mathgl-2.1.3.1/include/mgl2/define.h0000664000175000017500000003007712142400464016611 0ustar balakinbalakin/*************************************************************************** * define.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_DEFINE_H_ #define _MGL_DEFINE_H_ //----------------------------------------------------------------------------- #include "mgl2/config.h" #include "mgl2/dllexport.h" #define MGL_VER2 1.3 //----------------------------------------------------------------------------- #ifdef WIN32 //_MSC_VER needs this before math.h #define _USE_MATH_DEFINES #endif #ifdef MGL_SRC #if MGL_HAVE_ZLIB #include #ifndef Z_BEST_COMPRESSION #define Z_BEST_COMPRESSION 9 #endif #else #define gzFile FILE* #define gzread(fp,buf,size) fread(buf,1,size,fp) #define gzopen fopen #define gzclose fclose #define gzprintf fprintf #define gzgets(fp,str,size) fgets(str,size,fp) #define gzgetc fgetc #endif #endif #include #include #include #include #include #if defined(_MSC_VER) || defined(__BORLANDC__) #define fmin(a,b) ((a)<(b))?(a):(b) #define fmax(a,b) ((a)>(b))?(a):(b) #endif #if defined(_MSC_VER) #define hypot _hypot #define getcwd _getcwd #define chdir _chdir // BORLAND has chdir #define snprintf _snprintf #endif #if defined(_MSC_VER) || defined(__BORLANDC__) #include const unsigned long mgl_nan[2] = {0xffffffff, 0x7fffffff}; #define NANd (*(double*)mgl_nan) #define NANf (*(float*)&(mgl_nan[1])) #if MGL_USE_DOUBLE #define NAN NANd #else #define NAN NANd #endif #endif #ifndef M_PI #define M_PI 3.14159265358979323846 /* pi */ #endif //----------------------------------------------------------------------------- #ifdef WIN32 #define mglprintf _snwprintf #else #define mglprintf swprintf #endif //#define FLT_EPS 1.1920928955078125e-07 //----------------------------------------------------------------------------- #if MGL_USE_DOUBLE typedef double mreal; #define MGL_EPSILON (1.+1e-10) #else typedef float mreal; #define MGL_EPSILON (1.+1e-5) #endif #define MGL_FEPSILON (1.+1e-5) //----------------------------------------------------------------------------- #ifndef MGL_CMAP_COLOR #define MGL_CMAP_COLOR 32 #endif //----------------------------------------------------------------------------- #ifndef MGL_DEF_VIEWER #define MGL_DEF_VIEWER "evince" #endif //----------------------------------------------------------------------------- #define mgl_min(a,b) (((a)>(b)) ? (b) : (a)) #define mgl_max(a,b) (((a)>(b)) ? (a) : (b)) #define mgl_isnan(a) ((a)!=(a)) //----------------------------------------------------------------------------- #define SMOOTH_NONE 0 #define SMOOTH_LINE_3 1 #define SMOOTH_LINE_5 2 #define SMOOTH_QUAD_5 3 //----------------------------------------------------------------------------- #define MGL_HIST_IN 0 #define MGL_HIST_SUM 1 #define MGL_HIST_UP 2 #define MGL_HIST_DOWN 3 //----------------------------------------------------------------------------- enum{ // types of predefined curvelinear coordinate systems mglCartesian = 0, // no transformation mglPolar, mglSpherical, mglParabolic, mglParaboloidal, mglOblate, mglProlate, mglElliptic, mglToroidal, mglBispherical, mglBipolar, mglLogLog, mglLogX, mglLogY }; //----------------------------------------------------------------------------- // types of drawing #define MGL_DRAW_WIRE 0 // fastest, no faces #define MGL_DRAW_FAST 1 // fast, no color interpolation #define MGL_DRAW_NORM 2 // high quality, slower #define MGL_DRAW_LMEM 4 // low memory usage (direct to pixel) //----------------------------------------------------------------------------- enum{ // Codes for warnings/messages mglWarnNone = 0,// Everything OK mglWarnDim, // Data dimension(s) is incompatible mglWarnLow, // Data dimension(s) is too small mglWarnNeg, // Minimal data value is negative mglWarnFile, // No file or wrong data dimensions mglWarnMem, // Not enough memory mglWarnZero, // Data values are zero mglWarnLeg, // No legend entries mglWarnSlc, // Slice value is out of range mglWarnCnt, // Number of contours is zero or negative mglWarnOpen, // Couldn't open file mglWarnLId, // Light: ID is out of range mglWarnSize, // Setsize: size(s) is zero or negative mglWarnFmt, // Format is not supported for that build mglWarnTern, // Axis ranges are incompatible mglWarnNull, // Pointer is NULL mglWarnSpc, // Not enough space for plot mglWarnEnd // Maximal number of warnings (must be last) }; //----------------------------------------------------------------------------- #define MGL_DEF_PAL "bgrcmyhlnqeupH" // default palette #define MGL_DEF_SCH "BbcyrR" // default palette #define MGL_COLORS "kwrgbcymhWRGBCYMHlenpquLENPQU" //----------------------------------------------------------------------------- #define MGL_TRANSP_NORM 0x000000 #define MGL_TRANSP_GLASS 0x000001 #define MGL_TRANSP_LAMP 0x000002 #define MGL_ENABLE_CUT 0x000004 ///< Flag which determines how points outside bounding box are drown. #define MGL_ENABLE_RTEXT 0x000008 ///< Use text rotation along axis #define MGL_AUTO_FACTOR 0x000010 ///< Enable autochange PlotFactor #define MGL_ENABLE_ALPHA 0x000020 ///< Flag that Alpha is used #define MGL_ENABLE_LIGHT 0x000040 ///< Flag of using lightning #define MGL_TICKS_ROTATE 0x000080 ///< Allow ticks rotation #define MGL_TICKS_SKIP 0x000100 ///< Allow ticks rotation // flags for internal use only #define MGL_DISABLE_SCALE 0x000200 ///< Temporary flag for disable scaling (used for axis) #define MGL_FINISHED 0x000400 ///< Flag that final picture (i.e. mglCanvas::G) is ready #define MGL_USE_GMTIME 0x000800 ///< Use gmtime instead of localtime #define MGL_SHOW_POS 0x001000 ///< Switch to show or not mouse click position #define MGL_CLF_ON_UPD 0x002000 ///< Clear plot before Update() #define MGL_NOSUBTICKS 0x004000 ///< Disable subticks drawing (for bounding box) #define MGL_DIFFUSIVE 0x008000 ///< Use diffusive light instead of specular #define MGL_VECT_FRAME 0x010000 ///< Use DrwDat to remember all data of frames #define MGL_REDUCEACC 0x020000 ///< Reduce accuracy of points (to reduc size of output files) #define MGL_PREFERVC 0x040000 ///< Prefer vertex color instead of texture if output format supports #define MGL_ONESIDED 0x080000 ///< Render only front side of surfaces if output format supports (for debugging) #define MGL_NO_ORIGIN 0x100000 ///< Don't draw tick labels at axis origin //----------------------------------------------------------------------------- #ifdef __cplusplus //----------------------------------------------------------------------------- #include typedef std::complex dual; //----------------------------------------------------------------------------- struct mglThreadD { mreal *a; // float* array with parameters or results const mreal *b,*c,*d,*e; // float* arrays with parameters const long *p; // long* array with parameters const void *v; // pointer to data/grapher int id; // thread id long n; // total number of iteration const char *s; }; struct mglThreadC { dual *a; // dual* array with parameters or results const dual *b,*c,*d,*e; // dual* arrays with parameters const long *p; // long* array with parameters const void *v; // pointer to data/grapher int id; // thread id long n; // total number of iteration const char *s; }; struct mglThreadV { mreal *a; // float* array with parameters or results dual *aa; // dual* array with parameters or results const void *b,*c; // float* arrays with parameters const mreal *d; // float* arrays with parameters const long *p; // long* array with parameters const void *v; // pointer to data/grapher int id; // thread id long n; // total number of iteration }; struct mglThreadT { void *a; // dual* or mreal* array with input or results double *b; // dual* array with input or results const long *p; // long* array with parameters const void *v; // pointer to table/parameter void **w; // pointer to workspace int id; // thread id long n; // total number of iteration const void *re,*im; }; /// Start several thread for the task void MGL_EXPORT mglStartThread(void *(*func)(void *), void (*post)(mglThreadD *,mreal *), long n, mreal *a=0, const mreal *b=0, const mreal *c=0, const long *p=0, const void *v=0, const mreal *d=0, const mreal *e=0, const char *s=0); void MGL_EXPORT mglStartThreadV(void *(*func)(void *), long n, mreal *a, const void *b=0, const void *c=0, const long *p=0, const void *v=0, const mreal *d=0); void MGL_EXPORT mglStartThreadV(void *(*func)(void *), long n, dual *a, const void *b=0, const void *c=0, const long *p=0, const void *v=0, const mreal *d=0); void MGL_EXPORT mglStartThreadC(void *(*func)(void *), void (*post)(mglThreadC *,dual *), long n, dual *a=0, const dual *b=0, const dual *c=0, const long *p=0, const void *v=0, const dual *d=0, const dual *e=0, const char *s=0); void MGL_EXPORT mglStartThreadT(void *(*func)(void *), long n, void *a, double *b, const void *v=0, void **w=0, const long *p=0, const void *re=0, const void *im=0); MGL_EXPORT extern int mglNumThr; ///< Number of thread for plotting and data handling //----------------------------------------------------------------------------- extern "C" { #else #include #if MGL_USE_DOUBLE typedef double _Complex dual; #else typedef float _Complex dual; #endif #endif /// Get RGB values for given color id or fill by -1 if no one found void MGL_EXPORT mgl_chrrgb(char id, float rgb[3]); /// Check if string contain color id and return its number long MGL_EXPORT mgl_have_color(const char *stl); /// Find symbol in string excluding {} and return its position or NULL const char *mglchr(const char *str, char ch); /// Set number of thread for plotting and data handling void MGL_EXPORT mgl_set_num_thr(int n); void MGL_EXPORT mgl_test_txt(const char *str, ...); void MGL_EXPORT mgl_set_test_mode(int enable); /// Remove spaces at begining and at the end of the string void MGL_EXPORT mgl_strtrim(char *str); void MGL_EXPORT mgl_wcstrim(wchar_t *str); /** Change register to lowercase (only for ANSI symbols) */ void MGL_EXPORT mgl_strlwr(char *str); void MGL_EXPORT mgl_wcslwr(wchar_t *str); /// Convert wchar_t* string into char* one void MGL_EXPORT mgl_wcstombs(char *dst, const wchar_t *src, int size); #ifdef __cplusplus } #endif //#if MGL_HAVE_PTHREAD && defined(MGL_SRC) #if MGL_HAVE_PTHREAD #include #define MGL_PUSH(a,v,m) {pthread_mutex_lock(&m); a.push_back(v); pthread_mutex_unlock(&m);} #else #define MGL_PUSH(a,v,m) a.push_back(v); #endif //----------------------------------------------------------------------------- #endif //----------------------------------------------------------------------------- mathgl-2.1.3.1/include/mgl2/parser.h0000664000175000017500000002225712142400464016654 0ustar balakinbalakin/*************************************************************************** * parser.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_PARSER_H_ #define _MGL_PARSER_H_ #ifdef __cplusplus #include "mgl2/mgl.h" #include //----------------------------------------------------------------------------- /// Structure for the command argument. struct mglArg { int type; ///< Type of argument {0-data,1-string,2-number} mglData *d; ///< Pointer to data (used if type==0) std::wstring w; ///< String with parameters std::string s; ///< String with parameters mreal v; ///< Numerical value (used if type==2) mglArg() { type=-1; d=0; v=0; } }; //----------------------------------------------------------------------------- /// Structure for MGL command struct mglCommand { const char *name; ///< Name of command const char *desc; ///< Short command description (can be NULL) const char *form; ///< Format of command arguments (can be NULL) /// Function for executing (plotting) int (*exec)(mglGraph *gr, long n, mglArg *a, const char *k, const char *opt); /// Type of command: 0 - data plot, 1 - other plot, /// 2 - setup, 3 - data handle, 4 - data create, 5 - subplot, 6 - program /// 7 - 1d plot, 8 - 2d plot, 9 - 3d plot, 10 - dd plot, 11 - vector plot /// 12 - axis, 13 - primitives, 14 - axis setup, 15 - text/legend, 16 - data transform int type; }; extern mglCommand mgls_base_cmd[]; //----------------------------------------------------------------------------- /// Structure for the number handling (see mglParse class). struct mglNum { mreal d; ///< Number itself std::wstring s; ///< Number name mglNum *next; ///< Pointer to next instance in list mglNum *prev; ///< Pointer to prev instance in list mglNum() { d=0; next=prev=0; } ~mglNum(); /// Move variable after var and copy func from var (if func is 0) void MoveAfter(mglNum *var); }; //----------------------------------------------------------------------------- /// Structure for function name and position. struct mglFunc { long pos; int narg; // std::wstring func; wchar_t func[64]; mglFunc(long p, const wchar_t *f); mglFunc(const mglFunc &f); mglFunc() { pos=narg=-1; *func=0; } }; //----------------------------------------------------------------------------- /// Structure for stack of functions and its arguments. struct mglFnStack { mglFnStack() {pos=0;} long pos; std::wstring par[10]; }; //----------------------------------------------------------------------------- /// Function for asking question in console mode void MGL_EXPORT mgl_ask_gets(const wchar_t *quest, wchar_t *res); //----------------------------------------------------------------------------- /// Structure for the command argument (see mglGraph::Exec()). class mglParser { friend void mgl_export(wchar_t *out, const wchar_t *in, int type); public: mglVar *DataList; ///< List with data and its names mglNum *NumList; ///< List with numbers and its names bool AllowSetSize; ///< Allow using setsize command bool AllowFileIO; ///< Allow reading/saving files bool Stop; ///< Stop command was. Flag prevent further execution mglCommand *Cmd; ///< Table of MGL commands (can be changed by user). It MUST be sorted by 'name'!!! wchar_t *op1, *op2; ///< Buffer for options (are used if out!=NULL) long InUse; ///< Smart pointer (number of users) mglParser(bool setsize=false); ~mglParser(); /// Find the command by the keyword name mglCommand *FindCommand(const char *name); mglCommand *FindCommand(const wchar_t *name); /// Parse and execute the string of MGL script inline int Parse(HMGL gr, const char *str, long pos=0) { mglGraph GR(gr); return Parse(&GR,str,pos); } int Parse(mglGraph *gr, const char *str, long pos=0); /// Parse and execute the unicode string of MGL script inline int Parse(HMGL gr, const wchar_t *str, long pos=0) { mglGraph GR(gr); return Parse(&GR,str,pos); } int Parse(mglGraph *gr, const wchar_t *str, long pos=0); /// Execute MGL script file fname inline void Execute(HMGL gr, FILE *fp, bool print=false) { mglGraph GR(gr); Execute(&GR,fp,print); } void Execute(mglGraph *gr, FILE *fp, bool print=false); /// Execute MGL script from array of lines inline void Execute(HMGL gr, int num, const wchar_t **text) { mglGraph GR(gr); Execute(&GR,num,text); } void Execute(mglGraph *gr, int num, const wchar_t **text); /// Execute MGL script text with '\n' separated lines inline void Execute(HMGL gr, const wchar_t *text) { mglGraph GR(gr); Execute(&GR,text); } void Execute(mglGraph *gr, const wchar_t *text); /// Execute MGL script text with '\n' separated lines inline void Execute(HMGL gr, const char *text) { mglGraph GR(gr); Execute(&GR,text); } void Execute(mglGraph *gr, const char *text); /// Scan for functions (use NULL for reset) void ScanFunc(const wchar_t *line); /// Check if name is function and return its address (or 0 if no) long IsFunc(const wchar_t *name, int *narg=0); /// Find variable or return 0 if absent mglVar *FindVar(const char *name); mglVar *FindVar(const wchar_t *name); /// Find variable or create it if absent mglVar *AddVar(const char *name); mglVar *AddVar(const wchar_t *name); /// Find number or return 0 if absent mglNum *FindNum(const char *name); mglNum *FindNum(const wchar_t *name); /// Find number or create it if absent mglNum *AddNum(const char *name); mglNum *AddNum(const wchar_t *name); /// Add string for parameter $1, ..., $9 void AddParam(int n, const char *str); void AddParam(int n, const wchar_t *str); /// Add new MGL command(s) (last command MUST HAVE name[0]=0 !!!) void AddCommand(mglCommand *cmd, int num=0); /// Restore Once flag inline void RestoreOnce() { Once = true; } /// Delete variable void DeleteVar(mglVar *v); /// Delete variable by its name void DeleteVar(const char *name); void DeleteVar(const wchar_t *name); /// Delete all data variables void DeleteAll(); private: // long parlen; ///< Length of parameter strings std::wstring par[40]; ///< Parameter for substituting instead of $1, ..., $9 bool Once; ///< Flag for command which should be executed only once bool Skip; ///< Flag that commands should be skiped (inside 'once' block) int if_stack[40]; ///< Stack for if-else-endif commands int if_pos; ///< position in if_stack std::vector func; ///< function names and position std::vector fn_stack; ///< function calls stack // int fn_pos; ///< position in function stack int if_for[40]; ///< position in if_stack for for-cycle start mglData *fval; ///< Values for for-cycle. Note that nx - number of elements, ny - next element, nz - address (or string number) of first cycle command int for_stack[40]; ///< The order of for-variables int for_addr; ///< Flag for saving address in variable (for_addr-1) bool for_br; ///< Break is switched on (skip all comands until 'next') /// Length of parameter strings size_t GetParLen(); size_t GetParLen(const wchar_t *str); /// Parse command int Exec(mglGraph *gr, const wchar_t *com, long n, mglArg *a, const wchar_t *var, const wchar_t *opt); /// Fill arguments a from strings void FillArg(mglGraph *gr, int n, wchar_t **arg, mglArg *a); /// PreExecute stage -- parse some commands and create variables int PreExec(mglGraph *gr, long n, wchar_t **arg, mglArg *a); /// Execute program-flow control commands int FlowExec(mglGraph *gr, const wchar_t *com, long n, mglArg *a); /// Parse and execute the unicode string of MGL script int ParseDat(mglGraph *gr, const wchar_t *str, mglData &res); /// Parse $N arguments void PutArg(const wchar_t *string, wchar_t *str, bool def); /// In skip mode bool inline ifskip() { return (if_pos>0 && !(if_stack[if_pos-1]&1)); } bool inline skip() { return (Skip || ifskip() || for_br); } }; //----------------------------------------------------------------------------- #endif #endif mathgl-2.1.3.1/include/mgl2/qmathgl.h0000664000175000017500000002453312142400464017014 0ustar balakinbalakin/*************************************************************************** * window.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_QMATHGL_H_ #define _MGL_QMATHGL_H_ //----------------------------------------------------------------------------- #include #include #include #include //----------------------------------------------------------------------------- class QTextEdit; class QMenu; class QMainWindow; class QScrollArea; class QSpinBox; class QTimer; class mglCanvas; //----------------------------------------------------------------------------- /// Class is Qt widget which display MathGL graphics class MGL_EXPORT QMathGL : public QWidget { Q_OBJECT public: friend void *mgl_qt_thr(void *); QString appName; ///< Application name for message boxes bool autoResize; ///< Allow auto resizing (default is false) bool enableMouse; ///< Enable mouse handlers bool enableWheel; ///< Enable mouse wheel handlers QString primitives; ///< Manual primitives, defined by user QMathGL(QWidget *parent = 0, Qt::WindowFlags f = 0); virtual ~QMathGL(); double getRatio(); void setPopup(QMenu *p) { popup = p; } ///< Set popup menu pointer void setSize(int w, int h); ///< Set window/picture sizes void setGraph(HMGL GR); ///< Set grapher object inline void setGraph(mglGraph *GR) { setGraph(GR->Self()); } inline HMGL getGraph() { return (HMGL)gr; } /// Set drawing functions and its parameter inline void setDraw(int (*func)(mglBase *gr, void *par), void *par=0) { draw_func = func; draw_par = par; emit usePrimChanged(draw_func || draw); } inline void setDraw(mglDraw *dr) { draw = dr; emit usePrimChanged(draw_func || draw); } inline void setDraw(int (*draw)(mglGraph *gr)) { setDraw(draw?mgl_draw_graph:0,(void*)draw); } inline void zoomRegion(mreal xx1,mreal xx2,mreal yy1, mreal yy2) { x1=xx1; y1=yy1; x2=xx2; y2=yy2; } int getPer() {return int(per);} ///< Get perspective value int getPhi() {return int(phi);} ///< Get Phi-angle value int getTet() {return int(tet);} ///< Get Theta-angle value bool getAlpha() {return alpha;} ///< Get transparency state bool getLight() {return light;} ///< Get lightning state bool getZoom() {return zoom;} ///< Get mouse zooming state bool getRotate(){return rotate;} ///< Get mouse rotation state bool getViewYZ(){return viewYZ;} ///< Get mouse rotation axis bool isActive(int xs,int ys); ///< Check if active point is pressed public slots: void refresh(); void update(); ///< Update picture void copy(); ///< copy graphics to clipboard void copyClickCoor(); ///< copy click coordinates to clipboard void print(); ///< Print plot void stop(); ///< Stop execution void setPer(int p); ///< Set perspective value void setPhi(int p); ///< Set Phi-angle value void setTet(int t); ///< Set Theta-angle value void setAlpha(bool a); ///< Switch on/off transparency void setLight(bool l); ///< Switch on/off lightning void setGrid(bool r); ///< Switch on/off grid drawing void imgSize(int w, int h); ///< Set image size void setViewYZ(bool v); ///< Switch on/off rotation around Y and Z axis void setZoom(bool z); ///< Switch on/off mouse zooming void setRotate(bool r); ///< Switch on/off mouse rotation void zoomIn(); ///< Zoom in graphics void zoomOut(); ///< Zoom out graphics void restore(); ///< Restore zoom and rotation to default values // void reload(); ///< Reload data and execute script void shiftLeft(); ///< Shift graphics to left direction void shiftRight(); ///< Shift graphics to right direction void shiftUp(); ///< Shift graphics to up direction void shiftDown(); ///< Shift graphics to down direction void exportPNG(QString fname=""); ///< export to PNG file void exportPNGs(QString fname=""); ///< export to PNG file (no transparency) void exportGIF(QString fname=""); ///< export to GIF file void exportJPG(QString fname=""); ///< export to JPEG file void exportBPS(QString fname=""); ///< export to bitmap EPS file void exportEPS(QString fname=""); ///< export to vector EPS file void exportSVG(QString fname=""); ///< export to SVG file void exportTEX(QString fname=""); ///< export to SVG file void exportTGA(QString fname=""); ///< export to TGA file void exportXYZ(QString fname=""); ///< export to XYZ file void exportOBJ(QString fname=""); ///< export to OBJ file void exportSTL(QString fname=""); ///< export to STL file void exportOFF(QString fname=""); ///< export to OFF file // void exportX3D(QString fname=""); ///< export to XYZ file void exportPRC(QString fname=""); ///< export to PRC file void exportMGLD(QString fname=""); ///< export to MGLD file void setMGLFont(QString path); ///< restore/load font for graphics void addMark(); ///< add marker into primitives void addLine(); ///< add line into primitives void addRect(); ///< add rectangle into primitives void addCurve(); ///< add curve into primitives void addRhomb(); ///< add rhombus into primitives void addEllipse(); ///< add ellipse into primitives void addText(QString txt=""); ///< add text into primitives void setStyle(int id, QString stl);///< set style for primitive with id void adjust(); ///< Adjust plot size to fill entire window void nextSlide(); ///< Show next slide void prevSlide(); ///< Show previous slide void animation(bool st=true); ///< Start animation void about(); ///< Show about information void aboutQt(); ///< Show information about Qt version signals: void gridChanged(int); ///< Grid drawing changed (by mouse or by toolbar) void phiChanged(int); ///< Phi angle changed (by mouse or by toolbar) void tetChanged(int); ///< Tet angle changed (by mouse or by toolbar) void perChanged(int); ///< Perspective changed (by mouse or by toolbar) void alphaChanged(bool); ///< Transparency changed (by toolbar) void lightChanged(bool); ///< Lighting changed (by toolbar) void zoomChanged(bool); ///< Zooming changed (by toolbar) void rotateChanged(bool); ///< Rotation changed (by toolbar) void usePrimChanged(bool); ///< Use primitive changed (i.e. have or not drawing function) void viewYZChanged(bool); ///< Rotation axis changed (by toolbar) void mouseClick(mreal,mreal,mreal); ///< Position of mouse click void frameChanged(int); ///< Need another frame to show void showWarn(QString); ///< Show warnings void posChanged(QString message); ///< user click to show mouse position void objChanged(int objId); ///< User double-click to select object/line void refreshData(); void doubleClick(int id); ///< Double mouse click by object with id void askStyle(int id); ///< Update style protected: void paintEvent(QPaintEvent *); void resizeEvent(QResizeEvent *); void mousePressEvent(QMouseEvent *); void mouseReleaseEvent(QMouseEvent *); void mouseMoveEvent(QMouseEvent *); void wheelEvent(QWheelEvent *); void mouseDoubleClickEvent(QMouseEvent *); mglCanvas *gr; ///< Built-in mglCanvasQT-er instance (used by default) void *draw_par; ///< Parameters for drawing function mglCanvasWnd::DrawFunc. /// Drawing function for window procedure. It should return the number of frames. int (*draw_func)(mglBase *gr, void *par); mglDraw *draw; ///< Class for drawing -- need to call directly due to inheritance mechanism QString mousePos; ///< Last mouse position QPixmap pic; ///< Pixmap for drawing (changed by update) double tet, phi; ///< Rotation angles double per; ///< Value of perspective ( must be in [0,1) ) bool alpha; ///< Transparency state bool light; ///< Lightning state bool zoom; ///< Mouse zoom state bool grid; ///< Grid drawing state bool rotate; ///< Mouse rotation state bool viewYZ; ///< Set mouse rotation around Y and Z axis (instead of X and Z) mreal x1,x2,y1,y2; ///< Zoom in region mreal ax1,ax2,ay1,ay2; ///< Axis range zoom bool showMessage; ///< Flag for showing messages (enabled by each execute()) QMenu *popup; ///< Pointer to pop-up menu QTimer *timer; ///< Timer for animation private: int x0, y0, xe, ye; ///< Temporary variables for mouse uchar *grBuf; void draw_thr(); }; //----------------------------------------------------------------------------- /// Class for drawing the MGL script struct mglDrawScript : public mglDraw { HMPR par; ///< Parser to be used QString text; ///< Script to be drawn long line; ///< Line which will be highlited mglDrawScript(HMPR p):mglDraw() { par=p; line=-1; } virtual ~mglDrawScript() {} int Draw(mglGraph *gr) { gr->Highlight(line+1); mgl_parse_textw(gr->Self(),par,text.toStdWString().c_str()); return 0; } }; //----------------------------------------------------------------------------- /// Convert bitmap from mglCanvasWnd to QPixmap void mglConvertFromGraph(QPixmap &pic, mglCanvas *gr, uchar **buf); /// Make menu, toolbars and return popup menu for MainWindow QMenu *mglMakeMenu(QMainWindow* Wnd, QMathGL* QMGL, QSpinBox*& tet, QSpinBox*& phi); //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/fltk.h0000664000175000017500000002004212142400464016306 0ustar balakinbalakin/*************************************************************************** * window.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ //----------------------------------------------------------------------------- #ifndef _MGL_FLTK_H_ #define _MGL_FLTK_H_ #include //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Creates FLTK window for plotting HMGL MGL_EXPORT mgl_create_graph_fltk(int (*draw)(HMGL gr, void *p), const char *title, void *par, void (*load)(void *p)); uintptr_t MGL_EXPORT mgl_create_graph_fltk_(const char *title, int); /// Run main FLTK loop for event handling. int MGL_EXPORT mgl_fltk_run(); int MGL_EXPORT mgl_fltk_run_(); /// Run main FLTK loop for event handling in separate thread. int MGL_EXPORT mgl_fltk_thr(); #ifdef __cplusplus } //----------------------------------------------------------------------------- #include //----------------------------------------------------------------------------- /// Wrapper class for windows displaying graphics class mglFLTK : public mglWnd { public: mglFLTK(const char *title="MathGL") : mglWnd() { gr = mgl_create_graph_fltk(0,title,0,0); } mglFLTK(int (*draw)(HMGL gr, void *p), const char *title="MathGL", void *par=NULL, void (*load)(void *p)=0) : mglWnd() { gr = mgl_create_graph_fltk(draw,title,par,load); } mglFLTK(int (*draw)(mglGraph *gr), const char *title="MathGL") : mglWnd() { gr = mgl_create_graph_fltk(draw?mgl_draw_graph:0,title,(void*)draw,0); } mglFLTK(mglDraw *draw, const char *title="MathGL") : mglWnd() { gr = mgl_create_graph_fltk(draw?mgl_draw_class:0,title,draw,mgl_reload_class); mgl_set_click_func(gr, mgl_click_class); } int Run() { return mgl_fltk_run(); } ///< Run main loop for event handling int RunThr() { return mgl_fltk_thr(); } ///< Run main loop for event handling in separate thread }; //----------------------------------------------------------------------------- #ifdef __MWERKS__ # define FL_DLL #endif #include #include #include #include #include #include class mglCanvas; //----------------------------------------------------------------------------- /// Class is FLTK widget which display MathGL graphics class Fl_MathGL : public Fl_Widget { public: Fl_Valuator *tet_val; ///< pointer to external tet-angle validator Fl_Valuator *phi_val; ///< pointer to external phi-angle validator Fl_MathGL(int x, int y, int w, int h, const char *label=0); ~Fl_MathGL(); /// Update (redraw) plot virtual void update(); /// Set angles for additional plot rotation inline void set_angle(mreal t, mreal p){ tet = t; phi = p; } /// Set bitwise flags for general state (1-Alpha, 2-Light) inline void set_flag(int f) { flag = f; } /// Set flags for handling mouse void set_graph(HMGL gr); ///< Set grapher object inline void set_graph(mglGraph *Gr) { set_graph(Gr->Self()); } /// Get pointer to grapher inline HMGL get_graph() { return (HMGL)gr; } /// Set drawing functions and its parameter inline void set_draw(int (*func)(mglBase *gr, void *par), void *par=0) { draw_func = func; draw_par = par; } inline void set_draw(mglDraw *dr) { draw_cl = dr; } inline void set_draw(int (*dr)(mglGraph *gr)) { set_draw(dr?mgl_draw_graph:0,(void*)dr); } void set_state(bool z, bool r) { zoom = z; rotate = r; } /// Set zoom in/out region inline void set_zoom(mreal X1, mreal Y1, mreal X2, mreal Y2) { x1 = X1; x2 = X2; y1 = Y1; y2 = Y2; update(); } /// Get zoom region inline void get_zoom(mreal *X1, mreal *Y1, mreal *X2, mreal *Y2) { *X1 = x1; *X2 = x2; *Y1 = y1; *Y2 = y2; } /// Set popup menu pointer inline void set_popup(const Fl_Menu_Item *pmenu, Fl_Widget *wdg, void *v) { popup = pmenu; wpar = wdg; vpar = v; } inline void zoom_region(mreal xx1,mreal xx2,mreal yy1, mreal yy2) { x1=xx1; y1=yy1; x2=xx2; y2=yy2; } protected: mglCanvas *gr; ///< pointer to grapher void *draw_par; ///< Parameters for drawing function mglCanvasWnd::DrawFunc. /// Drawing function for window procedure. It should return the number of frames. int (*draw_func)(mglBase *gr, void *par); mglDraw *draw_cl; const Fl_Menu_Item *popup; ///< pointer to popup menu items Fl_Widget *wpar; ///< widget for popup menu void *vpar; ///< parameter for popup menu mreal tet,phi; ///< rotation angles bool rotate; ///< flag for handle mouse bool zoom; ///< flag for zoom by mouse bool wire; mreal x1,x2,y1,y2; ///< zoom region int flag; ///< bitwise flag for general state (1-Alpha, 2-Light) int x0,y0,xe,ye; ///< mouse position char pos[128]; virtual void draw(); ///< quick drawing function int handle(int code); ///< handle mouse events void resize(int x, int y, int w, int h); ///< resize control }; //----------------------------------------------------------------------------- class Fl_MGLView : public Fl_Window { public: Fl_MathGL *FMGL; ///< Control which draw graphics Fl_Scroll *scroll; Fl_Menu_Bar *menu; void *par; ///< Parameter for handling animation void (*next)(void*); ///< Callback function for next frame void (*prev)(void*); ///< Callback function for prev frame mreal (*delay)(void*); ///< Callback function for delay void (*reload)(void*); ///< Callback function for reloading void toggle_alpha() { toggle(alpha, alpha_bt, "Graphics/Alpha"); } void toggle_light() { toggle(light, light_bt, "Graphics/Light"); } void toggle_sshow() { toggle(sshow, anim_bt, "Graphics/Slideshow"); } void toggle_grid() { toggle(grid, grid_bt, "Graphics/Grid"); } void toggle_zoom() { toggle(zoom, zoom_bt); } void toggle_rotate(){ toggle(rotate, rotate_bt); } void setoff_zoom() { setoff(zoom, zoom_bt); } void setoff_rotate(){ setoff(rotate, rotate_bt); } bool is_sshow() { return sshow; } Fl_MGLView(int x, int y, int w, int h, const char *label=0); ~Fl_MGLView(); void update(); ///< Update picture by calling user drawing function protected: Fl_Button *alpha_bt, *light_bt, *rotate_bt, *anim_bt, *zoom_bt, *grid_bt; // Fl_Counter *tet, *phi; int grid, alpha, light; ///< Current states of wire, alpha, light switches (toggle buttons) int sshow, rotate, zoom;///< Current states of slideshow, rotate, zoom switches (toggle buttons) void toggle(int &val, Fl_Button *b, const char *txt=NULL); void setoff(int &val, Fl_Button *b, const char *txt=NULL); }; //----------------------------------------------------------------------------- void MGL_EXPORT mgl_ask_fltk(const wchar_t *quest, wchar_t *res); void MGL_EXPORT mgl_makemenu_fltk(Fl_Menu_ *m, Fl_MGLView *w); //----------------------------------------------------------------------------- #endif #endif mathgl-2.1.3.1/include/mgl2/font.h0000664000175000017500000001477512142400464016334 0ustar balakinbalakin/*************************************************************************** * font.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ //----------------------------------------------------------------------------- #ifndef _MGL_FONT_H_ #define _MGL_FONT_H_ #include "mgl2/define.h" //----------------------------------------------------------------------------- #define MGL_FONT_BOLD 0x01000000 // This value is used binary #define MGL_FONT_ITAL 0x02000000 // This value is used binary #define MGL_FONT_BOLD_ITAL 0x03000000 #define MGL_FONT_WIRE 0x04000000 #define MGL_FONT_OLINE 0x08000000 // This value is used binary #define MGL_FONT_ULINE 0x10000000 #define MGL_FONT_ZEROW 0x20000000 // internal codes #define MGL_FONT_UPPER 0x40000000 #define MGL_FONT_LOWER 0x80000000 #define MGL_FONT_ROMAN 0xfcffffff #define MGL_FONT_MASK 0x00ffffff #define MGL_COLOR_MASK 0xffffff00 #define MGL_FONT_STYLE 0x3f000000 //----------------------------------------------------------------------------- #ifdef WIN32 // a man ask to use built-in font under Windows #define MGL_DEF_FONT_NAME 0 #else #define MGL_DEF_FONT_NAME "STIX" #endif //----------------------------------------------------------------------------- struct mglTeXsymb { unsigned kod; const wchar_t *tex; }; const float mgl_fgen = 4*14; /// Get font color, style and align for internal parser char mglGetStyle(const char *how, int *font, int *align=0); class mglBase; //----------------------------------------------------------------------------- /// Class for font typeface and text plotting procedures class mglFont { public: mglBase *gr; ///< mglBase class used for drawing characters mglFont(const char *name=0, const char *path=0); ~mglFont(); bool parse; ///< Parse LaTeX symbols /// Load font data to memory. Normally used by constructor. bool Load(const char *base, const char *path=0); /// Free memory void Clear(); /// Copy data from other font void Copy(mglFont *); /// Restore default font void Restore(); /// Return true if font is loaded inline bool Ready() const { return numg!=0; } /// Get height of text float Height(int font) const; /// Get height of text float Height(const char *how) const; /// Print text string for font specified by string float Puts(const char *str,const char *how,float col) const; /// Get width of text string for font specified by string float Width(const char *str,const char *how) const; /// Print text string for font specified by string float Puts(const wchar_t *str,const char *how,float col) const; /// Get width of text string for font specified by string float Width(const wchar_t *str,const char *how) const; /// Get internal code for symbol long Internal(unsigned s) const; /// Return number of glyphs inline unsigned GetNumGlyph() const { return numg; }; /// Return some of pointers inline const short *GetTr(int s, long j) const { return Buf+tr[s][j]; } inline const short *GetLn(int s, long j) const { return Buf+ln[s][j]; } inline int GetNt(int s, long j) const { return numt[s][j]; } inline int GetNl(int s, long j) const { return numl[s][j]; } inline short GetWidth(int s, long j) const { return width[s][j]; } inline float GetFact(int s) const { return fact[s]; } protected: wchar_t *id; ///< Unicode ID for glyph unsigned *tr[4]; ///< Shift of glyph description by triangles (for solid font) unsigned *ln[4]; ///< Shift of glyph description by lines (for wire font) short *numt[4]; ///< Number of triangles in glyph description (for solid font) short *numl[4]; ///< Number of lines in glyph description (for wire font) short *width[4]; ///< Width of glyph for wire font float fact[4]; ///< Divider for width of glyph unsigned numg; ///< Number of glyphs short *Buf; ///< Buffer for glyph descriptions long numb; ///< Buffer size /// Print text string for font specified by integer constant float Puts(const wchar_t *str,int font,int align, float col) const; /// Get width of text string for font specified by integer constant float Width(const wchar_t *str,int font=0) const; /// Replace TeX symbols by its UTF code and add font styles void Convert(const wchar_t *str, unsigned *res) const; /// Draw string recursively /* x,y - position, f - factor, style: 0x1 - italic, 0x2 - bold, 0x4 - overline, 0x8 - underline, 0x10 - empty (not draw) */ float Puts(const unsigned *str, float x,float y,float f,int style,float col) const; /// Parse LaTeX command unsigned Parse(const wchar_t *s) const; /// Get symbol for character ch with given font style unsigned Symbol(char ch) const; private: float get_ptr(long &i,unsigned *str, unsigned **b1, unsigned **b2,float &w1,float &w2, float f1, float f2, int st) const; bool read_data(const char *fname, float *ff, short *wdt, short *numl, unsigned *posl, short *numt, unsigned *post, unsigned &cur); void main_copy(); bool read_main(const char *fname, unsigned &cur); void mem_alloc(); bool read_def(unsigned &cur); void draw_ouline(int st, float x, float y, float f, float g, float ww, float ccol) const; }; //----------------------------------------------------------------------------- #endif //----------------------------------------------------------------------------- mathgl-2.1.3.1/include/mgl2/volume.h0000664000175000017500000001555212142400464016667 0ustar balakinbalakin/*************************************************************************** * volume.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_VOL_H_ #define _MGL_VOL_H_ #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif //----------------------------------------------------------------------------- /// Draw isosurface for 3d data specified parametrically void MGL_EXPORT mgl_surf3_xyz_val(HMGL graph, double Val, HCDT x, HCDT y, HCDT z, HCDT a, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3_xyz_val_(uintptr_t *graph, mreal *Val, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *stl, const char *opt,int,int); /// Draw isosurface for 3d data void MGL_EXPORT mgl_surf3_val(HMGL graph, double Val, HCDT a, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3_val_(uintptr_t *graph, mreal *Val, uintptr_t *a, const char *stl, const char *opt,int,int); /// Draw isosurfaces for 3d data specified parametrically void MGL_EXPORT mgl_surf3_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT a, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *stl, const char *opt,int,int); /// Draw isosurfaces for 3d data void MGL_EXPORT mgl_surf3(HMGL graph, HCDT a, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3_(uintptr_t *graph, uintptr_t *a, const char *stl, const char *opt,int,int); /// Draw isosurface for 3d data specified parametrically with alpha proportional to b void MGL_EXPORT mgl_surf3a_xyz_val(HMGL graph, double Val, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3a_xyz_val_(uintptr_t *graph, mreal *Val, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, uintptr_t *b, const char *stl, const char *opt,int,int); /// Draw isosurface for 3d data with alpha proportional to b void MGL_EXPORT mgl_surf3a_val(HMGL graph, double Val, HCDT a, HCDT b, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3a_val_(uintptr_t *graph, mreal *Val, uintptr_t *a, uintptr_t *b, const char *stl, const char *opt,int,int); /// Draw isosurfaces for 3d data specified parametrically with alpha proportional to b void MGL_EXPORT mgl_surf3a_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3a_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, uintptr_t *b, const char *stl, const char *opt,int,int); /// Draw isosurfaces for 3d data with alpha proportional to b void MGL_EXPORT mgl_surf3a(HMGL graph, HCDT a, HCDT b, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3a_(uintptr_t *graph, uintptr_t *a, uintptr_t *b, const char *stl, const char *opt,int,int); /// Draw isosurface for 3d data specified parametrically with color proportional to b void MGL_EXPORT mgl_surf3c_xyz_val(HMGL graph, double Val, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3c_xyz_val_(uintptr_t *graph, mreal *Val, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, uintptr_t *b, const char *stl, const char *opt,int,int); /// Draw isosurface for 3d data with color proportional to b void MGL_EXPORT mgl_surf3c_val(HMGL graph, double Val, HCDT a, HCDT b, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3c_val_(uintptr_t *graph, mreal *Val, uintptr_t *a, uintptr_t *b, const char *stl, const char *opt,int,int); /// Draw isosurfaces for 3d data specified parametrically with color proportional to b void MGL_EXPORT mgl_surf3c_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3c_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, uintptr_t *b, const char *stl, const char *opt,int,int); /// Draw isosurfaces for 3d data with color proportional to b void MGL_EXPORT mgl_surf3c(HMGL graph, HCDT a, HCDT b, const char *stl, const char *opt); void MGL_EXPORT mgl_surf3c_(uintptr_t *graph, uintptr_t *a, uintptr_t *b, const char *stl, const char *opt,int,int); /// Draw a semi-transparent cloud for 3d data specified parametrically void MGL_EXPORT mgl_cloud_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT a, const char *stl, const char *opt); void MGL_EXPORT mgl_cloud_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *stl, const char *opt,int,int); /// Draw a semi-transparent cloud for 3d data void MGL_EXPORT mgl_cloud(HMGL graph, HCDT a, const char *stl, const char *opt); void MGL_EXPORT mgl_cloud_(uintptr_t *graph, uintptr_t *a, const char *stl, const char *opt,int,int); /// Draw isosurface for 3d beam in curvilinear coordinates void MGL_EXPORT mgl_beam_val(HMGL graph, double Val, HCDT tr, HCDT g1, HCDT g2, HCDT a, double r, const char *stl, int norm); void MGL_EXPORT mgl_beam_val_(uintptr_t *gr, mreal *val, uintptr_t *tr, uintptr_t *g1, uintptr_t *g2, uintptr_t *a, mreal *r, const char *sch, int *norm,int l); /// Draw several isosurfaces for 3d beam in curvilinear coordinates void MGL_EXPORT mgl_beam(HMGL graph, HCDT tr, HCDT g1, HCDT g2, HCDT a, double r, const char *stl, int norm, int num); void MGL_EXPORT mgl_beam_(uintptr_t *gr, uintptr_t *tr, uintptr_t *g1, uintptr_t *g2, uintptr_t *a, mreal *r, const char *sch, int *norm, int *num,int l); //----------------------------------------------------------------------------- #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/base.h0000664000175000017500000006247412142400464016277 0ustar balakinbalakin/*************************************************************************** * base.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_BASE_H_ #define _MGL_BASE_H_ #if !defined(_MSC_VER) && !defined(__BORLANDC__) #include #endif #if defined(__BORLANDC__) typedef unsigned uintptr_t; #endif #include "mgl2/define.h" #ifdef __cplusplus #include #include #include "mgl2/type.h" //----------------------------------------------------------------------------- class mglBase; class mglData; class mglParser; class mglFormula; class mglFormulaC; class mglFont; typedef mglBase* HMGL; typedef mglData* HMDT; typedef mglParser* HMPR; typedef mglFormula* HMEX; typedef mglFormulaC* HAEX; //----------------------------------------------------------------------------- #if MGL_NO_DATA_A #define mglDataA mglData typedef const mglData* HCDT; #include "mgl2/data.h" #else //----------------------------------------------------------------------------- /// Callback function for asking user a question. Result shouldn't exceed 1024. extern MGL_EXPORT void (*mgl_ask_func)(const wchar_t *quest, wchar_t *res); //----------------------------------------------------------------------------- /// Abstract class for data array class mglDataA { public: virtual ~mglDataA() {} virtual mreal v(long i,long j=0,long k=0) const = 0; virtual mreal vthr(long i) const = 0; virtual long GetNx() const = 0; virtual long GetNy() const = 0; virtual long GetNz() const = 0; inline long GetNN() const { return GetNx()*GetNy()*GetNz(); } virtual mreal Maximal() const = 0; virtual mreal Minimal() const = 0; virtual mreal dvx(long i,long j=0,long k=0) const = 0; // { return i>0 ? (i0 ? (j0 ? (k(const mglPrim &a,const mglPrim &b); //----------------------------------------------------------------------------- /// Structure for group of primitives struct mglGroup { std::vector p; ///< list of primitives (not filled!!!) int Id; ///< Current list of primitives std::string Lbl; ///< Group label mglGroup(const char *lbl="", int id=0) { Lbl=lbl; Id=id; } }; //----------------------------------------------------------------------------- /// Structure for text label struct mglText { std::wstring text; std::string stl; mreal val; mglText(const wchar_t *txt=L"", const char *fnt="", mreal v=0) { text=txt; stl=fnt; val=v; } mglText(const std::wstring &txt, mreal v=0) { text=txt; val=v; } }; //----------------------------------------------------------------------------- /// Structure for internal point representation struct mglPnt // NOTE: use float for reducing memory size { float xx,yy,zz; // original coordinates float x,y,z; // coordinates float c,t,ta; // index in color scheme float u,v,w; // normales float r,g,b,a; // RGBA color mglPnt() { xx=yy=zz=x=y=z=c=t=ta=u=v=w=r=g=b=a=0; } }; inline mglPnt operator+(const mglPnt &a, const mglPnt &b) { mglPnt c=a; c.x+=b.x; c.y+=b.y; c.z+=b.z; c.u+=b.u; c.v+=b.v; c.w+=b.w; c.r+=b.r; c.g+=b.g; c.b+=b.b; c.a+=b.a; return c; } inline mglPnt operator-(const mglPnt &a, const mglPnt &b) { mglPnt c=a; c.x-=b.x; c.y-=b.y; c.z-=b.z; c.u-=b.u; c.v-=b.v; c.w-=b.w; c.r-=b.r; c.g-=b.g; c.b-=b.b; c.a-=b.a; return c; } inline mglPnt operator*(const mglPnt &a, float b) { mglPnt c=a; c.x*=b; c.y*=b; c.z*=b; c.u*=b; c.v*=b; c.w*=b; c.r*=b; c.g*=b; c.b*=b; c.a*=b; return c; } inline mglPnt operator*(float b, const mglPnt &a) { mglPnt c=a; c.x*=b; c.y*=b; c.z*=b; c.u*=b; c.v*=b; c.w*=b; c.r*=b; c.g*=b; c.b*=b; c.a*=b; return c; } //----------------------------------------------------------------------------- /// Structure for glyph representation struct MGL_EXPORT mglGlyph { long nt, nl; ///< number of triangles and lines short *trig, *line; ///< vertexes of triangles and lines mglGlyph() { nl=nt=0; trig=line=0; } mglGlyph(const mglGlyph &a) { trig=line=0; *this=a; } mglGlyph(long Nt, long Nl) { trig=line=0; Create(Nt,Nl); } ~mglGlyph() { if(trig) delete []trig; if(line) delete []line; } void Create(long Nt, long Nl); bool operator==(const mglGlyph &g); inline mglGlyph &operator=(const mglGlyph &a) { Create(a.nt, a.nl); memcpy(trig, a.trig, 6*nt*sizeof(short)); memcpy(line, a.line, 2*nl*sizeof(short)); return *this; } }; //----------------------------------------------------------------------------- #define MGL_TEXTURE_COLOURS 512 /// Structure for texture (color scheme + palette) representation struct MGL_EXPORT mglTexture { mglColor col[MGL_TEXTURE_COLOURS]; ///< Colors itself long n; ///< Number of initial colors along u char Sch[260]; ///< Color scheme used int Smooth; ///< Type of texture (smoothing and so on) mreal Alpha; ///< Transparency mglTexture() { n=Smooth=0; Alpha=1; } mglTexture(const char *cols, int smooth=0,mreal alpha=1) { n=0; Set(cols,smooth,alpha); } void Clear() { n=0; } void Set(const char *cols, int smooth=0,mreal alpha=1); void Set(HCDT val, const char *cols); void GetC(mreal u,mreal v,mglPnt &p) const; mglColor GetC(mreal u,mreal v=0) const; inline bool IsSame(const mglTexture &t) const { return n==t.n && !memcmp(col,t.col,MGL_TEXTURE_COLOURS*sizeof(mglColor)); } void GetRGBA(unsigned char *f) const; void GetRGBAPRC(unsigned char *f) const; void GetRGBAOBJ(unsigned char *f) const; // Export repeating border colors, since OBJ by default wraps textures and we need an extra boundary to work around implementation quirks }; //----------------------------------------------------------------------------- const mglColor NC(-1,-1,-1); const mglColor BC( 0, 0, 0); const mglColor WC( 1, 1, 1); const mglColor RC( 1, 0, 0); //----------------------------------------------------------------------------- /// Structure for color ID struct mglColorID { char id; mglColor col; }; MGL_EXPORT extern mglColorID mglColorIds[31]; MGL_EXPORT extern std::string mglGlobalMess; ///< Buffer for receiving global messages //----------------------------------------------------------------------------- /// Structure active points struct mglActivePos { int x,y; ///< coordinates of active point int id; ///< object id for active point int n; ///< position of active point in command (object id) }; //----------------------------------------------------------------------------- /// Base class for canvas which handle all basic drawing class MGL_EXPORT mglBase { public: mglBase(); virtual ~mglBase(); bool Stop; ///< Flag that execution should be terminated. mglPoint Min; ///< Lower edge of bounding box for graphics. mglPoint Max; ///< Upper edge of bounding box for graphics. mreal ZMin; ///< Adjusted minimal z-value 1D plots std::string Mess; ///< Buffer for receiving messages int ObjId; ///< object id for mglPrim int HighId; ///< object id to be highlited std::vector Grp; ///< List of groups with names -- need for export std::vector Act; ///< Position of active points std::string PlotId; ///< Id of plot for saving filename (in GLUT window for example) mreal CDef; ///< Default (current) color in texture mreal AlphaDef; ///< Default value of alpha channel (transparency) mreal BarWidth; ///< Relative width of rectangles in Bars(). int MeshNum; ///< Set approximate number of lines in Mesh and Grid. By default (=0) it draw all lines. int FaceNum; ///< Set approximate number of visible faces and lines. By default (=0) it draw everything. char Arrow1, Arrow2;///< Style of arrows at end and at start of curve long InUse; ///< Smart pointer (number of users) long Flag; ///< Flags for controlling drawing inline bool get(long fl) const { return Flag&fl; } inline void set(long fl) { Flag |= fl; } inline void clr(long fl) { Flag &=~fl; } inline void set(bool v,long fl) { Flag = v ? Flag|fl : Flag&(~fl); } /// Set axis range scaling -- simplified way to shift/zoom axis range -- need to replot whole image! inline void ZoomAxis(mglPoint p1=mglPoint(0,0,0,0), mglPoint p2=mglPoint(1,1,1,1)) { AMin = p1; AMax = p2; } /// Set values of mglGraph::Min and mglGraph::Max inline void SetRanges(mreal x1, mreal x2, mreal y1, mreal y2, mreal z1=0, mreal z2=0, mreal c1=0, mreal c2=0) { SetRanges(mglPoint(x1,y1,z1,c1),mglPoint(x2,y2,z2,c2)); } void SetRanges(mglPoint v1, mglPoint v2); /// Set values of mglGraph::Cmin and mglGraph::Cmax as minimal and maximal values of data a void CRange(HCDT a, bool add = false, mreal fact=0); inline void CRange(mreal v1,mreal v2) { if(v1!=v2) {OMin.c=Min.c=v1; OMax.c=Max.c=v2; RecalcCRange();} } /// Set values of mglGraph::Min.x and mglGraph::Max.x as minimal and maximal values of data a void XRange(HCDT a, bool add = false, mreal fact=0); inline void XRange(mreal v1,mreal v2) { if(v1!=v2) {OMin.x=Min.x=v1; OMax.x=Max.x=v2; RecalcBorder();} } /// Set values of mglGraph::Min.x and mglGraph::Max.x as minimal and maximal values of data a void YRange(HCDT a, bool add = false, mreal fact=0); inline void YRange(mreal v1,mreal v2) { if(v1!=v2) {OMin.y=Min.y=v1; OMax.y=Max.y=v2; RecalcBorder();} } /// Set values of mglGraph::Min.x and mglGraph::Max.x as minimal and maximal values of data a void ZRange(HCDT a, bool add = false, mreal fact=0); inline void ZRange(mreal v1,mreal v2) { if(v1!=v2) {OMin.z=Min.z=v1; OMax.z=Max.z=v2; RecalcBorder();} } /// Set ranges for automatic variables void SetAutoRanges(mreal x1, mreal x2, mreal y1=0, mreal y2=0, mreal z1=0, mreal z2=0, mreal c1=0, mreal c2=0); /// Set axis origin void SetOrigin(mreal x0, mreal y0, mreal z0=NAN, mreal c0=NAN); /// Save ranges into internal variable and put parsed mreal SaveState(const char *opt); /// Load ranges from internal variable void LoadState(); /// Increase ZMin mreal AdjustZMin() { ZMin /= MGL_FEPSILON; return Max.z - ZMin*(Max.z-Min.z); } /// Safetly set the transformation formulas for coordinate. void SetFunc(const char *EqX, const char *EqY, const char *EqZ=0, const char *EqA=0); /// Set one of predefined transformation rule void SetCoor(int how); /// Safetly set the cutting off condition (formula). void CutOff(const char *EqCut); /// Set to draw Ternary axis (triangle like axis, grid and so on) void Ternary(int tern); /// Set cutting for points outside of bounding box inline void SetCut(bool val) { set(val, MGL_ENABLE_CUT); } /// Set additional cutting box inline void SetCutBox(mreal x1, mreal y1, mreal z1, mreal x2, mreal y2, mreal z2) { CutMin=mglPoint(x1,y1,z1); CutMax=mglPoint(x2,y2,z2); } inline void SetCutBox(mglPoint v1, mglPoint v2) { CutMin=v1; CutMax=v2; } /// Set the using of light on/off. virtual bool Light(bool enable) { bool t=get(MGL_ENABLE_LIGHT); set(enable,MGL_ENABLE_LIGHT); return t; } /// Set ambient light brightness virtual void SetAmbient(mreal bright=0.5); /// Use diffusive light (only for local light sources) inline void SetDifLight(bool dif) { set(dif,MGL_DIFFUSIVE); } /// Set the transparency on/off. virtual bool Alpha(bool enable) { bool t=get(MGL_ENABLE_ALPHA); set(enable,MGL_ENABLE_ALPHA); return t; } /// Set default value of alpha-channel inline void SetAlphaDef(mreal val) { AlphaDef=val; } /// Set default palette inline void SetPalette(const char *colors) { Txt[0].Set(mgl_have_color(colors)?colors:MGL_DEF_PAL,-1); } inline long GetNumPal(long id) const { return Txt[labs(id)/256].n; } /// Set default color scheme inline void SetDefScheme(const char *colors) { Txt[1].Set(mgl_have_color(colors)?colors:MGL_DEF_SCH); } /// Set number of mesh lines inline void SetMeshNum(int val) { MeshNum=val; } /// Set relative width of rectangles in Bars, Barh, BoxPlot inline void SetBarWidth(mreal val) { BarWidth=val; } /// Set size of marks inline void SetMarkSize(mreal val) { MarkSize=0.02*val; } /// Set size of arrows inline void SetArrowSize(mreal val) { ArrowSize=0.03*val; } /// Set warning code ant fill Message void SetWarn(int code, const char *who); int inline GetWarn() const { return WarnCode; } virtual void StartAutoGroup (const char *)=0; void StartGroup(const char *name, int id); virtual void EndGroup()=0; // { LoadState(); } /// Highlight group inline void Highlight(int id) { HighId=id; } /// Set FontSize by size in pt and picture DPI (default is 16 pt for dpi=72) virtual void SetFontSizePT(mreal pt, int dpi=72){ FontSize = pt*27.f/dpi; } /// Set FontSize by size in centimeters and picture DPI (default is 0.56 cm = 16 pt) inline void SetFontSizeCM(mreal cm, int dpi=72) { SetFontSizePT(cm*28.45f,dpi); } /// Set FontSize by size in inch and picture DPI (default is 0.22 in = 16 pt) inline void SetFontSizeIN(mreal in, int dpi=72) { SetFontSizePT(in*72.27f,dpi); } /// Set font typeface. Note that each mglFont instance can be used with ONLY ONE mglGraph instance at a moment of time! void SetFont(mglFont *f); /// Get current typeface. Note that this variable can be deleted at next SetFont() call! inline mglFont *GetFont() { return fnt; } /// Restore font void RestoreFont(); /// Load font from file void LoadFont (const char *name, const char *path=NULL); /// Copy font from another mglGraph instance void CopyFont(mglBase *gr); /// Set default font size inline void SetFontSize(mreal val) { FontSize=val>0 ? val:-FontSize*val; } inline mreal GetFontSize() const { return FontSize; } mreal TextWidth(const char *text, const char *font, mreal size) const; mreal TextWidth(const wchar_t *text, const char *font, mreal size) const; mreal TextHeight(const char *font, mreal size) const; inline mreal FontFactor() const { return font_factor; } virtual mreal GetRatio() const; virtual int GetWidth() const; virtual int GetHeight() const; /// Set to use or not text rotation inline void SetRotatedText(bool val) { set(val,MGL_ENABLE_RTEXT); } /// Set default font style and color void SetFontDef(const char *font); /// Set to use or not text rotation inline void SetTickRotate(bool val) { set(val,MGL_TICKS_ROTATE); } /// Set to use or not text rotation inline void SetTickSkip(bool val) { set(val,MGL_TICKS_SKIP); } /// Add string to legend void AddLegend(const char *text,const char *style); void AddLegend(const wchar_t *text,const char *style); /// Clear saved legend string inline void ClearLegend() { Leg.clear(); } /// Set plot quality virtual void SetQuality(int qual=MGL_DRAW_NORM) { Quality=qual; } inline int GetQuality() const { return Quality; } // ~~~~~~~~~~~~~~~~~~~~~~ Developer functions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /// Add point to the Pnt and return its position long AddPnt(mglPoint p, mreal c=-1, mglPoint n=mglPoint(NAN), mreal a=-1, int scl=1); long CopyNtoC(long k, mreal c); long CopyProj(long from, mglPoint p, mglPoint n); virtual void Reserve(long n); ///< Allocate n-cells for Pnt and return current position /// Set to reduce accuracy of points (to reduce size of output files) inline void SetReduceAcc(bool val) { set(val, MGL_REDUCEACC); } /// Add glyph of current font to the Glf and return its position long AddGlyph(int s, long j); /// Add active point as k-th element of Pnt void AddActive(long k,int n=0); /// Clear unused points and primitives void ClearUnused(); inline mglPoint GetPntP(long i) const { const mglPnt &p=Pnt[i]; return mglPoint(p.x,p.y,p.z); } inline mglPoint GetPntN(long i) const { const mglPnt &p=Pnt[i]; return mglPoint(p.u,p.v,p.w); } inline mglColor GetPntC(long i) const { const mglPnt &p=Pnt[i]; return mglColor(p.r,p.g,p.b,p.a); } inline float GetClrC(long i) const { return Pnt[i].c; } inline const mglGlyph &GetGlf(long i) const { return Glf[i]; } inline long GetGlfNum() const { return Glf.size(); } inline const mglPnt &GetPnt(long i) const { return Pnt[i]; } inline long GetPntNum() const { return Pnt.size(); } inline mglPrim &GetPrm(long i) { return Prm[i]; } inline long GetPrmNum() const { return Prm.size(); } inline const mglText &GetPtx(long i) const { return Ptx[i]; } inline long GetPtxNum() const { return Ptx.size(); } inline const mglTexture &GetTxt(long i) const { return Txt[i]; } inline long GetTxtNum() const { return Txt.size(); } /// Scale coordinates and cut off some points virtual bool ScalePoint(mglPoint &p, mglPoint &n, bool use_nan=true) const; virtual mreal GetOrgX(char dir) const=0; ///< Get Org.x (parse NAN value) virtual mreal GetOrgY(char dir) const=0; ///< Get Org.y (parse NAN value) virtual mreal GetOrgZ(char dir) const=0; ///< Get Org.z (parse NAN value) /// Get color depending on single variable z, which should be scaled if scale=true inline mreal GetC(long s,mreal z,bool scale = true) const { return s+(scale?GetA(z):(z>0?z/MGL_FEPSILON:0)); } /// Get alpha value depending on single variable a mreal GetA(mreal a) const; /// Set pen/palette char SetPenPal(const char *stl, long *id=0); /// Add texture (like color scheme) and return the position of first color long AddTexture(const char *cols, int smooth=0); // inline mreal AddTexture(char col) { return AddTexture(mglColor(col)); } mreal AddTexture(mglColor col); inline void DefColor(mglColor col) { CDef = AddTexture(col); } /// Set next color from palette mreal NextColor(long &id); virtual void mark_plot(long p, char type, mreal size=1)=0; virtual void arrow_plot(long p1, long p2, char st)=0; virtual void line_plot(long p1, long p2)=0; virtual void trig_plot(long p1, long p2, long p3)=0; virtual void quad_plot(long p1, long p2, long p3, long p4)=0; virtual void Glyph(mreal x, mreal y, mreal f, int style, long icode, mreal col)=0; virtual float GetGlyphPhi(const mglPnt &q, float phi)=0; virtual mreal text_plot(long p,const wchar_t *text,const char *fnt,mreal size=-1,mreal sh=0,mreal col=-('k'),bool rot=true)=0; void vect_plot(long p1, long p2, mreal s=1); inline mreal mark_size() { return MarkSize*font_factor; } // inline char last_color() { return last_style[1]; } inline const char *last_line() { return last_style; } void resort(); ///< Resort primitives in creation order (need for export in 3D formats) protected: mglPoint OMin; ///< Lower edge for original axis (before scaling) mglPoint OMax; ///< Upper edge for original axis (before scaling) mglPoint AMin; ///< Lower edge for axis scaling mglPoint AMax; ///< Upper edge for axis scaling mglPoint FMin; ///< Actual lower edge after transformation formulas. mglPoint FMax; ///< Actual upper edge after transformation formulas. mglPoint Org; ///< Center of axis cross section. int WarnCode; ///< Warning code std::vector Pnt; ///< Internal points std::vector Prm; ///< Primitives (lines, triangles and so on) -- need for export std::vector Sub; ///< InPlot regions {n1=x1,n2=x2,n3=y1,n4=y2,id} std::vector Ptx; ///< Text labels for mglPrim std::vector Leg; ///< Text labels for legend std::vector Glf; ///< Glyphs data std::vector Txt; ///< Pointer to textures #if MGL_HAVE_PTHREAD pthread_mutex_t mutexPnt, mutexTxt, mutexLeg, mutexGlf, mutexAct, mutexDrw; pthread_mutex_t mutexSub, mutexPrm, mutexPtx, mutexStk, mutexGrp; #endif int TernAxis; ///< Flag that Ternary axis is used unsigned PDef; ///< Pen bit mask mreal pPos; ///< Current position in pen mask mreal PenWidth; ///< Pen width for further line plotting (must be >0 !!!) // long numT; ///< Number of textures mreal AmbBr; ///< Default ambient light brightness mglFont *fnt; ///< Class for printing vector text mreal FontSize; ///< The size of font for tick and axis labels char FontDef[32]; ///< Font specification (see mglGraph::Puts). Default is Roman with align at center. int Quality; ///< Quality of plot (0x0-pure, 0x1-fast; 0x2-fine; 0x4 - low memory) mglFormula *fx; ///< Transformation formula for x direction. mglFormula *fy; ///< Transformation formula for y direction. mglFormula *fz; ///< Transformation formula for z direction. mglFormula *fa; ///< Transformation formula for coloring. mglFormula *fc; ///< Cutting off condition (formula). long CurrPal; ///< Current palette index mreal MarkSize; ///< The size of marks for 1D plots. mreal ArrowSize; ///< The size of arrows. char last_style[64];///< Last pen style mreal font_factor; ///< Font scaling factor virtual void LightScale()=0; ///< Scale positions of light sources // block for SaveState() mglPoint MinS; ///< Saved lower edge of bounding box for graphics. mglPoint MaxS; ///< Saved upper edge of bounding box for graphics. mreal MSS, ASS, FSS, ADS, MNS, LSS; ///< Saved state mreal PrevState; ///< Previous value of SaveState() long CSS; ///< Saved flags bool saved; ///< State is saved std::string leg_str;///< text to be save in legend private: mglPoint CutMin; ///< Lower edge of bounding box for cut off. mglPoint CutMax; ///< Upper edge of bounding box for cut off. void RecalcCRange(); ///< Recalculate internal parameter for correct coloring. void RecalcBorder(); ///< Recalculate internal parameter for correct transformation rules. void SetFBord(mreal x,mreal y,mreal z); ///< Set internal boundng box depending on transformation formula void ClearEq(); ///< Clear the used variables for axis transformation }; //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_check_dim0(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, const char *name, bool less=false); bool MGL_EXPORT mgl_check_dim1(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, const char *name, bool less=false); bool MGL_EXPORT mgl_check_dim2(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *name, bool less=false); bool MGL_EXPORT mgl_check_dim3(HMGL gr, bool both, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *name); bool MGL_EXPORT mgl_check_vec3(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *name); bool MGL_EXPORT mgl_check_trig(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT a, const char *name, int d=3); bool MGL_EXPORT mgl_isboth(HCDT x, HCDT y, HCDT z, HCDT a); //----------------------------------------------------------------------------- #define _Da_(d) (*((const mglDataA *)(d))) #define _DA_(a) ((const mglDataA *)*(a)) #define _GR_ ((mglBase *)(*gr)) //----------------------------------------------------------------------------- //#define _D_(d) *((mglData *)*(d)) #define _DM_(a) ((mglData *)*(a)) #define _DT_ ((mglData *)*d) //----------------------------------------------------------------------------- #else typedef void *HMGL; typedef void *HMDT; typedef void *HMEX; typedef void *HAEX; typedef void *HMPR; typedef const void *HCDT; #endif #endif mathgl-2.1.3.1/include/mgl2/glut.h0000664000175000017500000000510412142400464016323 0ustar balakinbalakin/*************************************************************************** * glut.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ //----------------------------------------------------------------------------- #ifndef _MGL_GLUT_H_ #define _MGL_GLUT_H_ #ifdef __cplusplus #include //----------------------------------------------------------------------------- extern "C" { #endif void _mgl_key_up(unsigned char ch,int ,int ); HMGL MGL_EXPORT mgl_create_graph_glut(int (*draw)(HMGL gr, void *p), const char *title, void *par, void (*load)(void *p)); #ifdef __cplusplus } //----------------------------------------------------------------------------- class mglGLUT: public mglGraph { public: mglGLUT(int (*draw)(HMGL gr, void *p), const char *title="MathGL", void *par=0, void (*load)(void *p)=0) : mglGraph(-1) { gr = mgl_create_graph_glut(draw,title,par,load); } mglGLUT(int (*draw)(mglGraph *gr), const char *title="MathGL") : mglGraph(-1) { gr = mgl_create_graph_glut(draw?mgl_draw_graph:0,title,(void*)draw,0); } mglGLUT(mglDraw *draw=0, const char *title="MathGL") : mglGraph(-1) { gr = mgl_create_graph_glut(draw?mgl_draw_class:0,title,draw,mgl_reload_class); } }; //----------------------------------------------------------------------------- #endif #endif mathgl-2.1.3.1/include/mgl2/canvas.h0000664000175000017500000005174212142400464016634 0ustar balakinbalakin/*************************************************************************** * canvas.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef MGL_CANVAS_H #define MGL_CANVAS_H #include "mgl2/base.h" //----------------------------------------------------------------------------- struct GifFileType; //----------------------------------------------------------------------------- /// Structure for transformation matrix struct mglMatrix { mreal b[9]; mreal x,y,z,pf; mglMatrix() { clear(); } inline void clear() { x=y=z=0; memset(b,0,9*sizeof(mreal)); b[0]=b[4]=b[8]=1; } inline mglMatrix &operator=(const mglMatrix &a) { x=a.x; y=a.y; z=a.z; pf=a.pf; memcpy(b,a.b,9*sizeof(mreal)); return *this; } }; //----------------------------------------------------------------------------- /// Structure for drawing axis and ticks struct mglAxis { mglAxis() { dv=ds=d=v0=v1=v2=o=sh=0; ns=f=ch=*t=0; pos = 't'; } mglAxis(const mglAxis &aa) { dv=aa.dv; ds=aa.ds; d=aa.d; dir=aa.dir; sh=aa.sh; v0=aa.v0; v1=aa.v1; v2=aa.v2; o=aa.o; pos=aa.pos; a = aa.a; b = aa.b; org=aa.org; txt=aa.txt; ns=aa.ns; f=aa.f; ch=aa.ch; wcscpy(t,aa.t); } inline void AddLabel(const wchar_t *lbl, mreal v) { txt.push_back(mglText(lbl,"",v)); } inline void AddLabel(const std::wstring &lbl, mreal v) { txt.push_back(mglText(lbl,v)); } mreal dv,ds; ///< Actual step for ticks and subticks. mreal d; ///< Step for axis ticks (if positive) or its number (if negative). int ns; ///< Number of axis subticks. wchar_t t[256]; ///< Tick template (set "" to use default one ("%.2g" in simplest case)) mglPoint dir; ///< Axis direction mglPoint a,b; ///< Directions of over axis mglPoint org; mreal v0; ///< Center of axis cross section mreal v1; ///< Minimal axis range. mreal v2; ///< Maximal axis range. mreal o; ///< Point of starting ticks numbering (if NAN then Org is used). int f; ///< Flag 0x1 - time, 0x2 - manual, 0x4 - fixed dv std::vector txt; ///< Axis labels char ch; ///< Character of axis (like 'x','y','z','c') char pos; ///< Text position ('t' by default, or 'T' for opposite) mreal sh; ///< Extra shift of ticks and axis labels }; //----------------------------------------------------------------------------- /// Structure for light source struct mglLight { mglLight() { n=false; a=b=0; } bool n; ///< Availability of light sources mglPoint d; ///< Direction of light sources mglPoint r; ///< Position of light sources (NAN for infinity) mglPoint q; ///< Actual position of light sources (filled by LightScale() function) mglPoint p; ///< Actual direction of light sources (filled by LightScale() function) mreal a; ///< Aperture of light sources mreal b; ///< Brightness of light sources mglColor c; ///< Color of light sources }; //----------------------------------------------------------------------------- class mglCanvas; /// Structure for light source struct mglDrawReg { unsigned long PDef; int ObjId; mreal PenWidth, pPos; int x1,x2,y1,y2; void set(mglCanvas *gr, int nx, int ny, int m); }; //----------------------------------------------------------------------------- /// Structure contains everything for drawing struct mglDrawDat { std::vector Pnt; ///< Internal points std::vector Prm; ///< Primitives (lines, triangles and so on) -- need for export std::vector Ptx; ///< Text labels for mglPrim std::vector Glf; ///< Glyphs data std::vector Txt; ///< Pointer to textures }; //----------------------------------------------------------------------------- /// Class contains all functionality for creating different mathematical plots class MGL_EXPORT mglCanvas : public mglBase { friend struct mglPrim; public: using mglBase::Light; mglCanvas(int w=800, int h=600); virtual ~mglCanvas(); /// Set default parameter for plotting void DefaultPlotParam(); /// Set angle of view indepently from mglCanvas::Rotate() virtual void View(mreal tetx,mreal tetz,mreal tety=0); /// Zoom in or zoom out (if Zoom(0, 0, 1, 1)) a part of picture virtual void Zoom(mreal x1, mreal y1, mreal x2, mreal y2); /// Restore image after View() and Zoom() inline void Restore() { Zoom(0,0,1,1); } /// Clear transformation matrix. inline void Identity(bool rel=false) { InPlot(0,1,0,1,rel); } /// Push transformation matrix into stack inline void Push() { MGL_PUSH(stack,B,mutexStk); } /// Set PlotFactor inline void SetPlotFactor(mreal val) { if(val<=0) {B.pf=1.55; set(MGL_AUTO_FACTOR);} else {B.pf=val; clr(MGL_AUTO_FACTOR);} } /// Get PlotFactor inline mreal GetPlotFactor() { return B.pf; } /// Pop transformation matrix from stack inline void Pop() { B = stack.back(); stack.pop_back(); } /// Clear up the frame virtual void Clf(mglColor back=WC); /// Put further plotting in cell of stick rotated on angles tet, phi void StickPlot(int num, int i, mreal tet, mreal phi); /// Put further plotting in some region of whole frame surface. void InPlot(mreal x1,mreal x2,mreal y1,mreal y2,bool rel=true); void InPlot(mreal x1,mreal x2,mreal y1,mreal y2, const char *style); /// Add title for current subplot/inplot void Title(const char *title,const char *stl="#",mreal size=-2); void Title(const wchar_t *title,const char *stl="#",mreal size=-2); /// Set aspect ratio for further plotting. void Aspect(mreal Ax,mreal Ay,mreal Az); /// Rotate a further plotting. void Rotate(mreal TetX,mreal TetZ,mreal TetY=0); /// Rotate a further plotting around vector {x,y,z}. void RotateN(mreal Tet,mreal x,mreal y,mreal z); /// Set perspective (in range [0,1)) for plot. Set to zero for switching off. void Perspective(mreal a) { Bp.pf = fabs(a); } /// Set size of frame in pixels. Normally this function is called internaly. virtual void SetSize(int w,int h); /// Get ratio (mreal width)/(mreal height). mreal GetRatio() const; /// Get bitmap data prepared for saving to file virtual unsigned char **GetRGBLines(long &w, long &h, unsigned char *&f, bool alpha=false); /// Get RGB bitmap of current state image. virtual const unsigned char *GetBits(); /// Get RGBA bitmap of current state image. const unsigned char *GetRGBA() { Finish(); return G4; } /// Get width of the image int GetWidth() const { return Width; } /// Get height of the image int GetHeight() const { return Height; } /// Combine plots from 2 canvases. Result will be saved into this. void Combine(const mglCanvas *gr); inline mreal GetDelay() const { return Delay; } inline void SetDelay(mreal d) { Delay=d; } /// Calculate 3D coordinate {x,y,z} for screen point {xs,ys} mglPoint CalcXYZ(int xs, int ys, bool real=false) const; /// Calculate screen point {xs,ys} for 3D coordinate {x,y,z} void CalcScr(mglPoint p, int *xs, int *ys) const; mglPoint CalcScr(mglPoint p) const; /// Set object/subplot id inline void SetObjId(long id) { ObjId = id; } /// Get object id inline int GetObjId(long xs,long ys) const { return OI[xs+Width*ys]; } /// Get subplot id int GetSplId(long xs,long ys) const; /// Check if there is active point or primitive (n=-1) int IsActive(int xs, int ys,int &n); /// Create new frame. virtual int NewFrame(); /// Finish frame drawing virtual void EndFrame(); /// Get the number of created frames inline int GetNumFrame() const { return CurFrameId; } /// Reset frames counter (start it from zero) virtual void ResetFrames(); /// Delete primitives for i-th frame virtual void DelFrame(long i); /// Get drawing data for i-th frame. void GetFrame(long i); /// Set drawing data for i-th frame. This work as EndFrame() but don't add frame to GIF image. virtual void SetFrame(long i); /// Add drawing data from i-th frame to the current drawing void ShowFrame(long i); /// Start write frames to cinema using GIF format void StartGIF(const char *fname, int ms=100); /// Stop writing cinema using GIF format void CloseGIF(); /// Finish plotting. Normally this function is called internaly. virtual void Finish(bool fast=true); /// Export points and primitives in file using MGLD format bool ExportMGLD(const char *fname, const char *descr=0); /// Import points and primitives from file using MGLD format bool ImportMGLD(const char *fname, bool add=false); /// Export in JSON format suitable for later drawing by JavaScript bool WriteJSON(const char *fname); /// Set the transparency type inline void SetTranspType(int val) { Flag=(Flag&(~3)) + (val&3); SetAxisStl(val==2?"w-":"k-"); } /// Set the fog distance or switch it off (if d=0). virtual void Fog(mreal d, mreal dz=0.25); /// Switch on/off the specified light source. virtual void Light(int n, bool enable); /// Add a light source. virtual void AddLight(int n,mglPoint r, mglPoint d, char c='w', mreal bright=0.5, mreal ap=0); inline void AddLight(int n,mglPoint d, char c='w', mreal bright=0.5, mreal ap=0) { AddLight(n,mglPoint(NAN),d,c,bright,ap); } /// Set ticks position and text (\n separated). Use n=0 to disable this feature. void SetTicksVal(char dir, const char *lbl, bool add=false); void SetTicksVal(char dir, HCDT v, const char *lbl, bool add=false); void SetTicksVal(char dir, HCDT v, const char **lbl, bool add=false); void SetTicksVal(char dir, const wchar_t *lbl, bool add=false); void SetTicksVal(char dir, HCDT v, const wchar_t *lbl, bool add=false); void SetTicksVal(char dir, HCDT v, const wchar_t **lbl, bool add=false); /// Set templates for ticks void SetTickTempl(char dir, const wchar_t *t); void SetTickTempl(char dir, const char *t); /// Set time templates for ticks void SetTickTime(char dir, mreal d=0, const char *t=""); /// Set the ticks parameters void SetTicks(char dir, mreal d=0, int ns=0, mreal org=NAN); /// Auto adjust ticks void AdjustTicks(const char *dir="xyzc", bool force=false); /// Tune ticks inline void SetTuneTicks(int tune, mreal pos=1.15) { TuneTicks = tune; FactorPos = pos; } /// Set ticks styles void SetAxisStl(const char *stl="k", const char *tck=0, const char *sub=0); /// Set ticks length void SetTickLen(mreal tlen, mreal stt=1.); /// Draws bounding box outside the plotting volume with color c. void Box(const char *col=0, bool ticks=true); /// Draw axises with ticks in directions determined by string parameter dir. void Axis(const char *dir="xyzt", const char *stl="", const char *opt=""); /// Draw grid lines perpendicular to direction determined by string parameter dir. void Grid(const char *dir="xyzt",const char *pen="B-", const char *opt=""); /// Print the label text for axis dir. void Label(char dir, const char *text, mreal pos=0, const char *opt=""); void Labelw(char dir, const wchar_t *text, mreal pos=0, const char *opt=""); /// Draw colorbar at edge of axis void Colorbar(const char *sch=0); void Colorbar(const char *sch, mreal x, mreal y, mreal w, mreal h); /// Draw colorbar at edge of axis for manual colors void Colorbar(HCDT v, const char *sch=0); void Colorbar(HCDT v, const char *sch, mreal x, mreal y, mreal w, mreal h); /// Draw legend of accumulated strings at position (x, y) by font with size inline void Legend(mreal x, mreal y, const char *font="#", const char *opt="") { Legend(Leg,x,y,font,opt); } /// Draw legend of accumulated strings by font with size inline void Legend(int where=0x3, const char *font="#", const char *opt="") { Legend(Leg,(where&1)?1:0,(where&2)?1:0,font,opt); } /// Draw legend of accumulated strings by font with size inline void Legend(const std::vector &leg, int where=3, const char *font="#", const char *opt="") { Legend(leg,(where&1)?1:0,(where&2)?1:0,font,opt); } /// Draw legend strings text at position (x, y) by font with size void Legend(const std::vector &leg, mreal x, mreal y, const char *font="#", const char *opt=""); /// Number of marks in legend sample inline void SetLegendMarks(int num=1) { LegendMarks = num>0?num:1; } /// Draw table for values val along given direction with row labels text at given position void Table(mreal x, mreal y, HCDT val, const wchar_t *text, const char *fnt, const char *opt); void StartAutoGroup (const char *); void EndGroup(); /// Retur color for primitive depending lighting mglColor GetColor(const mglPrim &p); /// Set extra shift for tick and axis labels inline void SetTickShift(mglPoint p) { ax.sh = p.x; ay.sh = p.y; az.sh = p.z; ac.sh = p.c; } /// Get rotation angle for glyph float GetGlyphPhi(const mglPnt &q, float phi); // Following arrays are open for advanced users only. It is not recommended to change them directly float *Z; ///< Height for given level in Z-direction (size 3*width*height) unsigned char *C; ///< Picture for given level in Z-direction (size 3*4*width*height) int *OI; ///< ObjId arrays (size width*height) /// Plot point p with color c void pnt_plot(long x,long y,mreal z,const unsigned char c[4], int obj_id); protected: mreal Delay; ///< Delay for animation in seconds // NOTE: Z should be float for reducing space and for compatibility reasons unsigned char *G4; ///< Final picture in RGBA format. Prepared in Finish(). unsigned char *G; ///< Final picture in RGB format. Prepared in Finish(). std::vector DrwDat; ///< Set of ALL drawing data for each frames int LegendMarks; ///< Number of marks in the Legend unsigned char BDef[4]; ///< Background color mglAxis ax,ay,az,ac;///< Axis parameters int TuneTicks; ///< Draw tuned ticks with extracted common component mreal FactorPos; ///< Position of axis ticks factor (0 at Min, 1 at Max, 1.1 is default) mreal TickLen; ///< Length of tiks (subticks length is sqrt(1+st_t)=1.41... times smaller) char AxisStl[32]; ///< Axis line style. Default is "k" char TickStl[32]; ///< Tick line style. Default is "k" char SubTStl[32]; ///< Subtick line style. Default is "k" mreal st_t; ///< Subtick-to-tick ratio (ls=lt/sqrt(1+st_t)). Default is 1. int CurFrameId; ///< Number of automaticle created frames int Width; ///< Width of the image int Height; ///< Height of the image int Depth; ///< Depth of the image mglMatrix Bp; ///< Transformation matrix for View() and Zoom() mglMatrix B; ///< Transformation matrix mglMatrix B1; ///< Transformation matrix for colorbar mreal inW, inH; ///< Width and height of last InPlot mreal inX, inY; ///< Coordinates of last InPlot mglLight light[10]; ///< Light sources mreal FogDist; ///< Inverse fog distance (fog ~ exp(-FogDist*Z)) mreal FogDz; ///< Relative shift of fog /// Auto adjust ticks void AdjustTicks(mglAxis &aa, bool ff); /// Prepare labels for ticks void LabelTicks(mglAxis &aa); /// Draw axis void DrawAxis(mglAxis &aa, bool text=true, char arr=0,const char *stl="",const char *opt=""); /// Draw axis grid lines void DrawGrid(mglAxis &aa); /// Update axis ranges inline void UpdateAxis() { ax.v0=Org.x; ay.v0=Org.y; az.v0=Org.z; ac.v0=Org.c; ax.v1=Min.x; ay.v1=Min.y; az.v1=Min.z; ac.v1=Min.c; ax.v2=Max.x; ay.v2=Max.y; az.v2=Max.z; ac.v2=Max.c; } /// Clear ZBuffer only void ClfZB(bool force=false); /// Scale coordinates and cut off some points bool ScalePoint(mglPoint &p, mglPoint &n, bool use_nan=true) const; void LightScale(); ///< Additionally scale positions of light sources /// Push drawing data (for frames only). NOTE: can be VERY large long PushDrwDat(); mreal GetOrgX(char dir) const; ///< Get Org.x (parse NAN value) mreal GetOrgY(char dir) const; ///< Get Org.y (parse NAN value) mreal GetOrgZ(char dir) const; ///< Get Org.z (parse NAN value) void mark_plot(long p, char type, mreal size=1); void arrow_plot(long p1, long p2, char st); void line_plot(long p1, long p2); void trig_plot(long p1, long p2, long p3); void quad_plot(long p1, long p2, long p3, long p4); void Glyph(mreal x, mreal y, mreal f, int style, long icode, mreal col); mreal text_plot(long p,const wchar_t *text,const char *fnt,mreal size=-1,mreal sh=0,mreal col=-('k'), bool rot=true); void add_prim(mglPrim &a); ///< add primitive to list void mark_draw(const mglPnt &p, char type, mreal size, mglDrawReg *d); void arrow_draw(const mglPnt &p1, const mglPnt &p2, char st, mreal size, mglDrawReg *d); virtual void line_draw(const mglPnt &p1, const mglPnt &p2, mglDrawReg *d); virtual void trig_draw(const mglPnt &p1, const mglPnt &p2, const mglPnt &p3, bool anorm, mglDrawReg *d); virtual void quad_draw(const mglPnt &p1, const mglPnt &p2, const mglPnt &p3, const mglPnt &p4, mglDrawReg *d); virtual void pnt_draw(const mglPnt &p, mglDrawReg *d); void arrow_draw(long n1, long n2, char st, float ll); void arrow_plot_3d(long n1, long n2, char st, float ll); void glyph_draw(const mglPrim &P, mglDrawReg *d); bool IsSame(const mglPrim &pr,mreal wp,mglColor cp,int st); // restore normalized coordinates from screen ones mglPoint RestorePnt(mglPoint ps, bool norm=false) const; // functions for multi-threading void PreparePrim(bool fast); void pxl_combine(size_t id, size_t n, const void *); void pxl_memcpy(size_t id, size_t n, const void *); void pxl_backgr(size_t id, size_t n, const void *); void pxl_primdr(size_t id, size_t n, const void *); void pxl_transform(size_t id, size_t n, const void *); void pxl_setz(size_t id, size_t n, const void *); void pxl_setz_adv(size_t id, size_t n, const void *); void pxl_other(size_t id, size_t n, const void *p); /// Put drawing from other mglCanvas (for multithreading, like subplots) void PutDrawReg(mglDrawReg *d, const mglCanvas *gr); private: // mreal _tetx,_tety,_tetz; // extra angles std::vector stack; ///< stack for transformation matrices int dr_nx1, dr_nx2, dr_ny1, dr_ny2; // Allowed drawing region GifFileType *gif; mreal fscl,ftet; ///< last scale and rotation for glyphs long forg; ///< original point (for directions) size_t grp_counter; ///< Counter for StartGroup(); EndGroup(); /// Draw generic colorbar void colorbar(HCDT v, const mreal *s, int where, mreal x, mreal y, mreal w, mreal h); /// Draw labels for ticks void DrawLabels(mglAxis &aa); /// Get label style char GetLabelPos(mreal c, long kk, mglAxis &aa); /// Draw tick void tick_draw(mglPoint o, mglPoint d1, mglPoint d2, int f, const char *stl); mreal FindOptOrg(char dir, int ind) const; /// Transform mreal color and alpha to bits format unsigned char* col2int(const mglPnt &p, unsigned char *r, int obj_id); /// Combine colors in 2 plane. void combine(unsigned char *c1, const unsigned char *c2); /// Fast drawing of line between 2 points void fast_draw(const mglPnt &p1, const mglPnt &p2, mglDrawReg *d); /// Additionally scale points p for positioning in image void PostScale(mglPoint &p) const; /// Scale points p for projection to the face number nface in image long ProjScale(int nface, long p, bool text=false); inline void PostScale(mglPoint *p,long n) const { for(long i=0;i * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_DATAC_H_ #define _MGL_DATAC_H_ #include "mgl2/data.h" #include "mgl2/datac_cf.h" #ifdef __cplusplus //----------------------------------------------------------------------------- #include #include #define mgl2 mreal(2) #define mgl3 mreal(3) #define mgl4 mreal(4) //----------------------------------------------------------------------------- /// Class for working with data array class mglDataC : public mglDataA { public: long nx; ///< number of points in 1st dimensions ('x' dimension) long ny; ///< number of points in 2nd dimensions ('y' dimension) long nz; ///< number of points in 3d dimensions ('z' dimension) dual *a; ///< data array std::string id; ///< column (or slice) names bool link; ///< use external data (i.e. don't free it) /// Initiate by other mglData variable inline mglDataC(const mglDataC &d) { a=0; mgl_datac_set(this,&d); } // NOTE: must be constructor for mglDataC& to exclude copy one inline mglDataC(const mglDataA *d) { a=0; mgl_datac_set(this, d); } inline mglDataC(bool, mglDataC *d) // NOTE: Variable d will be deleted!!! { if(d) { nx=d->nx; ny=d->ny; nz=d->nz; a=d->a; d->a=0; id=d->id; link=d->link; delete d; } else { a=0; Create(1); } } /// Initiate by flat array inline mglDataC(int size, const dual *d) { a=0; Set(d,size); } inline mglDataC(int rows, int cols, const dual *d) { a=0; Set(d,cols,rows); } inline mglDataC(int size, const double *d) { a=0; Set(d,size); } inline mglDataC(int rows, int cols, const double *d) { a=0; Set(d,cols,rows); } inline mglDataC(int size, const float *d) { a=0; Set(d,size); } inline mglDataC(int rows, int cols, const float *d) { a=0; Set(d,cols,rows); } /// Read data from file inline mglDataC(const char *fname) { a=0; Read(fname); } /// Allocate the memory for data array and initialize it zero inline mglDataC(long xx=1,long yy=1,long zz=1) { a=0; Create(xx,yy,zz); } /// Delete the array virtual ~mglDataC() { if(!link && a) delete []a; } inline dual GetVal(long i, long j=0, long k=0) { return mgl_datac_get_value(this,i,j,k);} inline void SetVal(dual f, long i, long j=0, long k=0) { mgl_datac_set_value(this,f,i,j,k); } /// Get sizes inline long GetNx() const { return nx; } inline long GetNy() const { return ny; } inline long GetNz() const { return nz; } /// Link external data array (don't delete it at exit) inline void Link(dual *A, long NX, long NY=1, long NZ=1) { mgl_datac_link(this,A,NX,NY,NZ); } inline void Link(mglDataC &d) { Link(d.a,d.nx,d.ny,d.nz); } /// Allocate memory and copy the data from the gsl_vector inline void Set(gsl_vector *m) { mgl_datac_set_vector(this,m); } /// Allocate memory and copy the data from the gsl_matrix inline void Set(gsl_matrix *m) { mgl_datac_set_matrix(this,m); } /// Allocate memory and copy the data from the (float *) array inline void Set(const float *A,long NX,long NY=1,long NZ=1) { mgl_datac_set_float(this,A,NX,NY,NZ); } /// Allocate memory and copy the data from the (double *) array inline void Set(const double *A,long NX,long NY=1,long NZ=1) { mgl_datac_set_double(this,A,NX,NY,NZ); } /// Allocate memory and copy the data from the (complex *) array inline void Set(const dual *A,long NX,long NY=1,long NZ=1) { mgl_datac_set_complex(this,A,NX,NY,NZ); } /// Allocate memory and scanf the data from the string inline void Set(const char *str,long NX,long NY=1,long NZ=1) { mgl_datac_set_values(this,str,NX,NY,NZ); } /// Import data from abstract type inline void Set(HCDT dat) { mgl_datac_set(this, dat); } inline void Set(const mglDataA &dat) { mgl_datac_set(this, &dat); } inline void Set(const mglDataA &re, const mglDataA &im) { mgl_datac_set_ri(this, &re, &im); } inline void Set(HCDT re, HCDT im) { mgl_datac_set_ri(this, re, im); } inline void SetAmpl(const mglDataA &l, const mglDataA &phase) { mgl_datac_set_ap(this, &l, &phase); } /// Allocate memory and copy data from std::vector inline void Set(const std::vector &d) { if(d.size()<1) return; Create(d.size()); for(long i=0;i &d) { if(d.size()<1) return; Create(d.size()); for(long i=0;i &d) { if(d.size()<1) return; Create(d.size()); for(long i=0;i &d) { if(d.size()<1) return; Create(d.size()); for(long i=0;i1?nx-1:1; dif.y/=ny>1?ny-1:1; dif.z/=nz>1?nz-1:1; return val; } /// Return an approximated x-value (root) when dat(x) = val inline mreal Solve(mreal val, bool use_spline=true, long i0=0) const { return mgl_data_solve_1d(this, val, use_spline, i0); } /// Return an approximated value (root) when dat(x) = val inline mglData Solve(mreal val, char dir, bool norm=true) const { return mglData(true,mgl_data_solve(this, val, dir, 0, norm)); } inline mglData Solve(mreal val, char dir, const mglData &i0, bool norm=true) const { return mglData(true,mgl_data_solve(this, val, dir, &i0, norm)); } /// Print information about the data (sizes and momentum) to string inline const char *PrintInfo() const { return mgl_data_info(this); } /// Print information about the data (sizes and momentum) to FILE (for example, stdout) inline void PrintInfo(FILE *fp) const { if(fp) { fprintf(fp,"%s",mgl_data_info(this)); fflush(fp); } } /// Get maximal value of the data inline mreal Maximal() const { return mgl_data_max(this); } /// Get minimal value of the data inline mreal Minimal() const { return mgl_data_min(this); } /// Get maximal value of the data and its position inline mreal Maximal(long &i,long &j,long &k) const { return mgl_data_max_int(this,&i,&j,&k); } /// Get minimal value of the data and its position inline mreal Minimal(long &i,long &j,long &k) const { return mgl_data_min_int(this,&i,&j,&k); } /// Get maximal value of the data and its approximated position inline mreal Maximal(mreal &x,mreal &y,mreal &z) const { return mgl_data_max_real(this,&x,&y,&z); } /// Get minimal value of the data and its approximated position inline mreal Minimal(mreal &x,mreal &y,mreal &z) const { return mgl_data_min_real(this,&x,&y,&z); } /// Copy data from other mglData variable inline mglDataC &operator=(const mglData &d) { Set(&d); return *this; } /// Copy data from other mglDataC variable inline mglDataC &operator=(const mglDataC &d) { if(this!=&d) Set(d.a,d.nx,d.ny,d.nz); return *this; } inline dual operator=(dual val) { for(long i=0;i=nx || j>=ny || k>=nz) printf("Wrong index in mglData"); return abs(a[i+nx*(j+ny*k)]); } #else { return abs(a[i+nx*(j+ny*k)]); } #endif inline mreal vthr(long i) const { return abs(a[i]); } // add for speeding up !!! inline mreal dvx(long i,long j=0,long k=0) const { register long i0=i+nx*(j+ny*k); return i>0? abs(i0? abs(j0? abs(k * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_TYPE_H_ #define _MGL_TYPE_H_ #if !defined(_MSC_VER) && !defined(__BORLANDC__) #include #endif #include "mgl2/define.h" //----------------------------------------------------------------------------- const mreal Pi = M_PI; const mreal NaN = NAN; const mreal mgl_min_a = 1./256; //----------------------------------------------------------------------------- #define MGL_SET_XYZ(p,xx,yy,zz) {p.x=(xx);p.y=(yy);p.z=(zz);} #define MGL_SET_XY(p,xx,yy) {p.x=(xx);p.y=(yy);p.z=0;} #define MGL_SET_RGBA(p,rr,gg,bb,aa) {p.r=(rr);p.g=(gg);p.b=(bb);p.a=(aa);} #define MGL_SET_RGB(p,rr,gg,bb) {p.r=(rr);p.g=(gg);p.b=(bb);} //----------------------------------------------------------------------------- /// Class for point in 3D space struct mglPoint { mreal x,y,z,c; mglPoint(mreal X=0,mreal Y=0,mreal Z=0,mreal C=0){x=X;y=Y;z=Z;c=C;} inline bool IsNAN() { return (x!=x || y!=y || z!=z || c!=c); } inline mreal val(int i) { return (i<2 ? (i==0 ? x:y) : (i==2 ? z:c)); } inline mreal norm() { return sqrt(x*x+y*y+z*z); } inline void Normalize() { mreal v=norm(); x/=v; y/=v; z/=v; } inline void operator+=(const mglPoint &a) { x+=a.x; y+=a.y; z+=a.z; c+=a.c; } inline void operator-=(const mglPoint &a) { x-=a.x; y-=a.y; z-=a.z; c-=a.c; } inline void operator+=(mreal a) { x+=a; y+=a; z+=a; } inline void operator-=(mreal a) { x-=a; y-=a; z-=a; } inline void operator*=(mreal a) { x*=a; y*=a; z*=a; } inline void operator/=(mreal a) { x/=a; y/=a; z/=a; } }; #ifndef SWIG inline mglPoint operator+(const mglPoint &a, const mglPoint &b) { return mglPoint(a.x+b.x, a.y+b.y, a.z+b.z, a.c+b.c); } inline mglPoint operator-(const mglPoint &a, const mglPoint &b) { return mglPoint(a.x-b.x, a.y-b.y, a.z-b.z, a.c-b.c); } inline mglPoint operator-(const mglPoint &a) { return mglPoint(-a.x, -a.y, -a.z, -a.c); } inline mglPoint operator*(mreal b, const mglPoint &a) { return mglPoint(a.x*b, a.y*b, a.z*b); } inline mglPoint operator*(const mglPoint &a, mreal b) { return mglPoint(a.x*b, a.y*b, a.z*b); } inline mglPoint operator/(const mglPoint &a, mreal b) { return mglPoint(a.x/b, a.y/b, a.z/b); } inline mreal operator*(const mglPoint &a, const mglPoint &b) { return a.x*b.x+a.y*b.y+a.z*b.z; } inline mglPoint operator/(const mglPoint &a, const mglPoint &b) { return mglPoint(a.x*b.x, a.y*b.y, a.z*b.z); } inline mglPoint operator&(const mglPoint &a, const mglPoint &b) { return a - b*((a*b)/(b*b)); } inline mglPoint operator|(const mglPoint &a, const mglPoint &b) { return b*((a*b)/(b*b)); } inline mglPoint operator^(const mglPoint &a, const mglPoint &b) { return mglPoint(a.y*b.z-a.z*b.y, a.z*b.x-a.x*b.z, a.x*b.y-a.y*b.x); } inline mglPoint operator!(const mglPoint &a) { mreal f=hypot(a.x,a.y); return f==0?mglPoint(0.,1.,0.):mglPoint(-a.y/f, a.x/f, 0); } inline bool operator==(const mglPoint &a, const mglPoint &b) { return !memcmp(&a, &b, sizeof(mglPoint)); } inline bool operator!=(const mglPoint &a, const mglPoint &b) { return memcmp(&a, &b, sizeof(mglPoint)); } inline bool operator<(const mglPoint &a, const mglPoint &b) { return a.x<=b.x && a.y<=b.y && a.z<=b.z; } inline bool operator>(const mglPoint &a, const mglPoint &b) { return a.x>=b.x && a.y>=b.y && a.z>=b.z; } inline mreal mgl_norm(const mglPoint &p) { return sqrt(p.x*p.x+p.y*p.y+p.z*p.z); } #endif //----------------------------------------------------------------------------- /// Class for RGBA color struct mglColor { float r; ///< Red component of color float g; ///< Green component of color float b; ///< Blue component of color float a; ///< Alpha component of color /// Constructor for RGB components manualy mglColor(float R,float G,float B, float A=1){ r=R; g=G; b=B; a=A; } /// Constructor set default color mglColor() { r=g=b=0; a=1; } /// Constructor set color from character id mglColor(char c, float bright=1) { Set(c,bright); } /// Set color as Red, Green, Blue values void Set(float R,float G,float B,float A=1) { r=R; g=G; b=B; a=A; } /// Set color as Red, Green, Blue values void Set(mglColor c, float bright=1) { if(bright<0) bright=0; if(bright>2.f) bright=2.f; r = bright<=1 ? c.r*bright : 1 - (1-c.r)*(2-bright); g = bright<=1 ? c.g*bright : 1 - (1-c.g)*(2-bright); b = bright<=1 ? c.b*bright : 1 - (1-c.b)*(2-bright); a = 1; } /// Check if color is valid inline bool Valid() { return (r>=0 && r<=1 && g>=0 && g<=1 && b>=0 && b<=1 && a>=0 && a<=1); } /// Get maximal spectral component inline float Norm() { return r>g ? r : (g>b ? g : b); } inline float NormS() { return r*r+g*g+b*b; } /// Set color from symbolic id inline void Set(char p, float bright=1) { float rgb[3]; mgl_chrrgb(p,rgb); Set(mglColor(rgb[0],rgb[1],rgb[2]),bright); } /// Copy color from other one inline bool operator==(const mglColor &c) const { return !memcmp(this, &c, sizeof(mglColor)); } inline bool operator!=(const mglColor &c) const { return memcmp(this, &c, sizeof(mglColor)); } inline bool operator<(const mglColor &c) const { return memcmp(this, &c, sizeof(mglColor))<0; } // transparency still the same inline void operator*=(float v) { r*=v; g*=v; b*=v; a*=v; } inline void operator+=(const mglColor &c) { r+=c.r; g+=c.g; b+=c.b; a+=c.a; } inline void operator-=(const mglColor &c) { r-=c.r; g-=c.g; b-=c.b; a-=c.a; } }; #ifndef SWIG inline mglColor operator+(const mglColor &a, const mglColor &b) { return mglColor(a.r+b.r, a.g+b.g, a.b+b.b, a.a+b.a); } inline mglColor operator-(const mglColor &a, const mglColor &b) { return mglColor(a.r-b.r, a.g-b.g, a.b-b.b, a.a-b.a); } inline mglColor operator*(const mglColor &a, float b) { return mglColor(a.r*b, a.g*b, a.b*b, a.a*b); } inline mglColor operator*(float b, const mglColor &a) { return mglColor(a.r*b, a.g*b, a.b*b, a.a*b); } inline mglColor operator/(const mglColor &a, float b) { return mglColor(a.r/b, a.g/b, a.b/b, a.a/b); } inline mglColor operator!(const mglColor &a) { return mglColor(1-a.r, 1-a.g, 1-a.b, a.a); } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/other.h0000664000175000017500000002377212142400464016504 0ustar balakinbalakin/*************************************************************************** * other.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_OTHER_H_ #define _MGL_OTHER_H_ #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Draw triangle mesh for points in arrays {x,y,z} with specified color c. void MGL_EXPORT mgl_triplot_xyzc(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt); void MGL_EXPORT mgl_triplot_xyzc_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int,int); /// Draw triangle mesh for points in arrays {x,y,z} with color proportional to z. void MGL_EXPORT mgl_triplot_xyz(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_triplot_xyz_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw triangle mesh for points in arrays {x,y} void MGL_EXPORT mgl_triplot_xy(HMGL gr, HCDT nums, HCDT x, HCDT y, const char *sch, const char *opt); void MGL_EXPORT mgl_triplot_xy_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, const char *sch, const char *opt,int,int); /// Draw quad mesh for points in arrays {x,y,z} with specified color c. void MGL_EXPORT mgl_quadplot_xyzc(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt); void MGL_EXPORT mgl_quadplot_xyzc_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int,int); /// Draw quad mesh for points in arrays {x,y,z} with color proportional to z. void MGL_EXPORT mgl_quadplot_xyz(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_quadplot_xyz_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw quad mesh for points in arrays {x,y}. void MGL_EXPORT mgl_quadplot_xy(HMGL gr, HCDT nums, HCDT x, HCDT y, const char *sch, const char *opt); void MGL_EXPORT mgl_quadplot_xy_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, const char *sch, const char *opt,int,int); /// Draw manual contour lines for triangle mesh for points in arrays {x,y,z} with specified color c. void MGL_EXPORT mgl_tricont_xyzcv(HMGL gr, HCDT v, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt); void MGL_EXPORT mgl_tricont_xyzcv_(uintptr_t *gr, uintptr_t *v, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int,int); /// Draw manual contour lines for triangle mesh for points in arrays {x,y,z}. void MGL_EXPORT mgl_tricont_xycv(HMGL gr, HCDT v, HCDT nums, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_tricont_xycv_(uintptr_t *gr, uintptr_t *v, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw contour lines for triangle mesh for points in arrays {x,y,z} with specified color c. void MGL_EXPORT mgl_tricont_xyzc(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt); void MGL_EXPORT mgl_tricont_xyzc_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int, int); /// Draw contour lines for triangle mesh for points in arrays {x,y,z}. void MGL_EXPORT mgl_tricont_xyc(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_tricont_xyc_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int, int); /// Draw dots in points {x,y,z}. void MGL_EXPORT mgl_dots(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_dots_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw semitransparent dots in points {x,y,z} with alpha a. void MGL_EXPORT mgl_dots_a(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt); void MGL_EXPORT mgl_dots_a_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, const char *opt,int,int); /// Draw surface reconstructed for points in arrays {x,y,z}. void MGL_EXPORT mgl_crust(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_crust_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw density plot for data at x = sVal void MGL_EXPORT mgl_dens_x(HMGL graph, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_dens_x_(uintptr_t *graph, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw density plot for data at y = sVal void MGL_EXPORT mgl_dens_y(HMGL graph, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_dens_y_(uintptr_t *graph, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw density plot for data at z = sVal void MGL_EXPORT mgl_dens_z(HMGL graph, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_dens_z_(uintptr_t *graph, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw contour lines for data at x = sVal void MGL_EXPORT mgl_cont_x(HMGL graph, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_cont_x_(uintptr_t *graph, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw contour lines for data at y = sVal void MGL_EXPORT mgl_cont_y(HMGL graph, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_cont_y_(uintptr_t *graph, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw contour lines for data at z = sVal void MGL_EXPORT mgl_cont_z(HMGL graph, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_cont_z_(uintptr_t *graph, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw manual contour lines for data at x = sVal void MGL_EXPORT mgl_cont_x_val(HMGL graph, HCDT v, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_cont_x_val_(uintptr_t *graph, uintptr_t *v, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw manual contour lines for data at y = sVal void MGL_EXPORT mgl_cont_y_val(HMGL graph, HCDT v, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_cont_y_val_(uintptr_t *graph, uintptr_t *v, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw manual contour lines for data at z = sVal void MGL_EXPORT mgl_cont_z_val(HMGL graph, HCDT v, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_cont_z_val_(uintptr_t *graph, uintptr_t *v, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw solid contours for data at x = sVal void MGL_EXPORT mgl_contf_x(HMGL graph, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_contf_x_(uintptr_t *graph, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw solid contours for data at y = sVal void MGL_EXPORT mgl_contf_y(HMGL graph, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_contf_y_(uintptr_t *graph, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw solid contours for data at z = sVal void MGL_EXPORT mgl_contf_z(HMGL graph, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_contf_z_(uintptr_t *graph, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw manual solid contours for data at x = sVal void MGL_EXPORT mgl_contf_x_val(HMGL graph, HCDT v, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_contf_x_val_(uintptr_t *graph, uintptr_t *v, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw manual solid contours for data at y = sVal void MGL_EXPORT mgl_contf_y_val(HMGL graph, HCDT v, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_contf_y_val_(uintptr_t *graph, uintptr_t *v, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); /// Draw manual solid contours for data at z = sVal void MGL_EXPORT mgl_contf_z_val(HMGL graph, HCDT v, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_contf_z_val_(uintptr_t *graph, uintptr_t *v, uintptr_t *a, const char *stl, mreal *sVal, const char *opt,int,int); #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/canvas_cf.h0000664000175000017500000007375412142400464017313 0ustar balakinbalakin/*************************************************************************** * canvas_cf.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef MGL_CANVAS_CF_H #define MGL_CANVAS_CF_H #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Create HMGL object with specified sizes HMGL MGL_EXPORT mgl_create_graph(int width, int height); uintptr_t MGL_EXPORT mgl_create_graph_(int *width, int *height); /// Delete HMGL object void MGL_EXPORT mgl_delete_graph(HMGL gr); void MGL_EXPORT mgl_delete_graph_(uintptr_t *gr); /// Set size of frame in pixels. Normally this function is called internally. void MGL_EXPORT mgl_set_size(HMGL gr, int width, int height); void MGL_EXPORT mgl_set_size_(uintptr_t *gr, int *width, int *height); /// Set default parameters for plotting void MGL_EXPORT mgl_set_def_param(HMGL gr); void MGL_EXPORT mgl_set_def_param_(uintptr_t *gr); /// Combine plots from 2 canvases. Result will be saved into gr void MGL_EXPORT mgl_combine_gr(HMGL gr, HMGL in); void MGL_EXPORT mgl_combine_gr_(uintptr_t *gr, uintptr_t *in); /// Force preparing the image. It can be useful for OpenGL mode mostly. void MGL_EXPORT mgl_finish(HMGL gr); void MGL_EXPORT mgl_finish_(uintptr_t *gr); /// Set tick length void MGL_EXPORT mgl_set_tick_len(HMGL gr, double len, double stt); void MGL_EXPORT mgl_set_tick_len_(uintptr_t *gr, mreal *len, mreal *stt); /// Set axis and ticks style void MGL_EXPORT mgl_set_axis_stl(HMGL gr, const char *stl, const char *tck, const char *sub); void MGL_EXPORT mgl_set_axis_stl_(uintptr_t *gr, const char *stl, const char *tck, const char *sub, int,int,int); /// Auto adjust ticks void MGL_EXPORT mgl_adjust_ticks(HMGL gr, const char *dir); void MGL_EXPORT mgl_adjust_ticks_(uintptr_t *gr, const char *dir, int); /// Set the ticks parameters void MGL_EXPORT mgl_set_ticks(HMGL gr, char dir, double d, int ns, double org); void MGL_EXPORT mgl_set_ticks_(uintptr_t *gr, char *dir, mreal *d, int *ns, mreal *org, int); /// Set ticks text (\n separated). Use "" to disable this feature. void MGL_EXPORT mgl_set_ticks_str(HMGL gr, char dir, const char *lbl, int add); void MGL_EXPORT mgl_set_ticks_str_(uintptr_t *gr, const char *dir, const char *lbl, int *add,int,int); void MGL_EXPORT mgl_set_ticks_wcs(HMGL gr, char dir, const wchar_t *lbl, int add); /// Set ticks position and text (\n separated). Use "" to disable this feature. void MGL_EXPORT mgl_set_ticks_val(HMGL gr, char dir, HCDT val, const char *lbl, int add); void MGL_EXPORT mgl_set_ticks_val_(uintptr_t *gr, const char *dir, uintptr_t *val, const char *lbl, int *add,int,int); void MGL_EXPORT mgl_set_ticks_valw(HMGL gr, char dir, HCDT val, const wchar_t *lbl, int add); /// Tune ticks void MGL_EXPORT mgl_tune_ticks(HMGL gr, int tune, double fact_pos); void MGL_EXPORT mgl_tune_ticks_(uintptr_t *gr, int *tune, mreal *fact_pos); /// Set templates for ticks void MGL_EXPORT mgl_set_tick_templ(HMGL gr, char dir, const char *templ); void MGL_EXPORT mgl_set_tick_templ_(uintptr_t *gr, const char *dir, const char *templ,int,int); void MGL_EXPORT mgl_set_tick_templw(HMGL gr, char dir, const wchar_t *templ); /// Set time templates for ticks void MGL_EXPORT mgl_set_ticks_time(HMGL gr, char dir, double d, const char *t); void MGL_EXPORT mgl_set_ticks_time_(uintptr_t *gr, const char *dir, mreal *d, const char *t,int,int); /// Set additional shift of tick labels void MGL_EXPORT mgl_set_tick_shift(HMGL gr, double sx, double sy, double sz, double sc); void MGL_EXPORT mgl_set_tick_shift_(uintptr_t *gr, mreal *sx, mreal *sy, mreal *sz, mreal *sc); /// Draws bounding box outside the plotting volume void MGL_EXPORT mgl_box(HMGL gr); void MGL_EXPORT mgl_box_(uintptr_t *gr); /// Draws bounding box outside the plotting volume with color c void MGL_EXPORT mgl_box_str(HMGL gr, const char *col, int ticks); void MGL_EXPORT mgl_box_str_(uintptr_t *gr, const char *col, int *ticks, int); /// Draw axises with ticks in direction(s) dir. void MGL_EXPORT mgl_axis(HMGL gr, const char *dir, const char *stl, const char *opt); void MGL_EXPORT mgl_axis_(uintptr_t *gr, const char *dir, const char *stl, const char *opt,int,int,int); /// Draw grid lines perpendicular to direction(s) dir. void MGL_EXPORT mgl_axis_grid(HMGL gr, const char *dir,const char *pen, const char *opt); void MGL_EXPORT mgl_axis_grid_(uintptr_t *gr, const char *dir,const char *pen, const char *opt,int,int,int); /// Print the label text for axis dir. void MGL_EXPORT mgl_label(HMGL gr, char dir, const char *text, double pos, const char *opt); void MGL_EXPORT mgl_label_(uintptr_t *gr, const char *dir, const char *text, const char *opt,int,int,int); void MGL_EXPORT mgl_labelw(HMGL gr, char dir, const wchar_t *text, double pos, const char *opt); /// Draw colorbar at edge of axis void MGL_EXPORT mgl_colorbar(HMGL gr, const char *sch); void MGL_EXPORT mgl_colorbar_(uintptr_t *gr, const char *sch,int); /// Draw colorbar at manual position void MGL_EXPORT mgl_colorbar_ext(HMGL gr, const char *sch, double x, double y, double w, double h); void MGL_EXPORT mgl_colorbar_ext_(uintptr_t *gr, const char *sch, mreal *x, mreal *y, mreal *w, mreal *h, int); /// Draw colorbar with manual colors at edge of axis void MGL_EXPORT mgl_colorbar_val(HMGL gr, HCDT dat, const char *sch); void MGL_EXPORT mgl_colorbar_val_(uintptr_t *gr, uintptr_t *dat, const char *sch,int); /// Draw colorbar with manual colors at manual position void MGL_EXPORT mgl_colorbar_val_ext(HMGL gr, HCDT dat, const char *sch,double x, double y, double w, double h); void MGL_EXPORT mgl_colorbar_val_ext_(uintptr_t *gr, uintptr_t *dat, const char *sch, mreal *x, mreal *y, mreal *w, mreal *h, int); /// Add string to legend void MGL_EXPORT mgl_add_legend(HMGL gr, const char *text,const char *style); void MGL_EXPORT mgl_add_legend_(uintptr_t *gr, const char *text,const char *style,int,int); void MGL_EXPORT mgl_add_legendw(HMGL gr, const wchar_t *text,const char *style); /// Clear saved legend string void MGL_EXPORT mgl_clear_legend(HMGL gr); void MGL_EXPORT mgl_clear_legend_(uintptr_t *gr); /// Draw legend of accumulated strings at position {x,y} void MGL_EXPORT mgl_legend_pos(HMGL gr, double x, double y, const char *font, const char *opt); void MGL_EXPORT mgl_legend_pos_(uintptr_t *gr, mreal *x, mreal *y, const char *font, const char *opt,int,int); /// Draw legend of accumulated strings void MGL_EXPORT mgl_legend(HMGL gr, int where, const char *font, const char *opt); void MGL_EXPORT mgl_legend_(uintptr_t *gr, int *where, const char *font, const char *opt,int,int); /// Set number of marks in legend sample void MGL_EXPORT mgl_set_legend_marks(HMGL gr, int num); void MGL_EXPORT mgl_set_legend_marks_(uintptr_t *gr, int *num); /// Show current image void MGL_EXPORT mgl_show_image(HMGL gr, const char *viewer, int keep); void MGL_EXPORT mgl_show_image_(uintptr_t *gr, const char *viewer, int *keep, int); /// Write the frame in file (depending extension, write current frame if fname is empty) void MGL_EXPORT mgl_write_frame(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_frame_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using BMP format void MGL_EXPORT mgl_write_tga(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_tga_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using BMP format void MGL_EXPORT mgl_write_bmp(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_bmp_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using JPEG format void MGL_EXPORT mgl_write_jpg(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_jpg_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using PNG format with transparency void MGL_EXPORT mgl_write_png(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_png_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using PNG format without transparency void MGL_EXPORT mgl_write_png_solid(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_png_solid_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using PostScript format as bitmap void MGL_EXPORT mgl_write_bps(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_bps_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using PostScript format void MGL_EXPORT mgl_write_eps(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_eps_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using SVG format void MGL_EXPORT mgl_write_svg(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_svg_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using LaTeX format void MGL_EXPORT mgl_write_tex(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_tex_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using OBJ format void MGL_EXPORT mgl_write_obj(HMGL gr, const char *fname,const char *descr, int use_png); void MGL_EXPORT mgl_write_obj_(uintptr_t *gr, const char *fname,const char *descr, int *use_png,int,int); /// Write the frame in file using OBJ format (old version) void MGL_EXPORT mgl_write_obj_old(HMGL gr, const char *fname,const char *descr, int use_png); void MGL_EXPORT mgl_write_obj_old_(uintptr_t *gr, const char *fname,const char *descr, int *use_png,int,int); /// Write the frame in file using STL format (faces only) void MGL_EXPORT mgl_write_stl(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_stl_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Write the frame in file using OFF format void MGL_EXPORT mgl_write_off(HMGL gr, const char *fname,const char *descr, int colored); void MGL_EXPORT mgl_write_off_(uintptr_t *gr, const char *fname,const char *descr,int *colored,int,int); /// Write the frame in file using XYZ format void MGL_EXPORT mgl_write_xyz(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_xyz_(uintptr_t *gr, const char *fname,const char *descr,int,int); /*void MGL_EXPORT mgl_write_x3d(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_x3d_(uintptr_t *gr, const char *fname,const char *descr,int,int); void MGL_EXPORT mgl_write_wgl(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_wgl_(uintptr_t *gr, const char *fname,const char *descr,int,int);*/ /// Write the frame in file using PRC format void MGL_EXPORT mgl_write_prc(HMGL gr, const char *fname,const char *descr, int make_pdf); void MGL_EXPORT mgl_write_prc_(uintptr_t *gr, const char *fname,const char *descr, int *make_pdf,int,int); /// Write the frame in file using GIF format (only for current frame!) void MGL_EXPORT mgl_write_gif(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_gif_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Start write frames to cinema using GIF format void MGL_EXPORT mgl_start_gif(HMGL gr, const char *fname,int ms); void MGL_EXPORT mgl_start_gif_(uintptr_t *gr, const char *fname,int *ms,int); /// Stop writing cinema using GIF format void MGL_EXPORT mgl_close_gif(HMGL gr); void MGL_EXPORT mgl_close_gif_(uintptr_t *gr); /// Export points and primitives in file using MGLD format void MGL_EXPORT mgl_export_mgld(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_export_mgld_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Import points and primitives from file using MGLD format void MGL_EXPORT mgl_import_mgld(HMGL gr, const char *fname, int add); void MGL_EXPORT mgl_import_mgld_(uintptr_t *gr, const char *fname, int *add, int); /// Export in JSON format suitable for later drawing by JavaScript void MGL_EXPORT mgl_write_json(HMGL gr, const char *fname,const char *descr); void MGL_EXPORT mgl_write_json_(uintptr_t *gr, const char *fname,const char *descr,int,int); /// Get RGB values of current bitmap MGL_EXPORT const unsigned char *mgl_get_rgb(HMGL gr); MGL_EXPORT const unsigned char *mgl_get_rgb_(uintptr_t *gr); /// Get RGBA values of current bitmap MGL_EXPORT const unsigned char *mgl_get_rgba(HMGL gr); MGL_EXPORT const unsigned char *mgl_get_rgba_(uintptr_t *gr); /// Set object/subplot id void MGL_EXPORT mgl_set_obj_id(HMGL gr, int id); void MGL_EXPORT mgl_set_obj_id_(uintptr_t *gr, int *id); /// Get object id int MGL_EXPORT mgl_get_obj_id(HMGL gr, int x, int y); int MGL_EXPORT mgl_get_obj_id_(uintptr_t *gr, int *x, int *y); /// Get subplot id int MGL_EXPORT mgl_get_spl_id(HMGL gr, int x, int y); int MGL_EXPORT mgl_get_spl_id_(uintptr_t *gr, int *x, int *y); /// Get width of the image int MGL_EXPORT mgl_get_width(HMGL gr); int MGL_EXPORT mgl_get_width_(uintptr_t *gr); /// Get height of the image int MGL_EXPORT mgl_get_height(HMGL gr); int MGL_EXPORT mgl_get_height_(uintptr_t *gr); /// Calculate 3D coordinate {x,y,z} for screen point {xs,ys} void MGL_EXPORT mgl_calc_xyz(HMGL gr, int xs, int ys, mreal *x, mreal *y, mreal *z); void MGL_EXPORT mgl_calc_xyz_(uintptr_t *gr, int *xs, int *ys, mreal *x, mreal *y, mreal *z); /// Calculate screen point {xs,ys} for 3D coordinate {x,y,z} void MGL_EXPORT mgl_calc_scr(HMGL gr, double x, double y, double z, int *xs, int *ys); void MGL_EXPORT mgl_calc_scr_(uintptr_t *gr, mreal *x, mreal *y, mreal *z, int *xs, int *ys); /// Check if {xs,ys} is close to active point with accuracy d, and return its position or -1 long MGL_EXPORT mgl_is_active(HMGL gr, int xs, int ys, int d); long MGL_EXPORT mgl_is_active_(uintptr_t *gr, int *xs, int *ys, int *d); /// Create new frame. int MGL_EXPORT mgl_new_frame(HMGL gr); int MGL_EXPORT mgl_new_frame_(uintptr_t *gr); /// Finish frame drawing void MGL_EXPORT mgl_end_frame(HMGL gr); void MGL_EXPORT mgl_end_frame_(uintptr_t *gr); /// Get the number of created frames int MGL_EXPORT mgl_get_num_frame(HMGL gr); int MGL_EXPORT mgl_get_num_frame_(uintptr_t *gr); /// Reset frames counter (start it from zero) void MGL_EXPORT mgl_reset_frames(HMGL gr); void MGL_EXPORT mgl_reset_frames_(uintptr_t *gr); /// Get drawing data for i-th frame (work if MGL_VECT_FRAME is set on) void MGL_EXPORT mgl_get_frame(HMGL gr, int i); void MGL_EXPORT mgl_get_frame_(uintptr_t *gr, int *i); /// Set drawing data for i-th frame (work if MGL_VECT_FRAME is set on) void MGL_EXPORT mgl_set_frame(HMGL gr, int i); void MGL_EXPORT mgl_set_frame_(uintptr_t *gr, int *i); /// Append drawing data from i-th frame (work if MGL_VECT_FRAME is set on) void MGL_EXPORT mgl_show_frame(HMGL gr, int i); void MGL_EXPORT mgl_show_frame_(uintptr_t *gr, int *i); /// Delete primitives for i-th frame (work if MGL_VECT_FRAME is set on) void MGL_EXPORT mgl_del_frame(HMGL gr, int i); void MGL_EXPORT mgl_del_frame_(uintptr_t *gr, int *i); /// Set the transparency type (0 - usual, 1 - glass, 2 - lamp) void MGL_EXPORT mgl_set_transp_type(HMGL gr, int type); void MGL_EXPORT mgl_set_transp_type_(uintptr_t *gr, int *type); /// Set the transparency on/off. void MGL_EXPORT mgl_set_alpha(HMGL gr, int enable); void MGL_EXPORT mgl_set_alpha_(uintptr_t *gr, int *enable); /// Set the fog distance or switch it off (if d=0). void MGL_EXPORT mgl_set_fog(HMGL gr, double d, double dz); void MGL_EXPORT mgl_set_fog_(uintptr_t *gr, mreal *dist, mreal *dz); /// Set the using of light on/off. void MGL_EXPORT mgl_set_light(HMGL gr, int enable); void MGL_EXPORT mgl_set_light_(uintptr_t *gr, int *enable); /// Switch on/off the specified light source. void MGL_EXPORT mgl_set_light_n(HMGL gr, int n, int enable); void MGL_EXPORT mgl_set_light_n_(uintptr_t *gr, int *n, int *enable); /// Add white light source at infinity. void MGL_EXPORT mgl_add_light(HMGL gr, int n, double x, double y, double z); void MGL_EXPORT mgl_add_light_(uintptr_t *gr, int *n, mreal *x, mreal *y, mreal *z); /// Add light source at infinity (more settings). void MGL_EXPORT mgl_add_light_ext(HMGL gr, int n, double x, double y, double z, char c, double br, double ap); void MGL_EXPORT mgl_add_light_ext_(uintptr_t *gr, int *n, mreal *x, mreal *y, mreal *z, char *c, mreal *br, mreal *ap, int); /// Add local light source. void MGL_EXPORT mgl_add_light_loc(HMGL gr, int n, double x, double y, double z, double dx, double dy, double dz, char c, double br, double ap); void MGL_EXPORT mgl_add_light_loc_(uintptr_t *gr, int *n, mreal *x, mreal *y, mreal *z, mreal *dx, mreal *dy, mreal *dz, char *c, mreal *br, mreal *ap, int); /// Pop transformation matrix from stack void MGL_EXPORT mgl_mat_pop(HMGL gr); void MGL_EXPORT mgl_mat_pop_(uintptr_t *gr); /// Push transformation matrix into stack void MGL_EXPORT mgl_mat_push(HMGL gr); void MGL_EXPORT mgl_mat_push_(uintptr_t *gr); /// Clear up the frame void MGL_EXPORT mgl_clf(HMGL gr); void MGL_EXPORT mgl_clf_(uintptr_t *gr); /// Clear up the frame and fill background by specified color void MGL_EXPORT mgl_clf_rgb(HMGL gr, double r, double g, double b); void MGL_EXPORT mgl_clf_rgb_(uintptr_t *gr, mreal *r, mreal *g, mreal *b); /// Put further plotting in some region of whole frame. void MGL_EXPORT mgl_subplot(HMGL gr, int nx,int ny,int m,const char *style); void MGL_EXPORT mgl_subplot_(uintptr_t *gr, int *nx,int *ny,int *m, const char *s,int); /// Put further plotting in some region of whole frame and shift it by distance {dx,dy}. void MGL_EXPORT mgl_subplot_d(HMGL gr, int nx,int ny,int m,const char *style, double dx, double dy); void MGL_EXPORT mgl_subplot_d_(uintptr_t *gr, int *nx,int *ny,int *m, mreal *dx, mreal *dy); /// Like MGL_EXPORT mgl_subplot() but "join" several cells void MGL_EXPORT mgl_multiplot(HMGL gr, int nx,int ny,int m,int dx,int dy,const char *style); void MGL_EXPORT mgl_multiplot_(uintptr_t *gr, int *nx,int *ny,int *m,int *dx,int *dy, const char *s,int); /// Put further plotting in a region of whole frame. void MGL_EXPORT mgl_inplot(HMGL gr, double x1,double x2,double y1,double y2); void MGL_EXPORT mgl_inplot_(uintptr_t *gr, mreal *x1, mreal *x2, mreal *y1, mreal *y2); /// Put further plotting in a region of current subplot/inplot. void MGL_EXPORT mgl_relplot(HMGL gr, double x1,double x2,double y1,double y2); void MGL_EXPORT mgl_relplot_(uintptr_t *gr, mreal *x1, mreal *x2, mreal *y1, mreal *y2); /// Put further plotting in column cell of previous subplot/inplot. void MGL_EXPORT mgl_columnplot(HMGL gr, int num, int ind, double d); void MGL_EXPORT mgl_columnplot_(uintptr_t *gr, int *num, int *i, mreal *d); /// Put further plotting in matrix cell of previous subplot/inplot. void MGL_EXPORT mgl_gridplot(HMGL gr, int nx, int ny, int m, double d); void MGL_EXPORT mgl_gridplot_(uintptr_t *gr, int *nx, int *ny, int *i, mreal *d); /// Put further plotting in cell of stick rotated on angles tet, phi. void MGL_EXPORT mgl_stickplot(HMGL gr, int num, int ind, double tet, double phi); void MGL_EXPORT mgl_stickplot_(uintptr_t *gr, int *num, int *i, mreal *tet, mreal *phi); /// Add title for current subplot/inplot. void MGL_EXPORT mgl_title(HMGL gr, const char *title, const char *stl, double size); void MGL_EXPORT mgl_title_(uintptr_t *gr, const char *title, const char *stl, mreal *size, int,int); void MGL_EXPORT mgl_titlew(HMGL gr, const wchar_t *title, const char *stl, double size); /// Set factor of plot size void MGL_EXPORT mgl_set_plotfactor(HMGL gr, double val); void MGL_EXPORT mgl_set_plotfactor_(uintptr_t *gr, mreal *val); /// Set aspect ratio for further plotting. void MGL_EXPORT mgl_aspect(HMGL gr, double Ax,double Ay,double Az); void MGL_EXPORT mgl_aspect_(uintptr_t *gr, mreal *Ax, mreal *Ay, mreal *Az); /// Rotate a further plotting. void MGL_EXPORT mgl_rotate(HMGL gr, double TetX,double TetZ,double TetY); void MGL_EXPORT mgl_rotate_(uintptr_t *gr, mreal *TetX, mreal *TetZ, mreal *TetY); /// Rotate a further plotting around vector {x,y,z}. void MGL_EXPORT mgl_rotate_vector(HMGL gr, double Tet,double x,double y,double z); void MGL_EXPORT mgl_rotate_vector_(uintptr_t *gr, mreal *Tet, mreal *x, mreal *y, mreal *z); /// Set perspective (in range [0,1)) for plot. Set to zero for switching off. void MGL_EXPORT mgl_perspective(HMGL gr, double val); void MGL_EXPORT mgl_perspective_(uintptr_t *gr, double val); /// Set angle of view independently from Rotate(). void MGL_EXPORT mgl_view(HMGL gr, double TetX,double TetZ,double TetY); void MGL_EXPORT mgl_view_(uintptr_t *gr, mreal *TetX, mreal *TetZ, mreal *TetY); /// Zoom in/out a part of picture (use mgl_zoom(0, 0, 1, 1) for restore default) void MGL_EXPORT mgl_zoom(HMGL gr, double x1, double y1, double x2, double y2); void MGL_EXPORT mgl_zoom_(uintptr_t *gr, mreal *x1, mreal *y1, mreal *x2, mreal *y2); //----------------------------------------------------------------------------- void MGL_EXPORT mgl_draw_thr(void *); /// Callback function for mouse click void MGL_EXPORT mgl_set_click_func(HMGL gr, void (*func)(void *p)); /// Set delay for animation in seconds void MGL_EXPORT mgl_wnd_set_delay(HMGL gr, double dt); void MGL_EXPORT mgl_wnd_set_delay_(uintptr_t *gr, mreal *dt); /// Get delay for animation in seconds double MGL_EXPORT mgl_wnd_get_delay(HMGL gr); double MGL_EXPORT mgl_wnd_get_delay_(uintptr_t *gr); /// Set window properties void MGL_EXPORT mgl_setup_window(HMGL gr, int clf_upd, int showpos); void MGL_EXPORT mgl_setup_window_(uintptr_t *gr, int *clf_upd, int *showpos); /// Switch on/off transparency (do not overwrite user settings) void MGL_EXPORT mgl_wnd_toggle_alpha(HMGL gr); void MGL_EXPORT mgl_wnd_toggle_alpha_(uintptr_t *gr); /// Switch on/off lighting (do not overwrite user settings) void MGL_EXPORT mgl_wnd_toggle_light(HMGL gr); void MGL_EXPORT mgl_wnd_toggle_light_(uintptr_t *gr); /// Switch on/off zooming by mouse void MGL_EXPORT mgl_wnd_toggle_zoom(HMGL gr); void MGL_EXPORT mgl_wnd_toggle_zoom_(uintptr_t *gr); /// Switch on/off rotation by mouse void MGL_EXPORT mgl_wnd_toggle_rotate(HMGL gr); void MGL_EXPORT mgl_wnd_toggle_rotate_(uintptr_t *gr); /// Switch off all zooming and rotation void MGL_EXPORT mgl_wnd_toggle_no(HMGL gr); void MGL_EXPORT mgl_wnd_toggle_no_(uintptr_t *gr); /// Update picture by calling user drawing function void MGL_EXPORT mgl_wnd_update(HMGL gr); void MGL_EXPORT mgl_wnd_update_(uintptr_t *gr); /// Reload user data and update picture void MGL_EXPORT mgl_wnd_reload(HMGL gr); void MGL_EXPORT mgl_wnd_reload_(uintptr_t *gr); /// Adjust size of bitmap to window size void MGL_EXPORT mgl_wnd_adjust(HMGL gr); void MGL_EXPORT mgl_wnd_adjust_(uintptr_t *gr); /// Show next frame (if one) void MGL_EXPORT mgl_wnd_next_frame(HMGL gr); void MGL_EXPORT mgl_wnd_next_frame_(uintptr_t *gr); /// Show previous frame (if one) void MGL_EXPORT mgl_wnd_prev_frame(HMGL gr); void MGL_EXPORT mgl_wnd_prev_frame_(uintptr_t *gr); /// Run slideshow (animation) of frames void MGL_EXPORT mgl_wnd_animation(HMGL gr); void MGL_EXPORT mgl_wnd_animation_(uintptr_t *gr); /// Get last mouse position void MGL_EXPORT mgl_get_last_mouse_pos(HMGL gr, mreal *x, mreal *y, mreal *z); void MGL_EXPORT mgl_get_last_mouse_pos_(uintptr_t *gr, mreal *x, mreal *y, mreal *z); //----------------------------------------------------------------------------- /// Create HMPR object for parsing MGL scripts HMPR MGL_EXPORT mgl_create_parser(); uintptr_t MGL_EXPORT mgl_create_parser_(); /// Change counter of HMPR uses (for advanced users only). Non-zero counter prevent automatic object removing. long MGL_EXPORT mgl_use_parser(HMPR p, int inc); long MGL_EXPORT mgl_use_parser_(uintptr_t* , int *inc); /// Delete HMPR object void MGL_EXPORT mgl_delete_parser(HMPR p); void MGL_EXPORT mgl_delete_parser_(uintptr_t* p); /// Set value for parameter $N void MGL_EXPORT mgl_parser_add_param(HMPR p, int id, const char *str); void MGL_EXPORT mgl_parser_add_param_(uintptr_t* p, int *id, const char *str, int); void MGL_EXPORT mgl_parser_add_paramw(HMPR p, int id, const wchar_t *str); /// Find variable with given name or add a new one /// NOTE !!! You must not delete obtained data arrays !!! HMDT MGL_EXPORT mgl_parser_add_var(HMPR p, const char *name); uintptr_t MGL_EXPORT mgl_parser_add_var_(uintptr_t* p, const char *name, int); HMDT MGL_EXPORT mgl_parser_add_varw(HMPR p, const wchar_t *name); /// Find variable with given name or return NULL if no one /// NOTE !!! You must not delete obtained data arrays !!! HMDT MGL_EXPORT mgl_parser_find_var(HMPR p, const char *name); uintptr_t MGL_EXPORT mgl_parser_find_var_(uintptr_t* p, const char *name, int); HMDT MGL_EXPORT mgl_parser_find_varw(HMPR p, const wchar_t *name); /// Delete variable with name void MGL_EXPORT mgl_parser_del_var(HMPR p, const char *name); void MGL_EXPORT mgl_parser_del_var_(uintptr_t* p, const char *name, int); void MGL_EXPORT mgl_parser_del_varw(HMPR p, const wchar_t *name); /// Delete all data variables void MGL_EXPORT mgl_parser_del_all(HMPR p); void MGL_EXPORT mgl_parser_del_all_(uintptr_t *p); /// Parse and draw single line of the MGL script int MGL_EXPORT mgl_parse_line(HMGL gr, HMPR p, const char *str, int pos); int MGL_EXPORT mgl_parse_line_(uintptr_t* gr, uintptr_t* p, const char *str, int *pos, int); int MGL_EXPORT mgl_parse_linew(HMGL gr, HMPR p, const wchar_t *str, int pos); /// Execute and draw script from the file void MGL_EXPORT mgl_parse_file(HMGL gr, HMPR p, FILE *fp, int print); /// Execute MGL script text with '\n' separated lines void MGL_EXPORT mgl_parse_text(HMGL gr, HMPR p, const char *str); void MGL_EXPORT mgl_parse_text_(uintptr_t* gr, uintptr_t* p, const char *str, int); void MGL_EXPORT mgl_parse_textw(HMGL gr, HMPR p, const wchar_t *str); /// Restore once flag void MGL_EXPORT mgl_parser_restore_once(HMPR p); void MGL_EXPORT mgl_parser_restore_once_(uintptr_t* p); /// Allow changing size of the picture void MGL_EXPORT mgl_parser_allow_setsize(HMPR p, int a); void MGL_EXPORT mgl_parser_allow_setsize_(uintptr_t* p, int *a); /// Allow reading/saving files void MGL_EXPORT mgl_parser_allow_file_io(HMPR p, int a); void MGL_EXPORT mgl_parser_allow_file_io_(uintptr_t* p, int *a); /// Set flag to stop script parsing void MGL_EXPORT mgl_parser_stop(HMPR p); void MGL_EXPORT mgl_parser_stop_(uintptr_t* p); /// Return type of command: 0 - not found, 1 - data plot, 2 - other plot, /// 3 - setup, 4 - data handle, 5 - data create, 6 - subplot, 7 - program /// 8 - 1d plot, 9 - 2d plot, 10 - 3d plot, 11 - dd plot, 12 - vector plot /// 13 - axis, 14 - primitives, 15 - axis setup, 16 - text/legend, 17 - data transform int MGL_EXPORT mgl_parser_cmd_type(HMPR pr, const char *name); int MGL_EXPORT mgl_parser_cmd_type_(uintptr_t* p, const char *name, int); /// Return description of MGL command MGL_EXPORT const char *mgl_parser_cmd_desc(HMPR pr, const char *name); /// Return string of command format (command name and its argument[s]) MGL_EXPORT const char *mgl_parser_cmd_frmt(HMPR pr, const char *name); /// Get name of command with nmber n MGL_EXPORT const char *mgl_parser_cmd_name(HMPR pr, long id); /// Get number of defined commands long MGL_EXPORT mgl_parser_cmd_num(HMPR pr); /// Return result of formula evaluation HMDT MGL_EXPORT mgl_parser_calc(HMPR pr, const char *formula); uintptr_t MGL_EXPORT mgl_parser_calc_(uintptr_t *pr, const char *formula,int); HMDT MGL_EXPORT mgl_parser_calcw(HMPR pr, const wchar_t *formula); //----------------------------------------------------------------------------- /// Create HMEX object for expression evaluating HMEX MGL_EXPORT mgl_create_expr(const char *expr); uintptr_t MGL_EXPORT mgl_create_expr_(const char *expr, int); HAEX MGL_EXPORT mgl_create_cexpr(const char *expr); /// Delete HMEX object void MGL_EXPORT mgl_delete_expr(HMEX ex); void MGL_EXPORT mgl_delete_expr_(uintptr_t *ex); void MGL_EXPORT mgl_delete_cexpr(HAEX ex); /// Return value of expression for given x,y,z variables double MGL_EXPORT mgl_expr_eval(HMEX ex, double x, double y,double z); double MGL_EXPORT mgl_eval_expr_(uintptr_t *ex, mreal *x, mreal *y, mreal *z); dual MGL_EXPORT mgl_cexpr_eval(HAEX ex, dual x, dual y,dual z); /// Return value of expression for given variables double MGL_EXPORT mgl_expr_eval_v(HMEX ex, mreal *var); dual MGL_EXPORT mgl_cexpr_eval_v(HAEX ex, dual *var); /// Return value of expression differentiation over variable dir for given x,y,z variables double MGL_EXPORT mgl_expr_diff(HMEX ex, char dir, double x, double y,double z); double MGL_EXPORT mgl_diff_expr_(uintptr_t *ex, const char *dir, mreal *x, mreal *y, mreal *z, int); /// Return value of expression differentiation over variable dir for given variables double MGL_EXPORT mgl_expr_diff_v(HMEX ex, char dir, mreal *var); #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/canvas_wnd.h0000664000175000017500000001032312142400464017472 0ustar balakinbalakin/*************************************************************************** * window.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_CANVAS_WND_H_ #define _MGL_CANVAS_WND_H_ #include "mgl2/canvas.h" #include "mgl2/wnd.h" //----------------------------------------------------------------------------- /// Base class for windows containing MathGL graphics class MGL_EXPORT mglCanvasWnd : public mglCanvas { public: mglPoint LastMousePos; ///< Last mouse position void (*ClickFunc)(void *par); ///< Callback function on click mglCanvasWnd(); virtual ~mglCanvasWnd(); void SetSize(int w,int h); void EndFrame(); void SetFrame(long i); void DelFrame(long i); const unsigned char *GetBits(); inline int GetNumFig() const { return NumFig; } inline int GetCurFig() const { return CurFig; } void SetCurFig(int c); void ResetFrames(); inline mglPoint GetMousePos() const { return LastMousePos;} inline void SetMousePos(mglPoint p) { LastMousePos=p; } inline void Setup(bool clf_upd=true, bool showpos=false) { set(showpos,MGL_SHOW_POS); set(clf_upd,MGL_CLF_ON_UPD); } virtual void ToggleAlpha()=0; ///< Switch on/off transparency (do not overwrite user settings) virtual void ToggleLight()=0; ///< Switch on/off lighting (do not overwrite user settings) virtual void ToggleZoom()=0; ///< Switch on/off zooming by mouse virtual void ToggleRotate()=0; ///< Switch on/off rotation by mouse virtual void ToggleNo()=0; ///< Switch off all zooming and rotation virtual void Update()=0; ///< Update picture by calling user drawing function virtual void Adjust()=0; ///< Adjust size of bitmap to window size virtual void GotoFrame(int d)=0;///< Show arbitrary frame (use relative step) virtual void NextFrame() {GotoFrame(+1);} ///< Show next frame (if one) virtual void PrevFrame() {GotoFrame(-1);} ///< Show previous frame (if one) virtual void Animation()=0; ///< Run slideshow (animation) of frames void ReLoad(); ///< Reload user data and update picture /// Create a window for plotting based on callback function (can be NULL). virtual void Window(int argc, char **argv, int (*draw)(mglBase *gr, void *p), const char *title, void *par=NULL, void (*reload)(void *p)=NULL, bool maximize=false)=0; void SetDrawFunc(int (*draw)(mglBase *gr, void *p), void *par=NULL, void (*reload)(void *p)=NULL); private: int CurFig; ///< Current figure in the list. unsigned char *GG; ///< images for all frames (may be too LARGE !!!) int NumFig; ///< Number of figures in the list. If 0 then no list and mglCanvas::DrawFunc will called for each drawing. void (*LoadFunc)(void *par); void *FuncPar; ///< Parameters for drawing function mglCanvas::DrawFunc. /// Drawing function for window procedure. It should return the number of frames. int (*DrawFunc)(mglBase *gr, void *par); }; //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/qt.h0000664000175000017500000000616612142400464016005 0ustar balakinbalakin/*************************************************************************** * window.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_QT_H_ #define _MGL_QT_H_ #include //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Creates Qt window for plotting HMGL MGL_EXPORT mgl_create_graph_qt(int (*draw)(HMGL gr, void *p), const char *title, void *par, void (*load)(void *p)); uintptr_t MGL_EXPORT mgl_create_graph_qt_(const char *title, int); /// Run main Qt loop for event handling. int MGL_EXPORT mgl_qt_run(); int MGL_EXPORT mgl_qt_run_(); #ifdef __cplusplus } //----------------------------------------------------------------------------- #include //----------------------------------------------------------------------------- /// Wrapper class for windows displaying graphics class mglQT : public mglWnd { public: mglQT(const char *title="MathGL") : mglWnd() { gr = mgl_create_graph_qt(0,title,0,0); } mglQT(int (*draw)(HMGL gr, void *p), const char *title="MathGL", void *par=NULL, void (*load)(void *p)=0) : mglWnd() { gr = mgl_create_graph_qt(draw,title,par,load); } mglQT(int (*draw)(mglGraph *gr), const char *title="MathGL") : mglWnd() { gr = mgl_create_graph_qt(draw?mgl_draw_graph:0,title,(void*)draw,0); } mglQT(mglDraw *draw, const char *title="MathGL") : mglWnd() { gr = mgl_create_graph_qt(draw?mgl_draw_class:0,title,draw,mgl_reload_class); mgl_set_click_func(gr, mgl_click_class); } int Run() { return mgl_qt_run(); } ///< Run main loop for event handling }; //----------------------------------------------------------------------------- void MGL_EXPORT mgl_ask_qt(const wchar_t *quest, wchar_t *res); //----------------------------------------------------------------------------- #endif #endif mathgl-2.1.3.1/include/mgl2/mpi.h0000664000175000017500000000513012142400464016134 0ustar balakinbalakin/*************************************************************************** * mgl.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * 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 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_MPI_H_ #define _MGL_MPI_H_ #include "mgl2/mgl_cf.h" #ifdef __cplusplus extern "C" { #endif /// Send graphical information to node id using MPI void MGL_EXPORT mgl_mpi_send(HMGL gr, int id); void MGL_EXPORT mgl_mpi_send_(uintptr_t *gr, int *id); /// Receive graphical information from node id using MPI void MGL_EXPORT mgl_mpi_recv(HMGL gr, int id); void MGL_EXPORT mgl_mpi_recv_(uintptr_t *gr, int *id); #ifdef __cplusplus } #include "mgl2/mgl.h" //----------------------------------------------------------------------------- /// Wrapper class for all graphics class mglGraphMPI:public mglGraph { inline mglGraphMPI(int kind=0, int width=600, int height=400):mglGraph(kind,width,height){} inline mglGraphMPI(const mglGraph &graph):mglGraph(graph){} inline mglGraphMPI(HMGL graph):mglGraph(graph){} virtual ~mglGraphMPI(){} /// Send graphical information to node id using MPI inline void MPI_Send(int id) { mgl_mpi_send(gr,id); } /// Receive graphical information from node id using MPI inline void MPI_Recv(int id) { mgl_mpi_recv(gr,id); } }; #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/wnd.h0000664000175000017500000001114512142400464016142 0ustar balakinbalakin/*************************************************************************** * wnd.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_WND_H_ #define _MGL_WND_H_ #include "mgl2/mgl.h" //----------------------------------------------------------------------------- /// Class for drawing in windows (like, mglCanvasFL, mglCanvasQT and so on) /// Make inherited class and redefine Draw() function if you don't want to use function pointers. struct mglDraw { virtual int Draw(mglGraph *)=0; ///< Function for drawing virtual void Reload() {} ///< Function for reloading data virtual void Click() {} ///< Callback function on mouse click virtual ~mglDraw() {} #if MGL_HAVE_PTHREAD pthread_t thr; bool running; mglDraw() { running=false; } virtual void Calc() {} ///< Function for calculations inline void Run() ///< Run calculations in other thread { mgl_draw_thr(this); } #else mglDraw(){} #endif }; //----------------------------------------------------------------------------- extern "C" { int MGL_EXPORT mgl_draw_graph(HMGL gr, void *p); // NOTE: MGL_EXPORT mgl_draw_class() and MGL_EXPORT mgl_draw_load() use mglWindow* only. Don't use it with inherited classes int MGL_EXPORT mgl_draw_class(HMGL gr, void *p); void MGL_EXPORT mgl_click_class(void *p); void MGL_EXPORT mgl_reload_class(void *p); } //----------------------------------------------------------------------------- /// Abstract class for windows displaying graphics class mglWnd : public mglGraph { public: mglWnd() : mglGraph(-1) {} virtual int Run()=0; ///< Run main loop for event handling inline void ToggleAlpha() ///< Switch on/off transparency (do not overwrite user settings) { mgl_wnd_toggle_alpha(gr); } inline void ToggleLight() ///< Switch on/off lighting (do not overwrite user settings) { mgl_wnd_toggle_light(gr); } inline void ToggleZoom() ///< Switch on/off zooming by mouse { mgl_wnd_toggle_zoom(gr); } inline void ToggleRotate() ///< Switch on/off rotation by mouse { mgl_wnd_toggle_rotate(gr); } inline void ToggleNo() ///< Switch off all zooming and rotation { mgl_wnd_toggle_no(gr); } inline void Update() ///< Update picture by calling user drawing function { mgl_wnd_update(gr); } inline void ReLoad() ///< Reload user data and update picture { mgl_wnd_reload(gr); } inline void Adjust() ///< Adjust size of bitmap to window size { mgl_wnd_adjust(gr); } inline void NextFrame() ///< Show next frame (if one) { mgl_wnd_next_frame(gr); } inline void PrevFrame() ///< Show previous frame (if one) { mgl_wnd_prev_frame(gr); } inline void Animation() ///< Run slideshow (animation) of frames { mgl_wnd_animation(gr); } void SetClickFunc(void (*func)(void *p)) ///< Callback function for mouse click { mgl_set_click_func(gr,func); } inline void SetDelay(double dt) ///< Set delay for animation in seconds { mgl_wnd_set_delay(gr, dt); } inline double GetDelay() ///< Get delay for animation in seconds { return mgl_wnd_get_delay(gr); } inline void Setup(bool clf_upd=true, bool showpos=false) { mgl_setup_window(gr, clf_upd, showpos); } inline mglPoint LastMousePos() ///< Last mouse position { mreal x,y,z; mgl_get_last_mouse_pos(gr,&x,&y,&z); return mglPoint(x,y,z); } }; //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/evalc.h0000664000175000017500000000524012142400464016443 0ustar balakinbalakin/*************************************************************************** * evalc.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_EVALC_H_ #define _MGL_EVALC_H_ //----------------------------------------------------------------------------- #include "mgl2/eval.h" //----------------------------------------------------------------------------- /// Class for evaluating formula specified by the string class mglFormulaC // ������ ��� ����� � ���������� ������ { public: /// Evaluates the formula for 'x','r'=\a x, 'y','n'=\a y, 'z','t'=\a z, 'u'=\a u dual Calc(dual x,dual y=0,dual z=0,dual u=0) const; /// Evaluates the formula for 'x, y, z, u, v, w' dual Calc(dual x,dual y,dual z,dual u,dual v,dual w) const; /// Evaluates the formula for variables var dual Calc(const dual var[MGL_VS]) const; /// Return error code int GetError() const; /// Parse the formula str and create formula-tree mglFormulaC(const char *str); /// Clean up formula-tree virtual ~mglFormulaC(); protected: dual CalcIn(const dual *a1) const; mglFormulaC *Left,*Right; // first and second argument of the function int Kod; // the function ID dual Res; // the number or the variable ID static int Error; }; //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/wx.h0000664000175000017500000001771012142400464016014 0ustar balakinbalakin/*************************************************************************** * wx.h.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef MGL_WX_H #define MGL_WX_H //----------------------------------------------------------------------------- #include //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Creates WX window for plotting HMGL MGL_EXPORT mgl_create_graph_wx(int (*draw)(HMGL gr, void *p), const char *title, void *par, void (*load)(void *p)); uintptr_t MGL_EXPORT mgl_create_graph_wx_(const char *title, int); /// Run main WX loop for event handling. int MGL_EXPORT mgl_wx_run(); int MGL_EXPORT mgl_wx_run_(); #ifdef __cplusplus } //----------------------------------------------------------------------------- #include //----------------------------------------------------------------------------- /// Wrapper class for windows displaying graphics class mglWX : public mglWnd { public: mglWX(const char *title="MathGL") : mglWnd() { gr = mgl_create_graph_wx(0,title,0,0); } mglWX(int (*draw)(HMGL gr, void *p), const char *title="MathGL", void *par=NULL, void (*load)(void *p)=0) : mglWnd() { gr = mgl_create_graph_wx(draw,title,par,load); } mglWX(int (*draw)(mglGraph *gr), const char *title="MathGL") : mglWnd() { gr = mgl_create_graph_wx(draw?mgl_draw_graph:0,title,(void*)draw,0); } mglWX(mglDraw *draw, const char *title="MathGL") : mglWnd() { gr = mgl_create_graph_wx(draw?mgl_draw_class:0,title,draw,mgl_reload_class); mgl_set_click_func(gr, mgl_click_class); } int Run() { return mgl_wx_run(); } ///< Run main loop for event handling }; //----------------------------------------------------------------------------- #include #include #include #include class mglCanvas; //----------------------------------------------------------------------------- /// Class is Wx widget which display MathGL graphics class wxMathGL : public wxWindow { public: wxString appName; ///< Application name for message boxes bool AutoResize; ///< Allow auto resizing (default is false) wxMathGL(wxWindow *parent, wxWindowID id=-1, const wxPoint& pos=wxDefaultPosition, const wxSize& size=wxDefaultSize, long style=0, const wxString& name=wxPanelNameStr); virtual ~wxMathGL(); double GetRatio(); void SetPopup(wxMenu *p) { popup = p; }; ///< Set popup menu pointer void SetSize(int w, int h); ///< Set window/picture sizes void SetGraph(HMGL gr); ///< Set grapher object inline void SetGraph(mglGraph *GR) { SetGraph(GR->Self()); } inline HMGL GetGraph() { return (HMGL)gr; } /// Set drawing functions and its parameter inline void SetDraw(int (*func)(mglBase *gr, void *par), void *par=0) { draw_func = func; draw_par = par; } inline void SetDraw(mglDraw *dr) { draw_cl = dr; } inline void SetDraw(int (*draw)(mglGraph *gr)) { SetDraw(draw?mgl_draw_graph:0,(void*)draw); } inline void ZoomRegion(mreal xx1,mreal xx2,mreal yy1, mreal yy2) { x1=xx1; y1=yy1; x2=xx2; y2=yy2; } int GetPer() {return per;}; ///< Get perspective value int GetPhi() {return phi;}; ///< Get Phi-angle value int GetTet() {return tet;}; ///< Get Theta-angle value bool GetAlpha() {return alpha;}; ///< Get transparency state bool GetLight() {return light;}; ///< Get lightning state bool GetZoom() {return zoom;}; ///< Get mouse zooming state bool GetRotate() {return rotate;}; ///< Get mouse rotation state void Repaint(); void Update(); ///< Update picture void Copy(); ///< copy graphics to clipboard void Print(); ///< Print plot // void Stop(); ///< Stop execution void SetPer(int p); ///< Set perspective value void SetPhi(int p); ///< Set Phi-angle value void SetTet(int t); ///< Set Theta-angle value void SetAlpha(bool a); ///< Switch on/off transparency void SetLight(bool l); ///< Switch on/off lightning void SetZoom(bool z); ///< Switch on/off mouse zooming void SetRotate(bool r); ///< Switch on/off mouse rotation void ZoomIn(); ///< Zoom in graphics void ZoomOut(); ///< Zoom out graphics void Restore(); ///< Restore zoom and rotation to default values // void Reload(); ///< Reload data and execute script void ShiftLeft(); ///< Shift graphics to left direction void ShiftRight(); ///< Shift graphics to right direction void ShiftUp(); ///< Shift graphics to up direction void ShiftDown(); ///< Shift graphics to down direction void ExportPNG(wxString fname=L""); ///< export to PNG file void ExportPNGs(wxString fname=L""); ///< export to PNG file (no transparency) void ExportJPG(wxString fname=L""); ///< export to JPEG file void ExportBPS(wxString fname=L""); ///< export to bitmap EPS file void ExportEPS(wxString fname=L""); ///< export to vector EPS file void ExportSVG(wxString fname=L""); ///< export to SVG file void Adjust(); ///< Adjust plot size to fill entire window void NextSlide(); ///< Show next slide void PrevSlide(); ///< Show previous slide void Animation(bool st=true); ///< Start animation void About(); ///< Show about information void AboutQt(); ///< Show information about Qt version protected: void OnPaint(wxPaintEvent& event); void OnSize(wxSizeEvent& event); void OnNextSlide(wxTimerEvent& evt); ///< Show next slide void OnMouseLeftDown(wxMouseEvent &ev); void OnMouseDown(wxMouseEvent &ev); void OnMouseLeftUp(wxMouseEvent &ev); void OnMouseRightUp(wxMouseEvent &ev); void OnMouseMove(wxMouseEvent &ev); // void MousePressEvent(QMouseEvent *); // void MouseReleaseEvent(QMouseEvent *); // void MouseMoveEvent(QMouseEvent *); mglCanvas *gr; ///< pointer to grapher void *draw_par; ///< Parameters for drawing function mglCanvasWnd::DrawFunc. /// Drawing function for window procedure. It should return the number of frames. int (*draw_func)(mglBase *gr, void *par); mglDraw *draw_cl; wxString MousePos; ///< Last mouse position wxBitmap pic; ///< Pixmap for drawing (changed by update) double tet, phi; ///< Rotation angles double per; ///< Value of perspective ( must be in [0,1) ) bool alpha; ///< Transparency state bool light; ///< Lightning state bool zoom; ///< Mouse zoom state bool rotate; ///< Mouse rotation state mreal x1,x2,y1,y2; ///< Zoom in region bool showMessage; ///< Flag for showing messages (enabled by each execute()) wxMenu *popup; ///< Pointer to pop-up menu wxTimer *timer; ///< Timer for animation DECLARE_EVENT_TABLE() private: int x0, y0, xe, ye; ///< Temporary variables for mouse unsigned char *grBuf; }; //----------------------------------------------------------------------------- #endif #endif mathgl-2.1.3.1/include/mgl2/vect.h0000664000175000017500000002400512142400464016312 0ustar balakinbalakin/*************************************************************************** * vect.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_VECT_H_ #define _MGL_VECT_H_ #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif //----------------------------------------------------------------------------- /// Plot vectors at position {x,y} along {ax,ay} with length/color proportional to |a| void MGL_EXPORT mgl_traj_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt); void MGL_EXPORT mgl_traj_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int,int); /// Plot vectors at position {x,y,z} along {ax,ay,az} with length/color proportional to |a| void MGL_EXPORT mgl_traj_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt); void MGL_EXPORT mgl_traj_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int,int); /// Plot vector field {ax,ay} parametrically depended on coordinate {x,y} with length/color proportional to |a| void MGL_EXPORT mgl_vect_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt); void MGL_EXPORT mgl_vect_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int,int); /// Plot vector field {ax,ay} with length/color proportional to |a| void MGL_EXPORT mgl_vect_2d(HMGL gr, HCDT ax, HCDT ay, const char *sch, const char *opt); void MGL_EXPORT mgl_vect_2d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int,int); /// Plot vector field {ax,ay,az} parametrically depended on coordinate {x,y,z} with length/color proportional to |a| void MGL_EXPORT mgl_vect_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt); void MGL_EXPORT mgl_vect_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int,int); /// Plot vector field {ax,ay,az} with length/color proportional to |a| void MGL_EXPORT mgl_vect_3d(HMGL gr, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt); void MGL_EXPORT mgl_vect_3d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int,int); /// Plot flows for vector field {ax,ay} parametrically depended on coordinate {x,y} with color proportional to |a| void MGL_EXPORT mgl_flow_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt); void MGL_EXPORT mgl_flow_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int,int); /// Plot flows for vector field {ax,ay} with color proportional to |a| void MGL_EXPORT mgl_flow_2d(HMGL gr, HCDT ax, HCDT ay, const char *sch, const char *opt); void MGL_EXPORT mgl_flow_2d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int,int); /// Plot flows for vector field {ax,ay,az} parametrically depended on coordinate {x,y,z} with color proportional to |a| void MGL_EXPORT mgl_flow_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt); void MGL_EXPORT mgl_flow_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int,int); /// Plot flows for vector field {ax,ay,az} with color proportional to |a| void MGL_EXPORT mgl_flow_3d(HMGL gr, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt); void MGL_EXPORT mgl_flow_3d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int,int); /// Plot flow from point p for vector field {ax,ay} parametrically depended on coordinate {x,y} with color proportional to |a| void MGL_EXPORT mgl_flowp_xy(HMGL gr, double x0, double y0, double z0, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt); void MGL_EXPORT mgl_flowp_xy_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int, int); /// Plot flow from point p for vector field {ax,ay} with color proportional to |a| void MGL_EXPORT mgl_flowp_2d(HMGL gr, double x0, double y0, double z0, HCDT ax, HCDT ay, const char *sch, const char *opt); void MGL_EXPORT mgl_flowp_2d_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int, int); /// Plot flow from point p for vector field {ax,ay,az} parametrically depended on coordinate {x,y,z} with color proportional to |a| void MGL_EXPORT mgl_flowp_xyz(HMGL gr, double x0, double y0, double z0, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt); void MGL_EXPORT mgl_flowp_xyz_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int, int); /// Plot flow from point p for vector field {ax,ay,az} with color proportional to |a| void MGL_EXPORT mgl_flowp_3d(HMGL gr, double x0, double y0, double z0, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt); void MGL_EXPORT mgl_flowp_3d_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int,int); /// Plot flow pipes for vector field {ax,ay} parametrically depended on coordinate {x,y} with color and radius proportional to |a| void MGL_EXPORT mgl_pipe_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, double r0, const char *opt); void MGL_EXPORT mgl_pipe_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, mreal *r0, const char *opt,int,int); /// Plot flow pipes for vector field {ax,ay} with color and radius proportional to |a| void MGL_EXPORT mgl_pipe_2d(HMGL gr, HCDT ax, HCDT ay, const char *sch, double r0, const char *opt); void MGL_EXPORT mgl_pipe_2d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, const char *sch, mreal *r0, const char *opt,int,int); /// Plot flow pipes for vector field {ax,ay,az} parametrically depended on coordinate {x,y,z} with color and radius proportional to |a| void MGL_EXPORT mgl_pipe_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, double r0, const char *opt); void MGL_EXPORT mgl_pipe_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, mreal *r0, const char *opt,int,int); /// Plot flow pipes for vector field {ax,ay,az} with color and radius proportional to |a| void MGL_EXPORT mgl_pipe_3d(HMGL gr, HCDT ax, HCDT ay, HCDT az, const char *sch, double r0, const char *opt); void MGL_EXPORT mgl_pipe_3d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, mreal *r0, const char *opt,int,int); /// Plot flows for gradient of scalar field phi parametrically depended on coordinate {x,y,z} void MGL_EXPORT mgl_grad_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ph, const char *sch, const char *opt); void MGL_EXPORT mgl_grad_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ph, const char *sch, const char *opt,int, int); /// Plot flows for gradient of scalar field phi parametrically depended on coordinate {x,y} void MGL_EXPORT mgl_grad_xy(HMGL gr, HCDT x, HCDT y, HCDT ph, const char *sch, const char *opt); void MGL_EXPORT mgl_grad_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ph, const char *sch, const char *opt,int,int); /// Plot flows for gradient of scalar field phi void MGL_EXPORT mgl_grad(HMGL gr, HCDT ph, const char *sch, const char *opt); void MGL_EXPORT mgl_grad_(uintptr_t *gr, uintptr_t *ph, const char *sch, const char *opt,int,int); /// Draw vector plot at slice for 3d data specified parametrically void MGL_EXPORT mgl_vect3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_vect3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw vector plot at slice for 3d data void MGL_EXPORT mgl_vect3(HMGL gr, HCDT ax, HCDT ay, HCDT az, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_vect3_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, mreal *sVal, const char *opt,int,int); //----------------------------------------------------------------------------- #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/cont.h0000664000175000017500000003151112142400464016314 0ustar balakinbalakin/*************************************************************************** * cont.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_CONT_H_ #define _MGL_CONT_H_ #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Print text along the curve in parametric form {x,y,z} void MGL_EXPORT mgl_text_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *text, const char *font, const char *opt); void MGL_EXPORT mgl_text_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z,const char *text,const char *font, const char *opt,int,int l,int n); void MGL_EXPORT mgl_textw_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const wchar_t *text, const char *font, const char *opt); /// Print text along the curve in parametric form {x,y} void MGL_EXPORT mgl_text_xy(HMGL gr, HCDT x, HCDT y, const char *text, const char *font, const char *opt); void MGL_EXPORT mgl_text_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *text, const char *font, const char *opt,int, int l,int n); void MGL_EXPORT mgl_textw_xy(HMGL gr, HCDT x, HCDT y, const wchar_t *text, const char *font, const char *opt); /// Print text along the curve void MGL_EXPORT mgl_text_y(HMGL gr, HCDT y, const char *text, const char *font, const char *opt); void MGL_EXPORT mgl_text_y_(uintptr_t *gr, uintptr_t *y, const char *text, const char *font, const char *opt,int, int l,int n); void MGL_EXPORT mgl_textw_y(HMGL gr, HCDT y, const wchar_t *text, const char *font, const char *opt); void MGL_EXPORT mgl_cont_gen(HMGL gr, double val, HCDT a, HCDT x, HCDT y, HCDT z, const char *stl); void MGL_EXPORT mgl_contf_gen(HMGL gr, double v1, double v2, HCDT a, HCDT x, HCDT y, HCDT z, const char *stl); void MGL_EXPORT mgl_contv_gen(HMGL gr, double v1, double v2, HCDT a, HCDT x, HCDT y, HCDT z, const char *stl); void MGL_EXPORT mgl_axial_gen(HMGL gr, double v1, double v2, HCDT a, HCDT x, HCDT y, HCDT z, const char *stl); /// Draw manual contour lines for 2d data specified parametrically void MGL_EXPORT mgl_cont_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_cont_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw manual contour lines for 2d data void MGL_EXPORT mgl_cont_val(HMGL gr, HCDT v, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_cont_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw contour lines for 2d data specified parametrically void MGL_EXPORT mgl_cont_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_cont_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw contour lines for 2d data void MGL_EXPORT mgl_cont(HMGL gr, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_cont_(uintptr_t *gr, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw manual solid contours for 2d data specified parametrically void MGL_EXPORT mgl_contf_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contf_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw manual solid contours for 2d data void MGL_EXPORT mgl_contf_val(HMGL gr, HCDT v, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contf_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw solid contours for 2d data specified parametrically void MGL_EXPORT mgl_contf_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contf_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw solid contours for 2d data void MGL_EXPORT mgl_contf(HMGL gr, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contf_(uintptr_t *gr, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw manual solid contours for 2d data specified parametrically with manual colors void MGL_EXPORT mgl_contd_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contd_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw manual solid contours for 2d data with manual colors void MGL_EXPORT mgl_contd_val(HMGL gr, HCDT v, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contd_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw solid contours for 2d data specified parametrically with manual colors void MGL_EXPORT mgl_contd_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contd_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw solid contours for 2d data with manual colors void MGL_EXPORT mgl_contd(HMGL gr, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contd_(uintptr_t *gr, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw manual contour tubes for 2d data specified parametrically void MGL_EXPORT mgl_contv_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contv_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw manual contour tubes for 2d data void MGL_EXPORT mgl_contv_val(HMGL gr, HCDT v, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contv_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw contour tubes for 2d data specified parametrically void MGL_EXPORT mgl_contv_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contv_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw contour tubes for 2d data void MGL_EXPORT mgl_contv(HMGL gr, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_contv_(uintptr_t *gr, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw manual axial-symmetric isosurfaces for 2d data specified parametrically void MGL_EXPORT mgl_axial_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT a, const char *sch, const char *opt); void MGL_EXPORT mgl_axial_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int,int); /// Draw manual axial-symmetric isosurfaces for 2d data void MGL_EXPORT mgl_axial_val(HMGL gr, HCDT v, HCDT a, const char *sch, const char *opt); void MGL_EXPORT mgl_axial_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, const char *opt,int,int); /// Draw axial-symmetric isosurfaces for 2d data specified parametrically void MGL_EXPORT mgl_axial_xy(HMGL gr, HCDT x, HCDT y, HCDT a, const char *sch, const char *opt); void MGL_EXPORT mgl_axial_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int,int); /// Draw axial-symmetric isosurfaces for 2d data void MGL_EXPORT mgl_axial(HMGL gr, HCDT a, const char *sch, const char *opt); void MGL_EXPORT mgl_axial_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int,int); /// Draw surface of curve {r,z} rotatation around axis void MGL_EXPORT mgl_torus(HMGL gr, HCDT r, HCDT z, const char *col, const char *opt); void MGL_EXPORT mgl_torus_(uintptr_t *gr, uintptr_t *r, uintptr_t *z, const char *pen, const char *opt,int,int); /// Draw grid lines for density plot at slice for 3d data specified parametrically void MGL_EXPORT mgl_grid3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_grid3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw grid lines for density plot at slice for 3d data void MGL_EXPORT mgl_grid3(HMGL gr, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_grid3_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw density plot at slice for 3d data specified parametrically void MGL_EXPORT mgl_dens3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_dens3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw density plot at slice for 3d data void MGL_EXPORT mgl_dens3(HMGL gr, HCDT a, const char *stl, double sVal, const char *opt); void MGL_EXPORT mgl_dens3_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw manual contour lines at slice for 3d data specified parametrically void MGL_EXPORT mgl_cont3_xyz_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_cont3_xyz_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw manual contour lines at slice for 3d data void MGL_EXPORT mgl_cont3_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_cont3_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw contour lines at slice for 3d data specified parametrically void MGL_EXPORT mgl_cont3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_cont3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw contour lines at slice for 3d data void MGL_EXPORT mgl_cont3(HMGL gr, HCDT a, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_cont3_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw manual solid contours at slice for 3d data specified parametrically void MGL_EXPORT mgl_contf3_xyz_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_contf3_xyz_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw manual solid contours at slice for 3d data void MGL_EXPORT mgl_contf3_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_contf3_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw solid contours at slice for 3d data specified parametrically void MGL_EXPORT mgl_contf3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_contf3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); /// Draw solid contours at slice for 3d data void MGL_EXPORT mgl_contf3(HMGL gr, HCDT a, const char *sch, double sVal, const char *opt); void MGL_EXPORT mgl_contf3_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int,int); //----------------------------------------------------------------------------- #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/window.h0000664000175000017500000000643212142400464016664 0ustar balakinbalakin/*************************************************************************** * window.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_WINDOW_H_ #define _MGL_WINDOW_H_ #include "mgl2/qt.h" #include "mgl2/fltk.h" #include "mgl2/wx.h" //----------------------------------------------------------------------------- /// Wrapper class for all windows displaying graphics class mglWindow : public mglWnd { int wnd; ///< Type of window public: mglWindow(const char *title="MathGL") : mglWnd() { wnd=1; gr = mgl_create_graph_fltk(0,title,0,0); } mglWindow(int (*draw)(HMGL gr, void *p), const char *title="MathGL", void *par=NULL, int kind=0, void (*load)(void *p)=0) : mglWnd() { wnd=kind; if(wnd==1) gr = mgl_create_graph_qt(draw,title,par,load); else if(wnd==2) gr = mgl_create_graph_wx(draw,title,par,load); else gr = mgl_create_graph_fltk(draw,title,par,load); } mglWindow(int (*draw)(mglGraph *gr), const char *title="MathGL", int kind=0) : mglWnd() { wnd=kind; if(wnd==1) gr = mgl_create_graph_qt(draw?mgl_draw_graph:0,title,(void*)draw,0); else if(wnd==2) gr = mgl_create_graph_wx(draw?mgl_draw_graph:0,title,(void*)draw,0); else gr = mgl_create_graph_fltk(draw?mgl_draw_graph:0,title,(void*)draw,0); } mglWindow(mglDraw *draw, const char *title="MathGL", int kind=0) : mglWnd() { wnd=kind; if(wnd==1) gr = mgl_create_graph_qt(draw?mgl_draw_class:0,title,draw,mgl_reload_class); else if(wnd==2) gr = mgl_create_graph_wx(draw?mgl_draw_class:0,title,draw,mgl_reload_class); else gr = mgl_create_graph_fltk(draw?mgl_draw_class:0,title,draw,mgl_reload_class); mgl_set_click_func(gr, mgl_click_class); } /// Run main loop for event handling int Run() { return wnd==0? mgl_fltk_run():(wnd==1?mgl_qt_run():mgl_wx_run()); } /// Run main loop for event handling in separate thread (for FLTK only) inline int RunThr() { return wnd==0 ? mgl_fltk_thr():0; } }; //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/prim.h0000664000175000017500000003073712142400464016331 0ustar balakinbalakin/*************************************************************************** * prim.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_PRIM_H_ #define _MGL_PRIM_H_ #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Draws the mark at position {x,y,z} void MGL_EXPORT mgl_mark(HMGL gr, double x,double y,double z,const char *mark); void MGL_EXPORT mgl_mark_(uintptr_t *gr, mreal *x, mreal *y, mreal *z,const char *mark,int); /// Draws red point (ball) at position {x,y,z} void MGL_EXPORT mgl_ball(HMGL gr, double x,double y,double z); void MGL_EXPORT mgl_ball_(uintptr_t *gr, mreal *x, mreal *y, mreal *z); /// Draws the line between 2 points by specified pen void MGL_EXPORT mgl_line(HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, const char *pen,int n); void MGL_EXPORT mgl_line_(uintptr_t *gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, const char *pen,int *n,int); /// Draws the spline curve between 2 points by specified pen void MGL_EXPORT mgl_curve(HMGL gr, double x1, double y1, double z1, double dx1, double dy1, double dz1, double x2, double y2, double z2, double dx2, double dy2, double dz2, const char *pen,int n); void MGL_EXPORT mgl_curve_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *dx1, mreal *dy1, mreal *dz1, mreal *x2, mreal *y2, mreal *z2, mreal *dx2, mreal *dy2, mreal *dz2, const char *pen,int *n, int l); /// Draws the 3d error box {ex,ey,ez} for point {x,y,z} void MGL_EXPORT mgl_error_box(HMGL gr, double x, double y, double z, double ex, double ey, double ez, const char *pen); void MGL_EXPORT mgl_error_box_(uintptr_t* gr, mreal *x, mreal *y, mreal *z, mreal *ex, mreal *ey, mreal *ez, const char *pen, int); /// Draws the face between points with color stl (include interpolation up to 4 colors). void MGL_EXPORT mgl_face(HMGL gr, double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, const char *stl); void MGL_EXPORT mgl_face_(uintptr_t* gr, mreal *x0, mreal *y0, mreal *z0, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *x3, mreal *y3, mreal *z3, const char *stl, int); /// Draws the face in y-z plane at point p with color stl (include interpolation up to 4 colors). void MGL_EXPORT mgl_facex(HMGL gr, double x0, double y0, double z0, double wy, double wz, const char *stl, double dx, double dy); void MGL_EXPORT mgl_facex_(uintptr_t* gr, mreal *x0, mreal *y0, mreal *z0, mreal *wy, mreal *wz, const char *stl, mreal *dx, mreal *dy, int l); /// Draws the face in x-z plane at point p with color stl (include interpolation up to 4 colors). void MGL_EXPORT mgl_facey(HMGL gr, double x0, double y0, double z0, double wx, double wz, const char *stl, double dx, double dy); void MGL_EXPORT mgl_facey_(uintptr_t* gr, mreal *x0, mreal *y0, mreal *z0, mreal *wx, mreal *wz, const char *stl, mreal *dx, mreal *dy, int l); /// Draws the face in x-y plane at point p with color stl (include interpolation up to 4 colors). void MGL_EXPORT mgl_facez(HMGL gr, double x0, double y0, double z0, double wx, double wy, const char *stl, double dx, double dy); void MGL_EXPORT mgl_facez_(uintptr_t* gr, mreal *x0, mreal *y0, mreal *z0, mreal *wx, mreal *wy, const char *stl, mreal *dx, mreal *dy, int l); /// Draws the sphere at point {x,y,z} with color stl and radius r void MGL_EXPORT mgl_sphere(HMGL gr, double x, double y, double z, double r, const char *stl); void MGL_EXPORT mgl_sphere_(uintptr_t* gr, mreal *x, mreal *y, mreal *z, mreal *r, const char *stl, int); /// Draws the drop at point {x,y,z} in direction {dx,dy,dz} with color stl and radius r void MGL_EXPORT mgl_drop(HMGL gr, double x, double y, double z, double dx, double dy, double dz, double r, const char *stl, double shift, double ap); void MGL_EXPORT mgl_drop_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *r, const char *stl, mreal *shift, mreal *ap, int); /// Draws the cone between points p1,p2 with radius r1,r2 and with style stl void MGL_EXPORT mgl_cone(HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r1, double r2, const char *stl); void MGL_EXPORT mgl_cone_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *r1, mreal *r2, const char *stl, int); /// Draws the ellipse between points p1,p2 with color stl and width r void MGL_EXPORT mgl_ellipse(HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r, const char *stl); void MGL_EXPORT mgl_ellipse_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *r, const char *stl, int); /// Draws the rhomb between points p1,p2 with color stl and width r void MGL_EXPORT mgl_rhomb(HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r, const char *stl); void MGL_EXPORT mgl_rhomb_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *r, const char *stl, int); /// Draw cones from points {x,y,z} to axis plane void MGL_EXPORT mgl_cones_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt); void MGL_EXPORT mgl_cones_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int,int); /// Draw cones from points {x,z} to axis plane void MGL_EXPORT mgl_cones_xz(HMGL graph, HCDT x, HCDT z, const char *pen, const char *opt); void MGL_EXPORT mgl_coners_xz_(uintptr_t *graph, uintptr_t *x, uintptr_t *z, const char *pen, const char *opt,int,int); /// Draw cones from points {x,z} with x in x-axis range to axis plane void MGL_EXPORT mgl_cones(HMGL graph, HCDT z, const char *pen, const char *opt); void MGL_EXPORT mgl_cones_(uintptr_t *graph, uintptr_t *z, const char *pen, const char *opt,int,int); /// Plot dew drops for vector field {ax,ay} parametrically depended on coordinate {x,y} void MGL_EXPORT mgl_dew_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt); void MGL_EXPORT mgl_dew_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int,int); /// Plot dew drops for vector field {ax,ay} void MGL_EXPORT mgl_dew_2d(HMGL gr, HCDT ax, HCDT ay, const char *sch, const char *optl); void MGL_EXPORT mgl_dew_2d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int,int l); /// Print text in position {x,y,z} with specified font /* NOTE: Function don't have options because it can be part of group.*/ void MGL_EXPORT mgl_puts(HMGL graph, double x, double y, double z,const char *text, const char *font, double size); void MGL_EXPORT mgl_puts_(uintptr_t *graph, mreal *x, mreal *y, mreal *z,const char *text, const char *font, mreal *size, int, int); void MGL_EXPORT mgl_putsw(HMGL graph, double x, double y, double z,const wchar_t *text, const char *font, double size); /// Print text in position {x,y,z} along direction {dx,dy,dz} with specified font /* NOTE: Function don't have options because it can be part of group.*/ void MGL_EXPORT mgl_puts_dir(HMGL graph, double x, double y, double z, double dx, double dy, double dz, const char *text, const char *font, double size); void MGL_EXPORT mgl_puts_dir_(uintptr_t *graph, mreal *x, mreal *y, mreal *z, mreal *dx, mreal *dy, mreal *dz, const char *text, const char *font, mreal *size, int, int); void MGL_EXPORT mgl_putsw_dir(HMGL graph, double x, double y, double z, double dx, double dy, double dz, const wchar_t *text, const char *font, double size); /// Draw textual marks with size r at points {x,y,z} void MGL_EXPORT mgl_textmark_xyzr(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const char *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_textmark_xyzr_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *r, const char *text, const char *fnt, const char *opt,int,int,int); void MGL_EXPORT mgl_textmarkw_xyzr(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const wchar_t *text, const char *fnt, const char *opt); /// Draw textual marks with size r at points {x,y} void MGL_EXPORT mgl_textmark_xyr(HMGL graph, HCDT x, HCDT y, HCDT r, const char *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_textmark_xyr_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *r, const char *text, const char *fnt, const char *opt,int,int,int); void MGL_EXPORT mgl_textmarkw_xyr(HMGL graph, HCDT x, HCDT y, HCDT r, const wchar_t *text, const char *fnt, const char *opt); /// Draw textual marks with size r at points {x,y} with x in x-axis range void MGL_EXPORT mgl_textmark_yr(HMGL graph, HCDT y, HCDT r, const char *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_textmark_yr_(uintptr_t *graph, uintptr_t *y, uintptr_t *r, const char *text, const char *fnt, const char *opt,int,int,int); void MGL_EXPORT mgl_textmarkw_yr(HMGL graph, HCDT y, HCDT r, const wchar_t *text, const char *fnt, const char *opt); /// Draw textual marks with size r=1 at points {x,y} with x in x-axis range void MGL_EXPORT mgl_textmark(HMGL graph, HCDT y, const char *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_textmarkw(HMGL graph, HCDT y, const wchar_t *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_textmark_(uintptr_t *graph, uintptr_t *y, const char *text, const char *fnt, const char *opt,int,int,int); /// Draw labels for points coordinate(s) at points {x,y,z} void MGL_EXPORT mgl_label_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, const char *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_label_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *text, const char *fnt, const char *opt,int,int,int); void MGL_EXPORT mgl_labelw_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, const wchar_t *text, const char *fnt, const char *opt); /// Draw labels for points coordinate(s) at points {x,y} void MGL_EXPORT mgl_label_xy(HMGL graph, HCDT x, HCDT y, const char *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_label_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, const char *text, const char *fnt, const char *opt,int,int,int); void MGL_EXPORT mgl_labelw_xy(HMGL graph, HCDT x, HCDT y, const wchar_t *text, const char *fnt, const char *opt); /// Draw labels for points coordinate(s) at points {x,y} with x in x-axis range void MGL_EXPORT mgl_label_y(HMGL graph, HCDT y, const char *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_labelw_y(HMGL graph, HCDT y, const wchar_t *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_label_y_(uintptr_t *graph, uintptr_t *y, const char *text, const char *fnt, const char *opt,int,int,int); /// Draw table for values val along given direction with row labels text at position {x,y} void MGL_EXPORT mgl_table(HMGL gr, double x, double y, HCDT val, const char *text, const char *fnt, const char *opt); void MGL_EXPORT mgl_table_(uintptr_t *gr, mreal *x, mreal *y, uintptr_t *val, const char *text, const char *fnt, const char *opt,int,int,int); void MGL_EXPORT mgl_tablew(HMGL gr, double x, double y, HCDT val, const wchar_t *text, const char *fnt, const char *opt); #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/data.h0000664000175000017500000007253212142400464016272 0ustar balakinbalakin/*************************************************************************** * data.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_DATA_H_ #define _MGL_DATA_H_ #include "mgl2/data_cf.h" #ifdef __cplusplus //----------------------------------------------------------------------------- #include #include //----------------------------------------------------------------------------- /// Class for working with data array #if MGL_NO_DATA_A class mglData #else class mglData : public mglDataA #endif { public: long nx; ///< number of points in 1st dimensions ('x' dimension) long ny; ///< number of points in 2nd dimensions ('y' dimension) long nz; ///< number of points in 3d dimensions ('z' dimension) mreal *a; ///< data array std::string id; ///< column (or slice) names bool link; ///< use external data (i.e. don't free it) /// Initiate by other mglData variable inline mglData(const mglData &d) { a=0; mgl_data_set(this,&d); } // NOTE: must be constructor for mglData& to exclude copy one inline mglData(const mglDataA *d) { a=0; mgl_data_set(this, d); } inline mglData(bool, mglData *d) // NOTE: Variable d will be deleted!!! { if(d) { nx=d->nx; ny=d->ny; nz=d->nz; a=d->a; d->a=0; id=d->id; link=d->link; delete d; } else { a=0; Create(1); } } /// Initiate by flat array inline mglData(int size, const float *d) { a=0; Set(d,size); } inline mglData(int rows, int cols, const float *d) { a=0; Set(d,cols,rows); } inline mglData(int size, const double *d) { a=0; Set(d,size); } inline mglData(int rows, int cols, const double *d) { a=0; Set(d,cols,rows); } inline mglData(const double *d, int size) { a=0; Set(d,size); } inline mglData(const double *d, int rows, int cols) { a=0; Set(d,cols,rows); } /// Read data from file inline mglData(const char *fname) { a=0; Read(fname); } /// Allocate the memory for data array and initialize it zero inline mglData(long xx=1,long yy=1,long zz=1) { a=0; Create(xx,yy,zz); } /// Delete the array virtual ~mglData() { if(!link && a) delete []a; } inline mreal GetVal(long i, long j=0, long k=0) { return mgl_data_get_value(this,i,j,k);} inline void SetVal(mreal f, long i, long j=0, long k=0) { mgl_data_set_value(this,f,i,j,k); } /// Get sizes inline long GetNx() const { return nx; } inline long GetNy() const { return ny; } inline long GetNz() const { return nz; } /// Link external data array (don't delete it at exit) inline void Link(mreal *A, long NX, long NY=1, long NZ=1) { mgl_data_link(this,A,NX,NY,NZ); } inline void Link(mglData &d) { Link(d.a,d.nx,d.ny,d.nz); } /// Allocate memory and copy the data from the gsl_vector inline void Set(gsl_vector *m) { mgl_data_set_vector(this,m); } /// Allocate memory and copy the data from the gsl_matrix inline void Set(gsl_matrix *m) { mgl_data_set_matrix(this,m); } /// Allocate memory and copy the data from the (float *) array inline void Set(const float *A,long NX,long NY=1,long NZ=1) { mgl_data_set_float(this,A,NX,NY,NZ); } /// Allocate memory and copy the data from the (double *) array inline void Set(const double *A,long NX,long NY=1,long NZ=1) { mgl_data_set_double(this,A,NX,NY,NZ); } /// Allocate memory and copy the data from the (float **) array inline void Set(const float **A,long N1,long N2) { mgl_data_set_float2(this,A,N1,N2); } /// Allocate memory and copy the data from the (double **) array inline void Set(const double **A,long N1,long N2) { mgl_data_set_double2(this,A,N1,N2); } /// Allocate memory and copy the data from the (float ***) array inline void Set(const float ***A,long N1,long N2,long N3) { mgl_data_set_float3(this,A,N1,N2,N3); } /// Allocate memory and copy the data from the (double ***) array inline void Set(const double ***A,long N1,long N2,long N3) { mgl_data_set_double3(this,A,N1,N2,N3); } /// Allocate memory and scanf the data from the string inline void Set(const char *str,long NX,long NY=1,long NZ=1) { mgl_data_set_values(this,str,NX,NY,NZ); } /// Import data from abstract type inline void Set(HCDT dat) { mgl_data_set(this, dat); } inline void Set(const mglDataA &dat) { mgl_data_set(this, &dat); } /// Allocate memory and copy data from std::vector inline void Set(const std::vector &d) { if(d.size()<1) return; Create(d.size()); for(long i=0;i &d) { if(d.size()<1) return; Create(d.size()); for(long i=0;i &d) { if(d.size()<1) return; Create(d.size()); for(long i=0;i1?nx-1:1; dif.y*=ny>1?ny-1:1; dif.z*=nz>1?nz-1:1; return res; } /// Interpolate by linear function the data and return its derivatives at given point x=[0...nx-1], y=[0...ny-1], z=[0...nz-1] inline mreal Linear(mglPoint &dif, mreal x,mreal y=0,mreal z=0) const { return mgl_data_linear_ext(this,x,y,z, &(dif.x),&(dif.y), &(dif.z)); } /// Interpolate by line the data and return its derivatives at given point x,\a y,\a z which normalized in range [0, 1] inline mreal Linear1(mglPoint &dif, mreal x,mreal y=0,mreal z=0) const { mreal res=mgl_data_linear_ext(this,x*(nx-1),y*(ny-1),z*(nz-1), &(dif.x),&(dif.y), &(dif.z)); dif.x*=nx>1?nx-1:1; dif.y*=ny>1?ny-1:1; dif.z*=nz>1?nz-1:1; return res; } /// Get information about the data (sizes and momentum) to string inline const char *PrintInfo() const { return mgl_data_info(this); } /// Print information about the data (sizes and momentum) to FILE (for example, stdout) inline void PrintInfo(FILE *fp) const { if(fp) { fprintf(fp,"%s",mgl_data_info(this)); fflush(fp); } } /// Get maximal value of the data inline mreal Maximal() const { return mgl_data_max(this); } /// Get minimal value of the data inline mreal Minimal() const { return mgl_data_min(this); } /// Get maximal value of the data and its position inline mreal Maximal(long &i,long &j,long &k) const { return mgl_data_max_int(this,&i,&j,&k); } /// Get minimal value of the data and its position inline mreal Minimal(long &i,long &j,long &k) const { return mgl_data_min_int(this,&i,&j,&k); } /// Get maximal value of the data and its approximated position inline mreal Maximal(mreal &x,mreal &y,mreal &z) const { return mgl_data_max_real(this,&x,&y,&z); } /// Get minimal value of the data and its approximated position inline mreal Minimal(mreal &x,mreal &y,mreal &z) const { return mgl_data_min_real(this,&x,&y,&z); } /// Get "energy" and find first (median) and second (width) momenta of data inline mreal Momentum(char dir,mreal &m,mreal &w) const { return mgl_data_momentum_val(this,dir,&m,&w,0,0); } /// Get "energy and find 4 momenta of data: median, width, skewness, kurtosis inline mreal Momentum(char dir,mreal &m,mreal &w,mreal &s,mreal &k) const { return mgl_data_momentum_val(this,dir,&m,&w,&s,&k); } /// Find position (after specified in i,j,k) of first nonzero value of formula inline mreal Find(const char *cond, long &i, long &j, long &k) const { return mgl_data_first(this,cond,&i,&j,&k); } /// Find position (before specified in i,j,k) of last nonzero value of formula inline mreal Last(const char *cond, long &i, long &j, long &k) const { return mgl_data_last(this,cond,&i,&j,&k); } /// Find position of first in direction 'dir' nonzero value of formula inline long Find(const char *cond, char dir, long i=0, long j=0, long k=0) const { return mgl_data_find(this,cond,dir,i,j,k); } /// Find if any nonzero value of formula inline bool FindAny(const char *cond) const { return mgl_data_find_any(this,cond); } /// Copy data from other mglData variable inline mglData &operator=(const mglData &d) { if(this!=&d) Set(d.a,d.nx,d.ny,d.nz); return *this; } inline mreal operator=(mreal val) { for(long i=0;i=nx || j>=ny || k>=nz) printf("Wrong index in mglData"); return a[i+nx*(j+ny*k)]; } #else { return a[i+nx*(j+ny*k)]; } #endif inline mreal vthr(long i) const { return a[i]; } // add for speeding up !!! inline mreal dvx(long i,long j=0,long k=0) const { register long i0=i+nx*(j+ny*k); return i>0? (i0? (j0? (k(const mglDataA &b, const mglDataA &d) { return b.Minimal()>d.Minimal(); } #endif //----------------------------------------------------------------------------- #ifndef SWIG mreal mglLinear(const mreal *a, long nx, long ny, long nz, mreal x, mreal y, mreal z); mreal mglSpline3(const mreal *a, long nx, long ny, long nz, mreal x, mreal y, mreal z,mreal *dx=0, mreal *dy=0, mreal *dz=0); #endif //----------------------------------------------------------------------------- /// Integral data transformation (like Fourier 'f' or 'i', Hankel 'h' or None 'n') for amplitude and phase inline mglData mglTransformA(const mglDataA &am, const mglDataA &ph, const char *tr) { return mglData(true,mgl_transform_a(&am,&ph,tr)); } /// Integral data transformation (like Fourier 'f' or 'i', Hankel 'h' or None 'n') for real and imaginary parts inline mglData mglTransform(const mglDataA &re, const mglDataA &im, const char *tr) { return mglData(true,mgl_transform(&re,&im,tr)); } /// Apply Fourier transform for the data and save result into it inline void mglFourier(mglData &re, mglData &im, const char *dir) { mgl_data_fourier(&re,&im,dir); } /// Short time Fourier analysis for real and imaginary parts. Output is amplitude of partial Fourier (result will have size {dn, floor(nx/dn), ny} for dir='x' inline mglData mglSTFA(const mglDataA &re, const mglDataA &im, long dn, char dir='x') { return mglData(true, mgl_data_stfa(&re,&im,dn,dir)); } //----------------------------------------------------------------------------- /// Saves result of PDE solving (|u|^2) for "Hamiltonian" ham with initial conditions ini inline mglData mglPDE(mglBase *gr, const char *ham, const mglDataA &ini_re, const mglDataA &ini_im, mreal dz=0.1, mreal k0=100,const char *opt="") { return mglData(true, mgl_pde_solve(gr,ham, &ini_re, &ini_im, dz, k0,opt)); } /// Saves result of PDE solving for "Hamiltonian" ham with initial conditions ini along a curve ray (must have nx>=7 - x,y,z,px,py,pz,tau or nx=5 - x,y,px,py,tau) inline mglData mglQO2d(const char *ham, const mglDataA &ini_re, const mglDataA &ini_im, const mglDataA &ray, mreal r=1, mreal k0=100) { return mglData(true, mgl_qo2d_solve(ham, &ini_re, &ini_im, &ray, r, k0, 0, 0)); } inline mglData mglQO2d(const char *ham, const mglDataA &ini_re, const mglDataA &ini_im, const mglDataA &ray, mglData &xx, mglData &yy, mreal r=1, mreal k0=100) { return mglData(true, mgl_qo2d_solve(ham, &ini_re, &ini_im, &ray, r, k0, &xx, &yy)); } /// Saves result of PDE solving for "Hamiltonian" ham with initial conditions ini along a curve ray (must have nx>=7 - x,y,z,px,py,pz,tau or nx=5 - x,y,px,py,tau) inline mglData mglQO3d(const char *ham, const mglDataA &ini_re, const mglDataA &ini_im, const mglDataA &ray, mreal r=1, mreal k0=100) { return mglData(true, mgl_qo3d_solve(ham, &ini_re, &ini_im, &ray, r, k0, 0, 0, 0)); } inline mglData mglQO3d(const char *ham, const mglDataA &ini_re, const mglDataA &ini_im, const mglDataA &ray, mglData &xx, mglData &yy, mglData &zz, mreal r=1, mreal k0=100) { return mglData(true, mgl_qo3d_solve(ham, &ini_re, &ini_im, &ray, r, k0, &xx, &yy, &zz)); } /// Finds ray with starting point r0, p0 (and prepares ray data for mglQO2d) inline mglData mglRay(const char *ham, mglPoint r0, mglPoint p0, mreal dt=0.1, mreal tmax=10) { return mglData(true, mgl_ray_trace(ham, r0.x, r0.y, r0.z, p0.x, p0.y, p0.z, dt, tmax)); } /// Calculate Jacobian determinant for D{x(u,v), y(u,v)} = dx/du*dy/dv-dx/dv*dy/du inline mglData mglJacobian(const mglDataA &x, const mglDataA &y) { return mglData(true, mgl_jacobian_2d(&x, &y)); } /// Calculate Jacobian determinant for D{x(u,v,w), y(u,v,w), z(u,v,w)} inline mglData mglJacobian(const mglDataA &x, const mglDataA &y, const mglDataA &z) { return mglData(true, mgl_jacobian_3d(&x, &y, &z)); } /// Do something like Delone triangulation inline mglData mglTriangulation(const mglDataA &x, const mglDataA &y, const mglDataA &z) { return mglData(true,mgl_triangulation_3d(&x,&y,&z)); } inline mglData mglTriangulation(const mglDataA &x, const mglDataA &y) { return mglData(true,mgl_triangulation_2d(&x,&y)); } //----------------------------------------------------------------------------- #endif #endif mathgl-2.1.3.1/include/mgl2/plot.h0000664000175000017500000003452112142400464016333 0ustar balakinbalakin/*************************************************************************** * plot.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_1D_H_ #define _MGL_1D_H_ #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Draw curve for formula with x in x-axis range void MGL_EXPORT mgl_fplot(HMGL gr, const char *eqY, const char *pen, const char *opt); void MGL_EXPORT mgl_fplot_(uintptr_t *gr, const char *fy, const char *stl, const char *opt, int ly, int ls, int lo); /// Draw curve for formulas parametrically depended on t in range [0,1] void MGL_EXPORT mgl_fplot_xyz(HMGL gr, const char *eqX, const char *eqY, const char *eqZ, const char *pen, const char *opt); void MGL_EXPORT mgl_fplot_xyz_(uintptr_t *gr, const char *fx, const char *fy, const char *fz, const char *stl, const char *opt, int lx, int ly, int lz, int ls, int lo); /// Draw radar chart (plot in curved coordinates) void MGL_EXPORT mgl_radar(HMGL graph, HCDT a, const char *pen, const char *opt); void MGL_EXPORT mgl_radar_(uintptr_t *gr, uintptr_t *a, const char *pen, const char *opt, int l,int lo); /// Draw usual curve {x,y,z} void MGL_EXPORT mgl_plot_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt); void MGL_EXPORT mgl_plot_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int,int); /// Draw usual curve {x,y} void MGL_EXPORT mgl_plot_xy(HMGL graph, HCDT x, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_plot_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw usual curve {x,y} with x in x-axis range void MGL_EXPORT mgl_plot(HMGL graph, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_plot_(uintptr_t *graph, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw curve {x,y,z} which is colored by c (like tension plot) void MGL_EXPORT mgl_tens_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT c, const char *pen, const char *opt); void MGL_EXPORT mgl_tens_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *pen, const char *opt,int,int); /// Draw curve {x,y} which is colored by c (like tension plot) void MGL_EXPORT mgl_tens_xy(HMGL graph, HCDT x, HCDT y, HCDT c, const char *pen, const char *opt); void MGL_EXPORT mgl_tens_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *c, const char *pen, const char *opt,int,int); /// Draw curve {x,y} with x in x-axis range which is colored by c (like tension plot) void MGL_EXPORT mgl_tens(HMGL graph, HCDT y, HCDT c, const char *pen, const char *opt); void MGL_EXPORT mgl_tens_(uintptr_t *graph, uintptr_t *y, uintptr_t *c, const char *pen, const char *opt,int,int); /// Draw tape(s) which rotates as (bi-)normales of curve {x,y,z} void MGL_EXPORT mgl_tape_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt); void MGL_EXPORT mgl_tape_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int,int); /// Draw tape(s) which rotates as (bi-)normales of curve {x,y} void MGL_EXPORT mgl_tape_xy(HMGL graph, HCDT x, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_tape_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw tape(s) which rotates as (bi-)normales of curve {x,y} with x in x-axis range void MGL_EXPORT mgl_tape(HMGL graph, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_tape_(uintptr_t *graph, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw box-plot (special 5-value plot used in statistic) for data specified parametrically void MGL_EXPORT mgl_boxplot_xy(HMGL graph, HCDT x, HCDT a, const char *pen, const char *opt); void MGL_EXPORT mgl_boxplot_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw box-plot (special 5-value plot used in statistic) void MGL_EXPORT mgl_boxplot(HMGL graph, HCDT a, const char *pen, const char *opt); void MGL_EXPORT mgl_boxplot_(uintptr_t *graph, uintptr_t *y, const char *pen, const char *opt,int,int); /// Fill area between curve {x,y,z} and axis plane void MGL_EXPORT mgl_area_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt); void MGL_EXPORT mgl_area_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int,int); /// Fill area between curve {x,y} and axis plane void MGL_EXPORT mgl_area_xy(HMGL graph, HCDT x, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_area_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int,int); /// Fill area between curve {x,y} with x in x-axis range and axis plane void MGL_EXPORT mgl_area(HMGL graph, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_area_(uintptr_t *graph, uintptr_t *y, const char *pen, const char *opt,int,int); /// Fill area between curves {x,y1} and {x,y2} void MGL_EXPORT mgl_region_xy(HMGL graph, HCDT x, HCDT y1, HCDT y2, const char *pen, const char *opt); void MGL_EXPORT mgl_region_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt,int, int); /// Fill area between curves {x,y1} and {x,y2} with x in x-axis range void MGL_EXPORT mgl_region(HMGL graph, HCDT y1, HCDT y2, const char *pen, const char *opt); void MGL_EXPORT mgl_region_(uintptr_t *graph, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt,int, int); /// Draw vertical lines from points {x,y,z} to axis plane void MGL_EXPORT mgl_stem_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt); void MGL_EXPORT mgl_stem_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int,int); /// Draw vertical lines from points {x,y} to axis plane void MGL_EXPORT mgl_stem_xy(HMGL graph, HCDT x, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_stem_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw vertical lines from points {x,y} with x in x-axis range to axis plane void MGL_EXPORT mgl_stem(HMGL graph, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_stem_(uintptr_t *graph, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw stairs for points in arrays {x,y,z} void MGL_EXPORT mgl_step_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt); void MGL_EXPORT mgl_step_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int,int); /// Draw stairs for points in arrays {x,y} void MGL_EXPORT mgl_step_xy(HMGL graph, HCDT x, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_step_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw stairs for points in arrays {x,y} with x in x-axis range void MGL_EXPORT mgl_step(HMGL graph, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_step_(uintptr_t *graph, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw vertical bars from points {x,y,z} to axis plane void MGL_EXPORT mgl_bars_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt); void MGL_EXPORT mgl_bars_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int,int); /// Draw vertical bars from points {x,y} to axis plane void MGL_EXPORT mgl_bars_xy(HMGL graph, HCDT x, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_bars_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw vertical bars from points {x,y} with x in x-axis range to axis plane void MGL_EXPORT mgl_bars(HMGL graph, HCDT y, const char *pen, const char *opt); void MGL_EXPORT mgl_bars_(uintptr_t *graph, uintptr_t *y, const char *pen, const char *opt,int,int); /// Draw horizontal bars from points {v,y} to axis plane void MGL_EXPORT mgl_barh_yx(HMGL graph, HCDT y, HCDT v, const char *pen, const char *opt); void MGL_EXPORT mgl_barh_yx_(uintptr_t *graph, uintptr_t *y, uintptr_t *v, const char *pen, const char *opt,int,int); /// Draw horizontal bars from points {v,y} with y in y-axis range to axis plane void MGL_EXPORT mgl_barh(HMGL graph, HCDT v, const char *pen, const char *opt); void MGL_EXPORT mgl_barh_(uintptr_t *graph, uintptr_t *v, const char *pen, const char *opt,int,int); /// Draw chart for data a void MGL_EXPORT mgl_chart(HMGL graph, HCDT a, const char *col, const char *opt); void MGL_EXPORT mgl_chart_(uintptr_t *graph, uintptr_t *a, const char *col, const char *opt,int,int); /// Draw error boxes {ex,ey} at points {x,y} void MGL_EXPORT mgl_error_exy(HMGL graph, HCDT x, HCDT y, HCDT ex, HCDT ey, const char *pen, const char *opt); void MGL_EXPORT mgl_error_exy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *ex, uintptr_t *ey, const char *pen, const char *opt,int,int); /// Draw error boxes {ey} at points {x,y} void MGL_EXPORT mgl_error_xy(HMGL graph, HCDT x, HCDT y, HCDT ey, const char *pen, const char *opt); void MGL_EXPORT mgl_error_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *ey, const char *pen, const char *opt,int,int); /// Draw error boxes {ey} at points {x,y} with x in x-axis range void MGL_EXPORT mgl_error(HMGL graph, HCDT y, HCDT ey, const char *pen, const char *opt); void MGL_EXPORT mgl_error_(uintptr_t *graph, uintptr_t *y, uintptr_t *ey, const char *pen, const char *opt,int,int); /// Draw marks with size r at points {x,y,z} void MGL_EXPORT mgl_mark_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const char *pen, const char *opt); void MGL_EXPORT mgl_mark_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *r, const char *pen, const char *opt,int,int); /// Draw marks with size r at points {x,y} void MGL_EXPORT mgl_mark_xy(HMGL graph, HCDT x, HCDT y, HCDT r, const char *pen, const char *opt); void MGL_EXPORT mgl_mark_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *r, const char *pen, const char *opt,int,int); /// Draw marks with size r at points {x,y} with x in x-axis range void MGL_EXPORT mgl_mark_y(HMGL graph, HCDT y, HCDT r, const char *pen, const char *opt); void MGL_EXPORT mgl_mark_y_(uintptr_t *graph, uintptr_t *y, uintptr_t *r, const char *pen, const char *opt,int,int); /// Draw tube with variable radius r around curve {x,y,z} void MGL_EXPORT mgl_tube_xyzr(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const char *pen, const char *opt); void MGL_EXPORT mgl_tube_xyzr_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *r, const char *pen, const char *opt,int,int); /// Draw tube with variable radius r around curve {x,y} void MGL_EXPORT mgl_tube_xyr(HMGL graph, HCDT x, HCDT y, HCDT r, const char *pen, const char *opt); void MGL_EXPORT mgl_tube_xyr_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *r, const char *pen, const char *opt,int,int); /// Draw tube with variable radius r around curve {x,y} with x in x-axis range void MGL_EXPORT mgl_tube_r(HMGL graph, HCDT y, HCDT r, const char *pen, const char *opt); void MGL_EXPORT mgl_tube_r_(uintptr_t *graph, uintptr_t *y, uintptr_t *r, const char *pen, const char *opt,int,int); /// Draw tube with constant radius r around curve {x,y,z} void MGL_EXPORT mgl_tube_xyz(HMGL graph, HCDT x, HCDT y, HCDT z, double r, const char *pen, const char *opt); void MGL_EXPORT mgl_tube_xyz_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, mreal *r, const char *pen, const char *opt,int,int); /// Draw tube with constant radius r around curve {x,y} void MGL_EXPORT mgl_tube_xy(HMGL graph, HCDT x, HCDT y, double r, const char *penl, const char *opt); void MGL_EXPORT mgl_tube_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, mreal *r, const char *pen, const char *opt,int,int); /// Draw tube with constant radius r around curve {x,y} with x in x-axis range void MGL_EXPORT mgl_tube(HMGL graph, HCDT y, double r, const char *pen, const char *opt); void MGL_EXPORT mgl_tube_(uintptr_t *graph, uintptr_t *y, mreal *r, const char *pen, const char *opt,int,int); /// Draw candle plot for data specified parametrically void MGL_EXPORT mgl_candle_xyv(HMGL gr, HCDT x, HCDT v1, HCDT v2, HCDT y1, HCDT y2, const char *pen, const char *opt); void MGL_EXPORT mgl_candle_xyv_(uintptr_t *gr, uintptr_t *x, uintptr_t *v1, uintptr_t *v2, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt,int,int); /// Draw candle plot void MGL_EXPORT mgl_candle_yv(HMGL gr, HCDT v1, HCDT v2, HCDT y1, HCDT y2, const char *pen, const char *opt); void MGL_EXPORT mgl_candle_yv_(uintptr_t *gr, uintptr_t *v1, uintptr_t *v2, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt,int,int); /// Draw candle plot with v1=v[i], v2=v[i+1] void MGL_EXPORT mgl_candle(HMGL gr, HCDT v, HCDT y1, HCDT y2, const char *pen, const char *opt); void MGL_EXPORT mgl_candle_(uintptr_t *gr, uintptr_t *y, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt,int,int); #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/mgl.h0000664000175000017500000023767212142400464016150 0ustar balakinbalakin/*************************************************************************** * mgl.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * 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 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_H_ #define _MGL_H_ #include "mgl2/mgl_cf.h" #include "mgl2/data.h" #include "mgl2/datac.h" //----------------------------------------------------------------------------- /// Wrapper class for all graphics class mglGraph { protected: HMGL gr; public: inline mglGraph(int kind=0, int width=600, int height=400) { if(kind==-1) gr=NULL; #if MGL_HAVE_OPENGL else if(kind==1) gr=mgl_create_graph_gl(); #else else if(kind==1) { gr=mgl_create_graph(width, height); mglGlobalMess += "OpenGL support was disabled. Please, enable it and rebuild MathGL.\n"; } #endif else gr=mgl_create_graph(width, height); } inline mglGraph(const mglGraph &graph) { gr = graph.gr; mgl_use_graph(gr,1); } inline mglGraph(HMGL graph) { gr = graph; mgl_use_graph(gr,1); } virtual ~mglGraph() { if(mgl_use_graph(gr,-1)<1) mgl_delete_graph(gr); } /// Get pointer to internal mglCanvas object inline HMGL Self() { return gr; } /// Set default parameters for plotting inline void DefaultPlotParam() { mgl_set_def_param(gr); } /// Set name of plot for saving filename inline void SetPlotId(const char *id) { mgl_set_plotid(gr,id); } /// Get name of plot for saving filename inline const char *GetPlotId() { return mgl_get_plotid(gr); } /// Set the transparency on/off. inline void Alpha(bool enable) { mgl_set_alpha(gr, enable); } /// Set default value of alpha-channel inline void SetAlphaDef(double alpha) { mgl_set_alpha_default(gr, alpha); } /// Set the transparency type (0 - usual, 1 - glass, 2 - lamp) inline void SetTranspType(int type) { mgl_set_transp_type(gr, type); } /// Set the using of light on/off. inline void Light(bool enable) { mgl_set_light(gr, enable); } /// Switch on/off the specified light source. inline void Light(int n,bool enable) { mgl_set_light_n(gr, n, enable); } /// Use diffusive light (only for local light sources) inline void SetDifLight(bool dif) { mgl_set_light_dif(gr, dif); } /// Add a light source. inline void AddLight(int n, mglPoint p, char col='w', double bright=0.5, double ap=0) { mgl_add_light_ext(gr, n, p.x, p.y, p.z, col, bright, ap); } inline void AddLight(int n, mglPoint r, mglPoint p, char col='w', double bright=0.5, double ap=0) { mgl_add_light_loc(gr, n, r.x, r.y, r.z, p.x, p.y, p.z, col, bright, ap); } /// Set ambient light brightness inline void SetAmbient(double i) { mgl_set_ambbr(gr, i); } /// Set the fog distance or switch it off (if d=0). inline void Fog(double d, double dz=0.25) { mgl_set_fog(gr, d, dz); } /// Set relative width of rectangles in Bars, Barh, BoxPlot inline void SetBarWidth(double width) { mgl_set_bar_width(gr, width); } /// Set default size of marks (locally you can use "size" option) inline void SetMarkSize(double size) { mgl_set_mark_size(gr, size); } /// Set default size of arrows (locally you can use "size" option) inline void SetArrowSize(double size) { mgl_set_arrow_size(gr, size); } /// Set number of mesh lines (use 0 to draw all of them) inline void SetMeshNum(int num) { mgl_set_meshnum(gr, num); } /// Set number of visible faces (use 0 to draw all of them) inline void SetFaceNum(int num) { mgl_set_facenum(gr, num); } /// Set cutting for points outside of bounding box inline void SetCut(bool cut) { mgl_set_cut(gr, cut); } /// Set additional cutting box inline void SetCutBox(mglPoint p1, mglPoint p2) { mgl_set_cut_box(gr, p1.x, p1.y, p1.z, p2.x, p2.y, p2.z); } /// Set the cutting off condition (formula) inline void CutOff(const char *EqC) { mgl_set_cutoff(gr, EqC); } /// Set default font size inline void SetFontSize(double size) { mgl_set_font_size(gr, size); } /// Set default font style and color inline void SetFontDef(const char *fnt) { mgl_set_font_def(gr, fnt); } /// Set FontSize by size in pt and picture DPI (default is 16 pt for dpi=72) virtual void SetFontSizePT(double pt, int dpi=72){ SetFontSize(pt*27.f/dpi); } /// Set FontSize by size in centimeters and picture DPI (default is 0.56 cm = 16 pt) inline void SetFontSizeCM(double cm, int dpi=72) { SetFontSizePT(cm*28.45f,dpi); } /// Set FontSize by size in inch and picture DPI (default is 0.22 in = 16 pt) inline void SetFontSizeIN(double in, int dpi=72) { SetFontSizePT(in*72.27f,dpi); } /// Load font from file inline void LoadFont(const char *name, const char *path=NULL) { mgl_load_font(gr, name, path); } /// Copy font from another mglGraph instance inline void CopyFont(const mglGraph *GR) { mgl_copy_font(gr, GR->gr);} /// Restore font (load default font for new HMGL objects) inline void RestoreFont() { mgl_restore_font(gr); } /// Set to use or not text rotation inline void SetRotatedText(bool rotated) { mgl_set_rotated_text(gr, rotated); } /// Set default palette inline void SetPalette(const char *colors) { mgl_set_palette(gr, colors); } /// Set default color scheme inline void SetDefScheme(const char *sch) { mgl_set_def_sch(gr, sch); } /// Get last warning code inline int GetWarn() { return mgl_get_warn(gr);} /// Set warning code ant fill message inline void SetWarn(int code, const char *info) { mgl_set_warn(gr,code,info); } /// Set buffer for warning messages inline const char *Message() { return mgl_get_mess(gr); } /// Set axis range scaling -- simplified way to shift/zoom axis range -- need to replot whole image! inline void ZoomAxis(mglPoint p1=mglPoint(0,0,0,0), mglPoint p2=mglPoint(1,1,1,1)) { mgl_zoom_axis(gr, p1.x,p1.y,p1.z,p1.c, p2.x,p2.y,p2.z,p2.c); } /// Set range in direction dir as [v1, v2] inline void SetRange(char dir, double v1, double v2) { mgl_set_range_val(gr, dir, v1, v2); } /// Set range in direction dir as minimal and maximal values of data a inline void SetRange(char dir, const mglDataA &dat, bool add=false) { mgl_set_range_dat(gr, dir, &dat, add); } /// Set values of axis range as minimal and maximal values of datas inline void SetRanges(const mglDataA &xx, const mglDataA &yy, const mglDataA &zz, const mglDataA &cc) { mgl_set_range_dat(gr,'x',&xx,0); mgl_set_range_dat(gr,'y',&yy,0); mgl_set_range_dat(gr,'z',&zz,0); mgl_set_range_dat(gr,'c',&cc,0); } /// Set values of axis range as minimal and maximal values of datas inline void SetRanges(const mglDataA &xx, const mglDataA &yy, const mglDataA &zz) { mgl_set_range_dat(gr,'x',&xx,0); mgl_set_range_dat(gr,'y',&yy,0); mgl_set_range_dat(gr,'z',&zz,0); mgl_set_range_dat(gr,'c',&zz,0); } /// Set values of axis range as minimal and maximal values of datas inline void SetRanges(const mglDataA &xx, const mglDataA &yy) { mgl_set_range_dat(gr,'x',&xx,0); mgl_set_range_dat(gr,'y',&yy,0); } /// Set values of axis ranges inline void SetRanges(double x1, double x2, double y1, double y2, double z1=0, double z2=0) { mgl_set_ranges(gr, x1, x2, y1, y2, z1, z2); } /// Set values of axis ranges inline void SetRanges(mglPoint p1, mglPoint p2) { mgl_set_ranges(gr, p1.x, p2.x, p1.y, p2.y, p1.z, p2.z); } /// Set ranges for automatic variables inline void SetAutoRanges(double x1, double x2, double y1=0, double y2=0, double z1=0, double z2=0, double c1=0, double c2=0) { mgl_set_auto_ranges(gr, x1, x2, y1, y2, z1, z2, c1, c2); } /// Set ranges for automatic variables inline void SetAutoRanges(mglPoint p1, mglPoint p2) { mgl_set_auto_ranges(gr, p1.x, p2.x, p1.y, p2.y, p1.z, p2.z, p1.c, p2.c); } /// Set axis origin inline void SetOrigin(mglPoint p) { mgl_set_origin(gr, p.x, p.y, p.z); } inline void SetOrigin(double x0, double y0, double z0=NaN) { mgl_set_origin(gr, x0, y0, z0); } /// Set the transformation formulas for coordinate inline void SetFunc(const char *EqX, const char *EqY, const char *EqZ=NULL, const char *EqA=NULL) { mgl_set_func(gr, EqX, EqY, EqZ, EqA); } /// Set one of predefined transformation rule inline void SetCoor(int how) { mgl_set_coor(gr, how); } /// Set to draw Ternary axis (triangle like axis, grid and so on) inline void Ternary(int val) { mgl_set_ternary(gr, val); } /// Set to use or not tick labels rotation inline void SetTickRotate(bool val) { mgl_set_tick_rotate(gr,val); } /// Set to use or not tick labels skipping inline void SetTickSkip(bool val) { mgl_set_tick_skip(gr,val); } /// Set tick length inline void SetTickLen(double len, double stt=1) { mgl_set_tick_len(gr, len, stt); } /// Set axis and ticks style inline void SetAxisStl(const char *stl="k", const char *tck=0, const char *sub=0) { mgl_set_axis_stl(gr, stl, tck, sub); } /// Set time templates for ticks inline void SetTicksTime(char dir, double d=0, const char *t="") { mgl_set_ticks_time(gr,dir,d,t); } /// Set ticks text (\n separated). Use "" to disable this feature. inline void SetTicksVal(char dir, const char *lbl, bool add=false) { mgl_set_ticks_str(gr,dir,lbl,add); } inline void SetTicksVal(char dir, const wchar_t *lbl, bool add=false) { mgl_set_ticks_wcs(gr,dir,lbl,add); } /// Set ticks position and text (\n separated). Use "" to disable this feature. inline void SetTicksVal(char dir, const mglDataA &v, const char *lbl, bool add=false) { mgl_set_ticks_val(gr,dir,&v,lbl,add); } inline void SetTicksVal(char dir, const mglDataA &v, const wchar_t *lbl, bool add=false) { mgl_set_ticks_valw(gr,dir,&v,lbl,add); } /// Set the ticks parameters inline void SetTicks(char dir, double d=0, int ns=0, double org=NaN) { mgl_set_ticks(gr, dir, d, ns, org); } /// Auto adjust ticks inline void Adjust(const char *dir="xyzc") { mgl_adjust_ticks(gr, dir); } /// Set templates for ticks inline void SetTickTempl(char dir, const char *t) { mgl_set_tick_templ(gr,dir,t); } inline void SetTickTempl(char dir, const wchar_t *t) { mgl_set_tick_templw(gr,dir,t); } /// Tune ticks inline void SetTuneTicks(int tune, double fact_pos=1.15) { mgl_tune_ticks(gr, tune, fact_pos); } /// Set additional shift of tick labels inline void SetTickShift(mglPoint p) { mgl_set_tick_shift(gr,p.x,p.y,p.z,p.c); } /// Set to use UTC time instead of local time inline void SetTimeUTC(bool enable) { mgl_set_flag(gr,enable, MGL_USE_GMTIME); } /// Set to draw tick labels at axis origin inline void SetOriginTick(bool enable=true) { mgl_set_flag(gr,!enable, MGL_NO_ORIGIN); } /// Put further plotting in some region of whole frame. inline void SubPlot(int nx,int ny,int m,const char *style="<>_^", double dx=0, double dy=0) { mgl_subplot_d(gr, nx, ny, m, style, dx, dy); } /// Like SubPlot() but "join" several cells inline void MultiPlot(int nx,int ny,int m, int dx, int dy, const char *style="<>_^") { mgl_multiplot(gr, nx, ny, m, dx, dy, style); } /// Put further plotting in a region of whole frame. inline void InPlot(double x1,double x2,double y1,double y2, bool rel=true) { if(rel) mgl_relplot(gr, x1, x2, y1, y2); else mgl_inplot(gr, x1, x2, y1, y2); } /// Put further plotting in column cell of previous subplot inline void ColumnPlot(int num, int ind, double d=0) { mgl_columnplot(gr,num,ind,d); } /// Put further plotting in matrix cell of previous subplot inline void GridPlot(int nx, int ny, int ind, double d=0) { mgl_gridplot(gr,nx,ny,ind,d); } /// Put further plotting in cell of stick rotated on angles tet, phi inline void StickPlot(int num, int i, double tet, double phi) { mgl_stickplot(gr,num,i,tet,phi); } /// Set factor of plot size inline void SetPlotFactor(double val) { mgl_set_plotfactor(gr,val); } /// Push transformation matrix into stack inline void Push() { mgl_mat_push(gr); } /// Pop transformation matrix from stack inline void Pop() { mgl_mat_pop(gr); } /// Add title for current subplot/inplot inline void Title(const char *title,const char *stl="",double size=-2) { mgl_title(gr,title,stl,size); } inline void Title(const wchar_t *title,const char *stl="",double size=-2) { mgl_titlew(gr,title,stl,size); } /// Set aspect ratio for further plotting. inline void Aspect(double Ax,double Ay,double Az=1) { mgl_aspect(gr, Ax, Ay, Az); } /// Rotate a further plotting. inline void Rotate(double TetX,double TetZ=0,double TetY=0) { mgl_rotate(gr, TetX, TetZ, TetY); } /// Rotate a further plotting around vector {x,y,z}. inline void RotateN(double Tet,double x,double y,double z) { mgl_rotate_vector(gr, Tet, x, y, z); } /// Set perspective (in range [0,1)) for plot. Set to zero for switching off. inline void Perspective(double val) { mgl_perspective(gr, val); } /// Set angle of view independently from Rotate(). inline void View(double TetX,double TetZ=0,double TetY=0) { mgl_view(gr, TetX, TetZ, TetY); } /// Zoom in/out a part of picture (use Zoom(0, 0, 1, 1) for restore default) inline void Zoom(double x1, double y1, double x2, double y2) { mgl_zoom(gr, x1, y1, x2, y2); } /// Set size of frame in pixels. Normally this function is called internally. inline void SetSize(int width, int height) { mgl_set_size(gr, width, height); } /// Set plot quality inline void SetQuality(int qual=MGL_DRAW_NORM) { mgl_set_quality(gr, qual); } /// Get plot quality inline int GetQuality() { return mgl_get_quality(gr); } /// Start group of objects inline void StartGroup(const char *name) { mgl_start_group(gr, name); } /// End group of objects inline void EndGroup() { mgl_end_group(gr); } /// Highlight objects with given id inline void Highlight(int id) { mgl_highlight(gr, id); } /// Show current image inline void ShowImage(const char *viewer, bool keep=0) { mgl_show_image(gr, viewer, keep); } /// Write the frame in file (depending extension, write current frame if fname is empty) inline void WriteFrame(const char *fname=0,const char *descr="") { mgl_write_frame(gr, fname, descr); } /// Write the frame in file using JPEG format inline void WriteJPEG(const char *fname,const char *descr="") { mgl_write_jpg(gr, fname, descr); } /// Write the frame in file using PNG format with transparency inline void WritePNG(const char *fname,const char *descr="", bool alpha=true) { if(alpha) mgl_write_png(gr, fname, descr); else mgl_write_png_solid(gr, fname, descr); } /// Write the frame in file using BMP format inline void WriteBMP(const char *fname,const char *descr="") { mgl_write_bmp(gr, fname, descr); } /// Write the frame in file using BMP format inline void WriteTGA(const char *fname,const char *descr="") { mgl_write_tga(gr, fname, descr); } /// Write the frame in file using PostScript format inline void WriteEPS(const char *fname,const char *descr="") { mgl_write_eps(gr, fname, descr); } /// Write the frame in file using LaTeX format inline void WriteTEX(const char *fname,const char *descr="") { mgl_write_tex(gr, fname, descr); } /// Write the frame in file using PostScript format as bitmap inline void WriteBPS(const char *fname,const char *descr="") { mgl_write_bps(gr, fname, descr); } /// Write the frame in file using SVG format inline void WriteSVG(const char *fname,const char *descr="") { mgl_write_svg(gr, fname, descr); } /// Write the frame in file using GIF format (only for current frame!) inline void WriteGIF(const char *fname,const char *descr="") { mgl_write_gif(gr, fname, descr); } /// Write the frame in file using OBJ format inline void WriteOBJ(const char *fname,const char *descr="",bool use_png=true) { mgl_write_obj(gr, fname, descr, use_png); } /// Write the frame in file using OBJ format - Balakin way inline void WriteOBJold(const char *fname,const char *descr="",bool use_png=true) { mgl_write_obj_old(gr, fname, descr, use_png); } /// Write the frame in file using XYZ format inline void WriteXYZ(const char *fname,const char *descr="") { mgl_write_xyz(gr, fname, descr); } /// Write the frame in file using STL format (faces only) inline void WriteSTL(const char *fname,const char *descr="") { mgl_write_stl(gr, fname, descr); } /// Write the frame in file using OFF format inline void WriteOFF(const char *fname,const char *descr="", bool colored=false) { mgl_write_off(gr, fname, descr,colored); } // /// Write the frame in file using X3D format // inline void WriteX3D(const char *fname,const char *descr="") // { mgl_write_x3d(gr, fname, descr); } /// Write the frame in file using PRC format inline void WritePRC(const char *fname,const char *descr="",bool make_pdf=true) { mgl_write_prc(gr, fname, descr, make_pdf); } /// Export in JSON format suitable for later drawing by JavaScript inline void WriteJSON(const char *fname,const char *descr="") { mgl_write_json(gr, fname, descr); } /// Force preparing the image. It can be useful for OpenGL mode mostly. inline void Finish() { mgl_finish(gr); } /// Create new frame. inline void NewFrame() { mgl_new_frame(gr); } /// Finish frame drawing inline void EndFrame() { mgl_end_frame(gr); } /// Get the number of created frames inline int GetNumFrame() { return mgl_get_num_frame(gr); } /// Reset frames counter (start it from zero) inline void ResetFrames() { mgl_reset_frames(gr); } /// Delete primitives for i-th frame (work if MGL_VECT_FRAME is set on) inline void DelFrame(int i) { mgl_del_frame(gr, i); } /// Get drawing data for i-th frame (work if MGL_VECT_FRAME is set on) inline void GetFrame(int i) { mgl_get_frame(gr, i); } /// Set drawing data for i-th frame (work if MGL_VECT_FRAME is set on). Work as EndFrame() but don't add frame to GIF image. inline void SetFrame(int i) { mgl_set_frame(gr, i); } /// Append drawing data from i-th frame (work if MGL_VECT_FRAME is set on) inline void ShowFrame(int i){ mgl_show_frame(gr, i); } /// Start write frames to cinema using GIF format inline void StartGIF(const char *fname, int ms=100) { mgl_start_gif(gr, fname,ms); } /// Stop writing cinema using GIF format inline void CloseGIF() { mgl_close_gif(gr); } /// Export points and primitives in file using MGLD format inline void ExportMGLD(const char *fname, const char *descr=0) { mgl_export_mgld(gr, fname, descr); } /// Import points and primitives from file using MGLD format inline void ImportMGLD(const char *fname, bool add=false) { mgl_import_mgld(gr, fname, add); } /// Copy RGB values into array which is allocated by user inline void GetRGB(char *imgdata, int imglen) { long w=mgl_get_width(gr), h=mgl_get_height(gr); if(imglen>=3*w*h) memcpy(imgdata, mgl_get_rgb(gr),3*w*h); } inline const unsigned char *GetRGB() { return mgl_get_rgb(gr); } /// Copy RGBA values into array which is allocated by user inline void GetRGBA(char *imgdata, int imglen) { long w=mgl_get_width(gr), h=mgl_get_height(gr); if(imglen>=4*w*h) memcpy(imgdata, mgl_get_rgba(gr),4*w*h); } inline const unsigned char *GetRGBA() { return mgl_get_rgba(gr); } /// Copy BGRN values into array which is allocated by user inline void GetBGRN(unsigned char *imgdata, int imglen) { long w=mgl_get_width(gr), h=mgl_get_height(gr), i; const unsigned char *buf=mgl_get_rgb(gr); if(imglen>=4*w*h) for(i=0;igr); } /// Clear up the frame inline void Clf(double r, double g, double b) { mgl_clf_rgb(gr, r, g, b); } inline void Clf() { mgl_clf(gr); } /// Clear unused points and primitives. Useful only in combination with SetFaceNum(). inline void ClearUnused() { mgl_clear_unused(gr); } /// Draws the point (ball) at position {x,y,z} with color c inline void Ball(mglPoint p, char c='r') { char s[3]={'.',c,0}; mgl_mark(gr, p.x, p.y, p.z, s); } /// Draws the mark at position p inline void Mark(mglPoint p, const char *mark) { mgl_mark(gr, p.x, p.y, p.z, mark); } /// Draws the line between points by specified pen inline void Line(mglPoint p1, mglPoint p2, const char *pen="B",int n=2) { mgl_line(gr, p1.x, p1.y, p1.z, p2.x, p2.y, p2.z, pen, n); } /// Draws the spline curve between points by specified pen inline void Curve(mglPoint p1, mglPoint d1, mglPoint p2, mglPoint d2, const char *pen="B", int n=100) { mgl_curve(gr, p1.x, p1.y, p1.z, d1.x, d1.y, d1.z, p2.x, p2.y, p2.z, d2.x, d2.y, d2.z, pen, n); } /// Draws the 3d error box e for point p inline void Error(mglPoint p, mglPoint e, const char *pen="k") { mgl_error_box(gr, p.x, p.y, p.z, e.x, e.y, e.z, pen); } /// Draws the face between points with color stl (include interpolation up to 4 colors). inline void Face(mglPoint p1, mglPoint p2, mglPoint p3, mglPoint p4, const char *stl="r") { mgl_face(gr, p1.x, p1.y, p1.z, p2.x, p2.y, p2.z, p3.x, p3.y, p3.z, p4.x, p4.y, p4.z, stl); } /// Draws the face in y-z plane at point p with color stl (include interpolation up to 4 colors). inline void FaceX(mglPoint p, double wy, double wz, const char *stl="w", double dx=0, double dy=0) { mgl_facex(gr, p.x, p.y, p.z, wy, wz, stl, dx, dy); } /// Draws the face in x-z plane at point p with color stl (include interpolation up to 4 colors). inline void FaceY(mglPoint p, double wx, double wz, const char *stl="w", double dx=0, double dy=0) { mgl_facey(gr, p.x, p.y, p.z, wx, wz, stl, dx, dy); } /// Draws the face in x-y plane at point p with color stl (include interpolation up to 4 colors). inline void FaceZ(mglPoint p, double wx, double wy, const char *stl="w", double dx=0, double dy=0) { mgl_facez(gr, p.x, p.y, p.z, wx, wy, stl, dx, dy); } /// Draws the drop at point p in direction d with color col and radius r inline void Drop(mglPoint p, mglPoint d, double r, const char *col="r", double shift=1, double ap=1) { mgl_drop(gr, p.x, p.y, p.z, d.x, d.y, d.z, r, col, shift, ap); } /// Draws the sphere at point p with color col and radius r inline void Sphere(mglPoint p, double r, const char *col="r") { mgl_sphere(gr, p.x, p.y, p.z, r, col); } /// Draws the cone between points p1,p2 with radius r1,r2 and with style stl inline void Cone(mglPoint p1, mglPoint p2, double r1, double r2=-1, const char *stl="r@") { mgl_cone(gr, p1.x, p1.y, p1.z, p2.x, p2.y, p2.z,r1,r2,stl); } /// Draws the ellipse between points p1,p2 with color stl and width r inline void Ellipse(mglPoint p1, mglPoint p2, double r, const char *stl="r") { mgl_ellipse(gr, p1.x, p1.y, p1.z, p2.x, p2.y, p2.z, r,stl); } /// Draws the circle at point p with color stl and radius r inline void Circle(mglPoint p, double r, const char *stl="r") { mgl_ellipse(gr, p.x, p.y, p.z, p.x, p.y, p.z, r,stl); } /// Draws the rhomb between points p1,p2 with color stl and width r inline void Rhomb(mglPoint p1, mglPoint p2, double r, const char *stl="r") { mgl_rhomb(gr, p1.x, p1.y, p1.z, p2.x, p2.y, p2.z, r,stl); } /// Print text in position p with specified font inline void Putsw(mglPoint p,const wchar_t *text,const char *font=":C",double size=-1) { mgl_putsw(gr, p.x, p.y, p.z, text, font, size); } inline void Puts(mglPoint p,const char *text,const char *font=":C",double size=-1) { mgl_puts(gr, p.x, p.y, p.z, text, font, size); } inline void Putsw(double x, double y,const wchar_t *text,const char *font=":AC",double size=-1) { mgl_putsw(gr, x, y, 0, text, font, size); } inline void Puts(double x, double y,const char *text,const char *font=":AC",double size=-1) { mgl_puts(gr, x, y, 0, text, font, size); } /// Print text in position p along direction d with specified font inline void Putsw(mglPoint p, mglPoint d, const wchar_t *text, const char *font=":L", double size=-1) { mgl_putsw_dir(gr, p.x, p.y, p.z, d.x, d.y, d.z, text, font, size); } inline void Puts(mglPoint p, mglPoint d, const char *text, const char *font=":L", double size=-1) { mgl_puts_dir(gr, p.x, p.y, p.z, d.x, d.y, d.z, text, font, size); } /// Print text along the curve inline void Text(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *text, const char *font="", const char *opt="") { mgl_text_xyz(gr, &x, &y, &z, text, font, opt); } inline void Text(const mglDataA &x, const mglDataA &y, const char *text, const char *font="", const char *opt="") { mgl_text_xy(gr, &x, &y, text, font, opt); } inline void Text(const mglDataA &y, const char *text, const char *font="", const char *opt="") { mgl_text_y(gr, &y, text, font, opt); } inline void Text(const mglDataA &x, const mglDataA &y, const mglDataA &z, const wchar_t *text, const char *font="", const char *opt="") { mgl_textw_xyz(gr, &x, &y, &z, text, font, opt); } inline void Text(const mglDataA &x, const mglDataA &y, const wchar_t *text, const char *font="", const char *opt="") { mgl_textw_xy(gr, &x, &y, text, font, opt); } inline void Text(const mglDataA &y, const wchar_t *text, const char *font="", const char *opt="") { mgl_textw_y(gr, &y, text, font, opt); } /// Draws bounding box outside the plotting volume with color c. inline void Box(const char *col="", bool ticks=true) { mgl_box_str(gr, col, ticks); } /// Draw axises with ticks in direction(s) dir. inline void Axis(const char *dir="xyzt", const char *stl="", const char *opt="") { mgl_axis(gr, dir,stl,opt); } /// Draw grid lines perpendicular to direction(s) dir. inline void Grid(const char *dir="xyzt",const char *pen="B", const char *opt="") { mgl_axis_grid(gr, dir, pen, opt); } /// Print the label text for axis dir. inline void Label(char dir, const char *text, double pos=+1, const char *opt="") { mgl_label(gr, dir, text, pos, opt); } inline void Label(char dir, const wchar_t *text, double pos=+1, const char *opt="") { mgl_labelw(gr, dir, text, pos, opt); } /// Draw colorbar at edge of axis inline void Colorbar(const char *sch="") { mgl_colorbar(gr, sch); } inline void Colorbar(const char *sch,double x,double y,double w=1,double h=1) { mgl_colorbar_ext(gr, sch, x,y,w,h); } /// Draw colorbar with manual colors at edge of axis inline void Colorbar(const mglDataA &val, const char *sch="") { mgl_colorbar_val(gr, &val, sch); } inline void Colorbar(const mglDataA &val, const char *sch,double x,double y,double w=1,double h=1) { mgl_colorbar_val_ext(gr, &val, sch, x,y,w,h); } /// Add string to legend inline void AddLegend(const char *text,const char *style) { mgl_add_legend(gr, text, style); } inline void AddLegend(const wchar_t *text,const char *style) { mgl_add_legendw(gr, text, style); } /// Clear saved legend string inline void ClearLegend() { mgl_clear_legend(gr); } /// Draw legend of accumulated strings at position {x,y} inline void Legend(double x, double y, const char *font="#", const char *opt="") { mgl_legend_pos(gr, x, y, font, opt); } /// Draw legend of accumulated strings inline void Legend(int where=3, const char *font="#", const char *opt="") { mgl_legend(gr, where, font, opt); } /// Set number of marks in legend sample inline void SetLegendMarks(int num) { mgl_set_legend_marks(gr, num); } /// Draw usual curve {x,y,z} inline void Plot(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *pen="", const char *opt="") { mgl_plot_xyz(gr, &x, &y, &z, pen, opt); } inline void Plot(const mglDataA &x, const mglDataA &y, const char *pen="", const char *opt="") { mgl_plot_xy(gr, &x, &y, pen,opt); } inline void Plot(const mglDataA &y, const char *pen="", const char *opt="") { mgl_plot(gr, &y, pen,opt); } /// Draw tape(s) which rotates as (bi-)normales of curve {x,y,z} inline void Tape(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *pen="", const char *opt="") { mgl_tape_xyz(gr, &x, &y, &z, pen, opt); } inline void Tape(const mglDataA &x, const mglDataA &y, const char *pen="", const char *opt="") { mgl_tape_xy(gr, &x, &y, pen,opt); } inline void Tape(const mglDataA &y, const char *pen="", const char *opt="") { mgl_tape(gr, &y, pen,opt); } /// Draw radar chart (plot in curved coordinates) inline void Radar(const mglDataA &a, const char *pen="", const char *opt="") { mgl_radar(gr, &a, pen, opt); } /// Draw stairs for points in arrays {x,y,z} inline void Step(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *pen="", const char *opt="") { mgl_step_xyz(gr, &x, &y, &z, pen, opt); } inline void Step(const mglDataA &x, const mglDataA &y, const char *pen="", const char *opt="") { mgl_step_xy(gr, &x, &y, pen, opt); } inline void Step(const mglDataA &y, const char *pen="", const char *opt="") { mgl_step(gr, &y, pen, opt); } /// Draw curve {x,y,z} which is colored by c (like tension plot) inline void Tens(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const char *pen="", const char *opt="") { mgl_tens_xyz(gr, &x, &y, &z, &c, pen, opt); } inline void Tens(const mglDataA &x, const mglDataA &y, const mglDataA &c, const char *pen="", const char *opt="") { mgl_tens_xy(gr, &x, &y, &c, pen, opt); } inline void Tens(const mglDataA &y, const mglDataA &c, const char *pen="", const char *opt="") { mgl_tens(gr, &y, &c, pen, opt); } /// Fill area between curve {x,y,z} and axis plane inline void Area(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *pen="", const char *opt="") { mgl_area_xyz(gr, &x, &y, &z, pen, opt); } inline void Area(const mglDataA &x, const mglDataA &y, const char *pen="", const char *opt="") { mgl_area_xy(gr, &x, &y, pen, opt); } inline void Area(const mglDataA &y, const char *pen="", const char *opt="") { mgl_area(gr, &y, pen, opt); } /// Fill area between curves y1 and y2 specified parametrically inline void Region(const mglDataA &y1, const mglDataA &y2, const char *pen="", const char *opt="") { mgl_region(gr, &y1, &y2, pen, opt); } inline void Region(const mglDataA &x, const mglDataA &y1, const mglDataA &y2, const char *pen="", const char *opt="") { mgl_region_xy(gr, &x, &y1, &y2, pen, opt); } /// Draw vertical lines from points {x,y,z} to axis plane inline void Stem(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *pen="", const char *opt="") { mgl_stem_xyz(gr, &x, &y, &z, pen, opt); } inline void Stem(const mglDataA &x, const mglDataA &y, const char *pen="", const char *opt="") { mgl_stem_xy(gr, &x, &y, pen, opt); } inline void Stem(const mglDataA &y, const char *pen="", const char *opt="") { mgl_stem(gr, &y, pen, opt); } /// Draw vertical bars from points {x,y,z} to axis plane inline void Bars(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *pen="", const char *opt="") { mgl_bars_xyz(gr, &x, &y, &z, pen, opt); } inline void Bars(const mglDataA &x, const mglDataA &y, const char *pen="", const char *opt="") { mgl_bars_xy(gr, &x, &y, pen, opt); } inline void Bars(const mglDataA &y, const char *pen="", const char *opt="") { mgl_bars(gr, &y, pen, opt); } /// Draw horizontal bars from points {x,y} to axis plane inline void Barh(const mglDataA &y, const mglDataA &v, const char *pen="", const char *opt="") { mgl_barh_yx(gr, &y, &v, pen, opt); } inline void Barh(const mglDataA &v, const char *pen="", const char *opt="") { mgl_barh(gr, &v, pen, opt); } /// Draw chart for data a inline void Chart(const mglDataA &a, const char *colors="", const char *opt="") { mgl_chart(gr, &a, colors,opt); } /// Draw box-plot (special 5-value plot used in statistic) inline void BoxPlot(const mglDataA &x, const mglDataA &y, const char *pen="", const char *opt="") { mgl_boxplot_xy(gr, &x, &y, pen,opt); } inline void BoxPlot(const mglDataA &y, const char *pen="", const char *opt="") { mgl_boxplot(gr, &y, pen,opt); } /// Draw candle plot inline void Candle(const mglDataA &x, const mglDataA &v1, const mglDataA &v2, const mglDataA &y1, const mglDataA &y2, const char *pen="", const char *opt="") { mgl_candle_xyv(gr, &x, &v1, &v2, &y1, &y2, pen, opt); } inline void Candle(const mglDataA &v1, const mglDataA &v2, const mglDataA &y1, const mglDataA &y2, const char *pen="", const char *opt="") { mgl_candle_yv(gr, &v1, &v2, &y1, &y2, pen, opt); } inline void Candle(const mglDataA &v1, const mglDataA &v2, const char *pen="", const char *opt="") { mgl_candle_yv(gr, &v1, &v2, NULL, NULL, pen, opt); } inline void Candle(const mglDataA &y, const mglDataA &y1, const mglDataA &y2, const char *pen="", const char *opt="") { mgl_candle(gr, &y, &y1, &y2, pen, opt); } inline void Candle(const mglDataA &y, const char *pen="", const char *opt="") { mgl_candle(gr, &y, NULL, NULL, pen, opt); } /// Draw cones from points {x,y,z} to axis plane inline void Cones(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *pen="@", const char *opt="") { mgl_cones_xyz(gr, &x, &y, &z, pen, opt); } inline void Cones(const mglDataA &x, const mglDataA &z, const char *pen="@", const char *opt="") { mgl_cones_xz(gr, &x, &z, pen, opt); } inline void Cones(const mglDataA &z, const char *pen="@", const char *opt="") { mgl_cones(gr, &z, pen, opt); } /// Draw error boxes {ex,ey} at points {x,y} inline void Error(const mglDataA &y, const mglDataA &ey, const char *pen="", const char *opt="") { mgl_error(gr, &y, &ey, pen, opt); } inline void Error(const mglDataA &x, const mglDataA &y, const mglDataA &ey, const char *pen="", const char *opt="") { mgl_error_xy(gr, &x, &y, &ey, pen, opt); } inline void Error(const mglDataA &x, const mglDataA &y, const mglDataA &ex, const mglDataA &ey, const char *pen="", const char *opt="") { mgl_error_exy(gr, &x, &y, &ex, &ey, pen, opt); } /// Draw marks with size r at points {x,y,z} inline void Mark(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &r, const char *pen, const char *opt="") { mgl_mark_xyz(gr, &x, &y, &z, &r, pen, opt); } inline void Mark(const mglDataA &x, const mglDataA &y, const mglDataA &r, const char *pen, const char *opt="") { mgl_mark_xy(gr, &x, &y, &r, pen, opt); } inline void Mark(const mglDataA &y, const mglDataA &r, const char *pen, const char *opt="") { mgl_mark_y(gr, &y, &r, pen, opt); } /// Draw textual marks with size r at points {x,y,z} inline void TextMark(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &r, const char *text, const char *fnt="", const char *opt="") { mgl_textmark_xyzr(gr, &x, &y, &z, &r, text, fnt, opt); } inline void TextMark(const mglDataA &x, const mglDataA &y, const mglDataA &r, const char *text, const char *fnt="", const char *opt="") { mgl_textmark_xyr(gr, &x, &y, &r, text, fnt, opt); } inline void TextMark(const mglDataA &y, const mglDataA &r, const char *text, const char *fnt="", const char *opt="") { mgl_textmark_yr(gr, &y, &r, text, fnt, opt); } inline void TextMark(const mglDataA &y, const char *text, const char *fnt="", const char *opt="") { mgl_textmark(gr, &y, text, fnt, opt); } inline void TextMark(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &r, const wchar_t *text, const char *fnt="", const char *opt="") { mgl_textmarkw_xyzr(gr, &x, &y, &z, &r, text, fnt, opt); } inline void TextMark(const mglDataA &x, const mglDataA &y, const mglDataA &r, const wchar_t *text, const char *fnt="", const char *opt="") { mgl_textmarkw_xyr(gr, &x, &y, &r, text, fnt, opt); } inline void TextMark(const mglDataA &y, const mglDataA &r, const wchar_t *text, const char *fnt="", const char *opt="") { mgl_textmarkw_yr(gr, &y, &r, text, fnt, opt); } inline void TextMark(const mglDataA &y, const wchar_t *text, const char *fnt="", const char *opt="") { mgl_textmarkw(gr, &y, text, fnt, opt); } /// Draw labels for points coordinate(s) at points {x,y,z} inline void Label(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *text, const char *fnt="", const char *opt="") { mgl_label_xyz(gr, &x, &y, &z, text, fnt, opt); } inline void Label(const mglDataA &x, const mglDataA &y, const char *text, const char *fnt="", const char *opt="") { mgl_label_xy(gr, &x, &y, text, fnt, opt); } inline void Label(const mglDataA &y, const char *text, const char *fnt="", const char *opt="") { mgl_label_y(gr, &y, text, fnt, opt); } inline void Label(const mglDataA &x, const mglDataA &y, const mglDataA &z, const wchar_t *text, const char *fnt="", const char *opt="") { mgl_labelw_xyz(gr, &x, &y, &z, text, fnt, opt); } inline void Label(const mglDataA &x, const mglDataA &y, const wchar_t *text, const char *fnt="", const char *opt="") { mgl_labelw_xy(gr, &x, &y, text, fnt, opt); } inline void Label(const mglDataA &y, const wchar_t *text, const char *fnt="", const char *opt="") { mgl_labelw_y(gr, &y, text, fnt, opt); } /// Draw table for values val along given direction with row labels text inline void Table(const mglDataA &val, const char *text, const char *fnt="#|", const char *opt="") { mgl_table(gr, 0, 0, &val, text, fnt, opt); } inline void Table(const mglDataA &val, const wchar_t *text, const char *fnt="#|", const char *opt="") { mgl_tablew(gr, 0, 0, &val, text, fnt, opt); } /// Draw table for values val along given direction with row labels text at given position inline void Table(double x, double y, const mglDataA &val, const char *text, const char *fnt="#|", const char *opt="") { mgl_table(gr, x, y, &val, text, fnt, opt); } inline void Table(double x, double y, const mglDataA &val, const wchar_t *text, const char *fnt="#|", const char *opt="") { mgl_tablew(gr, x, y, &val, text, fnt, opt); } /// Draw tube with radius r around curve {x,y,z} inline void Tube(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &r, const char *pen="", const char *opt="") { mgl_tube_xyzr(gr, &x, &y, &z, &r, pen, opt); } inline void Tube(const mglDataA &x, const mglDataA &y, const mglDataA &z, double r, const char *pen="", const char *opt="") { mgl_tube_xyz(gr, &x, &y, &z, r, pen, opt); } inline void Tube(const mglDataA &x, const mglDataA &y, const mglDataA &r, const char *pen="", const char *opt="") { mgl_tube_xyr(gr, &x, &y, &r, pen, opt); } inline void Tube(const mglDataA &x, const mglDataA &y, double r, const char *pen="", const char *opt="") { mgl_tube_xy(gr, &x, &y, r, pen, opt); } inline void Tube(const mglDataA &y, const mglDataA &r, const char *pen="", const char *opt="") { mgl_tube_r(gr, &y, &r, pen, opt); } inline void Tube(const mglDataA &y, double r, const char *pen="", const char *opt="") { mgl_tube(gr, &y, r, pen, opt); } /// Draw surface of curve {r,z} rotatation around axis inline void Torus(const mglDataA &r, const mglDataA &z, const char *pen="", const char *opt="") { mgl_torus(gr, &r, &z, pen,opt); } /// Draw mesh lines for 2d data specified parametrically inline void Mesh(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *stl="", const char *opt="") { mgl_mesh_xy(gr, &x, &y, &z, stl, opt); } inline void Mesh(const mglDataA &z, const char *stl="", const char *opt="") { mgl_mesh(gr, &z, stl, opt); } /// Draw mesh lines for 2d data specified parametrically inline void Fall(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *stl="", const char *opt="") { mgl_fall_xy(gr, &x, &y, &z, stl, opt); } inline void Fall(const mglDataA &z, const char *stl="", const char *opt="") { mgl_fall(gr, &z, stl, opt); } /// Draw belts for 2d data specified parametrically inline void Belt(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *stl="", const char *opt="") { mgl_belt_xy(gr, &x, &y, &z, stl, opt); } inline void Belt(const mglDataA &z, const char *stl="", const char *opt="") { mgl_belt(gr, &z, stl, opt); } /// Draw surface for 2d data specified parametrically with color proportional to z inline void Surf(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *stl="", const char *opt="") { mgl_surf_xy(gr, &x, &y, &z, stl, opt); } inline void Surf(const mglDataA &z, const char *stl="", const char *opt="") { mgl_surf(gr, &z, stl, opt); } /// Draw grid lines for density plot of 2d data specified parametrically inline void Grid(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *stl="", const char *opt="") { mgl_grid_xy(gr, &x, &y, &z, stl, opt); } inline void Grid(const mglDataA &z, const char *stl="", const char *opt="") { mgl_grid(gr, &z, stl, opt); } /// Draw vertical tiles for 2d data specified parametrically inline void Tile(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *stl="", const char *opt="") { mgl_tile_xy(gr, &x, &y, &z, stl, opt); } inline void Tile(const mglDataA &z, const char *stl="", const char *opt="") { mgl_tile(gr, &z, stl, opt); } /// Draw density plot for 2d data specified parametrically inline void Dens(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *stl="", const char *opt="") { mgl_dens_xy(gr, &x, &y, &z, stl, opt); } inline void Dens(const mglDataA &z, const char *stl="", const char *opt="") { mgl_dens(gr, &z, stl, opt); } /// Draw vertical boxes for 2d data specified parametrically inline void Boxs(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *stl="", const char *opt="") { mgl_boxs_xy(gr, &x, &y, &z, stl, opt); } inline void Boxs(const mglDataA &z, const char *stl="", const char *opt="") { mgl_boxs(gr, &z, stl, opt); } /// Draw contour lines for 2d data specified parametrically inline void Cont(const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_cont_xy_val(gr, &v, &x, &y, &z, sch, opt); } inline void Cont(const mglDataA &v, const mglDataA &z, const char *sch="", const char *opt="") { mgl_cont_val(gr, &v, &z, sch, opt); } inline void Cont(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_cont_xy(gr, &x, &y, &z, sch, opt); } inline void Cont(const mglDataA &z, const char *sch="", const char *opt="") { mgl_cont(gr, &z, sch, opt); } /// Draw solid contours for 2d data specified parametrically inline void ContF(const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_contf_xy_val(gr, &v, &x, &y, &z, sch, opt); } inline void ContF(const mglDataA &v, const mglDataA &z, const char *sch="", const char *opt="") { mgl_contf_val(gr, &v, &z, sch, opt); } inline void ContF(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_contf_xy(gr, &x, &y, &z, sch, opt); } inline void ContF(const mglDataA &z, const char *sch="", const char *opt="") { mgl_contf(gr, &z, sch, opt); } /// Draw solid contours for 2d data specified parametrically with manual colors inline void ContD(const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_contd_xy_val(gr, &v, &x, &y, &z, sch, opt); } inline void ContD(const mglDataA &v, const mglDataA &z, const char *sch="", const char *opt="") { mgl_contd_val(gr, &v, &z, sch, opt); } inline void ContD(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_contd_xy(gr, &x, &y, &z, sch, opt); } inline void ContD(const mglDataA &z, const char *sch="", const char *opt="") { mgl_contd(gr, &z, sch, opt); } /// Draw contour tubes for 2d data specified parametrically inline void ContV(const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_contv_xy_val(gr, &v, &x, &y, &z, sch, opt); } inline void ContV(const mglDataA &v, const mglDataA &z, const char *sch="", const char *opt="") { mgl_contv_val(gr, &v, &z, sch, opt); } inline void ContV(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_contv_xy(gr, &x, &y, &z, sch, opt); } inline void ContV(const mglDataA &z, const char *sch="", const char *opt="") { mgl_contv(gr, &z, sch, opt); } /// Draw axial-symmetric isosurfaces for 2d data specified parametrically inline void Axial(const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_axial_xy_val(gr, &v, &x, &y, &z, sch,opt); } inline void Axial(const mglDataA &v, const mglDataA &z, const char *sch="", const char *opt="") { mgl_axial_val(gr, &v, &z, sch, opt); } inline void Axial(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_axial_xy(gr, &x, &y, &z, sch, opt); } inline void Axial(const mglDataA &z, const char *sch="", const char *opt="") { mgl_axial(gr, &z, sch, opt); } /// Draw grid lines for density plot at slice for 3d data specified parametrically inline void Grid3(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *stl="", double sVal=-1, const char *opt="") { mgl_grid3_xyz(gr, &x, &y, &z, &a, stl, sVal, opt); } inline void Grid3(const mglDataA &a, const char *stl="", double sVal=-1, const char *opt="") { mgl_grid3(gr, &a, stl, sVal, opt); } /// Draw density plot at slice for 3d data specified parametrically inline void Dens3(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *stl="", double sVal=-1, const char *opt="") { mgl_dens3_xyz(gr, &x, &y, &z, &a, stl, sVal, opt); } inline void Dens3(const mglDataA &a, const char *stl="", double sVal=-1, const char *opt="") { mgl_dens3(gr, &a, stl, sVal, opt); } /// Draw isosurface(s) for 3d data specified parametrically inline void Surf3(double Val, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *stl="", const char *opt="") { mgl_surf3_xyz_val(gr, Val, &x, &y, &z, &a, stl, opt); } inline void Surf3(double Val, const mglDataA &a, const char *stl="", const char *opt="") { mgl_surf3_val(gr, Val, &a, stl, opt); } inline void Surf3(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *stl="", const char *opt="") { mgl_surf3_xyz(gr, &x, &y, &z, &a, stl, opt); } inline void Surf3(const mglDataA &a, const char *stl="", const char *opt="") { mgl_surf3(gr, &a, stl, opt); } /// Draw a semi-transparent cloud for 3d data inline void Cloud(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *stl="", const char *opt="") { mgl_cloud_xyz(gr, &x, &y, &z, &a, stl, opt); } inline void Cloud(const mglDataA &a, const char *stl="", const char *opt="") { mgl_cloud(gr, &a, stl, opt); } /// Draw contour lines at slice for 3d data specified parametrically inline void Cont3(const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", double sVal=-1, const char *opt="") { mgl_cont3_xyz_val(gr, &v, &x, &y, &z, &a, sch, sVal, opt); } inline void Cont3(const mglDataA &v, const mglDataA &a, const char *sch="", double sVal=-1, const char *opt="") { mgl_cont3_val(gr, &v, &a, sch, sVal, opt); } inline void Cont3(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", double sVal=-1, const char *opt="") { mgl_cont3_xyz(gr, &x, &y, &z, &a, sch, sVal, opt); } inline void Cont3(const mglDataA &a, const char *sch="", double sVal=-1, const char *opt="") { mgl_cont3(gr, &a, sch, sVal, opt); } /// Draw solid contours at slice for 3d data specified parametrically inline void ContF3(const mglDataA &v, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", double sVal=-1, const char *opt="") { mgl_contf3_xyz_val(gr, &v, &x, &y, &z, &a, sch, sVal, opt); } inline void ContF3(const mglDataA &v, const mglDataA &a, const char *sch="", double sVal=-1, const char *opt="") { mgl_contf3_val(gr, &v, &a, sch, sVal, opt); } inline void ContF3(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", double sVal=-1, const char *opt="") { mgl_contf3_xyz(gr, &x, &y, &z, &a, sch, sVal, opt); } inline void ContF3(const mglDataA &a, const char *sch="", double sVal=-1, const char *opt="") { mgl_contf3(gr, &a, sch, sVal, opt); } /// Draw several isosurfaces for 3d beam in curvilinear coordinates inline void Beam(const mglDataA &tr, const mglDataA &g1, const mglDataA &g2, const mglDataA &a, double r, const char *stl=0, int flag=0, int num=3) { mgl_beam(gr, &tr,&g1,&g2,&a,r,stl,flag,num); } inline void Beam(double val, const mglDataA &tr, const mglDataA &g1, const mglDataA &g2, const mglDataA &a, double r, const char *stl=NULL, int flag=0) { mgl_beam_val(gr,val,&tr,&g1,&g2,&a,r,stl,flag); } /// Draw vertical tiles with variable size r for 2d data specified parametrically inline void TileS(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &r, const char *stl="", const char *opt="") { mgl_tiles_xy(gr, &x, &y, &z, &r, stl, opt); } inline void TileS(const mglDataA &z, const mglDataA &r, const char *stl="", const char *opt="") { mgl_tiles(gr, &z, &r, stl, opt); } /// Draw surface for 2d data specified parametrically with color proportional to c inline void SurfC(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="") { mgl_surfc_xy(gr, &x, &y, &z, &c, sch,opt); } inline void SurfC(const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="") { mgl_surfc(gr, &z, &c, sch,opt); } /// Draw surface for 2d data specified parametrically with alpha proportional to c inline void SurfA(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="") { mgl_surfa_xy(gr, &x, &y, &z, &c, sch,opt); } inline void SurfA(const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="") { mgl_surfa(gr, &z, &c, sch,opt); } /// Color map of matrix a to matrix b, both matrix can parametrically depend on coordinates inline void Map(const mglDataA &x, const mglDataA &y, const mglDataA &a, const mglDataA &b, const char *sch="", const char *opt="") { mgl_map_xy(gr, &x, &y, &a, &b, sch, opt); } inline void Map(const mglDataA &a, const mglDataA &b, const char *sch="", const char *opt="") { mgl_map(gr, &a, &b, sch, opt); } /// Draw density plot for spectra-gramm specified parametrically inline void STFA(const mglDataA &x, const mglDataA &y, const mglDataA &re, const mglDataA &im, int dn, const char *sch="", const char *opt="") { mgl_stfa_xy(gr, &x, &y, &re, &im, dn, sch, opt); } inline void STFA(const mglDataA &re, const mglDataA &im, int dn, const char *sch="", const char *opt="") { mgl_stfa(gr, &re, &im, dn, sch, opt); } /// Draw isosurface(s) for 3d data specified parametrically with alpha proportional to b inline void Surf3A(double Val, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &b, const char *stl="", const char *opt="") { mgl_surf3a_xyz_val(gr, Val, &x, &y, &z, &a, &b, stl, opt); } inline void Surf3A(double Val, const mglDataA &a, const mglDataA &b, const char *stl="", const char *opt="") { mgl_surf3a_val(gr, Val, &a, &b, stl, opt); } inline void Surf3A(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &b, const char *stl="", const char *opt="") { mgl_surf3a_xyz(gr, &x, &y, &z, &a, &b, stl, opt); } inline void Surf3A(const mglDataA &a, const mglDataA &b, const char *stl="", const char *opt="") { mgl_surf3a(gr, &a, &b, stl, opt); } /// Draw isosurface(s) for 3d data specified parametrically with color proportional to b inline void Surf3C(double Val, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &b, const char *stl="", const char *opt="") { mgl_surf3c_xyz_val(gr, Val, &x, &y, &z, &a, &b, stl,opt); } inline void Surf3C(double Val, const mglDataA &a, const mglDataA &b, const char *stl="", const char *opt="") { mgl_surf3c_val(gr, Val, &a, &b, stl, opt); } inline void Surf3C(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &b, const char *stl="", const char *opt="") { mgl_surf3c_xyz(gr, &x, &y, &z, &a, &b, stl, opt); } inline void Surf3C(const mglDataA &a, const mglDataA &b, const char *stl="", const char *opt="") { mgl_surf3c(gr, &a, &b, stl, opt); } /// Plot dew drops for vector field {ax,ay} parametrically depended on coordinate {x,y} inline void Dew(const mglDataA &x, const mglDataA &y, const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="") { mgl_dew_xy(gr, &x, &y, &ax, &ay, sch, opt); } inline void Dew(const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="") { mgl_dew_2d(gr, &ax, &ay, sch, opt); } /// Plot vectors at position {x,y,z} along {ax,ay,az} with length/color proportional to |a| inline void Traj(const mglDataA &x, const mglDataA &y, const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="") { mgl_traj_xy(gr, &x, &y, &ax, &ay, sch, opt); } inline void Traj(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *sch="", const char *opt="") { mgl_traj_xyz(gr, &x, &y, &z, &ax, &ay, &az, sch, opt); } /// Plot vector field {ax,ay,az} parametrically depended on coordinate {x,y,z} with length/color proportional to |a| inline void Vect(const mglDataA &x, const mglDataA &y, const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="") { mgl_vect_xy(gr, &x, &y, &ax, &ay, sch, opt); } inline void Vect(const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="") { mgl_vect_2d(gr, &ax, &ay, sch, opt); } inline void Vect(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *sch="", const char *opt="") { mgl_vect_xyz(gr, &x, &y, &z, &ax, &ay, &az, sch, opt); } inline void Vect(const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *sch="", const char *opt="") { mgl_vect_3d(gr, &ax, &ay, &az, sch, opt); } /// Draw vector plot at slice for 3d data specified parametrically inline void Vect3(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *stl="", double sVal=-1, const char *opt="") { mgl_vect3_xyz(gr, &x, &y, &z, &ax,&ay,&az, stl, sVal, opt); } inline void Vect3(const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *stl="", double sVal=-1, const char *opt="") { mgl_vect3(gr, &ax,&ay,&az, stl, sVal, opt); } /// Plot flows for vector field {ax,ay,az} parametrically depended on coordinate {x,y,z} with color proportional to |a| inline void Flow(const mglDataA &x, const mglDataA &y, const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="") { mgl_flow_xy(gr, &x, &y, &ax, &ay, sch, opt); } inline void Flow(const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="") { mgl_flow_2d(gr, &ax, &ay, sch, opt); } inline void Flow(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *sch="", const char *opt="") { mgl_flow_xyz(gr, &x, &y, &z, &ax, &ay, &az, sch, opt); } inline void Flow(const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *sch="", const char *opt="") { mgl_flow_3d(gr, &ax, &ay, &az, sch, opt); } /// Plot flow from point p for vector field {ax,ay,az} parametrically depended on coordinate {x,y,z} with color proportional to |a| inline void FlowP(mglPoint p, const mglDataA &x, const mglDataA &y, const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="") { mgl_flowp_xy(gr, p.x, p.y, p.z, &x, &y, &ax, &ay, sch, opt); } inline void FlowP(mglPoint p, const mglDataA &ax, const mglDataA &ay, const char *sch="", const char *opt="") { mgl_flowp_2d(gr, p.x, p.y, p.z, &ax, &ay, sch, opt); } inline void FlowP(mglPoint p, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *sch="", const char *opt="") { mgl_flowp_xyz(gr, p.x, p.y, p.z, &x, &y, &z, &ax, &ay, &az, sch, opt); } inline void FlowP(mglPoint p, const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *sch="", const char *opt="") { mgl_flowp_3d(gr, p.x, p.y, p.z, &ax, &ay, &az, sch, opt); } /// Plot flows for gradient of scalar field phi parametrically depended on coordinate {x,y,z} inline void Grad(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &phi, const char *sch="", const char *opt="") { mgl_grad_xyz(gr,&x,&y,&z,&phi,sch,opt); } inline void Grad(const mglDataA &x, const mglDataA &y, const mglDataA &phi, const char *sch="", const char *opt="") { mgl_grad_xy(gr,&x,&y,&phi,sch,opt); } inline void Grad(const mglDataA &phi, const char *sch="", const char *opt="") { mgl_grad(gr,&phi,sch,opt); } /// Plot flow pipes for vector field {ax,ay,az} parametrically depended on coordinate {x,y,z} with color and radius proportional to |a| inline void Pipe(const mglDataA &x, const mglDataA &y, const mglDataA &ax, const mglDataA &ay, const char *sch="", double r0=0.05, const char *opt="") { mgl_pipe_xy(gr, &x, &y, &ax, &ay, sch, r0, opt); } inline void Pipe(const mglDataA &ax, const mglDataA &ay, const char *sch="", double r0=0.05, const char *opt="") { mgl_pipe_2d(gr, &ax, &ay, sch, r0, opt); } inline void Pipe(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *sch="", double r0=0.05, const char *opt="") { mgl_pipe_xyz(gr, &x, &y, &z, &ax, &ay, &az, sch, r0, opt); } inline void Pipe(const mglDataA &ax, const mglDataA &ay, const mglDataA &az, const char *sch="", double r0=0.05, const char *opt="") { mgl_pipe_3d(gr, &ax, &ay, &az, sch, r0, opt); } /// Draw density plot for data at x = sVal inline void DensX(const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_dens_x(gr, &a, stl, sVal, opt); } /// Draw density plot for data at y = sVal inline void DensY(const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_dens_y(gr, &a, stl, sVal, opt); } /// Draw density plot for data at z = sVal inline void DensZ(const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_dens_z(gr, &a, stl, sVal, opt); } /// Draw contour lines for data at x = sVal inline void ContX(const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_cont_x(gr, &a, stl, sVal, opt); } inline void ContX(const mglDataA &v, const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_cont_x_val(gr, &v, &a, stl, sVal, opt); } /// Draw contour lines for data at y = sVal inline void ContY(const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_cont_y(gr, &a, stl, sVal, opt); } inline void ContY(const mglDataA &v, const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_cont_y_val(gr, &v, &a, stl, sVal, opt); } /// Draw contour lines for data at z = sVal inline void ContZ(const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_cont_z(gr, &a, stl, sVal, opt); } inline void ContZ(const mglDataA &v, const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_cont_z_val(gr, &v, &a, stl, sVal, opt); } /// Draw solid contours for data at x = sVal inline void ContFX(const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_contf_x(gr, &a, stl, sVal, opt); } inline void ContFX(const mglDataA &v, const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_contf_x_val(gr, &v, &a, stl, sVal, opt); } /// Draw solid contours for data at y = sVal inline void ContFY(const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_contf_y(gr, &a, stl, sVal, opt); } inline void ContFY(const mglDataA &v, const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_contf_y_val(gr, &v, &a, stl, sVal, opt); } /// Draw solid contours for data at z = sVal inline void ContFZ(const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_contf_z(gr, &a, stl, sVal, opt); } inline void ContFZ(const mglDataA &v, const mglDataA &a, const char *stl="", double sVal=NaN, const char *opt="") { mgl_contf_z_val(gr, &v, &a, stl, sVal, opt); } /// Draw curve for formula with x in x-axis range inline void FPlot(const char *fy, const char *stl="", const char *opt="") { mgl_fplot(gr, fy, stl, opt); } /// Draw curve for formulas parametrically depended on t in range [0,1] inline void FPlot(const char *fx, const char *fy, const char *fz, const char *stl, const char *opt="") { mgl_fplot_xyz(gr, fx, fy, fz, stl, opt); } /// Draw surface by formula with x,y in axis range inline void FSurf(const char *fz, const char *stl="", const char *opt="") { mgl_fsurf(gr, fz, stl, opt); } /// Draw surface by formulas parametrically depended on u,v in range [0,1] inline void FSurf(const char *fx, const char *fy, const char *fz, const char *stl, const char *opt="") { mgl_fsurf_xyz(gr, fx, fy, fz, stl, opt); } /// Draw triangle mesh for points in arrays {x,y,z} with specified color c. inline void TriPlot(const mglDataA &nums, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="") { mgl_triplot_xyzc(gr, &nums, &x, &y, &z, &c, sch, opt); } inline void TriPlot(const mglDataA &nums, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_triplot_xyz(gr, &nums, &x, &y, &z, sch, opt); } inline void TriPlot(const mglDataA &nums, const mglDataA &x, const mglDataA &y, const char *sch="", const char *opt="") { mgl_triplot_xy(gr, &nums, &x, &y, sch, opt); } /// Draw quad mesh for points in arrays {x,y,z} with specified color c. inline void QuadPlot(const mglDataA &nums, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &c, const char *sch="", const char *opt="") { mgl_quadplot_xyzc(gr, &nums, &x, &y, &z, &c, sch, opt); } inline void QuadPlot(const mglDataA &nums, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_quadplot_xyz(gr, &nums, &x, &y, &z, sch, opt); } inline void QuadPlot(const mglDataA &nums, const mglDataA &x, const mglDataA &y, const char *sch="", const char *opt="") { mgl_quadplot_xy(gr, &nums, &x, &y, sch, opt); } /// Draw contour lines for triangle mesh for points in arrays {x,y,z} with specified color c. inline void TriCont(const mglDataA &nums, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_tricont_xyc(gr, &nums, &x, &y, &z, sch, opt); } inline void TriContV(const mglDataA &v, const mglDataA &nums, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_tricont_xycv(gr, &v, &nums, &x, &y, &z, sch, opt); } inline void TriCont(const mglDataA &nums, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", const char *opt="") { mgl_tricont_xyzc(gr, &nums, &x, &y, &z, &a, sch, opt); } inline void TriContV(const mglDataA &v, const mglDataA &nums, const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", const char *opt="") { mgl_tricont_xyzcv(gr, &v, &nums, &x, &y, &z, &a, sch, opt); } /// Draw dots in points {x,y,z}. inline void Dots(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_dots(gr, &x, &y, &z, sch, opt); } /// Draw semitransparent dots in points {x,y,z} with alpha a. inline void Dots(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *sch="", const char *opt="") { mgl_dots_a(gr, &x, &y, &z, &a, sch, opt); } /// Draw surface reconstructed for points in arrays {x,y,z}. inline void Crust(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *sch="", const char *opt="") { mgl_crust(gr, &x, &y, &z, sch, opt); } /// Fit data along x-direction for each data row. Return array with values for found formula. inline mglData Fit(const mglDataA &y, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_1(gr, &y, eq,var,0, opt)); } inline mglData Fit(const mglDataA &y, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_1(gr, &y, eq, var, &ini, opt)); } /// Fit data along x-, y-directions for each data slice. Return array with values for found formula. inline mglData Fit2(const mglDataA &z, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_2(gr, &z, eq, var,0, opt)); } inline mglData Fit2(const mglDataA &z, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_2(gr, &z, eq, var, &ini, opt)); } /// Fit data along along all directions. Return array with values for found formula. inline mglData Fit3(const mglDataA &a, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_3(gr, &a, eq, var,0, opt)); } inline mglData Fit3(const mglDataA &a, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_3(gr, &a, eq, var, &ini, opt)); } /// Fit data along x-direction for each data row. Return array with values for found formula. inline mglData Fit(const mglDataA &x, const mglDataA &y, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_xy(gr, &x, &y, eq, var,0, opt)); } inline mglData Fit(const mglDataA &x, const mglDataA &y, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_xy(gr, &x, &y, eq, var, &ini, opt)); } /// Fit data along x-, y-directions for each data slice. Return array with values for found formula. inline mglData Fit(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_xyz(gr, &x, &y, &z, eq, var,0, opt)); } inline mglData Fit(const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_xyz(gr, &x, &y, &z, eq, var, &ini, opt)); } /// Fit data along along all directions. Return array with values for found formula. inline mglData Fit(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_xyza(gr, &x, &y, &z, &a, eq, var,0, opt)); } inline mglData Fit(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_xyza(gr, &x, &y, &z, &a, eq,var, &ini, opt)); } /// Fit data with dispersion s along x-direction for each data row. Return array with values for found formula. inline mglData FitS(const mglDataA &y, const mglDataA &s, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_ys(gr, &y, &s, eq, var,0, opt)); } inline mglData FitS(const mglDataA &y, const mglDataA &s, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_ys(gr, &y, &s, eq, var, &ini, opt)); } inline mglData FitS(const mglDataA &x, const mglDataA &y, const mglDataA &s, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_xys(gr, &x, &y, &s, eq, var,0, opt)); } inline mglData FitS(const mglDataA &x, const mglDataA &y, const mglDataA &s, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_xys(gr, &x, &y, &s, eq, var, &ini, opt)); } /// Fit data with dispersion s along x-, y-directions for each data slice. Return array with values for found formula. inline mglData FitS(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &s, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_xyzs(gr, &x, &y, &z, &s, eq, var,0, opt)); } inline mglData FitS(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &s, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_xyzs(gr, &x, &y, &z, &s, eq, var, &ini, opt)); } /// Fit data with dispersion s along all directions. Return array with values for found formula. inline mglData FitS(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &s, const char *eq, const char *var, const char *opt="") { return mglData(true,mgl_fit_xyzas(gr, &x, &y, &z, &a, &s, eq, var,0, opt)); } inline mglData FitS(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const mglDataA &s, const char *eq, const char *var, mglData &ini, const char *opt="") { return mglData(true,mgl_fit_xyzas(gr, &x, &y, &z, &a, &s, eq, var, &ini, opt)); } /// Print fitted last formula (with coefficients) inline void PutsFit(mglPoint p, const char *prefix=0, const char *font="", double size=-1) { mgl_puts_fit(gr, p.x, p.y, p.z, prefix, font, size); } /// Get last fitted formula inline const char *GetFit() { return mgl_get_fit(gr); } /// Solve PDE with x,y,z in range [Min, Max] inline mglData PDE(const char *ham, const mglDataA &ini_re, const mglDataA &ini_im, double dz=0.1, double k0=100, const char *opt="") { return mglData(true,mgl_pde_solve(gr,ham,&ini_re,&ini_im,dz,k0, opt)); } /// Fill data by formula with x,y,z in range [Min, Max] inline void Fill(mglData &u, const char *eq, const char *opt="") { mgl_data_fill_eq(gr, &u, eq, 0, 0, opt); } inline void Fill(mglData &u, const char *eq, const mglDataA &v, const char *opt="") { mgl_data_fill_eq(gr, &u, eq, &v, 0, opt); } inline void Fill(mglData &u, const char *eq, const mglDataA &v, const mglDataA &w, const char *opt="") { mgl_data_fill_eq(gr, &u, eq, &v, &w, opt); } /// Fill data by formula with x,y,z in range [Min, Max] inline void Fill(mglDataC &u, const char *eq, const char *opt="") { mgl_datac_fill_eq(gr, &u, eq, 0, 0, opt); } inline void Fill(mglDataC &u, const char *eq, const mglDataA &v, const char *opt="") { mgl_datac_fill_eq(gr, &u, eq, &v, 0, opt); } inline void Fill(mglDataC &u, const char *eq, const mglDataA &v, const mglDataA &w, const char *opt="") { mgl_datac_fill_eq(gr, &u, eq, &v, &w, opt); } /// Set the data by triangulated surface values assuming x,y,z in range [Min, Max] inline void DataGrid(mglData &d, const mglDataA &x, const mglDataA &y, const mglDataA &z, const char *opt="") { mgl_data_grid(gr,&d,&x,&y,&z,opt); } /// Make histogram (distribution) of data. This function do not plot data. inline mglData Hist(const mglDataA &x, const mglDataA &a, const char *opt="") { return mglData(true, mgl_hist_x(gr, &x, &a, opt)); } inline mglData Hist(const mglDataA &x, const mglDataA &y, const mglDataA &a, const char *opt="") { return mglData(true, mgl_hist_xy(gr, &x, &y, &a, opt)); } inline mglData Hist(const mglDataA &x, const mglDataA &y, const mglDataA &z, const mglDataA &a, const char *opt="") { return mglData(true, mgl_hist_xyz(gr, &x, &y, &z, &a, opt)); } inline void Compression(bool){} // NOTE: Add later -- IDTF /// Set the preference for vertex color on/off (for formats that support it, now only PRC does). inline void VertexColor(bool enable) { mgl_set_flag(gr,enable, MGL_PREFERVC); } /// Render only front side of surfaces for dubugging purposes (for formats that support it, now only PRC does). inline void DoubleSided(bool enable) { mgl_set_flag(gr,!enable, MGL_ONESIDED); } // inline void TextureColor(bool){} // NOTE: Add later -- IDTF }; //----------------------------------------------------------------------------- /// Structure for handling named mglData (used by mglParse class). class mglVar : public mglData { public: std::wstring s; ///< Data name void *o; ///< Pointer to external object mglVar *next; ///< Pointer to next instance in list mglVar *prev; ///< Pointer to previous instance in list bool temp; ///< This is temporary variable void (*func)(void *); ///< Callback function for destroying mglVar():mglData() { o=0; next=prev=0; func=0; temp=false; } virtual ~mglVar() { if(func) func(o); if(prev) prev->next = next; if(next) next->prev = prev; } /// Move variable after var and copy func from var (if func is 0) void MoveAfter(mglVar *var) { if(prev) prev->next = next; if(next) next->prev = prev; prev = next = 0; if(var) { prev = var; next = var->next; var->next = this; if(func==0) func = var->func; } if(next) next->prev = this; } }; //----------------------------------------------------------------------------- /// Wrapper class for MGL parsing class mglParse { HMPR pr; public: mglParse(HMPR p) { pr = p; mgl_use_parser(pr,1); } mglParse(mglParse &p) { pr = p.pr; mgl_use_parser(pr,1); } mglParse(bool setsize=false) { pr=mgl_create_parser(); mgl_parser_allow_setsize(pr, setsize); } ~mglParse() { if(mgl_use_parser(pr,-1)<1) mgl_delete_parser(pr); } /// Get pointer to internal mglParser object inline HMPR Self() { return pr; } /// Parse and draw single line of the MGL script inline int Parse(mglGraph *gr, const char *str, int pos) { return mgl_parse_line(gr->Self(), pr, str, pos); } inline int Parse(mglGraph *gr, const wchar_t *str, int pos) { return mgl_parse_linew(gr->Self(), pr, str, pos); } /// Execute MGL script text with '\n' separated lines inline void Execute(mglGraph *gr, const char *str) { mgl_parse_text(gr->Self(), pr, str); } inline void Execute(mglGraph *gr, const wchar_t *str) { mgl_parse_textw(gr->Self(), pr, str); } /// Execute and draw script from the file inline void Execute(mglGraph *gr, FILE *fp, bool print=false) { mgl_parse_file(gr->Self(), pr, fp, print); } /// Return type of command: 0 - not found, 1 - data plot, 2 - other plot, /// 3 - setup, 4 - data handle, 5 - data create, 6 - subplot, 7 - program /// 8 - 1d plot, 9 - 2d plot, 10 - 3d plot, 11 - dd plot, 12 - vector plot /// 13 - axis, 14 - primitives, 15 - axis setup, 16 - text/legend, 17 - data transform inline int CmdType(const char *name) { return mgl_parser_cmd_type(pr, name); } /// Return string of command format (command name and its argument[s]) inline const char *CmdFormat(const char *name) { return mgl_parser_cmd_frmt(pr, name); } /// Return description of MGL command inline const char *CmdDesc(const char *name) { return mgl_parser_cmd_desc(pr, name); } /// Get name of command with nmber n inline const char *GetCmdName(long n) { return mgl_parser_cmd_name(pr,n); } /// Get number of defined commands inline long GetCmdNum() { return mgl_parser_cmd_num(pr); } /// Set value for parameter $N inline void AddParam(int id, const char *str) { mgl_parser_add_param(pr, id, str); } inline void AddParam(int id, const wchar_t *str) { mgl_parser_add_paramw(pr, id, str); } /// Restore once flag inline void RestoreOnce() { mgl_parser_restore_once(pr); } /// Allow changing size of the picture inline void AllowSetSize(bool allow) { mgl_parser_allow_setsize(pr, allow); } /// Allow reading/saving files inline void AllowFileIO(bool allow) { mgl_parser_allow_file_io(pr, allow); } /// Set flag to stop script parsing inline void Stop() { mgl_parser_stop(pr); } /// Return result of formula evaluation inline mglData Calc(const char *formula) { return mglData(true,mgl_parser_calc(pr,formula)); } inline mglData Calc(const wchar_t *formula) { return mglData(true,mgl_parser_calcw(pr,formula)); } /// Find variable with given name or add a new one /// NOTE !!! You must not delete obtained data arrays !!! inline mglVar *AddVar(const char *name) { return dynamic_cast(mgl_parser_add_var(pr, name)); } inline mglVar *AddVar(const wchar_t *name) { return dynamic_cast(mgl_parser_add_varw(pr, name)); } /// Find variable with given name or return NULL if no one /// NOTE !!! You must not delete obtained data arrays !!! inline mglVar *FindVar(const char *name) { return dynamic_cast(mgl_parser_find_var(pr, name)); } inline mglVar *FindVar(const wchar_t *name) { return dynamic_cast(mgl_parser_find_varw(pr, name)); } /// Delete variable with name inline void DeleteVar(const char *name) { mgl_parser_del_var(pr, name); } inline void DeleteVar(const wchar_t *name) { mgl_parser_del_varw(pr, name); } /// Delete all data variables void DeleteAll() { mgl_parser_del_all(pr); } }; //----------------------------------------------------------------------------- /// Wrapper class expression evaluating class mglExpr { HMEX ex; public: mglExpr(const char *expr) { ex = mgl_create_expr(expr); } ~mglExpr() { mgl_delete_expr(ex); } /// Return value of expression for given x,y,z variables inline double Eval(double x, double y=0, double z=0) { return mgl_expr_eval(ex,x,y,z); } /// Return value of expression differentiation over variable dir for given x,y,z variables inline double Diff(char dir, double x, double y=0, double z=0) { return mgl_expr_diff(ex,dir, x,y,z); } #ifndef SWIG /// Return value of expression for given variables inline double Eval(mreal var[26]) { return mgl_expr_eval_v(ex,var); } /// Return value of expression differentiation over variable dir for given variables inline double Diff(char dir, mreal var[26]) { return mgl_expr_diff_v(ex,dir, var); } #endif }; //----------------------------------------------------------------------------- /// Wrapper class expression evaluating class mglExprC { HAEX ex; public: mglExprC(const char *expr) { ex = mgl_create_cexpr(expr); } ~mglExprC() { mgl_delete_cexpr(ex); } /// Return value of expression for given x,y,z variables inline dual Eval(dual x, dual y=0, dual z=0) { return mgl_cexpr_eval(ex,x,y,z); } /// Return value of expression for given x,y,z,u,v,w variables inline dual Eval(dual x, dual y, dual z, dual u, dual v, dual w) { dual var[26]; var['x'-'a']=x; var['y'-'a']=y; var['z'-'a']=z; var['u'-'a']=u; var['v'-'a']=v; var['w'-'a']=w; return mgl_cexpr_eval_v(ex,var); } #ifndef SWIG /// Return value of expression for given variables inline dual Eval(dual var[26]) { return mgl_cexpr_eval_v(ex,var); } #endif }; //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/surf.h0000664000175000017500000002253312142400464016334 0ustar balakinbalakin/*************************************************************************** * surf.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_SURF_H_ #define _MGL_SURF_H_ #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Draw surface by formula with x,y in axis range void MGL_EXPORT mgl_fsurf(HMGL graph, const char *fz, const char *stl, const char *opt); void MGL_EXPORT mgl_fsurf_(uintptr_t *graph, const char *fz, const char *stl, const char *opt,int,int,int); /// Draw surface by formulas parametrically depended on u,v in range [0,1] void MGL_EXPORT mgl_fsurf_xyz(HMGL graph, const char *fx, const char *fy, const char *fz, const char *stl, const char *opt); void MGL_EXPORT mgl_fsurf_xyz_(uintptr_t *graph, const char *fx, const char *fy, const char *fz, const char *stl, const char *opt, int, int, int, int, int); /// Draw grid lines for density plot of 2d data specified parametrically void MGL_EXPORT mgl_grid_xy(HMGL graph, HCDT x, HCDT y, HCDT z, const char *stl, const char *opt); void MGL_EXPORT mgl_grid_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *stl, const char *opt,int,int); /// Draw grid lines for density plot of 2d data void MGL_EXPORT mgl_grid(HMGL graph, HCDT a,const char *stl, const char *opt); void MGL_EXPORT mgl_grid_(uintptr_t *graph, uintptr_t *a,const char *stl, const char *opt,int,int); /// Draw mesh lines for 2d data specified parametrically void MGL_EXPORT mgl_mesh_xy(HMGL graph, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_mesh_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw mesh lines for 2d data void MGL_EXPORT mgl_mesh(HMGL graph, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_mesh_(uintptr_t *graph, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw mesh lines for 2d data specified parametrically void MGL_EXPORT mgl_fall_xy(HMGL graph, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_fall_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw mesh lines for 2d data void MGL_EXPORT mgl_fall(HMGL graph, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_fall_(uintptr_t *graph, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw belts for 2d data specified parametrically void MGL_EXPORT mgl_belt_xy(HMGL graph, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_belt_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw belts for 2d data void MGL_EXPORT mgl_belt(HMGL graph, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_belt_(uintptr_t *graph, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw surface for 2d data specified parametrically with color proportional to z void MGL_EXPORT mgl_surf_xy(HMGL graph, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_surf_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw surface for 2d data with color proportional to z void MGL_EXPORT mgl_surf(HMGL graph, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_surf_(uintptr_t *graph, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw density plot for 2d data specified parametrically void MGL_EXPORT mgl_dens_xy(HMGL graph, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_dens_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw density plot for 2d data void MGL_EXPORT mgl_dens(HMGL graph, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_dens_(uintptr_t *graph, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw vertical boxes for 2d data specified parametrically void MGL_EXPORT mgl_boxs_xy(HMGL graph, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_boxs_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw vertical boxes for 2d data void MGL_EXPORT mgl_boxs(HMGL graph, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_boxs_(uintptr_t *graph, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw vertical tiles for 2d data specified parametrically void MGL_EXPORT mgl_tile_xy(HMGL graph, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_tile_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int,int); /// Draw vertical tiles for 2d data void MGL_EXPORT mgl_tile(HMGL graph, HCDT z, const char *sch, const char *opt); void MGL_EXPORT mgl_tile_(uintptr_t *graph, uintptr_t *z, const char *sch, const char *opt,int,int); /// Draw vertical tiles with variable size r for 2d data specified parametrically void MGL_EXPORT mgl_tiles_xy(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT r, const char *sch, const char *opt); void MGL_EXPORT mgl_tiles_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int,int); /// Draw vertical tiles with variable size r for 2d data void MGL_EXPORT mgl_tiles(HMGL graph, HCDT z, HCDT r, const char *sch, const char *opt); void MGL_EXPORT mgl_tiles_(uintptr_t *graph, uintptr_t *z, uintptr_t *r, const char *sch, const char *opt,int,int); /// Draw surface for 2d data specified parametrically with color proportional to c void MGL_EXPORT mgl_surfc_xy(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt); void MGL_EXPORT mgl_surfc_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int,int); /// Draw surface for 2d data with color proportional to c void MGL_EXPORT mgl_surfc(HMGL graph, HCDT z, HCDT c, const char *sch, const char *opt); void MGL_EXPORT mgl_surfc_(uintptr_t *graph, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int,int); /// Draw surface for 2d data specified parametrically with alpha proportional to c void MGL_EXPORT mgl_surfa_xy(HMGL graph, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt); void MGL_EXPORT mgl_surfa_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int,int); /// Draw surface for 2d data with alpha proportional to c void MGL_EXPORT mgl_surfa(HMGL graph, HCDT z, HCDT c, const char *sch, const char *opt); void MGL_EXPORT mgl_surfa_(uintptr_t *graph, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int,int); /// Draw density plot for spectra-gramm specified parametrically void MGL_EXPORT mgl_stfa_xy(HMGL graph, HCDT x, HCDT y, HCDT re, HCDT im, int dn, const char *sch, const char *opt); void MGL_EXPORT mgl_stfa_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *re, uintptr_t *im, int *dn, const char *sch, const char *opt,int, int); /// Draw density plot for spectra-gramm void MGL_EXPORT mgl_stfa(HMGL graph, HCDT re, HCDT im, int dn, const char *sch, const char *opt); void MGL_EXPORT mgl_stfa_(uintptr_t *graph, uintptr_t *re, uintptr_t *im, int *dn, const char *sch, const char *opt,int, int); /// Color map of matrix a to matrix b, both matrix can parametrically depend on coordinates void MGL_EXPORT mgl_map_xy(HMGL graph, HCDT x, HCDT y, HCDT a, HCDT b, const char *sch, const char *opt); void MGL_EXPORT mgl_map_xy_(uintptr_t *graph, uintptr_t *x, uintptr_t *y, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int,int); /// Color map of matrix a to matrix b void MGL_EXPORT mgl_map(HMGL graph, HCDT a, HCDT b, const char *sch, const char *opt); void MGL_EXPORT mgl_map_(uintptr_t *graph, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int,int); #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/data_cf.h0000664000175000017500000007416212142400464016743 0ustar balakinbalakin/*************************************************************************** * data_cf.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_DATA_CF_H_ #define _MGL_DATA_CF_H_ //----------------------------------------------------------------------------- #include "mgl2/base.h" //----------------------------------------------------------------------------- #if MGL_HAVE_GSL #include #include #else #ifdef __cplusplus struct gsl_vector; struct gsl_matrix; #else typedef void gsl_vector; typedef void gsl_matrix; #endif #endif //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Set seed for random numbers void MGL_EXPORT mgl_srnd(long seed); void MGL_EXPORT mgl_srnd_(int *seed); /// Get random number double MGL_EXPORT mgl_rnd(); double MGL_EXPORT mgl_rnd_(); /// Get integer power of x double MGL_EXPORT mgl_ipow(double x,int n); double MGL_EXPORT mgl_ipow_(mreal *x,int *n); /// Get number of seconds since 1970 for given string double MGL_EXPORT mgl_get_time(const char *time, const char *fmt); double MGL_EXPORT mgl_get_time_(const char *time, const char *fmt,int,int); /// Create HMDT object HMDT MGL_EXPORT mgl_create_data(); uintptr_t MGL_EXPORT mgl_create_data_(); /// Create HMDT object with specified sizes HMDT MGL_EXPORT mgl_create_data_size(long nx, long ny, long nz); uintptr_t MGL_EXPORT mgl_create_data_size_(int *nx, int *ny, int *nz); /// Create HMDT object with data from file HMDT MGL_EXPORT mgl_create_data_file(const char *fname); uintptr_t MGL_EXPORT mgl_create_data_file_(const char *fname, int len); /// Delete HMDT object void MGL_EXPORT mgl_delete_data(HMDT dat); void MGL_EXPORT mgl_delete_data_(uintptr_t *dat); /// Get information about the data (sizes and momentum) to string MGL_EXPORT const char *mgl_data_info(HCDT dat); /// Rearange data dimensions void MGL_EXPORT mgl_data_rearrange(HMDT dat, long mx,long my,long mz); void MGL_EXPORT mgl_data_rearrange_(uintptr_t *dat, int *mx, int *my, int *mz); /// Link external data array (don't delete it at exit) void MGL_EXPORT mgl_data_link(HMDT dat, mreal *A,long mx,long my,long mz); void MGL_EXPORT mgl_data_link_(uintptr_t *d, mreal *A, int *nx,int *ny,int *nz); /// Allocate memory and copy the data from the (float *) array void MGL_EXPORT mgl_data_set_float(HMDT dat, const float *A,long mx,long my,long mz); void MGL_EXPORT mgl_data_set_float_(uintptr_t *dat, const float *A,int *NX,int *NY,int *NZ); void MGL_EXPORT mgl_data_set_float1_(uintptr_t *d, const float *A,int *N1); /// Allocate memory and copy the data from the (double *) array void MGL_EXPORT mgl_data_set_double(HMDT dat, const double *A,long mx,long my,long mz); void MGL_EXPORT mgl_data_set_double_(uintptr_t *dat, const double *A,int *NX,int *NY,int *NZ); void MGL_EXPORT mgl_data_set_double1_(uintptr_t *d, const double *A,int *N1); /// Allocate memory and copy the data from the (float **) array void MGL_EXPORT mgl_data_set_float2(HMDT d, const float **A,long N1,long N2); void MGL_EXPORT mgl_data_set_float2_(uintptr_t *d, const float *A,int *N1,int *N2); /// Allocate memory and copy the data from the (double **) array void MGL_EXPORT mgl_data_set_double2(HMDT d, const double **A,long N1,long N2); void MGL_EXPORT mgl_data_set_double2_(uintptr_t *d, const double *A,int *N1,int *N2); /// Allocate memory and copy the data from the (float ***) array void MGL_EXPORT mgl_data_set_float3(HMDT d, const float ***A,long N1,long N2,long N3); void MGL_EXPORT mgl_data_set_float3_(uintptr_t *d, const float *A,int *N1,int *N2,int *N3); /// Allocate memory and copy the data from the (double ***) array void MGL_EXPORT mgl_data_set_double3(HMDT d, const double ***A,long N1,long N2,long N3); void MGL_EXPORT mgl_data_set_double3_(uintptr_t *d, const double *A,int *N1,int *N2,int *N3); /// Import data from abstract type void MGL_EXPORT mgl_data_set(HMDT dat, HCDT a); void MGL_EXPORT mgl_data_set_(uintptr_t *dat, uintptr_t *a); /// Allocate memory and copy the data from the gsl_vector void MGL_EXPORT mgl_data_set_vector(HMDT dat, gsl_vector *v); /// Allocate memory and copy the data from the gsl_matrix void MGL_EXPORT mgl_data_set_matrix(HMDT dat, gsl_matrix *m); /// Set value of data element [i,j,k] void MGL_EXPORT mgl_data_set_value(HMDT dat, mreal v, long i, long j, long k); void MGL_EXPORT mgl_data_set_value_(uintptr_t *d, mreal *v, int *i, int *j, int *k); /// Get value of data element [i,j,k] mreal MGL_EXPORT mgl_data_get_value(HCDT dat, long i, long j, long k); mreal MGL_EXPORT mgl_data_get_value_(uintptr_t *d, int *i, int *j, int *k); /// Allocate memory and scanf the data from the string void MGL_EXPORT mgl_data_set_values(HMDT dat, const char *val, long nx, long ny, long nz); void MGL_EXPORT mgl_data_set_values_(uintptr_t *d, const char *val, int *nx, int *ny, int *nz, int l); /// Read data array from HDF file (parse HDF4 and HDF5 files) int MGL_EXPORT mgl_data_read_hdf(HMDT d,const char *fname,const char *data); int MGL_EXPORT mgl_data_read_hdf_(uintptr_t *d, const char *fname, const char *data,int l,int n); /// Save data to HDF file void MGL_EXPORT mgl_data_save_hdf(HCDT d,const char *fname,const char *data,int rewrite); void MGL_EXPORT mgl_data_save_hdf_(uintptr_t *d, const char *fname, const char *data, int *rewrite,int l,int n); /// Put HDF data names into buf as '\t' separated. int MGL_EXPORT mgl_datas_hdf(const char *fname, char *buf, long size); /// Read data from tab-separated text file with auto determining size int MGL_EXPORT mgl_data_read(HMDT dat, const char *fname); int MGL_EXPORT mgl_data_read_(uintptr_t *d, const char *fname,int l); /// Read data from text file with size specified at beginning of the file int MGL_EXPORT mgl_data_read_mat(HMDT dat, const char *fname, long dim); int MGL_EXPORT mgl_data_read_mat_(uintptr_t *dat, const char *fname, int *dim, int); /// Read data from text file with specifeid size int MGL_EXPORT mgl_data_read_dim(HMDT dat, const char *fname,long mx,long my,long mz); int MGL_EXPORT mgl_data_read_dim_(uintptr_t *dat, const char *fname,int *mx,int *my,int *mz,int); /// Read data from tab-separated text files with auto determining size which filenames are result of sprintf(fname,templ,t) where t=from:step:to int MGL_EXPORT mgl_data_read_range(HMDT d, const char *templ, double from, double to, double step, int as_slice); int MGL_EXPORT mgl_data_read_range_(uintptr_t *d, const char *fname, mreal *from, mreal *to, mreal *step, int *as_slice,int l); /// Read data from tab-separated text files with auto determining size which filenames are satisfied to template (like "t_*.dat") int MGL_EXPORT mgl_data_read_all(HMDT dat, const char *templ, int as_slice); int MGL_EXPORT mgl_data_read_all_(uintptr_t *d, const char *fname, int *as_slice,int l); /// Save whole data array (for ns=-1) or only ns-th slice to text file void MGL_EXPORT mgl_data_save(HCDT dat, const char *fname,long ns); void MGL_EXPORT mgl_data_save_(uintptr_t *dat, const char *fname,int *ns,int); /// Export data array (for ns=-1) or only ns-th slice to PNG file according color scheme void MGL_EXPORT mgl_data_export(HCDT dat, const char *fname, const char *scheme,mreal v1,mreal v2,long ns); void MGL_EXPORT mgl_data_export_(uintptr_t *dat, const char *fname, const char *scheme,mreal *v1,mreal *v2,int *ns,int,int); /// Import data array from PNG file according color scheme void MGL_EXPORT mgl_data_import(HMDT dat, const char *fname, const char *scheme,mreal v1,mreal v2); void MGL_EXPORT mgl_data_import_(uintptr_t *dat, const char *fname, const char *scheme,mreal *v1,mreal *v2,int,int); /// Create or recreate the array with specified size and fill it by zero void MGL_EXPORT mgl_data_create(HMDT dat, long nx,long ny,long nz); void MGL_EXPORT mgl_data_create_(uintptr_t *dat, int *nx,int *ny,int *nz); /// Transpose dimensions of the data (generalization of Transpose) void MGL_EXPORT mgl_data_transpose(HMDT dat, const char *dim); void MGL_EXPORT mgl_data_transpose_(uintptr_t *dat, const char *dim,int); /// Normalize the data to range [v1,v2] void MGL_EXPORT mgl_data_norm(HMDT dat, mreal v1,mreal v2,long sym,long dim); void MGL_EXPORT mgl_data_norm_(uintptr_t *dat, mreal *v1,mreal *v2,int *sym,int *dim); /// Normalize the data to range [v1,v2] slice by slice void MGL_EXPORT mgl_data_norm_slice(HMDT dat, mreal v1,mreal v2,char dir,long keep_en,long sym); void MGL_EXPORT mgl_data_norm_slice_(uintptr_t *dat, mreal *v1,mreal *v2,char *dir,int *keep_en,int *sym,int l); /// Get sub-array of the data with given fixed indexes HMDT MGL_EXPORT mgl_data_subdata(HCDT dat, long xx,long yy,long zz); uintptr_t MGL_EXPORT mgl_data_subdata_(uintptr_t *dat, int *xx,int *yy,int *zz); /// Get sub-array of the data with given fixed indexes (like indirect access) HMDT MGL_EXPORT mgl_data_subdata_ext(HCDT dat, HCDT xx, HCDT yy, HCDT zz); uintptr_t MGL_EXPORT mgl_data_subdata_ext_(uintptr_t *dat, uintptr_t *xx,uintptr_t *yy,uintptr_t *zz); /// Get column (or slice) of the data filled by formulas of named columns HMDT MGL_EXPORT mgl_data_column(HCDT dat, const char *eq); uintptr_t MGL_EXPORT mgl_data_column_(uintptr_t *dat, const char *eq,int l); /// Set names for columns (slices) void MGL_EXPORT mgl_data_set_id(HMDT d, const char *id); void MGL_EXPORT mgl_data_set_id_(uintptr_t *dat, const char *id,int l); /// Equidistantly fill the data to range [x1,x2] in direction dir void MGL_EXPORT mgl_data_fill(HMDT dat, mreal x1,mreal x2,char dir); void MGL_EXPORT mgl_data_fill_(uintptr_t *dat, mreal *x1,mreal *x2,const char *dir,int); /// Modify the data by specified formula assuming x,y,z in range [r1,r2] void MGL_EXPORT mgl_data_fill_eq(HMGL gr, HMDT dat, const char *eq, HCDT vdat, HCDT wdat,const char *opt); void MGL_EXPORT mgl_data_fill_eq_(uintptr_t *gr, uintptr_t *dat, const char *eq, uintptr_t *vdat, uintptr_t *wdat,const char *opt, int, int); /// Set the data by triangulated surface values assuming x,y,z in range [r1,r2] void MGL_EXPORT mgl_data_grid(HMGL gr, HMDT d, HCDT xdat, HCDT ydat, HCDT zdat,const char *opt); void MGL_EXPORT mgl_data_grid_(uintptr_t *gr, uintptr_t *dat, uintptr_t *xdat, uintptr_t *ydat, uintptr_t *zdat, const char *opt,int); /// Put value to data element(s) void MGL_EXPORT mgl_data_put_val(HMDT dat, mreal val, long i, long j, long k); void MGL_EXPORT mgl_data_put_val_(uintptr_t *dat, mreal *val, int *i, int *j, int *k); /// Put array to data element(s) void MGL_EXPORT mgl_data_put_dat(HMDT dat, HCDT val, long i, long j, long k); void MGL_EXPORT mgl_data_put_dat_(uintptr_t *dat, uintptr_t *val, int *i, int *j, int *k); /// Modify the data by specified formula void MGL_EXPORT mgl_data_modify(HMDT dat, const char *eq,long dim); void MGL_EXPORT mgl_data_modify_(uintptr_t *dat, const char *eq,int *dim,int); /// Modify the data by specified formula void MGL_EXPORT mgl_data_modify_vw(HMDT dat, const char *eq,HCDT vdat,HCDT wdat); void MGL_EXPORT mgl_data_modify_vw_(uintptr_t *dat, const char *eq, uintptr_t *vdat, uintptr_t *wdat,int); /// Reduce size of the data void MGL_EXPORT mgl_data_squeeze(HMDT dat, long rx,long ry,long rz,long smooth); void MGL_EXPORT mgl_data_squeeze_(uintptr_t *dat, int *rx,int *ry,int *rz,int *smooth); /// Get maximal value of the data mreal MGL_EXPORT mgl_data_max(HCDT dat); mreal MGL_EXPORT mgl_data_max_(uintptr_t *dat); /// Get minimal value of the data mreal MGL_EXPORT mgl_data_min(HCDT dat); mreal MGL_EXPORT mgl_data_min_(uintptr_t *dat); /// Returns pointer to data element [i,j,k] MGL_EXPORT mreal *mgl_data_value(HMDT dat, long i,long j,long k); /// Returns pointer to internal data array MGL_EXPORT mreal *mgl_data_data(HMDT dat); /// Gets the x-size of the data. long MGL_EXPORT mgl_data_get_nx(HCDT d); long MGL_EXPORT mgl_data_get_nx_(uintptr_t *d); /// Gets the y-size of the data. long MGL_EXPORT mgl_data_get_ny(HCDT d); long MGL_EXPORT mgl_data_get_ny_(uintptr_t *d); /// Gets the z-size of the data. long MGL_EXPORT mgl_data_get_nz(HCDT d); long MGL_EXPORT mgl_data_get_nz_(uintptr_t *d); /// Find position (after specified in i,j,k) of first nonzero value of formula mreal MGL_EXPORT mgl_data_first(HCDT dat, const char *cond, long *i, long *j, long *k); mreal MGL_EXPORT mgl_data_first_(uintptr_t *dat, const char *cond, int *i, int *j, int *k, int); /// Find position (before specified in i,j,k) of last nonzero value of formula mreal MGL_EXPORT mgl_data_last(HCDT dat, const char *cond, long *i, long *j, long *k); mreal MGL_EXPORT mgl_data_last_(uintptr_t *dat, const char *cond, int *i, int *j, int *k, int); /// Find position of first in direction 'dir' nonzero value of formula long MGL_EXPORT mgl_data_find(HCDT dat, const char *cond, char dir, long i, long j, long k); int MGL_EXPORT mgl_data_find_(uintptr_t *dat, const char *cond, char *dir, int *i, int *j, int *k, int,int); /// Find if any nonzero value of formula int MGL_EXPORT mgl_data_find_any(HCDT dat, const char *cond); int MGL_EXPORT mgl_data_find_any_(uintptr_t *dat, const char *cond, int); /// Get maximal value of the data and its position mreal MGL_EXPORT mgl_data_max_int(HCDT dat, long *i, long *j, long *k); mreal MGL_EXPORT mgl_data_max_int_(uintptr_t *dat, int *i, int *j, int *k); /// Get maximal value of the data and its approximated position mreal MGL_EXPORT mgl_data_max_real(HCDT dat, mreal *x, mreal *y, mreal *z); mreal MGL_EXPORT mgl_data_max_real_(uintptr_t *dat, mreal *x, mreal *y, mreal *z); /// Get minimal value of the data and its position mreal MGL_EXPORT mgl_data_min_int(HCDT dat, long *i, long *j, long *k); mreal MGL_EXPORT mgl_data_min_int_(uintptr_t *dat, int *i, int *j, int *k); /// Get minimal value of the data and its approximated position mreal MGL_EXPORT mgl_data_min_real(HCDT dat, mreal *x, mreal *y, mreal *z); mreal MGL_EXPORT mgl_data_min_real_(uintptr_t *dat, mreal *x, mreal *y, mreal *z); /// Get "energy and find 4 momenta of data: median, width, skewness, kurtosis mreal MGL_EXPORT mgl_data_momentum_val(HCDT d, char dir, mreal *m, mreal *w, mreal *s, mreal *k); mreal MGL_EXPORT mgl_data_momentum_val_(uintptr_t *dat, char *dir, mreal *m, mreal *w, mreal *s, mreal *k,int); /// Get the data which is direct multiplication (like, d[i,j] = this[i]*a[j] and so on) HMDT MGL_EXPORT mgl_data_combine(HCDT dat1, HCDT dat2); uintptr_t MGL_EXPORT mgl_data_combine_(uintptr_t *dat1, uintptr_t *dat2); /// Extend data dimensions void MGL_EXPORT mgl_data_extend(HMDT dat, long n1, long n2); void MGL_EXPORT mgl_data_extend_(uintptr_t *dat, int *n1, int *n2); /// Insert data rows/columns/slices void MGL_EXPORT mgl_data_insert(HMDT dat, char dir, long at, long num); void MGL_EXPORT mgl_data_insert_(uintptr_t *dat, const char *dir, int *at, int *num, int); /// Delete data rows/columns/slices void MGL_EXPORT mgl_data_delete(HMDT dat, char dir, long at, long num); void MGL_EXPORT mgl_data_delete_(uintptr_t *dat, const char *dir, int *at, int *num, int); /// Joind another data array void MGL_EXPORT mgl_data_join(HMDT dat, HCDT d); void MGL_EXPORT mgl_data_join_(uintptr_t *dat, uintptr_t *d); /// Smooth the data on specified direction or directions void MGL_EXPORT mgl_data_smooth(HMDT d, const char *dirs, mreal delta); void MGL_EXPORT mgl_data_smooth_(uintptr_t *dat, const char *dirs, mreal *delta,int); /// Get array which is result of summation in given direction or directions HMDT MGL_EXPORT mgl_data_sum(HCDT dat, const char *dir); uintptr_t MGL_EXPORT mgl_data_sum_(uintptr_t *dat, const char *dir,int); /// Get array which is result of maximal values in given direction or directions HMDT MGL_EXPORT mgl_data_max_dir(HCDT dat, const char *dir); uintptr_t MGL_EXPORT mgl_data_max_dir_(uintptr_t *dat, const char *dir,int); /// Get array which is result of minimal values in given direction or directions HMDT MGL_EXPORT mgl_data_min_dir(HCDT dat, const char *dir); uintptr_t MGL_EXPORT mgl_data_min_dir_(uintptr_t *dat, const char *dir,int); /// Cumulative summation the data in given direction or directions void MGL_EXPORT mgl_data_cumsum(HMDT dat, const char *dir); void MGL_EXPORT mgl_data_cumsum_(uintptr_t *dat, const char *dir,int); /// Integrate (cumulative summation) the data in given direction or directions void MGL_EXPORT mgl_data_integral(HMDT dat, const char *dir); void MGL_EXPORT mgl_data_integral_(uintptr_t *dat, const char *dir,int); /// Differentiate the data in given direction or directions void MGL_EXPORT mgl_data_diff(HMDT dat, const char *dir); void MGL_EXPORT mgl_data_diff_(uintptr_t *dat, const char *dir,int); /// Differentiate the parametrically specified data along direction v1 with v2,v3=const (v3 can be NULL) void MGL_EXPORT mgl_data_diff_par(HMDT dat, HCDT v1, HCDT v2, HCDT v3); void MGL_EXPORT mgl_data_diff_par_(uintptr_t *dat, uintptr_t *v1, uintptr_t *v2, uintptr_t *v3); /// Double-differentiate (like Laplace operator) the data in given direction void MGL_EXPORT mgl_data_diff2(HMDT dat, const char *dir); void MGL_EXPORT mgl_data_diff2_(uintptr_t *dat, const char *dir,int); /// Swap left and right part of the data in given direction (useful for Fourier spectrum) void MGL_EXPORT mgl_data_swap(HMDT dat, const char *dir); void MGL_EXPORT mgl_data_swap_(uintptr_t *dat, const char *dir,int); /// Roll data along direction dir by num slices void MGL_EXPORT mgl_data_roll(HMDT dat, char dir, long num); void MGL_EXPORT mgl_data_roll_(uintptr_t *dat, const char *dir, int *num, int); /// Mirror the data in given direction (useful for Fourier spectrum) void MGL_EXPORT mgl_data_mirror(HMDT dat, const char *dir); void MGL_EXPORT mgl_data_mirror_(uintptr_t *dat, const char *dir,int); /// Sort rows (or slices) by values of specified column void MGL_EXPORT mgl_data_sort(HMDT dat, long idx, long idy); void MGL_EXPORT mgl_data_sort_(uintptr_t *dat, int *idx, int *idy); /// Apply Hankel transform void MGL_EXPORT mgl_data_hankel(HMDT dat, const char *dir); void MGL_EXPORT mgl_data_hankel_(uintptr_t *dat, const char *dir,int); /// Apply Sin-Fourier transform void MGL_EXPORT mgl_data_sinfft(HMDT dat, const char *dir); void MGL_EXPORT mgl_data_sinfft_(uintptr_t *dat, const char *dir,int); /// Apply Cos-Fourier transform void MGL_EXPORT mgl_data_cosfft(HMDT dat, const char *dir); void MGL_EXPORT mgl_data_cosfft_(uintptr_t *dat, const char *dir,int); /// Fill data by 'x'/'k' samples for Hankel ('h') or Fourier ('f') transform void MGL_EXPORT mgl_data_fill_sample(HMDT dat, const char *how); void MGL_EXPORT mgl_data_fill_sample_(uintptr_t *dat, const char *how,int); /// Allocate and prepare data for Fourier transform by nthr threads MGL_EXPORT void *mgl_fft_alloc(long n, void **space, long nthr); /// Free data for Fourier transform void MGL_EXPORT mgl_fft_free(void *wt, void **ws, long nthr); /// Make Fourier transform of data x of size n and step s between points void MGL_EXPORT mgl_fft(double *x, long s, long n, const void *wt, void *ws, bool inv); /// Interpolate by cubic spline the data to given point x=[0...nx-1], y=[0...ny-1], z=[0...nz-1] mreal MGL_EXPORT mgl_data_spline(HCDT dat, mreal x,mreal y,mreal z); mreal MGL_EXPORT mgl_data_spline_(uintptr_t *dat, mreal *x,mreal *y,mreal *z); /// Interpolate by linear function the data to given point x=[0...nx-1], y=[0...ny-1], z=[0...nz-1] mreal MGL_EXPORT mgl_data_linear(HCDT dat, mreal x,mreal y,mreal z); mreal MGL_EXPORT mgl_data_linear_(uintptr_t *dat, mreal *x,mreal *y,mreal *z); /// Interpolate by cubic spline the data and return its derivatives at given point x=[0...nx-1], y=[0...ny-1], z=[0...nz-1] mreal MGL_EXPORT mgl_data_spline_ext(HCDT dat, mreal x,mreal y,mreal z, mreal *dx,mreal *dy,mreal *dz); mreal MGL_EXPORT mgl_data_spline_ext_(uintptr_t *dat, mreal *x,mreal *y,mreal *z, mreal *dx,mreal *dy,mreal *dz); /// Interpolate by linear function the data and return its derivatives at given point x=[0...nx-1], y=[0...ny-1], z=[0...nz-1] mreal MGL_EXPORT mgl_data_linear_ext(HCDT dat, mreal x,mreal y,mreal z, mreal *dx,mreal *dy,mreal *dz); mreal MGL_EXPORT mgl_data_linear_ext_(uintptr_t *dat, mreal *x,mreal *y,mreal *z, mreal *dx,mreal *dy,mreal *dz); /// Return an approximated x-value (root) when dat(x) = val mreal MGL_EXPORT mgl_data_solve_1d(HCDT dat, mreal val, int spl, long i0); mreal MGL_EXPORT mgl_data_solve_1d_(uintptr_t *dat, mreal *val, int *spl, int *i0); /// Return an approximated value (root) when dat(x) = val HMDT MGL_EXPORT mgl_data_solve(HCDT dat, mreal val, char dir, HCDT i0, int norm); uintptr_t MGL_EXPORT mgl_data_solve_(uintptr_t *dat, mreal *val, const char *dir, uintptr_t *i0, int *norm,int); /// Get trace of the data array HMDT MGL_EXPORT mgl_data_trace(HCDT d); uintptr_t MGL_EXPORT mgl_data_trace_(uintptr_t *d); /// Resize the data to new sizes HMDT MGL_EXPORT mgl_data_resize(HCDT dat, long mx,long my,long mz); uintptr_t MGL_EXPORT mgl_data_resize_(uintptr_t *dat, int *mx,int *my,int *mz); /// Resize the data to new sizes of box [x1,x2]*[y1,y2]*[z1,z2] HMDT MGL_EXPORT mgl_data_resize_box(HCDT dat, long mx,long my,long mz,mreal x1,mreal x2,mreal y1,mreal y2,mreal z1,mreal z2); uintptr_t MGL_EXPORT mgl_data_resize_box_(uintptr_t *dat, int *mx,int *my,int *mz,mreal *x1,mreal *x2,mreal *y1,mreal *y2,mreal *z1,mreal *z2); /// Create n-th points distribution of this data values in range [v1, v2] HMDT MGL_EXPORT mgl_data_hist(HCDT dat, long n, mreal v1, mreal v2, long nsub); uintptr_t MGL_EXPORT mgl_data_momentum_(uintptr_t *dat, char *dir, const char *how, int,int); /// Create n-th points distribution of this data values in range [v1, v2] with weight w HMDT MGL_EXPORT mgl_data_hist_w(HCDT dat, HCDT weight, long n, mreal v1, mreal v2, long nsub); uintptr_t MGL_EXPORT mgl_data_hist_(uintptr_t *dat, int *n, mreal *v1, mreal *v2, int *nsub); /// Get momentum (1D-array) of data along direction 'dir'. String looks like "x1" for median in x-direction, "x2" for width in x-dir and so on. HMDT MGL_EXPORT mgl_data_momentum(HCDT dat, char dir, const char *how); uintptr_t MGL_EXPORT mgl_data_hist_w_(uintptr_t *dat, uintptr_t *weight, int *n, mreal *v1, mreal *v2, int *nsub); /// Get array which values is result of interpolation this for coordinates from other arrays HMDT MGL_EXPORT mgl_data_evaluate(HCDT dat, HCDT idat, HCDT jdat, HCDT kdat, int norm); uintptr_t MGL_EXPORT mgl_data_evaluate_(uintptr_t *dat, uintptr_t *idat, uintptr_t *jdat, uintptr_t *kdat, int *norm); /// Set as the data envelop void MGL_EXPORT mgl_data_envelop(HMDT dat, char dir); void MGL_EXPORT mgl_data_envelop_(uintptr_t *dat, const char *dir, int); /// Remove phase jump void MGL_EXPORT mgl_data_sew(HMDT dat, const char *dirs, mreal da); void MGL_EXPORT mgl_data_sew_(uintptr_t *dat, const char *dirs, mreal *da, int); /// Crop the data void MGL_EXPORT mgl_data_crop(HMDT dat, long n1, long n2, char dir); void MGL_EXPORT mgl_data_crop_(uintptr_t *dat, int *n1, int *n2, const char *dir,int); /// Remove rows with duplicate values in column id void MGL_EXPORT mgl_data_clean(HMDT dat, long id); void MGL_EXPORT mgl_data_clean_(uintptr_t *dat, int *id); /// Multiply the data by other one for each element void MGL_EXPORT mgl_data_mul_dat(HMDT dat, HCDT d); void MGL_EXPORT mgl_data_mul_dat_(uintptr_t *dat, uintptr_t *d); /// Divide the data by other one for each element void MGL_EXPORT mgl_data_div_dat(HMDT dat, HCDT d); void MGL_EXPORT mgl_data_div_dat_(uintptr_t *dat, uintptr_t *d); /// Add the other data void MGL_EXPORT mgl_data_add_dat(HMDT dat, HCDT d); void MGL_EXPORT mgl_data_add_dat_(uintptr_t *dat, uintptr_t *d); /// Subtract the other data void MGL_EXPORT mgl_data_sub_dat(HMDT dat, HCDT d); void MGL_EXPORT mgl_data_sub_dat_(uintptr_t *dat, uintptr_t *d); /// Multiply each element by the number void MGL_EXPORT mgl_data_mul_num(HMDT dat, mreal d); void MGL_EXPORT mgl_data_mul_num_(uintptr_t *dat, mreal *d); /// Divide each element by the number void MGL_EXPORT mgl_data_div_num(HMDT dat, mreal d); void MGL_EXPORT mgl_data_div_num_(uintptr_t *dat, mreal *d); /// Add the number void MGL_EXPORT mgl_data_add_num(HMDT dat, mreal d); void MGL_EXPORT mgl_data_add_num_(uintptr_t *dat, mreal *d); /// Subtract the number void MGL_EXPORT mgl_data_sub_num(HMDT dat, mreal d); void MGL_EXPORT mgl_data_sub_num_(uintptr_t *dat, mreal *d); /// Saves result of PDE solving (|u|^2) for "Hamiltonian" ham with initial conditions ini HMDT MGL_EXPORT mgl_pde_solve(HMGL gr, const char *ham, HCDT ini_re, HCDT ini_im, mreal dz, mreal k0,const char *opt); uintptr_t MGL_EXPORT mgl_pde_solve_(uintptr_t* gr, const char *ham, uintptr_t* ini_re, uintptr_t* ini_im, mreal *dz, mreal *k0,const char *opt,int,int); /// Saves result of PDE solving for "Hamiltonian" ham with initial conditions ini along a curve ray (must have nx>=7 - x,y,z,px,py,pz,tau or nx=5 - x,y,px,py,tau) HMDT MGL_EXPORT mgl_qo2d_solve(const char *ham, HCDT ini_re, HCDT ini_im, HCDT ray, mreal r, mreal k0, HMDT xx, HMDT yy); HMDT MGL_EXPORT mgl_qo2d_func(dual (*ham)(mreal u, mreal x, mreal y, mreal px, mreal py, void *par), void *par, HCDT ini_re, HCDT ini_im, HCDT ray, mreal r, mreal k0, HMDT xx, HMDT yy); uintptr_t MGL_EXPORT mgl_qo2d_solve_(const char *ham, uintptr_t* ini_re, uintptr_t* ini_im, uintptr_t* ray, mreal *r, mreal *k0, uintptr_t* xx, uintptr_t* yy, int); /// Saves result of PDE solving for "Hamiltonian" ham with initial conditions ini along a curve ray (must have nx>=7 - x,y,z,px,py,pz,tau or nx=5 - x,y,px,py,tau) HMDT MGL_EXPORT mgl_qo3d_solve(const char *ham, HCDT ini_re, HCDT ini_im, HCDT ray, mreal r, mreal k0, HMDT xx, HMDT yy, HMDT zz); HMDT MGL_EXPORT mgl_qo3d_func(dual (*ham)(mreal u, mreal x, mreal y, mreal z, mreal px, mreal py, mreal pz, void *par), void *par, HCDT ini_re, HCDT ini_im, HCDT ray, mreal r, mreal k0, HMDT xx, HMDT yy, HMDT zz); uintptr_t MGL_EXPORT mgl_qo3d_solve_(const char *ham, uintptr_t* ini_re, uintptr_t* ini_im, uintptr_t* ray, mreal *r, mreal *k0, uintptr_t* xx, uintptr_t* yy, uintptr_t* zz, int); /// Saves result of ODE solving of n equations with right part func and initial conditions x0 over time interval [0,tmax] with time step dt HMDT MGL_EXPORT mgl_ode_solve(void (*func)(const mreal *x, mreal *dx, void *par), int n, mreal *x0, mreal dt, mreal tmax, void *par); /// Finds ray with starting point r0, p0 (and prepares ray data for mgl_qo2d_solve) HMDT MGL_EXPORT mgl_ray_trace(const char *ham, mreal x0, mreal y0, mreal z0, mreal px, mreal py, mreal pz, mreal dt, mreal tmax); uintptr_t MGL_EXPORT mgl_ray_trace_(const char *ham, mreal *x0, mreal *y0, mreal *z0, mreal *px, mreal *py, mreal *pz, mreal *dt, mreal *tmax,int); /// Calculate Jacobian determinant for D{x(u,v), y(u,v)} = dx/du*dy/dv-dx/dv*dy/du HMDT MGL_EXPORT mgl_jacobian_2d(HCDT x, HCDT y); uintptr_t MGL_EXPORT mgl_jacobian_2d_(uintptr_t* x, uintptr_t* y); /// Calculate Jacobian determinant for D{x(u,v,w), y(u,v,w), z(u,v,w)} HMDT MGL_EXPORT mgl_jacobian_3d(HCDT x, HCDT y, HCDT z); uintptr_t MGL_EXPORT mgl_jacobian_3d_(uintptr_t* x, uintptr_t* y, uintptr_t* z); /// Integral data transformation (like Fourier 'f' or 'i', Hankel 'h' or None 'n') for amplitude and phase HMDT MGL_EXPORT mgl_transform_a(HCDT am, HCDT ph, const char *tr); uintptr_t MGL_EXPORT mgl_transform_a_(uintptr_t *am, uintptr_t *ph, const char *tr, int); /// Integral data transformation (like Fourier 'f' or 'i', Hankel 'h' or None 'n') for real and imaginary parts HMDT MGL_EXPORT mgl_transform(HCDT re, HCDT im, const char *tr); uintptr_t MGL_EXPORT mgl_transform_(uintptr_t *re, uintptr_t *im, const char *tr, int); /// Apply Fourier transform for the data and save result into it void MGL_EXPORT mgl_data_fourier(HMDT re, HMDT im, const char *dir); void MGL_EXPORT mgl_data_fourier_(uintptr_t *re, uintptr_t *im, const char *dir, int l); /// Short time Fourier analysis for real and imaginary parts. Output is amplitude of partial Fourier (result will have size {dn, floor(nx/dn), ny} for dir='x' HMDT MGL_EXPORT mgl_data_stfa(HCDT re, HCDT im, long dn, char dir); uintptr_t MGL_EXPORT mgl_data_stfa_(uintptr_t *re, uintptr_t *im, int *dn, char *dir, int); /// Do something like Delone triangulation for 3d points HMDT MGL_EXPORT mgl_triangulation_3d(HCDT x, HCDT y, HCDT z); uintptr_t MGL_EXPORT mgl_triangulation_3d_(uintptr_t *x, uintptr_t *y, uintptr_t *z); /// Do Delone triangulation for 2d points HMDT MGL_EXPORT mgl_triangulation_2d(HCDT x, HCDT y); uintptr_t MGL_EXPORT mgl_triangulation_2d_(uintptr_t *x, uintptr_t *y); /// Find root for nonlinear equation mreal MGL_EXPORT mgl_find_root(mreal (*func)(mreal val, void *par), mreal ini, void *par); /// Find root for nonlinear equation defined by textual formula mreal MGL_EXPORT mgl_find_root_txt(const char *func, mreal ini, char var); mreal MGL_EXPORT mgl_find_root_txt_(const char *func, mreal *ini, const char *var,int,int); /// Find roots for nonlinear equation defined by textual formula HMDT MGL_EXPORT mgl_data_roots(const char *func, HCDT ini, char var); uintptr_t MGL_EXPORT mgl_data_roots_(const char *func, uintptr_t *ini, const char *var,int,int); #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/fit.h0000664000175000017500000001345112142400464016136 0ustar balakinbalakin/*************************************************************************** * fit.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_FIT_H_ #define _MGL_FIT_H_ #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif //----------------------------------------------------------------------------- extern int mglFitPnts; ///< Number of output points in fitting extern char mglFitRes[1024]; ///< Last fitted formula HMDT MGL_EXPORT mgl_fit_1(HMGL gr, HCDT y, const char *eq, const char *var, HMDT ini, const char *opt); HMDT MGL_EXPORT mgl_fit_2(HMGL gr, HCDT z, const char *eq, const char *var, HMDT ini, const char *opt); HMDT MGL_EXPORT mgl_fit_3(HMGL gr, HCDT a, const char *eq, const char *var, HMDT ini, const char *opt); HMDT MGL_EXPORT mgl_fit_xy(HMGL gr, HCDT x, HCDT y, const char *eq, const char *var, HMDT ini, const char *opt); HMDT MGL_EXPORT mgl_fit_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *eq, const char *var, HMDT ini, const char *opt); HMDT MGL_EXPORT mgl_fit_xyza(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *eq, const char *var, HMDT ini, const char *opt); HMDT MGL_EXPORT mgl_fit_ys(HMGL gr, HCDT y, HCDT s, const char *eq, const char *var, HMDT ini, const char *opt); HMDT MGL_EXPORT mgl_fit_xys(HMGL gr, HCDT x, HCDT y, HCDT s, const char *eq, const char *var, HMDT ini, const char *opt); HMDT MGL_EXPORT mgl_fit_xyzs(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT s, const char *eq, const char *var, HMDT ini, const char *opt); HMDT MGL_EXPORT mgl_fit_xyzas(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, HCDT s, const char *eq, const char *var, HMDT ini, const char *opt); MGL_EXPORT const char *mgl_get_fit(HMGL gr); HMDT MGL_EXPORT mgl_hist_x(HMGL gr, HCDT x, HCDT a, const char *opt); HMDT MGL_EXPORT mgl_hist_xy(HMGL gr, HCDT x, HCDT y, HCDT a, const char *opt); HMDT MGL_EXPORT mgl_hist_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *opt); void MGL_EXPORT mgl_puts_fit(HMGL gr, double x, double y, double z, const char *prefix, const char *font, double size); //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_fit_1_(uintptr_t* gr, uintptr_t* y, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_fit_2_(uintptr_t* gr, uintptr_t* z, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_fit_3_(uintptr_t* gr, uintptr_t* a, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_fit_xy_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_fit_xyz_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_fit_xyza_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_fit_ys_(uintptr_t* gr, uintptr_t* y, uintptr_t* ss, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_fit_xys_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* ss, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_fit_xyzs_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ss, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_fit_xyzas_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, uintptr_t* ss, const char *eq, const char *var, uintptr_t *ini, const char *opt,int, int l, int n); uintptr_t MGL_EXPORT mgl_hist_x_(uintptr_t* gr, uintptr_t* x, uintptr_t* a, const char *opt,int); uintptr_t MGL_EXPORT mgl_hist_xy_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* a, const char *opt,int); uintptr_t MGL_EXPORT mgl_hist_xyz_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const char *opt,int); void MGL_EXPORT mgl_puts_fit_(uintptr_t* gr, mreal *x, mreal *y, mreal *z, const char *prefix, const char *font, mreal *size, int l, int n); //----------------------------------------------------------------------------- #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/base_cf.h0000664000175000017500000002407212142400464016737 0ustar balakinbalakin/*************************************************************************** * base_cf.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_BASE_CF_H_ #define _MGL_BASE_CF_H_ #include "mgl2/base.h" //----------------------------------------------------------------------------- #ifdef __cplusplus extern "C" { #endif /// Get last warning code int MGL_EXPORT mgl_get_warn(HMGL gr); int MGL_EXPORT mgl_get_warn_(uintptr_t *gr); /// Set warning code ant fill message void MGL_EXPORT mgl_set_warn(HMGL gr, int code, const char *text); void MGL_EXPORT mgl_set_warn_(uintptr_t *gr, int *code, const char *text,int); /// Set buffer for warning messages MGL_EXPORT const char *mgl_get_mess(HMGL gr); /// Set name of plot for saving filename void MGL_EXPORT mgl_set_plotid(HMGL gr, const char *id); void MGL_EXPORT mgl_set_plotid_(uintptr_t *gr, const char *id,int); /// Get name of plot for saving filename MGL_EXPORT const char *mgl_get_plotid(HMGL gr); /// Get plot quality int MGL_EXPORT mgl_get_quality(HMGL gr); int MGL_EXPORT mgl_get_quality_(uintptr_t *gr); /// Set plot quality void MGL_EXPORT mgl_set_quality(HMGL gr, int qual); void MGL_EXPORT mgl_set_quality_(uintptr_t *gr, int *qual); /// Is frames int MGL_EXPORT mgl_is_frames(HMGL gr); /// Get bit-value flag of HMGL state (for advanced users only) int MGL_EXPORT mgl_get_flag(HMGL gr, long flag); /// Set bit-value flag of HMGL state (for advanced users only) void MGL_EXPORT mgl_set_flag(HMGL gr, int val, long flag); /// Change counter of HMGL uses (for advanced users only). Non-zero counter prevent automatic object removing. long MGL_EXPORT mgl_use_graph(HMGL gr, int inc); long MGL_EXPORT mgl_use_graph_(uintptr_t *gr, int *inc); void MGL_EXPORT mgl_set_rdc_acc(HMGL gr, int reduce); // TODO void MGL_EXPORT mgl_set_rdc_acc_(uintptr_t *gr, int *reduce); /// Start group of objects void MGL_EXPORT mgl_start_group(HMGL gr, const char *); void MGL_EXPORT mgl_start_group_(uintptr_t *gr, const char *,int); /// End group of objects void MGL_EXPORT mgl_end_group(HMGL gr); void MGL_EXPORT mgl_end_group_(uintptr_t *gr); /// Highlight objects with given id void MGL_EXPORT mgl_highlight(HMGL gr, int id); void MGL_EXPORT mgl_highlight_(uintptr_t *gr, int *id); /// Set default palette void MGL_EXPORT mgl_set_palette(HMGL gr, const char *colors); void MGL_EXPORT mgl_set_palette_(uintptr_t *gr, const char *colors, int); void MGL_EXPORT mgl_set_pal_color_(uintptr_t *gr, int *n, mreal *r, mreal *g, mreal *b); void MGL_EXPORT mgl_set_pal_num_(uintptr_t *gr, int *num); /// Sets RGB values for color with given id void MGL_EXPORT mgl_set_color(char id, double r, double g, double b); void MGL_EXPORT mgl_set_color_(char *id, mreal *r, mreal *g, mreal *b, int); /// Set default color scheme void MGL_EXPORT mgl_set_def_sch(HMGL gr, const char *sch); void MGL_EXPORT mgl_set_def_sch_(uintptr_t *gr, const char *sch,int); /// Set default value of alpha-channel void MGL_EXPORT mgl_set_alpha_default(HMGL gr, double alpha); void MGL_EXPORT mgl_set_alpha_default_(uintptr_t *gr, mreal *alpha); /// Set relative width of rectangles in Bars, Barh, BoxPlot void MGL_EXPORT mgl_set_bar_width(HMGL gr, double width); void MGL_EXPORT mgl_set_bar_width_(uintptr_t *gr, mreal *width); /// Set number of mesh lines (use 0 to draw all of them) void MGL_EXPORT mgl_set_meshnum(HMGL gr, int num); void MGL_EXPORT mgl_set_meshnum_(uintptr_t *gr, int *num); /// Set number of visible faces (use 0 to draw all of them) void MGL_EXPORT mgl_set_facenum(HMGL gr, int num); void MGL_EXPORT mgl_set_facenum_(uintptr_t *gr, int *num); /// Clear unused points and primitives. Useful only in combination with mgl_set_facenum(). void MGL_EXPORT mgl_clear_unused(HMGL gr); void MGL_EXPORT mgl_clear_unused_(uintptr_t *gr); /// Set ambient light brightness void MGL_EXPORT mgl_set_ambbr(HMGL gr, double i); void MGL_EXPORT mgl_set_ambbr_(uintptr_t *gr, mreal *i); /// Use diffusive light (only for local light sources) void MGL_EXPORT mgl_set_light_dif(HMGL gr, int enable); void MGL_EXPORT mgl_set_light_dif_(uintptr_t *gr, int *enable); /// Set cutting for points outside of bounding box void MGL_EXPORT mgl_set_cut(HMGL gr, int cut); void MGL_EXPORT mgl_set_cut_(uintptr_t *gr, int *cut); /// Set additional cutting box void MGL_EXPORT mgl_set_cut_box(HMGL gr, double x1,double y1,double z1,double x2,double y2,double z2); void MGL_EXPORT mgl_set_cut_box_(uintptr_t *gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2); /// Set the cutting off condition (formula) void MGL_EXPORT mgl_set_cutoff(HMGL gr, const char *EqC); void MGL_EXPORT mgl_set_cutoff_(uintptr_t *gr, const char *EqC, int); /// Set values of axis range void MGL_EXPORT mgl_set_ranges(HMGL gr, double x1, double x2, double y1, double y2, double z1, double z2); void MGL_EXPORT mgl_set_ranges_(uintptr_t *gr, mreal *x1, mreal *x2, mreal *y1, mreal *y2, mreal *z1, mreal *z2); /// Set range in direction dir as [v1, v2] void MGL_EXPORT mgl_set_range_val(HMGL gr, char dir, double v1,double v2); void MGL_EXPORT mgl_set_range_val_(uintptr_t *gr, const char *dir, mreal *v1, mreal *v2,int); /// Set range in direction dir as minimal and maximal values of data a void MGL_EXPORT mgl_set_range_dat(HMGL gr, char dir, HCDT a, int add); void MGL_EXPORT mgl_set_range_dat_(uintptr_t *gr, const char *dir, uintptr_t *a, int *add,int); /// Set ranges for automatic variables void MGL_EXPORT mgl_set_auto_ranges(HMGL gr, double x1, double x2, double y1, double y2, double z1, double z2, double c1, double c2); void MGL_EXPORT mgl_set_auto_ranges_(uintptr_t *gr, mreal *x1, mreal *x2, mreal *y1, mreal *y2, mreal *z1, mreal *z2, mreal *c1, mreal *c2); /// Set axis range scaling -- simplified way to shift/zoom axis range -- need to redraw whole image! void MGL_EXPORT mgl_zoom_axis(HMGL gr, double x1,double y1,double z1,double c1,double x2,double y2,double z2,double c2); void MGL_EXPORT mgl_zoom_axis_(uintptr_t *gr, mreal *x1, mreal *y1, mreal *z1, mreal *c1, mreal *x2, mreal *y2, mreal *z2, mreal *c2); /// Set axis origin void MGL_EXPORT mgl_set_origin(HMGL gr, double x0, double y0, double z0); void MGL_EXPORT mgl_set_origin_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0); /// Set the transformation formulas for coordinate void MGL_EXPORT mgl_set_func(HMGL gr, const char *EqX,const char *EqY,const char *EqZ,const char *EqA); void MGL_EXPORT mgl_set_func_(uintptr_t *gr, const char *EqX, const char *EqY, const char *EqZ, const char *EqA, int, int, int, int); /// Set one of predefined transformation rule void MGL_EXPORT mgl_set_coor(HMGL gr, int how); void MGL_EXPORT mgl_set_coor_(uintptr_t *gr, int *how); /// Set to draw Ternary axis (triangle like axis, grid and so on) void MGL_EXPORT mgl_set_ternary(HMGL gr, int enable); void MGL_EXPORT mgl_set_ternary_(uintptr_t *gr, int *enable); /// Set to use or not tick labels rotation void MGL_EXPORT mgl_set_tick_rotate(HMGL gr, int enable); void MGL_EXPORT mgl_set_tick_rotate_(uintptr_t *gr, int *enable); /// Set to use or not tick labels skipping void MGL_EXPORT mgl_set_tick_skip(HMGL gr, int enable); void MGL_EXPORT mgl_set_tick_skip_(uintptr_t *gr, int *enable); /// Set default font for all new HMGL objects void MGL_EXPORT mgl_def_font(const char *name, const char *path); void MGL_EXPORT mgl_def_font_(const char *name, const char *path,int,int); /// Set default size of marks (locally you can use "size" option) void MGL_EXPORT mgl_set_mark_size(HMGL gr, double size); void MGL_EXPORT mgl_set_mark_size_(uintptr_t *gr, mreal *size); /// Set default size of arrows (locally you can use "size" option) void MGL_EXPORT mgl_set_arrow_size(HMGL gr, double size); void MGL_EXPORT mgl_set_arrow_size_(uintptr_t *gr, mreal *size); /// Set default font size void MGL_EXPORT mgl_set_font_size(HMGL gr, double size); void MGL_EXPORT mgl_set_font_size_(uintptr_t *gr, mreal *size); /// Set default font style and color void MGL_EXPORT mgl_set_font_def(HMGL gr, const char *fnt); void MGL_EXPORT mgl_set_font_def_(uintptr_t *gr, const char *fnt, int); /// Set to use or not text rotation void MGL_EXPORT mgl_set_rotated_text(HMGL gr, int enable); void MGL_EXPORT mgl_set_rotated_text_(uintptr_t *gr, int *enable); /// Load font from file void MGL_EXPORT mgl_load_font(HMGL gr, const char *name, const char *path); void MGL_EXPORT mgl_load_font_(uintptr_t *gr, char *name, char *path, int l, int n); /// Copy font from another mglGraph instance void MGL_EXPORT mgl_copy_font(HMGL gr, HMGL gr_from); void MGL_EXPORT mgl_copy_font_(uintptr_t *gr, uintptr_t *gr_from); /// Restore font (load default font for new HMGL objects) void MGL_EXPORT mgl_restore_font(HMGL gr); void MGL_EXPORT mgl_restore_font_(uintptr_t *gr); #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/datac_cf.h0000664000175000017500000003161312142400464017100 0ustar balakinbalakin/*************************************************************************** * data_cf.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_DATAC_CF_H_ #define _MGL_DATAC_CF_H_ //----------------------------------------------------------------------------- #include "mgl2/base.h" //----------------------------------------------------------------------------- #if MGL_HAVE_GSL #include #include #else struct gsl_vector; struct gsl_matrix; #endif //----------------------------------------------------------------------------- #ifdef __cplusplus class mglDataC; typedef mglDataC* HADT; extern "C" { #else typedef void *HADT; #endif /// Create HMDT object HADT MGL_EXPORT mgl_create_datac(); uintptr_t MGL_EXPORT mgl_create_datac_(); /// Create HMDT object with specified sizes HADT MGL_EXPORT mgl_create_datac_size(long nx, long ny, long nz); uintptr_t MGL_EXPORT mgl_create_datac_size_(int *nx, int *ny, int *nz); /// Create HMDT object with data from file HADT MGL_EXPORT mgl_create_datac_file(const char *fname); uintptr_t MGL_EXPORT mgl_create_datac_file_(const char *fname, int len); /// Delete HMDT object void MGL_EXPORT mgl_delete_datac(HADT dat); void MGL_EXPORT mgl_delete_datac_(uintptr_t *dat); /// Rearange data dimensions void MGL_EXPORT mgl_datac_rearrange(HADT dat, long mx,long my,long mz); void MGL_EXPORT mgl_datac_rearrange_(uintptr_t *dat, int *mx, int *my, int *mz); /// Link external data array (don't delete it at exit) void MGL_EXPORT mgl_datac_link(HADT dat, dual *A,long mx,long my,long mz); void MGL_EXPORT mgl_datac_link_(uintptr_t *d, dual *A, int *nx,int *ny,int *nz); /// Allocate memory and copy the data from the (float *) array void MGL_EXPORT mgl_datac_set_float(HADT dat, const float *A,long mx,long my,long mz); void MGL_EXPORT mgl_datac_set_float_(uintptr_t *dat, const float *A,int *NX,int *NY,int *NZ); /// Allocate memory and copy the data from the (double *) array void MGL_EXPORT mgl_datac_set_double(HADT dat, const double *A,long mx,long my,long mz); void MGL_EXPORT mgl_datac_set_double_(uintptr_t *dat, const double *A,int *NX,int *NY,int *NZ); /// Allocate memory and copy the data from the (dual *) array void MGL_EXPORT mgl_datac_set_complex(HADT dat, const dual *A,long mx,long my,long mz); void MGL_EXPORT mgl_datac_set_complex_(uintptr_t *d, const dual *A,int *NX,int *NY,int *NZ); /// Import data from abstract type void MGL_EXPORT mgl_datac_set(HADT dat, HCDT a); void MGL_EXPORT mgl_datac_set_(uintptr_t *dat, uintptr_t *a); /// Allocate memory and copy the data from the gsl_vector void MGL_EXPORT mgl_datac_set_vector(HADT dat, gsl_vector *v); /// Allocate memory and copy the data from the gsl_matrix void MGL_EXPORT mgl_datac_set_matrix(HADT dat, gsl_matrix *m); /// Set value of data element [i,j,k] void MGL_EXPORT mgl_datac_set_value(HADT dat, dual v, long i, long j, long k); void MGL_EXPORT mgl_datac_set_value_(uintptr_t *d, mreal *v, int *i, int *j, int *k); /// Get value of data element [i,j,k] dual MGL_EXPORT mgl_datac_get_value(HCDT dat, long i, long j, long k); /// Allocate memory and scanf the data from the string void MGL_EXPORT mgl_datac_set_values(HADT dat, const char *val, long nx, long ny, long nz); void MGL_EXPORT mgl_datac_set_values_(uintptr_t *d, const char *val, int *nx, int *ny, int *nz, int l); /// Returns pointer to internal data array MGL_EXPORT dual *mgl_datac_data(HADT dat); /// Returns pointer to data element [i,j,k] MGL_EXPORT dual *mgl_datac_value(HADT dat, long i,long j,long k); /// Set the data from HCDT objects for real and imaginary parts void MGL_EXPORT mgl_datac_set_ri(HADT dat, HCDT re, HCDT im); void MGL_EXPORT mgl_datac_set_ri_(uintptr_t *dat, uintptr_t *re, uintptr_t *im); /// Set the data from HCDT objects as amplitude and phase of complex data void MGL_EXPORT mgl_datac_set_ap(HADT dat, HCDT abs, HCDT phi); void MGL_EXPORT mgl_datac_set_ap_(uintptr_t *dat, uintptr_t *abs, uintptr_t *phi); /// Read data from tab-separated text file with auto determining size int MGL_EXPORT mgl_datac_read(HADT dat, const char *fname); int MGL_EXPORT mgl_datac_read_(uintptr_t *d, const char *fname,int l); /// Read data from text file with size specified at beginning of the file int MGL_EXPORT mgl_datac_read_mat(HADT dat, const char *fname, long dim); int MGL_EXPORT mgl_datac_read_mat_(uintptr_t *dat, const char *fname, int *dim, int); /// Read data from text file with specifeid size int MGL_EXPORT mgl_datac_read_dim(HADT dat, const char *fname,long mx,long my,long mz); int MGL_EXPORT mgl_datac_read_dim_(uintptr_t *dat, const char *fname,int *mx,int *my,int *mz,int); /// Read data from tab-separated text files with auto determining size which filenames are result of sprintf(fname,templ,t) where t=from:step:to int MGL_EXPORT mgl_datac_read_range(HADT d, const char *templ, double from, double to, double step, int as_slice); int MGL_EXPORT mgl_data_read_range_(uintptr_t *d, const char *fname, mreal *from, mreal *to, mreal *step, int *as_slice,int l); /// Read data from tab-separated text files with auto determining size which filenames are satisfied to template (like "t_*.dat") int MGL_EXPORT mgl_datac_read_all(HADT dat, const char *templ, int as_slice); int MGL_EXPORT mgl_data_read_all_(uintptr_t *d, const char *fname, int *as_slice,int l); /// Save whole data array (for ns=-1) or only ns-th slice to text file void MGL_EXPORT mgl_datac_save(HCDT dat, const char *fname,long ns); void MGL_EXPORT mgl_datac_save_(uintptr_t *dat, const char *fname,int *ns,int); /// Read data array from HDF file (parse HDF4 and HDF5 files) int MGL_EXPORT mgl_datac_read_hdf(HADT d,const char *fname,const char *data); int MGL_EXPORT mgl_datac_read_hdf_(uintptr_t *d, const char *fname, const char *data,int l,int n); /// Save data to HDF file void MGL_EXPORT mgl_datac_save_hdf(HCDT d,const char *fname,const char *data,int rewrite); void MGL_EXPORT mgl_datac_save_hdf_(uintptr_t *d, const char *fname, const char *data, int *rewrite,int l,int n); /// Create or recreate the array with specified size and fill it by zero void MGL_EXPORT mgl_datac_create(HADT dat, long nx,long ny,long nz); void MGL_EXPORT mgl_datac_create_(uintptr_t *dat, int *nx,int *ny,int *nz); /// Transpose dimensions of the data (generalization of Transpose) void MGL_EXPORT mgl_datac_transpose(HADT dat, const char *dim); void MGL_EXPORT mgl_datac_transpose_(uintptr_t *dat, const char *dim,int); /// Set names for columns (slices) void MGL_EXPORT mgl_datac_set_id(HADT d, const char *id); void MGL_EXPORT mgl_datac_set_id_(uintptr_t *dat, const char *id,int l); /// Equidistantly fill the data to range [x1,x2] in direction dir void MGL_EXPORT mgl_datac_fill(HADT dat, dual x1,dual x2,char dir); void MGL_EXPORT mgl_datac_fill_(uintptr_t *dat, mreal *x1,mreal *x2,const char *dir,int); /// Modify the data by specified formula assuming x,y,z in range [r1,r2] void MGL_EXPORT mgl_datac_fill_eq(HMGL gr, HADT dat, const char *eq, HCDT vdat, HCDT wdat,const char *opt); void MGL_EXPORT mgl_datac_fill_eq_(uintptr_t *gr, uintptr_t *dat, const char *eq, uintptr_t *vdat, uintptr_t *wdat,const char *opt, int, int); /// Modify the data by specified formula void MGL_EXPORT mgl_datac_modify(HADT dat, const char *eq,long dim); void MGL_EXPORT mgl_datac_modify_(uintptr_t *dat, const char *eq,int *dim,int); /// Modify the data by specified formula void MGL_EXPORT mgl_datac_modify_vw(HADT dat, const char *eq,HCDT vdat,HCDT wdat); void MGL_EXPORT mgl_datac_modify_vw_(uintptr_t *dat, const char *eq, uintptr_t *vdat, uintptr_t *wdat,int); /// Reduce size of the data void MGL_EXPORT mgl_datac_squeeze(HADT dat, long rx,long ry,long rz,long smooth); void MGL_EXPORT mgl_datac_squeeze_(uintptr_t *dat, int *rx,int *ry,int *rz,int *smooth); /// Extend data dimensions void MGL_EXPORT mgl_datac_extend(HADT dat, long n1, long n2); void MGL_EXPORT mgl_datac_extend_(uintptr_t *dat, int *n1, int *n2); /// Insert data rows/columns/slices void MGL_EXPORT mgl_datac_insert(HADT dat, char dir, long at, long num); void MGL_EXPORT mgl_datac_insert_(uintptr_t *dat, const char *dir, int *at, int *num, int); /// Delete data rows/columns/slices void MGL_EXPORT mgl_datac_delete(HADT dat, char dir, long at, long num); void MGL_EXPORT mgl_datac_delete_(uintptr_t *dat, const char *dir, int *at, int *num, int); /// Joind another data array void MGL_EXPORT mgl_datac_join(HADT dat, HCDT d); void MGL_EXPORT mgl_datac_join_(uintptr_t *dat, uintptr_t *d); /// Smooth the data on specified direction or directions void MGL_EXPORT mgl_datac_smooth(HADT d, const char *dirs, mreal delta); void MGL_EXPORT mgl_datac_smooth_(uintptr_t *dat, const char *dirs, mreal *delta,int); /// Cumulative summation the data in given direction or directions void MGL_EXPORT mgl_datac_cumsum(HADT dat, const char *dir); void MGL_EXPORT mgl_datac_cumsum_(uintptr_t *dat, const char *dir,int); /// Integrate (cumulative summation) the data in given direction or directions void MGL_EXPORT mgl_datac_integral(HADT dat, const char *dir); void MGL_EXPORT mgl_datac_integral_(uintptr_t *dat, const char *dir,int); /// Differentiate the data in given direction or directions void MGL_EXPORT mgl_datac_diff(HADT dat, const char *dir); void MGL_EXPORT mgl_datac_diff_(uintptr_t *dat, const char *dir,int); /// Double-differentiate (like Laplace operator) the data in given direction void MGL_EXPORT mgl_datac_diff2(HADT dat, const char *dir); void MGL_EXPORT mgl_datac_diff2_(uintptr_t *dat, const char *dir,int); /// Swap left and right part of the data in given direction (useful for Fourier spectrum) void MGL_EXPORT mgl_datac_swap(HADT dat, const char *dir); void MGL_EXPORT mgl_datac_swap_(uintptr_t *dat, const char *dir,int); /// Roll data along direction dir by num slices void MGL_EXPORT mgl_datac_roll(HADT dat, char dir, long num); void MGL_EXPORT mgl_datac_roll_(uintptr_t *dat, const char *dir, int *num, int); /// Mirror the data in given direction (useful for Fourier spectrum) void MGL_EXPORT mgl_datac_mirror(HADT dat, const char *dir); void MGL_EXPORT mgl_datac_mirror_(uintptr_t *dat, const char *dir,int); /// Crop the data void MGL_EXPORT mgl_datac_crop(HADT dat, long n1, long n2, char dir); void MGL_EXPORT mgl_data_crop_(uintptr_t *dat, int *n1, int *n2, const char *dir,int); /// Apply Hankel transform void MGL_EXPORT mgl_datac_hankel(HADT dat, const char *dir); void MGL_EXPORT mgl_datac_hankel_(uintptr_t *dat, const char *dir,int); /// Apply Fourier transform void MGL_EXPORT mgl_datac_fft(HADT dat, const char *dir); void MGL_EXPORT mgl_datac_fft_(uintptr_t *dat, const char *dir,int); HMDT MGL_EXPORT mgl_datac_real(HCDT dat); uintptr_t MGL_EXPORT mgl_datac_real_(uintptr_t *dat); HMDT MGL_EXPORT mgl_datac_imag(HCDT dat); uintptr_t MGL_EXPORT mgl_datac_imag_(uintptr_t *dat); HMDT MGL_EXPORT mgl_datac_abs(HCDT dat); uintptr_t MGL_EXPORT mgl_datac_abs_(uintptr_t *dat); HMDT MGL_EXPORT mgl_datac_arg(HCDT dat); uintptr_t MGL_EXPORT mgl_datac_arg_(uintptr_t *dat); /// Interpolate by linear function the data to given point x=[0...nx-1], y=[0...ny-1], z=[0...nz-1] dual MGL_EXPORT mgl_datac_linear(HCDT d, mreal x,mreal y,mreal z); dual MGL_EXPORT mgl_datac_linear_(uintptr_t *d, mreal *x,mreal *y,mreal *z); /// Interpolate by linear function the data and return its derivatives at given point x=[0...nx-1], y=[0...ny-1], z=[0...nz-1] dual MGL_EXPORT mgl_datac_linear_ext(HCDT d, mreal x,mreal y,mreal z, dual *dx,dual *dy,dual *dz); dual MGL_EXPORT mgl_datac_linear_ext_(uintptr_t *d, mreal *x,mreal *y,mreal *z, dual *dx,dual *dy,dual *dz); #ifdef __cplusplus } #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/opengl.h0000664000175000017500000000605112142400464016636 0ustar balakinbalakin/*************************************************************************** * opengl.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef MGL_CANVAS_GL_H #define MGL_CANVAS_GL_H //----------------------------------------------------------------------------- #include "mgl2/canvas.h" //----------------------------------------------------------------------------- class MGL_EXPORT mglCanvasGL : public mglCanvas { public: mglCanvasGL(); ~mglCanvasGL(); void SetQuality(int =0) { Quality=2; } void Finish(bool fast=true); void SetSize(int ,int ) {} void View(mreal tetX,mreal tetY,mreal tetZ); void Zoom(mreal x1, mreal y1, mreal x2, mreal y2); int NewFrame(); void EndFrame(); void DelFrame(long ){} bool Alpha(bool enable); void Fog(mreal d, mreal dz=0.25); bool Light(bool enable); void Light(int n, bool enable); void AddLight(int n,mglPoint r,mglPoint d, char c='w', mreal bright=0.5, mreal ap=0); void Clf(mglColor Back=WC); protected: // provide fastest variant for usual points (not glyphs or marks) void line_draw(long n1, long n2); void trig_draw(long n1, long n2, long n3); void quad_draw(long n1, long n2, long n3, long n4); // variant for glyphs or marks void line_draw(const mglPnt &p1, const mglPnt &p2, mglDrawReg *d); void trig_draw(const mglPnt &p1, const mglPnt &p2, const mglPnt &p3, bool anorm, mglDrawReg *d); void quad_draw(const mglPnt &p1, const mglPnt &p2, const mglPnt &p3, const mglPnt &p4, mglDrawReg *d); void pnt_draw(const mglPnt &p, mglDrawReg *d); unsigned char **GetRGBLines(long &w, long &h, unsigned char *&f, bool solid=true); void LightScale(); void set_pen(unsigned style,mreal width); }; //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/addon.h0000664000175000017500000000645012142400464016442 0ustar balakinbalakin/*************************************************************************** * addon.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_ADDON_H_ #define _MGL_ADDON_H_ //----------------------------------------------------------------------------- #include "mgl2/define.h" #ifdef __cplusplus //----------------------------------------------------------------------------- /// Get integer power of x dual MGL_EXPORT mgl_ipowc(dual x,int n); /// Get exp(i*a) dual MGL_EXPORT mgl_expi(dual a); /// Get exp(i*a) dual MGL_EXPORT mgl_expi(double a); /// Explicit scheme for 1 step of axial diffraction bool MGL_EXPORT mgl_difr_axial(dual *a, int n, dual q, int Border,dual *b, dual *d, int kk, double di); /// Explicit scheme for 1 step of plane diffraction bool MGL_EXPORT mgl_difr_grid(dual *a,int n,dual q,int Border,dual *b,dual *d,int kk); //----------------------------------------------------------------------------- extern "C" { #endif /// Set seed for random numbers void MGL_EXPORT mgl_srnd(long seed); /// Get random number double MGL_EXPORT mgl_rnd(); /// Get integer power of x double MGL_EXPORT mgl_ipow(double x,int n); /// Get random number with Gaussian distribution double MGL_EXPORT mgl_gauss_rnd(); /// Fill frequencies for FFT void MGL_EXPORT mgl_fft_freq(double *freq,size_t nn); /// Remove double spaces from the string void MGL_EXPORT mgl_strcls(char *str); /// Get position of substring or return -1 if not found int MGL_EXPORT mgl_strpos(const char *str,char *fnd); /// Get position of symbol or return -1 if not found int MGL_EXPORT mgl_chrpos(const char *str,char fnd); /// Get uncommented string from file (NOTE: it is not thread safe!!!) MGL_EXPORT char *mgl_fgetstr(FILE *fp); /// Check if symbol denote true int MGL_EXPORT mgl_istrue(char ch); /// Print test message void MGL_EXPORT mgl_test(const char *str, ...); /// Print info message void MGL_EXPORT mgl_info(const char *str, ...); /// Locate next data block (block started by -----) MGL_EXPORT FILE *mgl_next_data(const char *fname,int p); #ifdef __cplusplus } #endif #endif mathgl-2.1.3.1/include/mgl2/mgl_cf.h0000664000175000017500000000504012142400464016576 0ustar balakinbalakin/*************************************************************************** * MGL_EXPORT mgl_cf.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_CF_H_ #define _MGL_CF_H_ //----------------------------------------------------------------------------- #ifdef __cplusplus #include #include #endif //----------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #include #include #include #include #include //----------------------------------------------------------------------------- #if MGL_HAVE_OPENGL #ifdef __cplusplus extern "C" { #endif //----------------------------------------------------------------------------- HMGL MGL_EXPORT mgl_create_graph_gl(); uintptr_t MGL_EXPORT mgl_create_graph_gl_(); //----------------------------------------------------------------------------- #ifdef __cplusplus } #endif #endif //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/mgl2/eval.h0000664000175000017500000000636512142400464016311 0ustar balakinbalakin/*************************************************************************** * eval.h is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifndef _MGL_EVAL_H_ #define _MGL_EVAL_H_ //----------------------------------------------------------------------------- #include "mgl2/define.h" /// types of errors #define MGL_ERR_LOG 1 #define MGL_ERR_ARC 2 #define MGL_ERR_SQRT 3 /// size of var array const int MGL_VS = 'z'-'a'+1; //----------------------------------------------------------------------------- /// Class for evaluating formula specified by the string class mglFormula // îáúåêò äëÿ ââîäà è âû÷èñëåíèÿ ôîðìóë { public: /// Evaluates the formula for 'x','r'=\a x, 'y','n'=\a y, 'z','t'=\a z, 'u'=\a u mreal Calc(mreal x,mreal y=0,mreal z=0,mreal u=0) const; /// Evaluates the formula for 'x, y, z, u, v, w' mreal Calc(mreal x,mreal y,mreal z,mreal u,mreal v,mreal w) const; /// Evaluates the formula for variables var mreal Calc(const mreal var[MGL_VS]) const; /// Evaluates the formula for 'x','r'=\a x, 'y','n'=\a y, 'z','t'=\a z, 'u'=\a u mreal CalcD(char diff, mreal x,mreal y=0,mreal z=0,mreal u=0) const; /// Evaluates the formula for 'x, y, z, u, v, w' mreal CalcD(char diff, mreal x,mreal y,mreal z,mreal u,mreal v,mreal w) const; /// Evaluates the derivates of the formula for variables var respect to variable diff mreal CalcD(const mreal var[MGL_VS], char diff) const; /// Return error code int GetError() const; /// Parse the formula str and create formula-tree mglFormula(const char *str); /// Clean up formula-tree ~mglFormula(); protected: mreal CalcIn(const mreal *a1) const; mreal CalcDIn(int id, const mreal *a1) const; mglFormula *Left,*Right; // first and second argument of the function int Kod; // the function ID mreal Res; // the number or the variable ID static int Error; }; //----------------------------------------------------------------------------- #endif mathgl-2.1.3.1/include/xpm/zoom-in.xpm0000664000175000017500000000441512142400465017265 0ustar balakinbalakin/* XPM */ static const char * zoom_in_xpm[] = { "16 16 105 2", " c None", ". c #878B87", "+ c #868C8A", "@ c #888B89", "# c #ACB6BF", "$ c #CDD6DD", "% c #E4E7E9", "& c #929594", "* c #CFD8E0", "= c #D3DDE5", "- c #A4BFDC", "; c #99B9DA", "> c #9AB9DA", ", c #A4BFDD", "' c #CFDAE5", ") c #B4C9DF", "! c #9DBDDD", "~ c #B5CDE6", "{ c #5C84B8", "] c #5B84B8", "^ c #B0CAE4", "/ c #9ABADD", "( c #98B9DC", "_ c #BCD1E8", ": c #5F87B9", "< c #FFFFFF", "[ c #5A84B7", "} c #ABC6E2", "| c #91B4DA", "1 c #868C8B", "2 c #9DBBDA", "3 c #B6CDE6", "4 c #5D85B8", "5 c #5E86B8", "6 c #5982B7", "7 c #5781B6", "8 c #9FBDDE", "9 c #9EBBDA", "0 c #878B88", "a c #8EB2D6", "b c #5983B7", "c c #507DB4", "d c #86ACD4", "e c #89AED4", "f c #4E7BB3", "g c #4A78B2", "h c #878C8B", "i c #CFD8DE", "j c #A7C1DD", "k c #86ADD6", "l c #4F7CB3", "m c #89AED6", "n c #A9C3DE", "o c #D0D8DE", "p c #888B87", "q c #B1BAC1", "r c #D9E1E8", "s c #94B6DA", "t c #96B7DB", "u c #527EB5", "v c #537EB5", "w c #97B8DB", "x c #DAE2E8", "y c #B2BBC1", "z c #8A8C8A", "A c #D7DDE2", "B c #CAD8E6", "C c #A4C0DF", "D c #A6C2E0", "E c #A7C3E1", "F c #D8DEE3", "G c #949895", "H c #DADFE3", "I c #E1E6EA", "J c #C7D7E8", "K c #BDD2E6", "L c #BED2E6", "M c #C8D8E8", "N c #DFE5EA", "O c #DBE0E4", "P c #959896", "Q c #9DA09B", "R c #60625F", "S c #8A8D8A", "T c #BCC1C4", "U c #DCE0E2", "V c #E9EBEB", "W c #BDC2C5", "X c #898C88", "Y c #878A84", "Z c #B9BCB6", "` c #BDBFBC", " . c #61635F", ".. c #8A8C88", "+. c #8D918D", "@. c #8B8D89", "#. c #8E918D", "$. c #575955", "%. c #7A7B78", "&. c #B7B8B6", "*. c #595B57", "=. c #555753", "-. c #767873", ";. c #A0A29F", ">. c #565854", " . + . . + . ", " @ # $ % % $ # @ ", " & * = - ; > , ' * & ", " @ * ) ! ~ { ] ^ / ) * @ ", ". # ' ( _ : < < [ } | ' # . ", "1 $ 2 3 4 5 < < 6 7 8 9 $ + ", "0 % a b < < < < < < c d % . ", "0 % e f < < < < < < g e % . ", "h i j k f f < < l f m n o h ", "p q r s t u < < v ( w x y p ", " z A B C D 7 7 E D B F . ", " G H I J K L M N O P Q R ", " S T U V V U W X Y Z ` . ", " ..+.@.@.#... $.%.Y &.*.", " =.-.;.*.", " =.>. "}; mathgl-2.1.3.1/include/xpm/mark_a.xpm0000664000175000017500000000063012142400465017122 0ustar balakinbalakin/* XPM */ static const char * mark_a_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " . . ", " . . ", " . . ", " . . ", " . . ", " ... ", " .............. ", " ... ", " . . ", " . . ", " . . ", " . . ", " . . ", " ", " "}; mathgl-2.1.3.1/include/xpm/diff2.xpm0000664000175000017500000000064612142400465016671 0ustar balakinbalakin/* XPM */ static const char * diff2_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #7F7F7F", " ", " ", " ", " ", " . ", " .. ", " .+.. ", " +. ..+ ", " . .. ", " .+ +.. ", " +. ..+ ", " . .. ", " .+ +.. ", " ............ ", " ", " "}; mathgl-2.1.3.1/include/xpm/dash_l.xpm0000664000175000017500000000063012142400465017122 0ustar balakinbalakin/* XPM */ static const char * dash_l_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ".... .... ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/accessories-calculator.xpm0000664000175000017500000000413312142400465022324 0ustar balakinbalakin/* XPM */ static const char * accessories_calculator_xpm[] = { "16 16 93 2", " c None", ". c #555753", "+ c #B8BBB3", "@ c #858971", "# c #787C66", "$ c #83876F", "% c #7A7E68", "& c #7D816A", "* c #777B5E", "= c #555843", "- c #585B45", "; c #474938", "> c #393B2D", ", c #717559", "' c #989C8A", ") c #969A88", "! c #979B89", "~ c #44494A", "{ c #3A4041", "] c #3F4446", "^ c #383D3F", "/ c #303638", "( c #303537", "_ c #2F3537", ": c #313739", "< c #9C9FA1", "[ c #5B5C5C", "} c #595A5C", "| c #737678", "1 c #5B5C5E", "2 c #595A5B", "3 c #66696B", "4 c #595A5A", "5 c #585858", "6 c #616365", "7 c #626567", "8 c #515354", "9 c #535555", "0 c #535455", "a c #5E605C", "b c #6B6D6B", "c c #808080", "d c #7F7F7F", "e c #535353", "f c #7E7E7E", "g c #818181", "h c #555555", "i c #575757", "j c #565758", "k c #848484", "l c #898989", "m c #696A69", "n c #545454", "o c #555556", "p c #787878", "q c #545657", "r c #878787", "s c #888888", "t c #87898A", "u c #505051", "v c #505152", "w c #646667", "x c #535354", "y c #515151", "z c #616364", "A c #515252", "B c #606365", "C c #5B5B5B", "D c #5A5A5A", "E c #7D7D7D", "F c #828282", "G c #545455", "H c #585859", "I c #696A68", "J c #858585", "K c #565656", "L c #838383", "M c #8A8A8A", "N c #8D8D8D", "O c #858788", "P c #646666", "Q c #525353", "R c #616262", "S c #555757", "T c #5E5F5F", "U c #9B9B9B", "V c #858686", "W c #888989", "X c #868686", "Y c #878888", "Z c #6C6D6B", "` c #757674", " . c #787977", ". . . . . . . . . . . . . . . . ", ". + + + + + + + + + + + + + + . ", ". + @ @ @ @ @ @ @ # $ % & @ + . ", ". + * * * * * * * = - ; > , + . ", ". + ' ' ' ' ' ' ' ) ! ) ! ' + . ", ". ~ + + + + + + + + + + + + { . ", ". ] ^ / / ( _ _ _ _ _ _ _ _ : . ", ". < [ } | 1 2 3 4 5 6 7 8 9 0 . ", "a b c d e f g h d g i j k l k . ", ". m d f n f f o p d i q r s r . ", ". t u v w x y z A y 6 B 5 C D . ", ". m c d 9 E g n F k G H r s s . ", ". I k E y c J K L J K 5 M N M . ", ". O n G P Q K R S K T 5 M U M . ", ". O V V W V X Y X X Y Z ` .` . ", ". . . . . . . . . . . . . . . . "}; mathgl-2.1.3.1/include/xpm/func.xpm0000664000175000017500000000062612142400465016630 0ustar balakinbalakin/* XPM */ static const char * func_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " . . . ", " . . . ", " . . . ", " ... . . . . ", " . . . . . ", " . . .. . ", " . . .. . ", " . . . . . ", " . . . . . ", " . . ", " . . ", " ", " "}; mathgl-2.1.3.1/include/xpm/axis_sh.xpm0000664000175000017500000000064212142400465017331 0ustar balakinbalakin/* XPM */ static char * axis_sh_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #FF0000", " ", " . ", ". . + ", " . +++ ", " . + ", ". . + + + ", " . +++++++++ ", " . + + + ", ". . + ", " . +++ ", " . + ", ". . ", " . ", " ............. ", ". ", " . . . . . "}; mathgl-2.1.3.1/include/xpm/mark_cf.xpm0000664000175000017500000000063112142400465017273 0ustar balakinbalakin/* XPM */ static const char * mark_cf_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ...... ", " .. .. ", " . . ", " . . ", " . . ", ". .", ". .", ". .. .", ". .. .", ". .", ". .", " . . ", " . . ", " . . ", " .. .. ", " ...... "}; mathgl-2.1.3.1/include/xpm/edit-find.xpm0000664000175000017500000000300112142400465017526 0ustar balakinbalakin/* XPM */ static const char * edit_find_xpm[] = { "16 16 77 1", " c None", ". c #9A9B97", "+ c #888A85", "@ c #8D8F8A", "# c #8A8C87", "$ c #FFFFFF", "% c #898B86", "& c #F0F0EF", "* c #C7C7C6", "= c #D6D6D5", "- c #818380", "; c #828480", "> c #A8A9A6", ", c #AEBAC8", "' c #A6BCD2", ") c #A2BAD4", "! c #A8B9CD", "~ c #D6D7D5", "{ c #A8B7C8", "] c #8AACD2", "^ c #BFD3E7", "/ c #C5D7EA", "( c #9CBAD9", "_ c #90ADCB", ": c #A3AEBB", "< c #85A9CF", "[ c #DCE6F2", "} c #E8EEF7", "| c #E4ECF5", "1 c #CADAEC", "2 c #8EB2D8", "3 c #97AFCB", "4 c #A2B8D0", "5 c #A5C0DF", "6 c #D9E4F1", "7 c #E0EAF3", "8 c #DDE7F2", "9 c #C1D4E9", "0 c #A0BEDF", "a c #81A6D0", "b c #FEFEFD", "c c #A9BFD6", "d c #A5C1E0", "e c #D0DEEE", "f c #DAE5F2", "g c #CDDCED", "h c #C8D9EC", "i c #BCD0E8", "j c #80A7D1", "k c #FAFAF9", "l c #A7B5C3", "m c #89ABD0", "n c #B3CAE5", "o c #C3D7EB", "p c #C1D4EA", "q c #CFDDEE", "r c #A3BDDA", "s c #93AFCE", "t c #CFCFCD", "u c #9FB8D1", "v c #91B3D6", "w c #AFC5DF", "x c #B2CAE3", "y c #A0BAD6", "z c #97B4D3", "A c #757673", "B c #8C8E89", "C c #7E807B", "D c #B3C8DC", "E c #8BACCF", "F c #80A8D1", "G c #99B3D0", "H c #A3A4A3", "I c #6C6E6A", "J c #8D8E8C", "K c #B8B8B7", "L c #848482", ".++++++++++@ ", "#$$$$$$$$$$+ ", "%$&&&&&&&&$+ ", "#$&******&$+ ", "%$&&&&=----; ", "#$&**>-,')!- ", "%$&&~-{]^/(_- ", "#$&*-:<[}|123- ", "#$&&-4567890a- ", "%b&&-cdefghij- ", "%k&&-lmnopqrs- ", "%$$$t-uvwxyz-A ", "B%+++C-DEFG-HHI ", " I----JKHHL", " JKHL", " JJL"}; mathgl-2.1.3.1/include/xpm/oper.xpm0000664000175000017500000000062612142400465016642 0ustar balakinbalakin/* XPM */ static const char * oper_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " . ", " . ", " ..... ..... ", " . ", " . ", " ", " ", " ", " . . ", " . . . . ", " . ... ", " . ... ", " . . . . ", " . . ", " "}; mathgl-2.1.3.1/include/xpm/x-office-spreadsheet.xpm0000664000175000017500000000511212142400465021675 0ustar balakinbalakin/* XPM */ static const char * x_office_spreadsheet_xpm[] = { "16 16 124 2", " c None", ". c #999999", "+ c #818181", "@ c #FFFFFF", "# c #B7B7B7", "$ c #B7B7B8", "% c #9E9E9F", "& c #B8B8B8", "* c #9F9F9F", "= c #B8B8B9", "- c #9E9E9E", "; c #9F9F9E", "> c #B7B8B7", ", c #C3C3C3", "' c #EEEEEE", ") c #C2C2C2", "! c #EEEFEE", "~ c #EFEEEF", "{ c #B1B1B1", "] c #B9B8B9", "^ c #E0E0E0", "/ c #E0E1E0", "( c #E1E0E0", "_ c #E1E1E1", ": c #B9B8B8", "< c #C4C4C4", "[ c #C3C4C4", "} c #EEEEEF", "| c #EFEFEF", "1 c #F0EFEF", "2 c #B9B9B8", "3 c #B9B9B9", "4 c #C9A6A5", "5 c #AE3A36", "6 c #A50F0C", "7 c #A40201", "8 c #A40D0A", "9 c #B03B37", "0 c #8D6969", "a c #9E403D", "b c #A70A07", "c c #C66453", "d c #CB715C", "e c #C9735D", "f c #C5715B", "g c #BF6C59", "h c #C06E61", "i c #AC201D", "j c #A73634", "k c #B2B2B2", "l c #A65C5B", "m c #AF2017", "n c #CB725D", "o c #C7654D", "p c #BB5338", "q c #B65136", "r c #B04E35", "s c #B35D47", "t c #AE5B45", "u c #A95743", "v c #AA2F28", "w c #9F2523", "x c #A51412", "y c #CA6F5A", "z c #BF5439", "A c #BA5237", "B c #B44F36", "C c #AF4D34", "D c #886556", "E c #765F5A", "F c #715B56", "G c #6B5853", "H c #77605B", "I c #9D0D0C", "J c #C76951", "K c #B85137", "L c #B24E36", "M c #AD4C34", "N c #AE653A", "O c #95995D", "P c #1D84A0", "Q c #177F99", "R c #3D91A5", "S c #3B8EA0", "T c #A20101", "U c #9F1212", "V c #CA7E6D", "W c #B85F48", "X c #AB4C33", "Y c #A64932", "Z c #B18B44", "` c #B8BC50", " . c #358086", ".. c #509CAD", "+. c #278397", "@. c #496E77", "#. c #970909", "$. c #BC7878", "%. c #9C1D1A", "&. c #BD7E6D", "*. c #BE7F70", "=. c #BD8374", "-. c #CDC787", ";. c #CBD089", ">. c #B4B48A", ",. c #5C93A0", "'. c #44656D", "). c #7B1618", "!. c #A12F2F", "~. c #959595", "{. c #934040", "]. c #9E0605", "^. c #99463D", "/. c #9E624D", "(. c #A6A14C", "_. c #9F9B4A", ":. c #948845", "<. c #4B3C43", "[. c #9A0505", "}. c #A32B2B", "|. c #991C1C", "1. c #A00C0C", "2. c #A30201", "3. c #A42525", ". + + + + + + + + + + + + ", "+ @ @ @ @ @ @ @ @ @ @ @ @ + ", "+ @ # # $ % & & * = = * @ + ", "+ @ - ; * * * * * * * * @ + ", "+ @ > , , * ' ' ) ! ~ ) @ + ", "+ @ { & ] * ^ / ) ( _ ) @ + ", "+ @ : < [ * } ~ ) | 1 ) @ + ", "+ @ { 2 3 * 4 5 6 7 7 8 9 0 ", "+ @ 3 < < a b c d e f g h i j ", "+ @ k 3 l m n o p q r s t u v w ", "+ @ 3 < x y z A B C D E F G H I ", "+ @ k 3 7 J K L M N O P Q R S T ", "+ @ 3 < U V W X Y Z ` ...+.@.#.", "+ @ @ @ $.%.&.*.=.-.;.>.,.'.).!.", "~.+ + + + {.].^./.(._.:.<.[.}. ", " |.1.2.T 1.3. "}; mathgl-2.1.3.1/include/xpm/mark_o.xpm0000664000175000017500000000063012142400465017140 0ustar balakinbalakin/* XPM */ static const char * mark_o_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ...... ", " .. .. ", " . . ", " . . ", " . . ", ". .", ". .", ". .", ". .", ". .", ". .", " . . ", " . . ", " . . ", " .. .. ", " ...... "}; mathgl-2.1.3.1/include/xpm/mark_s.xpm0000664000175000017500000000063012142400465017144 0ustar balakinbalakin/* XPM */ static const char * mark_s_xpm[] = { "16 16 2 1", " c None", ". c #000000", "................", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", "................"}; mathgl-2.1.3.1/include/xpm/show_sl.xpm0000664000175000017500000000065012142400465017350 0ustar balakinbalakin/* XPM */ static const char * show_sl_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #007FFF", " ", " ", " ............ ", " . .++++++. . ", " ...++++++... ", " . .++++++. . ", " . .++++++. . ", " ...++++++... ", " . .++++++. . ", " . .++++++. . ", " ...++++++... ", " . .++++++. . ", " . .++++++. . ", " ...++++++... ", " . .++++++. . ", " ............ "}; mathgl-2.1.3.1/include/xpm/process-stop.png0000664000175000017500000000146412142400465020317 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ - kÀœÀÁIDAT8Ëm“»OSa‡ŸsémÆÈà%†Æ@+xij¸ ©6ˆš˜¸±Xü\:8iLŒ qÐÁ»1¸˜P$š°ˆÁÄ(µÔJi¡á´ç;Ÿ¥‚ò&_¾äMžß{ùåUØÂa==1ñDÀUv Æ\ŽBe3§ü?kôù.]¼vÍ­hRJiY|xøÐü23ó^À•(X5*üÂïóõF††Üóãã˜ùü¶êN¯—úŽ><}j&’É1}Q°´‘PÈ‘œ|8v¬728¸¯®‚emªÊZ:M ÑWçæŽ,•JgÃáçZg&óæxccÏùw6Ǫ¯GÅ ™Df³³Ÿ8ÁÞ»w©$_¿r<ÖTêèD"¨õ¨êãþë×õÌ»w” Ô¾>Ô–”Žøþuÿ~ö ãÚ·EJJããü.h‡õ©ÏŸº¢( %åBa£Õ‘p¹põöâ¾q]Qpz<˜ñ8ù;w°uÃ@ ¨ÿy%%âþ}äÔÎ]»pz½XÓÓäb1„mc6 «;Rwô»¹w(„®ë8vƒÔ…BÈ*,ÊeÄÜÜ_)D V[ZðÞº…Óëe=gut§ÇƒïÞ=<í혹Æ·oÈ•t)冚a ,‹º¶6\UxqxÛ4Ñ€ýýÔ:Åúƒ iØÕ¢Ú)»+Åâá@[›VJ$(½~MåçOnÞ¤œÉP^\$÷êk³³$oßFÑ4|~?é¥%ûÇòr^‰Sƒ·'º[ƒAW*g­X¬-këSššH âc:½`C§6"OrÅb—i‡­­zi~žŠinƒU‡ƒ¿ŸÙ|^Lþú•²¡= ©Ú1mvâ?x°ûìéÓ.ElËBZVíO$“Ö§lvƆ®(,n»Æ­"zv²W…iÎEay3÷ÇMRö׆÷IEND®B`‚mathgl-2.1.3.1/include/xpm/mark_y.xpm0000664000175000017500000000063012142400465017152 0ustar balakinbalakin/* XPM */ static const char * mark_y_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " . . ", " . . ", " . . ", " . . ", " ... ", " . ", " . ", " . ", " . ", " . ", " . ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/mark_sf.xpm0000664000175000017500000000063112142400465017313 0ustar balakinbalakin/* XPM */ static const char * mark_sf_xpm[] = { "16 16 2 1", " c None", ". c #000000", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................"}; mathgl-2.1.3.1/include/xpm/text-x-generic.png0000664000175000017500000000051512142400465020515 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ8º`&BÚIDAT8Ë­’=n„0…¿H»[!!ŸŸ³l™"ÇAæ!QÚsú­LŠˆ$^X¢¼j,{Þ|3µmû1 à ÇôZ×õ;ÖÚ騬µÓì”ÌÁ8Žxït/5Ç’ˆã˜4MW(wï=ιUÂR’¨ªêW/ÉòPÅ&AHÉòá’à§ž"ÈóßÃ{2Q7Œ]Yäý³1ö;/?\äË×oŒŒŒÐét8tÐð|uP­V9sö¿}¢¯²ÉVû$@÷¹¯²ÉÛ ‹ª²¾¾F•ááaÀáÀàl‹ûg5FEUQ…,K¤ÆÀá å4ƒƒËÒjm`TáÏv €ë—T¬Œ¼7xo0†®Þºlàé“&/VWxýn§Àvû'Þ 3M«"е;Ùóáܰ1¯Þ|ìÖ诞ÀZaªÅ{Á°V(h mŒ#Þ›Òre¢î8rjMS›€,ÓR³ª’ÌÍ–.Á…Àçöyœ3LŽÙývïËwºžïh÷1Gõa­pwù€:gð>o*š iZ-j%ƒãĨ\½Ð‘R½ˆRèT-Jo,b „Äì’ÓývpsA4%ýŸ †HJ09$F%FÝ“bº®Òkàòb$Fe¦iµw°HIiÌ£ÅZ"!eÊT-ŠjNR~³,uµ1ޤòüÎn<Ýë_ÈMàÚ½þݾÿ¸-Qš1&T#))ÆÈ?šÜðÑÃ¥’Á_Œ\ ã…ÖÁIEND®B`‚mathgl-2.1.3.1/include/xpm/object-rotate-right-on.xpm0000664000175000017500000000212512142400465022160 0ustar balakinbalakin/* XPM */ static char * object_rotate_right_on_xpm[] = { "16 16 48 1", " c None", ". c #7439AE", "+ c #6D36A3", "@ c #6C36A2", "# c #6F37A6", "$ c #7339AC", "% c #6E37A5", "& c #F7F3FB", "* c #F9F5FC", "= c #F8F4FB", "- c #EFE7F7", "; c #D4BEE9", "> c #8E55C6", ", c #7238AB", "' c #DECDEE", ") c #DFCFEF", "! c #E1D2F0", "~ c #EADFF4", "{ c #F5F0FA", "] c #D3BCE9", "^ c #DAC7EC", "/ c #DCCAED", "( c #E2D3F0", "_ c #EEE5F6", ": c #D8C4EB", "< c #ECE2F5", "[ c #D5C0EA", "} c #773BB2", "| c #B28BD8", "1 c #F3ECF9", "2 c #F1EAF8", "3 c #945EC9", "4 c #7138A9", "5 c #BE9DDE", "6 c #D1BAE8", "7 c #7E3FBD", "8 c #CEB5E6", "9 c #CDB4E6", "0 c #CBB1E4", "a c #C9AEE3", "b c #C8ACE3", "c c #FBF8FD", "d c #C5A8E2", "e c #C3A4E1", "f c #C2A3E0", "g c #E0D0EF", "h c #C0A0DF", "i c #F2EBF8", " .+@@#$$ ", " %&**=-;>, ", " @='')!~{]. ", " @=^^^^^/-($ ", " %{&&{_'::<[. ", " ,+@@}|1^;[23 ", " 45~66![. ", " 7188;<, ", " @19081# ", " @@,1aba1$@@", " @c1)ddd'1c@", " @c!efe(c@ ", " @cghgc@ ", " @cic@ ", " @*@ ", " @ "}; mathgl-2.1.3.1/include/xpm/document-print.png0000664000175000017500000000104012142400465020614 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  d_‘tIMEÕ  /Ÿí…Š­IDAT8Ë¥“ÍŠA…¿{3‹¼@v Y©«Ðã&DŸwÁÐg@tD}†IòÉFFÂl²LVw*:$éN§ª\hÛDG´ ÷R÷Ôá|UðŸK~.Íú!üÅÜÑÝ;÷¶ºfÝÅqœÙÏ_<ËÔQ¹F³î63{»ä»Ý.³S^¿¤VÝ R©dÎê.R©”oVçìß÷qÎeú[¬µôz=jÕ}T•ܪÝFDè÷û”Ëå? xž‡ª"ò=ãb±ˆˆ "—;pÎQ(ÒúáƒG),‘ß`|<>‚|>ÏÕ+×°Ö¢ºµaðéœ(ŠŽ6‚ƒà)Æ’$¹ôÌç5T•wïßé5"Â`0 ŽcÚí6Î9Â0d:2™L&ŒF#†Ã!­V‹¯_>g3X,DÌf3|ß' C’$I­cB¢x•PUæ‹ív‹år Àz½FE°Ö°6Õ{¹ÕÚÍÝŒ1\¯ÜHiüà‚µc ªšâÝ„œ ¬V+<ÏK­þÊ{CAUqÎa­Íœ¿y}ÿ~óÉ7Á#Ùgý ÃÃIEND®B`‚mathgl-2.1.3.1/include/xpm/oper_of.xpm0000664000175000017500000000065012142400465017323 0ustar balakinbalakin/* XPM */ static const char * oper_of_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #FF0000", " . ++ ", " . . ++ ", " . . ++++++", " . .... .++++++", " . . . . ++ ", " . .... . ++ ", " . ", " ..... ", " . . ", " .. . ", " . . . ", " . . ", " .... . . ", ". .. . ..... ", ". . . ", " .. . . "}; mathgl-2.1.3.1/include/xpm/fileprint.xpm0000664000175000017500000000070412142400465017666 0ustar balakinbalakin/* XPM */ static const char *fileprint[] = { " 16 14 6 1", ". c #000000", "# c #848284", "a c #c6c3c6", "b c #ffff00", "c c #ffffff", "d c None", "ddddd.........dd", "dddd.cccccccc.dd", "dddd.c.....c.ddd", "ddd.cccccccc.ddd", "ddd.c.....c....d", "dd.cccccccc.a.a.", "d..........a.a..", ".aaaaaaaaaa.a.a.", ".............aa.", ".aaaaaa###aa.a.d", ".aaaaaabbbaa...d", ".............a.d", "d.aaaaaaaaa.a.dd", "dd...........ddd" }; mathgl-2.1.3.1/include/xpm/document-open.png0000664000175000017500000000124012142400465020423 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<IDAT8“¿K—QÆ?ç}¯oI káÒRШK?¤% rjÐ¥ÅÁ æ†þ‚†7‡Šû#…M+hhŠ!µEB-Íï÷ÞsÏiøê›–`Ïpî¹—{Ÿç9çÞ+CCCDÊ͆ˆ”î."@Q""´µµ}þµÝ¸\UÕúþþÐÕÕõÔÝoî/,-9ñìÉsŠ¢@DØ'&_LžŸžžú€søÌlppp°ÓÌÈ936þ˜••šÍ&îNÎ3cxh˜­Íͳ ïæãnºTUÕnH)¹ª²¾¾Žªî[fñÝâ¡Òzº»½+åD¸07ÿf cd ¡ª˜"BUUô]ëÃÝkeYÖ"½=½òvaî¶#AUM5“s®„˜™}EιvpõÊ5bŒ­‰€™PRJc¬ öºMÿZýï±ýd;8bŒ¦ªLÌ; Ðy‹‡/qk‰ùØ"ØKÚû;Ê¢X ªJJ‰î_ç(Hþ ªñ`|æLH)YJ pJË[G’DY çNŸq)%SMPˆP…âX‚lŽb{ט Äd”r°âÃÐì4“¡f4Sð ªcD$ðm£Áφ¢ÙIÙ1sÌlNÒVJaõû.ˆX33ØØŽl7”¤ÿz¥Ô, ØÜ‰ˆ»wgm£õ`^Z­?ÏqØÙÙ‘¯!í³SKwÀY^Zû¯Ã´¼ldäÞoøKu2ÙÃIEND®B`‚mathgl-2.1.3.1/include/xpm/rotate.xpm0000664000175000017500000000064412142400465017173 0ustar balakinbalakin/* XPM */ static const char *rotate_xpm[]={ "16 16 3 1", ". c None", "# c #000080", "a c #8080ff", "......#########.", "......#aaaaaa#..", ".......#aaaa##..", "..###..#aaaaa#..", ".#aa#..#aaa#aa#.", ".#aa#...#a##aa#.", "#aa#....#a#.#aa#", "#aa#.....#..#aa#", "#aa#........#aa#", "#aa#........#aa#", ".#a#........#a#.", ".#aa#......#aa#.", "..#aa##..##aa#..", "...#aaa##aaa#...", "....##aaaa##....", "......####......"}; mathgl-2.1.3.1/include/xpm/media-seek-backward.png0000664000175000017500000000137412142400465021436 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ ' ’óÎ ‰IDAT8˽“ËKTaÆŸï;·™ó3Îx;glºÈèä€f:fJ:AmÓEe!-ª]lÒ…ZÔ"ú iUfB„R‹Ârá%,ŠJ%ËÑiÈp-fÐ)¤7Ñ",3±ãxïÜûµ_3Ô³ùþ‡ÃùŸÿ‡1†|†»t¬±S·›åSRÆ£qwõ¾p—5ŽX¡bš55¸ÒÒ Âü¹}cý·|Éü8I{´5Ô–î…Û#Äoè²N`ÝrGäXÏ`×X¨,‹˜[x…ã{΃8\'i›:6a‰â kýñ1–í=5¸+=k[þ€be†4b{û ¡ µ‚ÒJKH%qûþõÿÚZÛ§.w] nß¶ƒf Ï!´ â \á4¤ö d žðpzßP}„«—n„–Ýï˜Î¿ˆÀg€†€+Wáê5¸¢© $¼zµZ+ÕøY.À“.¯Bó*Œ-`ÙÆ †J¸ê€ kÌL¦«µ²2‡vÆPU+¨¨"óÀm‚`°Zì+ÀÀm±M[¨y•س׳G;bá3Ñ+¿_à—ü n.H‚qhõÏ’¦^ —sNÒŽÎ~šÊ,,å»»;û·¬Ò~|.½1»7]ášàæ5Öõ —%NÒ}8y/}¡³7äì"® æR‚6ɷʹ”˜Â;™}ù´ð~ú]MÏÖX`=’шÎÎÏd<™¨4Â5ý"0Ža?Ì_ZÌûÌp£4IEND®B`‚mathgl-2.1.3.1/include/xpm/copy.xpm0000664000175000017500000000066412142400465016651 0ustar balakinbalakin/* XPM */ static const char * copy_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FFFFFF", "@ c #808080", " ", " ", " ........ ", " .++++++.@ ", " .+@@@@+.@ ", " .++........ ", " .+@.++++++.@ ", " .++.+....+.@ ", " .+@.++++++.@ ", " .++.+....+.@ ", " ....++++++.@ ", " @.+....+.@ ", " .++++++.@ ", " ........@ ", " @@@@@@@@ ", " "}; mathgl-2.1.3.1/include/xpm/plot.xpm0000664000175000017500000000066412142400465016655 0ustar balakinbalakin/* XPM */ static const char * plot_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #0000FF", "@ c #FF0000", " ", " . ", " .. + ", " . ++ ", " . + ", " .. + ", " . + ", " . + ", " .. @@@+ ", " . @ +@ @ ", " .@@ + @ @ ", " .. + @@@ ", " . ++ ", " .++ . . . ", " .............. ", " "}; mathgl-2.1.3.1/include/xpm/mark_pf.xpm0000664000175000017500000000063112142400465017310 0ustar balakinbalakin/* XPM */ static const char * mark_pf_xpm[] = { "16 16 2 1", " c None", ". c #000000", "................", ". . .", ". . .", ". . .", ". . .", ". . .", ". . .", ". . .", "................", ". . .", ". . .", ". . .", ". . .", ". . .", ". . .", "................"}; mathgl-2.1.3.1/include/xpm/zoom-fit-best.png0000664000175000017500000000156312142400465020355 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<ðIDAT8•“Ol“uÇ?¿÷O»vݺf .”Ö.Ö)RɈ—mÀ “ƒ%HâÉB!™Ddd Wÿ°(Q F:Ã420Ì`°‡cØÎ­ûGÆ }ÛÑ÷×÷Ç:Æïé9<ùäû<Ï÷J)Êêîé *¡íUBoªô<€ú5¡JýB¹Göïë´xB¢ èîéjG½ ‰æ`,1¡3 9ný•‘c#-”ܹ_gê)@wOW‹¿2xjCk‡ß0M†2좋üD}¸ý?äó¶õúãÝWé©Fg[Ú_«I ÎòõÏãÜš¼CMÀK~±ÈÀå4¿\É’w uÝjóæë[Οÿõ“õë6ÜДÐö4$šCh&—þ˜ãÛ¶ÒûÞf<†ÆðØ _½ßΉ[¹p}4“†DsP moÙ¦„Ñ‹FŒÁ´Ï£ðÎá>dI‘ˆ‡Ùqð¡[C\NÛÄ¢C ½µ 0„*­ ‡Xc·iŒ/ãíC)šâaâ+jqJ.ùû%:?¿ÄŠgj™¶Šljª£|!­\8Ò%»°Èòe!î$VÞáN®H®à0üç4wóEô¥î¤!ô¡9Ë&Rë#=y›#ï®eäæ ƒ£Y†Çgÿ{ž“‡^enÞ"ZçgÞ²A×–BÉ3™Ì„LF+14À÷u0™]ÀçÑùî`ÇÃYuÁê•~2R(Ù¿´”{tôê…]ÏÅcu_ªç­?‚45„¶x´%ëq¥ÃÈ•ßg§§?~*HêšS›6oó{½^¦,—¼S’F¸JC:E~J¤¢Â”gÏ-ÚvnË7ÇOœ{<Ê-šnO®y%]1ª*}ܳ ¤3ò÷‹וžd2é5t½½Çì\.·Q<ñLÕš¦ïÑM³Í•r€nCÒqÎLMM}šÍfGãÏÆUÁ/¾äËc_Œþ ð_zsûëÓ±X4ÐØØD__êîÿ<‚¼ |&„Xì~ÁG Ï=÷IEND®B`‚mathgl-2.1.3.1/include/xpm/alpha_on.xpm0000664000175000017500000000074512142400465017460 0ustar balakinbalakin/* XPM */ static const char * alpha_on_xpm[] = { "16 16 7 1", " c None", "! c #000000", "# c #FF0000", "$ c #800000", "% c #808000", "& c #FFFFFF", "' c #FFFF00", " ", " ", " #$$$$$$ ", " !$!!$!!!!# ", " #%%&$%''!'%'$ ", "#%##!#$'%#%%##! ", " !%%!$&%%'!!%%$ ", " #''%#%!$##''% ", " %''##%&&%''# ", " %'%#%&&%'# ", " #'%#%&$'% ", " $'#%&%% ", " %%%#%# ", " #!%$% ", " #!$ ", " !# "}; mathgl-2.1.3.1/include/xpm/oper_m.xpm0000664000175000017500000000064712142400465017161 0ustar balakinbalakin/* XPM */ static const char * oper_m_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #7F7F7F", " ", " ", " ", " ", " . . ", " +. .+ ", " +.+ ...... ", " ...... ", " +.+ ...... ", " +. .+ ", " . . ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/go-last.png0000664000175000017500000000125512142400465017222 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<?IDAT8•“MH”Q†ŸûÝ{?ÇÑ¢`²,(ÒáHD-´EB‹hcP­¢FZäªMÂà¢\Tiä""û3ˆ£Òbµ)‚‚ÐùaJÓÑéûæ»·…ijcÔ wsÎáû¾çk-KUߪÖp=Ñá_ù£ùKј¶N±¦5ÔUVlèÛј._²,àTS{éþ]‡"xéíÿ B±§¶¡äTS{U8´b(Ó'ŠÍ©h‹NbY»°($ycMhdô)Õ‘Ñz4îé¿ÔYߢXKs¢ÃŸšŸ­;«l[sGH¤£B!‰”’ç_î¡ÅêÒõl\UÃàÛ'~ßÀÍ1kL#0 Œ xüþZ– •K‰Âu]”Ô!Éæ?ñ=¦fëN]YQ]ÕýèòÐD.ûÛƒ‚ñÈæF›øH2÷¬÷™É MAädž‚3ôÉ2œzHàæÄɦsáyfü)rÞ8ŽëPð'™cd ­B¸¢MNà²Ò‹ L)‹ó‘H#R ”(×A8>žñ0AÚ5 Œ§söγø ^8¼£ ©ÅìS©ú“q%ˆ¨Ml)ÛÇÐËïÕÈ`Ò˜(Huݺ°(Fé’?sü|H*ɶÈ^ʽ ôÞížNeGX3c4¦g¿¸è¯[ºs{¾;r„d2c{úºf|Ï;]ì6ÔÒœü‚Çà‹¡Ã#¯S& 1Ñá¿)6·,àFïÕéo™û&àØÂÍû'€ d¿fþzÎsú ÇõäAÖâsIEND®B`‚mathgl-2.1.3.1/include/xpm/line.xpm0000664000175000017500000000062612142400465016624 0ustar balakinbalakin/* XPM */ static const char * line_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .", " . ", " . ", " . ", " . ", " . ", " . ", " . ", " . ", " . ", " . ", " . ", " . ", " . ", " . ", ". "}; mathgl-2.1.3.1/include/xpm/oper_s.xpm0000664000175000017500000000063012142400465017157 0ustar balakinbalakin/* XPM */ static const char * oper_s_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ...... ", " ....... ", " ...... ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/box.xpm0000664000175000017500000000063612142400465016466 0ustar balakinbalakin/* XPM */ static char * box_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #666666", " ", " ......... ", " .+ .. ", " . + . . ", " . + . . ", " . + . . ", " ......... . ", " . + . . ", " . + . . ", " . +++.++++. ", " . + . . ", " . + . . ", " . + . . ", " .+ .. ", " ......... ", " "}; mathgl-2.1.3.1/include/xpm/edit-undo.xpm0000664000175000017500000000242112142400465017560 0ustar balakinbalakin/* XPM */ static const char * edit_undo_xpm[] = { "16 16 61 1", " c None", ". c #C4A000", "+ c #FBF3AD", "@ c #FBE425", "# c #BEA113", "$ c #BB9F15", "% c #BBA11B", "& c #F6E131", "* c #FAE320", "= c #FAEC73", "- c #FAEB6F", "; c #F7E86E", "> c #F7E86C", ", c #BCA114", "' c #C1A314", ") c #F6E02F", "! c #F7E232", "~ c #F1DB29", "{ c #F5E02F", "] c #E3CD16", "^ c #ECD936", "/ c #F6E769", "( c #E3CE41", "_ c #C1A313", ": c #F8E232", "< c #E8D21D", "[ c #E1CD40", "} c #BDA116", "| c #FBED79", "1 c #F4DF2C", "2 c #D6C004", "3 c #DFC80B", "4 c #F3E56A", "5 c #C5AB1B", "6 c #BCA015", "7 c #FBED76", "8 c #DAC304", "9 c #F9EA69", "0 c #F7DD05", "a c #DFC80A", "b c #D8C207", "c c #EBDC6F", "d c #BFA31B", "e c #C4A901", "f c #EEE16E", "g c #DFC90F", "h c #F2E469", "i c #C0A41A", "j c #F5E66D", "k c #EFE276", "l c #C1A319", "m c #C8AC02", "n c #F2E788", "o c #C2A211", "p c #CBAA0E", "q c #E9DA5D", "r c #C0A623", "s c #DBC443", "t c #D8C543", "u c #EADB66", "v c #C2A611", " . ", " .. ", " .+. ", " .+@..#$% ", " .+&*=-;>,' ", " .+)!~{~]^/(_ ", ".+):!!{~<<<^[} ", " .|:1222<<<3456 ", " .78799990abcd ", " .77....efghi ", " .7. .jkl ", " .. mno ", " . pqr ", " str ", " uv ", " "}; mathgl-2.1.3.1/include/xpm/go-down.png0000664000175000017500000000125312142400465017224 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<=IDAT8…“MhA†ß™ìækÀ`ÒCüÁªõ"I´àÁ‹ñ"/*âAê¡Uñ*Ò<©P„œ!¢RS[r±ÖUµ-{¨U´TÍš®ý é&³³Ÿ‡Ö›ßã7ß<ó¾óÍ0"BµâÝj„0ê‰ÁÐ{DsuI©i"„o]HÃvlG`É*`É2wݨ×0Æ›y޲]B¡8ƒsch?xµ®)^¯XÊ£øënlˆînP—UÄÖí»`9$½’lH²±\6Q½ïR× 2Ž7 9HEB-Ñ‹'¯û— "Ç+I‚˜¸DQ z9¸ÂpþÔ5/¢‚t6Uš_œK1"B¢[M·E'D“ž÷ùW\@¢Œ{Óó9h-GÛöÓ)ON÷½îí|-rÇ˱ŒñŘ¢Hp/ˆW—BeªÁíãP}.D#Ga.˜4ùaÜ Â™õKÔ5Q!ùpðžååMøƒ(ÑO”]‹p{9Ü>¶mÙƒ¯Ù¡ŒE’º&ŠMA×ÄDE¬t>¼SÚ8›• zVOÞ¼)€ý¡cèË>. QéÔ51QwŒº&zgO/†ÇDk0®0(nŽCáȽ{[ùa~ë×5ÑÛðƒŽ¡‘鈴@»›bØåÁüºL¹Q=ïÈÕÜ º&Š$‘ÌdŸY[±A§OûŸXŽü“»Zlãoü­x—z.Ò¼ó6Ìæ?_Úhý¿8|E½Ã7ÅÙõüsJ*†hËIEND®B`‚mathgl-2.1.3.1/include/xpm/document-export.xpm0000664000175000017500000000566512142400465021042 0ustar balakinbalakin/* XPM */ static const char * document_export_xpm[] = { "16 16 147 2", " c None", ". c #38678B", "+ c #3D698A", "@ c #4A7180", "# c #58787A", "$ c #B1CEE6", "% c #D0DFEF", "& c #C5DBEC", "* c #9BC2DF", "= c #688BA0", "- c #436E88", "; c #6B7F88", "> c #667173", ", c #627075", "' c #4A6D85", ") c #41749A", "! c #44789F", "~ c #9EBFD9", "{ c #C1D9EB", "] c #5186AF", "^ c #4E6A7D", "/ c #6E99B6", "( c #ABCBE2", "_ c #92B7D3", ": c #547D9B", "< c #D5DFE5", "[ c #7798B0", "} c #79A7CA", "| c #8FB3CE", "1 c #3D6B8E", "2 c #ACBCC3", "3 c #5892BD", "4 c #EF9800", "5 c #ECA307", "6 c #BDD552", "7 c #98BFDC", "8 c #719FBF", "9 c #739FC0", "0 c #96BBD8", "a c #95A9AF", "b c #02ABF0", "c c #0074F6", "d c #F97200", "e c #FE3C00", "f c #FF3500", "g c #CAC6AC", "h c #ABC8DF", "i c #92A6AC", "j c #BFE6E5", "k c #1CFFDF", "l c #32FFCA", "m c #F99A00", "n c #FF7400", "o c #FDA917", "p c #E4E822", "q c #9DE4A5", "r c #37698D", "s c #ACCBE3", "t c #3B6B8F", "u c #8BA4AF", "v c #9EDEE9", "w c #8CFDCB", "x c #BBFF41", "y c #ECEA10", "z c #F2C505", "A c #B2FA4B", "B c #53F8BE", "C c #3BC4F1", "D c #328AFE", "E c #AABCD1", "F c #3F6C8E", "G c #9AAEB4", "H c #BBF8EA", "I c #A0FE7E", "J c #EEEEEE", "K c #FAC004", "L c #FDB701", "M c #DDE01B", "N c #49FEB4", "O c #00AEFF", "P c #0039FF", "Q c #0024B3", "R c #0029CA", "S c #0057FF", "T c #03BDFB", "U c #28FFD3", "V c #85FE79", "W c #E3FF18", "X c #DDFE1F", "Y c #C7FF34", "Z c #8BFF72", "` c #F0CA07", " . c #AFFA4D", ".. c #59FEA3", "+. c #2FE6CE", "@. c #21CBDE", "#. c #17CDE7", "$. c #13DBEB", "%. c #13FFE9", "&. c #16FFE5", "*. c #43FABA", "=. c #3DF5C0", "-. c #2BECD2", ";. c #08D3F4", ">. c #009FFF", ",. c #F89A00", "'. c #FE5F00", "). c #FB4D00", "!. c #FC5500", "~. c #FE7E00", "{. c #F8C805", "]. c #BDFB3F", "^. c #51FFAC", "/. c #0BDAF2", "(. c #0082FF", "_. c #0045FC", ":. c #0037EC", "<. c #003DFE", "[. c #0041FF", "}. c #F86B00", "|. c #E60000", "1. c #B60000", "2. c #B30000", "3. c #BB0000", "4. c #EE1200", "5. c #FF9A00", "6. c #AAFF53", "7. c #0BEBF1", "8. c #006DFF", "9. c #0035F2", "0. c #0037E9", "a. c #006CFF", "b. c #0ED7F0", "c. c #F88F01", "d. c #F94100", "e. c #E92400", "f. c #E21D00", "g. c #EA2400", "h. c #FA4200", "i. c #FF9100", "j. c #F2D10B", "k. c #B7F746", "l. c #80F87D", "m. c #6EF18E", "n. c #75F389", "o. c #94FB69", "p. c #D2EA2B", " . . . + @ # ", " $ % & * = - ", "; > , ' ) ! ~ { ] ^ ", " / . ( _ : < ", " [ . } | 1 2 ", " . . . . } 3 . . . . ", " 4 5 6 . 7 8 8 8 9 0 . a b c ", " d e f g . 7 9 9 h . i j k l ", " m n o p q r s 7 t u v w x y ", " z A B C D E F . G H I J K L ", " M N O P Q R S T U V W X Y Z ", " ` ...+.@.#.$.%.&.*.=.-.;.>. ", " ,.'.).!.~.{.].^./.(._.:.<.[. ", " }.|.1.2.3.4.5.6.7.8.9.0.a.b. ", " c.d.e.f.g.h.i.j.k.l.m.n.o.p. ", " "}; mathgl-2.1.3.1/include/xpm/arrow_d.xpm0000664000175000017500000000063112142400465017326 0ustar balakinbalakin/* XPM */ static const char * arrow_d_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " . ", " ... ", " ..... ", " ....... ", " ...............", " ....... ", " ..... ", " ... ", " . ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/right_1.xpm0000664000175000017500000000065012142400465017227 0ustar balakinbalakin/* XPM */ static const char * right_1_xpm[] = { "16 16 3 1", ". c None", "+ c #7F0000", "@ c #FF0000", "................", "................", "........+.......", "........++......", "........+@+.....", "..+++++++@@+....", "..+@@@@@@@@@+...", "..+@@@@@@@@@@+..", "..+@@@@@@@@@@@+.", "..+@@@@@@@@@@+..", "..+@@@@@@@@@+...", "..+++++++@@+....", "........+@+.....", "........++......", "........+.......", "................"}; mathgl-2.1.3.1/include/xpm/zoom-fit-best-r.xpm0000664000175000017500000000261712142400465020635 0ustar balakinbalakin/* XPM */ static const char * zoom_fit_best_r_xpm[] = { "16 16 69 1", " c None", ". c #C34C4C", "+ c #C34E4E", "@ c #D98C8C", "# c #E9BCBC", "$ c #F2D8D8", "% c #C95C5C", "& c #EAC1C1", "* c #ECC7C7", "= c #DC9595", "- c #EBC3C3", "; c #CF7070", "> c #B33C3C", ", c #BD3F3F", "' c #D27878", ") c #D07373", "! c #BA3E3E", "~ c #FEFDFD", "{ c #D37E7E", "] c #BE3F3F", "^ c #B13B3B", "/ c #C44F4F", "( c #DA9090", "_ c #D27979", ": c #B83D3D", "< c #D58282", "[ c #D07171", "} c #E1A6A6", "| c #DFA0A0", "1 c #CD6868", "2 c #CB6464", "3 c #D37C7C", "4 c #C75757", "5 c #C95E5E", "6 c #C85B5B", "7 c #AC3939", "8 c #DD9A9A", "9 c #C75858", "0 c #AE3939", "a c #DE9D9D", "b c #DB9393", "c c #EECDCD", "d c #CB6262", "e c #B23B3B", "f c #EFCFCF", "g c #EDC8C8", "h c #D47F7F", "i c #B73D3D", "j c #CD6A6A", "k c #CE6C6C", "l c #CA6060", "m c #EECCCC", "n c #F1D4D4", "o c #E6B5B5", "p c #E9BEBE", "q c #F0D3D3", "r c #CE6D6D", "s c #903030", "t c #DF9F9F", "u c #F3DEDE", "v c #C34B4B", "w c #DC9797", "x c #DE9C9C", "y c #C65555", "z c #822B2B", "A c #DA9191", "B c #852C2C", "C c #7F2A2A", "D c #812B2B", " .+..+. ", " .@#$$#@. ", " %&*=@@=-&% ", " .&;>,')!>;&. ", ".@->~~{]~~^-@. ", "/#(,~]_):~>(#+ ", ".$<[,[}|12%_$. ", ".$3452=@67+3$. ", "/&87~7990~7a&/ ", ".bc^~~>d~~efb. ", " /ghi:jk::hg. ", " lmn#oopqclrs ", " /tcuuc|/vwxs ", " /y//4/ z>vAB", " C^;B", " CD "}; mathgl-2.1.3.1/include/xpm/go-previous.png0000664000175000017500000000121712142400465020131 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<!IDAT8…“OHqÇ¿of~³;»Rbl­µB ‚•n[‡Ü"VÓLD"ˆ%t²¢-ºz‰;Ä$ðÐ% ‚°n$WŠŽ"K÷P¹l’»íÌîÌï÷ë0™®Œîƒwzø¼ï{RJÔò£7µ+ñ[ZÆ+¦a ‹§X&£áæ®…Ÿ ¯e‹â><Üßsmàžg1o‚xŠ ¾ºñ‹ÉacÏÎfRhsЪÈ*ò¾È®ÁSW “¯àã÷i‰ö€TXñ“UÕ„Ÿ$¥\‡LS‰C};Ù×_P°òÐT†XSˆ @J!î¤/¸ñ ÛôŸ¸ä¯¯o ÷‹¯À¥¦è’cfþˆ‚„«~{´×áØmö¨©qÿùîãƒF®´€wßÞ€1tMW,Q€iP´VP¶KPH…ŸѺ;±¦ç6,ûLç7J2p‡›¨\rH.Á ÇàŽ;r®˜u×83j_Î.}¹þøeÚ„í“­{zB/@…PÁ ̯@Õ¨ZÇõ"’‚©¶–X¸½-¦Ï^#_™‡ÀéÈ ˆÜvÒOî®5ø¿F“»vD’çÎ ŠlsËÓè ãþĈÅ+ðoºÆ‡Ät}¼·û¬‡(¨„0úp™1›6æzžrfÌž°+•Žç/žfggß–ËåŠWZµ^¶:RöP2¿œ xÔ|åZïümó4tìÊË IEND®B`‚mathgl-2.1.3.1/include/xpm/edit-paste.xpm0000664000175000017500000000300212142400465017723 0ustar balakinbalakin/* XPM */ static const char * edit_paste_xpm[] = { "16 16 77 1", " c None", ". c #5F5F5E", "+ c #5C5C5C", "@ c #6D4401", "# c #6C4401", "$ c #6B4403", "% c #5C5C5B", "& c #959589", "* c #97978A", "= c #C08424", "- c #A47E3E", "; c #706D64", "> c #5E5E5E", ", c #7F7F7C", "' c #80807D", ") c #7E7E7B", "! c #6E6C64", "~ c #A17C40", "{ c #B97F23", "] c #6C4301", "^ c #6F4602", "/ c #C68827", "( c #716F64", "_ c #F1F1F1", ": c #E0E0E0", "< c #BBBBBB", "[ c #F2F2F2", "} c #6E6D64", "| c #C58727", "1 c #6A4200", "2 c #666864", "3 c #FFFFFF", "4 c #F0F0EF", "5 c #676964", "6 c #C28628", "7 c #C58726", "8 c #B3B5B5", "9 c #EFEFEE", "0 c #EFEFED", "a c #EDEDEB", "b c #6E4602", "c c #B2B4B4", "d c #B1B2B2", "e c #EAEAE8", "f c #EDEDEC", "g c #EBEBEA", "h c #DBDBD9", "i c #EEEEED", "j c #ECECEB", "k c #EBEBE9", "l c #E9E9E7", "m c #DADAD8", "n c #CCCDCA", "o c #ECECEA", "p c #E8E8E6", "q c #CDCECB", "r c #B9BAB6", "s c #B8B9B5", "t c #6E4502", "u c #E7E7E5", "v c #D9D9D6", "w c #B9B9B6", "x c #E7E7E4", "y c #D8D8D5", "z c #C1C2BE", "A c #B7B7B4", "B c #706D63", "C c #EDEEED", "D c #FEFEFE", "E c #FEFEFD", "F c #BA7F23", "G c #A77D3B", "H c #736F64", "I c #6A6C68", "J c #A37C3D", "K c #B37B22", "L c #6B4301", " .++++. ", " @#$%&**&%$## ", " @=-;>,'')>!~{] ", " ^/(_:<<<<:[}|1 ", " ^/234444443561 ", " ^7234888893561 ", " ^72344440a3561 ", " b723488cde3561 ", " b72349fgeh3561 ", " b723ijklmn3561 ", " b723oepqrs3561 ", " t723luvw333561 ", " t723xyzA335|61 ", " t7BCDDD9E5|||1 ", " ]FGHIIIIIJJJKL ", " ]##########L "}; mathgl-2.1.3.1/include/xpm/crop.xpm0000664000175000017500000000062612142400465016640 0ustar balakinbalakin/* XPM */ static const char * crop_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " . ", " ", " . ", " ", " . . ...... ", " . . ", " . . ", " . . ", " . . ", " ...... . . ", " ", " . ", " ", " . ", " "}; mathgl-2.1.3.1/include/xpm/sum.xpm0000664000175000017500000000062512142400465016500 0ustar balakinbalakin/* XPM */ static const char * sum_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .......... ", " . . ", " . . ", " . ", " . ", " . ", " .. ", " . ", " . ", " . ", " . . ", " . . ", " .......... ", " "}; mathgl-2.1.3.1/include/xpm/edit-delete.png0000664000175000017500000000141712142400465020041 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÖ6£r8>œIDAT8Ëu“ÝK“qÇ?Û³=sÛã^D§+IÉPç ™[$”fJ’Ð]]t]Eô7DW]t'݈]ÔRJEˆùL×4ó­|™3$]¾´¥{{º(mcu®ÎïËù}8çË9Qßä±ÍÀ þ-@(¨ø!ãs30êq7QÛPÃÕ+]ˆ¢AÈ#³¹afvŽž‡½AÅ÷òPßä9Wh·õt? ò=Bß³çL}˜dei³ÙÈ¥®NθÝ8Š À›·*‚ŠoQP\ê\zü¨›DbÙ,“Ÿo`umè(Z­É ‘NÇq—àvŸdppèÎúZø®ö`„“ŒÑh"™Jânyšë@{{xíõRßPÇd0È„œÕÕLT¹jubÖfåe>$DeEŽÒRšÝ§),rà(qRãªÅbµ`.‘$éÿAÐjòÐëu//C«Õ ›Läi4‚³Û9€t:MZU5§XUUñx––åÁ^,ÊÞ^OC#¢öffiD[ëyŒùf>MÏd4Iq©Sy7÷ƒŠo ³þyýìVYJçIEND®B`‚mathgl-2.1.3.1/include/xpm/zoom-original.png0000664000175000017500000000151212142400465020436 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<ÇIDAT8•“ÏoTU†Ÿsî¹ÓÎ;3L¤6j2¡ L™˜&"lÚB!1.´1$ø°0$ìˆiÒÔÄ­Æ…b» +ÁPº€‚‰Ä(µ!Ú"‘Na:“zan§{î=nœ¡ÀÂø®¾ä|y¾_ïÆšN!aõ ¾`„5'L8-Lôé‰ã§<ž‘hFF‡ Ôx¡Ø›Î粪3ãð`µÆŸwËú[7<ŒþèÄñS“ÏFF‡ûœDúüÞþweÛÌ–ëø81‹â+íÌL_X[ó½6C¬x"–B¨«}Þßrß3,¬t¤¾¿ò;w+«ìÚþ2·«€ gûkö…ß^¿~å‹=ïìÝFÈ£…boisïï®­ &¦æ;=ÈøéA&¦æÈ¸6w m ÅÞ´òX³i„Èç²êçEŸìV‡³nòõÉý­M:4¤âŠ_}ò¹¬2Âêo„ wvf\¼º¦F„Æpø“'{ ¡ÞyT×T½—æ…d3tÄÂýÇì.hè¨hèˆåÕ:+Þ:V+û‰$š}èùd_ˆ£#ƒ¿<0ÆS’T\‘ëpøËóA¨¹M#èËåò’.å¤âŠdÜFm*¥¤$·I96»ºÊKKZ=ÝzÇDŸÍÿúã‘W»ó½Û\ª 9tæ"Cûz0ÆPx1F¤nÝüa}¥Zýü9#¹©-ç÷¾ç´µµQñ"Ö‚¦‘$I‰LM~G{»­g®^[÷ýÚÁ‰sß^Ûlå>iÙçJoíÎ亲*™ˆðد³X^Ò?ݘ©G‘Ž•J¥6eÅókµÚ>ñÌgJIiµl{ Òz'€¥Ô¬‚Ë•JåËåååùîmÝn2íòæ%¾;;ÿà¿ôá¡¡=ÀÅ|>çîØÑÃ¥K“þà_ÈÛÀWBˆ—€ÿ^’=S.—ê IEND®B`‚mathgl-2.1.3.1/include/xpm/light.xpm0000664000175000017500000000132412142400465017000 0ustar balakinbalakin/* XPM */ static const char * light_xpm[] = { "16 16 23 1", " c None", "! c #000000", "# c #808080", "$ c #808000", "% c #606040", "& c #C0C0C0", "' c #808040", "( c #FFFF00", ") c #A0A000", "* c #202000", "+ c #404000", ", c #C0C000", "- c #E0E000", ". c #408040", "0 c #008080", "1 c #408080", "2 c #FFFFC0", "3 c #C0C080", "4 c #FFFFFF", "5 c #FFFF80", "6 c #FFFF40", "7 c #606000", "8 c #206040", " # # ", " #$%&&'$# ", " '()*+,-% ", " $.0000.+ ", " #'+01&223.0+'# ", "&$(.1455555..($#", " %)0&566((-$0)% ", " &*055((((-)0*& ", " &+056((((-)0+& ", " ',035(((-,70,' ", "&$-.8,---,,8.-$#", " #%*08$))780*%# ", " $.0000.+ ", " '()*+,-% ", " #$%&&'$# ", " # # "}; mathgl-2.1.3.1/include/xpm/arrow_n.xpm0000664000175000017500000000063112142400465017340 0ustar balakinbalakin/* XPM */ static const char * arrow_n_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", " ..............", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/swap.xpm0000664000175000017500000000066412142400465016651 0ustar balakinbalakin/* XPM */ static const char * swap_xpm[] = { "16 16 4 1", " c None", ". c #0000FF", "+ c #000000", "@ c #FF0000", " ", " . .. ", " . . ", " . . ", " . . ", " ...... ", " + + ", " + + ", " + + ", " + + + + ", " ++ @@@ ++ ", " +++ @ @ +++ ", " @ @ ", " @ @ ", " @@@ @@@ ", " "}; mathgl-2.1.3.1/include/xpm/arrow_t.xpm0000664000175000017500000000063112142400465017346 0ustar balakinbalakin/* XPM */ static const char * arrow_t_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " .. ", " .... ", " ...... ", " ........ ", " ...............", " ........ ", " ...... ", " .... ", " .. ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/arrow_v.xpm0000664000175000017500000000063112142400465017350 0ustar balakinbalakin/* XPM */ static const char * arrow_v_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ... ", " .... ", " ..... ", " ...... ", " ...........", " ...... ", " ..... ", " .... ", " ... ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/go-next-b.png0000664000175000017500000000121712142400465017452 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÙ »¯üIDAT8Ë•“¿K[QÇ?ï¼——Ä´UªÐIy/KqÐÍÁA¤àØÉÆV—¢u)t‘'G» i… B¡Š8¬8•‚têUKÛD%Òäå/·CKª1zàpážËç~Ï=ߋ֚ætœÇ'1ÙªÖœ†ÖšæpÝ öú¾ÿíPÊûE›v………©h_ßÃÀ×øo€e SS÷í±±g½¦Ùs݉ÉVç ÇId€{W6 ³¼¸ø*²½}J<#––VübQm.·d8NBÏÏ¿DÄ@DŒhk+@W—Mÿm–—¿ÖNNV~£Jyû ÀÜÜëë?Û61þ2lû_‡"ƒƒõææ?üY¥¼¤T«ur¹™Ì)GGŠããW)j @­V'>#c|üiG,æ¾vÝ'o-¥Š\\|ºt›M¥rF¡p‘0–C$ @>ÿ `µD°¬†a5ÖpØdx¸›ýý¼N§=?ʳJyÉ`dd€PHˆFM::LVW ßb` “Tês5›ÝÎh4Ѳ©Ôâµ1NO?ˆ„ꦧÇ&™|_*—3›ZWÇØÎÊ33/(• zgÇóëõê¬R^òšáÚ9±T X[Û­är{ÙË’¯9±Û¾[ªÕòZ7~¦6 d·Zͽk%¹9~ ·ê?3IEND®B`‚mathgl-2.1.3.1/include/xpm/curve.xpm0000664000175000017500000000062712142400465017022 0ustar balakinbalakin/* XPM */ static const char * curve_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .", " .", " . ", " . ", " . ", " . ", " .. ", " .. ", " .. ", " .. ", " . ", " . ", " . ", " . ", ". ", ". "}; mathgl-2.1.3.1/include/xpm/format-indent-more.png0000664000175000017500000000065312142400465021364 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDùC» pHYs  šœtIMEÚ '7ûÉ +IDAT8Ë’?KBaÆï½]îâ'h Z/-BkKC$JˆA»Ý¬%ú Q–D¹6IH&Ñ'(A›Ü"(pjšRó= ÖMyõš=ÓyÏyŸ‡çüQñƒúeWwSLÇrŠå½è:+û2-Vk`ñˆHÏ„}ŒeëF®²z‡ ”Z8KË¡nB[¸Hûtî*F^)õ7€³ô&ÛòØzÐB¯Ñà£Zåýù‰Öë oÍæ¯ˆ¿…*¸±Ä¤´1åä3Ú7%£>$ ¶Ñcíæ·wh__…8Ð,! Â?>ÂM$CÖø©‘žô… rw-il!°=ˆçf¿sçós}òI7žœþ&‘'^âF¡€]DD†lŽåcÙzjdùþq$QiUøð`’°X·IEND®B`‚mathgl-2.1.3.1/include/xpm/down_1.xpm0000664000175000017500000000064712142400465017067 0ustar balakinbalakin/* XPM */ static const char * down_1_xpm[] = { "16 16 3 1", ". c None", "+ c #7F0000", "@ c #FF0000", "................", "................", ".....+++++++....", ".....+@@@@@+....", ".....+@@@@@+....", ".....+@@@@@+....", ".....+@@@@@+....", ".....+@@@@@+....", "..++++@@@@@++++.", "...+@@@@@@@@@+..", "....+@@@@@@@+...", ".....+@@@@@+....", "......+@@@+.....", ".......+@+......", "........+.......", "................"}; mathgl-2.1.3.1/include/xpm/integr.xpm0000664000175000017500000000064712142400465017170 0ustar balakinbalakin/* XPM */ static const char * integr_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #808080", " ", " ", " ", " . ", " . ", " . . ", " . . ", " . . ", " . ... . . ", " . . . . ", " . . . . ", " . ... . . ", " . + ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/object-rotate-right.png0000664000175000017500000000117012142400465021525 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“tIME× ÿÜ~IDAT8•“MHTQ†ŸsçïÞ  Ì )µ¨vº Jp$†´jS›n¢M»6A?-¢Z´¨Œ²pqg¢"›6–e夌Þ{½wÎ×bJs¼ô‡ï}8çå; `r¨êlà.Ft@E"¾3€§0Ò~ƒQþ¥LÄ×N^Ä›ñæE»?%È”ÂÄýþ̾ʼncI;ÓÇö0¯°ÓHÇ• c #DC4242", ", c #D52F2F", "' c #DB3C3C", ") c #F17575", "! c #B41F1F", "~ c #B22424", "{ c #D53737", "] c #DA3B3B", "^ c #F06F6F", "/ c #B11B1B", "( c #B32626", "_ c #DB4141", ": c #D75757", "< c #DACDCD", "[ c #D75F5F", "} c #D85C5C", "| c #E6D9D9", "1 c #DB5F5F", "2 c #D93B3B", "3 c #EF6A6A", "4 c #B01818", "5 c #880202", "6 c #F68989", "7 c #DB4040", "8 c #D89292", "9 c #DBDBDB", "0 c #DAD6D6", "a c #D76060", "b c #D85A5A", "c c #E6E0E0", "d c #EDEDED", "e c #E5A5A5", "f c #D22F2F", "g c #D63B3B", "h c #EE6868", "i c #890303", "j c #D53030", "k c #D89999", "l c #DFDFDF", "m c #E2DEDE", "n c #E6DFDF", "o c #ECECEC", "p c #E6ABAB", "q c #D23131", "r c #D02F2F", "s c #CE2F2F", "t c #ED6565", "u c #890202", "v c #DEACAC", "w c #E8E8E8", "x c #E8BCBC", "y c #D13131", "z c #CF2F2F", "A c #CC2F2F", "B c #EC6161", "C c #D85B5B", "D c #F1F1F1", "E c #F3EDED", "F c #DA6464", "G c #C92929", "H c #E94545", "I c #F58585", "J c #D75B5B", "K c #E5DFDF", "L c #E4AAAA", "M c #E6A5A5", "N c #F9F9F9", "O c #FCF7F7", "P c #DA6767", "Q c #C51A1A", "R c #BD0202", "S c #E83737", "T c #F26969", "U c #D52323", "V c #D21F1F", "W c #DE9292", "X c #CE2828", "Y c #E9A5A5", "Z c #FEFEFE", "` c #E39696", " . c #BD0000", ".. c #BD0303", "+. c #E63434", "@. c #B82424", "#. c #EF5A5A", "$. c #D31111", "%. c #CB0101", "&. c #D65858", "*. c #C70303", "=. c #C50000", "-. c #C30000", ";. c #C10101", ">. c #D65F5F", ",. c #BE0404", "'. c #DF2B2B", "). c #C71D1D", "!. c #870000", "~. c #B72121", "{. c #ED5252", "]. c #D01010", "^. c #C70000", "/. c #C10000", "(. c #BF0000", "_. c #BE0505", ":. c #DF2C2C", "<. c #C41B1B", "[. c #880000", "}. c #B41D1D", "|. c #EB4C4C", "1. c #CC0F0F", "2. c #BF0505", "3. c #DF2D2D", "4. c #BF1919", "5. c #B11A1A", "6. c #EC4A4A", "7. c #ED4747", "8. c #EB4343", "9. c #EA3F3F", "0. c #E83B3B", "a. c #E73737", "b. c #BC1818", " . + + + + + + . ", " . @ # $ $ % & * = . ", " . - ; > , , , , ' ) ! . ", " . ~ ; > { , , , , { ] ^ / . ", ". ( ; _ : < [ , , } | 1 2 3 4 . ", "5 6 7 , 8 9 0 a b c d e f g h 5 ", "i # , , j k l m n o p q r s t u ", "i # , , , j v w o x y z s A B u ", "i # , , , C n o D E F s A G H u ", "i I , , J K o L M N O P Q R S u ", "5 T U V W o L r X Y Z ` ...+.u ", ". @.#.$.%.&.*.=.-.;.>.R ,.'.).!.", " . ~.{.].^.=.-./.(. ._.:.<.[. ", " . }.|.1.-./.(. .2.3.4.[. ", " . 5.6.7.8.9.0.a.b.[. ", " . + + + + + + [. "}; mathgl-2.1.3.1/include/xpm/help-contents.png0000664000175000017500000000114412142400465020434 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆIDAT8•“OHÓaÇ?ïû{û9ÔDÙ¦aa"Ìiæ¢(Íy‘JèïÁƒ‡2³4êRls¬? tèàÑ‹zA¨X¡bþéP$Q1s¥ ÕÜoo'Å¡‹|îÏçù<ßG„Â<oÕZüG !,Ó4C-7nßÀ|×{¬@Wg@lNžŸa~~ŽX,¶ëd[šââòrí$ c °MÃ…G0”B CH)Bš„Ö$,+ º „`öÝ_''ù–— €ýÇ*En7Eg΢¥þÁ‡çݬõànnÆÑx,õõ1ÑÞÁr}=žÖ[© ïÇXëÀwé2#£ŒçfàŠ¼Å{§¡`€¹ÊJ²½¾­¹0óå3åMMħ§‰ £W¢è•(‘ÁA¬H„Š{|šOm°œ™óêÆòd¸ŽqòÚu”¡Ýg2‘µŸÊšZ_¾H$Hi€Öˆ¬¬ÍËb­¯#l6 cgÎ’ ì?W‰öôPö'ÆP8ÌHÂBJÅbø 5Á.¢½½8×¥6(,-å£?@ºRÔ<¸OZ~¦ÓAmw7™ééL=|D‰«,5à@Õ h<ÏëgOù“CÕ9¯ ÓäU[ªñ…§O¥^­)o¹Éìñ ÞLN±´0€ã{”âP£ÕÕX»%QaÆÁ‚C8ëðÔ5ì8X’º”Ö@) tuîùþ¹ä*aøIEND®B`‚mathgl-2.1.3.1/include/xpm/oper_dir.xpm0000664000175000017500000000063212142400465017475 0ustar balakinbalakin/* XPM */ static const char * oper_dir_xpm[] = { "16 16 2 1", " c None", ". c #000000", " . ", " . . ", " . . ", " . .... . ", " . . . . ", " . .... . ", " . ", " ..... ", " . . ", " .. . ", " . . . ", " . . ", " .... . . ", ". .. . ..... ", ". . . ", " .. . . "}; mathgl-2.1.3.1/include/xpm/preferences-system.png0000664000175000017500000000114312142400465021473 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ  9‹cÂHðIDAT8Ë¥’Kha…¿™øLŠM ‚J°ÌÆ…¶ÝE¬.4bfëBp!T¤¨µ-RCB kAte@Šâ‰ÐbW‚Ò6‰I‚UiÓ—† DD:3nf†1ë³û¹çœ{ï¹?ü'ç#Q¢€ ÈñX"÷M4QlŽØRTû¯ö¨¦™«øúµÍl´éŒb4u#Q ÷ZêEÄtF‰Zd««×Ûæfxðð>ñXBr" Þ2ž>›0õö­6××:%êõ¯÷Z³‰Ý,1€`o š¶%èºnèºFa~N(¼/È;+´t°é»H¹Ra¹ö %îþóŒN¼Ê¿4J•Ý'{(– ˜Lº«A0’: Ô¬÷•N× ‰£GŽÑl6y7÷·5ó üirtÚI4M’kë« @Ò¾B0’ºL8¸ÛÄ;á77âÕöê¼T¼IEND®B`‚mathgl-2.1.3.1/include/xpm/weather-clear.png0000664000175000017500000000125212142400465020374 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÖƒ{<É7tEXtCommentRyan Collier (pseudo) http://www.pseudocode.orgöïlnôIDAT8˵“ÍK”QÆçΫ©XFiô4dDáB)°M¼®Â… µ ÚEÿ´kç"WAº‰hå,¢ "£veŠù…C£–Ž:÷¾O ›”j峸÷œç9—ç9ö2üPÜï‡ãõØvs6¾,D™ÜøÖÙpÌÕ$4F™\²uhŽ2¹×QÙðÅt>WùœÕŸ¸%ékßaeêCéiçm‹ÔMà*кë~$~HcÛuK÷š> ©Z´ôŽäýcl}Nˆ‘¨gôJã* ÔÐþÒÒ×ÌŽ^‚T øqTCuà:ºI\µÉ'Ï*1®Bçê›úìÐÐ ˜m&󟑦q§ObUvÓgcûƒÀÇ8òÂÒDuPš?B´‚´aD(áŽY?÷ÿQ,bl°–‡d…IPý„°É"„%eÙTqp§Æþco¬ýÆyÕ1?T„¤ah~ûºú‘ ¶²­ÛD™œôcf0{„!­ƒŸ? X/¢ÉU’;eð.,庭øMÉ«û(?¡ü>XXFcK8I–²ËÛÄSÀ'R‰Væx«’ݳˆ.‚º€–(“›Ù¹‰M@KÔ³YðÙø9òÀžŽªÞQw·53ÿÿLÃñ@Ù®=‹_Þýíul‡›IEND®B`‚mathgl-2.1.3.1/include/xpm/insert.xpm0000664000175000017500000000066612142400465017205 0ustar balakinbalakin/* XPM */ static const char * insert_xpm[] = { "16 16 4 1", " c None", ". c #0000FF", "# c #000000", "w c #FFFFFF", " ", " ", ". ############ ", ".. #wwwwwwwwww# ", "...#w########w# ", "....wwwwwwwwww# ", ".....########w# ", "......wwwwwwww# ", ".......######w# ", "........wwwwww# ", ".......######w# ", "......wwwwwwww# ", ".....########w# ", "....wwwwwwwwww# ", "...############ ", ".. "}; mathgl-2.1.3.1/include/xpm/tran.xpm0000664000175000017500000000066412142400465016643 0ustar balakinbalakin/* XPM */ static const char * tran_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FF0000", "@ c #0000FF", " ", " ", " ......++++++++ ", " . . + ", " . . ..+ + + ++ ", " . . + ", " . . ..+ + + ++ ", " .++++.++++++++ ", " . . .. ", " . . @ ", " . . .. @@@ ", " . . @ ", " . . .. @ ", " . . @@ ", " . . .. @@@ ", " ...... "}; mathgl-2.1.3.1/include/xpm/zoom_1.xpm0000664000175000017500000000064712142400465017104 0ustar balakinbalakin/* XPM */ static const char * zoom_1_xpm[] = { "16 16 3 1", ". c None", "+ c #7F0000", "@ c #FF0000", "................", "................", "......++++......", "......+@@+......", "......+@@+......", "......+@@+......", "......+@@+......", ".++++++@@++++++.", ".+@@@@@@@@@@@@+.", ".+@@@@@@@@@@@@+.", ".++++++@@++++++.", "......+@@+......", "......+@@+......", "......+@@+......", "......+@@+......", "......++++......"}; mathgl-2.1.3.1/include/xpm/document-new.xpm0000664000175000017500000000236612142400465020305 0ustar balakinbalakin/* XPM */ static const char * document_new_xpm[] = { "16 16 59 1", " c None", ". c #9E9E9E", "+ c #818181", "@ c #8C8C7C", "# c #9F9F72", "$ c #AFAE6A", "% c #EDE436", "& c #FFFFFF", "* c #F2EE9B", "= c #F7F069", "- c #FAF24D", "; c #F7EF46", "> c #F4EB28", ", c #ECECEC", "' c #EAEAEA", ") c #EBEBEB", "! c #F0EDB4", "~ c #F7F06A", "{ c #FCF43A", "] c #FDF668", "^ c #FDF66A", "/ c #FBF23C", "( c #F9EF1E", "_ c #F2EE9C", ": c #FAF24E", "< c #FDF667", "[ c #FEFAB5", "} c #FEFAB8", "| c #FDF56B", "1 c #FAEF22", "2 c #F3EF9B", "3 c #FEFABB", "4 c #FEFBBF", "5 c #FDF66E", "6 c #FAF022", "7 c #EDEDED", "8 c #F1EEB1", "9 c #F8F167", "0 c #FDF440", "a c #FDF771", "b c #FDF772", "c c #FCF343", "d c #F6EC24", "e c #EFEEE0", "f c #F4EF96", "g c #F8F163", "h c #FBF346", "i c #FBF345", "j c #F7EF5D", "k c #EEEEEE", "l c #EEEEE2", "m c #F3F0B1", "n c #F5F092", "o c #F5F09A", "p c #969677", "q c #EFEFEF", "r c #F0F0F0", "s c #F1F1F1", "t c #F2F2F2", ".++++++++@#$% ", "+&&&&&&&&*=-;> ", "+&,'')))!~{]^/( ", "+&'')),,_:<[}|1 ", "+&')),,,2:^3456 ", "+&)),,,7890abcd ", "+&)),,77efghij ", "+&),,77kklmnop ", "+&,,77kkqqqr&+ ", "+&,,77kkqqrr&+ ", "+&,7kkqqrsss&+ ", "+&77kkqrrsst&+ ", "+&77kqqrrstt&+ ", "+&&&&&&&&&&&&+ ", ".++++++++++++. ", " "}; mathgl-2.1.3.1/include/xpm/wire.xpm0000664000175000017500000000062612142400465016643 0ustar balakinbalakin/* XPM */ static const char * wire_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " . . ", " . . ", " . . ", " ............ ", " . . ", " . . ", " . . ", " . . ", " ............ ", " . . ", " . . ", " . . ", " "}; mathgl-2.1.3.1/include/xpm/film-b.xpm0000664000175000017500000000113412142400465017036 0ustar balakinbalakin/* XPM */ static const char * film_b_xpm[] = { "16 16 15 1", " c None", ". c #7474D1", "+ c #7171D0", "@ c #7070CF", "# c #6F6FCF", "$ c #6A6ACD", "% c #6868CD", "& c #7373D0", "* c #7979D2", "= c #7C7CD3", "- c #7676D1", "; c #7E7ED3", "> c #8282D5", ", c #8585D6", "' c #8181D4", " ", " ", " .+@#$$%$%%% ", " . &+##$#$ % ", " **..++#+##$ ", " = *-..+.+ # ", " ;==**....&+ ", " > ;==**** . ", " ,>>'==*=*** ", " > ;==**** . ", " ;==**....&+ ", " = *-..+.+ # ", " **..++#+##$ ", " . &+##$#$ % ", " .+@#$$%$%%% ", " "}; mathgl-2.1.3.1/include/xpm/document-import.png0000664000175000017500000000135612142400465021004 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÙ7n€KÃnIDAT8Ë‘]hÍqÆ?ßÿÿdz3óºY-ï/a¤¨%WD-1 ­µ.—R\))q³¸4´×R21JyË…FkZçÎæx9gÎùÿ~ÿß×Å6#ŠÏÅÓsõô}¾4551ÂÙ Ô¼V˜ ŸMdÏÌSÜx´…Âõ"È‚,‡â59f-îa™¾@›ïŠ©®®nSÕºHøº±„gKVp¾¬™Û6P¸X= K`Š/Ô-ì`¯k¥æÕKv±㽯¯¯¯OxïIUžã@ÅIn^ÝDþR’o!±’`›gnc7»§ÙÌ Jr|./ÀXkÕ9G:fjU@QY·4Î+E:Æ×e©J¤` WØNwé|çj©áØH€Å9GUWŠ6·“tPNÿêi|˜[Á‹ê.‡[yÒ»’®‡kˆß(þãHÔ”‚qÎyçbâ8F:•tû ï¢AŒ$©ëÞ!höIÆ^ !Ù3—2®±:†+DQ4P“€ïŠ&Á˜>ËŽÞ6JVey~f9‘KEÉSÖê=Ú;&#---¦ž¸ó•¼šSõ£~DtÔAÊ8ç°Ö’‹àøþuü ù)£DÎs°µ³ÒXk½µPBç½_øa(Ì™>DÕXk½sÆšàŸ±WÔƒ ~xÆCd=¡üÚøw\¬¬ÇyOÁÆjœs>Š"D ï3y¾å.Vl¬x¯xUb¯X7äL($¾ƒˆ7"â½÷ÉFdóëþ¼Á„òó“AŸs¢ªFUIeb¾J""ü¹Üwé3qP|ÿVOéPz{Rü/™Ù÷¶9Då½ÄiIEND®B`‚mathgl-2.1.3.1/include/xpm/hist.xpm0000664000175000017500000000062612142400465016644 0ustar balakinbalakin/* XPM */ static const char * hist_xpm[] = { "16 16 2 1", " c None", ". c #0000FF", " ", " ", " ... ", " ... ", " ... ", " ... ... ", " ... ... ", " ... ... ", " ... ... ", " ... ... ", " ... ... ... ", " ... ... ... ", "... ... ... ... ", "... ... ... ... ", "... ... ... ... ", " "}; mathgl-2.1.3.1/include/xpm/document-print.xpm0000664000175000017500000000256012142400465020644 0ustar balakinbalakin/* XPM */ static const char * document_print_xpm[] = { "16 16 67 1", " c None", ". c #AAABA9", "+ c #F9F9F9", "@ c #888A85", "# c #F8F8F8", "$ c #C4C4C4", "% c #F1F1F1", "& c #F3F3F3", "* c #F7F7F7", "= c #C6C6C6", "- c #C7C7C7", "; c #E0E0E0", "> c #E2E2E2", ", c #E3E3E3", "' c #E5E5E5", ") c #E6E6E6", "! c #E7E7E7", "~ c #F6F6F6", "{ c #F5F5F5", "] c #F5F5F6", "^ c #7D7E7C", "/ c #858684", "( c #ABABAB", "_ c #A9A9A9", ": c #AAAAAA", "< c #FCFCFC", "[ c #F4F4F4", "} c #E8E8E8", "| c #FDFDFD", "1 c #D4D4D4", "2 c #EDEDED", "3 c #AEAEAE", "4 c #DFDFDF", "5 c #E1E1E1", "6 c #DCDCDC", "7 c #9F9F9F", "8 c #CDCCCB", "9 c #F0F0F0", "0 c #CCCBCB", "a c #DDDDDD", "b c #DEDEDE", "c c #D9D9D9", "d c #8C8B8A", "e c #C5C5C5", "f c #F2F2F2", "g c #BEBEBE", "h c #868584", "i c #7A7978", "j c #767574", "k c #787675", "l c #767472", "m c #72716F", "n c #747372", "o c #B2B2B2", "p c #BBBBBB", "q c #B9B9B9", "r c #B8B8B8", "s c #B8B8B7", "t c #B6B6B6", "u c #B3B3B3", "v c #B5B5B5", "w c #B7B7B7", "x c #ECECEC", "y c #D7D7D7", "z c #D8D8D8", "A c #D5D5D5", "B c #D6D6D6", " ", " ........... ", " .++++@+++#. ", " .+$$@@@$$#. ", " .+%@@@@@&*. ", " .*$$=@=--#. ", " .*;>,@')!*. ", " .~{{{{]]~*. ", " ^^/(_(((((_:/^^", " ^<+[[[[[[[[[)}^", " ^|123&4,5>;678^", " ^90aabbb6aacde^", " ^fghiijklmnkoe^", " ^fpqqrrstuvwr-^", " ^xyzzyyyyyAyB1^", " ^^^^^^^^^^^^^^^"}; mathgl-2.1.3.1/include/xpm/zoom_out.xpm0000664000175000017500000000072312142400465017546 0ustar balakinbalakin/* XPM */ static const char *zoom_out_xpm[]={ "16 16 6 1", ". c None", "c c #000000", "# c #000080", "b c #804000", "a c #d3e4e8", "d c #ffff00", "................", "....##..........", "..##aa##........", ".#aaaaaa#.......", ".#aaaaaa#.......", "#aaaaaaaa#......", "#aaaaaaaa#......", ".#aaaaaa#.......", ".#aaaaaa#.......", "..##aa##bb......", "....##..bbbb....", "..c....c.bddb...", ".cc.c.cc.bdddb..", "..c....c..bdddb.", "..c.c..c...bddb.", "..c....c....bb.."}; mathgl-2.1.3.1/include/xpm/edit-copy.png0000664000175000017500000000076212142400465017553 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ /ƒ4›IDAT8Ë•“KKQ†ß#3cÚ€ý ÏÝýZ¶ˆ uðB¶°E‘vÛDDD±6þ1³6e0£¿ š07Íí´itFG±oõÃyÞ÷ã;äè$3¯ëú,F(ÁϽm®ÅïœwœaÓñèÖ(z¤ö&¸vÓj5ÁëB¡Ð„'”sjµ^«•…Æwcf‹ýÌnÊîyž¿u$IB±T˜úG¤E@Q”NŒV«9TlGr(¥(– ³,ËžâH$Ò?ÆdYv ÒùpP¹”R”ÊÅ¡z¡œ-¶,EÍA08Žv»ÝèºÆÂaŠòSi¨J%˜¦ÊK¥ дc°,6ÔîåÕïÝž¯žŸº‡1ËÓ¶(ŠXY^…e™P¿T䮳à6Ö£yyÇrl†áë;KUUän²ðìó’¦éðûý¢(‚‚z½€àãóݧ±äé§³¦i.y}¬¿*($bÉøBY¦ˆ÷ØIEND®B`‚mathgl-2.1.3.1/include/xpm/document-open.xpm0000664000175000017500000000542312142400465020452 0ustar balakinbalakin/* XPM */ static const char * document_open_xpm[] = { "16 16 137 2", " c None", ". c #565854", "+ c #575955", "@ c #595B57", "# c #5A5C58", "$ c #5F615D", "% c #7A7A7A", "& c #797979", "* c #F7F7F7", "= c #F9F9F9", "- c #FAFAFA", "; c #FBFBFB", "> c #FCFCFC", ", c #A2A3A2", "' c #5B5C58", ") c #787878", "! c #C9C9C9", "~ c #C7C7C7", "{ c #C4C4C4", "] c #555753", "^ c #DADADA", "/ c #D3D3D3", "( c #D2D2D2", "_ c #CFCFCF", ": c #CDCDCD", "< c #FEFEFE", "[ c #939392", "} c #5B5E5A", "| c #737373", "1 c #C5C5C5", "2 c #B0B0B0", "3 c #ACACAC", "4 c #DCDCDC", "5 c #9C9D9C", "6 c #D5D5D4", "7 c #FDFDFD", "8 c #969796", "9 c #5B5D59", "0 c #6E6E6E", "a c #C1C1C0", "b c #AAAAAA", "c c #E2E2E2", "d c #DFDFDF", "e c #DEDEDE", "f c #DDDDDD", "g c #E0E0E0", "h c #E9E9E9", "i c #E5E5E5", "j c #D0D0D0", "k c #5D5F5B", "l c #6A6A6A", "m c #BDBDBD", "n c #A9A9A9", "o c #A5A5A5", "p c #E6E6E6", "q c #9FA09E", "r c #9C9D9B", "s c #E3E3E3", "t c #D0D1D0", "u c #656565", "v c #B7B7B7", "w c #A6A6A6", "x c #A1A1A1", "y c #EBEBEB", "z c #EAEAEA", "A c #E8E8E8", "B c #E7E7E7", "C c #D9D9D9", "D c #5B5C59", "E c #5F5F5F", "F c #B3B3B3", "G c #406CA5", "H c #3868A5", "I c #3768A5", "J c #3666A5", "K c #3566A5", "L c #3566A4", "M c #3465A4", "N c #3767A6", "O c #5B5B5B", "P c #AEAEAE", "Q c #C0D5EA", "R c #C1D5EA", "S c #C1D6EA", "T c #BBD2E8", "U c #3465A5", "V c #565656", "W c #C3D6EA", "X c #92B5DB", "Y c #95B8DC", "Z c #B9D0E7", "` c #3466A4", " . c #515151", ".. c #A5A5A4", "+. c #3666A4", "@. c #C5D7EB", "#. c #98B9DD", "$. c #95B7DC", "%. c #B8CEE7", "&. c #4C4C4C", "*. c #3767A5", "=. c #BFD2E9", "-. c #9BBADD", ";. c #9ABADD", ">. c #96B7DC", ",. c #8FB2DA", "'. c #8BB0D8", "). c #B1C9E4", "!. c #484848", "~. c #9B9B9B", "{. c #A5C1E1", "]. c #8EB2D9", "^. c #8AAFD8", "/. c #85ACD7", "(. c #83AAD6", "_. c #81A9D5", ":. c #7EA7D4", "<. c #79A3D3", "[. c #77A2D2", "}. c #7BA5D3", "|. c #95B6DB", "1. c #3567A6", "2. c #494949", "3. c #999999", "4. c #3968A5", "5. c #94B5DB", "6. c #82AAD5", "7. c #7DA6D4", "8. c #7FA8D4", "9. c #85ABD5", "0. c #7E8896", "a. c #5588BF", "b. c #5689C0", "c. c #4B7EB7", "d. c #3667A6", "e. c #454A51", "f. c #3565A4", " . + . + + @ # $ ", "% & & & . * = - ; ; > , ' ", ") ! ~ { ] ^ / / ( _ : < [ } ", "| 1 2 3 ] 4 5 5 5 5 6 < 7 8 9 ", "0 a 3 b . c d e e f g h i j k ", "l m n o . p q r r r f s s t 9 ", "u v w x + y z z h h A A B C D ", "E F G H H I J J K L L L M M M N ", "O P K Q Q Q Q Q Q R S S S S T U ", "V n L W X X X X X X X X X Y Z ` ", " ...+.@.#.#.#.#.#.#.#.#.#.$.%.K ", "&.x *.=.-.;.;.;.;.;.;.>.,.'.).K ", "!.~.H {.].^./.(._.:.<.[.[.}.|.1.", "2.3.4.5.6.7.7.7.7.7.7.7.7.8.9.J ", "!.0.4.a.b.b.b.b.b.b.b.b.b.b.c.d.", "e.M M M M M M M M M M M M M f. "}; mathgl-2.1.3.1/include/xpm/udav.png0000664000175000017500000001005312142400465016607 0ustar balakinbalakin‰PNG  IHDR@@ªiqÞæIDATxÚí›kŒåyÇïÌœ3çº{öæÅk°1Ø^³6– ”Å„´ YF¨ ð%ªTJBÜ´JRµ¹`{Í%A U B«H-’@ J›¦iâ”›0 B±±±±_vÙ˹ìÙs™Ë;ý0çœ}wæìT©Gz4sn3ïóŸûóŒðþÅ#£¢A³¾ rßxëͼ¿ðÀÃ*„ f¿ãù¸ÌkfÕs-d÷Å\†g‘lPy>¥Â¸Œës-„ˆ„ ÃAÜrFZ„žü„˜Å¸`^œIa¾y”!Ènà\Μ áŸ/]>"Œ¹&! è!R J€T€€!„˜Q‡¥Kƒ±Ä]oî¸Á¸ÄB¤!¨<;tåÛêSÔj59ÂÝgÎ^¥Ðd^Án\Çi\Ëñ ‹“±¸8@eG6 Hô^1°wÛ¶môßr ¬XÅ"¼þ:Ïÿò—|ᕽ×)»ï(@8 låó€Š,œ)c Ìë ó±Ê1¦ ?’IÿÏ–-WÑå•pÅpÉ%P(@±Èà‰<½nüõ;¾Qa8H–¢zM)pk]0ÆG`¾É`\9ÆB@i©G.—£Z«1yø0Ý® ==P«Á©SLæóÄ ƒG;;^øF±tK`·ƒ;e[”Øba ‹dÞˆ`ÞlP(-àjõ:§NbjjŠÎwß%‘H ¥dºR¡X(P,•š7N+ØÊî7¯i‡,Ú[( ‘€ sM2¡e ª• ŽmS(ˆš®û>Ðuq˶±' KU§F’ÎB@0èêTƒg†0ŸP@•‚&ƒ¢VC1wõžGÃ0g”Ý7"`nîÐz9 (‹ RôU±ODU)Ñ]º.^H2ÐL! 4-€½ÀÝSƒ†7"J "Üàæc!»lPó½J*-c¸[߈Ò5!;\ùP€y¨‡PµAµ¿·Ô0 áRMÑ)Œ4w7Ù8OÎU2f¹ÄÝ‚¿˜ »`§ôžPt_eª¦0¯‚P €aÍŽæ2«µ1|z Ú‹):¯¾d€R JH}ŸÞåñÓúwê·cÌêu.aõ Qª0+2üò—ßßúöÛÿÁØØ8;¥÷_ ÕèOeB´I™Õ¨QM ´0ƒfÜ ˆ‡XýDÀ.$Bv&¸;ú=÷ŒüÉ›o¾À±cïã8;^nì¬þÚm,¾jè˜W(9“j×툰Ùh…™ÙÁhôhÌÇÚ¡I07lxîO–ÓÝý.Ï>ûo8Žƒ”Ãï4~'`0þoçëe›\A•  D‹€E–êÆÚ¡Úˆ÷÷ÿ㟥RIÇ¡T:Á¡C‡p]σ+®¸œ@Be5ÝÕ"jvDž`‡Ô"Td„ ˆ°¦¾ ˜D"ñý/y^žÉÉ ¤”HénW_}5½½=<ø wùÄD‘_ÿz~锢*óÞ<»n)Óˆ(ÌÌQƒ@ „bí_ŸRÜSð˜qU)MÛ}xxžÏ8xhšF “Y¿—r¸îyÃ6€ëºLO—9räÏ=÷*/¼×]ßúÖlÚôï«æ©4G5aÄ|;?_.0_DU=¢ Ò®A¢I9,¥–®+)—Ë:tˆ_ýê|[·Âm·mcùò'ÖÌÃ\Ô}æ×ú¥°€æ£»¤ã¸ E8ÀoøNê󟇡¡!LóÁ  /äú‹Vë5ëÞ®»Ó±,‹ÑÑQ¶Éç}UX·n®®î¥ÞÃ[Ô"ÎÓË[ Íù”’éé2~ø!Å"H ]ÔEWWŽðfid?qÁ÷׉dTçV͸‚äÅãô'“?èR>†±¶}oÅq\×E6J™‰˜¦I2ùƒkÛ¤ÂêzäüÌûÁ‰Ñf¥ÒU“3dšß¿«³³“ŽŽ2™4¹\Žt:C:&›Ír×]qb±8ßüæ×:üÐØ¥Z­Q*)•¦(òŒS,Ñu®®n21ÓÓ ¥Dóë„ayþB¥ ]QÔ Ng¨YÆx*õÐÃ]]Ýär9®¹¦‹\.G.ç;:²ttÄI§!†dR©ænúd+p]¨TüæÐ‡£þ„õë3ärp茌ŒQ«Õ› ¬Ú+ Öä"UaN6è…´¨UÆe:ý𺻻¹ì²Ùl†L&K&“!N‘L&¨×ë ’rÙÀ0 b1ŸéxÜ$•‚L:: ›…Þ^X·Îÿþµ×þˆë¯÷:xNž<Åôô4ž'I&º¹Zýö3mz†a¡¶’`Dˆ~(õõ=þŸË—wNg0M!–UgjJR©TÐ4ßÃø±¿‡”^+ÆÔu½‘ ʼnÇMR©$™L–l6COOŒ¾>øá_bxø.» ~÷;xë­"øÃ)*• RzÜ}÷_òÙÏnºýرcŒŽntžz@XUhaÙ ZöJ©eË»³3G2™DëºxžÏ ¾-mê·ëº¸®îy³Ð4]×0ŒñxÓ4Éd2;vlá†àðaøÙÏ`Ïžyï½£ J¥¿ctÔÿî•W<^}õU<ÈÙ³_ý[%*·I„,µB¬”Å… € $r¹GuwwÓÑ‘E×ujµÓÓlÛjÅ>>£.Žã"¥ÛC¶:=ÍÛø€ „ÐÐ4 ]×¹óÎ;Ù¾½—µkáwà¿€_ÜËÑ£G™˜˜Ä²ê9ò]úû}Uƒýûaï^ÉÞ½{9pࣣÛïÉ+L2P"÷ܨŠZoÓÇ4M‰Éd ÃÐñ<(—§[¢)Ä þÎKøà…B˲ðzô•Êß®ÍXl£¡jÏdËf;èé馻»‡ŽŽ, (•JŒŒŒ02r®á·½9»>—qÕ«W³uëVn½µƒ«®jì‚O> ¿ýí!Þ{ï=FFÎ15Uƶ-¤”¬]»–¾¾>V®\ÉÚµ38ë×C?Ôëpä¼ô<ÿükìß¿‘‘¯mT&¡â"^pÍ\¿¢£S«Õ±, tuu100Àš5k¨T¦Éçóäó …•J˪‹ÅÈf³,[ÖÏêÕ«¹òÊlÜ«Vù ZõÇžz ~ÿûc¼ÿþ1Î;G±X¢V«á8žçaš&§OŸ!Ÿ/0>>ÎéÓ§9qârΜéchȿ޺u¾wÉå>C.—cÕªÝwüøŸ¯T\dè¬aX $•ZWJ—RiŠtÚ¥RI1>>xFÝÝÝ\|ñŠ–¯7Mß×'þ‚2ßåÅã~X[«A©Ï> 'NLpüøqÎ;Çøø8SSeêõ¶í´¤È0 êõ:ŽccYÕj•R©D¡P`|üRΞ]ÇæÍ‚ÁAX¾n¼ÒéA’ÉkÖü胓'OR«}·Sa¾ÎPK \?S“ضE¹ìá8ÉdŠT*ÉÈÈ(Åb‘d2ÙŠ²Ù ¦)ˆÇ}Æ›>?•‚Ÿÿ|„‰‰ òù<”JEÊåijµ*¶m7Œ§o;|µˆ5ŒlÓ¾H\×Á¶mêu‹r¹ÌÔÔåòzŠÅ CC°llÚ޳ )ýëÄã-ë{æ"˜-~åÆi- V«³oß~âññ¸‰iú~=‹ÇBCÑú½eÙÔëu,«ÞR#Û¶˜‰ù›Uã{!å®Ç4møëM ®+Z.Õu]ÇÆqüõÔjƒ8N/CCþÄ͆ P­®¦V«ãøÃ2jx*€)°¬{Ó†qÿtÓ á`YuªU­åÊ4Mk¸6¸‚‡çÉ–aœ!/ÄHz­î°ëîz°¥¾°c±îs]§Xç¹kû`øÿDÊ^6lð£Ë5k`rr=¥R‰'í³g¿";!Òl ÇÙ‘ÑõûÊM!åLíÃçY„æT³]àlf[07þ/å®”Þ€ 8¶}ï_7Käš¶û_šîÖ¶*1\%›H§Ó¬^íK§? ]]בɤéîþoròoÄ"˜e „ëîìÐõÝ%o–õT‡ˆšÐñUe×÷BBpµÛcu)wÝÚâ¿}ÛäP­VÉçóÄãq²Ù÷Éf7°l\s3ô÷C¹¼‰‰Iz{÷ÆÇÿJ,bFÈ“Ým€°«Ó0î+6uv)3ÛþŽi8Îί+¢£fvÈT½Äuº¾ûõ …Bž3gNÓÑ‘%›]I©ä{Ÿ‘-¡i‰„¹”IÑè19øï\ ¦xûº½óŽˆù‘„9! G_,À6ŒûކA2™¢³³“ÞÞ^zzzZa{½^gr2Ïøø8㌌Ü#–0*ÛvP226(,m«}ˆ°jNXÛÛ ÄôÍ£‹=0Çž(N<Ç0 „ÐRúãwVzݲ,jµo‹%Ì Ïšk›‡ÉÆBzQx!jÕµ•yaÇ4,ù«Ôд¦GäµbŒZí;b ³ÂžçΙ¿S[Û†bÄÂ)aãòQ£òjŽÖw›¹¸Ê$˜µ…¶}ïbŒ`$ê³=2¤ç´éEà…¨£ô¥2)î®mß«kÚn7,ólºëfÝâ#ŒË‡ŽÒµ{`B‹T€ùŸ‘mæ}ÔùÖš¶Û K½…ÐpÝâ<0Ë.ˆfõˆVYØc32¢.5ìHpBæÿ´ÝÍ RîŒì Šóóàd(Q}»¨g†úÐT0µýÈM‰óûäè’›#bþOFG%…` mçDÓíéDÿÅŠ ÿìpÛGgU9^ØŠÿxú{}bÈ_ðöøÿ©×ÿ '0#‰ÝDIEND®B`‚IEND®B`‚mathgl-2.1.3.1/include/xpm/zoom_on.xpm0000664000175000017500000000072212142400465017352 0ustar balakinbalakin/* XPM */ static const char *zoom_on_xpm[]={ "16 16 6 1", " c None", ". c #000000", "a c #800000", "c c #804000", "b c #ff3f3f", "d c #007f7f", ". ... ... ...", ". aa ", ". aabbaa ", " abbbbbba .", " abbbbbba .", ".abbbbbbbba .", ".abbbbbbbba ", ". abbbbbba ", " abbbbbba .", " aabbaaccc .", ". aa cddc .", ". cdddc ", ". cdddc ", " cddc.", " cc .", "... ... ... ."}; mathgl-2.1.3.1/include/xpm/media-seek-backward.xpm0000664000175000017500000000262312142400465021454 0ustar balakinbalakin/* XPM */ static const char * media_seek_backward_xpm[] = { "16 16 69 1", " c None", ". c #414140", "+ c #3D3F3B", "@ c #494A47", "# c #3D3D3B", "$ c #4A4B48", "% c #4E4F4C", "& c #747571", "* c #FCFCFC", "= c #4E504C", "- c #4C4C4A", "; c #696C68", "> c #F9F9F8", ", c #4D4E4B", "' c #5B5E5A", ") c #6E6F6C", "! c #EEEFEE", "~ c #FCFDFC", "{ c #FBFBFB", "] c #595A57", "^ c #595A56", "/ c #646662", "( c #EBEBEA", "_ c #575855", ": c #6A6B67", "< c #767874", "[ c #EBECEA", "} c #FAFAFA", "| c #F2F4F1", "1 c #F1F1F0", "2 c #666763", "3 c #E6E7E6", "4 c #FAFAF9", "5 c #626460", "6 c #73756F", "7 c #80817C", "8 c #D4D6D3", "9 c #F1F2F0", "0 c #E7E9E4", "a c #DFE2DD", "b c #FCFCFB", "c c #737470", "d c #CFD1CE", "e c #F2F3F0", "f c #E8EAE6", "g c #E0E2DD", "h c #6D6E6A", "i c #82837F", "j c #ABAEA8", "k c #F0F1EF", "l c #F9FAF9", "m c #FEFEFE", "n c #797B75", "o c #7F817C", "p c #969791", "q c #EEEFED", "r c #767973", "s c #838581", "t c #91928C", "u c #C9CBC6", "v c #838580", "w c #8D9089", "x c #AFB0AC", "y c #81837D", "z c #90938C", "A c #9C9E97", "B c #9A9D97", "C c #ADAFAA", "D c #82837E", " ", " ", " ", " . . ", " +@@ #@$ ", " %&*= -;>, ", " ')!~{]^/(~{_ ", " :<[}|1{234|1{5 ", " 67890abcdefgbh ", " ijklmnopq4mr ", " stulv wxly ", " zAB CAo ", " D D ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/go-next.xpm0000664000175000017500000000427512142400465017262 0ustar balakinbalakin/* XPM */ static const char * go_next_xpm[] = { "16 16 100 2", " c None", ". c #3B7504", "+ c #3A7304", "@ c #598C2A", "# c #3A7404", "$ c #CBE1B7", "% c #82AB5A", "& c #CEE3BB", "* c #C3DCAB", "= c #A4C684", "- c #437A10", "; c #3B7604", "> c #CBE0B6", ", c #99C46F", "' c #B1D291", ") c #B7D49C", "! c #5F8F31", "~ c #3B7404", "{ c #C0DBA7", "] c #C2DCAA", "^ c #C5DDAD", "/ c #C6DEAF", "( c #C7DEB0", "_ c #91C164", ": c #8FC161", "< c #9DC873", "[ c #BBD99F", "} c #81AB5A", "| c #3A7405", "1 c #BDD9A3", "2 c #85B954", "3 c #88BB58", "4 c #8BBC5B", "5 c #8BBD5C", "6 c #8CBE5C", "7 c #8DC15C", "8 c #8DC25A", "9 c #8AC255", "0 c #8CC358", "a c #AFD48C", "b c #9CC37A", "c c #467C14", "d c #B9D79C", "e c #74AF3B", "f c #6EAC33", "g c #68A92B", "h c #6BAC2F", "i c #78B63D", "j c #82BE49", "k c #89C350", "l c #88C44D", "m c #84C249", "n c #80BE44", "o c #9BCA6D", "p c #AACE89", "q c #5E8F30", "r c #A3CA7E", "s c #4E9A06", "t c #52A007", "u c #57A709", "v c #5BAE0B", "w c #5FB20E", "x c #66B817", "y c #6CBA1F", "z c #6FBA26", "A c #8DC655", "B c #9EC976", "C c #568926", "D c #4F9C06", "E c #54A408", "F c #5AAC0B", "G c #5EB30D", "H c #62B90E", "I c #64BC0F", "J c #6CBF1C", "K c #9CD267", "L c #8BBB5D", "M c #427A0E", "N c #A4CC7E", "O c #A7D17F", "P c #AAD581", "Q c #61B70E", "R c #66BF10", "S c #7FCB34", "T c #A8DA78", "U c #71A63E", "V c #3C7804", "W c #ABD681", "X c #64BA11", "Y c #92D352", "Z c #A5D773", "` c #538B1E", " . c #3C7604", ".. c #ABD781", "+. c #A0D56C", "@. c #8BC158", "#. c #40790A", "$. c #A6D37B", "%. c #6AA136", "&. c #4D8418", " . ", " + @ # ", " + $ % # ", " + & * = - ", "# + + + + ; > , ' ) ! ~ ", "+ { ] ^ / ( ( _ : < [ } | ", "+ 1 2 3 4 5 6 7 8 9 0 a b c ", "+ d e f g h i j k l m n o p q . ", "+ r s s s t u v w x y z A B C . ", "+ r s s D E F G H I J K L M ", "+ r r r N O P Q R S T U ; ", "# + + + + V W X Y Z ` . ", " + ..+.@.#. ", " + $.%. . ", " + &.; ", " . "}; mathgl-2.1.3.1/include/xpm/mark_rf.xpm0000664000175000017500000000063112142400465017312 0ustar balakinbalakin/* XPM */ static const char * mark_rf_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " .... ", " ..... ", " ....... ", " ........ ", " .......... ", " ........... ", " ............", " ............", " ........... ", " .......... ", " ........ ", " ....... ", " ..... ", " .... ", " .. "}; mathgl-2.1.3.1/include/xpm/update.xpm0000664000175000017500000000062712142400465017160 0ustar balakinbalakin/* XPM */ static const char *update_xpm[] = { "16 16 2 1", " c None", ". c #00007F", " ", " ", " .... ", " . . ", " . ..... ", " . ... ", " . ", " ", " ", " . ", " ... . ", " ..... . ", " . . ", " .... ", " ", " "}; mathgl-2.1.3.1/include/xpm/dash_e.xpm0000664000175000017500000000063012142400465017113 0ustar balakinbalakin/* XPM */ static const char * dash_e_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ". . . . . . . . ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/film-r.xpm0000664000175000017500000000107612142400465017063 0ustar balakinbalakin/* XPM */ static const char * film_r_xpm[] = { "16 16 13 1", " c None", ". c #B53C3C", "+ c #B23B3B", "@ c #AF3A3A", "# c #AE3939", "$ c #A63737", "% c #A53737", "& c #BD3F3F", "* c #C04141", "= c #BA3E3E", "- c #C14444", "; c #C24949", "> c #C44F4F", " ", " ", " .+@#$$%$%%% ", " . .+##$#$ % ", " &&..++#+##$ ", " * &=..+.+ # ", " -**&&.....+ ", " ; -**&&&& . ", " >;;;**&*&&& ", " ; -**&&&& . ", " -**&&.....+ ", " * &=..+.+ # ", " &&..++#+##$ ", " . .+##$#$ % ", " .+@#$$%$%%% ", " "}; mathgl-2.1.3.1/include/xpm/first.xpm0000664000175000017500000000062712142400465017025 0ustar balakinbalakin/* XPM */ static const char * first_xpm[] = { "16 16 2 1", " c None", ". c #0000FF", " ", " ", " ", " .. . ", " .. ... ", " .. ..... ", " .. ....... ", " .. ......... ", " ............ ", " ............ ", " .. ......... ", " .. ....... ", " .. ..... ", " .. ... ", " .. . ", " "}; mathgl-2.1.3.1/include/xpm/dash_i.xpm0000664000175000017500000000063012142400465017117 0ustar balakinbalakin/* XPM */ static const char * dash_i_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ".. . .. . .. . .", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/table.xpm0000664000175000017500000000071612142400465016764 0ustar balakinbalakin/* XPM */ static const char * table_xpm[] = { "16 16 4 1", " c None", "# c #000000", "o c #777777", ". c #FFFFFF", " ", " ###############", " #ooo#oooo#oooo#", " #ooo#oooo#oooo#", " ###############", " #ooo#....#....#", " #ooo#....#....#", " ###############", " #ooo#....#....#", " #ooo#....#....#", " ###############", " #ooo#....#....#", " #ooo#....#....#", " ###############", " ", " "}; mathgl-2.1.3.1/include/xpm/system-file-manager.png0000664000175000017500000000057212142400465021526 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs × ×B(›xtIMEÕ)0,C]ZIDAT8˽’½JAÄû‘E±°I,|€€Ïႈˆh%"h­ ‚µ¥pò¾NŠxZh²·{kÍ%^îR8åüÿ;³³³â¨ÝØ‚ˆ }àIg‡¯N.I’á{Z!$×·Q Žšá¼}Дӗõ0Æ™ú¯†17:#£;úÖ”ºþб´v/FÙ·†íÕ—RÝ^ƒÁç;Z×Ì ©FÞr–S·×(Ò¿sýµœç—”#õç’õúÛ\Q4€µ<ÇË•ZØÊG¨Ú‚OýìG,Õ@êÝÿ¶0!`ì+›‡cƒÔ{¤R¤Þç>Ð8'Z;k÷‹ þLëÚTç’Â_†Ze·çÒ†IEND®B`‚mathgl-2.1.3.1/include/xpm/zoom-out.xpm0000664000175000017500000000447612142400465017475 0ustar balakinbalakin/* XPM */ static const char * zoom_out_xpm[] = { "16 16 108 2", " c None", ". c #878B87", "+ c #868C8A", "@ c #888B89", "# c #ACB6BF", "$ c #CDD6DD", "% c #E4E7E9", "& c #929594", "* c #CFD8E0", "= c #D3DDE5", "- c #A4BFDC", "; c #99B9DA", "> c #9AB9DA", ", c #A4BFDD", "' c #CFDAE5", ") c #B4C9DF", "! c #9DBDDD", "~ c #B5CDE6", "{ c #B7CEE7", "] c #B0CAE4", "^ c #9ABADD", "/ c #98B9DC", "( c #BCD1E8", "_ c #C2D6EA", ": c #C1D4EA", "< c #BAD0E7", "[ c #B2CBE5", "} c #ABC6E2", "| c #91B4DA", "1 c #868C8B", "2 c #9DBBDA", "3 c #B6CDE6", "4 c #5D85B8", "5 c #5E86B8", "6 c #5C85B8", "7 c #5B84B8", "8 c #5982B7", "9 c #5781B6", "0 c #9FBDDE", "a c #9EBBDA", "b c #878B88", "c c #8EB2D6", "d c #5983B7", "e c #FFFFFF", "f c #507DB4", "g c #86ACD4", "h c #89AED4", "i c #4E7BB3", "j c #4A78B2", "k c #878C8B", "l c #CFD8DE", "m c #A7C1DD", "n c #86ADD6", "o c #4F7CB3", "p c #89AED6", "q c #A9C3DE", "r c #D0D8DE", "s c #888B87", "t c #B1BAC1", "u c #D9E1E8", "v c #94B6DA", "w c #96B7DB", "x c #9ABADC", "y c #97B8DB", "z c #DAE2E8", "A c #B2BBC1", "B c #8A8C8A", "C c #D7DDE2", "D c #CAD8E6", "E c #A4C0DF", "F c #A6C2E0", "G c #A7C3E1", "H c #A8C4E1", "I c #D8DEE3", "J c #949895", "K c #DADFE3", "L c #E1E6EA", "M c #C7D7E8", "N c #BDD2E6", "O c #BED2E6", "P c #C8D8E8", "Q c #DFE5EA", "R c #DBE0E4", "S c #959896", "T c #9DA09B", "U c #60625F", "V c #8A8D8A", "W c #BCC1C4", "X c #DCE0E2", "Y c #E9EBEB", "Z c #BDC2C5", "` c #898C88", " . c #878A84", ".. c #B9BCB6", "+. c #BDBFBC", "@. c #61635F", "#. c #8A8C88", "$. c #8D918D", "%. c #8B8D89", "&. c #8E918D", "*. c #575955", "=. c #7A7B78", "-. c #B7B8B6", ";. c #595B57", ">. c #555753", ",. c #767873", "'. c #A0A29F", "). c #565854", " . + . . + . ", " @ # $ % % $ # @ ", " & * = - ; > , ' * & ", " @ * ) ! ~ { ~ ] ^ ) * @ ", ". # ' / ( _ : < [ } | ' # . ", "1 $ 2 3 4 5 6 7 8 9 0 a $ + ", "b % c d e e e e e e f g % . ", "b % h i e e e e e e j h % . ", "k l m n i i o o o i p q r k ", "s t u v w / x x x / y z A s ", " B C D E F G H G F D I . ", " J K L M N O P Q R S T U ", " V W X Y Y X Z ` ...+.@. ", " #.$.%.%.&.#. *.=. .-.;.", " >.,.'.;.", " >.). "}; mathgl-2.1.3.1/include/xpm/go-first.xpm0000664000175000017500000000427612142400465017434 0ustar balakinbalakin/* XPM */ static const char * go_first_xpm[] = { "16 16 100 2", " c None", ". c #3A7304", "+ c #3B7504", "@ c #3B7404", "# c #588B28", "$ c #3A7404", "% c #81AA58", "& c #C4DCAC", "* c #457C12", "= c #A6C787", "- c #BEDAA5", "; c #C6DEAF", "> c #629135", ", c #BBD6A1", "' c #B0D290", ") c #91C064", "! c #C3DDAB", "~ c #3B7604", "{ c #3B7506", "] c #86AE5F", "^ c #BDD9A3", "/ c #9DC775", "( c #8CBD5D", "_ c #8BBE5B", ": c #C2DDA8", "< c #C0DDA5", "[ c #BEDBA2", "} c #BBD99E", "| c #B8D79A", "1 c #B4D496", "2 c #487E17", "3 c #A0C380", "4 c #B1D292", "5 c #8BBC5D", "6 c #86BA55", "7 c #87BD54", "8 c #87BF52", "9 c #87C04F", "0 c #85C04C", "a c #81BE46", "b c #7CBA3F", "c c #76B539", "d c #B4D594", "e c #AECE8F", "f c #9CC673", "g c #7DB448", "h c #7DB549", "i c #80B74B", "j c #83BC4B", "k c #81BF46", "l c #79BC37", "m c #71BA2A", "n c #69B51E", "o c #65B31B", "p c #65B01D", "q c #B0D58E", "r c #A1C77E", "s c #68A92B", "t c #62A523", "u c #5FA81A", "v c #5DAB11", "w c #5CB00C", "x c #60B50D", "y c #62B80E", "z c #61B80E", "A c #5FB50D", "B c #5CAF0C", "C c #A8D280", "D c #41790E", "E c #85B25A", "F c #8FBF62", "G c #59A213", "H c #55A509", "I c #5AAD0B", "J c #64BB0F", "K c #66BF10", "L c #63BB0F", "M c #5FB40D", "N c #A9D480", "O c #6A9C3B", "P c #9CC772", "Q c #70B42D", "R c #62B90E", "S c #B0DE83", "T c #B2E184", "U c #ADDA82", "V c #AAD681", "W c #50851D", "X c #99C66E", "Y c #8AC74E", "Z c #64BB11", "` c #B1E084", " . c #3F7B05", ".. c #3F780A", "+. c #87B955", "@. c #9FD56C", "#. c #6AA136", "$. c #ACDB7E", "%. c #4E8619", "&. c #3C7604", ". . + ", ". . @ # . ", ". . $ % & . ", ". . * = - ; . ", ". . @ > , ' ) ! ~ . . . . $ ", ". . { ] ^ / ( _ : < [ } | 1 . ", ". . 2 3 4 5 6 7 8 9 0 a b c d . ", ". . e f g h i j k l m n o p q . ", ". . r ( s t u v w x y z A B C . ", ". . D E F G H I A J K K L M N . ", ". . $ O P Q w R S T T S U V . ", ". . @ W X Y Z ` .. . . . $ ", ". . ..+.@.` . ", ". . + #.$.. ", ". . ~ %.. ", ". . &. "}; mathgl-2.1.3.1/include/xpm/document-save.png0000664000175000017500000000161712142400465020430 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ 7ž*Ø¿ŒtEXtCommentMenu-sized icon ========== (c) 2003 Jakub 'jimmac' Steiner, http://jimmac.musichall.cz created with the GIMP, http://www.gimp.orggŠÇG„IDAT8Ë’MHTa†Ÿ¹ÝñæÏäLàµ1Í‘²QlQQ4&¸ÈE.B(,‚Š©ÁV-*ÊETR´( "°((j[Ð"‰DЦE™Tj†¤èÜ›ÎýùN al²6½›óÁá<œ÷=_àÈÙã'?[ÚØ¸3 T[† &ÙП?ÎÍ»çÏà 4wtí­¬U—›ƒ«kÊ:ª#…kmÏ'ý-ÃëÞçêÃ×Qâ‘7˺;ï ÿ<}¾Û;ì‰Æ¨fÚ(c¤­e#Ë+sùþ ü¡>bã›ï$y,%_FDDdàsZzÓ’ºöD/HÏ«/Òõô­´žº.ï‡åwY–%©Ž¤è†î³´<ÆÄÄá’r´À$…âÐ÷q³Dçûx†÷ŸX²¨BAAºç‚(ÁWŠí'nÌÛ±wp×ó¹Øó’‹=/x|vÈl_P¢P¾¢ëP#í»wÒ˜XÇÌŒM4¤Ñ”XÏÞÖíìi^ò"2"‘0e1.XÇÍ»ˆÇªÐ  Q_Í­{hÛ\ÃŽ¦õå,ËÂ4Mª£µ9HãªåÔÆ*¹|û!m›kص)iš8Ž“³¨(¥°mÓ41M“»ÚCÖõÙßROû¶-hšÆÔÔ¶m …æ†aPYY™Þš† <»²Û¶q‡éééy!ëýýý¸®›×ð<]×sï?‰Dò3ðåûùÂá0¥¥¥D£Q²Ù,@.íx]¥ñº:”R,‰Fs–©Žäà4ÿ§Î_“;3LÕ"bmIEND®B`‚mathgl-2.1.3.1/include/xpm/norm_1.xpm0000664000175000017500000000064712142400465017073 0ustar balakinbalakin/* XPM */ static const char * norm_1_xpm[] = { "16 16 3 1", ". c None", "+ c #7F0000", "@ c #FF0000", "................", "................", "................", "................", "................", "................", "................", ".++++++++++++++.", ".+@@@@@@@@@@@@+.", ".+@@@@@@@@@@@@+.", ".++++++++++++++.", "................", "................", "................", "................", "................"}; mathgl-2.1.3.1/include/xpm/dash_m.xpm0000664000175000017500000000063012142400465017123 0ustar balakinbalakin/* XPM */ static const char * dash_m_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ".. .. .. .. ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/edit-redo.png0000664000175000017500000000111712142400465017525 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÖ '?¸í!ÜIDAT8Ë“MkQ…Ÿ;_MŒ¤BLcƒm6ÕvÓÒ*~Tc B©8nD+‚¸p­;Á¿à~VÝu)D …ŠÅRºj¤¨ÁMu!)bL&MšÉdÆÍ'A‚gù^žÃ¹ç¾únjžnjÓQgýk[7µÂ<~`¼ÑMm.8q€<°L“––M€EÃ^è¦vx>'´T¶puXMæUŽaÙ?)}[áÊè½€€òùóòPNªÙe¼Ú§žt›5€®É¹={Vøððòáµë7c™3X•u,O#îÚ : 6ÛÎßâ„Ä¥‘»,-›(þìé³ã“±t–ú¯w$Z 4nUxEGêí:=x²{ `@ÕfM§ãÖ{²ûUv¤š"¨‰3îC0ë™c§Ù\ýÐí@è¸nFÈ‚TÃb«T÷ÖZ•ÐëL\>‚»{àtœäÑÆW¶wvYkµ-à0U4lQ4lð69‚nì7«îJ]HÀý¢a¯NàÃ3EÃ.En¢ªÈ€û ÁÁͽ²Z½¦6ØäÏ5¢$ŒÝ–Ý/íú­™ÜÔnù”Ðխϯ;v?$¸‰#ÀP6ž$Ýï¼ùE§ó/ƒß×Kº^Ï5ÞIEND®B`‚mathgl-2.1.3.1/include/xpm/mark_d.xpm0000664000175000017500000000063012142400465017125 0ustar balakinbalakin/* XPM */ static const char * mark_d_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", ". .", ". .", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " .. "}; mathgl-2.1.3.1/include/xpm/none.xpm0000664000175000017500000000062612142400465016634 0ustar balakinbalakin/* XPM */ static const char * none_xpm[] = { "16 16 2 1", " c None", ". c #000000", "................", ".. ..", ". . . .", ". . . .", ". . . .", ". . . .", ". . . .", ". .. .", ". .. .", ". . . .", ". . . .", ". . . .", ". . . .", ". . . .", ".. ..", "................"}; mathgl-2.1.3.1/include/xpm/zoom-fit-best.xpm0000664000175000017500000000464312142400465020377 0ustar balakinbalakin/* XPM */ static const char * zoom_fit_best_xpm[] = { "16 16 114 2", " c None", ". c #878B87", "+ c #868C8A", "@ c #888B89", "# c #ACB6BF", "$ c #CDD6DD", "% c #E4E7E9", "& c #929594", "* c #CFD8E0", "= c #D3DDE5", "- c #A4BFDC", "; c #99B9DA", "> c #9AB9DA", ", c #A4BFDD", "' c #CFDAE5", ") c #87A6CA", "! c #547FB5", "~ c #5B84B8", "{ c #8AAAD0", "] c #88A9CF", "^ c #5983B7", "/ c #537EB5", "( c #527EB5", "_ c #FFFFFF", ": c #90AED2", "< c #5C85B8", "[ c #507DB4", "} c #868C8B", "| c #9DBBDA", "1 c #5E86B8", "2 c #8CABD1", "3 c #87A8CF", "4 c #5982B7", "5 c #9EBBDA", "6 c #878B88", "7 c #8EB2D6", "8 c #85A7CE", "9 c #5A84B7", "0 c #86A7CE", "a c #AFC8E4", "b c #AAC5E2", "c c #7DA1CC", "d c #799FCA", "e c #7199C8", "f c #86ACD4", "g c #89AED4", "h c #6C96C6", "i c #739AC8", "j c #799ECA", "k c #A0BEDF", "l c #9AB9DC", "m c #7198C7", "n c #4D7AB2", "o c #638FC2", "p c #878C8B", "q c #CFD8DE", "r c #A7C1DD", "s c #4D7BB3", "t c #4E7BB3", "u c #6E97C6", "v c #4F7CB3", "w c #A9C3DE", "x c #D0D8DE", "y c #888B87", "z c #B1BAC1", "A c #D9E1E8", "B c #517DB4", "C c #779DC9", "D c #527EB4", "E c #DAE2E8", "F c #B2BBC1", "G c #8A8C8A", "H c #D7DDE2", "I c #96B0CF", "J c #5680B5", "K c #5681B6", "L c #7FA2CC", "M c #80A3CC", "N c #5781B6", "O c #D8DEE3", "P c #949895", "Q c #DADFE3", "R c #E1E6EA", "S c #C7D7E8", "T c #BDD2E6", "U c #BED2E6", "V c #C8D8E8", "W c #DFE5EA", "X c #DBE0E4", "Y c #959896", "Z c #9DA09B", "` c #60625F", " . c #8A8D8A", ".. c #BCC1C4", "+. c #DCE0E2", "@. c #E9EBEB", "#. c #BDC2C5", "$. c #898C88", "%. c #878A84", "&. c #B9BCB6", "*. c #BDBFBC", "=. c #61635F", "-. c #8A8C88", ";. c #8D918D", ">. c #8B8D89", ",. c #8E918D", "'. c #575955", "). c #7A7B78", "!. c #B7B8B6", "~. c #595B57", "{. c #555753", "]. c #767873", "^. c #A0A29F", "/. c #565854", " . + . . + . ", " @ # $ % % $ # @ ", " & * = - ; > , ' * & ", " @ * ) ! ~ { ] ^ / ) * @ ", ". # ' ( _ _ : < _ _ [ ' # . ", "} $ | ~ _ 1 2 3 4 _ ! 5 $ + ", "6 % 7 8 9 0 a b c d e f % . ", "6 % g h i j k l m n o g % . ", "p q r s _ t u u v _ t w x p ", "y z A B _ _ / C _ _ D E F y ", " G H I J K L M N K I O . ", " P Q R S T U V W X Y Z ` ", " ...+.@.@.+.#.$.%.&.*.=. ", " -.;.>.>.,.-. '.).%.!.~.", " {.].^.~.", " {./. "}; mathgl-2.1.3.1/include/xpm/style.xpm0000664000175000017500000000064612142400465017037 0ustar balakinbalakin/* XPM */ static const char * style_xpm[] = { "16 16 3 1", " c None", ". c #FF0000", "q c #7F0000", " ", " ", " ", " qqq qqq ", " q.q q.q ", " q.q q.q ", " q.q q.q ", " q q ", " q q ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/dash_s.xpm0000664000175000017500000000063012142400465017131 0ustar balakinbalakin/* XPM */ static const char * dash_s_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", "................", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/dialog-information.png0000664000175000017500000000153712142400465021441 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ 2:Pœ÷5tEXtComment(c) 2004 Jakub Steiner Created with The GIMPÙ‹o«IDAT8Ë•’KHTqÆ¿ÿÜ;ã½:×G&YjfR>E"Ä¡%Ô¤¢lbÊpa´²EË1ªEM¢‹ˆ %ÈIt&JJÍŠ4•Lqtœ¹w®÷õoå 5~«sàû~œs8T\ÙÔL)%) „˜ˆ1Ëú´ÿekãŸ^v}STÞ”Á0¤ïbmeZ¹½qU7àñS{z?\!&æ,¥zIWë׈–%oïµÔoß“¹c,RFg}’ZUYEÓ£m%ùYééÉ{[n=vˆ_Ë0kEIÕÕÛõç–Ìù¬¨º›·˜D§ ªN ïJh–‹æÍs;u&%srüm'˜Â$†=Wn/@ ¤Ž±,C-fÆ „PPšn(”Âèœì.*ÌÃr§ÖraÀªBã+YÑWUÍH43¦ ‰±œsW²àÈß½Õ%:åý<Ï! ©\m]ƒià !DÑtH²j2 *&X£àõK.Q 1+AIž–†E7©ª±áˆa@ ÏJ^_ F”UËŠ¤ú3’c1úÃ÷^Tt:·$)îo‹ÁjIðúƒˆxµ£­Yܰ‚™ÑzÞ ƒbs'~-‹ðÓ'ê'¼þÞá™…%Q6WìO«rÁÊaâ¯lBÇ;»úå™éùì´$ë¡kí7Ïκäþ2bX’è´gUû—r܃#ªÀúJë¯ÿƒc§«d*ùŒ:6ÉËþƒ¡Àý»‘›é©ilZN§Î̾2Òý4úÂØìPU}òz ÄYXXx—û(’é7VL6^|ŠIEND®B`‚mathgl-2.1.3.1/include/xpm/mark_l.xpm0000664000175000017500000000063012142400465017135 0ustar balakinbalakin/* XPM */ static const char * mark_l_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " .. . ", " . . ", " .. . ", " . . ", " .. . ", " . . ", ". . ", ". . ", " . . ", " .. . ", " . . ", " .. . ", " . . ", " .. . ", " .. "}; mathgl-2.1.3.1/include/xpm/go-last.xpm0000664000175000017500000000427512142400465017247 0ustar balakinbalakin/* XPM */ static const char * go_last_xpm[] = { "16 16 100 2", " c None", ". c #3B7504", "+ c #3A7304", "@ c #568927", "# c #3A7404", "$ c #C0DBA7", "% c #7EA955", "& c #C3DCAB", "* c #BCD8A0", "= c #A4C684", "- c #447B11", "; c #3B7604", "> c #C1DBA9", ", c #8EBE5F", "' c #AFD28D", ") c #BAD6A0", "! c #629135", "~ c #3B7404", "{ c #B2D393", "] c #B4D496", "^ c #B7D69A", "/ c #BAD79E", "( c #BDD9A1", "_ c #C0DCA4", ": c #8AC058", "< c #8EC25C", "[ c #9FCB76", "} c #BFDBA4", "| c #86AF60", "1 c #3B7506", "2 c #B0D190", "3 c #6CAB30", "4 c #71AE37", "5 c #76B23D", "6 c #7DB845", "7 c #83BE4B", "8 c #87C150", "9 c #8BC353", "0 c #8CC356", "a c #91C560", "b c #B4D694", "c c #A2C581", "d c #497E17", "e c #ACCF8A", "f c #59A016", "g c #589F14", "h c #5EA718", "i c #6AB226", "j c #76BB35", "k c #83C245", "l c #88C64B", "m c #88C54D", "n c #87C34D", "o c #84BF4C", "p c #B0D092", "q c #A3CA7E", "r c #4E9A06", "s c #509E07", "t c #56A609", "u c #5AAD0B", "v c #5EB30D", "w c #61B70E", "x c #66BB16", "y c #6CBC1F", "z c #71BC2A", "A c #73B930", "B c #92C560", "C c #A3C97F", "D c #52A108", "E c #58A90A", "F c #5DB10C", "G c #62B80E", "H c #66BE10", "I c #67C011", "J c #6ABB1B", "K c #99CE66", "L c #89B85B", "M c #42790E", "N c #A6CF7F", "O c #A9D480", "P c #ACD881", "Q c #AFDC83", "R c #6AC412", "S c #6CC813", "T c #80CC35", "U c #A6D777", "V c #6EA33D", "W c #3D7904", "X c #AFDD83", "Y c #6DC815", "Z c #97DC55", "` c #A3D673", " . c #52891E", ".. c #A5DC6E", "+. c #8DC459", "@. c #3F790A", "#. c #AAD97D", "$. c #6CA436", "%. c #3C7604", "&. c #4D8519", " . + + ", " + @ # + + ", " + $ % # + + ", " + & * = - + + ", "# + + + + ; > , ' ) ! ~ + + ", "+ { ] ^ / ( _ : < [ } | 1 + + ", "+ 2 3 4 5 6 7 8 9 0 a b c d + + ", "+ e f g h i j k l m n o [ p + + ", "+ q r s t u v w x y z A B C + + ", "+ q r D E F G H I H J K L M + + ", "+ q q N O P Q R S T U V . + + ", "# + + + + W X Y Z ` .; + + ", " + X ..+.@. + + ", " + #.$.%. + + ", " + &.%. + + ", " ; + + "}; mathgl-2.1.3.1/include/xpm/mark_n.xpm0000664000175000017500000000061112142400465017136 0ustar balakinbalakin/* XPM */ static const char * mark_n_xpm[] = { "16 16 1 1", " c None", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/mark_p.xpm0000664000175000017500000000063012142400465017141 0ustar balakinbalakin/* XPM */ static const char * mark_p_xpm[] = { "16 16 2 1", " c None", ". c #000000", " . ", " . ", " . ", " . ", " . ", " . ", " . ", " . ", "................", " . ", " . ", " . ", " . ", " . ", " . ", " . "}; mathgl-2.1.3.1/include/xpm/go-down.xpm0000664000175000017500000000411412142400465017243 0ustar balakinbalakin/* XPM */ static const char * go_down_xpm[] = { "16 16 93 2", " c None", ". c #3A7404", "+ c #3A7304", "@ c #C7DEB0", "# c #C3DCAB", "$ c #BFDAA6", "% c #B1D291", "& c #A3CA7E", "* c #C8DFB1", "= c #8DBE5F", "- c #86BA55", "; c #71AE37", "> c #4E9A06", ", c #C7DFB1", "' c #78B241", ") c #8CBD5D", "! c #85B954", "~ c #7CB447", "{ c #3B7504", "] c #3B7604", "^ c #C5DDAD", "/ c #89BC59", "( c #82B850", "_ c #6FAD34", ": c #568927", "< c #C2DBAA", "[ c #C6DEAF", "} c #C2DCAA", "| c #88BD56", "1 c #82BA4D", "2 c #63AA1F", "3 c #53A208", "4 c #A5CE7F", "5 c #A4CD7E", "6 c #A4CC7E", "7 c #9FC778", "8 c #4B8218", "9 c #3B7404", "0 c #7AA54F", "a c #B8D69B", "b c #8DBE5D", "c c #8AC058", "d c #87C051", "e c #7EBC42", "f c #5AAB0C", "g c #59AB0B", "h c #59AA0A", "i c #58A90C", "j c #97C768", "k c #659A34", "l c #99BF75", "m c #A9D183", "n c #89C252", "o c #87C34D", "p c #69B61E", "q c #5FB40D", "r c #5EB30D", "s c #89C54E", "t c #84B755", "u c #40780D", "v c #B1D390", "w c #98CC65", "x c #7DC23B", "y c #62B90F", "z c #65BC0F", "A c #65BD10", "B c #7BC532", "C c #9FCE71", "D c #3F780A", "E c #578C26", "F c #B7DB94", "G c #79C331", "H c #67C011", "I c #6AC512", "J c #73C91F", "K c #A8DB78", "L c #52891E", "M c #7AAA4C", "N c #A0D66D", "O c #69C412", "P c #6ECB14", "Q c #A5E06C", "R c #72A83F", "S c #3C7604", "T c #8DBF5D", "U c #8DD14C", "V c #90D54E", "W c #92C55F", "X c #427A0E", "Y c #A2D174", "Z c #A3D375", "` c #427B0E", " . c #568B24", " . + + + + + + . ", " + @ # $ % & & + ", " + * = - ; > & + ", " + , = - ' > & + ", " + @ ) ! ~ > & + ", "{ + + + ] ^ / ( _ > & ] + + + { ", " : < [ ^ } | 1 2 3 4 5 6 7 8 ", " 9 0 a b c d e f g h i j k 9 ", " . l m n o p q q r s t { ", " u v w x y z A B C D ", " E F G H I J K L ", " { M N O P Q R S ", " ] T U V W S ", " X Y Z ` ", " . . ", " S S "}; mathgl-2.1.3.1/include/xpm/mark_r.xpm0000664000175000017500000000063012142400465017143 0ustar balakinbalakin/* XPM */ static const char * mark_r_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " . .. ", " . . ", " . .. ", " . . ", " . .. ", " . . ", " . .", " . .", " . . ", " . .. ", " . . ", " . .. ", " . . ", " . .. ", " .. "}; mathgl-2.1.3.1/include/xpm/show_on.xpm0000664000175000017500000000065012142400465017346 0ustar balakinbalakin/* XPM */ static const char * show_on_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #FF3F00", " ", " ", " ............ ", " . .++++++. . ", " ...++++++... ", " . .++++++. . ", " . .++++++. . ", " ...++++++... ", " . .++++++. . ", " . .++++++. . ", " ...++++++... ", " . .++++++. . ", " . .++++++. . ", " ...++++++... ", " . .++++++. . ", " ............ "}; mathgl-2.1.3.1/include/xpm/mark_t.xpm0000664000175000017500000000063012142400465017145 0ustar balakinbalakin/* XPM */ static const char * mark_t_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", ". .", "................", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/help-faq.png0000664000175000017500000000135012142400465017345 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆŸIDAT8mSMK”Q~νFf”¢ö%â­,sL2œ\ÆÐÇÖà¢ÈÒQiQó³g0EsåR‚AG2”Ô¤²¦EmQÍŒ2:ï|Ý÷¶yµÎê<ç>çœç\)%Ù]]µ$p5©H‚ªrMÄô•ÆÆ–"’8€gOuYIiµÅR«0ƺ®ÓäÔÛ¼ŸOö¾âÉE&Õ„Ð'ƒÁð˜LˆëK­ íA×c€÷ó çRÔ”ÜúúûÄù¡z!2fÜ3·?ZÑh||œon{Ý 7•kaíPûé'Ó¢ù…U7ª¾M¬$gÿ^·JsPpþ4œ}Ž ²¹½ÑRz¥¬ÒRS«üGIuÏN}X\÷*«œ+Æ« ž]è TŸ1¼âÜ„륣.‚snIJwVóY(œJœs<_58‹Å… ƒ@ƒµø˜¡­®RÊÄ‚¡¦¨&¥ôëºÎ#”c¬x<®¿ìwAÓB "‡ ‹!&û»¹Ù0 d[Ýåd+a2©¿Bû‘ǃïöŸ€H8Œ¦¦¦y–w!¿cùã’«×i÷wv?G_¿óÒÐðô¸x`³Ù<‘‡££#¾õu¯~lÆÚ{Ú+z]/>ß_]J)ΞC¨³Ó–áèívttµM.$£µ±u1 ™G_l­oxÅÑ|ssW0-õ” sWpvû³L°ô©h4jn±=9Æ“RÉ"3Ì4÷IEND®B`‚mathgl-2.1.3.1/include/xpm/mark_of.xpm0000664000175000017500000000063112142400465017307 0ustar balakinbalakin/* XPM */ static const char * mark_of_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ...... ", " .......... ", " ............ ", " .............. ", " .............. ", "................", "................", "................", "................", "................", "................", " .............. ", " .............. ", " ............ ", " .......... ", " ...... "}; mathgl-2.1.3.1/include/xpm/mark_v.xpm0000664000175000017500000000063012142400465017147 0ustar balakinbalakin/* XPM */ static const char * mark_v_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", "................", ". .", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " .. "}; mathgl-2.1.3.1/include/xpm/go-previous.xpm0000664000175000017500000000424012142400465020150 0ustar balakinbalakin/* XPM */ static const char * go_previous_xpm[] = { "16 16 98 2", " c None", ". c #3B7504", "+ c #3B7404", "@ c #598B29", "# c #3A7304", "$ c #3A7404", "% c #7FA956", "& c #C8DFB1", "* c #437A10", "= c #A0C37E", "- c #BDD9A3", "; c #CAE0B5", "> c #5D8D2E", ", c #B3D296", "' c #AACF88", ") c #91C064", "! c #C7DFB1", "~ c #3B7604", "{ c #3A7405", "] c #7DA855", "^ c #B5D497", "/ c #94C26A", "( c #87BA57", "_ c #8BBD5C", ": c #C4DDAC", "< c #C5DEAE", "[ c #C6DEAE", "} c #C2DCAA", "| c #457C13", "1 c #97BD72", "2 c #A7CD84", "3 c #80B64D", "4 c #7DB549", "5 c #82B74F", "6 c #85B954", "7 c #88BB58", "8 c #89BC59", "9 c #8ABC5A", "0 c #BFDAA6", "a c #5A8C2C", "b c #A5C982", "c c #90BF63", "d c #70AD35", "e c #75B23C", "f c #7BB642", "g c #7FB947", "h c #7AB742", "i c #71B035", "j c #65A827", "k c #5EA31D", "l c #60A420", "m c #68A92B", "n c #B8D69B", "o c #578927", "p c #9DC477", "q c #87BB54", "r c #66AC22", "s c #66AF20", "t c #62AF17", "u c #5CAD0E", "v c #59AC0B", "w c #58A90A", "x c #55A409", "y c #519E07", "z c #4E9A06", "A c #A3CA7E", "B c #41790E", "C c #87B65B", "D c #96CA65", "E c #65B519", "F c #60B50D", "G c #61B70E", "H c #61B60E", "I c #5EB30D", "J c #5AAD0B", "K c #56A609", "L c #6EA23D", "M c #A5D576", "N c #7CC833", "O c #69C211", "P c #67C111", "Q c #AEDB82", "R c #ACD881", "S c #A9D480", "T c #A6CF7F", "U c #52891E", "V c #A3D572", "W c #97DA54", "X c #6EC915", "Y c #B0DE83", "Z c #3D7904", "` c #3F790A", " . c #8DC459", ".. c #A5DC6E", "+. c #3C7604", "@. c #6BA236", "#. c #A9D77D", "$. c #4D8419", " . ", " + @ # ", " $ % & # ", " * = - ; # ", " + > , ' ) ! ~ # # # # $ ", " { ] ^ / ( _ : < [ < : } # ", " | 1 2 3 4 5 6 7 8 9 8 7 0 # ", ". a b c d e f g h i j k l m n # ", ". o p q r s t u v w x y z z A # ", " B C D E F G H I J K y z A # ", " . L M N O P Q R S T A A # ", " ~ U V W X Y Z # # # # $ ", " ` ...Y # ", " +.@.#.# ", " ~ $.# ", " . "}; mathgl-2.1.3.1/include/xpm/mark_x.xpm0000664000175000017500000000063012142400465017151 0ustar balakinbalakin/* XPM */ static const char * mark_x_xpm[] = { "16 16 2 1", " c None", ". c #000000", ". .", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " .. ", " .. ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", ". ."}; mathgl-2.1.3.1/include/xpm/edit-delete.xpm0000664000175000017500000000540112142400465020056 0ustar balakinbalakin/* XPM */ static const char * edit_delete_xpm[] = { "16 16 136 2", " c None", ". c #2E3436", "+ c #64696A", "@ c #909894", "# c #E9EAE3", "$ c #EEEFEC", "% c #EFF0EE", "& c #D2D5D3", "* c #BFC1C1", "= c #979A9B", "- c #424749", "; c #D9DBD6", "> c #C7CAC4", ", c #6E7672", "' c #424745", ") c #242727", "! c #313432", "~ c #7A837E", "{ c #B3B8B3", "] c #CBCECB", "^ c #CBCFCB", "/ c #D6D9D3", "( c #D2D5CD", "_ c #DADCD6", ": c #AEB3AD", "< c #5C6362", "[ c #353939", "} c #373A38", "| c #585E5B", "1 c #8D948F", "2 c #AAAFA7", "3 c #D2D6D2", "4 c #B5BAB5", "5 c #E5E5E1", "6 c #F0F0ED", "7 c #ECEDE9", "8 c #E3E5E0", "9 c #DDDED9", "0 c #CBCEC7", "a c #B6BBB3", "b c #A2A8A0", "c c #B3B8B0", "d c #BABFB7", "e c #ABB0A8", "f c #CBCECD", "g c #E0E2E2", "h c #E6E6DD", "i c #F4F4EF", "j c #F4F3F1", "k c #F4F4F1", "l c #F3F4F0", "m c #F0F0EB", "n c #E5E6E0", "o c #D6D9D2", "p c #919894", "q c #8B8F8D", "r c #898D8D", "s c #9A9C9C", "t c #C2C5C4", "u c #BCC0BF", "v c #D9DBD2", "w c #DFE0D8", "x c #D9DBD4", "y c #CCD0CF", "z c #848C89", "A c #969C99", "B c #86898A", "C c #53585A", "D c #5A5F60", "E c #8B8F8F", "F c #ADAFB0", "G c #E4E5E5", "H c #E3E5E5", "I c #E3E5E4", "J c #A1A4A4", "K c #686D6E", "L c #3C4041", "M c #4C5052", "N c #6B7171", "O c #323838", "P c #2E3434", "Q c #2B3132", "R c #2B3133", "S c #292E30", "T c #282D2F", "U c #272C2E", "V c #393D3C", "W c #939594", "X c #AFB5B3", "Y c #B0B6B4", "Z c #69706E", "` c #979F9B", " . c #6A716D", ".. c #393E3B", "+. c #5F6764", "@. c #333734", "#. c #616866", "$. c #989B99", "%. c #B7BBBB", "&. c #D5D8D6", "*. c #818A88", "=. c #D1D4D2", "-. c #7E8785", ";. c #515756", ">. c #899290", ",. c #434844", "'. c #6E7774", "). c #A0A3A1", "!. c #D6D9D7", "~. c #858D8A", "{. c #D8DBD8", "]. c #A2A8A3", "^. c #555B59", "/. c #979E9C", "(. c #454B47", "_. c #6F7875", ":. c #D4D7D5", "<. c #838C89", "[. c #D8DBD7", "}. c #9B9D9B", "|. c #AFB1B0", "1. c #CCCFCF", "2. c #B9BBBB", "3. c #DDDFDC", "4. c #A0A7A4", "5. c #878B88", "6. c #929595", "7. c #727373", "8. c #575C5E", "9. c #9B9C9B", "0. c #D5D8D7", "a. c #CFD2D0", "b. c #BFC0BF", "c. c #BEC1BF", "d. c #878787", "e. c #54595A", " . . . . . . ", " . + @ # $ % & * = . ", " - ; > , ' ) ! ~ { ] ^ . ", " . / ( _ : < [ } | 1 2 3 4 . ", " . 5 6 7 8 9 0 a b c d e f . ", " . g h i j k l m n o p q r . ", " . s t u v w x y z A B C . . ", " . D E F G H I J K L M . ", " . N O P Q R S T U V W . ", " . X Y Z ` ...+.@.#.$.. ", " . %.&.*.=.-.;.>.,.'.).. ", " . %.!.~.{.].^./.(._.).. ", " . %.:.<.[.].^./.(.'.}.. ", " . |.1.2.3.].^.4.5.6.7.. ", " . 8.9.0.a.b.c.d.e.. ", " . . . . . . "}; mathgl-2.1.3.1/include/xpm/zoom-original.xpm0000664000175000017500000000456312142400465020467 0ustar balakinbalakin/* XPM */ static const char * zoom_original_xpm[] = { "16 16 111 2", " c None", ". c #878B87", "+ c #868C8A", "@ c #888B89", "# c #ACB6BF", "$ c #CDD6DD", "% c #E4E7E9", "& c #929594", "* c #CFD8E0", "= c #D3DDE5", "- c #A4BFDC", "; c #99B9DA", "> c #9AB9DA", ", c #A4BFDD", "' c #CFDAE5", ") c #B4C9DF", "! c #9DBDDD", "~ c #B5CDE6", "{ c #5C84B8", "] c #5B84B8", "^ c #B0CAE4", "/ c #9ABADD", "( c #98B9DC", "_ c #BCD1E8", ": c #5F87B9", "< c #FFFFFF", "[ c #5A84B7", "} c #ABC6E2", "| c #91B4DA", "1 c #868C8B", "2 c #9DBBDA", "3 c #B6CDE6", "4 c #5D85B8", "5 c #5982B7", "6 c #A7C3E1", "7 c #9FBDDE", "8 c #9EBBDA", "9 c #878B88", "0 c #8EB2D6", "a c #5A83B7", "b c #5681B6", "c c #9EBDDE", "d c #86ACD4", "e c #89AED4", "f c #8AAFD7", "g c #94B6DB", "h c #547FB5", "i c #507DB4", "j c #85ACD5", "k c #7BA5D2", "l c #878C8B", "m c #CFD8DE", "n c #A7C1DD", "o c #86ADD6", "p c #89AED6", "q c #4E7BB3", "r c #4F7CB3", "s c #8BB0D7", "t c #A9C3DE", "u c #D0D8DE", "v c #888B87", "w c #B1BAC1", "x c #D9E1E8", "y c #94B6DA", "z c #96B7DB", "A c #527EB5", "B c #537EB5", "C c #97B8DB", "D c #DAE2E8", "E c #B2BBC1", "F c #8A8C8A", "G c #D7DDE2", "H c #CAD8E6", "I c #A4C0DF", "J c #A6C2E0", "K c #5781B6", "L c #D8DEE3", "M c #949895", "N c #DADFE3", "O c #E1E6EA", "P c #C7D7E8", "Q c #BDD2E6", "R c #BED2E6", "S c #C8D8E8", "T c #DFE5EA", "U c #DBE0E4", "V c #959896", "W c #9DA09B", "X c #60625F", "Y c #8A8D8A", "Z c #BCC1C4", "` c #DCE0E2", " . c #E9EBEB", ".. c #BDC2C5", "+. c #898C88", "@. c #878A84", "#. c #B9BCB6", "$. c #BDBFBC", "%. c #61635F", "&. c #8A8C88", "*. c #8D918D", "=. c #8B8D89", "-. c #8E918D", ";. c #575955", ">. c #7A7B78", ",. c #B7B8B6", "'. c #595B57", "). c #555753", "!. c #767873", "~. c #A0A29F", "{. c #565854", " . + . . + . ", " @ # $ % % $ # @ ", " & * = - ; > , ' * & ", " @ * ) ! ~ { ] ^ / ) * @ ", ". # ' ( _ : < < [ } | ' # . ", "1 $ 2 3 4 < < < 5 6 7 8 $ + ", "9 % 0 ^ [ a < < b c | d % . ", "9 % e f g h < < i j k e % . ", "l m n o p q < < r s p t u l ", "v w x y z A < < B ( C D E v ", " F G H I J K K 6 J H L . ", " M N O P Q R S T U V W X ", " Y Z ` . .` ..+.@.#.$.%. ", " &.*.=.=.-.&. ;.>.@.,.'.", " ).!.~.'.", " ).{. "}; mathgl-2.1.3.1/include/xpm/view-refresh.png0000664000175000017500000000162012142400465020256 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<"IDAT8mRMlTe=÷{ï•ù­3m[¨¶ †¦¡¢3јF7Ä`X¨¼DŒð³a M ta¢à£1L%˜47ü!’Ô«qÑÐ’ÔÒÆF;´èÌ´óÞû¾ë¢ó’Yp’›ÜÅ=''ç\bføHe²Ï4èÚÞô¤jÕ„˜'¸ãÊ.Ø–éÖÝp‚|t&»EÓÄ@O×*}]g³ÑÖ˜Q(V02v¿|gú¡'ï¶-ólzW6ÃŒïĈ™‘Êd׺ÙÚ׊ǂЉÐ Ð 3ÅEÏW ÅŠ 5ô>.W f43ãÕ=gOõ¬kû40ĭѪ®C×äšÕ±Å¾ôóáÞõ­¤ ‚„_®M¨·^l¾¾ê8®lÑ€™?¼3]®§X1/2ã3Ç•gƧg“÷æ^ïhîÚ·uS( áãw»D- H©ÂUÇó’/<ûƒ”ê€AÛ2ó¶e^ùãÛ^,ìÝ}ìî?,az¦ © ,¯ªé©Hc$ðUgûÊnSuiëº&vn{'év>E¢q4A¾Ökwñ_?ß¼€'ã´'Õk‡'«Wí©%ß¼ãªö[¨0j®›ßìà>AX·-óž/à?ú¾˜íÔ©óå¤T=¶eëY‡³c«J奎ßGÆoˆé@îþW†!'ÿ$_Ô“S™l˜ˆîön\{&?3— ¨ D‰V·„ñåþ·©­%rì•=?ßJe²éšÆö†®çò³ò…âëšF®m™®Xv@x\qqahŠ=Ѿ2ŠÃ;Þ}З|¹µ9r-½kÀ5tñT2>÷hMAÒ„ÿ‘¨ÿÇ¡¥‰ÜÜä¥áÉÎÌ–MáD,ˆîµ z®=*–]ü;[‚ãx 8wy´âIu–I1MäæNß<¹-ù °ðIÿ÷7æÜ, ßÎ#?[FÕ•D(Ì—ä¹Ë£‹R©Œm™cà·ð€í¶er-0À{ †¶W1oRÅ ]›!ÂPÕ‘‡lËüÛ÷.UvjeÌÆIEND®B`‚mathgl-2.1.3.1/include/xpm/media-seek-forward.png0000664000175000017500000000141612142400465021321 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ '§Ffñ›IDAT8˽“;LqÇ¿ÿ{ôîÚ+RÀÞµ@!>hDÓD…ÁQ\Œ&JTÒU!,¾B Ú¸%ECtTpG|@LxÔ` £ôz×ëq- Qa3~§_>ßä3}À?Hf.íÁ  € À  ´ÕÉö [œî*ðxÜÞöö¶ÇqR…BAæyž“$Éq ×Övª·X,fj ‚P²íÒ_‚PmÈ«•‡Šâïöû÷Ûºž[d¦\–eR]TwE¥ÏmùUU‹UUUަi;"¶1öz<î‹ÏŸ ‹“3SÍe²|Öã‘–r9#]]<ÿbxDš›ûDáÏòz*­---v}}ÝF<§¤««+ฅØã'"a2kk´çÚUÓ4Œ)€œx4ã C ë:F{3Zfm1™LÝ\Ž/o:Òôƒ ¨* Ž0 ‚${wîËiM;Þ`¶9dz¤¿o "«¯—õõßzpøàw,ëºÀ)ªŠ´–!@&«A%€R$’«Ôëõnf-«AÐMŠD2AÝ’È—JNyE¹œ¢(0 :†EP­aˆÅ†¬D2µäøCÛܲò{ûFŸý:»jšù» M1²Î©ªŠDê'œ¢ƒÑÑ{ai>ïóU^9ÞZÿræóÔ‚Støé™OÖÄø[Ï™ƒÇŽF(¡zç™Î‰ññÀë±W‹µµÕÄ竼íóWÞñp²M€Íé/“ó o˜æÓÖæÈu·[JÄŒD";£â”€ –aÞ‡—‚ºU OAL”­Ž­|<ÝÑq¹>X·B²¡PhóÏ!˲[g€!Ib l»àÀSuQ6ö|J©—RJváþG~6œH~„€HIEND®B`‚mathgl-2.1.3.1/include/xpm/edit-select-all.png0000664000175000017500000000067112142400465020625 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<KIDAT8•“=NÃ@…ßX¶”Ž  …Å.‰ ÷ Á ¢@ I.A  „Ú‰ä)±w÷Q„5þ‰2ͬ½3ß¼7Ò I<> FZ«Kl®ëŽo®ïº ‰þàÞh­iŒ¡1†Zkj­©”¢RŠY–1Ë2¦iÊ4M¹X,ø0ì’p/ï Ddù£’‹qv¸“÷XD"‚$IJžïc:–¾KVìäÊi"‚ šwÑxSØ8Ùß*Ý9ÿQÇ1â8Îm6*ø¾ŸÚâN§ó7ÑqšRl®æFIÀd2©Ù°EÇÉkWZh·Û%Ç{xýøÂùÑ.Þ>¿×+¨mól6[¹äµÂ0°ô."µAµ%AP[dQQU­¤œl×$¶Z-Ìçó<@!‰áó`¤ÔfÏÙó¼qïê¶ûF2—®ót ªIEND®B`‚mathgl-2.1.3.1/include/xpm/document-properties.png0000664000175000017500000000072012142400465021660 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ  ÆÒ+T]IDAT8Ë­“½jÂP†Ÿ¯º ‘l‚"Þ‚fuèØ¡×à-8(qÈ%ˆ.]tiéÚÁQpõNDè¢dМÕ)vƒ1¢}§ÃûqžïïÇßA¼ñœÞûýþ®ëŸ•ëºG€ì%r¿ßE"û糈Éd0M3Ž%Qáû~âÂ¥D„z½žð²×Õj5z½^ìu:J¥R ðrÁ÷}V«ív­5Zk<ÏC)…Rê>`:bÍf“n·‹eYXVjµWwpθX,ð<A$Ëvû{s—©N-f³Åb1ŽFAð¸‚ËÞÃ0$ C´Ö†Ã!»ÝîþZ­ŽãÄm6&“ …B\.Ç|>§R©ÜˆJ©Ô;p‡õzaäóùÇïà4¸$¤Ñh°\.ï.‡v-Ó4)—Ë)? `ÛöÏ`0x}æ+Ú¶ýÉèàŽ£æm1›$IEND®B`‚mathgl-2.1.3.1/include/xpm/rotate_on.xpm0000664000175000017500000000064712142400465017672 0ustar balakinbalakin/* XPM */ static const char *rotate_on_xpm[]={ "16 16 3 1", ". c None", "# c #800000", "a c #ff0000", "......#########.", "......#aaaaaa#..", ".......#aaaa##..", "..###..#aaaaa#..", ".#aa#..#aaa#aa#.", ".#aa#...#a##aa#.", "#aa#....#a#.#aa#", "#aa#.....#..#aa#", "#aa#........#aa#", "#aa#........#aa#", ".#a#........#a#.", ".#aa#......#aa#.", "..#aa##..##aa#..", "...#aaa##aaa#...", "....##aaaa##....", "......####......"}; mathgl-2.1.3.1/include/xpm/folder.png0000664000175000017500000000110512142400465017121 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<ÂIDAT8¥1k“Q†ŸsïW,)âຜ2vë.™‚ÐÕ_ »Ð?àâVWÿ‡(Ĺ`ÄY)Š$’Pi¿&%ß½çžã&6XZÁw9Ü{Ïyîy_év»üªÝÝÝ7îþøš· w2 Žn˜Y¯×ëÝ33Ì wàôôô~¿ß?ìt:Ï—Í9gBe8~¬ëºT9gWU&“ ¥”$„Àöövx»„L§Óª”òª®ëƒ+€Œªbfkv»ÝÚÜܤÕjc$„Àh4b<?\YPUS-~HÌš??àÌùêÖ={ûììíǾU9gO)1mœ—Ï!rÙx5)_;Ô9xý~§J)™ªN ðéøìê˲ž|´·@Ü+U%猈ƒãu#ëÊj¸9‚x•s¶œ3¸Dظ Åi²QÌ AÕÅóT€ù¢¹¸cæ˜;Yui¡I¶¸jA¤bR7 ÍiÔn´PEar6_TÕRJà‘/£sN¦ g¾®„Ÿg—DÄÌ ¡ÉFëNukˆ"ÂER€R¹;Ç'†|þ:ºux©ÙlŽÀQe[ýwÇwŸ‚óãûøŸ"ŒE‹ßG!žc§1IEND®B`‚mathgl-2.1.3.1/include/xpm/edit-cut.png0000664000175000017500000000144712142400465017375 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ 1hAd^´IDAT8Ë…“]H“QÇŸsÞw¯¯ÛÔ}¥ÛløhxÑUta”IWEÞd"hi–X¨i•¥}ˆ”èôJ$º µ0m36òcï6u›îu_ïvÎÛMÎaZçîüÿ?þÏóœƒ å<ë}rÞó<ïmºy»t×ϲì¥;Í­ºT§^†»ÕجF£Ë}ý¯;S=«¸pæt¹æÅ«žO!üO‡×ÕÖWBŽíèO{—™sͦíˆ(¥'`ŒCKK¿€OKC±X¬t'˲S………àq{(¥Ôñ¯6› V]+¨®¶¾8‘HœêyÞ=PRR¢@€ÁátXÜm½÷c¼¼¸h>G’$×ëô×d °¾±F`¢­¥ãáJiåÂymÍ7šTñD‰bæææ$èÚ[ÿ ­¥cc c #F49A9A", ", c #E67674", "' c #D55653", ") c #BE3936", "! c #F8B3B0", "~ c #F49A98", "{ c #D45552", "] c #F8B2AE", "^ c #F39D99", "/ c #E67572", "( c #F8B0AC", "_ c #F39B97", ": c #E67772", "< c #D35653", "[ c #F8AEAA", "} c #F39795", "| c #E57471", "1 c #D35451", "2 c #F8AEAC", "3 c #F8B1AC", "4 c #FBCAC7", "5 c #4C8ECC", " .++++++++++++. ", " +@@@@@@@@@@@@# ", " +@@@@@@@@@@@$# ", " +@@@@@#####@$# ", " +@@@@@%@@@@@$# ", " +@@@@@&*@@@@@# ", " +@@@@@&=-@@@@# ", " +;>,')&==!@@@# ", " +;~,{)&===]@$# ", " +;^/{)&====($# ", " +;_:<)&===[@$# ", " +;}|1)&==2@@@# ", " +@@@@@&=3@@@@# ", " +@@@@@&3@@@@@# ", " +@@@@@4$$@@@@# ", " .############5 "}; mathgl-2.1.3.1/include/xpm/go-up.png0000664000175000017500000000121412142400465016676 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<IDAT8•“OhAÆ¿7»3Ù…zhLÿÑ‚íÁ@*¨ÐÕŠhDbE-rkJÉIbÁ«ÇR‘ EO¥BñâM*^DPÐC)´*•”4‰¦š&ÙÙQ¬!©ößûæÇ|ß›!­5ÚÕÉ›|–f½évÖnà¸<ÝßIöuL:.Oï à¸<û²WÎLÇF“Á€f—Gÿ ฼„ʼnsÓÖ–—Ç–·‰øÈ% „EÇåÿáÑèp¢§74HŸKð±ô:Ñ ÂÃ]ŽËÓý"‰³GÇùJþ Æa2ŽWk ˆ ¡ý=‰æ<ØŽÃQÁíl*áÚëåehò „‰:}Ç6ñ.ÿN_ š¦ø+¶Ó÷ÔXÆRä¡"Kà(ËuÛ@A®¢¨VqþÔE‹ØŸ<Øoßñcã݇úb”¯¬Áä87PQT¯6ƒ°–¿½@¸7DG‡‰5ò ‘Œ™èŽdoLܱ@A‡‡×¹¼-<ƒd#$2ÐZC) ^¯áñÓùJ±´9cCêSnÅž¹w¹á‰£z÷ú«,sðmpÁÀL‚Á snWeM[¿ì‰!e.ÍzNÓ&´Ö ¥ú0ƒ`ph@dM[/ç<Úõ€Ò>~Ô‹+û²® Uë?c¶júJ¢ZÛ†25 |Ið½=¤/¼b1ö lܺ?n%&ÂFsï'0÷Å۶К"IEND®B`‚mathgl-2.1.3.1/include/xpm/zoom-in.png0000664000175000017500000000151112142400465017237 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<ÆIDAT8•“ßK”YÇ?ç}Ï;:?œi(“6grh³±¬ah× ÔÒ"ú±+ÑÅþ]D ýºXA º-ºˆR"¤›-+3½(+(¢4‹ÒŠÍqwt­°©yýõ¾óž.¶)Ó‹è{uÎóÀç|yžïJ)rjjn (¡Õ+¡W •] „Þ/T¶[(çØ†ƒiæHäM͵Ù%‘pH}ü7žáïWIûÅ“{i”ýû†ƒóMÍ•oàÒúªmiô%'1gàqéÄ–æƒcÑÓÝ>1a¦› ÑÝ^—!oVÖþºàß´bpÌ¢0àáòg¼J³¶ôžN‚²Ò—ƒO·Ü¾}ãdÅ/ë§4%´ýÑX"ˆfðÏ»,Å‹¼´uöÓr¨†ÖC5´uöô¼|mf%Jhõ9š²:ÉC&¡Eδ÷2{°Ê ×ãwK™DÂ!©„^•ëK¡²åEAéoéºÒǹõ_MùÜ‘ÿﻎ^&QfsY!¹ h¹ƒe;˜SöÜ-}ÖŒå kóë¡÷½N›¡…n²ñvnà¯?·°óH;JÁÆD”pa>oÒ&ÙÿÙPvW29lÇÃ^ünImŠ䬧¤¦±uC)~ÁÚbÉáa[(»û‹åxtwïò’Hab™ÁÑiêªcìùã*u›ÊPJ]ì±-žôÞ™=1/H>ÿ‚K›k¶{òòòH¥&¬\4Š 4lk†ÎŽ‹äçvÏÍ[S¦™ÙÒvþ­ÙQ®Ôtã|ü§Ÿƒáâ,ðºø`N2”¶ïßë™tÛÇó¤î¢µµÅÌd2›ÄœÏä×4}¿nÕŽm—èRöÙ–Õ•J¥NŒŒ ”,+ñ|¬YçlË™¯ßÒî=uÀÕH$ì[¹²Œk×:ÞàdpZ±Ø÷%£'?>~IEND®B`‚mathgl-2.1.3.1/include/xpm/oper_d.xpm0000664000175000017500000000063012142400465017140 0ustar balakinbalakin/* XPM */ static const char * oper_d_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " . ", " . ", " . ", " . ...... ", " . ", " . ...... ", " . ", " . ", " . ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/diff.xpm0000664000175000017500000000062612142400465016605 0ustar balakinbalakin/* XPM */ static const char * diff_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .. ", " . . . ", " . . ", " .... . ", " . . . .. ", " . . . . . ", " .. . . ", " . .... ", " . . . ", " . . . . .", " . .. . ", " . .", " ", " "}; mathgl-2.1.3.1/include/xpm/zoom_in.xpm0000664000175000017500000000072212142400465017344 0ustar balakinbalakin/* XPM */ static const char *zoom_in_xpm[]={ "16 16 6 1", "# c None", ". c #000000", "a c #000080", "c c #804000", "b c #d3e4e8", "d c #ffff00", ".##...##...##...", ".####aa#########", ".##aabbaa#######", "##abbbbbba#####.", "##abbbbbba#####.", ".abbbbbbbba####.", ".abbbbbbbba#####", ".#abbbbbba######", "##abbbbbba#####.", "###aabbaaccc###.", ".####aa##cddc##.", ".########cdddc##", ".#########cdddc#", "###########cddc.", "############cc#.", "...##...##...##."}; mathgl-2.1.3.1/include/xpm/prev_sl.xpm0000664000175000017500000000070612142400465017346 0ustar balakinbalakin/* XPM */ static const char * prev_sl_xpm[] = { "16 16 5 1", " c None", ". c #00007F", "+ c #007FFF", "@ c #0000FF", "# c #003F80", " ", " .. ", " .+. ", " .++. ", " .+@++. ", " .+@+@++.... ", " .+@+@+@+@+@. ", " .+@+@@@@@@@@. ", " .@@@@@@@@@@@@. ", " .#@#@@@@@@@@. ", " .#@#@#@#@#@. ", " .#@#@#@.... ", " .#@#@. ", " .##. ", " .#. ", " .. "}; mathgl-2.1.3.1/include/xpm/accessories-calculator.png0000664000175000017500000000125612142400465022307 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ /]ÎJ§5tEXtComment(c) 2004 Jakub Steiner Created with The GIMPÙ‹oúIDAT8Ë“ÁjSA†¿93Á^ÒÖ’6Zm uaRHÚnÄ¥¯JEtãVÜ îÄ'Pð=¤º,ZÛ$ÍmÀ‚ŠJ‹¨íÅ„crç¸H¼¥‹"v6ÃðÏ|sþÿ̘¥åÒC ÌÙFÙ,-—ôÎÝÛg:ýìésÜßÅæÖËS7¶ZG¤Óívk…¡¡s,.Ü84›§>¼ßÃZ!:lÑlqýÆ\¢%€™™¹SSS9Œ1¨*ÆŒ1‰f––K5Û<¸ï¿ü¯>zÂ¥ ™~Ýnòêc~u:}Uý@DŽ-ÜZYáÕÚ ¼‡‹““|ÝßÇû˜‘óc´~F¨÷éŒÑá"†þ •­7\EU Ã|>µ–0 ÉårˆFŰ8_$•JÑív©Õ+H»ÝÆÇUMBˆã0t:¼÷xU¬µè`N,\™šáõú:ÃD6ËÎNïcÆ2ã¼ÛÝUÆ2(P«ÕHøüé#Åb¡o¡Ñ —»†sŽz½Î|±ˆˆP­ÖpÎQ(’*7+È vœsxïñ½ÖZœsˆHÒwôKO¥R'»0yyšÊæ[À0žÍ²]¯ã¬%=<ÌvbT ~Ú<::JE'_âüÂÖZâéi `DÐA€F„½½/|ÿñÃè`rP®V7Îüÿ„\ËYÌÒIEND®B`‚mathgl-2.1.3.1/include/xpm/smth.xpm0000664000175000017500000000064512142400465016651 0ustar balakinbalakin/* XPM */ static const char * smth_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #FF0000", " ", " ", " ", " ", " . ", " . ", " . . . ", " . . .. ", " +++. . . ", " +. ++ +++. ", " . .++ ++ ", " . . . .+ ", " . . . . ", " . ", " . ", " "}; mathgl-2.1.3.1/include/xpm/mark_lf.xpm0000664000175000017500000000063112142400465017304 0ustar balakinbalakin/* XPM */ static const char * mark_lf_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " .... ", " ..... ", " ....... ", " ........ ", " .......... ", " ........... ", "............ ", "............ ", " ........... ", " .......... ", " ........ ", " ....... ", " ..... ", " .... ", " .. "}; mathgl-2.1.3.1/include/xpm/object-rotate-right.xpm0000664000175000017500000000316412142400465021552 0ustar balakinbalakin/* XPM */ static const char * object_rotate_right_xpm[] = { "16 16 84 1", " c None", ". c #D2650C", "+ c #CE5D02", "@ c #CE5C00", "# c #CF5F03", "$ c #D1640B", "% c #D1640C", "& c #CF5D03", "* c #FEF7EF", "= c #FFF9F1", "- c #FEF8F0", "; c #FCEFDF", "> c #F4D1AE", ", c #DB8138", "' c #D1630A", ") c #FFF8EF", "! c #FDDCAA", "~ c #FDDDAB", "{ c #FDE0B4", "] c #FEE9CA", "^ c #FEF6E8", "/ c #F3CFAA", "( c #D1650C", "_ c #FFF8ED", ": c #FDD8A2", "< c #FDDAA7", "[ c #FEEED6", "} c #F9E1C5", "| c #D2640B", "1 c #CF5D02", "2 c #FEF6EA", "3 c #FFF7EC", "4 c #FFF5E7", "5 c #FEEDD4", "6 c #FDD599", "7 c #FEEBCE", "8 c #F6D1A8", "9 c #D2660D", "0 c #D2630A", "a c #D1680F", "b c #E8AA72", "c c #FEF2E0", "d c #FDD191", "e c #FDD294", "f c #FEF1DC", "g c #DD8A40", "h c #D06107", "i c #EDB883", "j c #FEE9CB", "k c #FDCE89", "l c #FEDFB3", "m c #F6D1A9", "n c #D2650B", "o c #D5701B", "p c #FFF3E3", "q c #FDCA81", "r c #FDEBD5", "s c #D16206", "t c #CE5C01", "u c #FEF3E2", "v c #FCC97D", "w c #FCC778", "x c #FCCA7F", "y c #FEF3E3", "z c #CF5E01", "A c #D0620A", "B c #FCC574", "C c #FCC370", "D c #FCC473", "E c #FEF3E4", "F c #D0640C", "G c #FEFCF8", "H c #FDDDAD", "I c #FCC068", "J c #FFFCF9", "K c #FEDFB2", "L c #FCBE61", "M c #FCBD5F", "N c #FEE0B3", "O c #FEDDAD", "P c #FCBA5A", "Q c #FEDEAF", "R c #FEF1DE", "S c #FEFAF6", " .+@@#$% ", " &*==-;>,' ", " @)!!~{]^/( ", " @_:::::<[}| ", " 123345!66789 ", " 0+@@abc:defg ", " hijkklmn ", " opqqdrs ", " tuvwxyz ", " @@AcBCDEF@@", " @GyHIII!yG@", " @JKLMLNJ@ ", " @JOPQJ@ ", " @JRJ@ ", " @S@ ", " @ "}; mathgl-2.1.3.1/include/xpm/weather-clear.xpm0000664000175000017500000000276612142400465020427 0ustar balakinbalakin/* XPM */ static const char * weather_clear_xpm[] = { "16 16 76 1", " c None", ". c #FCB03E", "+ c #FCB13E", "@ c #FCAF3E", "# c #FCB23F", "$ c #FDCD83", "% c #FCCC82", "& c #FCC470", "* c #FCB953", "= c #FCB23E", "- c #FCC66D", "; c #FDE6BF", "> c #FEF9E7", ", c #FEFCF0", "' c #FEF9DF", ") c #FDEAAD", "! c #FBBA57", "~ c #FCB33F", "{ c #FDE6C1", "] c #FEFEFB", "^ c #FEFCEF", "/ c #FEF8CE", "( c #FDF4B0", "_ c #FCF4AD", ": c #FDF0A2", "< c #FAB545", "[ c #FEF8E7", "} c #FEFDF0", "| c #FEF9CF", "1 c #FDF4AC", "2 c #FDF089", "3 c #FCEF87", "4 c #FCD964", "5 c #FCB33E", "6 c #FCCD84", "7 c #FEFCF1", "8 c #FEF8D0", "9 c #FEF9D0", "0 c #FDF6BE", "a c #FDF3A1", "b c #FCEF81", "c c #FCEC68", "d c #FCE768", "e c #FBB13E", "f c #FCC570", "g c #FEFAE3", "h c #FDF5B1", "i c #FDF4AE", "j c #FDF3A2", "k c #FDF08C", "l c #FCED71", "m c #FCE959", "n c #FCE459", "o c #FBB13F", "p c #FCBC57", "q c #FDECB4", "r c #FCF4AB", "s c #FDF08B", "t c #FCEF82", "u c #FCEA5A", "v c #FCEA57", "w c #FBD349", "x c #FBBD5B", "y c #FDF1AA", "z c #FCEF84", "A c #FCEB65", "B c #FCE956", "C c #FCE34E", "D c #FAB43F", "E c #FCB43F", "F c #FBB94A", "G c #FBDB6C", "H c #FCE86E", "I c #FCE55D", "J c #FCD549", "K c #FBB43F", " ", " .+ ", " ++ ", " @# $%&* =@ ", " =-;>,')!~# ", " {]^/(_:< ", " $[}}|12345 ", " ++67890abcde+. ", " .+fghijklmno++ ", " pqrstluvw# ", " xyzABvCD ", " #EFGHIJK5= ", " @= #oe5 #@ ", " ++ ", " +. ", " "}; mathgl-2.1.3.1/include/xpm/preferences-system.xpm0000664000175000017500000000203312142400465021512 0ustar balakinbalakin/* XPM */ static const char * preferences_system_xpm[] = { "16 16 44 1", " c None", ". c #888A85", "+ c #ECEBE9", "@ c #EFEFEE", "# c #F0F0EE", "$ c #F0F0F0", "% c #FAFAFA", "& c #8A8C87", "* c #F6F6F5", "= c #ABACA9", "- c #F7F7F7", "; c #E5E3E2", "> c #ADADAA", ", c #EEEEEC", "' c #F3F3F3", ") c #F0F0EF", "! c #EEEEED", "~ c #ECECEA", "{ c #BAB9B6", "] c #D2D1D0", "^ c #A4A4A3", "/ c #B8B7B5", "( c #B9B8B7", "_ c #204A87", ": c #7D8385", "< c #CAC9C8", "[ c #BFBEBD", "} c #ADBBCC", "| c #7C93B3", "1 c #D4D3D3", "2 c #BDC8D4", "3 c #788DA4", "4 c #92A5BE", "5 c #E4E3E2", "6 c #C6C4C2", "7 c #748AA2", "8 c #7A95B4", "9 c #D4D3D2", "0 c #C4C3C2", "a c #7D91A7", "b c #7A95B5", "c c #728BAE", "d c #A0A19E", "e c #869CB8", " ", " . . ", " .+. .@. ", " .#. .$. ", " . .%. .& ", ".*=.-;>, . ", " .')!~{. . ", " ....]^.. ", " /.(. ", " ___:><[. ", " _}}|_..1[. ", " _2334_ .56.. ", "_}378|_ .90. ", "_}abc_ .d. ", "_4ee_ ... ", " ___ "}; mathgl-2.1.3.1/include/xpm/edit-find.png0000664000175000017500000000115112142400465017512 0ustar balakinbalakin‰PNG  IHDRóÿabKGDððï4g pHYs  šœtIMEÕ %ý­/öIDAT8Ë’MkQ…Ÿ;É$Mšf†JR µ]hEÁ…¸ Uwâ&¿Ào©ôˆ¶$ADtYwUÅM¨;Aì¢T(¤‰V«–P5ÍG'M23×EHIBRªgwï=ïá¼G¿¹ëvMÓ;òN!ÄÎ#™Lv …B]…w´f2f_̘Kдkwß¾¯’J§9zjŒmÅ‹i+¸d…Ôük&nߌĢ÷Ÿ5þ(í4]#•NsèäŸ ^ŒR>´Ñqüš>síÆ•ã]$æ ‡O³Rpsé̾ӶQ ï–%Á#ã6Ko t Kz èX¶dÛ4©Ô,ÊU‹~Ÿ›_eµ% EJ‰”vK0n· „ \µ¨Ö$›[5ܪƒýý¤-]p¶iš-Nlcƒ5£Šß£¢÷¹°-‰ßãäÓF}=–kr®Ô+êBÓt4Mç¹ó¤Þì|ù™'›+‘7*|\Y§T®[zå,‹?"Ÿš±,+Ò| Ã0p8TNœ°¼VdËT앬/¾døàæß§>xtXtkØÕë—§àd3çëõ ó;›­÷eõ+‚D,• ‘ÿ”X c #DFE2DC", ", c #E3E5E0", "' c #E6E9E4", ") c #EDEEEB", "! c #EFF0ED", "~ c #F0F1EF", "{ c #F0F1EE", "] c #EEF0ED", "^ c #ECEDEA", "/ c #E0E3DD", "( c #E4E6E1", "_ c #C5ABA8", ": c #A37A77", "< c #A47E7B", "[ c #CAB1AE", "} c #EDEFEC", "| c #E1E3DE", "1 c #B17977", "2 c #A32827", "3 c #D69392", "4 c #EEEEEC", "5 c #EEEEED", "6 c #D79C9B", "7 c #A52927", "8 c #B57D7B", "9 c #C6ABA8", "0 c #F08686", "a c #EB5757", "b c #BAA6A2", "c c #EB5C5C", "d c #F09F9F", "e c #A62A29", "f c #D0B4B2", "g c #A2837F", "h c #D78F8E", "i c #EC5757", "j c #AB1010", "k c #B99390", "l c #ED5F5F", "m c #DBA4A2", "n c #A6827E", "o c #F0F0EE", "p c #BAA9A6", "q c #B68885", "r c #F4F5F3", "s c #F8F8F7", "t c #BD9896", "u c #BBA6A3", "v c #F2F2F1", "w c #BAA8A5", "x c #B79693", "y c #F8F9F8", "z c #BA8D8B", "A c #BCAEAB", "B c #F5F5F4", "C c #A47F7B", "D c #E09392", "E c #EC8C8C", "F c #A21B1B", "G c #B89490", "H c #BA9694", "I c #A11C1B", "J c #EDA7A7", "K c #E39E9D", "L c #A68481", "M c #C6ACA8", "N c #B21C1C", "O c #F69090", "P c #EE9897", "Q c #BFAEAB", "R c #C0AFAC", "S c #EFB2B1", "T c #F9B1B1", "U c #B32020", "V c #D0B5B3", "W c #E2E5E0", "X c #B27774", "Y c #B32221", "Z c #E6AAA9", "` c #F8F8F8", " . c #FAFAF9", ".. c #EAB8B7", "+. c #B52626", "@. c #B77B79", "#. c #F2F3F0", "$. c #E2E4DF", "%. c #E6E8E4", "&. c #C5ADA9", "*. c #A47C79", "=. c #A57B78", "-. c #CDB3B1", ";. c #F1F2F0", " . + @ @ @ @ @ @ @ @ @ @ + # ", " + $ $ $ $ $ $ $ $ $ $ $ $ % ", " @ $ & * = = = = = = - ; $ @ ", " @ $ > , ' ; ) ! ~ { ] ^ $ @ ", " @ $ / ( _ : . . < [ ~ } $ @ ", " @ $ | 1 2 3 4 5 6 7 8 ! $ @ ", " @ $ 9 2 0 a b b c d e f $ @ ", " @ $ g h i j k k j l m n $ @ ", " @ $ . o p q r s t u v . $ @ ", " @ $ . v w x r y z A B . $ @ ", " @ $ C D E F G H I J K L $ @ ", " @ $ M N O P Q R S T U V $ @ ", " @ $ W X Y Z ` ...+.@.#.$ @ ", " @ $ $.%.&.*.. . =.-.r ;.$ @ ", " + $ $ $ $ $ $ $ $ $ $ $ $ % ", " . + @ @ @ @ @ @ @ @ @ @ + # "}; mathgl-2.1.3.1/include/xpm/mark_tf.xpm0000664000175000017500000000063112142400465017314 0ustar balakinbalakin/* XPM */ static const char * mark_tf_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " .... ", " ...... ", " ...... ", " ........ ", " .......... ", " .......... ", " ............ ", " .............. ", " .............. ", "................", "................", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/x-office-spreadsheet.png0000664000175000017500000000130012142400465021650 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ ÙˆDúMIDAT8Ë•’ßKSaÇ?g›nzÖüUàYŠ•qR!‘,Š ”x!™ÝHEc]u4ЛRƒ ­ CrÐ…hw9Íl” ôHM[[KÏ9;ïéb?ì×.|®¾/ïóý¼ß÷}^ixxøÉúúz/»«ËÁ`p€P(dï¶B¡] ¹ "‰ä•„¦iøý š¦¡(þ¼^c``à(E€¦iHR I¹õÎÞZÉ»Š_Á+{ˆÅbôôôFiimA²%æ£ó¥†n!ƒ„@*•"/IO‘Wàq»‘½^ ¯ãóUüøªvtIÀ¶®çO̵~ŒÍÍÑtå"e*Â!‘ÃHMϦxt¼ãeÿìÛþ"@×u6ŒQ³²LÃ>²é$Éø*¦–³ªS¬NçÒê™õðí"Àív#Ë2‰È4û¯žçG]‡¨pìxü9Mc|‘öÉ *Uu\ ‡ÃS‰DâÂï³­™A~óóÜ ÊªñœµÑ AfÃdzJÐ3ûŠ U}qma!Pê0ÒÝ}I_ZºéN&UçÏL¹mƒeÃ¥(Ë»ºnšøôõ#é0ë-ùIEND®B`‚mathgl-2.1.3.1/include/xpm/document-import.xpm0000664000175000017500000000644512142400465021030 0ustar balakinbalakin/* XPM */ static const char * document_import_xpm[] = { "16 16 170 2", " c None", ". c #FB6801", "+ c #FF3F00", "@ c #FF6200", "# c #EDDE11", "$ c #58FFA6", "% c #07C2F8", "& c #0070FF", "* c #0064FF", "= c #0195FF", "- c #0AD3F4", "; c #2CFFD1", "> c #5CFEA1", ", c #7A7A7A", "' c #797979", ") c #FAA302", "! c #F1B50D", "~ c #BFE240", "{ c #61F29D", "] c #10BFEE", "^ c #0066FF", "/ c #0043FF", "( c #0170FF", "_ c #0EC8F0", ": c #59FCA5", "< c #C6FB38", "[ c #F5CE09", "} c #787878", "| c #C9C9C9", "1 c #C7C7C7", "2 c #DFE11A", "3 c #56FAA8", "4 c #08A6F7", "5 c #004EE6", "6 c #0032C9", "7 c #0041FF", "8 c #0297FD", "9 c #27F0D6", "0 c #91FF6C", "a c #E1FF1B", "b c #EDEC10", "c c #E5E019", "d c #737373", "e c #C5C5C5", "f c #B0B0B0", "g c #DDE31D", "h c #0FB6F0", "i c #047CF5", "j c #0374F4", "k c #049DFB", "l c #0FE8EF", "m c #43FFBB", "n c #7EFF81", "o c #8CFF72", "p c #65FA99", "q c #2CE1D3", "r c #6E6E6E", "s c #C1C1C0", "t c #ACACAC", "u c #F9A502", "v c #F5A10A", "w c #E0A31C", "x c #CCB833", "y c #B3DD4C", "z c #83FC7B", "A c #2DFFD0", "B c #0DDEF1", "C c #059FF9", "D c #0279F8", "E c #0062FD", "F c #004DFF", "G c #6A6A6A", "H c #BDBDBD", "I c #A9A9A9", "J c #FA6201", "K c #E00600", "L c #C00000", "M c #C40100", "N c #ED1C00", "O c #FAA205", "P c #85FF79", "Q c #08C2F6", "R c #004CFC", "S c #0030BE", "T c #0051EC", "U c #0AA6F5", "V c #656565", "W c #B7B7B7", "X c #A6A6A6", "Y c #FB7E01", "Z c #F32E00", "` c #DE1A00", " . c #DE1900", ".. c #F42F00", "+. c #FF8400", "@. c #E6DE18", "#. c #91F96D", "$. c #60EA9E", "%. c #5AE5A4", "&. c #73F18B", "*. c #B7F047", "=. c #5F5F5F", "-. c #B3B3B3", ";. c #406CA5", ">. c #3868A5", ",. c #3768A5", "'. c #3666A5", "). c #3566A5", "!. c #3566A4", "~. c #3465A4", "{. c #3767A6", "]. c #5B5B5B", "^. c #AEAEAE", "/. c #C0D5EA", "(. c #C1D5EA", "_. c #C1D6EA", ":. c #BBD2E8", "<. c #3465A5", "[. c #565656", "}. c #C3D6EA", "|. c #92B5DB", "1. c #95B8DC", "2. c #B9D0E7", "3. c #3466A4", "4. c #515151", "5. c #A5A5A4", "6. c #3666A4", "7. c #C5D7EB", "8. c #98B9DD", "9. c #95B7DC", "0. c #B8CEE7", "a. c #4C4C4C", "b. c #A1A1A1", "c. c #3767A5", "d. c #BFD2E9", "e. c #9BBADD", "f. c #9ABADD", "g. c #96B7DC", "h. c #8FB2DA", "i. c #8BB0D8", "j. c #B1C9E4", "k. c #484848", "l. c #9B9B9B", "m. c #A5C1E1", "n. c #8EB2D9", "o. c #8AAFD8", "p. c #85ACD7", "q. c #83AAD6", "r. c #81A9D5", "s. c #7EA7D4", "t. c #79A3D3", "u. c #77A2D2", "v. c #7BA5D3", "w. c #95B6DB", "x. c #3567A6", "y. c #494949", "z. c #999999", "A. c #3968A5", "B. c #94B5DB", "C. c #82AAD5", "D. c #7DA6D4", "E. c #7FA8D4", "F. c #85ABD5", "G. c #7E8896", "H. c #5588BF", "I. c #5689C0", "J. c #4B7EB7", "K. c #3667A6", "L. c #454A51", "M. c #3565A4", " . + @ # $ % & * = - ; > ", ", ' ' ) ! ~ { ] ^ / ( _ : < [ ", "} | 1 2 3 4 5 6 7 8 9 0 a b c ", "d e f g 3 h i j k l m n o p q ", "r s t u v w x y z A B C D E F ", "G H I J K L M N O P Q R S T U ", "V W X Y Z ` ...+.@.#.$.%.&.*. ", "=.-.;.>.>.,.'.'.).!.!.!.~.~.~.{.", "].^.)././././././.(._._._._.:.<.", "[.I !.}.|.|.|.|.|.|.|.|.|.1.2.3.", "4.5.6.7.8.8.8.8.8.8.8.8.8.9.0.).", "a.b.c.d.e.f.f.f.f.f.f.g.h.i.j.).", "k.l.>.m.n.o.p.q.r.s.t.u.u.v.w.x.", "y.z.A.B.C.D.D.D.D.D.D.D.D.E.F.'.", "k.G.A.H.I.I.I.I.I.I.I.I.I.I.J.K.", "L.~.~.~.~.~.~.~.~.~.~.~.~.~.M. "}; mathgl-2.1.3.1/include/xpm/arrow_a.xpm0000664000175000017500000000063112142400465017323 0ustar balakinbalakin/* XPM */ static const char * arrow_a_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ... ", " .... ", " ..... ", " ...... ", " ...............", " ...... ", " ..... ", " .... ", " ... ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/edit-copy.xpm0000664000175000017500000000174512142400465017575 0ustar balakinbalakin/* XPM */ static const char * edit_copy_xpm[] = { "16 16 41 1", " c None", ". c #888A85", "+ c #FFFFFF", "@ c #F0F0EF", "# c #EFEFEE", "$ c #C8C8C7", "% c #9A9B97", "& c #8D8F8A", "* c #8A8C87", "= c #898B86", "- c #C7C7C6", "; c #C6C6C5", "> c #EEEEED", ", c #EDEDEC", "' c #FEFEFE", ") c #ECECEC", "! c #C4C4C3", "~ c #FAFAFA", "{ c #F3F3F3", "] c #F9F9F9", "^ c #EBEBEB", "/ c #EAEAEA", "( c #EEEEEE", "_ c #F7F7F6", ": c #C3C4C3", "< c #F3F3F2", "[ c #F4F4F3", "} c #F2F2F2", "| c #8C8E89", "1 c #FEFEFD", "2 c #989A95", "3 c #F8F8F7", "4 c #E3E4E2", "5 c #FAFAF9", "6 c #E3E3E2", "7 c #F4F4F4", "8 c #F6F6F5", "9 c #FCFCFB", "0 c #FBFBFB", "a c #D4D4D4", "b c #989A96", " .......... ", " ++++++++++. ", " +@#####@@+. ", " +@$%..........&", " +@@*++++++++++.", " +@$=+@@@@@@@@+.", " +@#*+@------@+.", " +#;=+@@@@@@@@+.", " +>,*+@-----@@+.", " ')!=+@@@@@@@~{.", " ]^/*+@-----(_:.", " <[}*+@@@@@||||.", " ====1@@@@~2~34.", " =5@@@~~2~6..", " =7_890ab4.. ", " |=........ "}; mathgl-2.1.3.1/include/xpm/udav.xpm0000664000175000017500000003340712142400465016637 0ustar balakinbalakin/* XPM */ static const char *udav_xpm[]={ "64 64 349 2", "Qt c None", "#n c #000080", "#h c #010180", "#y c #010181", "#s c #020281", "#c c #020282", "dg c #030382", ".8 c #030383", "#r c #040483", "#m c #040484", "#g c #050584", "#M c #050585", "#q c #060685", "a. c #060686", "#p c #070786", "ck c #070787", "aj c #080887", "bm c #080888", "aK c #090988", "a4 c #090989", "aJ c #0a0a89", "## c #0a0a8a", "#G c #0b0b8a", "cx c #0b0b8b", "b7 c #0c0c8b", "#z c #0c0c8c", "b6 c #0d0d8c", "b8 c #0d0d8d", "#l c #0e0e8d", "cj c #0e0e8e", "b5 c #0f0f8e", "#S c #0f0f8f", "ci c #10108f", "bE c #101090", "b4 c #111190", "c2 c #111191", "#W c #121291", "b9 c #121292", "#b c #131392", "b3 c #131393", "ak c #141493", "aD c #141494", "bG c #151594", "aq c #151595", "bF c #161695", "#i c #161696", "aE c #171796", "ae c #171797", ".5 c #181897", "cq c #181898", "#L c #191998", "bU c #191999", "b2 c #1a1a99", "aL c #1a1a9a", "ds c #1b1b9a", "#A c #1b1b9b", "#k c #1c1c9b", "#f c #1c1c9c", "cG c #1d1d9c", "bM c #1d1d9d", "bN c #1e1e9d", "ch c #1e1e9e", "bL c #1f1f9e", "b1 c #1f1f9f", "#j c #20209f", "bO c #2020a0", "cS c #2121a0", "bY c #2121a1", "db c #2222a1", "bK c #2222a2", "bn c #2323a2", "a# c #2323a3", "bH c #2424a4", "bJ c #2525a4", "a3 c #2525a5", "#o c #2626a5", "df c #2626a6", "#. c #2727a6", "bP c #2727a7", "ai c #2828a7", "cF c #2828a8", "cf c #2929a9", "b0 c #2a2aa9", "#x c #2a2aaa", ".7 c #2b2baa", "bI c #2b2bab", "cy c #2c2cab", "a5 c #2c2cac", "aI c #2d2dac", "#d c #2d2dad", "cp c #2e2ead", "bo c #2e2eae", "ap c #2f2fae", "#1 c #3030b0", "cg c #3131b1", "bZ c #3232b1", "de c #3333b2", "dw c #3333b3", "bQ c #3434b4", "bp c #3535b5", "c3 c #3636b5", "#R c #3636b6", "cC c #3737b7", "aC c #3838b7", "#t c #3838b8", "#T c #3939b8", "#F c #3939b9", "bq c #3a3ab9", "#6 c #3a3aba", "aM c #3c3cbb", "#B c #3d3dbc", "cr c #3d3dbd", "#N c #3e3ebd", "dA c #3e3ebe", "ar c #3f3fbe", "bA c #3f3fbf", "bR c #4040c0", "bS c #4141c0", "dh c #4141c1", "ce c #4242c1", "da c #4343c3", "br c #4444c3", "#X c #4545c4", "a6 c #4545c5", "cM c #4646c5", "bw c #4646c6", "#e c #4747c6", "bs c #4747c7", "bv c #4848c7", "aB c #4848c8", "bt c #4949c8", "bu c #4949c9", "bx c #4a4ac9", "as c #4a4aca", "cs c #4b4bca", "ct c #4b4bcb", "#u c #4c4ccb", "bl c #4c4ccc", "dz c #5050cf", "c6 c #5151d0", "a7 c #5151d1", "by c #5252d1", "#H c #5353d2", "dx c #5454d3", "d# c #5454d4", "at c #5555d5", "aA c #5656d5", "cw c #5656d6", "dy c #5757d6", "bz c #5858d8", "#a c #5959d9", "cE c #5a5ad9", "cL c #5b5bdb", "a8 c #5c5cdb", "aN c #5c5cdc", ".6 c #5d5ddd", "c5 c #5e5edd", "bk c #5e5ede", "dt c #5f5fde", "cT c #6060df", "al c #6262e1", "au c #6262e2", "az c #6464e4", "af c #6565e4", "cD c #6565e5", "#2 c #6666e6", "d. c #6767e7", "co c #6868e7", ".9 c #6868e8", "av c #6969e8", "cN c #6a6aea", "a2 c #6b6bea", "c. c #6b6beb", "dk c #6c6ceb", "aO c #6c6cec", "ay c #6d6dec", "ad c #6e6eee", "ax c #6f6fef", "bD c #7070f0", "#w c #7171f0", "aw c #7171f1", "cu c #7272f1", "c7 c #7272f2", "a9 c #7373f2", "aF c #7373f3", "dn c #7474f4", "b. c #7878f7", "#C c #7979f8", ".4 c #7979f9", "aP c #7a7af9", "aa c #7b7bfa", "b# c #7c7cfb", "cd c #7e7efd", "bX c #7f7ffe", ".3 c #800000", ".1 c #800101", "ba c #8080ff", ".2 c #810101", ".X c #810202", "dp c #8181ff", ".W c #820202", ".Y c #820303", "#5 c #8282ff", ".Z c #830303", "aH c #8383ff", ".R c #840505", "#v c #8484ff", ".S c #850606", "bb c #8585ff", ".T c #860707", "#K c #8686ff", ".U c #870808", ".V c #880808", "aQ c #8888ff", ".Q c #890a0a", "dr c #8989ff", ".K c #8a0a0a", "cz c #8a8aff", ".j c #8b0b0b", "cK c #8b8bff", "bc c #8c8cff", "cU c #8d8dff", ".B c #8e0e0e", ".P c #8e0f0f", "ao c #8e8eff", ".L c #8f0f0f", "cH c #9090ff", "bd c #9292ff", ".C c #931414", "aR c #9393ff", ".O c #941414", "#D c #9494ff", "#O c #9595ff", "cV c #9696ff", ".M c #981818", "#E c #9898ff", ".c c #991a1a", "cO c #9999ff", ".N c #9a1b1b", ".s c #9b1b1b", ".J c #9d1e1e", "be c #9d9dff", "aS c #9e9eff", "dd c #9f9fff", "c8 c #a1a1ff", ".D c #a32424", "#7 c #a3a3ff", "#I c #a5a5ff", ".r c #a72828", "aT c #a7a7ff", "do c #a8a8ff", "cn c #a9a9ff", ".# c #ab2c2c", "c9 c #ababff", ".A c #ac2c2c", "cW c #adadff", "#Y c #aeaeff", ".I c #af2f2f", "du c #b0b0ff", "#0 c #b1b1ff", "c4 c #b2b2ff", "bf c #b3b3ff", ".E c #b43535", "cA c #b4b4ff", "#Q c #b5b5ff", "dv c #b6b6ff", "cl c #b7b7ff", "cX c #b8b8ff", "aU c #b9b9ff", "cc c #babaff", ".i c #bc3c3c", "bW c #bcbcff", "dm c #bdbdff", ".H c #be3f3f", "aZ c #bebeff", "bB c #bfbfff", "aV c #c0c0ff", ".b c #c14141", ".t c #c14242", "bg c #c1c1ff", "#V c #c2c2ff", ".F c #c34343", "#9 c #c3c3ff", "cY c #c4c4ff", "#J c #c5c5ff", "cP c #c6c6ff", "aW c #c7c7ff", "aY c #c8c8ff", ".a c #c94949", "bC c #c9c9ff", ".k c #ca4a4a", "c1 c #cacaff", ".G c #cb4b4b", "aX c #cbcbff", "di c #ccccff", "dj c #cdcdff", "bh c #ceceff", "a1 c #d0d0ff", "c# c #d1d1ff", "c0 c #d2d2ff", "cR c #d3d3ff", ".z c #d45555", "cZ c #d4d4ff", "bT c #d6d6ff", "dl c #d8d8ff", "#3 c #dadaff", "am c #dbdbff", "bi c #dcdcff", "ag c #ddddff", "#P c #dfdfff", "cI c #e1e1ff", "bV c #e4e4ff", ".q c #e66666", "dc c #e6e6ff", "aG c #e7e7ff", ".d c #e86969", "cb c #e8e8ff", "cJ c #eaeaff", "ab c #ececff", ".u c #ed6d6d", "bj c #ededff", "cB c #efefff", "#U c #f0f0ff", "cQ c #f1f1ff", "cv c #f2f2ff", "dq c #f4f4ff", "cm c #f5f5ff", "ca c #f6f6ff", "a0 c #f7f7ff", "an c #f9f9ff", "ah c #fafaff", "#Z c #fbfbff", "ac c #fcfcff", "#8 c #fdfdff", "#4 c #fefeff", ".y c #ff7f7f", ".h c #ff8686", ".v c #ff9292", ".l c #ff9595", ".x c #ff9d9d", ".w c #ffa5a5", ".p c #ffb0b0", ".e c #ffb3b3", ".g c #ffbfbf", ".f c #ffcece", ".m c #ffd9d9", ".o c #ffe8e8", ".n c #fff8f8", ".0 c #ffff00", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.b.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.c.d.e.f.g.h.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.j.k.l.m.n.o.p.q.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.t.u.v.w.x.y.z.A.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.C.D.E.F.G.a.H.I.J.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.K.L.C.M.N.N.M.O.P.QQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.R.S.T.U.V.V.V.U.T.SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.W.X.W.W.W.W.Y.Y.Z.RQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.1.1.1.1.1.1.2.W.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.3.3.3.3.3.2.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.4.5.2.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0.6.7.8.0.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0.9#..8.0.0.0.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0###a#b#c.0.0.0.0.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0#d#e#f#g#h.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0#i#j#k#l#m#h#n#o.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0#p#q#r#s#n#n#m#t#u#v#w#x.0.0.0.0.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0#y#h#n#m#r#q#z#A#B#C#D#E#F.0.0.0.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0#r#s#h#h#h#y#r#G#j#H#I#J#K#L.0.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0.0#n#n#n#y#M#b#N#O#P#Q#R.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0.0.0.0.0#h#n#h#r#S#T#E#U#V#N.0.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0#h#h#r#W#X#Y#Z#0#1.0.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0#y#q#k#2#3#4#5.5.0.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0#c#z#6#7#8#9#X#q.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0a.a#aaabacadae.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0#m.5afagah#Kai.0.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0.0.0.0.0.0.0.0.0#gaj.0.0.0.0.0.0.0.0.0akalamanaoapaj.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0.0a.aqa#aparasatauavadawaxayazaAaBaCa#aDaEaFaGanaHaIaJ.0.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtaKaL#xaM#uaNaOaPaQaRaSaT#0aUaVaWaXaXaYaZ#Y#E#.aSa0a1a2a3a4.0.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQt###fa5#Ta6a7a8afaOa9b.b#babbbcbdbeaTbfbgbhbiaGbjbk#3#Z#IblaLajbm.0.0.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtaDbnbobpbqarbrbsbtbuaBbvbw#e#ebx#ubybzaladaaao#7bAbB#8bCbDapbEa.aObqbF.0.0QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtbGbH#dbobI#x.7a5a5#xaibJbK#jbLbMbNbNbObnbP#dbQbRbSaZ#4bTbbarbUa4#ZbVbWbXbr#LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQt#SbYapbZb0b1b2b2aLbUaEb3b4b5b6b7#G#####Gb7b8#Sb9c.bT#4c#bbbrbL#z#q#Pca#8cbcccdcebFQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQt#icf#taMcgchcicj#Scjb7a4ck#q#g#m#r.8.8.8.8#rblclca#ZaUaF#NbMb8a.#MaQ#0amcmah#Pcncocpa4QtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQt#Gcq.7crcsctcra3b6aJbma.#m.8#c#s#y#y#y#hbJcu#Vcvcvcaaocw#1.5cx#q#rcybSalczcA#PcacBaYaQa6aEQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQt###ka#cCctaNcDazcEbt#tcFch.5cGb0bRazcHbBcIbjbVcJcKcLaCbLbEbm#m.8##bE#AaIcMcNcOcPcbcQcR#EatcSQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtajcj#L#dcCcscTcu#5cUcVbe#IcWcXcYbhcZc0c1cRcUaycsbZbNc2aJ#M.8#ca..8#q##b9bLc3aAbXc4biab#3#7c5#o#pQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQt#qaKb8bGchbSaBc6cE#2c7bX#KbccVc8c9#Qd.d#da#1db#i#laK#M.8#s#sa.#h#y#c#r#pb8cqb0btaF#7a1dccZdda8#o#MQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQt#g#g#paJb8b9.5chbJbI#1c3cC#t#Rde#ddf#jcqb9b6aK#q#r#c#s#y#y.0#h#n#n#h#ydg#M##ak#odhc.dddi#PdjcVd#dbQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQt.8.8#m#M#paK###zcj#SbEbEbE#S#lb7aJaj#q#m.8#c#s#y#h#h#s.0.0.0Qt#m#h#h#y#c#maKb9bndhdkbeaXdldm#vbw#LQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQt#c#c#cdgdg.8#r#m#m#m#m#m#r.8dg#c#s#y#h#h#h#n#h#y.0.0QtQtQtQtQtQtQt#y#y#s#maK#ba3brdndodia1aU#Obyb4QtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQt#s#y#y#y#y#y#y#y#y#y#h#h#h#h#n#n#n#n#n#n#yQtQtQtQtQtQtQtQtQtQtQtQtQt#y#c#maJaDbIa7dpaZdqaha1drbAb3QtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtdg#y#h#h#n#n#n#n#n#n#n#n#n#n#n#n#hdgQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#s#c#Mcxdsc3dtaodudvaScudhdsQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtdg#y#h#h#h#n#n#n#h#y#cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtdg#pbEb1dwbwdxdydzdA#xaEQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#maJb5bGdsbLbOchaLakb8ckQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#q#qckaKaJ####a4bm#p#pQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#m#c#cdgdgdg.8.8.8#rQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#y#h#h#h#h#h#y#s#rQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#h#n#n#n#n#h#cQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#h#h#yQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt", "QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"}; mathgl-2.1.3.1/include/xpm/arrow_i.xpm0000664000175000017500000000063112142400465017333 0ustar balakinbalakin/* XPM */ static const char * arrow_i_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .. ", " .. ", " .. ", " .. ", " .. ", " ...............", " .. ", " .. ", " .. ", " .. ", " .. ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/up_1.xpm0000664000175000017500000000064512142400465016542 0ustar balakinbalakin/* XPM */ static const char * up_1_xpm[] = { "16 16 3 1", ". c None", "+ c #7F0000", "@ c #FF0000", "................", "................", "........+.......", ".......+@+......", "......+@@@+.....", ".....+@@@@@+....", "....+@@@@@@@+...", "...+@@@@@@@@@+..", "..++++@@@@@++++.", ".....+@@@@@+....", ".....+@@@@@+....", ".....+@@@@@+....", ".....+@@@@@+....", ".....+@@@@@+....", ".....+++++++....", "................"}; mathgl-2.1.3.1/include/xpm/arrow_k.xpm0000664000175000017500000000063112142400465017335 0ustar balakinbalakin/* XPM */ static const char * arrow_k_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .. ", " .. ... ", " .. .... ", " .. ..... ", " ........ ", " ...............", " ........ ", " .. ..... ", " .. .... ", " .. ... ", " .. ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/alpha.png0000664000175000017500000000137212142400465016741 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYsvvÚ`ãOtIMEÙ$­`fzIDAT8Ë’kH“qÆŸÿ®æ–K¦„–Vd¶²rB—¦QÂðƒØ Jļ%Ô·f’… šv IÈB¬¼L045›^XÎfaJ”— ·õÚnùž>ؤYþàÃ9<ç‡á$f䪖És pÏ“4dõšÂº²â·XERÎéá¬k•|3Õ»çÔDD¹å•|`ìþZÊ ÌlOJ>–õT£M ¾göên9Ö«cÀƒ±³ =éW(X½Ùõz¯å¦.ÞÙ×ýÀWð[¥Š*©û<[k#zè ÊÐÑ(™\D&7‘ÉI´§°‚TƒD‰";&=¡—ïµ HÖ¥»¨T*äþræ°X¯Ù ±Ÿl~=bÀNUšÞ|ÉðÎpkwk˜×鬸2P[x°a`ÀLÖš §ÞPôËymíèÙ• ¯fƒmú‰Äh0‹Àcoœîí.:~2)O èhˆK~² EÇ áM9 è[€û¥™ˆL?ƒ^Ý©K]­âåaäâìà]rc^ÜèF6Çï§€çSXák`¾S¶Þ‚¼"±b{YSE"šß`|Ú‡<îƒëz_^à ’_ÏÀa6–õ]ÌëGkØÔÐ;06wF¡0uµ<. gï ößÔEÉæ&µ5¥ÈÂ#8cÃ#¿?‹‹‡Á>ËP}µ@ÇBßÿÐðm×å÷“îÑ¡â[<êG8+ IÄ?±öh¶=·ÓL‰ºp› RŸÇÿ Ü±;fÓ‘ ïÙAIµi6,‘r[lcf³Á+B«Å¢YYú·ú7¿)•àØ’IEND®B`‚mathgl-2.1.3.1/include/xpm/arrow_o.xpm0000664000175000017500000000063112142400465017341 0ustar balakinbalakin/* XPM */ static const char * arrow_o_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " .... ", " ...... ", " ........ ", " ........ ", " ..............", " ........ ", " ........ ", " ....... ", " .... ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/ok.xpm0000664000175000017500000000064412142400465016306 0ustar balakinbalakin/* XPM */ static const char * ok_xpm[] = { "16 16 3 1", " c None", "! c #000090", "# c #0000FF", " ", " # ", " ## ", " ##! ", " ##! ", " ##! ", " ##! ", " ##! ", " ##! ", " ### ###! ", " ### ##! ", " #####! ", " ###! ", " ##! ", " #! ", " ! "}; mathgl-2.1.3.1/include/xpm/document-save.xpm0000664000175000017500000000446312142400465020452 0ustar balakinbalakin/* XPM */ static const char * document_save_xpm[] = { "16 16 107 2", " c None", ". c #38678B", "+ c #3D698A", "@ c #4A7180", "# c #58787A", "$ c #B1CEE6", "% c #D0DFEF", "& c #C5DBEC", "* c #9BC2DF", "= c #688BA0", "- c #436E88", "; c #6B7F88", "> c #667173", ", c #627075", "' c #4A6D85", ") c #41749A", "! c #44789F", "~ c #9EBFD9", "{ c #C1D9EB", "] c #5186AF", "^ c #4E6A7D", "/ c #6E706B", "( c #6B716E", "_ c #E2E6DD", ": c #FFFFFF", "< c #DDE1D6", "[ c #C9D6DD", "} c #6E99B6", "| c #ABCBE2", "1 c #92B7D3", "2 c #547D9B", "3 c #D5DFE5", "4 c #F4F4F4", "5 c #72756B", "6 c #FDFDFD", "7 c #EEEEEE", "8 c #EDEDED", "9 c #DFE2DE", "0 c #7798B0", "a c #79A7CA", "b c #8FB3CE", "c c #3D6B8E", "d c #ACBCC3", "e c #EDEDEE", "f c #EDEEEE", "g c #EDEEED", "h c #F3F4F3", "i c #FCFBFC", "j c #EBECEC", "k c #5892BD", "l c #ECECEC", "m c #F3F3F3", "n c #FAFAFA", "o c #E9E9EA", "p c #CACFC4", "q c #98BFDC", "r c #719FBF", "s c #739FC0", "t c #96BBD8", "u c #95A9AF", "v c #EAE9EA", "w c #F2F2F2", "x c #F9F9F9", "y c #E4E4E4", "z c #C5CBBF", "A c #ABC8DF", "B c #92A6AC", "C c #F1F1F1", "D c #ACCBE3", "E c #3B6B8F", "F c #F7F7F7", "G c #E3E3E3", "H c #CED4C8", "I c #3F6C8E", "J c #9AAEB4", "K c #FCFCFC", "L c #F0F0F0", "M c #FEFEFE", "N c #EBEBEB", "O c #CECECE", "P c #C9C9C9", "Q c #C5C5C5", "R c #D6D6D6", "S c #9F9F9F", "T c #AFAFAF", "U c #BCBCBC", "V c #C4C4C4", "W c #C8C8C8", "X c #D0D0D0", "Y c #A9A9A9", "Z c #D2D2D2", "` c #B9B9B9", " . c #CACACA", ".. c #CDCDCD", "+. c #C3C3C3", "@. c #AAAAA9", "#. c #B4B4B4", "$. c #C2C2C2", "%. c #CBCBCB", "&. c #A8A7A8", "*. c #D1D1D1", "=. c #A8A7A7", "-. c #B7B6B6", ";. c #DDDDDD", ">. c #DCDCDC", ",. c #D5D5D5", "'. c #CFCFCF", " . . . + @ # ", " $ % & * = - ", "; > , ' ) ! ~ { ] ^ / / / / / / ", "( _ : < [ } . | 1 2 3 : : : 4 / ", "5 6 7 8 9 0 . a b c d e f g h / ", "/ i j . . . . a k . . . . l m / ", "/ n o p . q r r r s t . u v w / ", "/ x n y z . q s s A . B y 4 C / ", "/ x 7 n y z . D q E B y n 7 C / ", "/ F G 7 n n H I . J n K 7 G L / ", "/ M : : : : : : : 4 4 N N G L / ", "/ O P P P P Q P P Q Q Q Q Q R / ", "/ O Q S T U V W X Y Z Y Z ` ./ ", "/ ..+.@.#.$.V W %.&.*.=.*.-. ./ ", "/ ;.>.>.>.,.,.'.'.'.'.'.'.'. ./ ", "/ / / / / / / / / / / / / / / / "}; mathgl-2.1.3.1/include/xpm/edit-redo.xpm0000664000175000017500000000207712142400465017553 0ustar balakinbalakin/* XPM */ static const char * edit_redo_xpm[] = { "16 16 47 1", " c None", ". c #4E9A06", "+ c #AEF36C", "@ c #8F9B0C", "# c #A9DE49", "$ c #AEF16A", "% c #AEF26B", "& c #B3F573", "* c #A6EF61", "= c #73D216", "- c #ACD945", "; c #AFEF67", "> c #A1E950", ", c #A0DB24", "' c #A9D846", ") c #B1EF65", "! c #A4DE24", "~ c #97DD2A", "{ c #AFD71A", "] c #75D318", "^ c #9DC230", "/ c #B1ED60", "( c #A5DF26", "_ c #C8D009", ": c #77D014", "< c #8AE234", "[ c #559F0C", "} c #B1E963", "| c #BAE031", "1 c #CBD417", "2 c #9BD622", "3 c #A1DA23", "4 c #D9DE23", "5 c #529D0A", "6 c #B2EC64", "7 c #CDD624", "8 c #93A10B", "9 c #CCD41E", "0 c #BEE246", "a c #99A605", "b c #B3D937", "c c #B8DD3A", "d c #AFC723", "e c #919D05", "f c #5AA80F", "g c #C0D62C", "h c #9A9902", " . ", " .. ", " .+. ", " ....++. ", " .@#$%&*=+. ", " .-;>,,,,==+. ", " .')!~,,{===]+.", " .^/({{_:====<. ", " [}|1233334=<. ", " 5678.....9<. ", " .0a. .<. ", " .b. .. ", " .c. . ", " .de ", " fgh ", " "}; mathgl-2.1.3.1/include/xpm/arrow_s.xpm0000664000175000017500000000063112142400465017345 0ustar balakinbalakin/* XPM */ static const char * arrow_s_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ........ ", " ........ ", " ........ ", " ........ ", " ..............", " ........ ", " ........ ", " ........ ", " ........ ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/next_sl.xpm0000664000175000017500000000070612142400465017350 0ustar balakinbalakin/* XPM */ static const char * next_sl_xpm[] = { "16 16 5 1", " c None", ". c #00007F", "+ c #007FFF", "@ c #0000FF", "# c #003F80", " ", " .. ", " .+. ", " .++. ", " .++@+. ", " ....++@+@+. ", " .@+@+@+@+@+. ", " .@@@@@@@@+@+. ", " .@@@@@@@@@@@@. ", " .@@@@@@@@#@#. ", " .@#@#@#@#@#. ", " ....@#@#@#. ", " .@#@#. ", " .##. ", " .#. ", " .. "}; mathgl-2.1.3.1/include/xpm/next.xpm0000664000175000017500000000063112142400465016647 0ustar balakinbalakin/* XPM */ static const char * next_xpm[] = { "16 16 2 1", " c #E7E7E7", ". c #0000FF", " ", " ", " ", " . ", " ... ", " ..... ", " ....... ", " ......... ", " ........... ", " ........... ", " ......... ", " ....... ", " ..... ", " ... ", " . ", " "}; mathgl-2.1.3.1/include/xpm/x-office-presentation.png0000664000175000017500000000106712142400465022066 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs × ×B(›xtIMEÖ 8+U¤QyÄIDAT8Ë’OHaÆßÌ´í&´ía§RÈŠ]ûK‚·¥ƒ"D6… ¼‰²Bd]mÉlæàm·¤»æ©ƒˆ.é¹ HÂLaã¡ÖS38~ìthœbý.ßû½|ïÃç}Ä`q`RJYfGÓ´»âúÀµðqeDZ[v]—¹§OÅ¡ÁJ#{!ˆÅbUðàáýpøÆM<ÏCUø>¡”ìok!PTEQB ë:Ó3eîܾ'´µt:ã8|™ŸçðÊ ';:@JlÛÆíéáX±Høüu]×S(ÍHß,‹‹®K¦³“ºçáonrHÛÇ©w˼/ÿò¹«ëÄŸF6?j–E]Uñ76ØBòúJ…õ ¡Ü"û¶Ây`míS4ÁñB—‹‹¸¾OíÒQæmŽh5Ú?¼!Ûw€L&Mp ™$=;˳©)j ¯ø±¼Íwû¹\޾[“žÇêªE*•Ú] ÓÝÛK÷ÒÒ®kK$´'“Ñ–õñß‹pö̹h|þrëqnÜÕé™r«i¬þ÷ÇØøèˆa<Úm=ê¦iô›¦6êÐ4þ[þž”J¢©6Ê«¥ÒÄ‹þOU˜ü+—”_IEND®B`‚mathgl-2.1.3.1/include/xpm/mark_.xpm0000664000175000017500000000062712142400465016767 0ustar balakinbalakin/* XPM */ static const char * mark__xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", " .. ", " .. ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/help-faq.xpm0000664000175000017500000000270412142400465017371 0ustar balakinbalakin/* XPM */ static const char * help_faq_xpm[] = { "16 16 73 1", " c None", ". c #B6B8B4", "+ c #93938F", "@ c #888A85", "# c #8D908A", "$ c #BDBEBB", "% c #FCFCFC", "& c #FFFFFF", "* c #BBBCBB", "= c #8D8F89", "- c #91928E", "; c #93968F", "> c #B4B5B1", ", c #EEEEEB", "' c #A0BDDA", ") c #A3BFDB", "! c #91B3D5", "~ c #DBE2EB", "{ c #FCFCFB", "] c #BCBDBA", "^ c #B8B9B7", "/ c #F1F1F1", "( c #F2F2F1", "_ c #ADC6DE", ": c #BFD1E2", "< c #FEFEFE", "[ c #8F918C", "} c #8D8E8A", "| c #F2F2F0", "1 c #EFEFED", "2 c #A1BDDA", "3 c #91B3D6", "4 c #E1E7EC", "5 c #92948F", "6 c #F5F5F4", "7 c #BDD0E5", "8 c #ACC6DF", "9 c #F4F5F4", "0 c #8F908C", "a c #F1F1F0", "b c #AEC6DE", "c c #BFD1E3", "d c #F8F8F6", "e c #8AAFD5", "f c #FBFBFB", "g c #F8F8F7", "h c #8AAFD6", "i c #7AA5D3", "j c #8A8C88", "k c #FBFBFA", "l c #90938E", "m c #8E8F8B", "n c #FDFDFD", "o c #7AA5D2", "p c #8B8D88", "q c #949591", "r c #F6F6F5", "s c #969994", "t c #C0C1BE", "u c #FEFEFD", "v c #90928E", "w c #90938C", "x c #EEEEEC", "y c #8D8F8A", "z c #939590", "A c #979994", "B c #90908C", "C c #DFDFDE", "D c #90928D", "E c #EDEDEC", "F c #8F908B", "G c #DFE0DE", "H c #8E908B", " ", " .+@@@@# ", " .$%&&&&%* ", " =-@@@@;>,')!~{#", " ]%&&&&%]^/(_:<[", "}%|12)34{56789<[", "0<||a|bc<0dedd&[", "[<666789<[ffff&[", "[&ggghgg&[ c #3767A5", ", c #3465A4", "' c #3969A6", ") c #8CADD3", "! c #9DBDDC", "~ c #A1BEDD", "{ c #B4CBE5", "] c #BFD3E9", "^ c #CCDDEE", "/ c #D5E2F0", "( c #BFD2E7", "_ c #4B77AF", ": c #4371AB", "< c #3566A4", "[ c #6990C0", "} c #7298C5", "| c #3C6BA8", "1 c #5D85B7", "2 c #A1BBD9", "3 c #D8E4F1", "4 c #DBE6F2", "5 c #DDE8F3", "6 c #88A7CE", "7 c #C8D8EA", "8 c #4170AB", "9 c #3C6CA9", "0 c #3869A6", "a c #6188B9", "b c #CDDBEB", "c c #E2EBF5", "d c #E6EEF6", "e c #3565A4", "f c #6891C7", "g c #C7D7E9", "h c #C6D8EB", "i c #E3ECF5", "j c #3A6AA6", "k c #8FACD0", "l c #E7EEF6", "m c #4774AD", "n c #4C77AF", "o c #4C78AF", "p c #E5EDF5", "q c #E5EDF6", "r c #E4ECF5", "s c #9CB7D7", "t c #3768A6", "u c #C4D7EB", "v c #C9D9EA", "w c #3566A5", "x c #6C95C9", "y c #537FB7", "z c #E4EDF5", "A c #C1D2E6", "B c #4D79B0", "C c #3C6BA9", "D c #4F7CB6", "E c #3768A5", "F c #95B2D4", "G c #E0E9F4", "H c #CCDCED", "I c #8FADD2", "J c #4C78B0", "K c #3D6DA9", "L c #5B84B7", "M c #4E7AB1", "N c #B4CAE3", "O c #C9DAEC", "P c #BCD1E7", "Q c #B0C9E3", "R c #A0BEDE", "S c #88ABD2", "T c #82A5CE", "U c #8EAED3", "V c #3767A6", "W c #5580B5", "X c #84A6CE", "Y c #97B6D8", "Z c #99B9DB", "` c #8AACD3", " . c #6D94C2", ".. c #3B6BA7", " . + @ # + ", " $ % & * = - ; > , ", " ' ) ! ~ { ] ^ / ( _ @ : < ", " # [ } | < + 1 2 3 4 5 6 7 + ", " $ 8 9 + 0 a b c d d + ", " e + f > < g h i j ", " , $ k l 4 d j ", " , , m n n o , ", " , , , , , , , ", " , p q r s t , ", " < d u v , w x y , ", " > d i z A B 0 C D + E ", " $ 3 F G 5 H I J w ' ' K J + ", " > L @ M N O P Q R S T U $ ", " , @ V W X Y Z ` .$ ", " , + 0 < + .. "}; mathgl-2.1.3.1/include/xpm/media-seek-forward.xpm0000664000175000017500000000262212142400465021341 0ustar balakinbalakin/* XPM */ static const char * media_seek_forward_xpm[] = { "16 16 69 1", " c None", ". c #414140", "+ c #4A4B48", "@ c #494A47", "# c #3D3D3B", "$ c #3D3F3B", "% c #4D4E4B", "& c #F9F9F8", "* c #696C68", "= c #4C4C4A", "- c #4E504C", "; c #FCFCFC", "> c #747571", ", c #4E4F4C", "' c #575855", ") c #FBFBFB", "! c #FCFDFC", "~ c #EBEBEA", "{ c #646662", "] c #595A56", "^ c #595A57", "/ c #EEEFEE", "( c #6E6F6C", "_ c #5B5E5A", ": c #626460", "< c #F1F1F0", "[ c #F2F4F1", "} c #FAFAF9", "| c #E6E7E6", "1 c #666763", "2 c #FAFAFA", "3 c #EBECEA", "4 c #767874", "5 c #6A6B67", "6 c #6D6E6A", "7 c #FCFCFB", "8 c #E0E2DD", "9 c #E8EAE6", "0 c #F2F3F0", "a c #CFD1CE", "b c #737470", "c c #DFE2DD", "d c #E7E9E4", "e c #F1F2F0", "f c #D4D6D3", "g c #80817C", "h c #73756F", "i c #767973", "j c #FEFEFE", "k c #EEEFED", "l c #969791", "m c #7F817C", "n c #797B75", "o c #F9FAF9", "p c #F0F1EF", "q c #ABAEA8", "r c #82837F", "s c #81837D", "t c #AFB0AC", "u c #8D9089", "v c #838580", "w c #C9CBC6", "x c #91928C", "y c #838581", "z c #9C9E97", "A c #ADAFAA", "B c #9A9D97", "C c #90938C", "D c #82837E", " ", " ", " ", " . . ", " +@# @@$ ", " %&*= -;>, ", " ')!~{]^)!/(_ ", " :)<[}|1)<[2345 ", " 67890ab7cdefgh ", " ij}klmnjopqr ", " sotu vowxy ", " mzA BzC ", " D D ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/edit-undo.png0000664000175000017500000000121212142400465017535 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÖ #–!IDAT8Ë•“Oh’aÇ¿Ïó¾ÏÔåþèÆÒˆÖÁò„AƒB°Cx‚bDP];Œ<AuíiÕûâ%+¾$IEND®B`‚mathgl-2.1.3.1/include/xpm/edit-select-all.xpm0000664000175000017500000000165712142400465020652 0ustar balakinbalakin/* XPM */ static const char * edit_select_all_xpm[] = { "16 16 37 1", " c None", ". c #8B8D89", "+ c #888A85", "@ c #8C8E89", "# c #FDFDFD", "$ c #FEFEFE", "% c #FCFCFC", "& c #FBFBFB", "* c #FAFAFA", "= c #F9F9F9", "- c #8B8D88", "; c #A8BED6", "> c #A9BFD7", ", c #AAC0D8", "' c #ABC1D9", ") c #F8F8F8", "! c #8197AF", "~ c #ACC2DA", "{ c #ADC3DB", "] c #AEC4DC", "^ c #EBEBEB", "/ c #AFC5DD", "( c #ECECEC", "_ c #B0C6DE", ": c #EEEEEE", "< c #B1C7DF", "[ c #F0F0F0", "} c #B2C8E0", "| c #F2F2F2", "1 c #F7F7F7", "2 c #000000", "3 c #B3C9E1", "4 c #F4F4F4", "5 c #F5F5F5", "6 c #F6F6F6", "7 c #8298B0", "8 c #8D8F8A", " .++++++++++++@ ", " +#$$##%%&&**=- ", " +#;>>,,''''')- ", " +$>!!!!~!!!~)- ", " +#,!!!!{{{{{)- ", " +#,!!!!{]]]^)- ", " +%'!!!!]!!/()- ", " +%~~{]//___:)- ", " +%~{]//__<<[)- ", " +&~!!!!!!!}|1- ", " +&{]/__2}2341- ", " +*{]/_<}25661- ", " +={7777}21)11- ", " +={]/_<}21=)1- ", " +))))))2)2)))- ", " @++++++++++++8 "}; mathgl-2.1.3.1/include/xpm/document-properties.xpm0000664000175000017500000000175712142400465021713 0ustar balakinbalakin/* XPM */ static const char * document_properties_xpm[] = { "16 16 41 1", " c None", ". c #999999", "+ c #818181", "@ c #FFFFFF", "# c #ECECEC", "$ c #EAEAEA", "% c #EBEBEB", "& c #EDEDED", "* c #F0F0F0", "= c #C4C4C4", "- c #C5C5C5", "; c #C6C6C6", "> c #C7C7C7", ", c #696969", "' c #D2D2D2", ") c #EEEEEE", "! c #B0B0B0", "~ c #585858", "{ c #696966", "] c #6A6A6A", "^ c #D2D2CC", "/ c #D6D6D6", "( c #595959", "_ c #626262", ": c #6C6C6C", "< c #DCDCDC", "[ c #EFEFEF", "} c #D4D4D4", "| c #777777", "1 c #858585", "2 c #909090", "3 c #9D9D9D", "4 c #C8C8C8", "5 c #B5B5B5", "6 c #929292", "7 c #9E9E9E", "8 c #ABABAB", "9 c #E0E0E0", "0 c #ADADAD", "a c #BABABA", "b c #959595", " .++++++++++++ ", " +@@@@@@@@@@@@+ ", " +@#$$%%%##&*@+ ", " +@$=--;;;;>*@+ ", " +@$%%,,,'&)*@+ ", " +@%-;!~~~;>*@+ ", " +@%,'#',{#)*@+ ", " +@%~~!~]]^)*@+ ", " +@#,,,]]]]/*@+ ", " +@#!~~~~(_:<@+ ", " +@#&))[}|123@+ ", " +@&;>>445678@+ ", " +@&&)[[**90a@+ ", " +@@@@@@@@@@@@+ ", " b++++++++++++b ", " "}; mathgl-2.1.3.1/include/xpm/size.xpm0000664000175000017500000000062612142400465016647 0ustar balakinbalakin/* XPM */ static const char * size_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .............. ", " . . . ", " . ... . ", " . . . ", " . . . ", " . . . . . ", " .............. ", " . . . . . ", " . . . ", " . . . ", " . . . ", " . ... . ", " . . . ", " .............. "}; mathgl-2.1.3.1/include/xpm/left_1.xpm0000664000175000017500000000064712142400465017052 0ustar balakinbalakin/* XPM */ static const char * left_1_xpm[] = { "16 16 3 1", ". c None", "+ c #7F0000", "@ c #FF0000", "................", "................", ".......+........", "......++........", ".....+@+........", "....+@@+++++++..", "...+@@@@@@@@@+..", "..+@@@@@@@@@@+..", ".+@@@@@@@@@@@+..", "..+@@@@@@@@@@+..", "...+@@@@@@@@@+..", "....+@@+++++++..", ".....+@+........", "......++........", ".......+........", "................"}; mathgl-2.1.3.1/include/xpm/folder.xpm0000664000175000017500000000455412142400465017154 0ustar balakinbalakin/* XPM */ static const char * folder_xpm[] = { "16 16 111 2", " c None", ". c #7A7A7A", "+ c #797979", "@ c #787878", "# c #C9C9C9", "$ c #C7C7C7", "% c #C5C5C5", "& c #C4C4C4", "* c #B4B4B4", "= c #747474", "- c #737373", "; c #B0B0B0", "> c #ADADAD", ", c #ABABAB", "' c #AAAAAA", ") c #ACACAC", "! c #8D8D8D", "~ c #8C8C8C", "{ c #808080", "] c #6C6C6C", "^ c #6E6E6E", "/ c #C1C1C0", "( c #A7A7A7", "_ c #A5A5A5", ": c #A4A4A4", "< c #B6B6B6", "[ c #B9B9B9", "} c #BBBBBB", "| c #A2A2A2", "1 c #6A6A6A", "2 c #BDBDBD", "3 c #416DA6", "4 c #3666A5", "5 c #3566A4", "6 c #3465A4", "7 c #3768A6", "8 c #656565", "9 c #B7B7B7", "0 c #3566A5", "a c #BED3EA", "b c #BFD4EA", "c c #BED4EA", "d c #BED3E9", "e c #B8CFE8", "f c #3465A5", "g c #5F5F5F", "h c #B3B3B3", "i c #C1D5EA", "j c #91B4DB", "k c #91B5DB", "l c #92B5DB", "m c #96B8DC", "n c #B7CFE7", "o c #3466A4", "p c #5B5B5B", "q c #AEAEAE", "r c #3667A5", "s c #C4D7EB", "t c #94B7DC", "u c #91B4DA", "v c #B6CDE6", "w c #565656", "x c #A9A9A9", "y c #3666A4", "z c #C6D8EC", "A c #99BADD", "B c #95B7DC", "C c #8EB2DA", "D c #8BB0D9", "E c #B8CFE7", "F c #515151", "G c #A5A5A4", "H c #3767A5", "I c #BED2E9", "J c #9BBADD", "K c #99B9DD", "L c #95B6DC", "M c #90B3DA", "N c #8EB2D9", "O c #89AED8", "P c #87ADD7", "Q c #8BB0D8", "R c #B1C9E5", "S c #4C4C4C", "T c #A1A1A1", "U c #3868A5", "V c #A9C4E2", "W c #81A8D5", "X c #7AA4D3", "Y c #7EA7D4", "Z c #9CBADD", "` c #484848", " . c #9B9B9B", ".. c #3867A4", "+. c #85ABD5", "@. c #6E9CCE", "#. c #6D9CCE", "$. c #709ECF", "%. c #84ABD5", "&. c #494949", "*. c #999999", "=. c #3968A5", "-. c #7EA6D3", ";. c #78A3D2", ">. c #79A4D3", ",. c #7AA5D1", "'. c #788697", "). c #3A69A5", "!. c #5083BA", "~. c #4578B2", "{. c #464D53", " ", ". + + + + + + ", "@ # $ % & & * = ", "- % ; > , ' ) ! ! ~ ~ ~ { ] ", "^ / ) ' ( _ : : ) < [ } | 1 ", "1 2 3 4 4 4 4 4 5 5 5 5 6 6 6 7 ", "8 9 0 a b b c c c d d d d d e f ", "g h 5 i j j k k l l l l l m n o ", "p q r s t t t t t t t t t u v 0 ", "w x y z A A A A A A A B C D E 0 ", "F G H I J K L l M N O P P Q R 0 ", "S T U V W X X X X X X X X Y Z 0 ", "` ...+.@.#.#.#.#.#.#.#.#.$.%.0 ", "&.*.=.-.;.;.;.;.;.;.;.;.;.>.,.0 ", "` '.).!.!.!.!.!.!.!.!.!.!.!.~.4 ", "{.6 6 6 6 6 6 6 6 6 6 6 6 6 5 "}; mathgl-2.1.3.1/include/xpm/document-export.png0000664000175000017500000000175012142400465021011 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÙ7 9:‹ŒtEXtCommentMenu-sized icon ========== (c) 2003 Jakub 'jimmac' Steiner, http://jimmac.musichall.cz created with the GIMP, http://www.gimp.orggŠÇGÐIDAT8Ë¥[HÔyÅ?¿ÿÜ´QSÛÆî£»R b[–•i=XÔF mP”›!…íF½DAE*Ê—²(B,b]¢ b7Û´r» b69®ºNŒ;wçúía ,Š:oçá|8稭%¿ïi럠¹Ü¾`2°H1hâŽü?Æä;wùÀþÝ|EjqÑñõ‰Sm‰ÖKë̤±Eָȴ@Æ®>žÖÞ µ´;™÷bÊ©½—:¿ÐÛFÎ÷·ÜØÒöJ£öN,C¦±èôÖ.Éä×˵£WÐÑ1Ш/6iìm³ºL©ï7—ÕÕ7°cS>]Ý=Ü{øˆ½¹å)Ió?h#MlTÂ3K”ê‰õ¯~Þºûh²¿Éûfƒù›ÊH¿(;‹VWކúOBΫOïN šMò™ÍÐÃhþH{ÉÉkUxýA –ØHÊK§ñ+ c #C6C8C3", ", c #8D8F8A", "' c #B3B5B0", ") c #F7F7F6", "! c #CCCEC9", "~ c #AEAFAB", "{ c #DBDCD9", "] c #91938E", "^ c #8C8E89", "/ c #B6B8B3", "( c #CDCECB", "_ c #B5B6B2", ": c #9FA09C", "< c #B5B6B3", "[ c #B8BAB5", "} c #E1E1DF", "| c #F5F6F5", "1 c #9A9C97", "2 c #A8A9A5", "3 c #BABBB7", "4 c #E7E8E6", "5 c #8A8C87", "6 c #898984", "7 c #C5C6C3", "8 c #B3B2AF", "9 c #9C2F2C", "0 c #AE1818", "a c #AB1616", "b c #A60606", "c c #A34A45", "d c #A60202", "e c #C71A19", "f c #AD1717", "g c #A90707", "h c #D22020", "i c #CE1E1E", "j c #B70F0E", "k c #A40502", "l c #A80403", "m c #C91A1A", "n c #D12020", "o c #CB1F1F", "p c #A90A0A", "q c #A80606", "r c #D01F1F", "s c #A80303", "t c #C01514", "u c #A60101", "v c #CD1D1C", "w c #C01513", "x c #CD1D1D", "y c #A70606", "z c #AB1414", "A c #D52323", "B c #CE1D1D", "C c #CA1B1A", "D c #AB0D0D", "E c #CF1D1D", "F c #B50B0B", "G c #D32121", "H c #AA0C0C", "I c #AA0909", "J c #D62323", "K c #B80D0D", "L c #D11F1F", "M c #AB1111", "N c #AB1313", "O c #DB2727", "P c #A80707", "Q c #AA0808", "R c #D42222", "S c #AA0E0E", "T c #AB1010", "U c #AA0D0D", "V c #AA0B0B", "W c #A90B0B", " .+ .@ ", " #$. %&@ ", " .*=- ;>, ", " ,'). #!~. ", " .{=]^/(. ", " ,_$.:<[. ", " .}|12. ", " ,34;#5 ", " 6789 ", " 0abcdef0 ", " ghijklmnop ", " qrstu vwsxy ", " zA Bp sC nz ", " DE FGH IJK LM ", " NOrBP QREBN ", " STa UVW "}; mathgl-2.1.3.1/include/xpm/go-previous-b.png0000664000175000017500000000120512142400465020345 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÙ ¨ÃdGIDAT8Ë¥“ÍKTQÆŸ3ç~3Œ!Žé0wQ›HÜ„­œ¥¨·##£œ©¶ý.DZ8»iÙ—ˆKÝ*ˆ+IZºlÓæ.¤˜˜ÐÔñÞ;÷Üsß³†:ð®Îó¼ç÷~þùüÓr>_úÔîNÁǶgÒ–LóÚ¸ï5ÛiR˜oø<0ðàîüü ³“Né`~ƹQuœçæà`S†K%8C¶¬Üx¹üÈô<‰í혘Ȃ1Øö µø¿3"úy­¿ÿ~vj꺺»{„ÃÃ&t£XìKêM1Äq¢c`vv.!HÍ×##OŒ\Îb5HIàœ!ŽÕÕ}hÿýlJ8N’T±íòËÊ=tœ{f­`só T5 ÃÐÁ9Ãé©D4 ÄOq Æ8%0ì=ïAGð}‰“"!ކDˆ$¢È‘@5@$ÑlÖáº7“²\÷})¾½\_ã A4<|œë`L…ªf iW iÝPÕ %Æø_]libj­§§Ð;9y[ÛÛ;B½Þ‹}’àyBÄh4"ÀÊJõ<ÁÙãKº~ulzú±Eìì`t4‹J¥ £ã[)•Òª…BÉêfºÎ±°ð ®»È.µÊ®»ø.ŽÃ;[[o÷——?6=/급m ZKRÕ®±0<°Úà¿ó/­/-äÒÑ ËIEND®B`‚mathgl-2.1.3.1/include/xpm/edit-paste.png0000664000175000017500000000106112142400465017706 0ustar balakinbalakin‰PNG  IHDRóÿa pHYs  šœtIMEÕ ¯âñÐIDAT8Ë•“±kSQÆ÷½4‚$1Ô” …"\\´jbÑpvÐ!8EmÄÅA—‚8Žú4ƒ»›¨KÕ.º8)‘R¨ÑHB^olÐFï9¡1/m ~ÛýÎ=?ÎùàT*•Œï{Ï“Ù~ß÷½ÎI±\.k¿onΚ+*Œ+vò¹Ü<Ï ¢¬¬|`_í)hªê­Ç/Y2óg‰øž .œ9ûÒÉð.ÈÒ´¦§§0f ¬­­“LD9šṳ̈¿Î³×«VTS æyf,ñy_ϲxÿAP©TB«ÍÍ"•Jqïîm.f¾!ª1 éÿÔÞ‚D"ª03sl0âñ8[À©éy=€j(–ß¼ ½ ù»)Â>•ç\qúKa{UEEÈ<þò9DAU°Ö21‘ Ðß(Òmnýh>ˆëAª_«4õ!‡5纀VËÒ¨×)ÏÛoØÖnPû^CDzþõù«\žZ¾ÂÞ1¥4I§3¤Ó²ÙÃX»ªpcáZ¯Ù7lŠèïö/·çDò#ïðÓ팦°ÿ«í$µŠ1fSU;`á\÷1Œ3‚T»×øäKOæá˜xiÄÚIEND®B`‚mathgl-2.1.3.1/include/xpm/squize.xpm0000664000175000017500000000064712142400465017220 0ustar balakinbalakin/* XPM */ static const char * squize_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #7F7F7F", " ", " ", " ...... ", " . . ", " . . ", " . . . . ", " +. . . .+ ", "...... ......", " +. . . .+ ", " . . . . ", " . . ", " . . ", " . . ", " ...... ", " ", " "}; mathgl-2.1.3.1/include/xpm/preview.xpm0000664000175000017500000000653412142400465017362 0ustar balakinbalakin/* XPM */ static const char *preview_xpm[] = { "16 16 174 2", " c None", ". c #EA6E0E", "+ c #F67F06", "@ c #E3BB18", "# c #A4E757", "$ c #56E6A3", "% c #25DAD6", "& c #11E5EB", "* c #2AF5D0", "= c #72F588", "- c #B0EC4B", "; c #C7DC34", "> c #C3E336", ", c #98F563", "' c #3FF6BC", ") c #07D5F5", "! c #0E9EEA", "~ c #F44C0A", "{ c #FC0E00", "] c #FB1900", "^ c #FF5B00", "/ c #F7C407", "( c #B5FD49", "_ c #4BFFB3", ": c #0BF6F3", "< c #05D9F9", "[ c #0CD2F2", "} c #14DEEB", "| c #1BF0E3", "1 c #20FEDE", "2 c #27FFD7", "3 c #2BFDD3", "4 c #3BEEC3", "5 c #F14F0A", "6 c #FC1400", "7 c #FB1700", "8 c #FF5000", "9 c #FBBA03", "0 c #B8FD46", "a c #39FCC5", "b c #01CAFE", "c c #0088FF", "d c #0075FF", "e c #008FFF", "f c #01CCFE", "g c #22FCDC", "h c #73FF8B", "i c #BAFC44", "j c #D3E228", "k c #F47B0A", "l c #FF8C00", "m c #F4BA0A", "n c #CBE733", "o c #7DFC81", "p c #2BEDD3", "q c #03C1FB", "r c #0090FF", "s c #0082FF", "t c #009DFF", "u c #08D4F7", "v c #3AFAC4", "w c #98FF66", "x c #E7EF18", "y c #FEBC01", "z c #F4920A", "A c #F4AD0B", "B c #D4F62A", "C c #63FD9B", "D c #16D9E9", "E c #0296FD", "F c #0063FF", "G c #0059FF", "H c #0076FF", "I c #00B6FF", "J c #1AF2E4", "K c #6EFF90", "L c #C8FD36", "M c #F9E306", "N c #FFB900", "O c #FFA800", "P c #F4AF0B", "Q c #EFBD0D", "R c #A0FF5E", "S c #1BF3E3", "T c #009CFF", "U c #0056FF", "V c #0041FF", "W c #005DFF", "X c #00A0FF", "Y c #0EEEF0", "Z c #5FFF9F", "` c #B7FF47", " . c #F1FA0D", ".. c #F9E606", "+. c #F0E70E", "@. c #D4F42A", "#. c #9CF05F", "$. c #F4AA0A", "%. c #DFF01F", "&. c #8DFD71", "*. c #4CF4B2", "=. c #2DDFD1", "-. c #21D5DE", ";. c #1CDFE2", ">. c #20F4DE", ",. c #3BFFC3", "'. c #79FF85", "). c #80FF7E", "!. c #72FE8C", "~. c #51FAAD", "{. c #28EFD6", "]. c #14CDEA", "^. c #F4760A", "/. c #FF6B00", "(. c #FD6D00", "_. c #F87A05", ":. c #F1910C", "<. c #E9B615", "[. c #D8DF26", "}. c #B2FC4C", "|. c #70FF8E", "1. c #2DFED1", "2. c #0BE3F3", "3. c #04B9FB", "4. c #0099FE", "5. c #0085FF", "6. c #007EFF", "7. c #0A84F4", "8. c #F1480A", "9. c #EA0500", "0. c #C50000", "a. c #B30000", "b. c #BB0100", "c. c #DA0600", "d. c #FA3500", "e. c #FCB403", "f. c #ACFD52", "g. c #24F8DA", "h. c #00A5FF", "i. c #0036FF", "j. c #0046FF", "k. c #007FFF", "l. c #11C0EA", "m. c #F4440A", "n. c #E10100", "o. c #B20000", "p. c #990000", "q. c #9B0000", "r. c #B90000", "s. c #EB0500", "t. c #FF6700", "u. c #E9E716", "v. c #75FF89", "w. c #1EE7E0", "x. c #09B9F6", "y. c #06ACF8", "z. c #11C6ED", "A. c #38F0C6", "B. c #8FF26F", "C. c #E9630E", "D. c #F43606", "E. c #E92406", "F. c #E02006", "G. c #DE2006", "H. c #F43706", "I. c #F56806", "J. c #F5A106", "K. c #EBCC11", "L. c #CED92D", "M. c #B9DB41", "N. c #B9DD43", "O. c #C8D933", "P. c #E3CE18", "Q. c #E8AB10", " ", " ", " ", ". + @ # $ % & * = - ; > , ' ) ! ", "~ { ] ^ / ( _ : < [ } | 1 2 3 4 ", "5 6 7 8 9 0 a b c d e f g h i j ", "k l m n o p q r s t u v w x y z ", "A B C D E F G H I J K L M N O P ", "Q R S T U V W X Y Z ` ...+.@.#.", "$.%.&.*.=.-.;.>.,.Z '.).!.~.{.].", "^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.", "8.9.0.a.b.c.d.e.f.g.h.U i.j.k.l.", "m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.", "C.D.E.F.G.E.H.I.J.K.L.M.N.O.P.Q.", " ", " "}; mathgl-2.1.3.1/include/xpm/dash_d.xpm0000664000175000017500000000063012142400465017112 0ustar balakinbalakin/* XPM */ static const char * dash_d_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ". . . . ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/include/xpm/mark_vf.xpm0000664000175000017500000000063112142400465017316 0ustar balakinbalakin/* XPM */ static const char * mark_vf_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", "................", "................", " .............. ", " .............. ", " ............ ", " .......... ", " .......... ", " ........ ", " ...... ", " ...... ", " .... ", " .. "}; mathgl-2.1.3.1/include/xpm/go-up.xpm0000664000175000017500000000441312142400465016722 0ustar balakinbalakin/* XPM */ static const char * go_up_xpm[] = { "16 16 105 2", " c None", ". c #3B7504", "+ c #578928", "@ c #568926", "# c #41790F", "$ c #A7CA87", "% c #A2C77E", "& c #41790E", "* c #3A7404", "= c #96BD72", "- c #9AC572", "; c #95C26A", "> c #86B35B", ", c #3B7404", "' c #78A54E", ") c #B0D291", "! c #7DB448", "~ c #76B13F", "{ c #6A9C3B", "] c #578A28", "^ c #BBD7A0", "/ c #8CBD5F", "( c #80B64D", "_ c #7AB344", ": c #5CA21A", "< c #9AC471", "[ c #4F841D", "} c #40780D", "| c #B7D49C", "1 c #A0C97A", "2 c #8BBE5A", "3 c #86BC51", "4 c #74B438", "5 c #53A308", "6 c #6CAF2C", "7 c #97C36E", "8 c #3E770A", "9 c #A1C480", "0 c #B5D597", "a c #96C569", "b c #91C560", "c c #8BC356", "d c #66B01D", "e c #59AC0B", "f c #59AB0B", "g c #85C14D", "h c #84B455", "i c #7FA956", "j c #C7DFB0", "k c #A0CB77", "l c #9ACA6C", "m c #96CA63", "n c #81C143", "o c #5EB30D", "p c #5FB50D", "q c #5FB40D", "r c #5FB20F", "s c #9BCE6A", "t c #679C35", "u c #588B28", "v c #CAE0B5", "w c #D0E5BC", "x c #CEE5B8", "y c #CBE5B3", "z c #97CD63", "A c #68BA19", "B c #64BC0F", "C c #65BE10", "D c #AFDC83", "E c #AEDB82", "F c #ACD982", "G c #A6D37B", "H c #4C8418", "I c #3A7304", "J c #3C7804", "K c #CBE6B2", "L c #89C94B", "M c #65BD10", "N c #69C311", "O c #6BC712", "P c #B2E184", "Q c #3E7A05", "R c #CAE5B0", "S c #78C331", "T c #67C011", "U c #6CC813", "V c #71CF15", "W c #B4E585", "X c #C8E4AD", "Y c #6DBD1F", "Z c #66BF10", "` c #6AC512", " . c #6DC913", ".. c #B3E384", "+. c #C5E2A9", "@. c #65B616", "#. c #63BA0F", "$. c #66BE10", "%. c #67C111", "&. c #B0DE83", "*. c #C1DFA5", "=. c #AAD581", "-. c #ABD781", ";. c #ADDA82", ">. c #ADD982", " . . ", " + @ ", " # $ % & ", " * = - ; > * ", " , ' ) ! ~ ; { * ", " ] ^ / ( _ : < [ ", " } | 1 2 3 4 5 6 7 8 ", " * 9 0 a b c d e f g h . ", " , i j k l m n o p q r s t . ", " u v w x y z A B C D E F G H ", ". I I I J K L M N O P Q I I I . ", " I R S T U V W I ", " I X Y Z ` ...I ", " I +.@.#.$.%.&.I ", " I *.=.-.F ;.>.I ", " * I I I I I I , "}; mathgl-2.1.3.1/include/xpm/dash_j.xpm0000664000175000017500000000063012142400465017120 0ustar balakinbalakin/* XPM */ static const char * dash_j_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ".... . .... .", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/src/prc/PRCbitStream.cc0000664000175000017500000002020212142400465017071 0ustar balakinbalakin/************ * * This file is part of a tool for producing 3D content in the PRC format. * Copyright (C) 2008 Orest Shardt * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * *************/ #include #include #include #include #include #include #include "PRCbitStream.h" #include "PRCdouble.h" using std::string; using std::cerr; using std::endl; void PRCbitStream::compress() { const int CHUNK= 1024; // is this reasonable? compressedDataSize = 0; z_stream strm; strm.zalloc = Z_NULL; strm.zfree = Z_NULL; strm.opaque = Z_NULL; if(deflateInit(&strm,Z_DEFAULT_COMPRESSION) != Z_OK) { cerr << "Compression initialization failed" << endl; return; } unsigned int sizeAvailable = deflateBound(&strm,getSize()); uint8_t *compressedData = (uint8_t*) malloc(sizeAvailable); strm.avail_in = getSize(); strm.next_in = (unsigned char*)data; strm.next_out = (unsigned char*)compressedData; strm.avail_out = sizeAvailable; int code; unsigned int chunks = 0; while((code = deflate(&strm,Z_FINISH)) == Z_OK) { ++chunks; // strm.avail_out should be 0 if we got Z_OK compressedDataSize = sizeAvailable - strm.avail_out; compressedData = (uint8_t*) realloc(compressedData,CHUNK*chunks); strm.next_out = (Bytef*)(compressedData + compressedDataSize); strm.avail_out += CHUNK; sizeAvailable += CHUNK; } compressedDataSize = sizeAvailable-strm.avail_out; if(code != Z_STREAM_END) { cerr << "Compression error" << endl; deflateEnd(&strm); free(compressedData); return; } compressed = true; free(data); data = compressedData; deflateEnd(&strm); } void PRCbitStream::write(std::ostream &out) const { if(compressed) { out.write((char*)data,compressedDataSize); } else { cerr << "Attempt to write stream before compression." << endl; exit(1); } } unsigned int PRCbitStream::getSize() const { if(compressed) return compressedDataSize; else return byteIndex+1; } uint8_t* PRCbitStream::getData() { return data; } PRCbitStream& PRCbitStream::operator <<(bool b) { writeBit(b); return *this; } PRCbitStream& PRCbitStream::operator <<(uint32_t u) { while(u != 0) { writeBit(1); writeByte(u & 0xFF); u >>= 8; } writeBit(0); return *this; } PRCbitStream& PRCbitStream::operator <<(uint8_t u) { writeByte(u); return *this; } PRCbitStream& PRCbitStream::operator <<(int32_t i) { uint8_t lastByte = 0; //while(!((current value is 0 and last byte was positive) OR (current value is -1 and last value was negative))) while(!(((i == 0)&&((lastByte & 0x80)==0))||((i == -1)&&((lastByte & 0x80) != 0)))) { writeBit(1); lastByte = i & 0xFF; writeByte(lastByte); i >>= 8; } writeBit(0); return *this; } PRCbitStream& PRCbitStream::operator <<(double value) { // write a double if(compressed) { cerr << "Cannot write to a stream that has been compressed." << endl; return *this; } union ieee754_double *pid=(union ieee754_double *)&value; int i, fSaveAtEnd; PRCbyte *pb, *pbStart, *pbStop, *pbEnd, *pbResult, bSaveAtEnd = 0; struct sCodageOfFrequentDoubleOrExponent cofdoe, *pcofdoe; cofdoe.u2uod.Value=value; pcofdoe = (struct sCodageOfFrequentDoubleOrExponent *)bsearch( &cofdoe, acofdoe, sizeof(acofdoe)/sizeof(pcofdoe[0]), sizeof(pcofdoe[0]), stCOFDOECompare); while(pcofdoe>acofdoe && EXPONENT(pcofdoe->u2uod.Value)==EXPONENT((pcofdoe-1)->u2uod.Value)) pcofdoe--; assert(pcofdoe); while(pcofdoe->Type==VT_double) { if(fabs(value)==pcofdoe->u2uod.Value) break; pcofdoe++; } for(i=1<<(pcofdoe->NumberOfBits-1);i>=1;i>>=1) writeBit((pcofdoe->Bits&i)!=0); if ( !memcmp(&value,stadwZero,sizeof(value)) || !memcmp(&value,stadwNegativeZero,sizeof(value)) ) return *this; writeBit(pid->ieee.negative); if(pcofdoe->Type==VT_double) return *this; if(pid->ieee.mantissa0==0 && pid->ieee.mantissa1==0) { writeBit(0); return *this; } writeBit(1); #ifdef WORDS_BIGENDIAN pb=((PRCbyte *)&value)+1; #else pb=((PRCbyte *)&value)+6; #endif //add_bits((*pb)&0x0f,4 STAT_V STAT_DOUBLE); writeBits((*pb)&0x0F,4); NEXTBYTE(pb); pbStart=pb; #ifdef WORDS_BIGENDIAN pbEnd= pbStop= ((PRCbyte *)(&value+1))-1; #else pbEnd= pbStop= ((PRCbyte *)&value); #endif if((fSaveAtEnd=(*pbStop!=*BEFOREBYTE(pbStop)))!=0) bSaveAtEnd=*pbEnd; PREVIOUSBYTE(pbStop); while(*pbStop==*BEFOREBYTE(pbStop)) PREVIOUSBYTE(pbStop); for(;MOREBYTE(pb,pbStop);NEXTBYTE(pb)) { if(pb!=pbStart && (pbResult=SEARCHBYTE(BEFOREBYTE(pb),*pb,DIFFPOINTERS(pb,pbStart)))!=NULL) { writeBit(0); writeBits(DIFFPOINTERS(pb,pbResult),3); } else { writeBit(1); writeByte(*pb); } } if(!MOREBYTE(BEFOREBYTE(pbEnd),pbStop)) { if(fSaveAtEnd) { writeBit(0); writeBits(6,3); writeByte(bSaveAtEnd); } else { writeBit(0); writeBits(0,3); } } else { if((pbResult=SEARCHBYTE(BEFOREBYTE(pb),*pb,DIFFPOINTERS(pb,pbStart)))!=NULL) { writeBit(0); writeBits(DIFFPOINTERS(pb,pbResult),3); } else { writeBit(1); writeByte(*pb); } } return *this; } PRCbitStream& PRCbitStream::operator <<(const char* s) { if (s == NULL) { writeBit(false); // string is NULL return *this; } string str(s); *this << str; return *this; } PRCbitStream& PRCbitStream::operator <<(const string& s) { if(s == "") { writeBit(false); // string is NULL return *this; } writeBit(true); size_t l = s.length(); *this << static_cast(l); for(size_t i = 0; i < l; ++i) writeByte(s[i]); return *this; } void PRCbitStream::writeBit(bool b) { if(compressed) { cerr << "Cannot write to a stream that has been compressed." << endl; return; } if(b) { data[byteIndex] |= (0x80 >> bitIndex); } nextBit(); } void PRCbitStream::writeBits(uint32_t u, uint8_t bits) { if(bits > 32) return; else { for(uint32_t mask = (1 << (bits-1)); mask != 0; mask >>= 1) { writeBit((u&mask) != 0); } } } void PRCbitStream::writeByte(uint8_t u) { if(compressed) { cerr << "Cannot write to a stream that has been compressed." << endl; return; } if(bitIndex == 0) { data[byteIndex] = u; nextByte(); } else { data[byteIndex] |= (u >> bitIndex); unsigned int obi = bitIndex; nextByte(); data[byteIndex] |= (u << (8-obi)); bitIndex = obi; // bit index is not changed by writing 8 bits } } void PRCbitStream::nextBit() { ++bitIndex; if(bitIndex == 8) { nextByte(); } } void PRCbitStream::nextByte() { ++byteIndex; if(byteIndex >= allocatedLength) getAChunk(); data[byteIndex] = 0; // clear the garbage data bitIndex = 0; } void PRCbitStream::getAChunk() { if(allocatedLength==0) data = (uint8_t*)realloc((void*)data,CHUNK_SIZE); else data = (uint8_t*)realloc((void*)data,2*allocatedLength); if(data != NULL) { if(allocatedLength==0) { allocatedLength = CHUNK_SIZE; *data = 0; // clear first byte } else allocatedLength *= 2; } else { // warn about memory problem! cerr << "Memory allocation error." << endl; exit(1); } } mathgl-2.1.3.1/src/prc/PRCdouble.cc0000664000175000017500000053213612142400465016427 0ustar balakinbalakin#include "PRCdouble.h" // from Adobe's documentation PRCdword stadwZero[2]={DOUBLEWITHTWODWORD(0x00000000,0x00000000)}; PRCdword stadwNegativeZero[2]={DOUBLEWITHTWODWORD(0x80000000,0x00000000)}; struct sCodageOfFrequentDoubleOrExponent* getcofdoe(unsigned Bits, short NumberOfBits) { struct sCodageOfFrequentDoubleOrExponent *pcofdoe; for(pcofdoe=acofdoe; pcofdoe < acofdoe+NUMBEROFELEMENTINACOFDOE; ++pcofdoe) { if(pcofdoe->NumberOfBits == NumberOfBits && pcofdoe->Bits == Bits) return pcofdoe; } return NULL; } int stCOFDOECompare(const void* pcofdoe1,const void* pcofdoe2) { return(EXPONENT(((const struct sCodageOfFrequentDoubleOrExponent *)pcofdoe1)->u2uod.Value)- EXPONENT(((const struct sCodageOfFrequentDoubleOrExponent *)pcofdoe2)->u2uod.Value)); } #ifdef WORDS_BIGENDIAN #ifndef HAVE_MEMRCHR void *memrchr(const void *buf,int c,size_t count) { unsigned char *pcBuffer=(unsigned char *)buf, *pcBufferEnd=pcBuffer-count; for(;pcBuffer>pcBufferEnd;pcBuffer--) if(*pcBuffer==c) return(pcBuffer); return(NULL); } #endif #endif sCodageOfFrequentDoubleOrExponent acofdoe[NUMBEROFELEMENTINACOFDOE] = { {VT_double,2,0x1,{DOUBLEWITHTWODWORDINTREE(0x00000000,0x00000000)}}, {VT_exponent,22,0xd1d32,{DOUBLEWITHTWODWORDINTREE(0x00000000,0x00000000)}}, {VT_exponent,22,0xd1d33,{DOUBLEWITHTWODWORDINTREE(0x00100000,0x00000000)}}, {VT_exponent,22,0xf78d8,{DOUBLEWITHTWODWORDINTREE(0x00200000,0x00000000)}}, {VT_exponent,22,0xf78d9,{DOUBLEWITHTWODWORDINTREE(0x00300000,0x00000000)}}, {VT_exponent,22,0xf78da,{DOUBLEWITHTWODWORDINTREE(0x00400000,0x00000000)}}, {VT_exponent,22,0xf78db,{DOUBLEWITHTWODWORDINTREE(0x00500000,0x00000000)}}, {VT_exponent,22,0xf78dc,{DOUBLEWITHTWODWORDINTREE(0x00600000,0x00000000)}}, {VT_exponent,22,0xf78dd,{DOUBLEWITHTWODWORDINTREE(0x00700000,0x00000000)}}, {VT_exponent,22,0xf78de,{DOUBLEWITHTWODWORDINTREE(0x00800000,0x00000000)}}, {VT_exponent,22,0xf78df,{DOUBLEWITHTWODWORDINTREE(0x00900000,0x00000000)}}, {VT_exponent,22,0xf78e0,{DOUBLEWITHTWODWORDINTREE(0x00a00000,0x00000000)}}, {VT_exponent,22,0xf78e1,{DOUBLEWITHTWODWORDINTREE(0x00b00000,0x00000000)}}, {VT_exponent,22,0xf78e2,{DOUBLEWITHTWODWORDINTREE(0x00c00000,0x00000000)}}, {VT_exponent,22,0xf78e3,{DOUBLEWITHTWODWORDINTREE(0x00d00000,0x00000000)}}, {VT_exponent,22,0xf78e4,{DOUBLEWITHTWODWORDINTREE(0x00e00000,0x00000000)}}, {VT_exponent,22,0xf78e5,{DOUBLEWITHTWODWORDINTREE(0x00f00000,0x00000000)}}, {VT_exponent,22,0xf78e6,{DOUBLEWITHTWODWORDINTREE(0x01000000,0x00000000)}}, {VT_exponent,22,0xf78e7,{DOUBLEWITHTWODWORDINTREE(0x01100000,0x00000000)}}, {VT_exponent,22,0xf78e8,{DOUBLEWITHTWODWORDINTREE(0x01200000,0x00000000)}}, {VT_exponent,22,0xf78e9,{DOUBLEWITHTWODWORDINTREE(0x01300000,0x00000000)}}, {VT_exponent,22,0xf78ea,{DOUBLEWITHTWODWORDINTREE(0x01400000,0x00000000)}}, {VT_exponent,22,0xf78eb,{DOUBLEWITHTWODWORDINTREE(0x01500000,0x00000000)}}, {VT_exponent,22,0xf78ec,{DOUBLEWITHTWODWORDINTREE(0x01600000,0x00000000)}}, {VT_exponent,22,0xf78ed,{DOUBLEWITHTWODWORDINTREE(0x01700000,0x00000000)}}, {VT_exponent,22,0xf78ee,{DOUBLEWITHTWODWORDINTREE(0x01800000,0x00000000)}}, {VT_exponent,22,0xf78ef,{DOUBLEWITHTWODWORDINTREE(0x01900000,0x00000000)}}, {VT_exponent,22,0xf78f0,{DOUBLEWITHTWODWORDINTREE(0x01a00000,0x00000000)}}, {VT_exponent,22,0xf78f1,{DOUBLEWITHTWODWORDINTREE(0x01b00000,0x00000000)}}, {VT_exponent,22,0xf78f2,{DOUBLEWITHTWODWORDINTREE(0x01c00000,0x00000000)}}, {VT_exponent,22,0xf78f3,{DOUBLEWITHTWODWORDINTREE(0x01d00000,0x00000000)}}, {VT_exponent,22,0xf78f4,{DOUBLEWITHTWODWORDINTREE(0x01e00000,0x00000000)}}, {VT_exponent,22,0xf78f5,{DOUBLEWITHTWODWORDINTREE(0x01f00000,0x00000000)}}, {VT_exponent,22,0xf78f6,{DOUBLEWITHTWODWORDINTREE(0x02000000,0x00000000)}}, {VT_exponent,22,0xf78f7,{DOUBLEWITHTWODWORDINTREE(0x02100000,0x00000000)}}, {VT_exponent,22,0xf78f8,{DOUBLEWITHTWODWORDINTREE(0x02200000,0x00000000)}}, {VT_exponent,22,0xf78f9,{DOUBLEWITHTWODWORDINTREE(0x02300000,0x00000000)}}, {VT_exponent,22,0xf78fa,{DOUBLEWITHTWODWORDINTREE(0x02400000,0x00000000)}}, {VT_exponent,22,0xf78fb,{DOUBLEWITHTWODWORDINTREE(0x02500000,0x00000000)}}, {VT_exponent,22,0xf78fc,{DOUBLEWITHTWODWORDINTREE(0x02600000,0x00000000)}}, {VT_exponent,22,0xf78fd,{DOUBLEWITHTWODWORDINTREE(0x02700000,0x00000000)}}, {VT_exponent,22,0xf78fe,{DOUBLEWITHTWODWORDINTREE(0x02800000,0x00000000)}}, {VT_exponent,22,0xf78ff,{DOUBLEWITHTWODWORDINTREE(0x02900000,0x00000000)}}, {VT_exponent,22,0x3a8300,{DOUBLEWITHTWODWORDINTREE(0x02a00000,0x00000000)}}, {VT_exponent,22,0x3a8301,{DOUBLEWITHTWODWORDINTREE(0x02b00000,0x00000000)}}, {VT_exponent,22,0x3a8302,{DOUBLEWITHTWODWORDINTREE(0x02c00000,0x00000000)}}, {VT_exponent,22,0x3a8303,{DOUBLEWITHTWODWORDINTREE(0x02d00000,0x00000000)}}, {VT_exponent,22,0x3a8304,{DOUBLEWITHTWODWORDINTREE(0x02e00000,0x00000000)}}, {VT_exponent,22,0x3a8305,{DOUBLEWITHTWODWORDINTREE(0x02f00000,0x00000000)}}, {VT_exponent,22,0x3a8306,{DOUBLEWITHTWODWORDINTREE(0x03000000,0x00000000)}}, {VT_exponent,22,0x3a8307,{DOUBLEWITHTWODWORDINTREE(0x03100000,0x00000000)}}, {VT_exponent,22,0x3a8308,{DOUBLEWITHTWODWORDINTREE(0x03200000,0x00000000)}}, {VT_exponent,22,0x3a8309,{DOUBLEWITHTWODWORDINTREE(0x03300000,0x00000000)}}, {VT_exponent,22,0x3a830a,{DOUBLEWITHTWODWORDINTREE(0x03400000,0x00000000)}}, {VT_exponent,22,0x3a830b,{DOUBLEWITHTWODWORDINTREE(0x03500000,0x00000000)}}, {VT_exponent,22,0x3a830c,{DOUBLEWITHTWODWORDINTREE(0x03600000,0x00000000)}}, {VT_exponent,22,0x3a830d,{DOUBLEWITHTWODWORDINTREE(0x03700000,0x00000000)}}, {VT_exponent,22,0x3a830e,{DOUBLEWITHTWODWORDINTREE(0x03800000,0x00000000)}}, {VT_exponent,22,0x3a830f,{DOUBLEWITHTWODWORDINTREE(0x03900000,0x00000000)}}, {VT_exponent,22,0x3a8310,{DOUBLEWITHTWODWORDINTREE(0x03a00000,0x00000000)}}, {VT_exponent,22,0x3a8311,{DOUBLEWITHTWODWORDINTREE(0x03b00000,0x00000000)}}, {VT_exponent,22,0x3a8312,{DOUBLEWITHTWODWORDINTREE(0x03c00000,0x00000000)}}, {VT_exponent,22,0x3a8313,{DOUBLEWITHTWODWORDINTREE(0x03d00000,0x00000000)}}, {VT_exponent,22,0x3a8314,{DOUBLEWITHTWODWORDINTREE(0x03e00000,0x00000000)}}, {VT_exponent,22,0x3a8315,{DOUBLEWITHTWODWORDINTREE(0x03f00000,0x00000000)}}, {VT_exponent,22,0x3a8316,{DOUBLEWITHTWODWORDINTREE(0x04000000,0x00000000)}}, {VT_exponent,22,0x3a8317,{DOUBLEWITHTWODWORDINTREE(0x04100000,0x00000000)}}, {VT_exponent,22,0x3a8318,{DOUBLEWITHTWODWORDINTREE(0x04200000,0x00000000)}}, {VT_exponent,22,0x3a8319,{DOUBLEWITHTWODWORDINTREE(0x04300000,0x00000000)}}, {VT_exponent,22,0x3a831a,{DOUBLEWITHTWODWORDINTREE(0x04400000,0x00000000)}}, {VT_exponent,22,0x3a831b,{DOUBLEWITHTWODWORDINTREE(0x04500000,0x00000000)}}, {VT_exponent,22,0x3a831c,{DOUBLEWITHTWODWORDINTREE(0x04600000,0x00000000)}}, {VT_exponent,22,0x3a831d,{DOUBLEWITHTWODWORDINTREE(0x04700000,0x00000000)}}, {VT_exponent,22,0x3a831e,{DOUBLEWITHTWODWORDINTREE(0x04800000,0x00000000)}}, {VT_exponent,22,0x3a831f,{DOUBLEWITHTWODWORDINTREE(0x04900000,0x00000000)}}, {VT_exponent,22,0x3a8320,{DOUBLEWITHTWODWORDINTREE(0x04a00000,0x00000000)}}, {VT_exponent,22,0x3a8321,{DOUBLEWITHTWODWORDINTREE(0x04b00000,0x00000000)}}, {VT_exponent,22,0x3a8322,{DOUBLEWITHTWODWORDINTREE(0x04c00000,0x00000000)}}, {VT_exponent,22,0x3a8323,{DOUBLEWITHTWODWORDINTREE(0x04d00000,0x00000000)}}, {VT_exponent,22,0x3a8324,{DOUBLEWITHTWODWORDINTREE(0x04e00000,0x00000000)}}, {VT_exponent,22,0x3a8325,{DOUBLEWITHTWODWORDINTREE(0x04f00000,0x00000000)}}, {VT_exponent,22,0x3a8326,{DOUBLEWITHTWODWORDINTREE(0x05000000,0x00000000)}}, {VT_exponent,22,0x3a8327,{DOUBLEWITHTWODWORDINTREE(0x05100000,0x00000000)}}, {VT_exponent,22,0x3a8328,{DOUBLEWITHTWODWORDINTREE(0x05200000,0x00000000)}}, {VT_exponent,22,0x3a8329,{DOUBLEWITHTWODWORDINTREE(0x05300000,0x00000000)}}, {VT_exponent,22,0x3a832a,{DOUBLEWITHTWODWORDINTREE(0x05400000,0x00000000)}}, {VT_exponent,22,0x3a832b,{DOUBLEWITHTWODWORDINTREE(0x05500000,0x00000000)}}, {VT_exponent,22,0x3a832c,{DOUBLEWITHTWODWORDINTREE(0x05600000,0x00000000)}}, {VT_exponent,22,0x3a832d,{DOUBLEWITHTWODWORDINTREE(0x05700000,0x00000000)}}, {VT_exponent,22,0x3a832e,{DOUBLEWITHTWODWORDINTREE(0x05800000,0x00000000)}}, {VT_exponent,22,0x3a832f,{DOUBLEWITHTWODWORDINTREE(0x05900000,0x00000000)}}, {VT_exponent,22,0x3a8330,{DOUBLEWITHTWODWORDINTREE(0x05a00000,0x00000000)}}, {VT_exponent,22,0x3a8331,{DOUBLEWITHTWODWORDINTREE(0x05b00000,0x00000000)}}, {VT_exponent,22,0x3a8332,{DOUBLEWITHTWODWORDINTREE(0x05c00000,0x00000000)}}, {VT_exponent,22,0x3a8333,{DOUBLEWITHTWODWORDINTREE(0x05d00000,0x00000000)}}, {VT_exponent,22,0x3a8334,{DOUBLEWITHTWODWORDINTREE(0x05e00000,0x00000000)}}, {VT_exponent,22,0x3a8335,{DOUBLEWITHTWODWORDINTREE(0x05f00000,0x00000000)}}, {VT_exponent,22,0x3a8336,{DOUBLEWITHTWODWORDINTREE(0x06000000,0x00000000)}}, {VT_exponent,22,0x3a8337,{DOUBLEWITHTWODWORDINTREE(0x06100000,0x00000000)}}, {VT_exponent,22,0x3a8338,{DOUBLEWITHTWODWORDINTREE(0x06200000,0x00000000)}}, {VT_exponent,22,0x3a8339,{DOUBLEWITHTWODWORDINTREE(0x06300000,0x00000000)}}, {VT_exponent,22,0x3a833a,{DOUBLEWITHTWODWORDINTREE(0x06400000,0x00000000)}}, {VT_exponent,22,0x3a833b,{DOUBLEWITHTWODWORDINTREE(0x06500000,0x00000000)}}, {VT_exponent,22,0x3a833c,{DOUBLEWITHTWODWORDINTREE(0x06600000,0x00000000)}}, {VT_exponent,22,0x3a833d,{DOUBLEWITHTWODWORDINTREE(0x06700000,0x00000000)}}, {VT_exponent,22,0x3a833e,{DOUBLEWITHTWODWORDINTREE(0x06800000,0x00000000)}}, {VT_exponent,22,0x3a833f,{DOUBLEWITHTWODWORDINTREE(0x06900000,0x00000000)}}, {VT_exponent,22,0x3a8340,{DOUBLEWITHTWODWORDINTREE(0x06a00000,0x00000000)}}, {VT_exponent,22,0x3a8341,{DOUBLEWITHTWODWORDINTREE(0x06b00000,0x00000000)}}, {VT_exponent,22,0x3a8342,{DOUBLEWITHTWODWORDINTREE(0x06c00000,0x00000000)}}, {VT_exponent,22,0x3a8343,{DOUBLEWITHTWODWORDINTREE(0x06d00000,0x00000000)}}, {VT_exponent,22,0x3a8344,{DOUBLEWITHTWODWORDINTREE(0x06e00000,0x00000000)}}, {VT_exponent,22,0x3a8345,{DOUBLEWITHTWODWORDINTREE(0x06f00000,0x00000000)}}, {VT_exponent,22,0x3a8346,{DOUBLEWITHTWODWORDINTREE(0x07000000,0x00000000)}}, {VT_exponent,22,0x3a8347,{DOUBLEWITHTWODWORDINTREE(0x07100000,0x00000000)}}, {VT_exponent,22,0x3a8348,{DOUBLEWITHTWODWORDINTREE(0x07200000,0x00000000)}}, {VT_exponent,22,0x3a8349,{DOUBLEWITHTWODWORDINTREE(0x07300000,0x00000000)}}, {VT_exponent,22,0x3a834a,{DOUBLEWITHTWODWORDINTREE(0x07400000,0x00000000)}}, {VT_exponent,22,0x3a834b,{DOUBLEWITHTWODWORDINTREE(0x07500000,0x00000000)}}, {VT_exponent,22,0x3a834c,{DOUBLEWITHTWODWORDINTREE(0x07600000,0x00000000)}}, {VT_exponent,22,0x3a834d,{DOUBLEWITHTWODWORDINTREE(0x07700000,0x00000000)}}, {VT_exponent,22,0x3a834e,{DOUBLEWITHTWODWORDINTREE(0x07800000,0x00000000)}}, {VT_exponent,22,0x3a834f,{DOUBLEWITHTWODWORDINTREE(0x07900000,0x00000000)}}, {VT_exponent,22,0x3a8350,{DOUBLEWITHTWODWORDINTREE(0x07a00000,0x00000000)}}, {VT_exponent,22,0x3a8351,{DOUBLEWITHTWODWORDINTREE(0x07b00000,0x00000000)}}, {VT_exponent,22,0x3a8352,{DOUBLEWITHTWODWORDINTREE(0x07c00000,0x00000000)}}, {VT_exponent,22,0x3a8353,{DOUBLEWITHTWODWORDINTREE(0x07d00000,0x00000000)}}, {VT_exponent,22,0x3a8354,{DOUBLEWITHTWODWORDINTREE(0x07e00000,0x00000000)}}, {VT_exponent,22,0x3a8355,{DOUBLEWITHTWODWORDINTREE(0x07f00000,0x00000000)}}, {VT_exponent,22,0x3a8356,{DOUBLEWITHTWODWORDINTREE(0x08000000,0x00000000)}}, {VT_exponent,22,0x3a8357,{DOUBLEWITHTWODWORDINTREE(0x08100000,0x00000000)}}, {VT_exponent,22,0x3a8358,{DOUBLEWITHTWODWORDINTREE(0x08200000,0x00000000)}}, {VT_exponent,22,0x3a8359,{DOUBLEWITHTWODWORDINTREE(0x08300000,0x00000000)}}, {VT_exponent,22,0x3a835a,{DOUBLEWITHTWODWORDINTREE(0x08400000,0x00000000)}}, {VT_exponent,22,0x3a835b,{DOUBLEWITHTWODWORDINTREE(0x08500000,0x00000000)}}, {VT_exponent,22,0x3a835c,{DOUBLEWITHTWODWORDINTREE(0x08600000,0x00000000)}}, {VT_exponent,22,0x3a835d,{DOUBLEWITHTWODWORDINTREE(0x08700000,0x00000000)}}, {VT_exponent,22,0x3a835e,{DOUBLEWITHTWODWORDINTREE(0x08800000,0x00000000)}}, {VT_exponent,22,0x3a835f,{DOUBLEWITHTWODWORDINTREE(0x08900000,0x00000000)}}, {VT_exponent,22,0x3a8360,{DOUBLEWITHTWODWORDINTREE(0x08a00000,0x00000000)}}, {VT_exponent,22,0x3a8361,{DOUBLEWITHTWODWORDINTREE(0x08b00000,0x00000000)}}, {VT_exponent,22,0x3a8362,{DOUBLEWITHTWODWORDINTREE(0x08c00000,0x00000000)}}, {VT_exponent,22,0x3a8363,{DOUBLEWITHTWODWORDINTREE(0x08d00000,0x00000000)}}, {VT_exponent,22,0x3a8364,{DOUBLEWITHTWODWORDINTREE(0x08e00000,0x00000000)}}, {VT_exponent,22,0x3a8365,{DOUBLEWITHTWODWORDINTREE(0x08f00000,0x00000000)}}, {VT_exponent,22,0x3a8366,{DOUBLEWITHTWODWORDINTREE(0x09000000,0x00000000)}}, {VT_exponent,22,0x3a8367,{DOUBLEWITHTWODWORDINTREE(0x09100000,0x00000000)}}, {VT_exponent,22,0x3a8368,{DOUBLEWITHTWODWORDINTREE(0x09200000,0x00000000)}}, {VT_exponent,22,0x3a8369,{DOUBLEWITHTWODWORDINTREE(0x09300000,0x00000000)}}, {VT_exponent,22,0x3a836a,{DOUBLEWITHTWODWORDINTREE(0x09400000,0x00000000)}}, {VT_exponent,22,0x3a836b,{DOUBLEWITHTWODWORDINTREE(0x09500000,0x00000000)}}, {VT_exponent,22,0x3a836c,{DOUBLEWITHTWODWORDINTREE(0x09600000,0x00000000)}}, {VT_exponent,22,0x3a836d,{DOUBLEWITHTWODWORDINTREE(0x09700000,0x00000000)}}, {VT_exponent,22,0x3a836e,{DOUBLEWITHTWODWORDINTREE(0x09800000,0x00000000)}}, {VT_exponent,22,0x3a836f,{DOUBLEWITHTWODWORDINTREE(0x09900000,0x00000000)}}, {VT_exponent,22,0x3a8370,{DOUBLEWITHTWODWORDINTREE(0x09a00000,0x00000000)}}, {VT_exponent,22,0x3a8371,{DOUBLEWITHTWODWORDINTREE(0x09b00000,0x00000000)}}, {VT_exponent,22,0x3a8372,{DOUBLEWITHTWODWORDINTREE(0x09c00000,0x00000000)}}, {VT_exponent,22,0x3a8373,{DOUBLEWITHTWODWORDINTREE(0x09d00000,0x00000000)}}, {VT_exponent,22,0x3a8374,{DOUBLEWITHTWODWORDINTREE(0x09e00000,0x00000000)}}, {VT_exponent,22,0x3a8375,{DOUBLEWITHTWODWORDINTREE(0x09f00000,0x00000000)}}, {VT_exponent,22,0x3a8376,{DOUBLEWITHTWODWORDINTREE(0x0a000000,0x00000000)}}, {VT_exponent,22,0x3a8377,{DOUBLEWITHTWODWORDINTREE(0x0a100000,0x00000000)}}, {VT_exponent,22,0x3a8378,{DOUBLEWITHTWODWORDINTREE(0x0a200000,0x00000000)}}, {VT_exponent,22,0x3a8379,{DOUBLEWITHTWODWORDINTREE(0x0a300000,0x00000000)}}, {VT_exponent,22,0x3a837a,{DOUBLEWITHTWODWORDINTREE(0x0a400000,0x00000000)}}, {VT_exponent,22,0x3a837b,{DOUBLEWITHTWODWORDINTREE(0x0a500000,0x00000000)}}, {VT_exponent,22,0x3a837c,{DOUBLEWITHTWODWORDINTREE(0x0a600000,0x00000000)}}, {VT_exponent,22,0x3a837d,{DOUBLEWITHTWODWORDINTREE(0x0a700000,0x00000000)}}, {VT_exponent,22,0x3a837e,{DOUBLEWITHTWODWORDINTREE(0x0a800000,0x00000000)}}, {VT_exponent,22,0x3a837f,{DOUBLEWITHTWODWORDINTREE(0x0a900000,0x00000000)}}, {VT_exponent,22,0x3a8380,{DOUBLEWITHTWODWORDINTREE(0x0aa00000,0x00000000)}}, {VT_exponent,22,0x3a8381,{DOUBLEWITHTWODWORDINTREE(0x0ab00000,0x00000000)}}, {VT_exponent,22,0x3a8382,{DOUBLEWITHTWODWORDINTREE(0x0ac00000,0x00000000)}}, {VT_exponent,22,0x3a8383,{DOUBLEWITHTWODWORDINTREE(0x0ad00000,0x00000000)}}, {VT_exponent,22,0x3a8384,{DOUBLEWITHTWODWORDINTREE(0x0ae00000,0x00000000)}}, {VT_exponent,22,0x3a8385,{DOUBLEWITHTWODWORDINTREE(0x0af00000,0x00000000)}}, {VT_exponent,22,0x3a8386,{DOUBLEWITHTWODWORDINTREE(0x0b000000,0x00000000)}}, {VT_exponent,22,0x3a8387,{DOUBLEWITHTWODWORDINTREE(0x0b100000,0x00000000)}}, {VT_exponent,22,0x3a8388,{DOUBLEWITHTWODWORDINTREE(0x0b200000,0x00000000)}}, {VT_exponent,22,0x3a8389,{DOUBLEWITHTWODWORDINTREE(0x0b300000,0x00000000)}}, {VT_exponent,22,0x3a838a,{DOUBLEWITHTWODWORDINTREE(0x0b400000,0x00000000)}}, {VT_exponent,22,0x3a838b,{DOUBLEWITHTWODWORDINTREE(0x0b500000,0x00000000)}}, {VT_exponent,22,0x3a838c,{DOUBLEWITHTWODWORDINTREE(0x0b600000,0x00000000)}}, {VT_exponent,22,0x3a838d,{DOUBLEWITHTWODWORDINTREE(0x0b700000,0x00000000)}}, {VT_exponent,22,0x3a838e,{DOUBLEWITHTWODWORDINTREE(0x0b800000,0x00000000)}}, {VT_exponent,22,0x3a838f,{DOUBLEWITHTWODWORDINTREE(0x0b900000,0x00000000)}}, {VT_exponent,22,0x3a8390,{DOUBLEWITHTWODWORDINTREE(0x0ba00000,0x00000000)}}, {VT_exponent,22,0x3a8391,{DOUBLEWITHTWODWORDINTREE(0x0bb00000,0x00000000)}}, {VT_exponent,22,0x3a8392,{DOUBLEWITHTWODWORDINTREE(0x0bc00000,0x00000000)}}, {VT_exponent,22,0x3a8393,{DOUBLEWITHTWODWORDINTREE(0x0bd00000,0x00000000)}}, {VT_exponent,22,0x3a8394,{DOUBLEWITHTWODWORDINTREE(0x0be00000,0x00000000)}}, {VT_exponent,22,0x3a8395,{DOUBLEWITHTWODWORDINTREE(0x0bf00000,0x00000000)}}, {VT_exponent,22,0x3a8396,{DOUBLEWITHTWODWORDINTREE(0x0c000000,0x00000000)}}, {VT_exponent,22,0x3a8397,{DOUBLEWITHTWODWORDINTREE(0x0c100000,0x00000000)}}, {VT_exponent,22,0x3a8398,{DOUBLEWITHTWODWORDINTREE(0x0c200000,0x00000000)}}, {VT_exponent,22,0x3a8399,{DOUBLEWITHTWODWORDINTREE(0x0c300000,0x00000000)}}, {VT_exponent,22,0x3a839a,{DOUBLEWITHTWODWORDINTREE(0x0c400000,0x00000000)}}, {VT_exponent,22,0x3a839b,{DOUBLEWITHTWODWORDINTREE(0x0c500000,0x00000000)}}, {VT_exponent,22,0x3a839c,{DOUBLEWITHTWODWORDINTREE(0x0c600000,0x00000000)}}, {VT_exponent,22,0x3a839d,{DOUBLEWITHTWODWORDINTREE(0x0c700000,0x00000000)}}, {VT_exponent,22,0x3a839e,{DOUBLEWITHTWODWORDINTREE(0x0c800000,0x00000000)}}, {VT_exponent,22,0x3a839f,{DOUBLEWITHTWODWORDINTREE(0x0c900000,0x00000000)}}, {VT_exponent,22,0x3a83a0,{DOUBLEWITHTWODWORDINTREE(0x0ca00000,0x00000000)}}, {VT_exponent,22,0x3a83a1,{DOUBLEWITHTWODWORDINTREE(0x0cb00000,0x00000000)}}, {VT_exponent,22,0x3a83a2,{DOUBLEWITHTWODWORDINTREE(0x0cc00000,0x00000000)}}, {VT_exponent,22,0x3a83a3,{DOUBLEWITHTWODWORDINTREE(0x0cd00000,0x00000000)}}, {VT_exponent,22,0x3a83a4,{DOUBLEWITHTWODWORDINTREE(0x0ce00000,0x00000000)}}, {VT_exponent,22,0x3a83a5,{DOUBLEWITHTWODWORDINTREE(0x0cf00000,0x00000000)}}, {VT_exponent,22,0x3a83a6,{DOUBLEWITHTWODWORDINTREE(0x0d000000,0x00000000)}}, {VT_exponent,22,0x3a83a7,{DOUBLEWITHTWODWORDINTREE(0x0d100000,0x00000000)}}, {VT_exponent,22,0x3a83a8,{DOUBLEWITHTWODWORDINTREE(0x0d200000,0x00000000)}}, {VT_exponent,22,0x3a83a9,{DOUBLEWITHTWODWORDINTREE(0x0d300000,0x00000000)}}, {VT_exponent,22,0x3a83aa,{DOUBLEWITHTWODWORDINTREE(0x0d400000,0x00000000)}}, {VT_exponent,22,0x3a83ab,{DOUBLEWITHTWODWORDINTREE(0x0d500000,0x00000000)}}, {VT_exponent,22,0x3a83ac,{DOUBLEWITHTWODWORDINTREE(0x0d600000,0x00000000)}}, {VT_exponent,22,0x3a83ad,{DOUBLEWITHTWODWORDINTREE(0x0d700000,0x00000000)}}, {VT_exponent,22,0x3a83ae,{DOUBLEWITHTWODWORDINTREE(0x0d800000,0x00000000)}}, {VT_exponent,22,0x3a83af,{DOUBLEWITHTWODWORDINTREE(0x0d900000,0x00000000)}}, {VT_exponent,22,0x3a83b0,{DOUBLEWITHTWODWORDINTREE(0x0da00000,0x00000000)}}, {VT_exponent,22,0x3a83b1,{DOUBLEWITHTWODWORDINTREE(0x0db00000,0x00000000)}}, {VT_exponent,22,0x3a83b2,{DOUBLEWITHTWODWORDINTREE(0x0dc00000,0x00000000)}}, {VT_exponent,22,0x3a83b3,{DOUBLEWITHTWODWORDINTREE(0x0dd00000,0x00000000)}}, {VT_exponent,22,0x3a83b4,{DOUBLEWITHTWODWORDINTREE(0x0de00000,0x00000000)}}, {VT_exponent,22,0x3a83b5,{DOUBLEWITHTWODWORDINTREE(0x0df00000,0x00000000)}}, {VT_exponent,22,0x3a83b6,{DOUBLEWITHTWODWORDINTREE(0x0e000000,0x00000000)}}, {VT_exponent,22,0x3a83b7,{DOUBLEWITHTWODWORDINTREE(0x0e100000,0x00000000)}}, {VT_exponent,22,0x3a83b8,{DOUBLEWITHTWODWORDINTREE(0x0e200000,0x00000000)}}, {VT_exponent,22,0x3a83b9,{DOUBLEWITHTWODWORDINTREE(0x0e300000,0x00000000)}}, {VT_exponent,22,0x3a83ba,{DOUBLEWITHTWODWORDINTREE(0x0e400000,0x00000000)}}, {VT_exponent,22,0x3a83bb,{DOUBLEWITHTWODWORDINTREE(0x0e500000,0x00000000)}}, {VT_exponent,22,0x3a83bc,{DOUBLEWITHTWODWORDINTREE(0x0e600000,0x00000000)}}, {VT_exponent,22,0x3a83bd,{DOUBLEWITHTWODWORDINTREE(0x0e700000,0x00000000)}}, {VT_exponent,22,0x3a83be,{DOUBLEWITHTWODWORDINTREE(0x0e800000,0x00000000)}}, {VT_exponent,22,0x3a83bf,{DOUBLEWITHTWODWORDINTREE(0x0e900000,0x00000000)}}, {VT_exponent,22,0x3a83c0,{DOUBLEWITHTWODWORDINTREE(0x0ea00000,0x00000000)}}, {VT_exponent,22,0x3a83c1,{DOUBLEWITHTWODWORDINTREE(0x0eb00000,0x00000000)}}, {VT_exponent,22,0x3a83c2,{DOUBLEWITHTWODWORDINTREE(0x0ec00000,0x00000000)}}, {VT_exponent,22,0x3a83c3,{DOUBLEWITHTWODWORDINTREE(0x0ed00000,0x00000000)}}, {VT_exponent,22,0x3a83c4,{DOUBLEWITHTWODWORDINTREE(0x0ee00000,0x00000000)}}, {VT_exponent,22,0x3a83c5,{DOUBLEWITHTWODWORDINTREE(0x0ef00000,0x00000000)}}, {VT_exponent,22,0x3a83c6,{DOUBLEWITHTWODWORDINTREE(0x0f000000,0x00000000)}}, {VT_exponent,22,0x3a83c7,{DOUBLEWITHTWODWORDINTREE(0x0f100000,0x00000000)}}, {VT_exponent,22,0x3a83c8,{DOUBLEWITHTWODWORDINTREE(0x0f200000,0x00000000)}}, {VT_exponent,22,0x3a83c9,{DOUBLEWITHTWODWORDINTREE(0x0f300000,0x00000000)}}, {VT_exponent,22,0x3a83ca,{DOUBLEWITHTWODWORDINTREE(0x0f400000,0x00000000)}}, {VT_exponent,22,0x3a83cb,{DOUBLEWITHTWODWORDINTREE(0x0f500000,0x00000000)}}, {VT_exponent,22,0x3a83cc,{DOUBLEWITHTWODWORDINTREE(0x0f600000,0x00000000)}}, {VT_exponent,22,0x3a83cd,{DOUBLEWITHTWODWORDINTREE(0x0f700000,0x00000000)}}, {VT_exponent,22,0x3a83ce,{DOUBLEWITHTWODWORDINTREE(0x0f800000,0x00000000)}}, {VT_exponent,22,0x3a83cf,{DOUBLEWITHTWODWORDINTREE(0x0f900000,0x00000000)}}, {VT_exponent,22,0x3a83d0,{DOUBLEWITHTWODWORDINTREE(0x0fa00000,0x00000000)}}, {VT_exponent,22,0x3a83d1,{DOUBLEWITHTWODWORDINTREE(0x0fb00000,0x00000000)}}, {VT_exponent,22,0x3a83d2,{DOUBLEWITHTWODWORDINTREE(0x0fc00000,0x00000000)}}, {VT_exponent,22,0x3a83d3,{DOUBLEWITHTWODWORDINTREE(0x0fd00000,0x00000000)}}, {VT_exponent,22,0x3a83d4,{DOUBLEWITHTWODWORDINTREE(0x0fe00000,0x00000000)}}, {VT_exponent,22,0x3a83d5,{DOUBLEWITHTWODWORDINTREE(0x0ff00000,0x00000000)}}, {VT_exponent,22,0x3a83d6,{DOUBLEWITHTWODWORDINTREE(0x10000000,0x00000000)}}, {VT_exponent,22,0x3a83d7,{DOUBLEWITHTWODWORDINTREE(0x10100000,0x00000000)}}, {VT_exponent,22,0x3a83d8,{DOUBLEWITHTWODWORDINTREE(0x10200000,0x00000000)}}, {VT_exponent,22,0x3a83d9,{DOUBLEWITHTWODWORDINTREE(0x10300000,0x00000000)}}, {VT_exponent,22,0x3a83da,{DOUBLEWITHTWODWORDINTREE(0x10400000,0x00000000)}}, {VT_exponent,22,0x3a83db,{DOUBLEWITHTWODWORDINTREE(0x10500000,0x00000000)}}, {VT_exponent,22,0x3a83dc,{DOUBLEWITHTWODWORDINTREE(0x10600000,0x00000000)}}, {VT_exponent,22,0x3a83dd,{DOUBLEWITHTWODWORDINTREE(0x10700000,0x00000000)}}, {VT_exponent,22,0x3a83de,{DOUBLEWITHTWODWORDINTREE(0x10800000,0x00000000)}}, {VT_exponent,22,0x3a83df,{DOUBLEWITHTWODWORDINTREE(0x10900000,0x00000000)}}, {VT_exponent,22,0x3a83e0,{DOUBLEWITHTWODWORDINTREE(0x10a00000,0x00000000)}}, {VT_exponent,22,0x3a83e1,{DOUBLEWITHTWODWORDINTREE(0x10b00000,0x00000000)}}, {VT_exponent,22,0x3a83e2,{DOUBLEWITHTWODWORDINTREE(0x10c00000,0x00000000)}}, {VT_exponent,22,0x3a83e3,{DOUBLEWITHTWODWORDINTREE(0x10d00000,0x00000000)}}, {VT_exponent,22,0x3a83e4,{DOUBLEWITHTWODWORDINTREE(0x10e00000,0x00000000)}}, {VT_exponent,22,0x3a83e5,{DOUBLEWITHTWODWORDINTREE(0x10f00000,0x00000000)}}, {VT_exponent,22,0x3a83e6,{DOUBLEWITHTWODWORDINTREE(0x11000000,0x00000000)}}, {VT_exponent,22,0x3a83e7,{DOUBLEWITHTWODWORDINTREE(0x11100000,0x00000000)}}, {VT_exponent,22,0x3a83e8,{DOUBLEWITHTWODWORDINTREE(0x11200000,0x00000000)}}, {VT_exponent,22,0x3a83e9,{DOUBLEWITHTWODWORDINTREE(0x11300000,0x00000000)}}, {VT_exponent,22,0x3a83ea,{DOUBLEWITHTWODWORDINTREE(0x11400000,0x00000000)}}, {VT_exponent,22,0x3a83eb,{DOUBLEWITHTWODWORDINTREE(0x11500000,0x00000000)}}, {VT_exponent,22,0x3a83ec,{DOUBLEWITHTWODWORDINTREE(0x11600000,0x00000000)}}, {VT_exponent,22,0x3a83ed,{DOUBLEWITHTWODWORDINTREE(0x11700000,0x00000000)}}, {VT_exponent,22,0x3a83ee,{DOUBLEWITHTWODWORDINTREE(0x11800000,0x00000000)}}, {VT_exponent,22,0x3a83ef,{DOUBLEWITHTWODWORDINTREE(0x11900000,0x00000000)}}, {VT_exponent,22,0x3a83f0,{DOUBLEWITHTWODWORDINTREE(0x11a00000,0x00000000)}}, {VT_exponent,22,0x3a83f1,{DOUBLEWITHTWODWORDINTREE(0x11b00000,0x00000000)}}, {VT_exponent,22,0x3a83f2,{DOUBLEWITHTWODWORDINTREE(0x11c00000,0x00000000)}}, {VT_exponent,22,0x3a83f3,{DOUBLEWITHTWODWORDINTREE(0x11d00000,0x00000000)}}, {VT_exponent,22,0x3a83f4,{DOUBLEWITHTWODWORDINTREE(0x11e00000,0x00000000)}}, {VT_exponent,22,0x3a83f5,{DOUBLEWITHTWODWORDINTREE(0x11f00000,0x00000000)}}, {VT_exponent,22,0x3a83f6,{DOUBLEWITHTWODWORDINTREE(0x12000000,0x00000000)}}, {VT_exponent,22,0x3a83f7,{DOUBLEWITHTWODWORDINTREE(0x12100000,0x00000000)}}, {VT_exponent,22,0x3a83f8,{DOUBLEWITHTWODWORDINTREE(0x12200000,0x00000000)}}, {VT_exponent,22,0x3a83f9,{DOUBLEWITHTWODWORDINTREE(0x12300000,0x00000000)}}, {VT_exponent,22,0x3a83fa,{DOUBLEWITHTWODWORDINTREE(0x12400000,0x00000000)}}, {VT_exponent,22,0x3a83fb,{DOUBLEWITHTWODWORDINTREE(0x12500000,0x00000000)}}, {VT_exponent,22,0x3a83fc,{DOUBLEWITHTWODWORDINTREE(0x12600000,0x00000000)}}, {VT_exponent,22,0x3a83fd,{DOUBLEWITHTWODWORDINTREE(0x12700000,0x00000000)}}, {VT_exponent,22,0x3a83fe,{DOUBLEWITHTWODWORDINTREE(0x12800000,0x00000000)}}, {VT_exponent,22,0x3a83ff,{DOUBLEWITHTWODWORDINTREE(0x12900000,0x00000000)}}, {VT_exponent,22,0x3a8400,{DOUBLEWITHTWODWORDINTREE(0x12a00000,0x00000000)}}, {VT_exponent,22,0x3a8401,{DOUBLEWITHTWODWORDINTREE(0x12b00000,0x00000000)}}, {VT_exponent,22,0x3a8402,{DOUBLEWITHTWODWORDINTREE(0x12c00000,0x00000000)}}, {VT_exponent,22,0x3a8403,{DOUBLEWITHTWODWORDINTREE(0x12d00000,0x00000000)}}, {VT_exponent,22,0x3a8404,{DOUBLEWITHTWODWORDINTREE(0x12e00000,0x00000000)}}, {VT_exponent,22,0x3a8405,{DOUBLEWITHTWODWORDINTREE(0x12f00000,0x00000000)}}, {VT_exponent,22,0x3a8406,{DOUBLEWITHTWODWORDINTREE(0x13000000,0x00000000)}}, {VT_exponent,22,0x3a8407,{DOUBLEWITHTWODWORDINTREE(0x13100000,0x00000000)}}, {VT_exponent,22,0x3a8408,{DOUBLEWITHTWODWORDINTREE(0x13200000,0x00000000)}}, {VT_exponent,22,0x3a8409,{DOUBLEWITHTWODWORDINTREE(0x13300000,0x00000000)}}, {VT_exponent,22,0x3a840a,{DOUBLEWITHTWODWORDINTREE(0x13400000,0x00000000)}}, {VT_exponent,22,0x3a840b,{DOUBLEWITHTWODWORDINTREE(0x13500000,0x00000000)}}, {VT_exponent,22,0x3a840c,{DOUBLEWITHTWODWORDINTREE(0x13600000,0x00000000)}}, {VT_exponent,22,0x3a840d,{DOUBLEWITHTWODWORDINTREE(0x13700000,0x00000000)}}, {VT_exponent,22,0x3a840e,{DOUBLEWITHTWODWORDINTREE(0x13800000,0x00000000)}}, {VT_exponent,22,0x3a840f,{DOUBLEWITHTWODWORDINTREE(0x13900000,0x00000000)}}, {VT_exponent,22,0x3a8410,{DOUBLEWITHTWODWORDINTREE(0x13a00000,0x00000000)}}, {VT_exponent,22,0x3a8411,{DOUBLEWITHTWODWORDINTREE(0x13b00000,0x00000000)}}, {VT_exponent,22,0x3a8412,{DOUBLEWITHTWODWORDINTREE(0x13c00000,0x00000000)}}, {VT_exponent,22,0x3a8413,{DOUBLEWITHTWODWORDINTREE(0x13d00000,0x00000000)}}, {VT_exponent,22,0x3a8414,{DOUBLEWITHTWODWORDINTREE(0x13e00000,0x00000000)}}, {VT_exponent,22,0x3a8415,{DOUBLEWITHTWODWORDINTREE(0x13f00000,0x00000000)}}, {VT_exponent,22,0x3a8416,{DOUBLEWITHTWODWORDINTREE(0x14000000,0x00000000)}}, {VT_exponent,22,0x3a8417,{DOUBLEWITHTWODWORDINTREE(0x14100000,0x00000000)}}, {VT_exponent,22,0x3a8418,{DOUBLEWITHTWODWORDINTREE(0x14200000,0x00000000)}}, {VT_exponent,22,0x3a8419,{DOUBLEWITHTWODWORDINTREE(0x14300000,0x00000000)}}, {VT_exponent,22,0x3a841a,{DOUBLEWITHTWODWORDINTREE(0x14400000,0x00000000)}}, {VT_exponent,22,0x3a841b,{DOUBLEWITHTWODWORDINTREE(0x14500000,0x00000000)}}, {VT_exponent,22,0x3a841c,{DOUBLEWITHTWODWORDINTREE(0x14600000,0x00000000)}}, {VT_exponent,22,0x3a841d,{DOUBLEWITHTWODWORDINTREE(0x14700000,0x00000000)}}, {VT_exponent,22,0x3a841e,{DOUBLEWITHTWODWORDINTREE(0x14800000,0x00000000)}}, {VT_exponent,22,0x3a841f,{DOUBLEWITHTWODWORDINTREE(0x14900000,0x00000000)}}, {VT_exponent,22,0x3a8420,{DOUBLEWITHTWODWORDINTREE(0x14a00000,0x00000000)}}, {VT_exponent,22,0x3a8421,{DOUBLEWITHTWODWORDINTREE(0x14b00000,0x00000000)}}, {VT_exponent,22,0x3a8422,{DOUBLEWITHTWODWORDINTREE(0x14c00000,0x00000000)}}, {VT_exponent,22,0x3a8423,{DOUBLEWITHTWODWORDINTREE(0x14d00000,0x00000000)}}, {VT_exponent,22,0x3a8424,{DOUBLEWITHTWODWORDINTREE(0x14e00000,0x00000000)}}, {VT_exponent,22,0x3a8425,{DOUBLEWITHTWODWORDINTREE(0x14f00000,0x00000000)}}, {VT_exponent,22,0x3a8426,{DOUBLEWITHTWODWORDINTREE(0x15000000,0x00000000)}}, {VT_exponent,22,0x3a8427,{DOUBLEWITHTWODWORDINTREE(0x15100000,0x00000000)}}, {VT_exponent,22,0x3a8428,{DOUBLEWITHTWODWORDINTREE(0x15200000,0x00000000)}}, {VT_exponent,22,0x3a8429,{DOUBLEWITHTWODWORDINTREE(0x15300000,0x00000000)}}, {VT_exponent,22,0x3a842a,{DOUBLEWITHTWODWORDINTREE(0x15400000,0x00000000)}}, {VT_exponent,22,0x3a842b,{DOUBLEWITHTWODWORDINTREE(0x15500000,0x00000000)}}, {VT_exponent,22,0x3a842c,{DOUBLEWITHTWODWORDINTREE(0x15600000,0x00000000)}}, {VT_exponent,22,0x3a842d,{DOUBLEWITHTWODWORDINTREE(0x15700000,0x00000000)}}, {VT_exponent,22,0x3a842e,{DOUBLEWITHTWODWORDINTREE(0x15800000,0x00000000)}}, {VT_exponent,22,0x3a842f,{DOUBLEWITHTWODWORDINTREE(0x15900000,0x00000000)}}, {VT_exponent,22,0x3a8430,{DOUBLEWITHTWODWORDINTREE(0x15a00000,0x00000000)}}, {VT_exponent,22,0x3a8431,{DOUBLEWITHTWODWORDINTREE(0x15b00000,0x00000000)}}, {VT_exponent,22,0x3a8432,{DOUBLEWITHTWODWORDINTREE(0x15c00000,0x00000000)}}, {VT_exponent,22,0x3a8433,{DOUBLEWITHTWODWORDINTREE(0x15d00000,0x00000000)}}, {VT_exponent,22,0x3a8434,{DOUBLEWITHTWODWORDINTREE(0x15e00000,0x00000000)}}, {VT_exponent,22,0x3a8435,{DOUBLEWITHTWODWORDINTREE(0x15f00000,0x00000000)}}, {VT_exponent,22,0x3a8436,{DOUBLEWITHTWODWORDINTREE(0x16000000,0x00000000)}}, {VT_exponent,22,0x3a8437,{DOUBLEWITHTWODWORDINTREE(0x16100000,0x00000000)}}, {VT_exponent,22,0x3a8438,{DOUBLEWITHTWODWORDINTREE(0x16200000,0x00000000)}}, {VT_exponent,22,0x3a8439,{DOUBLEWITHTWODWORDINTREE(0x16300000,0x00000000)}}, {VT_exponent,22,0x3a843a,{DOUBLEWITHTWODWORDINTREE(0x16400000,0x00000000)}}, {VT_exponent,22,0x3a843b,{DOUBLEWITHTWODWORDINTREE(0x16500000,0x00000000)}}, {VT_exponent,22,0x3a843c,{DOUBLEWITHTWODWORDINTREE(0x16600000,0x00000000)}}, {VT_exponent,22,0x3a843d,{DOUBLEWITHTWODWORDINTREE(0x16700000,0x00000000)}}, {VT_exponent,22,0x3a843e,{DOUBLEWITHTWODWORDINTREE(0x16800000,0x00000000)}}, {VT_exponent,22,0x3a843f,{DOUBLEWITHTWODWORDINTREE(0x16900000,0x00000000)}}, {VT_exponent,22,0x3a8440,{DOUBLEWITHTWODWORDINTREE(0x16a00000,0x00000000)}}, {VT_exponent,22,0x3a8441,{DOUBLEWITHTWODWORDINTREE(0x16b00000,0x00000000)}}, {VT_exponent,22,0x3a8442,{DOUBLEWITHTWODWORDINTREE(0x16c00000,0x00000000)}}, {VT_exponent,22,0x3a8443,{DOUBLEWITHTWODWORDINTREE(0x16d00000,0x00000000)}}, {VT_exponent,22,0x3a8444,{DOUBLEWITHTWODWORDINTREE(0x16e00000,0x00000000)}}, {VT_exponent,22,0x3a8445,{DOUBLEWITHTWODWORDINTREE(0x16f00000,0x00000000)}}, {VT_exponent,22,0x3a8446,{DOUBLEWITHTWODWORDINTREE(0x17000000,0x00000000)}}, {VT_exponent,22,0x3a8447,{DOUBLEWITHTWODWORDINTREE(0x17100000,0x00000000)}}, {VT_exponent,22,0x3a8448,{DOUBLEWITHTWODWORDINTREE(0x17200000,0x00000000)}}, {VT_exponent,22,0x3a8449,{DOUBLEWITHTWODWORDINTREE(0x17300000,0x00000000)}}, {VT_exponent,22,0x3a844a,{DOUBLEWITHTWODWORDINTREE(0x17400000,0x00000000)}}, {VT_exponent,22,0x3a844b,{DOUBLEWITHTWODWORDINTREE(0x17500000,0x00000000)}}, {VT_exponent,22,0x3a844c,{DOUBLEWITHTWODWORDINTREE(0x17600000,0x00000000)}}, {VT_exponent,22,0x3a844d,{DOUBLEWITHTWODWORDINTREE(0x17700000,0x00000000)}}, {VT_exponent,22,0x3a844e,{DOUBLEWITHTWODWORDINTREE(0x17800000,0x00000000)}}, {VT_exponent,22,0x3a844f,{DOUBLEWITHTWODWORDINTREE(0x17900000,0x00000000)}}, {VT_exponent,22,0x3a8450,{DOUBLEWITHTWODWORDINTREE(0x17a00000,0x00000000)}}, {VT_exponent,22,0x3a8451,{DOUBLEWITHTWODWORDINTREE(0x17b00000,0x00000000)}}, {VT_exponent,22,0x3a8452,{DOUBLEWITHTWODWORDINTREE(0x17c00000,0x00000000)}}, {VT_exponent,22,0x3a8453,{DOUBLEWITHTWODWORDINTREE(0x17d00000,0x00000000)}}, {VT_exponent,22,0x3a8454,{DOUBLEWITHTWODWORDINTREE(0x17e00000,0x00000000)}}, {VT_exponent,22,0x3a8455,{DOUBLEWITHTWODWORDINTREE(0x17f00000,0x00000000)}}, {VT_exponent,22,0x3a8456,{DOUBLEWITHTWODWORDINTREE(0x18000000,0x00000000)}}, {VT_exponent,22,0x3a8457,{DOUBLEWITHTWODWORDINTREE(0x18100000,0x00000000)}}, {VT_exponent,22,0x3a8458,{DOUBLEWITHTWODWORDINTREE(0x18200000,0x00000000)}}, {VT_exponent,22,0x3a8459,{DOUBLEWITHTWODWORDINTREE(0x18300000,0x00000000)}}, {VT_exponent,22,0x3a845a,{DOUBLEWITHTWODWORDINTREE(0x18400000,0x00000000)}}, {VT_exponent,22,0x3a845b,{DOUBLEWITHTWODWORDINTREE(0x18500000,0x00000000)}}, {VT_exponent,22,0x3a845c,{DOUBLEWITHTWODWORDINTREE(0x18600000,0x00000000)}}, {VT_exponent,22,0x3a845d,{DOUBLEWITHTWODWORDINTREE(0x18700000,0x00000000)}}, {VT_exponent,22,0x3a845e,{DOUBLEWITHTWODWORDINTREE(0x18800000,0x00000000)}}, {VT_exponent,22,0x3a845f,{DOUBLEWITHTWODWORDINTREE(0x18900000,0x00000000)}}, {VT_exponent,22,0x3a8460,{DOUBLEWITHTWODWORDINTREE(0x18a00000,0x00000000)}}, {VT_exponent,22,0x3a8461,{DOUBLEWITHTWODWORDINTREE(0x18b00000,0x00000000)}}, {VT_exponent,22,0x3a8462,{DOUBLEWITHTWODWORDINTREE(0x18c00000,0x00000000)}}, {VT_exponent,22,0x3a8463,{DOUBLEWITHTWODWORDINTREE(0x18d00000,0x00000000)}}, {VT_exponent,22,0x3a8464,{DOUBLEWITHTWODWORDINTREE(0x18e00000,0x00000000)}}, {VT_exponent,22,0x3a8465,{DOUBLEWITHTWODWORDINTREE(0x18f00000,0x00000000)}}, {VT_exponent,22,0x3a8466,{DOUBLEWITHTWODWORDINTREE(0x19000000,0x00000000)}}, {VT_exponent,22,0x3a8467,{DOUBLEWITHTWODWORDINTREE(0x19100000,0x00000000)}}, {VT_exponent,22,0x3a8468,{DOUBLEWITHTWODWORDINTREE(0x19200000,0x00000000)}}, {VT_exponent,22,0x3a8469,{DOUBLEWITHTWODWORDINTREE(0x19300000,0x00000000)}}, {VT_exponent,22,0x3a846a,{DOUBLEWITHTWODWORDINTREE(0x19400000,0x00000000)}}, {VT_exponent,22,0x3a846b,{DOUBLEWITHTWODWORDINTREE(0x19500000,0x00000000)}}, {VT_exponent,22,0x3a846c,{DOUBLEWITHTWODWORDINTREE(0x19600000,0x00000000)}}, {VT_exponent,22,0x3a846d,{DOUBLEWITHTWODWORDINTREE(0x19700000,0x00000000)}}, {VT_exponent,22,0x3a846e,{DOUBLEWITHTWODWORDINTREE(0x19800000,0x00000000)}}, {VT_exponent,22,0x3a846f,{DOUBLEWITHTWODWORDINTREE(0x19900000,0x00000000)}}, {VT_exponent,22,0x3a8470,{DOUBLEWITHTWODWORDINTREE(0x19a00000,0x00000000)}}, {VT_exponent,22,0x3a8471,{DOUBLEWITHTWODWORDINTREE(0x19b00000,0x00000000)}}, {VT_exponent,22,0x3a8472,{DOUBLEWITHTWODWORDINTREE(0x19c00000,0x00000000)}}, {VT_exponent,22,0x3a8473,{DOUBLEWITHTWODWORDINTREE(0x19d00000,0x00000000)}}, {VT_exponent,22,0x3a8474,{DOUBLEWITHTWODWORDINTREE(0x19e00000,0x00000000)}}, {VT_exponent,22,0x3a8475,{DOUBLEWITHTWODWORDINTREE(0x19f00000,0x00000000)}}, {VT_exponent,22,0x3a8476,{DOUBLEWITHTWODWORDINTREE(0x1a000000,0x00000000)}}, {VT_exponent,22,0x3a8477,{DOUBLEWITHTWODWORDINTREE(0x1a100000,0x00000000)}}, {VT_exponent,22,0x3a8478,{DOUBLEWITHTWODWORDINTREE(0x1a200000,0x00000000)}}, {VT_exponent,22,0x3a8479,{DOUBLEWITHTWODWORDINTREE(0x1a300000,0x00000000)}}, {VT_exponent,22,0x3a847a,{DOUBLEWITHTWODWORDINTREE(0x1a400000,0x00000000)}}, {VT_exponent,22,0x3a847b,{DOUBLEWITHTWODWORDINTREE(0x1a500000,0x00000000)}}, {VT_exponent,22,0x3a847c,{DOUBLEWITHTWODWORDINTREE(0x1a600000,0x00000000)}}, {VT_exponent,22,0x3a847d,{DOUBLEWITHTWODWORDINTREE(0x1a700000,0x00000000)}}, {VT_exponent,22,0x3a847e,{DOUBLEWITHTWODWORDINTREE(0x1a800000,0x00000000)}}, {VT_exponent,22,0x3a847f,{DOUBLEWITHTWODWORDINTREE(0x1a900000,0x00000000)}}, {VT_exponent,22,0x3a8480,{DOUBLEWITHTWODWORDINTREE(0x1aa00000,0x00000000)}}, {VT_exponent,22,0x3a8481,{DOUBLEWITHTWODWORDINTREE(0x1ab00000,0x00000000)}}, {VT_exponent,22,0x3a8482,{DOUBLEWITHTWODWORDINTREE(0x1ac00000,0x00000000)}}, {VT_exponent,22,0x3a8483,{DOUBLEWITHTWODWORDINTREE(0x1ad00000,0x00000000)}}, {VT_exponent,22,0x3a8484,{DOUBLEWITHTWODWORDINTREE(0x1ae00000,0x00000000)}}, {VT_exponent,22,0x3a8485,{DOUBLEWITHTWODWORDINTREE(0x1af00000,0x00000000)}}, {VT_exponent,22,0x3a8486,{DOUBLEWITHTWODWORDINTREE(0x1b000000,0x00000000)}}, {VT_exponent,22,0x3a8487,{DOUBLEWITHTWODWORDINTREE(0x1b100000,0x00000000)}}, {VT_exponent,22,0x3a8488,{DOUBLEWITHTWODWORDINTREE(0x1b200000,0x00000000)}}, {VT_exponent,22,0x3a8489,{DOUBLEWITHTWODWORDINTREE(0x1b300000,0x00000000)}}, {VT_exponent,22,0x3a848a,{DOUBLEWITHTWODWORDINTREE(0x1b400000,0x00000000)}}, {VT_exponent,22,0x3a848b,{DOUBLEWITHTWODWORDINTREE(0x1b500000,0x00000000)}}, {VT_exponent,22,0x3a848c,{DOUBLEWITHTWODWORDINTREE(0x1b600000,0x00000000)}}, {VT_exponent,22,0x3a848d,{DOUBLEWITHTWODWORDINTREE(0x1b700000,0x00000000)}}, {VT_exponent,22,0x3a848e,{DOUBLEWITHTWODWORDINTREE(0x1b800000,0x00000000)}}, {VT_exponent,22,0x3a848f,{DOUBLEWITHTWODWORDINTREE(0x1b900000,0x00000000)}}, {VT_exponent,22,0x3a8490,{DOUBLEWITHTWODWORDINTREE(0x1ba00000,0x00000000)}}, {VT_exponent,22,0x3a8491,{DOUBLEWITHTWODWORDINTREE(0x1bb00000,0x00000000)}}, {VT_exponent,22,0x3a8492,{DOUBLEWITHTWODWORDINTREE(0x1bc00000,0x00000000)}}, {VT_exponent,22,0x3a8493,{DOUBLEWITHTWODWORDINTREE(0x1bd00000,0x00000000)}}, {VT_exponent,22,0x3a8494,{DOUBLEWITHTWODWORDINTREE(0x1be00000,0x00000000)}}, {VT_exponent,22,0x3a8495,{DOUBLEWITHTWODWORDINTREE(0x1bf00000,0x00000000)}}, {VT_exponent,22,0x3a8496,{DOUBLEWITHTWODWORDINTREE(0x1c000000,0x00000000)}}, {VT_exponent,22,0x3a8497,{DOUBLEWITHTWODWORDINTREE(0x1c100000,0x00000000)}}, {VT_exponent,22,0x3a8498,{DOUBLEWITHTWODWORDINTREE(0x1c200000,0x00000000)}}, {VT_exponent,22,0x3a8499,{DOUBLEWITHTWODWORDINTREE(0x1c300000,0x00000000)}}, {VT_exponent,22,0x3a849a,{DOUBLEWITHTWODWORDINTREE(0x1c400000,0x00000000)}}, {VT_exponent,22,0x3a849b,{DOUBLEWITHTWODWORDINTREE(0x1c500000,0x00000000)}}, {VT_exponent,22,0x3a849c,{DOUBLEWITHTWODWORDINTREE(0x1c600000,0x00000000)}}, {VT_exponent,22,0x3a849d,{DOUBLEWITHTWODWORDINTREE(0x1c700000,0x00000000)}}, {VT_exponent,22,0x3a849e,{DOUBLEWITHTWODWORDINTREE(0x1c800000,0x00000000)}}, {VT_exponent,22,0x3a849f,{DOUBLEWITHTWODWORDINTREE(0x1c900000,0x00000000)}}, {VT_exponent,22,0x3a84a0,{DOUBLEWITHTWODWORDINTREE(0x1ca00000,0x00000000)}}, {VT_exponent,22,0x3a84a1,{DOUBLEWITHTWODWORDINTREE(0x1cb00000,0x00000000)}}, {VT_exponent,22,0x3a84a2,{DOUBLEWITHTWODWORDINTREE(0x1cc00000,0x00000000)}}, {VT_exponent,22,0x3a84a3,{DOUBLEWITHTWODWORDINTREE(0x1cd00000,0x00000000)}}, {VT_exponent,22,0x3a84a4,{DOUBLEWITHTWODWORDINTREE(0x1ce00000,0x00000000)}}, {VT_exponent,22,0x3a84a5,{DOUBLEWITHTWODWORDINTREE(0x1cf00000,0x00000000)}}, {VT_exponent,22,0x3a84a6,{DOUBLEWITHTWODWORDINTREE(0x1d000000,0x00000000)}}, {VT_exponent,22,0x3a84a7,{DOUBLEWITHTWODWORDINTREE(0x1d100000,0x00000000)}}, {VT_exponent,22,0x3a84a8,{DOUBLEWITHTWODWORDINTREE(0x1d200000,0x00000000)}}, {VT_exponent,22,0x3a84a9,{DOUBLEWITHTWODWORDINTREE(0x1d300000,0x00000000)}}, {VT_exponent,22,0x3a84aa,{DOUBLEWITHTWODWORDINTREE(0x1d400000,0x00000000)}}, {VT_exponent,22,0x3a84ab,{DOUBLEWITHTWODWORDINTREE(0x1d500000,0x00000000)}}, {VT_exponent,22,0x3a84ac,{DOUBLEWITHTWODWORDINTREE(0x1d600000,0x00000000)}}, {VT_exponent,22,0x3a84ad,{DOUBLEWITHTWODWORDINTREE(0x1d700000,0x00000000)}}, {VT_exponent,22,0x3a84ae,{DOUBLEWITHTWODWORDINTREE(0x1d800000,0x00000000)}}, {VT_exponent,22,0x3a84af,{DOUBLEWITHTWODWORDINTREE(0x1d900000,0x00000000)}}, {VT_exponent,22,0x3a84b0,{DOUBLEWITHTWODWORDINTREE(0x1da00000,0x00000000)}}, {VT_exponent,22,0x3a84b1,{DOUBLEWITHTWODWORDINTREE(0x1db00000,0x00000000)}}, {VT_exponent,22,0x3a84b2,{DOUBLEWITHTWODWORDINTREE(0x1dc00000,0x00000000)}}, {VT_exponent,22,0x3a84b3,{DOUBLEWITHTWODWORDINTREE(0x1dd00000,0x00000000)}}, {VT_exponent,22,0x3a84b4,{DOUBLEWITHTWODWORDINTREE(0x1de00000,0x00000000)}}, {VT_exponent,22,0x3a84b5,{DOUBLEWITHTWODWORDINTREE(0x1df00000,0x00000000)}}, {VT_exponent,22,0x3a84b6,{DOUBLEWITHTWODWORDINTREE(0x1e000000,0x00000000)}}, {VT_exponent,22,0x3a84b7,{DOUBLEWITHTWODWORDINTREE(0x1e100000,0x00000000)}}, {VT_exponent,22,0x3a84b8,{DOUBLEWITHTWODWORDINTREE(0x1e200000,0x00000000)}}, {VT_exponent,22,0x3a84b9,{DOUBLEWITHTWODWORDINTREE(0x1e300000,0x00000000)}}, {VT_exponent,22,0x3a84ba,{DOUBLEWITHTWODWORDINTREE(0x1e400000,0x00000000)}}, {VT_exponent,22,0x3a84bb,{DOUBLEWITHTWODWORDINTREE(0x1e500000,0x00000000)}}, {VT_exponent,22,0x3a84bc,{DOUBLEWITHTWODWORDINTREE(0x1e600000,0x00000000)}}, {VT_exponent,22,0x3a84bd,{DOUBLEWITHTWODWORDINTREE(0x1e700000,0x00000000)}}, {VT_exponent,22,0x3a84be,{DOUBLEWITHTWODWORDINTREE(0x1e800000,0x00000000)}}, {VT_exponent,22,0x3a84bf,{DOUBLEWITHTWODWORDINTREE(0x1e900000,0x00000000)}}, {VT_exponent,22,0x3a84c0,{DOUBLEWITHTWODWORDINTREE(0x1ea00000,0x00000000)}}, {VT_exponent,22,0x3a84c1,{DOUBLEWITHTWODWORDINTREE(0x1eb00000,0x00000000)}}, {VT_exponent,22,0x3a84c2,{DOUBLEWITHTWODWORDINTREE(0x1ec00000,0x00000000)}}, {VT_exponent,22,0x3a84c3,{DOUBLEWITHTWODWORDINTREE(0x1ed00000,0x00000000)}}, {VT_exponent,22,0x3a84c4,{DOUBLEWITHTWODWORDINTREE(0x1ee00000,0x00000000)}}, {VT_exponent,22,0x3a84c5,{DOUBLEWITHTWODWORDINTREE(0x1ef00000,0x00000000)}}, {VT_exponent,22,0x3a84c6,{DOUBLEWITHTWODWORDINTREE(0x1f000000,0x00000000)}}, {VT_exponent,22,0x3a84c7,{DOUBLEWITHTWODWORDINTREE(0x1f100000,0x00000000)}}, {VT_exponent,22,0x3a84c8,{DOUBLEWITHTWODWORDINTREE(0x1f200000,0x00000000)}}, {VT_exponent,22,0x3a84c9,{DOUBLEWITHTWODWORDINTREE(0x1f300000,0x00000000)}}, {VT_exponent,22,0x3a84ca,{DOUBLEWITHTWODWORDINTREE(0x1f400000,0x00000000)}}, {VT_exponent,22,0x3a84cb,{DOUBLEWITHTWODWORDINTREE(0x1f500000,0x00000000)}}, {VT_exponent,22,0x3a84cc,{DOUBLEWITHTWODWORDINTREE(0x1f600000,0x00000000)}}, {VT_exponent,22,0x3a84cd,{DOUBLEWITHTWODWORDINTREE(0x1f700000,0x00000000)}}, {VT_exponent,22,0x3a84ce,{DOUBLEWITHTWODWORDINTREE(0x1f800000,0x00000000)}}, {VT_exponent,22,0x3a84cf,{DOUBLEWITHTWODWORDINTREE(0x1f900000,0x00000000)}}, {VT_exponent,22,0x3a84d0,{DOUBLEWITHTWODWORDINTREE(0x1fa00000,0x00000000)}}, {VT_exponent,22,0x3a84d1,{DOUBLEWITHTWODWORDINTREE(0x1fb00000,0x00000000)}}, {VT_exponent,22,0x3a84d2,{DOUBLEWITHTWODWORDINTREE(0x1fc00000,0x00000000)}}, {VT_exponent,22,0x3a84d3,{DOUBLEWITHTWODWORDINTREE(0x1fd00000,0x00000000)}}, {VT_exponent,22,0x3a84d4,{DOUBLEWITHTWODWORDINTREE(0x1fe00000,0x00000000)}}, {VT_exponent,22,0x3a84d5,{DOUBLEWITHTWODWORDINTREE(0x1ff00000,0x00000000)}}, {VT_exponent,22,0x3a84d6,{DOUBLEWITHTWODWORDINTREE(0x20000000,0x00000000)}}, {VT_exponent,22,0x3a84d7,{DOUBLEWITHTWODWORDINTREE(0x20100000,0x00000000)}}, {VT_exponent,22,0x3a84d8,{DOUBLEWITHTWODWORDINTREE(0x20200000,0x00000000)}}, {VT_exponent,22,0x3a84d9,{DOUBLEWITHTWODWORDINTREE(0x20300000,0x00000000)}}, {VT_exponent,22,0x3a84da,{DOUBLEWITHTWODWORDINTREE(0x20400000,0x00000000)}}, {VT_exponent,22,0x3a84db,{DOUBLEWITHTWODWORDINTREE(0x20500000,0x00000000)}}, {VT_exponent,22,0x3a84dc,{DOUBLEWITHTWODWORDINTREE(0x20600000,0x00000000)}}, {VT_exponent,22,0x3a84dd,{DOUBLEWITHTWODWORDINTREE(0x20700000,0x00000000)}}, {VT_exponent,22,0x3a84de,{DOUBLEWITHTWODWORDINTREE(0x20800000,0x00000000)}}, {VT_exponent,22,0x3a84df,{DOUBLEWITHTWODWORDINTREE(0x20900000,0x00000000)}}, {VT_exponent,22,0x3a84e0,{DOUBLEWITHTWODWORDINTREE(0x20a00000,0x00000000)}}, {VT_exponent,22,0x3a84e1,{DOUBLEWITHTWODWORDINTREE(0x20b00000,0x00000000)}}, {VT_exponent,22,0x3a84e2,{DOUBLEWITHTWODWORDINTREE(0x20c00000,0x00000000)}}, {VT_exponent,22,0x3a84e3,{DOUBLEWITHTWODWORDINTREE(0x20d00000,0x00000000)}}, {VT_exponent,22,0x3a84e4,{DOUBLEWITHTWODWORDINTREE(0x20e00000,0x00000000)}}, {VT_exponent,22,0x3a84e5,{DOUBLEWITHTWODWORDINTREE(0x20f00000,0x00000000)}}, {VT_exponent,22,0x3a84e6,{DOUBLEWITHTWODWORDINTREE(0x21000000,0x00000000)}}, {VT_exponent,22,0x3a84e7,{DOUBLEWITHTWODWORDINTREE(0x21100000,0x00000000)}}, {VT_exponent,22,0x3a84e8,{DOUBLEWITHTWODWORDINTREE(0x21200000,0x00000000)}}, {VT_exponent,22,0x3a84e9,{DOUBLEWITHTWODWORDINTREE(0x21300000,0x00000000)}}, {VT_exponent,22,0x3a84ea,{DOUBLEWITHTWODWORDINTREE(0x21400000,0x00000000)}}, {VT_exponent,22,0x3a84eb,{DOUBLEWITHTWODWORDINTREE(0x21500000,0x00000000)}}, {VT_exponent,22,0x3a84ec,{DOUBLEWITHTWODWORDINTREE(0x21600000,0x00000000)}}, {VT_exponent,22,0x3a84ed,{DOUBLEWITHTWODWORDINTREE(0x21700000,0x00000000)}}, {VT_exponent,22,0x3a84ee,{DOUBLEWITHTWODWORDINTREE(0x21800000,0x00000000)}}, {VT_exponent,22,0x3a84ef,{DOUBLEWITHTWODWORDINTREE(0x21900000,0x00000000)}}, {VT_exponent,22,0x3a84f0,{DOUBLEWITHTWODWORDINTREE(0x21a00000,0x00000000)}}, {VT_exponent,22,0x3a84f1,{DOUBLEWITHTWODWORDINTREE(0x21b00000,0x00000000)}}, {VT_exponent,22,0x3a84f2,{DOUBLEWITHTWODWORDINTREE(0x21c00000,0x00000000)}}, {VT_exponent,22,0x3a84f3,{DOUBLEWITHTWODWORDINTREE(0x21d00000,0x00000000)}}, {VT_exponent,22,0x3a84f4,{DOUBLEWITHTWODWORDINTREE(0x21e00000,0x00000000)}}, {VT_exponent,22,0x3a84f5,{DOUBLEWITHTWODWORDINTREE(0x21f00000,0x00000000)}}, {VT_exponent,22,0x3a84f6,{DOUBLEWITHTWODWORDINTREE(0x22000000,0x00000000)}}, {VT_exponent,22,0x3a84f7,{DOUBLEWITHTWODWORDINTREE(0x22100000,0x00000000)}}, {VT_exponent,22,0x3a84f8,{DOUBLEWITHTWODWORDINTREE(0x22200000,0x00000000)}}, {VT_exponent,22,0x3a84f9,{DOUBLEWITHTWODWORDINTREE(0x22300000,0x00000000)}}, {VT_exponent,22,0x3a84fa,{DOUBLEWITHTWODWORDINTREE(0x22400000,0x00000000)}}, {VT_exponent,22,0x3a84fb,{DOUBLEWITHTWODWORDINTREE(0x22500000,0x00000000)}}, {VT_exponent,22,0x3a84fc,{DOUBLEWITHTWODWORDINTREE(0x22600000,0x00000000)}}, {VT_exponent,22,0x3a84fd,{DOUBLEWITHTWODWORDINTREE(0x22700000,0x00000000)}}, {VT_exponent,22,0x3a84fe,{DOUBLEWITHTWODWORDINTREE(0x22800000,0x00000000)}}, {VT_exponent,22,0x3a84ff,{DOUBLEWITHTWODWORDINTREE(0x22900000,0x00000000)}}, {VT_exponent,22,0x3a8500,{DOUBLEWITHTWODWORDINTREE(0x22a00000,0x00000000)}}, {VT_exponent,22,0x3a8501,{DOUBLEWITHTWODWORDINTREE(0x22b00000,0x00000000)}}, {VT_exponent,22,0x3a8502,{DOUBLEWITHTWODWORDINTREE(0x22c00000,0x00000000)}}, {VT_exponent,22,0x3a8503,{DOUBLEWITHTWODWORDINTREE(0x22d00000,0x00000000)}}, {VT_exponent,22,0x3a8504,{DOUBLEWITHTWODWORDINTREE(0x22e00000,0x00000000)}}, {VT_exponent,22,0x3a8505,{DOUBLEWITHTWODWORDINTREE(0x22f00000,0x00000000)}}, {VT_exponent,22,0x3a8506,{DOUBLEWITHTWODWORDINTREE(0x23000000,0x00000000)}}, {VT_exponent,22,0x3a8507,{DOUBLEWITHTWODWORDINTREE(0x23100000,0x00000000)}}, {VT_exponent,22,0x3a8508,{DOUBLEWITHTWODWORDINTREE(0x23200000,0x00000000)}}, {VT_exponent,22,0x3a8509,{DOUBLEWITHTWODWORDINTREE(0x23300000,0x00000000)}}, {VT_exponent,22,0x3a850a,{DOUBLEWITHTWODWORDINTREE(0x23400000,0x00000000)}}, {VT_exponent,22,0x3a850b,{DOUBLEWITHTWODWORDINTREE(0x23500000,0x00000000)}}, {VT_exponent,22,0x3a850c,{DOUBLEWITHTWODWORDINTREE(0x23600000,0x00000000)}}, {VT_exponent,22,0x3a850d,{DOUBLEWITHTWODWORDINTREE(0x23700000,0x00000000)}}, {VT_exponent,22,0x3a850e,{DOUBLEWITHTWODWORDINTREE(0x23800000,0x00000000)}}, {VT_exponent,22,0x3a850f,{DOUBLEWITHTWODWORDINTREE(0x23900000,0x00000000)}}, {VT_exponent,22,0x3a8510,{DOUBLEWITHTWODWORDINTREE(0x23a00000,0x00000000)}}, {VT_exponent,22,0x3a8511,{DOUBLEWITHTWODWORDINTREE(0x23b00000,0x00000000)}}, {VT_exponent,22,0x3a8512,{DOUBLEWITHTWODWORDINTREE(0x23c00000,0x00000000)}}, {VT_exponent,22,0x3a8513,{DOUBLEWITHTWODWORDINTREE(0x23d00000,0x00000000)}}, {VT_exponent,22,0x3a8514,{DOUBLEWITHTWODWORDINTREE(0x23e00000,0x00000000)}}, {VT_exponent,22,0x3a8515,{DOUBLEWITHTWODWORDINTREE(0x23f00000,0x00000000)}}, {VT_exponent,22,0x3a8516,{DOUBLEWITHTWODWORDINTREE(0x24000000,0x00000000)}}, {VT_exponent,22,0x3a8517,{DOUBLEWITHTWODWORDINTREE(0x24100000,0x00000000)}}, {VT_exponent,22,0x3a8518,{DOUBLEWITHTWODWORDINTREE(0x24200000,0x00000000)}}, {VT_exponent,22,0x3a8519,{DOUBLEWITHTWODWORDINTREE(0x24300000,0x00000000)}}, {VT_exponent,22,0x3a851a,{DOUBLEWITHTWODWORDINTREE(0x24400000,0x00000000)}}, {VT_exponent,22,0x3a851b,{DOUBLEWITHTWODWORDINTREE(0x24500000,0x00000000)}}, {VT_exponent,22,0x3a851c,{DOUBLEWITHTWODWORDINTREE(0x24600000,0x00000000)}}, {VT_exponent,22,0x3a851d,{DOUBLEWITHTWODWORDINTREE(0x24700000,0x00000000)}}, {VT_exponent,22,0x3a851e,{DOUBLEWITHTWODWORDINTREE(0x24800000,0x00000000)}}, {VT_exponent,22,0x3a851f,{DOUBLEWITHTWODWORDINTREE(0x24900000,0x00000000)}}, {VT_exponent,22,0x3a8520,{DOUBLEWITHTWODWORDINTREE(0x24a00000,0x00000000)}}, {VT_exponent,22,0x3a8521,{DOUBLEWITHTWODWORDINTREE(0x24b00000,0x00000000)}}, {VT_exponent,22,0x3a8522,{DOUBLEWITHTWODWORDINTREE(0x24c00000,0x00000000)}}, {VT_exponent,22,0x3a8523,{DOUBLEWITHTWODWORDINTREE(0x24d00000,0x00000000)}}, {VT_exponent,22,0x3a8524,{DOUBLEWITHTWODWORDINTREE(0x24e00000,0x00000000)}}, {VT_exponent,22,0x3a8525,{DOUBLEWITHTWODWORDINTREE(0x24f00000,0x00000000)}}, {VT_exponent,22,0x3a8526,{DOUBLEWITHTWODWORDINTREE(0x25000000,0x00000000)}}, {VT_exponent,22,0x3a8527,{DOUBLEWITHTWODWORDINTREE(0x25100000,0x00000000)}}, {VT_exponent,22,0x3a8528,{DOUBLEWITHTWODWORDINTREE(0x25200000,0x00000000)}}, {VT_exponent,22,0x3a8529,{DOUBLEWITHTWODWORDINTREE(0x25300000,0x00000000)}}, {VT_exponent,22,0x3a852a,{DOUBLEWITHTWODWORDINTREE(0x25400000,0x00000000)}}, {VT_exponent,22,0x3a852b,{DOUBLEWITHTWODWORDINTREE(0x25500000,0x00000000)}}, {VT_exponent,22,0x3a852c,{DOUBLEWITHTWODWORDINTREE(0x25600000,0x00000000)}}, {VT_exponent,22,0x3a852d,{DOUBLEWITHTWODWORDINTREE(0x25700000,0x00000000)}}, {VT_exponent,22,0x3a852e,{DOUBLEWITHTWODWORDINTREE(0x25800000,0x00000000)}}, {VT_exponent,22,0x3a852f,{DOUBLEWITHTWODWORDINTREE(0x25900000,0x00000000)}}, {VT_exponent,22,0x3a8530,{DOUBLEWITHTWODWORDINTREE(0x25a00000,0x00000000)}}, {VT_exponent,22,0x3a8531,{DOUBLEWITHTWODWORDINTREE(0x25b00000,0x00000000)}}, {VT_exponent,22,0x3a8532,{DOUBLEWITHTWODWORDINTREE(0x25c00000,0x00000000)}}, {VT_exponent,22,0x3a8533,{DOUBLEWITHTWODWORDINTREE(0x25d00000,0x00000000)}}, {VT_exponent,22,0x3a8534,{DOUBLEWITHTWODWORDINTREE(0x25e00000,0x00000000)}}, {VT_exponent,22,0x3a8535,{DOUBLEWITHTWODWORDINTREE(0x25f00000,0x00000000)}}, {VT_exponent,22,0x3a8536,{DOUBLEWITHTWODWORDINTREE(0x26000000,0x00000000)}}, {VT_exponent,22,0x3a8537,{DOUBLEWITHTWODWORDINTREE(0x26100000,0x00000000)}}, {VT_exponent,22,0x3a8538,{DOUBLEWITHTWODWORDINTREE(0x26200000,0x00000000)}}, {VT_exponent,22,0x3a8539,{DOUBLEWITHTWODWORDINTREE(0x26300000,0x00000000)}}, {VT_exponent,22,0x3a853a,{DOUBLEWITHTWODWORDINTREE(0x26400000,0x00000000)}}, {VT_exponent,22,0x3a853b,{DOUBLEWITHTWODWORDINTREE(0x26500000,0x00000000)}}, {VT_exponent,22,0x3a853c,{DOUBLEWITHTWODWORDINTREE(0x26600000,0x00000000)}}, {VT_exponent,22,0x3a853d,{DOUBLEWITHTWODWORDINTREE(0x26700000,0x00000000)}}, {VT_exponent,22,0x3a853e,{DOUBLEWITHTWODWORDINTREE(0x26800000,0x00000000)}}, {VT_exponent,22,0x3a853f,{DOUBLEWITHTWODWORDINTREE(0x26900000,0x00000000)}}, {VT_exponent,22,0x3a8540,{DOUBLEWITHTWODWORDINTREE(0x26a00000,0x00000000)}}, {VT_exponent,22,0x3a8541,{DOUBLEWITHTWODWORDINTREE(0x26b00000,0x00000000)}}, {VT_exponent,22,0x3a8542,{DOUBLEWITHTWODWORDINTREE(0x26c00000,0x00000000)}}, {VT_exponent,22,0x3a8543,{DOUBLEWITHTWODWORDINTREE(0x26d00000,0x00000000)}}, {VT_exponent,22,0x3a8544,{DOUBLEWITHTWODWORDINTREE(0x26e00000,0x00000000)}}, {VT_exponent,22,0x3a8545,{DOUBLEWITHTWODWORDINTREE(0x26f00000,0x00000000)}}, {VT_exponent,22,0x3a8546,{DOUBLEWITHTWODWORDINTREE(0x27000000,0x00000000)}}, {VT_exponent,22,0x3a8547,{DOUBLEWITHTWODWORDINTREE(0x27100000,0x00000000)}}, {VT_exponent,22,0x3a8548,{DOUBLEWITHTWODWORDINTREE(0x27200000,0x00000000)}}, {VT_exponent,22,0x3a8549,{DOUBLEWITHTWODWORDINTREE(0x27300000,0x00000000)}}, {VT_exponent,22,0x3a854a,{DOUBLEWITHTWODWORDINTREE(0x27400000,0x00000000)}}, {VT_exponent,22,0x3a854b,{DOUBLEWITHTWODWORDINTREE(0x27500000,0x00000000)}}, {VT_exponent,22,0x3a854c,{DOUBLEWITHTWODWORDINTREE(0x27600000,0x00000000)}}, {VT_exponent,22,0x3a854d,{DOUBLEWITHTWODWORDINTREE(0x27700000,0x00000000)}}, {VT_exponent,22,0x3a854e,{DOUBLEWITHTWODWORDINTREE(0x27800000,0x00000000)}}, {VT_exponent,22,0x3a854f,{DOUBLEWITHTWODWORDINTREE(0x27900000,0x00000000)}}, {VT_exponent,22,0x3a8550,{DOUBLEWITHTWODWORDINTREE(0x27a00000,0x00000000)}}, {VT_exponent,22,0x3a8551,{DOUBLEWITHTWODWORDINTREE(0x27b00000,0x00000000)}}, {VT_exponent,22,0x3a8552,{DOUBLEWITHTWODWORDINTREE(0x27c00000,0x00000000)}}, {VT_exponent,22,0x3a8553,{DOUBLEWITHTWODWORDINTREE(0x27d00000,0x00000000)}}, {VT_exponent,22,0x3a8554,{DOUBLEWITHTWODWORDINTREE(0x27e00000,0x00000000)}}, {VT_exponent,22,0x3a8555,{DOUBLEWITHTWODWORDINTREE(0x27f00000,0x00000000)}}, {VT_exponent,22,0x3a8556,{DOUBLEWITHTWODWORDINTREE(0x28000000,0x00000000)}}, {VT_exponent,22,0x3a8557,{DOUBLEWITHTWODWORDINTREE(0x28100000,0x00000000)}}, {VT_exponent,22,0x3a8558,{DOUBLEWITHTWODWORDINTREE(0x28200000,0x00000000)}}, {VT_exponent,22,0x3a8559,{DOUBLEWITHTWODWORDINTREE(0x28300000,0x00000000)}}, {VT_exponent,22,0x3a855a,{DOUBLEWITHTWODWORDINTREE(0x28400000,0x00000000)}}, {VT_exponent,22,0x3a855b,{DOUBLEWITHTWODWORDINTREE(0x28500000,0x00000000)}}, {VT_exponent,22,0x3a855c,{DOUBLEWITHTWODWORDINTREE(0x28600000,0x00000000)}}, {VT_exponent,22,0x3a855d,{DOUBLEWITHTWODWORDINTREE(0x28700000,0x00000000)}}, {VT_exponent,22,0x3a855e,{DOUBLEWITHTWODWORDINTREE(0x28800000,0x00000000)}}, {VT_exponent,22,0x3a855f,{DOUBLEWITHTWODWORDINTREE(0x28900000,0x00000000)}}, {VT_exponent,22,0x3a8560,{DOUBLEWITHTWODWORDINTREE(0x28a00000,0x00000000)}}, {VT_exponent,22,0x3a8561,{DOUBLEWITHTWODWORDINTREE(0x28b00000,0x00000000)}}, {VT_exponent,22,0x3a8562,{DOUBLEWITHTWODWORDINTREE(0x28c00000,0x00000000)}}, {VT_exponent,22,0x3a8563,{DOUBLEWITHTWODWORDINTREE(0x28d00000,0x00000000)}}, {VT_exponent,22,0x3a8564,{DOUBLEWITHTWODWORDINTREE(0x28e00000,0x00000000)}}, {VT_exponent,22,0x3a8565,{DOUBLEWITHTWODWORDINTREE(0x28f00000,0x00000000)}}, {VT_exponent,22,0x3a8566,{DOUBLEWITHTWODWORDINTREE(0x29000000,0x00000000)}}, {VT_exponent,22,0x3a8567,{DOUBLEWITHTWODWORDINTREE(0x29100000,0x00000000)}}, {VT_exponent,22,0x3a8568,{DOUBLEWITHTWODWORDINTREE(0x29200000,0x00000000)}}, {VT_exponent,22,0x3a8569,{DOUBLEWITHTWODWORDINTREE(0x29300000,0x00000000)}}, {VT_exponent,22,0x3a856a,{DOUBLEWITHTWODWORDINTREE(0x29400000,0x00000000)}}, {VT_exponent,22,0x3a856b,{DOUBLEWITHTWODWORDINTREE(0x29500000,0x00000000)}}, {VT_exponent,22,0x3a856c,{DOUBLEWITHTWODWORDINTREE(0x29600000,0x00000000)}}, {VT_exponent,22,0x3a856d,{DOUBLEWITHTWODWORDINTREE(0x29700000,0x00000000)}}, {VT_exponent,22,0x3a856e,{DOUBLEWITHTWODWORDINTREE(0x29800000,0x00000000)}}, {VT_exponent,22,0x3a856f,{DOUBLEWITHTWODWORDINTREE(0x29900000,0x00000000)}}, {VT_exponent,22,0x3a8570,{DOUBLEWITHTWODWORDINTREE(0x29a00000,0x00000000)}}, {VT_exponent,22,0x3a8571,{DOUBLEWITHTWODWORDINTREE(0x29b00000,0x00000000)}}, {VT_exponent,22,0x3a8572,{DOUBLEWITHTWODWORDINTREE(0x29c00000,0x00000000)}}, {VT_exponent,22,0x3a8573,{DOUBLEWITHTWODWORDINTREE(0x29d00000,0x00000000)}}, {VT_exponent,22,0x3a8574,{DOUBLEWITHTWODWORDINTREE(0x29e00000,0x00000000)}}, {VT_exponent,22,0x3a8575,{DOUBLEWITHTWODWORDINTREE(0x29f00000,0x00000000)}}, {VT_exponent,22,0x3a8576,{DOUBLEWITHTWODWORDINTREE(0x2a000000,0x00000000)}}, {VT_exponent,22,0x3a8577,{DOUBLEWITHTWODWORDINTREE(0x2a100000,0x00000000)}}, {VT_exponent,22,0x3a8578,{DOUBLEWITHTWODWORDINTREE(0x2a200000,0x00000000)}}, {VT_exponent,22,0x3a8579,{DOUBLEWITHTWODWORDINTREE(0x2a300000,0x00000000)}}, {VT_exponent,22,0x3a857a,{DOUBLEWITHTWODWORDINTREE(0x2a400000,0x00000000)}}, {VT_exponent,22,0x3a857b,{DOUBLEWITHTWODWORDINTREE(0x2a500000,0x00000000)}}, {VT_exponent,22,0x3a857c,{DOUBLEWITHTWODWORDINTREE(0x2a600000,0x00000000)}}, {VT_exponent,22,0x3a857d,{DOUBLEWITHTWODWORDINTREE(0x2a700000,0x00000000)}}, {VT_exponent,22,0x3a857e,{DOUBLEWITHTWODWORDINTREE(0x2a800000,0x00000000)}}, {VT_exponent,22,0x3a857f,{DOUBLEWITHTWODWORDINTREE(0x2a900000,0x00000000)}}, {VT_exponent,22,0x3a8580,{DOUBLEWITHTWODWORDINTREE(0x2aa00000,0x00000000)}}, {VT_exponent,22,0x3a8581,{DOUBLEWITHTWODWORDINTREE(0x2ab00000,0x00000000)}}, {VT_exponent,22,0x3a8582,{DOUBLEWITHTWODWORDINTREE(0x2ac00000,0x00000000)}}, {VT_exponent,22,0x3a8583,{DOUBLEWITHTWODWORDINTREE(0x2ad00000,0x00000000)}}, {VT_exponent,22,0x3a8584,{DOUBLEWITHTWODWORDINTREE(0x2ae00000,0x00000000)}}, {VT_exponent,22,0x3a8585,{DOUBLEWITHTWODWORDINTREE(0x2af00000,0x00000000)}}, {VT_exponent,22,0x3a8586,{DOUBLEWITHTWODWORDINTREE(0x2b000000,0x00000000)}}, {VT_exponent,22,0x3a8587,{DOUBLEWITHTWODWORDINTREE(0x2b100000,0x00000000)}}, {VT_exponent,22,0x3a8588,{DOUBLEWITHTWODWORDINTREE(0x2b200000,0x00000000)}}, {VT_exponent,22,0x3a8589,{DOUBLEWITHTWODWORDINTREE(0x2b300000,0x00000000)}}, {VT_exponent,22,0x3a858a,{DOUBLEWITHTWODWORDINTREE(0x2b400000,0x00000000)}}, {VT_exponent,22,0x3a858b,{DOUBLEWITHTWODWORDINTREE(0x2b500000,0x00000000)}}, {VT_exponent,22,0x3a858c,{DOUBLEWITHTWODWORDINTREE(0x2b600000,0x00000000)}}, {VT_exponent,22,0x3a858d,{DOUBLEWITHTWODWORDINTREE(0x2b700000,0x00000000)}}, {VT_exponent,22,0x3a858e,{DOUBLEWITHTWODWORDINTREE(0x2b800000,0x00000000)}}, {VT_exponent,22,0x3a858f,{DOUBLEWITHTWODWORDINTREE(0x2b900000,0x00000000)}}, {VT_exponent,22,0x3a8590,{DOUBLEWITHTWODWORDINTREE(0x2ba00000,0x00000000)}}, {VT_exponent,22,0x3a8591,{DOUBLEWITHTWODWORDINTREE(0x2bb00000,0x00000000)}}, {VT_exponent,22,0x3a8592,{DOUBLEWITHTWODWORDINTREE(0x2bc00000,0x00000000)}}, {VT_exponent,22,0x3a8593,{DOUBLEWITHTWODWORDINTREE(0x2bd00000,0x00000000)}}, {VT_exponent,22,0x3a8594,{DOUBLEWITHTWODWORDINTREE(0x2be00000,0x00000000)}}, {VT_exponent,22,0x3a8595,{DOUBLEWITHTWODWORDINTREE(0x2bf00000,0x00000000)}}, {VT_exponent,22,0x3a8596,{DOUBLEWITHTWODWORDINTREE(0x2c000000,0x00000000)}}, {VT_exponent,22,0x3a8597,{DOUBLEWITHTWODWORDINTREE(0x2c100000,0x00000000)}}, {VT_exponent,22,0x3a8598,{DOUBLEWITHTWODWORDINTREE(0x2c200000,0x00000000)}}, {VT_exponent,22,0x3a8599,{DOUBLEWITHTWODWORDINTREE(0x2c300000,0x00000000)}}, {VT_exponent,22,0x3a859a,{DOUBLEWITHTWODWORDINTREE(0x2c400000,0x00000000)}}, {VT_exponent,22,0x3a859b,{DOUBLEWITHTWODWORDINTREE(0x2c500000,0x00000000)}}, {VT_exponent,22,0x3a859c,{DOUBLEWITHTWODWORDINTREE(0x2c600000,0x00000000)}}, {VT_exponent,22,0x3a859d,{DOUBLEWITHTWODWORDINTREE(0x2c700000,0x00000000)}}, {VT_exponent,22,0x3a859e,{DOUBLEWITHTWODWORDINTREE(0x2c800000,0x00000000)}}, {VT_exponent,22,0x3a859f,{DOUBLEWITHTWODWORDINTREE(0x2c900000,0x00000000)}}, {VT_exponent,22,0x3a85a0,{DOUBLEWITHTWODWORDINTREE(0x2ca00000,0x00000000)}}, {VT_exponent,22,0x3a85a1,{DOUBLEWITHTWODWORDINTREE(0x2cb00000,0x00000000)}}, {VT_exponent,22,0x3a85a2,{DOUBLEWITHTWODWORDINTREE(0x2cc00000,0x00000000)}}, {VT_exponent,22,0x3a85a3,{DOUBLEWITHTWODWORDINTREE(0x2cd00000,0x00000000)}}, {VT_exponent,22,0x3a85a4,{DOUBLEWITHTWODWORDINTREE(0x2ce00000,0x00000000)}}, {VT_exponent,22,0x3a85a5,{DOUBLEWITHTWODWORDINTREE(0x2cf00000,0x00000000)}}, {VT_exponent,22,0x3a85a6,{DOUBLEWITHTWODWORDINTREE(0x2d000000,0x00000000)}}, {VT_exponent,22,0x3a85a7,{DOUBLEWITHTWODWORDINTREE(0x2d100000,0x00000000)}}, {VT_exponent,22,0x3a85a8,{DOUBLEWITHTWODWORDINTREE(0x2d200000,0x00000000)}}, {VT_exponent,22,0x3a85a9,{DOUBLEWITHTWODWORDINTREE(0x2d300000,0x00000000)}}, {VT_exponent,22,0x3a85aa,{DOUBLEWITHTWODWORDINTREE(0x2d400000,0x00000000)}}, {VT_exponent,22,0x3a85ab,{DOUBLEWITHTWODWORDINTREE(0x2d500000,0x00000000)}}, {VT_exponent,22,0x3a85ac,{DOUBLEWITHTWODWORDINTREE(0x2d600000,0x00000000)}}, {VT_exponent,22,0x3a85ad,{DOUBLEWITHTWODWORDINTREE(0x2d700000,0x00000000)}}, {VT_exponent,22,0x3a85ae,{DOUBLEWITHTWODWORDINTREE(0x2d800000,0x00000000)}}, {VT_exponent,22,0x3a85af,{DOUBLEWITHTWODWORDINTREE(0x2d900000,0x00000000)}}, {VT_exponent,22,0x3a85b0,{DOUBLEWITHTWODWORDINTREE(0x2da00000,0x00000000)}}, {VT_exponent,22,0x3a85b1,{DOUBLEWITHTWODWORDINTREE(0x2db00000,0x00000000)}}, {VT_exponent,22,0x3a85b2,{DOUBLEWITHTWODWORDINTREE(0x2dc00000,0x00000000)}}, {VT_exponent,22,0x3a85b3,{DOUBLEWITHTWODWORDINTREE(0x2dd00000,0x00000000)}}, {VT_exponent,22,0x3a85b4,{DOUBLEWITHTWODWORDINTREE(0x2de00000,0x00000000)}}, {VT_exponent,22,0x3a85b5,{DOUBLEWITHTWODWORDINTREE(0x2df00000,0x00000000)}}, {VT_exponent,22,0x3a85b6,{DOUBLEWITHTWODWORDINTREE(0x2e000000,0x00000000)}}, {VT_exponent,22,0x3a85b7,{DOUBLEWITHTWODWORDINTREE(0x2e100000,0x00000000)}}, {VT_exponent,22,0x3a85b8,{DOUBLEWITHTWODWORDINTREE(0x2e200000,0x00000000)}}, {VT_exponent,22,0x3a85b9,{DOUBLEWITHTWODWORDINTREE(0x2e300000,0x00000000)}}, {VT_exponent,22,0x3a85ba,{DOUBLEWITHTWODWORDINTREE(0x2e400000,0x00000000)}}, {VT_exponent,22,0x3a85bb,{DOUBLEWITHTWODWORDINTREE(0x2e500000,0x00000000)}}, {VT_exponent,22,0x3a85bc,{DOUBLEWITHTWODWORDINTREE(0x2e600000,0x00000000)}}, {VT_exponent,22,0x3a85bd,{DOUBLEWITHTWODWORDINTREE(0x2e700000,0x00000000)}}, {VT_exponent,22,0x3a85be,{DOUBLEWITHTWODWORDINTREE(0x2e800000,0x00000000)}}, {VT_exponent,22,0x3a85bf,{DOUBLEWITHTWODWORDINTREE(0x2e900000,0x00000000)}}, {VT_exponent,22,0x3a85c0,{DOUBLEWITHTWODWORDINTREE(0x2ea00000,0x00000000)}}, {VT_exponent,22,0x3a85c1,{DOUBLEWITHTWODWORDINTREE(0x2eb00000,0x00000000)}}, {VT_exponent,22,0x3a85c2,{DOUBLEWITHTWODWORDINTREE(0x2ec00000,0x00000000)}}, {VT_exponent,22,0x3a85c3,{DOUBLEWITHTWODWORDINTREE(0x2ed00000,0x00000000)}}, {VT_exponent,22,0x3a85c4,{DOUBLEWITHTWODWORDINTREE(0x2ee00000,0x00000000)}}, {VT_exponent,22,0x3a85c5,{DOUBLEWITHTWODWORDINTREE(0x2ef00000,0x00000000)}}, {VT_exponent,22,0x3a85c6,{DOUBLEWITHTWODWORDINTREE(0x2f000000,0x00000000)}}, {VT_exponent,22,0x3a85c7,{DOUBLEWITHTWODWORDINTREE(0x2f100000,0x00000000)}}, {VT_exponent,22,0x3a85c8,{DOUBLEWITHTWODWORDINTREE(0x2f200000,0x00000000)}}, {VT_exponent,22,0x3a85c9,{DOUBLEWITHTWODWORDINTREE(0x2f300000,0x00000000)}}, {VT_exponent,22,0x3a85ca,{DOUBLEWITHTWODWORDINTREE(0x2f400000,0x00000000)}}, {VT_exponent,22,0x3a85cb,{DOUBLEWITHTWODWORDINTREE(0x2f500000,0x00000000)}}, {VT_exponent,22,0x3a85cc,{DOUBLEWITHTWODWORDINTREE(0x2f600000,0x00000000)}}, {VT_exponent,22,0x3a85cd,{DOUBLEWITHTWODWORDINTREE(0x2f700000,0x00000000)}}, {VT_exponent,22,0x3a85ce,{DOUBLEWITHTWODWORDINTREE(0x2f800000,0x00000000)}}, {VT_exponent,22,0x3a85cf,{DOUBLEWITHTWODWORDINTREE(0x2f900000,0x00000000)}}, {VT_exponent,22,0x3a85d0,{DOUBLEWITHTWODWORDINTREE(0x2fa00000,0x00000000)}}, {VT_exponent,22,0x3a85d1,{DOUBLEWITHTWODWORDINTREE(0x2fb00000,0x00000000)}}, {VT_exponent,22,0x3a85d2,{DOUBLEWITHTWODWORDINTREE(0x2fc00000,0x00000000)}}, {VT_exponent,22,0x3a85d3,{DOUBLEWITHTWODWORDINTREE(0x2fd00000,0x00000000)}}, {VT_exponent,22,0x3a85d4,{DOUBLEWITHTWODWORDINTREE(0x2fe00000,0x00000000)}}, {VT_exponent,22,0x3a85d5,{DOUBLEWITHTWODWORDINTREE(0x2ff00000,0x00000000)}}, {VT_exponent,22,0x3a85d6,{DOUBLEWITHTWODWORDINTREE(0x30000000,0x00000000)}}, {VT_exponent,22,0x3a85d7,{DOUBLEWITHTWODWORDINTREE(0x30100000,0x00000000)}}, {VT_exponent,22,0x3a85d8,{DOUBLEWITHTWODWORDINTREE(0x30200000,0x00000000)}}, {VT_exponent,22,0x3a85d9,{DOUBLEWITHTWODWORDINTREE(0x30300000,0x00000000)}}, {VT_exponent,22,0x3a85da,{DOUBLEWITHTWODWORDINTREE(0x30400000,0x00000000)}}, {VT_exponent,22,0x3a85db,{DOUBLEWITHTWODWORDINTREE(0x30500000,0x00000000)}}, {VT_exponent,22,0x3a85dc,{DOUBLEWITHTWODWORDINTREE(0x30600000,0x00000000)}}, {VT_exponent,22,0x3a85dd,{DOUBLEWITHTWODWORDINTREE(0x30700000,0x00000000)}}, {VT_exponent,22,0x3a85de,{DOUBLEWITHTWODWORDINTREE(0x30800000,0x00000000)}}, {VT_exponent,22,0x3a85df,{DOUBLEWITHTWODWORDINTREE(0x30900000,0x00000000)}}, {VT_exponent,22,0x3a85e0,{DOUBLEWITHTWODWORDINTREE(0x30a00000,0x00000000)}}, {VT_exponent,22,0x3a85e1,{DOUBLEWITHTWODWORDINTREE(0x30b00000,0x00000000)}}, {VT_exponent,22,0x3a85e2,{DOUBLEWITHTWODWORDINTREE(0x30c00000,0x00000000)}}, {VT_exponent,22,0x3a85e3,{DOUBLEWITHTWODWORDINTREE(0x30d00000,0x00000000)}}, {VT_exponent,22,0x3a85e4,{DOUBLEWITHTWODWORDINTREE(0x30e00000,0x00000000)}}, {VT_exponent,22,0x3a85e5,{DOUBLEWITHTWODWORDINTREE(0x30f00000,0x00000000)}}, {VT_exponent,22,0x3a85e6,{DOUBLEWITHTWODWORDINTREE(0x31000000,0x00000000)}}, {VT_exponent,22,0x3a85e7,{DOUBLEWITHTWODWORDINTREE(0x31100000,0x00000000)}}, {VT_exponent,22,0x3a85e8,{DOUBLEWITHTWODWORDINTREE(0x31200000,0x00000000)}}, {VT_exponent,22,0x3a85e9,{DOUBLEWITHTWODWORDINTREE(0x31300000,0x00000000)}}, {VT_exponent,22,0x3a85ea,{DOUBLEWITHTWODWORDINTREE(0x31400000,0x00000000)}}, {VT_exponent,22,0x3a85eb,{DOUBLEWITHTWODWORDINTREE(0x31500000,0x00000000)}}, {VT_exponent,22,0x3a85ec,{DOUBLEWITHTWODWORDINTREE(0x31600000,0x00000000)}}, {VT_exponent,22,0x3a85ed,{DOUBLEWITHTWODWORDINTREE(0x31700000,0x00000000)}}, {VT_exponent,22,0x3a85ee,{DOUBLEWITHTWODWORDINTREE(0x31800000,0x00000000)}}, {VT_exponent,22,0x3a85ef,{DOUBLEWITHTWODWORDINTREE(0x31900000,0x00000000)}}, {VT_exponent,22,0x3a85f0,{DOUBLEWITHTWODWORDINTREE(0x31a00000,0x00000000)}}, {VT_exponent,22,0x3a85f1,{DOUBLEWITHTWODWORDINTREE(0x31b00000,0x00000000)}}, {VT_exponent,22,0x3a85f2,{DOUBLEWITHTWODWORDINTREE(0x31c00000,0x00000000)}}, {VT_exponent,22,0x3a85f3,{DOUBLEWITHTWODWORDINTREE(0x31d00000,0x00000000)}}, {VT_exponent,22,0x3a85f4,{DOUBLEWITHTWODWORDINTREE(0x31e00000,0x00000000)}}, {VT_exponent,22,0x3a85f5,{DOUBLEWITHTWODWORDINTREE(0x31f00000,0x00000000)}}, {VT_exponent,22,0x3a85f6,{DOUBLEWITHTWODWORDINTREE(0x32000000,0x00000000)}}, {VT_exponent,22,0x3a85f7,{DOUBLEWITHTWODWORDINTREE(0x32100000,0x00000000)}}, {VT_exponent,22,0x3a85f8,{DOUBLEWITHTWODWORDINTREE(0x32200000,0x00000000)}}, {VT_exponent,22,0x3a85f9,{DOUBLEWITHTWODWORDINTREE(0x32300000,0x00000000)}}, {VT_exponent,22,0x3a85fa,{DOUBLEWITHTWODWORDINTREE(0x32400000,0x00000000)}}, {VT_exponent,22,0x3a85fb,{DOUBLEWITHTWODWORDINTREE(0x32500000,0x00000000)}}, {VT_exponent,22,0x3a85fc,{DOUBLEWITHTWODWORDINTREE(0x32600000,0x00000000)}}, {VT_exponent,22,0x3a85fd,{DOUBLEWITHTWODWORDINTREE(0x32700000,0x00000000)}}, {VT_exponent,22,0x3a85fe,{DOUBLEWITHTWODWORDINTREE(0x32800000,0x00000000)}}, {VT_exponent,22,0x3a85ff,{DOUBLEWITHTWODWORDINTREE(0x32900000,0x00000000)}}, {VT_exponent,22,0x3a8600,{DOUBLEWITHTWODWORDINTREE(0x32a00000,0x00000000)}}, {VT_exponent,22,0x3a8601,{DOUBLEWITHTWODWORDINTREE(0x32b00000,0x00000000)}}, {VT_exponent,22,0x3a8602,{DOUBLEWITHTWODWORDINTREE(0x32c00000,0x00000000)}}, {VT_exponent,22,0x3a8603,{DOUBLEWITHTWODWORDINTREE(0x32d00000,0x00000000)}}, {VT_exponent,22,0x3a8604,{DOUBLEWITHTWODWORDINTREE(0x32e00000,0x00000000)}}, {VT_exponent,22,0x3a8605,{DOUBLEWITHTWODWORDINTREE(0x32f00000,0x00000000)}}, {VT_exponent,22,0x3a8606,{DOUBLEWITHTWODWORDINTREE(0x33000000,0x00000000)}}, {VT_exponent,22,0x3a8607,{DOUBLEWITHTWODWORDINTREE(0x33100000,0x00000000)}}, {VT_exponent,22,0x3a8608,{DOUBLEWITHTWODWORDINTREE(0x33200000,0x00000000)}}, {VT_exponent,22,0x3a8609,{DOUBLEWITHTWODWORDINTREE(0x33300000,0x00000000)}}, {VT_exponent,22,0x3a860a,{DOUBLEWITHTWODWORDINTREE(0x33400000,0x00000000)}}, {VT_exponent,22,0x3a860b,{DOUBLEWITHTWODWORDINTREE(0x33500000,0x00000000)}}, {VT_exponent,22,0x3a860c,{DOUBLEWITHTWODWORDINTREE(0x33600000,0x00000000)}}, {VT_exponent,22,0x3a860d,{DOUBLEWITHTWODWORDINTREE(0x33700000,0x00000000)}}, {VT_exponent,22,0x3a860e,{DOUBLEWITHTWODWORDINTREE(0x33800000,0x00000000)}}, {VT_exponent,22,0x3a860f,{DOUBLEWITHTWODWORDINTREE(0x33900000,0x00000000)}}, {VT_exponent,22,0x3a8610,{DOUBLEWITHTWODWORDINTREE(0x33a00000,0x00000000)}}, {VT_exponent,22,0x3a8611,{DOUBLEWITHTWODWORDINTREE(0x33b00000,0x00000000)}}, {VT_exponent,22,0x3a8612,{DOUBLEWITHTWODWORDINTREE(0x33c00000,0x00000000)}}, {VT_exponent,22,0x3a8613,{DOUBLEWITHTWODWORDINTREE(0x33d00000,0x00000000)}}, {VT_exponent,22,0x3a8614,{DOUBLEWITHTWODWORDINTREE(0x33e00000,0x00000000)}}, {VT_exponent,22,0x3a8615,{DOUBLEWITHTWODWORDINTREE(0x33f00000,0x00000000)}}, {VT_exponent,22,0x3a8616,{DOUBLEWITHTWODWORDINTREE(0x34000000,0x00000000)}}, {VT_exponent,22,0x3a8617,{DOUBLEWITHTWODWORDINTREE(0x34100000,0x00000000)}}, {VT_exponent,22,0x3a8618,{DOUBLEWITHTWODWORDINTREE(0x34200000,0x00000000)}}, {VT_exponent,22,0x3a8619,{DOUBLEWITHTWODWORDINTREE(0x34300000,0x00000000)}}, {VT_exponent,22,0x3a861a,{DOUBLEWITHTWODWORDINTREE(0x34400000,0x00000000)}}, {VT_exponent,22,0x3a861b,{DOUBLEWITHTWODWORDINTREE(0x34500000,0x00000000)}}, {VT_exponent,22,0x3a861c,{DOUBLEWITHTWODWORDINTREE(0x34600000,0x00000000)}}, {VT_exponent,22,0x3a861d,{DOUBLEWITHTWODWORDINTREE(0x34700000,0x00000000)}}, {VT_exponent,22,0x3a861e,{DOUBLEWITHTWODWORDINTREE(0x34800000,0x00000000)}}, {VT_exponent,22,0x3a861f,{DOUBLEWITHTWODWORDINTREE(0x34900000,0x00000000)}}, {VT_exponent,22,0x3a8620,{DOUBLEWITHTWODWORDINTREE(0x34a00000,0x00000000)}}, {VT_exponent,22,0x3a8621,{DOUBLEWITHTWODWORDINTREE(0x34b00000,0x00000000)}}, {VT_exponent,22,0x3a8622,{DOUBLEWITHTWODWORDINTREE(0x34c00000,0x00000000)}}, {VT_exponent,22,0x3a8623,{DOUBLEWITHTWODWORDINTREE(0x34d00000,0x00000000)}}, {VT_exponent,22,0x3a8624,{DOUBLEWITHTWODWORDINTREE(0x34e00000,0x00000000)}}, {VT_exponent,22,0x3a8625,{DOUBLEWITHTWODWORDINTREE(0x34f00000,0x00000000)}}, {VT_exponent,22,0x3a8626,{DOUBLEWITHTWODWORDINTREE(0x35000000,0x00000000)}}, {VT_exponent,22,0x3a8627,{DOUBLEWITHTWODWORDINTREE(0x35100000,0x00000000)}}, {VT_exponent,22,0x3a8628,{DOUBLEWITHTWODWORDINTREE(0x35200000,0x00000000)}}, {VT_exponent,22,0x3a8629,{DOUBLEWITHTWODWORDINTREE(0x35300000,0x00000000)}}, {VT_exponent,18,0xf787,{DOUBLEWITHTWODWORDINTREE(0x35400000,0x00000000)}}, {VT_exponent,18,0xd1d4,{DOUBLEWITHTWODWORDINTREE(0x35500000,0x00000000)}}, {VT_exponent,19,0x77f9f,{DOUBLEWITHTWODWORDINTREE(0x35600000,0x00000000)}}, {VT_exponent,18,0x3b8fb,{DOUBLEWITHTWODWORDINTREE(0x35700000,0x00000000)}}, {VT_exponent,19,0x1ef1a,{DOUBLEWITHTWODWORDINTREE(0x35800000,0x00000000)}}, {VT_exponent,21,0x1d4315,{DOUBLEWITHTWODWORDINTREE(0x35900000,0x00000000)}}, {VT_exponent,16,0x3de2,{DOUBLEWITHTWODWORDINTREE(0x35a00000,0x00000000)}}, {VT_exponent,22,0x3a862c,{DOUBLEWITHTWODWORDINTREE(0x35b00000,0x00000000)}}, {VT_exponent,22,0x3a862d,{DOUBLEWITHTWODWORDINTREE(0x35c00000,0x00000000)}}, {VT_exponent,22,0x3a862e,{DOUBLEWITHTWODWORDINTREE(0x35d00000,0x00000000)}}, {VT_exponent,22,0x3a862f,{DOUBLEWITHTWODWORDINTREE(0x35e00000,0x00000000)}}, {VT_exponent,22,0x3a8630,{DOUBLEWITHTWODWORDINTREE(0x35f00000,0x00000000)}}, {VT_exponent,22,0x3a8631,{DOUBLEWITHTWODWORDINTREE(0x36000000,0x00000000)}}, {VT_exponent,22,0x3a8632,{DOUBLEWITHTWODWORDINTREE(0x36100000,0x00000000)}}, {VT_exponent,22,0x3a8633,{DOUBLEWITHTWODWORDINTREE(0x36200000,0x00000000)}}, {VT_exponent,22,0x3a8634,{DOUBLEWITHTWODWORDINTREE(0x36300000,0x00000000)}}, {VT_exponent,22,0x3a8635,{DOUBLEWITHTWODWORDINTREE(0x36400000,0x00000000)}}, {VT_exponent,22,0x3a8636,{DOUBLEWITHTWODWORDINTREE(0x36500000,0x00000000)}}, {VT_exponent,22,0x3a8637,{DOUBLEWITHTWODWORDINTREE(0x36600000,0x00000000)}}, {VT_exponent,22,0x3a8638,{DOUBLEWITHTWODWORDINTREE(0x36700000,0x00000000)}}, {VT_exponent,21,0x1d431d,{DOUBLEWITHTWODWORDINTREE(0x36800000,0x00000000)}}, {VT_exponent,22,0x3a8639,{DOUBLEWITHTWODWORDINTREE(0x36900000,0x00000000)}}, {VT_exponent,22,0x3a863c,{DOUBLEWITHTWODWORDINTREE(0x36a00000,0x00000000)}}, {VT_exponent,16,0x3de0,{DOUBLEWITHTWODWORDINTREE(0x36b00000,0x00000000)}}, {VT_exponent,18,0x3a95e,{DOUBLEWITHTWODWORDINTREE(0x36c00000,0x00000000)}}, {VT_exponent,21,0x1d431f,{DOUBLEWITHTWODWORDINTREE(0x36d00000,0x00000000)}}, {VT_exponent,22,0x3a863d,{DOUBLEWITHTWODWORDINTREE(0x36e00000,0x00000000)}}, {VT_exponent,22,0x3a8640,{DOUBLEWITHTWODWORDINTREE(0x36f00000,0x00000000)}}, {VT_exponent,20,0x34749,{DOUBLEWITHTWODWORDINTREE(0x37000000,0x00000000)}}, {VT_exponent,20,0x3474d,{DOUBLEWITHTWODWORDINTREE(0x37100000,0x00000000)}}, {VT_exponent,22,0x3a8641,{DOUBLEWITHTWODWORDINTREE(0x37200000,0x00000000)}}, {VT_exponent,22,0x3a8642,{DOUBLEWITHTWODWORDINTREE(0x37300000,0x00000000)}}, {VT_exponent,22,0x3a8643,{DOUBLEWITHTWODWORDINTREE(0x37400000,0x00000000)}}, {VT_exponent,22,0x3a8644,{DOUBLEWITHTWODWORDINTREE(0x37500000,0x00000000)}}, {VT_exponent,22,0x3a8645,{DOUBLEWITHTWODWORDINTREE(0x37600000,0x00000000)}}, {VT_exponent,22,0x3a8646,{DOUBLEWITHTWODWORDINTREE(0x37700000,0x00000000)}}, {VT_exponent,22,0x3a8647,{DOUBLEWITHTWODWORDINTREE(0x37800000,0x00000000)}}, {VT_exponent,22,0x3a8648,{DOUBLEWITHTWODWORDINTREE(0x37900000,0x00000000)}}, {VT_exponent,22,0x3a8649,{DOUBLEWITHTWODWORDINTREE(0x37a00000,0x00000000)}}, {VT_exponent,22,0x3a864a,{DOUBLEWITHTWODWORDINTREE(0x37b00000,0x00000000)}}, {VT_exponent,22,0x3a864b,{DOUBLEWITHTWODWORDINTREE(0x37c00000,0x00000000)}}, {VT_exponent,22,0x3a864c,{DOUBLEWITHTWODWORDINTREE(0x37d00000,0x00000000)}}, {VT_exponent,22,0x3a864d,{DOUBLEWITHTWODWORDINTREE(0x37e00000,0x00000000)}}, {VT_exponent,22,0x3a864e,{DOUBLEWITHTWODWORDINTREE(0x37f00000,0x00000000)}}, {VT_exponent,22,0x3a864f,{DOUBLEWITHTWODWORDINTREE(0x38000000,0x00000000)}}, {VT_exponent,22,0x3a8650,{DOUBLEWITHTWODWORDINTREE(0x38100000,0x00000000)}}, {VT_exponent,22,0x3a8651,{DOUBLEWITHTWODWORDINTREE(0x38200000,0x00000000)}}, {VT_exponent,22,0x3a8652,{DOUBLEWITHTWODWORDINTREE(0x38300000,0x00000000)}}, {VT_exponent,22,0x3a8653,{DOUBLEWITHTWODWORDINTREE(0x38400000,0x00000000)}}, {VT_exponent,22,0x3a8654,{DOUBLEWITHTWODWORDINTREE(0x38500000,0x00000000)}}, {VT_exponent,22,0x3a8655,{DOUBLEWITHTWODWORDINTREE(0x38600000,0x00000000)}}, {VT_exponent,22,0x3a8656,{DOUBLEWITHTWODWORDINTREE(0x38700000,0x00000000)}}, {VT_exponent,22,0x3a8657,{DOUBLEWITHTWODWORDINTREE(0x38800000,0x00000000)}}, {VT_exponent,22,0x3a8658,{DOUBLEWITHTWODWORDINTREE(0x38900000,0x00000000)}}, {VT_exponent,22,0x3a8659,{DOUBLEWITHTWODWORDINTREE(0x38a00000,0x00000000)}}, {VT_exponent,22,0x3a865a,{DOUBLEWITHTWODWORDINTREE(0x38b00000,0x00000000)}}, {VT_exponent,22,0x3a865b,{DOUBLEWITHTWODWORDINTREE(0x38c00000,0x00000000)}}, {VT_exponent,22,0x3a865c,{DOUBLEWITHTWODWORDINTREE(0x38d00000,0x00000000)}}, {VT_exponent,22,0x3a865d,{DOUBLEWITHTWODWORDINTREE(0x38e00000,0x00000000)}}, {VT_exponent,21,0x1d432f,{DOUBLEWITHTWODWORDINTREE(0x38f00000,0x00000000)}}, {VT_exponent,22,0x3a8660,{DOUBLEWITHTWODWORDINTREE(0x39000000,0x00000000)}}, {VT_exponent,22,0x3a8661,{DOUBLEWITHTWODWORDINTREE(0x39100000,0x00000000)}}, {VT_exponent,22,0x3a8662,{DOUBLEWITHTWODWORDINTREE(0x39200000,0x00000000)}}, {VT_exponent,21,0x1d4332,{DOUBLEWITHTWODWORDINTREE(0x39300000,0x00000000)}}, {VT_exponent,18,0xd1d5,{DOUBLEWITHTWODWORDINTREE(0x39400000,0x00000000)}}, {VT_exponent,18,0x3bfda,{DOUBLEWITHTWODWORDINTREE(0x39500000,0x00000000)}}, {VT_exponent,15,0x7528,{DOUBLEWITHTWODWORDINTREE(0x39600000,0x00000000)}}, {VT_exponent,15,0x7529,{DOUBLEWITHTWODWORDINTREE(0x39700000,0x00000000)}}, {VT_exponent,18,0x3a95f,{DOUBLEWITHTWODWORDINTREE(0x39800000,0x00000000)}}, {VT_exponent,17,0x1d434,{DOUBLEWITHTWODWORDINTREE(0x39900000,0x00000000)}}, {VT_exponent,19,0x750cd,{DOUBLEWITHTWODWORDINTREE(0x39a00000,0x00000000)}}, {VT_exponent,18,0x3a867,{DOUBLEWITHTWODWORDINTREE(0x39b00000,0x00000000)}}, {VT_exponent,19,0x771fd,{DOUBLEWITHTWODWORDINTREE(0x39c00000,0x00000000)}}, {VT_exponent,15,0x7764,{DOUBLEWITHTWODWORDINTREE(0x39d00000,0x00000000)}}, {VT_exponent,20,0xee3f9,{DOUBLEWITHTWODWORDINTREE(0x39e00000,0x00000000)}}, {VT_exponent,18,0x3bfdb,{DOUBLEWITHTWODWORDINTREE(0x39f00000,0x00000000)}}, {VT_exponent,16,0xeff7,{DOUBLEWITHTWODWORDINTREE(0x3a000000,0x00000000)}}, {VT_exponent,18,0xd1d6,{DOUBLEWITHTWODWORDINTREE(0x3a100000,0x00000000)}}, {VT_exponent,22,0x3a8663,{DOUBLEWITHTWODWORDINTREE(0x3a200000,0x00000000)}}, {VT_exponent,22,0x3a8666,{DOUBLEWITHTWODWORDINTREE(0x3a300000,0x00000000)}}, {VT_exponent,18,0x3b8fa,{DOUBLEWITHTWODWORDINTREE(0x3a400000,0x00000000)}}, {VT_exponent,17,0x1d435,{DOUBLEWITHTWODWORDINTREE(0x3a500000,0x00000000)}}, {VT_exponent,17,0x1dfe4,{DOUBLEWITHTWODWORDINTREE(0x3a600000,0x00000000)}}, {VT_exponent,19,0x750d8,{DOUBLEWITHTWODWORDINTREE(0x3a700000,0x00000000)}}, {VT_exponent,18,0x3a95b,{DOUBLEWITHTWODWORDINTREE(0x3a800000,0x00000000)}}, {VT_exponent,19,0x77f9e,{DOUBLEWITHTWODWORDINTREE(0x3a900000,0x00000000)}}, {VT_exponent,19,0x750d9,{DOUBLEWITHTWODWORDINTREE(0x3aa00000,0x00000000)}}, {VT_exponent,18,0xd1d7,{DOUBLEWITHTWODWORDINTREE(0x3ab00000,0x00000000)}}, {VT_exponent,18,0x3b8ff,{DOUBLEWITHTWODWORDINTREE(0x3ac00000,0x00000000)}}, {VT_exponent,17,0x1dc7c,{DOUBLEWITHTWODWORDINTREE(0x3ad00000,0x00000000)}}, {VT_exponent,19,0x750da,{DOUBLEWITHTWODWORDINTREE(0x3ae00000,0x00000000)}}, {VT_exponent,17,0x7bc2,{DOUBLEWITHTWODWORDINTREE(0x3af00000,0x00000000)}}, {VT_exponent,18,0x3bfca,{DOUBLEWITHTWODWORDINTREE(0x3b000000,0x00000000)}}, {VT_exponent,19,0x1a3a5,{DOUBLEWITHTWODWORDINTREE(0x3b100000,0x00000000)}}, {VT_exponent,17,0x1d4ac,{DOUBLEWITHTWODWORDINTREE(0x3b200000,0x00000000)}}, {VT_exponent,18,0x3a86e,{DOUBLEWITHTWODWORDINTREE(0x3b300000,0x00000000)}}, {VT_exponent,17,0x1d438,{DOUBLEWITHTWODWORDINTREE(0x3b400000,0x00000000)}}, {VT_exponent,18,0x3bfcb,{DOUBLEWITHTWODWORDINTREE(0x3b500000,0x00000000)}}, {VT_exponent,19,0x1a3a7,{DOUBLEWITHTWODWORDINTREE(0x3b600000,0x00000000)}}, {VT_exponent,17,0x1d4ae,{DOUBLEWITHTWODWORDINTREE(0x3b700000,0x00000000)}}, {VT_exponent,18,0x3bfce,{DOUBLEWITHTWODWORDINTREE(0x3b800000,0x00000000)}}, {VT_exponent,18,0xf78c,{DOUBLEWITHTWODWORDINTREE(0x3b900000,0x00000000)}}, {VT_exponent,17,0x1dfec,{DOUBLEWITHTWODWORDINTREE(0x3ba00000,0x00000000)}}, {VT_exponent,17,0x1d439,{DOUBLEWITHTWODWORDINTREE(0x3bb00000,0x00000000)}}, {VT_exponent,17,0x68e8,{DOUBLEWITHTWODWORDINTREE(0x3bc00000,0x00000000)}}, {VT_exponent,18,0xf786,{DOUBLEWITHTWODWORDINTREE(0x3bd00000,0x00000000)}}, {VT_exponent,15,0x771e,{DOUBLEWITHTWODWORDINTREE(0x3be00000,0x00000000)}}, {VT_exponent,17,0x1dfe6,{DOUBLEWITHTWODWORDINTREE(0x3bf00000,0x00000000)}}, {VT_exponent,15,0x77f8,{DOUBLEWITHTWODWORDINTREE(0x3c000000,0x00000000)}}, {VT_exponent,14,0x3bb3,{DOUBLEWITHTWODWORDINTREE(0x3c100000,0x00000000)}}, {VT_exponent,14,0x3b8e,{DOUBLEWITHTWODWORDINTREE(0x3c200000,0x00000000)}}, {VT_exponent,14,0x3a82,{DOUBLEWITHTWODWORDINTREE(0x3c300000,0x00000000)}}, {VT_exponent,14,0x3b96,{DOUBLEWITHTWODWORDINTREE(0x3c400000,0x00000000)}}, {VT_exponent,13,0x68f,{DOUBLEWITHTWODWORDINTREE(0x3c500000,0x00000000)}}, {VT_exponent,12,0x3d4,{DOUBLEWITHTWODWORDINTREE(0x3c600000,0x00000000)}}, {VT_exponent,13,0x1dca,{DOUBLEWITHTWODWORDINTREE(0x3c700000,0x00000000)}}, {VT_exponent,12,0x346,{DOUBLEWITHTWODWORDINTREE(0x3c800000,0x00000000)}}, {VT_exponent,12,0xee7,{DOUBLEWITHTWODWORDINTREE(0x3c900000,0x00000000)}}, {VT_exponent,12,0xeea,{DOUBLEWITHTWODWORDINTREE(0x3ca00000,0x00000000)}}, {VT_exponent,11,0x1ed,{DOUBLEWITHTWODWORDINTREE(0x3cb00000,0x00000000)}}, {VT_exponent,12,0x3df,{DOUBLEWITHTWODWORDINTREE(0x3cc00000,0x00000000)}}, {VT_exponent,11,0x1a2,{DOUBLEWITHTWODWORDINTREE(0x3cd00000,0x00000000)}}, {VT_exponent,11,0x56f,{DOUBLEWITHTWODWORDINTREE(0x3ce00000,0x00000000)}}, {VT_exponent,11,0xb9,{DOUBLEWITHTWODWORDINTREE(0x3cf00000,0x00000000)}}, {VT_exponent,13,0x7b2,{DOUBLEWITHTWODWORDINTREE(0x3d000000,0x00000000)}}, {VT_exponent,13,0x1dd8,{DOUBLEWITHTWODWORDINTREE(0x3d100000,0x00000000)}}, {VT_exponent,13,0x15ba,{DOUBLEWITHTWODWORDINTREE(0x3d200000,0x00000000)}}, {VT_exponent,12,0xee6,{DOUBLEWITHTWODWORDINTREE(0x3d300000,0x00000000)}}, {VT_exponent,13,0x15b8,{DOUBLEWITHTWODWORDINTREE(0x3d400000,0x00000000)}}, {VT_exponent,14,0xf79,{DOUBLEWITHTWODWORDINTREE(0x3d500000,0x00000000)}}, {VT_exponent,14,0x3a81,{DOUBLEWITHTWODWORDINTREE(0x3d600000,0x00000000)}}, {VT_exponent,14,0xd1c,{DOUBLEWITHTWODWORDINTREE(0x3d700000,0x00000000)}}, {VT_exponent,15,0x7765,{DOUBLEWITHTWODWORDINTREE(0x3d800000,0x00000000)}}, {VT_exponent,14,0xf54,{DOUBLEWITHTWODWORDINTREE(0x3d900000,0x00000000)}}, {VT_exponent,13,0x15b9,{DOUBLEWITHTWODWORDINTREE(0x3da00000,0x00000000)}}, {VT_exponent,13,0x7ab,{DOUBLEWITHTWODWORDINTREE(0x3db00000,0x00000000)}}, {VT_exponent,15,0x7500,{DOUBLEWITHTWODWORDINTREE(0x3dc00000,0x00000000)}}, {VT_exponent,15,0x1eaa,{DOUBLEWITHTWODWORDINTREE(0x3dd00000,0x00000000)}}, {VT_exponent,15,0x7501,{DOUBLEWITHTWODWORDINTREE(0x3de00000,0x00000000)}}, {VT_exponent,15,0x1eab,{DOUBLEWITHTWODWORDINTREE(0x3df00000,0x00000000)}}, {VT_exponent,14,0x3b97,{DOUBLEWITHTWODWORDINTREE(0x3e000000,0x00000000)}}, {VT_exponent,15,0x752a,{DOUBLEWITHTWODWORDINTREE(0x3e100000,0x00000000)}}, {VT_exponent,15,0x77fa,{DOUBLEWITHTWODWORDINTREE(0x3e200000,0x00000000)}}, {VT_double,10,0xf4,{DOUBLEWITHTWODWORDINTREE(0x3e35798e,0xe2308c3a)}}, {VT_exponent,14,0x3a93,{DOUBLEWITHTWODWORDINTREE(0x3e300000,0x00000000)}}, {VT_double,11,0x77c,{DOUBLEWITHTWODWORDINTREE(0x3e45798e,0xe2308c3a)}}, {VT_exponent,13,0x1dc6,{DOUBLEWITHTWODWORDINTREE(0x3e400000,0x00000000)}}, {VT_exponent,13,0x7bd,{DOUBLEWITHTWODWORDINTREE(0x3e500000,0x00000000)}}, {VT_exponent,13,0x1dff,{DOUBLEWITHTWODWORDINTREE(0x3e600000,0x00000000)}}, {VT_exponent,12,0xefe,{DOUBLEWITHTWODWORDINTREE(0x3e700000,0x00000000)}}, {VT_double,8,0xaf,{DOUBLEWITHTWODWORDINTREE(0x3e8ad7f2,0x9abcaf4a)}}, {VT_exponent,12,0xeed,{DOUBLEWITHTWODWORDINTREE(0x3e800000,0x00000000)}}, {VT_exponent,11,0xb8,{DOUBLEWITHTWODWORDINTREE(0x3e900000,0x00000000)}}, {VT_exponent,12,0x3d8,{DOUBLEWITHTWODWORDINTREE(0x3ea00000,0x00000000)}}, {VT_exponent,11,0x1eb,{DOUBLEWITHTWODWORDINTREE(0x3eb00000,0x00000000)}}, {VT_double,9,0x1d2,{DOUBLEWITHTWODWORDINTREE(0x3ec0c6f7,0xa0b5ed8e)}}, {VT_exponent,13,0x1d4b,{DOUBLEWITHTWODWORDINTREE(0x3ec00000,0x00000000)}}, {VT_exponent,13,0x7b3,{DOUBLEWITHTWODWORDINTREE(0x3ed00000,0x00000000)}}, {VT_exponent,10,0x5d,{DOUBLEWITHTWODWORDINTREE(0x3ee00000,0x00000000)}}, {VT_exponent,12,0xeeb,{DOUBLEWITHTWODWORDINTREE(0x3ef00000,0x00000000)}}, {VT_exponent,11,0x1ee,{DOUBLEWITHTWODWORDINTREE(0x3f000000,0x00000000)}}, {VT_exponent,10,0x5f,{DOUBLEWITHTWODWORDINTREE(0x3f100000,0x00000000)}}, {VT_exponent,10,0x2b6,{DOUBLEWITHTWODWORDINTREE(0x3f200000,0x00000000)}}, {VT_exponent,9,0x1de,{DOUBLEWITHTWODWORDINTREE(0x3f300000,0x00000000)}}, {VT_double,10,0xd0,{DOUBLEWITHTWODWORDINTREE(0x3f454c98,0x5f06f694)}}, {VT_double,6,0x9,{DOUBLEWITHTWODWORDINTREE(0x3f4a36e2,0xeb1c432d)}}, {VT_exponent,8,0xe8,{DOUBLEWITHTWODWORDINTREE(0x3f400000,0x00000000)}}, {VT_double,4,0xf,{DOUBLEWITHTWODWORDINTREE(0x3f50624d,0xd2f1a9fc)}}, {VT_exponent,8,0xae,{DOUBLEWITHTWODWORDINTREE(0x3f500000,0x00000000)}}, {VT_double,5,0x16,{DOUBLEWITHTWODWORDINTREE(0x3f60624d,0xd2f1a9fc)}}, {VT_exponent,7,0x1b,{DOUBLEWITHTWODWORDINTREE(0x3f600000,0x00000000)}}, {VT_exponent,7,0x76,{DOUBLEWITHTWODWORDINTREE(0x3f700000,0x00000000)}}, {VT_exponent,7,0xa,{DOUBLEWITHTWODWORDINTREE(0x3f800000,0x00000000)}}, {VT_exponent,6,0x8,{DOUBLEWITHTWODWORDINTREE(0x3f900000,0x00000000)}}, {VT_exponent,6,0xe,{DOUBLEWITHTWODWORDINTREE(0x3fa00000,0x00000000)}}, {VT_double,11,0x751,{DOUBLEWITHTWODWORDINTREE(0x3fbe69ad,0x42c3c9ee)}}, {VT_exponent,6,0x4,{DOUBLEWITHTWODWORDINTREE(0x3fb00000,0x00000000)}}, {VT_exponent,6,0xc,{DOUBLEWITHTWODWORDINTREE(0x3fc00000,0x00000000)}}, {VT_exponent,5,0x3,{DOUBLEWITHTWODWORDINTREE(0x3fd00000,0x00000000)}}, {VT_double,11,0x777,{DOUBLEWITHTWODWORDINTREE(0x3fe00000,0x00000000)}}, {VT_double,9,0x1d6,{DOUBLEWITHTWODWORDINTREE(0x3fefffff,0xf8000002)}}, {VT_exponent,4,0x8,{DOUBLEWITHTWODWORDINTREE(0x3fe00000,0x00000000)}}, {VT_double,4,0x0,{DOUBLEWITHTWODWORDINTREE(0x3ff00000,0x00000000)}}, {VT_exponent,5,0x13,{DOUBLEWITHTWODWORDINTREE(0x3ff00000,0x00000000)}}, {VT_exponent,5,0x1b,{DOUBLEWITHTWODWORDINTREE(0x40000000,0x00000000)}}, {VT_double,9,0x15a,{DOUBLEWITHTWODWORDINTREE(0x401921fb,0x54442d18)}}, {VT_exponent,5,0x17,{DOUBLEWITHTWODWORDINTREE(0x40100000,0x00000000)}}, {VT_exponent,5,0x12,{DOUBLEWITHTWODWORDINTREE(0x40200000,0x00000000)}}, {VT_double,11,0x774,{DOUBLEWITHTWODWORDINTREE(0x4035ee14,0x80000000)}}, {VT_exponent,5,0x19,{DOUBLEWITHTWODWORDINTREE(0x40300000,0x00000000)}}, {VT_double,9,0x1d3,{DOUBLEWITHTWODWORDINTREE(0x404ca5dc,0x1a63c1f8)}}, {VT_exponent,5,0x1a,{DOUBLEWITHTWODWORDINTREE(0x40400000,0x00000000)}}, {VT_double,11,0x77e,{DOUBLEWITHTWODWORDINTREE(0x405bb32f,0xe0000000)}}, {VT_double,10,0x5e,{DOUBLEWITHTWODWORDINTREE(0x405c332f,0xe0000000)}}, {VT_exponent,5,0x18,{DOUBLEWITHTWODWORDINTREE(0x40500000,0x00000000)}}, {VT_double,9,0x1d7,{DOUBLEWITHTWODWORDINTREE(0x40668000,0x00000000)}}, {VT_exponent,5,0x1c,{DOUBLEWITHTWODWORDINTREE(0x40600000,0x00000000)}}, {VT_double,9,0x1d5,{DOUBLEWITHTWODWORDINTREE(0x40768000,0x00000000)}}, {VT_exponent,5,0x14,{DOUBLEWITHTWODWORDINTREE(0x40700000,0x00000000)}}, {VT_double,11,0x77d,{DOUBLEWITHTWODWORDINTREE(0x408f4000,0x00000000)}}, {VT_exponent,5,0x5,{DOUBLEWITHTWODWORDINTREE(0x40800000,0x00000000)}}, {VT_double,10,0xd2,{DOUBLEWITHTWODWORDINTREE(0x409233ff,0xffffffff)}}, {VT_double,8,0x3c,{DOUBLEWITHTWODWORDINTREE(0x40923400,0x00000000)}}, {VT_double,11,0x753,{DOUBLEWITHTWODWORDINTREE(0x40923400,0x00000001)}}, {VT_double,10,0xd3,{DOUBLEWITHTWODWORDINTREE(0x4092abff,0xffffffff)}}, {VT_double,8,0x35,{DOUBLEWITHTWODWORDINTREE(0x4092ac00,0x00000000)}}, {VT_double,11,0x770,{DOUBLEWITHTWODWORDINTREE(0x4092ac00,0x00000001)}}, {VT_exponent,8,0x16,{DOUBLEWITHTWODWORDINTREE(0x40900000,0x00000000)}}, {VT_exponent,12,0xee2,{DOUBLEWITHTWODWORDINTREE(0x40a00000,0x00000000)}}, {VT_exponent,12,0xee4,{DOUBLEWITHTWODWORDINTREE(0x40b00000,0x00000000)}}, {VT_double,7,0x1f,{DOUBLEWITHTWODWORDINTREE(0x40c81c80,0x00000000)}}, {VT_exponent,8,0xac,{DOUBLEWITHTWODWORDINTREE(0x40c00000,0x00000000)}}, {VT_exponent,13,0x15bb,{DOUBLEWITHTWODWORDINTREE(0x40d00000,0x00000000)}}, {VT_exponent,22,0x3a8667,{DOUBLEWITHTWODWORDINTREE(0x40e00000,0x00000000)}}, {VT_exponent,22,0x3a86d8,{DOUBLEWITHTWODWORDINTREE(0x40f00000,0x00000000)}}, {VT_exponent,22,0x3a86d9,{DOUBLEWITHTWODWORDINTREE(0x41000000,0x00000000)}}, {VT_exponent,22,0x3a86da,{DOUBLEWITHTWODWORDINTREE(0x41100000,0x00000000)}}, {VT_exponent,17,0x1dc7e,{DOUBLEWITHTWODWORDINTREE(0x41200000,0x00000000)}}, {VT_exponent,22,0x3a86db,{DOUBLEWITHTWODWORDINTREE(0x41300000,0x00000000)}}, {VT_exponent,22,0x3a86dc,{DOUBLEWITHTWODWORDINTREE(0x41400000,0x00000000)}}, {VT_exponent,22,0x3a86dd,{DOUBLEWITHTWODWORDINTREE(0x41500000,0x00000000)}}, {VT_exponent,22,0x3a86de,{DOUBLEWITHTWODWORDINTREE(0x41600000,0x00000000)}}, {VT_exponent,22,0x3a86df,{DOUBLEWITHTWODWORDINTREE(0x41700000,0x00000000)}}, {VT_exponent,22,0x3a86f0,{DOUBLEWITHTWODWORDINTREE(0x41800000,0x00000000)}}, {VT_exponent,22,0x3a86f1,{DOUBLEWITHTWODWORDINTREE(0x41900000,0x00000000)}}, {VT_exponent,22,0x3a86f2,{DOUBLEWITHTWODWORDINTREE(0x41a00000,0x00000000)}}, {VT_exponent,22,0x3a86f3,{DOUBLEWITHTWODWORDINTREE(0x41b00000,0x00000000)}}, {VT_double,6,0x2a,{DOUBLEWITHTWODWORDINTREE(0x41cdcd64,0xff800000)}}, {VT_exponent,22,0x3a86f4,{DOUBLEWITHTWODWORDINTREE(0x41c00000,0x00000000)}}, {VT_exponent,22,0x3a86f5,{DOUBLEWITHTWODWORDINTREE(0x41d00000,0x00000000)}}, {VT_exponent,22,0x3a86f6,{DOUBLEWITHTWODWORDINTREE(0x41e00000,0x00000000)}}, {VT_exponent,22,0x3a86f7,{DOUBLEWITHTWODWORDINTREE(0x41f00000,0x00000000)}}, {VT_exponent,22,0x3a86f8,{DOUBLEWITHTWODWORDINTREE(0x42000000,0x00000000)}}, {VT_exponent,22,0x3a86f9,{DOUBLEWITHTWODWORDINTREE(0x42100000,0x00000000)}}, {VT_exponent,22,0x3a86fa,{DOUBLEWITHTWODWORDINTREE(0x42200000,0x00000000)}}, {VT_exponent,22,0x3a86fb,{DOUBLEWITHTWODWORDINTREE(0x42300000,0x00000000)}}, {VT_exponent,22,0x3a86fc,{DOUBLEWITHTWODWORDINTREE(0x42400000,0x00000000)}}, {VT_exponent,22,0x3a86fd,{DOUBLEWITHTWODWORDINTREE(0x42500000,0x00000000)}}, {VT_exponent,22,0x3a86fe,{DOUBLEWITHTWODWORDINTREE(0x42600000,0x00000000)}}, {VT_exponent,22,0x3a86ff,{DOUBLEWITHTWODWORDINTREE(0x42700000,0x00000000)}}, {VT_exponent,22,0x3a8740,{DOUBLEWITHTWODWORDINTREE(0x42800000,0x00000000)}}, {VT_exponent,22,0x3a8741,{DOUBLEWITHTWODWORDINTREE(0x42900000,0x00000000)}}, {VT_exponent,22,0x3a8742,{DOUBLEWITHTWODWORDINTREE(0x42a00000,0x00000000)}}, {VT_exponent,22,0x3a8743,{DOUBLEWITHTWODWORDINTREE(0x42b00000,0x00000000)}}, {VT_exponent,22,0x3a8744,{DOUBLEWITHTWODWORDINTREE(0x42c00000,0x00000000)}}, {VT_exponent,22,0x3a8745,{DOUBLEWITHTWODWORDINTREE(0x42d00000,0x00000000)}}, {VT_exponent,22,0x3a8746,{DOUBLEWITHTWODWORDINTREE(0x42e00000,0x00000000)}}, {VT_exponent,22,0x3a8747,{DOUBLEWITHTWODWORDINTREE(0x42f00000,0x00000000)}}, {VT_exponent,22,0x3a8748,{DOUBLEWITHTWODWORDINTREE(0x43000000,0x00000000)}}, {VT_exponent,22,0x3a8749,{DOUBLEWITHTWODWORDINTREE(0x43100000,0x00000000)}}, {VT_exponent,22,0x3a874a,{DOUBLEWITHTWODWORDINTREE(0x43200000,0x00000000)}}, {VT_exponent,22,0x3a874b,{DOUBLEWITHTWODWORDINTREE(0x43300000,0x00000000)}}, {VT_exponent,22,0x3a874c,{DOUBLEWITHTWODWORDINTREE(0x43400000,0x00000000)}}, {VT_exponent,22,0x3a874d,{DOUBLEWITHTWODWORDINTREE(0x43500000,0x00000000)}}, {VT_exponent,22,0x3a874e,{DOUBLEWITHTWODWORDINTREE(0x43600000,0x00000000)}}, {VT_exponent,22,0x3a874f,{DOUBLEWITHTWODWORDINTREE(0x43700000,0x00000000)}}, {VT_exponent,22,0x3a8750,{DOUBLEWITHTWODWORDINTREE(0x43800000,0x00000000)}}, {VT_exponent,22,0x3a8751,{DOUBLEWITHTWODWORDINTREE(0x43900000,0x00000000)}}, {VT_exponent,22,0x3a8752,{DOUBLEWITHTWODWORDINTREE(0x43a00000,0x00000000)}}, {VT_exponent,22,0x3a8753,{DOUBLEWITHTWODWORDINTREE(0x43b00000,0x00000000)}}, {VT_exponent,22,0x3a8754,{DOUBLEWITHTWODWORDINTREE(0x43c00000,0x00000000)}}, {VT_exponent,22,0x3a8755,{DOUBLEWITHTWODWORDINTREE(0x43d00000,0x00000000)}}, {VT_exponent,22,0x3a8756,{DOUBLEWITHTWODWORDINTREE(0x43e00000,0x00000000)}}, {VT_exponent,22,0x3a8757,{DOUBLEWITHTWODWORDINTREE(0x43f00000,0x00000000)}}, {VT_exponent,22,0x3a8758,{DOUBLEWITHTWODWORDINTREE(0x44000000,0x00000000)}}, {VT_exponent,15,0x1a3b,{DOUBLEWITHTWODWORDINTREE(0x44100000,0x00000000)}}, {VT_exponent,22,0x3a8759,{DOUBLEWITHTWODWORDINTREE(0x44200000,0x00000000)}}, {VT_exponent,22,0x3a875a,{DOUBLEWITHTWODWORDINTREE(0x44300000,0x00000000)}}, {VT_exponent,22,0x3a875b,{DOUBLEWITHTWODWORDINTREE(0x44400000,0x00000000)}}, {VT_exponent,22,0x3a875c,{DOUBLEWITHTWODWORDINTREE(0x44500000,0x00000000)}}, {VT_exponent,22,0x3a875d,{DOUBLEWITHTWODWORDINTREE(0x44600000,0x00000000)}}, {VT_exponent,22,0x3a875e,{DOUBLEWITHTWODWORDINTREE(0x44700000,0x00000000)}}, {VT_exponent,22,0x3a875f,{DOUBLEWITHTWODWORDINTREE(0x44800000,0x00000000)}}, {VT_exponent,22,0x3a8760,{DOUBLEWITHTWODWORDINTREE(0x44900000,0x00000000)}}, {VT_exponent,22,0x3a8761,{DOUBLEWITHTWODWORDINTREE(0x44a00000,0x00000000)}}, {VT_exponent,22,0x3a8762,{DOUBLEWITHTWODWORDINTREE(0x44b00000,0x00000000)}}, {VT_exponent,22,0x3a8763,{DOUBLEWITHTWODWORDINTREE(0x44c00000,0x00000000)}}, {VT_exponent,22,0x3a8764,{DOUBLEWITHTWODWORDINTREE(0x44d00000,0x00000000)}}, {VT_exponent,22,0x3a8765,{DOUBLEWITHTWODWORDINTREE(0x44e00000,0x00000000)}}, {VT_exponent,22,0x3a8766,{DOUBLEWITHTWODWORDINTREE(0x44f00000,0x00000000)}}, {VT_exponent,22,0x3a8767,{DOUBLEWITHTWODWORDINTREE(0x45000000,0x00000000)}}, {VT_exponent,22,0x3a8768,{DOUBLEWITHTWODWORDINTREE(0x45100000,0x00000000)}}, {VT_exponent,22,0x3a8769,{DOUBLEWITHTWODWORDINTREE(0x45200000,0x00000000)}}, {VT_exponent,22,0x3a876a,{DOUBLEWITHTWODWORDINTREE(0x45300000,0x00000000)}}, {VT_exponent,22,0x3a876b,{DOUBLEWITHTWODWORDINTREE(0x45400000,0x00000000)}}, {VT_exponent,22,0x3a876c,{DOUBLEWITHTWODWORDINTREE(0x45500000,0x00000000)}}, {VT_exponent,22,0x3a876d,{DOUBLEWITHTWODWORDINTREE(0x45600000,0x00000000)}}, {VT_exponent,22,0x3a876e,{DOUBLEWITHTWODWORDINTREE(0x45700000,0x00000000)}}, {VT_exponent,22,0x3a876f,{DOUBLEWITHTWODWORDINTREE(0x45800000,0x00000000)}}, {VT_exponent,22,0x3a8770,{DOUBLEWITHTWODWORDINTREE(0x45900000,0x00000000)}}, {VT_exponent,22,0x3a8771,{DOUBLEWITHTWODWORDINTREE(0x45a00000,0x00000000)}}, {VT_exponent,22,0x3a8772,{DOUBLEWITHTWODWORDINTREE(0x45b00000,0x00000000)}}, {VT_exponent,22,0x3a8773,{DOUBLEWITHTWODWORDINTREE(0x45c00000,0x00000000)}}, {VT_exponent,22,0x3a8774,{DOUBLEWITHTWODWORDINTREE(0x45d00000,0x00000000)}}, {VT_exponent,22,0x3a8775,{DOUBLEWITHTWODWORDINTREE(0x45e00000,0x00000000)}}, {VT_exponent,22,0x3a8776,{DOUBLEWITHTWODWORDINTREE(0x45f00000,0x00000000)}}, {VT_exponent,22,0x3a8777,{DOUBLEWITHTWODWORDINTREE(0x46000000,0x00000000)}}, {VT_exponent,22,0x3a8778,{DOUBLEWITHTWODWORDINTREE(0x46100000,0x00000000)}}, {VT_exponent,22,0x3a8779,{DOUBLEWITHTWODWORDINTREE(0x46200000,0x00000000)}}, {VT_exponent,22,0x3a877a,{DOUBLEWITHTWODWORDINTREE(0x46300000,0x00000000)}}, {VT_exponent,22,0x3a877b,{DOUBLEWITHTWODWORDINTREE(0x46400000,0x00000000)}}, {VT_exponent,22,0x3a877c,{DOUBLEWITHTWODWORDINTREE(0x46500000,0x00000000)}}, {VT_exponent,22,0x3a877d,{DOUBLEWITHTWODWORDINTREE(0x46600000,0x00000000)}}, {VT_exponent,22,0x3a877e,{DOUBLEWITHTWODWORDINTREE(0x46700000,0x00000000)}}, {VT_exponent,22,0x3a877f,{DOUBLEWITHTWODWORDINTREE(0x46800000,0x00000000)}}, {VT_exponent,22,0x3a8780,{DOUBLEWITHTWODWORDINTREE(0x46900000,0x00000000)}}, {VT_exponent,22,0x3a8781,{DOUBLEWITHTWODWORDINTREE(0x46a00000,0x00000000)}}, {VT_exponent,22,0x3a8782,{DOUBLEWITHTWODWORDINTREE(0x46b00000,0x00000000)}}, {VT_exponent,22,0x3a8783,{DOUBLEWITHTWODWORDINTREE(0x46c00000,0x00000000)}}, {VT_exponent,22,0x3a8784,{DOUBLEWITHTWODWORDINTREE(0x46d00000,0x00000000)}}, {VT_exponent,22,0x3a8785,{DOUBLEWITHTWODWORDINTREE(0x46e00000,0x00000000)}}, {VT_exponent,22,0x3a8786,{DOUBLEWITHTWODWORDINTREE(0x46f00000,0x00000000)}}, {VT_exponent,22,0x3a8787,{DOUBLEWITHTWODWORDINTREE(0x47000000,0x00000000)}}, {VT_exponent,22,0x3a8788,{DOUBLEWITHTWODWORDINTREE(0x47100000,0x00000000)}}, {VT_exponent,22,0x3a8789,{DOUBLEWITHTWODWORDINTREE(0x47200000,0x00000000)}}, {VT_exponent,22,0x3a878a,{DOUBLEWITHTWODWORDINTREE(0x47300000,0x00000000)}}, {VT_exponent,22,0x3a878b,{DOUBLEWITHTWODWORDINTREE(0x47400000,0x00000000)}}, {VT_exponent,22,0x3a878c,{DOUBLEWITHTWODWORDINTREE(0x47500000,0x00000000)}}, {VT_exponent,22,0x3a878d,{DOUBLEWITHTWODWORDINTREE(0x47600000,0x00000000)}}, {VT_exponent,22,0x3a878e,{DOUBLEWITHTWODWORDINTREE(0x47700000,0x00000000)}}, {VT_exponent,22,0x3a878f,{DOUBLEWITHTWODWORDINTREE(0x47800000,0x00000000)}}, {VT_exponent,22,0x3a8790,{DOUBLEWITHTWODWORDINTREE(0x47900000,0x00000000)}}, {VT_exponent,22,0x3a8791,{DOUBLEWITHTWODWORDINTREE(0x47a00000,0x00000000)}}, {VT_exponent,22,0x3a8792,{DOUBLEWITHTWODWORDINTREE(0x47b00000,0x00000000)}}, {VT_exponent,22,0x3a8793,{DOUBLEWITHTWODWORDINTREE(0x47c00000,0x00000000)}}, {VT_exponent,22,0x3a8794,{DOUBLEWITHTWODWORDINTREE(0x47d00000,0x00000000)}}, {VT_exponent,22,0x3a8795,{DOUBLEWITHTWODWORDINTREE(0x47e00000,0x00000000)}}, {VT_exponent,22,0x3a8796,{DOUBLEWITHTWODWORDINTREE(0x47f00000,0x00000000)}}, {VT_exponent,22,0x3a8797,{DOUBLEWITHTWODWORDINTREE(0x48000000,0x00000000)}}, {VT_exponent,22,0x3a8798,{DOUBLEWITHTWODWORDINTREE(0x48100000,0x00000000)}}, {VT_exponent,22,0x3a8799,{DOUBLEWITHTWODWORDINTREE(0x48200000,0x00000000)}}, {VT_exponent,22,0x3a879a,{DOUBLEWITHTWODWORDINTREE(0x48300000,0x00000000)}}, {VT_exponent,22,0x3a879b,{DOUBLEWITHTWODWORDINTREE(0x48400000,0x00000000)}}, {VT_exponent,22,0x3a879c,{DOUBLEWITHTWODWORDINTREE(0x48500000,0x00000000)}}, {VT_exponent,22,0x3a879d,{DOUBLEWITHTWODWORDINTREE(0x48600000,0x00000000)}}, {VT_exponent,22,0x3a879e,{DOUBLEWITHTWODWORDINTREE(0x48700000,0x00000000)}}, {VT_exponent,22,0x3a879f,{DOUBLEWITHTWODWORDINTREE(0x48800000,0x00000000)}}, {VT_exponent,22,0x3a87a0,{DOUBLEWITHTWODWORDINTREE(0x48900000,0x00000000)}}, {VT_exponent,22,0x3a87a1,{DOUBLEWITHTWODWORDINTREE(0x48a00000,0x00000000)}}, {VT_exponent,22,0x3a87a2,{DOUBLEWITHTWODWORDINTREE(0x48b00000,0x00000000)}}, {VT_exponent,22,0x3a87a3,{DOUBLEWITHTWODWORDINTREE(0x48c00000,0x00000000)}}, {VT_exponent,22,0x3a87a4,{DOUBLEWITHTWODWORDINTREE(0x48d00000,0x00000000)}}, {VT_exponent,22,0x3a87a5,{DOUBLEWITHTWODWORDINTREE(0x48e00000,0x00000000)}}, {VT_exponent,22,0x3a87a6,{DOUBLEWITHTWODWORDINTREE(0x48f00000,0x00000000)}}, {VT_exponent,22,0x3a87a7,{DOUBLEWITHTWODWORDINTREE(0x49000000,0x00000000)}}, {VT_exponent,22,0x3a87a8,{DOUBLEWITHTWODWORDINTREE(0x49100000,0x00000000)}}, {VT_exponent,22,0x3a87a9,{DOUBLEWITHTWODWORDINTREE(0x49200000,0x00000000)}}, {VT_exponent,22,0x3a87aa,{DOUBLEWITHTWODWORDINTREE(0x49300000,0x00000000)}}, {VT_exponent,22,0x3a87ab,{DOUBLEWITHTWODWORDINTREE(0x49400000,0x00000000)}}, {VT_exponent,22,0x3a87ac,{DOUBLEWITHTWODWORDINTREE(0x49500000,0x00000000)}}, {VT_exponent,22,0x3a87ad,{DOUBLEWITHTWODWORDINTREE(0x49600000,0x00000000)}}, {VT_exponent,22,0x3a87ae,{DOUBLEWITHTWODWORDINTREE(0x49700000,0x00000000)}}, {VT_exponent,22,0x3a87af,{DOUBLEWITHTWODWORDINTREE(0x49800000,0x00000000)}}, {VT_exponent,22,0x3a87b0,{DOUBLEWITHTWODWORDINTREE(0x49900000,0x00000000)}}, {VT_exponent,22,0x3a87b1,{DOUBLEWITHTWODWORDINTREE(0x49a00000,0x00000000)}}, {VT_exponent,22,0x3a87b2,{DOUBLEWITHTWODWORDINTREE(0x49b00000,0x00000000)}}, {VT_exponent,22,0x3a87b3,{DOUBLEWITHTWODWORDINTREE(0x49c00000,0x00000000)}}, {VT_exponent,22,0x3a87b4,{DOUBLEWITHTWODWORDINTREE(0x49d00000,0x00000000)}}, {VT_exponent,22,0x3a87b5,{DOUBLEWITHTWODWORDINTREE(0x49e00000,0x00000000)}}, {VT_exponent,22,0x3a87b6,{DOUBLEWITHTWODWORDINTREE(0x49f00000,0x00000000)}}, {VT_exponent,22,0x3a87b7,{DOUBLEWITHTWODWORDINTREE(0x4a000000,0x00000000)}}, {VT_exponent,22,0x3a87b8,{DOUBLEWITHTWODWORDINTREE(0x4a100000,0x00000000)}}, {VT_exponent,22,0x3a87b9,{DOUBLEWITHTWODWORDINTREE(0x4a200000,0x00000000)}}, {VT_exponent,22,0x3a87ba,{DOUBLEWITHTWODWORDINTREE(0x4a300000,0x00000000)}}, {VT_exponent,22,0x3a87bb,{DOUBLEWITHTWODWORDINTREE(0x4a400000,0x00000000)}}, {VT_exponent,22,0x3a87bc,{DOUBLEWITHTWODWORDINTREE(0x4a500000,0x00000000)}}, {VT_exponent,22,0x3a87bd,{DOUBLEWITHTWODWORDINTREE(0x4a600000,0x00000000)}}, {VT_exponent,22,0x3a87be,{DOUBLEWITHTWODWORDINTREE(0x4a700000,0x00000000)}}, {VT_exponent,22,0x3a87bf,{DOUBLEWITHTWODWORDINTREE(0x4a800000,0x00000000)}}, {VT_exponent,22,0x3a87c0,{DOUBLEWITHTWODWORDINTREE(0x4a900000,0x00000000)}}, {VT_exponent,22,0x3a87c1,{DOUBLEWITHTWODWORDINTREE(0x4aa00000,0x00000000)}}, {VT_exponent,22,0x3a87c2,{DOUBLEWITHTWODWORDINTREE(0x4ab00000,0x00000000)}}, {VT_exponent,22,0x3a87c3,{DOUBLEWITHTWODWORDINTREE(0x4ac00000,0x00000000)}}, {VT_exponent,22,0x3a87c4,{DOUBLEWITHTWODWORDINTREE(0x4ad00000,0x00000000)}}, {VT_exponent,22,0x3a87c5,{DOUBLEWITHTWODWORDINTREE(0x4ae00000,0x00000000)}}, {VT_exponent,22,0x3a87c6,{DOUBLEWITHTWODWORDINTREE(0x4af00000,0x00000000)}}, {VT_exponent,22,0x3a87c7,{DOUBLEWITHTWODWORDINTREE(0x4b000000,0x00000000)}}, {VT_exponent,22,0x3a87c8,{DOUBLEWITHTWODWORDINTREE(0x4b100000,0x00000000)}}, {VT_exponent,22,0x3a87c9,{DOUBLEWITHTWODWORDINTREE(0x4b200000,0x00000000)}}, {VT_exponent,22,0x3a87ca,{DOUBLEWITHTWODWORDINTREE(0x4b300000,0x00000000)}}, {VT_exponent,22,0x3a87cb,{DOUBLEWITHTWODWORDINTREE(0x4b400000,0x00000000)}}, {VT_exponent,22,0x3a87cc,{DOUBLEWITHTWODWORDINTREE(0x4b500000,0x00000000)}}, {VT_exponent,22,0x3a87cd,{DOUBLEWITHTWODWORDINTREE(0x4b600000,0x00000000)}}, {VT_exponent,22,0x3a87ce,{DOUBLEWITHTWODWORDINTREE(0x4b700000,0x00000000)}}, {VT_exponent,22,0x3a87cf,{DOUBLEWITHTWODWORDINTREE(0x4b800000,0x00000000)}}, {VT_exponent,22,0x3a87d0,{DOUBLEWITHTWODWORDINTREE(0x4b900000,0x00000000)}}, {VT_exponent,22,0x3a87d1,{DOUBLEWITHTWODWORDINTREE(0x4ba00000,0x00000000)}}, {VT_exponent,22,0x3a87d2,{DOUBLEWITHTWODWORDINTREE(0x4bb00000,0x00000000)}}, {VT_exponent,22,0x3a87d3,{DOUBLEWITHTWODWORDINTREE(0x4bc00000,0x00000000)}}, {VT_exponent,22,0x3a87d4,{DOUBLEWITHTWODWORDINTREE(0x4bd00000,0x00000000)}}, {VT_exponent,22,0x3a87d5,{DOUBLEWITHTWODWORDINTREE(0x4be00000,0x00000000)}}, {VT_exponent,22,0x3a87d6,{DOUBLEWITHTWODWORDINTREE(0x4bf00000,0x00000000)}}, {VT_exponent,22,0x3a87d7,{DOUBLEWITHTWODWORDINTREE(0x4c000000,0x00000000)}}, {VT_exponent,22,0x3a87d8,{DOUBLEWITHTWODWORDINTREE(0x4c100000,0x00000000)}}, {VT_exponent,22,0x3a87d9,{DOUBLEWITHTWODWORDINTREE(0x4c200000,0x00000000)}}, {VT_exponent,22,0x3a87da,{DOUBLEWITHTWODWORDINTREE(0x4c300000,0x00000000)}}, {VT_exponent,22,0x3a87db,{DOUBLEWITHTWODWORDINTREE(0x4c400000,0x00000000)}}, {VT_exponent,22,0x3a87dc,{DOUBLEWITHTWODWORDINTREE(0x4c500000,0x00000000)}}, {VT_exponent,22,0x3a87dd,{DOUBLEWITHTWODWORDINTREE(0x4c600000,0x00000000)}}, {VT_exponent,22,0x3a87de,{DOUBLEWITHTWODWORDINTREE(0x4c700000,0x00000000)}}, {VT_exponent,22,0x3a87df,{DOUBLEWITHTWODWORDINTREE(0x4c800000,0x00000000)}}, {VT_exponent,22,0x3a87e0,{DOUBLEWITHTWODWORDINTREE(0x4c900000,0x00000000)}}, {VT_exponent,22,0x3a87e1,{DOUBLEWITHTWODWORDINTREE(0x4ca00000,0x00000000)}}, {VT_exponent,22,0x3a87e2,{DOUBLEWITHTWODWORDINTREE(0x4cb00000,0x00000000)}}, {VT_exponent,22,0x3a87e3,{DOUBLEWITHTWODWORDINTREE(0x4cc00000,0x00000000)}}, {VT_exponent,22,0x3a87e4,{DOUBLEWITHTWODWORDINTREE(0x4cd00000,0x00000000)}}, {VT_exponent,22,0x3a87e5,{DOUBLEWITHTWODWORDINTREE(0x4ce00000,0x00000000)}}, {VT_exponent,22,0x3a87e6,{DOUBLEWITHTWODWORDINTREE(0x4cf00000,0x00000000)}}, {VT_exponent,22,0x3a87e7,{DOUBLEWITHTWODWORDINTREE(0x4d000000,0x00000000)}}, {VT_exponent,22,0x3a87e8,{DOUBLEWITHTWODWORDINTREE(0x4d100000,0x00000000)}}, {VT_exponent,22,0x3a87e9,{DOUBLEWITHTWODWORDINTREE(0x4d200000,0x00000000)}}, {VT_exponent,22,0x3a87ea,{DOUBLEWITHTWODWORDINTREE(0x4d300000,0x00000000)}}, {VT_exponent,22,0x3a87eb,{DOUBLEWITHTWODWORDINTREE(0x4d400000,0x00000000)}}, {VT_exponent,22,0x3a87ec,{DOUBLEWITHTWODWORDINTREE(0x4d500000,0x00000000)}}, {VT_exponent,22,0x3a87ed,{DOUBLEWITHTWODWORDINTREE(0x4d600000,0x00000000)}}, {VT_exponent,22,0x3a87ee,{DOUBLEWITHTWODWORDINTREE(0x4d700000,0x00000000)}}, {VT_exponent,22,0x3a87ef,{DOUBLEWITHTWODWORDINTREE(0x4d800000,0x00000000)}}, {VT_exponent,22,0x3a87f0,{DOUBLEWITHTWODWORDINTREE(0x4d900000,0x00000000)}}, {VT_exponent,22,0x3a87f1,{DOUBLEWITHTWODWORDINTREE(0x4da00000,0x00000000)}}, {VT_exponent,22,0x3a87f2,{DOUBLEWITHTWODWORDINTREE(0x4db00000,0x00000000)}}, {VT_exponent,22,0x3a87f3,{DOUBLEWITHTWODWORDINTREE(0x4dc00000,0x00000000)}}, {VT_exponent,22,0x3a87f4,{DOUBLEWITHTWODWORDINTREE(0x4dd00000,0x00000000)}}, {VT_exponent,22,0x3a87f5,{DOUBLEWITHTWODWORDINTREE(0x4de00000,0x00000000)}}, {VT_exponent,22,0x3a87f6,{DOUBLEWITHTWODWORDINTREE(0x4df00000,0x00000000)}}, {VT_exponent,22,0x3a87f7,{DOUBLEWITHTWODWORDINTREE(0x4e000000,0x00000000)}}, {VT_exponent,22,0x3a87f8,{DOUBLEWITHTWODWORDINTREE(0x4e100000,0x00000000)}}, {VT_exponent,22,0x3a87f9,{DOUBLEWITHTWODWORDINTREE(0x4e200000,0x00000000)}}, {VT_exponent,22,0x3a87fa,{DOUBLEWITHTWODWORDINTREE(0x4e300000,0x00000000)}}, {VT_exponent,22,0x3a87fb,{DOUBLEWITHTWODWORDINTREE(0x4e400000,0x00000000)}}, {VT_exponent,22,0x3a87fc,{DOUBLEWITHTWODWORDINTREE(0x4e500000,0x00000000)}}, {VT_exponent,22,0x3a87fd,{DOUBLEWITHTWODWORDINTREE(0x4e600000,0x00000000)}}, {VT_exponent,22,0x3a87fe,{DOUBLEWITHTWODWORDINTREE(0x4e700000,0x00000000)}}, {VT_exponent,22,0x3a87ff,{DOUBLEWITHTWODWORDINTREE(0x4e800000,0x00000000)}}, {VT_exponent,22,0x3a9000,{DOUBLEWITHTWODWORDINTREE(0x4e900000,0x00000000)}}, {VT_exponent,22,0x3a9001,{DOUBLEWITHTWODWORDINTREE(0x4ea00000,0x00000000)}}, {VT_exponent,22,0x3a9002,{DOUBLEWITHTWODWORDINTREE(0x4eb00000,0x00000000)}}, {VT_exponent,22,0x3a9003,{DOUBLEWITHTWODWORDINTREE(0x4ec00000,0x00000000)}}, {VT_exponent,22,0x3a9004,{DOUBLEWITHTWODWORDINTREE(0x4ed00000,0x00000000)}}, {VT_exponent,22,0x3a9005,{DOUBLEWITHTWODWORDINTREE(0x4ee00000,0x00000000)}}, {VT_exponent,22,0x3a9006,{DOUBLEWITHTWODWORDINTREE(0x4ef00000,0x00000000)}}, {VT_exponent,22,0x3a9007,{DOUBLEWITHTWODWORDINTREE(0x4f000000,0x00000000)}}, {VT_exponent,22,0x3a9008,{DOUBLEWITHTWODWORDINTREE(0x4f100000,0x00000000)}}, {VT_exponent,22,0x3a9009,{DOUBLEWITHTWODWORDINTREE(0x4f200000,0x00000000)}}, {VT_exponent,22,0x3a900a,{DOUBLEWITHTWODWORDINTREE(0x4f300000,0x00000000)}}, {VT_exponent,22,0x3a900b,{DOUBLEWITHTWODWORDINTREE(0x4f400000,0x00000000)}}, {VT_exponent,22,0x3a900c,{DOUBLEWITHTWODWORDINTREE(0x4f500000,0x00000000)}}, {VT_exponent,22,0x3a900d,{DOUBLEWITHTWODWORDINTREE(0x4f600000,0x00000000)}}, {VT_exponent,22,0x3a900e,{DOUBLEWITHTWODWORDINTREE(0x4f700000,0x00000000)}}, {VT_exponent,22,0x3a900f,{DOUBLEWITHTWODWORDINTREE(0x4f800000,0x00000000)}}, {VT_exponent,22,0x3a9010,{DOUBLEWITHTWODWORDINTREE(0x4f900000,0x00000000)}}, {VT_exponent,22,0x3a9011,{DOUBLEWITHTWODWORDINTREE(0x4fa00000,0x00000000)}}, {VT_exponent,22,0x3a9012,{DOUBLEWITHTWODWORDINTREE(0x4fb00000,0x00000000)}}, {VT_exponent,22,0x3a9013,{DOUBLEWITHTWODWORDINTREE(0x4fc00000,0x00000000)}}, {VT_exponent,22,0x3a9014,{DOUBLEWITHTWODWORDINTREE(0x4fd00000,0x00000000)}}, {VT_exponent,22,0x3a9015,{DOUBLEWITHTWODWORDINTREE(0x4fe00000,0x00000000)}}, {VT_exponent,22,0x3a9016,{DOUBLEWITHTWODWORDINTREE(0x4ff00000,0x00000000)}}, {VT_exponent,22,0x3a9017,{DOUBLEWITHTWODWORDINTREE(0x50000000,0x00000000)}}, {VT_exponent,22,0x3a9018,{DOUBLEWITHTWODWORDINTREE(0x50100000,0x00000000)}}, {VT_exponent,22,0x3a9019,{DOUBLEWITHTWODWORDINTREE(0x50200000,0x00000000)}}, {VT_exponent,22,0x3a901a,{DOUBLEWITHTWODWORDINTREE(0x50300000,0x00000000)}}, {VT_exponent,22,0x3a901b,{DOUBLEWITHTWODWORDINTREE(0x50400000,0x00000000)}}, {VT_exponent,22,0x3a901c,{DOUBLEWITHTWODWORDINTREE(0x50500000,0x00000000)}}, {VT_exponent,22,0x3a901d,{DOUBLEWITHTWODWORDINTREE(0x50600000,0x00000000)}}, {VT_exponent,22,0x3a901e,{DOUBLEWITHTWODWORDINTREE(0x50700000,0x00000000)}}, {VT_exponent,22,0x3a901f,{DOUBLEWITHTWODWORDINTREE(0x50800000,0x00000000)}}, {VT_exponent,22,0x3a9020,{DOUBLEWITHTWODWORDINTREE(0x50900000,0x00000000)}}, {VT_exponent,22,0x3a9021,{DOUBLEWITHTWODWORDINTREE(0x50a00000,0x00000000)}}, {VT_exponent,22,0x3a9022,{DOUBLEWITHTWODWORDINTREE(0x50b00000,0x00000000)}}, {VT_exponent,22,0x3a9023,{DOUBLEWITHTWODWORDINTREE(0x50c00000,0x00000000)}}, {VT_exponent,22,0x3a9024,{DOUBLEWITHTWODWORDINTREE(0x50d00000,0x00000000)}}, {VT_exponent,22,0x3a9025,{DOUBLEWITHTWODWORDINTREE(0x50e00000,0x00000000)}}, {VT_exponent,22,0x3a9026,{DOUBLEWITHTWODWORDINTREE(0x50f00000,0x00000000)}}, {VT_exponent,22,0x3a9027,{DOUBLEWITHTWODWORDINTREE(0x51000000,0x00000000)}}, {VT_exponent,22,0x3a9028,{DOUBLEWITHTWODWORDINTREE(0x51100000,0x00000000)}}, {VT_exponent,22,0x3a9029,{DOUBLEWITHTWODWORDINTREE(0x51200000,0x00000000)}}, {VT_exponent,22,0x3a902a,{DOUBLEWITHTWODWORDINTREE(0x51300000,0x00000000)}}, {VT_exponent,22,0x3a902b,{DOUBLEWITHTWODWORDINTREE(0x51400000,0x00000000)}}, {VT_exponent,22,0x3a902c,{DOUBLEWITHTWODWORDINTREE(0x51500000,0x00000000)}}, {VT_exponent,22,0x3a902d,{DOUBLEWITHTWODWORDINTREE(0x51600000,0x00000000)}}, {VT_exponent,22,0x3a902e,{DOUBLEWITHTWODWORDINTREE(0x51700000,0x00000000)}}, {VT_exponent,22,0x3a902f,{DOUBLEWITHTWODWORDINTREE(0x51800000,0x00000000)}}, {VT_exponent,22,0x3a9030,{DOUBLEWITHTWODWORDINTREE(0x51900000,0x00000000)}}, {VT_exponent,22,0x3a9031,{DOUBLEWITHTWODWORDINTREE(0x51a00000,0x00000000)}}, {VT_exponent,22,0x3a9032,{DOUBLEWITHTWODWORDINTREE(0x51b00000,0x00000000)}}, {VT_exponent,22,0x3a9033,{DOUBLEWITHTWODWORDINTREE(0x51c00000,0x00000000)}}, {VT_exponent,22,0x3a9034,{DOUBLEWITHTWODWORDINTREE(0x51d00000,0x00000000)}}, {VT_exponent,22,0x3a9035,{DOUBLEWITHTWODWORDINTREE(0x51e00000,0x00000000)}}, {VT_exponent,22,0x3a9036,{DOUBLEWITHTWODWORDINTREE(0x51f00000,0x00000000)}}, {VT_exponent,22,0x3a9037,{DOUBLEWITHTWODWORDINTREE(0x52000000,0x00000000)}}, {VT_exponent,22,0x3a9038,{DOUBLEWITHTWODWORDINTREE(0x52100000,0x00000000)}}, {VT_exponent,22,0x3a9039,{DOUBLEWITHTWODWORDINTREE(0x52200000,0x00000000)}}, {VT_exponent,22,0x3a903a,{DOUBLEWITHTWODWORDINTREE(0x52300000,0x00000000)}}, {VT_exponent,22,0x3a903b,{DOUBLEWITHTWODWORDINTREE(0x52400000,0x00000000)}}, {VT_exponent,22,0x3a903c,{DOUBLEWITHTWODWORDINTREE(0x52500000,0x00000000)}}, {VT_exponent,22,0x3a903d,{DOUBLEWITHTWODWORDINTREE(0x52600000,0x00000000)}}, {VT_exponent,22,0x3a903e,{DOUBLEWITHTWODWORDINTREE(0x52700000,0x00000000)}}, {VT_exponent,22,0x3a903f,{DOUBLEWITHTWODWORDINTREE(0x52800000,0x00000000)}}, {VT_exponent,22,0x3a9040,{DOUBLEWITHTWODWORDINTREE(0x52900000,0x00000000)}}, {VT_exponent,22,0x3a9041,{DOUBLEWITHTWODWORDINTREE(0x52a00000,0x00000000)}}, {VT_exponent,22,0x3a9042,{DOUBLEWITHTWODWORDINTREE(0x52b00000,0x00000000)}}, {VT_exponent,22,0x3a9043,{DOUBLEWITHTWODWORDINTREE(0x52c00000,0x00000000)}}, {VT_exponent,22,0x3a9044,{DOUBLEWITHTWODWORDINTREE(0x52d00000,0x00000000)}}, {VT_exponent,22,0x3a9045,{DOUBLEWITHTWODWORDINTREE(0x52e00000,0x00000000)}}, {VT_exponent,22,0x3a9046,{DOUBLEWITHTWODWORDINTREE(0x52f00000,0x00000000)}}, {VT_exponent,22,0x3a9047,{DOUBLEWITHTWODWORDINTREE(0x53000000,0x00000000)}}, {VT_exponent,22,0x3a9048,{DOUBLEWITHTWODWORDINTREE(0x53100000,0x00000000)}}, {VT_exponent,22,0x3a9049,{DOUBLEWITHTWODWORDINTREE(0x53200000,0x00000000)}}, {VT_exponent,22,0x3a904a,{DOUBLEWITHTWODWORDINTREE(0x53300000,0x00000000)}}, {VT_exponent,22,0x3a904b,{DOUBLEWITHTWODWORDINTREE(0x53400000,0x00000000)}}, {VT_exponent,22,0x3a904c,{DOUBLEWITHTWODWORDINTREE(0x53500000,0x00000000)}}, {VT_exponent,22,0x3a904d,{DOUBLEWITHTWODWORDINTREE(0x53600000,0x00000000)}}, {VT_exponent,22,0x3a904e,{DOUBLEWITHTWODWORDINTREE(0x53700000,0x00000000)}}, {VT_exponent,22,0x3a904f,{DOUBLEWITHTWODWORDINTREE(0x53800000,0x00000000)}}, {VT_exponent,22,0x3a9050,{DOUBLEWITHTWODWORDINTREE(0x53900000,0x00000000)}}, {VT_exponent,22,0x3a9051,{DOUBLEWITHTWODWORDINTREE(0x53a00000,0x00000000)}}, {VT_exponent,22,0x3a9052,{DOUBLEWITHTWODWORDINTREE(0x53b00000,0x00000000)}}, {VT_exponent,22,0x3a9053,{DOUBLEWITHTWODWORDINTREE(0x53c00000,0x00000000)}}, {VT_exponent,22,0x3a9054,{DOUBLEWITHTWODWORDINTREE(0x53d00000,0x00000000)}}, {VT_exponent,22,0x3a9055,{DOUBLEWITHTWODWORDINTREE(0x53e00000,0x00000000)}}, {VT_exponent,22,0x3a9056,{DOUBLEWITHTWODWORDINTREE(0x53f00000,0x00000000)}}, {VT_exponent,22,0x3a9057,{DOUBLEWITHTWODWORDINTREE(0x54000000,0x00000000)}}, {VT_exponent,22,0x3a9058,{DOUBLEWITHTWODWORDINTREE(0x54100000,0x00000000)}}, {VT_exponent,22,0x3a9059,{DOUBLEWITHTWODWORDINTREE(0x54200000,0x00000000)}}, {VT_exponent,22,0x3a905a,{DOUBLEWITHTWODWORDINTREE(0x54300000,0x00000000)}}, {VT_exponent,22,0x3a905b,{DOUBLEWITHTWODWORDINTREE(0x54400000,0x00000000)}}, {VT_exponent,22,0x3a905c,{DOUBLEWITHTWODWORDINTREE(0x54500000,0x00000000)}}, {VT_exponent,22,0x3a905d,{DOUBLEWITHTWODWORDINTREE(0x54600000,0x00000000)}}, {VT_exponent,22,0x3a905e,{DOUBLEWITHTWODWORDINTREE(0x54700000,0x00000000)}}, {VT_exponent,22,0x3a905f,{DOUBLEWITHTWODWORDINTREE(0x54800000,0x00000000)}}, {VT_exponent,22,0x3a9060,{DOUBLEWITHTWODWORDINTREE(0x54900000,0x00000000)}}, {VT_exponent,22,0x3a9061,{DOUBLEWITHTWODWORDINTREE(0x54a00000,0x00000000)}}, {VT_exponent,22,0x3a9062,{DOUBLEWITHTWODWORDINTREE(0x54b00000,0x00000000)}}, {VT_exponent,22,0x3a9063,{DOUBLEWITHTWODWORDINTREE(0x54c00000,0x00000000)}}, {VT_exponent,22,0x3a9064,{DOUBLEWITHTWODWORDINTREE(0x54d00000,0x00000000)}}, {VT_exponent,22,0x3a9065,{DOUBLEWITHTWODWORDINTREE(0x54e00000,0x00000000)}}, {VT_exponent,22,0x3a9066,{DOUBLEWITHTWODWORDINTREE(0x54f00000,0x00000000)}}, {VT_exponent,22,0x3a9067,{DOUBLEWITHTWODWORDINTREE(0x55000000,0x00000000)}}, {VT_exponent,22,0x3a9068,{DOUBLEWITHTWODWORDINTREE(0x55100000,0x00000000)}}, {VT_exponent,22,0x3a9069,{DOUBLEWITHTWODWORDINTREE(0x55200000,0x00000000)}}, {VT_exponent,22,0x3a906a,{DOUBLEWITHTWODWORDINTREE(0x55300000,0x00000000)}}, {VT_exponent,22,0x3a906b,{DOUBLEWITHTWODWORDINTREE(0x55400000,0x00000000)}}, {VT_exponent,22,0x3a906c,{DOUBLEWITHTWODWORDINTREE(0x55500000,0x00000000)}}, {VT_exponent,22,0x3a906d,{DOUBLEWITHTWODWORDINTREE(0x55600000,0x00000000)}}, {VT_exponent,22,0x3a906e,{DOUBLEWITHTWODWORDINTREE(0x55700000,0x00000000)}}, {VT_exponent,22,0x3a906f,{DOUBLEWITHTWODWORDINTREE(0x55800000,0x00000000)}}, {VT_exponent,22,0x3a9070,{DOUBLEWITHTWODWORDINTREE(0x55900000,0x00000000)}}, {VT_exponent,22,0x3a9071,{DOUBLEWITHTWODWORDINTREE(0x55a00000,0x00000000)}}, {VT_exponent,22,0x3a9072,{DOUBLEWITHTWODWORDINTREE(0x55b00000,0x00000000)}}, {VT_exponent,22,0x3a9073,{DOUBLEWITHTWODWORDINTREE(0x55c00000,0x00000000)}}, {VT_exponent,22,0x3a9074,{DOUBLEWITHTWODWORDINTREE(0x55d00000,0x00000000)}}, {VT_exponent,22,0x3a9075,{DOUBLEWITHTWODWORDINTREE(0x55e00000,0x00000000)}}, {VT_exponent,22,0x3a9076,{DOUBLEWITHTWODWORDINTREE(0x55f00000,0x00000000)}}, {VT_exponent,22,0x3a9077,{DOUBLEWITHTWODWORDINTREE(0x56000000,0x00000000)}}, {VT_exponent,22,0x3a9078,{DOUBLEWITHTWODWORDINTREE(0x56100000,0x00000000)}}, {VT_exponent,22,0x3a9079,{DOUBLEWITHTWODWORDINTREE(0x56200000,0x00000000)}}, {VT_exponent,22,0x3a907a,{DOUBLEWITHTWODWORDINTREE(0x56300000,0x00000000)}}, {VT_exponent,22,0x3a907b,{DOUBLEWITHTWODWORDINTREE(0x56400000,0x00000000)}}, {VT_exponent,22,0x3a907c,{DOUBLEWITHTWODWORDINTREE(0x56500000,0x00000000)}}, {VT_exponent,22,0x3a907d,{DOUBLEWITHTWODWORDINTREE(0x56600000,0x00000000)}}, {VT_exponent,22,0x3a907e,{DOUBLEWITHTWODWORDINTREE(0x56700000,0x00000000)}}, {VT_exponent,22,0x3a907f,{DOUBLEWITHTWODWORDINTREE(0x56800000,0x00000000)}}, {VT_exponent,22,0x3a9080,{DOUBLEWITHTWODWORDINTREE(0x56900000,0x00000000)}}, {VT_exponent,22,0x3a9081,{DOUBLEWITHTWODWORDINTREE(0x56a00000,0x00000000)}}, {VT_exponent,22,0x3a9082,{DOUBLEWITHTWODWORDINTREE(0x56b00000,0x00000000)}}, {VT_exponent,22,0x3a9083,{DOUBLEWITHTWODWORDINTREE(0x56c00000,0x00000000)}}, {VT_exponent,22,0x3a9084,{DOUBLEWITHTWODWORDINTREE(0x56d00000,0x00000000)}}, {VT_exponent,22,0x3a9085,{DOUBLEWITHTWODWORDINTREE(0x56e00000,0x00000000)}}, {VT_exponent,22,0x3a9086,{DOUBLEWITHTWODWORDINTREE(0x56f00000,0x00000000)}}, {VT_exponent,22,0x3a9087,{DOUBLEWITHTWODWORDINTREE(0x57000000,0x00000000)}}, {VT_exponent,22,0x3a9088,{DOUBLEWITHTWODWORDINTREE(0x57100000,0x00000000)}}, {VT_exponent,22,0x3a9089,{DOUBLEWITHTWODWORDINTREE(0x57200000,0x00000000)}}, {VT_exponent,22,0x3a908a,{DOUBLEWITHTWODWORDINTREE(0x57300000,0x00000000)}}, {VT_exponent,22,0x3a908b,{DOUBLEWITHTWODWORDINTREE(0x57400000,0x00000000)}}, {VT_exponent,22,0x3a908c,{DOUBLEWITHTWODWORDINTREE(0x57500000,0x00000000)}}, {VT_exponent,22,0x3a908d,{DOUBLEWITHTWODWORDINTREE(0x57600000,0x00000000)}}, {VT_exponent,22,0x3a908e,{DOUBLEWITHTWODWORDINTREE(0x57700000,0x00000000)}}, {VT_exponent,22,0x3a908f,{DOUBLEWITHTWODWORDINTREE(0x57800000,0x00000000)}}, {VT_exponent,22,0x3a9090,{DOUBLEWITHTWODWORDINTREE(0x57900000,0x00000000)}}, {VT_exponent,22,0x3a9091,{DOUBLEWITHTWODWORDINTREE(0x57a00000,0x00000000)}}, {VT_exponent,22,0x3a9092,{DOUBLEWITHTWODWORDINTREE(0x57b00000,0x00000000)}}, {VT_exponent,22,0x3a9093,{DOUBLEWITHTWODWORDINTREE(0x57c00000,0x00000000)}}, {VT_exponent,22,0x3a9094,{DOUBLEWITHTWODWORDINTREE(0x57d00000,0x00000000)}}, {VT_exponent,22,0x3a9095,{DOUBLEWITHTWODWORDINTREE(0x57e00000,0x00000000)}}, {VT_exponent,22,0x3a9096,{DOUBLEWITHTWODWORDINTREE(0x57f00000,0x00000000)}}, {VT_exponent,22,0x3a9097,{DOUBLEWITHTWODWORDINTREE(0x58000000,0x00000000)}}, {VT_exponent,22,0x3a9098,{DOUBLEWITHTWODWORDINTREE(0x58100000,0x00000000)}}, {VT_exponent,22,0x3a9099,{DOUBLEWITHTWODWORDINTREE(0x58200000,0x00000000)}}, {VT_exponent,22,0x3a909a,{DOUBLEWITHTWODWORDINTREE(0x58300000,0x00000000)}}, {VT_exponent,22,0x3a909b,{DOUBLEWITHTWODWORDINTREE(0x58400000,0x00000000)}}, {VT_exponent,22,0x3a909c,{DOUBLEWITHTWODWORDINTREE(0x58500000,0x00000000)}}, {VT_exponent,22,0x3a909d,{DOUBLEWITHTWODWORDINTREE(0x58600000,0x00000000)}}, {VT_exponent,22,0x3a909e,{DOUBLEWITHTWODWORDINTREE(0x58700000,0x00000000)}}, {VT_exponent,22,0x3a909f,{DOUBLEWITHTWODWORDINTREE(0x58800000,0x00000000)}}, {VT_exponent,22,0x3a90a0,{DOUBLEWITHTWODWORDINTREE(0x58900000,0x00000000)}}, {VT_exponent,22,0x3a90a1,{DOUBLEWITHTWODWORDINTREE(0x58a00000,0x00000000)}}, {VT_exponent,22,0x3a90a2,{DOUBLEWITHTWODWORDINTREE(0x58b00000,0x00000000)}}, {VT_exponent,22,0x3a90a3,{DOUBLEWITHTWODWORDINTREE(0x58c00000,0x00000000)}}, {VT_exponent,22,0x3a90a4,{DOUBLEWITHTWODWORDINTREE(0x58d00000,0x00000000)}}, {VT_exponent,22,0x3a90a5,{DOUBLEWITHTWODWORDINTREE(0x58e00000,0x00000000)}}, {VT_exponent,22,0x3a90a6,{DOUBLEWITHTWODWORDINTREE(0x58f00000,0x00000000)}}, {VT_exponent,22,0x3a90a7,{DOUBLEWITHTWODWORDINTREE(0x59000000,0x00000000)}}, {VT_exponent,22,0x3a90a8,{DOUBLEWITHTWODWORDINTREE(0x59100000,0x00000000)}}, {VT_exponent,22,0x3a90a9,{DOUBLEWITHTWODWORDINTREE(0x59200000,0x00000000)}}, {VT_exponent,22,0x3a90aa,{DOUBLEWITHTWODWORDINTREE(0x59300000,0x00000000)}}, {VT_exponent,22,0x3a90ab,{DOUBLEWITHTWODWORDINTREE(0x59400000,0x00000000)}}, {VT_exponent,22,0x3a90ac,{DOUBLEWITHTWODWORDINTREE(0x59500000,0x00000000)}}, {VT_exponent,22,0x3a90ad,{DOUBLEWITHTWODWORDINTREE(0x59600000,0x00000000)}}, {VT_exponent,22,0x3a90ae,{DOUBLEWITHTWODWORDINTREE(0x59700000,0x00000000)}}, {VT_exponent,22,0x3a90af,{DOUBLEWITHTWODWORDINTREE(0x59800000,0x00000000)}}, {VT_exponent,22,0x3a90b0,{DOUBLEWITHTWODWORDINTREE(0x59900000,0x00000000)}}, {VT_exponent,22,0x3a90b1,{DOUBLEWITHTWODWORDINTREE(0x59a00000,0x00000000)}}, {VT_exponent,22,0x3a90b2,{DOUBLEWITHTWODWORDINTREE(0x59b00000,0x00000000)}}, {VT_exponent,22,0x3a90b3,{DOUBLEWITHTWODWORDINTREE(0x59c00000,0x00000000)}}, {VT_exponent,22,0x3a90b4,{DOUBLEWITHTWODWORDINTREE(0x59d00000,0x00000000)}}, {VT_exponent,22,0x3a90b5,{DOUBLEWITHTWODWORDINTREE(0x59e00000,0x00000000)}}, {VT_exponent,22,0x3a90b6,{DOUBLEWITHTWODWORDINTREE(0x59f00000,0x00000000)}}, {VT_exponent,22,0x3a90b7,{DOUBLEWITHTWODWORDINTREE(0x5a000000,0x00000000)}}, {VT_exponent,22,0x3a90b8,{DOUBLEWITHTWODWORDINTREE(0x5a100000,0x00000000)}}, {VT_exponent,22,0x3a90b9,{DOUBLEWITHTWODWORDINTREE(0x5a200000,0x00000000)}}, {VT_exponent,22,0x3a90ba,{DOUBLEWITHTWODWORDINTREE(0x5a300000,0x00000000)}}, {VT_exponent,22,0x3a90bb,{DOUBLEWITHTWODWORDINTREE(0x5a400000,0x00000000)}}, {VT_exponent,22,0x3a90bc,{DOUBLEWITHTWODWORDINTREE(0x5a500000,0x00000000)}}, {VT_exponent,22,0x3a90bd,{DOUBLEWITHTWODWORDINTREE(0x5a600000,0x00000000)}}, {VT_exponent,22,0x3a90be,{DOUBLEWITHTWODWORDINTREE(0x5a700000,0x00000000)}}, {VT_exponent,22,0x3a90bf,{DOUBLEWITHTWODWORDINTREE(0x5a800000,0x00000000)}}, {VT_exponent,22,0x3a90c0,{DOUBLEWITHTWODWORDINTREE(0x5a900000,0x00000000)}}, {VT_exponent,22,0x3a90c1,{DOUBLEWITHTWODWORDINTREE(0x5aa00000,0x00000000)}}, {VT_exponent,22,0x3a90c2,{DOUBLEWITHTWODWORDINTREE(0x5ab00000,0x00000000)}}, {VT_exponent,22,0x3a90c3,{DOUBLEWITHTWODWORDINTREE(0x5ac00000,0x00000000)}}, {VT_exponent,22,0x3a90c4,{DOUBLEWITHTWODWORDINTREE(0x5ad00000,0x00000000)}}, {VT_exponent,22,0x3a90c5,{DOUBLEWITHTWODWORDINTREE(0x5ae00000,0x00000000)}}, {VT_exponent,22,0x3a90c6,{DOUBLEWITHTWODWORDINTREE(0x5af00000,0x00000000)}}, {VT_exponent,22,0x3a90c7,{DOUBLEWITHTWODWORDINTREE(0x5b000000,0x00000000)}}, {VT_exponent,22,0x3a90c8,{DOUBLEWITHTWODWORDINTREE(0x5b100000,0x00000000)}}, {VT_exponent,22,0x3a90c9,{DOUBLEWITHTWODWORDINTREE(0x5b200000,0x00000000)}}, {VT_exponent,22,0x3a90ca,{DOUBLEWITHTWODWORDINTREE(0x5b300000,0x00000000)}}, {VT_exponent,22,0x3a90cb,{DOUBLEWITHTWODWORDINTREE(0x5b400000,0x00000000)}}, {VT_exponent,22,0x3a90cc,{DOUBLEWITHTWODWORDINTREE(0x5b500000,0x00000000)}}, {VT_exponent,22,0x3a90cd,{DOUBLEWITHTWODWORDINTREE(0x5b600000,0x00000000)}}, {VT_exponent,22,0x3a90ce,{DOUBLEWITHTWODWORDINTREE(0x5b700000,0x00000000)}}, {VT_exponent,22,0x3a90cf,{DOUBLEWITHTWODWORDINTREE(0x5b800000,0x00000000)}}, {VT_exponent,22,0x3a90d0,{DOUBLEWITHTWODWORDINTREE(0x5b900000,0x00000000)}}, {VT_exponent,22,0x3a90d1,{DOUBLEWITHTWODWORDINTREE(0x5ba00000,0x00000000)}}, {VT_exponent,22,0x3a90d2,{DOUBLEWITHTWODWORDINTREE(0x5bb00000,0x00000000)}}, {VT_exponent,22,0x3a90d3,{DOUBLEWITHTWODWORDINTREE(0x5bc00000,0x00000000)}}, {VT_exponent,22,0x3a90d4,{DOUBLEWITHTWODWORDINTREE(0x5bd00000,0x00000000)}}, {VT_exponent,22,0x3a90d5,{DOUBLEWITHTWODWORDINTREE(0x5be00000,0x00000000)}}, {VT_exponent,22,0x3a90d6,{DOUBLEWITHTWODWORDINTREE(0x5bf00000,0x00000000)}}, {VT_exponent,22,0x3a90d7,{DOUBLEWITHTWODWORDINTREE(0x5c000000,0x00000000)}}, {VT_exponent,22,0x3a90d8,{DOUBLEWITHTWODWORDINTREE(0x5c100000,0x00000000)}}, {VT_exponent,22,0x3a90d9,{DOUBLEWITHTWODWORDINTREE(0x5c200000,0x00000000)}}, {VT_exponent,22,0x3a90da,{DOUBLEWITHTWODWORDINTREE(0x5c300000,0x00000000)}}, {VT_exponent,22,0x3a90db,{DOUBLEWITHTWODWORDINTREE(0x5c400000,0x00000000)}}, {VT_exponent,22,0x3a90dc,{DOUBLEWITHTWODWORDINTREE(0x5c500000,0x00000000)}}, {VT_exponent,22,0x3a90dd,{DOUBLEWITHTWODWORDINTREE(0x5c600000,0x00000000)}}, {VT_exponent,22,0x3a90de,{DOUBLEWITHTWODWORDINTREE(0x5c700000,0x00000000)}}, {VT_exponent,22,0x3a90df,{DOUBLEWITHTWODWORDINTREE(0x5c800000,0x00000000)}}, {VT_exponent,22,0x3a90e0,{DOUBLEWITHTWODWORDINTREE(0x5c900000,0x00000000)}}, {VT_exponent,22,0x3a90e1,{DOUBLEWITHTWODWORDINTREE(0x5ca00000,0x00000000)}}, {VT_exponent,22,0x3a90e2,{DOUBLEWITHTWODWORDINTREE(0x5cb00000,0x00000000)}}, {VT_exponent,22,0x3a90e3,{DOUBLEWITHTWODWORDINTREE(0x5cc00000,0x00000000)}}, {VT_exponent,22,0x3a90e4,{DOUBLEWITHTWODWORDINTREE(0x5cd00000,0x00000000)}}, {VT_exponent,22,0x3a90e5,{DOUBLEWITHTWODWORDINTREE(0x5ce00000,0x00000000)}}, {VT_exponent,22,0x3a90e6,{DOUBLEWITHTWODWORDINTREE(0x5cf00000,0x00000000)}}, {VT_exponent,22,0x3a90e7,{DOUBLEWITHTWODWORDINTREE(0x5d000000,0x00000000)}}, {VT_exponent,22,0x3a90e8,{DOUBLEWITHTWODWORDINTREE(0x5d100000,0x00000000)}}, {VT_exponent,22,0x3a90e9,{DOUBLEWITHTWODWORDINTREE(0x5d200000,0x00000000)}}, {VT_exponent,22,0x3a90ea,{DOUBLEWITHTWODWORDINTREE(0x5d300000,0x00000000)}}, {VT_exponent,22,0x3a90eb,{DOUBLEWITHTWODWORDINTREE(0x5d400000,0x00000000)}}, {VT_exponent,22,0x3a90ec,{DOUBLEWITHTWODWORDINTREE(0x5d500000,0x00000000)}}, {VT_exponent,22,0x3a90ed,{DOUBLEWITHTWODWORDINTREE(0x5d600000,0x00000000)}}, {VT_exponent,22,0x3a90ee,{DOUBLEWITHTWODWORDINTREE(0x5d700000,0x00000000)}}, {VT_exponent,22,0x3a90ef,{DOUBLEWITHTWODWORDINTREE(0x5d800000,0x00000000)}}, {VT_exponent,22,0x3a90f0,{DOUBLEWITHTWODWORDINTREE(0x5d900000,0x00000000)}}, {VT_exponent,22,0x3a90f1,{DOUBLEWITHTWODWORDINTREE(0x5da00000,0x00000000)}}, {VT_exponent,22,0x3a90f2,{DOUBLEWITHTWODWORDINTREE(0x5db00000,0x00000000)}}, {VT_exponent,22,0x3a90f3,{DOUBLEWITHTWODWORDINTREE(0x5dc00000,0x00000000)}}, {VT_exponent,22,0x3a90f4,{DOUBLEWITHTWODWORDINTREE(0x5dd00000,0x00000000)}}, {VT_exponent,22,0x3a90f5,{DOUBLEWITHTWODWORDINTREE(0x5de00000,0x00000000)}}, {VT_exponent,22,0x3a90f6,{DOUBLEWITHTWODWORDINTREE(0x5df00000,0x00000000)}}, {VT_exponent,22,0x3a90f7,{DOUBLEWITHTWODWORDINTREE(0x5e000000,0x00000000)}}, {VT_exponent,22,0x3a90f8,{DOUBLEWITHTWODWORDINTREE(0x5e100000,0x00000000)}}, {VT_exponent,22,0x3a90f9,{DOUBLEWITHTWODWORDINTREE(0x5e200000,0x00000000)}}, {VT_exponent,22,0x3a90fa,{DOUBLEWITHTWODWORDINTREE(0x5e300000,0x00000000)}}, {VT_exponent,22,0x3a90fb,{DOUBLEWITHTWODWORDINTREE(0x5e400000,0x00000000)}}, {VT_exponent,22,0x3a90fc,{DOUBLEWITHTWODWORDINTREE(0x5e500000,0x00000000)}}, {VT_exponent,22,0x3a90fd,{DOUBLEWITHTWODWORDINTREE(0x5e600000,0x00000000)}}, {VT_exponent,22,0x3a90fe,{DOUBLEWITHTWODWORDINTREE(0x5e700000,0x00000000)}}, {VT_exponent,22,0x3a90ff,{DOUBLEWITHTWODWORDINTREE(0x5e800000,0x00000000)}}, {VT_exponent,22,0x3a9100,{DOUBLEWITHTWODWORDINTREE(0x5e900000,0x00000000)}}, {VT_exponent,22,0x3a9101,{DOUBLEWITHTWODWORDINTREE(0x5ea00000,0x00000000)}}, {VT_exponent,22,0x3a9102,{DOUBLEWITHTWODWORDINTREE(0x5eb00000,0x00000000)}}, {VT_exponent,22,0x3a9103,{DOUBLEWITHTWODWORDINTREE(0x5ec00000,0x00000000)}}, {VT_exponent,22,0x3a9104,{DOUBLEWITHTWODWORDINTREE(0x5ed00000,0x00000000)}}, {VT_exponent,22,0x3a9105,{DOUBLEWITHTWODWORDINTREE(0x5ee00000,0x00000000)}}, {VT_exponent,22,0x3a9106,{DOUBLEWITHTWODWORDINTREE(0x5ef00000,0x00000000)}}, {VT_exponent,22,0x3a9107,{DOUBLEWITHTWODWORDINTREE(0x5f000000,0x00000000)}}, {VT_exponent,22,0x3a9108,{DOUBLEWITHTWODWORDINTREE(0x5f100000,0x00000000)}}, {VT_exponent,22,0x3a9109,{DOUBLEWITHTWODWORDINTREE(0x5f200000,0x00000000)}}, {VT_exponent,22,0x3a910a,{DOUBLEWITHTWODWORDINTREE(0x5f300000,0x00000000)}}, {VT_exponent,22,0x3a910b,{DOUBLEWITHTWODWORDINTREE(0x5f400000,0x00000000)}}, {VT_exponent,22,0x3a910c,{DOUBLEWITHTWODWORDINTREE(0x5f500000,0x00000000)}}, {VT_exponent,22,0x3a910d,{DOUBLEWITHTWODWORDINTREE(0x5f600000,0x00000000)}}, {VT_exponent,22,0x3a910e,{DOUBLEWITHTWODWORDINTREE(0x5f700000,0x00000000)}}, {VT_exponent,22,0x3a910f,{DOUBLEWITHTWODWORDINTREE(0x5f800000,0x00000000)}}, {VT_exponent,22,0x3a9110,{DOUBLEWITHTWODWORDINTREE(0x5f900000,0x00000000)}}, {VT_exponent,22,0x3a9111,{DOUBLEWITHTWODWORDINTREE(0x5fa00000,0x00000000)}}, {VT_exponent,22,0x3a9112,{DOUBLEWITHTWODWORDINTREE(0x5fb00000,0x00000000)}}, {VT_exponent,22,0x3a9113,{DOUBLEWITHTWODWORDINTREE(0x5fc00000,0x00000000)}}, {VT_exponent,22,0x3a9114,{DOUBLEWITHTWODWORDINTREE(0x5fd00000,0x00000000)}}, {VT_exponent,22,0x3a9115,{DOUBLEWITHTWODWORDINTREE(0x5fe00000,0x00000000)}}, {VT_exponent,22,0x3a9116,{DOUBLEWITHTWODWORDINTREE(0x5ff00000,0x00000000)}}, {VT_exponent,22,0x3a9117,{DOUBLEWITHTWODWORDINTREE(0x60000000,0x00000000)}}, {VT_exponent,22,0x3a9118,{DOUBLEWITHTWODWORDINTREE(0x60100000,0x00000000)}}, {VT_exponent,22,0x3a9119,{DOUBLEWITHTWODWORDINTREE(0x60200000,0x00000000)}}, {VT_exponent,22,0x3a911a,{DOUBLEWITHTWODWORDINTREE(0x60300000,0x00000000)}}, {VT_exponent,22,0x3a911b,{DOUBLEWITHTWODWORDINTREE(0x60400000,0x00000000)}}, {VT_exponent,22,0x3a911c,{DOUBLEWITHTWODWORDINTREE(0x60500000,0x00000000)}}, {VT_exponent,22,0x3a911d,{DOUBLEWITHTWODWORDINTREE(0x60600000,0x00000000)}}, {VT_exponent,22,0x3a911e,{DOUBLEWITHTWODWORDINTREE(0x60700000,0x00000000)}}, {VT_exponent,22,0x3a911f,{DOUBLEWITHTWODWORDINTREE(0x60800000,0x00000000)}}, {VT_exponent,22,0x3a9120,{DOUBLEWITHTWODWORDINTREE(0x60900000,0x00000000)}}, {VT_exponent,22,0x3a9121,{DOUBLEWITHTWODWORDINTREE(0x60a00000,0x00000000)}}, {VT_exponent,22,0x3a9122,{DOUBLEWITHTWODWORDINTREE(0x60b00000,0x00000000)}}, {VT_exponent,22,0x3a9123,{DOUBLEWITHTWODWORDINTREE(0x60c00000,0x00000000)}}, {VT_exponent,22,0x3a9124,{DOUBLEWITHTWODWORDINTREE(0x60d00000,0x00000000)}}, {VT_exponent,22,0x3a9125,{DOUBLEWITHTWODWORDINTREE(0x60e00000,0x00000000)}}, {VT_exponent,22,0x3a9126,{DOUBLEWITHTWODWORDINTREE(0x60f00000,0x00000000)}}, {VT_exponent,22,0x3a9127,{DOUBLEWITHTWODWORDINTREE(0x61000000,0x00000000)}}, {VT_exponent,22,0x3a9128,{DOUBLEWITHTWODWORDINTREE(0x61100000,0x00000000)}}, {VT_exponent,22,0x3a9129,{DOUBLEWITHTWODWORDINTREE(0x61200000,0x00000000)}}, {VT_exponent,22,0x3a912a,{DOUBLEWITHTWODWORDINTREE(0x61300000,0x00000000)}}, {VT_exponent,22,0x3a912b,{DOUBLEWITHTWODWORDINTREE(0x61400000,0x00000000)}}, {VT_exponent,22,0x3a912c,{DOUBLEWITHTWODWORDINTREE(0x61500000,0x00000000)}}, {VT_exponent,22,0x3a912d,{DOUBLEWITHTWODWORDINTREE(0x61600000,0x00000000)}}, {VT_exponent,22,0x3a912e,{DOUBLEWITHTWODWORDINTREE(0x61700000,0x00000000)}}, {VT_exponent,22,0x3a912f,{DOUBLEWITHTWODWORDINTREE(0x61800000,0x00000000)}}, {VT_exponent,22,0x3a9130,{DOUBLEWITHTWODWORDINTREE(0x61900000,0x00000000)}}, {VT_exponent,22,0x3a9131,{DOUBLEWITHTWODWORDINTREE(0x61a00000,0x00000000)}}, {VT_exponent,22,0x3a9132,{DOUBLEWITHTWODWORDINTREE(0x61b00000,0x00000000)}}, {VT_exponent,22,0x3a9133,{DOUBLEWITHTWODWORDINTREE(0x61c00000,0x00000000)}}, {VT_exponent,22,0x3a9134,{DOUBLEWITHTWODWORDINTREE(0x61d00000,0x00000000)}}, {VT_exponent,22,0x3a9135,{DOUBLEWITHTWODWORDINTREE(0x61e00000,0x00000000)}}, {VT_exponent,22,0x3a9136,{DOUBLEWITHTWODWORDINTREE(0x61f00000,0x00000000)}}, {VT_exponent,22,0x3a9137,{DOUBLEWITHTWODWORDINTREE(0x62000000,0x00000000)}}, {VT_exponent,22,0x3a9138,{DOUBLEWITHTWODWORDINTREE(0x62100000,0x00000000)}}, {VT_exponent,22,0x3a9139,{DOUBLEWITHTWODWORDINTREE(0x62200000,0x00000000)}}, {VT_exponent,22,0x3a913a,{DOUBLEWITHTWODWORDINTREE(0x62300000,0x00000000)}}, {VT_exponent,22,0x3a913b,{DOUBLEWITHTWODWORDINTREE(0x62400000,0x00000000)}}, {VT_exponent,22,0x3a913c,{DOUBLEWITHTWODWORDINTREE(0x62500000,0x00000000)}}, {VT_exponent,22,0x3a913d,{DOUBLEWITHTWODWORDINTREE(0x62600000,0x00000000)}}, {VT_exponent,22,0x3a913e,{DOUBLEWITHTWODWORDINTREE(0x62700000,0x00000000)}}, {VT_exponent,22,0x3a913f,{DOUBLEWITHTWODWORDINTREE(0x62800000,0x00000000)}}, {VT_exponent,22,0x3a9140,{DOUBLEWITHTWODWORDINTREE(0x62900000,0x00000000)}}, {VT_exponent,22,0x3a9141,{DOUBLEWITHTWODWORDINTREE(0x62a00000,0x00000000)}}, {VT_exponent,22,0x3a9142,{DOUBLEWITHTWODWORDINTREE(0x62b00000,0x00000000)}}, {VT_exponent,22,0x3a9143,{DOUBLEWITHTWODWORDINTREE(0x62c00000,0x00000000)}}, {VT_exponent,22,0x3a9144,{DOUBLEWITHTWODWORDINTREE(0x62d00000,0x00000000)}}, {VT_exponent,22,0x3a9145,{DOUBLEWITHTWODWORDINTREE(0x62e00000,0x00000000)}}, {VT_exponent,22,0x3a9146,{DOUBLEWITHTWODWORDINTREE(0x62f00000,0x00000000)}}, {VT_exponent,22,0x3a9147,{DOUBLEWITHTWODWORDINTREE(0x63000000,0x00000000)}}, {VT_exponent,22,0x3a9148,{DOUBLEWITHTWODWORDINTREE(0x63100000,0x00000000)}}, {VT_exponent,22,0x3a9149,{DOUBLEWITHTWODWORDINTREE(0x63200000,0x00000000)}}, {VT_exponent,22,0x3a914a,{DOUBLEWITHTWODWORDINTREE(0x63300000,0x00000000)}}, {VT_exponent,22,0x3a914b,{DOUBLEWITHTWODWORDINTREE(0x63400000,0x00000000)}}, {VT_exponent,22,0x3a914c,{DOUBLEWITHTWODWORDINTREE(0x63500000,0x00000000)}}, {VT_exponent,22,0x3a914d,{DOUBLEWITHTWODWORDINTREE(0x63600000,0x00000000)}}, {VT_exponent,22,0x3a914e,{DOUBLEWITHTWODWORDINTREE(0x63700000,0x00000000)}}, {VT_exponent,22,0x3a914f,{DOUBLEWITHTWODWORDINTREE(0x63800000,0x00000000)}}, {VT_exponent,22,0x3a9150,{DOUBLEWITHTWODWORDINTREE(0x63900000,0x00000000)}}, {VT_exponent,22,0x3a9151,{DOUBLEWITHTWODWORDINTREE(0x63a00000,0x00000000)}}, {VT_exponent,22,0x3a9152,{DOUBLEWITHTWODWORDINTREE(0x63b00000,0x00000000)}}, {VT_exponent,22,0x3a9153,{DOUBLEWITHTWODWORDINTREE(0x63c00000,0x00000000)}}, {VT_exponent,22,0x3a9154,{DOUBLEWITHTWODWORDINTREE(0x63d00000,0x00000000)}}, {VT_exponent,22,0x3a9155,{DOUBLEWITHTWODWORDINTREE(0x63e00000,0x00000000)}}, {VT_exponent,22,0x3a9156,{DOUBLEWITHTWODWORDINTREE(0x63f00000,0x00000000)}}, {VT_exponent,22,0x3a9157,{DOUBLEWITHTWODWORDINTREE(0x64000000,0x00000000)}}, {VT_exponent,22,0x3a9158,{DOUBLEWITHTWODWORDINTREE(0x64100000,0x00000000)}}, {VT_exponent,22,0x3a9159,{DOUBLEWITHTWODWORDINTREE(0x64200000,0x00000000)}}, {VT_exponent,22,0x3a915a,{DOUBLEWITHTWODWORDINTREE(0x64300000,0x00000000)}}, {VT_exponent,22,0x3a915b,{DOUBLEWITHTWODWORDINTREE(0x64400000,0x00000000)}}, {VT_exponent,22,0x3a915c,{DOUBLEWITHTWODWORDINTREE(0x64500000,0x00000000)}}, {VT_exponent,22,0x3a915d,{DOUBLEWITHTWODWORDINTREE(0x64600000,0x00000000)}}, {VT_exponent,22,0x3a915e,{DOUBLEWITHTWODWORDINTREE(0x64700000,0x00000000)}}, {VT_exponent,22,0x3a915f,{DOUBLEWITHTWODWORDINTREE(0x64800000,0x00000000)}}, {VT_exponent,22,0x3a9160,{DOUBLEWITHTWODWORDINTREE(0x64900000,0x00000000)}}, {VT_exponent,22,0x3a9161,{DOUBLEWITHTWODWORDINTREE(0x64a00000,0x00000000)}}, {VT_exponent,22,0x3a9162,{DOUBLEWITHTWODWORDINTREE(0x64b00000,0x00000000)}}, {VT_exponent,22,0x3a9163,{DOUBLEWITHTWODWORDINTREE(0x64c00000,0x00000000)}}, {VT_exponent,22,0x3a9164,{DOUBLEWITHTWODWORDINTREE(0x64d00000,0x00000000)}}, {VT_exponent,22,0x3a9165,{DOUBLEWITHTWODWORDINTREE(0x64e00000,0x00000000)}}, {VT_exponent,22,0x3a9166,{DOUBLEWITHTWODWORDINTREE(0x64f00000,0x00000000)}}, {VT_exponent,22,0x3a9167,{DOUBLEWITHTWODWORDINTREE(0x65000000,0x00000000)}}, {VT_exponent,22,0x3a9168,{DOUBLEWITHTWODWORDINTREE(0x65100000,0x00000000)}}, {VT_exponent,22,0x3a9169,{DOUBLEWITHTWODWORDINTREE(0x65200000,0x00000000)}}, {VT_exponent,22,0x3a916a,{DOUBLEWITHTWODWORDINTREE(0x65300000,0x00000000)}}, {VT_exponent,22,0x3a916b,{DOUBLEWITHTWODWORDINTREE(0x65400000,0x00000000)}}, {VT_exponent,22,0x3a916c,{DOUBLEWITHTWODWORDINTREE(0x65500000,0x00000000)}}, {VT_exponent,22,0x3a916d,{DOUBLEWITHTWODWORDINTREE(0x65600000,0x00000000)}}, {VT_exponent,22,0x3a916e,{DOUBLEWITHTWODWORDINTREE(0x65700000,0x00000000)}}, {VT_exponent,22,0x3a916f,{DOUBLEWITHTWODWORDINTREE(0x65800000,0x00000000)}}, {VT_exponent,22,0x3a9170,{DOUBLEWITHTWODWORDINTREE(0x65900000,0x00000000)}}, {VT_exponent,22,0x3a9171,{DOUBLEWITHTWODWORDINTREE(0x65a00000,0x00000000)}}, {VT_exponent,22,0x3a9172,{DOUBLEWITHTWODWORDINTREE(0x65b00000,0x00000000)}}, {VT_exponent,22,0x3a9173,{DOUBLEWITHTWODWORDINTREE(0x65c00000,0x00000000)}}, {VT_exponent,22,0x3a9174,{DOUBLEWITHTWODWORDINTREE(0x65d00000,0x00000000)}}, {VT_exponent,22,0x3a9175,{DOUBLEWITHTWODWORDINTREE(0x65e00000,0x00000000)}}, {VT_exponent,22,0x3a9176,{DOUBLEWITHTWODWORDINTREE(0x65f00000,0x00000000)}}, {VT_exponent,22,0x3a9177,{DOUBLEWITHTWODWORDINTREE(0x66000000,0x00000000)}}, {VT_exponent,22,0x3a9178,{DOUBLEWITHTWODWORDINTREE(0x66100000,0x00000000)}}, {VT_exponent,22,0x3a9179,{DOUBLEWITHTWODWORDINTREE(0x66200000,0x00000000)}}, {VT_exponent,22,0x3a917a,{DOUBLEWITHTWODWORDINTREE(0x66300000,0x00000000)}}, {VT_exponent,22,0x3a917b,{DOUBLEWITHTWODWORDINTREE(0x66400000,0x00000000)}}, {VT_exponent,22,0x3a917c,{DOUBLEWITHTWODWORDINTREE(0x66500000,0x00000000)}}, {VT_exponent,22,0x3a917d,{DOUBLEWITHTWODWORDINTREE(0x66600000,0x00000000)}}, {VT_exponent,22,0x3a917e,{DOUBLEWITHTWODWORDINTREE(0x66700000,0x00000000)}}, {VT_exponent,22,0x3a917f,{DOUBLEWITHTWODWORDINTREE(0x66800000,0x00000000)}}, {VT_exponent,22,0x3a9180,{DOUBLEWITHTWODWORDINTREE(0x66900000,0x00000000)}}, {VT_exponent,22,0x3a9181,{DOUBLEWITHTWODWORDINTREE(0x66a00000,0x00000000)}}, {VT_exponent,22,0x3a9182,{DOUBLEWITHTWODWORDINTREE(0x66b00000,0x00000000)}}, {VT_exponent,22,0x3a9183,{DOUBLEWITHTWODWORDINTREE(0x66c00000,0x00000000)}}, {VT_exponent,22,0x3a9184,{DOUBLEWITHTWODWORDINTREE(0x66d00000,0x00000000)}}, {VT_exponent,22,0x3a9185,{DOUBLEWITHTWODWORDINTREE(0x66e00000,0x00000000)}}, {VT_exponent,22,0x3a9186,{DOUBLEWITHTWODWORDINTREE(0x66f00000,0x00000000)}}, {VT_exponent,22,0x3a9187,{DOUBLEWITHTWODWORDINTREE(0x67000000,0x00000000)}}, {VT_exponent,22,0x3a9188,{DOUBLEWITHTWODWORDINTREE(0x67100000,0x00000000)}}, {VT_exponent,22,0x3a9189,{DOUBLEWITHTWODWORDINTREE(0x67200000,0x00000000)}}, {VT_exponent,22,0x3a918a,{DOUBLEWITHTWODWORDINTREE(0x67300000,0x00000000)}}, {VT_exponent,22,0x3a918b,{DOUBLEWITHTWODWORDINTREE(0x67400000,0x00000000)}}, {VT_exponent,22,0x3a918c,{DOUBLEWITHTWODWORDINTREE(0x67500000,0x00000000)}}, {VT_exponent,22,0x3a918d,{DOUBLEWITHTWODWORDINTREE(0x67600000,0x00000000)}}, {VT_exponent,22,0x3a918e,{DOUBLEWITHTWODWORDINTREE(0x67700000,0x00000000)}}, {VT_exponent,22,0x3a918f,{DOUBLEWITHTWODWORDINTREE(0x67800000,0x00000000)}}, {VT_exponent,22,0x3a9190,{DOUBLEWITHTWODWORDINTREE(0x67900000,0x00000000)}}, {VT_exponent,22,0x3a9191,{DOUBLEWITHTWODWORDINTREE(0x67a00000,0x00000000)}}, {VT_exponent,22,0x3a9192,{DOUBLEWITHTWODWORDINTREE(0x67b00000,0x00000000)}}, {VT_exponent,22,0x3a9193,{DOUBLEWITHTWODWORDINTREE(0x67c00000,0x00000000)}}, {VT_exponent,22,0x3a9194,{DOUBLEWITHTWODWORDINTREE(0x67d00000,0x00000000)}}, {VT_exponent,22,0x3a9195,{DOUBLEWITHTWODWORDINTREE(0x67e00000,0x00000000)}}, {VT_exponent,22,0x3a9196,{DOUBLEWITHTWODWORDINTREE(0x67f00000,0x00000000)}}, {VT_exponent,22,0x3a9197,{DOUBLEWITHTWODWORDINTREE(0x68000000,0x00000000)}}, {VT_exponent,22,0x3a9198,{DOUBLEWITHTWODWORDINTREE(0x68100000,0x00000000)}}, {VT_exponent,22,0x3a9199,{DOUBLEWITHTWODWORDINTREE(0x68200000,0x00000000)}}, {VT_exponent,22,0x3a919a,{DOUBLEWITHTWODWORDINTREE(0x68300000,0x00000000)}}, {VT_exponent,22,0x3a919b,{DOUBLEWITHTWODWORDINTREE(0x68400000,0x00000000)}}, {VT_exponent,22,0x3a919c,{DOUBLEWITHTWODWORDINTREE(0x68500000,0x00000000)}}, {VT_exponent,22,0x3a919d,{DOUBLEWITHTWODWORDINTREE(0x68600000,0x00000000)}}, {VT_exponent,22,0x3a919e,{DOUBLEWITHTWODWORDINTREE(0x68700000,0x00000000)}}, {VT_exponent,22,0x3a919f,{DOUBLEWITHTWODWORDINTREE(0x68800000,0x00000000)}}, {VT_exponent,22,0x3a91a0,{DOUBLEWITHTWODWORDINTREE(0x68900000,0x00000000)}}, {VT_exponent,22,0x3a91a1,{DOUBLEWITHTWODWORDINTREE(0x68a00000,0x00000000)}}, {VT_exponent,22,0x3a91a2,{DOUBLEWITHTWODWORDINTREE(0x68b00000,0x00000000)}}, {VT_exponent,22,0x3a91a3,{DOUBLEWITHTWODWORDINTREE(0x68c00000,0x00000000)}}, {VT_exponent,22,0x3a91a4,{DOUBLEWITHTWODWORDINTREE(0x68d00000,0x00000000)}}, {VT_exponent,22,0x3a91a5,{DOUBLEWITHTWODWORDINTREE(0x68e00000,0x00000000)}}, {VT_exponent,22,0x3a91a6,{DOUBLEWITHTWODWORDINTREE(0x68f00000,0x00000000)}}, {VT_exponent,22,0x3a91a7,{DOUBLEWITHTWODWORDINTREE(0x69000000,0x00000000)}}, {VT_exponent,22,0x3a91a8,{DOUBLEWITHTWODWORDINTREE(0x69100000,0x00000000)}}, {VT_exponent,22,0x3a91a9,{DOUBLEWITHTWODWORDINTREE(0x69200000,0x00000000)}}, {VT_exponent,22,0x3a91aa,{DOUBLEWITHTWODWORDINTREE(0x69300000,0x00000000)}}, {VT_exponent,22,0x3a91ab,{DOUBLEWITHTWODWORDINTREE(0x69400000,0x00000000)}}, {VT_exponent,22,0x3a91ac,{DOUBLEWITHTWODWORDINTREE(0x69500000,0x00000000)}}, {VT_exponent,22,0x3a91ad,{DOUBLEWITHTWODWORDINTREE(0x69600000,0x00000000)}}, {VT_exponent,22,0x3a91ae,{DOUBLEWITHTWODWORDINTREE(0x69700000,0x00000000)}}, {VT_exponent,22,0x3a91af,{DOUBLEWITHTWODWORDINTREE(0x69800000,0x00000000)}}, {VT_exponent,22,0x3a91b0,{DOUBLEWITHTWODWORDINTREE(0x69900000,0x00000000)}}, {VT_exponent,22,0x3a91b1,{DOUBLEWITHTWODWORDINTREE(0x69a00000,0x00000000)}}, {VT_exponent,22,0x3a91b2,{DOUBLEWITHTWODWORDINTREE(0x69b00000,0x00000000)}}, {VT_exponent,22,0x3a91b3,{DOUBLEWITHTWODWORDINTREE(0x69c00000,0x00000000)}}, {VT_exponent,22,0x3a91b4,{DOUBLEWITHTWODWORDINTREE(0x69d00000,0x00000000)}}, {VT_exponent,22,0x3a91b5,{DOUBLEWITHTWODWORDINTREE(0x69e00000,0x00000000)}}, {VT_exponent,22,0x3a91b6,{DOUBLEWITHTWODWORDINTREE(0x69f00000,0x00000000)}}, {VT_exponent,22,0x3a91b7,{DOUBLEWITHTWODWORDINTREE(0x6a000000,0x00000000)}}, {VT_exponent,22,0x3a91b8,{DOUBLEWITHTWODWORDINTREE(0x6a100000,0x00000000)}}, {VT_exponent,22,0x3a91b9,{DOUBLEWITHTWODWORDINTREE(0x6a200000,0x00000000)}}, {VT_exponent,22,0x3a91ba,{DOUBLEWITHTWODWORDINTREE(0x6a300000,0x00000000)}}, {VT_exponent,22,0x3a91bb,{DOUBLEWITHTWODWORDINTREE(0x6a400000,0x00000000)}}, {VT_exponent,22,0x3a91bc,{DOUBLEWITHTWODWORDINTREE(0x6a500000,0x00000000)}}, {VT_exponent,22,0x3a91bd,{DOUBLEWITHTWODWORDINTREE(0x6a600000,0x00000000)}}, {VT_exponent,22,0x3a91be,{DOUBLEWITHTWODWORDINTREE(0x6a700000,0x00000000)}}, {VT_exponent,22,0x3a91bf,{DOUBLEWITHTWODWORDINTREE(0x6a800000,0x00000000)}}, {VT_exponent,22,0x3a91c0,{DOUBLEWITHTWODWORDINTREE(0x6a900000,0x00000000)}}, {VT_exponent,22,0x3a91c1,{DOUBLEWITHTWODWORDINTREE(0x6aa00000,0x00000000)}}, {VT_exponent,22,0x3a91c2,{DOUBLEWITHTWODWORDINTREE(0x6ab00000,0x00000000)}}, {VT_exponent,22,0x3a91c3,{DOUBLEWITHTWODWORDINTREE(0x6ac00000,0x00000000)}}, {VT_exponent,22,0x3a91c4,{DOUBLEWITHTWODWORDINTREE(0x6ad00000,0x00000000)}}, {VT_exponent,22,0x3a91c5,{DOUBLEWITHTWODWORDINTREE(0x6ae00000,0x00000000)}}, {VT_exponent,22,0x3a91c6,{DOUBLEWITHTWODWORDINTREE(0x6af00000,0x00000000)}}, {VT_exponent,22,0x3a91c7,{DOUBLEWITHTWODWORDINTREE(0x6b000000,0x00000000)}}, {VT_exponent,22,0x3a91c8,{DOUBLEWITHTWODWORDINTREE(0x6b100000,0x00000000)}}, {VT_exponent,22,0x3a91c9,{DOUBLEWITHTWODWORDINTREE(0x6b200000,0x00000000)}}, {VT_exponent,22,0x3a91ca,{DOUBLEWITHTWODWORDINTREE(0x6b300000,0x00000000)}}, {VT_exponent,22,0x3a91cb,{DOUBLEWITHTWODWORDINTREE(0x6b400000,0x00000000)}}, {VT_exponent,22,0x3a91cc,{DOUBLEWITHTWODWORDINTREE(0x6b500000,0x00000000)}}, {VT_exponent,22,0x3a91cd,{DOUBLEWITHTWODWORDINTREE(0x6b600000,0x00000000)}}, {VT_exponent,22,0x3a91ce,{DOUBLEWITHTWODWORDINTREE(0x6b700000,0x00000000)}}, {VT_exponent,22,0x3a91cf,{DOUBLEWITHTWODWORDINTREE(0x6b800000,0x00000000)}}, {VT_exponent,22,0x3a91d0,{DOUBLEWITHTWODWORDINTREE(0x6b900000,0x00000000)}}, {VT_exponent,22,0x3a91d1,{DOUBLEWITHTWODWORDINTREE(0x6ba00000,0x00000000)}}, {VT_exponent,22,0x3a91d2,{DOUBLEWITHTWODWORDINTREE(0x6bb00000,0x00000000)}}, {VT_exponent,22,0x3a91d3,{DOUBLEWITHTWODWORDINTREE(0x6bc00000,0x00000000)}}, {VT_exponent,22,0x3a91d4,{DOUBLEWITHTWODWORDINTREE(0x6bd00000,0x00000000)}}, {VT_exponent,22,0x3a91d5,{DOUBLEWITHTWODWORDINTREE(0x6be00000,0x00000000)}}, {VT_exponent,22,0x3a91d6,{DOUBLEWITHTWODWORDINTREE(0x6bf00000,0x00000000)}}, {VT_exponent,22,0x3a91d7,{DOUBLEWITHTWODWORDINTREE(0x6c000000,0x00000000)}}, {VT_exponent,22,0x3a91d8,{DOUBLEWITHTWODWORDINTREE(0x6c100000,0x00000000)}}, {VT_exponent,22,0x3a91d9,{DOUBLEWITHTWODWORDINTREE(0x6c200000,0x00000000)}}, {VT_exponent,22,0x3a91da,{DOUBLEWITHTWODWORDINTREE(0x6c300000,0x00000000)}}, {VT_exponent,22,0x3a91db,{DOUBLEWITHTWODWORDINTREE(0x6c400000,0x00000000)}}, {VT_exponent,22,0x3a91dc,{DOUBLEWITHTWODWORDINTREE(0x6c500000,0x00000000)}}, {VT_exponent,22,0x3a91dd,{DOUBLEWITHTWODWORDINTREE(0x6c600000,0x00000000)}}, {VT_exponent,22,0x3a91de,{DOUBLEWITHTWODWORDINTREE(0x6c700000,0x00000000)}}, {VT_exponent,22,0x3a91df,{DOUBLEWITHTWODWORDINTREE(0x6c800000,0x00000000)}}, {VT_exponent,22,0x3a91e0,{DOUBLEWITHTWODWORDINTREE(0x6c900000,0x00000000)}}, {VT_exponent,22,0x3a91e1,{DOUBLEWITHTWODWORDINTREE(0x6ca00000,0x00000000)}}, {VT_exponent,22,0x3a91e2,{DOUBLEWITHTWODWORDINTREE(0x6cb00000,0x00000000)}}, {VT_exponent,22,0x3a91e3,{DOUBLEWITHTWODWORDINTREE(0x6cc00000,0x00000000)}}, {VT_exponent,22,0x3a91e4,{DOUBLEWITHTWODWORDINTREE(0x6cd00000,0x00000000)}}, {VT_exponent,22,0x3a91e5,{DOUBLEWITHTWODWORDINTREE(0x6ce00000,0x00000000)}}, {VT_exponent,22,0x3a91e6,{DOUBLEWITHTWODWORDINTREE(0x6cf00000,0x00000000)}}, {VT_exponent,22,0x3a91e7,{DOUBLEWITHTWODWORDINTREE(0x6d000000,0x00000000)}}, {VT_exponent,22,0x3a91e8,{DOUBLEWITHTWODWORDINTREE(0x6d100000,0x00000000)}}, {VT_exponent,22,0x3a91e9,{DOUBLEWITHTWODWORDINTREE(0x6d200000,0x00000000)}}, {VT_exponent,22,0x3a91ea,{DOUBLEWITHTWODWORDINTREE(0x6d300000,0x00000000)}}, {VT_exponent,22,0x3a91eb,{DOUBLEWITHTWODWORDINTREE(0x6d400000,0x00000000)}}, {VT_exponent,22,0x3a91ec,{DOUBLEWITHTWODWORDINTREE(0x6d500000,0x00000000)}}, {VT_exponent,22,0x3a91ed,{DOUBLEWITHTWODWORDINTREE(0x6d600000,0x00000000)}}, {VT_exponent,22,0x3a91ee,{DOUBLEWITHTWODWORDINTREE(0x6d700000,0x00000000)}}, {VT_exponent,22,0x3a91ef,{DOUBLEWITHTWODWORDINTREE(0x6d800000,0x00000000)}}, {VT_exponent,22,0x3a91f0,{DOUBLEWITHTWODWORDINTREE(0x6d900000,0x00000000)}}, {VT_exponent,22,0x3a91f1,{DOUBLEWITHTWODWORDINTREE(0x6da00000,0x00000000)}}, {VT_exponent,22,0x3a91f2,{DOUBLEWITHTWODWORDINTREE(0x6db00000,0x00000000)}}, {VT_exponent,22,0x3a91f3,{DOUBLEWITHTWODWORDINTREE(0x6dc00000,0x00000000)}}, {VT_exponent,22,0x3a91f4,{DOUBLEWITHTWODWORDINTREE(0x6dd00000,0x00000000)}}, {VT_exponent,22,0x3a91f5,{DOUBLEWITHTWODWORDINTREE(0x6de00000,0x00000000)}}, {VT_exponent,22,0x3a91f6,{DOUBLEWITHTWODWORDINTREE(0x6df00000,0x00000000)}}, {VT_exponent,22,0x3a91f7,{DOUBLEWITHTWODWORDINTREE(0x6e000000,0x00000000)}}, {VT_exponent,22,0x3a91f8,{DOUBLEWITHTWODWORDINTREE(0x6e100000,0x00000000)}}, {VT_exponent,22,0x3a91f9,{DOUBLEWITHTWODWORDINTREE(0x6e200000,0x00000000)}}, {VT_exponent,22,0x3a91fa,{DOUBLEWITHTWODWORDINTREE(0x6e300000,0x00000000)}}, {VT_exponent,22,0x3a91fb,{DOUBLEWITHTWODWORDINTREE(0x6e400000,0x00000000)}}, {VT_exponent,22,0x3a91fc,{DOUBLEWITHTWODWORDINTREE(0x6e500000,0x00000000)}}, {VT_exponent,22,0x3a91fd,{DOUBLEWITHTWODWORDINTREE(0x6e600000,0x00000000)}}, {VT_exponent,22,0x3a91fe,{DOUBLEWITHTWODWORDINTREE(0x6e700000,0x00000000)}}, {VT_exponent,22,0x3a91ff,{DOUBLEWITHTWODWORDINTREE(0x6e800000,0x00000000)}}, {VT_exponent,22,0x3a9200,{DOUBLEWITHTWODWORDINTREE(0x6e900000,0x00000000)}}, {VT_exponent,22,0x3a9201,{DOUBLEWITHTWODWORDINTREE(0x6ea00000,0x00000000)}}, {VT_exponent,22,0x3a9202,{DOUBLEWITHTWODWORDINTREE(0x6eb00000,0x00000000)}}, {VT_exponent,22,0x3a9203,{DOUBLEWITHTWODWORDINTREE(0x6ec00000,0x00000000)}}, {VT_exponent,22,0x3a9204,{DOUBLEWITHTWODWORDINTREE(0x6ed00000,0x00000000)}}, {VT_exponent,22,0x3a9205,{DOUBLEWITHTWODWORDINTREE(0x6ee00000,0x00000000)}}, {VT_exponent,22,0x3a9206,{DOUBLEWITHTWODWORDINTREE(0x6ef00000,0x00000000)}}, {VT_exponent,22,0x3a9207,{DOUBLEWITHTWODWORDINTREE(0x6f000000,0x00000000)}}, {VT_exponent,22,0x3a9208,{DOUBLEWITHTWODWORDINTREE(0x6f100000,0x00000000)}}, {VT_exponent,22,0x3a9209,{DOUBLEWITHTWODWORDINTREE(0x6f200000,0x00000000)}}, {VT_exponent,22,0x3a920a,{DOUBLEWITHTWODWORDINTREE(0x6f300000,0x00000000)}}, {VT_exponent,22,0x3a920b,{DOUBLEWITHTWODWORDINTREE(0x6f400000,0x00000000)}}, {VT_exponent,22,0x3a920c,{DOUBLEWITHTWODWORDINTREE(0x6f500000,0x00000000)}}, {VT_exponent,22,0x3a920d,{DOUBLEWITHTWODWORDINTREE(0x6f600000,0x00000000)}}, {VT_exponent,22,0x3a920e,{DOUBLEWITHTWODWORDINTREE(0x6f700000,0x00000000)}}, {VT_exponent,22,0x3a920f,{DOUBLEWITHTWODWORDINTREE(0x6f800000,0x00000000)}}, {VT_exponent,22,0x3a9210,{DOUBLEWITHTWODWORDINTREE(0x6f900000,0x00000000)}}, {VT_exponent,22,0x3a9211,{DOUBLEWITHTWODWORDINTREE(0x6fa00000,0x00000000)}}, {VT_exponent,22,0x3a9212,{DOUBLEWITHTWODWORDINTREE(0x6fb00000,0x00000000)}}, {VT_exponent,22,0x3a9213,{DOUBLEWITHTWODWORDINTREE(0x6fc00000,0x00000000)}}, {VT_exponent,22,0x3a9214,{DOUBLEWITHTWODWORDINTREE(0x6fd00000,0x00000000)}}, {VT_exponent,22,0x3a9215,{DOUBLEWITHTWODWORDINTREE(0x6fe00000,0x00000000)}}, {VT_exponent,22,0x3a9216,{DOUBLEWITHTWODWORDINTREE(0x6ff00000,0x00000000)}}, {VT_exponent,22,0x3a9217,{DOUBLEWITHTWODWORDINTREE(0x70000000,0x00000000)}}, {VT_exponent,22,0x3a9218,{DOUBLEWITHTWODWORDINTREE(0x70100000,0x00000000)}}, {VT_exponent,22,0x3a9219,{DOUBLEWITHTWODWORDINTREE(0x70200000,0x00000000)}}, {VT_exponent,22,0x3a921a,{DOUBLEWITHTWODWORDINTREE(0x70300000,0x00000000)}}, {VT_exponent,22,0x3a921b,{DOUBLEWITHTWODWORDINTREE(0x70400000,0x00000000)}}, {VT_exponent,22,0x3a921c,{DOUBLEWITHTWODWORDINTREE(0x70500000,0x00000000)}}, {VT_exponent,22,0x3a921d,{DOUBLEWITHTWODWORDINTREE(0x70600000,0x00000000)}}, {VT_exponent,22,0x3a921e,{DOUBLEWITHTWODWORDINTREE(0x70700000,0x00000000)}}, {VT_exponent,22,0x3a921f,{DOUBLEWITHTWODWORDINTREE(0x70800000,0x00000000)}}, {VT_exponent,22,0x3a9220,{DOUBLEWITHTWODWORDINTREE(0x70900000,0x00000000)}}, {VT_exponent,22,0x3a9221,{DOUBLEWITHTWODWORDINTREE(0x70a00000,0x00000000)}}, {VT_exponent,22,0x3a9222,{DOUBLEWITHTWODWORDINTREE(0x70b00000,0x00000000)}}, {VT_exponent,22,0x3a9223,{DOUBLEWITHTWODWORDINTREE(0x70c00000,0x00000000)}}, {VT_exponent,22,0x3a9224,{DOUBLEWITHTWODWORDINTREE(0x70d00000,0x00000000)}}, {VT_exponent,22,0x3a9225,{DOUBLEWITHTWODWORDINTREE(0x70e00000,0x00000000)}}, {VT_exponent,22,0x3a9226,{DOUBLEWITHTWODWORDINTREE(0x70f00000,0x00000000)}}, {VT_exponent,22,0x3a9227,{DOUBLEWITHTWODWORDINTREE(0x71000000,0x00000000)}}, {VT_exponent,22,0x3a9228,{DOUBLEWITHTWODWORDINTREE(0x71100000,0x00000000)}}, {VT_exponent,22,0x3a9229,{DOUBLEWITHTWODWORDINTREE(0x71200000,0x00000000)}}, {VT_exponent,22,0x3a922a,{DOUBLEWITHTWODWORDINTREE(0x71300000,0x00000000)}}, {VT_exponent,22,0x3a922b,{DOUBLEWITHTWODWORDINTREE(0x71400000,0x00000000)}}, {VT_exponent,22,0x3a922c,{DOUBLEWITHTWODWORDINTREE(0x71500000,0x00000000)}}, {VT_exponent,22,0x3a922d,{DOUBLEWITHTWODWORDINTREE(0x71600000,0x00000000)}}, {VT_exponent,22,0x3a922e,{DOUBLEWITHTWODWORDINTREE(0x71700000,0x00000000)}}, {VT_exponent,22,0x3a922f,{DOUBLEWITHTWODWORDINTREE(0x71800000,0x00000000)}}, {VT_exponent,22,0x3a9230,{DOUBLEWITHTWODWORDINTREE(0x71900000,0x00000000)}}, {VT_exponent,22,0x3a9231,{DOUBLEWITHTWODWORDINTREE(0x71a00000,0x00000000)}}, {VT_exponent,22,0x3a9232,{DOUBLEWITHTWODWORDINTREE(0x71b00000,0x00000000)}}, {VT_exponent,22,0x3a9233,{DOUBLEWITHTWODWORDINTREE(0x71c00000,0x00000000)}}, {VT_exponent,22,0x3a9234,{DOUBLEWITHTWODWORDINTREE(0x71d00000,0x00000000)}}, {VT_exponent,22,0x3a9235,{DOUBLEWITHTWODWORDINTREE(0x71e00000,0x00000000)}}, {VT_exponent,22,0x3a9236,{DOUBLEWITHTWODWORDINTREE(0x71f00000,0x00000000)}}, {VT_exponent,22,0x3a9237,{DOUBLEWITHTWODWORDINTREE(0x72000000,0x00000000)}}, {VT_exponent,22,0x3a9238,{DOUBLEWITHTWODWORDINTREE(0x72100000,0x00000000)}}, {VT_exponent,22,0x3a9239,{DOUBLEWITHTWODWORDINTREE(0x72200000,0x00000000)}}, {VT_exponent,22,0x3a923a,{DOUBLEWITHTWODWORDINTREE(0x72300000,0x00000000)}}, {VT_exponent,22,0x3a923b,{DOUBLEWITHTWODWORDINTREE(0x72400000,0x00000000)}}, {VT_exponent,22,0x3a923c,{DOUBLEWITHTWODWORDINTREE(0x72500000,0x00000000)}}, {VT_exponent,22,0x3a923d,{DOUBLEWITHTWODWORDINTREE(0x72600000,0x00000000)}}, {VT_exponent,22,0x3a923e,{DOUBLEWITHTWODWORDINTREE(0x72700000,0x00000000)}}, {VT_exponent,22,0x3a923f,{DOUBLEWITHTWODWORDINTREE(0x72800000,0x00000000)}}, {VT_exponent,22,0x3a9240,{DOUBLEWITHTWODWORDINTREE(0x72900000,0x00000000)}}, {VT_exponent,22,0x3a9241,{DOUBLEWITHTWODWORDINTREE(0x72a00000,0x00000000)}}, {VT_exponent,22,0x3a9242,{DOUBLEWITHTWODWORDINTREE(0x72b00000,0x00000000)}}, {VT_exponent,22,0x3a9243,{DOUBLEWITHTWODWORDINTREE(0x72c00000,0x00000000)}}, {VT_exponent,22,0x3a9244,{DOUBLEWITHTWODWORDINTREE(0x72d00000,0x00000000)}}, {VT_exponent,22,0x3a9245,{DOUBLEWITHTWODWORDINTREE(0x72e00000,0x00000000)}}, {VT_exponent,22,0x3a9246,{DOUBLEWITHTWODWORDINTREE(0x72f00000,0x00000000)}}, {VT_exponent,22,0x3a9247,{DOUBLEWITHTWODWORDINTREE(0x73000000,0x00000000)}}, {VT_exponent,22,0x3a9248,{DOUBLEWITHTWODWORDINTREE(0x73100000,0x00000000)}}, {VT_exponent,22,0x3a9249,{DOUBLEWITHTWODWORDINTREE(0x73200000,0x00000000)}}, {VT_exponent,22,0x3a924a,{DOUBLEWITHTWODWORDINTREE(0x73300000,0x00000000)}}, {VT_exponent,22,0x3a924b,{DOUBLEWITHTWODWORDINTREE(0x73400000,0x00000000)}}, {VT_exponent,22,0x3a924c,{DOUBLEWITHTWODWORDINTREE(0x73500000,0x00000000)}}, {VT_exponent,22,0x3a924d,{DOUBLEWITHTWODWORDINTREE(0x73600000,0x00000000)}}, {VT_exponent,22,0x3a924e,{DOUBLEWITHTWODWORDINTREE(0x73700000,0x00000000)}}, {VT_exponent,22,0x3a924f,{DOUBLEWITHTWODWORDINTREE(0x73800000,0x00000000)}}, {VT_exponent,22,0x3a9250,{DOUBLEWITHTWODWORDINTREE(0x73900000,0x00000000)}}, {VT_exponent,22,0x3a9251,{DOUBLEWITHTWODWORDINTREE(0x73a00000,0x00000000)}}, {VT_exponent,22,0x3a9252,{DOUBLEWITHTWODWORDINTREE(0x73b00000,0x00000000)}}, {VT_exponent,22,0x3a9253,{DOUBLEWITHTWODWORDINTREE(0x73c00000,0x00000000)}}, {VT_exponent,22,0x3a9254,{DOUBLEWITHTWODWORDINTREE(0x73d00000,0x00000000)}}, {VT_exponent,22,0x3a9255,{DOUBLEWITHTWODWORDINTREE(0x73e00000,0x00000000)}}, {VT_exponent,22,0x3a9256,{DOUBLEWITHTWODWORDINTREE(0x73f00000,0x00000000)}}, {VT_exponent,22,0x3a9257,{DOUBLEWITHTWODWORDINTREE(0x74000000,0x00000000)}}, {VT_exponent,22,0x3a9258,{DOUBLEWITHTWODWORDINTREE(0x74100000,0x00000000)}}, {VT_exponent,22,0x3a9259,{DOUBLEWITHTWODWORDINTREE(0x74200000,0x00000000)}}, {VT_exponent,22,0x3a925a,{DOUBLEWITHTWODWORDINTREE(0x74300000,0x00000000)}}, {VT_exponent,22,0x3a925b,{DOUBLEWITHTWODWORDINTREE(0x74400000,0x00000000)}}, {VT_exponent,22,0x3a925c,{DOUBLEWITHTWODWORDINTREE(0x74500000,0x00000000)}}, {VT_exponent,22,0x3a925d,{DOUBLEWITHTWODWORDINTREE(0x74600000,0x00000000)}}, {VT_exponent,22,0x3a925e,{DOUBLEWITHTWODWORDINTREE(0x74700000,0x00000000)}}, {VT_exponent,22,0x3a925f,{DOUBLEWITHTWODWORDINTREE(0x74800000,0x00000000)}}, {VT_exponent,22,0x3a9260,{DOUBLEWITHTWODWORDINTREE(0x74900000,0x00000000)}}, {VT_exponent,22,0x3a9261,{DOUBLEWITHTWODWORDINTREE(0x74a00000,0x00000000)}}, {VT_exponent,22,0x3a9262,{DOUBLEWITHTWODWORDINTREE(0x74b00000,0x00000000)}}, {VT_exponent,22,0x3a9263,{DOUBLEWITHTWODWORDINTREE(0x74c00000,0x00000000)}}, {VT_exponent,22,0x3a9264,{DOUBLEWITHTWODWORDINTREE(0x74d00000,0x00000000)}}, {VT_exponent,22,0x3a9265,{DOUBLEWITHTWODWORDINTREE(0x74e00000,0x00000000)}}, {VT_exponent,22,0x3a9266,{DOUBLEWITHTWODWORDINTREE(0x74f00000,0x00000000)}}, {VT_exponent,22,0x3a9267,{DOUBLEWITHTWODWORDINTREE(0x75000000,0x00000000)}}, {VT_exponent,22,0x3a9268,{DOUBLEWITHTWODWORDINTREE(0x75100000,0x00000000)}}, {VT_exponent,22,0x3a9269,{DOUBLEWITHTWODWORDINTREE(0x75200000,0x00000000)}}, {VT_exponent,22,0x3a926a,{DOUBLEWITHTWODWORDINTREE(0x75300000,0x00000000)}}, {VT_exponent,22,0x3a926b,{DOUBLEWITHTWODWORDINTREE(0x75400000,0x00000000)}}, {VT_exponent,22,0x3a926c,{DOUBLEWITHTWODWORDINTREE(0x75500000,0x00000000)}}, {VT_exponent,22,0x3a926d,{DOUBLEWITHTWODWORDINTREE(0x75600000,0x00000000)}}, {VT_exponent,22,0x3a926e,{DOUBLEWITHTWODWORDINTREE(0x75700000,0x00000000)}}, {VT_exponent,22,0x3a926f,{DOUBLEWITHTWODWORDINTREE(0x75800000,0x00000000)}}, {VT_exponent,22,0x3a9270,{DOUBLEWITHTWODWORDINTREE(0x75900000,0x00000000)}}, {VT_exponent,22,0x3a9271,{DOUBLEWITHTWODWORDINTREE(0x75a00000,0x00000000)}}, {VT_exponent,22,0x3a9272,{DOUBLEWITHTWODWORDINTREE(0x75b00000,0x00000000)}}, {VT_exponent,22,0x3a9273,{DOUBLEWITHTWODWORDINTREE(0x75c00000,0x00000000)}}, {VT_exponent,22,0x3a9274,{DOUBLEWITHTWODWORDINTREE(0x75d00000,0x00000000)}}, {VT_exponent,22,0x3a9275,{DOUBLEWITHTWODWORDINTREE(0x75e00000,0x00000000)}}, {VT_exponent,22,0x3a9276,{DOUBLEWITHTWODWORDINTREE(0x75f00000,0x00000000)}}, {VT_exponent,22,0x3a9277,{DOUBLEWITHTWODWORDINTREE(0x76000000,0x00000000)}}, {VT_exponent,22,0x3a9278,{DOUBLEWITHTWODWORDINTREE(0x76100000,0x00000000)}}, {VT_exponent,22,0x3a9279,{DOUBLEWITHTWODWORDINTREE(0x76200000,0x00000000)}}, {VT_exponent,22,0x3a927a,{DOUBLEWITHTWODWORDINTREE(0x76300000,0x00000000)}}, {VT_exponent,22,0x3a927b,{DOUBLEWITHTWODWORDINTREE(0x76400000,0x00000000)}}, {VT_exponent,22,0x3a927c,{DOUBLEWITHTWODWORDINTREE(0x76500000,0x00000000)}}, {VT_exponent,22,0x3a927d,{DOUBLEWITHTWODWORDINTREE(0x76600000,0x00000000)}}, {VT_exponent,22,0x3a927e,{DOUBLEWITHTWODWORDINTREE(0x76700000,0x00000000)}}, {VT_exponent,22,0x3a927f,{DOUBLEWITHTWODWORDINTREE(0x76800000,0x00000000)}}, {VT_exponent,22,0x3a9280,{DOUBLEWITHTWODWORDINTREE(0x76900000,0x00000000)}}, {VT_exponent,22,0x3a9281,{DOUBLEWITHTWODWORDINTREE(0x76a00000,0x00000000)}}, {VT_exponent,22,0x3a9282,{DOUBLEWITHTWODWORDINTREE(0x76b00000,0x00000000)}}, {VT_exponent,22,0x3a9283,{DOUBLEWITHTWODWORDINTREE(0x76c00000,0x00000000)}}, {VT_exponent,22,0x3a9284,{DOUBLEWITHTWODWORDINTREE(0x76d00000,0x00000000)}}, {VT_exponent,22,0x3a9285,{DOUBLEWITHTWODWORDINTREE(0x76e00000,0x00000000)}}, {VT_exponent,22,0x3a9286,{DOUBLEWITHTWODWORDINTREE(0x76f00000,0x00000000)}}, {VT_exponent,22,0x3a9287,{DOUBLEWITHTWODWORDINTREE(0x77000000,0x00000000)}}, {VT_exponent,22,0x3a9288,{DOUBLEWITHTWODWORDINTREE(0x77100000,0x00000000)}}, {VT_exponent,22,0x3a9289,{DOUBLEWITHTWODWORDINTREE(0x77200000,0x00000000)}}, {VT_exponent,22,0x3a928a,{DOUBLEWITHTWODWORDINTREE(0x77300000,0x00000000)}}, {VT_exponent,22,0x3a928b,{DOUBLEWITHTWODWORDINTREE(0x77400000,0x00000000)}}, {VT_exponent,22,0x3a928c,{DOUBLEWITHTWODWORDINTREE(0x77500000,0x00000000)}}, {VT_exponent,22,0x3a928d,{DOUBLEWITHTWODWORDINTREE(0x77600000,0x00000000)}}, {VT_exponent,22,0x3a928e,{DOUBLEWITHTWODWORDINTREE(0x77700000,0x00000000)}}, {VT_exponent,22,0x3a928f,{DOUBLEWITHTWODWORDINTREE(0x77800000,0x00000000)}}, {VT_exponent,22,0x3a9290,{DOUBLEWITHTWODWORDINTREE(0x77900000,0x00000000)}}, {VT_exponent,22,0x3a9291,{DOUBLEWITHTWODWORDINTREE(0x77a00000,0x00000000)}}, {VT_exponent,22,0x3a9292,{DOUBLEWITHTWODWORDINTREE(0x77b00000,0x00000000)}}, {VT_exponent,22,0x3a9293,{DOUBLEWITHTWODWORDINTREE(0x77c00000,0x00000000)}}, {VT_exponent,22,0x3a9294,{DOUBLEWITHTWODWORDINTREE(0x77d00000,0x00000000)}}, {VT_exponent,22,0x3a9295,{DOUBLEWITHTWODWORDINTREE(0x77e00000,0x00000000)}}, {VT_exponent,22,0x3a9296,{DOUBLEWITHTWODWORDINTREE(0x77f00000,0x00000000)}}, {VT_exponent,22,0x3a9297,{DOUBLEWITHTWODWORDINTREE(0x78000000,0x00000000)}}, {VT_exponent,22,0x3a9298,{DOUBLEWITHTWODWORDINTREE(0x78100000,0x00000000)}}, {VT_exponent,22,0x3a9299,{DOUBLEWITHTWODWORDINTREE(0x78200000,0x00000000)}}, {VT_exponent,22,0x3a929a,{DOUBLEWITHTWODWORDINTREE(0x78300000,0x00000000)}}, {VT_exponent,22,0x3a929b,{DOUBLEWITHTWODWORDINTREE(0x78400000,0x00000000)}}, {VT_exponent,22,0x3a929c,{DOUBLEWITHTWODWORDINTREE(0x78500000,0x00000000)}}, {VT_exponent,22,0x3a929d,{DOUBLEWITHTWODWORDINTREE(0x78600000,0x00000000)}}, {VT_exponent,22,0x3a929e,{DOUBLEWITHTWODWORDINTREE(0x78700000,0x00000000)}}, {VT_exponent,22,0x3a929f,{DOUBLEWITHTWODWORDINTREE(0x78800000,0x00000000)}}, {VT_exponent,22,0x3a92a0,{DOUBLEWITHTWODWORDINTREE(0x78900000,0x00000000)}}, {VT_exponent,22,0x3a92a1,{DOUBLEWITHTWODWORDINTREE(0x78a00000,0x00000000)}}, {VT_exponent,22,0x3a92a2,{DOUBLEWITHTWODWORDINTREE(0x78b00000,0x00000000)}}, {VT_exponent,22,0x3a92a3,{DOUBLEWITHTWODWORDINTREE(0x78c00000,0x00000000)}}, {VT_exponent,22,0x3a92a4,{DOUBLEWITHTWODWORDINTREE(0x78d00000,0x00000000)}}, {VT_exponent,22,0x3a92a5,{DOUBLEWITHTWODWORDINTREE(0x78e00000,0x00000000)}}, {VT_exponent,22,0x3a92a6,{DOUBLEWITHTWODWORDINTREE(0x78f00000,0x00000000)}}, {VT_exponent,22,0x3a92a7,{DOUBLEWITHTWODWORDINTREE(0x79000000,0x00000000)}}, {VT_exponent,22,0x3a92a8,{DOUBLEWITHTWODWORDINTREE(0x79100000,0x00000000)}}, {VT_exponent,22,0x3a92a9,{DOUBLEWITHTWODWORDINTREE(0x79200000,0x00000000)}}, {VT_exponent,22,0x3a92aa,{DOUBLEWITHTWODWORDINTREE(0x79300000,0x00000000)}}, {VT_exponent,22,0x3a92ab,{DOUBLEWITHTWODWORDINTREE(0x79400000,0x00000000)}}, {VT_exponent,22,0x3a92ac,{DOUBLEWITHTWODWORDINTREE(0x79500000,0x00000000)}}, {VT_exponent,22,0x3a92ad,{DOUBLEWITHTWODWORDINTREE(0x79600000,0x00000000)}}, {VT_exponent,22,0x3a92ae,{DOUBLEWITHTWODWORDINTREE(0x79700000,0x00000000)}}, {VT_exponent,22,0x3a92af,{DOUBLEWITHTWODWORDINTREE(0x79800000,0x00000000)}}, {VT_exponent,22,0x3a92b0,{DOUBLEWITHTWODWORDINTREE(0x79900000,0x00000000)}}, {VT_exponent,22,0x3a92b1,{DOUBLEWITHTWODWORDINTREE(0x79a00000,0x00000000)}}, {VT_exponent,22,0x3a92b2,{DOUBLEWITHTWODWORDINTREE(0x79b00000,0x00000000)}}, {VT_exponent,22,0x3a92b3,{DOUBLEWITHTWODWORDINTREE(0x79c00000,0x00000000)}}, {VT_exponent,22,0x3a92b4,{DOUBLEWITHTWODWORDINTREE(0x79d00000,0x00000000)}}, {VT_exponent,22,0x3a92b5,{DOUBLEWITHTWODWORDINTREE(0x79e00000,0x00000000)}}, {VT_exponent,22,0x3a92b6,{DOUBLEWITHTWODWORDINTREE(0x79f00000,0x00000000)}}, {VT_exponent,22,0x3a92b7,{DOUBLEWITHTWODWORDINTREE(0x7a000000,0x00000000)}}, {VT_exponent,22,0x3a92b8,{DOUBLEWITHTWODWORDINTREE(0x7a100000,0x00000000)}}, {VT_exponent,22,0x3a92b9,{DOUBLEWITHTWODWORDINTREE(0x7a200000,0x00000000)}}, {VT_exponent,22,0x3a92ba,{DOUBLEWITHTWODWORDINTREE(0x7a300000,0x00000000)}}, {VT_exponent,22,0x3a92bb,{DOUBLEWITHTWODWORDINTREE(0x7a400000,0x00000000)}}, {VT_exponent,22,0x3a92bc,{DOUBLEWITHTWODWORDINTREE(0x7a500000,0x00000000)}}, {VT_exponent,22,0x3a92bd,{DOUBLEWITHTWODWORDINTREE(0x7a600000,0x00000000)}}, {VT_exponent,22,0x3a92be,{DOUBLEWITHTWODWORDINTREE(0x7a700000,0x00000000)}}, {VT_exponent,22,0x3a92bf,{DOUBLEWITHTWODWORDINTREE(0x7a800000,0x00000000)}}, {VT_exponent,22,0x3a92c0,{DOUBLEWITHTWODWORDINTREE(0x7a900000,0x00000000)}}, {VT_exponent,22,0x3a92c1,{DOUBLEWITHTWODWORDINTREE(0x7aa00000,0x00000000)}}, {VT_exponent,22,0x3a92c2,{DOUBLEWITHTWODWORDINTREE(0x7ab00000,0x00000000)}}, {VT_exponent,22,0x3a92c3,{DOUBLEWITHTWODWORDINTREE(0x7ac00000,0x00000000)}}, {VT_exponent,22,0x3a92c4,{DOUBLEWITHTWODWORDINTREE(0x7ad00000,0x00000000)}}, {VT_exponent,22,0x3a92c5,{DOUBLEWITHTWODWORDINTREE(0x7ae00000,0x00000000)}}, {VT_exponent,22,0x3a92c6,{DOUBLEWITHTWODWORDINTREE(0x7af00000,0x00000000)}}, {VT_exponent,22,0x3a92c7,{DOUBLEWITHTWODWORDINTREE(0x7b000000,0x00000000)}}, {VT_exponent,22,0x3a92c8,{DOUBLEWITHTWODWORDINTREE(0x7b100000,0x00000000)}}, {VT_exponent,22,0x3a92c9,{DOUBLEWITHTWODWORDINTREE(0x7b200000,0x00000000)}}, {VT_exponent,22,0x3a92ca,{DOUBLEWITHTWODWORDINTREE(0x7b300000,0x00000000)}}, {VT_exponent,22,0x3a92cb,{DOUBLEWITHTWODWORDINTREE(0x7b400000,0x00000000)}}, {VT_exponent,22,0x3a92cc,{DOUBLEWITHTWODWORDINTREE(0x7b500000,0x00000000)}}, {VT_exponent,22,0x3a92cd,{DOUBLEWITHTWODWORDINTREE(0x7b600000,0x00000000)}}, {VT_exponent,22,0x3a92ce,{DOUBLEWITHTWODWORDINTREE(0x7b700000,0x00000000)}}, {VT_exponent,22,0x3a92cf,{DOUBLEWITHTWODWORDINTREE(0x7b800000,0x00000000)}}, {VT_exponent,22,0x3a92d0,{DOUBLEWITHTWODWORDINTREE(0x7b900000,0x00000000)}}, {VT_exponent,22,0x3a92d1,{DOUBLEWITHTWODWORDINTREE(0x7ba00000,0x00000000)}}, {VT_exponent,22,0x3a92d2,{DOUBLEWITHTWODWORDINTREE(0x7bb00000,0x00000000)}}, {VT_exponent,22,0x3a92d3,{DOUBLEWITHTWODWORDINTREE(0x7bc00000,0x00000000)}}, {VT_exponent,22,0x3a92d4,{DOUBLEWITHTWODWORDINTREE(0x7bd00000,0x00000000)}}, {VT_exponent,22,0x3a92d5,{DOUBLEWITHTWODWORDINTREE(0x7be00000,0x00000000)}}, {VT_exponent,22,0x3a92d6,{DOUBLEWITHTWODWORDINTREE(0x7bf00000,0x00000000)}}, {VT_exponent,22,0x3a92d7,{DOUBLEWITHTWODWORDINTREE(0x7c000000,0x00000000)}}, {VT_exponent,22,0x3a92d8,{DOUBLEWITHTWODWORDINTREE(0x7c100000,0x00000000)}}, {VT_exponent,22,0x3a92d9,{DOUBLEWITHTWODWORDINTREE(0x7c200000,0x00000000)}}, {VT_exponent,22,0x3a92da,{DOUBLEWITHTWODWORDINTREE(0x7c300000,0x00000000)}}, {VT_exponent,22,0x3a92db,{DOUBLEWITHTWODWORDINTREE(0x7c400000,0x00000000)}}, {VT_exponent,22,0x3a92dc,{DOUBLEWITHTWODWORDINTREE(0x7c500000,0x00000000)}}, {VT_exponent,22,0x3a92dd,{DOUBLEWITHTWODWORDINTREE(0x7c600000,0x00000000)}}, {VT_exponent,22,0x3a92de,{DOUBLEWITHTWODWORDINTREE(0x7c700000,0x00000000)}}, {VT_exponent,22,0x3a92df,{DOUBLEWITHTWODWORDINTREE(0x7c800000,0x00000000)}}, {VT_exponent,22,0x3a92e0,{DOUBLEWITHTWODWORDINTREE(0x7c900000,0x00000000)}}, {VT_exponent,22,0x3a92e1,{DOUBLEWITHTWODWORDINTREE(0x7ca00000,0x00000000)}}, {VT_exponent,22,0x3a92e2,{DOUBLEWITHTWODWORDINTREE(0x7cb00000,0x00000000)}}, {VT_exponent,22,0x3a92e3,{DOUBLEWITHTWODWORDINTREE(0x7cc00000,0x00000000)}}, {VT_exponent,22,0x3a92e4,{DOUBLEWITHTWODWORDINTREE(0x7cd00000,0x00000000)}}, {VT_exponent,22,0x3a92e5,{DOUBLEWITHTWODWORDINTREE(0x7ce00000,0x00000000)}}, {VT_exponent,22,0x3a92e6,{DOUBLEWITHTWODWORDINTREE(0x7cf00000,0x00000000)}}, {VT_exponent,22,0x3a92e7,{DOUBLEWITHTWODWORDINTREE(0x7d000000,0x00000000)}}, {VT_exponent,22,0x3a92e8,{DOUBLEWITHTWODWORDINTREE(0x7d100000,0x00000000)}}, {VT_exponent,22,0x3a92e9,{DOUBLEWITHTWODWORDINTREE(0x7d200000,0x00000000)}}, {VT_exponent,22,0x3a92ea,{DOUBLEWITHTWODWORDINTREE(0x7d300000,0x00000000)}}, {VT_exponent,22,0x3a92eb,{DOUBLEWITHTWODWORDINTREE(0x7d400000,0x00000000)}}, {VT_exponent,22,0x3a92ec,{DOUBLEWITHTWODWORDINTREE(0x7d500000,0x00000000)}}, {VT_exponent,22,0x3a92ed,{DOUBLEWITHTWODWORDINTREE(0x7d600000,0x00000000)}}, {VT_exponent,22,0x3a92ee,{DOUBLEWITHTWODWORDINTREE(0x7d700000,0x00000000)}}, {VT_exponent,22,0x3a92ef,{DOUBLEWITHTWODWORDINTREE(0x7d800000,0x00000000)}}, {VT_exponent,22,0x3a92f0,{DOUBLEWITHTWODWORDINTREE(0x7d900000,0x00000000)}}, {VT_exponent,22,0x3a92f1,{DOUBLEWITHTWODWORDINTREE(0x7da00000,0x00000000)}}, {VT_exponent,22,0x3a92f2,{DOUBLEWITHTWODWORDINTREE(0x7db00000,0x00000000)}}, {VT_exponent,22,0x3a92f3,{DOUBLEWITHTWODWORDINTREE(0x7dc00000,0x00000000)}}, {VT_exponent,22,0x3a92f4,{DOUBLEWITHTWODWORDINTREE(0x7dd00000,0x00000000)}}, {VT_exponent,22,0x3a92f5,{DOUBLEWITHTWODWORDINTREE(0x7de00000,0x00000000)}}, {VT_exponent,22,0x3a92f6,{DOUBLEWITHTWODWORDINTREE(0x7df00000,0x00000000)}}, {VT_exponent,22,0x3a92f7,{DOUBLEWITHTWODWORDINTREE(0x7e000000,0x00000000)}}, {VT_exponent,22,0x3a92f8,{DOUBLEWITHTWODWORDINTREE(0x7e100000,0x00000000)}}, {VT_exponent,22,0x3a92f9,{DOUBLEWITHTWODWORDINTREE(0x7e200000,0x00000000)}}, {VT_exponent,22,0x3a92fa,{DOUBLEWITHTWODWORDINTREE(0x7e300000,0x00000000)}}, {VT_exponent,22,0x3a92fb,{DOUBLEWITHTWODWORDINTREE(0x7e400000,0x00000000)}}, {VT_exponent,22,0x3a92fc,{DOUBLEWITHTWODWORDINTREE(0x7e500000,0x00000000)}}, {VT_exponent,22,0x3a92fd,{DOUBLEWITHTWODWORDINTREE(0x7e600000,0x00000000)}}, {VT_exponent,22,0x3a92fe,{DOUBLEWITHTWODWORDINTREE(0x7e700000,0x00000000)}}, {VT_exponent,22,0x3a92ff,{DOUBLEWITHTWODWORDINTREE(0x7e800000,0x00000000)}}, {VT_exponent,22,0x3a95a0,{DOUBLEWITHTWODWORDINTREE(0x7e900000,0x00000000)}}, {VT_exponent,22,0x3a95a1,{DOUBLEWITHTWODWORDINTREE(0x7ea00000,0x00000000)}}, {VT_exponent,22,0x3a95a2,{DOUBLEWITHTWODWORDINTREE(0x7eb00000,0x00000000)}}, {VT_exponent,22,0x3a95a3,{DOUBLEWITHTWODWORDINTREE(0x7ec00000,0x00000000)}}, {VT_exponent,22,0x3a95a4,{DOUBLEWITHTWODWORDINTREE(0x7ed00000,0x00000000)}}, {VT_exponent,22,0x3a95a5,{DOUBLEWITHTWODWORDINTREE(0x7ee00000,0x00000000)}}, {VT_exponent,22,0x3a95a6,{DOUBLEWITHTWODWORDINTREE(0x7ef00000,0x00000000)}}, {VT_exponent,22,0x3a95a7,{DOUBLEWITHTWODWORDINTREE(0x7f000000,0x00000000)}}, {VT_exponent,22,0x3a95a8,{DOUBLEWITHTWODWORDINTREE(0x7f100000,0x00000000)}}, {VT_exponent,22,0x3a95a9,{DOUBLEWITHTWODWORDINTREE(0x7f200000,0x00000000)}}, {VT_exponent,22,0x3a95aa,{DOUBLEWITHTWODWORDINTREE(0x7f300000,0x00000000)}}, {VT_exponent,22,0x3a95ab,{DOUBLEWITHTWODWORDINTREE(0x7f400000,0x00000000)}}, {VT_exponent,22,0x3a95ac,{DOUBLEWITHTWODWORDINTREE(0x7f500000,0x00000000)}}, {VT_exponent,22,0x3a95ad,{DOUBLEWITHTWODWORDINTREE(0x7f600000,0x00000000)}}, {VT_exponent,22,0x3a95ae,{DOUBLEWITHTWODWORDINTREE(0x7f700000,0x00000000)}}, {VT_exponent,22,0x3a95af,{DOUBLEWITHTWODWORDINTREE(0x7f800000,0x00000000)}}, {VT_exponent,22,0x3b8fe0,{DOUBLEWITHTWODWORDINTREE(0x7f900000,0x00000000)}}, {VT_exponent,22,0x3b8fe1,{DOUBLEWITHTWODWORDINTREE(0x7fa00000,0x00000000)}}, {VT_exponent,22,0x3b8fe2,{DOUBLEWITHTWODWORDINTREE(0x7fb00000,0x00000000)}}, {VT_exponent,22,0x3b8fe3,{DOUBLEWITHTWODWORDINTREE(0x7fc00000,0x00000000)}}, {VT_exponent,21,0x68e90,{DOUBLEWITHTWODWORDINTREE(0x7fd00000,0x00000000)}}, {VT_exponent,21,0x68e91,{DOUBLEWITHTWODWORDINTREE(0x7fe00000,0x00000000)}}, {VT_exponent,21,0x68e98,{DOUBLEWITHTWODWORDINTREE(0x7ff80000,0x00000000)}}, }; // End of acofdoe array mathgl-2.1.3.1/src/prc/writePRC.cc0000664000175000017500000020272612142400465016306 0ustar balakinbalakin/************ * * This file is part of a tool for producing 3D content in the PRC format. * Copyright (C) 2008 Orest Shardt * with enhancements contributed by Michail Vidiassov. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * *************/ #include "writePRC.h" #include #include // debug print includes #include #include #include #include #if !defined(__GNUC__) || defined(__clang__) #include #endif #include using namespace std; #ifndef __GNUC_PREREQ #define __GNUC_PREREQ(maj, min) (0) #endif // Count leading zeros. uint32_t CLZ(uint32_t a) { #if __GNUC_PREREQ(3,4) return __builtin_clz(a); #else // find the log base 2 of a 32-bit integer static const int MultiplyDeBruijnBitPosition[32] = { 0, 9, 1, 10, 13, 21, 2, 29, 11, 14, 16, 18, 22, 25, 3, 30, 8, 12, 20, 28, 15, 17, 24, 7, 19, 27, 23, 6, 26, 5, 4, 31 }; a |= a >> 1; // first round down to one less than a power of 2 a |= a >> 2; a |= a >> 4; a |= a >> 8; a |= a >> 16; return 31-MultiplyDeBruijnBitPosition[(uint32_t)(a * 0x07C4ACDDU) >> 27]; #endif } // Portable integer implementation of ceil(log2(x)). uint32_t Log2(uint32_t x) { assert(x != 0); uint32_t L=31-CLZ(x); return ((uint32_t) 1 << L == x) ? L : L+1; } #define WriteUnsignedInteger( value ) pbs << (uint32_t)(value); #define WriteInteger( value ) pbs << (int32_t)(value); #define WriteCharacter( value ) pbs << (uint8_t)(value); #define WriteDouble( value ) pbs << (double)(value); #define WriteBit( value ) pbs << (bool)(value); #define WriteBoolean( value ) pbs << (bool)(value); #define WriteString( value ) pbs << (value); #define SerializeContentPRCBase serializeContentPRCBase(pbs); #define SerializeGraphics serializeGraphics(pbs); #define SerializePRCBaseWithGraphics { serializeContentPRCBase(pbs); serializeGraphics(pbs); } #define SerializeRepresentationItemContent serializeRepresentationItemContent(pbs); #define SerializeRepresentationItem( value ) (value)->serializeRepresentationItem(pbs); #define SerializeMarkup( value ) (value).serializeMarkup(pbs); #define SerializeReferenceUniqueIdentifier( value ) (value).serializeReferenceUniqueIdentifier(pbs); #define SerializeContentBaseTessData serializeContentBaseTessData(pbs); #define SerializeTessFace( value ) (value)->serializeTessFace(pbs); #define SerializeUserData UserData(0,0).write(pbs); #define SerializeLineAttr( value ) pbs << (uint32_t)((value)+1); #define SerializeVector3d( value ) (value).serializeVector3d(pbs); #define SerializeVector2d( value ) (value).serializeVector2d(pbs); #define SerializeName( value ) writeName(pbs, (value)); #define SerializeInterval( value ) (value).serializeInterval(pbs); // #define SerializeBoundingBox( value ) (value).serializeBoundingBox(pbs); #define SerializeDomain( value ) (value).serializeDomain(pbs); #define SerializeParameterization serializeParameterization(pbs); #define SerializeUVParameterization serializeUVParameterization(pbs); #define SerializeTransformation serializeTransformation(pbs); #define SerializeBaseTopology serializeBaseTopology(pbs); #define SerializeBaseGeometry serializeBaseGeometry(pbs); #define SerializePtrCurve( value ) {WriteBoolean( false ); if((value)==NULL) pbs << (uint32_t)PRC_TYPE_ROOT; else (value)->serializeCurve(pbs);} #define SerializePtrSurface( value ) {WriteBoolean( false ); if((value)==NULL) pbs << (uint32_t)PRC_TYPE_ROOT; else (value)->serializeSurface(pbs);} #define SerializePtrTopology( value ) {WriteBoolean( false ); if((value)==NULL) pbs << (uint32_t)PRC_TYPE_ROOT; else (value)->serializeTopoItem(pbs);} #define SerializeContentCurve serializeContentCurve(pbs); #define SerializeContentWireEdge serializeContentWireEdge(pbs); #define SerializeContentBody serializeContentBody(pbs); #define SerializeTopoContext serializeTopoContext(pbs); #define SerializeContextAndBodies( value ) (value).serializeContextAndBodies(pbs); #define SerializeBody( value ) (value)->serializeBody(pbs); #define ResetCurrentGraphics resetGraphics(); #define SerializeContentSurface serializeContentSurface(pbs); #define SerializeCompressedUniqueId( value ) (value).serializeCompressedUniqueId(pbs); #define SerializeUnit( value ) (value).serializeUnit(pbs); #define SerializeBoundingBox serializeBoundingBox(pbs); #define SerializeAttributeEntry serializeAttributeEntry(pbs); #define SerializeContentSingleAttribute( value ) (value).serializeSingleAttribute(pbs); #define SerializeAttribute( value ) (value).serializeAttribute(pbs); #define SerializeAttributeData serializeAttributes(pbs); #define WriteUncompressedUnsignedInteger( value ) writeUncompressedUnsignedInteger(out, (uint32_t)(value)); #define SerializeFileStructureUncompressedUniqueId( value ) (value).serializeFileStructureUncompressedUniqueId(out); void writeUncompressedUnsignedInteger(ostream &out, uint32_t data) { #ifdef WORDS_BIGENDIAN out.write(((char*)&data)+3,1); out.write(((char*)&data)+2,1); out.write(((char*)&data)+1,1); out.write(((char*)&data)+0,1); #else out.write(((char*)&data)+0,1); out.write(((char*)&data)+1,1); out.write(((char*)&data)+2,1); out.write(((char*)&data)+3,1); #endif } double PRCVector3d::Length() { return sqrt(x*x+y*y+z*z); } bool PRCVector3d::Normalize() { double fLength=Length(); if(fLength < FLT_EPSILON) return false; double factor=1.0/fLength; x *= factor; y *= factor; z *= factor; return true; } double PRCVector2d::Length() { return sqrt(x*x+y*y); } bool PRCVector2d::Normalize() { double fLength=Length(); if(fLength < FLT_EPSILON) return false; double factor=1.0/fLength; x *= factor; y *= factor; return true; } void PRCVector2d::serializeVector2d(PRCbitStream &pbs) { WriteDouble (x) WriteDouble (y) } uint32_t makeCADID() { static uint32_t ID = 1; return ID++; } uint32_t makePRCID() { static uint32_t ID = 1; return ID++; } bool type_eligible_for_reference(uint32_t type) { if( type == PRC_TYPE_MISC_EntityReference || type == PRC_TYPE_MISC_MarkupLinkedItem || type == PRC_TYPE_RI_BrepModel || type == PRC_TYPE_RI_Curve || type == PRC_TYPE_RI_Direction || type == PRC_TYPE_RI_Plane || type == PRC_TYPE_RI_PointSet || type == PRC_TYPE_RI_PolyBrepModel || type == PRC_TYPE_RI_PolyWire || type == PRC_TYPE_RI_Set || type == PRC_TYPE_RI_CoordinateSystem || type == PRC_TYPE_ASM_ProductOccurence || type == PRC_TYPE_ASM_PartDefinition || type == PRC_TYPE_ASM_Filter || type == PRC_TYPE_MKP_View || type == PRC_TYPE_MKP_Markup || type == PRC_TYPE_MKP_Leader || type == PRC_TYPE_MKP_AnnotationItem || type == PRC_TYPE_MKP_AnnotationSet || type == PRC_TYPE_MKP_AnnotationReference || type == PRC_TYPE_GRAPH_Style || type == PRC_TYPE_GRAPH_Material || type == PRC_TYPE_GRAPH_TextureApplication || type == PRC_TYPE_GRAPH_TextureDefinition || type == PRC_TYPE_GRAPH_LinePattern || type == PRC_TYPE_GRAPH_DottingPattern || type == PRC_TYPE_GRAPH_HatchingPattern || type == PRC_TYPE_GRAPH_SolidPattern || type == PRC_TYPE_GRAPH_VPicturePattern || type == PRC_TYPE_GRAPH_AmbientLight || type == PRC_TYPE_GRAPH_PointLight || type == PRC_TYPE_GRAPH_DirectionalLight || type == PRC_TYPE_GRAPH_SpotLight || type == PRC_TYPE_GRAPH_SceneDisplayParameters || type == PRC_TYPE_GRAPH_Camera ) return true; else return false; } void UserData::write(PRCbitStream &pbs) { pbs << size; if(size > 0) { uint32_t quot=size/8; uint32_t rem=size-8*quot; for(uint32_t i = 0; i < quot; ++i) pbs << data[i]; for(uint32_t j = 0; j < rem; ++j) // 0-based, big endian bit counting pbs << (bool)((data[quot] & (0x80 >> j))!=0); } } void PRCAttributeEntry::serializeAttributeEntry(PRCbitStream &pbs) const { WriteBoolean (title_is_integer) if (title_is_integer) WriteUnsignedInteger (title_integer) else WriteString (title_text) } void PRCSingleAttribute::serializeSingleAttribute(PRCbitStream &pbs) const { SerializeAttributeEntry WriteUnsignedInteger (type) switch (type) { case KEPRCModellerAttributeTypeInt: WriteInteger (value.integer) break; case KEPRCModellerAttributeTypeReal: WriteDouble (value.real) break; case KEPRCModellerAttributeTypeTime: WriteUnsignedInteger (value.time) break; case KEPRCModellerAttributeTypeString: WriteString (value_text) break; default: break; } } void PRCAttribute::serializeAttribute(PRCbitStream &pbs) const { WriteUnsignedInteger (PRC_TYPE_MISC_Attribute) SerializeAttributeEntry const uint32_t size_of_attribute_keys = attribute_keys.size(); WriteUnsignedInteger (size_of_attribute_keys) for(uint32_t i=0;i out_it (out); copy ( file_contents.begin(), file_contents.end(), out_it ); } uint32_t PRCUncompressedFile::getSize() const { return sizeof(uint32_t)+file_contents.size(); } void PRCRgbColor::serializeRgbColor(PRCbitStream &pbs) { WriteDouble (red) WriteDouble (green) WriteDouble (blue) } void PRCPicture::serializePicture(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_GRAPH_Picture) SerializeContentPRCBase WriteInteger (format) //see Types for picture files WriteUnsignedInteger (uncompressed_file_index+1) WriteUnsignedInteger (pixel_width) WriteUnsignedInteger (pixel_height) } void PRCTextureDefinition::serializeTextureDefinition(PRCbitStream &pbs) { uint32_t i=0; // universal index for PRC standart compatibility const uint8_t texture_dimension = 2; const uint32_t texture_mapping_attributes = texture_mapping_attribute; const uint32_t size_texture_mapping_attributes_intensities = 1; const double *texture_mapping_attributes_intensities = &texture_mapping_attribute_intensity; const uint32_t size_texture_mapping_attributes_components = 1; const uint8_t *texture_mapping_attributes_components = &texture_mapping_attribute_components; const EPRCTextureMappingType eMappingType = KEPRCTextureMappingType_Stored; const double red = 1.0; const double green = 1.0; const double blue = 1.0; const double alpha = 1.0; const EPRCTextureBlendParameter blend_src_rgb = KEPRCTextureBlendParameter_Unknown; const EPRCTextureBlendParameter blend_dst_rgb = KEPRCTextureBlendParameter_Unknown; const EPRCTextureBlendParameter blend_src_alpha = KEPRCTextureBlendParameter_Unknown; const EPRCTextureBlendParameter blend_dst_alpha = KEPRCTextureBlendParameter_Unknown; const EPRCTextureAlphaTest alpha_test = KEPRCTextureAlphaTest_Unknown; const double alpha_test_reference = 1.0; const EPRCTextureWrappingMode texture_wrapping_mode_R = KEPRCTextureWrappingMode_ClampToBorder; const bool texture_transformation = false; WriteUnsignedInteger (PRC_TYPE_GRAPH_TextureDefinition) SerializeContentPRCBase WriteUnsignedInteger (picture_index+1) WriteCharacter (texture_dimension) // SerializeTextureMappingType WriteInteger (eMappingType) // Texture mapping type // if (eMappingType == TEXTURE_MAPPING_OPERATOR) // { // WriteInteger (eMappingOperator) // Texture mapping operator // WriteInteger (transformation) // if (transformation) // SerializeCartesianTransformation3d (transformation) // } WriteUnsignedInteger (texture_mapping_attributes) // Texture mapping attributes WriteUnsignedInteger (size_texture_mapping_attributes_intensities) for (i=0;i 1) WriteInteger (texture_wrapping_mode_T) // Texture wrapping mode if (texture_dimension > 2 ) WriteInteger (texture_wrapping_mode_R) // Texture wrapping mode WriteBit (texture_transformation) // if (texture_transformation) // SerializeTextureTransformation (texture_transformation) } void PRCMaterialGeneric::serializeMaterialGeneric(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_GRAPH_Material) SerializeContentPRCBase WriteUnsignedInteger (ambient + 1) WriteUnsignedInteger (diffuse + 1) WriteUnsignedInteger (emissive + 1) WriteUnsignedInteger (specular + 1) WriteDouble (shininess) WriteDouble (ambient_alpha) WriteDouble (diffuse_alpha) WriteDouble (emissive_alpha) WriteDouble (specular_alpha) } void PRCTextureApplication::serializeTextureApplication(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_GRAPH_TextureApplication) SerializeContentPRCBase WriteUnsignedInteger (material_generic_index+1) WriteUnsignedInteger (texture_definition_index+1) WriteUnsignedInteger (next_texture_index+1) WriteUnsignedInteger (UV_coordinates_index+1) } void PRCLinePattern::serializeLinePattern(PRCbitStream &pbs) { uint32_t i = 0; WriteUnsignedInteger (PRC_TYPE_GRAPH_LinePattern) SerializeContentPRCBase const uint32_t size_lengths = lengths.size(); WriteUnsignedInteger (size_lengths) for (i=0;i>8)&0xFF); current_layer_index = l; current_index_of_line_style = i; current_behaviour_bit_field = b; } else pbs << true; } void writeGraphics(PRCbitStream &pbs,const PRCGraphics &graphics,bool force) { if(force || current_layer_index != graphics.layer_index || current_index_of_line_style != graphics.index_of_line_style || current_behaviour_bit_field != graphics.behaviour_bit_field) { pbs << false << (uint32_t)(graphics.layer_index+1) << (uint32_t)(graphics.index_of_line_style+1) << (uint8_t)(graphics.behaviour_bit_field&0xFF) << (uint8_t)((graphics.behaviour_bit_field>>8)&0xFF); current_layer_index = graphics.layer_index; current_index_of_line_style = graphics.index_of_line_style; current_behaviour_bit_field = graphics.behaviour_bit_field; } else pbs << true; } void PRCGraphics::serializeGraphics(PRCbitStream &pbs) { if(current_layer_index != this->layer_index || current_index_of_line_style != this->index_of_line_style || current_behaviour_bit_field != this->behaviour_bit_field) { pbs << false << (uint32_t)(this->layer_index+1) << (uint32_t)(this->index_of_line_style+1) << (uint8_t)(this->behaviour_bit_field&0xFF) << (uint8_t)((this->behaviour_bit_field>>8)&0xFF); current_layer_index = this->layer_index; current_index_of_line_style = this->index_of_line_style; current_behaviour_bit_field = this->behaviour_bit_field; } else pbs << true; } void PRCGraphics::serializeGraphicsForced(PRCbitStream &pbs) { pbs << false << (uint32_t)(this->layer_index+1) << (uint32_t)(this->index_of_line_style+1) << (uint8_t)(this->behaviour_bit_field&0xFF) << (uint8_t)((this->behaviour_bit_field>>8)&0xFF); current_layer_index = this->layer_index; current_index_of_line_style = this->index_of_line_style; current_behaviour_bit_field = this->behaviour_bit_field; } void resetGraphics() { current_layer_index = m1; current_index_of_line_style = m1; current_behaviour_bit_field = 1; } void resetGraphicsAndName() { resetGraphics(); resetName(); } void PRCMarkup::serializeMarkup(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_MKP_Markup) SerializeContentPRCBase SerializeGraphics WriteUnsignedInteger (type) WriteUnsignedInteger (sub_type) const uint32_t number_of_linked_items = 0; WriteUnsignedInteger (number_of_linked_items) // for (i=0;iserializeTransformation3d(pbs); SerializeUserData } void PRCFontKeysSameFont::serializeFontKeysSameFont(PRCbitStream &pbs) { uint32_t i=0; // universal index for PRC standart compatibility WriteString (font_name) WriteUnsignedInteger (char_set) const uint32_t number_of_font_keys = font_keys.size(); WriteUnsignedInteger (number_of_font_keys) for (i=0;i &rgba_vertices,const bool is_rgba, PRCbitStream &pbs) { uint32_t i = 0; uint32_t j = 0; // number_by_vector can be assigned a value of 3 (RGB) or 4 (RGBA). // number_of_vectors is equal to number_of_colors / number_by_vector. const uint32_t number_by_vector=is_rgba?4:3; const std::vector &vector_color = rgba_vertices; const uint32_t number_of_colors=vector_color.size(); const uint32_t number_of_vectors=number_of_colors / number_by_vector; // first one for (i=0;i= 1u<<(bit_number - 1 - i) ) { WriteBoolean (true) value -= 1u<<(bit_number - 1 - i); } else { WriteBoolean (false) } } } #define WriteUnsignedIntegerWithVariableBitNumber( value, bit_number ) writeUnsignedIntegerWithVariableBitNumber( pbs, (value), (bit_number) ); void writeIntegerWithVariableBitNumber(PRCbitStream &pbs, int32_t iValue, uint32_t uBitNumber) { WriteBoolean(iValue<0); WriteUnsignedIntegerWithVariableBitNumber(abs(iValue), uBitNumber - 1); } #define WriteIntegerWithVariableBitNumber( value, bit_number ) writeIntegerWithVariableBitNumber( pbs, (value), (bit_number) ); void writeDoubleWithVariableBitNumber(PRCbitStream &pbs, double dValue,double dTolerance, unsigned uBitNumber) { // calling functions must ensure no overflow int32_t iTempValue = (int32_t) ( dValue / dTolerance ); WriteIntegerWithVariableBitNumber(iTempValue, uBitNumber); } #define WriteDoubleWithVariableBitNumber( value, bit_number ) writeDoubleWithVariableBitNumber( pbs, (value), (bit_number) ); uint32_t GetNumberOfBitsUsedToStoreUnsignedInteger(uint32_t uValue) { uint32_t uNbBit=2; uint32_t uTemp = 2; while(uValue >= uTemp) { uTemp*=2; uNbBit++; } return uNbBit-1; } void writeNumberOfBitsThenUnsignedInteger(PRCbitStream &pbs, uint32_t unsigned_integer) { uint32_t number_of_bits = GetNumberOfBitsUsedToStoreUnsignedInteger( unsigned_integer ); WriteUnsignedIntegerWithVariableBitNumber ( number_of_bits, 5 ) WriteUnsignedIntegerWithVariableBitNumber ( unsigned_integer, number_of_bits ) } #define WriteNumberOfBitsThenUnsignedInteger( value ) writeNumberOfBitsThenUnsignedInteger( pbs, value ); uint32_t GetNumberOfBitsUsedToStoreInteger(int32_t iValue) { return GetNumberOfBitsUsedToStoreUnsignedInteger(abs(iValue))+1; } int32_t intdiv(double dValue, double dTolerance) { double ratio=fabs(dValue)/dTolerance; assert(ratio <= INT_MAX); int32_t iTempValue=(int32_t) ratio; if(ratio - iTempValue >= 0.5) iTempValue++; if(dValue < 0) return -iTempValue; else return iTempValue; } // round dValue to nearest multiple of dTolerance double roundto(double dValue, double dTolerance) { return intdiv(dValue, dTolerance) * dTolerance; } PRCVector3d roundto(PRCVector3d vec, double dTolerance) { PRCVector3d res; res.x = roundto(vec.x,dTolerance); res.y = roundto(vec.y,dTolerance); res.z = roundto(vec.z,dTolerance); return res; } uint32_t GetNumberOfBitsUsedToStoreDouble(double dValue, double dTolerance ) { return GetNumberOfBitsUsedToStoreInteger(intdiv(dValue,dTolerance)); } struct itriple { int32_t x; int32_t y; int32_t z; }; uint32_t GetNumberOfBitsUsedToStoreTripleInteger(const itriple &iTriple) { const uint32_t x_bits = GetNumberOfBitsUsedToStoreInteger(iTriple.x); const uint32_t y_bits = GetNumberOfBitsUsedToStoreInteger(iTriple.y); const uint32_t z_bits = GetNumberOfBitsUsedToStoreInteger(iTriple.z); uint32_t bits = x_bits; if(y_bits > bits) bits = y_bits; if(z_bits > bits) bits = z_bits; return bits; } itriple iroundto(PRCVector3d vec, double dTolerance) { itriple res; res.x = intdiv(vec.x, dTolerance); res.y = intdiv(vec.y, dTolerance); res.z = intdiv(vec.z, dTolerance); return res; } void PRCCompressedFace::serializeCompressedFace(PRCbitStream &pbs, double brep_data_compressed_tolerance) { serializeCompressedAnaNurbs( pbs, brep_data_compressed_tolerance ); } #define SerializeCompressedFace( value ) (value)->serializeCompressedFace( pbs, brep_data_compressed_tolerance ); void PRCCompressedFace::serializeContentCompressedFace(PRCbitStream &pbs) { WriteBoolean ( orientation_surface_with_shell ) const bool surface_is_trimmed = false; WriteBoolean ( surface_is_trimmed ) } void PRCCompressedFace::serializeCompressedAnaNurbs(PRCbitStream &pbs, double brep_data_compressed_tolerance) { // WriteCompressedEntityType ( PRC_HCG_AnaNurbs ) const bool is_a_curve = false; WriteBoolean ( is_a_curve ) WriteUnsignedIntegerWithVariableBitNumber (13 , 4) serializeContentCompressedFace( pbs ); serializeCompressedNurbs( pbs, brep_data_compressed_tolerance ); } void PRCCompressedFace::serializeCompressedNurbs(PRCbitStream &pbs, double brep_data_compressed_tolerance) { const double nurbs_tolerance = 0.2*brep_data_compressed_tolerance; const uint32_t degree_in_u = degree; const uint32_t degree_in_v = degree; WriteUnsignedIntegerWithVariableBitNumber ( degree_in_u, 5) WriteUnsignedIntegerWithVariableBitNumber ( degree_in_v, 5) const uint32_t number_of_knots_in_u = 4; // 0011 or 00001111 knot vector - just 2 spans WriteUnsignedIntegerWithVariableBitNumber (number_of_knots_in_u - 2, 16) uint32_t number_bit = degree_in_u ? Log2( degree_in_u + 2 ) : 2; WriteBoolean (false) // Multiplicity_is_already_stored - no WriteUnsignedIntegerWithVariableBitNumber( degree_in_u+1,number_bit) WriteBoolean (true) // Multiplicity_is_already_stored - yes const uint32_t number_of_knots_in_v = 4; // 0011 or 00001111 knot vector - just 2 spans WriteUnsignedIntegerWithVariableBitNumber (number_of_knots_in_v - 2, 16) number_bit = degree_in_v ? Log2( degree_in_v + 2 ) : 2; WriteBoolean (false) // Multiplicity_is_already_stored - no WriteUnsignedIntegerWithVariableBitNumber( degree_in_v+1,number_bit) WriteBoolean (true) // Multiplicity_is_already_stored - yes const bool is_closed_u = false; WriteBoolean ( is_closed_u ) const bool is_closed_v = false; WriteBoolean ( is_closed_v ) const uint32_t number_of_control_point_in_u = degree_in_u + 1; const uint32_t number_of_control_point_in_v = degree_in_v + 1; #if defined( __GNUC__ ) && !defined( __clang__ ) PRCVector3d P[number_of_control_point_in_u][number_of_control_point_in_v]; #else vector > P(number_of_control_point_in_u, vector(number_of_control_point_in_v)); #endif for(uint32_t i=0;i > compressed_control_point(number_of_control_point_in_u, vector(number_of_control_point_in_v)); vector > control_point_type(number_of_control_point_in_u, vector(number_of_control_point_in_v)); #endif uint32_t number_of_bits_for_isomin = 1; uint32_t number_of_bits_for_rest = 1; for(uint32_t j = 1; j < number_of_control_point_in_v; j++) { compressed_control_point[0][j] = iroundto(P[0][j]-P[0][j-1], nurbs_tolerance ); P[0][j] = P[0][j-1] + roundto(P[0][j]-P[0][j-1], nurbs_tolerance); uint32_t bit_size = GetNumberOfBitsUsedToStoreTripleInteger(compressed_control_point[0][j]); if (bit_size > number_of_bits_for_isomin) number_of_bits_for_isomin = bit_size; } for(uint32_t i = 1; i < number_of_control_point_in_u; i++) { compressed_control_point[i][0] = iroundto(P[i][0]-P[i-1][0], nurbs_tolerance ); P[i][0] = P[i-1][0] + roundto(P[i][0]-P[i-1][0], nurbs_tolerance); uint32_t bit_size = GetNumberOfBitsUsedToStoreTripleInteger(compressed_control_point[i][0]); if (bit_size > number_of_bits_for_isomin) number_of_bits_for_isomin = bit_size; } for(uint32_t i=1;i number_of_bits_for_rest) number_of_bits_for_rest = bit_size; } if( number_of_bits_for_rest == 2 ) number_of_bits_for_rest--; // really I think it must be unconditional, but so it seems to be done in Adobe Acrobat (9.3) WriteUnsignedIntegerWithVariableBitNumber ( number_of_bits_for_isomin, 20 ) WriteUnsignedIntegerWithVariableBitNumber ( number_of_bits_for_rest, 20 ) WriteDouble ( P[0][0].x ) WriteDouble ( P[0][0].y ) WriteDouble ( P[0][0].z ) for(uint32_t j = 1; j < number_of_control_point_in_v; j++) { WriteIntegerWithVariableBitNumber(compressed_control_point[0][j].x, number_of_bits_for_isomin+1) WriteIntegerWithVariableBitNumber(compressed_control_point[0][j].y, number_of_bits_for_isomin+1) WriteIntegerWithVariableBitNumber(compressed_control_point[0][j].z, number_of_bits_for_isomin+1) } for(uint32_t i = 1; i < number_of_control_point_in_u; i++) { WriteIntegerWithVariableBitNumber(compressed_control_point[i][0].x, number_of_bits_for_isomin+1) WriteIntegerWithVariableBitNumber(compressed_control_point[i][0].y, number_of_bits_for_isomin+1) WriteIntegerWithVariableBitNumber(compressed_control_point[i][0].z, number_of_bits_for_isomin+1) } for(uint32_t i = 1; i < number_of_control_point_in_u; i++) { for(uint32_t j = 1; j < number_of_control_point_in_v; j++) { WriteUnsignedIntegerWithVariableBitNumber ( control_point_type[i][j], 2 ) if(control_point_type[i][j] == 1) { WriteIntegerWithVariableBitNumber ( compressed_control_point[i][j].z, number_of_bits_for_rest+1 ) } else if(control_point_type[i][j] == 2) { WriteIntegerWithVariableBitNumber ( compressed_control_point[i][j].x, number_of_bits_for_rest+1 ) WriteIntegerWithVariableBitNumber ( compressed_control_point[i][j].y, number_of_bits_for_rest+1 ) } else if(control_point_type[i][j] == 3) { WriteIntegerWithVariableBitNumber ( compressed_control_point[i][j].x, number_of_bits_for_rest+1 ) WriteIntegerWithVariableBitNumber ( compressed_control_point[i][j].y, number_of_bits_for_rest+1 ) WriteIntegerWithVariableBitNumber ( compressed_control_point[i][j].z, number_of_bits_for_rest+1 ) } } } const uint32_t type_param_u = 0; WriteBoolean( type_param_u == 0 ) const uint32_t type_param_v = 0; WriteBoolean( type_param_v == 0 ) const bool is_rational = false; WriteBoolean( is_rational ) } void PRCCompressedBrepData::serializeCompressedShell(PRCbitStream &pbs) { uint32_t i; const uint32_t number_of_face = face.size(); WriteBoolean ( number_of_face == 1 ) if( number_of_face != 1 ) WriteNumberOfBitsThenUnsignedInteger (number_of_face) for( i=0; i < number_of_face; i++) SerializeCompressedFace ( face[i] ) const bool is_an_iso_face = false; for( i=0; i < number_of_face; i++) WriteBoolean ( is_an_iso_face ) } void PRCCompressedBrepData::serializeCompressedBrepData(PRCbitStream &pbs) { WriteUnsignedInteger ( PRC_TYPE_TOPO_BrepDataCompress ) SerializeContentBody WriteDouble ( brep_data_compressed_tolerance ) const uint32_t number_of_bits_to_store_reference = 1; WriteNumberOfBitsThenUnsignedInteger ( number_of_bits_to_store_reference ) const uint32_t number_vertex_iso = 0; WriteUnsignedIntegerWithVariableBitNumber ( number_vertex_iso, number_of_bits_to_store_reference ) const uint32_t number_edge_iso = 0; WriteUnsignedIntegerWithVariableBitNumber ( number_edge_iso, number_of_bits_to_store_reference ) const uint32_t number_of_shell = 1; const uint32_t number_of_connex = 1; WriteBoolean ( number_of_shell == 1 && number_of_connex == 1 ) serializeCompressedShell( pbs ); uint32_t i; const uint32_t number_of_faces = face.size(); for(i=0; i< number_of_faces; i++) face[i]->serializeBaseTopology( pbs ); } void PRCBlend01::serializeBlend01(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_SURF_Blend01) SerializeContentSurface SerializeTransformation SerializeUVParameterization SerializePtrCurve ( center_curve ) SerializePtrCurve ( origin_curve ) SerializePtrCurve ( tangent_curve ) } void PRCRuled::serializeRuled(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_SURF_Ruled) SerializeContentSurface SerializeTransformation SerializeUVParameterization SerializePtrCurve ( first_curve ) SerializePtrCurve ( second_curve ) } void PRCSphere::serializeSphere(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_SURF_Sphere) SerializeContentSurface SerializeTransformation SerializeUVParameterization WriteDouble ( radius ) } void PRCCone::serializeCone(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_SURF_Cone) SerializeContentSurface SerializeTransformation SerializeUVParameterization WriteDouble ( bottom_radius ) WriteDouble ( semi_angle ) } void PRCCylinder::serializeCylinder(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_SURF_Cylinder) SerializeContentSurface SerializeTransformation SerializeUVParameterization WriteDouble ( radius ) } void PRCTorus::serializeTorus(PRCbitStream &pbs) { WriteUnsignedInteger (PRC_TYPE_SURF_Torus) SerializeContentSurface SerializeTransformation SerializeUVParameterization WriteDouble ( major_radius ) WriteDouble ( minor_radius ) } void PRCFace::serializeFace(PRCbitStream &pbs) { uint32_t i = 0; WriteUnsignedInteger (PRC_TYPE_TOPO_Face) SerializeBaseTopology SerializePtrSurface ( base_surface ) WriteBit ( have_surface_trim_domain ) if ( have_surface_trim_domain ) SerializeDomain ( surface_trim_domain ) WriteBit ( have_tolerance ) if ( have_tolerance ) WriteDouble ( tolerance ) WriteUnsignedInteger ( number_of_loop ) WriteInteger ( outer_loop_index ) for (i=0;iserialType() ) if ( IsCompressedType(body[i]->serialType()) ) { WriteDouble ( body[i]->serialTolerance() ) } } } void PRCTopoContext::serializeContextGraphics(PRCbitStream &pbs) { uint32_t i=0, j=0, k=0, l=0; ResetCurrentGraphics uint32_t number_of_body = body.size(); PRCGraphicsList element; bool has_graphics = false; for (i=0;itopo_item_type == PRC_TYPE_TOPO_BrepData && dynamic_cast(body[i])) { PRCBrepData *body_i = dynamic_cast(body[i]); for (j=0;jconnex.size();j++) { for(k=0;kconnex[j]->shell.size();k++) { for( l=0;lconnex[j]->shell[k]->face.size();l++) { element.push_back( body_i->connex[j]->shell[k]->face[l] ); has_graphics = has_graphics || body_i->connex[j]->shell[k]->face[l]->has_graphics(); } } } } else if ( body[i]->topo_item_type == PRC_TYPE_TOPO_BrepDataCompress && dynamic_cast(body[i])) { PRCCompressedBrepData *body_i = dynamic_cast(body[i]); for( l=0;lface.size();l++) { element.push_back( body_i->face[l] ); has_graphics = has_graphics || body_i->face[l]->has_graphics(); } } } uint32_t number_of_treat_type = 0; if (has_graphics && !element.empty()) number_of_treat_type = 1; WriteUnsignedInteger (number_of_treat_type) for (i=0;ihas_graphics() ) if (element[j]->has_graphics()) { element[j]->serializeGraphics(pbs); } } } } uint32_t PRCTopoContext::addSingleWireBody(PRCSingleWireBody*& pSingleWireBody) { body.push_back(pSingleWireBody); pSingleWireBody = NULL; return body.size()-1; } uint32_t PRCTopoContext::addBrepData(PRCBrepData*& pBrepData) { body.push_back(pBrepData); pBrepData = NULL; return body.size()-1; } uint32_t PRCTopoContext::addCompressedBrepData(PRCCompressedBrepData*& pCompressedBrepData) { body.push_back(pCompressedBrepData); pCompressedBrepData = NULL; return body.size()-1; } void PRCSingleWireBody::serializeSingleWireBody(PRCbitStream &pbs) { WriteUnsignedInteger ( PRC_TYPE_TOPO_SingleWireBody) SerializeContentBody SerializePtrTopology ( wire_edge ) } void PRCUniqueId::serializeCompressedUniqueId(PRCbitStream &pbs) const { WriteUnsignedInteger (id0) WriteUnsignedInteger (id1) WriteUnsignedInteger (id2) WriteUnsignedInteger (id3) } void PRCUniqueId::serializeFileStructureUncompressedUniqueId(std::ostream& out) const { WriteUncompressedUnsignedInteger (id0) WriteUncompressedUnsignedInteger (id1) WriteUncompressedUnsignedInteger (id2) WriteUncompressedUnsignedInteger (id3) } void PRCUnit::serializeUnit(PRCbitStream &pbs) { WriteBoolean (unit_from_CAD_file) WriteDouble (unit) } void PRCProductOccurrence::serializeProductOccurrence(PRCbitStream &pbs) { WriteUnsignedInteger ( PRC_TYPE_ASM_ProductOccurence ) SerializePRCBaseWithGraphics // SerializeReferencesOfProductOccurrence WriteUnsignedInteger (index_part+1) WriteUnsignedInteger (index_prototype+1) if (index_prototype != m1) { WriteBoolean (prototype_in_same_file_structure) if (!prototype_in_same_file_structure) SerializeCompressedUniqueId (prototype_file_structure) } WriteUnsignedInteger(index_external_data+1) if (index_external_data != m1) { WriteBoolean (external_data_in_same_file_structure) if (!external_data_in_same_file_structure) SerializeCompressedUniqueId (external_data_file_structure) } const uint32_t number_of_son_product_occurrences = index_son_occurrence.size(); WriteUnsignedInteger (number_of_son_product_occurrences) for (uint32_t i=0;iserializeTransformation3d (pbs); WriteUnsignedInteger (0) // number_of_references // SerializeMarkups (markups) WriteUnsignedInteger (0) // number_of_linked_items WriteUnsignedInteger (0) // number_of_leaders WriteUnsignedInteger (0) // number_of_markups WriteUnsignedInteger (0) // number_of_annotation_entities WriteUnsignedInteger (0) // number_of_views WriteBit (false) // has_entity_filter WriteUnsignedInteger (0) // number_of_display_filters WriteUnsignedInteger (0) // number_of_scene_display_parameters SerializeUserData } uint32_t PRCPartDefinition::addBrepModel(PRCBrepModel*& pBrepModel) { representation_item.push_back(pBrepModel); pBrepModel = NULL; return representation_item.size()-1; } uint32_t PRCPartDefinition::addPolyBrepModel(PRCPolyBrepModel*& pPolyBrepModel) { representation_item.push_back(pPolyBrepModel); pPolyBrepModel = NULL; return representation_item.size()-1; } uint32_t PRCPartDefinition::addPointSet(PRCPointSet*& pPointSet) { representation_item.push_back(pPointSet); pPointSet = NULL; return representation_item.size()-1; } uint32_t PRCPartDefinition::addSet(PRCSet*& pSet) { representation_item.push_back(pSet); pSet = NULL; return representation_item.size()-1; } uint32_t PRCPartDefinition::addWire(PRCWire*& pWire) { representation_item.push_back(pWire); pWire = NULL; return representation_item.size()-1; } uint32_t PRCPartDefinition::addPolyWire(PRCPolyWire*& pPolyWire) { representation_item.push_back(pPolyWire); pPolyWire = NULL; return representation_item.size()-1; } uint32_t PRCPartDefinition::addRepresentationItem(PRCRepresentationItem*& pRepresentationItem) { representation_item.push_back(pRepresentationItem); pRepresentationItem = NULL; return representation_item.size()-1; } void PRCPartDefinition::serializePartDefinition(PRCbitStream &pbs) { WriteUnsignedInteger ( PRC_TYPE_ASM_PartDefinition ) SerializePRCBaseWithGraphics SerializeBoundingBox uint32_t number_of_representation_items = representation_item.size(); WriteUnsignedInteger (number_of_representation_items) for (uint32_t i=0;i * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * *************/ #ifndef __PRC_BIT_STREAM_H #define __PRC_BIT_STREAM_H #ifdef _MSC_VER #include #if _MSC_VER >= 1600 #include #else typedef signed char int8_t; typedef signed short int16_t; typedef signed long int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned long uint32_t; #endif // _MSC_VER >= 1600 #elif defined __BORLANDC__ #include #else #include #endif // _MSC_VER #include #include #include #define CHUNK_SIZE (1024) // Is this a reasonable initial size? class PRCbitStream { public: PRCbitStream(uint8_t*& buff, unsigned int l) : byteIndex(0), bitIndex(0), allocatedLength(l), data(buff), compressed(false) { if(data == 0) { getAChunk(); } } unsigned int getSize() const; uint8_t* getData(); PRCbitStream& operator <<(const std::string&); PRCbitStream& operator <<(bool); PRCbitStream& operator <<(uint32_t); PRCbitStream& operator <<(uint8_t); PRCbitStream& operator <<(int32_t); PRCbitStream& operator <<(double); PRCbitStream& operator <<(const char*); void compress(); void write(std::ostream &out) const; private: void writeBit(bool); void writeBits(uint32_t,uint8_t); void writeByte(uint8_t); void nextByte(); void nextBit(); void getAChunk(); // bitIndex is "big endian", zero based, location of next bit to write unsigned int byteIndex,bitIndex; unsigned int allocatedLength; uint8_t*& data; bool compressed; uint32_t compressedDataSize; }; #endif // __PRC_BIT_STREAM_H mathgl-2.1.3.1/src/prc/PRCdouble.h0000664000175000017500000000726512142400465016271 0ustar balakinbalakin#ifndef __PRC_DOUBLE_H #define __PRC_DOUBLE_H #include #include #include #ifdef HAVE_CONFIG_H #include "config.h" #endif #ifdef BYTE_ORDER # undef WORDS_BIG_ENDIAN # undef WORDS_LITTLE_ENDIAN # if BYTE_ORDER == BIG_ENDIAN # define WORDS_BIG_ENDIAN 1 # endif # if BYTE_ORDER == LITTLE_ENDIAN # define WORDS_LITTLE_ENDIAN 1 # endif #endif // from Adobe's documentation union ieee754_double { double d; /* This is the IEEE 754 double-precision format. */ struct { #ifdef WORDS_BIGENDIAN unsigned int negative:1; unsigned int exponent:11; /* Together these comprise the mantissa. */ unsigned int mantissa0:20; unsigned int mantissa1:32; #else /* Together these comprise the mantissa. */ unsigned int mantissa1:32; unsigned int mantissa0:20; unsigned int exponent:11; unsigned int negative:1; #endif } ieee; }; union ieee754_float { float f; /* This is the IEEE 754 float-precision format. */ struct { #ifdef WORDS_BIGENDIAN unsigned int negative:1; unsigned int exponent:8; unsigned int mantissa:23; #else unsigned int mantissa:23; unsigned int exponent:8; unsigned int negative:1; #endif } ieee; }; enum ValueType {VT_double,VT_exponent}; struct sCodageOfFrequentDoubleOrExponent { short Type; short NumberOfBits; unsigned Bits; union { unsigned ul[2]; double Value; } u2uod; }; #ifdef WORDS_BIGENDIAN # define DOUBLEWITHTWODWORD(upper,lower) upper,lower # define UPPERPOWER (0) # define LOWERPOWER (!UPPERPOWER) # define NEXTBYTE(pbd) ((pbd)++) # define PREVIOUSBYTE(pbd) ((pbd)--) # define MOREBYTE(pbd,pbend) ((pbd)<=(pbend)) # define OFFSETBYTE(pbd,offset) ((pbd)+=offset) # define BEFOREBYTE(pbd) ((pbd)-1) # define DIFFPOINTERS(p1,p2) ((p1)-(p2)) # define SEARCHBYTE(pbstart,b,nb) (unsigned char *)memrchr((pbstart),(b),(nb)) # define BYTEAT(pb,i) *((pb)-(i)) #else # define DOUBLEWITHTWODWORD(upper,lower) lower,upper # define UPPERPOWER (1) # define LOWERPOWER (!UPPERPOWER) # define NEXTBYTE(pbd) ((pbd)--) # define PREVIOUSBYTE(pbd) ((pbd)++) # define MOREBYTE(pbd,pbend) ((pbd)>=(pbend)) # define OFFSETBYTE(pbd,offset) ((pbd)-=offset) # define BEFOREBYTE(pbd) ((pbd)+1) # define DIFFPOINTERS(p1,p2) ((unsigned)((p2)-(p1))) # define SEARCHBYTE(pbstart,b,nb) (unsigned char *)memchr((pbstart),(b),(nb)) # define BYTEAT(pb,i) *((pb)+(i)) #endif #define MAXLENGTHFORCOMPRESSEDTYPE ((22+1+1+4+6*(1+8))+7)/8 #define NEGATIVE(d) (((union ieee754_double *)&(d))->ieee.negative) #define EXPONENT(d) (((union ieee754_double *)&(d))->ieee.exponent) #define MANTISSA0(d) (((union ieee754_double *)&(d))->ieee.mantissa0) #define MANTISSA1(d) (((union ieee754_double *)&(d))->ieee.mantissa1) typedef unsigned char PRCbyte; typedef unsigned short PRCword; typedef unsigned PRCdword; extern PRCdword stadwZero[2],stadwNegativeZero[2]; #define NUMBEROFELEMENTINACOFDOE (2077) #ifdef WORDS_BIGENDIAN # define DOUBLEWITHTWODWORDINTREE(upper,lower) {upper,lower} #else # define DOUBLEWITHTWODWORDINTREE(upper,lower) {lower,upper} #endif extern sCodageOfFrequentDoubleOrExponent acofdoe[NUMBEROFELEMENTINACOFDOE]; struct sCodageOfFrequentDoubleOrExponent* getcofdoe(unsigned,short); #define STAT_V #define STAT_DOUBLE int stCOFDOECompare(const void*,const void*); #ifdef WORDS_BIGENDIAN #ifndef HAVE_MEMRCHR void *memrchr(const void *,int,size_t); #endif #endif #endif // __PRC_DOUBLE_H mathgl-2.1.3.1/src/prc/writePRC.h0000664000175000017500000014742112142400465016150 0ustar balakinbalakin/************ * * This file is part of a tool for producing 3D content in the PRC format. * Copyright (C) 2008 Orest Shardt * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * *************/ #ifndef __WRITE_PRC_H #define __WRITE_PRC_H #include #include #include #include #ifdef __GNUC__ #include #endif #include #include #include #include "PRCbitStream.h" #include "PRC.h" #include #include static const uint32_t m1=(uint32_t)-1; static const double pi=acos(-1.0); class PRCVector3d { public : double x; double y; double z; PRCVector3d() : x(0), y(0), z(0) {} PRCVector3d(double fx, double fy, double fz) : x(fx), y(fy), z(fz) {} PRCVector3d(const double c[], double fx=0, double fy=0, double fz=0) : x(c?c[0]:fx), y(c?c[1]:fy), z(c?c[2]:fz) {} PRCVector3d(const PRCVector3d& sVector3d) : x(sVector3d.x), y(sVector3d.y), z(sVector3d.z) {} void Set(double fx, double fy, double fz) { x = fx; y = fy; z = fz; } double Dot(const PRCVector3d & sPt) const { return(x*sPt.x)+(y*sPt.y)+(z*sPt.z); } double LengthSquared() { return(x*x+y*y+z*z); } friend PRCVector3d operator + (const PRCVector3d& a, const PRCVector3d& b) { return PRCVector3d(a.x+b.x,a.y+b.y,a.z+b.z); } friend PRCVector3d operator - (const PRCVector3d& a) { return PRCVector3d(-a.x,-a.y,-a.z); } friend PRCVector3d operator - (const PRCVector3d& a, const PRCVector3d& b) { return PRCVector3d(a.x-b.x,a.y-b.y,a.z-b.z); } friend PRCVector3d operator * (const PRCVector3d& a, const double d) { return PRCVector3d(a.x*d,a.y*d,a.z*d); } friend PRCVector3d operator * (const double d, const PRCVector3d& a) { return PRCVector3d(a.x*d,a.y*d,a.z*d); } friend PRCVector3d operator / (const PRCVector3d& a, const double d) { return PRCVector3d(a.x/d,a.y/d,a.z/d); } friend PRCVector3d operator * (const PRCVector3d& a, const PRCVector3d& b) { return PRCVector3d((a.y*b.z)-(a.z*b.y), (a.z*b.x)-(a.x*b.z), (a.x*b.y)-(a.y*b.x)); } void write(PRCbitStream &out) { out << x << y << z; } void serializeVector3d(PRCbitStream &pbs) const { pbs << x << y << z; } void serializeVector2d(PRCbitStream &pbs) const { pbs << x << y; } double Length(); bool Normalize(); bool operator==(const PRCVector3d &v) const { return x==v.x && y==v.y && z==v.z; } bool operator!=(const PRCVector3d &v) const { return !(x==v.x && y==v.y && z==v.z); } bool operator<(const PRCVector3d &v) const { if(x!=v.x) return (x attribute_keys; }; #ifdef __GNUC__ typedef __gnu_cxx::slist PRCAttributeList; #else typedef std::list PRCAttributeList; #endif class PRCAttributes { public: void serializeAttributes(PRCbitStream&) const; PRCAttribute& newAttribute() { attributes.push_front(PRCAttribute()); return attributes.front(); } void addAttribute(const PRCAttribute &attribute) { attributes.push_front(attribute); } PRCAttributeList attributes; }; bool type_eligible_for_reference(uint32_t type); uint32_t makeCADID(); uint32_t makePRCID(); class ContentPRCBase : public PRCAttributes { public: ContentPRCBase(uint32_t t, std::string n="") : type(t),name(n),CAD_identifier(0), CAD_persistent_identifier(0), PRC_unique_identifier(0) { if(type_eligible_for_reference(type)) { CAD_identifier = makeCADID(); PRC_unique_identifier = makePRCID(); } } void serializeContentPRCBase(PRCbitStream&) const; uint32_t getPRCID() const { return PRC_unique_identifier; } uint32_t getType() const { return type; } uint32_t type; std::string name; uint32_t CAD_identifier, CAD_persistent_identifier, PRC_unique_identifier; }; class PRCReferenceUniqueIdentifier { public: PRCReferenceUniqueIdentifier() : type(0), unique_identifier(m1) {} void serializeReferenceUniqueIdentifier(PRCbitStream&); uint32_t type; // bool reference_in_same_file_structure; // PRCUniqueId target_file_structure; uint32_t unique_identifier; }; extern std::string currentName; void writeName(PRCbitStream&,const std::string&); void resetName(); extern uint32_t current_layer_index; extern uint32_t current_index_of_line_style; extern uint16_t current_behaviour_bit_field; void writeGraphics(PRCbitStream&,uint32_t=m1,uint32_t=m1,uint16_t=1,bool=false); void resetGraphics(); void resetGraphicsAndName(); struct PRCVector2d { PRCVector2d() : x(0.0), y(0.0) {} PRCVector2d(double X, double Y) : x(X), y(Y) {} void serializeVector2d(PRCbitStream&); double x; double y; PRCVector2d(const double c[], double fx=0, double fy=0) : x(c?c[0]:fx), y(c?c[1]:fy) {} PRCVector2d(const PRCVector2d& sVector2d) : x(sVector2d.x), y(sVector2d.y) {} void Set(double fx, double fy) { x = fx; y = fy; } double Dot(const PRCVector2d & sPt) const { return(x*sPt.x)+(y*sPt.y); } double LengthSquared() { return(x*x+y*y); } friend PRCVector2d operator + (const PRCVector2d& a, const PRCVector2d& b) { return PRCVector2d(a.x+b.x,a.y+b.y); } friend PRCVector2d operator - (const PRCVector2d& a) { return PRCVector2d(-a.x,-a.y); } friend PRCVector2d operator - (const PRCVector2d& a, const PRCVector2d& b) { return PRCVector2d(a.x-b.x,a.y-b.y); } friend PRCVector2d operator * (const PRCVector2d& a, const double d) { return PRCVector2d(a.x*d,a.y*d); } friend PRCVector2d operator * (const double d, const PRCVector2d& a) { return PRCVector2d(a.x*d,a.y*d); } friend PRCVector2d operator / (const PRCVector2d& a, const double d) { return PRCVector2d(a.x/d,a.y/d); } double Length(); bool Normalize(); bool operator==(const PRCVector2d &v) const { return x==v.x && y==v.y; } bool operator!=(const PRCVector2d &v) const { return !(x==v.x && y==v.y); } bool operator<(const PRCVector2d &v) const { if(x!=v.x) return (x \ { bool operator()(const PRCtype* Left, const PRCtype* Right) const { return (*Left < *Right); } }; \ typedef std::map PRCtype##Map; #define PRCLIST(PRCtype) \ typedef std::deque PRCtype##List; struct PRCRgbColor { PRCRgbColor(double r=0.0, double g=0.0, double b=0.0) : red(r), green(g), blue(b) {} double red,green,blue; void serializeRgbColor(PRCbitStream&); bool operator==(const PRCRgbColor &c) const { return (EQFLD(red) && EQFLD(green) && EQFLD(blue) ); } bool operator!=(const PRCRgbColor &c) const { return !(EQFLD(red) && EQFLD(green) && EQFLD(blue) ); } bool operator<(const PRCRgbColor &c) const { COMPFLD(red) COMPFLD(green) COMPFLD(blue) return false; } }; typedef std::map PRCRgbColorMap; typedef std::deque PRCRgbColorList; class PRCUncompressedFile { public: PRCUncompressedFile() {} PRCUncompressedFile(uint32_t fs, uint8_t *d) { file_contents.assign( d, d + fs ); } std::vector file_contents; void serializeUncompressedFile(std::ostream&) const; uint32_t getSize() const; bool operator==(const PRCUncompressedFile& c) const { return file_contents==c.file_contents; } bool operator<(const PRCUncompressedFile& c) const { return file_contents lengths; double phase; bool is_real_length; }; typedef std::deque PRCLinePatternList; class PRCStyle : public ContentPRCBase { public: PRCStyle(std::string n="") : ContentPRCBase(PRC_TYPE_GRAPH_Style,n), line_width(0.0), is_vpicture(false), line_pattern_vpicture_index(m1), is_material(false), color_material_index(m1), is_transparency_defined(false), transparency(255), additional(0) {} void serializeCategory1LineStyle(PRCbitStream&); double line_width; bool is_vpicture; uint32_t line_pattern_vpicture_index; bool is_material; uint32_t color_material_index; bool is_transparency_defined; uint8_t transparency; uint8_t additional; bool operator==(const PRCStyle& c) const { return (EQFLD(line_width) && EQFLD(is_vpicture) && EQFLD(line_pattern_vpicture_index) && EQFLD(is_material) && EQFLD(color_material_index) && EQFLD(is_transparency_defined) && EQFLD(transparency) && EQFLD(additional) && EQFLD(name) ); } bool operator<(const PRCStyle& c) const { COMPFLD(line_width) COMPFLD(is_vpicture) COMPFLD(line_pattern_vpicture_index) COMPFLD(is_material) COMPFLD(color_material_index) COMPFLD(is_transparency_defined) COMPFLD(transparency) COMPFLD(additional) COMPFLD(name) return false; } }; PRCLIST(PRCStyle) PRCMAP(PRCStyle) #undef EQFLD #undef COMPFLD #undef PRCMAP class PRCTessFace { public: PRCTessFace() : start_wire(0), used_entities_flag(0), start_triangulated(0), number_of_texture_coordinate_indexes(0), is_rgba(false), behaviour(PRC_GRAPHICS_Show) {} void serializeTessFace(PRCbitStream&); std::vector line_attributes; uint32_t start_wire; // specifing bounding wire seems not to work as of Acrobat/Reader 9.2 std::vector sizes_wire; // specifing bounding wire seems not to work as of Acrobat/Reader 9.2 uint32_t used_entities_flag; uint32_t start_triangulated; std::vector sizes_triangulated; uint32_t number_of_texture_coordinate_indexes; bool is_rgba; std::vector rgba_vertices; uint32_t behaviour; }; typedef std::deque PRCTessFaceList; class PRCContentBaseTessData { public: PRCContentBaseTessData() : is_calculated(false) {} void serializeContentBaseTessData(PRCbitStream&); bool is_calculated; std::vector coordinates; }; class PRCTess : public PRCContentBaseTessData { public: virtual ~PRCTess() {} virtual void serializeBaseTessData(PRCbitStream &pbs) = 0; }; typedef std::deque PRCTessList; class PRC3DTess : public PRCTess { public: PRC3DTess() : has_faces(false), has_loops(false), crease_angle(25.8419) // arccos(0.9), default found in Acrobat output {} ~PRC3DTess() { for(PRCTessFaceList::iterator it=face_tessellation.begin(); it!=face_tessellation.end(); ++it) delete *it; } void serialize3DTess(PRCbitStream&); void serializeBaseTessData(PRCbitStream &pbs) { serialize3DTess(pbs); } void addTessFace(PRCTessFace*& pTessFace); bool has_faces; bool has_loops; double crease_angle; std::vector normal_coordinate; std::vector wire_index; // specifing bounding wire seems not to work as of Acrobat/Reader 9.2 std::vector triangulated_index; PRCTessFaceList face_tessellation; std::vector texture_coordinate; }; class PRC3DWireTess : public PRCTess { public: PRC3DWireTess() : is_rgba(false), is_segment_color(false) {} void serialize3DWireTess(PRCbitStream&); void serializeBaseTessData(PRCbitStream &pbs) { serialize3DWireTess(pbs); } bool is_rgba; bool is_segment_color; std::vector wire_indexes; std::vector rgba_vertices; }; class PRCMarkupTess : public PRCTess { public: PRCMarkupTess() : behaviour(0) {} void serializeMarkupTess(PRCbitStream&); void serializeBaseTessData(PRCbitStream &pbs) { serializeMarkupTess(pbs); } std::vector codes; std::vector texts; std::string label; uint8_t behaviour; }; class PRCGraphics { public: PRCGraphics() : layer_index(m1), index_of_line_style(m1), behaviour_bit_field(PRC_GRAPHICS_Show) {} void serializeGraphics(PRCbitStream&); void serializeGraphicsForced(PRCbitStream&); bool has_graphics() { return (index_of_line_style!=m1 || layer_index!=m1 || behaviour_bit_field!=PRC_GRAPHICS_Show) ; } uint32_t layer_index; uint32_t index_of_line_style; uint16_t behaviour_bit_field; }; typedef std::deque PRCGraphicsList; void writeGraphics(PRCbitStream&,const PRCGraphics&,bool=false); class PRCMarkup: public PRCGraphics, public ContentPRCBase { public: PRCMarkup(std::string n="") : ContentPRCBase(PRC_TYPE_MKP_Markup,n), type(KEPRCMarkupType_Unknown), sub_type(KEPRCMarkupSubType_Unknown), index_tessellation(m1) {} void serializeMarkup(PRCbitStream&); EPRCMarkupType type; EPRCMarkupSubType sub_type; // vector linked_items; // vector leaders; uint32_t index_tessellation; }; typedef std::deque PRCMarkupList; class PRCAnnotationItem: public PRCGraphics, public ContentPRCBase { public: PRCAnnotationItem(std::string n="") : ContentPRCBase(PRC_TYPE_MKP_AnnotationItem,n) {} void serializeAnnotationItem(PRCbitStream&); void serializeAnnotationEntity(PRCbitStream &pbs) { serializeAnnotationItem(pbs); } PRCReferenceUniqueIdentifier markup; }; typedef std::deque PRCAnnotationItemList; class PRCRepresentationItemContent: public PRCGraphics, public ContentPRCBase { public: PRCRepresentationItemContent(uint32_t t, std::string n="") : ContentPRCBase(t,n), index_local_coordinate_system(m1), index_tessellation(m1) {} void serializeRepresentationItemContent(PRCbitStream&); uint32_t index_local_coordinate_system; uint32_t index_tessellation; }; class PRCRepresentationItem : public PRCRepresentationItemContent { public: PRCRepresentationItem(uint32_t t, std::string n="") : PRCRepresentationItemContent(t,n) {} virtual ~PRCRepresentationItem() {} virtual void serializeRepresentationItem(PRCbitStream &pbs) = 0; }; typedef std::deque PRCRepresentationItemList; class PRCBrepModel : public PRCRepresentationItem { public: PRCBrepModel(std::string n="") : PRCRepresentationItem(PRC_TYPE_RI_BrepModel,n), has_brep_data(true), context_id(m1), body_id(m1), is_closed(false) {} void serializeBrepModel(PRCbitStream&); void serializeRepresentationItem(PRCbitStream &pbs) { serializeBrepModel(pbs); } bool has_brep_data; uint32_t context_id; uint32_t body_id; bool is_closed; }; class PRCPolyBrepModel : public PRCRepresentationItem { public: PRCPolyBrepModel(std::string n="") : PRCRepresentationItem(PRC_TYPE_RI_PolyBrepModel,n), is_closed(false) {} void serializePolyBrepModel(PRCbitStream&); void serializeRepresentationItem(PRCbitStream &pbs) { serializePolyBrepModel(pbs); } bool is_closed; }; class PRCPointSet : public PRCRepresentationItem { public: PRCPointSet(std::string n="") : PRCRepresentationItem(PRC_TYPE_RI_PointSet,n) {} void serializePointSet(PRCbitStream&); void serializeRepresentationItem(PRCbitStream &pbs) { serializePointSet(pbs); } std::vector point; }; class PRCWire : public PRCRepresentationItem { public: PRCWire(std::string n="") : PRCRepresentationItem(PRC_TYPE_RI_Curve,n), has_wire_body(true), context_id(m1), body_id(m1) {} void serializeWire(PRCbitStream&); void serializeRepresentationItem(PRCbitStream &pbs) { serializeWire(pbs); } bool has_wire_body; uint32_t context_id; uint32_t body_id; }; class PRCPolyWire : public PRCRepresentationItem { public: PRCPolyWire(std::string n="") : PRCRepresentationItem(PRC_TYPE_RI_PolyWire,n) {} void serializePolyWire(PRCbitStream&); void serializeRepresentationItem(PRCbitStream &pbs) { serializePolyWire(pbs); } }; class PRCSet : public PRCRepresentationItem { public: PRCSet(std::string n="") : PRCRepresentationItem(PRC_TYPE_RI_Set,n) {} ~PRCSet() { for(PRCRepresentationItemList::iterator it=elements.begin(); it!=elements.end(); ++it) delete *it; } void serializeSet(PRCbitStream&); void serializeRepresentationItem(PRCbitStream &pbs) { serializeSet(pbs); } uint32_t addBrepModel(PRCBrepModel*& pBrepModel); uint32_t addPolyBrepModel(PRCPolyBrepModel*& pPolyBrepModel); uint32_t addPointSet(PRCPointSet*& pPointSet); uint32_t addSet(PRCSet*& pSet); uint32_t addWire(PRCWire*& pWire); uint32_t addPolyWire(PRCPolyWire*& pPolyWire); uint32_t addRepresentationItem(PRCRepresentationItem*& pRepresentationItem); PRCRepresentationItemList elements; }; class PRCTransformation3d { public: virtual ~PRCTransformation3d() {} virtual void serializeTransformation3d(PRCbitStream&) const =0; }; typedef std::deque PRCTransformation3dList; class PRCGeneralTransformation3d : public PRCTransformation3d { public: PRCGeneralTransformation3d() { setidentity(); } PRCGeneralTransformation3d(const double t[]) { set(t); } void serializeGeneralTransformation3d(PRCbitStream&) const; void serializeTransformation3d(PRCbitStream& pbs) const { serializeGeneralTransformation3d(pbs); } double m_coef[16]; bool operator==(const PRCGeneralTransformation3d &t) const { for (size_t i=0;i<16;i++) if(m_coef[i]!=t.m_coef[i]) return false; return true; } bool operator<(const PRCGeneralTransformation3d &t) const { for (size_t i=0;i<16;i++) if(m_coef[i]!=t.m_coef[i]) { return (m_coef[i] PRCGeneralTransformation3dList; class PRCCartesianTransformation3d : public PRCTransformation3d { public: PRCCartesianTransformation3d() : behaviour(PRC_TRANSFORMATION_Identity), origin(0.0,0.0,0.0), X(1.0,0.0,0.0), Y(0.0,1.0,0.0), Z(0.0,0.0,1.0), scale(1.0,1.0,1.0), uniform_scale(1.0), X_homogeneous_coord(0.0), Y_homogeneous_coord(0.0), Z_homogeneous_coord(0.0), origin_homogeneous_coord(1.0) {} PRCCartesianTransformation3d(const double o[3], const double x[3], const double y[3], double sc) : behaviour(PRC_TRANSFORMATION_Identity), origin(o,0.0,0.0,0.0), X(x,1.0,0.0,0.0), Y(y,0.0,1.0,0.0), Z(0.0,0.0,1.0), scale(1.0,1.0,1.0), uniform_scale(sc), X_homogeneous_coord(0.0), Y_homogeneous_coord(0.0), Z_homogeneous_coord(0.0), origin_homogeneous_coord(1.0) { if(origin!=PRCVector3d(0.0,0.0,0.0)) behaviour = behaviour | PRC_TRANSFORMATION_Translate; if(X!=PRCVector3d(1.0,0.0,0.0) || Y!=PRCVector3d(0.0,1.0,0.0)) behaviour = behaviour | PRC_TRANSFORMATION_Rotate; if(uniform_scale!=1) behaviour = behaviour | PRC_TRANSFORMATION_Scale; } void serializeCartesianTransformation3d(PRCbitStream& pbs) const; void serializeTransformation3d(PRCbitStream& pbs) const { serializeCartesianTransformation3d(pbs); } uint8_t behaviour; PRCVector3d origin; PRCVector3d X; PRCVector3d Y; PRCVector3d Z; PRCVector3d scale; double uniform_scale; double X_homogeneous_coord; double Y_homogeneous_coord; double Z_homogeneous_coord; double origin_homogeneous_coord; bool operator==(const PRCCartesianTransformation3d &t) const { return behaviour==t.behaviour && origin==t.origin && X==t.X && Y==t.Y && Z==t.Z && scale==t.scale && uniform_scale==t.uniform_scale && X_homogeneous_coord==t.X_homogeneous_coord && Y_homogeneous_coord==t.Y_homogeneous_coord && Z_homogeneous_coord==t.Z_homogeneous_coord && origin_homogeneous_coord==t.origin_homogeneous_coord; } }; class PRCTransformation { public: PRCTransformation() : has_transformation(false), geometry_is_2D(false), behaviour(PRC_TRANSFORMATION_Identity), origin(0.0,0.0,0.0), x_axis(1.0,0.0,0.0), y_axis(0.0,1.0,0.0), scale(1) {} void serializeTransformation(PRCbitStream&); bool has_transformation; bool geometry_is_2D; uint8_t behaviour; PRCVector3d origin; PRCVector3d x_axis; PRCVector3d y_axis; double scale; }; class PRCCoordinateSystem : public PRCRepresentationItem { public: PRCCoordinateSystem(std::string n="") : PRCRepresentationItem(PRC_TYPE_RI_CoordinateSystem,n), axis_set(NULL) {} ~PRCCoordinateSystem() { delete axis_set; } void serializeCoordinateSystem(PRCbitStream&); void serializeRepresentationItem(PRCbitStream &pbs) { serializeCoordinateSystem(pbs); } void setAxisSet(PRCGeneralTransformation3d*& transform) { axis_set = transform; transform = NULL; } void setAxisSet(PRCCartesianTransformation3d*& transform) { axis_set = transform; transform = NULL; } PRCTransformation3d *axis_set; bool operator==(const PRCCoordinateSystem &t) const { if(index_local_coordinate_system!=t.index_local_coordinate_system) return false; PRCGeneralTransformation3d* axis_set_general = dynamic_cast(axis_set); PRCGeneralTransformation3d* t_axis_set_general = dynamic_cast(t.axis_set); PRCCartesianTransformation3d* axis_set_cartesian = dynamic_cast(axis_set); PRCCartesianTransformation3d* t_axis_set_cartesian = dynamic_cast(t.axis_set); if(axis_set_general!=NULL) return (t_axis_set_general!=NULL?(*axis_set_general==*t_axis_set_general):false); if(axis_set_cartesian!=NULL) return (t_axis_set_cartesian!=NULL?(*axis_set_cartesian==*t_axis_set_cartesian):false); return false; } }; typedef std::deque PRCCoordinateSystemList; struct PRCFontKey { uint32_t font_size; uint8_t attributes; }; class PRCFontKeysSameFont { public: void serializeFontKeysSameFont(PRCbitStream&); std::string font_name; uint32_t char_set; std::vector font_keys; }; // Topology class PRCBaseGeometry : public PRCAttributes { public: PRCBaseGeometry() : base_information(false), identifier(0) {} PRCBaseGeometry(std::string n, uint32_t id = 0) : base_information(true),name(n),identifier(id) {} void serializeBaseGeometry(PRCbitStream&); bool base_information; std::string name; uint32_t identifier; }; class PRCBoundingBox { public: PRCBoundingBox() : min(0.0,0.0,0.0), max(0.0,0.0,0.0) {} PRCBoundingBox(const PRCVector3d &m, const PRCVector3d& M) : min(m),max(M) {} void serializeBoundingBox(PRCbitStream &pbs); PRCVector3d min; PRCVector3d max; }; class PRCDomain { public: void serializeDomain(PRCbitStream &pbs); PRCVector2d min; PRCVector2d max; }; class PRCInterval { public: PRCInterval() : min(0), max(0) {} PRCInterval(double m, double M) : min(m), max(M) {} void serializeInterval(PRCbitStream &pbs); double min; double max; }; class PRCParameterization { public: PRCParameterization() : parameterization_coeff_a(1), parameterization_coeff_b(0) {} PRCParameterization(double min, double max) : interval(min, max), parameterization_coeff_a(1), parameterization_coeff_b(0) {} void serializeParameterization(PRCbitStream &pbs); PRCInterval interval; double parameterization_coeff_a; double parameterization_coeff_b; }; class PRCUVParameterization { public: PRCUVParameterization() : swap_uv(false), parameterization_on_u_coeff_a(1), parameterization_on_v_coeff_a(1), parameterization_on_u_coeff_b(0), parameterization_on_v_coeff_b(0) {} void serializeUVParameterization(PRCbitStream &pbs); bool swap_uv; PRCDomain uv_domain; double parameterization_on_u_coeff_a; double parameterization_on_v_coeff_a; double parameterization_on_u_coeff_b; double parameterization_on_v_coeff_b; }; class PRCControlPoint { public: PRCControlPoint() : x(0), y(0), z(0), w(1) {} PRCControlPoint(double X, double Y, double Z=0, double W=1) : x(X), y(Y), z(Z), w(W) {} PRCControlPoint(const PRCVector3d &v) : x(v.x), y(v.y), z(v.z), w(1) {} void Set(double fx, double fy, double fz, double fw=1) { x = fx; y = fy; z = fz; w = fw; } double x; double y; double z; double w; }; class PRCContentSurface: public PRCBaseGeometry { public: PRCContentSurface() : PRCBaseGeometry(), extend_info(KEPRCExtendTypeNone) {} PRCContentSurface(std::string n) : PRCBaseGeometry(n,makeCADID()),extend_info(KEPRCExtendTypeNone) {} void serializeContentSurface(PRCbitStream&); EPRCExtendType extend_info; }; class PRCSurface : public PRCContentSurface { public: PRCSurface() : PRCContentSurface() {} PRCSurface(std::string n) : PRCContentSurface(n) {} virtual ~PRCSurface() {} virtual void serializeSurface(PRCbitStream &pbs) = 0; }; class PRCNURBSSurface : public PRCSurface { public: PRCNURBSSurface() : PRCSurface(), knot_type(KEPRCKnotTypeUnspecified), surface_form(KEPRCBSplineSurfaceFormUnspecified) {} PRCNURBSSurface(std::string n) : PRCSurface(n), knot_type(KEPRCKnotTypeUnspecified), surface_form(KEPRCBSplineSurfaceFormUnspecified) {} void serializeNURBSSurface(PRCbitStream &pbs); void serializeSurface(PRCbitStream &pbs) { serializeNURBSSurface(pbs); } bool is_rational; uint32_t degree_in_u; uint32_t degree_in_v; std::vector control_point; std::vector knot_u; std::vector knot_v; const EPRCKnotType knot_type; const EPRCBSplineSurfaceForm surface_form; }; class PRCContentCurve: public PRCBaseGeometry { public: PRCContentCurve() : PRCBaseGeometry(), extend_info(KEPRCExtendTypeNone), is_3d(true) {} PRCContentCurve(std::string n) : PRCBaseGeometry(n,makeCADID()),extend_info(KEPRCExtendTypeNone), is_3d(true) {} void serializeContentCurve(PRCbitStream&); EPRCExtendType extend_info; bool is_3d; }; class PRCCurve : public PRCContentCurve { public: PRCCurve() : PRCContentCurve() {} PRCCurve(std::string n) : PRCContentCurve(n) {} virtual ~PRCCurve() {} virtual void serializeCurve(PRCbitStream &pbs) = 0; }; typedef std::deque PRCCurveList; class PRCNURBSCurve : public PRCCurve { public: PRCNURBSCurve() : PRCCurve(), knot_type(KEPRCKnotTypeUnspecified), curve_form(KEPRCBSplineCurveFormUnspecified) {} PRCNURBSCurve(std::string n) : PRCCurve(n), knot_type(KEPRCKnotTypeUnspecified), curve_form(KEPRCBSplineCurveFormUnspecified) {} void serializeNURBSCurve(PRCbitStream &pbs); void serializeCurve(PRCbitStream &pbs) { serializeNURBSCurve(pbs); } bool is_rational; uint32_t degree; std::vector control_point; std::vector knot; const EPRCKnotType knot_type; const EPRCBSplineCurveForm curve_form; }; class PRCPolyLine : public PRCCurve, public PRCTransformation, public PRCParameterization { public: PRCPolyLine() : PRCCurve() {} PRCPolyLine(std::string n) : PRCCurve(n) {} void serializePolyLine(PRCbitStream &pbs); void serializeCurve(PRCbitStream &pbs) { serializePolyLine(pbs); } std::vector point; }; class PRCCircle : public PRCCurve, public PRCTransformation, public PRCParameterization { public: PRCCircle() : PRCCurve(), PRCParameterization(0,2*pi) {} PRCCircle(std::string n) : PRCCurve(n), PRCParameterization(0,2*pi) {} void serializeCircle(PRCbitStream &pbs); void serializeCurve(PRCbitStream &pbs) { serializeCircle(pbs); } double radius; }; class PRCComposite : public PRCCurve, public PRCTransformation, public PRCParameterization { public: PRCComposite() : PRCCurve() {} PRCComposite(std::string n) : PRCCurve(n) {} void serializeComposite(PRCbitStream &pbs); void serializeCurve(PRCbitStream &pbs) { serializeComposite(pbs); } PRCCurveList base_curve; std::vector base_sense; bool is_closed; }; class PRCBlend01 : public PRCSurface, public PRCTransformation, public PRCUVParameterization { public: PRCBlend01() : PRCSurface(), center_curve(NULL), origin_curve(NULL), tangent_curve(NULL) {} PRCBlend01(std::string n) : PRCSurface(n), center_curve(NULL), origin_curve(NULL), tangent_curve(NULL) {} ~PRCBlend01() { delete center_curve; delete origin_curve; delete tangent_curve; } void serializeBlend01(PRCbitStream &pbs); void serializeSurface(PRCbitStream &pbs) { serializeBlend01(pbs); } // void setCenterCurve (PRCCurve*& curve) { center_curve = curve; curve = NULL; } // void setOriginCurve (PRCCurve*& curve) { origin_curve = curve; curve = NULL; } // void setTangentCurve(PRCCurve*& curve) { tangent_curve = curve; curve = NULL; } PRCCurve* center_curve; PRCCurve* origin_curve; PRCCurve* tangent_curve; }; class PRCRuled : public PRCSurface, public PRCTransformation, public PRCUVParameterization { public: PRCRuled() : PRCSurface(), first_curve(NULL), second_curve(NULL) {} PRCRuled(std::string n) : PRCSurface(n) {} ~PRCRuled() { delete first_curve; delete second_curve; } void serializeRuled(PRCbitStream &pbs); void serializeSurface(PRCbitStream &pbs) { serializeRuled(pbs); } // void setFirstCurve(PRCCurve*& curve) { first_curve = curve; curve = NULL; } // void setSecondCurve(PRCCurve*& curve) { second_curve = curve; curve = NULL; } PRCCurve* first_curve; PRCCurve* second_curve; }; class PRCSphere : public PRCSurface, public PRCTransformation, public PRCUVParameterization { public: PRCSphere() : PRCSurface() {} PRCSphere(std::string n) : PRCSurface(n) {} void serializeSphere(PRCbitStream &pbs); void serializeSurface(PRCbitStream &pbs) { serializeSphere(pbs); } double radius; }; class PRCCone : public PRCSurface, public PRCTransformation, public PRCUVParameterization { public: PRCCone() : PRCSurface() {} PRCCone(std::string n) : PRCSurface(n) {} void serializeCone(PRCbitStream &pbs); void serializeSurface(PRCbitStream &pbs) { serializeCone(pbs); } double bottom_radius; double semi_angle; }; class PRCCylinder : public PRCSurface, public PRCTransformation, public PRCUVParameterization { public: PRCCylinder() : PRCSurface() {} PRCCylinder(std::string n) : PRCSurface(n) {} void serializeCylinder(PRCbitStream &pbs); void serializeSurface(PRCbitStream &pbs) { serializeCylinder(pbs); } double radius; }; class PRCTorus : public PRCSurface, public PRCTransformation, public PRCUVParameterization { public: PRCTorus() : PRCSurface() {} PRCTorus(std::string n) : PRCSurface(n) {} void serializeTorus(PRCbitStream &pbs); void serializeSurface(PRCbitStream &pbs) { serializeTorus(pbs); } double major_radius; double minor_radius; }; class PRCBaseTopology : public PRCAttributes { public: PRCBaseTopology() : base_information(false),identifier(0) {} PRCBaseTopology(std::string n, uint32_t id = 0) : base_information(true),name(n),identifier(id) {} void serializeBaseTopology(PRCbitStream&); bool base_information; std::string name; uint32_t identifier; }; class PRCTopoItem { public: virtual ~PRCTopoItem() {} virtual void serializeTopoItem(PRCbitStream&)=0; }; class PRCContentBody: public PRCBaseTopology { public: PRCContentBody() : PRCBaseTopology(), behavior(0) {} PRCContentBody(std::string n) : PRCBaseTopology(n,makeCADID()), behavior(0) {} void serializeContentBody(PRCbitStream&); uint8_t behavior; }; class PRCBody : public PRCContentBody, public PRCTopoItem { public: PRCBody() : PRCContentBody(), topo_item_type(PRC_TYPE_ROOT) {} PRCBody(uint32_t tit) : PRCContentBody(), topo_item_type(tit) {} PRCBody(uint32_t tit, std::string n) : PRCContentBody(n), topo_item_type(tit) {} virtual ~PRCBody() {} virtual void serializeBody(PRCbitStream &pbs) = 0; void serializeTopoItem(PRCbitStream &pbs) { serializeBody(pbs); } uint32_t serialType() { return topo_item_type; } virtual double serialTolerance() { return 0; } const uint32_t topo_item_type; }; typedef std::deque PRCBodyList; class PRCContentWireEdge : public PRCBaseTopology { public: PRCContentWireEdge() : PRCBaseTopology(), curve_3d(NULL), has_curve_trim_interval(false) {} PRCContentWireEdge(std::string n) : PRCBaseTopology(n,makeCADID()), curve_3d(NULL), has_curve_trim_interval(false) {} ~PRCContentWireEdge() { delete curve_3d; } void serializeContentWireEdge(PRCbitStream &pbs); // void setCurve(PRCCurve*& curve) { curve_3d = curve; curve = NULL; } PRCCurve* curve_3d; bool has_curve_trim_interval; PRCInterval curve_trim_interval; }; class PRCWireEdge : public PRCContentWireEdge, public PRCTopoItem { public: void serializeWireEdge(PRCbitStream &pbs); void serializeTopoItem(PRCbitStream &pbs) { serializeWireEdge(pbs); } }; class PRCSingleWireBody : public PRCBody { public: PRCSingleWireBody() : PRCBody(PRC_TYPE_TOPO_SingleWireBody), wire_edge(NULL) {} PRCSingleWireBody(std::string n) : PRCBody(PRC_TYPE_TOPO_SingleWireBody, n), wire_edge(NULL) {} ~PRCSingleWireBody() { delete wire_edge; } void serializeSingleWireBody(PRCbitStream &pbs); void serializeBody(PRCbitStream &pbs) { serializeSingleWireBody(pbs); } void setWireEdge(PRCWireEdge*& wireEdge) { wire_edge = wireEdge; wireEdge = NULL; } PRCWireEdge* wire_edge; }; class PRCFace : public PRCBaseTopology, public PRCTopoItem, public PRCGraphics { public: PRCFace() : PRCBaseTopology(), base_surface(NULL), have_surface_trim_domain(false), have_tolerance(false), tolerance(0), number_of_loop(0), outer_loop_index(-1) {} PRCFace(std::string n) : PRCBaseTopology(n,makeCADID()), base_surface(NULL), have_surface_trim_domain(false), have_tolerance(false), tolerance(0), number_of_loop(0), outer_loop_index(-1) {} ~PRCFace() { delete base_surface; } void serializeFace(PRCbitStream &pbs); void serializeTopoItem(PRCbitStream &pbs) { serializeFace(pbs); } void setBaseSurface(PRCSurface*& surface) { base_surface = surface; surface = NULL; } PRCSurface *base_surface; const bool have_surface_trim_domain; PRCDomain surface_trim_domain; const bool have_tolerance; const double tolerance; const uint32_t number_of_loop; const int32_t outer_loop_index; // PRCLoopList loop; }; typedef std::deque PRCFaceList; class PRCShell : public PRCBaseTopology, public PRCTopoItem { public: PRCShell() : PRCBaseTopology(), shell_is_closed(false) {} PRCShell(std::string n) : PRCBaseTopology(n,makeCADID()), shell_is_closed(false) {} ~PRCShell() { for(PRCFaceList::iterator it=face.begin(); it!=face.end(); ++it) delete *it; } void serializeShell(PRCbitStream &pbs); void serializeTopoItem(PRCbitStream &pbs) { serializeShell(pbs); } void addFace(PRCFace*& pFace, uint8_t orientation=2); bool shell_is_closed; PRCFaceList face; std::vector orientation_surface_with_shell; }; typedef std::deque PRCShellList; class PRCConnex : public PRCBaseTopology, public PRCTopoItem { public: PRCConnex() : PRCBaseTopology() {} PRCConnex(std::string n) : PRCBaseTopology(n,makeCADID()) {} ~PRCConnex() { for(PRCShellList::iterator it=shell.begin(); it!=shell.end(); ++it) delete *it; } void serializeConnex(PRCbitStream &pbs); void serializeTopoItem(PRCbitStream &pbs) { serializeConnex(pbs); } void addShell(PRCShell*& pShell); PRCShellList shell; }; typedef std::deque PRCConnexList; class PRCBrepData : public PRCBody, public PRCBoundingBox { public: PRCBrepData() : PRCBody(PRC_TYPE_TOPO_BrepData) {} PRCBrepData(std::string n) : PRCBody(PRC_TYPE_TOPO_BrepData, n) {} ~PRCBrepData() { for(PRCConnexList::iterator it=connex.begin(); it!=connex.end(); ++it) delete *it; } void serializeBrepData(PRCbitStream &pbs); void serializeBody(PRCbitStream &pbs) { serializeBrepData(pbs); } void addConnex(PRCConnex*& pConnex); PRCConnexList connex; }; // For now - treat just the case of Bezier surfaces cubic 4x4 or linear 2x2 class PRCCompressedFace : public PRCBaseTopology, public PRCGraphics { public: PRCCompressedFace() : PRCBaseTopology(), orientation_surface_with_shell(true), degree(0) {} PRCCompressedFace(std::string n) : PRCBaseTopology(n,makeCADID()), orientation_surface_with_shell(true), degree(0) {} void serializeCompressedFace(PRCbitStream &pbs, double brep_data_compressed_tolerance); void serializeContentCompressedFace(PRCbitStream &pbs); void serializeCompressedAnaNurbs(PRCbitStream &pbs, double brep_data_compressed_tolerance); void serializeCompressedNurbs(PRCbitStream &pbs, double brep_data_compressed_tolerance); bool orientation_surface_with_shell; uint32_t degree; std::vector control_point; }; typedef std::deque PRCCompressedFaceList; // For now - treat just the case of one connex/one shell class PRCCompressedBrepData : public PRCBody { public: PRCCompressedBrepData() : PRCBody(PRC_TYPE_TOPO_BrepDataCompress), serial_tolerance(0), brep_data_compressed_tolerance(0) {} PRCCompressedBrepData(std::string n) : PRCBody(PRC_TYPE_TOPO_BrepDataCompress, n), serial_tolerance(0), brep_data_compressed_tolerance(0) {} ~PRCCompressedBrepData() { for(PRCCompressedFaceList::iterator it=face.begin(); it!=face.end(); ++it) delete *it; } void serializeCompressedBrepData(PRCbitStream &pbs); void serializeBody(PRCbitStream &pbs) { serializeCompressedBrepData(pbs); } void serializeCompressedShell(PRCbitStream &pbs); double serialTolerance() { return serial_tolerance; } double serial_tolerance; double brep_data_compressed_tolerance; PRCCompressedFaceList face; }; class PRCTopoContext : public ContentPRCBase { public: PRCTopoContext(std::string n="") : ContentPRCBase(PRC_TYPE_TOPO_Context,n), behaviour(0), granularity(1), tolerance(0), have_smallest_face_thickness(false), smallest_thickness(0), have_scale(false), scale(1) {} ~PRCTopoContext() { for(PRCBodyList::iterator it=body.begin(); it!=body.end(); ++it) delete *it; } void serializeTopoContext(PRCbitStream&); void serializeContextAndBodies(PRCbitStream&); void serializeGeometrySummary(PRCbitStream&); void serializeContextGraphics(PRCbitStream&); uint32_t addSingleWireBody(PRCSingleWireBody*& body); uint32_t addBrepData(PRCBrepData*& body); uint32_t addCompressedBrepData(PRCCompressedBrepData*& body); uint8_t behaviour; double granularity; double tolerance; bool have_smallest_face_thickness; double smallest_thickness; bool have_scale; double scale; PRCBodyList body; }; typedef std::deque PRCTopoContextList; class PRCUniqueId { public: PRCUniqueId() : id0(0), id1(0), id2(0), id3(0) {} void serializeCompressedUniqueId(PRCbitStream&) const; void serializeFileStructureUncompressedUniqueId(std::ostream& out) const; uint32_t id0; uint32_t id1; uint32_t id2; uint32_t id3; }; class PRCUnit { public: PRCUnit() : unit_from_CAD_file(false), unit(1) {} PRCUnit(double u, bool ufcf=true) : unit_from_CAD_file(ufcf), unit(u) {} void serializeUnit(PRCbitStream&); bool unit_from_CAD_file; double unit; }; class PRCProductOccurrence: public PRCGraphics, public ContentPRCBase { public: PRCProductOccurrence(std::string n="") : ContentPRCBase(PRC_TYPE_ASM_ProductOccurence,n), index_part(m1), index_prototype(m1), prototype_in_same_file_structure(true), index_external_data(m1), external_data_in_same_file_structure(true), product_behaviour(0), product_information_flags(0), product_load_status(KEPRCProductLoadStatus_Loaded), location(NULL) {} ~PRCProductOccurrence() { delete location; } void setLocation(PRCGeneralTransformation3d*& transform) { location = transform; transform = NULL; } void serializeProductOccurrence(PRCbitStream&); uint32_t index_part; uint32_t index_prototype; bool prototype_in_same_file_structure; PRCUniqueId prototype_file_structure; uint32_t index_external_data; bool external_data_in_same_file_structure; PRCUniqueId external_data_file_structure; std::vector index_son_occurrence; uint8_t product_behaviour; PRCUnit unit_information; uint8_t product_information_flags; EPRCProductLoadStatus product_load_status; PRCGeneralTransformation3d *location; }; typedef std::deque PRCProductOccurrenceList; class PRCPartDefinition: public PRCGraphics, public ContentPRCBase, public PRCBoundingBox { public: PRCPartDefinition(std::string n="") : ContentPRCBase(PRC_TYPE_ASM_PartDefinition,n) {} ~PRCPartDefinition() { for(PRCRepresentationItemList::iterator it=representation_item.begin(); it!=representation_item.end(); ++it) delete *it; } void serializePartDefinition(PRCbitStream&); uint32_t addBrepModel(PRCBrepModel*& pBrepModel); uint32_t addPolyBrepModel(PRCPolyBrepModel*& pPolyBrepModel); uint32_t addPointSet(PRCPointSet*& pPointSet); uint32_t addSet(PRCSet*& pSet); uint32_t addWire(PRCWire*& pWire); uint32_t addPolyWire(PRCPolyWire*& pPolyWire); uint32_t addRepresentationItem(PRCRepresentationItem*& pRepresentationItem); PRCRepresentationItemList representation_item; }; typedef std::deque PRCPartDefinitionList; #endif //__WRITE_PRC_H mathgl-2.1.3.1/src/prc/oPRCFile.cc0000664000175000017500000025653112142400465016215 0ustar balakinbalakin/************ * * This file is part of a tool for producing 3D content in the PRC format. * Copyright (C) 2008 Orest Shardt * with enhancements contributed by Michail Vidiassov. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * *************/ #include "oPRCFile.h" #include #include #include #include #include #include #include #include #define WriteUnsignedInteger( value ) out << (uint32_t)(value); #define WriteInteger( value ) out << (int32_t)(value); #define WriteDouble( value ) out << (double)(value); #define WriteString( value ) out << (value); #define WriteUncompressedUnsignedInteger( value ) writeUncompressedUnsignedInteger(out, (uint32_t)(value)); #define WriteUncompressedBlock( value, count ) out.write((char *)(value),(count)); #define SerializeFileStructureUncompressedUniqueId( value ) (value).serializeFileStructureUncompressedUniqueId(out); #define SerializeCompressedUniqueId( value ) (value).serializeCompressedUniqueId(out); #define SerializeContentPRCBase write(out); #define SerializeRgbColor( value ) (value).serializeRgbColor(out); #define SerializePicture( value ) (value)->serializePicture(out); #define SerializeTextureDefinition( value ) (value)->serializeTextureDefinition(out); #define SerializeMarkup( value ) (value)->serializeMarkup(out); #define SerializeAnnotationEntity( value ) (value)->serializeAnnotationEntity(out); #define SerializeFontKeysSameFont( value ) (value).serializeFontKeysSameFont(out); #define SerializeMaterial( value ) (value)->serializeMaterial(out); #define SerializeUserData UserData(0,0).write(out); #define SerializeEmptyContentPRCBase ContentPRCBase(PRC_TYPE_ROOT_PRCBase).serializeContentPRCBase(out); #define SerializeCategory1LineStyle( value ) (value)->serializeCategory1LineStyle(out); #define SerializeCoordinateSystem( value ) (value)->serializeCoordinateSystem(out); #define SerializeRepresentationItem( value ) (value)->serializeRepresentationItem(out); #define SerializePartDefinition( value ) (value)->serializePartDefinition(out); #define SerializeProductOccurrence( value ) (value)->serializeProductOccurrence(out); #define SerializeContextAndBodies( value ) (value)->serializeContextAndBodies(out); #define SerializeGeometrySummary( value ) (value)->serializeGeometrySummary(out); #define SerializeContextGraphics( value ) (value)->serializeContextGraphics(out); #define SerializeStartHeader serializeStartHeader(out); #define SerializeUncompressedFile( value ) (value)->serializeUncompressedFile(out); #define SerializeUncompressedFiles serializeUncompressedFiles(out); #define SerializeModelFileData serializeModelFileData(modelFile_out); modelFile_out.compress(); #define SerializeUnit( value ) (value).serializeUnit(out); using std::string; using namespace std; // Map [0,1] to [0,255] inline uint8_t byte(double r) { if(r < 0.0) r=0.0; else if(r > 1.0) r=1.0; int a=(int)(256.0*r); if(a == 256) a=255; return a; } void PRCFileStructure::serializeFileStructureGlobals(PRCbitStream &out) { // even though this is technically not part of this section, // it is handled here for convenience const uint32_t number_of_schema = 0; WriteUnsignedInteger (number_of_schema) WriteUnsignedInteger (PRC_TYPE_ASM_FileStructureGlobals) PRCSingleAttribute sa((int32_t)PRCVersion); PRCAttribute a("__PRC_RESERVED_ATTRIBUTE_PRCInternalVersion"); a.addKey(sa); ContentPRCBase cb(PRC_TYPE_ROOT_PRCBase); cb.addAttribute(a); cb.serializeContentPRCBase(out); WriteUnsignedInteger (number_of_referenced_file_structures) // SerializeFileStructureInternalGlobalData WriteDouble (tessellation_chord_height_ratio) WriteDouble (tessellation_angle_degree) // SerializeMarkupSerializationHelper WriteString (default_font_family_name) const uint32_t number_of_fonts = font_keys_of_font.size(); WriteUnsignedInteger (number_of_fonts) for (uint32_t i=0;iunit_information.unit_from_CAD_file = true; product_occurrences[i]->unit_information.unit = unit; SerializeProductOccurrence (product_occurrences[i]) } // SerializeFileStructureInternalData WriteUnsignedInteger (PRC_TYPE_ASM_FileStructure) SerializeEmptyContentPRCBase const uint32_t next_available_index = makePRCID(); WriteUnsignedInteger (next_available_index) const uint32_t index_product_occurence = number_of_product_occurrences; // Asymptote (oPRCFile) specific - we write the root product last WriteUnsignedInteger (index_product_occurence) SerializeUserData } void PRCFileStructure::serializeFileStructureTessellation(PRCbitStream &out) { WriteUnsignedInteger (PRC_TYPE_ASM_FileStructureTessellation) SerializeEmptyContentPRCBase const uint32_t number_of_tessellations = tessellations.size(); WriteUnsignedInteger (number_of_tessellations) for (uint32_t i=0;iserializeBaseTessData(out); SerializeUserData } void PRCFileStructure::serializeFileStructureGeometry(PRCbitStream &out) { WriteUnsignedInteger (PRC_TYPE_ASM_FileStructureGeometry) SerializeEmptyContentPRCBase const uint32_t number_of_contexts = contexts.size(); WriteUnsignedInteger (number_of_contexts) for (uint32_t i=0;ifile_structure_uuid ) // index+1 out << (uint32_t)fileStructures[0]->product_occurrences.size(); // active out << true; out << (uint32_t)0; // index in model file SerializeUserData } void makeFileUUID(PRCUniqueId& UUID) { // make a UUID static uint32_t count = 0; ++count; // the minimum requirement on UUIDs is that all must be unique in the file UUID.id0 = 0x33595341; // some constant UUID.id1 = (uint32_t)time(NULL); // the time UUID.id2 = count; UUID.id3 = 0xa5a55a5a; // Something random, not seeded by the time, would be nice. But for now, a constant // maybe add something else to make it more unique // so multiple files can be combined // a hash of some data perhaps? } void makeAppUUID(PRCUniqueId& UUID) { UUID.id0 = UUID.id1 = UUID.id2 = UUID.id3 = 0; } void PRCStartHeader::serializeStartHeader(ostream &out) const { WriteUncompressedBlock ("PRC",3) WriteUncompressedUnsignedInteger (minimal_version_for_read) WriteUncompressedUnsignedInteger (authoring_version) SerializeFileStructureUncompressedUniqueId( file_structure_uuid ); SerializeFileStructureUncompressedUniqueId( application_uuid ); } void PRCStartHeader::serializeUncompressedFiles(ostream &out) const { const uint32_t number_of_uncompressed_files = uncompressed_files.size(); WriteUncompressedUnsignedInteger (number_of_uncompressed_files) for (uint32_t i=0; igetSize(); return size; } void PRCFileStructure::write(ostream &out) { // SerializeFileStructureHeader SerializeStartHeader SerializeUncompressedFiles globals_out.write(out); tree_out.write(out); tessellations_out.write(out); geometry_out.write(out); extraGeometry_out.write(out); } #define SerializeFileStructureGlobals serializeFileStructureGlobals(globals_out); globals_out.compress(); sizes[1]=globals_out.getSize(); #define SerializeFileStructureTree serializeFileStructureTree(tree_out); tree_out.compress(); sizes[2]=tree_out.getSize(); #define SerializeFileStructureTessellation serializeFileStructureTessellation(tessellations_out); tessellations_out.compress(); sizes[3]=tessellations_out.getSize(); #define SerializeFileStructureGeometry serializeFileStructureGeometry(geometry_out); geometry_out.compress(); sizes[4]=geometry_out.getSize(); #define SerializeFileStructureExtraGeometry serializeFileStructureExtraGeometry(extraGeometry_out); extraGeometry_out.compress(); sizes[5]=extraGeometry_out.getSize(); #define FlushSerialization resetGraphicsAndName(); void PRCFileStructure::prepare() { uint32_t size = 0; size += getStartHeaderSize(); size += sizeof(uint32_t); size += getUncompressedFilesSize(); sizes[0]=size; SerializeFileStructureGlobals FlushSerialization SerializeFileStructureTree FlushSerialization SerializeFileStructureTessellation FlushSerialization SerializeFileStructureGeometry FlushSerialization SerializeFileStructureExtraGeometry FlushSerialization } uint32_t PRCFileStructure::getSize() { uint32_t size = 0; for(size_t i=0; i<6; i++) size += sizes[i]; return size; } void PRCFileStructureInformation::write(ostream &out) { SerializeFileStructureUncompressedUniqueId( UUID ); WriteUncompressedUnsignedInteger (reserved) WriteUncompressedUnsignedInteger (number_of_offsets) for(uint32_t i = 0; i < number_of_offsets; ++i) { WriteUncompressedUnsignedInteger (offsets[i]) } } uint32_t PRCFileStructureInformation::getSize() { return (4+2+number_of_offsets)*sizeof(uint32_t); } void PRCHeader::write(ostream &out) { SerializeStartHeader WriteUncompressedUnsignedInteger (number_of_file_structures) for(uint32_t i = 0; i < number_of_file_structures; ++i) { fileStructureInformation[i].write(out); } WriteUncompressedUnsignedInteger (model_file_offset) WriteUncompressedUnsignedInteger (file_size) SerializeUncompressedFiles } uint32_t PRCHeader::getSize() { uint32_t size = getStartHeaderSize() + sizeof(uint32_t); for(uint32_t i = 0; i < number_of_file_structures; ++i) size += fileStructureInformation[i].getSize(); size += 3*sizeof(uint32_t); size += getUncompressedFilesSize(); return size; } void oPRCFile::doGroup(PRCgroup& group) { const string& name = group.name; PRCProductOccurrence*& product_occurrence = group.product_occurrence; PRCProductOccurrence*& parent_product_occurrence = group.parent_product_occurrence; PRCPartDefinition*& part_definition = group.part_definition; PRCPartDefinition*& parent_part_definition = group.parent_part_definition; if(group.options.tess) { if(!group.lines.empty()) { for(PRCtesslineMap::const_iterator wit=group.lines.begin(); wit!=group.lines.end(); wit++) { bool same_color = true; const PRCtesslineList& lines = wit->second; const PRCRgbColor &color = lines.front().color; for(PRCtesslineList::const_iterator lit=lines.begin(); lit!=lines.end(); lit++) if(color!=lit->color) { same_color = false; break; } map points; PRC3DWireTess *tess = new PRC3DWireTess(); if(!same_color) { tess->is_segment_color = true; tess->is_rgba = false; } for(PRCtesslineList::const_iterator lit=lines.begin(); lit!=lines.end(); lit++) { tess->wire_indexes.push_back(lit->point.size()); for(uint32_t i=0; ipoint.size(); i++) { map::iterator pPoint = points.find(lit->point[i]); if(pPoint!=points.end()) tess->wire_indexes.push_back(pPoint->second); else { const uint32_t point_index = tess->coordinates.size(); points.insert(make_pair(lit->point[i],point_index)); tess->wire_indexes.push_back(point_index); tess->coordinates.push_back(lit->point[i].x); tess->coordinates.push_back(lit->point[i].y); tess->coordinates.push_back(lit->point[i].z); } if(!same_color && i>0) { tess->rgba_vertices.push_back(byte(lit->color.red)); tess->rgba_vertices.push_back(byte(lit->color.green)); tess->rgba_vertices.push_back(byte(lit->color.blue)); } } } const uint32_t tess_index = add3DWireTess(tess); PRCPolyWire *polyWire = new PRCPolyWire(); polyWire->index_tessellation = tess_index; if(same_color) polyWire->index_of_line_style = addColourWidth(RGBAColour(color.red,color.green,color.blue),wit->first); else polyWire->index_of_line_style = addColourWidth(RGBAColour(1,1,1),wit->first); part_definition->addPolyWire(polyWire); } } // make rectangles pairs of triangles in a tesselation if(!group.rectangles.empty()) { bool same_color = true; const uint32_t &style = group.rectangles.front().style; for(PRCtessrectangleList::const_iterator rit=group.rectangles.begin(); rit!=group.rectangles.end(); rit++) if(style!=rit->style) { same_color = false; break; } map points; PRC3DTess *tess = new PRC3DTess(); tess->crease_angle = group.options.crease_angle; PRCTessFace *tessFace = new PRCTessFace(); tessFace->used_entities_flag=PRC_FACETESSDATA_Triangle; uint32_t triangles = 0; for(PRCtessrectangleList::const_iterator rit=group.rectangles.begin(); rit!=group.rectangles.end(); rit++) { const bool degenerate = (rit->vertices[0]==rit->vertices[1]); uint32_t vertex_indices[4]; for(size_t i = (degenerate?1:0); i < 4; ++i) { map::const_iterator pPoint = points.find(rit->vertices[i]); if(pPoint!=points.end()) vertex_indices[i] = pPoint->second; else { points.insert(make_pair(rit->vertices[i],(vertex_indices[i] = tess->coordinates.size()))); tess->coordinates.push_back(rit->vertices[i].x); tess->coordinates.push_back(rit->vertices[i].y); tess->coordinates.push_back(rit->vertices[i].z); } } if(degenerate) { tess->triangulated_index.push_back(vertex_indices[1]); tess->triangulated_index.push_back(vertex_indices[2]); tess->triangulated_index.push_back(vertex_indices[3]); triangles++; if(!same_color) tessFace->line_attributes.push_back(rit->style); } else { tess->triangulated_index.push_back(vertex_indices[0]); tess->triangulated_index.push_back(vertex_indices[2]); tess->triangulated_index.push_back(vertex_indices[3]); triangles++; if(!same_color) tessFace->line_attributes.push_back(rit->style); tess->triangulated_index.push_back(vertex_indices[3]); tess->triangulated_index.push_back(vertex_indices[1]); tess->triangulated_index.push_back(vertex_indices[0]); triangles++; if(!same_color) tessFace->line_attributes.push_back(rit->style); } } tessFace->sizes_triangulated.push_back(triangles); tess->addTessFace(tessFace); const uint32_t tess_index = add3DTess(tess); PRCPolyBrepModel *polyBrepModel = new PRCPolyBrepModel(); polyBrepModel->index_tessellation = tess_index; polyBrepModel->is_closed = group.options.closed; if(same_color) polyBrepModel->index_of_line_style = style; part_definition->addPolyBrepModel(polyBrepModel); } } if(!group.quads.empty()) { map points; PRC3DTess *tess = new PRC3DTess(); tess->crease_angle = group.options.crease_angle; PRCTessFace *tessFace = new PRCTessFace(); tessFace->used_entities_flag=PRC_FACETESSDATA_Triangle; uint32_t triangles = 0; tessFace->is_rgba = false; for(PRCtessquadList::const_iterator qit=group.quads.begin(); qit!=group.quads.end(); qit++) { const RGBAColour* C = qit->colours; if(C[0].A != 1.0 || C[1].A != 1.0 || C[2].A != 1.0 || C[3].A != 1.0) { tessFace->is_rgba = true; break; } } bool same_colour = true; const RGBAColour& colour = group.quads.front().colours[0]; for(PRCtessquadList::const_iterator qit=group.quads.begin(); qit!=group.quads.end(); qit++) { const RGBAColour* C = qit->colours; if(colour!=C[0] || colour!=C[1] || colour!=C[2] || colour!=C[3]) { same_colour = false; break; } } for(PRCtessquadList::const_iterator qit=group.quads.begin(); qit!=group.quads.end(); qit++) { const RGBAColour* C = qit->colours; const bool degenerate = (qit->vertices[0]==qit->vertices[1]); uint32_t vertex_indices[4]; for(size_t i = (degenerate?1:0); i < 4; ++i) { map::const_iterator pPoint = points.find(qit->vertices[i]); if(pPoint!=points.end()) vertex_indices[i] = pPoint->second; else { points.insert(make_pair(qit->vertices[i],(vertex_indices[i] = tess->coordinates.size()))); tess->coordinates.push_back(qit->vertices[i].x); tess->coordinates.push_back(qit->vertices[i].y); tess->coordinates.push_back(qit->vertices[i].z); } } if(degenerate) { tess->triangulated_index.push_back(vertex_indices[1]); tess->triangulated_index.push_back(vertex_indices[2]); tess->triangulated_index.push_back(vertex_indices[3]); triangles++; if(!same_colour) { tessFace->rgba_vertices.push_back(byte(C[1].R)); tessFace->rgba_vertices.push_back(byte(C[1].G)); tessFace->rgba_vertices.push_back(byte(C[1].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[1].A)); tessFace->rgba_vertices.push_back(byte(C[2].R)); tessFace->rgba_vertices.push_back(byte(C[2].G)); tessFace->rgba_vertices.push_back(byte(C[2].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[2].A)); tessFace->rgba_vertices.push_back(byte(C[3].R)); tessFace->rgba_vertices.push_back(byte(C[3].G)); tessFace->rgba_vertices.push_back(byte(C[3].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[3].A)); } } else { tess->triangulated_index.push_back(vertex_indices[0]); tess->triangulated_index.push_back(vertex_indices[2]); tess->triangulated_index.push_back(vertex_indices[3]); triangles++; if(!same_colour) { tessFace->rgba_vertices.push_back(byte(C[0].R)); tessFace->rgba_vertices.push_back(byte(C[0].G)); tessFace->rgba_vertices.push_back(byte(C[0].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[0].A)); tessFace->rgba_vertices.push_back(byte(C[2].R)); tessFace->rgba_vertices.push_back(byte(C[2].G)); tessFace->rgba_vertices.push_back(byte(C[2].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[2].A)); tessFace->rgba_vertices.push_back(byte(C[3].R)); tessFace->rgba_vertices.push_back(byte(C[3].G)); tessFace->rgba_vertices.push_back(byte(C[3].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[3].A)); } tess->triangulated_index.push_back(vertex_indices[3]); tess->triangulated_index.push_back(vertex_indices[1]); tess->triangulated_index.push_back(vertex_indices[0]); triangles++; if(!same_colour) { tessFace->rgba_vertices.push_back(byte(C[3].R)); tessFace->rgba_vertices.push_back(byte(C[3].G)); tessFace->rgba_vertices.push_back(byte(C[3].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[3].A)); tessFace->rgba_vertices.push_back(byte(C[1].R)); tessFace->rgba_vertices.push_back(byte(C[1].G)); tessFace->rgba_vertices.push_back(byte(C[1].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[1].A)); tessFace->rgba_vertices.push_back(byte(C[0].R)); tessFace->rgba_vertices.push_back(byte(C[0].G)); tessFace->rgba_vertices.push_back(byte(C[0].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[0].A)); } } } tessFace->sizes_triangulated.push_back(triangles); tess->addTessFace(tessFace); const uint32_t tess_index = add3DTess(tess); PRCPolyBrepModel *polyBrepModel = new PRCPolyBrepModel(); polyBrepModel->index_tessellation = tess_index; polyBrepModel->is_closed = group.options.closed; if(same_colour) polyBrepModel->index_of_line_style = addColour(colour); part_definition->addPolyBrepModel(polyBrepModel); } if(!group.points.empty()) { for(PRCpointsetMap::const_iterator pit=group.points.begin(); pit!=group.points.end(); pit++) { PRCPointSet *pointset = new PRCPointSet(); pointset->index_of_line_style = pit->first; pointset->point = pit->second; part_definition->addPointSet(pointset); } } if(!group.pointsets.empty()) { for(std::vector::iterator pit=group.pointsets.begin(); pit!=group.pointsets.end(); pit++) { part_definition->addPointSet(*pit); } } if(!group.polymodels.empty()) { for(std::vector::iterator pit=group.polymodels.begin(); pit!=group.polymodels.end(); pit++) { (*pit)->is_closed = group.options.closed; part_definition->addPolyBrepModel(*pit); } } if(!group.polywires.empty()) { for(std::vector::iterator pit=group.polywires.begin(); pit!=group.polywires.end(); pit++) { part_definition->addPolyWire(*pit); } } if(!group.wires.empty()) { PRCTopoContext *wireContext = NULL; const uint32_t context_index = getTopoContext(wireContext); for(PRCwireList::iterator wit=group.wires.begin(); wit!=group.wires.end(); wit++) { PRCWireEdge *wireEdge = new PRCWireEdge; wireEdge->curve_3d = wit->curve; PRCSingleWireBody *wireBody = new PRCSingleWireBody; wireBody->setWireEdge(wireEdge); const uint32_t wire_body_index = wireContext->addSingleWireBody(wireBody); PRCWire *wire = new PRCWire(); wire->index_of_line_style = wit->style; wire->context_id = context_index; wire->body_id = wire_body_index; if(wit->transform) wire->index_local_coordinate_system = addTransform(wit->transform); part_definition->addWire(wire); } } PRCfaceList &faces = group.faces; if(!faces.empty()) { bool same_color = true; const uint32_t style = faces.front().style; for(PRCfaceList::const_iterator fit=faces.begin(); fit!=faces.end(); fit++) if(style!=fit->style) { same_color = false; break; } PRCTopoContext *context = NULL; const uint32_t context_index = getTopoContext(context); context->granularity = group.options.granularity; // Acrobat 9 also does the following: // context->tolerance = group.options.granularity; // context->have_smallest_face_thickness = true; // context->smallest_thickness = group.options.granularity; PRCShell *shell = new PRCShell; for(PRCfaceList::iterator fit=faces.begin(); fit!=faces.end(); fit++) { if(fit->transform || group.options.do_break || (fit->transparent && !group.options.no_break)) { PRCShell *shell = new PRCShell; shell->addFace(fit->face); PRCConnex *connex = new PRCConnex; connex->addShell(shell); PRCBrepData *body = new PRCBrepData; body->addConnex(connex); const uint32_t body_index = context->addBrepData(body); PRCBrepModel *brepmodel = new PRCBrepModel(); brepmodel->index_of_line_style = fit->style; brepmodel->context_id = context_index; brepmodel->body_id = body_index; brepmodel->is_closed = group.options.closed; brepmodel->index_local_coordinate_system = addTransform(fit->transform); part_definition->addBrepModel(brepmodel); } else { if(!same_color) fit->face->index_of_line_style = fit->style; shell->addFace(fit->face); } } if(shell->face.empty()) { delete shell; } else { PRCConnex *connex = new PRCConnex; connex->addShell(shell); PRCBrepData *body = new PRCBrepData; body->addConnex(connex); const uint32_t body_index = context->addBrepData(body); PRCBrepModel *brepmodel = new PRCBrepModel(); if(same_color) brepmodel->index_of_line_style = style; brepmodel->context_id = context_index; brepmodel->body_id = body_index; brepmodel->is_closed = group.options.closed; part_definition->addBrepModel(brepmodel); } } PRCcompfaceList &compfaces = group.compfaces; if(!compfaces.empty()) { bool same_color = true; const uint32_t style = compfaces.front().style; for(PRCcompfaceList::const_iterator fit=compfaces.begin(); fit!=compfaces.end(); fit++) if(style!=fit->style) { same_color = false; break; } PRCTopoContext *context = NULL; const uint32_t context_index = getTopoContext(context); PRCCompressedBrepData *body = new PRCCompressedBrepData; body->serial_tolerance=group.options.compression; body->brep_data_compressed_tolerance=0.1*group.options.compression; for(PRCcompfaceList::const_iterator fit=compfaces.begin(); fit!=compfaces.end(); fit++) { if(group.options.do_break || (fit->transparent && !group.options.no_break)) { PRCCompressedBrepData *body = new PRCCompressedBrepData; body->face.push_back(fit->face); body->serial_tolerance=group.options.compression; body->brep_data_compressed_tolerance=2.8346456* group.options.compression; const uint32_t body_index = context->addCompressedBrepData(body); PRCBrepModel *brepmodel = new PRCBrepModel(); brepmodel->index_of_line_style = fit->style; brepmodel->context_id = context_index; brepmodel->body_id = body_index; brepmodel->is_closed = group.options.closed; part_definition->addBrepModel(brepmodel); } else { if(!same_color) fit->face->index_of_line_style = fit->style; body->face.push_back(fit->face); } } if(body->face.empty()) { delete body; } else { const uint32_t body_index = context->addCompressedBrepData(body); PRCBrepModel *brepmodel = new PRCBrepModel(); if(same_color) brepmodel->index_of_line_style = style; brepmodel->context_id = context_index; brepmodel->body_id = body_index; brepmodel->is_closed = group.options.closed; part_definition->addBrepModel(brepmodel); } } // Simplify and reduce to as simple entities as possible // products with named representation items can not be reduced to sets, since // outside references are already set bool nonamedparts = true; for(PRCRepresentationItemList::const_iterator it=part_definition->representation_item.begin(); it!=part_definition->representation_item.end(); it++) { if (!(*it)->name.empty()) { nonamedparts = false; break; } } lastgroupname.clear(); lastgroupnames.clear(); // First option - reduce to one element in parent if (parent_part_definition && product_occurrence->index_son_occurrence.empty() && part_definition->representation_item.size() == 1 && ( name.empty() || part_definition->representation_item.front()->name.empty() ) && ( !group.transform || part_definition->representation_item.front()->index_local_coordinate_system==m1) ) { if(part_definition->representation_item.front()->name.empty() ) part_definition->representation_item.front()->name = name; if(part_definition->representation_item.front()->index_local_coordinate_system==m1) part_definition->representation_item.front()->index_local_coordinate_system = addTransform(group.transform); lastgroupname = calculate_unique_name(part_definition->representation_item.front(), parent_product_occurrence); parent_part_definition->addRepresentationItem(part_definition->representation_item.front()); part_definition->representation_item.clear(); delete product_occurrence; product_occurrence = NULL; delete part_definition; part_definition = NULL; } // Second option - reduce to a set else if (parent_part_definition && product_occurrence->index_son_occurrence.empty() && !part_definition->representation_item.empty() && !group.options.do_break && nonamedparts) { PRCSet *set = new PRCSet(name); set->index_local_coordinate_system = addTransform(group.transform); lastgroupname = calculate_unique_name(set, parent_product_occurrence); for(PRCRepresentationItemList::iterator it=part_definition->representation_item.begin(); it!=part_definition->representation_item.end(); it++) { lastgroupnames.push_back(calculate_unique_name(*it, parent_product_occurrence)); set->addRepresentationItem(*it); } part_definition->representation_item.clear(); parent_part_definition->addSet(set); delete product_occurrence; product_occurrence = NULL; delete part_definition; part_definition = NULL; } // Third option - create product else if ( !product_occurrence->index_son_occurrence.empty() || !part_definition->representation_item.empty()) { // if everything is enclosed in one group - drop the root group if (parent_product_occurrence == NULL && group.transform == NULL && part_definition->representation_item.empty() && product_occurrence->index_son_occurrence.size()==1) { delete part_definition; part_definition = NULL; delete product_occurrence; product_occurrence = NULL; } else { lastgroupname = calculate_unique_name(product_occurrence, NULL); if (part_definition->representation_item.empty()) { delete part_definition; part_definition = NULL; } else { for(PRCRepresentationItemList::const_iterator it=part_definition->representation_item.begin(); it!=part_definition->representation_item.end(); it++) if ((*it)->name.empty()) lastgroupnames.push_back(calculate_unique_name(*it, product_occurrence)); product_occurrence->index_part = addPartDefinition(part_definition); } if (group.transform) { product_occurrence->location = group.transform; group.transform = NULL; } if (parent_product_occurrence) { parent_product_occurrence->index_son_occurrence.push_back(addProductOccurrence(product_occurrence)); } else { addProductOccurrence(product_occurrence); } } } // Last case - absolutely nothing to do else { delete product_occurrence; product_occurrence = NULL; delete part_definition; part_definition = NULL; } } std::string oPRCFile::calculate_unique_name(const ContentPRCBase *prc_entity,const ContentPRCBase *prc_occurence) { std::stringstream ss (std::stringstream::in | std::stringstream::out); uint8_t *serialization_buffer = NULL; PRCbitStream serialization(serialization_buffer,0u); const PRCFileStructure *pfile_structure = fileStructures[0]; const PRCUniqueId& uuid = pfile_structure->file_structure_uuid; // ConvertUniqueIdentifierToString (prc_entity) // SerializeCompressedUniqueId (file_structure) serialization << uuid.id0 << uuid.id1 << uuid.id2 << uuid.id3; // WriteUnsignedInteger (type) serialization << prc_entity->getType(); // WriteUnsignedInteger (unique_identifier) serialization << prc_entity->getPRCID(); if (prc_occurence) { // serialization_buffer = Flush serialization (serialization) { const uint32_t size_serialization = serialization.getSize(); while(size_serialization == serialization.getSize()) serialization << false; } // ConvertUniqueIdentifierToString (prc_occurrence_unique_id) // SerializeCompressedUniqueId (file_structure) serialization << uuid.id0 << uuid.id1 << uuid.id2 << uuid.id3; // WriteUnsignedInteger (type) serialization << (uint32_t)PRC_TYPE_ASM_ProductOccurence; // WriteUnsignedInteger (unique_identifier) serialization << prc_occurence->getPRCID(); } ss << (prc_entity->name.empty()?"node":prc_entity->name.c_str()) << '.'; const uint32_t size_serialization = serialization.getSize(); for(size_t j=0; jprepare(); SerializeModelFileData // create the header // fill out enough info so that sizes can be computed correctly header.number_of_file_structures = number_of_file_structures; header.fileStructureInformation = new PRCFileStructureInformation[number_of_file_structures]; for(uint32_t i = 0; i < number_of_file_structures; ++i) { header.fileStructureInformation[i].UUID = fileStructures[i]->file_structure_uuid; header.fileStructureInformation[i].reserved = 0; header.fileStructureInformation[i].number_of_offsets = 6; header.fileStructureInformation[i].offsets = new uint32_t[6]; } header.minimal_version_for_read = PRCVersion; header.authoring_version = PRCVersion; makeFileUUID(header.file_structure_uuid); makeAppUUID(header.application_uuid); header.file_size = getSize(); header.model_file_offset = header.file_size - modelFile_out.getSize(); uint32_t currentOffset = header.getSize(); for(uint32_t i = 0; i < number_of_file_structures; ++i) { for(size_t j=0; j<6; j++) { header.fileStructureInformation[i].offsets[j] = currentOffset; currentOffset += fileStructures[i]->sizes[j]; } } // write the data header.write(output); for(uint32_t i = 0; i < number_of_file_structures; ++i) { fileStructures[i]->write(output); } modelFile_out.write(output); output.flush(); for(uint32_t i = 0; i < number_of_file_structures; ++i) delete[] header.fileStructureInformation[i].offsets; delete[] header.fileStructureInformation; return true; } uint32_t oPRCFile::getSize() { uint32_t size = header.getSize(); for(uint32_t i = 0; i < number_of_file_structures; ++i) { size += fileStructures[i]->getSize(); } size += modelFile_out.getSize(); return size; } uint32_t PRCFileStructure::addPicture(EPRCPictureDataFormat format, uint32_t size, const uint8_t *p, uint32_t width, uint32_t height, string name) { uint8_t *data = NULL; if(size==0 || p==NULL) { cerr << "image not set" << endl; return m1; } if(format==KEPRCPicture_PNG || format==KEPRCPicture_JPG) { width = 0; // width and height are ignored for JPG and PNG pictures - but let us keep things clean height = 0; data = new uint8_t[size]; memcpy(data, p, size); } else { uint32_t components=0; switch(format) { case KEPRCPicture_BITMAP_RGB_BYTE: components = 3; break; case KEPRCPicture_BITMAP_RGBA_BYTE: components = 4; break; case KEPRCPicture_BITMAP_GREY_BYTE: components = 1; break; case KEPRCPicture_BITMAP_GREYA_BYTE: components = 2; break; default: { cerr << "unknown picture format" << endl; return m1; } } if(width==0 || height==0) { cerr << "width or height parameter not set" << endl; return m1; } if (size < width*height*components) { cerr << "image too small" << endl; return m1; } { uint32_t compressedDataSize = 0; const int CHUNK= 1024; // is this reasonable? z_stream strm; strm.zalloc = Z_NULL; strm.zfree = Z_NULL; strm.opaque = Z_NULL; if(deflateInit(&strm,Z_DEFAULT_COMPRESSION) != Z_OK) { cerr << "Compression initialization failed" << endl; return m1; } unsigned int sizeAvailable = deflateBound(&strm,size); uint8_t *compressedData = (uint8_t*) malloc(sizeAvailable); strm.avail_in = size; strm.next_in = (unsigned char*)p; strm.next_out = (unsigned char*)compressedData; strm.avail_out = sizeAvailable; int code; unsigned int chunks = 0; while((code = deflate(&strm,Z_FINISH)) == Z_OK) { ++chunks; // strm.avail_out should be 0 if we got Z_OK compressedDataSize = sizeAvailable - strm.avail_out; compressedData = (uint8_t*) realloc(compressedData,CHUNK*chunks); strm.next_out = (Bytef*)(compressedData + compressedDataSize); strm.avail_out += CHUNK; sizeAvailable += CHUNK; } compressedDataSize = sizeAvailable-strm.avail_out; if(code != Z_STREAM_END) { deflateEnd(&strm); free(compressedData); { cerr << "Compression error" << endl; return m1; } } deflateEnd(&strm); size = compressedDataSize; data = new uint8_t[compressedDataSize]; memcpy(data, compressedData, compressedDataSize); free(compressedData); } } uint32_t uncompressed_file_index = m1; { PRCUncompressedFile* uncompressed_file = new PRCUncompressedFile(size, data); uncompressed_file_index = addUncompressedFileUnique(uncompressed_file); delete[] data; } uint32_t picture_index = m1; { PRCPicture* picture = new PRCPicture(name); picture->format = format; picture->uncompressed_file_index = uncompressed_file_index; picture->pixel_width = width; picture->pixel_height = height; picture_index = addPictureUnique(picture); } return picture_index; } uint32_t oPRCFile::addColour(const RGBAColour &colour) { PRCcolourMap::const_iterator pColour = colourMap.find(colour); if(pColour!=colourMap.end()) return pColour->second; const uint32_t color_index = addRgbColorUnique(colour.R, colour.G, colour.B); PRCStyle *style = new PRCStyle(); style->line_width = 1.0; style->is_vpicture = false; style->line_pattern_vpicture_index = 0; style->is_material = false; style->color_material_index = color_index; style->is_transparency_defined = (colour.A < 1.0); style->transparency = (uint8_t)(colour.A * 256); style->additional = 0; const uint32_t style_index = addStyle(style); colourMap.insert(make_pair(colour,style_index)); return style_index; } uint32_t oPRCFile::addColourWidth(const RGBAColour &colour, double width) { const RGBAColourWidth colourwidth(colour.R, colour.G, colour.B, colour.A, width); PRCcolourwidthMap::const_iterator pColour = colourwidthMap.find(colourwidth); if(pColour!=colourwidthMap.end()) return pColour->second; const uint32_t color_index = addRgbColorUnique(colour.R, colour.G, colour.B); PRCStyle *style = new PRCStyle(); style->line_width = width; style->is_vpicture = false; style->line_pattern_vpicture_index = 0; style->is_material = false; style->color_material_index = color_index; style->is_transparency_defined = (colour.A < 1.0); style->transparency = (uint8_t)(colour.A * 256); style->additional = 0; const uint32_t style_index = addStyle(style); colourwidthMap.insert(make_pair(colourwidth,style_index)); return style_index; } uint32_t oPRCFile::addTransform(PRCGeneralTransformation3d*& transform) { if(!transform) return m1; PRCtransformMap::const_iterator pTransform = transformMap.find(*transform); if(pTransform!=transformMap.end()) return pTransform->second; PRCCoordinateSystem *coordinateSystem = new PRCCoordinateSystem(); bool transform_replaced = false; if( transform->M(0,1)==0 && transform->M(0,2)==0 && transform->M(1,0)==0 && transform->M(1,2)==0 && transform->M(2,0)==0 && transform->M(2,1)==0 && transform->M(3,0)==0 && transform->M(3,1)==0 && transform->M(3,2)==0 && transform->M(3,3)==1 ) { transform_replaced = true; PRCCartesianTransformation3d *carttransform = new PRCCartesianTransformation3d; // if(transform->M(0,3)==0 && transform->M(1,3)==0 && transform->M(1,3)==0 && // transform->M(0,0)==1 && transform->M(1,1)==1 && transform->M(2,2)==1 ) // carttransform->behaviour = PRC_TRANSFORMATION_Identity; if(transform->M(0,3)!=0 || transform->M(1,3)!=0 || transform->M(2,3)!=0) { carttransform->behaviour |= PRC_TRANSFORMATION_Translate; carttransform->origin.Set(transform->M(0,3),transform->M(1,3),transform->M(2,3)); } if(transform->M(0,0)!=transform->M(1,1) || transform->M(0,0)!=transform->M(2,2)) { carttransform->behaviour |= PRC_TRANSFORMATION_NonUniformScale; carttransform->scale.Set(transform->M(0,0),transform->M(1,1),transform->M(2,2)); } else if(transform->M(0,0)!=1) { carttransform->behaviour |= PRC_TRANSFORMATION_Scale; carttransform->uniform_scale=transform->M(0,0); } coordinateSystem->axis_set = carttransform; } else coordinateSystem->axis_set = transform; const uint32_t coordinate_system_index = fileStructures[0]->addCoordinateSystem(coordinateSystem); transformMap.insert(make_pair(*transform,coordinate_system_index)); if(transform_replaced) delete transform; transform = NULL; return coordinate_system_index; } uint32_t oPRCFile::addTransform(const double* t) { if(!t) return m1; PRCGeneralTransformation3d* transform = new PRCGeneralTransformation3d(t); return addTransform(transform); } uint32_t oPRCFile::addTransform(const double origin[3], const double x_axis[3], const double y_axis[3], double scale) { PRCCartesianTransformation3d* transform = new PRCCartesianTransformation3d(origin, x_axis, y_axis, scale); if(transform->behaviour==PRC_TRANSFORMATION_Identity) return m1; PRCCoordinateSystem *coordinateSystem = new PRCCoordinateSystem(); coordinateSystem->axis_set = transform; const uint32_t coordinate_system_index = fileStructures[0]->addCoordinateSystem(coordinateSystem); return coordinate_system_index; } uint32_t oPRCFile::addMaterial(const PRCmaterial& m) { PRCmaterialMap::const_iterator pMaterial = materialMap.find(m); if(pMaterial!=materialMap.end()) return pMaterial->second; uint32_t material_index = m1; { PRCMaterialGeneric *materialGeneric = new PRCMaterialGeneric; materialGeneric->ambient = addRgbColorUnique(m.ambient.R, m.ambient.G, m.ambient.B); materialGeneric->diffuse = addRgbColorUnique(m.diffuse.R, m.diffuse.G, m.diffuse.B); materialGeneric->emissive = addRgbColorUnique(m.emissive.R, m.emissive.G, m.emissive.B); materialGeneric->specular = addRgbColorUnique(m.specular.R, m.specular.G, m.specular.B); materialGeneric->shininess = m.shininess; materialGeneric->ambient_alpha = m.ambient.A; materialGeneric->diffuse_alpha = m.diffuse.A; materialGeneric->emissive_alpha = m.emissive.A; materialGeneric->specular_alpha = m.specular.A; material_index = addMaterialGenericUnique(materialGeneric); } uint32_t style_index = m1; { PRCStyle *style = new PRCStyle; style->line_width = m.width; style->is_vpicture = false; style->line_pattern_vpicture_index = 0; style->is_material = true; style->is_transparency_defined = (m.alpha < 1.0); style->transparency = (uint8_t)(m.alpha * 256); style->additional = 0; style->color_material_index = material_index; style_index = addStyleUnique(style); } materialMap.insert(make_pair(m,style_index)); return style_index; } uint32_t oPRCFile::addTexturedMaterial(const PRCmaterial& m, uint32_t n, const PRCtexture* const tt[]) { uint32_t material_generic_index = m1; { PRCMaterialGeneric *materialGeneric = new PRCMaterialGeneric; materialGeneric->ambient = addRgbColorUnique(m.ambient.R, m.ambient.G, m.ambient.B); materialGeneric->diffuse = addRgbColorUnique(m.diffuse.R, m.diffuse.G, m.diffuse.B); materialGeneric->emissive = addRgbColorUnique(m.emissive.R, m.emissive.G, m.emissive.B); materialGeneric->specular = addRgbColorUnique(m.specular.R, m.specular.G, m.specular.B); materialGeneric->shininess = m.shininess; materialGeneric->ambient_alpha = m.ambient.A; materialGeneric->diffuse_alpha = m.diffuse.A; materialGeneric->emissive_alpha = m.emissive.A; materialGeneric->specular_alpha = m.specular.A; material_generic_index = addMaterialGenericUnique(materialGeneric); } uint32_t color_material_index = material_generic_index; uint32_t texture_application_index = m1; for (uint32_t i=n; i>0; i--) { const PRCtexture* t = tt[i-1]; if (t == NULL) { continue; } const uint32_t picture_index = addPicture(t->format, t->size, t->data, t->height, t->width); uint32_t texture_definition_index = m1; { PRCTextureDefinition *textureDefinition = new PRCTextureDefinition; textureDefinition->picture_index = picture_index; textureDefinition->texture_mapping_attribute = t->mapping; textureDefinition->texture_mapping_attribute_components = t->components; textureDefinition->texture_function = t->function; textureDefinition->texture_wrapping_mode_S = t->wrapping_mode_S; textureDefinition->texture_wrapping_mode_T = t->wrapping_mode_T; texture_definition_index = addTextureDefinitionUnique(textureDefinition); } { PRCTextureApplication *textureApplication = new PRCTextureApplication; textureApplication->material_generic_index=material_generic_index; textureApplication->texture_definition_index=texture_definition_index; textureApplication->next_texture_index = texture_application_index; texture_application_index = addTextureApplicationUnique(textureApplication); } color_material_index = texture_application_index; } uint32_t style_index = m1; { PRCStyle *style = new PRCStyle; style->line_width = 0.0; style->is_vpicture = false; style->line_pattern_vpicture_index = 0; style->is_material = true; style->is_transparency_defined = (m.alpha < 1.0); style->transparency = (uint8_t)(m.alpha * 256); style->additional = 0; style->color_material_index = color_material_index; style_index = addStyleUnique(style); } return style_index; } bool isid(const double* t) { return( t[0]==1 && t[4]==0 && t[ 8]==0 && t[12]==0 && t[1]==0 && t[5]==1 && t[ 9]==0 && t[13]==0 && t[2]==0 && t[6]==0 && t[10]==1 && t[14]==0 && t[3]==0 && t[7]==0 && t[11]==0 && t[15]==1 ); } void oPRCFile::begingroup(const char *name, const PRCoptions *options, const double* t) { const PRCgroup &parent_group = groups.top(); groups.push(PRCgroup()); PRCgroup &group = groups.top(); group.name=name; if(options) group.options=*options; if(t&&!isid(t)) group.transform = new PRCGeneralTransformation3d(t); group.product_occurrence = new PRCProductOccurrence(name); group.parent_product_occurrence = parent_group.product_occurrence; group.part_definition = new PRCPartDefinition; group.parent_part_definition = parent_group.part_definition; } void oPRCFile::endgroup() { if(groups.size()<2) { fputs("begingroup without matching endgroup",stderr); exit(1); } doGroup(groups.top()); groups.pop(); // std::cout << lastgroupname << std::endl; // for(std::vector::const_iterator it=lastgroupnames.begin(); it!=lastgroupnames.end(); it++) // std::cout << " " << *it << std::endl; } PRCgroup& oPRCFile::findGroup() { return groups.top(); } #define ADDWIRE(curvtype) \ PRCgroup &group = findGroup(); \ group.wires.push_back(PRCwire()); \ PRCwire &wire = group.wires.back(); \ curvtype *curve = new curvtype; \ wire.curve = curve; \ wire.style = addColour(c); #define ADDFACE(surftype) \ PRCgroup &group = findGroup(); \ group.faces.push_back(PRCface()); \ PRCface& face = group.faces.back(); \ surftype *surface = new surftype; \ face.face = new PRCFace; \ face.face->base_surface = surface; \ face.transparent = m.alpha < 1.0; \ face.style = addMaterial(m); #define ADDCOMPFACE \ PRCgroup &group = findGroup(); \ group.compfaces.push_back(PRCcompface()); \ PRCcompface& face = group.compfaces.back(); \ PRCCompressedFace *compface = new PRCCompressedFace; \ face.face = compface; \ face.transparent = m.alpha < 1.0; \ face.style = addMaterial(m); void oPRCFile::addPoint(const double P[3], const RGBAColour &c, double w) { PRCgroup &group = findGroup(); group.points[addColourWidth(c,w)].push_back(PRCVector3d(P[0],P[1],P[2])); } void oPRCFile::addPoint(double x, double y, double z, const RGBAColour &c, double w) { PRCgroup &group = findGroup(); group.points[addColourWidth(c,w)].push_back(PRCVector3d(x,y,z)); } void oPRCFile::addPoints(uint32_t n, const double P[][3], const RGBAColour &c, double w) { if(n==0 || P==NULL) return; PRCgroup &group = findGroup(); PRCPointSet *pointset = new PRCPointSet(); group.pointsets.push_back(pointset); pointset->index_of_line_style = addColourWidth(c,w); pointset->point.reserve(n); for(uint32_t i=0; ipoint.push_back(PRCVector3d(P[i][0],P[i][1],P[i][2])); } void oPRCFile::addPoints(uint32_t n, const double P[][3], uint32_t style_index) { if(n==0 || P==NULL) return; PRCgroup &group = findGroup(); PRCPointSet *pointset = new PRCPointSet(); group.pointsets.push_back(pointset); pointset->index_of_line_style = style_index; pointset->point.reserve(n); for(uint32_t i=0; ipoint.push_back(PRCVector3d(P[i][0],P[i][1],P[i][2])); } void oPRCFile::useMesh(uint32_t tess_index, uint32_t style_index, const double origin[3], const double x_axis[3], const double y_axis[3], double scale) { PRCgroup &group = findGroup(); PRCPolyBrepModel *polyBrepModel = new PRCPolyBrepModel(); polyBrepModel->index_local_coordinate_system = addTransform(origin, x_axis, y_axis, scale); polyBrepModel->index_tessellation = tess_index; polyBrepModel->is_closed = group.options.closed; polyBrepModel->index_of_line_style = style_index; group.polymodels.push_back(polyBrepModel); } void oPRCFile::useMesh(uint32_t tess_index, uint32_t style_index, const double* t) { PRCgroup &group = findGroup(); PRCPolyBrepModel *polyBrepModel = new PRCPolyBrepModel(); polyBrepModel->index_local_coordinate_system = addTransform(t); polyBrepModel->index_tessellation = tess_index; polyBrepModel->is_closed = group.options.closed; polyBrepModel->index_of_line_style = style_index; group.polymodels.push_back(polyBrepModel); } void oPRCFile::useLines(uint32_t tess_index, uint32_t style_index, const double origin[3], const double x_axis[3], const double y_axis[3], double scale) { PRCgroup &group = findGroup(); PRCPolyWire *polyWire = new PRCPolyWire(); polyWire->index_local_coordinate_system = addTransform(origin, x_axis, y_axis, scale); polyWire->index_tessellation = tess_index; polyWire->index_of_line_style = style_index; group.polywires.push_back(polyWire); } void oPRCFile::useLines(uint32_t tess_index, uint32_t style_index, const double* t) { PRCgroup &group = findGroup(); PRCPolyWire *polyWire = new PRCPolyWire(); polyWire->index_local_coordinate_system = addTransform(t); polyWire->index_tessellation = tess_index; polyWire->index_of_line_style = style_index; group.polywires.push_back(polyWire); } void oPRCFile::addTriangles(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[][3], const PRCmaterial& m, uint32_t nN, const double N[][3], const uint32_t NI[][3], uint32_t nT, const double T[][2], const uint32_t TI[][3], uint32_t nC, const RGBAColour C[], const uint32_t CI[][3], uint32_t nM, const PRCmaterial M[], const uint32_t MI[], double ca) { if(nP==0 || P==NULL || nI==0 || PI==NULL) return; const uint32_t tess_index = createTriangleMesh(nP, P, nI, PI, m, nN, N, NI, nT, T, TI, nC, C, CI, nM, M, MI, ca); useMesh(tess_index,m1); } uint32_t oPRCFile::createTriangleMesh(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[][3], const uint32_t style_index, uint32_t nN, const double N[][3], const uint32_t NI[][3], uint32_t nT, const double T[][2], const uint32_t TI[][3], uint32_t nC, const RGBAColour C[], const uint32_t CI[][3], uint32_t nS, const uint32_t S[], const uint32_t SI[], double ca) { if(nP==0 || P==NULL || nI==0 || PI==NULL) return m1; const bool triangle_color = (nS != 0 && S != NULL && SI != NULL); const bool vertex_color = (nC != 0 && C != NULL && CI != NULL); const bool has_normals = (nN != 0 && N != NULL && NI != NULL); const bool textured = (nT != 0 && T != NULL && TI != NULL); PRC3DTess *tess = new PRC3DTess(); PRCTessFace *tessFace = new PRCTessFace(); tessFace->used_entities_flag = textured ? PRC_FACETESSDATA_TriangleTextured : PRC_FACETESSDATA_Triangle; tessFace->number_of_texture_coordinate_indexes = textured ? 1 : 0; tess->coordinates.reserve(3*nP); for(uint32_t i=0; icoordinates.push_back(P[i][0]); tess->coordinates.push_back(P[i][1]); tess->coordinates.push_back(P[i][2]); } if(has_normals) { tess->normal_coordinate.reserve(3*nN); for(uint32_t i=0; inormal_coordinate.push_back(N[i][0]); tess->normal_coordinate.push_back(N[i][1]); tess->normal_coordinate.push_back(N[i][2]); } } else tess->crease_angle = ca; if(textured) { tess->texture_coordinate.reserve(2*nT); for(uint32_t i=0; itexture_coordinate.push_back(T[i][0]); tess->texture_coordinate.push_back(T[i][1]); } } tess->triangulated_index.reserve(3*nI+(has_normals?3:0)*nI+(textured?3:0)*nI); for(uint32_t i=0; itriangulated_index.push_back(3*NI[i][0]); if(textured) tess->triangulated_index.push_back(2*TI[i][0]); tess->triangulated_index.push_back(3*PI[i][0]); if(has_normals) tess->triangulated_index.push_back(3*NI[i][1]); if(textured) tess->triangulated_index.push_back(2*TI[i][1]); tess->triangulated_index.push_back(3*PI[i][1]); if(has_normals) tess->triangulated_index.push_back(3*NI[i][2]); if(textured) tess->triangulated_index.push_back(2*TI[i][2]); tess->triangulated_index.push_back(3*PI[i][2]); } tessFace->sizes_triangulated.push_back(nI); if(triangle_color) { tessFace->line_attributes.reserve(nI); for(uint32_t i=0; iline_attributes.push_back(SI[i]); } else if (style_index != m1 ) { tessFace->line_attributes.push_back(style_index); } if(vertex_color) { tessFace->is_rgba=false; for(uint32_t i=0; iis_rgba=true; break; } tessFace->rgba_vertices.reserve((tessFace->is_rgba?4:3)*3*nI); for(uint32_t i=0; irgba_vertices.push_back(byte(C[CI[i][0]].R)); tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].G)); tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].A)); tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].R)); tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].G)); tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].A)); tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].R)); tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].G)); tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].A)); } } tess->addTessFace(tessFace); const uint32_t tess_index = add3DTess(tess); return tess_index; } void oPRCFile::addQuads(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[][4], const PRCmaterial& m, uint32_t nN, const double N[][3], const uint32_t NI[][4], uint32_t nT, const double T[][2], const uint32_t TI[][4], uint32_t nC, const RGBAColour C[], const uint32_t CI[][4], uint32_t nM, const PRCmaterial M[], const uint32_t MI[], double ca) { if(nP==0 || P==NULL || nI==0 || PI==NULL) return; const uint32_t tess_index = createQuadMesh(nP, P, nI, PI, m, nN, N, NI, nT, T, TI, nC, C, CI, nM, M, MI, ca); useMesh(tess_index,m1); } uint32_t oPRCFile::createQuadMesh(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[][4], uint32_t style_index, uint32_t nN, const double N[][3], const uint32_t NI[][4], uint32_t nT, const double T[][2], const uint32_t TI[][4], uint32_t nC, const RGBAColour C[], const uint32_t CI[][4], uint32_t nS, const uint32_t S[], const uint32_t SI[], double ca) { if(nP==0 || P==NULL || nI==0 || PI==NULL) return m1; const bool triangle_color = (nS != 0 && S != NULL && SI != NULL); const bool vertex_color = (nC != 0 && C != NULL && CI != NULL); const bool has_normals = (nN != 0 && N != NULL && NI != NULL); const bool textured = (nT != 0 && T != NULL && TI != NULL); PRC3DTess *tess = new PRC3DTess(); PRCTessFace *tessFace = new PRCTessFace(); tessFace->used_entities_flag = textured ? PRC_FACETESSDATA_TriangleTextured : PRC_FACETESSDATA_Triangle; tessFace->number_of_texture_coordinate_indexes = textured ? 1 : 0; tess->coordinates.reserve(3*nP); for(uint32_t i=0; icoordinates.push_back(P[i][0]); tess->coordinates.push_back(P[i][1]); tess->coordinates.push_back(P[i][2]); } if(has_normals) { tess->normal_coordinate.reserve(3*nN); for(uint32_t i=0; inormal_coordinate.push_back(N[i][0]); tess->normal_coordinate.push_back(N[i][1]); tess->normal_coordinate.push_back(N[i][2]); } } else tess->crease_angle = ca; if(textured) { tess->texture_coordinate.reserve(2*nT); for(uint32_t i=0; itexture_coordinate.push_back(T[i][0]); tess->texture_coordinate.push_back(T[i][1]); } } tess->triangulated_index.reserve(2*(3*nI+(has_normals?3:0)*nI+(textured?3:0)*nI)); for(uint32_t i=0; itriangulated_index.push_back(3*NI[i][0]); if(textured) tess->triangulated_index.push_back(2*TI[i][0]); tess->triangulated_index.push_back(3*PI[i][0]); if(has_normals) tess->triangulated_index.push_back(3*NI[i][1]); if(textured) tess->triangulated_index.push_back(2*TI[i][1]); tess->triangulated_index.push_back(3*PI[i][1]); if(has_normals) tess->triangulated_index.push_back(3*NI[i][3]); if(textured) tess->triangulated_index.push_back(2*TI[i][3]); tess->triangulated_index.push_back(3*PI[i][3]); // second triangle if(has_normals) tess->triangulated_index.push_back(3*NI[i][1]); if(textured) tess->triangulated_index.push_back(2*TI[i][1]); tess->triangulated_index.push_back(3*PI[i][1]); if(has_normals) tess->triangulated_index.push_back(3*NI[i][2]); if(textured) tess->triangulated_index.push_back(2*TI[i][2]); tess->triangulated_index.push_back(3*PI[i][2]); if(has_normals) tess->triangulated_index.push_back(3*NI[i][3]); if(textured) tess->triangulated_index.push_back(2*TI[i][3]); tess->triangulated_index.push_back(3*PI[i][3]); } tessFace->sizes_triangulated.push_back(2*nI); if(triangle_color) { tessFace->line_attributes.reserve(2*nI); for(uint32_t i=0; iline_attributes.push_back(SI[i]); tessFace->line_attributes.push_back(SI[i]); } } else { tessFace->line_attributes.push_back(style_index); } if(vertex_color) { tessFace->is_rgba=false; for(uint32_t i=0; iis_rgba=true; break; } tessFace->rgba_vertices.reserve(2*(tessFace->is_rgba?4:3)*3*nI); for(uint32_t i=0; irgba_vertices.push_back(byte(C[CI[i][0]].R)); tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].G)); tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[CI[i][0]].A)); tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].R)); tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].G)); tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].A)); tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].R)); tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].G)); tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].A)); // second triangle tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].R)); tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].G)); tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[CI[i][1]].A)); tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].R)); tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].G)); tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[CI[i][2]].A)); tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].R)); tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].G)); tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].B)); if(tessFace->is_rgba) tessFace->rgba_vertices.push_back(byte(C[CI[i][3]].A)); } } tess->addTessFace(tessFace); const uint32_t tess_index = add3DTess(tess); return tess_index; } void oPRCFile::addQuad(const double P[][3], const RGBAColour C[]) { PRCgroup &group = findGroup(); group.quads.push_back(PRCtessquad()); PRCtessquad &quad = group.quads.back(); for(size_t i = 0; i < 4; i++) { quad.vertices[i].x = P[i][0]; quad.vertices[i].y = P[i][1]; quad.vertices[i].z = P[i][2]; quad.colours[i] = C[i]; } } /* void oPRCFile::addTriangle(const double P[][3], const double T[][2], uint32_t style_index) { PRCgroup &group = findGroup(); group.triangles.push_back(PRCtesstriangle()); PRCtesstriangle &triangle = group.triangles.back(); for(size_t i = 0; i < 3; i++) { triangle.vertices[i].x = P[i][0]; triangle.vertices[i].y = P[i][1]; triangle.vertices[i].z = P[i][2]; triangle.texcoords[i].x = T[i][0]; triangle.texcoords[i].y = T[i][1]; } triangle.style = style_index; } */ void oPRCFile::addLines(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[], const RGBAColour& c, double w, bool segment_color, uint32_t nC, const RGBAColour C[], uint32_t nCI, const uint32_t CI[]) { if(nP==0 || P==NULL || nI==0 || PI==NULL) return; const uint32_t tess_index = createLines(nP, P, nI, PI, segment_color, nC, C, nCI, CI); useLines(tess_index, c, w); } uint32_t oPRCFile::createLines(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[], bool segment_color, uint32_t nC, const RGBAColour C[], uint32_t nCI, const uint32_t CI[]) { if(nP==0 || P==NULL || nI==0 || PI==NULL) return m1; const bool vertex_color = (nC != 0 && C != NULL && CI != NULL); PRC3DWireTess *tess = new PRC3DWireTess(); tess->coordinates.reserve(3*nP); for(uint32_t i=0; icoordinates.push_back(P[i][0]); tess->coordinates.push_back(P[i][1]); tess->coordinates.push_back(P[i][2]); } tess->wire_indexes.reserve(nI); for(uint32_t i=0; iwire_indexes.push_back(PI[i]); const uint32_t ni = i+PI[i]+1; for(i++; iwire_indexes.push_back(3*PI[i]); } if(vertex_color) { tess->is_segment_color = segment_color; tess->is_rgba=false; for(uint32_t i=0; iis_rgba=true; break; } tess->rgba_vertices.reserve((tess->is_rgba?4:3)*nCI); for(uint32_t i=0; irgba_vertices.push_back(byte(C[CI[i]].R)); tess->rgba_vertices.push_back(byte(C[CI[i]].G)); tess->rgba_vertices.push_back(byte(C[CI[i]].B)); if(tess->is_rgba) tess->rgba_vertices.push_back(byte(C[CI[i]].A)); } } const uint32_t tess_index = add3DWireTess(tess); return tess_index; } uint32_t oPRCFile::createSegments(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[][2], bool segment_color, uint32_t nC, const RGBAColour C[], const uint32_t CI[][2]) { if(nP==0 || P==NULL || nI==0 || PI==NULL) return m1; const bool vertex_color = (nC != 0 && C != NULL && CI != NULL); PRC3DWireTess *tess = new PRC3DWireTess(); tess->coordinates.reserve(3*nP); for(uint32_t i=0; icoordinates.push_back(P[i][0]); tess->coordinates.push_back(P[i][1]); tess->coordinates.push_back(P[i][2]); } tess->wire_indexes.reserve(3*nI); for(uint32_t i=0; iwire_indexes.push_back(2); tess->wire_indexes.push_back(3*PI[i][0]); tess->wire_indexes.push_back(3*PI[i][1]); } if(vertex_color) { tess->is_segment_color = segment_color; tess->is_rgba=false; for(uint32_t i=0; iis_rgba=true; break; } tess->rgba_vertices.reserve((tess->is_rgba?4:3)*(segment_color?1:2)*nI); for(uint32_t i=0; irgba_vertices.push_back(byte(0.5*C[CI[i][0]].R+0.5*C[CI[i][1]].R)); tess->rgba_vertices.push_back(byte(0.5*C[CI[i][0]].G+0.5*C[CI[i][1]].G)); tess->rgba_vertices.push_back(byte(0.5*C[CI[i][0]].B+0.5*C[CI[i][1]].B)); if(tess->is_rgba) tess->rgba_vertices.push_back(byte(0.5*C[CI[i][0]].A+0.5*C[CI[i][1]].A)); } else { tess->rgba_vertices.push_back(byte(C[CI[i][0]].R)); tess->rgba_vertices.push_back(byte(C[CI[i][0]].G)); tess->rgba_vertices.push_back(byte(C[CI[i][0]].B)); if(tess->is_rgba) tess->rgba_vertices.push_back(byte(C[CI[i][0]].A)); tess->rgba_vertices.push_back(byte(C[CI[i][1]].R)); tess->rgba_vertices.push_back(byte(C[CI[i][1]].G)); tess->rgba_vertices.push_back(byte(C[CI[i][1]].B)); if(tess->is_rgba) tess->rgba_vertices.push_back(byte(C[CI[i][1]].A)); } } } const uint32_t tess_index = add3DWireTess(tess); return tess_index; } void oPRCFile::addLine(uint32_t n, const double P[][3], const RGBAColour &c, double w) { PRCgroup &group = findGroup(); if(group.options.tess) { group.lines[w].push_back(PRCtessline()); PRCtessline& line = group.lines[w].back(); line.color.red = c.R; line.color.green = c.G; line.color.blue = c.B; for(uint32_t i=0; ipoint.resize(n); for(uint32_t i=0; ipoint[i].Set(P[i][0],P[i][1],P[i][2]); curve->interval.min = 0; curve->interval.max = curve->point.size()-1; } } void oPRCFile::addSegment(const double P1[3], const double P2[3], const RGBAColour &c, double w) { PRCgroup &group = findGroup(); if(group.options.tess) { group.lines[w].push_back(PRCtessline()); PRCtessline& line = group.lines[w].back(); line.color.red = c.R; line.color.green = c.G; line.color.blue = c.B; line.point.push_back(PRCVector3d(P1[0],P1[1],P1[2])); line.point.push_back(PRCVector3d(P2[0],P2[1],P2[2])); } else { ADDWIRE(PRCPolyLine) curve->point.resize(2); curve->point[0].Set(P1[0],P1[1],P1[2]); curve->point[1].Set(P2[0],P2[1],P2[2]); curve->interval.min = 0; curve->interval.max = curve->point.size()-1; } } void oPRCFile::addBezierCurve(uint32_t n, const double cP[][3], const RGBAColour &c) { ADDWIRE(PRCNURBSCurve) curve->is_rational = false; curve->degree = 3; const size_t NUMBER_OF_POINTS = n; curve->control_point.resize(NUMBER_OF_POINTS); for(size_t i = 0; i < NUMBER_OF_POINTS; ++i) curve->control_point[i].Set(cP[i][0],cP[i][1],cP[i][2]); curve->knot.resize(3+NUMBER_OF_POINTS+1); curve->knot[0] = 1; for(size_t i = 1; i < 3+NUMBER_OF_POINTS; ++i) curve->knot[i] = (i+2)/3; // integer division is intentional curve->knot[3+NUMBER_OF_POINTS] = (3+NUMBER_OF_POINTS+1)/3; } void oPRCFile::addCurve(uint32_t d, uint32_t n, const double cP[][3], const double *k, const RGBAColour &c, const double w[]) { ADDWIRE(PRCNURBSCurve) curve->is_rational = (w!=NULL); curve->degree = d; curve->control_point.resize(n); for(uint32_t i = 0; i < n; i++) if(w) curve->control_point[i].Set(cP[i][0]*w[i],cP[i][1]*w[i],cP[i][2]*w[i],w[i]); else curve->control_point[i].Set(cP[i][0],cP[i][1],cP[i][2]); curve->knot.resize(d+n+1); for(uint32_t i = 0; i < d+n+1; i++) curve->knot[i] = k[i]; } void oPRCFile::addRectangle(const double P[][3], const PRCmaterial &m) { PRCgroup &group = findGroup(); if(group.options.tess) { group.rectangles.push_back(PRCtessrectangle()); PRCtessrectangle &rectangle = group.rectangles.back(); rectangle.style = addMaterial(m); for(size_t i = 0; i < 4; i++) { rectangle.vertices[i].x = P[i][0]; rectangle.vertices[i].y = P[i][1]; rectangle.vertices[i].z = P[i][2]; } } else if(group.options.compression == 0.0) { ADDFACE(PRCNURBSSurface) surface->is_rational = false; surface->degree_in_u = 1; surface->degree_in_v = 1; surface->control_point.resize(4); for(size_t i = 0; i < 4; ++i) { surface->control_point[i].x = P[i][0]; surface->control_point[i].y = P[i][1]; surface->control_point[i].z = P[i][2]; } surface->knot_u.resize(4); surface->knot_v.resize(4); surface->knot_v[0] = surface->knot_u[0] = 1; surface->knot_v[1] = surface->knot_u[1] = 3; surface->knot_v[2] = surface->knot_u[2] = 4; surface->knot_v[3] = surface->knot_u[3] = 4; } else { ADDCOMPFACE compface->degree = 1; compface->control_point.resize(4); for(size_t i = 0; i < 4; ++i) { compface->control_point[i].x = P[i][0]; compface->control_point[i].y = P[i][1]; compface->control_point[i].z = P[i][2]; } } } void oPRCFile::addPatch(const double cP[][3], const PRCmaterial &m) { PRCgroup &group = findGroup(); if(group.options.compression == 0.0) { ADDFACE(PRCNURBSSurface) surface->is_rational = false; surface->degree_in_u = 3; surface->degree_in_v = 3; surface->control_point.resize(16); for(size_t i = 0; i < 16; ++i) { surface->control_point[i].x = cP[i][0]; surface->control_point[i].y = cP[i][1]; surface->control_point[i].z = cP[i][2]; } surface->knot_u.resize(8); surface->knot_v.resize(8); surface->knot_v[0] = surface->knot_u[0] = 1; surface->knot_v[1] = surface->knot_u[1] = 1; surface->knot_v[2] = surface->knot_u[2] = 1; surface->knot_v[3] = surface->knot_u[3] = 1; surface->knot_v[4] = surface->knot_u[4] = 2; surface->knot_v[5] = surface->knot_u[5] = 2; surface->knot_v[6] = surface->knot_u[6] = 2; surface->knot_v[7] = surface->knot_u[7] = 2; } else { ADDCOMPFACE compface->degree = 3; compface->control_point.resize(16); for(size_t i = 0; i < 16; ++i) { compface->control_point[i].x = cP[i][0]; compface->control_point[i].y = cP[i][1]; compface->control_point[i].z = cP[i][2]; } } } void oPRCFile::addSurface(uint32_t dU, uint32_t dV, uint32_t nU, uint32_t nV, const double cP[][3], const double *kU, const double *kV, const PRCmaterial &m, const double w[]) { ADDFACE(PRCNURBSSurface) surface->is_rational = (w!=NULL); surface->degree_in_u = dU; surface->degree_in_v = dV; surface->control_point.resize(nU*nV); for(size_t i = 0; i < nU*nV; i++) if(w) surface->control_point[i]=PRCControlPoint(cP[i][0]*w[i],cP[i][1]*w[i],cP[i][2]*w[i],w[i]); else surface->control_point[i]=PRCControlPoint(cP[i][0],cP[i][1],cP[i][2]); surface->knot_u.insert(surface->knot_u.end(), kU, kU+(dU+nU+1)); surface->knot_v.insert(surface->knot_v.end(), kV, kV+(dV+nV+1)); } #define SETTRANSF \ if(t&&!isid(t)) \ face.transform = new PRCGeneralTransformation3d(t); \ if(origin) surface->origin.Set(origin[0],origin[1],origin[2]); \ if(x_axis) surface->x_axis.Set(x_axis[0],x_axis[1],x_axis[2]); \ if(y_axis) surface->y_axis.Set(y_axis[0],y_axis[1],y_axis[2]); \ surface->scale = scale; \ surface->geometry_is_2D = false; \ if(surface->origin!=PRCVector3d(0.0,0.0,0.0)) \ surface->behaviour = surface->behaviour | PRC_TRANSFORMATION_Translate; \ if(surface->x_axis!=PRCVector3d(1.0,0.0,0.0)||surface->y_axis!=PRCVector3d(0.0,1.0,0.0)) \ surface->behaviour = surface->behaviour | PRC_TRANSFORMATION_Rotate; \ if(surface->scale!=1) \ surface->behaviour = surface->behaviour | PRC_TRANSFORMATION_Scale; \ surface->has_transformation = (surface->behaviour != PRC_TRANSFORMATION_Identity); #define PRCFACETRANSFORM const double origin[3], const double x_axis[3], const double y_axis[3], double scale, const double* t void oPRCFile::addTube(uint32_t n, const double cP[][3], const double oP[][3], bool straight, const PRCmaterial &m, PRCFACETRANSFORM) { ADDFACE(PRCBlend01) SETTRANSF if(straight) { PRCPolyLine *center_curve = new PRCPolyLine; center_curve->point.resize(n); for(uint32_t i=0; ipoint[i].Set(cP[i][0],cP[i][1],cP[i][2]); center_curve->interval.min = 0; center_curve->interval.max = center_curve->point.size()-1; surface->center_curve = center_curve; PRCPolyLine *origin_curve = new PRCPolyLine; origin_curve->point.resize(n); for(uint32_t i=0; ipoint[i].Set(oP[i][0],oP[i][1],oP[i][2]); origin_curve->interval.min = 0; origin_curve->interval.max = origin_curve->point.size()-1; surface->origin_curve = origin_curve; surface->uv_domain.min.x = 0; surface->uv_domain.max.x = 2*pi; surface->uv_domain.min.y = 0; surface->uv_domain.max.y = n-1; } else { PRCNURBSCurve *center_curve = new PRCNURBSCurve; center_curve->is_rational = false; center_curve->degree = 3; const uint32_t CENTER_NUMBER_OF_POINTS = n; center_curve->control_point.resize(CENTER_NUMBER_OF_POINTS); for(uint32_t i = 0; i < CENTER_NUMBER_OF_POINTS; ++i) center_curve->control_point[i].Set(cP[i][0],cP[i][1],cP[i][2]); center_curve->knot.resize(3+CENTER_NUMBER_OF_POINTS+1); center_curve->knot[0] = 1; for(uint32_t i = 1; i < 3+CENTER_NUMBER_OF_POINTS; ++i) center_curve->knot[i] = (i+2)/3; // integer division is intentional center_curve->knot[3+CENTER_NUMBER_OF_POINTS] = (3+CENTER_NUMBER_OF_POINTS+1)/3; surface->center_curve = center_curve; PRCNURBSCurve *origin_curve = new PRCNURBSCurve; origin_curve->is_rational = false; origin_curve->degree = 3; const uint32_t ORIGIN_NUMBER_OF_POINTS = n; origin_curve->control_point.resize(ORIGIN_NUMBER_OF_POINTS); for(uint32_t i = 0; i < ORIGIN_NUMBER_OF_POINTS; ++i) origin_curve->control_point[i].Set(oP[i][0],oP[i][1],oP[i][2]); origin_curve->knot.resize(3+ORIGIN_NUMBER_OF_POINTS+1); origin_curve->knot[0] = 1; for(size_t i = 1; i < 3+ORIGIN_NUMBER_OF_POINTS; ++i) origin_curve->knot[i] = (i+2)/3; // integer division is intentional origin_curve->knot[3+ORIGIN_NUMBER_OF_POINTS] = (3+ORIGIN_NUMBER_OF_POINTS+1)/3; surface->origin_curve = origin_curve; surface->uv_domain.min.x = 0; surface->uv_domain.max.x = 2*pi; surface->uv_domain.min.y = 1; // first knot surface->uv_domain.max.y = (3+CENTER_NUMBER_OF_POINTS+1)/3; // last knot } } void oPRCFile::addHemisphere(double radius, const PRCmaterial &m, PRCFACETRANSFORM) { ADDFACE(PRCSphere) SETTRANSF surface->uv_domain.min.x = 0; surface->uv_domain.max.x = 2*pi; surface->uv_domain.min.y = 0; surface->uv_domain.max.y = 0.5*pi; surface->radius = radius; } void oPRCFile::addSphere(double radius, const PRCmaterial &m, PRCFACETRANSFORM) { ADDFACE(PRCSphere) SETTRANSF surface->uv_domain.min.x = 0; surface->uv_domain.max.x = 2*pi; surface->uv_domain.min.y =-0.5*pi; surface->uv_domain.max.y = 0.5*pi; surface->radius = radius; } void oPRCFile::addDisk(double radius, const PRCmaterial &m, PRCFACETRANSFORM) { ADDFACE(PRCRuled) SETTRANSF PRCCircle *first_curve = new PRCCircle; first_curve->radius = radius; surface->first_curve = first_curve; PRCCircle *second_curve = new PRCCircle; second_curve->radius = 0; surface->second_curve = second_curve; surface->uv_domain.min.x = 0; surface->uv_domain.max.x = 1; surface->uv_domain.min.y = 0; surface->uv_domain.max.y = 2*pi; surface->parameterization_on_v_coeff_a = -1; surface->parameterization_on_v_coeff_b = 2*pi; } void oPRCFile::addCylinder(double radius, double height, const PRCmaterial &m, PRCFACETRANSFORM) { ADDFACE(PRCCylinder) SETTRANSF surface->uv_domain.min.x = 0; surface->uv_domain.max.x = 2*pi; surface->uv_domain.min.y = (height>0)?0:height; surface->uv_domain.max.y = (height>0)?height:0; surface->radius = radius; } void oPRCFile::addCone(double radius, double height, const PRCmaterial &m, PRCFACETRANSFORM) { ADDFACE(PRCCone) SETTRANSF surface->uv_domain.min.x = 0; surface->uv_domain.max.x = 2*pi; surface->uv_domain.min.y = (height>0)?0:height; surface->uv_domain.max.y = (height>0)?height:0; surface->bottom_radius = radius; surface->semi_angle = -atan(radius/height);; } void oPRCFile::addTorus(double major_radius, double minor_radius, double angle1, double angle2, const PRCmaterial &m, PRCFACETRANSFORM) { ADDFACE(PRCTorus) SETTRANSF surface->uv_domain.min.x = (angle1/180)*pi; surface->uv_domain.max.x = (angle2/180)*pi; surface->uv_domain.min.y = 0; surface->uv_domain.max.y = 2*pi; surface->major_radius = major_radius; surface->minor_radius = minor_radius; } #undef PRCFACETRANSFORM #undef ADDFACE #undef ADDWIRE #undef SETTRANSF uint32_t PRCFileStructure::addRgbColor(double r, double g, double b) { const PRCRgbColor color(r, g, b); colors.push_back(color); return 3*(colors.size()-1); } uint32_t PRCFileStructure::addRgbColorUnique(double r, double g, double b) { const PRCRgbColor color(r, g, b); uint32_t color_index = m1; PRCRgbColorMap::const_iterator iRgbColor = colorMap.find(color); if(iRgbColor!=colorMap.end()) { color_index = iRgbColor->second; } else { color_index = 3*colors.size(); colors.push_back(color); colorMap.insert(make_pair(color,color_index)); } return color_index; } #define ADD_ADDUNIQ( prctype, prcmap, prclist) \ uint32_t PRCFileStructure::add##prctype(PRC##prctype *& p##prctype) \ { \ prclist.push_back(p##prctype); \ p##prctype = NULL; \ return prclist.size()-1; \ } \ \ uint32_t PRCFileStructure::add##prctype##Unique(PRC##prctype*& p##prctype) \ { \ uint32_t prc_index = m1; \ PRC##prctype##Map::const_iterator i##prctype = prcmap.find(p##prctype); \ if(i##prctype!=prcmap.end()) \ { \ delete p##prctype; \ prc_index = i##prctype->second; \ } \ else \ { \ prc_index = prclist.size(); \ prclist.push_back(p##prctype); \ prcmap.insert(make_pair(p##prctype,prc_index)); \ } \ p##prctype = NULL; \ return prc_index; \ } ADD_ADDUNIQ(UncompressedFile, uncompressedfileMap, uncompressed_files ) ADD_ADDUNIQ(Picture, pictureMap, pictures ) ADD_ADDUNIQ(TextureDefinition, texturedefinitionMap, texture_definitions ) ADD_ADDUNIQ(MaterialGeneric, materialgenericMap, materials ) ADD_ADDUNIQ(TextureApplication, textureapplicationMap, materials ) ADD_ADDUNIQ(Style, styleMap, styles ) #undef ADD_ADDUNIQ uint32_t PRCFileStructure::addPartDefinition(PRCPartDefinition*& pPartDefinition) { part_definitions.push_back(pPartDefinition); pPartDefinition = NULL; return part_definitions.size()-1; } uint32_t PRCFileStructure::addProductOccurrence(PRCProductOccurrence*& pProductOccurrence) { product_occurrences.push_back(pProductOccurrence); pProductOccurrence = NULL; return product_occurrences.size()-1; } uint32_t PRCFileStructure::addTopoContext(PRCTopoContext*& pTopoContext) { contexts.push_back(pTopoContext); pTopoContext = NULL; return contexts.size()-1; } uint32_t PRCFileStructure::getTopoContext(PRCTopoContext*& pTopoContext) { pTopoContext = new PRCTopoContext; contexts.push_back(pTopoContext); return contexts.size()-1; } uint32_t PRCFileStructure::add3DTess(PRC3DTess*& p3DTess) { tessellations.push_back(p3DTess); p3DTess = NULL; return tessellations.size()-1; } uint32_t PRCFileStructure::add3DWireTess(PRC3DWireTess*& p3DWireTess) { tessellations.push_back(p3DWireTess); p3DWireTess = NULL; return tessellations.size()-1; } /* uint32_t PRCFileStructure::addMarkupTess(PRCMarkupTess*& pMarkupTess) { tessellations.push_back(pMarkupTess); pMarkupTess = NULL; return tessellations.size()-1; } uint32_t PRCFileStructure::addMarkup(PRCMarkup*& pMarkup) { markups.push_back(pMarkup); pMarkup = NULL; return markups.size()-1; } uint32_t PRCFileStructure::addAnnotationItem(PRCAnnotationItem*& pAnnotationItem) { annotation_entities.push_back(pAnnotationItem); pAnnotationItem = NULL; return annotation_entities.size()-1; } */ uint32_t PRCFileStructure::addCoordinateSystem(PRCCoordinateSystem*& pCoordinateSystem) { reference_coordinate_systems.push_back(pCoordinateSystem); pCoordinateSystem = NULL; return reference_coordinate_systems.size()-1; } uint32_t PRCFileStructure::addCoordinateSystemUnique(PRCCoordinateSystem*& pCoordinateSystem) { for(uint32_t i = 0; i < reference_coordinate_systems.size(); ++i) { if(*(reference_coordinate_systems[i])==*pCoordinateSystem) { pCoordinateSystem = NULL; return i; } } reference_coordinate_systems.push_back(pCoordinateSystem); pCoordinateSystem = NULL; return reference_coordinate_systems.size()-1; } mathgl-2.1.3.1/src/prc/oPRCFile.h0000664000175000017500000010257512142400465016055 0ustar balakinbalakin/************ * * This file is part of a tool for producing 3D content in the PRC format. * Copyright (C) 2008 Orest Shardt * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * *************/ #ifndef __O_PRC_FILE_H #define __O_PRC_FILE_H #include #include #include #include #include #include #include #include #include #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "PRC.h" #include "PRCbitStream.h" #include "writePRC.h" class oPRCFile; class PRCFileStructure; #define EQFLD(fld) fld==c.fld #define COMPFLD(fld) \ if(fld != c.fld) \ return (fld < c.fld); struct RGBAColour { RGBAColour(double r=0.0, double g=0.0, double b=0.0, double a=1.0) : R(r), G(g), B(b), A(a) {} double R,G,B,A; void Set(double r, double g, double b, double a=1.0) { R = r; G = g; B = b; A = a; } bool operator==(const RGBAColour &c) const { return (EQFLD(R) && EQFLD(G) && EQFLD(B) && EQFLD(A)); } bool operator!=(const RGBAColour &c) const { return !(EQFLD(R) && EQFLD(G) && EQFLD(B) && EQFLD(A)); } bool operator<(const RGBAColour &c) const { COMPFLD(R) COMPFLD(G) COMPFLD(B) COMPFLD(A) return false; } friend RGBAColour operator * (const RGBAColour& a, const double d) { return RGBAColour(a.R*d,a.G*d,a.B*d,a.A*d); } friend RGBAColour operator * (const double d, const RGBAColour& a) { return RGBAColour(a.R*d,a.G*d,a.B*d,a.A*d); } }; typedef std::map PRCcolourMap; struct RGBAColourWidth { RGBAColourWidth(double r=0.0, double g=0.0, double b=0.0, double a=1.0, double w=1.0) : R(r), G(g), B(b), A(a), W(w) {} double R,G,B,A,W; bool operator==(const RGBAColourWidth &c) const { return (EQFLD(R) && EQFLD(G) && EQFLD(B) && EQFLD(A) && EQFLD(W)); } bool operator!=(const RGBAColourWidth &c) const { return !(EQFLD(R) && EQFLD(G) && EQFLD(B) && EQFLD(A) && EQFLD(W)); } bool operator<(const RGBAColourWidth &c) const { COMPFLD(R) COMPFLD(G) COMPFLD(B) COMPFLD(A) COMPFLD(W) return false; } }; typedef std::map PRCcolourwidthMap; struct PRCmaterial { PRCmaterial() : alpha(1.0),shininess(1.0),width(1.0) {} PRCmaterial(const RGBAColour &a, const RGBAColour &d, const RGBAColour &e, const RGBAColour &s, double p, double h, double w=1.0) : ambient(a), diffuse(d), emissive(e), specular(s), alpha(p), shininess(h), width(w) {} RGBAColour ambient,diffuse,emissive,specular; double alpha,shininess,width; bool operator==(const PRCmaterial &c) const { return (EQFLD(ambient) && EQFLD(diffuse) && EQFLD(emissive) && EQFLD(specular) && EQFLD(alpha) && EQFLD(shininess) && EQFLD(width)); } bool operator<(const PRCmaterial &c) const { COMPFLD(ambient) COMPFLD(diffuse) COMPFLD(emissive) COMPFLD(specular) COMPFLD(alpha) COMPFLD(shininess) COMPFLD(width) return false; } }; typedef std::map PRCmaterialMap; #undef EQFLD #undef COMPFLD struct PRCtexture { PRCtexture() : data(NULL), format(KEPRCPicture_BITMAP_RGBA_BYTE), width(0), height(0), size(0), mapping(0), components(PRC_TEXTURE_MAPPING_COMPONENTS_RGBA), function(KEPRCTextureFunction_Modulate), wrapping_mode_S(KEPRCTextureWrappingMode_Repeat), wrapping_mode_T(KEPRCTextureWrappingMode_Repeat) {} const uint8_t* data; EPRCPictureDataFormat format; /* KEPRCPicture_PNG KEPRCPicture_JPG KEPRCPicture_BITMAP_RGB_BYTE KEPRCPicture_BITMAP_RGBA_BYTE KEPRCPicture_BITMAP_GREY_BYTE KEPRCPicture_BITMAP_GREYA_BYTE */ uint32_t width; // may be omitted for PNG and JPEG uint32_t height; // too uint32_t size; uint32_t mapping; /* PRC_TEXTURE_MAPPING_DIFFUSE PRC_TEXTURE_MAPPING_BUMP PRC_TEXTURE_MAPPING_OPACITY PRC_TEXTURE_MAPPING_SPHERICAL_REFLECTION */ uint8_t components; /* PRC_TEXTURE_MAPPING_COMPONENTS_RED PRC_TEXTURE_MAPPING_COMPONENTS_GREEN PRC_TEXTURE_MAPPING_COMPONENTS_BLUE PRC_TEXTURE_MAPPING_COMPONENTS_RGB PRC_TEXTURE_MAPPING_COMPONENTS_ALPHA PRC_TEXTURE_MAPPING_COMPONENTS_RGBA */ EPRCTextureFunction function; /* enum EPRCTextureFunction { // Defines how to paint a texture on the surface being rendered. KEPRCTextureFunction_Unknown, // Let the application choose. KEPRCTextureFunction_Modulate, // Combine lighting with texturing. This is the default value. KEPRCTextureFunction_Replace, // Replace the object color with texture color data. KEPRCTextureFunction_Blend, // Reserved for future use. KEPRCTextureFunction_Decal // Reserved for future use. }; */ EPRCTextureWrappingMode wrapping_mode_S; EPRCTextureWrappingMode wrapping_mode_T; /* enum EPRCTextureWrappingMode { // Defines repeating and clamping texture modes. KEPRCTextureWrappingMode_Unknown, // Let the application choose. KEPRCTextureWrappingMode_Repeat, // Display the repeated texture on the surface. KEPRCTextureWrappingMode_ClampToBorder, // Clamp the texture to the border. Display the surface color along the texture limits. KEPRCTextureWrappingMode_Clamp, // Reserved for future use. KEPRCTextureWrappingMode_ClampToEdge, // Reserved for future use. KEPRCTextureWrappingMode_MirroredRepeat // Reserved for future use. }; */ }; /* struct PRCmaterial { PRCmaterial() : alpha(1.0),shininess(1.0), picture_data(NULL), picture_format(KEPRCPicture_BITMAP_RGB_BYTE), picture_width(0), picture_height(0), picture_size(0), picture_replace(false), picture_repeat(false) {} PRCmaterial(const RGBAColour &a, const RGBAColour &d, const RGBAColour &e, const RGBAColour &s, double p, double h, const uint8_t* pic=NULL, EPRCPictureDataFormat picf=KEPRCPicture_BITMAP_RGB_BYTE, uint32_t picw=0, uint32_t pich=0, uint32_t pics=0, bool picreplace=false, bool picrepeat=false) : ambient(a), diffuse(d), emissive(e), specular(s), alpha(p), shininess(h), picture_data(pic), picture_format(picf), picture_width(picw), picture_height(pich), picture_size(pics), picture_replace(picreplace), picture_repeat(picrepeat) { if(picture_size==0) { if (picture_format==KEPRCPicture_BITMAP_RGB_BYTE) picture_size = picture_width*picture_height*3; if (picture_format==KEPRCPicture_BITMAP_RGBA_BYTE) picture_size = picture_width*picture_height*4; if (picture_format==KEPRCPicture_BITMAP_GREY_BYTE) picture_size = picture_width*picture_height*1; if (picture_format==KEPRCPicture_BITMAP_GREYA_BYTE) picture_size = picture_width*picture_height*2; } } RGBAColour ambient,diffuse,emissive,specular; double alpha,shininess; const uint8_t* picture_data; EPRCPictureDataFormat picture_format; uint32_t picture_width; uint32_t picture_height; uint32_t picture_size; bool picture_replace; // replace material color with texture color? if false - just modify bool picture_repeat; // repeat texture? if false - clamp to edge bool operator==(const PRCmaterial &m) const { return (ambient==m.ambient && diffuse==m.diffuse && emissive==m.emissive && specular==m.specular && alpha==m.alpha && shininess==m.shininess && picture_replace==m.picture_replace && picture_repeat==m.picture_repeat && picture_format==m.picture_format && picture_width==m.picture_width && picture_height==m.picture_height && picture_size==m.picture_size && (picture_data==m.picture_data || memcmp(picture_data,m.picture_data,picture_size)==0) ); } bool operator<(const PRCmaterial &m) const { if(ambient!=m.ambient) return (ambient PRCmaterialMap; */ struct PRCtessrectangle // rectangle { PRCVector3d vertices[4]; uint32_t style; }; typedef std::vector PRCtessrectangleList; struct PRCtessquad // rectangle { PRCVector3d vertices[4]; RGBAColour colours[4]; }; typedef std::vector PRCtessquadList; /* struct PRCtesstriangle // textured triangle { PRCtesstriangle() : style(m1) {} PRCVector3d vertices[3]; // PRCVector3d normals[3]; // RGBAColour colors[3]; PRCVector2d texcoords[3]; uint32_t style; }; typedef std::vector PRCtesstriangleList; */ struct PRCtessline // polyline { std::vector point; PRCRgbColor color; }; typedef std::list PRCtesslineList; typedef std::map PRCtesslineMap; struct PRCface { PRCface() : transform(NULL), face(NULL) {} uint32_t style; bool transparent; PRCGeneralTransformation3d* transform; PRCFace* face; }; typedef std::vector PRCfaceList; struct PRCcompface { PRCcompface() : face(NULL) {} uint32_t style; bool transparent; PRCCompressedFace* face; }; typedef std::vector PRCcompfaceList; struct PRCwire { PRCwire() : style(m1), transform(NULL), curve(NULL) {} uint32_t style; PRCGeneralTransformation3d* transform; PRCCurve* curve; }; typedef std::vector PRCwireList; typedef std::map > PRCpointsetMap; class PRCoptions { public: double compression; double granularity; bool closed; // render the surface as one-sided; may yield faster rendering bool tess; // use tessellated mesh to store straight patches bool do_break; // bool no_break; // do not render transparent patches as one-faced nodes double crease_angle; // crease angle for meshes PRCoptions(double compression=0.0, double granularity=0.0, bool closed=false, bool tess=false, bool do_break=true, bool no_break=false, double crease_angle=25.8419) : compression(compression), granularity(granularity), closed(closed), tess(tess), do_break(do_break), no_break(no_break), crease_angle(crease_angle) {} }; class PRCgroup { public: PRCgroup() : product_occurrence(NULL), parent_product_occurrence(NULL), part_definition(NULL), parent_part_definition(NULL), transform(NULL) {} PRCgroup(const std::string& name) : product_occurrence(NULL), parent_product_occurrence(NULL), part_definition(NULL), parent_part_definition(NULL), transform(NULL), name(name) {} PRCProductOccurrence *product_occurrence, *parent_product_occurrence; PRCPartDefinition *part_definition, *parent_part_definition; PRCfaceList faces; PRCcompfaceList compfaces; PRCtessrectangleList rectangles; // PRCtesstriangleList triangles; PRCtessquadList quads; PRCtesslineMap lines; PRCwireList wires; PRCpointsetMap points; std::vector pointsets; std::vector polymodels; std::vector polywires; PRCGeneralTransformation3d* transform; std::string name; PRCoptions options; }; void makeFileUUID(PRCUniqueId&); void makeAppUUID(PRCUniqueId&); class PRCStartHeader { public: uint32_t minimal_version_for_read; // PRCVersion uint32_t authoring_version; // PRCVersion PRCUniqueId file_structure_uuid; PRCUniqueId application_uuid; // should be 0 PRCStartHeader() : minimal_version_for_read(PRCVersion), authoring_version(PRCVersion) {} void serializeStartHeader(std::ostream&) const; void serializeUncompressedFiles(std::ostream&) const; PRCUncompressedFileList uncompressed_files; uint32_t getStartHeaderSize() const; uint32_t getUncompressedFilesSize() const; }; class PRCFileStructure : public PRCStartHeader { public: uint32_t number_of_referenced_file_structures; double tessellation_chord_height_ratio; double tessellation_angle_degree; std::string default_font_family_name; PRCRgbColorList colors; PRCRgbColorMap colorMap; PRCPictureList pictures; PRCPictureMap pictureMap; PRCUncompressedFileMap uncompressedfileMap; PRCTextureDefinitionList texture_definitions; PRCTextureDefinitionMap texturedefinitionMap; PRCMaterialList materials; PRCMaterialGenericMap materialgenericMap; PRCTextureApplicationMap textureapplicationMap; PRCStyleList styles; PRCStyleMap styleMap; PRCCoordinateSystemList reference_coordinate_systems; std::vector font_keys_of_font; PRCPartDefinitionList part_definitions; PRCProductOccurrenceList product_occurrences; // PRCMarkupList markups; // PRCAnnotationItemList annotation_entities; double unit; PRCTopoContextList contexts; PRCTessList tessellations; uint32_t sizes[6]; uint8_t *globals_data; PRCbitStream globals_out; // order matters: PRCbitStream must be initialized last uint8_t *tree_data; PRCbitStream tree_out; uint8_t *tessellations_data; PRCbitStream tessellations_out; uint8_t *geometry_data; PRCbitStream geometry_out; uint8_t *extraGeometry_data; PRCbitStream extraGeometry_out; ~PRCFileStructure () { for(PRCUncompressedFileList::iterator it=uncompressed_files.begin(); it!=uncompressed_files.end(); ++it) delete *it; for(PRCPictureList::iterator it=pictures.begin(); it!=pictures.end(); ++it) delete *it; for(PRCTextureDefinitionList::iterator it=texture_definitions.begin(); it!=texture_definitions.end(); ++it) delete *it; for(PRCMaterialList::iterator it=materials.begin(); it!=materials.end(); ++it) delete *it; for(PRCStyleList::iterator it=styles.begin(); it!=styles.end(); ++it) delete *it; for(PRCTopoContextList::iterator it=contexts.begin(); it!=contexts.end(); ++it) delete *it; for(PRCTessList::iterator it=tessellations.begin(); it!=tessellations.end(); ++it) delete *it; for(PRCPartDefinitionList::iterator it=part_definitions.begin(); it!=part_definitions.end(); ++it) delete *it; for(PRCProductOccurrenceList::iterator it=product_occurrences.begin(); it!=product_occurrences.end(); ++it) delete *it; for(PRCCoordinateSystemList::iterator it=reference_coordinate_systems.begin(); it!=reference_coordinate_systems.end(); it++) delete *it; free(globals_data); free(tree_data); free(tessellations_data); free(geometry_data); free(extraGeometry_data); } PRCFileStructure() : number_of_referenced_file_structures(0), tessellation_chord_height_ratio(2000.0),tessellation_angle_degree(40.0), default_font_family_name(""), unit(1), globals_data(NULL),globals_out(globals_data,0), tree_data(NULL),tree_out(tree_data,0), tessellations_data(NULL),tessellations_out(tessellations_data,0), geometry_data(NULL),geometry_out(geometry_data,0), extraGeometry_data(NULL),extraGeometry_out(extraGeometry_data,0) {} void write(std::ostream&); void prepare(); uint32_t getSize(); void serializeFileStructureGlobals(PRCbitStream&); void serializeFileStructureTree(PRCbitStream&); void serializeFileStructureTessellation(PRCbitStream&); void serializeFileStructureGeometry(PRCbitStream&); void serializeFileStructureExtraGeometry(PRCbitStream&); uint32_t addPicture(EPRCPictureDataFormat format, uint32_t size, const uint8_t *picture, uint32_t width=0, uint32_t height=0, std::string name=""); #define ADD_ADDUNIQ( prctype ) \ uint32_t add##prctype( PRC##prctype*& p##prctype ); \ uint32_t add##prctype##Unique( PRC##prctype*& p##prctype); ADD_ADDUNIQ( UncompressedFile ) ADD_ADDUNIQ( Picture ) ADD_ADDUNIQ( TextureDefinition ) ADD_ADDUNIQ( TextureApplication ) ADD_ADDUNIQ( MaterialGeneric ) ADD_ADDUNIQ( Style ) #undef ADD_ADDUNIQ uint32_t addRgbColor(double r, double g, double b); uint32_t addRgbColorUnique(double r, double g, double b); uint32_t addPartDefinition(PRCPartDefinition*& pPartDefinition); uint32_t addProductOccurrence(PRCProductOccurrence*& pProductOccurrence); uint32_t addTopoContext(PRCTopoContext*& pTopoContext); uint32_t getTopoContext(PRCTopoContext*& pTopoContext); uint32_t add3DTess(PRC3DTess*& p3DTess); uint32_t add3DWireTess(PRC3DWireTess*& p3DWireTess); /* uint32_t addMarkupTess(PRCMarkupTess*& pMarkupTess); uint32_t addMarkup(PRCMarkup*& pMarkup); uint32_t addAnnotationItem(PRCAnnotationItem*& pAnnotationItem); */ uint32_t addCoordinateSystem(PRCCoordinateSystem*& pCoordinateSystem); uint32_t addCoordinateSystemUnique(PRCCoordinateSystem*& pCoordinateSystem); }; class PRCFileStructureInformation { public: PRCUniqueId UUID; uint32_t reserved; // 0 uint32_t number_of_offsets; uint32_t *offsets; void write(std::ostream&); uint32_t getSize(); }; class PRCHeader : public PRCStartHeader { public : uint32_t number_of_file_structures; PRCFileStructureInformation *fileStructureInformation; uint32_t model_file_offset; uint32_t file_size; // not documented void write(std::ostream&); uint32_t getSize(); }; typedef std::map PRCtransformMap; class oPRCFile { public: oPRCFile(std::ostream &os, double u=1, uint32_t n=1) : number_of_file_structures(n), fileStructures(new PRCFileStructure*[n]), unit(u), modelFile_data(NULL),modelFile_out(modelFile_data,0), fout(NULL),output(os) { for(uint32_t i = 0; i < number_of_file_structures; ++i) { fileStructures[i] = new PRCFileStructure(); fileStructures[i]->minimal_version_for_read = PRCVersion; fileStructures[i]->authoring_version = PRCVersion; makeFileUUID(fileStructures[i]->file_structure_uuid); makeAppUUID(fileStructures[i]->application_uuid); fileStructures[i]->unit = u; } groups.push(PRCgroup()); PRCgroup &group = groups.top(); group.name="root"; group.transform = NULL; group.product_occurrence = new PRCProductOccurrence(group.name); group.parent_product_occurrence = NULL; group.part_definition = new PRCPartDefinition; group.parent_part_definition = NULL; } oPRCFile(const std::string &name, double u=1, uint32_t n=1) : number_of_file_structures(n), fileStructures(new PRCFileStructure*[n]), unit(u), modelFile_data(NULL),modelFile_out(modelFile_data,0), fout(new std::ofstream(name.c_str(), std::ios::out|std::ios::binary|std::ios::trunc)), output(*fout) { for(uint32_t i = 0; i < number_of_file_structures; ++i) { fileStructures[i] = new PRCFileStructure(); fileStructures[i]->minimal_version_for_read = PRCVersion; fileStructures[i]->authoring_version = PRCVersion; makeFileUUID(fileStructures[i]->file_structure_uuid); makeAppUUID(fileStructures[i]->application_uuid); fileStructures[i]->unit = u; } groups.push(PRCgroup()); PRCgroup &group = groups.top(); group.name="root"; group.transform = NULL; group.product_occurrence = new PRCProductOccurrence(group.name); group.parent_product_occurrence = NULL; group.part_definition = new PRCPartDefinition; group.parent_part_definition = NULL; } ~oPRCFile() { for(uint32_t i = 0; i < number_of_file_structures; ++i) delete fileStructures[i]; delete[] fileStructures; if(fout != NULL) delete fout; free(modelFile_data); } void begingroup(const char *name, const PRCoptions *options=NULL, const double* t=NULL); void endgroup(); std::string lastgroupname; std::vector lastgroupnames; std::string calculate_unique_name(const ContentPRCBase *prc_entity,const ContentPRCBase *prc_occurence); bool finish(); uint32_t getSize(); const uint32_t number_of_file_structures; PRCFileStructure **fileStructures; PRCHeader header; PRCUnit unit; uint8_t *modelFile_data; PRCbitStream modelFile_out; // order matters: PRCbitStream must be initialized last PRCmaterialMap materialMap; PRCcolourMap colourMap; PRCcolourwidthMap colourwidthMap; PRCgroup rootGroup; PRCtransformMap transformMap; std::stack groups; PRCgroup& findGroup(); void doGroup(PRCgroup& group); uint32_t addColour(const RGBAColour &colour); uint32_t addColourWidth(const RGBAColour &colour, double width); uint32_t addLineMaterial(const RGBAColour& c, double width) { return addColourWidth(c,width); } uint32_t addMaterial(const PRCmaterial &material); uint32_t addTexturedMaterial(const PRCmaterial &material, uint32_t n=0, const PRCtexture* const* tt=NULL); uint32_t addTransform(PRCGeneralTransformation3d*& transform); uint32_t addTransform(const double* t); uint32_t addTransform(const double origin[3], const double x_axis[3], const double y_axis[3], double scale); void addPoint(const double P[3], const RGBAColour &c, double w=1.0); void addPoint(double x, double y, double z, const RGBAColour &c, double w); void addPoints(uint32_t n, const double P[][3], const RGBAColour &c, double w=1.0); void addPoints(uint32_t n, const double P[][3], uint32_t style_index); void addLines(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[], const RGBAColour& c, double w, bool segment_color, uint32_t nC, const RGBAColour C[], uint32_t nCI, const uint32_t CI[]); uint32_t createLines(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[], bool segment_color, uint32_t nC, const RGBAColour C[], uint32_t nCI, const uint32_t CI[]); uint32_t createSegments(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[][2], bool segment_color, uint32_t nC, const RGBAColour C[], const uint32_t CI[][2]); void addTriangles(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[][3], const PRCmaterial& m, uint32_t nN, const double N[][3], const uint32_t NI[][3], uint32_t nT, const double T[][2], const uint32_t TI[][3], uint32_t nC, const RGBAColour C[], const uint32_t CI[][3], uint32_t nM, const PRCmaterial M[], const uint32_t MI[], double ca); uint32_t createTriangleMesh(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[][3], uint32_t style_index, uint32_t nN, const double N[][3], const uint32_t NI[][3], uint32_t nT, const double T[][2], const uint32_t TI[][3], uint32_t nC, const RGBAColour C[], const uint32_t CI[][3], uint32_t nS, const uint32_t S[], const uint32_t SI[], double ca); uint32_t createTriangleMesh(uint32_t nP, const double P[][3], uint32_t nI, const uint32_t PI[][3], const PRCmaterial& m, uint32_t nN, const double N[][3], const uint32_t NI[][3], uint32_t nT, const double T[][2], const uint32_t TI[][3], uint32_t nC, const RGBAColour C[], const uint32_t CI[][3], uint32_t nM, const PRCmaterial M[], const uint32_t MI[], double ca) { const uint32_t style = addMaterial(m); if(M!=NULL && nM>0) { uint32_t* const styles = new uint32_t[nM]; for(uint32_t i=0; i0) { uint32_t* const styles = new uint32_t[nM]; for(uint32_t i=0; iaddPicture(format, size, picture, width, height, name); } #define ADD_ADDUNIQ( prctype ) \ uint32_t add##prctype(PRC##prctype*& p##prctype, uint32_t fileStructure=0) \ { return fileStructures[fileStructure]->add##prctype( p##prctype ); } \ uint32_t add##prctype##Unique(PRC##prctype*& p##prctype, uint32_t fileStructure=0) \ { return fileStructures[fileStructure]->add##prctype##Unique(p##prctype); } ADD_ADDUNIQ( TextureDefinition ) ADD_ADDUNIQ( TextureApplication ) ADD_ADDUNIQ( MaterialGeneric ) ADD_ADDUNIQ( Style ) #undef ADD_ADDUNIQ uint32_t addRgbColor(double r, double g, double b, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addRgbColor(r, g, b); } uint32_t addRgbColorUnique(double r, double g, double b, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addRgbColorUnique(r, g, b); } uint32_t addPartDefinition(PRCPartDefinition*& pPartDefinition, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addPartDefinition(pPartDefinition); } uint32_t addProductOccurrence(PRCProductOccurrence*& pProductOccurrence, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addProductOccurrence(pProductOccurrence); } uint32_t addTopoContext(PRCTopoContext*& pTopoContext, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addTopoContext(pTopoContext); } uint32_t getTopoContext(PRCTopoContext*& pTopoContext, uint32_t fileStructure=0) { return fileStructures[fileStructure]->getTopoContext(pTopoContext); } uint32_t add3DTess(PRC3DTess*& p3DTess, uint32_t fileStructure=0) { return fileStructures[fileStructure]->add3DTess(p3DTess); } uint32_t add3DWireTess(PRC3DWireTess*& p3DWireTess, uint32_t fileStructure=0) { return fileStructures[fileStructure]->add3DWireTess(p3DWireTess); } /* uint32_t addMarkupTess(PRCMarkupTess*& pMarkupTess, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addMarkupTess(pMarkupTess); } uint32_t addMarkup(PRCMarkup*& pMarkup, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addMarkup(pMarkup); } uint32_t addAnnotationItem(PRCAnnotationItem*& pAnnotationItem, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addAnnotationItem(pAnnotationItem); } */ uint32_t addCoordinateSystem(PRCCoordinateSystem*& pCoordinateSystem, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addCoordinateSystem(pCoordinateSystem); } uint32_t addCoordinateSystemUnique(PRCCoordinateSystem*& pCoordinateSystem, uint32_t fileStructure=0) { return fileStructures[fileStructure]->addCoordinateSystemUnique(pCoordinateSystem); } private: void serializeModelFileData(PRCbitStream&); std::ofstream *fout; std::ostream &output; }; #endif // __O_PRC_FILE_H mathgl-2.1.3.1/src/prc/PRC.h0000664000175000017500000007305712142400465015100 0ustar balakinbalakin#ifndef __PRC_H #define __PRC_H #ifdef _MSC_VER #if _MSC_VER >= 1600 #include #else typedef signed char int8_t; typedef signed short int16_t; typedef signed long int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned long uint32_t; #endif // _MSC_VER >= 1600 #elif defined __BORLANDC__ #include #else #include #endif // _MSC_VER //const uint32_t PRCVersion=7094; // For Adobe Reader 8 or later const uint32_t PRCVersion=8137; // For Adobe Reader 9 or later // from Adobe's documentation #define PRC_TYPE_Unknown ( (uint32_t)-1 ) #define PRC_TYPE_ROOT 0 // This type does not correspond to any entity #define PRC_TYPE_ROOT_PRCBase ( PRC_TYPE_ROOT + 1 ) // Abstract root type for any PRC entity. #define PRC_TYPE_ROOT_PRCBaseWithGraphics ( PRC_TYPE_ROOT + 2 ) // Abstract root type for any PRC entity which can bear graphics. #define PRC_TYPE_CRV ( PRC_TYPE_ROOT + 10 ) // Types for PRC geometrical curves #define PRC_TYPE_SURF ( PRC_TYPE_ROOT + 75 ) // Types for PRC geometrical surfaces #define PRC_TYPE_TOPO ( PRC_TYPE_ROOT + 140 ) // Types for PRC topology #define PRC_TYPE_TESS ( PRC_TYPE_ROOT + 170 ) // Types for PRC tessellation #define PRC_TYPE_MISC ( PRC_TYPE_ROOT + 200 ) // Types for PRC global data #define PRC_TYPE_RI ( PRC_TYPE_ROOT + 230 ) // Types for PRC representation items #define PRC_TYPE_ASM ( PRC_TYPE_ROOT + 300 ) // Types for PRC assembly #define PRC_TYPE_MKP ( PRC_TYPE_ROOT + 500 ) // Types for PRC markup #define PRC_TYPE_GRAPH ( PRC_TYPE_ROOT + 700 ) // Types for PRC graphics #define PRC_TYPE_MATH ( PRC_TYPE_ROOT + 900 ) // Types for PRC mathematical operators #define PRC_TYPE_CRV_Base ( PRC_TYPE_CRV + 1 ) // Abstract type for all geometric curves. #define PRC_TYPE_CRV_Blend02Boundary ( PRC_TYPE_CRV + 2 ) // Boundary Curve. #define PRC_TYPE_CRV_NURBS ( PRC_TYPE_CRV + 3 ) // Non Uniform BSpline curve. #define PRC_TYPE_CRV_Circle ( PRC_TYPE_CRV + 4 ) // Circle. #define PRC_TYPE_CRV_Composite ( PRC_TYPE_CRV + 5 ) // Array of oriented curves. #define PRC_TYPE_CRV_OnSurf ( PRC_TYPE_CRV + 6 ) // Curve defined by a UV curve on a surface. #define PRC_TYPE_CRV_Ellipse ( PRC_TYPE_CRV + 7 ) // Ellipse. #define PRC_TYPE_CRV_Equation ( PRC_TYPE_CRV + 8 ) // curve described by specific law elements #define PRC_TYPE_CRV_Helix ( PRC_TYPE_CRV + 9 ) // Helix curve. #define PRC_TYPE_CRV_Hyperbola ( PRC_TYPE_CRV + 10 ) // Hyperbola. #define PRC_TYPE_CRV_Intersection ( PRC_TYPE_CRV + 11 ) // Intersection between 2 surfaces. #define PRC_TYPE_CRV_Line ( PRC_TYPE_CRV + 12 ) // Line. #define PRC_TYPE_CRV_Offset ( PRC_TYPE_CRV + 13 ) // Offset curve. #define PRC_TYPE_CRV_Parabola ( PRC_TYPE_CRV + 14 ) // Parabola. #define PRC_TYPE_CRV_PolyLine ( PRC_TYPE_CRV + 15 ) // Polyedric curve. #define PRC_TYPE_CRV_Transform ( PRC_TYPE_CRV + 16 ) // Transformed curve. #define PRC_TYPE_SURF_Base ( PRC_TYPE_SURF + 1 ) // Abstract type for all geometric surfaces. #define PRC_TYPE_SURF_Blend01 ( PRC_TYPE_SURF + 2 ) // Blend surface. #define PRC_TYPE_SURF_Blend02 ( PRC_TYPE_SURF + 3 ) // Blend Surface. #define PRC_TYPE_SURF_Blend03 ( PRC_TYPE_SURF + 4 ) // Blend Surface. #define PRC_TYPE_SURF_NURBS ( PRC_TYPE_SURF + 5 ) // Non Uniform BSpline surface. #define PRC_TYPE_SURF_Cone ( PRC_TYPE_SURF + 6 ) // Cone. #define PRC_TYPE_SURF_Cylinder ( PRC_TYPE_SURF + 7 ) // Cylinder. #define PRC_TYPE_SURF_Cylindrical ( PRC_TYPE_SURF + 8 ) // Surface who is defined in cylindrical space. #define PRC_TYPE_SURF_Offset ( PRC_TYPE_SURF + 9 ) // Offset surface. #define PRC_TYPE_SURF_Pipe ( PRC_TYPE_SURF + 10 ) // Pipe. #define PRC_TYPE_SURF_Plane ( PRC_TYPE_SURF + 11 ) // Plane. #define PRC_TYPE_SURF_Ruled ( PRC_TYPE_SURF + 12 ) // Ruled surface. #define PRC_TYPE_SURF_Sphere ( PRC_TYPE_SURF + 13 ) // Sphere. #define PRC_TYPE_SURF_Revolution ( PRC_TYPE_SURF + 14 ) // Surface of revolution. #define PRC_TYPE_SURF_Extrusion ( PRC_TYPE_SURF + 15 ) // Surface of extrusion. #define PRC_TYPE_SURF_FromCurves ( PRC_TYPE_SURF + 16 ) // Surface from two curves. #define PRC_TYPE_SURF_Torus ( PRC_TYPE_SURF + 17 ) // Torus. #define PRC_TYPE_SURF_Transform ( PRC_TYPE_SURF + 18 ) // Transformed surface. #define PRC_TYPE_SURF_Blend04 ( PRC_TYPE_SURF + 19 ) // defined for future use. #define PRC_TYPE_TOPO_Context ( PRC_TYPE_TOPO + 1 ) // Self-containing set of topological entities. #define PRC_TYPE_TOPO_Item ( PRC_TYPE_TOPO + 2 ) // Abstract root type for any topological entity (body or single item). #define PRC_TYPE_TOPO_MultipleVertex ( PRC_TYPE_TOPO + 3 ) // Vertex whose position is the average of all edges' extremity positions to whom it belongs. #define PRC_TYPE_TOPO_UniqueVertex ( PRC_TYPE_TOPO + 4 ) // Vertex with one set of coordinates (absolute position). #define PRC_TYPE_TOPO_WireEdge ( PRC_TYPE_TOPO + 5 ) // Edge belonging to a wire body / single wire body. #define PRC_TYPE_TOPO_Edge ( PRC_TYPE_TOPO + 6 ) // Edge belonging to a brep data. #define PRC_TYPE_TOPO_CoEdge ( PRC_TYPE_TOPO + 7 ) // Usage of an edge in a loop. #define PRC_TYPE_TOPO_Loop ( PRC_TYPE_TOPO + 8 ) // Array of co edges which delimits a face. #define PRC_TYPE_TOPO_Face ( PRC_TYPE_TOPO + 9 ) // Topological face delimiting a shell. #define PRC_TYPE_TOPO_Shell ( PRC_TYPE_TOPO + 10 ) // Topological shell (open or closed). #define PRC_TYPE_TOPO_Connex ( PRC_TYPE_TOPO + 11 ) // Topological region delimited by one or several shells. #define PRC_TYPE_TOPO_Body ( PRC_TYPE_TOPO + 12 ) // Abstract root type for any topological body. #define PRC_TYPE_TOPO_SingleWireBody ( PRC_TYPE_TOPO + 13 ) // Single wire body. #define PRC_TYPE_TOPO_BrepData ( PRC_TYPE_TOPO + 14 ) // Main entry to solid and surface topology (regular form). #define PRC_TYPE_TOPO_SingleWireBodyCompress ( PRC_TYPE_TOPO + 15 ) // Single wire body. (ultra compressed form). #define PRC_TYPE_TOPO_BrepDataCompress ( PRC_TYPE_TOPO + 16 ) // Main entry to solid and surface topology (ultra compressed form). #define PRC_TYPE_TOPO_WireBody ( PRC_TYPE_TOPO + 17 ) // This type is the main entry to wire topology. #define PRC_TYPE_TESS_Base ( PRC_TYPE_TESS + 1 ) // Abstract root type for any tessellated entity. #define PRC_TYPE_TESS_3D ( PRC_TYPE_TESS + 2 ) // Tessellated faceted data; regular form. #define PRC_TYPE_TESS_3D_Compressed ( PRC_TYPE_TESS + 3 ) // Tessellated faceted data; highly compressed form. #define PRC_TYPE_TESS_Face ( PRC_TYPE_TESS + 4 ) // Tessellated face. #define PRC_TYPE_TESS_3D_Wire ( PRC_TYPE_TESS + 5 ) // Tessellated wireframe. #define PRC_TYPE_TESS_Markup ( PRC_TYPE_TESS + 6 ) // Tessellated markup. #define PRC_TYPE_MISC_Attribute ( PRC_TYPE_MISC + 1 ) // Entity attribute. #define PRC_TYPE_MISC_CartesianTransformation ( PRC_TYPE_MISC + 2 ) // Cartesian transformation. #define PRC_TYPE_MISC_EntityReference ( PRC_TYPE_MISC + 3 ) // Entity reference. #define PRC_TYPE_MISC_MarkupLinkedItem ( PRC_TYPE_MISC + 4 ) // Link between a markup and an entity. #define PRC_TYPE_MISC_ReferenceOnPRCBase ( PRC_TYPE_MISC + 5 ) // Reference pointing on a regular entity (not topological). #define PRC_TYPE_MISC_ReferenceOnTopology ( PRC_TYPE_MISC + 6 ) // Reference pointing on a topological entity. #define PRC_TYPE_MISC_GeneralTransformation ( PRC_TYPE_MISC + 7 ) // General transformation. #define PRC_TYPE_RI_RepresentationItem ( PRC_TYPE_RI + 1 ) // Basic abstract type for representation items. #define PRC_TYPE_RI_BrepModel ( PRC_TYPE_RI + 2 ) // Basic type for surfaces and solids. #define PRC_TYPE_RI_Curve ( PRC_TYPE_RI + 3 ) // Basic type for curves. #define PRC_TYPE_RI_Direction ( PRC_TYPE_RI + 4 ) // Optional point + vector. #define PRC_TYPE_RI_Plane ( PRC_TYPE_RI + 5 ) // Construction plane, as opposed to planar surface. #define PRC_TYPE_RI_PointSet ( PRC_TYPE_RI + 6 ) // Set of points. #define PRC_TYPE_RI_PolyBrepModel ( PRC_TYPE_RI + 7 ) // Basic type to polyhedral surfaces and solids. #define PRC_TYPE_RI_PolyWire ( PRC_TYPE_RI + 8 ) // Polyedric wireframe entity. #define PRC_TYPE_RI_Set ( PRC_TYPE_RI + 9 ) // Logical grouping of arbitrary number of representation items. #define PRC_TYPE_RI_CoordinateSystem ( PRC_TYPE_RI + 10 ) // Coordinate system. #define PRC_TYPE_ASM_ModelFile ( PRC_TYPE_ASM + 1 ) // Basic entry type for PRC. #define PRC_TYPE_ASM_FileStructure ( PRC_TYPE_ASM + 2 ) // Basic structure for PRC files. #define PRC_TYPE_ASM_FileStructureGlobals ( PRC_TYPE_ASM + 3 ) // Basic structure for PRC files : globals. #define PRC_TYPE_ASM_FileStructureTree ( PRC_TYPE_ASM + 4 ) // Basic structure for PRC files : tree. #define PRC_TYPE_ASM_FileStructureTessellation ( PRC_TYPE_ASM + 5 ) // Basic structure for PRC files : tessellation. #define PRC_TYPE_ASM_FileStructureGeometry ( PRC_TYPE_ASM + 6 ) // Basic structure for PRC files : geometry. #define PRC_TYPE_ASM_FileStructureExtraGeometry ( PRC_TYPE_ASM + 7 ) // Basic structure for PRC files : extra geometry data. #define PRC_TYPE_ASM_ProductOccurence ( PRC_TYPE_ASM + 10 ) // Basic contruct for assemblies. #define PRC_TYPE_ASM_PartDefinition ( PRC_TYPE_ASM + 11 ) // Basic construct for parts. #define PRC_TYPE_ASM_Filter ( PRC_TYPE_ASM + 20 ) #define PRC_TYPE_MKP_View ( PRC_TYPE_MKP + 1 ) // Grouping of markup by views. #define PRC_TYPE_MKP_Markup ( PRC_TYPE_MKP + 2 ) // Basic type for simple markups. #define PRC_TYPE_MKP_Leader ( PRC_TYPE_MKP + 3 ) // basic type for markup leader #define PRC_TYPE_MKP_AnnotationItem ( PRC_TYPE_MKP + 4 ) // Usage of a markup. #define PRC_TYPE_MKP_AnnotationSet ( PRC_TYPE_MKP + 5 ) // Group of annotations. #define PRC_TYPE_MKP_AnnotationReference ( PRC_TYPE_MKP + 6 ) // Logical grouping of annotations for reference. #define PRC_TYPE_GRAPH_Style ( PRC_TYPE_GRAPH + 1 ) // Display style. #define PRC_TYPE_GRAPH_Material ( PRC_TYPE_GRAPH + 2 ) // Display material properties. #define PRC_TYPE_GRAPH_Picture ( PRC_TYPE_GRAPH + 3 ) // Picture. #define PRC_TYPE_GRAPH_TextureApplication ( PRC_TYPE_GRAPH + 11 ) // Texture application. #define PRC_TYPE_GRAPH_TextureDefinition ( PRC_TYPE_GRAPH + 12 ) // Texture definition. #define PRC_TYPE_GRAPH_TextureTransformation ( PRC_TYPE_GRAPH + 13 ) // Texture transformation. #define PRC_TYPE_GRAPH_LinePattern ( PRC_TYPE_GRAPH + 21 ) // One dimensional display style. #define PRC_TYPE_GRAPH_FillPattern ( PRC_TYPE_GRAPH + 22 ) // Abstract class for two-dimensional display style. #define PRC_TYPE_GRAPH_DottingPattern ( PRC_TYPE_GRAPH + 23 ) // Two-dimensional filling with dots. #define PRC_TYPE_GRAPH_HatchingPattern ( PRC_TYPE_GRAPH + 24 ) // Two-dimensional filling with hatches. #define PRC_TYPE_GRAPH_SolidPattern ( PRC_TYPE_GRAPH + 25 ) // Two-dimensional filling with particular style (color, material, texture). #define PRC_TYPE_GRAPH_VPicturePattern ( PRC_TYPE_GRAPH + 26 ) // Two-dimensional filling with vectorised picture. #define PRC_TYPE_GRAPH_AmbientLight ( PRC_TYPE_GRAPH + 31 ) // Scene ambient illumination. #define PRC_TYPE_GRAPH_PointLight ( PRC_TYPE_GRAPH + 32 ) // Scene point illumination. #define PRC_TYPE_GRAPH_DirectionalLight ( PRC_TYPE_GRAPH + 33 ) // Scene directional illumination. #define PRC_TYPE_GRAPH_SpotLight ( PRC_TYPE_GRAPH + 34 ) // Scene spot illumination. #define PRC_TYPE_GRAPH_SceneDisplayParameters ( PRC_TYPE_GRAPH + 41 ) // Parameters for scene visualisation. #define PRC_TYPE_GRAPH_Camera ( PRC_TYPE_GRAPH + 42 ) // #define PRC_TYPE_MATH_FCT_1D ( PRC_TYPE_MATH + 1 ) // Basic type for one degree equation object. #define PRC_TYPE_MATH_FCT_1D_Polynom ( PRC_TYPE_MATH_FCT_1D + 1 ) // Polynomial equation. #define PRC_TYPE_MATH_FCT_1D_Trigonometric ( PRC_TYPE_MATH_FCT_1D + 2 ) // Cosinus based equation. #define PRC_TYPE_MATH_FCT_1D_Fraction ( PRC_TYPE_MATH_FCT_1D + 3 ) // Fraction between 2 one degree equation object. #define PRC_TYPE_MATH_FCT_1D_ArctanCos ( PRC_TYPE_MATH_FCT_1D + 4 ) // Specific equation. #define PRC_TYPE_MATH_FCT_1D_Combination ( PRC_TYPE_MATH_FCT_1D + 5 ) // Combination of one degree equation object. #define PRC_TYPE_MATH_FCT_3D ( PRC_TYPE_MATH + 10 ) // Basic type for 3rd degree equation object. #define PRC_TYPE_MATH_FCT_3D_Linear ( PRC_TYPE_MATH_FCT_3D + 1 ) // Linear transformation ( with a matrix ). #define PRC_TYPE_MATH_FCT_3D_NonLinear ( PRC_TYPE_MATH_FCT_3D + 2 ) // Specific transformation. #define PRC_PRODUCT_FLAG_DEFAULT 0x0001 #define PRC_PRODUCT_FLAG_INTERNAL 0x0002 #define PRC_PRODUCT_FLAG_CONTAINER 0x0004 #define PRC_PRODUCT_FLAG_CONFIG 0x0008 #define PRC_PRODUCT_FLAG_VIEW 0x0010 #define PRC_TRANSFORMATION_Identity 0x00 #define PRC_TRANSFORMATION_Translate 0x01 #define PRC_TRANSFORMATION_Rotate 0x02 #define PRC_TRANSFORMATION_Mirror 0x04 #define PRC_TRANSFORMATION_Scale 0x08 #define PRC_TRANSFORMATION_NonUniformScale 0x10 #define PRC_TRANSFORMATION_NonOrtho 0x20 #define PRC_TRANSFORMATION_Homogeneous 0x40 #define PRC_FACETESSDATA_Polyface 0x0001 #define PRC_FACETESSDATA_Triangle 0x0002 #define PRC_FACETESSDATA_TriangleFan 0x0004 #define PRC_FACETESSDATA_TriangleStripe 0x0008 #define PRC_FACETESSDATA_PolyfaceOneNormal 0x0010 #define PRC_FACETESSDATA_TriangleOneNormal 0x0020 #define PRC_FACETESSDATA_TriangleFanOneNormal 0x0040 #define PRC_FACETESSDATA_TriangleStripeOneNormal 0x0080 #define PRC_FACETESSDATA_PolyfaceTextured 0x0100 #define PRC_FACETESSDATA_TriangleTextured 0x0200 #define PRC_FACETESSDATA_TriangleFanTextured 0x0400 #define PRC_FACETESSDATA_TriangleStripeTextured 0x0800 #define PRC_FACETESSDATA_PolyfaceOneNormalTextured 0x1000 #define PRC_FACETESSDATA_TriangleOneNormalTextured 0x2000 #define PRC_FACETESSDATA_TriangleFanOneNormalTextured 0x4000 #define PRC_FACETESSDATA_TriangleStripeOneNormalTextured 0x8000 #define PRC_FACETESSDATA_NORMAL_Single 0x40000000 #define PRC_FACETESSDATA_NORMAL_Mask 0x3FFFFFFF #define PRC_FACETESSDATA_WIRE_IsNotDrawn 0x4000 // Indicates that the edge should not be drawn (its neighbor will be drawn). #define PRC_FACETESSDATA_WIRE_IsClosing 0x8000 // Indicates that this is the last edge of a loop. #define PRC_3DWIRETESSDATA_IsClosing 0x10000000 // Indicates that the first point is implicitely repeated after the last one to close the wire edge. #define PRC_3DWIRETESSDATA_IsContinuous 0x20000000 // Indicates that the last point of the preceding wire should be linked with the first point of the current one. #define PRC_TEXTURE_MAPPING_DIFFUSE 0x0001 // Diffuse texture mapping attribute. Default value. #define PRC_TEXTURE_MAPPING_BUMP 0x0002 // Bump texture mapping attribute. #define PRC_TEXTURE_MAPPING_OPACITY 0x0004 // Opacity texture mapping attribute. #define PRC_TEXTURE_MAPPING_SPHERICAL_REFLECTION 0x0008 // Spherical reflection texture mapping attribute (used for environment mapping). #define PRC_TEXTURE_MAPPING_CUBICAL_REFLECTION 0x0010 // Cubical reflection texture mapping attribute (used for environment mapping). #define PRC_TEXTURE_MAPPING_REFRACTION 0x0020 // Refraction texture mapping attribute. #define PRC_TEXTURE_MAPPING_SPECULAR 0x0040 // Specular texture mapping attribute. #define PRC_TEXTURE_MAPPING_AMBIENT 0x0080 // Ambient texture mapping attribute. #define PRC_TEXTURE_MAPPING_EMISSION 0x0100 // Emission texture mapping attribute. #define PRC_TEXTURE_APPLYING_MODE_NONE 0x00 // let the application choose #define PRC_TEXTURE_APPLYING_MODE_LIGHTING 0x01 // use lighting mode #define PRC_TEXTURE_APPLYING_MODE_ALPHATEST 0x02 // use alpha test #define PRC_TEXTURE_APPLYING_MODE_VERTEXCOLOR 0x04 // combine a texture with one-color-per-vertex mode #define PRC_TEXTURE_MAPPING_COMPONENTS_RED 0x0001 // Red texture mapping component. #define PRC_TEXTURE_MAPPING_COMPONENTS_GREEN 0x0002 // Green texture mapping component. #define PRC_TEXTURE_MAPPING_COMPONENTS_BLUE 0x0004 // Blue texture mapping component. #define PRC_TEXTURE_MAPPING_COMPONENTS_RGB 0x0007 // RGB texture mapping component. #define PRC_TEXTURE_MAPPING_COMPONENTS_ALPHA 0x0008 // Alpha texture mapping component. #define PRC_TEXTURE_MAPPING_COMPONENTS_RGBA 0x000F // RGBA texture mapping component. enum EPRCModellerAttributeType { KEPRCModellerAttributeTypeNull = 0, KEPRCModellerAttributeTypeInt = 1, KEPRCModellerAttributeTypeReal = 2, KEPRCModellerAttributeTypeTime = 3, KEPRCModellerAttributeTypeString = 4 }; enum EPRCPictureDataFormat { KEPRCPicture_PNG, KEPRCPicture_JPG, KEPRCPicture_BITMAP_RGB_BYTE, KEPRCPicture_BITMAP_RGBA_BYTE, KEPRCPicture_BITMAP_GREY_BYTE, KEPRCPicture_BITMAP_GREYA_BYTE }; enum EPRCProductLoadStatus { KEPRCProductLoadStatus_Unknown = 0, KEPRCProductLoadStatus_Error, KEPRCProductLoadStatus_NotLoaded, KEPRCProductLoadStatus_NotLoadable, KEPRCProductLoadStatus_Loaded }; enum EPRCExtendType { KEPRCExtendTypeNone = 0, // Discontinuous position. KEPRCExtendTypeExt1 = 2, // Same as EPRCExtendTypeCInfinity. KEPRCExtendTypeExt2 = 4, // Same as EPRCExtendTypeG1R for surface, and EPRCExtendTypeG1 for curve. KEPRCExtendTypeG1 = 6, // Continuous in direction but not magnitude of first derivative. KEPRCExtendTypeG1R = 8, // Surface extended with a ruled surface that connects with G1-continuity. KEPRCExtendTypeG1_G2 = 10, // Extended by reflection, yielding a G2 continuous extension. KEPRCExtendTypeCInfinity = 12 // Unlimited continuity. }; enum EPRCKnotType { // Knot vector type KEPRCKnotTypeUniformKnots, // Uniform knot vector. KEPRCKnotTypeUnspecified, // Unspecified knot type. KEPRCKnotTypeQuasiUniformKnots, // Quasi-uniform knot vector. KEPRCKnotTypePiecewiseBezierKnots // Extrema with multiplicities of degree +1. }; // Note : this value is currently unused and should be set to KEPRCKnotTypeUnspecified. enum EPRCBSplineSurfaceForm { KEPRCBSplineSurfaceFormPlane, // Planar surface. KEPRCBSplineSurfaceFormCylindrical, // Cylindrical surface. KEPRCBSplineSurfaceFormConical, // Conical surface. KEPRCBSplineSurfaceFormSpherical, // Spherical surface. KEPRCBSplineSurfaceFormRevolution, // Surface of revolution. KEPRCBSplineSurfaceFormRuled, // Ruled surface. KEPRCBSplineSurfaceFormGeneralizedCone, // Cone. KEPRCBSplineSurfaceFormQuadric, // Quadric surface. KEPRCBSplineSurfaceFormLinearExtrusion, // Surface of extrusion. KEPRCBSplineSurfaceFormUnspecified, // Unspecified surface. KEPRCBSplineSurfaceFormPolynomial // Polynomial surface. }; enum EPRCBSplineCurveForm { // NURBS curve form KEPRCBSplineCurveFormUnspecified, // Unspecified curve form. KEPRCBSplineCurveFormPolyline, // Polygon. KEPRCBSplineCurveFormCircularArc, // Circle arc. KEPRCBSplineCurveFormEllipticArc, // Elliptical arc. KEPRCBSplineCurveFormParabolicArc, // Parabolic arc. KEPRCBSplineCurveFormHyperbolicArc // Hyperbolic arc. }; // Note : this value is currently unused and should be set to KEPRCBSplineCurveFormUnspecified. enum EPRCTextureMappingType { // Defines how to retrieve mapping coordinates. KEPRCTextureMappingType_Unknown, // Let the application choose. KEPRCTextureMappingType_Stored, // Use the mapping coordinates that are stored on a 3D tessellation object KEPRCTextureMappingType_Parametric, // Retrieve the UV coordinates on the surface as mapping coordinates KEPRCTextureMappingType_Operator // Use the defined Texture mapping operator to calculate mapping coordinates }; enum EPRCTextureFunction { // Defines how to paint a texture on the surface being rendered. KEPRCTextureFunction_Unknown, // Let the application choose. KEPRCTextureFunction_Modulate, // Combine lighting with texturing. This is the default value. KEPRCTextureFunction_Replace, // Replace the object color with texture color data. KEPRCTextureFunction_Blend, // Reserved for future use. KEPRCTextureFunction_Decal // Reserved for future use. }; enum EPRCTextureMappingOperator { // The operator to use when computing mapping coordinates. KEPRCTextureMappingOperator_Unknown, // Default value KEPRCTextureMappingOperator_Planar, // Reserved for future use KEPRCTextureMappingOperator_Cylindrical, // Reserved for future use KEPRCTextureMappingOperator_Spherical, // Reserved for future use KEPRCTextureMappingOperator_Cubical // Reserved for future use }; enum EPRCTextureBlendParameter { // Reserved for future use. Defines how to apply blending. KEPRCTextureBlendParameter_Unknown, // Default value. KEPRCTextureBlendParameter_Zero, // Reserved for future use. KEPRCTextureBlendParameter_One, // Reserved for future use. KEPRCTextureBlendParameter_SrcColor, // Reserved for future use. KEPRCTextureBlendParameter_OneMinusSrcColor, // Reserved for future use. KEPRCTextureBlendParameter_DstColor, // Reserved for future use. KEPRCTextureBlendParameter_OneMinusDstColor, // Reserved for future use. KEPRCTextureBlendParameter_SrcAlpha, // Reserved for future use. KEPRCTextureBlendParameter_OneMinusSrcAlpha, // Reserved for future use. KEPRCTextureBlendParameter_DstAlpha, // Reserved for future use. KEPRCTextureBlendParameter_OneMinusDstAlpha, // Reserved for future use. KEPRCTextureBlendParameter_SrcAlphaSaturate // Reserved for future use. }; enum EPRCTextureWrappingMode { // Defines repeating and clamping texture modes. KEPRCTextureWrappingMode_Unknown, // Let the application choose. KEPRCTextureWrappingMode_Repeat, // Display the repeated texture on the surface. KEPRCTextureWrappingMode_ClampToBorder, // Clamp the texture to the border. Display the surface color along the texture limits. KEPRCTextureWrappingMode_Clamp, // Reserved for future use. KEPRCTextureWrappingMode_ClampToEdge, // Reserved for future use. KEPRCTextureWrappingMode_MirroredRepeat // Reserved for future use. }; enum EPRCTextureAlphaTest { // Reserved for future use. Defines how to use a texture alpha test. KEPRCTextureAlphaTest_Unknown, // Default value. KEPRCTextureAlphaTest_Never, // Reserved for future use. KEPRCTextureAlphaTest_Less, // Reserved for future use. KEPRCTextureAlphaTest_Equal, // Reserved for future use. KEPRCTextureAlphaTest_Lequal, // Reserved for future use. KEPRCTextureAlphaTest_Greater, // Reserved for future use. KEPRCTextureAlphaTest_Notequal, // Reserved for future use. KEPRCTextureAlphaTest_Gequal, // Reserved for future use. KEPRCTextureAlphaTest_Always // Reserved for future use. }; // Bit field for graphics behavior #define PRC_GRAPHICS_Show 0x0001 // The entity is shown. #define PRC_GRAPHICS_SonHeritShow 0x0002 // Shown entity son inheritance. #define PRC_GRAPHICS_FatherHeritShow 0x0004 // Shown entity father inheritance. #define PRC_GRAPHICS_SonHeritColor 0x0008 // Color/material son inheritance. #define PRC_GRAPHICS_FatherHeritColor 0x0010 // Color/material father inheritance. #define PRC_GRAPHICS_SonHeritLayer 0x0020 // Layer son inheritance. #define PRC_GRAPHICS_FatherHeritLayer 0x0040 // Layer father inheritance. #define PRC_GRAPHICS_SonHeritTransparency 0x0080 // Transparency son inheritance. #define PRC_GRAPHICS_FatherHeritTransparency 0x0100 // Transparency father inheritance. #define PRC_GRAPHICS_SonHeritLinePattern 0x0200 // Line pattern son inheritance. #define PRC_GRAPHICS_FatherHeritLinePattern 0x0400 // Line pattern father inheritance. #define PRC_GRAPHICS_SonHeritLineWidth 0x0800 // Line width son inheritance. #define PRC_GRAPHICS_FatherHeritLineWidth 0x1000 // Line width father inheritance. #define PRC_GRAPHICS_Removed 0x2000 // The entity has been removed and no longer appears in the tree. enum EPRCMarkupType { KEPRCMarkupType_Unknown = 0, KEPRCMarkupType_Text, KEPRCMarkupType_Dimension, KEPRCMarkupType_Arrow, KEPRCMarkupType_Balloon, KEPRCMarkupType_CircleCenter, KEPRCMarkupType_Coordinate, KEPRCMarkupType_Datum, KEPRCMarkupType_Fastener, KEPRCMarkupType_Gdt, KEPRCMarkupType_Locator, KEPRCMarkupType_MeasurementPoint, KEPRCMarkupType_Roughness, KEPRCMarkupType_Welding, KEPRCMarkupType_Table, KEPRCMarkupType_Other }; enum EPRCMarkupSubType { KEPRCMarkupSubType_Unknown = 0, KEPRCMarkupSubType_EnumMax, KEPRCMarkupSubType_Datum_Ident = 1 , KEPRCMarkupSubType_Datum_EnumMax, KEPRCMarkupSubType_Dimension_Distance = 1, KEPRCMarkupSubType_Dimension_Radius_Tangent, KEPRCMarkupSubType_Dimension_Radius_Cylinder, KEPRCMarkupSubType_Dimension_Radius_Edge, KEPRCMarkupSubType_Dimension_Diameter, KEPRCMarkupSubType_Dimension_Diameter_Tangent, KEPRCMarkupSubType_Dimension_Diameter_Cylinder, KEPRCMarkupSubType_Dimension_Diameter_Edge, KEPRCMarkupSubType_Dimension_Diameter_Cone, KEPRCMarkupSubType_Dimension_Length, KEPRCMarkupSubType_Dimension_Length_Curvilinear, KEPRCMarkupSubType_Dimension_Length_Circular, KEPRCMarkupSubType_Dimension_Angle, KEPRCMarkupSubType_Dimension_EnumMax, KEPRCMarkupSubType_Gdt_Fcf = 1, KEPRCMarkupSubType_Gdt_EnumMax, KEPRCMarkupSubType_Welding_Line = 1, KEPRCMarkupSubType_Welding_EnumMax, KEPRCMarkupSubType_Other_Symbol_User = 1, KEPRCMarkupSubType_Other_EnumMax }; #define PRC_MARKUP_IsHidden 0x01 // The tessellation is hidden. #define PRC_MARKUP_HasFrame 0x02 // The tessellation has a frame. #define PRC_MARKUP_IsNotModifiable 0x04 // The tessellation is given and should not be modified. #define PRC_MARKUP_IsZoomable 0x08 // The tessellation has zoom capability. #define PRC_MARKUP_IsOnTop 0x10 // The tessellation is on top of the geometry. #define PRC_MARKUP_IsFlipable 0x20 // The text tessellation can be flipped to always be readable on screen. This value is currently unused. #define PRC_RENDERING_PARAMETER_SPECIAL_CULLING 0x0001 // special culling strategy to apply #define PRC_RENDERING_PARAMETER_FRONT_CULLING 0x0002 // apply front culling (ignored if no special culling strategy) #define PRC_RENDERING_PARAMETER_BACK_CULLING 0x0004 // apply back culling (ignored if no special culling strategy) #define PRC_RENDERING_PARAMETER_NO_LIGHT 0x0008 // if set, no light will apply on corresponding object #define PRC_MARKUP_IsMatrix 0x08000000 // Bit to denote that the current entity is a matrix. #define PRC_MARKUP_IsExtraData 0x04000000 // Bit to denote that the current entity is extra data (it is neither a matrix nor a polyline). #define PRC_MARKUP_IntegerMask 0xFFFFF // Integer mask to retrieve sizes. #define PRC_MARKUP_ExtraDataType 0x3E00000 // Mask to retrieve the integer type of the entity. #define PRC_MARKUP_ExtraDataType_Pattern (( 0<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Picture (( 1<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Triangles (( 2<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Quads (( 3<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_FaceViewMode (( 6<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_FrameDrawMode (( 7<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_FixedSizeMode (( 8<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Symbol (( 9<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Cylinder ((10<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Color ((11<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_LineStipple ((12<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Font ((13<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Text ((14<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Points ((15<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_Polygon ((16<<21)|PRC_MARKUP_IsExtraData) #define PRC_MARKUP_ExtraDataType_LineWidth ((17<<21)|PRC_MARKUP_IsExtraData) enum EPRCCharSet { KEPRCCharsetUnknown = -1, KEPRCCharsetRoman = 0, KEPRCCharsetJapanese, KEPRCCharsetTraditionalChinese, KEPRCCharsetKorean, KEPRCCharsetArabic, KEPRCCharsetHebrew, KEPRCCharsetGreek, KEPRCCharsetCyrillic, KEPRCCharsetRightLeft, KEPRCCharsetDevanagari, KEPRCCharsetGurmukhi, KEPRCCharsetGujarati, KEPRCCharsetOriya, KEPRCCharsetBengali, KEPRCCharsetTamil, KEPRCCharsetTelugu, KEPRCCharsetKannada, KEPRCCharsetMalayalam, KEPRCCharsetSinhalese, KEPRCCharsetBurmese, KEPRCCharsetKhmer, KEPRCCharsetThai, KEPRCCharsetLaotian, KEPRCCharsetGeorgian, KEPRCCharsetArmenian, KEPRCCharsetSimplifiedChinese, KEPRCCharsetTibetan, KEPRCCharsetMongolian, KEPRCCharsetGeez, KEPRCCharsetEastEuropeanRoman, KEPRCCharsetVietnamese, KEPRCCharsetExtendedArabic }; #define PRC_Font_Bold 0x02 /*!< Bold. */ #define PRC_Font_Italic 0x04 /*!< Italic. */ #define PRC_Font_Underlined 0x08 /*!< Underlined. */ #define PRC_Font_StrikedOut 0x10 /*!< Striked-out. */ #define PRC_Font_Overlined 0x20 /*!< Overlined. */ #define PRC_Font_Streched 0x40 /*!< Streched. In case the font used is not the original font, it indicates that the text needs to be stretched to fit its bounding box. */ #define PRC_Font_Wired 0x80 /*!< Wired. Indicates that the original font is a wirefame font. */ #define PRC_Font_FixedWidth 0x100 /*!< Fixed width. Indicates that the original font is not proportional (each glyph has the same width). */ #define PRC_CONTEXT_OuterLoopFirst 0x0001 // Outer loops are always first loops (specific to PRC_TYPE_TOPO_BrepData). #define PRC_CONTEXT_NoClamp 0x0002 // UV curves are clamped on the surface (specific to PRC_TYPE_TOPO_BrepData). #define PRC_CONTEXT_NoSplit 0x0004 // Faces are split (specific to PRC_TYPE_TOPO_BrepData). #define PRC_BODY_BBOX_Evaluation 0x0001 // Bounding box based on geometry. #define PRC_BODY_BBOX_Precise 0x0002 // Bounding box based on tessellation. #define PRC_BODY_BBOX_CADData 0x0003 // Bounding box given by a CAD data file. #endif // __PRC_H mathgl-2.1.3.1/src/s_hull/COPYING.txt0000664000175000017500000000431412142400467016646 0ustar balakinbalakinS-hull, Copyright (c) 2010 Dr David SInclair Cambridge, UK email david@s-hull.org The software includes the S-hull programs. S-hull is copyrighted as above. S-hull is free software and may be obtained from www.s-hull.org. It may be freely copied, modified, and redistributed under the following conditions: S-hull is free software and may be obtained from www.s-hull.org. It may be freely copied, modified, and redistributed under the following conditions which might loosely be termed a contribtors beerware license: 1. All copyright notices must remain intact in all files. 2. A copy of this text file must be distributed along with any copies of S-hull that you redistribute; this includes copies that you have modified, or copies of programs or other software products that include S-hull where distributed as source. 3. If you modify S-hull, you must include a notice giving the name of the person performing the modification, the date of modification, and the reason for such modification. 4. If you are distributing a binary or compiled version of s-hull it is not necessary to include any acknowledgement or reference to s-hull. 5. There is no warranty or other guarantee of fitness for S-hull, it is provided solely "as is". Bug reports or fixes may be sent to bugs@s-hull.org; the authors may or may not act on them as they desire. 6. By copying or compliing the code for S-hull you explicitly indemnify the copyright holder against any liability he may incur as a result of you copying the code. 7. If you meet any of the contributors to the code you used from s-hull.org in a pub or a bar, and you think the source code they contributed to is worth it, you can buy them a beer. If your principles run against beer a bacon-double-cheeseburger would do just as nicely or you could email david@s-hull.org and arrange to make a donation of 10 of your local currancy units to support s-hull.org. ------------------- This is permission to use s-hull-pro mathgl as long as the routines retain my copyright notice. I an happy for it to be included in an LGPL product and I am happy for the source to be bundled with mathgl under whatever license you use for that. mathgl-2.1.3.1/src/s_hull/s_hull_pro.cpp0000664000175000017500000007143512142400467017657 0ustar balakinbalakin#include //#include //#include #include #include #include #include #include #include #include #include "s_hull_pro.h" using namespace std; /* copyright 2012 Dr David Sinclair david@s-hull.org program to compute Delaunay triangulation of a set of points. this code may not be published or distributed without the concent of the copyright holder. */ // Global replace int->long by A.Balakin 7 August 2012 -- 64bit version can handle huge data arrays void circle_cent2(float r1,float c1, float r2,float c2, float r3,float c3, float &r,float &c, float &ro2) { /* * function to return the center of a circle and its radius * degenerate case should never be passed to this routine!!!!!!!!!!!!! * but will return r0 = -1 if it is. */ float v1 = 2*(r2-r1), v2 = 2*(c2-c1), v3 = r2*r2 - r1*r1 + c2*c2 - c1*c1; float v4 = 2*(r3-r1), v5 = 2*(c3-c1), v6 = r3*r3 - r1*r1 + c3*c3 - c1*c1, v7 = v2*v4 - v1*v5; if( v7 == 0 ) { r=0; c=0; ro2 = -1; return; } c = (v4*v3 - v1*v6)/v7; if( v1 != 0 ) r = (v3 - c*v2)/v1; else r = (v6 - c*v5)/v4; ro2 = ( (r-r1)*(r-r1) + (c-c1)*(c-c1) ); return; } /* read an ascii file of (r,c) point pairs. the first line of the points file should contain "NUMP 2 points" if it does not have the word points in it the first line is interpretted as a point pair. */ long read_Shx(std::vector &pts, char * fname) { char s0[513]; long nump =0; float p1,p2; Shx pt; std::string line; std::string points_str("points"); std::ifstream myfile; myfile.open(fname); if (myfile.is_open()) { getline (myfile,line); //long numc = line.length(); // check string for the string "points" long n = (long) line.find( points_str); if( n > 0) { while ( myfile.good() ) { getline (myfile,line); if( line.length() <= 512) { copy( line.begin(), line.end(), s0); s0[line.length()] = 0; long v = sscanf( s0, "%g %g", &p1,&p2); if( v>0 ) { pt.id = nump; nump++; pt.r = p1; pt.c = p2; pts.push_back(pt); } } } } else // assume all number pairs on a line are points { if( line.length() <= 512) { copy( line.begin(), line.end(), s0); s0[line.length()] = 0; long v = sscanf( s0, "%g %g", &p1,&p2); if( v>0 ) { pt.id = nump; nump++; pt.r = p1; pt.c = p2; pts.push_back(pt); } } while ( myfile.good() ) { getline (myfile,line); if( line.length() <= 512) { copy( line.begin(), line.end(), s0); s0[line.length()] = 0; long v = sscanf( s0, "%g %g", &p1,&p2); if( v>0 ) { pt.id = nump; nump++; pt.r = p1; pt.c = p2; pts.push_back(pt); } } } } myfile.close(); } nump = (long) pts.size(); return(nump); }; /* write out a set of points to disk */ void write_Shx(std::vector &pts, char * fname) { std::ofstream out(fname, ios::out); long nr = (long) pts.size(); out << nr << " 2 points" << endl; for (long r = 0; r < nr; r++) { out << pts[r].r << ' ' << pts[r].c << endl; } out.close(); return; }; /* write out triangle ids to be compatible with matlab/octave array numbering. */ void write_Triads(std::vector &ts, char * fname) { std::ofstream out(fname, ios::out); long nr = (long) ts.size(); out << nr << " 6 point-ids (1,2,3) adjacent triangle-ids ( limbs ab ac bc )" << endl; for (long r = 0; r < nr; r++) { out << ts[r].a+1 << ' ' << ts[r].b+1 <<' ' << ts[r].c+1 <<' ' << ts[r].ab+1 <<' ' << ts[r].ac+1 <<' ' << ts[r].bc+1 << endl; //" " << ts[r].ro << endl; } out.close(); return; }; /* version in which the ids of the triangles associated with the sides of the hull are tracked. */ long s_hull_pro( std::vector &pts, std::vector &triads) { long nump = (long) pts.size(); if( nump < 3 ) { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "less than 3 points, aborting " << endl; return(-1); } float r = pts[0].r; float c = pts[0].c; for( long k=0; k 0 ) { mid = k; romin2 = ro2; R = r; C = c; } else if( romin2 *4 < pts[k].ro ) k=nump; k++; } if( mid < 0 ) { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "linear structure, aborting " << endl; return(-2); } Shx pt0 = pts[0]; Shx pt1 = pts[1]; Shx pt2 = pts[mid]; pts.erase(pts.begin() + mid); // necessary for round off reasons:(((((( pts.erase(pts.begin() ); pts.erase(pts.begin() ); for( long k=0; k slump; slump.resize(nump); for( long k=0; k hull; r = (pts[0].r + pts[1].r + pts[2].r )/(float) 3.0; c = (pts[0].c + pts[1].c + pts[2].c )/(float) 3.0; float dr0 = pts[0].r - r, dc0 = pts[0].c - c; float tr01 = pts[1].r - pts[0].r, tc01 = pts[1].c - pts[0].c; float df = -tr01* dc0 + tc01*dr0; if( df < 0 ) // [ 0 1 2 ] { pt0.tr = pt1.r-pt0.r; pt0.tc = pt1.c-pt0.c; pt0.trid = 0; hull.push_back( pt0 ); pt1.tr = pt2.r-pt1.r; pt1.tc = pt2.c-pt1.c; pt1.trid = 0; hull.push_back( pt1 ); pt2.tr = pt0.r-pt2.r; pt2.tc = pt0.c-pt2.c; pt2.trid = 0; hull.push_back( pt2 ); Triad tri(pt0.id,pt1.id,pt2.id); tri.ro = romin2; tri.R = R; tri.C = C; triads.push_back(tri); } else // [ 0 2 1 ] as anti-clockwise turning is the work of the devil.... { pt0.tr = pt2.r-pt0.r; pt0.tc = pt2.c-pt0.c; pt0.trid = 0; hull.push_back( pt0 ); pt2.tr = pt1.r-pt2.r; pt2.tc = pt1.c-pt2.c; pt2.trid = 0; hull.push_back( pt2 ); pt1.tr = pt0.r-pt1.r; pt1.tc = pt0.c-pt1.c; pt1.trid = 0; hull.push_back( pt1 ); Triad tri(pt0.id,pt2.id,pt1.id); tri.ro = romin2; tri.R = R; tri.C = C; triads.push_back(tri); } // add new points into hull (removing obscured ones from the chain) // and creating triangles.... // that will need to be flipped. float dr, dc, rx,cx; Shx ptx; long numt=0; // added by A.Balakin 6 July 2012 -- uninitialised variable for( long k=3; k pidx, tridx; long hidx; // new hull point location within hull..... float df = -dc* hull[0].tr + dr*hull[0].tc; // visibility test vector. if( df < 0 ) // starting with a visible hull facet !!! { // long e1 = 1, e2 = numh; // commented by A.Balakin 6 July 2012 -- unused variable hidx = 0; // check to see if segment numh is also visible df = -dc* hull[numh-1].tr + dr*hull[numh-1].tc; //cerr << df << ' ' ; if( df < 0 ) // visible. { pidx.push_back(hull[numh-1].id); tridx.push_back(hull[numh-1].trid); for( long h=0; h0; h--) { // if segment h is visible delete h + 1 dr = rx- hull[h].r; dc = cx- hull[h].c; df = -dc* hull[h].tr + dr*hull[h].tc; if( df < 0 ) // h is visible { pidx.insert(pidx.begin(), hull[h].id); tridx.insert(tridx.begin(), hull[h].trid); hull.erase(hull.begin() + h+1); // erase end of chain } else { h = (long) hull.size()-1; hull[h].tr = -hull[h].r + ptx.r; // points at start of chain. hull[h].tc = -hull[h].c + ptx.c; break; } } df = 9; } else { // cerr << df << ' ' << endl; hidx = 1; // keep pt hull[0] tridx.push_back(hull[0].trid); pidx.push_back(hull[0].id); for( long h=1; h 0 ) // first invisible segment. { e2 = h; break; } } } // triangle pidx starts at e1 and ends at e2 (inclusive). if( e2 < numh ) { for( long e=e1; e<=e2; e++) { pidx.push_back(hull[e].id); tridx.push_back(hull[e].trid); } } else { for( long e=e1; e 0 ) hull[hidx-1].trid = numt; else { numh = (long) hull.size(); hull[numh-1].trid = numt; } triads.push_back( trx ); numt++; } else { trx.ab = -1; for(long p=0; p 0 ) trx.ab = numt-1; trx.ac = numt+1; // index back into the triads. Triad &txx = triads[tridx[p]]; if( ( trx.b == txx.a && trx.c == txx.b) |( trx.b == txx.b && trx.c == txx.a)) { txx.ab = numt; } else if( ( trx.b == txx.a && trx.c == txx.c) |( trx.b == txx.c && trx.c == txx.a)) { txx.ac = numt; } else if( ( trx.b == txx.b && trx.c == txx.c) |( trx.b == txx.c && trx.c == txx.b)) { txx.bc = numt; } triads.push_back( trx ); numt++; } triads[numt-1].ac=-1; hull[hidx].trid = numt-1; if( hidx > 0 ) hull[hidx-1].trid = T0; else { numh = (long) hull.size(); hull[numh-1].trid = T0; } } } // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "of triangles " << triads.size() << " to be flipped. "<< endl; // write_Triads(triads, "tris0.mat"); std::set ids, ids2; long tf = T_flip_pro( pts, triads, slump, numt, 0, ids); if( tf < 0 ) { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "cannot triangualte this set " << endl; return(-3); } // write_Triads(triads, "tris1.mat"); long nits = (long) ids.size(), nit=1; while( nits > 0 && nit < 50) { tf = T_flip_pro_idx( pts, triads, slump, ids); nits = (long) ids.size(); nit ++; if( tf < 0 ) { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "cannot triangualte this set " << endl; return(-4); } } return(1); } void circle_cent4(float r1,float c1, float r2,float c2, float r3,float c3, float &r,float &c, float &ro2) { /* * function to return the center of a circle and its radius * degenerate case should never be passed to this routine!!!!!!!!!!!!! * but will return r0 = -1 if it is. */ double rd, cd; double v1 = 2*(r2-r1), v2 = 2*(c2-c1), v3 = r2*r2 - r1*r1 + c2*c2 - c1*c1; double v4 = 2*(r3-r1), v5 = 2*(c3-c1), v6 = r3*r3 - r1*r1 + c3*c3 - c1*c1, v7 = v2*v4 - v1*v5; if( v7 == 0 ) { r=0; c=0; ro2 = -1; return; } cd = (v4*v3 - v1*v6)/v7; if( v1 != 0 ) rd = (v3 - c*v2)/v1; else rd = (v6 - c*v5)/v4; ro2 = (float) ( (rd-r1)*(rd-r1) + (cd-c1)*(cd-c1) ); r = (float) rd; c = (float) cd; return; } /* test a set of points for duplicates. erase duplicate points, do not change point ids. */ // Change return type to size_t to be 64 bit compatible -- by A.Balakin 7 August 2012 size_t de_duplicate( std::vector &pts, std::vector &outx ) { size_t nump = pts.size(); std::vector dpx; Dupex d; for( size_t k=0; k0; k--) { pts.erase(pts.begin()+outx[k-1]); } return(nx); } /* flip pairs of triangles that are not valid delaunay triangles the Cline-Renka test is used rather than the less stable circum circle center computation test of s-hull. or the more expensive determinant test. */ long T_flip_pro( std::vector &pts, std::vector &triads, std::vector &slump, long numt, long start, std::set &ids) { float r3,c3; long pa,pb,pc, pd, D, L1, L2, L3, L4, T2; Triad tx, tx2; for( long t=start; t= 0 ) { pa = slump[tri.a]; pb = slump[tri.b]; pc = slump[tri.c]; T2 = tri.bc; Triad &t2 = triads[T2]; // find relative orientation (shared limb). if( t2.ab == t ) { D = t2.c; pd = slump[t2.c]; if( tri.b == t2.a) { L3 = t2.ac; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ac; } } else if( t2.ac == t ) { D = t2.b; pd = slump[t2.b]; if( tri.b == t2.a) { L3 = t2.ab; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ab; } } else if( t2.bc == t ) { D = t2.a; pd = slump[t2.a]; if( tri.b == t2.b) { L3 = t2.ab; L4 = t2.ac; } else { L3 = t2.ac; L4 = t2.ab; } } else { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "triangle flipping error. " << t << endl; return(-5); } r3 = pts[pd].r; c3 = pts[pd].c; long XX = Cline_Renka_test( pts[pa].r, pts[pa].c, pts[pb].r, pts[pb].c, pts[pc].r, pts[pc].c, r3, c3 ); if( XX < 0 ) { L1 = tri.ab; L2 = tri.ac; if( L1 != L3 && L2 != L4 ) // need this check for stability. { tx.a = tri.a; tx.b = tri.b; tx.c = D; tx.ab = L1; tx.ac = T2; tx.bc = L3; // triangle 2; tx2.a = tri.a; tx2.b = tri.c; tx2.c = D; tx2.ab = L2; tx2.ac = t; tx2.bc = L4; ids.insert(t); ids.insert(T2); t2 = tx2; tri = tx; flipped = 1; // change knock on triangle labels. if( L3 >= 0 ) { Triad &t3 = triads[L3]; if( t3.ab == T2 ) t3.ab = t; else if( t3.bc == T2 ) t3.bc = t; else if( t3.ac == T2 ) t3.ac = t; } if(L2 >= 0 ) { Triad &t4 = triads[L2]; if( t4.ab == t ) t4.ab = T2; else if( t4.bc == t ) t4.bc = T2; else if( t4.ac == t ) t4.ac = T2; } } } } if( flipped == 0 && tri.ab >= 0 ) { pc = slump[tri.c]; pb = slump[tri.b]; pa = slump[tri.a]; T2 = tri.ab; Triad &t2 = triads[T2]; // find relative orientation (shared limb). if( t2.ab == t ) { D = t2.c; pd = slump[t2.c]; if( tri.a == t2.a) { L3 = t2.ac; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ac; } } else if( t2.ac == t ) { D = t2.b; pd = slump[t2.b]; if( tri.a == t2.a) { L3 = t2.ab; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ab; } } else if( t2.bc == t ) { D = t2.a; pd = slump[t2.a]; if( tri.a == t2.b) { L3 = t2.ab; L4 = t2.ac; } else { L3 = t2.ac; L4 = t2.ab; } } else { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "triangle flipping error. " << t << endl; return(-5); } r3 = pts[pd].r; c3 = pts[pd].c; long XX = Cline_Renka_test( pts[pc].r, pts[pc].c, pts[pb].r, pts[pb].c, pts[pa].r, pts[pa].c,r3, c3); if( XX < 0) { L1 = tri.ac; L2 = tri.bc; if( L1 != L3 && L2 != L4 ) // need this check for stability. { tx.a = tri.c; tx.b = tri.a; tx.c = D; tx.ab = L1; tx.ac = T2; tx.bc = L3; // triangle 2; tx2.a = tri.c; tx2.b = tri.b; tx2.c = D; tx2.ab = L2; tx2.ac = t; tx2.bc = L4; ids.insert(t); ids.insert(T2); t2 = tx2; tri = tx; flipped = 1; // change knock on triangle labels. if( L3 >= 0 ) { Triad &t3 = triads[L3]; if( t3.ab == T2 ) t3.ab = t; else if( t3.bc == T2 ) t3.bc = t; else if( t3.ac == T2 ) t3.ac = t; } if(L2 >= 0 ) { Triad &t4 = triads[L2]; if( t4.ab == t ) t4.ab = T2; else if( t4.bc == t ) t4.bc = T2; else if( t4.ac == t ) t4.ac = T2; } } } } if( flipped == 0 && tri.ac >= 0 ) { pc = slump[tri.c]; pb = slump[tri.b]; pa = slump[tri.a]; T2 = tri.ac; Triad &t2 = triads[T2]; // find relative orientation (shared limb). if( t2.ab == t ) { D = t2.c; pd = slump[t2.c]; if( tri.a == t2.a) { L3 = t2.ac; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ac; } } else if( t2.ac == t ) { D = t2.b; pd = slump[t2.b]; if( tri.a == t2.a) { L3 = t2.ab; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ab; } } else if( t2.bc == t ) { D = t2.a; pd = slump[t2.a]; if( tri.a == t2.b) { L3 = t2.ab; L4 = t2.ac; } else { L3 = t2.ac; L4 = t2.ab; } } else { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "triangle flipping error. " << t << endl; return(-5); } r3 = pts[pd].r; c3 = pts[pd].c; long XX = Cline_Renka_test( pts[pb].r, pts[pb].c, pts[pa].r, pts[pa].c, pts[pc].r, pts[pc].c,r3, c3); if( XX < 0 ) { L1 = tri.ab; // .ac shared limb L2 = tri.bc; if( L1 != L3 && L2 != L4 ) // need this check for stability. { tx.a = tri.b; tx.b = tri.a; tx.c = D; tx.ab = L1; tx.ac = T2; tx.bc = L3; // triangle 2; tx2.a = tri.b; tx2.b = tri.c; tx2.c = D; tx2.ab = L2; tx2.ac = t; tx2.bc = L4; ids.insert(t); ids.insert(T2); t2 = tx2; tri = tx; // change knock on triangle labels. if( L3 >= 0 ) { Triad &t3 = triads[L3]; if( t3.ab == T2 ) t3.ab = t; else if( t3.bc == T2 ) t3.bc = t; else if( t3.ac == T2 ) t3.ac = t; } if(L2 >= 0 ) { Triad &t4 = triads[L2]; if( t4.ab == t ) t4.ab = T2; else if( t4.bc == t ) t4.bc = T2; else if( t4.ac == t ) t4.ac = T2; } } } } } return(1); } /* minimum angle cnatraint for circum circle test. due to Cline & Renka A -- B | / | C -- D */ long Cline_Renka_test(float &Ax, float &Ay, float &Bx, float &By, float &Cx, float &Cy, float &Dx, float &Dy) { float v1x = Bx-Ax, v1y = By-Ay, v2x = Cx-Ax, v2y = Cy-Ay, v3x = Bx-Dx, v3y = By-Dy, v4x = Cx-Dx, v4y = Cy-Dy; float cosA = v1x*v2x + v1y*v2y; float cosD = v3x*v4x + v3y*v4y; if( cosA < 0 && cosD < 0 ) // two obtuse angles return(-1); // float ADX = Ax-Dx, ADy = Ay-Dy; // commented by A.Balakin 6 July 2012 -- unused variable if( cosA > 0 && cosD > 0 ) // two acute angles return(1); float sinA = fabs(v1x*v2y - v1y*v2x); float sinD = fabs(v3x*v4y - v3y*v4x); if( cosA*sinD + sinA*cosD < 0 ) return(-1); return(1); } // same again but with set of triangle ids to be iterated over. long T_flip_pro_idx( std::vector &pts, std::vector &triads, std::vector &slump, std::set &ids) { float r3,c3; long pa,pb,pc, pd, D, L1, L2, L3, L4, T2; Triad tx, tx2; std::set ids2; ids2.clear(); std::set :: const_iterator x=ids.begin(); while(x != ids.end() ) { long t = *x; x++; Triad &tri = triads[t]; // test all 3 neighbours of tri long flipped = 0; if( tri.bc >= 0 ) { pa = slump[tri.a]; pb = slump[tri.b]; pc = slump[tri.c]; T2 = tri.bc; Triad &t2 = triads[T2]; // find relative orientation (shared limb). if( t2.ab == t ) { D = t2.c; pd = slump[t2.c]; if( tri.b == t2.a) { L3 = t2.ac; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ac; } } else if( t2.ac == t ) { D = t2.b; pd = slump[t2.b]; if( tri.b == t2.a) { L3 = t2.ab; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ab; } } else if( t2.bc == t ) { D = t2.a; pd = slump[t2.a]; if( tri.b == t2.b) { L3 = t2.ab; L4 = t2.ac; } else { L3 = t2.ac; L4 = t2.ab; } } else { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "triangle flipping error. " << t << " T2: " << T2<< endl; return(-6); } r3 = pts[pd].r; c3 = pts[pd].c; long XX = Cline_Renka_test( pts[pa].r, pts[pa].c, pts[pb].r, pts[pb].c, pts[pc].r, pts[pc].c,r3, c3); if( XX < 0 ) { L1 = tri.ab; L2 = tri.ac; if( L1 != L3 && L2 != L4 ) // need this check for stability. { tx.a = tri.a; tx.b = tri.b; tx.c = D; tx.ab = L1; tx.ac = T2; tx.bc = L3; // triangle 2; tx2.a = tri.a; tx2.b = tri.c; tx2.c = D; tx2.ab = L2; tx2.ac = t; tx2.bc = L4; ids2.insert(t); ids2.insert(T2); t2 = tx2; tri = tx; flipped = 1; // change knock on triangle labels. if( L3 >= 0 ) { Triad &t3 = triads[L3]; if( t3.ab == T2 ) t3.ab = t; else if( t3.bc == T2 ) t3.bc = t; else if( t3.ac == T2 ) t3.ac = t; } if(L2 >= 0 ) { Triad &t4 = triads[L2]; if( t4.ab == t ) t4.ab = T2; else if( t4.bc == t ) t4.bc = T2; else if( t4.ac == t ) t4.ac = T2; } } } } if( flipped == 0 && tri.ab >= 0 ) { pc = slump[tri.c]; pb = slump[tri.b]; pa = slump[tri.a]; T2 = tri.ab; Triad &t2 = triads[T2]; // find relative orientation (shared limb). if( t2.ab == t ) { D = t2.c; pd = slump[t2.c]; if( tri.a == t2.a) { L3 = t2.ac; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ac; } } else if( t2.ac == t ) { D = t2.b; pd = slump[t2.b]; if( tri.a == t2.a) { L3 = t2.ab; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ab; } } else if( t2.bc == t ) { D = t2.a; pd = slump[t2.a]; if( tri.a == t2.b) { L3 = t2.ab; L4 = t2.ac; } else { L3 = t2.ac; L4 = t2.ab; } } else { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "triangle flipping error. " << t << endl; return(-6); } r3 = pts[pd].r; c3 = pts[pd].c; long XX = Cline_Renka_test( pts[pc].r, pts[pc].c, pts[pb].r, pts[pb].c, pts[pa].r, pts[pa].c,r3, c3); if( XX < 0 ) { L1 = tri.ac; L2 = tri.bc; if( L1 != L3 && L2 != L4 ) // need this check for stability. { tx.a = tri.c; tx.b = tri.a; tx.c = D; tx.ab = L1; tx.ac = T2; tx.bc = L3; // triangle 2; tx2.a = tri.c; tx2.b = tri.b; tx2.c = D; tx2.ab = L2; tx2.ac = t; tx2.bc = L4; ids2.insert(t); ids2.insert(T2); t2 = tx2; tri = tx; flipped = 1; // change knock on triangle labels. if( L3 >= 0 ) { Triad &t3 = triads[L3]; if( t3.ab == T2 ) t3.ab = t; else if( t3.bc == T2 ) t3.bc = t; else if( t3.ac == T2 ) t3.ac = t; } if(L2 >= 0 ) { Triad &t4 = triads[L2]; if( t4.ab == t ) t4.ab = T2; else if( t4.bc == t ) t4.bc = T2; else if( t4.ac == t ) t4.ac = T2; } } } } if( flipped == 0 && tri.ac >= 0 ) { pc = slump[tri.c]; pb = slump[tri.b]; pa = slump[tri.a]; T2 = tri.ac; Triad &t2 = triads[T2]; // find relative orientation (shared limb). if( t2.ab == t ) { D = t2.c; pd = slump[t2.c]; if( tri.a == t2.a) { L3 = t2.ac; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ac; } } else if( t2.ac == t ) { D = t2.b; pd = slump[t2.b]; if( tri.a == t2.a) { L3 = t2.ab; L4 = t2.bc; } else { L3 = t2.bc; L4 = t2.ab; } } else if( t2.bc == t ) { D = t2.a; pd = slump[t2.a]; if( tri.a == t2.b) { L3 = t2.ab; L4 = t2.ac; } else { L3 = t2.ac; L4 = t2.ab; } } else { // Commented by A.Balakin 2 July 2012 -- library shouldn't print anything // cerr << "triangle flipping error. " << t << endl; return(-6); } r3 = pts[pd].r; c3 = pts[pd].c; long XX = Cline_Renka_test( pts[pb].r, pts[pb].c, pts[pc].r, pts[pc].c, pts[pa].r, pts[pa].c,r3, c3); if( XX < 0 ) { L1 = tri.ab; // .ac shared limb L2 = tri.bc; if( L1 != L3 && L2 != L4 ) // need this check for stability. { tx.a = tri.b; tx.b = tri.a; tx.c = D; tx.ab = L1; tx.ac = T2; tx.bc = L3; // triangle 2; tx2.a = tri.b; tx2.b = tri.c; tx2.c = D; tx2.ab = L2; tx2.ac = t; tx2.bc = L4; ids2.insert(t); ids2.insert(T2); t2 = tx2; tri = tx; // change knock on triangle labels. if( L3 >= 0 ) { Triad &t3 = triads[L3]; if( t3.ab == T2 ) t3.ab = t; else if( t3.bc == T2 ) t3.bc = t; else if( t3.ac == T2 ) t3.ac = t; } if(L2 >= 0 ) { Triad &t4 = triads[L2]; if( t4.ab == t ) t4.ab = T2; else if( t4.bc == t ) t4.bc = T2; else if( t4.ac == t ) t4.ac = T2; } } } } } ids.clear(); ids.insert(ids2.begin(), ids2.end()); return(1); } mathgl-2.1.3.1/src/s_hull/s_hull_pro.h0000664000175000017500000000654512142400467017324 0ustar balakinbalakin#ifndef _structures_h #define _structures_h // for FILE #include #include #include /* for use in s_hull_pro.cpp S-hull-pro, Copyright (c) 2012 Dr David SInclair Cambridge, UK email david@s-hull.org */ // Global replace int->long by A.Balakin 7 August 2012 -- 64bit version can handle huge data arrays struct Triad { long a,b, c; long ab, bc, ac; // adjacent edges index to neighbouring triangle. float ro, R,C; //std::set idx; Triad() {a=b=c=ab=bc=ac=0; ro=R=C=0;} // added by A.Balakin 6 July 2012 -- uninitialised variable Triad(long x, long y) : a(x), b(y),c(0), ab(-1), bc(-1), ac(-1), ro(-1), R(0), C(0) {} Triad(long x, long y, long z) : a(x), b(y), c(z), ab(-1), bc(-1), ac(-1), ro(-1), R(0), C(0) {} Triad(const Triad &p) : a(p.a), b(p.b), c(p.c), ab(p.ab), bc(p.bc), ac(p.ac), ro(p.ro), R(p.R), C(p.C) {} Triad &operator=(const Triad &p) { a = p.a; b = p.b; c = p.c; ab = p.ab; bc = p.bc; ac = p.ac; ro = p.ro; R = p.R; C = p.C; return *this; } }; /* point structure for s_hull only. has to keep track of triangle ids as hull evolves. */ struct Shx { long id, trid; float r,c, tr,tc ; float ro; Shx() {r=c=tr=tc=ro=0; id=trid=0;} // added by A.Balakin 6 July 2012 -- uninitialised variable Shx(float a, float b) : id(-1), r(a), c(b), tr(0.0), tc(0.0), ro(0.0) { trid=0; } // added by A.Balakin 6 July 2012 -- uninitialised variable Shx(float a, float b, float x) : id(-1), r(a), c(b), tr(0), tc(0), ro(x) { trid=0; } // added by A.Balakin 6 July 2012 -- uninitialised variable Shx(const Shx &p) : id(p.id), trid(p.trid), r(p.r), c(p.c), tr(p.tr), tc(p.tc), ro(p.ro) {} Shx &operator=(const Shx &p) { id = p.id; trid = p.trid; r = p.r; c = p.c; tr = p.tr; tc = p.tc; ro = p.ro; return *this; } }; // sort into descending order (for use in corner responce ranking). inline bool operator<(const Shx &a, const Shx &b) { if( a.ro == b.ro) return a.r < b.r; return a.ro < b.ro; } struct Dupex { long id; float r,c; Dupex() {} Dupex(float a, float b) : id(-1), r(a), c(b) {} Dupex(float a, float b, long x) : id(x), r(a), c(b) {} Dupex(const Dupex &p) : id(p.id), r(p.r), c(p.c) {} Dupex &operator=(const Dupex &p) { id = p.id; r = p.r; c = p.c; return *this; } }; // sort into descending order (for use in corner responce ranking). inline bool operator<(const Dupex &a, const Dupex &b) { if( a.r == b.r) return a.c < b.c; return a.r < b.r; } // from s_hull.C long s_hull_pro( std::vector &pts, std::vector &triads); void circle_cent2(float r1,float c1, float r2,float c2, float r3,float c3,float &r,float &c, float &ro2); void circle_cent4(float r1,float c1, float r2,float c2, float r3,float c3,float &r,float &c, float &ro2); void write_Shx(std::vector &pts, char * fname); void write_Triads(std::vector &ts, char * fname); long Cline_Renka_test(float &Ax, float &Ay, float &Bx, float &By, float &Cx, float &Cy, float &Dx, float &Dy); long T_flip_pro( std::vector &pts, std::vector &triads, std::vector &slump, long numt, long start, std::set &ids); long T_flip_pro_idx( std::vector &pts, std::vector &triads, std::vector &slump, std::set &ids); long read_Shx(std::vector &pts, char * fname); size_t de_duplicate( std::vector &pts, std::vector &outx ); #endif mathgl-2.1.3.1/udav/xpm/arrow_s.xpm0000664000175000017500000000063112142400472016657 0ustar balakinbalakin/* XPM */ static const char * arrow_s_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ........ ", " ........ ", " ........ ", " ........ ", " ..............", " ........ ", " ........ ", " ........ ", " ........ ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/arrow_t.xpm0000664000175000017500000000063112142400472016660 0ustar balakinbalakin/* XPM */ static const char * arrow_t_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " .. ", " .... ", " ...... ", " ........ ", " ...............", " ........ ", " ...... ", " .... ", " .. ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/arrow_v.xpm0000664000175000017500000000063112142400472016662 0ustar balakinbalakin/* XPM */ static const char * arrow_v_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ... ", " .... ", " ..... ", " ...... ", " ...........", " ...... ", " ..... ", " .... ", " ... ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/go-next-b.png0000664000175000017500000000121712142400472016764 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÙ »¯üIDAT8Ë•“¿K[QÇ?ï¼——Ä´UªÐIy/KqÐÍÁA¤àØÉÆV—¢u)t‘'G» i… B¡Š8¬8•‚têUKÛD%Òäå/·CKª1zàpážËç~Ï=ߋ֚ætœÇ'1ÙªÖœ†ÖšæpÝ öú¾ÿíPÊûE›v………©h_ßÃÀ×øo€e SS÷í±±g½¦Ùs݉ÉVç ÇId€{W6 ³¼¸ø*²½}J<#––VübQm.·d8NBÏÏ¿DÄ@DŒhk+@W—Mÿm–—¿ÖNNV~£Jyû ÀÜÜëë?Û61þ2lû_‡"ƒƒõææ?üY¥¼¤T«ur¹™Ì)GGŠããW)j @­V'>#c|üiG,æ¾vÝ'o-¥Š\\|ºt›M¥rF¡p‘0–C$ @>ÿ `µD°¬†a5ÖpØdx¸›ýý¼N§=?ʳJyÉ`dd€PHˆFM::LVW ßb` “Tês5›ÝÎh4Ѳ©Ôâµ1NO?ˆ„ꦧÇ&™|_*—3›ZWÇØÎÊ33/(• zgÇóëõê¬R^òšáÚ9±T X[Û­är{ÙË’¯9±Û¾[ªÕòZ7~¦6 d·Zͽk%¹9~ ·ê?3IEND®B`‚mathgl-2.1.3.1/udav/xpm/format-indent-more.png0000664000175000017500000000065312142400472020676 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDùC» pHYs  šœtIMEÚ '7ûÉ +IDAT8Ë’?KBaÆï½]îâ'h Z/-BkKC$JˆA»Ý¬%ú Q–D¹6IH&Ñ'(A›Ü"(pjšRó= ÖMyõš=ÓyÏyŸ‡çüQñƒúeWwSLÇrŠå½è:+û2-Vk`ñˆHÏ„}ŒeëF®²z‡ ”Z8KË¡nB[¸Hûtî*F^)õ7€³ô&ÛòØzÐB¯Ñà£Zåýù‰Öë oÍæ¯ˆ¿…*¸±Ä¤´1åä3Ú7%£>$ ¶Ñcíæ·wh__…8Ð,! Â?>ÂM$CÖø©‘žô… rw-il!°=ˆçf¿sçós}òI7žœþ&‘'^âF¡€]DD†lŽåcÙzjdùþq$QiUøð`’°X·IEND®B`‚mathgl-2.1.3.1/udav/xpm/integr.xpm0000664000175000017500000000064712142400472016502 0ustar balakinbalakin/* XPM */ static const char * integr_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #808080", " ", " ", " ", " . ", " . ", " . . ", " . . ", " . . ", " . ... . . ", " . . . . ", " . . . . ", " . ... . . ", " . + ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/x-office-presentation.png0000664000175000017500000000106712142400472021400 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs × ×B(›xtIMEÖ 8+U¤QyÄIDAT8Ë’OHaÆßÌ´í&´ía§RÈŠ]ûK‚·¥ƒ"D6… ¼‰²Bd]mÉlæàm·¤»æ©ƒˆ.é¹ HÂLaã¡ÖS38~ìthœbý.ßû½|ïÃç}Ä`q`RJYfGÓ´»âúÀµðqeDZ[v]—¹§OÅ¡ÁJ#{!ˆÅbUðàáýpøÆM<ÏCUø>¡”ìok!PTEQB ë:Ó3eîܾ'´µt:ã8|™ŸçðÊ ';:@JlÛÆíéáX±Høüu]×S(ÍHß,‹‹®K¦³“ºçáonrHÛÇ©w˼/ÿò¹«ëÄŸF6?j–E]Uñ76ØBòúJ…õ ¡Ü"û¶Ây`míS4ÁñB—‹‹¸¾OíÒQæmŽh5Ú?¼!Ûw€L&Mp ™$=;˳©)j ¯ø±¼Íwû¹\޾[“žÇêªE*•Ú] ÓÝÛK÷ÒÒ®kK$´'“Ñ–õñß‹pö̹h|þrëqnÜÕé™r«i¬þ÷ÇØøèˆa<Úm=ê¦iô›¦6êÐ4þ[þž”J¢©6Ê«¥ÒÄ‹þOU˜ü+—”_IEND®B`‚mathgl-2.1.3.1/udav/xpm/mark_.xpm0000664000175000017500000000062712142400472016301 0ustar balakinbalakin/* XPM */ static const char * mark__xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", " .. ", " .. ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/object-rotate-right.png0000664000175000017500000000117012142400472021037 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“tIME× ÿÜ~IDAT8•“MHTQ†ŸsçïÞ  Ì )µ¨vº Jp$†´jS›n¢M»6A?-¢Z´¨Œ²pqg¢"›6–e夌Þ{½wÎ×bJs¼ô‡ï}8çå; `r¨êlà.Ft@E"¾3€§0Ò~ƒQþ¥LÄ×N^Ä›ñæE»?%È”ÂÄýþ̾ʼncI;ÓÇö0¯°ÓHÇ•WùœÕŸ¸%ékßaeêCéiçm‹ÔMà*кë~$~HcÛuK÷š> ©Z´ôŽäýcl}Nˆ‘¨gôJã* ÔÐþÒÒ×ÌŽ^‚T øqTCuà:ºI\µÉ'Ï*1®Bçê›úìÐÐ ˜m&󟑦q§ObUvÓgcûƒÀÇ8òÂÒDuPš?B´‚´aD(áŽY?÷ÿQ,bl°–‡d…IPý„°É"„%eÙTqp§Æþco¬ýÆyÕ1?T„¤ah~ûºú‘ ¶²­ÛD™œôcf0{„!­ƒŸ? X/¢ÉU’;eð.,庭øMÉ«û(?¡ü>XXFcK8I–²ËÛÄSÀ'R‰Væx«’ݳˆ.‚º€–(“›Ù¹‰M@KÔ³YðÙø9òÀžŽªÞQw·53ÿÿLÃñ@Ù®=‹_Þýíul‡›IEND®B`‚mathgl-2.1.3.1/udav/xpm/preferences-system.png0000664000175000017500000000114312142400472021005 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ  9‹cÂHðIDAT8Ë¥’Kha…¿™øLŠM ‚J°ÌÆ…¶ÝE¬.4bfëBp!T¤¨µ-RCB kAte@Šâ‰ÐbW‚Ò6‰I‚UiÓ—† DD:3nf†1ë³û¹çœ{ï¹?ü'ç#Q¢€ ÈñX"÷M4QlŽØRTû¯ö¨¦™«øúµÍl´éŒb4u#Q ÷ZêEÄtF‰Zd««×Ûæfxðð>ñXBr" Þ2ž>›0õö­6××:%êõ¯÷Z³‰Ý,1€`o š¶%èºnèºFa~N(¼/È;+´t°é»H¹Ra¹ö %îþóŒN¼Ê¿4J•Ý'{(– ˜Lº«A0’: Ô¬÷•N× ‰£GŽÑl6y7÷·5ó üirtÚI4M’kë« @Ò¾B0’ºL8¸ÛÄ;á77âÕöê¼T¼IEND®B`‚mathgl-2.1.3.1/udav/xpm/help-contents.png0000664000175000017500000000114412142400472017746 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆIDAT8•“OHÓaÇ?ïû{û9ÔDÙ¦aa"Ìiæ¢(Íy‘JèïÁƒ‡2³4êRls¬? tèàÑ‹zA¨X¡bþéP$Q1s¥ ÕÜoo'Å¡‹|îÏçù<ßG„Â<oÕZüG !,Ó4C-7nßÀ|×{¬@Wg@lNžŸa~~ŽX,¶ëd[šââòrí$ c °MÃ…G0”B CH)Bš„Ö$,+ º „`öÝ_''ù–— €ýÇ*En7Eg΢¥þÁ‡çݬõànnÆÑx,õõ1ÑÞÁr}=žÖ[© ïÇXëÀwé2#£ŒçfàŠ¼Å{§¡`€¹ÊJ²½¾­¹0óå3åMMħ§‰ £W¢è•(‘ÁA¬H„Š{|šOm°œ™óêÆòd¸ŽqòÚu”¡Ýg2‘µŸÊšZ_¾H$Hi€Öˆ¬¬ÍËb­¯#l6 cgÎ’ ì?W‰öôPö'ÆP8ÌHÂBJÅbø 5Á.¢½½8×¥6(,-å£?@ºRÔ<¸OZ~¦ÓAmw7™ééL=|D‰«,5à@Õ h<ÏëgOù“CÕ9¯ ÓäU[ªñ…§O¥^­)o¹Éìñ ÞLN±´0€ã{”âP£ÕÕX»%QaÆÁ‚C8ëðÔ5ì8X’º”Ö@) tuîùþ¹ä*aøIEND®B`‚mathgl-2.1.3.1/udav/xpm/tran.xpm0000664000175000017500000000066412142400472016155 0ustar balakinbalakin/* XPM */ static const char * tran_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #FF0000", "@ c #0000FF", " ", " ", " ......++++++++ ", " . . + ", " . . ..+ + + ++ ", " . . + ", " . . ..+ + + ++ ", " .++++.++++++++ ", " . . .. ", " . . @ ", " . . .. @@@ ", " . . @ ", " . . .. @ ", " . . @@ ", " . . .. @@@ ", " ...... "}; mathgl-2.1.3.1/udav/xpm/insert.xpm0000664000175000017500000000066612142400472016517 0ustar balakinbalakin/* XPM */ static const char * insert_xpm[] = { "16 16 4 1", " c None", ". c #0000FF", "# c #000000", "w c #FFFFFF", " ", " ", ". ############ ", ".. #wwwwwwwwww# ", "...#w########w# ", "....wwwwwwwwww# ", ".....########w# ", "......wwwwwwww# ", ".......######w# ", "........wwwwww# ", ".......######w# ", "......wwwwwwww# ", ".....########w# ", "....wwwwwwwwww# ", "...############ ", ".. "}; mathgl-2.1.3.1/udav/xpm/document-import.png0000664000175000017500000000135612142400472020316 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÙ7n€KÃnIDAT8Ë‘]hÍqÆ?ßÿÿdz3óºY-ï/a¤¨%WD-1 ­µ.—R\))q³¸4´×R21JyË…FkZçÎæx9gÎùÿ~ÿß×Å6#ŠÏÅÓsõô}¾4551ÂÙ Ô¼V˜ ŸMdÏÌSÜx´…Âõ"È‚,‡â59f-îa™¾@›ïŠ©®®nSÕºHøº±„gKVp¾¬™Û6P¸X= K`Š/Ô-ì`¯k¥æÕKv±㽯¯¯¯OxïIUžã@ÅIn^ÝDþR’o!±’`›gnc7»§ÙÌ Jr|./ÀXkÕ9G:fjU@QY·4Î+E:Æ×e©J¤` WØNwé|çj©áØH€Å9GUWŠ6·“tPNÿêi|˜[Á‹ê.‡[yÒ»’®‡kˆß(þãHÔ”‚qÎyçbâ8F:•tû ï¢AŒ$©ëÞ!höIÆ^ !Ù3—2®±:†+DQ4P“€ïŠ&Á˜>ËŽÞ6JVey~f9‘KEÉSÖê=Ú;&#---¦ž¸ó•¼šSõ£~DtÔAÊ8ç°Ö’‹àøþuü ù)£DÎs°µ³ÒXk½µPBç½_øa(Ì™>DÕXk½sÆšàŸ±WÔƒ ~xÆCd=¡üÚøw\¬¬ÇyOÁÆjœs>Š"D ï3y¾å.Vl¬x¯xUb¯X7äL($¾ƒˆ7"â½÷ÉFdóëþ¼Á„òó“AŸs¢ªFUIeb¾J""ü¹Üwé3qP|ÿVOéPz{Rü/™Ù÷¶9Då½ÄiIEND®B`‚mathgl-2.1.3.1/udav/xpm/wire.xpm0000664000175000017500000000062612142400472016155 0ustar balakinbalakin/* XPM */ static const char * wire_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " . . ", " . . ", " . . ", " ............ ", " . . ", " . . ", " . . ", " . . ", " ............ ", " . . ", " . . ", " . . ", " "}; mathgl-2.1.3.1/udav/xpm/edit-undo.png0000664000175000017500000000121212142400472017047 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÖ #–!IDAT8Ë•“Oh’aÇ¿Ïó¾ÏÔåþèÆÒˆÖÁò„AƒB°Cx‚bDP];Œ<AuíiÕûâ%+¾$IEND®B`‚mathgl-2.1.3.1/udav/xpm/size.xpm0000664000175000017500000000062612142400472016161 0ustar balakinbalakin/* XPM */ static const char * size_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .............. ", " . . . ", " . ... . ", " . . . ", " . . . ", " . . . . . ", " .............. ", " . . . . . ", " . . . ", " . . . ", " . . . ", " . ... . ", " . . . ", " .............. "}; mathgl-2.1.3.1/udav/xpm/document-export.png0000664000175000017500000000175012142400472020323 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÙ7 9:‹ŒtEXtCommentMenu-sized icon ========== (c) 2003 Jakub 'jimmac' Steiner, http://jimmac.musichall.cz created with the GIMP, http://www.gimp.orggŠÇGÐIDAT8Ë¥[HÔyÅ?¿ÿÜ´QSÛÆî£»R b[–•i=XÔF mP”›!…íF½DAE*Ê—²(B,b]¢ b7Û´r» b69®ºNŒ;wçúía ,Š:oçá|8稭%¿ïi럠¹Ü¾`2°H1hâŽü?Æä;wùÀþÝ|EjqÑñõ‰Sm‰ÖKë̤±Eָȴ@Æ®>žÖÞ µ´;™÷bÊ©½—:¿ÐÛFÎ÷·ÜØÒöJ£öN,C¦±èôÖ.Éä×˵£WÐÑ1Ш/6iìm³ºL©ï7—ÕÕ7°cS>]Ý=Ü{øˆ½¹å)Ió?h#MlTÂ3K”ê‰õ¯~Þºûh²¿Éûfƒù›ÊH¿(;‹VWކúOBΫOïN šMò™ÍÐÃhþH{ÉÉkUxýA –ØHÊK§ñ+_úÔîNÁǶgÒ–LóÚ¸ï5ÛiR˜oø<0ðàîüü ³“Né`~ƹQuœçæà`S†K%8C¶¬Üx¹üÈô<‰í혘Ȃ1Øö µø¿3"úy­¿ÿ~vj꺺»{„ÃÃ&t£XìKêM1Äq¢c`vv.!HÍ×##OŒ\Îb5HIàœ!ŽÕÕ}hÿýlJ8N’T±íòËÊ=tœ{f­`só T5 ÃÐÁ9Ãé©D4 ÄOq Æ8%0ì=ïAGð}‰“"!ކDˆ$¢È‘@5@$ÑlÖáº7“²\÷})¾½\_ã A4<|œë`L…ªf iW iÝPÕ %Æø_]libj­§§Ð;9y[ÛÛ;B½Þ‹}’àyBÄh4"ÀÊJõ<ÁÙãKº~ulzú±Eìì`t4‹J¥ £ã[)•Òª…BÉêfºÎ±°ð ®»È.µÊ®»ø.ŽÃ;[[o÷——?6=/급m ZKRÕ®±0<°Úà¿ó/­/-äÒÑ ËIEND®B`‚mathgl-2.1.3.1/udav/xpm/edit-paste.png0000664000175000017500000000106112142400472017220 0ustar balakinbalakin‰PNG  IHDRóÿa pHYs  šœtIMEÕ ¯âñÐIDAT8Ë•“±kSQÆ÷½4‚$1Ô” …"\\´jbÑpvÐ!8EmÄÅA—‚8Žú4ƒ»›¨KÕ.º8)‘R¨ÑHB^olÐFï9¡1/m ~ÛýÎ=?ÎùàT*•Œï{Ï“Ù~ß÷½ÎI±\.k¿onΚ+*Œ+vò¹Ü<Ï ¢¬¬|`_í)hªê­Ç/Y2óg‰øž .œ9ûÒÉð.ÈÒ´¦§§0f ¬­­“LD9šṳ̈¿Î³×«VTS æyf,ñy_ϲxÿAP©TB«ÍÍ"•Jqïîm.f¾!ª1 éÿÔÞ‚D"ª03sl0âñ8[À©éy=€j(–ß¼ ½ ù»)Â>•ç\qúKa{UEEÈ<þò9DAU°Ö21‘ Ðß(Òmnýh>ˆëAª_«4õ!‡5纀VËÒ¨×)ÏÛoØÖnPû^CDzþõù«\žZ¾ÂÞ1¥4I§3¤Ó²ÙÃX»ªpcáZ¯Ù7lŠèïö/·çDò#ïðÓ팦°ÿ«í$µŠ1fSU;`á\÷1Œ3‚T»×øäKOæá˜xiÄÚIEND®B`‚mathgl-2.1.3.1/udav/xpm/udav.png0000664000175000017500000001005312142400472016121 0ustar balakinbalakin‰PNG  IHDR@@ªiqÞæIDATxÚí›kŒåyÇïÌœ3çº{öæÅk°1Ø^³6– ”Å„´ YF¨ ð%ªTJBÜ´JRµ¹`{Í%A U B«H-’@ J›¦iâ”›0 B±±±±_vÙ˹ìÙs™Ë;ý0çœ}wæìT©Gz4sn3ïóŸûóŒðþÅ#£¢A³¾ rßxëͼ¿ðÀÃ*„ f¿ãù¸ÌkfÕs-d÷Å\†g‘lPy>¥Â¸Œës-„ˆ„ ÃAÜrFZ„žü„˜Å¸`^œIa¾y”!Ènà\Μ áŸ/]>"Œ¹&! è!R J€T€€!„˜Q‡¥Kƒ±Ä]oî¸Á¸ÄB¤!¨<;tåÛêSÔj59ÂÝgÎ^¥Ðd^Án\Çi\Ëñ ‹“±¸8@eG6 Hô^1°wÛ¶môßr ¬XÅ"¼þ:Ïÿò—|ᕽ×)»ï(@8 låó€Š,œ)c Ìë ó±Ê1¦ ?’IÿÏ–-WÑå•pÅpÉ%P(@±Èà‰<½nüõ;¾Qa8H–¢zM)pk]0ÆG`¾É`\9ÆB@i©G.—£Z«1yø0Ý® ==P«Á©SLæóÄ ƒG;;^øF±tK`·ƒ;e[”Øba ‹dÞˆ`ÞlP(-àjõ:§NbjjŠÎwß%‘H ¥dºR¡X(P,•š7N+ØÊî7¯i‡,Ú[( ‘€ sM2¡e ª• ŽmS(ˆš®û>Ðuq˶±' KU§F’ÎB@0èêTƒg†0ŸP@•‚&ƒ¢VC1wõžGÃ0g”Ý7"`nîÐz9 (‹ RôU±ODU)Ñ]º.^H2ÐL! 4-€½ÀÝSƒ†7"J "Üàæc!»lPó½J*-c¸[߈Ò5!;\ùP€y¨‡PµAµ¿·Ô0 áRMÑ)Œ4w7Ù8OÎU2f¹ÄÝ‚¿˜ »`§ôžPt_eª¦0¯‚P €aÍŽæ2«µ1|z Ú‹):¯¾d€R JH}ŸÞåñÓúwê·cÌêu.aõ Qª0+2üò—ßßúöÛÿÁØØ8;¥÷_ ÕèOeB´I™Õ¨QM ´0ƒfÜ ˆ‡XýDÀ.$Bv&¸;ú=÷ŒüÉ›o¾À±cïã8;^nì¬þÚm,¾jè˜W(9“j×툰Ùh…™ÙÁhôhÌÇÚ¡I07lxîO–ÓÝý.Ï>ûo8Žƒ”Ãï4~'`0þoçëe›\A•  D‹€E–êÆÚ¡Úˆ÷÷ÿ㟥RIÇ¡T:Á¡C‡p]σ+®¸œ@Be5ÝÕ"jvDž`‡Ô"Td„ ˆ°¦¾ ˜D"ñý/y^žÉÉ ¤”HénW_}5½½=<ø wùÄD‘_ÿz~锢*óÞ<»n)Óˆ(ÌÌQƒ@ „bí_ŸRÜSð˜qU)MÛ}xxžÏ8xhšF “Y¿—r¸îyÃ6€ëºLO—9räÏ=÷*/¼×]ßúÖlÚôï«æ©4G5aÄ|;?_.0_DU=¢ Ò®A¢I9,¥–®+)—Ë:tˆ_ýê|[·Âm·mcùò'ÖÌÃ\Ô}æ×ú¥°€æ£»¤ã¸ E8ÀoøNê󟇡¡!LóÁ  /äú‹Vë5ëÞ®»Ó±,‹ÑÑQ¶Éç}UX·n®®î¥ÞÃ[Ô"ÎÓË[ Íù”’éé2~ø!Å"H ]ÔEWWŽðfid?qÁ÷׉dTçV͸‚äÅãô'“?èR>†±¶}oÅq\×E6J™‰˜¦I2ùƒkÛ¤ÂêzäüÌûÁ‰Ñf¥ÒU“3dšß¿«³³“ŽŽ2™4¹\Žt:C:&›Ír×]qb±8ßüæ×:üÐØ¥Z­Q*)•¦(òŒS,Ñu®®n21ÓÓ ¥Dóë„ayþB¥ ]QÔ Ng¨YÆx*õÐÃ]]Ýär9®¹¦‹\.G.ç;:²ttÄI§!†dR©ænúd+p]¨TüæÐ‡£þ„õë3ärp茌ŒQ«Õ› ¬Ú+ Öä"UaN6è…´¨UÆe:ý𺻻¹ì²Ùl†L&K&“!N‘L&¨×ë ’rÙÀ0 b1ŸéxÜ$•‚L:: ›…Þ^X·Îÿþµ×þˆë¯÷:xNž<Åôô4ž'I&º¹Zýö3mz†a¡¶’`Dˆ~(õõ=þŸË—wNg0M!–UgjJR©TÐ4ßÃø±¿‡”^+ÆÔu½‘ ʼnÇMR©$™L–l6COOŒ¾>øá_bxø.» ~÷;xë­"øÃ)*• RzÜ}÷_òÙÏnºýرcŒŽntžz@XUhaÙ ZöJ©eË»³3G2™DëºxžÏ ¾-mê·ëº¸®îy³Ð4]×0ŒñxÓ4Éd2;vlá†àðaøÙÏ`Ïžyï½£ J¥¿ctÔÿî•W<^}õU<ÈÙ³_ý[%*·I„,µB¬”Å… € $r¹GuwwÓÑ‘E×ujµÓÓlÛjÅ>>£.Žã"¥ÛC¶:=ÍÛø€ „ÐÐ4 ]×¹óÎ;Ù¾½—µkáwà¿€_ÜËÑ£G™˜˜Ä²ê9ò]úû}Uƒýûaï^ÉÞ½{9pࣣÛïÉ+L2P"÷ܨŠZoÓÇ4M‰Éd ÃÐñ<(—§[¢)Ä þÎKøà…B˲ðzô•Êß®ÍXl£¡jÏdËf;èé馻»‡ŽŽ, (•JŒŒŒ02r®á·½9»>—qÕ«W³uëVn½µƒ«®jì‚O> ¿ýí!Þ{ï=FFÎ15Uƶ-¤”¬]»–¾¾>V®\ÉÚµ38ë×C?Ôëpä¼ô<ÿükìß¿‘‘¯mT&¡â"^pÍ\¿¢£S«Õ±, tuu100Àš5k¨T¦Éçóäó …•J˪‹ÅÈf³,[ÖÏêÕ«¹òÊlÜ«Vù ZõÇžz ~ÿûc¼ÿþ1Î;G±X¢V«á8žçaš&§OŸ!Ÿ/0>>ÎéÓ§9qârΜéchȿ޺u¾wÉå>C.—cÕªÝwüøŸ¯T\dè¬aX $•ZWJ—RiŠtÚ¥RI1>>xFÝÝÝ\|ñŠ–¯7Mß×'þ‚2ßåÅã~X[«A©Ï> 'NLpüøqÎ;Çøø8SSeêõ¶í´¤È0 êõ:ŽccYÕj•R©D¡P`|üRΞ]ÇæÍ‚ÁAX¾n¼ÒéA’ÉkÖü胓'OR«}·Sa¾ÎPK \?S“ضE¹ìá8ÉdŠT*ÉÈÈ(Åb‘d2ÙŠ²Ù ¦)ˆÇ}Æ›>?•‚Ÿÿ|„‰‰ òù<”JEÊåijµ*¶m7Œ§o;|µˆ5ŒlÓ¾H\×Á¶mêu‹r¹ÌÔÔåòzŠÅ CC°llÚ޳ )ýëÄã-ë{æ"˜-~åÆi- V«³oß~âññ¸‰iú~=‹ÇBCÑú½eÙÔëu,«ÞR#Û¶˜‰ù›Uã{!å®Ç4møëM ®+Z.Õu]ÇÆqüõÔjƒ8N/CCþÄ͆ P­®¦V«ãøÃ2jx*€)°¬{Ó†qÿtÓ á`YuªU­åÊ4Mk¸6¸‚‡çÉ–aœ!/ÄHz­î°ëîz°¥¾°c±îs]§Xç¹kû`øÿDÊ^6lð£Ë5k`rr=¥R‰'í³g¿";!Òl ÇÙ‘ÑõûÊM!åLíÃçY„æT³]àlf[07þ/å®”Þ€ 8¶}ï_7Käš¶û_šîÖ¶*1\%›H§Ó¬^íK§? ]]בɤéîþoròoÄ"˜e „ëîìÐõÝ%o–õT‡ˆšÐñUe×÷BBpµÛcu)wÝÚâ¿}ÛäP­VÉçóÄãq²Ù÷Éf7°l\s3ô÷C¹¼‰‰Iz{÷ÆÇÿJ,bFÈ“Ým€°«Ó0î+6uv)3ÛþŽi8Îί+¢£fvÈT½Äuº¾ûõ …Bž3gNÓÑ‘%›]I©ä{Ÿ‘-¡i‰„¹”IÑè19øï\ ¦xûº½óŽˆù‘„9! G_,À6ŒûކA2™¢³³“ÞÞ^zzzZa{½^gr2Ïøø8㌌Ü#–0*ÛvP226(,m«}ˆ°jNXÛÛ ÄôÍ£‹=0Çž(N<Ç0 „ÐRúãwVzݲ,jµo‹%Ì Ïšk›‡ÉÆBzQx!jÕµ•yaÇ4,ù«Ôд¦GäµbŒZí;b ³ÂžçΙ¿S[Û†bÄÂ)aãòQ£òjŽÖw›¹¸Ê$˜µ…¶}ïbŒ`$ê³=2¤ç´éEà…¨£ô¥2)î®mß«kÚn7,ólºëfÝâ#ŒË‡ŽÒµ{`B‹T€ùŸ‘mæ}ÔùÖš¶Û K½…ÐpÝâ<0Ë.ˆfõˆVYØc32¢.5ìHpBæÿ´ÝÍ RîŒì Šóóàd(Q}»¨g†úÐT0µýÈM‰óûäè’›#bþOFG%…` mçDÓíéDÿÅŠ ÿìpÛGgU9^ØŠÿxú{}bÈ_ðöøÿ©×ÿ '0#‰ÝDIEND®B`‚IEND®B`‚mathgl-2.1.3.1/udav/xpm/squize.xpm0000664000175000017500000000064712142400472016532 0ustar balakinbalakin/* XPM */ static const char * squize_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #7F7F7F", " ", " ", " ...... ", " . . ", " . . ", " . . . . ", " +. . . .+ ", "...... ......", " +. . . .+ ", " . . . . ", " . . ", " . . ", " . . ", " ...... ", " ", " "}; mathgl-2.1.3.1/udav/xpm/mark_rf.xpm0000664000175000017500000000063112142400472016624 0ustar balakinbalakin/* XPM */ static const char * mark_rf_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " .... ", " ..... ", " ....... ", " ........ ", " .......... ", " ........... ", " ............", " ............", " ........... ", " .......... ", " ........ ", " ....... ", " ..... ", " .... ", " .. "}; mathgl-2.1.3.1/udav/xpm/preview.xpm0000664000175000017500000000653412142400472016674 0ustar balakinbalakin/* XPM */ static const char *preview_xpm[] = { "16 16 174 2", " c None", ". c #EA6E0E", "+ c #F67F06", "@ c #E3BB18", "# c #A4E757", "$ c #56E6A3", "% c #25DAD6", "& c #11E5EB", "* c #2AF5D0", "= c #72F588", "- c #B0EC4B", "; c #C7DC34", "> c #C3E336", ", c #98F563", "' c #3FF6BC", ") c #07D5F5", "! c #0E9EEA", "~ c #F44C0A", "{ c #FC0E00", "] c #FB1900", "^ c #FF5B00", "/ c #F7C407", "( c #B5FD49", "_ c #4BFFB3", ": c #0BF6F3", "< c #05D9F9", "[ c #0CD2F2", "} c #14DEEB", "| c #1BF0E3", "1 c #20FEDE", "2 c #27FFD7", "3 c #2BFDD3", "4 c #3BEEC3", "5 c #F14F0A", "6 c #FC1400", "7 c #FB1700", "8 c #FF5000", "9 c #FBBA03", "0 c #B8FD46", "a c #39FCC5", "b c #01CAFE", "c c #0088FF", "d c #0075FF", "e c #008FFF", "f c #01CCFE", "g c #22FCDC", "h c #73FF8B", "i c #BAFC44", "j c #D3E228", "k c #F47B0A", "l c #FF8C00", "m c #F4BA0A", "n c #CBE733", "o c #7DFC81", "p c #2BEDD3", "q c #03C1FB", "r c #0090FF", "s c #0082FF", "t c #009DFF", "u c #08D4F7", "v c #3AFAC4", "w c #98FF66", "x c #E7EF18", "y c #FEBC01", "z c #F4920A", "A c #F4AD0B", "B c #D4F62A", "C c #63FD9B", "D c #16D9E9", "E c #0296FD", "F c #0063FF", "G c #0059FF", "H c #0076FF", "I c #00B6FF", "J c #1AF2E4", "K c #6EFF90", "L c #C8FD36", "M c #F9E306", "N c #FFB900", "O c #FFA800", "P c #F4AF0B", "Q c #EFBD0D", "R c #A0FF5E", "S c #1BF3E3", "T c #009CFF", "U c #0056FF", "V c #0041FF", "W c #005DFF", "X c #00A0FF", "Y c #0EEEF0", "Z c #5FFF9F", "` c #B7FF47", " . c #F1FA0D", ".. c #F9E606", "+. c #F0E70E", "@. c #D4F42A", "#. c #9CF05F", "$. c #F4AA0A", "%. c #DFF01F", "&. c #8DFD71", "*. c #4CF4B2", "=. c #2DDFD1", "-. c #21D5DE", ";. c #1CDFE2", ">. c #20F4DE", ",. c #3BFFC3", "'. c #79FF85", "). c #80FF7E", "!. c #72FE8C", "~. c #51FAAD", "{. c #28EFD6", "]. c #14CDEA", "^. c #F4760A", "/. c #FF6B00", "(. c #FD6D00", "_. c #F87A05", ":. c #F1910C", "<. c #E9B615", "[. c #D8DF26", "}. c #B2FC4C", "|. c #70FF8E", "1. c #2DFED1", "2. c #0BE3F3", "3. c #04B9FB", "4. c #0099FE", "5. c #0085FF", "6. c #007EFF", "7. c #0A84F4", "8. c #F1480A", "9. c #EA0500", "0. c #C50000", "a. c #B30000", "b. c #BB0100", "c. c #DA0600", "d. c #FA3500", "e. c #FCB403", "f. c #ACFD52", "g. c #24F8DA", "h. c #00A5FF", "i. c #0036FF", "j. c #0046FF", "k. c #007FFF", "l. c #11C0EA", "m. c #F4440A", "n. c #E10100", "o. c #B20000", "p. c #990000", "q. c #9B0000", "r. c #B90000", "s. c #EB0500", "t. c #FF6700", "u. c #E9E716", "v. c #75FF89", "w. c #1EE7E0", "x. c #09B9F6", "y. c #06ACF8", "z. c #11C6ED", "A. c #38F0C6", "B. c #8FF26F", "C. c #E9630E", "D. c #F43606", "E. c #E92406", "F. c #E02006", "G. c #DE2006", "H. c #F43706", "I. c #F56806", "J. c #F5A106", "K. c #EBCC11", "L. c #CED92D", "M. c #B9DB41", "N. c #B9DD43", "O. c #C8D933", "P. c #E3CE18", "Q. c #E8AB10", " ", " ", " ", ". + @ # $ % & * = - ; > , ' ) ! ", "~ { ] ^ / ( _ : < [ } | 1 2 3 4 ", "5 6 7 8 9 0 a b c d e f g h i j ", "k l m n o p q r s t u v w x y z ", "A B C D E F G H I J K L M N O P ", "Q R S T U V W X Y Z ` ...+.@.#.", "$.%.&.*.=.-.;.>.,.Z '.).!.~.{.].", "^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.", "8.9.0.a.b.c.d.e.f.g.h.U i.j.k.l.", "m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.", "C.D.E.F.G.E.H.I.J.K.L.M.N.O.P.Q.", " ", " "}; mathgl-2.1.3.1/udav/xpm/dash_d.xpm0000664000175000017500000000063012142400472016424 0ustar balakinbalakin/* XPM */ static const char * dash_d_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ". . . . ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/update.xpm0000664000175000017500000000062712142400472016472 0ustar balakinbalakin/* XPM */ static const char *update_xpm[] = { "16 16 2 1", " c None", ". c #00007F", " ", " ", " .... ", " . . ", " . ..... ", " . ... ", " . ", " ", " ", " . ", " ... . ", " ..... . ", " . . ", " .... ", " ", " "}; mathgl-2.1.3.1/udav/xpm/dash_e.xpm0000664000175000017500000000063012142400472016425 0ustar balakinbalakin/* XPM */ static const char * dash_e_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ". . . . . . . . ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/mark_vf.xpm0000664000175000017500000000063112142400472016630 0ustar balakinbalakin/* XPM */ static const char * mark_vf_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", "................", "................", " .............. ", " .............. ", " ............ ", " .......... ", " .......... ", " ........ ", " ...... ", " ...... ", " .... ", " .. "}; mathgl-2.1.3.1/udav/xpm/table.xpm0000664000175000017500000000071612142400472016276 0ustar balakinbalakin/* XPM */ static const char * table_xpm[] = { "16 16 4 1", " c None", "# c #000000", "o c #777777", ". c #FFFFFF", " ", " ###############", " #ooo#oooo#oooo#", " #ooo#oooo#oooo#", " ###############", " #ooo#....#....#", " #ooo#....#....#", " ###############", " #ooo#....#....#", " #ooo#....#....#", " ###############", " #ooo#....#....#", " #ooo#....#....#", " ###############", " ", " "}; mathgl-2.1.3.1/udav/xpm/dash_i.xpm0000664000175000017500000000063012142400472016431 0ustar balakinbalakin/* XPM */ static const char * dash_i_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ".. . .. . .. . .", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/dash_j.xpm0000664000175000017500000000063012142400472016432 0ustar balakinbalakin/* XPM */ static const char * dash_j_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ".... . .... .", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/system-file-manager.png0000664000175000017500000000057212142400472021040 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs × ×B(›xtIMEÕ)0,C]ZIDAT8˽’½JAÄû‘E±°I,|€€Ïႈˆh%"h­ ‚µ¥pò¾NŠxZh²·{kÍ%^îR8åüÿ;³³³â¨ÝØ‚ˆ }àIg‡¯N.I’á{Z!$×·Q Žšá¼}Дӗõ0Æ™ú¯†17:#£;úÖ”ºþб´v/FÙ·†íÕ—RÝ^ƒÁç;Z×Ì ©FÞr–S·×(Ò¿sýµœç—”#õç’õúÛ\Q4€µ<ÇË•ZØÊG¨Ú‚OýìG,Õ@êÝÿ¶0!`ì+›‡cƒÔ{¤R¤Þç>Ð8'Z;k÷‹ þLëÚTç’Â_†Ze·çÒ†IEND®B`‚mathgl-2.1.3.1/udav/xpm/document-save.png0000664000175000017500000000161712142400472017742 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ 7ž*Ø¿ŒtEXtCommentMenu-sized icon ========== (c) 2003 Jakub 'jimmac' Steiner, http://jimmac.musichall.cz created with the GIMP, http://www.gimp.orggŠÇG„IDAT8Ë’MHTa†Ÿ¹ÝñæÏäLàµ1Í‘²QlQQ4&¸ÈE.B(,‚Š©ÁV-*ÊETR´( "°((j[Ð"‰DЦE™Tj†¤èÜ›ÎýùN al²6½›óÁá<œ÷=_àÈÙã'?[ÚØ¸3 T[† &ÙП?ÎÍ»çÏà 4wtí­¬U—›ƒ«kÊ:ª#…kmÏ'ý-ÃëÞçêÃ×Qâ‘7˺;ï ÿ<}¾Û;ì‰Æ¨fÚ(c¤­e#Ë+sùþ ü¡>bã›ï$y,%_FDDdàsZzÓ’ºöD/HÏ«/Òõô­´žº.ï‡åwY–%©Ž¤è†î³´<ÆÄÄá’r´À$…âÐ÷q³Dçûx†÷ŸX²¨BAAºç‚(ÁWŠí'nÌÛ±wp×ó¹Øó’‹=/x|vÈl_P¢P¾¢ëP#í»wÒ˜XÇÌŒM4¤Ñ”XÏÞÖíìi^ò"2"‘0e1.XÇÍ»ˆÇªÐ  Q_Í­{hÛ\ÃŽ¦õå,ËÂ4Mª£µ9HãªåÔÆ*¹|û!m›kص)iš8Ž“³¨(¥°mÓ41M“»ÚCÖõÙßROû¶-hšÆÔÔ¶m …æ†aPYY™Þš† <»²Û¶q‡éééy!ëýýý¸®›×ð<]×sï?‰Dò3ðåûùÂá0¥¥¥D£Q²Ù,@.íx]¥ñº:”R,‰Fs–©Žäà4ÿ§Î_“;3LÕ"bmIEND®B`‚mathgl-2.1.3.1/udav/xpm/diff2.xpm0000664000175000017500000000064612142400472016203 0ustar balakinbalakin/* XPM */ static const char * diff2_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #7F7F7F", " ", " ", " ", " ", " . ", " .. ", " .+.. ", " +. ..+ ", " . .. ", " .+ +.. ", " +. ..+ ", " . .. ", " .+ +.. ", " ............ ", " ", " "}; mathgl-2.1.3.1/udav/xpm/dash_l.xpm0000664000175000017500000000063012142400472016434 0ustar balakinbalakin/* XPM */ static const char * dash_l_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ".... .... ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/mark_a.xpm0000664000175000017500000000063012142400472016434 0ustar balakinbalakin/* XPM */ static const char * mark_a_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " . . ", " . . ", " . . ", " . . ", " . . ", " ... ", " .............. ", " ... ", " . . ", " . . ", " . . ", " . . ", " . . ", " ", " "}; mathgl-2.1.3.1/udav/xpm/dash_m.xpm0000664000175000017500000000063012142400472016435 0ustar balakinbalakin/* XPM */ static const char * dash_m_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", ".. .. .. .. ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/func.xpm0000664000175000017500000000062612142400472016142 0ustar balakinbalakin/* XPM */ static const char * func_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " . . . ", " . . . ", " . . . ", " ... . . . . ", " . . . . . ", " . . .. . ", " . . .. . ", " . . . . . ", " . . . . . ", " . . ", " . . ", " ", " "}; mathgl-2.1.3.1/udav/xpm/edit-redo.png0000664000175000017500000000111712142400472017037 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEÖ '?¸í!ÜIDAT8Ë“MkQ…Ÿ;_MŒ¤BLcƒm6ÕvÓÒ*~Tc B©8nD+‚¸p­;Á¿à~VÝu)D …ŠÅRºj¤¨ÁMu!)bL&MšÉdÆÍ'A‚gù^žÃ¹ç¾únjžnjÓQgýk[7µÂ<~`¼ÑMm.8q€<°L“––M€EÃ^è¦vx>'´T¶puXMæUŽaÙ?)}[áÊè½€€òùóòPNªÙe¼Ú§žt›5€®É¹={Vøððòáµë7c™3X•u,O#îÚ : 6ÛÎßâ„Ä¥‘»,-›(þìé³ã“±t–ú¯w$Z 4nUxEGêí:=x²{ `@ÕfM§ãÖ{²ûUv¤š"¨‰3îC0ë™c§Ù\ýÐí@è¸nFÈ‚TÃb«T÷ÖZ•ÐëL\>‚»{àtœäÑÆW¶wvYkµ-à0U4lQ4lð69‚nì7«îJ]HÀý¢a¯NàÃ3EÃ.En¢ªÈ€û ÁÁͽ²Z½¦6ØäÏ5¢$ŒÝ–Ý/íú­™ÜÔnù”Ðխϯ;v?$¸‰#ÀP6ž$Ýï¼ùE§ó/ƒß×Kº^Ï5ÞIEND®B`‚mathgl-2.1.3.1/udav/xpm/mark_d.xpm0000664000175000017500000000063012142400472016437 0ustar balakinbalakin/* XPM */ static const char * mark_d_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", ". .", ". .", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " .. "}; mathgl-2.1.3.1/udav/xpm/none.xpm0000664000175000017500000000062612142400472016146 0ustar balakinbalakin/* XPM */ static const char * none_xpm[] = { "16 16 2 1", " c None", ". c #000000", "................", ".. ..", ". . . .", ". . . .", ". . . .", ". . . .", ". . . .", ". .. .", ". .. .", ". . . .", ". . . .", ". . . .", ". . . .", ". . . .", ".. ..", "................"}; mathgl-2.1.3.1/udav/xpm/style.xpm0000664000175000017500000000064612142400472016351 0ustar balakinbalakin/* XPM */ static const char * style_xpm[] = { "16 16 3 1", " c None", ". c #FF0000", "q c #7F0000", " ", " ", " ", " qqq qqq ", " q.q q.q ", " q.q q.q ", " q.q q.q ", " q q ", " q q ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/dash_s.xpm0000664000175000017500000000063012142400472016443 0ustar balakinbalakin/* XPM */ static const char * dash_s_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", "................", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/dialog-information.png0000664000175000017500000000153712142400472020753 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ 2:Pœ÷5tEXtComment(c) 2004 Jakub Steiner Created with The GIMPÙ‹o«IDAT8Ë•’KHTqÆ¿ÿÜ;ã½:×G&YjfR>E"Ä¡%Ô¤¢lbÊpa´²EË1ªEM¢‹ˆ %ÈIt&JJÍŠ4•Lqtœ¹w®÷õoå 5~«sàû~œs8T\ÙÔL)%) „˜ˆ1Ëú´ÿekãŸ^v}STÞ”Á0¤ïbmeZ¹½qU7àñS{z?\!&æ,¥zIWë׈–%oïµÔoß“¹c,RFg}’ZUYEÓ£m%ùYééÉ{[n=vˆ_Ë0kEIÕÕÛõç–Ìù¬¨º›·˜D§ ªN ïJh–‹æÍs;u&%srüm'˜Â$†=Wn/@ ¤Ž±,C-fÆ „PPšn(”Âèœì.*ÌÃr§ÖraÀªBã+YÑWUÍH43¦ ‰±œsW²àÈß½Õ%:åý<Ï! ©\m]ƒià !DÑtH²j2 *&X£àõK.Q 1+AIž–†E7©ª±áˆa@ ÏJ^_ F”UËŠ¤ú3’c1úÃ÷^Tt:·$)îo‹ÁjIðúƒˆxµ£­Yܰ‚™ÑzÞ ƒbs'~-‹ðÓ'ê'¼þÞá™…%Q6WìO«rÁÊaâ¯lBÇ;»úå™éùì´$ë¡kí7Ïκäþ2bX’è´gUû—r܃#ªÀúJë¯ÿƒc§«d*ùŒ:6ÉËþƒ¡Àý»‘›é©ilZN§Î̾2Òý4úÂØìPU}òz ÄYXXx—û(’é7VL6^|ŠIEND®B`‚mathgl-2.1.3.1/udav/xpm/mark_cf.xpm0000664000175000017500000000063112142400472016605 0ustar balakinbalakin/* XPM */ static const char * mark_cf_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ...... ", " .. .. ", " . . ", " . . ", " . . ", ". .", ". .", ". .. .", ". .. .", ". .", ". .", " . . ", " . . ", " . . ", " .. .. ", " ...... "}; mathgl-2.1.3.1/udav/xpm/oper.xpm0000664000175000017500000000062612142400472016154 0ustar balakinbalakin/* XPM */ static const char * oper_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " . ", " . ", " ..... ..... ", " . ", " . ", " ", " ", " ", " . . ", " . . . . ", " . ... ", " . ... ", " . . . . ", " . . ", " "}; mathgl-2.1.3.1/udav/xpm/mark_l.xpm0000664000175000017500000000063012142400472016447 0ustar balakinbalakin/* XPM */ static const char * mark_l_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " .. . ", " . . ", " .. . ", " . . ", " .. . ", " . . ", ". . ", ". . ", " . . ", " .. . ", " . . ", " .. . ", " . . ", " .. . ", " .. "}; mathgl-2.1.3.1/udav/xpm/mark_n.xpm0000664000175000017500000000061112142400472016450 0ustar balakinbalakin/* XPM */ static const char * mark_n_xpm[] = { "16 16 1 1", " c None", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/mark_o.xpm0000664000175000017500000000063012142400472016452 0ustar balakinbalakin/* XPM */ static const char * mark_o_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ...... ", " .. .. ", " . . ", " . . ", " . . ", ". .", ". .", ". .", ". .", ". .", ". .", " . . ", " . . ", " . . ", " .. .. ", " ...... "}; mathgl-2.1.3.1/udav/xpm/mark_p.xpm0000664000175000017500000000063012142400472016453 0ustar balakinbalakin/* XPM */ static const char * mark_p_xpm[] = { "16 16 2 1", " c None", ". c #000000", " . ", " . ", " . ", " . ", " . ", " . ", " . ", " . ", "................", " . ", " . ", " . ", " . ", " . ", " . ", " . "}; mathgl-2.1.3.1/udav/xpm/mark_r.xpm0000664000175000017500000000063012142400472016455 0ustar balakinbalakin/* XPM */ static const char * mark_r_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " . .. ", " . . ", " . .. ", " . . ", " . .. ", " . . ", " . .", " . .", " . . ", " . .. ", " . . ", " . .. ", " . . ", " . .. ", " .. "}; mathgl-2.1.3.1/udav/xpm/mark_s.xpm0000664000175000017500000000063012142400472016456 0ustar balakinbalakin/* XPM */ static const char * mark_s_xpm[] = { "16 16 2 1", " c None", ". c #000000", "................", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", ". .", "................"}; mathgl-2.1.3.1/udav/xpm/mark_t.xpm0000664000175000017500000000063012142400472016457 0ustar balakinbalakin/* XPM */ static const char * mark_t_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", ". .", "................", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/help-faq.png0000664000175000017500000000135012142400472016657 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆŸIDAT8mSMK”Q~νFf”¢ö%â­,sL2œ\ÆÐÇÖà¢ÈÒQiQó³g0EsåR‚AG2”Ô¤²¦EmQÍŒ2:ï|Ý÷¶yµÎê<ç>çœç\)%Ù]]µ$p5©H‚ªrMÄô•ÆÆ–"’8€gOuYIiµÅR«0ƺ®ÓäÔÛ¼ŸOö¾âÉE&Õ„Ð'ƒÁð˜LˆëK­ íA×c€÷ó çRÔ”ÜúúûÄù¡z!2fÜ3·?ZÑh||œon{Ý 7•kaíPûé'Ó¢ù…U7ª¾M¬$gÿ^·JsPpþ4œ}Ž ²¹½ÑRz¥¬ÒRS«üGIuÏN}X\÷*«œ+Æ« ž]è TŸ1¼âÜ„륣.‚snIJwVóY(œJœs<_58‹Å… ƒ@ƒµø˜¡­®RÊÄ‚¡¦¨&¥ôëºÎ#”c¬x<®¿ìwAÓB "‡ ‹!&û»¹Ù0 d[Ýåd+a2©¿Bû‘ǃïöŸ€H8Œ¦¦¦y–w!¿cùã’«×i÷wv?G_¿óÒÐðô¸x`³Ù<‘‡££#¾õu¯~lÆÚ{Ú+z]/>ß_]J)ΞC¨³Ó–áèívttµM.$£µ±u1 ™G_l­oxÅÑ|ssW0-õ” sWpvû³L°ô©h4jn±=9Æ“RÉ"3Ì4÷IEND®B`‚mathgl-2.1.3.1/udav/xpm/mark_of.xpm0000664000175000017500000000063112142400472016621 0ustar balakinbalakin/* XPM */ static const char * mark_of_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ...... ", " .......... ", " ............ ", " .............. ", " .............. ", "................", "................", "................", "................", "................", "................", " .............. ", " .............. ", " ............ ", " .......... ", " ...... "}; mathgl-2.1.3.1/udav/xpm/mark_v.xpm0000664000175000017500000000063012142400472016461 0ustar balakinbalakin/* XPM */ static const char * mark_v_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", "................", ". .", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " .. "}; mathgl-2.1.3.1/udav/xpm/process-stop.png0000664000175000017500000000146412142400472017631 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ - kÀœÀÁIDAT8Ëm“»OSa‡ŸsémÆÈà%†Æ@+xij¸ ©6ˆš˜¸±Xü\:8iLŒ qÐÁ»1¸˜P$š°ˆÁÄ(µÔJi¡á´ç;Ÿ¥‚ò&_¾äMžß{ùåUØÂa==1ñDÀUv Æ\ŽBe3§ü?kôù.]¼vÍ­hRJiY|xøÐü23ó^À•(X5*üÂïóõF††Üóãã˜ùü¶êN¯—úŽ><}j&’É1}Q°´‘PÈ‘œ|8v¬728¸¯®‚emªÊZ:M ÑWçæŽ,•JgÃáçZg&óæxccÏùw6Ǫ¯GÅ ™Df³³Ÿ8ÁÞ»w©$_¿r<ÖTêèD"¨õ¨êãþë×õÌ»w” Ô¾>Ô–”Žøþuÿ~ö ãÚ·EJJããü.h‡õ©ÏŸº¢( %åBa£Õ‘p¹põöâ¾q]Qpz<˜ñ8ù;w°uÃ@ ¨ÿy%%âþ}äÔÎ]»pz½XÓÓäb1„mc6 «;Rwô»¹w(„®ë8vƒÔ…BÈ*,ÊeÄÜÜ_)D V[ZðÞº…Óëe=gut§ÇƒïÞ=<í혹Æ·oÈ•t)冚a ,‹º¶6\UxqxÛ4Ñ€ýýÔ:Åúƒ iØÕ¢Ú)»+Åâá@[›VJ$(½~MåçOnÞ¤œÉP^\$÷êk³³$oßFÑ4|~?é¥%ûÇòr^‰Sƒ·'º[ƒAW*g­X¬-këSššH âc:½`C§6"OrÅb—i‡­­zi~žŠinƒU‡ƒ¿ŸÙ|^Lþú•²¡= ©Ú1mvâ?x°ûìéÓ.ElËBZVíO$“Ö§lvƆ®(,n»Æ­"zv²W…iÎEay3÷ÇMRö׆÷IEND®B`‚mathgl-2.1.3.1/udav/xpm/mark_x.xpm0000664000175000017500000000063012142400472016463 0ustar balakinbalakin/* XPM */ static const char * mark_x_xpm[] = { "16 16 2 1", " c None", ". c #000000", ". .", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", " .. ", " .. ", " . . ", " . . ", " . . ", " . . ", " . . ", " . . ", ". ."}; mathgl-2.1.3.1/udav/xpm/mark_y.xpm0000664000175000017500000000063012142400472016464 0ustar balakinbalakin/* XPM */ static const char * mark_y_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " . . ", " . . ", " . . ", " . . ", " ... ", " . ", " . ", " . ", " . ", " . ", " . ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/mark_sf.xpm0000664000175000017500000000063112142400472016625 0ustar balakinbalakin/* XPM */ static const char * mark_sf_xpm[] = { "16 16 2 1", " c None", ". c #000000", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................"}; mathgl-2.1.3.1/udav/xpm/text-x-generic.png0000664000175000017500000000051512142400472020027 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ8º`&BÚIDAT8Ë­’=n„0…¿H»[!!ŸŸ³l™"ÇAæ!QÚsú­LŠˆ$^X¢¼j,{Þ|3µmû1 à ÇôZ×õ;ÖÚ騬µÓì”ÌÁ8Žxït/5Ç’ˆã˜4MW(wï=ιUÂR’¨ªêW/ÉòPÅ&AHÉòá’à§ž"ÈóßÃ{2Q7Œ]Yäý³1ö;/?\äË×oŒŒŒÐét8tÐð|uP­V9sö¿}¢¯²ÉVû$@÷¹¯²ÉÛ ‹ª²¾¾F•ááaÀáÀàl‹ûg5FEUQ…,K¤ÆÀá å4ƒƒËÒjm`TáÏv €ë—T¬Œ¼7xo0†®Þºlàé“&/VWxýn§Àvû'Þ 3M«"е;Ùóáܰ1¯Þ|ìÖ诞ÀZaªÅ{Á°V(h mŒ#Þ›Òre¢î8rjMS›€,ÓR³ª’ÌÍ–.Á…Àçöyœ3LŽÙývïËwºžïh÷1Gõa­pwù€:gð>o*š iZ-j%ƒãĨ\½Ð‘R½ˆRèT-Jo,b „Äì’ÓývpsA4%ýŸ †HJ09$F%FÝ“bº®Òkàòb$Fe¦iµw°HIiÌ£ÅZ"!eÊT-ŠjNR~³,uµ1ޤòüÎn<Ýë_ÈMàÚ½þݾÿ¸-Qš1&T#))ÆÈ?šÜðÑÃ¥’Á_Œ\ ã…ÖÁIEND®B`‚mathgl-2.1.3.1/udav/xpm/media-seek-forward.png0000664000175000017500000000141612142400472020633 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ '§Ffñ›IDAT8˽“;LqÇ¿ÿ{ôîÚ+RÀÞµ@!>hDÓD…ÁQ\Œ&JTÒU!,¾B Ú¸%ECtTpG|@LxÔ` £ôz×ëq- Qa3~§_>ßä3}À?Hf.íÁ  € À  ´ÕÉö [œî*ðxÜÞöö¶ÇqR…BAæyž“$Éq ×Övª·X,fj ‚P²íÒ_‚PmÈ«•‡Šâïöû÷Ûºž[d¦\–eR]TwE¥ÏmùUU‹UUUަi;"¶1öz<î‹ÏŸ ‹“3SÍe²|Öã‘–r9#]]<ÿbxDš›ûDáÏòz*­---v}}ÝF<§¤««+ฅØã'"a2kk´çÚUÓ4Œ)€œx4ã C ë:F{3Zfm1™LÝ\Ž/o:Òôƒ ¨* Ž0 ‚${wîËiM;Þ`¶9dz¤¿o "«¯—õõßzpøàw,ëºÀ)ªŠ´–!@&«A%€R$’«Ôëõnf-«AÐMŠD2AÝ’È—JNyE¹œ¢(0 :†EP­aˆÅ†¬D2µäøCÛܲò{ûFŸý:»jšù» M1²Î©ªŠDê'œ¢ƒÑÑ{ai>ïóU^9ÞZÿræóÔ‚Støé™OÖÄø[Ï™ƒÇŽF(¡zç™Î‰ññÀë±W‹µµÕÄ竼íóWÞñp²M€Íé/“ó o˜æÓÖæÈu·[JÄŒD";£â”€ –aÞ‡—‚ºU OAL”­Ž­|<ÝÑq¹>X·B²¡PhóÏ!˲[g€!Ib l»àÀSuQ6ö|J©—RJváþG~6œH~„€HIEND®B`‚mathgl-2.1.3.1/udav/xpm/view-refresh.png0000664000175000017500000000162012142400472017570 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<"IDAT8mRMlTe=÷{ï•ù­3m[¨¶ †¦¡¢3јF7Ä`X¨¼DŒð³a M ta¢à£1L%˜47ü!’Ô«qÑÐ’ÔÒÆF;´èÌ´óÞû¾ë¢ó’Yp’›ÜÅ=''ç\bføHe²Ï4èÚÞô¤jÕ„˜'¸ãÊ.Ø–éÖÝp‚|t&»EÓÄ@O×*}]g³ÑÖ˜Q(V02v¿|gú¡'ï¶-ólzW6ÃŒïĈ™‘Êd׺ÙÚ׊ǂЉÐ Ð 3ÅEÏW ÅŠ 5ô>.W f43ãÕ=gOõ¬kû40ĭѪ®C×äšÕ±Å¾ôóáÞõ­¤ ‚„_®M¨·^l¾¾ê8®lÑ€™?¼3]®§X1/2ã3Ç•gƧg“÷æ^ïhîÚ·uS( áãw»D- H©ÂUÇó’/<ûƒ”ê€AÛ2ó¶e^ùãÛ^,ìÝ}ìî?,az¦ © ,¯ªé©Hc$ðUgûÊnSuiëº&vn{'év>E¢q4A¾Ökwñ_?ß¼€'ã´'Õk‡'«Wí©%ß¼ãªö[¨0j®›ßìà>AX·-óž/à?ú¾˜íÔ©óå¤T=¶eëY‡³c«J奎ßGÆoˆé@îþW†!'ÿ$_Ô“S™l˜ˆîön\{&?3— ¨ D‰V·„ñåþ·©­%rì•=?ßJe²éšÆö†®çò³ò…âëšF®m™®Xv@x\qqahŠ=Ѿ2ŠÃ;Þ}З|¹µ9r-½kÀ5tñT2>÷hMAÒ„ÿ‘¨ÿÇ¡¥‰ÜÜä¥áÉÎÌ–MáD,ˆîµ z®=*–]ü;[‚ãx 8wy´âIu–I1MäæNß<¹-ù °ðIÿ÷7æÜ, ßÎ#?[FÕ•D(Ì—ä¹Ë£‹R©Œm™cà·ð€í¶er-0À{ †¶W1oRÅ ]›!ÂPÕ‘‡lËüÛ÷.UvjeÌÆIEND®B`‚mathgl-2.1.3.1/udav/xpm/edit-select-all.png0000664000175000017500000000067112142400472020137 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<KIDAT8•“=NÃ@…ßX¶”Ž  …Å.‰ ÷ Á ¢@ I.A  „Ú‰ä)±w÷Q„5þ‰2ͬ½3ß¼7Ò I<> FZ«Kl®ëŽo®ïº ‰þàÞh­iŒ¡1†Zkj­©”¢RŠY–1Ë2¦iÊ4M¹X,ø0ì’p/ï Ddù£’‹qv¸“÷XD"‚$IJžïc:–¾KVìäÊi"‚ šwÑxSØ8Ùß*Ý9ÿQÇ1â8Îm6*ø¾ŸÚâN§ó7ÑqšRl®æFIÀd2©Ù°EÇÉkWZh·Û%Ç{xýøÂùÑ.Þ>¿×+¨mól6[¹äµÂ0°ô."µAµ%AP[dQQU­¤œl×$¶Z-Ìçó<@!‰áó`¤ÔfÏÙó¼qïê¶ûF2—®ót ªIEND®B`‚mathgl-2.1.3.1/udav/xpm/document-print.png0000664000175000017500000000104012142400472020126 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  d_‘tIMEÕ  /Ÿí…Š­IDAT8Ë¥“ÍŠA…¿{3‹¼@v Y©«Ðã&DŸwÁÐg@tD}†IòÉFFÂl²LVw*:$éN§ª\hÛDG´ ÷R÷Ôá|UðŸK~.Íú!üÅÜÑÝ;÷¶ºfÝÅqœÙÏ_<ËÔQ¹F³î63{»ä»Ý.³S^¿¤VÝ R©dÎê.R©”oVçìß÷qÎeú[¬µôz=jÕ}T•ܪÝFDè÷û”Ëå? xž‡ª"ò=ãb±ˆˆ "—;pÎQ(ÒúáƒG),‘ß`|<>‚|>ÏÕ+×°Ö¢ºµaðéœ(ŠŽ6‚ƒà)Æ’$¹ôÌç5T•wïßé5"Â`0 ŽcÚí6Î9Â0d:2™L&ŒF#†Ã!­V‹¯_>g3X,DÌf3|ß' C’$I­cB¢x•PUæ‹ív‹år Àz½FE°Ö°6Õ{¹ÕÚÍÝŒ1\¯ÜHiüà‚µc ªšâÝ„œ ¬V+<ÏK­þÊ{CAUqÎa­Íœ¿y}ÿ~óÉ7Á#Ùgý ÃÃIEND®B`‚mathgl-2.1.3.1/udav/xpm/document-properties.png0000664000175000017500000000072012142400472021172 0ustar balakinbalakin‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ  ÆÒ+T]IDAT8Ë­“½jÂP†Ÿ¯º ‘l‚"Þ‚fuèØ¡×à-8(qÈ%ˆ.]tiéÚÁQpõNDè¢dМÕ)vƒ1¢}§ÃûqžïïÇßA¼ñœÞûýþ®ëŸ•ëºG€ì%r¿ßE"û糈Éd0M3Ž%Qáû~âÂ¥D„z½žð²×Õj5z½^ìu:J¥R ðrÁ÷}V«ív­5Zk<ÏC)…Rê>`:bÍf“n·‹eYXVjµWwpθX,ð<A$Ëvû{s—©N-f³Åb1ŽFAð¸‚ËÞÃ0$ C´Ö†Ã!»ÝîþZ­ŽãÄm6&“ …B\.Ç|>§R©ÜˆJ©Ô;p‡õzaäóùÇïà4¸$¤Ñh°\.ï.‡v-Ó4)—Ë)? `ÛöÏ`0x}æ+Ú¶ýÉèàŽ£æm1›$IEND®B`‚mathgl-2.1.3.1/udav/xpm/folder.png0000664000175000017500000000110512142400472016433 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<ÂIDAT8¥1k“Q†ŸsïW,)âຜ2vë.™‚ÐÕ_ »Ð?àâVWÿ‡(Ĺ`ÄY)Š$’Pi¿&%ß½çžã&6XZÁw9Ü{Ïyîy_év»üªÝÝÝ7îþøš· w2 Žn˜Y¯×ëÝ33Ì wàôôô~¿ß?ìt:Ï—Í9gBe8~¬ëºT9gWU&“ ¥”$„Àöövx»„L§Óª”òª®ëƒ+€Œªbfkv»ÝÚÜܤÕjc$„Àh4b<?\YPUS-~HÌš??àÌùêÖ={ûììíǾU9gO)1mœ—Ï!rÙx5)_;Ô9xý~§J)™ªN ðéøìê˲ž|´·@Ü+U%猈ƒãu#ëÊj¸9‚x•s¶œ3¸Dظ Åi²QÌ AÕÅóT€ù¢¹¸cæ˜;Yui¡I¶¸jA¤bR7 ÍiÔn´PEar6_TÕRJà‘/£sN¦ g¾®„Ÿg—DÄÌ ¡ÉFëNukˆ"ÂER€R¹;Ç'†|þ:ºux©ÙlŽÀQe[ýwÇwŸ‚óãûøŸ"ŒE‹ßG!žc§1IEND®B`‚mathgl-2.1.3.1/udav/xpm/document-open.png0000664000175000017500000000124012142400472017735 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<IDAT8“¿K—QÆ?ç}¯oI káÒRШK?¤% rjÐ¥ÅÁ æ†þ‚†7‡Šû#…M+hhŠ!µEB-Íï÷ÞsÏiøê›–`Ïpî¹—{Ÿç9çÞ+CCCDÊ͆ˆ”î."@Q""´µµ}þµÝ¸\UÕúþþÐÕÕõÔÝoî/,-9ñìÉsŠ¢@DØ'&_LžŸžžú€søÌlppp°ÓÌÈ936þ˜••šÍ&îNÎ3cxh˜­Íͳ ïæãnºTUÕnH)¹ª²¾¾Žªî[fñÝâ¡Òzº»½+åD¸07ÿf cd ¡ª˜"BUUô]ëÃÝkeYÖ"½=½òvaî¶#AUM5“s®„˜™}EιvpõÊ5bŒ­‰€™PRJc¬ öºMÿZýï±ýd;8bŒ¦ªLÌ; Ðy‹‡/qk‰ùØ"ØKÚû;Ê¢X ªJJ‰î_ç(Hþ ªñ`|æLH)YJ pJË[G’DY çNŸq)%SMPˆP…âX‚lŽb{ט Äd”r°âÃÐì4“¡f4Sð ªcD$ðm£Áφ¢ÙIÙ1sÌlNÒVJaõû.ˆX33ØØŽl7”¤ÿz¥Ô, ØÜ‰ˆ»wgm£õ`^Z­?ÏqØÙÙ‘¯!í³SKwÀY^Zû¯Ã´¼ldäÞoøKu2ÙÃIEND®B`‚mathgl-2.1.3.1/udav/xpm/edit-cut.png0000664000175000017500000000144712142400472016707 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ 1hAd^´IDAT8Ë…“]H“QÇŸsÞw¯¯ÛÔ}¥ÛløhxÑUta”IWEÞd"hi–X¨i•¥}ˆ”èôJ$º µ0m36òcï6u›îu_ïvÎÛMÎaZçîüÿ?þÏóœƒ å<ë}rÞó<ïmºy»t×ϲì¥;Í­ºT§^†»ÕجF£Ë}ý¯;S=«¸pæt¹æÅ«žO!üO‡×ÕÖWBŽíèO{—™sͦíˆ(¥'`ŒCKK¿€OKC±X¬t'˲S………àq{(¥Ôñ¯6› V]+¨®¶¾8‘HœêyÞ=PRR¢@€ÁátXÜm½÷c¼¼¸h>G’$×ëô×d °¾±F`¢­¥ãáJiåÂymÍ7šTñD‰bæææ$èÚ[ÿ ­¥ccp-fÐ)¤7Ñ",3±ãxïÜûµ_3Ô³ùþ‡ÃùŸÿ‡1†|†»t¬±S·›åSRÆ£qwõ¾p—5ŽX¡bš55¸ÒÒ~Ô‹+û²® Uë?c¶júJ¢ZÛ†25 |Ið½=¤/¼b1ö lܺ?n%&ÂFsï'0÷Å۶К"IEND®B`‚mathgl-2.1.3.1/udav/xpm/window.xpm0000664000175000017500000000105612142400472016514 0ustar balakinbalakin/* XPM */ static const char * window_xpm[] = { "16 16 10 1", " c None", ". c #000000", "+ c #333377", "@ c #FFFFFF", "# c #777777", "$ c #00007F", "% c #4444FF", "& c #FF0000", "* c #007F00", "= c #7F0000", " ", " ", ".............. ", ".++++++++++++. ", ".@@@@@#@@@@@@. ", ".@$.............", ".@@.%%%%%%%%%%%.", ".@$.@@@@@#@@@@@.", ".@@.@$$@@#@@@@@.", ".@$.@@@@@#@@@@@.", ".@@.@$&*@#@@@@@.", "....@@@@@#@@@@@.", " .@$&=@#@@@@@.", " .@@@@@#@@@@@.", " .............", " "}; mathgl-2.1.3.1/udav/xpm/diff.xpm0000664000175000017500000000062612142400472016117 0ustar balakinbalakin/* XPM */ static const char * diff_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .. ", " . . . ", " . . ", " .... . ", " . . . .. ", " . . . . . ", " .. . . ", " . .... ", " . . . ", " . . . . .", " . .. . ", " . .", " ", " "}; mathgl-2.1.3.1/udav/xpm/oper_d.xpm0000664000175000017500000000063012142400472016452 0ustar balakinbalakin/* XPM */ static const char * oper_d_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " . ", " . ", " . ", " . ...... ", " . ", " . ...... ", " . ", " . ", " . ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/option.xpm0000664000175000017500000000064712142400472016522 0ustar balakinbalakin/* XPM */ static const char * option_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #7F0000", " ", " ", " ", " .. ", " .++. ", " .++. ", " .. ", " ", " ", " .. ", " .++. ", " .++. ", " .+. ++ ++ ++ ", " . ++ ++ ++ ", " . ", " "}; mathgl-2.1.3.1/udav/xpm/zoom-in.png0000664000175000017500000000151112142400472016551 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<ÆIDAT8•“ßK”YÇ?ç}Ï;:?œi(“6grh³±¬ah× ÔÒ"ú±+ÑÅþ]D ýºXA º-ºˆR"¤›-+3½(+(¢4‹ÒŠÍqwt­°©yýõ¾óž.¶)Ó‹è{uÎóÀç|yžïJ)rjjn (¡Õ+¡W •] „Þ/T¶[(çØ†ƒiæHäM͵Ù%‘pH}ü7žáïWIûÅ“{i”ýû†ƒóMÍ•oàÒúªmiô%'1gàqéÄ–æƒcÑÓÝ>1a¦› ÑÝ^—!oVÖþºàß´bpÌ¢0àáòg¼J³¶ôžN‚²Ò—ƒO·Ü¾}ãdÅ/ë§4%´ýÑX"ˆfðÏ»,Å‹¼´uöÓr¨†ÖC5´uöô¼|mf%Jhõ9š²:ÉC&¡Eδ÷2{°Ê ×ãwK™DÂ!©„^•ëK¡²åEAéoéºÒǹõ_MùÜ‘ÿﻎ^&QfsY!¹ h¹ƒe;˜SöÜ-}ÖŒå kóë¡÷½N›¡…n²ñvnà¯?·°óH;JÁÆD”pa>oÒ&ÙÿÙPvW29lÇÃ^ünImŠ䬧¤¦±uC)~ÁÚbÉáa[(»û‹åxtwïò’Hab™ÁÑiêªcìùã*u›ÊPJ]ì±-žôÞ™=1/H>ÿ‚K›k¶{òòòH¥&¬\4Š 4lk†ÎŽ‹äçvÏÍ[S¦™ÙÒvþ­ÙQ®Ôtã|ü§Ÿƒáâ,ðºø`N2”¶ïßë™tÛÇó¤î¢µµÅÌd2›ÄœÏä×4}¿nÕŽm—èRöÙ–Õ•J¥NŒŒ ”,+ñ|¬YçlË™¯ßÒî=uÀÕH$ì[¹²Œk×:ÞàdpZ±Ø÷%£'?>~IEND®B`‚mathgl-2.1.3.1/udav/xpm/zoom-out.png0000664000175000017500000000146712142400472016764 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<´IDAT8•“ßkSIÇ?3wnÒÜÜ$ ZŠij U[­f%¸ZW#ˆâÄÿAt ¥‚¯.û°¨EDöI«Vi´*èŠZÅ]S•ÝFí«h4·­½7wö¡Fk»°ø}9‡a·™s¾Gh­)«½£-¦…< …Ñ*ti€Æ#¡K½BûÇ<\`–DÐÞÑ–E¨ÎúÆt¬6™PÕq€ÑwEþþ'ï={|§€öö:x¸{ ½£­Å Ç.¬kÝb)Ó¤??3å#+`и°|—¾Þ®ñq§°s&Ä…Q„ºÞ’ÝQùª xíR³¨ ‰X”2x:ò 4-i0ŸüµùæÍk¿dÖ®û µûëÓq¤ÉË÷%j應„VÀÀ4Râ¶Éó1¤I}c:¦… Âü¹}cý·|Éü8I{´5Ô–î…Û#Äoè²N`ÝrGäXÏ`×X¨,‹˜[x…ã{΃8\'i›:6a‰â kýñ1–í=5¸+=k[þ€be†4b{û ¡ µ‚ÒJKH%qûþõÿÚZÛ§.w] nß¶ƒf Ï!´ â \á4¤ö d žðpzßP}„«—n„–Ýï˜Î¿ˆÀg€†€+Wáê5¸¢© $¼zµZ+ÕøY.À“.¯Bó*Œ-`ÙÆ †J¸ê€ kÌL¦«µ²2‡vÆPU+¨¨"óÀm‚`°Zì+ÀÀm±M[¨y•س׳G;bá3Ñ+¿_à—ü n.H‚qhõÏ’¦^ —sNÒŽÎ~šÊ,,å»»;û·¬Ò~|.½1»7]ášàæ5Öõ —%NÒ}8y/}¡³7äì"® æR‚6ɷʹ”˜Â;™}ù´ð~ú]MÏÖX`=’шÎÎÏd<™¨4Â5ý"0Ža?Ì_ZÌûÌp£4IEND®B`‚mathgl-2.1.3.1/udav/xpm/accessories-calculator.png0000664000175000017500000000125612142400472021621 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÕ /]ÎJ§5tEXtComment(c) 2004 Jakub Steiner Created with The GIMPÙ‹oúIDAT8Ë“ÁjSA†¿93Á^ÒÖ’6Zm uaRHÚnÄ¥¯JEtãVÜ îÄ'Pð=¤º,ZÛ$ÍmÀ‚ŠJ‹¨íÅ„crç¸H¼¥‹"v6ÃðÏ|sþÿ̘¥åÒC ÌÙFÙ,-—ôÎÝÛg:ýìésÜßÅæÖËS7¶ZG¤Óívk…¡¡s,.Ü84›§>¼ßÃZ!:lÑlqýÆ\¢%€™™¹SSS9Œ1¨*ÆŒ1‰f––K5Û<¸ï¿ü¯>zÂ¥ ™~Ýnòêc~u:}Uý@DŽ-ÜZYáÕÚ ¼‡‹““|ÝßÇû˜‘óc´~F¨÷éŒÑá"†þ •­7\EU Ã|>µ–0 ÉårˆFŰ8_$•JÑív©Õ+H»ÝÆÇUMBˆã0t:¼÷xU¬µè`N,\™šáõú:ÃD6ËÎNïcÆ2ã¼ÛÝUÆ2(P«ÕHøüé#Åb¡o¡Ñ —»†sŽz½Î|±ˆˆP­ÖpÎQ(’*7+È vœsxïñ½ÖZœsˆHÒwôKO¥R'»0yyšÊæ[À0žÍ²]¯ã¬%=<ÌvbT ~Ú<::JE'_âüÂÖZâéi `DÐA€F„½½/|ÿñÃè`rP®V7Îüÿ„\ËYÌÒIEND®B`‚mathgl-2.1.3.1/udav/xpm/mark_lf.xpm0000664000175000017500000000063112142400472016616 0ustar balakinbalakin/* XPM */ static const char * mark_lf_xpm[] = { "16 16 2 1", " c None", ". c #000000", " .. ", " .... ", " ..... ", " ....... ", " ........ ", " .......... ", " ........... ", "............ ", "............ ", " ........... ", " .......... ", " ........ ", " ....... ", " ..... ", " .... ", " .. "}; mathgl-2.1.3.1/udav/xpm/smth.xpm0000664000175000017500000000064512142400473016164 0ustar balakinbalakin/* XPM */ static const char * smth_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #FF0000", " ", " ", " ", " ", " . ", " . ", " . . . ", " . . .. ", " +++. . . ", " +. ++ +++. ", " . .++ ++ ", " . . . .+ ", " . . . . ", " . ", " . ", " "}; mathgl-2.1.3.1/udav/xpm/plot.xpm0000664000175000017500000000066412142400473016170 0ustar balakinbalakin/* XPM */ static const char * plot_xpm[] = { "16 16 4 1", " c None", ". c #000000", "+ c #0000FF", "@ c #FF0000", " ", " . ", " .. + ", " . ++ ", " . + ", " .. + ", " . + ", " . + ", " .. @@@+ ", " . @ +@ @ ", " .@@ + @ @ ", " .. + @@@ ", " . ++ ", " .++ . . . ", " .............. ", " "}; mathgl-2.1.3.1/udav/xpm/mark_pf.xpm0000664000175000017500000000063112142400473016623 0ustar balakinbalakin/* XPM */ static const char * mark_pf_xpm[] = { "16 16 2 1", " c None", ". c #000000", "................", ". . .", ". . .", ". . .", ". . .", ". . .", ". . .", ". . .", "................", ". . .", ". . .", ". . .", ". . .", ". . .", ". . .", "................"}; mathgl-2.1.3.1/udav/xpm/zoom-fit-best.png0000664000175000017500000000156312142400473017670 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<ðIDAT8•“Ol“uÇ?¿÷O»vݺf .”Ö.Ö)RɈ—mÀ “ƒ%HâÉB!™Ddd Wÿ°(Q F:Ã420Ì`°‡cØÎ­ûGÆ }ÛÑ÷×÷Ç:Æïé9<ùäû<Ï÷J)Êêîé *¡íUBoªô<€ú5¡JýB¹Göïë´xB¢ èîéjG½ ‰æ`,1¡3 9ný•‘c#-”ܹ_gê)@wOW‹¿2xjCk‡ß0M†2좋üD}¸ý?äó¶õúãÝWé©Fg[Ú_«I ÎòõÏãÜš¼CMÀK~±ÈÀå4¿\É’w uÝjóæë[Οÿõ“õë6ÜДÐö4$šCh&—þ˜ãÛ¶ÒûÞf<†ÆðØ _½ßΉ[¹p}4“†DsP moÙ¦„Ñ‹FŒÁ´Ï£ðÎá>dI‘ˆ‡Ùqð¡[C\NÛÄ¢C ½µ 0„*­ ‡Xc·iŒ/ãíC)šâaâ+jqJ.ùû%:?¿ÄŠgj™¶Šljª£|!­\8Ò%»°Èòe!î$VÞáN®H®à0üç4wóEô¥î¤!ô¡9Ë&Rë#=y›#ï®eäæ ƒ£Y†Çgÿ{ž“‡^enÞ"ZçgÞ²A×–BÉ3™Ì„LF+14À÷u0™]ÀçÑùî`ÇÃYuÁê•~2R(Ù¿´”{tôê…]ÏÅcu_ªç­?‚45„¶x´%ëq¥ÃÈ•ßg§§?~*HêšS›6oó{½^¦,—¼S’F¸JC:E~J¤¢Â”gÏ-ÚvnË7ÇOœ{<Ê-šnO®y%]1ª*}ܳ ¤3ò÷‹וžd2é5t½½Çì\.·Q<ñLÕš¦ïÑM³Í•r€nCÒqÎLMM}šÍfGãÏÆUÁ/¾äËc_Œþ ð_zsûëÓ±X4ÐØØD__êîÿ<‚¼ |&„Xì~ÁG Ï=÷IEND®B`‚mathgl-2.1.3.1/udav/xpm/oper_m.xpm0000664000175000017500000000064712142400473016474 0ustar balakinbalakin/* XPM */ static const char * oper_m_xpm[] = { "16 16 3 1", " c None", ". c #000000", "+ c #7F7F7F", " ", " ", " ", " ", " . . ", " +. .+ ", " +.+ ...... ", " ...... ", " +.+ ...... ", " +. .+ ", " . . ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/edit-find.png0000664000175000017500000000115112142400473017025 0ustar balakinbalakin‰PNG  IHDRóÿabKGDððï4g pHYs  šœtIMEÕ %ý­/öIDAT8Ë’MkQ…Ÿ;É$Mšf†JR µ]hEÁ…¸ Uwâ&¿Ào©ôˆ¶$ADtYwUÅM¨;Aì¢T(¤‰V«–P5ÍG'M23×EHIBRªgwï=ïá¼G¿¹ëvMÓ;òN!ÄÎ#™Lv …B]…w´f2f_̘Kдkwß¾¯’J§9zjŒmÅ‹i+¸d…Ôük&nߌĢ÷Ÿ5þ(í4]#•NsèäŸ ^ŒR>´Ñqüš>síÆ•ã]$æ ‡O³Rpsé̾ӶQ ï–%Á#ã6Ko t Kz èX¶dÛ4©Ô,ÊU‹~Ÿ›_eµ% EJ‰”vK0n· „ \µ¨Ö$›[5ܪƒýý¤-]p¶iš-Nlcƒ5£Šß£¢÷¹°-‰ßãäÓF}=–kr®Ô+êBÓt4Mç¹ó¤Þì|ù™'›+‘7*|\Y§T®[zå,‹?"Ÿš±,+Ò| Ã0p8TNœ°¼VdËT앬/¾døàæß§>xtXtkØÕë—§àd3çëõ ó;›­÷eõ+‚D,• ‘ÿ”XÍÍÑtå"e*Â!‘ÃHMϦxt¼ãeÿìÛþ"@×u6ŒQ³²LÃ>²é$Éø*¦–³ªS¬NçÒê™õðí"Àív#Ë2‰È4û¯žçG]‡¨pìxü9Mc|‘öÉ *Uu\ ‡ÃS‰DâÂï³­™A~óóÜ ÊªñœµÑ AfÃdzJÐ3ûŠ U}qma!Pê0ÒÝ}I_ZºéN&UçÏL¹mƒeÃ¥(Ë»ºnšøôõ#é0ë-ùIEND®B`‚mathgl-2.1.3.1/udav/xpm/go-last.png0000664000175000017500000000125512142400473016535 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<?IDAT8•“MH”Q†ŸûÝ{?ÇÑ¢`²,(ÒáHD-´EB‹hcP­¢FZäªMÂà¢\Tiä""û3ˆ£Òbµ)‚‚ÐùaJÓÑéûæ»·…ijcÔ wsÎáû¾çk-KUߪÖp=Ñá_ù£ùKј¶N±¦5ÔUVlèÛј._²,àTS{éþ]‡"xéíÿ B±§¶¡äTS{U8´b(Ó'ŠÍ©h‹NbY»°($ycMhdô)Õ‘Ñz4îé¿ÔYߢXKs¢ÃŸšŸ­;«l[sGH¤£B!‰”’ç_î¡ÅêÒõl\UÃàÛ'~ßÀÍ1kL#0 Œ xüþZ– •K‰Âu]”Ô!Éæ?ñ=¦fëN]YQ]ÕýèòÐD.ûÛƒ‚ñÈæF›øH2÷¬÷™É MAädž‚3ôÉ2œzHàæÄɦsáyfü)rÞ8ŽëPð'™cd ­B¸¢MNà²Ò‹ L)‹ó‘H#R ”(×A8>žñ0AÚ5 Œ§söγø ^8¼£ ©ÅìS©ú“q%ˆ¨Ml)ÛÇÐËïÕÈ`Ò˜(Huݺ°(Fé’?sü|H*ɶÈ^ʽ ôÞížNeGX3c4¦g¿¸è¯[ºs{¾;r„d2c{úºf|Ï;]ì6ÔÒœü‚Çà‹¡Ã#¯S& 1Ñá¿)6·,àFïÕéo™û&àØÂÍû'€ d¿fþzÎsú ÇõäAÖâsIEND®B`‚mathgl-2.1.3.1/udav/xpm/oper_s.xpm0000664000175000017500000000063012142400473016472 0ustar balakinbalakin/* XPM */ static const char * oper_s_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ...... ", " ....... ", " ...... ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/go-down.png0000664000175000017500000000125312142400473016537 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<=IDAT8…“MhA†ß™ìækÀ`ÒCüÁªõ"I´àÁ‹ñ"/*âAê¡Uñ*Ò<©P„œ!¢RS[r±ÖUµ-{¨U´TÍš®ý é&³³Ÿ‡Ö›ßã7ß<ó¾óÍ0"BµâÝj„0ê‰ÁÐ{DsuI©i"„o]HÃvlG`É*`É2wݨ×0Æ›y޲]B¡8ƒsch?xµ®)^¯XÊ£øënlˆînP—UÄÖí»`9$½’lH²±\6Q½ïR× 2Ž7 9HEB-Ñ‹'¯û— "Ç+I‚˜¸DQ z9¸ÂpþÔ5/¢‚t6Uš_œK1"B¢[M·E'D“ž÷ùW\@¢Œ{Óó9h-GÛöÓ)ON÷½îí|-rÇ˱ŒñŘ¢Hp/ˆW—BeªÁíãP}.D#Ga.˜4ùaÜ Â™õKÔ5Q!ùpðžååMøƒ(ÑO”]‹p{9Ü>¶mÙƒ¯Ù¡ŒE’º&ŠMA×ÄDE¬t>¼SÚ8›• zVOÞ¼)€ý¡cèË>. QéÔ51QwŒº&zgO/†ÇDk0®0(nŽCáȽ{[ùa~ë×5ÑÛðƒŽ¡‘鈴@»›bØåÁüºL¹Q=ïÈÕÜ º&Š$‘ÌdŸY[±A§OûŸXŽü“»Zlãoü­x—z.Ò¼ó6Ìæ?_Úhý¿8|E½Ã7ÅÙõüsJ*†hËIEND®B`‚mathgl-2.1.3.1/udav/xpm/arrow_a.xpm0000664000175000017500000000063112142400473016636 0ustar balakinbalakin/* XPM */ static const char * arrow_a_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ... ", " .... ", " ..... ", " ...... ", " ...............", " ...... ", " ..... ", " .... ", " ... ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/arrow_d.xpm0000664000175000017500000000063112142400473016641 0ustar balakinbalakin/* XPM */ static const char * arrow_d_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " . ", " ... ", " ..... ", " ....... ", " ...............", " ....... ", " ..... ", " ... ", " . ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/go-previous.png0000664000175000017500000000121712142400473017444 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆtEXtSoftwarewww.inkscape.org›î<!IDAT8…“OHqÇ¿of~³;»Rbl­µB ‚•n[‡Ü"VÓLD"ˆ%t²¢-ºz‰;Ä$ðÐ% ‚°n$WŠŽ"K÷P¹l’»íÌîÌï÷ë0™®Œîƒwzø¼ï{RJÔò£7µ+ñ[ZÆ+¦a ‹§X&£áæ®…Ÿ ¯e‹â><Üßsmàžg1o‚xŠ ¾ºñ‹ÉacÏÎfRhsЪÈ*ò¾È®ÁSW “¯àã÷i‰ö€TXñ“UÕ„Ÿ$¥\‡LS‰C};Ù×_P°òÐT†XSˆ @J!î¤/¸ñ ÛôŸ¸ä¯¯o ÷‹¯À¥¦è’cfþˆ‚„«~{´×áØmö¨©qÿùîãƒF®´€wßÞ€1tMW,Q€iP´VP¶KPH…ŸѺ;±¦ç6,ûLç7J2p‡›¨\rH.Á ÇàŽ;r®˜u×83j_Î.}¹þøeÚ„í“­{zB/@…PÁ ̯@Õ¨ZÇõ"’‚©¶–X¸½-¦Ï^#_™‡ÀéÈ ˆÜvÒOî®5ø¿F“»vD’çÎ ŠlsËÓè ãþĈÅ+ðoºÆ‡Ät}¼·û¬‡(¨„0úp™1›6æzžrfÌž°+•Žç/žfggß–ËåŠWZµ^¶:RöP2¿œ xÔ|åZïümó4tìÊË IEND®B`‚mathgl-2.1.3.1/udav/xpm/arrow_i.xpm0000664000175000017500000000063112142400473016646 0ustar balakinbalakin/* XPM */ static const char * arrow_i_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .. ", " .. ", " .. ", " .. ", " .. ", " ...............", " .. ", " .. ", " .. ", " .. ", " .. ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/crop.xpm0000664000175000017500000000062612142400473016153 0ustar balakinbalakin/* XPM */ static const char * crop_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " . ", " ", " . ", " ", " . . ...... ", " . . ", " . . ", " . . ", " . . ", " ...... . . ", " ", " . ", " ", " . ", " "}; mathgl-2.1.3.1/udav/xpm/arrow_k.xpm0000664000175000017500000000063112142400473016650 0ustar balakinbalakin/* XPM */ static const char * arrow_k_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .. ", " .. ... ", " .. .... ", " .. ..... ", " ........ ", " ...............", " ........ ", " .. ..... ", " .. .... ", " .. ... ", " .. ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/sum.xpm0000664000175000017500000000062512142400473016013 0ustar balakinbalakin/* XPM */ static const char * sum_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " .......... ", " . . ", " . . ", " . ", " . ", " . ", " .. ", " . ", " . ", " . ", " . . ", " . . ", " .......... ", " "}; mathgl-2.1.3.1/udav/xpm/edit-delete.png0000664000175000017500000000141712142400473017354 0ustar balakinbalakin‰PNG  IHDRóÿabKGDùC» pHYs  šœtIMEÖ6£r8>œIDAT8Ëu“ÝK“qÇ?Û³=sÛã^D§+IÉPç ™[$”fJ’Ð]]t]Eô7DW]t'݈]ÔRJEˆùL×4ó­|™3$]¾´¥{{º(mcu®ÎïËù}8çË9Qßä±ÍÀ þ-@(¨ø!ãs30êq7QÛPÃÕ+]ˆ¢AÈ#³¹afvŽž‡½AÅ÷òPßä9Wh·õt? ò=Bß³çL}˜dei³ÙÈ¥®NθÝ8Š À›·*‚ŠoQP\ê\zü¨›DbÙ,“Ÿo`umè(Z­É ‘NÇq—àvŸdppèÎúZø®ö`„“ŒÑh"™Jânyšë@{{xíõRßPÇd0È„œÕÕLT¹jubÖfåe>$DeEŽÒRšÝ§),rà(qRãªÅbµ`.‘$éÿAÐjòÐëu//C«Õ ›Läi4‚³Û9€t:MZU5§XUUñx––åÁ^,ÊÞ^OC#¢öffiD[ëyŒùf>MÏd4Iq©Sy7÷ƒŠo ³þyýìVYJçIEND®B`‚mathgl-2.1.3.1/udav/xpm/alpha.png0000664000175000017500000000137212142400473016254 0ustar balakinbalakin‰PNG  IHDRóÿasRGB®ÎébKGDÿÿÿ ½§“ pHYsvvÚ`ãOtIMEÙ$­`fzIDAT8Ë’kH“qÆŸÿ®æ–K¦„–Vd¶²rB—¦QÂðƒØ Jļ%Ô·f’… šv IÈB¬¼L045›^XÎfaJ”— ·õÚnùž>ؤYþàÃ9<ç‡á$f䪖És pÏ“4dõšÂº²â·XERÎéá¬k•|3Õ»çÔDD¹å•|`ìþZÊ ÌlOJ>–õT£M ¾göên9Ö«cÀƒ±³ =éW(X½Ùõz¯å¦.ÞÙ×ýÀWð[¥Š*©û<[k#zè ÊÐÑ(™\D&7‘ÉI´§°‚TƒD‰";&=¡—ïµ HÖ¥»¨T*äþræ°X¯Ù ±Ÿl~=bÀNUšÞ|ÉðÎpkwk˜×鬸2P[x°a`ÀLÖš §ÞPôËymíèÙ• ¯fƒmú‰Äh0‹Àcoœîí.:~2)O èhˆK~² EÇ áM9 è[€û¥™ˆL?ƒ^Ý©K]­âåaäâìà]rc^ÜèF6Çï§€çSXák`¾S¶Þ‚¼"±b{YSE"šß`|Ú‡<îƒëz_^à ’_ÏÀa6–õ]ÌëGkØÔÐ;06wF¡0uµ<. gï ößÔEÉæ&µ5¥ÈÂ#8cÃ#¿?‹‹‡Á>ËP}µ@ÇBßÿÐðm×å÷“îÑ¡â[<êG8+ IÄ?±öh¶=·ÓL‰ºp› RŸÇÿ Ü±;fÓ‘ ïÙAIµi6,‘r[lcf³Á+B«Å¢YYú·ú7¿)•àØ’IEND®B`‚mathgl-2.1.3.1/udav/xpm/zoom-original.png0000664000175000017500000000151212142400473017751 0ustar balakinbalakin‰PNG  IHDRóÿasBIT|dˆ pHYs × ×B(›xtEXtSoftwarewww.inkscape.org›î<ÇIDAT8•“ÏoTU†Ÿsî¹ÓÎ;3L¤6j2¡ L™˜&"lÚB!1.´1$ø°0$ìˆiÒÔÄ­Æ…b» +ÁPº€‚‰Ä(µ!Ú"‘Na:“zan§{î=nœ¡ÀÂø®¾ä|y¾_ïÆšN!aõ ¾`„5'L8-Lôé‰ã§<ž‘hFF‡ Ôx¡Ø›Î粪3ãð`µÆŸwËú[7<ŒþèÄñS“ÏFF‡ûœDúüÞþweÛÌ–ëø81‹â+íÌL_X[ó½6C¬x"–B¨«}Þßrß3,¬t¤¾¿ò;w+«ìÚþ2·«€ gûkö…ß^¿~å‹=ïìÝFÈ£…boisïï®­ &¦æ;=ÈøéA&¦æÈ¸6w m ÅÞ´òX³i„Èç²êçEŸìV‡³nòõÉý­M:4¤âŠ_}ò¹¬2Âêo„ wvf\¼º¦F„Æpø“'{ ¡ÞyT×T½—æ…d3tÄÂýÇì.hè¨hèˆåÕ:+Þ:V+û‰$š}èùd_ˆ£#ƒ¿<0ÆS’T\‘ëpøËóA¨¹M#èËåò’.å¤âŠdÜFm*¥¤$·I96»ºÊKKZ=ÝzÇDŸÍÿúã‘W»ó½Û\ª 9tæ"Cûz0ÆPx1F¤nÝüa}¥Zýü9#¹©-ç÷¾ç´µµQñ"Ö‚¦‘$I‰LM~G{»­g®^[÷ýÚÁ‰sß^Ûlå>iÙçJoíÎ亲*™ˆðد³X^Ò?ݘ©G‘Ž•J¥6eÅókµÚ>ñÌgJIiµl{ Òz'€¥Ô¬‚Ë•JåËåååùîmÝn2íòæ%¾;;ÿà¿ôá¡¡=ÀÅ|>çîØÑÃ¥K“þà_ÈÛÀWBˆ—€ÿ^’=S.—ê IEND®B`‚mathgl-2.1.3.1/udav/xpm/arrow_n.xpm0000664000175000017500000000063112142400473016653 0ustar balakinbalakin/* XPM */ static const char * arrow_n_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ", " ", " ", " ..............", " ", " ", " ", " ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/arrow_o.xpm0000664000175000017500000000063112142400473016654 0ustar balakinbalakin/* XPM */ static const char * arrow_o_xpm[] = { "16 16 2 1", " c None", ". c #000000", " ", " ", " ", " .... ", " ...... ", " ........ ", " ........ ", " ..............", " ........ ", " ........ ", " ....... ", " .... ", " ", " ", " ", " "}; mathgl-2.1.3.1/udav/xpm/swap.xpm0000664000175000017500000000066412142400473016164 0ustar balakinbalakin/* XPM */ static const char * swap_xpm[] = { "16 16 4 1", " c None", ". c #0000FF", "+ c #000000", "@ c #FF0000", " ", " . .. ", " . . ", " . . ", " . . ", " ...... ", " + + ", " + + ", " + + ", " + + + + ", " ++ @@@ ++ ", " +++ @ @ +++ ", " @ @ ", " @ @ ", " @@@ @@@ ", " "}; mathgl-2.1.3.1/texinfo/udav/udav_sch.png0000664000175000017500000012477012142400477017647 0ustar balakinbalakin‰PNG  IHDRôa8÷Õ°sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝw\gðç.¹„„HÂÙ 2ÔWœuÅ=JÝ£*ZEÔºgÕZkµµµnªµV­X­âÆ:ê¬ÖŠmÝÊäÆóþÀ8 ¿ï‡fÜóÜs—Ë/Ï=ÏsÏ;wîDÌ‹P&“µnÝÚØÅÀ›sçÎ e2I’Æ. ÞÈd2î`n ¸€’ÉdB„w03ÜÀ Ap3ÁÌP­VCps¢V«…jµšã8c—o ¸€‚àfH­V BÜÀÌ@p3ÁÌw0CС æFË€R«Õ¤Z­6v1ð© æŽ0ÔÜÀ|¨Õj˜UÌw0CÜÀ Ap3ÁÌw0CÜÀ Ap3ÁÌw0CBcÀ4ܸÿlïÉžf» &O k[…µó òªcì²`Î ¸¿ÛõûÏ¢^mоµ-Ix®Cð^þs|Ÿ8Ž{öâõ¦ØÄAí½Z5ñ2vq0[ÜßmÏ©” +¹mv>Fˆ5vqLžÌÊ:(°ÑÙÛÿ@p êèÜ_¼xþןffÖ v ’$kÕ²òôñyö:Ó/Pža?¤ˆakâA¥­è«]ÛÁØefH¯àþâÅó;I·š6 ¶³·7¸]Âdq÷êåËkW枥Þ[šð(_ÍäææÖÀƒJÛÛÌ?â;à^ÁýÞÝ”†¾~âì7YU] jÅÂBÜ ¡¯ðrÂâñÝ]³òÏÓ´¨˜Ó }½kàA¥Ms€¥>ü‚;à^Á=';[®P`Œ«º4ÕH,!T37¿Ê`¡{Pi‰Å˜…“BÀ?½‚;ÇqAÔÐï!Æq‡PÜüª1¸æTÚ0fYèÎüÓ·CµÆ~ 1ÆRó ÝU“ìR„àÀU‚û;wÕÔ=PŒªí|³`?þApŒ°€ ÇÕØ=P0Âd >¨´aˆì j@pŒ‘€D\ ÞUA@ÇÂ.ENAUÑw|1®Áä;·ŸÍº³kN¿n¶b 뺞Á}&E'ç–—$÷ÊT7ió¨G4%ÕKÖ‰þÖ’Ö??cß÷еPBÆœ P­Té7ÔXz_<‚±î¿7ŒôöèûÛK®øë9ç"º÷‹}Í•™ð½ýÑèìÝêëäü %'eÏ肳o¬éרéˆ7ì»OY±eO쾟VÍùÐG!·„¹ÊB DeT¿95ÂÓÍ£~±¿Îë¨8ñ}Œ‘q0ZTJ7Ëh^/U{ün•:À²ì„•–}ö“¦á¹k·wªUîr£¢2¾‚$$B‡±ÎÁÈ8óìì¾3¢“Öð”þôC!Ì•½FaM¡¸*ÛCº~bï{½ÅËÀ ÈòŽ ŒBÞÓ¶-k+/Ü¥¤ÔÑIPÁÉþ{m·®1cOÌh 6$Ý{8Æ’4æ'ÌWå›eÖõ>i×´K·GŠçØ«.·`YP'‰pYµLöÙÁÅ[ŸÚ ß¼r€‡¡kœýçî=þWßÖRbçù¿¾Ÿí âpQ4ÐoIÕÍ9¾Žç~6ðõdRËŸÆç”,Föí3z6ó²—ZÖrôm1$ênžæ-.óÖ¶‰Ê&nö–’Ú [ Yy3Gó›òìÄŠqýjI-íýú|yæ£É‡SÝ™Ö%°^-©UF]§ÇÜÏæƪ«Ó|]zÎü´wƒ¥¥Ô©ÙàUç}34ØÕJjißèÃ¥çÒÊM®ë!’(ÿ#AÉê5ðkäWø×Ð͆ªø§øŽ£¸Ütü.¨;)|ã¡Í]çÛÙç#ý¼ľæ¸×útžµ|Áˆn¡¾žÞîAÊq?ÞÌ*hïeßÜÙ9½_û@/oŸf]ÃWœzœ¯#NõÏñïÆõhÓÔÃÓ' U÷WÞÎÅ9—&7 uZÍ%ŒmìíîéÝtε×7¿ ñé½å¦0ݳA— Ô¥7@¯õì$¬ã/'iÿ5Ö¦ëÐfVº lìÛbä¯Òa›Î$'Ÿø¾O~ô ¡»ÓZ£ßôY#6óÂÁ›ÌÜzìðÎÅ}êQÅ×òæü”Îcb$C׿~3!víÜþ­!¬ºýu§–“.Ôµ:öÒµ¸ s†´­'Ö¬÷õƒ¿OÖì?wjç§Î—|üÅåŒûêðè¶cO{L¹’rmO¤b×È>K®e#„R¿¼ è³âx⥽c-ÏéÒyÅóv‹÷%\Þ?Íéì#–\W•Ÿ¼ä°(oŸcÍï©NÌËøMS?l÷?/φMÚ˜öSb:ƒ1ÆeiÌ¿?ukØå»¿¹ÿ~èÕÐÓÛÝóÃ]ϘY÷ãé» @1ü4Ëh*ž¸äË/âÜÔSw;O›¾f†#ùèÀâÉ˦mjyhŠˆ}üë˜_«‡|µõ›@Ë|>qÂ8ÙÁ=£Ý¨b+ÈOY3bÜÏu'~ý½—LõüῬµ[4^xäX›™Ýgª^ÙZ†R;…D6 ÞއSu§BtêÁ]©žCº¸¹·¿?!„ô[ïÛ .cT—ûêe²vV0Òõ¾êƺåçå#ý8©µ !ä2{ë·ü/ûùÁ‡³\ w‘&çr–ôa„rí3mÂGþÅÒ^V=ù;ÕmÒ*ÄßKF"M59¿¹´|í½f˯¯í*D¡!”"ü>™7áC!ä1ÿHTçK—ŸÑ-œSúü|™åÃ-ò_2csÀw?Ýž×4cDÔï=nðžòŸ4»ÃʰW#¦èX‡Dhü¬n+z\J|É6uø»ŒäÁR{• QyãÜq‰ÏìíYñ‹Â†î±±lÓwM­^\øqÞgÞí>8#À—q¤y†m=éµéã‡ÚlÚ9ÖSDˆ¶dñ|yŒA|U„§š»®÷‹^F„EÓ?é×6¨W€rÌøá?ñ÷ßpXu{óºkõ§|?µK€K]VÏêo—¼ûhªºD6ô«‡¯uÃfÿóuwuókÞ¾KHF”•½ƒ…€[;Ô©S§Ž½•Qn}†xÿûëÁùcœwÿž§¾C:Ö% ~~Šè¹Þ­ÀX@"몶#LZX[‹ÐË¿^Ð:ëõ\Úí+O-šö’.oÓ¼—zxáA^a«Œ~K_¸ä²íôÙÔµ®ßäÃiëŽ&g0!ŒÔ¯Ü̮ߵ£°¬„!,°´“‘ŒšåPnòï2©+ÚÔ±¶VX[+ìƒfßÁ™ÿ¥³%N22 Açњʵ@fgI¨si¶Üä:jî¤àÍ2]ŸÚ¢¡§wÍŸ÷ǧ²0f_œ\¹ûeмճ{¸Ô­ÿ¿¬™P?uû—2Ë>ÒH‰­ƒ½E evuêÔq°± «Ñ1†0&Lü, zÒ·æNÓto°B˜¥iš&‹½Œ1 CÓˆÅq,]Ë-Ȭ|µ:ïMâ•çìݯ:|£™˜‹cXló8-¯Äš(ÿ1­Æ?<ä÷æ}û ða{_Mõ‡f0B˜eÞ;ÃÀëö$šé‡ïüzðuÐäÖ6M3,ƈc JÈ>×o½…Â0²ìÛYúö@qÇ·\Ho£´.µ&F•NKVbI]H›¶_ÿkÄù}¿îÚúM¿æ šÏ;qpvc!›Ï°ùoòÞ1+Uá0Ç0jôåÉÝ9 ßXÚË^ÓZ•\÷JY–-ó *8¬<'mZܺ C•Öª'¢éœÔ+ØzÛZs4Í!„Q7$ØnÍÅëÿå´´+ãH£i’f8ŒÞ%󣦌¾z*ň£õXšEÂæ_ì]Ò¢VQÈìJŽf ¤¾#7Äu»yú衽¿Lí¿ÆmÈÆ³‚庾£û6Ã[|½xoÊD7î׸ìæóCmIT*4é¹^­lÉ‚v'ï‘N}æô_¶{tdÇÓ?öŤuÃÆµó¾õ¦S¨ !„¸´+“‘çLw‹ÂSNSK-É2†$ßO·Öƒg¶4þã9Í:¬Y}mÂæVµýÝ©eq'ÿ™ÓÈSôvÁ™=E®AŽèÇãwÈÈ&NÚÇVi)lzÓ:W+l*7¹®2c,x÷ϖ̹¯_ñŸÌ2v@9#Uõaäc nªBUu¨–ŒGÚ§¡š§¤µ—›”¹{ñ±ØÞ¡ˆ¥Î“u$ª¨üxÞÆ§¸ÿýËÆøLcŒH‰XµöE@HÞ|H[öäîóvŸdB5³z[€¢+f Y¯FaÒÝ$bÝqù®é³D4n6mÕŽ¿Ÿùãø«çOù6á ¶?¡éëÍ]w*åß’Ž~q@ØkÞ 7 ‘2;Kö¯ƒ»?vîß|TÎ’Åú2týÑO¯]µýØ¥›wï'?| þ9²s· ºݔAu’æ÷ùí¾ø?ÿûçvµUoƒãÛM(x*ñÙ”=;©÷øµ.ܸ“xöÀÏ›~{§«QH;}’ëjÑ*¿CµŒÖ>Ê)È•üçÌå—…}šùÿ^¼üJêX‡*óHÓ+ĪKö£[Ÿ1=¿„‚ŸÕœÿL¾S4 Y`YÏÓ®è‹U˜u <—èïz|ëÔñV3Çu¨#Hxï±4´Oë:ÅÊÄe݈Ù{¿N€¯‹­(ëÁ©„gH`+Bc¡­§=·cß‘DÏ`IžÀ¹«ŒDÈ2``qø¢/8²mT aŒaa-áž^:zò/¬×·Ôk½Z¤¦ÈeÔ ëùq7ÛlýnÍϱK"6¨²PÔóiÑmX5Kȼ&ç¥ùúëE©™jDÙyµŠØ¾uZC Œ‘U›ïþØç<óóèˆN_¨l<›w›òÃÊaµ >B³E…Ÿ±È3òÀy»ÅsW¬ýËÜ\™“o£fýý‡bLhÚŒ hö.(LáçY^òÒ%Q¢òǹkfm¤m»±=VE|=õ»Zs6¶zuiëÂõ©^Ÿ,mj‰q:Bº4ŒI+×:Âg:ßÙ¥­½¼íµNeŒŒAtU€Ø¹s§²s§ò:zè@P“&ºß˾0¾í„³Å›s:J¾¸Ý¸×‹þØÒ Öî ÛN¬ ±D¡Ü«³:ŽýoÎñŸ{Ú’ˆM¿¹gÅŠÜù7±ròòi>`Þü\µ¿wg]]3{ÑÞk©éjLÖrì<ö³©}¼¤Bˆ}uzùäù»îdHCƬZ;ÊSŒBô_QýúDå Ú~p^€fh —~ayø”]÷Èú½–üøeýÖ[ˆeÙãç®O3”¦ÕzìO µšþå·ÃíZ”µ@öÙÈ–r¾:³¥{éž úùù—­Ü{ùî µÂ% ÃˆéÓ?lX‹D8ýhÙGVý¹cæäµ§sÖ^Ý—DÏo£Ð:g5ê1ƲìŸ)w;tVVr— -îøïú÷ÀÆe÷j‡}²{D¯-ÿûyÿ§ º±¬ìXöÔÅãÇÐjî¼QÓt̾í›—Ü«7>1–eïÝ…àxwüw³›Rýpÿö”:½?÷ñSd\ÔæÃÕxD a:U ¼c¦º@µgnÁ]•óë¿îw­'ä©Ä¸ð USÙ¦c¢äuo&ƒßc c î *è?ÒŽ?œuåç£i¾“:9 ø+°æNL€g2Í Æÿ1÷PUBÿš{•ƒ/V­—ŸIDñW`Œ‘€DD%RƒR4W˜ ž1ÓÜ À˜[³ ï4mî5vó«Ü [v¨"æÕ,S%0ÔÜ«‚@5ø Ò;T ¨¹¿›@¿ ^€Ady³B* ‚û;@½*Tƒ*mp€*bfªÀ4$‰à *?r *èÜï&ß©Òr€š†Ãª"G0v@uG’¤•\îÓÀסNr¦Ë.¢opòñ¨ÊÌäåçç»feðð‘Æ.¦$O¥JM}pëÆõ€  [»w.oÀ|îo²2+Q0ŠÃ CÙÚÚ5ôóK}øPŸà®×Å—ÐçF'‰(‘ˆe}Ö+¸ …F¼a€·8N¯x}§M oÀ„ÀœX`† ¸€‚à&DßKÞ ¸€© D² £e430.R Ðs¾ ýƹ“PÁSQÌw0Cz_ĤÇ$dªߣe0Ü ªšÑ«ª­_‡*‚‰ÃÀÈ šÂ‘ï6wœ÷èȲQœ¬Vr…}½-zOXw%“+'Å«_;Ù¸Ž9ŸÃsI —{)²¾¢eÔ#½Æ„BÜ›”Ë•M|œr…½çÿ>øhÖoÿUƒ<úÁÊ`kŸ™‰*ccáuºÇ¼;&}óÐ.tÈØ/[5ñ±#ß¼øëÆ]‰•úmÍ~sei—ÎËø÷‹œ6Ò׆yùðÞ½Žž¶T9i¸ç¿tl0Ûã`ò¦V–<å͉îý²·>:ÔÝ !„Сë—Ñ^µÝD<®“ÂcpÏKZ18"æUÇoÎþ4& VQ8ïËß@µÂ=?¼à»$¯ù ǧ5´0vaJ d>>ô1v)0"þªÔ™ç–¯ûSÒyU”vdׯ¼8¿jtûWk¹krì—ÓØ2²*{ÉŒÝüÇ9©›_]…UÝÛþ+™—ycóÄnMÜí­õüÚÿæô³Â©ŠsÎŽòðüÅ̰¦Îr…m«o’óBlæÍŸ§toâj«P¸užv,M«Û˜}}éûámÖUXÕñi5bõùW BåÝú,ÀµË‚…CCÜ­åŠFSjî‰?§ÎzÃ!uN.££³=ïΚÛ5r²QXÉ •Ÿn¿«Â(ã@7…wÄU.3¦»“•\aÕxYJ~^â̊ШԂÆ0úáÚ¹÷ô«*¤ë#Sÿ½}¢2¨¾­\a%¯íÑfôúk™Ê9;ªžSر|îü z +¹Âmb|n±fœ{oÏì>-¼ê(¬ê4é·ðÀÃ<ŒBy‰3ý=úΛ7Jéïbk%¯íÝiVluhS€¼wÕý¸KÙ¢Ð?¨­3KœyvF»n_Þo6ϵ;—vNñº:»s‡/®å¾¤êŸkõ_þë‘=ë#šÊ‹÷/¨n-U~0å‚ëÄm’÷-jõßò>m&ŸL+lñW??q"¯ãç;Žþ=ãƒÚB”wç»ní&·ßxâʵÃë¦vs{ŸŸòmžßg÷Xwãö‰ïÚþõe¿Oö<Öü”°™þ×xzôáÛõv©¹÷1:õ™7Üõኚõž²úЭWÅfü'¤®­G.Ú|ðô¹ã»—´µ%rÄÚ{j«NÛ’ÿøÒÉzl½œœ|'åX¤§¸üu”øÈQfçFí;uöÔþUýɳ/¾¦’wåòm„èkâï$'ß¹¸¸‰D+ úïÃZÞ+úÃɤ¤ã+zåoÚòãÝO4?&ôËógÓÇ®;pîÜÁ¯Z>ÚðÉ´£¯Êé Àtðš˜ÌÇ™¨–£­Xgw.÷ìÈWÛž7ûæØ’~.B„Ü?þîç§ñ-V~{vÊ/J½—ì¢Ð,9kD7+kɺ°|mŠûÌ‹ßô³@}´è§¬+AS—ž×n˜“fvïa3Æô¬W°ÑoN»&©Þ”sQ‘„WÝ7Þ²oo „™ç¾^ó°õªÓºÚ“ÕŸ½¸ÇÖ7zÞ˜ B¹ôžÖ¨º5E¼w‚Ú]¿¿pI¹9jí †FÏ—xv3çóéa~V$Bb·^£Ý – ôÎÛ·cÄ™{¹3|ìmŤÀÒÞÉÙIÓæþ®ÛŽûÈêXt_퀆“?÷H¸þ’mæRÇÉ^* 9;''gÍñ¶þw+ê» òlœÐJ†ª7kóú¤€¡ßìxÐw†+BˆpÿhÚø=(„ÇŒë÷þ|ñßü^vÚ?˜&ÞjîB™C-”žú\¥s<|þ£‹2î]Z×)ü’ŠÝ:¶sPݽö$¿ÂK–¢~|åNNí¶Ý £®Ð¡uî¯øt&U?¹’ôFÚÉKÇ79ÿѹÄ,ÕéQ líìmíì]ûþö†Ë|œiJXùvŸ¼æhÊÓä“›§øÝ_ª\|å Fq™7~þìã^C‚8{ ?‡9µš­üµ8÷Þo_~Ò·s«Æ ë×ï±' Ñyº…ÞâÒo_yfѤG ¬àÒ¦YO_ôðÂÃR¿*™­”d™² 0-¼w ¯ÎM$\ü¦¸§º¾eLc¦cÔ¦þKV6)æh¡2æWãhY´=þÆÍ›7nÞ¼qëÎä”#=að…n„ıYØÌm§w$Oùa͵Dÿ½á£“OÙûö×SWîß‹é,*ÿÔoš;öÙÞQíGì"z~±ý÷„”¿Ž°ça¡9(J/ã·€¹ãí'lÚÍ w¡ÏO³þfv©oªØµ…ù÷ñóÏ «¾ù©§Î>·lÔܹ Íë½dÙÄŽM|$/ÎxXXQg^\8þ·Ð§U} ("‡@qÆÅßïëèÕ t%Ó/]HW8;9ü9Ö¶¬¹íëzÁË`dU§–€}y6æZ­ß}Ñ/ÈÙ¦–„z\ P€XZ«  ¸œ´\}*ÌÙ7vœTwøúëQ-êÛYIDZ/!’ˆU—>³Xû6®—x$)»à.ýÚáäÙÆš^€yã1\I›Îûå«Û]æ~Ö¶ñ±áctrQÙÏþJ¼ú2dæÜÝf \6{øù·cBÏO­ž¸ì¾ïô[Z!"ËJAe&ìý=¯ŽCÓ¶uÊ\ò­§qï¸lØ4§5Ÿ¶w̾²yæÌKêZGçOaÝfÊP§î+µ]>±“—äõµ}‰éX³(ißyú Úaëû}5¹W`mîIÊN=†Úó·¿Lý0ª{·hqeÛÆÞÎræéõÃÑOÐí¾9Ž.Ò´cQ¿\uî,¾½gù¬ãjÜ!„!­ç¥Èþ}çÁĺA‚´ýÀ™ëÞ|©†ùuбðîÙ­~ú…íËgOûé—Û.³¡³w\øe”…E‡o·Í ¸1·ƒ“°¯núMøÄ­ðìIÚdÆ—­kע˨åg_1„­rù†Ï+ ÃÚ¶í;qÃ-›ömʺ JÒdþŽ/;>[Ñ#(°Ë¬öáSƒ¤Ÿ­ØgÔÒ±^×fuiÖ~èÂCµ'<³¦ËëG¶nä×ij¬ÅØ_/lê[î?̱sçNeçNå/tæÔÉÎݺs,t5€Ñ`̽~ýúúµ«íÚw,ɸã¿C¿˜!î`† ¸€‚àf‚;˜!î`† ¸€‚àf‚;˜!î`†øœçP­V34ƒ1ÜÉÆL$I …BJ¤Ï„Ë€j…·àž§R=~òøvRRÚë×|å Œˆ$I¹\ÞÐ××ÅÅU"•»8ÃðÜiZýøñã«W.·ïØ©ž‹«PŸ›<†a=|xúôIŽã<½¼( nT€)á)¸«éÛIIí;vts÷à%C`tB¡ÐÃË !t=ñª““%‡à€)á§Ccœ‘‘îâêöîEI±RÈ93 Ü<ÃÛhŽã¸B5uñüŽ«HG7Iã2îNû?nÚTT˜·÷ö½ày($ÕRe>¤u‡Ûêæ=|O`° Å[p‡NT3#!09¼Ed‚ †Ñn™¾0(–]ÀWa †ã·ºý¶ b‰y, (­"{˜ XzS0=ЖRÓ¥¥¥!„lllt¾KQÇVðGwô˜1/¬Â@,Ë&Ä_JNIÉS©t.°vÍêÒ/ZZZúøø·©ühSÙQ5aÕ3¸ç\üÄ£ÍæW…O +·6C>[³l¸¯%´þò*--M©T"„âââÊŠïÀ$$$Ägff S«V-ýSegg=|èrBBHhhÕ• OªÁÿ8È_ÜHÏÎ~“öèæ‰õÄ;•³.å𼊚MÙ322222”J¥¦ LÔŸwïvV*e2æ8ýÿ¤Ri›¶mŸ=Ü·ÇÞÂÆbi»m)Ãì´~h5‹‰º]&NìßT‚ò˜6eÍÆY§îf…ו9w9´`)?÷E1Û†¸>Í]ÑtdO›.[÷Ü7Í‹ÊKÚñË#÷!ÝIB0à¿o~øùÎøù~b”wkëÖƒ¦wsàÔùê oð{§µ‡õE3zª«òa¸¤± (u¾sˆ)þ‘ååå•õ@ƒeYMŸ™®C4/¼}œ$Ib\©±ê%ÓRŠºNNNBÎ.š·ôa¸tÕõAß7Ó®_HšýÇù…5RRGQ<Ÿ‚Ëç {HK)ÉÒ ‡1æ2¯oÿfÅî‹÷ý÷ïϲ0j‘Ïp[6Ñ·ööí¿ý=a¦KÊ®_ÿó ïç!ÂÕëÑlÑ’ŸoO[Ú'm‹y¼¨K]Ò´Ææk—6777:::22RÓ,ÃqܺuëÂÃåūoz^x¬Ê‡æZ#ÃbhZ(ZsçX–ah¡P™›þ‚»@ÀßEL%B2Bˆ°þ_óà%]|„Ä¡¾‡CÙ ·ý…9üƒ±úATßöórGmˆZÒÑÃ]æÕ?S³>©ÿ°~N›wî}0¶KÌÞ§~ûÖbŒé Œl;kêÖ›Ÿy³[~Ëjý}{{´b{±]“ŸŸ“œœ²zõ*„ФIŸ&%Ý:t¨D")™Dm¼uó:ß…†ñ± ˰³Å;T‹ž–~P€ hš>|è ´¹›^«y-S”]apκuúoÂm”«Ø°U”ü™(ü—yqf×µZ/ê(E½AE‹!dá;¨½õ»¶Ç>ûíeàŒžÎ‚‚´6m"º²áÑ'Ú³‡è›Z[›Ü5µÚå•Ëå±±±½zõÄÛÚÚ8+—ËKlƘ+7º[ÛÚl[VU%zÛ²9šå0Dz¬VÅ|æì9š§¥”0.r¢\.o¥ïŸÁãwœ+7yñàžóøÎëYBĪÒ]]óÕO‚‘ÆúP î¨Tp'$u]¤iÇ¢~¹âÜI|{ïòYÇÕ¸Eaý^ì3`ˆû÷_ÏzDýom—:oÛ^dÍÆ|(î>y2'èú[°•ÉÅö’V(±±û{÷ݯP(JoƘ¦™r¶”@ýû Â„A^n.UªYærss-e–y*•ˆ¢Þ½40¼w¤×)|™ÉK4Ëü»qh‡!DÈêø4î¶äÄgÃ›Ê ¨3Öõ`„5ÙËÛ/ÿiƸ)s:øÏvðï6jÂ'·Ü*ú  ÜÆ7XºðïÐðöµµÛÕ-âüò7cF4±4¹Ð®kn…B±ÿ>Íd‚[YC9::ÅÇÇõš0 SzÌ;MkØä8îÚµ«ÞÞ>Ð&c~øks'Žã4½s£uÌI‚WßO×1†á¡Fè>éÒëIo“Zu?ôê)BcdÿÁܽ7æ-9s´Ö„“.¦O*½NBjoeáÒm¨¿…)F=eV(e½UÎë º nÑ"!!þ÷Çs²sBE}KŒ„‹Dˆ ˆ‚·„ŽŽŽ~þþ:/q&·à. 9–­ÌÅU¸B· z¯òïíXËiðª2c>¦"{‚»‰¡¡-5òG¨(t£ËzK$ÁPóÃo‡j±ŠÞëW K]íãHîè­©Þ‘an6üW(µP(„ønB¬¬¬Œ]P]ðÜænšAO?8ýÜú=¯ôtšèfV¬Ø4L9€ â7¸›@í»6ÿõ !ÓÝJS-7Àp|÷ÌŒ Mï¨n¼}¦½~õîåJÁ˜ƒq˜"~‚;ˆ¢Tª\¸Â̼|ñR¡°®Ì (€QðÜ)Šrw÷Hˆ iikgG¼MI\bXnõ¡squÀ²¬¡—±è„ÁÐê+ ñþ”Èdg¿ ¦â)¸‹D.®®,Ç%&^ÍÌ̬XԽǑ¶$APú]‡1"*siB!‚PÔûjF üŒlÃØ?0°¶ƒC­Z0Ã[Ä‘H¥^Þ^NNN SMëÚEJŒüe!‚‰d2îÉ ¨&ø¬NR”H®€ów0>è(3ÁÌw0CÜÀ Ap3ÄçhµZÍÐ 6ÅÉp.IRB¡ÁØQLoÁ=O¥züäñí¤¤´×¯ùÊI’r¹¼¡¯¯‹‹«¤ðæ>SÁOp§iõãǯ^¹Ü¾c§z.®0ñ¿`æÑǧOŸä8ÎÓË‹¢à L OÁ]MßNJjß±£›»/£ …^^¡ë‰Wœœ(9wL ?ª㌌tW7^rÕ‡•BÎq˜ac`ÞFËpLü]}]<¦b³¹‘‰qo°õã¦MH€y{oß ž‡BbP-UæÓA¨Ò³bV™÷ð=UÀ*LoÁ:QÍŒ„Àäð‘ ‚`F»eF 0ì—ƒea€<ðƒßêöÛ€Š%æ±( ´Šìa‚`9èMÀô@[JM—––†²±±Ñù.EQ[ÁÝÑcÆT¼X° ±,›)9%%O¥Ò¹ÀÚ5«K¿hiiéããÜ"¤ò£!LeGÕ„UhTËàþæ÷0ÇnÏ¢þ;7Ô¡R}eçóæÄGNÝÓ·¿8Ù«fßÐ;--M©T"„âââÊŠïÀ$$$Ägff S«–wÎÊÎÎ>zøÐå„„ÐЪ+0 ž:T ÆAšMdÏÈÈÈÈÈP*•š*<0QÞ½ÛY©”Éd˜ãôÿ“J¥mÚ¶}òäIVV–±·ðŒÏUíQwð6­æA%³+7­w*³£½µéééJ¥2000** !¡T*ãâ⬭­K¤)?O˜J¨šÈÉÉ‘ZZrkè E©T¹éé MWQÙ€ž¬mmþƦUËf„Â7—õ š›’òLX¯q—±K–OéèT¡ëßõÊç͉~ÎÝ_m~z:Ì!„T‰Ó}[w;q–·aÕ_1³#Çœ¿—!so=lѺż-Ml X,(Âr\FFÆþ}{áäÛè¦Ïš£ÊÍå+7>ƒ;Çr$ÉÛña2ú›OÚxIŸ]Ø4s|×à{onêb[V$ùèš{ypdËð;®Û»öƒÚ/Ïí7¬;åqãëf–†¤z‘J¥“'O.zJ’¤öSmǾ3·v­¡ÅÖÈÒSFM"Ž-öy=-ý Æ IHhˆ%ÌýiT‡ä7C>ƒ;ÍÐ\±ÉÜ Ë\­Î/̈æQ·U—vµITàÒê[ãþ2§Í­,éû«Ú6ŸwS­yFz|z&á«Æ’b*3†Cˆcè|µZSòbOÕ4‹fé|uö½èÏb­&œùzp Bn#OßðÝ׿›â÷àíÖÍèuª®Ê‡á’Æ& ÔùjÌ!¦øG–——WÖ –e5}f¸Ѽðöq’$‰q¥Æª—ÙæNÖnÙÕ/9û@5ºžìíòB×á»®vË/ø5!(kgq‰Õ—µæªúÂ6÷·ÿáâér’ÿ“IMiSg朣i,rJgL³­^»Ô¹¹¹ÑÑÑ‘‘‘šfŽãÖ­[.-^}ÓóÂcU>4׿CÓBÀК;Dz C …B¸ÈÜÌðÜÞ.bÂM„¢y‡ÃˆSÓ%²ÊÝäed¡_>Å£9Ç•ŒõKÓjôåɘ°ÚE-BK{KÓîùùù111ÉÉ)«W¯BMšôiRÒ­¡C‡J$’’IôØÔ[7¯ó]X`o˰ ‹1[¼Cµèi邦éÇB›»™áõ·šßÑ2EÙ±/.Äý…\¸ˆ ̾œ|ÂEsDR$—ó:‡ÁÖT8OÆY¸9¢èã·‰ñÜ„År6õà.—Ëccc{õêˆ1¶µµ=p V.——:ùÁ\¹ÑÝÚÖfÛ°ª*1ÐÛ–ÍÑ,‡9–eµ*æ3gÏÑ<-ý „q‘åòš}чÙá3¸cüî‘så&×î8õðžÞí]ɧñÛ?Ÿ~NØ!ª_}a‚»î|h©­Œÿ5樸¾MÀÍmÜZû ~[¹l§÷èÑË;§~>òSclá>¾éÆÏ>í;>kþð–îÒ¬¿oÿÉ„ëë¡cTIõWb÷)ŠØØý½{÷AÅÆîW(¥÷/Ƙ¦Ëk…"Ácÿ>¨0¡@—›K•j–y§ÜÜ\K™ežJ%¢¨**0 ^ƒ;Òë¾ÌäZÁ‹ë4¯}uÙ EWŸrv^-Fl<³°Ÿ£ÀÐúrÙùüÇMë|dÎô¡BgþÖª™½óÀµ«¯†/ø´û6ÒÆ#¸Koe3ÅcŒEžã÷µ[2ïû•cvÍUÉ6jÖ/`ˆiVÜuœo(Šýû÷ièÜ(ÝÒÈÑÑ)>>>88¸¨×„a˜ÒcÞišÖþL9Ž»víª··´É˜þÚÜ ‚ã8Mï\ż=æ,?Øþ0!„¾Ñý¾¾ÊÉGì=6æîØ·¯ˆ=¯93xÍÛ¥æ.JÈ|,Ý7`iåŠR-è,¶B¡(ë­r^ÕMp‹ ñ¿Ÿ8ž“ƒ¢(ªèËXb$ŒX$BA¼%tttôó÷×y‰0i¼wPȱle.îÁºUÐ_Eö0w!BC[6jäPQèF%—õ–H$‚¡2æ‡ßÕb½×¯^–ÂH«@5\(ÂcB¬¬¬Œ]P]ðÜægñÕYÅ>¦ÀñÜ¡‰¶ZƒO€šƒÏàž™‘¡éÕ·Oô׆µ’i`ÌÁ8 L?Á@HDQ*U.\af^¾x©PXWfÀ(ø îE¹»{$ÄLJ†´´µ³#HÞ¦Ä-1,·úÐ9ˆ¸:`YÖÐËXtˆ`hõ•„xÿ€JT¡é–ÆÃSp‰\\]YŽKL¼š™™Y±¨'z#mI‚ ô»cDTæÒ,„B) ¨÷7ÔŒøÙ†±``m‡Zµ` &†·ˆ#‘J½¼½œœœ¦šÖµ‹”ù ÊB%ÉdÜ“PMðY¤(‘\çï`|ÐQf‚;˜!î`† ¸€‚àfˆÏÑ2jµš¡Œ«ã¥= ’¤„B!%‚±£˜Þ‚{žJõøÉãÛIIi¯_ó•'0"’$åryC__WIáÍ}¦‚ŸàNÓêÇ_½r¹}ÇNõ\\aâ3À0Ì£‡OŸ>Éqœ§—EÁ ˜ž‚»š¾”Ô¾cG7w^2F' =¼¼Bׯ:99Qrî˜~:T1Æé.®n¼äª+…œã0Ã0Æ.À0¼–á8˜ø»úºxþLÅfs# ã Þ`ëÇM›* óöÞ¾<…Ä ZªÌ§ƒP¥gŬ2ïá{«€U˜(Þ‚;t¢š1 €Éá-"Á0ŒvËŒÀÀÛ÷°ÕòÞ`Šø­n¿m¨Xb‹J«È&–ƒÞTL´¥Ôtiii!ïRűüÑ=fLÅ‹«0˲ ñ—’SRòT* ¬]³ºô‹–––>>>Á-B*?ÂTvTMX…÷---M©T"„âââÊŠïÀ$$$Ägff S«–wÎÊÎÎ>zøÐå„„ÐЪ+0 ž:T ÆAšMdÏÈÈÈÈÈP*•š*<0QÞ½ÛY©”Éd˜ãôÿ“J¥mÚ¶}òäIVV–±·ðŒÏUíQwmîUM{§§§+•ÊÀÀÀ¨¨(„PDD„R©Œ‹‹³¶¶.‘¦üè¼è›}]ý9©©„O-ã)Î<75¸ýOã¿Ýü] òù_¯ëHÝLhºhÉ–[óW5—"„ØÇG¢âí/"BT§ÅÐ…=?÷ª'ͼµû³ˆiaŠà»kš#„³ïIê»ø«Ý_¹þÚ9ièÌa+:Þ\ä¯#š©T:yò䢧$Ij?ÕÆqì;sk×Zl,-1•aÔ$!âØbŸWÑÓÒ `,±„„†XÂÜŸFuèÐA~3ä3¸Ó ÍiOænàeMju~Á£¼k–žqšs)zšŸBy4@ˆSç«ß.‹_ìîî7òláoœ]ÿ#w¶´µÔÊŒ{qpÑæ´žÑg–õ±'BÞž!5W»KD«36Ä/ j)CLêoQ7œ‡­÷ ÔjÎáƒ!à Ò6ôüòØ–®çY2˜¶?uh{B¨Á”YmWö?}ëÕ\;S¼®çíÖÍèuª®Ê‡á’Æ& ÔùjÌ!¦øG–——WÖ –e5}f¸Ѽðöq’$‰q¥ÚÍ‹Òré·/=­ýA'7qÙÙÙtÝCUðKBkÕ•_Võ÷…ÆwIˆ-Qìu®cdgfô¦øe¡$÷Fßõ ÿÉÂ#œsoߊo¶I~øÏ¿ÿ=ÉÈG ó® mQ_‚@f#!³h–ÃØf´wEnnntttdd¤¦Y†ã¸uëÖ…‡‡K‹Wßô¼ðX•͵F†9ÄдP 0´æÎ±,ÃÐB¡.273üw€¯‹˜8&ŸaóÞäqåäFZ:ºŸ]¸øÂ˜Ícؼ,‹qñ†"yè¸>¢þϽ­óSj£I½\„cöÙžmGÞé¾*zG/_êÎìÆÊxMHÇ…3²hÖös£]êüüü˜˜˜ää”Õ«W!„&Mú4)éÖСC%IÉ$zlê­›×ù.,0Œ·ˆeX†Å¸Ä•ÞEOK?(@4M>tÚÜÍ ¯¿Õ<–!åž ç§ä¶l")?M™(Ç zø×ƒçŸäXü•…²î¶áè9ßOÿ7¯«#‰1Fo·ŸTwøé›‘Á „Š(^a/úÑ*tæÜårylll¯^½1ƶ¶¶ÄÊåò[†1æÊîÖ¶6Û†UU‰Þ¶lŽf9̱,«U1Ÿ9{Žæié%Œ‹œ(—Ëß[iÁ{ÀgpÇøÝ#çÊM^˜VÚt|¸÷/ß~4@´dz¿–õ/ž ¼›zÔ¥*pì9¹Ç¢‘ãûLH[Þ%Ð&çßL‡¦Aµ)„¸ÁÐõÖÏžp‰ ÝÐÁ^ÓlCÙ¹Û¨wFm>Û°¿}ꑵs·¿ÄžÚvíš;2‹š;BH¡PÄÆîïÝ»B(6v¿B¡(½YcšfÊÙ\<öïƒ  y¹¹T©f™wÊÍ͵”Yæ©T"Šª¢²£à³é¸¨£bÑO+©Øö‘cË:fïÕ;Ä?¤ß̵GRóÞ=7m1¤CïMg¶F:'®Ù¡qrôÒ_.¿¢5o ë‡ ÌzB~0¦MÁà|‹ÆŸm_ÜáÙŠA]gýn7jJ”x[_/±Q–¤:(µ‡ (Šýû÷íß¿OÙËI ª9GG§øøø¬¬¬¢ަéüR²³³ßhÉÌÌŒ¿äíím2懿6w‚à8Ž4p&HmÅâˆÀ&xlÔïcËz[/n½ýÚk‘Ž<Ä6 ™m÷Q!ò¢W«¦‘?%D-¹ |B¡°ciaoJ[n|ôªb…©t–Z¡P”õV9¯ƒê&¸E‹„„øßOÏÉÎAQUôe,1F,!‚ Þ:::úùûë¼Ä˜4Þ‚»@(äX¶2ñûšò—ýïК3’žû›Ê8®F…®Šìaî&B „†¶lÔÈ¡¢ÐJ<.ë-‘HCeÌ¿ªÅ*z¯_¿20õû¡¾¿+êš]Ø×þ’šV-­Àö …Bˆï&ÄÊÊÊØEÕ¯ª• ùžäÞŠÞrßeHtƒrFÑ›©Šm0 SŽ`‚ø î¦ÐD+i²ìÖs„L¢¬<«y[ @ÍÅgpÏÌÈÐôÎêÆÛ§aš­ds0ŽSÄOp'Q”J• ×A˜™—/^*Ö•0 ~‚;EQîî ññ¡!-míì’·iµhš®ž Ã:qöûÁ²¬¡—±è„ÁÐê+ ñþ”HTù ïOÁ]$rque9.1ñjfffÅ¢žè=Ž´% ‚Òïz<ŒQé<) ¨÷7ÔŒøÙ†±``m‡Zµ` &†·ˆ#‘J½¼½œœœ¦šÖµ‹”ù ÊB%ÉdÜ“PMðY¤(‘\çï`|ÐQf‚;˜!î`† ¸€‚àfˆÏÑ2jµš¡Œ«ã¥= ’¤„B!%‚±£˜Þ‚{žJõøÉãÛIIi¯_ó•'0"’$åryC__W‰Tjìâ ÃOp§iõãǯ^¹Ü¾c§z.®0ñ¿`æÑǧOŸä8ÎÓË‹¢à L OÁ]MßNJjß±£›»/£ …^^¡ë‰Wœœ(9wL ?ª㌌tW7^rÕ‡•BÎq˜ac`ÞFËpLü]}]<¦b³¹‘‰qo°õã¦MH€y{oß ž‡BbP-UæÓAïïö¶{ßX¬ÂDñܡՌÁHHLo™ †a´[fHÒ°VŽãá¿1iÎû+“˜Ç¢€Ò*²‡ ‚å 7Óm)5]ZZBÈÆÆFç»EqltGSñbÁ* IJlBü¥ä””<•Jçk׬.ý¢¥¥¥Op‹Ê†0•UV¡Áý­7'>rêž¾ýÅÉ^r„êêdŸ–çfßKïj¾;)--M©T"„âââÊŠïÀ$$$Ägff S«–wÎÊÎÎ>zøÐå„„ÐЪ+0 ž:T ÆAšMdÏÈÈÈÈÈP*•š*<0QÞ½ÛY©”Éd˜ãôÿ“J¥mÚ¶}òäIVV–±·ðŒÏUíQw`ô6wÍú‹†ÿj´·$==]©TFEE!„"""”Je\\œµµu‰4åç S U999RKKŽc ½ ¢(•*7#=¡é**Гµ­ Áߨ´jØâ@ß[þ¿ÀÝ.%- ²@!Ä=ÛÙ¥Á¼†Çï¬j®ÿüU¹W¦ø¶97-9~¢›fé+ƒ7L¼:Ó[ÄeÝøqÊÄå± ©*Û?Y¶fnwñ;³Ä9Æ,˜¼t÷…äg„c£¶ƒ¬\ÐÇ]Bà×>ô¾úÁ©áŽ$Bˆ~ð}ó3ó%ݘÛ@„bE…z/hpäÁ¶VÙUC,=Ü·ÇÞÂfbi»m)Ãì´Îhˆú>ñû懟ï'Fy·¶ný7hz7Nqõ»/.z~~sA¯úB„êE|9rcëè_îŽíÌpq ¯V#„òi#ÌÐê|5‡R]]¹ôœ|ä±Mã[ËBufl‰ºî7xÉ–äÞ³|,›}¬” Úzúé‡avÜã¸ÿ¶úr~Úâ]Çþù$Ü™xzbÛM›žKüÅšl©øÔ Íèuª®Ê‡á’Æ& ÔùjÌ!¦øG–——WÖ –e5}f¸Ѽðöq’$‰q¥ÚÍߦ%ì:FvfFoŠ_ÚAòpoô]¯ðŸÜ¨yKšýn IDATÇù…uRRGQbí‚z}#š-ZòóíiK›à¤m1/‚u©KbúÅÕ O˜[3íæ!„YšÁöÿeÐØ©°­]«Í½°KKºüÔ¢i@Ë‚•ÖÍ{ú¢£ç¨fzSµšè*é¿ãbZßîê³»6ýa¿ç;Wî>ûbÄòìö6½¿ °¬M÷ÚEÈÍÍŽŽŽŒŒÔ4Ëp·nݺððpiñꛞ«ò¡¹ÖÈ0‡š †ÖÜ9–eZ(ÂEæf†¿à.ðx“.ÌFÖ Ÿ`ŒÇ{³è©ùß²éˆî²þ;Ò‚U¿Üo8¤em§7ýê}ÿªÞ™hÛ÷‹F’jÛ‹í üüü˜˜˜ää”Õ«W!„&Mú4)éÖСC%IÉ$züÖÍë|Æ[Ä2,ÃbÌïP-zZúA‚ iúð¡ƒÐænfxý­æq´Œ4(|u· GÏùî|ú¿y]É ålÓ&¢+}¢={ˆî°©µ5 l}½-é?N>’ êb«=ç!„æ¸Âɲ´kî¤uÃÆµóºõ¦c¨ !„¸´+‡Sç w Œ1BÒÀa=-l?ñ{~ŠçàV¶„P®ìë°ò—ÇÙkvaŸûZT‡Ø^üçS.íÕ«w@@ ÆØÖÖöÀX¹\^¢ c®Üènmk³maXU•èmËæh–Ã˲Zó™³çhž–~P¸ȉr¹ü½•¼|wŒß=r®ÜäÚiÅ †Ž¨·~ö„Klè†öDƒ£¬Ù˜ÅÝ'Oæ] ¶Ò¬Büéhý«>³þjv¿fÎÂW÷îücÙ~pggRj+cã9*®oðAÔÎ’ýëÐî#õY7l×Ê9`Ü„&?-9Î;jnOOövÌüñ„½~èVpJ!ñÒÛ²Ûg -ÜæoG`L¹vë¥ø~á|ÎnÄoqµˆí%Om ElìþÞ½û „bc÷+ŠÒÅÄÓ4SNñ DðØ¿*L(äåæR¥šeÞ)77×Rf™§R‰(ªŠÊŒ‚Ï)qñ9e N^œ°~ؘÀ¬'äcÚØåÌH[>‹F#†8¿|eÝ{DËÂ×$?;~|y˜èԗÔ­Z‡MúöׄÇ*c ÿqÓ:û§XñÇsšr8³í‹_ ýÅÔ‹¼"cÿX­|õã¨Öušº_üIÌù½ÈÂ\Å ö±}úܽ_ÛÚ$Æ‹Ü{tµ~öÒ©_˜§¨ÂÅç‹Î=Œ1V(û÷ïÛ¿Ÿ&²—“TsŽŽNñññYYYEMÓù¥dgg¿Ñ’™™ÉÛÛÚdÌmîÁqœ¦w®bJűBfÛ}Tˆ¼2ý´„ÔÞÊÂ¥ÛPí–M³ð5GÃK®^ì=6æîØÂçÈù£ ×?Úð¶p„Ìoè÷‡‡~_F™Å‹’Ò½}UìÿERÚ:·ÌHt–C¡P”õV9¯ƒê&¸E‹„„øßOÏÉÎAQUôe,1F,!‚ Þ:::úùûë¼Ä˜4Þ‚»@(äX¶2WáAÿZsFÒsSYagfEäßÛ±þ–Óà5>”ö(Í WàfLÜM„@  mÙ¨‘?BE¡•x\Ö["‘†Ê˜~;T‹UôÒ^¿48ý[êû»¢®Ù…}í_©q&¹7¢·¦zG†•HY#U`…Bˆï&Äʪz]+Œˆ×ÕÊ …,&÷Vô–û.C¢T¦/§Ÿ[¿çUà‚žÎ¥RÖHÛ 4L9€ â7¸ó×D+i²ìÖs„*™£¢Ó濞U:³{€šƒÏàž™‘¡éÕ·Oôׯ*cÆQ`Šø îB"ŠR©rá:3óòÅK…º2ƒ FÁOp§(ÊÝÝ#!>>4¤¥­Aò6%1MÓÕ³1aC'Î~?X–5ô20"Z}%!Þ? €‰*Ÿ!à}â)¸‹D.®®,Ç%&^ÍÌ̬XԽǑ¶$APú]‡1"ô™]¥\) ¨÷7ÔŒøÙ†±``m‡Zµ` &†·ˆ#‘J½¼½œœœ¦šÖµ‹”ù ÊB%ÉdÜ“PMðY¤(‘\çï`|ÐQf‚;˜!î`† ¸€‚àfˆÏÑ2jµš¡ Sëš ‚$)¡PH‰`ì(&‡·àž§R=~òøvRRÚë×|å Œˆ$I¹\ÞÐ××ÅÅU"•»8ÃðÜiZýøñã«W.·ïØ©ž‹+Lüo†yôðáéÓ'9Žóôò¢(¸‚SÂSpWÓ·“’ÚwìèæîÁK†Àè„B¡‡—BèzâU'''JÁSÂO‡*Æ8##ÝÅÕ—Ü@õa¥sfÆØ†·Ñ2W_ÏŸ©Øln$Ab\Álý¸iSR`ÞÞÛ÷‚ç¡TK•ùtªô¬˜Uæ=|O`° Å[p‡NT3#!09¼Ed‚ †Ñn™! l¥áå¿1iÎû+“˜Ç¢€Ò*²‡ ‚å 7Óm)5]ZZBÈÆÆFç»EqltGSñbÁ* IJlBü¥ä””<•Jçk׬.ý¢¥¥¥Op‹Ê†0•UV¡Á½„ü;Ÿmës%ùë c—¥ê¥¥¥)•J„P\\\Yñ˜„„„øÌ̬QácjÕ2àÎYÙÙÙGºœZueFÁS‡*AÀ8H“£‰ìJ¥RS…&êÏ»w;+•2™ sœþR©´MÛ¶Ož<ÉÊÊ2öžñÙ¡ª=ꮪG›»f*¹)Õ”ö&¥§§+•ÊÀÀÀ¨¨(„PDD„R©Œ‹‹³¶¶.‘¦ü“òBèÒȧâ0ôO,N’$1®T»¹VÚ‚‹ÞËhø–4ÿúó ƒ=)©£(¹^\˜KáËy©g¯eåþ3ÂÓv4B˜¡ìù_&Íw.ý'ðïX«h¥%ÓšíMÊÍÍŽŽŽŒŒÔ4Ëp·nݺððpiñꛞ«ò¡¹ÖÈ0‡š †ÖÜ9–eZ(ÂEæf†¿à.ðw“æQYÁ8Ô÷p(#©Vz­â`FÍ"ëvœü¢±¤(‘µÅ=×Ô9‹-ÿwÅ´ioR~~~LLLrrÊêÕ«B“&}š”tkèС‰¤d=öí›×ù.,0Œ·ˆeX†Å˜-Þ¡Zô´ôƒAÓôáC¡ÍÝÌðú[ÍÛhí™®*–* ©º®äÚKçÓ=š[j/ˆÞ~6ìÑC×3º·“EIÍ¿æ.—Ëccc{õêˆ1¶µµ=p V.——<˜+7º[ÛÚl[VU%zÛ²9šå0Dz¬VÅ|æì9š§¥”0.r¢\.o¥ïŸÁ]3†°ÉßwT4±bÁa„­ä„]§iƒj‡­ï7Pôöî;,Š£ ø»{·GçŽÞì"64ö®±%vc/± I4ÆØ5ÑXb1泋ÆÞ ( ‚‚-ö®ÀÀÁm™ï¤7ãý=÷èÝîìîÜíòÞÜÌìÌÂÉ]¼,…—±1oí:õó±Ð«?fT틇®þËônnò1û/¾"ѽÔo¥‚Êõ– EpðÁnݺ@pðA…B‘÷=BX–+ä³ €±}•šT"IKMeòTË)55ÕÀÐ M¥’1Lå • Qƒ;ë'|›ç)¹—>¸ç®–JÑvÅùýµ~˜¿uVß_•´¹£{=¿I~} ¡uܧ9)Ÿ9kݤŽK’ k´êæëeòJûKî …âàÁš'ù¾a-ü´”­­]hhhÓ¦M³ZM8ŽËÛçeÙìçT„ˆˆpW¬“Ñ>âÕ¹S” šÖ¹ÒÉvÍé·Øô$!ײ’wù'!!÷æ2ßÉ›}sv÷#„Ð&Go8=úãÒÕŸpèŠ,ß·¤P( ZUÈrTÑ4õö =uúdJr 0 “õǘ«'ŒŽLEe¬’ÚÚÚº{xä{‹ªÔD î©TàùO¹û‡”jª T|¥ù„1¸W‰ÄǧyݺY¡r=/h•L&î2ÚGÜÕ½ø÷ïJ¸9Æ‘²UŠb¸T*ÅóR‰—wPE!r;þНÈJwvXr¡JHÜàŽU´ž„ª1ƒ{¢R©iC‹kø¸÷¥ØûQ T‰Ü)èT©x„–y÷öBaò) BåBœàÎ0Œ££SXh¨O³æfææ-Ú˜¹¹ºåVùv"®xžeªqǪ¯……zxz22Ù§ï!ô9‰Üe2{^"#ÃKõdŸ±§-MQLñîÇ#¨O¹5 (ZÂ0Ÿ¯«-‘ˆÓ³//K++##ìƒP%#ZÄÑÓ×wvq¶³³ã¸ ZÖÎ’«ç/*EQŒLfhX‚99B„˜ÅI†‘Éøû!„Ê6”!„ÂàŽBZƒ;Bi! î!¤…0¸#„³·ŒZ­æXŽŠxk*Ц©TÊȰï(B•ŽhÁ=M¥zñòÅ­èèø¸8±ö‰ÊMÓr¹¼Ž››½½ƒ^æä>¡ÊBœàβê/^„_»Ú¶_u{ø_ p÷äÑ£sç΂PËÙ™að„*‘‚»š½ݶ];ëj5YX5ÖÌhÚÖÁ©M¸nggÇÈ1¸#T™ˆÜ !Je‚½CÍtF¬Bˆ±B.„ã¸òÎB¨dDë-#‚D"BðQWCž/ņ4ERÊ ¶6mÜ(ÖÕ…Öøl"w…$¨Bú”³ðÉ£b–™Ïðw‚‡ÀCTR¢µ|jQ+l¨âȧì ‰P¥#Zp§(Šã¸ì!䃒5ÁMMQ‹•”Û'Fw„Pe#nŸERªºY16FÅPšO˜¢x[Sª|Dîþ)áC{Ù)¤àž&&¦ù®eFàKyfFŒYº ñ¥Àó|Xè¿1±±i*U¾ ֬ʻÐÀÀÀÕÕµ©w³OŸ½²|PUá¢ßm$JxO çÒþwºJ |†.\ýc¯ºŸ’·ª,ÿðžß½K'8xøHAñU aa¡‰‰IÆ42*ÁÌYÉÉÉÇŽüs5,¬™OÙå • ‘zËPTÆ7?Éö()’óa?fǹ+ç/^:þÏžåƒm#W´&6äI†Ò>âã»wé¤LHP&$tïÒ)!>>Ÿd¨’¸{çŽ@€¡¡!„â?ôõõ[µnýòåˤ¤¤ò~Hdb6¨B„O¨7϶-! _ÍÕ³¾ФESã˜ZÃ÷}9±¶mPr±:ÛÙQ*•=ºt¬ëéµrÕ˜2i|÷.>¦P(²oHuBq(¡ "%%EßÀ@ø’NOÏ0ŒJ•ªLHàX¶Œò†ŠÉÄÌ”¯oZ%‰”´ÌÈH :LIß8û ¨UËàæƒª]ÙyìV¼®£ÿ˜¥ó|þ[»à×Ýá¯À¶ù7Ë6Ïï`+”!KG}ûÇÅ[oR eX³ÕÐEA?v«.H»9§qûˆîÃÌOm;o7âÜ¿+¼õ¸·—›>wÓÉO’k6 ³xþȦ¦šË‚Vedcx;‡Ž‡ÞçMëö]°é×!.zâTŤ£#ëóeÿÑcÇÓ4 «V¯]¿vŽN>œx¾ˆÕY[®–IQI¸ëÒ,ËI$töà>sú´ÅË–çû$ /J¥òà}Ÿ^íŽ>Ñ´ÀYªÔT±ö&fpx|Â×Éï¹ péÊG×öÎp(­éÊv’W^yã\bßEÿ|_=éôì/èÝÒ}àüY]©™~aÁ€)£gµ¹±-@.1®0~Ñ(çæÂ‹‹«§ý0h´klð×Õ$À+ÿ=ülöÛ¿1Oy ö’xiºO·?-¾Y¼¡™âÕ™S&úú¿¼ta^#}’RÐ*Â+¯Ÿ|ðÝŠ]K,ÕÑ›Æ7®¡ïÑQ5>Ï·kÞZ]=ý1ã'BæBЦ³¿ÌBBÑcJø¶ÄÛrù˜ãÔ4%øç+ëeÞ'ÑÓÕkæÓÌÇþ,WÿüsXÜŠ[XŽeÕ¥¯–aÕé™OÕœpçûÆfßg.±n>qçoý¬‰:=çOÇä‹#<ûŒÏx¥×ú÷»šeû‚aÕ¡¬|‡ö÷uÓ8¥ç¯'C:ÚÎE`;¥ÿò£G.=IñuÓqíú•«f 7—yÿ¼ôüÝý, XµP½Ë¤]ëê€ðìïE¼n¸èØìnöR€jý—nzvÙwõÂóãÿþ"í@A«ü Ô¡¬ýÆîÙ@§Œ[»qÎ…»†Ø–úó*B€lŸpqÑB±~ª«Ò±»dy“0êt5€ãrœ²´´´‚žhð<¯i3“à`®ÚE´ÓIÓ4! Z;¨>róÆvƒ­CGži³fã÷_(h"äÞ½^Ãù§Cff–Dh}KyÎ<¢©k(SŠMãZÏÌ€R§¤óD Ü»+[Vn8|ã¿§ÏŸ?Ÿú5Xž!£–:csP=¹rsÙÜŠÎX"«Þ¶µåÒ³‘/Ó|>¸ê‹Z9²´¾‰>ͳÿ¹f6ÑÛ³2*•jû¶-#¿£©–aã†u_¦§—£ªHV¼?xU:V×–3"DzR‰¤¤%wç9Ž•J¥8R·–/¸K$Ÿ«²oK€žkÝz5ÏÙ¿ž=ÝÂâ/Cúç©ô¡u-jÖ´(p? @fx’¹Š™O2W¥ÞXØ£Ûzóo7ÿ²È»º<õpÙ™É ›@F§oáãQ Ha«HÎl€¦ö#ÛnË\æ»È’®Jß¿wÏÝ;w–,[ ӧܾýå—uurwB“âd1êæu‘3ŒJÈEÆs<ÇÂçlPÍz™÷IŠbYöÈ?‡±Î]ˈú]M>±÷Éï eâ;wq—&#'-é}þç†%­ÓÏ»OÈSöäxðãã7Ni_[ ¤Q9’e:öMkÒŸ¹òz¬su)@úÓó߸7´•éÈ \•'ùæê3øx8¹Bþ¿=ûûõéÙ¼iBˆ©™Ùÿöì—+ä¹²DH_@&f¦ÛìUVùEŶuËf^ ÏóÙ æ3fÎÒ¼Ìû$—Ñã&ÈåòÏ–[ôˆÜE¬–É(a"ÊÜoÞâ¶-Æ|ÔçèLÏ’u0Ñ”;3ëC„lµ4YG!DbTÝš~¼góá.“¥Eü½hÁuvš£ç¬N ,ÛOêmòõƒç/ÜTñöÂêÀå\'ÿÞĈP®ØÙÈì”HHùUË€±\±s÷¾}zÀÎÝûŒåм§²\!ãP@‰Ø¾JM*‘¤¥¦2yªeŠ”ššj`h¦RɦŒò†Ê…¨Á>)XeÛVÈì–mhën?ÿøgÛ™ã6v;9¡¶NIvª©¥Ïøš •,$3Ôk,eÝsÍê[£œÔj'c× ÛÈ ÝcV²ÂÇ*wMN4;¤¾ËÏl·Ÿ¹dn÷¯Õ&Ž Û/>ýý€ººD …¬Ê™ Í¿Ùv[æ2>Ï\Kårù_»÷jžä{îpÀŸÊÂÖÖ.44´iÓ¦ú™^8ŽËÛçeÙìçT„ˆˆpW¬“Ñ>ÔÎ;üý OtáìÿŽ )¤¤¤œ8v´K÷Éi/¦-v–%ÊʰoK”ß½;±õ6NII.醺RaßžÝíÛ·7·(ÙÙDŸÏóaa¡wïÞIIN†a4Må«'ŒŽLEe¬’ÚÚÚº{xèëcƒjÅGˆw="Ü·m»ÂSž8yJ´Ó)‘Jž>¡$ZÒ;ëPñeTË”âÆ’{%!‘H||š×­ëº!×ó‚VÉd2ŒìÚGÜÕ¿â?}U²­1Ž”±R|ÂR©ã{%bll\ÞY@…èuî*®RœB‹CŽ T ‰ÜáSªePÙÑ̆ZгƒßÖURb÷D¥dŸévzT"5j)• ¥ØPxìGPe$Np§d £R¥ê1¢ìUïÞ¾S(L²ú] „* q‚;Ã0ŽŽNa¡¡>Íš›™›S´hCçê–[qäÛ‰¸"ày¾¤·±ä‹Å±êka¡žžŒ¬ds#„ÊHÁ]&³wpà!22<11±tQO¦S’»“> MQLñîÇ#¨O$€¢% óùºšÑ‰8=Ûñðò²´²22Â>U2¢E=}}gg;;;Ž« eí,¹zþ¢‚PÅÈd††%˜“!TAˆYœd™\¿ßB¨üaCBi! î!¤…0¸#„ÂàŽBZƒ;Bi!1{˨ÕjŽå>×äB¨ÌQ4ÍH¥RF†}GªtD îi*Õ‹—/nEGÇÇʼnµOTŽhš–ËåuÜÜìíô2'÷AUâw–U¿xñ"üÚÕ¶íüªÛ;àÀÿZ€ã¸';wF„ZÎÎ ƒw0 T™ˆÜÕì­èè¶íÚÕtte‡¨ÜI¥R'gg¸nggÇÈ1¸#T™ˆÓ JQ*ìjв7Tq+ä‚@8Ž+ïŒ „JF´Þ2‚ àÀßÖ• ¥ͦhÍD¥ØvÓÆ¥Ø !íöÙþ.Dî IP…ô)gà“GÅ,3Ÿá¤D îØˆªÅ°'$B•Žh™¢(Žã²×Ì”´–†cŠ „B îMLšßý¹§-NSêÏ»-Wi>aŠâlME¨ò)ÛºŽã¤Riáñ]“kuÊK||<˜ššæ»–a/å—#KŸ-ÒȨ3g%'';òÏÕ°°f>>e—7T.DjP¥¨B¾ù *˜ked/¶¤sã{-w™¾ïjlĉãêê}úOt3}q(±¸é5‘]©T*•Ê€€MURwïÜñ044$‚Pü‡¾¾~«Ö­_¾|™””TÞï‰LÌÕì½î4²^²,+•JY–ÍZÅ0 Ëæ˜mUkêÜ3ßH>- É/_¨í'}Ó±¾aÎÍJv”=s-((c ^^^ëÖ­€1cÆœ8qÂÄÄ$×6…g‡ª RRRô /é èT©Ê„.ÛŸ'*&f¦”x}Ó>_M7˲š€™‘½ ”äÝß¾.?»Œõ}uäðÅÛ¯UÆ.ÝضiRc9 éOŽ,šòãös7Ÿ±–®ÍzÎX¹pP]#ØË›4Û×j¤[ÌÁ#WîÇñfžýõÛÐÚšò°úùÑŸÇ~·íìí×Lõ¦½g-Þ@žç7 I¹»kÎäE»/Ǽ¦lë¶0ç×9Ýõ(îñê¦õ¶´œè¶moø+ýn‡îïí Ϲ-¯¼¾ýûiKö^ùOiTÓÃîC±ù¸î}ÈŠñß®=~ý¹`íÕyòŠU“ZÝ to¼â)ÀÕv&; æ¬ëÑsí®þ?ÈÁoWô2gÀ|è…¿ûRÏ£££3`À€‰'Ò4 6l ÒÑÑÉ›’ç‹øu5kËÕ ÏÀ]—fYN"¡³÷™Ó§-^¶<ß'YxAP*•ìÛËÝ´ÀYªÔT±ö&fpx¦ »>4ñ]ó¤ð]‘äûG£{ü¼p÷B{ɃÍøjE»›?yH_íùªÑ€3^?l9»§žìÁÁy#†7ŽŒ»ynŠ À+Ã=ê4gÕá•Vê†=¼q› cjHɇËÓZ÷:ÜtÙ¶°.5S/-0¬ódû[›Ls„wö¿õ]N¼°tó•ž.ÜÍ?‡õm³-zßÀjR )··j‰ IDATöÝìºà÷cì‹dWÝ\¹M‹^ü…÷ÜÄ^˶†tta^_ß÷Ý[™g(ýöâv~«ìfo9¿Ëƒ¾ù۰݆XF´àÖ}ç6®³\ŽÜù½…PRꃱkÇI+Æ8;ZÏÎM0¤Î½ÓC«ï³7h0¤Á°”ßnþÏÏ$†V…䨯¯?yò䬗4Mg™ ÝEÕ·%ÖØ–³øÈǧ¦)™³KqÖ˼O2¢§«×̧™ŽýY®þùç°¸;3¸³+äÌ]­NÏ7e¾Ë³–#”¾÷Øoµ5€ÚS[ÿÚ÷\Ôûï¶Í;ÀvüëÀö4€ÝèuÛb/û/_6dU5O(›ö&ôm¨NS§¬þ=ðì¤á6z/÷ÌÞ–ÒgïªQ- Ïs7o½&di›öÆÙ® ÿuÑ%ùÐãǶ4ëé[×]w°`kL·@WZÍûNœÔ¯¥A~ùÿpaá/QöS¯¬ã¥fm\ ]çÔéj5—xú§Z­>2Åß‚° œßeS·µÇŸõþÚš¢i hš¢6]ЭÝsHmÍëÖþyêŽ?Ÿ¹›8Ð8@àØtµ@ÍòϦ«YŽáYµ&3”¡™¥©®„æ––VÆ@Ø<rA§£,W¬Ÿêªô*ÛvRaHuºšÀå|¸~Îâ[1»¨ªÒ±º¶œ8–•J$%-¹ <Ïq¬T*ÅîÈZF¼à.‘ä Ù_ø¤YòáC’¡¡Ñ‡Iù&&Hö¸—-nkb]¶x„MSnÖN2¬f-!„Ss`?!øðØZLæ¡(]3K*{æ!ŸHIè\Kò‹š§æˆí d?8&½ÿ:3¯~VoJfbÅdìŒY;M½1ß¿ýZ‹À­kiæ OÙßÑ}šæà$#ƒYa=+{¹by‘í¸ÙW¤§§ïÚµ+&&6(hLœ8)::jРAzzz¹7)F;oÔÍëE'BeÉEÆs<ÇÂçlPÍz™÷IŠbYöÈ?‡±Î]ˈú]]poccyRRböµII‰FFÆII‰yç.“f•„uj4« +‡ÅõëbN¤Ü:©²éVׄ&/s”ܳp™jõíáÀÙˆô9­kdo.Ì‘UÚ¤N}Ë´þ‰úÐÎÇ@ˆ¿v$jMwÔÍÜ%Éóî20V^N:ÊË'ï¥6÷ÒË:¶&¶36^ôšCâ›doÝ$D •ñ@Ò9ð°æ„Ó:ÔÑTY™¤h†RâR8b"Ì1¼²2#Ùr%ahàÓÙü³™ë-Ëåòààà®]»yzzBÌÌÌ –ËåyÏ Pht713Ýþc¯B Ïcë–ͼ@žÏ>ŒÇŒ™³4/ó>Éeô¸ r¹<ïrTy‰Ü ÉÝsN)ärEb¢2oÈILTË•ÙCŽÂiÎ@Í8˜ê·bôØ¡K¥ ú{0/½IÙ|Ù]Rà6Djß{JÀ’Qs{ açö«­P=»}'É­w/ãì]Žt=GoðÇœ¡£]Ö}×¥k×챇¤]ÿèWSJ—§Œœ“¢å”A¶~í?Êlé?g½¸ˆý D3R.eî7µ¿e¯µ}úÉNîâe)¼ŒykשŸEF•PVl–È«[Kí^Ü-°‰*ìÏ…s"ØBˆNÍ–î’ý¿.Þé2ÂSöîöÙ?¾ Œ‘‚I ÛwðdšµuÃÖ&©EkaÝŽ=ÿÖi­¯’Ôð¬eœ«GP®ü+ŠààƒÝºu€ààƒ …"ï$„°,Wà×”ˆíû¨Ô¤IZj*“§Z¦H©©©†i*•ŒaŠN*1‡üͪKÉ*WBär…R™@  T&ÈåŠìEãlá9ïk‰í—ÛC¶}-Ù?±‡{ë[•Ý6_Ú3¼†4ópÙ²$s›>Û.î˜æñd뤮¾Íý‡ÎÞtòŽ’råDæ<.ø|PÀûMÃZÖ­ë÷íAQ»B~ïf•}4ó‚Þ5_tvÿ,¯‡kG´óöî<åÛ ¶¡¦B‡Pж+Îïÿ±MòþY}¿ðiÛÆÚÃ7ߪ5!ʾGÚ¦Ïú£­NŒiîæ=xí+ßi½¬dš÷\­ßš ò#“:µúâË=q h¬  !İٴIM”[Æš¼1<'„È\†-üÆ9"°}“¶ƒæ~žžëÌï (Šƒ-s5r‡Z­Þ·gwûöíÍ-,Ë"cH,<χ……Þ½{'%9†ÉúcÌÕFG&Š¢2VImmmÝ=< ôõ±Aµâ#Dˆ‹‹»îÛ¶]á)Oœ<%Úé”H¥Ïç½¹J¸‹ƒ”jª T|¥ù„±ä^IH$Ÿæuëzd…nÈõ¼ U2™ #»ö·A5G­nÜûw%ÛãH+Å',•J1¾W"ÆÆÆE'BUƒ¨ ª…¦‚Ê[éÎN‘·#„* qƒ;–¾+4<;Ub÷D¥R¡Pˆ¸C$×:ñqïK±!!ö£@¨2'¸S2†Q©Rñ>-óîí;…Â${'(„P¥ NpgÆÑÑ),4Ô§Ys3ssŠmHâ\c¾WÇ•tàìσçù’ÞÆ’/Ǫ¯……zxz22Ù§ï!ô9‰Üe2{^"#ÃKõdù &^FhŠbŠw?žæf£O<EKæóu5£%qz¶âáåeieed„}0ªdD‹8zúúÎ.ÎvvvWAËÚYrõüE¡(Š‘É K0''B¨‚³8É02¹¿#„PùÆ2„ÒBÜBH apG!-„Á!„´w„ÒBÜBH apG!-„Á!„´w„ÒBÜBH apG!-$æØ2ªÔT•JUxŠ¢ ÇF!”—˜Á=---êæ+WB J ‘H¼½}ü;tJO+â;!„ЧuUBÂÂþýiþ"™,ÿ‘Ù?|ø°&h…‡Nù­d®nUo~õ±»:›f–ë…×wrûæf§½±úgMñÄ=ÛøE½…uÿ‰þéyZ-Üÿ«¡ˆï¢|‘÷{ük7Ùû`w»R´›|nS/å–ÇÿtÂ1تÂD®sçy¾ È Ã\ÃToß×5íò®ˆ¤¬E$îßÿ] åÂÿ"?d-Þ…ì½mئO]C#ïﶬï¦+RÞ« Õµ).ŠŸqå„ØÄ îÅ™ƒãø‚R1ûÔJ¹°ûfrÆ¢¼º+ҲǷ”³»n¦d.Œ¿ºûº¬yßz† S½MÏnͬ>ß G!TYˆ\r×)tª<™LÆó—e5:÷rTžÝªyý!bW˜AûQ£»%žÞ“¹0)b÷5ÊûËÆrмßã§°x.”‡:ZyŒ?±£»Âئóöç<ðqÿ®üºu…±µk‹!A!ïó=tú³ã ûµp·‘+,j5é_®ûÐqéñ›Ñ~brdlËnkï«3V“Ô˜ƒÑö£Ö8ò÷ò¯so‘”û§ŸÔ™²ãâµSË›?\?´õ7§,†m<}õܺïÿ˜0qß+ àl¤E/î6`]R‡Å®F†Ù8g°EÖo×)Ÿ)¿½plÓ@é¡™#×ÜIÏçÓâ•7b-‡¬;véðš†'gwì¾*6-o2UÔ¢€6S.;LØ~9&òÀO-ž/ëÞjò™xA·ÎŒ³á;û˜‚ëw§¢nÇÄDojÓé!¤=*V?wZݺU{}ìÐý4€Ô[{/ðÍúz2Õúº¼=ºÿ® @sà|Šç—-ÍóËw½qC:¶ðñïÑÉ݈J¼´dõ£–+7LíàYþnç™?w¦Ïm<û&çÌÝì˳~Û6³“WênmÇ®Û2Ô,’Ùx9Ð ÿ^NPT³³ËxØZäúVЭéSbÿ¹ŸY[“rûx¤ÊºI]Ó"OÙ tm›ôœ°ü`ĵŸ\ïn\~AYD½@D¾÷jZ5/ÓŒšÓul¸ê½½túQfA{{ùäC©k‹º@I{B"¤}Dî IÑ4[@Ù\­V'%&J$E…M}/ýw¶üõØ©¯Ufb§nÝlý¹ížu§NŽ…uÈÉD[øOëoùbmßþsvž ¿}ëê©=[ÿºò.×÷ŽÌiÀT?rdì°eÇ£ž¾¸saý¸¡›”ͧŽõ«ï|ÁÙ”a¿ÿºõÈåë±÷cBO¼ðLjX•°Ö;îú‰ÓWï=ý/òð’¡Cÿ§nÿÃw]˜òw÷î>~úÔÕ·(ZNéxñWS·_¹ÿüñõó†Îø×jðw¬i`,\mÈÝ}»CbïFGÆÄ—°. !T‰\-S·®ç’E?k ﺺºÙËè2™.MS>>͋ڇW¿vŠ¿vYôh›­úE×¥GgÛ õ|@W—â^Úä‹_/pþþç-³úþª¤ÍÝëùMöÿ2W*iµ~^Ñ›ÿí¢‰í¾ËÚÍzo¾<»gÍbü4(¦³AûêâoKߟFhy&½ÖZà­§E´ɱ[ýŒ³r÷ù¿+ÓÚÛI¤ž£§û œ6(¤ùŒ-›X4úéôq›Àï—ök:þƒ¡}}ÿŽîÛ\NHìz- <0tY·f+¬ßqx¡©~QÇDUÔÎ;üý OtáìÿŽ„Bë[€DßÐàãËü«{ç8–eKšQ”ƒêz`ƒ6Çý{õû:Åù!ƒÒ„qqq×#Â}Û¶+<剓§Ä,¹S4¥J-IÉ!„PÙ¨`]!B‰ƒ;Bi!u«rÒ«¿$V¹¤¼sª°°äŽBZƒ;Bi! î!¤…0¸#„ÂàŽBZƒ;Bi! î!¤…0¸#„ÂàŽBZïPEU—Z­æXŽ¡è¤•1Ц©TÊÈÄš' ƒ;ª¢ÒTª/_ÜŠŽŽ‹+ï¼ ªŽ¦i¹\^ÇÍÍÞÞAO_œi0¸£ªˆeÕ/^¼¿vµm;¿êöR)þ! òÄqÜ“GÎ;#B-gg†É=Ûs)à5ª"VÍÞŠŽnÛ®]MG§òÎ B •Jœàzd¸#!¸cƒ*ªŠ!Je‚½CÍòÎB+ä‚@8Nœ)ë1¸£*J„¢§kG¨ä®„\„Ò´ÒÓM)h‚Ò’ÂjT¥‰õ‡„P.¥¸´4›ˆuEbÉUQ؈Š*&‘zBbpGUEQbUn"TaáUe¢Õo"”Ki.-ŠâÑ XrG¡Ï$>>>>>¾ µ üh¥ î•÷ô÷Ö cy£%wÔÅH9£¶¼éªÿØÂ˜´Øø¬XE‡ô˜õåî³o¦y¿ÇOa3ð\r±ó]2ÉçY)ö¼Ç"6ªÜâãã ‰ï"Âà^‰±OmÖ·Ó{°c×½´¢“35®Ø2¿½•ØUq”‘÷w[ÖwÓgwê{Ë™Ö{+ëéºß°e–·‘XíL@QØ}NšÈ®T*•Jåç‰ïXç^y©îß~¿ö´ívöß±3vÆÂúz…§—˜xuìUѩަgõ²Ø±†ÔÊ»{OñwKQ”ˆ}ŠÊ%û¥•àååµnÝ:3fL@@À‰'LLLrm#b°ä^i¥?سã‘ËÀ¾½ú:½Ü»=*U³˜(/~[Gá4údœæ.Š´˜e-¬jO<› |¬–”W~ÙÜÅÆÄX®ÛÕëöÃágÅ©×!©÷ÌéÙÔÙR®°qo3ê¯'š+1{µŒòPG+±ó'vt·QÛtÞþœ>îß•_·®c£0¶vm1$(ä}f½I{<»§›‰Â²v‹>?‡¼´ÞÇ¢ÉÏ÷…§+[XÊÆò6¼äsTËpoCVhëé`"7w¨ðÍú«ñ|Füm›;¥g3W+¹Â¸Zã«#’Jr y÷wk·‘ßí\¯º1Ã0fî}V^KÌØCú“#s{6r4aC»º~¶ßú °–×·h6é»á~nÖ £kÝpØÖ;ªÌ=ªŸݵ^uC†1ql1rcd">Yeéèè 0`Æ R©T*•nذaÀ€:::ySò<6¨VyiwþÞù¼öWªë;víëôöÀ‘š:oJÑrîæÑú™~ôi·×|³ ×sÁ® ¡g¶Îâ笰ÿêàÍCÀvøÞ1·cbw÷±ÊVyB/N÷í8ÿ~ãÙ{#nÿ»sŠsøLÿ/æEh¾ÖHʃã·Ýæn?}åôŸÃ ÿ02(6½ð·$ð9â-I¾4Ú¤çÂÝ!×/ïúÆèÈŒ¯VÜNà_íùªQ÷ÕI]Vž½÷ lÛHÓC÷_uOóuÈ+Ã=ª9xÕá°ˆó›z¥ü9zø¶Ç—§µîµÃpͰwOÎs;?®óäSñÞ«(}}ýÉ“'ÓtÆ!MÓ“'OÖÏoôGA(ê±Ø°Z¦’REÿ¹çu)«IAêØýK§…k¶^]Ü¢­1PÆÍfo|ê‹qßúé×]»"}ô¡9>Æ9*¬)#ÞÃ<4ÏëÕµ}±ëðüKÒ¾6+ì€i·7,½ ?0xÛŒÖÆØ‘z¦?Æä›´Þ¸À!5ÏIâé%«µ\uhj  ÆÌŸ;oë¹ñ웾_™Æü¾<Ä.0dó4Mm}mM†,m­2Zjlmkg§©ÅÏj¨^]¸ýMã¥Çô±—8þåÏW¡Þ¿.¿8åï ô¼ÇNÜÆ<¾ lõ[¿‹w>wBªêYŽ2s',G(}ï±ßjkµ§¶þµï¹¨÷ß9&l›w€íø×í-h»Ñë¶Å^ö_¾2lȪjžP6í'LèÛPœ¦NYý{àÙ;IÃmô^-¥ÏÞU£Z@ŸçnÞ>zMÈÒ6í û‘Q«‹([äÅröv(,¹WN)×ÿ8ðÎýëvR9víã”tlã儌;Ê QàæÖ‡¿é±”Ÿ°if#ƒ<Ž{²aêÀξM=ìëO¿lWxmŸ Œ }!ñèàe\²vÍô'—"“Tç†Õ¶23·03·pè±ÿƒø"‰”1ÿ¾¶lëçXüvØô'WîrŽí[ZgItj¶óµR݉x™ç¯HjhªGó¬PÈ›¢iš ÙÀÇ×Íx!õÁÅÿÀ­[ÓŒ*zbàÑ©‘îÛˆ[ñ\ÆÝâ™hS}šg9Õƒ³Qª¸¿»Ø+& …‰I­!!|Úû7ÉãõÇ¿OÈøÈH „MslVÆ4Ûd¬%„pjì'[+ëã§tÍ,©ÞÒ>ÙOuzzú®]»bbbƒ‚VÀĉ“¢££ ¤§§—{ñ®,¹WBDºùXrý9‡C._¹¢y\<X'í¦3o5±2ýþÆÑsŸ¹|¢Ó…éã¶?Éõ[/ýÑ‘ƒkNX9­ƒ›‰Ž$gpÌ?úH®uMùè£7KvñÉl¼è„/'(ªÙÙe_%:ÞNôÓ!o2×¥?>{ñAÝ&Õòi˜*–| \_eÄxÍjBìá°¸ÌRwò­£‘*›ÆuMh’³äN>þ™jõíáéÙˆts»,¶fºAU@Þ‹K.—GEEyzzyxxFEEËåò¼Û âEw,¹W>$þòÆÓ¾néažõåÌ›Nj±bܦ“¯{mËÆ®þó«{÷Žhô2õRË™ßli}è§£ÿKåöÖ’G»×ê6£‰*ìÏ…s"Øm`nÈÿwd÷±š&u|[ä ™úõÇŒª½cñ°ÁÕ™ÑÍMþ!fÿ¥WŸ i ÿiý-{­íÛ_¶prW/Káeìí·vûùX4;Üåïå}úÉLíÓ¼¦äík‰KÃZF´Ô¤V5æù±]gúé;pjs·º†™û’Xw ì÷S¯™_Ï‘/ÙLñælЄÅ÷ݦmjn ð¾TŸ$ùø]F²UËd® „0ަú­=vèRé‚þ̣ËGoR6_6ÆC—¸ ‘Ú÷ž°dÔÜCØy£ýj+TÏnßIrëݧ¤µZ¨ò"9‹I …"8ø`·nÝ 8ø B¡ yÊQ„–åò./,¹W>ï/lº¨Ûeœ¯yö“'±öç¯{mˑɷ~¾äýÀu³›ÓºµÇlüÉ3böÈ ÷²UKKìúnØ4Úúø˜ænރ׾n3½—µ @æØF_Ë+ó¾1ïг<-;º3Žž^Ô.ñïI|šú³õµk=“b” h“/~½p`n›äý³ú¶õiÛoÆÚÃ7ß© èzÍ:vr±ß‡}Ýšyx÷™±æè“t LÚþôcGnkÿ-ºŽ[39[½ mê·êÂþom.þÐÕ«Žw¿÷¼Wœ?1Ó³ˆþý+¤Ê=Ûk‰í—ÛC¶}-Ù?±‡{ë[•Ý6_Ú3¼†4#M¶ê$s›>Û.î˜æñd뤮¾Íý‡ÎÞtòŽ’JWD•KÆÕ•‡B¡8xðÀÁƒ4‘½mEAíܹ3À߯ðDΞñïØIàE룃PùJII9qìh—î=²z§!$–ÛÑ7½}Z~øTÒ Õjõ¾=»Û·oona™oB„¸¸¸ëá¾mÛ¾«'Oaµ ª¢$R©ÀóXK‚Ê)ÅdL¢–Ü1¸£*ŒàLL¨¬”âÒ’J¥"Æw î¨êÊÞ¿!q•îÒbYÑîcÂàŽª.‚s¨¢2Sî—wTu%*• …¢¼s´‹kø¸ÒtÎ%Dq$j î¨*¢d £R¥ÊåòòÎ BÞ½}§P˜ˆÕƒ ƒ;ªŠ†qtt õiÖÜÌÜœ¢?S¯A´uVnµº8ÃFW>Ë~† Âv”¶ IDATǪ¯……zxz22YÑwT12™½ƒ/‘‘቉‰B)z­@"•VØ9ž¤IéòFP"z’Z"•J+èçFK$âé•?B<¼¼,­¬ŒŒÄ:ƒ;ª¢ôôõ]œíìì8îsÍÊUÊ¡ÕÐgEQ#“æ?MB)`pGUÃÈä q~#TÑà½×!¤…0¸#„ÂàŽBZƒ;Bi! î!¤…°· ªºÔj5Çr„ˆÖÉ¡R£hš‘J¥ŒL¬ž«ÜQ•¦R½xùâVtt|\\yçUu4MËåò:nnöözúúEoP ÜQUIJê/^„_»Ú¶_u{‡Ïqÿ!Bã8îÉ£GçΡ–³3Èpû^Ó¨*bÕì­èè¶íÚÕtt*ï¼ R©ÔÉÙ®G†ÛÙÙ1r‚;6¨¢ªˆ¢T&Ø;Ô,ïŒ ô‘±B.D¬¡å0¸£*JÄ;¡,WB.”n(:š¢ mv0¬–AUšv†ÊQ).-Í&b]‘XrGU6¢¢ŠI¬1<1¸£*Š¢(m7!ÀjTµ‰V¿‰P.¥¹´(ŠD+p`É!„>“øøøøøø‚Ö2 #ð¢•60¸—ƒç[ZËù>ü÷ÅaI!­PH|÷r`Õ}sÈ…ó/œ¿xþÀ÷u@ÚlÉ1ÍË —Öµ“—¼9EumŠ‹¢ÅÆg•¡Yxów[‡‘!)圊Â~èsÒDv¥R©T*?O|Ç:÷rÀ˜Öò4òîž%5©åY¯žh3'¢â¡(JÄ>Åå’ýÒJHHðòòZ·nŒ3& àĉ&&&¹¶1Xr¯€„Q[FûyUS(Ì›ö™üy:¨nìhiÞvÕ4MšwG†;Z¬»þƒ»Í[Þ ÑÓÝÍÆró'’òì¤ÞÛ;³»·³µÂغv³>?z”FÒ"gx8õøþûaöfÆrK¿ÀàçlþYºµcJ§¦.6 c[߯ƒ¢TBâ-:6p´0VTwoýõÒs¯Õ|nC!?ÎزN5¹\aåÑcÁùw<€òPG…˘p!qW';c¹Â¸þâØô³W[á³îqÆ/öÑšfr—iá*H¹8ÌÉyÀ¼½V“+ÌZ,I’oÿ=³»O¹ÂÔÁ³å×àC'ïþnmâ6òû±ëU7fÆÌ½ÏÊk‰w¢¤?92·g#G†1´«ë7aû­û`y}‹f“¾îçfmÀ0ºÖ ‡m½£ÊÜ£úùÑÙ]ëU7dÇ#7F&âà“U–ŽŽÎ€6lØ •J¥Ré†   ££“7%Ïcƒªöâžýù¥ÿ÷›Í ŽŒÙØGµö«þëï«Aæ8dý²æw~ùÛmïŽNúûø†P=pËÚhÏAKÿú¯Çt {OÛÓ‰§éCÖîûóʳô®æzÙ÷ð!ô—µ÷-ŽX3Ü^ PÇ éò²5±Ž3®¬ê® ½ú#éZ½oùÞ÷+9PîæìbNxÖœÑmuûkoØæŽæ¶¶f:´ÄÀ®š&{…f¯0._MÙ¥zÆ[&ï^=V‚uýÞ.†48ÕiXôgÍr¬9˜;a9Bé{ývP[C¨=%°õ¯}ÏE½ÿÎ1aÛ¼lÇ¿þloAØ^·-ö²ÿò•aCV5Pó„²i?aB߆zà4uÊêßÏÞIn£÷rÏìm)}ö®ÕÒúü8wóöÑkB–¶io\t¶VP«KòËX.ßßÍ¥„%÷ †{qå=³¾µ…™¹…™y5ßß^ĉ<€Ô®ÏêÕ^,ë=ìŒÏª >ù…ò<„„[×^ë6èìe˜±€6mÜÅ ]~”–;©ÄÐLŸæ¹Ü%õËð¨äZÙä8œúŵÛ)–­ýu3H­Z¶w„>ÍsIÓ†fú´ÀæÛÇ«Ù+eÖî»)MŸþܺV£Þ3Ö¿£,ªèOÓ4!@²€¯%†¦z4ÏòBꃋÿ[·&¦UôÄÀ£S#Ý··â¹Œ»Å3Ѧú4Ïr!ªg£Tqw±W(L “ZCBø´÷o’y‚´Ÿæ˾$%%%((ˆç3Î?ÏóAAA)))¹6÷®i,¹W4¼š¦åo—Öûgõ›‘Ye„PZÏÜÒ QngcX¼/f͵–· Nñ¿Ö‰ æø´¤ôœu $ÿ¶Ÿ’Î"StöŠÛÆD›¶š{üîàËÁ{vý±ìKïÏ:y(°^ÁÓÐIö›˜¬PŸuج¿ÖŒ¯Œ¤@(Ð4Çf½ Í6k !œšû Á‡ÇÖb2HéšYR|lHûd?Õééé»v튉‰ Z'NŠŽŽ4hžž^îMÄ»>°ä^ÁHÍÝœ Øè³OõlªÙÙe<¬ @ˆ?ûý7{k~· kÒÚaóþMʸ( CƒÀæ_T•˜¸Õ·L‹<œ±@Hˆ8 µZ9éå›>/™eݚ̓“gŸ©³/Õ±màª÷öÒéG™uîíå“¥®-jèæ³,”D*žÍúuPhö$2‰ŸZüJHZ¿fËþ3Ö‹:5ÆüÚo«#‹êp™Oë㫌¯S£YMˆ=—YêN¾u4ReÓ¸® Mr–ÜÉÇÂ?S­¾=<=‘nn—ÅÖL—"¨ È{qÉåòààਨ(OO/Ϩ¨¨àà`¹\žw[A¼èŽÁ½¢1òž<ÂI¹opï›O„EÝŽ8w`û¶“ÏYÞŸ˜9æ€ãÜuߎùuC¿´ Ãç\P Œ…« ¹»owHìÝèȘø\±PÏkÌøq[‡ŽYw.öù³[Ç1ö´ë¬~ŽL>GÏeê;¥¿õ­9]‡ÿr ôÞó§1W#ž«(ZNéxñWS·_¹ÿüñõó†Îø×jðw¬ ½¦(ýêΊäË;GÞ»s3êY*)${:Õ¼½ o[´åÌõèˆs{×.ûß_øÜ«Skƒvœø7êîý[—þöÌMŠøaZXµLÖKÆqÀT?rdìХǢž<=¿nìMÊæßŽñÐ-x"µï=%ÀàöÜC–ì½yëæåc;7ﺑ(ˆ=P…–yuå P(‚ƒšššš™™T(ùn˲é×VËT8ú fŸ>UmΜuó¿ÚÇ)ìëx´éÓø7G¦=\kÞ•¯j04ø-üý«f=F~ß)tµŸ™Ä®×ÂÀC—uk¶Âºáð‡šæ¨ŒÐqø‚É3~ÚrVnøýÒ~MÇ0´¯ïÿÃÑc›u–~ƒéóû…ŽöÝ£pî´àÀ–öfÌ–m3|ú½ZsÆö ýº·mmµ¯à=§=>¶lɼljj`̛ޱeª[>]Ͳ#ðñWpö8óµÄöËí!º ¦-žØná[°tmÖkó¥Ù=jH aIæN2«eHæ.$6}¶]ÔÿåûÅ['u]¬kíì^¿Ëœî!Xœª*òÆh…BqðàÍ“|#¸Xa]ƒÚ¹sg€¿_á‰.œ=ãß±“À‹ÖG¡ò•’’râØÑ.Ý{dõNCH,·£ozû´üð!ï'EP«Õûöìnß¾½¹…e¾ âââ®G„û¶mWø®Nœ<…%wTEI¤RçÅ;¡\H)&cµäŽÁUaDäÂe)Å¥%•JEŒïÜQÕ•½#Bâ*ݥŲ¢ÝÇ„ÁU]çPEe¦Ü/- î¨êJT* Eyçi×:ñqïK±!!‚ˆ#Q+¸ãTÂHËP2†Q©Råryyç¡ ïÞ¾S(L íÁE¿FmT1 ãèèêÓ¬¹™¹9E¦^3‚ hë¬ÜjµºèD•DzŸ¡‚…űêka¡žžŒLVHJ ÉìxAˆŒ OLLJÑk­©´ÂÎñ$•HJ—7B€qГüЩTZA?7Z"ùµ„xxyYZY‰3t(wTEééë;»8ÛÙÙqÜç(š•#ª¤£¹¡ò@Q#“1'[ö ‡ÁU] #“+ û ŒPįfï½F!-T¬à.‘HDìZB¨¬+¸S4]Æ­)!„ŠP¢Ö¬–A¡Ê¢ýÜ1¸#„P¥AQT1{îbpG¡Ê„/ÞÔÜBH ¯A•µ:½èt!„Ê ÇqUÜj÷bÆÄ½gna©££SuîvÓ,<­Z©*œVBHZš*%9Ÿx£Ý+¸×¨Y3êÆ ·º”¡‘qe‰íŸþ%Äqœ¸³^UvÚñ½Î ‚ˆ#É|"íøH+"<ÏP ÕŸ(„[ÑQž^õ‹“¸XÁÝÊÚÆ³uïNlb¢²âüaŽaÐîóüÙ1Œ´dýlQQ)ƒñ]\R©ô³ñY(O¯úVÖÖŹ«´XÁeYS33ïæ->9g!„>I1Ç ÀÞ2!¤…0¸#„ÂàŽBZƒ;Bi! î!¤…p&&„P‰™š™—wª´ø¸÷E¦Á’;Bi!,¹#„ÄGQód<˜‚We>t)ЧA ó{¸œèHÓu™4&]ŸN5„dÍÃR²žgäZ®/¤ê°éºlš—N¥$ç÷(x9I¢!H¨¡ˆ[ðª>ùöx,¹#„ÂàŽBZƒ;Bi! î!¤…0¸#„ÂàŽBZƒ;Bi¡b÷Ô°É®fæYË ºÍ9ôXìyU“Ï©fÕýXR Hܾö_ŸOùÀ%TA²B)Iɽúˆí'NŸ=sâèíKÙ\_;|ðº»e§’>Ö‡°ƒZÕj7óçñݽm-̬\[ûë^ZƦ|B俉ëÕ°¶´woУ³ã€3ò¼‡|òÆ=ù½•­Ï‚ÂÓU¾¶æfæ~¾â!=údžµ:Ï7¸¥«¥¹Eýé×RÅÌB‰¯ÄÁ\Zü—6};ñŸô¦_µ±”€ðþøXÿñ&l¹~ù¯Ñò½£¾\r=„w‡GwŸy©Æ˜Í'C¯žþsɸŽÎÅ>¢Ní©'Cÿìe .3E܈º¹¾•QŽ|âõS,Úuúü‘Õ]Sv};þ¯§¨lüªç’·×]yôòÞùí3¼ÓÔywŸoÞ¤Õî‹Ø?Îl†î ¿y#*êï^–ͱþ=ò¼þ·‚÷o›Ó¥šT¼l „PY(I•ÊÝymæe¾°n1ñÏ «K@ýð¯ÇŒGŸ\4ÐCÀyÈÜ)Û›üºãöÌ¥ž=OÓqhäÓÐÍI—rrr+QÞcK[K# -SØØÙÙIHŽ&LÊÚü„¾õuÀuÊÄß·}ò(m¸=¹æ×¨ó¯~ÓÌZ çÚ¸¾“ÏÞùüóf`ac­`hÆØÊÖÎNG³Œ°ï:iLwÍ'Z6B¨,”¼AõèúþV`Þ?hÛí¬5Ñ*õÎÙ{Ü“ ?[ëêÞ?Ĥ—‰cßkÖ`Ç«S½ë´:÷ R„²y3}šgÜ»‘J›æõL%…oQ&y+y6B¨,”$¸ëÛÖñôòjÒc^P?ø{ÒÂÐ$M½:xN÷¹Ç®†_‹¿uóÆõu­ @jÛå—s±—ÿ77@vanïF^ý7ÿ—U5ñÉ#ZæOHKJãy–+2aayûŒÙ@¡2PŠUÚ´Íœ_º¦n™°<<…¥oïe÷OÇJ¬ì²X›È¨Œô¹ëƒgm8¾£9»zǽt $ŒDH‰WPVÎõ) #¡D!’±òª­ûøð±‡Å‰Ôyó@I¤øä°\¢l „ÈJÕ[†¶è°`‘ßûuVE«@×}ؘ|È·½'®?òoTÌ#m9øP êǃÖï;{íöýûQ—ŽžŒJ¤-íåÙy{<Ù¾dë¹·"/ì_¿b÷šx.103àïîÛ{âÌékï8`Ì]¬É½û.ÇÞ»u=6ž/Fæ(“VSGÕº·pà„õ'o<|rÿê‰ÓØ|~$7©¢V5é‹ã{ÎÞºûÆí7¥ ÎÅÍB•…Rv…”Øt_2Ïçé¯ÖŦÈjÞ{î·a67VÓå‹–ÝÇ-ÚòXS…M’ïìŸ?¬‹¯w³/,¾æ¸ëÏAÕ¥@™ù-ZûM­ðŸú~ñEŸÉ£M}[ZÊô¸sí‰{nokmˆÙ@HENÓì•é4{EN}âä)­8Œ(#Þ¬êXÉ0¡ªC+'ÈV?;sè:ãâf'y}mÏ’™û9¿Õk}þ¨ZA²ªŠ´1¸óʘs;~ú_Øc¥ ·÷òðwÈø/ª}þ7ZA²ª’´1ØH,æ ˜Ù@U]Z_çŽBU‘6–ÜBåÊïà€.@i§[ t4ÃH)Jsl*³ÔÌ”2"À’;Bi! î!¤…°Z!TbEÞDƒÊ–ÜBH apG!-„Á!„´w„ÒBÜBH »· !j5˪Õ)³yPB€¦i)Ãèèè3}ñ‚;!ªÔÔ‡] }óæ gF$„Bâ i‰•••wSowOOA(V »XÁ]­fÿ{ôðü¹3:v©VÝ^"‘|Z>Ë!¤ŒæÜFÁ“^õTÍ“ÎóüógOÏœ>i`lTËÙE^ô´tÅ î,›~-,¬}‡Î›4ýäL"„*1{S“‹çÏ»¹×-Np/Vƒª 7oÞØØØ~röB•’ÂÄTͦPÅI\ÜÞ2‚ÀÓ4v­A¡òÄóÅ­’ÂxB• U¬‚{±ƒ»L†“"„P¥QÜàNQ´Z­.Ó¬ „K ªe²º ‰QÿØqæ9[6YAÅÏ!Bý¿½;‹ªjþÜm†ÕdßEDÁRQLÃDÉŠÔ@\H_K25Ó,_—¤2É~¦e–)fZQ®‰†hj¹¼¢¦¦!¨¹!.h ;s·óûƒ@”í«3ó|?~ü sçÞs¯ðÜ3Ï=ç9º¢)Z•†µúäÜ¥»ûãç½³.£´ïmO~ BHWjµZ””Î!màÕâoú;=äìÛó…y‰Åe]|rk˜³ç„ƒ ;†²C;¹¶zqÑ®ëuþD!çhEQWó–Þsö'Mñ`ùÜkçÿ—´bîŒÑÄãÈfÖÆZ8OXûE„#k îf¤¬^ü唘Ö’b}”=LF!ƒ¥´p]©äç3ãpÖ ( Yµ‰Zͪí}{Žp¥¬{)íF‘hÖ£,Í}ý®[ˆBƨ1#°˜yÿË·{yFß6åû%ÚcïE¸9¹vè9|f©±|kRz-é½È~Ý|]œ<»„Ž[zìAî¯S:xÙy¯¢(N韋zxJ¼#öü{=;ŒZ÷J¿N®NNAoŸ,©æTT–*`UöÛBJ•æÜ•—ü±¦§´ソ–‚(Ê\§è{u¥øêšâ›™”—…µù¤a–£d‰°g øüæº/ ±c@òïÉšûÖç1mŠî‚3W¹i²¨Í»qjûÒY»µö±}"Ëš!„PÉ’X÷F Cp¥êLºOKÜíÆJÚ¼Û釿ÿäýéƒ.•ü.ÊJíÖg@oKOe_çÿùÜ'ñ‡^Û8ØìB§Çf¤|öº¯ ½tŽ~Ñnè†äÛ£¢Y(<³qwIøà2tÚäá~åÅŒ‹.Æõv‹+oGÛg^[¿jŒ‹§„BúƒR89”§e¦æª4öNŽŽN.~ÝMŽÿaÝ G—¯9W5q¹;hÓS3µr^zê]›à÷ÇÊΫۿåqá›]™"üÔ ûH¿è «ÚÎÆyÂÚ]{öìXa6Ë¿šÒC;BÈ@©M”®Ôʃ;Ë),?@[wy¾üsõ~µŸI€HZIÒ–Vù(Àº˜ØñúæW´¹G6R ŒêjYëÑÌ}ýº ÿïòIâ¬¥Ç Œ®Ì3BȨ(®eßèCZHAÚïW)·î®&U^nþ~øíþ”“Šiåå£É;¶÷b•î=ã0à•îÙ‰‰GSŽY†½ÜÙ\ÑAië>ï|8¤ø›™Ëÿ(ÂðŽ2X²âàÞYŒâ[éçþ,`@.ͽq:iMü&62q¢OÙ#O¢ÍHÚuĦ›­xãðú…¦· ߨ߆úéWÆyÿôiÔõ‚×G¹2÷³¯§<-iÚ¦OLŸw¦Ì^ µ™°Ð¯ê¢´í€ÅKB‚_Ÿ¹jÔ/süMá¬Bè‰#ð‚ÂÌ{côÜo®:hРACFM^øýUÿI{ãziÊŽN™¹uãö/|¹ß!“WžwMس,Äš“N³¶m_R¸cþè~=ú{gÍÞÌç–Rš“›ß.ðî­K%JÆ~xÜ{f®šñU:ÎRE;¥=wŠ¢¤jj˜ÆŸËНé=6£v\ð~uGn³bWL5¯p­lÌ¹Ž‘aîÇ;ª;ÍOÍš_õÐîÑ5ò§+‘µžBê¹+_Ù0Eg6ß ?ؾ „PeM0²ÙÜ#k¶çŽïos‘B¨}]fOº“¼:Eì=þ9Û'­e!Ôâ´Z¥ÏŸ´Ôã0zÛõÑ-Ý „ÒsØ?F!ý IM+MX+ îj•º ?¿­B!Ô —/fØ;ØËr e¾¥(-Ãr*ÿ€¿î³µ³õnמaŒâY§,ËÚR\¨ÏÐð‚ ŠÍ3î 5Ÿ’ââ–nB“Ëϰ%11lä(žç•l¯(¸«ÕêN–šVI?ÿ|çÎW²¬´ p ¢iZ¥Ö¡ÈªDzlKÝ×) ÄÐêôSQ«q2ucb9Žc ¶ëIQtØÈ‘í}}‹‹Š”l¯ôª,Ë^Þíüü:R4¦é Q\¹!Ôœ!<Ï+Œì Óh^«åÂA!Ô‚°ŽBƒ;B î!d€0¸#„ÂàŽBèI«-ƒª‘$J²$ÅuõEQ4C3L1Џ_ åI¼L¼i(ŠMiÌi;KFÙBLÜÒ"/dÝÎ:î\nNNK·¥ÉÑ4­Ñh:øù¹¸¸rªj–d#®ÞnÝ{ð×å·ï4 ›ÃÐvÖæþÞ.EvÖ6œ’øŽÁ!= KRÖ­¬S'RûöuusgYÿÍáúÕ+eÙÓÓ“®Ò¿_(geçžüëÊËžöv³gÏ0ó‚˜qíöûþìÖÑÓÒ¤­eÝq üG!à IâùsçúöïïéåÝÒmiÇyû´'gOÿáäèhjnñØ9EbÚß™cviïáÐ"-lf*Žõoç"Ëòo\mkc­$¸øí!Ã@äå=ps÷lé†4++++I’ÅjVoA‚ìÜ"o×¶ÍߪdcÕJDE5!1¸#¤/dY6’‚¬hš!„T[ïˆ$™5ôlÌc(š–e¥ íaZ!}bT•ÝÊN¶ö6ª RFVvÆÆußCHüCÔšÔ40DÅ×ç]apGH?P…ËŒTFS”(Á÷ú2Ò¾Bú©ú´Á¢(I®í~&BÕP~?Þ;Bè Åqœ,W쮚c$…w î¹ í»¹án–eYÎÒέv] OIDAT³Û°Øµi%M~Ü’“o¸ª»~~]óI¤0}ë’ñ}Ú·5gYÖÔÆ3ð…·NüS¹ãÌ_XâÇ:ǦV,àÊ_IaÃÚ½°ñš¢eN›¦eÒUÿq¤ðÌŠ—‡¾™tÇõù)³Vôêâm-=ÈJ;u]c®¿¿ÿE±lSöM¥{É3C†~vÁ)ôõy_…øµæ¯ÿiåÒ˜žßîùúÐÆhÏj*"€|ï¬1ûü>8²!Ò½º š—þþç"d\(ŠªiÐw­HÞ¡Ùao&Qc.¬ëmZ>ö$, þ{€ú4j~MCÓ@šè äì¯ýì‚ï쇖ô¶.»‰ 1öÅgº¿19ªW¯±^²?„"1ò &ö—­3Ìš¨Y:íÓ24ùöÎ…ënÙŽß°²Rd¯¤ôÜò1A^mL8Žã4ÁS7\(&Âåø§m{NŸ7)ÔÏÞœãLì»N\Ÿ^‘Äá³Râ"z´³3åLÎØž%)¹üýôÐŽö¦œ‰mûЙß_,jŒð&K-‘Ð3·/ÛšçðŸ/æ•GvÊ´ÃäÕ‹:IÇ?]—Vúè„ë›'˜÷wØ7ÉKCÚ4iTÅœ;BH–Î<¯¤ðܶ“R›ÁÑÝ5Õ§ÌÝŸ›üþÆ”ÿ¥þ¶ó£~÷ÖÆ¼´"ƒœÜsÕ#zÅÏÇO\^´ñ?“®‰ ÝÝ>¾Ûà•yý|wøì‰m˦{Ú†ùÞÏzMúÕ{ö–3—Ïm›nõ]ÔÅ'‹t¶ ɵ²Xë«õWøçŽ3Ð&ô¥Î—´á\‡Žn×’Ü­tÏ‘þ90wÐÄ_:Ƨ¬}É…k’=$*þÀ´ BzC™èÎäüÛwKÁÊÑ\æµÕ>㣜‡Lˆü÷뎞‹~ø&jßùÜY.¼D(‡±±]MÀkÖŒ•_Îù5=’ƒúÊ·‹¶²1»7ý··%Þí€/LûúÝ­¦Z:¶³ €Çø÷Þü2àãµ§Þî Ȉ(ðZ^÷8,ˆBE¿k/çgç`ålQõ¢ §ÖwoýSÂÛ«$ÂÄ…û/™ö›3̪¿ÈEtØ=w„ôMÓD÷3¥¶¶VAúålžt¨þŸœwúÛ–'½xýfæÍ;ù‚´¢üïÄÿòT9mÞÚŒ–Q&¤äÒÁ¿Mº. °x¤)Ei)âµ Áö+Ë’² •S®HÛ‘njŸ”[¶hES$·)k+®ÜÈyì¢ ¹™9v4)ÿß`]£7¬ãCÇMóØ;¿G+eKiÔ‹N“r1¸#¤h†©Ï$&3¿!þ¼wýáœgXW;•Õ#CÞ)ž¸fu\/8Õ."¯R$.ÿêß¿!DÔ ZR,>Ò" ‚ –ìÿ!Ü®"Õ˘ۚùáóT݃píïaYº©ž§šuûöoý«¨g Yå„Ìä-à2½‡-SÜËZb?bÕ®o÷™;|‚ëÑMÑê&hèx'Ü;BúƒèŽv>/¢uÞ–ÉÓ6].–UÌ>ôý)ËÑñ‹^ììlmaÂÂ#ýìÊ[–^åÜÅI<»íDNå}‰ÛSŽpqïyª­S{+ïH7ríáŒ4`×µ`†¾>ÄâöšØøãyÒÃo—\Ü0}ÑYºëÔñÔåßB€˜øNÙôÓ4‡äØasSî‰MÒ¨2²âªØsGHoRÛèÀšX…|´iÖ¥á¿ÚõìÖ˜IáÁZ‘¼¬ô§ø¡ gø8¸šåü²ú»Ρêó[–ÍÙË“ ‡+}QþO•OäkAŸ¾ùBëÞŽìëk–{SëÖ­£uÇI¯výòÝé#_ÍŸ?®—§Yþ•óâ3Q#½h3séò®ÄÝî¬;<×ÛY§N-!DýŒPeƒZ^mÚnØÇ_F§]tfÚQ}}[•^KݾzùY]µ.Æ“­ëÍ 4½l_›3vŒËþíÓ;™5Az†"ˆR7¼Šshüã#„šF=û©”¦ç»{Nïøp‚ÏL  ‹ŒKÌ - /kB–m˜pæí~þ]Ãß?ã7m²‡IEH'•X1ž›°î1?þúÙõ¾Åcž è6lÚÇ[Ó dÂy¿ºí·/bNÿß+ƒû<3tJÜ·¿_)” áSÊ‹Ë7Ò·»¿s3`“÷¦`Z!ýÀ°¬,IM8ã TkUÅ1’$³”wÐe ,w„ôGSyB±,[{|'FVYÅ2ÊOƒ;BzÃØbBó˜Œí‚h¥“¶0¸#¤7ˆñŲ:£»Û)‡Á!½‘÷à••UK·¢ùȲ\{¡ãÜù¶ÖæÍÖž'I2CS”²/ÜÒŽe‹‹ 5MK·¥ùdgßÕh¬ª ÄÐDÅ2ù%¼•YÕW Õõì<[k ŽQÝ1¸#¤h†ñôòN=žÔÓÆÆ–fê)Š¢ÜxEAh´!ugÒx^{255 €åª SVfŒ§‹}Ò‘KÃzù8ÛZ2 â JÊëåÖIËKuA@)_G&ªX+ì>v9Ðß»µ¹¢á°ÜÒ úººÊ²|æôyyy5EmŠ¢8U}Öb†©ÒA&Uç„•ª>…Thšfë¬E  sg»¶mMM«I¼ØY2EvÖþÞûÿ¸–[$ÕP—¦(µª>QŽehöñ!P÷-Ä´º[Q–áêZXŠú{;ÚYÛX(*†Á!ýÀ©T^^žNNN¢ØxèrJó¸Íˆ¢(–c«ì@QàaÃYš´¶kmÅËy=( è'ïjCCksÚÆ‚Áœ;B††fX3=^÷´‘QØZ2¶–õ]ZÖÐÑTf„2ÜBÈapG!„Á!„ w„2@ÜBÈapG!„Á!„ w„2@ÜBȱ¼7¥¥›B¨1ý?jê`} ý)¿IEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_txt.png0000664000175000017500000007512212142400477017705 0ustar balakinbalakin‰PNG  IHDRôa8÷Õ°sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝwXIðw7…Ð’Ð{‘¦tQTTT»b=ì¨èù©g׳÷r–SÏÞ{ÁÞQ,Ø;ì]TP”ž²óýA‘’`Ð ïïáy4ÙÙ™ÙÍæÍììì,µmÛ6@!T±°uttêׯ_ÖÕ@!¤6111lš¦Ëº&!„ÔFGGƒ;BU4ÜB¨ÒÑÑaw„ª`0¸#„P„Á!„* î!T±% w„ªH$ ["‘0 SÖ5A!¤6ÜB¨ÂàŽBD"aw„ª`0¸#„P„Á!„* î!TáU„ªhp´ BU@‰„–H$e] „Bê”Ór‚-w„ª8$ Î*ƒBw„ª€0¸#„P„Á!„* î!TapG¡ ƒ;BU@ÜB¨ÂàŽBw„ª€Øe]T©Ýyú1òlÜëÉe]‘2ÀbÑ–Æüöþ.^ަe]TapGeæöÓkÝ®ëãѸ¾M«pIýLi?µri`æcbÒê·º4vô«áXÖÕA wTföD?ôòpç Ò³€¼¬«Støz^žnçï¿ÁàŽÔNÕàž˜˜ðìñã””JtúLÓ´®.ß¡jU¨lÛ^ªòvìǤWOAº¸2†õoh®¬rïTJT  îÝõö©mhd¤Òés…À0ÌçOŸ®_½LÓ”·o¥ÚöR•½co^¿ „ùøêA%VL–D&‹Ëº¨R)¸?yôÐÙÅ•ÇÓHOK-í •+<ž›Í®Z͹n{©âñ4ª9»°¯]60¤¬ëRÆÞ|ø²jÏù²®ª€T îéé¡RÚµ)‡Ä"Q¥ÝöRÅÕÐ`Q•~ßš*w{Q Rpg†¢¨Êù%¬ÌÛ^ºaÑÀ0 @¥Þ·„öö¡R êÕÊÝ*󶗞ܠF*ýî%4UÉ÷*Ü¿¯2o{éÉ îTîÝK iì–Aê‡Áýû*ó¶—„EQÀ0•|÷ Ø+ƒJ÷ï«ÌÛ^z L¥ß½,š’Ëee] Tapÿ¾Ê¼í¥'§[†(îsO9ÖÊ¢]TÁ˜WujìµQNÜ_T¿‘>û§¶×ªK±Óds¼ìWg»v‘‰ò²ý\hPÜ(@×IG.^Êseg/Îæ’dz=µ«N¸[Ò›…RO¶hJùÁbUA`—;* ?ÝrÏ …`N½þY,ñÐV¾âOK?ßÏ»OæÒ[[šê›ŽÈ«ãôõHæƒõC{Í8óɼ~·ð‰5]mLjÂÓûïtx¬âÖÌ®U‘Wú”|b¿EÓ,€a¶[ Ý*îžÕ óG¾­sÎZ„¦Dë „óbs6¡Äù! …D¥AÕÊ(DÑrÚлYpsŽòõÔ øŠýHB…«»œI½:«ÏŒ3T«yÑ'×LüGëÆõýB:EŒlÎú~Ö?Z­Ÿóã»C­XtNìTp¾TÌ)“4ñüÂ^ \Ìu´ænMú.»š$B€ù´«±±×€ ÿkUÓN_K[ÓÄ«Óâ)r¾\æ#¬>ù óz¾¯ž–¶¦VýõñòBy2™/Nêè[ÕLKKÇıfËi·3HúÙ¦&­e11Mµ5µ´-#.º>Òž_gé YîŠÒg‹k küó8+§ÎùòdRî¬ oäj¢­-°ªÑvʱ7b%›ƒ-wT:~>¸+Žœé¹:v:Ä0IC=GÏ›Ø3¸®‹ƒ“WЀ5±©òìTò´ÛF„6öttªêӼςèø,ù3¢7'ÿТ·½CU¿‹îg’ŒËCkxô>#a®ö¯îdçàä=öfRìô:U[¯#Ë]OújmËjÍV>—Ý•ÊÍÛºââ“<1jáîýö &·´ÑP˜’Éx~hZÚnNvî~ÍûÎ=þZÄ(ÞqÊSŠÌò¯Ùiö܈àZŽN &ÞÊ,\ôG{§÷©ïæàäèݨş›žeånéÃ=wkîëîdçáßæÏÕ2³7éS̪±]šÔttprkÔgñå$Yî¾~yhjצµœ½‡M=ô"ƒ!„ˆb§6òé9}bï@G'{ïAk¯Þ;õßà¾NNn×^ûZìêJ±sŽ>¢èOÉ"’|n¸_Д'µ&í»óèúÎáN×G5öŸt=#ûg"ýéÑû¶Ӷ½vf[¸î±±½ʼnÙV=ß?2ÄÌÃ÷Ý{üèÉ“ÈPº`¶¢{3[tú/%dîÁ›±7­Ô³ž!´|Þº¹º!|þ»ñèÉãG×fÖ0pïÙË6nmäsIöŠ’ç»×=«Ö§­·pmeo6„Œ{RgêáØ¸Ëë:‰–ué´ü‰DÑ–R·R'õw¢ š·ÌWÑøÍF,Ù}xçÒ®Úѳ‡¯~’E‘½ÛÞyÎ ïáNFšßR´áÏ_H ç#~¸¤ç€ iMƯ=~òÈ–yC;ÖÔc^õIGÏõeçÌ#gbÎ92ÊMX5´“Õ“mG^åä yuhÇ+‡Îͬمèjåæß:å2»'6jë©£8™ôÕÖÞ-‡Öl7wOôÙí“‚²vl9äÀYѼ‹MI“z=êƒ{Ä‚-—Œ 2c,%ýêÔ®£ñÚMß~üÄáµÓ·tåÓ„"z´¼s›‰×Ì:N]¿ÿØÖÙ¶­cÆÉ.÷ËëL§nÓÖìÛ¹¤¯ÙÅÃÝÎ$„È“Nj?ê²mø²£gެìÉ?0¬ïâ»Ù¿#Ò¤ëwè ‰Ûí_õ‡Ö©YaW}ö±úÈá5L¯.ºäž¨øÕcQ”²–;!p¥—®–¶NöŸNÈÑò‡§oøXkîÖ™¡µì,ëõX¸u¬Ã³•óÎ}B(­:ƒFöªíæâÓzø˜†œç¦1´¶‘¹™Csø¦æ–æFZt¡²d‰ÏAßï^õªöN^~-Úú[² ÅšYj±hž¹¥……¥©€ \§.ý\_nØùD „€èá¶Íï¼úµ´f‘¼¯IöŸèöâY—&¯ŸÜÎÛκZ“Á3zšÄ®|ž¥pK)ºüÍ5*5µÜ-Ï{(žw~¡ ½ª9z…¬Ã~såiCD÷×-»i;lá_Í<¬ÍìýzŒîh·ëØ«ÂQVúùågÐsö©ébgSŵVãfuLY8|#}‹ÖÐ315555â³S¥M7§·»=Ï"„ñÓý{>¸t 0£ hËý¶Ål»\ô%) ¦Ù±´(у+¯óCÍíéçhfáÜxЂ™MáìÒÈ—’Â;®Ø”À"¨oÏà:5}‚} vø0¢Ä7)`ìæS½Zk÷:^4!$íæŠ Ï=Æ­™Ù½Iõª.>ütö'âÔõÝ›×vwö è;¤™ðó­Û R"yµ{á)žóþn_ÃÎܦfçNñûv?Ì$„PVamêT«RÕ¿×@? p í×±¾‹c½îé$Þ¼Ÿ$+nu…;– QØlÏÞ7.»sþBÌù 11—–øé¿¾øHf×¼);'×¶i#“̸ïŹkåæÀÖÑפåR9ù–¡²²´jÛTò_°­[³?çï½()\“¼ÿ³¬ÛFÔJܶåA&@ÆýÍ;?ÕonNN&K¼qé½ìîHO#=¡žžPϬÁÒw$å]²LqËÅúù/2B…©zAU*•*Y gˆ\*•JéoD&“JAN¹4'¢!àÑ©Y‰8íÖõù£™s³çbdr¢ÿE\¨$Ž{x„ßÀ…ÝëDÕjÚ¥S»Æ.úÙc&¤2@ä²oU3jÒÍsÁ²=q½G¹’»%y ­¯ÏH¥29!ÀÈrj(OP­\¶XÚ|<™˜)µUÐúb’ÜNÔpmäÈÍÍCÛµ±#D_{™n"gHNõ™âSZëJerß6¡ß}½†.lWo_ýv]:wlígÏgHão=ȰlSSŸ‘Jó]³Ìþhò>19W¨EËĉ4õÑùçòwO;x­Ï.„‘ÉÇä«X*ûVU’ý R "±D*e0BMJ’.*fu©ÂƒL*“±è⟤[ŽzÁ ªÊ.nÿäÌ[”Nõ¡û„^;²gçÆ•ÝëOqŠ8xzŽ¿ž¢}Í2m6Èô°wÿ®*_¿7µþÂ&ÆtÑÈ%2à4X~i¥??¯fl¾‰¦Â‹=ÀúQeø$&¹TìZS#gøêæ}X:†…’QZ.½VžŽ=sìpäö¿:.©ÒmÕÖѵ ¿xF ºûΙùppf÷‰ôZêÐ…Çb¨X®j´Wƒó1{n¦ø40„€¢ø¥ òª§T€Ö¶ét‡QGE®ÔvçÀ-k¸²‰œ‘dd}gun¡„‘K¨:|ËÒæ†yMIZS_[µ‰½”¯®+§{DAþùÆx_ÃÚ×ÞvâüÇaŽVl€¬W§Ï%h»×²à ä]¡(4*ˆf³@.‘É/ÖæµÚý¯V»þý5¨1yÞÙ1 ÚèS@sX —Hó¯¦ß0¢¹¼÷šS凤kè}xÄ09ÿa¸8iKÏž~¥Ù¥¹AþPQñ„°°W•‚Òº Zàý r¿µ´žc-Ù£KñF&y µY {x¸ÆžA=Ư:xh˜Ý‹í«®¤0„ YtÎ// V·†òÓ».\ÜuZV·‹?ß/7MIÊ-\÷¢(“À!´ãc&x%.rõâ;¸dÝ~”žó†<ùîég`[Ëš—[-F¥”*Œ÷¡x–>-ûO]|Ëú±›6ÜË lƒªVìwç/Åéq*˜[Î < Wcxó”6ü¶cŒøœÜñ‡ÊvJNfÅ®®XnP+ÁU–iðè.úWFÿ1aÏ—ñÏ®lñǬ§.ƒGÔãíBÉ—[è`ÅywtÇ©»ïߺ÷1«`¶Ì׫+®;sëᓸ+'ö}z¶&< gæÞæÝ—?޽ý,…@t}úµçí2ä«yŸ: ÀÒ4Ж¿;³çðÉgŸ¦ÐñnŸ¼§GûkN\¹{ÿFôÞ ëO¼•*é‰ÃPiPÏ8÷Œ·ãä5\YÚV†^ùÃ@îk-¯žmNnøk Ô€SÖ×—Oâµê¶©oZ NLê‘OM=\¬ ¸©Ï£¯~‡!l#fë¾£·jkŠY–ÕlthmÎÍ4úL™ÊÐ —{é!(žž&óáò±Ó5õ,«×¶ÕV©\U¶øuF/îû²ïš‰-ZŸèÜ©YmGm’–ðüî=i“¡}<œ»uw‹\8âï*35±‘=9¼pâ)VÀ?-¬XD®©§%}æH´eUƒ¯©ò”w£‚*È/l?úÙÆ£š¥>•tÿÔíÏ g%`à×îÝҨᆪ¤#šxšÈ¾èVs5-ú³›ó’ëØ)Ìmë?SÂ'¤ içmÍKóä¥Ì»MuþñÛ'˜»_r³SººÒ{J³Çw¢ áš[Ux)eÐtñù½Ö#&o¹ä½DßÞ§å‚ó3zxj „"rWÉ©EE@¿ñäÉÁ]§v®·ÆÐµÓŠÃK‚¸ù›5”äù¥³g=ý,&´À¶V‡å‡fÖÖ¤®SßÙýOEŒjæ­eÝxä®Ã<ÐôèÕÍrù¬ô~½kjŠeÒ||?çn‹zv?ÒuÕQ?]­OŸ²œ0á¿iÝÖ$É„Ö. úúu!TÑcŒËá²p,$*ªwËàž-è´üÛËêsÏ,ä­EŠü'祦۟[6›.X°uÉ_»¾ÊøŽUkuªÑªPA‘}º¶iÅòW_%„Öµôl6mÍ_Õ5 píBGu½8aN¯VšæuÂ/íí <§ÐÖ¦[—gt uÍéO õýuv¶~äˆ3­f¬©e«¥R¹*o;кރ׫¹zãþ¨ÿ&lhðͪx5jÇÈÑ©òÇšüf¯:/™cR­vçÿv÷i`D°­[ökq`ÒâqU;/òö1ÑVš²è>,R½¬wgW­\ü.M l=[ïn f‡;p@·Ö˜+Lg-Ú=±ÇR‘ÐÆË¿çô m ¾mT¡2Ç6lÅýeóÖ®}h¾XÛÄÑÉ=عN¯°2€­duÅ{¦)Ö·¡…ñƒö~MU²”kÞt춦c îʰé”ßVÑö[ûîkÞK-÷;ï ,´JJà7ißÍI…Š!l“àyg^Ï+´¥m$àY·èîÎË}‡6 ˜w9a^¾d,ƒZáÿWga8Ÿ;*Ô¶mÛ‚›ŸèØáƒžÕküš ý4ùû]=[­¯¹yÿçëF/(öö­ßgÛ'r¹<úÒ}ºI%’²®K e=œU×oWÇ‹WGWûù™n$R鞃':´ TCÅÊuâdT…›8Lòrÿ–‡¦­'ÛsÕVåßfÛ+ßúÜ·>‰ÌØÕë^VÜÑž«–šS€TQi¨hÁ]·s÷[»Í­Øê«ñï²í¿’{‡êo¶{É×sKv}òšÒF]‡!T‘]ý<õô¹—$õúæc_\þ×Ôœ¥Ö ÿÛþûù=ûš)½f›ß~Uož8å/*ª·ÜKµê¯?ïÜ-Pk…“mÿÍ,¨Ÿ¼ý¨Bø-äP¹WѺeJCeÞöÒ“ÝçŽûpœ;* «[¦´Tæm/=[îÙØ¸P)À–û÷Uæm/UxóN6ܨ4`pÿ¾Ê¼í¥ÛìÙX8'$*ì‚j©¨ÌÛŽJMãåTT*T îâ”j=ʳʼíèÉåÇ,ëZ òަi¾@Pµš‹‰©©*ÓD«Ü»õèýsCH±¬,qYW¡ŒuíÞ«¬«€~b‘èÕ«çwïÜöðòÒ70ünúÌçž–šòC)†ß,¤"CgW×W/_ªÜUêïÃk_!Tæ¸\.‡Ë•Ëeª$V)¸³ÙeøÀ&„Bß0ŒJcïnªo~!£¬+‚~c8Ý#ªŒLÚ¬½P#òõDDÛ9Â9‡f×Ö`éV”üDUt}˜gÓë#ï ·Â¯*ðHD•GßÁCȧ'º[ÏÁÃËK·Œ+…:a· BE1iw× hêi)ÚÕ~ü]H^¬66l¼øQös™OGúØ™-pãoW³&ë™{#] „|aÛ©Es”¹ú_¿@/{¾Ð¦z³ŸKd‰÷mìa£'0´ñ ê¿âÚ¹’)M™q¾·½cש£Ú{[ „~sã²Ja ßw„ “½ÝÜ)ðï§u&¸uïÂêPÑa]V<•×®çŠyõM _ö@̧ã£ÿwÒmöª¾®ž£¢ol Õ‡ªã¢î>ˆ‹»·¦aás’zitƒ ©Ï½†¬8rùò¾ƒÛÕ1åI9?Ò?xúSŸ {n>¸¼m˜ã1M¦ÞÌ,Z¡ï¤”$œ:%˜¼õØÞµ#ãÙ8ì–A¨qì’ÙW&ÞžØÖ† `÷çôžënÚ÷"bT5®u·ÿª5¨Ï?ž#^ 9í=ïâ6މ…‰.›æê™[XX*øJ1ŸNÎÞ”²úÌìÖF4¸:0ŽÎÜ”à3÷øŒPk6€]6¸â»hþùaÛƒ ­ÿQiÊfBp Þ»ûQ~ØrG¨ YâÍKd÷ÆT7520420´ô_ORâSäl‹Ð%KšÇÏëÐûtÝÅÿ†* åEe½ºøHæÜªŽa¯[ÖëKevÍê›ææ¡Q%ÀßDôèæûÂ+ª§D(:ëE™™"‘¨ø4E …zçQ¹%—ÈSYÌ ~ÞqÊÒ5áeÿÖ44ÖHX˜é¨Ø6"r‰L.NËbòͯªdn?C™UO‰Puw±X|7öÎ¥K”%`±X¾¾u›‡d‰¿ó€P™aº8jKÏE¿ÑìÒÌ pøf¾D￧ʸ5—ï=µÅå9uùP, ŒTÉ4Û\ /+²ûð…„^]Ì¿Ew _{zûÉ Ãœ²;T²^EŸOÐv«e©€|·™—TšÚUBê î„«W/O™>‹ËÕ(´(99yÿþýíÛ·_úï‚Àæ!J2ȼ2Ø=pSRîKJצ^çÑó§u­¦U|Eú|‘_­5ÍÏݘìÆS°8+n†om-Îßœæ©hñÏ Ÿw:°=·ÚO[ÍY£2£ë;´¯ýÅ=:èÍêcÉNzòàµvãn–æó‰1ûì&_ú«§Ž×½ÚûL ¾¼À_HǨªY¹ëB£6"¹…§‹~þG °-Zm1¥×À¶ƒ¿NêÓÌS?ýmŠ©·—±iðèÎSÚé>Q0?¼Ž0!úßÁ³ŸºŒXST*_ÈI¹y JljâÝÐCyJ„”QsŸ»\./Ùß¼yÓ²eËñãÇß¼yóû'’N_Žÿ˜øñí£Ë‡waïØæï« †”2ÑõaNB¿Õo±UT)iÕ˜p*j^èéaA~õÛž¿ûÚ{1ò„##r˜º4Ì–C6¹*ŒY>þtÀ²h?støy­ë4è0rËóÂ]á,Ó6kÏoüÓòÖÂÞM¼¼š…ÏÚqí³ hý¦‹ÏíýËìüß­<};/xâ»àì‰1š [wÔÚÉëvºúf2S\J„”PgËRÔ˜’’Ò¥K—ׯ_O˜0Á××÷¹èïôÒžÇá™»øu°¥£V¶º÷:ñÕÂ+¿¨TPF£¾v,ü.Û Vø²ãá…Þ5i¹þå‡Ü´~“¥ó´ÓÂ:ã?§¼M»ÖÓ"[O+ô6×<`̶€1E“ëúŒ;ñvœ )A»Áº· ÆÕ£JOÍ1SCC22¾Í‰1qâÄW¯^3fÀ€\.W.Wµ1,KyrâßÙgMzŽ Èd ú$óɾ‰íj; „f®úm}­l¶ɇ³ zxV1ä Ìk:ó•ˆï¾'åØÓm!¦¶ýΥ孖Ý»ŠmØÉdÙñó=£ZÔ´ÓXyµ½çif™ÏT‚ª|ÔÜ)ŠÚ¼ys“&MÞ¾} .\ˆŒŒôóó4hЪ<®ïÑ$oSC¡@¨o]+tÖc¿šf< à»÷qä'}½±Kýž[¡Ý?‡¯ÝŠ^7¾ƒ«’Ë¥/×vn7íqÍñÛcnÝ8¹qFÿ¦V<à9¾'¥‘}P„¿ôøÚË9Áœ|½¸&ŠnַްÈIóùhÿÆçì‡l»rÿê΂]}:̼õ뻕B•]©ôv¼{÷®C‡oÞ¼™2e —Ë3gŽÂÅ솾{ÿÁÝÛoJ6 hØiý+iî}³7Ïõ±³t¬×ãŸÍcž¯œ>¹Hâ+çžÓê¶nèVµªÚ9×ôÒW\¼ì닆_Õ·^ gG÷ºA­›:hRÀáç¿'ÅÂÌ€G4ŒaG¯:ŸD€ù|fõy­V½|ŠþdHžožv„?põœ0_'+‡º½§p}³}Ó=„úÅÔÜÃÂÂfÍš߬Y³¸¸¸Î;ÛÚÚ–`}®ÐÌÂÂÒÒÚÞÍ·åŸKnë¬3gI¬Hõû8˜ä¸+ñ,÷æžüïþ hºôÛN°¯§³KÓ¾3w\‰+íAÑ­Õ?TpaUtò„Ó«/ë…öôÔ*š,óÑéDz׋Y˜Öû€¤Ä§àuY„Ð/¦þà.•J³ã{jj*EQýû÷Ï¿T"‘”$3Z¿fóªðùÙ'i îø`$*SžCu7ŸÛ6Ò7cïÿ]¼Ã÷P²®¦[0ókN|Èúp|Í-³®]«)VI™”·©Q·cïÄÆÞ‰½÷àÞê†:ªÖ!„ÔCÍÁÃáÈårÈm¿{{{ÛØØäOÀ0L ºh€¤Þ?û‚ªRÇ–§aãkO¿8y!!7øæ¿#;mNôg «ºéËs¢Ú•LŽ¡g‹þÓ¶_¹³Ü/q×¼ƒïe ðž §Îýœ¬ÙwiÏšûUº‡:æð™W¥iãeO¢âh K‹œ?3= ¼“!ô‹©y($EÓR‰„Çã@XXXPз$‰X$b±XÊ3€Œø¸Ø;il‹¾¼ºq`ÉÌì^T㲈òû8mmyü™ÈÃ~ më6t¬ѯږٽ{Xý3ªµ‹ -noÌÅq^ôpÃ1‚šÞNfÚ¢—g£žJ5«›k³ޓ¶j=ÀkòÈÁ³%ÎSÛÙr²7™[ðf=·¾½Wý=¤í Ô‰ÝëÙi¥¾¸ÿXZ7¬}á±ÿ!TªÔ<œ››ÇœYÓ²ï</ËåÑ4U·n½ïdñvU·&«(³ªÕƒgžžÐÝ[HPúMŸÛk3bòß­–¾—èÛ×l¹àìôîš@5×ÏùE½{ã™ái IDATé²òp}G÷QGO ÆŒ^>¤ùœTÛmü½ô>(,LþõæÆóÇ$d2 cQ½ùìÃó‚ (ȹ'e_¯y­ë,0õî³åÐL}-–iÐ@ÿ¿º÷ÛÂ"w¿éÖ5¤v»9»E5Ÿs¨¾‡×qÐþÃã.î»cœHÇÜÅÍ'ÔóŸÝ­!TBÔ¶mÛ‚›Ÿè\ôéÀàF®lTyÂ-owá+é%¹L&•ªôôîr'ýÒŸÕ;¼sg_;c¼© !ô‹Â$%%ݾyÿq@ñ)OœŒRk· M‰2+ð˜n’tvé>‘ÿj#Œì¡r§÷W™üýá%§X;ü” šG¿‰D"“Êaʺ"EÓ6›Íáªk*g <ß±ô*¿Õ‘Ú8_Å ‰âßÇß¿wïKRÒ÷S#TšhšÎ..ÖÖ6šZ n¡ùÜUÅu~=yxYש‡T*‰¿qýZ〦VÖ6l6~PY’Éd¯_¾©k¨5ߨ’¢(J&“åï™a±JÖÖ‘Ëq€<*¿0¸£Êì§ú7±KãGŠ’3j{úvË „Ð/òåË—/_¾([Êáp¹ÚZ ÜúiiQíu9õ¶$ül7ò|ÒNuàk49˜ò“ ²ôåË—      bâ»apG•Eá8Hô+eGöääääää_ß±ÏUREýä˜âoëfÿçç‡(+Ï'ß’Ÿ)ý:ù?ª¯_¿yzz._¾"""‚‚‚Nœ8¡§§Wh5V[ÝÊËšÏáêÛÕî:çT|‰\Ò|ÒN… 4Eæ6þD·FTáºÍy" ¢g;†4u5ÕäðŒª6ýkÇ“ ü=(k]»v]¹r%›Íf³Ù+W®ìÚµ«††‚´ÉåxA¡ŸÆ¨u,£Q¾s#¯?º½orçӚ׎8žôc¹ÿ\>̧C½êõ‰vyçÙ½}C„ÛÃB¦ÞÈø¡Š µÑÒÒ:t(MçÄ[š¦‡ª¥höG†ùÎ3‘T‡Ý2¨ò’ʤLÉÜKöuH²r3’2@™ù5ó÷4¦Á¶ó¬m’»'mÛ Ü:_–Ò§‹Ö›Ó§í‡œ»:³ºf )ÍG_Æ02i–D’]ó/%R9"—fIÒŸ¬ýûÿÏssºzòªôœ6b•Ç?knŽõ¬­žid‘ʾ*“ÊÔùˆ: ¢išŸ«®´Ï6®×ÜÌ8ÿ\Ô×Jç[z¶M÷7‚³r~M(Žž¥F¡â•磗}cznŸû·HÁõ2â¢Ë^=l`º$»‘ÈH¥„kñU†}õ¿\þ]ž™™¹víÚAƒe7Þ†Y¶lYŸ>} 5ÞÕ{×4wTIÑ,–Únb"@rcrN˜e0i¡ìÙË*%Y¨–OÁhÎ0…c=#—Jp›~zgûoùeiicpÿåòïò¬¬¬;wÆÅ=ü÷ßÅð¿ÿ ¹wïîü¡©©Yxõ}NÜQ%¦ÞÑ2yÙÉ/žxÖ¬¹%̾˜|¼h4‡f2’2dD¹SMB€gãekOÞ§†Y° äŒÁýË¿ËÁZµjíááI1008xð€@ (ræFõEw î¨ò"ä§Ÿ îäÕ‘=§œÛЮl™<"†Ýdy¨-û‚»â|¤Z:ò+»wÓ°Õ÷hTK¿J}WÖÞE³·9õõà~z½ùh<á!„çÚg ÷ª¿‡´˜:¡{=;­Ô÷ËꆵµW00•ªBŸ½P(`xàѱ#þ¸XwÔ^?#ËÎKÿ½ÑgâM´¾}íf­ƒ|„g !„pî;o8cüÂEá;ƉtÌÝ|B=ºaÃý×+ºÏ…Báþýû²ÿ£ðQïÇ„ÁUR4E1 “7:í|û*j7Úò2`®âåª*& §þ;õÿöކC×%çº.ù–jBnRJÇ¥Ó¬}fý\UÐÏR¸Ï…B¡²Eżÿc0¸£JŠÅf3rùÏÌM~èi;¨’ø‘Ã;BêQp(dÒçÏ%[[ÃH¹h†³Ùl5Uê î¢ÌL‘HT|Š¢„B=ŠV×ÃFúqäç†B"TŒ;´¤RµÝǤÎà.‹ïÆÞ¹t邲,Ë×·n`ó,ñw~úvF£RS懖:ƒ;!äêÕËS¦Ïâr »JNNÞ¿ûöí—þ» °yˆÒ,doWù{Lw;òhEÝÜ--}¾È¯ÖšæçnLvã弬¹¼áé;skh~w]5ßåÕäÒð»gí°—ë·’’œœ} !5rªêü%©d]|ÙaÔ8µš£‘\./Ùß¼yÓ­[·/^ØÚÚ–¨;†IØPmŒý¡¸Õ~Ú%XmÒ|úZGã*Ü’”¥¶ÒÑï€àr8"Q¦@ ø~j„~‰O‰Ÿ„B½ŸÁ•Ÿ:ƒ;E)Ý)))]ºtyýúõ„ |}}/œ‹V”J­(ªMÛU-åBÐoÃáØÙÙ_½r¥nz††¿ì"Ã02™Úæt-W$’ä¸|“I¥¿ ƒ…%“J®_½âîáÁáþd»4‡š[îÙ3gddhkç´v'NœøêÕ«±cÇ0€aÕg+N>lv n„Xì»1W¯ü¥±{xÄüC7^&KkäÙjøÂx ÿÌì–‘¹ºrÌ„U§c_$ñì}C†.[Ôþà¾cÒìœ>~É«>d ­]Z»º¿ñ‰Â¥_9î=ǧ{ò¢Ø}írfíÝ_³Ù­q·ö8©¼<éò¿ÃÆ¬ŠŠ'&ÍÍž?ÐÏ»lÊ—kmc#g˜[·n¤¤¤0êÔÈb³Ëí3žØ,ÖÕ Ô8é‰"4‹Íf—ÓýF³XêÒK1BÜ==MLtuùjÉOÍ5¦(jóæÍË–-Û½{·••Õ… "##ýüü %:Ýà7ÝwvG'ÿÙ6¢çÖÒ¦Ø|c *ÁÔ§ó¸àñöZ©"§ ÓUèsg¾ò ©—F7ÞbÒoÖŠ™µ,éÄ_,L9…Ò¤_< ªÞŒ•Ç«pÓÞ>¯)d)*Ý„Іßzõ©­»š³ óîÆÈ¯ufš²ÞÊ1ëáü-—™^yb£+}å€Þ¡ýŒoìîlQNÝJJSKËÑÉÑÂÂB&ûM³2¤ð”•7Eq¸\]ueX*?GïÞ½ëСÃîÝ»§L™ÂårçÌ™ó‡­ihnn A³´,,-rÎ,º÷ÊYîáÌ>½¹ÅÕÛŸd>fÊò`>œ½)9dõ™Ù­hp-ÚÆ"úð*L«ûùº;éÐ`ïì l¥WïbÜdÍ‘÷íØ~sÝA‘ÿRC w’3gÉËú‹onDØŽ™ÖbC»ÕÑ ÃÌñÑ(å ‡ÃÕs ŒPy£þp6kÖ¬øøøfÍšÅÅÅuîÜÙÖÖV]™“Ì'{§÷kèWÝÙÖ¶ÅžTŠeÅ´¹²^]|$snUǰ˜Í¤ Æ «ýfZC‡šF-?þ(Yy¿¯Z·>vqëö½–I¹¼ö8 ¯§WäW+ëuÌ­TÑ™ÞÕL lÚîMcRâS+fO+B¨|Rp—J¥Ùñ=55•¢¨þýûç_úSW]ä#{7j9uKÔՇώ÷4úÎù‘KdrqZV±ª´~ƒÉÇÇ^ØÙôî¼N¾NÍæÜÉT’”cÚßýŦÈçâ/ç×Ds[ô®¥¨sŒ‘Ê@¯Ã–+wbcïÄÆÞ¹ûàAÜヰ…ˆúuÔÜ9Ž\.‡Üö»···Mþ èÞEC±Ø,Kóž)˜~gëiI“9szûÚò5¹…ê® Û”káeE¾ð½ÇÒZUêwµôØÝ¨ÃëË–ÜÊPP:Ë<$¢NÂö­ޝŽÑm׳z¾1’yÅsÍeT–¶¶<þLäᨓgŸ¦ç‹ñl‹–C[pÏl;ø¿£7_Ä¿¼{åNbá›{e¢þûwˉËw?½ñè᫉`h§ÇVP: jœºzðØãÎa®< µ uäÏì:uâ», Gt1Žÿ¯c—‰Û¢o<¸-j÷ú­—>©í±·!ô}jnOº¹yÌ™5-»ñÎãñò·Ñ¹\MSuëÖ+AvZ5FNï|côÿÝBÇûÖu™°uzBÄœ^3ô«6éÙï/¯ ‡h£æãú9ÿ±¨w#]V®oû-–i›µçé™#g-ì½mŒÜĹnÛ +ÜZ˜Üjñ«cóæL}•"Ž¡c½[Ö wÑPTz7k%¬; ¥Îþ V“:9åܭŵë2ªãÖAS»ßqßQÏÏRC¯É¢sûÇO[7¶ã¢dÚÐÎÕ«éÐÀN?²?BèÇPÛ¶m lZ|¢sѧƒCùwŸ„!Z:ß:*” /“Ëdjœç×Ëz0³¶ÿ±þ×ÏDØbW Bè×!„IJJº}ó†ã€âSž8¥Ö;TiJ”©ìZd…‘q{õÆx¯ñ-q„P9†#¯K†|9¿dOŠox9Þ‘„*ǰùY"ò÷G—5\ßÄBå÷aY„O +ëZ „Ð÷`!„* î!TapG¡ ƒ;BU@ÜB¨ÂàŽBw„ª€0¸#„P„Á!„* î¨2º2Øž/*ùk´ñý;ORo¯Ÿ9iú²è%¦bÚ‰öF|Y·3éyq€-_ ¬2øJ…ŸŠ•œ~UFšÆv–f9YòÇÏ"J`bªEhYñÙ%~ž;0©·7Ì^k)oÙ§±i‰¿ZJ¦ÈFèÇ`pG•‘焨¸ {»Êß}Ä=AÇm·VûigµRT(²kÖ˜|úúP[ÏF³lêƒ~{Ø-ƒ"ò”»ÛÆ´ñ­f*ò-¼CgŸÿ,ù§ã!ߪÛî÷2æËéÁUù¡óÿ ³r ï–44ùÇ!×D3•¾;8­wˆ¯£¹_ Ô³rñmÿ÷î‡Ùq½`Ã]úfS'ŸÚµ;o—ÝÃ#ýtuÝÈ65l ù=ß–Íœ„|§7D©Ç[ë m;Nß'ÈÍRŸ/°piÔoõ½t< @Ü*‚d\Ÿà±"úaª‘‡‡ìù‰Y­šO½‘AXFAs·q„Ô#ƒúm|!‘>9.|S¸ŽÞ>;ÀÎ'¤ÀܧqÓ¦M›yêú~ÑTÊÅ#WÞÊõìÜܪšÉÞÇZÚ§í¤+Ù¡Xy·Œ<áÈÀzACW}Fl«{WÓ~s)¡@‚/'–,Ùs5‘­§ ïníÞnÂU쪯ô0¸#Tóé蔥OL{í»sþöí5͵áñ²©G tkÛ<³G3²ûÄùößñY³á­ý´xnÿ[±b3X¶Ÿ¿cÏîÈK{;j̘ev–o1¹‚Î6ô¬i ÷£g.¿ê7º¶Ï¶‘Jð@A¨0ŽmçñŒžoÞ-´×б“&Ž2pÐ’·zlñ“U½#¥ê¶Xºå¿M›z™C¶^;ÞJ€:º¤D†úú7­W¿Ï‘¤ü hZß§]MÀíÿUw­X«jƒ™O¿-ä 5$§z7iØyáƒü½ðZ5†o¬ äþœ¦öÕ¼ëÖröŒ¸ñ«vú}apG¨–qË•—OÌîÚÐÍŠŸñîñý_ˆÀºŠ¡EÒ®Íî:öŠD¿ÃªEm͹zþÓ7s„Œ“ƒÃ–=hz[52ÀAŸ~wûê£dŠ$¥¸U•ë8`ÇÁkX°?>¸z7Ù:¸OÇ*¹Ë´}†ñÓÈ|õø=Ñ.طαé¾ýòŽñm<ÌØ‰O}Ö´³U±UfÔ¶mÛ‚›Ÿè\ôéÀàFþc÷d#„Ô)+nVí:s^ØüuñúDwï§G!LRRÒí›7üŸòÄÉ(l¹#TþÉ3SE9m«¬×ç¯} åQÛ ðH9u^PefŠD¢âÓP%êQôÍÝPeD¾F…»v>$3´µÖN}ùú‹ €öøkLC!~rê îb±ønìK—.(KÀb±|}ë6Éç7!”G.f¹‡Ô{têúÓ§Ÿy&Nµ¼ý»ŽÛíèx„¾Qgp'„\½zyÊôY\®âŽÀ´´´¥ÿ.l¢h¡ôÅ’^Ó­¶=ÜÙB?·AÂ|ÜâÒ?6dÏÃ͂܄²·«›xÍt;|oÊ»¶ÿ3Þ÷tk#5nE ‰oòjriøÝ³áV8¬•¶YÓ1«›Ž)ëj ß‹šûÜår¹²ÈGùy$ǪYǪâ‹;o¦æ½E’.ï¸Î@ƹ·ÒòÞd>]Øó@§Q¨›Ž®ï¸u+þt)•ö “°½±žMø…ŒÒÈ!„J›:ƒ;E}¿ P&“+Kű uÈ8·+6=ç ’|mç-ã¶=]2¢wÆæFYòåÚ®ÛÜz½t@êQ»ÖuL°ÁŒB…©¹å®¡QÜÈ,.—+—+F ×¶E{»äè=÷r&´K»¹óªv³~z¸¤œÚûfêÍ]×)ßN>Š|ÞÝT˜óäšäƒÁ&î§ÿ/ØÕLÈ7k±éäI—voèl&ä›Võëùï…ÏŠŠfÒlÓ¦®³™@¨oãQ¿ûÊ'Y|0XèqƒIÙbÁùÕgÇ%Dõ°6k½71oÂÑñ®¦Í·*zdJå"„PiRsp/¾ñNÓŧaߪÍç“{ŠÒcw^d7hçîعZÒ‰=q"€ô»{.J½;ùê)Gôæà%ÝŽóvÝó_„·€‚¬‡ó[´\˜ÞbÁ‰;÷OýÓðÙôÐ~{â‹„âô‹#‚ìÖêºäøõ›÷þ;:ÔKÈ~ÓMqg§»ƒN‹ ×ââ<<>ÈѤî€6üË«O}ÌÉ!óîÆÈ¯uúš² ç¨Z¹!TªÊ×8w ‡Ö­-?;øT yÏ9yŽî:« ŽN‰G÷>ˆâöÍðèTßPQ½½îìW7°mˆ«.•3gÉËú WoîakíÖbÌ´ô™ÕÑ …¦Ê#¢¯’Á´ºŸ¯»“½³·‹–µÙ@kš›hÐ,m# K ]hWïb|sÍ‘ìG4¤ß\wPäßÏ¿H=ˆjå"„Pé*_ÁxUÛµ4{sèÈK‰øÑ¾S5;Öàp¬ƒCíß>ø,KüäpÔ—ªü‹´— Ëzs+Ut¦w5C#C#›¶{Ó˜”øÔB=$”AÀ¸aµßLkèP³Ã¨åÇ%+ïAáUëÖÇ.nݾ×R )—×'áõŠž?¨X.B•.õ_”J¥GÙR‰¤øgðœÛ‡˜¬Øâi`òñ¯žã}„pmCÚÛÎØuøQ[úÈ»°&æ*Ôš‘Ê@¯Ã–¨)Õµrߢ8zÆ…oé£õL>þ¸ÇÅ»wnœ×Éw’ÏØ“G{i»Ðþî³—E>ï×çéšhn‹µø?^.B•*5·Ü9޼Ø)h†)¾_^ÓµCsçÛ֬ݛàܱ^N·‡†]ËvV¯w¬^»ûµuÛ@+¥?ßpÍpë½Lß©ùŒÈ5ݬñg©JSþ†hé|;^•¢Êe2©TZÒŠ–YfÖö?Öÿú™[ìj©Œ†IüøéàÁHïšµü7)´4úÔÉ{÷îö!—É•ÿªwé³Åõ¼§°ú/›×«ŽH…Žz_¶TcH…T•hÊ_µvËД(3S–?·WoŒ÷ßç‘©¬232>¼ohdT4²@ã€À·oßܼ~ÃÛÇGöÓ-Ù—W_h×Q†úYço8¢©®œ …,ßÈ—óKö¤ø†™cze%Í’¾xù¼AÃFÊøÕo{ëû×–ò“¼?1µ£¯“ _`áðçº;©LöM×M×'2÷F¸òBa«ão‹Ü8ý0ëûy£J ƒ»êäï,>.kÞÄ÷Z¥%g˜¤ÏŸ-,­”%°´²Nøø‘¦Uî$ýò¸À.Ûµ{®:{ÿÎÁ‰Î1ÃÚŠþÊ[ì}äCÚmÎÍøÄ„÷Z¹qÚÄ”ÃîÕ±,ÂŽ'…•u-P™¢hPa~XMœ¸që •×æñy\ 4[ƒÇãeÿTä¿qûÜÑw`pG¨Øl¶á»·oìì&x÷ö‰©£ò€wñ‹3÷DIÚØE²("•ÊÁ;1“>P!€cçÑÀàŽP p5¸N1çÏ* î1çÏV¯á]Üì§…È%2°þsÿy·1S<ý|]ÛÑÁÞc„J€Çã¹¹{|þô)úÔÉ¢K£OLKM­éSû»Ceò"6ײ†5¼9sKb”wK³…¹¡fö“¢ À)€¢§R [î•EQººº-Z¶9~üțׯë7ô·²¶€·o^Ÿ?w&=--¬go¹LZÌ<—/ä¤\<%65ñnèaÓᯠ9á“Ûõ”NдšPô6îQªK‡PO>•Ó»Ÿ/'…7N#¤w„J†ÃåXZYõqãúõãÇ'&$PellâY½†O-_¹L*“Û'£[wÔÚíæ ìÕ|Ρúzæ7ÆhÍ7{ýV3Òy¦N®5ZNjK¨¢-wÅ7N#¤ˆ:ïPE¨ò (ŠÅf³X,š¦(Bˆ\.“I‹k³#ô“ÊìU„*BˆL*ýùÛP*%xA!„* î!TapG¡ ƒ;BU@ÜB¨ÂàŽBw„ª€0¸#„P„Á!„* î!TapG¡ ¨¼Ì-“š.>v1îݧ†©ó.Ñ4ei,l^Ï™¯Í+ëº „*£òÜ^Š33ÖjàIÓád‚a˜;Þž¸ô(´©WY×!T•—HŸ˜âYÕŠ¦h PþhŠv²6IIÊz¿"„*©òÒrgBÑTEz0‚S{#„ÊŠ:ƒ»(3S$Ÿ†¢(¡P¢=¬‚E ¶9¡ßŠ:ƒ»X,¾{çÒ¥ ʰX,_ߺÍC²Ä…Ø,º‚à ¶9¡ß‹:ƒ;!äêÕËS¦Ïâr5&HKK[úï‚Àæ!EÑ4 Dü`nhø­Û7÷°ùödHÙÇÝ}Ú­²[zpR M•«’~qH³ÑÒéÇþó×-Éd=\Ð1<¶{äÚö&윗}ovܹ¡›eÉŸTIS”T†&D• 5÷¹ËårœeÕk IDATe‘8N1Ïj—HeHî_¢èÍïú¶V V*\ËÝÆLìí£OÉzwê¿9k£î¼IÓ´ð î7b@€ *‡¿UH=Ä"ñ‡÷£¢Ž·jÓÎÒÊÞ½}s!æ\äž!-Z[ZY1 öÈ¡2¦æqîÅ7Þ‹¹A‰¢TAΤÇ]zo2쟵—o”ylîô#ïe$#vqøÀ%OzÌ\·sË‚ákæ­B2cÿ0ê˜f«‰k#wýÛÏîÖÜ¿^Me²—Š?œ½­8lþ²ùã;:ëPÅ-þtå.U³Ç”e×Îëe·vÒÊX`¾ÆLë3ý†e·Ù›÷nÛIçĤ᫊ ^P­ †IþšuÔ»f­î½úØÙ;p¹\.—kgïнg¯ê5Ž?B³¨êœ]æ$ô[ýViûGM$OæÕÔw›|_\Êå ²U^nbâ²Y@a¾û¾]ºùT³³wèÞÍIþìú»,Fž³zß§?gkéí`aéä]¯¦1@ö*ò„³+ŠÆêà]ÅÄÜ9(¼¿Grô®ØŒÜ :õhUÏËÓ·Q};M(®hbצ{»ŽvUëtèÑPðåþƒOR’õæÐŠsZ¡‡„¸[´Խʇ£žˆärŒðMfFæÃ‡÷ Œü7‰DãÇ÷ððððð?~¼H$j( o^¿Áb——;HP¥U^‚;9Ôà>P–&_“fä ’ø;¯¤¦µ«³´¸ß]{’•|lhpý ë7hX¿õ¤ÛLÖ×/bæ'nA¥´„4#•"zuå•üý–>M²3oÜyÑs’–˜& 29SÖ;©™4Kúâåó ÀôéÓE"Q@@@RRÒ† ¦OŸ~õÆÆÞb±XJ³}<2®MM{S¾@È×·­Õeö™OrßýÛլɺDæÞHW!_`ØöDj‘5™´û[†…Ôv2òÍÝý»ÿ{7{D±äý‰©}Lø —€?×ÝIe@ú|Q]ÿ‘“#ZÔ´5òõíê ØüX²×+êÕšö”y³ÐÏX ä m|/Wš @òÁ`÷Óÿìj&䛵Øô»›~êo_H¥RGé%‰¤˜;ò P2±´@w5#NË ŠtÛ@Þ© €É7:%_JF*Ó.‹w´úV+ U Ÿ"k~™ÿý|‹ˆTƇA+ç䇳4…Z@¤Ø1SÉ&éóg K+8zô¨¿¿Þ¢£GΘ1ÃÒÊ:áãGšVÜ)¶¾[ëáu†:XóEÏOÎÿßìny=ØÔdTô ßñ]ïˆÚÝÍ‚MkÅ+z0¿YƒyÒŽSN¨o§™üꃮ€¤_ØåˆÏÌUgƒm2/-èÝ¿ý(ëÿèÈSn|ÕlìÜÈ9Æ’{ë"ú‰ðnp²wØþX—Å­ZEì9:Ü™KqõMXJ3Ñ£@ôæà%ÝéóvÿÍþôÕB€c~jîG.—܆QØIaëYé‘ý.Å÷´·åæ,&Þ¸ô޵4d¼âš½VÎKޱ³9|ífB_Kvvvy)ÙÆÎ¦$újœ´¿·Eþj)¼~KHvçPÎ;…Ò¢ïsÍ aߥçÐÑÙ˜]8sTñP4ä?~wíÚ¥8Y1Y° ëtíU'ûÿž.‚Ø­õ÷^y›ÕÌÃÄÂD—MsõÌ-,,|/Ó®üóß“š³o.ícÍpö¿?4m‹¨ÃÎÅòÀjâÄ[­¼67 1PfAÿÒ¹†&T1tź1ç_ŠÃmŒÍM…\šÍ75·°Èž³Ti&A|ð4ºg0¿$» •j IÑ´T"áñÌs+‘HÄ"Qq§«À2mVÝ”åþ„w¨ë`ÈN}yeïšÍ¸u&˜q¤JW4jÖhùø%cæqþl[Ã>Ý>ó†!fÀ6 «»nÊòaËuôµÕÍJxþ2ݾi “NÑ/ ­©§Å¼9qÁ‘oçSCøýmæ9´ëä²géœa33ú·ô²äe¼{öJæÕ¢‰·Ø-E¿+6›m``øîí;{‡ààà 6ä- €woߘ˜š1Åþ¶g½=±t꨻/ß¼{ó.I æâï_‘¼¿q7ݶ[³‚_Yñ‹3÷DIÚØE²("•ÊÁ;1³p‡ KÛ@›fdŠËQž Fôߘš[înnsfM“ËåÀãñò·q¸\MSuëÖS¸"‡Í’HeZFSÖq6­ØunÓìÝ ir ™½Oø¬>ëѤ €o¯(ýÖN7¿zíèCóˆžS½Fî&ÜÏÙ YFÓÖklüwݾكWer mœhÌ’%äeÀ¶hÖ£éá™+Æ?tl7׫º€(P°`±ê´p½põ’Í[&[œ¥edçàèL¡(À‰Ã*®×ÁÁ)æüY;{‡¿ÿþ:-[¶Ì~sþlõÞÅ ùM>ûW“NGªO[¿nI s­wKüënP¡`ÂHdrqjVá¨-—ÈÀúÏý:äžìÅÓ7¦áe ¶Ji&è7¦Îà.›‡´hÒ"û¥²Ð&“*hÓE 4,ýçû‡+\“cÕmë…nß^ë6\s&çÿ”†¥ÿŸ‹üÿü¶tø·ÿò,öŸÛ°áütý—]ºTà¶iÐä=A“s_:ÿuàböÿjÍ:sñ[2®ãÀ½æV]Û¡ùÐÅ͇­/N?Pñðx<7w=»wDŸ:Ù8 pÆŒ3fÌÈ[}êdZjjMŸÚ’,¥ã E÷ýä5iáÀFæ,ɇo ŠÅ¡‘*þYà»Uá¼>ýv¬Û· Àµ¬a ûÏÜ’LjX¥À=&JOs(‡U ¥™ ß™Z»ehJ”™ù3`Ký¿½» âjÃüÎÌîÆ¸!X€ ) Vŵ¸´PŠ´H‘R£…Ò)Å¥¸OB[œ` în@lwgÎ÷c“ ² ѓ羸ڕ³3g7É3gß93“Ï ‚`eeÕ¼E«]»¶ß¾u룺Až^E‰èÎí[ÜÿúÕ«n={Ëz]:_ÚTEŠ;)«Íß[«É'ûþ˜øËUfk8ZíXÚ•-ܰöp½Vöq²»¿o‘•=¡HÐç\ZL飛6¸E€›þþë •=ÌŠ¶ÑøûO'µé©›< ¸Œm܈‹Ñ¾íÚû§s"&•‡úîÎ5aŸ˜Õk|Ë»¤µkì>-ÀòÕ¯,OMÌÿES=³1pjÚÃӳ߀%J–ܵó¯i“'|;eâîÛK•.ÓÐPF¯Oï0$M©AKmOË:Wõ ´Zi7:È&ñ¯Proûíè÷~lY£N»Q+®%¼ý:Á¦Îû7Ž«|sáàÆÕ*Ôí>~Ñ:"•[‡¥‡V~Qáöâá!Aµõš°`ï¥é—ð»úßLl¦_Ü©víÁóμV²²È÷„U«V5nœ~£ƒûÂ5ûX‘s°È°vo¸¥¯{Ö.³§ÓéssÔ¯—eEÉ`ûÍ»O£^¾êШRît r™ ’J%I’(ŠDcL–õz]zcv€ĘòìÙ³Ó'OÕÏà¬W»÷ìÍ/ÇÑ5©Yfç?‘«wIÿÙ‚ ¨U: E%‰*éC¿²¨U’˜ö!æ‚@æf&Mk•ýÀµ@¾ÅÓët©î@ÈòK¸[[˜vÄ  ›ä«š;d„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ¡ür%&€‚EQ”ØØ8m¼VQA$•J¥ÖhÌÌL…´/¾›î™–õòbä…kׯ<{öLÈÞÞÁǧTù ~VVVj:¯;€² @&ÅÇÅß¿ÿpëÖ Q/ž‡´j3~Ò”¯'NiѲõ³çO7¬_óäÉQÌä5Üu×fV·+ý婸´›°§ë‚m;„¾ú°¾C!‚pÈEQ^D½Ü»wG•ªÕº÷êã]ÂG£Ñh4ï>Ý{ö©X©ò®]ÛEIÈ\qFåÜtꟻ×d­OÚË?V-R~Òùø¬½8•e™¸ØØ¸¸tDD‚ ØÚÚ "ê’P ÅÆÄFFžwpt ªßàýgë7ltçÎí“ÇOT ÐëtÆ.T°,ܦtvv [Ã=>>þì™ðÿ=œVI’k6júqB|Û€üI— »~ãZËVmÒjPû£º»vþU-00ípù»·_Ÿø­¶¬ ½WaÜ¡]m÷4¨:·nXø•͈䨓‹¾;sóÉûŠƒ·o)«káND¬©HÄnmý¶×ôm»OÞ±.Ójì¼ßT4»=¯Žß˜óDôKm§_ˆ¨ÒìÈÐn™¬ ²3ÜcGþ÷ÍÔéIª ^½zõÛ¯?7júqúËÑ=þoÙϳn>ñ F1s,YµI·¡#û7*f–mÃýøS_Vlðïȳ>õTé®Í¬ýæO ²¢<{úÔÝÃ3­ž^>̨ì®}ÿͤ•#-¢žX9¥ü+Ô^™ß)äG«±+o©f÷êê? {¶=žüäÛBßÏî)\Y=ªß˜OË[ªÛæ3¾³BB64\¿cdY )âŒd¢lŸ-#ËrZÉNDjµ:Ã|Ž»8¿KãÑ¡ :|6}tMÔŰe3'tX³iäÖ­_ÚäÄ>•sÓ© K:eµâ …‰ ’1åôŒ›”ê6êÓž†¿?ݵä‡cNüúó™*ÓO ¬é*™•©VÉ9yê`R}ØØOZQÅ¢_­\ÐiÄë1eíÜ\l5¢ÊÚÅÍÝÝ4óïx•ánÌN$½^N¯Uü…_zŒUšÎ=²¤K1ÃF¢~Ó¶šŒª×fF÷¯êŸ]×&û«õ¨x‚ÑT*•½½ÃÝ;·½Kø¤ÚàîÛÎ.® cYZ¼þIøÉ(·V•ì3}«-íÍÄW:™³!B)›GÂ&&iÛ‰H£ÑȲ>1§æýqQ œöÓ'ÅR,Grh0qf;›Çkfî{ªh/ý`íÙ{_tâ“ìÙ¶v.ŽMW=”‰H{÷䥜­mÜ}Y­Ñ‹­Íœ+ š:¬Y9W[k׿ËîÊo­õÍD´øS_V(Ñú«¯z7®àeomãT*xô–»I•Smý—Í«z±±÷¬Øbôú+±Yûû…‚Lc¢ññ)uèïi58ô÷J•«¤ÿ{ž6%îe¼,ëõÿj!Ò!ÙîéÞE1ýÕ%ÜÚø)ùujàòθE° èTÛ4áä΋qï6=ÊEï]zì%±g‡—bµû4t’ØëÿÆ5êô§EÏßœß:¡ì¡ÏÛ~¹/Êïw{ë¿V~\·cýœUÒýëžþ;Ê¿ÿÿ¶:´íÛZ·æ÷¹ó©BDÊÓýëºsïu]F‹RÙùx¨ïî\vîòùÓçff»ËW§--Iÿìþ+™¬ßÉwÝó{/ÈÒÉR"R¹7ë]uÌØ¥G^7Òþ½ä?M£åµ‹{}ÿ¹¸g‡[yo""¦ÓÉTåq¬BÖYídio.Êz™ˆb/†]Òߊ¬çþ?ÆAÑé˜Æí%K…Z£öðôì7`à‰ãÇwíüëñ£G‚ 899ûWªP-PÖëôúø½0«8vËjñ³¯§v¬7F´)UÓ7&×võ¿™Ø¬óäNµ:”ë0wÛ¯.&ùjÐy#ûÃ]§Ó©Õiž[C«Õ¦ýR“¢Aµ~øsíþÇ=ºº¦Lw}ríá8MåÆ¥ÍˆHrkܻƨ‘Kþ}V1fÉQ³¦km"’µzò²yË Ÿäi/‚i§lù5gŠ^§PùÉ{W·sN^ dî`™ ‡GQdÆ„ªÕªÖE‘H`ŒÉ²^›oĘݢ΢;Ñ)P—øìhÔgI÷4îMƯk2žˆˆØóMMJ 6Q ‚Cû½/Ú§XFí…wž'ÝÌËZ}vP6¼1àH6oáÕjµ,Ëé4P%º¼Eåþ=}ä¿úrýíÛùÙiŸ­Žrh?¼¡£HD$:5èS[>°hËÆÅÇ­Zô °""ÒxTö¢ÛûOiÝÝ=ÿ¹9˜¥ó3ñÍY0+ZÑ.ï“îîjg‚½Z…cL¯Ó%ÄÇÇÅÆÆÅÆÄÇÅê´Ú¬VcÒ\É‹“Û#_gLÓ…LËæ©‚(ê´ZSÓT¦ÛjµÚø¸8IJwŽ—Yù/–N>Úh§Õíÿb@˪nÒӈХ3ç|ê÷ÙÖéÉó E‡ >õÄÎ_O "½&û[‘ºh»¿ÿtR›žºÉ‚ËØÆÝ‰¸íÛ®½¿õû ,Z8XÊ×¶¯ÝY¼‚]Ù êF¼7³ò}Uùýëá­GOè^ËÛ<úúùKºšÝÚ”Hov@æiï„n>©.]Î]zplÍôQëõçv+‰p‡LËæ²Lùò~ßOŸb¼›šš¦£k4¦¢(Ô¬Y+Ýæå‡m:á¿è§Y‹æøsr,3)âÐô›5£4Ny„ª`W»O°ÕÎM¶ýº–O:ªTåÖaé!óŸÆ}·xxȴצ.¥ÊUn1±uªó€5Þ¾ì°rðäîá>]]«º“ïLSrðæCÓ¾úeVßÕãâ,Ý|Ë´÷ïjÄ 2CŽº¶lª#7_(6^ë¶öèÐ`|µk aÕªU§ßèྰFÍ>VÒ­·S˜¹¥Å›»i|E•õz]'Š^Œ)Ïž=;}òDPý†é·Ü½go¶–eD!.S¿ò¦LpáÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸páÀ!„;‡îB¸pȨpW©T9ÝȈ ŠÆŽÈ1r(0î… À`Œ1ÆŒi‰p(Hd½Þ˜fwî’$étºœî d£Â]E2ªÈ9E2Ñe€‚óÜx$‚¢(Æ´D¸$²,Ó áÀ!ãv¨ ¤Õ&ätW z½^Œ-»uF0•JýìéG'!Sûk 2#ƒ‚?V.†+c,>>.æuŒµ1í ÷bÅ‹Ÿ ÷-/XZY”lÿð^¯§Bðc<>¶ë²¢¹?*ðñ‘æLQdY&ˆëO”)Êùsgýü+ÓØ¨pwvqõ«(\¾ùòå‹üó‡‘>µZM|ÿœsZ­ÊÜ<[ȈZ¥F¾g/•J%ˆ¤‚Ÿ%gcŽ*5*Üu:]{ûÀZµ?¸gðAŒ<_fËpáÀ!„;‡îB¸pȨÙ2)±wÈë.jÏŸ=Ͱ FîB¸páÀ!„;‡îB¸páùˆ dðoïÞ‚qbÚ<‡p€|¤qcYtD†Ë„ʦ¦ºÊ•e++}Ò#œ=©5w®²sgÆÛ‰©S?h[²r¥2wnÞlîìÚ%YX$ßââÔ'OJÑѪî݉HnØ0{®Ÿ3uª2h»r%ƒfC‡*ãdzµk³žÎ]» óçgùÕÄÈp=úYi{ÇäNÅ*·œ°õfv_WõõžέvF§Ù€=ÛÐÔÑ«û×Ù¼âLÊ'ÝàÒë×*"‰ˆRÔÒ¥‘’ ËŸ2E?ž‰Ã†¥€Ã‡Ë¿ýƈ¤²8"RFŒÈ›‹‡d¦Óž}—íݶ{Ǧe?tu==§O¹—rø²Ùq'¾ðu ZxGŸx_°ª6æ÷ÿ ò5ÍÁuj¯üè\iÊ…tÞZnt Pºx1ylÎ~ù%ñ¶ È3f(eÊ0“7#÷áÃE£ÑV¬¨lÙ’8¸Þ°A™;WY¶ŒU®,·n­üò‹â⢷¶Ö·k'ÑâÅJ¹rÊ„ dØxôé“ú|æLÅÝ]ùõWHò÷Wºu{Ólôh¥GÅÝ]nÙRN~°zuÙÜ\oa¡³²J°¶–‰¨CY‘B$ü÷Ÿ2kVTf2sns·²~þÞj"¢êµl"ýûn>ôpH颹y~gÝÖž¹¸¾üÝ îœ;÷ævíÚtù2kÖL!FŽGŽL||Íå“O"F$h4tæ kÕJ\·Ni×Nl×Îþùû³# ·¥ "Z±‚EDQˆØ¢EÂÂ…©ôaÎvÿ>IDÊ™3ìÌiùrÚ´IiÓF$bD"Ûº•Ú·—×­“‘JEz=©ˆ¤Ý»•uë(©¥ ÇLÒ*°¤›£½s麃W^ŽO|©ujá°f‹¹8y•«Þ¸uÃ’ÞÃ^½÷Ré›þÖïuÜjN»ªÜžäæàhï¼üL ç&Vñi>irJ;98Vu<6;»olÜHIW?fJéÒʵkBʤڱÃì‘Ș¸`AâèrÜ8""Æ õHX²D47O_3" “ˆ$"‘Høï?‘±Ôðòe)©.$DDˆŒµi#)D"c†µ .ÐêÕ ‘BD=z{öHDÔ±#kÜXܰA$ˆqëÏÜÁIDATØ A"cÒêÕR¶~HFÉt¸3EÿüÚ¡?F û+¡z·zN)Ow j4äïC—>ýÏÊ6ëûuüþt,)O¶ h5æP± ÷9ºüûÁÍJZ½F“2#÷YÞ¶•³ódøÙ3§æÕ±z«üòôÞ›E;O_z`ûì˜5#†¬¼­'"íÕÝÚ|ÿ¸ùÜoÜ¿|`Ù—ñQÚ÷ŸjßT]6œÜ8¸(¹öZsâLøÙ³¶u’ ëúoûÝJ#æoÙ¸dB UöuRZ½:±B]·.uë–ë3f¤¬Æ#RæÌ!"zø Q{åŠHDóç L¥b*(ý¥NÚT$'Oâ¢Ó,…GD°äfeË DT®\bˆÏœÉÆŽUˆëÞ]8sÆÐLZ¸P ‰$ŽÑúõ†^±æÍ?ôɲ̔T.MpœtÇ¥ö°åó»xªˆH{}å´ÖöLïRÁ„¨dÏIŸ/«6sÅ…1•T¯îÜ7)ZµfߦB‰¾™ê›ÚÚÉÍÉJ5¶®îîî*""öÖ.LÁ¥Ñ¡*™Qéχý¾ä«Ã7âûx §~›y¶òÔcýk¸HDf¥*9«SYºœzß,]]lÕ¢ÚÚÙÍÝÝÄ𘞈È+døÀÖå °gÙÖ HvêTrQ… "´k'¸ºÊ?ü@µj%ñ_)W¯2CÁdà@ˆNœH|mÑ¢ ‘¸e‹áåŠ^OgÏJýû3ÃÝ>bDRhhbd׬ɒB?ÕnþÏ:vdD¦MJD„a´®DF²ùó"*[–#Ñwß¾°€…1Ã×úóÏÄ…7mš7{S)+;TwÌëäL~]òuCCZÅ^ÜwYë×ࢮn.®n.ž_G°èû/õDj¯¶c{xX¶^¯IKވɱ½ ’…½¹(ëFú'á§^¸ÖªX$ƒïA9Ò·Ìw’9òævùòD‰ƒhª^=1"¥wFâëÖ‰D"‘òñÇDD;wîŠ]ºDôûï‰%”Ù³E"Ú¾Ýð"¥Fôº±j•a-¬V-"¢°0JÈ‹óç‘л7ED$ŽŒûöˆd"ñÄ š8Q!¢ãÇ“þy9×<3ë6w+ëçï_­õä_?¡?‡{$ÚÐ}¦Èz…ÊMÚyìÄñ“'ŽŸ:^–uú ¦×·\ì$}š »FÍÌ´›7 Œ wî›7+›6)vvò‚b™2D$I“' D4j”¡n£´o¯„„äÙñ´YذˆEêM˜»hèO'b æ^þ®t%4RrvOæb§Iú6"Ù”nÐcìü°+Z³}³W\N ARKJÌó¸4ÞuŠÔ$µDJ¦"Ríì_Æôæ¶×Iê÷ûF$H*‰>8–3Õ 00„‚lm­Kõéøxà˜}÷!,”.]¨tiaÛ¶äìˆháB…H ’½¼´S§ÒÀrÒòYçÎòªU©«þñG%¹Y›6,,Œ¢DZ‚§§Ø²¥8x°¼w/…†’­­ðâ-\¨DFJ)³ôÈ‘Ä57oÊÛ¶±Å‹ Ъ¢cÓiÓƒŸÎ:ë\™–ë=°²|xD»aó¶ÿw6"üðö•‹6_בöææ_çmØwü•+gíØsö¥èäe#‘Æ=ÐÏâÖ²ïï?êàÆy?¯½–¸WÂÂÞB¾´aýî°ÐãOôD¤v(åÂ.oÚðOäåó§#Ÿ§¹¥MA°«3²ŸÏåo» ·'üú­+Çv‡ÞÐ¥ò%!¾©l}pÀ·\ycÂݨªŠÂ=zäêêöÁÝ€,²µ+¢Õ%u *cgË(Š,Š˜Z—dÙØ’ò  Œ»v¬±á®Ñà⟆±á.¢V«ÍÑ®@vÉDY&yú‘òòìæ¥+Âîêr¦KiÑÝÛ·béæ3/pJ¢ Êzcƒ7+5wùQØOã¾Zt)> ¯ýñ—5îÇÐGúÜ]-@þ`bb¢—=†ôÃv¨¾>ا„G‹õO2L³§C<¼{xõþSúsêyTžrC!¿_ñU×þÅÝÝÝݽJV¨Ù¼ïÔ­wéF3ê &AÔꜹf“ä<~N ÇbêÄûJÔ3úôšy4ΧiÏÏ{U-çn–u/òìs[sÌë0š±‘-¦8债Ôç‡ï}NDôúƒ×/X–¬R2éžòdç¨^3:õ^ºfBCפÀ§fmˆˆ¨þò[÷>x……Á‡‡Ù…ÙÝT*áîQ: é€Ù?LªöÇü;¨Œ»{óu 5–ðß”uüŠº{•­ÑrÄ’“Ï e–·Ê2úkÚùªè°¹_¥HvH$ë³½æÎHŸÆ^Zûª]Æ/ÞýOè’QUoýܩɨ}Q ‘ªˆƒ Fî&IîÝêôùvåþÃ;ç (~b|HÈwá1ï,Hy~z÷e*ÚºeISc{P˜èecw?f¢’®È©î7\j4ªè(’O±I •Èš_ü´õ‹:=ôËO/of•bIò«/‰lÝlòåI'ò–`äÁ©DdüÈ]’ŒX¨ä\‚]ý÷f“$Õžuê¸&\ÜUjãN?ÀÉ:#™1’uïÔŽD»ŠõŠÑ½-ë#bì@ábô¹ì³u‚¡üähè5ò¬ì™AÍ\w÷Ðá‡b±Šîïl04%»|VÇôþ‚“v?Äèà]ŠÑáþá³×Ùí=›” ò_óí¸ÿÔA3ÛUQÂÅù#¦q<ó«šÖDÄ.mÿ뇪ŽúÛ‡Oúî¢}Ûå Dz»Œ/¹¶ž5÷dÛ^Ë{×<Ѭw—¦Õ|œÍôQw"ODZ|òu¯2™øFÀ!VgdåýƒÃÝĹªcøÏ½¿;ýP¶/Q­ëì]c[»©ˆˆôÏÏ„ØãÓ* æE«ªÃ&uñTåT¦æÐ%ß}^ßN$zw­Ê©Ñô݇ê/üí k¦î˜«%ѬˆgÙM»‘ž‘I&v&fƆ» òûç4°¬»0âÑ´÷_aQsÎÅ{s ·Úl¹Ò†ˆèÛ÷Ö_|Ðþ»ƒÞ^•¹w£¡?7jdÏà=™8Ÿ»ñó+ äÀTHÈ[¦¦¦†ã†Œp(02nDDw.!Ü Y–EÑØÓ³î‚@&“WÑÑÐ+ø W/_rquQ£®5jÔTH•ZS¡‚ßþ}¡ŽNŽ>%KKR¡8³—¢( ñ¹|)AÈqZN¯Ç¼/ÞÄÅòÎ’èèÖ® iÝF«ÕÓÞ¨p711)ïçgec½}Û¶‡(б'ÎC¢(jLpHkvR«Tª¼Ú® Äo‡° 311Ëë^pE¥V«UÜ=A iݺt™2±1ïž.=UÆĤ(J Ÿ’¾¾åezž1£Ï\¹‰1¦ÕjLvÊÔé´ Z£gá@Â0€Cw!Ü8„pà€C~%&È%²^Vd™}^ÀMQ%)ÍŒbŒž¾’ŸÇÈÚpà͇Òˆ‚…èd%w!&„;@¡×êî=¸wþܹ¨çÏóº/9NE›²¾¾žž^jæýŒÑ'ºûO^\¸zûÁÓW¹ßÃ\&I¢“EÏ'»âjcòáP(²|ïþ½“ÇÕkìU´˜JÅù_®N§»uãúûEñööß¿?}­Ü{uâÂõ.+ùu‘$Î+ÌZþÒÍëBÏV-çmejïh•ñ¸œÿŠðA–õçϫװ¡w Ÿ¼îKnP«Õ>¥J3¢3§O¹»¹™YX¾ÓàyŒ>âÚÎM*—.îš'=ÌeµªBIOEQþ>uÃÙÁΘpç|sÀÆèåËE‹yçuGr•­­­,+ú÷¯ÞL¤“éqTŒ—sî÷*9ØZëd½Qç„D¸Š¢’²&E‰1–êùŽ#YVT¼WcÞ!ˆ¢¢{¡=”e ’Buf7ÛMÿ ªÄ@1î®í@ÁÅýNÔ´¤51D£.\ßc2 áP0‚€ËŒ¤$ ‚^_¦¸gU! L© ¹%²’ÞöLaL,T‘ñÛ3ŒÜ ŸR«ÕŠ\¸²;}&jI6²âŽp(”WŽiPÔF¥R©ÔVNÞU[ ý#".Ç×wâ3/“*snÄz{}qãÔžuK;[¨T*3ï€vc—–rଜê«òz,ù®ÚëKZ9¨œÚ-¿iÔeNsÊ2 d}${>«Kó/¶?ôjÔä¬Z•}ìä÷"NÞ²±(¸ÿ‚ ¨T996•ŸìQ¿ùÿ"݃‡[Pß·ˆöÖÑõ³¿ï[cÅÎ…—÷ðN匤<Ý3²IßPßéÿ,íZ,µ¹«àþp AÒšô.öòà¨/¶ –DÎïìc–4÷$¤Q.L$L\AV:NDi¿FHEb9ô”Ç[wþ_d™QûN­mg؈4nÕ¹}ÍjŸõëV«Öþ¡%ÔDÄ ÿcL‰9óS«Ö󤡻6Žð3Ï¡nej™(ËpMy°uÒ¢ûŽ=—ÎN‘ì)ÄŸû¹S` {SµZ­¶)^gàÒÈXF¤»úS%ÇÃÇõ öu±P«M]ªô^|1¹ˆ£½·wZ‡ê%ÌÔfn~M>ß|OOD,îêêáÁå\ÌÔ¦Ž¥ƒG¬¾“ñ¦ÈyQÐÑßÙüãÆ—®æKJv""Á¬l¿¹ß”—þº("þíèn­êÝxܵe»¿¯oŸ£©Šš;‡ÙÈ#ÏSx}nÓ Ù¾Yj6©Ï,ŠõûvùÞ#ÇþÞúCƒ'ôí8ë’–ˆH~qbçâ=fm;zòÀmc–è³ä¦žˆäG›{Vm6ûeÉ>s|Ó[TrP‘òd[¯Z}öùŒÚ~õܦá¶vûxò‰˜z·DD$+é½e}ºÏfÝë³[ÂÉ>¸£ÿ»§´Q{5ÿ¤4ÝÜýÏ£ÛùÙþ1M{ï*÷ÓÞ?:zªs¤Coèþ@Y ÀÐéu Ë\œ)ÑÅ“­›…¢MHuŸàñq¯®‰·Ëy³fY·ÐóQ#=µ2\› Ú¡Š•ùùìßGï»ÝÇÕäúŠo6ªúîX9¡¶•@D>%‰Hû:bá×[¬‡ü¾³¿)QñžS¾øÝoÆ'ÇúûéFL¯Ó&h3ŸÃ:½.ƒ:À²h¯D?~®#[Ë÷?4fé^„èÑýgqZÒêdFºÛk'…]1k0ºE1•.õ9»èu™X< `E‘e¾Ä,˜ØÙièâÕÇZV6õ}|ÊËÓ+~øyí¿—oݽs÷a4£À½’xàR©\´(b.Ê:½ÂXÜ•×L«Lõ³|«+1{/éoFÖq™m((:Ó¸GéÙ; ÊœôÊ5\´"'ŠÛ‚©­š®ß~®cìMuç9‘¥“¥È’~*¯Kiƒ»÷k;­øžñÕ­»”F–dê \„;@Á JRVb2÷ý¸íÞ³øðóÛ½Ÿ;ºës[×ÿ*¶÷ü¹Ó–p »•ìð2E'ÝJücŒét ,VÿVG˜¬Ó)T~jØš¶NÉ¥^ÉÂÑ‚)oö§f>„ÓJ%æÔþTóòûQhØÆ 15ÌS>¡»³{Ã%ò^ÝQ2„»¡'.­~ûë»uÇ´ìåõïÊÅMr KD”É-jîË<Ñ­å¸E^nè7dåÕXåÝgõ®>iõÉOß´÷÷°³4UÑ[ãì”-“V¯ñ¨ì®?³éøó”Ë"Ó¢Ýèòžó‚³{2[ 1Fï.(s”ôãŒ}À¢Ó!¹6ö±åƒùC:úR~ópÜå¥Ã¿9#Vس¬IÒcDÄ1Ó2ýW®âº{h‹1{Ÿès¤SŠÑ;T1r(0Kov`Zlëÿ°rä•–3U9³±oŸ¶uʹ[³—÷.?©m>éóR®^æÏwÍýó¸G°Éù ?ŽÞ£eo&.¦¸‘tWSªëàÀ_¿ìÚ®Èô±]ë•1º›P´j9»r}Uùýëá­Eï^ËÛ<úúùKúšÝZ—Í,ä«­ÝQ¬¼]Ù Ú™Ô2Æôú·¿#¼× g?€èÔbÆï=":ÿ>ä³nõÊXÇß<¶yîÏë.X5ÿmQ_oUr¬'wC°©=qówêôíÜÉ3lóðòæ9PžaŒéôr¼ä÷ý뀜‘Åqª`Sãë§·|׫ÔíÓvmÒuè´µ—D+¦Ulêÿ¸t”_øØª´ý6ÜwH¿â¦É‘ÎR¬0y>7Së»nßÿ:™„Nîô‘_ÕCflŒx¥0µÏ MÏëëzzæ§ÍêÖlÞÚŠC×_+Œ©‹òe§'wï;yëmmæûžñg’CDçf¿øçQÕ¢¶NíÛ¶y«n£_*öéì°£KºU¿ÝÁäÛ*÷¶s¶|S1|b«Áïér¦_dôö]XµjUãFÁô9L«ÕîÞ¹£E«Ö¢XˆdZ­vúµMš4±±µ{穈ûºƒGÏôk¨– ÑÉgâµúŸWýóq½j<28v÷ž½(Ë ’J¥ÈrNÅȇÒ£jÔ’,+*¡…;ef", àÈ©Ù!ù”J¥J?ßY!;²F%ÿvîFaË2"Òé28Ž©°} :cÚB¸¬ðeYX¡ÛÚáP`¼|ñÂÖÖ6¯{‘{EIÿDÇQ/¢í,r­?yN–Iãv¼ Ü ˜Z¥Š}mcc“×}É=?²±±Mu‚$2JŠŽÓ:Øš¿ÿ,¯n=~éhg©–ŒJw„;@ J’w ŸcGÖppp¥Œ'Dêõz%ûNš¨Óé²­ÂXÆ•t"­6áıc~~~*u*1ek.y{ºlÿçJ‹Z¥<­$#òN§—?_n†´rv} Œ(^›A%] !6A·ã¿«|ŠX5áPH’ÊËËKQ”ðÓ§^¾|™Vj ‚ Ödå@*I’Þ 3AÈð€&+'REQ•á9°ùùû;9;›™¥Rxq²’bœì*ø„ºù8*FNãD¸¢ ˜h²’r*IT½»Á`Œ2Þ„˜¥¶)ʤ’Ô]XŠTðqs²s°4êôaw€‚A­Ñ”(áíîî®×gß :‰±uÜ\$‚J­J5Ù‰H¨¸ƒÚÊ´ˆS[­’Ÿ‡ ˜ÿ> "’D*b!:XJ¨¹ðF”Tæøº§ÙLÈÑJr´Êê¥eyWˆe(<îB¸páÀ!„;‡îB¸páÀ!„;‡îRÑî={óºþei©9¶Ä°IEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_prop.png0000664000175000017500000022263612142400477020052 0ustar balakinbalakin‰PNG  IHDRåÁé‡.ˆsBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìw\ÓÌÇ¿I›RfË(SÊF@e(àDEnqï½Å­?÷|Ü{<î½÷EÅù¨ ( "gÛä~”Qv+ïý¼_år¹|sŸä“Ëår!>  ƒ©ò° M›6•ƒÁ`JâÊ•+l I²²#Á`0L)`¿Æ`0åû5ƒÁ(د1 F9À~Á`0Êök ƒQ°_cä¢÷€A)©)NÌMéÑ·?MÓ'€cÇ=’$uttê¹8êß¿¦­l ï?|èä×ÃÒÂâä‘CA@è³gCFŒêÔÞwÞìY¹Ù†Œõ"2ò浫jªªò‡7høˆgaá@„¦†F½º.3¦NÑʶÓeåiXØàá#{÷è1u’åF‚©`¿ÆÈA„ì¡B „¤)EµiåÃ0Ìׯ߮Þ¸t{Ëúuîn®¹ù®@ìÛ·1±±5ml ®³³@ ºsw.B, ’“Sž…‡7óh¢¡®®h€\.·S{ß””Ô˜7onݾóáã§SGK/ Æäé3>¾ë†ôO®ŠŠ‘‘!ŸÏç¦\`Ã0•F9(|¨ä¦¨«©-œ;‚xðßÃ1þW®Y{äÀ>©U!„._ pªS',"âò•«6VVÒµ|Z¶8tôXHh¨[½zðàáC†aZx6ÿcRKSsÆÔ)ÒßCGŽ MIIÑÐÐøÝ}ý}rƒ··³»zþBŸb˜rû5F>äóPÀ‰hš–þ¨ïîÖÁ·ÝÙóbÞ¼±¶²€è—/ßø0tþ\èêµëcFŽú¸—ס£ÇnÜ ªçâ÷<`±X+~L¢Ü†ÉÈÌd³ÙçuLL¾ýë»»ÅÆ¾MMK2 ÿÀþý7lÞòßÃG™™™ÎNNþãÆ˜›™½‰íÞ§ŸW‹Ñ/_&%%y4izÂD6›ÝÊÛ‹«¢ò+>^[[Ÿ˜âÀ~‘ %ö‡ø-µ?.—Ë0 Ã0×oÔuvÖÐÐhæÑdÃæ-×êÔ‘æôñj¹ïà¡‘‘$ÉŠOHhѼ`gÈ›7±û’M±·«é×¥sH233Ož9«ªª*450ft¿>½išfíÛµëÛ«§4Âgáá/^Lš0^šrêÌÙ%ËWÜðŸô> µ·÷èà ‚X°xÉÙ ã>~üýòÕÆŒAÄБ£Ï]¼Ô»gÂ%ÛÛÕ¼ðýÇþ}ûMÓ?}–ÖÅó‘E’‘™™žžnh`àîêÚ°¾;—ˋſ¥æ¯û5F.H’‹%²‡JVVE±‹óëðˆ‚ ÌÌ„ Ã<}ö#.îG\œ{“¦Ò¥·nùÃf³ ¥gó}ݺ}GUU• ˆ¦8 }Û¶éÒ©£l Ã0™™™"Ô®_¾(]JÓ´Ôø¤— †aD"‘4Û§OŸÀÁÎNÚø•>ýöý»•¥%0IÓ뜽pñó—/?}€]{÷íÚ»OZ‚ŠŠ Ã0…KÎÝ\n BÒ›(®>·zù²[¶Nž>CCC£o¯žýz÷Â'1Åý#zºº‘Qѯ^¿–¶C?|üøñÓ'üÞšûûÁÇç/]nPß]›ÏgæÚÐ¥SG©ż‰}öðñãF €µ••‰±qлZZš.ÎNšššH‘H$ë‰EƒRSS &KS¦ŸÝÐÐîÞ¿ooW¤£Í…BiNÈÉýLŒŒãã ¥§çˆ¡ƒ³ %†a — AˆÅb‰D’û”Uú¯¦¦f‘…@ÃúîÍ<š¼‰}»÷ÀwìÔÓÓmããSÊÎbþV°_cä¢mëÖ·ïÞ9v¼‹³3Ã0aáá¡Î;d<ÒÒÓÿ³<-=íë·ï¯cbtt´gϘNÓ´X"¹tÛÝÍõÓ¦JýëÓç/»÷¸~ãfwwiá>Þ^{öí€)ýsZþÅv×ȸªƒ½­õ¾ƒ‡bÞ¼ÑÔÔ¼q+ÈÂܼ¾»Ûûàν{‰äÛ÷ï×oÜlÓÊG]]͵®‹¾þÍ  ‘(«Fññ ÜÝŒ — zºzYYY3çÌ555mѬ™––¦4½¸BâââF÷¯]«V ã˜7± ®¦ŽÏGLq`¿ÆÈ…GãFógÏ:rüÄ“§OÀÂÜlä°aî®õrû[Åbñ•k×x<žž®ÎÀ~}ûõéÍ¡(†a=NNNîèÛ.--MšSOWǵ^Ý;÷î§§§s¹\hѬ™Ô¯›4jø{GcqÝëe/•]´~õªµ6= & ¢¥gsÿqc’^J !1éÌù \•ݺŽ>Œ¦i’$wmÛºfý†ˆç/‡<Ñ׸»Öc¦È’{u÷{ùúUHèÓ·ïÞ;ØÕ”Ž&”ŽR/²ôŒÌ:µk?yr÷þ}c#ÉãÇ5mÒX"‘üF `þˆÃ‡·jÕª²ÃÀ(***\.Wz§Ï0LFFFn7…¦¦&EQÓ? ‹333¥FFQ”¦¦fjjªlŸ†¦¦&›ÍNLL”Ú$‹Åâñx˜˜ø{~­¥¥E’dbbbtiÉééé²ýÝ$Iª©©I‹Åééé Ã|øøqÀÐáC ;j$BH$eddHÓæg³ÙAH»Î³²²Š+YCCƒÅb!„ÒÓÓišÎÍS\!ªªªÒH†ÉÊÊ*Ü/ÁH `Wv ¥!+++{€Z!RRRŠ[K,ÇÇÇ—œŸ¦éÂy"99¹Èô"Kf¦pO· M'$$È“¿¸’ D’›§¸BŠ‹ƒ) ~Á`0Êök ƒQp`anü(#####£²cÁ`Šû5P}èÌŸ÷‡`0ŒrÀ@xü5ƒÁTupûƒÁ`”ì× £`¿Æ`0åû5ƒÁ(د1 F9À~Á`0Êök ƒQ°_c0Œr€ýƒÁ`”ì× £àùž0LyBKh†¦Qö7Ú0%AÉ"Y,y}û5ƒ)7$"ñ篟ŸGD$àÉKƒ$Igïà`j*¤8yVÁ~Á`ʆ¦?ùü$ø±§—·ÐÌœÍÆöRb±øýÛØ  [ ÃXZZ’r´²q…b0˜ò¦%Ï#"<½¼,­¬+;%€¢(kÛš ìi¨‰±±ªºF©«àç ¦|@’’ÍÌ-+;e‚ÏçÓ4#¡iy2c¿Æ`0åÃ0,«²£P&H’…BH®Ç³¸?ƒÁ”3rºrêJÎúÂík SnàgŒ¿!_6ì× ¦Ü B"‘TvÕEüšI~qrñog¡@ «'0uôê7÷ph|åj#zwvÝò½¡IÅ~¥=ß1¤‰µ®ž@WÏûÀW¹:õ Ã$ïZ±þâÑïÆ‰Áü= ŒüAÐŒ¼.*÷Í‹äûå©íúxoÜ|ÐÄUnæšâo/îœÞ?¡]´àåqo­ßÔµìˆÞŸ[»â­fï¾uyE^z诧§Ì>GŒØ~®½¹:Ï\ï7Ÿ„Љw¯ØèØd¨¯P®aí #E1´¼Ýýr¶¯é¯§Ç ;ðÉùÿX1q€_ç.½GÍù÷ZØÝíÝM20F”!Î’dfþ¹6º$îÕWƬuO߯nõœmu©?¶! #t|ðŽñ휌ÕÙl6[…ghÛ¨ÛŒãïÄ!þBªÖÒè*qË$>^ÓÝÅDÍÖ4qvùg±7ð‹|~-~{lý­Ì#׌vÒé'ÔìÚw³ã‚èÕªºÓŸdä,H½Õ¯†ÀëÐ72‚'Ö¸-8¿gRÛ:ÆA­)3R®÷4ÖõÚzqËHO;#=ÃÆ+_ŠPFÌé9ÝZ ºzºçœy›%-Lôr•›žýسguw7Õè»tYr+Ni÷†9v¹Ïg8 tõŽsód¢ÎŠ\ZÏÄkËgx·¶™±ž@·ÍÉŸPæÛ3sý\ͺz3·n³ÏÄff_?¤Qm Ø9¶¥‘®žÀªù˜}Qé@ò~{K·ùÑt¼ƒ¹®ž@W¯ýù„²Õ:S-!ˆÒó1¿îÌoiÝpÔŽ÷6=go9rþÒé½k&¶6S×Q¯Rƒ3Bt›v•7tß½ça7Íh¬ý{ú’:ªsZžO*·¸äêA‰Ï®½½þíl¹¿¹™Ø'¼|߃Ú™Ú* Ï–LÑ·öä£:jé´>[òñèÀ–ão›õœ½}‘=õîÒªyC}“ù÷ÖzfWÔÏS6 X¶ýáVƒ_×õ;h¢ó“ýítÜ–]ÝšÔbÔÇñõ0bž¡lc_ÅfÌÅ΋; ¸Ûéè©QÖ*ªô3À¿ÍГêfoû§6ñâèâEÃÚ|ãÜÛÖN}´<ûgšÁäõ—Âj³"wì3i Ðíît“Þ‡ÏýèÔqgÍíW–ÔSBÕ€÷›õ€ÁTo‚Èî–- æû™ß3s6`E»¹'k§^ï’ö~WP´Å"Š{ó‹t[ïßµ>_šð{1IW*¾>d2ɇ\— qÂûŸú6‚ßïN°ž°}~׺æ&vÖ|©5²]lÒ¦¶°†¥™FfÈš…¬{άÛÙ«¥ïЕÇÖ{&[váKîóAáðÍ‹º9›è9úÍšê”t4, ]cu¨èÖš™› ùœ|Ãb(ž‘ИG‡o,43ê«ÑïŽ.9ùËqÑÉý»x{uößzr±cü™%‡bsoÁÔš,Ý0¶¹•¾žyóqó»ê¼9íƒØÆÚ*ÀÖ2š›™™ õUñ° FaÄ1ûçŸM¶œqø³ÎJx¸u\Û:Æ¥aÞ|ÊÙObÉ—óSZ×6Ö¤(Šâê;vYtã )~½þçßÍÝB‡CQ<›6ó¥ Pj䡉>öúj*ZF5ë·l*äyìÿƈ>]žÓÁÙTƒ¢´-› ÛQh°‚äÝÆººí/g1·ýEQCî¥J{ytr'S-Šâ™¹t˜y&6Cj´Å„‘ÔWW×÷Rs»«EQ”ÑðiÅÔ CËÛ#\AÆcÔÔä€Ù[{»ëæÜ‰Þ߸óS­Yß&ºÙñ°M:ÛÓ/nÆät±ð\›U²—ñÌLT3¾OS¸K ¥<¿ =ÚšfÇB™¶íé¯o„'ç\â,=ùÙžO ¬ÿ¡’À`0JCsf2¿Ë^=ìT‹]9>ö—YŸ5gî=¸°ÄõåúAþW~"‚Òuì:}ËÙ{ÿ»¾¬Ñí…~c¯Æ#€ÌO‰ÿ;p3ôáùY6—ô›ý @òéèÀãž4\÷ð[jÜóK+|9  J¹?¥Y׃C÷>Šyym¡CÐ_ÿëñùf›~øù¤‡lzäSJJJʇ©ƒøÍ¿íëõ;®6p׃˜×·7vÉÚѽ^Ï߲͡¨0ÔnˆßíÉ÷ma±±±±O–»ª³Ó4#¯—ÉÕBi›é¼y'óß ¯¦]¨Iª¦£šÛc%Iúšéº›ëåÏ£’"àPªT^Ó™d@‹…oP˜ŒødxÆZ¹;Áæó%ýJ£AºiŽZ^dÀüÆf0˜¿±DÌ ¢ Hôóc<ßPÉñP1KÌ Â²ûôñÝl9`9kèæsnÆ$·ÒRÕrëÙßMš«–Íâ}N߉Mñ²”0@Ôñë70bç”™Ó/žs3<ã×Ýö“,‰Å4¸~O¥‘f¾%1LöúL|Äã¯Üz¾NêÙ „¶{{¸rïMÆ4[²¸0r’Jî¿VèPùúC(‹<¹·NÜ–*³a”}îDT&°ù¦:d⻯éÙËÒ_E*Ô‹ bÞÒC'éqpª‘mMljh”æ£[…qºH®F0¡YÛË"]ù˜}E 8ölZ:j•ò:(ÁR¡@”–…ÛÚLI,V±ïËÚõ¼,áã©Ãiż:²ëÒ³ !&ᦿg· ?Ü^º& 6>ñËÓÃ3&û&êîS´Jßí×~ìÚ£WoÝ 8{hëüa~ã®'”¶+*&.5àÕÉýï?yúâKFÉù)ó³ºé†Íî>zÙÀÀ³ÆøÍ|¦ÓeVËÒÆ³ujÚjeü·ïHà£'Ïb˯ÍÁT7Šõ%Ží€©žªŸ6÷Ÿ~ñ³¨Û*`|ÒF1 ôÈ“—ãœç­ÝÜJ ¥J‘¹[‘N“Tp„¾³^üSÏR˜JÕp‡›O²ôLr1Öå²k„PîÚ¤¶½‹~fèÅð”ì:>øRX{XrK!`Q$ÐYyŽ¢aä¶l¹›âlÃvkn5^·rÛ©uÓö¥¨;µè»iõOM¨ÑcË¿‘#ftÛF«[z™óϨ±q ( ì=÷ÜÒZ3oÕöILj€«kéܬÓp[õÒ¦Aa {,ÿß­±ë†uÚ`2úFðBG•²“z­Ö]Þ!˜¶tõðÓi fÖtÄösÚ Jï Ѩÿ¿å}cçÌéq‘h°çõ…ÚŠìó× í(riì·m÷ã¶½öôr~ÔaÄÀö l ÕÄñï#¿Pï»°¿¬ÑÉv°´Íõ™#»¶]k4Â&îæÎùkcßK6ŸL§‡ôo®ÓØIîfô¤¿fJ'ÝÔ°«I …b »Mlµ|øüÎÅ GzÛñ3>¾ˆNvèæçTè›6pGŽ­»oî ‘¶[ÿ×Þš~~lÎèóìûzZ°Ê,6 ÄØ2[žøÏ¾™ZËÜÑZ«p!$‘H|–­ÈãCR«ŽßÜý~s‹ZÆvüçJÇòÚ÷Èþ¡ê¶öeëÖô>úåW¡"TÌÚÎÜÛvfá¢kN þ9E&A£Ùž÷¹«“üú“O..f®óÒˆ¸¥2 ײˢ“]ÎZ0*ÊbÌýŸcr£0÷[è·¶¸í`0)JøÖ.K¿Íê;!Þÿ®ý÷ØÁyç×g©ª+¬Õ¸ý $‘ís€ÜyFB”ͨ=b†Ïïí¶^Ý¢I¯Óš¿Ü H&C޳çþ‰(Ë¡GÎeNžº~€÷¤n^ß1 „ËÈoïµÕ³–í™ÐaI*×Ц–Kû¹„ò)BÀäµÌc3æ\δõƒ=fÆSÆuš ?voR+2ßU£PÛÁKGŽ™ÞÚ]Mè9åèûÂýör:µâðáí|¼å_ƒÁ`ŠD$\¹Ü¾Sg’¬Zo(¤ ²ëúmëË]t圸´â‰D§Noݺ5_Ê={Àµëx²Z Sn°Øl†¦«˜)¦¿¼þ$MÇÓ˜‹Pž«Hûû5ƒ)WŠÏW‘H~<¸ð_¦™½¹jbÄ…uÓ·|¯7„·òã* ›Í–ß²±_c0˜òU@PÚ»»G—ïºûú—HݨV£ž;nMé`Ë©ô°ŠA,–÷•ì× ¦0ÎËÑLWÏĦáà#ª~µ`0åCÎiYPJÈrß¶kbkw9q€ƒ÷öõë8#+Ý¢§1Ì%åFŸš½ÒvÅœm£UöP«.âØ]ƒ'g [~@C#óŒJ© ƒù äókæÇ•ùëž[ϺÅßNåG¤„HâßÇ“SFuk,ÄÓ’a0˜?…|ý!Œ(%•QZº¸è mé_×nYG(ЭQ«ùÐM÷IÒî ³4ïq-‹¹ß×R «'°õœöëT}‹¡wÓ²WK½3ØL¿Õñ8@üv³‡YÓñSû4²5ÒÕ3²ñè¿,ðKÑÝ (óíùùÝ›:™ë Œk7ïµô~"(ýõéYÝ<ìktMëxô\xñ]f1“ï›Sò~{3aÓKG{Õ2ÑÕ³é˜ ¢o·× kíjk¤«'´oÐafPBb/t¨Ñf_ó|z]#]= K@2€èãµe}š; õÆv:N;™Êäæ7©;néÄÎB®°ÓÁO´äýö¦z»)!r‰Á`þRäók¶q‡™}ÍÞ­ónÔuÊæK¿Dù–Š¢Övê¼!µÝÊK!OV4ù§×¨S_h5·lö`C½u÷ž…‡=»3ßYµÄ0iÑ¡ìö+Nݹ¸cŒÅ³•=}ç=L)ä¹â÷û{{ 9Çí´ðл×vÎêßÒFƒñÛÝ=š8­ÚkóµÐÐË+Ú‹ö h6øÄ—":­KΉңÎE˜]òüÁå}­¹ ~·§O÷¥¯êM?póñÃË» kiÊ-P ¿Ýɘs½õÈZK½ûòùÓ§£ÞZ@?;¢Yïí)m–^|zckíËã<»þ“Sm™.>Ôì¶ìÈù£†×儚yŸ-kóñÃ_ SrÞ¿³­VÝõÞ»mëöù÷ÌSµò2mîÄ.Z$ ¤»«6¿k²æŒk=Àlêü¶û»ï¾õï‘¡±ž*‹dôŒML´Ð¯’·¢íÒ±C“:j5k9›&5òÚ¶îöä#¾º²ŸÈŠÚµö¾ñÔ “ìUìjd†n[÷€×ïüÖÑ5ÀtÊŽ u®>Ûi²0ÿ&2#ŠÍiKðšß³QÎç2Þ~g´ÖoìboÌ+ëÚEDMr¸Š’Í᪨°Ä1GV^·Ú³{j[=Àlä¦1n¾›þ ´ÊMzÍr5¥ëÜ>}MŸ¥‡}äƒÁü½ÈߤciÙ·¿îBÄǰ€b6hê»$$èÃý§ÉAÃj×042642¶ö;›Â$}I.Û€ ®O¬×ßó÷‰0‰‘¿ š·´È׋Î$¼ù¦âÒÎQ#g¯´Ý|íáÝo3 +Îì0†MïÄ;;¤Žc›‘Ë=ú\L A ¼ÏÅeÄÞûön:9µ«Q«m]•¸Ð¨y¿Ä‰Á`0…Pøœà»vž¼çú‘.¼¨[BÓ1 Ú]öÝ ~ü$$8ôÙ³ðð £­8Å• ßG݊û@|ˆI謔¬üßñ”~'®ðWÜ õRþœÙ¨XõÛñ0úÆÉõSÏLjëÔ`Ô¹¯Å]ˆd÷«ˆÍ Ìß™Ã`0•Ïov™"F"A i ÉÊÈQH&¸ú2ߣ9–¶½³ ëé•ç©Ù L“ËÑ`ÕÄ2§Ç<ÇKKÏY”®cÛaóÞ ÞÔøÇ‰µ—Šê'Y»æš74‡èKÁñ9—•´È€§™†nµtÊú-h ó#_ÿµøÝ¶ŽöÎT!þ IDAT¨4ññp±©¡)ùveïÎâf«FÔáÉñšÔCÐýßÞý8‹ÆùÖÑg¾FGÆ·ëÞP”¾!³ýðéGöMÕ2XfuLm<¬$kV¬=£ÝÍ ¾<½¶çA2ËÛLÊË›×ðêÓ¯/¯™´ñ»ë‚) 4 D¢^wä ›ckzöá,šÔµ¡+î;˦®•¦ãˆÑ. k³yF;+:òÄüñÙ¾»{XP@«ëªÓ±WN]µ¨¥]³YãÅç„"|83jÿÖû¼zumŒÔ3ÞÝ|-Vu6T/dºÙ_hÎ5lŽeω-×?l5{aÚœw—WŒÝØpÙˆ:ŸUJ¡ã®Í™°+ÉgÉšÖx´$ƒ)9Ÿ7ªØø¶6?~ýðê Y] ûÚ ¦íŸ:¶­9¤¶çê'¬ç-Ý7»÷†DRÏÂÁÉk¼·€Ší ÅÃnŽûŸoC5Óæ“o7úßÅÑ£V õÝ¢¢g×Ä·M[ÛG‘y[¿¿¶qüîçoÓøV »m»õ¿®¶…;U¸ŽÓ.^Ö3gûÿº¬KR3«ÛbðšÍcj©ÚŒ>sC{ÞŒ ÃÞ•ˆßnnî¶¡îŧ¨Uv, Så¸vùÅ`0åû5ƒÁ(د1 F9¨*óQcîÿSÙQ`0LÕ·¯1 F9À~Á`0Êök ƒQ°_c0Œr€ýƒÁ`”ì× £(0ž–Ð M#k:TL¥CÉ"Y¬’$Æš*XÐê‡<šÊ"o>‰Hüùëçç ññ¿¦â I’ÇãÙ;8˜š )NÑs‘cM•,hõCM —_34ýùËç'Á=½¼…fælvUyËSb±øýÛØ  [ ÃXZZ’….àXSå Zý(UÓÂÈ%*MKžGDxzyYZY—9HLE@Q”µmMö4ÔÄØXU]£@¬©r­~”ªiaäzÞˆ$%%š™[–9BL…Âçóiš‘ÐE|6kªŒ`A«%hZyLJ0 Ãbá¯Y)$ÉB¡b¾˜‰5U:° Õ’5-€b\rŠ©"Hõ*Y4¬©­~È£i.ò¶¯ñu[y)î»ìXS% Zý(NÓÈë×$IÒòõ°`”¬i5 ZíQ ?¤¼î³X kÐsñ!øû”üêDEÞ;“ ¶þl=EQ‘‚²X ÊOÓsËqëò¿ß¤Pÿµ¼âå îûmXl¶D,)1Kåh*U6°J¤Š Š%û äÐ4<Hu†$±¾Õ ,hõC!M•S~”ñöÂÂ>M¬u8l6›­®+tj5lÝ£D¦²ãÂü1˜äÈÓ‹úz8˜jsØluc‡†¾þ'>ˆå\Åñ ´º¦üÑ1ùH¾Ú^Ýøà÷œ³’I¼7Ó‘£â2ûAR•=QéO;Ü)>A©•HqÈ=Ï›-ÿ Áò¥àF3cöl7äP¬ É€Ñ+æ¸Úé“Éß_‡Fªi©Uø~,9 “q‡ÔÃ?;ð*p«%ÖG%j*2¡äGó=›.}ãÔküŒaµuè±ÑÑßMltÙ!½üÇÅqw§àˆ%ŽÜâÊÒl8ïànn-n•ÝYy©Ú‚æÛ´ôwN@Ñ[º·[™Ô÷äójUÙ5;¬Š­DE6%Ÿ_Ë9ؤ"È_ÞyÈ¡Ÿ­Ö嬕{{àW™1)%UHÓÒ`¾Ÿ±,ÜvQØÅZr‰¨˜µìnVÎQU5ª° ’¯gÇ´òn²ùÑæŽFx^“2 lý!‰·—®Vk³u§¬YË"ù~gu¿Æ6.¥jP³éàMÑ(îH3íZæ hdªNQZVž‡Þßãïm£MQ\ãú#Æd¤úXôš6¼¥5¢Ôj4²ûÑãc³;Ö¨PSŸ-a)Ù×B&ùÙö!6zJݨNÇy—>d@Fˆ¿µIÛ©Óú6µp)J]èáúƒ 5¨¯®®ï¥,ævW=Š¢(£áÒ€Iy~`b[smŠRÕ·që¹ùeVùWÍÈû(£êˆRR¥¦‰ ¶D$ï6ÖU¯=÷ónE=MŠ¢¨»?ÓùlºÀsÆÌîΆ\вû_ZÜ‘¦ž_` ˆcV¹NøßoCuŠâÖ¼':#»4:>øß¡Ö:\.ß´Vc’*H)9Q:AQòÃE¾½Ž̹zx˜ìåVôéòœΦ¥mÙdØŽÐ$įV:©ÚÌ|–™“‡ùv؇o1áqbÔb{J8þqzvzr`]Š×åbBö‘z{°§ÞúX1d½¿4¿‹«¥6Ei˜Ôö·ÿyJvÿ‹äÝÆz|ÿ¹ 5(J¿Û•$€¬Www5çS”¦Ð¥ËêyÇÊx{nN7+=Åѵpj» 4þòkª€_Ó’Ê_•þêÒýN“!^EŽƒ&4h9÷eý…_¼ ;9½æ£IMf§I¦¾ºö¾ÖÔ!w7x¼ÙÔ§þÀ«úÃ÷Þ{þ`—ïÏÝÃGÿ,ݽÌO†C÷Üþh×”ý#štÞ‡ºnº||yr€­¯D y¿§s³i//½²¯wú¿n›^‰Ä?nߊw»# $øÚjw›¿Ǩ7ܾۓ îÛÂbcccŸ,wUH¹3¡åà£j¶Ý|õäÒ¿³{Öåÿ׺¤Îª ié°kt™?ØOð·P Y½ðõü°¹ÌÙ¦£Úî±ëHôˆ b–Ý&ìhM€pê µÇ÷Ý~“Ò®®†®¾—EJøúúZ€Ä¢Ìä¯Àй¡«½… ¦ÖNL–HTx·ÊPuâRŠ«HM½–Õ]ÛgíÁÞ»6mÜ2Ãoût5›VÃÿ·hZ·ZZ$PÚ=-Šdkè ô¹@g‰D"Y'ÿQëHÛsè§0‘H$¢aÔzܸîõTÀjòÄۧߌNb÷W,VoYØw}|«zN”t•ŠPJÞ:©J‚FV2‹€äGk\M¶šÜ¯!_"åµ"é/'æìMó;¹~¸‡øÍ›¿kÿÈM÷Vxú´ÕdêÔmç97ÖÉ»Ó[ŸÕè·ÅŠ!ãöìçm;9·Vnzè‘ íÑÿxžXq$4Þ£‘zú³C—]f¶0iQ{ž·=´ozk `2rëÞ¨û>«Ö>¸¾¾šD$AÀk>~BOuii¯öÍ;–î½÷ÐB?Œ½ëç±H”%‚´//€NÛF jYê°@h^‰²Ê]öR5•E÷Ê~xPFÝÙuI }MHxû-ƒ)ªäŒw÷£%–­›fO ‚8f^žé‘!Ÿ3‘ìÓDªéhâL‰´R]Oƒ§e1ÙáåG¨êh°$9¹€£¥­BgdJñû_$áSô´ù|m>ߨéÆO(ñS¢É>®@ˆTÓU'i±$'Öüû:^³'5x¿ ‰¹KçÉ›/G&ˆ·B‹‡¢Jj”£¦òPÝ"5í}ý7¼ü}sï$‡Wë¹{-x”Ìä]x[…Rr啪®£&•HüãiH‚‘‡‹Y¨ŒŠPJN*XвI†@³Áâsê}XÝyØÑ÷"™E17Ã3~i/äóµù|mmë÷èÌŸßSiBÏkŒä⎇I‰ÞžÚm3¤›…b Û¬õõ̹7™(=òÔMß^ú7§oŽJGéѧ®$ÖÜÚˆDé1wÞ€CGw"{CêuÚ¹rD(¾;ièæg)…ÚØa}+26àηœPæ»ÀÛßÕk»›pP!ó-øGΛa¨Ø\9±tlÕÅá7Þ«™äb ÉŒBæª,Š:«@ÓŒP5÷è5uóÕðÀÑzÁ›6†¤*T“òPâ°rß^I‘ü¾î`h±–&‰’ÍF${‡‚ʧUpBˆmàlÏ}{öâ›ÌB‹B¡”œT¤ e•LšFêù¬8¿ÁçÛÆ®}·G§K—P5\„ðáæ“,½¼SÈX—K „šó^Úw·]¹{àðW×amŒsîxHÃVƒ?Ÿ<{ëÌUÚ»KM¤Q·‡{â¥ó7Oûå>ØS@ „TÌZ@Ô…G¿rŒ5õùåÐ #·ÚÚdND²rLÝLáÕåGq9Ù 9 bìÖeܪ³¡Á í^n_”Pä}Y)ESš?D±¡‚åÊ·QÕº³Ž,yÞzÖ¬¦.WúëÑÒIÈ'S¿Å„†Ä5œö¿–m§õ\ÐmF¿¹¼UCò¿ßÜ0~Ùk‡);i"ô3OÈ×îÍ›Ð0W.esòìØLú†Z]? «öÒ~n5Ø?_½ø Þ¢·žŒaç_[`oÈl=xâ?ûfj,sGkµï×·Ÿønåæh®GÆ=½ððèYh³P¹Ö0BH,)饒ÊÒTòªBüvk»¶»Uš¶jæbSƒG}zi×ö@qóµ£êpB,¾U êÓ•£=UÍ%"]‡Ú†z?ò+!{È ~³©#mš/î>Z}ŘVöê?^‹#{„ýóJÉI4_ÈÖ9Ç¢ÿî3ŸÛ¶šÚq’IÐÆv,¶°ÛÄVˇÏïT=Jִм°u*, 1%¾:…5Í…NxqóÀü£Þ%2<¡SóqGîmiR9‹å¯4=lçî×f}wÙ©(ý®ÈCéšÊ ØóÆ¿¢þªIIS`Mó >‹Îø,Ê—V+§ú ªZoyÄ€*Yû†’5•E!¿þ{*ðokZÍÀ‚Voðë¤ÄD>ŸÿçBÁ”; Ôüô kª\`A«¥j*‹\~M¢ØìôôT¯"'ÛÇ”•?¾óxü"?8„5UF° Õ4-Œ\~M²X–VÖ=nР¡žž€d•ìÙ±˜©27n!±XÞWŒ*‰D"ÿ#ˆ"A"QVÈãÇŽŽŽlª•ÿ„¦b±¸êÜŒK$¦luXŽÐ´Dþ93‹¤RÅ'i TÀIZ¹2±Xl¡PÈ0̳§¡IIIŠž,’d)2ÕïA@±Kß ÊöÅár¿ïÿÛ°Øl«l[Aàèä¤o` ªª^DùeÔ”Åb±ÿø—BX,»´v"²ÿÿí­,›õç÷…Íb•ÑCÿ¨ ø$Uœ?}’FÞÔâp¬¬,MLL$’*Ô†ÊE¡1Œ A°)v ÇAUÖ Z¥°¦EQª¦P YA²ØjêøãkÕ ¬i5 Z½Q¶ï7b0Ìß ök ƒQ°_c0Œr€ýƒÁ`”ì× £(ð(™–Ð MWÝï‘`òCÉ"Y%Ž,Æš*XÐê‡<šÊ"o>‰Hüùëçç ñøk/JI’<ÏÞÁÁÔTHq8EæÁš*XÐê‡<š@.¿fhúó—ÏO‚{zy ÍÌÙþÅ6L‹Åï߯ÝbÆÒÒ’,tÇš*XÐêG©šF.QiZò<"ÂÓËËÒʺÌAb*Š¢¬mk"€°§¡&ÆÆªê?Bˆ5U.° ÕR5-Œ\Ï‚¤¤D3sË2Gˆ©Pø|>M3š.¼kªŒ`A«%hZyLJ(4I+¦Š@’¬>è‡5U:° Õ’5-€b\UpL Hõ*Y4¬©­~È£i.ò¶¯ñu[y)nZ4¬©’‚­~È9w¡¼~M’$-_ FYÀšV3° ÕE¾·[!÷Y l#ÌÅh‰”üêDhŠ-_*KPE?¶@—í{:ò¿ß¤Pÿµ¼âI ©êÀb³%bI‰Yªœ¦U-ž*… ZE¨úÈ¡ixþꌜñÄ( XÐê‡BšVCùÅßïm›ÔÑEÈç°Ùl-ãZ^ÃW^ŽÍø½‹½øõJGJè’QÎ1bä„IŽ<½¨¯‡ƒ©6‡ÍV7vhèëâC)]•|œ×¶–—Íæ›5žö0­PÊ÷ÀnZ”Ç‘8ܬÒ 7d³Ùu—>Ï”MΊ\hÇ.—“+#x‚)U{ÙKQ™KªêÈ=Ï›-ÿ ÁФ@HQ›ýšùd9õž²z¶›)'>òÚž•3;<9ãÚÕù¥]ž’:wH=ü#°X¾ËÚXPUpÏå¡Ä¨«¦¦2ñ äGó=›.}ãÔküŒaµuè±ÑÑßMltÙ%Æœ|sl×%!-–ÜßÑ^]Ì2ᢤùSø*þ»fºj*á=»ò*«£ôgø¼ë:ÞîÀÍKFÒ˱´ ªÓ¤ŠÄ,Ÿ_+ˇ23#Vôð`Úïzv¤¿… xûöèÝnBCße=¦y>ßÖ‚¯Øžšv­»Ûý‰P+ª¯)óíüŒeá¶‹ÂîÌÈ=ÇåX+íëç ~ë #ÚÕÍ~½—ùZ0wí^þñV2U\PËÃy‡æ ÜØáîT{•ÊFi©Vý!©!·E‘V®ïc!sD°>‹·ôä?¼êz)7zÔè8n`SKEQ|+Ï‘;Ÿ%3©A}uu}/e1·»êQE &ŽYåÈ1˾eCi/NnãdªEQ<3—3Ïd÷²d„ø[›´:­oS—¢Ô…þ§sîÙQÆÛssº¸Yéq(Ž®…SÛ¡é['4#*#JIa@”š&.ÜÉñ7SqÙð6{çıëœ9¦ãÇ?›n#ò˜I<ì¥MQe;7ôqÁ”çY)~dI·Eÿz´uX‹Ú54)Jøf“¡Ç>Vh +« *5GíZâ1wЦè¬B Sýx*ž§rfÌbÁ©½ü•Ä1«\ ÇOî^×P•¢tì|ç_yvcãÐ&fš¥iÑbÚ…Ï9µbvö­o©MQZ¦.æœ}“ž{ÐÐ?ï­ìénÁ§(-S×Þ«ïÄIWI êkdÚuöD_{=ŠRs]ò" €Iy~`b[smŠRÕ·që¹ùeáXÿòkª€_Ó’*>Ð*ë}àí8pîçe\`Á¯ß§©jVðŨl³Ìúþèsí©Gî‡=¼¼¦]úÁQM»ï}/Qo¸!"|·'Ü·…ÅÆÆÆ>Yîª&SˆøÍ¿íëõ;®6p׃˜×·7vÉÚѽ^Ïß²Ïô·oÅ»ŒÝ|mµÇ»ÍƒÆ_ˆc 3|‘O·I¾«¯„GE\ß»hpU!u‘ Sâ°ª*­)»F—ùƒÍc—7rl5fÍÙ°89z'¹NKž¿ÞZä÷ºò-%%%%b®‹[Á”Zy×r5çiX޾ïÄï÷Ÿö¼íö-ÝMØ’÷{:7›ö²ñÒ+Q1!ûz§oðë¶é•€ù~j€÷ø ‹‰‡DF><½aRG; mô(¯ \»Ñ»9>›=x‹B.H'>¹‘ØtÉåga×çÙ>\Ò¡ÑÔgµ§xvsE½kN LÈ6f¾cχXÓ>m«Ÿk¯ƒÒëhÖ‹e^Þ+S:m zsoc‹Ws;<ò)»’Dß2Z-=qëò™^úlH¹3¡åà£j¶Ý|õäÒ¿³{ÖåWÈH%k*‹ãù$´‰ª\÷H”«}zü·`[ T%"QëâÕІ”¯ ™Y"ŽH½»z9›°ÀÖzÙ êu­ÁËvFt›SKW_‡Ë"%|}}-@b‘ˆF€‘H”øtÝ?wyƒ®îí¡†S÷l}Z«÷’=‘§ Å ",»MÙÑšáÔAkï»ý&¥O5íËË Ó¶QƒZ–:,š×@¢¬ {,"—²©*¨©Œ  í³ö¿`ï]›6n™á·}ºšM«áÿ[4­[--²Ä $‰²D ˆEˆ‹D — I H’ ±ˆ)Yb €hq–HDÚŽÙµð\CÿAkt½:-ºã¾½­´é,²záëùas;˜³LG-´Ýcבè3¬~žÏàš¹6p¶ªB3[‹*JÑJT±¹+dtÌ ¬‡o›{´Á¬Á›|ÆÚ  Ò“+‹–0ŒDœ%­I‘˜FÙ‰hD¶Ò¯e-U€S»-¿r§³ÿÖ59ÆÓú®8wþÎÛTO+1Ýz­<ëYsLf ^Õò[ôox§y™ Ö¼mºñÒD `<}qû·\ýØ­¿±H ¨ÙʶBéžÑ™q_'€¡sCW{ L­˜¬?-n©šÊ¢Àûe?ø£(º·2«’ üúœ$)Tªø×§DÐÐ× ó¶’»–^£öðáñÛŒB‹dþ¦ã#åÖóuRÏN&´ÝÛ;ÀÛ{o2r£Î)PMW¤Å!¤VêLoÑ–¶fµ[Yu:ôGVÙ+H(ª¤Ö|ÅhZAB¤¦½¯ÿ怗?¢oîäðjÝ w¯’™ì‚ n%÷gá E•ó‹c;r×—ÇÓ}'ÆôØù—t^Õ‚ IDATBâ!÷¿H§:éióùÚ|¾QÓŸPâ§D1b›ùÍbõp¼³eÃÞ³vÞ|“J—WEÉC% Ze’TìÆlŸe2wÄŽ˜,„@F‡üëÈü%“NªëhâL1“ý—ž:!JË¢ ® |×öµàí½¨&óÝ'Éé7ZëòùÚ|¾v§R˜ÄOIâ‚E#„èxÍžÔàý‚&æ.'o¾™ .§º+‘’5-(±¼ùX¬BÇüAþХȬÊ6o¢áÇn}+`ØLRðñ»éœz­l¹¹ÛÙ"›Ã’ÅÊ;Û kˆa -A¹Ï¤eR󲂚ó„SÏ£nìaÿag«†SoÅWè ^R}VŒ¦eT¦®±[×inŸìƋܺ!86aÙ•S0Š|)ùV&Õ.¡SC““*É’ÕtËý°°ðð°ðððQ‘Q»pbwXwïMð©Åm8·fwp¬Ùuûë̲ÕbT– eÓ1/AÅaÌöÿÙϹëM–Œh “s2ÛÍMFEº:u8HÄ„$"´»z,Õ1,"22*úê8+*ßê9ÚM缿´®—AØ ?wkïBÓÊPer#­*ÒõV‘—é°Ps1К~0sÚ‰÷2 YÉÏ[‹&IÐó›à¥Gäl#¯"ùvëøs¨Ùš‹E%{]•nƒÔ¶wÑÏ ½ž’LÇ_ŠkKnöÑ"» Èk耊±[—q«Î†/´{¹}ePB+ù³”8l "ø}A ÀÐb -M‹"™´_iÙÍd×9Abò•S0d>9~âƒæKf5~µpȆðt„B,][uqø÷ªF&¹h²³×!µjz œ½ëvøÑ®(pí¾—åQQrRY‚–IÇ| ÜZã¶M·z4{ÔÞ7¢¿%óË)[Bþ²ò›/_2rá:[ieädF&üw/žŸ§£±@%³Kö“P5÷è5uóÕðÀÑzÁ›6†¤þvÉO)šÊ Ðü!Š ¬lHÜZ“÷-|è3w˜»÷­)#;¸³~FÞØ·îßÛ?ëøŸ_ÚT BÒ—õ¿?¸|Ãѳ¦zÜÃ}³Æßä÷=ÑÃŒb ì ™­OügßL-ƒeîh–{$pGŽ­»oî ‘¶[ÿ×Þš~~lÎèóìûzZ°‘Xưó"B!:ñÑνQ&nN–ú*IÑ—‚>¶«¾JÅ ûE‰%%½]R5Í«ñÛ­íÚîViÚª™‹M ýõé¥]ÛÅÍ׎ªÃEl“Nê÷þ³«á¤&ü¤—÷N‰AÐ(ï$¬å¼”g’‡ÇNzÜlËÑmDÚÜÇYåuk¶³hÔŸ0Ôêìú]µ—Îðs«ÁþùêÅõ½}j ·§·\¡ë¸Ú›òé/ÿ] K" „Z¬ŠRT‰•©Yÿní Û¦žnºâ8€ „Ç£ëôºe‡m‡:râ^ÜÿÏ…‚)w†)ùéÖT¹À‚V?JÕT¹üšD±Ùéé©<¯ a*š?¾óxü"?8„5UF° Õ4-Œ\~M²X–VÖ=nР¡žž€TðKÉE"‹™*sㆋå}ŨH$ò?‚( e…<~ìèèȦŠPùOh*‹«Î͸D"aÊV‡åMKäŸ3³H*EP|’–@œ¤…‘+‹Å … Ã<{𔔤èiÀ"I–"sPý$»ô­  lã®)‡û}ÿ߆Åf³XeÛ G''}UUõ"Ê/£¦,‹­Ø›¿‹Åb—Öî@Döÿ¿½’Åb³þü¾°Y¬2z蟤Šó§OÒÂÈ{˜RŽ••¥‰‰‰DR…ÚP¹(4†ñ/ 6Å.á8¨ÊšbA £Ô‚Ö´(JÕ´ 4+H[Mý7C0 Ö´š­ÞT«ï7b0L5û5ƒÁ(د1 F9À~Á`0Êök ƒQx”LKh†¦ÿ‚I£« A,’UâÈb¬©Qª ÁÏ:>Ñæ7!àOÔ×dÉ9ÖQ^¿–ˆÄŸ¿~~‘?ÿ¡$ÉãñìLM…‡Sd¬©Qª ÁÛ8ñ—¸Ä1¾þL©ø1ŠÂb‘úÚêu¬MÓôµ-ô(y,[.¿fhúó—ÏO‚{zy ÍÌÙþÅ6L‹Åï߯ÝbÆÒÒ’,Ô(Ú*¥ ú3•ùü#!äElŸV.Öf†e}—óç‰%/ß}=îZËR“«+Ð,}Ö'¹ÎRš–<ˆðôò²´².s˜Š€¢(kÛš ìi¨‰±±ªºF XSå¢TAãÓ$‘o>ön]Whb ¢Ê6] ¦B ­ÍLº¶`5ÐÓ.7¿F’’ÍÌ-˦Báóùÿgï¬ã¢jº8~î½tí.µtƒ„ØØŠ‚ØØ‰ùØñ¯Ýبˆ¨€ŠØ>¢``аì­÷$—] Y˜ïýÀîÜ™sçìþîÜ3sçÐ4CÑE„3‘OU9%iHHL·³0BÁkÕB¨§CQŠ^]½ Vj“VD%Ç 9yÏOU9eY i†CàR ¬U Çi…7{Q.jY 7‘AÈAæ/ùNC>U!s(ÒkÕCÁíÕk4S]Š›wF>UQŠs(—ƒC)÷!ETnDÆqœ.*j†P]O«ŽÓhš±J£L¾Ýr¾q^D,Rªü­$fTrJt(˲•'ƒÈ®¹peËó§Ôư±çóv0×áëiñL­¼:ŽØ™È”ڶ̈1öZîk_gå=#jš•~ÕoÉrí– êREã!GÎJÞ?BacÈ÷'·?Ò4Sµ÷à‹©»«•X…ô¿ežî»»Ü{²D³*§#2_nîÙ~Urÿãwç{é`•ªorkS¥òi3X–°s,pEÎÇW3tPcé_Ý_– çVª>-Þ >,0L%2º 1’7ã;;òNØp ÿ’&žŽ"<åëÛèjÚ|`J»QÖ˰ùåZö[¿³µ½/e6óòB)o)¦×ª‘(Súöè®Wγwþ·û¿ûžÍY][½£>Ÿë;é^ãM›:›¨âÞ•ܧ殞µìò§Ò.ïMŒTÚ§x%w(@æÓµ=Æùî½*|·¿‡vî½}·rm”Ð÷èØµ\[¨@ªP<$ëÕ¡½ï÷hÙ«Ÿ]ÜáÝÑéÙ¯“oV»ómþz(‘ýÉþ8Öœ§ÝíÊÏ÷kiºÎ{ż_Y[›Ëår쎧€IŠÚ1¢¥‹‰—'°«ßkið§Â±6%|q‡>‡.úÛç™Kã.tªi®ÅåêÛ4öß•ÌdÜ›l¥^gcLî”ùv]--÷•¯Ê'fSšQt*C)ÚYì³]õÔ›ïû”=ž"ßþãÉåº,}™ÝãTì–z|ÑÀk)y«RƧä«Uêö³¢%¹v| ôѳž™QÞ'¬ÒM]ý¿—ê>›6åëØïGÚè»™–ýwÚ!&>‡€¤3­M]G,ÐÚÃXÝÀØ÷@MÅþ¯©qÝ™‹‡z;èè˜ ¸"'F–ùpº ÞÚ·$¤ÝèeëÜoáôž-œ :êb×Ën|Ë^ÐÊf¾=>¥sm±¡Ž–µG›ÙÇ_eTà]ŠÂ£+£×4U©×êJžï?ðÑeH' MÛn}í¾žØy_þpŒc>äâ«+“­@<2èå»wïbÎö2& #zQ³coYO9òðí‹‹Kš~XÚ¶Þ˜+?òugÖë]ýÚ/MtìÜœz:y5lêíiͺо7âÍW¹„Œí0éêOFÃ}øP«gÛ¾ÍV éÛ#;^;èaSô.§e #÷£PÉ}ZÅ9 3h2ÂWãþ¾› õéÊÑ7\ìíñËqý9øÀýNÃêéüªJ9Ÿ6½ÆÕþ|hÏãl}¦ã/l õê®Qþ'-ß¡ÍT–P+$¿¾žÆóì-ÄåU^䟒§ïjõ^~ìêáÍãmF7ž>}[øüš´€zrK´Ù€Í¶XþÏd9ôRI%)’$+Ñ5˜ÌÓ!™ß?$ƒ¶‘PEõK’,° %Í>DJ2,•EJ³(ŠððŸÒß;û K’RšݦcÇwo¨™ÛIÒ,Mf‘ù>ÒRŠa¥HiI2€¹ôŸ<ÄG€8‰§tÚÔ!ü^\Z]ñûý Ïiº¾¨—;Àªÿ »kmÜó`ª[ýò ©fCS¤â…•x¾‘e³geÊ eÏ3ßÁiQ{O|sÔVL°,˵îÜË6åÂö[?™_UçiˆÍóg¾·²â"Ÿ¦6÷±æg¿@5ic˼¾›ù«¸vƒ¿Ôþ°¦«ÿáXi2ß\œùãPG ==}==}}»Áa´äû×4š%Ì»Ž®û5pÿÓ –M²ïHB}ÿ6&xÙõ\±p¹\9X®>-…7ÀbdàÐ[·d?·÷v5ÄsÞË)&×YÚõ·U8xç'C'„ŽqЭGoÛWGChú[èhƒÎÝ5ó´§´O1a«±>TÐŽðd–•ÆœØõÒ~˜Ÿ5·œúò%8c€aÙòûQÖ­yŵŒ´!1ök]tåÀBöúñ_mÉ~Ïù„ü* l²dŸŽÂ5缞¯¦)ÐÀi’b˜ô7^Q6´°3™›ˆÌÍëÌÎ&Ç'K˳'sø<%ÍŠÅ *ͳ2ò“¹ûÌw:iJ ½)¿ ÄïùîÛE˜@Ζ9ù^È91†Éýh°9†±²Ãd5aš5§=×Üox—y¦×þn¢'»è±””‹ñgÎù5M†© 1–ÅŒ|Ç6›1eôž“)Mþi)ªµòÛ¨T>Íc˲bš¶Ü|²‹dÿ"ßYšµ·×êy0âgýÌC¯û52§ö0_z$ü»7%èºÈU=û°ßô)è6Õ…×sû­ ­ŽüûÞuB' Nùw¥ü¸[ɶ{Êk ߦµ‡ÚÞ›».iÛ׸ÐÖ5²’,“sˆl}ûë•_oAž2yêÏögþAæaY=ù äþÏÐÉ€ó¼+{ºåÚEh5™ß ) ‹³%ìà•eæËcÀ¥Ï3&ñižóÏ…ÝÉáÖé™.’Á_ip.Á¤ÿH£óµ$ûçÀH©œ7x&µœÔB¯ÆH²_ ¿†]~ÇqldÉÏ,.ôYyvƒÏ—Ýûo™!{‡kæi®?ÈŠs1¨a,˲`Ðtt[:hWpð® Ò{DýòîÌ<ç*wÙ@9¶û»Þd Þå}–ɾi*ÁY:jÞ=|5ð…]߯ŒcæÛÕ(úP𕃄Ýû¸¨jNYŸjÔÖGÿÖ¶‹·ö~®ãßÖ´"n˜Ø’ ånUα¹?˜~³Éƒ-¨;SÇmNc ֌႕$§K µÅ®*çÅ"Í+Îæ"ëS·t77מ†¦¹éñ°Š_³,Ë*¾XK©ýC@ñë@Àæ«~„í¸ÊxoÐØM˜{ýq2˜ÐxÍØ—?w(ò¬k˜xlÙÆóÚšJßGœÝþ„…¦,˲,¡gkÆ»x8¸·º%¸¸7žâoÓjyÿ)¦'z›¦ÝÛý×_wµ5’ ‡ó* ÏzàîSñí|§wž"ÙØÞˆàXøMö]1bA×Áä¢Q­ô2?>{™ââ×ÃC­ºþÝøí'Mbˆ¶'ëëTÐã×,Ë’r£c•ǧy:$Ï0:¿i¸†@‹?vä"ßÊÀ½E=CùÎRwë×Y³ÝÜùjÖÿ1–åZ¶ë¤÷ÏüF8xžÿ×§ç·}Êwê?Ø|óÌqwé†Û¼+솩$‡VæçÑÕÝÿ:0ïyûE Z4¾<`p–®fzxú—wÑ÷¿×ÿkjcû†6ÔÆÕkÎèùYÁ§ÇW÷„§³E4dÕÈ.ÞyêgXÈüôâñ£ôYÃ4LÍdwѹ1–Üz~UÂwé?¢Öž…“úNJþ«_#+õ”÷Ïÿ#ë÷ïhÃ/ßÞÙ#%i½¦ÄøºœÃ×JÈrŽ£¿…ì Uë8¦™ËSnÔzLkµ{»ÏÇ‘êuæî˜ÙàÃÚ¾­·¾2´1Ë]^‹óÚR{ú6nÜiÌÖèTšÕ¨=ÿê¥%ž/Võ®ïâÙ9 ÌbÎ…+ëä šü }kÕþëØ¿}ÙÀ=V=HeX¤ÇÞÐÓÜb÷LìÔ¼‘Ï€W^&QÙ£AVÍup?³oßõ;®¥ÉV4ïÓßõfîÑEÔ©æ6jªvzZÿÑkC¾’lIÎâ;÷î"øüÕ¦G3Yð›gÓ¡­þ—oâÝíx-ÍýCŸr¬ºû{¤|Â[ø75ÈûÙ«äöd9†[•wkþÃÕ‡ˆ<µztíÌ[¦ Ô³ëЉ £%Z˜”á:øoúÛ'sÿ˜Î-º[|)ÅÍÇ^ ƒÜÈvªdZËz1nßpŸv>-³Z>'͹ ç‘뜀yŽ’slF¿°a¨Qô† ]Z´î>zuà­ØôbÂìeÿS¢Kúú´–_H*•^¼p¾kw?e½¥ëô×+U~RâÄr²¤| >înSo}ãË‘ Ü+â² •JO;Ú¦M]=ýÂo•«Oõ×)çÍÄIªåM`¾ŸëS{²Þ¾‡ÛšiWHƒrúü=Ú¯azf9.;²0ý TùŸ,ÊÉ’*ko·oQÏͬ„¾—¯\Uøyt‚ )ªríp_™îûJ&ëuàæÇf}ÿçÄ+ß/ó!ÿyôJåSÕò&ÐñAoªw:SG»ÂŒ/a¾‘ h¦rõd¥2¦r¢L)ª×Ž+1jÿ-&þ¯Tùr5¦ÌɈ޹ç½ã8Ù¢¯Šj“;Q®>ý9¡*{¤¯oy ô[á¦^aÆËw(Žc,S¾ñë÷qfJ¡rn­h”ÚH@™]XUüRUØÄÐMÇ¿{ÌëhV‹¾~AD ›Ü Ÿþ6vî~mÙ—¿âº°D‡²•f&BA8Q.Ï7¢B)ÐóÙóö+@Å#)Jîööȧ¿zíO*Ú¥ò *y§R­aY–Tx[¥ô}ªȧU –­Tû©"JD©/ zœ”¤§§§¼=ˆ?Ã0ò§‘OU‹š˜”ÂåWÔò#DY@Q4ËŸ˜ø…BzËåp22ÒtuuKe¢bIHøª««Wd)äSUDŽC œås9)™R¯B6~D”± É"}-.¡`+¤×8AØØÚEFD6hà%Šp¢ vͦH²ò<ˆÅ²,I*±KVyCQT)“a°RiÖýÈHwww·/—‡OI’¬<ÑŠ¢˜J“P„¦)ùû –H‰ÕÓ ¬ÍŒÎß~ݱ‘ƒ™H›Pìû/ÅŸ»«†•V¦­¥­ø!1VòòÀÁ1nQ—²ÀÏUh½)¯êªÝ=7ʦØ]LS¯õs쓾ëÍé¶:Jµ“zkú 5›.Ø·µ½ƒI˜ª)uô£ ÙzüÑ›·K<µ1(ù …@ % œ^ëØxÔª-Â6­¯õÔmÒ‰»?FØ—qT…ÉøòY¢ë=j¨G±›VBŠ0»~§®¥ÞÌ@  4ñkŒÃç-=5œúr1À¯£™@(Ù7ì¿êæw =Ì߯ª×•,æv‘@(r˜™¬46hÅp_OK‘HhÛxè¶G©Ä,ëÉüZ®ã0ÉÇ»XEa%Ï¥À$?Ú;©S=GSȦ¦÷5!_r"éaþŽÎ–ÌêUßZ(2n¾æE¡Ð›xo׌ž^ŽbPìÚ!àü§œ(+ywrVçŽFBc›:]gŸ|“Q„²²?Nu{Žœ1ÌÛÙT$ÙÔñ 8ùNR°`Qf§åÄCŠè>é§+Kú4v „Vîm&î}”’½½<“öüÈl¿¦îB‘‘]­Cw*ÉA Uåôš’dJ)R’œûèÌÿwxÍÖÕŒ«_£ãäµ/_¿rf«¿Ñí•§]Kd5ꮼsgSÔ^ýøQt肚êð5óš¸ùìµs[ûp‚æŒÚò_~A⻄?X[×í~ìu|ܧø;3œyùdEûÖÓîXŽÝsóQä±yâ×øµœzýgN 2áÚ5IË€}AG·Oi&*¼ýoRìO³K^ºz8ÀóõÖÑ3ƒ°À|¿4Æg\¨íø}ao¥{|D¯‹ •³’áiç^½rpV½¸mþm&^þž?G‘f›Ð~ÀÍ[‚Þ?9×)lZÏY7H»3³ÓØê½×ݸyôŸéÝ=ôД0eã!ÑSj‹§È~ÅõœÛÏ?¶¦³! hÐ{PÙËî.:·8'õqÓ76ª8#4‹uØ‘pxö IDAT¯ÞØ¿†yk€‡ÅÌû„¼H›îd'»Æáñy`OŸê9åÎÚ-/­§Þ\=¨ÌæíJ¹_wúª‹³šõ3•©³C¿)Ã:˜s6˜µßôñ=ìyà8kÈ® ·?fµàï.¹¨3êʲ~n|ûÁ &ï«·îÀ³™+ETA8têÞÂSÀÉÙÝŽzQoÞªss[1Ïsi(Âìâ ¿-=˜Ñ-p툦:`>wîþCãwÞ_æÝZ[ò%& Œ=Õsµ×ÂÁÆI¾?DuB9½®1ÿÜ––zBS±¡/Äf}¼ºeõžà'ï?ÆŒû! ­HÈ–«%PÇSIš…ù1 €esþÒOž¥‹šµ¶É‘AŽQcfsć¬~¦J®)ÐÄ)’f2^^Ežlm¹E6‚eH’å™&SP”^çµÚ¬¹슊Ïbž¿ñf‹äÝͧ’Ÿ·ýOÉ24²$IC­„ t ZΜXoÐo§Ã­ :¨WK'=”þ@€²z­ndë\CTàMº9Ý·ïÅš vîX_ÓD=~S«¦û¬Onβ<èŠNF÷[)þrašb Æ‚‹ºæ“ ‘Ä•T‡Ï‚SLB:EçÑR ÌÇ?9Ê6wi Æâ`Ð$ èiÿ;gOÛ¿¶o“…uf\<9ÍC¹k¨š”Ap4óåÉKß=æ®ÕÌV¤«ÁË›Ô#¸8ÐRJé:1,¯îñL<Õ¿…]Ÿé¦îÇpìZ•b¡¦aáa¯ƒ_Fâ\ŒõsnŠ—]2îê¹·<ç&Ö…ƒùÍ.Hî[<3OsøòP*üÕ²©P-Ǹ†uãÞS×=¸8RtËæ‡hÕ6(½æX‹˜g{w¿þôîNࢉÞæJ×Ðɘyx2âÕ«'Þ¦0òªÉCvrì_ʧ×hÒ0ë7+O?þ&>6úÌßþ3ÃÌlcTóÕj ]‹›â7aëù»ŸG‡?¸ûô;)M:>äÔùààÐ7iÙFÐB.Ýzòþã˰}Sû/zl;2ÀWX°ñBfÿz‡«£ÇIŽ^‰‡! T5kÏ»t~qÍ—kú5r¯Û}Á‹Ùç‚—7Öý€HÃíF¿±i¨IôÆ‘½›t»,0ì}:¸ÈwÆp§×ü‡þ/#ç“¶c¦_ÃZMmxSoyð¥9µ5‹j¼¸ñµvƒ©ê&í?pÚî¨d8¦=vߨ7Åõã¾)][5k7lá®àÿ’e!ÿ¬ØËkFwmѨ~³s/éŒØ{lŠœu&¢:úú´þÓfTfا:8ŒÒ|}ÌW¹§4¢Ì¸|å*ZÜ‹@ ªÒkP ^#„j€Æ(LÐõü®Ú QíAãkP ^#„j€ô@ T¤×¡ ½F Õé5@¨ ¯çcY©”$¥R†Ut×&È Žã.W~>š¢šV`ùª†a8„¢:¬X9–ÍÌÈx÷>&2<üëׯ Cÿ¾¢Z‚ã„‘‘Qƒú j¸»3LÑÃ>JJÆŽúäIâÏŸl^Ń㸮®®³‹‹¹¹—§Ð¶n éµTJ¾yrãZÛvÍÌ-¢p†Är†eYEò Ê“â¾cˆ ƒUå/MÓq?\ ¾¢©£mgï ÍÊ*P€¡éøOñîE¶hÕÚÂҊéâOó‘$ó.$äÃ0666¸£l…z„$³îED´iÛ¡n½ú¥6@TS,,-õ ôCCB\j¸Ökš¦ž>yÒ¢U+[»?b^ÃåríY€G£Ä¦¦êšZ%¢Ð|#ð_¿~511-µ…¢Z£§o %³ŠÌȲœœdieSñVýAôôôhš¡h…‚ÌŠ®aÇÑbQZèâ³q3 ó­'sUñ¨„ÈÏ•­º1úß@v² ž°¢CfžbÓ—ñÛTù9ÆâP0µ¡¢za¸T*-¹@ü.†Qõ§­¨¼(q5«V7)¢<À1œ¦ägÞVá5‹¿†ÑŒ¢—(4…ˆ@ *>Ÿ¯àZˆj—ËeŠŸ€-@©ôšM¾6ÜÁ²ëѯeùýåHKGÿëŸo·³ð»œZ†U³¹…EƒeÏ -þÌn7¥˜®K ngÖáXBù>3’5ÛÓ¬ùÆ·¯·‘S\ÍZíüPº[Å’Îñw‘DÔ2kºáüaS¡C,|öÆä7êU[KÁ|Y·«]±íæGòß©Kßlº¶±(—Y—²:G&áXsç wÓËÈ®ôë¯ûoòËÍuþm½\,Å–î-zÏ»ø…òý‘i]ºXŠÅb±•G›±;¢SŠeäo—üzë£;4tµ‹í<›vŸš”Ý£lÂÍÍSü¹XŠÅ û¯½óƒ€bJ¿3ÆÍsèòyý;‰Å–>ë^J€I}ºR'/'3±•[ó+ƒãó,ºÉz}ö‹Îí¬¹tÊ“C3ýÕ°›»4ì2ëjâ/·²oN/èÓÒÓV,¶«å=`É…Xɯ7‹èŠ‚ç˜:¼F‘‹¦ùÕ·‹-k¶›õðÌòMÍÅfÎ-Gïy–Æd½Ø:²]=' ±X,¶«ÓyÆ‘W™,$Ÿïnî9é!“rÂÏA,‹­ùO À&ÝÿwvßæîÖb±uí® .~ΉtP ·7jSËÎÜÒ©vËÎ~ÞNufFí â¯{¥ßª{ ⅨЊ_烡Ë|¾‘*ÿ¬nÚ“ã7Ò\z´0–;ºÎz¾¶÷°©­¾rt㌾õ…ÙcG:%âb¼û„ÍÇŽìœÝÞLö"›qäÖ w}ýÂrùtM—v3ÃÍGn¿vhvƒøu}|g„$2@»8¾uß)M§n;{ýòÞyƒ}Ü 8€ñ kuŸ¶îÐùËA‡VuÅÏ/²<ºÈ×.ûïà¾+_מ¶çò­Ð3[çmn–»ýãϘLçA+ÏŸÝ9Ò4b͘UQò"nÜ4Ÿ½ëdàæ‰MEPq‡†tYô¶ÞìÃaW6vËÜ9lØ®·9Ýšõ6èü'óÎlxõbc÷vÓnm8z|Íxß_cnêý¿Z=£ÞëŸówO/k/ÝïßzÄI™>ÝEômÖçТ~ëƒn^ÜÔ!íèôŽƒ°—¸qyG,hoIÀ4ÌõŸ³éè…KgöÏkúãÀ”‘;ÞÚÞÛ#/Ìs­6[oÞ»wïþ©¶²¥ùI~šu_¸÷Üùý³k¾Ù1q,dD¯é=hgàÞð7o£Îoî–Zìg“útíøº-ý\5å}¤ª%WžºÚm+F+¼“šqÒüý˜þ䨵çI-M8rzŸüþîèûx5p³×'ÀÚÎ=Ï{æÆèì’g+\61üp[ä:5|ýŽÿ¬&¯èïÌñœm©Q g­½4½IQÜé58ŽîœÙ@G'Ù!¦-úöÏ>ÚÕr¸ÇýGß©Z&…Ìß.•û•Ñ®_׫¦“ llkü*ˆ9 žêßѨi3½Ãžn÷¢¨ºVœ¢2û>·3ËîfIô¶µ÷lfÞšÙÑ‚`5" ïþvçb†OràHc΋wÉuj䆭ÏÍÆ]^7ÂU lÒìµ6È"D’§;7„ëö;¾a¤—˜MÚüÏ3¯áëÆtšhÓEô-æÐsx— &Œ­¹g¦`ø¸´œÇMª·c\Ø›Œqvº<Ëö-³w³Ë<{tÔ­7ì&&|ך˜šÊ”U˜U·ÉcºÛqÀaúÀ=—ŽÜý˜å«Ÿqsíîß­§ú¸ëbÆÎu\ ˆ ET€úrãØsí®%o{ƒPY0ù6Y­6Ù'KXݘEÇב¿—3ž¼–äà×J\‚àkÖ™0¥¹³§»—ßôA¿Ë3MŠ<N×éåePØ*òSÔótQco«yçyµ²fÞÝû˜™oÃbøžmjœEc3Þœ[9¾_çÖk»¸ö8 TV‘÷aÚUs2­“uêt¿úø½O’"ÃK„¦P§¤4«DCÔ·‡_¨góšØZZZZZZ:¶ßñ‰Mù”BHßý`Ò®£-È/QÏRuëµ°Q+T “ô<ê+ߣM®ªáúµÛ:Blø{ ÛòúW7Ð"è‹1žŽ–dÑ,0)/Ù«ƒwCO'wY†”*²ò×hâ´”aAï…IJia{Š€þrô™VóÚ%—E¨,|5yÉ pgÙìmc« J=Ò©¨^s¸ùžGÏx~âêO¿Öf%5…iºÙ~ÿ즡ŽqûGµ­Ùz^XR1×N6ùÞ‘»Tí^EÅ”—]«i)%MÏ,P-pvLûQ'°¶swž yðèTa1šQ¨]¾Mß-¡.íšX/ýì´.u›LúRÄDnm 7À4p®½|箌ˆ{÷î] ¨©äûKgbÚuvP`i)Eo* ë‰ÂMàÅwE }[ÔûÝý:θ)ê½tßùÐèè}-¹ŠÎSæ–c$)†!)DžN¸yä©FÓžžH®«<ÅϰáÕK®Y¶üç3_ž¼òÝ®«¹L®1‚K0™? Ë„ ŒoR»Ó¨%‡ÂBæ8¼Þ»þvr‘ö±)ŽÞ–zX˜s.<“šêßî„ÄæLÏQ á×ßsì½,Õ€oVÓ”zz>*)_½éކd5_´¸]K¶:·À‰þ꣢ÛåÜÚ Ø}ýî?^ '×_ø,'ä#¿¡¼p m5©g7ãÔMs1Ôæ`dì¥S1¢6]ej®‘› /9âÆ;I¡J='wQÖ£+ÏÓ²_`’^~6 ­Õ¡˜®(æK€þvûd´v÷¥³»º‹õµÕ8¿Ä#80R&xâZ6Øó!E]ðòºþzô±Z“^µP0¤ÊÃÈW¨?­žO ’‡ßÒë‚«„yâznš±×ì yô,úÖéíë¿ÍnŸI¾¿gÓËwý÷öå½àóaŸ@ÏRÄ/r˜Vp17¡)Ф_Ÿ>yõÆõß(Ðõš0ÈêíZÿY‡"Þ~Š}´|T@¤aŸi>†8ðì{û×M;5¢ÿ¼!O?|z÷øþË$¸B+}òÞ®ýwb?½ Ý;wÆáï2›p  úSè™Kׯ‡½Mc /"—¼<¸aOPXôË7¯Þ<ý-¥nj¬)gRµ¸†Š@»î˜AÖÉgF ˜»ÿÚýg/¢CϼO^vŒé5ÛÛä㦡¶^ŽúïÍó»Î=ÊÑ`u·á#kþÜ?zòŽÐÿâãžÿoÜä Dû©=¬8PLWüÞBy\ÃÄL#1x׉‡qqÏ®lš:û:™m¦.¶ÕM‹8v1úÍOžÆeÿa#L:Lïi9kÐÜ¡Ïcc_F\ û$“yBS IÇ\:uåúµ»ñÒJ²üQ!RRN»‚â!Ò˜ã{ô˜r*ždY–M‹XÔ§ËÀUÑ™,ËR_/ÎèÙ}Ô®W’аƒeY–¢(V1Éþ½–­îòk•0fÐêïuÃm,é×®mï黟ê7mb({òëíÓûµoÙÔ»ÛÔ#×]X·ÈÅZ²ÅÜ=-æVw6¡%4gøäM·¾Ñšž³Ïžïñrýàæu÷úû®Å_'.þÝPŽåàý×ú©ÝX1Ø×«iÏiμLgÕ=fìž×üëÿz4ôê6ïºpà8w ¶ž6Äáͦ1£{•Áj€IŠ>0¤£w³ÆlûÐháÑõ¾rT¤¸†ŠB£æŒ³g—tæÝ\9¼³oß¿6œzð)‹ÉYvÜíײcLÛkñùÀinïwŒëزeYgIG­lgñìF¾¸ºõÏÇøÔ«ßyf辫ÿë ;"»¢ˆsTL·Ù’í]/èP¿IÿÕOœG±Ì‰¦kxNœç§wybû–]Çn¸ýCÎ@Ói´øÄ¦Az7æ÷iݰi¯yA³Ÿ+åZûMî& _1rìò qÒì¥á½*ñÒpDQAák*ùŵ+—o¾I¥Y–e¥Ÿïž¿~é^‚”eY&#&ôRpð“$ºB a•‰‡`¾>­åJKM=|8°}ûN5Üܲž,nÒöbàéNe·Çjê­qõú½›uçÜ@³ }ÀéOµ›*vG›Æ<Ž…¯iP+Ù*Å9Ê b·û6ÞÖ8èöB¼3©Ì·3}êMámº·¯¼+#¢ ‘d.^0áßKR’“ ¼%•J/_¼Ð±K×j•E*•ž8v´M›6ºzúòK^¾rUÑ©I—³j’ïP: ¡Ýä/>”q•¹Ý|p,ýƒ?ú—[õ•â€þqïêÆx¨¨À󛸨ó‘˜ÎÆ&DE#ïŠLp8 MW¯k¶2ãëjº;8¢¢`3Þ\¹ôF×ÉQDÇÞ>°tÞƒûÛÊÆ Q•QSS+!› [½¶næp8ŠK6ÒkD¹B¾²{EPô§4Bßʳ՜s†4(b}=¢‘U(3z^Øê¶ÿ5I*úÈ ÒkD¹Â±ð[ä·æO›PX”¥x^#ˆŠƒ¦i—KNJÒÓÓ«0{þ8J¥„WH¯1 ø<~jJJ)¬B xóê?cc¦¨Ž0`¹NFFš®®nÅö§HHøª««§à’…ôšÃå¹¹¹ß¸,2ÙÙ;ªâžâ™™™JÍÃ"~I–„aPWWRi–jíMš’’tâèÑN]»™¼'[»ÈˆÈ ¼„BN”,aE)ý¿I’eŠaÙ£Ò,€Tšu?2ÒÝÝSTB˜Â(TˆÏ绺»këêœ?wîË— ó‡?"jjjPÒ._U>—g°r×]Uø|~‰û½Uyx|¡" –1 ïÔµ«£“SFzɉ‚caaÁ0Lôèäääâ„Ã0.ïwýàDáŽb1¬Ä‘'oªâÀqœÃ-ihË‚»‡‡¡‘‘ººB^(¿fÆÖÎÞÅ¥¦"ŸŒªš~AT X–•J¥Eе .gkk#‹)ªì†º9TÂK;†a.GA±¥æ¥YYR¹ q¢”àGC­ƒ(4XF Õé5@¨H¯B5@z@ ªÒkP ^#„j€ô@ T¤×¡ ½F Õé5@¨H¯B5PX¯S¯õ6 „9?F–Î-ü×]ÿ¢h`œh+÷½–ZbIê[ÈÒž^öÆ"¥»ï¼{Ê´òçȈ˜ä(ŠìÇÜH*°S ³ÝÇH ´’¦Ti!ƒÍDm'»c$+ùpuÓ”® œÄB‘ÀÈÖÕ«ÝÐŇ">ge·Ï| ô™ö¿QB³/÷oån)Ší½†ú ”W¦@+ï^mhdXcÖC HÎr3l¾ë#U.Í"UåöUq˜vhck=†’¦~rnãâÅ}>ªÝ=7ʆ[\ùÔkýû¤ïzsº­ŽRí¤Þš>hÍæ ömmï A¦jJý§ùy4`ç„ëÓœr·|d~\[²V[13þ±p»½¡Õï5†@TC”ÓkZµE8@æõµžºM:q÷Çã2Žª0_>Kt½G õñPtŸÁʃ¸MKé¥u Î8ØÕH¶ùmæ“MsÎàM;Z…—eCô·‹Ó­‹m¹6lÇ@{u™:7lÞ¾÷(¥k¢~ÆþÄ]¦ökdQŽû¢nEЪ‹€¤üE ª¿¯´‡Ï'8Zzj8õåb€_G3P$0²oØÕÍï4@z˜¿U¯+YÌíþ6"Pä0)2XilЊᾞ–"‘жñÐmR „²žÌ¯å:î“|¼‹…P$ÖYò\ Lò£½“:Õs4ˆljzYò%'AEz˜¿£ó€%³zÕ·ŠŒ›¯y‘/s…äá,7QÓmï³ïµÉ˜ÍM….3d°’Ø K´¨i+Z¹7ñ[ñ(SVŠ•¼;9«sG#¡±M®³O¾É`’Îu׿tr§š"E—qEåmЪ3uinðÂõQ²M~©Ç¶~k¾pvÓÜœtLÒÝå}›¹X „"¡Unó‚>JŠÝÞÔ´á’7̇õÍM…"°õþÏ4ûõÆÆ‰êÚ Eµ{­ û!k•üp|åY²íúõrÄú÷H:×ɬí¿ß˜§3j™„"Q·Ë)ÒW–÷k^ÓB(2ujØù¯ÃÏÓò݆¦v­f.×¥½©H`äØlìÁW€¬'ókZøîýÆÔÝPv&?Þ¥;]{äêŽcÅá+ü—ÝÏæÇÝ3Oy6”òæF¯ýñ7gú ñK#ÞŠ‹;ÜZ诧G6ë»=µíÒ Q×¶ Ô¿0¾E÷­odŽ¢“^}oÙwÙ‘àó;¥™2îàŠï4õJøþîà0óâƒèÇ¢¶6Õ.©•b¡>ì×nþ›úóNDF…lñËØ:xÀö7R ßïé×sé«Ú3ö_ ¿°{±¿·¹j…ʈR¡Üýoô”Úâ)²_q=çöó­élˆôÔ@ö²»‹ÎãÃ-ÎDÄI}ÜôM…êÎMÅböÆ«7ö¯aÞÚàa1óð®!/Ò¦;äQ>ŒÃãóÀžŸ/ ã¦ÜY»å¥õÔ›«Õà€Ù¼])÷ëN_uqV³~¦2Msè7eX‡"æÅC~û Ú4òòp0 ÀÆÞCö²ôÝÁ%uF]YÖÏ`?xÁä}õÖx6³V]ð=m`¹áxŒcÙoÅØ­-V.¿Ù~샹'ÔŸîÀK½÷«€¶k÷Á®²ß=j˜Æ Zö^Ò¿‘ÈÄX‹suŒLÅbÙ‰§æ2læ¨.†8ØÍî´³Cäý¯d}k6ùSè{ sâÜI{º ¸‘}Uá¹/»4¦øy…|à<5œÃSãó òÍ¡UA¤ïžÝÓÛ qËQÿÛù¦n‡ÿm}4duMÀŒ}Æï驎“'lß;',F2ÌBÇÐÔP›Àyz&b±¸°#Šh¥8ƒ$7¯Š°9·³%Àzô¢ÿzï?3bª#“ó•ÑñªßÈÓÙ”¶v® QUPNájÌ?·¥¥ž†ÐTl¨ÃË#±Y¯nY½'øÉûñã~HÀDB+r›ÊÕ¨ã©$ÍB\À²S‡ôÓƒgé¢f­mrĉcÔØÇ†Ùñ!«Ÿ©†RgÍzS¦{÷YÔÅéB£~ƒ† îßÖCÈ€Œ—×_Q±/[[n‘\’dy¦ÉJ-^Ps»ªÏ¿ñƒî%'´Ý>µ®Ææ[¢A}»³wÕÖ ¨·>ÆÅO kJ‘#4Eš8EÒ,¡m¨?c¾d² †€NÓõ¡ @Ö»~À("Á0rû;óÝíwà<¾®AÎÐ]«F»Zü£^$Ò5 $ÐÀiR±ôºZ)ê[ÔÝÏÔÓÙõÌçc,MR¬0>™PwñŸÑåê”an·êô2xHÿÎõÄj•.ÅQn(w3­ndë\ÃÉÚ(ŸX³I7§ûöÝô­ÑôgB¾¸5ÃVá¯Ü‚y²·ÈM‰llEV€izŒ?òðÑ¥mÃ>þ;ÌÛ¥ÙìÐDX†¦¨±àbäêjõQ IDATý{îß{pÿÁãGÑ·4ÕR¸1L¯ÉœeÝô¿`-æ/ôèåÌÇ+ÚwZôÌeÔÆ×¢^Fm¨õFˆuq‘ÞÜt.Nv!Á5M¬mmmmmm- øÆQ>oÞ>bY(t -›Ç ä䣥4po¹'ëÿûÑ¢ß\à©|Û;Â_^Û?µ~Ú©)í<Œ>ó-DTÊ`eGæË“—¾{Ì]=ª™­HWƒGä m\h©ò_©ü9‹y&žŽêß®¿Ï‰tS w‚c8ö ­JŽ^b—`Òf³šã›Öí:våñˆ»ó_íúçV‹iXx˜Àëà„‘8c}ž²bEwÙ~ûѽý- †%¤ï/ž‰±³zJgc}M~žÃ4©Pq­zýÕI3|Æðµ‰ùæ=šÅpB9só÷·š•—¼</w~ ýùå‡ãº5 äN `—FŽõò3Qç¼Å8Ûk’Oo|P7ùå#nÎqîíü»÷¿F Çþ9ÿ 6¢ÚPë·8Ö"æèÞÁ ýí¿…ì^´á-«ë-{‹kèdÌl<áÜT#“°tÕ“_SÙyŒ}µõMfÝfåàé¦ëÇ·0I»¿gÖÌp£§Û•|¹á‰¸knÞ·b×äFºÉ¯n?ú–/&)r÷¾â:Ö†üä—BãA¯¶¡j5†Ž®µsÞ¿ )s4´VO‰yöŠôêßņWR[ Bèšïo?×iZÌÈÀ £XGÏÎŒéØõž”TèRCÞrFBÔ~Õî±ïz®h_÷ŠŸÿ€¶ulì·—·ÿÙo3Æ]ÿ—´ÒIoŸ<2È© ãèÛ8[håí¹‚ýͳé=Ù{ÝØ þk8‹z¹òÞ_X9nw’×ò‘nò/\¡ƒ1»çÔ‰ÛÍ: $´©»s~y/äÕ\pM&ýîâ‰KÖ5ô›52«?~¨ÍÙÃzë/þ˯Ž)ñãõóZÍû´2ãJ^ìÛr[·v-{ÍÌ÷7ƒ_“ê55^F Tž2ÐkžýÈÝÿ¼µx`ƒÿiZ7ê5bZ³W»³ßâ; ùÛÿúøÙ¼4Ì›O9x°ŸÂ•‰iÖžwé¼ñì€5ýMLÕ²¨Ùjö¹ý£¼Š^ŸQ "Aëe›GŽœ±°§7­cQË»Só&†§³› ¿„mYµòÍ,×µªÛuã©Eõ5€g7êø Á²€õG ÈÔ2u®QÛϽ¯Â¦—aê·iÛÓQ³Æ5ÛÇ×éê?¥ëó•²A"¦ß|^@›Kú7ß#tñÛxꟆr+ÂM^¼Ópû?›î™}|µ8º–µZ Üu{lG­_}C…Ïêèýë(ŽÇ_ìi–?¼S`äË÷ܪ¶lúÊɾ+¾ÈÑ«ûöÐÙ]¬¹r& €w]<íŒÿšîMÿ1ª5ôßS‹ Ì-7¾æY÷šÖãЄ¿‡>rv a#3-ÏÙ—.Š.ܶlÐî´ž…³kã¡^½˜Ä¨ýËþ™“Á€–¸¦ï’ÓËÛ PQmÀ}}Zÿi3!ËW®¢ýžB5@z@ ªÒkP ^#„j€ô@ T¤×¡ ½F Õé5@¨H¯B5@z@ ªû‡H³²H’dòÆ"D!pçp¹9iHІ¦h†¦Ù÷I¯`†8A(ªÃŠ–ËHOžð•¦‹Ê[ˆ@ ª.–¥¬ ===''[{»â†}””Œÿÿôɓğ?KÙ\åÇq]]]gss .O¡í?ÒkiVVLÌ»×Û´ë`fnA·…%‹†ó˲¬Ù¥G»úı#ã'M)M $I~ˆ¹yã†–Ž¶ØÌLš•U CÓñŸâÜ‹lѪµ…¥‡S»‡VfH’Œyrƒa\Q¶B=B’ddDD›vœœ]ÔÕÕKmgƒaV&¹OÕGs9å —Ëµµs`öéãÇÖ66…õ𦩧Ož´hÕÊÆÖîXXÁp¹\;GàÑÃ(±©©ºfÉ9¬Òk†a¾›hii!eD ¿žžI‘EædYHNN²´²©x«þ zzz4ÍPŠ™SÐ4ã8kQpœ`ŠÏÏÌ0LE†[+8N(«â"Q†”>ì.«AþÀOå‚û¥Av² ž°¢ãkžbÓ—ñÛTù9ÆâP0p¡¨^c&•JK.‡@ ¿ †a…2Þ‹W³ju“‚@ P6Ë1Œ¡å+²ê-v,F3Š^¢Ð&Qqp¹\=T‘.—ËЊ^Ÿ^#„j ¨^s¹Ürµ@Tw0¬º-æS…â׆ᨈjO‘‘åÅ‹³,;oÞ<…^—›Æ0LÖ/Êœ,Ї ˆÒ²xñâE‹É%´a\Jš€ý…ÂëCX (ò7ÍA U—€€X´h‘D"‘iôüùóW®\PxÐ Œ\½fhÇ«×ݼâ°J¬çch4«‹@T_(Š,nqôŒÑ4µdÉÒ;w@bbâìÙ³gΜ!•ÜÔ‰,iØGR$ÃV#©)±Cò¢¨^£y¢šÃ²ò˜5kËÂÒ¥K`öìY³gÏ*²°ü'q—ßJÕC©G:ÎkÀ­¦Ï‰"ˆJ˜ œ5k¦lJrÖ¬¢Å²g,‹}ú'ˆêö¼ŒR'‹T@(„"#ß™3g‚\ bY¶„pG5[²,£ðù¢õ!BAØ2¢(9;3Ë® åŽ4æÀø=¦œŠ'Y–eÓ"õé2pUt&˲Ô׋3zvµë•¤"ì`Y–¥(ŠEû©"ˆ2D&.¥¯¤„P!¹v©ä×®\V¯—J³,ÒÏwÏ_@‘²,ŸÉˆ ½üÍt]ú³U¥QT¯1 C«&ˆêL™ÌʯÇ0†a*"7ßmÑ“Ÿ‹r,Ò픘˜ýa12,qdɶ–å¢×<RxQ7¨‚°lä¿–+O‡ÃÐtõÊb…æD™Ã–ÅÊ ‡S‚BUÃõ| Ÿ/Òk¡e¿’”÷„H™\T ù’¤×B!*æI¥F)¤×B!Êdä[bôä¤$==½R¶¢B(•^ÑýTù|~jJJ)¬B *NYŒ¯¾êéë3EÍ[bÀr9œŒŒ4]]ÝR¶¢B$$|ÕÕÕSpIŒBzÍár]ÝÜo\¿&24´³w@{‰ ÕÜñ5EQE .)•–s–ad»D±RiÖýÈÈ&Íš™¼'[»ÈˆÈ ¼„BN”,aÅYò{$Yf¡–-1*Û!îîî nø¡P!çæî¡££{>èì×/_ÐBl¢ºaaa¹w×N ø<^Þ×qç`À²ÙËð8\‘´Èåò²ŸgÄð&ÍšYXZf¤§n‚ 8 ÃD?ŒJNN.Nˆ Û  ‚ cY +qyÇÿæpçpKÚ²àîáahd¤®®©HŠÆCš¶³³svq©ˆ¥ìBPv4ʲ¬T*-R¬epy<[[±XLQe7ÔÍAÎCð Ã8\Ž‚b JÍ7feeeeÜÍ@ Êœàhh¢uEƒË¡ ½F Õé5@¨H¯B5@z@ ªš‡­.ÐÍÐt…l@ Ã0œÀ Bá<ºåj ¢’@IÉøÏñOŸº¯¹%—Ô°úœpÊc=.p[cÈüó:úòîͳºî?1óÜÑiµ´óÌ9¤ÜÛ{%M O…ì ýéÓY »¬jרVpüÔðĶí r ³?î¸-µŸÖͶØsVôb>˱Ç ²Èù`\};EÓÉCÝuòžƒ’::•.÷QÁÈÄ:)) |}}/_¾l``Pš «³^SI¿ƒE·Ñ}š»þN:ÍßEÓÌÅÝÜP«w§>ÃF^ù˧ßò!Ë[Ü]RG#»›¾çÛnÍß’I“w]ÿÖ±‡‘L°µjöï :tä@DbÛ¶Ù‚Í&†¼å<«‹Ü« †aù×x²,  aV£¦§7oÁ߉¿ÉÉ­ž0jØ­‡¼ªØ U…¼éÄÄD___-[¶ÀèÑ£e’­¯¯_àÅë/mü:ëÙ¦¡­<­ŒD¡È̽ݔÀÿ2Yò݆¦v­f.×¥½©H`äØlìÁW’œc¨„[†·pµ™Ø¸6nש©­Û´û™ y8ËMÔtÛûìÈ;³¹©ÐeƃL`’î.ïÛÌÅÂP  ­êt›ô1'~@'FíšÐ®¦•±¡Eú¾][ÙÛô½&»¥gRŸìÛ¶¶µHdâØ¨Ï²+qCéaþN^ËÞ064‹BQ‹½ñ4Pßnÿo¤Om;C¡‰]vc¶ßû™óØQÒ¹NâZã—NîTÓB$°èr ®l’ÄsZÍYÜJ-þж{i9¯±?Âv‡-z·Є±'øKnSnýºKnŒÈ‰’°?ïËrÐÁ‚[¸îß!5¸‡‘uŸÙ“üêYð¸\]û¶ ®%ä´Ï¦=?8ÙÇÙPƒ¯câXß»©…n“}_ FÈRƒ{èòšÊâ!lfÌ™€num…<.O`íÑnaTFvMY1§ökdkÀãòDî}6F¥ éFT-ø|~ß¾}·mÛ& 7nÛ¶­oß¾|~cC†®°ùFMËÆƒæm?}õÆ…C‹šÿøw°-¯¥tòëï-û.;r~c§ô#SÆü@d<\ѽÏÎЃQqŸ^Ý2Ò)5…”ÛFhÛûŒZ¶'èúµsû¦»½Üì?úh< Ò7;t[‘Ða˘O¯BöýÕ@’˜­ÊÔǃýÚÍSމȨ-~[Øþ&¿bk6ÜüèÆtkÜ|ÜÕ·qŸâã.0%Øä°™­:-}Sgöáˆè[û&Ú?˜ÓÎ÷ï‰| ×ö[~èìá #jé–Õý>®_ËÇRÝÏ c3ßBvßæ{÷­¥£_¿Sî½=ârÝ©îÚ»›83ô@d’lŒš~ð–Ôs`[q‰7J ­èÔƒ$îr8ÖröþëQágçØG.0÷NwxpËñ¼Ö…IûöôüʼÄLùuJ/öñÛ˜ÜaÍÅÇ/ž\Ý»xhcQîeåK Ö䯽Á7þÈ=5eÀúRÍ • I“&áx¶Æâ8>iÒ$ Â%i…Œ,m<„oÕa¨Uöïîö’Ó‡†Ý|1Å0cŸqã{zª€ãä Û÷Î ‹‘ ³Ðüqc厄v»Îõ÷ÐÃL\êÖ0 ÎÊmÓví>ØUö»G ÓøcAËÂÞKú‹!êë×ú;r¤—1 îX×Ó([ $7¯Š°9·³%Àzô¢ÿzï?3bªcž˜Îå«qÀ9ŸÀ|¹¸üÀ×:Ë‚u7çXXµ÷sDãÿÜš¸ßW/»ýÑÓ¶Ñ)eŸ„Ðh|û™.sýõÚžVGkiÆÖëÛLmà¿Aµ‘ß©gËÍÛD$ù¶Ñ‡ÄðƒaTÝ徦%û‘¤H†ÍýXd‘ /f9kÌÊ-`2úæ“ÕµiЬÆÐéCÛ 1gñ_]Ö¶ÿ˜Vß–y¾mÁã™÷ÿjnÆe@ÍÜÝÓBI“Y$Å0™%•ÊbXšÌ’JÓ?ý—í6¨ac@€…•++Í’’‹ñëO˜9´µ6¸Î˜óï–^WþøËN€bÞ•F*UzØARòÇ«ù(uüšI~thíú¯?ÄÅÅMa¡¾”)xkKh 4pšdXi|ä³,«™®JÍFQßîì]µ5(êí‡qñßÓAÚbú•dÒ¹¦A¡™4ê[ÔÝÏÔÓÙõÌçc,MR¬0>¹PÃØ_;øgņ¿¢¬G56Êéž•w3Õף>K}õJœ‹”7~•¯O¥|JÐjáÔ§Ë{ïkûÌ®©˜~ýþMÔúï?ã?ÅAfß¾G/ëuF$ùú²Âèúk¼KÚÇq–-Q¶øo?óì³ÅÕŒìù,›Î²Ù¡e×4ÐÄi)ͰLê‹Ð8½ú L89ñgÈ-ÉBžp4û«úÓgµö hgy®ÉÀa#† lï)âŽ_s´êx*I1,‹–—"Tš¼_±ŒŒŒ]»v;V6ÄffÓ¦MÆ +0ÄVêÙãRê5³£·ïüôA›6.ja#„ðÁ®ýä¯Òb2“%4MRÅ)X±÷ÌÇ+ÚwÚ&š¶}ãÊúº§;{Î`$)š&‹ üÐR¸7Üø_Ó_—޶¡Z -3ý…)xiÁ0 $d¾*˜Ì$ `EÜå³ö{Ä¥W ß½¾)¨¸ó{£¨Q¬ç)xôõ¸¹5d‚ͳéÚ×~åÚ‘‰uÙƒaLÃõÍE%ÊNùŸ—‘Í7Š]d«Lm,¬ÂˆÓ¹´ GnÝ¿w¯ñïæ^‘¢Kž4߯%+:NÖª½w&:úÌCÌÂÝ’Ö½ˆµÔÎWßc-~iŠ­8QMCÚ§ØÐŒ*î÷I4V§ãrÛO(2¦cçm»’–²NóYÐÖ»Ÿ¹ßøæE´Ÿám2‘ˆˆˆ¬¬,}}==ý¬¬¬ˆˆ‘¶ór»²{V¿®.ÌÉÊlîùKR––øtëðÅTÆ0JnØŽ·™˜Y§)dFùº8-uõÁü§Z*Jbï—rÀÈ s}Á§Oô_4P¤âùÃK/0è@‘“"†E:z›Ô&ú§aÀœ˜å’YªÃ6¹Î ˜=\CðcrÌ+¦ d6ÏCùêÞé“ÄÖ/s6‘!”ç?yÝÇÊe˜lË>¸†šsó¦"HÚyOX?q…‡¿H ‡™è‡»ûn-ÐZ|x@w¬qâC¹H?<Æñ늹Fò}j^Ü?»mëÍzcÿ©Ú-âuuQvZê¨-/}õ<ýÖñ·Š¨Ã·œY¬ÇÌaçòÜŽ4ÖþvŽPZ0i“Mhp¶¯¡iCU$ï0YwÍÊU+ñ8«3Å»Wÿoh¥øþ|-ÍÍH¯ü®ÿµŠ–´jÜøKù þ]ÜïŒë4‰ÞcŒ¨Õ™7³+¸$ ÃðÔ>œÄË£(ŠâúCú 4§Àù’tôäS†©²¥"ïúÝ3‘ VÓ^þûR ¼©Uˆ¸2zôˆˆ¸"**Ú¶ŒcÆf³»Yö{¯ó¶L°Þòí£Ù‘gW/™³d•­ñJ ÝÓæÌÈòÏî< œÈ €«AKÖ¯¢ŽDÓ1“k¬ã¨6<=—ûO°æË ’¸çý‡s¼|ÿ|šÄ0qš¹ØéÉ–† 0¿ÁòÐsø%~ÿجċ¨õ×j®Ú ­¸Åð÷?à~¼œ#*¯¥káÑb;™iQ¿¼ø°±—ä}Öû=ð–)®ÜwäÖÿÉzümgl^lHàíËJö†ó½TXÎ$‹È¨˜wèÄüqj-«ç…Ýì…*§¬¤6`ù‘Ó³FéŠêŸ_ºPªëé¢Þb~Ý)ST9•îg:°a ¢¬ý£•ËÒGO5ífs ßµ‹a@qÐdë oSð +8Ûï[ݸaºæIyÆùˆº%Kw»ÛlÄÍ 1.ÐÃøô¼– ¿áë=ùá€ea¦Šß>Æz{àæüu^D±ß¸ýW7˜ñcØ×¦, xüYÚaQQÑ+WÂþÓnïQ©ÇÛ·ù/YüOX…†š°¼õx£a'Ý}ŠpМO¿œ{rp×ÃêüU˜Læ­¨£Æ85w-êÕw§iŽ{·çù±¨[ò×ËÍÎ40¨ªªÇoY`2™¡—/ÙÙÙ‰ˆŠu>å­èÛ¿øùFNyÒ­®Ô,ú~Úû’v#+i)ùÿy¨œÇˆD.‡Ó«aµæÙíÔ¯âCdø0¬M‡ ù;a?0ÄLOê×ÿÿxÕäß¼ž/ª¥Iç>8¹nU¼Ø¤ öÒ?4V³8öj:I]›Ax—r9Ð'Œm³×UÅë´íÏ×Sì ‘ê´ù¿dGîZ~à}ßµž|¨AýÀÁ@$»²ÿÿñš]–vóȦ«i¥ÕDq%ãá~‘k<Pè:óåIÜYÿ I…_¸"òVóÎÇÿk-û7¿¥SØ~ÿ5öµðÁ…ÀcòË™‚Ò:&‰óvT'£p M~ìh`±ºûÈÌÿ?¼‘&¸»R"HØn¸b»¡Rú`ÿ}üF!“¥çã—¶LEkiö³Tý[T|ù"**ú«s &u ­Oå`F.—ÛþëŽÛƒâõŸ‰H¬©©ùÕyA¤…Þ‹ˆˆv³ïŠ×>< ¬¢šœ”lnÞŸF£ã ¿ã[:Øl6÷î­ÿÅX,jê> ÃØÝn&þÿÀ˜ÌúÇÉÉúúúDR·B1Š×>(//Ïår3ÒÓ***þŸa‘L&wûý+<†D$á{uÍ~ŸÐK  øê±õÛÃãñDÒï´jèHHJòówkl'¯ÿ $2YEE™Á`°Ù¨Röƒpè‰ù…p8‘Dìf°¯ÿxQ@ínáa¿cS&‚ Ҋׂ ¼ÅkAÞ€â5‚ o@ñA„7 ]Á0&“Åb2¿\ùëàñx"‰D¡Pz-ET®ž—+¯;…aµ55/ _%'&¾ÿžËm3Ä:òÀã ’’’æfæ:úú½ó´*WÈ•+¯;Ãd²^¼zy7.v„ý(Y9ùî¿–åÞåŠGçúIÙæp8%ůcc¢……TÕÔ™õõÿ1AT®xËïS®P¼î ‹UŸ’”d7ÂÁ´_çÃ#8y1q±ûwïjëèþ÷xÊÒ §å Ýoì —‹½ÿ^ZZæWgùõDÅÄ™¬z€^x*•+¤YÊŠ×]àr9½;L-»8œ^»(Få iÖýr…J ‚ôzéò3t³\¡xÝ2 à‹ô>T®€âup8<“ÉüÕ¹@þ4¨\!?Åë®ñb$¤×áqx»7(Aå –+¯¤[( ›ƒlAzYÊU·ã5»ø˜•„ÊÜG5?˜«Ÿ+A—Ÿr·úÿ°,nÕó;ÿu¶é¯§Ä`Ƚò±uE «N^mÊ`0”ÜãªZüÀþpo—ç¨Z² Y­Á“×GÖ¡:òJVûêÚ&7+}%ƒ¡bd3k×÷ìïgCåêïðçÔ¯qBý|‚öÏÑæëÍ4q8R›q0Ù%!^Öß!˜»¯Üy#j»µX«›»µ¹–ž©SkÕ§’ùòô4«v>“ãsàøþE&ïy |â%jÅüÛ´[® £’ƒU%ú;{~g2ï@øµ=ÓÓ¶Nõ8þ²é"•«¿Æô|#Yn°“\¯§Šoõ¬pýÓ=î¾O‚ï­¶ïà)bfþIïƒU¬(ôZöÝל÷‘¾kîˆy†]]e&Œ€áC …†;­ó‰y~œäï4(òóµ.WÐaÉfQlÜ;Æô“gêQÀH‡/%vê­§_g)‹¢rõWù¡ú5ëåKÕaËW¹Ö¤ÑL'Ädß;<ßVW–J“Õµææ[6p¿<ÚüÏ`my *NS4ëw­¸éŒÏùœvl¾½¡¢”„¼Ž™­Ó05åb®þ¸UÙ'çŽè«D§Kk t ˆ.i3ëã IDAT¯’€ÕÝØè6ÄP…F“PÔä˜YÛ¢=¤&a®•FÿîÑ”>óMôF m•¦¨o·àdfeÞßSzðD©‘5ò_;MuÃÁãµNýú’ïŽÒ›— m±q¹ŸÎ=â˜/ò2nü'Ô×k¾1;é|Â'ôŠ6žÀa·ßÎX›h!¡4ñBICëõ'EµÉ¡oÙíNÝ‘ŽJIÚHC ôæÙ[/¾r«}yëR:[y€Š*W‚ŽÊU[?Ú©ȸW1põ¥øøp•ÇÛ&Ù®ÎÑZx*öa¤¿aÞ¯U÷¾`€#© ÷ 8qíNläé¥zyfξTÊfÁ·±&¼zóüîéeæuŸ£2»øœ«ýš3¿Ðä´»kMu *h±ës¶Œu;\i»ñrBòȃ+ÜÌi-/Ìwå¾)-ySZò¦(iÇ`¢ÞÒÕBXuâê‘n§ŒI¶J3Þ{‚oÜçNK5ìowoë c?U=Üw gçs0øØ*;BôÊ‘Îûòšü缿¶zC޹¿Ÿ5µÕ¦e½Í|Í‘5×ýþX$ˆé›3Ø%ye½ÙíùiØœö#0¿Þ‚ _¥»Ë±€U|~áš'6»vŽ‘îìêµE¹‚ÎJžj»ýè|zèlK£¡Îã‡Z-̲;|a&•«?AG媭nÁIñ˜2Ì€@v‰Ó®˜‡£çM¡NP\ê²÷ÆõÄR–µ¨î¸©º SèÈ”^¾_X7™iûveoHöì/Eà×05’$5LU—u`k’ʪäU£ˆJ³×M9e}&âÕ¬%-ž-`}|Qâvû¨‹@Y;¿¿‚'‘)ìÒð~ ª¾q³µ(œw×6«¼c–¥0È­Zuæü¼£¬m„;YU.§9 3?<B‚7ÙQñ¦Æ}U9Ö#÷m{8õÈPap?Å­÷{¨åë(E€ªV©ÔWן_‹ƒ‘À/Ê_?V£n¿?\g ñiÏ=´:jˆÏ¿Çœn¯Éw8rd½«¦ˆïÊU§%8y‰žsd;Ю}ôRn:ïd¾ ¿•+^×i¹j­Ú¯ñ‚â}p¬:vÓ'š ŽYÃâ»,áäÖC×Ò^¼..)ýø”ذ?f¤}‘mضõ—]–öè-;gE?¹58ŒÃbc´ÒŠÖ…N°ßâ¥Ö.ëÆhÞèê>}êä´vŸc—„,\~_uEÜlÍÆ××½¼—S÷顳F8¡a ,Œ?ÔpA¸£ áû­É­«áû:h® h9’;•ùŽ=T˜X•´eùu©·\ÚÙ¬Aª T½¯ä|¿ÑÙÕeÕ HD­Œ¿? _§/•'«Ï:äeá;ö‘ìô+ÇÚ©$·Ô¢\a–`ŸŸ5õ~yTÜLMÀ²¥‘KGyMY¨úð„£*W<®‹rÕÒO¼ßX›8Òñ0Ý;hï3y‘š+£|¸u•u«½ “$‹=qû,…› 3QH¢uœ Á¼‹éãß¿|îètëMj³Bnl°m5»øâ"Ÿxõ•÷<5¾m“ rsB¼THÍ©Q¨[DÒ÷ç‚ ÷ce=·¹% cÕ±p|"ü8ÀÊc·}ÇÄ6QÚümŽÉš òx¹¬™žàþGe}٦ÈSž™ô–¤l(ƒžMæ >áB¤ÓøXâ24¾.«Lß—«.JŽiÙ‰ûWM†dɲ#–ü«²14ç«ãÐ>¨\ñ¾n?9õóúó1 £"^)ÎÙ¶ØNKJLÒ\ IhòFFµínD¤j© ²râ^óK3šI “Ú+û8ŠŒ©ÓÜ-!IÖh?à„L\‡ eï J­ÂšfN Ú›%híf&‚^"ĸWì7a‹—&Z®ó퟿ÉkN]’íªäù òÅÓßê8õeEŸAXZ”¨\ý:+W-ý¼ú5ADNŠPéèmR›蟆pb–Kf©Ûä:O0`öp ÁÉ1¯X˜&€Ù<å«{§O[¿ÌÙD†Pžÿäu+—a²¤ïæ~I>~ú)ÃÄ@I‚R‘wã~)ˆö•àÃAí·IX¯/Ì÷}¨¾üödy¬¾á-à2…ˆ#É]`³möú ÓYk<‡iˆÔ?Í«Ò;N_¸››(ã¸Ôy§Û†ñ^Ü^¢%7·ûžÁœŽÎÐ QTIç»Z~Õa‘¬¬£¯'Ôð…ð 5öCgO[¹h–ƒ.!ïÚáí+mv¯·éêÚùM°˜¬ZÙÅ.{²éاþ›fëó•+^×q¹jí'Ækçý‡s¼|ÿ|šÄ0qš¹ØéÉ–† ¿ÁòÐsø%~ÿجċ¨õ×úÚ4€ÑŠ›Q ÿÃîÇË9¢òZºý'¶J¬wñ·n)(¯Çð"ЦN{Ã×™ Àwñº6sϦûµ,Xo¥´¾ñ+Ɯؔuú¢Ìøãq‚;Wo9½Øis5Ÿ¤š¶ÑÈÕ£±î¿„/64ðÊa‰Õ[xÙD”Ö³žs!zΠ.o-5nIǃwDnØuiÍ´­\9£! Ξœ;¤Ó^/`ýwE¦Õ¾#è8ïÚ~mÀlÏmÃcW÷ì.^ÜzëóÛƒ®í_t¸¨ZHA·ï„×½›»Q¹úkà‚ƒƒm‡ÛüÂ`Ÿ"4çÓ/çžÜçf£]ÕUU.騣§÷«ó‚übuuµë×®ñß°±²¢â?&…ÊÒ¬ûåêVôí_~Å„}I»‘ǕԒüMoÉäî÷ŽDþh½ÙŒÊÒäÿÛŸ¯ç˜Å±WÓIêÚ Â»”Ë>al›½®ª¿i¼F|||-{ù#H/èQ¹úñšóåIÜYÿ I…_¸"òVóÎÇÿk-‹Ûß^ýAÚê~¹úa’ a»áŠí†_°dAÞõËÛ¯„7p8<=0ˆô²•+¯;ƒÃ…L©ª¬üÕA~½‚çϤ¤¥¸Ü^xç*WH³•+ÔlÜ"‰¬§§w'†.AWUÓ ´÷ÎâÿðºÚÚ®§û p1¬®®'íý:\§×š++¿„^ºäè4¶WÉEåª*W=*W(^w†B¡èêë ‰_Œ|÷î—ûãï;ããçïÅŒu€ÒÝÊ`¸†½´h]q™÷¹(ÈRfÀÆîëÝV24:•fsæ-¸™':öÓ¡Ò• ­§m¿û®¡m+µWè?ßo¶6ƒJ“3pXž™tÖ×ÉHN•ÔºèÒËz€úÜýÃŒ%éT]Vß~qð³Z Øí,ëk‹öæÛ¸mÓ†öU“¤Ik tö½þ– ÌWÁ Gš¨IÑèTCc¨ç¡´Š®Îdì$i¼.«¹rÈýpÙIAÏ'µíˆ{œòÄÝÖzòtª¬ŽÕŒ}ËÙP›h!¡4ñBIC¥õúŒ“¢ÚäзlnUöɹ#ú*ÑéÒ]¢KšÚœ8ŸRͶ7Ñ`P骦óμdbå¡#$”fÿºñÆý·öºt_cñ~~3íU¤¨4†ößÈ’¦ƒŽýáÁžCtåéÒʺöŽ–*zÞycG¤{zXÃÀáΜ9cmm]\\ ñññ¡¡¡sçÎ|7F6ªÏ»x±TÃÕ^V@Éa¼rYÄ™ôΛ*‰²®¡©as@zÚÅÇ™YYçÇI 6;p¤w‚ÂÜ÷2“/û ,ÝîöG²23²¯ÏV!w˜™Vª|ç†òOÚuíQÒ½K;—Ž3ÅÔåîtê ;eûå»#÷zO²”mSñèz‰ÑâÃa'ýFɶ¬WcuʼnÕ«‚ïÜ>çÛ¯äðL»·>r»ØM€#‰éŒZ´ãÜ­;чfJ>Ü2Å;ö3YwubêC¼È¸Ëù¥%oJ–è-‰N<3NÔ}¢R3²2ÓY p?Þœ3üßû*óNǧ?<ç%2kb`zc­«y‘-7cwÈÕ³“U;m´Á*â}†9n*0Yq!)ãÁéj©+ím7¤Õt”= XEg܆̆1[#’£ƒ|Æj µ—4ëãß fí ‹‹ _? èèìe·>r &=pœË ¢Ç¹´’âœÛ=5«*{zÛùÍýÈ…gII‰³³óåË—ýýýÉdr```»M%í©Í>òNs¡ƒD%ÇñÊ›žJÙ8pˆpÇséÒR¢$ÝÁ´€Ò"=—ŽZÌ3Ú”@mÑì½ç¶ÆÖ»H (:x(6.A_­îÊùé÷òk«‹¶YÖ·öVqh`$iÚ•“«ú á@S«á{†õd÷ÆIô4‰qçÆ$g”±M¤;Û D{Ïk|Ogøõí/ì’'²d]÷¨·º1€U<ض¿ÐbGøB;@aéZûÓŽÇ}ï*ͧ=÷Ðê¨!>ÿWpº½&ßáÈ‘tÔeØš¤²*yÕh"€ÒìuSNYŸ‰x5k‘xÌÖ3_ìßÞ8ІÐÀ:hŒÂóQedÄ)xB C°«Ì|’ÆêÞ½úRFûéªõÁƒ²fã÷UI»å÷ݘ¸{š<@SØòŽ f;é4¬Áá0 :Û=5ywž³‹òl6l+.‹…‘e*Ø=º×W_”øœ­äe!Ù´ÆdEëÁ[eÚŠ’ÛÍ·âiR)AÇN_¸^P\Ïas0`–&çÖ+úèödn„×ôøb±XÍ!‡Ãyzz~ÿ+“ÕÙXUêékåœ/Ë%—û²ôx|¹Í(Zã§n=hÓþã8Ý­ãëÕ‘I¶k¾ºïß»nˆ2 §êºvÙcã0ÙLnm«Îûð™Ãg>±ýÐ)- Ò“UýF%w#8Ñþ³I®Ç> P9[¨;w”|ÛpÀeq@lì©(?Ãæ†YT¢1>é4>–¸ ¯iÍ9L,öÄí³üvÔ…$ø°T&‡SWUÇhsǪ›Ï6už™fxñA«¯åLN¸vùÌŽù›, ó6 rêÙœúªú®Zö;G¤@Äw¹›±/÷–Úþe¸öè‘݆Òü¥û‡YžþþçÎVãrØ\ÐYuÖé[# A€Þ MÛO§y踌v”=ŒÃü/½T¸µu‹Uû“õ¬ÂE&“9¸¹¹ôíÛWAAáû ¸\n‡m#Ø—¤“·ª W^¹{ïþ½†¿;!Kµêï¿SÆLàÖ|ªiç¨Àˆà°š 3YÚHƒ¿,þNaÓ­4ö‡„˜WDµŠ]ukÄ){p9Mh–5ã dÅ…øHße¸õ²¾¡È2ØÙWS?·8 ª3ÎÇ1‡nÚ4ÕL&ÌOnµ9[´-> N›(úðXtüù‹ïúzŒi{çŸ$­/ÿœ”ðY”ÑL†.Øp†e¿ [¼4ÑroÿüM^ûsZ6ˆT-5AVNÜk~éo³H “pdYìÙ„-¶.G"`u_¾¶sŠÅHø>~tš™VðJ“–ì¾–åI|ð@úW Iê*‘ŠbâJþC‡{VÉíÈd­AJèl7@m^ØÍ«¶y V¡‹ ßï^\«}‚#Àý–N@Þ@òcž$¿­¨”¹›uæÄ) fÊøW·¾oJ™Y÷àƒ Ž)ƒÜQö¢ê:âœÜ¨ÌŠ ¹dYÜ“KwÞþæ]‘ÿ¢gýùpx<‹Ùx̹¹¹9r¤ùW&“YYQA tØãû”p<–;t¡Û@]m†?=K÷¹áщÛï8Dº‘ ýsä–Q³3®Ùz4§©ØEUe‰¥7/ßÉÉÏÍÈ}ÏÑ §+l™ºôlbAiQFĆ™>‰’n>v’Ý\¼€´¼À§[‡/¦çÜܽ`Ùmf‡ËjFQwmV2ÍÅ÷t\VQé‹Ì”'Ÿ9@¦)‰1“‚NÅ–>»{lù’àm/TANéÝðë11÷ ª$,J¬HŒ‰ËþÜ4)š®Sd®ZpüsÿéÖôvrާ [<‘^zè7ÿ q©¹¹)1¡§Î?úÈvñÅ…ËÚ¾uÖÂ[¬^ÎÚ™Y d6ÏCùKøôI¾'n§dç¦Ý½rötL ˆ ‡ùö”{󜺙öª´0;)³ŒÐGm ;~ËÎðÄì¬Ä[§vHøÚ¸pü²ª¢Õ ®§ççee×`dæ{ìw1‡ößNÌ~^›u=ùPÅH€³œ?Q2Çì¬]Iù¥¯Ÿ¦¤•Ôu'*q^ß½ù »°8/þô’Éë²T’ÿ®û¡› 3Ê×E,q©«Ïé»9…EOݼ_Ú£K„ô¬~­­­°ÞwÙbße‹×®ö=¸o—¿ßІ¿[7:°Çܼ³rËïŸxÀç0{p‹6T‚¤Íìa|OF•²LV^föz—Û+G¯íñ8³á²WÞ81+¿ÕvœS“­¬ÆÎʬâ‚`_¿›×׿mw¨o:nm‚üŠÈ˜Í"ÝmÁ‰ <¾D?s•­±Ù„À,­93škæm—ÕŒ¤8ýÂí½)±'éÛÌ‚áyÕ¿ÑÊÓþCßímbâ°"–>mO·]>C3ÏÌé«/<«á ™/™oúåä¼)ÞÇ›ûû‘ÇÎ0¨|K°ša)ÞînÀ‹ Ù{yµUõ•Uÿ <|²ï¡ëY™°ŠÎþ»"Ój[À:(ë¼k»Í›žÛR¿bF+nFmK‰ p··:qѮД7õ\‚¤cÐãsd3vϰ51éµåbJ9Èšsm°¯;;Ãa¨ÝÔ ×+õí›;š -öŸ 5w˜Å¨™;â?²;ÌLkõE·¶Ïv2ÐlðøU7…g¼¼X‹ €´9æ’aщù# ›¶öäý·Ýê»ð!þˆóãAî{ úm޹¹²¯ ®‹Ý@Vó<¾ÓÎM176ÿg¬÷`‘æZDëú5á´ÞÛüÍöq–C&ú¿¬ «z…Äí÷ÎØë9ÊzИ¹Áñ…_»ÑÓjãŇ툽´PúßX}‹É»òͶÆ\_ªÇßYö(ºK"nnZqqñ¨Áíçœz¯Þ“×8‘AWƒ<ÄbVŒlÒÌÊÈ¢ßÿña¤‡pÁÁÁ¶Ãmº5)'$ÜÔ“£mû\ÓL³¾îÿñ("Ïã–_s5],z2õ e»ý¶þnXy¸ƒº—@pþeÛNº!ajvÀòÖã†Ýl&D~s·¢o÷à~#†a•?/7Λëûîñºb‚‚5Òë8åI· ¸R³èèö?É_ö^Œß³àâ¡Tú¸@ý.;§!Hw`5ù7¯ç‹jiÒ¹…N®[/6邽4z„ýO‚âõ/R“uìD¾Âäcšèbéì²´›G6]M+­&Š+÷‹\ã1àÇ{Ü#¿£´_#‚ ¿Ê­èÛèô‹ ÂP¼Fá (^#‚ð¯AxŠ×‚ ¼ÅkAÞ€â5‚ o@ñA„7 x ÂP¼Fá (^#‚ð¯AxŠ×‚ ¼ÅkAÞ€â5‚ oèÁxõõõÌú.flã±íàŽ‚ ÈÔƒxÍb23ÒÓ:š€@ ôëgn7rTuUeoä Aù¦gãí¦¤$ùo “)íNPUUµoÏ»‘£:L¢*v’ƤÛ̦ íáž«×Ï*E,µ×^®žyp€`÷³ô³TFS›Ì<úëVTÔõˆÃ+Fà£Ö»L=ö’Õ£lü?ñiÏ>´ÜLU±®2c¢~îÅCícomºÕ±bv¿3ów˜K­Ïí¢e A?Nê×8\×Ñ˜Íæt9•°²q_:`€¥YŸ½…¡ÊgÚu?#ÿWD 3G§_ AžÖ¯)dr'¿’Éd»g5e‘B!ûˆòµÎû]Ôjgs Y*N•T0y뽜Ɵ˜oã¶MÚWM’&­1ÐÙ÷ú[6·*ûäÜ}•m‘¶ IDATèti.Ñ%LhV÷2Ìw´¹†$MJÙÄiEXAMÓQVYâ¡9v†Ê’TiM3§õ)œÆªïN•¥Û‡”WÇÏTVœ]Ï}8Y™N¥ÑÕ&×0‹£7»ZÊÓè2šF/»ð¤šÛ0ã—HG†ñ¼M‹ åéTù1gK8-rÒî Ög¯1”·=YÆÍñ1”¢SiÒão·¨Ì³‹‚,el,à¾Þm%C£Si6gÞr°šü°•΃´déT9½A“Ö]+¬kÌ}]Æ #µ‘Þ‹œL”i4ºŒ¶çþÄò–A„Wô°?_§•g<¾[©±ëj™lV]Ň¢Ìˆ3—'­¦˜ ·YILgÔ¢çn݉Ž84Sòá–)Þ±Ÿ1NÙõ9VÎA•C–½çÜ:úT"»øœ«ýš3¿Ðä´»kMu *h±¹oÎþï}•y§ãÓžó ™510½°ªÄÕÃG­ÉÖY|"6%þÒVOK©Öó ˜nIHØ?ˆ}wÅgdefÜ_kÈœ÷W<ÿT5bӵԴ؃SÄnÌ2îPó‚ë^_KrÞ|þê…=³ŒEZnºvW¬¹$:ñÌ8qP÷‰JÍÈÊL;d)ôýLDY×ÐÔ°¹ =íâãÌŒ¬¬óã$¬WÇ'ö ãwÙ–vcË(æ)÷Á—ß4µ§°¿däÑÝ÷]{¾ëŸ>·×8:ï}ŠÚR„õ =¤·d,îËXÜð_¼¨ÖÈ5—·–ÀCyˉTóIîæ ÿ××κ0$"©„9¼ÏÛÐÀHÒ´+'Wõ€¦ÔeØš¤²*yÕh"€ÒìuSNYŸ‰x5k‰Æ÷×Ì—ç6F {E¸êQÔ¦®]tºß®³¹>Æ}«£O–¬KÙ²'Ûxêöó/Ç,QoX{i §æZ ]=‰·ýÆ8˜:kÏîì+A~#¿ ^묉<8TT€&Ã&7U:ÛvØ®/¾}pÛ‰˜ìÂâÒâ’ò:®ã`PWðàÅx­®P‹Ê*»,íÑ[vΊ~rkp‡ÅÆh¥­.ükòî~G1©ß§ñ ¼˜©ƒÌôªÔ[·^áD  ˆsŸæ  ô|a‚üJ=Ž×,‹Dê0®1Y]·_óKªhéÐ;o:Á¾Ü[jûO”áÚ£GvJó—îfyã0ÙLnmëX“$‹=qû,…›9QH‚¯eš\› :k£Î:I4Ç*‚½°9,´wÎè†@«†ŽÎšfì` m³€o?x‰b¿"ò;ëYû5™Læp:»]Åår»Ó¤#ÍÏEÖæ…Ýüh°j›×`ºˆ™Ð”$EÖÁξšú¹El%RµÔY9q¯ù¥Í$…[õ.Ä ÈHC~ÌS‚ä·©¤ÄÈ8 ÈËCQ\ü›.N68 fsO;>ÅþŠw=åSã-FøúäVz”©Žx—u׎VG €Ëê¨;àDpš'ˆiÒëÓ£rª¿à~N½‘*ÊíÔð±/©aëeûë‹£÷ ïéÁq‹Ãápx<‹ÙnÇ `2™•Â^eãH¢ĊäðȘظìÏ¢¸›{òHLþ›— ÁëìyÑ )ꮳͪC¦¹øžŽË**}‘™òä3@Èlž‡ò—ðé“|OÜNÉÎM»{åì阒ÖÑ—OÇc¶1'~±óüC×e=Ɉ¿~îø•—L‚ôÈ£D2ý&/=›ñìyæÝ°ÈüöÚ&HšRÜÜà°¤çϳ3_TrÉÊ“YcQógn¿•ýºôÙý#ógÿÒ¡§_Ûy[éhH4u)ìyxèçÏsÒŸ~jsv$ŠªÊKo^¾““Ÿ›‘ûžÉ¯ï9ÇèÓ©ÿ¾›WRœ½Ëkþ5¢Ãò‰JÍAå·ï¤ä¿~™~}ëÌ™—˜¶¾³´;ìC Èï«gí!ÚÚºëªØ åûª4…‡ÇãÌÍûÿ`F„Ì—Ì7°uÞ”X»€p =5Ïã;_x­Ÿb¾OPiàÄYÞƒŸ’âô ·׭عqò‘Å]‹Iµú‹­¸Åð÷?à~¼œ#*¯¥káÑbëeU½B⨫wïõ¼´º¶Œ–N_gý€@y(öDÀÒ€-nçÊ€¦gëh&Çÿ¾M)êÓ6̼3o…C9«Åç‚çk1&œ¼Ï°tË"ÛÀ2 kôtÅ¥n4ƒ“;ZA 0œÖ{GÌÜ>Îr§¤±Ç©ðõâ-ï âĬüVÛMÙ8ÙêMÛyoøÎájsÂcÅÖøì™9dÕ'’ŒžåŒów —üvâ¬Î‹ØöÖ¦[+f÷zÿ¯º¹5ùzPåÁáº>JÙlN7¦â%D 3G§_‰ßÚò õ¬~M!“;ù•L&sجÊV“¶Òy–,*§7hÒºk…u ·,ës÷{ 3R”¤SitY}ûÅÁÏj›îe²Êͱ3T–¤Jkš9­Oá´“«+º±Ñmˆ¡ &¡¨?È90³¶é‡WW×N°4P” ËèZ¹lzø… 좠Áò–>›æ ÓaPijn1•Õw§ÊÒíCÊ1€ê{ÓÔ5]–϶7”¥Ñ©òF‹NgUqàK¤#]{^*·â’£"•F§šnÉc~—ƒúì5†ò¶'˸9>†Rt*MzüíJvÙÃ}žÃûªJФUMìç¥|â´Í~]º¯±Æx?¿™öÆ*RTC{„odIÓFf¾‰Þèb¡Í ÒõíœÌ¬ä0Ÿm3¥é.Km\K¨º;C‰.;ùÖ—ÆÍóõá\ušÕ¡Wßï(ìS”«‚¤Ã…wÜÆMûê€%•f¾ýyãj°_"¡êy¯ªyk`å¡ö æó×{O¤Ã Ñ©Jý§H«lœS‘uÎÛ±Ÿª®jb¿ìÖ§o{¦ƒÝí ´»‹ä/ÑÃfäN+Ïxü6J³^Ÿ8Ø3ŒßetZÚ-£˜§Ü{\~ÃT°p÷ ºr;îÆùuVå§æO?˜Ï¬*qõðQk²uŸˆM‰¿´ÕÓRªý´ës¶Œu;\i»ñrBòȃ+ÜÌiDVÑéMà³î\ìƒè£+§X«õÁ`5O#²åfì¹z6p²*_«ÔÊRßhÍ?;d£mÍÅ%#¦³AØæDfŒ¿.ô±?š•™‘}}¶Ê÷ç5Šæ’èÄ3ãÄAÝ'*5#+3í¥`ñ>Ã7˜¬¸”ñàôµÔ•ö¶ÒjÚÛ<>øl0kOX\\øúEGg/»õ‘ €U'®évQpÊÁ˜ôÇa«4ã½'øÆ}撕Ǹª—ݼò¼¾f…>¨¡Ô'…fV@MnHl•þä‘r¤ï–€ë?m(Ú…ø\ö»;á/I¸W± û€óþÞå'¢#¦ôú>[Ø×·rEGù¼uÿæÉi}¢ý¼ö=e@}î.Ça c$¦¸ù()bÏÂÊÍ£ÃýC@¿Íïp ¨.ûð®·«ç ìrÞGödOÝ~þå˜%êEÅÆéôÕꮜŸ~/¿f±:ñctàɃu)›§(’@™þNŽp„ÙNâ¬/Ê@Ün`uq(«4|]ÿôØÎ‡2KïY¬EÐÔ6€ˆÕ¼ù“6LX]Ø2=9ghkêió¿4òÚ}öù_mªŒŒ8Oè#!Ã`¶ÉIXBFBˆ€'‹J3 "÷]Ôæ³ïM®­'GPrÛzòm’ÅÞœ±msǧ4v‘çe¨,q?~öQ ÓAìóµMçjÆï˜e) r«V9?ïèãk…Ñ“5ŽE¬2Ð¥Ôæ†=ŸµnHØÎ°ÜšÁæµOâ+ –ÚÉ´Üñ8Ñ~SlÜÏ'|7†Êýp?¤tÀZŸÏá÷ÞÏRdàÊ\ÌéoØZ\ÂàøÍ¼ºYõÝÞƒNŽ^…éwíÏ‘[·o¶>¨JU©õÙ‘ÙåŽîfäoö«ƒºç·¾¹ÛJZ',l:e8Ê…ÄÏ÷ãÃË…:®cÆMP.}ø‘Ë-x>SÜÑU¿í‰èbq~<‡ÅŘogW‰š[·¾2®vôÌ‚üz¯Y¬ÎZ¨™þÚ¾†§kÚ6´àq¬WG&Ù.‰£»ž~ô47؆Ü0Æaq åà æ]Lϼyx†fñ©éÖÚƒWÜÿÌŒÃdsê«ê¹=Îí÷I“ÈDÀ?rƒµƒGŠzr³–ÃdƒÜœG©SR§¤¦fdefž' ÊÚMÑ}{%ª¨êÅõXüpG5ªÁøþµ17^T¾Œ¼ñ¹ïÔ¡’mÂ5@ã)#S.¦|þ”x©@Óe€Ãz¬ìÓËÉŸ>=º˜Aí¢ËßýlA»k×ÙŽîÅ È«gñšL&s8íÜkÆår»Ó¤‚˜–!½>=*§º)‘Ï©7ò@ÅB™ŸSöàršÐ„-kÆÈŠ ñ}ë.H‘5–‡¢¸ø7Ý:=à(2¦Ns·„$=Z£ñüØÎ_0‚ˆª¦è—„›Ï~¤n܈óá^X¨QåDhUd@"—Õü;EÁLÿêöÃ÷Mß0‹â|Ô1etvG÷{dY#9(¾›Î¤1šÉÐøðiÛ)zoÂ#ïGDs†Ñ €Ñ“Š›×î…G~2fÕ~çwA}W¤óq±óT]Rñ$YÛÑY—îÄ\H§9MÔn[_nIÒ@…ü%1¶ ®ÍOìè^Ì‚ü¹z¯q8g1Û¿`g2™•B;5·Vª s²2›å¼¬ é{Î1útjÆ¿‡ïæ•çFïòšè°|¢ / -/ðéÖá‹©ÅÅ97w/Xv›ÙPq#H\0J$ÓoòÒã±ÏžgÞ ‹Ìo·÷KòÑ=§¢2ò ž&E_½_ ¢ |84öš¦Vr`’ë†KñO‹‹Ÿ§=~QÕ­ÊöûĨ¸Œ—¯ó“Bü§,ŠýgõàøeUE«.\OÏÏËÊ.®iM] {úðéóœô§Ÿ8I;ï bÉ+<üÃÓ^½y™ì3mk֜ń»“ ’üØ6‚OÖO˜¾-üAÆ“¬Ä[O†dU6n©aî†EûýNTqÒäÀ‰šº¾9´ö؇~î–´vº€Þ?Ž‚1kÖ%+LDÃF8ˆÜ_·æuÜxî6áÄ,¸Ê¼Þã6gÔã¼ü܄ȈŒÏ[ƒ¿ÃÝ‹@?WÏî7jkë¬o¨bS(”ï«Ò 37ïße"y[&XoùöÑìȳëNsÂcÅÖøì™9dÕ'’ŒžåŒów —$ˆ <¾dÎ’U¶Æ+%tGL›3#Ë?ô‘‡bO, Øâv® hz¶ŽfrüïÛ. ¬wñ·n)(¯Çð"ЦN{Ã×™ Ÿþ²k7¨«W­»«B@Áx¨ÇŽýsuºl‡OiÁþn~O߆Ã}®œõHmˆ~F‹ý'¤®˜;,TTÕ~Ýå ùiNë½#fng¹SÒØãTøzña;b/Éû¬÷{à-S\¹ïÈ­1þ“õzpÍO”?–B}v ½mì”{1‹Ôшò œÇ1 KIIòß°eG»ËWøå>Éé:!vñ1k:•f¾íóÇ3þR—î«G¸÷%«‡ó±^î(e´>·áz+!©:;ákïg°·TǹÉJØ^*ãöh.¬&ï̼aú TC­¿Çù×=ÝL?óéfSšáÚ¬.. Ì–U%m|¬ì9Ϥ@MÒB *ÞâO{yj-pJOZ·þ‰Æø'¶ (Ú û¾Ø³1¶¼g;á =ŒÃáÉ”Ž~%‘HݹcGžÌá{|9Þ*“kÆÌßaiqfäÄÕݘø?j½,’¢Ë–#Ö*hÜ´ö°^óXt‰0s÷U÷þÒÀ‘&ýêý?õrÙà–ÅËE¥¹f,7ãôÑI²Méã(t5¾ÆÿãÅGï;;O³ùxÀ‘D•ˆ²£_ã¶ïÆÛán Bïä ùmô ¬áp]Gc6›ÓÕTÌWág 4°¿09øÂSïõ†|OÿkÄôG8ýêLü¶ØŸŠ>áµ½g;”ÿ Oh½[6¸eqÇîaG­èß®yd´ô ”Û; âÈt5}ƒvŽœ¨ÙT[ÁñÇ®•¸x*ü…{åÏÖ³ûrgbd2™Ãîêâù"$¸PÍeŒ¥Óxå7¡g³j¿g½Ü3PR߯éÊûtÅABfrÜç¢ K™ ¸¯w[ÉÐèTšÍ™·àVdž\èØOC†JW6´ž¶ý¶¬<Ô^¡ÿ|¿Ù6Ú *MÎÀaExfÒY_'#:URsè¢K/ëês÷{ 3R”¤SitY}ûÅÁÏj1`·³¬¯-®y™oã¶MÚWM’&­1ÐÙ÷ú[60_/i¢&E£Si ¡ž‡Ò*ººeì$i¼îÛE:÷Ãe'=ŸÔÚÖSr>=>6ÔM*£ib7?¬”ÝQæ±Ï·Ü胼jÚ̧›M©º¾©µÀ­Ê>9wD_%:]Zc K@tIû QXöN 9*]IßzÆ®»o¿M…Õ½ óm®!I“R6qZVPƒÁ—HG٧ʸ9Ë¥©4:}ì­JfqôfW+Cy]FsÀèežT7nvQÐ`yKŸMs†é0¨45·˜†ÉßDot±ÐfPiŠúv NfV¶Ýz=›«É¿â?a – .o8löù×Í÷¾¿D:2ŒçmZäh(O§Ê9[ÂiwKBMòb-ºù®VóÞ-EÕòNnÜ=ØÇ«ddÆ…–Õ4—ê»SUõ§¯óu¢¯D£ÑeÇÜûÈiÚv_ó.û:™©HK24L‡:ÚkËÙ_øÐv-+3"2Øš}E»w£°“{ú}ô ˆO®?þŒšDþ8=¼Ýiåï:µú¼‹K5\íe”Æ+—EœI¯îtz¢¬khjØ\žvñqfFVÖùq¨Íiã 0÷ĽÌäË~K·;]rçSCùľÄk.8uçQTà€WGfXω¡M=x3áö>»ò3 †½å€ ‚…»_ЕÛq7ί³*?5úÁ|fûËjÆ)»>ÇÊ9¨rÈò£·âïœ[ç1BŸJYÒd‚ÏÞè;Ñ!ÛÇ㯭tÛ”Ö&î¶DR;Ãð]ȹœÆé8o£¥Ð&LÖåo9·,ÒkŒÏÅÙÇ¢“cÎεWkè7Ð^æqbý=† ? ¾Ö؆Ì,½\(7þ]~`Ÿsµ_S`æšœv÷ sÍ¡©nAíFlZ?·ugî<¾Ö·_ágëE1 ›”ûñæœáÿÞW™w:>ýá9/‘YÓkDG†DüCÃëlJ*|SZRrÁF8ï¯xþ'¨jĦk©i±§ˆÝ˜7dÜ¡æ…a5O#²åfì¹z6p²*`Õ‰«Gº]œr0&ýqØ*Íxï ¾qí…™nÏÈ*:ã6dF0ŒÙ‘ä3VKèûtê^_KrÞ|þê…=³ŒEpínIÐs-õ",º„€}N¾œ‘>ݹ–_€}y|! ?hê`j‹Ò^÷æN nwÐÕû1ç½UR·ÍÚô€ý&ÌËqYF¿€˜ç%/]\oGþR×^­{—Y'c®'Þ½6 ÎûcÃeéT®h0Ì#àÚ«ºoá×Gk"çÉçuÝJ á!ÿç ¦Úìs!ï4Ú1ˆ@Tr¯¼ùà©”‡w<A.-%J“„%eŒ†öºÊ„ó”–ÜÛæ®CY¿c•M—nòì* 8þ¾îÓLû(-òØsé¨ÅÜ9£MùÔÍÞ{nk|a½‹´€¢ƒ‡bãôÕꮜŸ~/¿f±ºh›e}+ò¬âÐÀHÒ´+'Wõ€¦VÃ÷ ëÉî“èiãÎIÎ(c›Hw¶ˆ2öž×øžÎðëÛ_Ø%7NdɺîQoÝ8Ï©*.©£(˜ 諭‡SQÑnüžÒAæM§Ú‹¾YäµP•Tÿ<,ôµ’ËD ԥؚ¤²*yÕh"€ÒìuSNYŸ‰x5k‰Fë‹%œô@û¡Æt<¨)m8ÅÍí·`ó+9îËs£„½¢\õ(jS×.:Ýo×Ù\cS>2 x"™B!° Îo½Æ²=q|©=  àµïh©Ã¾C™Ó¶™6œŒD¬æÍŸ4@°q߆m:W36xÇ,Ka[µêÌùyGXÛ´-Ý›ÑòÕÑí÷\Bz[ 《­Ëû>ƒÙÞSìš“jKê¸8IŸ ‰y3k¦áËã‹ÙË׊<õr¥¾¥2õü#œåþT<·ØxZîK¦¤âô—Œ:àšö5@ Ë?x[Ê;Á{¨ ”ŒåñÏÛ)Ìùe@U¢¶hüx¶ÎTz]ó'ým1SÀ‹^}ê4GX\˜TWV”´s‡{Lúîøs“åæ&‰)ˆÃ—×eu n}”ÿo¼þšqæÊGíe¶ "•F9+î;ö賕­XOŠóMjîWú`å¦G”´®Ì=ôºÞµeœ$Rqìz6öí³†ÉnEæù»C“ò_—””¾¯ÄÀŒÉÅ:ÉF]Áƒÿkï¾Ã£(Ú€¿»×ïR.¹’rÉ¥WRI ¡÷^¤ ¥ "è' ¢ Š€X@A¤AzBHé ¤×Ë]®ïî÷G )wi‚10¿ÇLJÜíÎÎÌν;;;»Ëêþ±i“e(eÚÉo¾üíïäìÇyy•ðT­M?Ç…"ÿõIØNΉ}Üfïvj6ÔÄN\=ûð•¡^?žýúk³'õqªé_ɼI଱¢ß?•½x…ôÑácyî³'º0AÿøÁí}šû0ŠÐé)ažŒhº¹Æ5'î5Ü…Út+K=Ç^Ÿr%UŸ“2ÄaGM’Ôé(¦­L@Ç0  ®¼ªÌ[™àµ´‡e]×Ó¤ÛÈî¬}’+ˆœæQg^OP—ßšäqœV“5Ž€îÅJÌZ>S3¶¢¾2ùn­Ûp?³6¶'#5Éöœ2Y²çеÂ9³Íb?”Lþd¼(róÖKy+¼D1ÜÂ|ßË£“Nh&.Nè (Å£›yæÁ!­_ˆ%´¸–'^@È IDAT7ºÞH3±¯9ÝÃ8NýG;Õ.Öä+ãƒ&…½»ywòäõ~,ŒijÊ„â  €.9¾PÚ¯u:ƒa´õiu-_Ë£9SFT¾×Ýê½§æýt³lÈaí_mºÑÆðÐ].‡ÖÑeý8mØGÕ³¿Û¾~€³î¼æ3£Õã¡ÕkIU“0GŸ?t~Òˆ­;÷ö3’>Õ† `ü°c3öD–÷r8²?ÛgÉ©:¥ÛŽÙzµï‚k'Žý±÷ãIÛ?¸ùü¯s]0£™çúΜh»ïÐɬyCŸ(ô^<Þ‘ '´0zo»úmß§QŒn*nõ2/E¡ÓP$¡'¡ÛÇçöOx:¦G=Ìøž!´z°_|äØ.õ¥ÇXqëÃjFVÄʵúV×}Êx3`¹Oš,ùáТñÒÃ÷Ä?ˆ9S}ò¸Záyøolà÷¡meÖÈÕzRßê€a&âAŽ\Ý(Ä¿ÞØS2`¤+¬Ï(Õ°j¶ZU¥ÅLE\¬_4í¿f2™ÑRÇŒ$I£ÓH¨Ê»{Ï+Þ?qíúë5ÿ]9ò®—æÆOWJHÀhL©,WH£Ñi5¡£66œ’›W²ë†EõÅ‘—²èn½Û8Õ„(ùûðÓ)›?šèogiÊn8 ±é¶žbÙHôñ§¢+ýö^Õüì³×z:Í8Ì&ÕÙøÀÒè/^ÀëSù·ö\¸yðPaМ¶Æ~Z4sA³Wÿpùþþ Ô•íûS5-dØÞÓ&ÛgþqðÌþ%~¯²£]àåÆÓ%\ÍåØHêY™µ2õ’(¹}!¤AR`\©¿ ¤]J¦Y=MÀÚ‚‰`XÃb±Ã!åÏ{åu#´ÕIçcÔÖ=º•eÚÚÃãk1ZáÓ„m…ìÖÛ¤±i|÷n–Dâ¹XY[Žû-Õ$Óå•iv‰¿Ÿ¿vøŽÅø¡. ŸâžsôÂõC×apDp xà|OAù•qŠÖ2Ä»‹ (¹¨“¹Õ™LÇi]óו¦—‚ÀÕê?=ó éˆöÍçÃp\§Õ²Ù‚V«U«T4šÑC:UùÓeràwá>O¯Ôx –„ýÖÏ '΋*Žnþ~ÔûÃl´9Q§w'Pл&|W;zÞ_‡¯LáJõZ¡w7«ðås†o~í]Ûo–°QÜÿyõª;V'†[µñèƒsm¤Üòó?Š– f%ûrÍE-Õ nË¥~%–ûŒE=¿[õút‹ ï½ÚÏW™¯‘v÷f ,´¿ïÚwÓk’(û¯ï>wšÅ'ÿ›lK+KKÊ5é?}°]³~•ý×±+îð‚»>ùß-úÀo'92Ýæ,ê¾{íŠI˪>ˆèåÄ©ÊJLÕ…Íï̬=6×Ç"¦ó´·}½dÙü­ôõS}˜Ùg7¿ùSeØç } G†ô•·†|±è“)su-ìa®~œœ"÷zeb«ÃÆW \8ÏóÀæsí7¯íe®H>~³Ðh¤l±&™Nã^uØúéG)6³þ´g€¸ß§UŸ}”Èr0ÈÔX’Ípü—,ïqàýÙóÅ[VŒ (â.&ÊHCf¦´oÿ‹ÈûEúÀÖfá©Rí¿¡ØZ[0591þüý©dëÙG"ê:â¤,áF+`Š×/œö‡x{ûlÚøIM›Åb5ìJ³XlÇBCÃŒ¬J–Ýøùoöèß_V§Y Y4˜=kï¹¼isƒßÿáO–1b#ׯ¯ÿèCí’k&ûaý×~8|Ö§3ûÿ,ôž´ýøWCAkÿúÓz͇[g„¿%7‘ ^sú×7Â̱6ާ`ü›~Z¹xåú¿/öñúâyqëâÁà¶6Šê×b8Îýý"oýš¯>ùã š­Oïiwx…¾ÿ˺â7¿ü¹¥û€YóÞòÿø,.öÞ<Ï×¶ÍŸ{vê÷'Ã]BW.ë1eËÒY—‡o<ÞÛׂ5ÓDü7¬Hõe_KÃJ‘rlë—?‘ëmåÕÿ½C_δ§c`4óÀt™á¹i]fØœAõƒÜÀ5“¬[÷ÃÆÙ?•|©—Oï9aS›oŽm"z°9bCt)tí9kçåµ%t¦ëG® 6~øÍö…|¨2±õê4ÉïÕšújÔ¿ºdÊÞìïn~{ئy„MÜucÍx'cgôtÛÉ?]å}õáæ_VLø\Á¶róõḖ¯#´¼"ËgåÉ¿ÌÞ_³kŘ-U&}Æöó³(0’H Íc^u[÷rþH&ÝfÀDçw?(žÀk%w 1çþvLóîªísFl¤x!þ "C r½Ç†ñNœ¾S:×ÁºÅ~‡®8êìoßÝÌ~RZM‹oë4ó‹oÞ›T׈¨Š¨cq´ -M¯´ ]vàÀaC‡´iQ 35«;l>ý³î­N«Q?—û_4dÙ™=Vð÷FïèÛöÒ¥)®Ïõž\øuò™WÍ¢©üÆ¢ ©©ïEŸkÿ¦ÅG'¬àþøà×QÍ7teç/\lGà(ªJ&{~¹yÙù~{3æD0 Ö/ eêåÕý%§Ù™†,š)¸ý‡‡Ó7s;ºMòîÍ7Í'ꇂõ‹=ÿº³hÓíŒMœå×áŸ&Òè‹#Ÿ¼ò 539êäæy¯~_´ô“€í³èãª?Ƶ|YK4©ÇO•õzÿíà>ßùoCè$ʸ=?§9ÌÜã‰. ½Ð(eÎ߇6í¹‘V¦åÙøôšþãµwÆ5»3ª.±3²?KÐñ`Ëò]}å®’)@¿ëS;ƯAÎrþÂE4‚ Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5´ã¹æF«iåÅŒ5ïxlþrGäÅDé”*àpþî)J¯TQÿ…Œ ÈsÔŽx­Ój óó³²2Œ-€ã¸£““µ­D!¯zyCþã(mq|TéÝ'HÌìÔ@IiŠÞ|Äèå'Fyµï}»99Yƒ†§ÑhM¾R©T)ɉݺùÞ¹}+ ÈxúâW¢Ëë:ßÃ311K¤bnM’Úü{WXÁýÚýB#máÝËIÌ}…M×Ôæß»–Ä ÐͲi¶[FiK3㓞”Uëp¶¹}`w~ûÖïJwçj/¤ŸàÙo‹ªÎ‰¼‘kÙ+ÜËüÙŒ‚‘ŠÇ©EtI˜€‰A§TW=Œ%r‘¤ÝKy\-t61X8J/ËNJÌ*•k€ijíâ%êÜ#L×F”=¸q_ë5 ÔšùO’!«3oÞÎöèãmn°­hóï]g hú›&ª’¯G•;öêåÌÅÚÑðˆÊÄ[wË¥½{;òºêÎo_X$I²y°–UÊ>XQ^nηhK"LÛ.FêÔÊjEÙ“œÔè¼<‡À/º…‹¿nòïýÒÓ—'=È’ ÜýE<:…±»üH?Æzp™_ÍÝúʬ'*S'iÍoíWYùw¾8<ÌÝ´UM3w´çæææÊ¼- ´¢*#&¥ŒëÒ­§ÄŒA õÂÛSáÍ–ÄMœºù“fÿð%‘”ª¤ š)ömÿÏçHºùŠx, 5;Usûv‘…„]‘W"×á\‘ÔÓÝB™“‘•/ÓËÂÁÓÏCTS“”¦";9ýqi•JOçò…ROw)ŸÕ Ð%²ƒúÖ ÐéËâ¯E©½Û²0Ãm(}ÕãGÉ™%•*’ibiïáé,nv Ó¼Á¸šà¤º$ãQÚ“r¹šbòÌ­]<ÜlMèØÓ:iPá¶´Šæ»Œ¥1°¤uuÌÓñcŬ­({EQIeµŽb˜ÚxúxÛÕý(uI^5SìQ³³ ¼¦5¥Å§•ÊTÝÄÊÕÏËÁœ^?*̻ٸá…ú“oç¨ éæ…$LÐ}p ˆduA±šk#æâúâ¨k1e ëŽiîͧµ°×ZøªíMâkï) öðშ;·§NŸinnž›“”˜ upìÙ3 ŒtÀÛ’±)–'/WVܧŸIÑñ%|¿`׫•jœ†³ø6®V.\6®—¥&¤Æ0Ìût«=¶²…öž¶æP•f?J¹}OÝ«§{óî¥-Ž»— {yZ2u%bãîaÜ>n ÄÍ\{÷çF]Oã‡ûXÒ0Çôt®ÈÑ]Êã0ASž•ò(&×?ÈŽéËSoßÍg:¸ûz™³1­RËbámÚ PÚ’„[±Å<ïàn|©,{œXòôkR[ZBº{ø9ÓôZ:ÃHƒeçÙØòÒŸ(ÜÌÍq¢*¿‚ÀÉŠ|¹^lI ª Kõf.Vl¬á¡”ÔV”é\½»ÑõÙq‰‰I–ü@k&FéÊ’¢ã*E>=ûˆ¹˜¦ª(õ~¥ÖÀ>£4•Zº©ogu¶0á~’ÒÚÇ×Ë’:•RˤF·ïÞ×4ç^T¡08ÈÙœÁÂô•îÄóÝ}{ 9deVLbt»·¯€©*ª¤{ztwô:6çXšÐ2+*µ”Y£3^Œã2€{=†ô(f`”2çadRµÐ³[Ok.UU)ïÖ;Ȧ6Ôê*‹T®®R&¡f2JWU¦³ñèáÂÑ—¥>H}Y"ñp ç’eé1I‰áþ"è*’#£ó˜RŸàn Mifrâí{ƒ ²Õ6”êIlT )õíî˧)óS>ˆ¥õéáÔôÚ¬ÁPšÂ‡wbËL]ü‚Í0eQf|Ü]™6,ĉË6Páah—I íšêú-¶XLJWU¢ºzz²HynR|B’¹ XÊÁ€R—æ+èÂÚÞµ±‚€VÎ~lL™Ÿ˜˜Ëôv6©Û¸†‡¡}ùnÇV9ö²ca@cÖ„8²º°Pͱµâá@R[cÕÙw£2.N5û¥…â´VÒÖ›Ä3Бsƒªªªßî—UÊ®^¾„ãø°á#:©ë2Acâ@èˆF³ R,3K g.YY01ÀØB{‰ØÂÜÌ\ qñ°¢k*«´µ+â\¡H`Æåš ¤>þ®&Êœ´2]³‘Êü´"ºƒ¿‡Ä‚Çáñí=LUOªšœDa8Ža€ax èfÖövVB 33 ‘ƒ—£)¥(W’@iKÒótVݺ{I„|sK±ˆGkëV(U^F)èÖÝÕÖÒ„Ë3ˆù¬ÆKð윤V–B±Ÿ‰);ÆÛ™hŠ «I …å ©—^^('€P”êÍ%âfÇw®££…™©©¥“—W¨IJ]”–ö¾®Ö& §sÌÌy†OQHMµ&ÞÎêЫÔÎ1·47åqMù+±)ŒÆd±é8†ÓÙl6›ÍfÒ0 ÔEy„µ½À”Ã5·qó°Ð<®¬¯B3©‹½ÈÒRhmeBÇp&‡:•®ÙdR¬6K8­&wòœŒ º½¯¯“À”Ã1³ròóAIV^uý1cå"µòVV]#–ÀA"2ç™$Î6LàZ99ˆÌMxöζ^V¡!Òg<ј{vw³ásÙ< »n~®n6f\OèèfÇ’ç¨ žÊ6l0 ,È(¢D¾¾.V¦މÀ±›¿=C–•[E¬pûÌà’uZ-&Käìh+435åÛ¸8˜ÕµJ]R § lkO…ŒpsG7;±¥™™…µ‹»%V].×7ÙµFg±™tÃ,6›Íf3jZ(Y]\¨b[[sñúã8ªÇÉÕ–^¾¶5ãÅi½¤­5‰g¢Ý— ºÀ¥ çÙ·G­VñÛv™±„NC½QC`Ýù2n_.ÚÛI¥6B“ÚÈATe¥ç—ÉUjµZ­#Á„40Ûç…¬´ÂJ!f7Ù˜¢¬šR)"¯f×~@Q€³ôÍÓÀHiËs3s «”*µJ­%€Æ¥HU…‚2ñä7™nж­Ê2%ðì,Ú?!éÆÇV{‰­%—f8o¤²TNh+¢/Ö%HQ`¦%(£–Æ ¡%ŒOþ¯û†ÒÉ+5¸¹•i]Jƒ/6…¤ % †ç—ƒÑ˜4 êF1“AR@ªÊ«)®Ô²¾ÞqŽPÀL/•iH¡ñ9†Û<¥•U¨)yRäÅäºüSÀTh²MÕÕ`âdQÈ¥™Z™ã«:Šo°Ò ï²´TÌ&{ £1èU{k¥)}"§ ]Íé-¼ œÆ aúf7w4kx†ò©,,R±ÅÖÏHHEnÜ£jKß0[NÝP ÑâXèÛZRcMâ™hw¼&I²>dcҳᷡ7²^ tò¢*Àù–ÜFQc\CJ* óg?ø;ïìj†kŠb#ãb/¿î".OŽŒª0ž²ÁwHŠ÷0›§1 «;kj–ÀÓUi÷ïe3]¼½-8t¢èÞÕG5‹$EêI  Q kÛVj2ØÆ}I-;ÆKL=.VIE…¥ öá1¹6dr‘Ò/)Öš»ˆ˜miÔ@‘z’„6Üî„ÑY45-vª 0¶Ø;¼¯´´¨0ïIjTNšÈ³gw»ægö@‘p¤A!Òßâ ãÇ6ŠÐ@c ÿmñ '©B¬ÅŒ´yŠ¢³ôíéÛ 2`tVÇ.ì/£Ñ]Ö‚V‹ix-MY~Mènöôxi¨àmOµÕÃJQ’mmݨBVçÄf(…Þ¶OO Z(NÇJú¬µo<„FÃI’€€€îƒ‡³µµµàó.@QT;ÇF(miÚ£B=ÓÖÙ²y¿£q,%N>¡á=™•Y¹2Y~)ðô–ð¹L:Íø¦HUY™ãšÕ]”yZÛ8׌ ÊR9Vs¾Äf³ÙlÃP=4Ž¿ªâ×ÉÓYlÂbÐðúïp–…šÆû³m[ÁÙ|6T—TjÛ±[(;ÆÙ™© Ë K@dc‚Ý\b®/*.+(ÒZØ ÛÜÇ9|%Ë/o>¦ÐÆ4a¦ºái^›ª«vQº‰HâÒ'ÈŠ*ÉÎS€ŽE=MçðÙ *¯"™O«Íl!“•X<Ã…mô“Ã&æ,²ªHQ×» t•% àZ¶áÄ¢mpŽS––×7 R]Z¦¥™™³qÀpŒ"t„‘3äæmcòx4J^ªÆ6&zëûçò¹ (ª¬ß›„¢¸Š`™›Ö\ jRáÆwY³]Ó¦bGiJ d4K[óFÝ—æo£fa ;¤ª¸ š%nt¹ŸTd%¤)^>Ö †»Z(NÇJú̵cc†aNÔµ³€€îã&Lªÿ– Zã­'Hhªªd•²ò’¢¼ìŒ¸›7£s4îMî¡4¥Ù9y%•U ¥¼¼¤¸B LŒÉe•9+”ê겜G‰O^ #å…ÅåUÕ YinBlªœiã"db€3˜NVXXVZ*×Q@3µs0§Êb²‹+ªUeÅy¹EÊfm±v'6ø‰sØ Ì\$W«*‹2âÒeµŸ³­œExYRt|n±L©VÊ+eZ Ú¸ÜDâ`A•%>HË/“W+d¥¥ªv@ eǘ"{3UfÚc½¥µ  ¾™:÷QŽÖBjÙö[Cpž­‹˜*ŠM˯P¨Tò²R#njɷäUeuEjku©,ÈÉÉ/«”WWWUËõ‹S>˜\6¦.Î/“W+ªä0Ž£ˆ¦H½ŸQP^%—W<Η?#Uer’'07XÚ&ŸÑLœÌ´ã²Ë*µ¼8;.¾³v¶}f“Ó1–•³ C–“V S©«+ó’â2ªM]øtÏ’GUddUTÉ+Šó2³*jC“‘6t¾“WWÿ éII…\.+/|œW¢jýólœEP—Y,W©«Ër’bsu.ÒšAã¦nt—5ß5m*¦Q”¶aXfrZv\d*ÅâYX»úš‰XmÛ ÆµëÞ OMÊN¹—«ÃY|+ŸeôˆGk¡ì€1…>‘ ·±®m– ¾­9W)ô´lÏ…iŒeí¬ONΈ‹Î¢p¶¹9ÝH7犄¬ì’Rµ›™¡ g´ºôŠ‚Œ¬G*=8ËTàìiW3zȰt÷ŤÆFæ2Mm½ƒ}XL¶oZfrÖ“„éz‹gbníbÝtà©©*.Ö°EBcÓk¯„ó»‡1Ò’3ã#“u8ÛTàÐË¥ÅQþv‚náܤôÔ»¹j’Á勽ÃÝ$f4ÀM¥~^Џ´ø¨,œibae%âU(jÖ2ÜæfîÞ£';-5;ãa®ŽbpLÌ,¤–6­ŸŒclÛÀžxÚ£Œ„{é`šðmBÝlêfÏ4­p¡Ñ]Ötɧ¬Z(¦1”¶"¯· 0oØ. ÜÐĤ6ÀXÖ^Î…1Y÷of±ÌíBì*ó«™b¯áZ_žš%§Hy|䥸ÚL½ÂÃ9-§%mZp}uiI)ÍBOA‡vàÀaC‡´iQ 35«Sj>2\÷V§Õ¨[y,ÒEU)7î•9†õrj”Iù£Û‘…Ö½ú¸tä†Äg¥ÝŒ,‘ôuý/ä1ŠÒÄ\ÇüúZý£›ÙÛ¼=eîíYf!½}Úù<Šÿžó.¶ïù!U2YëË!/ R]Q¦Æ8†çôá&ööfYYYeR_QgßßMiKÒŸh-Ü$í›Ýüû0¦M÷!6ÿâö¸Ò^Ã¥ÿÞöž/Ô¼‘F(¬¸ X¦¨®–ç$ÜOSðì†GT0®­‡^ú¸²Õ«“Ï¥­È¯`ØyØtåGC H«þá#[ ¥©(ÌÊ,“kœÅ³°ös³1>FG·ð í‹3Ú0UáùÂXVý-Éf"C Š×H#¸‰£_/Ƕ.Ñÿ‘„Ñ(Z#/:4‚ Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5´ãéÅF«iåÅŒ5ïxlþrGAäjG¼Öiµcܹil:|Ô…¼êYä Ayª}ïÛ½wïîº ™LV“¯*++Oœ81qâÄo·}9|Ô# (ï.¹¿¼Ñgì‘GRö 0iWžW#<§™xnЍɀUvt¤÷{ŽÇcwôâµs@£ IDAT99"oïÐÀÍÁç¢7qÚ™“NAäïð‘ó±Ä{·½ÿ.uÌêÃn/¾4×¾/ ¡ÊŽŽô|[t8é—þÍ›…:fu!7D][êlø’ò"k߉ ˆæÁ:77wÆŒ™™™ŽŽŽ­¿ÈÏ~Þ/»§ÙÕm£[8sە䣺ÿNЈû+ÔEvÌ4dÕ®ïXÞl ‹îóˉú£/Ãqú湈ÿ#/!CW;>†ˆÆ2™lúôé999~øahhèÍëW -Õ×ÖËÏuŽ£˜öý&ØùŽfá7b¿šùißü“ ÕÕÕõŸ¬]»6;;{ÕªUo¼ñ“É$ôºdBqí5W¿¹ëWÏàç$ŠìºOÞx½”ÐfX>*ØÍZ(%î| #kW¢â¿šÞ»›½@ää7hÞ×× ´ÆR׿_øtzoo‰@èè7ü­½±U¤±%(UÊݽgîÏÔ]]—¾­U÷õqõ_ÉâÃ|WEW=ú¢‡ÐçѪÚÏå׿9‰ìfž¯¬½þZ}k‰»°ÿÎ,h_ø|Fÿ©PdëÙkÜÿ~ORÔæKŸ³«Ÿ´ïªÏî&Ý".UhŸ\Úòz_ÐλoÄ·ÉO¯èRꜳŸF p ÅŽ~}&mŠUAs¤<ñÀ;ã½¥"C÷Ás¾W²Ø½ËdžxØ D΃^ßz­PÛ`¬]>.À^$°ñ´tÿýèãŸLs‹„.}æíNPPº¬ïú8ô]öîŒ^î6¡[ŸYŸ_Ê7Öˆ²;ßÌä+ ìºõŸ÷í­2=hâ? Û[B&¬ ° „6“/VQeGGˆ¤³®)*Oy/&eŒuE‚›S´ê˜Õ¾Âð홺Ö3o¨9!H×ÖÎù|ö믿4èñãÇpóæÍ£GöîÝ{É’%€ãŸ¨Î¿rëóήS7.|Ç%ú‹îVÆ´ ž²jû‘ W.Ù:?ó~Ägꢑ0$bý¯Wîߨ¿:${ó¤Ao_*7ˆ)ÅGEâÍÚq)æþ±fÎãg¸—üu"U ÕqGÿV²4wÆ*@™xä²Üoæ({Qtba¿WwÉG|v&úÁå³,Î.0qgzÝ1‡R&ŸŒ·Ÿ÷Í‘Sû7ÍteQzvÉ ©Û‹ú®ýý潫û×Í ¶|šå„ͯDüP5ìÓÑQ·NîX*l~Ò¤NüjôÀw"ífm=|íÖéíïLëkÇPÅo5äH‡%?_:¼6}þ-½d‡>?‘§oº5¢ðÌg¿)_ùöËý¼¤ŽÝ'ðAXåÉÝ÷†rFir/ÿ©fåñŸg»±[\n;raxÕ‰_V蟜ý9ÎnÆTw0ÆÍô(:{:]ªÄc·,¬ŸÈ¼},Q ªäcªüg ·¥ë²n9£¶í§wGú9Ø{ xãÛݳ-£¿Ýù´glÞé²iƒÃ‡¿2Ì‘©Ëýcãqå oö~<9ÌËÉ­û€a¡Võ®+Í(KŸð0wg7ÿðãúIš6Éï~½3-èÓß¿Y8¢g7O¿ðáCý,hPù厧•?1»—›SÐ+k÷|Rþû–s…5}QÌ}úÂWzy»ùYþVw`.\>­›ïÈ·V†âi7Ò”u‰[ŽÛÛ×£[èèå»~]&}¼÷ëëåM6%ûû‹ï²{ñýòá¾Òn£Þýx$~í§«Å43±­Ø”†3ù6‰Db#`=mH8[`kkÉÂi&b[‰Db+6mX®Ö2o°9!H×Öîx±qãÆ¼¼¼áÇ'%%M›6ÍÑѱëÛÏûåü¥+—kþ»rt™gÓË—4'ô”2íÄÆE“Göïáëæ6þXèÕD³ÞMÜk¸ •v+KÝôuæõuù“<¬ml­mlm|DšÒb¥¶.}gÄâ¿\×;Ç“ƒµ¶:.¸pqîç¨*]Ή}ÜfOpbÃ~Ô,ï‚Sg2µ N9q5rê¸}‰ë§©Azò|eàìa64PeÞʯ1=,ëªß¤ÛÈÉOÛÕ73Àmx¡½Å Yñî í®ñžÁcßþúdl©q!mAt¼ÂaX›Fom~tbµ¨ïçº=@·ê=ԙ̸›Ûd’=α4¡é5úšzÇXf|&¡Ö:Ñl·¡½-5iñEMc£6÷VL•êÚ|»ššt|BNÊò«š`۪͙oÜœ¤Kk÷…vN«W¯Æ0láÂ… ¿ÕêZëÅ´ëz#Qt|þÐùI#¶îÜ7ÚKÌHú dL”á%) _?¡Õƒýâ#ÇÞp©ß$ƈ >†ó«k$÷ç¸ætß]ã­é­¬ŽñÃŒeÌØYÞËáÈþlŸ%c¤5KÐí†ÏòY÷ùœ%Ãþ¼ŒÝå&pš¦Zu6cëôÙŠ ÷ZÑjó Ðø¤cg)¡#jWiãù/=3ñþÙã‡Û=wÐgn ŽœÝÐ×¢Q žÐÈ5MŽR†lû©’¡•LÐèÍ«—Ô`ñʾskêgLbL¾˜ `h°½ žCæä¿®}ýk&“IÔõ²ƒ‚‚.@’d;ÆFZ¥xxðªvàgŸ½ÖÓAhÆaË,QrûBHƒ¤u­ú3Ó.Ð_‹Ñ %õl…lƒ ÑDÃ>?ð®õ™Åsv¦¨[_ðúTþ­=niÔ÷fÚzpJn^É®ûT_y)‹îÖË‘md3­R=:s¹Ä< §¤v ¹~?0lü¤xÅÝÈ ~ƒŠñè€Ñ4 kk¿#´¾{™Gÿ¼vÄk Ã0×ik!?þøcý·Z­¶J&£Ñ œ”ùÉq±õâs-L×` ,´wwí»™÷èÚž÷V(m0-"û¯cW¦¦Å]ßÿþ¬wnÑ.›äÈŒaÆ§Ë¢ŽŸ¾tùj|Á¾òÖ^Ò'Sæ~qüï‡IqwÎÚ{$®ÊÈ©1Æ xûׯú&4cý­JZ\å9c–Ý­Þú©"lî ÷íЬÏÈùníÏŠ<Ù¿Çô€üï)™ÝWˆ0§½=ˆ:·lþÖóñ¹ynü¸lþO•aËú6,·é‹ÃÈËËf­ýýï¸Ô”èKÇ.<®+Yµ{Û¾s‘SÒ“ï^8u#øbv“ž»EßeS­Ö½²àë“wÓòr“ï=x¢¦€¾|®Súæ×ÞÝ'=/çáÉ óWݱŠX5ܪ}qù£+"“s³.¿döö¢àÎðˆÌsGÿº|áÖ àÂÁ+¦Šòv¾±î÷«Ñ‰‰÷.Ýwðv) ¡»5•züè­äÔ„˜äòFBÇΕ¯ˆüýϘ´”¸øÇÊûíeAº’ö‡x{ûlÚøIM›Åb5ìJ³XlÇBCÃZIâñîYÃv?ý“=òHʾÆæ¾ÿ˺â7¿ü¹¥û€YóÞòÿølÝŠÖ!¢›#6DBמ³v^^;QBÓЕËzLÙ²tÖåá÷öµ°üÓUÞWnþeÅ„Ïl+7ïÀQŽ£šŽEÔcJ§ÿSÌÀ)³Þê~cÏ$ ½¥ÕޝÌóß°"iÔ—}-F \gßñõN Òæ®X7%zÍ’ÁGù®#×ÞÕ`îõ³É<‚t%؆ Ò¦E1ÌÔ̬öætªû@«ÓjÔ­<êA–™ÑcoôŽÓÐ^&º¬ïú÷ØÖýLÌöPt—*‚<_ç/\lßóCªd²ç—›.‡ÈÿóÛëœ1'‚_Î` È¿ öu˜6ýÐÎhÑÄY~¨k‰ È¿ÅëŽRÆíù9ÍaútO4!AzÐYGqƒ7'”tv&:ÃiÉ­Ò% yY þ5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×€â5‚ H×ÐŽç_k4­¦•3Ö¼ã±ùË‘—ž¶8µˆçjÏ3ÖC Ôéå|W[zc.‚ÑŽx­ÓjÆ<¸s'ÒØ4-$$tø¨1 yÕ³ÈòâÐçüöÚÀ-®DmëebpMü¦‘Ã.Ϻ~émw濜7é*Ú1BQÔ½{w×mظqó—ÿ{oÍÚĤã (ï.÷|פ^ua¢•¨÷÷Ù:ŵ×ìD#”µÔ=W\{ÍN4ü÷b²iöÊŽŽ°r]YýôO‘tÖ5E’z è2¶… ½ß‹VøNý`µ·¨Ï·Yºg·9ùÝ­›î;/\l8XË{Îò ŒmŸ^.{ ÷‚´MûƯ ‚`2Yƾe0ÿð\–í½èû]ïõ4}§Ä˜iȪ]ß-öîàÛÉâß‡ŠŸFÿÿ,ùå¶âñçžéù ÃqÚÖ]wä]qóC–\þ渼×[Ó]Zè:ÓíÆ-J]øölÑí"ÈË ¿I k=ŒêõD–2žqϱ:¾z#Lû~ìŸQZ/š¥ÿˆgµÈ’«{®S½w÷µØ;Àø=_Æ›¼çÌ“é Ð{E¤¹öõ¯YÌ–Æ™L&¡ÿG'ÑÇC4¹ç>ÞÛÓV,q ì?zt‡ð¯Ò´@]ÝþÖØnVB‘4hêæ›eÍ»dÇC¨ê”ë'ôt±±’xô8v¤·ýÈÚaCIUž+ò^MÊþë(Š=6§h›m@[põ‹×¹Y m<Â'­þ³@¯ËÜnå·¶n¼‡*?1Zl;óª@Ÿ³«Ÿ´ïªÏî&Ý".UTßœïáñéê©=„"ëþ[“µ@Êã÷.ä$Ùx„Oßxá‰Ô1«»{L^»vþÈî.Ö¡Ä{ÄêÓOtÕ7ç;;N½ !oÍt „"÷åQÊfÕ L;öþ¤>^v"½oŸiëÏd«ë›¨â3+F;‹E6aãWJ”׎D¨c?ôµê÷CŽÀX– Ö@ÆuÃù©zxò¡Þst¿öHN©sÎ~1 ÀE(;úõ™´)¶vTÆÄw´?=éÏûhHA iç|¾;Ï8Þ†Ô(’Ð7eèçI–_]=fÁyûwO&>ÉŠ9¹eªU•âiT.ˬöšóå¡‹çö.‘ÜÙ4ãýfª!}þ±7ÆþïaÈÆK©O2oúd8³RM¶”ÙŸc/­ó“‘»#ãbÆÿ¹¨é‰o?ï›#§öošéZ3J£+¾|Y=ðÃ_Îü±kE? ô›1ò£ôžkF=¸¶c’rçk»ÒµºÒ[Wø/ØvìêÕãŸôÊÙ½èçKInÍ‘‘ßõ¡CÐ×7ÆÅ>¼ñq§ñFuY?Mí·ðgúw<8»yŒvßì~sçëk¿f;X¾íôÝ;ç¶½jzúÍAwÔ1€Ú)>F³d ìB æGu5VmêkI«Ùª&aó+?T ûôpdÔ­“;ÖD„ k«3ñêãH$]IU·X•ò²ú×Ï;óv vØÑüc¯&ëóNn<¯ŸY7΃Rÿ`73ZbÝ·˜÷ÜUoŒãàºfìîÑQ÷‹t!fÆ6©MûeÓEëw"ßèÄçÀîRžÚBR=¶¶–,œf"¶•HxÍSÔ=>ºé4ãõ{?3ÅÀÓ  •S óþK—MëUŸšÀ}ÆŠ¹£íkw‚úÁ÷[îº|õÁ8:€Ó¢õ³ö úõdÖ‚%€9½òöÂñÎ pY9{çñý·ŸhGXXÛ 94œÚJ$НŽÿáëHóˆS;‡›€ý;?n‹ïþÚÖƒ™ãW:fæ=dX¯n§¥? zßöMôë߆qkË$ê8ÃYZéœo¨ÀP~´Åi% p0ê ^šQ–ÃÃÃüÝ-iàìæÿ4à K¨Ì-QSÀEÓú¤©=^ ^ùnï·†ÝÕê;ï¾òqÓñMö­tš÷ÿ\št›£ñD<\¯#ŒO)¡n晇Ø0Œ.ÒÖ¤ê¨ÓÿÎ`uÿØçY\­§/yp»@Ÿ°&Äþ£š.¡ÓSÂ<3Žó,¹8¡o=›dEâýBVà(¿ºI¸EÑ^°ìv–œš,ËõÌûñaL±.̱æ,Š¢¨²ÔŽ ´¸–õ¯y!+Þ4}ýxϳá3fÏ}mæa]sÀ˜¦¦L(®P‘´VF—M»ãµN§c0ŒF>­®µñkŽw÷ ¿†sLªÊ,hPÔd1R-Së)}î»i5`P¹ZO¶!¾µžT}’„V¯%U†'2tø^!BK£÷¶«ßö5«Ï ÝT̆æH¶¤æ¶¥æ… —“¢€Ðéëÿ ZÌ’ª¥hŒa&âAŽ\]ƒ1žÿÒC1ïŸ=~ø·Ýs}æ¶àÈÙ }-p 4UUZÌTÄEÁA hßø5“É$ˆ–~£$I¶eIëXÒžRÝýC‘íkàÎJœïé/(¿r"NÑŽHŠÑ4 ´zÃß²ì$úøSÑTãu˜4RY®ìà|4ºÀ˧K¸šË±‘Ô³2kyŽ$FcàÆòI³ð ibÎ%ÔÍA'+¢Ï¦€Koçæg-ÊG¢•\w1Ãj¶ñ,®ƒùaŠÝEP”\ÔðHޱl{LX²ùÈÝÛy¤îùêïÊšdt¥é¥ pµêà$LyÁµ#^c†á¸NÛ|ª€V«­’Éh´gÔ3bºÎ|o8uúYŸ¾•’›•pãü½Ò–ã Æ0ãÓeQÇO_º|5¾¢á²ÿ%Ë{”í™=ÿ«S÷Òs3^¹˜(kí0€qì\ùŠÈßÿŒIK‰‹¬l–Xî3õTy}úê_®ÆåäeÄÞKª €. UœÞüý¹ûñ#Ïü¸ewB»úÚ¦=—Îq®<>wÚêŸ/Þ‹O|píÄþ_.=iù„…!ö´&»›š›QÕ¸X¿…‹Ë÷Í{ó‡k)O'^øúegè£ß›êTs~D•ß?qöNbZòÝ3_/˜½+ßaöÒP3€†fÉp ÌSÚ7„_y¿¨v¾IeÔîmûÎE>LIO¾{áÔ<à;ˆÙ)K¸‘à ì†â5‚Ò¾ñooŸM?©éb³X¬†]i‹ãXhhØ3ÊÍzÜ÷§eï¯Ü¼lìv=Ë& ˜ßÚH‹ièÊe=¦lY:ëòðÇ{û˜>ý†é<÷·cšwWmŸ3b#Åsñ§Hµ’7pź)Ñk– >Êw¹þð®éÒ†ƒ@ ǹ¿_ä­_óÕ§3\A³õé=mã¯0óà÷øß“å_GŒØÈµñë?zàP»ä'®4Ûæš¿ÎIÖ­ûaãìŸÊ¾Ô˧÷œ°©-®Âr}Ãü+K׌ãÚ÷_ñÛef ‡šXn‹_¶øhÕ¶ù>(gØúöwðÚÛC­h$ÍÔËOyøí±‹Ò+¹ÿAžÚ´8¸öj(V¢b4KFjÀP~¸ÞcÃx'Nß)ë`ºÂ›;¶lN/ÓP¸¹c Û¯ïÉ *¢ŽÅÑ‚¶<ÓËòâÀ80lè6-Ša¦fuWý›?Ò©î­N«Q·òX¨öSÇ~ØsðÕQW—8µvÙ°UŠës½'~|æ hâ×÷ô×k‘×—»þ㺮!¿±(hjê{QççÚï ÅG'¬àþøà×Qh¿ H3ç/\lGÿš¢¨*™ìùå¦%Ú¼×òv.Ï €(S/?¨¶è/A3ÆŒ ´J-°L˜Ï®~LCÍ” ÜþÃÃ邹F–Ñ$ïÞ|Ó|Ò©~(X#ˆÿÝç_“±§]ˆJÎLþë»7§­Kv™ÿNóŽ¥¥/Ž<~òʃÔÌ䨓›ç½ú}QÐÒ7šÞ[‚¥Î8ºýX‘84@ô çz²}}ûõ⨧6*Ù=oê7´DåýsYN³¿9}7úÚî‰Õ¿¾1wo¶ˆ¢¯Ü.üÑÁ›±÷ŽoY4&PH²äôëás¯¸¾{ôazüñ·ø#F­¿_ýJ ÙR‘;R!m¡ˆ;ùC¦ú7}JC:zšdŸ¿UÔ jeWW˜óW·/.îžjÏx.j°±+¤!4‚ I§×‘Tû"YUP¤¾-Ôj ^ÃìF½>³ößÝœ×ú%âRBÅJ{-Aa6×.Ä—•ooßõÞ•”ª¹6¬ÌýëŽÑçýmmoS \Ý@«HÚóÁI³7¯ozÕŸ àôÚ'ïìòÛº;zµ¿ŸŽ¤€Òë´mûC«N¯kuöVH[UÅå:àÛ™4¯4ÊDb P”_¦ÒZ³@«#(Ðåþññå4Π÷Æ8Òu†+ùYiµBBñA: ŽãÕîqQŒeaÁ„”ôb-åeø)‹Ù¿ùË?"Ssž<~RXEA¨FOÖÞø\7<Œó,¹8¡Ó“¥J»–ÁÚàgÒ(+ÕI鳓ûZo¯9 'u:Š)©ÐSMjŸ–ï`ìX…´ƶà3 3·\GQM*MWñ¸ÀD@œ´ÅIDATl‚Su§KgïûI;dÖ‚‰Ÿ:]ø°§Yo?ìˆvÝÒ‰â5‚tœFëÈí!\ïQ¾pþÂÏ7Ëû ³hJt™;& |_9營vBd„ÛYƒàZ÷¯ÚÿQEé5: ¥Ô7ÊEèt$øl¸|h¢¸~Ø”Æñ(òéåÆöÇÕ–×é`…´×g”\º|,±:¬·áºÇç>û·zŠh5ñèÖã¿=óyA¿Uã^—Fþ6Û‰õìsT£]…Eã×Ò©¨öÃmÇ­™b);ºàÍßÒ•dÓoõÅ×6öźÉþv&l:4ê 7\²nóL»î}ìñ{å Ó¶C€-¤^HÀ¬$õ¬ùL (hšPû-G¨Ž'Ü"šÍèe£L ~XúÅ]ñôcUê¾·ÖÅâA‹^óbÕ}ÛsáoGÞ´9¿t̪‹%úç”-ŠjµB@ýkéLÕ¾]5ø7ÿ¶2mÜÖÅA±ÇæÍØ·›ÄŒ’å¥Ü‹ÖŽþømw)·ü¯ïÙ a%ÝòÞ-útö]ƒÔýÉtŸ¹$tÛÿfN²Ü¸zæOnÅCp7‹nsíúà­ ‹«>œîÌ­ÊLx¤ï1Áç yDú™?Î:úXxõïm×®®'EQz}ãžü³¨6ÀÅc¶îšôê–!¡ß\1ÀÓLubÇ—‡MGûÓ8sòó×Ý Om\4sâØ±3—~úÇ#ܔҒæ·ì{×ïáêA¾A?{èýæ'v}”¦l°~ž1EwœwøÊwÓY—ÖOïã<æÍ­Ç’ä$Åp]|üÆÎy61_ÏÙ¯×è…Ÿîÿ;SARÃiÚÿ¦ˆ#×Ïš·þT®¶ýy.Ò¸Õȯ®ÝÚýnHÅ© ó&ŽñÞÏço¿|wïLFã Öÿ›.™øýÉu?¿äXžîùä«í­;pàÀ°¡CþIƒC¤´ZíùsgÇŒŸ€ã/Q·I«Õ=üÇðáÃÍùÍ¿BÒ‚ó.¢ñé44:$ˆç8ùà?¨Åî$ª–¡x êùL_ûÏ¢Óé­D(T!-,ü\³‚ H˨—íqÏ:]Kwˆ  iŠ×Ò™¨—ìu…­BÒ¯¤3É*+ù|~gçâßÓêÐQ…´ÅkéP :]©T˜››wv^þ=ÅÅEææ|ƒ3@P…´ Åké8æìâu7*44L(á´Ö±z½žló³ÜZ¥ÓéžÙÈEµ:KhµšûQQ~~~t†Èƒ*¤U(^#Hç ÑèR©”$ɇ1d2™±¸ƒaƒÙ‘7›Ði4Z³^…a­ÎF`2;ò° ÇéŒÖÎë)ðó÷[Yq8¼æ_¢ iŠ×ÒiL¦‹‹³D"ÑëŸ]Ï®†ýçæ1cFgÐ[ˆM¨BZ†â5‚t&œFçvåw.>s¨BZðÝ÷‰ Ò¥¡x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5 x Ò5Ðàü…‹ A¤ÿ¡ : ‘)òŒIEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_calc.png0000664000175000017500000054405612142400477017777 0ustar balakinbalakin‰PNG  IHDRdÍi··ÙsBIT|dˆtEXtSoftwaregnome-screenshotï¿> IDATxœìÝu|çÚÆñ߬Ņb$8 A´¸»•CKR£”ºû©»½ÕS7ê¥-¥EŠ»»(Å-Hb$+3óþ±Ég“lB€ûû9{vG®}vvgöÞgžQȵcÇËÎ;ÇÙl¶Û€†@ „B!„B!DE¤êº¾×b±L¨_¿þ7mÛ¶µ( .¬’’òW\\\«¸¸8|||.nT!„B!„BˆJvðàAV­ZEŸ>}*u=6›Ã‡søðáM¾¾¾C‡ vÌtàÀïµk×Î2dH‚¯¯/º®£iZ¥B!„B!„¨EÁápTê: õêÕ#""¢õúõëgΚ5«ƒiãÆwÇÅŹŠ1B!„B!„W EQPUµJÖe6›‰ŒŒl™””t—Éf³‰•^1B!„B!„¸âTE™üÂÃÃ9zôèõ& Þ×׷ʪAB!„B!„ÕEUd @Sà§išœ®$„B!„Bˆ+NUdr˜)Æ!„B!„âŠt‘ 2¸ 2R”B!„B!Ä•æ¢d„B!„B!®4RB!„B!„¨bŠ¢¸uåéÜÁx‹¶´ÇJ\HAF!„å7hØpÚuîʹìì‹¥T••óB»Î]ùå·IE›=wí:wåÕ7ÞrÝ7á»ïi×¹«ëÖ¡[\=Œ‡‚9óæ—z 7wþÚuîJ÷>ýÈÎÉ)ðØñ'\Ë<‘œ\dÞUkÖЮsWF\ƒû !„ù(ŠâÊ¥¤›¢($$$вeK <@Ë–-IHHpkYyûaé!#„BˆŠQrÿ[ÝǤ«¤œŠâ\°bPŠ,7ï1”óÇ[y÷„ªªœIMeŪլXµš™sæðΛo`1›‹¬kúÌ™œËÎfá¢Å 8ÀõXdDíÚ¶aý†Ì[°›Æ\_`ÞÅK—¸æ©Ö¯•BQ…òŠ(¥±Ûí¨ªŠÁ` qãÆìÞ½›ôôtiܸ1ªªb·Û]½e.D 2B!„¨¼Ãˆê~‘€ÊÊ™I…—«ç{´ðccFâ®ÛÇàp8˜3o>o¼ýkÖ®cÒáúѦ?q"™õ6Ò21‘-[·ò×ÌY пÀò‡ä,ÈÌ_Àùæ×4¥Ë–ЯOïjý: !„Ã…N5r8Ìœ9“«¯¾ƒÁ@ll,IIIDGG»æŸ9s&aaa˜L&·Öé*ȸ~ÁB!Dµ‘“Ão¿OfáâÅ?~›ÝNí¨({èAÚ´nÅÄß&±dé2>LÖ¹s„‡‡Ñ¾m[î?ž  @ÚwíN»6mð÷÷cÛöXm6®jÛ†.:1{Þ<öîۇáÒ*1‘'{„š!!®ùZ4o†‚ž½{ññõ¡}ÛvÜ1~Q‘‘¥æÖu‹3ñ·ß8xè0áaaôïÛ‡±7ÝXâ1Gys¬^»Ž~þ™wíÆl6Ñ*1‘%Ë–óØCrݵ×xèÕ(¿â š¦aµZ]ÿЯ/^^^<þÔÓ|ûÃ\?jd_ØfÌž®ëÜ6öf¾ùþ6mÙBRÒQ¢£k»¦éѽ>>>ìÚ³‡ƒ‡Q¯n]þÞ¶Ô³giÞ¬Q‘‘RB!r)ŠâV£ÑˆÁ``úôé\}õÕFêׯÃá@UU¦OŸŽÁ`Àh4º½Ÿ•Ë^ !„ÕØK¯¾Æâ¥Ë¨BbB 2229xø0QQÎ/Õ{÷í#éØ1""Âñ²x±wÿ~þ˜:3©gyã•—\ËY¿q#¡¡¡ddd°pñ.^@X­Zdff²t¹³Å[¯½âšoÛö„Ô¨AlãÆ8xÙóæ±åï¿ùaÂW8'Ê=†È<ñÛäɼÿáǘÍfš7çÐáÃ|þÕ×dggs÷·—ø|Ë“sμù¼øêk Z`ͱ²jÍZÀ9Àž~¾kL‘œž¤ëÅ^ôü]gþûÝ»vÁÏÏŒÌLN¦¤8‹73fͦF´mÝšÉ'Ù¼e+Íšåêe`1›éÛ»ÓgÌdÞ‚…Ü>îV–,sž®4°ß2 6(„B\ Ü)È„……‘œœÌêÕ«éÑ£&“‰+V ( aaae:ÆS–„BˆjlÝgâÅçž¡sÇŽ®Þ%6› ]×yùùç0¨ªJŽÕʉ'qý ¬]·®Àr|||˜6yaµjñÏÎŒ¹åV¼½½™6yáaaìÙ»ëÆÜÀêµk‹ôœ?kƒ«ÕÊ>ƺõ˜9g£¯»®ØÌ6›O¿ø €Oþ÷>íÚ´!33“ᣮç×ß'sÃèQ;oYsž;wŽ7Þ~ƒÁÀןJ«ÄD>ýâK¾úæÛ2µõž½ûøð“OJ|ü©'¿`Ï ¹y¨¥iѵk³k÷n233]™›·püÄ ®yŠ¢Ð»GwÞzç]fΞÃíãnÅh4º–1xà@WAfü­cX²l¹s¾ž=Ë—_!„¸Låõq÷‹ÆÃáÀd2áp8èÔ©;wîäìÙ³eZ·ôB!ª±1£FòÕ7ßrÿÃR¿^]zõèÁˆk†ÀÂÅKøúÛï8xè6›Í5ß¹ììûv£ÑH`@ÙÙÙ4¨_/‹»ÝNP` ÙÙÙÔ‰‰&$¤gΤ’“ƒ··kÞììl×þÑ×]Ǻõص{kùz¡ž'‡ÁjµF½ºu9‘œŒ¢(´n™È¼ Ù¹kWµm[ìó-kÎÝ{öbµZiG³øxrr¯<¤æTéè%æ,,33“õ7•øZdçä¼TÊróþ­éÚ{ÈhšNòÉ“€³GPÞã3gÏœ¯÷ÚõëçdÊ©S¬Y·žNÚ»–‘Ø¢9‘IJbç¿ÿb49~âíÛµ#8(HŽù„BˆBÜí!LÓ¦Mç¾+V¬ cÇŽ š6mÊŽ;ÊT”1óטü¿¬!„¢z¸süm ПI“ÿ`ùªULøî{~þõ7^yá9b¢£yâég°XÌÜ}ûíDFFâïïÏcÿ}ÊU˜È/AÂ`4¢;ç š†ÉhÊ›°Ä<¦Üã‹ÙRâ4$ŸfÒä?3j$ѵ£3zŠ¢p&5Õ5oI½5.t_áûóŽTUåÏiÓhߤȼYYçðöö¦n &“‰gž|‚ˆˆðÓE×®ÍÙ´46mÞ @—N1›Ï_ ,9Ô¯‡ÉdâÀÁƒ,X´˜Þ={\pÞ¼œ…9G±ë)Mýúõ˜6c=ºu£aƒúì?p€?¦N i||‘ž:ùÿ¶Ùl,^º”·ßû€›Æ\ï*þÌ_¸›ÍƸ±·ðà½÷¸æ=w.›^²lÅJRSS v=6°¿Ü‚ÌB0›ÍtëÚEŽ÷„Bˆb(ŠrÁKUkš†Ãáp]M  aÆœ,3111 4k‡ÿ]×ùòÓùßGŸð÷ömü³ó_ÚµiÍngõšµåî!Sø¸Àb1³yËVBkÖdôu#¸ûÎ;@×]ãÔÞ>no½û§NŸÆßßMÓxøûiP¿>3gÏaÿìÝ·°°0êÆÄ i J‘u–7çÈ×Âáà¡CD„‡Áá#I®|T8§§Ž} ßý%ß|ÿ+V­ædî0ub¢éÖ¥ ãn¹¥àÕžr¥gdž‘Ùl&&:š6­[qÃèÑÔ«[Ç5Ðþøgç¿´LH *2²À)Sº®3dð@¦Í˜Á_³f1âšá®Á˜UUeèàlÙº€þ}{ËÕ•„Bˆb¸[1$$$΄ò‹ŠŠ",w þ•ºî‰'êýúõÃËË«Œ±…BQ™EÁl6c2™\_èu]Çn·c·Ûg1ÀËËËÕ5VUU×AEff&€«ø¿w…ŸŸŠ¢¸¦É_VVº®Ó¹go6¬ZÙlFÓ4TUu]á)ÉdrGhšFvv6@ì€ë´'«ÕŠÑhtÿ’·¾òæÌË`±X0 h凵¼Êô3yõÅèÙ½[©9=AQ, F£Ñõ|Kj/‹Å‚ÅRp ž¼iív{‰Á`À××UU‹Í›×Žš¦qîܹ™Íf×óÍÉÉ)×éXB!Äå.--;v”{Á„ª²ÿ~é!#„BTWº®cµZ±Z­%N£ªj‘/â…å?&OþGi÷³`RÚ¯Fù DùÙl¶W~ÊÏápÉUÞœV«ƒÑèʰoÿ~.^‚¢(Ä6nä:Æ))§'èºîö©bzMóSUµØvÉS\;æ)­ý…Báän™Ê !„B”ªº'L™>Ͼüš˜èht]çHRš¦ñŸ«‡R;*JNÕB!D©.zAF!„âRT+´­Ùµg7šª‘м9½{ö`Ôu#Üî‰"„Bˆ+S^1&¯§LU’2B!„(ÖÖõkç¹ÕÕù8¡_ŸÞ 4ÐõË–¦iØív_mJ!„—___‚ƒƒÑu½Lòz‚ôB!D±Òr/Û\ÝUæØ0B!„¸ü………qðàA‚ƒƒ]ƒóWé!#„B!„Bˆ+Vpp0aaaœ8q¼¼¼ªäô%àºì¤B!„B!Ä•Än·Cpp0»wïæìÙ³U²^9eI!„B!„W´ììl|||èܹs•¬ï—_~¡jG¬B!„B!„¨†ìv;©©©U¶>é!#„B!„BQÅœM½Ø9„B!„B!®Uw='!„B!„BHAF!„B!„¢ÊÉ2B!„B!„ULzÈ!„B!„BT1)È!„B!„BT1)È!„B!„BT1CF!„B!„¢ŠI!„B!„Bˆ*&!„B!„Bˆ*VþS–l»x»{Þ9Pô!¯þ¿°ãûì{¦#–gÕÂ{ [5ŽæcÒø|ç ¬hìòQÿÌ V±¥˜Ç?»’Å÷5À\ÜŒéó ¶/v2uH™KÇÑ|ô)ÞÛ>kj*•œº({ò*~üðS~˜±†]ÉYè~aÔkÔ’>£oãöQ]¨ë[¹u6ýôŸ mþ0Á?oç§^ÅL‘Ö|¯}ƒbõ"²`õÄøðÇylÞ›Dª-ÚñMi;üÞ¿¿%~•°Jg›=F­_ÿæÛîþ•°†J–û~ÿ"q2[?ï\¤Î­}˜ÖÖ2rÞ*^Nð¾àâôÓ24á)êNÞÄ'+£Å…B!„¢z3UtÁWÈO÷ÅaqÝ£`®fê~ƒ/z7$¬Âkñ$3ޘċm|óÝgÀ7*ÚíÆðŽ¿‹>Ï¡U€³“±èfšÞ˜ÅWÿVv±IçÜöϸiø+¬ðïÊ­wýÏ$Dáy”=ÛV3oò÷¬èÝ‘ºu.vǧêúÚö£L¾§/÷Îð¡ç¸q_ ©ºsö,Ñt]UkB!„BQÍÀyÊRynN%=žÍægZÑíöÙtò&/2íó߸‘î u hD«ÁóýÖ4Ôrf*õèÎ¥Ng;¹†/îL›ØÚ„Ç4§Óˆ×Ø êè¹Ï5cÉ8êEåS¬¸+–FcæcÓVqKl$á‘Ä?²Ž,çW99ï=~:Ù†W>¹‹Ä¥ôés¶ñÒUq {ùÆõhJTD$mŸ\Ï9û f??’ÎÍêIxí&t½å–¦8rçÍ`émñ4¿ñ)îÚ†z‘„7h˰Gäït5w@·qxæÛÜ1¨- ##‰ˆíÎø/·’®÷Úëè¶ã,~ï6ú^Õ„Ú14í6’gfÇ®ëèjÿLz–Q=[Ñ "’ÚqWÑgüöX=¿ ¨çÒÈFå\fö¶1•ômßsÿö4ŽŒ$ºi7nxsIVû¡¯èÓ•7öiù¨u"" ÀO‡¶ðR› ú>mûÓ´‰Ž$<"†ÑóÓÐNýÉÈܺ$ݶŸ{ÆÑÿéWyàÚÎ4‰‰$¼vSzÝ?‘ÝÙç38R7ñíCChÓ(š¨‰t4‚þMb¹qQºsš*l· ¾ßq½ÁÏç?½†Æ÷£eƒHÂë%ÒûŽOXuÊ~~*ò^tgÛ“›Üä&7¹ÉMnr“›Üä&·Kÿæ*È\4z&k_¸š±“ü¸ñ£9¬_=‰§âVñä˜gYrV»8‘2Öòâ á¼¼½)}5—UK&òæí]‰(vj_Ú½±ŒevÁDkÞ]²M7°èù–øx&Ü2’ÿKÌ'ËvshÇ|¾}¬=9gÏ·oU¶›‹®âp8йé‰Êö/ÿ»ö:>ÊÈ[ÓV³~ÆtÝ÷7Þ7…ãji+poÛB!„BˆK]…OY:1aõ&ä¿§.-ZÊã/<¯š<‹7ÉføÿÇø®ÎÁW¢ŸzŠŸ{ˆo6¼J¯>•1 K6³FÇ*°´åÓíÓ¸¦¦Î©ùïðÃÑ^Xõ7ÖsŽFÛ ôÑÆ X‹,KÁNd¨ƒFÍÈ(¢*k -›”SV|""ðs}á>Çê‡:3ü·d×d†zw2{ñ $æŽ53ä~îüOÓc£´yíóþÑ"žÀm¿Ñwú:’l} Λ0¦×ôiC¤âãšïs€«îý˜‰{Fðx Xhw÷£Œíé,6$Ôy‚IßeÙÎLË?>ØLá™fn™<§; Äåm :9ÉI#œÄŽíhÖÈõ‰óP³áÏÝ¿®¤Íä¯ùüËoxøÚy8´5#ïý/OëB¤ ‡mŸ¿ËúO±ê©«©cêßÉ 7üHÿŸ§sàö‡‰Š ÈlÀNTTÔùö ‹$Ìß„ÁLdTQ¹ï0½È9{ }îæÞ-§ûÅ>Ƚ_ÿÀó+‘sk”MŸòÑöV¼´òvÚGbÛ$î ¹ŠÛ-WÆ´ÑÄM+éÑHW¶´•ïóù¡N¼ýûô 5uyä¹ü4æ;–¤\ËèÒz.eÛ{"ÞRÊŒB!„BqéðÀ ¾ÿãÇ{ãÎ!5øÞÀ Å”/ ËÙ¿Œrΰzts¦s+º» ­R²Ñ¬„.F & †|ÛK¾sßЕ÷åí5‡‡M#[-¾}”àÎ<=ecVÏdê?óÁÍ=yµÍcLÿía|‹Nï9Fõà–W;Óµö:¿ò)Ó ã®h› æÎï1æ¯"¨å¥£; ™âš èö‘÷wޣſ6ù—§‘–ªÙ±k%o‡UÚn¹ÏÅKb«VE/{mÅ’ï9«6ÿ‡ =Cbþêb&¨– =Mwµ‹žï º½í !„B!Ä%!c©Ý’hްl‹Ð¨(¢\·Hjz_Œh^ÔnU/eÕ1÷¬PŒfŒhØ/Ü9¥Œ„÷{„1‘{xë¶WX˜\4Ÿ¦ê(c©/jö®©Ì=•ÀÓoÞN·µôõÂX´ÛJ!*'—Oa±ôhTöÑq¼£[åØÎŒMgK.°|©×ù:zo kþºÐ_ðÅ–¬2¯«|t”@B} ` ¡I#?ìÛ—rÄ'"ßvETxfÀˆÉª½ðë `4@³Sþ!OL„'Äá}p&s3&O~µÝJb&¢E g×±úlPÁö‹¬…_¾<®¯TlÛB!„BˆêªOn(ÈèW?u=Sþ˜WÝšwkC­˜ÿpŸ÷¹ïõ1Üi–ÛzÅœ“ÄÎ]4ùÏpZ^°RPvÎîÛÎßÁù»ðŠ¥a¨…ˆ÷2øõ;xéÖÿbyþ&:F+_=ƒ=ªN–h©G¸6_§®£I_²uiÞ ÀãÕ.%°Ï~ó$ÿ^û7vXÉ ÛndHûÆ„™ÓÙ¿n*Ÿ~¸“Ðëž Ü%UÌ5êRK›Ì÷Ñá¶FœZö=¯}²=°WÁ “×1wi º5öãôúŸyññ¥ú‘uLZ¶Ü–F£¹£Ý§<{ûÔxñ1Fw‹Å÷ì1¬uZ¬sbÑ·LIi@›fu¨i8ÅÖÙë9IMêÖðüicéËbÀ£{ˆëÕvMëfNgïÊ?øúÏ=Ô½u2ýj€ÚÝs f|Ê7óâ#×Ц¶‰S{þ!ɯ;#{ׯl ¦amÇæýÉâ¾Ôqبß”p‹™ÐÆè?LeÊê® ÉAjQƱ]‚»<Äø†yë–‡ñ{åzÇùqzýBØõÜe9ª´ÝÊÆ@hï¸®Ö |uÓ­X^¼—A-j¡ßÅ¿)‘ ÑPs A¦t6LŸÉ"k8á­ºÐ,8wöÒ¶=!„B!„¸LTà”¥óÿ)xÊÆù ÎŸŠ¡ãÝlöšËóÏŒgu‡‡ø¥SkB½"þù\|>|‰wz‚‘ogâÖˆø–ùïP ]÷lIÃù4¬~æZúz¬ñÓËXpoÌ¡ùhΗ¼ýÔÛ¼{ë/¤è¡4ë7˜vÑ>œ,t‰ª¼Ó8ÌnæÅq‹yø¹átó¡Ûßñ}þqu<È/á~~[ÖŠ?úŒ'¿É}Ÿf¡üˆjÑ•aïÎâþk6: $ßëcj8ž/ÞÞÏ}¯£ëg~Ôë8‚ÛêÊîï =·ÔÍüúê­¼ôo2ƨz?ö;ßÜÞ‘JîiZ®ç_°-Šž†££›ê0öÇYø½þ<¾9– O˜ˆlÖ‰‘/D\_È9ļÞãCéØ1Q³aGÆõ)Ä™=|ŠŠ!]¹ºíaþš3ù?d¢úGŸÀÈ7^æ‘1m Àù<|Ÿ`úôIl‘ IDAT(^}õkÞÿ=gÔ bâšÑé–öŒÐut‚èúôSô»í-níû5›\Ëû¿ÿ}B D{ž‡ÿº‡÷GõæÃ°–Ü2aÏ×Í×fù['ÿ)by¯˜®£{·àÑ_¿Cyòeþï–A~4éHy]i.ÅÌy.”½°êü\.&wÚ±Z´z–—üÂk¿¯çPšF`L ºÝý= ïêIí‹0¶mY¶¿jÑ~B!„BQÍ)'NÔ»wëz±s!„B!„B\–.[.cÈ!„B!„BT5CF!„B!„¢ŠI!„B!„Bˆ*f8x`ßÅÎ!„B!„BqÅ0$$¶"ùÄ výûgSS/v&!„— ƒÁ@`PqMšÝn/v:³Ù,û!!„BqÙ*|\|8鸳 “|â8oÝB›¶WY;£á 9“IqýŸ¸ÈE^‡êB^‹êãrx-r²³9xpoÙLBË–„Ô -vº+v?t)¹ ¶Gqù»>7ÅåO¶Sq)íÔó Cn™]ÿî¤MÛ«ˆ©[kN6Ž+d_à y®¢bdàkáÙNŠW³f(ñÍšqðÀ 2Wê~èRâ|IäuâR"û%!.=ò¾½¼å?.†Ü‚LzZQÑ1ääd£:5 BˆË‹ÅbÁl± ª%ï_d?$„B!.w…‹ š¦a6›å X!D¥Ñ´’ñ‘ýB!„¸RäËIúB!„B!„UL 2B!„B!„UL 2B!„B!„UL 2B!ª€\1@!„BˆüÇÅRBQÉ 2`¯B!„¸Â<.–‚ŒBˆJg0Ñué%#„B!®lù‹Må]ˆÍfÃaw ëšÇ‚å§ ˜M&Lf Š"y$ä‘<’Ç­<ºNvNÖ+š¦VJƒÑˆ—Å o·Ú§²H»—®Zµä‘<—YžÂª[>É#y$OååÉc·Ûù¬Vìv;šV9ùª wC¤]ʦ\™œìlŽ;ÊömÛ8sútyQ*ƒÁ@PPñM›R§N]||}%ä‘<’Gò\(®“‘‘NÒÑ£lß¶•”“)Ïc4 ©BB‹–Ä6i\œŠŒ´{éí^­ÚGòHžË,OuÏ'y$䩼<…ËÊâà¬]»†“'“QÕÊùQ¦2DDFº=­Ñh$$$„æÍ[Ð86Ž ‡H»¸¯Ì»ÝÆÑ£GÙ°~½úô%¦N]L¦rw´)–ÃáàÐ,^¼MÓhÔ¸1f³EòHÉ#y$O)y²srHJ:Êúµkh‘˜Hb‹D<Ý…EQrrrX»f5~Ô«_Gî/!UEÚ½ôv¯ní#y$Ïå”§ºç“<’GòT^žÂlV+ìgÉâE 4„è˜:Æóèz…N×Ö+8?Pjï”_&þÈ£ÿ×­å8<À‚ùsñó n½z%‡H»”í¸¸ì›íÛ¶Ñ«Oê7hXÖÙÝb2™hظ1›7m víÚ˜ƒJx£JÉ#y$äÀš“Ãöí[ižˆ¯¯F“ ƒÁóC…ù›ýiÕ¦-oÝL£ÆÝÜñxnüi÷ÒÛ½ºµä‘<—SžêžOòHÉSyyŠä³ÛY·v- ¡I|S|||ŠNQ”*8Ç»¼Çî7ŒF# 6¢—¦±uëf6jTÊCÒ.n,ÝõW™ 2º®söl*uêÖ/ë¬e„¦é8J¹2‡ä‘<’GòH'MÓ8sú -š{c21Mòÿ"áAf“»ÍFY~ °;<Ó“FÚ½ôv¯ní#y$Ïå”§°ê–OòHÉSyy Ó4“'“‰ˆˆÄßß¿JŠ žVÖÞ&A<‘vqOÞqq¹ú|išV°ÛQ%1(·CòHÉ#y$“ªªÎ_  Fc¥P4MwëLÙÊØK»—®ºµä‘<—SžÂª[>É#y$Oåå)LUU Ã%YtÈS¦ç¬àÖqˆ´K)“š¨B'áUö%Ló–ïîZ${ÓWÉãÞò%OéË—<¥/ߵ躺gα½Pž‹4¦oÑ•¼üKµÝ«Sû䟾²H÷–/yJ_~y×RÝòI÷¦¯,’ǽå_ªy.ųlÞ¼™1cÆ0qâDZµjUhúÜ?.Ý:‹[ª²]ÊuB•§Sº =/ÉS:ÉS:ÉS:ÉSºê–Çl6çw$•y»˜¤ÝKWÝÚGò”Nò”®ºå)¬ºå“<¥“<¥“ûöïåÎÛï®Ô<û÷ïãDòq·–N£†+5Oaº®óî»ï°mÛö÷·hÑœG}Ìc]KÊ3uêìÙ·Ç­e4oÆàAC+5ÀÛ³°twÙ.9Ü=¶*ÿ¹É¥åY°`kÖ¬)Óò®½öZâãã+œÇd6UMO‹¤,ŸkGN$óÃä?°äM¬6;·]?ŠÈКÏS]Ú½"Ÿû•¡´<'§¿Ê‰i¯¡;l,Þ˜kDáÛFãß¼o•æÉcµZY·a‡’’8u2€Ð°pêFGsUÛ«ðòòªÒ<ÉgÎ1aæv¶ìKádê9‚ý½©À°. éšP“ñüolßÏù‡kº5"À·|ÄîäÑU•é£Fñï”)Å>^¿W/FÌš…!÷}WÕm?]Xe¼ßŒFc¹/{©ä©h¾ªlŸ¼i+ãÒ½eÉSÒ4žÌu)í?ªEQ°Ùl;FÅä[lÞ¼™!C†ðܳÏ2vìX¾ûî;† ÌŒ3Î÷)Ãqˆ´‹{*Pr,zÀ9eÊþý÷_׿ív;ßû£ëü±üE™‰¿Lä…ŸãµWß(qäeUsw`¥b€Í‘øX,Ô «ADŽF÷¶­Èr¨üs<ƒMë–1aöú^ÕšàÀî­¢¢y ±çœbãäçÔåy=œ§$MëÌ‹f‘Õ£ÊòÌœõ·ßv3fNgÃÆõ´iÝÖõØáÃéÒ¹ Lùkþ3¢ÒòœH>A§Ž]Üš{åªå4lШô‰<Ð>«çL`Æ×O‘•™ŠŽ´ˆÑt였Áà|oišÎêÕóà/4|B~ç»´ës£Çóì?¸Ÿ'Ú­¹ßzûu RúDhŸ¥»S˜õH7—á4äxL¯W)yÖ¬YÃóÏ?_¦‘!þ ë¤œ=Ǥ%{yã§u<6º-}ÛÖaêŠ}|:u+×tkTtyÊ£«*ÓGŽÄ¼{7½ù&Jî%]×AUÑVNœÈŸW_ÍðéÓ1”ô ÷%½Ÿ¾p¾ò2™L8ŽJ{ýÊ«2ò”eÕüL&S•µOÞë΂ˆÛ™=˜'¯—HIëÎ+V”šÍÃí“¿]Êó¸§ò”µM‰™*ðþ¿Ø?RUˆ®£ëÎK@?ûÜs¼öÚ«ÜrË-Ü}÷]øúúðìsÏ1ã¯éÎéPU÷‹.Y•Ø.…y´ØŽ;8p š¦¡ª*oß‘#G°Z­€óEQUMÓ¸ñ†I;{–W^{™Ÿ©ØnMf³M-ÿ y6å‹ÍÇ¡8¡“íU £É̘þ=tü±‚qÏ~H=Ë™"óöï7þýx4O~ÙÙ©lý#‚ö×þÁÚ?®-×2<™§4c¯¿ƒÄËçÐ<²[•ä±Z­ìÙ·‹>}ú±rÕr×ýIGDfVÇ+užÊcµæ[ôÌë€âååíÖr*šGSLûâ1†´'ÉÖœ ©±Òlœ<™á*vjš†Á`ÄØäVÚï%Âx„??}ˆ¶½Ç (ÏP¬hž¼Ù´´³¥NìÖòªj{ί´…'óœ>}Ms~¨çï¹”¿Hm4 òHž¼®“yÅïZ†Ò¾E³bê<Ñ•: ƒžMrˆ{ûêÖîžxŸh+ŠÚ‘¹Î;ÅèƒoD4 ú•¬]ËØÿVOêÜ5¿¸’÷AžÊsøÈ!æ/\H·>Wc2›Ùz8› GÒP_‹‘f Ó ~=æ/œCßÞ½K-Êx"Ïãi¼òÃZ†öhJ`LŠ‚¿?o¢ƒéÕ*š“g³ùhÒz¦®ØËáäLŒF¥ØÁ´=‘GWU¦×Þ½ô3†cóæa=}ºÀ4–€ÚÂÊ©S™:|8ÿ™2¥Ø¢Ìå¶Ÿö„Ò¾Ä^¬|%eªí•_eä)üÜÇ… ÎãÎúò¯Êí§´¶p'ó•°ý\ ô|Å®¿¦OsÞ—ïõæ›oææ›ovÝg2™PÕêsRYª²]B€@¥çÈsúô)Ö­[ÃÞý{KœfÕê•®¿›Æ7»p2²fg¢k,&#SbyéÕwIMMeÏž‚§ טž}æFE'û\» ³Å½Rwå/,ìܹ³Øi*rê' ù߆"÷Íx°m1SVMÓØ½{wL~Š¢x¼­òv$Å6nZTâ|YøùùmÅh4àííE›Ö½œËÌ·¬êú«GNNï}ô õn¸‡Ä&þ䜃C«óÁ/?qΊóäðáÞw?áXl<>ûq÷™ZLYƯÂßß¿Bë/­Ý}¬‡P þØÌ5]Sg®BÑUNÿr‹¦f5 “ã,Ù^u‹.¿Ú½¸gw¿pxŽŽœóÿ´g£çœ´}øÕM$ö±?Øóö5Ôz^a +-…ÕfeƬYtí=”£i:É™9Dû2gößèÀuýš³þ`QA:vÀ¬9Óëm=}©°ß—ì%¾A8ÇRÒ™ºhV»/‹‰øº!tiY—öñD‡úñö}=™¼d·iÉ“Ÿ.®”ñ5‡ƒé#Fà}àÝÇŒ!yñb¬YYE¦³Ùí$¯ZE§AƒXþ×_L¿î:†MžìêISªÃ~º¢ªþ}'JSÒëQ–¢Lee(IUf+i}c;.nVÚýUE=»‘o^xŸm`ï/b:^Ã/=Ãèfåȵ2”±W¯'ŽC¤] *ûV™ûKnqœ;‡Ã5nŒÅb¡w¯Þ®º®c4]E›N;ñéç—¿ SJ/“Jíðz¤¦¦ìŽAIÃGwöYß´÷aþ&’Ïd°sß~"}rGqÒ+6Q)y `1Æ~æUL;W ytªªƒb`óêõìX0ˆ†'T»üYÜÈ“gï© ü¾å-[ÓiÔªuZ_J{ÌFo2lgØxd¦gŠ2næ>ì~4‘&qñ\3| ÍçìÙTbccQ0°oÿ>:´ïT¾ åÈÊC<{ŠNòdY!00]×h×®ha! «T½‚‡ä¥äÉÿÁ“¿˜pìØ1~ÿãwæ-˜—·Ïp³} ›’˜Š¹‡çÇ¡(Kž¸¸8€§0Ý}÷ÝÔ®]Û£ãý˜Ý¯!=ýt‰íßw£Ñ@ê™ ÒÓ³èЩ¹G²yT)í®ië2íØþÙFÃØ&äœËâ¦[Ç‘eu}Ä£+ðʸë¹këÔ¨úØìæ­^DZ«[Ž‚Œ»íî0Ó(é2}ãÉ lGˆ9SD{ÈI¥á™¯9åÕÿœÌÚ¾¨§Êœ#_ êu®ýòLtMÅPwóÍŽžs=õ°¦¢_Ž9¬ nÿIßÞNƒ'K.(V4φ¨Ý Ì$ͦQ„??ÎÚÊÏôà†×æ0¼W3ö¥äP»†Ñ X¿q=]:¹wÚLYóÌßp‡ªa1?8‘íë±ÿXŸOÿ›UᎫ©ìËMýšÎSÙËý¹RJži×\ƒï‘#t=š‹á ÃüöÛ¨~ˆ¶e Æ-|î9²^ä è2`ËgÎdú¨Q ›<Ù£yò«²ýtaz¿yìK¬‡ßÿÎu‰}å¹ÐóöXáãmŸ*ãFž²¬<­¤ý¿ãÄ r'(}¸ëÁ÷y:2ƒ•_¿Áãý74s'úU‹ •¥W¯k7H»¸¯Üƒú÷  ªª8jîÏw[¸hAÁ¦zöèu~Å9_±O¸ ƒ—Ça]ÓQ5¡Ï|[d¾µR±;TÞù} ïüîxsÆk·º®wV$SóØíçÎcN¿Œb0’ãƒI]€Ãn#=ý4>þõhÙ¾ §ïb÷’ÁÔn÷-‘-‹_QóäÙ”4—I[Þ SS? a8mKF?¹¼Èt+LreÞï7Ÿ:µ D<” ""’  `vïÞEtí:=šD`@ aaáœ:Býz hU‡Òß(ÌsêÔ©2Ÿ¢ãéí'Q3¿å+Wøw—N‹,³ØçWÁ<Åõ9tø »vï¦Eûä|qh,º•]ëþb㦠´nÕ¦äyðõ*ì×ñw0êã° (xð÷*ãó§ð4y=dú÷ïϯ¿þ À믿ιp»Û ¤û%ä«S¥f0ú€šŠwÚ&¢¶LB±&“áÛ «)¤Øu—ePß²¼OŠ›Î­y='lèSl½'Ú5¨¯)8Œðžc©Õ÷ôcËr‹2«ð®7³Ÿ?é[gPBÖ æ9x$‰æ-;°éPuBýù~Æ~xºÿùÅkàPu}Ll>”Ebݶm^Eç’ÖëöÉʶáe1qÛÐ6ü¾p=ZÅP3ЛšÞ´kÒ—Ykr×Ûsùðá¾èŠ˜P_œ2žÿÜß7g¼ñGgÏÆ–šŠqøp”À@ŒO> ÿ÷(6¯¾ŠW@z¿~œÞ²…ã[·Òeà@¾üòKçɯ*÷ÓåÉW³ÙŒÝn¿ðü•¸Ÿ,W.ä©HÆÊÚžÜ}=ìv;&“ »Ý^RÀ åq{»p7W%m?ù×W¦ÌU°=WöjEQ0W0ÒÓYñÊãüaÁ7óߣ˜sšþ½Û6¬o<ú#æÜMƒªí°S¬’ŽYJ›þB¤]ÊÆã§,Ùl6WA&ïWÃÁƒœ_‚ ¡Ôuo”Rê`å'¦khªÆ‡wuäÏW3vôpv8™±×ßÁÿôå[‹vS®hžüÂÄ_¢y³Œ¿íN~žøé?qœ‘#F»µ Oå©Y3Ô#§èx²}òtí|¾0¦ëšk{rGEòî!sìø1v-ØM\ÛìM÷¥]\-,&#;¤Ôt0sæÎ$<,‚ÚµKîõUí“ç‹ñ·sç—_`tµÛóx2ÏO?ýÄÝwßMll, 4à³Ï>Tbcc1Üë éN×VªêÌ;ï}Æc”í e/¿öµÃC .K×Q˰­U¥þ½{±{áÖÄu!@ÓÑ1<Þh‚ÌL#öëÆÀÜy|zý —ç‰vÏ“åß–à:Ñ(@ËÇ~tÇat_0\5uå¤[š”úÈí^ø—«â~ÉÊ_‰_8¨øû¤ÖÕÏRëêgÏ//ó Ç~ºÓ꟩ѲúÑÜ1gvÞóN,žPrA¦‚yN¥$^ß´½§©©j¨ºÎ ¯ÎáçgëSul›JF¶ƒ¬ýš×bIÊÉR—YáÏEá®a‰ôhÉÕkãç}þÐMÕtf¬>ÀZP/<€ÌFÃù‚ª§ó(ŠºŽ-5Õ¹¬o¾//¼úõÃûùç1) ¬‹qúwЀœÌLtU-ñHïJØO—&ï ¬»ª"_Þ{ß\UÝ^RÑ×ñ2̽õxp{NMMåõ×_gôèÑüú믄„„&Ž;Httæqž®;÷$Ev&v»ƒ_~‡œÜÁÖÑ/\Ó7ä»úÍùµè¨e8h­ ¥µûMmš°lér,‘ ÈÉLÃìå]`›Í<šÌ=á` k”z¥%O´»sZæã(!½@ÏržË§(€ű]×04ªKÈÕœñoÅ|…-K»—Ö>ù¿<÷e¢,_J<ù>0ú‡>âu¿?N7£çŽ-£§ïÇ+ªçö•~)yOä±;4vÍ SëF,Y»Ûu¿Í¡q<5›sV•@÷ ©Í3ÿáøzÿEçŸÖ³yÏIŽŸÉbéÆCÎ;ȶ–\ñèë¥ë¨Ÿ}†^³&–.]œ§plÙBÊ믣i: z)§ \ªûé²ä+IY¿üƒçßo…ó€{…˜ªÈSÉSž×J/Ê\Níî]Š›¦¤v½TÛ§Ž‚ÏÏqæ_öeÕ e›ðB_¶üâºRŸ·ÙqÜ Õ ðPæž Å<ß,íâ¦r?[»Ãަ¬Ùívìv;Y6xûÁâÇkP\ÿwžÍ¡ñôÇ ±Ù¬EÖQ‘›ˆÊJc‹Á‹I!Ýׇ¦¹Ót0Á—™„×aÅœ¿y®Ïtbk¶¯´×+¿ÈÈHæÍ¯¯>oB~ù&¿M*¶=Š[GEò¨ª#÷f'88ø‚¿¼>øótûØí¶b§íÒ©#š¦9~u´´4jÕ*X°²Ù¬è…Þxž|½âãã™·`ºo-êy¡j:9ç¸HÙ6•/Èqe)ižÊãü P|eûË»îâŽÏ4¼†w=^Yï¯<Š¢P£F æÎ›[Œqúüóo¸ï¾ûˆŠ:?°xE󨪳8®kšëRÂynºá/œ¦ATt4'ŽCÓT‚‚ÉHKE×4|üP RÏœv^R]Ð lƒÕaàÉÒÚÝ×ׇ©{XÚ¤5kþ˜A?‰íÜù^'RÏ’î_‹ØäÝôìÝÀ#Ûeií“1Ù[0Õî &_°t5ô,t=ÔãhÂÛz”&Ç^ä”÷U(¸/-K»»û9 ÅosUñ9[Ý¿ÙÇ÷å9@³ƒUÃàˆ==¥Ò>GBAl² IDATCk‘’–Eš>8e%+ÇŽÍq~]×±˜ ˜ õjys*-‹š¡a•ú¹6à‰é8r¯Ü  û?Z7®Å£[1~p\‘yTUÝÍVp{©Œ×ËØ¬ÞmÚ`2™0›Íxµj…O›6d®_¨6j’óG0Oï/æ~Ú|¥ñóó'++Ó­÷YþuTF??çØYYY™€{ï}Oå)Ëó¿Ð¼’§òóäm#…åmC%MSÙÇY%©¬÷WaZ¡«ëè9äàE€WѽÑ'Îq*«z\©Hu8˜2y’ÛÓ÷èíþ˜ŒÒ.î)WAÆ`08Ï“/ôeGUÕÜ ¨ŽQÍÒ.¸,£Q¡Q„Î^°—çîHØ%åçY¹W #,,ŒOï÷ááÏÇjW×?ž±Cúa0HOO'++‹€çÕ{*#—WM†aí_1´úëg}Vp"…¦î&íÄ÷xyÛ@/þ\LOä9•ŒbT¨y.ƒU³˜oM-2M³N®b̳½§Ö¹Òòä·ëõ784q"1ÇŽ±¿oŒ³ÎÖ>ýˆs=±O‚ë:¯Îcô‚W.…æ}ù8Ìù™_áí²”vpà®!ç4héèê!ÐUÐ3AMí,¨i ((ºŠQÏ.’ËÝvww»ÌSÞ±<ý>Ø}—sl°øæÚ’ šT;  ˜}Øu§óà?öó‚?hT4OLTGŽ$Ñ:6–ÓY*EÁd<ßæ&ƒ3º®Óª®/»vï&&*¢R?×TMgêÃç©Hs7æÿÙ;ïð(ª.¿³%›^I€IH¡†ÐEBï(½)v¬ØAP±+ Ѝ(EAPb¤#Hô^¶Ì|ì¦ïn6Éß}Ÿg³Ù™[~sæN;sï¹?n?Á´qmðt+þ&:3×Dr†ñomfý¬þ¸¹£ì =J‘^Īèh¼^//r·nEo00lásçrfÊÖ­#÷êUoos^§_‡nÌuÚQ}¶ðôô"33£Ü11œ}¼yZf«ÌÌ4G7B3cÈTVOffžöp[ûóV³OYdffàéiûzZ’ªÖåËSÑãßZÐa•Gdr5£ôKSV"Y¸êQ=æR2ܱPéée?߃°Ky¨˜CF­+Ýx̱c H€J’pÑ”mP“¬ ÈæôV@8ŽléÐétÔ­[·Ø²–MÛ±mn;À<ŵ^¯'''§TÞªÐcÖäCÃþçÙ½.¤À)Ó|¨ùa5'õ09™ç9{ð}µ½½Ñ Å”gû$]I=™y©xfŸgïÁ8~—½¹»ÅËD×êD¨_3îYQƒ­ÞAü¾ñ0/u[cÓã,=gæÍãÄk3hT»6aŠB¼‡;®>~\ÓjP!&Ëè—,eÃÒüÓO d}øIåõ(˜LFE&  Ì7o 6Âd2rðÐÁÂú¨ÇºCÆTà”¹tùR©Ò¢y­G’¤Roëåì$.fëñvÓâëå‚l ~y*)®2‰6¶ÃzŠ ‘AŠ σnàЂ2ªêø*J§Nˆ5ÏN&I—.]bÉ’%x{{ãááÁöíÛ‰ˆˆ¨´µFcIgyR)’'''w¯‚öߦÍÃ4%òòò ¦ï•óŒxŠåÛ"¢¨ R½®®'ŽÚýÝFñÌUŽ®_F§ÇŸC6”+³+ÍDïÃëh?å>ûÎ='Øà²G.{t§qî·x¤BqÕ#Ï¡(9 §€éH2JJ:yš ŽúN4Oƒ]R›ƒvwÔ>ŶÓeVÓ8ñ8ɧÅ×¹“€¿ …o[•kóá¿àÈÁñ®N?¯5oÞœåËWÆmážœ¼šÇ°M5ÃWoâî7¶ðàÍ9x:YVШªæ:dºx231¸µk‡ÎâŒI|ã ä¼<Ô@àèѸ5oNîgŸZlqâ8ÿ¾êÆ\§×W//o22Ò+þpé¤ã-_GA¹Àzœépp†žŒŒt<=½ lSööç­hkµAyìWUzJÕQž´0·F[úqZМ¶A™üöÇôS8¯BƱœ!”{ë¹–¿²*@A!×Ês°ÍôŽ:Ü„]¦â´¬<à™cȘ$ zƒŒZ²Ý®&…<ƒŒQ–É3˜ "h¯BAvôȰ¢ààÁƒ¥Æ-æOU—ÿIò‡T…ž|t:b†¤±û‡âoÄ]}šáêÓ OÿVÙÙ„&w¼‰¤äÚ*‹.4ÐI‚÷ïÆœU{Ù¼ï"Œ¦Qˆ/÷œG£R±|Ë)SÒй¨­žo+«§^l'vmÛFÛví¸øóÏ$MžL¶j²É„ 3†¤Í›¹²d ’FCý† ‰KHÀÅϯ ®‹7ð:퀾’x{ûžžV)ˆ3Ž·Êêp¦g;œaŸôô4¼¼¼Ë|ã]–+«ÇQŽêªŠóuѲíý¶•§ªô”GG…ô”…[c† æëÅsÙöàÇô °\ÓsO°äƒmÈmfÑ­V5™^\)¿*|ÿ'ìb• ;d%ÿO!&“ ½^$i¸œ’KF®£IÁ`ReYQ0É £ùZâbR*7ƒÑÁƒº´ž|ŒF#'OžÄ××///\]ÍoÕ\]]9wî7æßÿ¥qãÆ\¹r¥ UUé)J³Á©Yí[ªLk-Ô²9ÇÜBm^Äœ¡ÇE㊄D³Z]­–5³×/„úÆ8ôàRY=ÇßœE³òîMÛ§žâL›¶h<=Qµ‡'§/_!¢~Q«¾åÌìÙ4ùzq‹öè§ë©Pƒ¿÷î.VžµÍÝÝOOOîÿ²l"!1eË—8½ýXË'Ë&ÒÒÒ¸­Xdï =Ľ!;1)…g뉊jÈ;ïÍ*–ßd2pþïÕ´ê9†ãSÉ2ª¨í¡p áõͽ?>øèžœü¤•:œÓžÕÍšáÙ¬ž@~T–%‘õxø“ÑÝ5ÔjÝU¥'Ÿ† ›F:ÿ»iÓ¦ìÛ·Ï!‡ŒÃz(œ~¹ä½Åù¸³´hav®þsìMš4F£ÑpäÈZ¶hJ¥âàÁCh4š7o^ sß¿‹ÕmÖc°9“ËõÀÑó쳓&ÒéééÔÿ^5Ùœ%ñìÙ ÔŽ½Ç¹ç5;vÏÇ×pÉx y×׎äå¦\HMD9›JoÃi][ÚÑã˜ÝíÙ§è´À>>¾¥¦ .¹ÌÞ‡³¯‹®‘w6§PwÄŽÎÒã,GDUœ¯­Ù¡,ÛU¥ku”'mEÿÒ¸3åÆþ<Šûï4òÄÄ!´ñ¾À–¯ÞçëS­™þëHêÝø¸µ@þ½K9¶Ùb§ŠÝÿ »X£â+7œ*• Y–‘€”L=™¹F ÆÒ¢QKäGöU© 5KäàòèÉ/C–e<<ÜÑjµ¸¸vŽ2 (²eŠRÙ<ݵ\dltUè±Fô ”Reë³Îá[ç6R.6Úæ‰µ²z¶G“éð€¦º¼•˜Ú]‹­_<âšÃu9CáÚ5 ÞÞ„?ù$ÿ½ò*ZYÆ3*² lŸÖ­qOJâìK/Qÿõ×9¿h1†ÄÄ*±OHH!!!¿÷ØWªG•»»G±ß ,[±„ÀNo?Eó»k’S’©Y3˜š5ƒiР±å‚(óèÄG¸7ÄüP-)y­§KlºÄv)•vÓæMìÿe)`>ʯžžÖ¨ABb"á‘Ì;‡ÇŸäT=eaËc«ngê)Ä·$>>>„††:WåÆE‘¬éRÐh4äåå!¨Õj4 *•ªÀa¤RI€y¨’Z­.˜y®¤CæFSžv0ÿѱ<:û}z>ÿ6Òñƒ<9ÿMçŸ×ìÚ\MÉxçž"ɵiêjŸüWc ­­M¼®;¾¦SøåEëÞ ½ªt¯•ª:N*ÚæªJkd‚§üT蔩ÑÉ£ŽÅ󮑪ô¸ ®]‡‘#FpäÈvýµƒDËÔÖAÔªY‹áC‡óÒË/’šœ†—'ƒfñÒÅLuºÓõÈŠÌ[Kÿ"+;mûÎ2® }ÝhHýº~¤f¸š”‰^oÄÓMË¿et׈*±J«¥ï·ßðóˆ‘ì>tˆ¶;·s'9iiÅœ2*­–°FˆKIá¨JÅÐm¿á^«t¬›ù:툾||}ýHM-}¯Wî:œÔ¾uþvÖ}º³êwöù(55_RS‹ÇWtt:C- ¶°§ÍÙö±W—#º«ú¾¯Üu8ù¾FåÛ‰76®£á¬wXòö#ÌÎ "¦ãæÿö4ê»”]ÀõÂÊ3‚Ýä•ìE$ìRšŠÅ‘$dY.\PQ.¥˜oÜ·¹è°‡(++‡ ?· ŸXméðõõÅÇLJڵÍSJçY¦zÕëͳ…4lÔY–iب²,S«ví‚!NU¡ÇQ²’vá[·—Nï&´ÉC•:±ÚÓÓ¹þhÎçÆÑºu4Éç¶’[£-:‡•RÊÆztuëâ¡×צ- œ–eZÏ™SPv“÷Þeÿ¨ÑDnÜĹ ?#›Lh|m¿ ¬¬ž’èõt:Š¢àââ‚¢À‰'‰kñWY¶b mZ·¡u«¶No?Z;Hj²rM´ó=Λ¯M%ÇTúîp‚3YæYÅ|•KèÜcó„ýÛÖ-´nÕšV-ZW‰IRÑwÜL6/›ANÖàO¬]švùßÕÃþ÷ÏÂ<òƵg€qcïeÑ’Å…ÕWÁñÕ¡¾/fïµ²Fî³Z^»Ï*k?c;Ñ9¶“C嫺z´Z—ÂimäiÙÊü©V«1……!’JUP¯¤RqéÒãINI*¼ )ïÆ T2SÞv©V©øbæKÌxë]‚žÖöyµ$N´{¦ºN‰õ‰.1˜pµ¼ù3/ÏUù~VËqx{ËaŸä¤ÄRö°¶Ì*U|Ñ…·§Ö¤µ¼ßZ“Ö¢ oo_×u<¯E„‡3eÒ¾^ò5[·naÄð‘Ur^ëÑ2˜G4B‘e:EѾq výφ=ù}&iYzjø¸Ò8Ä—yOt N€{•Þ7¨4z¯XÁÆQ£Y°aƒÕ4Í¢´v-.ÞÞU®'ŸëuvTŸ@ Ç%Gp‚½œ¦ÅIzŠ><—»úëtŸžœ”X ³\ûÓ‰z’“Ì/³lÙ+}u9?:Dî¯bÕ8y•ÄÅÅ£©tLÒ›…¢Cs^|~*£ïCVV£FŽdÅÊ•|4{+–--H㨙„]§A}K{ypT\K©ò4ã[gEOçØÎtŽí\mô”¿z#lêp¶ž÷ºt W:K9õ;COЀþ èoW‡#iœ¥§(±wÄ{GlÙEUáþjÕm ­ºq¬Œ24]Ïö fOùø{ ÛYU_ÅÖà1j”[[u°OY”GOþEÄ<ð¨vmÛ²ûï¿+T»¶Åß&ßèi¯ Ùý•©Ï”+3ìnsn–@ÜŽ¾),Ý«Y»¬¨]D{B?J0QFþë}ÜÖ¯_Ÿ×^}­°È*8¯=;¢Xâ¨Uw4­ÉMkZ/ÆN}δJ«¥ß÷ß•]ÌuÒ×ù:]ªÐÒå&Ù˜ù°¢TÖ^ÕQOe¸ž÷éùZ«êúá¨[6s$ïÍ|_SíôÜB(ElÍò¥Ku÷ݼòê4|}}Y¹|9ÑÑÑi¬Q¿¹žv©T ™ëÑe½ä I¶zì#ôØGè±ÐcŸê¦'ÿÆ¥¤¢vmÚÒ®MÛ ×_ró‡~Þ(n»;Gí^Ýì#ôØGè±OuÓS’ê¦Oè±Ðc¡çÿ‰â¶ŽnÊŠåËxô±‰|úÉ<¢£›–²½Ápcïÿ®×Ï.•pÈT½§²<=özì#ôØGè±OuÔSôûVEØÝ>ÕÑ>Bm„ûT7=%©nú„û=özþP”Òήè¦MÙ¹}[ÁúÿG®§]*ìIKMÅ×××iB¬¡(2jµcqL„¡Gèz„3*•ŠŠÎHà(jÆa=U…°»}ª›}„¡çVÒS’ê¦Oèz„žªÓsKQîá`Êÿ‡®£]Êí‘­–œœl|||*T©£$Ä'àëëgw̼Ð#ô=BÐcÑ#I¸¸h‘ ¦]®:Ï€l2PÃúÌ)U°»}»W;û=BÏ-¤§$ÕMŸÐ#ô=U§§$’$¡ÓéÈHO¯BeUKy‡ƒ¥¤¤ààoÿ>DØ¥\”Û!£Õj `÷®]th5j © ã^ ›BL&“Íé¯P”Â馑0ôü½{Íbbк؞“\èz„¡Gè1£Ó¹Ù€¿þüƒ¦ÑÑè\\ŠÕa2™lêQÙÆLŠ¢”£ÖhpsuåÈ¡CtëÙ£ñúGÐv·o÷êf¡G蹕ôTw}BÐ#ôTž’h´Z¢›ÅðÛÖ-Õà¦ë=¢(`4‹ÙJ–M%îcddÙ„,ËìÞµ‹®Ý{ؽv)ÒòåËYŸÃ=ãî'#=Í¡L9ÙÙœ={–“'Ž“––Vp3©Õj‘JxÕj5šü`9`$tºÒ]­Ñ¢V« Ò†Õ¯OPÍšøû=BÐ#ô=èQ…Ë—/ñן”˜XpápqqA’ŠO©Vk̳ PˆVt:]©rµZT=’$ѪuÂÃ#ÈË˳«Ç¬I&))‰ûöÒ¥[«i~þiíM}ªnv¯nöz„ž[IOu×'ô=BOÕé)Š^¯G­Ñwî[~Ý̵«Wm;ª!µj×FSd(´J­.˜mJ¥Vã¢Ñšª$\\\PI*Z´lEýúõíÞ‡»Ø§è}qžQ©˜CÌQ„³³²1m{&ó)y3ê’$¡uqÁÓÓË¡üBÐ#ô=BV‹F£)3me†FŒŽÎŽPv/‹êf¡G蹕ôTw}BÐ#ôTžB]æë±N§CëâR®áNÕGîO¹v)«¼â™ õÕj]ðñu¼KWU#ôØGè±Ðc¡Ç>ÕMÑ`pø¢p3#ìnŸêf¡Ç>B}ª›ž’T7}B}„û=Ž¡Õš{JȲL^nî VS}v)7·»J @ à&D8d@ @ ®3Â!#@ @p@ @ ‚ëŒpÈ@ @ \gÊ=ËÒêï¾­ @ ¸IȲ‚Ñh¬òº@ 7EQpqq)—ƒERU̵"2@ ¸éeµZ]åõ¨$U±7"@ ‚ÿOEáâ… Vï U* *p¿(bÈথª%]S«´@ AuFQŽ:ÈÅ q„„Õ§~xD±õjµ†ŠÌû)zÈ”ƒŒCð`{ÐI yAŸç!.Ï~9>ž ÝbÀUI‚Ó¬PÓßB÷úæ|n!0q d•ñdó/<{´5ç“ZBœèm/n!ª"nŒ=ìÌz-@ ¸…Q…Ã’’DÃÆMHNJäì™ÓNy1(2bº ã:Ãâ\xÿ[X2޾ Ý_„L{ùá«EpÍú´*_©[¡ËHˆkË×ÀÝaþ½ðèìzß²ÃçA±~å«S n$Iªp\—Ÿö|ÅÄO»8W@ à–äðÁýd¤§Ñ­g"£кm;ÒÓÒ8wöLñ„r5²¤ ä¢ÅíuìSXŸ¯…ë™—5΀6ÂÏÂ=µ¬çÓFÀÞTóÛÕgÂû¬ÐË_„KáèWÐDôé<õ"¼Ò ¢´Ö³Ö)#A’á«ö°C_΂›‚òÅvÉÉËdÖª‡¸”ršS8–W’0É¢‹¡@ Áÿ+5kÕ¦yËÖS]«ÕjšÅ´@o(|ÐÖj5 !ã¬2ylè7©í_üðÁ÷´®9•öf5¸ãOè>ZîÓ‘¤éx„.ä‘/¯‘Q VáòÂÏ‘tKY¼îw†F¿…$MG]ëKÿ6…¢#‚äôË|ªéHºè<ù0›ßü)` ;³ ËË>q„§û|ŒŸj:’ôáÝ7ñÍé"7ÔúTVO]JC_³&Iû6‘±?³öª~'ؼ¸ ú×)\Üt„`ÅÓí€ IDAT>;¦‘*ÖÕ]I†oöB£±¥³,Ô ñÀaØïü:àVåÌÕ£Üûa+\=´<:hºÃù´Z-²ID@ ø¥Ví`dY.ö2O­Ñ Ó¹ü–$U…ÂÛeïó¾ƒÏ6M¢¥‡S-‰ÔU)¨ooÍÛúSÛÓÄÙßöñꃋȮ3‰Å}Ü 5ëOóÄsî¼õÅ#Ì0òû¬ozÏDßvÂT`Êà»q‹˜´ÁŸ sG14ÒÈî[¹gy*\ Áwam~ä×ú-xsyo¢]’Y=s3£bsñûç.zù+œ]°Šáïä0òaÌníŽ1!™}ÛHϵqÓŸ‡šwƒO–®„ÿ}pq¢)ó.Â9bZ@ÑŽ0MÁ بc+·@ òY·g!ŸošÆˆS/(•t‹tÝ@ Td¹üa}{Wª©Ë;K:30¸ˆ×âþþ,(š¦O8>bàGqÌîÝÿŒ'# `Âf·Æ iÝéýÙ·,Þ‘ÍÃaž˜Nâµ5Fº-ÍÇ÷z£zt®AVÓùÌJÍ/CÏ®7~åguSÖlÈÀ@sá=Û»q.b Ó¾ëB÷‡]9³#ùöþ¼ÿt4µTá ig»Œ žPt’UIþnp6L6šuL™z_®öO >ÃÉ ÁÍ‚$94åuþ¥kiçxtè+ä˜ÒùçÊvn ½Εة®ÅÒû{×dÍKqU¥Z @p‹"I£â\‡LÃt,> JN¹Äg/laÎç9žPdØPÃx®áŸß­DHßèÂ>&’›7‘ ›ãr0âAÆáÓ§O÷ð*tЏ0äNof-±üÎKaã–,‚!wöF‘LŠ‚"˘Pd…<ƒ EQ0ÉÅ—+À®]–»®*l¨ä)j|5Ž%ý +·ëÁ£<%IxÇDÒˆm¬ØšÉ¸1–aK¹I¬ù)½0™«?}»¹óÖÆ dÖiFk«ÝdŠ¢Â3´.#¦vçÀ×§Xx =V2Zè5˜ë.ÀáæÅÿ,‡óZx³uy¶Å1$Õ[§ž†¦:À?|4‡Ø ç×)7£Y).t˜Ö‹߯¡w¬žWŸjB›Úz1™½›O“8v_öƒµ#—ñEp†t $Ô_áü¯»˜΅νýqµQ“Ç`Иx'd¿~'áÅ÷ ü)XËŽpìß'2áâ!ó¢íßA¶;µƒná6fÇÒÀè7áõ0à^˜9®¬©‡`ÌOn'朿l„d#üu 0Âß@ bzCSŸ²í-Õ•J…¢P*æËSwÍeþÅ,Ü<ƒÎ·÷¤EHw$ü„L6Z•„VQc2)õ2’ È-tÊ@éò*:X @ (‹ª½ÓÔòÌwqöž_¸#h xøÑí¡.,~d+#~.gYj/†/Gück™öð2æj<¹ýn|ùð ^V»FÒ‚Uû]yóÙíÌ}øWõàV#€Ö=›òDc-’¤Þ©Y þbòÇd˜À½^=FÌǃ…=lÇŸñíÛVÀ#ÏÃØoÍØ&,‚wûaS'€ñ"L §Š,›<ÆüýÒax½™=Á@PýQ©Õ€õ ¾}[¥QÖL[9а°pº´Ë¿[HÒŸAV wð“È–^2&ƒù“OÉòE1Gþ@ œŒ“2:úmxÅÊ=«„{ãV|µ¿_[Þ¢HZ‰àûB¹¿DV·`>º8Š,Rù3iÙ&-³,0¥ñe—õ¸4ªKH‘B®á˜ñ}#fØPÛlÒ ¶NrtÛ ñn_î‚/Ë“ÉÄS|êoG‘ jlU¾l.Mà¤x€·:vfY jÌgþäýuY·q ýû S[ŸS¶£RKÌ[ü9Ù¹ÅòøyYuÈÈÂ##@ ¨n¢¾Ø2W×ï`ö :¶òÃ_Îà¯%Û˜ú»ã ' bÓ~ à&EQ°;-µNë΋C¾bã%|¹r:½{÷¦]­Ñädçòó«‰VÊ,í1Œ6?@ AE¹‰2ûläƒÙè‘ðmÎ+Fòz7WëqX@pË¢àØp¢Þ-ÆÐ0¸5¯}{7!õëÒ¡UWs~œ,Â#@ ¨*n*‡Lž=Ù|¼ç"‚ŒJ’e•Ê^D­BBñÉC;ùpý$¾ýq) 2@ ‚ËMäÀŒZ£A6™ÊÕ;R§qãù_°ùà2~=²E–ËÎ$2@ ‚*B8d@psbeÚkGèÙünz6¿Û¡¼F8e@ U‚c}½ÿ_Ȇ‰µA’J||a[fñ¤‡àÁö “@ò‚>ÏC\^ùªûû9sù.ý ½Äº •¿¾x€Œ"Ë’~‡Ñ-A#ʆ¾ ñ&Ǧü to‹!궆ÿ)‘Ès;ÂÜsŽ•™ÏÙÙ yÃÖ̲ӖDÉ€ÇÃà®U r¬xº6‹Ö°N0o·y}IN…>«Ë_¯=ݙ۠ù8(÷ædÂĴʺVR¡O 8˜km¥m¾ï R,$—W÷4ó…ygÍ¿åD˜6¢‚@•oߎ0÷O(Õ”*ØÊÒ]Ñ}–w¢}aÞ™Šé)IeŽ'²à¹³ ûm°²¾‚ûÛ™Ä}¾àECÖ~¸»{YNˆnÐfl¾|ã4ZP,Ó^WõÇ`0ÜèM@ Ü‚‡Œ‡Ââå°ÜòY±šº®7]†qaq.¼ÿ-,™ G߆î/:þ<®?ÎO+ëœQ>†Ó0¨;¬÷‚O¿‡/'Ào/Aÿ÷ ,çNú_ÛVdÁ“saá'pos¸fq¥ì‚¥{Š?›’aÉBHq`€6š6 4ÁsK`!0m€¹Ϋï@^+xc>|ù!49 ßïÿkÎc¼Ÿ¯‚Œ¢Ú °m!ü“åxÝÅtëaõçp&§Hά‡ÕŽ:<á©g`Ó p¨H9G–¶+Å“füŸÿFŠõ©MëƒÚAÈðÓ‹pµ?ÜfY” '3 ×˜ÿ5,xšÄÁ±0û¤9MeÛƒ5ÝÎØgºÆðJ{˜9ÒÊèå“YvŒ[™ã)ŸãŸÀœ‹¥—Wv; %^Ÿm_hËI/ï \óƒñ¯ÂW‹aö“± zw½Ù×Qœ¹p]2@ AU †,YÁ¯9Œ .6ÖûVgÁçkáÁzæe3 Í‡ðã³pO­2*0ÂòIpmŒÛ œ]~>Í‚ß]aÍ0°0ê\„Þ³`Çèéc#c¼œèÿl:ËòG “( lz>ï1™À7Ðõs ýÐVw ü3ÆÁ )J.|ú„=ÍÜÌ‹´õaÓ%(L6ö.è } Ï-pm´ù ÆùBªxŽ·…φ;^}1ݹ œ†>·Á˜Œ„¥)ðÖgŽ—Y8´› ïî€e½AR@2ÁK ñ#š ¦Á¢Ÿ`ìGŽ•Ùãk(Ù™É gá0røZ¢shÂ`ÅæâéÆß-—k`Òs•oÖtqÂ>SAï)7Ö½ cjÛH—êÃ¥¯á×;­'©ðñ”¿=`Ò0ê]Ø>¹È 'ìogqm=,φoû:óüûÖ;qXC‹B‹ë+±(i©©øúúViŠ"£V—Û³)@ ”‰“zÈäqªßL¦·ÝÅÉW³ æ ¦KÓy»Åjöý£/6+©’v™}¾b¶×t¦KÓy«ñr~û9ÃübݘÂîÓ™5òLÁ ç¼_V1KšÎ{/bî4®½z)¯k¿æÈ5o.•LŽ.}‘±=[Ñ ^êÔ £e¿ÇY°7Õú¨+ó ÏÚHl^Üýë.n: B °b_Ùe'n„çöÁûÓÁ§dDJ'”o&Vo÷nÐ¥†e™îŸ4XuÔNÖÃðÅ ñšÙ£X±š{X²føÃg‡`Á0ó/X2 üU dÃ¢Ç ÌÓ2ÌÁõ‚ßÓÌùKýÉþ‚$xa5< ®Hž0øH•‹k[£zÌT^Å1ÚÚÐ>’ÏÐÔ†—×À¯Ââ°{64ÿ v~Ñ^@:ôs6ïÂëCÌÎI …Ez®Óí CÞ†ƒßÃñOáÔF8~'Ü CÂÍÎîn2RóÛj.ÌjR4°ô.PÕ„ûZÁÚO-é$ˆ;÷AÌØ} gÖðrO³USûXtJ õ‡Ø'થіúslH5áÛ•Ð'ÊœÇ5^ÚT¼Æ™ïà Üc»}hüÀ¿í!ÿ>»îmcò#À=Cz‘ý[T·Ý}æK»ƒúv8_¢ ÉÞ§@ª¿YÆîù¶ƒ®jøtƒ•!VŽR‰ã 6N…}azGŠG¢u`¤í‡Çº¯Ê¼ÿ‚šÂË› ·)ç4<Ý«pˆaTOXyªÈ´Ð2ì™ ·ŽÇ nï)\¿éS ´/ÃÉá nàМÓU€¸hµäädWyø|}ýžÍI @ pçÞaîÝÊúÍAtßùÏžK;·£¬úñùÞ•Üxþìýë–ËDÍÁ=ë‡Ñ©e";ú-bÛ^=h¼éáCÞîÿHÎ0’´ñ"y@æö8Ò ×_ÆØ Š`ókÈÙ\5cÀ§ˆõtõ øï0èí”­dÀÌÇ!| ¶ö²¾2å·|¾šb~PR²áÀ%¨×ÆòàdÁ5Ä\БÓ6b–ñÃe ÙYèVTjóî=³ #J¬Ÿ“WCË h¡ƒÉÀú³fc~Æ }ß‚Í[áÇ/ap(d”‹á£ àû4œ‰‡?ހߦÂÔ? ןÝ— [¨ýrŒWáKz¸Èpìxð¨ Á-`Á˜³½¸A÷½´‡£py;ø®„®“ ÅÆƒgò^xúAø/ ü"à¿·à™…l2÷ÜYø1$}Ïÿf±Ë{ðÒAxm´t·¢‚ÛúBÖN8bqÒè¯ÀœÇaA6ûAÍ?à—áX`„#àÓðÒJØò+,M%ȵçrŒ‡ ïÂØ>‹…7‡ÁºËzìü´­ ±{éì²23 á?øâøÝ&7÷>*«=äóÁD¨7’³aÿ»°}ŒýƆ£ÄÞ>SAß)྾=[$O&Ì_ uî†v^–eÞpgSØûmÇX9©Ìñ± ÿ¦½µ­tL´»¿1;"{Ü_¥ÂKKáçáÕpí¼Ùvr<<Ô>8 /,‡õ+ Õ0º=¬¹fѰú?îcàÇ_aãðLÈÈv”«þ†ÆwZñ†lÈL‡ó{áåg ·<جܦtZ­–ððvïÚEµxd“\̉¢×ëÉË˳úÉÎÎ&##Ãú'=ä¤$’“’HJJæÚÕ«ìþëO4ˆBëb«Ï¤@ @P1œ;dÉ£>}v ¢†xÒáfì‰=Æ©s±Ôl¨"{ã¶íö¤Ýïcès‡ ˆêYÕñÙúÚÚ¯m„ïºèÞ?ÃÅk2µëdpaK5ˆÁ¸ò—“;à—ÆÙÙxv Å[kC‡:ˆÞÓ? w‘E»4"³Ó,üõ*CÆÖ±ZC ï„×ZBLdŸ„OfÀøÛ£0.0BB&xÏ!éÀß ÎÆÛ l,зÌϱ¥¨LùÁa¨åS¤+¥ R{š×d$˜ ²æ’KŽ3?ÿ( › ›ZÿËá©)à îƒó‹áÓLøþØÐøú‚ÉÏ@ãpb¸ö·oK¹wÝcÇ2ZÌ€éÍ-3xLš _~u2?ŸÜ „Bˆ«BLðÝÓ°×7÷¤É=Ï®‚g6CÙðÂíðm<ÿ¬kC-OÙªvðùSPG t€/>‚°ûá»iðP½õ¤Ãk/A“wà­ˆý6‹Ÿ„×"`vó¾ƒûÆ@ߥðò+3žm^¼¨àV K†ý× 6 Ö='{ÀŸ`Dw˜µ çÀ³Á÷S`Ç1¸}<=Ò²»ÃȲÍËäÅpOSóÿcÞ„¹KaÑ>ÜÈ…§ îc`ÅÃîIÐ!€¼ò eÍ_'‰Ï.ta½Šž:Å^rà O èÒ†ô€¶10mŒ|ÛÒÙ¢‚ÏÁÄY0ü;híŽã@¯7ŠÅ^õŸ…%Ï›7ºWÂSoé{̱.~‚Âñ.*ˆ ?YðÒ;Bî[pß«ðÀ]Щ%x9‡¡ËíEZ¥ 4ª IgÍÃŽÜŒp>Tàc«,öÍ‚{WÃÝ«àîºæÅ®ÍaýwæÿZ’zÇÀ'-?,ÁŠ€šEʼʰá_+o˜½Éüoæ6ó·:&-.’Fc>‡ï›ªZÁág(Õµ~à œIÂaè"‹s-Õ¼^rž/COtl“§Âs™0´´‰´áá+Š/t +ü©ö…zîpùйw‡*âRÀ·®õ3Côs°}4d\†µ³afOðÞÏDCxí!¿F÷E‚3IÐv0ð-ìO¦5‹×Wæ> _‡_€¶®°e¤5ƒ{•Øôz@$07è4è[Jvk¹»øP¬ÖŸÁ£œ[³®ÁwÏ™D¥Ž{Uû; Ö㠵85 úˆa…‹µa0.¦l„Ô ¨%ø_…G…gÇ@÷ŽP»HC4$AP×ÏJZ¿:¥A¿0:ÜÕvü^‹87ww¢DQ§NŒFC™Áw%ÉFÊ2òh]\ðôô*;±@ @PNœëqÑ¢.zÏ«R!¡ Ë “{).ïæs÷Ý¥ózÕFo) ‘‘Fv¯O$Ûÿ$Wµuèм6¹1F~ÝœB–á×ä z5ו.œ²•ç†<Á¦ú÷ñÊÜ™4ñÃMºÌ·ŒeEŽ¡\Q\¨†ðò‡1yÂÑ„â=U”„7†š{ŠXÅÅ<-xQŠÚW‘-½Ôk õºÁ€Ý ž_÷YÓt}Ðj]ðñC‰@ 7'×q–%ºZ.ÃèÛâ_òZ㊯; ò¡~¬[wž&®ÆôMb òvÃ8ÀŒ%g8Ÿy }X ukÚ“}d%›S1uÞtÆ…Z617“½à.v0ÊáÔA›XyÒdp·ÈÈ»q@LŒÙ™Lpòä˜ÀëÎC¨<¾涬`ù%‘Ü¡UøìoÈ¡0SNœFFÙŽ T3Æü&_.áP,†(4¢‹õúG¼mþ¤ž†?…Ǧ™cN¬\:½Ch –7Ó G.dàòÐõa¨ó,¬™b}Ø €o3èhc]rœ¹“Gþ²1Å`¶©o‰í.)-z”ܱÖã?AD}Øö¬ïw–H›ÿ`_»ä°-tìQºL—ºðÊ7ðŠ âöÂׯÁôáy&”_Ç’ÝáßN«i=¡C|é¦"=–l´‡|ΧÿqÙÜc$ÐÚðE°µÏ\ÀÄÖðʳ NSrz5œ’ o#Ûyì!ÇÃäû@ ;vÀ`Ü7âKô„I> :h\Î Ôڦ΂0Åx¶Â¸BÛ¸\"r´Rò¨L×`Í¿à¾å˜xãrsW3Œðó" ZY&ãú䮆ÇÞ÷¾ÐÛJO› G0Dzsâ°K'u0,ÜZüÀß0V3aË÷и,Mn0°\üö¤YY/Aó~ÀaX{®p±!‚F} §0ÏÇ¥ô|ft†„Ãfﯮ„ÇÎï &[Ùÿ){à BìœG@ ¸…X³f ^^^´k×îFK·×±‡Œ„Gÿtmÿ›c“ñêm4h憜˜Fâ®ÓœÓ´gÄû!¸ ¡kÑ€@Nq.΃Ö]}Pê¨H‚Õ»ø÷²Dè€@»½DÜõ¥•f*óæïàŽ©ñ<ÿ3³ÿ‚KØî4²Z¿wÝ ë@Î)øâCøÏ¾y´p$H“Ç`Иx'd¿~'áÅ÷ ü)XËFáÔmu‹.˃ßÍtæ-oÒAxöe¨y «[vÞR˜`Í$Xü8‚ƒà“/ ñpxb8,\Ø“ãè/ j-ˆU¡$ÃÈ~< :6~ýÎyBï¨ èÌG ]»À‹[༚XvÔó`ØzèÝ ÂkCîX=¶çÀÌ¡<á5òVˆ@˜ ÿ­‚);¡ÿRhT‰FQ»?ôvµWaìP²+Sür" r8JâÐñ”jž»áì—æéÚÚt-^N^9pÍVЭ½« ß[ж%ôé3Ÿ/8³ö‡ÂÇ@ĽpÏ;ðdÈ{b$Xòì €0s§ÃSgaXoˆ †´ðÊ6hø2¨@ýœ_ g¸åd©Àƒ`®/tku}àê!ørćê~púÛŠÛT ‚jÌ?üÀÊ•+Y»v-yyæv{öìaÞ¼yLœ8ñ«·×Ñ!¸Ñ~ó#x¾º™o¬fo²ŒäáIÛ£hþŒ_UÍz„‡Â•«Á4hdYêU“†1ðï_5ˆjãfôH|üÉ &¾|/m>3¡«Õš¡“ç0eÑ,°“Ï5:¸ÃŠ·!>pƒ6ƒ`í;pg‘Ž êÚ°h;<9ž» Ðë9X0ÃüœUYœV¾6ÒÜõ汉ðØHP|`Ðë0ÿéâqF¥úµ|6iá©ah ¸‡Á¤%ðÖ`‚ب º,[¾ Ù xGÀƒ‹à-[c…ħ=ôò€;á¾Qæ>^ú‹p ‡ÿ±wßáQ”]Ç¿3³»i$¡·¡…*„N(Ò‘.EPºÁÆãóŠ4Å X@EEФ ¨HèEz‘ÒCÊ–™÷-IHè–Àùx­›LvfNð2 ¿œûÜÃ_¸æ„Úpr-¼ÅŽ™ªÃà…xè×Î)P»L¹ï ãæä\è5º/„¶®™*;ÂW] Ó ðTx¢ p~X5ß…B·(ðhy˜ò1L:áüOW´L\®³lêVUz N¥G¡‚k^LžšPm|ó>œº øÁ#M`Ú;ð\åÛ»~¿™pùx|4ØrÂÓãá‹®·8é:”Üг,Ø ý£2~½_~šÍ³/ô¹¥ qõ‡fÛ`ïj(z7“Oë2´Î ç&úçïéb>.,†R]áË}ðÄu†áÞ3V ³ºÁÖ·î.ÀH+q-¯ƒvÁ°ò^º¨‹qž.ñ`×»‡¯m€¿ÿ€â÷6ƒÎvìÿ@ãrPi9|V÷毾ùêK:>Ùù†¯1 sçαyc<šd2£ˆùuÁ-ºßÈ÷E!„ÈÞ:Ä!Cˆ‰‰ñ„07¦gÏžôèÑÃó:Ú¶mËþýûÙºu+'Nô„3BˆìëÚŸgŽ[D§v-¸œháèºîz6H¶ÚÑu#ÃñÜÁ~ÄÆ®eÒ«mnx¯´?§Ø{Ü!#„7Ô~jT†/vÀ»‘¾®æ.ÙaöÈ7Zû:Œ°ÀKc`Âøs4Él›åû„‘ ;·À†¯`öUø¬wÆ0F? ï} Ý~‚pùrwS¦¢0æ9h?†/€ O¿X­Vì6;†qíîdÞ¡¨*f“ “ÙÂìš-„â>vèÐ!6oÞÌ”)Søí·ß ¤víÚôéÓ']“™-[¶PµjU  ¡ŒâŽÉßPDöc*?,†]ç6½÷÷ßoÂå‡ÂÂÆp›³’³LþvãšÝוܘõt¬ûýà©Oáù_£ÐgÔmpã]²„‹õÆÀº–2Þ¿ÿs%'%qüÄqvlßÎùsç¼~}UU ¥|… +N@à& !„È:ĦM›˜2e K—.¥^½zôïߟI“&Qºt雞oIIIlÞ¼™jÕª1hРΟ?ÏÛo¿Õå !@Ȉì)¬>„yó‚!°ø÷E¿+~Рî{#&¨ÙÚ»— ¬ gŒ›¿îvøU„}7¹¦)?´iáÝû>èÔœðX[_WqC6›•ãÇ·&ÍšS´X8&“w¿ÙívŽ:Ä￯@×uJGD`6{k ŸBˆ{eíÚµÄÅÅñ믿²|ùrêׯOÿþýùôÓOo)„IËáppéRêÒÚM›6Q®\9†NÅŠyâ‰'¼]¾â'ŒBˆlÅfµ±cûvš4kF‰’¥²ä&“‰RÎ]Ë6oŠ',, s¨2B‘!„xÈ8p€øøx¾øâ V­ZE£FèÛ·/S¦L¹«&­‚ fÚUóý÷ßóùçŸźuë¨\ù6w¡B<´î‹‰;63bÄv'ßÛsoÊ ck€¢@­¯œãJ< Ø?š–p~<  ˜ WoeU† ~ QEœçj9¡^o8hMÿš˜áP>Ôùš‚5aRÜ55!ÄCJ×u4Í[»¬]Ÿª¨†axyÉBˆ»¶jÕ*~øá6lHéÒ¥™2e ýúõcÿþýüþûïtéÒÅkaÌÍôë×qãÆŶmÛîÉ=…Ùß}Ð!c¸c3#GªTR…rþ÷êÜ›;ö=ŒÞ–ù,Ћ+¡Qðï ³ÆÃÉyðú³p%7Ìhsƒ¤Ë‹úC۩а/|V §`Ã.HH“¶l ­ß…6Ãá½G`Ň0¨1äØÏóîç)„ÙUV%îëK#„÷‡ýû÷ÇçŸÎüAõêÕ:t(Ó§O§dÉ’Yzo«õÆóûöí‹¢(žN™ÈÈ쾨"«eY cØm$c&à>ˆ|î„~þó4|޼zÍí0ë¿p¼<ìœü€Ö l…Wþ Ãsæ×½²zM…³`N×Ìÿÿ°qPxü0ríêÁžðöxzx9{BˆlÅÛC|oF6éBßÙ¿?6là³Ï>㯿þ¢yóæ <˜3fdy“ÖÖ­[Ù°a;v¼îk^zé%ªW¯Î/¿üB»v÷Ûæ Bˆû‰—–,¥°¸õh”šë˜û¿Ÿ©^`ªù3Fï´ƒ‘ÂÖ© y4ü]ejîOi?|/ÇlÎ3/ü<ƒ|]ÿÓ!çeJåXÚuþ]³–^M?¥` óxPøW¼4í4WŒ› `¸g;¯¶œD.uŠò.%›þÆûoa€ëßù¥à£ÇáÚ¦xã<üåz@„Ÿë :<lƒ5g®鵟Àépx»£3ŒÑ3ùµkÂX“ z8í ô©G½fi“B<„E¹í¹.ïÿô"ïÿôbU$„›þøã¾ûî;êÖ­KDDß|ó C† áàÁƒ,]º”'Ÿ|òž†1•+W¦V­Z7}ÝK/½D¿~ýxꩧزeË=¨L‘]y÷WŒñ+èRÉ¿ ¢j GA…#_ͦnŸÃ”îÕœ9OäâêºxÞ5‹G/<Ï– á„¶z’ãgQ=Zå‹-OÒ<Tÿ@Š˜ ï¿€Uúå¦P‡~ßÈÛ½¿&1lß´ ¸Á¹`?²…'kÌgy‰*Œ™Õ‚G,çùeôRžnL®óXîëÿ¾3eô ƒþ„R™lª‘r ëP¹ ¤m„ÉW‚MÇ Wf[2§ÀêXÖEÃc“á_ P]ó%ô¬àü-ìÙÔ Os®%«káh2TÍ>„½[Ÿí²pÃWì9¾ƒë§Ñ®Ö ·v EÁ¡Ë@_!„¸öíÛGll,ÿûßÿزe ­Zµâµ×^£jÕª”(‘õƒÜoÆÏÏïæ/r™8q"•+W&**ŠØØXªT©’…• !²+ï2¦"|8³!í »o’N=üz‹NÄL®La hU’G¬ŸQã£Ìúχå X3 R°x.J†¦^®ô m˜’öú-KRêèxÚ?„åÈx½s­üùîrb´ŠÌ[ÑžöùœáKó:.5á?5¢é‹¡:_°Ã7átgx½*(G3¾Ä‘W€|Áék9œ-g®\çÏÇGÎCb ¼R>œ e­0å5x¾äÝ móBÂY@ƒ<éOÏ‘H†‹Ò!#„·ìà©L^2Œžm£±9’˜3ŒŠÅjS²`Å›žk6›Ñ2AF!²ÊÞ½{‰åÓO?eÆ ´nÝšáÇS @êÔ©ãëòîJŸ>}P…ÚµkKÕªU}]’â>ãÝ@¦lêæK]e?u”UÇ¢þWšBžôÃLÅ.(öA‹þ¶ñ|Øõ[=ô Ç™üæ >™û»Ï¦ù eÙ3œ¶•#÷õNM¹À’W jVÆùR;a´%èòˆÎ ßþ%ñÅP‚39õ̯ðæ&øø[È¥€ã–?ù[ãp îýp vuY6( åkÀ»ó¡U//ßP!bI) Ñ‘ÇvçŠí,6G2 j6g茎|3d~9n~!„^µwï^Ö­[ǤI“ˆ§mÛ¶ü÷¿ÿ%22’âÅ‹ûº<¯êÝ»·gЯ„2Bˆky7 0MÛ‰#á*W°P.¯)Ý@DSÎraåì¥lâl¿Ä×OM§ÿ–p†~Й)‘!ä4ØùÞ·tùˆíF¿°´'sü\ýy&¡™­LòOÁ–Ùy‰ðî`È7 „ Àq ìWáÂ% uvÂg¯é„q$8—åÏ,éР@0N=Pê„ÀŠXHé9ò8—¤éJ8 øCNY®$„x˜)Ê-oyýÞœ>T(Iá|ÅØøO )Ž$ÂsU¤háb¼÷Ó‹Œê6+‹‹B°gÏÖ­[ÇÛo¿ÍÑ£GyüñÇ6l‘‘‘„‡‡ßü÷mÛ¶±yóæõÍL¯^½<23gΤK—.YT¡"»ñú6ió-8ˆ`¬œ>gÇÀâù˜ýâe.b¡tèõg çŽðÕJƳ:ñÞÓA®sS8™’i”’žæGÁ`ÈÙ¸ËGâš•?¨9BÒæ©’aóQØý.|÷𠆼Cá·ÓмWaÿf°¶w>rv‡s)Sõ"שËj”ŽeÜBU7@qýqä{Äø¬?= ¹^`ÀÍ@1(&[, !rŠ¢`7ž!ókÜtŽžßdz­¢Ùzâw4Ռɰ³îð<”éÂò¿±pÃW´­ùüõo”ÅÛj !ălÏž=¬]»–‰'²yóf:tèÀèÑ£)[¶,QQQ¾.ï¶•(QâŽÃ£^x¸¸8ºuëFDDÕªUóruBˆì(K÷ 5(Jã"“¿:À©N•\Ë–lü=gG´‚ /o4?WS Ü‘Ža·“bhäÉ™Ú]c\>É«­ä¾Cæç⟛VMyÉQÂ*Q=Ó6™L„À'¿Ã¿iVGé§¡owІÀg¡F (ðt è?ö½ ýÌDBƒü×¹¾ õ»aÙ?P¥ŒóðÕ°ö ”Ô¹µ úüoàƒÚ¬€ã$|¹Š€Ò!#„7tðÔN¾ˆy‹è.c8~y/†bÃb1‘œ@’ržmg—ѸnK>[ü&ŠÖºá<‡C†ú !Ä­Ú½{7ýõ'NdëÖ­tìØ‘Q£FQ©R¥lÓ s=ÁÁÁäÎûŽÏÿüóÏ©]»¶g¦LõêÕ½X";ÊÒ@†€‚D(ÅäÞóhÕ/‘·;åâjlá]ÇÀ;Í í³0º3œœC·B÷_¡¤™ë*Þ ^zÞh öP6¾ü/+ß¶s]?/Œ~ª¿ sCïJ°â#X®Áô—¡B<ìt‡Žªf\º””’À¾îÄ3-ú£+6í°øY@·s9á8–söCœ×Ñ0ª)o~Ó‰/o¼î<]÷ö41!„x°ìÞ½›?ÿü“>}úðÄOðî»ïR©R%Š+æãêî/Ï=÷\º™2ÊñpËÚ@•ðç;³Ö±”ï,ã‰/í3í†=Ãgo…{æ»øWŠâ³WÓ÷h0 ¨Ô’›jóÚÜÇ9Ômõò¯€ \4éÓˆo^ZIç˜Ô;d~n%‹UaÎ&Ƽ¾š‰/nå”òæ¡zóŠ .oÎÆÜ¦œM`Õ÷ðÒ Çlð+}¿†Z§†6™QrÂøÕÒÆôpΜ)Ûæ Ó¬£ª6)0d×;ð/YŽQ?—cÔ­}™ÒŠÁ¦Ì>1"ž†•Oßþ5ýK‡¿Á‡7z‘Zv>„B¤§ª*†A†2‹7~ÉKØä],f?*nŒñ§æq2e–EUh]ìU Ã@ס^\ü¼x‹â¿¦uõgÓ]ÏdÊâß[!D6²k×.þüóO&L˜À®]»èÒ¥ ~ø!<òE‹%Ož<|ôÑG4iÒ„+VФI_—ìU‡fß¾}^¹Ö³Ï>›®SFB!Nò“¦BˆlGÕ4 ãPße[¾cÿ±DOl€€?ôŸÅeû)Zf‹ŠjRÐÌ ŸLûÄ«IéÎmU­Gºë†‘q »B}˜9s&eÊ”‘& %&&réÒ¥{zϧžzŠÙ³gS·n]þúë/êÖ­{Oï/„ÈZÈ!„ÈVÀb6“””Hhhh–Þë왳äÌ™ë–vsBˆ¬´eË–.]Êøñã9{ö,+Vä»ï¾£L™2*TÈ×å=vïÞ;}ûîù}Ÿzê)æÌ™C½zõxã7øàƒîy Bˆ¬!ŒBˆlÅl6S²d)ÖÇÆR·N=òäÍ‹¢¦î·d³Ù®»”Éápàp82¿°axæÅ(ØmVâÖÇR©reÌ‹×?!„¸™Í›7{B˜sçÎñâ‹/òý÷ßKã#ÕªU£F÷ôž'OždÏž=¬\¹UUùðÃyüñÇ©W¯Þ=­C‘5$B‘­˜-Š…‡ãÐu6mŠçÒ¥Kè®í«Íf3Ê5Ý,š¦ar/;r5 ~~CÍdFÓTÏk+EF’¿@‚ƒC²îBˆ4~üñG6oÞÌŒ38þ<}ûöåÇ$""BB˜‡Ä‰'سg?þø#S§N¥P¡BDGG3cÆ ^ýuêׯÏüAýúõ}]ªâ.I #„"Û  $¢LaaaØí×ïˆqS冿Þ9f‹…9‚ï´L!„¸%›6mbÉ’%Œ?žóçÏÓ¦MæÌ™CDD ôuyâY¹r%?üðÓ¦M#,,Œèèh6nÜHdd$k×®%00¹sçòè£J(#Ä@!„Ù’Ùl!4§,%BdO7nô„0W®\¡_¿~Ì;—Ò¥KKó:}ú4ƒ¦wïÞlÞ¼™Ê•+_÷µ;vô„2kÖ¬áÑG½‡• !¼I!„B!îW_}•œ9s2a®^½Jÿþý™7o¥J•’&ˆ‹‹ã‘G¡cÇŽ^¿vرcÇ-¿¾cÇŽüòË/4hÐ@B!²1 d„B!„È"ñññ,^¼˜±cÇråÊêԩ (Uª ðuyâ6TªT‰Zµjùº :0oÞ<4hÀŒ3èÙ³§¯KBÜ&ÙÇS!„B/Š‹‹cĈäÊ•‹† ’À·ß~ 8—*ýý÷߯d3'OžäÔ©S·ÕÅâmyóæeÈ!鎵oßž>úˆçž{ŽÕ«Wû¨2!Ä’!„B!îÒ¢E‹X¿~=Ÿ|ò v»²xñbJ–,I8vìóæÍ£C‡ôêÕË—%‹›8yò${÷îeöìÙL™2Ã0øøãéÚµ+¥K—¾çõ”)S†2eÊd8þÚk¯Q¶lY5jĪU«hذá=¯Mqg¤CF!„Bˆ;°~ýz† FPPíÛ·Çf³±dÉxÿý÷©S§N†N˜ *°~ýz ÀÔ©S}T¹¸ž'N°jÕ*úõëGÑ¢EéÖ­%J” ..ŽV­ZѼysš7oÎþýû}]j:íÚµcÁ‚žPF‘=H‡ŒBˆlÉjµb·Ù1 =K®¯¨*f“ “ÙÂìš-„x@­_¿ž 0qâD ÄÊ•+©]»ö-_£J•*ÄÆÆ…aôéÓ'«Ê·hëÖ­|öÙgL›6B… eØr`×®]<ûì³”+WަM›²|ùr"""|XuzíÚµcáÂ…4nܘ•+WÒ¸qc_—$„¸ /2½s™{ ,ìqŽ_àë2„BÜ…ä¤$ŽŸ8ÎŽíÛ9îœ×¯¯ª*¡¡¡”¯PbÅ  ôú=„ÙGll¬'„QU•Áƒ³lÙ²Û a®U¥JÖ¯_ï e^|ñE/V,nWBBåÊ•cÓ¦M×Ýr:,,ŒB… ñâ‹/¢( M›6eÅŠ÷U(Ó¶m[~ýõWš4iÂøñãyùå—}]’â¤CF!D¶b³Y9~ü8ñqhÒ¬9E‹…c2y÷Û™ÝnçÈ¡Cüþû t]§tDf³Å«÷BÜ¿NŸ>ÍÁƒ™?>}ô¼òÊ+¬X±âŽwÙ)R¤cÆŒ!<<Üs,22’ØØXŽ9â­ÒŪW¯õêÕ»ákBCCÉ—/#FŒ@Qš4iŠ+2íâ+mÚ´aôèÑDGGS©R%š4iâë’„בM}ßlç™×Æ€Òeر£,ý|]—Bˆ{Ífµ±cûvš4kˆú¶ IDATF‰’¥²ä&“‰R®ßxnÞOXXæP d„x>}š0þ|&Mš„Åbáå—_fþüù´mÛÖ+÷xóÍ73‹ŒŒL·,FdÇGUUš4iB||< ôuIo½õÕªUó,­jÚ´©¯KBd"{2Îòjß8Ý5’e½‚  ”ü\,„%Ã0¸xñÅÂKdù½Br†¢ëv»=Ëï%„¸÷Ü!Ì/¿ü§Ÿ~Š¿¿?/¿ü2«V­¢fÍš¾.OdÆ £Aƒ÷UãÖºuk/^L³fÍ$”â>u2†N’UÁ|þ*‡“Ì4îF³ºš¯«Bácº®£iYÿý@UT ÃÀ0Œ,¿—âÞ8uê`úôéL›6\¹r1dÈÖ¬YC5|]ž¸;vŒƒf8~?o3ݪU+bbbh֬˖-£Y³f¾.I‘†—¶½6¸¸áÏÖZ†¿²EYHPáÕt{™d€Ëghã·:3SHÝ Cgï¿£äßÊÚDç5N|õŠ_,ÓÚKû KPÕEÔ|n5æÒ;ÙŽo.FQRძØ2+ÃvŠŸG¡Mí§ {œ°¢ÝhúÂ÷¬:ãðΧ)„â¾âK²ò qŒÙÛ©S§øóÏ?yå•W(^¼8:t xñâ|ÿý÷œ?žaÆI#nìòB6oøUõÒ_Ÿî¡–-[CóæÍ™5k–¯ËB¤á™+çy¥ÍæU,Ťùù)ågçŸçXsÉÁmG!Ö³ |McÔ”z|RVár²Š_Ÿ#´iz„ÈêñaM ÿ¼˜3=÷"{Ïå¡å þ  F»pˆEŸ}GÏ~¬øµ¥3=I!Dvãí!¾7#»^ ‘ýœ:uŠ}ûöñóÏ?óùçŸJtt4k×®¥Zµj¾.OdǾëCžÜ¹ È™‚‚ÀlfH‹ì97¡eË–Ìœ9“nݺ¡( ]»võuIB¼ÈØÎ\"îœÝß/Kï(W y‹‚ô¼£«™i÷y^yÌìùئYðC!$,’%oТTŽ7'”Ks *ª›ØÖàW~>ÐŽ¡å$‘Bˆ¢(Øíö.[JIIaCüŽ;Æ¿gN7‹¡VZøùÉdx!4'Oždß¾}¼ÿþû,]º”ÁøWv0¤FC‘ÔWÌzúj­‰™ÿ{§Ý1{ç­åXØã,y¿•\¡Žýð¦ÛŸc#„"[J±¦ðëâÅ<Ú´Ç/œNH¦`Î@–ÄlÞzìâ'S8T¥NÖ,^²€ÞÏ÷’åKBd'Nœ`ïÞ½ 4ˆ¿ÿþ› 0dÈâââ$„·ä¦&00 t Eǡڱ«šfC3ih&“ëYCÓTT“†ª©(ª‚âúm³¡dßÀ¾yóæ,[¶ŒæÍ›CË–-}]’%¯ W,*4/Σò ž½Ì¾K˜ÌÏ §w[±º_è°·2Ñ‹w6°%Ù! ˜ÏgåàĪ?ÙíÅ»!„ð1E¹îì˜øñ„•¬ª™c„ç böÒíÌü¿|û-˜½t;¹r˜9pÖª™"¥*·1îBˆ[uâÄ ~ÿýwúöíK±bÅèÑ£5kÖ$&&†ãÇóÚk¯I#nhTQ 4F×Ó0 Œ«†ó9ÙÀHÑ1¬:†MwvÈØ8lìV;¶+Öä’“’IJJ&)1‘Ä«‰$&ºI‰$%%1¹g!_Šw¬Y³f,_¾œV­ZñÞ{ïùº!J^éIÞ²‡¶¯$RïÉüTð'àÒ%¾v½l5ò(àLçÇý™ðùßLíI÷vÖ}¾ƒ7ã ñFJ7¯@ŽY1|¶¤>ï´ÊÅ¿üÄà{ëB!¤Û–ÚíðÑcr•Èð¢lß¼–z×™EÃõŽ !²Ì‰'ؽ{7?üðÓ¦M#,,Œèèh6nÜHdd¤¯ËÙÀ¨F*$VÀÝ c¸ºðCQPTç3*  è8T]3P5ÝÙ £)(ž®×û*(ªªë\>éš›Áߟ÷ág|çš6mÊÇÌ!CˆŒŒ¤uëÖ¾.Iˆ‡ŠWSþœÔ =÷oŸ`Ô94 Z–æ—I®¥CQcjðÑé-¼Y{ƒL~ÔêY–Ï^Oâ‰ÉÞ¨@!WÓþ|ý1o ~‰«FžŠu0¾7ÆsŸ{ë&B!îcÿž=M\9¸´ÿËoeÖ[é[°g s¾ßñíEÔŠ,ÎcäcÕÙ37¼¦Ã!CÈ„ÈjÇgÚ´iŒ7Ž„„Š-Jtt4›7o¦råʾ.Od#+¨pÕº¸³tp….Š++ºá|[s®VM c Üπ⺯âªÅp­n5îl[’ûIãÆ=¡ÌÂ… iÛ¶­¯Kâ—Íì„B<ŒTUÅ0ðÌ‘q?Š.ÌѣǨV<ˆ-ë—Ô¦Ƥª´nPž@3UÃ9zìE Ìp÷Ãd’ß[q·Ž;Æ„ hÓ¦ E‹¥oß¾T¯^mÛ¶qàÀ D¥J•ç|¨ùóç³jÕ*ìãÊ…¯ŒÌ£2*‡Ê¨ å’)*8T÷C×P Åý@CQ4PTCu®Gr(`WPì ŠgG ç\™ׯ³ËƆ à0Àa`8 »n70ì:ºÃ@× ‡î|Öu ]G7 tÃÀ0tÞïìï»?4/iܸ1¿ÿþ;íÚµcܸq¾.Gˆžü¤)„"ÛQ5 È8Ô722’Y³¾'¢dqj•ÌÁÞS)<Ù¬"OŠàÉæ`¥ó[Ðí6ölß@×ÎOg¸Ž›a©³„·ìرcìÚµ‹™3gòí·ßR¨P!ÚµkÇöíÛ©X±â Ï-^¼8óæÍ£S§N 4ˆ‰'Þ£ª…/Ì­¢$¹»N\0îgÅ9DWQ\o§éRQp}™v¶©`Šëk·a`3<]2Šê:©_Û ×CwŸ“f)’b8»hTœKšÜrV\÷5 çáB£F˜:u*½{÷¦L™2´k×Î×% ñÀòR SÝ;—¹Ž?îë„â²Éw·Îd—%³ÉLÓ¦MXµr1M›µáÑ2Aœ¸¤óbÇ*(@ E¥@°ŠÝfeé’…äÉ‹‘£GñRŸ‰ˆˆÈäº$2BÜ’cÇŽ±sçNfΜÉwß}G™2eˆŽŽæ?ÿùÏMC˜k/^œ_~ù…N:1pà@&Mš”EU _™WE±âìd1\Œë¡(®ŽEUQÓ<ÕyÜÍÝ©bè:º«sÅÐuÐ]ËZ¸Â\+¤qs')H;Ø“Íè®pFõl w`ïj\§ébá¿?Z³àOëÞêÕ«¥K—¦Q£FÌŸ?ŸÇÜ×% ñ@’%KB!²¥Ì–,†AXá0Ö¯Ïo‹ç±ÿ>òXy¤™Š…Ìäõ·rèà~Îÿ‘«W/Q8¬]ºtfÊÔÉìß¿?ÓëÙlöëvÐñ°;zô(cÆŒá™gžñìŒT¿~}vîÜÉž={èׯßm‡1náááÌ;—ØØX™'óYHeT•Q!j’‚bSQtUWQ UÑÐL&Lf3f³‹¿?æÈAŽà`r„„œæ‘#Gƒ‚Àâç‡ÙbÁd2¡™L¨šæ oTÕªî0Eq)}:sçÎ%((ˆ &0zôhÊ•+çëòÄ}ldEW7ŒUAq¸ºa€îêŠáš Õ3¬WÓ44͹DÉb±àïš“#GBCCÉ™+¹óä!WΜ˜BC!GðóÃÏá (!\çÏs60³ÙìYÊd¸‡üºëk»k¼®¸Âç—wųú5c—LºŽ™4Çw(©oJšL<¡L||<‹/f„ $&&2`À‚ƒƒ™5kO<ñ:uòu‰Bd{Þ]»y5ÏŒ³ñä¤nüöS3Ÿ‰çÙÆ1,¿àüòd\þ‡7|ÇÈu!ôÿª+‹ç4£Å•­¼TïG¦rf*¿Ö‰w«žaD÷?ٔƥx«{,'µbÆKÆ!„p2È8€7+6ÛƒÑr.Äõ9r„… Ò±cGÂÃÃ6lmÚ´áï¿ÿ&!!^½zI#®kd•Q¥T”+ JŠsi’bwuÄ** ªûECÕœ1šIÃdÒ0™Ìž®‹«3Æßߟ   BBBÈ™+yòä!_Þ¼˜ ‚"E <ЇˆˆˆÀT²$…Š£P¡BäÉ“‡ÐP±X,˜4š–þ(®í³1×®N¤,úuiºc<Í1þ W€ï~éèç³ßb„¸¸8FŒAîܹiР ,\¸Ã‡3vìX‚‚‚˜:u*O<ñ?ÿü³¯Ë"ÛóîW {¯ÌëÈå5 *ì,»œ·jH“>!œY°’IsòF|FW7ðXÝ@Ž–þ™ácOÒãÓ"øçç•™Íø¥ò2ºç£Kó˜x¦“¯JI³W«B‘9;Æ¥{Eˆ;±nÝ:öíÛÇÏ?ÿÌ‚ ¨V­ƒ âý÷ß§lÙ²¾.Od£*¨`SPݳat<Ý0pmWŒëkp¯¢¹fÆhhZj(ãdÜ‚ †\¹ o^ÈŸßùv` söKr2€¢ßf#99™ä¤$R’“±¦¤`·Ûq8¨ªŽaèÎeJªk—%×r%W>ã g Ò/M"ÓP=µÒÓ £@ÚA¿Ù­KføðáŒ;–²hÑ"J–,I2¼®råÊüùçŸÔ¯_Ÿ9sæðä“Oú Z! Þ d"*Ò¾”æy×R¼,]Ê-ãÅÿ’Ø'€Ý1§°«F—Š©ÉŠV¨½¢:¯þ‡ã¶"”6ƒ_…ÚÌüðoyõÚaæ±iíy¡„–Ù…B<¤.]¼HΜ9³ô†¡£iòýG<>ÌÖ­[™6m .¤D‰ >œ>úˆ2eÊøº<‘ ŒªêÜ)É3¤WOí2QtðD0 ®Æ¹]‘Jj £*®‡¦¡©®-®M&Ìff‹3”±X,˜=Ç[_!!3'äÎí| 1çó•+äº|™„+WH¼z•ä¤$lV+v»]w`ÎåLŠn€j`  ŠáÜÆÚÀÜJ(“¦cÆùÙ“ú†k`ðè>&†}iÏÚÿ0^2räHFŽyóõêÕ㯿þ¢^½zÊq¼È„šöçV“…C!éßd¬†N™ÈBδwULä-è®rŹj 0QªS$Õ^=ƆÐ2 é*Ó‡…BΟs-f3II‰„††fé½Îž9KΜ¹dË]‘m>|˜-[¶0uêT-ZDÍš58p cÇŽ•FÜ’QuTHÆ5Fq†1iCÃÕ£¸ºbgãéŠqmk­’&q-R5ÕÕ!£ar0žpÆ5 Wq¦; ª`2Å~~·ûksJ „†Bh(Á¡¡„\¼È•Ë—ILL$%%›Í†î°cè*ºª;ƒ"Ã5Œ7Ýú#Ò0™„/^{Í»Š;•qoým}­ºuë²víZêÖ­Ë«¯¾Êرc}]’ÙŽwsŽKW¸ä€"îPƞ‰KP΋¢œßö^æ¢=Í ;çN[!8ˆ`Ïy—øæ¥¥lÍKØå x'Š-c‹œÍÚþ„BxŸÙl¦dÉR¬¥nzäÉ›EMýa³Ù®»”Éápàp82¿pšy1 v›•¸õ±Tª\³E&˜‰ìcݺuœ:uŠ/¿ü’˜˜j׮̀øøã‰ˆˆðuy"Õ@…ìd: ×¸ºaPœ½0¨ivSR]Ý2®@Æ9IFAUg£¨hjšpFu¾¯iî!¿šgkkÃfC±ÙÀj›ÍÙÎ@Ælv†4î.š9 "00’,¬f3v› ‡â@UT ÅpõÅ8ÿf¬¯ç}Åp òͬKæÚãi¸þXRû*0º¿Æ°Ï®ó½'›)]º4fsêj‡:uê0uêTz÷îM­Zµèܹ³«"ûñn ³o ÈWët ½PŒ03€Îáó¸4ˆA«ŸgжÙ<2èg†uìÇÇõý²ÛRL!„^f¶X(ŽC×Ù´)žK—.¡»¶«6›Í(×t³hš†É½ìÈ3pQÁÏ/cÈ¢™Ìhšêym¥ÈHò(@ppHÖ}BBxÁ¡C‡Ø¼y3'NdÕªUT«V!C†0a aÄ-ÕHs0vPªs¶Š;„ñ,GºæY¹ægƒ‘&ˆQÒwÈ(®ðFUœg¨Šó¡dx8»M %%ÿÄD粤ÄDHJr0®¯ÿi;hüýýñ÷÷ÇÏÏϹüÉlÂf29—.):ª¢¸‚CÁ̸çǤ•i§Œ‘>ˆqN{ŽëpÚPæAñÇd8Ö«W/*V¬H:u0 ƒ.]ºø 2!²ÖÜ9?d8Ö¸Eû»¾®w-qÁôNUª(§™1tÛ TeÉ“!h(|¼1K~Åû­gcþ°&us\`Þ;K‰1J0ùÕB¶C›xaÐA F¿À;R§ãú”þÝWÒikK„>@_Ñ„BÜ‘€À@"ÊD†Ý~ýŽ7E¹ý`¶XÈ‘#øNË"K>žèèhNž>ž/¾ø‚U«VѨQ#zöìÉ—_~‰¢(Ô­[—bÅŠùºLqûâé‚èÝaàgñÇpèÝ5Ð gH`à hgP£¦¾Mš·õÚcΠƳÌIO³¼ÉHÛV“fΊg¢ÔÄÄèÎ Fwàp¤vÆØl6¬V+))ɘÍ&Ô‹Á¤9Ïw8ÀßÏyí”d°ÛœK˜ UQÐ4Õµs“†I3¡iªª¡ªt]÷,LRp§G©}.žá¼îÑ2i–r9ÛzÈÔ@š=°•t‹± F½®ñöGî²%·Úµk³páBÚ¶m‹ŸŸôuIBܵì±dI!„BÜ‘ÇçŸΚ5khÒ¤ ýúõcêÔ©”*UŠÅ‹KDD]ºtáÇ”PF¤³ìÿꑜœLJ²•àPì6v›‡ÝùÐítÝÀPu ÝÀp:®DÅ=öÜð„.FºÆÈ,”q‡î¹gÏd6–%íÛîÄÕ%ãÐhžî;v‡;ŒI!Ål”â T‚T.^MÝáj—D¦ IDATœ#£ªÎåK))žPÆÐ EASULªæÚ½Éùp8œ»A¥÷50ÒtídHY²ÿ~âââˆŽŽæÌ™34mÚ”2}útJ–,™é9S¦Lᥗ^¢sçÎÌž=[B™‡Ýª‘\¹r…+—/S´h1®$p5!ÄÄ$’“’HINÁfµãÐì84ºCÇa×1:º’¾kÆPœÅʤY¶d(ׄ1îgÃ9˜43e<® eÜÇp¯e2ÀuOÃ57ơ۱;4ìv;6›«-5Œq>TüU4ÕÙ cµ:Ç’“ÁjŰÛ1tÝyy÷VÚ®¡¾šIEÕUTCA×Ó ÷UR 5®ùÒ}׆17”º&Ìp]iä›&†¿g¿Ù‰„ZµjKTT†aн{w_—$Ä“%KB!„€ýû÷³aÃ>ûì3þúë/š7oÎСC©[·.QQQ·tÉ“'Ó·o_ž|òI~úé' e:k$%B¹r_¼@ð¹ó„œ?Ï…ó¸hñÃdºŒ¦ªhª «æ e쪇ݎª8p(: ::îgÝ5 %5‚pwË(i»eÒ>Cj“vùR†#ÍÓ®·Ý¡€¡®åJì;6» Í®¡Y­Î Ƥ9çÀhέ³ý ÃYœÍ &sêL™”»3XRTMAõ„1ª¦¡j*Š®¢ §뫤éÜqï¾ä)=}¸tK2îs¡ŒáÚÛxX†É¸Ô¬Y“ØØXÏ ß=zøº$!îˆ,YB!Ò°Z­Ømv ãî¿fFQUÌ&&³å¡ØCd­}ûö±aÃ>ýôSÖ­[G‹-2d3gΤD‰wtÍ/¾ø‚þýûóÄOðÓO?îåªÅýe˜â€ !à€ÉDÀápðÿì½y¼U•öÿ¬]çÜ{s3aHÈ@0Ì’ ZZ@†ÈÐ2#C«Èë@3„Iû×b·-B|‡ø*¶N¯‚aÌDiD Òˆ‚ îxNUíõþ±÷Ú{Ws3ÀM.7ÙO>•š«víª û{ŸµVš¦Ðy0 HAP/FäÁð ÍÊ@Þ×&–ľšû†2ÍJB‡å­ÃJFd„˜±ÛŒCF!ÉR¤©ò0&MÔ(e®Ç¬Ñ&%¯[ªæ>Yd)rÎ Q°PF!©˜IUTn]2 °–$ÄÀ8ç|rß´HrÙÖC&X&˜ëÚgmšðw@qÊ|èCè&EE½mLTTTTÔ SoO^úëKxêÉ'ñÆë¯÷ûõ•R9r$öž2cÇîŽ!ííý~¨­_üãqï½÷âꫯƺuëpÌ1Çà“Ÿü$ößÿ7aÚÚÚ0nܸ¶/ù˸ä’Kðâ‹/F ³5jÝO€; `;Ca€ ¨ÁüW>†ö˜\*­-hk‚ö¡CmRÜÌU,2SÊ5T¢LÅ`6ùT˜lØŽ Ü1ºFl›5BëþhV}¨l‡ŒÅI³¶9d’ø`<úè£8ôÐCñøããæ›oè&EE½-LTTTTÔ RšÖñÒK/aùãaîQïÆncwG¥Ò¿ÿœeY†ž÷ß´ÖØcÒ$T«-ýz¨­S+W®Ä²e˰páB<öØcø‡ø|ô£ŹçžÛS6UsçÎÅܹs¶/\¸ð-]7êm¦ÅŸ¶l·™P±S‹*0Ô#…âg¦ì3T«¨¶TQm© R­ ©T „P ¤” ßI:'Vl2^ ÃiÄØ¢|þ‚ _8ƒÆòÏS† .Ò —8¸à±44r#Ó9Tn–êY*5í'e,ZkäÕ ¹ÎÑÆ9*Õ ˆÌßß™Îsn‚Ž,d1`ÆB™DrÓ'ÄÚ•çöaKˆÍ¶"³ ¢øPÍJcÛ¾"Ò R&T .Ÿ¿è ƒÂ]wÝ…3Î8tÎ:ë¬nRTÔ€+™¨¨¨¨¨A¥´žâ©'ŸÄÜ£ŽÂø 7Ë=*• &Nšxâ·Ë1fÌTGF Õ\+W®ÄÒ¥KqË-·`ùòå8öØcqÅW`êÔ©oÂDmúãWÏÀðÃ1rä 9Ê$¬M”u«ävJÔír  @'€nªÃ9 y`˜Íü"ˆlg  lÒ^fx¨†í(‰oâ&¡Jì\2¬Q¬²ÄR Ú‡/$\‰”Ѳì L†\+¤y •YR7ùcL3̱9›<8U]…"B®5R¶¤¡P!e`Žr`† ˜ `’ûº*HòÌ*t÷4Iî[öÌ”3 ò0Êo$"\qÍPüëu]›ö¡lš?>&Mš„Ã; ÌŒ³Ï>{ ›5 Š@&****jP‰™±fÍjŒÝýÍåÝØ5Z3²lÛ¨ˆµñzöÙgqÇwàÛßþ6^xá¼ÿýïÇÕW_©S§ÆÐ¡¨Ò×ÎFKk+Ú†´aØða€$‘•¬¸¬-dIaà‹²ËfztÜ ôv› Cµ^ÔÓ:êYŠ4O‘å)´Îmž–ÀíØûqa{Á RÈ#`‚ªK…œ1pÀÅm·ëd–%Q0A@‡Ü›][4ÐhäLÈòÌ„ Qe˜dCœ8G¦3$‰‚fF–§Èò š5Úõ©„/ ”!¶$ÁKÅľ0É}-HipÉÈ#£u2v£R 4ÛRÛÛXrßPx }ôQ—ÄyÝH|þšµoñ ¼:à€œSæ‰'žˆ‰~£¶IE 5èÔßI|7¤mûç˜Ûžž~úiÜxãXºt)ž}öYœxâ‰øìg?‹ýöÛcÇŽèæE }íCc]2]•(^÷‰‡†Xhhd:C𥍧5 ©·XC&l©^3U„”uæ9P«ÝÝ@G'¸£ë:Ö¡£«½µ¤Yi–"Ó2#×¹q‹X0Óaü$NL¾˜²C&„Ú®( À \¸Ã$îuÉS ûjø0-Wþš´=œ ÁçÈ4´)UM¹29ß8&•ì·9f|¶å¯JL[•T^b¶¤@Ðd3äÅ:˜úLîÛ——  À h­ ª 9ã’Ññ_—8ßùÎwpÒI'aêÔ©8ï¼óºIQQ[TÈDEEEE :²,[oØR­VÃcËà ù ^ûû+€Ñ;íŒÝßùNzð¡hmmÝRÍzúé§ñÈ#àK_úžzê)L:—]vŽ>úèa¢6J·žúŸ0V©À ë,á˜qežÉ™ `F•È@š0lÉ9eTÜWB™€br_+’ç•u¥0oLâe.ºþøß þò–¿Ó­AS§NÅÒ¥K1mÚ4¬]»ŸúÔ§ºIQQ›UÈDEEEE .õ™;fùo–cÌ„ýUÅ_Öô`]†¡¥jÊŽÖ²¹&l7¬Šç^íŘí†âß…Çó8f1c ?DÔæÖÂ… qÇw`ùòå€aÆáœsÎÁ‰'žˆcŽ9f€[5ôŶsƒq(j„/}Í& —±ÎÒ6oŒ µÉC×GNà™}™Î¤ ¤È&†Õȳ yž#Ërã–I3¤iÝæŽ©û„¾¶Ê.ügN1T‰Å"HR_4†*IÙëp›œ Q Y’ ›OpÕ–|Õ¥bb_—OFy7‘£<d˜,3‡ Àl2JJV›à([iI´àJ`C®ãòÇXøR [’%;ײT]’ûÛ-eKyƒ](n¤¹¼eÛ–8eöß¼öÚk¸ñƺIQQ›MÈDEEEE :I~€r™?¿øì»ÿáøí ];zîüéƒÈü€× fšGÏØ O¼Ð…©»ï†'ŸX‚é}•ÏÞÌeµ£úWGy$V¬X×_0|øpœ{î¹ÂDm´¾xü(`Þäœ#a˜R°î’÷’+gÍ}A¨„œç X·ç ¤&Ü&É3$JYÈÁÐZƒµFž0“å9²4Ešš$¾õ,EݺcrÖÍaLªäÂ‘Š‰l]yk°/k­¸3Æ-p¸±Â¸R×LˆGÌ$äALXqI“¡S&—þb©’d®—h«Ä&èõMñî ø2’‡&)Ax— K[í{.VZ* Ê8Ç ×RªT])ñ¡]ÜprÔ»Þõ.üâ¿À 'œ€qãÆáâ‹/è&EEmE µÕèµW_ÁÎÛ ÃÚ?½Ž_ßó;ÜuÕÑM;aÁÏpèÔqxϾ;âWןL1ÏcRßÁ¢%K– ÏsqÄX°`ÞûÞ÷t“¢þS HJà¥ì†Ø—ŒË#Ó´² ¹c ”±ùP´‰Ëѹà$W6Š3´fäyn]2²43PÆVVÊòÔæNÉ+ ŒwLj%à)w N c°¥f!KÜ)Ö# &4¡;¦à·I ìB>(SÚ$îe âÜpf†)bíyºË—£Ê9d``IR‚1ÚG&™vù÷ "âF—Œ„-Õ–$<‹­ƒ'Q92T&hM Šï3áìë'âÿ_ðܦ|º[½Þýîw»ð%fÆ%—\2ÐMŠŠêwE 5(¥s ¥š‡.¥™FWoß ¥žj$™GQëüÍ4/j4yòd¬Zµ K–,Á3Ï<LTŸ*C˜BèÉú&ɳ¾p%—«„ ë…2×d€‹)¸œÛðÚ8B$·ŒR&\‰Èü…ÅÌÞ!#@&ËLiëM ¥$ÿMn{Ž  dB 9 ãß ŒKFžc`óÈø8.Þ?5&÷m(]Ùîƒ6(•¨€YpË8d¸¯‹lãÚo¿ý°téRqÄ`füó?ÿó@7)*ª_LTTTTÔ Tš¥Ð¬ ÛFÞ¯®íÂØ† ?p"Ž»ê§ìàÉŠ˜uè·c^[Û…Fï„z½Öç=¢—vÙeì¸ãޏôÒK¡µÆÇ?þñnRÔÛD_À–?ö9eP _jâ’aIâ+0&Hê«-Œ1 } àÜ:PŠ4+äLPœ@i ¶ÄÐ:GžåŒÉ]5¥œ ®ÈCoLÄ·œ;FJG³är±àÅ]lXM“ð¤fI}%‰5\…¥f¹cÁ(±ŸrØ’Ì5<ŒaRÎADœ#/À ‘²~¯†Ò×®–3³È†3YPâ¿ _”…Fé’…-¬¤šƒ´#Ö $€ˆaKëQÊ|ä#è&EEõ›"‰ŠŠŠŠtRJ™ÿç—r¼ì¶ë®xñÅ¿àÀÉ“ñzWŽ£gì¥*ø®¶ç°{;ž]¹»íºKÃuD•Jügr0êñÇÇ¡‡ŠË.» "”Ù†uÓ¶ó•pšÈz_&/}:eãÂYàû.\‰<ôàŒ†qrä ãLþb(Í ÒP (ÖÆ!c<&6dÉ;dr1:3†Cã•<°à…Ãp .8cûE"“¬KÆçE)Ó0‘7Þ€eƒ=¼ÏÐ%n“f`¦˜[†#/¼8Û°aK!ˆA”@™„œ)®D00†ìóߎËCÓ×w!¢â¢­ÍHŒa\2–`IØÒi×MÁ]׬@T£öÝw_|ë[ßÂI'„o¼/¾øâ@7)*ª_ÿ§5褒AE ©S§â®»¾IÆáРðòå”òÿш³ÇN-ÐYŠgŸ| §žòÁ> ‡y¢Þö’*<öØc8ì°ÃpÙe—Akÿõ¿þ×·.jKéK'nïÜÐDq!ôašo³„ bŠÇˆ¡p@*WR!Ñ6°†¬Cƶ5˜Êä±`F¬'¬‡ŒLÖ£9ÌTW’°ehJèŠ )JbÄãÂjì>.ž‚²kÆO䎗œ2l“Û6 ]r@lÆJ•— £•ë"A2¥¿§ý+ €‡«²äá’IÞLÁ+µÎ_ÿ[é Ô‘mTJø+6!ûMi˜ü6Æ%C㎭•qkID—LƒV¬X‡~7Ýtž~úiì½÷ÞX¹r%nºé&|ìcèæEE½eE 58Õ¤ÊRµRżysñÀ¢{0ï¨÷aæä¡øëZîTƒ´·(ì<\!KëøåÏÿ/vØ~;\wÃõøðù`Ò¤IMnÁ6‰dÔ`К5kP«ùð³G}ûï¿?>ñ‰O€ˆœc&jëÓ-'öX!€0Î û0}lÓJ0¦˜K† ÐÆ»cØ&‚-V729]Š˜•uŠß1 µ‹iq•–´ÖȵÉcª)å‰|%LÉV'rîÝ&ëúT¼-&h™0$\‚cš5äx†\¶ºä@ àü:CÈPÁÉc)ÃZ‚SʯØò.e Ä¾Z¤îµTY’²Ú’Ê^¯/¹¯¿/‚OÆt‹±J©Ü·ÊȈþð‡?ࡇÂM7Ý„gŸ}§v¾ð…/`Ÿ}öÁâÅ‹qçwâšk®3ãÒK/èæFE½%E 5(ÅÎ _Ô˜]Ç`ÖŒøÅ=?”ýÄîcwÃðÑC]=x~Õ_ðß¿]Š,«c=¦bþüSpûWoÇϿ'N,݃‘¦YŸš¨·—æÍ›‡ÎÎζÿþïÿÆÜ¹sqå•WbîܹØÿý¨uQý­/Ïß.ó‰”ov*™»eÙOj )6¶$s1԰ݸbL‚Z—ŒÈk“Å7¾íRŠÙ¬:dc2Ș¤½l+5I¸R¹Äµöî1ª‘ „ù` “aß›üUë@ „¢˜xœ¦PFŽ÷9d<%óŽçœ ÷™4.Ño˜÷&œ;Ÿ‘}Y¦dØŠ`ÊZv”o#%ÞãrÈ0Lè’}ò=±{ϸ¥š¹däšó”ÒЬt#¥Í³`­ì5 ¼úÀõà žÀ¶¨U«Vá˜cŽÁÊ•+qúé§ã¦›nÂ>ûìƒw¾ó…ãFŒ%K–`úôé`æ–5¨LTTTTÔ —Šh×wŒÁüSNÁ“O>‰eKÂk¶´õŽ;î„]vÞ'Ÿx2®¼ê ¬yc-††ã;ßøæ7pí‚k‹÷ˆ fPé€@GGGÃöE‹á+_ù ?üp,[¶,B™A¬ÛOf#àÀBŠ1ó|ñn`eý`¦)œ +-;SÈ#cç$F‘!e§ŒKÆfù›M9wŒ‹µ„8hš%=¯.þ¢Ò:J#pÁHH•+w-FþΓP%b\Âe4en4…3Í@LãK Ý3Æ )ˆ ó̘|2&‹pñUZ@#Ï˺å?¤3ȸ„¾ÒïÜ‘÷êAQŸ.y\X¨#@ÉÖ@WJƒØ>iX]i}%›¶M˜0_þò—±çž{6@˜²¦L™‚Å‹cÆŒ`æè€Œ´Š@&****jÐIAk ¥ú®]]­Tqàö¹ÿ#—|7ÝüEìš¿¯üý¬]»¦ÀD ³õèüóÏáðÃÇÒ¥KqÀ t“¢6Rwœ=Ú†ç@yàÿtrÃï'La½´­f¨ïí#Û Œ‘95 ]bEA¸Ñ“EÁP 笰øâ¨¢É,™_Lž¤mykÉã~aJ²($ë5û:ÇŒïÚ†<2Á$fË‚ P&1!| ]2>”I`Œ/ƒM}€ mÂŒ Ö‡ 7 ¡àþq I}›éœsÎÁ²eËpÆg`Ò¤I8ðÀ¾CÛ¢6Ÿþ°ðdtuw¡·VCpÓèîpÛàÝ1ÄÞIQ€2V¡3FÖ}|Šw:ˆ³(¶-”)†(!1ì ˆË_‡I_UY0C.´ÉätµUƒHnx,M` ØBí@„3šZ‰&tÄ¿{–%}ç!KªdûJûeWe‰‚ ÈTpÍî—·L\Ü–æòNmÅ%rP ®ç˜!Æ%·×¤ ì÷&—wýW¼çsöh²dׇ- ˜ãHîëÚ“°W))y@kUáà]?࣮Ÿ…_/xQ3fLö½÷Þ?ü0Ž<òH03>ýéO@Ë¢¢6]ÈDEEEE J™ÿÛÇŸ#Fy5 I’lÔ±·ß~;Ž8âvØaxôÑG#”ÙRzàZ¬^³k×®5%›un&öåšÅûáÏ2û*AÖnQȹaw‰^¸?•—KŽ™¾0åc‚ü1,yFÜÀ<8WòÇF@¸bˆ$Á/Ü`Þä”1!Õ‚LC<€ ` ±InŒ0oLÐgÎc·•++‰ÆÞÀ;4àÓÊn˜ДÝ0®Ë~j„2þ…mØ%#ï(ÁÉ+„D \*xŸxv!ZƒX7Žå8Í2>„ʶG`Ûz’û–nâJ^kû+Ò‰ˆË'Em”öÚk/<ôÐC˜5k˜—_~ù@7)*jƒŠ@&****jPjíš55jÔf½³Þè~ÔàÓYg8ì°Ã°lÙ2tÐAÛ ­U¯}Xý°z5zë5ÔÓÒ2öf‚úHîÛ,—Œœ«TB`@kR‘öoÜÚpb™7§½öÚ >ø fÏž fÆ¿üË¿ t“¢¢Ö«d¢¢¢¢¢•@KµŠžžnŒ9r³ÞëÕ¿¿ŠQ£¶[o5§¨Á­³Î: Dä ÌÁ<ÐMÚJô{k5¯kÖëÖ!ëì@wwzj½¨Õk¨ÛĽ™–)GÎŲͅ°%ç iûËè>,‡ ÀYnt.äÍ Lƒ{†ÄÓGØR8/ ؽ£¢cœ«Æ¦Ò@œá•¤T¶*-ÀÊA¸$¾R1©©3FÕ.Ã’â:J‰|¹à– +.9Fœ[†2¡KÆðž&.™Âº¼O L,@á| |ÅÜ9.Q1y–äú±„,ú”ËvI}ˉ}ÃïÊ%÷íÛ%CÄÐðÿ†(b(‹[´&SF[ž³øÚ1óú÷âá¿@Ô¦I ÌA„åË—ãî»ïè&EEõ©d¢¢¢¢¢•ªÕ*&L˜ˆG—-ÃÓ¦c‡Ñ£AÊ`Ò4í3”)ÏsäyÞüÂÌ._ ƒ¥u<þè2ì÷®w¡ÚÒÒïÏÕÿzòÉ'7*‡LYgžy¦«¾ô½ï}'œpÂfhÝ6 |( ÏÞ ³X»X³µukÐÑÙ‰ÎÎNtww¡·Öcœ2eò ¹uÊ”)ä”A Êq €Œ‘Q¾Àƒ¦`¦”)Nbª-9c(pÊ|!%ƒø²C†\›šº"$_Ne(tÉ €1f€ƒ2¡3FÊf›|¨’ÌšZ/c)8cÂ×î¼Ì4ƒ2¶!Ø&ÛQ^gçŠ!yÇMa »Ë ¨RJ›N'yïœ+È–ügŒäð Õ aKr“˜† ™oÐ>2€ Q²Ï˜¨Ü—÷–\9áÛoÒ=Q›¦=÷Ü?þñqúé§ã³Ÿý,®¼òÊnRTTSE 5¨TmiÁØÝwG®5~ûÛå&…-W]­VA%7K’$¨HØ‘ü„ÖÖFÈ’TªHåŽÝoêTì´óÎ>|Äæ{ ¨~ÓöÛo–7 Ï>ô¡aåÊ•øÀ>€Ç{ ‡rH?·nëTý—W eøp ½¨VMÉg­4z{‘ww¡³« èîéFOozz{Q³.™ZVG–§HȰFÎ94óÉèÊÈH?tÇç(:f‚õf¥jÊP&tÉAL€|¹k„‡ë.‡Œ_/Â!;/ð˜À­"Ï#Ï.‰}a‰ƒ2\d6l©Cd&PÂv¬Gp”C“,„iØ^3( ŒÛ/—ì3‡ŒPy·ä'^Ù>S C¹°¦bb_ß”RŸHÞj…%üC†á¡]˜Üׇ1BðG6dmýv•äP¹¶œË¸ldä¦ì–ŠÚ$Í›7=ôæÌ™fÆUW]5ÐMŠŠjP2QQQQQƒNCÚÛ1iò$Œ3YÖ·#FDoâ?µD„jK † þf›µ…5f̘ –½^Ÿ>ó™Ï`¯½öÂᇎeË–E(Ó‡îùôaÚÞŽ¡íCÑ>´C†´£µ­ÕJÅQF®5²,E=MQ«×Ð[ëEo­u[Úºž¥Æ“#ÍÚÁ‡cHúz,ÑÆx§Dƒ#¦°­¯©ÑýRÞæ8äðÚù»&.*\gï–qÛȺ:úèl ². ‚´8d„wã~h¯¼3Ƈ1Y0a.XpÈ48eE·La{é<ç6uËÀÝ›Ü ÂÆ—Í ‘þ×LøN@Ã͇ }êø¼í_§³·ˆ;¦ä)$÷U’O¦a$¬ J€Œ°.Òʼ8ÛrSÀ!׿/ø ¢Þœ&OžŒûï¿sçÎ3ãꫯè&EELTTTTÔ TµÚ‚‘£b(QTÿêŒ3ÎpáKK—.Å¡‡:ÐMê©RÀ;*h*þLÞŒe¹0†ýŽuŸÝrÒhT*T+UT«-X×Ò‚ÖÖ´´´¢¥¥ŠjK *•*IÜ Y3›JJynÃ’RdYæ++éÜäÑ9´Ìmå © ä`L¦ÄM LÆ8øŽÃ‡l>m(wŒËíR†0 Y¡Rþ8…Tlòà¨5(‰<É`‹B•Ø´‘›FŒ›€ïam«>Y’C¨¢TpǸíþü¦š~|ewL!‡Lp¨á½š8tð.ƒü1&ʉ\îwÏ0™³Kò´Õþ#%o…ÀL` (¥Az6ÖUâÂ,ê­I ÌìÙ³ñè£âg?ûÙ@7)* @2QQQQQQQ[‰^|ñÅ·²ê´ÓN+8e;ì°~¹îæÖ?)…Æýâ Œ *øH® À…ôL lr”0³0>üó.€‡Îbá‹0I¢ *v.@&QPŠl%ØÁi1äˆÉ£ÍŠˆcFû…m(?@]á$ç”·Ã Ô‹§Âpdœ+†à4ë‡1îÚJ`‰jlQi@ÈPÏ:|á‚3†B6r¿{Ð"`Æ_ËT\" Vj°9cBg ÆýVäµÈñÌ„••&Qh C™ÂCÂÍbàQoìú»Ñ%ã¯ç‘}T—r&œ%‡Œ\Ä6ÈUÜBÑ!ãÜRrqs‘IðËš@J  Û«•’ûÚ»¼ëºSðûk¾ÛÐ'Q›¦I“&á[ßúŽ?þx\sÍ5¸îºëºIQQÈDEEEEEEmê´U|úK§žzªƒ2ßýîwqòÉ'÷ÛµûSçX# & IòN;à—¹R pn'3@e°Ö&äHkpž»ubFÊŒ%‹zQaÆP{Ïi5ð%QP A%Ê®Ûë'¦ê)*qˆ ” ‹8Ä#[)Ýç6‚˜ A?ùóBXU‚0% ãC•ü¶â2 P†”T?ò@Í  üí`Ÿ[( ËnusMö•Š™‡ómõydLþ™é ¯ìE(€1Î=b]3’KE LX¾ÚQ¡eÊ Æ-ç‚Ü®0Ù¯ïÐ ãa‡ë3¹¥{¯t/ûw yÎR{.l)ÈÚl2TpȸêOÁ½Lékò9cä“w+@ÍÊô ™p&³Ù{ ‘TThöìÙxüñÇñž÷¼̌믿~ ›µ+™¨¨¨¨¨¨¨­B{ï½w¿9dDüà±råJÌŸ?»í¶?üð~½þ›ÕE6'Œ„$妔1°s"B“$ÖÙb&•$PeØ$åÍóy–!³smÁ k 0#°Ž¿½¿†{Y5ð%!ç!¬+f$ŸJh)†!2Z.lÖa@K³I ‹_–þj¦$Ÿ2”‘ëØ¼#²”Éç+ÇçöÉÅEœ ãs‰˜mE#A7Ú+&1ª”"†ü !ãÐ>\¨xç’;FÜ5!¬qˆÊ°¥aÊ`FL8Nár°MÜ#®ÒRð xxæºÐ8V€bYjò‰¥-îâ2·%¨ºe‚ç#ö=ã*.¹÷Ì…oÙ»düý¡BÉ%ƒ„-ˆá`O87MÛóº3ðì5ßlÒAQ›ªI“&áW¿ú•ƒ27ÜpÃ@7)jV2QQQQQQQQëÑ‚ °çž{bÚ´iXºté€B™K“[7LÙS23†”r“䀩¶´ ÚÒ‚––T+$•Šùé}ž#Ë2ÔêuÔz{Q«Õ¦©3YfÀ 3r6¡F93~ÿPŠ}§' „ 88Cš@¹Y†· L(“ Z™ŠÙPÁˆ½PÆšüñë‡/(7x§Ruž°ß@ i #N#1ÍÜ1Zâ K¡Aª´^ W íl%9Ÿ…YÁ@²PÆ&iL-ZÅöÞšÂäAÃÝ5¸Pm‰u†°âByÌ„vÀMãòÎ@jŽí³ôµ#(þ{({!'ïpÀ»§´3| aÄúRpyî$7 áS¡K&t_É·æ\2Ê5Ç8’|0YÊ XŠzëÚc=ðË_þï}ï{ÁÌøÌg>3ÐMŠÚFLTTTTÔ T½^G–fàÆÑD¿ˆ”BµRA¥ÚRp¹Gm›š?>ˆÓ¦MÃ’%K0mÚ´-zÿ*…:AL³„½y¢d'¥LŽ—J¥‚Š1mmmÒÞŽö¡CÑÖÖ†jµ fF½^GwW:»ºÐÕÙ‰žžÔj5dDÌh Øü2 4xrqŽ €½§+ baŒ¶pF· Yžâ- îwS5Ûq“²À‹s  †´ÀC•Ê”óÅøŠ=! ¡Â1ÎY¸crÉØª;ÄÊ]„QfBPã_‚ñùc)€2¦ÏÙ‘+m`‹ [‚8hX9·¹‹ˆ¡áÕ¼‰št¼Í9dÃ$Ô‰•´ÌhCp$YŒk‚@™fÕ—àÝ2¹”Ý1'ñ€&ØY2ÞíCÁ6l9jNø¸Å>ÛH6±5@6D+ Ë*$–{[LøzÅ5~ƒJiŸ˜­•sÎø2}A™¨þTeV¯^… t“¢¶AE 5èÔÛÓƒ—þúžzòI¼ñúëý~}¥Fމ½§LÁر»cH{{¿ß#ªÿµzõê~Y uÊ)§€ˆpÄG`ñâÅ8âˆ#6Û½D—Zæˆ)Œk)™P}ºcªU´¶¶¢mÈ :ÃGŒÀˆ‘#1´½Õjy–¡«« «×¬ÁêÕ«±vÍttt G)¤õzÁ-Û>3g¬X¬±÷4WŠð…‚%—ĖȆ± g)?ƒ=Ì„Œéc=(_]´»p¥2xi\!Ly½¦ä 6c‚°%úNèëYä­+HØ’›u)‡mŽU ÒÖÅ¡àTdrß‹ ¦ Ê_Û:= x±}£ ,‡XwSzÄ@1ÿ Ø&º)ßûÞ÷0}útÜ~ûí8ÿüó7Ë}.³¡I}‚ ´S¸eW1)Wò‡”uÉ$I‚J’8(3dÈ 6 Û…íwØÇG%IÐÛÛ‹7Þx¯¼ò ^~ùe¼öê«X³f ººº™öÙÜ2°‰së–X±”±·î2vïrofBë„”ÀýPžTã2ËèVœeã®í—}hRp³lA¦Bwó ~vè†)†(ä.ä¶4ÀˆƒÃ>‡‹ÒÎ!&Aö5¬ P!Ç#d,.dÉuª€i¡ùV4‰¼oÃìec‚©ð9@Ææ«):eÈ»cX0KßaK†„Ÿ„”à¾ÎÉaÂcžÁŸ[`BeXÄdÁ‰q` ׿‡0pùÌX`¥Ø‡F±)ƒ-n¦bosðM>ލ~Ñĉ±bÅ sÌ1¸üòËñoÿöoݤ¨mHÈDEEEE *¥õO=ù$æuÆO˜¸YîQ©T0qÒ$À¿]Ž1cÆ :2™·»¦M›¶Ù œtÒIøÔ§>… .¸S¦LÁôéÓûíÚŸ @ŒF#ˆqcÆhqiÝà GXQIÀLKµŠ¶¶6´··cÄðáØ~»í°ãN;aÄðá`f¬^½Û…¶¶6$Ê'xéP·Ë.ç«ÖÈ¥t 3ž^Æh0a†´EÚoíÎM .„ÂÀ·¤fnˆRXR1MèñÎW:€/²\2}ï´iF„B£ìÀÞ žì¹lß—#òxnè-®.Bs])ÁìK‡›a»†±jØîrçÊ[²%²‰wŒ9Ƨ†VÐÄPDÈaBŸ¤”ºa´¨ožëk2¾<¶|$fÙÃØþàõºcJÌ¡[ÊA÷d“íæú$PÁŸxB`Â2Ü‹Š'÷páKêÀÀ-‡Y Ò€fßb×üȔ×¢6&NœˆŸÿüç8æ˜cÀÌøÜç>7ÐMŠÚFLTTTTÔ 3cÍšÕ»ûøÍ~¯£FBkF–e›ý^QƒKŸûÜçp衇bÆŒxä‘GÞ2”¹J)Ô`sÄ ¹+Æ @K?'/¹dd\Lνá¼ f†ÊT+ã”ioÇðáÃ1jäH´Œ ´¶bÈèÑ6lªÕª¬²+ÍÌn@ëÆçÖ)#P¦àO0ö˜ŒÚ©<pe(cZìÎvpÄœG¥JMRjZø‡sBì2@L¸­ dœËANö¡ITˆ` •ŽõoG „žø@$™œÆæha [laŒ…ððà?øfΜÙež{î9,_¾·Þz+xàÌž=^x!>ø`ÀÕ‰BÊÂdXˆÂQ›W¶T:–JË!”a[ªšµ†Ö¹Ö. [8ƒJhmÚÛ¶6`È´˜X¯£V«¡–ÁÎsw²Ì ð¸Ê?š€çÃÀØy.|iàB>’Ì„O$f-:,ˆ¡°¼± Aà @ÀJûÊaKlKXÿÆ ­èRrÄpi»Ë•ä•‘wHÂä¾AK}þOK#”ñseü—¬s¸~]lC…Lˆ‘1Š44oLØ [žDžõØk…`Á0§6År×dÝ5äŸ1ün}Z\ì Ëš@Ó<†C&!,iøóÄ…™Ÿ÷e 9mÊ­B íŸë’‘¼H‚W´ƒ{Ò÷rº$÷eûµ5V`Úþºãkþ³Ü[Qý$2sæÌÁ<€Ç| ›µ+™¨¨¨¨¨-ªÀ¼YÓßI|7¤&Cᨷ¡|ðÁ-’C¦¬N8?üá1sæLüë¿þ+Æ[o½>ø æÌ™ƒ‹.º_ýêW1q¢ÉytmU!Õ@naL¾>ÿ“þ"£hcÜr®'[“¥©›R;ϳ̕³F’--@µ ¤)FvuaÌÚµX·v-:m)l©¸$‰}s¡)Z›g)A™.¯,vžÇ.Dˆ”u°q#X/‹ûÝ=Mblu¹VCJxàa ¹D«¶ë„#±uÀáLƸ‘xÉ)C¥ýÞ5ƒ‚K¦º€°….. ˆ ÃÈZWš@×ÚÂ¹Ž…\6ŒÆ;>¤\¶ ´1ç(IêkæÎyeev‰KÆ”t)¦R“ýNm˜Ü3Á&Ø&–þ¿uKw<˜âS€l(¸d$4®éßì .™`{˜ßÈÂb N±©‰I ‹X¶ß$rÊCŸÔ¹P9ªc>w; ¢6Æo~ó›8óÌ3qÙe—á _øÂ@7)j+U2QQQQQ[TÝÝ]M—7ED„,Ë6¶tÜgÆâu¯4Ý·ýˆñã«þçMÝ?êí©Y³f €ã?ŸøÄ'pÅW`Ÿ}öÁ5×\ƒ¯ýë˜0a‚;æº! y äZö dXO B“¤ð8~Ú_f–ý2IøQš¦¨[çK­·µÞ^ VÒÈss‘$†¶ß;í´^í5¬Y½]¨õö"MSã°±.0îÙJP¦ÀË÷»eà +r …K.™Œ!©jä{„ƒ§vµod·–´¾.n;‹C¦èM1Þ”\/åÜ1²/tÇ4„-Ù­æA(|`÷¶C—LbÜr9‡L^ìAL9É/&l¢dB„B`ÓÒZhâ¾9%Ђà{Q›jÑÖ!ã8[hMRäÃÓ‚ïW’=Ëó3P¨®Tüs`RÄP±+K] {}Wm)üÃâoëÝ*,ߣ+ÊÀÁÛ}Eþl›þG—Mec1—*žä~gG„”=á—yÌÑŒ3ðë_ÿÇw>þñã?ÿ3º’¢ú_ÈDEEEEmQõ_ÈÒ†s»¼±îüÇ%ßG¦Sd:źÞW±®÷uÀÿþοn8ä‰¹Ž }£6N^x!þýßÿøÃ°óÎ;;sÝ(î1¦mfvhÜ7ˆ ÕpŒ^CŽi¶-0 4lÓZ#MSÔj5ôöô »»]]]èììİ®. §Ç„,µ´(ÓÞŽ6[{ûí·ÇÚµkÑÝÕ…z­æÂ—À\pÉH›ÊP¦À+¿v~7qÈ(€´]àsupSBNn°-n'pàC@‹Ò²òëeÃ&\‰-8a*…$Ùs=ÿ¢û IDAT|i–Ø×š¦%°K!KJ‰Ò{\OR_ÙÆÖ‘!ydCM2â~q×”ð[›JèŽ(ãAWø B‡Œ‘éiMHûÄ¿¶Ä3kNÂBOæÏ@Êo/ç‘wLÁ9awÚO®²–¬[ãK•—ÿÌ„D†ü²ùx Xƒ„-¦<ºúC$”Ë©¢F"üÚÛ˜þdTžŠ1üÚO£ãÚX hsküøñøÉO~‚ãŽ;—^z)¾øÅ/t“¢¶2E µEÕ!K›""ÂcÿóSÔ²n¼Úù?xîµ'pòþ—oÔ¹Õj:?ŠŒÚ4Ýyç˜5kÎŒO œ¬í ›Á76%* @ƒÁc“|2}›ò1åu§)êµzzzÐÕÙ‰Žuëбn†ut]]È0·ŒRÀ!a+11ëÖ5„.±R…JKö¡ L Àßìô^˜Ð–Dr‹˜Á±äì0}cŸRœ®rޏ0‡ 6 ^”ë¶÷pA™¦aKÍ\1}”ÀnReI_Dopo³!‡L9Á/|È—Ü0þ #x· CÜ,òÃXzåà‹l7!2aÑæàˆCD*c¹Þ“|3&d‰-”)ÀEÅæYÉ."vïOàG#”wÈ÷JšrÝ\ÚNA>¢†¿Ý9øÎB— ìwìûÚKˆ{Gú‚=*¸ßÜã*ßËd¿É(ãÏöï@»w ˆ‘he¢¶ŒÆ‡ÿøÇ8þøãñ±} 7ÝtÓ@7)j+R2QQQQQ[Tý²´) ÿËÚZißì÷‹z{ëùçŸÇøñã7ë=~ù™8mpÇàÌ*cœ„öå†);Zš… 5s”¯Q8ÎÜ]2ßÒ¹$ÇØãêµzwLǺuØ~íZ´n’ûI{¡ÚÚÚ0tèP 6 C‡Egº$.WÍI)Ÿ0Ø=„3€:€Õ¿¶;f©È˜N¬3]©d0=ú“dà“’;¦e¼S†€¾\3M*+5[2û 9cšn7õ¡LòKoÖBÁQ .—CÆCŸø73·LkìòF¶y(ºcÄ’KÆ?ŠËA@™Ð"(kIa-ýöES`ßa¹kä]sé\8Lè,‡„Jì>,Ä ÜØ|Ò×ÁÍ€Û—a~™0œ©ðA²ëEÛëæ¾ÂØoÐB™àV{…_²r“èJÊ\Em7?úÑð¾÷½“'OÆÊ•+ºIQ[‰Ô†‰ŠŠŠŠŠê?=üàýhoÚ°¼Ñ"Ú´’×Ì`6ƒÁŠjÙ´{E *-[¶ Ë–-kؾjÕ*|ï{ßÃQG… &`É’%›åþ_š³€ºÉ œV%Ü™Ïë¢#¦/0cNnôJȲù‰yãp¿Ás!‰?írAlCS‚RÕ2Õj5ôtw£³³ë֮Ś5k™::€în“[&Ë(…¶ÖV´··›©­Í”Ë®VQI(¥ ”)eÚl§bb]ãÊôà)L¶cmª/1ûgp¿ x‹‚}Ø ª²ó¸‰•]VvY&rË9òp›mf_â‚æÄíÓHìdes¼ŸTùÚn÷SbÏ+OIãýÃvqxmߎ¼ÔŽÂ3ºãÂgP},—ž-¼ù‰eÙm'¿.“ÝÆn?•=NQñ:d œ„±±MÚÌr™}n.Ç(ÿmȺp4·OÁ†ÈÁ_[…Ç›{BHdN E „ÜvJ`ò7'ÆÖã—å–*‘/D® ¹Œ Uý…“¿˜QÉ3´^sU_“Dõ£V­Z…ïÿû¸à‚ °bÅ üñÄûÞ÷¾nVÔV¢è‰ŠŠŠŠÚ¢ê%)Ý[ÎóÏ·ÎÁ“öòÖÖ6hΑs†œ3tÔ^/ì;òÓmn}¿q‡ã– ï/Þh3—ÕŽê_Mž<Ù%õ}î¹çð›ßü·Ýv-Z„#<]tn»í6Wí¨¿tÝdêH _)rž8UßÐŒwƒq°ÚÀÏÁ\’×ÐbÔ×—Bó„  Ky;Ûò×Ì ­5zmØÒºuë°vÍ :C«Usnµj2yP©VÑÖÒ‚!mmhkkCkk«qÉT*¦Œ¶R€ÖÐvPÚºdŸKÊ~¿ü°Ë<3ÐE 1®ƒB“÷JØßKO\3Ö¯!ÎVΣƒev9aJåB¸’=¦!§Œò7í#\)tÃ4â´â3Þh!„…˜ \2ħKaK&ØÍQa;.DÆy:Š™‚{Æ·Žœ#K®77ÆI¢:dBci‡¶<ƒ•“öØZaä[²…\Îßbg‘*LĦ¢l÷~m/“ÿ² ¹ŠØ@öø0É/\D˜pBK}XRžT W ¾­Bû}?£€Y’T£Š˜ãlsiÕªUîßûî»3gÎÄE]„믿Ó¦MË/¾ˆK.¹ .è¦F rE µEµ9C–Ž>èCèªwà‚÷_‰JR³FÎ9˜r@åèÌ_EµMAUçžxÀ@šÖñøŽ>èCM¯™çñ?¼ƒEXµjæÌ™ƒx³gÏÆ…^ˆÛo¿½ÿ!Ì Ô P@JHr`Ï c¸&@›|“ˆ0‹¿b`43Æö•ÿ%¨¦$ÛÐd½, NþÒv3P àLy²U—º»ºÐÙѵkÖ ½½Õj-DÀ!æ8–$P¦µ¥­­­hmmEKµŠz¥brÉHΛ7Æ…b…¹eì<‡ˆÿý>`§÷42ò,:b«,Sàœñ(Âzu!d©¯e_Âí ¦lÌÛ+—À.&û-Âëë{ÃB“ä­–*-9øBv½œ?&ô ùmTê¥ò<„0E8‚i~ˆ<œÉ“zPãCòü·+÷SÄФ-{!H(‡Öé+éfb»«ÑeR„1æ+ÓVö»kSø]…@L í?É­ãBê|È»RØd Z Œ18Å„eÊïÝ}!þû›ä×ÄHò ÉÕ×"¿áÚfŸNÔ›Ð~ðÜrË-¸ÿþû1kÖ,\xá…ÿ·¿ý °páB\vÙe¸øâ‹ñå/y ›5ÈLTTTTÔUUYÒ¹†RÅÐ¥c9¯ü~½ü»8bê{ñ‡—B®Rp’"ã.ôÐëh’à§ú<˜f=¿_ñ{ì½ë!8ö³›ßGçoª}Q[^<òžzê)|á _À×¾öµBÉéþÐuÓ-„©T'cëHaæ90„Ó[ œÛÐË9f& ;kÆ·5ãƒeÂÑWÕ”d=T_€&zS}˜M¸P“0%󼨒Õ:ÏQëí5aKëÖ¡½½m­­Ø>I lþÔjÈlò^E„J¥‚–j-Õ*ªvÊÒ¹ÍCâ)µKÚÍÖ1#Pæµ_£ A€&—HÕ=­ƒ2âr 7nv×¹A°v%.>„¤/#Ž—Ô7pÃ4OìÛGRßf`Æ[Dš¼Ù‚?¾ X–÷‚ ö…ÀÅÙ°òRsÓÜ!îwŽù΂·Á‡8‹/è&E 2Å*KQQQQQ[To¹Ê•$0æÓ¸öƹG-ÀÝ‹¾ŽÝGNEFݨ¶*T‡$1l$öÛé=øå?ÃyG]‡q;íÝçuØ&jooÇСCqÕUWáâ‹/Æœ9sðì³ÏnÔ¹7Ì­à†ÙÜ0³ª7 eÈ”ÛQÌ9˜Û¼ìÂršOÂDR8Y)|OküVk7ü‡åTZw’Ä©MŽ)Ì™›¶ YÞ˜¾`Lže¨Õj.ŸL‡º:;ÑÓÝZo/²45°@¢*J¡’$¨T*H’‰RHJU–ˆL 䦉dÀk¦:=?PƒcÚüydMÐâ–QZ,33° –ürîª-‘«¶ä+‘­‚TªŠ_q©±ªQP}ˆƒíì÷ù!´¯Pä*+U”òBå¥Ä]ÓWd’㓆jKº´¿ñÅÊNÅ{–® Õp~ñÍÏsÏIåë—ªI!&{Ÿ RSX‰ÉWx²ó ‚“ E %2÷uÕŒd?|u&¹¾Üä¯WžÙ Pr¤01h’IA“ÙÖt"39(PP\Y%8’ Î Ì ¿(]UP6—LÔ–Ñ;ÞñÜ{ï½…p¦±cÇâ'?ù ˜çwÞ¶.j0*þè/****j‹ª¿B–\¸E:ú€Âož»K~÷kì9e}ãTZÜññ›Ç–c÷íöÅÑüÓz¯ÁlléQƒC»ï¾»«²tå•W‚ˆ0{öl<ðÀM2ÿß{ZMŠ ÍPZÙrˇ.»-ü‘wOµèŽAqJŸŽø&a.1cû ÑoÙíÒ—ûeS4M%0Ɔ ŒLyeèîîF[[ªÕ*@–¦PJ9÷ 3Û*3ƹ–$‰2vÊ•‚nVmI’—C™l>éî^*wÕ— kÃXÛ 7ÊwzèéwŒÏ!#Ë~0ÜXm©º„3y¿‡M0Kþ¸ ºd¬S†`Gî-öí)þÎî÷w ‹wÇ/5¸dÀ¦ —ŒóÙõ¢S¦1d©™c†K!K&tª‰¤p¼yÿ¶H¶+»‘ák&Á9_A›Îüæì•OÈáÜ1⪑óÈç­;'Œ(cëœ.¯' ƒm¨’³¹¼}(“ô|GF¾Kç„¡Àåüúžõ_E±ÿäHXƒˆ¡…$Ë‘|üZäÿy-¢6¿š…ÄtÐAøÎw¾ƒSO=çž{.¾öµ¯ @Ë¢£"‰ŠŠŠŠÚ¢ê¯*KfP¼~XrÙ?Þ‚ß6£v=¶?IEáõ—:ñ§•­^¼^cîÁHÓlƒÇE½=uÅW@)…Y³faÉ’%˜0a¾ðþ‘йkF‚Ä i™Ý÷Ķr a<€1#3WÒÖÏÀå »ƒƒm€"À!Ja{f|_kœ¨Æ–\#ŠÁ×w^¹Ê’€7•\2Y𢻫 -Õ*XkT*h­‘g´…2`†"BBäœ12ië:P`þ| Œ¡ t‰KP¦@応º@™œ  â—L¯CrÊøÄ¾²Lè¢]hŒw.EHS3âjh€1J°AiRö[èËãÔø–›CUšA˜b.¿‚íÍ LÒ4‚™&9aJpF5ìo dŸÇ0ùkqÐËA ’ë;0 ÛëÂú.—Œ8²<Œ!v‚ô2æ{$ûtÄ® ”ùk߇%i3vkÐß„ä•H#ß™3L=lC—\Þ–ïBž›]?)f(ä¨pŽžjT*YtÉ ´vÛm7|ûÛ߯i§†sÎ9_ÿú׺IQƒ@1d)****j‹ª?B–é¾§Öj;®=å.üêþŸcGì…ôž¸ç—÷àšSîBkµ}ƒçG3øuùå—ã¸=?üäLÜ:ÿh©TQMª¨¨ UBb'r¿Àd¡K8 š¹µÐc¡ 鯳Âå D8Y)Ü­5^ÂŒÂã 5ñ áI¥P¥r; ÛB0Ó$L.Sš¢ÖÛ‹žînôöô ·§µÞ^Ôk5d¶ü5kŸ\›ˆŒS&˜” ¡K¥ç)÷gèíÈè&ݧ€r¡K€–ð%À9 <…ð%ã’ C“t)üÇ…í°ß§Ã}¥0"{‚pN ×)†øøð¥BHN“Ð&ý0,( jJ†1•S…k6Îý3öšÔl{¸¯ùþ /88‡Â¶úФ°ŸÂþ‘$MÔ4ôª"f-^ß¾wtð×sÉw)ìÕðl‰ 9’P¥Ò»óÇØ)]2áQ¾=ÎÕ$tÉþaºôçJÒ³¤ºBPhLrµåµÛn»á®»îŸþô'œ}öÙÝœ¨A è‰ŠŠŠŠÚ¢ê%E­5”ÚðÏvßq/œ9û*ülÑí€3g]…ÝwÜk£`K2ƒKýë_ÑÙÙ xæÖbݺtvvàØƒÞ‰îîÔzzÿ{ooYQÝ}ÿVísκ›nh†nhfqzH4"AƒÆ(¢ÑŸ(‚(Fš¤¢qˆo¢ä1jD0ê+ÑIĘ7ú$ /Š€ÆYæ¹ÇÛ}ïv­çªUµªö>·oc7ÝëןÍÙÓÙ»ví}·¾ç·ÖBŸ* 1ÀÈŽT$‰……vÈÙƒ N õºäK©ƒPÑ8²¬æ%ÂÙÆà­Å³[œ2;¢6ÇŒVâÅÈá£YòáJõhäB“F#ÌÍÍ¡ÛéÀ¡®k‘+mí+-Á‡?ÜçÓ(£]2®*.Du’¸ddŸ4ÀÈsÿ L>à`:µ­À>tI~bTƦè’IÜ1i¢_]ö:)Iœ„)ånïtQ™bßX0ªªR:-Ü!õ乯P•–Òš>á©ËdÅNyRs'LœSÚZæyœkfÜÔîŒI¶QtÀ0b%Y޽¤¥YŠnöwŒ!%·=f .Õó”õ~ò<Æy÷ñç¶$!LšÄ”е%öm„.Ñ%£Ÿ·Ö’ØÒ…9„xuìÕõ: >£ûŠ?Åðâ’ÜwwK ÌÙgŸG=êQ¸ùæ›ww“Šö` STTTTôjg„,Ul]/xàzú ÏÇî¼6Ìë_ôçU2‹J÷ß?¶Üñ]à?߉5kÂÔäèu»¨¨rÃ0 °epÍà `;ˆaý 9† Á± g!BL€Ña vÖ$_&‡)(óÛÆ`m+ôy³cèã4ßÄ øƒO ?$ŒYRPFB—†ƒúss®Â™µ cÂ6¶$ç(S¡öaLlmGb _²ö‡þQ¡KÀÎå@çº>wŒwÊÀ’Ë/ƒy›Є’Ø:dÉ×PaÉ–õ²”cžÌ´•¿n a¢äŠ£Ã§yçcèRcšPFÖP²ž`Õ|Âè}šð¥=\i>8£=$h0¿ÍИP%NÁMz(ævŸÅàxÓsÚ•EÌŒ¿¡÷ü#ëzWåŽ óíw"ô*ÅrPÐAšØK☡ð]¿Xäz“=Q‘E×ѯ&À]3,.™=Et.¾øbœsÎ98÷Üsq饗îî&í¡*@¦¨¨¨¨hqŠwÌÁòªg¼ß½mÞÓñ¥~‹‡Ž?þxl9ì0`õ*,óÀ`8¢ß ßïcÐ`4è`TÕ°¦öÎÀP(Õ›ÜqÒ3À$Û5”IÇà€lf>0£2§áxc’v,>ÊñÚö×CÎp”±Y _²¾êRåôšª[‹‘å‘JJ•vÊøu:±/¥}%øÕýÃpàe`€êS½0ÝÖXkœK¦J%e†%$%T\ Æ42:±/¼Ä3°qa½FÆ4ÁL qȤOd,yÝcÆ%õ€¦Ý%“B˜qN™…¹bÒ©™Ü·Í5}=9Œ1Ùr)ˆN¹*ƒˆ  u©PDY¦æÝHïA$°òõŸä‡¡fç‰|ÛÊ_3+w <yУûÆ)¥½€î?CîÈÔèÚ!æ&&AsŒÎþF·®õy*zhuÒI'áË_þ2Î=÷\¼ð…/Ä{ßû^pÀ»»YE{˜J™¢¢¢¢¢E©…äÙÓp8ÜÝ—Z´£:ü%ÀÔz½X‚¹r¯¦rp>‘§ï´… ‘—Eè¢æÇNÎP?~Q,­@DÍJ„§“«¾ôó,Ìö¦…4«mIÈR(-¹dF£¾4bÐïcÐïcØïc8 öydµWL3jÒydÚpERöW¬úÉÖÀ€l0*Ô. ³Ï%ÞÐA q“_ò9E’ü2a{{©kYëóü2z}–Wf\ž•Fyç±ÛÇåz1ÍsP3§L³Lu…¶\)ùkó8:'Kz½Íi¾|2m¹rZòƨíÍÜ2*Lh[^†ÛŸ/Ï÷’”æNså%Ï]Þ™´oÓ’Ünây&·Ýøò×Bîß®˜OF MŠ¿4°KHdAdÑå¡û®é‘5E{Š:è \vÙe¸óÎ;ñš×¼÷ÜsÏînRѦdŠŠŠŠŠ¥Ü@k×™¢EªÇ\ëCÓHà‹«yUæzУxL“f„yJ×+ “˜% iä®È¦ŒÁÙÆàŸ­Ê´½w¡`&ìÇœT]jT[Ò ~=˜ a ‡®ôµOe(1&1y‚_¢¤ý2Ϥá P×Àè 3Õ†½Ã§&$.VÞnú2r°þÊ”mÏç9… PÐI~‘ò› i›à!¤l¥ödÀµy‚ß\¤G·C'ÃmL pèãl/™os}Œf;šíR}Àmí3ãêÁ6[—öC’4”jž¿ Á²m!±¯–f_„¿2QLìëþš¸ìa  —å‹DÀ¤þ|¨0ãÎ>Q÷QOt€P½äÏQ´çhÍš5¸ôÒKqï½÷â /,P¦(Q2EEEEE‹R›6nÜå0ÆÚUUm¿1E{„6mÚ„M›6…å%g¾#[£¶5jIX+ð܈Pȉçd ß'³xpb’eÊ™Z%Zë׮ؔidÿü}¾$0FÎ+0¦-¹¯$øõPFòÉHB_;9ðÕÒN aÆ™°_Þ-®¥ej`ÄÀ6 ƒ¡‡2ðPFöÖÙRòjKmó©;&VX¢†[¦áÉÜ1)Èh‡¹F;8ÒýãqÆ»Yr×J²´­owÜ´ƒžùª,4Ú±Ò %¤Ù†´Á¥ùÎ¥Œšç¶mi¿‡sSl K;æqÉäàÆÁtÜr[ť蔑O+hì`Œ…äÞ!cÑÁ`{U¿,Ús´fÍ\rÉ%¸ÿþûñ⿸$ú- *@¦¨¨¨¨hQ‰ôº]ÌÎnÛå@æ¾{ïÊ{/¨šSÑî×M7Ý„o¼1YwäK/Ãp8Àh4Ĩ¡¶6ɬ! ®™c7Ñ®1Öˆ;Ƥûa·ÌZr%±”QÇt§ÞÏÜzNqÉ$NKÆC _ ˜ê,.ÿþäØ-0Æd®˜ÜU“·_\2árà ÌþÀÐÁÄÌäÀŒÚÙåøˆy;Òp% `œ3¦±ŽSø’†-Uí1ì%ÌwÈ´‡&Y$$l&ƒ–òÌM(¢]!M@¢ÁOäIœ:þœ;'di¼ó%YJÝ3ã\2)sýß©š.˜Ô•¤!œß®àK®¤AK‹tYlŠ¡IÁ#aJHÝ2 Œ!ÉW¤¡ (¿v>»ÉkR;Mà›L$n¦¸-OÖ+ø*n›?Éïª-¡eß|]LÊÛ¨´Ô:Ÿ:«Ížm.û9Žð/özº¤çÓÞ—D¼n¹‘ä—Ó^—"`6,«^b¨$Ó*wŒ®êÿŒ‰ÅÎ_lì[ëòÆT® v—‡NtaæŠKfOÔš5kpà 7à¥/})Î?ÿ|üõ_ÿ5V­Zµ»›U´U€LQQQQÑ¢R·×Ã!k×¢¶×_6mÚr…t»]Pæf©ª Ȳ„1&&š¥êtQU&ì{Ü '`ÿÀ²e{íº *zHô¬¿ú6þáeGòs„2Ì ›ÚÖ!Ž·9}M†>Ví' &3ÆÀçsËŽ×!Dx þƒX‹Ã~·VäN(™c&wÉ$¡Kd¤tµo‹$få²ÑÇ6@¨°$`D¡¬u³¡)ˆÑn„0@# ®s€z+¨ÑAÍ•Q:£ —ŒUó.”ÉÀRÜÆÞªÞ„²×ºæO4 „ Õ—R›”FÛ/íÇÞRá‡Äòã¯%/ &Éw5ˆ³­­Ê’Àšqpe¡`¦½ÚR´/§Æ´¬Û>„Që€I«.ÅÞG2ß¼ùóÇ~³‚-‘X,0ßcå=PèKW_ò¹ŽÀ ‰ëT›b{ZPÅ šÑ­‡öº°=‚ù½u°Ÿþ³ÆûŠv¯<ð@|ìcÃüÁàU¯zþæoþ¦@™_b STTTT´è45=£Ž> kÖ¬Áh4Þ#"jþ!»=º½–.]ö`›Y´‡éù!>öƒaá L(œ`~Ó¶-_D‡Œ*} ÆÓbÐAbiy”O6û3ãrkq€Ã$”i\š€P‚C†9¸c’rØÆ€êÚBe›8lÂñuh’t•1áÙöÙÔ!V2Øs!ÀºÐ¥º:Ÿcð9„î’!FÜAm+PÅúÐÈ9+‡€˜¸œN¤ÀLŒ= Ø© Ѐ@Ò´Õ•J´²¾—Ò‡I–¬À˜¿­Ò¤.×–vÇŒvÍ,ÔÓ[eÚJ]³úˆ ßc÷(i_R;ò"µ¼Sj}ÔýˆatǨWë3²¾ÎPfÄ-Ótȃ¤\2¤\2f,ÐLmѵÎ%ƒYí¡:ðÀñÑ~/{ÙËpÞyçáƒü`2¿¤*@¦¨¨¨¨hQªÛíaùŠJT´czée·áâçîIF–ñN`’d¼mp&ç#¹CF9e”ñ¡19ä§Ìsª —×õ¡Œ W…á¿vɉSF'÷…wÈp]ÃVl]»÷«óëêLº›B%%D‡Œñ@~ã`ª1yè’ê<\v˜at΢Su0âŽlsèðŠ3!@ bTè’%çz‘ð‘ÛC͇‡&wÆH2!cRT`Üf`‡ óýêÿËj Á #0&‚ŽC~$ŽM3§LÀ~í˜Ia ©ù[Ú~ÈRœç0Ÿ˜6çLж6š¸b4¨ÑÿE˜ÏçôæÝ1Ç«$íag+NJ{^CÁ&”!Ÿ'ïÄò_NÒn•ûú’ì7 c¶ÃèÔ# {]`0ÏY{yqÉì‰:ðÀñ‘|/ùËñŠW¼úЇ°zõêÝݬ¢‡XÈ=,ôµ¯} ›7oÞî~¯øì½øž½O0’GF™í˜qŽùñÚÀ¥ë ?ô•e߆ùÀL˜ÏÄ!DxnUá³Ê±£Naä<úzÙƒ˜àZå•‘Ô–•Ãï£ç`Æ!‡ŒühR@G[(9FS@HjÀvóÀ÷&V÷1䮃2Y'&.ˆ!1~ˆë3”8b’\2㖲Х&Œ1þ>è)õh„V WÄ!3îu{aKq}êÉ3Á9Õ„+;f"dç˜É×/ YÒÐeÜ:¾¤? M‡Œx†’çGî ‰Ó%uÄÐ$a¬¸iCšçÕ_©Žä9(£2Äòd:0ƒn¦fôìƒ^˜ÀÃBo}¹†ŒNµ›þô_Æä‡ÛÃuàâïþîïðìg?{Üãpíµ×(óK¦dŠŠŠŠŠŠŠ:餓033³ }/øüzüÕ³–#8(uËlÀèuþí¬ß;.Œ_ÂöçžÀŒƒ”y*€<”Ñï Ê“åŠÓ$¯l$“‚)Ìœ&ùU“õeªÙ—È´{Le¥F;¥­²¯¯á’‰PÆ t\’_ó%‹ú¹zKrÄ_X|&„A[n“&ûÕŽ²aLK­óÀ7Í!“¦¡Hµ.ë ÿ_ΗT™Æg‘5>?L²-¢òu\4xÑ®™í;bÚÀË® Y⸌ “e„õ”­ƒZŠkô=I]2Ñ\2¤Ý/éò8(ƒV— ¬ Wè¯J _«S†(c»UmQõjÔ̳×Á~~ñ¹dþü; ! Ü%}SUn®·Y5𖫘Y½z5>üáã /ÄýÑáoÿöo ”ù%ÒƒÏ WTTTTTTT´iéÒ¥X²dÉ‚÷¿ðŠMM‡ŒÉ L>ŸçkUózl.ƒ†q¯ùºqó &Ü8˜gƒ·7ù¢…N’œ1aÊ÷Uî3VrÉèœ1â É]2%­u—úð¥¶}ˆ¥±Ç\CCC€-Às@õ¯5zv€.†0,!Jヺ„ºÔ˜çX;”X欜2›Pþ:/ÍlUIçXÚ¹Rï×%“u9å¬Ü2Åò×iyìXj9”‡¦*-•™NK`·•ºVe ÕqÚKYgå Ãþiiítû¸å´4uZ&;/ïm盿Ävº¿.Kʉ«ù|_}?±Խa¸IîŸÌ³Ÿ,Ô¼Z5¯KcËzÀÃ@I*í¿$÷ ßZ @¨ª˜05çêOߨ[‚µ&~‚5'SßÏÚ¤ö¶Ó+¼íé‹ÏspüñÇ㓟ü$ˆ/ùËq×]wíî&=D*@¦¨¨¨¨¨¨è—VýË–c´Ã%q»,Æd?Í'†íÁ˜V@ƒl]vècŒÁóª _aÆO²rÓ9KÚ. Z¡Lº$!K2y`•k¦áÑîÝ6¢ù»N;h´{&wÖø9`|ø[›ê+5&Í:8O«*¡%ièRpʰd刯54´i.ç¢ H¤¯¦1ÀOA@å ‹À@&…7­ #,¬PÀÔúØm°†Òå…L¶µ=ãaKz mЦ _üÄmÇ5Ùv}½éü¸>lƒSáUA™f¨òáo)|7!€˜θõ>\Î/kj«Ë÷†Üaî¨ËèT#` `ž½®õ;pOÓ×MãMožÛèÐþfÆO‹ʬ^½_|1:þðÿwÞyçînRÑC dŠŠŠŠŠŠŠ~©õÇ_ÜšQ öÔk· /Ü%“ÖÌiÓæšYÐ:¤ÓADx^UáʺÆ[ L>Í0㶺Æ5ý>¶dΦ¨<0n7Öt8S>/P¦Íu£1edžæ¹‘+…2òù$¸p@›=ê£â:$ˆ¡!I NpÊ(#°…SgŒ…sÄØÄ“OÚ‘¿V¦è>¥À¡1ØðÆCŽ Ä4@AvÌ:ß—›mÊáKÊh(‘ƒ§íÁ™–äN“º´Àj;ÏŽ¹pt;Ú LÓ!ÓtÅûÐeÄ c=h(3Î%#N™t2)”Qp&€ÈgÆ…œ’$ÊÕ@`z 3a¥;ö½¸;tѺåàÚ€kcÈÈK ÅMÖ†ÂüÛ1”éõzÊü’hñ=¥EEEEEEƒFØíöw~"cÐítÐéöZ+óíyºîºë°eË–õÞ×iÞõŒ)—HsŨådûöæ%¥Ô+ý"¾Íu$ç̶i ”ùŒOô{”1I.™-ÌXo-þ»®ñ}k±‚'v»XnLp±ŒÍû"€E\0z ‚µ[¦-±¯æRº[-Œä ÉºÝu!Tƒ—KFÿ€>r0†-@³@ïßàgƒª‡!÷0 ¹d$¿ …$¿1Œƒ1.Áožg&–ÀÎË_Ë:ʦW±„<ÁožñD.'^”Î!Ãz.T[’>—Ô¹i^I°kY®´/ò¼1:¨+ñùLÊ;–Ôó®k&üEË+ ²©´l‹ÏN[î˜æ²Î(µ”=Tøÿ°zVý¦Ü—äy’<2¾êRÈÓÌ!ÓÞóq>í µ¬’F‡«âe ;(CÃö¦¶°K ÌffiýÜž—KæeëÁ4fÑc€uòbq„.’›Ë/'é,¯—èíOïàÍ׌º‹Ù Zµj>ô¡áw÷w±víZ|úÓŸÆÙgŸ½»›U´‹T€LQQQQÑ¢ÓÜì,î¸óÜtãXÿÀ;ýøÆ,_¾<öXrÈZLMOïôsí|­]»vÁI}Ûô†«fñ§O& †å?úü°Ìj'´ÏBÂ_B%ê6È’¯k0Éñ½"ÂïU>í¡Ì*cð3¾g-þÛZìM„« ëv±²ªHIJ_2Ø¢2¾:R€IYÈRÌzÊzì»(Œ«à—CÞ™1ëb‰_ ŒÜŒk;&. Ð 0ño }}L¸$¿”ç“ÉRÖúRØ!tI•¿–dÀ¡â Trß_Ò‰8šiLÕ%yå€B'8°BÂ\b¥%ƒØú7ÌdÈÖOVÂø/§FàM[òÞ34?˜i›¸3è2"ÆÞn@dËã  (3IØ<IÁL„2È L56Y—Ã?OðÎuB’'ŸÌp¥¡ò’¿ÃÊTlQâîU€ªºF½¢‚9cì÷(óûëŽÀ†0¨#ŒÜ¥«KPF“-½ˆ” éwçÛ½‹7y¸‹¯dçjÕªUxÛÛÞ†ÓN; Ïþó±bÅ œvÚi»»YE»@È-* ‡ÜqǸîÚoáÔÓžŽƒY‹Ngçþïl4á–Ÿý ÿþïÿk-Ž<ê(t»½zŽ¢¯ýöÛ“““¿Ð1Þxõþât_'VÛ9DcáÌüóa0Ùcæ…2m§ ʃßðéºêû8©ªðaÄ¥1Ù”‡-ɺÆäÁ ÔvVNÊ`ŒÍÏç“úZ/úUŽéÛL H@Ø7pT#€Gwá*³l:F˜Ø»z0è"–x–SÅJ7®t±¸c ÒªKÑ!ã&7ÖN™br§ Œs0((C~ z†)Â2õ<ÈkÀ,Ä k=’°DÌ9’‘á¾vÅÌW[*µÊ`Çum€e!ÀF*)ÍeŽÊàKú\5áŒ`$ñr0C)|iV[Jû_oát5Ö"Ë”‰ˆ«YÛJöà%ž‹ˆQ-%¸ç†ÅCáYrî1wÝÊXÔöº€eç”ÙgÏÉXqκG`І¨`:‡1¬(lNc=ÿÔýªE+Ý-2=ùÉOÆ5×\ƒ3Î8gœq®¼òJœ~úé»»YE;Y{Î'²¨¨¨¨¨h†¸éÆqêi§á°ÃØé0:Ž8ê(<õ©OÃ-?ÿ9f·mÛéç(ÚsõÆ«ûˆydÔDÛYžoR¿öÎ÷º}dì–Oƒ•þNétð˜ªÂ¾š¤&ö½mLµ%¢&wÂdÓ¸ãŒK2œtQ´I–Óy ŽÓ@nPl+€j7Á˜&ÿkS¼ = `¸0à8Žãˆ¬š8T]òÉ}u.™GÌ3c³¼2+ìóÒøü-,ïKòÀäùO$Á¯ÏIÂé~¬ÞÇÙ1te¡¼ÂSÛù9c¹]òD½ã§ö\6i®–± }C®˜q‰}Çç¤É·oO“%×d’cê~O÷Oû@ç¾ –²WIò&ÓiäŽa#óÀT€é„y2²®ùý‰*ÀP˜ì#•ì—e`Q™˜ `   söº|î:=cÝ)xÞºG¡K#T¨©rN*7ã]U-æ³fÞ$¹cZÌjxÇotwÇ¥þÂzÊSž‚«®º Ýngu®¾úêÝݤ¢¬dŠŠŠŠŠ•˜7nÀ!kÛåçÚkÅrXËWüyÑ/®?ùò@‘Þ1ø²³¡ Ú÷iûácpåh„ÌW{\ÞýÉv\t’ß¶œ1ÁÙ¢éA‹.smZ¶”«!^{tÉ€ŒáB—,€À6`ÉlÃ$æ²RØ®­âµIœ l"œ‘d¿¡ ¶TYÒÉ}ÉæÝ¶ÚC—N°B™ÈTn¢*Λ*ÀcœûÌ*<”1“šè†ùÍÝeN_÷+XŠ™cÄñ'¹bÆ,œä"~ö«|Rë ðŽ3§ÓõWõWqÕUW¡×ë(ó0T2EEEEE‹NÖZT†± eÈÄ„¥E{¼~ô£áÇ?þñN;ÞŸ|y0Ä"Xu|ÎòÉ´5Iø+If#“IúÂ'ø•ê+äüb ›K˜Á&1À¤v’„.¹ >q/² (>Ù¯mKìËiÚ %8*Rºpó¥ÏuÒ^¤Ë’CF`™ÿgÁ¾:’Î`‚¬9d¨ 鯚]žâtà}Dî™ôü {·· õ&YçæC~˜|åf ?¯ž™¶ä¾ñ5:´&y‰Œ ÙšÜzyTå #ÔÉ ç÷Eäï›$ÿõ¯m9¸ƒ®¾új|þóŸ ‡C\|ñÅøà?¸›[U´3T€LQQQQÑ¢Ó®È3ŸÆý¹W´géðÃÐe¯çÓ›®(  _dÝB—}vO¿•á¡ 0oâ_ cTþË U2çv»¸t8Ä=Ö⩽^ë~ãœ,a_-@3DÉoÏáè8wK~l?ÌOãºòªKa»ëÒa<”‘Nª ÌËÿÏ&l{Ò´ªºü4á·f¤ü&å¯Ù#h"&pë FF’¬áäýˆ?ù'ø‰.Qt%I3Ý<…2lýuP†ÇºV °õƒycñ¡ oJ?ê¹”K„„¾gŒ8XüzíŠ!uŽm3þy²€_ï@ŒeÀ*Ç Ùæ+ ©[Œºl¨óêu°عPæèu/Ä lÂÍ¢‹:¨QéçGõ¾Ã– \™vãŠzfˆcu%GsÇ7€ÐîŽñÓ_üöÞøO{”¹þúëqñÅ㳟ýl€0'žx"^ò’—„0¥C=t7¶°hg«™¢¢¢¢¢Eª…åvùîÏþfG[ñ­^ƒ7žýw˜šXºðS¡¶%¡o‘Ó›¯Þ~jKµN^Æno]VPF¶åáIóÁ˜àj`à·¼{LþÑö©*|b0ˆp\”ÉÂŽy`Zö‘’ÔŽOy£÷×ÇG} /n§x¬æËÃr=ÑF~;ë )”òÊÜ,?|f1…º!—EÒŸº¨ÉJIlvÉ*.§ $ô(i•„%E,À %W&À™²d”ÀõC’B‘€!g€YŸc&†.¹ëáÐ6bÉùc< 1~׫Ö÷Ÿ…rÇ$ùvä¹àØ¿þáÓ={£ê=@mû¦P†ÛÚàKúIž 4×A°^Öµ„,©ð>1§P=¨¬ö nX4èŠW'óÒ05ZZ£{Wþ,#¾2P1¡f ¶ŒÚµFÌ00Ö½Ž,ÁX÷9Á€ŠP½ax+`ÿæ3^÷<,§Yô0ð!JRÝLž%­x'-;»‹a€Ù¤υ§Ndš_¸É1}©k 0†tÄ^ê´Ùtûí·ãæ›oÆ'?ùI|ò“Ÿœ|òÉxñ‹_ŒW¾ò•»¹uE»ZÈ=ìuÞo¿_¾îÓ8÷¯N»_üO8|Õ£ô¾n· [ïAµÍ«{î¹333»ü·C×¹³tÛm·áæ›oÆe—]†O}êSxÄ# .¸/zÑ‹pÚi§í–6í STTTTô°We:xò gaíê£ñê</;}] azêŽ;îØ%9dÚô毎šP&×|®˜6i(£ÈKKx0Ñb’uó@™ßŸ˜ÀÇû}€ã{½Vƒ–u9  9eÄé2Àdëtê«ÎÅ-óa$éõÓùbHí'ðEC™°ƒ¸d$ŸÌV`ím·`ëÁÓ`†k5©ô`1LlÀ¾Ø!÷G eÒ œ ÆÖç‘ñs’ºvÊ€Õ«›O1´„¿srãOçŠa++Ä!£¯2Åg0†+yg‹Ë!:A0Ê5Yö¡O1ä, O"NÖ%ÀF›È;dðÒæñh#ì×b:cdž"šIžÅäÁË€ ûF©¾Ñn™h¤ßø)—ʘÐ. gsK 1„TþrEÑjcêÚz Sc8²ú呵ÎMcÖ:(c§€ÎŸ®×î3cßÕgV¬{-&©Iô±œúèa€†>´a–‡Ó³Rw‚gù‘y„‡ƒ”C&æej½¬]¦Ûn» 7Ýt.½ôR|æ3ŸÁ#ùHœþùxÓ›Þ„c=vÁÇÙ´o7 Ê IDATiæævH*Úù*@¦¨¨¨¨hq‰hlî˜ßzÇZ¬ß|O²nbbu=Ä÷îþßXµ×áxÕsÞ†ÏÿûGqí¯ÁŸó‘ a*Ú£uÒI'mÈÜyç8ðÀwÊùPæÁüqŸ¿'sÊŒ{Íß>nè˜ë ªÂK''ñ±¹9ÌxâÄD”¶D’ ŸTÈ’>gë1æ9n›šP*ÄÉ·Çü§–_¦¸ì@Œºt/°òàõ˜Å4è†d£r¬(ÄxwLpÊxïÇÁqÓ!ÓöÏÀXGHr[èIçÅàˆBW{· ‰†É B5¿Y»^âŒ7äß«¡g¹NBWL]b òa$±×ý12 ]2~àœTkŠgž$~fØR _ò$¿Â$î˜dž ÉïãŸÀä5yP)@—°¬n‹¬‹Wè—Õ8ƒÔ¼ì'`Æ=O™aÈÍU€/udò½ásYv¡KîU ŒÅ`Tc8a0a8ª1ÕÕ5jgØZ°•°7Æ’·¾Ù=dQ±äƒa¹¤.†™#F ºkOîƒtZjÉ?V>'`X²0ê к¯ç˜‘#VŒÜ¦à’!õš<à Þõ{Sxçg±«$æýï?¾ò•¯àØcÅ\€·¼å-;a´Ž8âLOOïä–í. STTTT´è$•Xò2ë7߃wþÏË`¨BEÈÿÊ8²ÌÕ[ñÓ ßÁ^û๿þr|㦯âÜ¿: ïzÑçLJ0- GMÑž¯;î¸ßÿþ÷ñ©O} —\r ¾þõ¯ã”SNÙ)ÇN LÛã²£.`»PF&ùeXcÏCÖTþ`j ™Å3NžöŽ5p¢è}´CF‡0åÐ%YçÏftØRv9ºÝúâ“ë&µqR¥ªq4韀>pÀ߃ÍÇì…9LÂøÐ%Ý †»<ë«×È!BW‹SäGäfbæ°$à€=IIB¨7`Uæ’ e½`KÑñ’pÙ7:‡Ø™q'÷n&A"ÑÍÁä’«Š+FÂ’Ñ,«Ì%£2ñÙåxƒâþŒ! §0¦ ` ¡1審 Äݤ$ŸŒ®°”W[Ò wˇ ÷aµO ÔQëxñW¤Ã“<|¡eŒ‚/äþ¿f*©`ª*Λ ¦êÀTòÚ Ç`ø0&d†Ãæú}ÌÍõ1ë_ƒÃ!FÃ!ê°¶öŽ* âÚ?5Œ‡1FèÈÄ#t`Œ±êjx5¬Õ¡JäCð„«¸ÔÔ~NèŠêþÆQMxö;Rß‹ÚBÏïDÝz뭸馛pÉ%—àòË/Ç£ýhœþù¸ð qÆgüÂÇ?ãŒ3°lÙ²ÐÒ¢=AÈ=¬TÛþóçŸCe:¨¨òÀT ‹·býwàÑ8«÷?ýýYxÉÓß‚ß|Üï·¯.I}£î¸ã|ï{ßÃ?üÃ?àÒK/Åa‡†W¿úÕxÍk^ƒG?úÑ;õ\e~¡¿ëóx”‘1¹Ú]»ã¡dÌÜRÊHÞwPUáù““øÌÜVv:8irrÇ`ŒOAKnyk|¥¥<±oÞÖqÛUþ¦a"ÔˆP&i¬o$1’Ð¥£îþfV-Žeòð ùÕ>q›$ƒBJÎBÈ@…§,ó~)‚ +üdGõý­ÎaepI¾€…m¡]ÜòÊòÍè6³"Æ¡û$«€„9ià ³ìÝD¹CÆxgŒi`‹œ?€s”Áö2yø’†3Zb!r eb ´Ñkõ½ÈïK›K&-ø#î—xn¼?—¤ãA ™*,`ªNU§‹N§ë^»]tº=t»]t»=t'&ÐíöPuº0Æý¿°¶ŒÑh„Á`ˆÙÙ9lÙ:ƒ-[f033ƒ­[·bvvý¾Áh0@=bغ[ë⟸†¡Æ'é­Ø…%U¨Q‘¸§š µ4„‘=$q/¼1°ä ¦…á˜ýœBÄ~ä;Gu{pŽù>4•’ÏÒ»ÏÂë/ýÅ\2·Þz+n¼ñF|üãÇç>÷9wÜq8ÿüóñÖ·¾ÇsÌ/t좇· )****Z”²µudfÙ>6l» ƒzƒzUÕÁ²é½0=¹Ý 0ÕØn¸÷*¬YúH¼ð¬óð¯ÿù1Ü|ë7ðúßùpó<¶~(.§h'èÇ?þ1n¿ývœ{ì²Ëpä‘Gâ‚ .ÀE]´Ó!L®7u„·Ë)ó H :§m`4ÑÛÆ1Ls›úìvñòNž™ˆpòÔÔ‚@L[´CFoÏ«4eÛu[×--+§üM¹e‚BÝkŒ4ŸÌzà€ýïÆ63í2`¨ä]¬  Çu qÝ/yR8@ ¦Æ$ACÈxŸÂà2s„Â/ÿ®¯È"cTmëÜ*ŠaQ¬û4ùFXC0Ö†p-ãKjSh€WÜD®ãÓü1€açu ŸD;dâ-lYJ‡ðÙD±oŒZ—îG~<ž&ð ÀFòÐ.™ˆf¶ë’‘u„Bå~Qïñ9a’X5H.¡d`*e‚ÆMUå`L·×C·7^o½‰ILLL`br “““˜œšÆÔä4&1….:lC0f1‡™¹­Ø´i6l؈7`ÓÆ.¶t ¶ ‹F¨}ØÈç‚á:8`âäÁ©ç¢brS>X0È×àbrK`f\?Êø£ÇEw¿ifoý¡É+,Év œ¯|ö<ºå–[pã7⢋.Â~ðœp xÕ«^…·¿ýí™>pà­waáû  0‚A B'ìïÆtäÁC _€Û'‚èðP&ÄQ€¤:‰BÛ)ýõQ<|x5ì :‡Œ\›ô¡„%ƒPùc‚ØcÒãVüñ%i°õ }Ó›ãÜ l(¸d´;ÞYcäB9\ˆÀ ÆPtÇ8ï„4ºèÛËXÐgTèe˾!1„)3ÈæS¨¢Ö©[à–©}Þ÷3) #áHLe¼C¦’Ф*ŠTu:èxgLorS˜œšÂÔÔ4¦¦§1=½ÓÝ%X‚),°Àܠπ° SØ49…õ“{arb†€z4ÄpÐÇ ?‡QE.G‹‘ð8ÿD0ûÜ0Æ'ØÕ {¥Ï™Òw-Ù3¶±ƒ1>ïÜ ׆4ûöXVŒ‹H6E™|Ex“~Üì_¾tü±mØžn¹å|÷»ßÅßÿýßãŸÿùŸqâ‰'â/xN9åœzê©Û}ÿÎÐw¿ûݲôèóW^ýœ§™¢¢¢¢¢E'cŒÿ¥wþ‘/ÀtU׸©Øj¨º8nåS±ážY\þ¿?ß?õOqÆcÏm¯Ó)ÿ›\Lzík_‹üÇÄå—_ŽsÎ9g·´á-ó9evT䡌2län¨åì­mùºe:¼b¯½pñæÍ Cxâ’¥ó–Èèv宙Ƹc |A–ë"0Åá[:(yŒ°d0Íy#%Ϯަ+¯â’Ù aÊÆÃ­p†²÷2D„ƒ;¼jÅ üõÆøÙp„sV® cä5 +ÊŽ9ÏÚ ×u-ØŸ#ù¦Ë\È»b"˜ñ Ê(ÄHB—x#á˜%ßÇÿ?qrÈ't/qݘ¤ª M D5ÕÉã ç l2Ä@@Œä2ÉCe<!r&W®Xð;)0“@ilh;…>—†K…P«s#Ë âÛî€Lœ,T\;ǃw×ø`p8£: ‹kahNþB¸Ëý”¸`B†cÈ<…ûo!Kú[ïD^ÃÍÑwWîU¶ÎχÊJ:7 ZÖ©|1ð@!gŒ$è톜1U·‡N¯Õ&¦”Y² K± {ÁA˜~ÚÀ^pƘËi½Ñß¾ápˆÁ`€á`k¥–Ü\Ÿñf(Yãih^ÊŒ™t’ aoóÞ™äSŸ#lÞb±bYü,†06ù<øïRŸ}y@|¶ßó?—àuÿk+àç?ÿ9¾öµ¯áõ¯=î¾ûnœ|òÉ8ï¼óðž÷¼G}ô˜ë~h´zõêây©™¢¢¢¢¢Å©–*K{/Ûûÿ¾3Y795‰?zþëPU½ïS±²s®ø×Ïã‡_þ_˜ì- v˜9˜£‹>ðà5¯y žùÌgâ _øÂâ€2-P"‘Nò«˜Bx»lTurøq@F*,ÜíâùË÷§6mÆ‘[·âWöÚk»`@´@ȶ—L£ ¾½¤/&\ :´î M 4\ÑŽWà¨5§L2RW$…,À#€úŒå6cßU÷£ t0€¬¯R;Ö:.›!ÀƒBß³ïJFw û R½:^·‰¯'¥±Yj0I[w}N²œmì…4„a$0)'æÐ&Ç«}˜–TYÒK¾È“ö·Ì&öÛ¦Ö^“ŸØS' åÚçú™d©I‡&QhŽ¡ü–ËÉoËsÅh8#Û)ÌG“Ý‹°äÛ5°‰&ºn<Ú ò FUR2¾¤µ€Óuº ª Óí¢êN Óí¡Ó›@wr݉Ie0)87Œ€ c@~瘰3[·bn®Ñh„º®QÛÖÖ°–Álr!0ú#¨•๷ aK„1 ùø{œf"’ãGýä§#üËçpîó&±ß>ò,Iû™ÄC1lI¦ÍúÍÿôOÿ„~ô£øâ¿ˆÇ?þñxîsŸ‹W¾ò•»Â=|U€LQQQQÑ¢”¤ ~êÂï5öû·î ð+k^€ûîŸøÊ%xéÓþÏ8ñ…þ8ã 3c8m74ªhÏÓûßÿ~¼öµ¯ÅYg…+¯¼r÷A™§îàŸZó³ÚU z>”ñ{É¥€vH"©KNžšÂ½ ¼ÿ¾û`ˆð”+ ùFtĺk[2Éqý±%óƒs\ 8cHË5ˆàØhÎO ³a<ÅŽ#Tq][?3b)ìmÀ 37`ãÒ`®1‚º6$¶r Iª›ôÜÕ¸ëŽ`&:d; ír÷U2z£Ú‰`WyÆZ±ñM«M 1ÿ‡†0êx1o²Ü¸ï/‡ë•«—ä½a›Ê!#à0gërÙ~ˆO¡ îX27ò@3RwŒ®ðüPàX¾0“­P&Ïã·+øÔtÈ@˜xä8H¶Sx¤r“0ÒÏîZTik2`#%­ýkU¹°%ÓétaªªnÏA™Þ$º½ITï”A…)Ó~Z—;¦§Z<€sÈl°ÀæÑÌÍÍ¡ßïc0b8b4ªQ×ʤÏë<Î-Šß,‰‹Œˆ‘äФB”ä³%߈5»âä9‡ÙÅãgñ‰ÏÌáEÏ›Ä~+ ±„;ƒ4ÉÎà‹¸b6l´¸ó>Æ·ná·Xò•³ñŽ÷|øÀpÔQG½Ú¢¢¥dŠŠŠŠŠ¥8üü»} G\ÃwpÛÏoÇ_¾ðJºÿ#Y ˆY\úú׿Ž-[¶„å÷½ï} "œy晸ꪫpÈ!‡<ämzË¿?(dDÃO‰SFfÚHéÐbâXn94i(C8x¢‹×­:ï¹çcðÔ½÷çÑVDžÁm9dÔ±!ËêcÕãŠü€>85äZÂA3º$#p= ”1óÉ} ç ¹zF »Éàä‰ëðµî“ÑG=˜¤L‹Ë%늒·VúX_gZ ˆabo6á$1©Ë¤J ã}m p’óŒ± &°‡!yã!åaLËÑ 0¥Ã$énl‹ëBGИR‡Œìœ0°laâ]÷}âçÚt¤õ7ñ™Š‡ömwýLØNÚk``ýF‹hqýÍ5î]ÏX»ÚàI'tñ¬§ì·wµÛr-T·ÞzkÉ!ó0R2EEEEE‹N†ÖZŸ„pûúÜ¿þŽÜÿD\ü²OÏ¢”«™Å¥N8333ɺ÷¾÷½XµjÕnj‘Óƒ†2ãdѶáP€ m|‡ü—©‡Lôð†ÕâÝwÝc N[¹1Ô£ Â@YŽ…–Wµï|0Éí¤wðøüä ÎØâLtͨ©Ƥ:Q Ì0C‹©-³XµÏݘÃ$ú˜¡ Ã6@Kƽ=änq!”ìc~bØ’ïH²Rb؃‡`ɾÊHú@ñj‹;—ã–ƒE!Š`ƒ+†¢£Å²¢A |;9ëo¹—bô ÷ƒ]¡"BB¬{%ßÙ?„:©Aµ>Ž,Trògdß.wXõNÖÎZ(A ”êRžsJžq×tòàFµ1¸Àä`1׌n9«íñ9U¯a$ï`&Ü[ryS@•3T8SUÇê¸Ð¥Ê‡.uzèt'ÐíN8— :ÉGØ>œñËØçŒyÀzêlÚ¼[¶nŶm³˜ë÷1Q×6F°:»kau¼;iXR¾¬«*µÿ£˜è—¬—îgõ«fá‰Ošˆð‰OÍâÅ/˜Âþ+)ì&OÊú Œ;ï¶øÖ ?þ¹Åêý G®58÷·ºØoEu§ñÞ×.ÃEï‹pOÓ¶mÛv(ÑlÑž­dŠŠŠŠŠªN¶®Ç攎=øqxÚqÏÃéy€m³TöX ³¨´×^{5sn¸è¢‹vCkRíT(C$7ŒŒDÓ‘Q:4TÑ"ºÆ‘c'ÂÚÉÞtмóö;ð@]ã«WÃPL¦ ¢-ñóMWCóÇÑݸϰ ¤Ø¿/ Â)39pibáKP'ò$I°qÂÜ ¸r¥/…Ý¡‚a_›íù@ MXÏò»¾$Èõ.ïa#[³{GˆNd_Gü¶®ªQ4߀lÝ caLú˜<(wL œ|ò]‰/\¸Å‡€„é䮩Ղ¢‹Çº7[’›é30éÃù¾õ¸6H ‹^$ôEæÅ9“ì€ ÅDÑzÙ/E@%לýTÇJJMão°­\ÉkS¹y2¦ጩ\èRÕE%S§‡Šzpiîãã;„ËSûvH¨Òz8‡Ìý`¬ß°›6oÁÌÌ6ÌÎõÑQ[ Ë kÖƒ¿ø(4K„‘ÉÁ«¼/ÍÉ9eLr«Žì£ÃK?¼aO|¢sÊ\òÉY¼ø…S8`_Â,î¾ÇâÚoð“Ÿ3=˜ðÄ;ø­Ó;ØwEA¦7wŒí¡:æ˜cJR߇‘ )****Zœâ…9XÞ}ÎÜî®t:eŠvšæ…2 (“C˜$ÕD =…3ÈÄ_êÄešÄ«×ˆ¿¼ý,ítð;«V§AhŽ€Ç™@úÒ²^œÛ»Öì5¤.1Žô åŠisÉHè’†2š!ö[ÀÔõL…S&þ ×ÐÓ1ÀÔƒaFekÔd10Œ€1ù>²ýÆ$±ä‘a°ñŽãvŠy€!1²Ñ¡Lt®0LüŽò …]üÊC¡ÁúJriH"¡:m¡K®“”з¬ ÇÊ2 oaq7ƒ­¥b“ÿgÝ"ZŽü{%ØÀR §#˜¼³ÆÃio„2¥&Hý8<Ûä7GNº¤›­팽ŒœÃ9bʰ©¼CÆÁö@†<ˆ!?oL _¢ªBtJ áàË,Ü×DeæàB”€YšY7aó–lÝ6‹þ`€º¶¨­À˜Ì!£®È=6Æ´ Ir©™ç­¯äïs„2ó>dÍaIÅ2i…<¢0žøÄ ÌÎ2>ü±Y¬\ Üwpè!Oxl¿}&aåÞF}(|6¼¤ðhîá<¦èa¦dŠŠŠŠŠ¥œ­}×Ã’áp¸ËÏQôË£í:eÚFz€« ^äç8Jʇ€Q>QF(‹–ëØÑ%Ý4ÆÁ€ã—-ûŽ8öÓŸbi·‹3öÛ/› ùÜ´ì]êØúUÍ7ÛG¡QÁÕ¡´ˆ1jCjqÇ4B—ò°¥Ðß)¡6 ½™_öS|Ç¢jT0lQq C,Uñ0 @*±ì•Ì1 œ‘A¯Ééšo¢ PEÜ6ðX_HÃÀ0£¶i5™P›}Çc98F ’ðüA8£oœ¿gäÝ1 £ŽAqŸWgòY{Ý>zž|òW\‰}㮈¸ª÷³ Eò&b䡈䔑ªOžÝP‹" !Ï 0áÚäáâÐáXiçˆ+ÆÃ_e‰©J&PDÞc:~qÊTnž"Œ±ˆ0†ü<à ÍV¸ü1ëÜ¿m3X¿7oÁÌÖm>oŒÅH€ +wL|!à%‚‹ù0Ëö§Ü;—£Ká©¶Ñ…%Ï‚16ŒpÏ#|ûún½ec€åË+üÞs'°ï>.ìÍh¨'ñLá3Bñsà/ù}oZŽ×¾cŠŠvµ )****Z”rc‹â^)Šúö·¿ÝÈ!³'jAáKc L²]¹3Â:åŠÑF\2BH&ŠÆ%L5~:ljï<òH¼é'?áÌý÷÷Çb—BDòÚȱ|{äɼ7m´þ MHþ:|¦e"ÉÇB”ºb”#&ÂŒ~_vøÓYÀX Û78fê¿q{ç —OÆL€˜alŠkXTÁ1 -.w|7þãa8äžA(¡?”ÀX>#‡râïÔ1Ì>— ÅçÁw¼vÎÈjqÃ8ÇB„3Ĉs&%zí÷%ÞðxOÉŸ_‡ÿÄZØ”“ô—z•[Dr]>ïŒ'nœô¯~ÀbC(”WŽç´aNîŸäéT4Є1 G;áý*‘/uüƒè×Eã`‹ñÆP¢ˆ:À¤ÔÑ?r¨ËY‹;ÆÂå‘‘ÊJëggðÀú ظqf¶nC0Ä`4°®½CÆ¢¶Ž+ƾ‹ó)Ti‡2Ñ3?€‘g­ ÄÀ5?/M1‘pbý5î½cˆï\7‡Ûoaí¡œtò釽÷©¼+ͺçΰznȨqîeÏýûbýúõ Ûß±hQ¨™¢¢¢¢¢E©M7bÅŠ»ô̶$Î[DZ½zõ¢2€‡2§îèŸa_4¤QNŒye’s„XD(ãÀŒ0ãÝ2‡NOã]G7üð‡ Î\u@8 yŠãëdœ­Ö¹1µ¸+æi·j_€><ÉA=^ÒåFèRžOFÅt_úÐ¥ÑÖ~uù×ñ%<}L`Öt@Ö‡.ÁA™|XIð+Çóh)†-q|Õ7P"0Ü ÇRp&øK0G5Ý9`Œ«xe=퀎¢Sz^¹!4P ΄RØPý.Ï\ú8@@‡îwJž?qÇ8Â'àDõ‰ôKp4¸5±Þûý™cØ‘nXpÉ€bHâ~ÑÝ2éÈA¹_Hî–bF²FÀMx €‘‡Ó….°p]N•fœKƽÆÄ¸ËòÆŒÓE ýÙÐÌØ8» 6l¦M›±uë6ÌÍõ1Œ0ÖŽjŒ,£®uîuSÅiÕZb5­4TI‡i3¿;FBœtM®è¶Ú´~€›®ÝŠ»oáÎ[‡8äð.N|ü~ãeßQ IDATYì½Â¨3{ÈeœoŠÉUx ~ È8çš„Ÿé{ ¼Ýr¼æÏö<—Ì~ô£Reéa¤dŠŠŠŠŠ•@¯ÛÅìì6,_¾|—žë¾{ïÊ{/¸šSÑîÕªU«’²×{ºÞòÕer#Ë:<&{M`u„ßôÑ~°÷®˜$tɸ!ÒaK¦ñ—ǃ×ÿ¿㡌”%fI`êÏáaNáü€<H ”¡øëtÆô¸66­†BÉë´i=®?¯ôŸ [˜‘EwvˆÇO^‹¯Ñ“ѧ Ôäâ’‘÷„ŠK!dH¹d@¡d$‡L€"±cb“ÄF €ÿoÌÀl}ü¯µ.u­™¶$óàà¢òœ1Ò7Ñ9“¸cd ¬¦FtNÒÏîýÌ”ìÇ>ÿP cܼ@ W~Ù·ÅH_úÉRØ×õ-B©ïØ(ý Q¢K&}’žÈᎂ2$Z†óñÒÉãa€€œq `F3pU˜˜ˆa&Xëœ15„a8#OÑ®ºÒ–ÙYlÚ´›7oq•æúè÷ ÆÔ>d‰àŠî3в½Iƒ ÿd[ gô²SÒáJÀ††¸ÿŽY|ï[[p÷­LNžö̽ðŒßébù C&}n$ ½yÃd`Cè’z~@YŠ·Y3¹=HOxÂJR߇‘ )****ZTêv»8üð#ðÍo|ÿãI§`å¾û‚Lü«i8Ž eªëu]·nsÈà Œ†\ûÍoà¸ãG·×Ûé×QTì ”c@ÁÑÆÓ Ê0£ÞgHÁ SBpÅŒŸ7 C8lé4Þ{Ü#qÁ ß÷nÃGê†]r>@LRÖ¹ÕÑ“{ TC[àIr‹0™c&ì¯AÀœdàåϯ LÅ5ì Âþ÷`Ý…9LbXuAÖÂX ÃÑ%“Œàr— 8”™@FòÀ° cU3 !†}5's/!LÒŸìÁ‹U F½†û@árÁÈB•bòà˜GF‡1‘º7M8ÓvÿØ;©˜Ý=qýäï‰>f€4uxã®Ó&Un›¼Ì_=Å‹#(Œ°CØÅó‘@¹)„‘) ²-´M_0E £#ùn´;ÆdÑcPÅuÆÆ —|·¶¨k`T¥_¡ì5Û¶ÍaË–-˜Ù²³³³˜›sî˜þƒÁ£áÈç/¥®ž uóX½Î—&wʤI}swŒi1Œ- °þö­øÁ·6â¾ÛæpБS8þ”å8íìVìm¼?(BÌèxŠV/&‚%õðËî܃ž`î[öíB STTTT´¨ÔíõpÈÚµ¨­Åõ×_‡M›6ÁúRÖÝn”¹YªªBGÂŽTB̉‰&d©:]T• ûw Øÿ€°lÙ^»î‚Š~é Ì|üç0Ðcc¼Ó Qi qÌìÞ:gL˜*=o@ÆD§Œ!ºt ÞtÌ‘x÷~‚×Lá7Wí—8aÂø77—IS[‡Ú˜‘£6(£§1aKÀDH³ (çÊŸ3¦žëâqÓ×á¬DŸ&1g&@µ+=]£ }\2ìïê땾9”ád8¶¥–þôP&„-8ù;œ[ÈýÒàF]f:$‡¦˜o&©b$® cÄ!K`Ý1¤Cá$¡1œ4Lôú<¾ ˆÇÇ‹´±ù‘ÍGòùùŒo—qÎ'8ç“aç˜A€2áO@d´¶°#F]Yԕň ØÄ¥šÁ1ןö­[±më,f·Íbv[ss úÃcF5l­*+A¹DÔ5X¤ªÅ #¥«åYÔË6»Ñ-EÁ­ƒpî=•?†9 S“çÎõî½qáë74îtQÑÎR2EEEEE‹NSÓÓ8ê裰fÍŒFã1"z?sº½–.-¶àÅ¢Ÿýìg‹&‡L®Ä)Ó6ÍaŒ^§á†‚2Ú” ]©aºœ2îÕTΘŠ"”ñÔå ûïƒ÷OOàußù>À™¬tƒLƒôœ¡Íný³þÄŒƒ&ªöýô5¶ò›&†-E¶+(Ó¾$aTÉ;…2Ô¨Gºƒ!~¥÷Ÿ¸OÇ\g° c-*«\2!W‹ ]Ò` ’óEåÉLBÑB)q¶äÛvˆ#~зZ4†­3Æ/#™ÐnŽƒQª¤óÈȽ  fA Fß»1ë}øøIJ”†Œ!ãn¢ûÈÀÚŸ@`Œze’²Ê ¢´¸c"P‰ÇÓuቡæ{dƒÀi‹KÒ,þ\äÄ ÅÆƒ©Ú·•ÀµsÇØ‘ňjÀêÊã f G# ÌÍÍavÖÁ˜¹Ù9ô%T©?Àh0ÂpT»ãX÷&!ÏÊœzÆ2,™–p%÷q¡Lîù6ÄÞ©%÷3u>Þ f¼M®¨hª™¢¢¢¢¢E©n·‡å+J(QQÔp8\Ô•'v$|))¢ Sº^ÿˆ¬ßïÿCŠR‡Œ—LÇÀTT Œ1 àdòt¬†\R£2[ïŸÁ–Û6àŽoÞŽÍwnÁþØG>y ö^5…¥{wQ¡v{“måЮ?­ïr—FÂäS±ßê ×åŒ1þs%ëŒÜ'éâc@ñshxÿ>xõkÖcOÑüÇ`Ù²exÝë^·»›R´T€LQQQQQQÑÃBG}ô¢JêÛ¦A÷ãp:/¯m.ÈÀTÞ„ðò¿Ö‹+¦"¸<¢ÓqÎy%ãäºnÜN8tÙÞ}â#ð†ïüg°76 jÜ5;‡ë6Îàߨ‚Š€S÷^‚ ^C&*XfX^À/Ï{Pd½á¦KFÁ™±¡K”I&i€;êtjÔ¶õ ÖNÜŠáhÌ™) :]ºT£¦Ê½5 ]r÷†ý‰9”­f²Þ‘ :ÏÇêCÆÆ}Þ¹ 2‚3Ü}¤:šBÀʰ…‡1&sË´…1en4ØBÅ% ïR÷dÁ&áñ¹¦¡ŸÑ°ŸÏ-C:oŒ¸cÔ«@Ò À ƒoúäÜG)h¢> U"jôãÑê¾”äÖ Ķ„¼1Æ(Ø"Îvä0B1þú,»%ª&ØÚ'Æe‹Q]c8¢ßïc®?‡¹Ù¾sÆŒŒ0xSs˜”ñ@¶„,êð$ÉዬÃ`¬ÿÑݨ·Ìáîoþ [ïÚŒ}Ù‡þÚ¡X¾jKVô„±>7 Tç_òe&žøYbH°”ã˜ñ³dÓÖû§œÜ3Ì,ù™ʰûŒ‘ÓC»[OyÊSJR߇‘ )*******Úƒô–¯Žðöù Ì8wŒ%e’ *‡ä?2àU!JÊt Œ¸cü«1*d&$›pƒÈµ{Mã/s^wýðå»×ãá]"<}¿eøã#öÃ!“]X[òu &äUcã¡l~¾©Í)£ò§61ó@™fè’ N\阵­Ð­‡8¥ú¿ì½yÜ$uuïÿ>ßZºŸmžÙ`ÁQ(²ƒ^7Œ¢^\¢Þ,ÞhâÑD¯Y4 É/»q Ä$ÆÄÔÜ›\Ñ(E412,aôº†%¢,Ã0ûótWÕ÷ûûã»Vu 23©3¯šª®®®½zæ¼ûs>çßøœy6w” HcBêÈX¢±¿ÎØ×Dkê«Ñ.•ÔÞ|Tƒiì>Š¶É¿½ÊX)²¡‰ $£YØN c’iMP´ QZ–äÕ3‰RH͸N÷h’¶×’–.…{ÔÝZÚjJÉ’'ÀŠ$ÚcGâ2v3þs.%OÊ–Œ‘p‹X8•™DRðUR&å×Ê”ÜúÊ5K[!“”%Igå‡Úª§ ††ÆªeœjJ놺®W£ñˆÑòrc*ÆãŠºJaŒŽÊgêëÄã÷8-KJK“R3_c£»·°üŸw±q÷Xºc ‡¬æàg<Žùæ˜[9pž0Í„ñ]’¦p$Àû ¼JÆØÏ+±*ÿ%h/§‰7²SÉeTÐ׈-ƒrð׈ۊ˜©{ÓGFô@¦>úè£>úèãa¿¾+(ãò¾b$UÆøÒ¥I×!Á—IaŒXßL9ïÕ3ȸôË‚—h PÆÝP»r¥ñÈùÅ,/©FuÕÐÔš¦ÑÆx…LKCTÀá•(±“’}G…wR¿˜ÑÝ÷2ºíN6oø£;7³âˆƒ8àYG2¿n™)F'ë gQv¥I¿üRmç[( ¾ ÏV¶Ùﯠi?þ´7žq«Òˆ«†óª»Ü¿ç@~ù¿7±W}ôñ£Fdúè£>úè£}"6nܸךúN‹©P¦V°I©ŸŸÂ—iŸ»@È.=Œñ2¾D)€˜qe¸"­ÑÚA—xž¸n‘Ïݹ‰/mÜÆb‘ñÜuóqã÷·þ˜Â´£6ÓyOJ:ê˜X¶Ät•ŒÄÏ…ù]˜# ”I÷É€ÑBž54Îäw1ß“åZ¾”=…q1€Úú¹„NAîÛ¥K á=dŒ´QVAä’G#ö—“Ùël}dlŸIæö1C7 Ft€X…JgŒƒ/̈Ñ(÷ºë/ãÒü©¾1Á?ÆÄy÷d<€™ iRã®}ÆØÆÊ•ZeKFÅIò¾‡/¡,È)S$.k·í€LøÛ¿ãó#î¦h‹&$XÖð2¥$*À’}uû¬}M2twù‚²J´ŽìUÇr¥qåÊ“–ÇŒ—+ªñ˜ºªij dtm:þ1íg²ýXFÓ.Y²eJËß¹sï¶m¸‘êÎMÌÿØ!¬=íÉÌ®[Á`å r&—˜V¦ßºtöÁ*a’é0Ž„W\I’wW ÊçÌ}ýZÃí(ɺ=`´Ïhªˆê£Ý=é£>úè£>ö‰¸ùæ›÷z™n´ Lú1$5L¶’NÔùmá‰WÇ`¼¯WÇ# “…’%c\I6HSY”‰ðö£âwn¸ æ9ÊL2Ýã`Ó»8™ÚþzWðå~æOƒ2~GŒ!Síºd4¥óù>븓[‡ µA-‚XÂä¯Qª’ñÞ1±lÉ–,9CSe0ʪ!ÈL€2ŠL,˜A¬6@kç¿a´½¶ÌHQÞOƒ ñÊ›hOó•IÀ ¾uÛà’n5.‰^¦B˜ÒÓ-WJæ‹N>œûFITLjW˜´ ‡rAI¹Ð4HâvR¼Ùor3Æ&SSRt¯œb ].åÁ“ÛŸ¨‚I”1é߉B&0ï1dbW.«ŽÑÔuMUWTãŠñ¨bã_ayiƒGÔ1ºÑmÿmÕnÆ2@zëÚÃs c¨ï¾}ËmìüÒ54›¶0säcYõã'2Øo‘rål4æ¥q»mv1&Â"_Rái0Æí $_~âK]‘¡'¨jÑ(1Év:PÆ}Î ²Â2n ¿Þ!¼í·N^û=W\qEï!³Edúè£>úØ+cì~ñ3Äô‡QŠ"ÏÉ‹’iÿ÷îãáÇü>d 2]5Ihø¤8ÀñyJûÞ„Èxß•yuL d2²\‘9 “eÎëBžºñŽ>Q¶›8h~À¯½žßýÊíhÓðœæc‚—Vt)ìcÜU( ÄÓT2~þ}•)ù唉©¶ÑeM:›Œ™|‰ä*vêî.÷‡ DiŒ&VÏà F¢’Á$æ¾®„Hû?(ã;.yØI†R¶4ʈ¡1 ZÙÁ1¥ÐâT2NuãN¸6Ì®ËS«”ÉKŒIË•Ü8–z8Ð4ÄìªT)¼ßiw`ŒŸïU2^ñârsI`LË%”ű2*‚§˜Q¤ ™6Iõ2IªE€56½SRèT9v¾>¡d©ƒc¬J&1@‰¿u ˆÓZkšÆ–+U•2Õ¨bç]wòÕ?ú {ÛïS>ê±è:…2VCê@œ?†¸M}×Ý4·ÞÆøŠ«ÑwßCyÔáÌ?ÿd³%3ígï=Ó8½dv5vOþK#=Ÿ»þ'7¡·’¨c¼WŒWÃxÕD8ãaVX¿ÿÄ$ ©Ö­i— [ÜÕ—ÕžÇ?þñ=Ù‡¢2}ôÑG}ìu±¼´Äíß»›n¼‘M÷Üó ¯_)Åââ"O8âùÈC˜™}зÑG?Hüúe5¿û¬¢=sÈøÊ'ÔÉÄÄÓ%ʪíã!L®P…3™Dœù¥1и_›Óß²!ƒçüÚQàoú>Ûꆼ`?I÷MÒô»ÙKH¤&{vá!ãÇî³ÓÀ‹÷˜‘ûyÏÓ½TJ“ e2Ý0§vp¢ºŠË³g°}0Ô`êè!ƒƒ1©Lô¦qi\ç)¦ etí Lc‚9°/]²PÆ*Ê&Ù¢Q’¡¤@mÉ‹QN%c*|¬ýT§”I9HƒÑ“0iûÊxµŒ[î¾àˤIaL§<)…1±‹’'^J‘¢*F…×zˆ‡" ®jƒ—0G¢¿L c&¢£ i-gHÔ7S`Lø“zÆt°Œ+¯ÂC¼L0…c´¦njêÊÕ¸¦׬:æ$û¦·ó­ß|óo‘ú˜¨ŽÑ^åFTǸëëïöæî4·ÞLµá*ôÆGÁÌéÏ"ß5Ùâ|«©Ým b ìi†°ŒÄÓŸV&ιÄO„^Ç/: Óàx£"&~‡´Ô/Á'¦óýØÚÓp{&n¾ùfÎ?ÿ|Þõ®wµæ¯Zµª2ûPô@¦>ú製*ªjÌí·ßÎ5W_Å3O{6?òòüÁý笮kn½ùf.¿üR´Ö<ö°Ã(ŠòAÝF}ü ñë—Vm(3ÈLž&¤!ë°¥J©:Fˆ±ê˜Œ¬ÈÈòœLe¡Tà ʠD•FÁŽ38p¡à—ڟ߸ö–µæº~…ŸØ¿Ýéi&dM HàK ÌtÕ0a¾ÃÜ (#m(ã¥&1KÎTCf4™ÑT¬`+'fWòùáiP e‚Ï®Ïs­¸Á´Ê–*ßü×AÕóU;à"Èdʃ\åÔÒX£×FÓ¸ßÛ±É`”UÞà•…ŽóøCŒž2‰J¦aD\{€IKì ¯ê:Whpàã>aLª‘ ñª|a¢JFø¢:ÓÓÔ0×áç%À¥{³¶T4ÝåŒi­×ÑövS3­hIP®ÃV¿c©RÓ44uC]7Ôãš&øÅ4¬xâ‰<òu¿Ìmïúmø…_#;äÑ6×&B ¹ëNô­ÿÁè —ÁÎäGÅà¹?ŽÚ Ùâ‚v°Ã£Ø¸ˆAŒ‡2*)GŠc h¼á®ŸnßÓu¯÷­Ž±ÐÄM§Ê¼©o¼Dþr‰ƒG"Þ¦˜–Z†fLŸ{þáœ{Î7¦îáƒeYríµ×röÙgsÁì‘mö±ç£2}ôÑG}ìUQ+nºñFžyÚi<êÑÙ-ÛÈóœÇv×]{ ëׯ§XìÌÃ=vìØÁŽ;êÝØ­Ñ‚2ÈØ·b."!»aŒï¬äK•”1EN^ääYîJ–l‰ŠÖ¶ŒÅ–)øä·f–·d1O:`®à¹–÷}c‹Åsœi+w¦™iã] ")Haйoj&J˜ÚP¦µLeÒÒ%csQT¦É¤±J£ȈÕlâ$µ ÓÚ@Mòs»Þà×—‡¸±UɃ–†F9(“itÞVÉd¢(TÊ2ð-¹›†F4o£ì¶c4˜ÌAèª}c%×À jÀµâNá‡JLƒ1F\é’DåAŒ–‰k®¿ÌiÙR cR/H¼bb RPÅx0c¤ƒ6B1P€2Q#ÁÉ¿Czâ`ˆŸ•@¤Îb‘¦êqêioc²T)Á1Îk&my`»fyEU£ÑÈS%CÝ0÷cÇòˆWýßï°æçÞBvècZê˜úÎ;¨où6Õ•ÿ†Ù´‘üè'Q>çy¨Õ«È×âZSG‡‚’F¢·Œ‡0 ”Ia‡0¸H2M<¯0FºïLWÇ÷¬…VÕIG%¿¾ q­¯}ó.w÷u2éç;j¾ÝëׯçCúgžy&gu^xáÝ~{&z ÓG}ôÑÇ^Æ6o¾—Gò¨Ý¾­+ÑÚP×õnßV?z\sÍ5û¤‡L7~ýÒŠß{Vq¿@¦c›@úk~lsí`LžÀ˜B‘yé`Œ2*³I¬Áù*›h)£¢rA Z5cŸ™ ¼Aìa«J~é¨U¼çÆ{Ñž³~èöÙÄ}—ä`º &îÓJ•Òiß]É·n©dhA™–ÿLÊ„¼ØC!ËmÉR†3CYæîàÅ÷øþà@¤S¥*™e|>Û`{•LCc$P&klùRml©˜2Éȳœ<ÏiªªF«†Ze„N={-r¬_ˆSFÐÔ-ˆ`wÆž<Ÿ@·K—dÂ?†]Á¿Ê €I ŒË€%¼/ñ}ï ã`ŒÝÿ6 I€ŠI‡ШIELW""ˆkåî×K d\Þ:G’Ü®È@ÌðÃ-ÕþO[•£ZS“¥J¾Ä*kØukcËŽtãTQUCS¹q­£_LeKßfžð$Öž}ßÿNVþì/b†CÆ7“å _ÄÜ»‰üèc<÷ díZÔŠxŠ1Ú}s¤åLö›Àâ 7ˆrÈ$ªIÚÆ ªun§Â˜‰w„IuLt4—ä ° PÂýçGIKkÅ=ß~:®ó¡2tüà9묳xÅ+^Á;ßùN¾öµ¯õ%KûPô@¦>ú製.´ÖdY¶Û·£D¹¶´{þ?a}üàñ´§=í¿xû¥¿wšUÊ´šˆ„A:À&þšoN’ÎJÒê®`Ì  ( Š<'Ës”r-¯¡Q‚ÛHLƒhßFÙmÛëÿ“Çô€¹œ7½Èy7nÁ`øñƒ‡Óó™2N§;-ªÛpÆ%i÷cî4Ó L l(cM7!³ó*—à'c453,ñ$uKƒY6×+¡2Ð$ª"‡ u"®ýµ§.°%Kµ4Vù‌i´…)E¦rЬ$Sö»*WÖØ5“†Œ˜Ìû²4®„ÉùÒ\‚Ö÷œOú£Ño[C0óåKD³+/™b$@®ôÂw {iuN"”#©.„éà–ðG¬µrê51­\;wqÏqiq–6t1áµ$ûoG&.-eŒê¨c<ø™bëÛÒóx¾9–ñ¥FN!Sû¡±CetÓߘlÅjfŽ} ›?ðŠ'žÀðy/EÖì‡,,`ˆÆ™á!l aR8#X•Œ1nûlÞüæ7SEdö¡èL}ôÑG{mìnPâ×ßã˜>ŽñöÏWüÞiå.2­VD>o!Qxÿ˜Ü’+²Æ”nÈs²ÌÈ‚m“«ŒX¯eJ 4G& ùX7—sÎQ‹œãŒ~üàÁäí ÈÜß°KuŒGèâaÀýB‘ØúZ@” ¿¢#-HJthõ[P1Çž\\Ëe³Ï€J N¡ŒKæuRºäÛãÊPLCƒ¢¡¡QµmYœ×.Év^22y–Sä9"B“iÆ’‘©ÚµÆÎB‹ì ²Ð¶Ý±É Urml~íO o½Õ2¶¾‘IÃÃ7+mK¯G1*ùthq뢄+³êÀíîÕ€'œöÅÃfJb[ð„ÁŽ-„±÷³"1Î( IDAT É{€28Ó:dc˜< Bë_‹Èß?I¡Œ¿nq¿í °ÓÁ0ÛéÌ`<Œi4M]Yˆ·ó?oaÛ׿½_ú Íæ{>édÅÜO½†üQ‡9#ia|‰ûz„‰WPùwÜóa<´é¨eL±w“÷”ñóÔ‚1ýh·EÝRÇtJ–ð^1Ê„ë#Æ[ÅK#žJ¬¨óÛ —;YG2m$¹Î{(Ö¯_Ï\À+_ùJî¸ã~â'~bïC»'z ÓG}ôÑÇ^¶‰ïý…Üÿ"}ôñÄÛ??æ÷O+-LHJ•R>/N’@¥•úÇ$ʘ² äÈ…5d4Ò€« QZ!BrܶÕä~ûÏ+ÞðÄÞ}ýV¾µ¥âõGϵª bÒéÆLªd8”±Ó´3µTüñHKx(“™†’жñ”òßøÒìS Âa?’Ò%wŽŒ±e( iŒ8SS«ŒZÕÔyCSXOÝhkç-]*²’,Ë0¹!W9ãñˆFåäYM®2›à{£^m‚I°®]*ì”/^éâŽÎb&?¯­Ž™DqŽ[G b&Ô1ä$ãÆ ¾0]¿q Fø4 ÊDUL¦,É”²%KÊ¢\:à¤}l´”““ÿBHçÅ}÷d’áZ·´ ›X ¥í cךet­ÙvË·ØôÕk¹ó²SmÞÈÂqÿ5/|%²z?˜_`ù¦kP³ ÁÈ_0Ó9ƒm í¡KXX¼µÄéD%£C7©n“E>÷c<±O‚]Ba¡ŽÂ¶†wXò…ZZÇi a:G%Á:˜‰ËšÎÕ5þà­ï=žwüÂÕ×~wÆí·ßÎQGÅe—]FÓ4œ{î¹{tû}ìžèL}ôÑG{]ˆu]¥>úx¸ÇÛ>?æ÷Ÿ=Hºâʇ"Óp R2ÆØq0ð-s c%å  ,Ë ñ Ö©]‚䀌jÕˆUÉd8 aC—Kí7—qÖfùÐÿÛÁ%·xö¡‰iö4“NO0mï¡ÕmiÚ¸Ûyi ”‰*»NCœc\é’K܆L45¥³‚­œ0wWU'ÄÒ%åa„+ûp%K±tɵ26¶¥p-2YEW4EMS5˜Z[sa§’) Ê<§ÈòÐyœå¶E¶Kì}Ç%ŸÈWUEƒ/; ²„)aÕ;i.ÜÓ™v/Œ!霔\díÏCÜv3 Œñ †TK’¨d°Ê˜,2YPÆ$P&KaL†Ê¦(d’Ý‹¼þZûÃ2±E´«K’ôƒ~qϳ`×ê˜Ö0]ãAˆ½WÜ6}£¬&B™-ÿñ n»ü“|÷Ò¡ëŠ5'Æ/Ùšu˜Ùy{?45vžhš6 ñûëwÞßÉq‘ªdÄ}× ¡”Í—.Y8£óÞ¶:Ư1nÞÞ+©r¦µS^£Œh×¥É÷¬/U ó< ¡bÜ]¾;&küGLçQðç%Ý·ÝW^y%_|1çwÆÎ9ç^ùÊWòøÇ?~l¿Ý=é£>úèc/Io—­[·2??J+|,--1 &æßoˆÄÿ¼öñ°/ùËlݺõ¡Þ‡$Þö¹ðlWþã†ðxHÂ$1ôUH¦Œ±ê˜¢,"Œ– Ê’‹G¾è•,>ñT˜] ªÆTuMUW±uº¿|©©´W>¹üxl˜XÛ†ëm§}à0 #¶PÉ•@¶:&žÕ´vzçø“gâk§ÈRWÎÔVÈ„ò$·%&lŸpJ€3¶l < O³Žºµ?^M´K¦7lØÀ'>ñ Î?ÿ|D„7¾ñ|îsŸãÄOàU¯z·ß~ûnÛ~{6z ÓG}ôÑÇ>¾í±RŠ•+W2Øu4±eËæææ˜››{À`¦( t³g~ëãG#Ž8‚íÛ·?Ô»ñů}nÄüøpBåÝT£eLîK•¬:ÆÃ˜r8 ,”eé2ÆÔµõ“hLƒÒª±]š¤ëÓØ_ð-1Aü"4kç3^ûä9Þw팞ó˜0N™’$gr?C×è7mu= ÔàbçÓZ¯tT5‰JÆŠHH:Å%pÎÖ4@™¡Yf5÷røÚoðúð¨”É@ƒiœS‡­Ñ¥KâU2¦¡–šJUŒ³ŠªS*êUÊÐØ´Ìa8€,ƒ¦åFcE9’«E».i ⣽LÓ’ rï »{JƒÏâÛot¯±OÂ-  ¥¥Œq ‹¶:ƾýaø’þ-¨ø%§’QÊ(ç“göoA˜ÌÁšÌªg¼¯’W±¤°ÍÃ`Æt‡i@†”ÅàŠ*™E%NÛx8B"{©ì}µñÛ_ãöÿ¾ö±¿eyË=zÚK8æõ¿C¹æÔÜ"£jÌxúè£>ö™.ºè"Ž;î8fggY³f «W¯ó=öXó˜Ç°°°À`0hKÔûØëcåÊ•ÿåËØ~í³Ëüásf"”qHì"ãÕ1‚Ê£2&+rŠÒ–* c†3†ÃdFªºFÆ‚ÆPëšÌØЭIà0¼LɱÒduí¼âç›å¯þ}'xÎãl÷(—§ß7”™Öqé©dhwdRN2q¾Ý Ÿ1~RiºM8íÜ6”)¤fh–ػٺn߯a¡UPÊkìU N)£ALCc„Z•ÔTÙ˜ñò˜q1¦WTUMS7 - P–6Ñ–°c;ŒsȳœLæB O&Ê dŒÖŒ« ël?ß(AtãiCôò5ØÒ¥iè‹¿€îìˆÝN bì8)Wò꘤T'*a:@&)ïñj%*øåd®,)Ïrò"#Ër²Üù:(“™ju G„·—Æ©3CéRÔ|t*›Â„WÖØ6ÛÑ·¦­ÎI¡Lœ‡ÀÝßü ÿþá?å{×}‰ñÎí<îôŸâÔÿõ.f×D>¿’±ƒ0#a|'-ßæ¼‰ÔÌ<޵¯_²ÿázú·LPÎD0ã2Nu‚ØÎ\-£,÷‰™jîÁKD|Æy-|‰R ehA­Rð‚ÇCâÝOÜk˜æ!Ë”âéH¾ÄŒ ®&Ò§œr [¶l¹ÏeŽ<òȾËÒ>=é£>úècï ‘]&ÝJ)¾ø/—sÙåŸç´g=›§<å©lÙ²………þå_¿Àe—žg<ó™<í©OçÀdÅŠE±‡ >voüê%KüÑsgñÀ $bËED%0Æ—* ŠAA9( K†³Cfçf™™™¡,JP £5j<꘬ÉPµKjŒ……2ÚJ)غjÿµóŠŸ;n†¿¾f‰»—4?sÌ`´ÐyÝ1®Rb—`f¢µ/MË’ºÆM›àMÇ2‘¶ù𫲥K …Ô̘%•[h̸«Þß)‰Ä2‰m„í9rm° ÞÚEÅXeŒ²Ëňá`dą́¢©,ÔÉ”UÉ94«šÙ¹Š òL‘gsäYŽ’¬ d\[d/JjбŒÉƒŸ NÅãaƒ;Ý3âËX<”ñ [a›!·¦‹a<”1Ò‚1*À˜,xÁ¤&½~^®rò<§(lËö<ÏÈòÜ–-)g°ë:‡õLjîk/A€-^=bÒë¡õô¤Á¯‰Ð11Áøýð°4ÜChlüöMÜvÍåÜð‘÷±¼õ^9éÙœøó¿ÎAÇ>ƒrq5UUS×ãªÂ4¸Ò3L›ñ`¦!¼¶RÃâ«ËvWҮ͵ßuN’Á(B¬òÅH˜6 ü5F/U °ÅöéŠ*™ø€à`‰j™€nì¹³ÐÅØÏ§ÎåI©’-þ]ÌÓî^N§fü!ây\CéõôÛ±~Æ“eÓ}ôñÃDdúè£>úØëÂw}èþgÈÿGûÿáÿò+oû®¹æjÎ8ã ;ìpD }äcœûÛ¿Á»ßóNNîóù±;’ƒ>ˆÙÙÙéeLý¶úØKãW>³“wJ)fffP*ãOþøÜ»içþÎoqã_a8bŒáÜsÿ?¶nÝÊÿñrÓ×näYÏvOô@¦>ú製2t£Qª]º¤”bnÞB•Û·3˜ðîw¾‡÷ÜÃoÿöo†ùy‘ñ;¿ý»lÙº™óÿì<Ö¸ž—þÄ˧oG÷ÿéÙ[bÕªUäyü¯Í´v¡—\r 'tÒC¸—{6ÞòÉm¼ûŒEhä2®d©(ócæWÌ3¿b|qæ`8„<·ÉÈx YSQŒsÔX¹ÖÙXã`ŒŸ6Æ(—²h“t^2išC`Í‚âgOð+FÓÊ#ùS¦©dÒåã8(Z0Æù:#IFG»)ªe¬R&§¦”ŠÆ,ñÈì68 6ý¿Õ¶tIƒ46¹öÃü¢-j”ŒÉ%cgV0(Ì v°sf–só,/e–›‰UÉ”%ÌÏY8³}»UÌd „ ô k²ëþxÅLUû×ö¸Ä8O×)IœY‡Öq3Aø$‰fÆûĤ‘*b mÓ2µõÓ*1¹+K²ÓyfA‹UÄ8S”Eá ŒUÊØÒ%«˜Éó<–,eB–R 3òÃ_íuÿ¾Ak[®Ôh[úÓ43Ì5-ÿ¼x0…áÎoÞÀ-W~Žÿ¿ïe¼´Ïûµ¿dýÀüšB’ïÁhm·/ÆÁ質zŒÁ—)…×Ý!Þ[és×VȸZ¬zÌ›t&)WŠ´×Ƹ±Ä9bÇ%|2wlÒµ±‰÷ÕÁˆû¬qÏŸq¾2Æ–#ù›³ó ˆ!À˜¨nó*M,Y L*\¶ä*x¨L„5aü™›nº‰+Vìñíö±{¢2}ôÑG}ì•QÕÕ„±¤Ö s³³ˆÀ½[îa8œc¸ëî;Y±b"°iË= Œ6Üu÷] Ê‚ªÓ45ãñhb}ì=±~ýz¾þõ¯ó¶·½m—íBÿ+Æ/}b ç½x5òÍ…Lž‘•9ƒá€Ù¹YææYX±@¹¸WÀ‚2¾mÏ(4T#Š¥"¨b¢.„Þ'9;&y£ß®Ù¯/°YºZ³ üÏSKþî߯  §]Ü?ŒÙÕë)cqã £_±É´ÿ%ÎØ&ˆŠè…K00“žÜ:R&…2Ú,sPö]xlºiuô“ÑÎäן;£ÑF!MCí ÅÈ•.íPf†Ù™9æçYZ€j…½43ÃXÂTæ°#(dÜ© ¥VZ“DE±sçN'ð>D Ѷ ·…2z!â ɈO«AL¼¦ÉD¼ÜƵ~v8Æ·{NÁŒï¤”‰²&€ cò<·åvSú2<iʲ´¯K!ωF¹ó‘™°‹^TÒX(ãç#h-h­hû~ãT2­¶ÙñPùÞ×®áÛ_þ WÿÃyTË;9ãüñGYuðcY±ß# ÐÇ–Ké ÄÑ4ÖF”h«°AY•Œ£&QÈ%LGAãËš&Â…Œ(·X蘖¿xWí)W¾”B:%H!t1£rÆnÞ·¨·\W%ã±Mþû%<»1FT[ñ1µPÆ?âþ‚Œ“«Ùï(;Ï¿ÆÎþ‹3¸àuŸ˜r¬»'N=õÔÞÔwŠÈôÑG}ô±×…R*ü§5 a8;D©Œ8ˆí;¶óþχY^3–aþÒÒN.»üó|÷¶ïrÒI§pÌ“žLQëKÕ}<üãoÿöoùÆ7¾Á›Þô¦]¶ ý¯oüØ=üÅË@<ɬ‡Ì`0`8;ÃÜü, +æ®\«aqæça0´YkÓÀRº†ÑyYå™U¿„äÆ8å‰ Ãhçûì6þ!wá§Ö¬P¼ò¿•üÝ¿ŽÑRñ¼c¦@™gRO›.˜éýJ8?¸dNâÌ ¥Lë—ÿt%áœR¦ eÆhfß#;ªáî¯ì—(e|Gf¬Á/uCeaŒB¹NBe^2(‡Ìg˜Ÿ+Y±`™šZ€`¦„r­…1yf}eü´… +}îJ˜–½ŸŒ"MPd4áä4ˆDiÄh[^åALPÈôëÎMÀ¤ F³^ç“¥0Få¹SÂ%å ´Æ™¼((K;o02@9°–HEaŒ‡0"ö6‡)JmoÿºN”3ÚÍ×Öh¡uf‡ûüW?ÿQ¾zÙE|óKŸ¦/sÂË~Ÿy÷ŬZÿÖ® @(±®±†´Îìúµ3²ÕÖ¤V‹¦ ®:‰JF“”)ùÅR´M¨¿I[ Zª+‚P&x×Xõ˜%5±HɸùvÓÚÌ4 ¯uPÌ´Û^ÛgÕ›üIƉ‡LX—øe$|…çVužã]’‡ÓŸƒxFð0íU2Æøÿ/¤Ó}ôñÃDÿ?Í>úè£>öºPY†ýÒ$™›¥ª+>ó™OñŸß½ÿöÔ§sà#Öóþ¿yU]ñ•¯ãš«¯âÐCËÏüô™¡*L3Õ뢇k¼üå/碋.âÆoä-oyËC½;»xÝ?ÞÁßœùHT&dyf;*Í ˜™µ&¾ó>‹_µ‹+anÊ! ÐT6±[#Uf¨½àÏ.sÇÍÏ>kŠÑoÚÞÚý>í½X~DØø±‰Ó¤Û´eðEHV1ƒQÉ{*@Ÿõ…Õ`P&é¾DÅŒ,³Ÿºy¢á®ë÷ã Ì¨ e´¥%4e$tÊ3ë›2(Ì ×17cK•æíx(ÈÖX¥LYXŸ™LEkô¢óÑÁ¤vâ8~î/?Åêõf~ͺP å!òçÉm3@ M  y(Ô¢­²‰¨’Cô‹IJ˜&Ë•ˆïûë> ÆøðP&UÉ$Ó¶lÏ_C»oâ> æìÚGÆnÚA‰Äc«kC»³„²8‰ªÏBS㽟<|wo•@™h«Ë•Œ¿(B«\É$%LF ?ý/åï_÷‘]Üð}ô±ëèL}ôÑG{gì¢Ë’n þû¿ã裎áÔSŸŠûŸÀý×íχÿþïØo¿u¼ì¥?EQÑÀq¿ncv!¹îãá›6mâÈ#D)ÅÙgŸÍ\ÀúõëêÝzXÅ«>xÿó‡S”9å dè€Ììü²0oÌÊEX¹X @C¶3ì,mFŸtWÒhÛB7üjªfâ¯×àAŒÛ™ôÑê&HÉôšгŸQð± 5Ÿº¶æùÇ'ž2÷©Œ‰Ó¦û:…3a™¸aÓúE=YÖLWÅÕLfZDÂ$»åJ˜¼Ñ¯vPf ÷ ŽÑÜqÝVí`$B›q£²™¿+%Zöm¡Å¶z.3 )†ƒUÌÎÀÜ,ÌÍÀPY(Sù¢µòeKxÅG#4Í t£šBÀlGê*è^$¹HZ h[ʤQücï‹ÃØ g-±$*´¶ʘØE)øfY–À˜bÀÀ”) J†Ã‚ÁÐúRglõ]9°¾:^!súÏžÉ/žtóó_ñŠP½æoO 4@ T5T•…3¾©’‡'ߺæ*®½ä“|î¯ÏC×5O?ë œó·ÿÌÚƒÍÂÚuv}^¥âϹIÔ1É ó°§i  ,4Ë1ÚÐ(mÛ~·@YB"váãALÊ5Â&Ï[ëùÁ~^\¹¡‡1ÒRÜØû?¨d$ªd&Ô0’>7‰Œtvƽ–T ÓRŘ Úñf—0FÅçYÂ3ÙWë…yÆã˜ÑG? ¯éÿ§ÐÇ=é£>úèc¯ cü_1D„õë×óüÓ_@YœÔÞ¶È#<ïyÿá`x¿ &nÃPUu/GÞKbÛ¶mTUÅ{ßû^Þò–·pæ™grá…rÐA=Ô»ö°ŠŸþ«oð©·ž@1( ÌÌ™›…9cÖkß6» ;#¬„ŽJF@›†Æh4ûµ;3^£â3Ô1I²»§0E¡‡¬Ë8ëYÂ…—U|êššç˜?`“gܯâ^M`ŒaLK ãUq…ÊhÚ#ùÒ&Ó%@ÞSÄD(£0d&B™¡(V™ÍÈ1†ï_÷ÀyÉc×'ÄA™¦ ɰ/ûÉ”5¾µ%Le1”0ùö?ý%°˜9{â}âßxõG“aô¢klÍ;¶Ûs¾]é’ˆó•qóŒ ÚûÉ$ß™^žŠ`ÚK€2JŒïã1’µJ•Š¢ Èsм¤,,˜”%ƒbà13ÌÌH Äøñ`¥r` 8ùøã¹ðÊ+9û¤“˜7†œyf¸ý<ËhÜPåPçîi0pÉ>À·¯½ŽË>t!Zkž÷šsxûEŸáÑÇœDS[Ò>oD „6ÔJMÎo¨V) ‚,8+hTCíúèc¯ ãÿ÷š„ˆâ%/~Yl[‰‹/yñKãg `éAÌÞGqÛ¶mcݺu|èC⬳ÎâÌ3Ïäƒü`e:ñüw\ņ?øùŠO]UóüSò„p$ŸíÀŸ µaLòKz:vª—®_Œ8cü¯ü»$Qʤu™_@:¢Q ”1",²uŒæöë×Ûsf(c”q¤@ Œ˜!ÉRÁèG`ô|0rÕ€•baÄ­2¥iC|¤'gÇÐwâ³m_ý FQ€,‘äýGE»ûÉ{̤ꗤ«’ûžñ}šZð¥cðʘƤ@ÆMK¸!ÝwS²¸`’} ˆ(ªcŒƒE&™÷ñ .z݇ØÝqÜqÇõ¦¾ûPô@¦>ú製.”ØV«ÞûŇ1]Žò•ÈìÝqá…röÙgóŠW¼‚øÃ}ùR'NúÕOó8›áp`ÍFV,XXæ±ê˜›†.cS•Æšúêt ŒAÓ;h7Ø_ºMô’ñ2ʳLÿwÚ‘ &.«W g=·àÂK*>yEÍ ž’Ý7™¦”étQò %5þl˜”ÑÁ#¦a’r¦TA“v_ò¦-‘gôk 5†ü¤ÿ但WÌb¶ 2N ŒÒèÆP7&$÷ƘèÓhšº¦®A]­¤[ûŸÑ°8cÙŠWÏ ë­2ÂìÆ30¨Ç³ÔuMS×h­YZ^ö«SD´aQ F# ¬Œ‹‹Ë€mìb‡„ØÞ:øÈD³_o^ýclyVžå®¶…4ƒ²¤,…AiÛ{K afŒbã6ɱPæÒ+¯ä´“Nbh ?yöÙc\½aŸþøÇùÀù磲Œ3ßøFÞé¥q -M#ÐPX8Ó¸KåY\òì¥àEëö|c¢ÌØuIJ€ tfLî•C’MøÉà Œiñ|44/rl4‚ˆn#´[ÖKÿ„R¦ÎàÁ¥3i?&Á«b<ÓqòeJôà›@Ï4ݳÝ2àNá‹+‡ ó”ýõˆGn’ý?è`ª?¼J&)d2&¾ÁWfwÇÜÜsss{d[}ìþèL}ôÑG{]dyŽnš •õƒþ_¡ÈìõqÁðæ7¿™ñxüPïÊÃ2ý³`.?×f­CŸ¦æ´ $h€1ÔË0ÁxĸS5®iLƒF·¦½F¢å)“üÊLš¸tË•$™ß…) V. gž^pÁ?W¼÷# ¿ð“eëýîtHàÄ+ÄD-ªb<¤Q „iûÆh:¥Jaù8€rž2ÉŽ8õ D4¥Cfr†±ýˆ2l?užMW¬ÆlKRgD¬”¶ÿ1Úº14¦©jªª¦-ïÏòìÜûígheÞŽÆ%è™X_iÊrÀ R «ÐÒyy¤Q&ÈAyàæÉR¨Ñ@»¼Ý„9þ½eŒ+[—/E/¬ ³ qZ¡P*«¤qÇáZYg®“”WÅøÁ+e<É€S=–/mØÀ©'žÈ§?úQ÷„'ðçŸOQ¼öMoâã—]ÆÑ'œ`Ë—ìÑ2Ék- ó¨ Jokwù&,^¼w­7®k×¢ÜÍ7®´Ì¶-PÆ·À™¤t)¿Á®2ÆÑÑ”‘†j»Ž¡o(QJU3þQöï%¯AÐîG ‹k´»ŽÞG&–)Ù²%-^ “Â;¦Àï%¼ˆrÐ%1’Ì¥ráJD?;Ë(ceŸ+f¼:ÆC¢ˆšûqúø¡¢2}ôÑG}ìav¿‚%ÏóÊìEqï½÷²mÛ¶‰ùïz×»‚½Ù{Bžq.|çØ„¤Æ¦šKØ4ul·Ã¶m°c,í`i´Äh›œÌ â!Žk­;Êí΀t»+MUÆ¡nç{Á(§†qíªtQx*aŒŸ–ôZÄ{¨õ¬ÂK;ŒÒ­|IË”:ÅLbxþ_þŸzíûé£=é£>úèc¯Œ=õkTUU»}}<8ñõ¯}*éãÄc~6}†[±Î6m[`û=°yl¾—[·²cÇvv.'PF[(S;0£¥ŒI²5ÓyÝ*Orc_¶4M“–(râç^VðáOÖ|â 5gœ–ïR%“®{6iV¯õÊŸS¦>1ÄèN'%ÿZ·àKòZ¼2&B›ú>**AÒò%—˜Z0£14`*8 ùñ5ÛÌÛ¿0Ùf5ÎèÚ@ãà„Ö4MC]WŒÇc–––Ù¾};›ïÝÌÆkX»v?Ö®°Òu6/ -–—aiÙŽG#¨«Š¦±I©UªØîGJ„:I¾ƒÁzh§ìLTôDŸ_“dÃžÊØA£P¢¬Ó- j"Ò‚çŒÞ÷ÓYØf0-žƒf&úÁÔÀ÷ۿým.ùØÇøÛ?ÿsfffxý›ÞÄÿþÈGxégð«¿ù›¬?è ÏÀ]Á<Ùó.äIÿÙäÖkM§Ë5É´Ç¢ÙÀ-çàRã:=U™$ [²dïªvç%ñ'¢cüCf¬êŃ™dç„8«eœÂ™)P&<Úþòº{‘)Ê`<Ì€ØmÆøï†ÐÖÞ‹Ð’©¶Æ©cT¦PJPÊ•Ãù{ÿzèïÕ´(eœ7ÖÔ?ñ›Mï¡nKW_}uï!³Edúè£>úØ+Ãæ½z¥'Ÿ|rd~”Xý¸ëan›5›™ïØ[¶À½÷²cÓ&6oÙ̶m[Ù±sË£%ÆÕˆº®Œitbðë½dx€O´ ¨_ì´i—8÷kxg¾‚U+?óœ¿ÿDÍÇ?_sÆs¥Lgù;îÒüÇ-†/_Ѱe‹á-oa~…Ïc'¥´u„1© FÐßËÐî¶4¡–ñJ™Æ¥ m0“yà,.=7öÓ™hOqÏö5˜/JW@S»äQëeªÚ+dv²mÛv6oÞÌÆ÷°jåJV®\ÅŠ+˜µPÆ{¹—G†åå%–GË,//3¨Æ¶lÉhŒveLZGï ;Ø6À¸$qÅÊ_0‰°$³¤”ÒˆQ(£ÐFÓhÖ™…LMCÝÔÔuEUWTUEU©ª1ãqÅxúØ+cËæÍ¬\¹r·nÃM–e»u}ôñ°Šý_×½Ûšo€ý9~y™ÑÎlß¾mÛ·±mÛvv.í`iy‰¥åå ’išÚ*c|Ù’1hïÅ–,ÙŸí#€éfZ"– þý•+?õ¢‚ÿý‰Š¶æŒÓ‹íÞq—æ;7k¾|eÃÖ­ðä'g¼ðE%köæW(·ýI#Þʤ%JÞз«’é–0M¨cð]—Új™Ç(¯ÂqùmæÎXf4F¬‰2%š|¡féù³l½d3¶É2º2¡eµÖšÔuí”2KìØ±-[·²iÓ&æ1èìì,ƒÁ€¼( rª1c;âxl!H]QÕ5uÝÐ4µ»ÖM2x…A,ðH¡[¬áwœj¡pI´øä:³>1ãL‘e •gdYF^däyN^”EA^Ú²ª²,(Ê’²,(Ë’r0 ^ÚÌÎ{¾Ë·¾üQ®øÈŸ¡²Œ3Îù ~óŸ¾ÄãŽ=–¢€¼€ïTLmr·äD(’ÆTf8åVÆ}¹Ó4(“ªwZ@0C§Ž[hVäÈøÖ×­ŽK‰: ðë>LçøZo¥äiê`¡LâÑÝžN¸¡€U“¨d|W6<˜5“'5ë œö—çðùמ?ý?±fÍš^!³Edúè£>úØ«B€²(XZÚÉââânÝÖÝwÝÍÊ•«&º9õÑǾ·®~ ƒ+þÀþ0®ÊbNqë­·rà 7ð|€üã<ùÉOæO_²°É…M¾-œ©W*’$êvÉzPÇ41a‘NÊ’À—i%J&IÄÂ<Õy?1Þ¤wq•ðòŸ(y÷{GlÛQó¢ Y»VXXÑ0Ik¯Š™€,2ͼw:ˆ±åL»VÌñåJ©b&--q‰´Ø2ã  F-¢\l÷TjV=SHÍÌó—ØifXúçkû36˜Z¬§ š¦ÑÔºf\Wäãeòå‚<Ï)òÜö¥ç9Y–Y_‘^L,M2fJ‰RRª4q­!QÈø¡£ŽJQù®9nZN>æ}”Œ)eLNCNMNCæÑÜóýÕHsÍWk®»¦bfN<9çU?Ÿ³þ@ ¬û1IyqÓ^1ƒÊþûQŒ ù²pÝïæ"áþi ŽÌÞ›'ýš¦, Ïmw'ß½Éwròã"9m$gC»ÏUD»í^ «à)\»òeRßK3':T¹;fZåJ„îJâ1•îø×IyR e¢ǽç™K: î^6A»ãG)Œ‰ª“´®&Â%V ã•0¹…0YnALžgyNîA︄ j™°iwߊ+»3Ò`\Y-Ó¤u—wK˜z ÓÇ=é£>úèc¯Š¢,yä!‡Ðh͵×^Ö-[ÐÚÚ&EtÔ,ö3':÷¦}ƒÁ$dÉò‚,SaÙ£žøDö_·Ž……»ï€úxÐâ‹_übï!óÄ-·Ü 7ÜÀßüÍßpñÅsì±ÇrÎ9çðGôG~øá|äœ#CVå“í€KÓJÔ=ˆIÊV&’óXá*c"Té¨'Ô.J€ñ¹eè˜$ÂâÊŒ 0(…o¬yÁ3¸d¬]–Ôig-»€.»‚329oª‡ŒtÓïŽBÆ—\{™PÚÉ·3 b´m—íT49š’ŠÙç/12%£z@uq Ë£Å];{j­Èš 5vêŠÌ–e™5íÍ‚²À–¿ØÜZ‡ÒŒX’ÔþCøÛw×ê–+¥×Ý^‰.ˆ;áicVvRR9è’€ÑÀ8÷ž¥í57Ö|ë«#þýJ aN}jÎk^[pÐ>H§d'-©‰a—Ùožÿ aÍ|ÚÄîU CTˆØùW¿-oCFâñ™Îø#Úmûæò^¬’Ç­0ãAL…19‹íŠ•güädYNê¡vÙR˜›ž÷,øᙋW¸¤§%´ÃöïuU1ÝÁ«P<å [‹ ™xÔÆuL ÂRQ “*¥l7°¢Èíçyr‡3j\9—;ÇÈ4 4 F´¸~ã}²µŒƒ5ÄHû›Î™§¾ï­üëkÞѽÉ”øæ7¿Ù—,íCÑ™>úè£>öº˜™å°ÇÆúõë©ë]+b|Hh©ðÀCD(Ê’ùùþ?={K<íiOÛ§Ì÷¾÷=6nÜÈÑGýC¯ã–[náúë¯ç­o}+ßþö·9þøãyÃÞÀŸüÉŸð¸Ç=nbù—žïÅzbI !ñì ÷ýß­ù‚3§uɺ÷‰ØŒ±J˜6ˆ1É´ïm|’—À›sÛ_ÑŸþŒW\1æ/ó‚Ά”3í¤4cP™,aš€3Ó@Œ´U2^=3M)ã}d|2Sʨ4õj—l7Ì$ß̸ÎL¹iHE],S½¤`l FuIsQaÁŒŒ¦1‚Ò5¢ªöiœé©÷!qÓâqÅ ¾ÉC±Ž†xÃüä:ÿÜÏRʘ—‚šŒ†\,pÉð’Iƒo.žaع½bãÆšoÜ8â†kFÌÎ 'Zò3gxüáY( ·‘$êR‡W’$ÓŽ=óä2¼@Æu”Ší¶Ý|ÇÆÁ*´F†O¾Þ§\ÆÞãÊ`\=Ó9ïи$WÞwfòg>”;‰ó³uƒoyzĈ¿O’ãòç#¢š6séFÀ'bl9—˜ø™èˆÛü>˜e0vºÆ¿Ö.ŒAuT1™"Ï2ò¼;Î(Ë‚óòP&Ë¢‰/$ÛMIPÇèFÓdÂiPTh#X3í†Ä€U‡q>2¿ëRHéÌîTÉ”¥U´õ±oDdúè£>úØ+£(JWö¥D}ü׉믿žw¼ã\~ùå?Ðçn¾ùf®¿þzÞÿþ÷óéOšO<‘W¿úÕœxâ‰<ýéO¿ßÏÿ܇nç=/^~©ö¦šmÅCZ†÷–B‚)Ë'IX×Äw¢t)Ṳ?°û<0QÁÌ.(^üÒ9>vÑN.þ§%žÿâ¹) F‘B™û*Sšì¸¤ÚëèÎK¼d˜€2Êe£Ê€M¬}7&g´Ûm,ºÉ˜Q7M´14FÓC! ¥©ʈ¦PÔ?iñÆØ,ÿ㬅30Ú^íÒt-¡´-£òÓþ|»Ì:i¤×®ýúˆ^É@ƺTAñ’ÓIMNªzñ* 0ÆB˜¥­5[î©øæKÜpÍ2óó §xõ/̳þ@eÏ®¸„ÛH¼mÄ IüT`!^ÎbRÜô=ï¿âníÁŒ0Æ8Ï)/t,å j"ssܳòÞ×ä ¸"œß×ÿ¹nu^ÒØNK&õ1a£â§ J’÷,Õ^vÚo-ˆâ/A^"´7Úý áÃéßa…n‚Á»þJ(Oòª§Œé–&E(MR”EÁpP2”Êt€ŒÁ]“Æá篤µ‡1Jj÷Ô)§’Q¯4¹Qów²ß-#“@æ¤÷½ ¯ù½)çèG‹C=´WÈìCÑ™>úè£>úè£},n¾ùf®»î:þê¯þŠK.¹„“O>™×¿þõüéŸþ)‡vؼ¾_üؽ¼ãsˆû‰>tÇñª™ S ˜¹âÿöÀÚê˜Îg'æ«ö{A%ã×ép)¤Vf¼ðeóüÓÿÝÁÅÛÉó^²Ð2´ì¢Õõ4 #SÞ“Τ]˜¦˜V—¥˜y"ny!%É> pÆhŒÐhct:ß*l™ ©íX–Ñ?¹mèqÚ“Æ(jrÆ?N`ÈÑMGYâÆ¾ü?(¨)$-5YRfä/Aí⦕/~žrðE…y†¥m[6޹éªí|óÆeÇŸ:ëްÈÈì:$µLVáv°·LôN‰æ¶ikèäýûý£Ú`Æ­HãÆ¶G5®]·MúíØAdù`*;EYó—¯Ê¸ ϘWÖd0ûò¸Îp©<$ Ê?¤Ó‡¿ þÃnž— ¥ %á(¦p¦‘ÞkÁvüú=ìs0&ö†ï–ÆäyaK‘JWšTƒAÁ °µ†Ã’aY:õˆ2âM²­V]Õ4ÚúÄ4º¡©kP5H¡²m×´Ó`û¼šÆvZ2âÆÎOÆèbBQ%8íôôÑG'z ÓG}ôÑG}ô±ÄÍ7ß̵×^Ëk_ûZ6nÜÈ)§œÂë_ÿzÎ?ÿü Âtã­ŸÜÁž>„Ì%OÊb]…vÉ#t~ù'‚?ošJ&€˜Éÿïu+%"h§–QÊœñòyþáÂmüÕ{6ñª_Ú/ªbD%0fR3g’ŽKAA#íå[]–¤ el‡–Èx# ‘ÌÂQà¦ýû?NJ©x­ ¶¦qÓZe¬ªÂúÇÛPUû÷`ËLº:"nÜÐU²_—äµèIT/M€/éú–¶ŽÙr÷˜ï|e;_û÷íÌ/f{êO8zÀGQ¢ƒF!t[ñI!Œ8ÕLd$‚ë+Ç"nYqK‡vÒùË—<„ Ê7ÏÃm‚™¼n\²Æ™Èú±6¡#–1ؤÊWj·~:—ÿ:g ÿ?{g'GU®ÿï©êîÙg’°% K6ƒ€@e”MD¸ (®×ízU£¢^/r « ¹¸ýTPY] ‹¾“ ;Yf¦»«êœßg©SÝ=!„dÂyøU]U]]]]=™óç}^ÅúÀúþw«×t]í¹yÀÕ^5¸g4oñÝ/ÞaÍP"_Õô¸…š’b<(¡sªEá{ïØ(¦›•…11qÙÀ˜r‰J¹D¥¢1ím¦CX›^g L¥RÑî™Rž§”$MS’zZ½®?‹,%Sˆ”HÌÝë•¢sœ ˆQ™Á"Ë2B4dÉäîížYÎ… 2 @&((((((hМ9sX¶lÙš>7U=öwÞy'^x!ÿûßy×»ÞÅ 'œÀ)§œÂ–[n¹Ê_﫪rÆþDl27ìÜ•|·‡1£²¦¿ûÆ•¾4OÊ ÜüI9ÇŒ0 ¦ðGzÓ÷n£«'2.AϨï;¬‡¿_µŒk/[ÌþGŽi0¯íŽikš2cŒ ¦àšñJ`AÄzi #¢Ø­·Ë"ŠÁ[o-úÈÁŒTù”IÓŽÚ.›ò ¤컀Z3:7s‡¨\W§¼wTÑW“;Z Ë"3‘ï€1g •/£Z\gé‹5½g ܱ”î¾;íÑñŸÙˆ±ãJD»úBè«oʨÜ-"téÜñbúÊ`×mÈ0x E×::vf»R(ÀщÜ)yÆŒž,”ÉRÓ,µÆ¸h2fŒ£&ËŒ³&3!Ù-œ8º §ufÍ!KÁ:Ñ\.S„sל=0³ùËíÃQ±ï#w·ˆOñ×7=jù÷J“ܲ΋‰M 댩”©´Uèìh§³£ƒÎN=ïho£­ÒF¹\2eKÚ¢ eJÄh2œ‘‘P§–Õ( U©×k$‰…11ÊÜ­1¦$P –úJc»ÒPF—,I,¼P_rã9evºèÛÜuòiÍ×û è¹çžc```•3hÍ)™       uB[mµÕ[È<öØcÜqÇüøÇ?æúë¯gÏ=÷䓟ü$\pÁj0úú_ê|g¿rbbÈH"¼¢á/ëÃA˜7Œëìâ\5ù«ByEž³ý´¶Ø"»i[æO¿[ÌŸ÷*{¼oÝ~Ù‘h.ËwǬ¨3Fä ÆÎ âÆDz.¢ÇDQ —ˆâ‘yÅ¥|ŸÈ3Ri“IÒL’fij¦ÌƒR"3[BcZûê:Ï$aÀŒ’TŸ…Î {uW§a€Lë)‡..Ö>СŠK_âîëžç¹'‡è]b‡=ú8ú³ãÙplɸf¼OØí¿° ÆÞ¢iìßðŸƒ09”‰,¨qΘȴ‘މ¢HæF±2v›?÷Â&Hã@¥…2iÖd |ÉoAŒÍWQ›{Ž VºúJìwäþzÙ+Ütíbö8p=Ú»ã§K wŒÞSXç9c(@KxÎ!b펉bD¤AKäL‰¨T"ŽË”Êeâr…R©B©\¦Tª—ËÄq‰¸TÒ¯¥LŽL&IÒ”$II’„z’Ôëzž$¤IJš&¤iJ–¥Îè ™8#Ìç&Xð‹›YoÊx6;`*ƒ¦THš{®HãT]\géóƒ<ñÏ—yô®Wè]fÒŽ½ì8} [LîråLúõÇöÂ@óÙ{÷N^“ÇÆæòÁpÏ·îK|—{Ž+£Ñí–ãÈ´7&6 &"*–;å('Ú¦Ë[4|±.Y€3>pÉ2©5©qÖ¤iÐøûºR¨¶ÙmaÄÒ¹£ò°aP¨*ü'ÿiÊ•›kgÍ÷¢ïÿÁ}§=8e]0¤Q¢b𮵅1q)¢T²®˜år™¶öv:;;èî§›Þžnzzzèi.:©Ðn'^F··Ž© ¨U*”©QFuÄ BTGŠˆL b‘Ô“ÈQ¬P™q‘I bl9¤Ôna>˜kkŒj.WÙqÇC¨ï:¤d‚‚‚‚‚F¤êõ:i’êÄjˆ"]‡^®þúôféÑGeîܹüøÇ?æÆodë­·àk_ûgœ±ê;w¬¬NûkÊ·÷‹‹£`¸´‡,¯ŒA5•))¯£/Î/á/ s`òuÍ-¬»úbÞ{Ä\wù‹Ü|íËì~àútô”†í¬ÔÊ-ÓÚ#tÉË”Ì:爉>”‰òID1Q©L—ˆKeâR™R©L©\¡\©Pik§ÒÖN›™ë©J¥b~Fi§L–iwEÝdeT«UªÕµj•j­J­V£^«Q¯×I’:iR'KS²4AÊ •¥( f¤bêÇßÍüÿ½H(&½oJ÷cçÆ¹©:éz.4ˆÑn¬¼r2jÀ Òt ˆ‘m%bŒJˆ2…ÈB‡2!b¥aLd Œ_¶ /Ü×ï²Tì¶$Ql÷“3YpÒ— j¥d‚‚‚‚‚FœªCC,\´ù÷ÞËË/½´ÊE}}}l»ÝvL˜0‘ŽÎÎUþAA­ôÈ#0wî\.¸àn¾ùfÞûÞ÷ò©O}Š‹/¾˜-¶Ø‚ 0}útFÍ—¾´æÁ?í¯ßÚOgbKìHȸcZ¥Nˆ†Î£tVƒ°yV Wš$DäÛPšÔ˜ #›æ}%Þ}øX®¿ü9þüó±ßGÆÓÖSi ^^Ëã‡úz2…0^/ ×¹c¢¿\IÄ%D¤1q©L¹\¡Ti£RiÓ ¦½ƒŽÎN:;» óö¸“vÚ)Ó†nþ¬HȨScˆ*ƒCƒ ,c``€d¨:D­Z¥^«‘Ôk¤ID–&d™@e)SŠòF½ìtò»¹û'7¡ØêÀ)vÌí¹eDᣪ.®±ô¹eÜýLJx¹FÏúíl½ÇFLÞs#ÆlÔ–{–„ý¤œo—k–µÛHC“‚Æ9„Ë)ò«…|£ ØÑÅNfnAƒ9®Äj,:Ø8…„Òî+iÖá2d„Αh¸ t¦ˆ-…²Ù3ÎØÎN‚äm°-ñ2b3clþŒ….ÒfÒð’»e”2^¹S¾\,‹Ò'[®»Æ¶îÎ;™œDñõ¡Óôçe…j‡ïmpFÁ “ÿ\0egÂFþ’êîZ™ëiÀU*™îImmtvvÐÕÙEgWÝÝ=ô”ûEëc€> hGCÛ`ʺc†Ðƒ^-aªÐMRQ”2E’)¢TÅ’(–ˆH""m™Q6,9ÊL¨rž!£¡Œ@ Ĩü^ÊË–‚‚†W2AAAAA#JIRgáÂ…Ì›{;ïÙg_60‘RiÕþs–¦)O>þ87ÜpRJ¶Üj+Êåu³f]Ò<ÀÒ¥K×ôi¬´yäÎ9çn¾ùfîºë.öÝw_>ûÙÏrÉ%—°Å[öÝn»í˜5kÓ§OG)Å—¿üå5tÖ¹N·PÆÚ'¤D‹Hç.`J"„7*±Ý P&ÒƒqåFü80cRxðExàÅ_^NÙ’·÷•Øóðq\yáSÜôÇñÎŒ§½§²œ ßaÜ14»c°ý®Jx!¾"vS“#J%âR…¸ÜFÙ˜Ž:::éêîуÑÞ^zʽtÓC=tÒîÊ5@çeTA$K;–²¸c1‹û³dñb–,Y̲J™ò@‰¡8¦GÔcA=¤d dBi§†¦tmÐÃN'ïÅÝÝR²ÍÁS¼–Òúc¯.®±ì¹%åÛ©ì(^åëx³H÷¼‚3FåáÑʼŠå‚Ø3TTáÿÒÜ7:ßF¡;R!íÑüûÖ<_áÊz”Rz€.%*–ÄJ×øDö£G§×hØ”Ÿ¿Î‰5íÈbí‚dÝ1®…¶e¹Æ/y² pôÅ(”;9@ãçY$=÷ÉÊòmüöÝÆYãƒR…ª+Ô|mÉ7 VP‚ïnù]¾ìç¬Ü¢å­î‚ø ÈØnKÌèL™2åJ…¶¶vÚÛ;褃n íŽé3Ë1E)´;ÆÞ :KF¯k£*)õ’$Š3DœB\‚¨ qÌ`]2ç ÆeÈ™Ãg\Я4o»èG¥È}@¦½´4N4iÊ‚¤ô@¥H©Ë“#ƒ·Mv0ÆþX© Ë–Êæ;âO1ˆjŠê)5s©¡L¦LÉ’qb r8cÀ°míÊ–EÊݹ+¯‹/¾˜ýë_œyæ™nÝÝwß2dÖ! 4¢¤”âÕW_aÂÄåZW…zGõ!¥"MÓÕþZAo\'N\«2?ü0·ÝvçwsæÌá€àK_ú;í´ÓkB˜F5B™ÿøÿXMg½â:ý¯’oíoàDB* "aÌ͇¼DÅ®ööò2vïœ2gÌðN˜åIDG_»>[ÿ4s¯^ÈÎïŸH{Oi˜Ì˜áÃ|ñ—=ã‡ù 㘮Œ)F‰˜HxƒASº•*&?¦J[íttvÑYî¡›>úèe40èhñY´¡ z©G5ªU'S­—ªÄ±é(EÈ(B™)’úÚú ¬]ë÷0ù¨·s×Å·ðÔ-!I÷FÝlþ®‰l½ÏônÔ‰PºÅµBâ‡ÚZ â—&åűøàÅ/'jdÌQí¾?ÈØ¹3Æ ƒ$r0&R%@ªÈmSBÙIÒ:i4‰”BJÛuÉB™È•$e"%ÎbþÛ|o{%P~i“—=c?H¿Ë}Et.([B¥w/^ ]2è•F5ýæû*0¬C¡utR¯›åÜE£Ã¢uQ’¤¤YBj5ö`;B¢"ÁÞñ ]ÚÔ¦8kò ýÝVÚA§\9XLŠ u¶“þÅâHw^*—KTº*´ÑN™<¼tÙR#˜I½)#/gÒ?Qô÷Mw›² T”@d J¦diµ.ÏxÁ][›è2Á= lQzÀlÛ·šëŸçƃé줉α' Ê4ˆQàD"Ö§à|‰œÓ%"Õ0&Ž ­³}‡Œ0×W›Â¼íÚPø¿}ãÚä·ôÆu²Uƒù²~ÿ³õ`Åc)@fº5·íÈe;vé.]úq­Zephˆjuˆj­F­^Ó€ÆsÓH$R‰¼üM*Há ó¾ …ê€ó¶ú:22÷^& ‹Qi„LKdI‰,©“&5’¤F½^£^«Rbh̃ë­Ç€Ã2`1ºt©èDÉ’¹d :Ð×NU´ƒ,Rƒ%©¼Ÿ ÎH‘H£³d¤P¹C hìÏ"W¤T¸;CFÁ–?>ŸG>qêr¾µÍÚ|ó͹ꪫ8äCøÂ¾ÀYgµRÏZû€LPPPPЈÕê%öøÇ­Œzè!n½õVÎ=÷\æÍ›Çرcù¯ÿú/~ó›ß¼aÓ¨m¶Ù†;ñãǯÒã¾þÉ·ˆp½Iž‡á†ü¶tÅ,7vXòï(á |ŠPƇ-ùrkÓlìºöÞv¦}p æþáqn¿üqÞ~øV´õ¶/Ä´tÇ4–+™Ix¾˜Ážò’%Ï%—ˆâ²nomòdÊQ;Ú)Q¡Lž³ ðÆ–ô ÿXÞ1@A87Œ’x¥Pâ`O.](œJç6ÌMûîØ¬ýï_Þ½)¥^O4 1«êP•ÁÁLHtµ:¤»xÕë$¶µºÌÈlI“’H¡RŸ? |úž3 ª.ÚìËÆD2ŽHãI=¦V-S`p`Ë–.añâWyõ•Wxù¥—xaôhFMw¹‡“+cA¥…2àç*é€_;¯“‘fÒtYR¤Rè®KÊ+‰RÄÆ÷E> ˆÉ/¸2߉¨hWR~nÑÊkóÍ7çÊ+¯äÐCåóŸÿ<½½½¯ë8Ak§ qZÕ!¾¯%ñÚ»­Z´hË–-[#¯ýàƒ:sÇwpÈ!‡pÚi§±Ã;0qâÄÕúÚkŒ±:ýÏ’ï‹L§S¶$YÄT“!"¡Œr°EaÃ3s"›¦<3fEàL+çŒBÐÖÛÎNÜ’/¼—Y?[Àî'N¥­·Ãû«yel%ëˆi\_1ŠØ´¦Ž‰Œ[F9HSÒ“…2 ùËÌ”*ÄèÉÇYËÓ0`¦A†¢J­^7P]¾’)=I)Yúü+²¥HE8ÓcDB5C¬SF T„’ÓQ©€˜JêàßH©¢ëŸZrà¢!b&RÏ!S„-¨¼´Há ˆÛ7'”n²Ž™(Š‹` fôyäÏ—BI¥bÓËæÆqIçÆ1QT‚8†’™‹² Òêuêµ:µZ•Zµ¦Û©×ª,[6 ;y 088ÈÐÐGŸÿ@á^ÜnƇi§J…íÔ̼J5¦.X€¨+Nyà¿QøéÄÏ‘ˆ•E1IS/ÅTË V*,]ÒÆâW_áÅ—^¤»»›žÞ>zzzéì줫Kwbêˆ;é ÃA{ØØuUêÔ²Cµ„zš‘d’$“Ì@æàLþóDšûÅB'÷el€1–p’Ù½^ùP¦½½#Ž8âu+híR2AAAAA#NBÒ4}SÊ–‚FŽ^|ñÅ75Cæúë¯göìÙüáà®»îâøýýýl¿ýö«ÂŒõÿI2ãÀÈÄ©(ˆ…›Ø²¥bЯ‘ÈGøÎ‘b\Ö%SœŠ ÆvZ’âµÜ2Eç‹$¢­·ƒé§ìÈÝW<ÂÝW<”C·1N™fw x­®ˆ®Íµpër#D¤CdMÉ’sÊDyÀ/Qžca[b•&†òn1Ã\û*ðª™3Īը%‰ÎIS’4ãÕE/ð܃Oðð_ngѼé\¿— wšÄäcö¤kÃT–¢d†R6,;ÿ ”{œc ûX<—d¤¾ %LlвEDD^ù’l8‡HE6ymáTë²%aŽfß öµ8ÅÀ˜·‹Pž(SV's¢!‡(º)ÍáM¹}} c/¨6•å@FO~µõs¨¤)4¸ yÇHÓ˜rY¢Je¦›*/{Š#mbˆ"ý¸\UŽ*iF%Iè©×Ië õZÎ0Ì]˜kAÿ¯›Öýìg?ã”SNáù¯¿›.èd€N†8é¡™¨.¸xãO¢DL&"d“Ä1õj‰¸Tb`Y™J¥WÚÚiïè0mà»ho×;::éè줣£“¶ö*mm”â2ÝBÛEJI­V££££iý²eËšmÀBÉè;R´ýöÛ¯v óÀ0{ölÎ9çþùϲõÖ[sæ™g2uêÔaZ¨ÿZÉŒƒ ”‰•麢ÁŒ. Q&Ô\i†ÀA;÷3_¤hvÉ43xRbÅ€Œ¿\éí`Ê¡Û0ÿʇ¸÷²Ý&·€2¹3ÆfžË•Šë’±0ÆvY²ÞØ6ØD%o»Ù½uehSE»_:É…D—c,^^&a ËTC UkT«užüžüçÜó‡ëyò–{=ic¶ØwÛ9Ž z‘Y‚ÌR¤Ìr3“t’—œ)•‰ R>12*¬aˆÆ!9ŒÉ£¯–qÅh׊Âdê S¬KFŠÏX#“%²×BWÌa‹ª°·•È¡L>·WOß7®zNÙ³÷À“ÒïK Û™I—= aqŽ—Õb¤ƒ,²HÜ>æ;ç‹ >Þ)0™žÛÞñmyTÜÒ½#0 ²”¬œ!eÙuY²T¨lÝjRêûQJ(—u;èrY×IRRšüé74<ñÄBpÒI'1gÎÞþö·°ÿŒ=èc û¦W³éËOsÉú'éïq#E‰4‰Hj15“µT*Wt72“µÔÖÖ¦Ûcwtèeí:‡©­R¹bJôŒCLJíˤ4T:`“IÒL‘é¦dùÏ*b”ƒ2 øÏƒlîsrrå4þ|þñ0sæLyä>ò‘pÀ¬•ÎÈ ×§d‚‚‚‚‚ÖyI)```€öövdjµ¯¾úªk§ÙdÊå22 2ou=ðÀÌš5‹³Ï>›{ï½—Ã?œ3Î8ƒ©S§2a„5}zk½ú¯‘Ì8Ø:eÐröÜ2úÏÊ‘7ØA—:¹¡K^¾¤A‹uÊ´2>pÉ¡Œ^üpßbЯݧÒ[bÛC·cÁ÷sß°í¦Péë,ì‡w h.WrÝ•,Œ1¾:à76î Ï%ãZa›íÞûÉ”1)Š dô«’š£JoýtÐéRYÊ OÞÿ×_økž¾÷A¾áv6Øf3ÞvÐL>n?:6è#MjdIB–&Hi2e¤r®û9óèOÍ ü!w¼8 £lÙPÑãÃi ˆjÎë—*åóíÅ(áaY£CF˜sð;-é÷¢ç¶ŒÉ½aü1®d)Ïdª=¬”@˜;½¿ôà ²dRÉbQa¿˜1Ï~ TC&Û}É´¸Ž-€Œð:7å.š4¦uuŵ”N³Œ´”‘–Râ¸dÊ— $LShkÓ@¦T†­OYî÷}et ' „`·Ývãü#téŸí¶¿Æ;˜.¯gÒâG¹tô‰HQBÊ™ˆÈ²X‡×uÕëLÖææ•6Š]Ñór¥¸TÖŸž¹Ÿl~Rf 4ºí¶ižéÜe;Ç™)‡2þgâõÈ6þ/ý³-ï6ñ¼Ÿñä§NöºÌŸ?Ÿn¸ýèG<þøãüñœþùl·Ývl²É&œ~úé¡ËÒ:¤d‚‚‚‚‚ÖY)¥¨Õj,]º”G}”;ãŽ;ŽjµÊË/¿ÌK/½Äàà óæÍãðÃ_Ó§´éÚk¯eáÂ…œ}öÙÌŸ?Ÿ#<’ïÿûL™2%@˜×¡þ«$3µN”Ñ#[kéÏ7”®àÆÅ%is„î;L “qÕ ë’Q•ùp¦ÒÛÁ6˜ÊýWÜÇ}˜Ï6‡íH¥·¿tÉwÇø%L.CÆë®$œë!ß&Ñ¡¹cÆ–0Y—ž2iaŒtîv9Cçc ¢¡Ì#O,`þ]·ò׋.eþŸo¢½·‹]?~8»œ|8môR«VI꺃M&•›¤aªn°©” g“Ñìò™w7ÊHeáŒ_žd3_rS3‘q»äì2äåI¾3Æ-)…6YF{%¶Ⱥg´4ÒPDÆå¢`ƒY¬,r‰òw§òNP¾df»3¾ë¥´èLšF×K+§ŒìCUðŽï>¼<AdK£¢Øƒ1^9SdÝ9‰éžT)'$å årB¹T¦\.QŠË”l¶ŒmÝ$ðÎÓ–÷ÝúèG?ÊSO=Åûßÿ~æÎË´iÓܶ«ûowËÌØŽmàçÝ%3`F‰”TÄ–q¨^&ªV‰Jeçž±S¹ÒF¹ÜF©R!ŠKú»ùÐ 4T ¥ÎUÒ“Bff9Sf[eŠpÆ~.‘ƒeÊ0¥Nb9îÞÙ³g3}útN8á.¼ðB¶Ýv[6Ùd“ÕríƒÖ 4²$Ä eÇ$IÂ’%KX´h7Þün¸þzJ¥‡z(‹-"MSfͺ™¿_÷7â8æÈ#|N>huꪫ®bppo}ë[¯ëù ,`Ö¬YÌœ9“ °Ï>ûðƒü€)S¦°é¦›®â³}ë©ÿ ÉŒF`Œ >”‘rà%L™ŠØ+asE|'‹Í–YÁ&xÓªl©ôëçÄ”z:xÛ¡S¹ÿwwsûÙ7òöϾ‡J_—ç’)B[^¤k^b„sÉhaK–4Œ±¿Ò úÕeJ±1 R ‰´0&£jð†D¿“Ì?Îü»î⪟ü˜;þü7¶ØuGv;á0Þý•Ó¶~ƒƒ R¯UI3i&E–¡ŒÍ!Å«²P(Cо~¯ö³X‰ÊÝ1Êèwßcl oq9wË`™R%»p{:„y´ªÏS¬'wÉ·¬1}'öYÊ\ÑÜác“q”[[<¶Î‡É»09´âµÌ.æ½Ø«c¶yí­ýò&óÖôþ—Lo|cËœôþEøâÜ2Q±5· ¢N1¾•B IDAT$-SNÊI™r¹L91@¦¤]2q3êÀ­Øü è´ÓNcôèÑì¶ÛnÌ™3§e¬~Ý¿€3¦p;¨Š3¢„’RÆdiQ‚ˆËˆ¨Dל)š6"ã‘™7 _”)ë²ËR*T¦ ¸1@F’Â}þgˆ)ϤqF{ì±Ï<ó o¼ñª½ÈAk­ qÒ­T[gÈH)äé§Ÿá¾ûæó§?_Ä ›rùeàècŽbÉ’%<üðƒ\y啌^ ¿ýÍï8æØEQóñVs[í U«‡zˆZ­¶RÏY°`7ÝtgŸ}6÷ß?G}4gžyf€0«IýÌ8~ÎÿpܹßgÔ–3” 20°Œeˬ28T3]d2ê‰1©t-°u©’†Ò–'~˜¯°ÎÏ“Ïu¹ø&ï[d!L£c$ÖÝ¢Gº6œ""¥ ¥K¾sÅå>½Æ²%QxNã2ÂØþ_Ö£(¾NaRÅÐß‚ëÅ^CUx‰lS„*%Iâ@Ãë˜×hèg@$M;lÙÆ8¸£Ã‹Ó,!)•)ljƒ1;žüGÖ„Ž;î8—)³<(¹cæø[q;»R§B†Dª©t‰‘Š$ˆY¦H3gR dâRe¢ÊDÊxŸ]“ûÅäÊ(å­Ã•$½”Š×­ñãÇÓÝÝýú´V)™     )™I:è)Ë2f;‰…‹òùÏ}ž¾ÞQTëC ,[Fgg]]œ|Ê'Y½õ¨Ö«ùúî®aŒ”YËõA#Kçw—\r óæÍô/þ3gÎdòäÉ¡[ÅPÿo%3Žñ2hÇ@d¼Æ¡¡lÉ’9”ñÁL~ë»eŠ@FàÙæ™ÈÁžÆnJvÿRO'y;O^}'üö66?jÊ}]ØðÞ¦@_ÈØ’%a:/é¶×ö|ü_oR‚ Aš)’L²è¡Çy˜}Ñ/¹ÿº›ØfúìûÉ“ùèù?dƒ-'’’R§Î’Ú CCƒ 5ØTRO3ÒT’¸ðR““a20lÇ«bXi`òòœ|`o¡Š-]’Ø"!ãSQ~Ù’7yvŒmlÝ küŒa xñ1Â-Û<™bÙR¼±^Ÿ¶¸2¤¼Nž„cJ˜„(ºdÜÝé_òcãûÈw¹øeGMpבl¹ÀÇÛ_(Å”—!ã@Œ…3Ũ4MIcÝRzÏ¿nE¿Æ«EÇ{,»í¶·Þz+ïxÇ;–»ÿ¥ýðÅþQ\BB…å\´R(”” X–!"‰H3D\v &rÈy Sd Œ»â-`YÓcûYé$êaö [žõ ùÂq+}6ÜpÃàY‡€LPPPPЈT’&H% ë²,%Ië´UÊ<ÿÂóT*‡–Q­Õèêꢷ·—ç_xŽîîN‡©V‡èêꢫ³)3êõZÓk\{î¹\|ñÅÜu×]ôôôð±}ŒSO=•wÞy Ÿ]Pÿ¯$3>¡bareq)3½‘iOëçǘ©i†qË4…ýæY2­ZaW¶ÔgJ=]lzð;xêªy<öÛ[˜xÔt*£º[ÂÛòZƒ˜ÛéFy¹1BXSLJ©ˆ'æÜͲ…ÏñÐ5×ñÄì¹LÚs7öúÄ {á7iK’eT©§uÝq¦Zehhˆ¡¡*ÕjZ’RK2ê~©Rj:Ș_cdÂrwŒÈ+Te `ÑM™—+a[?“»bL “õÆøs½M𲤼ÐÉO|±½™üü‘lõò0y2…2#Qì¼Ô¸/ºš‰H \›ló*ºLÖ‡3@Wº¤\w&åž–9²²É6ÂsJx§0ÀWù ¿%ðÁ¹p|@#2ÙàŒñ;<™pasÜØ÷«yw£5­c=!»îº+¿úÕ¯øð‡?ì¶ýö·¿åŠ+®à—¿üeá9?œñ*?&Ï8š*$Æ1ƒRdBååFBé6]™†4".!„íLeÀŒˆ]þŽÍúÉŠåcîº{ýåÜ-£¼íŠFçTÐ[WÈ8鼚2_:::8æèã¸ëî;¹þïgü„ñ¼{ï÷2fôDQL[{…›nü·ßv Gq4cF­GÅ´w¶»\_¥Røgr¤iéÒ¥ì´ÓNÜ}÷Ý€†0't‡~8ûï¿ÿ>» Fõÿ\2ãÄUP©ˆâ í$ÁsÉäÃo‰Ða¾äàEù0£¼4–0µÊ‘ivÆ4ý*ë‚Ä=]lrðnˆÉˆX¼ð9–<úÿñ/<;ïÖÛjsÞõï§pè¾Ã¸m¶¢\Ö9ƒªè0išP¯×©×jÔjUªCUjµºqƤÔÓÔ™<È7Íòn1®³’ÊÇ‹÷.7Æ4°6%J9†1Î ea‡u¹ø92öqÑ#ãà‹’:c§apŸxÞIÉ+S²Åì)T„íØ5¸flé¢è”Á[Vh£Dž dä]2y “›DÌ(ëzÂXŽìó¼c”íüÔàxi:«|Ñ/\j8¾óÆÂ郘¦’%áŽñÁoþ“µMÇs ÷ÜsÇ{,[l±»îº+ sâÒtøRâûúÿ±%·ŠwRWôUWd˜¼ƒ3ú¦U ¤2Þ<Ê4˜±¡Ü6`ÙÁ¬ü*ºb¸TÁ-c g¡Œ xÛÿЇ¾|Ì깈A#Bá7Í     §(ŽÖ¡¾år™ioß…vØ™ÛæÞÆ¯ýs¦íò¶Ÿº]]ÝóáãXôìB~õëŸ³éø pÀAtuv¶2ÊN‚F‚xà×êüä“Oæ°Ã f¨ÿg’'EÈ8BÄ‚¸”‘Ñexñ  Ö SlWÝ*Ô·°ÎÀšå™V¹2®«’2¼; þë7<ùËëØô˜}è›2‰¼…®ÍŽÉ[]ÛÇ~KlÛúzÙ³/2ðÄBžþó?xéž;m{¶=òÞóÿdýI›Q.Whkk£VO‘J—1ÙŸYRf$‰2µj•z­¦áL=¡îrctfLÝ©ȼ_=÷œ1Î!cË‚,˜ñz)©Æßñá@‹e›_[× °Øy¡, @äM±-LÁ¸d,tqw‚7ÂÍï=WJY@ƒ-)2°EÛ^ äÁ”*åÛ•ù¤õùâ–Ì6 &‡1‘}]„eòz(•HË…7– ឃ÷|óehØwx·Œ"!u˜´("4ûnŽúÖ}Ã9×°¾ÿýï³ãŽ;²ûî»sË-·°Ûn»­Ðóþ¯ÿ@»e†D§¾?Å)³÷ŒaeJ‚Š”q¬)"ÀŒ)]ò;TÙyóÕô]eÊ}>¶üO¯#‡3à9¤V\=öX(YZ‡€LPPPPÐÈÔ0]–@ÿb]*—xçîïd—i»pëm³¹÷ÞKØp£ ‰¢ˆñ›lÊÑ:–'žxœ_þêd¦ZvYRJ™\ƒ ‘ SO=• .¸Ð1Ó§O_Ãg´¢êÿ‰dÆ'bd‘Å1qÅ@e¡ŒgæÅ*®ìȃ2y)’¿~˜_¸,?G¦ÊèyÔÓÍÄäÉK®åÉÿû3N8ˆÞ)[Rì°T,YÒ°F?~åþÇÈ– ð¯¿Ïbñ²ÞŽ“Ùì˜öÕÏ2f³ TÚÚ¨T*¤„R‰™D±Z+%ɲŒÔ™ZBb@Lb`LÒP®d1™²ÎÓf\3‡Wª¤'ëXñ]E8Ó\ª™f3ˆ)ºf,êPøn™¼³’}¾·_CFLséÒð…èä~çŠqpÆëx1÷¨ïŒ±…°Wȸƒ„Ê¡Š5ÇøO¶õ(Ýì¦<\„窱OU®Š È!Žssh<)¤ýì<‡Ì1ß~µ]G}4Bvß}wn½õÖ•zî}ýÿ#glÏÝ섊D)”(ëûÞ«RR!#s̽™–뮜©dì¶b×*û°7@£{&3öSÒÿßî¿aÁW>´ÂïKJý½Z7€LPPPPЈ”írðZ*—ËLßc/ªµ*×^{5Qd¬Ç*bÒ[²éøM¹æÚ«‡uÈ$I:,ø Z»tî¹çrðÁsðÁó¾÷½?ýéOÊŒ õÿ8£ÿÓ%T)‚Xiè t%@ÿUÙA™ô!e¾ýío¯Ôs×ÛÎ8†AÑJ‘`îe{‹›ï%„ÈÆo½d"ò¶ô&äÙÁåeΠ?~Ì‚ r&ÿÁ!µâÚrË-ƒCfR2AAAAA#R …ÿ{ëk©½­Ã>xD¼!hoïà°©Ùªd)hDiÿý÷窫® Pf„jƹ)§®ŒŠ#¢Øà¡È”-ùhe¼\eŠy2yÈïðù1MÎã˜ií’±M•õú­¿ûiüú¹­ TüLF2Qw_ŠÊ¯;(§”É;*åPf¸ß|›*t\.Ø·˜KcË• DlùÝÏóÈ×f²ðÿÀè÷îFõ‰E =ú”0ÝÛo˨wìȘݧÇ1Q\²ÅGO† ²0F00F¢ˆ”$Ì0N)¤’È,%Kµ3F»b¤+Q²í­u™’2Ö# „±sûW|Ê»a°Ò4‘÷Ø.¯ˆÉÝ/ÍåKÐ%__9ªõÜ4ÊX׌½vˆxù2~æL¡lÉ/]ò]xïKx穟ëÚQÛ4akuþuÄÁSMålöéMxpÌE'ŽÂâ¦Ì ·ùÏWúœ©È¹c2eJ–LÙR’)’TQO$µ$£–f.°W·µ–úqj¡Œž’L‘I¥cÊ 4˜Î7eîúè)Ãl£Ùy¤Z\O½oúVûµœDó²j~ž»æªø8æqãg«ß—×Ùʽ†ðŽa–•>ú.l¹,p×+SÞ:¹sUιÐëô6íÊ‘B—@I¡øz ¯–;éçÊ|YHiƒlšFŒ¹ï¾û8ÿüóÙzë­™ûð«_ý !§vÿú׿Öô)­ úÿ(©”É—³†sÉTãùy€F¯……kM LžÎU#½e-À4U”5¸j¼eŠ›Ož12~î=ùä“Ì;—óÏ?Ÿ§Ÿ~šK/½”ýöÛñãÇ7í{øá‡sùå—ó®w½‹Y³f½þ×ìÿ)£Ô+T¨‹”˜TßA*Ãùly 4€EJ²ÌLi³KÆÂ™j(£2=IeÜ1Wh‚‰W蜧M›Æ´iÓ^÷{Z»€LPPPPЈ”Œ­~ 4òµñÆsÑEQ¯×9õÔSyöÙ‘ñ—â e:î$–)E§L.¥šód|(Ó\ óü- M¼Ä&SW’¤Cs½L@ìkûí·EcLIQ*!Ë Ë”êÒ¥ÆÈâd\1™ÍŒq.QpÈ8`]2ö¼†uÇänšÖ deÜ.­÷mt²¼– ¦©LiŽ)UÜÊäË~ITf]KM× …+Æ\Ǭpƒ§u¾Qb”l”3§‹çª1!ÄÃeNýösoêwöhâĉ\rÉ%ì»ï¾-!L£;ì0~ÿûß3}úô7eéÿ?^è?›v†´SƸe„’&…ÈþN ‹`&Ë<0Óg’Ü1c'•I”Gç„´ýØ"b‹˜wýðo¯û}L 4"µøÕWW;Œ‘2#ŽWì/VAk·,”IÓ4@™¦þ«$]ó(©”Ø q‡‡2rX(S„ Ãö•—ãè.™|¹èÀÞ9ÙVÒ”QyÎ~ì•C eDŒÉ2Y–;a|£·)3™¬˜ R¥§<;Fá‹ò!‚}EwLÁ!Òäy-ð²ò®™áÁKsvO+ÀÖ˜5Óø¹—½ûÁdéžïݲ¸î/ ºü{OãòdDÁ£„@YP#„s¾aŒ5U($ë LÓþùô©Ï¿‰ßÔ5£~ðƒüïÿþ/Ó§Oç²Ë.{CÇz®ÿ\ºÄ2Ê"Ñn‘ên_BÀŒtÙs9˜±“ïŽ)fËHç–AæýÊ´ՎED…ß9Þj @&((((hDI•r™¡¡ÁÕd^xþFýºº9­}7n^x!J)Ž;î8î¹çž5}JA+¨þ«%}s«Ôóx¥KXøÑÊ49düîIÅtKM#„PQž¡b.ž †8†(Ê@Lãkæ0 2 2°(²Ô€™TOÊ8Pãí+íܶºÖ®ÿ5\iM“;F4€Œ•)¯?f¥§qɸ÷b`NCxók=¶p® lÁMÀñÎ#ÏŸ& Ø=&oÙ.„éØÓcüR%óX6”/ùÓ§¿ùâú¶¾ùú·û7Î;ï<Ž<òHn¾ùæ7t¬Eý°žx‘rœçÊà…,[ÏŒ.cR…|ç–Ɇ üÕGÊ•t«õHDD""&bŸ³—ïö`Ù²eoè}­= m¯ƒ‚‚‚‚F”Êå2[l1‰ÛæÌá»ïÁz믈ò¿J'I2l©‘ý%©¥¼¼… Mê̽mS·ßžr¥²ÊßGКѸqã¸à‚ Øe—]8å”SøýïϸqãÖôi­€ú¯–Ìxij»Œ#åæÒ%Œ+E4@o1*BŠ|ðìw{Ú˯ù}Z×tê©§²É&›°çž{rã7²çž{¾îc=Ú cf|AvÒ¨„R‘i‡îƒ1ÓÞÛn2@ ý£Â ðÕMÞãR¤­iÓ-Ó5˜9ðüÛ¸öÔ][žß¼yóèíí}Ýï/híR2AAAAA#JåJ… '’IÉwÎcñâÅH)õ¶rÑàf‰ã˜’-;Rö×(A[[3d‰Keâ8rûNÝa6Üh#zzÂ/>ë’ÆÇܹsùÔ§>ÅÉ'ŸÌ…^ÈÆo¼¦O+hE4ÆÍ}–§v™€%šJ—(æÉB~EC‰‰eš€ŒŠPÂ0-à fo½P•I“È^~Õ)ÌLéy虜""‰kâ³GÌ`^Yˆ¡³³¤ò0™BšÉ=–ùci2Ê@™&ã@Œ,úå$Xâ×ãm/,«aÀŒh.v.Œo¤¸½Y÷ñ¡Ë0ë”v‘ø€Æ÷.éSR£ûSL¢ŒëEð’»cdêÁY„1JZwMkgŒh4Âʺa¬K†—Œ9×Èl×Ëž#†|n*9`Á8]ìÜlGÖ·rÉ,ÄxpÅ?†¿¯0Î#‹Ýìó´ÃÅ‚³Mä'ŸðŒðàM´Ê€Œ&2æúšý iQi7‡ö IDAT9ª…[+ó-Z·uÈ!‡pÅW°÷Þ{¯(ó|ÿ9ôöRH)kÇš9 Ó_Tí|Ã|ÑÌçí\2ÒN¡RLjŒ†€öÞæ» âðŸÞËåŸú†Î?híW2AAAAA#Rår…¾Q¡”(èõkìØ±œ{î¹|æ3Ÿáãÿ8?ýéO”ê¿P2㤈Isáwlëœà9d LfæÒ4B˜F ãÊŽ|G ‘E+í×PÆ!ã†é&‹%RâXøB±L iãö¯î"ÇKÊ ü¤-WÂ:d$J*ÝJ×t_’ 22ÓåJÈHd(:c`ŒPöü#sR`K—<—Œò v׎rSpÃ8çO°¸í4–5ùPE˜y«mË/S*¸cŒsÆwËÕ`ÐÏE5@¼e¥Ý P¦à$2–aj‹2ʃ1ö®uµMöƒ07ºÊ@Àüù_üê[¯T©•9䮼òJöÞ{ofΜÉg?ûÙ7|Ì%3þ›Qý_¤švP+æ)a°ÝK‚Ìý‚“J»dLsí€Ñ.Q2¹VB¡$ˆX—-ÅQD~ß )…AAAAAAAoY;–sÎ9‡îîn>ö±±hÑ¢5}JA+ þŸH ÛÜ~¿Ã+— Â9Q eL*,Mrhh÷¬ZĶhïìŽÙ–¾ô2Ù«‹]ȯtÙ-~lk»c§LÏ•KP™r“ô&å¹aܶԸe ûéã)ß%#‹Ý•”7W ëÝõRÅß7>Å+¸n{‰›[Y¯À²{nÃöV½…m®ö0“*NÒ›²ÂýãÝG» SdZc{ÀîÖ&ÔWC™/~õ¥5ðM\{uðÁÓßßÏç>÷9n¸á†UrÌWgüêß¡­T…’BÅ ¢ûl’$a‡v`áÂ…kú”‚V@ý?•°L½ýžÜÙ`¶¹‚(ãwTr~Õ8ð.v>jeÐQŹu¾Ø(ºaa Œp#l P†LA¦g²¾X£2iKTÚ lr£Š@FÇŒ)•jeòöÜöümWªhùצTYn‹j¹ÁKÜðÜxØ}ý×ÖÏ‹óeÕxœæcºJç­†‡3ú\b¯ÓÖrŽ›bo[# \Þó ”±í³Ís”È!Í—ÿã­ÓQieôÍo~“«¯¾š÷¼ç=« Ê }ç»dßïGTª ÄJW/F^kl%”± Ò4#MR’$!©'ÔÍ”waò'Ó‘IJNþ]ñ³fÍböìÙ«ìý­Y ô–ר±c™9s&Ó¦MãÄO Pf„hɽ°ì<÷‡]¬S¦Éã¦ÆpC‹f¯µñ°ðÁˆ7Ì£1ëõÒxÈö,–Se–;Y0ãÍs£P©†1ªÑ=c@ŒËipÉ 1†Œi‚2 m'¨F8Òv¬€£&s ¥ÕöF¸Ó W^ ú´1JÚ&·Œj'ú=Ä-áJKW ÃAœ¸Å6ÑüüGMø4Ã%_ýçßÔïÜHÓAä Ìõ×_¿J}¯Ÿ¨"Q ¬PÖ-ƒiŽm¡Œò¡LJ’¦$Iz½N½V£^¯k÷LÒzÊ’´ðºS§NeÊ”)«ô½­9 Lž<™K.¹„õ×_ŸN8!@™ ~ÿUªcÚaØuîr_‡–Ë“ipÉäŽÜ5£¼g»Ò%5Ü€ßË Áˇ‘6Ÿ…æ’¤‚+P­·ãAìÜåLq’-ÖÑà”10ƹppÂÅŒ™f(SœV†ä놇*­!Lc¹R\ØgeàŒÿúnÙpìûpñůòãËÿ>9ót² N×n™]Â)”H¡LB’$ÔëujµÕ¡ªƒ0õZZ­F­Z¥:Tehhˆ¡¡Á” Zwº,HÕëuÒ$E)¹ZŽ/¢ˆr©D©\áutÍÁÚh£8묳øÒ—¾ÄG>ò.½ôRÆ¿¦O+h9úî™U¾ñ¥6Ê"aïy7ð·iû¼ºû²WêÑ2ÃÃ4ÖØn)Âk}Tî9l;ÝÈ¥K‘ƒƒ®A‘ÝŸÞYH¯Ý±×a© ×úX¿ž’:£ÂB¤Á@/Ôíëà³*sÜbûk»®±±OÓ;¶#P±ƒRÞbZ¿˜0±WüJö¹epCsW¥üqs{kQX7ÜrÓc×îºØ%©ØÖšÂó]‡©–­­í{¦-vÃÔ¼/ì÷_ßk÷-3¾ôtë&hX½ï}ïã‚ .àcû&L`Ÿ}öY-¯“]p:ñÇ¿¥WØÖäBšì&Ý%Kç9yßg¥Lg4ÓÒÞLJJ3)>þ˧ ½×- 4âTbᢅ̿÷^^~iÕw–ˆ¢ˆ¾¾>¶Ýn;&L˜HGgç* µ[m´?ÿùÏ9þøãÙo¿ýøÅ/~ÁÎ;FO+h9úΙ5¾ñÅ6Ê$ì;ï¯\;í 0€¼ _Ï)£T䥿]lÛjÇ-¼Î¶¢̸ò(eÔ’%¨¥K ­†ðš7mÅżߵFv—yPÆ‚˜BW%;à3,ÆgrFcaŒiãë}éÁ¤È•ž”LðZ^«Ö­¯ýýŠm°Û^k€c!ŠB8d–¯{m3<”ÉÏA4ìc[^V”eZ—…,´:~Kã=G(¾óŧZÜTA+¢O|âl¶Ùfì»ï¾üõ¯eß}÷]m¯•ýôt·\:þÛ(¥¿JBkšÐ­ß•ÂT`L¨¯žl§&í°¹äê9ì5y£ÕvÞAo® QJ’: .dÞÜÛyÏ>û²é„‰”J«öŸ³4Myòñǹá†ëR²åV[Q.WVék ]zé¥Lž<™SO=•Ë.»,8eÖr½Ð½ð×ëJº”%=-[É9¼HÑmûÙGôèèª-L‚î8ÒC@F[°Å6¢FUl«ÐØB\i£^Ò§+¹Í!ã¸ñ>JÆ{Æ=P“adŒKÚR–£e2 °xã-“UpFAç•'xþʼnlqc:wîÌÊ•+éܹs^WÉMrr2cÆŒáäÉ“Œ;6¯«sÓyzܳ¶¸ã¦i¶{tû†:º®¹l×™;wŽßç‘U–„B8š¦a0rü<ª¢:Z!Þ{ï=âââ0`ÇË„šùÙÌ)g¸†¹¨ Jÿ-Äul‡#fâs ƒ¢Ù V{pƱê’f_ÊÚmN—àˆsu$G°ÄœêyIk+nË^;GÅh ¸¬Ü„sE&Åy¬âRŽ#ð’¶Š’=eÉ1±¯£.öIÝVrJ¿ªSú%·]VSB'må%M±w죆ìÏ9{\IɹÒ-äá¶Rî:¡²!ÝêJ×±ª’—ŠÒVYò¼¼¶m¥Œ+)¥_ÊšÉþ™­•Ù*JÞVWr«ƒ®J0&‡8Ò–ºtéÂÌ™3óº:nbccÙ°ao¼ñS¦LÉëêÜTEÁl6£iö•±,, f³sj*Éɶ•¯®^½ÊÕ¤$’®\áÊ•ËÙ:—d„BXnß\äÐ 2Ñ7¯wß}—„„î¸ã¶oßžaûÊ•+ó V“7¦œårpQRíA™Á»?Æ6&"-uISÒŽùW«ž¶¼3öå± çØéƒ1i­'Žb=û[CÉøPìÏ)öÀŒý^K Ð8êäÜÏí8ì×óëîϹÝtç*L–éö”qÞ+.A¨´k »¨\–ËÎŒÁ=£é®Ë6§íãyIlƒ‡@…ûs¾,­Ùƒ&šÛ-ýrØ>îõHTÉlÿŒÁšLƒ,Þ0ŽòuÛíõÑûrcÇŽÌž=›Ç{,ß½‡ÇÇÇóÃ?0kÖ,^zé%Ž;ÆÑ£Gó¸f7>MË™U<Ó“”%!„N 'ñÍŠ‡)9ÅMìwÞ¡E‹ôêÕ‹Ÿ~ú‰Š+˜˜H×®]9yò$QQQy\Kp*8Š(tBC“RSòûû¼Sã~[Ú ¸-oíHëQ°å&éºâ5ƒÛJEi)KÎÁs.©:†ÈhŒgÿ͘²¤º¤%¹¤#)öybر¯Îä˜>Ý>G‹n›ÛMqÎã ÂdĤ¬q›Ì×—è²=mÊun_[=œlçVgÊöɈ5Õžî¥ëާU M·¥-©ÎëlOÉQ d\ÞÚ{º’bZ)ö@[æéIÎ|~™¬WNòœf”ñ¸ÌÓÒ§8ii{8Vä¼áÇGÇŽY±b]»vÍë*9ÅÇdz~ýzÚµk‡®ë$%%¡ª2®"'©ž&cÏ©såÚ™„BˆQEæuyjóæÍôèуþýûsì˜,A›_}>qƒ‹q%(””"ÁPîÛ7ß¹œ0¤ÍãH]rŒ’q1¢ëF¤iâö³½œ £OìǨEÇ-uÉ‘¦äöX·ïëú³žpÁ™ª”ùÍ–ÎäÛèO¯'m„ Î4%)Kö›sôPúQ/zÚjVšž¶¼¸ëˆÝþØs*QVéJ.£^Ò«xJò<"&³t%ï©LËÊ< É¡œ´käiŽí6gô®ÿ«™éСßÿ=ݺuã»ï¾Ëëê¸qeæÎËÙ³g©V­Z^Wéç˜OËféÒ¥œ?Þm .°bÅŠë>“d„BP¹®¤(X5 üÏæÍ›GݺuéÛ·¯OA™ÄÄD>ÿüsæÌñÒ?‘}L<Ì¥à0®…\¨”†‡þ|Ë6"Á¾š®ØÇ-8FÀ8V0r¦29nº{ Äeµ#÷ÀKÆýÓ§-¥ZpK]r¦/éØGÌ8§?—–2Þ”LΛÄñ0¿Lº´*gz’ëü6ÎÀLÚkÕ÷.©Kºj›ƒÇ‘šdŸGF·?vÎ!£+öÀLÚ|2Ò•×Ô#iBŠk`%³€Nº ‰¢º/³t%ïÛ¼aÒs2Ô[wMʘ¾4oôŽœùG!2Õ¾}{Ö®]K·nÝòa;ŒF#cÆŒaãÆ|òÉ'y]^JjªóñªU«èѳ§3(sþüúõëϺuë¯û<’²$„â†3vìX­ŽÀ ˜Í¶óšªj»w˜5«N¦å˜L&4« ™›;w.ÇçöÛoçÿû_†í‰‰‰lݺ•¹sç²aÃÚ¶mËÈ‘#ó ¦7·÷'fèó1`¾ЏÆÈCoòFå'PаbÄ™CäLïÑíÁݾʒŽbŸSEq.#íXȶ:s” ØjÚ.nûHGº’j›Ô×¶üµ}.çvÇ|-n£j2Ý¢¸?v‡\Ò«Üs—t÷:º¬ eÏé±¥/ÙWXræR) ;ò’Ò¥.骊††c©pÝž¶d[œIµ/Y¥;ïmÉH:VEɮ䞾ãXfÛ‘f”1eÉßt%ÇÍÓ2Øî)D¾¥3e–ªäö¼îe:Œþ9ó?h‘£ÚµkÇÚµkiß¾=/¾ø"Ï>û¬Ûö[o½•Y³fåÊj{‰‰‰lÛ¶¹sçòÃ?ЦM:vìH•*UrüÜ73Euãž5kN›¶méÚµ +V|G³¦M™>}ÚuŸKFÈ!„¸!͘QƒAAUL&“IEUqÞ{ Äá9sæÐ¸qcFŒÀÑ£GY¸p!­Zµ¢J•*¼óÎ;Œ1‚ÄÄDÖ­[GŸ>}ò¸Æ7§÷žÿ‹+A¡$™Šp-¨Z •ÇŽ¼æ ®Øæ’q¬"”6J&m´‹ã¦»¥-éV÷ç-ÿÃòïq÷%¨]F«(é'ŠK EÑU[@Õ9Z&ýÍ™¾ä2 °çÀŒûyñP×3™•ãLKÒÓêœ Êlœ£cœ+U9Cö1ûü=¶‰}Uçc]÷>¹o†ÇŠçQ,^Ó•”ôû{ž¼×šþ8/£h²ž¬×eÄîz¾Œ“[ÉùU…wíÚµcæÌ™Œ?žåË—;Ÿ?uêË–-#ÕeôD %&&òÙgŸÑºukªT©ÂÛo¿ÍÃ?Ì¡C‡X¿~=•+W&444ÇÎ/ÈHWU•Ù³fÑ¢E fÏžC³fÍxõÕW2—ŒBQ°(J–K^›L Ï=·EQpÝÕŒ±hž|r2'ž”Ù³gÓ£GöìÙC³fÍèØ±#>ú(|ð±±±y]=a÷Þó1ôùtŶÂR¡ðdžü{ÓÊEsÎ’6®m]Ý>Nj۽ˈÇC5,5¼4Î"é'eµ ü°Ý{€EUœÁÕ~süç˜]ב¤¸¦3¹Î%“n™lç͹ŸâòÂÒWÈe”Lú28ºØGÈà˜œØ~ŒctŒb?Èåx]±/nƒf¿Ê ¢e˜´Ö>êÆ>:Æ9²EI?‘¯æòØ}d‰ûH<ŽŒÑ•¬GÃØe6Fwþ®½–É0JFÏXßÌFÈ,ýc&Á"7=òÈ#ÔªU‹¶mÛòÍ7ßУG?ç–-[hÑ¢íÛ·gäÈ‘¼ÿþûÚP´hѯËÍLAÁšn®BUU™õæ›´hޜ޽oÈJLBQà(Šâ¶,uzƒÂĉ L˜°«ÕþÂeÀôé5=ú÷LËÜ&t"+Ë—/'..“ÉÄÛo¿M¥J•òºJƒ”2”1ýk›7FQ(¤¤ðô?/3¥ÌxœÙ<Ž›3££köUŽA]OÛ°N‚ £ƒmó³Øƒ¾naž‚’†-U)ý(ÇèG@ÆQ®sGðFsŽ˜ñˆq޾I«€#KÈ#/g0ÆyïxÎ%sË-0ƒ3 ƒ¢¢ë¶d%ÕˆQÑœq ìéPº3aOLRÜ®+/¹ZÒ8¼§+áö¼¯éJ,é¶{ ¶è™<ïá¹E£¯N 8mÚ´aýúõ´mÛ–e˖ѰaÃ=_óæÍ9|ø0111™îÓ´iS Èä0E‹5オª2pàRRR¶,v¶2½7? 'B!r‚ªÂ¤IûÁƒÌfÝåg…±cÿ@M—#ì‰ÕCƒœž´‹ÂaüاøqÝä;îüéÎ Ã<>°Å›Í|÷m6oXÇæ ërì|½ÄåªT²Í]#+9Ëœêß{µÕjAÉÆrÙ~dz÷íï÷I„Bˆ@Ó¬ªêù†Ñ¨2n\/¼°Ï3jÂäÉÕ7noÖçѬ^·K»(„BqãPQÙ¿/e"#}>æ÷ß÷`4ù?ÞER–„BHf‹M÷<\Ô`P˜:õF£Š®ëÎÑ1VkÚý„ û0™RSS¼žC!„BÜ<Ú´oϦ?R®\9*FÇ`PURR’Ñ4]׸|éš®£i©ÉÉ$§$ó×_GèС“ßç’€ŒBˆGUUûj(ž'C°ZuFªÈôéGœK\[íËW;îŸ}6†çŸ?ìu£QšI!„Bˆ›Itt4(­Ø²y3ß,[Øú„Š¢d  (8“шÁh¤e«VT¬XÑïsùÝÓ4›Í=v”µß¯ñ;¯jjeO'„ùFû褼®BŽ9qêŸ÷U£ÉHû‰®ÉdÊÁšy¦ @æ“úZ,/¿|H À˜ÍîûNœ˜ˆ¦eÔû¶,æõ•vQ!„"gd·ÿ}=}[€èŠÑÎÇ9Éï€ÌÑ£GÙ´ñG7jBã&M öé¸iS_¢OÏÎ~WP!òƒ/¿YE­Úuòº9æÄ©xzܳ>í{íÚ5~ùi ›~üniE•*Ur¸v™ð²Ê’¦Á˜1™:õ(V«î6JÆ‘²4iR Ï=ç}„Œ®ëhYDd¤]B!„¼ëé_Oß6::ç1~d¶oßF§N©®ëX­Þ';t¥k:—“³^­B!ò“¢…lo•¦  <®IÎÒí¹°Y â–ÖmˆŒŠdû¶íyÑu2]¿ÕjÕ™:õ¨sTŒc”Œ¦¥Ý?÷ÜaÌf-Ë€ŒÙlñº´‹B!„ˆþwvû¶ù: sî¿ÿˆŽ‰Åjµzí zbÕu¬šÇ!D^³Úßë †{ÉP_-‡°°p,Ö¼›ôV'ót"³YgüøŠ¼ðÂQ4--c6k˜L*f³Æ”)±Œ›õ™¬H»(„BX脾­ÿ³ê:ªª¢yøP×uvÿ¶ƒ2‘QDF•͸]Óüº B‘è7Éû–®ën¯uéÒ¥¬ZµŠY³f¡ªj†ý¬Ö¼¹6ª¢ išÇz9LštÔöšt[ l©Lf³†¦Áر‡æÉŠ´‹B!„ˆþwAèÛú1¤$'gˆTÙ:;¹|é"uê5ðØÁ´êÈ7"`¾\ü}úÝéõ±`½IÞ¶ÒZ¶lÉËÓ¦ñððáÌöÐp&¬Ö¼I·1hV+J&ÛŸWÎç²¼6ø>d¤]BTÒ—BäW脾­ßÕ`È0ôG×uöìúóçÿ£]Ç.™ÛÖ5Ý9l\ˆ@pý{Êì±×K¿IþžÒ¿·+VŒeK—Ò¦m[†Á¬7ßtk¸4MÃjÉÃÑ^–½£Ñ˜ePFÚE!DA&})!D~ˆþwAèÛú1Œ¤¦¦¸Uüä‰ü}ü(ñÕª“’’ìqØ6@ŠÙJrªL^(Çõï)³ÇB\¯B¦ÌÓbn$«…ÔÔ·çBBŠÐ¥KgæÌy‹¦MsçiߘjšÕ¯ lM÷²ìu ™ÍÞs‰¥]BdÒ—BäG脾­ÿ)K³Ù‚É”vh™ÈH®\¹Ì‰¿U6Ó‰wl*‰¶‹À‘ouDnÈýùm´†û·çÏ_`ÅŠï8p }ûöuÛ®(Jž¥,m>ßüð»‘vQQI_J‘¢Wú¶Ù˜C&ãÐl€˜ØÊ€Î®Û©U».cÆ¢­š¬&!Ëõï)³ÇB\¯›åï)ý{û… èׯ?Í›5ãÕWf¸m×4-OGÈ\¼pððð=‡®kYÎî/í¢¢ “¾”"? Ä{PAèÛúQ ˜Í)¨j¡ Û¢+Årä¯Ã¤šS ö0k±¬&!©mç[O™="nžU–Üߣ7mÚD­Zµ˜>}@†WƒÁÇFKñº’¿ ÈdâÚµ«+V,`åzræôÂË{­¿´‹Bˆ‚JúRBˆü*0«,åTßöz¸÷‹³5B&))‰ SÇí•*Åž/ ¬&!„(ˆnšU–Ò- صKºvébÛæá=ÝŸ¡¤ ȘL&bc+óËÏ?Ó„ ÐÎ IDAT¼Y J–*…¢¦­·d6›3­›Õê%7X×óÅè(XÌ©lýågjÕ®)Ès›Ò. !„BZ@VYÊÁ¾íõ¸¾€ŒÁHòµkhaþ+)«I! ¢›u•¥¬œ>ý/%J–ÌÁyf ¢bt4VMcÇŽm\¼xÑYo“É„’.øc00:ÒŽì ­ŽBppÆŠÁhÂ`PûÖªS‡ÒeÊP´hX¦õ‘vQ!„"°rb•¥¬äEßÖï€L­ZµÙ´ñGbb*Q³f- ß‹ÐEƒý=¥Bä©›åã²®ÙFˆ¸Ž I?¢Äjµb1›9~ü(GŽã–V­}+[ìŠH…‹¡j\UÊ•+‡Å’ùˆEQ¼nÏìSP¡¡E½î'í¢B!D`¢×˜“}Û몗K¿Øï€Ltt4(­X·f ¿ÿþ‡_ìŸÞâïé„"ߨúËÏy]…5oÞ[8Š¢€b)¢*€= ¡€3=¨mûT¬XÑçò­–ÀÎZo2Q,<óT¢Ü"í¢B!DθžþwN÷m¯‡ÕbÅè@Æd2Q¥rªT®’õB! i…B!Dvn–E!„B!„Bá È!„ÈQÙ˜¾E!„BˆNú~±d„Bä0% Ë^ !„BQ0¹÷‹¥‡,„"Ç)ŠâײƒB!„B܈\ûÅB‘+\—B!„âfåèK@F!„B!„"—I@F!D޲X,(ŠÌ##„B!nnéûÅFdž‹ΓššJpp0Š,‰áF×õ¼®‚ȧäoCdNGþE¾¡ëé>{( ž’k¿xëöi™ì nT&SP¶Žûy˖פ`QT£Ñ˜õŽ"ÇFTERDòš¢(M7û¿ …ÚuêQ&2³Ùœé^Òå®M6äuÄMÌd2ɇ ‘o©Š‚ÑhÊëj‘)Õ`À`~~Á”Ö/—”%EZÅ€0›SI¨^=¯«q]öïÝK×½òºBˆŒ·` H;”Ûn„ö*§ìß»W®Ÿ¤ï „BøÎÑ/62¢!àäC…BøCÚ¡¼"í•'¶‰öäÚ!„"g9{Àš¦åe=n(º®Éj"Bá'i‡rŸ´W™“k#„Bˆœæ ÈX“OŠë¦ “€ !„¿¤Ê}Ò^eN®B!ršŒÏ Š"8!„ùŸ´W™“k#„Bˆf Èè²®y`)Hî¹BøAÚ¡<"íUæäÚ!„"g4tP¾ðuÓtE¾UB¿H;”û¤½òN®B!rš- £"ßL„U³}¦È¬wà`"{÷í÷«ÌÆ ëS¶lTj'„ù“´C¹/«ö àÀŸ›X»fŽ_å¶ï8œ¸ø–×Y»¼¥ªj–׿ÐáC:|Øç‘]Š¢Pµre*ÇTP-…BQÐÙ2ŠÏ_LnÚ´™­Û¶ùUh÷î݈«Z5Õ+x,š÷oÕöîÛÏ„ ü*sòäÉô¾µG ª'„ù’·vè»Uß±ä‹%Ù*·ïí}éÚ¹ëuÕíF•U{õçþ¬]3‡I>ÙœlûÝd|P•ßš @|Â-®qîQU%Ë2‡fÌèq~•;ãÕ—©[åz«'„Bˆ„mEE×=¯&°uÛ¶lâŸx< ,h¬ø’w¾råJû#…S§N9GÀœ:uЍ¨²öÇ'2dˆs?!„¸ayi‡–|±„ùóÞåèÑ#~yêÔ)Þ}ÿºué JÞX²j¯Ö®™ÃSCçêÕ ·SÎb *•áùgfÊ'sˆOh¸Êæ ïm¹cdÌ_ÇqìØQRSS=îW(¸ Õ‰(Yƾ´»´çB!„°±§,Ù;^¾øúï¿ÿì ÷³ã±¢( Š+–eY72kß8:œ:uÊ>ZAQl?§m;™aÉcBÜȼµCíÛ¶ãþ‡e«ÜömÛÝ´íQV|m¯Þÿh:§Sƒ|*³tP*÷ øØnYO±p@wfŽÃ÷/Ö§°Ogë?óÖøi,úå‚KS»ï Þy²¶ÏÇûÂ×9dE¡rl F#Fƒƒj°§<©€Ž¦ëh.KºûÚž_Ù8‚–#Ï0zÅB—3¸oÔþeÉ .L žÆÆ÷;že‘)üþrOíÆw ï ¬!«ý…B‘ŒGgÕKƒ®ip À¸R…jÕª¹<áO54.ï[Îì³X´éÿsSDjÖmÏ£o¼DŸò& KcNäõ ˜Óz»føÞÑ» °O”èMTÙ(BCB8tè·Þz+¿ÿþ;5kÕDÑöü¾Ç¹¿d„72oíРƒ¹péw¾—«W¯bPU õÚ5t‹…à¢EAQP Ž eË–eÚŒ) 8ØÏšh\Ù÷/¿ð&‹×íâäUP §|\#º {—†$äJ[’|m¯N§1 ìŸÊ\x2‚äk—0M¾µ[Šâœ§EQ»Iü:eóþh“¯O¡]la,†2òùx_(>]H Üüõã&ïÜÉ鈒”9‘¸ ˆkÓ]ÕÝö÷±ؾ´ñrþìØžuiŠ‚s)oéR!„ùƒsR_]×PTï-t||<ù7>7ö:—·N¡s‡$ÖîLjÑ÷R£„…ÓäÀé(ª”4et¯© ]_zª¥cò¹Œkl}¼6¶Žaφû©hôï”V tô,;;©)©$‘„£ûxéÒ%çë¼|ñR†™¥ó$„¸‘ùÒEEEqôèQŽþ9¥~ú‰ª+‚Å‘#G8Õ¸1 BŽÕÓ~óq!„Bä<ÛM'Õb¡°!ó!ÉŠ¢¸ñ´Ýu„ŒÏßSiÿòíøWÙSu[׌¦Z!?jŸ¥( n'Á¿ƒ\ùÿm›EÓñe™BÁÁ„„†:GÒ‡…sV¬˜‡£}«IÊ7a!›÷⊅ÊÔ¥çȉŒ½5–BÒBäS¾´Cg÷í£Ñ©SGGcNJ"%)‰FE7oáç£G©óÌ3T®œ6iªïïâ:—6§ß¸•(ýç³kV*v9¶Gßl¼ªüÍ×öÊ“…'#²9ãcDÆy¯€åïöÈê†ý¨’¸–vå‚5œøóÊ„ÞIJŸWzÞÁû§€Ý÷Ñè[€ò<øåWf,+fLçh“&„wï™î5_O=”ŒÛôŽ~÷Ï¿õÛ\¢H…Ü6rˆe×.~Xµ ý¿sèÿã‡å˱þðžÇÞi«Uú^ÝjEÓ4÷›UCs+OçüÏ2`ü/TöKW/eÎ]a,z8³ÿHv)/ã9´«‰ì1vbüü%|õÑ †DÿÁ[ÇðÊÎ$—'é;!„9Á`uöƒ½7¨tû9!!( $釶øØ8ËsÛø{˜ÙÿUÚ4ÜÆ}?ÈÐA©]Êý[RýÒfÆÜÒ…OJ?ÈÔyÓhRAáôás”‹ ,@*ÿ~ÿ=É“'³ptçO‡QÚ˜ñ!-iÛŒò¿e/Pâ꟬œ9†çûvæâꟙ֬O¯ßIÓgÚ3`×pÖ~1ˆr•Â¥Â|~=VLF#&“÷yo *DHHˆíµ}ø‡ý•è=05‰CS,šFªYCQ ½l9‰I—¨9ñy,ïnSlWîŠMû¹Nœ…U_?Á/Ç,ŒŒÏ©ÝBq}|m‡b;ubEÏžÔ«_ÚÄÖìå¾.Íå¿P­u \æ3óµ-Júƒ¥;¬”è;˜†aª×]•J´úƒªÄi<öžæñ‡ï¦|£ÍŒ‰UÀz‘í«ŽÐå™WørziÌ»ßåÁå¡mXó@:ß×åáXwº"Uà ;>þ–sµŸ¦OLÊq/åÇ¡^ʰî£9ÐçM>|¥%QÊ9þ:t–2¡ß_/¾·WíK]ô¹LWY• €j €¢ÚêaRŒ…ÒmïãÁ>µl=‹øR<ðéç¼´íÖ»+b¡°TcaBCCísú$³{Á;l ëǧ¯ÜGã€h}Må@ûG˜»ì=‡WÆ×éTEñéÚœ !êÞ!üZ6’zµi1tFƒ‘ͦ v„¥I^œzwž×0Tà Óº7bZf;50Ø®›å/–¾¹Ž¢C3¡5‚áá%]˜÷u"OÔ¯†AU@1`4™0Ù'õUŒŠQ»{7ZÖ. $P³NE’ºõåÃw¶ñÈÛ).±!„"ÇŒ¦ Ý{N±¢(ÄÅÅe˜3ÆöÍHÆ)}ÿ²Ä@™noðÓ¯]xwö›Ìyn ïŒ/BÕÎ÷óÌä1ô­†ŠÆ™ÕSùð|ÞÝ0Û"ìåê.爿›1öJ›÷Åœ˜6¨×™3]œ·÷¦uÝ"@µêUäbÃVÌye=c¿èEÉȲD†Qƒ‹S¶|y*ø9^×¢áüFÉ›””þûø#Š9@ù‡úc¹| ÇN`Ö4R­:†b%0kÖ&q\Ûµ½Ógï’‡î‘v‰ß¿|‹yßìàð‰“œŠ ]âÏßN\«#5BÓÊ4¯G§8X·í8)J|{.uóñHU ¶I€ÃœÇZ“’PKG`0¸/iäó¤¾ @y†ÌšAÏ2é‚„Ú¬zz8o;®ÓµD6&Zùû`?ê¾ï(_ÇbÑ1E^FËpÝëâví W¦]Ópæÿº3–N”ðë¢ !„¶2è>t<8à|ìi2_Ûˆ2<ïK5ŠÕèɨ9=yâÕl]þ1¯O~‘{›¬aïúµ<ߨÀ‘Íû°TŸB‹ƒ‡vÚìvnC ÓzöŽâØ;­~EâéÖª¯mÚÍ¿æ[)œ¶WvV"ðuÑàà`BBB8»ò;Ê ê•c‡œ³¦ñgd,çR˜5 ©Š•Ðz‘$|ñ £ŸôRª…£Ÿ<@ß©W8ãež¹%šlcDó‡¸ìÚ¹Bˆ|Æ×v¨P¡BToÙ’ê+WzÜ^¸paŠ•,éüÙ×¶ÈP¸Ń`âYÌŠ’a̧í";?™Æ«‹~âÏcÇ9~ü.éÐ,UóÐîÆ¢” Q±Z4tEÁPª ´fÀûßszÀÝ„nû•I™Ö½FEɲü Jý™0ì3î}¬±ïôbØý÷3ôŽÖTõ>²'=_Û+WY²jVû%ð- ã¼w¹fŠëõ#}»lÿYÇ­]Óí3ÖºµuŽÇª¿m ï©8e.\ä܇R?%•¯½Æ&ÍŠª9õÚëô˜ñ ç-"*éšËKö' B…u¨[>Ý:ÕÖØŠKÐÈŠEƒ„§1¯{)\÷V‹”$TÑÒ¥,¹ž#íyÇcS F ªÿý !„BøÎ±}Ñä½ÕÏd„Œ‡)h³Ù‚+EÊÓ¤ÿ8t¬Ï=ÕûðÖÌí<õic´T ÖäË¤è Š‡>§§o~ÒV&H׉s«³JP°­ã¡¦ë°e' cñ±ƒë!£Ÿ;5õ)Ö´`ŒDцÁÌ>ÓžTs q%BѬfj|¸À{¹ÖÿøyénŠöþ„1½jÚVž¸¢:^Œd„ù–¯íо}{½¤@­šµÓ~ôõM<´&=kêUï³åBkºdš§a&qnoÚŒKâ¾ùóx¹cJ±™±}¹ho3ÜÚ{¥Ü Źå.„ôù€Õÿô¢â‡«Iiù#(JVå+(¦òô~ó'Ú _Ë’Å ™?¾'¯MèÈëñ`Õ`ß^/¾·WÙå[@†t×&mƒëõs-ÓquÇÏÆpâk•"eÍZö_mM#[F0Ú¥]¬9±Ãc(âgè뵉­U‹Ý¦ÃèÑôxn<»J—BQzÍ™C¶ŒGõÙoº•ëÓùµõTןµpj•O6À8´6Qéâ7ì¤J7BÆí׳údz„ÕoHÙ é7!„9ɶìµN–“)*ŠÂŸþéqdŒcu¥@vêtÍ‚E‡¢‘E1L¹zÑ-cã¿ÃT6CO#û®îçëÕ§ oÚœòA “¬©ø7=¢UÓ]ó£2å!s2¼8†ˆòpõ)ÿÁlÕ ‰+BåÊ—‰ü“{^¬í}tëKñ¡½Ò¬ž[BŸVYòu„Œ=€•¡.nß®¶]U3Ž„¥5‡ £ö¢i<:¦23žèDŒåO¾ž6ŽUÆÎÌêm}äÛÍòÍšrvЬù ^~™fÝz¢ª Ö­ãûGÃ8h±­nñðº²:¿ãê‘þ›§ÂÕ4´6M}Ž{Æ^áÉþ©Tø2Gö'biÔ)‚õè÷,[[‘jáUiѤ,¶Uæ¯phãz~-V‡HK"kæŒçíÓu7²!¡ÒoB!rTZ@Ƈo‚#d<eÒëspÆ|˜Y:1¿Pkº¶i@|…0,'wðÍü¹¬¶´ãÍ‘u)¢˜¨pÛ“ôšxöÁùÉ÷Ó­n ®¿HTÃz”69Ò‘²HYR.³oÍJ6‡7¤œõË^Ákÿ4fê¸æS ˜Ò Qèó—°hcú”º†µ|]j”ð-dÕ|{ý:u ùØýþGÄÜ{;%+% „·,‰VXebC…ÏþºL…c{©¿t1ÑCîñ^®N«I³ùäx^º½ /DT£ã û¸ûiì•”%!D>–U;T«f-¦Í˜âW™µjÖòã‹…_cñ˜ƒtþ u,áÁúѦFyÂô‹œØÿ+[SzñÂèxÊE‡pnÅn«Hçà=|þòhV¦ê4s­¿âa„‡ësa ¹¯w Ú>?ŽßŠväËÖ%Q ¡Y–o>¼„7WX©Ý¨:íœØò».ª”‰ÇäÇû¼¯í•c•%O2{Þ—rí;9ïÝVJwýÜFÑ  * ëîíZp•a|º,œ)“æñX—8Iõæwóî·Ó®Löpöé5è: Ÿxœ¿7bÝÎßø÷ÄQ"Ïž#áÕÄ·k‡Õjõ¯LÒbUGê(鮉Dåa±¼äk¼8w>£¾šÂµHâêrk¾(J01}FrÛOóÊÈß©v×<š4-G°¢ `áØúù<ýÉ>Ž&#¦ñ­¼¾|½ªfg©p!„BøÃö‰ýtÀKÓ[¢D ?‹öµ/Lüm=ˆYð½¼sÉA”¬\ƒ:-Ƴè™'èk›MÎy;l1ðâ¨yåîyÊZ†ê-ûòü;µéåz.O—›™¿¾ûÎÛMbRqª¶À?OäŽÇwŠFÊ÷ŸÎ3_ÞÅËÝ2#²!,ZÉ´Æ!>½‹š¦eÚáª^½“'Ovyù…)Q9Ž£/ÏÅܦ)¦òáü{@'%U#é?3ç—kôÿåGÊöïOÂcfy~cÄ-Œþh£]Ÿ|ìnŸê.„y%«v¨}ÛŽ´oÛ1Ãó¿üú ;vì ~ýú4iÜäú*¡§ÅókÙÛæ]¦¿ñ_½øo] …S!¾9=†€E/NÇ×0nØHÆ´J`t™Úô|à1Þõ,¿9ÛÇëp}LºÇ¡ÔÒ²ïÎæZ×ûiVÌ‘^êCùúö.šÊ´qǹd‘5iÿÜ2fÝ[ ÂYµWA©çèÛû~·ç4«Õ`@s 2žó)ð`,Ï=ßâÇϦZ}ˆ‡Üv*F—Ïò§³àzqÞ 3P´z¦.êÏÔ¬Ïì½Z&c–×FUm¿³ å*Õ§?Íûô÷Z®Á`ð9 Öîý•Y£øM"Ý /JµÛ'ðéí<b*¯o¸×]ž³(á´Ÿô3ÊJŒB!DnS,X >gàþ;;šqµ¤U«W³sçN¿ mܸ1íÚ¶ TÆœøk̠Ѻƒ¼ÝÜ·‹¿ž|ù#†÷kæ\ÒÚW§·mçàÌ™˜÷üŽzñºzx8aRmÔ( 'ÄçH}=ÙøÃzºöè•kçBˆ·>[—i;”™#GŽðíŠo1|³ç̦{·îTªT)ç*yƒÉª½Zµâvl_‚Ñèy™f‹ÅìµüqÏyžx¹ ømÇvªÆ'xmË÷ü±‡½ûö¢išOeªªJê5¨Y=KbåË‘ùtm3—º‹72£Ñõd¤ï „BøgÕê5¶/Ó #©)©(E36Æ]:w¦Kçι^¹œ`ûV*-µ)'X5GÚ¹å—iÔ2”#uBˆüÎ[;”Þ_GŽðí·Ë9b¤ó~ÖìYtïÞƒ Ìd)«öªK÷ûéÒý~ÛnYµåµkÖ¦¶ËÒ‘ÇI}…B‘kl£›UMQQÔ»1v®Î¤*9öZ-º-Û]:6Bá?Ú¡ØØyä‘ Ï{zNdNÚ«Ì9檹ѯëœ{7úkB!ò#û¤¾J–sÈÜ<åö–5‡—BˆÑÍÓåÒ^yw3\S̃¬;þ`^WC!„¸iÁ¶ô¥m‹»ãTåIv[žÌÑsX5ý¦èÄ !D Ý,íP~"í•wrm„B‘ÓœË^KÇ#0,ŽeDó¶Ù¦išså!„È-Ò徂Þ^å$Çß¡\ßHßA!„ÈÛÝöƒt„¯ŸUƒ”ÔB•¢y]•l¹pá¡¡³îBˆ‚KÚ¡ÜWÐÛ«œ¤(Š\?HßA!„È#À…‹×xó³1 y]ŸϪÁŸûöÑ QcJE”Îô#]×±˜½/šù94¬VK¶ŽµX,èšîq[rr2îÛGZ{Õ!DÁ#íPîóµ½JOÓ4¬–ìµAY1›ÍØ’×K³jX­VŸöMNNæêÕ«Ùº6V«ÍÇse‡¦iX²Ùð…®éXüøýJßA!„È>#€Dù˜xІ†æu} 4MÓ8xì45jÕfÏ®]\¹| MÓÜöQƒÁèSyƒês'Ðh4ùôͲ¢(M™_¡z­ZD”.íÓ9…"P¤Ê]¾´W®TUEU³,S *†ëLi1™‚®ëx£Éèã,…ZuêøtmŒF#×›àäO›ïÍõ^'ƒÑàG]¤ï „Bd— É„ª™)VXò¯Ç©ÏY²¥K—¡té2y]!„(0¤Ê]Ò^ùF®B!r’ c“XÞY¶öÍëQ®LI¿¿Å²Z5,98<×yMÃlÎùóhºÿ繚œÂÏÛ÷0¬W½ª•Bܸ®·rH5[ÐõÀ§¼xåÃe IDAT“[mSz©f3Ùy©Ò^ !„BäF€zU#Ð6Ž•[÷óÍ™KX³š P$Ø (ªBpP`Ê2ª AA¾¥eY–Á€ÉèÛ]£AahÏzÔ©ó !ÄÍ$;í@á`SÀWÂ1™Œ ©ÈöÉAE!8Ø¿2¥½B!„È?œ=¹–õ«Ò²~Õ¼¬‹Bˆ›˜´CB!„âf"ÉúB!„È·6nXO‘"!×ýX!„"¿Q,X wîÔ1¯ë!„B‘# rõjÒu=B!„ÈOV­^C`Ú…B!È5˜r=…B!òIYB!D¾%)KB!„¸QIÊ’B!ò-IYB!ÄHR–„B‘¯IÊ’B!nT’²$„B!„B‘Ë$ #„B!„B‘Ë$ #„B!„B‘Ë$ #„B!„B‘Ë$ #„B!„B‘Ë$ #„B!„B‘ËÒ-{}•_¯G·OÎQ¢ÿçlÝ–p%Ýæ¿x»{SÆí¦û’½|Ô&4×*{S¸´šÛ«&õ|Ó3<¯k“¥+? !¡ßi^ßÿ-}K¦ÿc¢à˜8a|–ûLšübŽ—á•žÌÑUoòâ Y³ý8—5‹$¶^;›Ìƒ ‹y²_ùa w\`þÁ¯é–ýj¤Ifç¸Ftþéq¶?Œ ƬB!„"?ÉËÏ™vŸÏ}þï<ºŽÑ A.Ïjü·ö%^Þ¡ey2qs(Týaæ¼L½¢Œ×Ä ã0` ÕªgºÏþ}{™8a|¦oÆ(ë”Ã,|üF.>B©¦¸oRsêÇE ^>Í¡]R8¬PÁò˜zÿµjÉÇÝ×ñós5Îëú!„Bˆ›R^ð)×…v©+yýùo¹ëÓÞ”1ØŸ¿¶‡ÙÏ.EmÕ“J?~ïý•‰›‚±tzõÎëZqý\ß@?ýäcøÓùs\\<ƒßåSû÷íeáÂno¶¾¼I{—Ìï¯ßÅÈÅÿÑ~ê:ÞV‹¢®Ñ—Û²Y¬B!„7¹¼üàù ÕІ<9¥¦ï'ñÆŽ$û“Ž/~޹gÚ0é™V¤O¦±þ÷3o mO­Š”,_ƒ6÷Íbóçv=ù(+^º‹¶u+SªTi*Õ¾…¾ÓvqÍ—í–øî¹¾4/OÉR”,S•æƒg°á¬5­–ÓlœymkV$"*–š-»Ñ«UejÞæ<ÇõÖÑ]*-xœî «Y*‚’¥ÊßîAæî¸ˆèÿ}A·è¦<úÂhúßRƒr¥"(ÓŒ»çìà’Ë#󙟙;¼ ucËP2*&½_`«U÷xF°râã®”©t/k.¦=›üÛsÔ*AçONâ¼"©{y±Au&î&%‹ºB›î§Ú]/1îŽ&ĔР²Í«ìK:ÌÌVUè0öFÞÖ”ªe#(Y&žÖ#>å@²í4W~Bùˆn,ùO÷ñ5ë$í_̸ÞM¨U†rñh׫Õ+tã³ÓZ6~BÞ2iò‹Î›ë›rV.\¤ [tÜ;žÏ–‹›yõ­îð?f¥Ƹòå½Ò“ÔS¬å^Ú5¨J™RQÄ·è˸oOa1ff‹2Ôž°›Ǿú9¾îQš²ƒ×s9“âRþ˜ÍÐõ¨T&‚’¥"(_»£üÉ5,GߦUÙæ¼tHãØm([*‚’¥:òñ)[µ‹»øàñ^4Ž/KɈXê¶¿—Wø‡Tgá{˜Ø  =žŸÌ=·ÄSºTõžÚ*ïB!„âºåöç€Lºõ*]žg|ãÓ¼7á3ŽZ@¿°‘©/m¥Ê¨éS6ÝÀšÔ}¼v[of^éÎŒo·±sÕtZšÊ€‡¿à¤ …ß§÷á®y—èüÒb¶üº™¥o=Ã]MKÙ‡èd±]1Q¼FOžøß§¬Z·š¥sï§ÌæéÜ=z-çu€«ìœv;Þ72ôÓü}üwÖ¼õ —/aXÓS*ÓþcßdÉêu¬^ò*ýÔå<{×vØ?èI‰¬ú#œž>`Õ+ùàÞPVOxˆYûl-ôË?ó\§žLÜSƒQï¯eë¦Ï™ñ`+"3ýuˆìxR7²hç%Ç #ñÛÕœ †=K~æœ=ð‘zø[–¯HßþñûPW0szíZ’Û=ÇGË?çíQ­‰0Ö‹ì\s„èSYôý|ûf/’bä§Ç°d¬`–¯ÙròKê5†ßOåûsø§E¼Ð%ˆ ÉŽˆ¿¿!çÓO>v{ýô“ý.#}DÜÓóþºvh5?_ ¢ÙÝ­‰ð–—”å{¥Ö3|;¼ }ß¾DÛ§ßaÕ¦u|:y(]k—Ìþ¿¹hZÞ3·¿^Ãú ™Üæ?>|toLÅX~_lÿ’Ñuï"¶íúÝ»r{i\Ûôî½%šïo`ׯ‹™Ðâ¯ömÇ“ëÎáŒëZ/òÓ·SoÔ<–~ùz–—÷!„B‘myõ9 Ó>¬bŒfдÌm;—7tgÄöñ|QhËî‹#èòV—=u.n|…ÙGZò¿¯§K)ˆæ©ç»ñQÿ÷Xºƒ¢ÌœM<%ºÐ¢YâJ ¶*uœed±ÝP’¦wÞCSÇϵ«¶û3Ú.ý…¿S;~e=Ó矦ۻß0¸N8 U½5JX°:¦g¢\ûÁÜãü¹ Æõ|zÛ¯üvÆBƒ@)L“‡ç.ûÄÇ5Í-o fÓËè5Šsvõ4>ø»“·¾ÌÝ•LÄFüCÃü´oƒÓ1”nÇ=SxæóÝ\iÓ’ÐÔ#|÷] ½^x˜S³õBoº•°plÕ׋¾ƒ~Um³3x«kÊö§ã1jX´‰9͇…ÈN#y¤= Ä?Á£oÀ³›þ"yXE2ðúš‹rð£i¬‰Í–Ñíˆ1ÄR¯~EBÔ¾ý-‘ƒq_&çòdÒ䌰\<ÉEB‰*Œ×Ùš²x¯ŒñpˆùøLûÆÄ½_ÀøfEmå'T³oÌ^}ƒ+õ`h¥´ŸkWMæë…ÃØpð*£â‰ˆŠ$ܤb +CÙråœsÈ\Úò?ÞÚÓ^áž¶gËOx—KÛñÔŒï×zeíûVìõ÷–ùg„B!ÄõË«Ï^ç€,Ts3¨,~䆼qš®Sž¤Qhú©Û¼“K×~àþšå‰Œ*KdTYªôûšËÚEN^²!4õíSßæ¶„†ôzâu–î:ëtÈj;¤_Ãë ¤G»æÔ‰¯BÛ7ƒ9«©'~å”J´©–ɇ•@Ô1#ýêA¾žú0ýºµ¡Q­ªT½íK.a!9³”#c(% «XÍ:)Ùò'æŠmiYÖäí×àN-EÛ!ÍHY¿„=WÁü÷j¾¹Ô‚»níG÷ð,þí2˜ÿfõGˆ؛ؠlÖ53†Jq¼¸¾fý n:A±†‰Êô%ûÿ{"'eçÍ8ý1Ù}Cw0†–¦(8òor–ÿî¼½Wz’|h#‰ÁõéV³¨÷`?´‹ìút"Cûtá–†5‰©~/›u sª·÷TNnÿƒ¤ˆVtŒu ³ËвS,Zâ/KÉô`!„B!*7>x_”C ç–g§Ò§ø?(m'2©S)hf+ïÇ›¶²}›í¶ã·ßؽû†WBê<¢»X9ï>ŽȰöÕiýÌœ×Èr»~aOuÈì3-xjþR~ܹOWv~xЮ]$ÙjÅlɼ«ýuLÇú/_Ý߉aŸ+tŸø!ßmÞ;åwSÊçO4:V³ÕþÈ*%o¹‡)kùâKœ\»”sMûS§dUzuá—/çâ©u,>\™Á·V"( u =…ËÉ4‹ÕËköó÷ Dsäú*³ˆøõe Ué@ýB¿¾·š¼L“Õ{¥Çc¬©XR“¸æušÞ¥Ìü5ÿN:?¹žˆAÓX¸ú'öý±€ŽAY¿áèÞN£ÈJnB!„"÷äÆç€,WI5DÞÆÛ›w±õ“ÁD{Õ`"ªvEÔó¿°å|8åÊ•K»• Ä%)J .K£Þ#˜¾ä~šÏw_cã=Ëí×öÉʳuÿÊC´®A±"A\úæAåRYÙËçëNyœ×$utºò ×§Ònʆ4‰¦TXa‚üZs6˜òõ+ÂÑõl:é_^€R¢9CZ¦°fɬüê4î¨KQ ‘pk;Œ›¾à‡ïs¸ê`zT4¨®¢†“P§$çÖ}Íî+Þ?àùü{"€âââ™8a¼ó– ÒÞ„÷Žç³C)ÑšÑC+`ÞüÎÛMfÿ|²z¯tp |—¯K9Ë–m?Ÿ1ì¢2h\=wïÓëiÇZϰqñŠöŸÎÄÛëP¾DQ ™ÒUB1`4€ÕìúŽDT½x ŸÙĺ#.câ,§Ùòý_«6§R!¯•B!„"[òês@æAT)ÕawDôgîÀ»zázÔ*vj?{Ï”¥{ÿf”R.ðë{±¯\CêÄ”&øâ~VüxÂPºš÷íÆ1DhŸóÁüïi~UÎüð“g&¢k€¡lOÆ ˜Jï§1VŸÄV1þ^Ë'¬P/@uL/¨1ÅSùìíÙT­/GV2û¹œÕ«øxÝ DuŒž/ÜË„ÁO4i-*(œÚò ­:ÑÞUÂizÏ-\»o¯ÕcVƒ0 ׸VæÁLœžJÜøù”wüv¯»®R˜:#§Ñ‚g¹çþÒÌÕ‹º%¯°{Í\ÔìÁ£,þ„È)û÷íõº¤Ýþ}{}*#¡Zõ ‘tÇϾ”áYêý„þèÁsÚÓhå`îëߎÚŠ¡&ýKâÎíœi2šQ³x¯ )Iˆõ¾X²ŠàèÔnÓˆˆ¸A<Üd6cï@ñŸf`ë8B.œ$¥b}ª ^ÃÎ19ÝŸ¥sT*Gý†w~ס%€JHɬ‡¿ã‹•1Ô(Oëæ¡DU,¹UóX´½‚ÿàËÿ=ÚT&Ž—c §Jy#'V.f]ÿ"T´¤Rªz Ê´xœa1]˜>ä)ʾñm£®°íýqŒý¹ w}Ý…2yHB!„7´¼ü…)ÔâmyuíbªLœÂ‡ã2ó‚J©˜êÔéð(û*˜ÿÙÄ[3¦sè¿tµ•õæÍ¯&Ó¤ {ß®T}÷^Kä¡î¦é¬bZÜÁ£[sà={”bÜ2uoy’žéÇûÉ&JÕhB…ÔÖ1½Âõxö£Iœù ·6|™qm¹û¾Ç¨óü Ÿ¯›!¢;s×¾ÏÔ§¦2ý®O9C)juîE“ …ù×ë‘ ÅßM;ußÔ‘FÅ슚ôo©°ðËZ<Ù©lÚ/7u ” Øa|úe O}“¡]§¢‡DÓ¸ŽŽF„ã¥ù÷{"ÒO¾åm¿œ,Ã¥Hu†ö+>›É›}ÃÌQŸpEƒ °H*×oO¿fLY¼W®ýOvXÉ3Oas³Ñ,¹¥Á•öÙB&?Ãk/ fþ(ek¶äΩoQ­Y1>;1?Îëwuej‘(j·éA»NåÙw ˆ˜;FÓo᣼8t5‡}BóMi7í=žþ$ã;×çÙÒ5ézïpîÛ=‰=ÎSœ6ž£ËÝ/1¸Íû”ªÞ—7¿zN%0aå·D>ó¯jÁc—C©X·Ï|ó15+¸9n„B!„ ï?( ,Ð;wê˜åÁŽùsÚ5aN«Ul{©.2Ò=ÿº²aÕûýÃëû–Ó§¤|äB!„Bqc[µzMÖsÈTÖÿ~aÕ!È„üXÃH享X»ƒ¤âq”+"Á!„B!„7‡€¤,å=«WòíÁpª%D ÙÈ“dz©ø|Ö- C^WO¤±œfË7?‘]J…/°ç›×yzο4xþ!êÎëÊ !„B!„¹ã ÈX8³c%ó§,clj+KÄP¿Ó¾™8”æÿgï¾ãkºÿ8Ž¿îÊÍ^„ bÅÞ{†R£¨Q£­M_KÑR´¥´Ô*j—R¥vÒÚ¥FK‹Ú[ÕŽYwœóû# 7ÜÌ~žÇmãæŒ÷=÷äÞóýœïùžÙ¶P–¤F\a,ØsŽ{&ò–ªNÇy»Ò2cF‡B!„B!ÒIöCF!„B!„"ÊÖcÈ!„B!„BdVRB!„B!„Hgz€ë×ft!„øOjÞ²uFGB!„Bd€'ƒúv}»gFæBˆÿœ% çet!„B!D‘K–„B!„B!Ò™d„B!„B!Ò™d„B!„B!Ò™>é_ý‘~)„â?¡BFB!„BdÒCF!„B!„"IAF!„B!„"IAF!„B!„"%3†ŒBˆLOU1™Ì˜M&UÉè4B‘n´Z-zƒ£Ñ˜ÑQDV‹ÅjEEM“åk4´:-:mMÉ“µòd6i½}Döð¢ûyÖü«BªJdD/_âÐܺu E±ft*!„HsZ­ŽÜ¹sSµJUJ£(RÎ,,&3×o\çÄñãÜ µûòµZ-/Q‚üù `pp<Ù(d®QZo‘=¼È~G 2B‘E™Lf.\ºÈ®ÛiúÊ«äË_N—ѱ@UQU9‹”ÕI7ëS³ñߢÕjåŸkWÙþË6\ÜÝ(R4SttFÇúÏS¬V®ÿ{?¢^ÃFð/ˆ^oßæ†ÙlæÊ¥‹ìÚµEQ@›DÃZòd­<¹ Dé±}DöÚýüY²G !De6GsøàAš4mN¥ÊU2:ŽB¤«þþxy{±g×.J”,%™LÀjµpâøqê5lH@á"i²ƒÁ@‘Àb¨À_Gàçë‹“‹«äÉy2[(=¶ÈR³Ÿ'$!„È¢EåÖ­[äÍë›ÑQ„"Cxzyc2GšŒŽ"U…‡à_0 Í×åéé‰Õª`±&}©®äÉZy2[(=·ÈlÙÏ’», !D¦(V´Zù(BüwY­Ù󲬬JQ”t¹|V«ÕÙtYžäÉ:yÒ½@d±¦ØpN¯í#2Îþ_wÛí2m[ÿîž%=d„B!D–¦‘2™NZ_·|[×"yl›>­Øš'®’Öy4-*1E [d×ñ¸ÄSöxSûwÒCF!²4‡TŒâ.„B¤µôô4¥ZœäI^fË£I÷êjòMgÄW¼ˆÔìÅRBˆ,L£Ñb2™2:†BÄ4¨-KFÇxBò$/³åÑëõ™ª7JfÛ>"û‘’ŸBdq™éÀÌÜ>w —Âùp±¹ä¯~í"yŠË–Ù„ÙV£Åj1gt ñœt¸åºFƒU±µ¡,y’—¹òX­´Ú´·EEEUm7$¶ÈpvySõwCzÈ!„°ËÕåôjÒœ>¶}¦°}Œx¥ }Wÿ‹œƒB¤†ÑhLÕÝ,Döa0P2рΒ'y™-ƒƒ‹E>;„mBCC MqºÙÏ¥ #„ÂNÂ8§+®GШÑhþ°W±*yžŠàÐКÔýè(vŠñl­Vûä¶Á‰?Ì\þª|ÒÅ<½½ó«ly˜Ü2TÛn¯”Òö ú˜?ï?æqX(Wþú…Y]ô,ë°DŽ‘^„S©ÿ±hÙª»Ëmä2J\1æÁƒê\“ ??üOåðú6ä/7˜£Ê#V· Œ¹ì¨ÆdΘÂ8¶ñ/,ÅšRÞóùCDUIá JëEŦE1ÝÄÉ:±ô˜½½JR¶ë lY‰"~~ø­Ìkï/åDXì%N‰^²dáúÏ?pÖ«!mJ&}:Vcô"§3xæ÷BÆ"s±¾è8ZnnÐ9`ˆûØR£¸¸f-«#wÎ<TlÍkÎñä#ÌJèï øju‚ür‘Ã7ˆŠM²æºˆâèˆÒäª=‡ËOzº˜¹4«69K K¼—EôqF—-@È7wPN §lž\äÈ™—v?ÿ÷®iRíç³öàýöÞ(h[uL±Ú«K‘žœe*ëÑæ~ÿ'¬€é~Yú wóT¥\®tÎuíG£)Þ¡1ùžYµSP{Þ.ͱݗlêÕe¿ícöÉ£Á=¸}_ÂHNª¿õ?†ÊСƒèPÒrT¡[ïø;¤¼$‹·<8Ãæ/?a{îŒ ‰=1eù— CšPÊ× ƒÁ€Áчà×>aûí§ŸYjä%ÖzJ…sâ`p G¡2¼2ö@Ø/íðp¨ýô’%5’ «‡Ñ¼\!r ¸ùW åG»¹ÿ‚Wr‹äF:uêÄœ9sžô¾š3g:uÂh4&9_j÷s9 „Y™šð€"š“_v û"?þ7ý{¾ r%òæ®ZrÆ"O0õõvL³vfÚ¦e4 rçñ©• i»øßçfnïÜIÔ‡°`€ îºQ°nm^Å›¯|I¯7ñIg4z7r9Q—Ø},м-Jáõ\§+ ,K¾x®Ì+o eX׊x?™VOŽ2ñy¼“ý×LÔ.aÑÔsLÜ9rƒ /çÐÏ_Ç­?V2áÃa´¼ªe÷ÒNäKlË¿l_uúŸPÊ%‰ÅšoðÓè¾Ì o̤ޥ°ÓI7!„XRyð«*¢\áðšñ ÜM•IõðÑ(Üý©ß9C‹/–0©vNîný„n½Úc(¸—±åQîüHŸVÃ9×úKL¨NM(—/ÜÃÇöÛÊÅg â½m¨2êºïÅ–åðÓkqÌ™µûá)V%•wÉ1saáP†Öæë÷«ØÜ ѪØÖµ%k‰¬xƒ–ý*á÷EMj:þÎŽ»¯0o÷djº¦s­žNVþ9tžÇ=óãW0ŒºÁÙ{VÝzdÓ øöÜ>ö`kžèhz}òyÌVPQ,&Ìf-`Æ¢ª‚ÅlœB+×l1ÛÜ+(Éísj%ÝGÅ{ å@Ù>]ðsŒ}Ã4r·aXÍ¡ú{yn3Ÿõý˜vï”çüŠfxk¢8öIcÚÎ*ÀÈo¶ðm)w"®Ÿá¢% ~©ÙÌåù-)ßÿÇ~ÎÚ¦%ñ ¿ÌeM1ܤ‹EšpvvfðàÁñžÓjµÏ=—­ûy)È!D§XŸýà7s÷âðjLµª¥)ꥃBEŽýmØï³˜Æ›ÇðZI'ŒòÒp*á‚‹vdà›¯Ä;;§äõƨÕâ’3/¾¾ÏT0Ìw8¼ æˆßƒÄ¡oNGs/<\ ìÆYö¯œÅì‘-ùõêZ~ú¨2n±Ç-ï‚xÊ•ûfÀ,WYÔ²#ÿ4ÅÏÕ5¿'ÿÈCÇ5{™T%öŸùкAyòê ¨X)Š;^¦ê€¯X~¾-C‹<¿í,7wòÃI7ê*EbÇÛÊÃ#|Ý»3ãN×dò†´Ë'_6ÿ¦ƒ IDAT›Bd&M*ÆV8ó1•ò~üÌy¨9ð[漑?æ€Øt‘eã¶àÞgŸ½Q#PôÍ1üoIe¦.ý›áå+¡»Æ?QFü+V§B‰Â8j S¸Ä˼î>¾ø¸éÐ:x’×Ï¿lð1c¶˜Ql¾¥0(¡[õéòöÜA«ö,IRýR“GUU”µq=oUE‰V‰-°ÄÌ›R›85cç<¿}¢1+*~Íë{RHo%êÁ¿œÜ¹„ÏF¿M•“øcC ܩԡ+•âf+Y”O_Lõ5{¸ÖWÇpþ=s¼_¡zÕ’xë @AJª)sL… «9Ó£¿˜ñÙnüFüÆ‚÷JÆž*L ¤°/Û˜L/?šXjöó8Ùà#_!þ»tº„*|—zÝÆñzðªuè›]:œBOŸ!ÌX‚ZNö b5mg¯×LësP¶Ñ+ÏhLàp@ãC·›SJ³m‰<RØNöËã@à€uélŠ]_8‡†5e˜q›?.3ö¼ó'›ÉÖ©Ïç[¿¥{á'þÓ¥˜Áæm$ÖzóG>švÿÞ h‘Wkó|¶NgKõî.¾Úð˜KPÅ];­Ž\õ†0ªÖlº®ØÏÝ^É“ÌW=ó ËIÍ¡?pú½(îß Ç1WÔ#C)»ÀŸ7ªû K¡QnÏ<Þù ðŽûW8×Ý 88ç# paâ5I“Éd{Ž'';ÉsÓª¨ ¶dlÈ8ñí£&(Å=¯Á«bб‚ wÌ(÷w0¸^[6•û”oͤ¼¯3ÿL¯MµEOçs.;ˆÕ'ÚrxÓjV,ù𮵯Øw=?O¨‹!nèUE±Dc±F¥¤n[ ›%Ü®ÑÑѬX±‚“'O1}ú4ÄñãÇèܹ3NNÏŸÜ|‘÷FŽ0…"ÒóR¡EÆ-ÿ•]rî›iì{¨#g¹JøXþbÓÑG/Ô`ÐèôèPx®7¹C.Šæ„[gn‘bgMë=­?Àc—b”z¦×‰ùîEî’‹¢9_dü˜DWĽk9I u ?ÿ¥i½³‡•ǩվ|‚Ë•,\^2ˆWgòâ!RŒ"“SR}¬Å»ÞGLnÁ“ø=ÂùcÊ(¶©ýN)œlž/æaó{ŸÂrÐ;ᢷpõ¯«D>û;Ó].ÞQpÊ•GMúå‰÷ÐñôñÆ~”¯†,"´Ú º:¤ëöyî3SêæIEUņå=™:ößZœ½]àÆ~6í8ÂÕpkŠË°X,¶5 mÞ í䢦UýDœ\Åæ;e=¥u çÂÝÉð´ñýìþgô¥Òk˜´î‡?âÌÜ/Øu_!¦Ì3­Ö£AžØ»é©}¿ä‘ìãé[ÿyÖ¯_ϱcÇ.CéÒÁ;vŒõë×ãááñÒûyé-„Ù‰òß/å´oyJôÁøè [ý<˓˨Á©t†Ôþ÷ûõ¡à¤÷i]Ê™;Ç~æÏPoéäGaÇìüa æ).Ê…Â%óá쟚•<˜úÛܶ”¥@ì·‹åö¯¬øñÆÜyÉé á·Ï²wå<¾ýí!ÕÆ¾OM÷¸&Ž…[üÁ½U¨î÷÷1ºuˆm»KS»¨ w/cìû»ñhÿ-m è‰?j±Â½_WrÔXƒÜâß:4ì0_Mû‡êñ½yœ£7Ÿyý޹ òÅ9ÃV!Ò–ÙdNÝX2Ú\4÷ªöcÀ´¶ìü 'Ç’¼Ý·<ó?z—¶1²Ku 9=âÒßg1WëL«L—×ñõOVJU"¿§•lãØC-><Ðá€_Õ`\f-aâ¢jü¯†ÏîcÕÊ ¨T@ç’ëAV¯ÚŠÑߛຕȥ730ꢵ¬ÞW‡9¢°úSÜ;íYM+ªJªS¢,W—óáÜ뼂f>¶÷މY‡í êó¸×âýÞEhôEsZ>øþ̓ñ޾ÈΟ0élI†Ï«‰û“Fx:ä0‡rþôBïßâêß»X>{¿˜[3o[ èÕg·{ž§SÇU ž)LØ0WjòæôšÉ|9æÂ,à˜»8u‡­àËÎ1çhô³z÷fØØ×i`u§@ù´¨[ Ÿu1³;÷⽆?ñÁ°7ÙWm«jU"—^‡_ëO²¾'“ÛÔfJîò¼½x-Ÿx??>AVaKƒõ!¿NÏc3¾í]<Õãb¤ªAb*þ‰­þ˜ºr>ï.>Ç]c>JUlÌÄ-£éQÚ1ÅõÙ7XþYA·š#8áæKPñâ”í0—_ûµ¤”‡ÎÆ"‹}ó<åLÍ8³’Tdl¡Ój±Z­è´É—\ëÇÍÐØeÇŽàëRq»®zºÎdFöMîwÏMûÜö‰-ˆ]›KçscžÒ¸’§X9^÷ #»VÀŠöeÑôóôÓ‰JÓ\(T³#½ß¯Ë™ù1ËTQ1ߨÃ̉8w7 UëAÁÊm˜¹áSª8©„Ç»,ÊHéá›ù)燌œ=Œ–_>ÄÙ¿ zLeö€RØydÀÿ¤¤öQOOOÖ­[ûäçäöåÔüÝÅ‘‚ŒBda«õ™ë‡4Tþ»‡'3£?M‡KÓ¸iL§˜X§kŸLáBõY§¹žèÜü_ŸÆÎ×§%\*žÕÞ¦©ë,ÜrVoÆ4N\+fí¯£S|–k›X|Ì“£*ãþ2½O‚z³`cgò&V]Ò¢ßÎè(wÖ³âÕfVzz;ÑXN?ç¯ëŸ¿D!DæâL•©g¸÷Üóü»­çßnÏ<¥u£dûñ¬i?>Ñ%9ê̬m“^•Áæã6Ò|\ü§Çމû©½¾ÿ›^ fÓzVeøºã$óÑeh5Ey2fÒÜ©ýÕYîó¯Ô6dlÞæ<:o*wÿœïº'º²”ëKvΣóïÍÞû½_x=vß>/Éæ<:ª¢ÄŽ“vl½ËRâÛlj*ÓÏqzRsÅõ`r¤X—™ìî23Þo{ŠªZÅÁQ‰-BÅ¥îþ+:©*輩Ò{6?'Ü-RỶKnõôôLq[~Ÿ)È!Dæàà€ÅšIFp«HÏN~4™µ€c¯¡¼­'wÕ0Ϛͩ‚]™QÎ%åéí@›«%+.µL—u !Ò’\?˜Ùèôz«5íß[{\Hžde¶<1Ó¾XÃ654 sÊ·(N·í#2\jzM%½)È!„È0Ž”èù!!ËDzòøÊWqMy@}|Œ¶+4ŸðöÏWñŸàèèH*®µé%Ôz½ÞöÆäÉRy”˜@išRñšÓaûˆŒg÷8Uwqó¼ôZ…BˆXÚ\M˜¾«Æ¶c4n5ø|÷NLÎÞ2("Õ¢££3:‚H@MÅm¯_†Ù† yR’Ùò<|øOO¯4Í¢(ŠÍ—-¥×öË^ï±­ûy)È!ÄCq†ýöÃì²0.©(ÆÄÑ»z¿ä’+µæžKbÜ!„é)æ¦4™§+y’—YòhPÑkuD„?ÆÃÝ#M×uûÖM<<|øäoÛ`0 I0¯V«Å ÓæÙa;488nHå~þ$‹}S!„HOŠ¢P¸HQJ”(ùÜ“Èüd@!^œªª˜L&)Æd2™©‡ƒäÉzy2›ÔnŸÌLN\¤­ÝÏ¥ #„Yœ):S6º A!DÖ–Yz8Ä‘<ÉËly2Ù>"-ÉéT!„B!„Bˆt&!„B!„Bˆt&!„B!„Bˆt&!„B!„Bˆt&!„B!„Bˆt&ÃE !DµqýÚŒŽ „™Fó–­“þ¥ªb2™1›L(ª’~¡² ­V‹Þ`Àh4Ú4½ÕbE±ZQI›[k4´:-:mMÉ#y2s‘=¤v¿Š#!„Ⱥ¾Ý3£#!D†[²p^Ò¿TU"#"¸xù‡àÖ­[(Š5ýÂeqZ­ŽÜ¹sSµJUJ£(É´,&3×o\çÄñãÜ Mƒ§'V«‚Åšôåg’Gòd•<"{°e¿JH 2B!l£<âø–]\ŠHaP;ómþøi/ÿZÒ'–B¤DQ¬hµrØû²¬Ö”5U%ÙKÂìE«Õ¡ª*ªš|&É#y²B‘qöÿºÛn—ŽÚº_=K.YBa“èÓ³éÛc…fïgq Ÿ$+úÇgЫûTX¸Ÿ¯C¼¥ò/„Ùˆ&é2ñ¤¦Aò"â–oëZ$mÓ§É#2;{¼Ç©Ý¯@zÈ!„H@yx”%“¦°ú¢éé“ê#~ûê.ùueHc¬g§PÓÏ¿„¶[°÷æåÃÙ4u×ô’±Ü>Ì–M¿qËÆÞ3aÛ^'Ÿ_)Þ=ñä¹ÇûQ¯,fN`@Û:” ,€ŸŸeÐ}Ò/Üž9BˆRqÇ ñrÒ{ÐÓ”êC’'y’'y2ˆ¯x6Ö­é!#„"åá,™2•ÜåzÐ& ¦£>ØÏ‚Ÿ0°%ŸNëßv0‚rà忀pð ÆIŸ—îÕù°ÿ·l¼Ú•þO¿j"ÿþŠ~}Âùúä*BÜRÎbð«OǶũ”ËûL'×ìä¡WšùÞb®&]ÚPÔëÿ²‚ÕSºqÃs?zøËœâ F‹ÉdJyBñÒ4 ‹%Ó\æ!y’'y’—ÙòˆìGŽW…"»PîshÞHFÏý™c7Ã1æ*C×¹+SÙ‘?Of蘅ì¼ü¢þñfâï+):£-×ñÓ^çÊ]-%ûŒ$ׂќNu Â'š.ÿ“©º9›vu `̱«¼²j*œý¨Ü~8Ÿ·öÅ€Äl9p‡>yIî0æñžTèr‚"A gO\GW8„~'Ñ¿š7ÖG'Ù¸ê¾ýGÆLyšuÛïá^¯-5[× Ië§ËQ;s£\_®ß‹$}o"+„È ä’ƒ—£Õh±ZÌ)O@êÆPx! VÅÖ.‘’'y’'yé'™u‡_;ËÃ\ø:j°>¸ÀÅŸ@oiÆÛ›]ÞãTíW1äBˆl"êøTú~¼CÛ˜â‹ùNE1_œOîÓ¹Ñø}¦÷ãÎOãw%n.+–0E] jÑ ä(yšs–âñî\>¨àEž`·—ýMù©ß€Ö§C¿È‹ÅÍ CÄ¿ü½ý[f/Àë_ö|V7ï Š{ÂϯÝ!'šH iAU­D…‡®´(€Õr ª~Ägo=fϬ‰L|k8û¾¦VÂ×xvÛn»R»M0Oo&¨q~ŸöÂïE{²¨{Qäâ!„°/£Ñ˜ª;‡¤5ƒÁ€bà ÃéEò$/=òXoÿ̘·‡°ôX¹*´aøÔyÍ?ñ#‚̶}’u‚ÉM+ó]›Cü5:k;”g ×2N.kNN|$Ý„††àííìt/²_ÉÛ(„Ù„Þ'˜ÒîpmÓ 6ì¿AŽZ¯PÖSáß+ùSS‡q“ÒîÕ6th\ þŒ^ehùZu5£^Á<”¨Xwôø”­M½ºÕ)î ï†ƒÑ ‡˜«bužeiÙ©m^mF‹ö=ñõ*¦Õ4pû§uœ‹t®ø¸Áã{áDžý’R¾ç.Ìê!úUˆùw`ÍO9iÈA¥6iÛa_ÌìC¾°=l<™àFsqóOÜp®ÉëåâÊ1&®nxŸzØUôc¶lMݜҭX‘2Ëí,ý¸¯T-‰¿Ÿ~EËÓ´×l¹òÌÖPÍÌ«•ƒÈççGâÕi;â;N>Nx ®~ú{Ftl@¹B~ø”§ù yM¬°¡yu's†t¤IÍrñóïÁ×\²$˜æÒFÆw©Kp!?üü S®Q/¦î¸E¢çd-÷9¶j=[Õ§r üüŠÑkïc[7Qº‰ú{<åôzôúê,¹™}­\›S ½^ŸÈÃ…–[e@&•ˆK[ù²W*χ»^¾ìdÎÙÚQé?Fç]ŽNŸoæÄùCL-¶‘‘_ *rDD~C)&œyÙË$noü€/¯Ô`Dϵyh6ª Ž«‡3û´ ŸSÂ.BCC !$$äIaÆž¤‡ŒBdú¼mXx¸ ;¿ÿŽUfÓ­ÖtšLßÌ« ¨¤öŽ~O{njqtw„è0“ꅩDñ(ÜzGôZ@‰äA8¹;a,ð³×Ô&BÈ#ŸÒm|C–|JegÐ8ùðð“x‹ÒѣàÕïÚ#Óe¶l¼†±ÚÊ»k3W—w§ñÔ³•¹=JâššQÔ„ÿ ƒ!‘CÞè뜸îFÕ7FÐ'Г°sÙ¼p*=ZÞa՞ϩ–ä8W®,ëIûÑç©9ðc¾k€åô&8”öùØ7µ6î…¿Ž¥uÇùÜ©ú&ý&¡õ/¾û| ­š\à»­ã©ãwnÔÊÝíðê[kqiÒ7†ö Ð/îùÉ÷Lt5ìcÛöf¹wGFÎúœŠžwØ·p4Ÿ½ù6λÖÑ+Àðtâ¨3Ìëü*Ÿ\.CÇ®½;ØŸ<Þä,ìl—íš(&õcm˜Ï3¿÷g\*’Ý…ŒÍ£ÍÑŽë†RÒøì2 xqMrž´Ëcåöæw¨Ñz9®­úÒcÌ@JðÁÓÓCÊsÛ?O:xÙ<úœ/–?²l›‘¦Ó cLy®´Ëó²,—Yñù6 ­6Ó*_L·JèWl_Í:»_UÃ%ãÒý'Äcy“FPn_æl(ø•óÃÑ9eªä ,*'zm8A•«=iì<Þð?odÓ™›ì˜÷—}^ç‹Npâ™×wu+.¨2¢ž°ÞXË;óoKMÇ£¬[v‡¼5iÑ  Ž!D m"*}þ6L˜Óæé!Íy5è2eºãB˜•jnI5ÄsbÃA,Õf3íýWñÖåÊÿöNê-ÛÍSmJ¨ãL{w>×ëLâçEcÑMiT³ ]ê¾ÇiÙ;¦ Ž€åêrúôû™Ê³w1¹™o’è¦+ÛÙyÓîߌ£g阦f¹’ŽÞþ&[O…Ó+À3fB5Œwå‹Èwøq×ʤcµZ£Ñ ª¶Ž¹aáŸï2êLc¦ÎrgXç3¶Ïkãx¶åQQчbeÊQÎ)±Õ¥°>»æóåt|c5–cn›üÄ«Á¨jÊ·Õµsž—–Ny,76ðN³O1ŒÝÀ„šîIo«4Ì3mÌãe¶«ùâ*æñäÕ/*á÷: …h×½£>ÅÁñU©gà „m¾W÷ïß'$$„2eÊ0{ölúöíû¤(ãå啨BR½^¹dI!2ØÞÝ;qvvyîçÔQ‰ºó—ö-aì€ô¹kýL}¿<^%²prG _üž‰ŒcÉÁ»É.I›£ïö*‡vûD ü”%¿ÝÁ)øUÊh¯²}ÿM,X¸{ü7¶¯_ÌŒ ã˜8{ÇÔJôœ±ïÞ,ˆ•°ã?ñ·Z€F5òÚXùàð×Cè5x;t­˜°dUÝžm@X¸¾}=çõy½²Tîÿ¶Œ}fàÊ*Æ ưa1ÿ}yG2ª¯ÂfV"Üàôî|ôé¯86èN}ŸäΊ;PÉ娷,?t ` ý5›®áZº"¾±-ç¨3kØp=‡´Ž×£AŸ¿ïµËÅ¿×r6 š3KgrÄÿ5Šþ€UKP´Tu^í3ƒýwãwK4ä-G1çëü´t+ÂP#¹¸u%G-T¦ç‹roÓVES¯©•…oÖ§\± *4èȇ«Îùín«Å¾cÈ(·72ôýýTœ0™–yRß,Q¬©<3Eª’r¡#öËÅɹŸs0 #¥÷¤VQ<ó£f§‰ìºmû:ì¾}^ÒঠIDATËå1qav}Üœ«1ùTÜ…H ·7tÆ×£63ÎFƒõ:+û¾Ï­wW3åÕ¤ ›/Çò/†4¡”¯ƒƒ£Á¯}ÂöÛÏü}¨ç™ß¹ ^ îù)×jë.D<³Y¹wp6=ë—"Ÿ›ƒ«/Åjö`Å5Ë“ßßþu§•iUúÙª‹¿zMñ°—Mç^Ú-ìÉh4Ò©S'æÌ™óäÆ9sæÐ©S'ŒÆ¤û^¥v¿’2B‘ÁBš6OôçÔÑàVq0 ·NäwzŠv˜Ä¦“•Ðõ­)ÝÏ8Rö“#\ÿ$ÁäºÔ½‘c£ŸyN©Mçj~»ŽK]R´ÓB~í”Då{í ¿7-‹ÄLÏ­Þb.]Kl¦¼¼µúWÆÇï×âRm:§®–«,pm¹)TÅ.çkë¹þZRÛC!ž¡‚%‰;…mïJ©®»bÆ`ñmÃŒOZâ›ì²AòÅÕ® }­, Ë×"×¹½\(=ŠÕS›C³Âˆ«Ç¸¥¢F@ÂþzΩUͲ¿¹ Áú[ü¶ã*ѧæ°4p$L„×½Ì;vÍo³ö—©ÛÃE›#„ÉóÒ£{_j¯ý’jÁÑú :Ì_à §Ÿ·‘g¶p4üa3÷Ñgìæ°rjídFjÌyó–uÌ÷B‹ Ū Õ¦p©‡zŸ#²±ÐhþèìápêóXm¼צ<€õÆlj¸Çœ ׺å£|㮼?n8­ ;aK#»å±ÜdÏO—‰:>…y%&0~á¼oî`Æû#iT㻎L¡†[ʉì½}^ÖËåq pEL[_†þ]§²g8%Â6ònŸ-”žü}XÿÝÅw¿ßåÏ¿êRl4¸ÖËÞ p·wÁmVs(þDžÛÌg}?¦Ý;å9¿¢1¬< î0–!MJáõð¾û¨/í*cá±ÕtɯG¹µšnr¦Ý×,›V_Í=.ž½C׸Âd'·üZd4%\1gô¯E°Óçì>tkyÿdïd)^œ³³3ƒÇ?®ÖjµÏ=—­ûU)È!D‹ˆOôçLE›‹Æ[ãÝ~ÓöveF}Ï$N£Ï|Ãç;­TšøEíu»#«¦ƒ[µÜU@ñBkâÉ.•dz~Õy.þ¹ÅÓ—2 Ñ=¢~YL§I&«Dý{„}GoãVª%­jzr!ì0ǯ`ÑÖ&Lh[#*¦°hT‡\8%ò™¥wõÀ¨Ü 4 ·9{ôU?cùÔÎä×”£b ^­ûŸmêϪöyb]Ö‡œ>ðg­ù¨Ó¶)%"ã‡Ùºx9­«¢š—Px|í aäá­Åß0²²+ Bùòä «ÅŸÏâx«ñ‰^–“ÆöËžÌ3Šš\£Dåñ±ôYæÁ»{Þ¤ Ñ„›TT¬æhL¦”?èÍ6߂۶ý}1Õ×ìábXCŠš­¨šT©G…"€~kàlÉv|òõ1Z.‰öÞE®D:â_±*e à¤)€ €“ °ÞæÂåp´9óá¦FÇ<G㉿79w“pS¹DÛNL¦—(95ûU)È!DÛ»{'!M›ïçÌEƒ[Õ!ŒXc‘äâõyêÓc€'e[¿ØØD ÓfðP{-Mñ£Ó%]LкùS¶š?e«5 y“ât¨û!Ó–œ¦ÍÈR‰ª†ä“C9Xïö|Ö=0t8GftâµAo;h;ÃK9âèåŠ.ò.÷M*Ä+a«˜†¥uÁÓIЉp“†’mÆë™cðoFûâã˜úÇ?˜ÚçÁ ×–÷âÍyZ†mÙIÏ g4ÀûCdè«}è:¸ûµÀG«nBã]–¥\Ÿ®YãI¥uq_óg)”K¬R” ££mãjµZT5…1W"1µÿ<è¹™%cÆèxfÌ [ÆÝÐëmû†±)àPOÿ]½^sÚ¶®HËŠƒÿõ ^_6Ù†¯]ó(Q<6i(Ý!?údX CÁVt)5Š ¯Õ9/É ÏlïíàÝt.þŒ|:Þ¾F[^§t}¿t~¯óÕ̩ح5oy¶béïíâm#[½lžè«[™1aÛŽ]âÚµk\» ¾Q˜•§YâíËžyµ$¬þõaJ rø·cT÷ïy{`Yæµàí=x»C\bÿ.3fpòtE—pN~/‹-ã ›$|#""X°`ýû÷G«y_EaæÌ™tïÞgççÿmݯž%ç…"ƒÙç’%[iðn¹Žë×7ÒÎ'•_z?^6ÆŒÉvÝÖy•§ëðÛ8Žkíùœ¿þûs—+ !„½è ¶u×sÈ_‡†ñ ’¤ú „ÿ¹U7JðΠº1Å­;å» ™Ûe6ïø3àX‹õ,;ÏF$XBgwƒü ptÎx;C䃈 + Q ŽN1ì–ؼèÆW†òFl1À!_SÞ{§{Ws"@‡³—3š¨‡„'òE1EcÕ:ãæð‚MZ½1(?-¬$ö;0‰é§M\™Ù¯˜ˆ4kpòpD“žybZ_ .Lá¸G€?>NØ4¯ýòhpÌásw!?ò¸hl^¿½ò(÷w0¸^[¦ß®ÅðE›ùíä|XMÜt<©ÈÄ_'€ÅSDÑùÒbê¯\8¼šO›:°sd ‚‹µa˜iµ®ø¸BôãÈøû€ª¢Zs/Ür¹ }Á×.ç÷ƒ„ÏGGG³bÅ ú÷³ÙŒÙl¦ÿwX±bÑÑÑ/µ_ÅÛÇR=‡B»ŠˆÒ#æÙŸ…B¤¯Èó›øñ‚â5ü“¼]®ÖÑ#·9q)<^Åö7#µxævEGl—Xÿåz®=3ôŠåÚz¾\wŸÂmZRØ0úS­„³K–râ™ÚMô¹Õ,?ãNµú±Y4¸8£ §ˆ?Öo4w®Ü÷¼xê4¸—¨NþˆíÌÝz“'5å.{–ì!ªdSJ¿àY[)4€œ*Œåç½»Ù³çécëŒ\bÄÚ]ìùu:5SnHÙ+ORˆó›X{ V)€Ñ†éí–ÇXš%8=o…?}>òô÷,>åAÍF…Ò7öÈc½·zý@¡ÆÑâÑLÞ³‡Júæ‰8¹ŠÍwÊ2zJ?êÎ…»“ái£ZUQôQU%ôw~üò”-Œë“÷b ysävûž6ê/LY|†HUEÅß"ÞX®Ÿæ¶)Aö¨›\¸§Á§h éôÞeçÇÓ·.þó¬_¿žcÇŽ\†Ò¥ƒ9vìëׯÇÃÃãå÷«XrÉ’Bd°¬qÉ’Bd'*÷Obôšüƒ‚Ìç̃“[Y4s-烇³¹‰Ol+šÓsÞå“yé?õCª{hp.Ó‹¾å~`\×¶X†ö§Uù<¨7ñד8§3?4Í3¯>€n“³ºÙPZt;ÏÀN5Éso?ßM™Í¾ï°±w14^Ôyïm 5ÿšŽoùìM𻿇YNáfÏy·R숞º<¼òn;&wE«n7ÒµE\Ã8ûó<Æ/¥Úø¾Ç^QêP¤ ïÖŸÏ Á¯3$l ]Ë8ýç|ðSÞ^Ý.vœšÔ3›Ì6%£ª$Û›FãR€’Áâ=‘£îJS&·–˜^ É­CÅb±ÄkP½hˆä̪ÅìŽÌ‰o^oŒQ¡\9²‘3×q2Ï[¬í€^U“½4ľy¼¨?¢…Ì ÕëF¾ÖŒ|÷w2í½‰ü[븤¸ûæyyvÉ£Üå§a}X0†}ノkÙãT}½;£^ù/ëz¦ª§ÁËäÑyÄGY΂9Û¨Þ»(wvÌgÌ”ó¨ž cå€z«·RëÕ@œBÿbõ„!¬y\–±=KᨪD_Zì-VJW,N~O+ÿþö=Ô’»€{ì%JŽm\‡ÛùëÁ@r>ý»‹¼¸‹Ñt«#¦§T*^·HZbû‚§§'ëׯ£eËV¬_¿OOÏ$÷›ÔìWq¤ #„,}/YBV"Â"NmaÞsyh1àí_š:ÿ[Æâžuð{Ò=ÆBè_ÛÙµ­­¢cÇ‚q¤Ïò-øL›ÆòÕÓ}Ü-4¹‹Q¶Æ–}ØêîONÎÁï±îg¾?Ÿ¯Îá¾{qª5Ķí)éút:—r#XµÔÆ/âm§£ä ¢v»ùü2¤)OÇÖâÝà 6//Æä¹™ù¿9\y솩 ¼>eCÚú?=°×ûÒföz,ã?bÚÄ®¬ s¡@…&ŒÚø1o–s³éŽA/CE%µ­Ä'“'8käô©hð¤˜Ç|“ƒ—2ã×Küs'G<}¨ØåK¦èJE/M»åœ+Œbã*7†™G¿f“P|ŠS·ã·ìÑœúä‹Ui‘çe½|+·6¥ÿE»¯3þz 4Ç׫Ѧ燼òÛtå°½$ó2y Eû²húyzéD¥i.ªÙ‘Þï×åÌü¸iUô9ÊSäòlº7ÚÇ•HO VlÆäíãy«¨!¦h£„qjÕLõapÌS‚z#V1¥Kþ'cÆxThEYF±îèCZ6ôˆý»æòOÛø7o#4¤êuˆä%µ-===Y·n퓟“Ûæ/ò~HAF!2X–¸Ë’Bda«õÙUôä ÆÜa)ÌéBõY§¹>+þ³Z·´9‡¶#S\3®Aí»¤c“NOžzƒ™[/ùÛ©‚¼µû2©vß”VŒÆµƯ¢Ãø'µ+­Fƒ¢(OÁ´•S•\¸ó³= 26åÑûÓyá:¿Äºìš'&y aqƒ! ×dSgûçy9/ŸG‹Oóœ¿þÌò4^ÔŸqšû©\ÇËçq¤X—™ìî23Þ´½¨P~"ÇÏÇ>’˜‚#`(Ô…Ù¿tI,Ù“÷W›§ ½k cÀ×»¸[¯EÌ]&£N²té%ºt¥„Ѷ}AØ&¹}ÂÓÓ3Åilù}b¤ #„L.YBˆ´åàà€ÅjIyB‘ ÛúÕèôz«5Í{áØÚ•<É“<ÉK·<‰ò¦Á€Ö8·ý‚oÏ6fp ž;[&òÍíJŒíXE‘Ë•ìHURºõ»- ‘‚ŒBd9rÉ’BˆÌÎÑÑ›¯k±ñ6Ê/C¯×ÛÞø‘<’'“çIŠ[µ!¼_±>‹Öž§Ïœüºü ^ݾ£]~\®dgöØž©Ú¯bÉ]–„"ƒÙí.KÊ#þøªÊ⟯ e›cÕ¥è$&Žäì²A4*DPPIªw™ÊÁOÏ (a1¯O#Ê)J¹Æ=˜²ç6Ïž[¶>ø‹ï>lOÝ ¥)Y¡3?܈»@!ìϯé^»AAA”®×›'Ÿ½•«JøÙ ŒëÚÊeJQ®åWœ5½ØËB‘¾¢£“úN‰O}ÁÛL§öa6›%äÉ6y}èòÓeù!¶½„ƒ&'-ÿÎöÊãœQy²áãÉûl§åÙº_Å‘‚ŒBd°½»wâììòÜÏ©¦u"O™v|þÓq.œÝËô:ÇýÎR®$ÒKßrí†LºC·ÕG9ub'£½¿ãý9g1XþaEÏ®|—s(ëÿü‹å—wÞbÞùØ/˜¨ÓÌîú6?¸÷à›=ñ÷Ki—Wó;ÓYf^€ó°m;uŒ½ÂùjØ*®Çf°\ýž>oÌ ¼õWüräG׿C Ã‹½\!„™SÌMiÒ¯!%y$OvÈ“ÔCïꉣ&ößz7¼Œš Í“ÝOÞg;/ÏVrÉ’Bd0û]²dÀ¯V#üÈOµÖMÈ»î2÷-àŸðÓÞA´“…s;¢Ñë)\ÔåN4 `¾¼†ùê3~~cü]:ƒ™Ð~#}–žâ­1¥x´y,‹=>bóÐFäJXÖW¢ ·¸áàƒÆœq1GSÊ cßÄ)„öùE­ýå H!²«ÕŠV«³iÚ‡<3­(Š‚N'y$OöÈ#2N`±â„Þ»k—e¥f¿Š#ÇÃB‘Áì—%…¨ÛÇXùùr¬ §SÄñù)ô^ã½­éÖ¨+í*ìØSŠ‘+Kâ<ºt€»…»RÂ5nj#uKõÅY)…8ñãß8zïgè«S8s߉RFñY¿êäÔŽ%é> €–­šp¶}eno9F“iïÅ„"ϱåw-¾nãhSÿ·µ…yu膆øa°Ã«BˆÄh4`t0öèQFGÉÒΟ=Cž¼yP’øRƒŠA¯'"â1išçöí[xxx&{w É#y²J‘=ز_%$!„È`ö¾ËÒãݽ)ßi3áε»&èÿíÝyœåÿÇñ×YgÃ̘ Ã`Œ=ƒP²Fˆ¥¨,…´øµ—ö"¡’í¢Ò"´ûR‰¨¾–,Qʾö,c›™³Ý¿?Ƙ…çèœ3ãx?óÀ}îå}®sÏ1÷ç\×uyº•Ü™w‡S!Û‘¿ÈØwˆ•2è\¡<®L¶Ø²þƒ°D–'Üqˆ,ÇA6oßÏ¼öÑjg.æé¾Ã¸³ò·Lë•„ÅÈæxDÄU¤¼qˆ ‡w²fÅV޵ˆ¥lö.6ìÜÁѸ‰|8¯)æß^eÀ7óN­/Z]ÿ‰H`Xmv4Hç‡ùß‘˜@ZÍÚ>ƒép8p»—¦Ì¬¬³êòî Ãð•™åÓ6‡bæ'ŸÐ½g/Ž¢'þ2[,¤ÖHcé’¥4oÞ‚øøÌ–¼ §ÓYäës»Ý…nM^ ôÉy ÀáÈfùÒ¥¤§§cµýÿ‡ò(O óø“ËéÄàŸ}3 ßçK) \.'†Ç¿míËyU˜~)aþ¾ËR™ËÞä¯-ûXýé ís#ßÂõÉù?î]l›~Ͻ›¯fv%ÑââÖ¹÷Ðåžçè²` µbbáÀAD¸Ï£óð^2#/"ÊâÆaªL{®£~Y ”mÍíwÕæò/þ$³Wö?_føë <7÷MZ”5áòƒºßÍ”Nÿáöò<±m¸ghsÊ[ q_Ëi¼°â ·TO(¡[JŠH¨ ã‚ôtÊF—ãë/¿d÷î7ñxЏp;Ál6c óËñmV+ÖÓ€r.|ûä˹ÓÑ¿gµZ±ùpÁ`2™éÞ³'µëÔáø±¢¿0°X¬¤¤¤àñxXµr'{ÔØl6L…¾56›ÍØ,0å¿1‰ »ýÔÉÅ,V+ˉö2 ½aC“’ˆˆ(zÞ5åQž@å9&“ Ûi²“ÙdÂfõ¡P mý”ÁbÁj)Ù2„ÕfÅlöóož^žW§dño ñ•ÿ‡,Éž@£¾÷0hj?~Ûí,TÉbÛ/Ûˆo}!q+‰-ºPóØkü/Ó a˨´õ[ÖíJ«²& “M?¬#ö’{(g-KÅhƒ5™y3—ÙnÅ„ÁÑ KØWmõËæü'g¯ÜšÎ•ŸeÑžlLãHËâ¸Ã ç"ÄÀí6a³ûöMµˆˆ¯<5ÒjR¯^ýS.ê)н]‚Å0 G±Å˜\6»5RINNÎù&ú m`2ù~Qd2™°Ú¬^]ô(ò3Oiv6m%Þóå¼ÊO‘Pad³wÓv\IU©™É_³_`ZFsF×ìYµŒíåÓ$%œê—Õ`ë[¯ócÇQ´MÈbíÇoñWõ+H/gÂÓ™á&ñظï˜úPkÂV¼Ä¨Ï+rÓç5°™ i÷J<6n*kšŒ ¾k ¯¿²‹vO¥‰ [í˨ðÛ+LYތۚ–%cé{|°«CkE@d}®j°g_ù…ËiýÏ÷yqMC=­Þ1"pŽìl^Þ¶Yþ³ÅJdTé¹ÌPžâ)OñJ[ -:³DDB…k'ß¾r¯·’¿†“ܤw½û—ŘÀsˆ£úórÇyÌY“äkßâÝŒxôª¦Œ8b!±Q?&¾3jV€x:›½?@ÏÆ·áJnÉ W_£_JÎUú½ÄÓë†sãÅoBTZ ›ÌØæe1öÚ#˜þR÷>p9vf^¹7¿ý2Ý-@žÈo#þ–œDÆ5àú矧K¢zȈˆˆˆÈùÇ4}útÙy”Ý\ÒYDDÎ+ÓÞy“n=zžõö_}>[ŸÝ""üûÏS‘`›;ï[‚7ˆVDDDDDDDDT 6dDDDDDDDD‚L“úŠˆˆˆHÈs»ÜxÜn ÎÝÛÖ–“É„ÙbÆbñîÒ!Ðm­<ÊÌ<"¤³PDDDDBšËádÇ®¬]³†ƒ”tœsŠÙl&::šºõêQ¥J 6»½ØõÝÖÊ£<ÁÌ#h*ȈˆˆˆHÈò¸ÝìØ¹ƒ_—-¥m‡Ž¤T­†Õª_½åt:Ùºe3 ü€Çã!55s= ‚ÑÖÊ£<ÁÊ# :ûDDDD$d¹Ý.Ö®YCÛH­‘VÒqÎ96›´Zµ1€Õ+W\©QeN»n0ÚZy”'XyD‚A“úŠˆˆˆHÈ2 ÈÈ8DÕj©%圃ÛíÁåv¹N0ÛZy”'ÐyD‚A i‹ÅRÒ1Îif³Ã00Œâ'Z V[+ò#H iÈ’ˆˆˆˆœtñuörÛÎÛ t[+wûWžâ÷¯O)iê!#""""!M“øúé Ï»­•§xÊS¼3å 4dDDDD$¤™L&\.WIÇ8/”¶¶Vžâ)HÉÒ×""""rÐ|ÿŠÉ„Ûãí…rÚZyŠw¾åqí篭ÒjÄàÕ 4>å õ‘bÙl6<îÒSÐRžâ_y<ìýb(—6Àgû<¥ ˆ÷T!ƒ¯.·cµZ‹y¤óÜFgIÍ'“å#S°¥gCiŠå ã8[MaÔ5Mˆ·Z±Æ\Ëü#%ÆCÆïŸóüm]¹05H«klU.ìù_l:^¿º9ðëû<Ö¿u*–ÁjµR¦R:WÞû¿-á"‚±‡÷/ #iÈbŽ•l’güÃŒ+©Ôÿz ;73éÒ 4~êw²yœ@9×óˆ 2""""ºL&/o£[–Ö“—³léR–.]ÊÒ^¤¥ê=:‡%¹Ë–€*¥iÄ¿Ô_æƒqݨàu¬ã,‘Œ½É«lõ÷ˆ ¯Ûœ_åªvCywCß”êç ¾æq°íË·™{¨>×<𠳿ŸÇ§c{½x4½.¾‰Ow¹ƒœÇ„kïjÖ[šrý#o2ó“·xò†Úl|q -oœÍï:ø1?ñÄM1s“‡reÈŒ #cùd†ßü6›üU ô!O~‡™È[pçˆÆDù)JaÎí_òîÚH*…obúŒ çVAÁ±ç›'©RJ•¦ÿQDDDDDüÎd2agš—ÂDÙÔ4Êý瑈³™pVo@£ÆI¾Å,=sј‰mt%}€œy7¼Ù&o½œ6ñòP^®è][ƒµÆ¾Ýu+±qdÌjÇÄOK2OÜÿ9ÿÉ¿¨u[.¿(‚†Ížeâ¼=ôº¡bñßdû5‰„Îã˜Þ9ߢž}h~p1­XÅ^GOÃÎp ?¿_΃;Ø÷×ë\S÷}jÇgφþÔŸ¸‰˜+ž¤ÿ7©±gøžßÏyòdðóäÙl4†«R¬ÞoçÓϰƒ-³ßgcíÿcJ—è?ý#ÖÝóÂ}Ø…HÔCFDDDDÄ'Ùlýúqz5M%Öf£Lòt¼}kßuÁ±ó{Æ])µ+D`³ES¥~;þï»yCb;øvt_.®™H„-‚Jéù¿ÏvàÎjG¹šƒylX;ÒblØb:0eÛQ–¬Š=}@æ¯Ü•–H›CéT;»ÍF™*͹áùÅüã²VqhZ¾±Ïê;H‹°a³EÐõ› ¯^µÇíÇ.5¦pââ"þÕň_óœ†-¦e‰¢R…(¯r$'‹C;׳hʃÜýÑQ.¾åZÒÎTŒ @[Õ>¼´p% °ð×?àØºÚÿÈŠÏä’3cç¤ãðÙâ#TïÚšŠ>v5ð:cŸNÿ›šý®¢uÏ>¤îœÉû¿/´’AöÏÑ£y*ÄW µIn{ûóÂs”?>~ˆ«[§“Ÿ@RÚ…´ôrG@¹öñÓËC¹¼I‰ñIkÚ…[ßXÆâ:h973éÒ$Òý-¯÷‹q€Ïºå ¡:¸õ ZWº„Ñ=l{± •∋ïÈ{¹½¾;™7º-ë%_ôÎwòîêÜî“Ì88—Uhõêò:E9X7¶q<ȯ™¶LIצ5©Ÿ@\|2µÛ åµ§ÝŸ7ùs‡€¹÷ÿ—µ§AJq•ëÓfÈËü´?4&eVAFDDDDBžÇí¯qnvÍ@Ó«^âð•/0ýF–¼{3å¿L³Î/²ÞQÄfÎͼ޳ ®»˜Çf-çßäÃñ#èTõÄ×ìî=|vSSº¼”A‡Ç>dñêeÌ?œ+ÇŸìÒžùPõîA IDAT÷l—½Ž>ŸÏoÞN³Ó©ÇqdÅïI yg«—}Ëë7–eÎýí¸bÂïd…×硟þàÓ~qPçq~ܰ™Í›72µ]9ï^¹Ç»6ô_[/yÜÿ,ä©~±ñ’Gy¼uIµÏ1~V„ªõiwË«lj=–ÉCëàmÇ æql™Jÿ jríÌr4¯l!ª~#öŒnMjËûùá€wÇ ÄûåÜù?í-KãK«`÷z+ßòdÿù1ï¨Íõ]*Y½}R÷ñù{+9ZxÅJm6î~Zúo¨ÁÒ»Ðùé'çÚ9úót1“ˆk'òÕ/KXøÉ ÜÛ»!1fÀÈ`ñè>f#Múˆ%«1íΚü:ª ž^Aáò·¬•¯g毳Q*ü˜å«WñÛoÒ;ÑÆQþûHW|Å “¿cåòY<\g1÷ô}žÚ6¦Ø º¼LÿŠm¹ÇFfÎø›*}®ã‚ö¤¦ô}à%>7ŸyŸ>GóWŒ0†™gùëx᪞L:Ú•ñ_/gåÜq´Þø ý†Ïd§ŸF–$ Y‘çt9ñ>\˜;xÃíÀáÈÎûÓ¹wŸœ³ËL½¿3 f y“ß]ÇO—Oà…%7ñâÅ‘§î/s7vy(wéE´HO#ÙU«ÕÉÙ¥#çæ÷yb–•!ß|À£-ËbH« €Ã‘Óå1âþt:YÈäW† ‡#‡ËÇ€Š­zÒ¹Y-€|@Üö\ùüsü|ËdZ–'.Ê‚Ù^Ž„ÄD’¬E’òµŸ×Mçc[ç¼67.gös>Á±uï2¬û|[ó)æ}r+iæ3ç L õîÿœ¹=6ñÛwSyþå;¹¨ã~þϽÔrž˜z4½r4G^KÆÀºÜuÁ~ùð¼úž‰jáÎ;Žmÿƒ=”§KŒÃáý )ÞçÉdÍŸ²»ÎH:'[ÁZî}R;y*ËF_JÛ“?‹&ªµåŠÖé”j¤>Ç{‡WÑbü³üpÇGt+Y»·pˆ 4¾ô".¨Y3©Ô9±µg÷ƾ¿‡¦Ï|Å“½«`ªÏ»»–Ðò¥Xtç{t:› r,Q$T¬@ŒÍŒ­\•’“Éí`åÞõc>8N¯éÏsˉ¢c•‡æ½oç­åÏоcáBd9šÝÔ…ò=>â˭Ùf#{ý,fn«N¿kj†äöý¹ñäú ¨cý®Zʪ}.šV<‹üd,šÀ+·äùÙ#éoªrïã]˜Ö÷~ØÛ‡ë+žÛ}LÎíô"""""g`6›1 NÎMáí€ÂËoäÇMP¯ÇE”7å-jЕ¦á{ùuí\§Û_x=†ŽêMÌÌÔªÕ–AOÀ/Ûã9ñ|æ†l oB·ô2§Ó0Nk:5'sù·+Gãî±Xß\ùöå[[X­Þ}{Vm§äñptÕDz´¾“•§ðˬ;iåݶɕӹ´CO†ý”…S»µüÆ/=ü<‘ >z-ã=8Âbˆr»±§vç¡Ç®¤’¥ÏçqœDR>Òäý6>äáØ*ÞûìêõïD²ÀNõ+¯&õð\Þþå`1wà²“Òæ2*eÿÉ·g&Ê·{€;/ÚÎèöuh~탼>ïOu“½õ¿¬wU§Sˤ|=&ìTk‰™²b——•Jdm^ÈÚ¬|rum*T¬D…Š•¨xÁ-üìÎæŸ½ÇO;̨Lãèž°ž¾øÙü5c;j]Oï9ý“Œãøì™áôéÒ†f jRóªYÆEÖYßbÜÁ¶ŸVr8s7_Pùdδ>ŸqÄ“ÁÎÃçþ°%õ‘f¶XÈ-@xÍ §¸Q¨ ‰ å“ù×7ÉThý“¨qã~í:’¹ŸÎàý7n§Ã3OqÍ´ïx­g%<®lœÙÇ]ùŠ,ùã(¼ä´`q%ÿ:yL6VÌXM'öcœf›35‡—+žM[ç®ZÒyÜ»gqK·ÇØÙw:߽Ѕ ÖÒÑ>9,Th݃:Ìáàq×·\žx®úô/®Ê9ˆ×·TS™$ʱ‚Ùn ÃûK[o÷ä×i|µßÍ¡û/$éþ‚Ïíxg1û;^IüiFž8 n'jæò­x䫵ôÿù fÍxç¯kÅMïgά{¨YlE"ß±|ævࢠ·~:‹a5lŽ—xúž‘ èß»S?þœ-C:2ã³ÝÔ»õ*ªÙ÷fß|97ÿqϽ6•nu±ýñ0]¹Ô‹0Eç÷8ÝÛ‹©s¥Qþža&;1‰¾T+}ÔCFDDDDBŸßžç>NlXpyX5ZT‡u_.a¿;oùѵ߰"³"Í.ˆÅ\Ü7óqétú.YÍäV{øxüìpØ+_H²k5³—8Ùk¦po‰Óõj¡ðò™=Y6c)Y•/%=6§Ùjɹó±=<ÞW'|lëÓ¿¶ æqíböÈ;˜Sý)fM¸‚$/z}¯} #›­_ÀS-ÚÖ/yJGûØj‘ÀÖíÊöãKÞËÑF£ølÁB~\˜û˜Ï§÷Ö%ûÇw˜¿¯¨¡U¶/\Ä.s5.¬œ¯h`ޤzËk¹ûůøuÎP–OæÕ•Ç«z1©æ-|ûÓ\ùö±õ‡EìªO³ä|ûÈŸÛdÁnñpüÀqŠœNÅdÁj·³`o{åÆTa; V:ˆON&ùä£ñáE• ©wmªlþ„¿zŸÏö¥sS×Ê9½<Ž®âô3†›.®J|¹ì§ÛOùmTLOÁ|p ?ŒÉ—1™äJ D…@÷’x """""Å3 ^xµ§ô6Á–Êuwwäùa·2pœ•Ñý`Ûò%c‡½Å¡KÇ3¼AÎÅò)2×1õÕED7mBÍŠQdnYÀ¼õN"W$Òl`¯ÕŸÍ'q_ÿ«)ÿ̃ôo[‡Èƒÿ#»jSêÇZNô…É–‘/fn æDN€ý+æòí ⎲zÆSÜþ‘ƒÎ¯ £^˜a؈¯]ãí™|²¨-=â2q'7¤^yËšÃÀå:sÏŒ“Mw¦õzc*‹ë^MÂßÿá•G¦ó‘–ó¼ålò›‰ïp×$ôåµë`êvº5HijëOþØW‰®}[_üGW©§‚Œˆˆˆˆ„<#w ’×'/ d°Péši,Í=cï Ã˜½X›½ßfÑ#=©Vä0–Oeô„ØsÜe’i|Å3|1î Êc`X«1dÆ|¢€çŸìÇëwZ¨Ô ×=ûu/‰ÎÛg‚ŒQ°G 9Ï]7›1ƒ&°v»‹¤z—1䣟¸»S%,†™J½FsßìAŒïÑ‚ç*4að{_0ºÙi&".Ð> Aò¦­-áÁv½ù:+oÑÝW´ ÂÐïYõì…Å^\û7ƒ-_Îf N¶<Ú‹…žì>›õÓÚP&XyÜÇ8âÊbÓ·oóékûɲDS傖ܸ,î”bœ%©#Ã;„sûsØqM0ERý";óéË=kÿÁ’T—V#ßg½(Ÿ»qöVæ>7Ñ[3p`#>íny÷MîªkSy:<ÿ=Ÿ¤<ÀSöâÕ]ʧ6¡ëøïx¢"Ì tºunšÄ̓¿ášW?çÒ´DšŽzûþ7’‰®à™ÈФ·éF»Ë+³.÷ÖL¦XÚ<úoMÿ6Sˆ¯w5/Í~Ëã*ÑçˆzáÆM»‹žcžT“z»òHœðéÛ¼½ÔáÙ'6ÓbP{s "5í öÞ6MÇR¾V[nr' ÿ&çù³ÌoŽmËsßÏ í±1L}ø:&2_½ ;ÜAÇ>޽ߥ™iúôé†3ó(7 º¹¤³ˆˆœW¦½ó&Ýzô<ëí¿ú|¶>»ED(þóÔáp0wÎ7\yUOÌæ­Ÿµ’/lÏÜþ?ñËCuOÞMÅ3g|BçÎ‰Ž‰-r`µµò(O®ì5OpÑeŸÓgÑ/<\ß»³Þ›<"6wÞ·ê!#""""¡Íbµâq»½˜óçÉfåÁðxüÛéÁËAkkå)Þy”Ç^kÃ¾Êø0üµŽy=RüG$ÐT‘Ðgø6lâœdÂä?V«Õû‹Ø ´µò(OÞÎS¸îÉ~¼|Óûür ]âÎ\‘ñ)H© #""""!Ï8«[ Ÿc #ï?dœN§w1‚ÔÖÊS¼ó)O™‹ŸbÁr+åËš¼ÞÖÛ<"¤‚Œˆˆˆˆ„¼œEˆdÂòôê=< )Èx«´µµò/$ò˜Â‰-Sº^‡ˆ7T‘—qè111%ãœåñx°X¼»¿l0ÚZy”'XyDI Y& lV+Ç%::º¤ãœ³öîÝCttL±w¿ f[+ò:H0¨ #""""!Ël±Z#¥K–Ò¼y âã0[|»s¹\x<ž%Ìãt:?äÂ0|š;ÃŽl–/]Jzz:V[Ñ—gjëâ^ŸÛíÆívŸ1³ò(O°òˆƒÎ@ Y‹•””<«V® ##ãŒÅ“É„Ín÷Ëñ­ –"¾…7L&Ÿîôb·‡ù%“ÙlÆjóa¸†é ’˜”DDDT‘«×Ö6› S¡v0›ÍØ,(Ð &ì§i{‹ÕŠÅbRå Z‘`PAFDDDDBšÍn§FT’““q¹‚Ð %“É´cŠÉdÂj³zuñêk[ŸMû(ò+H © #""""!Ïl±¥_}ƒ¡´µµòOyDJŽf1 2dDDDDDDDD‚L‘ SAFDDDDDDD$ÈT 2M_-""""!Ïírãq»1Þ-¯C…ÉdÂl1c±xwéè¶Vå ¥<|=¯r© #""""!Íåp²c×Ö®YÃÁJ:Î9Ål6MÝzõ¨R%›Ý^ìúnkåQžPÊ#¡Á×ó*?dDDDD$dyÜnvìÜÁ¯Ë–Ò¶CGRªVÃjÕ¯ÀÞr:lݲ™ ~ÀãñššŠ¹ˆo€ƒÑÖÊ£<¡”GBƒ/çUa:£DDDD$d¹Ý.Ö®YCÛH­‘VÒqÎ96›´Zµ1€Õ+W\©QeN»n0ÚZy”'”òHhðå¼*L“úŠˆˆˆHÈ2 ÈÈ8DÕj©%圃ÛíÁåv¹N0ÛZy”'”òHhðæ¼*L i‹ÅRÒ1Îif³Ã00Œâ'6 V[+ò„R ÞžWùiÈ’ˆˆˆˆœ|ù%Y Êm;o[0Ðm­<Þí_yŠßiÉ#¡Á×ó ÔCFDDDDBœ&âôÓžv[+Oñ”§x¥-„†3Wù© #""""!Íd2ár¹J:Æy¡´µµòOyŠWÚòHèQÉODDDDξë—BL&Üo/LƒÐÖÊS¼ó!‘ÉŽ¿ö[»2‘¾tITŸÎ«ê!#"""""ŲÙlxÜ¥ç¢TyŠw>äÉZõ—5îÊ‹f—Š<"gs^© #""""òo™lùòI®o™Fy»«ÕJT\ ;ÝÌÄ%‡ð870>=Œ´Q¿‘UÒYKƒ£k§p[çFT‰²b-“Â%7Mä缿]l(sïx›‹­9çQáGƒqëq–p>ãà7\ÁeSwâ)¡ á †sÿE™ðÈ\þ)©pü¿Ã©Tè=·—­@ƒ3kc¦OÆz-ûofþ_[jÆÙ°†ÅS«ó8~/©*çƧÛH¹œÌŠL²$""""¡Ëd ümk³60uh7°‰„–71b\kšÖMÄ|x7ëW¬#²\øùñ-¨×míáÀü{hÓy{ZßÊ=¯>NM÷rÞzôZ_´ž9Ë^¦cœZ,ï½/|Îc£õ¤yLh•o™™ÈÊUýs÷/Ú'cÉTæg5á¹öIþ;·}ÍcMáêºr¯ |¾£+ƒ«øù½.Ñó§ ·LŸ›ªZp9ޱ÷ÿðÒ¨±ôíæaÙÊ14Ž8ó<»§Ñ2å.j~÷7S[—)nMvϸ‰~/mãúWæ0³C5¬Î(RÃüöbŠtxn*^y”÷}O÷è ­è6îj'¥b|„§‚Œˆˆˆˆ„4“É„ajˆL~Û“Áì£ÓÄeLÞˆrù¯P¯ÎùÃp’s/Ô9ιÁ^¶Wm¹‚1C&±­ã¬˜5êv€tiWƒî næ–уøý¹&{ÍéÏ<þàç<9OÛ(_³!—=í Åî! í“ÁÒißqì±´¯`ör¾—À䉹亖¹‚Wgoå†Û«{q[ÚΟ|rŽIJæ4«u¢$Ѳ-­*n¤z¯Ù|½å1Õ=s©âdæ3æwrpë^¨v wÞОá'÷àm3µ¼ˆùU†:úPçÄ çÔgåY4ØyQ¬ ˆC óâŸD^1™· c¼âáðª7ܪ&ñvQÐ㱯ÙvbZŒ¬5ÏÓ¯y âÂmØl6¢«·føÔu?ñ{¿ëï—hÓ˜‘ÞD‹”2Øl‰\='߯0/©Û?w›ÉüãflKfàãמ(Æä°Uíãý“Ø>ëCÖy1VÁ_yüå¼Ésx9ïÍ;J£:Rɇ$ÉS¶W]heígÿe¿Ã–JÛûU<–ðp¬DiÁØ÷!­ÃÊsýGóV92Ÿ~±vZ¾¿‡ý³ÚVe0K=‡ø },6› ['ùã”év޲ E<¶ÏßãiZ6çsæ¢7¶sè»>D‡µeæ¼µ3WÜCuû<»ÞÎLhœ@‹;bpÇzTˆ²a ¯@“ASø3ßϯ{ÿ/Lº©u*•ÁfO n›Á¼³ñ úÇ×ík²= éŸsÜŠ·üÌ1çF&¤Û©zrÈ’Á±¿>âî+R¥œ [tUwÙ›s‡oe²|dÉ]îå¾þ­©™ŽÍEJ«‘ÌÚüÁ}¾žW*ȈˆˆˆHÈó¸3ÉÄñõ_óÓ;-w é,~³vmBÏËîã¯KÇ0gÝF–O½Žã“úpõËëq¦¨j´¹e ï}û_–þøãÚïã­!×ðâ_Ž“û0Ž­eæêª cßÍšÄÀÚáEð_p{¼kÃâÛÚàØæì´Õ§mZá>0QÔîPÓÎÕlóbþ ÿäñŸó%Ï‘ï3÷p:7tNÆ—=Éc*ËmSq¯™Ç_>N8RÚÞ¯‚ÜdÏÆéÊæðÞ­¬ùz,‡ÌàX³¹Ü‹*Xô³é¿ãH§,=¦¯eóæÍlY0’š§ C*Cë)[Xöp ÌUïæç}G8rä‹Wöî½ubùœ-T¿ñE¾\ò+ Þêͱ÷†1øÝ¿qFÆ"5n¸{Þ™ÏÊUsxù®¾\Z!†“ÖðÛ;m±r¯¯ÞÌæÍ›ùõÙ¦D:„sÓk\ÙdŸDÞÄÛ?od×è•ý&}›\Ëôÿå?œì]ø߯›s—³lÞs´úûÞñ%û‚üöy{^åÒ% yN—áÿßÌ3ÿÙÎ!ÊR!œŽbîöâtà6Àp;p8²O|+šÉòçžäç´ÇYýhwªY*Ãyzà´zûCþúu*we`ÿ¼ÝÔO}‚§ ໵¹;5—Ã…A4mk[åÍ5â(.ËYpº¼ÿ¦¹ø¶öpô`&†=»'‡£ÐÓå÷ì`Ï¡ã8¢Š¾$ô_ÿðw·Ó‰Áq>»¢<¶Ï4gÊÖoé_ü}ž×>ÇX:õ]ðíÜ8ÞM¸<e«”‡ƒ›Ùq$ ‡Í»û_—¶ó'?‡ÓƒÁFžnVž§O.-CËïcÆ«©ldãpº00ð¸y?ëN'r>c\–D£ 3›‰(Ÿ@RRÎgƒáȦ𘰘Í`2a¶˜0›·§Ëxp9ó~NN7ng6‡·a¢bçÛ¹½ï‰!†5îæÿ^zƒûçÿÉáÁIÿò Þ9p%o/ËU 9ŸzµÒœ`#±|8³‹˜ÄD’Ê8'>+=ŽC¬œø ‹¢òŸ7o¥U€ Ü;e2+ë_Çè)ÐãþœSêÕÜ5¬i6€îøŸL]Ȧ#]‰öbÎðå¼Ê¥‚Œˆˆˆˆ„4³ÙŒay Ìe)ËA¶ìÎÄcDRäåàɹòÍ!ãÚËòŸvâúí^Æ?tb[·Ó…‘ð?9 K+ßÇóŸüÌú­ÿcûÿvsØ€æÙ.<æ†ì<V«w— gnká±e±ßÇþ,FTþ3È:ø™æ2ÄF?7‰ÿòø‡¿óäÎ!Óòù/y¦Y¾>–rT>óökŸc«ùè?©{w'’-ÞÏ1È÷ËV¶vöpà˜#Ö»>;¥íüÉ/çXU¹mætúW‰$¶b2b#NöXÉ?§MùmrçaÉ]æõgCîö OÞ{zÊ~)<çˉϱü7GQ>ÒŒÛéÂcd²ù§u¸ê¦Eœé´ ¾Ž“ óöë>Àš¥»oÒ†Qyë˜b/âÊz0gñ&2ï«RpÛœ DÆEav;qy?N.oÏ«Û ‡ˆˆˆˆH©a¶XTÁ"<ír.Œ˜Âü7æ°óÊ닞S£ÐT·‹lØZ¿Êâ×ÚP.mÂZޤp›&÷¤Ý¨ã z}2£;Ô žŸP³/…'ðÄ£ÞîÛ›¶Ž¬Ó†4ã%æ­;F¯KóßAèë¾ý R‘QüE”?óøƒ¿óäÇ×|È7ûëpÇ•±ú0ájàÞ/ƒ¬C8LeIˆôr‚á€æù÷rŽF|õÚÔ¯yb’¥Bmm'æ÷,Èäü‘[¡@Á¤¸#æ®ç9MñÅSd‘&oŸyŸE¹Ïç,sg¹pg&Óm`œæ³ñÔBJþ…`x<ä-.üy˜ ;¯°cÀéö`gsžh }¹ ??ˆmÃýƒSp.º‹!¯¬âˆ§˜õ ç°ÄQ¯VÎß¾gkDE’““óIe±º÷²ð£_){ížèÓʱe·rÊ~rþ˜×—ÿáñöbã û±UíNÿ™ùÌ ¶:ò–;¶Îà™OP³_/ÒìÁËSÚÚ§ÀùB)ÊcgíÇß°¯V_®¨b-y ÃÁÞ û >¤°Òçß?0Îü3ÉŠÅÈâàQG¾å'ç¬c¶bÁÃé͹f:åub¶aöcÿ1W¡s²ˆ2§œ·6*5ª‚ñç—,Þí:ýë°Ø0ã&»pÆÜýšc©Û8‘¬_ñÛ‘¼çÝ–ñõ:Hk•J¸q²òThFβñ3t6¯Ï«ÔCFDDDDBžapòBÇ¿"¸pÔ‡Œ^Û™Q£ZÓxÎ Ü|M{¦Ä`>º›+–³¯Å}<Ô>’òQnvÌÿ”¯.ÝI|µKh]³ ß9„Ÿ½È½có@šU¶òÏúßÙÕŽë:–¡bJ$þ3™—U¦cØZfŽ¿Ÿyƒæù¾ öî[ðÇ0 \.—WÇ8c[[k0äåûø¨í´ï»ž{n¼ŒŠÿ,bê¸I,¬ú|[]ìù.þž'?çß|p÷}|n»Ž‰Ï^E%/¯–ü'çi7¬feLþiNÍD&צfBXÑÃã€Ìßù䫽¤ îBŠÕðéÇ)`ï—ç kþMxã§©æ}¦€åñƒ“‡*îg:²­Ó\Lxf<3cûRƒ¬üÏÛütÌ ê‰íL•©s”o§Á¯aÉŠ¢fƒ*DžîÄ1AÁ&`¯ÞŠú–YL;ZCÒ±ïûùï}ÃÃVp˜…þ~r™…JWޤÛ¹õªÛ8ðØ`:7,ϱí$5iD¢ ¬ u©à™Ìû3~¡îe‘dZª‘^5ÿ>ÂIvN}”Ãj1ù¡+Is¯åãGnå kw¦^[«áÌ;êÉüy¯£`±*°|9¯r©‡Œˆˆˆˆ„¼@~KJD=FÌø•y“FÐìø|&Þy#}zô ßðÇxwEeL.<¦x:?x3uÖOdУ˜þç1܆AD㇙7o<½íóyz@'Z¶êÍf°dG&n¢i7~*÷¦¯âÁö hÒ{ «êÝÆ-ÕÃOé!óozRxý:ýØÖ ïgîâWéiý‘çoéÃqßãé6‰Eß>L“(ïzüä½we°îûyÌ]¸‘#î’kŸœ L'‹ïéÂe—µÉ÷hMÿ÷·á,öÉ\7“/w§Ò»[5l%|þä><–ðé* öjD‘Ç?v µ”¸IDATG-n{mF¼1†®YÓع5—xœ/§Ó¥vL¹ëD4æî§¯!öëa´mÞ™Á㲯¨Þ2pJOKåkyyÒõD}'][·çšû>`kj'šÅ˜ ´¡‘3>)o™‘·/sRÞ\ø.#*¯`âÀö4nÔ‰!Ï|ÈÒœ†½Ö Æ ­É¯÷wæ¢výyüËÿ‘]h¿öš#ø|Á$:ýóƒZ]Àïâ³°[øxñôH2çå?¥Í¼hÇ<|¥2""""ÒÌ&³9€ßEZãi6à)ÞðÔéŸ7 ®ý³,Þùl¾eÊ7ÌKsŸfÚòÐÌU<”ù}CN>oIÊâƒCOü3°=d¼áK[GÕ½–g>º–gÎâXÈ@Xž\s€'sŽ‚·Mêï<æ ˜p@qß:í“ý;oŽ]D¹>_rY¬áñi •ÿóˆ¨ #""""rF`{„:«ÕêýÅFÚZy”'û¯Y|¾ÿFlB”½c•Għó*w›e)5rç³çt:½Z/Xm­<Å õ<ö àû%DZ—·œUþÒÖ>¼=¯r© #""""!/gžI]TCikkå)Þ¹›ÇLDl™3Χ¼<"¾SAFDDDDB^Æ¡CÄÄÄ”tŒs–ÇãÁb±xµn0ÚZy”'”òHhðå¼Ê¥‚Œˆˆˆˆ„,6«•ãÇ]ÒqÎY{÷î!::¦Ø»Í³­•GyB)„oΫÂT‘e¶XH­‘ÆÒ%KiÞ¼ññ ˜-¾ÝÂÖåráñøz[ß9ÎÀ0 Ÿæ80‡#›åK—’žžŽÕVôåÙں¸×çv»q»Ýg̬<ÊSZòø“ËéÄsŽ ‹2|ü,)-\.§owäò‚/çUa*ȈˆˆˆHȲX¬¤¤¤àñxXµrg,®˜L&lv»_ŽoµX°ñm©a2ùtG»=Ì/™Ìf3V›Ýê HoØÄ¤$""¢Š\­¸¶¶Ùl˜ µƒÙlÆf±@f0a?MÛ[¬V,“ò(O©Ès6üù¹r¶Ì&6«%ß>¢¼Ë`±`µ”lÂj³b6ûùfæ^žW§dño  ¦iï¼YÒDDJ=›ÝN©$''ç|;Äo¢M&?ÿÒ_L&V›Õ«‹ _ÛúlÚGy”§´æ)ÍB᳨4óå¼ÊO‘sT·=K:‚ˆÈ9Ãl±¥_}ƒ¡´µµòOyŠWÚòHh Ì 8)’ 2""""""""A¦‚ŒˆˆˆˆˆˆˆH© #"""""""d*Ȉˆˆˆˆˆˆˆ™ 2""""""""A¦‚ŒˆˆˆˆˆˆˆH¼¡ú´wÞ,É""""""""ç +@š5K:‡ˆÈyiÝkK:‚ˆˆˆˆˆ”+@óKZ•t‘ó¶O>É)Èd:XÒYDDDDDDDDΚÔWDDDDDDD$ÈT 2dDDDDDDDD‚L‘ SAFDDDDDDD$ÈT 2dDDDDDDDD‚L‘ SAFDDDDDDD$ÈT 2dDDDDDDDD‚L‘únîÊ”)[`™ 2""""""""tUï¾§,³–@‘óÆÑ£GNY¦2""""""""~–˜’†,‰ˆˆˆˆˆˆˆAþaJ²$"""""""ù‡)iÈ’ˆˆˆˆˆˆˆH€5LIC–DDDDDDDD¤¨aJ²$""""""" E SÒ%?òf˜Òé†,™¦OŸntº¼cpÓŠˆˆˆˆˆˆˆ„€ÜBËÑ£G¼ú;ÀÜyßjÈ’ˆˆˆˆˆˆˆÈÙòf˜’†,‰ˆˆˆˆˆˆˆ”VÈé*#""""""""Áñÿ®ç¼“TdsÐIEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_opt.png0000664000175000017500000005631612142400477017674 0ustar balakinbalakin‰PNG  IHDRUÓÊωsBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝwTWð;³*m—.ˆ€ ØÁÞE Öh4[,±ÄhÔØcûÔK¬‰F{‰1 Šb-ö^ FD”^fwf¾?°Óv¥ìÎÎó;朰Ì.w¹wÞ™;s‡ŠŒŒ$â#µ°°hÔ¨‘¾›P®Ž;&µ°° iZß-(W(ƒ@ŒP€HYXXH !(ƒ@„P€H¡ ‘B"%eeˆ Ã0R†a8ŽÓwKÊÊ )”A R ÃH !(ƒ@„P€H¡ ‘B"…S¤@Œp¥ˆÃ04Ã0ún@y{u4ˆð8âÂ0 î&"…2D eˆÊ )”A R(ƒ@¤P€H¡ ‘B"…2DJªï”#žgµša8Ü<Ä€Ñ4-•É E¡[ … ø~ Z!@ø]ÃG4eÏgge]¾ÿüïSq÷Ÿ¼Ôwk `R ]ÑÁ*<¤rp Ç4<Ÿ•ÿÌ©S‰‰‰Ç–{¡x4-qpp ñ ,¸EƒVŠ´èG!øˆðKÄ0êËqI›Ý좴³•H0hˆ8ŽKzþ"2ꔹ¥eõ*NLnî0ŒúÞý¸ØÃ1mÃÚ»Vt“H$Z¾2oxŒyžçy^ß­øP©T-,Ë>~ô0æ`´yK/ï*ùûQT0hËZù ZôcYÓWøˆ¥ R«sÿ>}¿KhH‡^ún Éǖ㸨nխ枫չgOŸnÓ6¼NÝ`½´´äæîncks46ÖÏ¿šÈË Z¡(zТ…B×ðËAŽã%¦ª”¶únÏÜÜ4‡QBåÿÇñ‰‰‰NNÎåß*Еµ-£Î-°EƒV@Š´èGÑ)|ÄRB4,GÓ¯Þ¯‹‹‹~Ec ?8Êqì›~Dzwà]/0h¤ˆA‹~íÃ= ŠûA#~ÁÁ 5Zö£ˆÊ ¹XN„2nr¹\ßMÐ ­q@?%•A4Mi4¸ÄQð(ŠfF߭Эq@?%•A„žàL ¥VkŠØÀ/õ„ühŠf5j}·ÂP`Ð B±ƒý(:…¸Ê ©TªÆ©µÂ§P(4,Ž¿‚`ÐúQË2ˆ¹µ¤•JYsâ©´7¸—±£üT^ƒþ~Ž1º`w÷ñPUó‚{籟URÖþo&J`(7Z–ArŸ/–M«ùdÕ³O¦ò„Â¥ûîË šÎKæ¶Qj»–¦>Q%— ¡¡P$Š¢d2œê.x‡vÿû_ó¬Í_Í}½gÅ%˜üÍ>ÛaKÇÖ47²Ët0húÑXi=)&÷´tZ­§kÏ8šÂñ)'f û]ÝmÉœP¥`¦Õp ã@k½†=0©Kç³$¯ùÓ…LB¸—GfŒÙa1xÙ¸ÚFVB0húÑ(éP(¼,ŸQçùú¡“wïùnØ:u·%³ZÙúüÜ+Ójy…Oÿ®o#{¥ªÆ¸³Ù„¹9º]moG¥ÊNéâÓü‹çS9Bøäíaî!#gŽíÞÈßE©²ó¨÷Ù²ói¯•ó™7·NŒötrpñ©Ó¼C˜_ŰMÏ8BásâvLìâã t¬\;âÛw³p$݈°E¬ŸÂÁqm¦Ì­×OÓj?þyÄÒ+ÏNÍõ‡|ÀÒñÁ–…A™ÇùTí3{b`¥Ê±é7˜‚ó„¨ã7öj9aæ—B¼Uv>M†o¼óº=/ϯV½’£½›phDKïʽbÒ !„péWÖo[ËC¥ròiÐsnôc\$VE ZíûQ§$rÏþ?Ï NùcЀuL÷Ÿgµ,æH›úÏÞÇ5ƬܽcíÔö®RBÉjwŸ°d[ô¡èm?t£ÿšÔgÎùlBá3ïE]³n?umÔÑýk?·ˆž:äç !DódÇß\¬;÷àíÇqÿlžÙFž’“÷ב{¾Xë/zŽXü‰C¬¶ î1ïBV±o€Õuý¦ˆÌ ®? [Ô'N^¹ß≷ç÷hÿÙ¾ïÏ“êU(òHúYLLNó)ëÿÚ²jL•¤Ð»wI‡ÌÍc¾ÜøPCaîþÒ§ó¼gáËOÞr;vý7!9/_;šG? ›v7xêö3çc—wÍZѯϪ»¥YaÐ GQƒý(E‡Ï»tœé”»¶hçCN_5«Ýººõ›"(ãÈÀZw½xõ•iãÕ·u² „·£†Fø+^oçÒ¢wßWÿà+=¼±Ó™‹IšZæ„P¦ÁCF÷ijA©6jl£å½ßNçý-ײַwÀqìɱÍ=d„Ê5jº™Ó· !„‰Û8{_…!Ñs? PâÝoúWëë.ÜpmBÍ:¦E6—: B±Kr8V$Tñk¸Ê}¾XôÕÆæ?¤õÜ6¹Õ«Íù¤k >žýj».;ÿ]ÕˆBH•OÇ ¯ø&´ Ê“ÚN„ʱõ—#º×0!„ø|5rÕÚIÇïç p£Îÿ¼ðrÍYg¾¨ç(!ÄÔ§N YÞÓs./[pÚsò™ÉÝ¥„x ýî³u-~ß}ð×>¥·Z­ ;hÑ‚ Eø¼¥[”{gõ°Y×+Ö­ü_Ô×ã÷Öûµƒ½„BÌêÎŽ:3ñõî;mê`M‘‚ê0>ëÎîE?nZŸÄg]üqÐìëSV õµpÿtñ¼&ê¿GÙñDû“m2.þq˜i>gN¿`weSy±?™¶ö ²{qh×åŒß eæäDî¼!qpyÃÑFŽBÝh°Ž<®ìæ¡uÍ"sò5‰ß³/.ß9?R»ªÞæê«‡š:½ ‡ 2Š(•á …r¤}?jYñégç ü1®æ´¥ƒ«È !2·‹4磿½õ±¶…\éaÜ^µîx|­ØÕ㿎|^L#Mƒ†®“¼ºï Ÿþ<{÷aÜÅC®¥æýq4ñï?´&{|Lב+öþsùúÅã{7®Ù•?Ý@°5«Óä.&5£.«~Ô9O(›Æ_öº=çÓ+¢/Æ=¸s&êà}uÞs,ƒGô¯œ²sÀ';pöʵó±»6¬?ø§ÂŠSZ(GÚ÷£VeŸzbæ ejO[>Ðûõ„›ÔµÛO?´¢cÆŠ|¨]\˜Ö˜´~Fó§‹:Ö®þmŒêóQAfÅ4Q^yÀÆSÇDC÷TdddhëV%ü©‚@ÓôµøäÍ.=|š¢Ññ.Áf&²²^WT.•È$Åg<Å—ä"d)M+ÊøÆj4M™)òß W”„ oèW«ªkVffÐ4ýàA|ÌOŸ>å8Ý*Q…„*ã;ìʤRiqùÈSyÿ}$‰D"“•è—\,š¢tº7a~E7hÔÈÇ·jaý(*´Æ1hÑÆÑ> ¢2ˆ"W(r9UâCA¥‰Çµáïáyža¦È]ô£áÓ¦EƒÖð!|ŒƒNá}@,“by˜Ü\ä²@?‚à`Ðô£ñ1¤’ ¡ ‘B"…2D eˆ”˜®ãy†Q«†ãž¬­!£iZ*“)…¯~‚âûQT0h…áct Ñ”A<Ÿ•ÿÌ©S‰‰‰º®|僦%!Á!þ¯ƒŽ~‚âûQT0h…ác>"|ÄR1ŒúÞý¸ØÃ1mÃÚ»VtÓ~tÞðBœçy\.«TþÚ±,ûøÑØƒÑæ,½¼«ä_ŸýXÖʧEƒ¶¬!|t%æ~ÌO,eZ{öôé6mÃëÔ Öw[ (nîî6¶6Gccýü«åÁèG¡(ºEƒV(>ÆA×ðË)ÒÇ'&&:99ë»!Paåuç¾[–~RQV& +}´ÖkŸƒ!C?‹œ« û|¹5¹ÅÜC«X¾)|:é³MeƒÖ8 ÒÇìtñégæö™úoÕo7Îjf[Ø ä^™VË+|úw}ùØ+U5ÆÍÖ<Ý7¥kˆ«Reçà]¿÷‚#ÏYBŸ¼=Ì=dä̱Ýù»(Uvõ>[v>íÕ1q>óæÖ‰ÁžN.>ušwó«¶éG!|NÜŽ‰C|”Ž•kG|»ãnN\3"¬ÓóÆ ¨~L=ñÃòÛ¦-üùݨHš«š¸5ž0gXK;¥wŸƒi\Ê?ÿëÕÄÏÍÞN©RVªÝyê_BHÎ…‰5}ºM:(¬¦§£ÒůíÄ=_Ÿ/©yvlñÀfÕÜTN•«5 ëÐØ3`ì¹ì¼Ö&ŸZÔ¿E€›ÊÎÕ¿éÀŸO$kJøöAˆ>ÆAû~Ô½ b“öÓwɳ֋×~`Zô–©ÿì}\cÌÊÝ;ÖNmï*¥d6þí¿úqcÔ¡èÝ+9œ˜ÿÙØ˜—ý×_Uw2MXÚ²ñú¢Ÿ›ž£á4TJ<Çj8â?}߆û7g¬IÌTE¾žT†uÐ…£ð5ÊÐBRx?šxµ¬i²þðšè§áŸ8å?ñTfíêa]ìËg_ž×®ÃJÕØUKæ»YeíêXcB‘ÛsÙ©9,«Î_)©YbÓyݾ©Õߤ%·¶/Á†A+$ã õB—ZïÕ<Þ6rà:IÿuKºº~ÔµaÙ7wì4ùû!M|3”™[¹sð†ÄÁå G9 u£Áa©V£PD?R¶MÆö¯¨>1î‹•ù?âZbâ÷í¾_iØ÷cÚTu´1W*r×ÚžÔõ-‡þËwäXæèF¿<}ò¥õÛLqV™ãúhñAøíûQËOyÎGì7í¶$Âêá•KßùŽÄÒÍ·²/#µõPq[Öþr°þ ï¤Ø5ß-¾Ç[µ(ò¦AÃG׉œÔwý‚1ªÛe\>p-•“Bˆ‰ÿ¡5:¦ëÈ´É}ê{˜¦Ý¿v[]¯w§Ê(Õ„šQë4¹ †©È~4«9aÃÌkáS¦¶¨³¿÷ÀîÍ+ZÑ™‰÷.ü›}–îóöe$„bÒe_R—·›™7X—øú ‰]½kŽŒÈû"ãÈ¿nO_M§Ñ–þ=æìè1GûQÅâf1‡~4*2e>ß­ïó6ÛJÝ}>ø½‡ä;ÎÙÛñm ÿ‚BH¹Wž¿ó<·A±Iƒ^}A™zv™³«KÞSÔñËš/SHóöÎMGÿÒtôǾ•"`Ðô£QКõY·cÎgÚTq)ಭÈårí½*ª‹ÑÂaè3 lò騻œ£¯ª¬—ÂÇ „q(« æËæÙÉ=ÿä¸W­dšreÏÂñËkMR½è¥@øLLLÁYŠ‚gýÈgÝÙ¿÷ŽuU_líw“Û|²)¬€+Õ@œ rЂÎtêGƒ.ƒø¬Ç6Ï[}ôN2cîT­~Ï_bÇv¬"„¹BIåæ´ðáõ£&éüþ_æüy>!CjëQ³õÔ=Óú×·ÐAq(s†7háchß]QêŒßtr¼¾›ÆBæÞcQtEún ìÁaY–¦1M!xèG Zã S?Š¥ ¢(¢+ÒÓÒôÝ(ÞÝÛ·9®€{÷ ¤ˆ~ ZAøÂÇ 'ÅJ‘T&<|è Ê^ååí#‘”´Þ×h4j†)~»²Çrœ¡Lfó|vvv _#--eû–-":3ýzÑå¡ìûQT0h˧DÕùQ‘‘‘¡­[•ð§ MÓÄÇ8ðôéSŽÓmí…„¢Ëöê_™T*-îsÅSyÿ}$‰D"“•í¥Á4EétO»ü(ŠnШ‘oÕ¬ÌÌ‚úÑ(úQT0hcТ£ß}@De!D®P(ärŠ6¤©@7°yÏó Ã0Eîš  Ÿ6ý(*´†áct Ÿ¨èb™ËÃäæ"—úƒÖ8 !•´åeˆÊ )”A R(ƒ@¤Ät¥Ï3ŒZÍ0/öem MÓR™L¡À-tÁˆ |„á#N¢)ƒx>;++.þþ™S§u]ù ÊMKB‚Cüq0!@øˆ–XÊ †Qß»{8¦mX{׊nÚ¯ƒÎÞççy\.«T‚ƒeÙÇÆŒ6¯`éå]ës€@ø”5„”„XÊ µ:÷ìéÓmچש¬ï¶@QÜÜÝmlmŽÆÆúùWC@øÂGœÄrŠ4Çñ‰‰‰NNÎúnÏÚÆ–QçR¶÷ß(AøˆXÊ BDZ´AÝ Dzwàà£!|á#6ød‚¢°?ú€ð•Ar¹\ßM1Bø,•AE3 £ïV€è | –ˆÊ Bˆ^ê ùÑÍjÔún@iBøÂG„ÄU ( ‹%æ ¼!|DHÇ2Hóhu •2äû[ïàUÇ-nàXcæµâ—YPÇ-n`ï;ö\¶Ž­ã’uz´Rå=ìpÊGIÔ÷Wµv°Sº}›ñ¯Ë'oo«ré“^*­£§[¤~´gíU3g“{‘[ïkm)Š¢d2±¬ /¶LùõÝ}*Â%ÇÌþßyƒ[=¹$>†L§2ˆ¹¿sÃ]Ÿ¯|éùp˦9eÕ¦2Bk½†=”—6ÍU·Nß›øf"ûÊÒI»éÆí+é±Ueá`°t)ƒ˜{Û"ã½{vjÑ­ò“í.g²Ÿ¼3Ü¥Æã´¨ê¬²SU®ÝuÊŽ¸œ×G¾ùŒ[¦õnæWQeçèÛlÔ¦»9„Â¥üó¿^MüÜìí”*e¥Ú§þõ×Uˆ«Áô¼XÔþzN¸ìàŒEç3 !„hm²"©éŒo[¿³›|jQÿn*;Wÿ¦>‘¬É{œÏyð÷ì>ͪ{*•ö•uwéÕl;Ï<økÞÀÐî*•Ò³aÿ•—ÒóœÛÏ+pÀwû6 ôP*U®5»Í=òœÍ›S³÷x,óõvGû»Û‡nIâÔq‹{µ?¹o¥Ê½N¹¯Y92´š«Ò5 ý´ýÿiÊðåá#6:”A¹77oNðù4ÌÕÌ#¼[å¤Ý¿_(|êžÏyt*£áäÈCG£7N¬ûxå 6£¢ž¿:Ðýø¿ m¾ýmï] Z¥lüjä–GB(‰¥wë!sûëPÌžõãn.4tKB)Fžhp €@hXüQZÕfúäºÏÖLÝô@Cø”csgŸõ3«³ó;Ô‚©à IDATSHÌŸ:E,Îh·`ï¹ QóßÛsèö',!$÷êüÎ}V¦…ÎÞzò̉ÝË¿í¢|ó´ÄT½QËþŒÙ³¢§ô¯IC–ß*`§*çÉ¡³T£±«þb£}”}eã¶§¾Ÿ¶q‘¹G‡n•_ì]w6­ðÍ%U:tiV÷j­ÖƒEÎ|±cÁž¼²†RµõuïVÁÕõš0:Hs56.‡ʲZ—~=;¶¨öÅŒ¯ªi®/õi7Ž5ªsŒ…5\Eƒ’º:oxųóÿwäéµU“·›ô[0°Šümÿó©Ç¾_ßðûe£Û¸»ù·7=ŒŽ]søGˆúù½$b[­A½ *•½ƒ´íØÄEöêEåu‡3 ¬^P`H×±ËîÆÞÈ( D¡ªöýz@»¿ê-ÝÞ.ùßóÏŠ®T(‡fý?käíÛ°ß×JâÞqÄ€¶µ||ëõ×Ó%ýâ©„"Ÿð„i]e^ü}×s¿Þ¡.RBˆÜ£}×ÊiQ«ÿy©ÍR2צ­+‘ç><«Zb®4§5 ÇBˆ&éä¯ß|Ö©eƒš>žu&\%ê\M鮳!‘`| ƒÂD¡ï&@ù1©6|AOz눾ý=k;çë:ï~N™‡'.¤eǪæêèäìèäìÕmW:—ú$MCˆyÝ1ãZ0«:ùÖîðÕÂÝ—ž<‹.³°3¥Yu1·‰’XؙѬFë›IÑæ¶”:Góú+¥9Åd© ¯s>Bð!m¯_Hÿwý_ÉlÊøšãß>˜°æxr«öJ-~ŠBJ$R:_¼} ûò¼vVªÆ®Z2?ØÍ*kWÇ´l™Ö¤2¬g/XkN<(ëF“æv>?íBÍi3Z+iBÞ çÔ,±é¼nßÔê¦o¶—[ÛË !æA#6_èrîï[7þ: ÅïÁÛþžõÞIEy[D‹J}ô!|„á#2Ú•A|ÊéµQÕ'íZØÚöUª°ÏþÞuášCIíºÛæmSèÐQ?>°çž¼ê7 RØbLü¾Ý÷+ [7¦MU9!\.vDŽC‰‰Ä±Óª úŽÌ)Ð^~úäKëv^æù¿M)œëD ¯1hÐ’!³~:6¶Qû’µ„¢d>'%çñˆÂGl´*ƒø'×ÄpÍ—öiPÍîÍ,š¯Ýð Gývài—^fvælBìνõŸ*+…4ÊK+öaìþcÎu+É^öÍw—=‡E‡*éBË ‰UEGIü¶U{:Œ­}&rÞŒóº{ˆõ¶™±dçì`³ÿ<¹ï°³Âr6 oަ߬½iaU,ð'ÀˆQ‘‘‘¡­[•êkòÉ;ë 1‹¼³5´B©¾p d¤§oÚÙ®]ÿ€}·Š‘““=sú´³f§¥¦ê»-%…ð„ØDEÑ­Uår9„ì~ƒQAøÂGtDTP˜˜˜‚³ ¼!|De¢Ü\aݺŒÂGlÊâ¾Ç”]ÄÞäˆ2xa€Òƒ£A`pX–¥iÜ‘ÊÂG„ÄRQQÈéiEÜ ÅÝÛ·9÷`c€ð„•Ť˜!’Êä‡TÙ«¼¼}$’’ÖûFÍ|£rÆrœ¡Lfó|vv W¯#ii)Û·léÑ™1Œ_/@ !|ÊÂ>–XÊ …BQ-0ÐÒªÂÞ={ž>ý…ãØâŸóÞÓM¨ü·D+U2©TZ\>òTÞI"‘Èd²~º6hŠ*á½ )Šîáã뛕™YZ­Ð#„Aø€KDá8ÎÓËÛÏÏŸ¢ i*Ç lÞÃó<Ã0ˆ!0&A@øˆ“ˆÊ B“›ËÈ!\„€a2¤]€r„2D eˆÊ )”A RbºRŒçF­fŽÇ ¡†‹¦i©L¦P”hýÂð„8‰¦ âù쬬¸øûgNJLLÔu3(4-qpp ñ Äzö`$>B€ð-±”A £¾w?.öpLÛ°ö®Ý´_Ïž7¼ÏÏó¸ìY©˲=Œ9m^ÁÒË» ÖY#€ð)k( ±”AjuîÙÓ§Û´ ¯S7Xßm¢¸¹»ÛØÚõó¯†$#€ð „8‰åiŽãœœõÝ(žµ-£Î%¤lï£P>>‚ð!±”A„Žciƒº¡Že îÀ;ÀGCøÂGlðÉEa ôá#*"*ƒär¹¾›b„ð0X"*ƒ(ŠfFß­ÑAø,•A„¼Ôò£)šÕ¨õÝ €Ò„ð„‰« AP(KÌ@yCøˆŽeæÑê*;eÈ÷·t>À›s~¢Ÿªþ»<1#¶Ÿ«*l[2ö–D#-º‹ƒÊNùꟽg†a½F/ŽŠËz•|òö¶*·Ïb3!„Ϻùûˆ–îvJïzýÿx¨.àÝé¶|¢úÑžµWÍœMîEn½3b²iÝyÅÄoè²U95,?îìüìsckµ=÷õùƒ*þn(Š’ÉIJV$€P¨z¬ü}°§4çå“÷®Þðów½7l¸uÏìfv4eYwª¥ ?Bˆ:nuÿ¯¶H-ú³o='¢¶r’©ãV|ðˆ¾ßJ¡>†L§'s熻>_ý¶©wä¦cgV7)¥FØwˆ(—*­õöP>L}ƒü„ÔnÚ®ûçCúÎm¾pÀ„æçVµ²•WlQ1o3Í‹/h¿±C»6p{YÙù1dƒ¥Ë¤so[d¼wÏN#ºU~²}Ãå¬W«ã7öj9~rß&>J•{s^9²rdh5W;¥k@ûiûÿÓ¼Ú’[7¸e »ÊÎÕ¿Q¯Ù{ïgçþ~oRŒÏ‰Û1±cˆƒÒ±ríˆowÜÍâ_ÿˆ 3¿ìâí¬²sði2|ãíBr¯L«îº6‰»:¡º£ÊNéÔí@Zéýr@oX ¦çEˆ¶õ¿OmSÿ\›Ì¿™KÙÓÁµíº$îêøšNvJ•ªsÔ£|¤©ã7pœzùÕø»Âí{N'„öŹÕ#Û×÷uQÙ9ûÖn3rG«Db“O-êß"ÀMeçêßtàÏ'’5…µ Äá#6:”A¹77oNðù4ÌÕÌ#¼[å¤Ý¿_Èxó=6õâ‘ÔS¶?¾s‚ç¹ï? rµêèu1'ǫ̈~sÙÉGR^M÷[ùw™økÔÙvÌi“µæ³¦¶$|;ÜóýÃZyÔsÄúãNlbµmpy²ò~Ä…ñî½æn>»wI‡ÌÍc¾ÜøP£ðý:úÔï]lI• ûþ½xùÒù- }<Ñàаøƒ$Nþ¡RöÖ‰û9o²n·íîî^JÚÎéø' ojU1ß# E.iÏNŽUº:úÔ™ƒ¿ÏæmNBsã§N‹3Ú-Ø{îBÔüÆwçöºýIýDøÂGl´/ƒ²¯lÜöÔ÷Ó6.R"÷èЭò‹½ëξ=òB94ëÿYË o߆ý¾ŽP÷Ž#´­åã[¯÷¸ž.éO%ä%eW;´E]ßJUêvüvÍòN’ó×ÝyïþuLÜÆÙû* Y1÷Ó`õúMÿÊïѦ ײ !„rlýåˆîÍjúù‡tùjduîÆñû9DVÁÞÙÞRBË­\\\\œìE`ıwÇfÈ®"&³°6!YÉ™ïÔ#´ÜD.£-•›( …œ.à‘±éç(ÜkׯåçééW§Eû6Ö4!|ê±ï—Æ7ü~Ùè6înþíÆM£c×~VVð„i]e^ü}×s¿Þ¡.RBˆÜ£}×ÊiQ«ÿy™ÿâ.ÚÜÖ‚Rçh^¥4§˜,u¾ ljµó#ñ'oe¼ûY7ÝÖb£Õ‡žqrM ×|iŸÕìÞÔM¾vÃ,õÛ§]zhýÓø'±;4 ¯bòòòÎùãweMPÍ„·§Z›ø÷ZóשcºŽL›Ü§¾‡iÚýk·ÕõzwªXċʔUùßvn?Ѥƒ]ëXÕצ žšQc’^ ²ž\;ÿoŽ47åIüÝ+‡7,ÝyS2q÷w *PïØy5øÂ‘ªjÔV½Ü>Y»I¡Ñ3{~½Ê“†„ÂÄïZ±Ÿ­VË·¢5ûäTôåTÚÞÍJBheË1=TÝWôê#Ÿ9"<Àžûïæõ$çvÝë)‘â†ð­Ê ä£¿3 ߨÄîÝcG‡VC[š|¶v_B—fZþ0™] ¯‡«·=ù ÛºR­¶ ¢gõóþàX±ÜkȶÃvs§,ZòÅ–)ÙÎUýku ìUä«J\"fŽÝ=è‡.r¨ÙÝΙ¶fZ¶ôëùÖáá[ !rk—J^Õ†-þqh·:Ê–B,îh1«=iå7G/ìÓv®™S`Óðæ­]oä­éÁgÜÜñÃÓ§kˆ‰CÕ¦ã7ÿØ»¢”bÓ쇘­^Óæ¬›Ükq ­ôð j9²U·²{¯`ˆ¨ÈÈÈÐÖ­ôÝŒ2—‘ž¾iSd»vüôÝ(FNNöÌéÓfÌš–šªï¶”ÂG@>b}@D·V•ËåXB pDŒ ÂG8>¢#¢2„ÂÄÄD› ¡JÂG„P!ÊÍÍ-~#€Ò†ð”A R(ƒÀà°,KÓ¸jÊÂG„ÄRQQÈéi¸ÿ¼Ü½}ËÑÉ‘ãp&0AøˆXÖL•Êä‡TÙ«¼¼}$’’ÖûFÍ0¥Ò¶b9ÎP&³y>;;»„¯‘––²}Ë–Ãøõ”§< |àc‰¥ R(Õ-­*ìݳçéÓ_8®5÷ }º E—í…”2©TZ\>òTÞI"‘Èd¬LWŠhŠ*á½ )Šîáã뛕™YZ­Ð#„Aø€KDá8ÎÓËÛÏÏŸ¢ i*Ç lÞÃó<Ã0ˆ!0&A@øˆ“ˆÊ B“›ËÈ!\„€a2¤]€r„2D eˆÊ )”A RâºRŒÕ°Ëò¸°£(Š–Ð‰¸F&=„áCøˆ“ˆú[èþK¸zåÊË/ôÝ(MÓVVVUýü*Vt“Éåún@é@ø>„h‰¥ âX6áI¿gÏ4kÙÊͽ’T*–7.,jµúÁý¸ØØÃÇU®\™ÆnÂG>¢%–žfYÍÕ+WšµlYÙÓKßmBÉd2¯*>‚ð!±”A„ŽãJ~ogÐÞÉãG8Žûˆ'Ò´„çyÜœ!|@{b™{㻜}Ä/<ï)è'02Ÿr†ðmˆèhÎLJß (-aAøˆŠˆÊ Š¢4¾[¢ƒð0XbÛGÁ¤oyû˜_8E±þf€‘Aø”7„hCDGƒÀp¼xñâEáëÈÉd2ŽÅ (}ø€ŽeŸó`ÿ‚AmkV²WÙ)UΕvµü\êÇœ‘ÿŽŒØ~®ª°mÉú|¹×¦ûÈ*¿˜Sôf\Ê™»×p1—J-]j úû¹®ï=ý`× Š¦~t;ïÅ‹¡¡¡¡¡¡E„¿ô˜OœU¡[’Þÿå\˜ l°$N]Ä3s.L P†üt‡)Û–#„O9Aø@~º”A¹q kT³÷ü£’†g,ù}ó¦5?~ûI i“"^…{¶©µ½×Г™obîüâPcæµÜטø ]¶j|°eYž—FQ¥sÁjöù]¿Ùo5pÝñ«—mœÐÀ¦ÄÇÓ²Nw‘×Zö@bób(%%%%%aùÈ*õœÿËŒPûœ®Ï>7ÖOÕtõ#ƒú4!|  ¤}Øä\]ØçË­É-æZ= ÀòÍç¯Si4Â>¸CD)¼NÑ(Š*rAˆ¼o·f“t/™®³ht—`ë7OÓ©y›¿óSø|•wßÕË—/CCCƒ‚‚–/_N:thhhhTT”ÍÏ)çF‚Áض-û0(o½@ø€6´ÞH=ñÃòÛ¦-üùÝè5>y{[{Ç^òÉ8ÚßÝ>tKÒ‹=T~#þåR·t¨d§TÙÕ™íîªÆÎõgßå.jê¬TÙ)[ýþûfRŒOÞæ2ræØîü]”*;zŸ-;ŸöêÈ/ŸysëĈ`O'Ÿ:Í;„ùU Ûô¬dÓq|æ­­Â],e2Ͼëãß~øì»›Fµòw4•™¨|ZÙt;“'šø%5íÚÿË馒Éd2‡Ç3IΕ{†xÚ™Èd2™•Gã¡ëndñ„¨ï~¨¨üÍ…œ×¿ ­Må–£Ó>h@ÎÅñžV W%r—Fz™Êd2Óvók…BÑ«W¯•+WJ¥R©TºråÊ^½z)Šü[r¬8öOáCïOŠiž[<°Y57•Såj Ã:4ö {.›BÿòìêñÝëù¸Ø)]ª…OÙûDMr¯L«îº6‰»:¡º£ÊNéÔíÀ‡8‚ð)_(Œ¶ePöÝèSòzŸ5Qér¶B«ß.œQX„ýzòò¥‹Wö­âñéöw w'NŸo>wéâåËt±ïp1Ÿy/êšuû©k£Žî_û¹EôÔ!?ß`!š';†tøæbݹo?ŽûgóÌ6ò”k Ž}÷)êøÕëöZGº/9p忉 Ó?©Vá͆I{>o0à׸íï^Ù9Êú>í¾;—)uv*a[k9ÝøÇééééWÔ7'”y¥¦ƒçü~àÔ™£Îo‘ôëÀ‹ni}΂‰ÿ·'®oëiG|§½ww]ó Å?K°ÌÌÌFMÓ¯ÆMÓ£G633Ë¿%ûQ+À‚qɺ0¯KÏߤý7žüèêå_ø¦§½=e(åÁ ×ns6î?°iJ;+†N8˜,÷ý:úÔï]lI• ûþ½xùÒù-õØú |ô á…ÑvRL“ú$•X8Ù*t:‡6±sv¶UÐ {gó¼UNŽÖ2ZVÁÁÙÅ%¯Ïx÷9”iðÑ}šZBªÛhyïã·ÓyË;ëçp{rls!¤ršnæôm]ÚB!jšã_ñœ Kf2íý×ÚqM+P„UË ›o¯²j&—ÑÜY=yw…/ÌëdBˆG¿™cWþð뿃‚Í$4MBÓ4MÂi˜\ʵÝç½_½¤å›×÷9xõå×–'<Ë0L.Má O§V3¹”†#„Ó¨s†BLm•væZ^Aeoï %„0ŒñœøI! “[üFïSkŠ:?D‚O><ÿ—ga«÷ô²¦qò«ão+ùóõw)®ãFtó–B|&~¾úïÈrÛV·w¶·”Ðrk'[ áSþ>  m£BjaoIRâsxbV~+lJ-lMé45Çó·Ž'XÕ®ë$ûø£išçßÎs/¯ýóXdùzýô¼oð<Ïg^?pK£±ã’¼]N­æå./5<Ïó„"„縷³Î\ê… óÜròöƒÇ?MãIH®†û`Îç ÿêKÂóäƒéù7[ã¬ô»ï*++kõêÕÇÏÛ'ã8néÒ¥ ø`Ÿ Kî!„I8s-·Ò„jŠ ÚÜΜ֨ ù2g„^ |@Úv¹‰WËš&믉~þ‰S!=”á‰ÏMÏÑpš-‘¼»‚§ÉÕòÎ#ü›ˆàXµš#ÕfÅlîbÿfPb®2ÏK’÷ž¥Ž[Ñ|RVÿ•Ëg·ôT’“}¼»§¾ þmåݨæÍóß[J'"I¢ÜÜÜÍ›7_¿~cñâE„‘#G]¹r¹wïÞ¦¦¦…=D‹ËNÍaYµ¦øÁ`ø·>@øè´¡í™>”m“±ý+ªOŒûbååŒ|ã„¢d>'%³€Ã‰”D&!,£yï!©„°j]NC£­}ƒì^ÚUÀÏÖ ÿm]Åß–½ò×…îõCäuX˜¸Ww&·£¯R.o8ZËóžNQ„óͳ#›þµüäûÝ‚\m,L¤¯S…Ð2 —™œÁòï¼øëÝ0þÕÝë–H%„e4¼±É÷+ç­¬¬vïÞ}ùòåÀÀ €€ÀË—/ïÞ½ÛÊÊ*ÿs9„‘èÉ]k{R×·úO—¤ $2 át —òòÎðFø”µ|¿r„Jû€f5'l˜y-|ÊÔuö÷ؽy`E+:3ñÞ…“‚ÇNhìÝÈSóãüŸvÚtõ$O.Dÿv2“w'„B™ºzYgÜ´÷‚S $ÇÜ«ZE3©µ—«4aÿÖCÝÍÜ4ŒÒÏß¼øŸn4|tÈI}Ù/Ó¡º]Æå×R9gÈò.J}ý’5†öÝð¿ÏûVüa\G?«ôë;ŽþÇçE‘‰ÿ€aµVM1,mÊg *›¥Å]½¥©ß'ÂSAòv=ùמ)S'7³û—ÿqÖµ•âêöã£>„ð¼DU£ŽýË­s—„OmëÌÄŸþsÕž4æyž—˜ÙY°§¶nÞ§¨dج®½T¦ôqäWoßr¬YG»lÖ%È϶4–1üû™bmm½{÷®Ž;BvïÞemmÍç žç5MþÇÁødÄ_½|Éöõá‰e¥Jo¾%qn?±ç܈qŸNàgôkì!ys4%5Š~=™²Š#ÿÛÎí'št°Ëa«̧ áSþ>  ®û¢Ìü†m:³ÿ§¡u²céÿI—.½¿üný… ZÃË}‡­˜–³a`xó6ýfíM «bñ*ÚÌjŒ™ÑÝfßð– Ûúñøs !”MÓ©SÚ°ëz7mÚyäªKéZ–/¯<`㎩ ž¬èß¶^f—žMùˆ³ùù÷vþãöFÏm‘úǨ°úÁ¡_üöÔ'ÈFš·…ÌkØÎ£+:]X8(¬Iýð/fo8—Á½ÙÏx»7E¬š/X7.ðâĵºÌ¹è÷å`Âózðm§ Ò<;¹çŸ÷ª•LS®ìY8~Yb­éCª›ÿ¼÷ðÎCYûˆ_¸T*E!|Öý{ïXWõUqñÇÖ~7ù¸Í'›Â »PÕà!|Ê´!˜2ˆÏzpló¼ÕGï$3æNÕê÷ü%vlÇ*,„^ô‹Lý–·û…«ÕXÄ 4Iç÷ÿ2çÏó R[š­§î™Ö¿¾Pç•>åáÚLDU¨3~ÓÉñ%{ËB”;üÂácÉÜ{,Šî±HßÍ(Ÿò‡_8hC0eP©HMI±¶¶Öw+Ä¢ŠOÕÉÏ?â‰ÇI$Bú(§>ðqÄÒÙ‰ÔÍÍ㸋Χ¦¦r:^H)“Ë)ªl/w•J$’âvAxŠLvÓ-••íåÆMd%ü< ²wp05Õbuqƒ‡ð!0`b)ƒ!2¹ÜÓ³²‹‹‹F£6¨SçÊ:ã„…¢(©LŠc‚ð„8‰¨ "„Щ™¹¸Þ2„€a‰` R(ƒ@¤P€H¡ ‘B"%¦+xžaÔj†áxÝÖí€òDÓ´T&S(t½m.€CøÂGœDSñ|vVV\üý3§N%&&r«ïAhZâààâ¨ë*s á#ÑKÄ0ê{÷ãbÇ´ kïZÑMû›çñ†÷yàyÞ V`ËS*ÁÁ²ìãGcF›W°ôò®Âäæ–ü5ô áSÖ>Pb)ƒÔêܳ§O·i^§n°¾ÛEqsw·±µ9ëç_ IFá#qË)ÒÇ'&&:99ë»!PÂG@>bƒO&(Üóôá#*"*ƒär¹¾›b„ð0X"*ƒ(ŠfFß­ÑAø,•A„¼Ôò£)šÕ¨õÝ €Ò„ð„‰« AP(KÌ@yCøˆVePÒήNJßѧ²Þ{Tóhu •]ëµ 3ê¸Å k̼†å .ýæ_ ‡Õõ÷P)Uξ!­>™¸ë±šœ ” –ÄaŸÊžVË'*÷k¬ø|ßæ+sB‚Í^?¨y½ñ¼¨µ“¶k¢êEQ2™XÖŠ0x|ú¹yáa?ÆUë2䫾~¶lÒý;w’œ<íd„ЕzÎÿ¥…§½±|^>†L«'eÛàóf¦ŸîÛ|evðë:Hó_̦K²zË[: ¡ "„Zë5ì lqÏöM_xÕkÒ‰}£}?¼‘¥Ä&°m„^ZUf>K»sƒ(ë~-,žïÛtåõ¼ûßÁÈKŠýš«hB˜û‘£ÛÕövTªì”.>Í¿Xq>5ÿ-^øäímí=Ë|õuÆÑþîö¡[’ò¶d“O-êß"ÀMeçêßtàÏ'’5¥ðæ@°X ¦çǤgp„ÉÌRç?qøí¤ûø·fJ•Ý»ÿB~ºýêŠ+.ýÊÚámky¨TN> zÎ~Œ+± 4 |ÄFËS¤)ëº}C­žÿ½ùj^Äþ³ñ’¢ÉçíhB%w¨Ý}Â’mч¢·ýÐþkRŸ9ç³uisã§N‹3Ú-Ø{îBÔüÆwçöºýI©Ežhp €@hXÔÁFMêÜabo÷ø…­êw»tï•ä‚K‰ËgQ Ÿ$<~’ðèÖŸƒÜˆm—i}¼ä„¢y´ñÓ°iwƒ§n?s>vy׬ýú¬ºk¸…ÂG8>b£õ•bjÖÆæùß›¯dBØÿbþ¸lÚ¼_}ŠBd.-z÷íÚ¦aÍ€ZM?™8=¼B♋IÚ$>õØ÷Kã~¿lt›w7ÿv㦇ѱk?+ý»+s¬Áݱò£°†«ñ“¨B¿=¶nZsõþéýšúxÕýdƶëi~>)‰\¡P(rõÕ%£~ÍìºxN¨’&„œËËœöœ¼jrÇš}šýî3û+¿ï¾o¸uÂG>"¤ýó5ú´S>ß·åjaŸÆD^6oÕ/ÄæÕˆá³îìš;´[XÓ:ÞÞv¤MŽ·eaž¸–;¨š«£“³£“³W·]é\ê“´R.É%ŒoaP˜|x¶#I…ªa#î¹òèRÔ/£üîþüEãðÙçÒ >ãÜü¡KÓºý<»U^D4IçÿùOsõÛºœÝzTR?ÏvêÔ+àÍ:ŠÄ´Æ¤õ3š?]Ô±víðocTŸ 2£!„V…Žè{gñ S6ÝÊâä¾ÃVÌ ËÙ00¼y›~³ö¦†U±Èk´M³b¶Niš±kr¯ÖMZ÷ž¸bïåç *r£¥ðoSéå?‘?|;zØ×s7œÕ„|³þÈïý*½WÆp‰M_ùˆ$oý4ÀÍÙÅÕÙÅÕÙ¥Ë_/ !ĬƷû÷ý¯³âðܾaM›÷øjáö³Orq2芊ŒŒ mÝJßÍ(séé›6E¶k×Á? @ßmbäädÏœ>mƬÙi©©ún @I!|á#6QÑD4­.—˱ „@àˆ4„p |DGDe…‰‰ !˜€ò†ð!”A`ˆróN‡(_±A"…2 ˲4Å ¼!|DH,eE…\‘ž–¦ï†@ñîÞ¾åèäÈq¸üŒÂG@>"¤Óò‰&•É:¨²WyyûH$%­÷5š1ˆ9²g(“Ù<Ÿ]Â×HKKÙ¾eK‡ˆÎŒaüzJáS>ð±ÄR)Šj–VöîÙóôé/§Û= Š.Û )eR©´¸|䩼ÿ>’D"‘ÉÊv•]š¢JxoBŠ¢;DDøøúfef–V«ôáC>`ÀÄRB8Žóôòöóó§hCš äq›÷ð<Ï0 bŒ ÂG>â$¢2ˆÂäæ2rÄá`˜ i× ¡ ‘B"…2D eˆ”‘^)Æó £V3 Çc1P± iZ*“)Ú."eŒeÏggeÅÅß?sêTbb¢®‹•€Ñ´ÄÁÁ!$8Ä?0PË›¢aÄ0ê{÷ãbÇ´ kïZÑ­äK×2÷¾£Ãó<ö#Ã#®Ë˲=Œ9m^ÁÒË»Š6‹ua¤Vçž=}ºMÛð:uƒõÝ(?nîî6¶6Gccýü«iSá)ÒÇ'&&:99ë»!PÞ¬mlu.!ZÝÏË BDZ´AÝ»Ê Ëj;±ŽZŒ ¥ÕÁ #-ƒär¹¾›†Î8Ë Š¢†Ñw+À gDÁ·"DS4«Qk»q™6 <) «íÊÉZ—Aé1Ÿ8«B·$ÂòOY§Fz«š¬| ÑwC@ÀŒðhEQ2™. ¥ËË BmÔ7ЀRQ e›|jQÿn*;Wÿ¦>‘üf®*÷á¾Ù=ú:Û»xÖh^ǽÁOw˜BŸÂ'os9sl÷Fþ.J•G½Ï–O{5 Ǧ^Þ8¶C]/G•Ê«vØ7Q/p4„Õ”ú¹A…anüÔ)bqF»{Ï]ˆšßøîÜžC·?a !Ü‹ÃÛŽª8n÷µÇ÷/ì^ÐÃ!-ƒ-ú)„ϼuͺýÔµQG÷¯ýÜ"zêŸo0„Ük ;´}Ðþóÿ·wçaQÕkÀß³Í°Ê ²‰ㆂ•šš¶¸^ÔkYšf&ini™-Þºji‹Û-ÍÌòšVZéu«¬Mí¦7wIÅ%2—pÁA8Ûïþ "Ëe@ç|?2çÌyçÈãùú[ßÿþÛ×Î÷·¨JÖb¤%îDÕŒŽ¾É14,û¿3ço?{õ¸®³S*®L×n…ÁÜP­8ƒ HÑMÇ ùäÖ½9y§žj>‚#"bª¢²èÓ9*Õ:¾5Mˆy!ÚÓø)¥Jóñ÷äsÉgví¿hkÓÉáa´,Apâ€Û°zX|³3ªtE#ûß—|÷Ï;Šóg±Y(/?;_ejCxÊ=%»¼‹h²JäÌrˆ¢„Í4ÌÊpf¸É±ARH\Ÿµ}[–-¬Xh ·Hdh¡ìúrÛ_¥û¦Ê?¥Ü‹Ôim¹ðóÆ´ü›+L@7ƒœk ºtüÀ/)þEN‚oýÆõ;?÷H`¿ ²¼>¦Gl~æpêùÐîýÚX_ì:÷©§}æÄGZ‡ªG“vþ©ñåœR»¼«rööc M˜3h¤ÿ[#;9<3÷¬Ý—ÅÐíePdÅà!çbÐáéý:M¿úÇÖYקì+“ÞXòÊ€9ø€È˜æŸ‰˜ˆ„à^ïýñÓŸI˜«ZCîhi»2u‹·—wJy¸Z÷LK^4aÊ‚a]'ØvêÕ¢±Ï~§*(…[¶lY—ã]¡ü”W[wÞ4lǦQ‘’k¯téâÅ/¾XÖ½{BÓØX×^ n1ùùy¯Ož4eê´œìrJZŸ\]«HËé?n>-…GÛ]œ Y,ãk€©¾ óѳRÖm:W§‰Ãvùhò‚W§Šõ¯{ý\w=0="× ‘vŠ|öçUsæ$Èȳ6lðÎÆ—ú7÷ÆÀfp©‚‚ƒGº0y4þñæá®{€›áž;Ì€9išÆó‚ÁƒÝ0qY-Ö‹995]T·´£G‚C‚uÝÐÖ¢.ì«)¢d‰ÛôÆÀ @GƒF‚`4‚Aº¦Õt•ÐËÏÇÚópåMÅ?ªU#'çÂÊåËúü]–e#Ç»a ²Z­Íââ|ýj­ûúë³g?ÒuÓýlY,áÏxެ'v¼0"§æ²B!‹ÅÂónØx¥ðçÔ¶ p=ŽãúôiÔ¸ñåÜ\#Ç»a ""]×£ bbšrø‡nOÌ™½„ cL–eƒˆÜ5‘\P ž/&„Æ0)Ä 0)Ä 0)Ä 0)Ä 0)·)椩š®iÌðã·5Žãx„rŸæŒÑŸµÌ\M6Á"zGžóóæƒ|ÎØ eˆAà>TYI?“~`ÿþ¬ÌÌš®Ååxž÷óókS·n„d±\côûyåôù ÓNžùóbõWXͲ{Ç:êæÙ#$#I1Ü„®ié§ÓwïÜÑ¡s|D½ú¢èæÏ8EQNü~lóæMº®GEEñ×µ ýyIOÏÈÚuðØc]îtÔ 7 #+ê‘ãgVlø¥eÓ(_Ú¾•o¨àæ?"`š¦Ø¿¿CçÎQÑŽš®¥:H’äh؈¥ìÝêéíSê€Ì\5õ·SºÞÕ(2¤F*¬fIŒmPW×õ÷ü^'Àn$¹y0ó`Œ²³/Ô«UÓ…T+›Í¦iºZ֎׊FY¹Žˆ:Õ_U °ÕR4ÕÐþòˆAàNt]L¶·4Ï Œ±27"dŒ4Mݽ/¬Žçu ‘G§¸SmN\øa+þÀ¦º!…tcŸØ\ ܛۋ.Oy“¢,’¹ÚÆœ…îƒã8UUkºŠ[Ïqªj‚%ƒn”IS3¸¯²ʸ-ŽÓôŠ’ŸÎoªBd<ù¡5à6&I’®™+åTÌ* šÁ‘AˆAEô‹©Ÿ¿Ô·U=?QEÉ7(ªeÏ1 Só\~ݼ]ã"¬-Þ?q;öæ±K‡WM}âþFu¼EQô ˆjõÐË‹wþU²1F>45F ³ãrñ7Ž-î =ôéq¹ ¾:ÅÀ]pÜÏ–g—ö½ûXç×xpøøwÛÝå°kÒSwŸðó¾}Ÿ”lj¢+Û;´óIÏuì1ïPXü3?êã/ŸØþŸ¹o'¶ýì»oùtpTû{þçúñ]7ļ¹uÉÀúeP½nß¿\€Ò8Ž+o ±ì-ž_Çõ_|hÁ‡gѼ«„~DÕ0ÝüÊn¤p"*ÿž#特èèkG ˜w¨ñ„M[¦¶·Æ­.½<|OÂÝㆠj×nÓ˜h‰ˆXá/ÆÓsSföîó0æûUÏÅy¹¨,§Þb`zú™¯&/:øÄ’¹%2P ùûg÷o]ÛC’$É/ò¾K]fDJÚÌ;ÛŽ84>&Ø[’<‚[<ùñáâ.49=yZ¿Ö ‚<%Ïи®Ï®IW‰ˆå¥}16¾i°§äØ(þ¹/ŽæVEеšèNSO­™±*;äé&e ""γɰùSšiÛç,JÍ¿öåIJ'»Lü-ᓤ·;ÖviþÀØ 0)]3¸B —ö¯Þ¥Õî6øn¿²×ßá¼ë?0ìO“ÞñãWÓ;_˜øÈ»Gd""í®ï~üî×Ûwo^Ø7÷Ó§‡.>®‘vnÍ-»ÍÍî<éóŸRv®ž1¢ç"éç¿ÒnèŽ +÷¥í_=Ööù î¯íʽ©OKDDš^ÑGV+|õÆ]úeí>ªÿHóÒ[™I=mDÇ“¶ž+‘δ¿6½ô·'¿o:3yá#u%—t•jøgbàVUÑ™s~=ç̹|²…zërA™£v¹ðîC^ùºiÔ”/?´á@Öøº²Æ¸®cÆôkáIDÑãŸûá‹?Îb=öÙ”Ubâ·KÿÙÞ—#"G"’/¥þû•µµFoy{@s¢È'^þøY w¿Ü:sÊÃÍÃí>"]ÓvSòÈ¢Ë[Âï SSVïÌ,ù^äQïŽP:ºþW'¬X°ÍBŒQé7rŽ^ñƒŸÝÄ[W@éñLwŸ3 ÆÌÜž­]ývÞÑ%c§¤ð-F<ÑÄZô="bŒ˜GãáKÿ3:$iLÏ—’Ï«.)ªnxˆ4ZƒÀ­0VÑòòØ:N_:þ×^³F¶HY•8´ï}MÃj±ìôÃ;wË=&?Û0$Â+óûùŸï ·X9ãÅõ2ksuz{‰/Šþhi8pT›9/ |ÈÿÍ—vhì•õGA½–MíM‡Žlñá+cûŒÌyõñvQ^9ÇQïÔ'š÷ ðÖÒ¾Yþmýfö&´wª¡„1¦ª×¶;]w@¯Þ>¨ç¬§˜ßfßèqƒ:4®•|Çšù³WôíñÞ¢Ä(±8—ÁùµŸ´fá©ûô¯»qÍØf^.ècŒ)ªVI4,þ U}€šsƒmœ_ÛW¾Û»ö­! Ï~õæˆ}Ž™¶üïËdݯãŒ%âö½Ü)¶Eß7öÅŒéQ~X‰ ¯ÃÄú‰+~˜×ߺáµþ÷Ƶì9zÖªÔ‹:“#WÿøAbÈÞwžêvÿ==†Oûì¿Ç.éŒI‘¾Ð/hÛk'¾öÕIÙùÚ+¿'.Â×éö¯Í[N¸;ë«©‰}{ôôâÇGê?5wãöÅëI×XüµÖ÷ýµSîØ7©÷¨UéŠkê"ÃI˜[¶lY—ãoê'à ËrÒwßöì݇çMôŸ|Y–W®XÞµkW?›½ÔK©§•-ÛS†õi# &Út,_Vg/ÛÚ½ÃݱᕬR´>bà>QÔ5Í…ÓnA¶{X$AÓt‘3Q "g–K@ ÷⪙Q·(Q+NBì¦ÎÝÎ,¢`üã"€[1ÛSŸˆ¥’ÍvC £ËE"€[aæ{êW‚™.‡n%û›ÍVÓUT]ס¢u“³.äÚ½«­ž§iºÀsœ±bˆAà&8b’(^¾|ÉÏϯ¦k©>çüüleNŽxf…œ<9Àæuý«îêDFv ÝG å Ä p¼ DE;vlßѦMÛ€€@^¨|Ú¼ªªzÕmÀ®(J•u?1Vùˆ"Y.صcG\\œ(•ñ@·y Quƒ×mýµg»†á¾‚d ¨šfx æJÈZUÝF”/W2â‡#îròíÿÒZÅ:ü½ -š€nBĈˆ]×÷íÝ“]^¾á8N²T²¢L™DA®ktaWéR}Ël Åó¼Xé.¡Œâš7ªSÇÓ³Œn¯ _!7ÈÞ*Ö±qÏñŒ¬\M+û†ðgµÜH^,­£ÊÖgY¡­R‚(Hb%ᆵŠu„Ù| m°ŠîC²X¢££ÂÂÂTµêfŠoR8Ž%±Ì DDG‘’¯‡¿MÖ«ò~pñ·ÞÝ "'o>ÀGÀØ 0#^½¼ñt»‚ã(ÐWô5Ô4bB&Zn $Ä 0)Ä 0)Ä 0)Ä 0)Ä 0)Ä 0)Ä 0)Ä 0)Ä 0)‘ˆ’Ö'×tÕíÿ–<ϱJ²•IEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_pen.png0000664000175000017500000007126312142400477017652 0ustar balakinbalakin‰PNG  IHDRôa8÷Õ°sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝu\MðÙ½ ïŽF@:EB1EQQ°»»»ë±»ÛW»»»[10@:ï6æýã‰ã8ð¨ã÷ýðw7³;;3û»½ÙÙ]âÀ€jájkkûúú–u1(Í­[·¸ÚÚÚ$I–uI(¶¶6wP5Ü@ikksBÜ@Å@pÁTwPA\‰DÁT‰D"áJ$–e˺$”‚;¨ î ‚$ !ÁT wPAÜ@Ap'T@ÕÀlPA‰„”H$e] Ê”yäŽ0¹€êH$pWPAÜ@ApÁTwPAÜ@ApÁTwPAÜ@qL÷ìÝÏc×#>ÿH(ÑÒ”in$èèWÍÃÞ¤¬ËE¦Ppúîçö3O}j»5öÕ'ÉÂö‰¿)Ï_eV"–eFÇn=Ú½±}ýšöe](…‚ûÑWn®¡~Š#Ä”t™Ê m®‡{õ›/¾@pT8 ÷Ÿ±‰.ÊÖÿ ù4ƒ¢£½ó&1±² I•4’$utvŽŽ¡Ê\±Ùõ`dd\Öe*H±1wÌþŒ|Y Ÿé!–Ðiii/Ÿ‡{Ö®k`hXøP˲¿cb=¸G’„gm¯J[±Òzxòèruƒø”N¡àÎ%Ñüá-Kº(åЗq›‚®9WsPWWKIN*ëâ¨uu5.—ëèä\É+V]]ÍɹZä§ÜÒ)Ü9BaŒK¶,å&ŠD•rÛKVFz:T,Bˆ¯¦†™J÷›”Å‚;‰X–E¨Òí‡c ‚€¤t,ËBÅ"„Æ SùÎf’§hpGWÊý“DåÜðÒ‹*ë~JâÁ@•¯$]–¨X”Y P@ùs'ËVÂ]#LB *1P±! ‘” …ÇÜ+å®È! –e*ᆗ¨X„*áïaPJ–ÁŒ &·«Ú.nÓçë=ŒrÎUN¾ÚÕ²uôÆ/!Ý ÊúŽÔû•u=¶´¼6ßM½ˆYy\Æ•ñ'K逊EP  Ä(tñ‡@ˆ(ZŒÖ¨>fÛž™>:%Ù“.ujœI,¹5 !’@ãÂþ˜Ô·§iãåbkemkíìéÓjÀ̃ï2äeI›ãmÛro]è•ü—zk˜³M‡cÑL)¯7ï’W±É!}í¬m­rý5ÛøARÆe.èúô_3‡úK#ÄEÏK"ÄÂlP>rgYŒeÍÆÍÜKYŒÙœG #¯öB,.±ãŒ0BºŠÌbã<%Th˜å¨c+œörçØ~ ¯Å˜úö4«–‹¥MúõîÅ7mu޼œa”ùƒ¨tݲâjÙOÓSŒBö,i(Ì:> 5MÍäÖ¨ÔÇ -š5;ue’“ZQò¥Üì9 mC辦:rÓaik¢bÔ)A’%¸“€JL±#w23ŽÊøË:ÓŸçý¤«ÝõµšŠÁlÌáÆFCgŽnSËFOSKÃØ£ëÚlj™Glâ³mƒ¹ki «Öl?÷— «`Ó>žÝÅË±Š¦¦¶±}­ÖóŸ¦â”ë}LŒÛ^³·º˜hihj™»óh’­À{ÃG:+#õ~m]QÍ•oÄc„r-S¡õJ·Ž$2ã`ؤ‹,¼F´YriÛüQÿ´mìëçß²ë°)Z˜räæÄHZª2€PÙ¬·(e@iWur©î’õçl­Ç+~±3;i±ò)7¡ì¬(›BÁ›™ ð'ó£?YpÊ»ó/Díç¸þðÚA:¦õ[‘¦¿ìêìÿï[ïygÃ"îíèšþ¿î]7½•ä]NúóE­ºnLl¹ìô“°'¶Ïî[Ï€‡4½V‡>ÙÚ‹jo|üúí›×ÕÔwíÛÏ*bû±™K|8²ã½Ó€ö6ü¼…Wl½!L Ì%äî—LôåÕG~éu\5§µ¥šÌ›Mýpf~Ÿ–u«;ظÖo>pÙÅÏé¬ìpPpÊŒ—‹ýju]²lX‹:öv f…¦å-FÊëã ú´ô­nç`ïÙ¨ÕÈ=ïÅ™$¿::£gs/W7¿v#·¾L“†Õ˜[[¦uoRËÞΡz£kïÅÒ™EHÿtf^¦uìíœ=÷šwæc*‹1N›×¨vß³ú7s³w°õl9bûƒçW6Žjåå`çP½ñ  ãåf/0¢É«XiÏ‘‰Ž¹¿u|¿ZövÎ5w°;Tºz6ötg·fS–ÏêÛ§šƒGÀÐmaI ¦¿îná¸ò#ûí¿6Îv6vý¤ó,’MÿriåÐV `UH”X^U t ޹¹gÅö¼oæxšÞ#&õ ¨[½Zí¶¦6ä}¼ñ*™ÅéO×.¾g7g眞6NMF-ìk¶óØqžEÑÑž[ýz5m<ê·jïgÎÅ_TÅÌ@“Cªë›š›™™›ùˆïÐ}°Ë§]Ao3Æ(ýÕ½ß<·¶àdí;Y Tp½Ò?‚Dr£{êë ÏQ£öîÚ²C¹¿ë g5:,;rýàìqÐðÖcNý ³vjSbÌ&=ºüÃuت}»×O ¨Âͽ–”ózL>£ÞaÁÁ‹Ág·ÏÕÚE@bŒqúëMÝÚÍzX¥Ë¼'/ì_2²½wžt½qŸÓzÎßv"hýÀ*׎[ó4 cÌÄ^™Üqò=«Aÿ;íÜæ¾‚Sã® —~P±ž‘³^8¹åÍ+‹{uÛòÛkâÖsg· 5y°jìúçéò³ËŽhò*¶ #a6ñÞÜŽ=V}ô·õÒõ³›†Ø„-èÖqeXÆ#œòZ8qý‘³Azh…,™°õ­˜4é¸ëê®æÈ¸ÇÖ«7®Ýº¹¹µ>™{¡¯Ö÷º+¹Éôí/Û·|l—Zº\¬^cöù‹Ë¼8È}ѹk·n\;7¹ºÈ±sתoœ‹”HóI"ÏŠ´ëhÁÍ[^úÛ‘AÝ–~ôœ°ëRÈ™­Ówºû£DþÖ TŠË¸ Ãö‚ŽÜ HÀÕÖÓ ŠÁtôã»ßéðI"]]‘n•¾áÄo tž¼šu'Mk*ÙØÂªzàÈÇŸFK \5Ç¢ý°:Ñö½LC(õÅÞ ˜ºƒš›’y“)ºÞÌ#w’#/1éq±b$4²?O¹{ó#Aç5ËúÖ·¯bæÜxĪEMÑõ Ç>I²vh…Rb„2 Ø·…w-/ÿ^F¹|Øôè/‰È¨zíNÖv®Þþþú$Æ8ùÉ»>¸ý»mQï&5íªÕnäç,$1Æ=F÷n^×ÕÙÃà˜@ÑïЧ¿(,‰<²úŠvßå3:Ö´1µ¬Õmâ0‡¨G^¥aŒ"ª6ëÕÎÛÉÚѯßðújÈ¡óà.¾ÕlìëõÞH;úÉ‹XZ^ö™œŠÅ!ôt¼—³ƒ“ôÏ¡OHÆLôÕ5‡c<¦¯›ÚÊÍ¢ŠU­N³Ö´ŠÜ÷ß½Dév©{öܹ¡‡“½[À áÞÜ/÷ß%³¤†¾±¡€Grµ ŒMLLŒõÔó¶õûÓo¤ë\»V5Kk—:½M8ñ†ÆzêRMרÄÄÄÄPÀE<ëv=¾9óAŒ1ÆïNýQ­§2ïæ¤¿Øñ¿'VãVt³¨b[¿Ï”.‡/DÊŠîc¢Ü<£¨…O¨*¿û1ñlº»ÙO½p®ÀX#O2B»ÆØ/;?VsidÏÏZ†–Kc{òðSò c†Å34EQ¬ü”:Í`„Xš¢(™ßÆÚ^ÃzŒ]Ý¡Þ ßÝ»ui[ßVÀAˆŠ }™jÞ®–KQ9Î…S Æ3TæÂ¾H“¤3$*éõÍÌ·wó+ôÑ/æõ"·eÒ{î±4ƒõ¢â2dl0EÓ²§*ðw î0·!çñgηsMÈ'n ¾þâqÈñ];ƒ¿RyÎÆ?ؼzǹ[¡¯ÞFÜ>qýÒµ2VGaž±³1û|ï‘»oÞ„=}ŸÈ"ŒÖ©=¸£úÉ1cNqšð"„0âhèk1ß®={)øú»d¬àz³þHù'T ãfÃ[Š’/N}*2#ßÙCB`ç¢/~ò:%ó &!üê{dUÇB=×wN¡) ι.uóÚ­‡ÌÛyqß?za{v=OÅ\}ǪÜo7ïFå Ƚ4iƒ`¤næb„>ÞzGg3ð²¾¢sçÏ·0¹Ùe(lƒÌMæ™yX’_n<ŒÉ:!þz÷áoMw^þ‚ýy‰H1’¼çQs­oäÐgú–ÓgÆÙ|<¸å~"+ÍGf@d§ÖéÙ¹zøöÃWiŸîµ9 ²ÒºöÖšôë»Qj†êÂ@«À¾bî¼È£øÃƲ0zµ¨}ƒEÞóÚñé¸~fŒŒFDföÌ#ycB³æ¬«WÌgÎÜ8¿ç¶XZdQÍ­ÁÀúÝ1‘»L„äÇ K¿ûI¡UN›Î,ª«A`Œø— ¹2lr §¦EãI‡ƒÆ ÕBnýzšoZœ2¸--L`„aÜ|ú`çžkúö>×cËùúv:Š­!„ø<~¡óÜÞSÖü4pÛ¬Vmƒ»u ¬ko¬…“}N5;À͹gïêÇVOœa½pDKúíÙÕ³®püW¶ªÊÁŒ†®&óùÚ¹sG¡Wm“‚SæŽu2ŠÀDß>xþ·¥›“¹ûâÊÓßH·ªƒ‘ nÿÖ†WœLMìÕÄݘþ§ãäb’3¶£¬caŒ1æÛwíU}ÿʹƒf&éài¡žòåí'Ú³]€EÎHûç·WV½d-®Àìü‚ªN^ÅæÌ9‘ú~CZ­¶tüJ»Õü¾·köÆHûÁ‹=µ0ŽÏµ](çv’KîÏëgo·R7g(]{Ü…b“ž{gâVÍBŸŸô!äÁO$tÓç#Œ1WßÎÝâ|¨]] ޹“¥6‰–[·@µsç±dÃMÚcŒu] öǽ WkEëš×¨k¥åÑ·‹å¥]㇠&méf‰ÿô6JÓ§¯‰ìý ¢;(Eî²û ŽÿÑß2/Ý÷+óíNW;ýÉ®Uû·ø¬—ý:ƒ6Ê1÷ZaýÙ'žÌF2Òp[,¿öyyžŒ„–¡PÝ¢UoWõ¬wHÿå÷~-Ï‘Lõf½)½Ý±¬²:ž£v^¨{lëî“—7Î<š ŠµG£,±¶õ?Û V.Ù9©óòž±SÝn h`H ĵh=¸Õ©Ùk'F8v[ãYÛX«À”y~ýÈ($»¾eóÚoÉâêZyö\µd!¤Sgê¡ÿL¯92«Ï†t‘¥‡_ß3ÛéÿÙÞœ?¤0B<«^ÿÕûßòí;§œY‘¡elïàÚ¹ Ê›^fa0Bܲ˩½B£Z¾¤ÀwöÿÌ–¬Y1xw´DdáÖdÆþ‰Õ3/K( œ„ŽÏØQÆnÝå°®}Ë…Ûgòsüf%0ópÏ›"ã%˜Ô1wœ¿m| ŒâÛtžÜãÎÌ¥ýÚh˜zZ»¡¿BHÝ¡s[“ý›R»wvɳ"õüFt³·sÒÄkmn«c¥©Q}ä¾½&«Ví_?þp<-0³w¬ÓµfYÛK’p6”âÀÍšÊO´ûЩázRIé”鯈_-ö©¸ËSœ 9ŽêbËWJi Ä! –ÅVQ+Vòéä¾W&mçØò•°µ@¹§è²Q…è…8þÆúÃ1sÛUå*§´ tƒ¿VA+6="èÈW›>Í•ÓÉ0.h´ €¿R¤1÷rÐ Üû5^¹‹,p¤ü½ X±8éÑÞ qÕF75å(©üð UP" îÄ_Î$®°¤süAI¨˜+ð]~#!¤¤òWÌJ€¢cîôô߃d—¨X•J ¹‚K  9zP1@Å"¨PB î•4²#„8$ÇV%*€’£Pp¯´8‚Tb bª¼¿‰AIƒà.I’Ny•¨X)ø’%‚{!XŒ_G¼,ëR¨&¨ØlΞ.ë"€òŽ$IPèèTÍØÄDÞ}ȳ(ÜùjjbqÆß•­BêÑ»_YPFzzdä‡ðgOÝ<<ôô MGî…HN’y[4(múúÎ..‘Ÿ>)ܺöÎù@™ãóù<>ŸahE+ܹ\8À€re:¯è]c*Æý~ „î*î ‚ ¸@¢è%oÜ ¢ D2´òfËHo± l‘Ž‚÷«Plž; øP‘@ÔÁTÂ1)p2%LÙ³e0< ÊŠVèP[±ªne¬H·pTö˜;ýeKC‘@Xkék¸M9t±­žH ÌüÓµ¨îÕ¬ë¨5?¤ówþ}¤©È¸Ë•ä¼PÖÔÕuœšþ·%å ìÎHºé6?PÖå(2%wêËéÏ5Í4Þï z[níÁþ:ØX×rÐíÔ"æK4ÎATëW…. PÖJ•À¨û¶+7®_>±gÙ˜6VßÏîVÓojH,«Ìup›/ؾª§5_™ eL¥wgÕ§Üà.ùx|Ï;§‰+GÙ}9tàÅ•ê&Nn5½µî6èß-7Þ\_íÍæ>“.Ç)ñ4 ¡íØ´CKw]¸ÚM…Àî\±)5¸‹ßÙ÷É¡g{¿Ž]l¿Ýž–ýIÂéÆ®ÃŒnáRE$¨ÒjÏ7†þü_½*>“æñs4­z\JB±‰ÏvŒjQÓÆP ªêÒ°÷²k?%!Ä|ÛÝTϬץ¬g"¥?ý×Y(j²ç;“¹Þ—óÜDÕf†å9¸Èx¹¾_u3=‘@(2v³ïu:F §[ˆ†=fƒZš „"A%¯Äy·Còãúª~þîÖaûZ-&_‹Çá3\ª4ÙÍ>Ÿä¢/ Ú'!úç¹ÛÕ²5E=«:Ý—\‹‘–(õf[ûó&wô4Šôë/{p¬ð•–Rä3~Y/ýÄ“ëC~ã‚7áôȳóºûºX…ºfÎ^í=ËÜ»±øóéEýšT7‰„^}6=KÆ9‡e2B'»Ú¶Ÿ>½€«…¾@häÐtÊ©oYçè_7Öôóuª"2¨êäÐÂÇÂyÜ#唪ìÎHò=x^/cЬšÿÈÏ’X„õa¥ß¤9ÃZÕ²2 ôlê Ýû&«/RÑ÷6ñw©ª'0°ól=ç!S!§“(3¸g¼>xà›S¯–U5mÚt±>±;4%ǧé_NßÕé²üÈù£‡y „N‹8ùÜbð†ç®èm¯†ÒÃ4wÇrÔž;¡'æÖÿ¶¼]ƒ±WãXĩҬ_É̓¡I!„ÄÎǨ£ðÃw¥C ’gN|µìÚÕQ=wyMKß~swœ¹vëÒá…ïÑwÃ[‰ éžˆë \‘v«]#"^¾º8ÂN-w6êÓönæ¿©5ýà­ÐÇ—v/Ò´ª:Rwžòø@g=äøïåð—Ï·5ÔAW¯zÛ k]½rvÛP“[KzŽ¿ŸÙ $¿®\ÉðŸ³ÿÂñí“Y¶ÒR¥íèÊeÞÜþ”Qð&d<_ҶǦ¤æKN< }pnë¬>>†ÙOlùIøŒÛrþÆ…m=¹§§Úð:ÏþDÅܾï>ä§oÝ:³¨Þç̓'\øÍ"„ÒBµí²;ðPøÏŸoB¶ uNJ‚ ¶å–ŠìÎ8å޿ͺÔê»åú‹g§g9ß×qrH<‹BLbè¥HË–»~;xc»Ôƒc†íûL#„“ïýÛ¸ùŒðê“öÞxzÿØÊa~UJ¬’K”±”þ|ÎãZ˜sצ]WÛEv>\R¿± ;Lj)}[d½¤ãBB¿Ñc{Ô×’¾“teù†W6“ï®î碎ê4wwÒ#ñKÎM÷ëefܤ]ñäCa)|µ%‘çÎg´]8âéüÃ:¶Ò£?_<ñÙª{‡<©Y·hù¿»CƉý}o¼M›äh`jª¯Fr´ ÍÌÍ´dlÿñ+ðöªWÓÙŒìì]¥o ŒÍŒu¸$_×ÔÌÌ<³Ú ¼{ôóÎ\A5aØ~ßã÷¿Šu¥qè5iPëªYÌÊ_iéâéèª£ÔØTq Úú÷‡h¤×¼^=G=²uð@IgØjuGO䯃ò°œ¾k÷k)Sír-Ÿ°é4ax[BÈvRßÇöÞý*n£Ÿ²xstËÝË{{ˆ„L]êV×çœ*ÕíŠS‘Ý™ùqfþ¾ôNAk‡6 „ªÎšµ{ÿˆÍ—ù7FUFéVS!ä4qì;¦Þü”1¨jÚÅE;¾y,|º¼¯5!dkô£*gsE<¡¬¼#÷Ô§»OĸônnÆEñmÚt¶Mº°õN¼Â¿g$Q^¦5lf“Õ¨\cß@[öýý/b„HÃF|Ä!‡ÃÓõ5øt¢oŸv][é>9ü4Q_ƒ|²ù§ƒmþsylâ³½3ú´ñ÷öp2·ï} ³‰¿¯4ª ™ÖAx¢¯sµ¦º•!'‹økðÊ‘]Ô©fc廿+¢3*Â8œû+éjsP› UwâTê¿Ö¶î-G¯:ñ,Fvçæiëk %g£9Úúš$C3‰¿Ý)¶n\]ój+UÙ3>^{ž{¨¾¡¾¡Ó€;LÆïè´¼Ó 8ZúZ$K3‰#A,šøšòÝÖòJiÁ=ùñ®Ó¿™°‰nzB‘@(2ðZò¥]ÝvSáIÜé,sb'iРýŒËG^$}¿r"Χ[ ‡vZ÷>Oüq5è£]ïvùçiP7wj26İ׊#!Þ½ jÆW0ª¨ÛõÙñäý“¼RnVÍsÐÉ2'Èà„ëã›t]SÊŽ³÷^¼¿÷¯]Å[8ñ陘ïÒÐF½àM ´<Æ ¸²}ˆó—}:Ô›r#^FSa‹qzb:#÷‹”ª³;3YŒ<ù(,ìYXس°ð—G:ø0CÑ)vßÅòMIÁ'Üß~!¥Æ¬3·ïܽ+ý»yrŠsÆmW£ìj¦55¢o]ù”5€KGß¹ô‘ëXßJ!„½zˆƒß8ìWî5tºsû&Ü›GBÎ}°ïÝÆ2ß×,s3è‰N·•ó:{˜ëéhðþt‚Ãå †b䕆gàÞjÈüƒ÷Ÿmª}xùéï4BˆàðHÄRÙ>ýÕÑó1³Wodg$Ôäsäv6EVZ*è_!K&O2ê>®‘!uÓ:F­8ùäÑ\Ç7[WÜHø«ϯZÛŽxyèŠìoJPލÐîÌ7¯i¾\ •š™™gþ™hȉ{jU=-Ñç[ß+üù 匹ã¸;[¯°M6÷öu5È®6FoLýU#¶]úÙ©·©" ùNd㿤׳õc›¦<Ú1yò=ã>g››H—Hˆ¼û5Lï;}©ZÍÿj BÕ;7¤»ÍX,qœ½Ó<ÿvš¦šq7|lÞLíÅÑåS.I°—tIšUíE)—œ ­âÁÉвw­ª™3¨¥¿Úµñ–°–§C­ôO×/¿£4j˜jqB&dÛìÕï±È¿ ­+d¥%)ýû‹ÐÇÜŒø¨È÷ÏCv¯;öšë=ýÜÂúI Ú6áÁ¶]fµ=lŒÔ_Ÿ½…tk«(­°•ŒcÚvzÏ…mÆw„ôohÍùvåFƒj*k+Ò¨Òî̳ì4>>º IDAT`é 9úRó†6u¥xT­Sgw‚ ΩÒj\Û9½§wÏ_п~UâÇSïl©XÕ•+Ê9rÿ}cÛMõÖ#ü r.ŽcÒlD3õG;ÎE)x¨¦Ukî•‹‹j¼ZÖ­nµmgÞ¶œqþúr_aö@°nß&ä—tÏîu¤ïi¹võ%¾&¹õ 4•ñEˆš¬Ø3ÙíÙ¿M\kv\æ2r°uÖðŸfÍI ºéžêçØùÍßy‹ÇÄ?Ù=¹[SïÚ^û¯ÿÔ`ÉÙÿZè!ŽYÇES¼£–·õnÐiÒ¾b¾ÃðÝë:£==jUó~ˆí4ÅO(§: Yi Š ØÄß¿eÏ1‹v…ÄVù¿KÏÏLòÔ!Bn¨7ÿ7º£ŸWm¯æ#÷¥uÜxz‰—æß•ƒ6\vnÇ@ÝKSÛ×ó¨ÝzÊ©È2› äQ©Ý™kÚe÷­ý]¿ìÓÆ¯^³~³¶^~“ wlcÔzË=#ª<\Ò£Qúg^ÓòªªQ1F\s#8Ь©üD7B®6kÑ’eÊ~L¨êÓ†ž^}º¤FGQ€0fcccŸ>yì׸ÀA©àK—á~î l0¿\|Çš8Á ( Jœç€|8íí…³oEÎΆläͳ§ÝÔë~´U¸c%‚;(5tÌ“óÿÍ?ù$*…«gã8÷ÂÜõôá·#%‚;(5<ËîBºo(ëbP)Àq¨ î ‚ ¸€ ‚à*‚;¨ î ‚”9R"‘бRŸ¼ F$ËåòøDÁw¾€FùAÏ)‡i”"QZpÏHOúõâùó¸ØXe-ÈA’¤P(t®VÍÂÂRCSö=½ Q@~ÐsÊ!E¥¨”Ü)JõøÑÃÆþM«ZXr¹pmT‰£iúó§O×®]eYÖÎÞžÇË{h ôœr¨ÐF)%w õâùóÆþþÖ6¶JY (—˵µ·G= }lffÆæÛE¡Q€,ÐsÊ¡B¥”sBcœoai]xR T‘e1M˸Ç64 zN9$§QŠAi³eX–åpàÅt÷ö –-Ι+’ 1Æ<°EõAÏ)‡J¨QŠJÉ£iÊ*VåTŒÚ“f‘Ÿ EåAÏ)‡J¨Q§´#w8ëR† š:䃞S)ë‘~J îA(k¨( 4 (è9*@¹ßÏJ-ªœŠS{Á°òwBhÕ=§*™F)¸ý@yWЧ<•û(wPiAÏ)‡J³QJ)¸ss(æ"¨wËÝxc§-‹šÝôðŒb®²ìÅÅÅÈéåŽ9è«fÐçfÊŸ—6J˜Ü_AH»BBBBBBBq:„ÜF)}„ÀgÎþãªk”uAT_©õœœ1ÆèåûÛF):ežPÅ²È å\.Wfby¶S@çÖºdQò ,9,ï¤Õ’óiWpwwˆˆˆˆˆpww—vˆ¼åŽëÔ(¥&×Vñ-wîàcÌ)0e…hªr¦¬zNžCuŠ¢”¼aY 5JQ•×1wœþáØ”V5¬õÕx:–žmg݈¿_áÆ·û8!:r½§¨ÆØY}½-´y<£NBHuya—ºöF< S·Àq'£dH°I϶ ðµ7à󴪸¶}”7LQjjj=zôؼy³t/Ú¼ys=ÔÔÔò§d˜R:bÂéŸNÍìPÛÖ€Ïãë[»·˜š†BˆMÝ:¸qµ*š<¾¾]Ý®‹®|—ÈÌs°_Ø9sX†IxºsD'c žš‘CÑçbaøWIJºçðx<—óŠ¢äe ¿ŸžXÝT‡ÇãñÔÜ:Ì¿Í „PƳ)ö†¦Nëâa¢ÎãÙ¼—†R®ÿS¥jÇãZ9ðxšµ¾#„ÄŸÏÍéPËF—ÇÓ6«ÞtÔžÉ,B¥ÞfΫ¾ômæºÙŸüÕyæÃïI;%Â1ÇZêhúU.îjY&»³2‡ÉX†%IEÇòô”«‹P‘ÛÚÖñ¡ÙÜe'š»ˆR## G2%gbœúâXX›…[.XRQ)Žêˆùu²o­Î!n“WÜXÓ˜þú!ÕÉ€‹¾æYýygû†“Åö^ØUGûÃÑ];w<»=Á¡õhjjŽ;6û%I’9_æÄ²Œœåäi”üÕ._ŽFɟ߬ÓF‹».ì­.H‹zó‘6ä!„ÒžÍkèµHÒkcЦff‰÷þ3 yç¶4Ó—3]7ãù’&^s;.ßy»…ïçÓcÿö}‘V¤‚‚”PÏAw™ïÿé9Oß­ã”ú“,…éïÎ/6¯óÈšïƒZê!„Ø„Û'¿.˜»o´aÊwdÁC!ÉÏààôÅ‹ŽLÕŽû%0â2?ŽôªÕãªûŒ!G<øïOÎ8 vhlصqZý:šî8tîËx[Âqw<Á¼ôË'Þdx×PG8þþÞ;¤ßö&†åâøUYR$Ê îM± ßý955%Ï;IÖQtƳõ‹o˜M»·}‚‹:BÙ:!ÄJâŒ0+‘HÄXBc$ô=¦›¯VæÒÞí›{œ;ðüþYõu„=BH"‘0aF"‘ˆI„J¼rÞ]»9a³ÚXqª:lA¿-¾Û¾2Õ©|D÷?5 0Š–{Д¯QòW»ÂEJýþ&éµðñr±Ñã «êa‰ø÷µùk#l¦Iwýƒºg+7í¼ËÍ™ŒŠ~|ç;>ÉÝ@W$Ò‰ª4Xÿ '|K(£…ùë$55uݺu ÃH_2 ³nݺÔÔÔ<åŸ.¨QŠE³î¤iM%V±âxh´cŒÅß¾H1òk–ÝVcß@[öݽÏéÙÛ•{31Æâ¨aÉ"Ÿ¦¶êÙà¼ÛSú='%%9%%×”'--mù…Ìø|qù°ŽMëÕt²¨ê³ú ¢2(6»ðù7(Ç«´÷7? jmëèeÐrmYK=úÉ‹8cu§n]Í_¼òÆI†šwëÜ¡OèSÁ_%8éñÁ›d“õEeÒ©J¨QŠJyÁѹwÊLœœœ$§jXZL3ÉlUöç¿?Y(qj-cí9^Ñbñl¼þòUÄ«» j¨çÍUúòm‹ÅAAA#FŒ¤(Š¢¨#F‰Åby ­.¨QŠWFM1Ç^¼ººcˆó—m½}m½']‹c²î”gc£¬¢å*)Æc––Ðaåø!¤´¯¡Ê¤¬zNrrRrrRvzmm‚R²ñ!cuZí;uçù{îO·#²–Œò¯#ïÖ`éYÆ\/ ”yºWÍ¡KW³W®ýHxôШS33#ï®QÇ®|zèáßÏ[X6]ª„¥¨”: %k;“’“’s¦JJJ”_5¤ÐÎI”pëÜ«´üu&ã_Œ1æ›×4£ÃN<Š“ñ…ý?G¿šƒ~õ³F³lÆ:ÜrSòןP(çºm>[ÏNK£ÆŒK—ÌgÏÚ´ ×¶XZdáìê;л+ÆåäÒºü*‰Nžyìר_þ¢‚/]VÚ1+‡ËeFYw"®œp1žÞ"÷«¥’€žS)½QŠJ©ÝòWŠQ{\.·R @Ï)‡J¤QŠ´4e-eMwPâ+›âÕžü‹¿¡Q*è9åPI4J‘(7¸ÃWý_)‰ÚƒF©  ç”Ce^{Ê î‰ "‘H‰ ¬<ãb##Æ…<¥EµAÏ)‡J®QŠD9Á@ˆÏ㥧§ …B¥,((&:F$Ò•9«È=§’Ó(Å œàÎãñlllÜ¿ïã]OßÀ€ ‹yšc¬Ä!§"¡iŠeËàgfÙâ=å#‚¦$ÜwusãñeÜùLY"ŸDRV÷e*Ž2ì`ÅSìî!o™¥Õs`w.BÆÂ¥”Üù| KK†eCC'&&² Ïâñù¡ü ÃãòÈ‚{¤ôZw¢èWhpx633ã !¸«&8¡ª²0Æ ñ–Öe]P DB–ÅJ¿+(? ¸«2–Uæí¡A9t÷öâÝŽ$HŒ‹ù¬¥m[·#*µÚƒà®ú0P]ÓÄ)õæ™ù(ÅLY&ÉJb¥‚»*ƒ“¨@>˜ ©Â`çWeAÐ4sd†,â( Ë0Ê. 4@pWy~¼/³‹JHqš‰ Φª2¸¸8„žžžÌOy<Ëó›{à AJLVŒ2 óàþ½ˆW¯2ÒÓe¦Ü°~]þ7µ´´ëzyKË–\ñ”’ìïAp/8ãó…5sW~ü%™EjÛšþ½f,V[XÐ)üûH3‡‰V§#¶Ö×*Õ¢V â—sÜ<ö´{±ÔC½¬ËRAÄÅÅ „‚ƒƒ Šï׃÷“ú¤£S„祤¤\8wöáƒÞ>>%W¶ò‚»²e|Ø?ºÓ° O>=‡,¨_ÓÑ€LŽ~ÿ쵆@­´O^̃¬œ¤‘=!!! zñýÍë×½ûôÕÖÖÆE™ª©©Ù aÃà‹“’’å<§´<ƒà®\ÏWõôÛÙÍ݃Üt²Ãyû²) A9'ÌCùs—nÂ_nŠ*ËY/ñññîîî›6mB 6Lßuuuóä‘¿Ìò|?¢ÔÔTM--–eŠ:ÇŸÇ㥧§%ÄÇÓUBeûºúz„òf0ApWªÄ[Ëÿ÷F£ÙŽM9#{Ntôíÿý;kûå§ŸSÖžCç/TGOæáuÁ)N·pœn5ªQäÁ#w¿¢úêm^ Gè)×ÿ±ï•> “øØÞà÷iîsÝ™î¢V„üñDZ×äÓþC·>£†[ƒûYp˜ß·W¿ñâÓo¬‰{«±«ÖŽi`ÈE!œúæèü ó÷Þx͵¨n‹#1ÌÚSŒššZ=FM’$BhóæÍëÖ­SS“ÑT SÈ Õi;–Hÿš‹:IQ4‡Cæ îS'M\²|…̲1,›pòıòù£vâ”iéiiÊZweJ|/…ïÓ§‘‘ÌÈŽoNòkµÏpØÆ£Û¼E?®®=¦Y“WïÌõÔP8¥ô&~é_NßÕY°üÈ nL¼™P^Øc–$•Õ%?ƒƒÓ/:2U;î—À¨è}'=òÄme«OÍåFÇUHür‰Óµf3w\r%Ãþ׿gÛ¾FÏO÷2çP‘Û;Ôî;û—;¹ â_œ_<0쥒6BÕijjŽ;6û%I’9_æÄ²…Ïsõó-ÃÓq¡‘4-! ~ž©ºÙ/óÿ“ c u oo­òw;̳gÏ(wÜ•‰NŒJD:¦új2Ã-ûóü¢=¿j/»¸°³!›>+÷þ¸ïµfÅÍqN(’&ñ1¥o † )šbsÜ̽¨í-‘ˆ³ÿ¥YŒ{OÐÂBºF,ù³ã¤\ë]­Õ±¸ÌWš~{^éh«(šEÈcÄ”^™Å–Ä\ž»êSƒõçÆ53$2² õ¶¶/~íÔ[/lýÂÎîšä' B†þîºÿ¾`(‰XWÝÉ’£™EÑ K¤‹ËåtIO"–`ѹ·"##£ ¤†‘ž‹âT‚ëûT KWÛXÅGþJÇH3|¾û†¶îk’UéjÖþ~Æ‹¯>ù.0R4e ¨C!$IbüWãæ9òf^¯^ÀÀ·F¥×ŸÍÌ ö¤†‰(ïzqÖR²ÞΈ¼ù$)íK_;ýBaš¢±Ý·DŠ!^ÞûÆqmᮓ½Ò¼yA.9ë%--mûöí#FŒ˰,û¿ÿýoÀ€š¹U¼z9]\Ǧ1‹hŠâr8E=rg†¦).—[.ÞVý-,MêöÍjjì Ùü£uÓ|c!D&ÃQ<¥|$‡£¼‹˜¤ÿÜ c+[ã²æÈŸ£8˜–0H·Óþ«ójdK|]cûKz¸˜Tþ÷ ÈU×b±8((("âÕºukB£Gyþ<üŸþÑÐÐÈ›EÊ {ªìÂ*Ÿ¡šÁ˜É}B5ûeþ2EQçΞ)ŸcîÊÁ]™=¿),‚7Œ´Ñ%h¤»vî`¬féeK¼tû×8‡ª\„G†Üü¥U½Ž¹’ ”ã.NòR•ÒfËä¼IUñ…rh^wKrýÛq¢VurÎîÇHäà¢Ç\8û4¡¥ŸÈÎ GîÊY/B¡ðÔ©SmÚ´ussÇëëëŸ>}J(æý!…1+7ºëêëí™Ý±¤JüwvîØÎ°˜e&Çùä©Ó¤/óÿ“ÇУ„Ba©•¶¬@pW.MÏé½üwFÃ{êÚÄÃBD¦ü|ú8Æ{ò¿MZLé6·ãÔÞ³„+y‹~…¬µä]µ‰Ûê ‘$ñ;u9ÃÄØ³¡›I)‹J:‡°ØÛ“3¸£ìéˆÅ î#DäÈN4ÐݨãÆÎÝø‹Æ¶v7b¿¿Šˆ6kÙÍÇP£Æ°ÁNû–ôëSu夶ՄÉÇoþÀ™Ñ½Ø›¢ÊòÔ‹H$:uêdÛ¶íB§N‰Dù+cLQ´œ %¡Ä™ÊÅåp2ÒÒxù†e •––¦¥­•‘žÎçñJ¨låw%#4]F ­s`ÍÚ]§ÖŒÙ“Â"¾ÀÄγi×z & ›®½qÜrâœm6|—èÙÖj½êú‚Þn!ŸÉcêvX:¼çåæKÏøºé꘲ˆ0Rè×wÙó¹?¸ç–A„¨ñªëÇíf,Ø9­ËšÒÀÆÅ£é˜¦]0&Õ\&»$œ:mÓ˜K“´­´õs×ýGîÊ_/"‘èäÉÒdÖZ…®JSS³û÷ï×­[7ûDMÓùç¼S•s3Y–}ò䱃ƒce“AhÖT~¢!W›µh 7¬XRSSƒ/œoÝ®½ôÄš”H·hW*&ÄÇž”—Ïü||“““ŠšQ"‘;r800ÐÀШðÔå Ã0ÜóæujJ*BˆÇãewò<3aÔø|Ddž¬âp¸¦¦¦.®®Zššô„*ÆlllìÓ'ýûËO|ér…ÜB  —Ë2Ìß\ýS¤Ë»AY)N3Uä#w‡ããS¯zuW„²C7ÊóAñùü Ù‹ªRld¥–{*dÜï˜"f¯À! ò(Æ —Ë­è[îó7 ¸«88 Y¯‰©ry ,ÜU®à§Î€" ‰A~ÜU\bB‚H$*ëR€’âàèû»1f+ɤ‘J ‚»Ê"âóxééi•áz PT1Ñ1"‘nΙT@Å@pWY<ÏÆÆöÁýû>Þõô ²Dî™+‘HJb±%c\±š1ËÒ´’oÝ…AS’G¹ñø|å.”ÜUÏ·°´dX64ôqbbbQkI’Ü2½¢Ïã ßYcDüÍ…[ù\.·ìF0‚P~ÆØÕÝÝÈØXG&œ¨,îªLCSÓÞÁÞÌÌŒ¦©ŠxÎMñ€ŠDú…¡­]„‚ ‚»ŠãñøBüô ÒÓ) ‚ ¸€ ‚à*‚;¨ î ‚`¶ŒŠ“H$4Ec wî$Éãr¹<>Ì5UaÜUYFzzÔ÷¨ÏŸÇÅÆ–uY@yA’¤P(t®VÍÂÂR#ëIF@õ@pWY%‰ŠŠzüèacÿ¦U-,+É @¡hšþüéÓµkWY–µ³·çñà2Õ;¼Ê¢$Ô‹çÏûû[ÛØ–uY@9ÂårmííBOC›™™ñ„ÜUœPUYã„„x Kë².("!Ëb¥ß• ”ÜUËÂ=»UÜÝÛ7ŠwK8’ 1†§t©2–Q}°«¼b4±4 ô Gîª N¢ù`&¤ ƒ_•AÓ´œ‘™ü1 SÂ…”î*Oö¸ªô >ÿù4i¸‡ólKqFÞ‚a¡•U÷ʈËå¾¥ïËI*Џ¸8„žžžÌOy<ËÀ»*ƒ1÷¿—v”­@(²r5!ÏÎB}ü¯±ž@X¥çµ”"-Qür›^•ïJäñ¤Šn𦝧Þ-wãYŒ}œ®øê©wËÝÔ즇g(ž]\\\@@@@@€4ăJ‚»ÒÄš¾ùµ8Çlìåù Ÿ”ÝM]¢ÄçArMZ-Û¿¡ \S®H#{BBBBBÄ÷J ‚»’˜5obôzÕ¬³?³ÏG¦‡¯›v‚lØÖªì EÎËåR…@Q—Ë-$Òv èÜÚC—Td‰Yy–žJ mèœïH#»»»{DDDDD„»»»4¾çÍdUw%Ñ©3yiÞ¥Y«Ÿ¤"„¢¿ý»)ºÑ‚™ u³’d¼\ßǯº™žH ;ŒÙ÷:#„ýù¿zU|&Íâçh,Zõ¸””sÁlâƒE,ÝFžýN#„äÇõUýüÝ­ Â*öµZL¾_zû(NÿplJ«Öúj<K϶³nċ߯pã[Ž}œŽ¹ÞSTc쬾ÞÚ<žQ§ ‰!$‰º¼°K]{# ž†©[ณQ²ÆƒØ¤g[øÚðyZU\ÛÎ>÷E,#PššZ=6oÞÌår¹\îæÍ›{ô衦¦–?%ÃÀiU'T•…4l>oVÝÚÓ¦~aEÊÍóÚMºÝÉìᶬ„¦¥o¿¹=ìlL¸1öL?¢¯y훓ù!œqòy˹NT¥¾§Ú«¡´Ì,8åÙš®]÷;¬ ^ÝÊ”‹õi{·RüÏ] IDATó©Á›®¯©OGü˜ZU]~±X†%I¥ ÎP‘ÛÚÖñ¡ÙÜe'š»ˆR## G2×¹œúâXX›…[.XRQ)Žêˆùu²o­Î!n“WÜXÓ˜þú!ÕÉ€‹¾æY.ýygû†“Åö^ØUGûÃÑ];w<»=Á†zŠGSSsìØ±Ù/I’Ìù2'–…i¯ª ‚»Ò\«^+Foò]²ðzëQ§Që~°#?éav5ë6³nôâîqbßoÓ¤Á!¡ßè±=êkI?¿D!œö꿞·VY¼¾½9!„ÿñ+ðöªWÓÙŒìì] -ESlK$E80þ“8ãÙúÅ7̦ÝÛ>ÁE!„lb%q F˜•H$b,¡1úÓÍ7s+Rßí›{œ;ðüþYõu„=BH"‘0aF"‘ˆI„J¼rÞ]»9a³ÚXqª:lA¿-¾Û¾2Õ ¢»ÂŠÔ¦RM•DI@ùÃ2ʤá:jUO2hxÏ^«µ\:©Žvî ÙÄg{gôiãïíádnßûf%’‚'£áÔ's;OyÖhÚÎÙaN£Úi„'ú:Wk:pÑ¡ûQòÇdH’Ä8×€,*ÊpwÎÄLü‹{?Œ5µV+8‘´ÜÙÒß]ÿ îÙÊM;ï*s&£¢ßùN‡Or7ЉtE¢* Öà ß:/dŒ¹§¦¦®[·ŽaéK†aÖ­[—ššš'#\½¬ò ¸+!j0siGÝDãy  sW.õqs§&cC {­8òèÝÛ f|¹×~Znç0GGÏ»ÿçÈ[ݮώ'ïo˜ä•z|t³jžƒNþ3nJr8y‚9*npgi1Íd$g°—?ÿýÉB‰SÓhy‹Å˜Óˆ×`ã°°ðð°ððð—¯"^Ý]PC]ñbVjùj‹Åâ   #FREQÔˆ#ƒ‚‚Äb±Œ¼pJU¥Á··’qªtØñ ƒŒ˜˜›AOtº›×ÙC!”\ø]=ø–Ý7ï}áÛ®÷ÐZw÷uϘAñ Ü[ qo5`Øþ¶îÖŸžÕjˆ…œfÌBII‰::‚¤¤ÄB×.“’³ó’B;'Q­s¯ÒêÕÔȹp”ëÈ=gÄá›×4£wœx×Ò_—™!Äѯæ E]¿úY£{ ~ÎoC ³9—³²„Bá©S§Ú´iëææŽ1Ö××?}ú”P(ÌS¡c¢»Jƒ#÷ÒBjšZhÆ]ÜtðñׯÏ/¬1ñ’¤Ð]‹Ôk´ðð\û«£z®OáôW»Vn9qãÉË·¯_=}ù¥anª%÷tiža¬ðÁ{ÞdšžÃ8|ÛЩ뜃7_~ùòúñÃwI Î9Æ‚òäá;ü3Â+åÈ?&ï¼ùíÝÓû/âhLjêi1Q!GÏ^ ¾þ6™ÅÚuÇ ´M8Ö§ã¤íxr|÷®à¯EŠd¹cŒE"Ñ©S'õôôôõõO:)‰dæ¥(ÃW¨ê‚à^ZQ“{&»=û·‰kÍŽ‹Â\F¶.d¢ B!u—‘{ÿkþeA×i!±,BLü“Ý“»5õ®íÕ¸ÿúO –œý¯…¾Üßùb;NHˆ eïíÙ„BQBB|î÷Ô\§ž¿¸Ä?娔¶Þ®Þ'o8™‘yÛXœã÷AŽ\«GBþ×]íʼî¾nµZ\y<"™% § rz»¦Ÿé^§2kÔ˜qéÒòŽü½êûv½âȃ¨t¦˜2¡¼•žI$½|æå㛜œTxÒÜ$ɱ#‡ J¢` $`ÌÆÆÆ>}òد±¿ü”Á—.Ø»*ãp¹,ÃÈ<²‹ý²Byþ÷q±îÊJqÚ ŽÜUwU‡åšŒý“79ìóP1ZËåB|WmÜU.à~î@•¯‰) ®cReÜU†ƒñJšäÁ]Å%&$ˆD¢².()ŽÎÒÓ$E…1[âw„e ‚»Ê"âóxééiB¡°¬Ëʘè‘HWæL*  ¸«,gccûàþ}ïzúY"Oº—HJäqQ%c\±š1Ë*ýy‡4%yôྫ›·gSYÜUÏ·°´dX64ôqbb"û³I’äòx…§+1| ýrÂJ½°žär¹e7‚A„òC0Æ®îîFÆÆ::%/”ÜU™†¦¦½ƒ½™™MSñœ›â‰ô C[[§¬ JwÇãñ…"øé @¥§S@ApÁTwPAÜ@Ál•%½ZG"Sõ7“Üê!95¾šº†Ì5UaÜUYZjê‹O¿ÏÝÿøé{|Y—”?³Xù 8Žžž^õê®öŽAtWYÜU–D,~þñ÷¡W¼ ôõ8‚«nØ4aÒT9 hšþùéÊå`-mK++ºBÝ(‚»Ê¢(êüƒ¼j9›WÑU‡à•Ä-„Ü›s8[»Æ,öÔÖ΂»ª‚லX–ýú+ÑÐ@"{e£Èó¯!%‘TÀ{REÁOuUF3,I’ŠGv33³’,(=¸0ˆ@,‹áK_…Ap@Õä‰ã¡¡¡NNN¡¡¡yÂ;Bp>U•ApWeê|v«ŒòDöæÍ›øð¡yóæ9ã;<[åApWe$AÐ4SÖ¥ec„ñÓÐÐV-[Μ1#>.n挭Z¶|*ý‚»Êƒ#;‡•úØ P1`Œ1‹š1sæÂ… úôéƒ6l¨¦¦ÆŒ™3Ïž9Bb%?ã ”+ÜUÆfËT*eŽ©Ÿ9} å˜Ù»wïÞ½{K_r¹\†ë–UYe–I¾ÜÉPÔäPtî:ÙIXwí‡Òšì‹i*ªÒóZJþÒî°ÕÛôYæñTFèd'a­o‹þÈR6×p&ùãõ³{5°533«5'<£È‹å_¡se˜+ *ºÊÜeãY÷\µcA qiý†!t¼þÝñßÈjê…¤“¼]^K¯úœ}ù¼|OþÌx¾²kÏy—i¯^-þbÉ <ÃX©ÜU ËptÝ[t,ͪUmÔ¡j)¬‡ ·Pw›rñå¿z"òë¶Ð¡¥P Pú²‡eä§)€²Gî†eR®ýcéÜwöäž¾ÎæB¡ÈصýÂë1™sMpƇ£“[Õ²ÑêWõh=åè»´<»Ž;×ÍT/ðàÌAêãz°Ö²7™Ã(ô—­¾º–®'ç–aÃöŽkYÓR_$²ôh6ábF!úó>†uæ¿c¿¬®o$ „vgB8þÑÖ‰jÛ „ÆNÿžù^Œ±$RC_ć!xÕ¦À‘;ÆîªÚ ¸ç’ñýÊC¢áäíçï^?<ÅîñÒóî§"„Øßç‡4vÃvÌû/ ÐiQhZ®œ„n½þþ¡ûoǰ!Dÿ¸rü#øxòJBÌÏkA/E-úÖÊõ¼ùŒ—+[øºd8`Ë•GOÎýo| 飬¹æ½N†e‰L}ñ2âÕáÎÆ„ŠŒ­Úué¡Ë׎ήùvãàI—c ;übh˜Qé(ÛMÃ]eT ËäF¸ôŸ4¨µ›õä¶ë=ùEÕ3Ü;ÿœ`xÈÒ^nê9ôŸ?qWÍU{žO÷¬«‘#§È«o€FÏ}wã:µ7`£o‰ª7zÜ‚c×µ6'bn|®×zAMm„þ ¢'ß[±þyÕq·6p×@ÙWIvÐ^ñ !„8ZF¦&">ɘ˜š™©#$ÍFØtž:¦«!ä8}ÀÖ³ûn}Éh¡¯ä€‘ÕJˆ¡éGËOãפié”î"µõ5I–b0J{}õ ýùU#³ÿIè°…ù¦‰y‰uújv;p?¾] É­ H—í;ý:¸îÈí˜>]È[žé¶ï®õÿöî;<ŠjaÀø™ÙÝ$¤„tÐH@E:Ò"MD.>©¶+XÑ+"*^ÊUÐk¡HõR,À¥ãµÒ{GŠt !ÙÝ™ùþ !¤LB {öý=>>ÀNvOxw8sfFd›é´ŸÜ°ãJ@“¤êùÖ9ß`Us䆒ÕÂü‹;2 ñPžùosùrré e…¸ÌÐ]Ôy{Åœ‡Ã²¦±,ÞÁ¾97ô½§_Gßž³Ö_lxmÎÁÚ5 ‹ºòp¥÷æ®?߯˜³9¨ÛÛuÊåx^‡³è»Öf²m³Þ²ZnÀFÚµklÿédGÜ ¦”«\¯¢øbÅnuÐ]Qù¾a>õúvöé9sÕªô½±½›«¶€öÝÂ&ÌYµBÛüð›q9öÐ=«y^úuÅkMoÝyW,6‹Ð̘£ðŒ‚ÛqHµt†ƒ2ávq¿zdç¶­2w{-~11M¹:ýŸ½û³×†utù¿5­ê}ùÐÎ}Ž&}ªæ™sKï„>útxýM¯˜×LJ¨BxTéØ%àŸ£^׃Ÿx£fΕíJ`‹çúDvßëé †$U/w~ÓÂÍÌXc£lÇ—Î]ÕÓ»²Ó{[ßö ÎäÃûŽ^ÑôÓ'RµôsûwnªwÅÕ‚YB# 3K!…a8N…s—ååvqß3æ¡ûÆÜøi£/wÉ{ãLÕ-ú)xô«ÿœÐÎ+×|+ÆÕiÐ#±On[zÅõê4yRØË-3–·xVëÜ1ðƒ‰^#®~Ë'PÊ7{oõÂÐÞøä©¶¯§ÖlÛížÚ¾Û3 lýÖ›{¿Ý«ÙÁñLþþý³¹0.­vÿM×vt؃‹„5^ýyų1n÷gA^&N@e»ô”Y³fµ»¿€ãæ?®^uÇNºÆõ]ÉÅ Þ›µ¾{‡f÷%V´ª¦vÐ"##Oœ8QÒC‰úðý1 LMMBìܾ5¼bTpppÆC§O<þ||ºB‡Ã¾pá‚g½–ššßÓáNbúùóç·lÚØ²uÛü·\¶|ëÜeæåaÕ ]×ÙGs/YëÜ«ÅÖ<¸ßÙ³gœNç‰ãÇ>Tï®{¸´Œ›àŸâ€lŒÌªž^žuëÕÛ±uË^û.›ÍÖ¢U[]ӌ̫BÒw¹±çÈçÆy¨^ž^uëûúúÝת¦9íöô¬‡ŽÂ_b®ƒ=w@69¦]<==êÕOenÝÍwÜÀÑTI˜Xç.„a±pŽ›Ì˜–‘–¢(å—:›ÍZ¸u¶(ˆÍj£ïÅËjµ*ªÄo©’X?,<ÜÌY¥¦âîp8*5jÚì¶G¸-&¯Àjq wq w©Õ2]… à²‚[»pþ¯·aÏ$DÜ@BÄ$DÜ@BÄ$DÜ7EáseŽ¥ŠIŽ gý”Kg‹Ìw£ß â 8(Š"ÇÁÕ¬‡î˜¾ësçŠÓ§ÅâÅ¢cG¡>úh)½°aÜøM¾ï†þé§âÜ9±oŸhÞ\Ô©£6iR´$în[fÙÌ»(dü@BÉHüÐw}Íñê«Êo¿éQQJùòƸq–ãÇõ ÄèÑj«V¥:”<¯¿ÿ¾1a‚rò¤Q§Ž¢ªbþ|#-MïÞ]ýæ›"¼ˆÉ9÷ÔuÃk‡dýZå®ßøîHqßWõêÚǣº.½œçÆùùB¢ÿ¶öj1¿p!Ý!ÃîÙöÙ3R® aBÉüO϶YYÑ׬1zõÉÉb×.˱cê®]–cÇŒ]»Dr²Ñ«—¾fMi "GÍo>2¡ÿë_ÊË/+]º(Ç[vìP·mSSS•™3Å÷ßë½{áÕ s@µRÿéËV®^µlÉÂéï÷‰ØòÉSý&ï+áÛf_Ûøb\HË/Ž9¯ÿ\ñ»wÄg?çU‚¯i?ðQ£°úÿؕϷVÃ\Âͳ1Ùƒ’úŒž•ý¤Ì«¯*AAÊÚµJ\\Ö¯)qqÊÚµJPxõÕ2˜¢E1þüS b¼ù¦:y²™õ Ú«—X±BÌž­O™RØ'.Ì´ŒwÅÚ ‰UmBѰiÿ=‰ýýtzpÍÊ¥9µãQé¾n•Jñõîìaw’\wÕ›§kÊ„>w®úÛoÆ®]JHHއ”ñÍ7">^Ÿ;·4æß3fÞoýåÊ•…ê¨Q·>¤6o®#†ÏبfXpxÕ{º½²à`êõOjíÂÆ/†vnR+2$¨b­{Ú]pÂ)DÚ–‘uCZ|zäúþ¸ãð'-‚ã^Þtíæ—Hßñf½èvSÏé;GÔ  Žè±âòùÇ¡‰-bÛŽøÇபW «yß ™ûÓ®©vqóC;Ö«ß°]·¶Õ«ö^uå–ï!—±9~Ö¢b“Ñõ?'´¬œ4ã”&Òw¼ywì£Þî×¼fhpHý—6¤ç0×Vˆp—ÕÌÌ©SZTTö}ö씸8=*Jœ>]ʃÊîz/óZBÚª•šžn9R¨ç,ô^·¡;Ó/ݰàÝ¡?¤7ü°U¨E¡ÿõßgOËÓ?lüײôð¨­ÊOoÝå­Ÿûþ™®#tûè‹÷š„+Žüq>ÔÇôljg­–ÿÞðõŽ}w X:»g¤Uõ öÙg¹µä-+Ž´{yÌÜwCí;§~öùÁw5_òT´Õ~ðß}úÈ÷ïÓ~ß ÂÕ?~ùò©G7Üúô¹ŽÍê÷ØüMµ'=ôЂÖs¿^ÓCñ µ§Zòo‹¿þʧÏ¥œQVñgq puN¹Üôw¾,ú~cÑN,BˆáÃÅðá¥4 \åÖí¾¾ºbÝ:¥JóÏY˜¸ï{»AÄÛ™? o6tƧU² !ì‡fŽ^Zþ™åc«ë)DõÇG=7ýÞñ_ïqWë•cÇÓ<+ßÓäî¸j^Jµj¹pæÅV>´b¨ŸEõˆˆŒŒ´ !„qÓ!L%üþÁC©ï%„¨ùÜÐϦ¾úóá´§¢•Íÿ¿ý®wÖ?Ý8Ü"D¹š ê‡Ùryv-÷±ù„D„ØT[ù°Š‘‘ž¿æBˆè.Ãv‹Ïøã|± puYËcò’1-s½_e±fFŸ0ÁøðC˱cym Uª¤¼ø¢:lXiŒ&·Ï˜ËŠDnoÑÕ«B¥aÃB½Ná¨.™Ò+L÷š8õµ¶áµJÝ»z¿óèĤÊÃ#*†WjôÚnãòÉd§¶èî#ûU]ÿB£Ú­ž5íÇÃ)z/QdŸ oUsè†pžÛºùRDÓz,ùE‰Œ­ðÃ\bbçýzÏÊj5dx¸zü¸±{w®»w[Žáá¥<¨ìn¼?¹¾EkÖOÏBí¶‹ÂÅÝ»bí„ÄÄ{»½=±§˜=ìÝß/_?®kN]ÄZº~ã†M7lÚ¸iû¶­[&·ðBX+v·fÏ/sFµóøqÔÃ÷$öúâ{æÓ•Ðﳞv9MÓÎ7Ìol¥8 @¹îe-‘,Cê£=zçÎåxÈ8wÎèÑCoܸ”ÎfÊcjH9zT¡çv@Uÿé'1r¤?¾°/U„ªj…VoŒë’úå7¦BÅ;:1BX¹Ç™%<Ð#ó›°ø×lÓoä§«6~ÝÍX=éëýéB±Ø,zÊ…kyì+g«¾b±Y„^¨DÚÂkyù~é!3¥¾ulB(«EÜv– 5 Àe†ÈÖ‘ì§ !ô̬—ý…fF6Ο7Z¶Ì¾ÿnìÞm´liœ?/F.³†0 %:ZLš¤¼õ–>p qâDÖƒúìÙ")Iôê¥r©Œ(âj5¤Ãè1IM2aÇ5!„Wü“ïÒ~~þá¡Sÿ¶}÷ÖŸÏürÑ!»Â~dÑÄ)óWoØuàÀöŸ–,ßž¬†Fû[„Gd£Ÿ£ÓÇ~µfëÎÍ?.˜òѼ?2znñ òÑöÍÿϲU+7œs !lÁ5Âý çÿ²gÿÎ-{.h&§¶xa@ìþw2eùÖCG¬_¶ò°#—$ä16!¬±QÖÿýfõλ¶î:SÄ8›àò²õ=#躚FæyN%—"µU+eöláï¯ÄÇk•*éññZ¥J">^øû+³g—Òª9vÛož„Q6ÆŽ5¾ýÖˆŠÒôÄDÝÛÛxì1ѹ³:kV^­ˆK!-]ǾÝäÏñC&ïIÂ#ö™ÿ¬ùøÉˆ­“žîܦy×Acfý|$c Û¸ºwÁ;OvnÙ¨q›Þïm¨þòÜ}*Y…”4æ“§c7¾õH›6=†ÿ{G…–ÍC=„¢\€ڪ߾üø  ÿ;£ !,‘Ýþñb£“㺷hõèˆY‡Ì2U.ñåù3Ÿ¯¾mLï¤ : ýzOJ®›å>6!”À–o¼Þ^›Ö§eˇ†~¶íJQçâM@fß³ê•ñËQö j«V꯿êsæ(/¼ "#•_4æÌQýµ´¯= òœ[WÿþwËÉ“bÊå‘GDB‚?^ùùç¢]{@¡Ìš5«ÝýI·7Ò;šqáÛj ùf×Ôû|P,r¿Av^k —½b½*d7È^¶|…ô×s7.m^²W«æÁ0€’•±CšÕ¯?us¥þVHyUHû±Ußm±Õˆ‹´œÞðÍØ œI“‹-ýªÞ!ÃJA¿ÈwíÒî5_¿5gÝ‘KºtbË!³Ü&ªô¿Ñ;dÜ’üsîŠ]îsî(-̹€›"î !â"î !Vo(´è¡Ì±ç"î !â"î !â2½ZÆ0ìv‡Ãn×»* ªªà‰¦E"IDATZm6OOO“Û›‹»a\KM=täðúß?s挮›¹# x¨ª%,,¬QÃFñ ºnjÛTÜívLJ­]³ªCÇÎQ•¢-Ëí³d†Á…FÝŒÁoºûqÏßtMÓŽûsÕÊå>åýb«×°§|[:Sqw8Ò7¬[׾à îmxÛƒZtåÊÿ·vm\|3q7u@U×3gÎDDT¼íáŠ( °‚Ý‘žíVµù1»ZF×5Uei ”%M3;%E¯À•äuòÌÆÝÛ€Ë0wEQív{‰P\ 1-“µüHOÞ¾hÚ׫Ž;JfHŒ"õà’éÓHu»µPÜœª¨šÓlx‹2ç®Yõá+¯~¹/­_{ÛŒ+?9òã —9Q€{ñôôtjfÏ!-¦ªÎcS;DFF6¿?·O#åàâñú5©Y¹ö½íûž»õ"§¹@I1wEQl¶üNwr_2c—w„ס¹ ä\[¯_óz§–>ø¥\Ò°qSgÍøäµGbÿûùN­Î;Z&; ?³S³]rÀV㹟O<—íAÇáïfýQ}ègíç=9wÞÞ᣽²ÒÿZ6ràWªZ°hDCÿŒ’Ö»wiзýë/¾÷Þ…ý«îNjXÏÅ'zêKÀíÇ´Œý…sŽÄöìÒìÁî1§ÍÞ™zã!çÉ¥/¾Úïýa™eBÅ«ÆßÞÿ{-móç³÷eìè©êÕº~µÈÈØ»Úô½ähZÆS矟'UoóúØ¡êÇDFÆ=µúJ1 \“æ,ö9wC8ó8J›¾ï›ÿœ¨ÙóþHÅœûaæ¶«Y¥îþïNØòÁxŸ_dJê+Ž­YÖ)„óÈ´¾Iƒ¾-÷è?¯ûmјNöÿ—4`Á)çõWNÝûî¨ÇÇÍþÏWïöªför— §æ4¹e!öÜu-×*×vÍYp¦VÏû#­ÂÓ©{ÌÅ¥36eî^ëi—.9…TÀ­S/Ö€JB\=—¢‹´ŸOüÝÿ±O&>ݲVTtvÃ?ùg{±j¼Ù&å›Ô£u£Æ÷wm[™s©¸)ÅäÉ©Bóq·XòxÒ”m³¾?_»WRE«ÂÓñ¡˜++¦ý~)cREõ °Šäã—ný¬Ñ’O\Â7ÄGÕ/íÞ|Æ3±}ßÌ1ÞÝ¡¦8úû‘2Yk w&O¯BL]˜»Õ–û.ó•-3—œ×v¼Ú¨rddddd•Öã‹ÔµÓ~¹±—ï׮ޏøã{Ss|óÄê B­'GÝúÙ¡â3 Ü‚ékÙßÞU#yÃô)‰#æ-_™iÙ¬çj¥ÿ4uí_ºBX#Úlç{æË—&mº’mR'ýY#ÆîTëõ¬–§°ÔJIß¶|wæT½~i˲ý¢j“˜r·58n:î…[‡˜ƒqñ·ikõûÆ÷n”õ)Q£ÂÀÆ“žŸ¾êL×^a íðÞÄÞ{ŸœØ¥ÍΧŸíÙ¢†_ÚŸ›~ø÷¤…{ý:Œûäñ«¢\ÝþO×›ýÎÀ窱cUmÏ‚wž[béôi*V!Ì;7à°;LμßNÜõó?OûÕ³ÃW̓²ïÿ[BÛü_¯þ3–ìñx%«–Ðvc—­l:eâçóßôi²Cõ kþĸqƒ{Ô ¼¾vÞ#öé9KÞyýãgïuÑ#"¾Ù“ÓW mzGÞÌ\Ù¸+Т弦Üeö.·nØîËýÇnÚЯv×—&w})ï§Wýâzßkì­ã‹î¿òD“ƒd(ÄõÜͯ¯”€X ([^^^Bp›=NzzÎk3æ…¸€„ˆ;¸MÓTÕì2B“×sžžW._¾QnËÁýûÂ#ÂuÝÔ}èL-…´Ú<êÖMX³zeHhHlõš‹[¬@×u==ËÛÈÆîp8¬û’͵ԜW8‘ÏåË—æÏ›×¥ÛCv»ÝÌö¦âîééY'!ÁÏ¿üâï¿?}úߺîwÈSUÕÓë'›Õj-«ÏuE†l×RÃÓ“Kl'«Íf³J»ë©(j—nÝjÖª•š’bf{³'1éº^-¶z\\¼¢2M/3Ãô•+”&Ã0ìv»É²‹B]~Àžžn7½ P†Ø  wq wq ÝÖ˜”&Í©éšf˜¾. KSEµ¨Kž2 ñ×íBŠfwon—¢Uñ÷QCý,ænÄDÜá´;Nœ:±sÇŽ‹.”õXJœªªþþþµãâ*UжyxܺaˆÃç'Ï]ÚuðÏS])ý–2‹E ô©[)%40&Øf¦ïÄpº¦8ybÓ†õ­Ú&EW®bµJþ7×áp=|híÚ5º®W­ZU½eÿý¯«ú‰³7î:ôX»ú±•Ã-Ég˜íç¾#§¾Y¹ýžøª~^A!~Ÿˆ+ù@šæÜ¹cG«¶m«V‹-ë±”›Í[£¦!Ķ-›#+V,çã›cƒ )ÎÝëÝþ®š1e2ÂRæa³Ö­^I×õÿm>h&î’Ür0 ‘œ|©r•ªe=R iº3çÝ›…¡‰³Sb£ÃJTe(8 ¼Csšº&$q\…®ënrAÖ,ªj1 #×ë†Ð4Ý*ûlLŠªêºÙí1-¸·º²[Æ7›ÿ7ìVoHÝÜwì^Ÿ{€ë’þ j^òZâas¯Çq\ƒ¢(Üf$;UQœN7Xâ^Tnº/¸¦Ü' ¥¥(šžßç™nª[½!B˜ÿ®û÷_Q«µ$÷MµsËžoýÀÇ{"“†¾òïÖqìG×ýgÒØþ¿^úÅ3úUÍåŠBÿkù íû¯ŒóË´>UrÛ t¹îo.à^EÉkÑw¾Œä_êòâb¥×Ô=ŸöŽ-—¹ö¤Ë#B”ÂBÂë/P” !òþUUF }úÙoõþxO­—ÖüøN³ÀŒ‘v]{÷hÒåÞáú6mºfH5›ÂÈøÏ0 COÙöa×nS,Cþ»àùïV¡ž“i@jú©ïF}y2äñi“²•=›´õjT-ÈËf³ÙücZ œ¶'ÕÂqðÃú!‡½òTR\¸Íæ~÷“_í͚ıŸX1ú‘†ÕCËÙÊULhÿÜ¢N!„qíàœaIñáål^!5“žŸ³?¥8ò¦ke1¡ã<¶èƒÉÏLy%³ìB¡”«=`ò[u´u¿Üvó8ŽÎz²Ý+t™¾llë ­*stÍä™çÙ\ݱp£Ա߽þ¹¯W|ª´ð¯ÿßwï·9÷yÿG'ì³ !„viãÒÃ1ý&|¿nÓÚÏ»§Ìxæ©©GœBíÌ¢Çïé8)¹í›³Þ¶aá;×¶ ýÜ÷O4}juìKó·ܱpXÀì¾ÞÞ˜r[ß­BMÏï[væûhÑ]ÝþíV”ôhbÎKÚØ¢èYSYöË™lŸ9Úù5#:<ùßøW|þh%[‰ è§é?LË.ÃátèFár¦_>u&MTôÑíé¹ãS¢:=Ñçú㫾5wzß•;/¾PÉ®JDû!C¹»œ¢Ú ÏMúìåÕ{/?áyèë·Xû/™ùF3?E[]a¿ºû‹×¾-?øÇ±½½„ˆyü/~–0îóM#º! §Ãžn/|‡NG8ŠQü»öúå³" Ê÷Ö7Íð¬ Ä™“ç¯ÙÃ=…Ý¡Âñç¼Q«”kórç*VGîorqq: ñôÄp ªª…ŸbV<=ÄÞƒgíFíÜñéÉ[¾~ÿ£y¿î?züØñÓ— Ñ(Ý©_?ñ?sª\õ©à­j§n׬ýÃëîw|oJÊîûœGö´Ÿ”1 ;†GäE§‘㉠'ÿ“r3nZQ“ÛŠW`€Múó‚Ã0r¼iŽ‹Ç.áê«™¿Öè~Ó¾´'ým@÷Ñ1Ë_oXÞÜ­4ФP'åwÀ5¨KQNbòŽëTW,[þÕÏš· ¼µ;ŽC“»µ~5õÉO'n[-XüÚ·ú#ÉÙJœù£ëÿ3 Ãp¦;ÒTçM14‡CuÞY5·{hÖT¯Å'ÄÇÐoO-|„óÿ«U-©ã©Þu:%ˆ•«ìJiÜÀ;ûŽcËæï•†5 ±dÄ=c$á]ÿõÃ{§îñàÑ¿ÎìãYCBò“Œ9wÀu…§V|ð•G*$Ï0xæÁT=ç£Î³?ÎÙä×ó÷z$FúzYÅMûÙÙ·Ì|y¨»"Ûn¸ý¹„WåzÅþå;•°È,áÂ0DÎ'*=ÿœ·ñÔù°D<0´“ï©O‡|¸.Y»ñË×öOöÖ6õî×öÌü5!„aëÖÓ3ÿ38bÙÎ#Vœs–È 2覨²ç¸ ÃÈou`^Z¿?ó…Ž{öîm ú?Õ½E|dy#ùÄÞ ›ìŒz®FD´÷…ÿNž½!*Ésçü^^n7ÝX¸˜í™?õ¨ÑgP£‰ïóp…1#û´ªå}ñxzå{âãŸzöîÏ^ÖíÙ˯ÿ­iUïˇvîs6éÛ­šêì£üaÞ’*uk·lU¨ZÃ0œÎ›ÿpËùë·»÷I¶Þ·U­òiGÖ/šüÑ7»üø×—ý«Z³²ž5 ſٛ‹>?Ö¢ï^•V-VÇ»¦g Ãp8µ>𲾇â}%£ˆû©Šã×–nùö½'jœþnÌÀ>Ý»té3dô¼}ªŸa×ý[0í¥„­#ÛÔ½»û»[ãˆñÊJº‘í³ÖsÖ*ý¿Yýq/Ï•o÷jžpOçÁãì¾¢¶ØgþoJÿˆ-ãÿ¯ã}Mxzô×?ºª†-¦çß ýõí¿õû»?í…{ÁïI QÃ:þsí/Ÿ¿tïÅïÞéßý®}_þj_•ÿ›´jÝÔ>•m70ëÇÖÈîŸ|ûV½­ov´à„£dÆ%L¾+³fÍjwÒmý‰PÂìvû²¥K:wí¦ªn´Cf·Ûç3¯}ûöþ9Ú}Òñãºmº5²YÜèâ3ivçG³~éÔêÞºQœ»lù ¦e×`±ZuM+Á¥w |÷Q=lMÓ­ŠÅ]f!,q\GI­¹CY­Öüûn¸Ù5=¬óß.q\†»µLápp“»½!é³'mwÀeîײn÷igq\Fò¥Ke=ŠÒ£ëzþ:¾xérH O©§ÌišnQÅÜâ¸E6«55õª¿¿Y¥ôœ={Æß? ×BÕð°Z._³xßú¨¬ŽžM ôµYLÕ¸.@µXªV‹]¿n}£FƒƒCTKÁ "N§^|Mt8Å6bϤ a·§o\¿>!!ÁjË%SÞ–ª•Âÿr sÓQ!~½s85ó×Ë-Pº]+®7Ä"Í^ÀLº"”ÔtÇ’ß6¨[ÁÇÔrX⸋ŭëúÖ-›“““󪶢(6¢ÜÈj±XnÙA6¥Àf<<Šr!UU­^Ë ‰‰¡aaåÊå2ñêgI lP7vÕæ#g/¦hy\WUO¢TÎjQ­9?0 CüR.·¢Y¬[A7–2„hP7¶bh`°¯©Ë‡wÀ5Ø<<ªU«étßNt&³ó¸¥HQ«ÍškÙ…Š"b‚m~^B+Øõâ|?E¨wÞ»!„°¨¢‚ìkaÎj±z»ð}O‹™¢ˆ?Kˆ_Qo-+;7:•Üq wq wq wq wq Y…Ë–¯(ëaŠÓÿ˜ê6ú}ä:IEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_cmd.png0000664000175000017500000036013012142400477017625 0ustar balakinbalakin‰PNG  IHDR âìHgsBIT|dˆtEXtSoftwaregnome-screenshotï¿> IDATxœìÝwxUÀáß¶l „ÊB*½…šôzA‘ŽREEš€vD@" ‚ôÞ{‘Þ»"½HM¶eæû#’°dSÁó>Ï<’vf×¹wÎÜ;w4„B!„©Î`0`µZóœ={ö®Þl6w(\¸0Š¢dt\B!„BˆWT¡B…8{öì›Z ˜««kFÇ#„B!„x…=~μ¸pSEº_ !„B!ÒZV- ɇB!„"]è!&‘$D!„B‘Ö¤D!„B‘nb[@„B!„"­I ˆB¤±ñ'ôZušµnKxxø3ó{õéGÐkÕ9zìxD'ìùéçi½V‹—dt(BñÊ‘!„HcZ­€›·nñÃÄI|òчñæk4šØÿJyœ9<ùÍä7BˆÔ' ˆB¤±'el¶lYYºb%µkÕ¢RP»ËIyœ9<ùä7BˆÔ›€<¹'„"mt|ã –®XÉØq_2oÎ,ÜÜÜ]VUU6oÝÊoóæsåʼ¼¼®_Î:¢Ñh˜9{S§Ïàvmد/Š¢Ð´u[îÝ»ÇüßæàëãÀÑcÇéÙ§/þþü>kæ3彪ªìØõ'óæ/àü… ˜-¼ à­7_§aýúìٷٿþÎ?ÎcÐ(V´Ý»v¡X‘"±Û©T½&AåËãææÆ‰S§0›£©X¡ÕªVe݆ œûç—‹—.ãêâ"u¢B¤!†W!Ò‰³‹ Ã?ý„Þýú3~â$>MÐ žÞyŸ¿h1ßOøƒÁ@é’%¹|å S¦M'22’Þ=ºÓ¬qc~ž1“í»vÑ¿Ïûh4Ž?ν{÷رs>Þެߴ €öm[ÇÛÇËW­â_}€wüF._¾Lxxªª²bÕj¾øêk ÊŸ{ö²wÿ¦MžHñbÅb·uàÐ!ræÌÉÇؼu›·nÀ+W.…‡³}ç.¾;&Eë;ž7n7OŒNNüsá‹—.#$$„ÿþ"OžÜñ¶QÀ”UUÑëõ4¨_¥ËWðëܹ¸¹¹Q¥r% z=þ~¾¬ß´‰¿þ>G™À@|}¼í^` @«Õ²ÿàAö6‚ü&V›•›7oáââBÿ>ï¥í•ˆ’%JàááÁ…‹iÙîu|}|8vü¸ÝÖç1t~»3gͦw¿þ+R›¢pñÒ¥´ \!„´€!DzIXÖº8;3ôãøà£ãÍWU•ýúâïçÇêµë¸pé"çÏŸ'wn/| ÄoÉ(^¬(òççêµk׫»ýÕ^cƬÙxxxP£ÚkÏ-ã{vëJž<¹Y¼d—¯^åÖí[ (ˆöq2ÓáõöäÉ›_çÎã⥋dÍ’•õêÑïýÞäÈžý™ä&=Z@Ü\]ùyÒD~˜8‰ã'OrúÌ‚*TÀl1³gï¾$·Ê¨ªJ.ï’+G.YÂù‹qwÏF½:µY»~ƒÔB‘4sçÎU4h€ÑhÌèX„â•d41 DGGc±XâÍÓëõ8;;1£NÙl¶Øyƒ½^ûVnUU±ÙlDGGÇÛ†««+Z­6ÞúZ­WWWTU%<<ü…1  Z­UUQ‹Å‚õñ3z½''§Øç=l6f³9^ò‘%K–göçææ†F£áÑ£GÏ|Žªª¯§Õj1±ßÍfC£Ñ Óéb׳·mgggôz}¼ï+áñÛl6ôz½ÝßL!„ãV®\)- B‘Ö¢¢¢íd±X½À5›Í˜ãŒî”{ †Íf‹}˜=)^´¯çÅù„½ýÅM ûÌÑõl6ÉŽ)îH_O$õ»B‘r’€!„B!Òä!t!„B!Dú!„B!Dº‘!„B!Dº‘!„B!DºÑ¸¸¸dtB!„BˆÿyºB!„"Ýh3:!„B!ć´€!„B!ÒUÉà0„B!„ÿÒK!„B‘n$B!„B¤I@„B!„éF!„B!Dº‘D!„B‘n$B!„B¤I@„B!„éF!„B!Dº‘D!„B‘n$B!„B¤½£+Ú¬6› 55ãB¼4 Z.iELZ—'/{ùìba«ihÔ£×?Œ9ý ¬Þœž_­â\xÊ+凛ڒÍX—a)ޔⱂƒƒ NR’ÚVîŸÉ€i iQ³¯•n„V“ñÏ£é´zj6£M. ˜Ö•ûgftHB!2hs4«Ö¬¡J͆\SÙ) Ïl®ìe‘GܘV[¨Þ³5y_°©Ü~c×þýìݱŽùãÓÚÿ:ó>mIñÊÙx7u†M¾ö½o©üd.Kï!b=I>îß¿Ïýû÷S' y^yGdô#†ÿö&«L£w›a¸fqáä¿Û±©VŒFgj ‰?µë“êñ´ëóÌ~ŒFgl6 §oî"k–¬ôm7š5‡f2ü·7‰Œ~äX B!^Ï©7:ˆÉ¿h \»oÃ'§ 6œàסÁü64˜Nà™ÅÀù;ÐÈPš‡¤k8qd7¯%V?¤°K,EÙ´¢¨(ªšêñØ“Êý´¸æÊ€£¤xVÂøÎ3¨÷ëwlú®¯{ÙÉ@"ñA©Fn…qÓ"¶^x€Sžò´ø ßõ¯FÎçÜPUîfÆGƒù~å^ÎÝsÁ§l=ºŒýžÁõòáu”!%‚øî @? ºôô4X~“ÕÝQ#/²â‹AŒ™»ƒcW51*uþ…E#ÊáêÐñ ñr0tèÐ~ýú¡ÕÆ4œN:• &ÓjµÏ|–-‰oU·Wž|¹¸'ÿÜ:Λ {r'â2û.íÀ`0â¤w¦UˆRùGQˆ¶D Õèp6¸QÆT7Mâ°*Ñ„Fü‹Ù…Ù…N§'«k6\³`4Q56ÌŠ•c·×aÊRŒNÍú°úÏœº²—!m¦:BˆÌíy×Å«BxTâêf‹‚.‰E¤´˨xr8±X-(jâ;µš­¨¨(–hÌæGa± ªÍŒÙý̃(ª‹;΄sç~$f³/ÏlFQ!oõV4 *Œö;9®–¢Ùwß²»ÇO”±*€‚ÕÙ³Úƒ­£ùá´?Cö}ÇÛ%h5j!{K1àóÅ ­þ¦ì9Éá¦Cë”\^^äÖ˜1›Ã¹ñ×mÈÞ˜ª•KàŸ]Þ¾”Ts4f‡¾E!2'³9åY¬–d-›°ý\—›ê PÎíáräÓm?›+•>ü„úæÉ4ö)IÃ÷¿aÉáÛD¿à;I¦—iŠ=3|΄ °Ùl±ŸÙl6&L˜@xx¸Ým%õM¬‰•'4ÿ‘¦å{°pÃ,°8SÆ».ªS4ŠSWpvÕáäªÃà¢Åà¬E§ß]3µãIH£­^ƒÎ ™Œ è£À`£TžÚ(á.,\3›få{ðAóŽG!Dæ–X½Q _>®^½F9_7²¹èiX­(ú8M z­–Æ5Š‘ÍÕ@YW®^»F|y­£SZÙ‹§qb4‰3¥E<ö8´¦V§ãE/êzšcØYNMÄ›wŸC+N :U –¿³ý}<ù(Áúƒ=Zôš8ÏŨêã+ĶÅ~³1@ó¤ù“í?ù‚ŸîÖµLŸlËÕ‹™?g oWEáÞËÙ8®žòFñ IxÞEGG3þ|NŸ>Ä ?Я_Nœ8NÇŽqqqyá6ó¼ò¤Q¹N5•gÄoàëëO­²8óp3÷ÌPTÎ7åq+ˆÍ3%¶ÿÔˆ ]™˜DgРÓkY{å[ôNZòf)H1÷z<|€óçÏóe§åøå.nw[IG!Dæ–X½Èܹó(äïKEÿ,ü}3š¶õJðÆçkh[¿$ªªRÐË Åjá¯ûy³ý‰Ö)­ÇìÅ£Õjbž¥||íœñØãxê’È]Á§³cÛ(ì& jœåžÎµrkó|¸ø^ï|@-ÏD.v8 ˆzŸ ÷•ÿ-J{jb[HåIáDÞrEq·ƒ£¨Püñƒ³Ö[ìZ}‘ð1ÆlO«×ÍŒ5A€1A­ûÔº=Æ×¤Â¨¯Ù6¤-³;8\—™PÂóÎÝÝåË—Ó¼y J—DUUräÈÁŠËqwwOô[IjáôœòÄ׫S{íæÛ•ï³rÝ2š4lÊ#ƒgB·£Õi˜4ç+"#¢â­ã™ÕËn’’x<³zñÓü/â}æìâLï¢Óé(™³69ô~,_½oLí¹g'·çÜIŽG!Dæf§Þ0è Ô­[‡m[ÖP·^ªvãF˜BVeЮNZrgÕbµ˜Ù°n%9²{2jôçôìÞƒB… ÙÙEÊê±Ä≰(iO' 1ùEÂZ¹þ —ڰݸÊ#[4·ÎãˆjDëj¢H¡\5O׋¼~‚C"ÑG…rãÒ?ß2›ŸE_e(«Æ¾FVì$<]ÿÞáõlܧ£TŽG[8š¾˜i8¥Å*×d±íeáüµ}³SºvE¼ª}@wÿzŒëøù~ìOÝ|80ó#>Ú“›·W5"·FEU ä,’uÆbì¬M‹‘ØL÷xȾé³8c "Ðß cØYVo»žð2ÊÝLñj±÷ÿ³‡‡Ë—/£E‹–,_¾ ç^`[­Ö$öË“§ŒW>mý ëŽüÊŒ?FL¥v”«—®ñU§•øzKõx„BdnÏ«7òå5ñzûöœ8q‚½{vp÷ñж¹ry‘'wÚµiÇÐÏ>å~HYݳвE+æü6‡‘ÃGÆßG*ÕcOBŽ=¢Ñ (JìûžÊI»õ!´KtÍÇêY°äîóÞ ü‚ úÇ3}ޜ̦O‹ÿ-×5¦çü³ôLð¹6{Ezÿ¼‘Þv¶û,‰{e>^qšãmÕ…ªÃ±o˜ýxäRB¼JžW¨xxx¼p™¤Ì"ñòÄ>Ÿ\E™Ü}'߯îË‚å¿%y_iÏâÕ¿SЫ,“»Ï{n—+GãB‘¹%¥Þ0è ”+[.Ñù}ßïÇ?Ž'Ÿ-/·nß",ì¾ãÏ2f²xìq(Ñéõ(6öÔƒòø€UUQäâ_ˆT¦¦Æû)’X09Ržõ.|Üb:ŽþΦ$-Þ4ˆ§x ê–zƒà2oÅì"9ß›$ BñJHëâôÀ¬_g±eËfÚ·{ýÙ:% ëÕ´ŒÇž<„žwðì=„.„H5©qnëõú¤N–'õ;P?°C’ÖM‹x¾ì¸"fqGú¿&'!„™[*\ûùù1jø¨§›L°½ô¨WÓ,žRô HF& ±ÿ‘DˆT—Zç¶Å’´—¥Wyò²Æ#„"sËlõFf‹'¡$ Øb ḏ[ŒI@„Hé}nghybGf‹G!Dæ–ÙêÌOB' a÷ïÇ>Œ*„x5.RŒ{ÏiëEQÐétIZ6=Ê“—9!„™[f«72[< %;Ñ bÐ뉈x„»»»C;B¼únß¾…»»ÇsGáHÏòäeŒG!Dæ–ÙêÌOb’€hu:ü ²ß~*W®BΜ¹Ðê^ž Ôjµ¢¤Æ?Â.³ÙœÑ!¼²EÁfµft/¤fs4÷ï§téÒè ‰3/*O,K¢MÈ6› ›Í–Hjl¿Ô—9!„™[f«72[<‰Iö:oooEáè‘Ä……e轓“h2l@à ådУI£ÁU&SÐcprJ³cÏìô=Zm&?vJâ•;7..n‰.ö¼òÄ`0 IpWE«ÕbÐé Þÿžš˜r á¶õzt:ÍKBˆÌ-³Õ™-žÄhæÎ«7¨Ÿì›•¨¨h¬ÖÄ3)‘º4ÿÑDK¼|4 zƒ>É…RrÊG΃—=!„™[f«72[˜L&JW¡~‡!LÙð7âô‹<4„@SM~Ÿêp­ÚŠRYRtBˆt¤( ï÷éÃîÝ»éׯ/{öìaРÁ©ÒS¡ÒL£Ñ`µ¦}S°â¿-tÑ(~ù;áežBÈ–q|sÔ^hæÒ¼^Ôn2ßþ-J§ÏæÅ ùyôû4ó»ÅšY¹!E×+F%dà :µ–WïC_ŠöDQ<Èš=…-—7°öZnêûñü¦Sn³¨µ/E{ïà…7ÿaÉ~… o7£RéÒ”.á{Øn–ž€­^#gŠŽÇÊõ­+¹˜½M ;ÛõžcûŠ·žz•Mk.cjCw¼ —¤´¿• µ)K¶äß‘Bd>}úpüøq¶nÙ˜ѣY¿n'Ožä£†Ä_PI~_‡4eÄï²!„xu¤Ê¹­Ñ`SRpµŸ¯µ,˜8f-fµÀëÉQäI¦Œ\‰¶Z|vm‰·Jô™Itýp-=ÿ`ÑÐê䈽ˆªJÝéçx4"Ó²zþ Ñ€×;ËØõEni¸¯k[Vr)Gâñ ©÷°ô˜Ê?•æE7ÿ\Æî¨ÒŒ¨”=öî 6w{–]kŸ¢¨°Ýb粿ÉZcÅ]í/âè¾®×wûuúÆ™~r»£äé@‹¨"£3zôhÜÝÝQUOO.\À®]»b—1ô8rÉÖJ…¯˜B’ðRƒÁ€bKA"“¥<ý?o‚~Ë&}ÒéÇʵţ˜~§ÆTÇ#îòêCöMšÆY¿øiHÜä#•Yn²}|wU)ŽÉ‡Òµß`øÚ›Ä¤Zf®múšwQØdÂ/°&í>]ÀÙG[k¬™\·M†Ž¤{½’ø˜Ly­#_o9ÉÎéЬœ?&“?Ú|Ά›1[Tï-¥eá ú¼/MÊúb2P±õpVßϼaí¨\؄ɻ4>\ÄÅÇ]Ž¢ÏL¡gãŠõŽé{_°B †Ìÿ›H5N Ÿ}ÁÀvÕ)ékÂä]’úýçq.nÏóu¶|ßå a2ùS¶Þ»L9÷÷ g÷{E1™š²ðvbÍñ*QW¶0©kj–+Ó=ª@a*4û”wl`½Æ¬&L¦JŒ=õ¤¿”ÂEÍ0™L”ùø0‘Dsú•1™*ÐòõfÔ*[“©E«¼Ão.3«/5ÆýÀíÙ-)üøyƒf‹î<§_²JÈêŽøÅ>kñt*ûñA"žDòèk¾íI“ÊÅð6ùPªFsº}ÿYk´ ˜+`¹Â’¡oQ¯\a ˜L˜LE¨úö?TGìêSŒü¥z°-*‚ï– ¿ÉD©Aûb·_$gWìàañVTÍ‘XÕlææîi n_— Eòc*P”JM>bçGj¾±“Ÿú·¦V¹Â1¿}ÕÌ»lE¹·‡%'<5ëÒª*%|L˜ V¥Û¬¿±Û!Ëz‘Ÿê<ûýÄN fp%I÷"ùkåvoM•DK‘µhÑOOÏxŸyxxиqãØ¿5­#}­SÒ’žîïOžß²úÄ-´¹KñÆ´LmœS2(!ÒQHHÁÁÁ¬_¿žìÙ³§áÞ´ä¬?”+Ô`Ĩ…t]Ò™áòõWñï·‘y2'îâQ³fgþ]š`L£lwXÛ·>Ýv§ÏÈ©Œ+• ÛKDÊŽ·W¾Oý^;)1p<‹§•Äpi-ß HðñP¶,íI€Pplg­GÎeˆé[Çtad§&k?”g¬Ã7z7_uJ¿ÕØ7¥Ù5ü<[¯µgÌô¾â0?vDïFiòѧLXñ?œNM¡G¿A|Tùíó q-Àk‡ÒÞß/ý=ŽÌÎ'ôÄTnýübb8ºå2õ>Ão£sa>9‡ý?b`Ù×XÖÙ½í.ëÓu£?=ÇýÊ„ò9‰º°›_ÂúØ/COöÀºÔŠÌ‹Éh¿öQB·ñq³N,¼ NùKR®Š3¯_àÚ7òdKn†ø/v…§x9ê‹æFtÊåÍ­êÁ…mäÀ5mþ jΊgJ˜ŒÏ©5xÏäì…Ç%Džå—n¯3A?˜y#Êã (¡»ø¼e'æx‡a_- b ×ÿü™~CÎQµU)²ª9C±æ ¨Û95ÜÜ5‘c¿åë=™×À•²#–óCh#=øŒÕ?“]«ÁÉÓ » ÑçX½9„‚]kÇnÍlãöê>Ô{ï õGfæXo\ÂoðÏužZ@åÑÑïh×îŒíñÉ”Ñø¹>àòu#eM:B×-æ¨Í‹*Ù}hôÆdz»\gÉàLôçÞN©„çŒ6M&­ã5‹½›œr?)WÑçY³9„‚ݪ“[Ïâ•äÈ3!ÉO@4šô‚7ò0£Ú~Ä:ÿ¡ÌÞõ&å<Ô<ž’|‘Žž$÷ïßbšfÓ: Ñ|xcì{Lþ–ow6¢ç‘,3vbÑ»…pzt0þÂÖ0®‡Avoϧ[ôi¾lÐ ÿ<}ò<{óùìù©Ú »ÃØc½¶Œo×èé´`:WÎs[¤èã™çYðݬõfÊ É©|ºóÝOç©Þú'¦›q¼j¾Ã[uJã ˜´dâ–Ý4{ï]‚ ¼>‰ukpÓ€ q¡\ÇÎ4.Ÿð£oçI,þå5zöhFy `_ºOžÇ÷^"º}\}šð¶ÏÓ¸KŒdÅ‚^ìü'"&ACéݶ Î…úóÞÌ_¹û2Q½q¾º˜¯—GR{òt>káSÖp#(÷§q#E{Nâ÷ž‰_æKÙ~ÈÒ€oN¡•w‚¤ ™=ôŠÞÎÚ.âU\ŇM%Ö:Ôúú¾o~ͬ…0$a[½F=}žßúuäú³hFWŠºhÀzù½ßå·CY÷G7 :¨¸Ÿ¾K˜±"­Ëf‹9·"4ëXäi,®ð{“‡ÐãæÂîãVJ ¦Xþ|<¯æ4_\Ïú›Þ´­ß~ŬÜeëO« -4‚>jààO¡21³ÕûÛúît܇­aÎÛOŸO)\PÃØ¸ø JÅÿ1~D[¼´…xXÊŸÏúàio‡Ú,x+…w¾Ëç±\ÚÀº}hW+ßËrÇS‘ c+~=]‡5ßáü=-AýЦRü Ã?›6Ç,•I¦Wmz"áçO’ÀÀ@NŸ>ÍéÓ§ $88˜ûÛRSç1ç½ø¢½–Åt¡ûÄÛ>€òYìxº,xe…»çï;¦•SAºÿ¶;w²sçÆjˆJA·°Èó»¸h,KÃYŸ½»y‘= H“ ²Ç)Y³¦ŒñÇÎÜÇÞ+unž¸i¬qâÒá–à 9³Ý›JZܲ»¡±Da]Ån,‘–˜nGÊŽÿñ9=_oJݪe)؃=ª‚Ål³?,²Îì®Zl–˜ù‘þäiP!GŠnô‹tàÝ Îðh}«¤\ãî|þû~n¥úðQ2_bþûmÖ?~éEI·˜_5òÄT¾ÞéÉ;#;>N>õ‡ÀV¶5A1ËYCޱpl/^oZ—ªåŠQ¨æ—üãV™ÆEcÚ8"ÿ^ÉÖû…hYÝë¹ÉX¹¶y5Wó5¢o"é“6+Ek—Áxf5ª´ããéÛ¸¡Ä®eÉ׬ty‡a¯Ûy8þÑ1–쉢Dë*Äö‚2_eׇø4¨üôùªTgåÚ–U\15¢¾ORÒB!ÄËÆÑ‘qSõ†„y‘_ bÌÜ»ò€¬ù‹Q©ó/,QÛ¦väor—™ÿn¥Í㦑‡S¼ò:z<ÌÂN„.©ƒÏ?Ö½Èïìä25™²º“j æ@»\1w¶²¿ÍÖ 3¨–vO !â0tèÐ~ýú¡}üÖÓ©S§2aÂŒÆÄû;)¶TrJãÎk¦ÅÑÏ9Væ3>«Óõò™‹y—¢4­–•?æþÊÑ^c¨˜E'²ð#¦ÈyÀ_®Z´:­ãÂÚÌXÍ ‘‰´6'šÚhÀÁ›D°riæ[4A§ñß3¼–9ØO÷²ï¼x¦'l1‰LJsHkIú-=F“-¿3ã·e¬Ûº†©­aêwÍøaÙDÚæ{ò½¨Ž ¢’2–«,éßšá7Þâ÷?úP&ë“(šV®ãV®º4)çAóGÇX²'š’êC«qr"o¶™Œ¶Ó Ÿ<–‚9ÌlîR•A†V”ɳ k6q×ï-jç{AUký—í+.³n£çtt%pÐrö×[ÏÂßæÇoñë¯ï±fÝP ×X÷ûq²Õƒ¿õÃO/g×£Âô­‘;6²^ÝÄê«yiØÀ÷™„E ]ÇÛ廲%‘aŒsuZΞqpyþQ=ž÷<9ë}‡’† Bd´/ÿ76]öãp¢Ø´Ú¸·M¢8>ºm'{óÙ¬µüZ2×ÿâ‚5&i°wçÏžÈKKÙ•õ+¾_> ýí ”lL§ë¾´òkOÔì+¬nêNiÕÇ[ñ WWW ï3­VûÌg ÙRé­êºÜÍ™´µùóÒd£JßîYñ=?®À²o[ᯜPPT ã÷ôùËÏ:‡Õ‡ïÓ°¶GüDÆÙ‡J>0ií!BÛ4нÓ~v#G£rÓ´„':þuxßIf»ÃŸKŽ’µÍ">mU:æyƒ‡ÉË~ŒÊab Þ£S~/Ç[A¬!œ¿bÃT§'_ÔëÉæKÌn]O¬äÇeÒ²Ovrdø—}û®c.é“ÅÝ[iü¦ë V nÃÇÿ´eöÂATÈ÷ÍÜ:{²xᧆ ?µ”ŠÐ¿š:ë5}òÍa×ÐêdÓ€zË)”ýªÀz­o§^m ¼àæ¿íî.–žÍFÍ‘E^pQ¯'g`zì[ŸêãŽq-J%Pý—Óÿª¸zºØii‰âܪ­„ø½'²rcÛ .ä¬ËwíT¦®å¾b-Ú=}udõyQœ1”{»YzÆZ# ‘´1ÄÉ”7¥JbprJÖãöíMö¾N@,V Š·t çÆ_·!{cªV.vxûRPÍÑX¬  `µDc~Üün¶ØPQ±Y¢1›ÕÇË”áý!Îöd» Xµh5€VóÊw¬æ´xÔÀœ ç—Åšþ/÷s.Þ‡i_ž¤Õ>T;¼„Îï´ Z±|¸F\åÈÚiŒßëJõoóÿ’+’ÏžäxxœÂVëJ¾ÂätŠáîTè ºMfXŽxŽÌë5 ãzÿfï²õð£]¿:Lì?÷~Ð3¼m —×òÝ€Ù„UK·’ét ¦u%o~WB7Í`ñµN³ü‡ál±¨%qNÛÓ«ò$>Ô…Ï-ŸÐ¶LN,—¶°ùª ~O–ŠæìÔ½7/ïJU÷g“œ‡{FÐì%„ésR¨”.aç9~ArS¥bnô#Åê…½g92¼:…¿Ë…Ë£;ñÍ©#äìv~™ù^­†QÅ]Jn çESóEÀ0:VɇõVYŠ’_wµoS E}b{AÙî°ké_d«9Š"v2 Ñ‹B%½RøE+„ì[Ìq—×ø ¸tWBÄçÐ-­VKLï¸}¾]©ôá'Ô7O¦±OI¾ÿ Kß&:aÿòxë<ùèñß$ø;Îr@U” ï#/“L¯òD"ç`xx8&LÀf³Å~f³Ù˜0aáááv·åh¿Ð”1Ðq[W|C÷¢·Xûý º¼ÙŽ7ÞÇŠŠ [¼éoHpxÙ=šÒ¨Q£§SpݰÓn«÷¡ó¯kù®­3[¿ìLp•´<ågÃQÑ“¯Í46Ní€nŇ4«DÃ>¿Öt2}Ÿôú:4îÔû3ýKgdÓJTïø 'Šõä]Ÿd$@z:Í^Ç·íŒlÕàZéþãiò”óŠÓ]ÇJȱÍlÛ°—ëÑöúO)¨Õy»uü³ÜçÜ‘œ¸©Å§L3ÍXˆŠYÝá§Î•ñq×`¹CÁ:têû&)þ"ì±rå÷®t›{…¨‹¿Ò9¨þþþøûûSäu„¨FJôý‘‚ósö‡.4mК¾Söq+Tŧq}¼ €[z¬GŽý#hR½9ƒ‡R¼ZŒÅ[QíÉ.…iÞȇÐy=hÚ¶“†Ù†qhñô•Z˜ÈÈ–;§Ø³x=[7¤vFt»çž Xÿm˜çô~tþKÝåm¨Uï MXËùË嬽æEýFþ±¿]̼.¼Ö²dÚ½3E}ÀáŇÑWNü¸„ÿ]š¹sçªÁ ê'y³ÙÌÚ5«iÓ®}l_ð¸Ô¨ëX½˜ùs¦0mËu ÷^ÎÆqµ0l{‹€V÷˜rq­ž<räÊÖÜH÷C»TȉûËQ £–?®¯¦I¶8}¸‰v~m Ÿu™5MÝSxÈBˆÄ;rˆÊU«ÿM÷ïß§Y³f”*Uš ~ _¿þœ8qœ•+Wâááñ̶Ìf3K-¤n½zdsv>ÀªåKy»K÷Ô?!^·Ñ#¨ a_íg^óWhhù‡ÛèÔ•_ïgn³òB!2¡93§Ñ´E«Ø¿W-_êp¬¸Ûy‘õ6¦à!ôwLcóÔº/A­{Ðc|M*ŒúšmCjP_k@«„s/ÜŠêsP϶xÄ|úôßO÷¥Ñ€ª$²O!DªJxž¹»»³|ùrš7oAéÒ¨ªJŽ9X±bùã7¤>{^ªªŠ"ç«Ï~r)»#K3<ÎÛÏ_áßê>¼¢¼ý\ñ,‡U%þ)Ê}öMŸÅSþ^ÃβzÛ5𬀗œüªSB·„ñãæR¸[iœîœb˯k¸®žvËB4Ï& <~É¢ªH"D:°wžyxx°|ù2Z´h ÀòåËðððHôœTU«Õ*笉Šä¯;µÞf`¹ ¤_\F‡¼/éû¢Ž1²Zc¦=k¡ôÿ¨’óUJ«„©Åñ5Á˜“*–w0éËqœ»…ªuÇ·b&­C%Mþ7˜8á ]‡÷§É-Ù*ѰE0AÛ´€ð8!‰»é˜?”ÄZ]„©*±óÌÃÃeË–Æþûy磣çªÉdJö:ׯ_wh=‘z®_¿žÑ!¼„ øwÿµoÆaâ¡H´ÉÙ—'F5ο#öп„)öx|Ú/çN*Œÿ!ÄË Ù- Zÿ€‚ìß·ŸÊ•«3g.´º—çÃjµ¢¤Æ?Â.³ÙœÑ!¼²EÁfµft/¤fs4÷ï§téÒè É-f"80¸-ç…àÙöwþ_ ÷„•½õ3ZTgøQ#æez,qfÚ¸t1“'ÏbéŽSÜxhÅ9‡7þ%kЦsW:Ô-L¶Ç 3‘‡†P¹ù^ºíØDß¹ù\¶ù­icüphrUÜ2:ž¸¬·Ù1éS¾˜·‡3WïcÕdÿN¦MëEQc*ïêò ½ö=%îc|•ŒÿþSñ„ŸbÙ®Š žË·u=ѹ䡠æ]ÛX›|Ž«Øøw^K*ÊÇœS©•ÕÎîO.c×#/š7 9ÿ[©÷°äqŒy=ýw>×ìô[°–®ŽñeÇÏxغÙ_žË)!R$Ù§«N§ÇÛÛEQ8zä0aaazAïääšÿæ€ÀN=š4 YÕh2õF'§4;öÌNoУMÖí·  BéÀ@¼rçÆÅÅñ‹ÐE£øå½ª (âçS…-ãøæ¨½rÇÌ¥yïÓjð¢Ë½N¯ÏûSÖ;+æ[8µkfm¤Vͧ ˆx¨„lD篶 èsøR4§J”âAÖTÿmÜÞµ”¿²Tã³’Iüÿúá6zu&äXÐ*Wò»¤r»¶Ä[%úÌ$º~¸ž°hhurÄÖæU©Û¢#ýFdZVBÏ_!ðzg»¾J»Öå{–žÀ©R?í^¤>+üä2vG–äÓÊÙS9ùp$3×oâ¶O;j™R;ùp$žä|?Ñœ_»‰;~oQ;NSG¶:Ó9— ï Uò䈆òß—'›ÝªÖ…²_áúÉßv¼‹'Œ×ÌÅõ¹íß‘šyÓà7"“røÿv­N«›œ,Bˆ4’¥<ýx»÷&­Ç¨òn€•k‹G1ýN ¾˜X9qõ!û&Mã¬ßl7ùHe–›lŸ4Œqóÿäô•pÜ W¡åGãÞ(zÌ\ÛôþZÀŸ§n`ÉY MÞgô§m)šE Ö‹LnÌêʯ“oß"6œ ÅÙ·6ÝFLå 3ùjò2ß‚¼•;óŤOiGzo)­ª|O@Ç@Î.]ÉÑÛ:L•ÞⳑM _ø5?ÌßÍÕ¨”~}8“Ç´ÅÏÑg¦ÐoÐL¶Ÿ¼ÎC¸ä­@›¿fdû¸ØÇP¥…ÿZËÆU<)Þj(“¿|“BÎÓ|-“F2î·mœºiëpaÜ.©à÷ä‹g÷{åi·¼ 㬠—½ËG•¨+[™ñíDì<Í¥[±jÝÈ[¦-ÿ›9šúžÿ2«q%†žÊÏ{v0´„P¸³¨eú&W§•ìW‚‹ÿ«Iý‰V‚ªååþßg9w;ЬÞuøì÷ϱöªÊÐS1{»=»%…gÇü»ÜGYÞ6‘;êj(ºUäÝãY»s¥[;G·£×¾zLŸ7„*¢®ngÖ·?ðëæ#\ uƧDÂOj(ÿS9²iÀv{ _ùš%{Nsý¡Œy¨Òå¦|R›œÖ“Œ©ÌO/6?¬à͇©3ãszÆk¿:6’jÍvÑk×:ºy?©WÍœ›ÒŠK°xEŠ9«)ŠÇãÚ4UÉi¾¡¶ï7@¾Ü¿‚ަ'‹ù _ÖªÇ„Ë ¾7}%¾Ú½€·Lú˜ß6¾Ÿ˜óî ×^§@ÓzH¬©Ãz# ~à»Ù8tæ*aÎy(^ïC¦Oxƒ˜+÷Íãë¯f±ùØ9n<Ô’»ú‡ü>ë}LG—²/ʃêûÆòæw[8pî.Jžj œ6~å²>r{íÊ÷go"@ò¿·CK¼¸«–å ×\£@³:ä—K*ñ"ÿ» !2)-9ëåã 51j!]—t¦@øŸ|.\ ‘ IDATýÕAüûm¤Eރ̉»xÔ߬Ù†—f¤r¿ÿX¶;¬í[Ÿn»ŠÓgäTƕʅíÆ%" eGÛ+ß§~¯”8žÅÓJb¸´–ï$øx([–ö$@(8¶3ŒÖ#ç2Äôˆ­cº0²Sеʇ3Öá½›¯º¥ßˆjì›R‡l€~ž­×Ú3fz_ ñöÎ:¬ª¤ à¿[¤J\%TLl»uí;XcÕ]ku­uíîv×D,ìîîXP± ËïPik?ßó Ïùsμóž9çÌ;óÎ;g™îßn5wQû—_™¶i,zWæÐ¹w?”,ÏêfÖHŒì)×ú7š9æÃJþœs«†1¸o”ÅvÒ;‚ ç÷†Sµï¬e‰êò2~îó ?{•ccû¼È5ÏØèG§]Žt·œiÅ-ˆ½s”Åý³ã½2ää.êKå”ú©ÏÎj_îgPÝ6¬}zvE(VÆ€7w¸ÿÚë,ûÁ=äÔáX*†[â<)f“ƒÇü(¹‹S÷µHíJR±€ R (¬ÔOÛIS’‹²þuÈÝdKÎõcRi ÇÿlI“ÕXø÷/x›Iˆº8¦×ðWF.Ÿ€“Á3ήêO¯+EiT*R@}õ®Œí쀕þKÎ-éÏàÙãÙÞ±"­­é¶z1Oëwàl› V´²C!‘cbùqçZn¦ÄTò–çÑz³ª› œO—õ]p3Ð}²<­lš²xÝSš5YKùåtÕ¹1––©Ü½‚ôÝw‡@Ô<Ý3œ¦½ŽSyÞ\š'_S?êûØž‡j~ùÑKåwto86´Íw¸óËØÙ -Õ£[„ƺ‘0±Ç­Em©;þ%~}™6ijØû„Å»álÅ© ÃD›À¶m&vd𫽌 ø“Yó/â?»ÜG³j“rŒ !.5D"Ç4_ÁL­Q?ØÏæ0küÒª—@ð" @ðŸE¢p ùèî,ð›ÈÄC5érn8õÛ°®ƒ zQ§“gVG ¹óæúðb‹»Êøê5˜vKó>[îz«96»<™ôI^ÄýLÜ&§Íš òN-èšøãmÖLÚ†ºÚ<æô­…p`ÒìÛTh4›ùÛ2®(€«Jíhåã  lÀŒ½G©Û½~. ÀÀŸf²=äâ $†kÝžZÅsùéÕ~&ë—£Kçº7œ{0ëo& #®™5FµiëðAnwç6­éÊ¡[o $äñíF·&ž¸ô¡û¢åŒ8Nlû¼Ü[Ï„àªÌZÀúV ³öÆ”ÌókD×.3YÙ%m}©Âvqà£:×ΡaÞFAc*u€ŽöÉ>\…†ÎÅÎćÊî¯Å–ºdj-@¯4U®aÅüÔ9º”~‡«0ÿï”6•¢}¾‹­&ò¶s0›xb,°æaäK¤î”³Hè´ë9øÑ꽞µä¹m˯›Í°2–T†IÜyN½ÌGãzž8ئݽ”ç´ÁLÍóèÄvªºÉÂÀ騻n ‹›Ág‘G¢g7sßÜ—&Þù±5JO;Rúú€†‡ÆÒ6ðåfnd”¯%2@û|÷WÕhx|(˜[¹|WÀ õ,Q§˜ýÏ}l:Φ]u/rH€üNIüùíù?i?.’.ë‚èãaœØ âsšM#qé9‘Ñ=œÚ—JF©<x˜/wªíIbhCÁ"6é)1$¬™ù7·㜿Ԩ‰@ðßDÄ[ÿi weL3)ëûv$`ÆüFRõûSŒ17–@ûš‹ÿŒ¤ËOuð-ë…kÑÎÓi‰WiHµö2crIÑÄ'üsçwp¦z óOúHèlI‡µ“^eœ)V+€‘+Oòø¿,ÏÀ–­]ˆÞÑ›N{Ê1gU‚ññ„þ=†Úú ïV4±s Ä\'ø@$.õ*b-ÐòæÆV&õnEýê(QدÀ³H<ëQÔ@ͽÝÛ¸gSƒêù2ÛÖ˵Ql¢¢âæÂ@fhº2µ‹+ŸKí3Ž]Á¸BÜÒ5>Þ¡åÕ±ñ4ï´•"×3®FžDÃïèGûœcë¯`\¡~Ú²ä£J™œÜ›Sïº}˜rƒ×ï8íSöL\ITí¡tzo|| îæVöÈM¹*_nfBûœcAW1©X‚Y[×.üß# @ðßFbJ¹A£¨oöI¥! ©f‘ú‹ËЕ:åM[µœóQ‰Ýl‰¹íóãè舣c~¬¤HeÒìÇOÓ¨P«¢‰IÃï;MÓFò5ƒõ© [ÔŠº`Ù| ˶äüùeø(² €&ÁùÔø"£"ôºÀÁ¥ÃhW­’+Û˜ûKCŠ•éʺ{ê$zÑ¡ýÚ±Lâ"8}1aÓÍB?µ¢¸ib«R?`oпè—l€—ÉÅþ»…ÝÏòQÇÇ9*ÂV´§l)<ñîÉ”•[9ph L¥iX&aöKý€ý›î`áS‹ ·å¦(sªxù&ž¸› œ¡¡Ë”. !„?“<º'YAŸ2 Ý31û§åõéI´j¿DZ˜X×öìÓ7ÐîåIÖ_Ô§l£tdW8Òaù ö,Ec“ÃŒó÷¡RÿƒDê@ûü0KÆãY׃£ëªݱƒ¶~øågjhyvtWŒ*Ð ‹çíÉþx(?ìß‘<9Ó~׫´ßIëõêÎëS¶A‘lÍÈ ÿÏD üç‘å©ÇÌ}§9¼¸%yÓr•ä¤L¯ >^B—A K™A‹V'Aò ûéÛyb«¾ÌÖ³©t0 (íÿ†œáe%úú.ÎÇæ¡xá\_'Ħæ)G6œÇ¤ñ~mè2— ò¬Y?úöÅPr‹]§ŸóIAÖÕ/¸ƒÒ§ c–„pöæÆxIàÑf¦o G-5Æ<ÀCNœˆ@ åÙãèO)5cTá¬éÕŒ)òžô/&ãüâ „½›6S=æúÈai’ÄÕKEØŽ<²­Aõ| ´ÏwóûÇ(:a%cZ–!¿eN$··rðuêW´NpSzq’Í7Œ(S§ nËMQšJ‰~p޹3ÐvB—w˜|&y¢.mäŒÆƒ^930Àu¼9?ƒ6­W`ýû¦5¶Oî‚ôÕõ£ãõ¹ œ¡ =SÙœ#)²œ¸VëÈï+C˜Zž\¾Åk ¨ŸÞàÚSÃTž}õ}öl ÇÒ·6.ï !ÝKN®¿€~™F¸§bè¹tçïBRK;¶óW%ÓL r¼9ÄiJf\/à;D¬ß …z2üeìIù³hß®>åÝl1z{s!ó™r܈ íR,ááõË\ŒNbH°-à„…^òn„žKsJÎbhçÖäÞŸŸ*ÀèÕTy½p5ËOÓÞ>Ìèó3ݧÊÖ¤0Šð&.%Ò{4þEÒð]ÿÜH°±3âåî…¬?§¤ŠÞU‚§co¼Ž’™¼„žs3ºzÏdp¿ŽŒŒLO âÃö²ç^Ò(Xq\ŸÛ—QÇmè1å7Ê~´[$¼96œºÍ7)·ÀÅ=?†‘·¹xGä¡L©<È%ú¸ù¸ÂñëœV“,1ŒzÊë/¹ß¦*œu½šð§®?ë§5ÅdÏ1fú¯àïëênzVÌÿ¬ûIå‡Ó¸1‘7v3{Y8–uká¤ñ·ÎsíM,¦·nñœ[{V2uì žåëObxÛ¸{§ SƒÙÝ[ܺ.E•Ë·úÒRœ¶ d1'òèGsçøßÌ8g‚Ï_~ØÈAjìë £Ä¨ª8ÉxöX†“§#†°é–•Ƹ¾7„t‘gXFBÉ)^©†ä•çr¤p®t[Y&ˆâ↣¨M‘ÆÞb÷sÁ‰dÕªU:¿êÕ¾µàdKpm;|k1‚oKÌ&×k® ꑹð­? ±ç‡R®Þqº Áÿ«Yñ_žØóÃ)_ÿÝm£cš~¥Á—eÙ¢ùÔ©ßðýÿ[‚ƒp÷(ŠBO™,óNçNOvŒØ±s—pÁà›¡‹âì¤îÌUôbS€0>’£âÎöÝ<Íß2Ùîçÿÿ$î~ž¿%•¾«z ™GLü @ðMÐñúØXº/1¦÷ ˆè’—ÝÛ5ŽŠù”(+Láf|ƧýWQ‡ÍÁW©D©ÌOÕiáØÕªŠ½°??(¢é ‚ÿJ¥2ËçDDDdë<Áç#""â[‹ð‡öÅ>†õø‡Ü}·ã/¬‘å¡þœíTVë ³ü8ef—Éÿ(R‹ÚÌØ^–x‰»¥»ˆÝÏ?,Ù3@^櫓K+ö'Y£)3µ£@A7JÔhGoÿê8}?Q¢ö·Çõ§WÌ¿¹‘š9“kú„)×·ÒÄ<µºª¸6®þ©ÍÞ#ðøÚó꺷\_1ž6qîšÜ.~Œ\=—yÿßÞ‚‚ìvdEXðÿ†4·SÎÝþÖbüw‘šàPÈý[KñÙæ°ÇÍÝþ[‹!ü'ø¤ËŸæ²¼³òØ—<¿Í¥}+˜1²5+þñgíæÑTI=dÅwA¡nÌš›l#¦ÿñwÒñç5Ȧ²©]lˆÇÔF@ ‚oË' †Öñ(Z}À«tej7ë@×vc©[g ùpz^5rÿ7û矌ܪ4õ2¿àÿ«£~Î i!úwkB9aC @ðá3OQH1óîøV¹‰Ü4“ýÏu@4‡ âÖf4ƒ*M~ K¬+OäšJEèª@j—pÁÚÂs %}º0çl$Z@uã/JZá—31.ÿf?þù-±k½ƒWïÃÎGs¤G,*Ï!4ÅiªG˜Pƒl0·È‹›w=ïù~'cmä–Ö£TA[Ì-ñôíÀÄývåMƒ¨ýí±³¬Åºç‰WÑ½åæÆßiVÎ [ KòzV¥Ûßw?Þ-9^œ^HïºeqUZbnëJ‰½Ù¡b97ØËŠs {¿)W<¡³*bQh jI]·'ƒêaWs)Oµ—XÌs K,íà5éë<¡±„nA³ŠEÉge‰m‘Ê´s„W‰4Ï3µ£/îy-1·+Leÿyþ%w @ |O|¡ñösG¾ò GBcidÏ“={ˆ>”e?óò‰ –2 qyJÐlP ;*1|}… ?úñ[3JœO Ç´*0Eÿedñ¢Ñ×sè­>q'Ös!ÊJ&ÀÛ+¬Ûóþµ±OÍÃ(>ŒÅ­š1FíÏÌå“)f®áIh(Ñö‰›rÅ\b|íjLTýÄÄÅñµyÍÉŃéÙć°5‡™ê“;uŽ'|yªô½LÙ ®_“Wר9©7—®§}–öéfº6Ä͆“X8®,Ö’„Ý~ŽÕG»Ó¦_vJÝ:ÖìÅ­àx7¼@ßc[io'‰}4¼IOç†ñ„/kI…þ¡ø ÉÊj1¾Ç=‰ 9¤€ê“4d¶Ífn]D!éeôèL‹n–ÿû'l32Z @ðƒòE|s9Ì0à-Ï£5ðnÑ­èÛ©Nòs¾­i÷þw\åûXÙà$矪)‘×ú­ 2váfn )Jý®l8BîÎ#©²a2®¼¥’·1×6°óuQÔ°M½2š—„>Ö’³LiÊy¹a«NÎEÞÿüúè$f_ÏO¿Ñ®pÂJq»a y}º$&„0¸R+rfTḫ,˜x£ëYп"9%Jtž¹™Ž¢ysû±ú8”(KñBNHœp*”Qa©ŠncôH"×3@_ÿe E™žÎó\cáä#ØØÏü¾n‰ñè]IЖŽÈC13¬<“‚©a!0¢Ëš-bß“¦´²ù~×ü@ >_ Ç¨#æù¢ÉeŽô‡Äuoo²ql7šÖªLIw\là5jb5:@}í¶z¸‰-wT{ô©õS}ZUÔp`Ó b‰åßà¼òj‡ŸMe"``L7vÂÝ£&]ǯæDDl¢k”Šg®mY‘jŽIÂTÉóP¾º#ÚÛ'¸—qµ¯®q"BFá‰ÆGæPämÌàvŽœìç[•ŒXz€ÐhmÆ'f‰Ð%¦¤§sí««dIeßü©l†¥âî‘s¼ŽÙO@;¬ml±¶±Å¹éFÞh#yðZ¸a @ 2æó ºHÎo»‚N¯0ó¤Oó˜ €êtZ#¡ö𥄹ȵ-m±HÒ—ÛÕ m‘‡l çÍí­ì‘V§ž‹9E›–!f÷6n¿¾Ãæm/)ÞÞ‡®ù‡~zÑ„E[°ðvÒÕ'º Ö‘d [Ò“3йN£B­‰ãM\êF6^¹±ôð)ΜNHgÏŸçâÅÍtwÑÌ@ ó™ 5OöýÉ  ×XþÔ›Jé…ÀŠ:ÏßûTøŒCûÒXä4D/¥42üÚºó h3ƒw¢©Ú€‚ú`âÕŒ‘ÛÙr ˆÍ/JÒ¡²e†Q˜{P+`+ŸbF¹'¬¼•j=l¼ bøô0{Ã’túÕO8º;¹KYò%±¡Ò2Vdf(œ[Õ DfÙZaZЗvƒç²çô êö2}Å¿Ä!A¦¡~AL¶&E$HR/è\fꌫÙ+Žn¿ALÊË¡ÀÆ#/Ò—'8úÒ ¥Rù!ÙZb,m @ 2Á'uß>¸ÂÙ3±Èã^ñ ì—ö­`fÐuäÞƒ Y.}w$= òçRñϼ¥vk‚eØvf]Å3s’L2¬«¶Ãó×_¶ØŸU®˜•¤…çzX¥¦QÑ"ó#öËfÁ´x1\lŒ‰ ;Àî›ñzZc,³rtÊ_ƒ?ÛÀvj/ªØDqzñ`ÏC›5È#…XcsŒ5'X¿nú¹ñ¨\äeyÑÅß•Uv¦“ýŸô«ã†iÔ5‚?JwöB¶‘9Û5)™†Çwr1RŠU^Sdè¡ôöÀxÖ2Æ/.ÃÏåL‰ü÷ëÖÜFG™ ïäÝìMR2Ò¹q1ºvpaõ¤æ´ÒE߯ep=å±Ì…bN&XTíËO–͘Ӳ z£zQÇÝ íÃë\}jKífe°‹Ð@ ðI3 ÏÖö Ž_ jÔkKßñËØÿ¢ݧmã\P_Še´AŸ¡¿-ûŸGS©_¢u~݃e‡>M±ƒºÔʇv%b“V¢qáÄn¿Ä ïæžÄ„k(×¾\{hyyv9ƒZפB™òT˜EX…ÑlœYs `\œaÛ·2Êó:[•ãdcFÍ˯›w3®¼)ÀУ3ýªJ ØžSòX“² }Šô fû>D®îKÝJå¨Õ}) x+½N¹.Šëþ cÝÊx—ñ¥å¸S¸ \ÍòÖöÈ‘`^m,³º8sú÷føú6%pþ%rW®€U¦¼R™ÉPçxü²…m£«ô+*£B‹ÁÌÚ~—8@š« ÷¬ehå(6iIõJÕi=x[/>Cõ)~b@ ‚ɪU«t~Õ«}k9ÁÈ–à Úv øÖb@ðñlÑ|êÔÿ°«ö–à Ü=Š¢ÐÓC&˼[˩Ǔ]'#vìÜõ%¢` @ AêD @ |5„"@ ¾Â@ _ a€@ ‚¯†0@@ ß':]º{² ¾ Â@ |_¨ÂÙô[=¼Jteÿ›ÌœÃÙAž(•ÊÄT‡µO´Y(0ŠC]>œŸ·»3Uî‰0@ –×HòáI=5ØpŽ™Uìðt–˜ÏY¼î-7VR»„ Je>ŠTêÌš{êÏYB–ˆ:è³]}‚žåqCÍCVԴõûQ¢¿nÉÿ=þcm⛡eV;Š =O,Z^Ÿ›K窞äW*qò¬J¿=97´vUfšm©¸>¡,v¥Fq9î³Iÿ}ñѽÈ>QýqÎÛ„oÒ?–}â¸>½==ƒLé>ïÊ›dáTÇ^,ßBÈÎéTË­â|ºmKÍ™•±+>œ ±Fx ÝÄöÖ,,ƒý¸täßZ@ øöȰª3‹E£Ðè^±÷çL6ÅêßK`”˜ÇÄN響tuèºX´ã$Öµ.…5jLm¾Âë9þÓ|«°ªæ .„~âa×ÎLGQñýV|³6ñ_CfIµ¡³p²Ì‡ ö"uÉÞ|}˜¾©îf°2ÇÔj,³ª8b™ù½ÓÄpvPêŸ äØ¶öØeÔ¼RÞ‹ÿ2±×Xõw8ž¿­ cqK²Ò,d9ìps÷ÀF !_³ôÚ–«êØåb…ƒBJ{7ÜíáÍs3ä¨>KU¾W~À·™@ |Œ<—#…s%þ£{Æ­dfŽöðàýà™:ô‹”ÿò./¥nôéÜ2ößþµ,·*EízßZŠ›ÿZ›øfHràâS—wÿÇ¿ ì¥ÏÑ]©S<ç‡|î~ˆ&û…Iy/þÃèÞÜâüsk*dÑøøfé¶-)9\|¨÷ÿ ”ÿÙvÁÒ¨5ÄÇ©PÅʼn$’H"%Kñ*Í÷ê.¢#êúZFu¨Ž—³¥ƒ5ú­ávŸÍ‹Ìì\ƒ.J”N^Tï:›cÏS×GäÖÆ8×[ÎSí†x; T*±ÿioԡ̪bOÉ‘—xï¢{Éæ†v8vØÏ\ —蘡¨Q¢ vJ%ÎÞ-˜pèYÂL€.–°­£hí[W{%ŽÅªÑvü1^„/ j¾JŒ¿­åÞŒj8*•(•µXõHó± –ú)Çf÷ N7ò*(\¶>}žáeb!ºçA4(P~cÑÚ× '¥¥kEüçžçMz.ÔªöN zq”JG¼ªv`Îõ¤n_ÑíîŽWÇq k]W¥‡êS¸®Š'lu–-„ƒR‰R™¢5z0ÿük´@ü¿“)¯ôâ·sIåÞ¤›«ç»ˆÔ}¸þ±>…±«6Ÿp5 âúºa´ô-N¥‡BÞøu^Ä­425¼<»„~+áé¨D™ßƒ²uûü@ Är~h1ì}¯ HÂçùbçõ+ ¢¥^¿SÁi´ Ò¯wz÷;21CVÚ&d¤/‚âTºCºÔÀ+¿¥+åZŒ 846ÉÂ_-o./'°^\í”äs¯LÛ?w‘T¯ñ80%€še á tÀ£Js†…L2¯¬7è^¤÷F¦y¿Ô¯îóRb‰“Eʹ VÕÇ^Y•¹ï‹š‡[úPÚ£ A/S^1•¶•¼$Âçù’·Ô(. ×½,‘­aµ*žˆ‡\¾t‰—/^|n™Áÿ1R©SSSÜ ÂÞ>/ =½oÕ<Ó IDAT-Òg'&â¦? d^_ T—Ðï—ôó*˺ÖvÈU×™Þ´ó¬û25h.®Ò«,ìF»Þ–XÖ$qZÿ¦5ÿáʺATlv‘Þ6ÒF)©}Â3%KÜÃýœ‘ ¢ÏÌŸÉoð„Ýã»3¶Ç8*û oc5wW¶¥ê 0*ÿ2œÅ>0}{Ÿ{'rÚyð÷Q7f7oFpå¬ïU=‰f–2´ÿ&)@÷š£CjÒô ü'¯dF)S˜Å/¿Ô£î£­ìüÍC@}‡ÝWk1ð×ùüª”ºá7ºìÁìŠûøÅ-•6 yÆö@?:ír¤Ë¸åL+nAì£,î?˜É2Æódß>bû•…½ŒyõÌK™„8«b4î_޶¾¾Fð¸Œè`Jñ£c(æXæ.“X|“¡^Ñ—7pô­>q'ƒ¸U &ÀÛ«íÂ=°J9DýÆ}öâ=|ë}ò¡uŸÐ‡†˜¦1T§}º•^MãV½?™ýGòH^~û9VÆYÛû¸~ŽÕ{¤Ñ&´¼I¯Þ†ißoc)Ŷ u<#舽‚¨±¸¯5º{GX2r8Ýë>Åpÿtª[HQßÿ› F×~ÿLóÂ(l¿uîD'“½lîæ„Bó”^Õð?\ˆž#æ2ÎÝ̓0ÞºäFNÄ{Ydö¹`GûÄÍ8ËÊj9A"C¡§æbR¡uQœQŸŽ;Š1lZÕóÆrbz7[Ayp2UÌ´Ü]Ù¯âÝkë&GäuöLý™+72¸]êH.Þ°`Ê” F½äÒ–É Õ˜›ñ»ÙÔË=© ÎUÕÞ‘¼æZ]ÀàQÝèírŒµ-lFã5¯9Á _fáoÍcìPHää*\‡^¥{àhgBlè¦þ2ÿÁœ˜W9÷ð ×,Ç0uË8Œn-¡g—ÔÝ[‰žCƲ~˜)á«úÐyHo WØNOgEzw%pË!JެG§Ëþ/k†­\Šyàmªí2¥ ’îÍq†×hÌjË Ÿò;%”ž†½ÄÆJ™¨O†È¬ðõ¯ÈП—q*²>¦@Ç«ãKÙ'­Æ‚’¦¤î$ªååÅÃD:`c”2‡ ëêTÒ…¥knÒa  ¯vþJÓ!èø÷J,¯ÊÒ»™.:g+«dÙÑj4D<ˆàÌ©“T©Z¼ùËàéa@ŒøøxÂCï°ÿ>´Z-ŽŽŽHeßÓ;B‚¥o/z·(†!@¡ô\±†‘C‰m­D{d2sÂËòçê^T³ü<¤&«Z-æÀÓF4·NÑ9•*Ð×S EŠBÏ}ýį|f'$®´îÓžšæ Ú¼µ™Ûð,矪ñ–_cÉ´cØü¼‹™½]×x¤Pâ©–¶y0SHQä̃­íû5 QI.¯}²ƒ¿þ~B±QA mhÈ×r,óÄwÖTŽö\Œ/€Ä’½hY1…zþLù¹í9úïtnæuÔ÷Ö3!8†*³0¤¾UÂt¼½1%óüšÂ\Zл}­ä>êUZÒúý?E( ßÏ?MOsᙚböÔiQ€ K¶rg°…ôc¸|Œ\‡S1x*Á×ÞR¡”176²;Ò¾Õm‘£#öQ8‘䡨wI ;ç@J~ z¦­zmÔ}"bõÉ[¼ ^®ŽHÀÑ5ýÛ•*©Ô/&µ6Ûôêm•ÞýÖñ:«m3³:‘¹P§ae,K‹¹ó8×iÞ&…iЦðû¼…lx°~ކÛÂãÄãöuzÒ¹þ‡uW¥š¶¦Ô»ÜÝÈyi ~›O¡ªŠ€¤Íüàm.½éṘAæþôlZÀ­g ¥æ÷äð­·ôtÖÏPï¬l°Ê!Gªg†µ­-¶)_Ó)Ûe2T-ÏöLbUd ¦oIm‹„¶ãZðÝïæ×'C$ä.矼‹¿ Jms$ÚçZrÃZ+ñJua¹†×—W2hØ1Lk¯£ˆáÇ9¤æñ¯™“–ÿ,aŸ»ã‡Ü¥íªE’r.Sr}$&è´"ÔoÉr¯@£QsùÒ%ªT­Š£“ó—I ü£P(p.PpáÜY”¶¶çøÖb}9dƘKQÇkСâÞ± ¼‰¹G÷âùéõ.FZçÈÃ×ø¨“G Ÿ#Z½Ì87FR ñÚÈëœ|lAEŸ|É::Y!îî nªóPÖ:ÉC‡*°š¸ŸsUøZ¦&HrJyŸðaNi€ÄÜ9œiWÂ<[¾Àº··Ø2c*ÿ¹Nøý"E¢¢ q9v5[á:n!ÛBûQ(ß 6ÔÇo~*¾˜Lß-ÿ[Ê•››véÙªÖ üÜUУD'Æ×ô`­OKÚµkCÓÊ1MãK)·oHÿ6ëé9°žKkѺ][Z7,G¾,Í€¤Am"½z§¿³Ó6%YÖ €\Y_Xr.‚¸–:Îx„úÊ0*8|ŸG«V£³xÀk5ÄÜ>L¨¾C ›¤1¢\&  KgÄ96ô Wb_p¬E6¾¯’µ<Ÿ¾EySdªîÎ'ÇYä¤h-äë®rë•o#O-cò‚m\¸sŸû<‹£üê ŸnÕý=̼”}W¹qŸˆ±`‡:µ¥†äÎ!C÷Á¥I¢—3= Ïã4èÔO3Ôû§­$ãîñÑJ)óÔÛ{–ê“&ÅéÐ0'M—àiÍF˜?ÝÏ’“f4äž$9Ú'A´òÌYëlæúý•ä¤T§FXm\BÇ~±aþnFH>1¶¡˜ÉY6@t:ˆŒ|…C>Ç/!@ øN033C£Ñ¢ÖdÁç÷ÿ’ä_8J f ˜¿é7Š&}“(0µLÿ‹Ÿêì¾j:MMQ±Y‰eŸ²øôÊ—d¢Ã˜šx´d³zš'lê^›î×ü?c5]­P\A…F§Þg‘+ýh]h4 vÞ¥KÕöI«2ÃÙœüJ3d¡ô Ùñ ¯~U°Jœ`æ*Çà ³´<¾•ëW2­cŠõgãêŸñH­·#·¡ö¸Tèx€M׳üæÌS…1[Ñî3}"“é'ƒzgt¿³Ó6³¬‰}9ÈäR$h‰×€¼ì$vL©@Τ Fn‚•ÄhT¨UZb²ßLSV ötþ{5ŽIë%A?·%’—*>ç[IªP C†L*!æÒ5Y€Eà,&Ž)…}ηlnRŠ¡\CyˆÁuÛ²Ãc(³gM¤¨µ!æÖ¤êŠìJ•±Þ? •M\qZH¹ÒûóÕÇB-›c]g »Õ¡ÒÞ%œÏÓ”ÑSR‘æ®È?ñóÐåŒXÕ‘?¶³tÑÜ>qƒ×€A‰64r5Êþ{ìÝ%…õ‘e²5L£Õj‘ÉD¬;à{ãèáhµŸ§ •ÊÐét?Ø‹Yµ{^¤¯Nrâ•)¶¶¶’%ÆiùH|4Ö-E!ÕòöåÛlw–d9(`ɱÿ¦>¶'‘!—%vLÓ@?oIòKÃØsìqGwá‰qaŠ+³·ÆGß¾Jn±ëôs²Üâ¢/°f•GŽ¢uIÌM Q¤üšÉ¬©Úºƒ·rxón4>õ( 9<›PÕqÍc†±¾,SÛ˜Ùù̃Aã¨àhIN#}¤ŸÒ+΄ÞA‚T!M|6Þ1zØxØ¡û7„ãO?>;³õIíóò˜žsÚ;_gÙ–ã/½J¾–pNëµ#·¢t‡I,ÿÕ™Ë Wq#åÂp]4Wæu Í'8{`!»}¢9*‘ˆÝÖ³Á'Í¿ë\ˆ$’HßGúÜÏ6¤ÛOø‘báÛ›&–˜ß¶£×àܵ«œÙÄŠ5ÇI+ŒD’øeNª,¹%ž%,yµm"óvœåÊ…cl[4‰ÅW³ Qc/Ú:1¯ Æ­ãèõûÜ¿yž³w£ÉÌpTÊy°kû¯ÜâÚ…«zIÜõQL“l bѹ@ È,?ÚVvR³ÊŒù›Á£Ù<¼-uªÖ¢ÃÐùl¿ôœø4?< CºÉ6¢Ø/3é[ò>3:Ö¥z“žL=*¡TU%™÷ž0 H¿ 6þîCTðPšû–¦jÛߘ»ó^Bh_‰ý•êšåt¬^•Ÿú.äRTŠázi.|&lgE/kŽŒlFÙ•é0ý%DŽԷ©¬ñÌrÚ,ÝÎĦúìú½%~•k0ý*ÖŬÈpNŰ( £òã4-[†FÃöbѶ')"ÞH-+ѺX ᲊ4tK”TbF©¦E‰¹«¡l›²äJzJ\8»¦ö¤™_e*VkΈ&tš¿ŠÞÓHÅcéÚ¨•*Õ ý„Ó8÷_É¢–öÈ‘»êLñwâÌèVÔªÙœ‹.“«b¬2å{ŸJ›È°ÞéßïlµÍLéä)GÿFËJÞTí4‹Û%F³uó ¼Œä2òȦM£©¯w€?ýëSݯ%¿L ẫ¸„NœÜöËC˜ÔÄ€}ãÛãW¦"ÍúO#øztªÝºÄç´‘ÛÐhîNô.̽¿ðS­ª4èúKöÞäµFèS(p=›FT!rÝW­Lƒ>ËyRÀ³Lto¢olæ¯îµñ.߈_·êÑnÉnæ5¶EŽ ›FS™ÙÉŠ]U)éÛ™ù+Ò»¾U†Ë-ÎÌ™ÐþîH¥’5é»NCýÀ äüg“ õŽ Ûúà ,õ)Í}©Ñú7V‡f>–¬Ìª3¶Ï£³ò³ºÕ¦\Ùôš¸Ž3ÏÕÖǰH'zûHÙò›??Ï<ÄSMêÇKÂÊןòšb½ÚQã£Õò©Èff™îa/M Ý[®/ìDó–Œ\;?+9r[?üË+¸ºd573»gà›c ªT‚Æ Ã>- ‹’Ò?Oû”.¥)Õ1˜Çß»Wr&‘¬ZµJçW½Z¦OPÅÅ´a=þ]º 7,à;ãØ‘ƒx—­ðaôõxþì»wî LÙ2ä45K5Ï–à Úv øä²Á· a÷^†,½ò7U³9öC솗«Å®æ{Ø?À5cCYðùˆ:Nÿòmˆy”•õ,3=>FŸÒíxñ× –Õȕɰ„á\èω-­S K­ãŶö”êüˆAG¶âï ÔÜ]T“rÓK²éؼG‡ÞìkGÑö*æ]Nx.Ô÷—Ó ìprN?ÁŠú™ÿ+±lÑ|êÔoøþÿ-ÁA¸{E¡§—¥>þ©Ç“]'#vìÜõ);¡'wÙdÑ×7²|¿ŽJmâfü¥Ç‰¿vy‚ÿg>˳-‘ Ñ~¯› àë ãÅáyl‰­À´ ™ë¼¦qUCÚüµ åúáùÉáÎÍ#vÎߺì$êÙè>Ç¿ýè¥YDg/RŸv”É•ICB’“rC¦ÑI6ƒÚå9ò&ãSÞwq %ò*Q*ë°öI’þ™Ì†æAá„­iŒUbïYýp7s–ÞÄØ£4J½(uvA©TâÚzw’µ œ{ï'âÚL*烿ïø?1@´¼:9‰f^JŒårL”^l{öqä”7{inö¡“ŸZ2os Ù&[I‰>âO…ÓB¿Ð¨­4µæàäÉÓììþ±w\뮂‹¹¹¾jüÉ•Ø/!ˆ1¥þ<Ì©“'Ù7¹ ²ÿ“V øö¼xñ???üüü2e„@ð)ć®cÞéœÔj[‚¬xùÉ,*1,ä*g7 ¨qÆùÁ·>«ÙBHH!;§S-wz¤8®/ÅfÓŽÌ]3‰^C7±=ñüíÛÇQ:Såþ˜dÝK"ùúk?bÎò{“_ØîøK· X.-:ë\[OÆ¥wø¿¨RŒºjŸ³g`#ñ`РR|®-Ñ´–Q>o_\v‡±´b&®*ÑÇÊÕ“bÅŒ-’_GkÛÓbú]ZÍ a}Õ|ÈãqÌÎîaªëŒñò`QƒÓ\í‘Ê‚U)&ùÜñʯŸæFAæ ~\Þ¯^½ÀÏÏ;v;wîo,™@ ø6HÈ]#õ¿µ_ ƒ¢ü~&‚ß¿µ? çÞì¿ß;{'KÈ“?­ kR"ÁЦ El2{q} ÿ²‹ ƒÐOìæ°wÃÝ>rþ€dk ˆD"ù(lçEõ”ÛÏ¥”œHãÒ³~T¾Ä‡Âž8$;¨æîŠfŒ= OÃåÿXÈ M¹?Ï\ÝÞçÉ„.Þ‡$}ŸW‚MûcÄ·÷»Š—áO ßOôië‹û{«A—ap… {—áB*当çÃÿbIà)ÛóË—/ñóó£hѢ̞=€nݺ½7BråÊ•ÚE¾†¨@ |$ #²3N,øÌ.Xº˜P‚‡6¢¤“z =Ìó¥Öïgy ¼ÙÝSý*¬Oâµs¶?ùõŠ0þß„øg/7øÓ¥ûúàl¦@aV•…G¦R̼.Ûâ´hj‰B¡@‘§‡ÓÛ* 1W¦Ò¢ófÌ{®cn3»$—†WçÓÃו<† ô­ P©çVž'é3Å^šD o'Ì ( LóW¤ÛÒk¼Õ%Ȫo߉“ÚW¬ôÍ• —ëH®fk2!Šý­mpþ/Ú° ”0I(¯Ô¼{¨ŸþM¥\… ø¥eíQ(râTågÖœ=ÂâÀj¸äR 0°¥t—ÜŠuØtŠaØ¿ZÂþ,މBBáÍ¢÷M}ôõõiÙ²%sçÎ}ïÎ8wî\Z¶l‰¾~Ú¯_­F,B@œlGÁÒj´H¥I]±b¹8ª:MfåeÈ’–ÉÉÛˆÜQ[¢€Lï²Äa“?™ü;ò'/°/R‹6ùh˜¿±Kï²µŽ)HdèeÂäÔEfhãAœ/>žSc*‘+‰¹{i¾Þ#ˆl<ŇkQ@ñˆsë¥ýå·ïóHŒóQ¹óÚ¸8c#ÂÉ…}ééÿyKŸf`ÍÕÜ>¾‚†Þ£È¿ê“½(LÉ“-S8‡rÊ¥¥—7àð鸀T¡ìè¢þegx;¦¬„'×,€V¥·Ðè÷1,9<½óiÞ¾3]ËUaG«„ü[„‰Õ«³Æo {BO¢Onk2Y}ŒŒŒ LvL*•~t,%šÏ´«º@ ‚ï‡l ñêx´º¤‹hÜx¹kQÖ»0޹e7E*ŽxµТŽC•¸á‹*^ƒšø8T*]bOz lƒ_Îw×Õ‚ZŠTH¥H¥’„ë¨2˜jÐøv¥û»N‹N›ÚñwÿK1ÊI|,êwù¤ÆXä÷^.]åÊœ^EúÞSZm4::šiÓ¦¡ÑhÞÓh4L›6èèèT¯%—Â6C@ ¾[²g€Èd|ܹ#Ï>¬¿|=‹ºàvwm+8QfÀ>^h~Ц۹&ÅÿŽg¾C­%êôxš÷?AÑ1«Q.'’”y´jTj@§MVÖ{û:ŠÛ³âÓ{Vm&±vÿnÝZ‹Ÿž$™¼ºTåM-½[žNžÄki?:/e>Ý;)ÓÌGFe%Ó¹.“ué{O¼“‹‹cõêÕôèÑ“øøxâããéÑ£'«W¯&...Ãë}/hŸ¬¥ŽR‰21y:KLÎW‡ÍÁ'Éùe'\OuÆ4ûÄpvçûëÇ>C>ıW*•(ó¶`÷5¡óêR¬r'f~õqt@ ²@ö¡§Õáз¥d£^üµñ,§FºrcÞö¿Ô‚TTÍóhõ‡üï/õî|HËÈHøhf µ¤y¶‹-&ð¸þ\–v-ˆ~jùy(ê¤Ï«#;ù÷­î£òÑéЩŸpàŸ3˜4ÿ‹ß›Å.W äÉ ¤rdhPÅg¡s—^$©þžxb 9I%Oâ1¤Èe U©3–ë£{ ÒœH£=˜ššÌÅ‹ñð(Š»»/^$88SSÓ4¯§Õ}FRc|'²ƒÕ}ÜÐD};gü¦¾ÃPìù!xÙù0'L̶ óv„²yml¿à†T޽X¾õ]{ç‡îÊ,RßâHÍ™•±+>œ ±âدYÙ{å8´žÎ˜Š¡üÙn »_dÃQßgIu; õ9Îû•vº·ÜXHí.(•ù(R©3kî}ùÀº îÙŠ˜Ó ò´Ãgv(éi&ê ?ÎvY58¿3tÏØPÏÇûɾs£eV•¼x½šNz ÷—ÕD©¬ÄôÛÉÝMßìëŠo¿‰í<ŠÃ½}é}$¡­©ÃçSU©Äw^Xº÷3%ÿw÷Wʬ*vzž4·3{³›yíhœÆNȺçAÔÏëFïcÑÉý¿<»‚tɶ„N÷îO"ÚWœX°„kÊ’u´B?ò:[÷߇\%°Ò½ü(,ÛÀ”q«(àïÞÓ+ì]¾"I¸Ø„ð´ —äåI Á=)½Mü=VuiÇò¨jŒïèÀ£Kçx”"‹ÔÈ–‚.–Tø¹5¶µ§Ð¢³9öª†‹ásÎl8ÃK4¡|‰!6yx±}6Ÿ²£šþeÖOÈN•ïDc@bh‡‹Y»VmâŒ'²Xc\Üí1J¥_¡ûÐÓO» •LVN—â¼”IâoIòèdf8Ù)¸ò»›’O­Â¼P¬SY ¯Kf̤­ZÁEjmÔÌÌŒààԯ߀àà˜™™¥Ùžu:jµ:ýgöÿ‰ÎEððHŒ-¯*IÿYSÑwýxÇ…C3ÆÍòÁÉR†DÏç"oÄ~Ã/·¨,‡nîØÈ4äk6–YU±L5…«êØåb…ƒBú>Žý›çfÈ“ÌÏHòQcÐ_´ÞÚ”y‡^R­¾9ŸjB©C—ÐuÀz¤'±®u)¬Qcj“ÏRü-¦ùVaUÍ\(ð˜“ôïى؛[Øó,-|ì²ÿÁ|dX—« cÙvä Ý”$<^q„ºuE' T÷9ú¯]Œ-ÏOlá:ô©h›ÆýŒáì 2Ô?ȱmí±û½é2Kª …“e>Ÿñ²ÿOÏ® }²o€ðÁeéÝ‘ø‡™9~7ŸÅ¢“š’¯TcfnúƒÒ†:$vÍ™1í4†õ¡ö2)¹JS£¾%Íö'1ÀÃ;² IDAT}w©áÄ´éuÞÿÇÞY†Uµtø=‡Cƒ „È!DAAQ»ë*vv\Åî¸vÝkw\ »[Ìϼ&v+ yêûq@QARÝïóÌ£œ½÷ÌÚS{­™53@üíLÙ ìgPíý)ßäÌÙ“ýp,;C›Íé7b*#>¯#•ë—ÂÉàJ¢BoD¥)ËÐ¥ú»28¿+5Úõ Ó•á\I’C׃~c›r~P*þkŒCͱlZÜ›Z[’ܪTÏùˆødw||>Éù*Ÿ’ $£c*ŽNõch^n1¦E›0wûL´¾Vx>Ê% ÉH­³uë–ÿÿV{üå Ôв·ŽUª—5òºPçÊ󵻺b *QÇ!QéÙS¡¨„Ýç_×$…CN3†ìÝCÞ‰éÕ©>ÞÖ?PÓJ£Ìr <Ø»gÒšT-˜jœ@v ±ªHUë ,Øv–·õ1ŠW\¼¨…W #D€òÝ΋JS×X ªwüoÛTù©RPëg‹ÿ}àP©ééV2D®i»i‘¹5 "Ê/„c„ϰœ¹ý”·ïÞòîÍ}.îžFsg½DEYûæ³9zçïÞ½àîùmÌ6ž}÷Céc¯©v󨽃wï¶QÝð WýJ¬~öšµRwõP©Th9ýÉ…woy÷­p¶/š*T* ù+`Õ±ë:Jgõ¢u±YE†lºÄ³woyv”%;0éÂSv7È—øNšüc>§¾åÝë{œ]ÞkI*ò}¹Àý« Á¾÷iÞ\‰«v2—“†ìyû„•ôcÙö0oïÍÅK7)nSï}ÓååÑO4$t‹ueÍ¥§¼{÷œÛ'gQ5Ÿ(¹@X"„¤Ä·î166þh|¤7¾ÜDÜå‘xÚTfÑÃä Ü^P—fû¾r'HË% îJb|áÙåZ¤âíÎ@ì’­%I ƒ/¤àî—¦ Vø?þØ”ÃÕ47?ÓÂÄFŸÞ’Õ=Î"v6ľÎJ^)¯ìe‹T*źéþT\g¼»°Œ~ Ëã^HŠÔÎ ŸÚ} y*Gþp• –gÒ]%æT¡TŠTZƒ5Ï1ÞÎ4;ŽŽþ.ØH¥xýyž˜äe&¿Ï<gj§Oc_\ J‘Ú¸P¥×Zn'ËLÅûK,ï[‡2El°qðÀ¯Vcjs¢õá´}”Qa„LhOͲnØI¥v¯@Ë97?¹÷(£¸±i4­¼q±•"µv¡ÖØ3DÉspg8ÆoYݳ&eœ¬‘Jðï³…Ç)•¥ê%Gçõ¥QÙ¢ØJ¥8ú2-ôMâ6ø2¬ïO}õ5©´ Å«ugá¥H”ȸ=Ë©SWŽ&{ÕÛ]´´·¥á¿/Ôq¨â¸¿5˜Æ~.ØJmpöï­w‰ù–c‹ãÌéZ [¤R{<ü2üØ{TŠüÛ¨.A'>/ó¨£ts)J§CDë@1ÏÎŒî߈2öR¤¶îÔ賆 C˜ØÊgk)VΕèºô:>Ê "þÔ𸹩eô®Kßeÿãígù•ÀãSh[µŽR)vÅËÓxÈÂ>dнIÛ‘À#X;Êè Œðw£h1?†œ½ÄÌZÅ)Z´(ÅÊöáä•yÔs/C—ï1®ÖŸ£Û㜒õ1¥í©½òÊëC)c+E*µ¥ÅÁ¨t”/€’¨k+é]Ç'+)]+Ðjòž$€º(Cñæ£Ý­.ÞÎ6H¥ñ¨3ŒO¾Õ7©ˆ¾µ‰áMÊQÔ֚®>ToTû:‰î`Ñ„vsÅ£ÝD†–ÃI*Ŷê Âb¾vÁ’¿:ÃÂ^µÔõØÖ ¿&ãùŸ"cß UfÚîÛ3ÌíT O)ÒÂTí2ŸSo>½³*.œ=“ÚPÚ +©Nž•h>õJ*ëû¾ÕŽÔDìlHa¯>LØ2R¤X›x[Z²ül†ë3cû¦lºÁÄ WÓ†ëg8­L 9iH$(Š,O¿ÿN¨”*µ²¯T¢ÊAg#$É¥R*Qå±~2ÙRGs©"1–b$ŠáMô§’òó*ÞžZC¨Ò‡iÌÐ@É›}AÔêýµ&.aB9SÞìO‡îH d˜»Þ×ï.gy›æL–µcÆÒ©¸çSðêÁ¢­´AÃÿ~ 볂se©d$T¼?½œÃâ*,*e„è"Ä?;ÆM³ñÌÜ1½;ËèÑyµ•§Gð6 7"|M/:QÌw= '¦kéGûÑ (!óèØB†סÎãì vG/·w§J—ãë3ƒM ]Ð|°›i}úp凶t¦pº•Mlªw¤Gâ_£^!ø¿éÔ`ÂâÍ­jÈyðw=ziÎgS;ëD…«;>©E§íDïÇ)5ºí¯u dE,%btL àLZå òÇki[o4ñm¦±n–z63´S{Úb{W) ãuèIÞêÁ_]Éu†¹=†Ðkˆ^Kkb’´üÙV‚áu«ì^ìKù#þ·a-N'êñòðaâ†aqO}Þ¿6üÊÝSu†Qµ°Â ñ 'á#UòäÂFþìu+½™2iµÝ„0f7nÂ?}™¹åoœÄ7XÚ»+­ƒÌ8º¢4â¹1­í—Jé3ksœ ˆ}~—‡rÓT\ǾݎJ$ö‰qvqVcV @òú=–yD¦,YËŠì¢AíTJ • •R‰B¥Öãeê]0ÊÏW§O‡f8ÌÏy«~#‹l@¥Râ-«kÚ°0k³›‹S=ÉÂ÷; |àhÛb4Øž¸T£BâˆõOF ’m["‘äJ#D’§Æ¢hÞD'Ž+&ÜfqïÙÈ»l¦“ÃUd8F‘zñl”Q$ÑB[ÄßeUP 3éÅÆÅíqÒãB¦"D½Æ.Í%XTnMé1ƒçÅŠ!ÔËäZ±&ÚZšˆ£©¥ƒ¶vê__å‡Ç<‰ÓƦ¤7N…ÐA!§¤«ú˜YæÇXSŒfžü°´üdÄ$,Z×êA§ºŸÖ†¨Þ|™‚ˆüþ]éÚÈ]íVæÐ‹nKV224œ¸66ˆ.Ìgî5wFœè@™ü€.Žžî˜§ã {}%+à ð_Ñ‘Z¥ò! *šxUÆÝEtµËw¢¬qb^:9 ž­ÝB˜Au–Mû“J‰gcÙúÛ#ÙVF)$.r¢M¿ŽÔ6îP‹¥ ÎqᥜR%XVlΧ£­\p”a]ãó\~-§„U ZºešóDT¨„‘ê ¡«O!ö‹¯©dwY7i/y:ídt3´û–ÃZU–9koÐß=…ï™üá/”–)…·»4¡Páb/ç+ÛI{–žxKÅš&ˆ”o8¾ì$º5VãaˆzDYäH“õð2cÝÝ—2ؤ=—ÅpîÑ›Ò {pâNL¢"BÛ¶<å\1 ÙMaqä*LŸÊÑî+©aø€ Óv!¯ò úVÃT ØvdÚü»ø6˜ÏÂ+­˜X<írM¸G׈·ïD^ €8]ŠÆ¶e¾t*[ Í `n A¬eŒ…¥%–‰~€4ÊWε¿§q®Ð`Ž®(؉aÍWRcÍvîwè€È®=;ÖÁNPˆ^-þaÛÚ³Š§†Ý}N݃"ÝJ‘/Y– À]{%—o¾G‘iDƳ«OÉWÒVmìÊ_qí¡!Å­2§ ¥Ågå+ÅÅ3Ï‘_ŽoáÑïQÊå¨LŸ)OIᣟO±R†2Å¥©¸}ê Æž¥°ÈÒ­xž¹ÜúÊff“‰ŒðYÛMàÑ©ËDÅ>¢[I;z&Ý£#WâY¤,ôñ êKÅÖãhâ¶ïf-iÓòÜR›I£¥JzdÉ9È ˆ0’!4Œ±+füùo?Í¡oåŒëgë¸Dà¿uÛ–!Í“Àù(ñ·WÒ{Ž‚Î›:ã¤MæÏ¿Èî¶.{Äæ^ þ´«×õÀÝ0;ŒôI¨|wœ)ãO íÄøöE²¼]v7H Psâ>|ÛeÛÖM¬ÛŒùã+2~ÇZúÞ‹yUÄEÆ¡TÈÈ »:’u™}´8Ͷ®eÙ¼Ùô¨±˜9GX\ß‚˜‹ËÙùÆž1^&_-ÈTEœgóEð˜ê‰QRñÆýÇö#ïqèê‹yzl¡äÕBñ’mÝjÒíf“æ,¢º“9š7GâÛà\â XTnE©¡CX}æ-nÑ«8¯[•å¥ò$N)+Á9xKëš“8ƒñõ˜·h Õíõ³¸01oÒu¯y+8p.»C—QGu˜yko«r‹4h$~à³ ùÝŠ ¾“½÷3ç,"Ö/ˆo‹?Y¼{95õ£»ù9 "î?àƒØÃv(Œº´…³27zçûø¡Ž¿»‹ý¯ì¨S1µ-\¿Aôe6‰§Âè1–²ÅÄPÍ/’›V µ‚+w²ê†5?ξˆt­q³€;‡ÂÐ0·ÄÒòSÈo¬õÍz 1q¥Z»a,9tŠéÞ/ÙòëGy¬kñYùXš"ÉLCQÄÍ„wG¶qíCV:0m¤6ðð('Ÿe¼f>eM,\m¿?Ë™÷FŸçI3ô“5"‘vJÖ鸵'82Ô‘ÛËfr2"…”ÓÑŽ²*ËïB†_Y„ M‰„˜˜}™~^¾|‘‘1bq.›VÖȃ…±’[ ‚x¿+Û:9¥y®DrT²H^½ŽCÇÔŒ<𢣔ié2_=—ò—ìý³!½þW‰zSBWF|< Ò@KK’Nc@I웼W“ßT1ŸʧŒçמ éڙƟR‹þß$zþu÷?gäšþ9QÒpsIË·±pŸ‚¢%Š`e¤àÙÙ\‹cfG­,jSH*áéþÍi¤‡<碘§[’oJ‰q¹Þ´/\Émú 7¦•õysî ä*S}.ž»ÿþÍ!Mw<,Ñ{Ì…­qHæN¿Æh£‘-òüÍžÕpÖàY‚5Nš\Ûz’çþ”3MR‡e„ïÛÃS«ZTIi¯÷´Ð4¥`^ÿ.^I¨SLÃ÷ñ÷¨u¼VþtØ„r­ü·Í8òÒ2Ø•{Ûè£U'w–ŽHó~Q úà ;Ý(îß¼¼ÌÔ¶KÁjˆ cõ?§0*á½…±áÇ8tWŽ®›úI¯%±¢V{7&÷gz¼CkÛdñ¼ñ·v²ã¤)žfržXÊȉa˜4\IeS1ˆíhT‰9½úÐm¦„ኡ¾›i½—á5Ž.: Ö#Ÿž‚§ÇBØãõÛÒ”-lfû’¿ºÄU]oÚˆ¯/_B۫ŧ¬t¡‰©ƒª[ÙrÊ—šùâPXº’öƳ†”êÖ»óèÒÒ˜}PÂR›;7x¤_ž¦•L2"D"º¸uîAɵ#èÐÍœ ½já–ïWÞ R™‘RÒÀ¢ZwjŽïʶƒÑÖ/+ÏOïàŽB…M*O‰´ò`$‰ä|ÈNÅå'¿G9Цroʈ1õ¢‘Y ¶j‹æÈîÔp1Cùì7_ ZC/LEœ_¾Š0˸4G;ò{O<ã˜i§PpéiG™•%Ž×e… ·s±†… ÛsöÌY¼¼¼155C¬‘{ ¹\Ž2íBõ«‘µåd©£T*QÈsÎv}©¡â9ö,nnnH4sÛÐŽcK}d'­è¿¶#ó‘ópeÊŽ3ãï3Ë©i*"q…w:vJÏ¥pÏêötXó%+iSjåÇ+š~ó¿5µ0I¢uŠÁå›p®åŽ rVïÄ$"£½ ¼ BßÒ„äê¦üùYö½€¢£ 2䔕ž¼T¸µu³Æ>!J:æNøõ_ͤæ‰; ‰Œñ2„ªí'Ò®ê2Lœ2ýß)øg|gÈ”Ñu£ßºåˆbjëŒçÁ¾Œ3ÑßzFùð+ø{ýTFF+@/?N^ økooj;¨sÏÐo"Ë&0tÉDZ¹S üZMÀÍ6’mG#°ïXž.óò'Úñ󪤤ë§ýÅ´d8¯zO§±Ïò:”§E۸ݓì&ÆÞ­¨`¸FmiZ4¹Ÿˆ&…;®c¯ÉFÍ™GÏ#‰5(€“s ê¹4M-xi5SgçeŒ ,)^eÆïc]ÕÀÜ¿åþlÏ~T³Ìb!ÒÃÖS“ƒ#[0øÆk$æNøô\ÆÄ>•È+`Ùp!ûu&3ä¯Ôžú Ì)SoûÖI\hmJ•þmqì8—n]öÐhæF¼ –~s;”¨¢È/ˆáÖñHœÛ[fð > ,뎠÷ö®ÌhæÏlswZ-þ—~éxRÏ}Û¶I7v!“;,ç­Âë"ÅðiíEã Éð M»¶,[ŸÀŸÁsé\g2*}[<ÝT(ɘA£aVƒY{þaÊŸS˜Ön-¯T¦«Z“RVº¼Lí!ƒÒôîæI‹é}èp¸*£7”¥hʾ~©"6®À¤Ýk)›ýP¾ü—:ž£pÜx–i¥Sø:%„1µ¢?K=×szf9 økãð«¾À#éY8Q¹’Ýa–%ÖÕÞÇ‘Nh¥ð\&…çÂ`oê]îÏ™)lë¨âí®6”îôœÁ'wÒÁVÈy¸¤:eg—bÛ©ñx$ÚQ‡[S¼Mÿ\[Kå$˜R!€=m±·£ío}2·êÝv¸õÅlÍEþñÍ V$ð9NÓ¿\KžŒeu³Ìû† ü>ïL‰æ/˜ry uóåðo‘À7Y±d!µêÖÿøwŸYûhP;€ÈY†vÁ:}:”éAUÓîÞ}û3÷ýÐÔÒ¢páBH¥Rärª¬¨þJˆ~SCK ÷!‰hJÐÕÍ®!è„ê¦uãoÍžlëX$C®W1WW°ú%çy~4"T²ÐÆà£Ö)=÷]Pp¼“Ív&ä—t÷ÖÅoä+jýµ6…~·[d<>¼Ëš8Yjðâ›ø+x+ ÿ4+ü»åE6£xÆž‡WZŽwvî%=È_rz×âlœ°ÕyÏõ]³ þçÁ?ßÉI@ ƒ„€€€ |{˜áÝב¯ï:¤b}ˆóUaö¾ÝÉÎó)üÍÎÏdÒ)Gú.„‡.`Ùˆöú£T?¯ka—Aÿð´ÐÁ¹×zö6Wo¬aˆM¾o)Ƕd ÛÚ1o\ŒE"<†mcOOgÔ`Ýh>¡M¥Xçù ?Šw„]ø çP’ÇÚ ¿n+9Ø¥"Òß0;²Ùýüs>56~çÙ?L¡Š}Èɧ²ìøÞÊô±(êEãùè]Ëï½¶À¯Ðu â|•˜qñî·o’¤pžÏ70ô™Â‰ šè'ù6i™bïbš)ÓB„n"¸HïýÚ¸ŸËê¡h§X;ãjýõ’¼¶¤ðóï†9•Gn¤òÈŸ-ȯ‡¦}Gýl1RAdèI¿•GÓµ^@ #ˆ€€€À÷B¬…~&iêex­‹€€€€ÀïÁæ×}õ[Å€ºYŽW0@¾¢Aãf)î‚•U„ '~žÙ²å{È! ð “|ŸqÜAŽrÁÊq‡ ü¢¼}óúg‹e„A ÜÉ÷rÁÊ”"“%d9aßL­Q©TB‚~@øÙ$6Å«Òc¸ÿ³eÉ Ï9½"˜À*ep)$EjåDéÊ é:çÑ?K&ù}æU´Ák rs֦ƹ ;AXv×)àO0ú>dsÔYá¿I .gb2GÔ~З@HDöÉ•j:bXó T¯ ¬ZÍæDT°ÚtëBd6GÛ¿€aÕÀTD†àÝŸŸ×邏ï)³üí%6ŽkO ŸâØK¥HJP±n{&KÖ粟Íÿ®cë¦õìÙ¾‰};7spwöx5djDPŒr ò'lê@ÐN]*´mËîÖhG=æîpTŽ„-xr<§»BÙÓpïØfPkIéY]WX¾JåA°~‡ºÁØs0y Ôs™rú!êßKfÅ›Ã× detiš·ïO‡ÂÄ>»Ï{Q²6Ì‘;Cå(¬ìàüÙÓxùø"—Ë~–ÉÊ#g‘TY%îÚÆí”SsÉ^äË‘8‰Ä5Uÿ_NýÎ(áé0®]kÁÏ–'=|7™å„¯Íʧ¥™zê_þþÞ'aü4¬ìŒKByüjAà'¡ŠáÎö±V,N!©ÇÒÕ Úð(™’Mh7W<ÚMdx`9œ¤Rl«Î ,âo. sÒ8ÙH‘J¥Ø{ÖeÐúÿˆUì¿é”“z0ôbì§´¢ŽÑÕIŠ}ÛýD¨>ŪW1¬ª,$<î>óü©<ž>}q)(EjãB•^k¹—þWRÆF‡‚ØqiLïUØh IDAT+‰º¶’Þu¼q²’Rе­&àI2"ÅÛ3ÌíT O)ÒÂTí2ŸSoä©Ä'ãÁúþÔ÷)Š­TŠTZâÕº³ðRä7åPÅ…³gR[J;a%µÂɳͧ^ácÎÉ_qj~wjy;c#µ¥˜O]z-þï©Çy.ò@÷ê`$± 4žÿÛMÝAK†ö0ö$&ò"´ñc1h›A­að0™¿Ø›Óоֿ´ûëœNæÃTª¬‡ìŒKByüjAà' çáê¶Të²êŒçß#'Ù>oõœ¾ÿ’ñòðaâ* añæ5Ìë凙ˆô¬)8”¹v±'d%ÃýÞ°ªogÞ‘¡Y¨Í^³/äöÇxôµÍ„Æhv W’œùcn°åÈ\›WC*”‘\:ŽMÓ±¬Ú³Ÿ-Ój³q }Ö=L÷GZÏ£+AÞ*•§z—I¬;õè,ùãµ´­7𻥇°îÄöÍn@ì¢ö´_|@B³7antu&l åôöñ”»7‰ÖA[y–â·T„–y öŸÁÚ{Ù±v õÅ;Ùv"—bSº žÓšÑ~QUF­ãð‰#l˜=ˆæeLÑPE\F“îRràjŽ=Äâö\Q‡Ú/ñ­å/FC8z¶w‡mý ü$¨4._ÁV0ìø_¢lòp¨Sn•ƒ}ÿÁÅU3êÏ‚@ù+Á¡B°î Ü:súÃgÕå-¼¶…ÛàÌ.(­zÂëô6qlm5&ƒÿD¸z¶N/“Ïo{µ ¼Ú€Ã@¸ú¶õ†ÕÍaä¹OñœÛvma×y8¾¢W@Û%‰Êž æ×à›0*n…Á†¿ šm:åLBêþ GoÁÉ%gxVITbÓ‘§_¡Ág`KsÀNÞƒ‡a•:dÉʳ¤#OÓ‹ôš ×þƒõý!4|†$®ßQÁážP!¼ÆBX8l gzƒ÷õšQ^˜°ôW@Ð6µ|õ/k¦B>q:ëbD… ­A¯ ½ —öÀðæjc2½¨¢áßKÐ}1ö®0! þöãæð:bca¤  €--!`&T§®Á¶¿ N‰ô»æ\õgBípý?8´:ø¢î+¾ƒÌ" pª 37Âùó°y8\ÿ Z®ü|à"u´plÞ›jy/1ÒߟÖ#—qøNd }¹’7û‚¨Õû…º-áà™#,ëhÄæîüuYÝË¥Ù_ç2·$T­œ…P¿-ñ7X:óºMÖ3¿w9 E–¨Üò2þÖ÷:üAP›X%ïAmkÒ*™Âæj˶ ]8~'† [jýáÈ”e;¹÷§Eµc¹rмíFà2“›1ø–Ö#öÖVD¸Ò·ª%"òûw¥k#wtzÑmÉJF††ׯ&}®:Nt^sM‹øgáú5šE?SuÌà¶å( ǵ¿§q®Ð`Ž®(؉aÍWRcÍvîwè…ÅÉé,÷aòúžT1¶ô ®ÎšK9úªÍ,¾Ï’`Y±9ÿvÁQr„uÏsùµœRVÆë{¯ oU¼½\qÈ«vö¸%^U¾ÜËÔµ/)1f Ãê[# 6ŸÀ?ÏÏâ?o&¡=–RÙ(ål‚ž­ÁAÜûAÕ)ðª#t¬¦‰ “+Ãÿ^Ai¸ðœt„ÿƃ°‡)¡Ô"¸Ó "áa,ò‚2® +G×/Ò´‡áÁIKý÷è®°u)<ˆÓt8”ËîÃðuPm-Ln–8bhå @HÒM °d(õ™í@pêCþ‰‹aÔõm–5a@ËD?ö¢0pô9 ±ÝÁPwŸ‘/”/VZàX$mù¾Êc#¨Q ÜôÔùµÊ œ¼aÒXê—vžZ§§‘Xä±6H­Á:ZKjÏF¥õ`ZyZôÒ)ƒNa¨ëyGØEGþAP/F,¯Y0µ¹Z!³ïŸ€ëd8<jå£r°v x·ƒjz0c"ßĺ®HG]L‹Ø§ðð,îNêºV,éb4ÚÊ uùd?(AKC­¼ëè¨ó@öFn‚.‡`¼ˆHž`úxù`åýÀÙp€’‰×2¢Ë¤WfòÀ]>ÝV²88ïÄ)•Y‚¬ª·ÀéùvÝO€¸[l?¦M@ãZ4óUr|ÇÄÇímû‰poIe‹T†5ôɧ'F!Sdè+Ò² ÌÁ,>tGV1¾¶{G7Å¿ëFžÈù+.žyŽüúp| Ûbkk‹­mj.|Š*ò)‘òºLTì1º•´K¼n‹KómD)#y™òøŸ*æÛ'÷¤EÝ*”+Y—Æ[‰BN|ªÃ…úxõ¥¢lMܼi4`6;®¼þ¨ÿÄ?<ÃmyAªøX$=Ó¶¢/æ±·¸ø,þ0ÑYÜ'EEbú"ˆNäpö8È/£hi©Céé zïå i£;ÃÉ.PÀþ wÒØ–ÊÀ ÄrP¤³ðboÃ@Ÿo|¬£aïM¸? ò$Ê©¥}¯ÂûG©¸³h€©>(d‰ï¯ =Fñ°¶†ÀpòQÖ¤ô‹—z´X–Ž<Í1d&OÓIÁ*`'@Ü}¸)‡Z? .T ,bàì“ÄDPf8€Ö èÃË$*íd®.~‰i5äÁžà\fî€wÙT&"'÷“ýûÜÖzîŸÞ#£ø …j ào;¿ÿKe&-¤$3À‹£Ð½>”.ùóBÐåÏû‘ô 1)Ný~sÙuù¡§ÑÒüµ­H‹E·Õ;ÆÜâÈm9çÖÀ1±¯µ-ìËÈ0O#‘§Ù_gS&|g2·&;$AÙÊYå!ð›¢R$¤s=%ä¦3-ÇVv®ƒes¡Ühh±–5ÎÚn5*(µÂ´ò4K›¾+Ù•§©Æ:/ÒúÜ~V_4Á<Ñõδ’_“d¼.~‰Ø&‡Gaí*W{Á‰P2)±¬¨_<«’ƒ,b2ßébPv݇Ó!°z14õ§ 81ò&¥“2Ç\¿ `> –Ì…‚ư¡"e6~±¶ÞMRº<MËÐûïÕ„µ‰›R\ ÎÁÛXZ×üóú§gŠÏÒì¯s™›Ɇqý” Š!üäJ†–ÅÒÀýü­8ü!Èõ[–‡’ˆ;˜Ù»^ÎÖä50Dߢ^Mǰý~ ÊŸ._æËCàÇ¡aä€s^7ö^!2£… xÅÉÍ—0l8ž!õÝæ5DGò…º©aAå@ž…ìäÄö(*ÕÁQ ÜQ2b/»ŽmcçÛ’´ò3ý;U©Ë ʃ‰ž$ù(RXùõ£<ÖµÀÒÒòS07D"ÒÄÂÕñû³œyoôùõf觤¡F_fÑx*ŒC`)[L uÑLéÅRÐDÚ(Y§ ãÖžàÈPGn/›ÉÉÚ6¥°?àà©Éì³=ÉKýb””j}W¦€‹È.Á=õ¬ÀÇP@½`6 ã¢Ði œ¿ MU0yqö)Ò:ÁØJª ÷EzPR a»A£Àç²ZæË˜Ñ£iõzÂÖk°´¬³`G߀3ÑàìšÈÓ/«„†& ÈœMžÞg“§™yú%áà‰JÙ€Ž8ˆaבÏ廿ž€w2Ÿ´[saÈ#˜Ýö„Å÷¿Ž;ËuQ …+Bðb¸ æ§aÚ9@¤vIŠ~“ÞµŸ#}]¦:¶`-‡g²öÍé€wS˜³nL‚›sáÐ;‰ACï2yXNJ2ß ;…aþPp±¬Õ…¨Ô†fJ@¤k›Ü9††¹ågým~c-Diö×Ù!Ô÷G˜É$²»ÿФÚÞz5£M`$3·@Šóu¹\Yñ<ܵŒýN4êß7bÿÛÍÜ‘“iVî+Î/£Aj.-Iè¹Ó¡mÖOëJ« ôªé„ч0BB_¤Ý¬Åz°ÒãÝÅlº(¥¢Ö BfçLE©7i¿RK܆3f…åWQû•¤qñ§ô»JM£œiÌy8þ f‡fS&®Ezô¨ã½©Öÿ6NËãY¬ f’Hî†nbñæÛضÝH€™0¤T·ÖØíœG—–ÆŒèÛ€–ÞܹÁ#ýò4­$ÅÔ?ˆFf-Xت-š#»SÃÅ å³[Ü|]€j ½0ý²‰išR0¯Œ¯$Ô©¦áûø{Ô:^« ̳|z ž a× LlKSÖNÁÿ–¯"̲®ÍÑŽ¼ÅÞOÁ¸fÚ"4ŒèÝp-‡wb\žñ´)mÄËcó0í.NAsñÊêÐt2ʇдü5¼¬áU<0€65@ufl‡âeÀ6/<>߃EÁô~X•ľyÁ{•1ùMuS4:µ Ÿtký eiH¸;‰7éB×>êEÇí`\°×ƒ;W@æ M ¦C”XX8ŒË€“bîÂî0Ðó @•À»o˜afúÛ©^Æ­ [¢nÀ”žð¸ü[.}yªa X»t GÈ/sgP͇5G ‘)(¬ÁÅ$íüƒ”ŸµMv]¤y5!t=쎃¥Á=_yêþ<‰»ÿ ¸wú³@¨•_=³2¬%Ôè ƒŒ¡[9x¾:Ž—¡à—¸Æ#î:´†V» [ˆ9½[A¥ƒà  iÕÅtÈút7¬y^î`&†ó[à9PØ@)ox»¦Õ‡ÚR¸ s.S}õÄ NYI×v†>e!¨˜Lƒ¶U@ÿ-ÄÛk>PÉ"yõ:S3òh¦ƒBçÁ5k(a:ïaëA Xè¨e®äãFÁzus9¿Ž}»4DNMfã‚ qfm‚aÞºåãâ%Å«Œî¿ŒˆÊ£˜Ü²0_‡Äsu| Ú²¤|¥2¸¶@/öç¶/eÍ™<Ô]ØX}V¤­:¹³tô@š÷‹bÐ^ØéFqÿæmäeþ ¶]ÚýunØàWX’É ±ëÄÎûO¹¹w>ý¤hðóeú}ËC›b}7°mñXú¶m@årå©Ýn"[¶÷¥`D³¾DñÓeÌ\yüH´)Ú{ÛFV$bãV®@½^+yéèŠqZ½¹Èˆòãþ¡—ËFÖ*ƒoàT®:w¦­íçsáb³ò–ˆ%\ÃúΉ~L"cJ7.NìC>-}È›‘Ñ+E·Žâà‰{©lª_êxjóßÞÅL܇^#°÷QšLaûHïë]ôܱmÛ8êjer‡ºT hÎÀY[øßÓx”€Ø¸“v¯åO¿h¶hE­Ê5h;l!{®¾A–RںŴd8^Ì¡±7 †´UÜô›R¥[ïÌ¥[—‘üû_ JÈ^œdá€Ô¬ä‡ƒ~¬©Ë´ £(¥ˆóRiÊVõ´àäè&øxV íì;”¿›-}]²õp3ýR Í´aXCð(ÆÃ©Ç‰³*¸¾šø³3ÔN£`K‡t Q§\Þ“†‹¤>:¯ ]vÀâV°½”( &€Ô‹Ï,Ò.,éy,n•`ø¸›Ñß·g!¨.¸9ƒ×p¯\¦"ˆ¿ñÕKVeÂÕo§çq…èUP¡”kËÂáSêu vžêyÀÐðoh3ž'fŒu3æ c«@ɰôv:ó/µg?‚»Р œ}—¾¤v]ÌØr{9rÅ);_ó+•Gòð”w…Ý–ÿXåŸC£?€¤òˆxÿîg‹’ev„l¡VÝú©^kÕ®ã–H@àg£âí®6”îôœÁ'wÒ!£Ç{ÿP¢93À‡Çš°÷ØP\´Ó~âûó³ó/'æIjä&YIcjE–z®çôÌrY^s#:+–,üìûÜgÖ>Ô 2FöñÄsõ¿_Ÿ„žô{>CmNŸezPÕt§»wß~Á+{H|•à‚•SP¼9ÁÄÖ#¸ã5”E>¿Ì{ ü(ž³oáä>Ó¨“‘}eª÷§X´í5Î}šã”S”ןœ92OR!7ÉšDÌÕ¬~`Iãyž‚ññ “©–›}G-fg\?‹¹ P"OH ·¿Nî/1a«èÙ¤?‡ì‡³cE' ‹s¹üBh Ù–pšýl9Òȸ2 o=IûÆÉOο™'©›dMB¯äx.>ÿ³Åø­1Ô‘¨]וJ*P)UèhŠQ©Ô3 ÉÏìðnÎzÈ*¢¯Î¥iͱ¨Þl¡®•=Ž}øîiE^‡ÑÍ¡ˆ%hˆ@'?”©fCä*¸¾J[«÷è7u†e²!ހꔕ@Ë£ß#òn­éMMO¤Ò‚¸”ïĆGòïPN#ŽKÃJ`Susâë*ž±ªºNÝB‰þÙ²|FaS|°*=†kñ™åñØ[ÕeËá{"3vÁø!Ära°7u/ôæÔ®6X%ö¾"ÃRôŸ7m§ï»mEäið+ wÜ¡÷p5w!ì8šf=~ÙmhÒ4z‘Î` ä•f=ÞÜŽüþ2º Ø„¸Ý46–Æ9F„O¯À÷EÇ©3çÅSÜ0ûqÊî0Ë¿"kªïåèŸEÑþþâ ü<,»Bö¼xþ,ËñdByä,’ÊCG'7î¥&!´¬ð­cõ}ÓPBÈ@¸\®„bß¡ZÉÞÀ1÷…ò³?þÜŠìÝCÞ‰éÕ©>ÞÖ‚á!ðc˜—¦fŸ-…€@êü4,!Ai‹*.œ=“ÚPÚ +©Nž•h>õ ±I7ÈžqpRKü=ìJ)U»«®D¡üƒ’¨ëܨR¤Že¨Ùi>×ß_cLi{j¯|…òúPÊØJ‘Jmiq0*¬˜BÛª¥p”J±+^žÆC6ö!1ù}æù;S3x<}ûâRPŠÔÆ…*½Ör;Ž”QBdѲÔßÿ\h¸Á½d.3w§¸œ‰Qÿ}ø(PzUchy@è:Ð÷Jèi§vÁÒ¨ ©¤óæ4´/º Ò{oX÷H}-î 4)Fu<úÖÐy)Ĩ>ɘ?ºW#1ˆM ñ4øß6hêZ"0´‡±Ç@‘˜ÞF`Q Z–}ˆ À¯\ŒL=/PÁíµPÉ 4E×z¯…èt6͈ ±¯³’WÊë{Ù"•J±nºŸ( ÍrN|¾°W&lH)R‡F¬}¢H1­oÖ]ù öŽlFy·BH¥R¤6E©ØvÇ_«ãúp¬Å<;3º#ÊØK‘ÚºS£Ï.\ ab+?œ­¥X9W¢ëÒë|H|wùƒø;úÓïÏÖTt±E*µÅÅ¿S=#-+ÅÛ3ÌíT O)ÒÂTí2ŸSo¾õT*í*±a*#¯°ªC|]m‘Z9Q¦z'f{ÁgU=á ‡¦w¤jI¤ÒBxTnË‚°/ RÇý­Á4ösÁVjƒ³OcFl½û±î}%UÄi¦¶®Œ‡ƒR©«">4½‹Ç‰ 'åëøaí©æY+©{¯?˜rüõǺ‰*†;ÛÇX±8…¤RKW'hãoïÚw™eŠRðšú8a%•bçQƒ ÎðVñ)íÏ\°Tq<Ø9†@Oœ¬¥*Q…V“Nñ6|• –gÒ]%æT¡TŠTZƒ5Ïê8¬°ó}²¤¯ŒÄÓª<³ïÊ€hB»¹âÑn"ÃËá$•b[ua ‰evm%½ëxãd%¥ kZM>À“„o½˜Àï„° –€€€ñܘ֌ö‹¢¨2j‡OaÃìA4/cŠ&€êgG֥ݿú4Ÿµ›Ó¡T$”ÁÁ}¯Vãn΢AµAœ‘¶`âšýÚ4ƒÞMÊ!5t¢÷Žã,®ŸrêçÎav¹/O§Qðr{wª´^LTÕ1l =ÃîYäÝÓ‡€f ¹›¤Q)#¹t(›¦cYµg?[¦Õ"fã@ú¬{˜²ò'F£Áî.”) ]§Â¥W™Ï©ç{ ¶l>k†‚CCø?{÷Wóþpüu:§­¤…NI ¡aÉ.‘ddÏk%ãÚ›kËukÏë×&;DFÈ–QfÙ#Iu:§óû£P~I’u}žÇyxè»Þçûýžs>ãýù~žî3 ˜q ~'äÍdÛ”‡Ð¦&„ØÂšãpõ$Ìöi§B¢5`Uœ>Ö‚…azÄ»}<:ÒÆpð2lë[ûCµÉPsœ;C,aDK8ðn›‡ÇÀq0»»gÀëåàÞngQî}¼*¶‡¢ƒàÂ-ØÚþm£Ofï<åõ^Ã¥ -0Ñ(ɘÐkDEEqc¥Ù½Î@âÝœÐoĸåY1­3e 3K©ùȽ+‘‘¯T=zN^ƶ];X?»æaSéü¹Ò.2µa]†³"`á>N^ͰŠÑÌhY›Áž§6¨ž°«OmÚÎ}Håa+ØwdKG´¢\¾ôGIáéž^ÔësÛî³ïøþñÏ˦m˜zîu¦qI4 °óôgÜÂ@‚‚6±¸o)®.èF¯ 1o+I÷pZR™Þs6²wç úØžeFIœŒPrçßÔéºêOdý#l›;†öÙ˜µJËù«¦´™HÈîõüÙ\ŸÒJö IDAT}ãÓrnÿ?tDÉÛá° £XÂöùCh]³†–-Y}t… @»•9y’“§–ÓÐLúñHæÑþý$VÆ’M«˜Û»*fRPÞ[M‡†c‰tÆšÃÇÙ3Ë„Åè´$’,Ú@„ŸHŽúƒ:Ëa‚ÏÚïO«(|9É<‰z ù¼p«èHÑ|R°±Ã)m©êa¬I á²)tªl€å!¬^×—¥§ÇSÃNÎZÈ2ã84µo²mŠ;¦íÀ¼ æydhhQÀ‹´åêôcÏ•·X7m'ÊZ ™ß¯¦€µ?ÓæERÅo‹Î·c’3€„üÝèÖ$mÂÓ¢½éþ÷ F½MbûB™Nº™ßÎ^€3`æ ˜?ŠÕ…Q“ …ã'¶F•€á=À:Ý/ÈkíÔ}hjCV™ƒª—p'l+BGЕ@1Çw˵‹@·"ïþ_ÖÖýû"`x‰Ô¿Il¡ç/PTJ÷¯)ðØüë¤ÆÐküá §ƒk¡´†V>`)ÇRਠ¶m`ÉS “@ð÷pÈÛþê:€}W¶&-1® ÷±ó¤¡‰¶–&h ©¥ƒ¶vZ¡Nùñë\N7m'Žø÷kƒ—AVÊúÞEj‚kÓ6¸¾ù¿c /¬£ö¶D+<±£Yç†T4‘@±^ô(½”!&ùµ©;@‰_ûàºèWßxͯvoª–F8ûúPÉA(F '+^V÷fñ¬Pz/¯™Iœj^™ÎüÛ•øcmOj¥¾qúþæÍªÖK9øØÞ¿ã²ü\Åû‹EW Ó{ïdÚ”H½ ¾€¸3•:m«´ÄìîF¦lI ÆÜÅüÖÀ<õ^·ÒÇ%ÿ0v¿=…7Y3y7†]v0¶…Ú€]ÛôZéÎìÕ—Pº<ºCbPІmK½ý¿SÉ‚ÄlÜÉ”£·Ili‘¶’=mz·ÇÛ$µâX¨ !ü±’вË,ýë0ºÍÖ2¯OeR‡kX vÊÇÄ«Y]ïTù+5 ¶«=Z@±R˜Ý¯DË 9ÛiéWLºÂ?3Ã(Ø7˜9½ìÓÆx§dÚb3‹üij i˜Ÿ‚oÇ€dû±E[Ò«}Ý·ãÚ ‘ðÓ8i;„Ð!¾’…»0¢Õ ê®ÚÆÍÎ}(¦™Ý ÿU9ª€4kÕ6·ã¾aGàVÉý[‡!¤ ;zc“\,d“>å{õ£Æ/hæ„[‹¶´oÛ’ÚN©­È‰7q)ña-Øü¶Œ¤D©‚Ò_“’ü’³ã±næNŽÇ'Ü$, ŠwwÁ8]9,OÉÚ”Ö^Á¹+/P9g²Tc= Tɪ,S7ò:À Å0pßþ­àbL¨˜Ã˜ßHk˜ÿXv’¦ Œ €Ö]¡à<èÒ º´»7µ¦8ýL^·àΈUƒ{Òö-=ˆI|·\fšjŸEº‡yU(» dV‰‡ÝWàæ%0œöîÏÉÉ eÉGӌޒ¨Q§>;×¹ÜûÅݬd}ï(îícÁôeì¿t›{Ñ÷ˆ~–’PfvR5t1Î#E•ô®KB¢eˆ‘–ЧIYÜc:vxVÊÇÜcy”œYDÁݰsÄ%Ü¥{9z¾ù³J‰RmËý—*x¿’ü ‹ÏU21g.oVÂé†NËòãæiCÊ‚“ÜMjIž¨#DaÇ/åM>\Ñ~}•וܹZ—b Þô2©Q*ÕhZ¼üÀõVò8l9Óïä\Ô=îEGó$ôl”XN®sÖ÷nÞ¸P†ú¶c·ÓæÍŠs]bxã¹òSóñ84µd !ûà{P)”`ÔE[‡ãœ¾Ž%Ñ$¯Y&¥Rµ*‹Ï•:ëûíMªdRÈúÞT§¨P¦@‰ß¶²´yÆë­gši¯bÂ…?ñk²Ó>s™:Ñ+Ã×lkâʈ,BÊpL•‚d分¦&R¤H52ž|µ* •*‰W‰9ûfúôáˆ)$«@Vi»gT!CÖ Ìsñlï`º Â÷D¢]rõ»2aõa /ÆõþâH¬myi,¹Ë¡p¦X¼}ÄDG4Í)YXÆ}ßB}oÏhhj€*ùÃ…k*Xõ ÓÏËÏ-©c9³å4Iò 8äËX´“¡XÞXÂö\#!³m%RdÒ´Êa†?k"MyÍó„OüBS¼ˆ>ÊK¹§[ ãu67@ö%î=á‡#* ‚ )±œZ:‡•»Ã8w5’ˆ“{Ùq8Œ¬1Ó– ³jH}"~oE×[8rî ³aÅ&.Ä©A’*=ša~y<-ºÏdûÉÄÜàtx4‰jML‹@}c3a\¿NÄó÷~Ø5mhÚ«&êÝ}éþW0—îÆpíðúw[FlÅ^tvÈaÓa2üå%<`ÀX¼æOŸò°!Fô] PeÈ£çépØ»&¬È^¥Bò.k%KŠHøc새٠g_@ ÓyaxºV‡Ûá0¹ìÌN÷û°u\¿Gþ¿.¯´µ‰äÓ„£k!h„?t¡[_Pí‡Ú!ð\8úëoÞ«‚çîóøÕ‡²$’LrÓrû:äÞÕÌgYÊeVüÂû79¶væD}VOWª8®íß˱ˆ;ܾÂÂÞ˜÷°,½û¸b€}}T7w¸'„}aÑ(ÐÀÔ£MÌbXÔ®Öäì•Ëœ dåºc<ɬœû‘ÏU^·^üR8’iþCY}<’˜ÛçØ>©+#N˜Ór€æ e׌®Uìïß‘±ëpñúUΆlfßÝtg@§íº”&åè Zõ_Dб Dœ;JКel»™Ù (%¯U4nò÷Ž+ÄÜ9ËÖ?û2!üΪ^i:w(γõÝè:uǯ\'âän¶}˜­kóìü>öŸ¾ÁÝ›áMïJ÷ ÉxêL‰÷ó¬ôËàßÎŽè…mé0iG#îqïz8g¢Òžà'5ÂV.#&x.ÝàʹËÿÄùÎrú7¬FEoÆ/å@ŠEƒQôq½ÏŒÔi3œµ7ß^ ‹Æ‹^Ð éÖøVt¡Î¯+‰­7—à¿dôý©ìýÀö,þí`ÄPVMá6èÛÔ–õ†cƒÁ¥<øÏ“ZP ›™²ÙêQÃ¥ÕЬ*”(õG‚ýì 2 Ôž ¿•~¡¸7œq„_‹|l§Ùð–g¨3 3 Hn¿ ‚çóÁ¯+œxžºIñ¾pfÈOA›jàTFþ ‘i£s“.OÅ»œ¿_øÐóáÍYÉx^rù:äÞÕ´ógþ”F°º#Õ\¼é·AEƒ>U0üìî4%wöÍ¥¿Ÿ;•êöfE¬³÷¬! ¨ ‰M“¾ø™cr@&í¼‡Ð0ªÎä Õ ­϶Qí¨çY—#±ëÂS’3½y>ò¹Ò/ðm›åÁ_í«ãR¹9ãà 1hcã+¦öHȬi»lS›j<¦µ«×ÅÖe ”5çÝ­­Iÿ5ìþ«=ÎÍ¥gã:x4ëÅŸkŽp+>³~)ýþbN's‚ûxââÑ…E«Ò«ù' oЦdŸl]ƒØ iìY†½Wð¨˜#FÙ¸â¯nãÏî>T¬ìǰZüòÏ^6¶È$·^‡þlS“W[FУží†³`ÏÝÔ'fIŒ¨:l^ªtôò¤y¿%\x•‚̲ Ó¦4Çp÷ šÔñá—k¹kS‹²y?~ãè•ÌÖ­h u?:7À«v+Í ätLZ**Ž«CØw8*Ûµþ[$«V­R×öª•í ¶o ¤Y«6Ÿ}àÓ'S±R¤JÀ¾:1ýûò_¹Ëÿ^D½2]¶}K í:ú刄ŸÍÞ&PëÜ=žú¬ÜÏñ•ð;Ԍ݇†ãð“M­¼5/÷Ù”<Á4×>LÈM‰çå^—àû80Ð1’VÈ©÷Ÿ·o ÄÑÉM-­O*ŸŸ<~샿ó™Ù½'8gƒÐs0"IAþ3Ô/ÂX¼õ %ú¶Âþ'«|‚ |®U@DõCAø™IŒñ3(‚sßo VÒ%&VóbÎݬVҢƢ3¬¨›ïÿ}§~NP»²tÑÆwÕIæWËÞSÛÕqçøwÁ¢óºÓ¡C5ÌsñKá[…e!·É w%$ºë·ãç¤ã̘ÓÑŒùÖqÂgÈÙcx3}©xyc/ó5¡´™úyì|6áë~œòñy"4ò“?ÿ{/ÓwƒÝt]û2 ŠQæÏÝŽ;˦ã ЩˆŸsfSeþÎ^›ÁèésX|\…ލ|‚ ‚ B®Ê½„pÆ×kÄbÍ´êÔ€¸Ù§R×Ëaӛ̲%˶ÌxØ×¬üµCv¿¦@ýi¬›ÞŒ":™ç¼ºÈ‘xUö£lÞìæ¼âܦ0Т†_éOžéVAA„¬åÞD„:ÎŒãÜúq´¯S‘’Öräv¥©Ñe±H(Ó¸Æ5qç–3²Kj–)޵\ŽÜª8å<:0íà#”€òæW/ÇC^Gª”3CMlZx`þ³NU"‘‘¯T=zVè­¥‰7÷ñ× ©têÄñ…ž‰­‚ ‚ Â'ú2ƒÐÕéþý¬Ñj^]\L×f£ÙÿÒŽvKÖ0®NÁwA§<%x@FLıû*–N4®ˆ˜BuÜ.Þ€ªR×¶î´“A­L$!1™¸ð x7_ÁC=ct¥ +ö¡_• ì¹ã E¬lo•Óó"5Áµi\ßüß±†ÖQ{Û ¢ž‰gß ‚ ‚ Ÿ(Gel…B‘åre²5’¬@¡ÈQ– âÉ¡ßiÝvuܺm1ÝËfÈS\û›1›ŸAÉ‘Ìüæ‰UJîíÛÁmÀÆ·&–2P>=Ú)Y°ó4QO3ÆnZ© Vš€â&»wÇŨ_­ ¨|¤QÜÛÇ‚éËØé6÷¢ïý, $¡OÕAArà;-g'qkÚöÞDŒUf­ý?ë÷›Û“¹½{+·k¯jÈß¼e ¶\,ñ®efüÆøú²ð¶Íz3ÁÕ#g'õcñMCª4( ŒaÇ- °5åßéiùÊÔ±¡ õmÇn§Ì›;çºÄ,ðÆså·ŽLAAøQ}‘‰Õê7ÙW9pžGø¼N4ŸxE™Þ¬_ÞŸJÆ™ ÂPðøÚcž\¼ÂS¥=e z|„ÀK€¹ÞE´‰=2‹å·B]™1¹%´Ô¼¾¾’£=wüó*‡íàDZ"–ZŸòUÂÕÍìyâÄIþT)(’y Æ}‚ ‚ Ÿá U@Ò†ŸjDõŒCãšÒzQ)€ìÖj~õ\ó«é”ìËêZbåj‡dóYâ÷þJùrá`šÄÝkwˆòU󥸮šd$©i[wfÒ úAJå{Nxø€–»¥ Ü? À«m4xX ­$Kz¯ø‹:&9M!ûñiæ³Æ,e+þ¡bG;žZÆÄ9Q¨ k~ëÐAA„T.–®•¼ˆºÈ¹sç9%šxU®]àܹó\¸þE6ê!ª;˜”VùP>ÄÇÿ殺s"¿L†U«…,ëëI#)<¹Îg†8W0òàÞÐ}$UË 7¬ò@üí¢â Ó ‰šH)çW>íIN:oÓƒÚEò"å7®ÅlRKýŸ·ò içÏü)`uGª¹xÓoƒŠ}ª`ø³>LAAøl¹×¢~ÎÞžžt?õîO·õe@±ßÛ×[ͬ÷+•·egtÛì¢iÇ€ex ÈjK|FoÀgtÆ?Ïø+ýÿ$è;øó÷!ÿìûg Ñ¥X«ìn5#ß;õøFñ‚ ‚ ?¼\LÁ2Áo[ ~ÞêóžÈ+‚ ‚ ÂïçÎ1AAá«ú"ƒÐAAA2#* ‚ ‚ ‚ |5"KAA„¯&G7 ~ÎËÆÖŽ‡îçöûA„ŸL /Â7³ìߢ“¿×ceÜNù(ŒuËÖsì±òK*Âwì›U@r4Kº ‚ üÔâ8Ô͹\žú*ÜŠOž°o\/†ý‰Rò…Ÿ’ÃceØNÉÝÃè;r=yÁŽV…ß½ûŽûbÑ ‚ð)X‚ |g^sr€#r¹‡ÞˆÍ¬By‹%>VÈåvt>ôê½…*^„¯cb—º¸Ø[#—Ë)âäF­Vƒ™¿ç/UïÖL8=gy5fE~ñfãŸê>+½-±ï~”øoKv¨Ÿ³­‘¹Ü~'^Ýc']bBK*M¾‚"·÷‰Í‡_SbÀ*v±;x’“l:£¢ˆo ,r4²óäë3¨bYŽQ቙.W¿ÈÙ±2lÇm½†ÄÙ ùòà2z;A;×2ÔYŠ^¥F8æù¼÷ Â÷/G_UGȵ¬ ÛæÚ¾„ÏvôÈ·AÞz¾a K»W¢Oq­tMáYÈ$þ OÉd ·V÷ Ñ€$•mN×±½)SÈÅÃ(.ØË΂©^­†Ò¯õ„ŸQòí=ÝËO­Ú6h}|uˆ;@—ö<ûý$ë™eÙ2˜xm;b‹ÓÝÏgëÔŸð—!œP¢“g!>2ßïG(‰Þ¿›Æ5ñ)¦“y¨á9;Vúí¤O7xJsÇT¦ƒ¬˜æq˜¥‰K2~é^A¾¹U@šµú„ÙÊ…FØÑ#¸UrÿÖai~úÊ …Õ“÷0{|­þi€ù›JCÂEæÞ†Fe¬‡dØ$éÊ: Â(` †WÁämE£ ÚÐëkÆ/ü¤”Ü ÙÆ-“âßq3GVÑø#i IDíå±Mkj¤ë~0¬¹˜ëÑŸt*ÕCB7_àêJêe¾JN•q»fl¾×,Ãòø‹›9šäÌ(—|ˆú‡ ü÷å(+9Y‘k/A„Lå)Gï±>ÈBÆ3'üMÒ’{ǰøqUF ®‚QúõÕqŸ³ˆ›~Ìœ¾ò‘Ë’pp†?Þn%±–[ãT£#ƒ:”VÁ½½SèàåB1¹çj4¶ŽˆWi½5Ê›Ìõ(ÏðÑø{:`-—Sܽ SB.º¸¾em‘Ëm)ßx,{¤îQý4†ÅªÒlO|ÊF./‚«ßH¶ž?ÁêM©XL޼Þ7p3)õ0IWæP×ûB©yõvå0xí5Ôébøm"}›VÁ¡°y!jõ^ÍõôY7ŠhB¦ûãU®(r¹-e<;0?"}>\¬%ä–Tï9u\°·’S¨TUÚŒ[ÁÊ©½i\­ vr9ÖŽUiõû^î§Ë„S¿ŽbçäŽx¹Øc%—cëÒ„Ñ»bx7dYMâæôö£ZY{¬åräVÅ(ï;ŒàÇéòìxÁ±©ð,S¹\޵Sz¯¸Ì«AŒ'¬¯Ã»± o_Åñ~ΛÍS^]gçÔ|*– ÜǪõé<ý*UPBH¾Ã¦á­ñ,[ «´í+µ›É™85$]d¼«œbMÖó\y–å !—ÛÒv×»ýg|‡à h¬êzbõÁîŽ.b@3Ê·DneOŸAìyüî)bB™×Ûêe‹¥Þ•º°ú¶’”§alº˜B>É.7ªD)k9r»Jtþç™&d)o2¯æûç'ÝËk w²5Æ<«Ûò²¤n&"3\~bA¾S˜ÖÎòU5f=6µÇ*þSþ8…m¯`<Åòô«'^cgh,¶})¢ý…BR=&¨g-:.ɯ£0ÉÑ UÌ-^5F†ŠGÛzP«k(¥úÎ`ã"4o1­o_jŸNH`E$@ÊKÎ…Æâ7zƒå¯Ø?¾#£ÛúP¢Ùp.ÙEᤣüÑi8½FUæøüšêøHößkÆøÅ=)ÊfuîO7ï`| cæÖßѺ4Ÿ.½ú3Ð¥2k›@¢g…{›á4³-Œ¹ì)gWdh¿äe÷ÐË&5†ðÛxöÏÊqf(..§oïAô-ãÎæö…©ž°«Om:Û0i3Ë™’u”¥†²ûíÉaììAõ„‚ȵ³j³Vs}Ó*®:Ú zÉþùCØŸ¶TÏ@†òY$gw À2ŒMm-‘)®³ ¹'ãÎ(A³ %œÌ¸w>ŒE|‰[Ì”šÆðüC|Û²þ hY:PÖM‡¸è(î½Ô§@†;5·i^LôàéÓ lÒ烌tʪ‡B×?N5)õŠ»›èÛx$1mþeªGj+}ÊóÃŒmØ–õ&¿0âu¸ZIˆ>²^ƒ¯S©‘#yµ"ÍõéãÑ +S Ϧτ©L kÏjO;º­]Êã8Ó6•­-Ñ”È00˼@³Ÿm·³JíRñhǯxv¿B­1ãø{B!tãc¸-Å9Ÿ æUø4š6]ŠvÓþ ?½—ÜŽÖ¦Œ\Êó] W™ãflw‹¹tÓfÓ€.,˜³†ë-GâøþçJà Ÿ9»pOάL Aˤ–Ù)e$E²sß3ì:W!¿H„Ÿ‚¨€‚ðÝ’hZÓbBwמÊÔPoÎŽb³v[6t(ŠÖ«SWVÆ Æ…ò½ûbKºÌd¯:̼ñ®EܸþZÂæU&'ã\•÷63u§Œ¶ë3¤¢Aj!±¸}ÚÂHÖMÛ‰²ÖBæ÷«ƒ©`íÏ´y‘Tñ›Ç¢óí˜ä Á¼Ú/´®é„ ïÓÙ!GñíÞÚE5kú4ŸÃ® “Ä$§V@èR¶M{ê–ËØÐ³ý6.u' ‹/åt»žøÏ]Íô#·HjV=kÚY¿‹ÛÑ.­ëºzãuj ù=ºÑ­IitŠö¦ûß+}ô6‰í ¡sw#S¶$Pcîb~k`žÚUn¥Kþaé* ÚØÌá߀lœ¸R£Ù»¡% \œ^‡ÚS#¡ôxö­i‹½Škó}©1îç÷\#¡­%›ÎŒ3J0¨Ãœý hXPƒS£Õ*ÖLÜ@Ϫ](p+˜ƒO€<^L]?ŸF…´3ÚßþLéSkv0óX£«~ÄŽnÕè²ã!¡1 s²ÍâGP‚TS) ¼¿ßZâv³å¬ï_C @yµÝ:°Òd8»ÖtÆN+õ y/?!VÛ¿2†©ñèÇ·Mñ·{-©Wó g‘É@Cƒ¤pN>/Lãú¥±¶ÈjÄˆŠ‡¡[¸‘¯&“>”Ú•ò„ýóvð¼è(~mU"Z¶-vJ^`x‡Å䱓åíÞUbŠ9êX‚7ž"ÅõwfŒj‚¹@Qâó²0š|™(<*áH¡,¢ÎŽä[{Øußš¦Õ-rV(á‡óÍú:O8†LöyÃåAøïÓ)Õ•‰Í4ØØ¯#þ³Q{lÊåɤ}Xšsxù„·™ä!óÂ=€$_md­’[·ÆwðAÌZLdùŽC„‡/§¦æ' J­È|‘¯j iêõS«ßž0‰FZéV¤Ÿ:˜%q_nNN899áT±#Û〔8ž%¤ Ñs Wà9-É/µ\ÚÉ‚A(ëÖ• w?\µ¤]ˆ”lTDUCÙøWŽU›ÇºUÓ+JâÆ¶]<4«‰OÑt½¯Î±), ?7L4Ô¼¾8‹Æn-X¥®Í¹ëØÂŒÊZè¸6¢´ ŒáÀÖ(LkÖÅî#iƒêç'Øx^›J~ŽYôÞéáÜ 'v.ä7[GµÆÝûwÎ%Ê{ìú÷<†U½°ÍäXñ—·pøU1VÍÏ›·©¼»—w RÇ«ðÿUXÔÏwÑÖöÃã?J9EBÖo)í 8´5SOol³õÈ0Aþ rÖÛ)*‚ |EÒüõ™³¿~Ö+I qëéOñ­ÓRžÍSa¡ •BŠZ‚Dšó6}mËÒX(—³ãÌ êÔ0ÊX‘ѱ¦‚5Ì :ÍóÆÞo[‘ã#‚ OÌO½Rùr?ÇÇÎ6ÕcŽl Ç ñ†5rB îÓj?ÚVe‘3ŸàSOikiþ•»Êµ(èdƒ”¨Ì}1®ÅõÓÅ/5ÂÞT”ψ¼£B^3€‰žLTÜb™_e†ÝƬÍiø«ñgE¡zʸæ]Ù_a›Çy`–¡@ÁÈGÇýt¿¢ñ— }UœÞ•Í‘*ï±aè4nz/çðð*J@ýb›O§PæòI åÙ ¶]ÕÃmdqt³ŒFÍ˳›8My¦—6øHä2L}èæ\›Ú…kQeÒ9î%ªqVßçò}5zùtùÿÎŒD®oßÏ3›_Ò=]KIÌ­D™z0-³Ú‘^YFn b`¦•q)Ö{O©Rž%ðJ^ª.Jöž&ÂAÎÆ€äviRbϳuóy <šãaù¥»bÕ¼¾Ć£jÜšÔ¥¨žxðŸ üètJþÊ¢Éi4øW*ŸÙDû_P¹„z¯ïr6h3ŽéQeª%‹S ܸÈùøtÅ2 =,ŠÁT+ã÷‚VÑø»ÌeD—6ä5€æU‹¡÷"E¡2ØÙдWMf÷îK÷¿dŒlR ÍÛAL볌؊èìð•ŠWz´ÔãùÞ%l<+§†Öe¶ü5’d5.ÙÜ…–]3ºVœÃÐþ›<”&¥MI¾¾»j°y³V ú1îXAzÌN¥¼¹õª™WÚ[7aÉíŒ Ø~þ"XKxõô%ÆíWXUB\è(|[l"VfJQGtc#9¥òãæš9Ÿ\2åE“›wdK±ßÙ4ºFª$’T ‘j¢%Ó´Èoo2f^)Ö¶EóÉ9¶NÛÎó"=S ñI÷8yCÁk½«DÝ/ŒÆù,:™àþ¨˜šÚ–p÷·”`tç7"4Pä³§D~­Lzè^q~SÉeÆ¿Míú¿˜ŸeÉ¿QX»:SØTʳˆƒ,ýûæFà–W)ù)V6ÌÀÄ"#hãfòá3ò”pÆREPð#¬Ôâm”ê1‡¯bXm Å3©IH´Í)ê`žãsœ5ÏŽoä¼®;ýJêæ¾Aø‘|W)Xª‡ûøsØpþ¾šù ¬¹KMÜ©9 :‡“/?O!ÂF›"m±ëŸøÛ?$hz:¶lJ‹“ØúÌ•²¸…Õ{-/Ñ,ëRooïw¯Ú]Ø“Ɉ ™5íW1­‰û'·§¶[Uš ˜É–ˆxÔȰh¼ˆà­nˆoEêüº’Øzs ^ñ Ö_kt­$/Õ&,¤·ÃyF׫@•6r¡D¬?¡$³¦í²]LmªMð˜VÔ®^ÿY—)PÖ<]*Ž’gçöq`Ï1¢“r·YJbàÆèÝ{˜Ú¾NÖ&(Fr9ò1 ý‚ØÐCƒÔFUhçç†mž\?{’ 4°.íKÿ%›åúSi§o߈£“3šZZÊçsòø±þÎgf÷žàö€dòR<9ÃúÉ]ñv±§ ‘úy-)Y­#ÓÄ”Éú—£­½éºä.®ÃWÄ?ãšb““AjÉ7˜YÕŠŠ¿_&)› ‚ ·¡ j×^ÛÔÏ0ûùAüÅÍMtÂÏUÌ~.?›\„žtuËÂÀ¥Í0l0ˆ=Ϧi£Qï(··‡1½šÑG¿`4‹õåptß´ÿ%ý¬Ò¥YUJæúÄbäo±ƒè¹½_AAÈ%ÉwØ»óªÈIT-< lr ¤EÔ'Ö&žctåº,zó<§ßq3³Ÿ ÂÏ&×&"Ôw›ÈÖMéÿâNõ%H.Ý€•sN2¶ª'{vÇ;ñí^ަ[â€9xÙÎÀqÒI¶×=N·éiãLDà6ÂI‘WhÍo£ë¿~ ­=ÊÝDœšdîø&X=\L·Q\˜] ÛÙÎ"íJ¾Sr¹ü“·‰ŽŽÎÑvBŽþÖ!ü7IóÓ`þ.ª+Õ€M#Šü¨•Ya~Y„Ÿ @‚–i,ÄO± üt¾ìS°´1Óƒ|…ò!ý”íЧâ̓춭ƒ÷zo¶¤„6hÈ´¾u|$ûï5cüâžå ³:÷§›w0>ƒ†1sëïh]šO—^ýèR™µ[²úh æµhÆ–ê+ÙØ³8Z-ŒÌÄ7ž |rZ`á?IÃë’Žß:ŠÜ#Ë‹M)§o… ßXÎú=Õê¿’¢Ù>¤sâ½ÕÓÝ÷—,0™ÚšRС¥£¶¶6šÒ´$.‰.eÛ´§n¹b-טžímÁ¬]|qµ·£tƒžøÛ+¹|äIR}Ì,òc¤©¦a~ ZX`QÐ=QÿAA„¯.G= …"Ëå)/N3§sKÆ\®Ì_;çÑ$¿ú£ÛdF"!Ãl¹™Ó@ßXIr"Ê7ëIõ1Ñ—œ:›¯ ‚ ‚ ߇\¤FÊó#ŒmД…š¬;0œšæŸ{õ›øPAA„¯+ס ¸Éßí[²PÚƒ†PÑHãÃëf‹$[éZß™T åçïKAA„ËÅ™ÐDýÓ“Qç+1cÅ@*ä•|òLèIRS°ø”Áë 5ÂV.#&x.ÝàʹË<úôŒ0AA~4ê×\ß±œå;#IøÒ)9=V†íRx¾™eÿ†üÅ"„o*÷¾w’™ÓO¢íîMÁç9sæÌÛ×ÙË1¼Îɇ^’[= FT6 /Õ :zyÒ¼ß.¼£CAá?%ñ£ËË‘ËÓ^µ—r÷Å þì7”Ù§ÐøÒ3¾Êá±Òo§~¾q½öO$ “q“¿{?ž‹n#r9„ÿ‚\ëy}e#»ŸÂËÝiä]—:é^µ[Íãjâ§ö€È(òëîžø ‡t“JL±åÞ WÍ“ö)mwqïÒ *è½YÉ¿­÷¸¾° ©kIÐ+éÏÒ°H¢£oq~ßT<ŒÅÄG‚ð}zÍÉŽÈårz 6³¯ å-–øX!—ÛÑùЫ÷ªx¾Ž‰]êâbo\.§ˆ“µZ fþžk¼T½[3áô`œåÕ˜)š?JuŸ•Þ–Øw?Jü·Ž%;ÔÏÙÖHŽ\î@¿¯¿ê¡•·—PËÒ>aßÙRód[ ll[³ãÙ÷0¢òËÆ£¸µ‡=-é¸x;AA»Ø÷wsŒ"6sø•9>Eø¬9Õ±w(Šuã <ú@füÅœ+ývZ/N²éŒŠ"¾5°,Ü‚%»‚Ø:» f’"Ô¯a‘ûƒwáȵ ˆNù)\¼ÃÌ^gÆà¬ý©A~vÏ7Œaéµ÷ó%Sx2‰?Ã3+(¸µº+5|ú²ò¾=mÇ.dÍÆõ,×_›‡ìü'˜Ñ|(|Q*äjžÊ4rÐÏÖ‰á#)gåÁÂ[_àæTÇrfÃ)RÊúáb”&y%7çÖÀÊe ç“r?œOçSÎ’»{wp×¢>Ík–ÁÉÉ{¹„Ûò¨*õ‹é~^ì¯Î±), ¿J˜dZzJàZŽŽ•q»¸ð@N( Q׳:Ö”t,‰ñƒ <³ª‹g¡yJAxGT¤Aø>YxQ=y³ÇÑꟘ¿™»'á"óGoC£²Ö‡C2l’tea°† ë`òv¾ŸJx4hC¯¯¿ðsJyJXà´*ôÂ9ÏÇW7wïå‘uSªË¿ÀOò«sl:®Àa„Û ÍïQ>àÐÖHŒküÝguäR<Ÿr~”1Ü…©‡7EÞÆ®K™‰g‰žøyaÄ_ÞÌáWÅé]̧ٜËé±ÞÛ®æb®§ŸW5횘yÖÁV+ Âw(¡ÚK!KyÊÑ{¬²ñÌ “Ê¢äÞÆ1,~\•ƒ«`”~}uÇç,"¦ó§¯|ä²äœá·[I¬åÖ8ÕhÁÈ iyÙ îíB/ŠÉåØ8W£é°uD¼s¦¼É\ø ¿§Ör9ÅÝÛ0%ä"¡‹ûá[ֹܖòDzçAêÕOiX¬*ýÇöħLaäò"¸údëù¬Ñ”ŠÅäÈ 9á=p7ÓZ¬“®Ì' ®+ö…RóÆíÊ7`ðÚk©ƒbßÄðÛDú6­‚Ca9òBÔ꽚ë‰éÞ§"šéþx•+Š\nKÏÌHÿÝÏÑîöÈåõXÿ|”ø°^”[R½ç@:ÔqÁÞJN¡RUi3n+§ö¦qµ2ØÉåX;V¥Õï{¹Ÿ.Ný:Š“;âåb•\Ž­KFïŠI—ÿ®&ñNszûQ­¬=Ör9r«b”÷Fðãtyv¼àØÔx–)Š\.ÇÚ©½W\æÕÇ~†^ŸdH9%zäeÚºê¸pf6t ò Ý ¥ŽûðaæÅDž>½À†!0q>ÈH§,ŠszÎüÒš ú¬ uu#XØ©=ŠOeã„Úä—©yu~-ýf‘ÔhcWL¡ˆÎά@ÏKÎø¹æCP$$cåÕ•ß»Xc®ýœ³ÿ `è¼ÉìêX•Ö›²tÃcš5YOå›èc¯ 2}ÌÌÞ¯=K1´0Dÿ”Wo˺Jb3&²!‹æVÀ@’DÔÊÎÔq‹j†²hlI _]fËÈn\±kCu  $!±UÛ¢­MAô_E°aD–N^EïØÕü‹m£:àóg~fnŸ@…<4tLÈŸY«»Vqúí¢OZ,÷¢iÏcT_¸€rð¹ñ ¢x¶Ï@ ÏŽmä¢ne|(õ-ñÓú°Ä´“f ÄÁ$…'7£ˆµ´B @Ãæ> ¸ìB÷¾Я¤êQ¼°v""Š ½Ñ*äŽyÙ†Lh;ÅÉt±Ya½¨î›ŒŸ5ÚÙÔ#ó ‘¥y°*ž.²žßÈyÝÊô/©÷ñÕá!R°AønI4­i1¡;‹kOej¨7gG±Y»-:EëÕ©Œ++c‰ŽãBùÞ}±%]f²WfÞx×Bi\-aó*“­ì˜÷(ïmfêNm×-fHEƒÔGqû´…‘¬›¶e­…ÌïWS ÀÚŸió"©â7EçÛ1É@‚yµ_h]Ó @Þ§!³CŽâÛ½µ‹jÖôi>‡]A'‰IN­€ Ñ¥l›öÔ-—°¡gû9l\êN@_Êév=ñŸ»šéGn‘Ô¬zÖ>´³~·£][×u%ôÆëÔ ò{t£[“Ò©-ªE{ÓýïŒ>z›Äö…й»‘)[¨1w1¿50Oí*·ÒÇ%ÿ°tmìæðo@6N\©ÑìÝÐ .N¯Cí©‘Pz<ûÖ´ÅÞ@ŵù¾Ôw‰ó{®‘ÐÖŽMgÆ%ÔaÎþ4,¨Á‹ƒƒ©Ñjk&n gÕ.¸ÌÁ'@/¦®ŸO£BÚ €oÛÉô©5;˜y ¬ÑU?bG·jtÙqІ9Ùfñ#¨EÑæ¿Pbæn åÁþ~¬²ýƒ ã½0—AÊÓ½ n=•×]¶°u`iô%¸û GÜMS ÉZÖµiýöZ¤?Ò‚aÛŒ0×—"Ñ2€ë‡¹gâA“Š6X|°|)AÛ¸º‰Oyv++£<6’F‹çRÁ^œH«aÔ_±‡‰ÕR+?(^£z¦Âºa-R‡ÈÈ_¹­Þî·0ÏltXúHN^©Ym¢C¯¡]¡7Õ‹ÊÉ—å 4µµÏB§]Ÿ#¸ÏÙÌ83¤¨s!H³{~u,§6…#«0÷ƒ©o —V°""Ëý©çbŒ`k[2mi2‘‹ý|¡ËvŽÁÝ(-AÄ>õó|=˜wÍi½} ýʤV\Uùªa5òVfïÝ{HÐ2µÃÁ4«s˜ ê—œÙxYÅy8åäKK¾Sß,ËÆÖŽ‡îçöûá?F§TW&6Ó`c¿ŽøÏ~Dí±}(—'“’‘4æð$ò o3y´ìð_yÐÐPBCw2ÞYB¢*ç=¸ ‘‡¹©]†:¥ þ¿À‘p“°((îãBú‡ìå)Y›ÒÚ9wå™%jHõó¡/Q¦‹Kо‰>Åk™6j o¬$9åÛMô1Ñ—œœÚÚšò’ókÆм•Ê`ïÜ…0u É Uæó*Iõ1ÖÓ@•œº+À©møG>‰õi•Hææê‰lNiÀ¨nÎi• !‚-c)Z¿*d)Ä]ÝÁ´^­iàU…ò¥ì(Óç ’Òõq6Ržx ý* )ñ‘ÆmY^9yU±¼HRƒ2šÀ!c‰l4®HTÙ9i* £_•|o¯Yòí`vÜÍO­Ú6©-üên‡Ìc`;?êTsÅ©hIÚîI¤¨wE̤@ÜY6H¡l“räÍÖøð^„M¦E§8LÝȤ:ùS+t¹Ï'œâ <™BÙ´Ô·ÌhZ¸á^ð9›ÚU V—)ž{úöPÇdÎüH\†ôÂÍèý»^IÌþ­Ü4®o±7½fj^^ØK¤N9¼‹æàö¬¼ gãñÊ5.óÁ÷%?¢oVcAAÈI^܇Œ£ÑC$Õ~ã·Z¦™qéÚS¯²·V­ üM‚¿D c+lmm±µµ¡€žRLZ+³I¥@©ˆ'áàüà7š„·«~yJnýÝßÁ1k1‘å;¾œššŸ€*µ"óE¾¢5¤©×O­~{Â$i)5ê …¤øÔŒüÄ}¸99áää„SÅÿ±w×aU¤íÇ¿'AQTPcÁU ìÂ^uí@WWÔµ]»»cí\kU,D lQ±×DÅÂ¥Nüþä ,êû{>×µ×ûz83sÏ3qž{æžgÚ³=ÐÄð,NƒÌÈ•€Às\>”6U]‘]ÚÁü~ ðôé§²” ¡Ñ!U=9ÇÉ(5`CݶR’@uŸÐÀ1(]“÷íÿïvö<±£Nek”$r{U[ÊÖ™Îc¯ß™þw-£¡©×Þ˜ËAûìÏàÝ x†w䦦ò×<}@T`FÞhÈô¾e0‘öùqÖ‡'Q´áÏÉwÞ’ƒ$*t+·òT¦vaCP="¨g|_¤pûñ,ßÊá:c-³¥V”@ì…@ŽÄ»Ñè§<:t4¼:9•_ÛnÀaÜ&¦Ô}?ÿ%Y.¼»wÂyëT:(Åæ) °ýàY ­ ™â˯éX»c¥ZAÐéÔ¨döa‡ÀЖŸlaNð)ž7ªùn„Ÿ×»9ŸŸ:År£ îúª£9²é,&60¨F1™ëºØx"ñ»O>¥•µE¾±VúXºÙ£à!j‹Ú Õ gãTñ+Ìp1—ƒê7*wfl•ÎŒM¼Íò†åtf³6÷¥þïy¾* Õ£5ăæCð7Š5+/Ò}ŒgòÃ͉ˆx 9=MRýˆ&r;d­jQÍNÍÓŒF‰IG[?¹ ß„qðUa~ó)€ˆ¹°™Sj7¦xäʰs©ÌU3ùþûýGޢђy”NI~’ž\ãZ‡<†ï·•ú!·ü‹‰ÏŠÁëãSøssœAG[%Ä¿ûCˆ*Pêvú@<×v&Æ©+^æà %æìlZµ\E›™ÙȆԃÃfM<«sûÄquëb‹ö¢lCkÉí(ÿë@Ê×õ¿TKÎ_yŠªA>^ÞºM¬<&úŸN¯yÆÆ‹†x÷t{ŸÅ^`óÑx܆þħ¯S 5YÈÎjª4/JÈ òáX@—Q2â¸ºí¯Šþ·nC† Âã‹#÷gY6vY6/áë…=ò­C„/fXôwN¸Hƒþ¿Sîô&Ú¶ñ£\+ŒÞÜåLðB¦3¢üë^ǃˆ‹œªC 7ª°#æúv{ô 5£Sé¹ ñoIîa}øÅ§0F/î“XÐ3{šTfv^t¡dhãbèE3µçr^z¡£k6_#7ÂÒÚˆç{³ñŒD%ýËl™1”Ð$-¥uœ…¾SSºxÍa`ïöŒLHcws’n‡²÷®ìß~+ˆù0ê˜%ݦÿIYÝjvtYòUëM[ÛÆ,Ž bTç Œó;b‚I² IDAT›GFìÓWäi»†@1‡†Q·Ù&^*Í)TÜž/opþ¦Èw™ü(ùò—Kªïfp“~Ül±†m¹5—†›–>Àè[àœÖnÁÔrÃhTÔ˜—W÷0oE$ùêÖÂÑ’®ŸåJL<¦×oõ”ë{ÿfƸU<±ëCe)¹ÃýðÂ5Þ`Æý×¹z?#‡¢Ø§ÓÑÔË¥Ñ}þé; “F3¯Ôû2@eG$e¡£Æ°Î¨ žyâ¹}xsÎå lïâäDŽKgˆVÅpëß»ÜO|Àáæ0~ÎMòþ:•B†€æ×Î=F“ø”ț׈WP°˜&Ÿô“µ¼¾4ŸvÍæ‘£÷¦Ö·D›@ ×3@OžEñd¦}®ú ÇöoKß>ù7þ™O¨ž;¥\¬0Ž¿ÇéÍSMr§w“B À´ -9UA î7½î5(bü’‰6x¸˜ñâÄFÎÊK1Ëó}"ô&b+bŠÐ«¬yCò*0±-JñŒv´Œ$Ü`ÇÞ§8u(OþÿjT?AøF¾(©R½f–'ï×>¡%‚ð–Ž-²¯È?Ì™³”­Óz³$F†)[“!{ÒÒËâ£_Ëýë°üƒÏœrd]ì>:E*mi»2ã±C™5¡-Kú+±,V–&#gãì• «F Ùm8‘ASúRwr4ä+ÌOõç²»_=l“ýùïÉL©0f=zôgxŸjQŒê­;Óîâh.ê:¥-­–ïDôŸÌÑ‚…Ï•X–¬EUO Þˆ¤âÙ¹½ìßåDý-daˆÌÄ›á!»(:~Ë÷çJä .?7¥€d‡}#ähК•§uÃ…†síL82#slÝëÒ¸û~+“xþEËV=ÞËÆ½¸Ühw.Š‘ J´n‚´z >£\í¼È•¶ü:c4çûÍcE×úüebËOÕ½Q©óáS/eØÂ¿òGÃOkLù…(×ðW| yè]Û”° ”«CÉù3Õ¨.K=š1ýïaؤ˜Ò )§Š§Úv,éSŠT•_È-j1qJ+þ˜º•>MVahåIÕJf$ä,MC\ÈaY§/mÿéɲ¶>ÚýDÝpÍ}ž\õ\’ï’ÉMq÷«ˆÅ¨Y4¯½׺£Y9É“ãx}œaÍG ¯FÑáoÿ`Ãï»0°¨AÖÄ“‰öI¼BÈÂ4ªdv§FKäù=Ì_7™á¯Õ`”¯†L éIÝBÉ{´‰Ïx–õKäÏ%ãi4 O|ZÃÍYΙM'ÑxŒ£Ì»§òã¹¶}/Ïœ:PÁò¿+$Iº½‹li\Iå*ÂÿÙêÕ«µÕ«UÕy‚í[©ã× Ë ˆ üo[±daºçŒí[iݾS6G$?UäJš×œëŠ -•S<ðŽŠ›s«Rqyvü×ÿjîl§âÖ¼jTX^…àƒ(ö?³^Â÷äãßçí[)îV=}} Ýo»…?–©Ü d×îl.íA!s¯±ø÷1Üÿe½KŠäãªÜz“¼¼ýü@ÊÛÏÍ}kâð¿´^‚B$ ‚ ‚ðÝŠãÒœ®LzÖ‚™½=IkêÿÏÔOŽxQÅãåuq’$Üœ$î[õÅ4<ÞÔ˜‚’„dûƒÎ›P¡nátßê.?2QV(ÂwE’¤LOõEÓ Y'**ê[‡ð?HKì©)t™ù†6ÿÀSdŸå*Ï„à`µüð·óÜa—aRv ;‚’ßç£ÈIAçtÞê.?8‘€‚ð]ùÒŽ¬è ÿ{dä,9˜C·ë@¾[r#+\Š[}ë0²ˆŒœq-ð­ã„ÿž(ÁAA!ÛˆDAA„l#AAA²H@AAAÈ6"AA!ÛˆDAA„l#AAA²H@AAAÈ6"AA!ÛˆDAA„l#AAA²H@AAAÈ6"AA!ÛˆDAA„l#AAA²H@AAAÈ6"AA!ÛˆDAA„l#AÔÜ_YI’>û_ýMg˜SÉ÷§‰ËÊÅkßpuuOj—*„$ÙáZÁŸõwUY¹„L‰=Ø'k?Ÿj³wÁꬪiK×£¼ÎÞ%ÿ â9;ÄkŸ™\OÒqÕ-æV*ˆ×¸Ë$|ð™5žCÎÿEš1 ¯ÎÌÇ¿Š;ö’„£{zï}†æ›Å“yªèƒLüÕW[ ©pIêŽ<Å›oÔ7ðÉù"ñ.ACáíbT°e›Ïáʃ@ü¬èx0öË$ÎÿS”ß:A„oOE¹ì*‹@û‚Ð^Í™f:Šu#Ja”òk}‚geýÒU·–Ñ¥ïFäí§²¡e  ÂÔ2NÏI×™é[‰Õ5C80°()ºø3cn%Ldÿ} BöSä£ê¹8æ³Cï[ÅžÉFj׃Y[RÜL ¦?ÐUÑŽ êÀŒ³å¼x65 ‘¤°Äð[‡õ |x¾Ððxkº,¾GÃñ«YìSe’¶yé3w.ÿ[HH‹H@AenŠåNù‡ö ×sÊP˜9PÌÍ “·_RÝúO–ôüÏåEèáßo›oZVZ”¡v½o…ðŸ‘å¤Påzú–1$=ãös9îcºP§d®oÉ—ÑÄñèA<¹*ûÓºŠÆß:žoèÃó…š—QOÀ¦>þM}(jðþ{åëY‹ð„ïÔs±Aá» %6âFµ«†‡“„dëFÞ빑ª–Eýì8sükPª„äèAµ.ó{švIÕË F8Õ[I´æƒ½l‘$ ›_v£ºÅÜJ6”yá}éŒö9ÛXãÐn?1$—>+Õ™±C:P£”3Ö’„“Ws&z’|'@Ïí Q´ô-…‹„ƒgUZOãYä"ªØU` wgWÅA’¤Z¬~¨þ´¤BMؼnÔñ.BAÉ–beýè±øÏS¢}HýÂåé=n-}=p”$$:Î?KÌçjj£Ö‰j% !IxTiÇ_©Ë¾^s´kq<ÚghËr¸H¶Õ¦‘˜Äíu}hP¶(¶’„$ÙQ¢F7ž}…Húwå$þ<“ªP.æ ¿¹H8µÛÍKíûù‡õ(†uÕ…DªM,†Ò·$…% Û¢^T÷_ÂõÄ´‚çì/J´Æ –åq±–°.æ‹ÿ‚0ÎïšI—ªnØJ…˶bƱçï·b.®¤g=o\¬%ìŠW¤õÄ=D½[†šç§—Ñ»QÜ$${7ÊÖýƒ-÷ßï?Ú'Y>¨Ýì‘${J6NðƒL”ì}P‚ÏÙ!?Q¢ÅFvõûHA$ÉzCŠJ5ϤìÐ _{$©0¥ëöfÕù˜÷%S™h;ÕETqiÅÞD a‹$—8ëÉñ7ZÞ\ßÌðæ•ñp”œ<ñm5†‘ñhSM_µ/C&PÛÃI*J‡Ð˜´×õsqépŒ¥¹¬ãŒòò × ¯65¦°$!Ie™‘ˆæå1&·©‚G!k$IÂÚ¹,ÍFîà^ê’¹¤‡˜Þ‰šÞE±•lq«ÔŒ¡ÁIníŒöOiã#Ù9¡Õ˸`-YãRª2-&ŸO)å1Ü["À¯4N’„T¨ û­âbêƒSϭ̓iâ㊭T"e›0ló Þ¤:ÕÏO²0 ?»Ù#Y¡\ƒ^¬¾•”ê|ËѮũ8ñš»s¨æ\ºZcå}TO?.ÁÒa=3\€öGפñ„”ì÷7O„²øw'Î «GÝñgßÕ¼k_ßdÏeSj Zȶ½ÛYÐ:'»GvcÞÕtzNê'ììYVsQnÐJöÙÅÒ!-(™ûã/&ñxß>â+bñ¦ÕÌíáC>… } Oõ™Î𠶝™DyÃÛçlè9Ô£Y¡'ìÚríÝ3¯/nâèNrþmèÍe÷ÇR¼E $%Äû“F=ÉñËd68̮ՓèÕÀ Ót)yrì$ŠZcÙ¸7ËÛæ`׈Æ4šM¹A«Ø³÷o~·:ÊÄ®S¹ˆêÞÚÕÉ2ƒX{ø8»f5$nQ:,¾A ‰¢{“?9RПyA‡8¼”1]jàdœ*ˆwxf݈˶´rî×Òcð^ž}qß,‰'Gð¢x¦¬ÛEÈúxÝ]BA!<ÕÚXN ÷£ý?Æ´˜̱£ëéï|”-sàEr'63m§´iGð¹ÅTÔ“ã=ÿ,7oÞ俙ɔ6Õíå´ªÚ-9~aZÐqÂ6£vâJ:UõgSª$Kû&‚í—¬i;e –Ž¥¹£Á§ Êd\éùdY.î <Æ„rr5XÃÅ›7¹ys?½õ‘ÉMpªÒ‰Q  ÞÄ¢^Ÿ:ÿ76ÜONBÕÑw¯J‹E¯ðé=Ÿ­¡!,Ú–jÅó $ãýãS \žÚŒ‹b¨:b-ûïgý¬þ´øÉÛCw°zDUâþé_§µÜShxº+€:=ãÐu {ïgY'S6ukÉ”sÉG¸6æÃjø1ñ¦¿MßÄÞ½k×¥e,Rß±5Ækf8!½ì[ÿFЕ›Ü¼y“m-,ù謒ñzê|~~Tßþ^¿ ÂEF>ßî4÷$@Ѿü¾j=#Þ"¾¥„æÈ4þŠ,ËÄuÝ©j.lé5¸&«]Êè†4+ðQÏG®‡¾räèéb`òS­ëm™ -{´¥fÞäç5 ö¬Íü§9­ÂKy…e3ð쵛9.)Ïx8S4eÒ|Vù1Ó“£—+?–VVïžIý˜¨æq“×<ÆsT CØ ìZŒcÁÃøÎÁÑß—â ËAéNÝiá“€¢¿÷¢Üü¶ý7m‘¼|ü4‰êîF&m‰£ÒÜE ö³H¾fcLéüƒùx 5' m-¬SÿbUjAËwÿp¥°r?k›œäÜž6¶Ôi^˜IË‚¸9Тq\ÙFîöÃðÙ2ƒ-WÞP¾ŒqW7³çeqþ¨f…-ñ#yI~Jx•¦˜SNäØãìžAóÛÖ¦}ÓòØ+¡X—?¨0¯OíN‹JÉëdÙ³s9Áù§jÜ¥$.ΟJ¸Ã ¨KA%`çÏ+©µz·:öÄ!öQñ,釋†2ppùh™v éÕµNz…éÛz);×…q7¡:y¾°Ä^f_Ÿîêa¯p Ç¯ غæ÷kcö"˜‰k㨿|Ê%§ÆÖ°f}/–žM%ßœ™k;™=}2éb`ðvÏ‹çü¢™3ý• 3;ãÀšžs§qÉ»#3Öߢ^B)ûR.ÊÿÖ&ÞŸ+~Ê`›ê|Ó(ei Ñ—ƒL¡‡Á»c“bÔoUìÝ×ÜŠZrã&$¾¹÷63e‡’Vë1ÀË$y]œßnàø ÷Ÿ<´“Ä“›Ñ»Þ^Å)”[öN¸}ü5_øzb©gWŠÞÆ«ûlÖ\oL_Ç»¬B.ÿ F6sÅpj5„€U?3{Íeú¸{»w*«_Ö`VÐHj›'ŸÃ\œ“gú|!Wb §¹}C ôßn‰Ô2^O‡¨Lœ„’¸"‚ð5Æä5–£JR£%‘»a爉;H×’öØÚÚbkk‹k‹­Äh^ñàU·@€ä^ˆ-__^ 0΃‘\M’Z‹æe'™ãSÙŽ´¯g,áÎq®©ì¨Z¶@ª+VúØV*EÜUέì ï_÷j½ê·_®ŽMŽQ^cäêD4YV"Ç8rM-Äß:È¥øglhîúnŸ¶+Ù•cêžF¿AóEm'Chµ©‚Ö¼àòéG”¨kÎTÑä.IMgˆ ·þI‰©¿¦‡i¾Ï9¤Më;Íu£U' V'ÿ僛j?»|Ù§(]©“Ðð…«§~ÌÖ®µéz¥:f/¢¦‹zW†S¾aø»¯(¥ê´,:†E»îйJ0ûäU˜í”û†?78„[} yGïJX¤Üt’çþ™§iq,ˆÍÿff›ÊŒõìÃæu½p3úÒMMC’”e§2½<¹R7žÒ C@fIíñ»(ßþ[7odåèfÌ[‰±Û—ÐÆ!í¹þçc•©QcƒÿšutrH½Ë0È“/¹ƒ˜m§MIÁÓ[!yæ×ô³ÛTÿýr¿ØG“Æ]˜LÃÆ‹0ï9—)cË`“ë Û—aÈÛ/¨Q%jˆKóÔaÿø„ c·®¬<Ö€Ó![Ø´f ]jNÀ©ÃZ6/‡Y:½w™Ò2 Z•Š ÞÊR?‹Ê¥FæäD…:Q…:!– |RO•Näߪ¯gÜל„‚H,A²ŒŠDþâÇ_˜beeõþ?Ë|§{ÉG†ì“l9zr ož¿!û&Rär¤°éKÂvý›ö{Kd ”Š”¤)Kc/¿ÍÞ°G©*V¹sà‹QRÒOwÚÏ1°ñDâ:»O>Íü»^Ÿcýþ*ŽEËÒ¶ä5ÉÞÇ¿fŠTiéʃ-AÞ¶uåz6€œî)ù2„·ô¬$­}Ì?ü!”a[¶ =¦rtk'ÌOÏgÁ¹,zë€2Ύƨ.à^Žî&(ßuÄä*\™–ýæ|tõ´û˜»æÚû¥¿ÄWôä $w¬¹ËÁ³‰˜§ŽÙÊ’¼†©Z/“m—|¥<Õ 3\Üò‘pn—SÕõh^œ!ä_p(kOŽg¢‹tãúºcL&û¸Y‰ ÙÆmÛÎŒëQ —üf(>ȧ ¬Ý±R]$èô‹O;è:ïiÄb`IÉz]³æ0ûÿ,̵e38ò2½m®&úP —)LÇÈrØàV®‡F °°ú`¹ùÍô‘¡¥›5Úƒ9­KK}Ò0™^ϯ:??‘€‚ d9æ¾4ÎwŸ…­Û1柜¹r™S¡¬ZŒ'éU`ÉRz©³•ùp/•;¦° ä4—Î…±cÉT–^ÎDGÒØƒN­ˆZЊvã7p4â÷®åô͔ыf8HJîïÞÄþK×¹rî2?ª¨RXT§g£ÜœêϘ-g‰|p‹ðuƒé<õ.þxéú´üGôšÒÅK;ÞíùÏ.^»Ê™ÐÍ콫Ãúé™c—;‰ðÅ+9yŸ.cpÿµ<ù`Rù+·ÂíÎX¡ÜTž´“UÿdÜȦ,x˜@nû’ÔÌ®äàsÏPÚÒjùNôGÿɬ-Xø\‰eÉZTõ´ Ã{*9JÐÉP¢{N£IÙIä.T_ÛýŽÛè|Mž¯-=ãèv¥. Ф\;—™Q¦I ⺞ÆwDYr§¾ªœÉîSùŠ$”äuô¦Ã¹8Ù]ž´¹÷gëV‰1£2±ãrž©M±q.FÙ6^4dÚX®nžÎÌÑQĨÀП>3¡… Ê/yo¹Üœª}ÚQ¸ÓºvÙIãð¶Íä<”–4œ¿ £™Ã™ºª¿LŠÅР÷Z ¬›²õ¿ í>½ƒúNYlÆè!sèZm8Ïõ-)V®=+vàkñ)ØgãÒÿªcì“;8(°l8ƒ9—~gHÏ*ü­o…g½ø]aêÛŽºÒ–¶+ƒ1;”YÚ²¤¿Ëbei2r6Î^¹2Ü?> ’aá´)Üxš€Vž Û’~L]?”Ò©KßžŸaݘvŒŒx„ª¾}6°¤“7yäz8vZKHÞIŒ˜=—ӗ"žÔwý%yÍ,ê0{ç¦ žÂÜßj3\m³W]úÍ(J¹´&ƒ;n®çל„‚lõêÕÚêÕªê<Áö-ÔñkeäÉkžeóáû³bÉÂtÏÛ·Òº}§lŽHáÿ‹Xù{Ðìî0Nno‰åÝFþW}üû¼}K ÅÝJ §¯B¡ûÎ~üX¦rƒ]»E – ‚ ‚ ÙG$ ‚ ‚ ‚ d‘€‚ ‚ ‚mÄCè‚ ‚ ÿ“rR~Á5¢¾u‚ðqDAA„l#AAA²H@AAAÈ6"AA!ÛˆDAø}üyAá{'AáÇ£}MĪT-Qžagãuš$f_ì% I’${Úì‹ÉÌy¶¥~Ê´’äÊ'Þ|YìéÐ<þ‡:ïæ/á>à4q™˜^uû/*§š¾ì¤³4¯mÃXùz߆›³'@Å­uñ¬Ø¹'_ Éâ˜AøþˆDAâ9;ÄëJs¹¥úº9iŸâW°a¯?ûÙ׈=1Š_ÁeÐz»ê~hâ= ‚ ÿ£böµÁ­õkþº¼ê&}[»¦ã˜[É|ŠìˆîkÄpjñf^WÁˆ¦E1ÍL_[‘ {W7ÜRÚCåâÏŒ¹ ”0I{&z¶M?·2Žù(í)æšÇW1þ¯ÚH¦¹“+nnFÉÿN,MŸ¹30pI'É2,BçsIôȉ\_'WsH2bŽÿðúâm¨&×g÷9Õ†2·¶zrrÚ¡¸ Ä<5C™êþŒÜÈŽ&Ó2¨ =§ª_^t߬ZbNO¦¡ß nk@Ç€VÉ­":ò:×£ àGtu¾VhW¡~HRB]&Œƒa !ØV…’y@[@\ýD"‚  À¬xuê}ë0t¡Šæâ¿ Øw,ž¹ä# J‹2ÔþÌJ+r»Qý[6о5åëY§ÿw¥eê|Ë3Úoää,T™z…t˜•‘‹* ¿K‚_^t¾¯¥‰&dô,.;ö'tKκN(èD÷£À¬&üVrffÚ$¸ñÊ̆&ÞÿU€ÂH$¡‚ @r}z1Ü["À¯4N’„T¨ û­âbLJÁ€ê!ÛQÁÍ!¥†½(•ÚMåÐuòß.2Ê» G¡“¯+% ¯'‰#‰ÛëúРlQl% I²£Dn,<û ÉåIõ ûÐ{dwj{Ø!IŽ”i8”­çO°fH¼ KHݨÙw·ÞG¬~vœ9þ5(UHBrô Z—y„=U¯9ÚÕY? IDAT—–{HÔ„ÑÞ%¹æ¾xŸpÞ/ƒáèÕ‹‰ýñS! ©PcÖD½þ´”&é!¦w¢¦wQl%[Ü*5chðCT¬nTܘS[¯1\LµNh³©i!J >“þóIϹóÒ©`.>¾èžôït|$[šnzü.–„«híîIÀÁOç˜a Öùá”*X…E‘YSÆ.e~wRÏ/‘kÕÆµÙ®OÊK´–`¦sá‚4 z‘%ñ–gA-S=çñþ?'ÓØ&•\àKÁ2£¸ÖßSÓ'oAcbï>#)3!kˆÕ@ââ’2’ é{'´Â×ÃI*L麽Yu>æý~«çÖæÁ4ñqÅV*H‘²M¶ùoÒ™­æå1&·©‚G!k$IÂÚ¹,ÍFîà^+ô賫CYW[$É ŸF =øâÝ€ šWçYÕ§å‹Û"Y»ðSMf|ôùvÑÀ…PÝ Ld —<›@Dh£ág4 MõýhjÞ+“K¢T·À=' †2V “AƒÍÐ×Ú‡'ÏW&ƒÁ>¿~¤Ì¯„)%Àþ†ÉÓÉò¡×š–SeòçÆ6Ðy)é¶³ð¿G$ ‚ ï$}ú.Ýæ³=t«GT%îŸþøuZË= S’»XºOXζAü3»aSè8p/Þþpª_q<8 ·€¹ü³nƒj[£‡ } Oõ™Î𠶝™DyÃÛçlJNûúûî9ÓmÑ.öoƒ×­ÅüV³ûÌ[3s낦UãéêÞôÝò5@b³š4eÎ뚌 <ʱmc)wsm6ó@mD©±Ø7ãg”x0)4œððpö qW6w'Œ0jÅFVNíˆG®n%¨£ î^•‹^áÓ{>[CCX6´-ÕŠçA©ÃúdL‰mýö¸=ÚÄÚËï'R?ÜòSæ4j^4ÝÕÃpN>3ÃÑ\ÿ“¿é94¤} Gí J‰‘ëéþË 2ÅG§¢‘$·JÖ´¥4“0•½áéë÷©ZâµÅôœ™„ÿ¨Jº_õÿ0À, LFîêKˆ¸y“›7orãÒ{›«üÖ +©[ÙMZ´ºD¨$_¡|Ä_:ÀÌ<}¯´¢vߌœE튿0à¯`.=M£«®åÄp?ÚÿcL‹™Á;ºžþÎGÐr0^h OwP§çaº.aïñý,ëdʦn-™r.ídrœªtbÔ‚@‚ƒ7±¨W1®Îÿ€ ÷Q§¯*’åm[0ñZIú, áÐÁ-ü5¬=­SnÝÄ]dJýZ 8fCç{9qx ƒ¼¢˜Þ¼:ý÷?O7É9Û€Q[8pÎî„¡- w&ʵ¯áŸ³Ðm1ìۊø˜_ ÌZÀ“8ˆ‹ƒá®ÏKiá º>TXŸ<]Ü}øÙdÆP©3¬…SG`rUXЦEè«ðc%X‚ ©ÙøÒÀ×K¸8»RÄð6^Ýg³æzcúºä¥L“–”yûÝâEÈua=Õ· *± fogQçwüýŠ’ºĪR Z¾û—+…•ûYÛä$瞨ð0d9ðlÙ–Z%söto;‡K¦³]J机ÓiMBÓü¨ŽLã¯È²L\תærÀ–^ƒk²ú×¥ˆnH³ù±Ì›¹\C^++¬>y¤8þhIµwŸÇs6Õ_U÷63e‡’Vë1ÀË$¹Ÿëì¢ûúè@iYŽÞ#ºê=¼0FEÔÎ\”š1¥pÚu4ª'Ç™Û{2Wíü™éøi‚ÒšZË1¼ûÖ2æö )Ðo³›Ú’°O·¸>$CFÖuð•¹,1“½æéë”îiâ5÷œ…ªË&ü ]`Ï—D(­& S¥>J á«Z2ƒlXÜ—2¾èYj ÕèІJ TiC™Qý ãÅŠAÕ±3Òå:©‚|Udzk¯/+-`ñ莬•‡ÊmùãÏø¹˜ Ô‚™¸6ŽúË'Ñ¡\òŽo=`kÖ÷bé©ÑTòyÌÚ !äòbd3W §VCXõ3³×\¦{©O0™I1ê·*öîßnE-¹¿q“ŽFßÜ*ípUω|¤Áä§Òx»»`©Žïçsl ¯ÚÑcÏZI>¤?çsº,§î¤oùæX¦‘TÄ݇ç@© àî’|…ùí\3³wTé m*¤ú@ú )ÀÐÝ“dè‚Rrýäiß2p„ßßÿÛÓÖ/ƒ½ð§S&‚~X"AH—‚¼^5qf§ïă‹>‰÷ö2Úrö]Šä^Ô=¢žÅCTZøÜS³Ú7×Ù>{kDy/Ѝ‡/IÄ™„4/“Ê1ÎcŒ,)>y¾ còËHŠKBC"wÃÎw—®%íéþv2µ •Ö¯ÔPàënpÇÝ8Ì-3Isµ2·>é›S±c%T+89Ü‹ 9î°mÕ¿8¶ú {½4¾Ÿtƒy2áº3ýöö Xš9Šœ|•;Q-g¦µGÝéÌnb‹>aPZd)÷@²ª¯Ÿ‡Fñ) H"×÷d¶º ;»`øR‡º–OLÞ>Úä»4Y6öUâmÖukÄè—X»ª ®Æ_?g]ÚPiý ³&lÁ»GG¨·qtœ§Žw]˜¸Ô ëäü6úgBÖñׄIüÛ6ÓßÓ„ø[¹ÿŒ°æ®l~wx¨P©Á=ú š7WÙMÅ«µ(<ÿíújQ©´èY½"í"<Ña+˜¶hçnÞã^TO^ƒ‘½*ýN¿aÚõ©ÇÞ~)uÔ“†­ÚкEJY"#‰û§/ó:_y|íRíàÊüxW±G3?œ» ͱL#É7¯ýËÂàR°¢&tí ­k@î,èéÉHÞ~_r¼ö8µ &¬†ˆÛpç¼ÔÂÏ Yy7Oøž‰,A„Ï) P C¡¡}yˆu[3ÿIYzÍÝÀžãçØÛÇ!ãNŸú1[»Ö¦ËF5/bËþSœ l‰ùWôéÔ‰*0«ÏÂÐ0ÂÂRþ;NøÉMø;¤Õ{ÏôP%¾&.­z,[¦?u ŽÞ>–‡='áú&ÖD¥M-›´¯Ž)%ê@•|W™36ˆ‡i&;^^9ÁÍ7@žJ´©™œ||m¾ìPiŠ”+‘ç1I$\[LÏÙj:OïŒËW=8­Íº é.›z4dèý_YµòwÜÓ!,3´:¨y~ˆIccàÀØΙ/Id†–xúõdþŽ•øåŠ`É_g“‡ŒU'¢Æÿ5ß3aᄇŸdEý|È4jT(2x+‡ßýýáááŸU.͇¯ã.L¦aã±\qñgÊÚ=wœ)îµ—-æqðÜN÷(Ãë­}¨_º<Û¢Êh[ÊÒŸ·Çúý T9Š–¥mÉk’½¯:ûêQ xAä/Npü…)VVVïÿ³Ì‡qJï]¦ÐC†¤/x~ÚÀÚ+ÕE‚N¿ø´ß¡ãú¤Õ_ùä3ã´n’›£ËöptÝy´¥ZZõ%2Cl*ugÞ’N˜˜Ç¶{¯˜†Ç&Ò¢k•†7ÆâÙv–K#þL‘!ËʾÒÉTÎëûg˜ßs6š.ÓéüuÙGr VV¨ºÏö>p½1ËV÷¦T®,è&$¨ÃvÐðdït6$Ôgî¢~Ôt2þª;:Z •ræ7A HîXs—ƒg1O}ÌXY’×PŽ,‡ nàzh «Ž«üfúiÄ’HdÈ6nÛvf\j¸ä7ÃØ@‘öÃ4V^™·85ÚaIhÓ¼³iƨô±t/LŽè£ìLõIÕcŽ…ÞFYÈÛÏeerp¬ƒã`q ¦†ƒL -7ÏŸ$â…:Ãõ‘éçÂTùŠ“[‚Ýw€K/Ôi~–Ìçf¿"… ¥ÏŠçüÔ®æü29WÇÛä.áwR¥áåñIüÚy?åç®d`«ßhaË®…ûˆÎÄ{íT±ÑàÁ“¸wûÚÛù3–ÄËQ诃§ÙûnüëShߟ™Òy*’E~%©Ð4€‘3³zÃ?¬œ=˜Ö5Û¤*O¯Ž®J›útó5&b\ ºLß‘sW¸x|7VnâBŒ ‹ÑÚßÍÑ~´è½àcˆ8w”àµËÙv+­wÊ+0µ)€<2%AW¸ç ['÷bÌÙ÷ëª0΋±ú›7íf_è)¢U@|Ï\ÊöÃg‰¸þ/gzCE«+ÀÔ;€6v7˜Úi kŽßà~ä9¶ïÂ4ïS ‹tŽûÁ0y)>WÏÁÖ@x8ærBå°o¬; §Â1Þàj¥WÚ÷é¶ÖiZ9Hvðt;¬<‘gaBØñ¶‰`žîî†ÍÁ°÷*hÓúŒLwÂwG$ ‚ ©=?ú1í¨âU_ÇǦÏB&V&ôœ:ñפ°¦=J×ä jüz–'WF£Ìä(Aÿ%C©øh6MÊzÓph(æ­ÇÍè˯ïÊÍ*2!x }^³mXkêT©E»! Ùyá)o‹õÚ0¼½#g†6 bŽŒ ŽÒ}xS¥-mW3µ±!û&´¥º·MûÌdKÄk´­OÎ2ôìZŠ+{ÑqÀ2μԦýÙ»EÕ§]ñ*|hW.OÆ?Lz¹±Î•@Ôý7) ¯Â§Ð¢C¥fþM?o3äúN4iS”¤Ã‹ÖõMØšh‚;ÿD™ö[xô®¼+ùôÏwoTÜYÙÏr½9ô2£Ž3+c’[Ó}z§L¾³"íå¤Ycÿ‘„ËS¨Y²ãÒëÄ£âÎßè¸úñ·VÒ¶t!pppÀ¹ÍNžéÚ¿‹ c@…R4Z|ûý3º@"O#c0¶ÊûAÙœêá BìæÔ“ôö^œjU£à‹c¬›>”¾=ú2qÍ)T?õfÑ´M¹%¨´¤áü], (ÆÝUýø¥VêwͲÐk¼Rk=;­%dF[ œ›K÷F5ðmÀäµG¸ý:­.¶ˆ3˜ÓÁ‚Ý=«PÚן…|ð³àíý®¨,gûŸé5çÑj /ÎþÍvuñ­P‰:]çsç笟Q<2À؃AÛ63¬D3ÚV¤t¹_V~ƒ]6Wúw…âaÛhðõwèµ6 WÀþXõã Yyø¹¾¿"º=7”æ´¶µ.ÓÊ úlìxsM8]~ûPºꎀbм)¬¸ š´>ËÔq'|od«W¯ÖV¯VUç ¶o ¤Ž_ƒ, O^ó,›— ߟK¦{ÎØ¾%Öí;esDé‰å¿Íîãäö–iŽ2#üG4OÙÑögú›-âèÌrdøÒvís‚š—fô7G§ü„±Ž‹‰Ù׆mYpq UÒXˆêÞJê—F®YÇYå—9pq >5wÑrÿ^º;&wd5ÿ¡^©Þp‚©eŒ 1‚É•|YZjÇfdÜ%¦ÕkÌîú› ìæüÁÝOæû±´–óú(¿—ü…ÈѧÙÚ8_rg2é:3}+³¶î.ö÷uAŸ×ï[–†›rðO\¿¢âëóm¨åÙŽ¶”ñÈ€#At´U*î,©ÉϳJ³5l,†Ÿ™Ob“*Vgg»ƒ„t²£ä|×ÒÚÖÙ,3ǦŸ·o ¤¸[ ôôõQ(tÿ ?~,S¹AÈ®Ý∠‚ðm©óסÔní©['B–‹R¿x¿u뮥wE?³’¸½i1gŒkâ_ÉüÝ£6é ‰ó3Ⱦ¹°‚¿o[Ѥ}©ÏǯåôÔ®Ì×ëÎôNΙ*½Jw9šÞ¨d¥õŒBÊb_„±h늴kñ•»g@ý] ÷£*ëO=›÷Ò¤7I`ýÏ^jOâîÖÉ,»_”¦¾V"ùøÞ¥³­³“ÎÇð]Ǹ ‚ð %qcÃBΘ×g´«Ž/AAþº˜t¨ ¿U¬Êƒ»ù³¸nã%iUiã"úTYužå•Þv]ôp ØOT@ªïÆßdóÜÍ<Î×€æ žm©Oñ®á)ÍMá”ÿgTr,g¢Æf´d^…£ë2c‚:R8½„Fýœu ±È×jaãßCûÉr41œ_5›qNô,l„êö_TûyWSþl›ò¿2³*,¼•QÓè,Ý6TXÒ,0’f©¾«z°‡¿–_ÃØc’~Ê]Æ ”—ú)|Þ~‹[ ýðM)ëi›£¸ ÿ­4¶uvÓí¸¾W"A¾7X¾ü:6Íçã’™1W•õ¦¢RïHÞäÕí²¾qéQìØÙ;ù™föŸ/ÞŠ=9ƒ a…ùcY¢~ur&gutÖ,V ?Ë¡îά™ß7“‹ý@ˆÏêykßpuuOj—*„$ÙáZÁŸõwÿ÷öóOÅsvˆ'«-ãÞÿ‡ÕÍ1 ¯ ‚ð]Ò<„² …•²oÚÿž–˜Ó“iè7ƒÛÅÐ1 Er«ˆŽ¼Îõè8äùš“®3Ó·«k†p``ÑwCðºø3cn%L²çy»úC˜”ûè%1ÇÇAÐël AHEuk]únDÞ~*Z–¡*L-àý\øjbë ‚ BvÒD2z—ûº%çÿ/ÊPZ”¡v½ìYVžÊ;þXGzðîmðI× Ç<ðþŽ­ËžX„dIÏïð\^„þ ð¶]OA”` ‚ ÉeåL CøÉ2¹DÃÖÖ‚Å`o2%”ê×RÕ'¨ŸÀ„&`“dFàñ HUÚ‘xÆ7'óäyZº@Ýð®E »&BÅB 'G±/¥|$ &ºA™îЮ2˜$ÇàÞ®Ä%O 7¸™êöþ© ·„ão’˼òÚ@ŸŽ`g 2}(ÝŽ‡Au ·乡ÙlˆÉduÌ«sð[%°Ê 2(ÓξIþ›æÌïÎù@&»R0z7$¦Lû6®PÒä20¶‡¡{’×ýùFPXÂq ¬ª˜Üv²Bp)!ã¸2šösÛ,£¸’W.¬€ên`"½<àÙ"tˆ-yúbc5ø†¸¤Ï7ºúÙqæø× T! Éуj]æö4ÕÆÖÆskó`šø¸b+¤HÙ& Û|ƒ7Ÿ™mÒ£CÌþ­e]m‘$'<|1ôà‹÷ûdÒöNh…¯‡=’T˜Òu{³ê| šT˼4Š–¾¥p±‘pð¬Jë a<‹\D» L¸¡áîìª8H’T‹ÕÕŸ–`©¢ ›×:ÞE((ÙR¬¬=ŸâyJ#kŸR¿pyz@K_% ÉŇŽóϣ᳠‹Âœß |„<}Ûæ4·iMAñq;gpkã`óŸài›¼O˜Ú@õaðæÝàÖ&hæ¹äÉÇTÓðê3Ûásç†øóд4˜*“ÿfl—òn»†@þêЭ&˜ÊAžšL…S[áwЗ‰Œ>ø~¿ÝÓ ÔV?ƒ± d9ÁÇμú|{¢…kk ²Kò9*·ô\¯u<_¼ j„S½•Dk.1ØËI’°ùe71É­À½=“hW­4…% ûh2h=±ï7²êÎ"ªòeÈ„j{Ø#IEé“v¨ñ‘ìœÐŽêe\°–¬q)U™“Ï zDÈðfTps@’$¤‚E©Ôn*‡ž$·Pò>çCï‘Ý©íaÇÿ±w×aQeÿÇß3ÃÐ("Œ€**vavw·k¯½Æîšk¯¹ëÚÝ®…ØÝØÝ‰(1u~€„0`¬¿¯çõ<ó<0sï9g>÷Þ™sî‰Ñh¼(RoÏgÅà†øeÓ qÏCÕ~k¸}­ëïÌÄ?›?}mM9_4|ýÛ1a÷c’q•äµý?N6@$I’¢‰w°í X—CéФ¦ƒ%GàØBx>:®ŒþR„Ñå`\(L?·€ÿ5¨Ñ̨ƒ®Àð p5VM„*ñó½ñºÎ‚㇡¯ k G? 1À‰­¥-l= ÀûÅÐv>I~Á}ñÎg€ÅGáä2]Åjh{/ÁÚö°º;L»j~¬ÂÏCé‚°ßfÁÅ}0¸5¸[a0¬$tÙ}×ÀÝk0¶ Œ¬ƒˆ©ÈF<€# ´΀ÁÙ`D38ôRWƒ»' /Pç_¸wî€lfô$ºoRÇ,‰r„­Á¶ ì»g·ÁfQ9³X¸R½_3ÜïN¥zÙÆ œÈ¥—ºO·Ó3µa#¦½¯Ê˜€ÃÝ4š’·ÆÑºÇzŒ¼ÜÞƒ½âÙu>»Žíea‡Ô¬ëÖ‚‰çÂ>M@—Emšñçõ‚ü² ˆû70sh;ÊfЬxÇñaµi·ÚŽfrôð*d?ÌÀƒØ÷Æè¹·¬:mºöPîfóÌ4/ïEªLMYqxÜ!C«¥:q‚'SÇå£Àˆ·T•ãnR°ÿ2ößͼŸ½93´5Çž©Ô‹÷·Øy95Õ~›Ã¦]›™ÝÊžtcÆU-‰R@‰¡PÇ}ÿŠšÏv ú@·iàóñ9dÆ9qn8Ôý jNK×`÷ø©Tlï Àã[Pz ì9 KÛÀº^0ùreLâ³Aaå:ÁòÝpêL¨³ÛÁäàØ$žíU}Øw6uƒ}¡Ì8(?·™`pS8»ÏÓ£{½AS l1”¨wù0y¾üÚ@ÖþpálìËšÁ°‰†RW]É¥5MH«ÌÉð׸uë7–úã€g›ºQ±õ"¹<© íç†RqøJöÜ˪©hVÔ9ê8),H“«ÝÇ-bÓ¶-¬þ§=éŽLä§_÷ð&º1%Þßdσìt›»½Gáw{]ªöds+þÞ¸-“+ñry_úmxÓ°ï¯rÖ¢£Vî`gÀt:e>Çä–uq<”ÛhI^Û?€åË—‹—/ž›ýX4ov²¶Oê!IÒÿ¶Ä>3Í›ý_/†ñ™ÅBÔÝûÜåB^ˆÃР19·iZ ñNñ:PˆÔ¶B¬|»OÈv!R)…˜÷@&DwW!œ q?òÓ<ßnÂV!ÄÂDZϽÛ/DZ„˜p]¡b\N!\» öa½³ aW_ˆ·BˆãÝ…Pæâ¦.6…PdâèûØ<–=‹~Ñ Äü"BXU"äÃ{.Di¥Ì׎&BXâ¶îÓ×Þ aƒÏÅyR'ÄÌâB(‹ q_o¢\Bˆw„pFˆñ×£‹úXˆ¢J!Zì5¿\$´oRÇÌœr=]*„!FžÂü¢EÓ‹·WÅ´¾uE«puõ%[Œ뮼NÓ(BvwÙ½šˆ Ïcsy»¯³Èž©šXñØ „ö†ø§œ»ðuAD|Ø@wGÌ.¯yúŸˆ=gâ ?#åw9;o´&Jõx•¨ïé+zxóœñùzQÏ-‹h¹ó­çÅð™DÉ WbóŒK{]üU*“(:úR¼×C÷µ^šZbÝ £0a 'EÄ÷ˆÛû¹ñŠ5M}còÌ\°+G ‘¼|†>$˜ãO)]>3)ºyï×õ™©X;œÐ$58Û&r&õÙ`„Só¡QÈã Ž`¯mdéY@Z[ÐŹ†-¢†Z½O¤ éJC.àèí6xAWàö8HK[èsÞÜ7¿€@Ä-}ømŽÜ‚ìÕ ãç¸Øç¬L>«çœ»òÆäJf ³£P>”ÓÍ¥Qžb4è7•Íç_·oQû`Sû¶¢^•2É“ÊÓ€.2ö3>%vNv(tq¾ìHk§@®#Á‘€ÖÞT(žíÍ‹<3ѱ‰9×ö@Î’$IJ!ƒp‚µ‡¡mœ&CÔŸÙ~‚àÚ°e%,œ%ÿ€æ«`aÃMá"A_qqS“™Eê!â-&¿„Eb…ù6‹ %(©c&&†2-Œ9?íƒKaTMèwBA»ä—Ia‘µ{1«LºkÉü™gùyv Z=8ÖaÎÆßÉkw5©]ÔˆPz#ä´‘µÓÅ›× ²uÆÞdnVx6›ÁþÊ]Ù¹a=«þBÉã¨7k“kdƒnt\ñ/<ã0R`åä‚âu$C$ï"’˜ˆ‘‘Ä òÅN[è?v´ƒTƒ uÓ›™sÛ„­·áèX6Ÿpp2¤Iañûl¸3ŠýÁ„Êà4p…ÚÈ)¦PGUU FÐ!ÏŸ°¡Iü¹3*;p0½[‚>>ô ž Ѝ¹/É£À.OW–­Ëé  ¬[1ŸÎUÇáÝ~%뇕$uè~­ÙŠ <ƒ™1}"y3ØðhVU*,Mn>I—CmiJ‹ßCR×ö@ö€H’$¥¦(_ÁþWQw1c™À>Îíµ Ôéë/‚²°l_lMx•%ßCØ·¼if y½àöV¸kâ0Ø>… [qžÔÃþ­`‘ÝÇ…*ªÂ£MA¬Ú×Üc–$%x•ƒAóàæaHw&™9&>!¨G/À>½¨ÉÛå›ã{“WWרGFì,@aãFž pcw0ªt®ñ¶Iïh™hEÞ"mnª´ÌüÝG˜\ìëþÚÊc=Xiò‘‰ûì?«Å9nž®Ik­D•Ê‹l©C8²ýá¦V¨°PEW°`å^˜,Ê;ì:ò4Ît-÷öâ™]. j,SÃ9U€S÷`ϯÐigî9¡°ŽZAëŸípy\™»_^ùL~6Dž¥ª%ŒmîiÁæ+ÕIŸì„s@¥ìqžŒÓ*PØBA F-ì7>®NɹŸ @¿ÿ¬=(ê×Oñ:N{ö}ðÎF¤§`®4Ÿ,`VNV)X«3£VdïïÙ¸¾ð/…¯®gû‹< ÛRž.¤²µBù5nˆ„_cëžç¤Ê[טã÷½'}mÿ~·)I’ô奫­ÒÔ`9 êåãC¸ðê´„tZ˜3‹‚ÂnB`0Øû”|³šà^ì'°™ðkxs–/ùÌ¡åõÓ—èí]p1U+W€ÿÈè›Â„>à§Ï _aHSºzÃðúi.TÒÀÑ™Ðã ü´2*áÅPØBö4¸Nh@ÙóI”/‘}“:fæ´Âò'à—/jHÏÉxx¥ˆ$xVFÍH·)¿S<µ‰Žþ.së×c‰U üKæÅÛ5†'çZ²€=úRŒýÉk”Xú÷ Ksæ´j‹zX7ªùº`||•+/2R¥¾ÎÖ¹hÕ1 þèO³¾¡ hêG›Pn_¹Ž¾hSjf1Q‘fÙì#¤.ï ¶„ßÝÏî›zlòdÀNnuèæ?™cšÑY?ˆö岑:âÁ×BÉ^§.¹òÓ¡•7kþnI[«¡ô¨ã‡»êÏT^äót@©rÄScÁ£ëØÛÀw½–´9r·cA•®2½ê¡åŽŒJ5š6ERólÿ úMº‰Oiø9/?-ú×’äu¬€ÃÓá¢ðë7°~ଉ³V2„'òÙ Mfx¹–ƒªV°rlÕB‰Ï}³aãv¨˜ž‚¾!M[héõ²³=ÜßëË€‹'”Ï]zÃ?¿@åv0ê'ð¶…çAW e%éÏ @ñ¡+ î“: {”矞½éú—CäB}7I½â7ŠŸ|­“÷ÞŒ!œ\´”`×äΜ«·W :ø àb¥@Æã–Ìß_;o^ì_Äèi·©Ê';Œñ…rmÏNަÊGFà ‚þêÏŒ§Ü«(°Kk‡áö6¶{+MvJÓàœÔµý…¾¾g²D’$)…”N0ó$Œ©«zƒ_^¨ÝNƒ6ú‹öÕqèQò俦p«<ìZÎ_èΛsuXÔŽ€Â… ÃTH[2|ÆMäÈË©Z°c.$ü{ÈŽåáø6(tÚ—„,…¢†»<Ôö0öL,#k{Vè¿F샩å’q×Ô~ŸN ˆ/4Ïõæ•/¡}Í9fIŠ€M#Á¿øäƒÞ¡ÇZøÍ@Ï«s»Ø»ý(#JÐ ïj•ps”§ ¡_Ï~ü¹âú¢}™»c-<¢*qJDzŒ \Á¯¥ß³ih+jT¨FÛÁsØvá%Q«÷ªñê°’ ¿ÚáÜtº×¯‚£LXyˆ;ï"eäÍÙe n[ÿ2å¨Ñu÷J gÕ_•qR©7k;s{äâþÒþ4®V:G²p÷uÞ`oßÖ/Ï» ƒiâ_” ­~gÖöûD()ýÛoT2,¡]¥ 4î3 ï>*‹2 åÇoci÷ ú£Å •¥íÔH@_³_R’ç„t`r‡¨s)wiXðæï‚)r÷A‚Ÿ J¨ü Ê}ü {U8~öúoö%,èy³@•_!óp8=+*O”Ps8ä †¦`ñå¨!–Ù{ÃéE 9 -Ê@žò0d>ÜŒ¾‹`Öõˆ>îÁ×úsØ1«ªý¨éW˜*?/%¤Ætv,iGro‘+@÷ôsú5§zùÒø×ëË¿aµ™´j8…mAíÝ™ãëŠv”)\•>k ÔîUŠTŸ]Ù×so×túÖ+Añj=YR¶¯¤SVK@M–½©çr”qº1vë´˜smÿïS,_¾\T®TÑì6o Fíº_¬Ni¿XZ’$}ÏŸ“àgÆæ ´j×á—HJÜ{Žõ+N½ýÚÿ;¾ßÝä}ï哤ïÓÎPñÜ?™¾ØöûzÔß™I¥ÿ/à8“ŠØ&½ÃwæãïçÍÈ'/jKKT M 2áı£Éjmß!{@$I’¤XâÍæn|A޶Í>ý½„ïÀ÷^>Iú‘ÈëQJ)9D’$IŠ¡p¬Àœ«f,õùÞË'I?y=J)% ’$I¤dÉÇÿM‰®í¿ŒÕ÷\>sÊ&}=ò6Û¬ùÉs^J)Ù‘$IB~‘&Ç÷«ï½|Ò×!»ô­YdîÌî‡ÿëbü¿$ç€H’$I’$I’ôÍȈ$I’$I’$Iߌl€H’$I’$I’ôÍȈ$I’$I’$Iߌl€H’$I’$I’ôÍȈ$I’$I’$Iߌl€H’$}M¡;i꞉ú[Bþë’ÄgxÌÒª™ðéz˜÷)N$‚³ƒ ©Ütnë¿`Ù$I’¤ÿi²"I’$¥šÌÆ0}pE\TIom|¶šn9èq$åMI’$éÿ?ùC„’$IR ©pÌ]™Zÿu1$I’¤ÿWdˆ$IÒ"‚;[Fп>n< T¤Õ¸#„´<Ø9ž¶• “M£!KÞ24ümÁïŒñ’Ð??Æœž5(êã†Æ#¥æ”ᣟhÖ=f׸–øçÏ‚F“Â5û²ô|(ñSŠye&ªÁÇ]ƒF£Á»Pmü{pèo3Ý?Õ¦wÃRøfÖ q÷¥bÏ\ˆ“ˆö!»'w RÁ¬h4žä¯Ð–™Á‰ýt´àÕ†ºxíÆ NUÈŸEƒ&“%šcÃí¢ö41K÷„}S:PµXN<4ä)ׄ!Ox¹¥>nù{qÆø–µ ²¡ÑhД˜ÈÕ°ÛL/çFá?.“õk6ÕÍ„gÛ½„D^dD±Ô9Šþ¾¸k4øýz’ðècv{ý –öÅCãNŽâ ºþ&aòW±%I’¾[²"I’€ž{ËZQ¡Ó&¬keAàn6ÏHóò^Ø) <ÛÔŠ­çZik#ðï¤ÙÖ›ÊMæpS•‚=Æðõy1=ælãàžeŒn_Šôq³ï8>¬6íVÛÑìï@Ž^Å€ì‡ØbûÞ˜n‚(lÝ(Ñâw¦­Úʶ KRú%KûtbÎèŒo9»û.îG²tÛ&Õ lMz¯¼‡Àð‚m½*ÓrúSJþ¶„]‡¶³`p3 ¦I*&‚ˆÇxWb ¶íbóÂ~z8—®5û²ã…‰²žؽ"Íæ¾¥tßYlÜÄÂ!m¨”Û‰4þ³9¾u9±§ÊÌ}œ8q‚“ñ²4óðÞr,ð!yzLgõ¿sù­z&Ôy¹½5zijë|vÛË©Y×­Ï…™™°$I’ô­É!X’$I‘WXø÷2öÞÁ´>Xœú›¬š´}ÅÙÌìSg%àÑI3nRªÞ æœoÅØ‚V¼Ø9Åó0øÐ(š{D}¼fqyJ&Õ<´ÑÙžòçÊpê,Oû’d8«z³àÔHÊù;|R4Kê´òˆý?·w8WuæÀ0zdPÞ¿ ]äà kOºÎ_°Ãw‰hãŽõýµŒßN¹ésT;]Ô'7; §ÿ ¤â¢ÊJºeÉçd÷!·—«%‡3eë¯ø·rŽ·©þÁz&nµ åª¹ ôs@AÔ>QÒ’1£VJ%vÎquµ‹ÞéER%ˆáVãg:ÖÎ}lÝMVŽ "UÇ-üÑÄ+À»å`z,-Á?+.óK¾Bؘº$I’ô­Èˆ$I` æøSgJ—Ï[Áý ü6GnAö®…qŠÓolŸ³2ù¬–pîÊ ¹wì:z·¦”ȘðGkÄíý\ŠxÅ‘¦¾¬IKÞùž‡aÄáÓ®iã[ίšÂ´€ãܸÿ‡Ÿ* °Ö€É‘F*;œl•tQ¯‡ß:Ä-¼i](ígw{[hJãï Ï<$ò£HøÍƒÜ¶ÊÏ \ѯ-ì*{¯ë¹wµÙf}ÈQ × Ô®o‘ sI’$}ŸdD’$ †H †HÞE˜•à”(Q[´z@$¼-€A‹7:®ø—žêx Y9¹˜h è¹3¿95G„ÑrÊd†”ÍBZŽÓ!ë¨ùæ0è0âKÌ‹PX`e* å§ ƒ½ÖHxB“Y“‚ £½r ÚÈ‚Ú鈻—ÊÖûC’$IúúäI’$@•Ê‹l©C8²ýZÔ俏¬=(ê×Oñ:Nåú}ðÎF¤§`®4¨°B“ßîíãÐã„ï½[iò‘‰ûì?«ÅÙÕטGFÒZ›øH6<çк³8ÔÍouó I〵Eòú¬Ü  á;N¾Lp¢»¹ôv±å–ŸŸöYeʇ«þ"[N¿1ÙS¨,PaDkˆû¬µÒHØë0 &öIŒÂÆ<àÆî`TéâÆÒ•ôޖߦF’$IJ6Ù‘$I°ËO‡VÞ<œÝ’¶c×p8ø®Ÿåô­PŒê,4ìQÔ›®íàÒýG\;8¾]â׃Ÿ|­ªt£zªóŒh;Å{Îqíúyö¯ßÌ8«`Y¸Õ¡›¿ÁcšÑyÊ»ÂÅc;X³dBMTÛ•¶dÌdËëóX{æ.mgZßߨ­3¿ÇÀÒ»ý ìéÛŽ?Vââõ«œÙ½ž]÷ÍHÃpŸýA‡¸t÷>W/e@ÛQ\ôìÀ¯?ù±ÌÚ„…ßбC–îåâ½GÜ:’à7QM …¯Ôï8¶:³7®ráâÂT.ä+ä›­™tšK现uþ$\6£lÖ¹hÕ1ÆÃýiÖwG/|î0+±évÔ¬›÷§ÆÑ®YGþ¾‘Db’$IÒ·’¢!X›7|érH’$ýǬñíÀú´Ã>o0M¦¾ÅÖ=eZgJ眸֟Ãë?ùmb?jNx.Ù(Zg:;ú×"z¾9*—jü½m6ãϤv+x.œÉU©:…3ÙðìC6©7k;¶cÒÒþ4ÿëtÞøä«Æ¯5||ß^‘š2£fÓ³ç†Õ(Êt¹¨Üªm/Žä¢¹o̓–‹¶a9òw¦oÆœ×d,XŠÒ‘ô"TÏ9´àw6ürW6¬>Š-ƒ›‘ÏÎDÿ‚…m–b7zSǵaþ 2æ*NÃ?þ!»_*¶ùé9¤g†ô¤z@j¼ª eÙôÆè?>~áŸv5o›ßÒÕ)WACp’ Y©ñê°’ ´ãþÏtº¯F¸}F|r ŽocôOŽ´ï4†:ˆš¢/I’$ýÇË—/•+Uü¯Ë!IÒhó†Zµëð_C2)êw@rw·aÑ¥Tøtq.I’$éÿ±ÅóçP£vݘÿ7o wž¼¨--Q©T‰ì߉cG㥓” í;ä,I’$I’$I’¾Ù‘$I’$I’$雑 I’$I’$I’¾ù; ’$I’ œj¯çaíÿº’$IÒÿÙ"I’$I’$IÒ7“âƒÞ€Ñ`Hê7¥$( ”*%*•y‡BÆ=åd¬¿äÆZ’$I’¤GŠjz­Ž‡rñÂ^¿zõ¥ËôÃP*•¤Nš9sâææŽÚ2ñùeÜSNÆúÛIn¬%I’$Iú±$»b4xøè!§N§\…Џ{dÆÂBÞåL NÇÝÛ·Ø»wF£OOO” Ü1–qÿ<2ÖßNrb-I’$IÒ'ÙµƒAÏÅ (W¡ž^Þ_£L? µZw¶ìàÜ™Óh\]±±³7¹­Œû瑱þv’kI’$I’~<Éž„.„„¼Á#³ç×(ÏÉÑуÁˆÞ`Hp÷/CÆúÛ1'Ö’$I’$ýxR´ –ÑhLÖO´K‰S*U!"ñÉÎ2îŸOÆúÛ17Ö’$I’$ýX>k`¶¬X|âhn4eÜSNÆúÛIn¬%I’$Iú1¤¨DNÈý:I¼.ãþåÈX;IÅZ’$I’¤KŠ …½^ÿ¥Ë"%AÆýÛ‘±–$I’$Iú:>ã6¯ÛýÅ(ŒæVveÜ?‹Œõ·“¬XK’$I’ô£HQˆôe©ÕjŒYÑýd¬¿kI’$I’Lù& Ð}íIoaAêz›xeN}Äð€9EÔ85ßË»7ŠäÒ°ì¨=p6âË•Õâù JY9ÓzÂ¥û>Drap6,,Ô”œw³C ÙB+5åÖ½Nx³ŽO Óþ¡{zY}j“ßÝK ,R¹’«BGÆo½Eø—ª“ë®3>÷^' ÿBIJ’$I’$}mÉo€(É\ž4„£³7êâDøÎ™ì~aLv–_OǺi°,8»ßûH‘dÇ¿ÈâewH•Ñ’“³6rï{Ó3:—%Þ¿Ÿç›¶1Së8Â/ÿCß²t›û€Ü?Mdåæ@ÖÏì?[øµ–/e‡âM2/ƒ·Aµ±³ôgcHœ'-2PãÏeüÓÚË—V’$I’$éÛJÑ…BaöúþâÕfmÔž6‘ˆÎ™ô„ºÍ3&Þò‰I7*Ó¹|È?z›ÝUŽÝ/9iˆØ¾Ì3ÓHNÜÂÎÎçߥùs¡C›ÌaÝíôñV›W–Äò1ëø¤0íxÛx$3sÊ„äÆ:FÄÆ5îE±&óή U«è*P½Q3ªõ,F1èWö"³Ê;š½B”éóÔŸÊ ñ‰Þà»ì$çÏH’$I’dÂW‚%x±w&;U•i_¥*íÊYphÖ6}<(òÛF6¢PfGÔjÜó×câ¥*/â=WW¤F j5i¼üh½øN’•.í£]üÙ¼Ù3Ø V§Æ-Wyzï|…ˆ8˯Ԕœýã¹xÛ¨Q«m¨¾ù*‹ýÈÐf7oã&²ƒÒÑ8ðuÂyŠpn¬ìIÅ\°Q[ã’½"}V^ã½õ0£áKwO¼ãäÜÞøµ§z…ÖÔr¹È¼U7Ñ~´•îéAþn[og+Ô¶®äªôG?·oÎñ1!©´¯0¼NÜ-Q«ÕX:e£JÿîjAg*ì|rÍÈ? â V£Vû1ÿ¡!ÑýÌñåcëÝɩ̺¢¤øø¿hÓøˆ¦r¡ÒÈé4q|Êò ;xneWãôdªÝ6¥=I­V£vô¢\繜}kÞ±·EZÒÖØB¤qõÕ¨Õj2v<Ì{Ý &ä±Ä#f–àýÕ•ô­š·TjÔ©=È_ëWn…GŸ³áœìå¦Z?ú·(MVkÔj;ÜKõbÝ=]L1Eøm6 ®Ga/g,Õ–¤Í’—jÃO–‚x|ÍXK’$I’ôÿSŠ FƒcHŒOÙ9sVUÚP8µÅÛ–ÇòèL6ÞS)1ê½™u|>Éß¼´±ö¡^Ÿ˜½|}FÐwi#v]%¤y)Ò¸8“J­ÄÂ>-.éÓa `ˆD—è~é°O"~æ2/Öq…ñêI(Xxâb£G«5u÷_:S}ÌëˆH´–ZôFÀ½"õ+äC£‚lÞcY­¾N®vc™{¡ƒs¥%“5*¥ÇtéHŸ**V‹A€0jÑjßpfʤn˶9])e~ fp&W3F-¸Líî茅gút®MÔhxöé°WÆ>ÿ>&Ë`FÚïÏŒ¤R•!\ÌÙépáÖE¦TÄi ˜®t›³ß·Šuü‡%îeKâÌyþÝóÄd£Ór‚U°,X™lÖqå……%*”¨TMÞ8–¦V6›d%z6¶ŒqþV«ðÊ•‡lV7¸ªõ¡n g“ÃP%I’às&¡'QñÐÞ `ášÌßÍáÇc»fP+õV.½D˜XºÆkl=öCœ Sl]U tÌF.'6ŸáMÜŠ0€w©-Òæ¡z§¬8vŽ¥žòïø<ÔE½¦´PAûIeÑ2k:f½Äœ€C¬™{‘,­âm¿b·R޵ù\áÚö‹(ÒkÐhb-“Œ—ÑÜÊZ’•>=OvÌå…?SvŠû}ËÚ“éÕ&æ AK2ô€»»ØÿP?8ù˜s|LUÄ“N;‚Û[¸•¥;“©JŽ ŽØZ)ã¼M@‰… ŒÚ¸½ fì÷ÍbýéÃ6'Úx8ükVߌÿºþ{FôdÅkgö¬€³"¡óXÏ“=«¸HvÊ{[G_*5J Dê>ÊóC9•iÈ‘?§7s>4öuël¹Þ¥<±Žil|œFôjrq~V®®× ëOsâ®ÎÏÞׯdÇÃìX›âZ‰².×øgd ÏâNî ¿ÈÌa›P–¬ŽÇG»D^™Fû~8vZÉõ“èѨ2¥üŠã_»=F-dãònø$çv¯ôÙtσyà=€½ÁgØ¿k/‡÷O§‚£¹kÀýGŒ/9U‰Ï›Ø¸Î8Þ_\Ïáp_êù9%ñåÉÍÀ<ÏR‹rqº:R•ŸËõ‡G˜óóÖ!'YwFAÁú£‡,̆ü£ÏððÒ_3ó½™*ã§åÕr;hÏÎ_áDÐj‚îÅÞc“Ÿ.}x¹¼-­G¯ãÐÅ`.Ùšý£*O •#ì2 'Ì"`ïI.^½Â‰Ø~M‡&#¶Jjœ³g@\]˪— >ŠK/£+»ªLÔêœë£fìÕ´«ëŇʙÚGuÇÖ®gûŽ]œ¥GXç¢}ׂö÷¤n×ilQÏgË_†—röMl‹ÓÔ铬SJ{…qÅãßÒh4h<ê±ìá‡î0AÄý½ÌìU—¹3£ÉäCñªÍù㈂‚õ J†g»Û¶*E¢‡õi< Ò`ä^€È‹Œ,¢![ƒÕ¼ÖŸ¡_!w4OZnK`ÕDÝ=v>Ä­ZÜêêпäÌò!´¬ìGNw šl©Øueœß¬ÒóòÔ6ö§°;Mf 4™Æ•ˆ¨^ŠcŽØEÓ²yñÔhÈ\°15Yã³5Ôw3£èGÑQ—ˆ4±ŸÉ÷µõnÕË“I¶?$IJDÊ ‰ O ¿ÊÊåÈÝ©)Ù,?~ÝßÖmð~ºž§B´ýwÿ4±$ð÷z”*R––“.±p:¬bò°"W¿-lãOÈŠžT+^”Êð${^ÒX$R)BÏ«“‹èߤ"Å ûáßn*wJa㌪8UQv­7ŠþÅ2¾v1J7èÇҘƂ’ô•ºPÆð€ˆí©îªŠM×¾¿ô,›ù]iÑk'_Bw×öÏü‰Œg¦Ð¡ZŠ×èĨ¥¸õ.é;Ç_$îB »·™ùç3Òü§Ÿû²ÈLýN…‰Ü9‡}/ (]j0{ï"ºf<ÆØfå(Z²!ƒ÷Øâçf[™7ëø|úH:m%ÎdNçôu)AN¿ÖL\–_ê§Ç2æ÷E)7lUõ hV²$µºÎäl(Iï÷bmú6¹º³îäzÆ6uâô¬>4­U‹†]þd»ÞŸa+O°ch1R+âìðêK7¥xî"Ôv÷_7±orœ¢·³Ì֎Ѳrj@Š”oÁ°Mˆ1ÍË¬ÝØ°÷o*¿˜K»R¾øVìÃz«Žü{p6µÓ+cóJl(#ÝãýLëQŸr~…)Võg–†ÕgÚÆ1µI~<>犿3°Ð3_Í==ˆCŒÿó$ž=†S;ãG-Œˆkl=‚gƒšx}­^Ãs»W¤ÙÜ·”î;‹»ƒX8¤ •r;ag›ºQ±õfÍÑ?Ú˦;¨œÐû’$IŠ–¢{J…£ÑˆR™@ûÅÊ—¡çž0Lþ@š:{?N¼îGÔËìrÐ|ÒfšOŠ¿Ý„¸û+ÓP¸ó,vvŽ¿ÍÔ¨TLYå¢ç²ô4ñ҇ʑ"µ7^f ‰×°tÄÙÁ–2*’N7{ ÜÆí£°'gã14“`~¦˜[QK2î€Ê£#ûžvL ]%šVAUpV˜4ã&¥êÍ`ÎùVŒÍ   ]™Ö4/Ÿk@Ó«ÿì>LÍ®m©œU xЫñ4¶žà‘®<©6hцjí,to3µ JЩcM ÚÞÝé0}“Ý!²Ql=ªÓ*Îø´ÜÞál\Õ™7Âè‘%ª éý»Ð¥A¾¨Õå²ö¤ëü% ;|—ˆ6îXß_Ëø á”›>—AµÓEÝ©r³£púߊIÕ ŸNÓXÖ)¡hYàVo ³<ŒøÕZÊ‹œ]˜¾¸1éâ\Rç_æ€QGxxa7Рê8®íßÌÕð*7sêE┨­¬¯Œ¡U¯C”˜¶žþ.¨ãË h>‘°ŽØØ/v € <y2wJ8G]”–•iS#éoºòÛ&GÒÙ©@©Â!ò,'^g¦~­|x¸&Vý6ðôÀn¤)ÏØlÖ¦7yw‚+±Ý ZWʽÈâ…oôËagÿ¤ÍØ:­  g»èFNvr„Ÿdãþ²þ<‘Qݼ¢®­Š"éÇó8³“ɹ% ›Œd÷Íhâ•䈚3sÍ©º,õèÕ½->– »»”™U艈4&þœI‚гÿвÅR2 _ÏßõÝâAÒ>%øØpˆóe¨åNÐvž¸V£Rf5Æ—[>òyÇbt¨X„ØÂþ·ÙèR:CÔ0®WÇÙtÕ–bC²“øÍÁÛ3ë8E!&çû´ù*>Û1Ü¿¹ëå§çż5”ÆæùUé­)bcâ¨è°kË]\ü«“õù/^s|í9¬ŠýLn-ˬ]YØ Ã§/Ò×l©Íj°‡ž à$…™’Ôû’$Iâ³ _fŒ÷÷JíÝ“CO£f|Oïó=îß“ok;JÏ¿Íóèå¡ý<Ö9fθ‹Ôð3%O¯£MëÚ”ÌáŠmØ}ÎÎaÊQ[JMÌôÑ„Úp_äüû8p”¶¸fóÂÙ2~ÕË2k:žÎàŽ-H3ô—Άí›GhÝóã㘅†=ÊóOÏÞtýË‚! r¡¾Ȥ^‹ñÅO¾ Œ÷ÿÒ”¶dÌdËëóX{FC9ËËløk»u‚Âf&aé݈Î~Óøµo;þÐýJƒ|Îèîìf×}Y>lIð¬>Œ8š‘nS~§xêä5rlsÖ¡´Ý.vÞžDÅB›Èï¥æîñ˼ˆ·•ëÔ6À{öt­Nõœ^T7‰<Ÿ<7‹nŸ¬¯,xim›ÌÀ¦ï&ÕɈˆŒ$Pª­P+ËtdO+× gRÉ¡ÔÏiGÈÕÌX|—šÕð²ݳ\ õ›<|ø’»–ñט¥¼Èü å5Q_¡‘÷OrGŽ÷np#X‰69Ò[š¨¸¿ãüº#èò¤pË¿¿°ˆ¹')\À‹ôVï¹utÿœq ü„Êd´eZo\UoX;p…Ft œ—ŠOUxåóÄæñ>6Þp¤ÌhŸ˜†9ÅÚS Où?öî:*ª¦àðoƒPÄX`¥01PDP»»^»»ëµ»»>[ »»ëUìÄn6¾?@EÄžçÎåÆÜ¹sïN[’SòÊÍlÉköùç©Î…õGˆuAÁT¦AþNi®ØzóúõOïâñ§ü¨Õjd²”Í*â]Äõïò“š¸N?zØ5˜ËÞãhéø„à‰ÝhV·&uÚbãË X·Ÿyu¬>©y eq+üüü>ü”kÅÚ‡IÔ Ë•4YÌ„úìÝ„ržÔê>… ´ÈÉQ}.;g×C¶±•Š¢|ûe¼ñŸÁÎ¥Qþ¨iI%&”1‡NÎì_„’ Æq1Okš*SQ’+i¸xãkê±sH=Ê•®@Ë©—Éæn‘h Š—çw³oÇ1BcR_r–e«ÊÔµchXÄÃW×9}ö1¦¥ëQÛ9qDâÖ¶-f@ä=n<Ö`¨g”ÄgI|•EgPÝa {ËÁÁ¾8ÙÙ&tÅ+Ÿ˜÷×Yòpœž²¤mU|*µ`ìλ¼VgÁ³r|k†^®út­fËí‰5(é÷óo)ñ´ÕǪ¼Ê„æ]¥/5ììQ…ªÍÿeçsMÒ­‘—Ùp(’¼ï[È>¦âåÕ3lÜ‘Z¼ñô©OÿUo©²`'ój(Ò¬U˜:¯ ÅTÛèW×›2í³þ"o4jž äŠaqª:hê?¿žcq®T+dúýÆ´E^&è`ÎÕ‹ŠÕÏAHÉòå˵å|}R¼C\l ûöîÅÑ)Ù³+¾cÐþOž<æüÙs”ô,‰qF“$·ñž>D\ÿ8)‰ëÍA4jÖò‡L~Žès(^ùÿ ¦Å+‘~ÑçQ¢ÊQÚÜJ3ë?çºáO·dÁ\ü«¼ÿ{sP ù\ò££«›ª Ä“Ç}tœ¯Ù¾cgê»`Ie2líì9qüE‹z`nži*ûTkµÚtëþ5•Jõõ ÓZ­B£þZŸä´@ll §NœÀÅŹNò·#=â]¥R¡Ñ¤<|i‡Vûû¥2 ‰¸þß1®áïË­m»xfSï£ÕÏ «ŸÛÔ£Ôu]‚ |O©~[Èdr¬­­Ñh4œ;{†7oÞ¤(£¥££ƒ$k*|òdŽ¥•ª9¥R ryúML¨£«“ºÙn´à’??Y³’!Cò“Þ§%Þ% :ºésmr™ Y²q.IÕ¬4ººé3G¼T*E®“Š.>"®Óì{ŵ ü5âî±kë=Ô7Gá™sØö`ßžÎ8$·ú/NugåŠ#$áoe§²X‰ò‡ )”¦×…Ž®.vv¶( TªPû É›Ïò»“H$Èuä)ʤýÌxÿâ\Äõ“š¸þ”B‘úno¡¡¡iÚOH?¡¡¡?;¿6YVªÌÚFi• cjƒÝoZøšWdÚ¶bñëµHä˜ät«Ÿ ‚bi®¯ÊäŠêŽMÄû#âúçHkFVd€…_šÔ¥S¾ŸŠt#5²"O>«Ÿ A~Sb¾ AAA~QAAá‡AAA~QAAá‡AA~}q÷Ù½l1AÞðÝWYJë¹´‘\ß²„%[o¥Iôû,T~y¢"‚ ¯%ú<ƒ *P(~Ê-䯅¹ôìõ/;ÞJ¿{æ%ú¿4ž+üãºöaÚé(¤~W…ŒÆCñázÊνËY"Y~M¢"Â/&’“Ýó¡P(pî´7IÕªî0¿¢ …=-„òO5¯Ï­fd« rT¢P(°sñÀ§^/fí¸Æ[õ‡-£N÷"¿¢So¦|¥÷¿–úËü,ql{„ˆÔì§áîÖá4ð.ˆ£•…B‰KÙö¬¹Ÿ’ìW»(?¹ÏI}ö=hy¾©6¶õÙòòW¨¾çp'¬üóà—ȹ~ßø‰½³ƒO,i6o3ÁÁÛØ½ €˜]»xœ¡Õò}ÛÁµoØÙÔeõµÕðrÏ(ÆK*çËmðªØ…ei8t+×­aΰvT²yÂÖE;yøKdÞþªÐU´m9“½!ÓµÀÎÑ£X fƲ” ©¼í(hßpfí)4îÕ(dš²ÅA£Ï ¤€•7sî|‡Dy… oq¨âI¶å\UÜžá…U¡!\ˆIÿà¤>~R÷wmá~ŽÊÔ.ㆋK>³¾`Ïֻ誎kÆo\¬5ü<ëÆà\­™“Ê©î³+MçŠâÚ¦ý¼6õ¤r.ýž™±§|Ndz|‘—V(ký¯B)é@ÀAø5åð¥tܦ ¦Þ¢*X¼Ë¯F]bÖàMHKTDyhÏG»Ä\™NóÁ˜¶^ÉÚ~%Éü>[ ï* èø#Ã/÷,„‡ö½Ø·«#¿K¾+ü<ëÇâ<Àv‹MA IDAT#éLêgâkÍŸ*kRZ‘þ_­Ñ×6³ûyNê{Y¦ì‹[õ˜o’Ék özéœÔÇOj£zÈþ·0÷öÃîݶr;:ì¥Ã7 âò…ç¦S ’,§ù\py–Б &þÞÇA–²å±ËÆ 9Ñ"¯ɨ†VD¾g8ÓϽëô£âÁº!Ì{æÉ€^%1M¼½6ŒãÓçbÓ•™½>ÒYÜcöOj‰Ÿ‡J…¯: ~œÐŸ;–»ÆÒÔ·¹ lò—¢fßÕ„„'´Ö¨n3Ã;û ¦eYg” ¹‹7`ìžKœ×•Jî¶(¶¬>”ã¨}HÕ\žtÚŠn9Q(ì(\m /œ`Å€šÍ¥@aí‚_µÜN¨Y޹2‹Ö ãhßßܾ`z­º?ö]ú¤KÍ’8çT °vÆ§Ó ®G'ºÎØPöLl‰o [ÜÊ6eVH⦇Ž´uD¡ðgM’ýXb¸üoQìýóàÆhJçŒmÓ}„©ŸshjêùÄQÿy.·RÔ轌s¯?ô“Ó&ÑÚ‘ÔgÉÞ®k“ðT(©µþéûÁÄ17—ÑÈÕ–«îeq<=±„>µ½p³W p(DÙ=Ø–›€ÈÐòöÔÚT.N^›ø°*]*Ð+è*@uw.> ÊN¹‹æö8¼r*P(*²,TýIhTÜ™íuáa\JÜ  zÈÚ†ù(6àaZ@ýš‹k‡Ñا ¹,ظ•! Ã[–Ç7§MÈÂ.Ô(•;……ŠŽOÕƒÅø%›ðþÇkWßoÿ-ñ“ºð¨Ÿ&ðjFJUÊM†dî«&,„ ›S±¸ 6 v®¥i8í 16àòº¡4*ç³RÂÊÿáÇ ÓFs}Ó>^™rcz3| 8 PXãâ?„½Ï?½_ñÂöµ&wRq¤P P8Ñápʺj^!ðŠ ¥ýs¡Ÿ¢=áÏ% ‚ ü¢¤˜ûô£wÁ§,²†{*о9ÌØ1§°í8„*Ù?)aD_cëÁ7ØÖ¨ô¡Ö4½©ŸÜÁ‡zóÞâÙm6÷lgÑÀ&øæË„5O7µÃ§ñ|Â|‡±îÈq‚§4Àl[ÊÕ™Ëûa&š·œ?ø†¢}—³{Ϻ۞bRÊ ùÏ‘öó·±gÝ@ò‡Ì¦ã ïÇ¿h#n²÷AnÚÍÛÁ¾#(z{>ÿøub¯y#¦lÜÏ–‰¾¼XÞAQ+Š7èÇôÕ[Ù´”ž/XÖµ5soĽù=w±®=œeÛv8ÁŸÈµ=é²ò^|AJýœmËÑpÆJô]ÊîÃ;X8 ÌG†œLù½)í[…^RÝTdçöÂÛÕ<þO]<¼ÊP¦Lü fAGªCÔÙíº‘•#N¹­=½ÁÑ¥½¨Ós'/Þ•¾±¢c[fùUž·•PÄÞ]M‡Ú“ÑïÈôÚ9Ñ#†[ËšQºö\^{ö`î–Ãì]9„rò'hì+Q:‡P Ï&ƒ˜³~N¢a¦ó,½œ± Ë^“…kÛ¡Ä‚úKqòäINž]Nퟖ‚edÌ‘IÄ ÂßçuU< ìÅ›U™Ð³ÆêÇléêM¥¯áÜv*A8®&™ŸÅbá]!>m«£ˆ2)H^SY¼•µ3Û“ëvcf]  ¦e&³i RC¦í=ÁÉ“'9½©¹“¨u—ç¨OЭ[ܺu‹[7βº•˜²¤]Âöß?© hxyl—2” ÀÙ0é›ý«–§Ï¹\´ž´šÝw²b|wùX¡  zȆ<©<鮭ǰlûn6/C·ú.ÅÞ"x×t­³aáÞ˜‹Ö±jXYTgç0õèÛ$z÷iÑsîÁºà`‚“úÙ±™¡ER2NDÃËã븡U R°½ üÙ¾©8îÙ1–MšÊ Ã\y&ƒ9öÊQ¿]Z•U¢ÿÝ4ãOr‹)¥‹2Ûs;§ÿuµ‚ð‘è(©3¢-óÊgüA?ZŸÄ½†¬mê€nø©7V½!ô d²6ûðb‹¹ÌhßòL¹ñ¡f3SåUY‚´ cU=ØÀø­r®žGï¢ÆHr;&üó&«'lEå3‡Y]Ëc.”-™0ó&%«Ídî…FŒÊ Á¢Tcê—qAPt®Ê´=G¨Ô¶)åt%kOg[ðIÆ•!#€$î šP¡€`C‡&ÓY·°8­[U¢@À¾-g¬`âá;ÄÔʆ²"”ÂÏ>Š«ÛpðF$mâÃÕûþ©áÿNuèDÛK|ä.ÑM¬Ñ¿¿Ž±AQx͘Gÿ*ñ5UV†ÊÚ—í慎cëéü¯ur±%ǪڿÌVj(ZyÏþaÆ’ÚX$ªöòYp™{š8¢¢¢‰¼¹~£¹v`3W£ÊS,™ügªÈ-©Ð¢ƒ;,`ÕACîô=×2­–]´„ŸI½¾!T^ºƒ‘¥Ìâ¯56õK5ʪ>ÄwÕ—“µD-ê½?hN^Úè³ð©HdÆpý2{S£¨ 9’Í_JÐË” Ñ/ˆLH’ªÐ@z ½IÀ¼1Žãê”F´ÝåÎä]3©š=>%«äú<‹0ûÐ" 3íZ}ÜÞÖA“éž[š¢ƒ¹‘¡¯¡W¤¥˜}é»X*GWOÚ0ÎMmIóUÖ šBu+H—øIex´o8µþò"3ÈŸÌCõßR–†ὤ%þ…2!lmþÇÍy-éuÑŸÅ[‡PÜ4!Á9Æ?§q×w²õ¾õ7¥«[|ŽBmV «Ç°Ê¢ÇçA“ kn³ùœÚ·œYwyÑ™¸|ãzAø¤¹}u*öawŒ35; §‡»×WÙ³l Cê®!¨ËzÖ÷)‚I*ÚXÂv×'wÝæßØ€_Æw!´ ü98Xääwé:,BúÑÏÛ†‘µ–S¯k3N½yJ¹é)`$Aûi¯™Æpëæsâ0¯ Õµ§å²ýÔŒÓaìo_‘‘ê´`ŽºyˆÛznôÏküyF%ê6GoAî¶…È”è½gäTW½¥œ¿òuþÏ)34ÃP¢"ú}¸df6DIl’3ôH1Ìdˆ$.Õû] Él(!.*.¾›‘æ-VObzà nÜ%4ô)aZ(«Nzü¶ÌLRÔqñÿºu˜[ØÓ¸`æï×L® ç¿ÿ aÀ¬mœ¾ýòã)I㢈{×ú“Ô®©:‘”,eZâkÔ˜‰ þ¥Ò¤@¦ÕTƧõ¶ŽZÌÓbéZÒìýµÆÝÝÉ–ûYñ)g¿6Š»{1mÑN.Þ}ÀÇx©Á¡OQ²ÈÍsŽþ‡aɾäùJå¶ÜD‰ú¯c´á!½‡r3`3 Û=ŒŸq…ÜÝæàŸýÝ׳šç‡ 1,NŸw-±O8¶b*s7åvh(>#LeA“2Öñß“agYBƒû˜˜¤¤"PÁ³›RgNFúm˜Nœ Mé?oSž°sžÔà>ÆäÆëäð xö¥¬oT„Ë[Ѿ]3*åÏŒІdú¬›ºÓOS¯Š‡{7r;“ãr½«ÎÔòöâ.nê Kîä:|¥ƒðs¬;®¡À8·d¯Kþ&iûn‰¹Ì¤f}Ø­)Ï´CÛ™Õ³•ÊzQ¾FƬ;Èê¦Y97±)½ùöÉJ$Fä*[?³¤‹ ‚ðg“˜P¼÷0ª˜>ARª?ý}Ì“~qepÄ¿„1w–/å\x›G¢K&+lmm±µµ!›©LšD-g ©cQÅF•ÌÊdɾï$ ùa™wÔ§R¯ýd©3’%[pîÜÊè¤"êø‚LjÆZ¤VìÕ™´ìµœã·3â×u8ã&OgÎô.8ºá·AÛ+'¸ dò¢±_Báо:Îê“q8U+ßb€ŠÐ=¹© séƒê [:—»ÿ%r5Åâ =ZÓK‰’ e­â3½/O°î¼ù¾Ú²&3Q`"àED ¡½z³“zÆX×p Ì/ŇÚAÍKŽ®»€Náj¸æõ†”/Î?»²PsÈ\Öí8ÄÖþNHÍJS)W|:üb ‡£]¨^$Ó׿äµQ„,hAÍ)rz¬Cûý Ò+~RžðK8õåmåÙ«0uÿaVŽiFÎÿ¦Ò¾BqZÆw? ?»˜-/ì©\4‰Â³ú ƒ®aT2§÷­kaœ]µ{ |V:Š%d\ñdÆ~(P(*±üQÒãF>qiG¢]¨^Ø,íïAøƒ¤©qv ¯J)2tµ”Ÿtâ”e¦LÿñT7yÆš©ûúñ†³¿i.ëö⟠®Xšg!³µþ]–p!LDp¨¥-9kï Fs˜¶YÈlž…\Ow‹)Å-ÈÛç,ñã#µD^_O¿%Éc™…ÌVù(Yg(›ïD'|ùGs¶;¹kd`Ë ¸Ûe#³¹'¿>lzða®mô]¶Žhˆ—«ææät)IÑç‰JK„‚ð]ɲVfúÞSZXëäÚm%ñèÐ’ÜOѺ÷î~6Õ§V‚D–ö:}=KWr¨.±åÌëÏ úJŠ(áZði^%* D„ìä\tV äýA•(êg^ãê#éà‚ÂÌ}yê²6†zmâ5¸/7³ð؇{÷ü:Ô:˜eÒÿðe¨~Ì k{V!DœO¿ ™è½b2-Kç"«©÷m'4›/åZ Â/nà´Ú…ªn¿š¹”ğ©4’Ç×ÖÐkèmªOîN!c  &ìî]Â0&‹Ñ‡”¢}}’ugÀ½z2Jb¹6¯'󢚳dn'ÊçÍ™AÇ‚®bX¢*y ¢¹¾õaöþ5ÿZŠ‹áæÿZSslVϧ™c†ÂŸ>ñ“šðDquã~Â(ö•©µ¤†9)Y¿óƒSÑ0Œ+/P¡æÍí;„K1Öý|Í‹£¬»¤G€Ë‡‚bøE6‰Æ¥z‘Z.ãÉPԜ˶dÆlß3‡€l)yª£¸ºi?oªá‘²)Õá—†.X±ÜÛw˜ç䣯W¶$¿P%&¨ULŸuG¶q5ª æ†1<;ý…ÆáHÙ¶x¶‹dÜ¡ù”1™a2ðà£cÇÝ^@íR½¹á=„é;*a§¾ÄªAíi\*„™G—P+@ÏäUßNLiŸ›Œo2¥u/þéYeþ˜Kc¸4¦ çYÒcæfç1&êÑ î¨ÌżĂðÓwjÏÜÑ—èÕžgÖÓ¤qJäÉAä}ÎÏeÒ1JŽ·äã1êQ< ¹Ä…ˆDo3©9rÙaþInXס- Í`@«˜ êNmÏ\¼~H¬µަ6ÔìX†iºÐv²œ5ò¢s7˜ ó¦èZ8ÿ lR²[ðj×|ÖUà¥{™ ÉÙ§¥P ¡k_‹6E§Ó§[3†Æõ¡†«9qwö°û¾lÞmCÈì® ;–v“úQ,E}}>0pªŠ§ánvÝž€OÁM¸Ùép÷Äež´•}“ @{ÛV¤¢“FOÀå³ÏfÓÎñÓ™4¼9>–ú­÷QrÖJzxŒî‚µLŸ»—ge°‚<“ y{†`•AcÜ3EsçÐ"¦ŸÏ@±nù0BŃÿÎòLÆík÷yûˆCk¦3jú-2ן€ƒ>@/^'SÞ¼ÁÕ‡1Ø:ae˜LFSÇŒìYÓcÆÕÿÇÌ‚ïºóÉ0²Î‰1AŒ¼ˆìíJ’]ÊÉU8¨ÊϘ"fH ãæ‰»hÂïsõÎ#ŒÃO²aÎhÆÕÁ»cþøLµæ-×Ï?Eû‚»·®-Ã:¯-Ÿ/»ËUí¨6ä9 —-¡‰ƒœØ˜@Š\W™$â'Åábn°eÏKìš%·ÖI 7×ÌfŽ+s`ý€3Ƴ'Εn5ÐC†‰µ#Õú÷œN‡òä1|ãX+ÜMy}b礙êþ¡ ²‘ýayèRÌ<‰üŒ c¥ù’¾“)s“­»_`ß¼$YEWAÒÔ¢&üY8È3‘-Ù…¤tÉleáÏKÜ:iåC Ÿ‚89ºâÕp+¦x¡Ý?™e×âÐ3ËFó Ȥú˜çˆoÞÌfªûImR4gOâˆICæÍlK'+”ùüè>w ØÉø·x7«ŸÄ¦]ZW¥Dþ<¸”l@·Æ6D]<ʃX€8žß|™œ)\¶ä/îG•R 1ÎD~kzØ5˜ËÞãhéø„à‰ÝhV·&uÚbãË X·Ÿyu¬>©heq+üüü>ü”kÅÚ‡It­+i²4˜ 5ôÙ;º å<<©Õ} A!h‘“£ú\vή‡lc*-DùöËxã?ƒK£üQµJ˜C'ç ö/BÉ㸘§5M•©(É•4\¼ñ5õØ9¤åJW åÔËds·àC›·Š—çw³oÇ1BcRßWK–­*S׎¡ak _]çôÙǘ–®GmçÄeˆ[Û¶x˜‘÷¸ñXƒ¡žQŸ}úU¦áíÉñÔk¾‚SþGOS¤ºöÔlìDÜ¡y‡Æ8‘ZT`Ìø†‰ÛD÷š>Th8ˆÀk¯ˆ1*D5·ŒH“Ý¿M\Þ²¨‰'e›Là´IQœÍ2Q²²#ñÃ=äd+áO£Ó «^‰FýÖò@ó…˜Ü…‘Šê1¹{AŒmjì1)ÿxbtdõË—£NÏe\zó©SÅÌe@FJt퀇l3¼KSkð.´î…ÈnX€jï2ÕR\«”ÆâîTêV¬M×E!I¶ìÇ^™HîÁ<<Ïäjù±·µïªèÖã ³^§Kü¤0<±··³ý±5þÉ­u¢ çî…]ÌîÙïRxÕìÊÜ›E¿}­âS¦±ç(õôÁäø(—÷¿åP–ŽZû–³ëO¡q«Ná÷£à£¹¾y7/í«P*û÷{@ãîì`Û#%•w­„¿œdùòåÚr¾>©Ø%–+£ŠSbœ ãÏo§‰"©BH»ç¥Ö¡Šl¼0“â†áìoš—j÷†qqG#ÞÍL¨]‚Oþž˜-»Êºò&IBO< Öˆl¬ñu¡—ÅJ®.÷ÆøÝé4OYU!/–q}m)nö)„ÏVœØ×[÷æ–¥ÀÄ"l;=š´DœŸFÓºCÙýÜ’âõÓ¼Iüò›#Ö„gsP šµüÙÁ„Fuw)uýfã¼d ‰ñ喝5Çҋ˲õ@?œ¿×TÚ?œŠÛ3})µ¸,Áûû’÷¹.áO°dÁ\ü«¼ÿ{sP ù\ò££«‹L–ò溓Ç}tœ¯Ù¾cgZZ@t±.U s.±vÿS’~¥}{†µG¢Ðuó%×&•èè"GŠL–ÂW°Vßw7¹Í¥)}•K0ÌßUgϳmv ï/¦¹·¥úø¨ï¶ ‚ ¤›ØëÌo?‚‡µ'Ó­€(||Dõˆo‘9ñêç‚„ÕÏͽý°ý“®K¾QšFCºµ¤¡š£û²îÞ'K™ª_r`T7V¿ÊLõöeÍœñ)5O÷¯ç¹ð²/¥Hd:HQ«Jf™y\³s6˜K‰¦àÔ¼:ÍÖ°+a›ìª©I‘èå P@;Ƭ=ÎÑA¹¹6"_Çi_A„¿TÿMoËØ—õ˜ÒÍ#Qúøˆúù/©xº¸ö ®½OýÆ“Âhxº¾Ö  eú^0¦T¥\©ÊŸŸ.mÝõóÒuÁ NTÂ?%*°¿KK*ÈìÅö,œ/È×a=Ã=M>®áyrŒà½.xå2äÙ‰¥ è²Óz+©¥Œy¡cáH6Í–¯?NO¢dJòY'>@\Z·ÅmÙZ´w`zïŠØ©/³fpG6ËýYPÛâø*ÍkN,XÂEAòÛX ÷&„­BÁ´é²z¢ i¥P(R½OhhhšöÒOhhèÏÂ/LKøéñ´™Iãu]q¥ÏH2–dtp0±Zˆüû7ΰK0.6‚­Á1ñ³ÈÉŒ°Î«j Ÿ#ã¡$ämÏÚc.,š0Es{²jD$ZÝLØ,ÇÀåÝhí“ÄJè/ϰ|HC^yŒLáŠoï ,k]œw³ÒéåjÊð–{èÐ×+JwýËÿù¸ÍRÏ¡-»ÍÔ{ -½úóR'ù<[°b_|³Ê % Ä=>Ä̱c¸ñ"­Ô„œ…˜8”"_YDJ„ï+­Y‘~]Œ ôçàíþ?; ¿,©AóåøÙÁH'2dËs¶ŸAøu¥azZ$=]„¿›„.‚ ?Ço6]AA!mDDAA„F@AAAøa~ТœF”Zx—?æd‚ ‚ ‚ ü¢D ˆ ‚ ‚ ?Œ(€‚ ‚ ‚ðȈ ‚ ‚ ?Œ(€‚ ‚ ‚ðȈ ‚ ‚ ?Œ(€‚ ‚ ‚ðäm^­–ØØ8âbcÑh5é$A~wR©¹Žzzz?;(‚ ‚ übR_Ñj‰ŠŒäÖÛœ8vŒ'Ož Ñ¨¿CÐAøI¥2²fÍJÑ"EÉëâ‚F#*)AAø ÕØØ8n޾ž½»ñ«P K+kd2Ù÷[Ò´Z´Zí;Ÿ€VÄûOñ;fÞÕj5îßc÷®f4ÆÞ!±11?;X‚ ‚ ü"R]‰‹‹áäñã”÷ó§Pá"ß#L‚ ü欕JÌ2™q`ß>œò:‹ˆ ‚ ï¥zºF£åÉ“'dÏžã{„G„?„©Y&bãbÉÏŠ ‚ ¿4Í‚¥Ñ¨‘JÅZ‚ |™Z-ºí ‚ ‚ð1QŠá»’ˆAAISDWW7½Ã!‚ð©y¸´< …â‹?Uןeº—%®½Ï•ž§×Fruyg*t@¡È‰s©V¬¾¯JÏ3¤JøØ[V!ðÅnÁR?b™Ÿ%ŽmñcÏœFÞžM«²®Ø(ع–¥Ûî—|yêˆhÎ pÇÚwT_úìsáZ`o]ƒíaŸ|ö3îUb±÷Ù2°:Ž–(¬óP¬îtB~§a_¿Øó÷Ó¨n3ÃË÷爒Nß8;ÀK¯Üþ†(Š<Ñg˲̻÷Ƴ¤q‰DJlllz‡Eá'‘aá?ƒùÃQh_³§K]&š cÕ‚$lcl©KðÔô?»êö"ÚôX‡´ÙÖ6(L6T˜dOÛ2M©wƒ)Þ^,÷ÛÎþ>N¼[µEß±“gÄßX4_}QôÆ5Êžœ˜º±ùLÕ`aòC»üü{¥áéÆN´™ÿ€j£–3ßÓyœÊߨžò§=¿Y|ÌÀ.KNt ™ô‹™áeK–8ªðçIó&¦dáK¤)jUÜÏFŠÉÍlÉk–ð‡ö97Œ$ÈLmÉëâ‚ñ»T·¿Ë¹ã^Ýã•4Zàaõó3>r‹ÂT¬ü³Cñˆ{ÉWR\G´Á¿@ÆŸ„Ÿ¯Ô¼ }VUiU˧ßpíÑ_íùûi$F8”©ŒÃ»¿“KßùÊ!^·c@Aø.ôôôP©ÿÄEJµ„‡¬aXS_Üì(”.”ï¶š›Ñ¶P¿<ÎôVå)è @aç†o›™}‘tWƒ7[ªc_y)Ï4ÿÑ¿¨…BUí„©n3ÃËŠBC/ò¾7‹ö›,±mº0â»ßä-Øš‘šS¾`n, ì‹ÖeìÁç¼ym4w¶ £wA­غûÐhôQ^ÞGÙœ¥}SÃýi>Ø*(XþXýy·Õ3ŽÎl‡¿G¬Jò«B§ù§y•pí‹@ªæ*I·{ÓÀÛ ;……£'-fŸ#ìKý‘bCÙ3±%¾P(lq+Û”Y!‰+·"8Ò6nÍF1°A  ”¾“‰ãΪîsB©P Pä$ùvÌ=÷ wm"%nô;›¨£\ØþqT`ßt'o´Ž´S^,}ærWh Y;zÞÈ¥P t*J¹V ¸‘Dƒ¿êÞ<Ê:6dw¬†£-òÄwÓËÛ™ã‘se­+ÆÑ:¾ëž}Á*ôZu¨ïPo—ø^¥ì>h»´”Ε=p´T3_iÙEèûkTóêÌ"ºU/…«­… Å*u%èaRé7þþ”sÍýéøÚÆ_où¥ãÓßWÒMò÷7ék{riÿøSÌY‰Ba›guxö];y%ê±ÿjqQ_!m¢BcR»sºš{aÝzö ›[1Ö6°DÂÔšµ˜“­+“gã(½ÌÂÎÿиcö/©AöOº-˜ø­ä¿µ½ñ¬uŽû7ÐP!©zÜMQXbíã´¤7¦wÁFÿ)»F·åßv£(ytE UÜû_#Êö¾C鞃XX&&‘¸/±#£¥ +ŽäafZ•^ƺ¹Ñ•èbšE†æZ¢hv‚â( IDATßr¤¿5WšÓbâÿ˜VØ„Çûgгge*=ÞÂŽ~®d´·Øu¹½úÎ¥¯BÆíõýh;´3=÷Ò3OýqÔÏÙÖ¹ÍwÚÒzÔR¦0'úÖvïÃö6ŒãéÞ½D÷ëËü†¼~nL™„ wªw÷¥‡m2¼½BШ njB##q·­L‡ ,ºÎ7ôˆKë9©G̉@.„ûPÒˆ¼Là¾pòu.BáGúQ½ÓŠšÂº29Ñ ÀíG0I¢ªNnÕ”àó–4)Ø’˜igøŸOFÈÐÑ•Åô£–mN,ä/8»| }º¶FᾃŽŸ+=}í>¨¬ iÕ¡Ä4™ÀÊ)nÜYO¿VÍin¼‡MÿØ!{¶…5ûq£òf÷ «äwo¾ÀÂ0©úJCŠN9ÉvÛòø­ñcÓÎäÑ©\Y ÒM|ׯ¤îo§RÝeq“zŒ‰kƤ…ãpͤæÙ;DX¦¦ÉåósÙú¶KæùÓö¥4–!ùgËP ¤ò=~ìkéOKôƒã„·Ç®ÙÐÞ?Ì¢¡ƒh[éöMÅ×\úõóòŒà>´8äDûÁ³•/ ê‡wˆtÈ„œÐ÷a‘%›¾U\ø(Á…sbpšmwgà”`|­£9>õ:7èâÀD¼L¥Ä\™Jõ cy[qS6zc«ó”K›GÒ!$]GÒ ¿™T@$ ::¢Ü"ÂßJBït¬ëN§´_¶š¡nÝ@æðDfÝ-ƘUð1—Jºô÷cyý…ìV:Ù>ÉÈIuÐÓÕAŠ]}ôôr&)›)q¤A§&øeŽ`ݹ"³Îp¢ò+,šr”ì]v2½£cÂÜ8%ìš%GVLu¤èdÌJö9Þ OtxÍÓíŒ[ñ÷a °Bä¬÷/sŸÀ{ÆdŽ´_ˆ7€$…Zv ž§Ní»PbvŽ\ C›'óg«Á¨î¯clP^3æÑ¿ŠE|s¼•!…²öý¤8Ô¥c“ X&þêñªGƒ÷8“K¾•5Oqþ¹ w+%þus1vÑnõqÁI/Š+AG1k6Ï É]‰¤da¢®n`×›|tõÍ-Ñïò†¬ä/Zˆ¼öFH±!·krñ.CGO™$:úèé}Èë*+ÒHùaÓ|öQl\݆ƒ7"éèðû(}ñ>riöNÚöæ`ïJXËœ­Po)–oâv‹Î؆? 4Zë¸9Ú¢/[ÇäO'•룧#©]}=ôÊšš'_O7eM’Ôýý”êwŸh0.RWG²ë€­]ÞÔÇOçŠJêùCJŽ/¥1‹/=[ZÞ¦ö=Òô'sÀ? 4®Æ@nGòÙ©¹Zb“¶öÁ»‘‚ˆ¯œ·FÌÆo•ÓpõÀÑ/Y[×ùýùrhË1u /žE¢‰{Ì™ÿÂ0)ì…­þWO(üEDS† ßZõ'ŽùÔÇ_ãêX˜VeîÆ~äÏx3L²è|ñHI~ÏÄZu ju áÑ_Î@~9L_:¿$íëÜ«ãÐÆËS?ecÛŠ´½RŽÑÓæáçhΕÁ”¬vòý&rE98`ÞŽ{´.Ì^iY¦ÙgƦZ¢úoçv=‚·¿Æ­› ujR³âô üdÏ‚a²U>$ŸÕ¿JÑ‘jˆ|IZ‹q²Œvä2yÃÑ×’^·D"C.KÈ´$CϺ6Ò;ì>ú$Qç‹Xîí?ÌSüP¤m¾U=+wÜ`ç©_Y7# çY½/†ÒC‡Ñ ’ÌÆÐùôÛL–² œy´…C›v¡.S™\z`äZƒo¶³õÀF¶¼,@#Oó¿¥(‹Õ¤Óø@Žll‰ù™ÙÌ9Ÿüª$ñµÿ‰>P?ãðúsWIßfÆèË“Ên'ÕÞ•²6°4g²å™Èmgˆê¿ý<Èíãôiȧ`ÊȘ« zN'øÈ"*k÷2cÅu’_ÚCòY ¾Wº‘gÎGùfX°ç(=ž²~òV©@"ÓA¦‰äUTZž–$ž¿¯¤±/?[i}êô§z°›-·tp,ž½œWÏÒ•ªKl9ó:Eií³ôý =…+–ÜçÀ¹XÌŸ/Gv2ëKA'+ùluys|/·¢“?Žð÷Is ˆF^ÅgAþD’¿r t)æÞ©‘¥>s5Egp;*8gAóè*Wžg§|õ¢˜'уõ}\%þ¢—gÁµ`^ŽgŽ_|²Åp÷ÔV^ÖB±ÇЖìY;¥!MõѱjQ¬eÏy*³ÃÕÖ©Ì[…œ‡;׳¯†ÖªX2çq"qe«Ì¢«ÿKí‘q$M ›ðôÀLzL¸‰cÇé5^¤>¦tíkѦètútkÆÐ¸>Ôp5'îÎvßׂÍWvÖ1'§Ykæ/åˆc5Ìïî`ö•<×Ú%9YË4Äe`†-1¡Ô’Ü蘠fþ‡t¾ M „ù»\¥Š'{øÌ÷¼Öd–>ç|ðIž’¥Y2-W’w5ù‰nœÔ€ì–¼Ú5Ÿugxé^&hò@öÄi)”.Ã̆¨oo#p‡’¼f¹)éa‘Äg >Í¢Ë 3c¨>Ɇõ;ѳ΄³g2ÆjÛ›-3hÓДA]«ážC΋—¹oXŠÚehïndî5Nî¹±4QóèÄ..½•’Å*#Iw¾–TòMQºIèþ7ç(&înØg3 êîöÜT‘Á%†2ÐSÇQ¶‘Ö`ߨÝçWØ¿r´_nu„dž¿¯¥±¯<[©¤0ý©ïs`ûa²²FºŸ9}Gpɶ5›}Ì‘"ùúyêвР´j€Ù îÔöÌ…Áë‡ÄZ»áhôYÄ|ž¾?!·ªJ;ï‰tü·mTýiî• “è„\ #wÕò›R¼]²×˜N³Ž™ÖÆ ;ý—œÛtž×Ú¿ñ;Bx'M- 2™H4‚ |™žþo¸ @:š–ftð úxF°iP#üËV é€¹l»ø‚¸d¿Çã«?þ·î=§ÓµÐ¦5«„oöL>"¡pY)ïJ­s·@6 )CxÐêx¡l£~ÌÞq?¾6[bŠgß¾øª—ÒÌ·,µ»Îçbø'•KR3ÊŒÝÆ²Ù8<´Å –¦éÔL`WçTf€‘+i¸xãkê±sH=Ê•®@Ë©—ÉænñYÆû3òÓkÁ@J?™FÍbT¸óFíq1øø»Iš¥ Ü£¸+ó$ OBH%¦®™Ÿ¨{jŠ5,†Yâ]bî²sr{j•+§Oï0¦ùÜåtÌ|ˆ$ŸVþKL(5bœ/0Ø¿%ŒãbžÖ4U¾»k:ØÔèBµ,Çݺ£¶> 6ÉÏ’¸lçæt,#es¿t™~gi¨ì7píÅÆ#¨¢»Ÿ1-ªà[®=§rúaL|K”6œ«þ¥M5J•*O“±§°ïþ?Ô³J¾Æò³Hà;¤ ¯ÏýM+á]Ê ÿ¶³¹W|«'—#“ä–5˜0¶6·÷¤FùŠ4°Šû6>¸›¤dÌjÏßWÓØ—Ÿ­4½R”þžqxa?ê•*JÙæ3¸Yp[6õÆÍ0>\_=¯\I“¥ÁL¨¡ÏÞÑM(çáI­îS ‰H²˜‘Ô­ýˆ<;Õfï`^ǼÜ_Ö“ÚÊRµÍpí¹Î[µ`ì1Œ-Ë»“ïÎ\ÚW*C™š}Ø—ŸÜFb%ˆ¿™dùòåÚr¾>)Þ!<,Œ+þG•*Õptrúú‚ ü•¢££óïúôHØÛ·In³9(FÍZþà ‚ ünâ×É×!‹ÿ[AÙÔ¶ B–,˜‹•€÷o $ŸK~ttu‘¥b©“Ç}tœ¯Ù¾c§XˆP„ïGó-#BAAø#‰ˆ ßM\lÜ_:DA„䈈 ‚ ‚ ?LšfÁ’H$¨ÕÃüþ‚ ‚ ?›„LU6Zåg‡CÒGšZ@tuuÿÂùýAHÑõJA„ω.X‚ |úúúˆÕoAAø”(€‚ðÝÄÄ$¿v² ‚ 'QAAá‡A¾ µZTšò…Œ!m>]A^AøÕ¥º"‘€ž®^²+ ‚ ܸv•lÙ³¡Ñh~vP„?‘6‚eðÉ_’Aç¢S´KØÞÆØ((  ï KÍ yT5a_ …3]OD¦-ìÉÐ<]ƒÿûã+pí}†¨T쯺3‹2‰ö/66„Øt á·Æa8[9|ˆCëºì Pq{N%ÜK7gƩ׈7† üùR= ¯\G—|ù\Ø»gY,²`ï;U˵ÿl±±±¨Ub¯ï%2*5_—Bj¨Õ*bcÒ;;ñ}¼}ûšu«WS9 ±±¿G˜…hÎ (†ÿ¡ÜÙ›4MÒOû"ªn}Q®:ÅÃd?ûá'†Q¿ÏaŠ[B7gýï'‘¸2xÍ¿1ÒÁÔÆð-p­÷Œ±ç7ùó™Û¢ÏõÇÃÿ­í …×Dv‡¡z¹“Îõ~ó5$Ijˆ÷èetw6@/‹z/©’¿Y–Ÿcž§ÑçÛ‡ï§yþú¼˜põ~5˜³½‘±÷YÞº5¾O?‰Cç¸!ݨ¸5½,ž J±åð Üld[û8"N ÖÐwÛÈQ6˜ÊÈÍhÓ¸ögâ›)¥õ£j.­H¡Þ¿¸U¡§|ª"þû›°owGìu>ßækiáÛÅ?c•wäÈÖ&X~Ã3öËÐ>g}Wºg^Æù…¥1þÙáùVa»¨›· ±3ÿc]E“¤·ÑFruE_ºNØÂ¹Gq˜Ùû2pÙ jYý 7ôÇIuléééáì₱IF¶lÚÄãÇsÑh~Þš úúúñÍ2!}=]$ßiªSí/>…ªžžÞ_»Â¶ž¾Ò_üÚ%)•ÈíèHdDÄÏÎ_+loc\E0ëòZÊ}5g CÎZÿ2ÃË–,¿|R§ço Âg2Cj9a’šÇA–g\âCåØŠÉ3bÈoœôAt”µ5£ vYdÈ mÈëš§W1ü^q$ÑÅÜÞƒø¿c Ñ}Ædô“)déç¡õäĺ!ÕÕÅÞÙâ Ø—á;ö°þ(Õdübº‘bá;(u¤Yå!Ÿ„½0Ež¨}Fj“ò½ÇÑ`KMæ|…O•Ì)ü’aá?ƒùÃQh_³§K]&š cÕ‚$lcœÓ˜7§¾|$ý¯¤…Ÿ*îS¼½Xî·ý}œÐûÙáù‹©n/¢MuH›M`mƒÂdC…IvQøH­4ŘF£ÁÎÞ'§¼H¤bÉ ÕŠ^ÎÂïC«Õ+ ¿¦ùÊQùg#%Tϸt-›ùRWøH‚Ü¢0¿pÑ23ÊýÌHѵ¤deËäÿ/· °ÿÏ à×Ò#‡2TvHÁ¡ ì)í$'øä}bªd&¥íZr3[òš%ü¡}Î # 2S[òº¸$ª‘æÜ×Žó•´ q¯îñJš‡N­ð­i–昋‰!VL±)Â#œƒ­ŠÐ!º žov²õÔC¢  èÈÐõp6–‚ê Û‡wbäúÜx2ry·`èØN”4—AÌ%†•®ÉÙŠ ȼwÛC^‘£Q{ÿÍÏ“U}è2y+gî¾A…æù*Ò~Ô¿4w͈äE ±kŸÀMœ{*CQ¤>ýû±f,“Wá~tf\jdÆðØ$Tª_gVïA,Ü{‘G òú´bȈ–xdŽáHÛÔ ŠïŸßÌQ@¦º8>®q[ªã>ÌšÖž÷XxŒx0nßbòÌ*ùqWš¸ÇìŸ>€Q«sù^&¹<¨Úsý2óàKד¢øVqsº/e–z³e?œßUéjž²¾NqFæZÍÁándHj׸WÜ{£Â:#ŸVºÇ]›„·×D²M=ÉÊjH˜›ËhY}²{ød¯vÁº0˜þ‡hsp-”ßžÙˆ>?˜•ÑæÐ6ZX¿;^,×gPeur|²½öE U¿Øë­Ýëñ|âÖU4ýæð–—[R ÕÞÏÆX4 b{¹Ï®è+]÷TÜSŽ’óJ³åàò}±ê^—ÌÖ†„ßI¤¸’Ú×§XÜ··åú ÈV¸1ÃgôÇ/»ü³´ ¾ËöɃ™¸î(ÿ…†c”=îu&1¿»K’éRugå|×àZÝ’3›öqí˜9zÓ¤ß:—Éþ… —–ÈAŒ0… Wy*ÉŠ£Guº Rõ½y”÷Ä€i>ØNÈÏØÓ›¨—-©f' a—W3bà,¶Ÿ¿ÎS‰%®¥›0fò?Øß™EÇn Ø)”05dÈ^ê=Æ2¸V.2H¢97 oV ºé‚÷žåÞ[)2|æ **’»-1G‡Q˳#—o¾ÆÀÚ ¿Öéß ™Þí¢ævÐpzNØÀ‰›o1P¡VÏQôªb‡A/Œð-p­ÿ’É×ó.YG_L‰ {i¼ìt@NÈú1 ¹…S!‰1±Â±D+¦Ok†½nB<\úúÎ`Û™{D›9àÙ°?ÿv.‹B7áž=;ÎÂáØ·ý<¢Ì°s2ç±ZK¾d®ôÍ–ê8µ:@ÿ¢JúÒ‹¸¼ÊcÕ3ŽÎ̈%{¸p/c¥+e›dp“˜É>ìÿù»wu¿|³sºÍ‚ ïÅòìÌ#ÛÍfóž­,âCÔš^Ti¹’*@"Ç,¯?F/fÓ¶-¬™Ö‹£ãiÑg/¯ß5Rªßr<8—Ž3X³j}+Z¢ƒ] wªwŸÄŠ-ÛÙ¼b,Ò- n:Šs æ´7Ùû 7íæí`߯½=Ÿü:±×¼S6îgËD_^,ïF Çñ]MbC˜Z³Ó#üø7ðÇ6¤Ä­Ñ4î¸Gj ŽÜÏÞÉÅ‘ãÆØ='9yò$»¸¾Ï8EßßÊ Ã†-YÇÒ -pËøI.@ýŒà>Ô›÷Ïn³Ù¸g;‹6Á7_&ä)¸ž¯“£¬Ú —'ëYyùÃNêÇ»XtÚœêu’.|ªÇ'9õÒ;sÝÏþ§c[fùUž·•PÄÞ]M‡Ú“ÑïÈxÏ䎘¼øXI¿™¶ä¦ L$‘¼ˆø0Ô:öú|:O‰£Õ0¯Ôgºn[úµ‘K0+·€[·¸uë7ÿÛJc2–ŠA’½'_•¢V|9Y²ýß~n~¯á„¯ïñÒ²:CmbËÒ¾¸Þ˜K§þ»yùYðb¸<¡Íç…á3d%{ícõÔ^Ô+bNÃGÞÓF\åœÜŸ+w²+p­sžgbÃþßÞ}Ç5qþÿÜe d ‚Ô[ëVÜÖQ·ÖÝ:«uÏ­»ZWÝZ÷¨«ÖÕ:pï]­ÕZý©uoTB’»ß€‚D†<ï×+r—»ç.—Ëó}æÈca ~F¦«‹iS½;¬›3yÓQ¯ÿ:‘KéT½3kï˜ÐzÆŠC«éâžm—qðøqŽŸXBƒÚJFü;•FµqÔ»c—og×o?Ñ»Yy¼õ Ùä \ëo™±z3[7,ehŇ,ëÛ…¹—ŒÑï6rè ¡˜¸jÁ«‡SúÆz}ÌÃÄFðªH‡1¿°ûÀfwõãÄúÔûQuà ·õ¤nïøw[ÀΣ{XÔÉ‘µÝ[3ñtòrxvä[÷Z‡uó ü¶÷Û–§OÃB8FçlM7Wðyƒ\.õ +eÛ´F„Ïë@‡ù—1jØQ†×mĨ³è9w+vÿ˜ðHdŸŽµWòÏš¸Èù¾ÿü÷ß\ZV{õ)‡¾«M“q—)>ðöÛÅü¯8õ}}êý‹ØGùÖ{o&!êŽAbËQ•†U‹‘Myó$_–«”î1—š0 ¯ ¥š¶¦T̺ùp8³šš¿ãVd5bÊŸsÔýŠÎŸÆm§íÔ’Ö/ÿ*HníV6=ÁéEmÉšb­ÛóIq;ÀígðÛÂrté\âÖ@@:Í\ÁäƒW14óÀtp2³¯•åÇU=¨î*¾ôù®6Ë[-dïƒF´ðô ›‹5²¬àâå…×}@éÔ·55^¾·‰Šéæz&nÖÒfõ<—¶ÊçæÉkùñX@›­&ËŒ`è²Ó|]´4¶˜¸µu g½[01wüE妣Ìì7 9;35×›Úì|Ò±<Ãz,`Õ~[®~3®az3_ »-KW\Q=íR,qȆ“ôœ‡Ï£ûNF^d~ïi˜º®¥óGgØ‘œJ *)‚hõXiÃe–õlÍz±f~òZK$eÌ«WTÅ‚s¨Å³Z;JDÏÑ¥YòMMrÚ¤l9©”³}º5Žî„ž›m²uÕanj’+ΚFBþ{Î5(S:œ5à@¡·îÁ‰ÂõêP¶  ›|…rð´rmæMÛO¯%UâY?‚³ó¦rık¦v¡Œ@vzÏœÌ?e:2eõê÷ú7/œt2:²yy%Ò$ŒãÓ~æRÑ‘ì›Ø–˜BybŠô}ëÐÖ÷ÕÚál\Ý•ý—^Ð󣨭J~ èÑ©~tm–?½ZýÌÆǸY—x#d +ßJÔ,ˆ=àï7žùOÿ¦òä ìí¾”Oì®°r\071¢EA¬€€6C蹬ÓWœ£‘ÉlU"î^ã .]’vÈø‘§H¬ó:gÇý³p=|´@ÎÎ i¹”O–ÿΕŽ=qÞ1%· 1äàhZE×nú¹Ý#»f~£ÇÉ:¬ô:ddtú,XYEʽ`&¬¸O±‘ëÒ0Z gËøùî1ªÎœÂ¡¯RíeŸö×ï½™“¨AH—ÒµÉÃMN^ê5òæN¦õkK£Z•(˜Ÿš3o‚Ñ€é-¹+õÅ%~ÿ±­>­Nùâù)Øt=a˜0Ä;†‡ŒmV[$cÄ«íjlq±•0†QˆäÆáÓ„…ï£[q?|}}ñõõ¥`Ë„)O¹óôÝ ¿|€+VE©UÀ>Þ&UI;žÈ®Tî„)x 'ÂÓu~_ö?rµù¿øŠ™—™Õ¸ãŽú0`N/ Ä› “q«Ò‰v—™ÜúL}W3½™/ñ„*–‰ð!źáé³âi€Drq~o¦›»2¥KÞd69ŠŠDMáùP"¯²ª{cF=éÄÊ…])hû–œCmöæLW– ;Òpä_I†8édl\l‘Í‘¼¿ÙR¢g_‚ŒóhV¨ MLã¿C0Æ·™Äd  ZYg"/Ÿå~|oVB9wòV…kQ0V ;Ù¹8µóÀµ#W±léhÆ»œ:ûßê刷_´ò”¿WŽ KóºT-[”¼…;sXU0Fš¸~dl³Ú +ÆxÎQBtä¨X‘l†ó»a€ØsÑÄõŸ;ú^囫ÃΫ<¹ý”äK*‘5hÝKÜd\íBTjóóv\àIÌÆL8uô.¦†R!Wô>}óPgîmÔ§·yj2pýèEL9*S.©È£¾pqêE ×rÑ”“êe=c•ìëñ ª€{øNÝ£A¾NÔ€‚ $BÒZ¡AB£‘PŸìçëzm .4„Y3'RØÓšÛsjSmÙ[6b¾ÏÆnuèöoMÆMŸGí¼îèþF…FÇ“.s¤ œ0wã·Ž]|(éptK¬‘ˆÅ;À©_³‹; Ç;PW׎ŇSÚg-+®å§ë'9âÿqÒzÓ`Ø`NôËŒ1›h¾°o6Wxòï1þ{d ¢]íw>b¤dæ^눷C$'ÂŒ..¥÷t3]~ëB^+Þaþ 5å$ã ÖöjÄÐÛ­øeåWIQ¡,HEy¼Ÿñc`U¦'c:äy/ý@bKøÈ$l uc鑆œ ÞÀÚ èZ{V²~Xyœ,.¾•Ðéµ'¡'ŒBIDAT kã°3æÚJ(!rϽjÆ`2cxfˆçz2quA+ê|A›Ÿ&3´².£SÑvÉ«ÙJZtF_Ü”5,]°‹Ò_²o1cfü‡ê_ÛîXt®ät6òëü¥ÊÛ×kÛ˜3|%!j®Äß— ת=iâÖŠ¹m?G7¬;ŸtC¹sC²Q«qi\5 wσ»2ŸUë‘§¼ á_ ú[ÖðXÿQ :•œÉέqþ¾?Í+æÆ&ô6‘>EÉk•øñHzµO9±a»"<ð(Zžñ½æ¤¬ÈÓ¢ÞU‡Òÿ¨ÂÇSƒp}Kž×&OMÊØ¯äøõ:ùÆ”Ÿ*<9:žV]öPaöJ¿‹~ÁfÌÝ̓* q·0mzö€Ï´dõpÆJâU'ï·5±3>åAHY\ÝpÐ%rsÔ8àé¤pavO®z|ÉÆÎy“4§Ã›û±4‘<¾÷“nv |/M÷ þº1½þ¬ÂìÕ½)fmÄ`$ z½ÖÂ`@!üá=BU'<\­‘_¦Ð’ß#wÏÞBØ…bN¯ööüÏqô˜x™"_O¥gàû®‰¦<áÄâeœ÷*F`Nw¬ž^ øÀmp*†›Ubg"ŒÿíÞÁ‡"d3_"xÊ@fÝ+ÆÞ¥°GÂÖÅó•­¬ÛæKçi42îζä๻3~®ºDƒS¤‘[wnqöÌ?z”z Ò”,Ë8::’/~räðA§Ï`%?O±jôçŒ8Waªö_ÂNeÈ*˜=þ?zŒù‚J³lñ-Ó”½+pqñ[¶i]˜A †ò ÷dš–óG•hõùWµ5ÙÉ”*3nË rDzïÛ2ó‰„KÎüªÒª¢ÖÑ´cØ{è;´!•mrP±ç"uÏ›ø†ch}i¿t ¶c†2m\{ Ò’­@YšŽ˜NžÒo9»RôîV‚V“ûÐqw F¬.GŸx^sŠÙU>üAçkócù¬o¯š×9“ÝÁÀÞÛ/P°CFáéñ‰´ìL‰¿2°Œ2v4m—ŸŸ†ÏcË­z´³d¼~å[º|L·ÇC9¸±}TÇÕè.è‰gŸM\_ÚŒr£Ý˜st1u\Ë jqò²Åx0;ýWt"O’*?âßÄÛãù‰Ô®±œ²k3©L|^L\ÿ¥—_Ga)íK.}¹DWq.¯‹E“ƒ‡fp¥fo³ƒ=ƒòE5³$DòðZ¶^.qšÍ™î#xïIÌÞ×à¼ñÀxï s'OäòCªì€oñO™´z(%dÁÄõ3é·ø®>w¿t#¦oHƒ¢ŽÈ¯I­îø.“¿ý">.ã]@VnqbÔt«1ŒÇúl(ÿK¶÷¤ª{tm äDÅo¾¡F‡±|Qc.y3ù×ñT}cÆx ‡r£Ùü‹CXB¿ãwö§xîLׂJ£¦W¯A «û1CÝ P³m>?;гït®lð-¡cç°V >‚Ö=/e{,blŸ*8Ë:ruZI°Ëx†OŸI5÷ËFÞ|ÅhP°y¼›Ôfo¤ñ'é6j MVH8û•¤zÝêsÜÿj%Ã5¶O™ÄØkO1¢Å%W:ÌIÏáC1èëoQUõÕCQ¢þGÅd4E¿®ÄZ®2{öÌ$ï'Éßq£î?~N€‡èÿ‘I¹:9`4›±EUáÉ“P|sú§Zº„ôÅÉÉ ³YÁd7 !1F.¯™Ë)׌*hi©±zã¿¿)_V®Î­ÛùÖ¾ªiíòzzª-û›ÅA1Yy=÷p«g¬u#þcýÌõÜwkHaW 64 °[ÌH_ÎäŽ~fS| §nyÛžyzøº-²¥ç¦ŽäN( 1?fUÃX¸µùÃc‹½l¾ñÆ~”0þ^6½áôÎm]?’ Ñ‹c¦{œª1÷­·‹%x5Ùh±î-b­kº³ƒÙ‹/b[tÞúèZÆMÑÓ²i*Ƭŕ¹ŸRqØêN\M{ÿÅM„$“$ £Ñˆ,Ë(Š‚ª((ÑUU0 ¯þ޵,9’ÕÄlVÐjd"M"c‘I²Œ¢ðÖ>…Š¢ Ñˆv,™•,k^–B‚^œañâKäøly“R‘¡õ¦þ¤ýõ»Æ ËŠõmKŽdóÖ~U@Òáä—xã­g'¦0îpnú.DQk sÐd¶m ‹š‰^ÒãšËò+v3´ûJ²öÝJÇ¢9ku¦mÛB˜@ÆÊ-W¢=”‡»7ý?ÊXAÇšÈ&ü\–JÔû­=ýµ;9’v œ_0’ß¿`æèÊ8IE‡ldëWFT@Ò:’Ó@KŽ&³8ÔÜ›¢îCÒ’¢(ÈòûïZñNßt‘±ÈÜ,”H\'™SÌçžq>};*ü|‘”+',bSŒÑ'“{Ö5Ø{û[Öl í|È˜Øø6qÙ—Ï“:l£Ûiü(ðö©°ãßwÖ*ütêrâ+ið‹é™oÉ6Ýê2ÿD¬¬£G¨Ò»PÐ5y ´tŸI:‡V¸Ó_Û`Ÿ±Ë‘Ào®©uö%ž—3mήìºÕ5­“!É&[2¼iJí+9oÒë¢JµUñÈ”K‰Nç$6Ñ— ¤s²þeð‘>iÈbméð¸iCÒ½ >AHï¢æì‰±aÃ?~gÐÐP6oÞüÎ{JÖmA–$L&sÚç„Å#]G ’$a2%c4AA!Õ"#_>¦n½z/ƒÇCiÚ´»ví~çý$»ˆZm»35“ÅýÄu’iIfE ‚ ‚HrÜúÔéÓ§óe·nT ¢víZlÞ¼…2¥KóããÞy_ïT1šÖñâ‘6+³¥@„LK§Ó¡˜Åu"‚ Âkí9eYfÆôé”+WŽ3fR¦L&Nœ"Ôßq i¶ða¼Ã¾©¨[$®vV8ÙÙ‘Ý¿ µ?ÍÎ{Æ4OŸ²‚šŽt9–æi±ì!ï`NßO)êã„^«EëàEj¿ù?Â_?MO·RÏFK¹e÷b _¬zàk é­(úÝ!žˆétAAH#æ×šÎ˲ÌôiÓ˜=k“'ML±²’ÜK’$´Úèg€¼¨éöï|Ó´?ÿ­§HÓÎ éS’üÙô„?¸Âé¿8ÙhÓþ8ÔXÿ§uZRŠ$}ÐCð†Ÿ›N“J½ 6¦eÿ‰ )åƒþÑ?l[0ž¯ë/cÍ×Û ^§D¾§áÿΤYñÌy "Î0®yo‚•zÌÿkmýbæ ¨Ff-ù¤WêþÐŒ•Ï2§ŠSTfÌ9ˆ>Æ;ëéV³7ÇËÏàèôúxjT>´Ódé-Y0÷='DAK#IZßl6!%cøÞzœÔˆ¿§1á°‰¢?.¦ïkÁG¦;lÒ‘á«q1$4Nä©ùc§ ¦’›†g»›S¸›–¶uìùcß #‹OU¾š¶AnD•ó+„YʰÁ?±ùÏóÜ“|(Z½+?ÍéC 5˜dzŸþÌÝö·Uk÷bÌ„”s͘AfîòìÄ4æü+Söç)´ò{m45FͤŪ:,Ÿ°Q•›âþZ͆úô#ë~ÆJ!ìYÞ‰’2ùZ£ÄS’[ÝO¦RJAAHŒŒÌùóçððô´ø=gÏžA«Kz^6Ù>LŠ’æ=DrcÏNîR„6u}Ñ&¶®¤Ã9°!}¦üFðþl˜×ý£hÓ'˜Gѵ·¶s\ ¢ßüíìÛ»ŽþÇßa(GžG-?;Ž:{p({&®?ÊÁ­séß2o=¨†˜T§SÂ>e|ð9Ní˜JÅKÃhÑi·ÌqkÒþ¼YÖÄd¶¬ N±p½ŒÃÀµ{y@ÚTó"¾Ff’ÓÇ´ªháøüûâõ·_d~«:ŒyÒŽ_ÿ–RéyÿwgN¡ªZAAÞ¯ÊU«òï¹s\ºxáå4 CƒƒÁ@ØÓ§„……Æ£‡¹{÷W®\¥ZµIÞW²‹ßF#F£¥C±¦…pÞ­7nYL#+‰µ§x“6ù3_CN.¡ú†ý\}V•œF¤ü´îó95\$ /Þ}ë3£îŽß|FI¿ŽŸÊÿŠåàääˆ>«¹òæBvbÆ• Œ_Û‹ª®2àEï¡uYÒl;n6¢…ÞˆŠŠbŠÄixŸ'%E¼­T;6£Éˆ¢~H™Ð<ºZܬMDÆ{]©8fw†°;<Ž0©ŒFàéÑI ßú”\ýÚPÆ)¡÷Œ¦¤Uã ‚ ‚v|}}AªÈ¡ƒù}ãF jRiI’Ðëôè­ô Iè´Z4Z-å+VÄÇÇ'ÉûJV¢‰n땾û+ÈØ¸ÛƒéWQì?ÔÈÛ˜3a>»Î^áæÍÜzÙ"0*1}DÔè>QëK¶.ØÈfŒ&Åp›?Ï<÷EÜ5¯÷)1pýàIž†_§kA¾Š.ðVMFLj·žQ\3V½Î²Îå²,GõoÉÇd9;7;0=äÖª}|çÂÈÛ¡`çŽÝ·#úØ—Åìì·©6²!ò`q t©šþÔ£ÕZv{¹vý;wlOr»Óó‘¹’“¬L¯ªïó´N‚ ‚ðžÜºs×âu%IB«ÓRµZu|}|ðõñ}ùü}JV¢Õʨ¨¤ï‚m=ÞeËàÂR~Yw…6=>J0£§†îap­æÁ¬ÙÓ(œÍ†Û³‚¨¶T%Vÿa…—ÇûU1c0™1„P”7;i› &pjÌÜMÃ)l{‰Gw=ê“è?cm?=SeË Y£!&pûpèñ©\×±ËYµû.íZ¿Ù K}zœÕû_ /^“ÜYbèe’-Eú­fÅÍÊ4騀¡^;UÁé]ÇÃN—,ùܯ]»Æýû(UòcJ}\½•Õ[ß0î‡Ñ4ªWó]“˜é¬ý=˜ÀB…Ó:‚ Â{rëÎ]}ý­E놇‡sôð!ìÛ*FÕ€¤’ä÷€V_þ“nÙûŠ®K=æ &_Ï€²Yãm³~a ÛBŠ0øÇ/©à¥"¹+Å—Dž« s#N?íØÅÍðéhñ,ä‹<çGC©`ûÚÞUÔèm©d^UUQ,í„þŽ‚eS´ í–2áëüZa>Í}ô¯š²{d/VûVÓ%uÚÌ{dIÞŸž Fšä΃ªª˜Í–7ëT•°ˆ· [J³Ïu»×éõoYSAÈÈ¢òio/ÑÖëõT¨TÏlžüyâÏŒ€dˆæBÚ:Ì›Áéúݙְ{w¦EbätÑr•N\Å·ówÔuöÃUYÅÒyÛ(Õ17÷Îç‡i—Q«Å9ÎØM°bþWQQp¦ÜW-poò=-ºù®K]Še3r'ÄE²“µj_»5en«–hGô¢vA7”»ç9ÿÀ‹šMÊ⪵ÇQû„ãë7°3Ü÷b)à”~çÐPU£ÉlÑç»ùÑ#Kú-Á‘CéTª:»ûw¥~ /4!çØ¹ø'fï !°÷FÆTtxx¼6 ¯ª÷£í‚uÜú¤&>í‹÷žiÔñH¿Ÿyr¨ªŠÉdJ4}ôð!¾~þ˜Íæ$ªfUÍÔ£±%•9úü~Èóó‚ – 1œ0™S·ßæ;«f€öBZŸfLÛW€š³¦°dý\†þöZlÝ|)X¡Šm®ÎÌšp‰ž£Û4Óß²Íù¢O%..RQU%:ïó<ªÇËz UAUUìËýÀï+¼6zê"Ü9Åjödb–ät¬ÌÁ¿’kø– iÁ¬'2.~ù ¬Ò“ F ªÝÇôè^’¶“¾¢ÓÎZ ÿµ,ùÓïèH±òÒo_5#Tê$™u¬=Qˆ¦²hN_VŒxj•ÿµ¶²?]kæ$‹kn—ÿG vÅøëbnTnMÛ¦>lÛ4bvé÷sO*‹ UE–e”xj>TUåï¿Nâá™ Ïl^o.W”›)3PŹAÈTUsÏß°aÁÁÁLŸ>=Þ™Ì% ̩̚HA!.“ÙDäkóÊÙÚÚP«VMfΜEéKѢūzE1'i˜”ðŽ}@DÆ23RUƒÑ²Œ•T37£1ñNmŒÑhB§{u+òðôäÙ³0nݼg6¯;M'i4¶÷,CÔ€ˆï¡ B¦ÕB nÆãÇ¡lÞ¼…–-[Ò¤I“8Ë£ºVd€&X¤£!u%%#3Á¢ ÄG£}³ €Ÿ.@åô©? ,TM<“š•ô3 Vìt$ô<­¥§´‚ ïÏë¿«¡¡¡4mÚŒ²eÊ0qÂx€8ËEÉ85 CŸ¢³pÒ0áÃb2™ÑÈ’;ž„†âääôþ%¤;Š¢¼uÈW¬Áh4 ËYÞXæ›ÓŸ«Wþ#Ò‰U<¤—Q°‚j~ú2 =OÄ(X‚ ™ƒªÆý}¾©–ÆàmÛ“;:¸Ùkp³OýÚ !c‘5ZllS¿öBÈ8|}|ù¼CÇ´N† ‚ ©DÌL%‚ ‚ Bªˆ ‚ ‚ ©F ‚ ‚ ‚ ¤€‚ ‚ ‚jD"‚ ‚ Bªˆ ‚ ‚ ©F ‚ ‚ ‚ ¤€‚ ‚ ‚jD"‚ ‚ Bªˆ ‚ ‚ ©F ¼m{Z§CAA„LàÿŒGF‘Íe…IEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_gen_set.png0000664000175000017500000014405612142400477020515 0ustar balakinbalakin‰PNG  IHDR}zš¼âsBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝwXWà;³Þ‹(  MÅ®Øbì½ÇÄÞ ±`ìÆÞb%MŒkìÆ†=öÞ>cïbG@Ù23÷ûDTXvù½Ï#°³³wæœÙ={gæ^fõêÕ ›ÉmllªT©béf@^väȹ ˲–n äe666¨; Û¡îs°±±‘BPw@vCÝ æ€ºÌu'˜ƒ\¯×£î€l¥×ëåz½^K·ò2Ô`¨;Àôz½œ‚º²êN0Ô`¨;Àp_d;ÜÏæ ×ëY½^oéf@—ÜßI(ú; éõzÌÌ怺Ìu'˜êN0Ô`¨;ÀPw€9 îs@Ý æ€ºÌAnârnÆlIŠ…¢ôÈn&Õr–Œï]?»›¦xðôõµ‚CÔjUB|œ¥›“ë©Õª à{wï îÈn&Õ2†B(¥I¿¾OÜyôê£gof_Ë€²L~w‡zUŠÚÛh>ü2„Ø;8¤„¾’R¥¢<úò²iu'KA $¹ÐÙqäJ>7‡ð*Åd8É›ÍxA¸xýÁ?G¯¶/•ôJ©Œ¡ àî ¥xé~¬Žµqõ.T¼j㶭‹¹*-4¥îÚÏM;ï´å–2ó½bÇÓm7®ìPÀÔIïM"ÐdI¿*ä2JÔ"ÂÎ0“nH—1„0Ÿ¼@)%Iÿ„¸s¿ti1`îYU¥®£g-Z}ï½ÊÝÇÏ=ñæÛËÿìä«H·IIwp}Üù„°Œñº3íâ‘u)Q?«œôXšu'M³˜ý _®ðÃ)²òû¦ž_M¥%(:ÌÁ¤óìòä¥è‡)?óo.,Ý´¬ûñÑÏÿqO· î>÷~ñ>ó×oúó§pÝš¡CÖÝ7Bˆá͹3q­Fþò矿D–|²nìôÃoJÿæÈOÇŸÎÿÝ´¿6¯ù¹í®Ñ‘K®½OZ›îé Váƒf.š5²u[¨=Ë4í3aÁòKf(÷fóøaÝ×§j{ZMâmÜáݢݦÿ¹~ݯ“"[VpWB }wav·Á;5Mú}óÆy½ :`ÆÉ8Uè5kÆ”‘‘"#þÚ²më–Uýƒ]*NÞú{ÿÂĪêĵ۶nÙ¶¸­·2õËýóã—™²]Æ-\õûÌ.ÞW¹àâ{JÿöäÌž£{v]¸ópô–QõãßñF›ôù§ ¡r†f„åcŠ„£}Šn½åUÒõ¢Ú‡{gv©P´dÕF­ÛÔ*±à–>©ê|qä×amk–)ìP´z—9Ç_qôÝñÈR¡è…“=Jò(=ìì»Ï_‘{s~åжåŠ «Öbض'\ò¯O/êÛ´b±€BE+6è¿äÄ+ަµÂ§»ÚûWzAˆÛÜ®D!ÿ€B5çÞxwoqD`…q—iâÅqÕÊvœ<)²uÕRÁ…ü‹„µÿÏcÇ—Ng[(Õ?ûwဖÕÊò/^¾vûŸŽÆ Ÿ7û“kg [™:ŽRêþN†e?œræãžÅSÛ;yòÙåøÃFLLZN8`õoí ðÿ[õÛï^zÕÌ'#$»¾7wܲïA«ö%$í­kyË !:6ùkÏÖ OôÕíÙG[²n³ì‡*B¼›öûnS‹[ou )&BIP›.M*[hœUõ¦^É?øèöìqê®¶£R „~vj<÷öáKÁºDñ’Á…ܤ€w!„R½8°p›¶öÏÃ[–±&„„÷êµyû„µ——¯äêê fYÁÞÍÝ5ùu\\í,«vrsuÓBÕ¥¼"¥„2þM:5ÿÆ!„xv®±²Ç•«¯¸Ê{ï¤Mõ­QPMñ ñ±anJ‰À§Ý$úá´}ªNA†%FÇ iwM¦ú«{tBÛçkLYq¬–ìùÕ¦õ<ý*å ¯ï¿è2¾íÕ³}?GÍùavÅè±%ÇìÜõMTý¨Äñ;fW±!2+õ§+^îú¡Ã¸;õÆÍ]Ή}x÷µ«†PJ‰þæ‚o¿[îÞwú_³ØëØu°óž_¹BgÕœÃoéÑl~þÙëG—Ô0r[Å+ú±zæ^<ûC·ÉýíÎ,4nðزeÖqbÓßÕ=ºÌ4|;mÑ„PGîåýïó)ÓÜo(=ÌÃÔóì ý8¶¶B&£¥‚@cå ¡±_$òTÁB¬J_±F+ÂÝý³ß°«¨áÕÕóϹ?7¯2'išwãǘ8ƒ hÒz¨@aÔvj†3p¼@µ·ŽßáßêX}URG«Àq‚Âå-'ô“§$=˜p}Çò»/Þ{ú,æÙËw<)®ãAþqÉ/ï¨WjÞ¥æÑ)Ü.Þ¬YóF5CÝU !Úû'ÿK|s¶oí=lRK9Ž'E^¾ã M~鯛ª%IJݶ” !„QÙ© gàxª}töS¨SUòDO©ž’N“HòU w>C(+ËÊyöå(÷tçìͤÍʨ? !$_pñ‚v²ë4¹ðdÚõÿ®® KH1ß+ÚŸ;ÿŒ+åãê±‚£»‡‡mêÕ%ãž<Ѫ /ZØGÍøøNZDˆ;ñËoËÿ½{ug–ü}‡ÔZÛuõ‘ [¸±Bâèîî dY+gw+Bá^~x%J a|ê÷ø¾®¯œâÓ»Õï;6œy¤«í¨H[¸ØÏ›2%Ëõ÷P_ß /›²kb¡q¤ÄäûŠ>ý\¦ÉÕ ëXªV!ýÂUûŸUjâ!#„Ѹæ÷&„Ö^A†a(áõ‘•¹bT›”•ÈlœUäFš'’ žˆ_ß%Ók;§ ‚Äj5„$|úB¸‡ë#;ÏÕ6=²_˜·¹0¬Áàw_œYÿ‚Ò»ñøµU¿ýwïÞíë§tûí×ðIKÆÔp¥‚'žmçÎkóq$$Féà̤µ6ãIs»¨ ‹Ós”§i=%í&É¡„8îcÛÂó¼Á`H7Z‚§„PÞðéBžRB9Î`H¸{ü[¸g~yòN „ ƒ!iÞ`0XB¯t°b9­^o0PG ¡<—Î+»‡÷mµ%jLÝŠ«kµlݪUƒrÞV,!ºûÇ/Å'>ù¡JñÁI•<ÏñÔçñ­ÁIñå “.¤4œãxJˆÀ /Ðäe)!DPÚiX^§7 ºô·EQ°MŸˆc¨rbyƒÖ­Û4¯SÒC•fuià8šþµÉ ÓÆQb“œùìâARAæÞµ†úÂŒáË.Æòºï(¨ÀQ†‘±eí ùª¹'ž¨]ÜÜ\“ÿ9kd$é¼4Mé9$4ùW¢òt¥÷ßb]Sžâb+'ÉãVү¿<³ëšuÄ ÞuÜíÔ*yªG“ÎQÓtÿÉì Ó¢÷´ÕëF•z¹{ùgœ p ò ON^Ó9¤´ÓÍÅAI)+c o0||:ae2¸Tëü¸9)燚ºÍ POÕgßÿžº‘_6éÃnIµó)•}eßœ ×%Õt1ý…dîuF¯?²eÁ jŠã3»GÔêó×==!„7ðľîœ-;÷ìÚ¹g×ν{÷ìþ½£¯"ëÿŒ±mQù6Ÿ¶ãðÚy=J½ÿgì·µÝý<½Ñ’0ÿ€˜<~'!)}sªª¤ ¾2©­ïõ%Ý[t³tSôñÓgŽíY?oÈ ¿bò— °e)µ*Ö®yþ¸½#~øyã¿—þ»yíä¾­›þ}fH^Çõ¤ºÇƒ*ý›µáÎLé?aÍóÿݺvîÀ¶¿÷=ЧZòÃØ‹Díꡎ=ºvçÕ˜'ÿY1aÆ¿ú¤•°+þþ¡]‡=ûL÷ÙˆÚÛ›~ß}úÚ­{w¯œ8ðï=Nåê¢fˆÌ³v‡ š[¿DŽX¶÷ôµ[×/Ýñ÷îë ”R"s*äÄßܺçâÝ»7þ÷ §„¨Ü ؼ?¿ãàÕ{w®ÿó^ Ÿ·í“Ÿ ¥„Ê 4èREØ?&ê—]çî{ éÏJ¯’^ÜÅ­§_ó©ùÐâOžJR~Mª¼õš>ƦP¥–}§¬Û9·.ý÷·¿ïh©Ü-Ø‹}{þL¬­{ 7' ›ö +c‰`à>mñÇv}¶%„f´-”R™CPv?ÌÛ¼cbÙ—ÛÝ÷4õÊ?ß5½L>ÏžtÜ”2o3²+Ó÷×5%×ý±zûß³v/Ó™M¾"MXÕ¾zA C)Q÷Xò«ûü_Öþ:ìïXÎÖÓ/ T³’u“×ÀÐäsö̇„RE6sÿpX<÷ÏUcÿ™«µr+ä_4¼pý“ršŸ»ò'u7uN—f³ª4m×â¿ù7(C©Â«nçðí¸^¸Ùô%Ý?éa£BüÕ­K~ŸýJ++÷àÊ‘ó~cOeÝêLüCýÇÜß6Oí÷ë{•‹_pµ^5¥DáÓ,²Å‰ ³zµQ{–ë8}ú·6JUHÇ~Wgï¼ÛÖ»jÿ9?Õú¸9ɯÂ|RÎPB©Ì¥æ˜ñ³¦-›Øk%¯r *bË“¤û‡Òk% æÞùJ…2£ñ;)¥„‹½÷¿«öVB$wðöL)Ýä>M{W[5¬ÿì‘ý•p7Ü=pñ5O>/;ɇ‹!“~•;û» «6í<ç_^£•åò±Iý•Åðp÷Ÿ‡„Àb~ùìø˜ó‡þϺ䳑QƱr×FνWô Ò©V3}~ûÆ+·š K;±$ª< Ú½;²%ú²k0«³*è÷¡àþ´NÞ ·E{kßgl‹-äf•øðø‘»œºˆ«&½;²Pxd?fõêÕáuj_hÙêÍýº}k0$Oôû¶³5‚TJñΖJ”öúÜÖ]NµZû{ûüFëÿMûÎõl–ô³^oøëïÕÂBÓ]Zx¹éÛÚ£®|ò7M­E;[®«ÛóÕO—×wdˆðîÚ†éãm¿ü’W¹…„ÚÝ:ÍuÛ¶±«Û™AU{¾ý{c–¢»>§a›ƒ-7¯ëæ« üËÓ#G­¹«ÉW¡ÛœùýU©Öox°iÌ¿îÿ_LOT®…+¶8ºk˜«œBôÏN¬øyþúc×DZŽÞ…‹TîôÓZî2’Ö ·üÔwêŽÛïí|k \<©äî¶MV–ÿóŸýoNiØöd»íë;úÈ !üãÕíê.-±rç°P5Io[ 7~‹ùç‰Û/bíQ¤j‡áÃÚ·O£ƒŸçùÿþw½fp“‚Y²{Ï^“êÎ?ÖléÝ¥½AŸ\w®Üu¡b ?kÊø³ †«:µYâ>uÛÏUŒÏ´qß¹Þ)u§Á°vÓŽ*åÒ¯;3MwmFã¶ÇÚm[÷·¨3Ë[BV¶…çù×Qwd¯Ý{öš8~'!äÓ»L0ìL–иëO¾rñó¶ÕÞ;¶vî/w¼Û +c“ѳx^ø¸Ã"3>_Qfžž<þLáém/Ëý×9fi[rÿfä&Õòäë;?~»ÔINõk(ýÚM_Óî“?ÑÜYuб-¹²› 2õúÎÔç-k”ó‹>ykóþ§Y. e,#Ëæš5M¬Œ•[¨óV%—e¼PZ¬4ÊZåüSÿ%iüN1„àúNsÉJ§­•ªIõ"ÙÖ$È€œ!¸QTØ™æ`b݉Û×s›Þèç9W®°Qjd2Á©aQ¥îˀ샺3—aÙ¤i3-ÝŽ¼u<€ îÌ}J¯_»jéVä5ÿlßjé&ä2,ËÚÙÛ…¸{x † —7µîTªT:öëÚâh÷]'K7€hïÝ»}éÂùÐ%œœ]2\ý¹O|Ü[K7€Bœ]‚‹¹w÷®)u§IƒYâÆ ø’R©T(•<Ï™²°Iu§\ŽnQH›‰s ™:yA¯ÿŠÆ€ÔYfÒHÔ`¨;àk˜:ý êNÈ2†!,ωw?{ÒœàŸae2gœ6müNÝ¢ðUPP€9 îs0yÜxƒ![Û¹“Ø÷³S“×’bàLê 4í¾"Â|]c b2S$âúN…îúìêö¡QÇâR:Æ…7ú8øtÞñ‚ÿªUÓ—ëk;x¶?ðÕ„lÁÇlj—ß¡`Ͻ¯…Tû»—}©QgÞ}͉„>w ¯ÿŽp°³Oë_Ñ1—´_µî„ߺ;„¯‰n9ÕÞß9¥síP/G;{×Aaûþrú­ñ3О‹ ²/?ç6.ôËCä–nä ª ^‹Çm­0²ë¸†Ç§W±gˆ{hL¯†M­ëúuÿ2¶a×-R‡¨Ej*ˆLæÑpÚôZ¥{öŸðíÉŸ+Û1„/÷ ¸Ó©ïž¡¥­¿æ\ BŸ;0ö59—úû%÷dÓ€¶³ï×ù±Kð×EOÒwñ2mi[œsËÙ´·WõoÑkí]—Ší{L¨\*Ð…~ëÂuêë:·ÛÏ\VÛÏ¥J¬^½:¼Nmã Ú]§^}ÿºn+Èët7~©6âq‡Í'gU%G–o¸µÊš“¿ÖuA§zÞg¸¿¬I¹ÈÇ=ü;®´æÍþ~å›j¶ûøä ($Iûß/ +xÜþï£3k8áøÏû´—'U­4õI­i;þèj‹ˆK¥Â«W¯ÎŸ=S­F-ãKîÞ³ ¢QtûuB¹¿w¶i˘Ëõ­™žFÑ)ěԺR€§£½ƒ½W‰Æ#·=ÔBôw–Ôss©1çzÒi9áÅŽ.…<ÂÞÔ}r²UH¸ú×M*{Ú;8ù„Vùnñ Y·Ò¦ðùvîOeÎí=ïÒ³c“ú®Rt_4<ìË¢“‹Ù1¼I?;{;'ßrm§xÁB/MsÌß|õ£¤IÖ þhäåÛvýSBŸ ÑøÛ82rÍä4ŠÎ´>fS_»’£O'ФUêZnü¹w4õyvšxoû¸¶UŠxÛÛ;z‡5™t!Ñì[ix{dú/ÿiêÌY˜qÑ©¿³²_x _g{;{7¿oº.8ûV „Æìà×sÏ«¤³òÚkÓ+»õßÿFøä<»þéÁ™j/èbgïY¸L½¨opùEn„Îk‘Ò¿ëÂI[¢:w$.mÖO®“fW'#³ ï=µ›_Aúèð‚£:u ¸¸ã;¯BMßöC·_j휰khÿ=E§íZXE^~|n¿ƒëõÜ[iââ]u *ãÞ~¢qÀ®9ƒÒ¯Ó/#W‡mQÏáí´uT%»4º:¹SÑÆƒ*Dú{Û%ÞÞ3£ÿ”öK\]áúÃo#ÿ©2¨ïÊJë;æ{ºªïÈ«á 7ó”¿ùøT„>wàŸïÔaγˆE›„jÒx<½Ã¿ÑÌ-Ê·ë4¡î±ÉaÌñ‰=þp=¤”5“êÚ^íå)ÛýšÿÇ_7- ±M|zë.犰œ ñæîã ÊŠßWw˸#‹Qz”m3¼Þ?/«¸«ðc;‡²f”u¨2ö·ž{ëöÒàÄ’¶×ç÷˜×ñï ÕYÝÝ”§îþÖ¦ÙxC÷ÅÍ+åÌ=¿sç]\“+á°Q) ÔjDN\¶*^Â!í7!ƶX‹ÎÅ’~.Q4ßãµÛ&¹«ýÎËZáÝ~ÁÌmåútù¹øà;¢KOÿ÷[Å'c‚Ñħ÷b‰GÉÊaÅlXâ\Ú ›&Rõœ?øÏo¦Åµß<¦²}š'Øe.Úuªôsñû‹«ªü}â¡.ÂQ­.ÒwÉØU¢z-õi¶{äÍFË—×s“!ô¹ŽþîŠîתºn^ئ€"Í%Ò=ü]#¦/nW¾E—Ñ•g*F¬t= ÈgU÷òösâT·R¥N2âP"›7LĽ}ü–ØæsV™pU"­ï:%ÿ,þ³ÁÉó/¸²Þr» £–Gî­Ùg`m«¢ fêzn]ñ³¯®Ü›;Ï» a•J{)‰ábâo ˜γƒ˜t7–ôwµ@y?ý?‘C¶?KçŠ`îùÑŃÚ7¨V>ÔÏ»ä+Ä å’* ¹WËyóê>žÞ¢stÅ9s[æÿükã\køåŒ¯ê_¦EÔÂ]×c¹ìÝÈMÁ jâ]1$­¾Î$º‡»îÛ:â›r!…|«Ì~H8-Ÿ{U`Ï%ãKžÖxЭֿNªåüÙ[BŸóÑ÷f¶ôoÐè5«;¦ÿÑ’ÞáÏ:ל´¤]־͊üc—öT}þDëòƒ¬eXÔЯxýþ37]x¡ÏÆmLÛ¸Û’7÷ž%šrÖ›¾¿ñ÷„îMëT.ìëÛ`C\Jüë2C‹òØÖ£é4¾ßÒË|qK¢&¤Ç°fö›:‡Ôî:i͉ÇZœdÏ¥Pw‚x¯Îí2ú\ð¨ oœQE·¹ÏÀMOÓ¨</NЍ?öJHŸ›]º}ù—Ò©ß^X‹›5!ÄÞËÓ&äd¾»ë¿‹Ûgµñ¸4½uX@ÄÔ ï³kk@t4öàÀš­ç½¨±QÜ‚ÎãŽÇ¥ù}–µ*X¥mÔü.ííårú—yçÞeß6¸ÿ·aç‹cfõ®îïfo¥ü$öÜ“‘U›8¢Òñ]ç]Nó†„>Çâ­ëÓi¹¬ëÊ­ò§}‚=‰‘ß¾;;­Ë|Y¿éßiÖö²ãyš5 £ÎW®YÍrúH IDAT¿›Ïžþ)ð¿%3Å¢ÏËò§jC»xŽì¶àb‚ñ€$\X­¯9ujç0_;ò“DwsIϱZÏèïwhHŸ÷Ó±SáR¼Añ¸°°òóuÓ·>Aá™ áúN?5©ãŒÛ¥'ë¨"„(¼Ûþòó–2½#û­­´®}êær{oÙÝu‹¶6Ž*—xòÏI£ÏRâE!Dx¹ûÇ^› =6°£M‰Ëå[u]ïøÌj©>™¸§{]ÿ̯l¨¯ ûâüö“ωK!Gäp®!w*è&¬Y¶xo¥…_ì_:fÖ-ê4è÷ð¯~OU]p¢g=½ãÉr}»ü\ûàÈ©ºÍúœL{í—Ž½wZµZÐÜáþ¥ ÷S="³õ öK¨trb—…ŠûFvómüàH­>”ù£¹gª{DŽؓK¿æU¶D!7ÕÛëÛ=&ŽeÝÕ¨+'°*=â¯IW"†¬Zr×wÝZ×,áíÀ&ÄÜ:wæE…¨áµSà¬tñsÒ¯Z´üpH+·{;ç _ù‚ú'=¢ýß‚.㟶۰¡k™'ïTù±Ç²ª[{ø)S½Hâÿ~_pľLéOëÄ»÷Þ4hJæ³ÆÍ…¹Þ¸Aôíѱæ?,;iC€WeÉó·ž;{KÙîƒú¬¬²¡£wJˆÌ«Õ⥗» íUéw…WÙæ=‡4¿6Ù@áŸíÒ{›ÿ¸c|,©=éךvQÿļOFÓÞûgúÔq÷Þê‰Â¥p¥ž+— ùâ20È©”½ÿ˜{«ÛØveæX¬Ü®×Ðjÿ-!„ý½†ž¯±èx}7™Œ´š7{k¹î]§Fã›êÉ}ŽõþÂüÙg8BÖõ®»îóÇÊ,º±§{J¿V:‡?}ûïOÝ–h"£ûÕ0¤ì°¥wÕê7`}ùÕmRÖÄÃÓÿLró¥–²ö¾åš/Ø:1ÌÊL›Æ1VEún8Wnõì9¿o™=`E‚@”vþ¥k·®ÄÒª)5jÕ„g½¦6(1Ñ)°fÇîKŒÚF!‰Wfw™ú²ý†Q•ìXÆ®×’Ÿ¶WÕmqõúy§z2ÿæìgüøì½@l¼JÖ²}z=g|ïÈ…0n<dÆ€u'˜êN0Ô`¨;ÀPw€9 îs@Ý æ€ºÌu'˜æg‘Pš¨Õê´:AÀ|ªy +“©”*µFä72¢Ÿ§!¤ Ñ—¸Œ “Pw‚(»s÷î©ÇcbžáÝ'/aY™‡‡{XX…¢¡Å IëÑÏÓR†èK\Æ y¨;A‰Zíí;wì®[¯AþÞ2™,SO§‚M — Évò<ÿèáƒèè½Ö¶¶AœÁðÙ‰>¥”RjéVdŒŠ½K‘IpøK9ú8üÓK€,@Ý "Ðiµ§Ožˆ¨[¿l¹ò–n ˆÏÛÇÇÑÉéÈáƒ!EŠ~ù¾ƒèçyH)Cô%Îxdî+‚óÌÓ3Ÿ¥ÙÅÁÑQ¯×¥ù…Ñ—$€”!úg$²u'ˆCx–E:åecX»Yý⎙›l ,Áøm†èK@Ê}ÈQÓŶ\ÔÔFŠ=£g}G!„{¸vøÂçÕ'Œªê˜¼ÄÇóì ¾õ î8&ª}•àüööîÅšN<ø‚'©Ï³kÏE…ú5ýqPó2^ö¾¾›ÿï…3:Vòw¶wð,ÑjÚ¿¯yB³cx“2~vövN¾åÚN9ð—¡XFvËóx.Ý# Ñ—$€”!úg$2Kܯ)¬kÝq£Ë?_:bõ}ŽÐØÃÆŸò2¹…WÚ§ÕµOöbªFý¶óØÁuCýÏLí2îÄ»ÏÑ¿8všm4ãŸSG×u³Þ9¢~Äìßü´áر½Oè2õB"!ŒÜ©hãA³×DÞ¿}iO#SÚÜû·Ö™%œx÷»Ad,¾ˆ¾ ¤ Ñ—8CläBˬ`ä¾fô_XeÊă û¶^Õyg÷@eÜ©t–.ÒyH·†. !¡£Ï‹8}ö™¡ROñmÔ³]5? íUcn«—ßÿб–KH¯¨z³?ÿŠ/ߥB»N’–.bqU•¿O<ÔEwÃÀ/d¼äN “A§¢Ÿ·!¤ Ñ—¸  SD®; !šbýf¶_ѤwûSoŸÕ_:¤œ CM¸©œµq¶bŸ~G¥ÜÖIÃ<Õ%/!³q±f®½× „ÈtwÏŸºl糧=xôJKòi¬² +Ã%>y™J­2ò(¢Ÿç!¤ Ñ—8ã YÙ.ŒÃ7£¦6w|ÊÔ7!Â5»ó‘ÆX³õ¼•‡.Û~üÊ­ãÃýq­‰E(0UZž—þÐЈ¾$ ¤ Ñ—8ñ¦¿¿“"ól¶ìd³ìXó—ÿ·aç‹cfõ®žOFˆþé§U'æP‹@p8I@Ê}‰1r}÷¸Ü© ›peÙâ½7žÜþw嘾³n%Ÿˆ·v±áÿÛ°n×¾½§žsn$@ ×ĽÊr$€”!ú'bäúºSÐû¹-ÉŠveBªõ^#´ZÍž%„MhÏ!uØMƒ¿í9ëà3Ô–&Öyv«°y·Ó»}H–ï»Co¿Kú¹Ô´ëo“~ª¾òYìÇeÔÅ~ºúæ'B!~‘'ßD~¶0!Ī¢{oR~Ó”žv#ù銠ïù~aÊC=“žL‚z®ÿ¯gÖ·2‡a |¥ Ñ—8$€”!ú)¹¾¿r¥RÅñèXÎÃŒaAô% eˆ¾Ä‰y‰êNȘZ­&¸±@ÂR†èKœ¸ €ºL¢Óé,ݰ$$€”!ú'b îs@Ý ãyžee–nX @Ê}‰7Pw‚†Q©Tñq&̈ ¹Ó­›7<óyдfb@ô¥ eˆ¾ÄI€,È–ùŠ@jT*u±b¡û÷G»º¹ùÉDûbÄqœA¯kmâ(Õjµ–nEºß¿kUqqo7®_׸i3ŽKã®Õ싾 º¼‡uzÏ –nEÚ¨ ˆ˜œ–JþY†Ã?»áðÏ2Ô •¦Xhq[;»Û·>}#YËM©T²â½geˆaµJeÊ’bͶªP*ä2³qjZ” &Â6nÚ4(((ÍKËE‰¾\¡Ëͺs”J¥ŒÍø„ˆsíjÔjbÆ_X†QiLÊð ™!pø‹‡¿8üMg<²u'ˆƒa˜ÂÁ!Erþ\jb,ŽãŒ¼é úy@Ê}‰3ž™…ºDà œÁ`éV€e ú‡2DL‡ûŠÀPw€9 îs@Ý æ€ºÌ÷³ƒH(MÔjuZ]ÖÆoƒœŒ•ÉTJ•Z£Iw˜D?OCH¢/q'@&¡î1PwçîÝS'ŽÇÄ<ûO^²2÷°° EC‹’Ö¢Ÿ§!¤ Ñ—¸Œ óPw‚µÚÛwîØ]·^ƒü¼3;UrèlcŸ$ÙNžç=|½×ÚÖ6 0èËQú$}Ji®tšŠ½K‘IpøK9ú8üÓK€,@Ý "Ðiµ§Ožˆ¨[¿l¹ò–n ˆÏÛÇÇÑÉéÈáƒ!EŠ~ù¾ƒèçyH)Cô%Îxdî+‚óÌÓ3Ÿ¥ÙÅÁÑQ¯×¥ù…Ñ—$€”!úg$²u'ˆCx–E:åe#»Wp³³÷©ûãÆ 'VD5,šÏÁÎÉÿ›þknkÓ_?d?ôHçy<—îõ=ˆ¾ ¤ Ñ—8# Yâ~Ma]ëŽ]þùÒ«ïs„Æž0þ”ÿÉ-¼>ÎÏXùTéôÓ²mŽìY7±ÆËå}:ο¡'2F3´x;·Ó„q”ÆŸØã‡!ˇ”²þ$Ÿé»›ûîÿ°òðé½3*ÝYÔ©j½®—ì;u`aÝ—ôë¿ñ)ŸÞúÁ (áÄ»ß r cñEô% eˆ¾Ä‰byÆ‹d#÷í0£ÿÂ*S&lØḭ̈õªÎ;»*ãN¥, *بkÁ䟋h7­êxèÆû!J™kÄôÅíÊ·è2ºòLň•n#¢Q±vM™ÎÝ•³!¤Ðள×þZ¥_ߦå4„ ê;çÏ)GîêÚ{Z¥¹þBân%¤Mà³~!/äp “A§¢Ÿ·!¤ Ñ—¸  SD®; !šbýf¶_ѤwûSoŸÕ_:¤œ CãR=,¼½°jú¬õ'n.½! ×»uó†g>šÖä ˆ¾ ¤ Ñ—8# Ù2_HJ¥.V,tÿþhW77ÿÂ2™h_Œ8Ž3èõb­M\¥Z­ÖÒ­HWâû÷b­*.îíÆõë7mÆqiܵš}ÑA—ƒ÷°N¯ãù:0“ÓR €Ã?Ëpøg7þY†ºD ±Ò -nkg·sûÖ§Oc!+c¹)•JV¼÷¬ 1 £V©LYR¬ VJ…\fÖ#N­Q‹2ÁCØÆM›¥yi¹(Ñ—+r¹YwŽR©”±Ÿðqz]ZMÌ8ã Ë0*Iž!3$Ñáð7‡¿éŒ'@ îq0 S8 08¤HΟKM¬“’Âqœ‘7D?ÏCH¢/qÆ ³Pw‚h8ƒ3,Ý ° D_âR†èƒép_˜êN0Ô`¨;ÀPw€9à~v ¥‰Z­N«ËÚøm“±2™J©Rk4é“‚èçiH)Ë8ú™ºÄ@i||Ü»wO8ó Ÿ=y ËÊ<<ÜÃÂ* -NHZŸ<ˆ~ž†²Œ£I¨;A‰Zíí;wì®[¯AþÞ™* 9t¶±Ï’l'Ïó>ˆŽÞkmkôå(}‰>¥4W :MÅÞ¥H€$8üÓŒ>@f¡îè´ÚÓ'ODÔ­_¶\yK·ÄçíããèätäðÁ"E¿üàAôó<$€”>@fá¾" 11Ï<=óYº!]õz]šý}ˆ¾ ¤ÌHô2 u'ˆCx–E:åe@¦àL†O‰CH¢b@Ý âP*•–nX ¢/qH0êNðz½ÞÒ­Ë@ô% &BÝ ¢É£Ì@Ö° ËsÆneEôó6$€”e}ӡ©T*ŽÇxàÒ…2DD$rÝix~ü·ÛT òr°w°ó(\ºA¿Ù»ï%ùl¸=»¼c`Ô¹Äô¡/××vðl Aܦ€9‰9n|âõÅíÇîÓk9yhéüÊ7×£WÌÝjí¦A[·Ž ³O³Ä•»×ð[a·‚F.JglÆ/[¤Q‹ØTÃ0J¥ÂÒ­Ë@ô% ¦¯îÔ^õýÐ}BÝ…'~oï«"„R£nóVCª7ûù»UOÏ«jŸÆ ŒM`ífÆ×¬*P½YÑÚ ÙƒÁè}†èKL$ڛŻs‹–^gÃ&Îh“\tB‘¹Ô3»…ýóµ³÷¿!ïwö+Ün\TóÒùíœ+O»–ðÉyvþÍÙ%}êñrvô ,]³a5ß­öÅ<Ïn¸=»¢Oµ!c{5(ãëê`çT¨RÏ?ÿ3r†Ì#»åy<—î^ˆ¾ ¤ÌHô2E¬ºSwÿÀÑ—$´mMÙ§0öeÛVVëÎþs=¹@Ô?Û·O[kìªþþmHu·Ôý­ú›‹Û6šô¼Ñ’Ó^Ü9²jXEí›/n ãßžÛsÏçÛiݽ É»¿ôZyŸià«PÂá†Ç<ÍX|} @Hâ bë<»ð"È yÚʾxHé\À‘$Õ*¹Ëë<ÿ¬ð¤qg×MT– Ô_ƒøVËó‡*2wR`¢¼y"¢ný²åÊ[º- >oG'§#‡†)ú墟ç!¤Ìxô2 ÷Aˆ‰yæé™ÏÒ ìâàè¨×ëÒìïCô¥ eF¢Y¨;A‚À³,Ò)/ãyšÞå]ˆ¾ ¤ÌHô2ï`2|òH@Ê}êN‡R©´tÀb}‰C€‰Pw‚8†Õëõ–nX¢/qH0êNM®e²†eXž3v++¢Ÿ·!¤,Ãè˜u'dL¥Rq<Æ—.$€”!ú "ñêÎø½-\j®ynÒµôźڎnm£ã3ñÚsQAŽ•—<䲨@° ôw‚†Q*–nX¢/qH0êNƒÑû$ Ñ—8$˜(Ûß,´Wç}_­¨—“ƒ½ƒ{pø€•ד¯>§Ú££ê—ñw¶w.Þ{É©WO  ñ—–õ¬]<¿ƒƒK¡ò-'ìz¤ËîfÂ×ÂÈnyÏ¥{¢/H)3}€LÉöº“±ò©Òé§eÛÙ³nb—ËûtœãÃp^Õ{ÿ¼ñ乃ô/t2ªN­qgßBáþÙºÎÈ›Æn9wùè’–‰ :´]tCtät”p¸á1O3_D_R†ø‚XäÙýª‚ºLþ¹x€vÓªŽ‡n¼@aÔkÔ¯ZÜ–¿9«ãΗ:9:r}#'ÝÅySNø>?º©œB}'t\^uŦ;½úgwSá+ ¼I7•AnÄ0ti!úy@Ê2Œ>€é²½î$ÂÛ «¦ÏZâÆƒGÅÄQ¦ç¿çMé]½º×O[Ž?Ð5²{~öØSîò%=F1„ByG]¿å .\ÏÉX.ðÊËTj•‘Gý< eÆ£)Ù]wî,nQsä»N‹L¬éçLŽul—ö’”ÁÀBx=OU~9²¨š]ÊW,™­»š\Îæ¶Â×P`¢¼ÿsVK/¶Z*B[A| CxLà+Uˆ¾Ä!ÀD¸ Ä¡Tª8žËx9È­ŒbCô% e8âAÝ S«Õ7H@Ê}êN0‰N‡ùj% eˆ>ˆu'˜êNÈÏó,+³t+ÀbR†èƒˆPw‚†Q©TñqéÌE¹ß­›7<óyдæm@ô¥ eF¢YÙ??;H€J¥.V,tÿþhW77ÿÂ2™hߌ9Ž3èõb­M\¥Z­ÖÒ­HWâû÷b­*.îíÆõë7mÆqiܳœ}ÑA—ƒ÷°N¯ãyÁÒ­H“ÓR €Ã?ËÌvødêNÆJS,´¸­ÝÎí[Ÿ>„¬Œä§T*Yñ>±2Ä0ŒZeÒäb}ÉW(r™Y8µF-Ê # a7m”æ½¢D_®PÈåfÝ9J¥RÆf|ÂGÄ.ZMÌ8ã Ë0*8Ók˜!pø‹Î<‡?@f¡îq0 S8 08¤HΟK g‹²€ã8#Ÿ:ˆ~ž‡2ãÑÈÔ Î`à K·,Ñ—8$˜÷€9 îs@Ý æ€ºÌu'˜îgÑèõzÎÀQšCGÒ†,cXV!—ËJ#ƒä úy@ÊL‰>€éPw‚8´‰‰Ÿ<¾rùòëW¯,Ý˲öööÁ!!ÞÞ>+«4—Aôó0$€”™}€LAÝ "0ô?>súTZµ xû˜yâÈVÇÝ¿{÷ÀhAü V(”Ÿ-€èçmH)Ë0ú™…7Ao¸rùrZµ ò³t[@dr¹Ü¯paBÈùsg¼¼¼ö_”ˆ~ž†² £Y¸¯D@)}ãíSÐÒ ìbç`/”ã¸/Bô¥ eF¢Y¨;A‚ Èd2K·2pìè!AÈÊ,ÃRJÓ›ÛÑÏ-R–MÑÈœg1á)WÈB˜’žbüiˆ~n²lŠ>€‰Ðß âÀÍRÞ8*ˆ¾D ¤ Ã((Pw‚8†ÁÕ?’…èKL„/© "\”;d%L Ã Æ D?×@HYöDÀTèïByýúõëׯÓ{T¡P<ªŠ¼ eˆ>˜M^ª;µç¢‚ìËϹmHã1úr}mÏöÌÞ*}ñW…]‹}ñé/’x&Ò[:ýfZÉ_zýúuxxxxx¸‘ÏžÑÏH)ËEч< »ëÎÄÓ?8T^òÐ=ôŠ‚íg.›á.OãuÛ°áËõ Q›¡RÄ0&¢òþd/eé÷¿"%»ŠcW-ÿ¡¨&ýE”…¾Ÿ¿jZ\Hb‚¤OØØØØØØ¬|ö ú¹@ʾ6ú™”—ŽK™cñzÍÓ{PU z³ælÔ0 cÚoÉ‹|Õ`pJï-½‰± •XÇ [£‹HXêòæÍ›ðððâÅ‹/\¸Ò«W¯ðððÝ»w;::~ö#+Dôs$€”‰}€L©¿“‹Ù1¼I?;{;'ßrm§xÁí¥‘EÊз $~_K÷‚m£º×ô·W(¬ò‡uYvòÔÚ‘‹¸ªJ×âí\Œ§„nÍUŠ:¯Mj}µ¾šÒ¶Ùž8’x&²°W½ý„8+J÷mf>·mr»Òù¬ ÇÀF“޼â;kÅ¥R©Úµk·xñb¹\.—Ë/^Ü®];•Jõå’¼ûÒžG¦´¸÷*8jÿ™Õ-Hàð½—®^»vyiUÛ/ŸšøðXÂ7£×:¾͈òv®Õ÷Ÿ!ÄpgióÊ]7Z}»(úòå=3é–[éûuO8Bˆð|K׆CùöY¾ÿ̹«îß À:Õ†dðº|̦®[/Œ¯7m×Ŏ~í踣w•Æ nê“|{nÏ=Ÿo§mtÁ棧Žï]Ñ×óи–}w½Vþïµ mIÐØÃ7ïܹsëvŸ¯…=ûÍÄ.îpbb£ŠC.Zêâþi¥¯Îê8xßúùògþ¹[ðû9ÛNž=¸´ù»?{vùýÞg!Ó>ÚwÙ£ëò¯œ\Ñ<~EÊMÿ ÍçG_:½®»aÀ÷ oèn–þù‘²fóö_>»¹—õ¶!5kLV}ÒösçwDå?8æÛñçrù7++«ÈÈH–M>‚X–ŒŒ´²²úrIA0ö!‹èçRH£»''€XÑ0HçÙe.Úuªôsñû‹«ªü}â¡."ÔÝËÝVÎ*óyyåOï¥dMZÖ,eGHppñÂüµR#¦nÞÅõÒŸÿµÿ~ç¯}+ÛB ]¶àrè·ÓVÝn:$‰ø(Q]°l¥2!þ†øùl »/^—¦ÜPd¸³zÊ6CÝ¿ÿXß•%Ä·÷Âe7KÖ»àB—Y% !ŒgxÿmJi!Aƒ#-ûñð]m7qvSgà Mùì±+Ûæ»²I?)<áÌÿ>|'¾V¨“‹³µŒUÚ¹º¹¹Ë !z}ê·}ƒž§ŒGÍ.jÑòýSÿ9Ü4²KD ’|QßNÛ²õðÝ„êE %Dàôz½ž§ŒgD¿~­Jk!~ƒ~˜÷ëÐý×ãº8J(§×ë œ@˜ ö=›–waˆÿÀe pé5°ME[Bˆª8§ó¾+o"óëyJ(¯×ëu,!„ê9Jˆ`0èu2¾º·®ì¯ Á}‡Öü¹ùËŽ?t¨îÁÒch½éõžzò¾x\6C ^¯ËìS \÷h ú¹@Ê Ñ0h÷éîþ¹oëˆoÊ…ò­2û!á´YuA‘¿zDArïì#ðæÊéu©Å?T|¬SÙ†!äî¿wµ„(|ZŽèTèDd™Â•;ŒZ~ðλÌL8›xûÈmÒ¨œó‡M·)V¿´úùÙko>ÿ6'³v¶f£G˜„eYJ“.ÛJ¦½¿kz¯æµ+• ò.PqÖbЄ”˺hºR=ÈZ;Ù0)Oc­]¬ý;ÿé:R¯Œµv²by'¤\=–¼È‡“ŒÓrÉ QÚ9ªøÄ¤_?m¡©_à쓆1$~Ú =ŸþÆä8„|¾÷ß½{7wî\žOÞ žççÎûîݻϞh|BD?·@H9²)ú™"NÝIc¬ÙzÞ‹ÊC—m?~åÖñáþYœP‹‘+åD&g˜¤Cä˵$µWþöî;,Šëëøí€°K¯‚©RìØ±ƒ½Ç’£1±Gc-FÑŸ‰Í»IÔ{Á+ö^cAc»‚–)ïX¨[ð²ÀÎ÷óø<ÂîÌìeÏ™™33wîø´šyàÚ±Õã•{ǶŽë¸àšp¹,š! öa$Riæ ÿÓèÓ>í{Vè4sé•O¾+—iIy®ªtÒdÆæÏ:5w“BÈë‹ÛN§{µ*ï"%÷òõ×Ã[™6miIoR"ÖWJˆ^’i‰LJ8=û~Ú¬K ï÷B–{_…Ì{,?½ß¦¾Ÿ!ó.åíY&Èò‘È¥ü맯¸w ̹œ·MÞîr´§ØÈÜ`µZ½qãÆ–-[EFF ‚àêêš°Q­Vgû£Aàïyýâ æ(è˜ÎùN™KiþÂây;¯Ü¿~hÙ·ýg\{›¡r÷`oáßµ«^ú÷üé¤g¹uLæn'nÝîæíK~ÔùÛû|ï.!vQ}úW|úÛg}æì¹t÷Î…m?}Þ7AÖò›Neä„èo®›ùëêÝÇ/\¹òϾÍÛþy)ñôWg­ óþ\EÙ.C [úö˜¶íÜí{—÷Íí÷ÙÂ5‡ôÄОJÈt¡Mê\ʃ¿°hÞŽï];¸t\ÿ×Þ¾)w öþ]»ê@Òås§.>e…l2–”Û/™{ÿcÖIÞíI²]*Ë2…õˆ HÝ+Tñx¾ñ‡Ù›Ÿ;}0aî”ùç…œËÉíôJöæqÙþ€ fãÆ ...®®®7nÐh4¹Îk0°BÞ»XD¿X@ˆ9 .úæ£Sw*‚úþ1«YÒ¥rXlß|û±ê7 –ú¶›<¢ú½i­ª×i?lÙõ\¯†?<0oX›ª‘ջμZmÚÞ]ã*;0„ePÿMûfÇ=]øYíòá¾Þ¨úrõ¡m¼¤„"¼º´æ»nñµ*W©Ûiòñ Qk—wóÏZwù\™_§¥‡ÿè&Y7°aDxÏÞzÑ¡5Ÿ—–Sù&D-sÿ.y¹>¿Íê@–t©Ûo×vx¬Z’1ħí÷Ãß…æš6ç–ñýe´l¶Þì„lûL—Ý2]™Ë:IÖ-oÖA°«¯½Ž`j—ƒè H1'@ÁEÀ|ÌòåË›4nd|¢}‰»7mÆsÔ‡Qž®/ÝËnÕ­õq9ÆÓ€bäõë×ÛÿÞÚ¢u›wãq@Ñtñü?15j§¦¦˜ž4+½^¿võª¸¸87wlo!úÅ@Ì "ú„AàŸ>}zæÔÉØú O¹}ÇNܤtHe2žãpwV± ð– ñfc'<ýâ fÔ£`Ô@Ï»k`P´å#L2™ÌľÑ/>bV Ñ0êN æýÀ#P´å/Lƒ±±£ýb f}ónÝɸ¶Û–Ò®P›ôùÝ¢•D˜ýb f.œïj^¾x¡Ñh »`LPpè³§Oò1£ ðR©±ç"úÅ@Ì .úæCÝ 0„(äòôô4µZ]ØmñøÑcÆ9×–}1@ˆ™‘èX u'P —ËË”){ìèÑÕkºº¹1j7¶ò<ϲf>îÊÚA(Ê}ž z=•å„a úÇŽFDFÊŠœ\ô‹ø7̲,Ÿ[ƒ­B–ÒWWˆ €Õ?߬¶úX u'P W(ü8ž?}úäË—/ó·3–Éd+^Êa£P˜ý´=¢$2™Ìº×ª %¡RBDT”‡§§£c.íR‰¾T*“ʬúåÈer‰RÆXáT¾E¹RÁЉ‡Y†¡V(|`õ§Î:«?€¥Pwvööå‚Êùúú²¬¡è÷[g 5hŒ ¦D Ǽ&@ôm@ÌLFÀ"¨;¹\¡ÖàBŒH!ú"‡s ›0XêN°Ô` ¨;ÀPw€5à~v DÒµZVÇó\a7(“H¥J…Reg—çø3ˆ¾MCˆ™éèXu'Ð ©©)7nÞ<~ôHròCì{l‰D"õòòŒ‰©^>2Šä:5¢oÓbf:úBÝ ¤kµ×oÜØ“¸;¾is¿’þR Ë!Õ‡ fSdŠ˜ Ývrw÷ÎíÝ»w:8:‡ä|ú¢H¢/BÑ"ÐþJ‘°úç}K¡î tZí‰cGãâ›U©Z­°Ûôù8»¸Ø¿7,¼|΢oóbf<ú–Â}E@ÏóÉɽ½} »!PP4ÎÎz½.×ó}ˆ¾ ÄÌHô,…ºèàyN"A:Ù2ŽòêÞ…è‹@ÌŒDÀ"ØR€Ù°ç9$€˜!ú@êN C¡Pv Ð ú"‡3¡î:F¢×ë »P8}‘C€™Pw5Åb”È #áXc·²"ú¶ f&£`>Ô`šR©d9Œ.^H1Cô":uçÝÅuÔš\ÿ5^ujF5çàá§Óóš9íHïR® V<*cò@¾Ð7Þ³õ¢ƒ_ñ„áùö>m¦j¦nšRÍB¤Ž¥J²Î‹‚3ÓuvîÙ±_¿h]ÖÓIP!®ï׳ÞÉ=Úñue¿šã<ç !Bú­Í:×÷W«}CcZO>›çÅz(lÙÍæqlž¼}1@ˆ™‘èXĪÏgR¨Ót™ç?Ì\ÕOòèÆ3_¯LWgøgû¾mÝóp£¥›¿­í,!D{~J«.óýFÎ_¿0Ì1ýÁµ›¬;'_t „Å 6ÍX|}@ˆâ ´X³ãäE³{¦´r—BÂC !„¤e¼ùâèä/?Ù^sÑ–Iõܤ„BØ'×—øš5£ƒ]¤¤lP´Û ùÀs¸7Ìf1Œ‰SZˆ¾mCˆ™Éè˜Ïšrt·]fC[VwËù¡üó]_w˜öèãù{Hß¾èPmèȆ†¹-ÊF58}ýÙÇ•¸(“HÑÁË–)UJ#ï"ú6 fÆ£`kn,NÏrÚT].GÅMí¡Cª<žÛæÙ×ïf¢¿Z{.i×¢/Co/î^7¨æˆ}ÏqD]TÉñ <›—÷Ààˆ¾( Ä ÏJ¬Yw*|£K ÿn>ø0—îÉŒ]hÿ%sšß›òшO2½Ï¨|ª¶ðã†S'¾ þwÁû^ õ O°ö‰@Ì} Åšu§Ì·Å æŠ½}Û øuë©÷nž;zöÑûžÊŒÌ§í/Ëû;,ëÑséM=!„qlþÌß¶:séjÒÑöÝ#Î¥úuç)'_ 1<ØÿÛÅÆT‰‰ï¿,­Ý¯ Sbì­Ù^ †öýìŒ{ÇÏ;f~E^vбçƒÞ¾mW¦Õĵ­&f™§úÜ[Oßþ¬,÷å–‡_¾ù¥Ö·ëN~K¹P@†px€¯X!ú"‡3á&D C¡P²kz:(®Œ]bCôE f¸ÂÔ îÓT*Á"†3D(BÝ fÑét…Ý(LH1CôÔ` ¨;À4Žã$©ééÀF!Ä ÑŠPw Ã(•ÊÔ””Ân”kW¯xûx ¹=³Ñ$€˜‰>€¥h£¢¤Tª"""w»{x– ’J©³,kÐëi-.^´Zma·"Oéii´•’òríêU­Ú´eÙ\îY.¸èó<¯+Âß°N¯ã¸"úè^ç)&ga%Vÿ|³Úê`)Ô@½]Dd”£“ÓÖÍ $ó|~FòS(z{,“†Q)•æLIë _®Ë¤V]ãTv**Oaˆ¤U›6!!!¹Þ[@%ú2¹\&³ê—£P(¤Ó|(žâ±S©ˆŸø"a¥Yn’«?uÖYý,…ºè`¦\PphXxÑ–®å˲Fö:ˆ¾ÍCˆ™ñèXu'Pà ¬ÁPØ­€Âè‹ÌûŠÀPw€5 îk@Ý Ö€º¬÷³%‚®Õê´ºüÞE™D*U*”*;»<ÉAôm@ÌLGÀ¨;AHMM¹qóæñ£G’“bßcK$©——gLLõò‘Q„ä¶çAôm@ÌLGÀB¨;‚t­öú{wÇ7mîWÒßÒå |}Ø`6¼(ÛÉqÜÝ;·wïÞéàè’sŒF‘D_„b1ä¸@û+EdÀêŸkô,…º(Ðiµ'Ž‹oV¥jµÂn Ðçàìâr`ÿÞ°ðò9w<ˆ¾ÍCˆ™ñèX ÷<Ï''?ôöö)ì†@AÑ8;ëõº\Ï÷!úb€3#ѰêN ƒç9‰édË8NÈ«{¢/H13}‹`KfÞGäb†è ¨;…BQØM€Bƒè‹Ì„ºè`‰^¯/ìV@á@ôE fBÝ Ô‹Qf $Œ„cÝÊŠèÛ6$€˜™Œ>€ùPw€iJ¥’å0¸x!Ä ÑŠ(Ö|ꥄ)=›T öÓ¨5î•뵱#¤ôSÃ4UºšóêLÊß-]œÔšÜþÅü|jE#w×=¯òZ¬îâ¤H—\ …†Ö¸ñBê‰âO»Ñ¡ßÏÂ\ØÇ7¯\yäè*Ï×ÒJÔúyÿ—¬@y}|dËáχ­›çÂB$ö¾¥U‘‹çªÂT”Z0 £Pä/ÖPì!ú"‡óQª;ù‡[Æýt¾ÜØc;†„R(%Ž¥ËGeüøê™‹œ1”*íñîÜl½¶þþ@ƒÑûD Ñ9$˜‰ÒƂק¤òDÿ:ÍÙµ\{zxˆ¦Æœ[lƯ†›¿TW =™N!D¸þ[ÏØ0“Wpõ&nº‘n²kºðdu¦ëì|ê…eƒ›U òÖ8ùDÄv›u.=k»^›\/ ²ÿæû,!„èìþYèÒnNjïr•›ßó=áiÁÈn6cóìà…è‹@ÌŒDÀ"”ÎwÊ|[î6»ÓôzUNöìóÅg]Gº™9œ›:¢ý˜AB5)gWMüªk­ óNüÙÙ×ÜV¥_ü1®Î4CÇ 3ÆÖ.c÷âÖÇ’™>VxuvæGý4sûŒæ>2B 7uj;Ñðż¿fWteݸñº$.ÖÓ#7<Ú4cñEôE fˆ/ÐB«§Ô#~Æ¡#MÏùe lÜë›ñCÛ…;™8¡Ê¸UŽoX­œ‚Òc–Ø]êôÃâ+mdž)ÍúÐÔ£?ýz¥ò”S¿ôô—BHh!„è!„i—ævm·ÀûÛg·ñËèzÄ>¿ñwªS³b¨¯‚–‹È÷_ ¹â9¾°›…aLœÒBôm@ÌLFÀ|;åHš šý÷¥I»¿:«g&O¤š!›q®Ü<œÜ:|ù•™óèïŸ<÷ªT|ïœÅ³ðúÔwFœ­÷ËÌþï΀څ}ùM[õúî¡a>Ÿ¼âè=-.²S$‘¢ƒ—-SªŒ "ú6 fÆ£`ú ÆÎ§J»áKö¬j¯¾4wö©×o^6{LaÖ`n/׳œ6E—ËQ6ãÙ÷›&Üšö=ÿ¶*ðÓŧ®í[>,æõºÃ*õÚð€5ó³À9”góò^‰}Q@ˆž ”ÔAªÀs¬@œ¼¥„HRþõ³4Så¤ðüÔæ‹Ä+:ÐÑÌ3ú ò¥åÿíH¼“ÛHŠ€Îó–ö$ »õ^™eQ¹[Tó/'þuôìœZVMK¸ÂÀ<<ÁŽGÔb†è-”úwnÎiÖt‘²N“º‚üÔìƒ3[ÍßeˆÑ'ÒŽÈüb¢fÿþÃâêCji^ü{põŠë©ùfFáÞÞu;ê´R=ûgÝ”¡ë^EOèagæ‡2.±ƒ;{µײ§áû~-ªø°÷;ETô{[JK\ê}¿ê»³utþ÷°H{&ýÒï¿PW®äí~sïΫ» >R:_€ÍÓë èæ%fH1CôZ÷©‚Z4-µrû²i+Ÿk®eÂ"kŒüsÄWÍKË !®M¦ÍëÓsØ·íê²Nþ•µ®_×síÛw­øßœý—®)U¹ÙôÄz™½†Q×™¶gïˆñ‹ú5™˜îXµé 9ûfjUxÿ¥sOÕìñÑ7•Îh`Ï=?õÇ÷?Ž|˜Æ“¾â§lžÖÔë€UPª;åÞ üÔ`ÀOy¼ëÛrʶ–SÞ¿0i!„JÿKºA!ä×¼—\¢þòäç™_`Ü:ì|Ñáío ß×5že–ð1çžyó³Ì§ýÒ›íßüR~ðòCƒÍøk †px€¯X!ú"‡3á&D C¡P²zËÚ0c—}@ˆ® 5¨;À4•JEpcˆ!Ä ÑŠPw€Yt:]a7 @Ì} u'XêN0ã8‰£Ž‰@Ì} u'PÀ0ŒR©LMI)ì†@A¹võŠ·—Û3K}1@ˆ™‘èXŠÖø jJ¥*""21q·»‡G`ð¹l< IDAT¹ ©”Ú‘1˲}n¤*xAÐjµ…ÝŠ<¥§¥ÑZTJÊ˵«WµjÓ–es¹g¹à¢Ïó¼®Ã:½ŽãryLoQ ð<Åä,¬ÀêŸoV[ý,…º(°³·‹ˆŒrtrÚº9áÁƒdžÏÏH~ …BBoeÃ0*¥Òœ)iäËr™ÔªkœÊNEå # ‘´jÓ&$$$×{ ¨D_&—ËdVýr …Tbú‚ÅS2ŠÜö<ˆ¾MCˆ™éèXu'P®Õ^¿qcOâîø¦ÍýJú[ú €¥Pw:­öı£qñͪT­VØmúüœ]\ìß^>çŽÑ·yH13}Ká¾" €çùää‡ÞÞ>…Ý((gg½^—ëù>D_ bf$ú–BÝ tð<'‘ lÇ yuïBôÅ fF¢`l)ÀlØóˆ@Ì} u'СP( » Ph}‘C€™Pw #Ñëõ…Ý (ˆ¾È!ÀL¨;šb1Ê ä„‘p¬±[Y}Û†3“Ñ0êN0M©T²Æ/$€˜!ú@ź“O½”0¥g“ŠÁ~µÆ=°r½ö#ÖÝÅB¯îROüW£ÛÌ«þm†ü¸hÑ/¿lZ¡té@W9!„è¯L«ìR~üm~–œ~bp¦Ö‚;,¥–B`F¡v+ p ú"‡óQz^ÿp˸ŸÎ—{lÇPEBñÂ`ô>CôE f¢´±àõ)©<Ñ¿Nc³w-gÿ›[ýêÄ«üíµ<Ô'u½?îsü‹Ã“?ªäíì¤Ö¨}£[ÙtGÿfâšÞ5†Mü26ØÓI]ªË–#c½,~ÄŸîªqR»µÙžB§Á@Fv³y›g/D_ bf$ú¡TwÊ|[îpsz½*­ÏÚ|îÉû5d~Ÿlø'a@ñ鹿lÒŤK«:xJ©cP“¾S—þ½ßߎˆ¸4û³^+îe$µ–´á¼ÿ¿¬ßò×ÝÂ"†'ž\ÞÁ…ÚyîbRÒù…ué4¨‹mš±ø"ú"€3Äh¡tH=âg:Òdñœ_æŽûxÑX»Àƽ¾?´]¸“Dêàáã¥QHdN^>¾¾o.Â;F´ï‘ñctyŸ{+7M:pSÛÍWI!êØƒºÔrx»d_OG™DáìãëëG«±P0xŽ/ì&@Aa§´}Û†3“Ñ0ÅN9R§°fƒfÿ}éAÒîŃïÎêY£ÉÄ©y éÆ>:8oH׿±Õ"ËúWv´9®ÐC±"‘¢ƒ—-Sª”FÞEôm@ÌŒGÀ"ô7ŒO•v×ìYÕ^}iîìS¯s›&ýŸÉqÍÆ_ë÷ë†}箟ÿ¿J8–*öäxPžÍË{`pD_b†ç%uéZà9V N^ŽRB#•K ox7’îæ– 7JX64>LI¯3Zu2R¹$óÌP(x‚¨!Ä ÑZ(Õ†›sš5]¤¬Ó¤n… ?5ûàÌ–Eówbgô‰´#„Èœýäwÿ^¹»“}«w Uû{Io®š›ÐjxÕôcK';%ß¼-wö­]u°^k×tÎ7*ÌEJ§Í` ½Î€n^b†3Dh¡u]Ô¢i©ç‡–M9à˯&-9ÎÕùç¡¿z”–Bã\ÿ»o›²¿u®U«e¿¹ÿ¼b|;Î[ØÛk[Ÿša1Ÿþš\oX;¯¼/ÒH}ÛMQýÞ´VÕ봶캎RƒÀª(ï”{7ðSƒ?åñ6c_¾ïŠs}3½R²ÍÔmm¦¾ûu@ŸŒÿz~Ù;ÛÌMõQ›/¢ÓP(( C8<ÀW¬}‘C€™p"СP(Y½pm˜±Klˆ¾ Ä WØÔ`šJ¥"¸±@Äb†èE¨;À,:zW‹@Ì} u'XêN0ã8‰C˜‰@Ì} u'PÀ0ŒR©LMI)ì†@A¹võŠ·—Û3K}1@ˆ™‘èXª žW¢¢Tª"""w»{x– ’J©³,kÐëi-.^´Zma·"Oéii´•’òríêU­Ú´eÙ\îY.¸èó<¯+Âß°N¯ã8¾°[‘;ç)&ga%Vÿ|³Úê`)Ô@½]Dd”£“ÓÖÍ $ó|~FòS(z{,“†Q)•æLIë _®Ë¤V]ãTv**Oaˆ¤U›6!!!¹Þ[@%ú2¹\&³ê—£P(¤Ó|(žâ±S©ˆŸø"a¥Yn’«?uÖYý,…ºè`¦\PphXxÑ–®å˲Fö:ˆ¾ÍCˆ™ñèXu'Pà ¬ÁPØ­€Âè‹ÌûŠÀPw€5 îk@Ý Ö€º¬÷³%‚®Õê´ºüÞE™D*U*”*;»<ÉAôm@Ì}‘3BÝ 4BjjÊ›7=’œü[["‘H½¼9ù¡··Oa7 ŠÆÙY¯×åzÀè‹@Ì}‘3’ù€ºèàyN"A:Ù2Žòê݃è‹@Ì}‘3’–B®€Ùhmx ˜Bˆ¢/r”u'СP( » Ph}‘Cˆ¢AÝ t0ŒD¯×v+ p ú"‡3D,‚º¨)ÃL@þH Ç»“Ñ·mH1CôEÎdX¶4Z ¦T*Y#B‹@Ì}‘£›têλ‹ë:©5¹þk¼öiA®Ï¬æZ~üm-è¡3n¼gëE+¾â !Âóí}ÚLÕLÝ4¥š!„HK« ý8þá_ CF–Ý”´ –Ca·Å61 £PÈ »P8}‘Cˆ¢–¢SwÊ]#]!„¯822çÀÈèhG*‹†b‚Áøm"†è‹@Ì}°ˆuÒ…O=·¸w£(?Æ­Lµ“¶ÝÕBÈ«=„v= Y¸—ÆÉ-¨nß%'N®ý®c•’εÌgóÏ¿!ÂÓµqžå?úiÝr'MÉèÖ£Ö\׿ví^cÙ€&Ñ¥\Õ'µGÙ:Ÿÿzê%OÈ‹„¦š >'ù—+›ù:©5N¦\ÒåÙ$È·B?« cóì߃è‹@Ì}‘3’–²FÝÉÞYúQã1W«ßxúüÁÒý¤óÜ«ƒ.hïï¹àÑ}þîãû¶~õçÀþZÿ´õØþeÝ$ë‡}1ÿÍT$ýÎáWuÆ­Üw$qÅèjwçôhØÿïÇ|ŽÏa^U:š³>q↟;JFv™x*85Z’´wR)Ñü÷ãII/më¨4Ö$È'°ôîwƒ"ÈX|}@ˆ¢/rCLç:»QÚfO98î̸62BÊôŸÔý·ºKÖßè3Ü„|ܧ}M7†„~=¸ÒüÁn}†t©ãHHùÁêÿ_¯}WÒ¾RBˆ4¸u‡ *Ç%U=5áÛ&ݲ}ܯa·ÏÞü*Û½´ù±3Ù*þn>>®J‰ÔÁÝ×Ï7£§öTM Áð·€çr €`'5}Û†3D_äL&€E ¾îd:ü€=?²‚×X†BÎÀ î÷^rÄ/ód{×RVËe\@g”jg%÷DÇ弞.÷«WšÌ?uW×Í#Û[BÚ•õÓ\º?éÖ»wï¿Ð‘-›Ûù¼›ù&‘¢‹-Sª”FÞEôm@Ì}‘3ž–²ÂùNNÏyíÿ;07Öé]Å,uôT‘|ö¨dd ‘Êr”ß\òÚõ{\h6sá²–ažò‹ßTŒ?ji“ ßäxTšÍË{hhD_b†è‹½G|Ý)s +ç`Ø—xÛ®sœk–£¢üÕ†;;®)ÂG–Q’TB2}¯Îþ¹[ßà÷©=b4„ôLÅHeRÂÞÎÌ»Ižà‘$¢†3D_ä(&€Îw:Æ ú¼ìÆŸ?mïûŠcwíœÖ^™8é“&µj·ðãêã÷µvB~x`Þ°6U#«wyµÚ´½»ÆUv`ˆÄ=~Ô¡Wföøtô_—_óvÇþ9©aòôæÑQq#v¹÷ü:Úþíwd_qؤNÎ[zÇÆÄõ˜¶ÿ K¥I`Úç;÷Ž;ŸwÌñ)®U{ýß¶^Ù^UÖ[öðŻߜâž>÷[‰úË“3~!DZåÛë㜲-@êÖð‡“ÿ÷îwuåþKOô÷ëøÏG½ýQQºëÜã]çšläÃð+D_äb†èƒEлèP(”,Çv+ à»Â‚è‹@Ì}‘£ÙÅu'˜¦R©n,1$€˜!ú"G7Pw€Yt: Îw€iÇI$ÒÂn$€˜!ú"G7Pw Ã(•ÊÔ””Ân”kW¯xûx ¹=²Ñ$€˜!ú"g$ò¡è_g‡b@©TEDD&&îv÷ð,$•R;0bYÖ ×ÓZ]¼ hµÚÂnEžÒÓÒh-*%ååÚÕ«Zµi˲¹ÜµZpÑçy^W„¿a^ÇqEtØ_ç)&ga%Vÿ|Ãê_аúçêN ÀÎÞ."2ÊÑÉiëæ„’y>?c¹) ½m–I è”Js¦¤õXZ¹B.“ZuSÙ©¨<`‚!’VmÚ„„„äÚµœJôer¹LfÕ/G¡PH%¦/øÐ{(1±S©ˆŸø"a¥Yn’«?uXýÀêo>ã ¨;†aʇ†…ýg©ÑºX *,ËÙè ú6 fˆ¾ÈOK¡îjXƒ5 »P8}‘Cˆ¢æÃ}E` ¨;ÀPw€5 îk@Ý Ö€º¬u'XêN°Ô` ¨;ÀPw€5Ю;ÙÛóëjœÔ•§^Ö¿Ñp}f5×òã/hMÎn¸>³šsààé|¤.éû NjÍÛ^ë6ï>nÉñǬ9s i—þèêã¤ö(UåÓ?oã ³&×0Oú©áAšª?]ÍeÆW{>öÔ4YýD ÑD .í耲™ÖAgßÈæCþ¼œF5\égF…ªûIËôšáÚÌjNê¡'3o0t&Dk¢''é´§‡‡¨«ý|=ç:²­•‹s|‹\?Hx²º‘Ƴã®Tš­·qo Ô—»_d ºáÆÜú.Njï®{^åc¹Fb‘²½‹ZãÑâ¬Ûì´£Ê:åt(h–müó^=3Mà\kÁ÷;rÓûzì)ŠÊu§ávÂoçí}í®-[yÅt•ISä÷[öîß»s˪_Ç~Z]vlVÿFU:.0ÝÃõŸ\©kñÓÖ£Çw/ç-·FcmW%€*¬ÿ¼ÅßÄ82ùš;ýÄà M–퀠1Gî%?J¾sùȦŸ;ËVôm=æXšé¹ÌfÒ®™÷“ë.½¯1Ùû»ÖüKHòÖõÿ¾Ñp{ÇæÛ>Í›•QÊKw¾xRœ§Ìø‚‘Ô<[1zÞe]¦ø§;'~Š/¸OÔî1à/„®H°pãoæê™“±}ý‡í)ÀJèÖúë–\ úÓ€ÀÛ+–_²ä¤ås*]¡Jí&m?ýjʆ3gæµ$»†~öë^ì³[Ï$áŸõïP+´TÙÐr®(;?HA%€Ì3¦uÛØ’Jj ú$r•R¥²sô «Õþ«áÍŸœÿïÍŠÃ.´CœÇƒ¿®¾Ý§q÷¬ºÔ­ƒß½M ×ÞV;ìƒ=믹7i¤"R稦í—À>È:|ãx\ž>ns2÷ö•ôs³¾Y/©ÛªTA}dù¾ŸøìþÕŠ»¨< ¥ÿ|¯žÆöõØS TëNݵÕËnumÛ®cÙûk–œËël‡ðtmœgùχ~Z·œ‡ÆIS2ºõ¨5×µoÏŒ ©I+Æt®ä¥qr ¬ÝùÕtBá_žüQÍ og'µFíÝj̦;FJJUéß©@..\réÍNJû„Ž1AžNjß°†ýŸMá y‘ÐÔ³ÑoøóC#ÜœÔMËm)ô¾ 1Ê+ ×gÖˆúÍÇ5ʸ¨5>Ú¿ãÜž9ý„x9©½B›ŽÙzÿínC¸þ[ÏØ0“Wpõ&nº‘ž‘Y®žÚëk†7¯\ÆEíZ2ºÅˆ5WÓ„·1l|Ÿæ•K¹kœ\ÊÔì½ôßtB´çÆ„{7Xüˆ??,ÜUã¤vk³A.XìË+ÛgMÙëÙ}dC7 !„MÞ2ªuå²^Nj“K©ª§ìyü¦0ÒomžÐ¹v¸¿ZíìÓzòÙ7{«ÜÖVBì#:6q½³yËÍŒ5Ÿ|`奒¿èÓ¡ä›o¼}qÿÚ$uývávÙ.äùõˆá%]œÜ+µœÉ;=Ý “?kPÞG£QûÇ|:çl*.Ü™äXuøÔ–òãfœzM!„½³rÔœGõ&­ëœi*îé‘Ýê†zkœ¼‚kuŸuðÉ›u?Ïd0 ‡ŠCç}å8ô«Õ¹Tž†ë3«¹„ùçÍ.@x¶.ÎÙ£óîT¢==<²l›‘CÚUöÕhÔ¥ªwûåÐÙ­?v¯èªÖxGwüß¡g\Ž… ylü…û¿Õ”í½ãiÆ1¨6iZ-ωÏù÷«§e;÷l²îë3í)^ïïQ¶\— ÃÛUòSk\ký/Igza`4ëNíå¿–ß ù¤YIû2-;–}´þÓFzô¤ß9üªÎ¸•ûŽ$®]íîœ ûÿý˜ûÖ}uü˜%Û÷lšÞøùÒýVÞa a¤ŽAMúN]ú÷þ}ÿ9"âÒìÏz­¸gdë ó¬Þ ¹{øÂ žáÕ‘Q;ÿåÐ}þÞ gÆ…Ünxâs^Ó|Ã[>v“”ŸzêÞ£‡ÉÉk;Qü:ÄÇXp/Ïì}Yküº£G7<>µCƒÑçþ^¶÷ØÖ‰’~éõÍž·ÝÂÔíÇü¶û̉Sš¾^еV÷÷²íOø'[¿¬ßg_Ù¯–½ple_õªží'ŸNËøˆÓ;n|ü¿µ{nÿµõ뿾ê³ì?V:<ñäò.$xÔÎs“’Î/¬ëhµ/D\.[ÉËM£Ö¸øWíðÃQZ•½U !„02—ò­†Ì\±{âæ…½½LéúõÎç!D{~J«.sR⧬?~úØ–ã>­á.#y®­„ûÈ;__¿ý¶"<;¼â¼{³¸à°V-½o®ýû¿Œ¬þÇ®n‡H‡,MRŒª?æ\ùaK÷9ºö§>±ÞoäÉ·˜ƒçoÝ÷÷®²„‘½~¹Œ½–I÷ø ãª=Z8zù,^ìŸ4ñxà°Úûfº’ª»ôcó3^5Ÿ¾ýì…]?Õ½6©Ãkîq$Ïd „S¢Òˆyý=v ´æ¾%ç<õŸ´üñïãWõrØ:ºYÜÌÇu¾[søðÚ¯}÷Oê9õ¬U/ÖÙ‚¼6þŒ¦öøE½íÿê3lëcŽh/þòå)ÝMªçœ©ô°tçžM–}}ú‡»viŽÿóïu‹†Õó°ø‚>Šugúù¥«“C?nê'#Š2­?*ûlÓoÇœZ’·îРbhhå¸Þ¿¬œõlÍÔ„ŒTc<š|=¬[“˜¨ u?=$š=Ÿx]KãѾG×6 c¢£«7ï;iHyöâ›Æ:‘Hí]I{öš#܃M—¥·ŸûsïØPÿÒ•>7®Æó óŽ¿"…J!—‰L©R©T*îîÿÆ€ñªÿù§£ƒBk÷ÖΔjýU¯f•CBk~2âcßÔ3Gïfà2n•ãV -\­Í˜%óÛJ·ÿ°øJ–¾þúÒ‰[œú.˜úILPÉÀ=& ¿ý×’óé„Âx7øU§ú•ÂËWï0tP>iÿM-‘;yúz:Ê$ g__?_oW.»Œ2ƒ7ŸúçÂÅsgmûóûÂ’Þu?úí–©[õ.Ÿun[%ªb¶ƒ&ö,ùêìÑ;:Bûäú#âQ³ftpÙ èZMÛÄúÊIÞk+!¤DT§ê×ìºÏáʼn§œš4TÚ…´kîqmÍö;"¼<µú¤´fÇ Y-øÇÛ&/¾ýýòiÝc#ÊFÅ6-)ÍHƒ<ÒƒQVøM¯æ5¢£ªw1º®üꞤW8ãi#+õÉýOù~oò…¹ß¬Vö˜þE°âýûÂËSg߬=cÞøÈRþ囜Ø\²gAâC>¯d Äd,˜UFÎïëºcÈ×ëî[pš’)Õ²w—ØÈ òM ¯¯"aŸîÞ0:8¼AŸáM9óg<-bdãÏ8UûÛ ÍÚ~_¯Jü¹÷t]ïÅãj8eÙ[¼sÏ&Ó¾>» O†õjQ·FýÖ­ª¸I?è/ŠèUZ¯Ïü±þqx·x_!DQ¦e‡²)/8ôÜœµÜ¯^\irëÔÝ짤n%$œ!ã’ûèà¼!]›ÇV‹,ë_aØbвÆξ¼÷‚·R¢½±ç|úӭ˸º¹»º¹»…ô<ÄiŸ˜Ù qpu` º7Ñ“:¸•` ¯ 9z2Ε›‡“[‡/gÙá§]Þý/ûßÌz¾nî®nî®^•¿¹(¼¼÷2û©©ƒ«ƒ„g9ÄÕzo__??ÿ²åcZôŸ°¼S‰Sgÿ“NÑÝÙþSÿâêT +SªöÌ;„Õr!Ä¡ÚБ s[”j6púú³3=Œ­­Ä±R—z%’ÖìyȦž^yLU¯MˆŠUXû¦î—WïzÀ¾þgÍ!®êGU5Y-t·ýkðoPÛ'_Ý·å%\íÞm…À»ˆÓ»JVöíúÉŒ‡Í¦«š¥ûžî¿§SÒ÷ôñÌn@›u©üË{)l^É]®±`JT5¯·ó¶ÁC7<ÈG¹(st±c º7Ë”–ps`ôiú¼Êßø3•G,îµéË6ÿã,YÙ!Ç¡¿…;÷ìs¿ß×C±@íÔsêÉßžp/†Fº }ÿâ½…ûŸ6iåfrfF¦©ŒÉ‘Žï_Hÿgr\³9îÃÿúcL€&m]³òÃŒ.Òpoâ=ðQ„FBXNÏÿþ6ö |wìͨ\<ÞÝØ¥|°J#XCæ]‰À³ž”Ÿ°sE{Ïwá“Ú»• w?äC€6‰Kåø`²úÚcƒðâØ× >ÚRaâo‹gWô±¿;;¶ÆïÓ0Ñ_­=×áÄÖµ«–Ìë^wbPï ;~¨«0º¶:Vê«úxå[¥ö$5çG8Bˆ]ùŽq.KÿJ¼~f_zô„.Ù6$g` ò»–ã¹%M±SÛs¦Ò„IqîB2¯¿¼%Îí—íü®‚ý»éåÎ BH®É É±ôÜ?Ó1f̼/67ÙÞËwØÁlÆ6þë­ÌÉÝEAˆÄÃÏ9çÁŸ¥;÷l2ïë1|V±@é|§ðâ袿_U·éà¡Ã‡3þíß0"T»oáîGoó^ÿ wv$\S„×)“÷]hº›[6Ü(=`ÆÐø0og¥Ôø®@H»ôû°©IÒ*º+ QøUô'·÷œÖ»ûúú½ùçãf—ñ·3 ¶LΜ°t‘ÏOm¾H¼¢3‰ÁØDû+;“$žïBéëí¬4šŒT.!¼·¼Z‘raï ¦tõRªôKk¶>ŽþvFßzj{E¶U—QùTm;àÇ §N|üï‚÷½Œ®­„QWíR[~jñ‰ºj+”ÈxÕ>¢c#Çó‹.Úñ"ü£ZîÙ·jÊ’•ȉîçºWBzP&õn»øXÒ™¿ºd/1ÞQ’çG=×¼[yý|<ÞžýÈ™ f&ãTcô¼ž%6 žðîvzFªò¯Ÿ¥áÔeÁ2½ñ×]]Ð{üÝ~Xvß°~Kþ˶ß¹›Ø;gÛ×C±@ç|§ðìЂ]|ƒyÝjG¸½Ûæs._Õš4ž„Ž IDATÞoáŽäö;¸:p÷ö¬Ý\ë[©uË9Bw;që~Ÿj¥äwòí?ýãÝ%$¯±šej/éÍUsZ ¯š~léäq§â›y‚—WÏœ+-'„ÈÚÝdj¯ñm»&ôn¢I¿“t9%¬}‡('†dœcEáùaL$@gótoïºuZ©žý³nÊÐu¯¢'ôа#äýýIvå?ï[iþ˜¯ÚôK×­fû”þ5Ôø¤­¿‘…Ê݃½…EkW¬×Ú5ó sÁõ˜ðú^Ò?gSe„KvëäÆÙ“ÿ}–Ð;D!»RÚƒ_±xÞΚ_–{œ¸ðÛ×MCBá_[ø{’o•è2Ê——7ï»Gœ«xªck+!„ÑÄt­A>™»I^gqõÛ]”Ct§ö-ç¯!áSb½rDWêÝ|p«ñÝFwþZ1©G­’̃C¯rBÀ›w³§G¨u¾.1’¸7Ú٣ݯ;+&jåÁß¿tñ‘oóN5ܙܓ˜?,£®5nn­-çî $„BˆÌ£b竘Ý|\¼þÖ±„ùçR§ þ6Ñ2±ñïæc¸ôkωº¬YóyåûijürqÝ„/˾ïö›×Î]âàV‚»¾eÕߥ#œCckù½-+íë¡X s¾óɾ…ûU-úźe^œÔ«q¿Æª‹·ÜãÝãG}zefOGÿuùõۣχæ kS5²z×™W«MÛ»k\.½>2-Ì·ã¼…½½¶õ©óé¯Éõ†µóRd™àü¸– ë7ŒkÙs̬µçšO\yêè¼v~o2QæÓñ¸ýÛW-ck6þlÜ‚ÿ¾xÓŸç;)0‘fŸJ’¹V üoNFUk¶¶VßlzâÆAYãLåúm80·—Ï™Ÿ?oZ·zó/¿_vàækã”ú¶›<¢ú½i­ª×i?lÙuܘ\0îÌïÚ ¶NÝØzñÝF-»Qaòîƒ?ÖÑ0DÔ÷YÈ’.•Ãbû®àÛˆU¿¹Ò@ öÿßÀv±1Ubâû/Kk÷k”{ãk+!„q®Þµºœ k¸¼O7Ç ê9Ô¶¡o.ÇÒRó÷-éç}|J—zUku»Ç!¦¤ÝÛÍ ÒÃz$Î fî[?¾Þ«ußt¬_£~§á¿núç±^È;,ÁhjŸû©×û쫌]øMÌíé]Õjúù´Lõ8?Ý¿Lnü_]˜Ùsê“®sÆÖt’¨Bú,ø.òÔØ^ó2ß-š×Î]Q¦óðއ'tû|BÂLçHîë¡8`–/_Þ¤q#ãíKÜݸi3ž£u‹Ÿðtm|é^v«n­ÃÀEÅ– ðOŸ>=sêdlý†Æ§Ü¾c'Fk@Ý Ö€º¬¡PŸ¶Û–Ò®0> Îw€5 îk@Ý Ö€º¬u'XêN°zã( BºV«ÓêxžÖã4¡‘H¥J…RegÇ0yL°]ˆ¾È!ÄÌtô Ñëõ¬ÞŠí+a$¹L&“+Œ$€E(Õ‚ššrãæÍãG$'?Ä¦ÇÆH$R//Ϙ˜êå#£É-õ¶ Ñ9$€˜™Ž>!Úôô{÷ï]8þÙÓ§Vn4‰D¢V«CÃÂüýììí©,“NÝ™®Õ^¿qcOâîø¦ÍýJúK¥R‹føâq$‚ …Ý ÓÚ_)ÇqwïÜÞ½{§ƒ£cPpk0d›@$ À‹²ˆ~¬þ"O¬þ¹Fß`Ðß»wïä‰ãõ6*é “ÊÃh  °,ûßÍ›{öìæy>°\9¹\ñáˤ“":­öı£qñͪT­FePÔø8»¸Ø¿7,¼|ÎMÀ¶!ú"‡3ãÑ7è Ο¯ß°aé2e ¥yP d2YÙrå!gNŸôõõ•«)Ôtî+ây>9ù¡··•¥AѤqvÖëu¹žñAØÿýصwLÛÛ¯ù ÏPyÒaoo?hРw“H$ƒ ²··Ï9%ÏS»±Œæ8JÙ2l Ø8©°aˆ¾È!ÄÌdô ¬Þ$€``Æ>¦ï××/A <¢îÌŽ{Î=UæùïÖšþùLj8w !¾½çü~éPãgëþsE='0Þqt¬dG);dðìù#/§ôô¶»¿zìï¯;¬ùù‹ÚN„ߎ_´¤÷/ÿW/Ω€ÿh›¥×ë,Å@õ¨’ÚùN‰ý{lœR•˹÷w¶ Ñ9$€˜™ˆ¾D"Yz ’©¡´„‹„3p|Úµý×IX«ª.o»ƒ:D4«¬ztêÂ36cžw³H\ì%œå!ýZâ¹ô§µð×hœ5gçÀî9퓇¯8ªE"#^™_yýúõ¬Y³8îÍ×ÉqܬY³^¿~mFº¤¢¶,9ž“&yw.FØ>D_äb–wô%Riæq㼫BßÍø®òyS¡¾™” ɸ+éí¼oæyó® ¬ž%þ6nêønÌFåêÁ§>Ÿ2s:nåÊ•II—fÍú™2pàWçÏŸûøãíìì²ÏBïëÆcUÁ<ÅÔƒâÑ9$€˜™ˆ~ÖÓiï^"„7‹ (KU/Mfl:ö´S 7 !„¼¾°õtºw«òÎáþûâ4câ·KûUð'ëOéÆÕ-¥ÌúTÿ>ÉüÕ©Õê7¶lÙ*22JWWׄ„jµ:Û×+ÅÕu'X@¯3˜ìè¶ Ñ9$€˜¾ ¼?!*dºÎþö=BA—é2¤ÑôÞ}?ûŸìûÎò››¦ô^ø¢æ´>*!Ïy™ûÁM¦~1¾MwÄÞB4éw.^N kß!Ê ©˜OÙjJF³qã†V­ZB6nÜ ÑhrÖô‚  ,­Zu'äŸ@Þ_‡Íܽ3ëïRŸ–T}?tÊÀ†“àêíÛ¦”L ÂÛ…d:Gš±©w‡ß÷Ûÿ4zÊo_µüþ•Ê«\x…ãZó‚€.Åù”³|Ôh46¬Ïø!×â’îÙeju'ÃÏo1$€˜!ú"‡3 Ãð<ÿn,âÚnÛ³vä]±b_sþOțߕ¥[MXÛjBæÙA ²2<ø~§f›Ÿf^*¥¶úÓ©;†Q*•©))T–EÓµ«W¼}¼r=TBØãÑ—+þÏŸ>}òåË—ù+ŤR™TfÕ^r™\bF‰œñly*+­\©`ŒGEÃ0´ÊD"QQžžŽŽNT–GqÜx¦\PphXxÑZ¡wª-¦X–5rK#À¶!ú"‡3ãÑ·³·/TÎ××—e Eÿë-ú)ZÔd”°%J8ÒZ ÍÃ/Ö` ujŠ#$€˜!ú"‡3¹\¡ÖP:»¶O8k@Ý Ö€º¬u'XêN°Ô` ¨;ÀPw€5 îk@Ý Ö€º¬VÝ™vt@Y'µ&Ë¿ ¡'Ó)-Š:«$€îÁ¡EÃÛÖŒ(å©qÒø‡Õhúٌӯ ž¬n¤ñîºçÕÊd4Vò‹?ïRòí"¥G*ŸKâþÕ0ddÙMI j9Ðj¸MÃÝ•Ÿ×é•`×à‹/¾ì¯J¹sõÊ->ØGIã3jñ\UX~? ¬‚jÝéà]VNs‘Pœd¤ŸŸ=.ÁÐjù‰?š¹f?K¯,Y¯mÉùT Çý;ù—ghZ±Œ»“¦dxÝnÿÛ“¬'„òjÏǡݿ޵v¨ŸZ­ñŒhóýÞÇ!/šj‚úœä_®læë¤Ö8U˜rIg…fBA¡’BÚËtÂ¥½Òò9–Ÿé:{Ú¡Þ¥²^î÷ì¸+õÍtúûÛ'tŒ òtRû†5ì¿ølJÎE@Á)øº3ýÜMê >0`É¡¤Óë¿«uwZë:ƒv?ËØåkïï:ÎÔ¾hëὫFžœÚsÂÑ×ĩђ¤½“"H‰æ¿OJºxi[¿@e7 ¥°¯4ph-açUêvŸ¸ôà¯s¯í«Ïþ÷ÑÃäG“Ý?õs¬½,røøZŽ„"¼:2ªq翺Ïß{ál¸ÐƒÛ O|ŽÊÀz¨Ö—¿­àöþTSíÅ÷8BRMûåR™áKg|V+ȯLåößý1µÚÓåS¶<à!„0á=†õjQ#2¼BãÞÃ[¹>9qê¡Abçæã㪔HÜ}ý|}}=qé¾x(а °îô¶ÙŸ\ž×¯Y”wPÃ/gï»—ãD¸D®T©T*•ìÉÆ‘£•3¿_F·OîÁ¦‰ËÒÛÏý¹wl¨éJWãù†yÇq+€õÜ}EÒþR¢¿wââkØÆeÞÞó!ó¬W–Ÿ}ô¶î“ˆ¬sKJ¸ÚKx'ÐlXS'£ô®ÑmBnã^ü»wõÂiãÇ´úûèÜÃtòÍ1%{wÕ€¡{Ë9Ð/ôÍçjoì9Ÿþô`ë2k¥ !„G*=Jã‰Æ°Ž‚¾¯H'äZE0 ÍÏ…"ÂJ Ó7ì5­N½’u+Žýyýívý²¾ÏÞùkÀ°Áãõ yßAƒÓ³Ä¿ÿ†}ï¡rñ@Ñ `5½ÛUúT ¶{t`×Í·DÙG‡vÜ×*etÐF*“ÎÀpë À\,ËFíî Íú:{gùÀaCÇÏû"8S·`…_Er{Ïi½»¯¯ß›>nv(;¬‡êùÎÜhjéU¦á”O†øÎþª¾Ï«‹‡?âùéæx/ y÷\Œ}ÉršW;—o:í-Õ:”‹(i3¤Å­`÷õ©Óÿß°F ªE”ö”¥\=°â×Uÿ–úbKS yú~FÃíåý† µ§›¿ Õj !ŒL©”1ò€ö_7™Úk|Ûî† ½…hÒï$]N kß!Ê ‰`%¾Ç¡òw»¶M®p骅Uh5ö`À˜­{§ÕV›ØÛÛW6©“ó–Þ±1q=¦íÂx3¡ ÐIžq‹mWMyyËœñƒû~ñͬͷ}ºNßžøCͬucúÙ“ö¦ÎŒ¯åçéåáéåáéUaü9-!DæÓñ¸ýÛW-ck6þlÜ‚ÿ¾@gb+b–/_Þ¤q#ãíKÜݸi3žÃeoxOø§OŸž9u2¶~CãSnß±ýÛÀPw€5 îk@Ý Ö€º¬u'XêN°Ô` ¨;ÀPw€5Ȩ-IÒµZVÇóxœ¦ ’H¥J…RegÇäõ`u$€í2}3Pª;!55åÆÍ›ÇIN~ˆÊÃÆH$R//Ϙ˜êå#£É­ô@Ø.ÓÑ0º3]«½~ãÆžÄÝñM›û•ô—J¥Í.ð<•f4AA(ìV˜&ÐþJ9Ž»{çöîÝ;ƒ‚CXƒ!Û"I^”í4}3Ñ©;uZí‰cGãâ›U©ZÊ¡¨ñpvq9°oXxùœ•À¶>€™èÜWÄó|ròCoo*Kƒ¢Iãì¬×ër=á‹°yF¢`&j÷³ó<'‘àîxÇqB^ýû6ÏHôÌB,„ÒCÌ}øÔêN…BAkQP!À8jãw2ŒD¯×ÓZ;H‘KOKKOO7> Ã03#ÁYS„3DÌGoÜxBŠÅCoF±ÆîeFØ0“Ñ×jµçþ9{øðÁ¼&J¥115Ç7ÓiM쟠8Bˆ¢æ£Yw‚mS*•,‡áEÊdôA8vìÈw“~P(”¹Nššúˬéã›™ø$ööü‘CÏŽ>vxDÈÛΆë3kU]¿ïäøò*㳮ϬUù—;ÎϨbgâ“€& º³}™Ïg_ÙÙÉ#S0íéáÑõöõ9}ð«²ò¼æÔž]/ñ󇇡¿Oaøàè§ÑxÉÓˆ±‡w {¿Žë.ÿó{£Ä³ÿ«(ÖÕÙœü/fp_ÐÁq\^{Bˆ\.7ç›ávÂoçí}í®-[yEK±qPð¨$@ÎùJw¾xRœg>O’¤Ÿ¤©µà›¿ÙÁ\T¢~Rïÿ»ô¡ë=ÿð¯úν¾.ô…¼“º«“»só-)ùøÜÌÿ¢ˆNÝÉ0ŒBa+¥8X ŒÏngYÎÔTúë–\ úÓ€ÀÛ+–_¹âƒRä$uŽjÚ®Qp t ,ÂèD¿ôÇ=#/Múrîe­vÙÌjç;ŒÝ(nHP*ó<ÛAQ(gꤓîÚêe7ƒº¶‰m×±ìý5KÎ¥å1ðtmœgùχ~Z·œ‡ÆIS2ºõ¨5×µoû ©I+Æt®ä¥qr ¬ÝùÕtBá_žüQÍ og'µFíÝj̦;¹ÞÇ>:øóçõ#œÕnÑMþ¿½»‹bk~ff‹î\ºsEEEATø°°P®-vëÕk]»½^¼"e‹Ø`€b€"±³3óý(Ë+ùþï}€y÷ÌÙwÏœ³õÖ !„˜ÏǺé¶¿`rï¶–ZJÊŠzŽC6&d7Œ•Sk‰*@9òïL·Rj³þyaïbчØu#]¬t”Õõ­œÜ=ÛXOŽ/üzÂdÆï˜ÚÛÑTKQIËÊcöé·$Êb«Óe÷Gúá4[5eE%uŸ e[œ Þœ_6°½­Ž’²†YëžÁ¡‰9tñqíM}æÌñs·7PSTÒ´è:ãß4X¬«BR8û\ó€-ó›%.³õi¹™'uowg  Ee}ÛŽ¾«¢ß—} ÷T¶w›Îú§_QIYÑaÅã„¢2®ÿåÛÑZGYQÛ²ýˆ W>‹By–;©èõ M+ŒŒ|½Ï‹o4èØ»Ïìä§ü!Cyó‡¶5QQR¶›r3UôÑñ=ÎOŸßç|}e¾²¢’²qÐ\$|q0Ƚ¹‘š’²¢’¦i‡€Í YtùÁ—¬ÿLî³ã3ÿçd®­¬¨mÕ¶ßüðÔ¢½œè¡†Ö#æOâb­§¤¤¬eï³4æS½í'½¼SZ;õ%ª°&ChôÄœýBâÛ<$YV ÿÉáÐ4«a=ôeM¼ú›~ Ûw'§âóÞ\Ëé0ïŸØëQGæ´IÛâç6áÜ'ºø¡·JÝCö_ˆ>½¶[æ?ÆÿóF„F(X¸®íNÈÝzéáȵ^{†:?ú¶(›Ïy ë8}×Ùk1Gg˜Ý^é¿è†túHŸôº 0H$v¸+hÄb¨Ýï?¿y{o=ÙS…X&ÿ`ºlÓž[+ÚwV¬`sÂòýº´PDÈÚº™9•ÔbÎÊðùî¾!LÓ}Ê4_G„ÝœàÝ¡³£žçЗW°ïëg_øÔævºéÿœ^r95ß—/Wb—ôû³Ëöp\u~i?B&Ã×xwÃiÝŸq“»#„0§ÀàáäBöSftø{`Ü“oŒ-¾tÕ&#jù¶=ö­öm®Œ!¤kÛÆNø·øQ̤ß̉,8!Ë9þ;þ;xùu¾§ƒ_K…sTtù|½²—;òEèŠÓd÷ý{göÐÀ2 ܲ;Ù¡û†Í÷üÿj!„0“¾Á½MÙ!Ói#6Ÿ8píM—zSáR+¸Vc·†œp^¸Ëãl y‰²¯®ÞôØdúµ¿FÚòB}îËŽo>eÅ™9®ÃøÄÏÍpu]]5.NÈiðõŠÞÜLÖå•S]Ö‡w×À2š¹¸çÞÞ;¢>ô¦Ë³°cÁ—éãvö¾’ìµg§&P9;)‡÷äñ}ŠF:ÒïWôÑá¡¢Í×%pZÏ×+þ4ÓsóYô£Àšué@Ï›w?‰ Ê÷Go×ü[Ö\U~vû„öò!ý»7? ]uè¹Ï4K„Âlý¦ê¥Ž!$0žî½Ñ#>áélRû¿IóÞ(MÁ7ÁƬÒÙúvç³B¯~¦Ùçv\Í”dv.¶^'cô2!­t# !§.S$Å „èã•mÁCzº¶˜8L{„È|Q©¼ºöTdâá¢]œ¢pÝ\µòž$¼-ÓúÂ’W•Á)’†ÉÃjMAÚÄãÎvŠ•ÕEB^]§ÈÊï3æ=¿üÙxµV+¾ÊÛ÷hÉû˜”Y湄¼š,^i›?¨9žÕø­³¬ŒÛõ¼Ämtaz|âwÍŽÝLŠ»³´\êý ¿Î~z¬Ûkq!ð IDATyÐËF‹8«E÷ ìîà…Wj!³a™Ä¦ â™á¡4~•­ Àf³)±s|Ò4]a»)óõÆ®s9óN_¹zíZῸS3¬ócw^úXÜŽ^q䛈ðŽm“гã‚Ô3§^ý5µ»ŽŠ—(7®¡“)þ"âʇâ/£â>ÈÙµÖ“(ínâjT$ÀÑw4ÃD¾«Êè$Œ`ãˆ&Ë ϸ1zü_üN‚ßÏßÉÓnm§J”»=¨˜TÏ>Ï.hÛ Ó›!ã÷·yru[XÊ|¼™ZÜ|(úx5â˲½Q™}1‚E ’ÍÝf†xæõ«™Êz|~Ñ?]M¹Âf7ÑÛ“¦\s]:ÇùÙâ€ó*ÚI%Ät` G”ðG-̹wè’°ËÊ•~NFêŠ2œ‰X…Ç%Tl4óïœ}XÜçÎL8ó™u0mpý>`ª êêi»=¨âÏ>†aŽ“4i…Âì¬,‚¨ðjÎ|¹º#’îìëbokg[øOÐqäÄöèÚΈ÷!§&G¥GŸøïbDLrNQÔ먳qR_?¾¼wÒ ù÷ÍÆÍï®Qñ'KÉ@›H=º5<1íÕíËç%”órmÏUoÎôw"!õíó§û®H¶™0Õ¹¢>¦ X +À9/Ý¿÷ÃÃçY?3FB×{ÎÕëSLÛý0õeÒµ³±e†•ÁÖ°Ôažž8zåñÓ‡w’¾üº=ÇtppWæL ßêó^§?‰Ý:~äίÎÁ‚JV'¥Hëìÿ$c?iÛ4£„]GÓŠþ ì<Ê$yŰàý×’Ó^Þ [4rúu­á³»k—yÏc²úæÊ9WCOßyöäþƒ7¹ ®Ñmê ÍôÍýÍ ºøèÖÅc{]ûD!„DoM¹ÕqÝš±ÁÛÖtJ]î¿æ^nù;©$^ñlMmúÑÁã7ž>}p/%›æ¨›ª olÝ—šþ$zÇÔI?ï¿âãÊ47¡EÆž‘ã¶D?N{óèüš€Àp–׬õ² §Xh*Rðû ÈÚèçê¥JϾ`åòÅ…m<¯ä¶DZvíœ+x*ý9vg¯×Wõ’B»Ûøn¼!»Ï¤öë>{´õÐu~ÃÏ ÚöŸ‹yaû—·M;ô4Cƨµ÷ê˜ÅÃ[Èa¨Â±O¿ÿ¶GÍç¼—Íwì3vZŸ¤åe7ÆU»®=i8uAˆ×¦·BUÓV½ÖÆ,ñÈ øÊU¹T€Ÿ/ïÝqùÏ_v'þü Sê¸êÌnÙIógúìÊckØ:éWÞ·à÷Y6#läjï¶kµ[ú<½LU¶Ä£,½®É,™²ü·e‘¦UÛ¾»®ÎímÜà®äõ€TÎ~I2Í&ï˜zªÃŸÏŠ~—kµ0ò¼ÎŒ9«¶™ðMÞÀ¡[ÈÙÐ@g¥r>’d[L[2ðöŒ±®Ç”Í{, Û=Ä@¥ËºØ0ó9‹wÏê¿î+®nbÛ¼ë¤nùrÿ¸w;o½ÞC“ PÿëÂ[Xé» •Vv'âkEÅ!®¥ßò1‘3<e :MûçŸI-æZòaÜʞ͗ªZv1zJó¹§+¾Ï#p-&œŽU ™¾n¤Ë¬/l]ë˜cW§¸k7¼¦y,44Ô½[WñÅF]êæÙƒ®¸ =óË—#GB½¼|¬ll¤!¨/òóó/˜¿pÉÒ¼ÜÒ³*BhôÄœýB ÍÈÊÿøYAo'D‰D$YóqñLÆ‰îÆ£d޾ ó€–Èú¡v+B!2uS‡–›:^º»Â¡ÁÝjldêàìƒú„a茌Œ» ·];»‰ßòBÄE©µwbß·4nPš8 Ç*JIASPû€ú|ó|2­=Vº–×9xûÉI-ïäp¸¢ê¬Eq÷X¡4vпÔ9&÷Ù¹ÿž)[[kÐ/ãvÏŸ§:èxO†w£€& úwIñx<èäÖdÁÙõ€èSÂÙ­‹O%¤ç°TMZz,<·0À¹º.êä  `UÀ¦«>}L­Ïùì>•o¶á MQƒ6Õu€êƒoŠ 6@Þ $EQŽCOª& Î>€š“(ïd±*¹a—Ëý–-@=•’üLGW»Ü 2 4zbÎ>€¦ ÃqIÛ1¥Ó¿“ËåÙÛ ¢¢.ihjš™[TmY±hš.È/»ê}}Q , (ºòíêCÓùÒ+ºìì¬ÇŽzûô‰Ê´þû*€H$ªh Œ:G3ŒKXê¤8­‰ø³ ‰«í¼SFVÆ^ÐLAQñìáïÞ½§éêÌãÈb³+mX•.‡CHPRRlâ‘áñP-®÷ƒcWF:ëJc÷öñ±²²*wp‰T*‡ÃÁ¥—°V Ã0W¢Â‘V`sØ,¢Vk8O†'•ê&þì’â¼ñ˜¹…¥µmý_GîVH$“v@hÜÄŸ}MÃ0^[¥Ùú""I,Õ„Aš&J²ŽX0žÔ‰òN‚ HhÇ5 QÞ‰á8¬J©Ò°¸Ïª­ ówBÞ ªÃ0š–h:sÈ;@P”DSwCÞ jƒdãŠ0$”Ñà"‘Ã$íâ)Ѽñ,;ãó'u M.—[ÿW£%ÁÚ<üNðà7‚7XýÇ0L~~Þ÷œïŠJJ’l/QÞidlüàÞ=;L^AÒÎê©«|j‚àËa­¡FÂ.MT6ð[Ñõs´ T¶úŠ¡éGš9H²±Dy§–¶Ž 9öìÉ㬬¯ŽW%±X, ƒ®´ 6`ÆbKsý[Ä`,ÉçO F0Äf³ë:P.LÐÌAK[[’5†$º>‘$©ª¦æäܾƑ€ÆFÂ…-á{*¨ w€Úy'¨ w€Úy'¨ 0ßJ=À0B!I …4sTÕ_8޳Øl.—[×ê%¢hŠbP“˜ÒÃ0œÀ B\¶RàÏߨ/ß)a˜ÛÃÇ”äpMBÂùU!ï¬k “—›ûâeê­7>|ø@ÓM ž6@8Nhii9µq²` [š2‘L—þèáÃÌ/_ê:–ßÇq%%%k}}6‡Sî6P %1 JýD¾ýô51åõ»Ïßj?ÂZF¸¦Šœ½™þwMcu¶$©'äuL($Ÿ§¾ˆ‰¾Ôݳ—ž¾A>‘©ÙÃ0õpM3©¤‰E¥½y})2BNQÁÌÜBXPPó}š¢Òߦ'ÄßêäÖÕÀЈÅjä×P’$_¥¾ˆ‰‰¦iÚÄÄ/ÓÈRjƒÏ9túÇÌÛ‰/†¸;˜jD#ïÍ($EO_¾;ù •­‰OMC¡ò¦‘W‘ú$ âoÞôèÞÓ±u›ºŽˆc`h¨¢ªccky'ME‰=|ØÉÍÍÄÔ¬®c© l6ÛÌÂ’AèþÝ;|]]9ùR@”ÚàËwQÒó7ƒ=ZXëÔI„µŒÃfÙ›ëÓ4w'UK]E’¼³‘gâõM3>|ÐÑÑ­ë@@å”UT…dB°F0Mବ¯†F&uH­RVV¦(ZD•Ó ¤’B3¿›hÕ~TuH]Y‘¤DÞ[„¼³îÑ4 7Uï:jMÓ’wˆjpœÓ ¤$†AE³ûíõR0§i$á¸2¸Ï@ÕH8dЈÕþì¿Oá‹ÿ‚¡@ÊݦI¡%{ÅM+%¯Ÿ8 Pß4ú¡3©è7H)vÓjý­*È;ë†áB¡°®£P9 ÃD"Q]GQ@”‚c˜HS"V¨‰~M©oš`ƒ|C„c8%"ë: @«sÆýFFÑâ3K(_Ð ƒ7©AHòTÚ;—Ë-w#4bl6›†!•%@”Âe”„½;%Ì;Ó÷vQS×(÷ŸgØ—ßUöä‹ ÎÚ‹a¦ÄßE”º¹“Óò¤zZÂõ<<¨¹‚ôË['öhaª%Ïb±ÕL: ^y;§®ƒªEô·¤Ã3û8*±X,[AÓ¤U¯ Iy¿ý¸y·'p[n~UÛ²þëÆa•O°&¥Öî§åÝždÀ¬N®‹xÝg×ôÚãC#„˜Ì‹ú­V^¶ÔQ!„#Å:ÝK<âabzêþ–vruK•aÆfÿr¾Eø~ßštÜ]¡®‚*­†uä9gùúÐ0Çá'e»\6݈—õêÙÓTÚF—'µü~5)&çÞú!=§žyoÐmLðzçf*Ô×ô¤„WJr · †a,–˜=…[nÇg‰„Ð÷ëSºNü2ûÜžžjB—ÕÓ¯µ×Í1¾é‡¹v%̽9ÞÜåÆœä›†Ò M¢=±UMíUB1ŸŸ)`„²©}³fH ÞÄf>€† Ã0i­ œwoͬ“dï·{©ÿ’ªÔ·Î’bén0Y±Ó¼¦žÁí}¼m°™Lq–WÿÂ#þæ(:@5ÏdÅÏÁ1Dà8b*z˜‚‰}ó¿}Vcc¤±}s­g¿¶Î<®Ò¼W¿Ê(i)U)h©ô錄=Ü;¾{Kc KçAË#Ò„!”3ÂLà?o’ws} 5›.Ao'„-ÔÖDSCÝÔ%`ç£!Äd„õä;Œ™áßÅZWCMäUß¹'_ä—÷„©¡“z´2×V×PSç[v³õNÐ×Ó^6A tÖQ/#5u 5ÇUO„†T“qÂÓÐéÅSû»ØòÕ5ÔŒÛún¾“M#„PAâß~nFZjêzÏ)¡Oó„È:˜¹ÍÞÑRK]ÃÐqÀòȇ±Ûþp·ÓSS׳ï5ÿü»âöz&ÿÅÉYÞN–ZêÚ&­|fŸLÉ•ôœ|¿he54RH_÷³âóù|û©ñ¹!&?õTH¿v†|ëvýæŸzžË „òïÍuj6xþì¡.Vz|=Û.£·_±alW!ŸoÑnØú™Bå\mÛÜwöÞŽf|>ß¼uïé}+oYч v˜ðù|¾M§‘k/¦* ÑߘäÕÖJodïê»*2½œûŸE‡àEA=Œø|ÓÖ½ç…?¸uxn?' >ß@Ð}ÚñÔâ;èÔ×{û¦xµ±400wèг_[«áÑß$,²ZFÁ(E€”йYyˆÊý–WÎ'²èmøT;]6›Íæi z/¾ô‘BHød¹-[}ÈŬ¢­˜Ïa^J²÷¿¥B´³s½šë˳Ù*&íGí¸“%áú1…JIû†4ý.|Áî·#öm,‘t–ÿpí 'S5›Íf+w·ïq.ƒ™ò§ƒFÛ‰³ý»Úh˱Ù<í–~{žü¸+/L¿¸´sM¶Œ®Àcò©tBˆÉK92±«­¶ ›§aÙuÊ‘gߥ‘ÚI¿@м:³ w+6[žo×5hù×k„„o/­âl©-Ãf+éÛvžYÜé±¼BÈ<ÙYÑÜþØÎfÊl¶²Ûž×9·'r¦å%L1Ót?ÆÝRÃfËë;ù®½ò™B(ÿÞ S¥öÛ?Ð÷ÿ0“a³Ù2=Îf•I!)÷ïOôæÐÏù)mæ¸u'fKßÜ­#†mO)LBò߯&jún¾p-j«wÎáÉîC#ïUáW£ö Áþ¸³h+&ÿÍœö!¡Qq‡fµNÛ6Êcâ…Ïe ãhµê?sãñˆ¨ˆãkúáÿͶìNRìºç~äB;$ï¹óÚƒû÷žgÊRIÌ÷ç•{ÍÛ{!îüÞ‘òóÆnz,D!9ÃöÃçm?u1úìáE®ûþðß’,D!*ë^l–óÜ£W®„Í4½ýç@÷¹¬'í»tõôÂæO6 ‰ýÊ „èÏç»Mˆ3 ÚåîÕCc•ްòn®¸d¨h”´l«e±ÑëYÈauT||||äÜæ2ˆÎˆø£ç¤+&»/ÝŒÙ;Jéäø¡kîîPøùÆmÂsÙ‰˜‹ûFÈD,ìÛçïOígŒ¼th‚îµUkæ@øéÎ;«ñÛþ‹:º°kÞ±Þ£Ž¤•}Ë`,ÛžA+÷>æØ&ÍëkfEeÊ ‰Òüߢç­g¹r3bcï¼þþ»ž—í(Â|f9~gDLøR§Ô]ãºOŒV÷Ý{æ¯n¡ÁÓþ}O!„Èç»GöÿóS 1O_<ŒØÜ&ÿkýUJô»>k MI'£“s žÙ9?¾Íà¹{c_æ”Ü+ÆVô™±ùÔ•[×/»¨ß„ó_Žiÿ»¬ó»o|E!Ä|ŽÝCwã®M0ß®NíØç |ÀÞ›)O#ÙÄŒï9éâ©ež-nWÕ)œ‡a·)5Ïá­•Ê﬇ɹŽ^vàâ[q᫺|Ú0`ýÓ ñ×ÛçR‡¯?}3!fgŸïÆúï})BQNhå¹1Ëmþá+÷ãÃVëå ÎBô§Ó#ý£Ì¦¸—ò0l¢òáa=Ýþ^åhË_ "±ŠÙë»cÃZýocv¯¿¢ž¥ÜÜ;J5ÜßÑcý³²—DòÅ6ÏyÛÌ?y;)1îðêñî†<„**„Ê{vEað_ÿF…ïrTþµÌE™wµvÇÜ¿¸m¸Â¹»ÿ™˜Ï³}5éø 5dµ .ùÅ‹)û:+Š{Éך߱ϰyõMÓ[!Þ†,„ŒÇ-òÝ×åÀ¿©£ƒù!ÌbИÞíÔ0d5ib‹SÕÆL袀íÄ`§­cã’s'™+!„aáÕ§“ƒ"BVÖ3ÑãÖóVŸé:´ÔØü.C‡ýloÅŠ>ô¿[÷>‰Z¨éêªrqB^S—Ï/ìß™§‚,KMÐŽÉ´;i˜«bÁäý­×LœÙÂQ¦âB,~Óbe-5§Õtuu »2Ϭ¼ 8úÌ¢v\„̆Íýã ó¦ÃIS›Û!„0Ã~ý]ŒYÈv씎[†e ÜIGHgR·Ín=È šóBéwñéÒB‡@V–vÖ¼—NA›§ôfök„Zë~C[°µâãî§o¥ Ýlˆ„òm[o2óòÌ^,„ŒFÏ|À3ôtjÀ$ vén1t„gKy„ŒƒFü}bó˜Ñ½ZÊ d4jóá¿®¾,è¯ÍÜÙò÷£æó¯´Ñ"’±hÕ\³¾víÁ`©"B¤ˆ¤i¤t„ùøS÷ŽlÞ¸qÓ(·£4O™¿`Œ+Ÿ‹RtèëX¸™­ù’ÛûÚŒ{ñÍM ÓÃÏaæ¼q]Ý•™O‘;âðN»;(“y¯ŽÍÝû½ßñõ£]Býæ/صì¦+«:yˆË$DV6\5 „Î~÷!)ëÊÑ‚r[0½#‹Ó[“…ÿìù(3X_H1˜ŽGPPÿ–2!Óàɷψz’í¯Ã}qpáIVÀÙCóÚ+`!3s„0'iWÈ¿ŠbWnÆCÈxÄâ©Ûkv&Ìj& i1"RX ¬ú™¬¼@Hc*k¤ I!† …EM€dòÞEa¤ç¡}3<4p„øc·ì}|µÛŸÝ±¾ì/ÏÍ{ŸüŽVtnÝV`Æç C#+„), Ë-a)¢j>~Æ0÷¢ê—@3ˆ …B‘fŽ‹‡£!Ó¹‡ÔÞØ÷Z»æÚè-íUÕÕ䜣¨¡©©ÅBU8Õ¸ˆ¬BkQ¯ð¢Ow®¿=šÝZ>†B EŠõô, ñKn†Ë¨Ê¢Qa;,ÆUTæPå4˲õ\»¡]wÒ †j–zˆÉMþwýÚC—¿|“žþîk²Ê/w"ƒŠC‡%¯*ƒg“4ƒFgÝ?¼vý‰›É¯ÓÒÒ?d3¨°t¨¸œªM‘ f*´zÖÝPËp‚ø Ó¤JnvpÕïà²îä«>AªW&uê{ÆaÉÞ=·Ð•MÛСížÂË?®ãÐ6xòž«Ÿ›çì¹)Óý¨“"bF$!ƒ OšýøöñÔ41i*~Õ,Y›öèBÄž+_\ÜUÊ6¾/¶øtž“ë·mËR7Sutm˜yÿ¬_ó¦Â”¨ð Ã0¢²€ÉýC‘$ì–\ú§æü›Óch 3ªr‰‹…K”‡3ˆ)Ž ä«*Lâ™Û`¨hàÖ/Oæšß“ÐcÒ…ãÇnr[¾xÀþÈ­>ºty…€~\¸J©ø÷R (Bc³Yga¨0!•¤”ªTˆ5þ"ÄR³6—#E¿–Ñáÿ ¥È®î I2íâéçk㢖¥/&çÞáhaçeËF´1TW”á”#Ø¢„?kõéò±; ýWÍïÓLOUWÅW‚É4ÓAÉ‘ ­Ÿ×VáH¾Œ`ˆ&‹_&£/ÐF)QOMÝ´”«°Ã_QŸ.‡%!‹Ž¦Å·ý‹K8ï驈ς™+F¹˜h(ÊrK&þ¥BB,UKS9QblšŒöϘ4XÕ‰‰¥%°ä½:s!µ‚Vúz–çÑõ,@`~š$)„)iÈâ¹IÇÏ~j>ÿ¯@WS E6^⸘FgÿötÌÎS'vÇ+xl%Ï0 ÃÖs0@¯£ Ô^ytÕx˜Ô"«4ï¨*\×{vÕ¬£'JÉ¥K?*ú{$AaàŸ û5ÓS‘ç±~ÍJnY|xŽ^ ¾è~Xü—’ûB<ÃæºèYÄ#¬äY™ƒ•ÞQÕTV íºtÙqڣǧofPEÈytöNžŽ£ ^ÞÓYj‚c¾y‹Ë‡V‡§“åBñ¡~ý½ä_J†AgÆ»•¯ç,PÁ†ÁY¢„" ^ -ñ¸¢š·w*´ ò3 ßè?Peñô¾­t‰Œä¤×ò®ƒÜôª°êuÌù˺­ØiÑ›§/z`ᮎ”š•v¦Ý{u#'¾º±ŠðÈö}W¬ûj¼<ÿ÷ÜÐÏLÑ}bLFÏL9'òÈ™»:"_ÎÌN¿¢*¼ \.«c ûå¶ønÜÄ“kg_2m$-<[¿q-vΛÒ÷ìaíŒe²SŸ‘m‡þÏD\£fIMKMz×?§nY¶—Í# íLl}G7ß³húàào39Ë|K}œ,j3¨—±ä1!ôáVD¬}s¹Ïñ‡NUp  !YUYêmÜ¿ç>¨¶n­b¨A?°;ÊÉÏìsܾe¿`;W’‚càpã3›ÇSž?¥w ]VFJÒ¹Ž:ó±O‘‹¦îÍr[¸j˜©D¥0åö“üM»¯1Yvñh7 ¹ŒøK/EŒBÿ%ãÎ…‹7 {µœûÇzlkÃeX-¦yIDAT†­n©Íì:qôr'oµ<Šß̦‚q Ã"JÂv)Œg—u˜}þÜŠÞÜèåÃ=];˜¼îDüÛ‚*ÞþxeÇ̾íZ¸ ßÒzEäù9-å0„k¸Ï°JÞ0Êî‘§¹´ŒÃœý ;¿_ïݪUÏÙ—4FNl&[üv’u˜²°¿Ê¹ñní{Z{峨f!aÊWîÜqoѦÿÊÖFUºÌ1{<úo?{Çôêâò¿ñËC¯¼ü^…òà˜ _àgzwžkÏ€åçÒIÄ6uäÂúÚ÷7õñèÒÿ?\­ÒB(óî?KGº9u²ü¦þÔãVuVÅÂÕ»Ni‘òwàØÇžåf£¶®öA‡ý::vŸrœòžä¢X\ÁÊ„„d›Ï_ê͉]àÝÍ}ðô a o h„˜¼—W#£c+éLû Að‘}˜=øs¸g{ç^Á‡Ÿ 5ü5<)N5!YcV¥(¤æÚ» ÷É™- 'Ž™µá¿×ºCÖ\ˆ\ÖN1lóq{6ôCû;Ú¸Ž?Bõžîª„ÿ8.RvöwSÈê÷bË+Ú¡ÓooÜÁ©ö¯öLôruî6rîΈ'_Eeš½ªë·¦Ô6äÜÝWŒ´x¾|ÜÐ>^^Cƒ–}Š+0BZ©óê}Ó÷fu±oÙgÙ=› £y?²M¦ÄÞ«f‹ú{7rÑ A«^ÖœLúF3l³À°¸­:w×òìØ®ç˜¥/¿È¡†mæoÄ*û<Ñ—Ûû¦ìÚÎÑ©‹ßÆ—–‡o鮊**¦lÓj‰ôa”ó8l™_gûžÁÿrŽ\Ý;@—`†Áu{/Þ6}µwÛ}§LÉ_ ~õÀBCCÝ»u•hÛß‚Éëi1V64ù˜»FÝ5<9ß¾9Ú£‡—­½ýo:ÂåÑßÌ¿ýßP0t1™§{ ¦h„ÞÝî"¦OlÝÈÏÏ[¼`þÂ%K³³ÄMch¬„Bá…sg{ýÏÇ¥2ûuà  O;êáᡤ¬Rö!(’’Þ’±7ïöqb ¤SVþÝY-º\zõúlëjœÍŠÖ†^íÑ©µ½^%·v/D\¬¯3Ö4%f…,ÆdÝ=ÿ”Öl¯Y?GŽÃvš:‚Å¢)ªi}ˆmÈ‚)…Ã&(Šfa $ï,aEW¡‡fYU™E òNPçÈ´èÓ÷ÙæVºÄ‡„kBNQ]Ö ”°whíâñxU\ ÐIq¥†€ÅbUr äW%‡¤×wL©.³ÕÁa’?òNPרÌ'±¡Kƿʢõ\Û‰__+fAAuç4 )«’7S:HY ¦@~tͬYĤ¤·mëüòŽ©ùœÉð©ë(3y—íÉéu„8„¦Û‚ãn ê: L¯Ñ Hi5j=¬]ÜfKîX‚jïÖyÞ @ƒAQŽ7„ÁY€ß)ëëWee庎¢öÐ4Mâ>ú @JÉüš­¡"WkñÔ9Š¢ \Ò9!ï¬c†¸î·lÉWDu&åÙSmmš†9h¢0İY¬ÜÜ%%¥ºŽ¥ö|üøAII¹ÜëP ¥8ÃaÙyBueÙ²6V¯>fi¨È³Å/ú] òÎ:ÆbsìíÑQ‘šfæ–â¿BIB$‘ Öþ©]M×—Þ “——WÃ}dg=qô¨—Ooaý(^@íà ÂÄÔìÖÍ[NNmÕÕ5p¢òɃD"‘¿¬’$)µÛ¡ Sy'E„„‚۷n »œ„ ¤eYÂD_ûÌÕä^Îz e—¤.‹QT †’—R ¤¤U BùÂJzmbË- Ï^Oq´7S•“h.-È;ë—˵”Ïœ>ýþýš®Â„ë!.—‡•YÊ^ºØ,«²l˜Á ÿ«&‚ Øìß;€Ç0.¯Fs3aîåãcie•ûý»´¢4,Á200 iúÞÝ;YYYåO†±9’®QW‹ ˆ2­h †U:%7‡SÏ7ÇYìÊ;$hÖLSKKF¦œÇP ¥h*ß5UíÍ.Ýyù1ó;E•_ 8†q9ÕIÀXÎ*Ë2ŒsüÉ”—%WŠ`lV%Ù$ƒ£½™®¦Šº¼D gwÖ=š¦MÍÌmll±z5ïnƒé]K† …tÐı9SS>Ÿ/I¯¥­X=\†Ã0›UnŽU ä×G‘±:[§ª©ª,¤¥Y†ðúW!Gªr¸º<ý;aA°žÜ’ N°dåàêùHI†4 „Z¾úÔÀ/È;@m€¼ÔÈ;@m€¼ÔÈ;@m€¼ÔÈ;@m€¼ÔÈ;@m`!„.D\¬ë0@#÷0XÛLéµIEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_main.png0000664000175000017500000050150712142400477020013 0ustar balakinbalakin‰PNG  IHDRdÍi··ÙsBIT|dˆtEXtSoftwaregnome-screenshotï¿> IDATxœìÝu|çÚÆñ߬Äb$8 A´¸Sœr (5J©÷ÔåÔÝÞÚ9u£^ÚR(RÜݵ@)nAB€#Y™™÷M–8›d7¸¿Ÿ³§awvæšggwfï}æ…<;wîôÚµk×8«ÕzШB!„B!„¨Œ4]×÷yyyM¨_¿þ7mÛ¶µ(‹-ªššúg|||«øøx|}}/mT!„B!„B;tè«W¯¦OŸ>]ŽÕjåÈ‘#9rd³ŸŸß¡C‡7ûöïÇnWi•”ÄS?JÍÐPçóZ4o†‚ÂÞ}ûðõó¥}ÛvÜ5~ÑQQeæÖu…‹—0ñ·ß8tøááô»¶co¹¹ÔcŽŠæX³n=?üü3ÿìÞƒÙl¢URK—¯àñ‡â†ë‡»éÕ¨¸’ š¦a±Xœÿîß÷Z¼½½yâégøö‡¹qÔÈB¿°Íœ3]×¹cì­|óýlÞº•ääcÄÄÔvNÓ£{7|}}Ù½w/‡¦^ݺüµ}içÎѼY3¢£¢¤ #„BäQÅ¥2F£ƒÁÀŒ3¸îºë0Ô¯_»ÝŽªªÌ˜1ƒÁ€Ñhty?+—½B!ª±—_{%Ë–S34”¤ÄdffqèÈ¢£_ª÷íßOòñãDFFàíå;˜2m:gÓÎñæ«/;ç³aÓ&ÂÂÂÈÌÌdÑ’¥,Z²€ðZµÈÊÊbÙ GŠ·_Õù¼í;vZ£qsðÐ!æÌŸÏÖ¿þ⇠_è˜(ï¢àñÄo“'óÁ‡c6›IlÞœÃGŽðùW_“““ýwÝYêúV$çÜù xéµ×1 $%¶À’kaõÚu€c€=ýBטb9ÝI×K(¼è/¾Ì‚÷Ùívºwí‚¿¿?™YYœJM%"<pofΞC5hÛº5'SN±eë6þœ=ÛÙËÀËlæÚÞ½˜1só.âÎq·°t¹ãt¥ý®-×`ƒB!ÄÕÀ•‚ @xx8)))¬Y³†=z`2™X¹r%Š¢^®c 9eI!„¨ÆÖot(^zþY:wìèì]bµZÑuW^x£ÑˆªªäZ,œŒÕju>ï|NN¡}»Ñh$(0œœÔ¯·—6›à  rrr¨Chh ΞM#'7_çssrrœ_øGßpë7ld÷ž½ÎùëEzž>r‹ÅBDx8õêÖådJ Š¢Ðºeó.b×îÝ\Ó¶m‰ë[Þœ{öîÃb±Ð$>žf äæ]yHÍ;¨ÒÑKÍYTVV6m.õµÈÉÍ-ùx©Œùæÿ[Óµ‹öÐ4”S§G üÇgÍ™8^ïu6ŽÈÔÓ§Y»~:´wÎ#©Es¢"#9šœÌ®þÁh4râäIÚ·kGHp°ó !„E¸ÚC&$$„¦M›Ž|W®\IÇŽ1 4mÚ”;w–«(cǯ1YB!Dõp÷ø;Ø¿“&OaÅêÕLøî{~þõ7^}ñybcbxò™gñò2sïwE@@ÿçiga¢ ‚ ƒÑˆn·_(h&£)ÂRó˜ò޼Ì^¥N“™™ @Ê©Sô4¤ØãgΜ-sË“Ó×׋ÅRéSqÚ´nŶ ëJ}<77·Äe˜ó®†”žž^ì±ÔÓ§ð÷ós)ò+8—7ÖKþ%5³²²X¼t§RS9•šZè9³æÌ)TÑu!ƒòå„oX°h ¾¾ŽâZÿ¾×J1F!„(¢·´Þ»¯èýùÇ ªªòÇôé4MhRì¹ÙÙçñññ¡nX &“‰gŸz’ÈȈBÓÅԮ͹ôt6oÙ@—N1›/\ <9Ô¯‡Édâà¡C,\¼„Þ={\ô¹ù9‹²ÛíØíö—S–úõë0}æLztëFÃõ8pð S¦M iBB±ž:ÿ¶Z­,Y¶ŒwÞÿ/·Œ¹ÑYüY°h1V«•qcoã¡ûïs>÷üùzõÀò•«HKK#$$ÄùØ€~}ó 2‹ Äl6Ó­k9ÞB!J (ÊE/U­iv»Ýy5%€† rêÔ)f̘Á AƒÐ4 MÓä²×B!ÄåîüùóŒvU%>®1&“‰={öÐ2)‘æÍšƒù× £¨W·Û¶ï(±wLeÜzÇDFFpàÀARN¢aƒ 4Ðù¸ŸŸ/g΃=FPPŸô!£F\Ï/“~çÅW_#¼V-¢"#ÉÊÎ",,Œÿ¾óìøûož}Ñ1èðü™30›*”Íd2ñÐý÷ñÞÿ>äù—_á»Â`0pðСbÓÍùÙ‡ÿ«Ð2‹êÙ­ÑQQ?q‚[ïï(Œè:çòzÌÔ‰¥WîÅž÷ë¤ß™9g™™YÎ^E÷Ý}=»ws‡fæ®4¨?²³³Ó)ŠBßÞ½™>s&ó.bäˆëEEF:/}úÌzõ蟯¯ó !„Eä÷¹ØYCv»ï¿ÿ]×‰ŠŠ""ÂñƒSTT)))|óÍ7(ŠB³fÍ\>IzÈ!„Õ”ÕjåÆQ#Y±j{÷íÇËËLll,CàúaÿB×u¾üôcþ÷Ñ'üµc;ïú‡vmZcµÙX³v]…{È=.ðò2³eë6ÂjÖdô #¸÷î»@×ãÔÞ9no¿÷>§Ïœ! MÓxäÁÓ ~}f͙˃Ù·?áááÔEÓ4”bˬhΑ#®'44”'þ¡Ç‰Œ':*’#G“ ]ù¨hNwû ¾ÿúK¾ùþV®^é¼1`êÄÆÐ­KÆÝv[á«=åÉÈÌ$#3³ÙLlL mZ·â¦Ñ£©W·Žs< ò÷®h™˜HtTT¡S¦t]gð LŸ9“?gÏfÄðaÎÁ˜UUeÈ lݶ €~×ö–«+ !„%pµ c4ILL?MxÞ@üE+sÙ'NÔûöí‹··w9c !„“EÁl6c2™œ_èu]Çf³a³ÙG1ÀÛÛÛÙ5VUUçAEVV€³øP°w…¿¿?Š¢8§)x_vv6º®Ó¹go6®^‰ÙlFÓ4TUu^á)ŸÉdrGhšFNN@¡ì€ó´'‹Å‚ÑhtŽÿ’¿¼ŠæÌÏàåå…Á`@Ó4^|õ5fÌœÅk/½HÏîÝÊÌ銢àåå…Ñht®oiíååå…—Wá1xò§µÙl… 'ƒ???TU-1o~;jšÆùóç =f6›ë›››[¡Ó±„Bˆ+]zz:;wî$8ï‚ UåÀÒCF!„¨®t]Çb±`±XJFUÕb_Ä‹*x:L¾‚޲îGÁ¤¬_ ˆ ²Z­…®üTÝn/–«¢9- £Ñ™aÿ,Z²EQˆkÜÈyŒSZNwÐuÝåSÅ.öš¤ªj‰í’¯¤vÌWVû !„ÂÁÕ2ž !„B”©º'L1ƒÏ¾üšØ˜t]çhr2š¦ñ¯ë†P;:ZNÕB!D™.yAF!„ârT+¬­’’ؽwšª‘Ø¼9½{ö`Ô #\î‰"„Bˆ«S~1&¿§LU’2B!„(Ѷ ëǹÕÕù8¡oŸÞ 8ÀùË–¦iØl6·_mJ!„W???BBBÐu½\òºƒôB!D‰Òó.Û\Ýyrl!„B\ùÂÃÃ9tè!!!ÎÁù«‚ôB!„B!ÄU+$$„ððpNžú4ïï˜Î𚊇SgKYÍ~Ê3ײ;%Ý?œzZÒgôÜ9ª uý<[gÓÏüÁæòó~êX¹l-ðÚ7(±Q/!ëIÖLüˆœÏ–}ɤYƒ¨Ð”¶Ã^䃷Äß‹t´ÙãÔúõ/¾íà%xXÞûý‹¤Élû¼s±6:¿îZ]ÆÈù«y%Ñ碳ÓÏüÁħ©;y3ŸtôD‹ !„B!Dõfªì B®ûŸˆÇËy‚9¤>þ˜©7úM¾èÝðJ/ÅÌtzs/µñ+pŸ¿è—Ã'á>ú<—VŽbLæâ[izs6_ýãéb“ÎùŸq˰WYЕÛïù?žMŒÆ'ë{·¯aþäïYÙ»#uë\êŽOÕõµlǘ|ßµÜ?Ó—žãÆñü±xg$³oßa´¸H¼]žÏ>þÛ£;? œÏªg›x^›žjÏàM°aîíÄä­¿x O~þ!Þ /V!„B!„¸òUúë²O­Æ´HL¤¤¯™!-ú34ïï¬Ê.ÈmL„4hNRbÅ{)˜Â¯aÈЋOçnzæ:^½õUÖ7y†y?ßOË  …—®ý®gÜãUŸ©dÆB¯}u’»ó3^igðw øªhÕ³çC·¡1Uµ4!„B!„Õœ§,UäæPÚã9ly¶%‘Ý>a¿U'òbÓY³àÍ›éžX—ˆÈF´ôßoKG­`¦2o€îQætÖSkùâA´‰«MDls:xªŽž·®™KÇQ/jSNg²òž8Y€U[ÍmqQDDF‘ðèz²Ýž_åÔü÷ùéT^ýä’•²§ÏÝÎË×Ä3ô•W×£)Ñ‘Q´}jçm'™óÂH:7«GDdµ›Ðõ¶wY–jÏ{n&ËîH ùÍOsÿ6Ô‹Œ"¢A[†>ö#e¨yÓº•#³Þá®miEd\wƹ ­¤×^G·ž`Éûwpí5M¨KÓn#yvö lºŽ®fò÷¤çÕ³ "£¨ }ÆO`¯ÅýÛ€z>TÎgå\dSÉØþ=ÿÜžÆQQÄ4íÆMoÍ'Ù¢c;ü=c»òæ~£õ¡Nd‘ýùéðV^nӀߧ¢íx†61QDDÆ2zA:Úé?Õ€Û—f¢[ðqÏxú=ó^ß™&±QDÔnJ¯OdOÎ… ö´Í|ûð`Ú4Š!ºAŽ _“8n^œá˜¦ Ûí¢ïwœoð ùϬå£ñ}iÙ ŠˆzIô¾ëVŸ¶]Ø†Š½]Ùöä&7¹ÉMnr“›Üä&7¹Éíò¿9 2—ŒžÅº¯cì$nþh.ÖLâéøÕ<5æ9–žÓ.M¤Ìu¼4p¯ìhÊÃ_ÍcõÒ‰¼ugW"KœÚvo.gù‡]0Ñš÷–ndó¦,~¡%¾nO–Åöië±¶¸™þµ]ìØ¤f°vÎ1’úŒ?&Mà¹A1˜5š æÁw~`ÖüÙLùd<«ßcÜS‹9çJÈJê¦ã$Üÿ³—Îá×Wúrþ÷'2þW’ífŸrD¡ã¿?âySùd”‰Ù/ÜÏ{¬%äHeö}ýUÝŸø’YKçñÃK·Ó¯E(& kͳ {p*¾£ÞcÚŠU,úå]žH°¶N¿V÷òPGÅt£ßÝoñËê#d—°©Ù“áÖë^aÿ5ÏðÛªõ,úd89_gì×ûÑkßÈok'qoˆºígÖlÚÈæÍ?2¬vSž½’o‡×€ÆOðçºlÞ´žOº–0ÎŽšÁÖEG¨3úu&Î[ÈôÿáüïOðÐ/G°Øö3á¶‘ü_ê >Y¾‡Ã;ðíãíÉ=w¡}«²Ýœt»Ý^ÂM§ÐHTÖøßõ7ðQÖÞž¾† 3ߤëþ·¹ù©œPËZ€kÛžB!„B\î*}ÊÒÉ ©7¡à=uyxñ2þ“pñçª)³yë—†ýðŒïê|%æé§ùù·‡ùfãkôêã‰Yr˜=:®H¥-Ÿî˜Îðš:§¼ËÇyqõëÜ\Ï1mƒ°“Ä'`)6/¯¢Â|14jFEí©1d´RO[ðŒÄßù…ûñnj¶b|¸÷×U´™ü5Ÿù \ÿ!„µfäýÿáéq]ˆòÈeûçﱡÁÓ¬~ú:ꘀúwóâM?Òïç¼óâ¢# 60E}¡}ã0að !*:šè¼w˜^ìœ=…È>÷rÿˆ–ŽÓýââþ¯à…U‡É½½ÊæOùhG+^^u'í#€/qm’ˆp\Åí–'súhâ§—öh”3[úªøüp'ÞùýAú†€º<úü~óKS¯gtY=—±í=™àUÆ…B!„âòá†A}ÿÇ÷Ç_øBjð%¢J(_•{`9çžeÍèæL3æUt6Z¥æ ä.óÿÛ• ‚U$c µ¼ut{‘1Sœß>òÿδäצàü4rÒsP56­ôí°JÛ-o]¼BãHjÕªøe¯maxXgÕj‡1áÏgI*X½QÌ×2¡§ëÎvÑ ¬ ËÛžB!„B\æ.é2^µ[ÃQ–oµM´óEMŸK͛ڭêÀ‘e¬>îú€ŠÑŒ ÛÅ;§T‚‘ˆ¾2&j/oßñ*‹RŠçÓTÅ`,óEÍÙ=y§yæ­;éÖ A~Þ‹w[)BåÔŠ©ì$ŽÊ?:ŽOLK¢í;˜¹ù\é6ƒõ:ßÀÃïOeíŸw¶é ¾Øš]îeUŒŽÝ®‚D˜ŸL¡4iämÇ2ŽúFØ.£‰ŽĬ1Aµ}Œ&h6*>䉉ˆÄx|ÍbÞÁÆä)è’¶[iÌD¶¨ƒáÜzÖœ .Ü~Qµð/Ѓçâõ•Êm{B!„BQ]yðä†ÂŒþ5ñW70uʼë†Ò¼[jÅþ‹÷ù€ÞÃݶ縣W!¹ÉìÚI“ £EÐE+`ãÜþüR° ¿è8†y9à~½q/ßþ¼^¸…Ž1 'ÖÌd¯ªS§”9zÕŠ'B›À¯ÓÖÓ¤‹9ƺ4oèöj—Ôç¾yŠ®››;¬bà73¸}cÂÍX?O?ÜEØ Oa‚Òªæu©¥Mæû ‹épG#N/ÿž×?9€Ô«ð„)ë™·¬ÝûsfÃϼôÄ2BFýȈ:&H+_n¯F£¹«Ý§™¾µ @ íî»3?åî›CxéÑá´©mâôÞ¿IöïÎÈÞµ1›BhXÛÄñù°d„uìVj&4%ÂËLXãHô¦1uMW‡æ¢F·(çØ. !]f|ü}Û#ø¿z½ãý9³amzÞ¼ìUÚnåc ¬÷ƒÜPë&¾ºåv¼^ºŸ-j¡ØÍ?©QôÑ0sÁ¦ 6ΘÅbK­ºÐ,$ïéem{B!„Bq…¨Ä)KþSø” \8CǧÙ8ê5žÏšóK§Ö„yG2ìóyø~ø2ïýô$#ßÉÂ'¼ -ðŸ!ºîÞ’†c5í¬yözúy¬ñ3ËYxÌaøhî—¼óô;¼wû/¤êa4ë;ˆv1¾œ*r‰ªüÓ8Ìnå¥qKxäùató‹¥Ûƒßñ}ÁquÜÈ?ñßü¶¼?~ô?N~‹>ÍF3øÝ¢+CߛͿ¯O$ÄPä4¯©áx¾xç¼1Ž®ŸùS¯ãîx¸+{¾/²ni[øõµÛyùŸŒÑ‰ô~üw¾¹³#5”¼Ó´œë_¸-ŠŸ†££›ê0öÇÙø¿ñ¾5– OšˆjÖ‰‘¯|D|?È=Ìüÿ¾Ï›‡3°a¢fÃŽŒÿêSŒ7»ù B»r]Û#ü9w ~ÈB ˆ">!‘‘o¾Â£cÚˆ‰y IDATc=|“ždÆŒh^{íkÞÿ=gÕ`bã›Ñé¶öŒÐut‚éúÌÓô½ãmn¿ö;j6¹ž~ÿ?ú„ˆúüyŒê͇á-¹mÂ$^¨[ Í ¶NÁSÄò_1]G÷iÁc¿~‡òÔ+üßmyÁD£ö dl÷*k7.œ.Ud{rÞ[ôtªàî¼=g" _y›_¼•OÒjÖK ±×ýô®£´ã¡ûÚrÓ0nq_^Ô‰¦Á®m{B!„Bq%P&Nœ¨÷èÞíRçÕF+îjͨ£/²iæMD•6¦¬¨rzÚŸ K|ŒZ7óU×¢c ] dÛB!„B\–.[~iÇB¸J'}Ë*Èäæäpìø1vlßÎÙ3g*2‹2 ‚ƒƒIhÚ”:uêâëç'y$ä‘<’ç2Ìã)Õj=uÌÌ ’cÇöm¤žJu{£ÑHhÍP[´$®I ì=~µjÉ#y®°<Õ=Ÿä‘<’ÇsyŠ:ŸÍ¡ƒY·n-§N¥ ªžùQÆ"£¢\žÖh4Jóæ-hÏÅŽC¤]\WÍf娱clܰž^}®%¶N]L¦ w´)‘ÝnçðÁƒ,Y²MÓhÔ¸1f³—ä‘<’GòHžË(§T·õÌÉÍ%9ùÖ­¥ERI-’pw×!EQÈÍÍeÝÚ5øR¯~}ìy¿@UÝÚGòHž+)OuÏ'y$äñ\ž¢¬ `é’Åô8˜˜Ø:Æ èz¥N×Ö+ù| ÌÞ)¿Lü‘ÇžøKó±Ûí>t… æáHÝzõJ=‘v)¹]JSþ‚ŒÕÆŽíÛéÕ§õ4,ïÓ]b2™hظ1[6o¤víÚ˜ƒKy£JÉ#y$ä©–y sßø1Õm=-¹¹ìرæ‰Iøùùb4™0Ü?D[€9€VmÚò×¶-4jܸô‚L5kÉ#y®¤<Õ=Ÿä‘<’ÇsyŠå³ÙX¿ný¦IBS|}}KœNQ”*8Ç»¢Ç®7ŒF# 6¢—¦±mÛ6jTÆCÒ..ÌÝùW¹ 2º®sî\uêÖ/ïSË-($MÓ±—qeÉ#y$ä‘<Õ3OQ6{ù~1(Mu[OMÓ8{æ,-šû`21M þäFf“›ÕJYÇÕ­}$ä¹’òUÝòIÉ#y<—§(MÓ8u*…ÈÈ(ª¤¸ànåím|Ñãi×äW¨Ï—¦i…»yˆA1¸Ô’GòHÉ#yªgpûÙ;@õ[OUU¿ô ŒFdP4M¿èÊÕ­}$ä¹’òUÝòIÉ#y<—§(UU1 —eÑ!_¹ÖYÁ¥ãi—2&-2Q¥NÂóô%LóçïêR$kÓ{Šäqmþ’§ìùKž²ç¹æñtOÏß•¥èºº{Îm¾XWÇŒ«NíSpzO‘<®Í_ò”=ÿŠ.¥ºå“<®Mï)’ǵù_®y®%³lÙ²…1cÆ0qâDZµjUdú¼?.ß:‹Kª²]*tB•»Sº˜‹­—ä)›ä)›ä)›ä)›ä¹4ªÛzšÍfàÂÜ“7WT·ö‘‘ÉæõË™0g+×^Óš ®-¢²yаåžfÓäHÇÔyÝœ§4OïÌKýg“Ý£ÊòÌšý'wÞq3gÍ`㦠´iÝÖùØ‘#‡èÒ¹ S¦þÎððXž“)'éÔ±‹KÏ^µz 4*{"7´Ïš¹˜ùõÓdg¥¡c =r4;&b08Þ[š¦³fÍ_<Ôß ¿ÀP†ÝýíúÜìö<à©'žqéÙo¿ó .{"7´Ï²=©Ì~´ƒ‹ópü¿<®×óHžµk×ò /”+Ï+¯¼Â³Ï>ëö<“§üÎãÇ–+K¾ _Çõ˼×Ê•ÇSÊþIOOç?~Ž©fC|KÞq—¼õñ2N¥ðÎã©Y³ŒÂL9ÖÓQˆñì)KªËz6à–÷IÊô7Hú,%ï*º®£å¤‘{d 'g½ÅÉ©/3þ[¼#]ø2í¦ýÐÁC™=w1 iÞ²#5YÓ²8tø(_}ó5û ~½‹sÝ”gù¶d^þnÍGÒ¥M}¢B@×I=wžIK÷ñæOëy|t[®m[‡i+÷óé´m ïÖ¨øüÜ”GWUfŒ‰yÏ~ë-”¼/Jº®ƒª¢Ûí¬š8‘?®»Ža3f`(íîËz?}ñ|e2™°Ûí{ý*ÊyÊ3€jA&“©ÊÚ'ÿõGAÄåÌnÌ“ßK¤´eç+ÊÌææö)Ø.yÜ]yÊÛƒ¦ÔL•xÿ{|_ëIºŽ®;.ýÜóÏóúë¯qÛm·pï½÷àççËsÏ?ÏÌ?g8¦W@U]?.ºly°]Šrk°;w2`À4MCUUþÚ±•£Gb±XÇ‹¢ª*š¦qóM7“~þ /½ðr‰ÝšÌf3šZñò\êQ–,^€]7pR !Ç»F“™1ý:1zÈ@þ;e%ãžûz^g‹=·_ßôëÛß­y ÊÉIcÛ”HÚ_?…uS®¯Ð<Ü™§,co¼‹—~È+æÒ<ª[•ä±X,ìÝ¿›>}ú²jõ çýÉÇŽLVv&'N/sîÊc±ä–XôÌï€âííãÒ|*›GSíLÿâq· ÙÚœiqÒ­œ:•é,vjš†Á`ÄØävÚ„ì#Òx”?>}˜¶½Ç (…ÏP¬lžüÙôôseNâÒüªj{.¨¬…;óœ9sMs|¨ì¹T°Hm4 öxžM›—úXff6þþ¾ääX0 øøxÓ¦u/æñ”Õ73ÿXCŸ†­‹×ñÅ7߲Т°cåR6Üñ6aCè0c>ßµ £}‹f%Ô•g=󻬿e\Q+m6=‡”P×öF£5o[ªܱhv ŠÚÑyŽ;Åè‹_d þ•ìÝË9ðvOêÜ3ÿøÒ÷AîÊsäèa,ZD·>×a2›Ùv$‡GÓQ?/#Í6¦Aýz,X4—k{÷.³(ãŽ<O¤óêëÒ£)5B|1) ¾^øû˜hB¯V1œ:—ÃG“60må>ޤda4*%¦íŽ<ºª2}ļ÷í£Ç˜1Ÿ?Ë™3…¦ñ ¤ýàÁ¬š6iÆñ¯©SK,Ê\iûiw(ëKì¥ÊWZ¦êÐ^y"OÑu·Ûí/4¸9+Ë˼*·Ÿ²Ú•ÌWÃös9Ð »þœ1Ýq_Ô[o½•[o½ÕyŸÉdBU«Ïqˆ§Te»¸µ c·Û±Ûí¤¦¦:ß„ƒuëך®cÇ/Ø÷Ýw?_|ù?Oü‰ÛÇŽsgV.žÍsOmhܸƄ††òܳ2*ú9ç3±Û¬˜½\; uUÁ®]»Jœ¦2§Þ¸Óàÿm,vß̇ږ0¥ghšÆž={ ` R¥ÊÚ*#ãL©Ø £Ñ@ÚÙL22²éЩy•dr§ÜÜ\ÞÿèêÝtIMÈ=‡×,á¿¿üÄy Ž“Ã|”ûßû„ãq øvî˽gSi1u9_ ¸†€€€J-?^RAÆ×rÕ€Õ\Ó9uHÖj]ådÈ¿ ¯hjVÓ1ÙÏ‘ã]·øü=ðkSIή~áp ì¹þiËAÏ= éûñ¯›DÜãSØûÎpê?³ïð†Ka±Z˜9{6]{áXºNJV.‘!~Ìó:pCßæl8”Kt°ŽÝû3{î Æß~‡[O_*ê÷¥ûHhÁñÔ ¦-Þ‰ÅfÇÛËDBÝPº´¬Kû„HbÂüyçžL^º—Û·ä©O—xd|'Íngƈøl‹/àܹ4âââP0°ÿÀ~:´ïT± ÈÆÁÃÝ{ŠN%òd[ ((]×h×®xa!00‹T½’‡äeä)øÁS°˜püøq~Ï«dþÂùù³qÛ§¨©Ii˜{¸Šòä‰(t Ó½÷ÞKíÚµÝwI@òÔ¯_z‘¥nݦ(Š‚®ë…N3­vÊXOMÓXŸeÃú÷vÆ5!÷|6·Ü>Žl‹ó#]WÇÝÈ=Ûö¢F×Çj³3ÍzŽ_Óˆ¸ dEqê[»)„Fɯ’å—@vP;BÍi˜"ÛCn Ï~Íiï¶äþMPöVöG?]îU¯sí/’Ç`òB×T u:îÐlè¹gÐÓþKú‰˜ÃÛÑàÎÿ‘üí4xªô^^•ͳqÓFj7h3ÉçrhÀ³·ñã³ý¸éõ¹ ëÕŒý©¹Ô®áOLÃD6lÚ@—N®6SÞ< 6EÁ®jx™ Œ”Dÿöõ8p<ÏgüÅ꿎r×uIÔ ñã–¾MÇ©ì~ÿ–‘gúðáø=J·Ñ£9¹x1öðpÌ#úá‡h[·`lÑ‚ çŸ'û7HÙ¸‘.ýû³bÖ,fŒÅÐɓݚ§ *ÛOå¦÷›Û¾Äºùý_é\—ÙçQ¾‹­·Û —iûTò”·`ån¥íÿí'gòèà»™¢ôជ>à™¨LV}ý&OôÛHò¬é<‘ä_-.TTž^½Î'¸@ÚÅuÔ·¤_UUÅnWóþ{¡ëܢŠ6Õ³G¯ ƒü(Žç•¸Âå4¨¤þ¯þ…¾ó×ÁŸ?E§Éï!Ó¯_?~ýõWÞxã |ðÁb=d<•çÝ÷?ãñGË7ö+¯¿OíˆÐ o?žRÚzúúúrO×v¼ŸëÅ_íáô/Ó³e"cÑÝNÐÒe¬ï2 [‡þ ¯Mã:±•xŸ.Œ!SʹîVCþIû©ÅÖE©ÙŒ¾ ¦á“¾™è­“P,)dú5Ãb -qÙåÔ·<ï“’¦sé¹nÈ>äi¶ÝãÔ×NDϱԺö>ôãËóŠ2«ñ©×³Ûæ˜XJÖJæ9t4™æ-;°ùp6uÂø~æV~x¦ß…Ùk`Wu‚|Ml9œMRÝX¶oYMçÒ–ë†öÉαâíeâŽ!mø}Ñvz´Š¥f5ƒ|h×äZf¯=Ä=ïÌãÃG®EW Ćùá8qÿçþþ¹syðÍ796gÖ´4ŒÃ†¡a|ê)ø¿ÿC±Z zí5¼ÑûöåÌÖ­œØ¶.ðå—_º=OAU¹Ÿ®H¾²˜Ífl6ÛÅŸïÁýd…r¹!Oe2zj{rõõ°Ùl˜L&l6[i+•ÇåíÂÕ\Ú~ .¯\™«`{öôjEQ0”T0Ò3XùêL±à›ïÓ/Ü1M¿Þí Ú‡7ûsï¥AÕvØ)QiÇ,eM1Ò.åãöS–¬V«³ “ÿ«á Ž/AE¿P꺎¯/Ju°ŠŽ“OÓ54UãÃ{:òàçk;z»%77›¨@µ;´£aL$?Lþ“[z5BSµ2¿2y6O vc #:àå틦9ŠUf³7vË 2RgâëET½0Nüõ 5Ã&c6û¹=ÀÑs»˜¹óc®IðÇ^—Ì´Eœ×½Èf9Ø~ž•¶ ËXsh2co¼‹G~¹–)·ï¦\Ù< 0˜‰¿þDóf-ÇÝü<ñ2338qò#GŒviîÊS³f˜[NÑqgûäëÚùBaL×5çöäŠÊä)ÚCæø‰ãì^¸‡ø¶ýÙ—áG»øZx™Œì:šFpÓAÌ7‹ˆðHj×.½×—'Ú'ßãïäî/¿Àkàu.?Çy~úé'î½÷^âââhРŸ}ö ‡ÁàZÍÊæ±Ùì¼ôÊ»äæë…~ñÝGYÙ<ùzUF¿Þ½Ø³h-k㻨éèII˜‚ o4AV–Û c`Þ|>½q`©óse=ŸzÙ—§ÎhKH”ÈN eýºýº®„ºêG2¼š”ùH-Ç{¼4E¹*é—¬‚÷•ú…ƒÊoµ®{ŽZ×=wa~Yg9þÓ¿1­ù™-û¢Ëësv=oãä’ ¥d*™çtj 5Hßw†šª†ªëÜôÚ\~~αñÜòĵü÷¶É,H¾“»ëU‹ÊCù ºî±Ü¤]JTáµÕTÇà¡å!óåj\» ‚ÿÅàçç“7@qÞÿ…»°Ž½öÜL¦¾V¼ë¨«_.KÊãX†N!Ølõxo¼Ç¾žÊØÑÃØ{(€ uyïÛÉŒé^Ÿ¡ÛáçïWæ¥ã*“'qø)ÖM §ý§Q³ç¡ªV޾pUªÐÐ(çß™i; ‹½ã‡æ°}áõ´0Çíy¦oÿMjZð©U—¬sËð·œÇŸóDYÒ˜Š?ö"_ÆjÇðÝ/_òrÏä)(<<‚fM›³gïn¼¼½ !99™¦ Ípm9nÈ£ëpútj±DETz{.aÚü2º®£k;\S%yŠøÎ_8ŸÍ:³?ÛQ]ëàcÆ®i˜Vþ£ÑbßÿøÏü§„+¹!O>uûvr×®%cßÒ$åèQçc_Üu7w}®ã=x¨kËqãöœ––Æo¼ÁèÑ£ùõ×_ L?~ˆ˜˜U’ç–›nbÉ¢hDÇÄpòøq4M%08„Ìô4tMÃ×?Å` íìÇÕ»t€’w0å)þyBYí~K›&,_¶¯¨äf¥cöö)´ÍfKá`‹žp(•‰I5ʼҒkëé´^wìÁKéå¤QË|%´èÙŽsù°£Ø÷£ë†Fu =¸†³í¡„¯°::ª‹_ÊjŸ‚_Jú2Qž/%î|ŸB‰ñG>@h§[ÑóÆ–Ñ3à݇óû˾”¼;òØì{ŽeÒ©u#–®Ûã¼ßj×8‘–Ãy‹J¯k…ÔÊæYðî0ü|Jþ¢óæOز÷'Îf³lÓaÇ äXJ/€¸õõÒuÔÏ>C¯Y¯.]§plÝJêo i:ŽO½ŒÓ.×ýtyò•¦¼_þÁýï·¢yÀµBLU䩈Êä©Èëee®¤ö׊.%MSZ»^®íSˆv{áõ³Ÿý‡ýÙ5hÙ&¢È—mÿø®Ôçvž°@5(<”»'H ë[ÊŒ¥]\TáµµÙmhzáƒt›Í†Íf#Û ï6›µÄi»tꈦiŽƒ_]#==Zµ ¬¬V z‘7ž;_¯„„æ/œîW‹z>Á¨šN®Ý1.RŽU%4À›Ã'sYJ[†»òäJú ýòž{¸ë3 ï!Ü{êý•OQjÔ¨À¼yóòŠ1Ÿþ <ðÑÑ÷D___¶l^OãFŽKáîØ±ƒfÍša4Ù±cM›6Å`0ð÷ߣ£Ð¦UKçæ¶í[*µ={JYíîççK´½,kÒšu?ÌÀ'žÂzþB¯“içȨE\Êzönà–íRU?Jèšæ¼„s¾ØÌÔÈÙŠ©vW0ùí ( «i g£ë¹ ž€ >–c49þ§}®áD`á}iyμ°² IDATwõsJÞæªâs¶4z@-rNìÏ; ²ƒf‹†Á'[FªÇ>GÂÂj‘šžMš¾mÚ`2™0›Íx·j…o›6dmØ€¨V+j²ãG0wï/å~Ú•|eñ÷ ;;Ë¥÷YÁex"¿¿cì¬ìì,Àµ÷¾»ò”gý/ö\Éãù<ùÛHQùÛPiÓxú8«4žz¥¹ºŽž›I.Þz/Ü}Cðå<§³«Ç•ŠT»©“'¹<}Þ®É(íâš d ƒã<ù"_vTUÍ«€êØr0ý¢ó2Eúãè[x~®Ž„]Zp ð˜w€ððpÂÃÃùôß¾<òùïXl*ãú%0vp_ dggè¸z'òx{ÓdðQÖýKû!O°aög…'òUhÚá^ÒO~·ô’ÏÅtGž3Ù)(F…šç3Y½)›–´bÓ4ëé,Æ<×{: á=–§ Ýo¼É቉=~œ×öÀ8g!ñ‘lëÓ—Ø17÷ä“e>¿²y÷¦¹þË›ŸŸ?YYYyÏwïöSÚö_ˆÑ4G1£Øt%BáŽtcîÓÎ곇/éeމáêóÍǺZeF†å<ºz\C¦¢z22ÒñööÉ·‡³ØkÏÛÍ>¥‘‘‘ŽýûiqÜ­Ê–§¼ç¿­ Ã*ï ¼ÉàjzÉ(æÌ2ñ"ÂûæXOHQàÞAÎ…‚HK+ýý„]ÊBù2j5¶‚ÅYbÇ‘•$¡Ó”nP³¬ È–ô6_@8ìéÐëõT¯^½È¶fZ³yVkÀ²ÄµÁ` ;;»D^wè±hò§~Ÿól_žï”i2Ðò²š²ŸìŒóœÙû! Z=ˆÁä‰bε‘® žŒÜ|²Î³sï9þ’ý¸¿é«DWmOD`cXR™M~!üµ~?¯t^i×ã*=§gÏæØëoÐ 4”šŠBœ·þ\ÓjP!QS–1,XÈÚ>¦ÉçŸÖßöô“ŠëQ0›M(ŠLPPP©_Þê×o€Ùlbï¾½õ»Pm‡Œ9ß)séò¥¤…óºZ$I%¾ÖËY‰\Ì2àç©%ÀW‡l ~y"1Ê2 vŽÃzŠ ‘AŠ Ïš‰¾ßÀü2Üu~¦}ûöÄÆZV'“$‰K—.±`ÁüüüðööfË–-Ô®]Û­zÂ#j±ýßA’¨Ì¡C‡‘e3•‚8vü8( •*£ûöíËwÊØÒä¬wá¬Ýßd(Ï]ÕqhÍ"Ú?ù²¤™m©fzì_M›‰9vî9yœjÆšÎú†X,Ïeï®\öîBTÎx§íCñ0 ™Î¢(Ù 'ƒùH2Jr¹šŒ³,ƒ]\›¢”íf gíSä8Øf3 Ï“<š~—Ùñ(q;ÀXðµU¹ö1Ï`öŽòpùu­I“&,^¼„º‘5¹#Ò‡ãWs¹¯k#†¾a™¦{_·hE¡NˆÙdäØ <Ô­×5ËÌ6‰Ó×2Ѫ¾X¾‹ ÷6ÆÛC“Ÿ>Ç`æþ·6òèÝMØ{2YVШÜs2_¼˜M&<[·FouÆ$¼õrn.j xØ0<›4!çË/A­F¶:q\ÿ\ucîÓÎë+‰¯¯ééiå¹tÑù–§#¿Ürà =®t8¸BOzz>>¾ù¶) Gíy;ÚÇ…mPû¹KO‰:Ê’¶æÖhK¾N«ƒšÐ*$ƒ?þ¾€¡]ë÷*¤þ“ÓDð` ²Wærl¼ÛMï¬ÃMØÅiÊÿ‰ÓÆ ž%†ŒIÒ`0ʨ%ûýÚdVÈ5ʘd™\£9?‚vÑ*dgÏ zöîÝ[bÞbÞRuy¿'oj;ôä¡×ûso*Û—ý"îáßÿÆøTjέ ix×ÛHJŽÝ‹´+ôde§³&Câ…_Ú¹ˆ€¿ÖïçÍ¿S3°I©/.ÕsuÕ*ŽL™JTõêÄEF¢;|ˆ¤”Tú~1Ór¦M[Rr³15jL`÷£’s鵯–\9¦¢zL&3¦Ä;Qñ/o_ÏÃßÿ]™ÊÕýÇÖÂl¶8dÒÒRIˆ§{÷^vг]^EÛK«Õáïo¹œÞÓ÷nVý²šðV8}-•p£'j­†3—È6˜I8ðs~°I{]u~a’QÌŠÅ1SŒÇg}Š~À@Àñ*K®Ô#IÇŽ˯/ïÿØØXN:…OþÈ!U8¼ð+¼Ú÷bF]Û×Ö¢U”í8=ÏIÄ)‘Dì[‚ªe?%L@Nµ¼uçf£œËâŠgOÉö (>2Íx»Çççç_äo__¿i o³÷åǥ筕jO¯aï(š}— *-Šœ Š ’ Iã‰äžQzª=½Æå×5­FK—.Ù¼i-]ºö¡}=o.§Ê<> )à¥SQÅW…Éh`ÃúÕU äõioðÄcS·n]UTÜ>*«."Ø I‚žìÌÌe;Ù°ë"Oö‹¦AxëwœG£R±xã ’SÑëÔ6¯·ÕS#¶=Û6o¦UëÖ\\·ŽÄ ÈùçR—-C6›‘£Ã‡“¸aW,@Òh¨U¿>çâãѺá¾xïÓNè+ŽŸŸ?ii©r€¸â|«¨WêqµÃÁöIKKÅ×ׯÔ/Þ¥Ù±¢zœÕá¬.w\¯ —íèo{yÜ¥§,:Ê¥§4<£Ô/ŒïæÏbó£ŸÒ=ÈzOÏ9Æ‚6#·œNçª7ÉòâJÙíäôsHq„]lRn‡Œ¢äýS€ÙlÆ`0 I.'çžcÂdV0šdYAV̲‚Ñdù@£–¸˜˜Ê΃ƒÑhrò¤.©'“ÉÄñãÇ À××ËW5Ξ=KTTGŽ!**Š+W®ä£r—žÂ4Â%ÊÔxTE-û’~É3ÂîMÌzt$$Wíd³¬iÝ#" Æ©—Šê9úöt‡‡“{ÿ0Z=ó §[¶Bãモ(¨½}8yù µkÕ¤î²8=c ¿›Ç¹ùó©9f´ËõTªÌ;·)ÏÖ‰æååz Y6ŸϢŠ\Þlå“e3©©©\‹»V$²÷è±ñ`øVÌJÃÁÕzêÖ­Ï{L/’ßl6rþ¿4ï6œ£SÈ4©õVˆÛ»’ÈZ–Ñ}òOOxÚF®éÏêÆñiÜ /*Ë‚:µxü³OÑß3ÐfÝîÒ“Gýúõ‘$©„S¦Q£FìÚµË)‡LÅõ(h4rss‘M&Ôj5•J•¯M¥’ËT%µZä¼"ýÇ]8{}~ü8Ú?;•ê£Æâ\… ™ÏŸYKh쮽®Q°ìµ½gºã1$Ó%ämßAd$’¯'˜s %åL*üŒ'Iðhæ@Ñî :EÓb×>…—ö÷(±LpñmŽ^8\}_ô¨sa×°g”žfß墒ȧ~BUgRõîì¥'lâ<ê”±é =Õªѡ];~]»’†›^ßÊ–UºÒ3³9sú"{wÿ‹Éd N& 2˜9_ÉÎåæJ=’$‘–edãî ôi]“ê!¾¼4ò.¶î»Ä;K÷q9!#?>´:×H ¯'Ñ5K>W¸BO¯eËX;h0;ví¢e§N\Ø´‰Ô¥K‘¡àGQ¸2o’VK­úõ¹œ–ÆnƒA›ÿpy{ÝÈû´3ú “wNUÔQÑþä ®Ôãj‡Œ«®G©©)øùùÛ]BÝ;ºJ«î¸^Û²Ci¶s§[u”%­ëžk<ˆ™ø#Ö åá»M<5î^Zú]`ã·ò݉Lý}5n|ÜZ ïÙ¥ Çlµ“3Ï!%v±Eù268U*²,#É2rLM%D£–È‹ì«RAJ¦ÉÉ)eÑ“W†,Ëx{{¡ÕjÑé GFÙºD©lYîZ.47ÚzlÝ?¹Dن̳T»ƒäøË×f÷ÂZQ=õƒÛ Éðç¾ F컼‰˜ÐNEöÏ|Íéº\¡ÇxíF??"Ÿ~šS¯MF+ËøÔ­“_¶‹x%&ræ•W¨õ曜Ÿ7cB‚[ìNxxxþß»÷ì*1¢ÊËË»Èßñññ,Z²€àÊÁ.ï?…ó{i’’“¨R%Œ*U¨W/ÊzC”3î  ·|TKJ~^WëéÛ‘Ž±K¤ýuïìþm!`9˯>Þ>W®L|Bµ#ë0kÖLž|r¼Kõ”†=gŒ½º]©§pßâøûûq]ôT¯Q“=»vAÁÁì?pZ·ûDR<<=1X—Åöóó#Ùº¼mEú»(K?øbÌÆÌøn/¾‹tt/Oñ¶ë¯kÖFE²­ËÜ„_Î =“ª®Mèñ¿ñ0Å YÚPâô]0Ÿ 0çZ¯îT%G­¸ë<)oŸs—:m ›øKS¦r3$ïjVgÌ/xÔiëÖó6,´CæÀlû÷O¬K[‡PµJU Ä+¯¾LJR*¾þ>ôï7€ù ç3uòT—ë‘™wþKfV.›wadŸ¦xÒ¸N0µª’’iäjbƒ O-?ÿqˆaj»Å>*­–^?|ϺÁCؾo­ÚµãÜÖ­d§¦qʨ´Zj6hÀ¹äd©T Üü^UKÆÚ¹•ïÓÎèË# ””’Ïze®ÃEýÛU×oW=§»ª~W_RR’ñ÷ %¥h|EgÛÓzìi°‡#m®¶£ºœÑíîç¾2×áâçU@{ÞZ¿šúÓßcÁ»O0#;„˜vÃùâgé[KWz× ï“Wp‘°KIÊCF’e¹DpAEQ¸”lqhl9pÑiQff6!žå¾°ÚÓ€¿¿?¡¡–%¥s­/ƒeÅšú ê#Ë2õ4@–eª††æOqr‡gÉLÜF@õÞ\:¹ˆ†UèÂêHO‡ZÃ8ŸsŽ-¢I:»‰œÊ­Ðk¼m”R:®Ð£¯^oƒs-[ÑÈIY¦ÅÌ™ùe7üà}vFõ¿rví:d³M€ý/ÕSƒÁˆ^¯GQt:ŠÇŽ$®Å]eÑ’´lÑ’Í[¹¼ÿhõ^ ©ÉÌ1Ó:à(o¿>‰lsÉS¸]Ð1NgZV P.¡÷ôA­Ñ^·þܽ[wºwë^bûÜoçÒ¨a#âlÖïÎókØ’%¨[¶FQ›×%wõŸ˜˜Þxã §u´hÑÜ­ý¹Yóæ€%Øš¹fM$@R©P¬#¬$•ŠK—.ŸGRr¢Ã27’²öƒºá5¨íãEæ…ãl2ÞiýΦ³¦·8öí}ÅSË™ì œ˜ïh‰×ÅÐ"å]IÅAß'‰8Zâá‘„ÖœJ®ä[¢ w'îvÈ”ç¼Õ×nKè„Õ쥧éÜ,öŒÒ:a5úÚ¶1®Ö£ÕhiÞ¬¹ÝýãÇ=ÅŒYŸfåZÜ5›_Ë]¡ÇdV¨SÕ‡qýîàÏýWùxñ6Bƒ}hP« A^¨ÔjT’DbJ&¿ÿ{‰ ÷Fâí¶ëˆJ«¥ç÷KY?dÛ¤Í]w!™ÍÈ&ŠÉ”ÿÿáK—8áéÁ½ëÖát[ݧˢ/0°ÉÉI.¹fVÔ^®Ôâ =e)ÙúÝÑŸ’““$99 (› ]¥'OCÞï¶ ¬”¿ÿz\K«Ë™ýîºäÙ(Òv¥QÞ¾(IRþ³RqÔÍyè½¥<ô^¹Š¾>X?& ½ÿúÝs7Ƴ]²t)?¯ZÍÒÅ‹¬é}.vq–r9dÔ ²Ù\"¬`Ãè¦,?å(œ9uÉéò|=µLÖ$ÿ… 'ÌžžŽ±˜1ë#§uÏëj=eÁl–IKÖ5¹¤êi[ã>2/°ïêF¼üÃÉÈMF+i I*ã>è©ýôÓš6 9+ E­¦å’ÅøDEåÛÀ'*Šúo¾É…ùóɲ UǯbïÃ^T¿ }dǺ®ãu­vd$ÇOä»ß±iÓFâ–ëZ×faŒéÛE–iB›¨Êl;ÇÚùkw©™*û{Àì§ÚR-ÈË­Ï *†K–°~è0æ¬]k3Mpãhú¯Z…ÎÏÏízò¸^÷igõU ªìü¹ä .°—Ë´¸HOá—ç2WžÓ“òu–©=]¨')Ñò1Ëž½òöß,×G§pc{©ÆÅíUN‡É\2&é­Bá©9/¿8‰a '33“¡C†°déR>™1“%‹æ§qÖLÂ.ÎS ¾%=‰O<:’'ʯ¥DyÆù£³¡§Cl:Äv¸iô”…Àƒíêpµž ¯êtŽY2Kõ»BOHß>„ôíãP‡3i\¥§0±wÅ{WléE¹±½šwNóÎÃ+£M׳?ƒÅS>êÁ‚~æŽóklleÆR¹ÌÚnû”FEõôíÝ—¾½û–»þ µ—»(‡Ý_›ô\™ò”å8ónÞ–(<ÎqÖÓˆÛÙ/…eyy ôKgÐ×nCÄ'ñ–"JɽÏÛZµjñúä× ŠtÃuíùÁÁŸ@­’¸«QîjTÅv1ês¥}TZ-½ú±ôb®“¸Î÷é…–,7ÑÎʇ奢öºõT„ëùœž§Õ]÷gõس™3yo·çšªç6B)dÛèèh/\ÈÐûïçµÉS`éâÅDGGç§±DýväzÚ¥B1d®Çõâ+$ÙCèqŒÐã¡Ç1Bc„žÃMwœÖ›·»åM¹-]ÎÍe¡Ç1Bcn6=ŹÙô =Žz#ôü?QÔ¶ÑÑX²xcÆŽãóÏfݨ„íFçžCnm®Ÿ]*àq¿§²,=Žz#ô8FèqŒÐsc¸ÙŽS)öÿæf´Ðc¡Ç17›žâÜlú„Ç=ŽzþP”’ήèFغesþþÿG®§]ÊíIMI! ÀeBl¡(2jµsqL„¡Gèz„ž›S»¸ÙŽS¥R•{%gQk4·l?z„žÛIOqn6}BÐ#ô¸OÏmE™§ƒ)ÿvºŽv)³CFtZ-ÙÙYøûû—«Rg‰‹' Ðáœy¡Gèz„¡çæÔã.n¶ã”$ N‹”¿Üµû<2²ÙLPeÛ+Öäëá&³Ð#ôÜFzŠs³éz„¡Ç}zŠ#Iz½žô´47*s/e–œœL¥ JŽŸC„]ÊD™2Z­–ÈÈÚlß¶¶mî"¨re$UAÜk£ÑhWˆÙl¶»üŠR°Ü4&£ÿ¶o£qL Zý5É…¡Gèz„ž›S»¸ÙŽS¯÷ NzüûÏß4ŠŽF¯Ó©Ãl6ÛÕ£( ² EÉ/G­ÑàéáÁ}ûèÜ­&“ý• n6û=BÏí¤çf×'ô=BûôG£ÕÝ8†?6m$8$„:uëÝr£GL&S[ɲ¹ØsŒŒ,›‘e™íÛ¶Ñ©KW‡Ï!Â.eCZ¼x±"²y`ää§¥:•);+‹3gÎpüØQRSSó&µZ-R1¯¢Z­F“×ÖFAB¯/ÙÙÕ-jµ*?mÍZµ©R…J•‚„¡Gèz„ž[P%¹Lbb"{ví¤cç®6Ó¬ûeÕ-}R…Ë—/ñï?“˜ÃÖétHRÑÅ:Õje5 K€^¯/Q®V«CeÕ#IÍ[´$2²6¹¹¹õÜlöz„žÛIÏÍ®Oèz„÷é)ŒÁ`@­ÑpîìY6þ¾kW¯ÚwÝ„T ESh*´J­Î_mJ¥V£Óh- U:•¤¢i³æÔªUËásˆ°‹c ?çš”ò9dÀE8+3 “ɾg2â£Î IZ_§ò =BÐ#ô=7§w8dàæ;NV‹F£)5mEÁ™L&LN®q³ÙGèzn'=7»>¡Gèzܧ§@—å~¬×ëÑêt7d·+qæùÄ™ça—ÒÊ+ê)wP_­V‡Àõªn¡Ç1Bc„Ç=Žzn 7ÛqšŒF§oÆ×ƒ›Í>Bc„ÇÜlzŠs³éz#ô8Fèq­Ö2RB–ersrn°š›a—²qk»«@ @ nA„CF @ à:#2@ @ ×á@ @ ¸Î‡Œ@ @ Áu¦Ì«,­øñwèÁ-Ê€ûßz &£ E‘ÝR¾¤R¡ÕhÐhu8ZSÜ@ Pöçâr-{ýàÕ'›@ n3æÏýê†Ô›“ͥ˗8xàI‰‰./_¥RáïïOTÆ„‡Gàéåå0½¸/ @ ü‘”˜Päï_~^Qæ2ÊåàFa4¸té;ÿÛAç®Ý¨FãÚÛ™ÉdâÜ™3üñÇFdY¦Nݺhµ:—Ö!@ øÿF8d@pKa49xà»v¥Vdm·Ô¡Ñh¨]·.{vï¤Zµjhý…CF @à:DP_@ ÜR(ŠBJJ2áµÜ^—_€?²¬`2™Ü^—@ àÿ Ùåšb@ pY–Q«Õn¯G%©PEQÜ^—@ àÿ 1eI ·,îv”ä•/Ü1@ W#¦,•ô}•y´M z©’o4=_ à\®ãɉ‹œË+I˜e1ÄP @àz\4BÆÄÚÞkZfùG»iQåTÚÍL;d&áÏS<Òåªz­F’Vãñ7O|“Fzþs°Âå¹[‘ôÛ˜¿ú$£×#I«QWý‹'È¢ðŒ 9-•O‡o!HµIÿ&\bÃÛ›‘‚ö²5³ ]Ö±K<ÛóU«‘¤µDv9Ä÷' )1d³bÒ6êX4IÚõÔ‰=Ȫ«vÎ:6¬Ôà ô©–—F¦ÑÐd"Œ>,Ùå °¤T¾¡îJ’ßï„#’©«·nÔè?*öògœƒRËY§@ Ü®œ¾zˆ?nއ·–1ý§:O«Õ"›E@ ëq픥G»Æ›É¿væÜñ;x,RNf¡¾3‚wçßÁ¯ëZòÑP5+ý—±¿‹I4ÄóÔ étû2–¸+øqˆ‘ÏØÃ·g­©Ì9ü8òÆ/“<«¿­jH÷‹Çxà㢆Lç.p_ËÝ̺È+‹[³î§(º%ehì6$)€Â™9;ô^-_iÁºmX½0Š -ÇÎCw®ŽÿÎC•˜ü YL_#“p$Ní×âêA(¹a^öS IDAT½8++Ôij¤` ŒBp£|ѱû¢p¹3¬Þ1—‰_õ¤_‡ÜÓ •t[ Ý@ Üâ¸ö©TÈ{ êÑ/¬³àáÆÌ)œ¦g0µ/üN¿O™Ñ£*•ò“ê2§1£ï²Hê?%Š_þÇü? <^SùäE^_)ÓyÞ|ú j k_2mazJ^f¶½u„uê0VnlB¿`KáÝÚè8[{S~¬G—ǵœþ3ùÎÆ|ølUU•é;ÄÁq™ÔÄg€O°Lá±0’ÞL%O8§Â\n£ÙÆœ¡!3Á¾EDj>¨‰K@ðŠ$9µäuÞ¥k©g3ð5²Íi¼²…;"îF¯÷ v’G‘ô•üª°ò•sîR-@ Áµ™úUh\ÔQ '§ðåKG˜¹<‰£ñ…¦ ÕOçš±*•tÖ¿U¾ôŠ.#yzP'6œ3`BOúþ8Žâdz]õNoî½Ûƒé ¬çf²~c.Þ]ÃéTH‡ºJC¢ÆÿšAÖãAÔlç3ê£Ó¡¥7vâ±àæC’$Å~ ™ÓWñâ¼{iRïîmù0g’ž“ˆF­Å,yóÑùHX–³VY‘yñóûK–çæeµ@ ÿ¿¸Ö!ã­Ã«ðGKS6óýÍØ½ALz·%sšxRÉKáÐôm ùÛŒ±ðs®F…¾ØOµf#((d&š5:B¼ ;|$üB yRL&.¥BæOÛð·5€ÄĵG·bMê!^ûì >T@íIç‰øæ­PjêmäÓ˜ ñCñEGÂ(¹j’²Á'¤èÈW ö1ዚøb#aÌ20â+^À¿ü÷-ßüö:}Ú % ÿίŬ˜ÐªtÈŠ™¿Nÿˆ$IHH(ÖÀÀ­#î±[žÙ,‚ú @ \Ë'Òv(‰IÌݤÐiq3¦Õ[÷™¸’[¶åŸAÂ;HƒÊd$.S¡ÀÛ¢vÅXL­¡ª/tjÎï¯ûáY¬•'þ:z½Ö‚^¯)dœKaíwÇ7u'ÃêteëhÏ’FÑhK÷y*gâe#“{Á›sÈÄÄÑÏSAôÕ³¨©’8¹G‹¡—ÙZ¾DüAÒ1ТzYm(·²YF¥*ê÷§'8ym?Ãz>A|Ö9¶Ÿý­VN£Ã¬’É‘ÓÉÎN'#'\c*I‡Ö›¦ÕºØ¯Gvõ¤T@ ÀË^ƒeéë\EEP€:ßQ£¤¥²t‹ ¼ËV–_L 8Æ’M¹Œn‰!CN&+É)HäáE¯Î:ÞYŸDFµj´ð/­T Ÿˆ@OŠbÏwqÌÝ“­îýsazeV_HâñPqpq çµ™¼ÝÂõëR¥ †¶„± 9ñì风åßzB“‹Ä†¸¼J@ ¸¥0šŒÈJQç´,ËÈf#9ÆL²M©d)‰`–1™³1ÈÙ˜3ŠYÁlR0eÌ&ËhÃøŒ  ¹%ê@ Ü[2ªÊôm`fú›gø§EmZJéÌŸ°—E‰”Ù!£­SÉýN0ôÑÿx:»>k›Ùñå¾H‘ -ó¬¡í”†ôýi/=bML~&”–¡)3Ù¹!Ž„-ø¦7¬²¯ÃB¹·/•Îÿ~†/ÎjèÐÛµ+4{‰þ3#ww8Y/¥x¼/ #ò™Óô«ê@¸YÃîµ¾ËPqqŸÅÜ[~¬D–—BHëT:Gʶ—¨Öövov £ïƒ Ó¸²2”IûL ÿ%‘H1oä4~[ïE’IͿד7?o&Xk"¦GJuT ÁÍJ¥BQ(óå™{f±v×|ænxƒwv£ixöÄÿ‚LZ•„VQc6+˜ 2’ È)pÊ@Éò4±"“@ À=¸÷ISïËsË›pæÃÜr¼½èüX=æ?q”ÁëÊX–ÚƒAóÚ7vSßÎ,ž;iÀ7ŸdÀ¢‚Ø5šð,Û­åíç3ëñ‹\5€geoZt ã©(5’¤ÙÞ‡Ì9§™ðiéfðªÈàYmø¨¿Îî:àêÐdæm9ÇÓ£ÃxáþʽséþÂ)漑‰#ݹ|ñH$_ÅçmÐðñ£µhþùvŒ6Ø?Ðù›—È<ñb(#~P¡¯žÁèy§x¿·Éáz妋ŒƉü-ALäòÊþC¼ÙXÄŸ·6*µ°Ô·Wó4¨Ö‚)K‡R³f$›àHúF §‘èö4²u”ŒÙhùÉ£xyŠ¢X"ÿ @ .ÆE ½×ö±ùÌêη»Ãù¶ÈÖ…ÒJ„=Üåáb=øäâÝ|Rh“Ê?€ñ‹:0~‘uƒ9›o:@× ðBÁx="«òÆOUyÃŽÚÆã›²i¼“‡V¿¦ |³-oÊ’É+ƒ9q»Š.ýí,’LÝ¡Ø4ôB™²é^á¸r¥<5 Á­ƒƒU–j†Dñåèøpõ8V¯_IŸž}ÉÐÖâHòTj‰Ùóß#;+§Hž@ß›Yxd@ nà‹­puÍ fó¦]s/*É9ü»à“þÒ2ê÷ÊÙœ÷#‚ÛEÁá²Ôz­/ßû-ë÷,à›¥SéÑ£­« ;+‡u“l”YÒ!c4šì:~@ ‚òr 9d@£3³kÎA>:fÀÔæ©%­x³³Öv@ ܶ(87¨GÓáÔkÁë?ÜOx­ê´mÞÉ’ß '‹pÄ@ ÜÅ-䑨Ü-Š G£n´@ Ü`T’„,˨TŽ"jÜ€ÏÛÊÇkÆóÃÏ á@ ÜX\äiášb@p‹±û†ÔªÖhÍæ2ŽÔk>X,‘ fµƒYg+333@òƒM¥§-Ž’OÖ„{– Èé°d2tŠUkÍö0{»eqöN‚ž+Ê^¯#Ý›¡ÉH(óádÀ¸pè¿Ì¶VR gSØ›ck§}~êR,$•U{Àì3–¿å˜2ꆀ*Ͼí`Ö?P¢+•³?”¦»¼m–{¢`öéòé)NEÎ'2á…Úö^kc9ÛÛ•œû À>«†ÌÝp{óµ^=¡åPØpùÆi´¢X—½v÷Ñh¼Ñ‡*@ ¸ „ù‹a±õgÉ6ö¹¢|Œ'¡Xã Ÿÿߌ†?^>@iδ!¶5,É„§gÁÜÏàÁ&pÍê:JÞ w}!7'Á‚¹ìÄ4m4ŠïrtÁ³ `.0¥¯¥ÏÀä÷ ·9¼õ|ó14<OÞ±ä1]¯–AzamFØ<f:_wÝXñœÎ.”@Ók`…³xæ9øõ%ØW¨œ as±¥ËÓÂW¿É‰býkA£Z vRF>2üò2\íÔ´nÊ€ãéÐ}4|ñÌyžƒ§baÆqKšŠö[º]Ñfú(x­ L›©¥ŒrÈNƒLÆ­Èù”ÇÑÏ`æÅ’Û+ÚÞ®BIƒ7§@«× ÚzÑ˽×aÔdøv>ÌxÒ—Aް3ë:г!®‹CF @ pbÊ’ ›Àa ³³ÿðç°"¾ZÖ°l‹J‡–ÃÏÏÃUK©À‹Çõ¡0r Ìquùyü;þò€•Ë¡_e`T»=¦ÃŸ£¡›¿Œ¹ðáCp¬-ÜõôÖíc ’( ü:¾j 1À÷Ðé+ˆ˜}œÐV}8îä&>j>=-›´µà×KTlÄ=Ю|ò9<9´ÀµEÐò[)zxäm8Ú ¾ä|õEtç€rzÞÃCv|4&Ã;_:_f­AÐz¼ÿ',ê’’^iQO@J¬ó~Ÿ8Wf×ï ø`&g0ž·ÖÃ?!ÀCS–l(šnÔ=д>|³Æ¿Pñþ`K· ´™ zL„ܰúmj']&Œ®—¾ƒßﶤÜçSÞñ\€ñoÁÐ÷aË„B;\ÐÞ®âÚXœ?ô.pæUê‹5â}õ!|Ì?M¯¯Ä¤¦¤àÖ:EF­.³gS @ (ÉåDïiLmµãŸ®`N•7˜*Måݦ+ØuÐPdUR%õ2»FË ß©L•¦òNÔbþX—nù°nJf{Ó©Lr:ÿƒsîo˘.Måƒq± WÈZ±7µßqàš/—J‡¾ÌˆnÍ©W£ÕªÕ¤Yï'™³3Åö¬˜r!×ÖL#lX Ü}ªln4"Œ°dWée'¬‡vÁ‡SÁ¿xDJ”o!Vl¯Îб²u›mÿTXvÈAÖýðõ1üºÅ£Ø°Z¥6°`;¼Q ¾Üs–ôaÁx¨¤% æ…š>ÖiР;ü•jÉ_|êOÖ?"ÁK+àÉXð@òïAŠ\TÛ¢s0´_ÇLå[Ô  …6atŒ€&^] ¿ùK`û hò%lý ¢}4è­ƒ–ïÛ÷Zœ’ÚŽc…F®Ñí÷¾ {‚£ŸÃ‰õpônØ»î´87ºxBø8HÉë«90½9HѰÇ:º@Uj«>·¦“ z$lÝ1aû ˜Ÿ÷À«Ý,nTÃ9˜ÔÓªSm%ˆ} ®Z;mñ©?‡ß© ü°zÖµäñˆ€W~-:ãô°7î±ß?4P© ý!¯}Ÿ_¶´Lù‘‚àO!­PûÖí°Í¼aaPß ç‹ !Ùù H•áëܽ€ÖÐI Ÿ¯µ1ÅÊY*p> ÃúI°«LmGÑH´N´7@ênÛT–ö i¯n(8¦ì“ðl÷‚)†u»ÁÒ…–…–aÇ,¸#¬`>fXøà@Áþ_?ÚC›Rœ¾aà N­9í$@§Õ’åöÑ1ñqñ:½š“@ @à,®}Âܹ‰5Bè²õž?9‚Öž‡X=ðoâò¼+9qüÓãkV/–©;}0¬¹öÍø³÷<6ï4€Æ—ð®þän?ER€‰ÄõÉ2¶œ#Í`$aÍeLõêVÉÎúrOæPwàó|0w1‹ç¾Çˆê»™6l,?])ýìødðö „w€y‡ ½väÂç¡J ø²ž¾„§öƒÁAÙJ:L{"§À[ë+R~³—àÛ‰–%% ö\‚-­/NV<Â-8i'f ÷\ŸÎÕA¥¶¼à>0£À9¢dÚé0a4 ¦z˜ð¬9c1Öþ·`Ô7Ðëذ ~þD@z)±> ÏÂé8øû-øcLú»`ÿ™õp9:G8.Çtþ¾w€€ ‡¿‡G_‚*ÑÖ挆™[Št×Ëðw8”—·@ÀRè4’í¼x&í„g…Su!°6œzž› IfËȹŸBâgðâV»|¯ì…×A3/k!*¸£dn…V'á Ì|ædAX Tùy§&˜3Þ; ¯,…¿ÃÂéÐH‚G.Ç8ý>ŒXqáËXxû>XoÝo†­ËAÛ¢¼Jf— ‘ñ§àëçà/o˜0È2ú¨´þÇGã Æ4HÊ‚ÝïÖñ0â{;ŽGm¦‚^Ák;üp¦Pž øb!T»ZûZ·ùÁÝ`ç…ce¤"ç@ú6xòg˜ò!„ژ谽±8"»ÞߦÀ+ aÝÏ0¹\;o±µ…NÂK‹aÍh~ †µ•׬¶BŸ§Àk8üü;¬_Ïu…ô¼iGi°ì?ˆºÛ†§0fAFœß ¯>9MáÑÆe6¥+ÐjµDFÖfû¶mÄ_‹C6ËEœ(ƒÜÜ\›?YYY¤§§ÛþIK#)1‘¤ÄD“¸võ*Ûÿý‡zõê¢ÕÙ3)@ ”×NYò®EϹm©]Y|hû^cvÄæÄÙXªÔW‘µ~#›·ûÐú¯áô¼KÔíŠêè§lzý4mV5 Rêè?<ÍÅk2¡ÕÒ¹°1“ÊÄ`Zz‚ËIm LåÌÖ,|:Gà§µ£CB©ѣЦÑþnæþ~•{GT³ZCõï†×›AL8d‡ÏÞ€Qw‡`d8`‚ø ð .žCÒC%O8çø#üá™0G [³¼Ç– "å‡u€ÖßÍ™¦”,Híc \“o)È–K.éœåÿÇÀ}Óà×pd1<3âý`íCp~>|ž?ý k{ßAï}0á9ˆZÇþžðî“àg-÷žXÆJÓ7`j?KÏ  ãgÁ7ßÃ'í-/ÂÇ·îá 3üø,ìô‚ù£,#irÀóË๠Py¼t'üP^|V7€Ö·lUkøê¨¦ÚÂן@͇áÇ)ðXbõ¤Áë¯@Ã÷àlˆý6|óŸ†×kÃŒŽ1fÿ ‡^ áÕ× f<ߤhQaÍAŸ»¯AlMXý"ï ÿô…Á]`úfH˜ Ï?M„?óáÙ!Ö6ìCJ7/æÃ,¿f-„y»`@O ¶ž€êcÁ†?†íã¡mÞ;Oxí7x´–åÏ3ŽúÃRÈ›fWï˜ÒËÒ&Í‚9¿BŸ)pt 4*öÂ[j›u„û‚àË0þ Ð)Ãñ0þ±BÇ ‚MÀ°Î;ÈÚw2SÁçEÉ„\Œœ\ Aë >:+p>‘ 3Gƒv<gå¿Ç‰Ë*paºŠjE>rçãOèÒîí ­b`Êlò®u°E91…qÓaÐРç^o«½j= ^´t÷Ž ï…gÞ…Xb]üó]TP{üb}ÁKk9ïÀC“á‘{ }3ðu"CÇ; õJ4¨‰g,ÓŽTÁào¯,vM‡WÀýËàþê–ÍM`Í–ß÷Z“úÅÀgë­Xƒ×ï U •|Ô—aí?˜ñ«å׌͖ÿÕA0~~¡4þüe «jûŸ£DÔBp:ˆ„ó¬ÎµË~IÝ^…nFh×&L‚2``whYÇŽ‡¯0бfÁŸê¨á—¯XFw¨rá\2T·}eˆ~¶ ƒô˰jLë~;à¹hˆ,¥?ä ÂèÒµPp& Z ~€ÝÉШJÑúJm3`ìøî[Øÿ´ò€3!µ1<ؠء×!Áˆ¥C§B¿J°±ø°–û‹NÅjñ%l܆1ÊÀÙy0ýüø‚ÅITâ¼W•ÒÞ™°jT ­mÅ©Q`ß: úÕ,ج­ #c`âzHy BšA¥«ðÄx~8ti¡…:¢1ê6êШÅÐ>âÀSáž®ðç_屈Kðôò¢n½ºT«V “ÉXjð]I²3¢²”¼ú¤+–iL!>p(¾èH%’²Á'ÄÎÂ6 lxv4…Y-!%È…l3(HIoÊ/ŽÊÛK⪵ ¼Læ ËRMÅ¿ôÆ×úb|WB(-tè Ì€Ó9•÷V­†Þo!EËhò|/ôÙÐgàw¿_½ Ut;¯b_¬Õ˜Öi/ eP9Èâkèò´ù¾ºÏö1Ö¯ÙØxå öo !Åq¸ Fðá“¶=vš0ÕÖü±!ÊF"Ie]1ª¸ƒÀ^ýj¶‹F¯€Ôgá³§àC3¨kÀÄá­–‘"6ÑY–/Laû*²u”‡ûúÖ†ØÚ–ß{÷C˜:[ù~;ý! ï¢ëý-zã3€*¶rX°×fMƒúŸÀÿAó:0ë7h= "‹y§TÀ r^#úÀ‡› >o ]L /‡m ò6²ô!¥œç“’/¾M§@KÉ2ú&7ÍR†!RÒÀׯP^[ím‚+iaÇé&CB*…ÛNÕ@IL3„t€ß¿†çß…V§aÌ0˜3ZZ±2 ±5ÌG‚- @gèÛ¢›Ã‹+á![š®Z­ÿ1•H @pkrWYR¡¯ªƒð†ýÜŠJÅŸ¡5x*jÅz³iëIÎU¾€¡a,!~ž˜ú’¾à4ç3.a¨Cõ*öÃßdXʆ”Lš=•‘ÖCÌÉÅì(¸‹L2A8õÐ2–îƒT¼¬2r/À9 &ÆÎêLf8~²@Lp±}ç!"žÜ³š•³üâH^м|ùdS)ûœ†ÔµA¨JŒåK¾\Ì¡X Q< i펶ëü®å'å$üü9Œb‰9±j@ÉôN¡ª~`J…l¹h€ËË¡ÓãPíyX9Ñö´€€ÆÐÎξ¤s–Ay/ȦdK€ÙFÅŽ»¸´`èZ¼a­Ä¯1¿@íZ°ùXÓî.–6ïÅ>´ø´-´ëZ²L]uxí{xÍ çvÂw¯ÃÔAPç Œ.%¾Ž=$={Á‘bN›i} mMøî¤™ X²Óò8Ÿ\ôïôË–#Á¶€/„½6ÓÕƒq-àµÙðd{øS‚…ýJjψüÁ/ï’§†& %È„ž 5ƒ®6ì]ÞóÉœ‡“àÀžPtßù¡ ÛOÁy#Ulµ·ÆÒ/Žž³¨.^‰ *û‰b‚Jy Lp)$ðV4}~{ °e<3îö†3_ÆÏ2½0>ÃÆÃ3êhàäI,At@ AY¹ŽËFh îŽöü®ªn\ô§ž/Z€†Ê}ÂÐÝÇŽÅ©ø÷ª†—J…O»ZxÞÅöix´©M ý2(Æl xèYpx¹g~å·+¥H4—ŒÏ’±œ€Ú,ÈÑB÷þÀX}¡ ÝÁÅp^ C[Ø)[ ÷Í…ß~+ô³†ÍaåFx*ªå—Àt‡¬MðG^ÐVþ™ ©þp_CûY}šCøkuÁT ðÛ¯@=¨ks—}êÀÈ×áÞ8~J‰ëk ê4.ÃåbÞµ¤ÍÐm (ÂooC`9»öéep¢Ðœ’“+à„½ØÏã9&<òøóO`„‡&@\±‘0IÇ!]ÍÂÊX"ZäéPS±ž-7Ð*.‹­?+ó5XyüêB@–^¿Ø2Ô ¬›ԅ润É8ƒ>9+`ì[àÕ zØisá–ØC.)çù¤ƒ¹›Šžøk¿€` ù4ØøD•¦Éúµ…‹ßÃŽTû%hÒØ«Îl6žƒùû AÏ‚%ÌóÐU†ncà¿ßâýÕ×€àðù¢£Ád퟼öš ÜÁuD ‚Ûˆ•+WâëëKëÖ­o´@pqGÈHx÷éJ§6_²!v>é“ï ^cOä„T¶ä¬¦ ƒ? G‡„¾i=‚9ÁÙsÞ´èäP×­C˜zG.KDô v8JijA/šk&1û‹?¹kR;|ίcú“_s ûƒ&’WA‹·àž»¡~5È>_ §*Á÷c f‚4 ýg¸»!ë%</‘Ï@¿ªv — zK¨^x[.üáÚ*ЩsAìÛr•o‹;_‚v axø`¨w ‹ Å;›7ÇD†oaÿh¬·ÄhyëyË ã /x¤]¯‚A?•œR|165„¾wB ?8ö3ü˜vtrˆê÷¯/`O¢eÄX–—ÜW‚×;Z¾üç¡­ };9üG“ FÀÛ´žª<÷U/=o ̰r<,~ž a!ðÙ×5ž‹Œä8ô¨š@S'bU(I0¤7„ÝíA%~ÿÎú@ºåЙ‡:u„—7Ây4´6Ô©ÙpßèÑ"C!ç¬ø¶dô—¡,á5r—Âà`˜ §–ÁÄ­Ðg!4¨@§í=t°ê*Œx ‚Šeʆß@' ¤ Σâ8u>¥Aß*°ã~8óe¹z€ IDAT¹¶–Š–“b \¥9tnãDÅ*èý´j=;Ã´ç ÆNï€Ýðé#PûAxà=xº'ä¾ 1,xvÁòG,çÜÞ©ð̸¯Ô ƒÔ=ðÚf¨ÿ*©@}êÃÌß {õb©Àòþ0+:7…êþpu|3â"aYo8ùCùm*ÁMÌòåËYºt)«V­"7×òÁnÇŽÌž=›qãÆÝ`uàvà::dÚlxŸÉØúÖ v&ÉHÞ>T¾³.Mž Ì£ªRƒÈ¸r5Œz ¬[}«P?Žü[™º-=Ï©6˜O?;ƸW¤å—fôU[0pÂL&Î{„9òyÔ†¶^°ä]ˆË<¡eXõÜ]hà‚:æm§Gà ÷ƒÑº¿sÞ°¼gU—•¯­cz3vŒŠ?ô¾x¶hœÅL‰±AÍ&ïZxæc˜ ^5aüxg€AlTÝ̓1ïC–~µáÑyðŽ½¹BNâߺ{Ã’­ðÐPË/ÃEØ“ dÔ‡‹eh WþªNŽ˜iö<¼Æô€D Z?ß~•Ê1âæÊrxä¾úZcªTs‡À½à60°*Kÿ„VoA¨ÉÚGÁœáÓË–¦«Ñfm„þv¦M9Kã¡êØpZãŵ‚æ«`þ;p5ÐCtgøæMS¶òÇ,€´wáži` €¡ŸÀÜ Œd©Œl«ÁØ;KîÏ=ëâ`Ä}s:{>Éf0;Zk­xFÆm0é˜z?dA`ì'Û©Bà«¿!d,¼9Ì2ý-² ,þ ú[G …´ÿu0ùH̱ î9 >}Ùª_†Ãä¯àh4÷$Ë2ØÞŸÃ‡K Ý šJÐþ˜÷´÷‡“®=T@ n$Ë—/gÉ’%¬Zµ ƒÁ€J¥¢C‡ÿcï¾Ã£¨Úÿ¿gf7•$Té„^¥·ŽR, ¢J7X>_‘¦è£ò¢(‚¢¨`¡(Ašˆ ЛÒQ:Hi»;ç÷Çìn6ª–Àýòww2å,^nÂ'÷¹=öýúõ#$$„AƒH(#„ø×´™3g*3=…äü¹¬Êá3ûþ›Y<ödß›04!.ã÷Ðr3ìüŠÿ›¿Éû:móÃÉI°ê‰›:™Ó  L7øxù˜Îu¹â1J™œY`bŸKÃó¼ñ9tÿ¢åãîªlÅaÌãÐq ŸWhž~+HOOÇép¢ÔÅ«“ù‡¦ëØm6lö n`Õl!„·°}ûö±aÃ&OžÌO?ýDXXõë×§oß¾™B˜¬lܸ‘š5k2xð` e„7Lþ†"r[Iøjl²–é½µÿÎx.¨ôÌo×Ù+9ÛÜÕâƒÁpz$W–¾:7€ÝÁðððD©K1ô ±¯¼J–pÓ áøê7÷TÆ[÷®Ô”>ÄÖ-[8uò¤ß¯¯ë:QQQTª\™%¢ »R2!„9Á¾}ûX¿~=“'OfÑ¢E4lØðþûïS¶lÙ«ž¯”"%%€ 6P«V-Ì©S§xõÕW³{øBˆÛ2"g*ÚŠúó‚‘°à×EÿW‚¡q‡Ü÷JlP·­/ ÇÕÕ»ÁU`×U®i» ÚÝçßûÞîôÜpoû@⊎t:ÄÚÄ54oÙŠâ%¢±ÙüûíÌétò×¾}üüóRLÓ¤l¹rØíþšÃ'„âfY¹r%‰‰‰üðÃ,Y²„F1`À>øàƒk a|¹\.Ξ͘Z»~ýz*V¬ÈðáéR¥ >ø ¿‡/„¸ÍI #„"Gq¤;غe Í[¶¤Té2Ùr›ÍF™rÖªeÖ¯¥hѢأ$Bˆœ`ïÞ½¬]»–I“&±lÙ2Š)ÂØ±cùè£(SæÆ¿oÔ¬Y“Ž;fÚ÷çŸÒ­[7zõêEùòå©Zµê¿¾â"ŒBˆE)Å™3§)Å45?‹Ì…i*œÎ[| ŸBÜáöìÙÃÚµkùè£X¾|9M›6¥_¿~Lž<ù_…0¾ *”eUÍ—_~ɇ~HLL «V­¢Zµë\…RqǺ%$oÝÀˆù3õæž{UéðNÐ4¨÷‰Õ®ÄKÁîYТ”õõÐ0p\¸–Yøùˆ)fk䆆}`ozæcâ‡C¥(ë˜BuáýÄ‹Æ „w(Ó41 ­²vyº¦£”B)?O¹Bñ¯-_¾œ¯¾úŠ&MšP¶lY&OžLÿþýÙ½{7?ÿü3]»võ[s5ýû÷gìØ±ÄÄİyóæ›rO!DÎw TÈ(’·n`äHšCkP1äf{u¿„Ñ›³îzf4í !Ý`æ882^x Îç…éí®t¹àÇÐ~ 4éëë(¬ÙI>iËú‘Ðöuh7Þ¸–¾ƒ›A®íðx ÿ¾O!„È©²;(ñ\_â!„¸5ìÞ½›ÄÄD>üðC~ýõWj×®ÍK/½Ä´iÓ(]ºt¶Þ;=ýÊýûõ뇦iÞJ™êÕsúj Bˆì–mŒr:HÅNè-ùÜó$ü¿¡É›ð×s}Ñ 3ÿ‡*Á¶iP9h Ú&xö?0ì^(gÏúºçWBï)Ði&Ìî–õõ  EÂW# С!ì(¯Ž‡GÆ‚Ÿ³'!„ÈQüÝÄ÷jd‘.!„œÝ»w³fÍ&NœÈï¿ÿN«V­2dÓ§OÏöÆ×¦M›X³f ;w¾ì1O?ý4µk׿ûï¿§C‡[mñ!Ä­ÄOS–ÒXÐv4ZÝU|÷¿o©]pº}"£·9A¥±iÊ|î‰~Mž÷:ßÉA‡uæéo§S ÛßÀ~:å¦@«–À^§É?+Vһгö‡GÂÓSq^]í\EòŽ-<×ú}òè#д×)Ýâ'¾Þ} }¬~ 斷‹âÕ)øz-Tì å‚Ý;íÐéq`3¬8~ùK¯|ŽEë­0ÆÌâ×®IaE*têi…1F!èÛüpÑÔ&!„¸išvÝ}]Þüæ)Þüæ©l‘Búõ×_ùâ‹/ˆ¥\¹r|öÙg :”½{÷²hÑ"zè¡›ÆT«Vzõê]õ¸§Ÿ~šþýûóðóqãÆ›02!DNåß_1®]ʀȆLúi05ø iüõÉ,bûî§lïVÌ~0V­åÅQ3¹çôlMT›‡X7n&µãt>Úø­"@ £˜M±÷iŒ˜Úü·^ çr±ïçu¼ÚçS’‹æ³Ö¡W8œmä¡:sYRªcfÞÇÝA§ø~ô"iœJž­÷soÞËÿ¾3m;ô›ƒƒ2Y,ª‘vö›P­øÂ¨ÀúƒÐ;«%™Óà—uVVÅÁ½“à p,ŒùzU¶~ {b+$õ¢}ÎÕ t `%H…ʲ؇âŽwí½]æ¯ù„‡Ö¡PÌ[=•õž¼¶[h.Sú !ÄͰk×.øßÿþÇÆiÓ¦ Ï?ÿ<5kÖ¤T©ìoä~5ÁÁÁW?Èm„ T«V˜˜¨Q£F6ŽL‘Sù7±ã­MèXÄ]x“r˜¸á{0ï{€øIÕ(bmJswúDê¼½”ï^zœ'Šæ¢DA; S¨dJGe\®ì“í˜ì{ýÖ¥)s`ÇýÅøû*’7ìrç¦óÛëKˆ7ª0giG:°Â—V BÙ_fÿiJ‹§¢.©|À Ÿ ‚c]à…š ¸ôWœ DdÞoä²*ZŽŸ¿ÌŸþ:Éñðlxë;¨“Ÿ‡'Cþ?¡}~H:/4óé¹ ©pF*d„âší=ºI ‡Ñ«}W “â‡Q¥D}JªrÕsív;¦K:È!DvÙ¹s' |ðÁ¬Y³†¶mÛ2|øp ,Hƒ =¼¥oß¾hšFýúõIHH fÍš’âãß@¦Byb dÌ‚r=ÀòC1ÿ+Kaoúa§J×Ê”øo"?þáà‰¢—/õ0ObÒËKyùó„Ïo(+瘣"y/wjÚi.½@xËZ4+Q c,E×»MÿôÉOE‘ũǀ—×ûŸC \×üæ¯Ëݸ÷­y0Ä]eÙ¸,Tª¯Ï…6½ý|C!„¸ƒ¥¤%ñÒôÎÜߤç'p¸Ri\·/MïÌgCלëêBáW;wîdÕªU¼ÿþû¬]»–öíÛóŸÿü‡êÕ«S²dÉ@ϯúôéãmô+¡Œâbþ dÂC ó);q%]àPÕ=mÉÁ³·ó—Qˆá•쀆¬£áâBšÂé(§“4e/wFu:w„¯~I‡pϲ>—¼´iÆ› T´*µ³,“ÉB$¼÷3üã3;Ê<ýz€1&v†:a …Â#u`À ØõT ðÝ4 :4¾ë2×סQ7`,þj”·v_Ø +ÏC¥{¬å¬µêpOÌù þ["4pWBñPJ*d„âŠöÝÆGñ¯×u ‡ÎíDi‚‚l$¥&‘¢bó‰Å4‹mÍÄ/S¹x½+ö“q¹¤©¯B\«?ÿü“ßÿ &°iÓ&:wį̂Q£¨ZµjŽ©„¹œˆˆòæÍ{Ãçøá‡Ô¯_ßÛS¦víÚ~"'ÊÖ@†ÐBÄ(ä>shÓ?™WÈÃ…„µ¼øÆiJîÄîæ¿¡%‹Rœ5Lž¼ƒâ-s™‡ªeŠÑ¾¢ƒ7^[ÃÊÚ±ÔÑŽóÙ3søâ$>ÌeέNìð{iÿíîkœÎ«ÏV¦Na8sðkíæŸž1µ](—Ä46¨Ñ4ó.×ß°Ý -îÉX'¼Ûx­%´ Fw#sà¥MÐã(mç²Jv‡§ß„Û‚sTHƒÿKÀçÜ×Ï£ŸƒÚ¯C—¼Ð§*,}–0í+´Bˆ;é2ÑõK§.¥¤%ñÿ>}€G9Hvž&(8L'ç’jpÒ¹Sæ>šÄ´àåÏ`ú3ë.ÛOÆ4ýÝML!n/þù'¿ýö}ûöàÁäõ×_§jÕª”(Q"À£»µ<þøã™zÊH(#Ä-{t¢ŸèÂJ×"½¶˜?vBîtö(_‰ööw ©ÃÄçÑﵯh< ¨Úš=ëëóüw÷³¯ûbÞµÂóмoS>{z]â3îõ¹1”.QƒÙëCóÂ/LxjGÓ!4>j·ªÂJöKØ딻9,ÿžþÐsƒ~ŸÂÛm3B›¬h¹aÜ/ÙÆô´zÎTh s?„&>ó¨j ‡5::j[Õ;É÷4!„Àát`ªK{‘™Õ›šb(_´;þY…ÍngRN’jœ!È®ƒ‚gWШXw Ÿ(̳ûðJ—O³¼‡BˆKýñÇüöÛo¼÷Þ{lݺ•‡~˜RSS8p Íš5 ôoY½zõÊ´úR:u=$!D€ø) ¦í‚a—ôE@¦ÆSøí©WEíÞyœï\´¿R-¦­¯Å´L;kd¾ÏåÎBJWdÔ·umo"KF XŸÕÓ Ü#°ì‘ë¿fHixë'xëJÙ¡íhkB‘™®ë(Å%=d¬ûŒÃg÷2¨ùëÙƒ©V¤.¬=:‡#iÛ ÕÑt¶%žC)…iBÃ:yøvÁL~\û)mk?–éz6[6ÿÞB!ríÛ·óÛo¿1~üx¶oßN×®]yë­·¸ûî»)^¼8ùòåãí·ß¦yóæ,]º”æÍ›zÈ~µÿ~víÚå—k=öØc™*e$”âÎ$?i !„ÈqtÃ.mê»xãì>¸•¸  á¿frÎy—‘‚=HG·iv÷¦¾Eò…”Lç¶©Õ3Óõ”R—vaBˆ;ÈöíÛ™5kÿûßÿ8þ<<òcÇŽ¥J•*/^ü’ãcccùñÇiÑ¢K–,¡E‹uö %$ÄÍzöìÉÉ“'©[·.ñññ´nÝÚo×Bä È!„È™²Xeiìñ™^·™¥LN§F74 »Ž=Ø e’/¤°pøÉ‹.©.ymJ"#„¸ÃlÛ¶+V0~üxvìØÁ<ÀË/¿L=² a.Ö¶m[,X@Ë–-o«P¦`Á‚×ôþ¯G\\N§“víÚ‘@ݺuýz}!Ä­M!„9’R\Ó²Ô¦rq!ýJW˜.…3ÝD™Ê}+Ÿ¯”Âáp^õ8!„Èé¶mÛÆ/¿ü¸qãØµk=zô`üøñT©R…bÅŠ]÷õÚ´iC||<-[¶dñâÅ´lÙ2F}{xþùç)\¸0111¬ZµŠzõêzHBˆ›D!„9’âÚ¦¹L'©i)˜6ÊÄåÔp9®=BˆÛÕÖ­[y÷ÝwY¸p!GŽ¡gÏž¼ÿþûT®\ù†B˜ÈÈH4-céŒÖ­[ÏK/½Äºuëü9ôÛN÷îݽ=eV­ZEýúõ=$!ÄM ŒBˆG×4LÓDׯ´®ÅérÒ*z šš®¡iH #„¸cmÙ²…åË—3nÜ8öíÛǽ÷ÞËË/¿LçÎ)Z´è¿ºö¾}û.Ù׺uëÛ¦7ÊÉ“'9räH¶]ÿÑGEÓ44h ¡Œw d„Bä8†Í†ér¡]å¸Ü¹ ðòû½²üZž\Pæ¥Ëfg"Œâ6°eË–-[ÆøñãÙ¿??þ8“&M¢R¥Jÿ:„¹“œ:uŠ3gÎdë=ºuëæ e¦NÊO<‘­÷B–2B!r¦,–½¾ØŒÁ›¯|‰«œo³Ù$”BäH›7ofäÈ‘¬Y³†Ã‡óÄOðñÇS±bE anP¹rå¨T©R¶ßç‘GaÍš5<ùä“TªT‰˜˜˜l¿§"0$B‘#©,–½Î‡#Ûï!„þ°yóf–.]ʸqã8xð Õ«WgìØ±4jÔˆ"EŠzxâ:üïÿ#&&† °råJ4hè! !²2B!r$k‘%©^BÜÙ6mÚÄ’%K7nGŽ¡wïÞLŸ> *H“ÃuéÒMÓˆ•PFˆÛ”2B!r¤³gÎ;wîl½‡R&†adë=„âzÅÇÇóÝwßÏÑ£GéÛ·/3fÌ |ùòÂd£äädΞ={SïùðÃ3kÖ,bccùý÷߉½©÷Bd/ d„Bä(d·“’’LTTT¶ÞëÄñäÎçšVsBˆì´qãF-Zĸqã8qâUªTá‹/¾ |ùò.\8Ðû#üùçŸìÚµë¦ß÷á‡föìÙ4lØ_|‘ÿþ÷¿7} Bˆì!ŒBˆÅn·SºtV'$Û !ùòçGÓ3Ö[r8—Êär¹p¹\Y_X)o¿…†Ó‘NâêªV«†=(ÈïïC!®fÆ ÞæäÉ“<õÔS|ùå—ÂH­Zµ¨S§ÎM½ç‘#GرcË–-C×uÞzë-î¿ÿ~6lxSÇ!„ÈÈ!„ÈQìAA”ˆŽÆeš¬_¿–³gÏbº—¯¶ÛíhU³†Í3íÈÔ(4‚ƒ/ Y ›ÃнÇV­^» $""2ûÞBøøúë¯Ù°aÓ§OçÔ©Sôëׯ¿þšråÊIs‡8|ø0;vìà믿fÊ”).\˜¸¸8¦OŸÎ /¼@£Føõ×_iÔ¨Q ‡*„ø—$B‘ㄆ…Q®|9Š-ŠÓyùŠMÓ®øõËc "W®ˆ¦B\“õë׳páBÆÇ©S§h×®³gϦ\¹r*T(ÐÃ7ɲeËøê«¯˜:u*E‹%..ŽuëÖQ½zuV®\IXXß}÷÷Üs„2BÜ$B‘#ÙíADå–©DBˆœiݺuÞæüùóôïߟï¾û޲eËJs:vìC† ¡OŸ>lذjÕª]öØÎ;{C™+VpÏ=÷ÜÄ‘ !üI!„B!n‚çž{ŽÜ¹s3~üx.\¸À€˜3geÊ”‘&HLLäî»ï¦sçÎ~¿vÁ‚Ùºuë5ß¹sg¾ÿþ{7n,¡Œ9˜2B!„Bd“µkײ`ÁÞyçΟ?Oƒ ˜7oeÊ”¡`Á‚ž¸U«V¥^½z†W§N˜3g7fúôéôêÕ+ÐCB\'YÇS!„B?JLLdĈäÉ“‡&Mš””ÄçŸXS•þøã cr˜#GŽpôèÑëªbñ·üùó3tèÐLû:vìÈÛo¿Íã?Î/¿ü ‘ !n”TÈ!„Bñ/ýøã¬^½š÷Þ{§ÓÉ AƒX°`¥K—¦`Á‚ÌòåËéß¿?Å‹§{÷î”*UŠÄÄDÚ´iC«V­hÕª»wïôP3éСóæÍó†2BˆœA*d„BäHééé8N”2³åúš®c·Ù°Ùƒ¸U³…·©Õ«W3oÞ<&L˜ÀàÁƒY¶lõë׿ækÔ¨Qƒ„„bbbPJÑ·oß쮸F›6mbâĉL:•Â… _²ä4ÀöíÛyì±Ç¨X±"-Z´`É’%”+W.€£Î¬C‡ÌŸ?ŸfÍš±lÙ2š5kè! !®B!„9NjJ ‡bë–-œ:yÒï××u¨¨(*U®L‰Ñ„†…ùýBˆœ#!!ÁÂèºÎ!CX¼xñu…0«Q£«W¯ö†2O=õ”G,®WRR+Vdýúõ—]rºhÑ¢.\˜§žz MÓhÑ¢K—.½¥B™öíÛóÃ?мysÆÇ3Ï<è! !®@!„9ŠÃ‘ΡC‡X›¸†æ-[Q¼D46›¿9NþÚ·Ÿ^Šiš”-W»=ȯ÷BܺŽ;ÆÞ½{™;w.o¿ý6¡¡¡<ûì³,]ºô†WÙ)V¬cÆŒ!::Ú»¯zõê$$$ð×_ùkèâ5l؆ ^ñ˜¨¨( (Àˆ#Ð4æÍ›³téÒ,{»J»ví=z4qqqT­Z•æÍ›zHBˆËÈ!Œ“]Ÿ-àÑ6²ö¸ e›²ukSªz\B!n6Gºƒ­[¶Ð¼eKJ•.“-÷°Ùl”qÿÆsÃúµ-Z{”2BÜÎŽ;Æž={˜;w.ï¿ÿ>AAA<óÌ3Ì;—öíÛûå/¿üò%ûªW¯žiZŒÈ9†Ž®ë4oÞœµk×R¨P¡@Éë•W^¡V­ZÞ©U-Z´ô„YÈÌé½<×o=ǺudqïDEFQF~.Bˆ;’RŠ3gNS"ºT¶ß+2w¦©p:Ù~/!ÄÍç a¾ÿþ{>øàBBBxæ™gX¾|9uëÖ ôðD0lØ07n|K…1mÛ¶eÁ‚´lÙRB!nQ·v £\¤¤ëØOdJ(ÍzU¡e¬$1Bq§3MÃ0²ý>º¦£”B)•í÷BÜGeÏž=L›6©S§’'O†ÊŠ+¨S§N ‡'nadïÞÐY IDAT½—ì¿•—™nÓ¦ ñññ´lْŋӲeË@IáÃOË^+άYÍcõÆ¢@ÓF^äC:¿sŒT€s»h<‚3’ÈX ÃÅÎÿ~€v×|V&[×8üÉÇhÁ3˜öÍr:V~]MÝÇ?Ä^ö'¶ÂgMÆ i#¨üß“8²†ã/¾Õ›võ+]´(E‹ßM‹'Dzü¸üfS!nGž°$;7‰c„ÈÙŽ=Êo¿ýƳÏ>KÉ’%éÔ©%K–äË/¿äÔ©S 6LÂqeçæ³aÍ[躟þútµnÝšøøxZµjÅÌ™3=!„ÿTÈœÿ‹gÛÅ3§JCÞŸ[†2Áiü½íoVœuàºÞk¥ïaÐóAŒšü$ïUÐ9—jÜwíZ¬¥úWOòVÝ BòGbÏòÜìüðC¢¢¢ˆ‹‹cåʕԪU+ÐÃ9ÀÁ/ú’/o^Bsç†ðp°Ûz_άÖoݺ53fÌ {÷îhšF·nÝ=$!~ dÇx2=ÞlJŸwêq_%zÝÐÕBèðáý<{o¨÷`‡F0:‘EsSºô>Ãëðòxßßn4¡im;›OãÛ=}x©bÎüB‘™¦i8Î+N[JKKcÍÚ5üuð ÿ?@þ» ]¬õêÔ#8X:à q»9rä»víâÍ7ßdÑ¢EäË—¸¸8V­Z%!Œ¸&³T!<<œˆˆ"""HIN!ìÔi‚ƒƒÐ ¥L[úQ¨ëGêuëÑ£º®ó裒/_>î½÷Þ@Iˆ;ž_û]…¨7‰©Oÿ@±ªÑ¾E î.l¿ÁùPwÑ©NÈ þ62?½Çèq³X±ý0ç½3•‚(z8 $BˆÛÈå{»ìÛ¿ ã)V¦w×h@Á<¹8v:‰ýàãO¦Ð¶uJ•¼Jc`MÃeÊ´W!nežföìÙLš4‰|ùòѳgOüqºtéèá‰à½òb³Ù ²Û F™&ŽtÉI8LPÃfC×5`š.vŒnN“aË=ôëöè£R @î½÷^.\È}÷Ýè! qGóOÍwDIÞ[r?¹^ø7znâÿ€ÈjU9¹-Cê‡^_0LdðÅ1ÉëÇðГÓëò¼óõ(•? ÛùŸÜé5Råçi!„¸#ü}à//]Jã–÷c³ÛÙôw kœE‚ ª”)GéR%Y¼t!­Z´¸b(c·Û1]ÒAFˆ[Í‘#Gعs'³fÍbòäÉ(P€¸¸8Ö¬YC5=<‘¼q_º¦¡k:ºn`:fº Gš“´”4l¶l6Ã00lºçQ×@…âÛ¸j<8ns ßÊukÕª‹-’PFˆ[€Ÿ&ákDÖ¨Åû‹k1!=™?~ÙÆ¸gãÚÁN}÷ÓHÓ° LßjéÉYw˜¹±8&•s~à`Ñ>,|óiªº+Ñû—_!„9RZz?,XÀ=-:pè¬âXR*…r‡±0~3 xøÞ»IÜŸJ‘(MZ³`á<ú<Ñ[¦/ ‘>|˜;w2xð`þøã ,ÈСCILL”F\“×ZØ@ih P …¦™¸t'NÝÀ06Ãfs?†Žn3Ð M×ÐÜ¿mVZÎ ì[µjÅâÅ‹iÕªñññ´nÝ:ÐCâŽä÷6áZP•[Õå¿£¢ÑOc×Y¶0Jæ…c^ Ýs +™Äegüxg…#Å¡¹ õ¾+'‡—ÏãO?ÞE!D€iÚe{Ǭ]·–¢¥«‚nçàÑùÙµh 3þï>>ÿ¿û˜µh yrÙÙsºbeª‘¸.ñ&¿!ĵ:|ø0?ÿü3ýúõ£D‰ôìÙ“ºuëÏ¡C‡xþùç%ŒW4ª¹Á¨Æ£¨d…º ¬ÇT…J3Qé&ÊaZ2.‡ gºGZ:é©i¤¦¤’’’JJr2É’INvo)ɤ¤¤0©Wá@¿ÅÖ²eK–,YB›6mxã7=!îH~©IݸœöÏž¦áCe©].‚гGøbØ~Ì ©“Oƒàüt¹?‚ñ.eJçûéQ*U.àåD"ý1€ʶªG®™Ÿ1qáý¼Öæ.þùuCÞþÃ_7Bq‹Ð4-Ó²Ôûäî1¬ÿë%òçâÓ6¢ù”]*¾Y¼•Ö*²á¯ T.Ζ +ix™^4\n¿"Û>|˜?ÿü“¯¾úŠ©S§R´hQâââX·nÕ«WôðD0ª©)@:੆Qî*|M¡4 M·Ñ]fâÒ5LC¡¦U chhÞª÷k4]Ý}®ïuËË/Oð߸-Zðî»ï2tèPªW¯NÛ¶m=$!î(~ dlw¡^Ô.>u£N:Á£rëF|ÿþ=î©CAÄŒéÊÛÇæðrý± ¶å¢^¯¦L|áNòÇ4ò´x“ãžáÅ! )—n#_•¶ 7 õøÿó×M„BÜÂþ9qŒ‚yrqv÷I–,ØÄÌW2—`Ïf½îüêÔ«^’{ï.ÀòǯxM—Kš ‘Ý:ÄÔ©S;v,III/^œ¸¸86lØ@µjÕ=<‘Œ¬¬ÃwèâÉÒ5ÀºhîðÄ¢(4C¡tkŸ2°BSC™îÐÅÔÐ\¦u®¡¡¹Ï”%ï#Ù0çàæŠ‹‹£Zµj´hÑ‚üQB!n"ÿ2EÊ3æûòŒ¹Â1zîb<ÿí žÏ´·j´ç¹F‘'û¢ž¼ô\{ÙX¶ªØ«ÄÈOã¾ á…Ì»Ÿ>Ôãêç !„ÈQL—‰®g=uÉá4¹p…nîéã€6MéD&Dv8tèüñ_~ù%Ó¦M£@œ;wŽž={òÙgŸzxâ6²Žæœ€© -Sàâ `<ûtÀÈü¨ w(c¦ÏוûkJ¡ ÍÝßÒÝ{†Œ×ðöÃá¼0ûBö¿ùlÒ¼ys–-[FóæÍùá‡h×®] ‡$ÄÁOM}…Bˆ›Ëát`*3Ó¾üù pâìJä ÅU« _ù€¹¯µ Ó°P šÔ+KÉ!üsöùòßEzzÚeï!„ðOóÅ_ðé§ŸRªT)âââØ´iJ)4hÀ¦M›ˆ‹‹cܸq®¸Œ,¨£¥p/oäŽD´Ì x§$¹_ûT¾à[Éb`ý ÈÂ(ÓzÔLe=7¬ÙªaŒBáy4÷}5÷X”{v«º±eIn%Íš5ó†2óçϧ}ûö’·½^`'„âN¤ë:Jáí#ãÙŠ)©U2œÈP­UÄæS cÓuÚ6®Dd˜šÑa8xâE ]rÏf³Éï-„ø·<Èøñãi׮ŋ§_¿~Ô®]›Í›7³gÏLÕªU«?ÔܹsY¾|9C† ðÈE ŒÌ§3*—ΨPí¬i:¸t4ÏfèÊ@ólhššŽ¦tk>’K§†æÔМX5¬¾2iîÍUeãåå\ \ åR(§Ât*”ÓÄt)LS¡\¦õhš(ÓÄT S)”2y³KHàþÐü¤Y³füüóÏtèбcÇz8BÜöä'M!„9ŽnÀ¥M}«W¯ÎÌ™_R®tIê•ÎÅΣi<Ô² ŒŠà¡Vw£”¢ì]A˜N;¶¬¡[—G.¹Ž‡R*£âšÿüs .L‡زe UªT¹â¹%K–dΜ9<ðÀ <˜ &ܤQ‹@™WGKñT¸+`<šÕDWÓÜÏ}ªT4ÜÓV™ J)4÷g·R Ê[%£éîýñٮܛé9Çg*’¦¬*kJ“çKžÆÀšû¾JCY»o M›6eÊ”)ôéÓ‡òåËÓ¡C‡@IˆÛ–TÈ!„È™²¨h±Ûì´hÑœåË;ØÅ=åÃ)U „§:×àéÎ5(U ˜eÂÈb²tÑ|òåÍÃÈѣعsçe«dLId„¸&ä§Ÿ~¢G/^œÁƒËÖ­[9|ø0“&MºjãQ²dI¾ÿþ{V®\É Aƒ²yä"PFæ×©3*Ì@K±MéhÊ@Ç@7l6†ÝŽ=(ˆ à`‚CB %$,ŒÐP‚CC ƌ̈́a³£64]÷8šËÚpošpaUÇxªbLÏ>em.«bFy§5Ys“d®Ð4}¾g Ó5(p ~Ô»wo–/_Îý÷ßϼyó=!n[È!„È‘²š²¤”¢h‘¢4iÔˆŸÌa÷î]MçîÂvª¶“?$}{w3î×\¸p–"E Óµk&O™ÄîÝ»³¼žÃá¼lwº0fÌ}ôQïÊH5bÛ¶mìØ±ƒþýû_ss±èèh¾ûî;¤ŸÌmddaQùtFEè)šCG3utSGWºf`ØlØìvìv;A!!„†…–+¹""ÈI„Ï–+W.ÂÂà %(8{P6›äè†a3ºnõ‰Qšw쌆Œ`ÆôÝ”;¨q‡3¾Á žjï3<Õ9 ÅëÝnP¦I“&üòË/tìØ‘¹sçz8BÜ–ü4e)mߢÝÉö^U“Âó!„ÈfÊ[w~©"…‹ÒµK¶lÙBªüã^Úº@»(T°?ø0ÿ÷Ê8sê,Q¹èÔ±3Ÿ}þ#^‘ùÄq‰°uëV>ýôS¾þúkråÊÅK/½Ä¶mÛ¨\¹ò _·Zµj$&&fÚͼyóÐuùá2§UHèk9iO@âÙpW´è†®ë™B»ÝnUÇc·Û1ÜÇ(¥p¹\8ÒÒÒHOK#-=Gz:.§—¦ár¹À´À+—gÞ‘²þ­‘Ìøöäõ]Étå j”žÑÌ×w}mßïÚí2w hܸ1¿üò Mš4áûï¿§S§N’·é!#„"ÇÑ5 Ó4¯ø—4»ÍN­šµ.ûõÁ‡0~Â8Џ sìø1Ξ=sI#Œ–¿ÿþ›­[·2}útfÏžM•*Uxæ™g>|8•*UòÛ}²ºV‘"Eüv}qs,å^!ÉÝ\—µt´fjà™ž¤ih†Ž®ëÞ Æ°Ù¬)JAA‡„BXx8aáᄇ‡„a˜¦IZZÉ.””DRRÆ… ¤Ÿ€ÅVY¥®é^- -£é‹¦YÕ0žÆ´¦+y—ÎV>›©23ÖêNžëXÿRÀk=í¼2ãöX©¯qãÆ¬X±‚ÆK(#„ŸI #„"Ç1l6L—+ó’§×©LéÒÄ ŽcúŒé,[¶”.wE™™—ÑFqûûï¿™;w.+V¬à›o¾¡jÕª 2„‘#Gú5„·ŸQ¥tHÃêÝâÄ bL÷bÕJCCCÓt4]CÓutÝ@7¬©Jvw¿˜àà`BCC 'WD‘‘‘DEEEhh(†aàt8HNNæì¹sœ9}Úªžñ ê}¦¶š(k%L÷RÕ MiVðîùè÷0¦õ\¹ð†4šNæ`ÆÛô]ó~«°òÅ¿úæt‹ £OŸ>tîÜ™G}”/¾ø"ÐCâ¶àß@F¥³eÊ\:ÛDâq(Ô oM»ìÞÏ%Ç¡]¼>p1æç”i§xê¼2á>úÔ FÇÁæ×¦RãUÅðõ}^Ã(Îýö5îI¤Ø„,”—ÛcV¦BˆEýû –R¥J1òÕ‘—¼èz6›MBqGùûï¿Ù¼y3Ó¦Mã»ï¾#<<œñãÇ3zôh*V¬èá‰[ØÈ*îj˜ôŒºš 0ÝU1\Ä »ÃÃ00 kŠRPP!î¾1¹rå"**ŠÜyò7_>òäÎ-* rå‚à`‚].“’Èsê'°ÛíÞ©LVÃ]S™îÏv÷Ê|¦æc¬wÍ;ûõÒ*™L3>û4O(O”æ3‰Û"”Y»v- ,`üøñ$''3pà@"""˜9s&>ø <ð@ ‡(DŽçß ¹~áѱz¿;?}Ó’fÇ×òX³x–œ¶>žÔ¹¿y±ñŒ\É€Oº±`vKî;¿‰§~Í”}.ÀNµçàõšÇÑã7Ö'ƒ:û7¯ôHàHÓ6LZÂ!„Å¥ x³cs8n’s!.篿þbþüùtîÜ™èèh† F»víøã?HJJ¢wïÞƈËYYgTí¼†–fMMҜ££¡{þÑ têˆ1l6›Íf÷VŹ+cBBB'22’Üyò/_> äÏ­pa(V ¢£¡dI(WÊ•ÃVº4…K” páÂä˗Ȩ( ÂfØ0ŒŒðGs/ŸÒÐL¬F2¾‹y™Í§:Æ[™Ÿ¸|Ï¡£ŸÈy“1byóæ¥qãÆ$%%1þ|öïßÏ;ï¼Cxx8S¦LáÁäÛo¿ ôp…Èñüû)á çÙ9y±’”¡iUŶ Kxõ›&4ïÉñyËxon^\ەѵíÜƲß2ü#ôü ¡!wñ쌖|_m1ÝGGóöÙ9L8^ŠI?פ´Ý¯£B‘ƒYãR½"ÄXµj»víâÛo¿eÞ¼yÔªU‹Áƒóæ›oR¡B…@Oä£*ëàÐÐ=½aL¼Õ0pqUŒ{ÃݸW3Ü=c ##”ñ2ž-$$„ð°0"#" OÈŸîºËzfõ~IM…ÐPÐ4îr8HMM%5%…´ÔTÒÓÒp:¸\.tÝD)Óš¦¤»WYrOWrç3îpF‘yjY†2˜”Þb |ýæ´*™áÇóÎ;ï0hÐ ~üñGJ—.MÁ‚/9®ZµjüöÛo4jÔˆÙ³góÐC`´BÜüÈ”«BÇ2†÷ePÉ t­¸˜×üCrßPþŒ?гD-ºVÉHVŒÂeè£Ñå—¿9ä(FY;W®ÏŒ·þàîç>£vîÚ‘'KYÝQ!Äêì™3äÎ;[ï¡”‰aÈ÷q{Ø¿?›6mbêÔ©ÌŸ?ŸR¥J1|øpÞ~ûmÊ—/èá‰`TMk¥$o“^3£ÊD3ÁÁh¸k¹"Œ@F×Ü›a`èî%®m6ìvö +” ÂîÝo-}Mx8DFBîÜ7¯õ 9\.ëñüyòœ;GÒùó$_¸@jJ ŽôtœN'¦éB)k:“f*ÐJih(š²–±ö0×ÊøTÌX'î†Á£ûÚö±3{ÿÃøÉÈ‘#9räÕ6lÈï¿ÿNÆ %”â_ðo A”ïÏ­¶`ŠDAÊ?©¤+“¤ãi;’ܾwÕlä/ {.pÞšµØ(ó@uj=w5QåÚ9Jº !„¬ŸsƒìvRR’‰ŠŠÊÖ{8~‚ܹóÈ’»"ÇÚ¿?7ndÊ”)üøãÔ­[—AƒñÎ;ïH#®É¨:¤âî £YaŒo£ÜU1š»*F³BoUŒ{YkŸ@Æ=}H7tw…ŒÍÀxÃwƒ^ÍJw@×Áfƒ  ¶6ÏgsZDEATQQDž9ÃùsçHNN&-- ‡Ãér¢LS7­ H¹›ñfšDæ&‹ðå’c/z©yRÏÒÙ·ÑØ‹eåÊ•ÄÆÆòÜsÏñÎ;ïzHBä8þÍ9Îžç¬ ŠyBg‡ÏBhÅ‚4ˆ»‚aç9Î8}œ<–áDxÏ;ËgO/bMT~ŠžÛÆÀ×bØøNq"rXÙŸBÿ³Ûí”.]†Õ Ä6hH¾üùÑôŒo‡ã²S™\..—+ë ûô‹Qh8é$®N jµj؃¤ƒ™È9V­ZÅÑ£Gùøã‰§~ýú 8wß}—råÊzx"ÕX‡4 œd٠׸«aЬZtŸÕ”twµŒ;±:Éhèšf…1šŽ¡û„3ºõÚ0Gó­Œñyôö’ñM)2ªS¼¯•µ™¦Â4Ý•IIpîDDX }m6«™¯if®š±Ù "ÄÛ8»ÝŽÍf­ìd:\(÷=d2§*½ÎÀ\¼)ïŸ×Eo$c—£Ÿ16þö¨’ÉJLL «V­"66¥<òH ‡$DŽàß@¦V¾xâ0/÷ûœOÂ]õk3m~kîÍëþ¸Ž,Á[¿t'rà"&<>“ÑÊF±Øê|´ò>ú”2ÀqŠ_ÈÏE°rTq"5Àž‡>ÓZ3»òôøO%6¿_’Ü’É!ÄÏn"*·L%w–½{÷²nÝ:&OžÌ’%KhÔ¨ àƒ> lÙ²žÈ^oiwW}hè¦î®‚Á›d®‚!#|ñf(î×:`ºÖñNcÒ”»Bƾ¨ŒÆ7Ñ|ò¥TÆf*Leâ2]˜¦§ÓiïéihgÏZaŒgizºõ˜–Nwã\]G·ÙÜ+6dw2v6‡Ë¥c*Œ*P ‘Ð(ﮌF¿î±^ÎxY–Âhõ–¹yBO¥L·nÝ=$!ny~ d‚i»`˜÷3é¾þ/{¤½X9FÎ-G–ý»íyðË+ ¸xw©:,K©ãŸ¡ !„Bä {÷îeíÚµÄÅÅqäÈbbbxæ™gøè£(S¦L ‡'r€·Û†[Á‚©°iv«Ñ¬gÙfw&á©l2+¬Ñ4ë9xƒ L¬yGæÅ!ŽÏJK*cÚ‘ï×½;5P(”2½›§"ÆåryÃGz:éié_¸§NYÕ1JYALP¸œU2J®c³Ømvoƒ`›Í†a30\:¦é©ŽqO[òþø,—¤e±¶‡g*íSWeî€@ ~ýúÞPæðáÃ<÷Üs’·4Y¼H!„â³gÏÖ®]ËG}ÄòåËiÚ´)½zõâã?FÓ4bcc)Q¢D ‡)na=RÓebºÁA!(—‰r)LwC[PVH ð4€ÔèÏñy®éﳂï4'Ógz“ò-«ñé³â]…(#±‚Ó bL.WFeŒÃá ==´´Tìvú™3`3¬ó]. ¶®– N‡5…I)tMÃ0t÷ÊM6Æa躮»0MÓ;1IÓeÔ¹x›ózZËøLå²Êz¸4¨Ÿ5°µL“±4£^0xõíÛwÚ’Gýúõ™?>íÛ·'88˜AƒzHBܲ$B!„¸ìÙ³‡ÄÄD>üðCV¬XAóæÍéß¿?S¦L¡L™2,X°€„„Ê•+G×®]ùúë¯%”™,þ¿†¤¦¦’–šNdDN‡§Ã…Ëim¦Ó…i*”n¢L…r)” ʨxÚž+oè¢20*«PÆRx¾æé=“U[ßçžÄ]%ã2]Þê'N—'ŒI#ÍnÖf*áºg΂a€é²úÈèº5})-ÍÊ(S¡i†®cÓ ÷êMÖærY«Ae4÷U(ŸªKRoÈäóž!s(sI8cÝ?c·5êNÑ®];V¯^Mƒ È“'Ý»wô„¸%I #„B »wï&11‘¸¸8Ž?N‹-4hÓ¦M£téÒYž3yòdž~úiºté¬Y³$”¹Ó-Éùóç9îÅ‹— é|’’HNN!5%…´Ô4éN\†—áÂt™¸œ&Êebj™«f”fmš'”ñ™¶¤´‹ÂÏ£²šãÓSÆëâPƳÏ\&î{*wß—éÄé2p:8é¤;2ÂkÓ Ñ50t«&=Ý g\.HM…ôt”Ó‰2Mëòž¥´ÝM} ›ŽnêèJÃ4}šûjU½Loãâ0æŠ2æ„)÷•F¾lcøΫx[¨W¯ ÄÄÄ ”¢G’· d„BùÖ\· IDAT!n¢Ý»w³fÍ&NœÈï¿ÿN«V­x饗ˆ%&&æš®1iÒ$úõëÇC=Ä7ß|#¡Ìg%à€”d¨X‘ˆ3§‰8yŠÈS§8}ê4g‚‚±ÙÎaè:†n#ݰB§îÄåt¢k.\š‰†‰‰çQ¡0Ý­P2"OµŒæ[-ãûaŒïô¥K Ÿ%¦ÝÏ=Ò@éÊ=]É…ÓåÄát`8 Œôt+ˆ±VÃZ:;X)kpŽt°Ù3zʤ¥ár9­`I×Ð ÝÆè†nèh¦Ž†éÓÖWó©Üñ¬¾äzæpéš*d<çZ¡Œr/­î”f2nuëÖ%!!ÁÛè·gÏž’· d„BäHééé8N”º¸³¢hºŽÝfÃfº#VÇÙk×®]¬Y³†>ø€U«Vqß}÷1tèPf̘A©R¥nèš}ô àÁä›o¾!::ÚÏ£·–@(`JM†ÐÓ 6¹—Ë…ÃáÀt¹@®é蚆Fzæ9>‚•¯˜˜J·BÝ÷¾îÀžÆ¾¦º|(“ՒоË[û®d¤YÓ„¼ÁŒ{ŸU!£c88zFã00Ò tݺžR&!ž%¯ƒìÖ}œNp:p)—„è¸CÃfmºMGw¹«dÐP¦§ ±;€ñVîÑÜ×7iñ4—ñ커‡ŒÏs ëºî÷šeÃß;€'”ñTÊ<öØc’· d„Bä8©)):|ˆ­[¶pêäI¿__×u¢¢¢¨T¹2%JDæ÷{ˆÛß®]»ˆgذaœ;wŽ6mÚð /P£F aBBB(Y²d¦}'NdàÀ8p@™ÛѹyYÈ䱤aý(ï‚ð«—Jp!!¡„…‡»›â:½+Y›æ2Ñ Ýê!£+”²ú©(Í=mG÷©ŽQ¾U#î1éÚ¥¡Œ»ú#«Õ‡..ñTÈd™7S™î2:†ËÀáJÇæ4HK7Ðu+\B³§ÓIˆÓ‰-$Øjô«Ê™n-™­”·JF344CG7|•±Ê’gÓ|‚uQsÉì«+M]º¸æ»[cØ+!Œ~-5ëÿæ·©:uê°zõjêÕ«Gbb"&Lô„¸%H #þ?{ooGU¥ý?k×9÷ÞÜ$$„Q"$$@à C !¨ÐÒ 2ÉÐ"£[EÚV0@P-vÛ¢Äpø¯b+‚C+ŽÌˆÒÊœ–©2ÜñœSµ×ûÇžÖ®sNpÃå&ûáS©¹j×®º û{ŸµVRRRÒˆR£QÇsÏ=‡÷߇‡¾ÛOÚ•ÊÐþs–ç9žyê)ÜvÛ-ÐZc§iÓP­v é=’6N­\¹Ë—/Ç’%Kpß}÷áïþîïðÑ~§Ÿ~zLyµZ°`,Xд}É’%¯ëºIo2ÝóY`óñÀæ›› ;uØ©C=0CüÜ”}€jÕŽ*ªTªd•ŠJ”2á;AdÀŠ"MÆK2œÆ[TÈŸB°áK€€3h.ÿ,œ2ÌqL'|âàÈ=b'hh"º@® ¨Â„-Õó:TôŸ”q°h­QTsº@¨T+ 2ç:GÁ… :²Å€ e2*LŸk_ž;„- 6Ûbf#"~¨V¥±m_i)ª—ÏßD´Ï>ûàúë¯ÇÉ'ŸŒ}öÙüà‡»IIIîd’’’’’F”õzðA,8ôPLž2uƒÜ£R©`ê´i€~·'NDu\2I­µråJ,[¶ W^y%V¬X#Ž8\pfΜùº!LÒ¦¡ÿùúÉ»ÙXŒ·FoÖfʺU ;5Ôír @/€~ªÃàòÀ0›IüGÙ:Î @4ؤ½ÌPE†í(ßÄ-B•Ø»dX#®²Ä®t_"¸p%öPF»eerZ¡Q4 r Rê&Œi†9¶`“§ª«PD(´FÆ-ihTH˜£<˜!(&(˜ä¾¾ ’{f%Ý=-’û–=3%Ç ƒŒ²€'‰\<Ÿ»´ïÕ}(Ž?þxL›6 ûï¿?˜§žzêp7))iX•€LRRRRÒˆ3cõêU˜´ÃkË»ñj´ÙøqК‘ç›FEŒ¤õ×ã?Žk¯½ßýîwñÌ3Ïà=ïy>ýéOcæÌ™)t(i½tû%óÐÑÙ‰®Q]3v à’Ⱥ¬¸¬-diÀÀe— Ì è¸ì7†jƒ¨7ê¨ç 4Šò¢­ ›§E¸={?޶Gn( €U—¢œ1ðÀÅo·ëd–]¢`‚îÞìÛ¢áFÁ„¼ÈMx‘2ª “lˆÈuŽ,SÐÌÈ‹ò"‡f †ö}ê—”!¶ä‚—âľ0É}-HirɸGF›ueìF¥442h¶¥¶7±ä¾R{ï½7î½÷^ŸÄôôcppƒµrm\"L¸I[WJ  Ö¹y»4`á! †0L6T Äô ç: cʘ4˜È8e`Ös. ´ƒ2"árQ¦2“†FƦ\v–e`мðaK&I±É#cALEAi± @F—û¸‚¤KFöI;ãM1 ÍÊæH6 ‰l|;(³ ËAç”9í´Ó†»IIIâd’’’’’F¬64(q×O8fÓÕc=†{î¹_ùÊWðûßÿGu/^Œ=öØ#A˜¤õÒÿ=c'T**Õ *Õª €b°2pÃ8<,D(Èò:P+æØÎ¨ôÃ$ôµaLy èëzz€µk€žµèéëEojƒöZ¹Mp[@³öH†Ù…òpË9 ãs¾høÊEÒ!Ã"‘/ÙcAÊ„\2B8§ ƒÊ€mrÉèTX—LA Bs€¡‘éÂ$Î2€Zkãbã‚`óÏ(fLb_SþÚ%Œ¡ˆbYu ‚Åȸ¬Œq2PÆ„D)h(¥ýÓkVøçKÇá ¯y_ØÈÕ^{íå2<ð@Jô›´I*™¤¤¤¤¤§¡NâûJÚ´¹ééÑGÅå—_ŽeË–áñÇÇÑGÏ~ö³Øc=0iÒ¤án^ÒÐ7>0É'ÓU™2àE¸Oô0ÄBC#×9yõF £êÆ [ª×L!eEÔj@?ÐÓ îéÁÚžµèéëÁ`m¼ŽFÞ@®säº@¡ ã±`¦„É9a0ùbÊ ´]Q$À |¸Ã$îõÉSàö9¨´|ùkÒöp‚\ ×Ò¦T5vÊÝùÆ1©Ü~›c&äa[þ Ì´U¹ÊKl–šL‚c&A^¬ƒ©mrßv.@ÐZAU54 dÆ%£Ó¿.{íµ¾÷½ïá˜cŽÁÌ™3qÆg w“’’ÞP% “””””4âDDÈó|aKµZ ÷­¸ÏüéOxño϶ÜzìðÖ·b¿·ï‡ÎÎÎ7ª¹I#@>ú(î¾ûn|ùË_ÆC=„™3gâ¼óÎÃa‡– LÒzéªÞÆ*%œ0°ÎŽÀŒ/óLÈ 4Š:j:*µT3ë¾(@µ (AJЍÕä½}èííAo_eŸGFB-*¹6  ÐxGˆ27ôpFÙJK ¥ä¾öøR¸’_'ºÄ&™¯Ùh¯]Ê'Ú¥=Ç)¸€â¹¶¡F… Y4k¿4AÙ\˜»ŽydÁ Ù%“ØW»°%²‰x€!²!Z6§LhøP&§–.匪hŸ_F7%êÙ4uä‘GbÅŠ8à€ÀÌ8óÌ3‡»IIIo˜IJJJJ¡jŸÛå©§ŸÂÍ¿ø9Þ:õmØ}ÏYØfó1€çWõâégžÅ×¾ùuüÝa‡còޝØVúHÚ8õÈ#àî»ïÆW\GyÇ<.¿ürì¾ûîØ~û퇻yI#@KŽÛÊç5![F:1bjåF±]¬C¦@½Ñ@¥1US`:¸ò*P©À—@ÒàzƒèïïÇÀÀ 냨5j¨5ê¨çu4Š:®´Î ŒqAKeWŒH\ËĸD¾.|©ärñÑ:Â4…+ wŒç0.Á¯½‡ëÀ*Ÿ-X„.6ŸŒq˨0 ÄÖZBÆ™)ï "3Û Lö9ݻȰe¿]’_c mXèÀŒÈ/Ñ'­ .e C†`9 C¤¡ÈB&|ôÒ­ñå‹ÿö¾¾K{î¹§_bfœuÖYÃݤ¤¤7D È$%%%%mTúßgŸÁ¯o¹úTªUüþ°âÙ5 Ýv›: S&ïˆ_ßò ¼ãCÖ eªÕ*t‘2ÈlLú¾€'žxwÜq{ì1œp ø÷ÿwì¶Ûn Â$­—¾rÌfðî! °°¡1Pl' »bŠ1¥› ÎQÏkPuSîÚ”tÎQiT‘eæ&ÌŒ"ÏÑÈsÔëuÔQ¯7P¯ÕP«×PoÔ ŒÉëh9rm2ö~ewŒ U „µHÎøjJ"‡ —rÉ„p%[aˆ ûJ8ÃÒX‡IœàW8dlN™‚ b¤H[xR¸~­€‰MÈH™FÙ”Æ`Ò>ÿ ùð%ãq!ÿ»6AÀ(™WFdô \)ˆD_øK— ióÍÀcrÉ$Íœ9Ë—/ǬY³ÀÌøÐ‡>4ÜMJJÚàJ@&))))i£Q­^ÃOo¾sù{<·†ñ|ï ¶ß-ˆ ™Ñ(4îzÛS˜5÷0Üü‹ŸàŒSOOáK¹–,Y‚ë®»+V¬3cË-·Ä·¿ým̘1#A˜¤õÒï›`"S\u²àÅçA”¬78eÚ@hh²8† l&ÜIC£¡sT*ÆùZ3òùÉOw“’’6¨IJJJJY"j›;fÅoW`â”=UÅŸV`§mÇ £jÊŽÖò…&l>¦Š'^ÄÄÍGã­S߆û{?f8û ~ˆ¤ ­%K–àÚk¯ÅŠ+cÆŒÁi§†£>‡~ø0·.i$èKGmîãPÔ _ÚÍ›&.c1¤mÞjSH×GAà2ûr#k("›V£ÈsEÀW[ U—âľ>ŸŒ n"Oya²ÌÈ9\fãQ®dµ ޲•–\˜| l¸ëøü1¾”–\Ȉ=Œk Y*‡.¹ûÛ-eKyƒ•7Ò\Þ²iË9eöÜsO¼øâ‹¸üòˇ»IIIL È$%%%%8¹üå2O?û'ì¾çøÝ3}˜´å\÷Óÿ‘ù¯Ì043›½ x¦3wØ>°µ+Ÿ½Ëj' ­>ø`<òÈ#x饗cÇŽÅé§Ÿž LÒzëKGŽ&C4ð&ï‘aJbÝ'ï%_ΚÛA¨„‚ X· 4L¸MVäÈ”²ƒ¡µk¢0`&/ ä “Ä·ž7P·î˜‚uk#C•|8RœÈÖ—·‡²ÖŠ£œ1~å:œÆ—ºö`ÂYpœ™„ÂñÄÈŠKš ÌN™Âõ»*Iæz™f°Êl‚ÞДàBÈ!ãòÐd%(ƒà’a×VûžãJK%`4Cï2áZJ•ª+e!´‹›NNzÛÛÞ†_þò—8ꨣ°ãŽ;âœsÎî&%%m% “””””´ÑèÅžÇ6›Áš?¾„ßÜü{\Ña-;jÑϰßÌñÎÝ·Âí/¬;™bQ¤¤¾#EK—.EQ8ðÀ±hÑ"¼ë]ïî&%ý‡ƒ0 +—²b=\2>LËÊJˆrÇ(có¡h—£ ‡k4²BÙ|(VÌКQ…uÉäȹ2¶²R^4lî”"X)‚2ÁãÜ(‚§À¹cX8a,Œ‘aK­B–àr§XGŒ1ÐHwL”à·E ì(Ÿ ”)ƒ m÷²qá 83ñ<ÝçËQå20°$+Á"“L»Â{Hq³KÆ…-‰jK.<‹­ƒ'SrT&hM Jè3áÔÅSñÿ/zâÕ|º½ÞñŽwøð%fƇ?üáánRRÒ+™¤¤¤¤¤)]h(Õ:t©‘kô ¶)õ†F¶žyµ.^Kó’†AÓ§OÇ“O>‰¥K—â±ÇK@&©­Ê& =Y×äòǬ+\Éç*¡h=*sM¸˜‚Ë… Ÿ #Äå–QÊ„+™¿°˜98dÉsSÚºh ¡mÎ.DþWYÉä­ î™ÜELJ8m›B™fG ·X'·À!lÇ'ôõÇØ|2ÄÎTöÕŒH“OFC)—ÿ¦°=GÈÀé‘!dÂ{qɸ°'ÀÃØ<2!Ž‹Åû§æä¾M%°c‘í>hs€R€ ˜•€[Æ!Ãí.²‰k=öÀ²eËpà‚™ñÿøÃݤ¤¤!U2IIIII#R¼Í:Ú¶å–[á…5}˜´Å({OÅ{/ú);x²bæî·vܪ /®éÃ[nz½ÖöI#KÛn»-¶Új+œ{î¹ÐZããÿøp7)éM¢/5€<;–Û.ˆpEÈòÇ!§ âð¥.vI|ŒI}µ…1&¡/\X C‘†b…‚ Š3(m!`ÖZ(òBÀ˜ÂWS*ØàŠBzcDßrîW:š]. ^ŒÑņմOj•Ô×…#±†¯°Ô*wŒ'%öS[rsc˜”w("Ä RÖïÔTúÚWà `î,²áL”„ïÁÂe¡Ñzºd`a k « ­ÁÈ µ9À¤°¥u¨ e>ò‘ w“’’†L È$%%%%8)¥Ìÿç—r¼l¿ÝvxöÙ?aïéÓñR_Ãfï¥Jü®¶çíµC7_¹Ûo·mÓuœ*•ôÏäHÔý÷ßýöÛçw$(³ ëŠ÷m*á8hâÖÛA ^Ú:eŒñá,ƒ}®Dz8£aœÈ8d“?†J3ˆ4еqȉ Y ™ÂÃÅ„@¥$,xa$à‚1¶_\d’uÉ„¼(ñ1Mã Øm°‡· ]‚p›´3qnB"zq¶ÿ`Ö$ˆ— ÊA™Œ¼).\‰`` Aì ߎÏCÓî»p¢xQ€V€fd™FÎ0.K°\ØÒ‰—ÎÀõ?‚¤fí¾ûîøÎw¾ƒcŽ9—_~9ž}öÙánRRÒ(ýŸfRRRRÒˆ“Ê2À *„fΜ‰ë¯ÿ.¦MÙûMƒ•­A©ð?Úâì´utÞÀãÞ‡Ž{[ Ã2OBÒ›^n€ ÷ÝwößœwÞyÐZãŸþ韆¹uIo”¾|ôï¶€ Mt.„6¦õ6K"ã@ •€Œ¤D¸’’DÛÀ²Û>Ö`V (“gÄ‚g=a-2n²®Í2gŒ¨®äÂ~”¡)Ò#)Š1ÎãÃjì>ŽOAÙ5&òÇ»œ2l“Û¶ ]ò@lÆJ•—Ñ*„u‘C2¥¿§Ã+ÀÃWY pÉ$o&ñJ­³&ÔÿvôŽÔqÛ¨”ð×Ù„ì7E¤aòÛ— UŒ; ´VÆ­åú#¹dšôÈ#à®»îÂW\G}»îº+V®\‰+®¸ûØÇ†»yII¯[ È$%%%%Lµ¨²T­TqÈ! pû­7ãCß9ÓGãÏk4ú »Ca›± y£Ž_ýâ¿°Å„Íqée‹ñ¡3Ï´iÓZÜ‚mɤ‘ Õ«W£V ág÷Þ{/öÜsO|âŸyÇLÒÆ§+Ý2`a¼;F Û˜6ÛexR ÆÄ¹d8‚6ÁÃ6l\ÝÈät‰+1+ë1¾b@kÓâ+-i­Qh“'ÆTS*šùº0%[È»CXºM„ëúT‚-F4ŒLR.☖@Æò<Ã]6 ]ò ð ~=Œ!d(ròX E ä±–Ã)åWl —Œ‡2 Pf_-®îµ«²äÊj{H•½^Wrßp_ˆOÆt‹±JRùo•qzøá‡qçwâŠ+®Àã?ŽO<_üâ±Ûn»áž{îÁu×]‡‹/¾ÌŒsÏ=w¸››”ôº”€LRRRRÒˆ{+|¬‰ÛMÄÜÙ³ñË›„{ì&m±[Žôô à©'ÿ„ÿþÝ2äy;í4Ç®ùúÕøÐ™ 1uêÔÒ=FÞÖA“ôæÒ!‡‚ÞÞÞhÛÿ÷cÁ‚¸ð ±`Áì¹çžÃÔº¤¡ÖWß>ó‰+ßìU0nî—Ý~jP[HñÊaKnî@ 5m7®“ –œKÆäµÉâ+ÀAh»+ÅlV=²±dLÒ^¶•š\¸R¹ÄµîbT3A‘ù` “áЛ,þªõ Ž¢˜xœ–PÆrÈJ3Þ9#÷™4>ѯÌ{#çÞgd_– S2lÅae-;*´‘²àñ9d&tɾ ÷=±Ï,ÜR­\2îšó”ÒЬ©¬®´®’M›€¦L™‚¯~õ«Øyç› LY3fÌÀ=÷܃ٳgƒ™“2iÄ*™¤¤¤¤¤'E­5”j_»ºZ©bï½ön»ÿ#þ(®øÊ—°]ñ<ÿ·ç±fÍê&“€ÌÆ£3Ï<D„8Ë–-Ã^{í5ÜMJZO]{êdhž@@øéä¦?#'L´^Új¿=1n›1n@N-B—X‘W‚2š`ò (ŠávêáB4™]æá‚áIÚ–·v9cü"LÉ,¢d½Æƒ8±¯wÌ„®mÊ##&g&±,(‚2ÄHø"]2!”ÉÁ˜P›Ú€ mÂŒ =ÖrrtƹQ‘ûÇó8×ßä NHøÚæi†o> pøÖBW˜óiÈLn MP*X¢ÂSD8bñøé¢åØuÈ!‡¬÷±3fÌÀÝwß9sæàé§ŸÆ—¿üå Ø²¤¤ £d’’’’’Fœ²Jº("“ÿ«ÕÔ)SpîGÎŵÿ÷ZÜzë-8îØãÁ:.£Ý*$*iäêŒ3ÎðPfùòå ʼIuãGÞ†FÞ@^äкNBlÊPÆ‹âyËd¾r¹ _, ñ¥Å~çŠ ydˆ!1Xçà¤ppÆ;,\Œ¶`Öår¢¸gcb‰Ã’D__Q)ÊYÃÑu<çéÓrò^lIºx™™gPF:h¨¼ ¡KòµµpË–R†0s´ ]`DA Ó÷î²Þ%ƒ&ùWª-”ѰydJaUÎÀ"K_‹o$ [÷a2¥Q€¡™ 5AU v2ùoÎAœ¤õÓŒ3ð£ýóæÍøqãpÙe— w“’’^•IJJJJ™â×ï`™ùÉOSë’’^½IJJJJ‘r6ü ­F£±Áï‘44Úm·Ýš’ú¶Òi§†åË—ãä“OÆ´iÓ°÷ÞíCÛ’6œ^r,úúû0X«AÜ4»;ü6w qpRDPÆJ:cÜzˆO NçlâÁ¶…2qˆˆa@Ô\þZ&}U (²`†|h“Ééj½×âL IDAT«‘»•ðþXšÀ&°…2Úƒg41´r醑–åú.@ªdûJ‡e_e‰Äܹf„û¥É-#€‹ÀÒܽS[q‰ÌŒO}êSÃ⤤W¯d’’’’’F¤ÌÿÛ§ß#&?Y–­×±×\s <ð@ì¿ÿþ¸÷Þ{”y£tû%Xµz5Ö¬YcJ6ëÂLÊ5;ï‡O<˪Y»E”sÃþé½ð#~*/—3í0åcDþvyFüÀ\œëòÇHã@sŹ¿ðƒy“SƆ«d”€-Ä&¹1dÞÑgÞc·•++9Œ½Aph „'•Ý0ДÝ0$×Ý~j†2á…½²KƽW ;\^@-@p)ñ>#xö!ZƒX7Žå8­2!„ʶÇÁ¶u$÷-ÝÄ—¼ÖöV¤_ô&".Ÿ”´^Úe—]pçwbîܹ`fœþùÃݤ¤¤WT2IIIII#RkV¯Æøñã7è=˜õzð“Fž>øÁöß,_¾ûì³Ïð6hcÕ‹?V½ ¬Z…Áz õF ¢\ç(¸0s]زÍË8È ”¡$ÊÉIü [:`€ÈÓ”ÛcPF¸bZ®£É1cÖ[$ùu@„È&úåÒ¹ðPÆŒõm¨B;ÙZL¤„IöQ1ž#Ȥ¾Úm Æ©)T‰¤†æŠJë•GFÐ…î”\2e®ÎaÁõùð.jvÇø÷©CQ€í—àRqß…{Vߌ}·>M[‡Œ½™Am’û¶Ê%ãÎUª¡0 µ)€H‡7nm8)ÌkÓ.»ì‚;î¸óæÍ3ã_þå_†»IIIëT2IIIII#J £ZÅÀ@?Æ·AïõÂß^Àøñ›¯³šSÒÈÖ?øA‘‡2oûÛ‡»I‰þ` °ú%`õj`íZä½=èïïÃ@mµz u›¸7×n*Pp\¶9 [òÎæ±¿ÝËrÈ ß_œ;Ç'*¦À’|?–€E?på²}Rßrb_ù]ùä¾í]2D ðoˆ"†²¸Ek2e´ÝsƯs¿ w-ú%’^”ÙgŸ}°bÅ ÜxãÃݤ¤¤¶J@&))))iD©Z­bÊ”©¸wùr8ë l±å– 0F£m(SQ(Š¢õ…™}¾!oÔqÿ½Ë±ÇÛÞ†jGÇ?GÒÐëÁ\¯2erÊ)¾úÒ 7Ü€£Ž:j´nPq+) (€Á ·X³X½µµ«ÑÓÛ‹ÞÞ^ô÷÷a°6`œ2Ê9 ë”qP&Ê)ƒ”‰q €Œq£þ¾ €–`¦”‰'bšª-ycH8e|!åñe‡ ù6µtE¸|9ÊtÉ@À³ ÀCéŒqe³Í!TÉÍ41´@/c‰œ1²Äµ?O‚™VPbÄ6·åuö®rï¸%Œa9ª”Ò¦ÓÉ=@€wÞdK~;gŒËá#Õ¢°%w“&˜‘ÌW´ÏAÀ„(ÙgÌTÊ{»\9òí·èž¤W§wÞ?þñqÒI'᳟ý,.¼ðÂánRRRK% “””””4¢TíèÀ¤v@¡5~÷»&…-W]­VA%7K–e¨¸°#÷?À tv6C–¬RE–)ì3gbëm¶Áر›m¸J2M˜0¯ž}àÀÊ•+ñ¾÷½÷ÝwöÝwß!nÝÆ©ú¯.@ÇØ±@w7P­š’ÏZ08ˆ¢¿½}}èííAÿ@?008ˆšuÉÔò:ò¢†2¬QpÍq>- ŒéKwL 'NDž·wÄ8ÑkøŸZ"Bµ£cÆŒ}­ÍLzƒ5qâÄW,{½.}æ3ŸÁ.»ì‚8Ë—/OP¦nþÔþÝÝÑÝ£Ñ=º£Fu£³«ÕJÅQF¡5ò¼z£Z½†ÁÚ kƒ¨ÛÒÖõ¼aÜ1¹1Î!£Y{ãq é8¡oÀ-`LpJ49b¢mí¦f÷Ky[pàÀhCæï \”\çà–ñÛȺ:Út6‘……¬ËÅ‚ í2Žwçah¯‚3&„1Y0a.9dšœ2ŒØ-m/qnK· ü½Éß@66^6G@ãúß¹fä;€†[…E}êù|x^§··8wLÉ!%÷U.ŸL a\X”2Žu)6P†Ü‹³ )7•ì»ø=¸ÑOôÚ4}útÜvÛmX°`˜Ÿþô§‡»III‘IJJJJ‘ªV;0n| %JZ|òÉ>|iÙ²eØo¿ý†»IC¢S”BŽ šâßÉ›±,GcØïY÷Ù•Çl‰J¥‚j¥Šjµk;:ÐÙÙŽŽNttTQíè@¥’Ae™$kfSI©(lXRyž‡ÊJº0yctíæ¶r« äaŒSâ&‚1¾ÈÁ±|ÈÖÓ+åŽñ¹]Êƃˆ*åwP¸ŠMµ¢%Q lÑ@S¨›6²wÓ¸ã &8DXÛªO–äÐ+TQŠÜ1~{8¿å„Çȯ쎉rȈCÝ#I8ãßKc2ytäñÚ¸«9"㈘MæëC—œKÆÅß.q™H·(ͶUÛ"U­ YECÁ„.—ŒoLèoÅIz=š>}:n½õVrÈ!`f,Z´h¸›””ä•€LRRRRRRR’ÐI'ä¡ÌòåËG,”ù¥Ã…´1ΕÈP6(3ˆGe™‡4>J)dYf¦J•,CVµóJ•)¨,ƒÊȸeò^-œ?Z¼K‘?ÆD9‘Ïýâï)“9û$¿¢­ögŒ”{+fk@) ²Ð³¹®G³¤×'eæÍ›‡{ï½?ûÙφ»IIIIJJJJJJÚHôì³Ï¾®%©O<1rÊì¿ÿþCrÝ ­P ŒûÅC`HTðq¹2Ò™Øä(af?`¼ë}3*ö;d”…/Àd™‚ªØ¹2™‚Rd+ÑÀNã#¦€^4 ã ŽíGÛP2a€.]rrç”·ÃÔc€Ó aXïŠ!'ͺaŒ¿¶r°D57„¨4 2”!°_8rÆ0$d#ÿg-Ì„k™ŠKdÁŠƒìÈ\€1ÒcÈ~+㘑••š&'i‘¡Lò¹Ù‡Œß¹äŽqî k|¢2l)A˜2˜q&/¹,¶9÷ˆ¯´$¾Ï|Ç —¥¦صÅ_ÜÍm jH·Œx>âÐ3¾â’Ï}ËÁ%î%ý5&— 2¶ †Å97MÛùÒ“ñøÅßnÑAI¯VÓ¦Mïýke.»ì²ánRÒ&¬d’’’’’’’’Ö¡E‹açwƬY³°lÙ²a…2 ¦°n˜²#&2ÂCJùÉ倩vt ÚÑŽŽT+d•Šùí}Q ÏsÔêuÔQ«ÕÐh4 ˜Ésf˜Q° 5*˜ñ‡;Øý  ”tgH¨0ËÐÎ-Êä­Lñ@VJŒØ£2ÖŽ_7|A hüàJÕyd¿A@ iqN#bZ¹c´28ÄC—¨Aª´‡+ÉA;[I.d@aV0P†,”±Iš…©Å…V±½·&aÈNùcÐtwMŽª-±`H€ÊÃ`FÚu„›Æçk¨9¶mékOPÂ÷{!çÞ!à+ 5O×Nù,Â8ëKä 0†}InDáSÒ%#ÝWî[ó. å›cI!˜¬ e –’^¿vÚi'üêW¿Â»Þõ.03>ó™Ï w“’6Q% “””””4"U¯×‘7rpóhbHDJ¡Z© Ríˆ\îI›¦Ž?þxfÍš…¥K—bÖ¬Yoèý?ªêh1­öÂÍeˆ’”29^*• *ÄtuuaTw7ºGFWWªÕ*˜õzý}}èíëC_o/P«Õ0£5`óËä0ÐàÁ{ Tìz*Æh gÜà6#ËS‚¥Áÿiªf{nRVxñ„Ð2¤ª(SÎ*öH@CÑ1ÞY#Ü1M¹dlÕbå¯GŽ‘3Ô„×Ñ#!, (cúœ=¹Ò¶Ø°%8 +ï¶1wQ14B¸Rp"Q‹Ž·9‡l’ ubåÚFæ´!8.YŒo‚ƒ2­ª/!¸eNH{‡ŒL‚jX B>ŽÇu±|ø%ߩ业oEƒ) ø6Ì^ö0FLÑç(€ŒÍW;e(¸cØa–öaK†ÈOÂq_ïdB€0òÏΘP1YpbÜ@Œaq„ûïqŸ;Ø@)¡QlÊ`;7SÜÛ,¡ÅÇ‘4$š:u*yä~øá8ÿüóñ¯ÿú¯Ãݤ¤MH È$%%%%(5ê <ôàƒXp衘|ÉB¸å1 DК@ì›/L9|)iÃhêÔ©øÅ/~Ã?ÌŒÏþóÃݤ¤MD È$%%%%(13V¯^…I;LÞà÷Úlü8hÍÈó|ƒß+idéóŸÿ<öÛo?Ìž=wß}÷ë†2)…lŽ´vŘhé÷ä%—Œ“woxïE“™AB™j¥bœ2ÝÝ;v,ƇŽ-·:;1jË-1fÌT«U;Xe_›™ý€ÖÏ­SÆA™€?ÞÍØé 1j§ò$à ÊPÆ´ØŸíáˆ9J•š\©iÇ?¼Â19`wt dä¶2ñ.wrMj¦BÔc¨tlx;J„×8ADr“÷ÃØ-la ƒ-ŒqdAžGè¬ô=I'†AC‘r>þ¤„gC“cB¡j’o{€`2TI‚BرߔðþÝ1¡7ì±Nb±ìy‹…MÞ)e@þD]ºpËDéÜáRÏE%°íç¯B;̱ÌØwmœ2€•µÍȰ¥2”yË¥Æ_.N¹N6„¦L™‚Ÿÿüçx÷»ß fÆå—_>ÜMJÚ”€LRRRRÒˆ“ÖY–mðû(R~ð™”TÖÑGo¼³gÏÆ]wÝ…Ù³g·=öÉ'ŸÄoû[\uÕU7nnºé&¿ï_”BŽcZ˜–0FÊÁ eü®àŽ(þ»¶“ƒ3ÕJè5 3?`Æf£Gcz–Ak<ÏQä9Š¢0àÅ'(ee¬Ñîžþxc§ƒìn›‡Äçíƒá6 9°Ž’óZB"¹ªì;_æY@—È)cûШKÎfeJŽ&2ÔÀPt¬Øï\2-ž™m¿šY ,¾ †sÐèh{ WÂÃÆ«pè Ï.†Klà {‹«ÐQ‰áÙ›y¤ ¡Mõ `e(nšÏ*,шqÎ=ƒÜ–R‚{¥eç„ò@Ä~'>¢¬ÔÙò¯ù&³‡Lø©$c8 _R™¹w¬ü÷˜ªLsà eÖñƒ‘4š2e ~ö³Ÿáˆ#Ž3ã _øÂp7)i#W2IIIII#V”pôФ¤f½ï}ïÃM7Ý„9sæ4A™'žx+V¬ÀUW]…Ûo¿óæÍÃÂ… ñö·¿ðéL¡ÁÂäXˆä¨-H†-•Ž¥Ò²„2lKU³ÖÐZ£ÐÚça gP©@w7ÐÕŒ…nSëuÔj5Ôeì¢p'Ïý€¯ü£™‘xâ` Û,@( å#`F>HÌ;,ˆ!YÞØŒpP@pÒ¾rØ[À"ëߘ¡µ€.%G —¶û\9"¯ŒxKz “ûŠ–†ü1ì<-ÍP&Ì ” _ŽXg¹ ¿.¶¡B&ÄÈÀE™‡7&ì†-O¢Àzìµ$XL¨M\»†Â3Êï6tAÔâ¸wD—µ€2¦y L$,iúyâhæm  \N›r« ¡ý9°.—Éáíážë{wºKîËökk®À4áÒãå‹ÿ£Ü[IC$eæÏŸÛo¿÷ßÿp7)i#V2IIIII#NCÄ÷•Ôb(œô&ÔwÜñ†ä)먣ŽÂøCÌ™3ŸûÜç0yòd\uÕU¸ãŽ;0þ|œ}öÙøú×¿Ž©SMΣKª Æë1¿éEkã—E¸’<ÎMl!LÞhø©açEžûrÖÈ2 £¨VFãúú0qͬ]³½¶¶«¸äûަhmž¥eú<+°Í!ìC„HYG‡'qnëeñú§‘ ÆV·q×jJ邌!ŸhÕñÎ"‰­&†31Œñ#ñ’S†Jûƒk‘K¦ ºE@ØB–ËÄÈ0$²Ö•PÆ÷Ÿ¶pÅ]ÇB.F®\¶´1ç(—Ô×̽óÊÊìr.SÒYR0L¥&ûÚ*0¹gÄ&Ø&–þ–ߺ¥;Ì9âA6D.×òoö&—ŒØ.óYCL⛚˜t±Ëö›‹œ P&$uŽ*Gµ0æs·s•´a4yòd|ûÛ߯)§œ‚óÎ;_ü⇻II©IJJJJq""äyþŠaKïýÌ$¼¼öù–û&l¶ ~|Ñÿnˆæ% “æÎ;,@Ž<òH|âŸÀ\€ÝvÛ _|1¾ùÍobÊ”)þ˜KG)  Ð.a¯ƒ ëDh‚$# é·ýåafÙÏá&~Ôh4P·Î—Úà jƒƒ@­4@Q˜‹d0z40a¶Þzk¼ôâ‹X½júz{QD£Ñ0ë²qÆ?[ Êôøë-À¶‡xŠT”©øÛ¯­ßÚ’¹Ü"fpìrv˜¾±O霾rNx8™ÃNñô IDAT……M"€åÅZÀ–xŸ€3ydZ†-µrÅ´)ݢʒk|ŒÞàßfS™r‚_„%.¹aÂFn†s³@䇱ôÊ÷݄ÈÈ¢Íâ8‡ˆ«Œå{Ïå›1!Kl¡LcÅͳr»ˆØ¿??š¡ ‚C&JÜëzДëæÒvùˆšþvgñI— ìwìûÚK8÷Žë (r¿ùÇU¡—É~“MP&œÞöï@#ÓÊ$½1ÚqÇñãÿGy$>ö±áŠ+®î&%mDJ@&))))i£–ü_ÖÎJ÷°µ#éÍ¡§žz “'OÞ ÷øÃù§àÄ1Àµ«SªŒí ´¦ìhi‚ÔÊ S¾Ftœ¸ûd¾¥sÉc«×jµk1aÍtŽk’ûФ½P ]]]=z4ÆŒƒÑ£G£W„.9—Œ¯æ¤THìÂÀ™@Àª_›3ÈTdL'Ö™À¾T²0=EýInà+IÉS‚2Á)C@;×L‹ÊJ­Ã–Ìþ(gLËí¦±!”ɽÀÒ›µÄá¨&—ŒÏ! LHü+ÀLä–°ÆÃ®`ܶe¤;†AìrÉ„Gñ9h”‘îAYK kׯ²/L}‡å®qïšKçÀ2¡³;Dþ”Ø}XˆA!4JÜØ|®¯ÅÍ!@‹íK™_F†3E$û^´½nîk Œý-”·òØK~ÉÊOL@¦ (Wæ*é ÑŽ;îˆýèGx÷»ßéÓ§cåÊ•Ãݤ¤Dê•IJJJJJz‰èÕ•¼f³ VTdžkWÒ°kùòåX¾|yÓö'Ÿ|7Üp=ôPL™2K—.Ý ÷ÿòüÔLáÄ*áºð”Ž1íÀŒ9¹Ù+á–ÍoÌ›‡ûMž —øÓ.Gbš"JU»©V«a ¿½½½X»f V¯^ ¸©§èï7¹eò™RèêìDww·™ººL¹ìj•,ƒR J)R¦ÍvŠë·P`hÀd;Ö¦úsxÿ§/΢`VTUö~?±²ËÊ.»‰ür…Bîc³ÍìËÂ1PМù}™ì±lŽ“j:WÛíaÊìyå)k¾¿lËk‡v¥vDÏè“Ï Ú,—žM^ÂÄnÙo§°î&»ý~+{œ¢ø:d œ cc›´™Ýydöù¹;F…oí;Žæ÷)Ø9„k+y¼¹'€ÌÍ ¤”‘ßNLþæÌØz²»†¥JdÁ ‘ïŸ(—‘‚¤ŠÑŸtȘüÅŒJ‘£óâ‹ÚýM’4„zòÉ'ñƒüguyäüÏÿüÞýîww³’6%‡LRRRRÒˆ“+Ý[ÎóWÍǃO‡ygg4(8GÁ9zj/EûþT—_ßcÇpåÂÛâmà²ÚIC«éÓ§û¤¾O<ñ~ûÛßâꫯƭ·ÞŠƒ>gŸ}6®¾új_íh¨tét¨Ïnh¨ ì¬ð-ÍxoW¯ð{0ŸäUz@ŒÚ}‰Ú°ÌC"% Ky;Ûò×Ì ­5mØÒÚµk±fõjŒ=£«Usnµj2EP©VÑÕÑQ]]èêêBgg§qÉT*¦Œ¶R€ÖÐvPÚºdŸË•ýþëíÀ¶‡˜.2™qD!LÁ+aÿ,=qf¬_Ã9_XywŒËìs”ÊQ¸’=¦)§Œ 7m®$Ý0Í8-~âèF!,ìÁ”pÉDˆO—–„Fl“AsmgÀ‡ÈxOGì‰Ü3¡uäYî:ðsc‹/ƬY³ðì³ÏâÃþ0–,Y2ÜMMáJ@&))))i£Ñaû|}õœõž Qɪ`Ö(¸S¨½Å ¨v)¨ áô£Ïh4êø¯Û¿‡Ãöù@ËkEúÞ‘¢žž<ù䓘?>n¿ývÌ›7 .Ä5×\3ôfoP¨ AÈ `ç c¬&@›|Óˆ0—¿f`KfLj—ÿETSrÛÐb½,§i_i»( 8SžlÕ¥þ¾>ôöô`ÍêÕèîîFµZE0j”9Ά%9(ÓÙÑÎÎNtvv¢£ZE½R1¹d\Λ7ƇbÉÜ2v^À Äÿv °õ;[@÷,.tÄVYŠ“pν: Yj·à‹ÜÞ`JÀƼ½r ì8Ùo c Ö×õ†!B“Ü[-UZòð…ìz9Œô …mTê¥ò\B˜ÎH0ãš/QB€3 ÷¤Ô„¼ðíºû)bhÒ–½\(Kë‹ë+×ÍÄvW³Ë$†1æ+ÓV-ûÝ·I~Wˆ9hcûÏåÖñ!u!d‰})l²­Œ18Ń ”)¿wÿ…„#ìWl’_#+rdŸ¾Åe—´út’^ƒnºé&\y啸í¶Û0wî\,\¸0ùùË_K–,Áyç‡sÎ9_ýêW‡³ÉI#\ È$%%%%HéBC©8téˆ}OÅý+߬ø>œù.<ü×;Q¨8k ç> ÐKè•á§ü˜æN:xäØu»}qľ§¶¾.ÞˆÇIÝ}÷Ýx衇ðÅ/~ßøÆ7¢’ÓC¡K²¦PŒ­£3/€q œÔIà†>XÎ1'SØF3¾«ï'(#G_mª)¹u©v€F½IBf.Ô"L‰ež[²Zjƒƒ&liíZtww£«³² ÊæA­†Ü&ïUD¨T*è¨VÑQ­¢j§¼Ñ@asÇsÈ”ÚåÚÍÖ1ã Ì‹¿¶<>,š|"Uÿ´Ê8—ùq³¿.È‚µ‡,¸„’v Æ9f|R_á†iØ·MRßV`&XDZ¼Ùȃ_ –Ý{• †Ä> \œ‘•—ZØÖ¹ß;jÜw&Þ’IzEçŒÜçœ(n¹cà`Œ€2ý}}¾âÒ¨Q£P­T0Fkd• ò cÒʬú9°ù;(SPÆ:ˆ\Ya‹ ì .W‹0\ñ`»ìC–š2(åø & Þ˜e°©)d)^ùzx`–ËŽ&ó”/q¦‡,9£Å~™¸·ÎÈÒì”ia¢JLpn”Ž!€´¿4Àþ©á+wŒm«Ml­ p`Œ|ëÉVd2à†‰LÊß—$@ 3Ö˜sLÛBÿÃB›ðN8ze— s ¶“)e/{\¾c„+FK(S ]j¥Ö. ]Q £¢“‹s(uÎ9ç¬÷±“&MÂ~ðwÜqøÐ‡>„«¯¾z¶,icUJê›””””4⤔²ãJnšº:ºqÙ‰ÿ‰›n½]j,Æuo~~µl :º:FeØ~Â4l=j*î\z ŸðŸèêèny­J%ýÞb$éÑGÅ–[n‰… bþüùxüñÇ_ÓuÏϰxN†Å³2ÐjªÔ0† 3…_ƒ#&$r¼í˜J„cá{šñ47Fñ)Ѱ¾Ý´ÞÇ•óȈ0¥²CÆMÊôÚ2ؽ==èïëÃàÀµŠ…. 7 “ aK%÷‹9Ï&%œ0ÍNá ñëÜôVÅ;CpÊD¡K"ŒsÃHo·p¬Û%‡)A¸d¢0¥&ÇŒÜ0™m鎱½å($ ‘† ù áTd¿ ׿®§4!T‹\2Á!•ìÓ‡Œ™Û뵡£æŸãÌ ?ö’ûVm°Ë·!&:ç®å]2ªºd¿#Òs^e(S¯v@5Yž\2o”Þò–·àç?ÿyÎ4iÒ$üä'?ÁG>òœqÆøú׿>Œ-LiJ@&))))idªE•%©Ãöúüö‰[°ô÷¿ÁÎ3fãÞ—ŸA¥Caï­þ¿½ovØ|w¶×?¬ófp˜ˆÌHÑ;ìà«,]xá… "Ì›7·ß~{K(óÿ½³Ó¤ØÐ ¥•-· °„1v›tÃp«Q—“X§Ò§ã†ÀS‰°€·2c‚HôÛ Æ´¦ËAÚk’ƒ16œ(‚2n* èÙ,¶±yf_¥0?ÐG+…I%çK;ƒ6Ç”]2íT®²ä@ŒŸJ.™¼Ñ@_:ªU("°Ö¨T*ÐZ£Èsh eÀ E„ŒÈ;cܤmXˆ!$Þ%ca Ù¹w(3 òŸN6P†%”)Èð¸A<Œ‘îå·9ࢽS†"@ïŽÄðE:dBn™Ì4—¸vÇ ´hÿÖ$€)9dš–©´­UÉë²K&†0­œ2¯ä˜)ÃÕ´¿(}fÀP®Å¢—Ã\ a@¶×ë#ø\2D€Cìˆô2ÖÁå4ì«@™¿öÝ7 ëpA2 ‰ß„Ë+ã MÙ¹å—ådóÊ rÉ„oÄ÷/13 T¸À@µ ª•ä’vm¿ýöøîw¿‹O<§v¾ùÍow“’F€R™¤¤¤¤¤©0n?uV»qÉq×ã×·ý[al¡wÆÍ¿ºw=:«­óÆ”§¤‘­óÏ?ïÝ™ñÞƒ«Ž :*UT³**ª‚LU Ù‰ü`²ÐEf7ƒX“® mH7Ÿ%—§áX¥p£ÖxÆW©‰‹&jâCœGr¹ÔMÛ$˜i‘G¦pS£Úà úû180€ÁÔQ¯ÕÛò׬Crm"2N1);¹²t*¬Ëâ¿ý à ìȘ5 5A뀹ÂÓÁ.WLÈ/#sÄè¶y^¾( 7çvÑ,ò¾pë|/!'‹ÌÁ¢Ä<ì+¢ëgÐ-Î-çr‰sϨÒvÙ¦¬é:áú*ºO9·L«íQ>™–ûE_Èü6çæÑ~[xVÙ?…ÏÓBÑsÊçó“ÏA#¯oß»t×ó!n$û@5=›†ËãráÄï.c'„ÉäÊ íñn,7(Ëþ0]9ôœJ®gI1t… Ðœä>é×öÛo믿üãqê©§ws’F€’C&))))iÄIAk ¥^ù÷ ;lµ N™w~vë5€Sæ^„¶Úe½`K2#KþóŸÑÛÛ xìª÷cíÚôööàˆ}ÞŠþþÔQ£ Ô‘ë\D’hh(HGû“-˜!ïTb¯Ky-vÐ"Ç­‹å‰pŒRøÖx_ §Ì«Q+ÇŒTäÅ(ÃG²dÕŠ<7¡IyŽÁÁAT+("E"2¥­m¥%Øð'‚ùùTÄH—Œi€ˆ ä\2îæà8È50ø# ë8€+€ªh:³ùdÈÿŠQ›‚K&rÇ„P¦rÙë¨$q¦TvËX§K«|2ªµÎ%ã ßú:d ¾<“u6µpÊ„oW¬“Ë‚œ2e'LXnSÚÚ-s;×L»©µ3&ÚGÁÃu”Üzè% ,eÈRp»°}c WrÛbVï’=O¥Þ¾Ç°l~ü9䇱Ÿ¨ MbŠÅZ•¾n ]‚KF~o-Kb»öH,Ì>Ä«¢sdT 切jŒê9‹Ðøêâ¶ßRÒ#eŽ9æì¶Ûnxøá‡‡»IIob% “””””4â”U*ÐE±Þ×wÍ<ÿù~¿,£¿N% 3¢ôâ‹/¢ç¹?÷|'¾£º^BGµŠŒ23 Ók ÎÖ9@ mÌ!4pfÐe¶ ÎB„£E„8XB’ò:˜, ÌQJa‡ yË_"•öµüY¹Zä9$á‡Ë##C–”q¡KzµÁASáLkR~Ÿ [r÷qP&#BaØXkŽÄ¾”ÚïûG„.) *7•“Tmîë”&“_ë@¬"@ãKbË% _|b_;X–ë.qïºÀL«ò×­B˜(zâàði~ó2­/·œÇ“ ¬¡h;A‹åf#i†/­Ã•Ög¤çC‚ f`÷)jªÄ1¸‰B ÅÌÁþgÑ;Þä’te‘3íßï½ÿÇÞ»ÇëUUçþϘë}ß}IBá’ ÜETÄ[iµ" E[«Ö*¢ÕZO+‚(V-Ú6^Z­—úk•«V«þ¤Ú¢­¢X{ª§=*Áû•û=ÉNv²÷{Ysœ?æsŽ9×zwv0!Ù8Ÿ|ëú®5×\ëÝìùÝÏÿ²®wUÜþ$B¯Rì!¤Ñ ¥c†ÂÏ"àW÷¿ ›Š,ºvˆ~5î˜aqÉì-:äCpÉ%—àœsÎÁ¹çž‹Ë.»lO7©h/U2EEEEEKS¼s–—?õ]îc;ñ™N§S ÌÒ 'œ€­G¬]ƒ ‡Côûôû} ºŒŒªÖÔÞ!—?ÈĤ"€Iök(“ŽÁÙÌB`F;eN# ¾úR£‹Ð8@£‡œá62(c³<2¾d}Õ¥Ê'è5U¶#2Ê!C>_L¥2~›NìKDi_g ~uÿ0x ú(@/L·†µÖç’©ÒSI5 I e±ˆ1M§ŒNì /ªS6 l×h@WTÊÁL‹qȤo¤ÀÁ39Œ—Ô7šv—L aÆ9eçŠI§frß6×Lôõä0Ædë¤ :]ä® "‚2Ô¥BešO#}‘ÀÊÿ$? 5{=°:ùä“ñ…/|çž{.žÿüçãïx:è =ݬ¢½L%‡LQQQQÑ’ÔbrÈìŠi8îé[-ÚYù"`j ½‰^,Á\¹¹©Œ/ƒK!’DþjžŠô¸,Bµ¨Å#bc’Ì™÷~'å$§j&ò»´YGë0e®°%Âãv­û²O”‹xqÌ -!Ky‚_ëɈÙJæ˜Ô×Úös+—LH9««,%ñdñ»KD.¤*nˆßí°PÏÕF š¨QQÚvèªÊÀ>q*tU¥èŽa_y)&öûcR_·!ñ¯ÐIÕ¥ŒÀA’ɺ$À$ŸQ½”$”U’â½Çåøî&ó¤všÀ7™HÜLq_ž¬WðUÜ·p’ßÅU[B˱ù¶˜”·Qi©u9uV1š=Û\÷Ká_ìõtM/§½/‰xÝz#É/§½.EÀlXW½ÄPI¦Uî]Õ þ‹¿ÙØ·Öå©\ì.1œèÂÌ—ÌÞ¨uëÖáúë¯Ç‹_übœþùø›¿ù¬Y³fO7«hª™¢¢¢¢¢%¥n¯‡ÃÖ¯Gm-®»îZÌÌÌ„\!Ýn”¹YªªBG²,a „‰‰&d©:]T• Ç>âÄqàAaÅŠ}vß = zú_ÿø’caÙ‚9B™fMmÛÇۜΓ¡UÇ ˆÉÀL€1ðãùܲãužH„Qúp IDATÿdÆAÖ∟í¹G'Jæ˜É]2Iè’)]íÛ"I€Y¹lô¹ *, ˜Q(kÝlh bô€a Ш+À\ ày„ÞêjtPsåA”Î(CÁ%cÕ² e2°÷±wÀ„ª7¡ìµ®ùMaBõ¥Ô&¥ÑÁŽË_û±·Tø!±üø{Ià ƒIò]-bÆìk«²$°f\Y,˜i¯¶Ô„0íë)„1-Ûv aÔv`ÒªK±÷‘,7ŸEþþ±ßǬ` E$ ŒÇÏXù úÒÕ—|®#0hâ6Õ¦Ø^Á…T1¨ftë!†½.l`~wìÇþ¬ñ¹¢=«ƒ>üàñû¿ÿûxùË_Ž¿ýÛ¿-PæXÈ-9MMOã˜cÁºuë0wĈˆš¿ÈîHD„n¯‡åËWÜßfíezÞû€>ÿPX8(ŠçXÀ´íË·Ñ!£J_Äñ´t˜@Z^åSŒÁ̸ÂZœ àÈû e·&`F”àa¶1 ºv€ÅƒPÙ'›p~š$]åALøF¶}7uˆU£ 6ä\°.t©®€Î'|¡»lˆwPÛ T±>¥42@ÎÊa' &®§)0cÏvj4 ‡4mu¥Ò­¬/­‡4Åa’uk0f Æïk‡4© Ƶ¥Ý1£]3‹uĴÖÅ@™¶R׬¾bcÂ÷ؽJÚ—ÔŽ¼Hí'ï”:B?õ<âkÝ1jnýSÑpF¶·ÃJÀŒ¸ešR`”K†”KFÀŒ:€©-ºÖ¹d0‡¢½T|0>ðà%/y Î;ï<¼ç=ï)PæTÈ-Iu»=¬\UB‰ŠvN/¾ü\òì2É(Ã2ÞÉL’Œ· Îä|$wÈ(§Œ2>4–!§ã”yVUኺ^<”QáJ¢0ü×. qÊèä¾ð®kت‚­k÷yu}]IwS¨¤„è1ÈÀ¯cLÕ &]RGC€+Àó¯ŒÎ3‡èTŒ¸£ÛºC¼âLPFƒºdɹ^$|$äöPËá¥É1’LHÁ˜·[ØáÆ|¿úÿ²ZCpÃŒ‰ †ã‰#FÀÌ)p€?F;fRØBjyçÖv²—9,ç¦Í9“¢­„&® jô–ó%ý²iw Àñ.I;dXÁÀŠ“†Òž×P° eȃCã—É;±ü'i·Éýø’ì7 c¶ÃèÔ# {]`0ÏÚ{EqÉì:øàƒñþ÷¿/}éKñGôGxï{ß‹µk×îéf=À*@¦¨¨¨¨¨¨èA¡/ùËØ²eËû£OÜÿïûE#yd˜Ù!€瘑?^¸t䇾²îÛ°˜ ˃8ŒÏ®*|ÂC™£vÖ)ã!Œ\GÏ¡×=ˆ ®U^)AmYù1ü1:1pf,rÈÀ&tä°…’s4å„4 l0÷|/abmCî:(“ubâB€82ㇸÎ1C‰#&É%3.l) ]jÂ㟃žRFhµ@qA2ãæ; [ŠÛS‡Læ˜ Î©&\Ù0!Ë8ÇL¾mxYLÈ’†.ã¶éð%ý]h:dÄ3”¼?òlHœ.©&„&)cÅMƒÊÐs§þ=’÷T ŒvÊË›éÀ º˜šÑ³ z=` ½ñ¥0B:ÕnúÓ“n/×ÁŒ¿ÿû¿Ç3žñ <úÑÆ5×\S Ì/˜ )******zPèä“OÆìì좎½àSñ×O_‰à@ Ô-³C£·ù³þì¸<2:| ;^Nx3UPæINôPF6(O–+N“¼²‘L ¦0sšäWMÖ—©f^ Ózî1••픶ʱr¾†K&B3ÐqI~Íç,êgWè-`È]w| `ñ™dm¹eLšìW;bTÈR„1-µÎCß4‡Lš†V Ô¶¬+ü9_SydœEÔøü0ɾˆÈ¿Ô9pÑàE»fvìˆi/»+d‰à2. LÖ¶S¶ j-nÑÏ$uÉDwLpÉv¿¤ëã  Z]2p°2Ü¡¿+|­NN ŒíTµEÕ«QOT0ÏØû©¥ç’ùó? €ð”ôCU¹¹ÞtVÔÀ®Zz`fíÚµxßûÞ‡ /¼ø‡ˆ¿û»¿+PæH÷?3\QQQQQQQÑ^¤åË—cÙ²e‹>þÂ+gš“A™|9Ïת–õØ\ ãæù¶qË &Ü8”gƒÿ°7ú¢ÅN’œ1aÊUî3VrÉèœ1â É]2%­u—úð¥¶cˆ¥±ÇÜCCC€-Àó@õo5zv€.†0,!Jヺ„ºÔXæX;”X欜2›Pþ:/ÍlUIçXÚ¹RŸ×%“u9å¬Ü2Åò×iyìXj9”‡¦*-•™NK`·•ºVe ÕyÚKYgå Ãñiiítÿ¸õ´4uZ&;/ïm×[¸Ävz¼.Kʉ«åüXý<¹Գa¸IžŸ,³Ÿ,Ô²Úµ¬KcËvÀÃ@I*í0Hî@~Nph5*] ªj`ÀÔ¸/ÎÞ«?}]l Öšø ÖœLý|Ö&µ7QáMOYzžƒN8ùÈG@DxéK_Š;î¸cO7©èR2EEEEEEE¿°ºè_·£.‰Ûe0&ûÓ|2`ØŒi4ȶe§>Î<§ªðEfü8+7³¤ Ê$¡K²$“6P¹fínÑm#Z¸ë´ƒF»grg_bƇ/°°¨¾XcÒÌ£ƒˆó´ªZ’†.§ KVŽ8¯¡¡Ms=‡m@"›Æ?•ƒ, h@™Þ´‚Œ°°BMSës·ÁJ×3ÙÖöŒ‡-é=´A›&|ñ·×dûõý¦Ëãú° N…¹‚2ÌPåÃßRø2nB1)œqÛ}¸œ_×ÔV'$–Ÿò„¹K .£S€e€yƆ֟{›^·a¿~ l£ @û03~ZŠPfíÚµ¸ä’KÐétðð¸ýöÛ÷t“Š STTTTTTô ­?þì¶Œb°ÿ¥^»exñ.™¶dN›6×Ì¢¶!!Âsª Ÿ©kü¨ÊäÓ,3n©k\Ýïckæ¬à`ŠÊã6q3lI‡3åËeÚ\7Ú#PF¶éi{ °’Q( ŸO‚k÷4ÃèQ×Ð!1@ Iq‚SFÁ-œ:c,œ#Æ&®˜|ÒŒ|^9˜¢ø”‡Æ`?À92ÓÙ9ëüXn¶)‡/M(£¡DžvgrX’;MrèÒs¨í:;çÂÑíhƒ2M‡LÓIŸC;”7Œõ E Ì8—Œ8eÒɤPFÁ™f ßrfH’([TT=‚é1Ì„–ïÜÏÅ=¡‹6¬×\{#@Ff-7Ùf Ëo^ÂP¦×ë(ó ¢¥÷–  G`¶;>ø~ˆŒA·ÓA§Ûk­Ì[´÷éÚk¯ÅÖ­[ï×g_ó¹íxëS§\  Í£Ö“ý;Z–”Ps &úEœÍm$×Ìöi ”ù¸Oô{Œ1I.™­ÌØh-¾W×ø®µXE„“º]¬4&¸XÆæ}À".½„ÁÚ-Ó–ØWs)Ý­–FrÐdÝî:„ªAË%£ÿ€>r0†-@s@ïßৃª‡!÷0 ¹d$¿ …$¿1Œƒ1.Áožg&–ÀÎË_Ë6ÊÿL¯b)y‚ß<ã‰ÜN¼)C†õR¨¶$}.©sÓ¼2’`#Ö ²þZi_äyctPWâ%ò™”w.©/ÜÖLø‹–9 ²©´ì‹ïN[î˜æºÎ(µ–½Tøÿ°zWý®Ü—ä}’<2¾êRÈÓÌ!ÓÞóq9í µ®’F‡»âe ;(CÃö¦¶°Ë Ìoo€ýäÞ—Kæ%Ã4æÐc€uòbq„.’›Ë¯'_é,¯—èÍOéàõW¸›ÙZ³f ÞûÞ÷âw~çw°~ýz|ìcÃ3ŸùÌ=ݬ¢Ý¤dŠŠŠŠŠ–œæçæpÛí·áÆnÀÆûîÛåç7Æ`åÊ•xèñÇã°ÃÖcjzz—_£h×kýúõ‹NêÛ¦×^5‡¿ßGÌ#£&ÚÁúB“úkïBóÅ#c·|:Ĭö÷pj§ƒGVö—Ð$5é°è}cª-0¹&›Æg\’ᤋڠM²ž.qœrƒb[T» À0ùßó˜âíèaÃu€ÇqG$`ÕÄ¡ê’Oî«sÉÈ2bž›å•iäXaŸ—Æçoaù\’&Ï" ~}NNcõ9ÎΡ+ åžÚ®×ÈÓÈí’'ê?µç²IsµŒMèrÅŒKì;>'MžÈ¸}š,¹&“œS÷{z|Ú:÷M¨°”Í%Éo˜L§‘;†,wS¦–Éȶ ä'ªc@ar°T²_”Eej`‚€)€V1Ì37,â'áîÓS7œŠçlxº4B…:*ç¤r“1ÞUÕb>kæA’;¦Å¬†·üzwOÜêÏ­'>ñ‰¸êª«ÐívqöÙgãóŸÿüžnRÑ.V2EEEEEKJ̌͛7á°õGìökí³j%¬eŒFK+þ¼èçן|a Hï|ÙÕPíÇ´Žˆpª1øÌh„ï/T{\ÞÿÉ~\t’ß¶œ1ÁÙ¢ÏéA‹.smZö”«!Þ{tÉ€ŒáB—,€Àv`ÙnÇ$æ³RØ®­âµIœ l"œ‘d¿¡ ¶TYÒÉ}ÉæÝ¾ÚC—N°£?ïÎ'å—Ýz–˜6%–)Oê«ÿV- €›gl"_N†´%á] ±olII¬&5.Áo {ªìžÚ 7Û*O‘ÉÚ ü&‰~Œ1~Ýtr††2q9B™ÈTn¢*.›*ÀcœûÌ+<”1“šè †ù=eÎØðËXŽÙcÄñ'¹bÆ,žä"~÷«|RÛ ð–3—¦ÓõW~åWpÕUW¡×ë(ó T2EEEEEKNÖZT†±eÈÄ„¥E{½~øÃâG?úÑ.;ߟ|a0ÄÜ_@³À¥¨mmNØçt:øL]7 LßèÜ1*çÐ@Àœi¸dò*K ÀŸFÕ¥|{Ë„ƒ|›ã3c‚K¼¬¡LÀ,°ß]1>*ŒÚ¡ §ùdˆ¸`ÒòÖº”¹bÈC 0F—Èf=O\/ÍÁ}“b('Žõ€'ú|\5ÎÛZ)‰ªü”–{N\!’(ØÐ !ÆV‚ÊáH³Üu›ëe\ÿ4«[í¨:SöXD§L\ήEêž)í«K tÉÝ1‰3¦é”€êÄe¡ )8CU'1Î!#ÁBe€Š1 YPÀÓÌé,”ùµ OÀæÐ¡$ 0æRÎcAÆo“ w¹ûeÌÏà†;¦òÛÊœµt¡Ìç>÷¹eÎ;ï¼=ݤ¢]¤’C¦¨¨¨¨hÉjwƒ9Á1KCUUÁ˜]û·¦‹¯à-OqV÷ä=È_жÜ2ãT»±KnBšø™óßoìþìZ`18§ÓÁGF#ªfHª1-ËÁ#ûò%8pÂà´…0©I§}0D°êüœå“!ik’ðW’ÌF&“ô…Oð+ÕWÈ'øÅ<@72–4‹yLb€ Hí$ ]r9@|â^dP|²_Û–Ø—Ó4´y²ÞX”XåûðÇ|.JpT¤tááKŸë¤½H×%‡ŒÀ2ÿÏ‚}u$Á!YsÈP:Òß5»<5ÄéÀ9úˆÜ;!é…öîhÛM²Í-‡ü0ù>ÊÍ4~Y½3mÉ}ã<¼TÙóˆÛ%§r|”V_òï’|=Hˆ9Œ$Œ$…ûü0ðsYgÀ0ÅkY>™@¨Â[â,c£N<éúÁ¦'oøULSŒZ“¼DÆ„lMn»¼ªò#ÔÉΟ‹È?7Iþëçm9¸–‚>ÿùÏãSŸú`8â’K.Á{Þóž=ܪ¢]¡dŠŠŠŠŠ–œvGÞ˜…4î×½¢½KGyäý.{½.¾z  €&|‘m‹]÷Ù=uþV†‡2À‚‰5ŒQù/ƒ4T9ÄœÛíâ²áwY‹'õz­Çs²„c´Í%¿?‡£ãÜ-ù¹ ü@2<ûÊ«.…ý®WHw†ñPF:©00¬ü?3ØþøiUu)&ø hÂn%ÌH'øMÊ_³GÐDLà¶7@ŒŒ$YÃÉûÿäŸà'¸DÑ•$ýÍv#ðʰõ÷AaëZ1ÀÖæŒñT!v£õƒ?WƒçäEqy¡ä¾ºhÌeŸóë¤á‹ÀžÄ´E²pcÛPF-Cm [¨Êdo%«]:ì @â—Õ»×UOÊcñս ÂÜW¸eãk,½ÀŒ›W~Y¾£^åmÜ¿öoþ »KÙð4,£YLÒ•‡1Ñ“~Ïå½µlœ£G‡‹¦—ÕÏâÆÿ«ýÇÀÅÀ_<}re×ßì.Öç?ÿy|ò“ŸÄÇ?þñðÿ¶G>ò‘¸å–[pàîáÖí* STTTT´äDDF‹ [zÙßý*žú¨sqöc^ô´¬èÁª‹¯âÍeÂÀFig€Œ–MËB&‡1Éàß_œù²o1xZUáÓuƒF#<¬ëî¡ȨiܾÜ!¿²) _ÊÎaÈá)@˜ì¯ÚÎåÁÎúD:Ì»ØÂU]Ú¬ýɘ;r }LºÐ%Ò¡KîÃ2Ö ¡K䉬]2P †(Aêê7òçˆ=ˆI>§€ŒTË‘êR!D,Þdbܺü7nÝ‚‚3RÒZÎÁž úΊ¥˜—ÂCAn©¾$/9fÑ“ [r°£ÁKê’i‡/Ú!#,ƒ/Ô„2އ¤X&‚ÒxL|©Â‡Ò¯€zoå’!¡oÅ#¿]»bH]‡cÛŒŸ,à·;c°Ê1C¶9‡4`‹Q×€ `^±öݻʻáùX…LѺ¡ƒ•~Tßé'lÙÀ•i7¨¨w†8VWr4w|íî?ýåoMàuÿ¼÷A™ë®»—\r >ñ‰OsÒI'áE/zQS:üðÃ÷` ‹vµ )****Z¢Z\n—oýôÿ`n´ _ÿÁÕxÝ3ÿSË "Ô¶$ô-rzýÕCÀ›Ok©ÖÁÉlìþÖued_ž´Œ ®~Ó»ÇôéÞé`¿ªÂ‡€hƒ2YØQ#LË1R’Úñ)`ôñúüÈ¢”ãÅÏÕby@®'šÀÈïg½ƒ"¥ñƒRÁA™;€•GÎ`S rY$ý©¡‹š¬”Äf—¬‚árº@B’VIXRÄ YrUq`œ‰!KF9\1d I!ÉòpF˜õ9fbè’»m#–œ?Æãp½j}ÿY(wL’oGÞ Žýë_>ÝS±7š¡NÑÔvl e¸±¯ ¾¤ß‘ä½ AcqäõÛe[KÈ’ ïy Õ‹Êê¨à–ñ€Eƒ®xw²! S£õ¡5ºwåŸÁ2✊ 5µeÔ¨-0b†±€±n>²cÝ÷xDK*BõÚ àm€ýÛŸÌ<|Ãs°’æÐÃÀ‡(Iu3y—´â“´ìì.†f “¾ž:‘iþÀMÎéK]S€1¤#öR§Í^ [o½ßþö·ñ‘|ùÈG§œr ^øÂâe/{Ùn]ÑîV2EEEEEz÷[oÁ®ýÎýë“ñ¶þ3Ž\ó°E}®ÛíÂÖ{ÑomE ê®»îÂìììn¿Îë¿4Ä›OË~…j{MvæÕ±;/ù6ÍvtÍuÆà…¸´ßy(Ó-“r¼hÈ¿O_Ÿ€ÔAÓ–ÌW¹܇(Ç”ÝmH²XL¼‰c#Ê(>rç  F¦!€y`õ7ïÃì#—c“¨¸váù_í>tI¹d'6€wÊA‘d@Mˆn fBØ’wÐ@òʈK"{ž“Œ0fXÀ²Ë÷"€&|F˜Ž¸*,ŒÏzÌlAã@X/±ô‚pÄâñÏG peÉy¬‡ÇA— ÀÐ"rÉx6b(]—§Àáiä "”IaŒvÊ@n0}6Ù·SC1qÝ?pÀp8¯œ/º§’;‘&˜ Zï¶q%Õk¦¶Œ‘:–ý2cT3†µ[6–QYFM„ºlEà.üfÐÇN;fÚpVÐVLb“ÔGC•/&>Û¼Ï"”ò@FC‡MBݼK®Í$+&>””l+Bö—ÏšÄ뮘ߩûÜUºå–[ðío—_~9>úÑâ!y.¸à¼à/Àé§Ÿ¾GÚT´gT€LQQQQу^•éà 'žõkÅ+ÞÿT¼äŒ %„éA¨Ûn»m·äiÓë¿4jB™\ ¹bÚ¤¡Œ"/a,áÁDˆI¶-e~obê÷ANèõZ! Z¶å€&ä”§Ë8“mÓ©w¬º·,‡-’¤×7Nç‹!uœÀ eÂâ’‘|2Û€õ·Ü„m‡Nc€ ®AÔ ¤ÒƒÅ0±û <`„Ü)”Iÿ$p&XŸGÆÌIèÚ)Vs·œ:c"h æäÆŸÎÃV6ˆCFß'ô¡8ÿüóqñÅãøã_ôyfff0?¿g@RÑ®W2EEEEEKKDcsÇüæ[Öcã–»’m“¨ë!¾sçÿÆš}ŽÄËŸõ&|ê?>€k~p5^÷¬÷ï\SÑ^­“O>y‡@æöÛoÇÁ¼K®×€2÷ç—ûü3™SfÜ<ÿø¸¡c®Cª /žœÄçç1àqqPÚTAJ2|R!Kúš­çXà¼mjB¨'hÜFóŸBZ~â1r1bèÒÝÀêC7bÓ ’ʹ" ãÝ1Á)ã½ÇM‡LÛ?cU Ém¡'ƒ#]íÝ2$n&7e Ôüfíz‰ Üÿ¬†œå:qE\1!t‰-ȇ‘Ä^÷çÈ€LtÉøsR­)^y|x’øAšaK)|É“üF“¸c’eJ€$¿“yò¢R€.a]=ÙïЯ«q8©e9NÀŒ{Ÿ 2Â[&ª_êÉä{Ãç:²ìB—Ü\ ŒÅ`Tc8a0a8ª1ÕÕ5jgØZ°•°7Ʋ7¾Þ½dQ±äƒa¹¤.†™#F ºkOîƒtZjÉ¿V¾'`X²0ê u?œcFÎXq0ò˜‚K†ÔÐä1ðhãø IDATÖßÂk?6‡Ý%0ïz×»ðÅ/~Ç<.¸à¼á oØ)£uÔQGazzz·´hO©™¢¢¢¢¢%'©Ä’çÙ¸å.üÅÿ¸†*TTü_Gv€ùz~²é›Øgb?<û×^Š¯Þø%œû×'ã­/øÔø¦Eä¨)ÚûuÛm·á»ßý.>úÑâÒK/ÅW¾òœzê©»äÜ ”i{]vÖ%ìÊèÓ$–†ÅØë€uU…ߟšÂûçæ0όӦ§½ã@ \€(úíÑ!L9tI¶ùë„€¶”ÝŽn·¾ùä¾I@œT©jœMúg ô½»°å¸}0Iº¤[Áp·g}õ9Eèjq*€üˆ\ÀLÌ\¢–°‡")Iˆõ¬Ê\2¡¬7l):^N"ÇFç[# îâ~ÀÍ$H$º9˜\rUqÅH¸S2še¢“¹d´C&¾²P<>ƒ1$ôÆ4Œ44¦ü5µ˜–”ä“Ñ–òjK:án˜yÈÀñVÇÄ@µ=€G:<Éà PÆ(øBîÿk¦™ ¦ªâ²©`ªL%óN8Ç1y 3Ž0ßïc~¾9?  ‡ ‡¨kÀÚÚ;ª,ˆkÿÔ0ÆT¡#ÐU0ƪ»màÕ°U‡*‘Á®âRSû%¡+ªûg5álØïHý\ÔÐzyêæ›oÆ7ÞˆK/½W\qþð‡ãüóÏÇ…^ˆ3Ï<óç>ÿ™gž‰+Vì‚–í *@¦¨¨¨¨èA¥ÚŽð_?û$*ÓAE•ÿ  YÜ7¸›î¾ È)X{àa¸èÎÆ‹žòüÆ£¯ý|uIê»uÛm·á;ßùþñÿ—]vŽ8â¼â¯À+_ùJ<üáߥ×(ósý^ŸÀÛ ŒŒÉÕájÜO%cæ–RFò¹Cª ÏœÄÇç籺ÓÁÉ““;cä| ZrËç[Øà+-å‰}ó¶ŽÛ¯òÇ0E¡F„2Ic}#‰‘„.sç1»f9è(“‡WÈ_í·I2(¤ä „ü0Tx Á²ì÷‘"ºÂOvVßßêV—ä (QØÚÅ-s¦oF·™åá4}Ø'Y$ÌIYdï&Ê2Æ;cHã[äú¼(˜  vìÉ×4œÐ ‘k(ûX ÞªŸEþ\Ú\2iÁq¿Ä+pãó¾4 ÀbÈTaÝxSu:¨:]t:]7ïvÑéöÐívÑíöИ@·ÛCÕéÂ÷ÿÂÚ2F£ƒ!æææ±uÛ,¶nÅìì,¶mÛ†¹¹9ôû£Áõˆaël­‹â†jŸ¤·b–T¡FEâžj&tÖÒFŽÄ½LðÆÀ’ƒ˜†cös wúE’Ÿ9ªÛƒsÌ÷y ©”|—Þvî^sÙÏç’¹ùæ›qà 7àCú>ùÉOâxÎ?ÿ|¼ñoÄqÇ÷s»èÁ­dŠŠŠŠŠ–¤lmÝ/™™F¶MÛïÀ žÇ žGUu°bzLO.ÇDwL5v„ëï¾ ë–?Ï?û<üÛ}ß¾ù«xÍo¿¯y[?·S´ ô£ý·Þz+Î=÷\\~ùå8úè£qÁࢋ.Úå&×ë¿4›Æå”¹¤†Ó60š¿èm㦹OýívñÒNpÊÔÔ¢@L[´CFïÏ«4eûu[÷-7-;§üC¹e‚BÝkŒ4ŸÌFà ïÄv3í2`¨äS¬  Çm qÝ/yR8@ ¦Æ$ACÈxŸÂà2s„Â_þ]_%EƨÚÖyTâX÷"hò°†`¬ áZÆ—Ô¦Ð9¯¸‰\ǧùcÃÎë@>ˆvÈÄGز”᳉bßµ-=ŽüxãsÂ$±j\BÈÀTÊŒ›ªÊÁ˜n¯‡no½Þz“˜˜˜ÀÄä&''195©ÉiLb ]t<؆`Ìa³óÛ033ƒM›6cóæM˜ÙÜÅÖŽÁ6ôa1Àµ{ù\0\LœÌ {ã‚Î!#÷&}(!EÉ ”Cþ˜ ö˜…ô¸•~Il}Bßôá8· .íŽwÖ¹Q)•.OD€Œ¡èŽqÞ h"tÑ—°  ΨÐ%ÊÖ}CbS f-§PEmSÀ­Sû²ïgR@F‘˜Êx‡L%¡IT>©êtÐñΘÞä&&¦095…©©iLMOczz¦»Ë° SX`9€)¸AŸ0a;¦039…“û`rb†€z4ÄpÐÇ ?QE.G‹‘ð8ÿF0ûÜ0Æ'ØÕ {¥Ï™ÒO-92¶±ƒ1>ï< ׆4ûé°¬)lŠ.2ùá!Lú}p‹õâiüñ·cGºé¦›ð­o} ÿðÿ€ù—ÁI'„ç=ïy8õÔSqÚi§íðó»BßúÖ·JÈÒƒHÈ-9cü_zù’L‡Pu›z€­æª‹G¬~6Ý5‡+þ÷‡ñ{§ý)Î|Ô¹óu:å“KI¯zÕ«ðOÿôO¸âŠ+pÎ9çì‘6¼a!§ÌΊ<”Q†Ü-µž}´±/ß L§ƒ?Úg\²e È·lù‚€%2º]¹+F¦1î_…å¾Lqø–€Jf– ¦9o¤äÙÕûtce..™íÀÃ6~[÷[>&PqíÑéH.™eÂXÕŸOšCž ™b\ç@ 8¶™ü=¶ÁäÔ ¥0ølÂgü¶c8=¥j|ò°˜TˆS9„óØìóHßyÃ3¼B…,Éu™` tщ`•K†#×íïe(Ûöçî˜4Ñ/ô2Åc­æß²q.ÕqÂÛŸ)øâæDòÅ1 ª’œ0 Ät|XRob“ÓË0=½ Ë–/Çòe˱û`¦•~>á¯Þ°Ù¯×èavj ÝnÆD`F`Tá•dHŠèP+”@È%é!DôÄøp$ª$ù•ÎHíæ 2¡=Ùå"|&Ž/# ]B3$'ÞD¿é¦›pýõ×ãƒü >ýéOãQzÎ;ï<¼õ­oÅCò…?¼tÀ`ùòRàÁ¢ò›fQQQQÑ’“©*ͤ¾¢g=òµÜï¹U—Pu >wó;Ñé¬]~4ºòt\{Ý5øñŒ·=ÿJqÐñ­çâ›P´TtÆg`Ë–-xÚÓž†+¯¼GqÄÞ†] eÆóIS6n…3”}~!"Úéàå«Váo6oÆO‡#œ³zõX#ó4¬(;çShƒÜC6Ö<´`äK˜® p!`ÆŸ€r(£# ]âÍ„ã–}ÿwâ”Oè^âº1IUš@ˆjª»’Ç3ÎAÙd"ˆ€Ée’‡Êx,"BäL®\±8àR`&0ÒØÐv }. —þ ¡V!çF–Ä·Ý™8Y2¨¸vŽï®ñÁ(àpEu×ÂМü:p—ú)qÁ„. çe Ïß4B–(ô·>ˆ0&ÌÃÃÑOWžU¶Í/‡ÊJ:7 Z¶©|1ð@!gŒ$è톜1U·‡N¯Õ&¦”Y¶˱ûÀA˜U~ÚÀ>pƘ…Ëi½Ù?¾ápˆÁ`€á`k¥–<\ßñf(YãmhÞÊŒ™t’q û½uÌ{g’o}þaËV‹U+âw1„±É÷ÁÿŒ!õ½Ñ·Äwûíÿc^ý?·~ö³ŸáË_þ2^óš×àÎ;ïÄ)§œ‚óÎ;oûÛqì±Ç޹ïFk×®-™‘ )****Zšj©²´ïŠñwÿÿ_$Û&§&ñ‡Ï}5ªªÂÃ÷VwŽÀ•ÿö)¶êaxßKÿ“½ecÁ3stÑÒÑ»ßýn¼ò•¯ÄÓžö4|úÓŸ^P¦J$ÒI~S—j .ÀAN?ÈH…¥C»]øè̽m~yŸ}vVD „ìkqÉ4ÚàÛKúf ªSëÒJÃíˆqŽZsÊ$#uERÈ<¨ÏX¹i ö_s/ú˜@# Èú*E±c­#á¶<(ô=û~‘¡dtǰŸ Õ«ã}›8<)ÍRƒIغçësÂåld/¤! #I81‡6éü;n\íô¤Ê’v XòEž´¿`6±Ø†0µÆðšÈø„Àž:¹)×>×þÌì KM:4‰Bs å\®H~_ž+FÃÙOa9²˜ìY$€%߯M0ÑuãÑ‘1ª’’ñ%­̘.¨ÓU]˜nUwnÞº““èNL:(ƒiLÁ¹aÄh’um`À6XÌnÛ†ùù>F£êºFmkX[ÃZ³EÈ„À诠V‚käÙ6 L„-Æ(äãŸqš‰HÎõ㟌ð¯ŸÇ¹Ï™ÄûÉ»$]ìw Ű%9™4·Xüó?ÿ3>ð೟ý,ó˜ÇàÙÏ~6^ö²—íqSôàU2EEEEEKRnpþ&øÑ ¿Ó8î×߸?@À/¯{î¹÷>|ø‹—âÅOþs<õ¤çûóŒ.ÌŒáp´ÃШ¢½Oïz×»ðªW½ gŸ}6>ó™Ïì9(ó¤üUk!0#ã`V‡ÊDoÓ§2~`/¹ÐI$uÉ)SS8¸7wÝs ž¸j4߈.ƒ8Pwm‹@&9¯?·d~pŽ g ©q¹qÍùdQ Œ§Ác„j nkëgF,…½8qözl^¾ L Ã5FP÷&0’ÄVÎ!Iuóž»wßÌD‡L`'¡]CFïT1ì*ÏXK 6~ iµ©!æÿÐF/æM–×ãóåp¿r÷’¼7ìS9ddãL`].Ûñ)´ÁKòF^hFêŽÀÞ K×f²íÊä¹bü~Ÿš(ŸƒœÉ~ ¯€TnÒFúÙÝ‹*mMl¤¤µŸW• [2˜N¦ê¡êö”éM¢Û›DÕñNT˜0í§ep¹czªÅ8‡Ìf›lmÅüü<úý>Ã!†Ã!F£uí Lúî±ÎãÜ¢ø“%q‘‘1’šTˆ’|7£ä'bÍ®xy‘Gwñ˜G[|øãóxÁs&qÀjB,áÎ M²3ø"®˜M›-n¿‡ñõoðý›,ûâ3ñ–·ï~÷»qÌ1ÇŒ½Û¢¢]¥dŠŠŠŠŠ–¤8üùwÇŽ¸îúoâ–ŸÝŠ¿zþgpø]d) fié+_ù ¶nÝÖßùÎw‚ˆpÖYg᪫®Âa‡ö€·é ÿq?   ?Y$NYh ¥CCЉc¹åÔ¤¡ áЉ.^½æ ¼ý®»`ŒÁ“öÝDœFXy·åQ熬«¯UcŒ+òúàÔ{ 'Íè’ŒÀõ$PÆpÌ'cô‰8\+äê1ìŒÁ)×âËÝ'  z0I™—KÖ%o­ô±¾Ï8´ÃÄÞlÂIbR—I•@Æû4Úà$×cAL`C<ò ÆC"ÊØ ·£A aJ†IÒÝØ×…Ž 1¥9,8``ÙÂħîûÄ/3"´!éHë"â;OíÛîú)˜°Ÿ µyˆÈ¿úÑ#ˆLB”$j,Mê¾ ²ç€àÊiä“ÉrÉh—LÈQCÎ1RQI2¨*ºÔ<”¡ªë—º=º4‰Þä:˜@H&éïÚ·l`À=î°Àìì6lÛ¶sóóèÏ÷1 ½SF¼IŽî1Òïmxu|¯Æ1¨@íóÆWO²ÒÇ០G98ÏAˆ@&À2€ÏQôøÇO€øðÇæqîs§pÐêÄ’Ï(¾k``ãf‹~`qÝ·kܽ‘±~­ÁãOìâéO48`ßjå [¬n¾ùæ’CæA¤dŠŠŠŠŠ–œ ¬µ> áŽõÉûG}àI¸ä%[0D)W2KK'žx"fgg“mïxÇ;°fÍš=Ô"§û eÆÉ¢5l Â) Úøù.…)R›èáµkÆÛî¸Æœ¾z5b¨G…²œ -suìB0ɤðøüâ ÎØâLtͨ©Ƥ:Q Ì0C‹©­sX³ß˜Ç$ú˜¡ Ã6@KÆ}<änq!”ìc~bØ’ïH²Rb؃‡`É~”‘ô âÕw-Ç-,‹B ÁW EG‹eEƒøvrÖßò,Äèî»BE„„X7'ß9>„:©Aµ>œ,TròWdß.wZõIÖÎZ(A ”êRÞsJÞq×tòàFµ1¸Àäd1׌n9«ýñ=Uó°M’÷F0ž-¹¼) Êªœ©€ªãÀ u\èRåC—:=tºèv'œKä«aá@LÎøel‡sÆÜ`#€Mõ,f¶lÁÖmÛ°}ûæû} ‡CÔµ €Q'¬ÎžZØŸN–”¯ëªJíÿ(&ú%$Û¥ûY½ÇªYxÜã'"|ø£sxáó¦pàj ‡É›²qãö;-¾~½Å~f±ö@ÂÑë ÎýÍ.XUA=i¼ãU+pÑ;#ÜßÛ´}ûvTUµã‹–„ )****Zrª:غ?˜S:þÐGãÉxÎxäól›¥²Çª™%¥}öÙ§™sÀE]´Z“j—B ¹ad$šŽŒÒ¡¡Š‘Ð¥0Ž;ÖOöpñ!ëð·Þ†ûêÏ[»†b2Uh©Øˆ_nºâ˜?ŽîÆ}‡e ÅþsaN˜ÉKëÖ]‚ºw I‚ç¯Ç½“«})ì ûrØhÏG:àiÂv–¿ëK‚\ï’ñ6²7{v„è”AöãȃÃÖU5Šæ­[aL#ŒIŸ3€åŽi3€O¾+ñe€ W¢x°â°"Ü5µZPtñX÷aKò0}¦&}:ßr!£^שÁcÁ‹„¾È²8g’cp¡˜(Z¯ûµ¨äžS`£ßêXI© cüöóÊ•¼6•[ c:Θʅ.U]T2uz¨¨—æ>¾¾C¸1µo‡„*m„sÈÜ ÆÆM›1³e+fg·cn¾þpˆÚZXfX˰üÅW¡ XÚ ŒL®Xå}iNÎ)c’3XufÇu^úå ›xÜãœSæÒÌá…ÏŸÂAûîÛdqç]×|c„ÿŒqø¡„ÇÔÁožÑÁþ«ª2å¼¹cl/ÕqÇW’ú>ˆT€LQQQQÑÒ/ÎÁò¶s>í¿p¥Óé(S´Ë´ ”Yì@Á˜ÂÈÀ$©&é)œ‰@&þ¥^@ŒQPæð©I¼bÝÁø«[oÃòN¿½fMp„æ8°qœ ¤ó0–íâtØÑ½fóºÄ8Ò€”+¦Í%#¡KÊhJ„ØWlS[Ô³Nøo\MOÁP†•­Q“ÅÀT0Æäç‘€í7$‰% ƒwÔwP̤‰!e¢s…aâÏ(ZØÅ©ü1Ú¬ $÷†$ªÓºä:IA =q˶p®Ì!Ãð÷0ØúwQ*6ùÖÝ!¢åÈÆQ"€ ,Åp:b€É;k<ì‘öF(CQj‚$ÐûM~wtà$¡Kú¼ÙöÐÎØ«ÀÈ5œ#F Œ›Ê;d|adȃòËÆÄð%ª: D§Ä¾ÌÁý˜¨à Ì<\ˆÒ}ð!K³±yó ¶lŶísè¨k‹Ú ŒÉ2êŽÜkaL¨‘$—šyÁúJþ9G(ƒ°ìCÖü,©X&­W BÆã7¹9Æû>8‡Õ«{î?Ìà±êà·Î"¬Þרï…—^ͽœÇ=ÈT€LQQQQÑ’”³µï~X2wû5Š~q´C§LÛH@p•Á‹üŸÄ9Ž’ò!`”O”JÁ¢åõaÌè’nã`À +Và­G…?ûÉO°¼ÛÅ™Î͆|nZö. un=WËÍöQhTpuè?Z DÀµM‡!µ¸c¡KyØRh‰ï‹P ›†ŒÞìG®ø ¾ƒãÑG5*¶¨¸†¡ –ªx •ŽXvƒJæ˜G†ÎÈ ×ätÍ7Ѩ"nx¬¯F$„‰a`˜QÛ´šL(‰Í>„ã¹#IxHþ" œÑÎ?3òQç 8€Ï«3ù¬½î½L>ù+®Ä¾q÷DÜÕǂم"y± òPDrÊHÕ' ïn¨‹E„…›wP˜poòrqhp®´sÄãጯ²ÄT%¨"ïŠ1¼8e*·LÆXDC~pf\þ˜îݾ÷mÜŒÍ[¶bvÛvŸ7Æb$@†•;&¾‰ðÁÅB˜eÇSî‰ëÑ%ƒðVÛèÂ’÷@Á˜M›F¸ëö¾qÝ7ß4‚1ÀÊ•~÷ÙØ?öf4Ô“x¦ð¡ø=ð·ü΋WâUo™AQÑîV2EEEEEKRnlQÜ+EQßøÆ79döF-*|i „Iö+wFئ\1ÀˆKFCˆIÂD1‚¸„©ÆOGLMâ/Ž>ÿøÇ "œuàþ\ìRˆH^9—o\#Yö¦Ö¿BÒ¿Ÿi™Hò±¥®刉°Æ£?—]þr0ÖÂö Ž›úníâòɘ 3Œ­Qq ‹*8„CÀ¢Å%ãÎïÆ ‡Ü3%´ó—€8 ÃgäPNã:†Ùç’¡ø>øŽ×ÎÙ,nçXˆpFƒqΤD¯ý¹ÄŸ)ùëëðŸX ›’s²‘þRsyD$÷åóÎxâÆIÿê,6„ByåxMá„àþIÞNõBMÓpÔ(°>¯ù’ñPÇ¿ˆ~[1¶` U ꀨãLJý+‡±œµ¸c,\©¬´qn÷m܄͛g0»m;úƒ!£†uí2µu\1ö]\N¡J;”‰î˜…Œ¼km †®ùeiЉ„ï«q÷mC|óÚyÜzÓëïàäS&pÖÙSøìg¶ã”SzØw¿Ê»Ò¬{ï «÷†ü÷÷éf{ïï7nÄ`0ØñEKBÈ-IÍlÞŒU«VíÖk0Û’8o iíÚµKÈÊœ¶³¿†QœiH£œ Ê$#æ5<°ˆPÆ#`Æ»eŸžÆ[=¯ýÁ@œµæ pýòÇ×É8[mscjqW,ÐnÕ¾ |x’ƒ,z ¼¤ëÐ¥<ŸŒ‹é¾ô¡K£müÊʯàsx*ú˜Àœé€¬]‚ƒ2øþ°’àWÎçÑS [â8×P"0ÜŒ‚c)8ü-˜£šî0ÆU¼²žv@GÑ)½¬Ü(P gB)l¨~—÷Gn}   C÷;%cáp¢úDú%8ÜÀšØïýñÌ1ìH7,¸d@1¤ ñ¸èŽˆn™ôeD Ž Ü/$OK1#Ù"à&¼ÀÈËéB— Ø¿¸.§J3Î%ãæ11®Á2…¼1#ÄtQC54³6ÏmǦM3˜™Ù‚mÛ¶c~¾Á`„Á°ÆpTcdu­sǨ‡*N«Ð«i¥¡J:ìL˜…Ý1â¤krE·ÕÌÆn¼fî¼e„Ûoâ°#»8é1Søõ§w°ï*£®ì!—q¾)&Wá)Dø) ãœk~¦Ÿ5ð® +ñÊ?Ûû\2?üáK•¥‘ )****ZR"½nssÛ±råÊÝz­{Ví»èjNE{VkÖ¬IÊ^ïíz×î”ÉaŒ¬ëð˜lžÀ?êÓcDBøƒ½wÅ$¡KÆ ‘ŽX6¿:þ8¼æ»ßŒ‡2R–˜%©¿†ÿ såä9@J  Å¿Ng Ik`Ó `(”¼n@›ÖóúëJÿYÀ°…Ytç†xÌä5ø2=}š@Mnð'.ùL¨¸B†”K  @FrÈ(;&6‰@l`øÿÆ ȶÇÿZëR× aK² . Ï#}3‰;FÊjjDç$ýì>ÏLÉqìó¥0Æ- Ôpå—}[Œô¥Ÿ,…c]ß"”úŽò÷ %ºdÒ!)é‰î((#@¢e8¯!m¼1ˆȹa§fÄ1W…‰PÙf‚µÎSÃA†ƒ0ò áª+m›ÃÌÌlÙ²ÕUTšï£ß`08Sû%F€+ºÏ@ËŽ& b(ü“})œÑë:LI‡+›îâÞÛæð¯oÅ709MxòÓöÁS»‹•«L ™ô¹‘,özXäa “ ¡Kêýe9d(>fÍäö"=ö±*6ø1 IDAT-I}D*@¦¨¨¨¨hI©ÛíâÈ#Â×¾úUüÒãOÅêý÷™ø[Óp8ÊT×5êºnÝæ/†A ¸æk_Å#N8Ý^o—ßGQ°“PfŒGGO+(ÀŒúX\ c$L ÁC0~Ù€ áˆåÓxÇ#Š ®ÿ~´m;.8úp7ì’ëÙpêb’²Î­ŽžÜ[ ÚO’£X€É3áx jæ$/}e*®aœ¸ kèÌcê ²ÆZŽ.™d—»dÀ¡Ìt2’†e«ša ©0ì«ÑÈ8™#x ©`’þd^¬1jž…Û# UŠÉƒcÆDêÙ4áLÛócï¤bvÏÄõ“&úœÒxÔáaŒ»O˜T¹mò0÷/,Ž 0ÂaK¯Gä1¦FB¦.ȾÐ6}ÃŽ>ä»ÑîE ŒA·yL,\òÝÚ¢®Q•þxe¯ؾ}[·nÅìÖm˜››ÃüܼsÇô F G> |)uõn¨‡Çj¾PN˜Ü)“&õÍÝ1¦Ä0¶Þ7ÀÆ[·áû_ߌ{n™Ç!GOá„SWâôgv°j_ãýAbFÇS´z1,€¬‡_þ{ç^ôÈÓðܲנ¨h7ª™¢¢¢¢¢%¥n¯‡ÃÖ¯Gm-®»îZÌÌÌÀúRÖÝn”¹YªªBGÂŽTB̉‰&d©:]T• Ç>âÄqàAaÅŠ}vß ýÂ+@™…~ùÏa  ÇÆx§A£Òâ˜Ù}&¬FŸ&1o&@µ+=]£ }\2ìïêû•ľ9”ád8¶¥–þôP&„-8ù;œ[ÌóÒàF]f:$‡¦˜o&©b$® cÄ!K`Ý1¤Cá"¡1œ4Lôú:¾ ˆçÇ‹´±ù•ÍGòùõŒo—qÎ'8ç“aç˜A€2áO@d´¶°#F]Yԕň ØÄ¥šÁ1ߟÇömÛ°}Ûæ¶Ïan{óó úÃcF5l­*+A¹DÔ=X¤ªÅ #¥«å]Ôë6¼AãÜ1W»ç'3Øtë,îøÞ î»u³ ;u?ìp+÷­``QÁÂú„&!Íä+r¹ïntKQpÆDë œ{OåaÎÂÔä½3À_¿m_\øšM']T´«T€LQQQQÑ’ÓÔô4Ž9ö¬[·£ÑxGŒˆîÇŸ¹ˆÝ^Ë—[ðRÑOúÓ%“C&Wâ”iÈæ0FoÓpCAí€Ê‹®Ô° ] N77•ƒ3¦¢ed_ý„uØwÍ–ïÛE…ÚM¶•C»þ´¾Ë]N “oÅk'\;”3Æøï•l3òœ¤‹¯Åï¡!¼û]ûá¯Üˆ½EÿùŸÿ‰+VàÕ¯~õžnJÑ.P2EEEEEEE {ì±K*©o›e܇Óe™·¹d SùÂ[Èÿµ^\1Áå%˜ŽsÆÈœŒshèºq;áðSxÛIÁk¿ù}XXœyо˜Ô¸cn×nžÅ¿ß·§í» º ‡MT°Ì°¼ˆ¿<7î@‘톛.gƆ.eP&™¤>ì¨Ó©QÛÔ7X?q3~ˆc1o¦0èt}èRš*÷Ñ,tÉ=öæP¶šÉzG‚xè<«?÷yG@ä*ÈpÎpÏ‘êh {(cÀƘÌ-ÓÆ”¹aÐ c —$¼K=“E˜„WÄ÷R˜†~GÃq>· é¼1âŽQs2¤&€Aß>ôɹRÐD¿|ªDÔè×£Õ})É­2ˆm ycŒQ°Eœ3ìÈa„0büýYv!KTL°µOŒË£ºÆp8D¿ßÇ|ós}çŒ3a8ð0¦æ0(ã ÎÈ3ñÜÀ·ÈC‚¥ÇŒß%œ´Þ¿åäÞafÉÏ$P†ÝwŒ,ؘÚÓzâŸX’ú>ˆT€LQQQQQQQÑ^¤7|i„7/eƹcüœ<”IR,¨x’ÿÈ€W…((Ó10âŽñscTÈLH6á‘ë÷™Æ_>ò¼úºïã wnÄ}Ã!ºDxÊ+ðÇG€Ã&»°¶†eë@LÈ«2ÆÆCÙòBS›SFåOm8b€2ÍÐ%œ:¸Ò15j[¡[qjõ_¸šŸ‚;{k@5@5‡¡{ cÊ!ãüúľóÀ¸¤¾Ö%­$µ×®dÝàß=eœ‹Æ†!²%B@ŒVá:ƨe‹àH ‘K÷ŒrÊP€fÏi!@£Ê^“] ï¨,¥ª%dÉ `ʼnîÞAñwùœ’«°%f ¯ˆƒS È(KUÀW*LJΔüù ŒOÔL©CF…%Q6…ðCëÜS FÚ¹e¼kÊڣуáýAýùyc† † 5Œ±Ñã“úÊp1Òb–¤C“t2_1ý{f0Ëݸ÷«?ÄÜ3X±~?ú¤c±|Í2,[5ásÂÔ #U’Ú€ à!I€1î— »Ïr.ù!è'ÇÙ»d‚3*økÈ…AyøËä¯BÜÚš¢¢]¡dŠŠŠŠŠŠŠŠö2½~”ñã ‰ÑÎ ]J€Œ>…¼$ cÈ%ð­ŒÏc0€Œ~9Ðàš¶ÏÎó ûCŒ†5ê‘E][cÄ!“¸cp'J¬¤äö˜°Gç‹éß³ ý›ïÂæ¯þ?öÞ<~’ª¼÷Ÿsªªû»Íw6`@EE¶ôŠŠ"bp7&²]—¨(˜è%‰šý%&ƸA\и€Ë½IDTDYÜ"Ã"‹ Q\X"Ê2 ÌúývWÕ9¿?ÎZÕ=,Ê Ì¤>óª©êêꮽgžw}žçù ƒ;îeÁ^;³Ã³öfzÙ c ŒN¾'E±)‡Lúã—h;ßBIð }6³ÍþxMó¾ð— ½ðŒû*pÙpÞuc—û§îÄŸÿéoF¶ªS§ßWéÔ©S§N:mZµjÕV[ÔwœÆB™XÁ¥~~ _ÆO|ì!ºô0Æ×ñ)JÄ4€ŒK³À%ÉhÖê¸Àóàe³|ëŽÕ|Õ:fsÅs—MÇ•ßßöù} ÓŽÚŒ ä=)i¹cbÚã]2"~.ÌoÑ@™t› -ÈTMíŠüÎfkxЏšï«§2Ì{PÙz.¡SÛÅfêhø2Æ´‘ÖAä‚G#ì“£ìy¶udl¯„rÛ¨Ðu‘`ÖE!“ÁÆÁf„ÑH÷º]_Æ…ùcëÆ„ú1&λ? ãÌXH“BwîÛ0Æv0!]©‘¶dDâ8IÞ÷ð%¤9gŠˆËÚu; þvcã¯ÃxÿwQ4M"”¬ àeLJT€5$Ûê¶'”ö5ÈÐÜé Î*¡ud¯:¦+ K—ž4?d8_R‡TeE]Y £+ÓªÓ¼'›·e„1Í”%›¦4ÿËÛ0÷¬aÝÊë)ïXÍôweéOarÙz û(4ÒA˜_Rc˜~í¢µ Ö “L‡q$¼Â¥$ùêJÁãjÆ„â¾þ[Ãå(’ïö€ÑÞ£©#ªS§Í¡ÈtêÔ©S§N¶ ÝtÓM[} ™¶P&}@ IŽ£­¤w~ÓxâÝ1„_À×»cˆ- £BÊ’1.¥FDCY¤@ Á;öÝ™w]w+͑ʌ2íý`Ó›8ÛþzSðå~æƒ2~CŒAÉÚv]2šÂ ÙQü–eÜÁ-½]•AÔ›(1…ÉŸ£Ô%ãkÇÄ´%›²ä šJƒ‘Ö 2Ê($JX0ƒ°Þ­]ý £í¹u`Fåëi2Þ9bíqueð‚oAÝ,ð I·ÄŽ/c!Li„i§+%ó…N>œö.’èŽÞaÒ€Ò%%éBã ‰ÛHá‹ý&cl25&D÷Έ šéR<¹í‰.˜Ä“þ8dƒð5†LìÊeÝ1šªª(«’rX2”¬ºþGÌÏm ÷è=‚;F׺Y?F[·›1D‡ ^ºv÷œCƪ»îAß|+¿õê5LìýX=ç`zÛÍR,œŒ…y©Ýf›MŒ‰ð„È—iáq0Æm H~ü„OtI†Â8CUó‡F “¬§eÜç¼!+,ã¾áݧïÊÛO¹eôÜoa]vÙe] ™mHéÔ©S§N[¥†î‰Ÿy …A )ɳŒ,/÷ïN<xàÛÊ´Ý$m áƒâg„SšOx"ãëÆHåÝ1)Q¨L¢QÊÕº„šºö%| lW±ót¿Úw9÷£ÛЦæÈ¦c€—f´÷)lcÜT¿+# Äã\2~þ}¥)ù唉¡¶Ñ TmƒÎZ1‘Íq¸‚z‚»Ší¡!5Æëgp#qÉ`’â¾.…Hû?-(ã;.yØ „BJ›e„¡65ZÚÁ1¤ …sÉ8×;àÚx0¸.OT&f,=r0&MWrã˜êá@Ó³©T¥ð~«Ýu€1~¾wÉxÇ‹‹ÍEcõXBŠPK##ˆqŽIêi™Ô/“„ê‘QXÓº`Ó+%…>Á•cç{àR–Z8ƺdã”𗎡ô֚º¶éJeiL9(Ùxçüø=Ío7Å£‹®R(cÝ1¤µcˆóûש+ú–[^v%ú®»)öٓ食š,˜Øy;{í™ÚA˜XKfScw7á4Òã¹érz+wŒ¯ãÝ0Þu#"œñ0+|¿ÿÄ$©Æ¥i— kÜÔÕ–×ãÿøÈlCê€L§N:uÚê4?7Çm¿¹®¿žÕwßý¿”’ÙÙYž°×^<êQ»219ù¯£S§£¿º¤âïž•7gŽ@ù€:€xº CúA6ëÅx“IdîÀŒ²ƒ®ø¥1P»§Íé³ldP°Ót·í³#ÿxÃoYWÕ¼h—ø‰tÛDº~3[c©ÑÀžMÔñc÷ÙqàÅט÷óž§[)¥F e”®™’8X^Á¥ê¬ïM#*0U¬!ƒƒ1i™X›Æu¤q§4šZX(£+ejŠûÔ% e¬cA"m-4R(¤¨A[òb¤sɘk?ÕJe’Ò`ô(ŒA4ëÊx·Œ[î¾àˤIaL+=)…1±‹’'ÞR‘¢+F†×z9„HpU¼„9"Ö—IäZšÆr†Ä}3Æ„?i͘–qéUxˆ€‚ E¡ÁÁ­©êŠª´C9¬¨†‹ö[Ácßü~þî·ó¨·ü-Ùn‰îí]nDwŒ;¿þj¯ïZE}ËM”+¯@¯ZE¾Ï^Lõ,²í£f§éHÍnK[`ƒ0„eü-ž>Z9æ"~"àð:þЉ0 ¾otÄÄ߆û%Ô‰iý>6¶Å´Ü–ÑM7ÝÄgœÁûßÿþÆüE‹u@fRd:uêÔ©ÓV¥²rÛm·qÕ•WðÌ#žÍ.Ú•,{hÿ9«ªŠ[nº‰K/½­5Ýcò¼xH×ѩӃÕ_]\6¡Ì 3:xšF „¨Ã¦*¥î@ŒuÇ(T®PY†’*¤j£A¤ÐÁe€€`Ç všÉùó}¶ç¯¯¾y­ùÃÝfÂSø‘í÷ÛמaBÔ”€¾4ÀLÛ æ‹P0wʈ&”ñV“KV²F2šœ’¬å`u9õ€ÒX(Sêìú8ךL#m‰à’ñÍ”‘u(¾jœCÄ%-<ÈdF%j[èµÖÔ.À÷@Ævl2i7xg¡ã<~cM™Ä%Ó‚0B8¸$ìy4&-±GjÅxP×:¹"€>îƤn2Þõ"C]˜è’‘¾ÈÖô87Œˆßáç%À¥}±6\4íåŒi|¯‡1B4×›B˜qIKé:l%`Ðøë1¦*ÕuM]ÕTUM5¬¨C½˜šO:˜G½áϹõýïd‡7¾ µëî­6×&B ¾óô-¿bðíK`ãF²}÷¡÷Üç ·_‚šA ìð(6. Œ‡22IGŠc h|Á]?ݼ2Æû^ïÛc¡‰›N1ø¢¾ñùÓ%<—)¦á–!€Ƨ±'§ü³±[øP«( ®¾újN8áÎ:ë¬-²ÎN[^éÔ©S§N[•ÊaÉ ×_Ï38‚Gïþ˜Í²Ž,ËxÌ{pÍÕW±|ùròÙÈ<ÒµaÃ6lØðpoÆfUÊ< cߊ±ˆÑÆøÎJ>UIz“gdyF¦2—²dST´¶i,6MÁ—ð¸%“¼ãÀ]AÅ8i‡©œÿ³÷RÎüÙjf{’#wšh:wÆ™qãM B¤ …1Å}P3’ÂÔ„2e(“¦.‹"•F‰Ú:eŒ¦',f5+äJVöW *Éãv4|_ŸâÆÖ%p ZÔÔÒA¥ÑYÓ%£„$—9R)ð-¹ëšZhjßFÙ­Çh0ÊA è²ya%çÀjÀµâNá‡JŒƒ1F¸Ô%!”1ZŒœ³pnüiNÓ–R“Ö‚¤VLLA ®fŒh¡  LtĈPÉ¿Cz â`ˆŸ•@¤Öb‘¦îáÜ7¢¹ŽÑT¥ǸZ3iËk¶k–wTÕí€L1e2T5SOÜŸ_ýgüöÃÿÀ’×¾µÛcî˜êŽÛ©nþååÿ‰Y½Šlß'Sù<äâEdËwáZSG‡‚“FÄÚ2Â$P&…5Âà"’iâq1¢ýÎxwL¨!ãîµÐª:é¨ä¿/8d\ëkß¼Ë]}-‡Lúù–›o3kùòå|îsŸã¸ãŽãøãçì³ÏÞ¢ëï´eÔ™N:uê´UÉý÷Þãv}ôf_ׂ…³hm¨ªj³¯«Óﯫ®ºj›¬!ÓÖ_]\ò÷ÏÊïÈ´Ê&>Ím®ŒÉ“K²\‘Æ8 #• b ®¯´–42:¤àÑ‹&ì=£ÀˆÝcQÁŸí³ˆ^ÑËûn›MÜv‘ìLĤÓía\ªR:í»+ùöÑ — (Ó¨?Ó†2!.öPF 2›²¤°`¦/æÙÛÙ1ÿ ¿íí„(Á”©K&BOÆ6ØÞ%SSI-(£j›¾T›*fJ(2•‘eVš²¬Ð²¦’ŠÐ©GcÏE†­âœÔU"رÏÐÍÔ%1R?†MÁÿ•Á“@‹ð¾ˆïûº0ÆØío! bÒ!4rÔÓöŸ!®•»ÿ^R ã¢ðÆ1Éåê Ä?\ÂÑÍáÿ4]9²15šªäS¬°ˆýnmlÚ‘®+ª¬©K7®t¬SÚÔ·‰'<™¥'œÌªO¼…¯úSL¿Ïð¦™_ùÌ=«ÉöÝÞsA,]Š\°ïB1F»_Ž4ÉþX\á!2‰n’&„ñ€ÆïƒlÛ±0fäÁ¨;&V4É` „ëÏ’–Öþ< wûéøØyçùìg?ËñÇϱÇËûÞ÷>~ò“Ÿt)KÛ: Ó©S§N¶:i­QJmöõH!][Ú-ÿŸ°N^OúÓÿG€w\\ò÷GX§L£‰HD ØÄ§ù6à$é¬$Ý•ŒéåäyNže¨,CJ×òÚj)0Âv¦FhßFÙ­Ûûÿ“Ût‡©Œ7ï;ËéׯÁ`xÎ.ýññ3N§[-ª›pÆi÷SÜ78hÆA™Ø$PÆ>M7!²ó.—POÆhr*&˜ãÉò:æz“Ü[-„Ò@¸Fˆ*䉸öל»À¦,U¢¶ÎdL­-L1 (™‘«%íoU&maW%j1˜÷i3h\ “«KCr ¿s>è…~›ŽB1ߘ¾D„1›ª%@Œ+=ñ킽4:'Ò‘d´pKø#l!jéÜ)rdZºvîÂÝÄiDƒ³4¡‹ ¯E²ývdâ"ÐpÆÈ–;ƃŸ1e}~ï@Ã7Ç2>ÕÈ9d*?ÔvH Œ®ëP7F-XÌÄþOåÞO}€üIÑÞKK¶CÌÌ`ˆÆÂCؤpF`]2ƸñX—Œ½¦b­˜¦;f“0F4®PÆ»c<˜iºbB‡¥Âx·‹Ÿ×žv"Y¾ fÞþ/OâÝoºnÜoy(s 'ð–·¼…<Ï; ³ ©2:uêÔi«Õæ%þû;Ó鑨w\Tò÷G›tÈ4Zù¸…ÄeàëÇdv™D¥0¦pC–¡”+ ¶M®¬1ÂÖ*‘F"µ€ZDÀ¡D„B~–Meœ¼Ï,g\¿# ÏÙ¥7ºc›2÷7lÒãǺxp¿PFˆØúZ€&í(ØÆÈºwÒX¸1¦5í^CÒ9)9ÉÚ‡¸îfãA ©—$qÉ`1*2*8c(£R£jŒC&Ù¼X€×Ÿk¿[&¶ˆvyI"ý _Üó,Ø´;¦1ŒwÇxb¯·Nß(«ŽPfͯ~Æ­—~•__|.º*Y²âvzùPK–a&§íõPWÔÚÕDÓ4iˆß^¿ñþzHö‹Ô%#Üo "¤²ùÔ% gdR¼·éŽñßWo¯•Ô9ÓØ(Þ#¡]—&cܲ>U)Ì󀆈qW]øí¹­ñ1­[Á—tÛ6¯.¿ürÎ?ÿ|N?ýtŒ1œ|òÉœxâ‰<þñß"ëï´ùÕ™N:uê´•j´¶ËÚµk™žž©^sssôz½‘ù÷+!â^;=âõƒü€µk×>Ü›ñ°èíßðÏvé?>`·‡HøH úJ„’ÆXwL^äÆô zEA–å(¥le u]c¶å³–ÈZ"*W‹&€3Ö!„"¶{.Í9yÿi>zí´0¹ûý@ÿºQCF4ÉS¾F‹ø¶\2÷eœõ¥‚|KÝöÆÚ„ ‰A¡ÉDEÏ ˜e OZx×UOŠ©KÊÔ¸ ;‚c´uËPS#¨¨¨DI)3ʬ¤Ìm[ãÊ¥¤`@ I‘CžÛã]9ƒùœ2ÓöüIä‡6Ö®í1¡ÀoÁC;Îô9EÎNaLËÓÐ8cÒ™p±ô(#Œ'éAɼX&…2­b½ „QBE ã\0RJ¤R(ç“RÙ¼MŸ®ØûÄ#¿›¾~‹1ÖÑäEÉr Bå3h’Z2¡ÃR²n!â¾ø+c Œ±ÆWCmXýËÿâ7Wÿ'??ÿ³ îYÅö?‹G½ðDfŸtLÎP–Cʪ¢¬ÊØ:ÝŸ¾´¨´w>¹•¿ÿxl˜”¶ çÛNúÀ1B€‘a•Œ‘ iºcâQM[a§WŽ?x&¾vŽ,‰qéLM‡LHOr+‘„õ.CàŒM[ÏFÃÝ,{ÝØï&ÚŒ)Ó+W®ä¼óÎãŒ3Î@Á)§œÂ·¾õ->ø`^ýêWsÛm·m¶õwÚ²ê€L§N:uÚfäÛK)Y¸p!½ž PƒkÖ¬ajjŠ©©© fòø>ŽzîÑ<ñ‰{³Ë.;3999>©ûÏV§­Tñ¼÷ySÄHÇ»R 3‰Ê\ ê ù9yaÝ1SLMO15=M61a “¨jzJ¢MMUW¨J"³Æ(amn¸ F:ç‡ß¸àšiZh–ÎH^ñä‚3/𕟠xÁ>Å(”¹¯aƈ˜–äæh#Ç-'¬»'IUjõõOýwJ§€!6$:ejrQ2aæÙUÞB½‹äî›–ZpU wÖÊØc£S­¦¶@FH2™‘«yæ‹9æ{ æ Cê²2}»½2 ½ôÖA“«^Ã!cx dƒy B,’±;×L´‹ø£mxlh¤ÄakÀŠø{*œ3f ”I}1!…¨c|ZR„16ÉÕˆ‘Š<ËÈrÛ,Ë(㖓ʵ¿V’Ì·tW*Ô“ —©s)YháÏrY°Î¢°LòïEêŽI/{A„2Í) î¼ñ:n¹ò®=çL†ë×°Ï1ÿ›ç½ó3Ì.4 ·£Ö5uUY§šƒi„T$BÁfŸšÔ¬ä SÚ-:ݰÄÅÒvPƟǰCÊh!z‘h4i/[ᦓյ‡Ô ã¯¨8#ÙÀÄãÁŒÙDªRø2g’ûØw~—"¶³o8d š ¡ñ­~‰CÆÃë>òÎ<é›c\§NLéÔ©S§NÛŒ¤”LLL ¥âŸÿé}ܳz5§½ëo¹þúÑïõ1ÆpÚiÿk×®åŸþé¹á'×ó¬gÁ²í—±|ùr¦¦¦F¾³®»<í­E7ÜpëÖ­ûÞW\:U\pÁzè¡[xë¶¼NýúÞ÷üÀ¥RHûT^*™8d|›ëœÞD©éI¦f¦˜^0M6= 9YU‚‚BW Ê!²”¡0°p FHl—%å?Ÿ&ã: •qó]—f¼õpÁ'/pÁOKžûÄ<¥÷bÚóÈØA™fW¥„iL e`Êø‚¦„ˆa’"¿Ê̱›ºóhÉêŸ/†Ú1…kgãx_à·65•s‹ äLÍ3—ô‹Ìõ'™Û8Ï`¾GUÚÕ»z2LÂdÖ­ƒÁŠÜ%s ìº|Ç%%‡CBÒ©Ýys»¤c‘[6ׄ`>„ëÒçzˆÖ_· LŤ§Å{-ŒÉdd”BIë|QÊ]ÏYFž®e»…3™wÉWLüLÛ9ã¯FßíJ×u&áJu°ÆÖ]× p“°§±ód¨[#¹óg×ðýO¼‹;n¼–rãzö}Á«ùƒw}–Å»<–©%˰pήÃ:DÜ‘ õ€<˜!3Öãa îÇ5üEæ/4šP&…˜~qp7‹wÉ„¿,†q9i6½Èž5Û¢Úßhãå³¢/R¸âÆ%.˜0n¦*yð2nHS–p0Æ·½ûêw_ºg5~¨Ü 4Þ &|}¬-ÿàfÍš5Ôu½Å×Ûió¨2:uêÔi«”®5R6S—¤”LM[¨²aýzz=>ð¾²êî»yç;ÿ&ÌÏrÅ»Þùw¬Y{/güËé,ßi9/}ÉËǯGwÿéÙZ´hÑ"²,þ×f\»Ð /¼+V<Œ[¹eõÖ¯®ãÇÌ‚ˆ…|ƒCÆ¥,åE`Ìô‚i¦ÌÍÎÀô ôûe6A€ªKòa†J×: bŒñÓÆÃéBm’ÎK& ³¢,™‘¼êПºl€pÔ>ÙïcD„A>Àã\2éòqœ ã ù:#’ˆŽf"StËX§LFE!Jj3Ç£Ô­°¬þ¯Å6uIƒ¨mpí!†/ð‹¶@FP!ÅL(6ªœ^Þc¢·“lœšf~NYn&¬K¦(`zÊ™õë­c&W $è¶È®ûã3eå_ÛýÆÕ”¡¦v’„+Ö¡µF¸3Áø$ÏŒ¯“*uÄš¦QÔÖOËÄd.-ÉNgÊ‚ëˆq¦È)òÜAë”±©KÖ1“eYLYR¥@Ê„yŽáÏöºß µMWªµMý©ëÚÌ5ú/~ñ` Ã7^ÇÍ—‹þLJέg‡=ŸÌóÞö1–?ñ ¦—ì‚|†„ÖvýÂ8øë섬cðiJáu{ˆ×Vzß52n†Ö=æ‹t&IWŠ7´÷Ƹ±ˆs ÄŽKø>dnßD»ŒM¼n¬F¸ÏwÿWWÆØt$q¶~Db0&ºÛ¼KFS–“ §-9 *aM? @æ†n`Á‚[|½6: Ó©S§N¶J•U9RXRëš©ÉI„€{ÖÜM¿?Æpç]w°`Á„€Õkî¦ßëa´áλî¤Wä”Õº®#ëè´õhùòåüô§?åíoû&Û…þOÔŸ·†Ó_´ÄòU‰C&S¨"£×ï195ÉÔÌ43 f(fÀì˜q@Æ·íd€†r@>—WL,„ !†÷AŽˆ“|¡ßv±_Ÿ:`£t;µdFð¿+øÌAŽÚ7¿³©×cÆÂG ý Lû'é´Æ6@”ÄZ¸33éÀ}§sʤPF›yvV¿†'ÀêÇz2ÚùõÇÎh´‘ˆº¦rÐbàR—6(3ÁäÄÓS³ÌÍ@¹Àžš‰~La*2Ø2îP…” m“ÄE±qãFgðuˆ$BÛ6ÜÊè…áŒða5Ïi2O·q­ŸŽñížS0ã;))!-€ ÆÂ˜,Ëlº] À> ÏAš¢(ìëBeD#ÝñH€LØDo*©-”ñóŒh-ÐZR×öýÚ¹dm³ã®ò›Ÿ\Å/~ð ®ü·Ó)ç7rÀKßÀþÓ—X´ËcY°ÝŽ€ÐǦKéàÄÑÔ¶<Œ6H¡­Ãi]2Žj˜Ä!œ0-Okac2BºÅBÇ´dÿ…¯ £Ý-åÒ—R(C+)H'3:gìê}‹já–k»dÜ l&ÿû’žM# ®­x›Z(ãoq‚ ÆÙÕìo”çß c '|ôÎzÃycöuóè°ÃëŠúnCê€L§N:uÚê$¥ ÿiM%„ ?ÙGJÅN;ìÌú ëùÿïóÌÏéõ‹0nn#—\z¿¾õ׬Xq(û=ù)äy>ò}©Û¢Ó#_Ÿþô§ùÙÏ~Æ›ßüæM¶ ýŸªSν›¾|„2ÊÖéõzô''˜šždfÁ4ý… `Ñ,ÌÎÂô4ôú6j­k˜S +Ì‘9*SÖý‚ãœ'&@£Mœï£ÛøBïä§,Y 9ñ|æ{C´(yÞ~c Ì3iM›6˜iúa_üà‚9gŽ8eOþÓ/ »äœ2m(3D#ÙIýµOÍ]?Ú.qÊøŽ6þÈØ¿T5¥†H¤ë$”Sd½¢Ïd‚é©‚3–©É˜& (–Z“)[WÆO[²ÐÇž!…iÞד!êàȨÃÁ©Z ¤FmÓ«<ˆ ®1þ|…cÓ0)ˆI±^W#F¥0Ffä™sÂäE¯°Æ™,Ï) ;¯×ïÓëAѳ%‘òÜa„°—9ŒqÊh{ùWUâœÑn¾Ž°Fk…ÖÊ÷ù_ô%~|É9Üøý ¨†óô²7òʜϢåaf鲄’Ò5öÖЭ•ý~í Ùj[¤V Mªê$.M’¦ä¿(¦¢5@h DýEÚpÈÐpÅXŒiBí볤&&)÷1ßnZ;€Ù‚&ᵎ™fÛk{¯ú"¿F$㤆Lø.á—á÷(Ü·²uè’ÜœþÄ#‚÷è„iï’q0Æÿ!îÔéwQ÷?ÍN:uê´ÕI*…ýÒ(™šœ¤¬J¾ñ¯ñß¿¾•ÿõ´ÃÙiÇå|â“gRV%?ºþ®ºò vÛí±¼ò ­Pa𘱵.:=Rõò—¿œsÎ9‡ë¯¿ž·¾õ­÷æ<âô†¿O÷(¤¨LÙŽJ=&&mßiÅ/š…Ù…05EP—6°ÚB$²PÈL¹ÅØ´‚(¹§ÇÒ¸t%ÅpOÚ“¶±@êŒ éà ŒàÄÃsþåÂ!·¯Ñ¼êYc ý¦í­Ý“ðqïÅô#ZÀÆMœ&]‡A›ñPŸ„d3™¼'´ñQ_ø Ò$Ý—(™ól'ïB<ÉpçµÛƒqPfЄ2ÚÒjƒƒ2"tÊ”­›Ò+zLô—15aS•f¦íxèIPK¬S¦Èm%ciô¬«=¢C‘Úá0%~?ü)“ ÔÆÖ3ÑZˬŠp>ÆÊ{LgLKçˆivS @FfYN‘ºô Š¢GÑË£&Ï,pœPôû–-öznß38ë/Ná±ÌÓþð•Ö1£’®;¾Ôu2UåዌvüÙZÃM×^ÉO.ý*ßûÜ锃9vÙë^û±¯±xùîL/YR¡<’þ8¹u¤¡® ‚š,¤j¡­³‰è’†X/&IaMW"¾ïÏû8ãå¡Lê’I¦mÚž?‡vÛ„û€4gÓud쪔øqlumhvV‚'¢+ƳÐÆøÚO¾ wm•@™XV;¦+Rt%“¤0aøã¾”/¼á‹›¸à;uÚ´: Ó©S§N¶Nm¢Ë’® ŸÿÂgØwŸý8ì°§!…ýOàö˶çó_ø Ûm·Œ—½ôÈó<pÜÄÓ-cÌ&,׉Z½z5{ï½7RJN8áÎ:ë,–/_þpoÖ#J¯þì­|áOö$/2Š^Aß™Éé)ÄÌ´2 gaáb`È j&JØX؈>鮤Ѷ…nxjºfâÓkð ÆmLzkµ¤dzÉÉ ÏÈ9weÅ×®®8úÀ¤¦Ì}:câ´i¿NáLX&®Ø4ž¨'Ëšñ®˜àšIÀLƒH˜d³\ “/ô«”YÂÝÈý4·_³ƒu;¡Œ¸ÑFÚÈߥÍû¶Ð¶z.”…ýÞ"&'`j¦& /-”ÉlÖ–òiKxÇG-¨ëèZ;7…³Q•Á÷"’“¤µ Ú¦2i"Ô½/c'\hS¢BkëàŒ‰]”B_¥P*1yž(SÐëôû9½¾­KÝŸ°ÙwEÏÖÕñ™£^uºbÓ=ó=6d¯ùËS5PeeiáŒoªäáÉϯº‚«/ü*ßú×ÓÑUÅáÇ¿‰“?ýu–î²;3K—Ùïó.ÌMâŽI˜‡=u •°ÈB³ £ µÔ¶íw”%$buc<ˆI¹FØÑä~kÜ?ØÏ —nèaŒh8nìõ\2"ºdFÜ0"½o’ú1¢µ1îµHÝ0 WŒ ¦a6 cd¼ŸE¸§ã>ûl½0Ïx“â!ZãXÈ;dºÿ)tú]Õ™N:uê´UÊÿW”‚åË—sôQϧ(zÎjo[d #xÞóþ€~¯¿ &®ÃP–UgGÞJ´nÝ:ʲäÃþ0o}ë[9î¸ã8ûì³ÙyçîM{Dé?þ3¾vêA佂^¯ÇÄdŸÉ© ˜™r0f)°ðm³KÀ@¾ÑU„¡£’ MMm4šÚ=íNÀŒwÄÈxÏwL¬Åî)Œq¨À®ËÇ?Kpö%%_»ªâygÆ$$$Â÷TÜ»iŒDÓpÃx×GüBe4í’‘|j“i _SÄD(#1(¡L_H™{û~{ÍŽ€«%cŒý>a@8(S×!öi?JÚ·6…)§È§ƒ&ÛÁþ§¿f3e¼ükïþ¨FϺöÈ6Ðܰa½=6ágÐ¥. áêʸyF ´¯'“üfzBz(BÑ^”‘ÂÁáëÅ8GŒPT¥<ÏɳŒ<+(r fzEA/ï9GÌ¢bü¸×‡B:0ràœ}ù地bÓÆðü㎠—Ÿgµ»Ê ªÌÝ .üÔ§øÅÕ×pÉçÎFkÍó^w2ï8çì¾ß êÊ2æq#º` ´¡–rt~]CUÛÔ²RZdÁYN-k*WSGú¿F¸1öâážáu2øíGÐFR–Ü=侯 epÅ~í/€ð¤/UcÞîR—|ŠSêqwŸ»iG% WSãá«pÐUD Rë:ôÛcˆPÆ2טždA‹ƒ2­v×Θ¸M[JßùÎw˜™™áÔSOÝr+í´ÙÔ™N:uê´UÊøÿ½&Bòâ½,¶­ÄŽ…¼øE/Ÿ}€€¥1[—öÚk/Ö­[DzeËøÜç>ÇñÇÏqÇÇg?ûÙÊ´tô{¯`å?EÞ+(ú=ÄÄ„uÇ,^,b=Ø€íe-“ Ê$Ž e¬KF‡ô%ÜàŸhCЌܾ#RÃÝ"`ñ¬àøgç|ö¢’¯]Qqô¡YB8’϶`ŒК0&y’žŽÝʃë¥]/F8cüSþM "qʤ+u‘_@:B#(c„`–µÈý4·]»Ü3“@ã Œ#ÂÀ €’(ŒÞ£§C!W½#,FLUÏv2/'í¸*}zNF]O£«ÚºejÍÆ¹ö I¿Ò{ÐY#¤°õdÆx @ Âø¸1u)B™0vn™LeÄäʨܾάKf¢gaÌä$LLZwÌÄ„1=èa¡TßsàiÀWV®ä+V0a /=þø†;Æ;djàê•+ùöùçóï§ŸÎp0àé/{ïýæ7Ùóàƒ©[.½©®Ü~Gç¹KÃ]ÓžŸ:dÊÒ9™ôÐ5Ô2C‰*9FÒùmÖ“ÁŸFšÒ¸!ÞÒ£€³UÐwä³ÍºúÁ"#t(ù‹HöÑThw=ù3©û%éªä~g|Ÿ¦|iÁ¼3&…1)qÓ"\î·)Ù>\0ɶDÝ1ÆÁ"“Ì{ÉGåœ7|ŽÍ­8 +ê» ©2:uêÔi«“¶Õª¯ýâåAL›£ü®`¥2[·Î>ûlN8áŽ=öX>ÿùÏwéK-­øË øÕ§N ßïÙb# fl]¨¿P IDATX¦±î˜†ÎcC•ÚõÕè:@ƒ¦6vÐn°OºM¬%ãkÈ(CŒ2ýßiG&u¸X¼Ppüssξ°ä«—U<ÿ©ê¾Ì8§L«‹’-iáψiAjÄ´ L’Δ:hÒîKB¸Ý´)2Âú55† Ãìòäÿæn½„—MbÖ Ä02R£kCU›Ücb ˜ZSWUµ#U¹rhËÿ v€Ù ËV¼{¦—ÛÚ*ý>L`8Ãaj8IUUÔU…Öš¹ùy±:GD3„уVF‡Å…‹€m ìb‡±½u¨#‹ýúâű~ŒMÏÊTæZ`[HÓ+ ŠBÐ+l{ï~a!Ì„ƒ1},bìÓ2Ê\|ùå±b}cxÅ 'ŽqåÊ•\ð•¯ð©3Î@*Åq§œÂ'.¾˜½:¨á¢©Ô9T9ÎÔîTy—Ü{)xѺ9ߘX?fè:bYÀZY “yçP#õdpPÆ4@Œð|44/rl4‚ˆ¶„4[Ö‹`ÿ ©L­ÁƒKfÒ~LïŠñLǭȧ)yЀoe<Ót÷v£w _\:\˜ ŒpП¸ç&ÙŽð@Cpýá]2I"“1ñ=ue6·¦¦¦˜ššÚ"ëê´ùÕ™N:uê´ÕIeº®G\Öù…: ³Õ묳Îâ-oy ÃáðáÞ”G¤vÕY˜KO³Qk߇©ÔÀªy `8`X)ë’ZWÔ¦F£ÓÞ#Ѩ)“˜ ¾ô%÷„'ðÑ3Î Ïs^ÿæ7ó•K.a߃²éKöŽh™äµ ³è J/kwúFJ¼øÚµ¾pU¹ån¾q©e¶my„2¾vðÈ$©K ø¶1ŽŽ¦Œ4dÛµ ú†¥Ô5ãoeÿ^òÚ=4aqvçÑב‰iJ6mI ï„IaŒƒc`Œ¯%xÒA—Ĉd~H• g"Öƒ±³L€2vö¾ò`Æ»c<$Ѝ¹{ˆÓéwRd:uêÔ©ÓÖ)³ù,Y–uPf+Ò=÷ÜúuëFæ¿ÿýï¶fë‘xÆiðËOa’ jÎaÃÔ°ÞëÖÁ†u0·¹Áƒá€aURÕµ®©MíÆ $Ó ¬íFø MAŠiÀ–E /zfÆ¿}³äüïVüÁ3²±0fÜà¾æƒ-'Œë´©HÁŒ cã Lúºe|M™tgÜ<<ûú®û’0jç¶)™6¡CRs×UÛÁjÂ?p1v­1µˆ=”ÑÔUMUV æææX·n«W÷Ù~{X²¦¦mp_U0˜‡rhÍOFÛC¥¤"Ë™O*s똩5bÜá`Ö„¶ä&ɸM(’÷l[ådœóÇ(m§]}_Ü]×]×ÔUf;U®ø®oIÍ(HÙï¼ãnþå/9ïË_F*ÅùçÇk–-ãâo›ý<°]”2w·¤ßŽÓ¡ d ¹=:r:´€JB™Û2R8wLåRËä*c(3 ¡|Ê’ÍóÑ.ðÛ†2ˆÆ¿oÞ¹ÒpÄ´àK|í>›Ì ÂC×[·œ1ÚÑî®4ÖC„º­ß#Ƶ« ÐE:à)e„1~Z¤ç"^C×`^Úyd¤ÆhéàKš¦ÔJf†£?öZ¾öúOЩÓUd:uêÔ©ÓV©-õ4ª,Ë;ŽN~úÓŸŽ2€ó*Xý%è¯ÅF8sذe¬õwý«áÞ{ظv-6¬gã|e´…2•3:qʘ$Z3­×ô$7öiKãÜ1iŠÂ®;K^û²œÏµâ¼oWsD¶I—Lúý¸{µfñRï\ñ1eZ'&‚Ýê¤ä_ë|I^ ÆF§¾‡ŒN4}ɦÌh 5˜ÒCv`Å:3ÃúoOcÖY‡3º2P;8¡5u]SU%Ãá¹¹yÖ¯_Ͻ÷Ü˪UKXºt;–.é±Ðu6Ïs -æçanÞŽ¨Ê’º¶A©uªØîGRª$øÖC;e`¢£'Öù5I4쩌4)t€uº¶i@ÁMä@Z¨9ã_‡÷ý´ ë E‹§ žˆõ`*à7wÜÁm¿øž{.ŸþÈG˜˜˜à¤7¿™ÿûÅ/òÒcŽá/ÿæoX¾óÎ ž;ƒY²åmÈ“þ³É¥×˜N—«“iEUÏ-çàRí:=•J$›²d¯ªfç%áDÆø›ÌX׋3ÉÆ â¬FàÎŒ2áÖö§×]Û1ÆãŒ‡»±ÂÿÛÚÚ»Ââ´(ÙtÂ8wŒT)Rºt8íà¯_Oýµš€題«5öOüeÓ[¨ÛÒ•W^ÙÕÙ†Ô™N:uê´UÊÆ{¥SÔ!‡Ò™ßG‹_ wþ;L­³FÀFæÖÚ5pÏ=lX½š{×Ü˺ukÙ°qóƒ9†å€ª*Œ©uRà××’Ià>Ђà~±Ó¦\â`ÜÓðÖ| ‹J^ù‚Œ/œWñ•‹*Ž92qÊ´–¿ýNͯn6üಚ5k o=u‚é>nŒ”ÒvÖƤ.ñý° ÍnK#nï”I`LpÊÐ3ÊgáÂsc?­„¦wø€»×/Á|GDpÔ• µP¦¬¼Cf#ëÖ­çÞ{ïeÕª»Y´p! .bÁ‚LNZ(cŒ=ÝóÃüüóƒyæçç”C›¶d´F»4&­cí ;Ø6À¸$pÅÒ_0I!`)Êv’R#ŒD‰6šZk´V2Õ5U]QU%eUR–%e9¤,‡ ‡%Ãá€ùù½~þ†Œ¾k{=1 ““0Xw;¿ºöܸò?9÷#abjŠcßüf>ûÝïòä ~{Ë-¬sCªq?ç‚I?#[ƒHÞO8ùT*Ñ‹p©*a˜ÃPSµ\ýÊeB+ìQpÒ ¾ÍÐÈy˜#@š‘ÎJm(ãkÔøs,ˆ¯q÷ð•øVÙv¸îJcÒ”FkâŒʺ_àE ”×~8žƒFçÀòP&Œ¯‡¥%ZØimZ@&8|¼'pók÷Ýwgzzz ¬©Ó–Pd:uêÔ©ÓV©5÷ÞËÂ… 7ë:ŒÑ(¥6ë::uzDiû—Ã5°Å7À>ŽŸŸg°qëׯcÝúu¬[·žs˜›Ÿcn~>¸d꺲Ο¶d Ú×bHS–ìcû``<€ˆ%ƒáBɽ0çÿžWò•oVsT¢ÝÛïÔüò&Í.¯Y»žòÅ ^X°d;ÁôéÖ?Zˆ7…2iŠ’/èÛvÉ´S˜FÜ1ø®KM·LŠc¤wá¸øV¹#¦ŒÆ[Dƒšl¦bîèIÖ^8ƒÚ`º4¡eµÖšTUåœ2slذž5kײzõj¦]aÐÉÉIz½Yž#„° §2t°#އ‚T%eUQU5u]¹s]G ƒwĺÅáƒs-Ô\-|p­l˜¡’(%‘™B)E–+²,#+rŠ<'+lZUQääEAQäEAÑëQÍÝËÆ»ÍÏð%.ûâ¿ •☓ÿš¿ùò÷yÜþû“çåðËÒ‚©Õî’¼ERe†c.Õq\Ч;ƒ2©{§dÓw…fy怌o}Ý踔¸c~Ý'ií_ã­”<,”Ijt7§n(À:È€I\2¾+̚уn!H;VñZ‘J¢¤@yã\2JÊà¤4,À”Ò‚E£=ŒÑˆj猑®¾ÖÌ$¿g-@£#>v2½þŒñø!Ð’%K:‡Ì6¤ÈtêÔ©S§-ªï}çRŽ<êùlܸ!L?  Èsææ62;;»y6Òé®;ïbáÂE#Ýœ:uÚ–uËâÓ»ììƒqí\ÃóƒƒÁ<óƒóƒy†!HRÕÎ!£­3&uÈ´Ó–ÚAWcŒi¥&™±@&¦0e¯xaÁ¿}yÈÇ>3`ï½2.»¢fí:ÃSöS¼ð…=–.•ÌÌÆô#›Á1. )-¢í–IáLêŠñÝ—’"¿Ä´`L#w`FHWÅÆØ7ÊõÕT¶˜¹4†LÔϰÑL±ñëákM©1ZX ¦5õÐA™rÈüü<6l`ÍÚ5ôz=úý>ý^^¯OQdY†RÒvú©+ëFi 5uí\Pî|GTè°Õ„11 Åß±ÃÁ™´kk®ˆR©*sc%QYF–)T–±W~<ƒõCîZ=ä—?žçú«ôú‚VdœøÅN;ä4†+Oãú•ÎÈ Ü{¯% ßxÿnÌ.€ßZ¡¤+Sâ +Wl×C?7ø÷üYOßK¡ŒwÉ”D ãÿ婪°î˜^æŒ1v<¾†Œ¿¦lŠ­2V#ÆÍµ…u…m¹NüܨK&0Þöæ àÓ£ì×úiwÜ}1_Û¢+^/-#ÂØÁ;%à “A)Eæà]æ°S vÀ¸4#]ÛEÂc²`Æ×ÁÒÖ&t“RGÌ(Ù2>™NÛŠ: Ó©S§N¶¨Ró`a @žçì¾ûc¸|åJ=ä0–,]jsÅʲÜd*S킉±2&Ô‹1ªrÈ•—¯dŸ}÷%/н:mMºå–[¸îºëøÔ§>ÅW¾òžò”§ð¡/lpaƒo gªÚ¥Š$z­]°Ü1u XD+dIà˸%“bažl½ŸÀ_¤wv‘àå/)øÀ‡¬ÛPñÂöYºT0³ a’6ÖÞ3Yĸâ½ãAŒMgÚ´cÆŸ®”:fÒÔH ›¦c”ÁB‹(Û-*$Ö=“‹Š‰£çØh&˜ûú„-û34˜JØš2hêZSéŠaU’ çÉæs²,#Ï2[°7/ì8ËPJÙºBDðbbj’1cR”’T¥‘s ‰CÆ-wTÚˆÊwÍqÓBÀ!ûIÁB ɨɨȨQ~š»; h®úqÅ5W•LLÀÁ‡d¼úO2–ïdÁ‚­~L’^cÜ´wL@¯´ÿ~äC6/¸æï2‘pÿ´‡²×抷iвÌvwòÝ›|''?ΓCÐDrVÚ}®$–kÑîõ0·žÜµ+P&­ciæH‡*wÅáÁL#]‰Ð]Iø]L­;þu’ž”B™èÀqïyæ’Nƒ»–MðîøQ c¢+Æ$­«‰0F ë†ñN˜ÌB•Y“eŠ<ËÈ<¨ó—0Á-Ví®[áÒ1.-„i¢q•·S˜: ÓéÁª2:uêÔi‹jãÆ c§¨ò¢àQ»îJ­5W_}kÖ¬Ak[61ÏsDËÍbŸ˜9Ó¹/Ú‡ ×…,*ËQJ†e÷yÒ“Ø~Ù2ff<èíì´åõï|§«!ó tóÍ7sÝu×ñÉO~’óÏ?Ÿý÷ߟ“O>™÷¼ç=ì¹çž|ñä½CTåƒí€KÝÔ=ˆIÒVF‚ó˜á:c"Ti¹'ä&R€ñ±eè˜$³  f W®¿¾âùÇLDケfZR«µØtÙœ£óÆÖíð»åñ€Æ×Þ&”vgòíŒa´m—í\4š‚’ɣ瘂AÕ£<¿€yƒÑÂ;{ž*-Qu‰:w…²i@JÙ¢½*8 lú‹­uH͈)IÍ?„¿}w­vºRzÞí™hƒ¸ƒž~.“b#¥ƒ. x:W½gn}ŪU?ÿñ€^n!ÌaOËxÝësvÞ)ÂÑJÙISj¢ì2ÛÍÀÑÏ,™Î@›Ø½ tˆ;ÿÊ·gMÈHÜ?“Ã1ïѡݶo.ïÍ*Y\{3ÄäX“™°]±2eÁO¦@©Œ´^L¼…šiKanz ܽà„g.Þá’–ÐÛ¿×vÅ´ïBñ”'¬-:dâ^GÜ1 CpHE'LꔲÝÀò<³C–‘gÉuލqé\î{ S×P×Q£…ë7>Ò'+qË8X@ŒhþÒy ó´3Oå{¯{oû"{Htã7v)KÛ: Ó©S§N¶¨~ß”%€‰ÉIöxÜ,_¾œªÚ´#ÆK„– \Bò¢`zºûOÏÖ¢§?ýéÛ4ùÍo~êU«Øwß}çï¸ù曹öÚk9õÔSùÅ/~ÁÈ›Þô&þùŸÿ™Ç=îq#Ë¿ôŒøÄ±Ë‰)%„À³mÜ÷7æ \qZ¬û:›€1Ö Ó1&™ö}¢òccnûýðgô¸ì²!ç?Ïó_0Bδ“ÒŒ @e4…iÎŒ1¢é’ñî™qN_GÆÓ8§ŒL£QïvpÁvÀ IðíÀŒëÌ”™šž(©òyÊç MΠ*¨ÏÉ-˜1€ÑÔF u…ÐYùÎ4®è©¯C⦅ÄI/øT$ÅZNâ9ó“ó|às¿I!†ä¼äT(j2aK–€%j|sq…aãú’U«*~vý€ë®09%XqXÁ+Oèñø=UH —‘HÜ!¤ï$I¦9zæ!Ex€Œë(Ûm»ù:ŽƒUh _=ɇ\Æ^ãÒ`\>ÓÉïÕ¸$gÞwfòG>¤; WÏÖ ¾åuZ#Føë$Ù/<"ªi2—¶>Ʀs ?+â¶¿ &BŒÝž6‡ño'€µ c-WŒ’dJ‘eí±¢(rz®ž‡2JÅ"¾8lW%‚;FךZYcD¤D-¦]“‚°î0#\ëRHéÌætÉ…u´uÚ6Ô™N:uê´Eõû¦,yåyÁìÂ.•¨Óÿ]{íµ¼÷½ïåÒK/}PŸ»é¦›¸öÚkùÄ'>Á\ÀÁÌk^ó>ø`?üðûýük?w|Ñ¢ð¤ÚÕl:Ò4¤¸7ŒY> ÂÚE|GR—RÇLú€Ýlj frFò¢—Nqî99ÿËsý¢©1 F’B™ûJSí¸$›ßÑž—Ô’aÊHF(6°öݘ<œÑn´±èF90# nš0hc¨¦6†\Ô¦¢/Ô¹¤z…ÅC“3ÿï“ÎhÀh{ ´ Óµí¤m•ŸöÇÛEÖ)H#=wÍ×{½àrzbè K/5JTd¤®ï‚ÑÈc,„™[[±æî’¯Ÿãº«æ™žtX×¼qšå;I{t… ¸ˆ—p@B$õT`!¼Å¤EpÓ÷|ýpkf€1ƹhü{Îy¡c*Wpy˜S;˜ãî•¿.KÀáøžôÝ輤±–LZÆ„-ŒŽŸ6(IÞK°TsÙqÏ,Å9^‚½DÐ\iûƒ„§‡/tß)0øª¿"¤'yWŒsÆ´S“rER“$EžÓïôzE„2- cpç¤v¸ÄÕWÒÚÃ…•»ë¤sÉH‡Wj‹\ŒÆÈÚÕw²¿ #FÌŠ3ßÁÊ×ýý˜côûi·Ývë2Û: Ó©S§N¶¨~ß”¥N:Ý¿nºé&®¹æ>þñsá…rÈ!‡pÒI'ñ¡}ˆ=öØãAߟž{ï}þÂ=¢Ýq¼k&DÀÆÂÅ\ñ{`MwLë³#óeó½à’ñßép)¤f*^ð²i¾ü8ÿÜ<ïÅ3-(ãAË&Z]2bÌ{"…3i¦ñ¦Ñe)Fž·¼ )’m4"À ` 6‚Z;£ÓùÖ`ÓȚʎÅ<úëÑÆç=©¤"cø…ÉpCŒnZÎ7Þéå¿"§")h©PIš‘w¼·‹›–¼øyÒÁææÖ•¬Y5ä†+ÖsãõóÌÌJöê,€›pyg‚É—Çï §ÊC¢àÜñCJ1½ü õvó¼m(e( G1 €3Žä˜ð^Æx°ã¿ßÃ>cBÁÞðÛ’À˜L‘å6©p©IEžÓëåôrÛQ«ß/è…s8 #|‘l[«*+jmëÄÔº¦®*ˆ CiÛ®h§ÁÔö~5µí´d„»z2FGÒøˆ.Áq‡§S§–: Ó©S§N¶¨Š”¥N:ꦛnâꫯæõ¯=«V­âÐC夓NâŒ3Îø L[§~uÿxT” žÊb^…vÁ#´žüAŒŸ7Î%@Ìh ƒÿŒ¯u3%"hç–‘Êóòiþíìu|üƒ«yõŸm]1B&0fÔ3g’ŽKÁA#šË7º,‰&”±Z ãAŒ¡,ŒÜ´ßàÇI*U/ µ¡ÖÂÔnZkã ŒuUØú1¡†mÈ*V€}ìÝØ4“¶È£7´,¡®KòZèQ\/u€/é÷Í­²æ®!¿üÑz~òÃõLÏ*ö?lŠ'ìÛc¯½ûH¡ƒF"h¶â%’Bá\3 ÌØº"q,„[V¸¥C;i|ˆéKÂ猛ça‹6¡˜¼®]²Ú‘õcmBG,c<°I5®Tîûèœÿ׌ž0,–¦÷V_›újâæ{ÕrÏXÞ’º_’ Û¡Dœ5òzŒF*Å$PÂÖ©û>…1R ×ÍÊÃ…ÊŒÉ3Š<£(¬#f¢ßsÂzvžƒ2EQX÷LëÇ£©ªŠr8d0ÚsQWTªYbDé®ÞȘ [ÇÉS[,êè¢UK&ºc¬{æ>T§NNéÔ©S§N[TUÊR§Nm­\¹’õë×?Ü›±Eõ«_ýŠ«¯¾š3Ï<“‹.ºˆ§>õ©œx≼îu¯ã±}ìC¾¾¿¼`ž¿?²@(WsÃCʱ=Œ‹ÊFž§&¤¾Œ&né`‚cF8ÓxH/ài‡÷˜š‘ÎE#˜Y˜qÔ‹g¸èüõ|ý‹k8òe‹[æþÝ1ã`ÍHÍç‚i¸fR Ò,eÇÒ!U˜ï§…TÌ÷» D0£MjíÚQûi—žáöÁ~(Pë¢s7ˆ*tuн£š¾šèhiL‹fdê€q[­„‰ÓæÖ Y·jÀ/´–ŸþpÓ³û6Ã+O^Æ;fH‘}!ìÑwiTá¶tt¼¸@ß8ìº %†´ZGËMÂUH…ˆNˆ5fìà¡L]¹nd•‡4ÎES;0ã5uíœ5µ+’=ƉcÓpÆ×¬9fí1x'Z¨Ë$ îšÓ7|hôæNáAƒ¨øýˆî1æ#éü‘Wcïñ$5)LÛz1ʵ°nÀ˜"§èLNô™œ˜`rÒŽ'ú=zE<Ï\ÚRAOäd(,®©)2¨dsó ‡ÊÒÃ…qW«Â¥jÚS_ílWÊØ”%ýÿ³wæqr”uþ?UÝ=÷L #áÄ€G8•caPtÕߪì¡0FEÑEVnAY¼Ö•CV\¹„Cá¾I›3ÓÝUõ<¿?ž£žªî IH&<^EUWUWWWWOæyÏçûùš`á…ú’ƒÏ)³ãEßäžNi½ÞË¡^x¡¡à0^S€LPPPPÐ[ªP²´²´Å[¼-€ÌO<Á]wÝÅøC®»î:öÜsO>ó™ÏpÁ¬SÖW¯iò­}ª9ˆ‰< c ‰ðtŠÒ_ÖGƒ0%7Œëìâ\5ù«ByEž³ÝÎ%Ø"Ø`ã<ªÊÿþfúÍëìñÁqtõúeG¢¸,Ù³´Î‘ƒ `<8ƒˆs鹈bDED\!Š+DæqWò}"ÌH¥!L&I3Iše¤©™2H‰Ìl ií«ë\<“„3JRñ5º×ë×]F2í§º¸@ZûX(F$,zi„{¯}‘ž¡o|…í÷àˆÏOd½ *Æ5ã}ÂÀhÿ…1ö–-cÿÒÂäP&² Æ9c"ÓF:&Š"˜ÅÈØmþÜ Z •ʤY Èø’yΩݩÙ'7vî—>ɲœ5äÎÔ Ú,'ÅÅÿË7šªÀ÷’ïâ\2¥r¥vjY] dö;µ8ÛDä}n‚Bxol{«•ÆTMFLOw==ÝôöôÐÛÛMOw=Ý]tÖ:¨Q%&¦›.:©¸d ¤@“&#qJï0C#Cˆ¸‰ˆ*i “!ˆ¥†1‘DçúJR©Éÿ1?gŒCFO&à¯L [¾”¯[Ñzþùçéíí]áÇ Z5 @&((((è-U(Y ZYZ{íµ©ÕÖÌ çÇœ /¼[n¹…)S¦ðÞ÷¾—OúÓ\tÑEL™2å-?Ÿ¯ý9á›ûT(”ɰn!”ÈØ’kÀ€"€ñ+æ™â(,[·Œÿ÷y bl¾ŠÞÜs´X°Ò3PaŸÃÖâÏ¿}¯^Àû¯Mgo\rº´qLjÑÝ1…už3†”ñ°„çŒ"Öî˜(FD´DÀTˆ*â¸J¥Z%®Ö¨TjTªU*•qµJWˆ+ýZÊäÈd’$MI’”$Ih& I³©çIBš¤¤iBš¦dYjàŒž™3Â|n‚¹?»‰µ§Md“ý¶¥`P” ©BsïÂ)OõM½8ÌS{•Çïy¾ñá)u IDATU¦ìÐÏÓ×b³©=®œI¢þØ^(c>{ïÞÉKbòØØ\>¸îùÖ=c ï²qÏqe4ºÝr™–àÒÄÔÄ"BDÅr§åRÂty‹†/Ö# pÆ.Y&µ£&5Κ4-_W •Ã6»­F,;*…ªÃ¿ño¦lP¹9±vÖ|'úöè?ÜwÚƒSÖãA%Š ïZ[W"*늩P­Véè줻»‹ÞÞúúzéï륯¯¾Îzé¡›]èvâUt{që˜Ê€&P§F•UTW Ñ0DM¤ˆÈ” VI=‰LÅ •™´ Æ–CJí–ö烹¶Èx¡ær%™vØ!„ú®A @&((((è-ÕŠ*Yj6›¤Iª+A"ŠtzµVøëkPÐ[¥ÇœY³fñÃþn¸-·Ü€ÿ÷ç´ÓV|çŽeÕ)Nùæ>qqì—¶ã%•1¨–2%åuôÅù%üeA9&_×Úºg 懮˵—½ÌMW¿Êîû¯CW_eÔÎJíÜ2íÝ1ÂA—¼LɬsŽ˜áC™(ŸDUªDq…¸R%®T©TªTª5ªµµŽNjt˜¹ž:¨Õjæg”vÊd™vW4MVF½^§^oШש7ê4 šÍf“$i’&M²4%K¤ÌPYв`F*¶ýÔû˜ó_× Å”NËã~ìÜ8W"•GÙIõ ¿8Ä3÷¾Ì“÷¼BßZl½Ç:l;}ÖÞ æ®8¦CRáÃöSÎY]~ûäŽ,ßÄa—ñ—8{Â&¼{/´WÙí¾³K¸r¦#ˆÒß'wÖè2¨Rf}ïR¡2“…bhªðUñÕ¼³V¾=þ´"\Åló®Qù;.üï· E‘žâÈÆJµB­ÖA—-Qêí¦·¯¾þ>ú¨ö3@7@?Ѓ1Ú•WN&@ÆBš.1²C D삱S Q¦™BèP&D¬4Œ‰ ”ñË–"á…ûú]–ŠÝ–$Šm~tsÿ2AAí€LPPPPÐ[ªQ²TaÞüy̹ÿ~^}å•ujNQ100ÀÖÛläI“éêî^á¯ÔN=ö³fÍâ‚ .ছnâøŸýìg¹øâ‹Ùl³Í˜;w.Ó§Ogüøñ|ùË«þüSþœñ}tp&¶$ÁŽ„Œ;¦]ê„( Ôp.¥³ì€Í³J¸Ò$!ò ßRiR9F¶Ì#º*¼ï ¸î²øÓOÿÎ>ŸHG_­=xy#wŒêëeÈÂx½€^玉bür%W‘vÄÄ•*ÕjJ­ƒZ­Cƒ˜Î.ºº»éîî)Ì;ãn:é¤Jºù³"!£Iƒê 34´˜¡¡!†††bdx˜‘úzf£AÒl&Yše• ¤LA*ªë÷³ã ïãÞ]O„b‹ý§Ù1·ç–…ª¾ Á¢sïeèÕ}ët²åë3uÏõYkýŽÜ³$ì'å|+¸ÔX³¬ÝFš0Î \N‘_-äÃeÀŽ.v2s Ìqý Vc‰Ð¡ÀÆ)$”v_I³—!#tƈDÃ¥3El)”ÍžÑpÆvvT oƒm!ˆ—SÎŒ±ù3ºH›IcÀKî–QÈxåNùr±,JCœl‰îÛº;ï dJpÅWGNÑŸC Tª¾³îi'LþsÁ” ùKþ©»ke®W¤W¥bº'utÐÝÝEOwÝ==ôööÑW`]¬ ¬ ½@'ºØSÖ3‚ô l S„^’š¢’)’L¥Š(–D±DDiËŒ²aÉQfB•ó  eRx Få÷R^¶4º zKµ¼%KIÒdÞ¼yÌžu'7OšL¥²bÿ9KÓ”§Ÿ|’믿)%›o±ÕêšY ³&顇bÑ¢E«ú4–Y=öçœs7Ýt÷Üs{ï½7Ÿÿüç¹ä’KØl³Í ûn³Í6Ü|óÍLŸ>¥_ùÊWVÑYç:ÕBkŸz-"»€)‰Þ¨ÄvC*@™HÆ•ñãÀŒu>HáÁáy eKvÞ9PaÏC&pÅ…Ïpãþλ?<‘ξÚ‚|GqÇÐêŽÁ>ö»*á…øŠØ9dtvLL^Œ¨Tˆ+5âjU cººèêꦧ·OFûûé«öÓK}ôÑM§+×—Q†‘,êZÄ‚®,XÀ X¸p‹kUªCFâ˜zÑŒÍHF% ¥šFгn;ž°÷^tHÉVNóZJë½¾ ÁâòÜÝÏóܽ/лn¼co»6¦ô¹l=öíS¾ÊŽâU¾Þ7‹dpÏ+8cT­Ì«X.¨M1CEþ/Í}£ómº#ÒÍ¿oÍó®¬G)¥èR¢bI¬tOd?ztz†MùùëœXÓŽ,Ø.HÖãZhÛY–;aü’'ë€ÑG_ŒB¹“4~~…@Òsߘ¬¡¬”oã·ï6ÎÔ*TS¡Fàß~ bøöæß6àË~ÎÊ-ZÞê.ˆŸ€Œí¶¤ÁŒÎ”©R­Õèè褳³‹nºèúÐS”B»cì½ ³dôº:©“Ò¬H¢8CÄ)Ĉªg`À Ö%ã`pb\†Œ9Œ1pÆý@óŽ‹~À#'|‘eÑ3Ï<ïýëø¾hÑ"æ´&(™     ·TË[²”4æÜ?ïŸ1ƒM7[9Ù•J…)¦Mð=wÏf£6¢:€Ìê®®®.²,[Õ§±TzôÑG¹óÎ;9ï¼ó¸í¶ÛØf›m8î¸ã¸ì²ËØtÓM—øÜ­·Þš›nº‰=÷Ü¥'Ÿ|ò[tÖ£KC™È¹\„Ð"åeÈx/ÄÎ9Œ)·À&Ï )–*µ–%åÛ‹%He8Ó5ÐÉþŸÞŒ[~7ŸÛ¯zž?¤¡Lû2¥6PÆsÇà/û™1xîr#”©Â|£¨JdK–ªT;¦³«‡®îzûû¨ŽgãG¿ˆöPü¥¾,"âu褋jµJ¼Vä•åHe³cd†®SÑ.™º$CлN;?»|£ØúÀ©Ô_¯³øù×™w×<æÿíyz×ëaÊÙêý“·^¢”à‹7H×€M¹Ïκ_ÚÏ ¬Âxô ¢L*±ï”q`Æ”ù@E E¤$R“C"! ƒÑމÎq\D)b¥P*&ŽJEº£”ˆ»#“’8’ı$޲BSÁ-ã|A¹;ÄBA¤ƒ²½6ÕÅ(¥¨øŽšBF ®Ý¶^Î1¬(°XWR:lØ/Jò)›7”e™6&ËFwÒ“Ê*“¨H¡šðï|ÕÔ)Nßö4¬O)ri/-Mš² )=…D)RêòäÈ୲ɮ c앺l©j¾#þSƒ¨á ¨žR3—ÊdÊ”,'– ‡3 Ûö×®l©ä(RîÎ]v]|ñÅüýïçŒ3Îpëî½÷Þ!³)™     ·TË[²¤”âõ×_cÒä%ZW„úÇ ¥"MÓ•þZA˯ɓ'¯Ö™G}”;óÎ;Ûo¿ýöÛ/ùËì¸ãŽoaÊ*C™ù—YIg½ô:õÏ’oìkàDB* "aÌ­‡¼DÅ®ööò2vïœ2gÌèN˜%ID×@»2‰Û~÷,³®šÇNšLg_e”̘ÑÃ|ñ—=ã‡ù 㘮Œ)F‰˜HxƒASºUj&?¦“ZG]Ýtu÷Ð]í£—èg<0èjóYt  5úiF ê]u'S¯Wêıé(EÈ(B™)’úÚú ¬=ëô1õðwrÏÅ·òÌ­O Iïú½lúžÉl9c3ú×ïF(ÝâZ!ñCm-PñK“rÈb‹X|ðâ—µ2æ¨v_ÈŸdìÜ‚ã…A9)‰ Uä¶)!‰l‡$i4ˆDJ!¥íºd¡LäJ’2‘g± ÿm>Š·½(¿´ÉËž±¤_‹å¾":—”Š-¡Ò»/.ôJ£Zƒ~ó}• Ö¡Ð::i6Írî¢ÑaÑ:ƒ(IRÒ,!µŽ {0Ž!Q‘àßîúš.mêPœ9u¦þn+í S®,&ņ:ÛIƒbq¤;/U«j=5:è¤JÞ ºl© fRoÊÈË™ôOý}“ÆÝ¦,(ˆŠ)O’ÆH¡þHb,œ‘Âö5þïy38fÒ¤IüñäÀD)Å÷¿ÿ}¦OŸ€Ì¤d‚‚‚‚‚ÞR­ˆ.KRJâ¸ÝßÃV¬"¹€Ç  7£GyĘ;3ý÷ߟ“O>™wÜ‘M6Ùd¹Ž½ÕV[qã7²×^{±ýöÛ³ß~û­˜“^z…2ú¯ÈX0ã•/ [Gbk,”1ש@ ãðsbŠÛˆyI`¦¼Ý­Sývùè&Üùûg˜}Å3ìxÐ&tôuóaÚÁ™²;ÆwÉ#ò¦Ï‚X/[—L£LÙ’ßi)®˜ÎJU]¶TëÔP¦ƒ.ºè¦íŠic¬"ò®3ªÄT‰cÝ.[xÌfxXøâm!ymˆÅó_eÞó÷{Ÿ¥£¿ƒ$•ìù•÷Ñ·^·¾’ª½&.>di·.ÏxÁ][›è2Á= lQzÀlÛ·›ëŸçƃé줉α' Ê4ˆQàD"Ö§à|‰œÓ%"Õ0&Ž ­³}‡Œ0×W›Â¼íÚPø¿}ãÚä·ôÆu²Uƒù²~ÿ³õ`Åc)@fº5·íÈe;vé.]úq£^gxd„z}„z£A£ÙЀÆsÓH$R‰¼üM*HáŸgj ÕçmñUddî½L@£Ò™VÈ’ YÒ$M$Iƒf³A³Q§>2ÂÈZ# ¯½6Cb- Ð¥K}@7HVÌ%Kоvª£d t(Håý\0pFŠÌ@%#…Ê2X@c¹"¥ÂÝé2 6ÿáù<öé“–ð­mÕ¦›nÊ•W^ÉAÄ?ÿó?sæ™g.ÓóƒV ô–jEuYV:(±Ç8&hYôÈ#pÛm·qî¹ç2{öl6Ø`¾ûÝïò«_ýj¹!LY[mµwÝu'N\¡Ç]zäûE¸€Þ„$ÏÃpC~[ºb–Ë–¼Á;JxŸ"”ñaK¾ÜÄ”]×ÙßÉÎÙŒY¿’;/{’w²ýK1mÝ1år%3 /Ð3سS^²ä¹dâ Q\Õí­MžL5ê¤F'jTÉ3c–¤ÌM’”Œ4•¤i¦æB+3VVÞ4üÊb>÷ÏÞò/Üû}ŽcÒô-Ø|ßmÈš ³/¼‰Þõût‡ýŒÜ Þ› ã€X"”)B—<ÿ¥¸Í‚+ HrÐâ\WÊÀÑÊ`>%ªÈÜ#Š C v ž)íRQ¤ô܃(¾÷E HEFœå·O ÞØ’>áË;¦(ç†Q¯Ê@œìÉ¥+…sBéàÜÒÜ´ïŽÍ:ÐÿþåÝ›RšÍDÃã°ªÔbÈ„D×ë#º‹W³Ib[«ËŒÌ–4)‰ !õù“Àçî; j :á¢M¾¢aL!ãˆ4®4cõ*õá!†‡³xÑB,x×_{W_y…—ÆgüøñôVûè3¹2TZ(~®’øµó&i&M—%E*…¼’H!El|_ä“À˜ü‚+óˆŠv%åç-»6ÝtS®¸â >ø`¾øÅ/Òßßÿ¦Ž´z*™     ·T+¢ËÒŠñ}#‰7Þ%h5ÐüùóY¼xñ*yí‡~ØA˜»îº‹ƒ:ˆSN9…í·ßžÉ“'¯Ô×^`ŒÕ©’Ìü`d:•˜²%iÌ"¤š Q†2ÊÁ… ÏÌAˆl™ò̘¥3íœ3 AG';~dsn¸ð~nþÉ\v?n[:ú»¼¿šçPÆvQ²Ž˜òú"ˆ‰PĦ5uLdÜ2ÊAšŠž,”^Èo\Õ`¦R#FO>ÎZ’F€!3 3Âuͦ€êò•LéIJÉ¢_ã©ïãÅ9OñêÃó蛸6“÷ÚšÍ?´½ëö‚É™Yøì+ä&?‘<ÆB7Q˜çË9l“ˆ¾(í6È›tåëÀº["  yñ‘-E*™£ ªÊ`2¡"„D˜ŽJÄ$PRÿFJ]/ÆÕ’ 3‘z™"lqèDå¥EBEܾ9¡t“uÌDQ\3h0£Ï#¾ŠH*¨Ä›®X&07Ž+:87މ¢ Ä1TÌ\Äe&ÐlÒl4i4ê4ê ÝN½Qgñâ!ÝÉkxˆááaFFF8âü‡ ÷â63?F'uj4è¤aæu:h°íܹˆ¦âćþUƒOþ©XY“D1ÍJL}¸Êp­Æ¢…,xý5^~åez{{éë ¯¯Ÿîînzzt'¦®¸›.º”±÷mÝDQ§I#k0ÒHh¦I&I2iÀ dÎä?O¤¹_,”qr_ÆŒ±„“¼ÈîÍʇ2zè¡oúXA«— sB¦é[R¶4vôòË/¿¥2×]w·Ür ¿ÿýï¹çž{øð‡?Ìàà Ûm·ÝJ‡0cAƒÿ+™¹dâTÄÂMlÙR1è×Hä#|çH1. ë’)NEPc;-IñFn™¢óEÑÑßÅôwàÞËãÞËcÚÁ[§L«;¼V×Ä׿Z¸u9Œ"Ò!²¦dÉ9e¢<à—(ϱ°-±‰*C y·˜îQ®}xÝL a!CŒ44’Dg„¤)Išñúü—xáá§xôš;™?ûaº×ég½§0õÈ=éY¯•¥(™¡” ËÎ?(åçØÂ>ÖÏ%i†ï‚A ›¢l‘W¾$Kç©HÃò!¯-œj_¶$ÌÑì»±Á¾§Sr»eá‰2euÒ8'Ú€rˆ¢Ë‘ÒÞD‘Û×2ö‚jSYdDðäW[?G€JZBƒ[wŒ4©V%ªRaº¡ò²§82Ð&†(Ò«P5èꢖfÔ’„¾f“´™Ðl4èÞÿ{£Ü…¹æþ²eÝO~òN<ñD^üêûèaˆn†èf„ã9 Õoø”ˆÉD„Lb’8¦Y¯W* -®R«uðZG']]¦ |úqWW7]ÝÝtuuÓÑÙE­£ƒJ\E¢[ˆ'iFšf$IJ3Ih& fJ3Ii&’$•$Ì(ôÏtY“t™<"Ÿèä_\W%7·ÿwÓ¦çÿ˜'OúÔ^³vâ°Ãcpp§Ÿ~zµè²´ü @&((((hŒjÙ³]¤”4 ºººZÖ/^¼¸Õ,™ ¾cEÛm·ÝJ2=ô·Ür çœsûÛߨrË-9ãŒ3ØvÛm„i£Á«%30P&V¦ëŠ3º4D™POp¥eì ÜÏ|‘¢Õ%ÓdÌàI‰¥2þr­¿‹ioÅœ+áþ?<Ì6žÚÊäΛyR,W(b¬KÆÂÛeÉfTXxcÛ`U¼ífô>Ö ”¡aLí~é&G]ޱx x•„…,fX0RoP¯7yñÉçxúoqßï¯ãé[ïcü” ÙlïÙê°ét­ÛÌd–"e–›™ì “¼äL©ÀH‘òŒÉQùc C4ÉaLþ}µŒ+F»V&SWhœb]2RäxÆÂiœ,‘½ºb[T…½­Deò¹½zú¾qÕsÊž½ž”~_RØÎLºìI‹s¼¬ d‘E@âö1ר9_l°ðñN±€ÉôÜöŽoË£â¶îé•¥dÕ )«®Ë’¥BUëV“RßRBµªÛAW«ºH*’ÊÔÏ-×@ò¸ãŽCÁñÇÏí·ßÎ;ßùNö¹,dïô*6~õY.Yçxý=Îb¤¨&I#¦a²–*ÕšîFf²–:::t{ì®.Ý¡¬³Kç0utP©ÖL‰žqˆI©c™4FƒJl2Iš)2Ý”,ÿYe@ŒrP¦„ÿ<Èæ>')—MsæÌá¯ý+gu=öÿøÇÙo¿ýVKgdЛS2AAAAAk¼¤” 144Dgg§2Fƒ×_ݵÓ,™jµŠÌB‚ÌÛ]=ô7ß|3gŸ}6÷ß?‡r§vÛn»-“&MZÕ§·Úkð’™Z§ úOΞ[FÿY9ò;èR'7tÉË—4h±N™ö@Æ.9”ñÁ‹î[ úµûÔú+l}ð6̽üAøÃ\¶þð4jÝ…ýðŽ­åJ®»’…1&ÐWüÆÆ]á¹d\+l³Ý{?™Ò &E‘ Ì~URsTé­_ˆ:]Ä0‹æé㺠ɳ÷?Ì£×ßɺ[mÂ;؃©GïC׺¤Iƒ,IÈÒ)M¦ŒTεb?a>ý©y?äŽd”-*ºc|# ñA `ÂyýR¥üq¾Ý ¥3<,"+;d„9¿Ó’~/zn˘Ü;ÆãJ–òL¡ŠÑÃJ „)±ÓûKÞà K&%‘,–ö+€ó<á—@•:0ÙîK¦Åu„hd„×¹)wѤ©0­«k®¥tše¤•Œ´’ÇS¾d ašBG‡2•*lyâ¿ïË¢c=!»í¶øÃ8à€¸fð·ýC3ßÅtyS<Î¥ãCŠ RVÈDD–Å:t¸©Ë¨F\g²7¯u˜PìšžWkÄ•ªþôÌýdó“2i, Ñm·MËðLçÞ(Û9ÎL9”ñ?¯G¶ñéŸmy?°Éçý„§?{ܨ×eΜ9\ýõüà?àÉ'Ÿä˜cŽáüóÏg›m¶a£6âÔSO ]–Ö  ´ÆJ)E£Ñ`Ñ¢E<þøãÜu×]}ôÑÔëu^}õU^y冇‡™={6‡rȪ>Ý ÕHW_}5óæÍãì³ÏfΜ9vØaœ~úéL›6-@˜7¡Á+%3¶N”Ñ#[kéÏ7”®àÆÅ%is„î;J “qÕŒê’Q•ùp¦ÖßÅVÞ–/€~?‡­>ºµþnüÒ%ßã—0¹ ¯»’p®‡|›D†æŽ[Âd]>zʤ…1Ò¹c8Øå 1Œ†2=5—9÷ÜÆŸ/º”9º‘ÎþvýÔ!ìrÂ!t¬ÛO£^'iê6™Tn’†qX¨¸Á¦R‚¾Æ³Ë?½¯ÈøPF* güò$›ù’Ø"˜‰ŒÛ%d—!/Oò1nI)„°É2zØ+±%@Ö=£¥‘†"2.}Ìbe‘K”¿;•w‚Òð%3Û-˜ñ]/­ EgÒ”]/íœ2f°9TÁ;¾ûLðòd‘-ŠbÆxåL‘uçD$¦{R­šTkT« ÕJ•jµB%®R±Ù2¶uw’À»OYÒWüMëŸøÏ<ó úЇ˜5k;ï¼³ÛvÕànù¡™Û°ÕÐCü´÷dÌ(‘’ŠÒ "n5«Dõ:Q¥êÜ3vªÖ:¨V;¨ÔjDqE#¿š† ¤Ô¹JzRÈÌ,gÊlË¡LÎØÏ%r°L90#¦ÔI,ÁÝ{Ë-·0}útŽ=öX.¼ðB¶Þzk6Úh£•ríƒV 4¶$ÄReÇ$IÂÂ… ™?>7ÜôW®¿î:*• |0óçÏ'MSn¾ù&þríÿÇ1‡vØ[pòA+SW^y%ÃÃÃ|ãßxSÏŸ;w.7ß|3gusçÎeÆŒ|ï{ßcÚ´il¼ñÆ+ølß~¼\2ó##ˆeD¤xA S¦¢öJØ\ßÉb³e–²„IEÞ´+[*ýú91•¾.Þqð¶<ø›{¹óìxççßOm ÇsÉ!Œ-/Ò5/1¹d4€‰°%KÆØ€_éýê2¥Xƒ©„DZ“Q7xC¢ŒßIæ©'ŸdÎ=÷på~È]ú?6Ûuv;ö£¼ïäOѱÎÃÃCŒ ÓlÔI3i&E–¡ŒÍ!Å«²Pe”!è\§_ûY¬‹Dåîeô»o16†·¸œ»e°L©’ݸ½ Bˆˆ±eNzÿ"|qn™¨Øš[ѤI’V©¦ Õ¤JµZ¥š SÑ.™8Š·ÿ–î ¾:å”S?~<»í¶·ß~{ÊXýrp.sgNã>¶'Q5 fD%3¤ŒÉÒ ¢WQ…(n88S4DÆ$"3o3¾(SÖe—¥T¨Lpc€Œ%…ûüÏSžIyE{ì±Ï=÷n¸áнÈA«­ sÒ­TÛgÈH)æÙgŸãæð¿ú#“&mÌe¿ý=Gy8 .äÑGæŠ+®`ü:kñë_ý†#úQµo%·ÕZ±zä‘Gh4Ëôœ¹sçrã7röÙgóàƒrÄGpÆg³’4ø{ÉÌC"”…2¦@ĸQ‹R%#Ó·MV¢ä’±Ëm L¹S;Ó¾l©Ø[Qéëa“ý·å±ËÿÆÃ—ÝÃæ‡îB­¿‡rŽL»–×Än ¬³Q´+‘ŸwÞZ73RD¤¶o¦aLƒŒ˜èp¥JÜq»áî¾î:f_s [î¾+ïÿì'8øÌ¥gÂ:,^´Å‹1´x1õFÓedè®2Š,S¤æ"؆ IDAT¯þÒ.­[ÉϹä @i²¨!R‘WdÁ‹-Ê;9ðÒи"#e„åJ¼Ê%Ï5£´ëÀ8h"ƒQüR$0ES¦ÌH—J忘OÐ4 •çK{»l]3B(¥Jž³ü¹s»¨ry“7Ùë.½ýÝ~þ³|8ƒ)_òÛZg-y2.QF’4¥š¦T+ªI•JÅ d&~ñÒ~µ—[ŸûÜç7n»îº+·ß~;»ì²KÛý~58€Í܆¿±MÕA*ªÈ,ÖaË2ÖeÈQY†HS¢8%Š¢JB\iWšD•ªéRk8#LûyçbÃ]S%•Y¶€Æ”ôÙeë*Sù÷§-„ñ¦Íκ”'¾pLÛ÷øF0æî»ï%Kk Zc444ļyóxáŸöº¿¥)?øÁÙô÷÷£¤¢³£“ßýî7¼ôÊËœqÆ÷¿ÖZ(©èêê"Š¢¶Ç̲ê;V´ÖZk1<<ü†ûýå/áÑG嬳Îâá‡æÈ#äÌ3ÏdêÔ©¼¼L2ópelã ¥R­OA‚iqì…ú* e<c—•Y𣌔‡üŽÖm©µ¶"¢{Âx¶<êÝ®¹èÇÜûÿGïZãùÔ9ÿÉÑçžÎ¸Í7d$fhh1‹‡34\gx¤aºÈd4cRéZ`ëR% #¤-Oü0_a#ž+&Ÿër#ð!LÞ·ÈB˜²cÊ€ÆënÑ#]Î ‘R…Ò%ß¹bŽrŸ^¹lIžS^Æ@Ûÿ˺cÅ×)Lªú[p½Øk¨ /QÂ6E¨R.IrJ¯c^£4ÐÏ€Hšvز ŒqpG‡§YBR©Rcv8ᬠ}ôÑ.SfIPrÇÌ13·àNv¥I ‰T1Ré#I²L‘fΤÈÄ•ÊD9”‰”ñ>»÷‹É•QÊ[‡+Iz#(#oZ'N¤··÷Í hµR2AAAAAcR2“:tÐS–eÜ|ËÌ›?/~á‹ ô£Þahñbº»{èééæ„?Ã:k¯M½YÏ×÷öŒ d¤ÌÚ®[:ï¼ó¸ä’K˜={6 ñ?묳˜:ujèV± 4økÉÌ#}§ Ú1o…qh([²d`@e|0“‡ßún™"øp¦5G&r°§ÜMÉî_éëfòAïäé«îæ±_ßÁ¦‡ïAu ÞÛèë[²$Lç%ÝöÚžàëMJ!H3E’Iæ?ò$/<ð·\ôs¼öF¶š¾{æ>qþ÷Ywóɤ¤4i²°1ÌÈÈ0#Ã#­0&•4ÓŒ4•$.¼Ôäd˜ ÛñªVš˜¼<'Ø[¨bK—$¶HÈøT”_¶äÍEžc[·Â?#Æ@^|gŒðFË6O¦X¶T‚7Ö ãÓW†”wÃÉ“pL “E—Œ»;ýkC~l<Àbù.¿ì¨Îà:’-øxû e ˜ò2dˆ±p¦X•¦)i¬[Jïùÿ®]Ú¯ñJÑQGÀn»íÆm·ÝÆ»Þõ®%îéà£|ipWÆ‘P#E9­ %%DÆ–eˆH"Ò Wˆ‰\ r^Â(ã®xXÖòØ~V:‰z”ý(ÅægþŒÇþùèe¾Fë­·^pȬA @&((((hL*I¤’…uY–’¤M:jU^|éEjµÃ#‹©7ôôôÐßßÏ‹/½@oo7Ã#ÃÔë#ôôôÐÓÝ”Íf£å5‚Æ®Î=÷\.¾øbî¹çúúúøä'?ÉI'ÄN;í´ŠÏ.hð’™P±0¹2Џ’™ÀÞÈ´§õócÌT€4£¸eZÂ~ó,™v­°G+[*ÙJ_ø.ž¹r6OüúV&>Ú¸Þ¶0ƶ¼Ö &ÂvºQ^nŒÆÄ“d*â©Ûïeñ¼xä×òÔ-³˜²çnìõéc9êÂï3aÊæ($‹©ÓL›ºãL½ÎÈÈ##uêõ$¥‘d4ýR¥Ôt1!¾ÆÈ„åî=W¨ÊÀ¢š2/W¶~&wŘ&ëñçz›4eIy¡“Ÿøb{3ùù1"ÙêåQòd eF¢Øy©¼/ºš‰H \›ló*ºLÖ‡3e ƒ+]R®;“òŽb_ËYÙdá9%<€Sà«|ßøà\8> ™,9cüO&\Ø7öþ×¼»ÑªÖQG…‚]wÝ•_üâ|ìcsÛ~ýë_sùå—óóŸÿ¼ðœïÏ|ïSgA.ã˜A)2¡òr#¡t›®LCWÂv¦2`FÄ.Çfýä‰?Åò1wݽÇþrî–QÞvEÙ9ôöU2AAAAAcN:ï…–Ì—®®.Ž<âhî¹÷n®ûË_˜8i"ï{ïXküºDQLGgoø+wÞq+‡zk[›(Šéìît¹4¾*•ðÏäXÓ¢E‹Øqǹ÷Þ{ aŽ?þx9äöÝwßU|vAe þT2ó¸UP©ˆâ í$ÁsÉäÃo‰Ða¾äàEù0£^Ê%LírdZ1¥ _e]0‚¸¯‡Ü箺“Ϲ’Ý“m6Ñ#~ cÌ@NùîaÚ^‹¢CÆ1 æ½ÀÂÇŸáÑ?\Ãó³ïcí-6å=ÿïDþÁ·˜°ÕT«:çcX5Ý&MšÍ&ÍFƒF£N}¤N£Ñ4Θ”fš “ù¦YÞ-ÆuVRùxãÞÀåÆ˜Ö¦D)Ç0Æy¡,ì°.?GÆ>.zd|QRgì îÏ;)yeJ ˜=…а»¢’kÆ–.!ŠN¼e…†1Jä©@¶ANÑ%“—0¹IÁŒ²®!ŒåÈ>Ïû7FÙÎO%ÇKËYå‹~áRàøÎ s¤bZJ–„;ÆG¾þ7V7yä‘Üwß}uÔQl¶Ùfìºë®€Î‰KÓÑK‰ü>1ssn囹jè«®È0y/gôM«@Hd¼y”i0cC¹mÀ²ƒYùUtÅp%TÁ-c g¡Œ xÇü‚G¾räʹˆAcBá7Í     1§(Žö¡¾Õj•ß¹ ;n¿w̺ƒ_þò§ì¼Ë»ØnÛéééåÈÍüççñ‹_þ”'Nb¿ý §»»-Qnt4ôÐC¹Vç'œpýèG„ü‰dæñ2ޱ ®dd” Œ/”ÁºaŠíªÛ…úÖX³$ Ó.WÆuU2PfÃwgîwÅÓ?¿–œÁÀ´)ä-tmvLÞêÚ>ö[bÛÖ׋Ÿ™¡§æñìŸþÊ+÷=Ä;oÇÖ‡Äû¿õo¬3eªÕ4š)Ré2&û3KÊŒ$Ñ@¦Q¯Ól44œi&4]nŒÎŒiZ#™â«çž3Æ9dlY3^/%•Ãá;>h lókëzÁ;/”%ˆ¼)¶…)—Œ….îNðF¸ùÝ¡çJ)" h°%E¶hÛ‹<˜R¥|»2Ÿ´>_Ü’ƒ9ÂfÁä0&²¯‹ð L^¥òi¹Ðàr î9xÏ7_†Ò¾£»eì ©Ã¤E¡Ùwsø7ý˹Šuúé§³Ã;°ûî»së­·²Ûn»-Õóþ{ð1@»eFD·¾?Å)³÷ŒaeJ‚Š”q¬)"J`Æ”.ùªì¼õjú®2å>[þ§×‘ÃðRK¯'žx"”,­A @&((((hlj”.K ±®T+¼{÷w³ËλpÛ·pÿý—°ÞúëE7Ú˜#þá(žzêI~þ‹K™jÛeI)er ‚Æ‚N:é$.¸à@gÄLŸ>}ŸQÐÒjðG’™ŸŽ‘qDÇÄ5e”…2vœ™«¸²#Êä¥HþúQB~=à²ä™2”Ñ󨯗ÉÇîÏÓ—\ÍÓÿý'&{ýÓ6§Øa©X²¤a~üÚƒO-âï¹™=ÎÚ;Le“ƒöcçýÐt¥:ʸdÈ3b„_T»2%¼’$ðË‘rX“wYÊs\ô'ƒ!û¼ÖÒ% XòÇzë|ñIWŒ RÊÀ™"pñˉ\™Š°ÏmiuÕH”ÈËULÛ&ý\så(£,þÁ£}‚"ÿ XˆTpƔί dP˜öÜ6³FÏ9íqÆŠþáþÁA™o~ó›ËôÜß ÞÀÖ3dXô€R$˜{ÙÞâæ{ E¡²ü­÷€LDÞ–>„<;X£¼ÌôÇYpAÎäÿ/8¤–^›o¾ypȬA @&((((hLJ¡ðo}#uvtòÑZ/B:;»øèGÓÇlW²4¦´ï¾ûrå•W(3F5óÜ”S¿PEÅQlð‰PdÊ–|´ƒ2^®Œƒ2Å<™<äwôü˜gŒqÌ´wÉØ¦Êzý–ßþõ\ž»ø 6úäGè›¶¥i›ñÚmcáìû~ä)=ê‹c¶ßšq;mË„ìI\©P©T\W¥X d” •B»c¤BeŠŒŒXBISn‘‘fYš‘Z7Œmmm`LšØ×y™R&ÒLÊuW²eJ£;cü²$‰à@æ‘È%–)A^†”»_ eIøy1yžŒ…*ºT‰¶¥K-eKXç‹pëóR&á¶åërÇŒ°Ï5÷¦­îw}<œ"D~~úÄmM”¹Æ Ú¸ãícòy’°“rï]ä Ç+ÊÝDöÄÍa­ ¥Tü\F2Yw_Šª¯;(§ ”É;*åPf´ß|›*t\-Ø·˜KcË•Ê@"6ÿöyìßÏbÞýžñØúSóyüa"z·ÛšqïÚµvß™8މâŠ-Ž(8z2‘…1 „1E¤$id†qJ!•Df)Yª1Ú#]‰’mo­Ë”4±Îi ŒÛ¿âû“P¨¸Ø 3€• ‰¼Çvyi@Lî~i-_*C—|}ä¨ösÐX(c]3öÚi âåËø™3…²%¿tÉw9à½/á§~®kGmÓ„­ÕEø×cL5•³mا·üáÁ1eœ8 ‹›r0ƒÞæ?_éó<þ;ÏòÍ[}5wî\n¼ñFÎ:ë,æÌ™Ã­·ÞÊ»ßýîe:Îï`‹™Ç0$$ :[É^z j…ÒN/íÓ O`jÊÜJèûeYW›ˆÌý÷ir÷‘È!çßû=÷žü‘r½‚Æ––ý7Ù      U¬¸RAfJÊ6µ;ÞÒ”D­žÚwß}¹úê«I’„3fpã7®êS ZJ ^&©>‘@Ó”¾(iö%(Ceda^/­!¿9¨É ë#×r;+Mùþ±÷¼¸åù›}çK ^»ö6Fž|–ží¶bƒü¶<÷4&~æô¿k§‚K§>œ©È¹c2eJ–LÙR’)’TÑL$$£‘f.°W·µ–úqj¡Œž’L‘I¥cÊ 4˜Î7eîúè)Ãl£Õy¤Ú\O½oi]»ýÚN¢uYµ>Ï]sU|œò¸üÙê÷åu¶r¯!¼c˜e埾 Û. ÜõÊ”·N`î\•s.ô:½M»r¤Ð%PRè¾È«%Nú¹2_…DÚã [¦±cxàÎ?ÿ|¶ÜrK¦NÊÍ7ßÌ~ðž}öY~ó›ß°Ç{pë­·¾©c?:x)k©WéRÃTD¢ï•© ¡R”’(%‘2Ÿ2ó{B–êü–,Íò¹™dš!33¥™i˜ª2Ò7åe1) _#劜–J/¿ü2/½ôÒ›zïA«Ÿ ›RÚÁ²2§J¥ ÌÖŒ3øÅ/~‚SN9…¿ÿýï«ú”‚–RƒÔj¢ ¥çx(£Š—Ü ¹<@o3¨÷¡ËÒM­ûvo³Õõ×eÊ~ >u½ïÜ^o±Þ¿0Ð÷2mTäôyÉ’2Rç¿43¥!KZ,Oj&Æ$©4y1Ò¸ctG%c”De˜0PFåË£ÕîzzG`ËiFŸZ`ÚRì[øœ=ØãÛ¬nôõ(ƒ*¼åV`•¹»Uƒ fÜdÁŒÈ—ßÀ´…2¼i ŒiJÓ‰ßy~U|•—Yçw[l±Ó¦MãöÛoçœsÎáÙgŸåg?ûûî»/'NäÐCå·¿ý-{ì±·ÜrË›z9ƒ¿â¹Á éU‹¨Š&±H‰ÐP&’)RŒ*A¹$(#ÉRi`Œ…2ÌÈÊhç›3ÎDJ°ó÷®\ªsê©§xúé±WvÔ^ÈIY ñÊž’$YÕo5h9t衇òÔSOÑ××Çg?ûÙeƯt>PG¤8ìQ†26ˆ¶”‘ÛX eÞp—ö‰Kûƈ£€ä¥W Û5t±°ÈfÔ˜e80c€I*5”I$.”7ÍL ëÔÎóà^».I•qÃ1úxÂAwMFqÁ¸õή_ÑÑÒê˜YzØR¼îå`æe5Ká’Y2”É—³Ò¹dª|~ QÅkaáZ ˆ“g„sÕHoYEK0-e%W·LÑaó™ÓÆÆÏ½§Ÿ~šY³fqþùçóì³Ïr饗²Ï>û0qâÄ–}9ä.»ì2Þóž÷póÍ7¿ù×ü1ãÔkÔh‹”˜TßA*Ãùly 4€EJ²ÌLi«KÆÂ™j(£2=IeÜ1Wh‚‰—êœwÞygvÞyç7ýžƒV/ 4&¥c+È}m¸á†\tÑE4›MN:é$ž~lü¥8HC™®{‡‰eJÑ)“K©Ö<Ê´–Â,Ç€¿ ¤)‚—ØdÊàJ’th®—Iãˆ}m¿ý¶ÈaŒ))J%dd™2@]º”ÃYœŒ+&³™1Îe# ¬Kƞרî˜ÜMÓ„,‹Û¥ý¾e'˹`ZÊ”–â˜RÅm L¾ì—DeÖµÔr Ú¸bÌuÌ ÷X1xZçå FyÀFùN™¨ì˜Á8]}væ‹oá7uÕè#ùÿõ_ÿÅôéÓùío»\Çzað\zÄbª"Ñn‘ên_BÀŒtÙs9˜±“ïŽ)fËHç–AæýÊ´ՎED…ß9Þn @&((((hLIµj•‘‘á•d^zñ%Æÿ¦º9­~š0a^x!J)Ž>úhî»ï¾U}JAK©Á«$³«Ôóx¥KXøÑÊ´8düîIÅt[MB¨(ÏP±ÏCC”ƒe ¦üš9 È ¨ ¤,Š,5`&Õ“ƒ2ÔxûJ;·­®µëÆ WZÓâŽ%±¬ åÍgÃ,ó´4.÷^ Ì)…7¿Ñc çŠÁÀÜ”ŽwyþÌ(aÀî1yËv!LÇžŒñK•ÌcY*_ò§Ï}ýåUôm}ëõÿøœwÞyvØaÜtÓMËu¬ùƒ°¶x™jœçÊà…,[ÏŒ.cR…|ç–ÉF üÕGÊ•t«õHDD""&bÆÙKvû ±xñâåzŸA«BÛë     1¥jµÊf›MáŽÛoçÝ»ïÁÚ묃ˆò¿J'I2j©‘ý%©­¼¼… MšÌºãv¶Ýn;ªµÚ A«F&Là‚ .`—]váÄOäw¿û&LXÕ§´¼J2óCÏï2HT[K—0®Q‚2Þ:bT„ùàÙïx¤Jë” Šm°Q‘^§L«g™6Ç‚¨·¨«So30l0®©"„sÍX†BE)ÜàO(Jm»d©ô0ÍLÐh*‘©*ºc2 bòv×½å9ÞÈÛîZæïϵºÖË I„ng-”^`[D—½¹i׬;2ë6̶Ѱ}N>omyÏó–ÕŠwÙ} -¬í:òÆå Ý [ZcSx,” ~Ûk»¾¸NáÛÖÉ´¶¶í°ý{U¸í>ù¡³“y§^m_Âý_—. ÓòZŸ?åÕ7ü>­i:餓Øh£ØsÏ=¹á†ØsÏ=ßô±¼€µfþ³þì$¤Q¥"ÓÜc ¦½·Ýd€úG…à«›¼Ç•H[#<Ò¦[¦k0³ÿùwpõI»¶=¿Ù³gÓßßÿ¦ß_Ðê¥d‚‚‚‚‚Æ”ªµ“&O&“’»ïžÍ‚ RêmÕ*¢äf‰ã˜Š-;Rö×(AGG+d‰+Uâ8rûn»ýö¬·þúôõ…_|Ö$M˜0Y³fñÙÏ~–N8 /¼ 7ÜpUŸVÐÒh2L˜õ<Ïì2 !*´”.QÌ“)„üŠR‰‰eZ€ŒŠPÂ0mà fo½Pµ)SÈ^}Ý)ÌLéy虜""‰kâ³GÌ`^Yˆ¡³³¤ò0™BšÉ=–ùci2Ê@™ã@Œ,úå$Xâ×ãm/,«QÀŒ(;Æ7RÜ^„,å}|è2Ê:¥]$> ñ½Kú”TÂ(Úè¡t9©Hh@#Dq}Ú¸º½v¸eÂG)áÞ»ÂÛÛ»×Í=a!ÞEñ…¯¾Öú½y›èàƒæòË/g¯½öâ¯ý+{íµ×rïÕÁ3Yoæ?1L7(H£ªþ5Â~=пV诬$ïüf>maöõÀ‹numÊ“Ì÷ aÂ~£üçAÄèÎܽöÚ‹¾¾¾åzoA« sêêîf‹wlÁFmDšŽîˆ±B,qûhÏ©Öjôö†_zÖDM˜0óÏ?ŸÏ}îsüñüèG? Pf hð<ÉÌ#&Íz†ÇwÙœH´fÊ(…çˆ)••¡Ì(¦à1`EoË—1ËÚê`/"~Ke<$¦(žá`ŒReFTN; 2iF|ö§˜D׋4à%wÇÈÔƒ3²c”´îšöÎQ4Âʺa¬K†’KÆœkd¶ëeÏC>·N•°`œ.vn¶£ ëÛ¹d–b<¸âÃßWç‘ÅnöyÚábAŽÙ&rˆ“OxFxð¦mF2 £‰Œ¹¾fCZTÙ"#0GµpkY¾Ek¶:è .¿ürÞûÞ÷®(óâà9ô~RH©jÇš9 Ó_Tí|Ã|ÑÌçí\2ÒN¡RLjŒ†€öÞæ» âßÏeŸÚv¹Î?hõW2AAAAAcRÕjq¡”(èÍkƒ 6àÜsÏåŸþéŸøÔ§>ÅüãeÆ€/”Ì<>bʬÇxè][;'x™”ÉÁLin M”Œ+;ò1Dz­´_C‡Œ¦›,–Hˆcá Å2%¤ŒÛ¿º‹/)3ð“¶\ ë‘(©t+]Ó}I–2dd¦Ë•,‘ÈPtÆ”`ŒPöü#sR`K—<—Œò v×6ŽrSpÃ8çO°¸í”Ëš|¨"̼ݶ%—)Ü1Æ9ã»e„*ôsQ%è‚·¬´»¡e N"ci¦¶¨ìQŒ±w­«m²„¹Ñ•PæÏÿÒ¿¾ýJ•Úé ƒâŠ+®à½ï}/guŸÿüç—û˜ gþã¿D=í¢×4ÌSÂ`»—™‡{;'•vɘçÚ£]0¢br­„BI±.[Š£ˆ8üçjŸ IDAT¾-R ƒ‚‚‚‚‚‚Þ¶Ú`ƒ 8çœsèíí哟ü$óçÏ_Õ§´ü‘„ `«;tx¥à’A8'J¡ŒI倥¥C¥vϪM@l›öÎà˜mé+¯’½¾À…üJ—Ýâ·Á¸¶;vÊô\Ù¹•)7IoRžÆmK[¦°Ÿ>žò]2²Ø]IysUZï®—*†ü.ÿ/庥ì%nme½Ëî¹¥ííz Û\;ìQ&Uœ¤7e…ûÇ»„w¦È´Æö€Ý­#L¨¯†2_ú×WVÁ7qõÕÈàà _øÂ¸þúëWÈ1_Ÿù}ê§}‹ŽJ* +ˆò e©tî“Dåí±¥i¦¤iJš&¤IB’¤¤I‚Ì2ݱI* Yí2¥]PŸøù“+ä܃V_ ô¶ÖlÀÙgŸM’$l¿ýöÌ›7oUŸRÐRhðÇÖ‡mï¼/w6˜m®` eüŽJΡÊïbç£vPÆUœ[ç à¢)Â7¦eÈdzp&KðÅ•IóX¢ÒV`“U2Ê8fL©T;(“·ç¶ço»REK¾6m Ê[T;ÈU/qé¹ñ¨ûú¯­Ÿç˪|œÖcºJåóV£Ã}.±×ik ÇM±·­ —ô<elûló%rHó•yûtTZ}ýë_窫®âýïÿ ƒ2#ßú6Ù郈šBUXéêÅÈk­¤ƒ2¶¡@šf¤IJ’$$Í„¦™ò.Lþd:2IÉ ¿)þ¡àæ›oæ–[nYaï'hÕ*™       ·½6Ø`Î:ë,vÞygŽ;î¸eƈ®ÛëÃN³îrØÅ:eZÜ1n*„K-š½Öƣ ^šGk­C40Nã!Û³X–§Ê,q²`Æ›ç F¡R cTÙ=c@ŒË)¹dCÆ´@™ÒcÛ ª GÚÂŽ¥pÔd¤´Û^†;­på O[£4¬iq˨Vp¢ßCÜ®´uÅ0ĉÛl­Ï/9jŠÀ§Æ(!ø×yñ-ýÎ5pÀÊ\wÝu+ôØÙw‰jUª eÝ2˜æØÊ(ʤ$iJ’4i6›4 šÍ¦vÏ$í§,I ¯»í¶Û2mÚ´ú^‚V ¦NÊ%—\Â:ë¬Ã±Ç ÌÐ÷OúZ°.ì:ëvr_‡–Ë“)¹drÇGîšQÞ³]é’mÀïeÐàåÃH›ÏBkIRÁ¨öÛñ vîŒr¦8É6ë(9e Œq.\ p1c¦Ê§e‡!ùºÑ¡J{S.WŠ û, œñ_¿ìF‘¥càI XZBi•jgr¹Ò¥Ì¿ÚœSËó­CÆ:cÌ<èuÀðÇ?þ‘|à\{íµ+ôØé·¿Ž<ãTT f*Ú-c±ŒôÜ2Ê$)I’’4›4MêõÍF3wÍ4š&͆ÞÞh49þ—ù¿G ¬Ð÷´ê€LPPPPPPPÑúë¯Ïþç²ÞzëqÌ1Ç(3ôÿ¦±V Ö…÷̺¹½SFyî‚„±¥KRÃvm–ƒë€dÀ…Ía±PE•в)”!ååJ(#EH ®Jy2m@‹—“;h@ÚÜ c²bÙ6§BêV»Ö%ãàLWL‹Kf©ódF‡£mk0£•V¸ÒvYÕÎÁâ3màKFTpÏŒšS>Wçp‰[ Mñµ-àf Éwx}íäçߊ¯Ø¡ý÷ߟ«¯¾š3fpñůðãËÿ8yÖ©dœªÝ21º„)R(!‘”¡LB’$4›Mõ‘ºƒ0ÍFƒF£A£^§>Rgdd„‘‘á” Zsº,I5›MÒ$E)¹RŽ/¢ˆj¥B¥ZãMtÍÃZýõ9óÌ3ùò—¿ÌÇ?þq.½ôR&Nœ¸ªO+h úöu¾öåª"á½³¯çÿvÞ§àÐÝ—½R¶ ±°ÆvK^룂tÏaÛé@.Z„v Šì†ü|ôÎBz펽K ¼ÖÇúõ”ÔÒà ²xá n_wŸU™ãÛ_ÛuåÆ>-ï\ØŽ@ÅJy‹iýbÂÄ^yð;(Ùç ”Á ­]•òÇ­í­EaÝhË-]»ëb—¤b[k Ïw¦Ú¶¶¶ïu”¶Ø¥©u_FY￾×î[f~ùÙöLШúà?È\À'?ùI&MšÄŒ3VÊëdœ @ü©oè¶5¹&»IwÉÒyNÞ÷Y)ÓÍ´´7“’ÒLŠOýüYB/À5KÈ9ÕGF˜7sW_Yñ%¢(b``€­·Ù†I“&ÓÕݽÂ_#hõÖúë¯ÏOúSŽ9æöÙg~ö³Ÿ±ÓN;­êÓ Z‚¾uFƒ¯}©ƒ* {Ïþ3Wï|@^Яç”Q*ò‚Ró.H¶mµã^g[Q3®<Ê@µp!jÑBdD{ !¼fÇ-ÛEq1ïw­‘Àe”± ¦ÐUÉø ‹qÇÀÁ™œÑXcÚøzE_z0)òA¥'%„¼–ת}ëk¿bìrÛk p,DQ‡Ìòuo bF‡2ù9ˆÒ>¶åuÐx`EùP¦=pYZÈB»ã·…0Þs„â[_z¦ÍM´4úô§?Í&›lÂÞ{ïÍŸÿügöÞ{ï•öZÙOuË•c¾‰Rú«$”±¦ Ýú])HuÆ„úêÉvjÒ›K®º½¦®¿ÒÎ;è­U2AAAAAcJIÒdÞ¼yÌžu'7OšL¥²bÿ9KÓ”§Ÿ|’믿)%›o±Õjm…¾FÐØÐ¥—^ÊÔ©S9餓øíoœ2«¹^ê]—uy‘ªHÙÿ®?rÅ;rƒ2FòÒ%W²d Œs‹à9d Ž=ÏÙ„G*Äëm„\÷9Ï!Ó†Èo.=0¡Kšü§: cÁŠreGÊσq¥Oy‡&¥Ì“ÜsqdIQZ¶'¤ü^Uí–óÇšÕD­@f”yq¿¼ Bä.ëš±íÌ…ƒ2ª´®=|ñ!†vÂøP†£¼ó+À™Ñ`‰Ne·ÌµŒ³ý;_ m—Wûí·úÓŸØgŸ}V:”±J/=Å-Wø–ç”Á9dòÖ×’¬*É Œ±@æšÙ€ãgO¦··w¥ŸsÐ[£d‚‚‚‚‚Æ”’fœûïçý3f°éfSVÊkT*¦l±÷Ü=›6Úˆê@2oW=ðÀwÜqyä‘üüç?gã7^Õ§4Š.œùŸûÚúŒç5*"å »/ç²uÛ­¤Pº¤RxÃpp‘—ñØ’' DnñŽìYè‘Q,Cò5"/Wrs•—1aJšÜFÿ¯èfðf3`¬#¦b¼v×Xˆ£JçQrú(G~„.é±'‰q‰¶OC [8d\,*?Zy¡Lu–'ð Ik¹R^Ê´¤uÅå¢3Ú9aÊn™"œYX)¹eFÛ.ZÏ/ßéL뺠¡}÷Ý—k®¹†}öÙÇÍß*%ÿóµ¥Úoþüùüå/á˜cŽ)¬Ÿ0a}}}+ãÔ‚VB¨oPPPPИ’RŠ×_I“7]é¯Õ?n)iš¾ñÎAk´~ò“Ÿ°ùæ›sä‘Gòì³!»auÖ¹ßz$ýX¹ç·…í9Î5¢.G¦¬j:Ù(³¯×6ÚNª¼láÇ:,B}-øñBGëÐä‚~-„±åJ™Ê_ßsÍØu.O&óçmŽíuв!¿¸0_JÇù>… ÛÑB|U”wiR6œ¶]po¹“×UI”;"Å^Àoër»®JÅÀÞ¸}˜®j ^rHqÜr¼bëØs´×lÛY©4}÷K¯Ø/ËÛ\ÆX8³º©^¯sòÉ'sú駯êS Z‰ @&((((hÌIJIÇ+ýu"é¿F«ðWÉ ¸øâ‹yÇ;ÞÁÇ>ö±eVsýí—XÔÑOÒW…õàˆ{‰ïí°ÌÄy©ë™$ ü…ëº$M+ëB&KÎ(‚üÿìÝw|eþðÏóÌî&tñ<TT@š( 5ô®ˆDEO=POŠ  è)„¨'zx¥üû¡"œEzI("ˆ‚"¡J;AìÎ<¿?¦ìÌî&M2)Ÿ7¯¹ÝÌÎÎ>èéÇï÷û*œ8PѽÛ^;U1 \;7EC™h0#ÜÁ‰Ý¦äª±ƒw@kè¯g'§ÂO(c°B˜èL°ÎÇ69‡0ÒÚÑ*f§ 娬Åì®ôvUJtĉ·×ÖcC•œ‚¡®ÏiG¨œB–ÜÂÏ”Äó÷Ô_.¥šÝ¶tÍ5×àå—_ö{9Õ«WDzeËðÒK/á™gžñ{9T@ÈQ±e‡%yñ%úTz½þúë¨S§úôéƒ/¾ø"îõ ø°*Jä¥gã—¤ ȶB™;¾š ³y%Úºdˆhð«ŠDè*º½³ÕÒäN…Hl}®ïÛ ýðÁ„•1ÑCXç„ÌXF4 ±×ä\çy¬àÅýùÊ{Îs¸ªcr c<] ã„PÂSãT®í²ãÂxƒ˜heŒð\“sÅIüùÜ—Ü*a Ï»vn1ñ!MÎ×LJ5¹UÁäüšu«²&}ÄÖ‚û …Ð¥KLœ8C† )r¯]»6–.]Š &àÿø`Ïž=ؽ{·Ï+£üÂ2DDTìä÷ßÓI´I •^¯½öZµj…=z ##ÕªUdee¡[·nØ¿?ªT©âó* $UA(”/!™»¿~¯]~/ ¬`Ƶ½µ=0WÀÜýD)áTÍÀ®Š±{§%§xNÙŸPÐοÇÌpÃ=CFZ¡Š38Æ<„5'F+˜1XÓT„9`Åœm¢ÌÙ.0„3+Æ aₘheg˜o^Òek±{¶¯¹ç‰ùÙBÒ o¬aĆ”°wY²NP 0`@BÂP$¤óûlÍGìù1Ñù.Ñ™2Þ93î™*ö{¼ÛTçºíu®óeN¿sRâ/ñïËyFLì #:(8Á{©à 0µjÕB—.]ðÉ'Ÿ [·n~/ÉQ»vm,Y²;v„R LJ”¬«()ø'IDDÅŽ‚s]ÈW«V­Âu×]‡[n¹{öp Ú¢jFêfMª„_Cåqªlp.Ðë«ÎvÂ`ØíI°NYU2žŠ¥â*Hr›%cß'®úÄ \ìªa ¶[—ì6%Ïse]ëþZE8­J9f;SÞªc}?Ñ 8mJ°[–¬Ã©Š­zQÑݬ Ý^Ü]1£¬ç‰[‰N×®äªz‰}¯ˆ¿—žCELNíJ¹·2Åß+ç6$-î>ÑߣDU8æ1iĦ|þ«‚rÒ¹sg|þùç¸öÚk1þ|¿—ãa‡2“'OÆáÇQ·n]¿—Dù„ S…Ю$tƒÁ%öÊ+¯ aƸùæ›óÊdeeaÆŒ˜4iR!¬Žlo¥îÀ±¤Šø5T'““s¿}÷fE‚µ›VÝ‚]cï`7œWyƒ×nGÞà%þúض¥hÐOë’Ó¾¤`UÌØÏcß×KñGüaxמh¾LL[•Óžäžoã3ÑïU9®Ö%%ÍÚ&Lhã}‚Á å┳ɓ'cÀ€¸é¦›ð /Ľž••…uëÖaòäÉX¶l:tè€Aƒù°ÒÒíÍÔøë˜K+|Iþó Ú>/Õxtàô9í=Ê „fk5SE8ÛHÛ{A›ûB;U6€tÈè%ª”±Û•¤9Ô×ÜþÚš%á¼nÏkñTÕäXÝ"¼ÏípÈÕ^åí]RÞ5 ×£µ¶²Z§ÌTNÛ•²û’bZ—””0`ÀÞ*\BZ;Y0·¿–æ½”rí ­u!âÚ•¼í;ö6Ûv›Q|ËÒ™¶+ÙG¢m°½-DykgÊ©UÉs^åòÞ‘™ó4¨Ž;bÑ¢EèÔ©ž~úi<þøãž×{öì‰ &ࢋ.*ðµdeeaýúõ˜¯¸tzcÌNü*ãÁ²8* ãl‰!»^tÂ{l{`­]%­v±åi[Šn!mž܃ȡ½Þ-¨]Õ*"&8® E(i2NµLìá´/¹†'f¼Ÿ‹ëqWÌät§-IE× ˆrºNuŒ³S•yX-bÖü{«lû¹Rñ•(¹î¨$W±äÚ®$mµSË’»Í)ç*šÓëuUÜx¶ÀŽ:¬£àw¤ÜuìØ/¿ü2žxâ Ì›7Ï9àÀÌ;ÙÙÙöÙYYYxÿý÷Ñ®];Ô¬YS¦LÁ<€íÛ·cÉ’%¨Q£Ê—/_`ŸO…‹2DDT¼qÚ-¯ƒAQ£¶@÷¥fc4ÇogâQ~™8q"®»î:lÞ¼)))èÒ¥ |ðA¼õÖ[¨^½ºßË#Ëcvâ¯c.…æKÉgÄðÆá¹ …á*g‰Â5‡è*kÆ‹çÑUqb?Pÿ yÖ¹p Db‡²š…æ!¬€E 'Œ‘Öaÿ²§ëÚ-LÂÝÎäž%³M¶s8× ×7» W•Ll… ìB«Böpbë=vuŒ°Þäz¿Ö–áfM ëw0â†ÖZU7VuŒSÙ"bù®çÞÊo% VÆ(qúj³(§JåüYçV-W%£â×›S…Ì{#–çðL…iðàÁ¸âŠ+СC|ôÑG¸îºë ü3W¯^V­Z¡S§N4hÞ|ó͸ÿÙ¶m*T¨Pàk¡ÂÁ@†ˆˆŠ!„g[êXš&šZ£Go…®[ÿáz þùÏË1bÄ×9Þ€k ¢Ó›7ojÕª…`0ˆ)S¦à’K.ñ{I”ÀAqÎ 2çÆdq #>‹gÎ{N7}8!Œ‚2¬]ŽìD©˜là NBe Iæ|+ôõÄ ÂÚAÉ€Ùª[cWÇØŒ}_gŽŒÞNÅL Ʃ¾‰.ÀîJ(—@Æ cœGûœ«sËÌÀ d $”2›•¤ÄHN«J9A†Õ˜$¼A…{ç%wÐpäÞ®Ïù¼¶+% Xb^Ï5lQ9œOpnúˆ%9ýè’Ú·o%K– C‡˜;w.š4iR Ÿ×²eKìØ±—^ziŽ×´hÑ‚L Âÿ6HDD%Ž”@ZÚ·Ð4MÍœ¶ÃMxôÑo e¢á^ºÎ¡¾”wÛ¶mCçÎÑ«W/ìÚµËïåPŸ¤fâGñgü,‡ß‚eq"© N• áïGžŽþk²‚ÖºwW²šmKvË’²ƒXçueíp„øª«ªÅ]ù" edlÛ’a1Ò¾Ö®¤QñaLt—¦h›”§U*Ç™Ü+‡Ö$÷ïIn‡¹¥¸pZ—”ж&Ù‡óº3X$†ëö›pX®ð¶E[•Ý'¦]IÄãÍi ¹ìš„Dƒ~OߦÄV¥¢©}ûöXºt)zôè… øçåÆPÉÃ@†ˆˆŠ%C7r|-HM­)á eÜdzÏ^î4¹~Ž¡ç粩x饗о}{ôìÙ“¡L5/u-ŽàOV(S'’Êàdr2þþ¿§ñÄWOš9U%Êš—}„Bü¶ÐÖ®KÊ *”'¼± áTื´v…2J@*iUÁHOXc·29Á«…)6Œ±ï{h’¸²&6ÔÉé=±;<å´£“oØb΋±Ã«>Å j¬ZeÏ—ñ†9†3 ÂÏNHNx£Åg¶³RÎ!÷õø°åô¡Í#>ÏÿvÊíڵòeËp×]wù½*aÈQ±Ž„‘}*á¡icÇnC VÇÀèÑ[ Šï‘} áHطôôttìØ=zôÀÎ;ý^%07uŽàl”lj`œHJÆÉ2ɈÔÐðÄWiˆù…·Äc”‚³íµnUÌè€ñÓAGÿëTÍx­Zq†ùºiUÇX ìŠé¼&”÷°«dœ* a¢¡Jôp®9ã Æ}ˆ\·ÛNÌÄVÉ8aLÜ᪞p‚‹œ¶œNœÄ޾›0„9…3‰•¼.§ò ³G|Z°?ðô‡ìر‡B½zõ˜;ìå2DDTìH)–‚D‡®+ V ‘ˆpØlÐuïãã_Šp8ñûí#à¨5úý^|ñEtîÜ;wÆÊ•+ý^%ðQê:ü„ÊøU«€Á²8JÆÉädd× bÔ×cÌ‹¬&;„‰†1Vk“S)b†3"T"©¬S5£tÄWÊØáˆ‚§:Æ®J"þ—U=c…4Òž2ã6ÑY2±-Kž°E¹Ö »Îç´SŽ•1¹„6 vmŠ02AãzD|@“sð’è8]Ð’¸Ý(¾U)¶‚%oU/¹WÉįS‡ÄÜàO9ý^YYY˜1c:vìˆ5j`âĉ5jžyæ<ÿüó˜3gŽ/ëZ¶l–-[æËgSþã?iQ±#5 @ÎC}#Ï>» @4€±ƒ[jj ¹õUqC;‰ÎÌ /¼€+VàŽ;îÀ’%K8 :„óRÀš»/))¡.—õõ' £ócÜ•0îª+¨qªeôØëb÷<¾%Iä¡ÂÖ–áÊ€’æîJ±‡Ê]õ’ ZF™‡²¾VðVÉÄÏ|Ñ`ˆ3Ÿ#“¸ò%QkR^«d4,áO•%öðÃcÊ”)0`²²²°dÉôéÓÇÆ@ëÖ­±bÅ Üxã˜5k–O«¥’€ K§kY;v7Âa3œ±ƒÈ>޵á°qÚ@&Žä¾56QŒ7×]wC™"*3õcÁŸpgá*â7­,N†ÊàdR2~½ª,Ä1`ÔÁTxvR2­ÅP§N òÅ<¿ýb¶)9aˆk¨¯î ft{öŒp*dì Ï/¡AZŒÊDçÈH%ã³ë’+t1¼3fÜU4 {Í{$Ø›cp“Ë¡¶DCxÚ™d\8“(”±[š”+˜qŸÏÛnK‰CïNK‰šD3jâþê1»AÙÎÂøÏ6™Y³faÑ¢EèÝ»7ªW¯žëµ­[·ÆÊ•+qÓM7aæÌ™…´B*iÈQ±¤[ˆ¢0räEN8cæÎcZÚ%NËRnQ~ùç?ÿ‰=z [·n eŠ ÌÔñÎÆQTÂ1Tį²N†’q*”Œ_𔇸 u(5ºýµDrEšß•}á/æB?ý—Ÿ NsÂsÆŒÂDŽÁñÝ›°oÁxÛñEü–×®0FC4Œ XáŒ7°±û—ݾªØ3v{œ`$Ï!Šg·¦œªdÎà~ ѰŠ¥jþ ñigÈå£çž{B\sÍ5˜?~\<ùkMê<4K»Î;Ü5p†&`´¨”ù+Fÿw4T2ðt™'ÍÐ ©"Mn‚¾~6²7Ì…¬p”1á9ñÂG"{×ZœÜó‚•/ÀÙõ»!ù¬ =Õ1f…ŒÕ²³eI À€tØóh„   x+e¢U2Âi…2åš%#œÙ%JÙó\TÂ2BÄ̱çÎH«)fnŒ5¼Åsè½…s^ ï÷­Íù6ÂY %ÍsJH˜í¤V¨ëïñ„Öl{2‡‹è¬{®ÌiæÀ¸Þãy]y翜ùÜ÷à*îZµj…)S¦à¾ûîCÓ¦MqóÍ7èçeddp†L Â@†ˆˆŠ-€¡ë9þ#íß» Ï÷R†‘Ë‹ d(ÿ=ûì³Ø¿?êÕ«‡-[¶0”)bÖ¦ÎCÓ´ë=m.¡¡LðŒV•WƒP £ôÑPe¨§ ’+ ÐèD6̆~( "X[JDh IDATá¾AxψìÛ­RU”«Õ•ôBÙ?UC(D(ŠÎ‘½Ã’«BFhf ) @Ú¡„Ë4Ha×g¸Zš Ì™ÂNK”Äfô ”²‚åùû¨rg$v€"¢AÎ@˜mWqC~sz.œ·ïkk†%ÖEiQVc3†0̶&'”²zÅ”uO+1CœØa½¹‡&p üM¼X¯A>ˆqÞ+„2  1â­ß÷ÃIEÖ½÷Þ‹Ë/¿­ZµÂŒ3лwïû¬:uê0)AزDDDÅS.3dòë e¨@üûßÿFÿþýqõÕW#++ËïåPŒu©Y­Kð *âWTÀ¯¨€ã²Ž´9 B—@¶€øx<<ÊlOJ®ˆ@ƒ¡N‡qd'N}3së b—ÇP¹Ëc(sikÊŸå´1Áj߉oY2+d4h"€€Ôµ ‚ZÀje’®Gûq›d;Cƒ£ój\sbì6&#ö€w~LŽ}sk]ÊÛa¶,Eï¥\su âŸÛ»DÙ3bÌ­´íçÖa¿{Ï%óyl‹R¢íª£ƒ~Oß¾¤Cš× w+RNC|£÷cSrµlÙ«W¯Æ-·Ü‚3fØçT®\•+W.°ûSáb… Kö ™‚‡ ü3¨tš8q"žxâ tíÚŸ~ú)jÖ¬é÷’Èå ªx«dœ#€Hë ª¬c(S„ìKŒªiÀÀ®J‰€È €pë.^õ_(ݰÑ*ü]>ŽõI ËKÐD Wå”® ¤a>Ú»0Ùó^ÜaŒ0+c¤¦ Є©”¡`D BEã"!¡ oû’ýË0Œh•‰Š¶+9íANkI¹ƒ¨˜¶¥øÃõºõ¥'q‡0p½Ïu^ sö‹²ÂH«‚ȾÆn]‚pB%ÜÍGfh¥œ-®Ì)¥¬y-fnæi]‚ˆ M¡ +¤14ósikrm…2qaMLë•|-Z´@FFZ¶l‰ï¾û£Gö{IT„±e‰ˆˆŠ¥£ÿû_·,†MÓüþV©„{ê©§pÇw K—.øþûïý^¹ìOý?üÆQTÂ/¨€_QÞsdµºš˜-Fº„Ô%Žþ T8±#C#­í®”a˜®ÌGW0ìçÖ6ÚvÛ’„t³M)ˆP ˆP „` „P „P ˆ€3gÆlm2[œ¬í²­&ûŽö–×Â5SÆ»íµ·=H¸Úˆì#×V%%\»0åõqŸk{({g(×vÞN‹“’ÎNLÎŽLˆn {t¯½6„¹åµðîšd@s¶ËvÝ­É»CRüÎLñÛ`ǽqø¤Âø‘¥"¢E‹˜>}:RSSñþûïçë½·nÝŠ­[·æë=É?¬!"¢bEƒ8qâ7TªT©@?ëÇÿþˆ³ÎªœënNDùáÉ'Ÿ„M›6Åœ9sо}{¿—D–©ÿ‡óÓ8U2NÛˆ ˆ-)áʵûaX¿.¬:f@œ’xDŽ„ (¼˜ý‚S!cè †Œ3JWNà íÙ1Öܘ€„¦ifõˆ2‘„¨€HX‡& d†4°æ™hB‡.¼Ód g7's§%…û*ûÁUõ¢ߪ$½ïS†} Ì÷ÅUÅ﹜žÛ÷p*c`†/žGWŽtUÇ8iŽw÷&‡@tG)ájWrM›ñü&852ˆ©¦Óž”S5Lìù-Ã_ÌãO•$½{÷Fff¦Ó¾tÛm·åË}Ë—/òåËç˽È dˆˆ¨X ƒ¨^½Ödf¢eJ+üéœs dô¾ÃápŽ­Lº®C×õÄ7VÊ™£  gcÝšL\q商Bùþ}ÅJKKÃúõëÑ·o_,]º—]v™ßK"ËÁÔI8/mtH'±Û—Âà‹f£ÅÆÐ y  h0”‚ + #`^‰¼C0¤‚PNë’0Ì'š°C™‚Z@BH(¥ ¡™CmuzD·*l "Cêæû AƒÓ¸$a˜=;N0c‡2Þ†%›rÚ•„ˆ6ïØ!L4€Q13fà̄ɵ]ɾ,v¦Œ}Çî°d…1Âs­U%#\³gìvðäþ–¬ö&áì½ c”µW“µ•yOåd;±× ¿ýµ'qfÊHð»K¥GóæÍ‘™™‰-Z@)…Ûo¿ýßó¢‹.â.K%""*V‚¡ª]|1tÃÀ† ëqôèQsF̰FÄT³hš†€Ýv¤ì–IIñ!‹BÓ¤sí àÜóÎC…  î"rùøãñä“O¢cÇŽX´hjÕªå÷’Èr(uÎI{Ð bÜód"`eÃj¸æû#HNúšö’Ce : C7ƒÀqBáñ€ÂD”|œçj]BB“³BÆj[’Vè¬ V¡+èê¸1 ‹4¡»Ú˜t§ÝF RP†ÝÊ ebgÈØ”°¯x—˜JWUŒ=„×Ê›§Æy=— kŒHp­])cΆ+™pÇHæ‚­¸Äªø±C© óZ媚QV}Œ«ÐÆÊÄÎ0œpƾ—0'(cûðçÎð'JšfÍšy*eúöíë÷’¨a CDDÅN™²eqY­ËpÁ ɹ"Æ&„ÈõõœÞ …P¾<ÿ+®Ñ£GCŽ;bñâÅ eŠÃ©/£rÚCˆX~î֥Ná£Ë¨ý³!²Q¹ÒYÈg#‰ ‰`O]šaºiÝ#Ýã~ ìi¶¤µÝuAM@Ó ¨Id2$`˜ŒÖaHº4 KšU)c º0  ÃÜuI˜U2BÁÜ­ Ö,'jðV£T¢ÆúÚÉ¿…9œX¸Ú‰Ü‹§ Ƹªbì*˜š„SUã®â1ŸÙ1ˆ©׬+Œ‘Pöa{(°pµ=Ùm\"A c·:YNôwÑ|Ü9üyýÑ¢ÎeìJ™;î¸Ãï%QÁ@†ˆˆŠ¥`0„Jg±•ˆJ¦Q£FA:`É’% eŠŸS_D¥´žê˜°u$!€ŽÀ¾£a|rIyFaTADahJG 1ƒ™Ò@D Ú¶j@Îì­ R3ó‚ H XLFD‡.uèBƒnm—mΓ1`ÃÚ}É< {–Œ™¶8“`¼í5ÂóÌe<íBPNˆâ©–‘®ûÄΑ±?È]áâ fD|Hc‰Â÷g§·ÈüN¬%»ÁXE’æ‚ÍËÌ휔ժ­pqÅS®\&Zci·:Ù»2 ®hKa×°§òöE¥FÓ¦M‘™™‰fÍšáÛo¿ÅÓO?ý»î³ÿ~Î)AÈAO<ñ„hÛ¶-Þ}÷]têÔÉï%‘åhêó(Ÿ6Òj[òù-sá9(àŽ£B#Œ0‚"Û dF@XWKëQY£‚•Mé€3ŒÑÍãħ'¬çUú*D€”TF¤,ôpáSa3±*e i@—4iÀˆm]‚²*eÌø@žvN³Å'ZbW†˜¯Y×Å ñuÂ’¸×W#âZ“¢U. ƒ¸ÏÅVÉD?G8Õ:;œ±CûûAô>JØ!‚P†ë-ö`×vàNEPÖï#àš#c¿WaÏð1§ÿ!¢R©iÓ¦˜5kz÷îZµjá/ùËßã§Ÿ~Bvvv¬ŽüÀ@†ˆˆˆ¨ˆzüñDZaÃôìÙ_|ñj×®í÷’Èòkês(“öwW D'qIP Ž£œÆ ADAájrrž»èÐ42h: te>æNLûfj†¦Tì® "ɈXL$¬C× šC·‚¡;­Kf#!¡ ”aµ-!:K®üÂJ&ìÁ¶Ñy2ÂÀ¸¦´D[–\Áˆ3OÆÝ’d¿Å5´×Ó®„h•Œ¼ÄUɈ˜Fx«qÜbóšB)O˒ݲånB2ÃeåGJ)×o–ݶä| QŽn¸áOûÒ]wÝuFï¯_¿>‡ú– dˆˆˆˆŠ°™3gbìØ±h×®–.]Š:uêø½$²œH}¡´QVÄrÂj]JF~C9„­0&d½´ï8`óÐ„Ž€Ò!…n çÕ!¤‚(Ãl±ƒ¡þ·HƒP å®Ò¡‡#ˆ„#0t3‰VËØƒ~ÍÖ%% (¡ „„2”ÓŽämW²yÛ–¢õÑÆªk)€«…(:è7®%É3Æ:o]ç®¶ñì®d}F™21놊vHÙ»+9ÏíoÅ™s# `8A³%¸Ý…h»’]Q£¬Àfw–‚ý•°oÄã VˆÜš4i‚5kÖ8¡ÌÝwßí÷’È' dˆˆˆˆŠ¸Ç{ B´k×Ë–-c(S„d§>…à¨QÐæ…dèÐð+Ê! A‘mUÊDØØPF³›Ÿ„õ¨tHa˜Õ2Ê€”æ.>ænIRY»ú(ñM•` rþgGÌê-è e2ÈÂD«„2CwIŒ›R®ÀÂÕ¶¤TtfŒ5/Æ»µ«rÆ R,î–¥ÓTÈxÂ)‡2îjwÈâþV\-Q q¢ß#¬ö,iíʤànÏrèUöº„]M=cWíø±<ýÌ@ãÆ±fÍ4oÞÊ”R dˆˆˆˆŠG}Ô™)³|ùr†2EHø©§|t4"ÉÔþ£üŽ£""d…2¹2v(ãf4˜aŒ]-ã„10¬¯ukÇ$³‚¦â«¢’RØ¡mv‚÷L™€4 ¤Ã0Ì Ø».E{}âkdì³1¡Lì,O袼U+ž°ñU/® á, Zâ îuBëZw(ÄÆIð¼û¹«d¬99±¢sd}´Þk^/;ʀ€ÄÁ‡I°¢Ü]uÕUN(³zõjL™2å´ï9zô(t]/„ÕQa` CDDDTLŒ9B´iÓË—/Gݺu=¯ïÛ·\pO«+ÝÂÏ>‰ÀðÑÏ*W¶³j&dÏqµ.% dÜÁŒÝ ^4f@#¬GkL¯VµŒPNÅÌ…¸ »´uhî™2f(cûPæ{…²f¡D›’Ü¢çܯZmK*¦%ÉÙ~Ú]Á½OŽsa} x‡ýN#\3aÜN¢@Æ~Íi…Š­ QövÖ1× g Œ¾8•1Ñß ó÷ÀüFÿûðð?èt®ºê*¼óÎ;èÛ·/Z´h¿þõ¯¹^ÿõ×_s†L Â@†ˆˆˆ¨yä‘GðË/¿ ~ýúXºt)Ú´iã¼6lØ0Üpà ¸õÖ[}\aéùדÝûdœŒ”®A„‘‡92Öp_w ã:$Œ¸G'”®6&(\jRØö¿ÏÍ™2 B%4«õHA7”+”°KS„3¨ÖeTLð¡ÜÁ‹;p±¿¶[…ì7¸*Mœ0E¹ÃaÏÔõ¾æú:¾J&ç ÷§çü:\ßd¢’×ìÇU%ãÙ"›èwêÓ§jÕªåÌ”éׯ_Ž×¶jÕŠL Â@†ˆˆˆ¨˜yê©§pôèQôêÕ +V¬@½zõü^Yfö¿7>´Ù¿a„tMB—"2€ Ì€Æ eì &ß²tš@Æ®š‘îC˜Êy~ÉÙÝ aà›fÃ: ©Y‡Y£ e3 Ê0p–Lâl"zÞPÞ–%•Ãsçk×_=wÚ@Æj/îóîsö ç3£#‰]Ÿš+ïrí H9ß«'Œ±vŸ:üȃy¸3Ñé5jÔ™™™HIIR ýû÷÷{ITÈC/¿ü2.¹ä´nÝ+W®ÌS(óÃ?à»ï¾C§N a…¥×uWÔÂÇÇPe%Œ„Ð53” ˆˆÊ;Œ ÆUȸC;ˆ1ŸGƒO•LL(c3¬I1¸ì¢[ñí®w¡ëö,+Œ±ƒ«ZÆ0\iˆ½Íµ]%ã.±wgæ£gxo‚@ÆS|⦢AL\ c‡-"zÞ¹—+˜q®µ¯Ñ{Ûr c-KÄäR*ÁµÀᑃs¹3Ñ™³C»RæÞ{ïõ{ITÀÈSÆ ƒ­ZµÂªU«^óÃ?à›o¾ÁÔ©Sñî»ï¢V­Z˜?>ªW¯^È«-¾ûî;ìØ±ÆGAÞUN˜¡LPƒ®iе"2‚ˆÐ¡‰ â4sdòÒ¶”Ëa3—^òW³ZæÛW¢Õ1N•Œ‚5!†2Ìo$aRøtBÀ o\ŠÃÕýä9ï M<Œ wc yñ„*ÖkB‰è{bjGÑÏÍ)–QÖ·bï¬äZ¬‚ç³]y~üû îGôÇ4lØÐ e¦M›†Å‹{^߸q#Ê—/ïÓê(¿1!"""*Æzè!!вeK¤¤¤öîÝë„0ï½÷j×®!C†à±ÇÃå—_îóŠK¶råÊ9óŒ·RÚ}c ’$ô„®éÐ"R‡&ФîlwmWÉä¥m)¯Ll0S³Îƒø~K: MÁ0”4¬Á¾ÑVÊšâ.KwÖŠ«•Ç E\!†ÍS¼ÝCÑêû5a2®Æ®Œ®ûÑê;Œq7$Å…2ö^w° )§)§?Qó{s·+ýøøÀœ.&Ê 6Ä3Ï<ƒáÇ£Q£FøòË/×–/_ޤ¤$WGù‰ Q17tèP!0|øpìÞ½[·nEݺu1dÈ<þøãœ1Sˆ.¼ðBüùÏöœÓ§Œøk¤.`%tCƒÔ hš©Ò€&OÊäÈÄÏ”q·,Åž¯Vo$$ |÷åÓf•Œ•½8™„¡Ãpµí˜E0®dÅ̘U%Öi¾¸*^€ÄÕ.žk„]ýbm‡ÛxäÜËÖxÂ×µî}‘¼©Lôe»íʽ¥·§JÆýí8ôĆaÆA)…#F yóæX³f  B… ([¶¬Ï«£üÂ@†ˆˆˆ¨2džþylß¾sçÎÅõ×_ï÷’ÈE½‘ ys"gKHÝ€*èÍÜISÊ€ÔŒ˜PÆ»óR4ˆ9Í,™„2*îëK=…_>aµYÁŠ•>(¥;A‰§K)®'&Ìp…+Ñö#8IŠó¿‰ÚƸC+x®jëEûžöëö×f7”rÇ2Î Ì5™%/Êž‹cý¯ý}D™ßÄÑ;Ó?v¢?døðáRbذahÖ¬Ö®] MÓ išßK£|Â@†ˆˆˆ¨„Ø»w/ƾ}ûbõêÕ¨_¿¾ßK"ã³…IÜ™”Œ$ ÂP3”PÈÖBž™2ùߺä fª6 ;×7CmU2”n=óqW‘˜7”§ýÞÙ0p(îßáŠa„ÝŽäYb™ØP&‡×͈E9¡Kl‰Œ™Ë˜‹SÑ8B)Wí‘zè!fÅLÓ¦M}^ å72DDDD%ÈàÁƒ!„@JJ V¯^+®¸Âï%•*û÷ïÇáÇs½FMM…¼1 ª< Ê ¤!@è ‘@À3à7€H4|ænJ¹2Ñ šœ[—b‚™fã±oÍ x‚è†(+x±wVò„2ˆ†1Öp`wô!\¡‰õuL% ¤»í(>˜‘BX×@ºªv¬÷‹ÜW…L|Äb½S!½Ò¬~sßþ$埇zRJ :¡P5jÔð{I”OÈ•0ƒ rB™ŒŒ †2…èØ±c8zôèi¯3f¥BvNƒª  ,€$@…DP  ÀšÐ¡Cƒ&¢aŒ„PÖ6×yo_J胙?7?®¹fš¡C¤€aèÑBa…2Â5?Ʈ،U´Ä3BZÕ0N˜b,R ) ¤´‘ pAô>Òµë5{~°‚µ«”k)'ÔAlhcþ2¬*™½Oöû]? Dù©N:ÎßÓ¿ûî;¿—Cù„ Q 4pà@'”™={6ºtéâ÷’J…:uêäù¿^Ÿ[-L×¥å`…2B" `$”&` ]hÒ c¤‚„„4\}ã‡ûæ¥mÉ}®bóCÂÀ‘Œ;ÍEZ›)æÞKÞy1ž ñ WÁâ´#IÄ-î i1R ͺΠn¢×ÛAJ\ cßË]ùb2†]'ã„71Õ1JA €Â®´»×ÏQ~˜?>fΜ‰3fà—_~T®\™í¨%"""¢jÀ€صk®¾újlܸW^y¥ßK¢Ô¼TÈNiPå$#®ZFhPRÀÒ c\42:4• t§ß…IB¡|Ê üšÑÛªr1w?2”3/ Âá D¬%6”qÂ눆)vX# 5i^§ÙU2ö{£×»+[„ðÞÇ^‡'ŒQÊú>Ü[zǶ+PJ`GÚ…÷C@d±C˜éÓ§ã×_4iÒwß}7ä–ë% """¢ìŸÿü'Î9ç´hÑhРßK¢ŒE©ÎsÑ3 YÕ2A3˜1Ð`ÿÕ¬ F0ÌCiÂÜ>[é*q¥Œ]#„Ê5”±_ ¦ÌE œÈèa–¼(¥ §}ÉÝwb‡"ž6$ó¹]ñâyLtXÁ‹Ð¤̘j'pQʪzQÑפ=õ× [ì0Æ0`(†a8!’êX÷QØšÚ§€ÿĉ¢öîÝ‹-[¶àŽ;îÀáÇ!„@“&Mp×]w1„)áÈ•p<ò*UªäÌ`(Spþ÷¿ÿáøñãèêCW+S2 ‚šÁ‹((M˜ÿ$/h BºÔ k4¥C·Ãá`„ˆy­–‘)ŸWf.ãÌŽAÜ,—h;Æ<'­Ê©IO #àŪˆ±ßg}-5 š}&ãe@)#Zqãl Z ð‚º eìúC)H(|õøèÏ(/öîÝ‹o¾ùÿþ÷¿1mÚ4Ô©S7ÝtjÔ¨‡~ØïåQ!a CDDDT ÜÿýB E‹ÈÌÌd(S@²²²°mÛ¶|¹—šg3]Í`!˜¡LÀ c4ûP© 43˜1¤tZ”œFFÃe õ‚ßÚä™5“²Ô|-£`;ÎŽEvöa·$¹[ìÀÅUýâ„1V #4Mƒ Øç¼U0R“4ëºhÅLüŒ3h‘®@ÆiW‚ò„1º®C×#Ñ× °îÑëòåÏ('{÷îÅ×_·ß~Ó§OG½zõ0dÈ<ñĨW¯žßË#0!"""*%î»ï>!мysdff¢aÆ~/©Äiܸ16mÚ”¯÷TŸYÁLû4  € ë°C™Ì`Fš_›€áÌdQf5„ÈXÂP gËØ¡1•3)«‘”‘X³dL®ù/Ö+€{§¤è§"FJ³ê%sh®PÆÎhÍ e4Í ràn]‚Y%£ë CwZ–ÜÓaì–%Ý0ØH$‚ˆʬz¸k¾þ™ÙöìÙƒ `Ò¤IØ´iêׯ|©©©¨[·®ßË#Ÿ1!"""*Eî½÷^g>Á|€^½zù½$Ê#µÔ fZÅ3D+fœ6&a3R@iö.DfË“Ì('xBÁÒ¬FqUÔÀšãTÑXÇ©” (¿º¡Ù’¡”²Í=­­‘2Öv×B@i…0棦Ihš-@  A šÏ5«Z&àúÚÊØ•4RB hæ°_k¸¯ÈèˆDÂЭv$áÚö:Zc†1áHápŸ?ئðþ©Tسg6oÞŒ7ß|3gÎDíÚµ‘’’‚iÓ¦1„!2DDDD¥Lÿþý±iÓ&ôéÓ™™™hÔ¨‘ßK¢3 V¹·M‹¯˜ñ´3vK“û0¤0Ûœœ–&CH'„±³âFX³hÌÝ›²[l1·É^S7¼X¿ì$D€!$¤R€uÀ d4hZ×c @ D0D0D0@ €˜mJ e‚ƒVX£iNèb(+ÉÎÎvm} (NuŒÆDgヮ(„?1* vïÞÍ›7ã7ÞÀìٳѠA <O?ý4êÔ©ã÷ò¨ˆb CDDDT ?5BóæÍ±f͆2¿Ãœ9sVeggÚÔòTÏ×¢µ5oÆfìpÆ Vàfì°Fš•4î¶&÷5Ê nÌ F‹ †#M¶C ×Öˆ¶$iB™»> %!•92X`À¡$4s¿&§‚F“ZÁ@¡P¡PÁPÁPÐ fÌê™PÈ k‚€¦Álf>ºDt Ñq*;ÛÖ(J7›pºÿ¹àÿp¨ÄÛ½{7Þ~ûm,[¶ ‹/F£F0xð`Œ;µk×ö{yT 0!"""*¥þú׿zfÊ\uÕU~/©Ø8tèÆŒƒ%K–ॗ^rί]»6ßgÈœ µ2ÐÈ+Ó * ÚÖdWиÃ××J o`SQ¡É¢ÿ IDAT (g7'iîÀdµ8i¼Öžo†2zt`¯Ð­]’ š.¡é:tC‡¡t(PÖ`- Á0ÌÁ»Êûb†4š†P0ˆ¤äd$%…   Á  Ù¡ŒkÇ'Cá°†ìì28•=§@$ŒiQà T‚íÞ½›6mÂë¯¿Ž¹sçââ‹/Æm·Ý†I“&1„¡3Æ@†ˆˆˆ¨»çž{À©”a(“7çwæÌ™ƒn¸ƒÆøñãÍš5Ãúõë}^Éø*5áyÙ$ ª"¼¡LlWI{Îly24iîÞ$~nt@ùu•¬¹/Ñ‘dÄ|®ia³í("ÎF8’„ˆArr’µ}µ™È) iF(  II@r2JІ2  ™ÁŒ”f¥LD²ÃÀÉæ£a˜Ì5 ô·œJ¨]»vaÓ¦Mxíµ×0oÞ<4iÒƒ ¸qãP«V-¿—GÅ"""¢Rîž{îq*eÞyçôéÓÇï% —\r‰Ê 4&L$'''¼þСCÈÊÊÂìٳѭ[7tìØ±0—ë0Ö'jl²eT2⇻ƒ™@ô¹Ò„9,ØzýØ•¿PfC²Y!#¢­LR kw%iÍŒ x2„¤¤’N&!¹L$e‡”„SÙÙȇÑ#0  ‚f•Œ$…€¤d3 IJŠI˜C~ÃNU~;\_¦€~3©ÄÚµk^ýulذŸ|ò š5k†â_ÿúCÊ7 dˆˆˆˆwß}7¾øâ Ü~ûí¨Y³&7nì÷’Š…‹/¾³gÏÆM7Ý„¢sçΞ×:„íÛ·cöìÙ˜8q"Ê–-‹!C† jÕª>­øôŒÕ¹6±D4 „h€c'j@pkBIC@ sÛk–Ö׿vÖAsnÌñ$$'%9-JÉÉÉøµlY?~¿ø §NVB$ReÊš4?2@¢Y @-ÀÜ‘ŠJœ•+WbÚ´i˜8q¢çü=÷܃;ï¼ówž;wîÄÆñꫯbþüù¨X±"žzê)¤§§ã²Ë.˯¥9ÈsÐoÓ¦M™2Mš4ñ{IÅÂÅ_Œ™3gâæ›oÆŽ;`V®\‰Y³faÒ¤I(_¾<†Š•+W–È KÍÍ¡5ª—Yi¾ ¹Ïö+ }Ô­v&)¡²†ú;I¡$„B!$''¡LÙ²(´ŽV<Šc¿TƯ¿ž'“•+(È ù/7Iø¯Î%ßE]„µk×bÀ€˜4i’s~×®]8yòdžï³sçNlذ¯¾ú*>ýôS¤¤¤`àÀx饗ÂPc CDDDDŽ¿üå/B E‹ÈÈÈ@Ó¦Mý^R±`‡27ÆáÇñå—_bÈ!XµjU‰ aò˜“s¥ìñ$D†0w^RҰ™°í¤†` €`0„P0ˆPRÉGË ìÏ?£ÂO?áÈO‡qä§?áçsÎÁ¹ç&áœs€ò€V• ñ$_¹ƒÐ¿ýío˜·Þz+¶mÛ†+V`ܸqXºt)Ú·o¿ýío˜2e C*rÈQŽ „S§Náúë¯GFFš7oî÷’ˆˆ<²²²°nÝ:(¥päȼýöÛHOOÇ믿ŽêÕ«û½<¢1!"""¢\ >U«VEJJ C™ÓÈÊÊž={ü^Q‰·}ûv¬[·“&MÂÊ•+ѹsg 6 7fCÅ"""":­Ûn» B¤¤¤`õêÕhÑ¢…ßK*’‚Á ‚Á ßË *‘V¬X½{÷bÒ¤IXµjºv튡C‡âí·ßfCÅ""""Ê“[o½Õ e222Ê$P­Z5T©RÅïe•ßÿ=Ö¬Yƒ_|6l@ûöí1lØ0L:—^z©ßË#úCÈQžõéÓÇ e^{í5ôë×ÏymãÆІ â’K.ñ{yD‚ ±çŸ-Z´@Ë–-±jÕ*´lÙÒï% ÄO?ýä÷2ˆŠ…mÛ¶!##iiiعs'®¿þz<þøãhРC*¤ß """¢âéæ›oÆþó´jÕ «V­ÊñºC‡!###GŽD¹råššZˆ«,\GŽÁ?þè÷2ˆŠ¬ï¾ûo½õ7nŒÚµkcÖ¬Y3f V¯^¹sç¢gÏž c¨Ô`… ýn7ß|3>øà´nݯ½öšsþСCÈÊÊœ9s0aÂ$''ãÁÄÒ¥KÑ´iSW\°.¿ürÔ®]Ûïe)ß~û-V¯^ñãÇcãÆèÕ«ÆŒƒ+¯¼_|±ßË#ò """"úCnºé&Ìœ97ÝtÊ—/#F`âĉ([¶,† ‚åË—£I“&~/“ˆ Ñ·ß~‹U«VaÈ!8~ü8n¼ñF<õÔS¸òÊ+Q­Z5¿—GT$0!"""¢?ìÆoÄm·Ý†iÓ¦áèÑ£X¹r%7nì÷²ˆ¨mݺ«V­ÂË/¿ŒÍ›7ãæ›oÆØ±cѳgO†0D 0!"""¢|ñÞ{ïá–[nÁ 7Ü€¿üå/~/Ç7¿ýö›ßK *4[·nÅÊ•+ñÒK/á›o¾AïÞ½ñì³Ï¢~ýú aˆNƒC}‰ˆˆˆ(ßôêÕ ³gÏFÛ¶m±|ùr¿—SèÖ­[‡­[·ú½ "µk×F‡°xñbtèÐÁï%˜µk×býúõ~/ƒÈãå—_ÆÐ¡CѳgO(¥›7oÆÒ¥K‘žžŽ;wâ®»îrfÄ\pÁ>¯˜¨t`… ¸ë®»óæÍCÇŽ±dÉ¿—S`š5k†Ë/¿ÜïeÅIOOGƒ ðÛo¿¡K—.hР6n܈W^y{÷îÅ›o¾‰Î;3Œ!*D¬!"""¢Bѽ{w|üñÇèØ±#-Z„Ž;ú½¤Q¦L¿—@äøê«¯°xñb¤§§cïÞ½¨X±"ˆ~ýú1|!ò+dˆˆˆˆ¨Ð\{íµøøãÑ©S'¤§§û½¢iÓ¦Mxá…P­Z54jÔ[¶lÁo¼½{÷âèÑ£=z4â"€2DDDDT¨®½öZ<óÌ3x衇pÅW S§N~/‰¨Ø[¸p!¦M›†… âÀèß¿?Þ~ûmÔ®]U«Võ{yD”""""*t=ö5j„Î;cáÂ…èܹ³ßKÊ›7oÆÖ­[ý^•7nÄ矎_|‡Bݺu1uêTÔªU‹! Q1À–%""""òÅ5×\ƒ  K—.X¸p¡ßËÉçwªT©â÷2¨Û¸q#þùÏ¢jÕªhÚ´)vî܉÷Þ{{÷îÅæÍ›Ñ¾}{†1DÅ+dˆˆˆˆÈ7W_}5,X€®]»â³Ï>C—.]ü^Òrî¹ç⬳Îò{TÂ̘1ëׯÇÔ©SqäÈÜÿýxÿý÷qÙe—1$*ÆÈ‘¯®¾új|úé§èÚµ+Þ}÷]Ü~ûí~/‰Èw6lÀ§Ÿ~Šôôt9r]»vÅôéÓ• dˆˆˆˆÈw]»vÅ´iÓpÛm·Á0 ÜqÇ~/‰¨Ðmذ ,@zz:Ž=Šx|ð.»ì2œþù~/ˆò""""*n½õV†¾}ûâœsÎÁ5×\ã÷’ÎØ®]»°ÿ~¿—AÅÈûï¿í۷㥗^Â/¿ü‚`Ö¬Y¨Y³&C¢Ž ·ß~;Î=÷\téÒóçÏ/v¡Œa0 ÃïeP·~ýzÌŸ?/¾ø"~þùgôë×sæÌA5•"Üe‰ˆˆˆˆŠ”Î;ãóÏ?G·nÝ0þ|¿—“£eË–Å«^½:.¼ðBVCEݺuë––†³Ï>m۶űcÇ0oÞ<ÁŽ;ðÜsÏ1„!"""""*²:vìˆôôtŒ5 ü±ßËñ¨U«/^Œ×_cÆŒüøã8zôhŽïùꫯðâ‹/bÕªU…´JÊÉÁƒÑ¢E O(³{÷nüýïÇ?üpF÷Z³f F…J•*¡S§NˆD"øüóÏ¡ë:ž}öY¤¤¤0„!¢8êKDDDDEÚ!Cpå•W¢cÇŽøè£pÝu×ù½$Çe—]†E‹¡sçÎPJAJ‰}ûöy®Ù´i>ÿüs¤§§ãÀèׯ:vìèÓŠÉvß}÷AæÍ›#33 6<£÷¯Y³sçÎÅøñãƒÆgŸ}†æÍ›Är‰¨b CDDDDE^‡°dÉtèÐsçÎÅõ×_ï÷’v(Ó¥K4kÖ õêÕÃÆæàÁƒ¸÷Þ{1uêTÔªU U«Võ{Éd¹÷Þ{!„@‹-™™‰Ê•+çz}ff&>üðCŒ7III6l.\Ȇˆ~2DDDDT,´oßK—.Eûöí‹\(S³fM,\¸Íš5ñcǰ`ÁÜwß}x÷ÝwQ«V-T©RÅï%Rú÷ïïTÊÌ™3ÇóÚ¡C‡°cÇ|øá‡˜0a|ðA|øá‡èÞ½»O+&¢’‚ íÚµsB™qãÆaĈž×Ç«¯¾µjÕ*ôµÕ¬Y=ôþóŸÿàÓO?eSŒôë×ЫW/À† ðòË/câĉ…B2d–,Y‚¦M›ú¹L"*a8Ô—ˆˆˆˆŠ•víÚá­·ÞÂÃ?Œ?üÐóÚ‹/¾ˆÃ‡û´2 ~ýú8ï¼óÆ3‡BݺuѸqcÀwÞ‰òåËcÙ²eøùçŸ1f̆1D”ïX!CDDDDÅÎ]wÝ…êÕ«£mÛ¶˜={¶SÙà·µk×bóæÍ~/ƒòààÁƒÈÊʬY³0iÒ$”+WC† AJJ þõ¯ù½<"*ÈQ±Ô¦M,_¾m۶ŬY³pà 7äzýW_}…Å‹ãµ×^âE‹ dâfÍšá믿Î÷ûRþ8xð ¶oߎ™3gâÿþïÿP¡B :+W®tªcˆˆ """"*¶Ú´iƒ+V M›6˜5kVÜë›6m¢E‹žžŽ}ûö¡_¿~xùå— $Œ¡¢éàÁƒøþûïñüóÏãã?ÆÙgŸ¡C‡bõêոꪫü^•b dˆˆˆˆ¨XkݺµÊœwÞyÈÊÊBFFÒÓÓqàÀôïßo¿ý6j×®Í-§K‰àûï¿Ç|€É“'ãì³ÏÆÝwßÛo¿}úôñ{yDDÈQ кuk¬\¹­[·ÆÝwßûï¿S§NEíÚµ9`·”8pà¶mÛ†ÿüç?˜2e þô§?aèСX³f 5jä÷òˆˆâp—%""""*Zµj…‘#GÂ0 tìØíÛ·/ô0fýúõذaC¡~fivàÀ,[¶ 6DµjÕpÛm·¡ZµjX»v-8€‘#G2Œ!¢"‹2DDDDTb<ûì³èÑ£Zµj…3f wïÞ…úù—]vêÔ©S¨ŸYÚì߿۶mÃôéÓñꫯâüóÏG·nÝ0vìXtëÖÍïåå""""*QZ¶l‰Õ«W£eË–…ÊTªT eË–-´Ï+-öïßï¾ûï¿ÿ>^ýuT©RC‡Å_| ø½<"¢ß… •8)))N(3}útÜrË-~/‰ÎÐþýû±råJ<ûì³Ø´i.¼ðB :6lÀ•W^é÷òˆˆþ02DDDDT"¥¤¤ ##)))ÈÌÌÄ /¼à÷’è4öíÛ‡o¿ýÓ¦MÛo¾‰ªU«¢Y³fxë­·ÂQ‰Ã@†ˆˆˆˆJ¬-Zà7Þ@¿~ýЬY3Üzë­úy[·nÅ÷ß_ ŸQÒìÛ·[·nÅ{g·Þz —\r † ‚7âŠ+®ð{yDD† •h÷ÜsêÕ«‡””(¥pÛm·ØguÖY8ûì³ ìþ%ž}û0{ölÌ›7Ÿ}ö.½ôR :=ôC"*5¸í5•xÍ›7GFFúöí‹÷Þ{¯À>§J•*øÓŸþT`÷/L7Æ‚ <ç¾üòK\z饿ë~?üð>ûì3Üu×]¸è¢‹0vìX\pÁøê«¯••…Áƒ3Œ!¢R… • Í›7Gff&î¼óN¼ûî»~/§È{î¹çЭ[7O(£”±cÇò|~øŸ~ú)î¼óN\tÑE4hÐÿ·wßáQ•iÇgJB ½¤·P¡PÞD\D@;"ÒD‘Eqm‹¨ úâ ¢¬Š"ö, ‚@X@i °ˆ "-$$3缤÷™™IÈ÷s])ç<çž'“yÎÜç)êСƒvïÞ­ãÇkÑ¢EjÑ¢…/€B!K(6"##µyófuìØQ'NœÐäÉ“R¡Õ«W/}ùå—êÕ«—V­Z¥þýû{´ß±cÇôöÛokÛ¶mú裦‰'êÑGUóæÍ}5$dP¬´oß^+W®Tÿþýåp8ôàƒXÙÇŽÓÉ“' ¬¼@ëÙ³gjRfåÊ• Ív»cÇŽéçŸÖâÅ‹õÞ{ï)$$D“&MÒ3Ï<£fÍšù9j(HÈ ØéׯŸ¶nݪŽ;ªR¥JºýöÛ ¤ÜøøxÅÅÅHY…EÏž=µ~ýzõìÙSsæÌI}üرcúé§Ÿ´xñb-_¾\Íš5ÓĉõÄO„@±Ô®]»ÔáK–eéŽ;î¸ì25j¤ºuë^~p…L=´aÃõèÑCÁÁÁ6l˜V¬X¡-ZèÐSO=¥¦M›:L(RHÈ Øj×®¶lÙ’š”¹óÎ;R¡sôèQíÞ½[o¾ù¦$éÒ¥KêÓ§¦M›¦&Mš8:(ºHÈ XkÛ¶m†ž2wÝuW C ¸˜˜íÞ½[ÿþ÷¿õñÇ«U«Vš0a‚¦OŸN  {mÛ¶Õ–-[©-[¶èµ×^ËW9§OŸÖùóç 8:ÿؼy³öï߯O>ùDŸ|ò‰"""4aÂ=ÿüó txpÅ!!HjÓ¦ÞyçÝ~ûíjß¾½î¹ç¯Ëˆ‰‰ÑáÇ}oÄÄÄhçÎZ´h‘>ûì3ÕªUKÓ¦MÓŒ3H€‘’Ý|óÍjܸqêð¥‘#GzµDD„vìØá£è Æ‘#G´sçN-\¸PŸþ¹Úµk§ñãÇkÖ¬Yjܸq Ã€bƒ„ NDDD†9eî½÷Þ@‡tÙ~øáŽ,g‡VTT”,X 5kÖ¨S§N7nœ¦Nª.]º,.@V$d€´nÝZ+V¬Ð7Þ¨-Zhôèѹnÿã?j×®]~Š.É¡C‡¥7ÞxCëÖ­Ó5×\£±cÇjîܹjذ¡_cxŽ„ ‹jûöíêÔ©“$åš”‰ŒŒTTT”Ïc:tè¶oß®™3gjûöíêÒ¥‹ÆŒ£yóæ‘„€"‚„ ‡V­Ze˜è÷þûïÏqÛ   ŸÄ­íÛ·kþüùÚ°aƒ®½öZMž?ftt´¶mÛ¦×_]_ýµºuë¦ûï¿_o¼ñ†4hàóã|‡„ à¡ôI™7jÙ²ež?xð ~ûí·Ë:Ftt´¶nݪ‡~X¿þú«zôè¡1cÆhÑ¢Eª_¿þe• (K—.ÕÂ… µuëVÅÅÅ©oß¾š4i’–.]ªzõêù1z@ ‘òiüøñ’¤ &¨uëÖÙ.9½téR-^¼X_}õ•LÓTPPú÷ï¯Ù³g“„€bŒ„ pÆ/Ã04~üx9rD’ôÖ[oiÉ’%úæ›oR“0ƒÖðáÃ5xðàÀ (HÈ—iܸq’ÒzÌÜ}÷Ý ÖM7ݤ[n¹…$ 2@7nœ–,Y¢={öhéÒ¥4hP Cb$d€²eË–@‡("XöÀÏHÈø ?#!àg$düŒ„ €Ÿ‘ð32~FBÀÏHÈø ?#!àg$düŒ„ €Ÿ‘ð32~FBÀÏHÈø ?#!àg$düŒ„ €Ÿ‘ð32~FBÀÏHÈø ?#!àg$düŒ„ €Ÿ‘ð32~FBÀÏ€¢îôŸ:1ôð32~FBÀÏHÈø ?#!àg$düŒ„ €Ÿ‘ð32~FBÀÏHÈø ?#!àg$düŒ„ €Ÿ‘ð32~FBÀÏHÈø ?#!àg$düŒ„ €Ÿ‘ð32~FBÀÏHÈø ?#!àg$düÌ‘Ÿ–ü{AAÇPlx§+£ª IDAT¹qÈ0_ÄPl0d ÀÏHÈø™×C–s4Fë¿\§Ä„D¯öÝ—ÐÀÛÃ@¡Ñ³Nl Cð™ã'~óx[Ã0äp:Ô³WoÕ©]GN§Ó‡‘W&¯2111Ú´ñ[E¶ï ÈìÑ~3ŸVƒöõ:@( >úϵ oè0|æø‰ßôÈÔx´m\\œ¶üð½6}û­ÔåZ5lØÐÇÑW¯2Û·oSŸ>}Õ°q˜,Ë’Ûíöx_Ë´t>Þåí!  BJ$}T:ƒ‚‰oY–%Ó4óÜ.((H]ºvShõPmß¶„ ^'dNÿù§êÔ«/·Û-˲¼Ú×mYr›ÞíæNþ¬³ÛíŽÄ··,ËÊðZ?ýôS­Y³FsçΕ͖uxÃÜîâQ7@Aó:!cw8t)>>Ë•â¤dÌ?wV­"Úf›xq[¢‡ ÌG+ÞÓà¡·äz(îbò±•9iÞ¹sg͘9ScÆŽÕ«Ù$e§Ün†¡ùáuBÆf·géÖnY–vïü¯þúëOõèÝ/ÇáL–iÉ$!ƒ”þý”ÓmàrYÅäý”ù³½\¹rúìÓOÕ­{w7NsçÌÉ”1MSn=d€üð:!ã°;”p)ÃIù¯ÇëÇbÖ´™.]ŠÏv8“$]Jt+>«©(8éßO9Ý.W gÖá:W"—Û¥„„K+]º”úõë«yó^SÇ‘ºå–´Þg¦éöjbwi¼²d·)1Ñ%§3m×j¡¡ºpἎÿï˜B«×Èqâˤ«¯ÅãJ3üƒ2ðo'0/ª’z1fìñò×_g´jÕjÝzë­2dH†ç Ã`ÈOù˜C&ë%IªW¿$K;wlWËðÖ²;²í6Ye +ýû)§ÛÀå*.ï§ÌŸígΜÑСÃtu§NzéÅY’”áyÓ4é!ä“÷ ›]‰‰—d³•Èò\ºõuäð!%$&(8›9Xe ©{ß¿¥¾Ÿrº „â³ÊRÆÏèM›6©eË–zá…™’”åïÊn·{˜1²]¥ (^2ž竇Lll¬‚œAÙ>_·n=IÙa•%EQ±Ye)Ó²×ýûõSÿ~ý’žËæ3Ý›¡\$d]fBÆîP|\œÌ²å¼>0«,(ŠŠë*Ky9uê¤*VªäÈ€+—× ™–-õiã·ªW¯®Z´h)»Ýó",IC‚½=$TñHÇ$%ž3 Cr»ÝYî»uìXŒŽÄU—k»zV¶e›É‘€œ¤?/ö:!S§NɸVÖ­ÓO?ýìÕ öæÍß{{8(4¶nÙè|jþü×d$ß6 C2’ºSÚ IFÒ3†$Öt»{Ï^ª]»¶Çå»]WîŠLŸúq C@áv¹$Ãá}BÆétªaƒ†jØ ¡/â H¹qȰ@‡€"ˆYüŒ„ À§ #ïm€+]æób23XöÈt^Ì2Àç ÃðjImàJ”þ¼˜„ À/Ò/Ÿ W)çÅ$düŒ„ À§\.— ƒydP¼e>/v¤–”±X×@´Cbˆ¹RrBÝßrH’)K2 ‰sáËfò…¼F;ä¦eÉ HލàkI S2H$7sR€×h‡üÏm&åÀrË9Ø¿Ië×ÍóªÜž½ÇªqXçËŒ.°l6[žusðÐAïÒ C©Ky3W1…Cꤾ–eʰåÞB‡……Iʹ‡L7ö–Îo}N}{ÍRtøP›|·šWtéÔá_tàTu5¬äÌï^g5õößjTµž‚<.#N[ W¯­S´û›QªíðîôïyÒU¯^]111:öþûªüÃjT»¶äréÈ‘#:©Z#FÈ”tô×ãªQ£FÒNÞ´V¬v¾znšú…NÖê©‘ÎR§ÖõUÞ}V'öíPL¹Òr\A_dݦdÉ*ð/ç6{òhhOÊ5’EÉèzЧßO]RHçÛtK·f*•ÿPsåiÝ2´}Î<ûøµ7N¡#n•dèäG)êÑ©ú}È]ýð¤´í=­ï´œKÖ}2×›Gq&ÿx¸=ð½¤2¦¥—K%í9wI6 #C™ìžOßCÆãëTæI­|ü%ínô¤¶®›¬¦%¼ˆ>/Fˆšô¹IM¼Û)Ý-ﯶ¹LúÆ€·øŸË«—œ~™ì~RT Jл¿VÉð“"óã¥í.™n—\®Ä\ËNûI))Ýcæyý´ñªyãTÍ…Þ~¶â>›¦|ü«ÌM4éóÕzº¹M!æëûí[µcû'ß(Xîcïëþ!jUÉAzî½/´véãê¸B‡LÖÊS¦‡ñ$ÿ$}ó¤~îÛ«v£G˵s§¾^³FÖŸ§eýyZ_þ¹Ü_­öMÕž¨´Õ*=C’,Yn·LÓÌøã6ef(ÏÒ__ÿCÃߢº#ÿ¥O×~ªy·—ÕçŒÕ«?ǧ+/ë1Ì‹ÑÚíè£Ç| —ÌÒ]u~ÖkcïÒ‹;bÓ qÊûxÏ!IîÔóàÜÔ_~ù%Ãý&MšH*))^Ræ®-6ÎŽšôøzeØKêÖn›î3Z÷Œè«ðʯ’Zç¾Ó”.ýôvÕÑz~þLu¨eèÔ¡Óº*4H’KR‚N~ù¥â§MÓ»“Kë¯SeUÕ‘õŠ»WÛèÿ>{F/îׯLÑÓCúêìÚÍšÙ©¹ùj‡:>ÖSÃwŽÕúGè*»M%+—õøõ¸é ^ó´ªß§V ¨ˆ6m¤nõT¶Ó]õIUÚ¢¦]›K’š4I7Ÿ™§mQìÏú4Ê­ŠCnS»²¶\75J×U×{žÑˆ†õêø]ÛÞzD޹C5Û§)õ É}VÛ×Q¿Ç^ÔG/TUâ®E}ߺ¿m7­»¯–úÞ{Œ1oié¡j“tAQKWêtø#\/HƱ\Ê ’yêS0YÏÑâ;«ºqZ‡þ¡jeìž¿^%Õ¹ÓáÓ™ûñÚµl¡¶•ªw^¼W‘¥%©Ž˜mÓžôúgÇ5ply:#Í0<ªIú½LiU¿û.ýX#T¥#ÂuÍ=#å°;ô3HQeCÔáútbÑ|ïêE’Ón“ô‹fh¯™9mÔÖžTo®ÃútÎ…ܵBOkª`IºmŠÆ|ÐOó?‰ÖCmšÊn3$Ã.‡Ó)gò¤¾†Ã.Cå>à:u/)©‰Z´ª­Øë†hñÂmšðFoU ×€Ï8$Éá ’aå>¦Ø0 5nÜ8Ëœ1IWF²NqèùÅ»ª]÷/ýðc?-zuŽæ=q«>^JúŽÒcÓ¦hHó²²ÉÔïkŸ×â¿®×¢o^Р*É'ËÍÒO’ÂîДÑ7¤Íû’Ö©7uÌtµ½éFum]JRµŒ¨­³í®Õ¼¿Ò£Þ J¡5ZÖ![pÕ¨YSµ¼ì¯Ë¤¾à=OÚ!I*]©’ª¿òŠ>˜>]§W¬Qì÷‰úóH;µiÓF]彩‹uàÀ^U©’Ô‹ÃÓ¶ÈŒÿC¿ÇKj•—3¹LJÔÿ›FÕO»¯ß¹C_¸¨G$ “ªÞo¢ºµmR² éß5éõEzäÛCº4ºŽªö¥®Ž»õÖ†“ºyDuÙ/DiÉêójûÔ@ÕqJöÜÊo$óÂ1‹+¡º‘Õ¾EC•4¤F-<{é¹L¥ö€ÈIBÂE­ÿ£œW«,Ýœ|ÛãI}ÓmŸ¶‘6ɯ£´*–²Ét™Éñ&Mêl%O bH’yNûÿ{JÁ-{«y™´2í"Ô§±´aÛ1]2ʳW‘.6ß@6›=ià²eS÷uÇÆÊVµŠìöŒKy<©¯!I5u×ÜYX-S’ÐüSk«7Rê).Z£Ýúß/CÕúÍ”ò-¹\–œ¡çef©çŒ±d¨û’ Ô£cy-øq¯~wõQE¯* x#©‡Œ)Yœx8p õvv“ù&õ˜Q–Ç= £\óš4o z鸶~¾T/O›®»;¬Óž¯ÖëéH»Ž|·W®fÏéš*ölN°Óf·ËÐ:íŒ#ùÄ.eÍ‚tñ• Óu×VÔìM»t2ñoªœ¶U~V"`ÈxÏÓv¨D‰jÖ¹³š}ñE¶Ï—,YRå*UJ½ïi[d/YQ‚¤}Ñ(Ñ0²ôùÌÀ<«oÏÔKËÐþ£ÇtìØo:gIÌlÚIŽU.m“ÛeÊ2 Ù+wÓ}=ƒ5üÍ/ujø*³m±¾ˆÔÌWÉay–Tw˜žùžîž¡ú oÐÈQ£tÏÍ]Õ Lî={2ótÙkoWYr›îä*ð,!“úº:3Òן2·ËÉ÷­Œ+3YÉ3ÖfX­)å¶-ÓãyæñPœjgÎêôâÅjs)A«fÏÖ&Ó-›Í¡³_Öõ³^ÔéåËU=6.ÝKö&!SZµš·R뚙֩vÿ¦}e”.iä–Ë”š<²\óTVú­m¥*©Œaf²”þi§Üv9$»Cv+2àK© ™¤ M¹·ºaaa9ôɺ_~Ç¥jªÃ°©ZÖ»îl6X¯½²]'Rf‚Kîøóºd2²9çÌîÊOÚÊ™Nâ2ÄlSPpÒ‰‡-Ó [~2ôïyÚíÝ»'÷‚ ©e‹ð´»ž~ˆ—i¡áÒš5oêû3]Õ/Çq‰Š~ýFu›«{Ì×ŒÞ UYßéÖúCt6¹ÍÈÐî$•1¡PA]îë§ÒƒßÒÚßnPíÅku©ó¿Ô7Ô!ÃÈ«|C†³¦nœóƒzŒ]¯V¼«Ôì'{ëåo–kt£`Ï^¯’Ú+_ÎÿáYBF9\ÉXéËL©c+å¾$9Ê+¬ee]Z·^û.vUûÒIÛ›çvjÝ/Rý±õTÊ«„ŒçuS¿eKízp²zMž¬ëŸx\;«V–aºaÞ<•²¤ï§NU³Wçd(×£ã§D›]éï†l%k©e5éíoÈqO¸ªgÊßHñ“T™zÈd8FÜ!­ýö•mÓN5‚¼«3à¤e¯-å9™¢aÚ¿¶=cRVW*È“:ËtÉeI!¡!r(XWEÔ–µü3m<9R#jd9ÓÈ¿‹ûôÉÚS*ßñjÕ ’$Cv§]r'Ȼ铸Ye ¼æI;$I:]í›ì55øñ›õä å9¶·¾ù÷5Ìnb_÷)}óî6…Üú…ž¹9B¥%霷mŸ¡rîÕõejÑòUsKÝæwW›7åÛU®i|²î7Tw¶ªÿ[¼_wNϽwOú—bZéÇófËtgßz´Ê’§=d’XYbÉpuEiÏÛlY{ª”ZÜ5RáËgê) 4ë¡>ªçÚ¯OfNÕG_Í\'©÷‘7ò¨›5;uÔ#nÑúWþ¥¶3f¨Óue³:³aƒ¾|`¢#†«þµ]²y]y?åŸlâÈ|å©dS¸'\KžBw>zA‹TÝ’çud_´\í‡j@]‡JU*-wÌ—úl}m5-ßH×t¨¡¤Uæ/èàÆ¯ôc¹V uEkݼÇõƩ֚:¾ÊÐ=ŸJKÈxp%(¥‡LvI™ÌûzœœI<¤¹}úhA‰®êß­­Âj••ë×(ýgÁëZëê¡9ã[«”áT­A놧n×èãô×´Qº®uE]8vVÕÛE¨ª3e8RC– I:¯½ë¾ÐwåÛé*÷}6cœfÿ©ç§^­r†!)XU›T—µà-ߨKƒ+ÇÉ]³µšWô, Ä%ð^^íPË-5sÖs^•Ù²EK/.ªØ{¶VLùEý_­Vm?Ðèû†ª[óš*kÕñ}?jë¥ôÌä0]U§´N¯š§w·ÕVßàÝzÆd}‘`©Súølzx¤¬l;Ý{cEuzªþÒ[u­$›aHö2y–ŸxèÍYåVxûfª]Þ­ã߯Öγ6U«S^N/z¤´WyÕQÊ*KÙÉéqOÊMÞ(õÿ « å6dI†l†dY{µ7©w>+¯çþ9_¯V…ªÙÕwhÑÊ1êQ- 8{ô,KízP‡#ÛkÃŽÿêäñIRè§Õä¥Y ëÑCn·Û»2•–«Ê¶§Ž‘©NŒ 5¹DŸWš­é¯/ФŸS\éP5nÒZk>D†¬zƒÇkЇèÅñ?©éíóÕ¡ãU 6 réèW ôÈÛ{[Nõ"ÿ¦—?Ÿ¤åg©pà ‡”<ÌÆ’”KÓ[±bE/‹ö´/©°A׫޲ÕZ2ã]ŽR¥ÍÕêšÇµü±‡tCý¤Ùäì¡7é­ïíš>iº^¼c©þf‡èé…ạzúcewÛH÷“¨Ã«ÿO£çïRtl5ê<\om~J77I¹¦èPÍa/è±n׌í4+´î[þ…fF–öèÕ0d ¼—W;Ô³{oõìÞ;Ëã[~Ü¢¨¨(µiÓF";\^¶ ºæéõÚÓm‘^ø×}<ý>½vQR‰òªvµ®¿KrYÔûåeš:r¼¦\ÛD“«…kà}5fç?ôßÔv&åu¤¿­L·Ë¨õ]CUcÑ«Šë?JÊ%Å5<(ߺ =ËŸ×Ì©ÇtÎ%• m¡žO|¦¹wו7i—)™¦™k‚ (á´†Ü8*Ãc¦Û-›Ý.3]’AR–Ç{­.æôïyÑÕ¯_O&LÈòxv!g.+iv¾ˆg•2WÍ•^7éçÜ»Ò_+…Qò¤¾FžsÈ\²Û_°è!Þ+>íPááöñ²×E]q¨g½ÑÚplt Ã ØrHIK_&-pqeŸx5|X»\ûô,{ Þ+.íPaâ6­b‘tÈ/êøZê²×œx VYïÑù_J{Eg•ò>¤n4è¦aYs €bãÂ…óY£‡ @K?L‰!K~~˜C–ü ý0%†,øHNÔ²à#9 SbÈ€ä4L‰!KÈ“aJÙ Y2–-[fõíÓÛ¿Ñ\R-.œ÷è¶$­Y»Ž!KùåÉ0%†,)©« üãÿàà<0(ãIEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_light.png0000664000175000017500000021214012142400477020166 0ustar balakinbalakin‰PNG  IHDR}zš¼âsBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝwTYð;“ ¡'t)ŠØùì‚X×.–µ®Š½âÚ{¯ØÛêZ×ÞÖ²ö‚»ØÅÞEª„dfÞ÷Gè$¡àýÏ‘LÞ̼™Ë 7oÞ›¡¶oß!„B1¡¡¡¡¿¿qW!„B•f/^Ò4]Ü5A!„B¥™¡¡!æ!„B¨ÈaÞ‰B!„4ÁÐÐP˜w"„B¡¢†y'B!„ÒÌ;B!„&`Þ‰B!„4A(“É0ïD!„BEJ&“ e2ÏóÅ]„B!TšaÞ‰B!„4óN„B!¤ 2™L˜w"„B¡¢†y'B!„ÒÌ;B!„&`Þ‰B!„4ç!„B¡"‡óÙB!„&Èd2Z&“w5B!„P)—Úß û;B!„P’Édødv„B!¤ ˜w"„B!MÀ¼!„Biæ!„BH0ïD!„Bš€y'B!„ÒÌ;B!„&`Þ‰B!„4óN„B!¤ ˜w"„B!MwPÝ~úq﹨Wb‹»"ZL  í,ÛÖs÷©`]ÜuA!„J?Ì;µÒ­§7¾UËÏ«¿Mç§Óš*ôºþ5†çùŸ¿­;x³sƒ uªT(îê „B¥æZiÏ™‡>^žÆb³ÄÀwu´˜¡±‰w¥ ÷_cÞ‰Bµ¼æŸ?zöøq\^Õ-N4M;»º~üçá-N”bÆYhO$B!Tôò”w~þüéÁ½»¾~ÕÍ-,òwU*žç¿~ùy=ÿñåžç‹»F¥AŠŒ•J¥Å] „B¨ôËSÞùäÑC7w]]QbB|QW©§«+ªèæ.¼1=¤Yq×¥”xý!fíž Å] „B¨ôËSÞ™”˜(–H!E]”:"‘€HH\BòÑðo?}çyŒQ.hš²³’ùWê¥-#4¥Å³£B!m‘§¼“çyŠ¢0ï,)ÐÀó<@jDŽ\¼oc) ð÷à(ˆÜp<çÑëcá:TQ,!„ð´!„BE/¯óŠ0é,9Òò$’”wŸc›Ôñ¤€ÂþÎ\Q@9•µzþús¦_iBSxÞB¡"‡y§öIË;)H ÏE†(’ÞY šÆëì!„P‘üSû ŠžÏœÛžwú=ËB^I™‡¿ñjÊhîŸüõ¦ŽÕD%ÁÆIÖ³Gö#„BE.Ï Qó$¿9»v\—†~Ë;•sö©Ñ¨ýÀ¹»o|µkå¿ä;Sj:5ÛòŽÕèË7Y-/ò}Ñ ë­8>—“­ãÔeòŒ?¼õ ¸ÛÄË#kUp.¡ÐŽ#çùoG~¯ÞpbdrêYÁ3C›Ù û2B<ÓŠ(Þ‰Bi@!\gçc¯-èþûªG¶ {š?ÁÅR÷æé½ðS»vúÔ­le^L#ç¤^JUSñ|H¼ð‡oïËonml”º„ÿ²¯m­™å¶^\\]„öm§†Õ-oAÎÕ hZ@ð|¦^:²r†ŽÂÈ2¹6õlÐÔÍx'„B8’ã  û6FÎ ÂðÅqé–«Õ äRçáÓv—º_¼B!¤?wr_OLYõæ3.î䤧è6ò«Ý¸Mõ«5B@1m¹pj ØHæ­¥ý¾ˆ»7l–º¤ö¨¶2D@ɨžð<¤æQ|Z÷!Ÿe‚{ҵЦCbÆ[hB¤¼¿ð×üU®¿ü!²rp²J~×|ã–žÿíÊß3…_¸ó&Ad[³ËøÉ½|E·&69‘£êWI˵Ç{ëe©wß²å»Ã£^ʼnKþ³Æ5±{këÜÅ»¯<þÌ›¹øÕ¹ŠIÊÜRsU‹?oÀý~õ@Ù>ÿlïÕá¿¿öt|±°ÓðWõƒÄ÷Ï^¾ÿ>Q`îùÛ¨CX+~{•K9ä_®o_ºêàµGoã3{·F£ç¨fL(¦`eœ=ìïD!„4âgÇwÊß ;.o4{fG]•…—ð`û¨ö ¼+¸¸ú5í½èÌ»BHòiõüzÌž5¬cÝ*nŽÎ5ÚO?öNžºŸ}xZpãjœÝ|t›vøEO!±Ç»¸×»p|OGÏ®;ß±Ò‡ëýVÏËÕÅÑÙÅ£NÇq{žþàÓóC•’}º´jhûzUݽ«7î25<6uÌŸìÙ…}kVrtö©ÝîÏí÷â9’teX¯^ge|D¿Ê.ŽÎ.¾F~8ÞŹfèm>þ@°£³‹cð')Éw¦Õq \-'‰á«Ô2wZH‹:•œ]<êö\té+›ºg雓‹z7­QÑ¥Råº-;vjä¸ò™Lm•”¦Æ¤ýËüsΗ™n€‹‹XÔâ…2}V½púàÊ1ÍÌ’¸ô2±o“Ú]²iýœ.V·×MXs?Y×kô?ÿL®*ñ;>tpÛ7ݬçcÎL YpݦóÌ¿víÞ4t—ºåô€€ìùÆ7ÿ¨ºfï £ý^¯1åø'NÉÍkÍ>´iHЯ;sçáC¯él¯“^a¿y#޵Ä[¶¬Vùý®)ó/|çÕ ûvï¨!«¢+õ¿e÷®µ³†µ¯iÅ(=E¤ŸO„B¡Ÿìïä¿]?öP§úˆê&j&Tsïv÷í4WÖeÖ¦yÞ¯M<¨¿áá=}ÊÂ~‹¸;¼ïì^ÎÆ‰7ÖŒœ6jŠŸßª&¦4sjLÛ1ϧ®˜ZÓ,æìÂá}„eõÒ#¤ïþ»®:iíÁ·¸2Fr»êFþVÎÁRðíöîY“ǵñÞ⤨ ÉÜC™}½µ_ïEò®óVÏð2a¿¾zýÃF‡$éÆÌNýNûŒ›¿·¡]ò5#F÷žnó߬“ÿߘfc’§Yâo}s3ÑÒ ûök³ÜnÉîI•õ(¡‘9C¢2í1åãÅ›0bà¢Ý/g\0|Qí33üôùØðGÜj0góåF‚ÏŽÍëýBˆ\E•TÄB@Q™û;)šÎ¸bMÒò©´ËÕik¥.çÙO'×%¿­Ô ¼.”quw0¤ž¦ ¤œÚôíÔÀŒ»?.îìçÞWÎÓÎÂB¢KÓ¼ØÒÊ ckg4ñÇ‘M¥*nŽöº”uà I¼±~ë{ß?Wô¨mBØöTwÿ°½W¿¶°È¾A‰¹…˜¡i]SK K=6&õ(‡f׸[ÇFöB(Û£õއn¿—Õ U ÏŽùÊøxWvs´d ¬½KzµùÔ/%ég†¢;<B¡"÷“y'÷1Äž¦Lêûq§ûø‡\JV¼É¸ÿydg/öþ_+"Ë ?5"ÐN`ÿ{h‡Úì:ö²{O@94ë÷{ÓrBpé°éÈžoS›^î^|ʰÇî mÝDŽF ø'pÍî‡C<+BºätÚ:&ÐIlܼË  „°Ê«¤*ñÐ@‘Œ^LF PLeàyÅÏ$ëËR—ð<‘¾|A9ö,+J-À§Ï„'|ÆÏ@‰$zÀÊXŽð4ÉØ¬’ ¬÷mulòìöM÷Ôû­M›ÖUËêQ²w7¢|˜ä?Yñ@yŽåˆý§x91crn0s5²HÆ[@éëR¬œåxª>Ʊmï†ásþl~Ý# M›¶-zY‰¨´ñ|ÆÙ£€JO4B!„ S^óN¹\®l1¯+чؗïen t«NÝÿo2 {¾±Ïð;,+—K?ß¼þ‰{4«‘×í1fù‘ˆûOŸÞ½|bÿ‘[1œò ‚Ȳ¬á[GÎ=xùâÑã?x’µ>™_¦ž=uÇ"}¾ÓžÓ×£ž½Œ¾õ쥗¬ÈÂ\—Êœ¯gôÒ”êl!„B…ä§ï£D™6˜° Ç«+º7;ß,¸m}O{ Ä<¿¶ýæÝÝŒ(Bô}ztp8±iDˆñ˜þͼ¬ߣŸ¼Ó¯ÕÚß$ëLÅ„BD:v«´máÔ¾†¶ñµ×M|ý$šõm`ŸsÔ¦®…^ìùm‡îZ×a[7TB¥g¢Ï½:{䌫ع†ŸµNæ:§<۳冑g%GKýä7W.F³ºzØöùßš±KŒ”ëRÇÑ8åÃÓgIÎAMÝ )¡™³¿mÿÑ›ÎÕõ¤»Š†´Èº¼qÒѧïY¸Ñ)úå]MsNzþ™úZèð[H½¿Æü9dÉ„!-}¬äÑgïÄpŠ·¤Ê«¤ê¬+î7©è•L •–MQÀÝYÜ¿gFyÝúKw·N}—yÃÉ+Ïûk怭œÈ¢¢‡™§ ¥o*õ%ŒC›aí®ÎX< “n™j=æÏïj˜ù”þGôÉ›–Jâ@dîT­Ïâ1-ÊÐÀ¨ú˜¿–:,_½ɨ- ´ÄÎÉ­F·šM€PÊ6(rï18ðÁâé½þ3²¯;déDï´½+êC‘ÔÁTÚ?Pw,„Oxphݦ%ߤ<è[¹Õ¶|ÄÿÄ„EљϞ£#À)!„BE/ï×ÙUvÑ’j#·ì÷ݶáïý»æY“#;Oÿ¶óüÞÐɈ^¥A[·X/Z´mÙˆ]ßYcÛ ®Õ:Vi™e¨^æía¹n«÷˜®˜¿acèáR« .žAn-Ó S…)£:ãæ÷?cn—¦sÌ]tèühÉC Bû4?8yé¨(×NK|ý¬²äÀÅÝÛ»|ݼ¯É<X{Ô½áÏz&e³ÿè­[¸rÏô>+’Då\< àhÇöc‚/MœÛ³¥žM;K—÷réyü1²Ùݹ:1.×`ÄšyY'ÛK­¹e“ãçO_=©ÇFNdéîe,O{KE•”žpšÐYvASÀN¨è½¦LƒÖ_ R²^Õ3— õ3¥çòÛ¸õ¿飰޽¯ iŠèùÍ:sI±]L…{侘ֱþ؈Œ#Ê\9¡]‹ ë[LȲ»ÔŒeÕ®ÓÖwÍù–’ m‚&n š˜¾¨Ë¶ð.à6âौmÒVí6…·ËåXˆÈ¹ËÜ¿»d=Šã¢S»‹3"…÷G!„4€Ú¾}{@“Æê û÷wå*š©Ð¯$%jA«Î—ƒïênŸŸq¶ǹ|;¤w¹L¦X²õøíZ>Nz"õ+*'½­g§uVs/ô7ʽtÉ–çcÙ{êfHÛŠŸerùžCÿµkÙDD!„~Yÿ8YÏÉD$ÿqåSÆ^,ÈßÙÍß™ùâp~.“øGç"¾™;ÙI_^Þ¶â…}ðŸU ó±¤`ÇÂq|Æ£ç!„B€y§FñqÏ\ùjîì`œ¾}ÑâgÝ'U5ÌçÉ%iÏ+ʼáUÜZS™”Ï·OnÞzéÙ·‘i9Ïú¡ú6«(Ê6ÿ][øX2Î!äõÔ!„B¨À a|'Ê;ù—›Ç7þ}ñÉ7©Ž©£O£ÉÛû·rÓ£ò}nv<¢È©ÃŒÍ~j%FŽ…ððù¼T΋|d£#ªhwÂó—7êëé4ªæœy Þ¿!„ҼήH¶þN#}QëúÅX!m'ÄyE!„PÑÃþN­„÷9/\x>B! À¼SûPE|ÙúW#Š» !„Ð/ç¡_]¨“±B!¤J^óÎGQŠ´#–ãŽý{¨¸kBiš¦Åb׊îVÖÖr¹<×òyÍ;»üÞëç*† _JŠ´¸«PJwïYÜU@!„´49ùåËçwoßòòñ153ϵ|>ž ž÷C¨äÂßm„B¨`ÌÌÌÝ<<^FGç%ïÌÓÈ6œÈ‚B!„rÒÑÑatt8ŽÍKá<åBa>ºEB!„Ð/%O®ÉëL^¹Lö•A!„B¿:¼ƒ B!„ÒÌ;B!„&`Þ‰B!„~F^/„y'B!„*0Ššc o>;>À!„B)E $oOTÏÛý;ñÖ!„Bèç`B‰B!„4óN„B!¤ y¾o¼\^¤õ@!„BÚ©°ç³“î¶“”ï2†Ï´l_°­¸ÊÄIØ·¯5H̾ÀLŸ3™ÿUš|WZÜÕCùE¤¯ŽÎéÕØËÖDb,–X”­X£Õ ×ãx5k|ÝÝØÔ¡ox’æ*‰ Ç«ƒ2µY[¯æ#·=ú¡êóWþ|Iu×17“ÕlRþ|Iuçá×Õ•AÅMX´›w²k}kHþúöÅ“›ÇÖ/m¹yϸ£ûB}T'Ç$áúìÀ&óŸ{¶8²§»)û%úÉ“Ï6Îf €ìÉüZ5þn~áÆ”Jºêw÷’ù#ª8`Í´C5'ô™ÖâÊ|1|ìùÉ6ËÛí˜ÛÔïsª%Ö-æÍoäÛÈŒ® ëSü×ãF5t"Ô×»÷µ%n¸òâ…øÌ_øØ÷û‡v^òªÉØÞn…ÚòQ‘“>ß6¤Ý€Ñ浺ô›Q§Š«9ðùÙíGzÆ"œ[j¹L¸rv“@}çòÁCCZ§›‹jè+))´j:cCËò:ÛQQ¥(ߊ8ï4(ëáíSVà[³Q«.}Ù Ó¬n3Þ˜ã§ì÷ €ÿtdÒÂ{&FœYBÿlˆ\ú­žv Æø>“šG,® áSûÿ-ïðÏœ¦øÙ¨E„víÎÞZmØ ].MóÕû~nòÐ=†ýÿëgˆY§6ˆ=}2½–>^1zåÛžûÖÛ3ÅV+TÒ{‹‚ìüÚhÞ…¿ûz¥šþVœuBEŽftEººŒ®{våè“kZÞ{•È×ÐWò×”2tmÜÆUó5D…M£©cÝdÒì&zï¶­º–¨²/‹OàA–ôƒÍÞÛξZ]Ë¢Úô§üëÅu,Åcqý¿ßs|ìåYk»”11KĶ>­&~#S^@öþ¿ij¸X‹mÝ úëv¼šË7jˆ\ú®Qí˦?þÜpr¿²Ž+æ˜+9•É·B+• >¤¥OY±XbáR¿wØ•oé]3ìçð¥}x9˜ˆÍ|ú­¾“öI~ùï´Îþöb±‰­[Ö³nãUƒÂÇ8t ›ê÷&,dÙÝO—g ÚÆü±z\ %ñ‰g»•wî0ªo+±Ä¸L¥À!›î$¤ÿ⤼9>«S2b‰…sµæ#·?HL{‹O|°clëZneÄS/ÿîkžäeŒ ú $áêÌàñ7Ü'ü3»iΩ¶=òq·ÿTÅÑÂXRÖ£n÷yg?ÊÒ7‹íQâ.Î_ñX¯ÉÒU™“ÎÌT`æ½dì¡ +ÏC‚<ÊHŒË4ßü‡F•lÜ“ÿÂæœ³ê1¶‘âiÒ…^N‚§iëk'–˜Õ™•˜å:;÷=rÝÀ&¶f&e\}¶¨W®l‡S @¢þ™ÐÙßÅZblæì?hûÓdå)AâÙ®n=&éâïf'K¬<›y.m¬‘>ß3¦yUGS±YYŸ¡{ž¦]ýçb®¯TÍÙJbléìÝhàžw¬ÚåH wÑÑ&¾.pûú;™ª"BÛÖã»;D/ªï×jxØ¿w¿fÚu;pçÐ`°é½çvÔƒ¨‡»Ú[ (‘K@ÈÜ-Ç.œ?¶-ÔóᲞ}ÿyG)+ $ñʸ&wôX{îþíC“Ü.o;æÌ÷‚ež:Î}Vͪñ}[¯eVÏn¢,ë.ööCË«ŽG\<¼¼‹á‰‰A­—>”‰»0º^ÐŒ§~÷D>¸²}x…c›4œù@zoN«àUñMçì¿v3âȺI¿×²(â~é_”ŽSϼÏnÔe=é¹zbmc})Ÿ¯¿ó¶éÌÕ³æ4ýñϰ&]·¾a€û¸¿O­Ž«‚æ¿sïüÚ&GBü[­|*H¼4*¨ÿnýàeǯG^ÚÚÞG‚Ã0Š÷ùèÈnK?®Ø:ÔKOUí1ùîì€úÃ/9 Þ|)êæþ©uÞÎoý¿a§£±=jBòÓÿ®$êÔú½¾¥ÒÏRu˜ù+™üúÐe£ówݳr€¯¯n·G“}­Í%b‰©}µö³¯ZÖ©ZF7=(²O§NIMÙvl߆Ñõ-3·:ÙÓ5[ÎúÜrÝõ·_^\Üög-é÷Œ ÉoÞ‹›NØüßÙËš|ß2dàÎ7 4%¾?uª;fÃÑËçv…:ߘÛ{ÚÕ$à¿í×`Ày§¡Û¯ÞØ"Þջݬ›?€ÿ|°O‹ÑçË ÜxæÆÍ³Ûiîb@«YŽ”Òôç§@ßÌàË·$Õ_3–M_ºðתå«'uÝ0QϹIß?§ŒjëaL ,m¬%:´ÐØÚÆÖ6õ"¼‘g»^žŠ}*Ù¼ÛyxÆÅhi÷:9KrïOßšÜnçÒþu ì¤Io¸æÚ¼FÆ9²šW„«÷ôý|$ê~ìýÛ6«é&¨èéeù¡r«eË#û¯¨wtÖæO~óŽÏlo/pü}á–Wk,YpaøŽ@ ûõùg0mZ»¶«©œ\|ÔlýQÅþËGmùß¼ø.&×Q÷7È> }€Ÿ­<ܼÜõ^xõ]¼ùqÇñ.¯·Ï9,oºyÓØf4@¹U=­Ü4låíÞ‹«é&x Ö•ëÔðt1¤ÁÉÍWsGõK’Eoþ£×NQŸ«:•Uw]i{ô¼<ùCÇ1—÷ôЀvSÿŽ¿î3bΑñõºÙ °=j÷.ŒlÌDJ[!ÿQåf@žKJE|†ö*Ч>*|ŽÃÿÝß§œK‰}unËÜ©ýë>þq}¯rŠFì¾) È IDATÒmtßeyŠüyúJI7ÂÝñ}s@­2½ŠÕ*[e4zÊ2`Äèî~zPiüÈ¿¶;ó\Ú£lΔ (^£û¶0§¼Êiµ,ðzä'ym»—[¦193·›—.€K¯é£6UY´ùÞxßê„7o“uËûÕ®êî¬G³Gê.9Ë‘RšNÉÙ¸÷q††j»~Æî͆-;öðCÔ鿆{< ë]+`úõ³ÜØÏákFvi^¯º—“}åÑ÷A.Íq…¤/ÎÞKþöOkG3s 3s óн/qÒ¯Ÿ¬Ã3åɺ~Ó”­î$;6lô¿Ÿòtµ†Wná#Œ¹ÿø;—òêòcÖ1Ðß:-ñ•oTÏ*ùQäûƒê£Æ6’¯náäÝlÈ¢ý·¿¨ìF?O¯|MW]°¯å®ª¯3;EíáõµWRH~~ñ9¸·¬f–ÖŒ =›ùê~ŽŒúÎeÖhÜðꯧ×u®Ún̪ãbñªK"?n/ê2òRÅIÿ̬o’×µŒö˜üîúƒ$˺MÓF” ­üøgW_§¶GÍZÁ÷—Ÿ’•~z«ýÀ,`IT"èHÊØÚÚÙÙ;UªÑbвCÛ;^œ»ìŽú‘,ì—Û‘ßmêT6Ëí’ÀÀÜæä\^nQBšéÓ¼œ#ðãÑéÇì«%õmÍ-ÌÌ-̬«þù€Ä½‹c‡öã{:^VµBn7ž{‘”š>¨ZŽ”ÒpÞÉ}¹zô1˜øV·ÍË”4JÏÆ¯í˜Ígwµ?\½,Ré}2’ïÌ l6å¾ûÀ•Îß}~o…¯ê쓱`?èÀõ;wnß¹sûÎÝQQQ»Û)¿ª“‹äa½'Ýt›¸gßÞþ)ŽØÿ!O™'­£#¢QÚ÷À¢ |†î½ujC?·×õ¨ëR;ô|‡ "@ EB  Èvw[*5Š´éÿ¦|çßŬïÎïXÃ%pîm%Q!àcÎüÙyÎë€eÛ†TRu]©´öêš#¶GЭФŠuÝJ?JÕ~`°$*yhÓªM]áë³/êo›È'ÇI9ŽUÞÔEAÂNxVÎC¥i'o)R…;w£¢Ü[Wׄ6­–\|±{zSѹ‰­}Ü;¬{–j–#e4šw¦¼:0aR8ëÜ{ ¯AÞ×"<Ç0¶6%`ÀËÓûŽR¢xQ~ðâQMݢˆ¿eÙK‚Ž]{x}ö¦ÌÂÖÖ.õŸ¹^þÏùqkA¯é¼§¬ q3,×måüúì‘ÁÃò0Œ˜ÄÞØsMjWËÛ”9Ôp¢_œÿ”¶RÊË3>Tªf'J­¾®Mµ6ƒˆ¼>Õõñºçcñž’%÷éÜîûàÚ°‚è–¯Uþ{=ý& IŽßL¶®VÉ4õk8­_Þ¿ó˜åÇîž`~}Ų›x‹Á"À¾Ý5°çFAŸ­+;Øåk{F{Ô³©âª÷ùâ©è´?ìçK'^]ë”KëÅöXÔ(Óz¡½íåá#ú®¼“˜ãìæúIò\•`$þþ¹TùšåÔ߈±ö©¨}ðÈ‹üäv9R•õ|làÉÉ(Ú*=U°-c’>D ®Ø¸ç„õçïüÓ–œZ²å‰4—å(»"ß™øòNäOüíí‹Ç·Ž­[vü•YàÂí£TŽúyôªfADÿ ¨[ÙÅNÌ~¸udÃÚSòz‹xé€ÐÄÙŽy{lçéNú¬ÌÜÝMlo-ˆÞµúP«1Õ’#¶ÌšIÀVqdÙJV²vh7"`nß)mzȧõo\Q’ü&êQ¼{»öÞy½Àª@®Íê±à¹ïŒËý]EÀØw^±ð`ÕaƒwÖÞÕÅ.ç ývë¿Sמf‰wvOô,põ]X…všÚvl÷Iâ}kJ> <ç©û¨õµøØˆõ›¢lý|-Eqþ=ÿLü¬tñëz±útåèï®_®þ=nèI×ÝÊ1@;l¼¨H¯ùÂ=u¢Ïé¿>¶öü/]öÃɵ»?9ùy•3§¿Üú7â3˜;šàt”B'ZÑ#ä¨~‡•m%¯îÞ~•鑃›SÎS®´= ýGöul4§ÛHÛeCØ$^ÿk̘+V¿ÿÛÔšÆö¨1ú¾ãw̺8nBÝÊÇ»÷íØÐÇ^B'~|vóÆ—šcÆ5TùIÅK˜¸ˆ½OJ­­|ëz©ùhE%PÒ»¨;·„À%Ǽ¼qpÙ¬¿…=õ¯¨ ¦Ë“2©7f@…z3:4œ70ÀÍàëÕ“/äÄMýŽr¤†ªJêUêâ»vÂÐ߯Oê^ÛQ?þÅýÇòZÝÚ8‰dÑûVã<«º••p﮿G[Ù‹…ª–#¥ŠøÌD¯n²tÍì]êŒûk{ÿVžbõc2t]Z•ÛùßÖù;¿KuÌݽjÝ:´yy€2i0urPð´Îu6˜{tXu8, Ãšõ÷ú†¨½‰±õkÛtÛ¨ÙŠ_×%­Íl:ü}QÁ¸9‡¶œ™¨kíâQ¥ÅäßH¾ºâI\ø”žËßøÍÚÓÏ%íë³Ð®cØ’ƒ~Œ¸ÕO7 L|¸V¯÷Þ°VõúþsyT ­hÓÆKÏïs5eBËåïe¦NU[,:7£»—P ÿpaÅÜ9O¿J -.W­íÊC3•ÞFiNLäÖI'D}¤m+þùïŽ:f4í:m¹¬7cÄì!f}ËŠ5Ûm¸4±âW¤/ÍŸ;íeœ ó µûoýk¤;ö¸¶·—/¹Áì iº+û{UW?9l•ý‚†òöhPuê©ãeBÇÏëT}P‚¡}å&Žn©-¦Û£æPúƒöܬ¶}ÉÒM— ÝœÈƒŽ±µ³o㎵9B[¨üÀ4ª5fhõ6sCºœl:÷°¿—‰êVT½YÛ¥áZʰŒkå Y§'v÷•äú7YÏçσÿÐÃ&ÌèX,-v©åžûµ¤)Am•Eu* %ß ­Rÿx×+ׯ»aÆ¡µÏvsiõzÖÃ3=lñFHZ Û#B¥‰Ùè4Ðrÿ“-õTvb¢"EÿíÛ·[‘7ê5h¤¾ä'Nâ-¦B!¤¥Hl䑇¼µ»UŸ ‰4 {‚B!¤EdoNˆd\=l®íœ=z°ª[Ì;µæ!„ÒÜ÷§7OÚ~õe,/¶÷i0lWÄàÆJfõ¢ U”ô*Ï};·¸k~Žaý-ïã‹»¨`{D¨tXÎþ7pvqWŽïD!„Bš€y'B!„ÒÌ;B!„&`Þ‰B!„4óN„B!¤ ˜w"„B!MÀû(å!ÉRiŠ4…çñÁ¡%-ˆtDºzz”ªGýbµƱtÈ=Ž2™Œ•³„ð¬*BM3B¡ÑÁÆ«ÕòÒxóóÎ|"$!!þEtôµ«W>~ü„­¥d¢iµµU5+yy(k+Gm€q,r#€49ùÝûw÷ïÝ‹ùöMÃÕCE¦i±Xìæînoï §¯¯¤6^m—Æ›_˜wæO²TúüÅ‹³gN7 jnWÖ^ äqE—¸/ñ„BHq×";¾0NÇqoß¼>}ú¤‘‘‹kEV.ÏVãXÔ0Žùõ+ÇQ.—½{÷îÆõk 5.kï â&­Ç²ì«èè³gOó<ï\¡Ãdˆ%6Þ¢¦™Æ[ؼó'E*½q5°i3¿jÕ‹».H{SÓ‹ι{TÊÙT0ŽÚãX:¨£\&¿ï^ƒFÊ;:KõP¡ …N*À­›7lmmqö¼¯¶Pßx çåÏó?~*SƦ¸+‚r'11‘ÉR”~ Å8jŒcé &Ž„ØØïöå5^)T´Œ%bž',Ëæ| ¯QÓx óÎ|ãyަñ¼iŽ#ª¤`µƱtPG>ïWZ‘†]?_°‹¶4E«¹W‹¨i¼ù…×ÙQiWXm/Œcé 6Ž%pJW€è(VÁ –…ô!Œ_5òMG'û8¤0Ž¥ƱtÀ¹D¥˜ªtﯩ„6õä?’““Õ—¡(J"1¡hMwƒP-“É4¼STè0Ž¥Ʊt (ŠeÙÌ—Úó{ÙãðF§Ì5+ÕFI—úX1•âs9.öÓ©ÉAVºB¡Ä¡ö˜«IùÜ ù²Ã_dþû…Ä×bbbÙ'ByQhy'ûþ@ÿZMÆ^0½rÇæ©AÜîÁþ³n%웕‡ç€²,WXO Í;Š¢ttMï6Œcé€q,%(JÍhNU©g©L:ó,þì ¶3o¸ŒÞ{íaäëVÒûù-þ×Ê@§á¡¸¼–W$±±±±±±H=±ñþ² )ï$qç'Ý)ï´ãì¶:4kÕgÞþS<£æ Üð¼ CD"• ££Ãqj?qØÏáKû4ðr0›;øô[}-† _w7±©:pÊð65]­Äc;¿.Ë"ãóÓ1KáýÆJŒcé€q,(Š"YAÚã !r¹\(f~W(Êår¥…K€ÜˆK|ÿ.Y8´_PegGW7{ƒì§/{Q¿ K}²¼¥H:½½½£¢¢¢¢¢¼½½©göÕßÄÆûk*¤¨'ÞüûXœÛàÑM¬Ò¾³êUì5>PïÁŽcoäIz•57Úþ)ùú.Ï\n6Kâ.Œ®4ã©ßÄ=‘®l^áÆØ& §EþP¼™ôìøI«)›O]>µ¥·áñ }æä£by/ŠŠǪ’‚qÔ"ÇÒAMs%—Ë&µ{Œa¹êçõ‘/;ꚸ÷Òܧ¬1Ã0fí_Kýã“òêÈ”6UMÆÐ¶RãÁ›ï+†ƒÉŸ-¨lQsè¸ÞÝ­ F×Ú·×ÆGésVeoNléSÖaLëô]w3NÙ_2’ôøŸ‘M½Ë3ŒØ¡rË?÷¿HVä\ìËe¾’ÊÃ&õ¨ioÈ0–íŽåìQäbomذ¢•#²t©;èÈ·LÙ÷5|~§jå% c\¶jð _XÞ­`ßû»½‘ Ã0ŒË¤û)ü÷‹S[W±—è0 £cê8fÿ+@©öbQý½i}‘É7G•ש4÷I¶Yä‰çºš™5?’ŸokÎ0 SæËê/Ü‹D¢ààà5kÖ…B¡P¸fÍšàà`¥½Ejzˆ°ñj‘Ÿi¼ÙNÞÉ~z’dê[­L¦NsÊнž3¼¿û^ 0«Ð0¨–HC¿füÇ£³6ò›³ef{?G» µ_¸e¬óó5 .Ä*ª¦W#däïÕ==ª¶ú?æÅ…G ù@€-¼‰]¨H©‹ÆQ{`Kõ‘â¹\:&©§ú¤S$>=zϤͬ]á·.íìgtdL·ER¸»»Um½,¾Åâ3OžElêkz¨·_àÒÔŒ‹½q,ºüïKGDž[ß6iKÿÞ›^²@.ªÛv«aŸMÏŸ˜æ~n`óa'c²WUþ|u ßn»ô{l¸üìéùemRÖuðí´ýmjÊE’îï½ã0`í±SûÂzºêf[WzoNÃügÕcøƒ§Ö‡¶tʸ­eʃ9ÏOh½ìÜ“gáË<™ÔªÇŽ·Œ÷ÌûOWùÒ’ÎÇ>&$$$Ü›ä!¢Æ®ACí<qv÷Ÿ¨ÅÁ=¶½És¦`P3ìÞÝ¿ê ¡Úš;/^¼x9·ª¾Úôõõ‡ –ÞDÓô°aÃôõ•¬ÄóªkW{b¤ g /M‚ÈH7K+Ð3у¤/‰€ÇàõûÊ®ò$åÕåǬcˆ¿uÚá‰Ê7ªg5ûtäû”ˬE…†¦zt¼œ'ùùî•ëç#* r%ŒqÔ ÇÒ!×8ÊY9O²„R&S~%Jéòô…DÎJ¿FȈ®  âðкK:œ½ûuœã÷MÓö˃¶ýhAØö_µéá¥& GôXZEƪLààÁ|õÀiäðekCÏ<Šï]Fïý’ÚïYú‡¿1´ŸÆgéNg¿$‚¹aÁ¹«þK­šûÍåcJ çÌÑ’¢Dºê†cµƱtÈ%Ž4MH–„c¬¡abbBbb‚aΈ** MõhNÎñ?ž]xî­ª™¦…4ðlVU÷säý6Û&hS}š“³RéÈIBRÞEÜIÔj줛1(2­¸ôå…Èøgz8›)ön×roû6N®l,¦üÓÅUÃ:5ýŸ¯{9¯Q÷€•Ê•œL¯rÖJU-!GѤ¤¤°°0ŽK= Ç………%%%e[Qýý­°ñj õ7¿ §¿S`^¹†u≠¯Rêz¤ÕŽ$Ü?ûÊõvÈ~M!†á8.}@ON<Ï«ÊÁE5œè'Â? w)+HyyæÂ'ƒJÕìDðÓG`ðÑ^ZDõ¨vŒ£6Á8–ªãH 9ïŸù¥‘‘qBB¼bIBB¼¡¡QBB¼Ò„@z›¾ÓŒœŽdÚ BbFSúF뤾Kae,Ø>x8Ä9ý¥kfIe®Ï“,«§ýDg[¢ìðyVÆ>ÓdÞ9&í¶žV9}¾:¥cbŤnŒðéýq{F“À•¡W.¬é NÚä1J±s’ZÁôŒ3½zéç%ý¼e=†ì2¿‘’’²sçΨ¨‡aaK`È¡÷îÝíÚµ«žž^öUTbÃÆ«M ïÿ…ômC¯RpÛ—þšÖgžüð¯9§¹ê¿”)H'EQMËUôhÊd²ø¸85÷ÝX…v2Û}ÒÞÈè÷ϯnÓ}ÎS÷A£j«Z•N¼šÏ<¤=0Ž¥C.qÌÑÇ–þ³‘‘q||\æwãã㌌Œ•&™(’‘z"*W³<<<ñ-­¯2ñþÑ›Éeü*™ÐÊ7A!Œ]e{x}&2ÅÜ6™nÖéã´‰[eKéÍï&¤.àb®yÎþŽºÊª—cåí$нtâÉ,G£Øyoúû•ðI¦[è !„¢R“UB!Òè#û_”¼xTS7k‰¾ˆN?£@34Ÿô-‰Íyj 5M{GÀÐÀ¥dÜ$ ÛùÌrb±øàÁƒwïÞõòòöôôº{÷îÁƒÅbqÎu±ñ–…ÇÂzƃ®Ï˜½·îÜH>zxÇêÆ¯ÿ[;{í“j³/u±€ôÁ²A.Û _5õ’¼^ë®TÉkîìéŠGîêêêfîÙÔÑÑ¥iªV­Ú*W¦M/=¿ÏaÔ” -—¿—™:Um±èÜŒî^z€-à×"K‘îÀT,0Ž¥ƒú8’½OE‘ñˆÅ’¸¸X’£»%..ÖØX›¹0déÒËèïBã<²ñ¢þ!=ç gvöd¢Ïé¿>¶öüžºDå:DhßnxÀÜ?¦üÖC>­㊒ä7Å»·kïmœù@t½úªò÷¤žý]VkáÌÝß91ä°åßÊ asô,f%ñÞզْΘÍܸ‚Þ·È}‘ß M!„2o<²³eÛ•í;éÌÖÂÛ’ÿ0ê³m³Nµ,RËôþN¸¬µ zתƒ­B«%Gl™5)’€-!„ˆÊû{ö-™³Ý¥—Ηg¶}G # ±÷À ©µµo]OÐÂÍš_µu÷·ºúÉ‚r^ÎÆÙú¥²Õ_"‘-ZûaKŒcé@SÏóÙnÌ,‘˜|ÿ£>wùþ=F"1Ì)ŽYÛã1m3–è×^ûê+¤¾•o5mo«i™·@¡ã+߆d¬cÜì߯Ò_ê–o6~{³ñ}­,(C®‹t]œ£ŒÀ¾_ø÷~ÊVI'´ª?zkýÑ f¬®S¦Þ° õ†eÛ9Xtøïk‡ÌeìZÍ>Öjvz™Ai»9/;¼,c퉘ªc¿›¾EËÀ9§žÏQy„Jë/‘HÔšúØaãý5fÞù‹ÐѱꕄJ uëGíq,ÔÅQ ò—³„‰‰i·Nx¼#OÑ*ÈV›wbãÕ…9Ì óNTjéêêâ€ÞRãX:äG’¥{ìÛ×/ùÚ>^Ò-j8ÃB¡°çA£âR¸˜w¢Ò,%%ß7:F%ƱtPG¢z$* \.…´B!~cÞ‰B¨øì³,Ù0:¨P`Þ‰J-ŽãhºàËB%ƱtÈ5Žq±±ŠI*¨¤qqu‹ùöµ+«¹Ó6Ò…û!ŒygþP%‰âãs/ŠŠÛ³§OÊØX+ýŽŽqÔ"ÇÒA]t&9ù‡X,Ö|ÅPÑùòù‹Db’í6 ØxµˆšÆ[˜wæH¤ëééuæÌi KKç .?ÿMŽeYUeÒ0ŽçKÊ(:B’““rññq{wïjõ[–U2_㨠ÇŸðKÅ‘aGG§ˆ«WkÕ¬mfnNÑ…6yV.——Ì«Ã,Ëò%r>Çq|aÜÛˆÅÊe×#®zzy)}&6^M(úÆ[˜wæž¾ž§—·‘±ñÑ}øð‘çó×>E"ÝBüHUJ‡ ¹„•ÀOMM … Ãä^î'Ð%ÒýÌ( [ýö[ÅŠ•¶Œ#`1ŽyVÔqdttì8ž¿yóF\\\Á2ÑOÕ0_hŠÊã9'¨ŸžLцÑÜkZ  cw„xz{[ZY)yD56^(·0ïÌ7Š¢*¸¸º¹{”´÷•̯õňeY5íã¨-0Ž¥ƒú8êéëWp©`kk˲%´‡2]IûM+±(Šbtt ÔÀÆ«Ô7Þü¼³ X¹\Ý#:‘–À8–ÇÒatÄ%dQ)†÷¤d´/B!„B…óN„B!¤ ˜w"„B!MÀ¼!„Biæ!„BHp>{þ’,•¦HSò{¿1¤I´@ Òéê驼AÆQ`K‡Üã “ÉX9KHI¼›:*Ц¡PÈè`ãÕjyi¼ù‚yg>’ÿ":úÚÕ+?~ÂÖR2Ñ´ÀÚÚªF𕼼”µŒ£6À8–¹Ç@šœüîý»û÷îÅ|û¦áê¡¢@Ó´X,vsw··wÐÓ×WR¯6ÈKãÍ/Ì;ó'Y*}þâÅÙ3§›5·+kŸ÷G{‘’÷H4BH ¼;n¡<;Žã¸·o^Ÿ>}ÒÀÈÈŵbÎûÃa‹Æ1¿~å8Êå²wïÞݸ~­A£Æeí ça9¨X±,û*:úìÙÓ<Ï;W¨À0ÙïÌŠ·¨i¦ñ6ïüI‘J¯G\ lÚ̯Zõâ® RÇÞÁÁÄÔôâ…sî•r6Œ£¶À8–êã(—Éïß»× Q£òŽNÅR=Tè„B¡S… pëæ [[[Fœ=ïÄÆ«-Ô7ÞÀyEùÃóüÇŸÊ”±)ÜILLd²¥ßB1ŽZãX:¨‰#!$6ö»½CyW -c‰˜ç ˲9ßÂÆ«EÔ4ÞÀ¼3ßxž£iNi#Œcé€q,p.Q)¦*]ÁÆûk*¡M=ùÇäädõe(Š’HL(ZÓÝ EËd2 ï:Œcé€q,(ŠbY6ó¥öü^vç8¼–ÁÆûk*¡y§T*½{çöåË᪠‚5j5iÚ,EšKzZðbV )šcÕM¾Ã8jŒcék·£É¶Hé””l}¥økPÔ r†)ŠãÕE£¦òÐxó¡„æ„ˆˆ+SgÌÖÑ)-°Ê‹ÂË;“ïÌlÙvüqyí^-­zcTžʲ\a=-4ï(ŠÒÑa4½WTØ0Ž¥Ʊ” (5£9U¥ž¥2é̳ø³ƒÚμá2z﵇‘ÿ­XIïç·ø_+†‡âòZ^‘tÆÆÆÆÆÆ õÄÆûË*¼¼SÏgò…è··ö/êW˼0îÂ&©ììŽSû‰Ã~_Ú§—ƒ‰ØÜÁ' ßêk1ùº»‰MÕS†·©éj%–ÛùuYŸŸ“Qx¿±RãX:`KŠ¢HVöøABˆ\. …™ß …r¹\iáR ·âß¿K–íTÙÙÑÕÍÞ ûéËã^Ô/ÈRŸ,o)’Noo﨨¨¨¨(oooEê™}EµÃ7±ñþš 1ê´ž¹‰HydÒ…^eŶÊG~§¾Ë3—›Í’¸ £ëÍxê7qOäƒ+Û‡W¸1¶IÃi‘?o&=;þ@ÒjÊæS—Omémx|Bß°‡)ù¨XÞ‹¢âƱ*‡¤`µƱtPÇ\Éår†IícF®úy}äËŽº&î}LJ4÷)kÌ0Œ™GûÅ×ãRÿø¤¼:2¥MUG†1´­Ôxðæû <€üÙ‚Ê5‡ŽëÝØÝÚ€at­}{m|”>gUööèÄ–>e ÆÄ±Nßu7ã”ý%#IÿÙÔ»¬1È*·üsÿ‹dEΞ\æ+©=zϤͬ]á·.íìgtdL·ER¸»»Um½,¾Åâ3OžElêkz¨·_àÒÔŒ‹½q,ºüïKGDž[ß6iKÿÞ›^²@.ªÛv«aŸMÏŸ˜æ~n`óa'c²WUþ|u ßn»ô{l¸üìéùemRÖuðí´ýmjÊE’îï½ã0`í±SûÂzºêf[WzoNÃügÕcøƒ§Ö‡¶tʸ­eʃ9ÏOh½ìÜ“gáË<™ÔªÇŽ·Œ÷ÌûOWùÒ’ÎÇ>&$$$Ü›ä!¢Æ®ACí<qv÷Ÿ¨ÅÁ=¶½És¦`P3ìÞÝ¿ê ¡Úš;/^¼x9·ª¾Úôõõ‡ –ÞDÓô°aÃôõ•¬ÄóªkW{b¤43P×cðúýƒ5²+Hyuù1ëâovx¢òêYÍ>ù>%À2kQ¡¡©/çI~¾{åúùˆJ‚\G cµƱtÈ5ŽrVΓ,¡”É”_‰Rº<}!‘³„Ò¯2¢kC¨8<´î’gï~çø}Ó´ýò m‡ZжýWmzx©É‚Å=–V‘q„*8xp_=p9|ÙÚÐ3â{—Ñ{¿{⦤ö{–þáo í'OÙ°¹ÿòðyõ3í<ùÆ’ÙÅ=¯ ñ7ëÑWÝòž¹1ªU¨+-c ˆë ÚÉß@YýÎÏZx×~äåU¼õÀÁ¬¾‹áì[¬,E&cãNM]ý¿eG†7± lBg´Xßjåñ7íº[+®QS4MѼ<…׭ئGEÅ+Uœ>rëþé§Çu±–àYyŠâF™29G€pò™œ%@8¹LQÊÐÌÒTW@³KK+c ò'YU8Ôç–¬`ãÕ y™r“w%zt…ú/µjî7K”))œ3G JôICéDºê†cµƱtÈ%Ž4MH–„c¬¡abbBbb‚aΈ** MõhNÎñ?ž]xî­ª™¦…4ðlVU÷säý6Û&hS}š“³RéÈIBRÞEÜIÔj줛1(2­¸ôå…Èøgz8›)ön×roû6N®l,¦üÓÅUÃ:5ýŸ¯{9¯Q÷€•Ê•œL¯rÖJU-!GѤ¤¤°°0ŽK= Ç………%%%e[Qýý­°ñj õ7¿Jî=φá8.}@ON<Ï«ÊÁE5œè'Â? w)+HyyæÂ'ƒJÕìDðÓG`ðÑ^ZDõ¨vŒ£6Á8–ªãH 9ïŸù¥‘‘qBB¼bIBB¼¡¡QBB¼Ò„@z›¾ÓŒœŽdÚ BbFSúF뤾Kae,Ø>x8Ä9ý¥kfIe®Ï“,«§ýDg[¢ìðyVÆ>ÓdÞ9&í¶žV9}¾:¥cbŤnŒðéýq{F“À•¡W.¬é NÚä1J±s’ZÁôŒ3½zéç%ý¼e=†ì2¿‘’’²sçΨ¨‡aaK`È¡÷îÝíÚµ«žž^öUTbÃÆ«M ïÿ%ôÛEQMËUôhÊd²ø¸85÷ÝX…v2Û}ÒÞÈè÷ϯnÓ}ÎS÷A£j«Z•N¼šÏ<¤=0Ž¥C.qÌÑÇ–þ³‘‘q||\æwãã㌌Œ•&™(’‘z"*W³<<<ñ-­¯2ñþÑ›Éeü*™ÐÊ7A!Œ]e{x}&2ÅÜ6™nÖéã´‰[eKéÍï&¤.àb®yÎþŽºÊª—cåí$нtâÉ,G£Øyoúû•ðI¦[è !„¢R“UB!Òè#û_”¼xTS7k‰¾ˆN?£@34Ÿô-‰Íyj 5M{GÀÐÀ¥dÜ$ ÛùÌrb±øàÁƒwïÞõòòöôôºûöÎ<.ªêýãçÞ™;3l3w@YD!A sÉ%5 E%üYY–š+¦…•š™ -nØ7³MÓÒ¯™–¦¥¸D*&ZàRnäÏÜRa`Àaæ.ç÷Çà0 3w–¹>ï0÷žíÞÏÓô~ÿå¶™KƒFÍL|w‚á㘅“"iÝÕ3–EJSš_ˆ"vÒÔG¾œÿü¤ˆ5o ãNo™7y§tØ—cB¤³µzkB÷™9¶Mòʧ&ø¼7-!ÜínþöüLbŒ1&Z%ÌzÊwäG©cdKÒ‡Æùò×Ïý70yL¯ÖUŽ¥©¿S¢jç/)úfMvJFw]ÞÆ%óó1 ÄcyHŸhÉö•™›"^Œ•Ý>“³q÷5L!ŒåES¥yÛ¾û©Òß¿K¿µDÚº£?¿æ«­G;ös×IŠ SZôKY´Ÿ¦éììïRRžDegGÓtí Ä3 kãÂW‰açù¸ä§I}^<^õéß"„"ß>•;£=ÅÝ=µwÿî©úºÎÞQ©èAÉC%©*ÛÆ·–•µ‰Ÿ³)~Žåa¢UêÏšÔêÏ}~6Zhf0²“ÅÓ´Z£)±õ Ñ”¨T´FS‚j޳#óÆêÏ’6ÿÙ«X<;szü’‘o‡ž#?ÿeÞð‡¤3ø~î³ãûEHR×v_öfæºÃ—+üã;ÿ$q ¯L>%û =ïµU/ôy½˜jÓo–ÜWýH‹NF«WáÕ{iÎvßYo}ôbü<½:"~x·HÏcí=`ùÁías­{}ôJ Ù*4úá„ £1&0"̃ È€Ô?-|iÎ˽¿¤»˜8{ä™LcŒ%mÇ|˜ubüüÉHïö&¥$v£bŒ±gÏÙ3ºzwòØŸeî|¬MÊ"^X2qß”Œ¤îîAýgÿoszG‹‰÷µÛOÓôwßí0þcõêÀãjã<¿“h=úgÍhëç<ú~qµì G # ݽ{Ni—Ó!ÄÁnÑ®è(@Gq@Ïó 3Ó´º¤¤XØw)))¦i52wq|Fî)Y}Ľ÷'Wî ªÏò”…ÛRš—€1FÒÐéGïN¯Î£LþáÎ ÓGEHò››’ßD–¹j@xF]±kìŠZi$AsK&ZËbBê×ÿÕ¯ú¿Z}`YuvYÀãéŸ?žnQ9j=zïÑæ…RmS–þ˜²Ô”fêý*åai«¥­®Î=!„0¢ºÎÙó÷S‰I|“2÷]Ê´y…VÛOÓ´À¥ kÆû`ÒrçµXd29+¼UÐRê\]ÐQé(‘JyŽ«B­ö®c阇y—úÜaA¿Œ×upf˜ø€hQ(Ð+@Gq`_G\£{ìîÛ•CºM=î°T*uâ„Áït ‚ är¹¶¬Ì~R ¹¹xá|@«ïè £ :Š!’Q”NwO¥R5}ÀÆãö¿·iZm±L0^BÀxëøŽ!—+bbbsrö·öõ hø›˲¶¶ejb8žo)Qtëtº–QVVºmë7)ÃG°¬•ù’ cS:6€JGŠ¢BCÛç;Ö«goŸV­Òi“g†i™£Ã,Ëò-r>Çq¼3Ö6ˆ`ÃoyÇbbc­î‡ ÆÛ4¾ñÖð;ÃÍÝ-&6ÎK©ÜýÃÎ7nò¼cö)—+œøHµŠŒ’J$vdŨASÓ¤R)EQöÓ5’ änò†”@ 2eøðÈÈH«ö:"Ðt¬3­#%“s<òä‰ÒÒÒú9d2yƒZè$AÔñžcŒˆO&H E5Ý5)‘H¥Î¨㘸8_??//+[Tƒñ"Qo=¿Óa‚èÐ1*º¥mÜ×2_ë›–eìtt@Gq ¬£›»{xDx`` ˶ÐJ-í›Öb!‚’É<=½€ñºÂÆë(àwÖ–a„¶è\ÐQ€Žâ€¢d*ÚÊ€, bÀx@¬Dû€Ó¿h Àïšð;€¦üN )€ù쎃±®²R_©wt½1 )!%¹L®ps³¹@èè €ŽâÀ¾Ž –a1n‰«©õ€ IJ*•R20^—¦.Æëàw:ÆZmÙ墢ãÇŽÞ¼y ¬¥eB’¿=zvŠCÈš­€Ž®è(ìëˆP¥NwíúµÓ……Åwï6q󀯀$I•JÕ1**((ØÍÝÝJ 0^W .Æë(àw:†®²òÒåËrö<¤m» ºoí…[Þ–hã¸:®SöŽã8ÿ·ÿÏ^^"k¯:66 ££<È:2ŒáÚµk'~;> >¡]P°s6Ëš–e¯8°Ÿçù°ðpв\™Œ·±iã­`ÞŽ¡¯¬ü-ïXÒ änÝmî¶B«½½9|0*ºSmS]ÐQëȘӅ…âãCBÛ7Kó§#•JÛ‡‡#„N<H©,ýN0^WAØxëÌ+r žçoÞ¼Ц¹؇V« ½Õ·PÐÑ…Å€Žc¦$(8¤É4.JZÅó˜eÙÚ§Àx]ã­àw: Ïs$ ÷Í5à8l+ tt!@Gq ¨#_÷‘V ‰9’{¨~ƒ¶$A ŒAƒñºÆë(0Έg٠м€Žâ@PÇ$˜¨‡:Æ, ªHpÒC^5F&³ŒS\ÐQ€Žâæ‰[î ïƒI 5uݽ{:N8 A4­&Ȧî!Ò`04q¥€ÓÅè(‚`YÖ|¨ÝÑawŽƒ…x\ 0Þ“êwVVVüñû‘#¹¶H$’=z ”¬¯´ãž60äɱB“ï@G—tvu4.GcqÈê” Œ}¥ð5hlês‡ ‚ã…Õ\‚:¯´P¿cœ—wôíEKe2¹ÕZ­öìå%7qÃB.—³Ðâú€Žâ :²,+•J…]Oc¦o.Š‹‹BÞÞÞVÏRÅsàYº<Î};-¾“¹sêÛ÷'éÕÖ‡VzwêÿâÊC7ÒÎqœ-§!DQL37Â>¥]¯Ô©øõE?ªsV‘ëboí{kp´ŸB*¥ƒ{¿v¬ÂÁZðíÍ}ä­ž;\^ïv"„Š‹‹Þ'Ô§ùúó[7E]Ÿ~ã¿ßîÊþbNî‡ùÞÈ8¬©ß›Q‡}@Y–sÖn¡u‡ ™ŒjêZg:ŠÐQ$„@4§-×S”Ng);0uäâ¯n;~.ï§S:¹5¼Ä½)²'v–Ö5½ÑéÔh4¦®'ï‹ÓüNÏ^K²·´`ÚØ”þ½û?ùrÖ÷ÿ{Úçúר÷Ë”\n³³!$“É8Nð‰Ãþ›»êűÁjU«à‡'~|¼˜C!|gëÀ6]§,˜9¢g?­lÛíéÕùeŽ,LFÀzc¢t £8 ×Ýß~cÌ0ŒT*5?+•J†±šX dòë×ttÒŒ‰ƒ;‡…vèäayûêX‹ðí©qÊètÆÅÅ={öìÙ³qqqF×Ó2£`ø&ïƒIc©NȽ[»#uZŠB‡_h§TÅoºå€'Üåig±Y\zøÕÇ/ºÐmÞ·ùgŽnš~bÎÀ'æß3ž¬¸¸ç ²`þ#û6Ž÷Ü3÷¥¬szV÷¤@sñ6CR@Gt:Ú…aŠªê£(б½_¾½¹Ÿ:ê¥7'y¸’¢(ŸèÔ¿•Výøè¯ìZ0¢k¨š¢<;%LÛpZË#„sñƒÎ­{Îxc|B”¿E)ü»¼°îOÓœUÃ?»ç {¸'E©C{éÓ“¥Ö~ÉpÅ_ÿ›5(®’¢TÁ‡½¾ã²Îès±¯îBwNŸ?®g'EùŽú±v"§9µnÊ‘~n”Ü7¢ßÔ]wͼ5îNîûcº‡Ð¥l×5mÙáÛ,ªü=#ïâ_?-Œ:8eHúÏÅ–Me.}<´Ë3߸ûüÈÅ ‡VÐ:ºË˜MÿT¹\¸âô¶?‚_þäÇ}Û³žï °È[Y˜ùD {ý&­Ë=sfßgÃÚW/k©?“Ÿð¾öÉÕÏ_Ì]=àüü”q›ÿ¡âŸ¾°¦ I?õãM­V«-œ-'$ʃg,ßr0/ïÀÖ¹Ÿ]‘6îë«uöý#<—žb zƒ-Ý÷öò¢¾«wÍØšD¨MÆ¢¡Ÿ¥|´çê¨gýcÔI$B<£ç‘#ÆEKìùά¯v¼³ÿ¯Ò§}Ë#ijŒÞ¸P¦á0£70,F˜c ÆÆž>¾Þ ÉÒ¾¾~J„fjÝd[rÀØsVÀx]‚ºL¹©;NîïäKrß4hqɳ;r¿x&Ìò­ÎQ„_jÖ›ÅÖcJœsçH „¤¸r…Pˆ0èè*€ŽâÀŽŽ$‰qBT+ÖÐÃó¼\[^®õðð¬€h3PQâéíFr Çß»xøŠJéî}?Ò#&¹«âßüÓŬE¤‡·;É1,±îbNîîæ¡A4­¦iµ:l\.WyçV9g^W\xü†¢Ë8ª„ºûÐ(T”{IWi5rcýµ¼?´t¯„öŠê ÈûÉ+ÿ>œ_v/g\˜±ö¶Ã¶iyÍ?¥ŒµXLæÖ/kÒÇ êÛ%ê¡6±³ [ÉX¹fŸj·ÊV+Q­¤YYYWu8ŽËÊʪ¨¨°È(¼¾¯« l¼ŽâÔþNÃåÏÆŽZ#™¾sçÜ^tC¿OEqg è© Ïó¶|pypöäæŸroÍŒh'E!ýß9‡oytêÞV޼9[{¹¶£ÚAGWt¶u$%’ÚëÆ›ôòRjµeÆ#Zm™§§—V[f51ÆÈäÁš*­öé°Y5ag4™ 1æ©:‹1f , š–ýýä0Ó¡ðñ%ÌÇó¸Föûÿ‘G¬]>ÏX„0ovæ•sH=êëý ;›æ«2µUUæM…Þû}ÑÀ¤Zg¬ûhYÏ`UÅöÁѳ•㪚Nª;vö­<ùC¶êWüÛ®s(¬O¨ÂZój@ùŵ—k~ýéü½Wc¬< .˜,9š[L›UÞÚ]‚1ÆQå¬bŒ1®,ÚµãrÈ´³uô§Ýå¤éŽ"’"ùŠ»lí[ƒªüÑûg$‰8}õ"÷³Æ%¨Tªììì‚‚‚ØØ¸˜˜Ø‚‚‚ììl•JU;/¯8p¢ŽÎëïÔæ-?OÖwe›ë¿Ÿ¸^uŒt ˆŒ t'*Ϭž:÷H›™kÞîK×u¬»S§Øw—¾cÜrW¡P˜÷lÊd ’$zõêm33é°êÐöàÙ æûðºÁ»}סË.z6Ö Óô~ÿå¶™KƒFÍL|w‚á㘅“"iÝÕ3–EJSš_ˆ"vÒÔG¾œÿü¤ˆ5o ãNo™7y§tØ—cB¤³µzkB÷™9¶Mòʧ&ø¼7-!ÜínþöüLbŒ1&Z%ÌzÊwäG©cdKÒ‡Æùò×Ïý70yL¯ÖUŽ¥©¿S¢jç/)úfMvJFw]ÞÆ%óó1 ÏÚ7‡ IDATÄcyHŸhÉö•™›"^Œ•Ý>“³q÷5L!ŒåES¥yÛ¾û©Òß¿K¿µDÚº£?¿æ«­G;ös×IŠ SZt Y´Ÿ¦éììïRRžDegGÓtí Ä3 kãÂW‰a§ùº³[¼ƒÊv§'ï6;ÚfÒ¡“™Ý¸»§öîßÝ!U_×Ù;*=(yÈ ä!ƶ¾µ¬@¨¬MüœMñs,­RÖ¤Vöxìó«°Ñ@3ƒ‘å˜,Ƙ¦ÕM‰­Ÿ¦D¥¢5šTsœ™‡0V–´ùφ\ÅâÙ™Óã—ü‹|;ôùù/ó†?$ŘÁ÷pœß/Bºþ°û²73×Ͷ¸\áÝyèü'yŒkxe²ð)Ùéy¯­z¡ÏëÅT›˜~¶ä¾’èGZt2Z½ ¯ÞKs¶ûÎzë£ãçéÕñûEzk'èËn›»hÝë£WjÈV¡Ñ'ÌH1aL@¤~üiáKs^îý%ØmÄÄÙ#Ïd2c,i;æÃ¬ãçÏHÞ@z·4)%±}cŒ={ΞÑ}Ô»“Çþ<(sçchRñÂ’‰û¦d$uwê?û›Ó;ZLѨÝ~š¦¿ûn‡ñ«W'P§ùn®ºTºÊÆI¾_\-ûÂÒ’ÐÝ»çŒv9‚@ìíú€Žât$AðË– ¨8ð;ÑÂqIÚ\äp@Gq`WÇRÆ8IhiDtèX|÷N=2bÌ ¬´ ¸ Î}ƒßéAÈårmY™ý¤@ssñÂù€6þVßÑAGtB:"$£(îžJ¥jú†ÇíoÓ´Úb™#`¼.„€ñÖð;C.WÄÄÄæäìoíëÑð79–emmËÔÄp<ßR¢è0Öét ,£¬¬tÛÖoR†`Y+ó%AǦtl”ŽE…†¶Ï;v¬WÏÞ>­Z¤Ó&Ï2 Ó2G‡Y–å[ä|Žãxg¬m„Á2†ßòŽÅÄÆZÝŒ·)h|ã­àw:†›»[Llœ—R¹û‡7nÜäyÇìS.W8ñ‘j%•HìÈŠQƒ¦¦I¥RŠ¢ì§k$AÈÝä )@dÊðá‘‘‘VítD #èXg[GJ& æxþäÉ¥¥¥õsÈdòµÐ!H‚¨ã=Ç žLŠjºkR"‘JQÆ1qq¾~~^^V¶¨ãE¢0Þz~§ÃÑ¡cTtKÛ¸¯e¾Ö7#,Ë Ø èè*€Žâ@XG7w÷ðˆðÀÀ@–m¡=”&ZÚ7­ÅB%“yzz $ãu „×QÀï¬,ÃmÑ ¸ £8ÅEÉT´•Y@Ä€ñ>€X‰ö§~'Ð€ß 4àwMø@SóÙc]e¥¾Rïèzc@SBJ$r™\áæfsÐÑÅ}2 ,ÃbÜWSêA’”T*¥d`¼.M]Œ×!ÀïtŒµÚ²ËEEǽyóXKË„$%þþ~=zôì‡5[]ÐQØ×¡JîÚõk§ ‹ïÞmâæI’*•ªcTTPP°›»»•`¼®@]Œ×QÀït ]eå¥Ë—äì4xHÛvAußÚ ·¼-Ñ0Æ-pu\§ìÇqÜ?WÿoÿþŸ=¼¼":DÖ^tll@GGyudõk×Nüv|@|B» `çl–4+,Ë^)*:p`?Ïóaááe¹2+ocÓ4Æ[À¼C_Yù[Þ±¤AÉݺ?ÚÜm„ V{{ÿrø`Tt§Ú¦:º  £8Ö‘10§ ÄLJ„¶o–æNG*•¶G:y"00RYú`¼®‚°ñÖ˜Wä<Ïß¼y+  Ms7°­V z«o¡ £ :Š1ÆMIPpH“7 h\”´Šç1˲µOñºÆ[ÀïtžçHî›kÀqØV@ èèB€Žâ@PG¾î#­@s$÷PýmI‚ƒãu!Œ×Q`œ;β yÅ Ž-0H0QuŒY@T‘इ0¼j8ŒLf§¸" £8ÅÌ%1¶Ü0Þ“jêº{÷t:p‚ hZMMÝ B¤Á`hâJ§:ŠÐQÁ²¬ùP»£Ãî ñ¸`¼&-Ôשּׁ¬,øã÷#Grm%H$=zô8(Y_iÇ=m `0È% ’c…&ߎ.è(ìêh\ŽÆâÕ))ûJákÐØÔçÇ )ª¹u0^h¡~'Æ8/ïèÛ‹–Êdr« ´Zí‡YËJnâ†.„\.g¡ ÄõÅA=tdYV*• »žÆ0Lß\#„¼½½­ž¥(ŠçÀ³tyœûvZ|'sëÈsÇö‹ ñQÑʀȾÏ.ùþJeC ä8ΖӉ¢( ¦ˆaŸÒ®WêŠTüú¢Õ9«ÈÎu±·ö½58ÚO!•ÒÁ½_;Vá`-øöæ>òVÏ.¯w;BÅÅʼn‰‰‰‰‰Fïê‚óæé¯\U>öüüO6­Ïz-Åçø{OÌÈÕÖ³0¢û€²,ç¬ÝBëA2ÕÔµÎt £H hN[®§(Î:Sv`êÈÅ'"^Ývü\þÞO§trkx‰{S$?9¼cQØ~?_Æ=æUÏ%Ùär›!™LÆq‚OößÜÿ¾1ÿóŸO]©P†tIšôÎÒ—º{K¾³51öÝð }nìÝýëÙ[:¯ð¡¯™ÒEYgœ€õÆDè(@Gq@Dí…M†‘J¥ŒÙ^)E1 cž^4‘‚÷/DpëE¾üú54câàΞ5³9V‹Ù=¯uÀVÃB¨¤¤$111..nÍš5¡—_~911qïÞ½jµÚ"@ÀxLœ®:§+¹~6çãŒù‡‰“úΊÃ/´Sªâ7Ýr`áYá.O;‹ÍâÒï>>xÑ…nó¾Í?stÓÌðs>±0ÿžñdÅÅ=gè”öÙ·q¼çž¹/eÓ;аº'š޵’:º £8ÐÑ. ÃPTU÷˜Ñé´•ßÞÜOõÒ›“‡<ÜNIQ”OtêŠßJ«~|ôWv-Ñ5TMQž¦m8­åBˆ¹øAçÖ=g¼1>!Ê߃¢þ]^X÷§iΪáŸÝó†=ÜΓ¢Ô¡½ôéÉRk¿d¸â¯ÿÍ×NIQªàÎÃ^ßqYgô¹Ø¿Ww¡;§Ï×3È“¢|GýX»G‘ÓœZ7å‰H?7JîÑoê®»fÞw'÷ý1ÝChŠR¶ëš¶ìðmUþž4þ8¯Ù¯¦(ŠŠ˜ZÏ—üòö“Ñ2Š¢dÞI¯í¸b@!í¾T•¼ÿ¶û}‘º“³CdÞ=o1‹¼üàXŸ!»ôü¡‘­(Š¢&¸—Ëåiiik×®•J¥R©tíÚµiiiV{‹zˆÀx]ˆ†¯Nö;ËöŽ|(ªÇð9›ÊŸ\öÞˆ¶UÝ©ŸÎ‰O îÕVÞD_3þæî%nuËܸ8µ[hÛðÞÏ-Û8'ìÒÚkBn=&Ïz.ñјè®)¯dô¥.þSëÀ›"F¬ó&vŠR £ë:Ša¥xÎNÇ„Ñõv:àò » Õ#–|“{ê×-½v½öÌò3z„¸[Ÿéúä겡+rÎ_Ì[ÿ’÷ÎñÝ’VUù`œæÄE!Ï­ú>/ÿàg#+6N¿þo!„µ¿Îî7ò+Ï×ç]üë§…Q§ Iÿ¹Ø²©Ì¥‡vyæ÷qŸ¹xáÐêúOGw³éŸ*— WœÞöGðËŸü¸o{Öóy+ 3Ÿè1a¯ß¤u¹gÎìû,cXûêe-õg2ãÞ×>¹úàù‹¹«œŸŸ2nó?TÜâÓÖt!é§~¼©Õjµ…ó£å„DÙaðŒå[æåØ:÷á³+ÒÆ}}µÎž‚GϬ‚/úKQ÷µ\¾|ùrþ»]Ý3¸»»§§§›:€H’LOOww·’‰çm·Œ×up¢RNžèÙëƒ}»Î_ÌÿñÓeë_ìuGwôÏS)¢§}¶cšs«BåÈ_lèä>þ÷/Oÿ¸ßÒýù×õ‰¾5“J=½ÝÈ2†Ç޼{Ù}>-»Q £K:Š»:2,ÃãR ÖG¢¬7Ä ‹ ÷“_;À!93£ßÊÑ î¼Z²~áfð×_f$µ& œ´fý¹_~°"oܪG &’¦MÝÅ !Ô~ÖÌÕŸdäüY6>ÀíúÖyë+R¿]5¡!”úÖ‚Ï7Lú0÷½þIJ³Êu'V.ýEõüžO'÷ñDù¿ºnÍ©è´ÅëΦdt ,FªÇ§ÏÓÇÃZûµ‡–,+šudÍËqn¡`ŸþžKO±½ÁÀ–î{{yQßÕ»flM"Ô&cÑÐÏR>ÚsuÔ³þÆ1j‚$ !žÑóŠÈã"%vŠ|gÖW;ÞÙÿWéÓ¾ˆåâYFo\(ÓÀpaŽÑ#Ì1ccO_o…„di__?%B3µn²-9`ì9+`¼.A]¦ÜÔ'÷w’^!<–8zÆÊ¼ß˰ÿ½ÏÏ5dN»ðK­Àz³6âSœsçH „¤¸r…Pˆ0èè*€ŽâÀŽŽ$‰±1¸›=qM<<<Ë˵ååZO‹S‰‘ùg‰§·É1ïâáK(*¥»7q¿À˜ä®ŠóO³EÞî$ǰ<ƺ‹9º»›‡Ñ´š¦Õê°q¹\å[åœy}\qáñŠ.Câ<ªêîC£PQî%]u¼$¶ŽþZÞZºWB{…©õ¦öWþ}8¿ì^θ0cím‡mÓòšJ‹KÄcÌÜúeMú˜A}»D=Ô&vv!b++wÃìSíVÙj%ª•´¢¢"++‹ãªnÇqYYY…×·ãu„×QkÍ3yЀ¤öhUɽzGzSÅqœ) §6<ÏÛòÁåÁ=Ú“›ʽ53¢!„ôç¾åÑ©{[9jðælíåBØŽj] ÐQØÖ‘”HjϤ1ÿèå¥ÔjËŒG´Ú2OO/­¶ÌjbŒ‘Ƀ5UZíÓa³j0Â2Îh2bÌSucÌX4-ûûÉa¦#BáãK˜7Žç-§ÿ#-ŽX»|ž5°aÞìÌ+çzÔ×ûv6ÍW'dj?ªª0Ì› ½÷û¢IµÎX÷ѲžÁªŠíƒ£g+ÇU 4yœ¦æ™î‹é¾Õ¼KÌOèõú-[¶œ={.+kBhúô……cÇŽuss³ÌbÛ ãu%œ7o¯±Þ6tçwn¿ ëÔ7¤~N2AI26z4 CYi©ÀºÿÁc¼óæ<;[~ÑõKǾzíÙÌ QSg÷VÚʈ^à™¸ £8°£c­>6Óÿ^^ʲ²Ró³ee¥^^J«‰±™…«]/Œåõ Aç¾Ï»{¿¯²üô€nÔ¤õ"0ƘjÛ9ý_N¾¾U ‰6> Â<-&Õ;ûVžü¡@[u€+þm×9Ö'Ta­y5 üâÚË5¿þtþ^«1VL–Í-¦Í*oí.Ác‚¨rV1ÆWíÚq9dÚŠÙƒ:úÓîrÒtGI‘|ÅÝ ¶ö­AUþèý3ŠDœž±ÒÆÚú¨Tªììì‚‚‚ØØ¸˜˜Ø‚‚‚ììl•JU;/¯8p¢ŽÎêïÄš_–Îù¦â¡¨¨ÈvîšÓ»?Y¹õ|çù†ø‘!TyfõÔ¹GÚÌ\óv_º®cÝ:ž»ôã–» …¼gS&S$Ñ«Wo›™Iï„U‡¶Ï^0wØ‡× Þí»]~pѳ±n,àÁ gœ˜4  £8ÖcË>£Ç£RÑ¥¥\«»¥´T£TªJK5æ‰Q.½êþN„1¦BÓf%,Ÿ4ùù÷¤‹ŸŠ¡Š¾Ïœô™¦÷û/Ç(°Íòåüç'E¬ychwz˼É;¥Ã¾"Ř­Õ³XºÏ̱m’W>5Áç½i ánwó·ç—`cŒ1Ñ*aÖS¾#?J#[’>4Η¿~îì¿Éczµ®r,MýU;IÑ7k²S2ºëò6.™ŸQ ÆËCúDK¶¯ÌÜñb¬ìö™œ»¯a aŒ(/š*ÍÛöÝO•þþ]úŨ%ÒÖýù5_m=Ú±Ÿ»NòPl˜åê‚í§i:;û»””'BÙÙßÑ4]û1Æ ÃÚ¸pÀ•pâCØY~'WQÆWœùþ£ÍÿÕ02Ÿ¸Û¾yy@Ûªy{ÜÝS{÷ïë않”ˆ1Æž=gÏè>êÝÉc”¹ó±N4)‹xaÉÄ}S2’º»õŸý¿Íé-&Þ×n?MÓß}·ÃøÕ«¨³üNi`òÜÉsmœõèûÅÕ²/(Ž Ý½{Îh˜ó!ÄÁnÑ®è(@Gq@Ïó 3Ó´º¤¤XØw)))¦i52wq|Fî)Y}Ľ÷'Wî ªÏò”…ÛRš—€1FÒÐéGïN¯Î£LþáÎ ÓGEHò››’ßD–¹j@xF]±kìŠZi$AsK&ZËbBê×ÿÕ¯ú¿Z}`YuvYÀãéŸ?žnQ9j=zïÑæ…RmS–þ˜²Ô”fêý*åai«¥­®Î=!„0¢ºÎÙó÷S‰I|“2÷]Ê´y…VÛOÓ´À¥ kÆû`ÒXóŠDŒL&g…·JZ Bë £ë:Š!%R)ÏqµS¨ÕÞu,ó°"OãRŸ;,èw‚ñºÎ s¿- …zEè(ìëˆktݽsÛ¡òaH·±©Ç–J¥Nœ 4Î}ƒß ˆ½Þá…Žè(„uĶ# –@ýÔ±»¹à8ñ! ~'Ðü`è³lÙ€:€S¿-Ç‘¤ÍE^Wtvu,ÕhŒ“T€–FD‡ŽÅwïÔ##ƼÀJÛ€«à܇0øŽA„\.×–•ÙO 47/œhãoõtt!@Gq ¤#B2ŠÒéî©Tª¦oÐxÜþ÷6M«-–)0ÆëBo=¿Ó1ärELLlNÎþÖ¾¾aá “cYÖÖ¶LM Çó-%ŠcN×À2ÊÊJ·mý&eø–µ2_tl @Çð@éHQThhû¼cÇzõìíÓªA:mò,Ã0-st˜eY¾ENÀç8ŽwÆÚF,cø-ïXLl¬Õý0Áx›‚Æ7Þz~§c¸¹»ÅÄÆy)•»ØyãÆMžwÌ>år…©V‘QR‰Äެ5hjšT*¥(Ê~º@„Ü­~{¬VA 2eøðÈÈH«ö:"Ðt¬3­#%“s<òä‰ÒÒÒú9d2yƒZè$AÔñžcŒˆO&H E5Ý5)‘H¥Î¨㘸8_??//+[Tƒñ"Qo=¿Óa‚èÐ1*º¥mÜ×2_ë›–eìtt@Gq ¬£›»{xDx`` ˶ÐJ-í›Öb!‚’É<=½€ñºÂÆë(àwÖ–a„¶è\ÐQ€Žâ€¢d*ÚÊ€, bÀx@¬Dû€Ó¿h Àïšð;€¦üN )€ù쎃±®²R_©wt½1 )!%¹L®ps³¹@èè €ŽâÀ¾Ž –a1n‰«©õ€ IJ*•R20^—¦.Æëàw:ÆZmÙ墢ãÇŽÞ¼y ¬¥eB’¿=zvŠCÈš­€Ž®è(ìëˆP¥NwíúµÓ……Åwï6q󀯀$I•JÕ1**((ØÍÝÝJ 0^W .Æë(àw:†®²òÒåËrö<¤m» ºoí…[Þ–hã¸:®SöŽã8ÿ·ÿÏ^^"k¯:66 ££<È:2ŒáÚµk'~;> >¡]P°s6Ëš–e¯8°Ÿçù°ðpв\™Œ·±iã­`ÞŽ¡¯¬ü-ïXÒ änÝmî¶B«½½9|0*ºSmS]ÐQëȘӅ…âãCBÛ7Kó§#•JÛ‡‡#„N<H©,ýN0^WAØxëÌ+r žçoÞ¼Ц¹؇V« ½Õ·PÐÑ…Å€Žc¦$(8¤É4.JZÅó˜eÙÚ§Àx]ã­àw: Ïs$ ÷Í5à8l+ tt!@Gq ¨#_÷‘V ‰9’{¨~ƒ¶$A ŒAƒñºÆë(0Έg٠м€Žâ@PÇ$˜¨‡:Æ, ªHpÒC^5F&³ŒS\ÐQ€Žâæ‰[î ïƒI 5uݽ{:N8 A4­&Ȧî!Ò`04q¥€ÓÅè(‚`YÖ|¨ÝÑawŽƒ…x\ 0Þ“êwVVVüñû‘#¹¶H$’=z ”¬¯´ãž60äɱB“ï@G—tvu4.GcqÈê” Œ}¥ð5hlês‡ ‚ã…Õ\‚:¯´P¿cœ—wôíEKe2¹ÕZ­öìå%7qÃB.—³Ðâú€Žâ :²,+•J…]Oc¦o.Š‹‹BÞÞÞVÏRÅsàYº<Î};?¾—{5ŠVªüFïÓ6¤Žãl9!Š¢`š€¸ö)íz¥®Hů/úQ³Šì\{kß[ƒ£ýR)ÜûµcÖ‚ooî#oõÜáòz·!T\\œ˜˜˜˜˜hô> .8ÝïÔ¬œ¾®2Ò»aŸˆ:ìʲœ³v ­;AÈdTS× 8ÐQ€Ž" ¢9m¹ž¢t:ëLÙ©#ŸˆxuÛñsù{?ÒÉ­á%îMñ=±³´®éN§F£Ñh4õp=ÁxXœìwêÿútjVÙÓ«Òcüu’Ëmvv"„d2Ç >qØsW½8 6X­jüpâÄs!„ïlئë”3Gôìà§¢•m»=½:¿Ì‘…ÉXoL€ŽâtAàš ûÛbŒ†‘J¥æg¥R)Ã0V‹„ì]W~ýšŽNš1qpç°Ðƒ<,o_k>P£=5Nθ¸¸³gÏž={6..ÎèzZf ßã}0qªêÌ•¯_ÉügÈŠy}èš‘‡_h§TÅoºå€'Üåig±Y\zøÕÇ/ºÐmÞ·ùgŽnš~bÎÀ'æß3ž¬¸¸ç ²`þ#û6Ž÷Ü3÷¥¬szV÷¤@sñ6CR@Gt:Ú…aŠªêÏ (б½_¾½¹Ÿ:ê¥7'y¸’¢(ŸèÔ¿•Výøè¯ìZ0¢k¨š¢<;%LÛpZË#„sñƒÎ­{Îxc|B”¿E)ü»¼°îOÓœUÃ?»ç {¸'E©C{éÓ“¥Ö~ÉpÅ_ÿ›5(®’¢TÁ‡½¾ã²Îès±¯îBwNŸ?®g'EùŽú±v"§9µnÊ‘~n”Ü7¢ßÔ]wͼ5îNîûcº‡Ð¥l×5mÙáÛ,ªü=#>CvéùC#[QEL8"

ïâ_?-Œ:8eHúÏÅ–Me.}<´Ë3߸ûüÈÅ ‡VÐ:ºË˜MÿT¹\¸âô¶?‚_þäÇ}Û³žï °È[Y˜ùD {ý&­Ë=sfßgÃÚW/k©?“Ÿð¾öÉÕÏ_Ì]=àüü”q›ÿ¡âŸ¾°¦ I?õãM­V«-œ-'$ʃg,ßr0/ïÀÖ¹Ÿ]‘6îë«uöú+GþbC'÷ñ¿yòøÇý–îÏ¿®Oô­™TêéíF–1eõ¸é fXL¸÷˜üÊØž¡È™ýVŽ>PpçÐ’õ w0ƒ¿þ2#©5‰Pà¤5ëÏý:ðƒyãV=bà04mÚè.n¡ö³f®þ$#çϲñn×·Î[_‘úíª }”¡Ô·|¾aÒ‡¹ïõORšU®;±ré/ªç÷|:¹'BÈÿÕukNE§-^w6%£i`1R=>}Ƙ>ÖÚ¯=´dYAЬ#k^ŽsCûôð\zŠ5è ¶tßÛË‹ú®Þ5s`k¡6‹†~–òÑž«£žõ7ŽQ$IñŒžWDŽi,±Sä;³¾ÚñÎþ¿JŸöE,Ï2zãB™†ÃsŒÞÀ°aŽ1Cxúøz+$$Kûúú)B˜©u“mÉ!cÏYãu ê2å¦î8©¿—ýºhæÎ€WW=óã„…_jÖ›ÅÖcJœsçH „¤¸r…Pˆ0èè*€ŽâÀŽŽ$‰qBT+ÖÐÃó¼\[^®õðð¬€h3PQâéíFr Çß»xøŠJéî}?Ò#&¹«âßüÓŬE¤‡·;É1,±îbNîîæ¡A4­¦iµ:l\.WyçV9g^W\xü†¢Ë8ª„ºûÐ(T”{IWi5rcýµ¼?´t¯„öŠê ÈûÉ+ÿ>œ_v/g\˜±ö¶Ã¶iyÍ?¥ŒµXLæÖ/kÒÇ êÛ%ê¡6±³ [ÉX¹fŸj·ÊV+Q­¤YYYWu8ŽËÊʪ¨¨°È(¼¾¯« l¼ŽâœþN|ç§%ënèñÂî¾ «Žl§Dªÿì:ûécõ(“¢(ŽãL=µáyÞ–.îÑžÜüSî­™í¤!¤ÿ;çð-NÝÛÊQƒ7G `k/ÂvT;èèJ€ŽâÀ¶Ž¤DR{Ýxó^^J­¶ÌxD«-óôôÒjˬ&Æ™6«#L ãŒ&S!ƾ„yãx×È~ÿ?Ò∵ËçY‹æÍ.À¼r©G}½agÓ|uB¦ö£ª ü©Ð{¿/˜ôQëŒu-묪Ø>8z¶±r\Õ@“Çijžé¾˜î[Ík°Äü„^¯ß²eËٳ粲V!„¦OŸQXX0vìX777Ë,¶ƒØÀx] ç­ðï¿“P?ñá/µ¦(Žò#éCæQ™ß¿ß“nVŸå‚ H’1 ËP„Á`¨ÔéÖÝøÎóöÈ9ÏÎW}ðROúVNÖ´Ì Q³?ë­DèN=š¸*¼À3p@Gq`GÇZž™é£R©*++5?[VVêå¥,++­[8P¦þCùC=CЊïóîŽjœ„Pqz÷I]@J'5‰¯W;§ÆÄ÷K ÚvB;ròõóû=dÞçS£©¤ºcgßÊ~(ÐÆ÷òD!¾ø·]çPØ«¡ŠšýˆV®šò‹k/×üúÓù{½ãÜLuÝN* .˜üðhn1=¤»y÷ Æ<&ˆ*g#„¾h׎Ë!Ó¾š=¨£!^gj$AR$_q·‚Åj ªòi«Ãóf­’P$âôLüN•J•=lXJllÆØÇÇgçÎl•JU[A0^qàDß)U·QW,»©’Rò°˜‡ã¼BUžY=uî‘63׼ݗ®ëXw§N±ï.}Ǹå®B¡0ïÙ”É$IôêÕÛffÒ;aÕ¡íÁ³Ìöáuƒwû®C—\ôl¬ x°0èç¦Íè(„uÄØ²OÅèĨTti©¦¶7TZªQ*U¥¥óÄÕÿÔö!©Ð´Y Ë'M~þ=éâ§b¨¢ï3'}¦éýþË1 l3–š™øî„ÃÇ1 '%DÒº«gþ,‹•§4¿E줩|9ÿùIkÞÆÞ2oòNé°/Ç„H1fkõ,Ö„î3sl›ä•OMðyoZB¸ÛÝüíù%˜ÄcL´J˜õ”ïÈRÇÈ–¤ó察;ûo`ò˜^­«¨Mn£DÕÎ_Rô͚씌Kæçcˆ1Æò>Ñ’í+37E¼+»}&gãîk˜B#Ê‹¦Jó¶}÷S¥¿—~1j‰´uG~ÍW[vì箓<¦´·h?MÓÙÙߥ¤<‰ÊÎþަéÚˆ1fÖ¦' ¸N|7ÍÞbÜÝS{÷ïë않” £8ÅI<Ï[,ÌLÓê’’baߥ¤¤˜¦ÕÈÜÅñ¹§xdõ÷ÞŸ\¹ƒª>ËCRnKYh^ÆIC§½;½:2ù‡;7L!ÉonJ~Yæªá=vÅ®±+j¥‘MÌ-™h-‹ ©_ÿW¿êÿjõeÕÙe§þxºEå¨õè½wF›JµMYúcÊRSš©÷«”‡¥­>”¶º:÷<„ˆê:gÏßsL%b$ñMÊÜw)ÓæZm?MÓ—&¬ïƒIÓôwŠ ™LÎ o•´„:×AG×tB:J¤Ržãj§P«½ëX:æaEžÆ¥>wXÐïãuœæ~' Z ôŠÐQØ××è»{ç¶CåÃncS;,•J8h.œû¿3z½Ã -ÐQëˆmG@-ú©cws)À%pâCüN ùÁÐgÙ²u§~' Z8Ž#I›‹¼®è(ìêXªÑ'©-ˆ‹ïÖgíkŒy•¶WÁ¹að;ƒ ¹\®-³Üh\¼p> ¿ÕwtÐÑ…ÅŽÉ(J§»§R©š¾a@ãqûßÛ4­¶X¦À¯ !`¼õüNÇË11±99û[ûú†…G4üMŽeYÆöFóM Çó-%ŠcN×À2ÊÊJ·mý&eø–µ2_tl @Çð@éHQThhû¼cÇzõìíÓªA:mò,ÃØÞ~§YaY–o‘ð9Žã±¶FË~Ë;ku?L0Þ¦ ñ·€ßénîn1±q^JåîvÞ¸q“ç³O¹\áÄGªUd”T"±#+F šš&•J)вŸ®!w“ÛOg‘)ÇGFFZµÐŽ cil)™,(8˜ãù“'O”––ÖÏ!“ÉÔB‡ ¢Ž÷cD4x"0AJ(ªé~¬I‰D*uFuÇÄÅùúùyy)kŸãE¢0Þz~§ÃÑ¡cTtKÛ¸¯e¾Ö7#,Ë Ø èè*€Žâ@XG7w÷ðˆðÀÀ@–m¡=”&ZÚ7­ÅB%“yzz $ãu „×QÀï¬,ÃmÑ ¸ £8ÅEÉT´•Y@Ä€ñ>€X‰ö§~'Ð€ß 4àwMø@SóÙc]e¥¾Rïèzc@SBJ$r™\áæfsÐÑÅ}2 ,ÃbÜWSêA’”T*¥d`¼.M]Œ×!ÀïtŒµÚ²ËEEǽyóXKË„$%þþ~=zôì‡5[]ÐQØ×¡JîÚõk§ ‹ïÞmâæI’*•ªcTTPP°›»»•`¼®@]Œ×QÀït ]eå¥Ë—äì4xHÛvAußÚ ·¼-Ñ0Æ-pu\§ìÇqÜ?WÿoÿþŸ=¼¼":DÖ^tll@GGyudõk×Nüv|@|B» `çl–4+,Ë^)*:p`?Ïóaááe¹2+ocÓ4Æ[À¼C_Yù[Þ±¤AÉݺ?ÚÜm„ V{{ÿrø`Tt§Ú¦:º  £8Ö‘10§ ÄLJ„¶o–æNG*•¶G:y"00RYú`¼®‚°ñÖ˜Wä<Ïß¼y+  Ms7°­V z«o¡ £ :Š1ÆMIPpH“7 h\”´Šç1˲µOñºÆ[ÀïtžçHî›kÀqØV@ èèB€Žâ@PG¾î#­@s$÷PýmI‚ƒãu!Œ×Q`œ;β yÅ Ž-0H0QuŒY@T‘इ0¼j8ŒLf§¸" £8ÅÌ%1¶Ü0Þ“jêº{÷t:p‚ hZMMÝ B¤Á`hâJ§:ŠÐQÁ²¬ùP»£Ãî ñ¸`¼&-Ôשּׁ¬,øã÷#Grm%H$=zô8(Y_iÇ=m `0È% ’c…&ߎ.è(ìêh\ŽÆâÕ))ûJákÐØÔçÇ )ª¹u0^h¡~'Æ8/ïèÛ‹–Êdr« ´Zí‡YËJnâ†.„\.g¡ ÄõÅA=tdYV*• »žÆ0Lß\#„¼½½­ž¥(ŠçÀ³tyœûvZ|§þÌ¢X­¬ù6ó·z÷FrgËéDQÓ Ä°Oi×+uE*~}ÑêœUdçºØ[ûÞí§JéàÞ¯«p°|{sy«ç—×»¡âââÄÄÄÄÄD£÷ uÁ©ïˆdÐÄ _<ÝÎT&)÷ WÔ«$¢û€²,ç¬ÝBëA2ÕÔµÎt £H hN[½ž¢t:ëLÙ©#Ÿ¹mcJ¤;#mëÖð÷¦ -ß|{ÿ0UÒNFƒJLLÜ»w¯­^O«€ñ>°8u>;áØ1îájb;¶q«·g(—ÛììDÉd2Ž|â°ÿæ®zq@l°ZÕ*øáĉ/æBßÙ:°M×) fŽèÙÁOE+Ûv{zu~™# “°Þ˜(Åè(‚À5A÷·Ä3 #•JÍÏJ¥R†a¬&Ù» ®üú54câàÎa¡:yXÞ¾:Ö"| F{jœ2:qqqgÏž={öl\\œ±×Ó2£`ø&sUǼõïXÅáÚ)Uñ›n9àß wyÚYl—~õñÁ‹.t›÷mþ™£›f†Ÿ˜3ð‰…ù÷Œ'+.î9C§,ذïȾã=÷Ì})ëœÞ†Õ=)ÐÜp¬ÍÐÑ…Å€Žva†¢ªºÇ(Šblïׇooî§ŽzéÍÉCn§¤(Ê':uÅo¥U?>ú+»Œèª¦(ÏÀN Ó6œÖò!Ä\ü sëž3ÞŸåïAQ ÿ./¬ûÓ%føg÷¼a·ó¤(uèc/}z²ÔÚ/®øë³ŵSR”*¸ó°×w\ÖÙ¿Ww¡;§Ï×3È“¢|GýXZûÆhN­›òD¤Ÿ%÷è7u×]³_RîNîûcº‡Ð¥l×5mÙáÛ,ªü=#>CvéùC#[QEL8"

Á±I“–çܸÿÕ–øtN|bp¯¶ò&úšñ7w/Ùp«[æÆÅ©ÝBÛ†÷~nÙÆ9a—Ö~pXƒBˆpë1yÖs‰ÆDwMy%£/uùðŸZ"Ÿ1b7± hT„”]ÐQ+Åsv:&Œ®§°Ói—_Ø]¨±ä›ÜS¿n™èµëµg–ŸÑ#ÄÝØúL×'W— ]‘sþbÞú—¼wŽï–´ªÊã4'~, ynÕ÷yù?Y±qÒøõ³!¬ýuv¿‘_y¾¸>ïâ_?-Œ:8eHúÏÅ–Me.}<´Ë3߸ûüÈÅ ‡VÐ:ºË˜MÿT¹\¸âô¶?‚_þäÇ}Û³žï`}VY˜ùD {ý&­Ë=sfßgÃÚW/k©?“Ÿð¾öÉÕÏ_Ì]=àüü”q›ÿ¡âŸ¾°¦ I?õãM­V«-œ-'$ʃg,ßr0/ïÀÖ¹Ÿ]‘6îë«uöÜZ‚ÑÓ>Û1ÍYUÙGåÈ_lèä>þ÷/Oÿ¸ßÒýù×õ‰¾5“J=½ÝÈ2†Ç޼{Ù}>-»Q £K:Š»:2,ÃãR ÖG¢¬7Ä ‹ ÷“_;À!93£ßÊÑ î¼Z²~áfð×_f$µ& œ´fý¹_~°"oܪG &’¦MÝÅ !Ô~ÖÌÕŸdäüY6>ÀíúÖyë+R¿]5¡!”úÖ‚Ï7Lú0÷½þIJ³Êu'V.ýEõüžO'÷ñDù¿ºnÍ©è´ÅëΦdt ,FªÇ§ÏÓÇÃZûµ‡–,+šudÍËqn¡`ŸþžKO±½ÁÀ–î{{yQßÕ»flM"Ô&cÑÐÏR>ÚsuÔ³þÆ1j‚$ !žÑóŠÈã"%vŠ|gÖW;ÞÙÿWéÓ¾ˆåâYFo\(ÓÀpaŽÑ#Ì1ccO_o…„di__?%B3µn²-9`ì9+`¼.A]¦ÜÔ§õw’ª¨„¡ƒâûôxô±ø”çæ|y(çͨÛ[mý¿¸ÈÂ/µëÍbë1%ιs¤BR\¹B(Dtt@Gq`GG’ĸF!ªkèááY^®-/×zxxÖ@´¨(ñôv#9†ãï]<| E¥t÷¾ é“ÜUñoþébÖ¢ÒÃÛä–ÇXw1§@wwóÐ šVÓ´Z6.—«¼s«œ3¯+.<~CÑeHœGÕBÝ}h*ʽ¤«Ž´9‰±þZÞZºWB{EuPäýä•Î/»—3.ÌÇX{ÛaÛ´¼æŸRÆZ,&së—5écõíõP›ØÙ…ˆ­d¬Ü ³Oµ[e«•¨VÒŠŠŠ¬¬,Ž«º ÇeeeUTTXd^ß Œ×U6^Gi´5ÏÜÂ’ž\üÍ¥;, ©×”5Š¢8Ž3ôÔ†çy[>¸<¸G{róO¹·fFg×ëÿÎ9|Ë£S÷¶rÔàÍ(ØÚË…°Õ:º £8°­#)‘Ô^7Þü£——R«-3ÑjË<=½´Ú2«‰1F&ÖTiµO‡ÍªÁÈ8£ÉTˆ1OÕYŒ1k`Qдìï'‡™~Œ…/aÞ8žÇ5²ßÿ´8bíòyÖÀ"„y³ 0¯œCêQ_ï_ØÙ4_©ý¨ªÂ0o*ôÞï‹&}Ô:cÝGËz«*¶Žžm¬W5Ðäqššgº/¦ûVó,1?¡×ë·lÙrö칬¬U¡éÓgŒ;ÖÍÍÍ2‹í 60^WÂy+ü7ÖÛÖžÞ¹÷š¤}×¶õú^A$c£GÓ`0”•– ¬»!ñœ1Æ;oγó·å]¿tì«×žÍ¼5uvo¥­€8ážy€ë:Š;:Öêc3ýïå¥,++5?[VVê奴š›9P¸ÚõÂXþPÏtîû¼»÷û*ËOï>© èÖIMZ/cüÿìy\TÕûÇϽ3wfXç(«B ²j.¹¤¦ ¨¸á×øZYæ¾aZX©™¹`å†ý2KÓ´ôkæB¥iî† &ZàRndæ®00â,w9¿?†u˜¹00,s}Þ/þ`î=Û½Ÿyî<÷œçœƒ©íüÐ?‡²õÍ|ËðqWTž>NªÚ´óÐý)GSr€Ëÿm÷%Ô=Pa®y• <£[ÉÕǹü¤ÒÕ+÷Žö' NfæÓ*oî(Ác‚(qV1Æëòvï¼0eù̾m¼hG9YvGI‘|ñ£b¶ê­A%þhé E"N_¾H€Éý¬t J¥2###'''**:22*'''##C©TVÍ Æ+l¨£­ú;yuöÖÿÃÍ} +^ëþÑ”Ø`‡GÙ;² 0‰1Ƙh;ã%¡Ÿ%-JíÁß¾tñ¾oˆ®ÍK˲þN‰²¥—$ï»Õ‰©´Y›ÍÍÆÈcŒåÝÃ%;V¤my#Jöà¡M{na aŒ(š*ÌÚ¾ë—Wûž‘*‰´y/~õ7ÛN¶é騕<äjÒ/eÒ~š¦32v%&Bedì¢iºêbŒ†µpá€=aǰ­üNÿG·µöì[ùZD:¸ù¶î:eíæ·†…;!Ä=:·ïàžÖIúšÎÞQ*é¾ ýû&ô7~´ô­e@e>1³6ÇÌ2=L4KÚ¯N*ÿìôüº›°Ñ@#ƒ‘é˜,Ƙ¦Uju¥Ÿµº@©¤ÕêTyœU a,ÿ,ñùÏÆLÅ™iScÝG­» ]÷ëœÁÏH1fpiJÇÙqiï¤ Ç—¾—¶~ÚÀ…^ÁáíÌÄc\É+“OÊ8BÏy{åëÝßɧ|"{ŽÝšùfœ'iÒÉhö*\º->´ÃcÆûŸ½3G¯ ‰Ü1Ô9ÇX;A÷^vdGÐìëß¾BM6 o;-v8ÆFDÅ`Ò;éó/sÇÌšÐíkÊ·ãq3‡^Hc0ÆXÒbħégFÏ–°‘tkõ\|b\GúÆ;w™9­Ó°%Gîï›öÃó4) y}Ѹ“Rã;9úõšù¿-)mL&ÞWm?MÓ»ví4þcöêÀãªb+¿Sñæ÷§ß´tÖ©ÇW7‹¾²¢8‚$´OžØ ]õA v‹¶@Gq:Š’ xž7Y˜™¦Uù¾KAA>M«PEÇ}èÞü¡åG»}qã!*ù,Hœ¿=q~Å0ÆH8õ䣩åy\~zx§ì£" á½Í ï!Ó\• œÃG.ß=ry•4¿q™ãÌe)CêÙë­oz½U~`iyv™÷ )ë^H1©5¾ïáðŠ…R-ÿœ¸¸,ÍäÒ*åAÉ«Ž&¯*Ï=!„0¢:ÌÚû÷¬²1’xħ¸–fñ ͶŸ¦iKÖŒ÷é¤Þ扙LÎ o•4„:×AGûtB:J¤Ržãª¦P©jºõ"æaEžú¥6wXÐïãµlæ~' Z ôŠÐQT¯#®Ô=öèá«Ê‡!Ýú¦wX*•Úp4ÐXØö! ~' fôz«:š  £8Ö[Ž€šµS§ÚÍ¥»À†að;€ÆCŸeÓÔlø€há8Ž$-.ò Ø  £8¨VÇBµÚ8Ihj„´n“ÿèa-2bÌ ¬´ Ø ¶}ƒßiAÈårMQQõIÆæê•ËÞ>^fßÑAG;tB:"$£(­ö‰R©lø†õǃûhZe²L0^;BÀxkøÖ!—+"#£:ØÜÃ#(8¤îor,ËZÚ–©áx¾©DÑa¬ÕjëXFQQáömß%²fæK‚Ž èXž*)Š l•uêT×.ÝÜ›5#H›Mže¦i޳,Ë7É øÇñ¶XÛ#‚e ¿eŠŒŠ2»&oCPÿÆ[ Àï´G‡È¨hW×=?ýpçÎ]ž·Î>år… ©f‘QR‰¤Y1ªÓÔ4©TJQTõéêIry]J ™8xphh¨Yûè:Ö˜úÖ‘’Éüüý9ž?çö IDAT{öLaaaí2™¼N-´ ’ jxÏ1FD'¤„¢îÇš”H¤R[T‡qdt´‡§§‹‹™-ªÁx‘(Œ·€ßi5A‡´nÞÔ6îkš¯õ˲v:Ú  £8ÖÑÁÑ18$Ø××—e›heMí›Öd!‚’Éœ]€ñÚÂÆk-àwÖ–a„¶èìÐQ€Žâ€¢dJÚÌ€, bÀxŸBÌDû€Í¿hÀïð;€†üN !€ùìÖƒ±V§ÓëôÖ®74$¤D"—ÉèíÐQT¯#BƒeXŒ›âjê@- H’’J¥” Œ×®©‰ñZøV‚±FSt=/ïô©“wïÞkiš¤ÄË˳sç.QÑ™³ÐÑÅAõ:"¤Ójoݾu>77ÿÑ£nP$©T*Û„…ùùù;8:šIÆkÔÄx­üNëÐêt×®_?|è`ß~ý[´ô«ùÖ^¸ém‰†1n‚«ãÚdï8Žãþ½ùÏÁƒû\\BZ‡V]t¬o@Gkyšudí[·ÎüvºwLlK?Ûl–4*,ËÞÈË;|ø ÏóAÁÁeº2+o}Ó0Æ[ À¼­C¯Óý–u*¾oBÇNÏ5v[!üüýUnn¿;QÕT@G{tÂ:2æ|nn€ÀVÒ<ÀæH¥ÒVÁÁ¡sgÏøúúRJS¿Œ×^6ÞZ󊬃çù»wïy{û4vC€ê¡U*ƒAoö-t´#@Gq  #ÆX­.ðóhðFõ‹+­äy̲lÕS`¼v„€ñÖð;­†ç9’„ûfp¶:Ú £8Ô‘¯ùH+ÐÀœÈ}¸a€!—ËYè±@GqP Y–•J¥Â®§1 Ó7ùùù!777³g)Šâ9ð,íÛ>„mßÉkþüaɘ„nÑ´«ªï÷jÿ…ã8Î’Ó‰¢( ¦ˆaŸ²Z¯Ô)>þ†'Õ.=¯šëbïx¿_¸§B*¥ý»½}ªØÊZðƒ-ÝåÍ^=ö¸ÖíDåççÇÅÅÅÅŽO¨ ¶ô;™›ÿ{µ]·iû%ÝÆ|ðÅŽýG~ÚÇ­–Î!Qƒ}@Y–³Õn¡5‡ ™ŒjèZ[:ŠÐQ$„@4§%×S”Ng):qØû™+ßèå¯R6óo7îóÓùBá‡Ûúøt˜4oú.­=•´k‹Žÿ]•]dÍÂd¬7& @Gq:Š‚ pePéöƒc†a¤RiųR©”a³‰EBÕ]÷øö--?m\¿vA­Ûø9™Þ¾Ö"| R{*2:ÑÑÑ/^¼xñbtt´Ñõ4Í(¾ Æûtb3Õÿ–þÅ?’šíÝ#Ì×'¤C¿‰_œ+,u犽ÞÒU³ùžþp—g5‹ÍâÂco½ÐoÁ•Žs¾Ï¾próôà3³ú¼8?û‰ñdñÕ½èÄyœ8°i´óÞÙcÒ/é­hXÍ“ ÇZ IíÐQèX- ÃPTI÷EQŒåýúðƒ-=UacޛؿmKWŠ¢ÜÓ–ÿVúk¤¿±{Þ*Šröˆ²ñ¼†G!æê'íšw™öîèØ0/'ŠRxµ}ýŸesV ÿî™3°mKgŠR>?æË³…æ~Épñ_ÿ›Ñ7º¥+E)ýÛ |gçu­Ñçbÿ^Õžn—2wT?gŠòösÕEN}ný¤C=(¹GHÏÉ»UðÖ¸‡™è@S”kËÉK=`‘î÷Ô`¿Ñ§yõæEQTÈÜóz¾à×=ëGË(Š’¹…Ä¿½ó†!„4’”ò^ÛKû"µggÈ"–\6™EþøÈHw÷þ»õüÑ¡Í(Š¢¼Çž¸—ËåÉÉÉkÖ¬‘J¥R©tÍš5ÉÉÉf{‹zˆÀx툺¯ ¶ò;u×~9þHslùN¢ÿܯvmžß_òóÌ^ý—]Ô!„’¸·‹{±_×òúšñw÷,Úx¯cÚ¦…I[w{ué¦YA×Ö|rLBˆpè³çÐoœßØuõ¯_懙Ô?e¾iS™kŸhÿòwŽ£Ö¸zåèª!ú/‡·±ùß— Ÿßþ‡ÿ„/~>°#ýµÖ “¼ºÜ´;Ýç9~}æ… Ö¦lU¾¬¥þBZLìÇšA«Ž\¾š¹ª÷幉£¶üKE/<eu{’~éç»F“;7\NH\[÷›¶l둬¬ÃÛf·½¸¦Ä6wŽ”@HŠ} W…ƒŽöè(ªÑ‘$1®AˆªÄ:99?~¬yüXãää\5Ñb ¢ÄÙÍäŽrõØ5–ØÉ­4Ò)2¡ƒâ~öù|Ö¤ÒÉÍ‘ä–ÇX{õPŽöÑ–~4­¢i•*hT&§{xï1W±>.?÷ôEûþÑN%U§a(/óš¶<>Òlä$Æú[Yhè®±­åA‘¥ÉuË.zrhT»±ö·kxõ¿…Œ¹XLæÞ¯«SFôíÑ>쟨™¹ˆÕ1fîF…OU[e©•¨JÒâââôôtŽ+¹ Ç¥§§›d^ß Œ×^6^k±U§ÔÙMÁ=(Ôóå®,«cíXÛïEQÇ•ôT…çyK>¸Ü¿s+rË/™÷¦‡´”"„þïCÇî9Etj!GuÞ‚­½ìËQí £=:ŠË:’IÕuã+~tqqÕhŠŒG4š"gg¦ÈlbŒQ™[Vi¹O‡+Tƒ&qFSY!Æ<%g1ƬE~S2~œTöcD(Ü=ˆŠãy\){é¤És—ϳ!ÌW¸€Š•sH5ìÛƒóÛ•ÍW'd*Oª¤0Ì—úä÷}â?kžºþ³¥]ü•Å;ú…Ï4VŽKXæq–5¯ì¾”Ý·Ê×`JÅz½~ëÖ­/^JO_‰š:uZnnÎÈ‘#L³Xbãµ'l·Â¿­Þ6Á/´æOýß–k%n֜ݸóN‹Ønžµòl ‚ H’±Ð£i0Š ÖÝxõKá–5땹۳ón_;õÍÛ¯¤] ›<³›«¥€8ážy€ý:Šƒjt¬ÒÇVö¿‹‹kQQaųEE…..®fã .w½0–?Ó%]ú1ëQi_åãó{Îj½;F¨HóE`Œ1Õ¢úçP¶¾™o>îŠÊÓÇIU›vº³?åhJpù¿í¾„‚º*Ì5¯”gt+¹úø/—ŸTºcåÞÑþdÁÉÌ|ºBåÍ%cL%Î*Æc]Þîצ,ŸÙ·í('Ëî(")’/~TÌV½5¨Ä-=#¡HÄéË 0¹Ÿ•.A©TfddäääDEEGFFåääddd(•ʪyÁxÅ u´Y§ï÷^Z’4gÀküÇS^PÝüqñŒ¯pÒ·ÛÈBHwaÕäÙ'|¦¯þ ]ӱ¨%‹?4n¹«P(*ölÊd ’$ºvíf13é»òèÿ™ófüô¶Á­U‡ËŽ,x%Ê<]ôŒmS€FtÂ:blÚ§bôx”Jº°P«t·ª]]•……ꊉQ¥.½òþN„1¦“gÄ.?ñµ¤ _Фò~L¿VÝíã ‘ l1–ú ›·dì¼Á£˜ùãcCiíÍ … KŠv­x!Ѝñ“ŸýzîkãCV¿; ˆ;¿uÎĤ¿ Ř­Ò³Xºûô‘> +^ëþÑ”Ø`‡GÙ;² 0‰1Ƙh;ã%¡Ÿ%-JíÁß¾tñ¾oˆ®ÍK˲þN‰²¥—$ï»Õ‰©´Y›ÍÍÆÈcŒåÝÃ%;V¤my#Jöà¡M{na aŒ(š*ÌÚ¾ë—Wûž‘*‰´y/~õ7ÛN¶é騕<äjÒ/eÒ~š¦32v%&Bedì¢iºêbŒ†µpá€=aǰÍö#ÝbWìÛàùö£âß§|¢c§fdNëåaì’äÛwpOë$}Mgï(•tß„þ}ú?ZúÖ² 2Ÿ˜Y›cf™&š%íW'•vz~ÝMØh ‘ÁÈtLcLÓ*µºÀÒO€Z] TÒjuª<ÎŽ*†0––øügc¦báÌ´©1‹î#Ö]†®ûuÎàg¤3¸´¥ã츴‰wÒ†cŽKßK[?màÂÇ ¯àðvæâ1®ä•É‚'e¡ç¼½òõîïäS>‘=ÇnÍ|3Γ4éd4{.ÝÚá1ãýÏÞˆ™£W…Ä îêœc¬ {/;²#hö‚õï _¡&›†·;c#¢b0éôù—¹cfMèö5åÛqȸ™C/¤1c,i1âÓô3£çNKØHºµz.>1®#}cŒ»ÌœÖiØ’‰#÷÷Mûáùš”…¼¾hÜI©ñýzÍüß–”6&ï«¶Ÿ¦é]»vÿ1{uàqU±åž¶ƒæ?h¾™3N=¾ºYô•E$¡}òÄV ³-8Ø-ÚþÅè(H‚àyÞdafšVä û.ù4­B]÷¡{ó‡–qìöҨä³< qþöÄJ?Sc$ œzòÑÔò<® ?=¼SöQðÞæ„÷i®JÎá#—ï¹¼J‰ß¸Ì‚qæ²”!õìõÖ7½Þ*?°´<»Ìû…”u/¤˜TŽšß÷pxÅB©‰‹N\\–fri•ò äUG“W•瞃BQfíý{VY‰I<âÓ\K³x…fÛOÓ´À¥ kÆûtbK¿ó)A&“³Â[%M¡ÎuÐÑ~ÅŽ©”縪)T*·–ŽyX‘§~©Íô;Áxí[†9ß ˆ…B½"tÕëˆ+u=zøÀªòaH·¾©Å–J¥6œ 4¶}ƒß ˆ½Þê…Ž&è(„uÄ–# ¦@íÔ©vs)À.°áCüN ñÁÐgÙ´u›~' Z8Ž#I‹‹¼öè(ªÕ±P­6NRš!­Ûä?zX‹Œó+mö‚mÂàwZAr¹\STT}R ±¹zå²·—ÙwtÐÑŽÅŽÉ(J«}¢T*¾a@ýñàþšV™,S`Œ×Ž0ÞZ~§uÈåŠÈȨC‡6÷ð ©û›˲–¶ej`8žo*QtkµÚ:–QTT¸}Ûw‰ƒ‡°¬™ù’ cC:Ö§JGŠ¢[e:ÕµK7÷fÍÒf“g†iš£Ã,ËòMr>Çq¼-Ö6ˆ`ÃoY§"£¢Ìî‡ ÆÛÔ¿ñÖð;­ÃÁÑ!2*ÚÅÕuÏO?ܹs—ç­³O¹\aÃGªYd”T"©FVŒê45M*•RU}º:@„ÜA^—D&jÖþAG:‚Ž5¦¾u¤d2?ŽçÏž=SXXX;‡L&¯S ­‚$ˆÞsŒQç‰À)¡¨†û±&%©ÔÕaíáééâbf‹j0^$ ã­àwZ AÁ!­Û„…7µûšæk}#²¬€€Žöè(„utpt  öõõeÙ&ÚCYFSû¦5Y‚ d2gg`¼v°ñZ øµe¡-:;t £8 (™’63 ˆ0Þ§3Ѿ`sÀïð;€†üN !¿h`>»õ`¬Õéô:½µë )‘Èer…ƒƒÅ:@G{tÕëˆÁ``㦸š:P ’¤¤R)%ãµkjb¼V~§•`¬Ñ]ÏË;}êäÝ»÷ÀZš&$)ñòòìܹKDT4Bælt´@GqP½Žé´Ú[·oÏÍÍô¨›Ô$I*•Ê6aa~~þŽŽfR€ñÚ51^k¿Ó:´:ݵë×:Ø·_ÿ-ýj¾µnz[¢aŒ›àê¸6Ù;Žã¸oþsðà~'—Ö¡UׇëÐÑZžfÆpëÖ­3¿îÛÒÏß6›å ˲7òò>Èó|Pp0E™®Ì Æ[ß4ŒñÖ0oëÐët¿eŠï›Ð±ÓsÝ@?•›Û¯ÇŽ„…GT5ÐÑ^Å°ŽŒ9Ÿ›Û;&& °U£4°9R©´Up0BèÜÙ3¾¾¾”ÒÔï㵄·À¼"ëàyþîÝ{ÞÞ>Ý zh•Ê`Л} íÐQèˆ1V« üü¼Q@ýâJ+y³,[õ¯!`¼µüN«áyŽ$á¾Ù‡-¤€Žvè(uäk>Ò 40'2ÖnЖ$H1h0^;BÀx­ÆÙ±c+[ÐQêØƒä€2j¡Ž1 ˆ*lô†W «‘ÉLãT{t £8€¹D"Æ’»ÆûtÒDM]ûä‰V«NCM«²¡»A‚4 \)`s@Gq:Š‚ X–­8Ôní°;ÇÁBBÈÍÍÍìYŠ¢xqØû™ÿ÷îÜuûÏÝ(v h?þÃÅc:¹I~¸-.jIðØîwöí9~ñžÖ%x@êç«'µw­qÏ/ë‰ÐQ€Žâ€ ˆª =–}dF*•2öJ¡(Ša˜ŠéE)Xz!‚[/òoßÒÒñÓÆõkç\9›uµT¸çUXjBÄÅÅEGG¯^½!4a£ë©R©Lò´Œ÷é¤~Tçïÿ<ùÅà)sâš“!T|ìõ–®Ê˜Í÷¬XxV¸Ë³šÅfqá±·^è·àJÇ9ßg_8¹yzð™Y}^œŸýÄx²øêÞ tâ¼NØ4Úyïì1é—¬€ñ};‚c-†¤€Žvè(t¬†a(ª¤{ÌètZJ‰lé© óÞÄþm[ºRåž´ü·Â’ýÝó†tTQ”³oDì”ç5û÷ªöt»”¹£ºø9S”ǰŸ «Þõ¹õ“^ õt ä!='ï~TÁ[ãf~<¢SMQ®-;$/=ö€EºßSƒýFŸæÕ›cTEQ!sÏëù‚_?ô¬-£(Jæÿö΄ÒHRÊ{m/מ ‹XrÙdùã##ÝÝûïÖóG‡6£(Šò{Bxà^.—'''¯Y³F*•J¥Ò5kÖ$''›í-è!ãµ#êb¼&Ô‹ß©Íù¿9»ÉÁ¼Zò%”¸·‹{±_×òúšñw÷,Úx¯cÚ¦…I[w{ué¦YA×Ö|rLBˆpè³çÐoœßØuõ¯_懙Ô?e¾iS™kŸhÿòwŽ£Ö¸zåèª!ú/‡·±ùß— Ÿßþ‡ÿ„/~>°#ýµÖ¦ƒ€ºÜ´;Ýç9~}æ… Ö¦lU¾¬¥þBZLìÇšA«Ž\¾š¹ª÷幉£¶üKE/<eu{’~éç»F“;7\NH\[÷›¶l둬¬ÃÛf·½¸Ÿ,ϵòY‡ ïø)S†·w@µš1}Õ©‡þ,ííp{Ûœ ÅI߯ÛÝ!”ôþ¼uÇšùQ¯x× •kϬXü«òµ½_NìîŒòzkýêsáÉ ×_LLmMXŒ”/L6¢»“¹ökŽ.Zšã7ãÄê Ñ!÷^!΋ϱ½ÁÀø`Y^U»§÷iN"䓺`ÀÚÄÏöÞöŠ—qŒš I‚Dˆgô¼"tȨPc‰¡Îøfç‡ÿ*ü¯by„x–ÑÊ40F˜cô†ÅsŒÁØÂÙÝÃM!!YÚÃÃÓ!„™*7Ù’0Õ9+`¼vAM¦ÜÔ›÷wbMÖ'óu>ÿµà:ïD üR+°Þ¬…øÛÜ9R!)ö\!" :Ú  £8¨FG’ÄØ\ˆË=qeœœœ?Ö<~¬qrr69e’Uü,qvs 9†ãŸ\=v …%vr#J ŒLè ¸Ÿ}>Ÿ5)‚trs$9†å1Ö^=”£}´e€M«hZ¥ •ÉéÞ{ÌU¬ËÏ=}GѾ´SÉBÕi@Ê˼¦-—ÄæÑßÊúCCwm¥(k}YûuË.zrhT»±ö·kxõ¿…ŒÉ%bŒ1fîýº:eDßíÞñ‰š™‹XcænTøTµU–Z‰ª$-..NOO縒ÛÀq\zzzqq±IFáõ­Àxíaãµ[÷w2×7½÷õýèßéI×ÑÉ£(Šã¸²€žªð£Ç£TÒ……j\¥»¥°Píêª,,TWLŒ*ué•÷w"Œ1˜<#vÙø‰¯}$]øR$•÷cÚøµênOˆT`‹y°ÔoØô¸%cç ÅÌJko^ø³(lXRt¥_9EÔøÉÏ~=÷µñ!«ßÄß:gâÒ_bÌVéY¬ Ý}úHŸ„/uÿhJl°Ã£ìÙ˜ÄcL4‹ñ’ÇÐÏ’FÈ¥ ˆöào_ºxß7aD׿%ŽeY§DÙÒK’÷ÝêŒÄÔNÚ¬M‹æfcä‹1Æò€îá’+Ò6‡¼%{páЦ=·0…0F” Mfmßõ‹ÎË«}ÏH•DÚ¼¿ú›m'ÛôtÔJž‰ 2]]Фý4MgdìJL„ÊÈØEÓtÕ Ä3 káÂ{†aúÜÝŸæ­¸ìùêž—üMKåÛwpOë$}Mgï(•tß„þ}ú?ZúÖ² 2Ÿ˜Y›cf™&š%íW'•vz~ÝMØh ‘ÁÈtLcLÓ*µºÀÒO€Z] TÒjuª<ÎŽ*†0––øügc¦báÌ´©1‹î#Ö]†®ûuÎàg¤3¸´¥ã츴‰wÒ†cŽKßK[?màÂÇ ¯àðvæâ1®ä•É‚'e¡ç¼½òõîïäS>‘=ÇnÍ|3Γ4éd4{.ÝÚá1ãýÏÞˆ™£W…Ä îêœc¬ {/;²#hö‚õï _¡&›†·;c#¢b0éôù—¹cfMèö5åÛqȸ™C/¤1c,i1âÓô3£çNKØHºµz.>1®#}cŒ»ÌœÖiØ’‰#÷÷Mûáùš”…¼¾hÜI©ñýzÍüß–”6&ï«¶Ÿ¦é]»vÿ1{uàqU±¡ß)ñöݽafO9õøêfÑWV”E„öÉÛ´ËÖâ`·hût £8 ‚çy“…™iZUP/ì»äÓ´ Utq܇îÍZ~ıÛ7¢’Ïò€ÄùÛçW,cŒ¤SO>šZžÇ5ᧇwÊ>*ÞÛœð2ÍU Â9|äòÝ#—WI#ñ—Y0Î\–2¤ž½Þú¦×[å––g—y¿²î…“ÊQóáû¯X(Õ"qñω‹ËÒL.­R”¼êhòªòÜsB#ªÃ¬½Ï*+#‰G|Úki¯Ðlûiš¸4aíÀxŸNêa%±#“ÉYá­’€¦‚Pç:èh?€Žâ@HG‰TÊs\Õ*UM·^Ä<¬ÈS¿Ôæ ú`¼öƒ-ÜÀïD‹B¡€€^:ŠƒêuÄ•ºÇ=|`Uù0¤[ßÔâK¥R΃ Û>„ÁïÄŒ^oõBÇ@tÂ:bË@S vêT»¹`Øð! ~'Ðø`è³lÚ€:€M¿-Ç‘¤ÅE^{tÕêX¨V'©MÖmò=¬EFŒy•¶{Á¶að;­ƒ ¹\®)*ª>)ÐØ\½rÙÛÇËì;:èhG€Žâ@HG„d¥Õ>Q*• ß0 þxpÿM«L–)0ÆkGo-¿Ó:ärEddÔ¡C›{x‡ÔýMŽeYKÛ250Ï7•(:ŒµZmË(**ܾí»ÄÁCXÖÌ|Iб!ëÀS¥#EQ­²NêÚ¥›{³fi³É³ Ã4ÍÑa–eù&9Ÿã8ÞkaD°Œá·¬S‘QQf÷ÃãmêßxkøÖáàèíâêºç§îܹËóÖÙ§\®°á#Õ,2J*‘T#+Fušš&•J)ªn¡VIry]J ™8xphh¨Yûè:Ö˜úÖ‘’Éüüý9ž?{öLaaaí2™¼N-´ ’ jxÏ1FD'¤„¢îÇš”H¤R[T‡qdt´‡§§‹‹™-ªÁx‘(Œ·€ßi5A‡´nÞÔ6îkš¯õ˲v:Ú  £8ÖÑÁÑ18$Ø××—e›heMí›Öd!‚’Éœ]€ñÚÂÆk-àwÖ–a„¶èìÐQ€Žâ€¢dJÚÌ€, bÀxŸBÌDû€Í¿hÀïð;€†üN !€ùìÖƒ±V§ÓëôÖ®74$¤D"—ÉèíÐQT¯#BƒeXŒ›âjê@- H’’J¥” Œ×®©‰ñZøV‚±FSt=/ïô©“wïÞkiš¤ÄË˳sç.QÑ™³ÐÑÅAõ:"¤Ójoݾu>77ÿÑ£nP$©T*Û„…ùùù;8:šIÆkÔÄx­üNëÐêt×®_?|è`ß~ý[´ô«ùÖ^¸ém‰†1n‚«ãÚdï8Žãþ½ùÏÁƒû\\BZ‡V]t¬o@Gkyšudí[·ÎüvºwLlK?Ûl–4*,ËÞÈË;|ø ÏóAÁÁeº2+o}Ó0Æ[ À¼­C¯Óý–u*¾oBÇNÏ5v[!üüýUnn¿;QÕT@G{tÂ:2æ|nn€ÀVÒ<ÀæH¥ÒVÁÁ¡sgÏøúúRJS¿Œ×^6ÞZ󊬃çù»wïy{û4vC€ê¡U*ƒAoö-t´#@Gq  #ÆX­.ðóhðFõ‹+­äy̲lÕS`¼v„€ñÖð;­†ç9’„ûfp¶:Ú £8Ô‘¯ùH+ÐÀœÈ}¸a€!—ËYè±@GqP Y–•J¥Â®§1 Ó7ùùù!777³g)Šâ9ð,íÛ>„m߉µ×v½Ÿô\ íªô îöÊ’ýwëâsgÉéDQÓ Ä°OY­WjÓj—žWÍu±÷¼ß/ÜS!•ÒþÝÞ>Ule-øÁ–îòf¯{\ëv"„òóóãâââââŒÞ'Ô›ùXsâÝþ£>½Ýiƺ½‡v¯™xfá’×\­eèQƒ}@Y–³Õn¡5‡ ™ŒjèZ[:ŠÐQ$„@4§%×S”Ng):‡Bøá¶>>&Í›>¤KkO%íÚ¢ãWeY³0ë‰ÐQ€Žâ€ \Tºý Ƙa©TZñ¬T*eÆlb€PuÄ=¾}KKÇOׯ]P`ë6~N¦·¯†µ¨ÔžJ§ŒNgttôÅ‹/^¼mt=M3 †o‚ñ>ØLu™O‡0ÇüjÏ•baíÕÝ[Î0A=‚B{½¥«2fó=+ü;á.Ïj›Å…ÇÞz¡ß‚+ç|Ÿ}áäæéÁgfõyq~öãÉâ«{/Љó68q`Óh罳Ǥ_Ò[Ѱš'޵’:Ú £8бZ†¡¨’î1Š¢Ëûõá[zªÂƼ7±Û–®E¹‡'-ÿ­°äÇGc÷¼!Uåì;eãy BÌÕOÚ5ï2íÝѱa^N¥ðjÿúú?Ëæ¬þÝ3g`Û–Î¥ |~Ì—g Íý’áâ¿þ7£otKWŠRú·øÎÎëZ£ÏÅþ½ª=Ý.eî¨.~Îå1ìçª=ŠœúÜúI/†z:Prž“w?ªà­q3?Ñ)€¦(×–’—{À"Ýï©Á~£OóêÍ1*Š¢¨¹çõ|Á¯ zÖ–Q%s ‰{ç Bi$)å½¶—öEjÏÎ E,¹l2ùøÈHw÷þ»õüÑ¡Í(Š¢¼Çžî4’ËåÉÉÉkÖ¬‘J¥R©tÍš5ÉÉÉf{‹zˆÀx툺¯ 6ó;ÉfýþïÛž[_oÜ%¡çŽÎõÿz×Ìpã·PâÞ.îÅ~][ÈèkÆßݳh㽎i›&u lÜíÕ¥›f][óÉ15B!¡óįÆ=Þ!ñÍÔÔõcj¬ˆ|ƈµÝÄ. ^R t´@Gq ¬ÏUÓ1at=…N#øñ•=¹ª!‹¾Ë§>ós^À«+ÌÊ>²vhñ¦ñ£7üÍ"„°æøÌžC¿q~cCÖÕ¿~™vdRÿ”ýù¦Me®}> ýËß9ŽZwâê•£«†è¿Þ~ÄæK\.\|~ûþ¾øùÀŽô×Z+LòêrÓ^ì¦@µQ £]:ŠƒjudX†Ç•¤4ÌD™=^v3,&;O|sdog„PèôÔž+†Îyøn`Á†ù;™~ß~ßœDÈwüê —Ž÷ùdyÖ¨•Ï8LxÇO™2¼½B¨ÕŒé«¾H=ôgÑho‡ÛÛæl(Nú~åØî®¡¤÷ç­Û8þÓÌzÅ»V¨\{fÅâ_•¯íýrbwg„×[ëWŸ O^¸þbbjkÒÀb¤|aê´Ý̵_stÑÒ¿'VOˆv@ù»÷ q^|Ž5è ¶ðÀËòz¬Ú=½Os!ŸÔÖ&~¶÷æ°W¼ŒcÔI$B<£ç¡CF…KŒýpÆ7;?<øWá=Ë#ijŒÞ¸P¦á0£70,F˜c ÆÆÎîn ÉÒž®!ÌT¹É–䀩ÎYãµ j2å¦æØª¿“ýgã+#>#Rgí\>ûÃ5{ÏŸ_ÿâŸiÃ&dX3´nŠðK­Àz³Ø|L‰mî)û@® íÐQT£#Ib\)‚U‰5trr~üX󸱯Éɹj¢Å@E‰³›É1ÿäê±k(,±“[i,¤SdBÅýìóù¬I¤“›#É1,±öê¡í£-ühZEÓ*UШLN÷ðÞc®b}\~îé;Šöý£JªNÂP^æ5my|¤ÙÈIŒõ·²þÐÐ]c[)ʃ"K“ëþ>–]ôäШ wcí-n×ðê s±˜Ì½_W§ŒèÛ£}Ø3>Q3s«cÌÜ Ÿª¶ÊR+Q•¤ÅÅÅéééWr8ŽKOO/..6É(¼¾¯½ l¼Öb£þN柌/NÈþôZ¸£Ñ·“·ðÞôˆÿ½ÿ]NñX—ÚIQÇqe=UáyÞ’.÷ïÜŠÜòKæ½é!-¥!¤ÿûб{NZÈQ7G `k/;ÂrT;èhO€ŽâÀ²Ž¤DRuÝøŠ]\\5š"ã¦ÈÙÙE£)2›cTæÁ–UZîÓá Õ`„ dœÑTVˆ1OÉYŒ1k`‘ß”Œ'•ý w¢bãxWÊ^úirÄÜåó¬Eó. båR ûöàüveóÕ ™Ê“*) óe…>ù}AŸøÏš§®ÿlieñŽ~á3•ã’–yœeÍ+»/e÷­ò5˜Rñ„^¯ßºuëÅ‹—ÒÓW"„¦N–››3räHÓ,–ƒØÀxí Û­ðo£· Rî¬@…W.Ü/ï ÔßËËG®>t­<[‚ ’d,ôh †¢ÂBu7$^ýRG¸eÍzeîöì¼Û×N}óö+iWÂ&Ïìæj) Nxg`?€Žâ «ô±•ýïââZTTXñlQQ¡‹‹«Ùĸ‚…Ë]/ŒåÏt @—~ÌzTÚWùøüž³ZïŽ*Ò|cLµhç‡þ9”­oæ[†»¢òôqRÕ¦‡îìO9š’\þo»/¡ î sÍ«åÝJ®>þËå'•®ÆX¹w´?Yp23Ÿ®PysG ÆD‰³Š1ÆX—·{çõ€)ËgömãE;Êɲ;ŠHŠä‹³Uo *ñGKÏH(qúòELîg¥KP*•999QQÑ‘‘Q999J¥²j^0^q`CmÔß)ñ8ë¥EÃSûüçö{£cB\4—öþß¼Ïó»/ÒÖ!¤»°jòì>ÓWЃ®éXwDDÔ’Å·ÜU({6e2I]»v³˜™t‹]yt‡ÿÌy³~zÛà֪ÀeG¼å€Àž. zƶ)@£:Ša16íS1zÕ)ù³ƒ³_  Bˆ{tnßÁ=­“ô5½£TÒ}ú÷Mèoühé[Ë €Ê|bfmŽ™ez˜h–´_TþÙéùu7a£€F#Ó1YŒ1M«ÔêK?juRI«Õ¨ò8;ªÂXþYâ󟙊…3Ó¦Æ,ºrùî‘Ë«¤‘øË,g.KRÏ^o}Óë­òK˳˼_HY÷BŠIå¨ùð}‡W,”j‘¸øçÄÅei&—V)J^u4yUyî9!„ÕaÖÞ¿g••ˆ‘Ä#>íÀµ4‹Wh¶ý4M \š°v`¼O'6ô;Ÿd29+¼UÐTê\íÐQé(‘JyŽ«šB¥r«a阇yê—ÚÜaA¿Œ×~°e˜ø€hQ(Ð+@GqP½Ž¸R÷Ø£‡¬*†të›ZÜa©TjÃyÐ@caÛ‡0ø€˜Ñë­^èh‚€Žâ@XGl9h ÔNj7—ì>„Áï }–MP° àw¢…ã8’´¸È+`/€Žâ Z Õjã$ ©ÒºMþ£‡µÈˆ1/°Ò6`/Øö! ~§u!—Ë5EEÕ'›«W.{ûx™}GíÐQ鈌¢´Ú'J¥²áÔî? i•É2FÀxíã­àwZ‡\®ˆŒŒ:tè`s àº¿É±,ki[¦†ãù¦E‡±V«­cEE…Û·}—8xËš™/ :6 cxªt¤(*0°UÖ©S]»tsoÖŒ m6y–a˜¦9:̲,ß$'àsÇÛbm#Œ–1ü–u*2*Êì~˜`¼ Aýo-¿Ó:"£¢]\]÷üôÃ;wyÞ:û”Ë6|¤šEFI%’jdŨNSÓ¤R)EQÕ§«$AÈäu)@dâàÁ¡¡¡fítD #èXcê[GJ&óó÷çxþìÙ3………µsÈdò:µÐ*H‚¨á=ÇužLŠj¸kR"‘JmQÆ‘ÑÑžž..f¶¨ãE¢0ÞZ~§ÕÒºMXxSÛ¸¯i¾Ö7",Ë Ø èh/€Žâ@XGGÇà`___–m¢=”e4µoZ“… J&svvHÆk¯µ€ßYX†Ú¢°@Gq:ŠŠ’)i3²€ˆã} 1í 6üN !¿hÀïð;€†æ³[ÆZN¯Ó[»ÞЉ\&W88X\ t´@GqP½Ž –a1nŠ«©µ€ IJ*•R20^»¦&ÆkàwZ ÆMÑõ¼¼Ó§NÞ½{¬¥iB’//ÏλDDE#dÎV@G{tÕëˆN«½uûÖùÜÜüG¸y@}@’¤R©læççïàèh&¯=Pãµð;­C«Ó]»~ýð¡ƒ}ûõoÑÒ¯æ[{ᦷ%Ƹ ®Žk“½ã8Žû÷æ?îwrq iZu}8б¾­åiÖ‘a ·nÝ:óÛéÞ1±-ýüm³YШ°,{#/ïðáƒ<ÏS”éʬ`¼õMÃo-ó¶½N÷[Ö©ø¾ ;=רm„ðó÷W¹¹ýzìHXxDUSíÐQëȘ󹹽cb[5Jó›#•J[#„Î=ãëëK)MýN0^{AØxkÌ+²žçïÞ½çííÓØ ª‡V© ½Ù·PÐÑŽÅ€ŽcµºÀÏ? ÁÔ/®´’ç1˲UOñÚÆ[ Àï´žçHî›}ÀqØR@ èhG€Žâ@PG¾æ#­@s"óhímI‚ƒãµ#Œ×Z`œ;¶² qÅ ŽM0H(£ê³€¨"ÁFaxÕ°™Ì4N°G@Gq:Š˜K$b,¹+`¼O'MÔÔµOžhµZá4AÐ´Š º„ HƒÁÐÀ•6t £8 ‚eÙŠCíÖ»s,Äcg€ñ>4Q¿S§Óåüñû‰™–H$’λöé› ×UãžÖ0dɱB“ï@G»tÕêh\ŽÆäÙ))&ûJákPßツ )ªÙ50^+h¢~'Æ8+ëä Ëdr³ 4ͧéËúôMhà†v„\.g¡ ÄþÅA-tdYV*• »žÆ0LßXäçç#„ÜÜÜÌž¥(ŠçÀ³´{lû¶e|'WøÇÆ7Úú»¹Ò-"úN[{¶°.‹–rgÉéDQÓ Ä°OY­WjÓj—žWÍu±÷¼ß/ÜS!•ÒþÝÞ>Ule-øÁ–îòf¯{\ëv"„òóóãâââââŒÞ'ÔÛùÚœO^œq:dʺ_ï\ÿxó›}þóùÕZ†n5Ø”e9[íZs‚ɨ†®°5 £8EADsZr=EétÖ˜¢Ã“‡.<òÖöÓ—²÷}9)¡î%îKté­ýÏ IDAT’½øCaMÓNµZ­V«káz‚ñ>µØÊïdo|3mÉ?ý7ìZ::¦Cû^/¼û‡ ž§–¦Ÿ«uô¥\n±³!$“É8Nð‰ÃÞÏ\ùFï(•²™Û¸qŸŸÎçB?ÜÖǧäyÓ‡tií©¤][tüïªì"k:f XoL€ŽâtAàÊ Òí1Æ ÃH¥ÒŠg¥R)Ã0f‹„ª» îñí[Z:~Ú¸~í‚[·ñs2½}5¬Eø@¥öT:et:£££/^¼xñâÅèèh£ëišQ0|Œ÷éÄVªk/ï¿H´þ|³’ ×vÉÃZæŸÉ¾Ë"„нÞÒU³ùžþp—g5‹ÍâÂco½ÐoÁ•Žs¾Ï¾próôà3³ú¼8?û‰ñdñÕ½èÄyœ8°i´óÞÙcÒ/é­hXÍ“ ÇZ IíÐQèX- ÃPTI÷EQŒåýúðƒ-=UacޛؿmKWŠ¢ÜÓ–ÿVõ¥¿±{Þ*Šröˆ²ñ¼†G!æê'íšw™öîèØ0/'ŠRxµ}ýŸe½&†÷Ìض¥3E©Ÿó¥ù2\ü×ÿfônéJQJÿvßÙy]kô¹Ø¿Wµ§Û¥ÌÕÅÏ™¢<†ý\µG‘SŸ[?éÅPOJîÒsòîG¼5îaæÇ#:ÐåÚ²CòÒcX¤û=5Øoôi^½9FEQ2÷¼ž/øõƒAÏúÑ2Š¢dn!ñoï¼a@!Í$¥¼×öÒ¾HíÙ™²ˆ%—M†"éîÞ·ž?:´EQ”÷ØÂ÷r¹<99yÍš5R©T*•®Y³&99Ùlo‘@¯Qã5ÁV~'©P*˜¿³oèJà'·¯«¹¢{E,BHâÞ.îÅ~][ÈèkÆßݳh㽎i›&u lÜíÕ¥›f][óÉ15B!¡óįÆ=Þ!ñÍÔÔõcj¬ˆ|ƈµÝÄ. ^R t´@Gq ¬ÏUÓ1at=…N#øñ•=¹ª!‹¾Ë§>ós^À«+ÌÊ>²vhñ¦ñ£7üÍ"„°æøÌžC¿q~cCÖÕ¿~™vdRÿ”ýù¦Me®}> ýËß9ŽZwâê•£«†è¿Þ~ÄæK\.\|~ûþ¾øùÀŽô×Z+LòêrÓ^ìΣrR©³›YÄðØšw¯jŸ@S Ú(aÐÑ.ÅAµ:2,ÃãJR æG¢Ì/;ˆŽ'¾9²·3B(tzjÏÃç<|7°`ÃüL¿o¿NoN"ä;~õ†KÇû|²Çô[xàƒey=VížÞ§9‰Oê‚k?Û{sØ+^Æ1j‚$ !žÑóŠÐ!£B%F„~8ã›ü«ð¿ˆåâYFo\(ÓÀpaŽÑ#Ì1ccgw7…„diOW„fªÜdKrÀT笀ñÚ5™rSsl]áÐ65cËTïýSz{¹û<;éD«$õ iV‡¸aá—Zõf±ù˜ÛÜ9R!)ö\!" :Ú  £8¨FG’ĸR!ªkèääüø±æñc““sÕD‹Šg7’c8þÉÕc×PXb'·ÒXH§È„ŠûÙçóY“"H'7G’cXcíÕC9ÚG[øÑ´Š¦Uª Q™œîá½Ç\Åú¸üÜÓwíûG;• T„¡¼ÌkÚòøH³‘“ëoeý¡¡»Æ¶R”E–&×ý},»èÉ¡QAîÆÚ[ Ü®áÕÿ2æb1™{¿®NÑ·Gû°g|¢fæ"Vǘ¹>Um•¥V¢*I‹‹‹ÓÓÓ9®ä6p—žž^\\l’Qx}+0^{AØx­Å†kžÉ[ö›¿ïúûÚGuδvÿ«ë"&·UÖÖ×£(Šã¸²€žªðüÿ·w×áQ Àgwoï⹸Aæäæmá‰ŽŽŸÔó·âv¥%«7þ[¡žIç®ñ¶ÈÔ/•©üjµzûöm¡¡ŸB¶oߦV«³ ¥T§r8p(I ñpáåΤ›‹ÚÕ[©v-_Þ¯ê—-ê×ÔË$µŒâëó{ì.×>Éлw,-ÕÍZ´lÖ¢eò9½k=@•Î!ãÖ†ŒËükƶý¾èöï6­½ü1´PÄ(É|M–RªV[EGGåôei©ŽŽŽ"¯³“ôCßÿÌ9þÇ1££g ™ù‚Ø—«ÑvùÑIaî Ju4µ©×Ùiê&8§ö+˜ÌûzöŠa­g¼5rôñ l5ù3‰Ò ©Lé3h{„zÒ˜½êŒÃ;û×ë÷×±‘MØLŒÙ…y­Y·Øš²¸OȤ$+ß° òf—’÷ΨÎØâ=ñÛã;üÍÚzúUn<¬qJJ˜ôƒ X§ö¿üv¹ï¸/k­â]‚ÚôÝöêl¥”re:þ´ðLïÉÃZüÁZ{UoÚ$HA)¥f5F«Öî»]ö5›½£v%5«ôí5³ÿþAc›V3qm0zýºá2ÝxŸµüjµzÛ¶­ÉÿÈöè8!«ÂËFß^Žþ6û×Lëþþ8ö÷!!ÞÒÒRþ‚Á‡óòÅKµÚ*Ó4Épò– zNÞ|@îÌ•ÊÈß_sðà;{{oß‚“!§Ç2ÉL”¤â2ŠŽÒ„„„n#66fóÆ ¡am!›û%ÑŽr@;ÀGÕŽ<Ï{zzt;òJ¥«››(IçΉ‰‰É_ Sª TÂør(‰R‡4•Vx³Á%‰âû»Uðf+®¨$]¹|IhÈÂåNG'MeæÖë11ÑÞ¯é) †ÁPZÃ0 Þ ó àœÂðùS „!<Ïu! [Œ& ÐÁÑÑg ôù¤Óé¬ml‚kÕ.pÉ ´1ðÁ–øž r@î9 w€;@È Ì·R PªÕêtZ­D1GUñŲ¬‚çU*UQŠ˜(ˆ’(RòQLiÎ0 ˱§/- BÒ£”¼Šß¼µÁܾ C”,ciÊÚ›sίŠÜYÔ(Mˆ¿÷àþ©'ž?.IÁû´bYÎÁÁ!¸z°ŸFƒ)l>f‚Vù,òÊåËQoÞuY>8–e---+T¬X¶¬+¯Tf» *$=JÉý—º§/£¯ÞyôìUœü%”DZöV¦þÞeßÙ[yØò†DOäÎ"¦ÕêîÞ¿qè@³æ­Ê”uå8ÎÀiñK?”ÒbøL³B‰‰¢(>yüèÀþpS so_mRRÁ· %Ž$Š‘O#Ïž>Õ ¤±«›»BQÊ?Cu:ÝÃû÷""I’äééÉféäC…dZàÕ[)òEÔ™«÷¾hèíæÈq¥|4£V'Ü|ðlãþKUý<ÍlìÌsÏ0¥ü-RüétI§OžlÚ¬ePµêE]ÐÇÕÍÍÊÚêHDDE¿JÈ'Q®\¾Ü $ÄÓË»¨Ë"žç½}ËQB.ž?çâìllj–iTH¦Þ¼®Ý}ܹi•rNERB™)y…¿OYI’Žœ»ï`keHî,åI¼ø“$úüùs''ç¢.äNme­Õ%‚g|¤(%11ÑnîžE]Y©ÕjQ”1›a`¨Lt"yõÎÛÕAþR![µ…N ¼¶ˆÜYô$IÄŽK Q,v @N’$> ªt`YNÏ0*THz”Q”¥ýòz& ËJ1ð¾2\gÈoÙ€R¬Žeÿp’Vÿ£B²]æ£"vÄW$/ž”9Ü$ÅM©¿u&'9}ãF…d¢ä?®Þß¼Bî,z ÃjµÚ¢.äŽaAŠºÅ*$–aS"æè#ýšRÜ|„ò%˰¢ +êR@‘+ŽsÆ}@ #Jú“%*$‰Rö£ªB Úèï0”J¥ÊöF€RŒçy ·T¦ƒ ÉDÅs¢£; Ì‘+ÙØÚeû¿æ[ß|¨º×Ý[XË1𛫘)ñCî/nà<ëZ1­áb^<€‚KŠ<ú˰U¼Ì ÞÆ3°Açïμ-êBÉHŠ»¶n\Û 7K…B¡àÍí=«¶²ìZÂßo™᮪O?”{€@Ìÿ>U*²§™wG¶ëi g†»òš¹·‹âžA×Ùí[/|+BhÔ¾ÁíçªgmdJ!œ¹»E‘ßÝ+½Xß´ÒD¯m—Ô4-ê²äÃ0<Ÿ¡âu×t{÷˵MMÌ‹ªP™Ã"†)Ì9ƒtÖt ê¾ÅäÓAgŽq7Šyxëæ}©¢³Q¡íàÃ+H…з|Ñrô®ÿ\?í?jA­*ÞVbtäµ³-MKî@†a ==zæu—œ9#PBÈ»G6öfÂß+ZÚ0„Ö¤LYÙŽ[éÙý§5M}sÙaüÉA>uN|}ûä@·Â+šA[â­½ü­ !„ÐW·ÌNíå€RXØlæ3€’‹a˜Âz&pÂ…yã·èÚl>µ®µm†¨RÜKê-N~+„Æþªõè]L§•×íìmœÚ…ÕºCò?p ¤ì Ÿ-™ó:,C8–%4§#`Ì=ý+'ÿ3î• Ïè<ü+:¤µ¾\-ÏZUnÕ>÷ZKy*t¡Œï”â.¯Ôì;;§rµ:Í ¢%„·=¼5½'­\ÖÎÆ©b£!«ÏœÝúM§žöv¶^uú,»ò–Bèë­-]ûíݨ‚³gÕv“¶ÜKÌî´÷×oQÕÇÑÖÎÆÖ¥\Ãþ¿œ‹‘‰ÞÙÚ®â³R̆Öî6¶v6Asnhs,RzôõæænÁC¿Ý¡ŽŸ‹­Gn‹ÏÅJ„’tõç^!îv6¶ve4ÍG®½™@ ÑÝ[X×;dìÄîõÊ9ØÚ¹}>kÿåÿmR©ŒmÿVSö¤E »‹‹Wµ6“w\:µnRû`_WM³¯6ÝO½‚.F_X5²uõr®®>u[¶oáW¾û¡8«Lf"îR€B"ÅÇ$1>.!›¿ÈÂÓ£›Vr6çyž7²×´ùæÀ ‘íY~¼íûbR–¢¯¶¶¶4iøÇS‘¢}²{RëÊeÍxÞʳvßßÎÅøüƒŠ*öiéÙŽ©¿?µë±jQºÐ™Nâåù‚½lŒxžç-=ê~¹êz<%Dwçû@»Ã&ôn\ÑÑ”ç?éµâFÚUym侪ûØóÆÎš¦#¶E „špgý°Æ~ŽÆ¼‘]¹Æ#×ßzWÑ®ð+$EÒÃ]SÛTõ´ây3—J‡ü‘ýç5!Ú§æ|Q«œ£1Ï[–õk8bê Çì*!jKC ŸÞS4ôVó¼:dÅ£·g†»)5ßßÑ’pv¤·}ýAý›”³Qò¼YÙànó½ I¼0Ö˲öÒçÒÅ¡ÞÆ<Ï·Ø“mI’òøNý„Çk¾h>åNõÉ›O‹XÒ.þ—]—ÞI!‰O_µï¶xï? }»nD“/Ö‘Ð9;Ž\õ³}ÜÀe)KÑÄÇ'ÞÖž¸öà‘ð5ã«=ùµoÓa{_e­hFéPµÃ¸E›Â†oš×žýß×]gžK W\Ü?­1k¾ìŸK/\Þõ¥—R_‘Ò£ïîn5yåÞ#{Vö4 Ÿ<à§ëZB1u«Ý}òÒmûí^7½þëUC{/¹­%„1æÂá˜Z“6;¶uœ×™ï;6™t¥ÂðUŽïœVùÆâGSBˆôjÏÀOñòDZóÇ× °ÜÔïóïÎÇë«AJ„”»¤MªÎ<|hA- œ{ðôéÓ§÷OªlL¤×áC[?æ9ð÷'#VöµÜ2¨Ë¼‹ÉÔ¾:q†k>ssľU=ŒÃ§µkûóËÚVï?°f°ó?sοœ˜¼íËsÏÊúõw¯Ö8aãØÐ¾ëŸd=e…•_Ë!ß­Ú¹gׯŸzÛÿ;¯ÏøCÑ4Û"áɺžŸM¿[mÂúc'õIXÖ»÷ò»YŠÐww=)7hYxÄŽÁ÷—ÙlØ!Ûn wÞõç¯×Žújû"!Dw÷÷ž¾ÙbaÄÍ{—תž]|g•>Ôß(1$±piШquéžþÕ;OZyøÁÛô[exMÛ±‹·;õï¾?;žÞ~ðž7TéÕ¡O¥˜=¿Ÿˆ&„B_^!ÕëßÄ‘£qÇG×k»Ú¬ÏÊ“wn†O¯1¨åð}o -yŠ’¾Må§BÞ^ÞzF´iÞ½šeöƒõS÷úýfþ¹ïÄ©#;æ4z¹¬Ïç n&GŸùû¾G÷;OžXÖöÝŸz¯| BÄçÛzTm¾(&dʺcOoûe«@[‘^îìY«÷Aï¯6_¸syë0õº®-¦Ÿy—çÒf¡¿B½¯êÙê³]«~¶(¶ÕoÝ9¹²¯õŽÞAMÜÊú‘¨»÷kXóÉ׫OÙræÚÕ#ëæjâfDHN•@! ¶3ïüÃöƒ;~¤ÎXçBÔ¹«}~¸xz߯ÝÍÿÛ°Ù÷Wü&¿¶©“ )?õÈí{‘!V“IDAT÷îÝYÕÐBß!ü(øûÄK‹çžôšxjb¨›‚/§w[ÕèÏí÷ûr!„0¾ú·©iÃòÇUY6Ú¦ÿðŽuÌ ñ6*ø—GnÇ÷±$„ηuÛ„”¯ ñ®W›`x×úf„JÃF×YÒ娭8êg£roÙË=eOâ¶u½ߎéAaôê`DH™Qa?î?:¤w3_%!î_uZ´{׉H]#5¹·fÆßÂg}á¯"ħÇÔTûqõÕqU‚Œs®ÄÔ“–QªœlŒYV²qvvNÊ »»þ»½ývMïXIEˆw×ICW×úiݵѕ+B·½:ÔñP¿#ë-éúú‹!س„8 ÿtñç§.½+»B)Û(¬Q'Ž”/W©‚уà!?­»Óî+àlªµïR-¥‚+X\ÞÐdç©Hmˆ_Ö"‘Ä+¿Î?í9îè¸V® BÜûMêügóµ;ï÷îËg®á*]z4ÿÄŒ!=~Þ¼¢Vÿ~­>1&Ä{HßÅë~8þ ©ƒ#=·äç+•§ëSÝ#ÄØ·jeûâ:´‡Á£Š€ “haD:Îgж ë/ZôSßÙ}í‚:œ2µ}!Ä"¨c· äÅü|¾=³ªæ–#÷âB4N-zŽ›üÛ‘õ›¨éËý¿aü^W­Kx¸qÒÊwí7-èWÇ‚Ò~ÊÔå øéØœMõeér›?."Å>{žHÔΦ’6)Ûž¦L‹ž©1ÀÏsÚ_tÝ%jTY­H§¦C†tøÄ˜â5jÄ¢¥cÞˆíí¤º·zÚEŸÝk&×6g!Þ>„íÛkË'n·|ø»ÎF„xôøfôRͼegÇht%TÐi“´yoÉÜ+D§chn:DµZmRJ îöÊé[uÍ׬ÛÔŽ%ÄeÀ’•×úý'{,¨n’aÝ„ÿn?“,jU«¡ñvQ7÷ò„6I—m%h“t‚DHåAc»6Iy;$œ•(¡‚V›¤´%Nušùªñš´Ææ±«ùóþé·¤¶µ­)Ç*-ììí„§tyè-*ð'¼ðòܿτ+ª•ÂBuµŒ‰KúÅXck3NH’ûa•…Z)¾Nʦ[–/SÿSw²ü\dRûL/ÑøÛÛÌ_sôúƒÇ‘‘Ï¢“HùÄl'2ȹHú(̬ÙXD a¤˜‹ëæ/Ø|òö£'O"ŸÇRR]›¹¨¬©µ£KR²5e´ñ:‰Äo o4v[’üF’t:ªtŽÑóä8½i&þfÄmáÑÍæ¾¿&/Fòα™7È™Z3ÏSkXafcÌÜŒ×e­Î&¸Y92áÜ£Dâù5í“¿þ°êÐÕ‡O"ŸD¾I$Ž©›ËDxyþäÂÕÉu¼¦'ÿBjû4V „ÏnyBaM­M]bÊ9SSF— “ˆðúÒù(ÇVÖ%`«ÊHUÔE€"Ʋ,Íqô^Þ)jvû¦f·)Ñ7m\úÝäñ-wÿ³ôß?;•U¤G{Íþ-üÒýÇ?~@œu¥œKóÞUÇŒ]ñOtã&ÚˆßÿᯩcEhüƒ—^måº)ù…êt"©úü­HÍ ~YSÿ‰òW!ŒÊÊJInÜy¡¥²dŸs~õœùþ¹õðÉã'ÿÅRœ$H)O¨LpÈšZ›°¢N(M¸q×è“o5fŠòîÚ¾›Âƒëu¥ûDv‰h¦ åþ á†2R3ÝØÉ”Eãï¹K*ލfͤüÊÔ¿EU£åg¯¼ªgøŒ4ªØÿë¶{†tõ=ôyŸ>}»‡U/cÌ’}%¤Ž¿L·§Ô¤î¾Ñ"°u bíåo„Z&Y‹˜½<=¢©à=K¢V$|í…‡~ªûþÎv…¹½Éïô7 •‚p 6sŸoíûißkÍæý²ªe{þÚÄj­NåµH†ÑÝÿ­c“)ïºÿ¼hzO[r¢G¥/b .=•DA"~Sÿ^fŸÖœ‰YΫ(x}ÏÉLÞ`…‰;V„¦ß ­Éç·mF¡â“5ìÒ˜£ã[uÛ«™´dñ¼Gã§¿6 YÓ6$H5çïý±N¾j8Ãnc%QWb¦B+fÃý@f,Ç}€iÒ9Kß>ß×­_¶nàÄ·b2æ¦äH”üJ)’tI4^ÈP*êt©ôí¿ÚÚ§åoÎÔΔJ&ªlé_G¡` Êá”ÐÔ¤?ªäOÓ–aHÊ[VVyu_q¶Åð½›6®^:$dÖ7Ÿÿ±ÿ—0g)»J i\é÷”ús¦Jax^AXC’©!µ”§J,ð!…MSÝ•CŒ\Ò8Xðù½ ©{²oç]e…:)=KióöºCÚ†3gö¨îfka¬LWp†ã9"jÓ: X$ñåÑçÌ;Ì™Ò6 Œµ¹Q„1q p"·÷_çÞïÜÑJiøVŽçˆ¤K=Ƹ¬Æ‘Ü9xƒ³wNã ÎÃ3_ÝzøÖóJ½ìŸZà 7·…¿ÒŒ›Ý·Ž§…‰*}ðÏT$¢°.çe*\=üÄØñ}™ìÍù)“ÂASÎèᮽ÷sè¥/f9O*få€"@?I§ cigÂÆ_Û´ûeå)? ¬ïega̳éöËØ5ì][ŠX¶móï§Í[÷¬jF)¥|™@WòèàÙ$Û÷Ÿ<Î6FL¡•,×Ü‘W¬sè„Ö1›û ^s'^Êüªðâðú³æ¿ŸÖ> Œ•™‘"cþI¿dêî•eª¸·ž~“~[ÄÈ­²3¹~…Iÿ‰¬VJIæ åMnbЦ3×ʽ†¹¾óäk1åo¯ì>—àTÉŠÍnu…¦EÿoÖ¼¸¤Îó¿æîˆÔe_ ©»Êøsúߤ/†uzã©Ä2µ4V ¥”UpDÔ ‹dð}Eïï4¯>¤—çŽE½;Z}3¦]UgîõíkÌêw )“‡mˆ"öu®æÎ?9´xÌôK^Ûزœhc*FFlÝUó?[÷à:.¶VÚõKW«ÐÎîÁžŸ'­}ES®3Æe¼Õo÷¯ßuÞIÃ%šzW*›S‘r¼œkâäjòfï¯u Q]Ý2Â>-­nø±ùõú²Ê²É#Û Øµ¦‡qìý«·t5º|橯S3=¥}9{iù_ÛN•«m’À¹UòôëÖ¯òŠéc:ŠÛ)ØÃ8îþõÛBõN­< /!ÏO…ö¯ëcúêôšic[~þg[W!&Ö&âÓ#Û÷?·q«VÍÊÍNÚôçïƒ{y¿:²jæÏ÷¨EÊd4°»Ç®Åºª§ŒlSÅYñúεǦõ>oè¼Ü?}ôʘisºzTÛ„Q×ÞÛ«Ùœ#L¾éâkúúôõ%„°ŠWËˬ8 ®Ôiuå ð‘£´p¾ÇF|YoðÍŠUó÷pPÄÞ>º~Ɇ›îýv5³c¸(w{iÝò_Ãkö÷yypÙÔîPuHJF`lêõ®Ïvþz2±ê9=À„RJˆÂµÝˆ&ßõ›ÖC7}@ãòê„ÇWoÄVl×> 0¦Ø¦” B–>´ ä§BÔ ç¬u;tÞÀO.néÓ»m]? yãôYmË©#|\MÞìY²ît™Æª+›çŽ ×Òà÷ׂÓý#õG¥o—AÁ Çtig=k|—åM¢ž$¹Uõ³òë=𓥇… ŒÔ­–§Iì½+7…š]üX[SñÎÿ6ìv¯dU¡~í2yDe@…P=¯¦-”yQÞ³ó¨Æó ì9G1£“?çìË¢kÍýÒß(óÖ®¯Z|Ô²ê'>N¦ ÷#ÂoéŒLØœ*£„’¡×”fLò¯ÏíÝw’ó·y{qã7CÖk›þ2 ¢ŠRÊÛ–s¤Ë7o8Ú Ô&At ¨˜Ãˆ8J©N ì—)„ûÙM'ìù{vÕ¡YÝ›×oøùˆ7Ÿ~š”ÇkÀ/Žý6®]Í*uº/¼Smöþ=_bÊ֮ɨ>åo/ìÛ{Òú›ñ’qà×Lkøß‚ЪU[N8`×sX€Iêéd8rZ«¿…ÔnÕwþ±WBÁŠÄ¨~÷û(ÍʼnMªTïðÝ¥ û¸çéú±Ò{À¦C?÷rº°¨«Fu>4kí±ïòPJïîS{yŸV¿eŸYGêïÕwýÞ=/.Ò¶i£C¿__®XØžüÑ9¨býAëÅ6cê[²iû%êZ½CÌ´eÛág”²1ΩýÊ#«Gû?\1¬uýZŸöœ´,üF´¥Û+¿>H…0–5&þ}~ûìž¾ÿí˜õe—¶­[w2cÃMÖœj%ˆsW}¥¹0¾‘ÿ'mg^¨8¸Ÿ‡QZÚ¤évøþZµÂ½Ïƃ?wRíŸÞ©Ž¦j«Áó¶\‹“(ï=pë‘_ú8ÿ±oóz5[öŸ±úè½·¥¼GÇ1ìÿ™Þ­Ïô´…]!ÄЮÔLËqΟÿqle7nËпz}VD‡.?º±·»"ëz›3«Ætl\3(¸Q¯EêÎÚ±¤™5É©hÖ®ÕtñRJÞ^ß:³WCÿ*ÍGmWöY|åçÎ¥”²ÎmfŒ©97´FÝv_­¾“¨¿B üêÁ¬]»¶É§ Zöƒ ¯·¶ô`²ööÆ&…p×]Éó6.nýúµ-Z´öó÷ÿ@{8Ú/°ãã)gþ×Å©ܺChÔÎ6š‘vkÏ/­£gLlÑHLLøfê”ißΈÑ7”VZ­vïß»[}Ʋ…2ûuÉ Õj7oÜдiSKµUÖ—P!é]{ª;|òb¿°`ž+!ƒ²ϯÒho—ãÿN¨ï;gµÂüµÇ[4¨æ_&—K»{Ã÷×k>&J¥³B¦¢1ç÷Ü”ìkÛÏ;Çq…àcÇ)’(~\ ôvd¡B2Qòœ(J ¦„äΔ;¬¤<ŒÐÌ*/³h!wB‘Ó=9´ó"ïSÞ™{~vó¼‰ÛÄF?v4pt¨¼ŒŒŒòø<0( q¥’@¡Pär ’Qú[Ò‹;šiÈl~(œá+#wBQ£n^;cÃé‡1’EYMÝÐÀ¥¸¾1“’ò;?”%)UNßL騬JL…¤ Í,X‰“t†^¶-òwÆ&l×ë°¢.EifVgéíÈ¢.„>œ}ÈÔM!S‹º†)ðgtiƒ ɬ@½‡òR|{ñù·D¾&,òÜ Pbˆ¢È²%áæ,øb¢£ÕjuQ—B>’$qœ¾?}¨L¢¢cí¬Le+O‘E‰c c¹³ˆ1 Q)Uq±†? ŠÌ[7% s:|¤By…">þ­¥¥eQ—E>/^<·´Tg{Ç:*$Ž¥J› µU›d}µ´zø"ÆÎÊŒ×ÿÐïTÈELÁ+ýý5‡î·³·óö)§ÿ+”!AÐisxö¼DI*.£!)MHH(à6bc£7oØÐ:¬¶xT/Èå8O/ïS'O×°µµc¹Ü'¡¿¬êtºB»Jiîƒ Ñj“Μ:¥Ñh|6’‰Ú„ó,ë¸ëøíVµ|ËØ™g}$uV:A p+y&IZ±°*„’¨ÍeÔ&C˜ø$Ýîïù{[›4—rgS©T•4sK‹];wþ÷ßo’”‡ × !*•“åQö…‹W(¹¥aÊ$ÿ?Ÿ8Žãù{;Ë0*£ÍÍÄ0lë°°råËÇ¿{WX¥€’…ã®®®’$]8.&&&§üÄ0 ¯4ôué)8ŽËÒ‹F&×)¹•Êüü}cYVÁçÖÙA‰& ÀÞÁÁØ8› ǨLì͹wöVAþÞÎ=xõN³¯–aTÊü0Ç*2gYJ ˜ãÏ8»”œ+NÁñŠ\Ò$%$ÈßÛÙÞÊÖÌ Ž3ä΢'I’—·OÅŠ~L±šw·Ä Š– ¥T«Õ"t|äx¥ÒËËÓÅÅE ¯§-U1| /Ã0 ^‘mÆJ† Éø*ñ°åͬí­ÕZ©0ëƒa[üjƒ±ÄÚ”µ5ã0¾³$Ñ&%i‹É%iЋå&¦øô|’Ã;sÎÎ7¡f¯8u°@é…Ü r@î9 w€;@È äNr'ȹä€Ü rPBö†ï+êb@)÷˜ÂDéÛÃVIEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_help.png0000664000175000017500000053173112142400477020021 0ustar balakinbalakin‰PNG  IHDRdÍi··ÙsBIT|dˆtEXtSoftwaregnome-screenshotï¿> IDATxœìÝu|VõûÇñ×¹c Û€±FmŒÝ)*! òµýÙ"ˆ (H‰ ÝÝ"5F+¶;Î9¿?¶Ý¬Y3áz>·Â}ŸxŸ¸9ç¾Îç|ŽBŠÃ‡;9rd˜ÕjTÊ „B!„B! "Z×õNNNS*W®üs£Fl ÀêÕ«¯\¹òwhhhýÐÐP\]]ïlT!„B!„Bˆ"É–-[èØ±c‘ÎÇjµræÌΜ9³ÇÍÍ­×»å˜fÔ¥K™ÆÝ²m[¶¦ßÃȹŸB‘†¢(Ž®\²{)ŠBxx8õêÕ£téÒé>+]º4õêÕ#<<ûxó÷ó£q£†ìܵ›«VóØ ‡Ó»výÇ8%z[ !„Å(µˆ’›Í†ªª ªW¯Î±cLjÅÃÃêÕ« ª*6›ÍÑZæv¤ #„BˆI=(é (ªœi§”qºzšO3~6hÀž9»Ýβ+ÿéglÛ¾ƒÙsæòÈÃÓ u‰»vS¯n]öíßÏß‹—нk—tÓïÕ½{rAfå*M3¾¦i¬ß°€Î;”èí$„BÜ ·»ÕÈn·³xñbî¿ÿ~ !!!œ;wŽ   Çø‹/ÆÇǓɔ«y: 2Ž+8B!„(1“’˜5g.«×®åâÅ(¬6Œyþ96¨ÏŒY³Y·~§Ïœ!áæM|}}hÚ¨OŒ§§M[·¥qÆ”*åÎÁC‡±X­4iÔV-Z°tÅ Nœ<‰Ý®R¿n]^ó"åÊ–uŒW§v-ŽŸ8«›+M5fÔˆaøûç˜[×uV­YËŒY³ˆ<}_ºtêÈÇÍöœ#¿9¶nßÁ´ßçߣÇ0›MÔ¯[—u62æùçx¨oŸBÚù—UDÓ4,‹ãï];wÂÙÙ™—_ƒ_¦MçáýÓ]a[´t)º®3|ÈãüÎÊc¯…Bˆì½>díú ”+[–ºáuˆ‹‹'òÌ’TŸ8y’s.àç狳“3'""˜÷×®Gß`üûï9¦³s÷n¼½½‰‹‹cõÚu¬^»Ÿòå‰gýÆäŸ|ø¾c¼ƒ‡S¶LBªWçTd$KW¬`ßL›2™Ò¥K'”r‘ö|bÖܹ|ùÍ·˜ÍfÂk׿ô™3ü0ù'=jd¶Ë›ŸœËV¬äÝ>Ä`0P7¼–$ [¶m’;ØÓo5É”³0éz…=íç™ç™ö=»ÝNÛÖ­pww'.>žËW®àëã$o-YJ™2ehÔ Q—.³wß~þ^²ÄÑÊÀÉl¦S‡ö,\´˜«V3rØPÖmH¾]©[—NyêlP!„¸ä¦ àããÃ¥K—غu+íÚµÀd2±iÓ&EÁÇÇ'OçrË’BQ‚íØ•\ x÷­±´lÞÜѺÄjµ¢ë:ãÞ~ £Ñˆªª$Y,DEEÑïáGؾcGºé¸ºº²`îl|Ê—çŸ#G4x(...,˜;_ŽŸ8ÉCƒaëöí™Zή\²ƒÁ€Åbáٗưcç./[ÆÀ‡Ê2³Õjå»'0ñë/iܰ!ñññôð0Ì™Ë#àáá‘å¸yÍyóæMÆúƒŸ~øŽúuëðÝ“˜üó/yZ×ÇOœä›‰³ýüõW^¾mË låòTKÓ4‚9zìñññŽ‚Ìî½û¸ÅÃýBQ:´kË'Ÿ}Îâ¥Ë9l(F£Ñ1ݺ9 2#†`݆ÉãÝw_þò !„w©Ô2¹½`Q½zu°Ûí˜L&ìv;-Z´àÈ‘#ܸq#Oó–2B!D 6h@&ÿü ϼð•ƒ+Ѿ];úõé—§'«×®ã§_~%òôi¬V«c¼›‰‰éŽíF£Ò¥ILL¤JåÊ8;9a³Ùðôð 11‘Š‚([¶ ׯG“˜”„«‹‹cÜÄÄDÇþ=ÄŽ»8zì¸cúz†–'§ÏœÅb±àëãCp¥JD]º„¢(4¨W—«VsäèQš4j”åòæ5ç±ã'°X,Ô ¥VXI)ORSNªtôlsfÏÎÝ{²Ý‰IIYŸ/å0ÝÔ¿kºvÛ2š¦séòe ¹EPêç‹—.’·÷ö;äÈ+W¯²mÇNZ4kê˜FÝ:µñ÷óãì¹sù÷_ŒF#£¢hÚ¸1^žžrÎ'„BdÛ2^^^Ô¬YHîÀwÓ¦M4oÞƒÁ@Íš59|øpžŠ2&H¾“öÊŠB!J†'F §{×.Ìž;[¶0åשüþÇ,Þç-*ñÊcqr23zäHüýý)Uªc^{ÝQ˜H+mAÂ`4¢Ûí· š†ÉhJ0Û<¦”ó'³S¶ÃÄÅÅpéòe:÷è•éók×®ç¸ÌyÉéêê €Åb)ð­8 ÔgÿÎíÙ~ž”””å<Ì)OCЉ‰ÉôÙ•«WpwsËU†õ7r#¥¯—ÔGjÆÇdzfÝz._¹Âå+WÒ³xéÒt]×éÕ£;“¦üÌÊÕkquM.®uíÜIŠ1B!DyéC¦F@òùÈÂ… ‰‹‹ãÊ•+ŽŽ~kÔ¨ÁŽ;PU5Wó–2B!D v2"‚^zþ9^~ñ¦ý>ƒ¯&|Ëì¹2h@‚ƒ4pŠ¢p=:Ú1nv­5n÷^Æ÷SÏTUåÏ ¨V#Ó¸ 7qqq¡RÅ  L&c_}??ßtÃr#&†={÷ЪEKÌæ[O#ÈKÎ*•ƒ1™LœŠŒdÕšµt¸¯ÝmÇMÍ™‘ÝnÇn·g9ŸœT® À‚E‹hצ U«T âÔ)æýõ5ÃÂ2µÔIûg«ÕÊÚõëùô‹¯xlÐÃŽâÏÊÕk°Z­ 2˜çžúŸcÜ›7ißµ6m&::///ÇgݺtN)ȬÆÃ£4f³™6­[ÉùžB‘EQnû¨jMÓ°Û펧)T­Z•Ë—/³páBzôè¦ihš&½B!þën޼ɣ°«*¡!Õ1™L;v€zué]«&^^^Dœ:Ń ¸REö<”e똂x|øHüü|‰ˆ8ť˗©Z¥ ={tw|îææÊµëðìK/áááÁ¾a@¿¾Ìœ=‡wÞÿŸòåñ÷ó#>!ooo¾úôÿ8ôÏ?Œ}'¹Óá‹b6—ÊW6“ÉÄsOýÏ¿þ†·ÞǯÓÃ`0p*22Ó°s~ÿÍ×ùšgF÷µiC€¿?.^äñá#’ #ºÎ”3+T }»¶™Æûcö-]J\\¼£UÀÿžÅ}mÛ8ŠC‹RnWêѵ ŽáE¡s‡,X´ˆ«VÓ¿__Çgþ~~ŽÇc_½vöíÚáæê*ç|B!D©-dnw×Ýngêԩ躎¿¿?¾¾Éœüýý¹té?ÿü3Š¢P«V­\ß$-d„BˆÊjµòð€þlܼ™ã'Nâäd¦B… ôêÞ¾½D×u&}÷-_O˜ÈCùçÈ¿4nØ«ÍÆÖmÛóÝB&ãy““™½ûöã]®êÇè'F®;ú©9lŸ|þW¯]£T©RhšÆ Ï>C•Ê•Y¼t§NqâäI|||¨T¡𦡠dšg~söï×—²eË2}ÆL"OŸÆÏׇ?Μ=—îÉGsÖ¹Á``êO“øyê46mÙÊå”>`*V¢M«V <8ýÓžRįŇÙl¦BP Ôç‘ ®TÑÑPÄ©Süsä_ê…‡àïŸî–)]×éÙ£ -âï%Kè×§·£3fUUéÕ£ûöï K§òt%!„" ¹-ÈFÂÃÃä Bià“ÒÆÏrœ÷Œ3ôÎ;ãììœÇØB!„(JŠ¢`6›1™LŽôº®c³Ù°Ùl@r1ÀÙÙÙÑ4VUUÇIE||<€£ø¶u…»»;Š¢8†Iû^BBº®Óò¾ìÚ² ³ÙŒ¦i¨ªêxÂS*“Éä8Ð4ÄÄD€tÙÇmO‹£Ñèèÿ%u~ùÍ™šÁÉÉ ƒÁ€¦i¼óþ,\´˜Þ}‡ûÚ¶É1gaP'''ŒF£cy³[_NNN89¥ïƒ'uX›Í–®pb0pssCUÕ,ó¦®GMÓ¸yófºÏÌf³cy“’’òu;–Bq·‹‰‰áðáÃx¦<0¡¸DDDH !„¢¤Òu‹Å‚ÅbÉvUU3ýÏ(íí0©Ò8rz’ &9]5J[ JËjµ¦{òSZv»=S®üæ´X,ŒFG†“¬^»EQ©^ÍqŽ“]Πëz®o»Ý6MKUÕ,×Kª¬ÖcªœÖ¿B!’å¶…LQ‚ŒB!rTÒÏæ/\È÷“~¢BPº®söÜ94MãÁû{ ·ê!„"Gw¼ #„Bñ_TÞ»<õëÖåèñchªFxíÚt¸¯ê—ë–(B!„¸7¥cR[Ê'i!#„Bˆ,íß¹H¾·º$Ÿ'tîØžÝ»9®liš†Íf+ô§M !„âîãææ†——º®ç©CÞ -d„B‘¥˜”Ç6—tEÙ7ŒB!î~>>>DFFâååå蜿8H !„B!„Bܳ¼¼¼ðññ!**ŠR¥Jáìì\,·/™Çc'…B!„B!î%6› *àååűcǸqãF±ÌWnYB!„B!Ä=-11WWWZ¶lY,ó›9s&ÅÛcB!„B!D d³ÙˆŽŽ.¶ùI !„B!„Bˆb–\ÑÔ;C!„B!„âžQ|ÏsB!„B!„€d„B!„B!Šô!#„B!„BQ̤…ŒB!„B!D1“‚ŒB!„B!D1“‚ŒB!„B!D1“>d„B!„B!Š™´B!„B!„(fRB!„B!„(fù¿eÉz”OÛ¶ã³S™?rî2“ÃS›qrlsºnÁ–ÕOá³eµÅðÑytõ(hìüQ/þN÷úcØ—ÅgÕßÜÌÚ§«`ÎjÄØ•ôŒõÇ#üÕÓ“øõè=ð*_Z@ŸrJ§ÎÌvi Ó¿ùŽi‹¶qôRº»ÁÕêÑqàpFhE%·¢­³é×þ¤Wíðúý¿µ/ÅIìK³í«d¹Rï k[gLà›é+Ø{âÑVÃjÒ¨÷;|ùL=Ü‹`–Éël åÿ8À/mKÁŠXÊ÷ýǺsÙÿCËLëèæöhðÀzú¯ØÂ¸p—ÛNN¿ö'½Â_§ÒÜ=Ll^k\!„B!J6SA'àuÿ7üöt(NŽwÌ^•qÇLðÀñüØ¡*>žKa2ÓbülÞmè–æ=nA¹^.aO2á‡$ê—N.ÆÄ­yœš&0ùߢ.6éÜ<ô=õ~ŸM¥Z3ôÉÿclx.ñç9~p++æNeS‡æTªx§>•ÔmØÎ3÷xj‘+÷ Æ[OWÀ9ö'NœF ñÃ9×Ó9ÁWíÚò[÷l[+Íx‰ì~µ)=w¿ÀÎeC JY~¥t^ùáœÃn_¬B!„Bq÷+ðÏe—òÕ©NV?3½êtå”?ÇtF…Æ„W•ÚÔ Ï+“Oz=pûá ›·÷Ÿ5Þ`ùïOQÏãVá¥u—¾ Sü™²fL·íK’¤Ãßóþ";=]Éä®e‹ïž=§ Ú<T\sB!„BQ ù–¥ü¼’e÷y"{ÇÖïÍDNZuRÏ4œõ+Ç?JÛðJøúU£~˜º?5Ÿ™r|zrˆ‡³^ÞÆO÷ aH ¾jӢ߇ìRuô”e[7Œ`ÿ^Ì»Ǧ'C¨6h%Vm ƒCüñõó'ìÅ$z~•Ë+¾à·Ë yâ“Ô-­ä<|ÒAÞkÊãÞgX»šøùÓèÕÜ´E±ôíþ´¬Œ¯Ÿ?¾5h=ø3Ö_±§ŒÇúáaÔ~ôužêÕ`?|«4â—¦s VMЭœYü)£º7¢ª¿?~!m1i?±ZVÛ^G·^díÃéÔ¤~¨Ù¦?c—\ĦëèjÿÌ~“÷Õ§ŠŸ?¡Mè8b Ç-…¿¨7cHDåf|âmö1•؃Sy¦gSªûûT³ |¼‚sÛéÉÜW¡5ãOjœÐ‘Š~þøúuå·Óûx¯aºO½‚vè ùãëW+cЮþIOÿ* ]‡nàÛûBéòÆ<Û·%5*øãX“öÏÌàXâ­ öè=üò|OV " J]ZtïG—!<º&6y˜b\o·ý¾ãø‚ßÊmFt¦^|ƒëÒaÔD¶\µÝÚ‡2}s³ïÉK^ò’—¼ä%/yÉK^ò’×ÿå(ÈÜ1z<Ûß¹Ÿ!³ÝytÂ2vnÍë¡[xuЛ¬»¡Ý™HqÛy·{oƪÉó“—³eÝ >Ù¿,‡v£ñø lø¦&ðùº]ìÙ½‹5o×õГÅsð¯Xë˜XòöSüxÌšEŽ+,yº#'ÇÒöåI,^·œiï¥K²˜€ø­céýì|\|Î_7³zæg¼Ø'Ï"Ø;Ýêæ¹æ:kžnC—'>fæ–3$d±«ÙÏÍäñûÇq²ÉÌÚ¼ƒÕû8yC~:‰ø0³¶ÍftEðü;[wïbÏžéô¬ÉóK6ñKŸ2PýeþÞ¾‹=»w0±uý쨱ì[}†Š?dÆòU,øª7ç¼Ìs3Ï`°dÊàþüß•LÜpŒÓ‡Wò˘¦$ݸµ~‹s½9è*v»=‹—Nºž¨¬ÿòu߇˜ßOleç¢ñ´>ù >=Ÿ‹jN3Èݾ'„B!„ÿu¾e)jJw‚§¤}§ϯYÏka·W½´„g&Ò{Úÿ1¢urç+A¯¿Îﳞçç]оcQtÈ’È’! ,øîÐú”Ó¹ºò3¦ç-òhpro´U¼£2NÁ’iZ N^¾ø{»b0h”ó  ¨úѹrÕ‚«ŸîŽÜ7Ùú|KzϺäÌüK×¾CÝ”¾†+ô|†'¬™®o”¦ý£iê_ê„áqpîàœµ^©VèHŸŽ ñ7BXhmÂ\OÑä©o™q¼/ûŠG¿Äû’‹ á_aö¯CØp$ž—BÓö϶³óùl±™Ás§ðF³Ò(¡©;ˆNÒ¥Hbð¥nóÆÔªV • -¤Õ–‰K£ÿØLù?ñäŸy¡ï7¼àÝ€þO½ÆëÃZáïÄÁ>gg•×ÙòúýT4•ŸàG¦Óå÷…œù!~xš ˜<| ¸µ~}üñ)eÂàä…@)ß0=Ó={ ~GóT¿zÉ·û…<ÇS?MãíͧIZeÏwL8TŸ÷6¤©Ÿp%¤a]|$ózK·` ¡ ²ûÔß‘-fó—üpºŸÎy–ÎÞ /¾Õßýʺ+}˜SGÏ9ì{¯„9å0¢B!„BüwB§¾_3ý©Ð[?H ®øV1C勌’"6ðOÒu¶¬Í_Æ” ‚næBý+‰hxA3Í?šÅ{i;õ5–¦’§$qzÛ1l¦e@ {4Á…2^f/œ%V…RFWêý‹-Ϫè¨\œ=”‡fåØüë¹UüðÅ4ÖŠäìùsœ¿ž~Ôl¶eÄ»YwByÝg’À'‹ALî”u5gWÉ8™¤ˆÍD8×ã­Z)ŘtÊÞ÷2O7ÎÇ]ê0§ý † yœþ÷…âYD+N~4ô&M½FÌñÌÿõK>|¯?Ë·ÚÉýä {·Ea?ü-ªŒKɬ£ÚìèÞˆ±Sßœ Œî”u3 ÚUtì\;°~=©WΘÝRûzpný!3^«›©XÒá/yì•Rþfåì–}Ä&žåÉú•y:õ«m·a׫p!V…r¹c†}O 2B!„Bˆ»Dþ{­ëè:¸xW£v:™:õÕS>wô9Aš?§v7¡Z±S'þ˜Å¨tÏFVp.ë¢ë™~ÜDòršðªR‹:u2vê«£ëªÕèhir’±¿‹ ˘<ÝôËVøÜ ïÝ󳓙uü!žMþaêì]‘ÊÞvÌå]0Œ(i×yÆÌ1yµÇã,«û?|ÿõü\9ÿC7:ü–¦ÇúH³dœëÄY6ì³â@€ãåO9—;Í™ÀúáÌz¶\È}‡ŠÑŒ Ûí§€ßÎ/2Èÿ8Ÿ ŸÕ—2çÓTÅ`Ìq£&ý‹åWÃyãã‘´©R7gŒ™›­d ryã|B»jyïÇ%¨öC,Ús#û›Áà–ñüóÙö÷H¼wÿÈûò<¯üѱÛUP<ðv3€©,5ª¹c;´ž³®~iöË|KcVŒ˜Œ Ú2n£ÉšüwybÂ7<—ÈÅ,?•EŸ¯¤s9G{SÇã¶•‚|°qãä!x¥mB`À- „ªÞNøu{Š⽡¯áôöc4R¸¸uÇUŠÙLÑ©|(¾Úþøk5Z¹‘h¬Dí*¥ ½Ú¥x4ãÍŸ_åß¾Ÿðh³Ítþ(=›VÇÇKÄŽ¿øî›#x?ô ¾&È®`.S‰òÚ\¦NYC³áÕ¸ºa*NŒ@÷hŸ~ÀK;X¾¾mª»smçï¼ûòz¼L§_EDç-·SµŒjüoŽ|”2ïŽa`›Ün\ÀR±>a^:Qk~aþ•*4¬U‘r†«ì_º“Ë”£R™Â¿m,vãót}é8¡íÛÒ¸f0>æXNlžÇO§Òйt.oJÓøƒ©²è;žxÔ‹w_ìCÃ@WÿÃ9÷¶ôïˆÙäEÕ@VüÉÚ~nT´[)V_'3ÞÕýЧýÅü­­éY6 5 NûvQðjõ<#ªvã“Á/àþþ(:„ºsmçjNÙô”iÙ‹u½åïÏòPùG˜üØPœÞ}ŠîuÊ£]<Ê¿WüéÚ¯Þfõ:z©Æ<÷¿F<òå [Ó™÷g· ¦gîö=!„B!„¸(3fÌÐÛµms§sˆ#ž£0àì;ì^ôþÙõ)+Šý7½Ã_¢üŒ=Ln±¤»ì{B!„Bˆ{úõîl2BˆÜÒ‰Ù»œ£š5|Š¢í•B!„Bˆâ”ÿ[–Ä]*ÃÓ±d׸Clœ[·ˆý¦jÔ0ri÷Ÿ|þÖ_¨¾`@Ó]ú•}O!„BqïÈw/™Arüüü¹³ùt‘ù/fNu»ì•äe¹“r³KĺSoðﺙ|8g'§c4<*Ô¡Í詬~ò>ï@ß¶yÙÿJÄúB!„BˆN™1c†Þ¶Më;C!„B!„âž°~ÃFéCF!„B!„¢¸I2B!„B!„ÅLZÈ!„B!„B3@ä©“w:‡B!„B!Ä=Ã^·>—¢¢8úï?ÜˆŽ¾Ó™„BÜ% žž„Ö¨‰¯Ÿ6›-ËáÌf³‡„B!Ä]+ãyñ™s“ 2—¢.r`ÿ>6j‚`FÃ=r'“âø¸ÃE¶CI!ۢ丶ERb"‘‘'9°o/áõêQ¶œw–Ãݳǡÿ’»`w¿»áßMq÷“ýTüÈ~Zø2žCJ ™£ÿ¡a£&T¨Œ%)û=Òɯp,«(éøZä†ì'Y+WΛ°ZµˆrB!„÷ŠÔób¹I_!„B!„¢˜IAF!„B!„¢˜IAF!„B!„¢˜IAF!D1'!„B‘ö¼X 2B!Š˜‚‚A:ìB!„÷¸ôçÅRBQä F#º.­d„B!Ľ-íy±)¿±Z­Ømvt]+´`i)f“ “Ù E‘<’GòHÉó_ÍSTŠz9EÑ))ûBˆ’EŽí%³‹V¾ 2I‰‰œ¿pžCrýÚµÂ΄Á`ÀÓÓ“°š5©X±®nn’GòHÉ#yþƒyŠJQ/§(:yÞ‡tĤ$,I4M-žB! …ÁhÄÙÉW×Ûþ˜—c{É“Ÿó¾’va°¤åÉ(Ï›ÍÊùóçÙµsí;v¢BÅJ˜Lùnh“%»ÝÎéS§X»v5š¦Q­zuÌf'É#y$ä‘<ÿ¡äQt]GÓ4””­§( Š¢P±BE^yù5<<<ò!WyVlYK´¥ &.GDzýŸÓD\¸Š›“€²Ð£ymúwêXàùç6Ov¶N7Òü±¢{jD^ó¤Õ{Š+Ÿ=°™ªÞ Š5OäéS,]º˜2eÊ0pÀ#é>[µz%'#NðÄÈÑEš'"â$Q—.æj>>¾T«Z½Hód¤ë:ŸþJ÷~:µyé¥1Žï\Qåùë¯y?y”ïLEÁ`0 ªÒrâ^àäT¼OñBqgȱý¿¯¤],iy²R€„™›äÌŸ?Ÿÿý×ñw›ÍÆÔ_¦c0…HþÁ0cæ Þy÷->ü`<®®®YÏBQPµÜv™E!³?®NNû”Á/I£m£ú$ØUþ¹Çž˜²tš4ÀË£LîfQÐ<Ø’®²{®_òÐù©ÚržìŒYÐ’w».!< ]±åY¼äoF’E‹²k÷N6häøìÌ™HZµlżùsèó`¿"Ëu)ŠÍ[åjìÍ[6RµJµœ*„õ³uÙýô: ñÑèˆñHóæá Éß-MÓÙºõÏuuFAítYz?ñ9;>Zèy""#xõå7r5ö'Ÿ~D÷n=s¨ÖÏúcWXòb³\N#Yϯw1F.’<Û¶mãí·ßÎSžqãÆ1vìØBÏ3wÞ†’§,©¦üô+}ûdø®å)OÑ(ì«‹vüÂÒÝS™8z]¡NWdOÏŵ$E1`µZ‹!Bˆ;­ Çö§¾oG׆ӫɰBJ$Råî˜}û Ë‹…»vpúÜ9®^¾€·/•‚‚hÒ¨ ÎÎÎ…–¹¤åÉJ¡–Œ>L·nÝÐ4 UU9phgÏžÅb±É_0UUÑ4Gy”˜7xÿÃq¼ûö{Y^3›Íhjþ¿”7®œeíš•ØuQª‰Îå1šÌ êÒ‚½ºóÕ¼M {ó‚®g·KçntéܵP󤕘Íþy~4í;íóúæk…™''CÅ»3»3®Û2jû·)–<‹…ã'Ò±cg6oÙèxÿÜù³xzyŸÇÅ‹rœFaå±X’²¼_2µг³K®¦SÐ<šjgÁcèÙÔ—sÖÚìŠÁcåòå8G±SÓ4 #ÆCièu?ãYþüîyu„¢¤¿ÚPÐ<©̘˜9çéé•«é×þœVNýÂÌsíÚ5Ç#PÓ¶\J[¤6xzzyžÝ{ÖdûY\\îî®$&Z0 ¸¸8Ó°Aû"ÍS0…ó8ÑDK<ãçŒä|ô ŽŸ;(÷®£É„Ý–»¢žl!„øï2(Ô\?i±`Çö§¶’hO`DZ•¼Þo®Î¥ò=-qK^ŽÙ9mÃS‘§X²l)AUé]¯9¾e’·Ï¥èx"OŸeòÏ?ѽk7*ߦõz!5¸3yÒ+Ô‚ŒÝnÇn·såÊGÃí;¶§®y³ä+ØÿûßSü8éG~ŸñC‡~sÓš%¼ùòsTð¯BÄ™#\Mpæ÷G™ôÇB^1€ûêWcCâUžö$5ƒo=Á!!!7Þ|5SA¦°$cÊÓ´ï<ˆy €m¿™À- £“/îekQ­ÑG89¹Éü³cS-ŽÚĦˆ9D\ÛGäõŽÏ†<<Š·gv½mQ¦°8;»pút$Õ«†péÒ%vïÙEÃøkÁŸ´jÕŠ³gÎRºTé"Ï‘êÚµ«ìر'²fËÖÍŽ?× «uû!ydIŒG×ì8™Œì¾Â{|Ntt4ǧ¿mhذê”-[–7ǾȀ€‹$ÞŒÃn³bvÊ]á(·ÒŽ9’å0¹õ¦0õüzW¦÷=×(‹!‹†¦i;v,]&-EQŠm]ÅÆ^Ëö³ˆ“ç1 D_#66f-jK¦;)"ê0¯þÚ›ú¡ÍÝö]^ü6r‘wÒ$]!î ÎÎÎØÕ¢ëž!£§{ÈŠ]3yüË|2d>UüjÛ¼ïV…qÌ>sö4+W¯¦MÇû1™Íì?“È®³1(€›“‘ZU«S¥r0+W/£S‡9A ãÂ`IÉ“÷‚Lʕܬ$dlØívG¿1NNNthß!MÏÌ:F£ÑQ´iѼßýðmþ 29äq6©úW)_ J ®zr³ç='¢ð)eâÒõ8ŽœŒÀÏÃ5å¦/½`÷«çÒcl×?Àd°Ñ¤çK ÛQU{·îäðªîTm9ÏÀügÉEžT'®îbξO¨n‰¥ZýŠTlД¦˜.ÄY¯³ûìâÂ)Êä2OïúðÇìÔ £Oï~¬^³’7¢ AÁÀɈ“4kÚ"ò‘ÇÛÛ›S§Oî-:È“`t]£qãÌ……Ò¥Kc±ƒª°™ò¤­4§-&\¸p9)}•¬Xµ"u2…#—ë'£ùu£1·ëTH!ò—'44 Ý-L£G&00°ÐúûÉMžÊ•³/²TªTEQÐu=Ým¦w«¿wüÌäåïпã(*øTàäö˜À–QUióóÕ4ï)xTnÃ#oNàãÇkâ^àU§röÇfT{¿M ‰[A§WÔsLn^™W«¯äÌïíkB!J£ÁD›º½¨äÂó“»2²Ë{¹¸…)«c{ ¿Ñl)©Çâ ?/7–-=€<Ô¹6;#“ð4мmW–,[Ȉ¡Ã‹ìv¡ìò”S4]ǦjÅ–'ßúfõX'UU±ÛÕ”ÿ'·1™L¬^³ 5MUô¾víoÝ®$—e3¢\6WË.ݺ¦£j½Æþ’i¼í§¢±ÙU>›³Ïæ$w¼¹èáŽî‘3e*`›íæ­b̵q(#‰I®˜ÔUØmVbc¯áZ*˜zMríâQŽ­ëA`ã_ðó¯—õŒ ˜'ÕžsË™½o<-jºcð©Æ5ë%ôË3 ·ùÔlGQæËÎ+©˜¡ RHyüüüñôôâØ±£Väüùsx”öÀÇÇ—«×®P9¸ M›4˹Ic!æ¹zõjžoÑ)ìý'mQ3­›·¤û{«Í3M3Ëå+`ž¬ZÈœ>ÉÑcǨӴ+I7ìš'ÝÂѳ{Ï.Ôo˜ýŒ q{eôLjQ øvN]ÓÉR—¡(þýÉ8Lj ™.]ºðÇðÑGñì³Ïfj!STy>ûâ{Ƽ˜·Î°Ç}ø¾eó½ÿ“É”ïÇ &Zâùxî(.ÅD2ºï[$ª±º¸ž&•záììB›WÓ·&+ëáËü7"Ó¼£'/~è8ön}j&+×"ö²qÞxžÞ­Ú¾mQÐŽ©wjë)ËYÀÉG¨”Œù?{ÉvÌy²Bˆÿ ¼Û{ÌõØKéÞsvvAUmüµ ?*<óÐûü¹ö'v[Ék9Þ”r¬­ô?æÌLÅ4¿’ .>„¸”ÐcqèŽÛyùöÃäpap×î]V©3çn$RͯÓ—ìgúØ.<òá2z·¯ÅÉ+I–q'¨j8;wï¤U‹ÜõçYyœÌt ,vUS(SÊ\¸y²Qè·,Y­VGAFQÌf3=º'ÿÊøƒR×u\]\QrèXU Öi¤¦khªÆ7O6çÙ¶2d`oŽFž%))ÿÒ›5¦jÓæþÍcí«¡©ZŽ;hAòì™íé(Æ FtÀÉÙMK.V™ÍÎØ-‰½²Wwüƒ½¹xà ÊyÏÅlκ$[ÐõsöÆþ–&aî˜|*½š›º©Ý,{Úo²)Íý‚[#ç2äáQ¼0³ó†&zž´ztëÉŒ?~£v­:Œþ¿Ï˜F\\,£.Ò¿ßÀ\M£°ò”+ç](·èæúIÕºå­Â˜®kŽý)7 ’'c ™ /ptÕ1BuåD¬CËãd2räl4ž5{°lùb|}ü ̾ÕWQ¬ŸT?ŽÉ“~Ä©ûý¹§0óüöÛoŒ=šªT©Â÷ߨ„„„äºhAóØlvÞ÷I)ýz‘‹Ñ9e+Êí•£´Ü‰ˆ:ÌkSûP7¤ } ãÔõƒÄ%]Ãd4£j6>1 …亼®khºÆkßÊzb3...¸˜]¬Õ–ÁVLìÌSñh-Ü‘r ‡"·6 !ÄÝ/Çöë±—øèÉé#Fň¢PP°kV’Ô"¢÷áá\–þŸ`Û¡5 þª!þ3ç[˜Ü*P»~ªÉµ€|ÉîÂ`äÙsԮ׌=§¨è]Š©‹ö¥ÛäºsW¢k«ì=@ÝJ8¸w -³û]^À •ÙåÑôäIkšŽ¦ë…ž'+ù.Èhjrç¡i¥ö!3i‹N’ÝžÒó­èZJÎ4ÿ…´¹ÛÓûÍEÌÿ ó-¹ýq™Užäyè”)ã…ÍÌç#l¼ôÓ|† ìÍñÈs4 «Äç¿ÌePÛÊ<в1nînéZófžð>—Ù>χ¦½^GMXŽªZ9súÖS©Ê–õwü9.ú0Þs!r)Wõ¥A·¥…ž`ÁÁ¯©Q΂KùJÄßX»å&îÜÄßÍ|ܱg8.ïį3'ñ^עɓ–/µjÖæØñ£89;ãååŹsç¨V ßÜͧòè:\½z%Û[tò¢Àûsæ¶Ñu]ÓhÞ¬I±äÉX Z±jUjµäd¬3ZSÊÅŒ]Ó0 lúWÇ·N¦Nÿ•7^Ëâ B…'•zð IÛ¶{âÑ‘§¸tö¬ã³G=Á¨tœ{>»ùâþÍG}ÄÀùã?([¶,`âÂ…H‚‚ªKžÇy„µ«W¢iDÔ… hšJiO/âb¢Ñ5 W÷Ò(Ñׯ%?½KÐ ”§¤X´ó¦¬|­âåU†g– êvÌ'4]eSÄÜä[µPÐS®5­”»žýÆQVLxŸÕ¾#˜Ü¥|r1Æ~…¯ ã›9z% Œeëþ _þð|R¶žÈÉ?ßå¹f³õŸsXýÂi?ø ~}7ã›ÿL¤oûq¿Žßû_æ…жl|æ0{_ Á  E1£s0ƒÿƆcßÑÜ-y¼+ózRe°É'—òàå¯:r"+ö!V· æ z÷G>< 7ì‘hZïgZ?[—í¿Îe×E7Xxœ¹Ý<Ár†eŸŽáÍŸV°ÿ¼ŠXî:TÏÿ6±ç¢¨wwß8'„÷Õ^4ç ªfgsä<ŒFÅŠ‚¢€bkÖ3D_>OíÐFøûTdÌϽÖé-z6š¯ùi7ö0å•1|ù÷6Ž_s¥RýŽ ûðKÆt À i¯ÖéÄŽ¾#(¿ì¾F…'Ö±¤þ«„¿ÀŸ³é–ò¼‹ÄÝc¨Ùìk'býÐ Œ–ƒ¼U»3úìàð'µ8?õi†ô;"¢±á„Oý>¼:qO7öÂ@<ë­Îc‰Ãég™Çôå'¸Y÷]vnK-g•{§1vÌ'ÌÝr’¥+S'0Žkºö w¹9fgçê•Kø–)Ẻk¬Z²Ÿo¦ï«uÆ[ÉïýöbšÔ ¦síò¬»r9ÇiäÂàíò¤*Ž<ù.ÈØì64=ýIºÍfÃf³‘`…OŸËº¿ÅñŸ[¬v7¾]ÕjÉ4‚äIŸ€—~šÏ˜¹oá«é1¨meú´i†ñññަM…Çht#¬×9¶ÿDÓ^¯pæŸ/¨^çE45.ÝpZÜO$Þ4sþäªÕ}’#;—dÊRy"®ï Jë&¸Æí! !†}wœL ±n®ÔL¦™ &ÅÇáëU‘MËðVÇ…„”kZdÛ+-V,_Š››;®N.”9‹³fg¹>²šGAò¨ª=åeÃËËë¶-d2i {ýØlY?öµU‹æhš†¦ièºFLL å˧/XY­ô _¼ÂÜ^aaa¬XµÝ­<Á.ž¨šN’=¹_¤D«JÙRΜŽJrdÉn…•'µ€Uk·IO>ɨï5œ{õv|^T߯TŠ¢P¦L–/_žRŒIöÃ?óôÓOp«cñ¢ÈãêêÊÞ=;¨^­º®sèÐ!jÕª…ÑhäСCÔ¬YƒÁÀ?ÿüƒŽBÃúõ0›ÍØl6öÜ[ ý¹¨¨vƒSîúðùdÞœ¸t€‡»>Á•›§Ù¹³Ù'“ªA#I‹#11Žø¤X,¶›#.fwêvÈ~¢G^§–Ç[`·§ìqNÔ{ò1]R¾kŠ™rá}yµÕË„Tò$ñøÆÇCO7àĬ”UlDþô ž:Iç÷þùÝjá•I¤Jiħ™UÒñŸy¤ÓxÌãÖðÛÐj¸ÀоüüÇbμBU3è×·0c·Ž9q%ó&Ѽ¾ èÑl›¾C»)t(o@I¦Ý¨x¬z5üM—Ù1åEž1€ŠMwñzäþÓô„CÌÛ?NZJ%ÛyâC]@½Ì‚áMè·¨:/Lü›©Í|¸y|ß=ñ4 ó±íRé¹)êé`/û›BˆüËí¿ãy9¶Ø5 Ñ7/bU“°ªI&J»yàæR g³3º¢bÕì쿼ŒÀRa<ÖëiožÂá3Ûxµïy[ˆ›û×¶Yã»YßÓ90†­?<ÇðnMˆX¼ŸIË%_Ñn°é¯³|ðÞo<[>ž S¡Æ(š=û¿íŠ¡[GOÀ‰¿sÙ®ÌØÄÕÁñ5€õä_Ì=ÌÄႂ“_3}§ïV¯€[Ìf¿9š—úzÑôß 4u°µ|9‰ã?bÎk¥¸~É$ü˜ÍÞ%¦ï§ü²©;!æ(öÎ{ƒ!‡næm™ÓÈÕ1›œ/TÚì IÙ.¬6 c.ÆÆ…Ó;‘'£|d ºžùÇŽªªØl6@ǨÀÞS1·–ѨPÍÏEÉ<=“)wñ²ËÉO7IHH¾µÆÇǾ{Æ•~˜ƒÅ¦2¬KCzvÆ`0KBB¥K'?½§(ò8;{R£çY¶ÿ]¦½^`ç’ïÓäªP³Ùhb¢¦âìbÝ–å´ #ϵ„K(F…r7ãØ²;•–èLÃÔjáç(ƼÙaa>-‹,OZG?Ïé3¨páÚa\ºŠP?_öwìL…AòÊ+9Ž_Ð<º£ÉZî[ȸ¹¹Ÿ2~áî?Ùíß©…MK.ÆÄÆÅf.«¦z…‘GÏð£ßÙÙ »¢hUQ…¸DÎf#Ae]9}96Ûå(Œ<é²È¡@2iôÿ¥i8Ýß'ÛL…½?§í;&•¢(¸ººòÝwßñüóÏ;{]yqw+íØR ŒÉ-,‹££2-¥óõÔNسʔ۶y0·×ÓÍ£Þ×ÿ²aD kßçëªðêö/x¼vòQ»÷{Ó¸¾­Ï›ÇØÖƒ ´YQu¨ôàóŒî]G¯tZ;†5³0fÚ®·iC)ëQæ/HâÁñϰ÷½ßØtùAz•µs|Á,"+â¡* V«†ï}ð¸#IÕ>XÆ/ݶ°ý|õ+Y±k:„>ΘáÝoõ{£^eíGŸs âKlù~4u]*Qî¾Jß‹ÝjÁjÍ[ñ /Çì¬. z{—çJL˹¢6¨Êo.`AÊ2¾µ]‡¶Mª\Þ…«1 ”óö)² ¹ÙåIwUåÉ(£‘¬:Jî;Ɔ'ÓíËIª¦£kÉÃgù4ßÇìò@òcÖ‚‚‚Ò½W¿VSÖMh $?âÚjµ’˜˜˜iܢȓœÉ“ÐgØþwEGQ¦nß䫉7†Sû>§FãDZÚ]ÑUK–Ó*Œ<ñ–”ºy†]ûN³Ió`P½7©íךJeêðÈLoÖxø°iÙƶÿ+ÛbLa刘8‘£ï£†¿?ÁºÎew7\<ËpÉl€B°¦aþK¾ø’ºßOÀƒYß~Rð<:ªjG×5Ê•+wÛ2¡¡5PU;ûöï»5ÿBÌ“uAFueÎ_8Ÿ©p”vÜÂΣ(Š£ónGž›×8wÓŠ‡«¯ÒNhªŽ‡«‰ã×bñvѸšÍrFžô¥Z.< IDATA40€žÍ À¨ ßàü@ßLýZY uëÖ´i“üt2EQ8þ<Ó§OÇÃÃwwwÖ¯_OÕªU‹4OÅJ•Ù¾u+( ÞåËsøð?hšŠWÙr=v t¯²ÞèÀþýûE™¬2å6OQÉm!,Õ‹÷O`Éîiü¼bm›u¢^Åì½²›˜ f݈ªêØ­ŠHºU”læcöÂ?0@3T‘ªµ›Ð2T¥~Ÿñ|½÷a¾lì†åÌr&|<™NqöìYÎ^K„€$lšŽsˆ­}¸¯Seœ3õç“Òy õ8ûÿÄòê“84²®ÜêTÐ¥Æ@Mbæª ŒîÉ®™{8ž>>›øèãåœ}% Ÿ]3Ù`èÀäV^É}i1ìýíÿøböŽ>ÇÙsQÄêÐÌbGK÷ïDú}(ñÄzNÂȦåPR³¦ùnú#Ê´ú̹»AßÛKSB!J¤ÿgï¬Ã£:º8üÞ•xˆd! Á-¸C)îÖâRŠ·ÐâÒB¡Hq+^ÜŠ[‘B)®Š;!ž•ûý±q6!Šô›÷yBȽ#¿+»3sæÌs‹´íL“Þ¶=9’* ¥Zaü1ƒ2 ”j|sV#øY$ë-£Kõ‘Ô/ÙÑt=®=X½¬ùãGÉJlÝœQÈÑ<üû2aÎÕ¨íažW™›Êu `˜y‚{‘qQ&mGãkœ¨ÖµуãBXeJ?ÝÅ–7•ù±I+43óÛ™74¬ò‚]kïàÙ¾žjc{/‡ß`ó´É,?|•;÷ððñk¢ñ!Jg !è² bqòB(öjQ Q0âx5&Æï"Ímv Ï0¿‹ <$ P!^†ë©[É›ý'nÄŸW)ÔªXY–)áfÅõ7Èï’'Û&rMéQ($‰††Ø|Y©ÇdÞ ç4ñ 1dôH’ÊèÞ#¥Ü_×ée¢µtÑZ}|À¤UÈÒÚÅKáÅ:þ|¬×NRq7-ù€ˆ_Zzâ07·£xÓNnJ:#naç‹…/6Ž\:Z„"'"ÉQ)вBODd(;Â$†VYDñ¼Õ“è8¶û"ãëìÇÝÁ/u¯„,ÐótÛ6þ5Ÿ|ùxîé‰ÙÕ+¼zBÃy Ðý4•;å+ð::]Q_ g»v%êÑ#:ÒÐ^g¤mháÿ `4È(ÕJ•‚]÷§¢2Sצ >v59}ö·nÝâÇ[ñÈ]Ät»+VŠøùS ™ýA–£º•IÚþØöOJˆ?gL’¼m”Èø•¢³ör.g7òªÂhüszaUÏšÖë/ðÚë*ko{ѱ‰;jYFÖ?eCç*t¹Ò€‹WñY‘ܨ¯|C‰:%+?YÄ #F‡Ñ[lß½…u¦öàŸàÃ(”³—O&2"*I[ç· 2q¿“uÊÞ\<ÄmɃ/Ü̉¸ºAþŒú¹7U5J &aç%YFaWoû×Ýñâw·‹¯CP«îO¬ýæÕ»w`¶÷6¾ò‰KiFæmÉ÷ËjvðäOǦ Ѩ•h]x+wÄëÔš_[YFÖ?çðog°m½ƒ1-ü°%ÁÛE~»#‡YþÒäg;OñEþØ%KrÂk–QƒLòØV@ øo’e“n‰p°ufîÚ‰IŽYXZЫí”J%Åœª‘SåÁÖ›pµ/ÊüDZ0³N¡ü”Úö8ÌÈàåGØw'ŠREb½~tÏ8¶ç6ªÂq3—‘cRi*òe`×þA¡ Ï(3¬6²>Mj ê²ŽÅ/s³P>s5nÿMèYVˆ¡Æ²Ét)kŒ)%Lм=‘ûunü ˜óúϽ܈¨»d)N—œ¡þSºÚlå«UjjÔ¨ÎwR£f*²æqˆîMü‘+3¹mè´1ìݽœŽŒ7–ݺãåõöLIO„Öýz’‘qƒ o[ ƒñ"‚Ãb‹Ò×À'¯T)ÙW¡€×á1Æ=-Ò0Mž¸2 ÖÖV¨ÕjÌÍ´iµZäØÙ>Ù`œ¡4$Úa);ô˜¢ØçÁo•~{M‚ƒ“˽MŠ´Ìê)œ«<ª0;šç,Ê…Ç)ž·Z’óË[>Ks]Y¡GûìÚ9ð0€[ßDm0`ãU0¾l»’%±zù’;#Fà1~<÷—-GûâE¶ÜWWW\]]ãÿ>{îÌ[UVVÖIþ bÕšärÊ•åïOâüVj™WÁ¯Èۅܹ](Tȇ×Ȳ^}zÐÑÕè­£”L®²BOÕÀªT ¬úVÚ={÷pvßJÀø) ØXÛËɉ /(àYY³fÒ·o¿,Õó.R2ƤTwVêIÄ79vvv¸¹¹½=ùò»sîÌi@"g®\\¼t •R‰µ /_F’e,,-‰‰Ý;GŽ›¬ÿƒbâ5Äý“>ÌÕV oº”ÝçV°ø·ÑÔ©S‡²yÚÅ®‘/LÔe þˆ+çÏñFúÈWÜ;½•Y—¡ì²…Õ(o¸ãlXÃâù{©ÐË ƒ‹ýóMdûšÆÏ¤UIzYˆ5?5§•Ù·¨ˆ»ò9O•…(YÐ*QmVøZÍŒ3éÛj4%O¤’½Ñ´£öøœvîS;â*.]ö_%#“‹ª­=2n—-j³®”ѨdI^W+^ížËšSù¨e~™S†±7F¦\¢hbMf^méWq:û´eDôHZ—t&æö^öÜ—¡@Æ=d>†àÐ@ È~b¢µiŠ%“ž¶}õ€«o«7Ö $¨¤iGЋ—,Ûÿ+_ÖMÝbËO©ì„vÌ´Aì* ¤›gM~h?—Yý©áÆ©%Cz"7¯Gn)©éÛm£åºT!²óp~4`nIcl?‹¢-¨¢kÍwc(É5ÛVœÄÁMÎ 5‡®5¿'Ú¡5›”ÆÛæbÆ=dÒ˜/µgè’WC«–-¹té8‹ح¤sår&Oî<´hÖ‚ß çõ«lílø¼q–¯\Îè‘£ßÒ“f홞ädÈ £T©0èõo9-)æÏ¦[9™;·¥¹<[K5ýÛøÅâIã…¥¤§j`5fÌš–fÉófµžô ×xlŽ‹ÏÈ·ud¡ž ù›ó"üžÀÊΕ°è`Ô’¤´o9—Uz À•qã0DD +•”Z³Ÿø{`ããCáñãy°|9á×®¡°¶Æñ"Ó÷(‹ŸWÁ‚^Ìž;3ÅÜ¡ƒ(P’ÿ’Ù¢G’Ôë4޽«Æ~8Ž©!÷ÉDÿ·°v Á“b½?Üû ЩCG–­XžP}6|¾*xØÓpÆigTpüŒÉòʺÚdÛûS%°2U+§©œ$Ugƒž† òûŽßÓ­%.oFŸWv“ÙÁ¼[.oæt;ÊÏ;ú±nëÊ4–iIÙ™ÿ<3EU±·Ç‚Âfs¸Ãì$g{ôO”FéHÙsÙ×ã­"pérˆ]ÒJÕ˜zéS“ԡĽç‚cWmÆiWº÷äXÂÁø~ˆ"W5†o<ÏðÄu íŸNéÚƒcÁ=LßkÚMûvÉšÕŸ’Õ‘VÒúì$‰xà@ þûd¶m߸cK0§ÛšT–(%'¶m7*H±›£p,C¯ûx+ze\;hîËØK¯›øXblª0ÿî+æ'©Ç†Àw^WT\.‰%û°ìdŸ$EŒüòÛØt**-º—‚f¹« aeµ!I럚¼Ž´‘•§j•š€)žï×ç+fÌšŽ‹>/Ïž?‹]}¹ïS)2Ô÷íŠ{tíDò>eºŠLVžJ¥J{§ß„ž*U¨Xå£Ñ“ò·LQGVëÉi•êžÞÎ’NýY¡Ç¹aœ6HUGZÒd•žÄV $°bà»‹ÊÆçP½=ÕÛ›È~Mïó}cÌ”ÎÞ³ìø|õt¢7NéÖö1ÜŸw‘Y= ë7¤aý†®?SÏ+P)•ècãàd µß~¾˜=çW±ÿâšÆØôŸ'÷ÙÌÌþíü@ øTHÛ´^V´íEò—¦FñÖÔõí/‹6=kx¹<=ùºß×üºâW<@Ë­>¨£DVê1E¦bȼ7ãä;$¥„Г:BOê=©#ô¤ŽÐóþ‘[µýÚRÛ¯­XBóžHë²f@ |ÚXXX–uHYѶOî°Èþ‰²ÿ7ÒÕfgÁD¥‡‡cFŽI(ò:Jd¹ždd óq½èBOê=©#ô¤ŽÐ“:BÏâ=x& ²¥R™ò’\@ ü§ˆ‹ãùNDÛþQ’ž6ûc›üØô$'Ùׯ±··Ïhö4!ˆ4»¬ =BÐ#ô=§žlÓðžXAö‘|ç:@ ü#Úö—´¶ÙÛÄàǦ'9é6ÈH€™ZMddvvvÙ ) çAØÛ;¤„Gèz„¡Gèù8õd7{+À˜]¡HÛ$ŽhÛ?}>¶‰ÁMOrÒmQ«Õxzàä_Q¡|Er:9!)Ö”iµÚ?Dz½>åd9a»i$tÚNü ßâÅQ›™ =BÐ#ô=Ÿ˜žìæ}4°‚ì#-I’077'ôÍ›÷¤J YÍÍo×%Oš -¢mÿ8IS›ÍÇ51ø±éI‰ôdÌÌpusCo0pöìiBBB0Ä®'S«ÕHÉD(•JTq/öC(#anþv'^©R£T*âÓúúùáœ;7¶¶9„¡Gèz„žOLOvñ>XAö‘–΋¹¹¾¾Å9xð¹œ)èUèƒ/•{ß ¢£¢>´ Á{ ::½ˆ«ôŸÇ ×§=žÊ€7oBظ~›4MuÉ‹hÛ?nÒÒflƒ›ž”V¯^-b"i×é Bß„¤9£VCDx:]Ê_IvR$ µ™66¶iÊ/ô=BÐ#ô|œzdÙÀË—/9wæ4U«×4™f×ïÛÒÜicb¸}ëçΟ3ÙÀf9Qû±ZgáC`0Ðg2îKò΋&þT {²,s÷îìÛË“'O1Rè }„¨TjTê ‡ë¼•R…úÞ_9þŸÿ&*• µZý¡eügQ(•˜›ÿ÷﯄‚Š•+ãí퓪!*;ÚvmLÌÿˆ~ í¸N§Ëpýô¶Ù‘ܹs‡ׯeëÄ »‡ιsãè˜3Uý›cò„~q´NÎxP_µÚ ;û窞¡'u„žÔzRGèI¡çý’š'PZQ*•(UÙ?“³4Ì–È€”É›Jm†" SïB¡T·wÌ éð²’$ ¯B…ñ)RTl•ýȇẠ̑ÓéÞé”Ù¶]¥R¢Pf_»®VªP(Sö‘c-´m¥²» W›™e¼ MG›mie…W!/4Í{™|›Sˆi@ |r¤·ýP‚iÒÛyÑiµè>2ï%@ d-kÛþÿÞ–§·ÍþØ&?6=É@ |’|ì ¬@ ‚ô!ÚvÁÿn¿R@ @ ‚ÿS„AF @ à=# 2@ @ ï™tÇÙ¼a]vèÁ'J“æ-?´@ à“#CA};~Ñ-«uàdù’…Z‚@ @ðI"vYÁ'…ðÔ@ d%‰=¾µZ-÷îßãÌéÓ=žj>¥R‰cΜ”,U 7W7Ôjuºê@ |rOM@ AVÜãûÞ½{;z„Zµêàîé‰B¡@–edƒÑêtȲ ²LXh(Ïž?ãØ‘#P9‚ ¦«nÔW @ 8p`~~þx.l4Æ ôzôz=Z­–˜èh¢"#‰ˆˆ@’$œs9ãîîÆ¡ƒûÓ]—0È@ @ :­Ž2åʽb’ýñ¿ãæênòø»@ @ Œ33³tX$EÆL+ “B/@×ò`.d u¿{Ñ©ç1¼†_úCõâ`!$ÁÖ4V(ÃÍuPÃØÏÒú¬€ðw¼‘ÿÀvPÒ͘O*÷ti¬S Á'îù Ö-[Ï_AÙßÈh]Iòip`å2¶^ ÁM:@ È ƒÕ«×`0¼ÝR)™ìCÿ:UåQ0u¬W~„Ã!,µ|/`é2xæuÒWçëƒPµÜ+«·À„0¯#ôÚIª•ð‹°p7˜‡@‡ôÕ)àSÂ@Ðææ¸j4h44š¢ô?ƒÃ0r=Ϥìîêé2XWÒ|QW2tØ$ö†„°«­{ìµhÐx÷áXh¶‰ M úöëGÏ^½0pÐ[F¥R•¡ …lk¥e–ÈÿWÆÕ¹°9ælƒ¾- ýw°e(Üš[Ÿ¦œO]N¿†+‡aÒçé¨P«‡Ã#ضÚ4† à§°b8ÜÒ¦œÕ©%¿„ã[¡³W:ê‚O–N öE£ÑP¬ÿ„˜š ÐÝeqƒüh4éz$¹)]Ïëóë˜Ø½>¥½ÝÐh4(^žZm‡1oï ÞèRFž†Ÿ¦ ³Rû"Ñ?ae½|x÷>Nø‡Ö’ÝsŽÌèJÝrEqÓhÐäó¡rÇy\{‡çk†ˆ¾Â„²ù¨ðã?ÄduÙr§7G]~<víb×ÞíŒ.Ê‘m7üšRÖ!s]=í¿Ó©œ¯$£ÎG™N {š±º’äÓqgÏ~žZV ©o.Jþ];×ò­Ÿ« MðµÉÔ%@) }úöåøñã|õU?Nœ8Á AƒMzʤ—,2ÈD³³þ8¤Ò'Ø4m#%sE¡žÃ¸+Z^9Η5f“Çj4’4k·%ôXüŒÐøÎ²Ìã% ‘ÌW²|û1šûI2Ïbú® &q¿Èðæ1¿´ŸGNÅh$óiT鑽ç åÜÂÑð„ò"®_bPÝ_pPŒF’&àYcko&²żfó°•¶7j’Ô?R0pÛž¦pCµ°w Phm nZXs&•[#”λ ¿‚µ§Á»x™ÇTÃç‹p$µíÐ3X§@ üÞ0†¥7’{ ¼:ø?7õ=ÃÝ5=©Ö`+ŸxÓaì~Û¸žãúÐÈã;ÝÇãÿЃ@æÕÞAtž¼‹K^CNw¼ 9`0Øc«ÌúÚ´÷ö²ëanjÕñÀ,- ÏÙÐÔï^Gx§sHè96ým TÇF”-^œâE=± 9ÎæKP´IEœ2u=:ÚÎÇê4(daZêˌՕ$Ÿü€ý;ï¡.Ý ;Kœ £¸§ŽK·Õ”nV‚¢S#‚Hß¾}¹xñ"‡dü¸qìÙ½›Ë—/3tè°¤ é_²¤Ê"FN wŽŠÌßÓÖZôy$^¯FY®$?ör$¯ž;‡Î0²ë2"4ýX^×2Áps“¯†ZñâÌ+ ãؤµ4k·‰beºÐÓ]úP6tZF¿ŽôœÕšfuœ\pv«_.ñt÷ÎÓ¼ÔVö{ø3quŠ™½b󸽴ŒÂáògÔv”¹³`=-&GÒjrsf”´BôŠ3ñ&*… §îCî¶`—È„ež\[!¦iëd¥‘è‡p×ÅýAèx®¢` œ}_jRÊ-ÿ§¸Ô¦ªv/¿ŒßEÛ_ã7@Œ¼Ì¼ÑÛQTj€Û±ƒI²Dÿ3›/‡ì¾ÇolQ™œñƒÊ ÔhÜž¯Þ§~Á{BGð­ûDζplbi¬³±®‡·s7gÊFäȯO±ù‚šrs‹ó.ç°Ë[8UœQeãgÙ¹[²åaËL©@ÿŒ£[n`8†"V¦“d´®äùú~D¿DçÃ/oáx´£J;ˆI&@ |Pêԩøqã°³³C– 88س~ý:Ž;ŸF­Ve$„L/YRåcòŠ*4öwÀÕË[¿hÀ‚ åèÔ¼µëúÐãǬj#³iú=‚“¶¡Õ‚†ô¬è@®<¹ø|T ê(²üH@{óc¶è¨¾° ¿ôñ¦fbŒXÕ’n9ÏvÆðׄýìReýÆ níEݦe™³³1µ__`Ô†7èÑrûH†rU˜:¨u«{Ò°U)FÍ­G{÷¦vt6¹ q É-!ì9èMçÌ0ú0rÙ&=®´à¹XO-ocS’þc :8žÙçã\'u<Ü8†EA|?¬2ö‰ÓË¡œœ½k™;,±1&‹Ñ>åðônÔ+_7Å«µfä®§obx¸ ]j—¦Fƒ‡_Z _ǵ°ØöMw‡95|h0b4ÝjÃM£¡pÅöL9x™£‹Ò(ÀÆ“RÍÆ²÷©±Dùåf>/È ±ýhP  IDAT¦ešŽdÛÅ¿Yó} ÊÒ q-N½!¸ëŠýÏßîüÁ¾.EɧÑà;èd|ùI‰äÚ¶#„iB…œ)uébxz|!ƒ[Ö Tá|hò{S¶ÁPö%\iÌã£Ìíß”ª…ŒÏ¾BwÖÜÓaxy‚M— 8H»Ö¤EÝ4h V ë¯70¹€Iw‡¹Õß¾?ñ?µs?MÞf‘\ß~˜7EšR>Åëàýиqc’gµ··§~ýúñK’"CËT²ÖC¦p!*äJÚp‚1ÿÛÌÜtŸk‰£ï~Î3­7Žqn%Š\Ô+–àc"Yæ `N™½÷"ÑaMèÅ›\#ƒjÚ&E,rÒ´Q&­ˆý;:˜Ý±®@µ\ wC™ÛƒVÅ ôÛó‚ˆîî¸Wr‚þûè<4†žÍ P¥”#‰ÝP@ð‰¢À©Ö¾)Ȩ1ëùrSgò‡ÿɔɧñüjóžfyâäQ7Øy4Ï/QÀ<¥23‰>ˆ]ýjÑõXúŽžÏ¾¹Ð?¾K„—#*ô<ßÞ‡Z=RtÀt6.,†úî.¦ @‹ÁÜ܃`xÃ…£!4½šaš0ÿ‚ÑàÓrCïÆ=ú8“¿ÁW£*qr^urrø-=lÉøEýðâ,³º¢W½}4:œ™Û&aveÝ¿ÄÒ•XÛ2’U~*¶AKOwœU/9·z$ßì&`/_y5œ?xšdzr\.b./g@ÿ¡ (Q‘-]Qé_°ûë:|¹Ï“?¬`fI'¢ngéàoÙ3T8úÕ jd^4æ¦{-†à?ø¦QÖ¿³|Å(oAè£Û<|cMž鵘=áÔ±Wä)@uŸhGû׆g•ëP:d§Pä+M`![XPTcžJ_J¡Î®Ý6˜äÈk,íÚŠ™ªÁ¬U+À|Œ±Ÿw`}ÎN|?yeòK<ús_ û— M|±ä˜HÔ>Ÿñu¯Èï$ñôØ/|=a*SNtfMm+JŒÚÊŒàz zó;æÖÁQ!aæàŒI•èÙqà¿ $Éžç;úR³÷?Ô3Ž%\± ÌÍGJü€LØùi´h±óƒøvÞ8<¬Þpï‘9%4J‚woä¼Þ™òŽnÔk=‡^–Ø4¸;ógÿÆ¿mFâ›ü3£ÈEƒÙ»©¨55E(a–³ùÒÒóŒ¾Åί(ص2¹³ËH*A“‘˜2Yk±¶Ä*qé aY‹¥ô>ïÆ°[²À/ŽV2W&­¤ÕŸZ’´×*æI] ¥z­ŒŒLøËh *+œ­w•äÈ›¨7 ‹âQ„o\©•E4Z”èÙš!{ø~Î.šL5€ÒŽê_×añ„"¸›ê«ÀÙ®%õ„‘£áU$Ø8'õœÉ ”6Æ¥IAÉEÆf×ù“txŠ|?Ÿ|¶Õ©:å6îm¦ðë×^¤e^FR™a®¢o±ò«öÌ ?‰·¥º‡¬íÕ…•9G°û·®4±»ú‚ó24-‘ÃxÖ…iÔ¾p‚«R8O8‡Æ^¨°¶zÅñ‹:Š «ƒO>—Tû1wö°ç©+Í«å3Ý¡3¼àÐÜ{¢oÛª0ðÄËßxZ~ý#º,Âîû,ï˜ߦP1@a߯ÓÊLbú¨æ8+¼õµcÁ57LU¨°ÁÕÇ×4ÜËÔÐÞÝËî'n´¨ê’ÅU@ ²IÊØÛ,oçË_ÞcÉAÕV7eRkëØsÑ<‰NïÎÖ9ÍQè¢x.“`m1ðæI¢°¿JsòØ‚}µ¦ì“Ëd¥(lr``–ƒzß· Þ÷Âî=f篇é3z=m öçhOû·oŠ9”r…ß.@ˆ¬b€¢À= xñ¬`žÜpóÄÔK(?è²q)SÉ|Y\¡@ ü‡°(Ú“‰-WÓvàœyNÙ_SÒFBN¾¹’Òg[¸}ëZœŒßµfé¶ò0-´2Êá¾ ˜¨ÏÀ¢àX"oãŽy ¾+jû¶÷EäN܆½Kã˜ÈÁÔ¦HüÍWpáŸ×èýÞ.Si퀵¤#*^—ëœÖH1ĘœœQ`íh¤BŸÅšœÖÚH­q™Žá ×Mgö濹ùà='T†Ò1zL^½ÒG+z­ñ|äí?¹MA:•Ê™©õÐæ…ÛÒ¥ÔZ~<½—~å 2ί.MÚu£G‹2äÎêÆ6#ÄÜemŸfŒéÆo+{R,v¢(òÒ|¦u Ó®ö±Æ@~ÃÙ §Ð—øÒöÆtºWØú4‚ˆoÁá ÿ <Bã<©×ÃÙp= ^0:¼"¬À¹,T÷L!ö ÚL„ñ5¡aGמla ýïà™Ê¤‘á ìÛ ¯tpâ ƒ­k!—Š×¢vï¾ß@ð©£Ìý³}–z")åûu£ð¶iôø¦[¦6Á-ÉàÔ€A–”÷ù0Ïç‹n9;ξ¦n5û¤ßùn”uƒÙ»Îܬ^¼'Bøµ}œÊMâ(y’áºÓŒ>ˆ?7ǶÙ†7)nŒWš>kyþ4Ìcßé—tÈçœq/Ý+nÝ×£©Þƒ‰5{01æ.ËšVbø¹íÌÚ2„Ïû:’Óà 'O>"¦˜'f†(^< WÉ™C÷˜ß7ã››ÍY¶~¥r$¾Âž]{6ÎX'êY…_ÙÌѰÂô¯äŒR÷ ßNãN½åQ™ȯ÷²åŒ“Ka/º‡Ú÷˜<5«‘ÿÎ!úÇØ|-UF~‡‘C…“_zùÕ¡Ž{-*ÿp‡Q2~ò®>‘±r°4á‰Å¿¿â•G§D†!ÿØÆm§L+h‚cÀÈm»bÒð¨ÄÖí]:^gó?vTí•bŸL ‚ìD“7¾ÅýP›™¡T¦Ý%ôÔÉ¿Ò]Wö.Í5ÏÅàMŸq§Ý>*:kªw«Êòi¹+e)mi±¬Ï{ocT÷UÌRÙPîËê,îþ'MV%Ä®Q¹ú³þ¬‡fV÷ <K§œ”¬U”¯|ÔH’Œge'œ ÿ/¡„êÁ*~ZÎêÄ´Ï­Sì@*ó²Ã0 ' m Zk¨=Œ%õ˜Ñ0ïKX”pèç®Æßsáïž)ÇŸ±¯¬ß@‡uÆeL=—Á”ú©o¥{ýZÁ¿‰Žõooü=â"Œ÷MM°@ üaQ¤/ ¼L“a}©tv;5¦’ V8·k!Óÿ²¢òÔ|$‚FòäÚe.†'úWXáR¨NfI f^­éVzßwoèÁ´ ,„ÕëÇĸ–ÀÛÞƒ_Uç—þè=CÅÈæEQßÛÅ´¯—Rn]‹½§!©Âмù¬Þ¿˜ç4T3»ÊÖ#9¨•)Æ"Ì ¶¤g¹Ù|;è Æj¿¥¹¿Ú»9ð@¸TÑ\›?qå¥ÏôT0áÉzbZo"Då„—¯–!·¸x[rS¾LnT’9>Õ½á¯kœY™BÓraÄ›tÆ–Iºçìù¶ýÏTgÞº¯ °Ô HJÌÌTH˜‘ÛÛ/`ÌÜ¢ ©ã‰úŶMûàýŒF臜ºC„Õun?qGqq'K§þȾÈbL.»Ì+ò§îп¹Ï­›J´º¼õv0ÑY3ðê¯M\²¬Ä b¦g¸ ¯Ž³xÕmÜÊøáî¤äÕµÃ,]rç&ßSÞNCn å ó3±À÷´/ï‚îÙ+l|üȧ¼Í®}ÏÉ߸ñ«†ôAÛ|UÆPØ„eE2wÆ«XfÝw ¼:¹‘‹–X$û6"àc!‹ 2æÔßù½ ·k +Ÿ–ž `i’ãþ‰ÒJ¸|Ñ ù‹dY-]˜þp4ÓRعÐoUOú­Š= aqÕ˜yçÃ5QOÙÂÓ›±½›‚Zß~Ÿs°_Z¯-þ°ø/XœžLV°à9,Hu Wk8Ø:}ÙÌŠÀ÷íÆ-Ÿ,æh¿C>ë™={)Û~Ä’PX8ãS¡ßoüšö圓5˜XÖ½!Ë’+Ì÷{²¦UåFç»°ž8’Y?vfÉ0y‹V ÅØ_(\..ͲÏb2ç¡ÑOA«e?ŸÃ¾¡Ÿá¦"ÝAl3„dG• èߣ–e¤sQêtìA—Ë㹜Ö2TntX¶³ñ#˜5¦- ƒUä-YŸZΉ–·èxuáì-ÈçÑ2oûˆí+Ó±év<Å¿çN!Y9áæßˆæý¾¡WãHnK™ûx?l>ɽׯÉá]µrs|ÖÞÕ踿êKº®¾t.½"þŒ:p>gV7$§dNÑ~³z÷;–Íø‚†S)X—âÁ2nõkáªÔþôP“¿'¢AåÙ­ÞŠ•òcN*Åd±,ÄgõÜ8²¦; ÷¦æà%Ìövx[’™çP•ƒ_ ³BÚ +œØ8ƒ‰?ƒ 7jôXÇž.åñŠ|¹h÷¿žÂo_7c‘­~e1tª/¹_íc×CgjÕóŒvÆ-°-©8¸XzœÓŽü†³Ï¢*—òu @ð_BZ½zµlˆ‰¤]§/}òÎ ›7¬£ãÝÞƒ´äxºã3®;R)ÀGC('VüÁ°_#輿/ jXd|}¿@ 2Äò% iÒ¼eªidÙÀË—/9wæ4U«×4™f×ïÛ>vH øHýƒî¥¿ dò߬ùÌ)SA”?*Bÿ Gé/y3åoV7Ê)úu@ x/$ïÏnÞ°.ÃK–ÒÓ/ŽÖÉŸÒn‚*3-gìfÚõb°/ìÉWkZ1¾º0Æ@ øÿ üòfŽGgdYÇÿŽ1¿¼…ãQÅYÆAôë@ðÁ'eqªU‹½×j}h!@ ˆH®o;B°î9ò3€¦œÞBÛ¼Ù¶uöuÑ•ê³0.vuñI”wú/™™@ H™OÈ #i4Mºó´„O5žÝV²«qw…y. äùD1*w:-ÛES=€„™S\>áË =ƒŒ@ >y2:°Á§‡ {Ï¢ØhY…Ê¢Å?´ @ >Â'41Ð'/HR²{ø#,iÒРе<˜K ÙBÝoà^túª;5ÔX¾Y}ÞÚ"Cåï¨ 9ZBh¢c/A› ’@áÍ&Âs}ÚŸ‚U!GìÈW~N¾ß†fU‚YwÓVfwf€”†½;mräPè럭`…5#¡š˜Åju¯ ³OÏ'çü0¨»9ýõ¦¦;ìðë龜0èã Ÿ¯7­•×P×ÎG¥¯ØU@ „WéÕD__{˜}Çø·áŒj^Πˆ»¿•`ÖqxëUÊàûð.Ý}fÑW ˜=̾1=ÉÉÌç €pZÀxëï4q>ƒÏ;+¹·ì½áB¬†ð³Ð¶2¸ØÆ~!ZB©Ö°÷ñ‡Ó(@ üäjËWÃêØŸ5Ë ¨EÂyýcèT–GÁÔu°b\ùj Oûx<æôš ¦vuÌŠòÐÞ„ÏkÀ[˜»÷„C# ÁOð.ãΛXքÀY°dtôƒg±¦£à¿`åßIäúW°b ›´,$EŠú€u^Á»+` 0ª¡ñ ÖÞ‘“!:&̃Å?C‘;з"LýǘG÷®‡ÐÄÚ´ðǸžöº“èŽÍ ávd¢2ÜÞ›Ój°ƒaÏ·p!Q9—VÂO’& ½ ÷¥m \;(êévû6ÀïÃáihç{( n„Bíž0ïWX0ŠÜƒ¯aÆ cšÌ¾¦tgÅ33÷ïËøqò޽à#ß@x*773Ÿ§8®Í™ß>žÙçUÈo`ü((ý=‹ýÒ‹~Ï óHXºf €ÐõP§*œŽxâ@ ‚ÿbÉ’ ü U0KáüÕ¹°9nƒ®ùÇ|B¡Ôϰu´ËóŽ t°ºúÎ5ðl”Z ìáµ9|9®•†ù-Ò^}ÝQ ß„ºe }Kˆ|ÓZÁÊ`øa~ÚËôhe‡Á”#°ªH2HzQ|zÀëØ9 –ý¦§­Ìš¿Brg¦´ ½vC«#`»Ç…ÊÖìMš®ógà_o~C3ÿ>˜Ò­# ž™ê| ÑM`ûDhŸ7…táÐÓý û™N’áÏSÜõ<€~ õ8Ü?щ,xÞYų°:ÖÕO0æ96€ÉbóÂàÚ–_ÿ÷+Q @ ø¯E2Ñü[£KÿÅ_6³ ÷XFK£ùÑ3g.Çx^ZyÌ™žK™a;šÑÒh~ðYÍ¡]¡Æ‰u]0'ýG3©Õíø çè}ë™$æ§>ÑK bóJÆ«åÒ³f¼å0®¬N‡ZʯA£q§Dý¾,8ýÚôªè¢!ÚÔJ-ìÝ”‰bAm nZXsæÝe¿Ø CÏÀÔÑ`—|_Ç,(ßH$lÞ VÕ¡ªSì1 *t»X%•¬aÑuh9ÆhŒ‘MÜ5Çò°â$Œu„ù`Á&wVôGȰ¬7¸ÛÄ.s°ïÚp,Ę?ùÒŸˆãà,Á·›¡o XH Ù@“ÉðÚTÛª{кq‚ÅLa›Ô Î å]àÕ]Ъ¼ðÝØß –¯“3Ào>Ål7Pß JMñMÆI zÁõDž+It[@ÓáüF¸6þÝ ×Áù½ÐÔÓhܨa ®}àuÜ»“@*çb½ ¹¡Kl››N‚bàè(~Nþ Ë#àÀ9ø®–ÑŒs†ÕÕ)Ú¿‚§±/mò¥?WÇ‚”Öýu½Œy,Ü`Äž¤·7ÀyhûŽõü*pLÇû÷|‡¬„Ž¥ŒK~¤œÐîx“èù&Öê3³†•5@Yî's!9=$'8»vϾ,TSÂÜ&–X¥•L|ž0Àîap¦ Œ®DÒý\Óð¼BÎBïê`¯0>?ç¢ðÝÞ„kм ƒj',1ôª¿ýK°þže\ÖcºøÁO—Îï™ T†òïˆNaë–ïð:@ )’µK–NdÇ^gjÈ›(ky…íÍþäyœu%ê9Çë,bûj^“ZÒnGs*—xÁ‘úËøãt ¨lq­iGôÉ[¼ŠÐñr÷C¢°Ã÷x£ÐòbÇct…¼pqLn͈ÅÁÛQx5ÂOKV³zÉd:ä;˸6½ÙøäÝ#²#ÁÚ,TàZ–]I4숆S÷!wq°Kt÷Ìóƒ+pë"ĤR¶ ãú‚ç(hbj²>3å—ø–~m(Épîä/;pŠÅÂÕXÐ¥›)Ä,žŸ‚ǀ羽Jã·ÝŒãˆ ;&AÿÍPÂüÍ¡ØqÇx³.N€Î‹¡Þ°÷ l] MÜ T›Êݦ÷ûApû9ü9 ƒa&œ¿³ç„ên©—£{ >·2``€«k¡ë·»¸øÃ‚ž0ópÒzf8üY®„ÂãÃ`ÿTëÁ) <_†A]á–8€[?Àà%ðJoôÜYò ¼œßн/?Áˆó0f”°Š-DeêAøQ¸k¤‰y3û‚pq€Ü—ßÁÕP@ ZÂä›0â78°VN‚¢D¥fr|=§@‡5ðü!Ì„‰Ía{Pìy=Ýêð±z;»!ÂB!è, Ǭ¡ £÷ѻއ8¦õüãàUœ‡ûA‡µ)JR{f ¨÷5X„uwå ƒy+AÓÊÚÆËŠÂéu‰ cé$3Ÿ'€Ð¿ ïV5òšpLLõyc4DÖ,K_È•°k+Œl Ïîïá9t«Ón·«aǸmÊÖg±ŽBƒ¯Àª=lÝ»7Áàš·ìè ¬?>LXŠm„½û§á»Áå]}Ó}+àÃcàõù-,[uGïè–d9‚w,gùÎ[D¦« J¬ñ=êÁ{%k 2ÖÔ]R…l°.P€ “}±ºq•ïê™ˆÝøã¤ ewµ§^ß"xÕ/FÅeí¨]â%¹M„¬Â±N>ÌïÝæá3èByp §/‹c÷_¿’!&„;G#° t#‡:JgꌞÆÈžmø¬VªÔiÉÀYóèæð'Kö?My’\…Á˜9°ùwX5 \/Bçr°ü~l…M®¤á9$sp´„°ç©OÂ_ ÔðK7ã8ö-2S¾KhVÁ8£n‡7òÛ)mŒk‚R.èÕ=ãïozAξ°g/Lo¿} -—=*î,‡¹a°ñOhïí…`î`¸×€E]ø±/ÔªŸµƒI ¡žS •Æâ?F7—\P¡'ô+Û×Bœ“Ê£€¸Z¤Rˆ6 ‚ÓV0¢³Ñ“&ê Yƒ÷Âôúàû5_7&Áög Yeaá@ÐØ@Þ °h:¼X LÄýà ŒE&ÃÞÑ¿"ì=>‡aÌQc·N0».ÌoÛB»ï¡øXâ—´(—0gŸØþ ܨ Ç7ƒ¯+Lÿç€!Ó!*Ž\…r#aP+¨^Zõ€¹3À=¥E,ý—C»RKí'BÉ0XçvGÿ5o6aád?°ÍΡûzø~tõ0žKõ}HÔ{,4FÕƒ–P¢‹Ñ°´m\3af|×3ËYšç„ù+b¸¼þ6A—n‰®AÞ~óOÒÈØá!œðmmXÒca±º2óy"föu?èVÐÄùw=oìøN;îC0¤-Ôý úN„…]ï÷­e°†ú3 IDAT*¦í…oÛ@ýÖ°r/¼„‹FÇçgàeøa4|Vê4SaLÙX™÷ájó6{(~(¶vàV~Ñ–ÝPÜ2yB@ øÈåH/o4ñǽ-;^¼àÀ¸¯þë-t)ÌíeaóÓÀoùåL$ŠôÔeH¤QNôÿˆô/ª‰¿·–[ JG¨6@ |\d­AÆ«yZeîœXAðK %hË}´.>0OðØWÛSðsG´gïfÅ ‘[ÄóÑȯŸpã–5^Šãfõ?öî:,ªìàø{†n PJJ@DTì±»×îŽÕuíî5ÖîX[±Q±uíUtuí@ÅF@@jâ÷Ç ¥Xßßy=Ï<7Î=7æÞÏ=çs^rûzª×áܽ«UÝ|š¨ˆ»µ±íjPÂÙVý£åP‡Åárž]žq }è»Fõ€†þÐj:±0z>|é¸'ò‡Ðk24¥4=ðþ(T)O–…‡ÀÚaPÓú-^2î$C7Ø3ß?IÁ1öl]p© » Ã(Øwb²ÙW¤Z¹T™tÁµDTr…³Cá×pænJýdŪÙü¯–9سg)­;!,Ì­5g—òøŽ…=A×b0Þf¥$|ÉôxHu¦úÖH•œI¥;p)òÓõe¹ÏL g[¸»®Æ*8<¢‹A;×t›nDÀë÷ òBÞ÷Ø'Z¥ú./T[õÝœR<\ “_À¼_5º²Üßñ°ë,X7‡²šòÔ¨àJ0à ì?~­c¿xÂÍýê–A–% ïsèÖÖ…À³ø´‹IŽ€À:†uè@ûõpô0lþª½‚ú5àïèœ×ÇWóŽ ƒ‹!“ÉðèwLsgùC–ûÛ “9ÑùDúé ¢B73©k]J»Ú!“Épô,_«¡,:x›·©Žƒø†R\V•y÷Ä«ê,)ž±®Ž5®=O“ƒôé߆ü%'æt¦v¹¢ØÉdȬݨÜn7s8bb¶V¶?kúŸù1jáÿUy⮳ãÔ;ܯg_p0Bfã+¹ÀöK ªcõEÙ<Û€­k7ŽÅhž"îÚNÅZâëæI4RE},c¡ØTå5,BßÍÁoŸB5CmŠ7*K^1D‡ ÂO+w/áº:žKÕK—"A…R©”$„'ÂÓs,5TçQÆ3tÄÄ‘¤I>NNržî}Í»·y®#éx!\<å<9IÜ¿·x¡´Ä¥xÆ?kÊÈ#üÚ¨/kß”£ÿ¼Mì 9Ì‘CkénIñÉ9Êz _Z°S£´ÁÒøÓâªDxÆ– l£‚ƒÃ༠ñ†¨”ðñ P%AT$(¾`ùéIÔ¹$Ò/H«ª)ý›þÔLRk¥t÷Ъ5€ûp?uhJ êN€º–i—Q|$lúnÏÿÒ`j õÇÁ‹,†Œ1L—JYKŠä”n/*HV‚4“»§;ËÀw$”Ÿ K›hÞFû60¢¬æùò¥=+´ŒÀx•yº ý¢0³wªúJEÛ ÚWSÿ»JpÓ0‘Dš2bTú×\F0bا®èãªÀ_}¡‚3ØÂàmYŒö£«<µÔõ«Rª•Œê×ĪTÿV°è ´7‚1£ Í3yÇÃ{ùŒÒþ_Ï ôP7 ËLFû¬x(ò]Å3˜e{¥ ñ~› |¿aæ Iùìð›ê»X >†>÷|R½a¿×ïà-IiyóV½Œ¤ˆz›.à£iËáÙ[Èc—A³:%¼ŽÌÁ<õ¾ÓksPECœLªÂ¡e`yÚÖ+C(Þ Î¥ÃT u`N[ÓÏ‚lJA5hÚ öûk0l‡¦}w‘[Dzòvúл’7G¦0#TÓ«ä$nèNuÿ¬{æJÛqKظm KÆ÷" ð ö­ áé·íJøT¼98ˆöÓ‚ù÷qä³ÇÕ%J¥9&9.+ ^ž â–q%=Œ²ž æ]]íiô*Û¹ï¾fyBGQÊÆ—%¿Æ‰ðuë'áöŽE¡E£Š÷ôÄÃÙ’¤+AœO²¥n ÛL^îeƒò g·ý‹nÙFxi6“xnï>N”yê»ä¬EaLèÇ2&¤ú·ŽN^‹zâ¢w—[I®VÌŸóA„Æ7eIŠ^A]°õ¤åÎÒäM?„‘¶>憀ԌÂUŒ8rò.aù“ä^KSäõò³ö>bÃI²÷ĺ@Ʊ¤wÿnä`”+Cçá»”MLHD‘Yr—LÈ•||C¯Þ¶°ñ D+Á0¥‰! ðôÌ`t&ÜþâÿO‹t{vy ÷9˜Wâ3—ŸžÄJÊ`ñuwŸ÷3ŇÁ# ¹sÆá¸žê7ùÊtUJE¤OHêXMóú›MU¢îÂÎ…Ðs´:çÄ®ÀìlÚPÐäѯL›dàév¨ÞdC`Gÿ Z#æÅ R{¦î’õþîF©N0[Ô<Ýv§/šÔH¿cS¼Ú =ö€ca86öÖ†€tÓ¾°/dšnf¨TãÓeêZÃÈM0RaaÕXÓœ@÷,òëdD¢†p#%èÙžÄ*ØÃª0x«HÕb)ƒãá½GéZÂÄÓu^¥`ä|è]NH`]ƒOËû 0Ó÷—<-(^5Õq°Ö$% ††úþÜóIÿ½ûE¿´{Ôò‚s÷ ÌûuMû[[}\Ü KIP~%RÈoD@”ò¾Ÿ@áÑ 1#-@^ ¤$½†ã[``0‚KAÛLÉ:8`àNÚp÷.ê$:?«šTK>ÈŸ‚iµª–ï…øk,³i%ìNI3KâùtŒy·lý½2ù>?ðmІ¾ß²üÂ7"'òÞ#Ë_vpjRi² È9eg‚þE·l_Šgq©{/îÚNÇ{0¼\Þ\~sö9åIâÁC¼´kJ5ÙW¸müªõ“ȽàC¼*ܚ꩚˜ú,ãNø—ZM}‘í—%”ú£¦ï (1é2á“r¾ì4etO_Þ$á¥CªjÊK&‚ ü4¾a#G,Ú¢óèÏ¥æX¸[¤ý¸˜ #Ð&¿¿Ú7¯p~}4fudJ¥W*ŒÑÿp.è-úåÉ“I»OUr8@ȳ,Ѝø´wBìeX{««_£5ça÷ãÓ][t E© –­MV¤}ù²š[%aÇaèëöËÿ„Ö„wGàèû¤­*8½¢Í ‰{Ƴ—„ªúpj7¼Ï÷I„\À9‡y#Ìà—±ÐÈn_Ëf÷M$àä<…§é¢koŽ_cPµƒIç3íû[àNªf&wƒàŽê¸f”¶…§é2G«4ôÙQ¼€7ÀÔÌsðnnÿú”¦fr^ 8CIMÝd²C÷…„ è9 ë@­ŸNöø_Ô¹‡rÒ`<µÏ<Ÿ´¬`Å‘´'þ¾E`”‡·[Ve2€àÉ&8¯©‹Š×®Â®‡¿Nƒ5WÀµöÇ!ÌßÓÍ~=`\UxuUýÕ³;à¿Gi[ƒ)5ìÿÈó*ÛL®#ß‹q)úóGûÈ懾ïþ çɶ±,{U…‘C+“f )U çæ/åfá,š:“Ë’Ÿs|vê”wÇNf‡gõŒ ~ž2ÈYOM§CÍÒ¸Èd.^•¦Ã7s36å:!À_7üC—ØÉd©Ø†éG®qrÙ@J: “9àÝxŸ«—¨Š¢¡Këƒ {d2GÊ4Å®«çÙ0²)å\dÈl=©3d+R.y‰7Ñ­n\mÕ¹)œ¼0tÓmu"Ò÷e1‰M+ãa/Cfë_¿ ÜIÝh2)œ#t¡f)gd2JÔèÀ¢›©¨8N÷tE&«Ç–ô×ÁT$<:Âü~¨ZÒUÝÈÆï€á„¼R€ü «jÊÉÊ2ñúûëµ’W[Édx »D<‰ü7¹2™7 ›P­„32™ ®åaÝý0VÕ´§Ê”»¼\Ý—”|[3iq¡Šä`'gd¥Çrõý6+ÞprŒ/EëLæL”R]öÇÇXÔ?ŠÅì‘Y»R¡NkÆ‘PªqIL% xy„)êP&¥kœÌ¡M&åµH¼Æ„22\šl!R~™!Þ¶Èd´ÝùI#Í„+cð¶­Á²4#Í%qg‘?î5çp#/.æ6ùð±kÄ_áïËøíê€äG„‡cS·65…‘Gpyý(ÚÖ*‡»­ ™K)üzn$ìCµÊ‰øg-ÚûRÚՙ̞’-æs#AÝŠå\‚9Æç&Ò²Zqd2ìK5gÎ¥åQ¾ÜJc u”ò);ñzæ ]So×¾'Øøû`-â1‚ ?µox—`ä_ƒêås°ÊbF•Á¥˜Ê×Ѽ>{—‡Úåi6Ó]$èy¹`Á†QªºZ€–³VZg¹ñT‚]=‹L[‰¸Ö¡¤öPæ/:AÅ¡•0~ÌäÞË'ãF‘» ÔD¨Ed–ý÷ò¦|èûëÞÎ…^ðî7Ès†Ï‡Ð `†›µ7X§þ.ŽƒN¨î£~9ýÙËפÜoPi´i3úÖEøõ/(5ª¼ÏE¡„•¡c\ýŠéÔ&Q?065„N¥àæøý:4ÝöiwOÈaQ q‡zåÀÆní„­QЮZ6›ød H]0\—#Ô-@=¼t³ºð_^[Mýæÿ=‚P¯ºæ®DšhGB`[˜Ô$¡0dèM¬³ž÷ ØÑ6;ç‚•%,XnM¡oSø+ðcKŽë! -^&™-PMõš×«&P©(äU¡ÙðÐj9F9ßÓêÕ`øax”î);êÞ|h²jU‡Bð‚Áñx?²Qä7B3 èWîmþ'Á¸~ÁAQÈjé®çж/äKÿš2Bþ§n|l.ñ²u>½…zà|+x°\=\›wõ´ËI´T'.P|ÊgcÅR¨;J—€Ú>0~0xšÀýópÉþìŽí õ4P'€§ÖþóÁöNês.t |Mj³D_†‘Ç ÈÈ'i>ð/sC ¾iÊÅRÛÂ8s‰yÑ£Nþ¿gî®Éè^_D×¾ƒRº›šDbhCÅ6¿ÓÌÁKmõCêo»!+y¾…Õe=FX7Þ‚¤kkÐïW”¨ÈŽö¶h+^³¿-:…8ÐmÊZæ–ÊOÂýÓ¬ü>T†6y‹ûR-¾2=ÍÍ•‘ÇЖ-¯A×Úƒ’åõ‰ ¿Ï“·F4Íé9üŒ §ÞPн$>n‰8χÂH Øà`Ïž[áâšò­IŠxÂ3ùqö6ȼ÷ˆ¬.¸E¯íð^¬@¯`)÷›KÿÕX’Yñ¡‚!l˜ /ãðn»¦A@ª† Z…`õqÐ~mÉFPóWX2Nýœõ¥rmù:Nê¦7={AÏæ 2ƒ†`Ñ Òüâ«|Ò6¨Ä(8 ÿ€Æ‘`h}Ö”Àl$±‘‚Gøk5ô˜ïT`êWÔŒú e“Yy¨iNB‡ê6^IOàr<£;¦›¡,<; ³Ùb¦ÄHèxzÔ‚ ”í+góYóžm‡N›¡Ín¨—’S¥` ¬h:BÓòи O@é‰P(¨ìKþ€?ŸªwMy˜wfÐm*»Šµƒ‚KààcpwT—¯4”Ük¦Àó8@<|`ùhå÷X o§Býñl-fâ–ÙLŒ”I^ø¥<ìº=Ë}ú÷ÄÛüÚ6ù²``vÏ'¥_š 88x†„1­ ÈWzÎNÉqc KÿËž0¡¥ºû›ƒ/¬_ SZ YzƒY0ŒÚ  êÔµ‡ÂŸÃSʯ m`ÔR¸™%õ‰zl£…0sƒ:9·v^¨Ü VO„Êfp7w757Htìh1±'ËjÍdæÉ:t»<šzmÙÚÁÝØ‹i'–G ym?þ‘øSkÖfîÝû1oýMœYXé³®ñò';˜¹O›¶›—1¬œ‰ú÷«HJ«;ù=6ÏÚ‡Üo ‹Ö&¿°ë¬…÷¨Üh!K¯¶cJq –U¡µ'ú€¬Cþíç³meEºu  ”àÔ‡. 6ðÇßIlVC;Ú¥êñXÌ)ž]›»sòî;u@ |{У‰—:ÆíÜž+Ö2æt ímѼé;㩾`#Xª›àÚQºÀðT=\»Íç¯n×WÒÃŽ¿Œk2sË"mÓIr˜ÆÄ}üq‚;Ú¤¹áq¹kªM¿}Ëé¬ê\"Æ%:ÐT¶™uKPïôjªÎÒ C(k&EÂÐÖ3y×u'»†xa$(ȳèH¤ÅºP1¿úB§kW‹ÖêYI{V ßmŽ¥‘Hµ0I åB¤=ë{ag•ñEKÛ´æ’8"âRŽÓ¤;,ï?y÷ítsÓÏ•òHtMàÎ)žäó¥I¹ÂXe: ==@Á›““i×ÿo*ÎßÁx_ ´eÄ¡oZ? àÅÉÜÍã× ÞÊÄ^`áÆ'ê¸_j–ÀXvÄ#åÏïB§Ñ~J4ݶÑÏÓ(å8,‚@üEvˆÆ¹÷L&örT_IZ”)0göy5OƒBñ(”Y%fƒ:çÎí¼>LqúZQdAá[É¥€ŒÎûF2&Ý·ZN詪æ;‰±%ž³Úà9+“ÅéÄïáüR'5Áëô¼²UdþãØá?.í×íÂSÞÜhfà ëNdk˜zÁò³°<{“k¦ïÃįµ|€|•`ÓØ”ÑRèxÒÇ1Іš#áÚÈÏX©*ý'Ëx’Âý@•*§†ax™¾¯Zœ‚©¿Ê ƒÛ@?!¼)ØhQeˆÈIªæLHŒ¡ëjè¾:{åÎL¡¦™¾\Z¸1m—È“°;–fóŒ4€>+¡O&“4>žvî£@5*ÝD&°5]¾£RÐÓo€ž#ÔŒ<åaÅ¡ì,kúŽ0ñ$ÌËf¹³C›.€C/(¡ái!t<+2ëvf«#²^W–ç“)ìË"Y•ž'ÜÿŒãÕ¼,>‹3ø»3Ì Œ®­Võ ¨^æëpi&Á²K° åÚ]´+ìëšóò~gúE»3©ÙzZ ìÈÅè—ԚߟRÆTéSähci÷ï½&™ü꘮]Ö§i² ˆáxo&)>ÿïôJ0¢¨É§/âpæ>éY:MÜר½^zk¹r# EñO—©e”#‰œ„åÒÂ(Ÿ’¤w$iìs#Å(¯’ääf1"Ÿ‘„äødu7å[®nžÍü óÜ}NxøKbTP:I¡ù´Ô2"¯¡E²úïñ÷ÿæ>Nüâï‹úCëiEïML½x>å_¼6­»Ð­i |ïæún´jãÌâ©}éô¼/S‚1̃ “Ø¡lÀ†ÅS‚ @üMvƹ[ j(‰¹ÌÒùë9~óááá<‹JDZf6ÅMä<>´Ç…jSÓ>‹ÕÍKAÄ”€Lw–÷çOEw¶usEŸdîåFy”¯9t£ÊÃqËÖèJ¢ÎL¥E§½xÌÜÉ”ÚR~Ö¾Cý(#8³-‹²ëÛS½¼)‡Pî\ºõêÉ/5‹¨¼S¾âðÌ¿ˆõ_N§Á˜ïìåð+;šÕøìS¼ú‡OóR±ºÝ×k¹¢ŒàLИTù"9ìA.‚ üxÄ@yÂϧì¯à}]ûÞ%ÉrØ< ,úd<2Ñ7¥ Ý&Á«pêGÒXU\; +‡Âæ8Ü™OÚz+_ÁäuÐzØ}Û?%m˜Ô6N‚¹?¶Ë7%1£â°ñ40¤êFøå×üƒgàJ½J&<\¿–ÐØ”°ƒD—¼6…qppÀÁ¡0 ¥Hµ¤™¶ÌÌ”" yRñTi†¡ H>{¥9%çáŠÖ =ŽE‹I¬Ù{‚ÐÐ5øèä  u`Gõ…ñq‰¡}ƒ®pbõ(~ñó@r}‹ ¤dùîl},OU/ªOrÏu‰á\¼ú÷æ­)õ>¹¼ü)G‚n£Wº!%L>ÖYÂí=zmO=k´IâáºöT¨7›—åz3û¯½?¹ŠFfR<Ë«[GÉŸrl×}òûÔ%ËÆÚfÈL“ˆŒI&ñÎrúÿ© Ûìn¸êå^yToγíŠå‹e£u˜’·gѺýV&ogf€ÕÇw ß¡~T‘çÙvU 2)»ŽÖžãðªñ469Å”Î>T|‚h(#N±êD2^žzæ&ñàÀžZÕ¢Vá÷¡%¯Ooçºaejˆ½;?Ï rÇÈdN´‰ÊÖûUÔ¶‡êQ¡¡G®´ÊA¾/~>Úö°qTÓå+Œú)Àm(ì?Ê›.Ë^æ?ø8¿I÷ °54N¼g—ø„œˆ¿Îõ›ÒpA½²7\òÿ ¡#©Xÿ,=NÓù(XBèh*58CÏ“ûè˜a?LA!§ÒßÏmÝL1Ïâèèꢥ•ýÎãÎÍÑ}q¢\õc´ywí2cÆ„r3áÛΛ¥$˜á­NXfEºt%*¸»| «ÿn` ½ÖB\vze$ÃÑPÎZ=¯–9Tì ÷“ÒN<ÜÌÔÓ, ^øH™"‚ —QÅriVOëôavŒI+‰ûûñªp}ª[ý/-’xp „—…ëSõj»Aþû2*Þ]»Ìر¡Üú$™âל7kO6Àø«šsFjÍ!¬<¬ß}aQ;è±/‹ ‰ööŸ!  VÀœ¡à˜±©f¼4êŽÇ´šJ OuXó(—7RA„ŸˆŠ·g&Ós•}gwÆå{þ£I~Ä¡}PÜB{²Ê³¹“œõl?*ùÃEøÊdÈd…©17 ëº5°ñA„ÿ_í’®’'“€?é†2†ý U§@Ø t”Ãúáî×W‚»P$W`àpYœu4-bNC§eÐp=li©y¨^ÃÈ™`Õ 6Žc  "Ü* £æ@‹™ðÒ< ‚ üd²œgùÿ¬ù„Üþ½‹ðÓQ¾9ʨ^É;p?E4æSZh°h?Õä*@‚Žya3¸'ûHóûóçþ $«‰6föΈ½.‚ð¿#—Â%‰ì«; ÿW5ØÖò)§^çÒK3~ íÅ$OW–¤÷ø«œz”Œ$}ü˜?ÂkˆÜ¶ ‹–êf ÍǨW¬6÷.•ÁôôY†Ž½ÌÞ3¯x†¶¶´åÏŒŽ0‘d6o9´U¼»u‘ý޳âàk¢T:öñfòb_š;e±Ù*87v:ÂÅúÐ2]@Fõ6]× |îP¶‡ýàÄKpÎàÿô\xa£Õ•¯T4]œØP8‘íÚªƒ1Z¡KEh¶îOwñk,‚ðÁç>Ø‹€€ð³‘æõaöå{ß»?.© vîžw)rÔØ·b6ß»‚ ÂW’»]–.¦çÞ¼Œ:Ї°Û-éâ !lÅf*t å­Ÿ/[öµdeosÎŽ[OåAaD«À¬Nþ™]±(´÷îõãÁþØj«ˆº‰V¹RL]ÓŠÁÍ™ÕB—WÓó@<*2›äa¡4ñÞÆ¼§Öü¾¾5ÁÛjà÷æ<-ªìåà›Ì½$þÝCŸ?ÁQCà#ñ žMƒÙaÌ©åJ^ÃŒæMâÔÄCkeÇá4°P7Añ+oÀCÇŒÞZ ß®fhÌ—,‡5½áE3R$?D 1€…IÚ﵌Õ-Z^ÆdP?ÉöÞÃÀ¢0m;I‚%ƒ¡CÈê凨W€ä3H;»±QIš.‚ ‚ ‚ ÂÏ"w[Èq¡‚ÅÇEÊŸ?æX¸„r(ô!ú¡CÑæîØ*Ÿ³÷FæYÖ”‘á,ì¾7Ë H$cH&ã·!žw_ò"³Y#Ù8£%©nñ±?VÂ4÷PrõÀkÞe0ëË=ðÛ%˜>òhÊæû…)‰{§í‚¾P«9¬Ûv0q'(r•‚ ‚ ‚ ‚ ü`r·…Œ‘†©š(bãˆA×üÚiF*Ò67%I¼ŠÎd<"y4«›®¤g¨C§6cIqSòª¸>yÍÿNV'7ËpÞ£!nÛZÌ4UôÑÏyû‚E¨i‘‘ ˆ9@DFƒ™™º%Œ ð*]KE¬º«‘¥É§‹@ ˜ù ªÕǯ Š@yS8|;±% €ˆw@ªC±¯}0ùcAAAá§–ëc ¥Žh™aB/"ä¨Ðýð7yÔ[¢ÐÅÉ,ã:ªˆ0VQR}}#&·0J™7‘g‰Ù»PK‚&`^½‡Æ"]ϤƦ©ã%ÀåÇps"œ˜îo}!ÿP8ðü¬Á^ w/CR>d»uMÝ•©”uåÒïÂÀ“ùbÞSª@’Rê€Ï¹0ø¥PÊ*¸w°[1Ä’ ‚ ‚ ‚ üÔr·ËR:Úl¨n­âÜŠ{<ÿÐ'™[þ#L« þn:€-=)Ä%~ S¨ärUZ˜šl]£zûŒÇS'PÑéͤ ^ÕÒ~¥x怶øVþÁj9 &Ô€zí`|3x¶†^6{ÀA‡ Ù·†nSà׺ Eaépxb ëR–ŸÆ‚R¡Y^è\ O‡CZ°²Ÿ:h#‚ ‚ ‚ ÂÏëëdbס§é=!„ÆKå`nAÀÈV,a÷!¿‹~±r,N÷ ©2(V›{—Ê2x{}´¡¢åa0ʃO—j¬év„fÁ× yÞr8Øz±å’>“†g^×+õØòR™ƒÆr²«óÇùm[r([ëÍ>åË-ÔûP>^Ã.Ÿí¹U¼ÙÙ0Õöy0ðü»Ü-àתCåK‚Z{S¡ÅT޾”çr™!÷ˆ€Œ ‚ |O×ÖNu©ùÓpûeæW·ÎáMp6¨Þqk}ü½‘Éìñ¨Ú•Í¿ßMgì‰Î8Y7 (â¿WVûÕ×õÅâ/2ÌËŸ…øø ”cÚß»‚ ‚ðsÒ²ÞE ŠâÈ€–üa6žMc½1L™ÆÄZ—ày¹¿vùƒUt² iÇYlmS†‚È1+ô ~Ö“ï2×·:ëëàøoîè¥|­ïÚ•9 )nòµž(„¬|·câG£eßÈ8ZØ£p•Æqľóv5¢˜¹,óaf9™Õ°ÐúÞþ™ÄsiXy\êÏ™}í±ÎêðJ¿/~d 7X¿! ¯ß×ѱ”99,´Œ­q+æI!-öÍ2;¶¤XÖÅgKìt¤Û¸QÌb"ÌÑ&)W6å]ò;yàé©þe’ke~½Ö±kÆ”>8Zh¡mT˜¢ž |y £¯x®ä¨%&”²€Ùú®è#E[cJгªLŸ™}Ù廜}áÍèb÷å×Ã\»Îfð[š‰Ii/˜ƒž«þg•û[J¸³‡Ã¯íiéc-‚ Ù êHA>“vŠæIùê5w%h™;PÔÓ“/Wå¾Êº“#)u£_×@ÊÛ|ÿŸsmË2ø×ÿÞ¥øÿíG;&¾‰1Î>õq~ÿÿä7<Œ”â5±;õJ™~œ®X-Ä!û•¥ß?0UÌ]B# R9‡Á˜Oiažé±%ÅØÙ‡úß±R²º^kåñ¤Öw=9²ªC=¬+×Ç:KÒ±*O™<ó9û0.vÆ_\²ïvÕµ¦rýìlñ÷–ÄÃy&ó§¦ý†ý!ˆ.K‚ ‚ðÕ©ˆ½¹…ñjRÂI†ÌΓڃ6s/U~Å›sÌïZog2ÇÔì¾3šûFïmŒSýµ¼R^gD9;d26ÍCˆ‘?`AuJû—=(T‘ì´Æ¡Ã1bP7ñ/êÝI#;QÛ»Ö2NåZ2ýäkuKU÷ާ¯7®62JúÑnêÞ„-£†}U¦ÞSòøO?d2d²º¬®ø´Ë’ügö¢^y7lev­Ð€~Ëÿ!2e%ªˆ ºTfÐäa´ñ-£L†Ìµ ‡“Yú€¤pŽüÑ…š¥œ‘É(Q£‹n¦nvÇéžÅ(Ñq £ÚTÂU&îæln&%ópÓ`+¸c'“!“ÙS¼v/–†¾E $ßþƒJ²ü~9UDz˜ôp•áÔ!„hÕÇåŸéWk¿¥„Ée,7·Ž¢•o)\d2ìÜËQ«ë îfø¢[Aä¥U j\/²ÂžTÈΧr Б%±ñMY¶º" [â‹u‰á¨‹¦yû.ìÌà˜ óíÎlG§L“c²ªovâX¶#ºÕ¦Da2kW*¶ÃÎ ©©*‰¹¶–þõËãj-þX5ÚM;DxêzM~ÎñÙ]¨SÞ;™žÕ[0*ø9òTÝdâ-£†k[')9ÓÙMÝ•°hνKø´KDò3Om‹o‰ÂÈd.”ĺ«1©êéwwO Mõâ8Èd¸”©CßÍ3Oþšp…ÑeÝ 6„æ\±–É(\¢.½ãMʹ Œ>ËŒ_jPÂÙ™L†u‘ ´·'É)ËH¼Æøòn4š0‘.¾ØÊd”ûí"ñòÓ‚ªž)¹3Ü©Þa'_«üþ\7¸ edÈ켨;`=—.ïdJ»*¸ÙȰvó¡ÇÊëÄ~؈Lê=ñãË8°öÊë¿SÖN†LfGëÃ1—7ß}ÚeIy‘¥}ëSѳ02k7*`ýƒdÈb{²Eñ‚-Mðè{Š4½˜bŽÓÓîG¢3Ü_ò¨'DJ,pÌŸþ!RÁÓõ °‘Õ`ñ‡ƒEγ=ý(ëÙ– ÈôKÔpl¥]aK|±-3žs¥«›œ‡‹ÕËKÓuNþ”­m‹QiÚ=Ò_R³êbšpu Þ¶5X–[Nâ83ÀCC·Þ"t ‰Ò°O²¨CU$»mqíùwÖ]Uuò`k–Ä‹—ï>©‡œÊð·WãÔ_ëå2þ-Íè|—ºË’ü |Ýð1‰M+ãa/Cfë_¿ ÜI}_Êêõ)[Ä[çT©×ÿ¢®ür4«>~*â†0§W UK8!“ÙáQ¡1ΜOÿ€ý3ºR¯¢úz(sõaðW(äO8¼7 -ó7üÕÇŸ²®6Èd®øâ‰è¿¤‘È‚ Â7þ³šCY´Í“|‰Ú8„A[Ÿ¨ûW'Ýd^ÓfÌ«Ãä ÓœÝ=‰J÷§òKß<Óð,bVg#×·¶ ŸÔ±'osÿþ}î®ó%»)ŸãI%úÍ߯¡}kéïp™Ù½¦p!@Σ¿ÚQ£ÛnôŒfeðö,FkGL­[²áôfºÙBÁvëøûÂ.\\CÃômÊUo9=¢M¦Þ£Ô¯qâü–÷vâòèúL ýÐ_wŸCÿ™QwøRvÞÃ’vÆ„ŒëÅÂ[D3¯Ùß¿m¼ Òðµþû +G¶¢Tžô&óòèQª gùöõ,èW - º–%i-œ_spçŽq×¶sú‰çƒ¸ú¾Ûþ»ÿ:K±Vµ‘iCìÙßiÜ/ƒæ3Øvü×Og@ 'fÜa)_í¥OÓßùÛ¶+ ÷žädðJ&v¯“QNnÉ>Ý>‡º™owfûÛHJŽMÈN¨HxrŽØŠÃX¹ÿ0{V Á;|=òZýÈ$² Çq¯Ìp6ž:ÇÁyˆ_Ö‰NËï‘  xEp?Z-{K•A‹Ùuä«Fµ§f±¼iškÙt øÊrªéH)¿8”û÷ïsÿò J¦+´*–ócÐq‹­æsöôf†9Ͱ6#8¥L©§Ôî¾ êOb˱¿Ù½` ]³ñÆ]ÍÕ[ùi3;ˆ#¶0£¹‡Ç7¦å‚›$© N5º0~IÁÁÛY6 (·÷ ïÖ§ƒ¤Š·œ dzï¶lZÆpkt$Úä)Z>SW³{ÿ^¶üÙ Ë33éüÛQ¢RžpŸà†Ekæì9NðüzÄnB@ûM¨&³íè–¶”°gD_VÝKκÞõ\é¿ç$Ëó€óvž¹À… ç˜Wé}h:ïÒUsÌYF×nÀ´ûžô˜½Ã‡70¹{}ÊXjC6¶'KZ–øv®‚DQUD]ÍQ©¿”6Cs'%‘WOn`G!ÃôShQ°fªéÝ`õæ;$!çåÁá4ñœŽÑ0ÏgvÓTåV¾--L­L‘ÄEûထó4h(cï5df/‡?ð©·(7Gš2¤Ì´ÔçßýûÜ<>ƒ:ù )Þÿ/fúšg°O²,`öªP+/… ½Ã×R?ON~{3»Ök˲ø-Õt¾²‚·„ öùÖí!hV=Þmý•©ï+’ï±¢C3f¼ògî±[Üÿ÷ Ë•%!*ënqò°5´õëÁ|-˜¼î'ñçï©ç¤¾p*ßçw??F\²¥õøì=²M³‡Ó©|>TO±óŽk›ü¸7Á’­[™Ó˜››ÿ$ø³ùüïûÜžUA¾ ¾}èÛ²$îCè½n3ãN< ¡ åß°(¬Ó6õÁ/¿°cÀˆ:¬o½’ã¯Ñ¢`ºÛi©zº:H‘¢£«ž^ÊM\vïu$®´éמ:ùÔwµ¶ýýYx‰ÐWrÊiß`ÕÜ3Âü¾®)ýÚ‹àž2«…UÌu¤è˜ •Õ‡~ï©Ó *_`Ɔ—”ÄÈ@´ûV“Yòü<¾ æpº÷J|$”îÒ‡VUÔtî½Piq{NߎAå–ï“›tùãmLßOõËÑÀRýacDéÃ9~[Ò·}Ý´9.ª·¢Í‡ÿxà¢}ŒM/r嵜’6vÔkéÂôU{¹ÿ›'îzñÜØy†<GSeçvÞxGå2†ÄßÚÁ¡èb ¬i…6*ž‡MŠ—+MQ'c¤¦ˆWÆU¯Œ}Bx‚¶¥ÊSÂÕ} 8¸f¾»4Ò°}ñšŽ ¤Xe¶Ý–™íooszlf·N´œ©X / ˆ+Åܪ4–Ùû~÷]~®-žÅ‡aœ€­6`ß•‘­ÖRwýntîÃÓÌܧMÛÍËVÎD}¬I©ÈÔçD =]´$ ÑÑGOïý›ödQ¼fÚÆx®žN§”l®ÖƱaóVþ3ê•°rÎ) šmbaÿJ¨SoX¡òÌä[Yï®P«Œ+º€KQ,žU åâ%\î4‹r&Eiضè‡i=Ý ñtÛ>¦Ÿ#¡¥F)ßÛÔëM×isM”iÚ†2ïÿSÌ Ó7Sk÷y“j` q¡Y熔Ë'—¾ôòZɰ|éÝ´"&€[ïþ”YÚ›SwßÑÛI/Ëzw±,„¥±6R]s ZYa•þI"ýq™¦Ë¦’ׇg±>º6óöŽÃ?¿úØq-òþïù²Þž,IÈ[±3µ´;±òÔªûçC¢Œà䪿1¨û%4F­¼½öÃFÁÌ+ŸN!ÍW…ÎuLiµqG‹é2uÄ#Ú­_Aw)—³U®OŠ *e.<$èå-ˆABïR2ò𠆎»Gಔ1ÚÿYË”@.d$héè¡ÈŸíaD«Ñ„5[ÖAÞ˜J?/ݽD*e6J(1£\?$3Üg=“»bú¹}Ò2úíÕ ók½Q†¿¥ï/MéÏwUÄ'Fßôhâ…>€s?z®X˘Óa$´·Eri!ó¯y1úTgÊÐ pñöÂ2˧ÿdìXΙäRÌéј )ùq>”]ñŒíýº³ÏsæúSàýòŠ(x¶7ˆ›ÆuX5ë7|RzˆÚù:¡½¬ÍDèAÑBFA¾5-#òI‘'+P‘Äã3Wˆ‰?AÏR…±³³ÃÎÎV»ˆQ¾åÙÛ š!H@ýóËo™µŒòb(U¬P¡Œ¾Éùù©âcŸe’ÁŒ$>:ǹ=~ ¦zó£‹]õÊXÆßâò³ ÞÐi“Ç@Š"YóƒJüý¿¹5½ó}Ö ŒêÝ]vOëCë~T*åŽGÓÄ 'Q uÖ¸>ßþIp‹Ý'ô¨Õ´-*+9¹ç6 $pgWÑ^m©QP ·úzy?ajOª¶Á²C·ˆÎ$0¦mÈà¶…¹0´2^5»0aÝIþ½»‹*{8þ PT,ETT±EQìîXu±cíÞu×^uW±± »;ì±A$'~€ŠJ ÈoÕÝóyž]áÆ{νsçÞ÷žxðîkÒ§ÊàœÈ¬Ü™›Ù¯-¹^¶~ñ ‰Š.†fyd(?7‰Ž1¦:J•¨5¨÷¯“ÈÃàÛ(‹5À-_úŸàl•'#FåéÒÔ˜àåLjP2â(ËϘҴ]>o zH»º¿°O¯ ‹ÆVJÿøJŒqëæ‹åËUt|‡6«—Ò£¤aö[v|&·Éh™È1Q¾åM¢O1‘{Mg1ÔM“ÏG:$’\ï=ÅË}üÒlW,f݈ʘæøIT’z¹ÓäPJ¾:Ó˜ß4‘À ð;þ•SriøÝû½Ö§Gfˆ™e²5 ^]¹Èëî8›e7û$â\5’OÒ¿Ru:LXMȳÄ¥M ]ÁÌS…ùyxÝɘ÷TQoñ#J IDAT¾Š¶›ošäç;n¼¥½qÎÎÌeÿ!"!#‚ ÿ¸Oo‘•I 0m‚ÿáÓœ>úsæ,gÏm¡g‘ÌÅK÷†ù+î¢ÕÊD”ÊDbr~ã˜Ùƒï‡éœP&£"‡ÅS¾d{Ÿ†ôÞ,¡þèÅl;zžËí1OŒ–¼.íK>gÇþ‡ÄÜßÃi-:äÃÉ·"ñ‡÷Æž}opéà‰eê=®4o~ ¼@ÐÆi4·¼ÆÜN5qi:‹+q釖 ÛÏå#Œ®­Ã‰É­©R¡#+îçÞì*ŸÔOåÎêxçäÜÌvH´ÐÕ™– *’• å>“}A÷rö,gŒ¡¬ LB‘ôŽøÜz¾Q&¡Ä†žk,ç鳜={Ž•M,(“ÈÆH&Y’jk#C†L*!þêt|›Oå¦cOf¬ÛKÐåf”ÍúS¢~{‚_udá+w.ØÄÁËRä+’ÔûWQ£LR LŒ%1ã–{åѧdÛÖ¸¸œƒÏ“x~`9—ò· EñôSÌR3FOöÅöEãׄ‘œÞBêwÜ ¹E4 çÚ_Gƒ\HÆä^¶Cf"ÇDúŽÈw‰< ÎÄ{¾ÌêöuÉC’šSFfl³~Wÿ‹ c<È÷Õ36iß»Ë ˜°-ŽÒ]gp9ìWÐdïYíü¸Ög Ñ ¨”É(³}¥˜V›ÌþsÌೕÃð­Ô’Å÷“B7nâ¡u}ªÑ<Ôoϱå"¸øºbòþÜK¸ÍŽ£o(Ú¤Ú‡ïMáS"!#‚ ß”6ÊBúæ !oL(X°àÇ+ 3lá+AòÅ ©m©Š¸×q9~x”ÛSÌä-§÷ß&݆äZ²Ôõ 誀ô‡N¿HÓ1$‰‡ÇNñÒ°åå:9ŠMצrîrà\dög|w™ G©1qí+Ø’ÏHíÏï‚d¨Õ¾4϶íâ䎃(k6¦˜.ä)Ûœòo÷±ûøvvE•§£‡ù§7PRlÝ[ÐF AÛ{`~a!‹.g6Ô¤ ãb5i?l>{‚–ÓX}„k¶ U|T éœY”;óãÓs“l׉âñ!vÝׯ±JatµÌ(noˆâú1ëøt¿–FhI@׺,רu!½AÓ©™,ú_èÊËbÍ#Ž_JÂ<íþ Z‘OOŠÌ¤(%ò*¹±ï Ñ_û”ª~Ë…mçI”W¤t^áûvðÀ¶¿ö¯ƒc~S ue=ìÇßÚÊþWNŒø­ÕŠX`l ‹ôkÀ5¨w Õ–‚29׬œ¬QßÞCpÄ—kkZžô„?ÿŽCs:;„²rg0ÛVÜ p[_2ºìhYR±ËLF:pmÉn}>Юú×u¡Ã{~éaO±%|þ•é9‰$WZÆ0•ÆñüöF†O £Ùœ!TøªlLêµ$—TF`R«Þ©ø'›&yåÎTóM“Z1œ™·‚‡•ÿ`Åøæ”Éh€¯lìøËïÞŒdt­G£ïÒœÓ"¿SqôÂw±/,' ºVn48›»R@q›+/’€$žßxÚÀýtª1æR g’hVÙìÃwdâ½Ýˆ°£±gA1VJDBFA¾))æ^~4·xŠÇ.LÙxŒ‹7opþp «6“Ñ#Éû&i~©eAYW ÞìžÁ¢}¸~ù4»—ÎdÙlÜUºÐ££Ou Ëo› }Ìã;—¸p?u¶™)EäZ<=°…£×ïróò ^~v¿'³¬Ë€fy97¶'S¶]"üYgצ×Ì{8öô£R›-ë8´¤w%%GweâÆS\»s‹‹‡·rè‘åÓ6§pÞdÎ. (ü)·/gôðu¼údUùkvÀéá_LZ‹‡Oqô‰IyZ8?Åò2^Vè@Uó÷·O ^öçïõ‡8sí÷n³ÏY^’Û¼é·IßÎÿ@Žž¿ÁÝ»W9µ÷ ×¢¥XØ#C¹[ ÃW3cåQ._¿Ä‰­‹˜³éž†I‡tΉ¬ÊéñÎɹ©a(q|ß)®‡?âVÐ*†w™Âµ"=ø¥¶9RŒ¨Ð§vo·Ñ»ÃhãúÍKß±†Õ‡Ÿ tж¦G…X{¶g쪣\{ø”ûWÎú& $ï[ee\‹Z6MèëeHè¯mé={§.ßäZÈ6lájŒ ÊÒ½Kq¢6þDï;¹y‡Ð³ûØôB£cuåGÎßåQØ%öÌêMŸMÉÔÖº2Ll dé®›<}x‘íÓ2åRÖ[ÕÎk‹…êKs÷YÁë§0dþý¯xÈϺÞAó¢PßÝJàéPî\¿DèkM“ZlЗzº'Ôfþû/ñài8×Ï^!B‘uyd†ù0TÞaë–9|žEú¿KÙ•5ÞÝœ¸7c³î8Ò¡Q¡,µ±©Q‹‚ç¹›väWu7w£ÝJ[~[?…ÎÝ{PVÂâ4² TÄG>ãÙ«ø‰ä¬ÎÇ÷±<{þšÄ¬Õ΋•ÁS6DX³Ù vÍ^W¥/ö£á ¹êäh^>{ItrÆ ªÞœfZ«®l+6•5ã=1U&’˜˜H’";YçÏë0£ú*¢¸–LQïÊiA‰„.ìK».“ z›½OLº×Ùtd~­G£ïÒœ“`ZuÝìïð{çø¼LØÃ»œÛˆ™õÿS£íЃ¿ÿh k»R½B}mRâ3 ZÎ,EƒzGFAŸq p{ÆìÖ^Ôk?ŠõašÏÝ,³ôfÞÞEô”_fÁO ©âÞ„Ÿglâ|¤"Ëòè—î†_M);GugàüD(Óÿ]êž°ôêNUå\:Q/î_Äfjƒ©ú¢RS-ê8B—t£õb &nü•º–Zh¬K÷ªÚÜX¾ž;š><ÇœfDuWš-yð1‰“2¨Qæë©"ØÓ«"n]·ñ"«œ—–)ò< "õÛ2gˆköº*¥»Ÿô¾_>§àa@KÊỦŒ’ªHöèÀüq¼ÜÑŸªÅ‹P¤HÊ÷ÊÇš'µÒ©CMª€ä(DI0³JM„¤ÆuùG÷ó$Ël×ç4©²¸Ö£Ùwé×Ðwbðºø9\az§T­ÒˆÁkoe>Mx ®]ɘ.>Ô©QŸ¾³ ±ÍŽ#Ié饇ÓÐLnbË¿{Ò¨F}:Œòçè“Dˆ¿Åöcoqh\«ƒz?áðÎXÖ©‹]ÎÆþ'HÖ¬Y£V%ÅÓ®SWb¢ßf¹BঠtìÚãMAøÞ­\êOÓæ-3]F­VÉÅóç¨Q³VºËìÙ¹]| ‚š¨mM)ó³>+®¯¥Ö¿}DŽˌ«Ò€­qt¨cÖ‰C!÷Ä3¤jžL buc‹¬ßB¿;MÿŠˆšÂÊzy5laÏ…•iry!;ÛcõE2LMÔîθõ|ΈS»èn«(x¸´>Uþ¬ÀöÓSqIÍ–Çé„sç$]Kù\(ÐÄ}Ɔ°Ê'óøá´©¿Ò+÷2Ö5Ï'±«^n¤±ëŠm:ÃL·/‡5No?‰×¦àQ?íâg{­ô·“ÊtO/–¹®'xNÕt§~ÖLNêð-{𗦝QW–ÕàýÄëŸ×!€òé*UžCÅ'ç”Ó¡êÿÔ¯wàë4‹5YT-OÖ+ü‡|~?¸ieœœÑÖÑA&Ó<Ë}6$8[÷ʼn unuå:Ÿ;›ùÈåyòdû·CAA„ÿ 5Q'±3¡s«™kÖ%À ÍjéÓaú.WLÙ¯žN P>g¿ÿQî3ilóñ±+9.tó “á.’y°e  ë³Ú3‹ø“ߞ¶ZͲòy²9ØpúûQ'Ç‘„.y2É Æ]]Éêi±Àõ+’1H¯ÕIÄ%nÝÌË«ˆàèìÙ\-èïÅþÛÉPóöâ^n©,©jù_¯‹ï‹è²$‚ ‚ ¿‡ò{ÿ>Œ´f'*çÕ0E!1¦Êè¹t“Í£aÕœÊÆìÈÊ+Ãq-$G.÷fãË4ÝNdV´ çÁ†fX¦>u)žäïw0tªˆ\'–=‹"—Ëql0ÍX1Ú8øåÉÍùÔ0Î,þx®ÏïÃQm™;¸y2ZTùšõMSöSvÄ…4x¹uÂ}¶.ØÊK 7œÍeDmk‚\.ÇÆeÓt2(?•‹OÎ2Þù«§ßJ Qã:TuÚŸe”ªV=2¨CUÛ:V¢ãîâŒ^4§Ü ó’Ìã#[Øuò*÷îß hãdºý´¥×ZÛ‹ñ\¾'?È`Ç*JÛ¡8÷R Ÿv­8¥DrOAA„4’Ã6±èœ1 6e¯õ†Ì¼:c÷Ü Wx†ÍެG‰þëÙ×6uŒ™…Ì2{ßHèÒIì0éÊ‚)50•Hp³½ý’Q- k<+³šØó3è=7ŽN›Q.ƒlŒÔ¬6îßCŒ@Š®…}¦cŠÅž›Ã´ÓÅ´|8.ú”ž³Ø¿'&eV-‰æö¹ÙÈf*³yòJâ›Ìd¹¯2TéסԌšÓsµ@!Ì´s¡µÓFùšÐck˜²á,áoUÛ8áÑ'€C½=‘ÿ €ÿŠãp¼Ž`phãÌnF˜ëc/:á ‚ ‚ ü`$˜ùlå‰Ï·Žã¢çÌ„óO˜ð­ãøÑvðãèc¿œ­,5 ¿Ý—c­¤O‚¾UqJ[iºq]J ;Àå_ ÐMÍ9ä±)A›ĉ„<åGs"ltæ‹i™bWÊTã­¹ÿÁÉ Ú¦ö§Ò2¶£”SNâÓT6ëP«]6_¦«¾nê ½Ò êP†‘mnúc‘YRkü&jÿÖYù¾2jñI´£Þñ ^ÏNrj¹çÆÄõ‚ ‚ ‚ ÿ,‰¶ßu#©†ßõ‹o Zúßu B¶äÒ2jÞœ ££Ûô$;Hv`XðM§G“ý’†º;¨ð~Ê<·§Aby™ ¸”m<]z‰n0Ë6ÝÆ§ä^¤Ò]Tè| m‡ë\%™•Õw#‘ì ä´w$§Fòs6OœJÊ­±•7FnÓ¯®k9ú2«¹âAAAAþ9¹ÓB&&ŠA ¯±µ”=ó¶Yb¯«àáõHŽ¿U’íTHRý†È˜¸¨ s‹KˆN¢Û#œ†^á8¯«Âïdè™ë“îPDIo¸™z?÷ÁOn„ìu»¬¦S]íôÅAŒ_$‚ ‚ ‚ Âw W2É/ßr6R—ö¿§{¥Ô.Eu Ð)G[Ó¦Ñ_eTGûÃ4fÉ2t‘`,7 H‘Lº,:òËÇ4¿p¡Fy-®xìdó½F wAAAA¾½\IÈh[SÞ,‘%½®`=Ôo/3J[ÉrØʈ&®Ú™Ï)Ÿ¡$íÛȤه8~ã1Š"š "!#‚ ‚ ‚ Âw wÆ1ÊÇ܃Îô°|ͯ‚q.¸›¼Î˜’œfÌ éhaœÃqšâ.¬ y×ÜqlÌôÕÓÙh‡·v¡ Y¯/‚ ‚ ‚ ‚ðOÈ¥A}%—-ļ5‰N¬Ëõýeh¥zÊÀF7zH$hË@­R²VRœ:ƒ­åD··ñXÞ˜¹¿5Á»j1J9ÂÞB’ýqlAAêÈ@|¬íèt$æ[‡ò )¸?¿Ö.#¹ÿ5ÛIàÒ˜rª³œÇ¾DQòxe}äòêüyïÓáýcŽôÆkpqÄrÒÏ ¿S±)†ûSK.ÇkѲó~æ‡;¾Š0xZSnÌ¥”IÒs6…¬i¶ëm&Û(D¥_o˜ú«”zp ûñØÿCÐ?†¸3ƒ(m]‹Åä7|*bníbV_ª¹ÇF.Çι ;ŒaÇ“oU.M>÷?.uT‘B£½¹¿íkcAj 3ü°ÿóâÏ@A)üz+çÛPG@-èp,÷âJW2ü^ ä~œõ-Ïåó07êä_A ׃› H$`^–?øÖA}r)!ó‘DG‡’µ 3mb>¤ÑÜy«-m ›Á‹Ð$’Þ/¨Lâìá¸\ܳšäxè¡ÿ¡TJž=Ih.îEA„oEF* )Ê]vŸz™æ…K"a'îQÀÃ}€¤ÇÝ6Ç£¨ "2d'¡ØRÏ£`}µã¹0¢,6?úC¡Ì‚ÚcðkËÂéO~C£ Y0‡žŽz¹¸U៥&æÂt|kõdÁ=¼ý¦0þ Fw­‹“­-EÌrgžAø‰Þ z2Ø–A.9ÛëjA£é° 3|׳|ÿK$ß–= ¡)½§7·ü[Gõ}È•«oÂ¥[xŠ£JsKÊÕCÿí[V‰DU¼(®ù$ kDËÆzÌùë&‹›:ÓÞNÁé¿®ñËY5çF:8Ô.Iž5{X°·*“ëçåÕ‰Møýñ ·v ‚ Â7¦eíI›_ù{û¢Ú7ÅB (#¸xQ‡JíLª×W8'qÃÇT êלß~uþöÔ.ü/¿í–ä¡hÍÆÍííêXS­±unoUø'©"Ø7ùOnØçð6?ŠçpxAø×@‰úPâ[Çñ‘ ‘R=ªþÖÑ|_r¥…Œ–¥)n&±¬{ Ÿ:AÔi}‡³öî-J]•¦ºò‡W¿T<@Þ‚AŒhÅ‚¡yrc÷©$äõêƒÿ€Bùõ¢¨m¼}FýÙÝqÍŽ‚ Â'ÔI<Ú3ƒŸ¼Ý(n-Ǻ„'½_!F ̃õChê^[¹¹¼0Îõúâ)ÉÜ™ëÜñ'Ž¥é£ŽÚM[šm|‘ÒD@ØÖÑ´ð(­¼%Ü[0në=2èõ @ò‹ÌûÉ÷Ò¶Èå¸x4cìñ7¨•/ØØ¼¥ýNòI'œ˜cô)]’ž‡ßs¼;¥\{1qHs*:ȑۖ¥ÁÀ5\¸¸ß:zPÂFŽu‰šü´ì:±ibP¿ÜÃ0wJØÈ)\ƃ–c6q3&íHrI<>ø]êT ˜\ŽsuZŒÜ@hl6G›Ó-FûqãÖÈ Õ» Œór¢d)Fž¹ÄogJ–,I©*9ueMÊV¤÷Á7˜Ö¸‰Ý(‘^ÄkLrs Q@ªë£¨h+G.·¥Ý¡ Ž/€Š˜k h\Gk9…ËÔ ãïy’)Ý1*âÜvûøP¹D!äò¸4îL»ˆ¨ywk3c[V¥¤­ öeÜ©ß܇Æl|©ÞÔ§ .]clûª8ÊåØÖ™MhÜ—]–!ø÷÷¦¢£ r['²ÿ6vŽöcyÚq\ôì¨ûó ¶œ8Á¶™­1ÚÕŸz­q7 @ÉË}©Ýi 1u&±9(„=sÛ“wï@ê¶öç^¦fŸÓ¦PýôëTüFå˜pè —·ÿL×_9ví7n\aÏP\'åêþ®m‡{û¾ôô.Lºt°óKšæ…¢CÙvú,gφðgÕ/2>¾ x¼–.M&rÏm$ëN†°ÿO_âw£Û’{¤+™WA§xS¦3Öïg߆ Tz´”þ#÷™ÁÓ‡âÙVüšä²ë$ö\ ãæñÕŒ­­ÍÛ„´+$óòÈjŒdÉ–5,èïÅg·Iê˜&xû2ùZ)üü÷ròÈj¦v«FþìTwzTÑ\:N¡V“Yµ÷3½‰Û4Œë¦ŒÑ£ŽåÌxºn4¤íÜ=m`xñ F´ͱ7* ‘3[Ómq µ'¬ãÈÉ£løs8m+šgØÕJb`C•ö£˜¿a7{·0Ö#’Uƒzá÷ãÉ“ðh7g ›2iåffvÇÅXI¡üÙ¢%óßÕç×À ‚wL¥êýitòÛʳ ²‰7ÿ¤Yƒ!1ïÄÜíÇ9¾i?×ý²˜:.”×­é¸v Æt‚Bÿ¡V|¢Ã¨ ‚ | ‰®½ÓÉ3åÁÉ©ÐP6.ëÂñÐX7£ g[ÚX¸4Ŵ޲®Å9.¿RPκœ&óëšs¼­Qu$A«O#­6ŸjæRH¾Çºiû0‰­K£ 8tƒßª*Ì[{ƒ!e]SÆLIKñšð*Œ*V rYG¬´¡ˆ}©6ÜØÖÑ IDAT«ÒºZÝXv2 φù¨"9±üú Vãb”ú†RRŒ–Ý›P)ŸŠùÑ·ì2FäëN¿U0Jô€›?NÞ£ŸƒaJ5;âU«2%ôÂ}ø3ßs<Ícþ…ŽÌr}Ɔ™»QÔ^Ä߃êa.l{0ó¯{Tóý ÿ+ù­|ΆôHxtD‡žä•$ðèÒ;l;˜ix“£…‘¥–y´ê˜R `A ¦®¨Ž%‹ãkÀµ…39[d'F4¢P¸'cÚÐ`ͺ÷N©»&üÜ£1vZEèßnÛמáqRCò}Ñj'‰»«¦s0ÿ@ŽòÄV Àg—BHoºhÑ6øun€õû‚*ÂÒüQÅ«ƒÓYùĉ1§¦Ð.eCØY¼ÀZ¶äã˜~9"!¿×OüÔ¼,zEûÓgiãƒÂIè\ý{ø}]æI‚.…ÊWÆÅ±z(âøþ¯ \[<—`“vlšÛ‹Êy¬°`×+wgΆ0÷/š~A{oå”Žì«æÁàAPÙp„¿ÃÄ#Ð’ÀŒû°ð4²LYgìïà_ö?‡®rxyÈÕ= D> (”OÝ:uŸîC O½”ß•·ƒóáÀU[JƒÉL`Þd0è ëÆ€Iê êò0âÚÇÅ.Ì€SÅàöTR®5ðG¨°îö›ÔXz†¦)ë3ªÁ™çàáyY4&ŠÀ½xÊ?'m„;ö0a!´š ZOaôRh³ü¼R–± ‹—üÓP×íËMêšµ%Ȥ`a 6&_.“‘ ×ÕàEÀ Ž¿F²¨“Ësà¸) €ê©×¯1káR˜¼ZŽmè¼KAÛ©0ò.ìwƒK]Sf ¸÷ LªAõ `­ÅŠk\M)rc%`T_R¿¿RÄ馴ÑÖ½4ß{§~…Њº §._ª\öùËõA}Aá?M+fúR”ÉJÔ€:î.;~ÿ™v>µ©Z¾$¥[l%‰J@« u:¸pl5g£Õ¨"O±*DÏNîä•q·8zGÁÃù (fk‹­­-¶öÕªæíÓèôg Ò+A—!1ÙÑ W×Fü<}gŸ¦iÆoTž.M ^~Œ(#޲üŒ)MÛ•Iÿ¡T³<2”‰_JtŒ1ÕQ’¨Ì°)´A±Ú”3|Í•+(âÃ8}Š7¬€Yš;<%ëRV7‚Ë7ß|ÅŒˆÉ<»ú³ò¶)-`\{h„³õÿéõZÚ㫈àbÈs×ÇRÍ>õøØ§¡ÿSÔÑO‰N÷I143@ªJF•^å©c¹sú ¦®(ðU¯Íyr…M ªXýŸß¿É 13øxÎ'„çzB›Ú”N­[ —ïC°2‘Ȉ8Tâê7ÏäÅ´tªLó¡²óʫ̟TÑ\Y7‘^­¼ñrwÁѹ'§Õ*’“2>!‰G§/œ>åí>ÄRºívbTÑ<‹Nç¬K~Î…ë1˜¸yR$Gc+ˆ8½”‘ÝšÓгÎ%«0æ()q•§]m}Îo8õŠÈ Í<,ÑšÆMšQø^ A‘*T‘Al¸š—mÊ`˜Á^d†fH•$g«û™ #Çzô™¾…swϱcA?JÜû‹~^MøýB jMê+'פ¬ê$Z6MÒÁŽ³Ã«Q¶N&¯:Áƒw©­ŠTo¸qáºÎõ(fôiÞòÔ/áÁ2žeì3yÌA’ Š÷ÈÀ"$½KIN?8 oã ttR~òÕ…h ê%—%xö€çÉ<á© æ LÖ¬+‰ê5œzÎ?&c¾ €3'@q Š|ŒÕm¨ßÀ›  Éò€¡’•9,‹$fд Ü?1jˆ¿—ã! ÎÇ8uåp\ /2î¶ô-hrüsâ“:Q•`Ы.F—‘惦¥áÞñ]ª´lÀßO†¶û`¡?ؼ¿¼ëC¿ `ºll ý¸”ó&[Tsc:å?Ÿw] ¹Eü?ÜLä?\tAAøHsǬ|Éö> és³.Óæ-¦¾£%Ú7ÇSÍ÷lê2 ÔêH…Q#Y…Ó»UœÓ¯ÃŠ ÆHµJ‰B%Fog™%i{¤È ÌI$6]Š´ý‹ãuûppÛV6,B“YÓð]¸ƒYÞÐBŸ’m[SÀ{9Ÿ{Sýðr.åoÁ”ÿÇ(ŸjP&)Þÿoú$)ýÉs"öx_jõ>Ä‹·1$xRf²T ¼ID¿®3Œª0kß"êæÍyë›tþ@E²´Üg²ov5ŒÓþIËK=¸öùêYQ'“ D™œñê†J­{uîÜLg‡2 %6ô\»žEÒ¶S kf †N}nÊ…}ÛØ²v)½ëOáÛ:¶Ž¯Šé¯ úO} 0Þ˜¦Œ¹’V±îê»ÖÁòùPu"´ÛË[hþПÙ6ÞûšïuÚ•Õ¨€„èï+÷OË¥„L¶³}3Ož<ùÖ!‚ ü‹\øÖ|ßÞ]fÃÑDj,œDû )í¤ã?»¹’š× “»’A»Øw£k?¼%“èÛàTVE֣쇮4šÐÊW†z]ËP¯cw6´®ÄÀ9»V¯+6Z ãМÎ Y¹3˜7oP¸í\ry¢¸;¹g€K)K´ôTT´…ù{ÎóºY}ò¥ÖÁ»Ð\JÈw©¼iì4O äñ˜Oð…‹ŒñžC•M˨g*!ñÊþV–u«}0×ø¹L‚T[ ÊäìµÔÑ2£¸½!Š“Çx¬ß‚Z_<±húž> © Åòñzÿv®Åºá–'§—ºÈ] Áúcœz6„’¶Ù¼åSçü–[W^kvrüR¿TµÍpJY‰®å÷¦|ã®tYPê¿ÍáÔÀ*4ü<¦ŒàÔ–K5ÛÄȦN)-¹b4©m ”)„Ôÿ !oL¨oŸQ{“´«ä§LÞ†á~BåÔ.KšJ"|ߨö¿uUâÏY†eÚPÏ Ž%ñ–=-Üó!Õ2¥VcKþÚ|”#Ê‹äóù%ýA¨s™Z¥@¡†<ùÐÒ¤¾²}MÒ¬NÒÿÜË0.V“öÃjÒ¶{úVéÌ‚µwh=ªŽN$îÛÏØšTL}(U½¹È¾ÛPÄÏîË®œ9$/ÒYp< šfÒuC¢•[¥üôûJŒ„Ãc¡Y.Ä Ë Nù`Ç6xÓ$e Ô/hAiGH> ÀÛüËE4½eT–æùr¿: ¯‚U0–€V!°œ…©^|1¶—:5!óù%H"¤&L³';ë¦Ý­¦Ç?»>©-(í [ár TKýþWEÁ¶ëPlÔÇñnT‘0¤#ØO€Šs í¨”îNipÚÐäghò,¯ ]¦À䦻i"£mÈt@õâ”ä(‹ á³dŽ8ÛäÝ>ŠýË'B̈h!#‚ ÿ/ÚæÎ›ÌÆ%9úb¾Ÿ…ÖñJmÿqi>ªvô@Úu"SÈK‡Ñiº)è•¢cϲ,›8Œ¶ƒcÞ¦vú1„ݼƒ¢bÙ¥s÷’ÊêE§1)ç‚CâÃsøž}§¾ÏzhYãÝ͉ßFaV¢#£úêuÔ¶ï A¯Œ ±·ð×èÅ<³íÉ"7#ÐÖ§…_MæõHŸ9ZŒm^ íð=̰‚·•¦Ð½´Œa>C”a{ ÜoK©¼Å©VYžáÃü{ŠˆK\Õ¯L·<@ɫ˗ЭÔ.ã¦ýéÒÆ¼hÔ+·xº ÍP,CÖ÷ßFTèÓ »] èÝÁ”qƒ|)WP‹È»7xdXV5sò£S¯~”_;Žî},ùµ¿7Nf±\=tƒhUvŽ’ŒõúÒpjO&uî˜T²–ðsëþ`Ê%5¤k ­¼ i>i º…‡3-Ÿb[·&ó§0Y•v¿Kêt%ºp“‚­è;{îéüŠp7ó%@· ^Uq(hŒòùeö,㈢¿u/Rt²ª¯l_“²ªYºŸ{Iøvü÷+)Y®8Ö&Jž9ȵh)6ÆÈЧL÷^”];™ŸÚ3{HŠ(o²eò@v˲°Eá\{À±lóÃloЙ™2«ê \}M:€¥‚À5(çzo`ë!À è¡ÑôDêäh"^% gn±v:ÇÎú÷ƒe •-Œn¦1°þȧ·U†AÑMЪÌ•l "äÎ 4(¬*‹²ŠØ"bµ0ËŸ—ô>ª)‚ƒëÁÓô#aýØÓú’’(³ƒ ¡Ã/Ð*üêCÞx¸zJ·r:W‚ÖÞ°rƒ²f S¬T°l-”ö‚8¸IVõGëÚ}ºL PÞ5ÛÁÙ jÕÐàøËTÄG¾àÚ”üæú’E”ëŸ2ÖOëΰ|"SÀªa°E 6tL#F»ÀÆ¢pé0*¥½axcXP ¤ñà? L+‚£âîÁžP0p…<²” dkÛÈSòÌ€ñÃ/ÕáÍMX Y‹™-aÓ.,¯á`åµÛÀôAPI_BÙ  /Ѱ~p¹T®Dv7˜„¤âEžý—Û ‚ BZúÎ _:–/æÑ½2¾ccÞ±Nio%˜VîH £x’­›Òê“n ÚØ÷XǾ9)py?7«‡WK?¦¯;õq<…/¨xsi5cº4«º'Þ}ò°Ê6Ì©‹Ù‡ÝʰôêNUå\:Q/;MoÒ%Ãȱ ñ[†ÒÌÓ‹&Wò¬ÂH6mE9C- 6óçÀ¶ȶ¥Q¥ Ôë·Š·Þ 8Ð)uà?mìšÄ×"˜i½úòÛîÇ]w'ˆ˜’åȯÇ­Ñ”¨X0›³‚È(è3ŽnϘÝÚ‹zíG±>,Q£5 Êgûö)øèã÷î>Ô©Û–as9ÿ41ÇM°µíº°|ý(*?]D¯ÆTªû Ï¿Íööd ˜»w= œcf×xÖîÀäT°ÖÏx Q©9µ‡t¡ØÝùôé=ž·ã²_-+|îg±_)­F«µhÒ{2Ëß!Z© $¿8…ÿÐv4¬é—ï`ÖÇù0sÃ*¤7‘Ä„êSÑ¿ôÆ{W¤Zûé\-Ñ‹.¶Y7!‘šÖ`ÚžµüâñŽã:â]«]Æø³÷j$éÏþ,Á¨ò$v­B™þôkT“š-~a{²3ÅóduÛ,ÃÊwó»Yr`@-*xõÄÿ…~>–Ÿz”hîÙ‹—ö­öav,»Ô1}É++_šØgçU±‚¨Ë‡8º?˜'‰=éâР…Þ³~öX†öÊïkÏ£¨8˜Å–Ñ>µUÖõ•ÝkRVu’Áç^Ë­­¿ÒÛ·6Õ«×£óçp²š¥mmÐtz±nÏtjG­ O7*úŒ`§nWV˜‡·e³²fƒÔ þ>¿Ö† ¡’3øøAàHR“r.?…Y=À­4”ñ€eï`é!¨¢Aƒ,Pð0 %åªæÄÛŒkÇ@Ð,x³ª;CÕŽð¬$˜¥¹tV€  h­ cšK9è9N?Ö°;HVeQE°§WEܺnãE&M µÍ¡X´u‡²^°>„À÷ƒ2k¥tÙ2 ,‚Z j+X°Þ(c= ^ÿ ¾½áÌë”ÕtKÀÌŸáL(Y~ „$ ë/ýu?åÐÚå‡Q-`Ô–”¿gyücN3¢º+Í–<È´[YVu¢ëÏ÷+hã…«À&=Øy ZX¥,ó|+t „i‹¡ˆ6XÔ‡•]aa{Ø÷*e™¨3àçN% R¸_­ ¥µ¨†±f¶ ó†°¢?‡ ®ÐãOÈW hx¹ú¢… `ZÎì×0èVì\aØßð$Yó˜t’5kÖ¨UIñ´ëÔ•˜è¬G' Ü´Ž]{|öÛDv7ø†‘Þ<=í‚Õ¿5}%‚ |båRš6o™é2jµŠÈÈH.ž?GšµÒ]fÏÎí_ù=$d[l0CªvàÉÄ V7¶ø×¾yú·ˆ=Ñ‹rm_ðÇå@|̲ÕüG„ïUR(Ó=½X溞à9U1ÊzoFñ8€&îã0þ3„U>ßÉwÆ7­?5Q»;ãÖó9#Ní¢{v»…þ£~¤Xßûgcþü~6pÓÊ89£­£ƒL¦y’÷lHp¶î‹êïã³$‚ Â?IMÔÉEìL¨F—jæâfà»ÇÝÃy—·(õE2Fþ-â®®dõƒ‚´èêú]'c ™[–pѰ>==¿ŸïŒoZÊçì÷?ŠÂ½'m¾óÇë{?bÌ9”»Ÿ'uWoÃ-ÿD$’‰X¹ï$àVò'M“’ŸÜa|“ä“G"™B¡ªÛYtñ}³Þd®Lþ©ô/&\z?ù¡šè“{)"™„Ǽ¨¯žzMAþó”ÏØû÷a¤5;Q9Wg r…â%ÁÛwpôÒÂBϲsfo:/zËO=>ùF„šAù©\|r–ñÎÿÀÎ_E¿£<¹9ŸÆßÏwÆ7­?™­Ãy°¡–ßK†*#?R¬ïýˆ1çP.£íŒ" ›×ŽÉÒ,¾ŸŽž* \oDí¼ÔÑ汚ٱŒ^ê…»á¶LÚO¯*oàz;zÚiã4Ä—)1²ýIñÄ%ù!£Ûó¬†7{™e9¸Ÿ ‚ ™KÛÄ¢sÆ4Øô½¿•ýoRÇ?äÔÆé,?q—¨dC ”¬D‹¿2À»¨¸„’|?y„4™Ìì{ˆ[ÓI×þéX¿eý}¯u’‘å\Kë+&ûûj‡Â 9~7kÒ4›känBFaÈ ­MVBØS£ŒšëÅ2vSujö0æåöÃÌ»oʰs­˜T>e(¯:îö½Ñ)\œVŽj.ï~EÉ„îyŽ¢PIZ•ú˜Y‘YÙÓ­’„çǦŒ¦ è–¬HÀïÖÜým%þЧÎ<ºÚåÞˆé‚ ‚ ‚ ‚ ‰IP¯ :^At\2oã’yó.‰×±)?Q±IDÅ$£ÙÌŒéÉÝ„Œ‰&ió&Zº4øW $©UľLScLÓ¶Ë‘ha^@bÞóa 5-ì})`RŒMMr¹) ‚ ‚ ‚ ·“» ™·1¼M;/½"‘§oAß\‰#K]xÍ›´‰«D¾H#CŒÞ'soYÙk?gLÌ‘G_§ïäÇĈ&T‚ ‚ ‚ ‚ üKänBæÎ ¶ßû˜‘Izp‹õ¡œë›c€6Åë[¡õð&o$XFùâ>KO«°ªQ¹6€ŠË·Ño¿!?o¶<ž¹™1§9AAAAþ r·',–MÑšìBYÉ –?À•ü.ìmnŒ {Ò¯ÈR~k°íß+àžç5['ïgÚŽ…ƒ­Ð’Ã.ÐõçûЕÉÕ 1®Ü„Ù›æÓ§ýa|/×ÃÃä;þYAAA!›r·…L¹ê¬î/cmïUÔi~€ƒæåYv¤uÌR’(ãBü~¬c+¾a^ç5Ôov€]úÎüÔšîv2HŽÂ¿ó^ެÌê‰6Kí¼t_VÏ!´ÎÑLFAAA„\.%dti°{ ê3©ûSS.¼‡Z=ŽÁè\B›´mZ´­‹2a[_¢TãQ«GóèTcz¹è¦¢mFŸc£Qß«Ke£kiÛ¹r8~<çÆT4Aþ#Þ„@sgГ€Aè¶ T¹´mEÔ%6MéFwgäräEËáéÓi'¢rmß ud >Öt?ûßWôu˜ØŠ™ôòCŰáa.l\ ׃› H$`^–?È…íþÔPE :ûl<Ž[kÐе(ryaJWïɆGЬ×ûá%piL9 ÕYÎãﱸÊg¬ªocŸ Þ}ëX>‘DèîX»MâZÎ'F!öxw¬}Œo‹AÈ91y‘ ‚ |âaœ/챇€ (oê¹ó&Ey„Ñ Ûðζ݆ÐÝ>ñϸ{?†"6F¹Ü|öŸÏ…•ñ¹0€Ó»;cz—#1ªÀsÐuÔû¿î=:<ªÀݲ0`$”É/îAè (fþõÛO¾-{€ìg8Ú yå_¿Ý"l9½‡nFÚu&›Ú»Q&VâWøÿÒsìÉœ‰8ið¶8ù.s½—J´øu;áñ©ì¯Ø›lÛ_w',KœJT¡Éo§‰ù:Ï/§oýJuPPKá×~çže„»=5?B{n¥lņ¦;"S²ÏíãhíSGEÁÖ­" ú¯àbTR-êëL÷,ˆßÀÑtoPç| е3Þ]—q%ö½»•‘@œ‰øw@Qì(êÕš™ß9ºX®¯Hƒ ÎØ(Ö,Ó€!kÃÞûû¥}~ßZzQÔÁEQ°,P†ÆÃ7q'©âWûuô ¶T-QKEÁ¾ôŒ }üºm¢{ÉÕ #iVÙ ;EÁѽ]VÜNýé­±§Rªuûö¢Q',Û¢Õùiæ!žhÞÔýÖ%],76Ž ™g œ¬ìŠyÓbìžÜœ‹W¾ŠŒ Ór{ª7vŠ‚¢Tgé}Mâ6¬üÙø,YÕ§‡R²"S€höwr¡h›1 nV'EÁÆg㓎Ùþþ !¾=’B!>Á©aP÷w¨9 Î]†ÅЮ<~À6bn@¨9Lþ6þ¥áÈð5‚Š+ &bîBYo2‡; IDAT3P™Aå@XÇöÁoÞ0» L¼˜ÞÚŒplÒªYO2ÔÓ“–C°óê‹^àé¢8<´6mVšÑdr0÷¯ Oýôm6ÝÏ/hÕw–ѺÎpÂÜû³|ï!¶Nñ'fn[ÚÎ #åœDç'4¦íÜH¼‡-gçÞ]¬˜Ò‡&¥r$î¯tÔ{a2þUûpHiʘ¥ÛY=‰n Ë¡˜;ÑíïPæÕÍ ½XwàGŽbJ¹ŒïÄ áá†ñn9HŸ¬ÞˆàÉÍȺ¹;¾çö*pí N†ÜĺÑH–lÞFЄ¼\Õ›îËo¥|1lõ‡ƒm”*ƒ“Ò{Lþéþfˆ© köÀÒàP"vBN=˜t)±MDo‚Ì)”Õ>€fU Ä–‚KG`êÏà”´+ÒÓ†îýz°û¸— `× æ]€a¹S4þ™»ÃïmÀpêýgØy0ÌLÓÚOz†¢‡†F&']äªÃÒ>ÎÅ3$mÄ…€Íð1O­¢ÔÛ.úÙqoÐ ÷W»$Ó™øn8Lx¼6*G¶«Céì*pìÂEæÓ7{;~jPs àOÝpŸó{¯¾ä'ûW?Yp«éGgSÀ‘‚®V¼¨T¹SB麨J qêx±o"3o–á׿:ãøÁé>°K›Îg÷#ç~·%F¦ú½Š<ø;s.å£ëö±4+˜8û‰2`‘ÇËÐoÂfz•ÿœ·W3n] •§Ïe`m‹Ä¶neFÉ\ýÙòz^gùØ-dj¿‘á1웢˒²L]vžŸ‹” ÃÛ¡2/Læ…_ÿíZ(wWobÜþ›Äþ7i%'šumEµì‰‰4ën~̪{œ“Ô”68Ïüß÷’¡á_ÌèVŽÄé^ò¢sÍÊèK©ïD¹ÊÔÆ×Ý #À±°39ï•á‡Y³9ÑvÎÉWŒ»À‚ÉÈÓ}Óº8%ÍS€BI‹sæÍEC= 3å"OÞ¼¯çI÷4ã?Ð¥Uõ×óbA,'?ø÷Wñ)Ö¬\þ÷*ûÖþäíJBF!„øe@Õài•Ú@§P»8}†m«Ý»·ÁµplŒ] oÀ­[ð\eã@—T&= ²»Q·ç4êvËÍCùsÊÆ·®ÌÞ¡[Yà€úúÎÅ>áÀά}}ý¦F­"^¢UÇsâÐ}ÔçS>ÿð7á©ÕèrÜå…šº ™Q¢K*·EC×`<7§UóðuMìe›V /8q6›†eùè9[c®sàèT’lÉ®K3ò¥ˆñbN]x†Æ-…rúfd3ÕC“ Iu¨Cfgè=zMCëà·ÐÔ΀Q¥?2æW’nZ£y max 4íyf@ûŽÐ¾)Ø¿Ê"¥Ñ†þÁ²›ÂÝØ7Ë Ì‡&E§2<¢^RJÈDÖ pýdšðæí„0²$Ía9¯©tè’GŸžã\üÝËÿÔ¤Þvâïì`Öą울7]VTF™Èb¤!".•6fbW™¬L?x–‡ )%dâ¹}à‘1·éTܖίÞÖ¨Qëì¸÷Bï&dî§ò½JàîñóDç,g¾dSÑäÂÃËí¬#ÜŽûŒ×öq {Z–ÈþþÄãËK캢æÖ¥ê8ÎzõK¥C­Öa˜7…^z¨yt`çnâÔµ;Ü çq4˜Úªß»ôͲaª§!A£Cûü"GîêSÈÇ…ô̽›*U&ܪ»b°êéÑÜï=ªÄ9U>U(ÝVú@“ü0e<ô[™,†Ohi–5€z3Á³ ¬X3{ø~0í trümè=T†‰'šúÓB‚\…u!ùjúfj‡•”¶÷ît%ï ìcŽsêm7sd(ýj¶`‹ë fL[î ÜU ¯%ZOÚq€žÁ{?ƒ&^ Yê0gýÜ’çœT†dΙÂUºN“Ê÷J—z{{„&-©·MVƒZ ®g~m‹··iŽ{Åœù ÿúsÉÑm:ãG»c•é%ê»3(•ÞªSO3e}=CCôÑG_ïí¯ÓÄ¡ÑÄûq¿Lþ{ ýˆß_!Ä·HæB!>‘Ê<ÁÔ­p~,\˜!OA¥úZˆHyz„´·«zçD];—@¦æ0¦ Xg‡ Ÿë.¨.ñb 󜘀±RKn³çd<9òæ%ïëW²›èA6 ä7C}n7w2äN¶¹Mv™W²‚ö#àh4ÒÁ¯ó öK¶¡wÜß§ŸoÞKÞžU¦P\‹Á Ÿ¬¬Þ¼òfKo/P¡z»Ì;Îïk»1—Ö²õ±+}ÇPÞ.'™LÑûLɽ·Ä\fÓÎGdrs'ïëã–ü³’ÛŽg‡9ô,óÛßË<91KéVlªß+#òq$ãý캙¬;”ú!Cn`àà [Cá*ÛŽF¼7YªÊ`…kn¸r}‹¼oÅ–+‹Q Ç;ž›[6pÃ&_ºúà”+ fÆúÐ.@?³³j8¿å4/>51®{ÎñuLjSJáœõíK(ýLùqÌüœ[/“RY•>úIɲ·Þ6D_û’§iM°þ®OøýB|œ5+—³võ_lÞ°š­×°#8è³lWzÈ!„K û§ÃY+(f&Ï`í ä6“üࢿ§N`ü¶þwÒsa Já‚T”|ñ7,>ÕŒaù(Øe“V‰>6–ÎãÃ(Òo2]\RºMÇ™ÑÕi’—ŠUJá’?7¦1·9²a>Ke¢öœØ€¾U~ôœH—_šÐA=¶•É{‡‹—#)P§..ææ”ìÔÛÓéÐ< CzøS,¯WÏsÛ¬"ª(ÿ<ÉÐ>çèÂ%\Ì[ —|¿¸Ä–½w!K1r«0H³Î¬”ÿ±! GÒ¸SƒÛW§Xn5÷"Ì)ì¦`¢2$‡Cnt‹Öt <~ÙbÑäu¡@ò miÐ¥ S»v§Óï ®_ÛÁLè¶ç¥GÑÎù#o-'Àï•`¦ øU'kP‡Ãº™°9ft… €úÚ„êÍ(TŇÁ¤ àV l²Â½pâäÎéhCí¬ß Þáá>èÙ²¶†æv Š„¬†°ÿ/Ž…<îP$tìž8á°oÕìMáêiH( ]mU©RËõ¹sm×0« 9µ«XüG¥ÛØóxÏBFO»†.SJÊ>D$—wnç`¦"äÑ\eËï½™ñ ƒº¹cŽ ³ìfh®o&h« …³ ¼‡BÏ.ÔÏÙ”9-Zc8ôGª;çD{ïç¡j½Òäx7¥Jý{•Ù£ -óÕ`B@?òü։й£8¾x ƒ[ðÃJ,ô@eߥ§Ñ¯g†'ô£~‘$ÜaÇmØ&ÕcR˜í‹0xošôŒ¤Ï¥±ÍÉõ WP—úš¶ïôÔ'³UnônñÇÆt+ËÑåãuRJ:wŸiÚµ.À_:ÒÁòºú9‘9ê"ëö?HWbóÉéìæôjŠ_• xú÷䯗µ™°b%MÓS§ŠLeG±éÏ^¸ÝZDÏ:)]-€‘‹B¹¯Ð'oí!ts¿Ç¤ÆžTm6€¿®¿û<ò֛öYMÐ_ß‹š¥KRõ§%<¯1m‹[¾5‰î‡rò»'0$´€Aó@]Öœ„À¤côÉm‚tôÑÁ¹eа,µƒÓ0j—8QtZmè£EÀüÞàf UûA¾ap|‰êf‚½áéLð&)ÐŽ/å(4«®U`ð–4ÛiÜùñT+îÃ/gR›";q¯¼½_>óqN£íÚ0s\]XÖ†Š%«Ñc•†ÚÝʓ铻[©¹µc:=ýËR¦zW?÷cêÖå:†ØÖïŽ΃Œ ü‘1›îèe©ÄØàeô«͆!-¨áUÖƒæ°ùL )6ž4¾WfEé¿a-CÜ.ò{«J”,׈‘¬é½:˜‘e2%&Ž lh¾p3ã³mX|+U'`Êyr³H6Ÿ–!ù–³å÷Vä>5ÎõªâÙ° ¿-ßÇè”~1ôÉãÿ;ÓÚZ°­›%=Û3çAºÔ¶ø€éQŒ)Ôm5ë‡Væùª^ÔóªD®‹yèèB–t´èKø­“¥ËùÓ£-lgv½¼)ÜÑ6Á¹gk‡U!jÝ {–«Åfm½øD&U*ôïf1m|¼hÔcg¢´XÖg¸FdÚÒ›úUýh9è/nÛzS,sÚ 'Íß_M$—v‡°cïµt?F^ñõ©–.]ªÓÆÇдe"_¤=z8hÕ Z´ ø ¡ !„øÖ-úcuë7LuNKDD'Ž¥R¯× þ{½üâÿØöúà}nJ|ÊÒçÍ¡^eðßÓ-{àüUfKýv¨oÌħìTŠf‚{šÏ›ŸSì)†”­Î¶Æ;ØÕËé³LÒ.„øv½{>ûÓøø×ôåÅË„×=aVþµìå*ûÖNZ®#›¹1îgjO¿TëJ~^§ÖÉ%!„BñíÑ=;ÀÜõ)ؽ Nÿ±dŒBˆo‹’\0ŠW¤-ˆÏÍ _BÂ;üÛaü7™¸1ìX8Ãþí8„ß=yÊ’B!„B!ÄW& !„B!„Bˆ¯L2B!„B!„_™$d„B!„B!¾2IÈ!„B!„B|e’B!„B!„øÊ$!#„B!„Bñ•IBF!„B!„â+3ø·B!„B!„ø–˜› ÑéÐiµht Óê01ÔC§Ó¡Ñ¾ý¾î#넌B!„B!D’5¶|•z$!#„B!„BxÚDãâꆡ‘úúúé.wäÐÁ®KæB!„B!„øÊ$!#„B!„Bñ•IBF!„B!„â+“„ŒB!„B!ÄW& !„B!„Bˆ¯L2B!„ÿ9Zž\ËÂ?COøVëz»œúáV,\ÉÁGê/¨BñUIBF!„â»ÉžŽN(Š’øÊׄ³cDú/C­úÂÕk?²®·Ê©¹½º?ݯäÏØØ$ß›Ïãô#{#¿XôB!Ä# !„ß—ùÙEQpçºVQß`žŸŠbO»=Qï,Ôðìä F·¯NI'E!¿«ÞMú0sëe^hÞ¬s¬nJE¦„}ñnÿÿ4÷XRͧNû‰þ·cIÝS6ÔUPgz~ùuëŽ;ǨR–”{øÏ½íès¬Ýû’‚?/eSp0[¶MÂSu„5Ç5ä¯Y™¼Ÿ¶ù„+“(oYœ!'cS\®{öqu½UŽûìY•›?¥²f¤äп ÞôýÜô1-S—ŒŸö„Bˆƒ$d„B|Wž®ÆüËï^Òjy2†ßNjS(Ïe¨ì×%÷œh>|6ËW¯döˆ©iû€M ¶qWFHˆ/,áæV‚ïäÂÛ×£ôˆÜE{§|ÔzDJ­:¹ØË³ëyû—ÅÍÕg âOq8Þšê^Ö~RäjÂwnàz¶*ø9š¤êÉ«+y9ýˆýÂuË’ÃÀ Gg\íÔœ¹fHÉzEÉô¥{ù!„_À'ÞB!¾!y}¨”°•©#ƒi² 6úIïÇœeæÐ è•óÃfoÈ[Eâ.L£m¯`².gÕ€òdU†2xÖnF—¯¿øRs'd7²¿?©ñ®è³kÙãLÿÒÙÒ¸»GXðvÙ6¥r²î)™ªÌåJø'Hó€Ðµ—1¯0ŒB¦)¯ò±u½]®!kï4|kyôÙµìscHɬH>F!Äÿ#é!#„âû‘±8]‡ûa2’i'_ ’Qsgõ0æ>ªÀ >åÉ’|}]$‡¦Íá¢mfôIžŒùÌî³{RÕ< a£ØàZ¹1ƒƒï“Øñ&ž;ÛÇÑÚ§$ŽŠ‚­[Eô_ÁŨ¤~êëL÷,ˆß€¡x9c£((ÛŒq!g ÛƒšÅìP;JÔÎÖû‰[ÔEQDZ=‡wƯh>%?îþƒYú0Ë5 ´£‚bíJµ^«¸—XMÜ…™VwÇÉ:q^ûµéó×ebtÉb8šî ÊãœOA±vÆ»ë2®$¥NÈÄ|Š; (võjÍÌ‹ÉÇE³¿“ŠRƒ•Sî×}  K*uîEëª%q²R°.\f#³d|WêU,н¢`ãR&¿lç^²‘cº—ר4¶ >%°RìJÖgèæ»¼éà¤#öVÓºúS±˜6Š‚båH‰šýÙö(Ù¸4žqp|k¼Š: ( 6®UéºøzsŒâï†2£«?•Š9&¶2íYvS6âkÎjɪÚLŸºe(l£ Ø—¡Ý‚ˤ8€I}UÞÝ?É^>󸕮i1\Ú°›…üñÈ.§³B!þ?I!„ß=rx o‰ ¶’¶kZa½q¿Å®Ë6jç9Ê¢ä«Ç^fSèsìÚÔ$¿ñ IóˆàÎÞ´Û[ˆŸ†ÎbŒKN4woðÒ!hx¸áG¼;„R¸û$VÏqÆðF0ºwÇ÷ôSB‚ɯ´/8úÿ¡Ké£D±sd†6÷£`Ãôš·™|qûùµíº )Ç¡™UÈè¢ÃØy§!#çvÆãLiדŽÕ¶á×»?“×ÿ‚ѹ™´ïÒ“^%ËñWÃܨL­(Ûl íòaaÁ‰¥ƒé×#¥ØVºØ&Æp2ä&^=F²dDNâÏ.¢{×Þt/Z–µ­¬1ÐÆ zÒoælM_p3ܘ¢Š>O7¯æ¤Æl6Tk<ŽÂYós{fM[Εãòî÷J/'~Ó6S6!¥ô‘ £ìù±LÏÙi\›v<Á¾]yr}©DªBñ…IBF!ÄwEehCãQ˜ë;žñ¡Õ<1„µÆÍYÕÚ£¨£o¯¬~NøsÈfõÍ?ĸóŒõ©Êä«ozLd«õf”ãcæ UßYËøM4_1—¾¥Í/š 8%- cÅ„M¨½g3³GUrè6L˜FyÿÌ9Ý‚1n*,*¶¤iWL¥[¦†ì§f§Öø:6tk4ÍÁG¸›˜A•bÍZQ½xFÀ–έ¦±z~YÛפxÀ¾3Ó—1qß âæÆÔÆ6oâv±aýŠ„^}™˜AE.ÏŽt¬_‡®túc1C÷ß$¶•5&·W3n] •§Ïe`m‹Ä.¸Vf”ÌÕ?YBƧÀiü˜ŽWx(ÛWµ¦ yTn²”å£WѹB{rߨÆîÇ@FƯœI]kã·“¯sfxOÝÆŒÚ6dÐ=dcÇŠ´ßx‡Ð»ôwµKåäI…¾¡1ú€úÞß l2„› ±²g 2éê;üÕ±5K²`óòvØ%Všùücž»ã_4SbÄwx7ŠgL¡ÿ€~F,ÌáqØc^|1²'`ÉnBCC ÝÄH7±š4Ǫ¼WLØ^®¥jaóö`ˆ¹ÎkPÀ¯$Ù’ýGÎXÈ—"Æ8uášwËúfY1S©“Å¥Yv3Tñ/‰Oq$fÙÌP%Ä¢~]ÄŒìf*b'…Õ¾àôòá6ªg™¢8¹µç€NKB¼&å¡0úfd3ÕC“¸<æÚ>®aO‰ìŸçä"“%J&P™bW¦(™Œs’ËÜ0ÆÊ½8@ÂÓb´ñ„ùÒ˜þWÁÕç0+Ÿ4*%zæ8U.‚ñ…aTðh@ß¹»¸ñòU#RskÍ86dhÉ F)ô°‰:Åš±ö÷àõ¨¡øÛì=‰Oé7s8}vjî„üÍ-¥Þ6Ÿ6%±Bño’„ŒBˆï*3eûŽ v–¨*d wŽ”ÿáep¢F9sn,]ÌÉW„¨ŒÈfe‹vv¶ä6ÕCO_ïã' ÕÄ£Ž&æ=ÂyoªGª¯6S©š4¥fŸÝäl<šE÷pòä"ª~@šÄÄŽîãsWï§§Ÿxütº×;L¥—tµ¯ÓZâ¢'É݈‡«+®®®¸–nÃß‘€6’'1ZT¦Ît :Åž…ƒiéíŒêÜ&fõ®K1¬ºýþT‹*é@hÓ‘˜Ó< ap½Ÿ8Xq+UH6/QW7læAÎ*ø9$ë­uŠ5âpö÷ »žŽ—g§PÏ£1Ku¾ô¾‚-¡!L*g„‰{]Š˜ê»ìZUªcŸÆ0;ÝÓì>mL—Tzw™âÖs‡7Íf g<ë‡4¥lµ_8¨ï°ùÏÓdªàƒ] uEŸ_ÇÞ(GêTÈÅ«©¾½·óPÕ'ß?8º§›in÷þùcŠô=JLê)©’ûìYF¯jØ¥ë‘TB!Ä·Izy !„ø.éçªÅ´µR_I• ÎX?À¾%X;¾.6o]xjÑêT¨ô?þþ…±eòª±ñø3ªVÎòvbÇĆR60-øOëU{ÝË úâ6NÆæ¢Fá¬èsï£ëN7Í#ö­9‰y½Uô¯ëŠ)@ä‡eƒŒ­Š¡0“mG#hniñ•ïø‘ÇÕ}ðcЈÆ0K¿~œrèú a·4(UíÈèø,ô/Gÿ˜²¶u~ÊöIQhž„2¢Qv–šÂÚžä|«‡H<.>„Œ˜%;ûŠ>DhTº–³@_}‡Uý&p½Ú"ö(O&èžmeí1-E-AhŸfÃ%S< CªÑèxqb Ç(ÁÄ"æiDn@7?:ºùâ›Ï›òcNq'V‡›îçïé0Íšvv‰åÊß;ybÛ2ÙÓ›ÔÜݵžk9<™R¶È´ƒ×Ó+Åä¤>æ6i}¦DÚˆý]ÈL¥¡¤ï™TB!Ä·I2B!þÓL ýÄœ±g©Ûç'Ê_C«–µ)W0/¦/os"x“šR~¼%o_^ÆpïâYNG'»LÕ3%¯c~r½È0rhL@Éé jߌ¬C~¦QGLŸÝ%Þº(NYliÐ¥ S»v§Óï ®_ÛÁLè¶ç¥GÑÎù+]nê™’ÇÒ”§Ûç±ú„Be£ó¬û}0! :J¦sFö éPzýz¶axB?êÉAÂvÜÖí«µâ¸8«#æáÇI(“ùsuÒ#§OOZÙÔgÞÍŒ܈Y®üØdSñ‚l­–TAEdèj6^Ãsƒ8¸Ø’áy§¯é€\x¸ç€„4kzí³ŒmÔ†uŽ¿°fhe²hâˆÓ€Jß#=Àˆ\N°{6Ãf¦—¯†O±~Âß<Íß91©w‡#Wãyiz‰k÷ò¡wzóÇe[Œ3¿–N sû(7ÔåÖU®^Ô#>«s¥Ðƒ+ŠÓkPtäë¡PÿˆùÉ~æýy w7òåÐçÉÅÝÌÿã*uá‘YÚ\8æ†U3ftþA4óÈ‹úÁ2tÃRÿÁÛbUÛ›×£†4Øt‰L‡Q …ÌŠÊØg‹ÞÇIQóäÐjNg(KBfŸ¸-!„âß%C–„BüÇ“¿Ùv®ÿ§OìI›ÐøÇ1¬âΠջ™ÛØê;á,l_ƒjÕª½yù¶gÕÝf|1°¡Õâ`&Ô7açØVøzT áÏ“Yw1ä­7‡m³š ¿¾5K—¤êOKx^c:Û·ÄækÝ6Qe¦â¨Ùtu>ÍÐ¥(ßì7Î ¤µÍ$„ lh¾p3ã³mX|+U'`Êyr³H6tEÍ“S;صõ áqŸwl“Ê܃¡[¶2¾Ue\m²ÿ Œóaˆ7˃mnSôТËRžþØe|Æ•G8s_›"5é9o CÜ?fÊæ$Ú6wkδó/y¸¡+å Ø% y³£Æ¢;IóÎS¸ózûZrñ÷6Ôðñ§óÌC;eë8óÅR%º_}ƒÒþ¸}Â!B!¾ª¥K—ê´ñ14mÙ†ÈÏÓ,´j-Ú|…ЄB|ëý1‡ºõ¦ºŽN§%""‚ÇŽR©ŠWŠëÿ½^þ ñÅžDÙZéL»¯–Ùû "wX²-/ÆfiÍì?·“B‘äÝóÙ U+pquÃÐÈ}ýôÏPäÐÁ:/ŽS뤇ŒB!Ä÷%žk›·óȶV²ù]¾Ñgײ?Ö÷¬’ŒBñO2B!„ß“„[lßt ÍÕ1Tȧ ”ŸÄ•Ÿçß{Š¡%ŸÄäX%O ÖÅ#‡œÂ !„øÿ÷}Ý6BñŸ¤(Ê— ÿ¨râó ÿ·Cø>éç¢öÌÍTRë†YlÉo˜f©o—A>Z. Æ_ Â(G~ò¦¿¹BñÍ’„ŒBˆÿ{{a/ ñ]Ò3Ǧ˿ÅçcÛ®ÿvB!Äg'ý=…B!„B!¾2IÈ!„B!„B|e’B!„B!„øÊ$!#„B!„Bñ•IBF!„Bˆät/¹²q‹6…£ûFëz«œ–g'ײðÏÂÿŸq.„ÿ1’B!„ÿ]±§ZBAQ’^¾ó¹ýì0¿õèÇÔc1詾pýQYWòrºÇìÑ…þ ˆ¹8åÍçñšsõ ^!ħ„ŒBˆïÀKŽüì‚¢(8wÝÅó”î2«o0ÏÏ E±§Ýž¨wjxvr£ÛW§¤“ Š¢ßÕï&}˜¹õ2/4oÖŒ9Ö7¥"SÂä6tš4÷XRͧNû‰þ·cIÝS6ÔUPgz~ùU«Vßœ‡·¥3Ý| {JÇã ±µkÊÆ'_º{Hz|ÙxâoleëKÚÌý›ààÍìø£Y.®eo”ž~ù1þ”ëž³­µ6õVñP›ò*Ñg?®®ä匞aÍq ùkVÆ2_cæmfýÔúäTå§Vå¼|ÊgBñÅHBF!ÄwåéªaÌ¿ÿλZž„Œá·“)]ÅscY*ûugÉ='šŸÍòÕ+™=âGjÚ>`Ó‚mÜ•ÛËâ‹Òðpo—2–£®³YºJÄžLq+OfßøS÷œã«Ž¢-æOÉ,é鲡æúôÊX•Æé¸Ï·Çó!ûGÍíí¹·ªÅÕÕ'EÅÕ »y–¥µ3|ZìQ§Xs gÿ2dOñ¬;†ËU×Ûå"Oq8Þšê^Ö˜˜ÛPÈ¥ÙîŸá‰Uu¼¬ ?í3!„øb$a.„âû‘ׇJ [™:2˜& jc¡Ÿô~ÌYfÝ€^9?lö†¼U$îÂ4Úö &KàrV (OöWe(ƒgíftùšñ‹ÿ&m‚Î`Tª nÓS žë[¶óЦ•”/p*uŠ5‡âqäñž$Â;Ô÷Ù³>Œl•Åþ“º“|¦x>dÿ¨ï²{ý5rxV#ÿëØ3Ptô ÂGZØÑçײ7ª]ËY Ÿâ[×;åªÌåJx²ÅIÇ$§WUìŒ>"p!„_…ôBñýÈXœ®Ãý0É´“¯†~¨¹³zsU`PŸòdI¾¾.’CÓæpѶ3ú$OÆ|f ÷Ù=)€j…°Qlp­Ü˜ÁÁ÷“æuˆçÎöq´ö)‰£¢`ëV‘ýWp1*©7ú:Ó= â7`(^ÎØ( Ê6c\ÈYBçö f1;ÅŽõ†³õ~âuAÔq¬@Ïáñ+šEÉ»ÿ`ÖŸ>̲A (í¨ X»R­×*®'õhˆ»0“Àêî8Y'Î;a_¢6}þºœ8Éè«ަ{ƒò8çSP¬ñ+±É>g|8!ð)ØQÔ«53/&bÍþNN(J V¾güFô.T,©Ô¹­«–ÄÉJÁºpšXÌ’ñ]©W±(öŠ‚Kšü²{ÉFŽé^^cÓØ6ø”tÂJQ°+YŸ¡›ï&›?CGì­¦uõ§b1'lÅÊ‘5û³íQ²qi<ãàøÖxu@Ql\«Òuñy¢Ò-óò}‹*üq7/’ÖÕEždrgÊõÞÂuR ·w1³[]ʺäC±t¢Lµ¦ ? ¢x½bdRæacZWÃ=iøœbWœú#wòXê›sðVlñš|íõߨœOAQüX®y'57fybí>‚³É{­¨ï²ª¹ e$RÀÃËèר2E퇒xÕïÅÆÈÔ-g>:^L‡Ze)l«$íêôYw5Z¯k„M)úŸÑðøÏ:8( JÙ߸øn'5€ø Œ-“l®–W/þ u”>%žÙ?‰4öt)kà}ýS´‘Y÷K[üʺb«(ä/R‰æS/÷fίN _œm+gjŒ.Ù0@Ãà ?âÝr‘>#X½ÿÁ“›‘usw|Ïáõ45Úœ }NéþKÙ²’ŸíŽ2©¹ÃÎ9ñӼ̈́¬ŒÛÅYt²çõü9ºè0vÞ)Às·²ký(J_ŸGÇj]Ù™£“×ïfãD"–ö¤×ºûh•©e› `ÚŠMl^·˜Á"XÒ#9W^Çp2ä&ÖF²dó6‚&ÔàåªÞt_~+1á¡yÌæn¾4Ÿþ€rý³cßVæjBñ¬Éw†ÙÜ<©äSÅ8µ¡':®¬YÊÖ3wI0ͳ0vÎìKŸ «8xõ!*sÔOÂØ=µ5Ë/ĉ¿Â¬F• ˜¼…s2RÀÕ£»˜Ó¶&}Bž ´OwÑ·fsF¯:Ä-CŠy”  ¥1Q/ÌÈIÿ­úoîÝË…C²›‚:â «ú¶f™ؔÃ}ÅÔ–mx<—Ð'Zt/Ï3»m+VÏêѾä2Ðuz *°Æ°Ãogßöü\*†Ç*7üݳ¢hb°òéÀ/ó×±yÃ~©fŒeó úy0ÕØ`AÓÅ{9räGN,¥QÞw³‰údÊ› UtQ¯¯ýÕÜ êð°:Lè] sU×–´¡R£9<«Ð‹9÷±sù0|  µ¯I¥¼€†˜ØÜTh5„Ùk6³qù$šg;Å’±K¹¯"K•ßÙ0Ä=3o¦î<Ì‘#G8¶¡3Rê•aT€;¯qíÚ5®]»Ì¡9?`mbK‹?fÑX1>5>`ÿhyrp5g3¤2T,öëT¥ßIG'­`Gè6–ÿ™ÞV¨ï²¶cjMºC‘À_Y²e/þ•žM]Éàí0²ÎE±–ŒZ°š¿Fx¡>1›)^ðÏüžcç^¬&8¥×Ö¿^*=]¨´<9´šÓÊQ§i:ÖBño‘!KB!¾+*CêÄ\ßñŒ­Fà‰!¬5nΪÖE}{eõsŸC6ë¬oþ!Æg¬OU&_}s;[­¿80£éMòõµŒßd@ósé[Ú@§¤…a¬˜° µ÷lfö¨J=À&€ 3Â(ï?ƒ9§[0Æ @…EÅ–4­âŠ  t«ÃÔýÔìÔ_CÀ†n¦±9øwª @•bÍZQ½xFÀ–έ¦±z~YÛפxÀ¾3Ó—1qß âæÆÔÆ6oâv±aýŠ„^}IÛÄryv¤cý"‰wܺÒéÅ Ý“ØVÖ˜Ü^͸u1Tž>—µ-ïøX™Q2W¶¼Þª1NÓø30;®ðP¶¯jMAóxÎN¬Šïø0(2’Ë›ãd®áòÌšTqŽÓ[/ÓÜNdÒq5˜WeÚÎYÔɣdzÝ}¨Üd)ËG¯¢s…ö侱݌>Œ_9“ºÖƼ•z}…l†÷Ôm̨mCÝC6v¬Hûw ½KW»TNžŒphÔ’‚“G1{](÷wö`©Ý¯¬郅h#¶Ó§éx^¶_Çú^E0SäæÞó§è¹P6GbÒÀÈÆ—¦¯…–\ayé¿! fú¨ŒÌáÊ^îd÷¤~i[ò¾÷z[…q¶ÜdˆàeRSV‡ÑgxuçN§”9DM“þ©µx+£+&&ƒˆ‰æ‰›:Þ$N=b@®r iòz»ùxbkÂü‡ ™õUd4&<ô2Æ¥ºRÉA!kªS¼èahl hxú -ºí£ì´µŒð̉>ºÏ¨ôÓ»ÝsŽ®9‰A©éï*sn1‹/fÄsQ5JfC°³+”´4°¹ô9Sƒ…›†Q6KÒ}N§Äïw•mlºmAÓ¿ÇÑ£hb?MÖŠX >ˆUÎwÚ*ŒrØãœ#µ}˜º_}ƒÒ3pý˜-!„_ôBñÝ1)ÜÑ õXÝ£ Sâ;¼Å3¦p¥¨Ÿ sxö˜×#_Œì X²›ÐÐPBC71ÒME¬æãŸì¶—ëÆE©ZØüŸ`1×9p ø•$[²ÿÈ ùRÄø§.<#¥ úfY1S©“Å¥Yv3Tñ/‰Oq$fÙÌP%Ä¢~]ÄŒìf*bÐh_pzùpÕÀ³LQœÜÚs@§%!^“ÂüÄòÙLõÐ$$.¹¶kØãS"ûç9¹Èd‰’ÉT¦Ø•)Jfãœä27Œ±r/Žð4‚m<áO ˜¸×¥˜Ñs""ž¢±óÂݸ´•³/thBë&µ•Îö«Àð?óàÃkŒÈ¦ä$ƒ Ÿƒ’Þùˆz™æãƒ ¬jѮԌÊV&%c ëËF³V[›!Ý’’1@ÌEÖí~ŽC­ ä6Ðyi#º4¥¶OyJ¶§h·ã¨ŠÔÂÍÐ>æ@Ð9ÌÊס` 2+dÖ<çYœÔáõNX݉ôr7G¥yÀ¦1 yX¦?=Êg}}Ìnncãí\xûÚ&öÑÅp3d½ZøSµ¢;®…h¾5‡j¥É©Dž`Ía-Åê'sºæÛÕòìÀX·ÝˆóøÕŒ©š+1Áõ¹âù€ýCäI‚Žh)–4T,%†y=(›ç)kZ”»ý8‚NE¼nºÈ#L›Fɾ]ðÈòn«Wswçz®g«LMÇWƒ†t¼8³0“âT+ð‰“§&ê$«i)^¯è{?—Bˆoƒ$d„B|T™)Ûwµ³<@Uq ½s¤ü/ƒ5Ê™scébN¾š DeD6+[ììì°³³%·©zúz)ÜÍN'M<êøhbÞóÈÛ÷¦zT újSjnüÑ”š}v“³ñhmÜÃÉ“‹¨bøh;º/ñ”d=ýÄã§Ó½Þa*½¤!(:- %.:qFØx¸ºâêêŠké6ü h#y£EeêL— SìY8˜–ÞΨÎmbVïºóèÀªÛïOµ¨’„6‰9õãS ×VÔlU1)¨ïtã’u(jþf¿Æ^þ›íóQ£Š%ÄscI+ÊÔ˜ÄÃÒ?1éÏì]€f=œëzCtO³ú”1u]Òì±¥ŸY!³^4Ñq„õax˜?“z¹c®ÝÓC¬8’@!ÿ²‰=³ƒ$ã¢8úŽÿîh (ö(K‘¦ØPì¢bA±÷®`o±w±5±Ç®ÑØbWDìbì½w{ÃH½»y^€‚ÔQ“'óý|xÁ±s;;;;Ìþwf¶aù$‚ÚçÙv óÊM(üq6Tç7ŸB[²9¥E¯¢¸1½b2kÇ((JÖáÍ–- Ll0(úÕmžj°Ï‘)î\iŸá¿íYÜÇSÈÞŸœÁ[s0Â]m hnòãq^Ojå7"¸½ëoB{Q>Wj+b B.ÌÅÛk5yÇoev3k⿌9cò¡z—O87·&´ð@ÜRyu“Ú,?•Ûý@ååé^Ú‹K׃Ð4ÉÍ»{÷ Uç ‹qâôº ãlº’‰ \âC¡—Ùz,—1å>Ã¥Åbv{j’ ÒªMrãWŸUÇù¹ã0Á…QA¿WRI’$Iß ÈH’$Iÿi™ ÷añÔ+4Þ‡Jç6Ó±C#*²Ä4ì!ç}óÛ S*ϰâÓ5Ãyzã —ÞÇ»AR›bYÀ\ÆŸÞ;µ¦[™ùŒîîEö±Chå^Ó·Oˆ²qÅ9›-úUgnÿôšeȘæE0 ôe怕¼+?‰®E¿ÒûQÔ¦ä³2å;¥l:¯PÍøÛfá@´ Œž_aìØ’žåçñÃàÎLˆþæ%r}ÿû °û°U$7bâ‰|ôþíGÜô›ã¢ÏÛs0m›³4Ї‰=|0ûÎÛ*Bƒ‚ÉÑq-[ÜU„KƒÖ›yg˜ §bvd~w—KøŽ e¿ÃèT÷”Í‹½Œj1Œ€¶kù£‡-—ϧéæeœáŠ{ç¡àw°nãxfVK³Âf¼»¹’»A]L úή‡D`qç.qgÿŸÌúy5¯ò¡º€xvù6adãÉÝ;Ü|‰©}a¬Í’¹ñ6ÊN>Ó'ü5t"YšýÉ‚ÒqÓæ s8 Fs`â$Ö›v dŽîÿ½‚y3ã6¸æhxtõ‘wð9ð‡Î¦Š%Ú€»-ä€Q J;[bñˆs[gp ºƒ[8a‚6¶˜k|5l!F}kSÈìO£¬quÎÆÛS›¸ .Íœ’q¡°Û9Rˆn¹’x¶Yl S,µŠ–šÈ»ìÚ„c—Ê|÷¥Þ'I’$e:—$I’þãLpðZÌÁíÓéæüß_Ó¹M Z÷žÂö×e½é0KZ['x‚ñ˜•ÝëS§N¸ŸZÝÙø$‰)†¶t\åËÌæ™88µ#µ*¸ÓrÈl¶ÝxÀËf‹Ù»°-Û‡Ò |j÷YÍ»úóÙ»ª¶_뱉ʂ*“Ñ¿è%ÆÕ/Ge¯é\.ÔƒN¶iÚâ½r73Z˜°w|[jU­K·9×È[2q/ÜÑðúâ~í9ÁãȌۤÊRq~{˜Ñ±.¶9‰z~—kw_e–»¼¦¨Ñ!²U¦}Ó Ø›¿åöùÓ\~¦Æ¶D/ÝÌØ²é_ýTób?£›äZ³•,ïQS•ÅÛ·@ öe±Ìž0´¥Ý¬ŸhRøôjLÍ]ùeo oµ¹qoóÊe“íÔÔž{¿6§rïY`‹»}&¬k×Ä6vAÛ¼•êSÊü,›5 ýy¤K!¨e˜ Å\CPæ¶ÌRšx3¥Pç©Ë´Þ”‹ÞÁ5©ë=–-·Þi^†¦®YQaH¾úCéèÌŠŽîÔè8“³å)š=•:ÇŒ¢R[P¢QUòΡM½V Zqƒð¤òñþ$cÛLäxH0GÆyRØÁ>vJ`¦ßˆÌ¸ü¤¡|¢îùá÷̆úÕ¬’~:© %ðÒ>ó¢¾GªµÄâ»å™á·žN15:‹ûV «‰ÅÉ)t¨]úÝ&°êä+´"˜ó›Ï smFÙ«Gp{ç~^;6¢J¾/waGßßÃî§¶4¨¦È§®’$Iÿª5kÖ]T8í:t&$ø]ª ¶lÜ@ûΘð>— IDATݾBÖ$I’¤º?–-¦Ió–)n#„Ž   Ο=CÕê5’ÜÆwçvùH’2˜&pmê,¤è»SÚ\®'ò‘†€ù5©º²»ü¤è—zåýW§áÞOª¬¬ïá‘ù¿9.I’¤/+avËÆ s)Ž‘±1ú7<}òDšúÅ‘!GÈH’$I’$ý߉ºÍÒ>“xÒjƒKÉ`Ì'4Oñß@N:8ü?-4Ïðß~—\u°ÿ:.I’¤ÿc2 #I’$I’ô%œ«ózñËë¶Ì\’¤Þøþ_¦}uŒ-W4¼XÙGE¡Äˆ3IOµúWÐñbsslŶ#/e¡Jƒ|Á—jK’$IHN/•$I’þõEIsšÇ§+”q?~ü­³ðHzv=g‡ÑaÓ JÊhL"ª¬•™êëK”€˜Åt þ‹*²¸Mb—odÌZEæØ4K-‘$I’ô!2’$IÒ¿^zoìe@@úÿ£Â¼Ô(ŽÜõ­3ò¥6µÄ¹˜å·ÎFQ‘9oAŠæýÖù$I’ÒCNY’$I’$I’$I’$IúÊd@F’$I’$I’$I’$é+“I’$I’$I’$I’¤¯Ld$I’$I’$I’$I’¾2‘$I’$I’$I’$IúÊd@F’$I’$I’$I’$é+“I’$I’$I’$I’¤¯Ld$I’$I’$I’$I’¾2‘$I’$I’$I’$IúÊd@F’$I’$I’$I’$é+“I’$I’$I’$I’¤¯Ld$I’$I’$I’$I’¾2‘$I’$I’$I’$IúÊd@F’$I’$I’$I’$é+“I’$I’$I’$I’¤¯Ld$I’$I’$I’$I’¾2‘$I’$I’$I’þ%:ñ­ó ICd$I’$I’$I’¤8ïÎ̧Keê.@£O’è;ÌvWP”Ø÷Ù܉NÃ.#.2¶T¼ôuVóT›Îì')œs#JÄ}¿RŸ¿^èÒ>”#ÝâÒÛ´a_HFæt/þ¢¾W%Fœ#< é5÷§z¼ôn¿Ü ÄŸ¾neiôã#36Ïÿ&2 #I’$Ié¢åɪÚñ:QIÿ4Þ|žyÕ¬ÒÜI•ãæšÔ+í„¢ä§h•îlx¨W÷ô‹õU#¶}åÇ–Ú§¬®c…s¯c¼ÿº{þ—ˆàÂè’X¥å&DsùÕl(ÿó5"?ùÌŠ’£/ñ…rš:ÁçÒ½F ì‡5¼ÿ5i¹uùÖ4/ý™Ö΢¶ JR4˜p–°o©o Q{õŸ1ͨàl…bS·6ó¸þt ¬éêšþÉö!U×vÇ´56ž+x¤Ié³ôÓ½òcˆ÷TîV™Êüöù1Ô;¥Š<­°Ã׿em°!•ö,ô0]¬h¼í5¤߯ñÃ×w+3ëdýr7Ïö}Yåã‹ïž9ÔÌÓnW›Ï½$ËMCÀ¼ªX•ËÅS\Gog·¯/›&”Æ@õ…ò§6Ãã—-øúú±¾!L‚R¹>ã•¡Ú²9‹ü|ñݱoËxÌâÆØ¹=°ØÚ‡Î oÅiþƒô¯Ç’$I’$Åc@žúóÙS<-€xËmøÕb"ëÇ—Æ4v›,VÆøÎÉø½kî­ çÐM¨;Ïd£WYò¢Á"ßWø·}‡ÙÕXSÇÃ?Æ$öãLÎÝ™5?’âY¾ToPú¦ rSsô|rçÇè[å!âÓ»Là@þþÌÙÞ”bÙ´Çâ_ôt1„£#»0ëB%F-Km'S¢ ò‘é[gëø´½Ðñb{z.}DÓ)kXênƒa´)¶9¢2&ÎÿÅú É´ÑÉù÷´Ý:^^̾LmXÿC]ìÍÒ’VMæ¼(êâŒ1€Èœr{–©=fÍ'ÊÕ•ʘ¼‹’—p4¹LP=ΈcIÌÀÜŠBÅ\Èg %ËŸ™_ÍžÜIOÏ1Ìwʃ­‘sëB³† l~©°†Ê˜\ŽEqq‰éÝU&åë3^ªq,š ¢M9”9~‹mH®’™:ƇÊ3×q³ÇŠ¥VaÿÉ€Œ$I’$¥“av{ŠdýE¼â޹ ƒlöqq!ˇ4÷¾È¾£ß<àºý»7¡‚õ·ÿwn˜§,õ~ë\H_ŒÊ§ê qú–yˆ~Íý7jJLêIýRY¿eNÒGÎó§d­Þö5\HÓýäÿ™OÛ -ï¿ëÆtoéNáx7d•Z}‹ìý§ü{Úî(žœ¿a¡üÜ‹'µöÌ0eëËB1 [±Z$Ÿ5æNÕiø-dc«”¯O½ËЀ\®•Éûò·‚ÅrÿÓƒïßóPA’$I’þµ¡7þbb'O\[jÞÀÝxc¥µ¯O2¯{mJ;)(®xö\Àñ ¤Çx¿ói†cÃU¼Ô]eTy[EÁºÕ^B4÷˜_Íš2.ÇM5oØÑÄ ûN‡!fxz‘Ò=˜<º µKÄJQp,߆_޼âã´xÁ}Ÿ‰xy”ÆÙZÁ¾dMÚO=ÎëÀ%ÔÈ_…©wu<œ[{EAQê²æ™6ñ°wÍKŽ/èMý …°Ql)âÖˆþKÏò&v'"h TfðÏ#ðòpÅAQPœÝéºð!)ÍA‰zÌ_»áYÊ E±ÇµF'~¿¨ý{Žõ*†kç)Œñª„³¢`ëù7¢¢¹¿~MÜ c«((J~Š×îÍâ Áè€è[¿RIqåÇóñ&–…øó½³‚c§½¼qß¼¬j.&PèB¹±q m=JQ@Q°-\žZÝ—q'ɇ”\]žâmÇ2Ò«2ÎV VE<è¾è8—ö̦gMl…nÞÌ:ñ&î| #äÊ*4¬€³•BþbUi?m?îCË›s+ܬ %ì;Ü bÛ“¸ú#ÞžaåȶTu±CQì(Õd¾OÓ0‡à“)K\]ŽâmÇ3¡W#*²AQòãÚp4>ã}gôSöOõÆÃÕE)@™ƒY})$nŠQÊNó` 5œ½Ù¥ãx×B1S‹ àd€ ìÎVƵ©Ž«ƒ‚âXïIì Œ@ÄK_ÓɃÑSûQÏÕE)L—É,´R¾ô¸Æ’Ü—ßI&–weàyÁ››S@QP7¦ÞˆB÷îÓ;ÔÀÕÉ EQ°*èFë »xŠYô3ÿÖ: c«ØâR­5c|ŸÅ®¡‘ZýHLD²{j'j•uÆJ±Â¹tuÚN¿;­2”#Ý‹P¢ýHú5*ƒ£¢ 8•¥é°Õ\‰qŠîmE ÷¢Ø*6rkÁØ­w ‹w9jßœaq¿†Tt±C±*D¥&Ys/:^{ʱ^Ũ:í.º‡óð´™êY{Õ4‰¦Dèqœ©¶‰J‚×ÛšàP®7£zÔÆÕNA±r¦b›ql»W"¯ÿNºeq¶‰ÉŸcéF _‹ðØ Þù4áü@¦ kF9'Å©9kkSI—Îö …r×oõ?°”ˆ×lkl“hêœîõ”*Ï´‡ ÿéE¤:e)p‘6e'r9£Ö^‰ºÎT·$¦^Û6eͳċæˆT§,é_††ÙmÈÁ¿ûvÓ®¿%‘$I’¤¯ üñ3,<‡³hË.6Löàíº¡ Þø(æ†*êsZ´dÞû:ü¼å'vL¦RÀT:ôÛšäâuÖquckrª 3þÈ-¸³Ú#nTN*"Ÿ⬪ýçmbß®U °?Ïo½§pú=€†¶§Fdj4–徨ùûÚUw «UÖÛ@ÈÛ~5GOŸæô™?hœpLµæØ¨:4Ÿz—RÃþÄÿÔ–öqäü؆4˜ráãšâ}û®YPwäbvìßÉ¢öæìЛ7“¹“Ô¾b÷€ZxÏN¥‘«ØtËG·¥Tö„FóâàA"ªŽdéæ5ÌïïNnÆyJÒlÈo¬õñcçÚ_h¢öa\§)\#û†´vzÅžm·?vÐß_Ù̱0"OmáÒ‡>gØ5¶ ¥XÛÚ(†zâGšõßBæVÓÙtøoö¬ù…M\°H¶‡Å«g0¨;™M‡ö²²cföŒoN³y/©4r5ûöÿIËcLë5“˱ÑÉž9M _Ò….Kï è^úзŵéΟ#ñ]Τžµq4‹—‰·xmÕŒñ+và³j$%î,¦ÿ¨ý¼N÷²Ѽ:v”·Åº0cýü6Œ§üÃeôéG¡œ׈ΙÑv¶/'Žm`xÁcŒðÅá·17i);CëNø^\JU#5^ €€óÓ)c šû+ñ®Ù›m™[ñ«ÏIŽoý™zQ«èV³;›ãDØ v^µ¢ãŒµl\>™6IOû9M,ѾœKðƒÿq¦W“µÉZ®pˆÁQ©³àX£mÁ×w3KáæÂïé·ñIÌM¸ö%¾}kÒvI0ý€+ÆtijX I½~$ɵ™­é²$„šã×qðïCl˜3œ¶årÅ›¾ÅËsOqî½v±f|MÂÿN£nëb×Ñ´§õü}¯eì?yˆÝ,ØÜÛ‹c®pr‚±µ1-À…ïÛÌþýkù¹gCÊæ‰?¢ÏŒò³Oã70?j«ïñ¹@@@;Úæ#áLTSïö!ÑÙ"âÑIB+Ž`ùîýì\1”җЫÁ`ö¾Š©«*Sk*zýȼ »Ø½mc܃X=¨‹ã-Ìñp§Ìš0ñM¬šÙ׬*=Ò¥µ=H¹Ü •”ÛèÔ¯äÛ3µ~åšÌ…ÛÒÖú&«·ß«ŸÑ÷ض:€^ °MnNdø]ü¯GÃ>gâ)¦ÅéÐÚ–`ß%y­C„]cQ—Žl,8ƒM+ažÖA±ÛgØŠh*ræÍLDPh\`M÷šC†r¸ìºY¥ó–\dàšmÆt0æú ¸ÅÉÅm°ÉdGûe i•7ÉyS)KCªL-ÉŸùþ^“¡ë%ÿK|û1Î’$I’ôOEn¾ôkS’Ì…‡Ògõ&øß#ÂKAwôW~tcÚú¾ÔÌ¥l8ªkÚ-çð˦´Î› ³¦6ÂÄØ5jŒŒ3abÛYÒ÷á’ʯþ©“3¦Çd3  ›œãÂK å ¯³böqò Ü˼~αO" R86inËïÈf¤Æ(ëwä³´üø¤2þ32Ý ?¦¯}Aɉ[ÝÄC ÛŸYôìógq¬Ïr<T™)Ó­/mÝÍ(Üg •v䨭D¡œ$ìCknâ—máT›¿„QòÄp.X”B™îS¾ï\ÖÞiÎP‡‡¬›êGÖî>Lh]ÀÑ{4ýVWdîÚk )Q’Ðý3Yó®6s|&P/WLæ\0æ«ã·jÃL˜€ÚãL&˜8ñ¥~œöÓÐ>$dàDý&U)‘%¦l‹9h¹Yi<¿íúöVÛÖ£½mÜæÅÃÙ¾¡'Gî„ÑÏÉâçtä…güÈx–”ÒÅÔ€4µyî§Rm£cªnâz/¿‘)·ÿ¤Xz.þaìHóŽÎÌ]¶™»=†ál ‘·6²þq1úÔ±JòæTD>æà´Á,éÊøêù’ØÆ§V(4{‹¶áÙÁA¬±ŸÆÆŸ<É#îè—¯T*önmC,,-_®ƒ¬j¯gÈárü¼×ƒìÓǦ#ƒ€Ðe\Ð5F&&€–×G~¦ý€£Tœ·•‰¹Q¿Hß7ê]†fÅðnœ“Æ£³Üþ7:–ÌõŸ RÈ2’$I’ôµ˜‘ÓL&Z‹ ЇÇ/îO¯RvØÚÚbkkKÑ¶Û Ñó48™çE*È€î˜YLÕZ¢µÝ»œzž ÷êùS] 29‘Nr[“ŸšnyãuªŒ±­V™<á79ÿ4™0ædϬFt'3<à(8âY:gº:0"ì;¦õ¥]£šT*U˜¢-¶‚†H-€!VuÚáül'»îEAÄMvø›P«E}ZWÖqdç-"ˆàöö½¼+áM¼€ŠÕ†Ò»ô#¦Öq¡Š÷(–ì»IšF]˜‘=³ M¤æã1šç$³*š°hš—œ?ù ÍÕ1Tv°­©·ø "ø Á0´nÂo;N¯L Ïnü´ú÷ß§4ïKiN3ÔÚ(2ì~5f9LQë¢Ñ ˆ¸çÏÕˆ×llSôcÎ_ª'´‘½ C—®²SÅ܃Ä*¬{˵sÏ1)^›¢æñr“½u Bà‰ûi|+TœÓ¿=æ¡ö§Å®áåñeŒìÒœzÕÊS¼pEF_ãc¿û7÷L\©]$K¢ ¥>õ#13J÷Dµè%´t©@ó¡sØyéU2£i>0 gù:äçD@ØMÝÖð`^] Äž_[‡ÊŒ»!x÷$ ‘<8q mº”Í™úÕªJº`ÒtœŸÛ>Äg¨¸ãa çÇLMÓsiÝz´ª‡›+ÎÅ»s\舎Ҧܧ5]jíAªåþyRmÿÓ[Ÿ0ĪAWJ½ÜÈúë@8××oæU鎱íjBá\_ïEw(=i.^¶IߪZ7¤k983Ú‹ÊþúÉ“<龫WÅþ‹Íˆÿ°X(¨Þñ^º×?ÄŸòS&à™+£OâÉÈA2 ãíñ©´îâCÑ›˜Rû»ÏŒ¤¥ Í)óãbºg=ÈØÙ’¦×~ÿûý—‚O’$I’ôñém•6JÙ³xûÏ3#,r§üN›$;cŸÑCÚH´ÚHB#Òß!)î_•ø¦R_Úht¤óð´/ØÞ«½®×bêÜ%Ôq΃ÑõqTnzúã&†J-¼ ObÉžô¨áËAu æ:æÄ®i9ÂGùqo¨ ¾~oq\<±}huöŠü°åmOø°uÓŸÌîPÉ%‡°uý@>¼ŒâóèˆÖ‚¡ÛLü~«LÖø…g˜…<™U>êMÙCå·پu«~jÍ‚ÉÕ˜¼sì“þÖ/¾l¢6 -Öt_»žnöñë° “¹cn˜3¢ì>tö“; uÚ4Åsj·ßtK4üòtš6_B®ó™1¹,ÖYÃØÑ¼,£?l B¥#<ÉKRú‘ˆ 3—^¬:Ñ„s~ÛØ¼v=ëLűË:¶Ž«D¶d¢*C Pa` Bè´htPhÔv–7ÊóÉô"Ó\˜£A¥AJ¤Í?J¦`’/ÕÔ3üsÚ‡„T†˜‚¡î/kGƒ‰axÿö+cªÚ‘“Stsí@2«ÅJoºä¥^îŸ'åö?ãŽÇ ]+aäÚ+ uÔòçŽ*L®Bî$ëž N~¢ÏÍAÌýe&GëM§J•Tóê"gk[t¬òÁ˜D; ɚσ° ÞG½æàø¡øW˜ÂÞš¹Pžzòär˜¡ÑÁgfÒ®ãFìÞÆŒ–(з £¸³z,+žæ§ùä1TÍñß3òß:ZI’$IúÇ1"o1ÔoOqò­–––q?ùrc–lH…*Ñ Œ#µŽ°7a鞇mÕï8¾çVÒÝD•†±A¤d˜Ø”ÁN}ŸýÇŸÇ{bŃÃGyaV„RŠq²iSbb]…;ì=DšÃEï/²áP$U'LÄ«Œ-9³dÆ(a/È /5¼Šòt›ï؇¶zC ˜€y‰æ”zçÇ.ÿíø¼.E{÷\Ÿv Ô¦Øºµ ÿŒ-ÛÞ\ç²èâ{2„a :˜¡¹z˜G™ó~Z?òdÁðã©Y TÇkØ<|­ ¡8Èüµ·ù¬õ?£³o¢”ÀЇø_ˆ"Wü<[æ#g¦x¥—Ʋ‹Iïƒl8»ä&òâ®Å›£{{¿[`ïfGæ„_¢dóõyטJ•°X£ôÛÁ}ÛüÜßçï²afbðI|ÉĪ–š+øœ{›8`¡wýH"/&ù(Õ°'“ÖþÍ¡ p{Å,޾Kîœkyyd ×(@‡Ì¨2[ã’î¸AËOöû]6cT“ÏÅ qË—/õ)©D“æãü¬ö!Í£ýøá\1?&Ú—Ý|,Í&3²‰ Jö,dJ©`?Hoº¤^îèÕF''Åö_ïãI*°–à3U*võD·{‡¯bwtU:VÌžL\U¹S=F,™O£èmÌ÷èû5ÏýÙb$OÛŒÆÃ<µ«®|F˜#6‹ªŒ xgW0‹xɃ}ãêïÆÔ 5Éõ9wâ±IÆäPra.Þ^«É;~3³›Y'ý:ð4Ò» #®±â÷ó8ŒüƒéÊ’û?6dDd$I’$é›R“Ë£Ís?aqûNLúë0ç¯_ãì-¬Þp‚WÉÍXR%±bžanJ”ÎÍÛ]3XäwŽ«³kÙL–_KC—ÍÌ•níy¼È›NS6rìÆ#ݾÀ¹€Ø·ãdÃ^1äÉÞͺz‡ë¯ñ"Á $ƒ<µÐ,;gÆtgÒ¶ >½Çéõ£è1ó.ÎÝûQ^ßÕ‡0vlIÏòZîÌ„¿ŽråöMÎØÊþ‡zŸQ.ògæôÒU |Â-ÿŒ¾ŽWŸ$5à»êÞ¸|þ~ÙlÉmï–øù)ö¾È½‡w8½ù'º ;ŒE«hfc™ŠÐ¾{ tdžÑvðb|O\æÆÅcø®[ÉŽ{Q€!–u{SÛäƒÚ añž ÜÈÕÓ—x™(S*’jÎ>•úq~Vû }ˆ¿ßQ®>äæ±Õ ï4‰+öÝø¡f.ÔjSòY™òfßR6Ä£«{˜7x$¢SùÞô¦KIªåŽ^mt²RjÿS=Ìr𡽷›-{°ÿøc¢’ü,F–’hh²ƒ#vbP³e²¦¬Re/Eý"p÷ìãOÍš{ÕbmW³¸¿7½æäÅæeœIC9‹(Þ<{ÊËЕóC…Lå;¥Kža6KÌßìeì0ܦ§†SùâèzÊÓW჉ÛBýÒ%&xu!Z/ óà?™Ù8"2’ÈÈH¢ÓÙÑÁ¼xú‚àõAÏ2DØ®¾µ¢fÕx M †zÓ~äNÒòBÀ#‘$I’¤oL­*S}×òƒû{vŒmOýué4z1»/‘|ß=f¨À§6¥ä°y *óˆ¹àÙ¼³Ž©([CAÿu[3Qt𶎯Nè¶Ñ´ö(Gö?²pÏØN°*î#Gâ©]EgÏ´´”Ë¡ zmêìTÿe7«ûæåè„–¸•®J§9w(3Ù—-ƒŠ¦oÄ€¡-Þ+w3£… {Ç·¥VÕºt›s¼%óꘛÌžl UŸÏ¥…[šŽ9@®ö}p1ýô&@» ^%à 4p§I¡Øœª²Q¶EqÂhqóv#{ü$‘ìÕ‡–µªâ^³5ãöd¡Ëâ5ô+˜¾Q@I1-1œíÛ'ÑÈø0Óº6³V[†ÍÞÂÙ'‘1lÊÍ­?Ó³iMªT©MÇ_Îà8äO–µµNßsu.jéD;óèÕsÝ KûˆÃ|4]¸‡%ýŠðpõ0ZÕ­Aãž?±âÀm‚µ±µ6e—x„ ;ö`ïtj¾^I/ϲ”k4‚&ùcï\êçIGH*Å|}Þ5–h„äk:‹y]ò°w@ Êxtgñswú5ÊwcbhKÇU¾Ìlž‰ƒS;R«‚;-‡ÌfÛ÷ô¨‰2Ñϲxh;êUwÇ£é`Ö‡5bæ†ñ”‰?UìÍyÖOêDòUh÷óI¬‡lÄoZubfáÐm~³:’÷â|ú6«GË~L_wôãúEyê3w÷"º+™ÿ}=*º5¦ïŒœ Jâî*©åŸx¾ IDAT›@ªÇù9í/9ºüGÚV)O.ó¹[z>;Fàj¦•U&-¢ÑKŒ«_ŽÊ^Ó¹\¨lS9ãéM—¢ÔË]¯6:Y)´ÿ©vÍÒ4÷ ¦öèÍ”]ˆJò³X™‹Ð®•« ìÔó.¡Çt+cr*¦ß ú¸Þ‘æÅ~F7ȵf+YÞ£0¦*3Š·oìËbÿ×z·[‘×fP§”'?_Ž[qêòFiM—  ]‘5§1Þ#ë…gD•Ò4[z?.ȪO“J—Ðû“Œm3‘ã!ÁçIa{ìíí±·¯ÂôúޱÔð`UKJVÌ‘x£ìôÉ"€æM ¯…J¶xíµ6„›‡°ÿïÞgè:9ÿ<ª5kÖ]T8í:t&$ø]ª ¶lÜ@ûÎݾBÖ$I’¤º?–-¦Ió–)n#„Ž   Ο=CÕê5’ÜÆwçvùH’$é!”#Ý]iýp,gvz‘ïóÖý‡¼ÞÖ„b}3³òêZj¤sôž”ýÑ÷ùnl?ü#ES]E^Ë£u¨¸¨&~‡†â¬oÌ;ú³=ª³®Á uN"8÷ž“CÝhêß?ÿØ|¼?FŸR­üéÛ›çŽëιh|q'wz‘Ï ‰t)äý…Oo›;ñÞñ®ÊVƒÅ7³¯§]ÌO]—VÏåp¸#U ˜BÄEÆ–RPG¬zùq1ïDé’Èš~?r©ÆtÆUÏ‘ìÍ·öÒpJÛ((J}þŠÿÚgƒ|´ÞÈý ÍÈ›Xót¿¯¼™K9ãPŽtwBQœ½ö)’O÷Y´oXß$f?%FœûdÑdÓR“9ÿø4ãŠÇÕIP†šû¿S]QPòWaêÝx ã…üMÿŠXlÖ‹ßÇVÂâ‹¿þïŸé?¶†±$I’$I’$I’ô͈·[¸… b?RÏ*-·£™pò^Âéúx(ýnd mh³Ìªa1Aµi>lRH¨ :ÀÔ¹Tœ°–®ŽF ðý?šEÆ®dnMn½g°Drki/Æß©ÍâEÕHúmΙ(Ô=~mc×B2È‚MН}ŽäƲ‰ì°èÌüIUɦRá:z;»ûD#•¡ù3x¤‰:GMæìñ%D  Æ$·CŠkf%,Cƒ¨æ,òs#æ¨Éœ×.&gæÊÈøÅ&7™þ£ÁI’$I’$I’>2§ò¢Û<þÖÙø*Täh´•Ǿu>þcTÙ¨±øÒ—£ì¶Øë½¹1¹‹’[ÏÍÕ¹ë³ôL=L2ƾF<3y %oºòjBž>Üí™bÉœ¯ EóéÿE†íåâ¦˜ÄÆmÌ­ QÌ:]Ôa6ìŠdÓ{óDehœ Ç¢¹’ØÐŒ|¶ÿÑyJñÈ€Œ$I’$I’$I’$a@¦t¿ ðëP™¢×²;ßÌ?¿ ÿIä2’$I’$I’$I’$I_™ ÈH’$I’$I’$I’$}e2 #I’$I’$I’$I’ô•É€Œ$I’$I’$I’$IÒW&2’$I’$I’$I’$I_™ ÈH’$IÒgÑrÓ‡_{7¢²kA¬»â•©ç=š5ß(O\]Ï<úVYÈ oOBóâI¦y¡‹èôI(àê(k *ä*+î§’&¦» âÃ×¼„Іà}ø³ã«Ù fjXùì[çDúúþ‰íЗêßG«Fl _n'‘0Î)¦ý¨µ´Il¢} õÍc¶Yó2cv+^BE54Ø1ß÷­|ѶS„qsÍê•vBQòS´Jw6<üÿ«ç‰ýÃÿ·kŸ²ºŽνŽñþ[çåQÜøÅ «²¹ù­ó’˜|íµ$I’$¥› äÜtš6šÅý"MèÚÏ›BÙ5¼ ¼Ã—y±Ï!ÿÍ~–pÛ|`Õ1(•D^ýž&E߆–ÝÀ /ê–@våKgXú'Ó=7œÀª*_/í—÷ÜEßa¶G5ÖÔñãð…?¾ê7“swfͤxÕWÉÆžáp¼TÊòéç'ŸÖç‚æÞ zÝ„ºóL6z•%/,òý‹ë¹ôŸ&k®$I’$¥—î%~?ÍášÃplëGA“Ô“Hi wƒ ì\hQ!Iƒ H £A•ü_$w’ôÏðl‡ ó”¥^ﳯÕ!û´ Žö£ØÏ£oCÿP¡œXÿuò"ň~ó€7êBôïÞ„ ÖòvVúw“S–$I’$)½t‘„†ê *Œð蔇Îk_Ÿd^÷Ú”vRP\ñì¹€ãAñÆ‹îmE ÷¢Ø*6rkÁØ­w KækuïN0½C \¬P«‚n´ž°‹GÑ)æ‚7çV0¸YJØ+(v.¸5Ķ'ò!»³•qmªãê  8–ÄÃ{»#HéèD8lýJÚ‚ZÖPk,„;lÝZˆ— Zf «b¦½Ù¦v0º;ä7•9,> Å-À'5™ Ê Gôxýf˜¹Ásôµ‹IkPÞw–CeG0VÅ|þ])øí”žÓ Ò d/ä´†!]!¿¨Œ¡L'8qFÖ‡ì Î­çBH¼ÂÕ¾‚©-ÀÚT¦àÚ Ç› õ¦´Ç\1ùÏç ý÷w~ì™UÀHY`üÁ˜éâeÌþ.?@b`ª•4ïb àt?0p€xUóîLP烓aé?.}_„ï«¥9¨²@Ùp!,æoº·°°+Ì *5ä/ ?í…¨å=¢”²Ž©‡fv0f_̱¿Ùùà¤VW­ONpUáë©¥M霥–/HùúÑË7l‡¢Ÿaî÷õq+j‹¢8âêÞŒ1þoãêdôSöOõÆÃÕE)@™ƒY})$îšÜ÷™ˆ—Giœ­ìKÖ¤ýÔã¼\BüU˜zWÇù5±W¥.kžiOYÒ¼äø‚ÞÔ¯PÅ–"nè¿ô,ob Ym¡qÊ þy^®8( г;]^ $•‹?Sa˜÷=œ~AÊ|~€ Åà×–`°œS¹ŽS=çîm†Öå!«:æšj9 ‚S8A' KÈ›T™À±¬{ó·ˆKв XÆÔ_3k豜çõt?ø®ô®jPç„3áìvhU"¦½Ìâ?ùÇÕÛ}Í!o}ð®fª˜vÛ½;œN¹<p{-TwŽi£²;€µð^ÏöâO3®â¥î*£ÊÛ¢( Ö­ö@öýB'Ï2PìŠW¡ÅÈ ÜÕ}’Þ¡ü@¦ kF9'Å©9k'5! DD »§v¢VYg¬+œKW§íôK„hžã7®5U\ìQŦ0Õ:ÍäÈ«˜ï õïJ‘Ò=˜0¤9åÛÔ¸†sç·1¥½;…¬¬ UçûåW ýPïÿŽGÿÐjEmQ[Šztfú§¤6C)Õk;!×Ö1¢yU\”å¨×}WÃcÿ|‰ÕCšQ¹˜-Š•3åêtg–ÿs>ébD=æÀ¯Ýð,å„¢ØãZ£¿ßHp"3¸oó¡\'îBíÒ±RË·á—#¯â¦Š0îìø ¯jűW ”­C¿ SìÇ|K2 #I’$IéehI½¡m± œC½ª­ñ»/Wƒ’ˆˆDÝ`N‹–Ì{_‡Ÿ·ãÄŽÉT ˜J‡~[yªÐ´§õü}¯eì?yˆÝ,ØÜÛ‹“¾-S©³àX£mÁ×w3KáæÂïé·ñI’kè^úзŵéΟ#ñ]Τžµq4‹éhî¯Ä»fo¶enů>'9¾õgêE­¢[Íîl~š|Çîâxh2 üWoÁUеrÜ“d}„߇#Y`öNðYå‹ÂéçP˪l€ðpÍRÿ®ìM è äVÃo7cҾ߀I>ð~'áÄh§†á”Þw¿ú‹x—òÂ'àÌŸ²*4Ñ]…M]௾0ïfl‚H˜\ ¦†Àü#pï8xÜ‚úÞðH D†0ê:Œß7oÀ†PÛöÓýÞy½©c0ØƵ±, ;/A³)pülüvéW¾àqé!ü¸—XàWÃè`c„Á¸Jð½? Þ·`JøÉzúÅÓ"ÁqŒZOÃè0±- ‹ºxŠ×ÃððÐc4IŠiS;g©ä 2àúù†íš@VvlË´Û¥²Ü#þÛø}lgªZŬåÔ¸FtþËŒ¶³}9qlà c„×(¿ÕüÙž=v©ÑX–û`çï#hWݬVmX{l=l oûÕ=}šÓgþ qîá̱Quh>õ.¥†ý‰ÿ©,íãÈù± i0åÂÇ ‡xÀ¾kÔ¹˜ûw²¨½9{'ôfÁÍ(R¤‚Šc¡±ÏŠY_*ì, Ú½çsÂ:¤GÐçœ? ÷pð ¬î›À¯×’΢î9xU‡ö°î$Ü< s‡€³yì!˜Aµ°æœ= Ók¢Îðë¸ïxáÍàð5ØÑ¶†*S¡ú¸x FXÁè6p6<.ÍóPl8œ¸~¿AØP±¦x¹Êw§apù>l¶…q§S> XÔYÇÕ­É©.Ìø#·àÎj² åÅŽÞÔì°”ωl:vßÙ^dß=Z­s7Þ%ñp§Ìš0ñM¬šÙ׬IM}‹äÚÌÖtYBÍñë8ø÷!6ÌNÛr¹bΓÊìEêÓwêJvìö᯹]Ès|]8ÈÛØ;ÿȧþ\ÏÝŽY;ã;¯>¡†Ò ãzDƒŸÙtÐÅmTìÕñ2'Þßä‚a}&­Û˾-óé‘ÿ"¿z7aâ©ä ©^Û‰E\ŸMÓÚÃ9©´cÊš½ØôZVB1¯0£q]Fœ°¦Ç¢ýœú{-#Ë?æ·6µ~èML›«}ÅîµðžÿœJ#W±ÿè–nK©ìñ÷òeú6‘OqVU‰þó6±o×*ØŸç·ÞS8ýbÚ”NÔî¹Næ¯CGÙ1(?\ ÿDkÖ¬«W,Büîmª?+—.’$I’$„+—.JõÿÆ»·¯EÀÝÛbÓ†µ"èÕË$þÝÿ‡4"øº¯˜7¸‰(©X KKQÉk¢Ø|=Xh…BèÄ»ÝEA‡ÖbÛKíÇTÁ‡{Š‚VuÅÚ§Z!¢îˆ¹ÕlDùI—Eć ¢ï‹EÕá2ì´Ó'Ñbi KáÜç˜áâü(Wa]s¹xo“€y¢ª¥h±ê®×%ü‚pqþGWaY|¨8÷©öÕ.ÑÙÉRTþí–ˆJf×~M„ÀFˆý¯ÿM÷B7µ­öÇû0XˆæB”ÿC­âõF!@ˆ­o$~'D=!ªmÕ§>õþ˜ß©…˜w?åíBasî !¢„˜ZXˆü#„Ÿ!¼¥mÿÁ{„0U ñç‹Ø´B,++„I=!Þ}øî—B¸«…¨±%æ÷7¾BX˜ ±îyÜ÷¼Û#DVµK !„èk)DŽVB<ŒL~Ÿ+žÆ}ê/DN„˜~;öXTB4Ù/Ñ!j Qq­:!Ä©¾B¨‹ q7^½¹3CU^!N¼Oßqécok!LÜ„¸øoo}…0GˆÑã}-ÄïnB¨+ñP“D¾„¡G„È…¿ÜŽÍêS!Ê©Ó~.SJ›Ú9Ó'_)]?úûFíPøy1ÊÕRî¹C‘âúŒJÂÒ¡£ØûVݫ͢¡â ºŽ×¸½Û#ÚÚXŠF[_‰DÍ¡BD1ÖQ˾B„ !nÏÂÈTˆ?î ± ¢9Z ñB+ÄÛBwŽS½Ž…m¦Jˆú¾ñ>|-„g¼ë4Q1Ý¢0BTÿ]ˆ°$& !ªª„¨¶9æ×S}…PâÖ‡søVˆú™„(·\ˆµ%xŸYb~`Ìï{› A©˜ëïƒ'«…È„£/%ÓvF 1¥ˆvÃãÚX-ÄÌbBäé.Ä{=².„ag†‹âVžbEüGßsªZ Ç;E¼*.BN %,‹‹ágbjðÛM…¥e3±;X¤"Dêâ ,ËŒ¿Ö¤¶±"B\þ©¬°,7I\‰ø´Ž !„Ð>ëêZŠüÞûŇ]ë‚¶‹¦V6¢•oÌ?¿è{ D5Ë"bàÉx%~QüTÎRä÷òAº¤þ·ëqm',ü¿/$ò7\)$Ñæè*œ,+Ši×â]uÑŪ†ÖªÁñD#Dô½ßEuK{ÑnëóuDhžˆUµQðû£"Tˆ/зI¢\…ïOE-«‰÷¢…ˆ¸(Æ•¶EÁ7‰×§UJ™ âr’ MâþìÊ¥‹Ä¹Ó'Åå‹çŵ+—ôþIk¿xÍš5BŽ‘$I’¤Ïb@çÚôš¾™3wΰc~ Ý]@ÆL;‚ ЇÇ/îO¯RvØÚÚbkkKÑ¶Û Ñó4X a79t[Ãyu)ûw[‡ÊŒ»!x÷$8™¡Ê^_ÆÈ.Í©W­<Å Wdô5ÐDj’}ŠfhÝ„!Þvœ^™žÝøiõî¿_ {˵sÏ1)^›¢ñ$©³—¢NA8ÉmM~jºå·8¦1¶Õ*“'ü&çŸ&SšædϬF­Ó«ž:v…Aù _Sv&M‰…—>u"ÍçÜr¥pÙÁ„p´'äs…a áNh¼ tpv´¬.Ž-/™Ì5Û.DÇ»† ³ÄLMzŸBFó¸CàĽd6x~×áÞTÈ[6Ʀ0è2¼}HªÓr>RDü܇ßãx¬W†ñ΋yáZ”0yÉÅëo“=š43J÷Dµè%´t©@ó¡sØyéÕ'Sv¢ígÎàö4­]…²Å Skþ#ˆŽD“T¡ª3“ÃÜmd\.TÆYÉf¬%"R›|ÌäH ·ìDݽ‹$§$ëqm'ýŒóWÞc[³"‰×B޿ɹk¼Ï] üñ®JÃï¨PÃ]ÀiFBxÀQpijtÎä§Ü|¥¾YLÕZ¢µÝ»œ~b@aÏb|¥5¿?›\I’$I’2ˆ*S>J6ÀÂ*.ô®àͲß/ÐgQY´QÈÖ˜ÅÛ¤xæø Œ°Èm„Ñ¢ÑA¡QÛYÞ(Ï'ë˜æ"©¶á—§Ó´ùr ˜ÏŒÉe±ÎÆŽæeR óQoÊ*w>Ìöÿ±w×aQ¥_Ç¿ÃPЍŒˆ” "&Š­`·˜?[WìÎ5wíX[±×^]]c»»k;±Qšøý:(Ⱥçó<<Ï0sãÜ{'Þ{îyß»v5KF4bæ¨rŒú{>-_5m“jÀ$ݲ±(›nÀáuðÇïа0xt…ý“àuõòg%U¾‚wÖ«ÿƒÿ…Y€¿'÷Òß'¶÷iâkX} ›%zAmæl!µ`㟰0Jƒ&+aaý$ú™ ÒT=\:ˆUCÌ ýcù|ô½óÜŸ:fºÐO/ãcŸëϸtššßC`‚sã™ì­Ô‘íëÖ²raojO‹ÿì Lªn š848Ðvù œwÈQ`bųX4šX"c>'Ý'Þ _í-b}gÁ¶Ö~´pÒ?Yr>ÇÉùÎLC¨; üºÂÊå0«/üÖCÇœpuë íÁøJ¨gŸŒþšF '—Ê÷ÕyE§…x-xƒuÞ{Gi–úgKÒû‡>Éw«1ÃRF¹WG–®ÃÉ-ëX³|>í«ŒÅõ§?YûkI2Dì£ælñÌÌÈg›Ž{³«P~iJ×óé8ŒŒ ÁÀ0ÉmøÔgû: ±j ±‘±z¾suŸøÎ}„&-ÿ~ÖiS©m“xš¸&Þ¾?©B!¾2VZY-1ÄÛ¼Ù1x~”#Ï3`ooÿöÏ. 憠H瀗-\Ý‚ÒÆþi²Zë9¡ˆãÖ– ÜtlÇènñÈj…¹‰RÏt:= T%ésúÒ´o ÁRS·‹˯«´ÂÃ+ ±g¶r!Ñ•UíóSl¹ ÎÅH÷Á²ÞR˜&ÜmdúV¸0.ÂÎg °*uð,ò#3l¹ŠÏOæ(x¯ ·@¥)ЮdÉÆúZBzÖ— %UA0x {Ÿ&TÀ¼ùˉ.¡eÚ]`íyXPþ w¿R…Ò´Qð25[´ÆÏnl‚[z®¾«¼Áì!l¹žèI5ì݆¹ÀùcoÌDÊ„À¸ÏØWIÍ›ÜcöÉå'ñùùßþ{è-ÃLy©Üz0ówbR±G¬™²‰ûj0Qå'wØ{:ŽÌ‰×ioG&S”é]È™!œC[/­oÁ %†ÊW'œI0Éî“ÁMvz˜èŠ{·÷à‘y ©Œ?{¾Ïº<œ¸ »ú“ä÷arßßâ˜[冶Ãáø5h¨ƒq¿CŒv-…ôÍ`LcÈž Ò¥d€¯x°ÎÝß>—ø»Sa…Tœ0Pvâýco’üªÅû¿o¦Žu„ËÁ'x–(˲Ó1Y)”'ãƒ/'kM&vªÙž‘Ë÷³{`N®,œÂpÑ—Ö²õ‰?  ”sÒ›™|ìºÅ狾̦]IŸ¯öoŽ[âmÿôgûF6äÎaÈí{ôÜÀ»ü9I÷ø »!«qxçM ÝŠáh &Qq•mÇÃ’ÿÛµm’¦ÌàF®Œ.l9ûÑA°Ó©B!>—úóêú³Ä¤~%óájŸ̓3lY²€]êRŒiã‰)ûu¥^–&ÌmÞ £_;QÕ3 Úû—¸øÄŽÊu}Èlš‡æmó³`X_÷Š ßÿ|pJÁ‹WPý5œÞ?¡P’ÁÁƒ[AÌßXî…b8þçoŒ<­UÂëæ™ÌÑÜØLÐVGòdt§T1Š[ë™»UCî‚îdË áþÑíœa@‡ô(IGÞ6íÈ¿|z¸0¹wUœ5Y3¢›”Õ˜]?‡þFƒ΀óPÐLŸÃÚ€5Øš†à›F…™À 8þ7ì„$.0¿¥H¢®‹ãÙÃ0ÔYÈ’ÄYï›+‰‰dÆàš M…]žõ:Lè ^O£„Ìpg¬-YœÁ×2ÁÁvE ¿5¨#ó8Òë¬1ùJp›ªÐ<+L®ÆÁ¿hCáÜC¨Ý lâ`î$°* *xy ‚CÀ¬0X|Ι†ÙK‚Åøuô/Ï/²%_V1£‹Áã'1˜fÎBz#=;K~ýÀÎ*üÆ÷Ü}ù½!cYèè CëB¶yPQ‡gA×ýÐf'Ø@rò} 3pÏÁ‹à˜ ”ÑàžÌÔŸˆï#ó~ê˜}2Wô©Ï±„ÌîÉðÃvtš<âôÄ÷ݾ‡€˜þ˜sˆ  àjkFô­½ì¼¦&—-æJ0t¨M'¿ItݘöêAüT.'bîr9÷ÚuÈkY€€æ®¬šÚŒV&¿Ðµ¶Ù•Ox¤t!¿³%J+œU†ÜÛ¶†ÝõÌÈ®Ž#S®Ü$.­]y²w£¯£KïûY»ò­.ïÚÎáôù±Ó\eË”¾Ì|XÁÝ‹`‰Bïo{æO}¶ßÿ}Pd¤T§Ø4A£Žñ i[•‚¶jî‡Y’'ŸŠ źÒ"GuÑI2& IDAT&ôÇn|GÊØFrrÉ µáUÄÆ® hïHÿ^­ߟzù3s';îèÞþ¸õ¶M2˜å§M+wVLì@ûl£éV̓ ‘!¬;øPî²$„BüxLp­Z‘ìϳbòútëøå'Píżm hê˜Ð˜4°*ËØàåô/ņ_šS½|UZ žËæsa$Ü¥Ö—€?Ù2¥%¶gfÐ¥neüteüŸÞŽñò%vþSüɆmÝËãí×–¹KÓµ–Í«»táT¯þY3¶]'Ælº›0>.’KkGÓÞ¿eÊT¦åoÇqíýó;`»¶ãÏàñTxºˆŽ‹P´ÖÏümÒšÅÛ¦SÝ&‰3~Ä߃IPÄò–†Q0Ç«;"™@Ï¥P;•J¸GP8ÔÊ•¼«¡ú*db/L J¡ŠŒ>—Ô¨6oB{·f#‚ Ò=ðu…ÒÝÀ¦z}ç&¨1ò„ÀÿÀâ  Mƒú³Yàߎ>´ nW”"­×ñð+V’Xìã0º¬ì>ù VW: q¯6äéQèZ ¼rÏÿàº/ìX™¿RR(s5XÔ ÷ïÂ0 2UÛÏ.2Ps{I –ìžð¤›ÃV¾pt3¾?•§Â ÝCBã s&†5!»ôÝÃ÷À´r)¸ªnǃõº„÷jã‘ðX¼øôÏ›¼cöQŸúü æé™ìÞz˜Ðؤø½¾‡´Ù[ï  °¢ô€TÔ,¡uÅò4ìù;ç"ߋŠ#¾¿mfi[ k@ñÂei5í*Þ£‚ êéù館WöÉ÷Ä'ùgÐÁ?Ë¡AiÈ• j¡Ô Pi: *=}À½ œÌ ]¾ÂƆÁ‚¾Ï *÷‡CáälÈlèûîÜ{ÀÉE :MË€—/ ™×^eU“÷ýžðíþî'ÂûºsÙ6»1Êõ}¨áãMåÎK ¯>ƒmKZà˜Ò2Ä?<ÀÜ>M¨æ[?ÿ^¬xY‹‰+‡âmF®Ìú­,oMï*ô\¥¡V÷R¤ÿâ业Û;fÐ˿ūvcIx5¦oý“vnÆ$õÛþéÏö‡—¾ÄH6ýч|·Ó«v|ª0bñ>¨ó ذ–_ò…0¥eY¼K6dÄ¡ìô]̈âé¾s i¶h3ê›°mhc*•­JÀ´ Ø´áíÏÅ×nÛ$‡ ¹»¯fý¯å_Õ‡ºåËR»ÛåÌ‹U-EQ,[¶L§‹¦I‹ÖD¼øtO U+iÞ: BB‘Ö-ž?—:õ|tNKXX§N§¬oy½Óÿ½^~‡D2Eq¤Oqü÷6`ËÞx~îH _@}w µ‹ÿBúiGXZ+‹\Ýú˜¸Æ—ócAážR2ÅcD|si=>!Ò¨íõ ÂM¸s²}¥ ½´ðýþ=©o΢b‰éä:ÊÄ"fŸžA|5ï·gƒV­$¯W>ŒŒQ&5(’ÇŽNQ»8V­“6„B!þ=tÏ1oýrµjŒÇwi¬ÇssÍïœ2¯BÛr™¥!õ /Ï-æ›öÔo]8M&;Òz|Bü—|ÿïw!R_-ÜB!„øÂªUpg'oÇ@â„LüN±A ìRå8Ž;‡Î}‡Ž…œèòúiµÎ™û/4 !„BˆïB2B!ÄW¦04A‰¥Rñî : ±j ±‘±h?c¹:]ÊçÑÄ©Áª6s×$_ºÄA‘!‹ÑgD!„B!¾¹,&„B|Uï â9)ã’îÝ—ŒlÈÃÛ;öp7^ß¼ Œ @&ñ³F(u1„G¥t ^#lófÇàùQŽ<Ï€½½ýÛ?»,˜Ëe!„BˆïF2B!Ä—zx”­{ÎpãÎUŽ­ÁO}÷¡aêf/ã¡ÈH©N °¹0‚F§ò÷±«Ü»‰ӡÄèŒÈìf‹îêZ‚…påŸÓ„<Ó€¹+%œÕœ8…õGÏsîè6–NÍ‘¨O•ÌÙ¯+õ²ÜcnóVŒük§.^àÄÎ –®<Ì @,!³;ѤÕ†F ŽB!„ø,’B!¾Ô³S¬ÙŠò>eh2ú½W±eœ/ÖüÊ*H_b$›þèC¾Û‹éU» >U±xÔJìkýB÷"÷™ÜÈÊM²âF,»ÓvÚ¯TŠYF‡:•¨0šÍ/<©äfâÃhÞa`U–±ÁËé_:Š ¿4§zùª´<—Íçˆ×¨yzf»·&4V2B!„©EŠ•…Bˆ/åÑŽßÿnª÷ÒŠLuXw·N¢gŒ°+Û¹e»ë]”A†¢ôþë$½ß{Þ2_sö¼÷l¿72T[Mh¨þðŒíJÓyfi:ë}Õœâ3B¡^!„BñmH…ŒB!„B!D*“„ŒBˆTµoÏ.ÌÌÌ?x,„B!ĉ$d„B¤ªJUªë},„B!ĉŒ!#„"U½|¥÷ñ¿“¥æ\!‰¡[„B!„H’TÈ!„HUÒeI!„BIÈ!„HeÒeI!„Bé²$„"•ýX]–„B!„øHX¢.,ˆÚ9KÓkXªÈJåBÿ!¬?{”åƒëã“S…*»Uú¬âFlÂjb/΢]Õ"xdOÏõp-ú­¸œ0xëë¢GýRxæP¡ÊîI…n˹“h;ãBÙ9)€Š…ÜP©œ)P¾³B—¦Dq°£*Uuþz¤¯$– £}p­¾ˆGWÇR6GB<έv¡yÂþi=h\±0Ž Ïç,P†z?/åôó·ýÊtzªaô=—¤¸‹Œ-þvl“7Žþüúº\JGÌÝÌê^‡ys ÊæAñ*MvHA¡ºI¯Í£ŒiU…"¯ºÁ©œ QoÄ.žh€ØóŒ(¢"g½¿x¦>EŸÂÙQ©œi¶ù™þbžøÛl Å¡jy’JP©Ã8µlÍ*ù;» UÎBTèø'·ÞTx© ;±„Ÿúáí‘•*r1&¡ŠåHŒGFò¿²ùpV©ÈQ¨!SNFèGûhuôì£WEGþClröuüm¶mº‹C5_²I>F!ÄŒüô !„ø¹Â@~.\š_†þÅOkZâu€ßÆǹë6jÙgqâÉc.³i_8έkà’’A1RBó˜à.h³?7͘¼YÐÜ»ÉK7k ÑðhC'*´ßGž“Y=×£›ÁLìуJgŸ±3¨. @û‚3ûÂñÿuýT‘ìÑš_›U#Wƒôù}39b2î§tý¥$Gfù’ÐE]c×ÝŒ˜×7N2­M/:TÙFµ¾˜º~4ÆÿÌ¢m×^ôñ.ÉŠ¶(Ì(Ñt œs`c˜pbß¿g;T·ÒÕ)!†Ó;oQ¾ç–ÏBÜùÅôèÖ—J°¶ev 5OØÜ½?ms¦Ý˜%L-”™˜ëYл?[Þì C¬óùQ6Ú•‰¾2 %–îåðË¿‰§Ÿ€±ÅJ8Né gÁÈÀˆèS[ØÝŒ£¸{é*‡–ô£ÑÓ̘U™L|yFÆØž»®Ó5wüBý.‡);g6T†€ŽÈ³ÓøŸÿ4bë `Ø’ßp1}ÂÉe½éòO>ü‹dĈ‹ŽÇ¡b{F·uÄÆä§ö¦ÿ̱ln]𦶮tX±€ÇµZq²YK›dÃHaˆe–ŒèÛ3ê{»Øp++*9a¬/f]‡W¥Ñ–¼ô=“Á9Ó÷à*7br‘PxËÕùÍ©1ö•º÷dê W¬bîr3>®¦‘ ÚO”eN2Û—¢Ù„Öô¾“aã˜1÷,mf–àýX ËŒ &V_^MaH†îÉgF}o7nÚR)©íB!~`’BñCQ9ÒhdGæUšÀ„}UhwêÖš4cU+7Œ#¿;±:œÐp°ÎžñíbìÆV¬ÌÔ«o+.¬k®àÐÌ’$³Ê»«¸»– › i¶r?ûX&œl»{¼zñ+'nB]a³zV&³àÀÄ™×(å?“¹g›3&€›2-hâë…) ê^›é;R£c+*¹ŽtoÈæàcÜ‹OHÈ HGÁ¦-©ZÈp¢KË@V/(A»¶5(”píBÀŒåL:p“ض˜9V£¹ãÛ¸óºF³~e{ö]}™AAV¿t¨—S·ntœ¿„_Þ"¦evLï¬æ·uÑ”›1AµlJpÌñÎ: QBÆvüÑ.©½eˆƒÿhf;jñ©¹”'¹;0cqClÕóV˜ÛÚx¢£cxymõªŒåòÞ¿¹]™âɺåã 0214<Ý7šæÝP"p-Ãý² ´aÛé×d/Û®c}Ÿü˜+l¹þ ƒ¼”ÈœPjeìX‰&oö©–¬×ì°Á s%(±Œ=ͱg9¨[3?ŽöKGhx¸oW3ú2&§©þI"1óϻصžI‹Š°PN.x¾zùåéq´N»UAtó2•ôq'@ôqÖï Ç­óFvrIø,Ä))’õ7îç°Ö;6"îžvÉߥIl×£ýA\¶öeŒë·Êˆ !„i—$d„BüpLó´gTƒe4îÙšãá¨ØB tïß`Gi%\¿ö„x2'\¡7v%`éêÇë€öt®Æ(Íç}m?7L 0(凕Ñ78tÜ;z¿sw‹Ü•Èo²„3Ÿ£É÷á2•æ1W¨‰y—óLæ(â^§wdXÌ­ÍQÄÇ ~3‹9™ÌÄGÇ' &«}ÁÙ•“ :ÊÕ;¡„†>"BÞqý]h”æX› ‰Ox=úú®ãJ‹Â™¾]h]$ÿü1”Á³6sâÆSÞk9>šøW~1}µÁÞ{Ö”(çøí*W´a º€e鸧lœ`!„⇠cÈ!„øñ(2PâçáÔ²zˆ¢Ì UȬÿ/ÕKZrsÙNG¾:eWcíà„³³3ÎÎNØš` 4ÐÛ$Y4q¨ã¢ˆNâ:I&  øì•¦”š›ó›P£ß²4Åâ{9}z1¾F)@“ØIÑX-)wi&ý–qäFzªôÁø)Ì ìñ¦ ä/DFË‹ãiÒrΣ×0¡†ýÛ+Xê{ì ºŒ‰wm X¾Ý?1—ÿfû“T÷͆!qÜ\Ú’âÕ'óȧ3“ÿØÈž} ñÏ`€gb •Pê{ì^̾UùTqˆîÙQVŸ5¡¸Þ¤«´Œœiµä;§®å~Æ´ñ¥Ldë@¶Ÿ…{ãÉ_à ËfŒãÆ–-ܳ¯D%§×©-O®á³RÔÖ“zy´7^IŒ£R¹ÒrÛód%ÀtÏ±æ´ Åk{~Võ™Bño'2B!~Hʬ5 ÜUóã)ÒS¬Kîë'Òîç¬PÇwN޵hu ÊÏ¿~a’-?öêÅl<ùœÊå¬ÞMì˜:RÔƒOð¬n•„ñO€¨mœŽÉJõ<Qrÿ³×lšÇXs˺«PÇ 3€ˆ”eƒL ¢bÛŽ‡Ñ,›Í7¹â{ï\ÂÞpò§{—VxCü­¥Ìz?T€š˜Äœè{N/§§Ó¬éRl‡®ej]‡w»ìÄ=$äX´LÔˆŠãæ–­<°¯JÅFhÃ61tÄ!òýv€QµöÅËcÙû"'JÛ&t{zz” —Ì(6ćèxqj '(̤ü¦SÞ¡LG…Ö õ«N^ÿt;•šÒ¤{|‰{jSФÓsTÔwÙ±ñYüªáöú½¯{ÆÑÕg0)Ö™¼z2%ÆnYÜ͇/ö93$+q:ˆãx3ùSÛ%„Bü $!#„â?Í4wgæŽ=O~)yr -[Ô¢d.{Ì^ÞáTð\&6£Ô„lï PÍýóœJt[&3ìsºÙøÝSQc·FxÏ`pÛ¦dü¥7 KçÄìù=â²ÀÃʉú]}™Þ­§2¤^Œn3±û"Â}FÒÆ3‰ñB¾63ì²™ñlûï¬>¥¢œñÖMÂÎxÞÉ\„±kÚûÒ¿Wk†Å÷§^þÌÄßÜÉŽ;:pz=U,!³{2ü°&¤x†”%}Ìrצ´ù¶ß˜H…Â(àbÄ­£xòÎT L3¤¢ØÕ±Õr»PuìD¼>xn6<Þ/MÑõÏlZ5šIº^«˜XÛ]l,±€‘ F€± îYáÏUC™Xòêæ6'üÒvf.¾E–Uq1ø«§¹C†«× ãêŽ?˜2z)OrôÆW•Ðôнsœ›j°º}•«!Äeô WVc=‰ŒHή9D|x[éß_Qç1ïxf¼ ºÕ$Šë‡—3ý”%¾ã+ag™\±W>gõÏC(<<€r.JžÞTî¼”ðê3ض¤Ž©uÙD‘2#çÐÍó,¿V/J©¦ã9—«­S2t¤Ù¢ÍL¨o¶¡©T¶*Ó.`[Ð&Ñ$jžžÙÁî­‡ Myß&¥mm¦­G³¢Ù1v…§`U¶1 =ï(s tìH±ŒÀËÛ\} ÅÜÄBÏszš@QGøåÃ9ñ‚}¿V$·‹ó«®keûf;›LAÜXܱ6j´á·m·x®ÉBéš Õ.&9›ÐÓß™“êQªJ~¿îHigS*WÀñU¹±cEªzhÙÖ§µͶ'ZýU%//°vÿKòÔ)ö¦‚ê]jž^:ɦ)]iPÕÒš0hÅ jÍ߯¼z* ƒ¬µ˜6¯=ÅÕ›ø??|ëtbÜšs„k5<ÙÄEóÔö|[ yf ‡ãóãïmõù]õ>ååÖí‹Â³®Ï;ã' !„ÿ%ŠeË–é´qÑ4iÑšˆៜ!hÕJš·H…ЄB¤u‹çÏ¥N½F§ÓÆ©Ç)ë[^ï4Á¯—ß!!ôˆ9=˜5Óa_0mR-C÷íÅœþ…’µÑqß&Zgÿq¶K!Ä¿ÏûíÙ U+Éë•#cc”JåGæ|×±#‡SÔ.ŽUë¤BF!„"mŠãúæí÷Ä^"M3°Ä1wÞïÅWc`á@®¼ß; !„"Í.KB!„B!„©L2B!„B!„©L2B!„B!„©L2B!„B!„©L2B!„âLJK±îl8Ú´º.ÝK®l\ÌâM׈Ö&z¬ûV !„H+$!#„B!þýbÎðka*Õ«¿J ¸zv.}ûfë ƒoÞèùç3×y”ñ=û3ýD4Qo«CÆRLõv{ÊϽ…ú[/„⻄ŒBˆÀKŽõ΋J¥Â³ÛnÂõ]YVßä÷j¨T®´ÙùÞ‹žŸ^ɨ¶UñöpD¥RáâUŒ û1këe^hÞN}¢ùTe˜v-þ[nÐAsŸ¥U²áÑñ Q)™OË­M#hêW*•#^å;ó×䜎F°£©ã{ÇYßsß‚Ž'áäÜ„OÓByC$ºäÆ¡Ê"3ùo»ânneëÃl´ž÷7ÁÁ›Ù1¿±Û·ó ]qüóZ|ÙÂuálkå†cÝU<Ò[þÇÃ@ÙŠ IDAT-Ÿ·®¨ókÙiƒ_5Ô‰›ekÄY?½Y.Ô,gá—m…Bˆ4F2B!~(ÏV eÁå¸÷žÕòtçÆŸÖw&ÇÍåí)W­Kï{ÐlØþ\ýs†w¢†ÓC6-ÜÆ½4q2ûß¡]AÇ€™ì ¹O„± .NXÄiÉh©LÞôë§F~DÎÉUÇÑôÇÛJ‘¬YbN¡ƒsn~ƒ7ÙË‹¬Ûû·Z¥±MÖ™¼š3Êáà=”³±_?œ”ģæÎöܱ¯ICßxyåÅ#k;7ÝÂÈ».ùÓ'ïx$)ò kÅâé_œLúZÏê;lÿ¬uEsyÞ[•¦fN=N‡ÒÒ‘ÜyscýàOªR>»Ñ—mƒBˆ4GíB!~ö)¿•é#‚i¼°6¯ÏߣÏ3ë× ”¬†ãþïÌ{1ŸúcÕîOV ,E¦7çüÅñ«Õ”®©¿ þq÷\û±{{WÜþ-ç¡‘gXs$ÏÁÅôŸ´ ¡ªâ‘c}ʪ¾~“,æòßìx’ƒ&å²%¯Á§~ÀÞõ×°.7W“¯NÊ÷OJâQßcÏúëdö«‚Ëëi ]è²'”._6@Ô…µìt§[Iô¦?{]é(0ê¡£^ý›ø1¼ÙYÊWÆÙø3B‘¦I…ŒBˆ‡E!º «†áΞ~ÝIFÍÝÕC™÷¸4ƒû•Â*ñôºŽÎ%Ä©'3û%NÆ|eñØ39€*Årã¨rÄ«\#†?x5Dw·ÿF«ŠÞäT©pÊW†úVùªšG}ƒ~¹¨6ðWÊ{â¨Rá^¢)¿í<Ͼy=©QЕʙÂu‡±õAÂuaAÔÎYš^úP­@T*ŠøaýÙ£,\Ÿœ*TÙ½¨Òg7^UÄ^œE»ªEðÈž0^…káZô[q9a`Ñ×1 Eú¥ðÌ¡B•Ý“ Ý–s%&ÑvÆ…²sR ¹¡R9S |+f…$.M‰â`GTªêü¥·ßG,FûàZ}®Ž¥lŽ„xœ[í&Bó„ýÓzиba<žÏY  õ~^Êéçoû•éôTÃè{.ÉÃuy2¥UŽ4XóèÍ଱זÒ<AVÜ$a—Åóèèbú7,GW*7oÊ×ëÃÆwê”´A‰ŽǧҾf ò8%ÄêèU•~ëî¢Ô·æRAåDù©·ÐÞO¹*Tªj, Õ¼š›³ýÈ^d8çW‰¨ï±ªY^Š>L„Ð<çܪᴨP˜œÙT8ð¥N—Å<ÈV™Š9Œ€Bô ^™|¸¨T¨TäòíÈâKÑ€–'ëâèX”ç4<ù£6n*ªã y¿Ø Pß]D•Dc›¼ù+7™Ko¦ÿ’ý“²x4t)=ej¸“.‰ãªaÝ蟨V '• —üei6ý"±o'àÂêa4¯T OG*Oª8B„.†+vóÔŠ«­©PÈ •*;^Õ‡²ëÉûÇ+AÄîv¸ëÛG**UnºH^×9mØA‚.f lõœ˜&k!„ÿ&’Bñ1 s…ü\ø ‡þÅm5èÂðÛ¸ã8wJ-»÷2.1—Ù´/çz5Þ^UÿÚ4 îRÆó^Pº×lÖïÜÂÂ!-©˜×C4<ÚЉ -~'¢âpVºÊ¡%ýhÔwa¯³'_˜‘1rö§u>5æm"T q·VÒ¥áLØ0&Är}ikÊ6œËóÒ}˜»ñ»þJ%Çh]kPÖÞÐcKé–¿0gÍf6þ9™fÖgX:vWã@iWŸ«:ሠM–ìçØ±c;µŒ†öïg•¤·O"*ŒÈ7çþjîõcèµÚLì[KÍ6öô£ÆèËxvœÆº}{ _ŸLã°ñ«šðÞÖD¡0úMcEð&VÍìLÎë7ë,/Q`å;… ¿xa`^黎rìØ1Nlè‚»žª Cû&¬»~ëׯsýê)VvÊ™M ¦.îôjú/Ý?)‹´<=¼šóéJRÇÓ\ÿAù‡Iµ+ÓÿtNÚM^ÉŽ}ÛX>¡7Í+8`  ¾ÇÚ¥©9ù.ùÛcé–ü½d½šxawàí1În‹MÁŒ\¸šÃË£>5‡i‡^èé §Ãij«ƒƒ Ö÷·õo†MÎ83ZžYÍÙt%©Û,Ó !„ø·‘.KB!~( #GìȼJ˜°¯ íNýÂZ“f¬jå†qäñw'V‡ÖÙ3¾ýAŒ½ÀØŠ•™zõí•oëš+84³$Ÿ3,¨úîZ&l2¤ÙÊyüìc‰ÀÝãÕ‹×X9qê s˜Õ³2™ Ç&μF)ÿ™Ì=Ûœ1ùØ”iA_/LU÷ÚLßy[QÉÍp¤{Ã@6ã^¼/éé(Ø´%U YNtiÈê%h×¶…Ò®]˜±œInÛÀ3Çj4w|w^×hÖ¯lϾ«/éê”CV¿t¨—?áJ½[7:Î_¯oÓ2;¦wVóÛºhÊ͘ǠZ6 W|ÌñÎ:€-o–j‚G»@þh—ÔÞ2ÄÁ4³µøÔ\ʓܘ±¸!6‰.U˜ÛÚx¢£cxymõªŒåòÞ¿¹]™âIœ§ˆa6ª¶)ɯ]æ³bŸ97L€¾«˜ÞÀctDEã!Ô\²•Qe2&lkÜK4O58Ö®@ÂP†d-Ù€Æošƒ§N¦,x¤"ƒJK¸²Ÿ»™ü¨çã„}’çÛ L¬mIÆËWoIuhý†]£Î¼µŒçÒÔætÜ^)ÛgRÛ.á¬64åqTÆ·#ÊŒðoB׋uÓÛj*O²Ya„C B÷]Ƥh7ʺ©Èø±aP 161]§§ðÓŠì _7•ºFðUöO ãÑ…s|Íi ‹Î _Òè–°$Ä¿ÅT÷¶ÆpvÎýêÕx®Í  ß¹ê,Ú4”V¯Þp ŸÓø+ÛØtdž&ÿFÏ u*šŒepr‡,&|šãÌ®xfþHÌÉ¡{ÁÉÕ'1ô™‰×ŽI,„"m’„ŒBˆŽižöŒj°ŒÆ=[s<ü•»SÈBîý^J l,áúµ'Ä“9áJ¹±+K÷P?^D°§s5Fi>DØèkû¹aR€Ay,?"BÞqýãá*ͱ63@Ÿðzôõ\Ç•…3}»ò[]$ÿü1”Á³6sâÆÓwoMüëê }³¦hEdñ  ¢E &5MÉAL¯ï˜ðþЉž¥2¾ÙÖø[ÛØx'+*9%L§‹æÖ®…L_¸s·îrïÞ}Â^jqëïC% }¡ 0/5€\Ÿ(~0Ì "ƒæ(ÏcuîA?ãZyÌ(b á;™0ã"î½æPÝîu³NÓýA„˜— ÿ늑¸‡^>¹Nq#4”{÷¡¶¡¥ovŒ"N±æ¨–‚ã ‘!9cÒê¢øgv+ÍIÏÀµ4ÊñªtåkíŸ)ˆ'â4AÇ´W¤ÆÓ5²/F »%¬i^” ÕÚÒ¹SkjäË„! ‹8Fà¬kx[H1«÷ß½jîíZÏ ërŒÏùºÓŽç¶sÍ´=Ü“ê õDžfõ-…ÆHr»„Bü»I—%!„?EJü<œZVQ”Ä  ™õÿà¥ó zIKn.[ÂéÈW§ì c¬œpvvÆÙÙ [3 ”z®‚'“&u\Ñz%I(@‘j'ajnÎoB~{ÈÒh‹7îåôéÅø¥ MBb'%cµ¤TÜ¥™ô[Æ‘é©Òsã§2'°žïOø¥ƒÈ %üâQ®¿¬ËѢʫd  {v„•ÇâÉí_"¡¢ 5¡;×sÃÚ—j9MAýÝËà7è<9[aѺìÿ«ÙŽT-ïxz”ÕgL(V'ï'+¯”Td0ˆ",*–Р~ »æÏä>E°T@Ô¹¿ØáDõrª·WÙ´O9´ú,FEüÉoÚçZ¹¶g¡þй¬ÞºŸMƒrc±,5r&$"Ïq Æ‹ºE­?Ý8ÔE2¿ õ§ÒgÕšº¾ÝäkퟔÄy~-¢?>­¡]-¦í9ÀŸãZ“ãŸit®Z‚6A Ýõ"O-bc˜+5}ô$5Ù·î2¥êûMõU§ÖES°…>ÈÅ2¾DcǨP©j°ì¾þqgÞu~-c¼¨[$ãçÿ!„HÓ¤BF!ÄI™µ&»j~|"EzŠu À}ýDÚý\˜µêàøÎX2Z´: åç_¿0É–{õb6ž|NårVïžX™:RÔƒOð¬n•7wž‰ ÙÆé˜¬TÏ“%÷?{ÝɦyÌ5§±¬»Šu¼0ˆHÙ) ‰CATÌbÛñ0še³ù&W|bïKØNþtïÒ cˆ¿µ”YP«ýøsziy~x;¢Ü¯õò7 Ƨ|±‹r…û#œ­Mßn£æ{×]ƲôPr™AÔ‘ \kÍÏ{§ÐÆÑˆçòî-„ÚV¤Ò«J’Èsk9¡ñbBôŸ<Ù6Lo‹•ÁK\þ‹~ÃnPwþL¼-€†ˆ[·ˆÀ’,oÇžÑ=?Æê“PpR!Ò+â¸<¯/ó¢bÓÜnä54÷ ^w ó’ƒÈcÕMû‰píˆOæOl˵?ÚQÿ·xº¬ZDktïÄÿuöOJâ‰æÒú=DæîAñOܺÉÀ<¥šô§T ÚnÊÙ‹a¨ëd!üÆM" ¬±4þp~mØ!VŸ7¥Xw¯·‰³Ès¬=ƒ×¢ïT¶%P¢ª?—ÍÕz“­&Yp±MÎèáÑ\Ú°‡¹{R,y·ìBñ/$ !„ÿi¦¹;3wìyêôëLÉ“khÙ¢%sÙcöò§‚ç2ù°¥&dãÝ1£¹rž³Q‰N¬ ̰ÏéBfãwO¯Ýà=ƒÁm›’ñ—Þ4,³ç÷ˆË^+'êwõez·tœbÈzy0ºÌÄî‹÷IÏTº¯ŠvÙÌx¶ýwVŸRQÎøë¦ ag¼ïd.ÂØµí}éß«5ÃâûS/fâoîdÇ8½ž*–Ù=~ØŽN“RÅ¥uilõ¶jc¹ö×lvå§°‡=æ1w9¹v;ãóÓ«¾&(ÉÝ õFõQ—Êä2ç~œ<¬x~t5§ 3­àÛÄÙËõì‰ÈEâ™õÜ[‰¥cnòê?’É{M;Âpý©Y¿ÕÝß„B|w’rBñg‚KÓ¹ìZ?ž‡OêEëÿÕ§Q§1¬Z„Á«÷0¯‘Ã{W0BYÔ¶:UªTyûW©-«îééŠ`èHË%ÁL¬gÊ®±-©T¬4 zOe]H: ±¯;—m³£\߇>ÞTî¼”ðê3ض¤Ž©uÙD‘2#çÐÍó,¿V/J©¦ã9—«­S2t¤Ù¢ÍL¨o¶¡©T¶*Ó.`[І·7ÆQóôÌvo=LhlÊû6)mk3mÕ8šÍŽù³+œ8õ«²iè™xG™S cGŠe^Þæê-æ&zž{¿ ¤åű 4þi …§þAßbV»R¿Enâ÷Ï#84aÄ›ªŒ›ÐŒ¢ñè]¿U›ýBÐågÄZxã_ = ±«Þ‡–^/Xز4å[NäD<3ZSª¦GBõ†Ø–¬N!‹ ¯[ƒæWqWû‘䔡* 5aé3¥wa,MjYlS;”ÆâàPšT®D£¾K9þƒÜu(žY ¤§dÏ.SþM7¿²4øu;º‚ÞØ™Âÿu’Á ùk•ÅæÖ4þW­!=†­'Œ¸‹“hÖ3˜'/Ï0Å?®ÎÎ ]û ôâÈ«»Ì•ý“Ìxânla˃ìT/—MÿUFm$·ÎngvߦT÷+C¹ú=™{͇ [VÐÎ-áiYz ûV Ñ1´¨\ŽêÃXrä Ý N­9޶@]мU8†+ïà©k-ÊØ}»hüÍ­l¾ïHÄ]Ñ„BüpË–-Óiã¢iÒ¢5/Â?9CЪ•4o ¡ !„HëÏŸKz >:N§%,,ŒS'ŽSÖ·¼Þi‚ÿ^/¿CB$A}k ÿ«2ÏÅ›RØBÆyCÍõ(»¨<›öÄó[ݺ>Õ©¹1³"e•'xÏòü0Û%„iÓûíÙ U+Éë•#cc”Êä—);r8EíâXµN*d„B!Ò¬¸+üÞy$÷N¡W!IƼC}Ÿ½ë¯“ɯ .?RÒBý€½ë¯‘Ù¯ Î?Òv !„ø€$d„B!Ò¤hþ ìÈoO3µWA,$óÍ“ƒWóhQ \U*òÿ|<É®MiŸ–Gkê‘]¥BåX”g-)S#'ßð¦ÚB!Òé–*„â_O¥R¥xžÐÐÐÏšO|=¡¡¡ß;„4LGä‰ ´Ÿú’«{RP²1P¤/ÅØà`ât0˜®û¿8¡À²øH6Ç¢PZÝÝüS3 !„ø—“„ŒBˆ½Ï=±—„€H»Xľƒ¾w iÖÿٻ󸳀㿻TÙ‡ž²Edß•}ß—AvcŒ}fŒÑØ—Éd—-ɲ$û.$’ì{i½÷>ï…poÝ’ÌÌ{¾ŸO¸žå‹ }CöíÓJÇ“Cè¿ò>­ódeMÔñY°5ýFÁIƒoVþþiTy©7ÁÂy bòwn,òýŠ{;òª¾u€ÿM¢97º -Î %`Ow¬RÊ^Ÿ¦Å?YÌu<ׇRvÜ:z–ÏKª²…*;…J9☠@KööÉå-%ùêOĽH>lM”dµ.Nikˆxžu:=yOaJûR8:&´ˆ«À÷˜9dÒ»¹‰m{~s¯Ká¼*¦y°/•â³p8ó×»+¨²ZQ¼´#TZ ¦C*³¤áèÙtñnDz£/©×"7¢5`œÿÃ;‡ ‚ ¤uN;JæLü‡üŒà¬ T9ì(éèÈû~š;_åÜñ/ïñRYœ!}[QÅúÛßÎÕù*Ò¤ù·Å¿@ü î¾TRvzš–ÏþM‚ðíÓJËëðg`Ý’¾íkRÂ,å=þiþiåï›Qd¥HÝæy÷oCù»tDõð•}šÿ`rD0žç§Fj;c>£"G²yKIÖ"uiþ-#ÅÔŠÍ­ þ·*§# ¾iáHÇ8ÌbOíj|N‡Û"7ú» „O‰)K‚ ‚ðÕÉDmfZú8ÙKH¶Ž4¾‰ÛIÆ•k_²¸oCœ‹HH…¨ßÿOžëšÿÚ» öÍ=xª»ÊøÊ¶H’„u‡ýDhîà^Çš S/ó~ö‡ü’]­¬°ëq˜†—tîÇŒ ½hè\ +I¾r'f}–0Ò@Žá®÷4º¸8ã`-aW®Ýfð"t®k1󶎰?êa'IHRc<i?Ÿ£yJÀŸiZ¥86’-%«¶`Èʳ¼L<‰üÜ‹–Ek0ü×Ñtqq¢°$!9Ô¤÷Ò D$7Ú9.¿y}¨_¾’d‡“k–%zó–JãÔó7&v©Žƒ$a[>AqñÜÝ8‚VUK`+IHRAÊ4Èò oÐñ7çQ]rbÜù$Ë"üùÁA¾Ç~^ËŽ0¤$Võ–ªt‘m™Hg—ò•$lKT¦AßUëyùª¹·W‡®ŒÓлx´¶’C Œ‚ØëKè׸"6 SÝì[0jãM¢¿Â¬¢¤ie\:舸âÁÐæUp°’(Xº6Ý~?@øûkÔòò܆·©EY; ©#U›ýÄŽúòoBúÔþý6º°ÅÔ·K¸Þ†ò_ ùÆpúê¿ÖøÇGù㇦T-e‹$ÙãT³ ý_!¿‹ëÖx¿ú°}Ì¥É8[ÕbÑíxƒç:½Ã@ù#ù<,[¯7HM=4Éå?™;ZQ¸Ò@Æ÷kˆS! ÉÊj&³ãNÌG ©¦xÞøG™ß‡FUJ`+ÙâX§#}¡I2Mæ­Áüóù”ˆø‡œÙ§BHRQ*4κKI¦îiysy=£ÛV£¤­„u‰ª´³Ÿ—É•‡˜‹LªT‚V£GÒ¡ªV’D!§Æ ZÈ‹Äü£{}’Ùn®8±B’$¬ŠU¥ãÔ=ÜO>¡Ë\°©8Ëé2%RÃÝ¥ Ç»’ôxšléZšê¿ßþlú©œÒ”¥K“q¶qeEhzMÅ“yáÝ%ÉZ;þœFŸÓ3-=ãДÜ6æD†½ >¥M…÷D‡Œ ‚ d€èðGXÔÅ2¯=lšá« #¾å>€¸ µkÏâ·øÕë'wÍ zÈLÜo硞ö±E£ \ÝÒ‘ÜÊL9z“‚×¹`ì4ü؇‡9«¨ÎÅ[9°Çƒ¡vç™?ð7N¿Ðpïïn¸öÛE¦“XíãÇî%£ù¾na²[ubý‰Mô³üÝÖqüôiNŸù‹–ŸŽs–ßpb|#ÚμMùŸÿÆÿ”+Ùs~Rsšýv¨w›½ áÀ5 ]ήÞëÀö IDATƒ»YÖ-+û§äÏž®µÏØ;´]ÝS}¬ïcõ„ΔÏùé†ñ<9tˆ˜ÚcY¹Í÷!5É«R`š¯mFÌg½·/»×Ï¢•Ò›É=~ãB4˜Ø5§c‘gìÛqë}ƒõí•mœˆ2#ö”—Þµ¥£®áu8’Ò"©!òä8Ú ñ"s‡Ùl=rŒ}ž³ÖÊ =-,µu|.®¤¶‰’*K/BÈùÙTÈŠ,ÖTë2ŽÅ›ö°w‡k>gÝOýXüõ›µ)¥ƒæþzz´œÊíŠcÙp,}‹Z½¢½VÞ&Ð=õæÇvã8nÓ—?½rÔg5Óû7ÄÞ\_3ÓœÊ Oã;¬ J«ð¾BHH»:@ed¾ÑŸ¾zN¥ em÷Îü~«<#VûrÔK&õ¤¶Uj†ä|~.»Æ†Ê_òy,¹²e®$Õõ“ÿdbîYm4«÷d÷š‘8‡¯`@³áì–øè˜ÒyµOñù±W¼¡æð¥ìôóeÍÄîÔ/룡öªdò÷GäHNMnAÏÍæt^èÃÉ›U죻ŒçÈ«„0Å^_D›Æ#8”Ç…;ýñß2‡1GóšK7òÐe¾~¾›™ÝÁœƒÓÚÐÉ=ˆX@¡Ì†½k¦-óÂÇg+†•äÆÒ¼åÁ‡ií}ÂqìÎæ+ÛÄ …šœ%›òã̵ìÚëÍæ?z‘/`½ÇâUb¯ƒüö6‡îcàŠ}Þ9ÊwVòC£!ÊÓ…;à=¯>Ï=‡3rÇ£„s%ïj†î>ÊÊV9¡ÈHvœæôé@UÏj0_~V GœdRÃüâÈó·qðàz~íßœŠùÔ`Äõ¤H•—Þ5Ñìÿ‹Óï{¬e^\Ë!e=Ü*X˜²¢ãå¥c„g¶¥@–O·P‘¿~j›]gí¦[Ä¡áɾ±´ÿˆžëWÓÝ6ãiäôêÙV‘Ý2;Š·Ï‰|Ÿa4<ðÅ”Û-™3Ð.Õ× 1ž_šR³Á*‚BêÖÛW÷0¾J6²×˜ÂúINiµbTªÉ[$/1Wp;]Íûoû?c)‚ EA^—Ü©™JŒdкMLõ¿CL Ýñy, ­Êï¤^%`˰ñðü~5Gž¶¦cþOšxJÌLMP¢ÄÄ4ff‰Tc_°)è2¤;r'4m†6ai«s\xª¡²ú:kP`Ø~vH\#¦%wÍkù9L”˜dÿŽ––ï×IúîO÷Ä—ÙëŸPnšZY£ vþ•eNáâ¾€ƒVã ÈL…>?Ò¹fÂCF‰Aè¾´;'nF ÿ|þ¹&l+³vDSÇ}ã[äKhøZ›Sá»±ø~zE:1¸{ã×]¨Ó™.ïÿQŠ¢êÃlhw†‹Ï4”³¶¥i§¢ÌZãMÈGJ˜Es}G9{N¢æŽì¸EŠYˆ¾±¯KóS}KÔÈÄ< å5ßQ¦rJÚgEI!Š•5ï*LÌLQ)@a’ 3³¦¶MèfûaÓÒöÑìÜÔŸ£ÁQ .ò•çô$›æ\Y:—Óv£9:º6j `_&tö ±ç.îôŠ]ä}Âc̰)_';2)ÀÎÁðé”êL˜™¨@©Æ4“f‰kÇè§œo\-¢/}?¥yIècÙ*U JY ˜€]á’©=çŠÖWþPb™\Ë—\Ù’y“ÚzÀØü§*BÓVµ)› (æ@éÂZnTŸÂü=cpé&ñ6…ó¶ÝΜ=jºnZÁèÊÙÊe±ÄNZçÌßWLÚÇ>ü¾!š–kgÑ+q5W«Ñ£Y¿i«ÏþB8µp ׬á;¿/¥2æ»È"d]x)Åäú®j TtÀ(Z²yV¥ÓÒeœï5—ÊÙJÒ²ë‡<àX¢¶îaÖ‰Pb:Ybžø»uÓAômña,€ŠíºPñÝ?J'ûåM4ØuŠð8W,™)×¥;Ëg ñc÷Ål]]~}›Q>3`ÿ#}Ü×3ïø]bÛ‡&Åô.@¾¬j”¦9Èoi‰å§yýÓ|ùÑôXÏÎÅóuCyO¥Iž„¼ãPìÝÿçNùzR¤ WµÞ4P÷bõ±Ôi’…î9G×'sã¿qÒû†@Ë›+3zbM¶P*óç[(sפw£ìtÞ°†C¥M™9þÝðš«©Qxê‡àj4ÈyðFjëVŒèº•A£jPvmcº¸u£K«jÔ;B&"!>z 1&߸÷¤˜ SqzŒhÎÁŸûá|¢­»ºÑ­sSœ-3}ùb“Ê_ry,ù²•–z@‘†üj©&.¶°æ|8±Ýò¦xÞèûǸcæÄø’ÙŒˆ7ù;‰˜;þ\yA@§RlI4Z(û4 ]üÎ]À¢bì¾t EvÊ4vD½åÁ¯´TÎ"ó4à/æ­ØÃÅûÜçÙ[ÈRH“b9‹»¥óÖrèj(÷Ãïþ"òǢѻ£ó\æ(âc>ü¿ÊœÜæ â£ãÑ•Þ_rá±Ü;ymÑ TÌ­¿¦îz ÈVž­²ÓnÍž6jMYs*­F—æÓQº'^|ß` çò÷`ûÄÊè]W\‘нZ“oûz¯Áäm«è]<Ë—Ùô$£¶°ÐžâU¬ ™à5z*·[­À½b6OÓp@…"]Ã÷^Ü]6lÃ/¯û°a]J™ù»Æ„QmÕE3wPeHoZiwqâ×ÄQ‚A¢CFA2ÜÇ #mœr´dùÎq”IÚrQ˜`‘7ùAúzH_в“µ±hµ±DƤý³•É=Œ½{`Km<:ÒxyÚ'ìЄ×0ó4rȇÉõÉÔh}úý&j©]JLgž{ôsõáÒ•?ìsS¨u%¢Çûrg¤>¾¯p^‡|‰ƒ"”9«1ÆëOz³}ëß,t«ËŒr#ؾqŽúžHôÒpwÕ÷4›E×ùó˜X»¹9E'7Òå ³_DG¼ÔUçâ;¿Ù“&ž:ù2Š4ùm5zaçö­xüÒ‘?gÔaÆîU¸Ù%÷餻3Ò?ߘa×ùOü àÀŽílZ3‚–ófÒzé.æ5ýð´û%Bí›BK©l¥¥HSþS¨1SƒJ­DaÄyu¡qhâtD§×—lµqh±¦ïúô±Kz] ÌråE)¿$Né5f@ib‚ *¥‚è˳hÝvy†º3gFE¬³G±«mE&¤p ùõQÆ4놯ãþtŸC™ü™y°´®ëÒ®”ÓûKÖ‘ÑÆiÐÆF«ƒOWÎM¿ëÉL‰ÎÉßt 5¥–ß.|׎éÅôwç+sÕdü/­6ÁƒÉž=ÙÞ×îóihò[nÞà ɹ+­Ò£3&ýz;TÊ·<Kø¡QL½Ýš•îɦà³õcRÀôíxcÛÖL|ð=oDÙtø¢ž±q¨{y”Y3ŽaVe03z ûAŒ!A„oÊ„ü¥mP¾:Eà+ ,--?üÈ‹y²#->mÄ)1QêˆzE*–füˆ*{aŠZ¼&`ßMôNW¨P«& 0³©@!å]œ|úùÞÆ^1ýý¦öménÄ_»O²cí5 vn½¡¢ªÎG¥sñkÏ••žÜø´‚ßruYºn*̘>…‰9²’Òz7K¤P¤k‡‡:{~r(£xts3£¦Þ¡Í‚Tø¢ĺ$½¨yÀîmÜ–5žÃqΞûFÇ¡Žgç³%¶%î+~¦‘½¹øôµD‡Œ ‚ |SJò¸ ¦mÞ,ïÖƒé›pþú5Îúy±nÓI }ôB‘8Ìù£’:/eóòjÏ–ùžãêÅö¬šËêk©hé™;ѧ›=á˺Òã·-œºÏý[8’øUì$5öoãðÕ`®_¼Æ“OÖàUåkÀÐ6993±/Ów\ ôáNoO¿¹·qè;˜ÊÆ®>ü Sûöô¯¬åÐðžLÝ|œ+·npÞo;ÃŒ¸>“<ÌÏ镜}ÀMÿ5Œµgíªâ»º]q¼÷'ÓþФf‹„·{ ‹ò´+ó€å¿¬æI…®TÏó®ù¤á±ßr–l<È©+·¸}í$û|Nó„ÜØæ40²Iñn¤G’+³PÀ* /¬dëùûÜ¿ºÅÃÇâÿ~®æ¹ÍÑÞÙ‹×>?„§÷·Ï©Ìsc®½Åömû9äw–§©~éž Ü(ôzý»ŽÇãà®^¿€ÿ.Oþö GćîÄ}¹‡Ï^#8ø2Ç÷àÊ%y­³ø¤­}Ù7ÝóML/\Íîc ¾Éù#ÞøÝÖÙ2?æ*0³­†ƒê2îs7pù gmÆ}ñ>‘ô–¿”òX²e+-õ€‘ùO†¿ïq®††qãÄ:Fõ˜Î»>Œ©—¥ç5-Ò‘>"ñêÛ…‰ësåÞB.!蕞@éËߟP[·d ‹9A¿v¦ÿü¿x+ûÙâ±Ë2(rPm`G „-¦çà%øž»AðµöìºhÔ‚³/.äÐÙ`Âî\Àg^l‰ÇõçÞ7Saae¨«¼¯óàÞyvÎÆô )Ô$§-yu×ðXåGðÃ;œÜ8‹C¾à!ߘô6!O‘üÈÁÛñ âÖÕ ½4¶sBeã44;ÊOF°|ßî>åêéK<Õ¤|= ÓìX¨ßpf‡7~‡Žpõ•Öp]¢¶¢i/GnÏÁ¼[tmf“ ¬k»bùô,Á‘IbPŽâúŠ^|ÿ—-¿mœN÷Þ}(« dÅ®°TŒÒýü!ŸE¿ï´O)?¾£‰|ÊÃG/‰MiS“œÈò€Í#§q§Í|†;3•ï9þ O>áÍ»úý]U’Ây?ÛOÍ|Ç´aÈÙº,^;”r™ã‰%6.å)y¤=!žGWÂ1)Ý”r9>ÄÊÛ³3éÙ¹/ /ië“èA„oL™£63}Ö3¦æ[vMêFSׯô˜°œ½—Ÿc¸í•ðúãÿÎB¹ŸóS…ûüѳõÛbÁ ]¥T ÎD©á^lŸR—ÈèèR ×nãXº/,a´ƒ"5ÇŽ¥¾Öƒžõ]éðÓJ.G~2^E™“º³ö²îÇüŸÚžªÎµé±(˜ 3|ðú©TÚç“«méºv/sÚ™±JgÔnLŸE×È_.)ŽÈ\†Q«&Rûñ´«Z…ÖýÈÓmŽŸ|åC™·]ÊEªªI«â‰!Uä b»2DßÓRµkUr&Ý%6”ý ѾAmjÖëÈä}ÙèµÜ“ÁÅ ‡Hñéà…µ¦/cH©KLnZ‰]fs¹x?zؾK5 µFë¼'™Ùo ¿í¹OœÞßô\v©^ ®«d÷¸Þ [|=/ËS”¥ì(vîœN Ó#üÞ»õtæç…^œ}›Ð`—#¹±ýWú·®G­Z é>ë ö#þfUgkÃfŸE_!ßèxuáo&ôh†K­:4°”{Õ¦°iAr)@mÕ–¹³:Ý÷gÚ6l‚Û„„ªG9 c¾ä¢§ü¥˜Ç’/[iªŒÊO9¾zkUƵ—;·§ã½k4N‰kJ¤x^µ-Ý=|˜Û6‡fv§A•š´±Aoõ>¢éKÚ¨ Ðzé>V .IغŸéÐØ•–ýaß-ÞhVÊVeÞž#(}w9ƒšÕ¥n»1ìŒ/C±¬)?º¼½±‹ÙšP¹zkÆz›â¶æËÚX¢FEÖ XÜ+û‡ºRÁ¥/Ë×dp‹|)~½ÉľKfµ‚õ=©U¡?mÑÒbh ²§ñ£?`Lz«°l1‰¡2¿£ »Œcãã¿Ý¬Ê×”?ö.£¯t÷šP­jK~œ³…³Ï5)_OÖŠ àÌ+aô½†ó¯ådêù\zS]NŒ“ ?[}XOØrX“C~ÆÝ‰]-rA+{ÑqE^¦nþ•ùÔ¨-лº ×Ölä–ï}&"€Ñµœi³òî‡NœwëU%G÷Ÿ~•¨ØsSª#Õ9²jxž¹3 F8ë_Ç ÷<ÚS®úp޾ÿ2•¾{¹1ûéÙæï^ôö¼G̺W(‚vvvsÛË c{dÒ‡Äñ<4sËÜÝ“5Ná{d?gŸ‰aë£ðôô”uqÑ|ïÖ“ˆ7¯SÜÁkË&ºõì“AAþéþZµœVmÛ'»,ëxþü9çÏž¡v]W½ÛøìÞ)îC‚ éJæÅŽV”þ13k¯®Ç5#Óþ5b.2©Zcöw<Èá‘)wÒ é'ò$#ªw%|ê þnž7å7þoRɳù«aN£G˜Dr£L÷8–]Ñ—Ÿe^ìéNž}ܛ޶j@ýU¨¶¨;fà”Iÿq4÷=hYuÙ²®EòáׄzЩÑRJýµ—‰ÎY? »îÉfš;O¡è–SÌ­¨g§¸ f×qaµóFN.¨N6 öÊtj6ÚG—Ãù±pbgV|0 ]겡پ„¼¬g¿´‰æÜè*´¼8‚ÀÝ](ðY‡bÚãðÝõͪ݀½=üñícû¯Z¬öÓö¬×–M”v,ƒ‰©)*•ñ=¯§O¦ª]«‘ÅAAA!-d^[Æî˜ô¨‘Ǹ‡Ë,%iãšÿÙ+¹‘N‹§h±oùa4UûÒÜúCW@|T<˜eÅÔ`¯O''küqs¤B¸J²£ª½B¹»© ùŸp5°dí-Ì+!™Fr´o$I¡Ë$kŘ`?ø0á×S;{ráæêâÌzÑ™…ÃË‘ÕЦڗll•pž²£Ï}´€w–ò38~šÉe†™È1!lwßΓ¼)“GæîêJRÁZ̼­5¸ß—Ò^…³„$5eó“$SŽÓ‡î,oAÕ!©ù›;ÝíRš($%:¯AAA„T‹¿³…eg²ÓxKêFo¨òÔb¢Ï5ú…¾ÀÜܸ}Ì+LcÏÞá kì(LÈQ(¹c Z5]=qŸ^› Nv²wP<2 P[PÐÈó‚LäÙ9ô_…ÛÖŸ(g 7F™«‹öù¡Pb–·p²ë·EžYÀÌ€¢ü´fN™˶,ó­J”.aÿÌù ¥¸¾Qêd¢øøvN\ÿK• ›\ÉÏ06ÕX·ý“$¬³‹î…Ô1&‚ ‚ ÿ9 rµØNx‹oŽ ’© SΆ3å[‡ãÿŒ‰ý`ßœ¶•Yø®žµV mžÕ†â¥mŒÜÚŒ’?ïçâ˜,˜%ö9dµ.NiëÔd-?ž£wÆ'¿™:…Jæ0ú¨ÙªÎâØ9ÌßÍ2̓}©ýÃÿ±†Œ ‚ ‚ ‚ B2‚ ‚ ‚ ‚ LtÈ‚ ‚ ‚ ‚ d0Ñ!#‚ ‚ ‚ ‚ÁD‡Œ ‚ ‚ ‚ B2‚ ‚&Zx4D’¤dÿZn;Ïâ:V”}Žh½Ç‰á„rXÕqçŽæ+Us÷:6Tþõ±_é.ò½ [ÑlËStß:,é êÔO”²reŽd2A\ÞÛPÅÁ ɦ8U;-&è$h¤oìmÚâñ•O¤¹ƒ{+ÊM¸@ÌW>Õ¿Q†¥Ã¿D¤oì­š²ù‰þA~îE +{zûG&þÅ Ï¡4q.‚$¤T­¾l KçJXûu¬pp‚·z7øJõÄ:ÙXÑÆûu:Ô€Ärjø÷“éþ/“P6 ávèV&šû¬©oE‰!'‰z°ÿ´Ÿ½A„4Q‘¯©;ûÊD¢_á7¬ó,¦±qŠ3Y·ÉfeŠÏ¢äŽcBÁö¿â^ÇŽ¼ª v*éžl¦yù‰Øm:ÃÂ*æß:8ÿÇt<Ù9„þ+ïÓú7OVÖ´AŸÛø'S?͹ÑUhqn({ºc•¤qÈ ÇnoYrm ²%þ¨ÊK½ îÎ[“o^á¿D‘­#Ü`æ Í5ô¹eϹléR‘üh°( Îà:ïŸ]ÿJo9ý—1”îÿ/þMiøÿ’Vÿ½+A„ ¢ÎiGÉœ‰ÿŸœU*‡%yßÎÑÜIá(*r”n@ó¯Lá?AËëðg`Ý’¾íkRÂì[‡'(²R¤nsŠ|ëpÿ ¦VÔhnõþŸñ/ïñRYœ!}[QÅúÃ#QÆŽ¸õF3”îÂ?ÏÿKZ‰)K‚ ‚ðÕÉDmfZú8ÙKH¶Ž4¾‰Û1 oÈzüã£üñCSª–²E’ìqªÙ†‰þ¯ ûÅŽV®4ñýâTHB²r Z§Éì¸c`Ÿwâ¸`=êW ¨$Q¨L-ÚÝDPdÂ#Ékï6X; å¼î [ÛM˜†Um7â ]f w½§ÑÅÅk »rõè63€×:ˆ½¾„~+â`“0•ËÞ¹£6Þ$Z&aÈ»KqšŒŸÁ°v5(UPB²)E½!빕ì\™«‹ºáâTɪõg‘ÿ#â“nÿƒ3»ââTI*J…fÃYw)ÂàCW¤oì­[ãýêÃo1—&ãlU‹E·ã/3”½3{Р¢V’Îué<ûÒ‡áúr w¶§]ÍRØJ6¯ÚŽIÛoõ>1´¼¹¼žÑm«QÒVºDUZŽÙÏKƒ‰õ–JSû÷ÛèÂSß.!zæÄº N@O‡„k+=â4QMYŠá„J”é<…©ZP¥¸ ’T§æðO2„]ó„ã‹ûÓ°œ=Ö¶”¯Û‚¶.8'3"ÅôL&EŸƒ“äÌä‹I2ªæ>MlpèëÇk@GĆ6¯‚ƒ•DÁÒµéöûÂã_soõЏ0aæ`š8B’JÐË/Ýë“ÌvsÅ©ˆ’$aU¬*§îáþGÜËeBÝcí²œÐ÷Q¨!t™ VNc9˜nUŠÓú—éôq)…$QyÌI®,¬‰äðG’Ìp_ì¡«½-m6?N5˜B9ÐE´e"]ÊST’°-Q™}Wl¨~ÁˆºQ~Â÷Ÿh[­¶’DѪ]˜{â9Z>ž²ôÚ» öÍ=xª»ÊøÊ¶H’„u‡ý„§Pçi_²¸oCœ‹HH…¨ßÿOž'ÉqáøÍëCýòE$;œ\{°$(¹Zøãú?Ò¿7%û1cB/:ÃJ’°¯Ü‰YGŸ‘\ñÓ< dù¦Tr°F²u¤fûœÕ~|ÞäÃÉѾ%)Ûm,ƒ[TÀ^’ŠT¤õÏ븡#¡1PN">™{œÁ@'_oy_H1M’0”î‰ÿW¸ò0~ÿ¹ •ŠHHEÚ²>\ ÈDogr§º8–ìËáÒu:{B?Ü_ߥÛÔm©d/!Ù–¥ñ0OÎßÁoÝjRÜZªx]~X}•HÙ!Ù{¤‘õ_²upJi(Çæ3‡šV¤˜•„Uñ:ô[q‰ˆ$áM6®õÖgÒ<-¹´ú¯2‚ 1 IDAT‚¢ÃaQ˼ö°i† ¯6Œdø–û|ÖlÔ„²¶{g~¿Už«}9꿃%“zRÛ*¹!21÷‰¬6šÕ{²{ÍHœÃW0 Ùpö?3Ôõ åÉ®Ôs[IDýil=ˆÏÂ.äÜ;Œ—s;²¹,ãÔž‰” + —áôéÓœñêKa½Ód4Üû»®ýv‘©Å$Vûø±{Éh¾¯[s%(²XS­Ë8oÚÃÞL¬ùœu?õcypâÓ¥î üB±éð ëöîÇknS¢¶ṵ̈ ÷>£$r;τվ?°†‘ΡÌíÔ‘~/:\äHNMnAÏÍæt^èÃÉ›U죻ŒçÈ«´¾åÚÜŽôZA½)8tì0›¢s¥<‰Ójt<ß7˜¦Ca7`³¦ÛvaÎÅ„G—Øë‹hÓx‡ò¸±p§?þ[æðcƒä¦å˜Syái|‡DiõÞ×C aWç¨ä7œ߈¶3oSþç¿ñ?åÇÊAöœŸÔœf¿]ø0Ÿxž:DLí±¬Üæ‰ûš†§Hh^séFºÌ÷ÂÏw3³;˜spZ:¹^ƒ(ú sZ6fôIkú-;È©cë[9œù0êðKtf Ý}”•­rB‘‘ì8ÍéÓ,ªžçG8´ jœ˜åwšÓ§Os`BY2v’xž8Ϋҽ˜³q¾›¦P9lCÆúò\Å…9qûKM·5' ¾}ï…½)‘LJ!=SÈC™Kv¤…åCvm z¿Îæá>”E£ \ÝÒ‘ÜÊL9z“‚×¹P ¹:/.ˆEíÚ³øm#~õ:ÁÉ]3¨2·ÁÛy¨´ÏØ;´]ÝS}¬ïcõ„ΔÏIªÄ><ÌYEu†,ÞÊ= µ;Ïü¿qZÿ"4ÈLiÚš_®”dðò½;ô73zÕ໤¥ö„xzî!—²ÛožSê½y-úlà¾&KŠåÔè{€±õVJ÷£®ëCéþnDkLØN™·bÚ_[ñ˜Û§ì 4w×ÒµÞ@vdîÀ<ï@¶ÿJ“8úÔë˶‡®.ö¡?×ó~Ï‚ÝGðYÜ”ÈM#iÖ}#r³_ÙzÈ—åì?˜5·õ÷¨¦xL©þK©&å4| •-d³Ï6uPã3iËoÆŸ‡>«+¬Ò<Ý4¥´úOñôô”×­Y)˲,¿yý*Å¿µ+—É‚ ‚ ˲¼vå²ï¯_½Cnß’·nZ/?öTïßâ>¤{*om&É…º’ß$ý=>D^\[’ËŒ:+G½ûM.{4´”‹ôñ—#ähùüx'Yª½X‰—e9ú¼<ÞÉR.Ñ—ü ΨËÏ··-­;Êû“œ8>d©ÜÀÒRn´6LÖćȋk[Ë•f\•cÞo,/ªm)ۻ햟j?ìqr”\Ö²Œ<êLBhµ7ÉM¬äOD&Œ˜Kò” VrõÙ×?œ#9/wËm$+¹ížWïãÈiüy9ú}=×5²”íûøËúö8,÷´“䦛ŸÈ —×·±•¥Fkä°xYÖ<Ü$·±+%>ú!btO·Ë­­ É]¼ÑwT9âH/¹°U+y÷Ë¿E_œ$——jÊ ƒãdYŽ÷*,[V˜({¡ùüqÁòuläÊÓ/'‰ë»ò²º’ìøói9J~#û÷/&[Vž!_Žþ°ÛÛÀarIÉE^o Ââä›ókÈV••¯Æ~øUûh“ÜÊÆZnºöžüaÏXùúœê²eáîòþW²,Ë‘òñŠÉ–õVËa†ÿþb/ÈËYÊU~¿.¿?îµ|dpIÙ²ä09àmbY·‘÷&‰Â7~½å"–Õä߯%Iýø0Ù£¹µlÕÌS~ ‘eYŽ’ÏŽ*#[é Ç¿nrA«ùq¾ø¤œ¼»ÎYUeËrå Ѳ¬{¾GîZ´¤<À{·‰æìÑÐúãò÷‘äÓ3å<+_ý­²lé4N>%˲/‡®¬/[;Ž#eY–£åóãËÉ6õVÈ’6Z¾8ÉY–ªÏ“oÄÉr|èrÙÅÒˆ2*¯tµ”#eýéð™dËeBœZÕ]&ß}¶xùîÒº²TvLÂõÄ\–§V°ü¸îeYŽ¿'¯nh%í}P~¥“eYûTÞÙÉN¶ïæ#?×ÉF”ütk Y²t‘\Œµ²R¨#Žô’ KMäM?ííÉ¡rI˺ò’;ñ²îÙ6¹¹TXîu$¡F‰:3J.cU_^öqºë¯ótòk¿¾r±ÂåI*Ì7GúËŬËëjåø;K亖vò÷Û'©“È %¹ØÇeý©ûq¾N¸†æò¶gïs°ü6ð'¹”eùÏ;ú ¯V~²­­l#5”—ßMòÿoöË­%¹õîWF…]–#dÿ>ö²eCIJ*˲¬‘oí,²¬"ÿ~=¡6H®œ¾Çé µ1õVŠ÷c®ës†ÒýÕîÖ²¥å§å)Z>?ÎI¶,3R>‘äB´ÏöÈ=‹XÊ5æß”ãd=é¦},ohl)ìzð}{@÷|§ÜÚÊFîàóJo¸>“ôiDýg\¬? ÊFA¹›_’_ùÊl,åÛŸË:câÚP]a¬ø0yu=I.>8@~›ø“¡´ú>mÏ®]¹L>w:P¾|ñ¼|íÊ%£ÿRÛ.öôô”ÅAAÈh*sr›+ÑÄk?ŸR”©8=F4ÇbW?œ›ñãì-œ~Òԣϩ¥š¸ØBèùpý£¢ïÅšT W’Ö@Ö (kö”‹×_¥â-<è^qêqjÖ-ˆÞ±<º7\Ú0•~šâRÕ ‡2} uÄÇ鉕9¹²(Ñê‹#CTù¨\¯0rð îÆ@̮Ƽ`K§RØÚÚbkkKÁò8©åùÓ¨4®aŽóàŸ¨¿‚öŽUh;r»/=û0M*ê‡oi¸·¸1EÏi[¸“ƒd^?xƒ&þç®F`Q±v™Rwf…e’FHì½@ni R¯jþ$ šb[§ù¢opþa2ó?Œ>qvÊ4vDýòÁ¯ôåŠxœ»ÆÛ¼Õq)˜$õÕßQŵºÓ„}•¯A)1Ï•¥. qá§¹cKÍ’ÙP}ŒäÓ3å’Î ReÉCV9„8 $û)]àG{ʆ (RÑ1‘<¥‰ *T¨”úŽ('_¤>3¥‘.æ 1:ñšÔÄmòéibDRÚµ ³Ã–n¾Ê˜ÜgÙpÓ’ÖóJ$NЯuÕ¹øÎ¯Aö¤Q¡ÎF¾d:å¢/ϦuÛäêΜ±ÎÅ®¶™Š«K¾\~ ù]»QaÜXþ|ãÛuœÉ\Ÿµ²£ä”Ê ÈY1^çè|Ò›í[ÿf¡[]f”ÁöÃpÌ¢ïœÉ×z‘õ’Í»Ihã4£%ËwŽ£LÒùt ,òš  G—Šã¥9!\)<²¦v LFT¨ÍP¡@¥JmN~ûôª·R¾®äÂ`Ä äÄx5 ½õaZ|é=òkÔÁï“b\¥>Èè2•ñÄAAøRç.MÞXåÀ¼*Oض`“}›þ1Íýƒx‡˜àP-É›ñ¤­šL¶T²…›>gy™äYímÐ~.Ä|Gù’9Q •:âRhl©²¦¨ÅköÝü|?íSŽo»@¶63ÛÊ)g62©¿ÂCºö)nƒu9¬3™T+Âð¿GKK,ßÿ w&ýM …Ê•.Š—ÑÉ_°Â¬å›÷gúúcW”[kpüµŒ"³5Žù!Ø/U¾¤ç´ä»¦(L¾£´)¯’ʗΠø¬ejfSBÊ» xœd­†8î9Îó’”—Òá»ØòkÎí8K¬T‰R9?ÄÛ‡ ˜R lQ2?=ÁáÐ$o¶5O8éwu‘*ØfJ¿ÒD ÚøÏÚî • *tħ"ÊT*‡â[?JvÝ!} ¥§QyHmM“ïKòÂg{¶l$تm‹&–:u.Š6Gsõ÷3çÿ(?XæË†ábG¨ï.îÚöã×!õqø.æf*½Ï…É=¬$[.Q 2Q¡‹~Atúk”yjãVUË1ov¬;G¶Æ]pJ\à!Årðþ Y°­ÚŽ!s¼8±³yÎ-eÙE‹¥$úÒºñ =úë<ò—¶Aùê¯,>NÇy1Wƒ™u9$‚Ùæy~©É ÉÉîá¸ÁHH9ìúiyzÔ‹k¥Vá„'ðô(§^õVZ¯Kºë¥Êƒc^b/îãZ䇟u¯Îã{ìªÒ³ÖU|ñ=ÒØ:8­i˜Ö¸þR©H«1Ñ!#‚ ÿ$1Aü½p5»] (ø&çxãw[CfËü˜Z„@†¿ïq®††qãÄ:Fõ˜Î»>Œ©—¥2 ¹²hy࿃½~~»‰lRˆvƒë"ûcÀ‚ý\ {ÀÍc+þÃZ^WLïR ­7Ef‰Â‘nöáBð ._¹ŸäkAI˜;ѧ›=á˺Òã·-œºÏý[8N™…VYxy`%[ÏßçþÕ},>¿ø/mfÉÜÛ·Ão|ù(ë'õdt€ µ¶ÆV jë– t1'è×ÎôŸ¿ƒã¯s%p?[<¶q9Bÿ¹Íl«á ºŒûÜÍ\¾ÂÙC›q_¼‡ï¿ óš3«³Î7€‹7ntúÞÇ@[òš) SIºõ-‹îÄÏt¾Ÿ“— ºxŸ kÙu'9¨6°#ÂÓsð|ÏÝ øZ{v]äU²Ñ¡xÿ’3éfª| Ú&'g&öeúŽ „>¼Ãéãé7÷6}S9+ ¾¸tCgƒ »sŸyý°%ן{SÜ Tæ¹1×Þbû¶ýò;ËS XTŒ[ÁÛÌí3†õ·yz‘Ý¿õg©|tQŸ|Jòɼ¯€ n]½@Pâ'ULó#Ÿî·ŸâÖ­+\ 1ü%,CTš2²}.Nqcü:®…†¸c’é\K!=ËCj¤†])ój+“ÜÀ®SË$ _g£Â7 ½ÞAÿ®ãñ8x†«×/à¿Ë“¿ý“é8Raae¨«¼¯óàÞyvÎÆô R__:|&¹r‰)RÅÒ˜‡þÍœ¿sñêŽn_Æ‚-·{Ræ¦z·š(ý¦2ýdNšu*ù»ÿK© á±ßr–l<È©+·¸}í$û|Nó„ÜØæ40²!­u£ } Cuž’<.ƒi›÷Ë»õ`úæ#œ¿~³~^¬Ût’gZ0µoOÿÊZ ïÉÔÍǹrëçý¶s0ìk>NªÈßp M²_bZÑüuè"7o]Âûn‚ßOqJ9ìï=>ž#¹Ìém¿Ðëç#XtC›„'îô(§^õV*®+ Cé®_fJ÷îGÙü0l9þ7¹í ÆU†·+˜>ÓMÒái\œÖ4L[\'ˆ%hé@¾ïñ '^§®,¤.­þ½D‡Œ ‚ ü£èxuáo&ôh†K­:4°”{Õ¦°iAr%ûÂì)ÇW£s­Ê¸örç¶ót¼wÆÉ\Ê<Ôу¢Á‹Ð2›oF¡Ce›åì_ÚÕΑ4«\†ƒÖñº©;û=ܰ}×ÊÌâĉmÉá;„&u[1páqžëm|e¢Ôp/¶O©KäŽ tt©„k·q,ÝF¬Â‚ZÓ—1¤Ô%&7­D.³¹\¼=lS¹ˆÊ§Ì¾Ã9ïæölH­†]ùÕ?]íey[Ë„F²º­—îcÅà’„­û™]iÙÿÖøÝâÞõ@mÕ–¹³:Ý÷gÚ6l‚Û„„ªG9‹Ä'>Ä?>Îò‘ßÓ¤nM\ZgcT ænšB…,&î³ßÝÉÑÛ4Ä¥ý`fo8ÎÝ·:@A¶*ÓðöAé»ËÔ¬.uÛag|ŠeM¡Y¦ø|„ ʜԵ—u?æçøÔöTu®MEÁT˜áƒ×O¥Òüööí]ÌЄÊÕ[3ÖÛ·5XÖ&!^3—êÅàºJvëͰÅGyªÌ»k;“ʱ {m*TïÀ/6ü¼Õ‡_ªfO¡Â²Å$†V|ÈüŽ.4ì2Žw¦J˜Ú»1¹gaÎOlEí¦½ùÕ'œÔ~ÝEvªMÛÊb·šÔ‰zUkÒaâîä×NH)=ÌCªü®¸UP©+É÷Íl?zHËRv;wN§…é~ïÝ‚ú :óóB/Î>ˆMæAHEÖ XÜ+û‡ºRÁ¥/Ë×dp‹|ï¿Z¢7>“L¹DA.×_˜ß»0g§OãF¹ê 9kÖ ŸQŸFQ£J7jg‹&ÞªJ$Ím)• 6”ý ѾAmjÖëÈä}ÙèµÜ“ÁÅ ŽHkÝh8üz§ú¨ó”9j3Óg=cj¾eפn4umL ËÙ{ù9ñ2 ¶¥ëÚ½ÌigÆþ)iP»1}]#¹|¤Ã85ƒTy³pï2úä?ÃÜž©S¯+¿ÍB«ÌïG"¥öw^žgãô¸V®Å÷¿b=b ¾¿×}¿ÎXº”SH·zËèëúˆt7ÀÔ¾|fSïÅZÔ¯H¥£ÙmÖ“¿öÿAÓ|iè Ô¤t¸GU§= Ó×^\<Èá}' MmÏJêÒêßJáéé)ëâ¢ùÞ­'o^§¸ƒ×–MtëÙ'‚&‚ üÓýµj9­Ú¶OvYÖñüùsΟ=Cíº®z·ñÙ½S܇ÒLæÅŽV”þ13k¯®Çõ?ùMH!ÃÄ\dRµÆìïxÃ#¾êƒd†Ð„²¬Au–VßÍñ)eøÂ.@AøŠäh_':†MâÌî.H§~Aø·ø´=ëµe¥Ë`bjŠJe|8x2UíâX,FÈ‚ ‚ ÿMÚç§Ù¬#Ѽ5èCA2øÊ’ ‚ ‚ð ¼½Á8Ë‹6ô8ëfLäD®vx4Êxé/‚ üÓˆ™ÿ±wŸqQ}ÇGP QŽ¢€‚ ÅŠDQÅŽ½÷^"vcר5šh{‰£±‚+**Ø{k,¨¥ÝÝ3Ù!#I’$I’$I’$I’ô™ÉI’$I’$I’¤Õ3®GÆ þÒqüˆþ¹ö€xñ¥‘¤ôÉI’$I’$I’¤¯ž†';†P¯f¶Gi¾t0_½Äó3hèÓ–E×’¾t(’”.Ù!#I’$I_šˆfW§Â84YÇ£é9¶ˆ ÂßÖ™®aqYú}Òåéx*mñ_óý“ Žƒ}\Qºö$,6SÝdnu[J;I|æCͲ¸°®8Û7eÇ›X8=º ¶ÕçrSõùš¨°¢¶-®½Ãyñ¥cùDTþöE ˆøØ›w%qùGOl+Là|"oêQ™Ñ§IøÑÄ…uÅÙÖŸ ¨/8üAu“¹Õíñ˜r‘Äϱ½ÄË,™´ì-R= §Gán[•_¯'â ¿“÷zR=cz/J8(Q)Kýñ'xù‘d¦Ž™íÈwen0wÚ^žft`Ñ–_¸| ^H [_ßþ¯ >Ù!#I’$I_ZÜ6D$R¢±'y¾‚#sìÞ²KÛq ›"GyÏMw×lYÚ¦‰C ª[ În:A´¾×Wñ³-<“òþ”Ì®ý+YÙ—Ïǘ‚ͧ0wt ò~éX$)“ óQcô\¦4/ˆñ§ÜNò5~ñ²{¯Ó#›kwfÏLùŠO¹õ¯Jìñ…Þ)J÷Î%1ÿÒÁèË¡]˜}Ú‰>KB8¸k53;»’µ#„.ñœV»šË¸›¶ïÀHIý¾5`×<¶ÿ“ÉI^Ÿ«|Kÿy_ÁiŸ$I’$ý·½¸ÌÁ8U¶æ_{]nbK•u©`m”µß›¦nK’Žoæ|œ†¨]¸)ÝØ•:bFÉò&ŽØVŸÎÙ—¹›} (í_Ëå5™!¹JúÑÀ»0Ùÿ•ñKÿiŠìön€_É\_¤Ý2²®@ÝU°5ùÿ"b9¾<„èm©¥Ìb;û9iâyø œÞÝiïëF!gŠØZ|æ‹O–åÛákqœeÛî’©q_¸|Kÿ²CF’$I’>U§VŽ¡ŸÅìS†g×èý‘¯Ï5±\\?žö~•R†oÛ• ÞÄ#ÄŠ®nÞÇÓ칸6§35ÊF©´Ç­Þì}¢åŽžHàÖÖ ´õ)‡«Ç25h?-‚h €àåµ`ƵòÆÝI‰Ò¹ >í&±-2׃NâºR¼\&îB­r.Ø*•8{´âÇOPó‚ðÞ®¸¶ÝM’&‚ήJ”J%%ã%ÉÜZ=˜FžÅpP*Q* RªVŽAÃ;S–T7™ëS”º£&3 YJT¢´/A~«¸šîØo J÷™È¨¾^˜«y|&0· ëþ@h”Pùç@~8î°yýp3QÚ˜Êðêy´œÐd´/)iwy-:ÕÄÝY‰ÒÁZƒÖp=M|ê§G˜Ó½å +Q:¹S³ç<"¢R2TDѰHMF[wœ”J”®^t]pšX½ç\½=e)ã¼yMCìù@ú7¨„«­’‚%«Ñ~únî½Y"Aͳ“ËÔ¤*¥•( ¹áY ï§s)¢zÈŽq-©êæˆR©Di_Œê~âÀë²—xž •ŠÒxâ$ºù”À^©Äcøñ”©^"›Á£hæU¥=E=›16ø:/3á”tП»Q³la”JGÜ};1ÿrÚ¼ ¼wIÜ;OeLÛʸ*•8ÔœÅ夌Ë_òß?SYéÎÈSi&¡Å†ÑËU‰s§]iF]½ ¢_qlk,"2! åTWz¥Cs–ƒ›P¥¤J[W*ÖîÎì°‡¼žh¢_y¼¸²ž1Í+SÌÁ§’žÔnê»sÖj™ë(¢1¼œ’RýBS§k$^æ—š…(;d?Ïu•Sñ’k›'Ò¶z)•JŠT¨MÀš;oÚ’w§t¨n/¦FaFO  ®{!”Êbt }54-ù{¦µÃǽJeÊ×ÄŠ³±©­é´kO#ã[°*Ó®k¸ó[ •J”Ê:¬üGýþ”%Õc"æõ¡^¥¢Ø+(îéO¿%'x¦No¦Û%=b×FÇåuchíS–"J%Å<ðë¾”Ô¥LtÕc-⯰ýHö¾äOÛ#nògŸZ”/’ÒNùt˜FÈ­x ¢CéQÔ™V›¿oÂÙ¨èܘ5éÑ•÷ºö!ñ<<ÜpJC̆¦Q*Q*=™v9 Môaftðް-J¥[OZŽßÆÝdxÝ&Úù,J=v¢"r¡¶î#8¥mŽiây&Tp¦~àc4FRÑA‰Ré@›=¯Ê^öÔv3äòö“<ËÌ”à´å[ß²££¬ˆ„H¶Oë„_Wl•¶¸–ó¦õŒ³éNM¼4Ÿu*àjŸrür.çÏ÷«ÿ~³HqôÖ&8y `úÐ&T,¬DY¸)«î¥äiFÇ/íÔÄœ[ۦßRÜA‰]1Oßų4™ž^Ï0OÅ3vt,ŒC£µ(•U˜}5uºêÎ2jÙå»±zÿ?ÈI’$IúP"–ˆÑuh8ã>ç¼?ŒË'ÐÌ“F€ê>Á½¼h0ë.¥{LgÅŽ=l œÎ 6ndOºAÈØçǺL&-[Ïê ¾¨N-ä׈˜wN€UÜþ³=¾=6“Í,¿‡„²eþ0Úx;aaª[ËiW£ÍZðóÖ#DO¡nR ÝjtgÃÔ±tå>ñ IDATÄû8¡¨L¿9ëÙ½-þާ˜Õg*Ç^˜Snò~öÎþ#Üù1ôÇŽc÷èÒ˜¡Àĺ MÏbÕÖlYõ# ¶2®ÓTNk;›ÔÄp:4ûY±}A?Õã庡 øëv:w)˜»4¦WŸV”µ2K¾5Ÿž9‚0nÿÜ\É ñ§)=v.=\MÈæÜž}ÚP!¶û—íKŠø{ÿ`Yó{mcÍdžÿ5„Aë^ÝEMºÌ¯Íš3çEm¦…sxód*ߘF‡€`¼:/n°û¢%uF,bóž-,lŸ]ãû0ïJÖL?oR>WÝ]E§†ã¹^a<ÂÎ_¿¸ ]–\'Ð<ÞJßf#9dßy[p äw&õ¬…³E:§| #¬Š×£ï´ålÞ¾•µ¿uÁ:b&]‡ïåùë§ŽáHÈ=Üæ²võbFԵŠQ;¨×ÿ ޽—²çÈ>–u³dCŸ¶Ì<“Î*ê'lïïG»¹©<"=‡vòûèÖ”µz÷‹É<Ú»—„j#X²a%sûy‘Ï0ãògìØ€–…Ÿ°sãÕ7ë=¼8¿ð—¦$ âìë¥^^$h_%[×BiDæË©>éõ®øóÌlX‡a‡íè±pG®b„Ç=fµòãû}ÏR/Öt”'Õƒ`šŒàL¹ „œ¿É¥°?SØèíW™ KOFÌéŠùº~ŒÞù5‰\^ÀìØ¶ÌãE® ¯TÜþ³µz®†“Y»ï›ç¡¡k:s_ïÃËËl¹`KÇ™«X÷ûdZ9™‚ˆãè8:¯µ õ/!_Ã÷.á k;ŠýÏ5dÔ®å´mŪð5ô°‡üíWpèØ1Žÿƒ†ïÎñ1„ªMÓi×);ôOÂŽ†²ä;gNm@ý©§S×-Él~ëŒ]»¸Ã#iÒ/³3X¿ÿ ;WþÈ€FnX¾Js]õXkŽüs”£O²S¢‚ò)49)Öp(ó6‡³oõxj¾ü®5{°þ¾ …eEºÔÏÁ‘e{yôæ*ö%çWnäy…Nx[kk;õËû ÷Á´8ÃÃ"˜VÊ€œVqþÆ nÜØÇ 9pöíÆ„…A„„l`ñ€â\YЋ€u÷³v¡mêJÿ-XÒÈ acÄ1Ž;¯•_ūȎë·Q_ÜǵY FWÙÑYV¹øSKº,Ž¥Æ±÷à>Öüú=­+æMwJ”ÂÜŽoÛŽdΚmlßȯ(V ìÁ¢k©¥$áÎ6ŽZ4bÂë ü©+î9z¿Þ•xéWšÔÌÞ¼øeSaëfÒ×ïýéZÚêx†yªÈ…Gûê˜^Mø“WuFõ€}›nb¤¸Åæ}÷_Õ=5ÂÖqÉÒ6î9RbÒq<ü¿±råJ±bÙ!„1ÑÏu¾–/Y($I’$I!–/Y¨ó¸ýü©¸qýªX¿f•ˆzòXëë_ŠÙ#Ú´ÇŸ±šw?L׿ÕE*Ÿ©ßûiÒß³De›ÒbäÉø7ï©î,5•EE@Ä‹·¿œpVüPÞVTžqI$¼÷OñâÔHwaSjˆM}Wýd›è\ØFT™õ·HBÄîï"œ” Ć'©¾82P”°©.æÝLNÙÐö¢ m±=&ãÝŽ;Ô[¸ØÔKo' Í“ ¢ÒItÙ+Dò 1§šR¸:%Þì•ê¾XQÛF8w ±ýé;^ž›!¼íD…Òö¢HëUâNr&~œÞ¾¼Š¯Ô÷'ÄË7ñݵlDána"VhDthwáâÔRl|œšg1û{ Û:bÕõÛûûZôNÑÚÞFø?ïñ*ííÒÆ/NrÊjsÄd}ò&^œUFØ×X,"“SÿãÌØrBYùgq%IˆäsD5›B¢Yàu¯-ʼn„MÅIâ|‚"áœ_ÞFTœ|áí2—tMüVÝ^xL:—ú~ò-±Ð[)܆KM×4’oÎÞ6Ž¢MðCñ&UU÷E`-¥péuHÄ !„ˆ‡z¹›¿ëÌë´åOˆdqs¾·°÷˜,.$!ÄKqìû ¢êØeâ»ÒîbБ”ºôòäáîPWÞU}¤rúvzižl ì\Eßð¸7߈ í* Û|+¦_L“‚ÉwD`;a[¥¸¯z”§Dqiº§°÷ž'n¤I—GˆâvuÅš‡ï·-B!4qâäÄo…²hW±vßO¢fa/1édÜ«ò+Âz666©/§æbÓ gĸr6¢Dÿ"æM9J—¦WÊòãŹñ^ú%G.>6oï»B¨¬MKˆ€©•Pó8X4¶+$ÚíŽÑÑ® !’®ŠÙUlß+ƒië‹úŸ5¢‘½¨·ü¶HMžDqifeaãÔQìzþ~¼)Áeœß:cO¾!æT³{'6x¼Þ_(m|Äì3±âýœÑ]µyqx€(nSQL¾˜úO§FŠÒJ/ñ˵Ôižî=\lD¥©—D¢"áü$Q±`±ìu…Š=$JºŠÎ;Ÿim§ôÊ{}öAýP¬®k+Š„‹Z6óFr¤Xâk#\¿ q¯ÚD[ï…âÖ›ÿM·x eéáâäKíuLˆ—âÄ÷¥„­ÖvC#¢6666Ħ§é4ŠÚò1myÑ£ìè,+"Vìëâ$lÊŸª2J‘ô=Û"š(mEÓmÏ…B<ßÒXØØ¼{¬Ö}üz_Œëé"l<&‹s©§")í‹ÒG,z•ÉéÕñ÷¼•§Bˆ˜}¢WQ'ÑrSʱQu¥hPºµX8«¶(R'PÜS !Ôÿˆ5 ŠRƒˆ8¡ß¹ÊÇôîùìò% ÅÉcGĹ3§ÄÅógõ~eö¼xåÊ•â_0Q’$I’¾rÙ R½RNö̯Ǒ¦ôèÓ›5]Èi"ösæ_§üøeTzï–´Šû{7q3wufy½Ô¡ æÜn®g+˳·¾­‰¾Ìчyñò.ˆé»1hžsñäCLKÕ¢Dš™Ve©í»ß"¡_a´-Ubh‘s5ÉêŒWÓ/¯±å·Ùüuè2‘wïqïŸh’p!QŸÛš†ä67@¬&3ÏD1+Ú†åf3àpvͪÃ'[:ÁЂ<¨’Õ’¸q†Øø;ô.[ˆ¾¯¿£V¡Ž<ˆQCmÿ‘+3b’5К֙+MÞ¨sêÈ?¨.Œ¡ŠÓø7ßѨTˆ¼÷‰Q‘]#·[ÏwßW¡ôò:´íО¶¾¥`z#d€¤»{Xðórö^ˆäî½»Ü{šùQe´/¯°ïªŠÛWêPdÁë/ T*±MŒÖÑñ7qg:”Ó6ÅL·ŒËŸ¶µÛà:u Ûn¢XÁ+l3ÅoQ=¼žþÌÀ-“PÁ•«›v]z¾ù ÑZõ(§¦×{’¹ò"/òUÁ§`šZkô •| ¡YpŒ;‰­È¯í§iË“ˆãjÄ=r•+ÿöt]¸˜K¿Ýµé×zEnc€»Å«l5§Üø­š¦˜aK&ê2ÇîR¬fI>tÍÜ„›a\HxJD«¿Éx*5”~üUFíšžo᪪ Ý<ó“š<&8T¯‚õÌ}œz„¯³–êÈo]±§36‰ÜՇЧ\¦Õvc­wk:thG³j.X¡W=Ö6dB¨âQaŽ•yƵG‘ËÚEa󑿉®äviA»B‹ùcËÚô,ÈË£ËÙ-|˜ç‘KkõÖDë‘÷úìƒaJó!Ä»UMÅãˆ?øyñ6ÎܸËÝ{÷xòÌ ©2ulПãìÙ1æ1Ïã5`õ‘V„y§ìè.+Ö” Hõ“hîB¥–íèØ®~néAÃÙ5³˜t”kwîqïÞ#b”OÊè8ªÇñ+ÿ;e(ùN^ˆÅ²Bu³´ê²Ž<ÍQ–65Ìè´æ(Ïëù‘¾žÛE;Рá#ÖÍ "<ª5á¬9gEÑ%±´=¯Qßs•Ù!#I’$IÊØ‘NG¨ºŽUKç0µë:–6_žŸ¼08µœ­QÎLðÐrª~È“½Ê8ŠY¼~3–SŽ¢.3²ï¬T+Ô‰¨Õ‰Äi›¢ DʉOz'ÐxU¥~ĦÞué}Éi¿-¦¶«5Æ—ÆQ¥ñ±ûߌ7Ê£1üp̆ªåc :6»&R)ç§X÷íÿT'© WCmI©´ýb c,óCô'A' Éj0òü‰³ªðV2åÀ: (@Ý©;©Òy?›‚×8±%ó&Wgò–¥tp|õS}€áõÛ³Ãm4óæÎ¤T~3î/¨ïŠŒ#5* µ‰ßýß^ŒÚШ:Ö†¹>Sd>½DÆû«Ð³,‹$bÔ¨“³pÑjœ“¼VÆ€!ÖÊ\i.þ 0³vÀÑúýŸ¨ÕIoujìè¾j5ÝÓ^z*0Íų Ú5=‰Œ9ë£:b7 RëÏ ¬¾exÐIZÞJðú?ù¥ƒ7“Ë &xõÜLô¨ÇZfÿ†ìœ!VßtR%§ä¡QAv.ÎÏ 7r£S{®/ßI­å”Í¡ýgB¯¼×c^gÉ;Yn›.&oÿ¹Ìœ\»œ/ÙÜ´£õÛ«,$ÅÄ’¬ÈNóO¸<¯Î²¢À­7‡qrÇF6¬ZJÏÚÓpîòÁã*k™B¨âÖÒ6ÔŸð’v³~fLµBäá(ÝÜ; ë¡:_ïj’Ræ]eaÇõÉÓì”ní‡Eǵœx^ž„õ×)Ò܃|Ê8*gtì)ÕXÇÙÜ YÌ,ƒ-ý’kÈH’$IÒÇ`˜×ùáÏf—‡G篣V}óq9Èaòþ!WÁúóÙ¨ÔÈ-õ6îÁá ¸5©Hîw~b˜Ó‰"–ÑDìüûýE sáê–Ä3;¹˜æÖ’æù)vü Žž…Ð÷4GahŒ!’Ó^°¾8Ú}‰T?¶åȓà ãO|¡ºÄàÁÛÉ?` ‹~ŸCˤeô·7uR=hÝŒÉ_ÒƒçG9òÜ›ÔW|X|àí¬,uHåÆÅÉÕ…ýÜ5Ëÿv\Ö90zsQdHÎ"Þ´:‡ðe4{™»êê[ ~-þJ0;Ÿ¸1lj7ª8æ#§¹©^}w 3;ÜòõÐËZÛ¼Ë7¹L´^›Ú•AÉ5vÊxATmô)†ùñm[‚·rpónÔÞ (b ÙK7¥lô¶…mbëÓ²´÷Ê›å`}Ó+5‹M(PºfÃÙ™fm!Õ#‡Þ¨p%ô¹#m`‰‹[žíÛÄù¸Ì $®/ `êý¦LìYˆƒ£ò×mÝ•Áв0E­Ô\Üq–˜¼mª,-w;DÞ´eÖ¦y²dÜ®( 12|u‘™Þ6ìËSÈà{"¦égKâöþC<²(NYeÖŤ+ö7´Ujs<›Ñof᛺‘÷äžy‘‰zü6ã|Îäã1?ÔV“Ó„òü4!—ÀÚÍéÕC øu£Â£5¬ ßŲˆ4hS ‹t~¯WÞë¹ Å»I“DäŽÍÜrèÁ”~5qý&¦†iÚ †Æ†h⟯£‘x;4Æ NÖÒ™¤âÉ'Ç™ot ÁÊrã¬YQ˜ lƒžLZu}#‹puÙlEkÙ®ú1‡6œ&G“ÉŒhä†Ò*ÙÒ+oÉÂñËøJ:š}d/72½ÎŽ®Ö^q¢™g Œlñm`͹õûØ»æyü›RôÓ<ý«&;d$I’$é¼8·œÙ¿o%üÌe®_>Á®?¦óÛ©xw÷£€‘!–ödW…1jèvŸ‹äÞ³¿ü 5‚gG×sÚ MÊä|sòòòò&öÇ¥‘gÞ÷µiáN·öÎÜ[ØŽNS×~ù.w¯žæäX4˜Q²kJ? ¤×€E„]¹ÇÝ‹»ùí»l3¬Ë fõkb킵æ"«ƒrõêyÎÞˆEcœ—‚VÉ[Hxä}þ[ƨïÿâɧ9¬Šä¯þÃØï0„9½‹caåŘ_Ú XÝ—!ô¾{¯u_tþÊ€¼>4ÍwŸEí;1ií~N]ºÈ‰Ð V¬9ŒŽê¤ËÐ"ê«oØÅÞÐ<Îô”ïÝBÑéÙn{ŽsáÒiÂ6¯äÏÐ{¨€äÈMÌ]ľ¹v퇶ïæ|Œùìrj}t«±•ù4 \ʵ79¼zƒçÜÐ}Ÿ4[qÚw/&|(­-"äð9.Ÿ 'ä¯ål¾©}QcçæôôP³wPgƯ=Äù«W8Ìž;z"½ÊŸ!ßx·Ãíö<&ü‡—¿ Ù…eYš•ºÏ¢‰¿ó¨|;*çÍú鯮ôR˜äÄÒ(†ã·ºw?ž«±¬@‡‚×ù©ÛpV¹ÎýÈ3l™Ú“ÑG­i5¸&Öz…c†[ï(µŒ®½aë‰ëܹy†}{.“AN¼²ï¦=¤éÏcé0t.ÊaL¿?¸™Þʱ¯™—¦k'ž®íEÏ™›9ré*—í`cøÃLßC7²kH .OiMÏY9tæçìb]àÎÅ í`˜ G¥÷wm`ß…k\:s‘Gï1Ck?ú7±âø˜îLÚxšÈ79¶z=~ºŽk÷<Ò òÁ±˜“Û\Íý°l åàõ8*†.bþê==•ë³3äȃƒ•1úÔcm 󖡪ýKΈ|»sU<àÀ¦Ýœ¼|‹ALëþ›_¸Ñ­cq^_Ûä­Jת±,2–ˆ¼MiY,ƒ«^½ò^}P¤NeL³XÚåÇ 2ˆ¥[/qÿö)6ÍÀ¤Ó¯¿c‚²BI,"ÿdæû8sá4‚2{Ýõ ë“·p~ĵ`‚".sõÂi.¿~¼–æ9ÞÆÔÍçôv[k>fŽÎ²¢‰æøïsX±#‚3W®sùØn¶¼¹Ègª¥£ÅÀœ¶æ<Û½„õ§îr÷ÂNæ Ah²®È²püRäâÛ>-)pgæ³ãä®]Œ`Ûæ3é/Vþ†®<}ż8-êY:aÇšR9`Œƒ_,Nbâ¡<4lR$ËÓÿÍd‡Œ$I’$e™Š§WN²mvÍëøàU£ £VÇà¿t‹›*1rxMeÙÐX™J‡ZÕ©×mKàê–=ñm?’;ï˜8÷à¯ÔxºœÞ5+PÑ[L;óǮߨ§õiÚ™8w`\g'NiDµz]™rd³R|¿t ÕþF3ÏJ4JÞößáfþ)¦%qý÷¾Œ>âÂðßzòP%,+â×vfl8„ ôã¬Ï¾èñ;ƒ\Õ˜²Šá^/Ø<¶=õ|ëÐiô"¶Ÿ‹Bçùp:ÌJt!ÀÛ€-#»2`Îg¡cǼô÷lÚ4 “ýLïêOM¿Ö ý%ˆ÷S.^EW‚§Ð³q ªV­EÇã<øO–¶¶ÓÚ!gìÜù?6‚U©Z¾6שñï_…œ:‹‹1NÝþbÇìŽä?3—¾MjáÓ<€âÖ‹tzŒh·|;3›™²ë‡ÖøU«C·_/’¿Œ5:Ç/èYþ òU¥m™x" ½hTôÕ˜0E.*4+Eüm5ží<±ú€"«3½²W ïr<@×aË8Òá0bs0cK]fvÇj”¯Ü‚‰ö ]ÂDÏœzO§1.Ô‰e«GRéþBz4ðÂï ND§ßÁ˜p‘¹}~"ªù,¾÷Èiºþ:ЧÆÓwé52~˜)Åú¯gÓ¸êD¯Bßj4ìÈ£"%É•ÙbFh¼`'‹ŠsgÅPZÔñ¥aω, ½JŒZ «]C‘ ¯#¨©¤sM_Z \¹¸wöÚÀ ï·³¢o~oŽg¹jtúõå'‡4°„Þ£3»A^j îD‘ksèÝskÿ~µ®Lb$»fGs¿jxÕhɸ9è²h%.)%]g=ÖÆ¤ ¾UóqoO÷Ò4ƹKáx{ }ü«R£ÅH6%ÕbÊ–ÕôtN35EaIÅ.u°x‹c«&8gXáôË{}öA¡à¡,†h<›9]¬ÙÕß—ò>ÝYôЋëWSéäöȬ®Nœ˜Ô†:µ[2déy¬¼ª`ýzw´Õ1 ±ñKÿ ˜ÕÒ‡ZmG²úfJ·•x~œàs¸û—"{ºSzÓÉÇÌÐUVüð‹†´¡®·>±ú¥??­ùòæZþOaIÕI éWâ,ãêU¤JÛœ+ÚƒNz ©ËüñKAŽJغr0%o-â»úÞx7ΦäR¸d×Õ] +O_ËFѦõÈýðWáõƒÒL Õ¡f®G<)И†NYÉöo§X¹r¥Ð$ÅÓ¦CgbctOˆZ·†ö»}†Ð$I’¤¯ÝKѨió ¿#„†¨¨(N8N5o_­ß Ù²I‡$I’2)î@Ê´~Èg‚ðÏý):G¥¯Iâ…ÉTõÛB£]ûø¾hæ.^“.ÿHõZ»è´]þ+ˈjxÔïÍ™søwjË:"¥ãÝóÙ uk(éV c õ¿¡uìÈáL'ª„!#I’$I’$Iÿ>/¹zŠV…±1“šÿ¦.mèêv?~;À³L áxÁ™e+¹ïÖ‘:¶ÿ•Î ñ2Ë~ Dzq/ªÈÎé+%;d$I’$I’$ék§zÄáM›Ùwú*7/cËO=é¸ð!½ý$éÿ—‘=-F·Älÿ*Žd¢GF<;Ä‚àhÊwô%ÿ'|ÐÐ×&ñêF¶Fy0´oYíO~“¤¯À¨‹T’$I’$I’þDüm­Á²×xšlAþb4›·›þõ ë^ƒGú?¡ GÅqìŠ0Æ*‡¾÷ÕÕü³c»T•™W-ßên¼i‰¡„|‰InyÉ+}½dé”$I’$I’¤¯œ"G9îgЗDú² ̰ÊÔS£ )Ð2ˆÈ–Ÿ* ¯™!æ¹³øˆ-IúLþK¤’$I’$I’$I’$I_Ù!#I’$I’$I’$I’ô™ÉI’$I’$I’$I’¤ÏLvÈH’$I’$I’$I’$}f²CF’$I’$I’$I’$é3“2’$I’$I’$I’$IŸ™ì‘$I’¤O$.¬+ÎöMÙû¥#ùÔXQÛ×Þá¼DTþ¶Ît ‹ûÁ$pztl«Ïå¦êso[Cì•­üÜÇŸ*î.Ø)•*U…ºíF³ùÞgæÏVöüé fþós,ŒÜ!òË%Ù‡I†éÅ!/xù¥cù?"÷Pû—Ž$‹’þáð£h[£"%•(m]©àÛ„^¿æÅ—ŽícSÝdnu[ÊŒ>MÂ'ÜŒú”W€BË«R htýÁ«ºZh8oâá[#h·ÿþ‰|ÒØ“î°uL*¹Ú¢´/Šg«9\NüÛù3úÒH’$I’ôï§ÈQžÁsgcêší“nGóh- ÊŽÁqÍq~©dñê]c 6ŸÂÜêŽä3ü¤›‡ öä ûÏæVñFt hGQ+#¯qíq~sËÓ¬¡ù<•P8«~éh>“$˜ä‹Á¥)ðik“ôI©î±þ;?¶šQ­S'Fô±Ã4ö.ׯE"ŠÀôKÇ÷´¶Ã†ù¨1z.Nù büb¨úÌôxû½œŽr´ÁÇ£áѦ~ô\r—ÆSW²ÄË£dsL¾t\ÿ䙂$I’$IÎÄ–* l¿ÐÆ ÉUÒŸ{³šÇì˜ø+¾'tc.ÿæ+,I’>ª„óó™´UEÝ¥;˜ï—ûÿ¿£@‘ÂÞ (ü™6—»”-û™6öŸ¤&úÞ°kH÷æ^“Ç·Oæÿ¾m$I’¤OFõãZRÕÍ¥R‰Ò¾Õ;ýÄ'ê ¦‰9ËŠÁM¨RÒ¥­+kwgvØC’_}Ö•âåz0ytj•sÁV©ÄÙ£?xBê? ^\YϘæ•)æ`‡SIOj7õÇݹk½?h;þôÊ:Ôdñ[sBTÜZèK¡ê¿q=ù½Ÿ¼-é¡?w£fÙÂ(•ޏûvbþe‘Í;S–¢·6ÁÉcÓ‡6¡ba%ÊÂMYu/%zõÓ#Ìé^‹r…•(Ü©ÙsQiâ ÜÚ:¶>åpµSâX¦í§EpgKìÜûsJÃú¦ERÒüÛ™\IzÊ’®4QA4,R…AS†ÑÖÇ'¥¥«]œ&Vç˜÷W4‰ÄÅi é%ñÉ"ãï&?`Ï´vø¸B©,BùúƒXq66ux½Hàfð(šy•ÀAiOQÏfŒ ¾ÎËtþV}˜|q/l‹R©ÄÖÅ“–ã·qWG>&?<Ào½êáYÂ¥Òw¯&Œ {ÎëÍèJ·ô$ìoW0Q€•#tžOÒ5WW¥|ÇXVÎмHgÿž­ÃpD+ª½š’P.è3\>¦»A…ï I©”íå, c¶ÁîÙPI™òvUaÓ½LĨs€ŸäP€qn(ÓŒ·†ðÇžƒ!þ`c c(Û®Äë3 º ¥LaÔ¸5Ì^MÃXü:Æ$Ø:JHyß¾,8‘2EC<†Ê9 Ëp¨]Ì °„Æ3!:MyŽ: ]ªB~3PdçJð×ýâËrºf·^é*àæhé9 ÀÀ šÏ†˜Wùr,¾ñƒÁ­ÀÑ*e6ž°þö«<Ù†°îijHñ'ÀΦ\ù€ýÒACjâãtL£Ñ{>þ *áj«¤`Éj´Ÿ¾›{I©ßÐÙf¾÷—q\^7†Ö>e)¢TâPÌ¿îK¹öæ?uo“äØ?«µ+ÃAé€Ãs IDAT[õ–Œ ù‡¨­é´Ã/ß²$xy-˜q­¼qwR¢t.ƒO»Il‹LxÓÞèw¬Ë¼k¿Cç”öH¡€oʬ£zLgÒCFu(Ãíf¥œÅCÿ‚P¥ø:ƒ²€63@Çi†îz—¡„÷.Iµé×ÑÜ™CMG%J¥’Z÷SòEõ˜ˆy}¨W©(öJŠ{úÓoÉ ž¥‰)£sém²CF’$I’²Ja„Uñzô¶œÍÛ·²ö·.XG̤ëð½xZ–솓{Àë&´ïõ½ÏByÑÅܽ•¡U©ÝsEÜæ…–xTwWÑ©áx®WÁ_°óׯÄ/îB—%×SÚjmæûâ¤I¿ ÌZÌ`ýþƒì\ù#¹ai ç6Õ é[ƒÖ‹cð´€M¡;X6¦#5KæÆÊG¿vXuk9íjôa£Y ~Þz„ˆà)ÔM ¤[îlxZ#të²Â´´ûvÃ;¡ hG?p']uHçv³RÎTpâ»|ÉBqòØqîÌ)qñüY½_™=/^¹r¥#d$I’$é$ÝÝïƒÚÓ¸VU*”,†ßÜ»œˆJë]Ôdȋ|•ñ)˜æV¿Ñ7Tò-„æÆ1î¤3%ÃÐ"7æj’ÕDW#î‘«\yò뽜¶õ»Röñ:V_Jâ¹´zOÊuÄ7¿!˜¥ïê08ðæµoq l þÆ!nàLÍry>phmw"ÎFï²…pppÀÁÁ­7«‰áAŒMôeŽ>Ì‹—wÁ,.z™õ4Æ0;Vf¨“5èy0$‡k-zÏØÀñkÇÙ<÷;Š^ŸÇw> ™~2$Ü ãBÂSÖµ*ñfŸ –íÍau"Q_¢yy…}WUÜžS‡"¯>wpªÂ¸Ë‚èû1錮Pñ8b)#º4¥nuJû–ÑA•¨J?ölEé4¸–›{P®\}úÎXDZû¯§|@ºiQ°Ø&ÀÁ[À Øq nNƒœ&`b&æ0ð<¿£ßè‘e˜²+ !ÍÆ²çE$iô‹1o-øÞF•ƒ¢u`öx–Qð†/;¨’ÈDyÒ.þ*œ‰‡Àš¯b3S%„©áñÃt¦!AsP'§l߸Œï‡zBwº®}àCÑt¥«>qg:]!ošýÒ&{^0Pƒ:‹ ¯³¼èIa’ŸŠ­F±$ô÷­`r}CvŒoO¯uÜSªÇœ:òª c¨âôªî;¸PwÑ}DÌ}bTºÛL-[%wõ!ô)w—iµÝ¨Ún‹w_!úõ¾èÜ&Ä_?ÈMSwjÏA–Æ4hžsñäCLKÕ¢DšXVe©í‘‡o¥;ºã­c]ªþǧ¾Nì‡2f)Ÿ‰°f4ÔúŠØB^oˆæíüÌ ]u(³ÛÍR9S@¹Æ`—Òí’¥öBÛ¦¼êïJ}/ñö®ª RÃ3šÅhMp¨^ëø+œz çSé ¹¨¯$I’$e‘ˆ>ÀðúíÙá6šysgR*¿÷ÔÆwEº¿@dtŽ©ÐóÔW$› FœÁÅ·†Ö>t­<†«Î3ÄYÍŸ›c©4¹*ù LÉcWˆ<Ú~¨NNY§âC¯*u’ r5dѦ‘”2KóÂË|ƈlj¨Õ‰Ä¥3õJ·”ÆY ÈV€2þýYPÕ>•Ú±tþi¾[X…: 5vt_µšnŽiç†)0ÍE¼•ŠŽÚÄïþÖ¤}P”¡y^´Í(‰?7ƒÆM“·ÿ\fN®€]ΗlnZÑFhŠcëy„ùõf÷Æ`Ö,Lß§ÑxÁf~®—û£§›’T 4¬·é°±%oïŸäÈô?|úĨÈS@×ý°jLªÃ<ààn(û©Ÿ<¢Né¸úyû£lyÁ@ŸŽ#h2|`Í*˜?~sCï"ºž%ºâÈ ]Ë|ÄP>Fû•uFX®N‡‰•©b[‹*æ±ånCzØjHVƒ‘çOì˜U…·ftåÀ:\ÔÑfjc`õ-ÃNÒúðV‚×ÿÉ/¼™\f0Á«àf¢{›ñê$TIâ³Ü ‹”cSz͆Á‡·Ãé.꫆խ ÕY˜ÿ'4.ÆçÀÅëƒ7™qrú„Û}‡IÊE¼QzwHô©wzogˆŒYëÀû“#d$I’$)‹â¯³ó‰æv£Šc>rš›j=ÏL=1¡@é"˜=g_dš»HªG½…QáJ8èóœ[K\Üòðlß&ÎÇeâ*C‘›o»ÖD³=ýûÙž\ŽßZé<2µ+ƒ’kì:õ‹"“¿¤=Ïrä¹%666©¯ù°0ÜN±Œ&bçßh[ Uah„!’Ò](å#¥ñ*Ù¿É`ª,-w;DÞ´ûlS€<Ù P˜Ùá–®…^ÆÐÚæ­tù&—‰–üI"rÇfn9ô`J¿š¸~“ SC­ù¨íÜÙ(OIjuÍÒÐ~®ôˆ ³·ñ@õqÓ-r7Ü3€òö 0‡²J¸’²P¯]êË&÷Û×liÃU¦tŒ$}†!4zÇhNÕaÔ¸Ö‡á§tÖÁÉZ `lêwn2›Úƒ°ëXÛ½_>3­ÿ”®\Å û8~Z˜¾$ƒµ(>ÞqÂtU‚¡¢>pýC JVƒ"'yÌ À(7.N¨.ìç®Yþ·ÛDë)t·™é20ÇÁ³ýf¾©yO.`á™zlLmKc£:Ï֓ϵvúël‡ sáê–Ä3;¹˜¦³Póü;þGÏBd²Øê/–í¿ÙÐã[Èg &Ú®xµì˜¾vZë¾ÛýPެ‚{pOs%m쯽P¼—(¦öå)dp‹=ÓŒnLâöþC<²(NY¥|.vfÉ2’$I’”EÆVäÓ¬#pi(y¶œÉsn rz`h‘ õ1‚7ìÂÔ>7%¼Ê’¯R Öã§nÃ)0£7UóÇq2p£ZÓjmM¬ @÷Z†f¸õøŽ²«ÆÒµ·5SúÕÃ-wçö\$F“ñ¡=G™N40m̰a k¬¢¼‹ì™87§§Ç†êÌøäá4-—ä[¡ì¹# ~i•€¼>4Í׆Eí;a<®uJäCóà —ž VòZ¸Ó­½3ë~iG'Ó±4ôÀÞð (í˜3%N–qì]Âéü%1L°À©xÞ·¶b©GëãʼniôyÒÃ! ¤–ÞU$‹›4&Ðô[|*—ÂÙ&'êΰ#ðwöªª0µk ²Ø5¤ÏÏLiMOÕ(ºT/‚eÂ].ÿ‹KÃF”ÌQœöÝKóûø¡´Ë÷­<(dËÍKWQUlEýBïžàbi—ƒÈ –n­Gÿ² ÿëG& |õ meOu™?F`YÆçüæÄG†z]…™[~, ?,ÝÎÃÚPðÌ7öÀÀ¯-Ôû0€^R¿ôë “º‚³9\; ÉU yá”aúê«°r”Ê ¾ÕÀÔ\¬ d9S‚a<¸” ’xö0 Uö|äËþ‘NeÍtÇx?Vþ¥!Ÿ‚'­ÃÊ´Ñõç"ßä5Ó~WÔŠØÃͰ£RA¾’P  « í†C‹d¨ Vñpî”hîzl=é:ÌÚ ¥*‚ƒÜ=§žCþ‚)"9†ÇOÈ–79?Î}ncq—±üéš±lNPÒ¦ÿ®½Áôì\ w?dÄŒ*’5ÃG±Å¸ӯף€–b{ ?µ_ŵzUÊ/H>£®‡¯gɆ«8tZ‡_> å{w ÐÖ¹ôl—‹±SÆÆˆ¨k¹cQ•ÞJÝm¦á{Áñ0ôw‚;R¦¸=y žp&äȃƒ•1`¢s›&…[Ò­ü\Fwo‹ÕØÁ´ð*‚ùóû$Ù»ãšË…¶vØ%m f”ìÚƒÒ«&Òk€³×ÁQ}‰ °Í°. šüt¡&àœ–ÿ{KÀ77`æ@xô:¿ !ov¸³ ‚«B>GðÎVƾB @(ûý¿Î°éÚîxr¶G@©¼pj%t „zËÁ-(µÄ®G½Ó]ßoF¦ÝCk?ú7™B»1Ý™”s2+Xò(lC~ºŽkÀ<¾†!ÿ2r„Œ$I’$e‘±s7æÿØVu¦jùÚ \§Æ¿r¾:A6+Ñ…o¶ŒìÊ€9x¬,ܱ9˜±¥.3»c5ÊWnÁÄ{†®a¢gN½‡ûêIJÕ#©t!=xáá׋'¢u`1+N›JžDYQ·]i­ÓaÞcä@»åÛ™ÙÌ”]?´Æ¯Zºýz‘üe¬Éì½0ƒ\Õ˜²Šá^/Ø<¶=õ|ëÐiô"¶Ÿ‹"åÉÑÙ(1(ˆà¼‰Û8š–>ñm?’;ï`îN¿1Mɵ£u½Ñç—CD½{—ö#¥±êŸ£ìØ¿‹OÒ{è³)Îujbÿü0«gaH¿!L_uUÅA,Þõ;m^]r ñ‚,(ÎCiQÇ—†='²,ô*1jãÔí/vÌîHþ3séÛ¤>͘ñ×!ni{, †h<›9]¬ÙÕß—ò>ÝYôЋk^O`ÐZöÐðüôŸŒîTŸªÕ©×{·¿ý5³ýÈ­ø€tS€“'l¥ŠC³)à<Ž/‚<¯Î4]ÀÉå <m«‚›7ŒY ×_Ý=wnm¾‘Í`äH°€‘3 ÷F¨PZO‚Ç*H¼8“Úek2åÜÇס+F`óDð)®¥aÀ&X#Jè¹Ø†U-G“%·Ò_7G5¦B4tßÎp20‚6k`ÃH¸µ|ËCå07žëû$YVAs/(ZŒ× ¨+¡âv`sÊTÄè8·GŸ¸?4]u…àKA®P½,Ô€[Îà¡ã)qRÇre({ÞHçÑíÈS…åLù{Ǧ @¿qóÙq§Í§ldó¸JäxU¡ÌKϦM“ð7ÙÏô®þÔôkÍÐ_‚8q? ú´™Z$F²köw4÷«†W–ŒÛ™ƒ.‹Vàb¢×61r c`?5ÍÆÞiñ«äEóÁ¿°ñò‹”‹s=Úaçü2ƒO—Ó»f*úc‹igþØõõ¬ßëEúxÌabøÝogðêÖ½ ¬Å«Ï  þPü2´j\MN5žÍ‡Æ=áè³tþ;£:¤k» öŒm…Š@ïõÐ{¬m÷jd…¶ØuÖ;=ë»âý2XáýãvVôÍÏ¡ñÍñ,WN¿^£üä‚–øt#Ÿþ)V®\)4Iñ´éЙؘh?Z·†ö»}†Ð$I’¤¯ÝKѨió ¿#„†¨¨(N8N5o_­ß Ù²I‡>‚¸=(Óú!?ž Â?wz—Ï*îþá×\O6íI‰¬­œ+I_È Ž ñ¤qXsv„ý›Ê¯àé¶ŽTèþÃmåìÝwX×Çñï²4Á‚ •EE{E±aÅc‹[4*¶˜ØKb4–ØP£&vcA ˆ{7ìÅ^@:l¹€Š Š Ë}?ϳϽٳóîÙÅùí9gºÚ~dƒÔ“™ìîÉ «84½ÆG±®ÿ÷âÁ×6uÓcyÃ…îÓ!ï/xþx6À5¥]Ê`dlŒZùñèáC¯u\œ¨ÑË!„âóÇ…ÐãÄævÄ*ÛKÆ€$]dõüS(_´¢ø's2+D }äAl¸G‰Îmqú”>¿Ú[l¿ Mµî4±ùÈ îŸ%,¿bE«.ääLˆÏœü½\>¾o!„B¼šæ‡‚“PØ [ÓHNÍdø¼Û¸ïöì•8žwrK¯:Ò³¹=é_ŸCˆ—Ê¢óÏF|è2^Ÿºm®ÒæCב³òã91þC—!„Èò÷þq‘@F!„øéãÿcÿšÉ,Ú{Éæ,Y…Vs¶ãÛÈ1ãu]ô‘ø-€û¥‡ám-‡âí½Ç«ˆ§+3WAÉêš2#³WoùPµªýú!|ØËg‹ÿËÏá80÷îžN>Ã9B!>Aª¸t7_«‘uæ‡óßû*Jüßùì?Æš2ëc®ýc®MüÿÏ¡øÜÈ2B!„B!„YL!„B!„Bˆ,&ŒB!„B!D“@F!„B!„"‹I #„B!„B‘Å$B!„B!„ÈbÈ!„Ÿ•ÂF”£pÝE\×|èZÒ¡½É²Ö8õ:@쇮åI„Oª†u¥qœJ|óg‰ÙÓë¦Ü—k³ !„âå$B!„xGLº3}ö *æP½r[Ý54²)A߃W4%„Bˆ¬aø¡ B!„ø\ZV»ɇ®B!„Ÿ!#„B¼}ÂU¶LìL½JNX+Ö8Uð íä“ĺ¨CLþª®ŽÖ(Š‚uñj´Äõä”¶1{ºRªBÆjIeŶ, û¯àïãLèèF ë|³ð41z=›S´ro†÷¨«‚bíDõ/Gx9—O’Ñ}j)¾Mªâd­P¤tm:þ²ˆ¤—¾8®lG{Ï 8Ù(Ø—ó¢ãăDéRj‰»°žÑ_zàZTAq(‡g‡Ÿºú\I„þÚºåQ{\ëtfn¸þ…ý\^?œVnÎØ*…)Q­£Ö_$.ƒôò~M lDeÊ´ÃØ^M©Z¢0ŠR×&#Ø‘f—>Ž ¤½{ì…b•Ðwõµ—ö¡æÊ\<‹y2ð‡¯pw¶EQlqöìÂäЛ<~æ¦,eЇ×6µÀÆÕ—ãºG¬mY EQPªOálRÊ”3Ïù\}R®†«ó<±vÊñx€Xô*k— Œl_'EÁ¶î4“Þð}B!Ä!ŒBñÆ93µ _/ˆÆkÌJvîÛÅê™Ch[9F€Ê uº1n^ÁÁëXпgû†¾þ7Ð>~†›{ø7;¦oÚM°_#bV¦q§UèÿÌÚ!ÌÿRŦá}Yt15ÅAOÂõÃÄTÿž…[v°iÑ`*D, Wãl»§Ë°RÍõ?éÜl,+ eå¾ÃléCü‚¯ùú÷‹$§ß‚ÿ–w¤N˜6ÅÂàP6ÍýžvE17Í•ÅtðêM`¶/øuóa®ÿ拉tóêκ›©I‚ö[|ëÑaömj ]ÊŽý[Y8¢-ås§ÝŽû[ûÒÈwö½þ`Çá],ê–‹u½Û3åD\º•½º_“¹w`?‘¥¿fʪ­„¬C•kÐoh÷u_[gê÷\MƳf×~6ÎL3§ì¯|Çõ±g 3lÄO+·±=`6=Šœà×Íw$:0'ã>,PgG‚FR’ìÔŸ»›£Gr, ;E_YBªdîìÜIBí¡ü¾n³û¹‘_ý&ï³B!>™²$„B¼±dî]º ¹ëRµJis«ÁΗÇç(E³¥žlíR²7Ö1éÀU¾´J¹SUŒÖ]›Q%¯ Šõ¥wÙ…|Ÿ·+ß¶ªN Ä·¾Tšÿ-û.Äñ­CΔ6jG5¯MÙ@q'JÕr¶Æ¦ý€gÇ|éÔ™À©ß¦rÔþ{ö~ߘ†@‘îŒh»”†+6r¹«/ÅŒžk’ø/‹f¤Pÿmøõu€â”L}¾°38”«þ3zP5;€5¾³åtÕ®L_}™&ýQ][ˤÀxÜg/`xSË”_lÌ©X`(!Oºð2+'†³ûfƶqÆpè0‚¾Ëª3ëÏ3 *[lÏ•¦zi¿æIÙÆ®}º5ÁÎÀž~íæ±áÏ#\Oò&¯ê §ï#[ëUÌñ­AÊr/Vè]r3þì«Þs Ê4ö¦š³PŒ.6<ªÝ€3÷ÒoICžÉS^Ú‡P¨PL 0ÏW++ó'ïU¦9~IßN ±~r4—@Øë¾ÏB!„ø`$B!Þ˜9úÀý«ŸhíLÕ6èÔáK깤Œ w.á×Aœ¸tëÜ‹3;MúSc ²‘'»m¢öÉ]*ãœXk¹Ÿ¨Íp:¡â†§-,:AbzŒæ.ÇßBsz$5‹Ž}r·N£AŸï4Às'꺨pŽÜ·›G‘Ô !탑œùû6&eêãœfP‰Aîò4(Û]!¡Ÿ#\ÚÏ%øªBÞŒ‡äÆe×y ÿmH±ß/„«G£Ñcdõˆô/õšýŠæyÌ0Ð%£ÓƒîQ8Go¨)Y·4™X{÷åL¨S-7³âNrC¬Ó<ôÒ>|Þà}B!ć#ŒBñÆT˜»ôb顿üȺ?ÿ gƒ‰8|½’õ£k`rz2>-Ïw6SÆWÂ&gbÄ;/ÃCP~¾ #Y †Õ¦2­&9Ónd˜KÓ[赉hµ‰Ä$¤3 J¯O >2 3 RÐ&£KÙYCF!„xK*“B”oÒ“ŸþÜÇ®aÅ8¿h:û£¹²ü¬( IDAT‘+¶=ø¹_]œ X`n¢Î0Ãxšë;Ø|ɧêiGb蟎1ÌCñ¢æhNïæz¶‚XYY=½YæÀ0¢Ô9‹R,W·ž#þ…-prÉO≭œ‰yz·.ò8!çÀ¾šÙ›r(\`Û±ûdI¨²ÙàR.„†£¶´z¦¶ÆéôWÒ[÷«:—#%rk9r’G/_ ùÕâÏ´ó.9ËTÂê¹Ñ'/íC@¥6DޤgÒ!j#5ºøÄ¿nŽóï³B!> d„Bˆ7¥‹âØB?–…äÄÙ‹„ÝÎæ}7À–ü&†ä²)ˆÁÕþØü/7þ;ΆÉýù)ìm@{=!û9}õg,cHçŸ8eß¼òa€ó¼æh/o!`k(;FD*öú »¨@zvÎÒÇ8ýo{6®`yhDúÓ‚Ì]éÖшyè<ÁŸá×¹~>Œ¿/E£#¥»ö ìƒ¥|Ó>{ÎFpýÌvf}ÛŸ µ7[Á0vhMÏ*ZvìÂØ5û9uþ,ÇC׳ãZš>0-EÇîeÑøŽ¶ç|èÂO xåb6^NïÒ@ê·ïW³²tí\œk¾¡ç”þ÷<áGCU6…¢¹b8¼&˜° gùçÔuâôÆ(•Jc~u9S–ìâÄé0ö®ŸÇtÿ‹™¨íÕï³öîvF}Õߥ‘ / !„–2B!Ä›RAòíýÌÜo7<}²*®)SW¡¢™šB>ÓñûÚ’m¾u¨èÙù·ÝèÛÔò,ãq—ý ‡Ñ¶Vê|=›‹~bóÆïq5WFصìOþCLìÑ› A×IÌÊaÆŸhj¼›_º6¥n½¶|7#€¿n$f0zÅç¬ãALàÚxV¦NÇaü¶õ‰€±CVOÆëÁbzÕ­Då¦ß³É¤ K¶Í¢‘eêÄ#C[:,Þ”V&lÓ–zµÒmæ –³L³ø­E»­$dz' ž˜MŸõñlÝ—É+÷s%6½ÊÞE¿šPÒw-F»å?˜ujÓ¬ßRî+Å+'skøoÇlúT§ZÃ~,òfÖÖ•ôpLïòH/ïCÌ\é7²%!ýðöhNïû¹¯U‘§ÎLëZ”¿~jGÃmüÇ)r»ÕÄ2/ðUï³>þ û·ïd×é¨w8mK!„oBµbÅ ½.)žv_u!úQÔ+ø¯¦c—nYPšBˆÝ’?æÓ¼eë—n£×ë¸ÿ>Çÿ:Fm:én¼iƒ|eŠžÍ)Ý'‹OÿI†dˆ÷Ise.u«Ï¢lÀ¦V2ûÐå!„âxþx6À5¥]Ê`dlŒZ­~IËg=|赎‹5z!#„B!„B‘Õ$B!„B!„ÈbÈ!„B!„Bd±W.]'„Bˆ…ŠJÈ!„B|ŠN0º‚‚¢¤Þê-äZä&øYÅc zÏûyÃ}¥m§¿ÇŽq}ºè"š¸ƒô+õôõضä®î½U/„B|pÈ!„ø ÄqtPiEÁ¹ß.¢Òûµ^s…ß½mPºî‰yîA-‘a«ß½!lQ…¢.Uñj;„¹[ÏñHûtËø¿†PF©ÅÌ‹òsþ+io²¬5N½›É& 'GSAQP,ã¦öÕÛg,ším_|¿5×Ùâ7‘ñSVq.ámž?s4WÇËÚ߃™íÌKº²•­·­é²`ÁÁ[ØñÇX„¯g_Œ%žÞE1y›'×G±­³#¶-ü¹“A({êÍö•¶qäQÖý­¥hcw¬ÌŠÓwu0Áë&PÛÌ2>•É#GªB!>cò5'„â³òÐ Ï%=w¯Ž¡˜–Þ™eWþ쉻w–Ýt¢ÃØy¬\»†yãzÓØî6A‹¶qC“•‹w.½`.)‚-³gà7uçß{ £åξÎf¯AsgóLµHIyOæ]yÕ‡Nõ훹fÕ„/<\qq)“¢âÂÆÝDZ¸Ñ¤X¶·+=æë&âìS¼é-Æsîöõl»è°Ž$¦aÂå¡h)Š™\àl’Í«çCýv¯B!„ø¨~è„Bˆwƪ.µ“·2ëÇ`Ú.jŠåã³¹øS̽ƒÞØî }¦Iâ¿~|=8‹+ñV“¼OΫáÙ´=}³²~ñyÑÝç`À?WîK™ì™iÄåíܱmEmå‡hšìÞp‰|ž (údxJ6\Ç'büÛ• {f=ûbŠÓ¯†e¡È›îë¹v 8‘öñ$.‡lãŽ}{j’ÃT!„Ÿ7!#„âó‘½<ýÆzcú#~a§ˆh¸¾v îº1bHM,Òn¯æ°ß|Âí0gHÚ0æK¾ÅîiÝhPµ$¶Š-.îm|‹”1I\ß>‰Îu+RLQ°+S‹VCW“:šGs™Ùž%ð6šnuœ±UŠWoϤÐSì]0€ÆåìQ{*´ËÖ[)Ϩ¿@³bn Ûo×"(JQ*ùŒdÃÉ#ü9¢UŠ)(…]h0؟ˉ)»Iüw.=V©pÊúš2dÕ¹”ÅZ×0|<ý[ÕĹˆ‚Rد~>;Ê$)‚Ð_»Q·¼#ŠbkÎÌ O;L%–½œP”F¬ÉhÌcgfѾvŠ( öe<éüs áÑiÛh¸wtƒ}jàb§ (%ñüf'Òl£n„ŒæÊ\<}X p˜î×+ñ^•á´œ”×õ/«¥Y«åñÍÖ‡åG²èI¸¶‹¹¾Í©^ºеÕ´cìAå[”#§ ´wB™Ð¹•R§Å)öåiùãNîiAsu>^Šuf\Ewy2îEÅ›eéÏÛÒÞÝOÀÙœÔj\œ ǧhîs|ÅH:Ô«BÉ J±òxõZÉÕ'ƒo4Üÿk)ßáIE§Â(Jʵñãß„ÎoÜŃì\ðë‚WyG¥0.ưó^úõDïêAñçûçÉ­$}ö??M0Éÿ±-è:6ÞXK#„â3'_uB!>#äóÆ÷Ü5f _¯ë„Mì~&ýr û¾ÛhZèKÒnžpŽ ½QØwiœf”Á;¦½Kp/ºî+É·£cBéüho\!Î1†h¹³±7^=÷Rªÿ4ÖÎwÆèJ0Sû÷§Þɇ„ô ¨ Ð=âÄÞ(|F¯`ˆÃλ0ºƒ7%Zcðï[(’x€_¾FßQ58<׃œ€>ö";¯·æÇ}päofvÈ7 ¶áýÝPfløãÓséÞw ƒ+Ö`U남Ìl¨Þ~­í‹`i˜r"ÿÀ(å¶Ò×.¥†°Ð«Ôð#ËÆå'éÔú÷ûŽþ®ÕYß©0†Ú{lñ­Ç×Ûìé1a)3Êç#áÒú'aHž2žÔŽ/„bòŠU`5׸çH±â†œ;ÎÖY½Øuì;Wv¦ˆ‘Ž¡ßáÕaw€œö¥)wš7Œ¢éM-ÛV÷Àј•™=nuÊpwû `ŠSªX«0-iÃKË1.΀—ðM)Œ»;FѪÏ!jÏû6Š! 'æäL¾ô™Ibó¡Œ]:‰¢¦÷ø{Å úœ.ƒO¥ÜIñÉØÔíÉÏÝm±4yÈñEƒøaÎD¶tq£]¡V,ô¿Kë–k¨±t¾N&`hNþü饄:ZË©l5”ÑT(}4G4¤MHi¾ûy#Šå$éÖ.'” eàI"þèH㉩ç;€Ã°H¸Î•ä8¨.1yûmŒ WDz\3~ê0ˆ¤£Óè>b3ö¥vãÜ<Û]zLœ³6¸7éæZêìØÏÔ!47v±ñJAêÕ³Ã8S-„BˆO—2B!>+*#[ÚüÔ‹õ¦0eozÅz“øwvÄ8æØ³k¢ˆˆ‚<…s?ýBL<Ãĺõ™qáéH€x‘ÕSƒÐxÍcî€úä3l»1uÎEjúÌaþÉŽL( Â²ÖW´ópÁP|›1+ô{u¦ž£`‹ï~l >Êä”@U6ʵïDÃòÙ;útòcíÂêôèÞ˜òÙ‡>t›ý'¿î¿Bb나ÙzÓÑöiÝ¥âÙ°º'{/Ä¥2¨(àù ß´,‹)€c?zý±”Ñ®’Щ0¦×Ö2)0÷Ù ÞÔ2e®9 MȘàÔÃå=2Ñq.Ù»©=…Ôzbÿ]ÀWÞ£9xhsN´abÙÛøO c}7³iPY²'_ä÷–îŒ<ú+ÓµÅÏíŧT[Öeôœ\DVôaMdü¶ o‹·{‘F&&€–{¦£ï~ªû­gœg~Ô€îþv†´›B\÷@6 .‹¹   7£bPºÕó¥„*ƶõh÷¤u¸hÅÐXš«Qç€óû¸ž×“–Uì°2{I9ú(Ž­ ðò쌧BÅeÎÊëê2‡¯êº’]ØÅ9õḰ_è4!Šþôs1O XŠSH>¿† k–´Û4‰®¦hs×Âfä!lò›ðbv¥Â8ŸÎù2Ó—/“²æÎ¹<Lpx_ ©Bññ)KB!>;¦¥z2¾µkt¡Û¬;ÔëKùìé PgÇ2Ü»x'×L2v Û²ÝìÝ»—½{ƒø±ŒŠmz«ÃfNüÅ}\6q¥~©/žÈÆ_æà%(î]ñ™«Éd/Y²&w9ño$éMQ›çÆ\¥IS—󼿍’âHJwˆ‚æyÌQ%' yÒÄœ¼æ*’ã“SF5èqråXz|ÑÏj®8•éÎA½Žä$mºkã¢6'™Úä”Çã/íçÔ­÷\¨0/ÑŽ!>y{üs6mÜ9vž°§qB$>¸ÏýèT®ïDslÏUIMß7§#òàDÚ|½ç)k™P¿@jˆ—Ìå?dz^×”Qß”I c€øpwGáØÄ‚†)í£Ïnfjßv4­[“ ¥põýUÙ&”Éèîq0à4æ5›Qâea @tGu”K •.Ó"¸WÍɵ¹©Ò¸3ƒÏ>½Z˜î.;¦,'Æ{_? cÓpcç.çq§q1ÓÔûô<úg;MËÓ ø[.ü2ºû 8C·&¼ÏÝ!„ d„B|~T¹¨þý8šZÜFUk8ýò¥ÿ…—͉F5rpeÅRÂbROßUÆä±±ÃÞÞ{{; š` 6HgT@&i“Ð$ÅŸÁ%†*P½ñN_—†+´£ñÝäo3ž%›÷¶£×(@›ì<¿nË»¡&›EʺÊP ÉñÄk.1µQ9\\\pqq¥ÞOáDßI ²ÞY1:›J»NþØÿ¼Ž)­žŽ¨ÒÜ 4à&›ášãi%œÛÄö{Ehäa!I\YÖ‰j¦q§Ê·L[¾™Ý{á“ËçæUÉgúGX{„ªÍK¿r$VÌ©õìw¡Eå<ÈÙÓyéav,G‹û˜ÐÕƒZƒö¥Ýý},Ú“LÙÆ.äx¾ö6{Ï‘½fsJ>™ ÍñuGЖkIù\Ï&’Ÿ\=ƒµc¥1+2yýr}äQÖ…™P­™óFB!>52eI!ÄgI]  ~;›¼|#UNªöéFñ Séñ}ÖOiŽí33%tèô*Tê7ÿýÂĺ,Vš%lþ;’úîÏ;¦¶T¶¿à¿xØ¢Á“Ë Ç†o#,¡JåFÍÍ7Þw¦iï²]9Zø3´¹ fѯ—™Ø”Ca.ێݧƒµå;ýÅG†ÿ¦ë€-n.¨Í‹P¶½iD™nðu+ÀÓìH…©UIL 5íÒ˜& S©11ˆ""J¯:Ò6‹í—QpÌzf´°Á(íÃI· ¿ÙËåHsP•Ä•­Ü²jHÝ"Fèî1æÇƒ”™´ŸñÍRú&îèfö<*Æ7nQÑÿ¬ç/­ S\s¾"ü‹çì†ÝÄ”ìOµô¯Gý”:'N^]ãÙˆÒ>®ô;uGZ7²Ý=Ë )•²½Ø^wÿ kO™RÕ×åi(óë$à2²ò3#¹Rw‚Òj>[êjÒ  LòS´`æVËŽ à™Vö…˜H!„ø,I #„âÿšiÉo™?ñ͇|K¿×Ñ髦Ô(a…YÜ5ŽÏgÚ!3jN±æÙ-â¹~Š“±iN4 ̰*V”|ÆÏžN;¶¡[ÅÙŒèޞܣñ…[1Ì"oTØ' ;Zõõ`V¿þôšnÈÈ–¥0ºÌTßÅDUù‰®Î¦d 3 Y›ñpûï¬=®àn|†Àé# MÖS1“OaìКžUüøa`Æ&ÿ@˲ùH¾ÊŽkz°{¼U"á¿ `Ü¡Bôž6Œj/Œ¶Hãôlúö Ã!W4§·mâ¯;·ép:3u):ûº±|ÈNÌHç…¹)ìPˆl ¹›X–é;k£&Ó\Ù€XvöòÆ»dQNüÞŽ…(m«‚{ጩïÅæfÄz1}©/%_X¶DOìéßèÜfÙú3µY!ô‰‰$F&Æ–/+ýÇ0µÆ(Z”4'êìvæ,¹JþÆ )jÉÂø7:\.qŸ ;–3ýçeÜ+2ÅHæÖ?ç‰Ã‚/pöF"fö%±1O'pI¼ÀæÐíòx*Ô‹bÿYÌ‚cù¨X®(Lb¹tèOfÏÇäz2ƒ¼X©#YûýH*Œë†{Q5÷n«)ZÖŽ¤#k 3¨ÀÌrOƒ¡¸ð ìŽ.AÿjùÒ¹¶š¶%)ñ;™I1œ\w€¤²?QáeŸ !„â3"S–„BüŸ3¡hûùìÜ0™nN· þu ]¾lE›ÞØð #ÖîfA›ç~Áˆ`q÷F4hÐàé­^wüo¤35ÃЖNKƒ™ÚÒ”;Q¯ª­Í 0<=†Xµ˜Ï¶ßÚ¢Þ0˜ÆU*RÿÛeD5šÍ¶¥_a›U?›¨rQë§yôs>ÉèF•©Ù~2ÿ”èAgÛׄ mé°x SZ™°mL[êÕnH·™g(XÎ2ÍÕr4<8±ƒ][‘øòéDÆ–z.ìZÅ’å[¸lV‘–£×:£!–jClÛ/aÏòïhR©8…Lò_x8×c ÉW¤js\{õ¢jn î?.ÜÒanbj+|&M⋲1{tŽc'"HÐE“”N±‡õå8F?bï躔,jŸ:•­“ß¼îvÓ¤yÉ;,éÕ ¯Æ]™´í*‘Úü¸5I¹$µI±v ð±çò¯-©Ùà~¿d‹›½)6õ½°5Jy=k4¢|ö¿×¢1‡ùs]—~(‘t9„[…iänÁ¯jœý› é}iÝÐ7¯v _õˆ¦lcAKCÀ @Sf.èI5͆}é‰GóÞü²î¢´8¾î:×TÊýxÿ œß´ƒM©Uè=~ ãθ7çUÒ…#„B|žT+V¬Ðë’âi÷U¢E½²A€ÿj:vé–¥ !„øØ-ùc>Í[¶~é6z½Žû÷ïsü¯cÔö¨“î6Á›6È÷¯¤áÒl/j/®CОa8F"JE¦éµ7ˆ.…e·Bˆ¬óüñl€ÿjJ»”ÁÈØµ:sÓnŽ>ôZÇʼn½ŒB!„ø$hn²gÃ%òz6 ègÆ@—C¶qÇ® µ¬$ŒBñÿC!„BˆO€öÞNi¸³¸1ŠBÙïÿ¡‹z š+sñTÅŽ:3®bݰ6’Ç!„ø?"_{B!>yŠ¢¼v›ˆˆˆ7j'Þˆˆˆ]Â'E•³&ƒƒIÒCÊbº)kÔ|ª òy3kK5’õ€Ê\EÓ¬7$„B|þ$BñÉ{Ó{ ħÄÀÌ §ÒVºŒwÆ » %JÛ|è2„BˆF¦, !„B!„Bd1 d„B!„B!²˜2B!„B!„YL!„B!„Bˆ,&ŒB!„øÿ|Ëx2 ÝǺ¯´íôqœß¼„%A‰×¿¯B…B|(È!„BˆÏŽæÊox* Jê­ê„3<:=Ÿï†üÌÖGïý 8á ÷õL»˜#Lð³þŠáÆâúO^‹¢TbÜ?‰ï­v!„YC!„Ÿ8Ž*¢(8÷ÛETz¿$k®ð»· Šâ@×=1Ï=¨%2l5ã»7¤¢“-Š¢PÔ¥*^m‡0wë9iŸnÿ×Ê(µ˜y1ù}¾ Ïƒö&ËXãÔë±™l’pr4¥Á2nj_½}Æ¢ÙÑÞöÅ÷[s-~?eçÞæù3CϽm°³oÇæÃð†ö÷)‰MƒÅ\×|èZàýÖ£åÖž@.änÌôÀ`‚·lceo;"B¶s+[5|Jg»§?Æ÷e­ñ˜s™ôKOâòíëÙv±§Ö³/ÆOo zMcKðfõ°…ü4t0y»× „⃓@F!Ägå¡ÿžKzî^B'09,½‰I\ù³'îÞýYvÓ‰cç±ríæëMc»Û-ÚÆâäU¼¶ô2¤¶ÌžßÔUœߌ>Š¿ý¡+çCE U&h¸<Û›Šc8ù>?ÄýKàžG86u£ a&¶×ÝÁß§Nßì!ú=”óÚõ¼Nÿèîq0à4æµ;P¿‚ .¥Kb›íÛƒ®bT±esfæýÈXÂùMì¸W„FÖ¤[ºæÚ›íë™v œÛ¸›H 7š3Ç\q¢´³NÞ$w­¦ÏöV/A!ÄG S_B!Ä'Áª.µ“·2ëÇ`Ú.jŠ¥:õþøS̽ƒÞØî }¦Iâ¿~|=8‹+ñV“¼ÛP Ϧí雕õ‹ÏKÌ ÖNÂyDUòfæ'0Í-öl¸H÷_xƒÎ¥„íÜ3ž£žþ­jâ\DA)ìŒW¿?Ÿe’Aè¯Ý¨[ÞE±ÇµNg憧¦Ë^N(J#ÖÜyÅ2§gfѾvŠ( öe<éüs áÑiÛh¸wtƒ}jàb§ (%ñüf'Òl£n„ŒæÊ\<}X p˜î¥R×ãð^ÅËÊI>7 7Å–ÖëîK¸e]?5DH |aZÖ*CQEAQl(áÑ‹%gãö}[ëÒÝÙ•ǶΥ°VJI.‘Q™ÙãV§ y0Å©†;4¬aÃËÊ1²÷¡K û.r IDAT¡¤««éóÅtL‡à÷ELHäÒ².Ôþb>‘nƒ™¿y?;WŽ¡žámt©meh‰O(ˆ[§QÌ[·…Í+§Ñ!Ï –M\Á…$ÓÙ8Ês/fí<ÂÑ£GùkcŠ?WŒÊ„¼³‘p?†'Kìè°kì`vWú™±uó£ÖÜbóOÿ|ç^3 Ü»‡€É­È{7 Kφ)Ÿum<ñ¹*ÐfÈLVá?ç[Š]ä—¹'‰Ã×QL¯mŠa¹ 9|”£G±óÇ ˜¥Ó?†Ví¼t‰K—.qéÂqV÷.‰™ecf,éRÿ[×óý@ 'Ö"É5ã©bš«Kèàõ !yÛðó²öî`Ö°®4r0KíÒÝ óòbøß…i7î6‡±jÚP¾®šý]žWam“’>ÙçïÏô6Ù _=‹àˆôCì:-!888Ý[ÈöÔÍ›™iM1œ\w€ä²-(Ÿëí¦\ !„ø8È”%!„Ÿ•‘-m~êÅ‚zS˜²·=Žb½Iü;;bsìÙ5QDDAžÂ¹Ÿ~!&žabÝú̸ðtEÙüX»°:=º7¦|6À¡Ýfÿɯû¯Øº f¶Þt´}Zwi‡x6¬îÉÞ qôµK©¡€ç7|Ó²,¦ŽýèõÇRF¸JB§Â˜^[ˤÀxÜg/`xSË”_|lÌ©X`(!OžÕ§~,Žs™ÈÞMí)¤Öûï¾òÍÁCÓ˜s¢ ËÞÆü*›Ù4¨,Ù“/ò{KwFý•i‡ÚâçöâSª-ë2zN."+ú°&² ~[†·Å‹Û½ÀК†]k0ºÏ¬ÚkΕ¡Sà;fµ¶Å=1GÇÓvh8M–ne|­Ü)¯=)í-¶Í¼(l`H­iûäI‹ðÀΔ…wr©Uf7!bï9L*÷£¶£Bî Ï· Ée• ýµÄë §Ž»Æ0hwe~ÞV—üê$ÎÎèH¯í嘾}Í ¥|²5†¦ÜÍM­ÆÅɠΫO;\?­£–’3¸gm†™=àÀI ÎCêQÂÚŠ—30ÄØÄôÑ„ÍìÆ×« 3.p-lŒ€$ÎÎ~Ûz^§€Ø3îÃyHFSÅ’¹¼þw&—gú7-¨–Z“}êŸ%Ú›¬ëד —é„Ìð¦ÀãŠh¹¹9€ðì X4õ.›¸R¿Tjó̃—9x Š{W|æ+{Éz”5¹Ë‰#IïBCjóܘ«4iêRcž×URIéN½1À<9ªä4Oš˜“×\Er|rÊ4Ý#N®K/áYͧ2Ý9¨×‘œ¤Mwm\Ôæä13@›œòxü¥ý\ºò¾ãƒ æ%Ú1Ä'/pÎF¢;ÇÎsö4®SˆÄ÷¹ƒÊõhŽí¹J"é¯éûf ÈïѺÙ/òkûŸÑ XÆÚÛMXÌjCP3÷“מ|u›¯À«ž]Êvúx®†ÎapGêת„‹cI:lMÀ±Aò«èã¬;¢£\Ëò¼|ðƒš\J.T±÷‰ÕîÁNÆ ÚC• c©›O>jSfÿKqßa4*ô8Ðro_áæÕiælžrWÒm-Î×-½ñ¨Z'§Æ,¹cImÂñç6²3Ò‘f5-_Æ<¦åôoi3/'ÃÖúѦHÊЕwUOæû'eÁÝ‘ÅhV#£ÚÕä/W‡ä}ô«R‹c–søfâ“ÏKbøb¦î/BŸ!õž†1éphí?UòÁõÉl¨XÎn? Î(“Ñ ©w áÜæ”×U=_æÞ!„= d„B|~T¹¨þý8šZÜFUk8ýò¥ÿ…—͉F5rpeÅRÂbROÇTÆä±±ÃÞÞ{{; š` 6x1LÉ,mš¤Xâ3X£$ÃÐ@ª,›• áÊíh‚†—Ä wmË$r)h;÷ìšàn•‰ÁÔúxÂÿèJ«† öŸG{Ó'½›z^§’¸¼»/­Ý‹š?²õXÓ}]¹¹ä;|ª´fÁ¥d ð5þügÝ€Zé´×GcÝqpõ©ð4J8ÇÆ]‘86«ùt!ñÇ´,óÎ`íEA©9óÉÏï%ý×u9dw욦NBñ9Ñ…B|–Ôšà·³ÉË7Rå¤jŸnß0•ßW`ý”æØ>³–Œ^…Jýæ¿_˜X—ÅJ³„ÍGRßÝâÙ`ÇԖʶàü[4x2½"6|a hT*7jn¾ñ¾3M{—ýëÂÈÑŸ¡Í]RÖ ‰~½4ÈĦ sÙvì>¬-ßé/>úè0ü7]lqs±@m^„²…àèM#Êt›€¯[žfG*L­Jb©i—†„Ä4i˜J‰!@Q°xÕ¡ŽÈC¿Ð¶×AÜG·äþÈM,<4‚*uRÞËä{繩5Â>éÓ׬½ÅžÀsäpC 3ˆ=<…aëóðýžétµ5’9·+„ˆ‚u©WÄHà|Ð>¢zQ%ß«Ç>çV0O¸ËÛÇ0bO5&n÷J ƒ´D_½J49ÈŸýéóè#²öo(÷kyrª’8·à;ÄMÐü~”6´7 <‹yá”24×Ù¹íë¸c“ÁE„žJäâò´š”LÿÅtqÊ–æ3þŽêyþI¾Ê¶àl¼ë¼¢v&…*Ѳ%¼ÝsSÃÛŸ“·“À^Ë­3·Ñ›Y-qtXG’]]õi0”x1ˆmwíhçnõâµ*7îS¶œ”^8¨ÂÈÂŽ¢¯ìc ù?¶]Ǻ‘'Örô.„Ÿ ù']!Äÿ5Ó’ß2â)šù–¯£ÓWM©Q ³¸kžÏ´CfÔœbͳkþÆs3ü'cÓœ˜aU¬(ùŒŸ 2ŒÛЭâlFtoOîQƒøÂ­f‘7H*슓…­úz0«_zM7ddËR] fªïb¢ªüDWgS²„…¬Íx¸ýwÖWp7>Càô‘„&멘ɧ0vhMÏ*~ü0° c“ eÙ|$_ eÇ5=Ø=Þ*‘ðß0îP!zOFµ—Í=9=›¾½ÂpÈÍém›øëäm:œÎÅŒA]ŠÎ¾n,²‡óÒyan ;"[ÂCî&–eúÎÚ¨‰Á4W6 –½¼ñ.Y”†£·c!JÛªà^8cê{±¹„q†^L_êKÉvÖuxízì¢æÜ• ) ã?üñ›¿“»ͱ4ÃwI7Ù·Æ ~—ÈÛn*ަ€îçOÜA—tŸ«—Γ ¦p){rd=ZX‘ýáBF}—j3·SçÉB)j².B™cîÑaÙ:9’”˜`hl„ZõŽêyþÑܨņ+i¦Š½°A[æm Ú©"%m,ÐÝù‡¿µÜµkKgs Nùá÷Ÿ8-/ßù”%oì ¢ ¸â’?Së÷Wb5žCÉ\ݺ…Öð*œN²b`†âT%ý·2Ó47v±ñJêeôº„B|’dÊ’Bˆÿs&m?Ÿ&ÓÍé6Á¿¤Ë—­hÓ{TbÄÚÝ,hcóÜÉh‹»7¢AƒOoõºã#_ mé´4˜©-MÙ9±õªºÑzÐ ÃcÑcˆU‹ùlû­-ê ƒi\¥"õ¿]FT£Ùl[ú¶Yõ³‰*µ~šG?瓌nT™ší'óO‰t¶}@ÈЖ‹·0¥• ÛÆ´¥^í†t›y†‚å,Óœ@jxpb»¶""ñåÓ‰Œ-õ\صŠ%Ë·pÙ¬"-G¯#tFÃÔ)!†Ø¶_žåßѤRq ™>ä¿ðp®Ç’¯H,Ôæ¸öêEÕÜ@Ü\¸¥ÃÜÄÔVøLšÄe böèÇND ‹&æ…Ë'ëxtt m¿¡ÂŒå|WÕcZ}U’ä} ž\MÇÀ²!¿Lé@åä jåEã8÷Äìñq͉ C 5L'—G,êäFNSù+Wœsç¡f§”ÑH¹(Û´6–Wgò¥÷ XNüKúFK!—.šD¯_ãùìš=9ªŽdÆ7nd?0†võëÑæ»eœŠz„AÉæT˧rRc@ªª7Ñϳ6­GoG_®"…ÌËãS.gÊè–lÅhÒÀ–‡v§QËoñ;•îÔº¤¥Ã€`îÅ`ºOìíS¦ú¹äpì;¬'Óý£åöÞõ\ÈíA£b|vnsr×FtnJÝÚµhÚ{‡m‡³qÓPÊ™˜â2x1?6³åüÜî4®Ý€Ãæ³+"âϲawMjñd9M¡›®`Y·vï-)Ñrg_çr{âíø¾.'„âCP­X±B¯KЧÝW]ˆ~õÊþ«éØ¥[”&„âc·äù4oÙú¥Ûèõ:îß¿Ïñ¿ŽQÛ£NºÛoÚ ßCBdŠ–;›{Sw¸1“·OK3:F »ƒËJŒ´ZΑYÕßèªh%ÝÖ¶®ÌH«åžQíóy]Bñ‘xþx6À5¥]Ê`dlŒZùeÔ>ôZÇʼn½LYB!„øThn0ø»Ã¸M߇„1ÏÐGeÝ ª}[ú³ -ô‘GYfBµ^ΟÕëB!kÈ!„B|’¯²¢ï0NÖ™ÍW]mèÿžGÇ×r$!†ø%PȆעc,ô²xó+¤}PÑìîY‘¶£SþÓØù®ïñšÚB!> d„B|òåõ—ÌŒˆˆx£vâ݉ˆˆøÐ%|B9÷{/Æ\¨Ïüyîä‘4æ¦.?°>ؤ.²ë c½ ¥ùÜ+å aÙ âhñɾ!„@F!Ä'ïMOì%ŸŠõÜÌÅžºŽ• “üŽ8çÿÐu¼#*cò98“ïC×!„â½’ßW„B!„B!²˜2B!„B!„YL!„B!„Bˆ,&ŒB!„B!D“@F!„B!„"‹I #„B!„B‘Å$B!„B!„ÈbÈ!„B!„Bd1 d„B!„B!²˜á‡.@!„B!„âcqó7oeɾ$B!„B!„H5ä‡aèõú§7.åÑ£IÖ¤Þ¯K󸞹sg¿ö~$B!„B!„T*ÉÉÉ ÓéÐëtèRoz½ŽÄÄħÿæ±7!kÈ!„B!„B¤zÓ€åuI #„B!„B¨TY·¯,Û“B!„B!ÄGMzý“ÿ äáÇÏlIPPÐ[ïI!„B!„BˆT‰IIOþHH7~Ê<|I«V­ ÝùÖû‘@F!„B!Äsôèô¯ÞJˆÏÊàÙ)K³fÍÂÅÅ…Úîîü0t(õê×ÇÙÙ™_~™øÖû’@F!„B!D*QÇfóuMι„&3-‘¢ ¤ÞÊ~ÿ7ñ¯±GÍ•¹x¤i_mR8I¯n–yɘáöôù·\H~ö 'U>Mû˸©}—¾mêyØìi}Š3ŽÄ¥”6Ï õè·,œX Ø2ç¹%d ð›5‹êÕ«ãç7›ªU«2eÊd Þ>N‘@F!„x#Zn,­Ÿæà'ý[³uÇñs·~íƒÓWÒÇqv…/ÞQ”"8×êÎêk™9l~?bötÅÁº)÷³øhO{“e ¬qêu€Ø¬ÝóÐpɯ6Ö®C9þ†˜=]q(Ü’èwWÙ3>²ÏÖ›ÐÜÝÃ/íÜp¶UPŠ•§ñØ¿ˆûÐE}/ü]&]cóÈTu²F)\‚j_úñïÍšZ;ÐuOÌ›ï(z;_¶¦Åæ¨wSøgèý©¹Ìl÷ÂTùù ‰/»ï-èî…0¨ÃD.ÖšÈìŽE0ÌlCs<'ª~%0¹ÿŠÏVÌn¾.jM³ÀXµd^H0ÁçÑÁê}-¨ªÂ²Í6òÇ—æ2³Ý­)7"Œ„ô6×ßc]k»ï%Ƥ߬!8x=Sä|'ѯه aÃqµö`î-9Ýekp0AËP,Í6¦¥}ñRœ?´gÂ_¯÷M™>‘j¯8Îqì¾—Û{ºâ`݈5wÒ¿2‘þUŸ…Œ Zͳß{Ìš9“¹sæðëÔ)ï$Œ2ÿ÷%„Bˆ´ÔX6šÍÖ21hô‘„öÿ’ÿµwßÑQTm‡³% %’,¤‘ $”„zï¡ ˆt)"EPDŠŸ" HSJUªJ¯‚4‘¢C'¤m›ïÒ³›B¼Ï99ÙìÎܹsw2óÎ[渼ÊI¡Œ_ÆÙÇór~ëæ _2dÌ÷h^˜Íw½kâÏGpY7ýÅÜfMXÚz3»ÇUÀ1þm§ A|¸ –ÊÎnf‘T4GÇÖᙣ#øå§~ødãPȳc+ÇD°oü>ü­>o.þˆ°²1i=qÊëlåäÿ—VÂ׿ÊÅÿÒyÚR7ôEg*ˆŸ«‘Ñ >Ä1èi,¡¬³†¯¢Cõ ”Yy˜¹u eº|þ9GZ¹¹{Ûœz°b\Êd¾k)¸T"$$î ˆ±FÆÇ–Sy¸cÕÂh¨ä¦‚ì*[Õ x”£RHjZ¼µC)ôi-®8SsÌ>p ÂI)@áÀJxÙÝåJ.eÑÎ2ÔûueÚ‚¦ø´è •¦bXÃÏRH›d!m‚ºLfÚÖº ÿüo„Ö§°ÙÑ—îÏW›[m°ðïŠÁ \S…9_½L#€‚¾Xi \ø*ãÝrÎäXxÌ( ˜-©Dh4zöìAlllŽM‹­,]ºTµ£éÕ÷"îg^«½æ»•9²a!„O†N]ºfø¹ªZ¹uëÇŽ¦qÓæi.³ñ‡õrB!„y"i<ûéÂéÖ½%<<°Z­¨V+ÖøUµ&VÈ$ýÌd2²|ùr†½üJ†ÛIÇšUû[Èdx !„¹I®CB!„"·hÐpæÌ”ðð°yß?‰NokÒüÔþT!„B!„"×4nÖŒ½?ïÁÛÛ_¿Òh5bcc°ZUTÕJÄýûXU«ÕŠ1&†˜Ø.\¸Hóæ-íÞ–TÈ!„B!„B~~~ 4dÿ¾}lX¿N‡¢(8èpptEA¯Ó¡Õé¨ß°!¾¾¾voËî “Éĥ˗ؾm+&£=s…Á£¿½›BˆÇF3¿Ç—¬ºríºÍË*Š‚N¯£Yóøùú¡×§9^®‘ëx=Éç!„"¿ÉNl àçë—ø:7Ù]!séÒ%öþ¼‡š5jQ³Vm3_ ˜>u Û·²;ƒBñ8X½a3Á!•ó:¹æÊµë¼1î6-ÍÁ_ö³wÏhЀ€€\Î]rr›'ýü „Bä7Ù‰mýür¿"&Ý2GަeËV” DUU,‹ÍëªV•ˆ˜ÔÓG !ÄãÌÙ)îT©wpÈãœä.5¾/lfhШ1ž9|ä‘WÈÈuHúè#4Mªå,–<(¹‰ÇÈÓr~B!ò›üÛÚ]!£Õ鈉Iõ$(.>FÄý{T®Z=Í€×¢"O&EŽY½j9Ÿëžák!r‚å)9m¥¬¬¨_¿>Ó¦O祡C™ŸÆ…K§Óc±<úî?rÊrNÍš§åü „Bä7ù!¶µ»BF£Õ¦jú£ª*'ÿÆ;·hÚ",ÝfäªUÅ*°ÈAI§ô^ ‘]êSr<¥<·»¸¸°~Ý:7iÂÐaÃøhÞ¼d.«ÕŠÅüè[Èu(÷È9Õ~OËùA!„ÈoòClkw…ŒN«ÃhŒM–ñ«W®ðï?—,_ØØ˜4›‘Äš,Äe0E‘s’Oé½"»œô©›4>‰Ì3Fcl²÷ *HXX+,ø˜ÚµjÒ½ûÖV«Å®usŠ\‡rœSí÷´œ„Bˆü&?ĶöwYÒj0™ÌèõW-ááÁƒ\ù÷<<½ÒØ.®†Jž$‰œ#OsÅ£`ïÀ±ùU\ë‘äOîܹËO?m¤gÏžtéÒ%Ù犢äM—%¹å9§Úïi9?!„ùM~ˆm³0†Lê¦â¥Ëø*Ç!8¤ Z]ê¤-V™ÝB䬤ÇSz¯…È®§åxJyn¿{÷.Ï=וºuê0kæ €dŸ[­ÖQE÷ºI³æøúúÚœ¾Åœ3£ÖËuH<ŽžôóƒB‘ßävl›³ý2z½žÿür#_B!D†ä:$„B!ž97Ê¢B!„B!„°‰TÈ!„ÈUŠ’ù2B!„B<éRÆÅR!#„"—)9:íµB!„ùSò¸X"d!„¹NQ»¦B!„âI”4.– !„DÒ)…B!„xZ%ÄÅR!#„B!„BñˆI…ŒBˆ\e6›QGF!„B<ÝRÆÅº„îݽƒÑhÄÑÑE¦ÄHFUռ΂xLɱ!Ò§"‡GÜÿHLL4‘")ââ’á²rz²ÉùRˆÇ›ü ñx“ÿÑü/e\|?2æa…Œs"Däeþ+&“1Kë=ˆ2Lð$ßP©ÄÕn>îžäïàqgµZ±&Œ™ò”ªÕÊï'OR¹j†Ë9qáÖÍp£ní:9”Ë'‹F“~™œ=ó3Û·.`Òð‰˜L1q1B&Š¢áݧÔ ‡sühYФüzø Gµy&&FCõjÕ©Q½fŽåñq"ñBa¿¸1d ªšöL ‡f„ v%:yòd_‘#Ìoä ‘BdUÚã™Ô eààYJ±fhhšiŠé!³}ëƼ0‚¨¨»i~®‹½‰ÙÁ=Õûã{÷æ½oÔ0'3úÈ©(éÆFGę±v¥9sötj†Öʉì=v$þB!ìße)>ØÈàÁ×­[·Ÿ% N^+Š‚V«ÅÅÅ%Ó´žd!DÖ¤×Z#¬eÕJŸÞý‰ŠŠB«Ñ ÆèhT³GggP4Zm|7///¦Ïx°–avæÂJäùÍ,üh ?þršðhP]ð(L£®¯1úÙ28æÈÞ>lC拯ß'Üè`SzÅŒôíýzbÚ™²\cY¶|Tî3¶½[6m,·ðñ›ÓYqð"w‹ÒeŸ ±y}[d%ÄD.ÿÅåË—0i.çäèDPP n%â¦Ñ~Bã#‰„BûéÌ ÁA±“ÕjåÏ?ÿLV“”¢(”/_>ÉödÃJÄé˜?ã#Vì=Åß× 7P©J3†8…Î>z{{ÈtžêUgA£Ÿa{ —ÒdW!²HU3¼‰÷ôôäÒ¥Kü³r%î¿üBY__0›¹xñ"×jÖ¤d¯^XËW¯àååØX)¸ý(N3–—fìá¦g]ºöKµ %)b‰ üï?¸â\¢ƒó!Ï1lt*ºš ¿pŽ?Ã= pÓg½µ¹¾­§|NÙâ¥q°9h¡ù¡×9¹Ûþ Ež !DÖ¨¨0 póôij\»†£Ÿ¦ÈHb##qÕéqÞ·Ÿ—.Qyüxüý—·½>F%âðl†Í؃Òf ?MnƒŸc’•›ÙÛÒ&°¥Ìí¥ÑÆ÷†¶%]%þ?¸°MY±Fs#<çú½éÞ¸³žÕŒ7ccl”ÐÊèž½ü}ìá7JܹG¹êÕ)׸ ª&I³[Ë[Iò;å:J&ŸÛ›^øG!„°_\ «ŠÑl¦€6ý&ÉŠ¢$k!“ÖçI[ÈØüœÊú?¾9‹“e'phëhÊ;Ù‘ûÌ(ε|– ûVJòÊþ§mfëÚY!r]æwŠ·OŸÆªÕ}ý:±˜ÙÖ’UW‚Pͱ”ßµÊÀùó%¶±ùÎÓz“­&¼XG>«mòʘbÿüŠq–±ïô5XÁ©DÚ¿ü6cŸ)ƒ“å2‹»ödKèsœßήc—¸k)J`»̜Љ2úÿXÝ/ŒIºwÙþY[Ü5qiFy›VýNÐwÃ*ž7~›~ú €•»'V2körvÿ~[j1J5bø¬ ´ñÐÚ¶¿‰²vw¾ìª “–3Y¨%0gR~œafûn|q 8ñ"5~ðaðê5 /«'úÂ&æN]ÄOGÏsS1P®F;†{‰f%³t=Ï,6ŠË¹Â‘y ¸¿f-Õ‡ ãWO@á¿Õ«9:v7ºt¡î¨‘É–·…’¸tÆÑˆm±Š’¤¤s§•—Ä?B!„ý4«jSŸæråÊ%þÆÿø%þ%V#¬`Œ$Òœq&,·2`sBJ(\¤$•[¾Ä—ç@${ú—Æ¿û$Æt®Š—sŠÕ›ÎÎ3§† eÇ%0ý=—ZµúZWBý\)ììŠo­LÙ|@ÌqþW¡M‡c=1š ÅŠPØÙ•Ž›ïÛ¼;ò„H!ì§Ñj“Í´”ò'A™–-ùéûï¹ÍíZ>©soÝm\Nì |£Š%y8AšÉ~¢Ï±õ”•¢;RÙY“Ლ‚>Ôêú3>_ÆwßÌçõº·YõÖh¾¾hŽ[ÆÁï?ÿ‹O§q,\¹Šo¦´$zýdþ·æ*Vmqu E9¶š_n«ñiFqjÍ.î=G˜¯>ÓôÕÛ[yã…©,Ù‡YË6ðÓŠ¹¼Õ¿)þ…2ÎwªMÆË'(î`dÙUC²Ÿ)ß/¤5cµ˜1›M6æ#ñ›zø^FåçÄÈ62±¢ç¶ ÙäÇŽ¬å岎XþYÉ.cù©@GÞ[¾‰-KÞ¤…i¯vÍáVûÊFQ°ª¶ÅFWüÊý5kiß§/†½û8¼é'oú÷]»iûúXî}¿šK{÷eëÿÃ&j4çW¦MµRu.†wH;^_uŽÈ ö!Ó¸Èÿ!„öÓXcŽŒŸ™œ;w.ÙßAAA@ HÙ´ÅÆç/::¾Ù—¹]gÑ8ô0/¾4˜zµ"Ä=ù)õþ>^oÆ7Å3uátj•Tÿû6Þ€0òß¶mÄLžÌ²Ñ…¸^„⺤yˆ{m<ÍaÝpf¯ר³lšû:»´âÞ–L¯S‘7v£öøfô8>”íß÷Â[«¡€{›÷Ç"ˆ„ÂnEA¯Ó¡×gGßÍ^á“õWh?Ô?Ãï5%[c£¿Îœ¦ÆàÁ˜d׿Í©7Íú®~ ©VKñã8tô0•Û¶_Þ>K*V³³9Å:+q RZ8Y¹ùÓ`9M§–óA#77N Ç Ñ—ù•)ÕÓﯔq\älsn%þB!ì§ÐéPÔŒû{+ŠB¹råR÷$)õp¹¶÷I×R¢Í‡üòk‹çÏcÁ[=ùìÍ‚”m5ñ“_§KÅ"h°rcËT¾ºÓŽÅ»ß§£!¾w’TìÃëƒ;<÷Åtþa]%!OŨþl'U)\Õ—{¡ Y0s'c¿ï€›‡Eth‹áåãCI;Ç‘Aí„"‹l˜ñÇÉɉ õëSaÓ¦4?/P .nnI’´íb¤ur¡¨Î_ºYQ2žIÉzŸßWÌ GùûÊU®^½A„ ÕMÖ$?åá µºB¸Ô`5Ç}®u­C¯úŽ ]¹—[Ï3“·b²÷+l4)Þ·Eµ-6Ðh´q3V)’¸]Kd$šâ´ÚäãúØzLÆ-VŠaKÓÕ+Ee›5œuƒº1;a£Ï°í¬™‹§á1/aY+&“Šƒ÷=,‰ñLòØÆ¶¸È¦ìJü#„BdAb…L܃¦Œƒ„ÀÀÀtZȤ^Ͼ ™$ëô¡V×q,mQ¾:óñÜ#Œù¶&V£KL±ª‚’ÆCÀäOؾ™<‰=’åYƒƒ£´:4)¶¬TÈÈ"!„È[*êÔ©kwš6ÑyÑúÕ̰žÑÿkÈ÷³:QÊ)u-·8°îξáõ•âføy IØXê1Qâ_'Í‚‚Kõ´pîÏò ›ñüÙBiuq×*(™¦Ÿ¦—²è1²Ýú·cD³!|úÝßt}½|Æ­{Ò(Ÿ¬^¯mI;ó…HQÙòðƒtË/þÚ®&ü  +J`°;±[·s&ª5 Å-o½œ­ç ÌÐÒ´·BÆÆØ¨ÄÝ{Üþê+ªÅùiÎöZ-h4:®Íù€v3fr{Å <#£“íƒM€Â”ªJÍR)§½¾ÂIç$é©fLVž²“UÏ• i¶"Š5ÍØÆ¶¸È¶ìJü#„BØ/nÚk•L®S…³gϦÙ2&av¥œ êT«³ ÎÎèpÄ»ª/êŠõüüßzyÙ;‹D¢Î°vK8Ek×ÅÇ@A«×‚ň9 ÉYd–!„Èš¤})Rð/íÏôïÙ•œi;úÏ*m8O†^ ÷‚±4ÿã'z÷jK@OœÕ®;ÆqcK^RŸÜÙñkŽ{ÑØá ¼Ã.“Jõ”ùOöt Åþ®B°b<7{*§ 7dQíbq×PmÁLÓ7]þ‘Ï·[)_¥,ÞE,\?¼‹S÷5|\âº<Ù#ƒ2°ZÒ¾Ú4Ë’­-d✤ÊKzå§Ñ¤n KA*õ@ÈŠé ÝŸ¯µ¤´ù,k§c³®uö³»ll‰ÊsbÄhšM»·ÞäxqwE¡Ã‚Taÿ¸qT˜?Ï®mÛK)PŠj^ðé–Sh_©ŽOªîÖ Bjæ»”*.²Ä?B!„ýVÈØð”,¡…LZ•2)×µ¹rÆô7µlÉ"§F´n\À’E0_=ʆEŸ°ÅÜ”y/W¡ ¢§dÇQtxûy·ÆÉiSÅ•ÿÜÃ3´*Åõ Ý‘2鲤Dpzë&ö ÅÛò'ë§ cÎõšLWE)䉺è;VüÜœÎîÑX|ªPÑÕ¶J i²+„Y—Þµ#´z(¡ÕCS½ò÷ßùë¯óø\©Rö6®-JÍQËÙ]w9 >ûŽM¾Á×Ñ€£ ^ÕiÞÌ¥á¤ù¼<êM¦<Û˜w åiÑëEúœšÎI¯Au¹  •ºµÅcùWD7éI M|½„ éŹ 1êUXÀ©x õG|Δî>èì«sˆËU&×ë„Y–Ò’Þû¶¤¿Pâïd3/eX~ T5y«VÇ€|»¾(ïMZÈ«í¦pÇÁƒ uû°øÇ—hZÂÎá°=6ò©S››½º³}î‡TŸ6:mÚ£Ñ(ÜݱƒmÃ_E׫e6H²Ë6vYJ²|ªu”eR0„AÃCùxìË´rŸIýà_ðçOžÅT¯/]t6ÆrþVüäOH±ò4mXMq‘m$þB!짃øf¦‰£õ§ÍÕÕÕΤm½ˆ °c;J/ÝÈ×Ó–q;Æ7ÿŠT®÷&+Æ¿F‡2qg´Ïòå~-ïŽ|—™}–0ÆR‚ õ»0ñ³:x&ÝVZ¯•$?&.lœÍà…'8YŒ²õ{ðå·é”0K”Ÿ®ï3~õóLkÊ P­ØÄôš…lÚi²+„öÓéuX­V»ZZ^»~¿þ:OçNY½f-ƒOìeDq«^?Þ­×wÓ[ÆÐ€Ñ_ïftÒ÷^íÿ•![þbH²\[~޳)’)Pe.LH•¼.ÃôÁ¡T7f¯í–j={ÙRæÆÛté40Ù{V‹V‹ÕbIö~Ê÷lú.u>ôýñ/ú&ü­/yù):}ŽN©Óâ\¡+SWtejæ[Δ٪d ª„¾6‚ 5k°ãØoüwå7o4kM›bIVV¶·ÚJþ“ò³¤Ë8Rî•9à>™7fΦÿÒ7ˆrö¦b¥št«Òp¿×xz,ÄÛ=2ä;ê7ôÅɦ¸È6ÿ!„ö‹k!cUÓ¸®jÕªLž<Ù®DkÖ¬i{PíàMËsi9"³ tfêúÎiZz/ '6UÚe},:1¨5)®´ý`;ŸÖM¿‚E[¬>6_ u˜œ9yB$„Ycëx&×®]gÿ/¿ðlçN‰¿¿_½€ºuêàé™ÍŠ™§DFe^­zf}ÿ:]Ú“E›Í¦LÓÎÏÔ b#&nlŸ’Þ¥ðìÜ•º»f˜¦V«µ¹\жÙ@dL:ê|xñ—^L–¸ !½g±±÷¬4WqðëÁ—§{ðe’÷l‹l!ñBa?€V«ÃkDq.˜j°V­kÕê‘g,7ÄA»6å H„"kPðòò¤Ë³S½ŸÖ{"c•yXÛ„µ˜ægOF›nlP3´&3fMÃjµí¯Ñh¨U£ÖcUQ•“q‘Ä?B!„ýâ:Uk4X Šæñ rCâìL%×öÕ,cÚ !„ÝÆyœnVŸtRæS3‰êÕk@½z Òü,¿ÈɸHâ!„Â~ñƒúÚØO:ßKÙç:çÉ"!„Țܜ‚Y¤MÊ<}OGl”sq‘Ä?B!„ýt7UaÜdOrУ8a•«Ûi…"k¤ràÑ“2OŸõ)ˆr2.’øG!„°_â´×”å ™e@!ì—pý‘«Ð£#ež>«Õ*±‘$þB!ì×B&þ¡†Ù'Mv…Â~:ŽXc,…ç¼ÎÊSCQ)ótܽ{kB…•ÄF6‘øG!„°Ÿàî½hæ-߃^§Íëüä{!„ýüJ—áÔÉT¯QwCñÄ)…íe±X°Z,9œ»Ì™Ì&TõwÙPÁdÊxêéôÄÄÄÅÙÓ§í.s«ÕŠÅlÎÒv3c2™ˆë(”³¬+‹˜˜Ξ>ÍýV‰ì ñBa?€ÆÁŸÒ8.œ×ùÉ׬V+ç.‡çu6„"ß)^¼‡pòøqDÜ·y*aNGNwºÑh5h³X!”NŸã­-4Z ZmV* ‚+W°©Ì5 MÖ+&r¢Lõz‡l­¯Óël,… ÁÁì¹|Fb#Iü#„BdÀI¯Gc5áR çЧɵÿnãáæ’×ÙBˆ|©xñq3â‘’2O›“þ¼ÄF6’øG!„È@‹ZeølýšÕ­Šw 7»ŸbY,VÌ ‰¸ÅjÅdÊýíXUû·Ë#'Сj.åJ!„Jvb#“Ùbs+¯¬ˆ5šÈ­r**F£í]Ò$þB!²NPµ¬=š”cÓ¡3l¸q‹ ADAG}Žd@Ñ(8:äLZ:‚ƒƒ.gÒÒjÑël ¾TtZ…ÚW¥r€GŽl_!„yÇÞØ¨€£>Ûçô:4ÚìµÈqÐkÑe3 ­Fƒƒ>ó.jÿ!„Ù£,]ºTõõñÌë|!„B!„B<.ÿ{-®…Líº ò:/B!„B!„O…Ë+WÆUÈÜ»{'¯ó"„B!„BñÔ©„B!„B!1©B!„B!„xĤBFa“ØðÓ9ñQ¹7“«B!„B<5¤BFˆÇ†JÔ¹øü‹ø3J}Û3òﶯY¼ú7îdZÉbæ¿u/Ѻ×'üi|YyÏξ埳l_8æ'q{B!„Bä1©"Dlï…—»7wnîÞôÜ~Ÿû¿Îe̘9xïQ4C‰åôgcy}êþ{ðãƒòbÀ­Ù×\µ<‚,ˆÇD4‡GWxøý»‡±üê¾{û Þ^u‘GRgº”¸½¨ ó©çþðx všØG‘!„B!¡Ì+dîoáÙInÔÜ ÷¯Jý6=1w3?’'ù΃]ýð)Ñ‘÷S¼ghÃw·ÒÛW#§§ÕÀ½ÊDNäÅ]ƒÅ™%¯Ð<Ä7woÊÖye—My‘GÈÖ}~°‡ü’¿)JÞGdšyß«R•w×ocÇŽ­L­U(ÕÇæ»x¯kÊzpó ¡Õ„CDåF>yeÕvlÿ‘ym]l®©µÞÚÊÐ@Þ—¼øœÿ¤5Å›0û˜t×:0œ²†F,¼”“m"Tîý<Š î¾t]y5yk õ{^«„[Ð+l»N¥×ý-<[¢8í7ÜÍÁ<˜¸° a†Ç¢›{c]N§,,WùªYqJ Ü›ÎñšüG°|ë6vìZ@«b)+÷Ž, _£ x¹ð.߈á[o“U‡Zïn|¹s;6}No%¶ „B!DÞÓÙº ¡ÛB– òGs‡«—Îsrç7|4¹7ß,‘U¦ÐÄíÉmlãTá%|CUçÇóÆÀô÷b^xm%Ú²¾o<1áâ©Ïëlå*›÷¹`u&nÜΫ¦•iÖÛìžØ‡I+ñڈ꤮ ÉkørÂ*½‰ÿÚã|\׆Tu.”©T™ÊE¬\Oöa?éˬc ™øõ'´-W“Ö §¬dÌxŽÙ 볤í¼UÇ”Ÿ+ð Æ“hL”mKVãÖŒwçwg{÷±¼üMC¾ïï‡0þý/O>Fùq;V!K9N“må«àRïÌíúÝÆþM>£½A ¨<øõ}†/1Ñué$šºæÔ9+šÃ£«Óúð(Žn@ÉtϪz¼»}ήz‘©*1bÏÉ AßÛ}¼m>-çP¾Ò.IÅÊxiè[É?Œ9δ¾o³­ÔH>ÞØ…ÊÅ,¨Åm¯¼K*b{/{D²ø¯µ´.’úsÅÁ²Áî`,ÈöOîµE!„B<ÝlŽü xR9îF®j­Æ´íÚŸ!}§Ò¾Ý ۔ß¶Àõñ¬¯È6]ñZtè”×¹HŸùö%nk*0ú¥.ÔóÍ©›¹Ç›Íû¬)„o…|“¯Í¿+û3{Ÿ#í>]ÌÐò9Wa=8Ì»/}ÿåG²uzKܵy±´¨Áœ³7˜“ð·é6ok¨6}(ÏÔpÉýí !„Bñ„ËÆ=‰†¢µ_eZ/Wî­ŸÏ®[*ÉÞ”~ ãºÕ¢´»Ƴ8m4raéÚ†–Å#~¼ŒÀ¦ƒùäè=¬€ñìLj¸Wâõ#Ñ“ØÅ‹¥ øôÞÌÝÄÆ ‘ìV÷ÆŸp!9Æë»ù``¡å²†wzÔ¡Lqîþ xñ³ßy ‚ùÒ§4ôªË”¿¬\þ°qü¸5-Xr-‡‰Ñ¸ÒxÒ|z»þÊ›C?aËgÙp¸<ÿ[0„ dµ1îø–ÑjàaÀJ›×7s;É?Nì©ù¼Ð¼*¥â»Iú„´aäÒ³D«ö—¯ÆÆ{3Z»â5¦þÎÉù¯2ïN>x¯%îIÎ|¦ødhUÊ”ÀÍ3ˆZÞáåa¦¬waZÏFTð-Ž›»÷R¡tžðÿã¿§*¾´úòÖßÇRÅÀ›»'Ïmµñh´Üdóؾ|ðocf-EÕBIjµÿ²mFûáæîC…†ÏóÑé$…e¾ÎÆ·ºP;Ð'®,J”¥nïì¾iÉ~¾R0_ú”†¥»³Åhe_߀¸í•}…_¢b86®Ïý×»Õ¦”Á€{Ù†ô_°Ÿã›æ0 qî|C{0ë—ÛXâÏ¥ºm!ÖºÞeâ¾çr#~Í®xB!„B<Ʋٜ¢0[£ûöû.ÄÐÙÀDøöíļý_¿Vˆ;áδ ±%Bé:6Œqe¼)pÿkÞÅÿž/Jèáé„–éH¯r3ø|íŸL®^' òÄ÷üåHìÁï9þ œ¨S|·q±ŽoIDAT=‚Ñm)™VÓE¾èÕ•÷Ì/2ɪ¹Y¿pÈ’ñ- ¢O2½m f»1ë‹Y4ó¼Ï¯_Œãå.M¹¸r/6uµaŸM\ZòöÃü?§‚æw>6ˆ/8°¬^Z®U[Ð4Ú ‡tšFeö}äø>gN½€wûLâd•‰ìœP¢‰ÅoË÷ªàA™VkñÇ·­ Wóø~¶…i5 ¢è‹`p°cw8Vâ­G(Ó®“üWpxn ¡ up &b®îæTñé,Ø<“Bç>gЀ×hµµ #&¾ÏúÉE¹´dýÆ¥R£mŒ(Ó‹ï”g^çάnº‚ #qP)V<çšbhŠ5bÒ‚çÙúì;ô8¬¡ÊÛ{’¼6†ØSСù4îu˜Ì‚M-Їsbý;¼ôG’[ñB~Ôï;î¥ñÐÞäð7ÿcÌðø„î`„Ýå«Å£Ã4Þ[Z‡á}žaCÄMZ/úŽ0ÃÃýV#ðVËö|Q¸3¾˜I}+ÿYÁè¡ÿ™­3e[aêJ¹[¹²w!£ßÈKå³®w£¶ Ö[mxþä 6.뎷Nƒ“»³ ¥fâÒ²a Z®ÐsÙ'ô.•dG,7ùiX3žßìϰYËù8Ôèó{Y4âu6&fLO±Šíymö+ø—,BÌù­Ìù>}FWæ·/šd#_©é|°íŒ½Búûñï¬ +нƒ…㘸¹ÿ0šiÓÙð®;×¾Eß Ï°­æ‹¼óÖ Þð¼Ícû0eà š~ïïgó¡4Å̽‹iê ÚB d)gB!„Bä_Ùîߢ/\'¢¸iâoÌËõbä€vÉÇ,hÖ›¾‰¤ÛÉ·å·fB}ýx¦w Soà¯7+SÉ1šS«÷á:h2MVÏaõ©(Õ.HôéÕl¹_™1a^igÜr‡ ÿY)R§õª–ÇËü*%~|ÿl>>SšQ»gÒ·bÜ͢τÅÜ?\ƒ1362®Q/ÒÎ ¹Ø?ølÖ öøžÏF7¤ˆàZ¥“3¨±Düÿ1Žø…Ö¥zœü+d¶±4¤Q¶Ñz4èœptL¸ÙÔàQ™—8Íâ9ûð³‹E#º•WZ*÷~žÉü‹õ™½faîÀ1Ûðu×ÏÙþ½<©0t!«†f×L¾œßçLXþã‡Q}ùøN;­LPÒz!›¾W}Æeê놗—+Ž-…‹{áíNF :G´ hprtL^ᤔ£ÇàÎÔuS h¯VûŒÑnƒѽÎ@ÅWGQû“!ì9ň²E1xzPT¯A_¤^ÞÞ¹ÐHƒKH;¹.aåm?š5ñK±|0ŸßK¾ÊÎ^"Ä ˆ²ž}~£vQjÌf¦5w#éQlº¼’©k¢h¶èK&v*הѷµK¼ñ°BFëFíî}©XX(rb9MÖä_cK‚³˜¯4)ZÑFG¾Ý¸VVJ©v êÞˆ2z:š&ózpóùôiV 0hts;ä·›Vªùxàå^­ÆŠ»—7Þ™žt…B!„x2es•è[áDRCáŒoŠÕ¨s¬úϵiLà²”í¸šû˜‰±¨€ž’mûPáÚz~øÛ1gX»Û‘6Ýž¡WC »×Ÿ%†þ\·™»UûÒÊ3m9U`àqY;€àÖ ™¾‚ƒWb⻜¹z䑆†´(“äVQW‚ú-Ë`=Ë6̤c½{šƒW´T ‰¿i·Þ÷YÆõ-ï£jS¾I&~µ› ‘94?‰¢jüÏC•¹õî¸n q³ÒiÜœ¹¼ï÷£w1°’ž^xxzðÜZ"¬÷¸z߯q2ü>²)}NŸ‘¿¿Â5EòõtôL~wjë÷šñqœÓ@U3ÙKM\ k1Çš—S‹PÔÁBL¬5gÊ;3ÖÛì˜ø +c+QÍõ³†Îãd’ˆ¯qødEk7# £RÖ{ÿöm^èFƒÐJ”®ÐŸ}ª“1ëû¡/Q•Ênà‚[²SG,÷ŸÅäÛ„ú^ ‚mæÆþÏx½OGš×«F  Æþ¦$åm/ë=¼ýüTÎ7šÉׯU¡PŠc.æü^ÎS–°nž¤cÿÙʯö¤]ÓºT  É¼ÀC®މÇc&‰ë S¬ ’¬|t…Ý)¨˜ˆ2=ŠéÜ…B!„xülÛ¼‘Â…“·XÏ^…Œzß~:…êP‘†¥3¸Ë²üÇš-°R¡íÛ_±qß NÿÐ÷$7!:Ÿ0úTºÆÚ—ˆ8ÿ#Û5-éPÖÊÏÕ!zÛOœ¿ÿ7~ºCõ~M)‘nÝ#þÏ/âÀ™í,U‹kFÒ¦rm^Zw 3q7¶éRl«]Q-F²4A¯Î‹ö³vrzßr&¶r`÷Ä.„VîÁâóIÀP³uóœlÿ2)sÕbÄl‰%"6í$«ÉÅ:óÕÞC9÷sô·ß8qbCým탓ñ÷‘f¾ídÛº*‘Ggòü¸_©<ù&ÔM=3ŒMß« Çq®ÈN=nlÇoÍtýt%+¿z‘’¼Ï 9Ç“Œ bÁ˜é?¡‰ ‹ºÓjÔN ½¦³lË/œ>µ”éu‰Ë6‹Éÿ*}Ñ'¦Ó¶ÃdNU¼ï·sôÌQæVËFžÌWY3b‹Í½Xüq/J¥ñï¤ZLXȸ¸Ô»»Óª'óoÔcÌ¢uì9všŸßðç []!„Bˆ|­ã³]S½— 3á;ßgìšûº §QFS,=øe;4}ï=úÕòýHRnYëI«>Á\]³=ë¶`iÞ‘@Gp®Ú•Ð{›øa÷6Ü®AÿƆL3­w ¡ÍÀ‰|³÷Õ gÕœ¹jvÀ³j nìeÇÅ$• æpöo»€®l]J%©SJïFH[´]-œÚxœ{vß'kq lFßq Ù~ø:©;˜÷ÍŸÄ¢ Õk±FÞ&:K””•9™”¹Ö%€ ¢wÙ¿é,Ñ)“Cgˆ/š;Ù§(ÞÞÞ¼ ²³ëCÚß(Z=Zk·£³2¸lûœë­Œë3‡ðö ø|P`šÝulú^m8Ž­mBåCP”ªQ´è´`1åPÆ’°\_ÏÈ—W£é6Ÿw[(V{<Ÿ ñåÏÙƒ™y42î;Ò— ²¿wl篘ôºÁÏ«ŽâÜõ}Þ~¶2>®Î8铟Wr¶|ñ©æ —v²÷j:£„cäâÆu\(5”™#Ã(ïQŒBŽÚ•qÿ¿XM6TÖÆòç§/òÊfoÞøæ=š»¥}6s,Y’œcó¡[©¦ÈN}f5›nVæÍ™ChäoÀ¥ Úd³'_¶Il˜–Ýt´z49ø"„B!ÄãîÁƒ<ˆHöžÍ·ÖQWOqôH ºØ»\½ø'w~Ãü5gÐÕǺÉõ2î¾ãàNébF–ú{ËwÁpqóßZÊM5 ÉBZ<š÷¥ÊøñLøÂ…¦Kƒp(ZƒU®òÊÄÅPs. Ý3¨Ž‰9Í×ïÃ¥z5Êz"úân¶3Q Š…´P´Þ”ãý~cðúðšx>àðã{ ϯ £„b ¹QÈrï¿ÛŒ£Ÿ+!k$l²`U¿ÄÒ÷1 äûŒjW—§Y³÷z†÷)Æ‹kùd“…JÕƒ(YÔÂÕ[8qOCq_´8à];„B ¾fúux­ž ÷þÜÇw+Ï£R'ÓïFIhÝ“4™•y¡j é_–³»ÓËáF>[?í þÓ–¥š¿3îÍGÒÍЕOz>Ã;¯Ð.¸8Ökgøã†m»ÖÁ]Ë †óö~/^ýhõ‹¦qdò}8–ªOíZæÍXA¹‚q¸qŠK7qUͨûHûœÓ?¬6€o#›1µŸÿ:Î)Ó*èE`€ ß« DZRÀ‡€¢ضüGŽy† )D@¥’ÌJ³E‰¿ñÏ;`]Q|t\Ù´Š] âk6â^¡"%²2àpRæYñê~rìÁÊwšW¿àL­±Ÿ0lS>ô>­wM¤FábÔµ^æòüPW¦ mF@Û]÷wÔøÂÑÄÓ· ·7/dÅoš;žbõìñl5ªÔŠß\Ž–/Z<Û¾Jûwú3¡÷&õ£^I…kû7p΢⿌KI´¿ãÓ ͯK§3é¨ Þ éèq/çúžß׈n1X¼B(ïš²)ŸJÄÁiôžpˆ’ƒ¾ )ç8q<Å"Šž¢e‚ð+Ûƒ¡uæ1fx&ÿG×jL¶±åÊÄ-ªs-Áº’/m£îÀ²ÜØõ9“çžGuifg¾l”ØŠ0ûÇ£¾xÖOYºú å$ZëG°‘<™Š\!„BˆÜ²móF:>Û•"’½N`sü{sÕ0Úµ #¬CFNÿš]·+0tîO[3’j몆 ¨Êÿ¾žDÓëòLh(íÆoÇÐÿU*§¸‹ÒoJßÐh.jñlÅøj¥(µ»W!ú’…zýê‘QC°rçèÆönMƒ:õi9pLaíüÖ¸)@¡êLØô#ïT9ì^õ©ñ,÷û2~Ã6¦ÕwA „ bTs ëÞèǰ÷ð_ªÆŽTµŽMï6åÞŠ‘´oT6C¿â¿r!Ëè>G}À™ÕïòBûÆÔ®ÓŒžÓQö,é] n-¦²`p‡'u¥Y³ç±è$®Pܦæ4Z‹dZæN„¼þ?Mi΃5ãéÜ  zŒcÁ¦ËÄšbM˜µ}o5~ÀÚ7{Ò²QKzû„OÜĨ˜¹}l+;6ý¿ÆônÐ2þ>t%»1oN\6ޤCÓVô·œË¥[ZÔ–FÛZÈÄþõ-³¶EBÄvÆujAÓfÍSý4yþ.›lø^m9Ž Ve䤮Û8ŒæõÛ3pö^nf§@޵)Fã ofùŠÞÓyø§ÈîxF.,y™ÑÛ Ó{Á$š¸><(…CycápÊ\\À ©¹¯*©;…­«Þ äï… k@½ŽcXkªBPáøõ”¢4þ9£BŽóf«jÔê:å‡òbÒ¦k9\¾ZC[>Ùþ/yâýç[P·qw&î.H­’â+ôxu™ÏÂA%Øür#B à“ëÙ©ÿ5µxwz‡Ñµ¯2ëÙ†4é6–¥§5 Uûg|Ìyà¯OûÓ*c±iÓŒ; z?ú/ÛÆÜnlšÐ•&u[ÐïƒSxU/žØÂË¡ì`>ŸÓ¾íCíÊ;ÒBçÑpÑÚ›/ÛåT‹-Çrýyw`GÇ·£N˾Lþñ éµQB!„"¿JÚM)­.KÊÒ¥KÕV-[<Ê< !€ˆí½ìm䋳«hõØÌ4ÍáÑÕisl,¿méƒWâͽ™Ë‹š:·[M¡Š=3—‹| ½ï=Ï1»a–vÜɾ±åsav0!„B!òÆæ-[¥…¸B!„B!DNH:›Rz¯H…ŒyÉ´‹že ¸¹{Ós{DæËç–˜ßlÀÍÝ—V_Þ õ0Ë:|î"ü¤´Žy’YŽ"¸„7÷0–‡çÝÕ¦ ó©çnÀÍ«.SþÊÊ ßB!„Bäôº)I—%!#Ö—9ý÷Ì*s-œGu¤j4×ÎþExü4èšÂ% òw%óá•Å“A%úêYÎ݈—IëŒoPŠÙ9£ZŽåÆx“¿Î^!Ê  ¡€g9Êw”)½…B!Äc󖭶ϲ$„ÈYšÂ¾T ñÍëlÄQ àŒg^çCä…^A„xåu>â(î” vÏël!„Ba“ôfSÊl–%i!#„B!„B‘E cà IDATxœíwTYÆï”„.ªtE)vÄŠ{oØ;vÖ²–O]Û®e­¸캊k»Ø» "‚bWP±  ¨´ÉÌÜï"„0 !Éý=‡$3“›çÎ3·Ì÷ÅÂÂÂàÒØØ¸I“&ê.¡ñ\»v466Æq\Ý%A 4cccd'‚Þ066&ÈN/ ;!¼ì„@ð²Á$EQÈNDÙ¡(Ф(ŠeYu—ÐxÞ@vB xƒ¢(€ì„@ð²ÁÈNo ;!¼¦"~@3{oP…S¥îb Ú@në jˆ²BQZ­‡@ð²ÁÈNo ;!¼ì„@ð²ÁÈNo ;!¼ì„@ð²Á¤º €( Ͱ TwA´ Ãp'®6AvÒ†fÉùB楴´´´´4^¥œ ¬Ý½¼½k5hÞ¡÷ð.<<\ýÙ–á3.¤¢&ªÁ0 "”D&]Áwd^òööŽ÷öö–9ªðŽÊ ·Ê2vÂE¾“–ô7O?¶îr ôÇÓszúºW¶K,¬ªø øûÊ€Œë#]œúDä°7¸H,Ä’ªÁQ™€zÜ¡nk±ÄBlçÞbôÆèô" \öý™µÝ{Í;²}mWk ±G»™ÇßIlÚ­%Í<,-ıSÝîsO¼¥àÇå!n^Ãçwñ±—XØx´œ°ûî½# û5t±”ˆ]›ŒØòðG®,ì÷¸ãÚÕq–HlÜõ[ñNÓÃàÒïM ¨ik"ú–^Ý^Hæt _ÇÑÓÓ %I’$ÉÐÐÐÀÀ@==½¢[²L9ME×hëI2Oo¼Î˜À¬F§ßVî9{1"|ãH«ËM½ðÖ[vóæº&$¨³úzL샘«ó| &´ªÛ{ÆÚƒ#®è…ŸøßÀ¿¢³Š\ú寵¯Þ£B_ºtd¡_â–1¿ŸýÂŒ0©Ò&hñö/ß5ÍóÉú‘cö'ÉNŸì÷WYZöæÅ]~ìý­mÿ½ Ë²c7.îì…Ï»å ßîéßþ 把¾¼¡gæÆ!7½Ð8C±Lë&°ðê1}ýÑëQ·ÎíoseA¯ñgP¡D ƒƒƒóó¬ã8lhhXtK†órвN” ŒEú 3%ƒ„…oßÁ¾²w½<*ÅþçùŽjãifm+6 pVlkgW)w/»–çþéY¼´§kTÌgº®CáÂ`ÎÝÝÕEp2xã‘Ý·ÞQÅ&5{ ©)ÛÀ»†mÒ‹¯'d°¬j¿ÑÝý,0P-xRí-S-F÷mb@IS|7]}ž\…]ÿw¤ëì¨Ù]IœÇ,´³å¿á¯GMqç´¿¢ ¥¥ìÏPØ•êõTOög*‹îîô;|õÕ÷VÆúê*]Å…¢r”ÝEJK¹o\F;Á¬”ä `,1&9oÏmX¾ý|\ÂÛ¤·ïR²MvqŒ0óyøš•{®=Nx›”ô!-T+vÓ\p#sCœ¡ ?ßÜñ÷ÆÑ/ß¼}—ô%:Ó…wÆ Ì :'÷}L¯’HȤä°þ}ëýpV}û?0€Œ”†â¤têá8á/·PrÞœ]»dsDìë·oß¾MɶÙR¢ûRE)(JffæÖ­[Ç'k X–]·nÝðáà 5PJ­A)›`zÌ©GPX§©³>L»2­màiŸy[6¯ñ±1HZתé®böb>Ùfd|»wv¬n)ˆŸ]¿S÷ïÌŠ]Ú¡s¨dꦵË8˜fíRk†%f(‡\ú§i¥üu#¤‰¥F]Èq‚(x¦] öïy²Ö¢Û×Õ¶5|Ò´áö‚ÃoÄO~¹åäìÛ·/>þqHÈÀĉ“ââb ```PÜ.%R;ÑÉ—–Í8òM2pb3s,+òð™/Þ³—5³% >Xä„0TþpîGÌÞKT‹­ i d)7|£N‡¿v»sr@u!lÇÅT¹Õ«I¯^zcЧ­…&ßÂ.`—Ìøƒ§>ûü±jls;€¼$ÈNò((Š©©ixxxçÎ]¼¼¼!„ÇŽ…›ššBÈr–R9;e¾}/›ÌI{Ÿð"îÒîuGž¾3Ã4ª„ÊÜYÂîß±ù¼ßÈ*Ÿ/o[òš¶”í%°¬fÍn ;Y½©aáèi+v6£þÛ´ózõž’„3ëæ„}ÜŸ„#Lí­‰„ƒ›ŽwžZ7+*léühì¸ÿ“†¹[;¼¯ÙÂß{Öµ%RžÇ¿1nÞ¯UeRB¨Aþ.aædÉîÝá7ºÊç‹[æ­zE­Pë$—B¢ˆD¢ðð£]ºt„‡‰DEUƒÒ4ÍQMåìôåÀ¸ŽB‘“³[ͱ!+Çôª'€°Êèm«^-äû‘s£>£¦6{¶-w/½ªC¼8aVdž†öÍ'ï ›Xë»æ'_Þ¥îóªþƒFLòžwŠsÛžëBÍßl—À®n·‘“»Å/Sf9¨a­YgNÛÍŸºxð¶FäP½fãa û(q€ ?ÙòbÔ¼ÀzkŒœ÷ý{ó§[DpÈ£¨("‘èèÑ#²?äJ¦”ŽXXXXÛ6­ËRDDyBQÔÙÓ§:uí–?Ëࣸ¾~M¾WzmEQ‡ì0™)ÞòlÄ9´¢\ó H’eå°ä–×TB} Î\©(…h$Irw²“FÑÌ]©(hR)×;¹ÈN D±"J…ªECvÒHÒÓÒD"‘ºK¡ITu¯žšò¥;*7 ÙIÃÀdfæSSSu—E'HNþdj*â8Šì¤aàáâêåëÛP,–àD)§Ëi©”ûÍ~¾€,+UGÐZ*-E7@Q9w£¢¼¼¼H'§ ;iA:88°,s?:==c(FÇIÿ ?7CŒs|ºà˜JŠ* ¸F÷*^ÞÞ–VVF\6GvÒ<B¡««‹M—æ¢Ë¦ý·¾0 #$G/d' 'HC#Tw´Pà d'‚7Þ@vB xÙ à 4;$*'G*•–.ÁVù#»­$7F\EC»…Ev’CfFFÂëב‘·““?1ܲ8ªkÅaff^³FM·ªU+øiªõÂ";†ÊÉyýúÕåKÚw¬lïðsù£’áJLHní ûwÊ4EÁš¤RiB« çÏ™˜Ø;8P9J‡’+tAXd§ÂH¥Ò¨ÈÈ€ö«U÷(# €a«¸? ®à"IÒÍ­*˲±11®nnÖNº ,²SaX–MNþdmmcll\AÖÑp¹‹*‰¤RŠsÖI5  Â";ÉaÇ+H•Ë(¹{ƒc,[Ñ(ÔzaÑD¹P(EJtttµjÕ¢££‹¦\©H'ªÀ»°ÈNr +VüÿBUÞ®]»—/_¶k×®`Å+pG]h½°ÈNrÀ0Œ¢*X’„÷££;vè0gö쯩©sfÏîØ¡ÃýèhÙGa'­äS±›@! ˜=gΟ.«ÇðÕwŒ[jl¢Ú 5Yr´ª¼TvÊy~hw$¨8=ä¿ðC›¦5cNÎï0ëZšŠ:dZ/l™;{úÞ³/>›knF¼ÙtoStYVÀ0 çW «Ôäï«OôÄ&ÌÃ…çv]Ve‘¸Ä|…¥ˆr€±ïÂÃûó_ù5k^®ß3lcôMZ˜”âp Ña9µNYqK[:÷ùï¬Ù•¾ù·›S•‡>ЀX˜ééäíÂHlR>cOQaqË4Vß/`úæC`æ Ro¶+M¶(œìdà9iÓLçË¿‡%JôíÞà?â[¯^ÕÕFkç1  •I0¬j¸U: ‹™€âZ}ÔûSÿ¹!#`ÎXOU%7Õ.a‹ÂÑúã6Î9í?cü6ÇnçþxÞqóæv®f5¶Àdýjc‡ 枸SÐÉ s¼Ê3›.CÓGîW¼Mó– ’t•\}lÚ݆÷›ß8äôƾö*lœ´KØÂpn`„UGmœºñÌî·*?ºµ¥F'–-‰B1©I‡~Û.·ÉÉ= 0È®œÓƒtïÕWñ6ß¾¥+úXaõ±_o,èÜs“ èÀ•ÿµ°TaŸC …ý%´#Œ$b}¤æ¶b}í+Ž KšÚ9©3 80;+«„m T\)ÅVõzûà¾¡ÄøÃ‡g6©ö*©•„³|ôûÓ§Ýnº`fÃç­{¨C·—*e1[}Ò×;ÆÍ‰m´&lºª½Tá{*‚cëD¿ÝüûÝ&k¯ È1‹j4iÔª–çgzöêIâw†ùð.ƒÉN~÷1C;w7±¶O÷AêËËgï3Yé‹äl&3éq\l:A˜8º;›òÝ]â” Bš¦‹yö¡øêûµzŽÆ+ì><¸÷!wk\ßÚÝÃÎPmÕ§A†S¥‰»ÇÏzÐüŸkí$z®^qÂoÌèåm.Ì©c„Á´sãüƒîän™0¶ý!€ûÜ;—'¸¨w¶Uå0ïöhû×óÜW[†wܨûOìÑn|Ÿ‰°äZWp{DAõe?>t&|;3¥ó™;ØŒºpçOŸòœø¶(œì$pž8$Ûž»zæ½ÂĽNîÅý 5 Ã8!]Æ]NWå‘%<Œ±¶­,‹eoüð>%%¥FMOeDVP}õW>ý²Reå.Œ– [Ýë.s@(r¿ÕPä÷ð]ÝÜ_<{šœü‰¦é¤wo_¿~åS»nþí‘ŠÖ «µwbµ ˜—§]O_ÏÓÇ'.æþê‘@ hêߊe˜·ðY#U¡à]XÔ:i?g™ôõô=½k›4óoÉ04Eåä$•ª}-¸ÆÁ³°¨uÒ õ9ôôô¼|jeffª±HÚïÂ";iy}E›@È=Á8"¾…Ev* †azzzß¿}SwA~ÂåöHJJŠ™¹yEª¬ Â";†jzz]ºxAbiéV¥jE¸äChšÎŸbfY&ÿo†aY–¦&*2Ê¿EË ؤº ,Ö¶kfµ!A’‰ ÎG|úø±"D¦'‚$I†ã Àp\H Ç„!Žc>µê89;gfd¨·´ ÐzaÏFœC­Sa0 cÆÍÍ­º‡÷P×åAñý!EQÙK@7„Ev’ONNNNE¯Ñh·°é"@h8ÈNo ;!¼ì„@ð²ÁhfO>Ú`\h·°ÈNrÐúãêBë…Ev*Œ.$W º ,²Sat!Á¸ZÐa‘ £ ÆÕ‚.‹ì$­O0®.´^X4Q®Š¢ˆ2·óïÂ";ÉA댫 ­ÙIZŸ`\]h½°hì$e§bU „(s»Jà[Xd' enW(s{BsŒçƒ2·ó+,ÊÜ.­O0žÊÜί°(s{at!Áx>(s;¿Ârj^„4±ª½ 6›| ›£çŒ{Y ÌíåAÙ²z)¬¾_@™Û•¶(œìäÔ}„Ïǃ{æêÏ|ˆØzGÜ{@ÍÂë®´íJ0εúPæv%…- §‹iÛ~t£?f[§¡ ßÚ[¹HU xº¦ÔhS‚q.Õ‡2·‡ 2·ãâ£[2c·G-lèoxtçÓ*ƒ·8W¬Ü|¢m ÆKª>”¹]ªÈÜŽ‰Žê,è¿õfªŸãÁÝ 5ÇurÐâTZ—`\aõ¡Ì튷Q&s;çK‘‘ÏÐ>¢Î[#®Wß÷±ÎŒv¶ê0­CpKô hÄ\lõåen¿©»™ÛKØD™ÛzÕúªÜdö¤[LÃõ-%?•G™Û5"Áx1Õ‡2·—æv§î#¼MŽï°²©ùO7¡Ìí2*|‚q¹Õ—…2·—æö\0 ‘±Eû¡ E~ÊÜ^ð’`\^õ¡ÌíjËÜμ?ùσNCëò~¿¼¢¡• Æ+Bõi¥°áÞ:Q/öm¼'é±ÔËPùb#Ê ÆQõÉA}™Û3c·nîØ¯_5µu©u™Ÿ·èK™`UŸ|Ê,ì¯pn ë.{ø¹”eF”B}ŽÒ$GÕ'„ýôø &€2·«”¹]ÕèB‚qµ  Â";FŒ«]en/ ÔöãêBë…E™Ûå  ÆÕ‚.‹ì$íN0®F´[ØŠt‘@ 4d'‚7Þ@vB xÙ à 4³'íN0®F´[Xd'9h}‚qu¡õÂ";FŒ«]Ù©0º`\-è‚°ÈN…Ñ…ãjA„Ev’ƒÖ'WZ/,š(×௠Ìí|Á»°ÈNrÐúãêBë…Ev’ƒÖ'WZ/,;ÉGÙ©XÕ!ÊÜ®øÙI@™ÛUDÌÜè¯ñ§þ™ÒÅÇÚB,i¼>¡%—S1š›`üçsÞß ûsdßꎖb»ªõ:o¿›¢îFNs…-³`úÕß» \eÜvhÓJZ2¯¤õ ÆùGlؾøJM‡ÍÛxðØkÆø|Þ3­]ç±%ä<*-Z/l™;{˜i³Õ·^ ŕظ?În¿PÖé]H0žn°6< ÿe£M¾Õµs÷£‰ËêòùX„åÖ:Qñ‹êH,Äÿµ û˜Û¡$ŒÄ•´<÷Œ|4&Á¸ÂêûÜ@bnÌ*›©uL­1›„ÕgÜz÷>éÝû¤wïbwô0£çu²ÒÞIv-K0αú`ö˽“Ç1ê?/ÐIE×G-¶\sã’B=À¦Fü9õ°IÐÉõUÜ­U3Ú•`œCõÑÉ—þ0àŸ´ÞÛO.k-V]DIí¶0Jµ©lÊùÙö=5]»Í¤¥ Æ‹¯>úãÉÉísš}rÿÄz*L‘«¥ÂþD ;±)çþ7á É¸S¿×5Öf3ii‚ñâ«/3vEïaGçŸÞ3¶†j3âj¥°ál'6%bÖă¦"¦ÕÑr3U@Êž`¼øêËŠ]=jåç^{ÃǨØK5eng¿œ5áɘãÁ¸ºÐzaµ||£ðž`!C}™Ûêäç-z^Œ#òàYXÔ:i…úeO0ŽÁ»°ÈNšÊÜ®"PævU£ ÆÕ‚.‹ìT]H0®tAX”¹½0PÛŒ« ­en—ƒ.$W º ,²“|´;Á¸Ñna+ÒEÐpÞ@vB xÙ à d'‚7ÐÌž|ša¦t± Ë Ãp' ¨MíV* ü¡)iÒ‡¤‡qq_SSÕ]–’ÁqÜÔÔ´º‡‡½½ƒ ‚%P*„Ö ‹ìT–a’Þ'Ý»åߪµƒ£“ì®yEF*•&¾~uùò%–e]\\ðŠÚFé‚°ý'•? C?Œ‹óoÕÊÅÕMÝeá„@ p«êxp?ÚÎÖÖÀÈXÝ%’.‹¦" !HOOstrQwA”C$1 K«{!œtAXd'9°,«®õÎ7¯_)ÝC8NTüZ/,êì‹OÍR|µl— m¦<´XXÔ:ɡ⒋£‚G6Ôza‘ä€aMW øUZƒÖ «©W Õ£ÎqHi¾ÃV#ÎTmµNCjjjjñw?ËhÄЩÂÁ£°ÊÙIúùööÿõoZÓI"–XØWoÐ58ä\b¶ú*ñÇå!•%í¦hÿi”ššÚ¶mÛ¶mÛ*¨xeùqyHe«®§+P(5À¯°JØ)ûé–þ ;MÝõÞcТmÿíß³jR31¿Ÿ_‡¿"ÓË'~õ|¥¯U­…òæÔ÷³~ÓôüænðŠ¤ ²*OKKKKKã×QåŠËÙN9ñ«‡Í¼ÀüsýìÆßtjåÐ3hÙ¡kû‡ZŬ:÷zºZÒ²AçnÍìù^§†aXáü¨å…¬ß‘U¹··w|||||¼···¬â ïX±ï8ÉÐza¹Ú)ãþ¦íOñ –ôv,pò-f¯èaúùÀÚË),àÇ•¡U«õ›>¦½Oe±Ä¡VÇßvÅ~Ïk¹`ö«Ã3»øº[‰­]êv›uøE&:qS3‡¦3þÛª†…¸ÊÀóߨ´[K›y8XZˆ%b§ºÝçžxK:qSS[¿?_°oÖ4·K,Ä­ÿýÀüÒÙ£?ßøgt›:n–b·ºíÇnº“ÊL9ÔÞÑw⩽›Ô°K,œZýM™æ~ÞÛÌÌcäÿÆvô±¯$,jôZu'¯AÎI<9¯{]3ÀØ®fë »Ê~¯ôÅòZ’†“f oíam$è[×¶ýI~ž;êÝ©9}ì3—Æ#7G+jÝõôôCCCI’$I244400POONÚK¶¸húôÇÓszúºW¶K,¬ªø øûÊù÷øÙô;‚;×w·µ¸ø´ºâòGY8¬—‡¸y _0s°¿—³X,©\»×⟇€OÌìÖÀÕÆÊν^‹Îí=ìÛÿ—ÌIß̘ù>zæv½‘•[š¸µ­¹e½‰ñ{T™“_¬amDΓ¢2AƵa–‚_0îz¶”½U„-G;Qo.ßø<ûø[j­1Ó:½ýôs¢Ï<Í=Wr>ß{_}â–ˆëçþÙ6sß”vCÂÞÒöË™±mÆ_u°ëúý{‚LŽê³ô~nôZ˜ù8<Î~ÄšƒÇv/à¦&UÚ-Þ~ââ…㻦y>Y?rÌþ$¬rÿC÷s6C÷Ý}»·‡e²Àôë3ZuþëEÝYÿEÆ\Û5©Ê½ÿµo»(Zö0ãåÙG¢Nswœ½zfÇP㈹Aÿ<.!lZÁŒÈøãù©8³îí¿~ÿƾÑ&'¸òQ̇ëv]û­Óª‹Ï^Dîi~lx½€5ÏdÇfÒîž~í³ÿlVIÁ×)€a‹Àq¢œùñù ­MŠö}…öfàÇçïù×;ûÖ=[×µ%€G5OƒWµ‚Öì~Ö{¦Û›=ž®±¸¿§U†ÌûmWýÕ»ͨ]O¦Í'Lìëg”wˆš=†Ô”ýå]Ã6éÀ‰Åײ4’ØX‹¸ ’•­]nNây;°ŸN/Ùý©îâ zØ“8ü{Ç‡ÈÆkW]›ôofÐ (x`sc@ÍIS›lpýÙwXCQò-)-ea®ˆPJCÌÐwìä-ŒÕ~›ÞluïK±_f¹|Ý±àˆ´ýžÓ$8vAv<¾ÑfùªÈ!kjS Äl&Lè]Çà:å·µ›¦_|òm¸Áûsvdô:¸fT“J€^ÌÛº+èŸëËü~ž¥t¬)--ö3·ï`_Ùß^•bÿó|Gµqþu«o7Wnxâ<åÊòÁ5ô•çnýv·Þ´¿OÏlÖ¿«>xÊðžNS:­ïx/:YêÈ€ç›IDATç ŸïZzÎzêÍ©-œ—ZµŒðg x ^uÜÖá ƒ‡®­ÜãÌïOºìÜÑÖŒÉa-Æ4ž6-ôö>ŒpxCLåë]1™,8Ž@¿;0iÚÕ*so©‚çpÕɳ°EàØ:Æc@§~ø^´“ MMJÆ9F„¸aÇjàíÝ7Y óÉÅgtbHkG{ßÙñðÛûôâz'Ÿonù}P×Vj»»Ö›ñHshÅØœÄÛÏhç¶­ò.B§–Í,³žD(¢4iln€3RVÁq‡ð—~6úÝ„ì ›ùâêKàÑ¥¾yÞˆÀȳC]ýä{SiÙ>ù»àFæ†8#¥Y³^\ŒÍJÙÛÉA$2‰ÌÌ܆\g²¿|úÁÓÅÏÈÈ aÙça˜ŒŒŒB]|Å rÞž[=)°c ?ow7ÿµo4»ÈÜ/õþÞ£ IÓÖ.y½Òªqöeä›"g alaˆ34üñôz’iÝú6Ü2 «mý³VÔôŽ¿½è³eq+™”˜¸Õ¸6ô‰Í·Ó!¤^Úú¤ÊðžÎ‚Ÿ;Ißü7î·KUçnWM¯øáÒ¯C Õ[Ž› šù‰—ï;x%y` MAãÀoÑof kµ©j g7L $Ndš5æÞÝíg0”PÔ Y±K;t•LÝ´vYÓÌ£]jÍ(©|Pþx‘[BÓ"àQðn#„?ójå¾þY1¹9‚ò6²ñv~Ádûä~ !¤)8L?>Ö-ÿÄô-,±¿¡àÏÉÉÉÙ·o_|üã5€‰'ÅÅÅ0ÀÀàÅ‹Q`Ú•imOûÌÛ²yAÒºVMwÉÛ¬œïÙ4Ks½/SHØÜ7 %}¤æ•ÅÂüŸaêÔUØ{Óµ?§};jNìì@æïF¿ ?åjµ?nŽq*øÙrËË«°r~ ÇíŒjèÊÜš;ëЛ×{&õê’)û¿ZôßB,çHLò•ÃAU7ÌÐÁÛ™’{ƒ?žŠÎ²©WÓ ‡¿¶Nðg'¨\˼¹x/GüS [ }¬¸‹¨©©ixxxll¬——·§§Wlllxx¸©©iÑ 0[LÅg=9|æ‹÷ìåAÍ\%¦†BâWÑóvÚÔr7ø|ýbB^ýÒÉ7Ï¿&«ø9é¯.ªæm‘zñhìÎç\¡BK“Nüífó?ÿ×èÙ‚á!±™yïú ïgv-ôôµÃ>ÔÙÎÏßáÍžñS¯UŸ:ªª°¨Å¢ aåèÁUý“·ýÑHzbLãöãVí;sõÚ¹#›föjÚ}S’ç„틚šþ¬£O·O_ŠyõæyäÁùƒ~»$ œÓÛQôk S›¹>¹çÄ'oÅÆÇ\?¹gÛÑWrû¼„©½5‘ppÓñø¤Ä{G–Nœ÷cH‘[e2éÌ‹Ÿ?Šyô©ÀÞ„UÀÔÞfQ³†Í?ýúý«È°Cÿ~Q}ìd¿RSTÐÙË)p œÒž;tÙéØÄw/o;dKZ£Éc<õ‹ß’=kkôh^·!K^‰~øàÆé°­ûbÒÙâjB(‰ÂÚ››[XX„‡‰DrÏ𦡼Š'Í%죛Ï?ÿêfØ‚I!/eFFÌÓCÏ^8ç3 D‚‡;¿X6dÚîÛ/’cœqÛjàŒ+Eçˆ÷¸àz)[\uì΋7¯b.ž{¤ø&ä¯ÂJß„ŸÕlõŠ É¡+ü_ý5|ùý¼Î–^µCìoÌ¿5ÕodKI^wšJÜ3vÚu÷Y«Ú³YYYYYYÙRV®…P…°Eá~3¬1þàíC‹û˜ßßüû€îÝûŽ[qŽn17ìö™¹ E“6`“Ú~½Þr˜qôòŠ–8@ètðÒºa61kGwjÙ¤ë¸Åa×2ä OØö\:Êêìøf^M†oüØlr7«Ü&3k>wN³s@óæÝ'nzð½Àî¸y«•öÛ\›Û½®W㫟7øûüÉižòz œPè¦üׄmŸ]×w "OlåY£Ùˆíi]¶^;0܉Ìݦ@'ʲC!aÓkÇÕÝS=·OêܼQ›¡s¶DdÜš«ŸŒêÌ=sr¡Ï“ýyÕë1ï¦Ã¬ãç—46UÜaº ßsxn£÷‡µkXËĺ;iŠgÁ K½Þ5fú}ÿUKÛIp®WȪ6IËG,½óC¦éÔc¤÷·÷¸ÿȦùƒÓÌû«]É’ÞŸ×ØÞÊÚÊÊÚÊʺÖ²ŠS¤ˆ8ü [~3hü¸2´F÷7 ã"ÙV¬ÛßJ@QÔÙÓ§:uí¦–°ôâøú5ùþ]é{)E:°? ÀTd¦Š‚qäÇ•á½>®~|¢{‘yS¥…e¿ïWç7Ñ®û¡ÍLÊ\°reÐA’,èñÙ!XŠçF+ĪˆÌg¢3ÌšÛÊO)a™w'Ö^1èt´Ž1«hV)T-,²S1pHó¨Â/Wþ«I’T£èä›Çoe;Vw2H‹;¾zúúOuæù(èds–zþ߆{âK= x¬U ‹ì$.iUøí¥új©T‰Ž|3¯í[ºõêóÊȦ¦_¿Í—§v©*g¡Nþö…͌ݺý¹Cÿ­Õôø¬U ˯Œ›mOLáõˆêjZHuUª7ý¿›Ó9oÏUXƒÚKb?À³ªµNòIOK‰Dåÿ½UÝ«§¦|)ÅŽj ¤Ú-,²Sa0$™™ùÃÔÔTÝeQ‚ääO¦¦¢Š•$óWtAXd§ÂàáâêåëÛP,–à„|!„¥«°,[ºð# MË ¨œ»QQ^^^¤ âV¨.[qÕWA:88°,s?:==½¨Ð$IâZ²ÀÊP @€É#"IÇ9t'0(,.ð<^ÞÞ–VVFò7¨è‚°ÈNr…®®.vvv4--õà+åúÛR~) +²—dh½°ÈNòÁ ÒЉÃ?Ú-lŹ"²ÁÈNo ;!¼ì„@ð²ÁÈNo ;!¼ì„@ð²ÁÈNop´Sfd°»…X’ÿÏÒ©v—¹Ç”ø\(B£Q¦u²±ëìù‹Ξ:²kÙ›ûë‡Þð”oC"ëîTIó­o5"é+BçQfm¯¡mu/o4hTÏô±÷ˆ£×>ŽwwÔÚõÁ„r”vì„ LL€ dÏž“ &õîÖ‰üªÙI,l«Õ ˜x8‰ ûþLOIÓЄÜ6Gúz}S±Çô{Y¿~ENÜ>mw|fÎð±–XˆmzC½@D…Fé–²tNZâÃM<‘Ó`¹¿%òR¡=íü÷®åMÅ_Î.<ªÀéÚüÚ†ìçãA]g<ï¶rë?k,5áeŠ¥gëU›q»ÁœöãFÞÛ׎ÄõÅeŠ@¨eìôtA=›y/¬Oü7´¿=  ^— üþö]¶žc]¿:®ú˜««‡ReT²´µ4!p¡ÈÆÎÎu)å§"NmìgÄýBvÌne-{b¿øTh‡3»DMñ­î?tÞÎ+¯åÇøG ´eìdh[ÝËÛ»~·!}ÁÞIÝþ–›ö(/ZÔÝ;÷îÞ¹w÷^샘ûšHÛN+.=¾ñß¼¶Â+ózÖõî·õe~Í Íˆ@p£S¸¹ÿÜ3·MX~7JJ…F˜º·<3ôÂÝÝÝàŵ»ŸåŒlFjV1mUŸa„€¬¼iDÅ£T3{¸¤ÝŸ‹[Ù0aM\ R¡Q GC6ºxçÑóç±×NEĦã–¦Úùz%îZºýRÌÃè+‡7®Ü/?qUkøìÈ¡Ÿ=¼ÿ8µhâO¢Qʉr¦ëÒ~oVOØð8GQ*4øãÉáEÃ:5÷mØ2pÉ*Ó÷ý;Àž˜EëÅëG»Ýß»eË^Á›ãÌ›7±P4 ìº-œêû~E¦þ}f„½RñMc¢lð›. Ð]ÎFœCK`Þ@vB xÙ à d'‚7Þ@vB xÙ à d'‚7Þ@vB xƒóCyR”TJQ,DÏ,!tÇI@OOãöÜìaVfæ«„×Q·oúô‰eÑÊn„öƒã„•••oß^^rS»…“(Júòõ«Ë—.´kß©²½Á!½6w „èIBÈ­Úta©ÓQóÃ0ïÞ¾¹p>¨’‰[•ªTNÉ4p²“Tšs'22 ]Çzõ”¹„Æààèhfnvõòe5¹Ø‰ÓTËÂOŸ>ÙØØ–¹x„†!23§¤9`%oÊ}feGÓ€]„a¸ö9‘Cˆ’Á85Nœí$ K_B7àj' Ã)Š*y;B‡Q¢³§ÞYKB-àÎÐR®«´(„¦£§§G3\×- ;!¼ÁÉN† (ä>Q\['œ×…E„V‚:{D 04ïc'hÎó„6A3\sN(Ñ:± ZìŒÐ90Ž "ÜíDJÐôô¹>;¸Û‰ EF]…ó4@”‹ì„@ð…”’rA!;!¼Á}E9Æp^¹„@è&J<ïÄ}öÐ"T0QŽ@è&úúú ©‚'r8Ä0’ì„@𲡆apœëãŸwzB½ïß¾•¡T„FòâÙSkk>ƒ*“¡§§×¥‹ç%–·*îüUV Š¢ZG'3³²Ô]õÀ04•£ž°?ß¾¥Ú¿¿s·îãq²“žž^M//ÓJ'ÿøq³ŠBþ“AjZø1ÃÊ2 b²ÿå†A==ƒòüF^Ð×ÓÃðò^‡axçnÝÜ«UËÌÈà²=×GÖY–uu«âáQÓùX°(¢“î!¤(Š£—€ù rr¸D=G t]ojAvB xÙ à d'‚7Þ@±]!øòIÍ`(xÔ Ã€ÇLpKBÁ³§ Ͱ 9/²Öh0 à œ ¸ÚÙ©X ¯?KßN{ôâ͇/ßÕ]•C¸¥™‘§›}†¥™³X ×Q4%Múô0.îkjj¹°¼ÁqÜÔÔ´º‡‡½½ƒ€ÛÍzd§bùòƒMJþz÷Ñ«þmk¹9Z„–wŒ))ý4áÃó±uk¸˜è[HL /%c&é}Ò½;Qþ­Z;8:‘¤–ŸŽìT2ºtî=Á(9é€ePœ=>¥úÇüx¼wn?ßêVz"c=3‰MÍF]¦nÏ.åѸÿËŒžêdá·á-]ºÝÕ«ô'‡ iæneD’¤Ø¥^Ï™;î¤l-©Ç‹<ÈÊ¢2óßxµ£«˜´ìùo‚zâIµNÅ‚aIâ”êƒ?b× ê5óÔ'ûÖÃ&­òõq1ižD¿©dD”ÛË»;0Lµ£&æóÙÉ-:®{l×zâ¬Í-<Ì©Äȃk—Žh¸ûôÖ+ÿv‘·Ì‡ý1%`ÄyÅ7vpR d§bÁ1@à8€J¤÷É~»6£÷ÌS ×¶;ÿôu5È›êÐ TñòŠÜ©]ÂRôÚïa÷›0JÂ&‡ \÷¸Ú´KW56“u›Úv ìå×¹~ð¨]šà*ù­(„²–wí¶‘˜pæðd/CUÍß+sTÔÙSìÇSnÿ(ºª€— ópõÐfUÍ Ì+ØU÷ÿm÷ã,€ôEHC›–Sgïèå&607³k:zdzüX`ÔûKKû¶ð´±¬dRµ~‡™ÇßÓ˜õòàä.uì,+;{Ì:ø,“J=c'úíÑ¿§Ûmœ•ç%À ªÚ0¿&²->ûפ‰aÃÚÎzÙy×Ù¥-,Tz³ªH5­›Ð,«ôø##îX4c0°N%LþFN‡ý¹éÄKçŽ,ðÿ²slÿõÏ(dÒîG¼v°rߕȓzdì7îß)I>1ª~ ßšÿoÏÙÈ[{þ ð± ûùÔð6A—\‚\tÏ8Óú,‰ÎÈïâ•zäD+\¨ªŒã?bÃc€Eë>Þ…WÆ :öu go|*pR3)—f´v¦Æòs[úØ TR _Æ-f%@½‘J¥R©r‹ŒØo>gS#HåHåm€ÛµØOögêNsìr9þë„Ê 1ëÖヺ×Ö¸ü6nýæ¹Wž~b£—°gI¸`ðÑ]Óš`×*éøç7 º¸ —NæOÜV{íö{S<½i–¦©©òg~‰Wb)-eUÐ]e¿%§J¨²1[$D%4¶3àÓû”,ÊZPRé›ýó.<7h9½“)UmHK)-·åƒì¤ÙctJ„f"!xþ29V“¯/›ûßòu‡n¿xó6)éÓ7êåÐ „²1+\á†f†8#¥3_\y¥W{v ã_F-/=£ß<ñwÛ ëb°R)ؤSyC¦Òd AŠÇqU2HÁôÍDðêMªÂBS Ò¯oS0¶4ÆaÞ—“ƒwn£ZÕãOçˆ9 *©0œ¥R AA’8,ÅÔG›àÂ…‘©MZˆŠÖ´4asÏŽó2®]7ÇßÕÜéÙ÷;ÍôBögo @Y¤M±™RP°$¡¥,¨>7b{7«|†b£<÷C”¢¸"«àTt×°f/pþÂáG ëü@úöì¡§À~R !³Òºë?'–|h6£ËP‡›{;ëñ_"JýX4v* ÙI­Ô?¶ã´^fé‡'N{Íþ”I¾q0Ú¤×ß³º{Û™ë“ù_ |å//õ*ײ¥cOF§ÂÇÁ ½lÀ‹ ñ„¥m>V"!–»# •-vÞŒ[âXU@ØtœØÁøCè„å‘éÌÏ·³žíœ4ÿ^gÌêzyï P¿Úè=ÇÛœÐiÆ¹Ï´ŠŠ!„Ü»'¨u*¥Ô̧Ró%[&=ï»f|Ó&G éÞ¨š1Hÿðôn Õaæ„*V• ¿Fl|¾OÌ]ÇN’ª¦\ÜO,,,¬m›Öe:Ý´”ø÷Ò+‘FuóÍ’??§I°2ìFÿúžEZ5Š¢Îž>Õ©k7\—Ò>PuèÀþ€€S‘™â-ÏFœC=EðSei ¯ÅI² SÞiaÔ‹2­²S @{AH’%ü\ÕL”WXH’äî(d§’Ñ©³B˜#Ut'W×®/©”koÙ©$Jœ8Ö.J´ Ô±ë‹R ;•À×´o=•Ý#¬xÐ4Cà˜‚ Êéii"‘¨K¤f” Þ„ìT,…$ñ-‹²Ð´Œ½e!19]bf, äø P@’™™?LMMË¿`ê"9ù“©©ˆãd&²S±ˆ {ë“7žwjTµ²Ä„w†BJ3<>ÝC1|u« ÙT k[1€eæHOÝzQÏÓÍÜHÎÙƒ„‹«[Td”¯oC±X‚sˆ2MÓ4ó¢R©”·~&„%Žˆ •s7*ÊËË‹pr ²S±Xš–fõ<Ý.D'$Í`Šy0Ç0=aid$ œ,lQ9„ 2àVµ… HB@–`@=O7[K3±±œî A,ËÆÜNOO/Î'†q _’ ˆ"İ'Ö„ÂÒôÆq'®÷¼¼½-­¬ Œ¸Ù©X0 8‹&úæ–æ"ŠåsøaW0:QÌp±q± iB¡««‹Mó×Pä¡hĦ&0 #$G/d'Å`˜Eƒßë28A¡ÓF>:´ZP5ÈNo ;!¼ì„@ð²ÁÈNo ;!¼ì„@ð²ÁÈNo€³çÔ] Bø?œB³J°¸¦IEND®B`‚mathgl-2.1.3.1/texinfo/udav/udav_arg.png0000664000175000017500000004255212142400477017640 0ustar balakinbalakin‰PNG  IHDRB•ôo\sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœíÝy|LWÿðsï¬Ùd›É¾I&²ÇVÄ–Ä’ ‰üPk‹òРvjWª%´hQ[IÅ.HBJí„XCHb‘Eö¹w?‚J&ˬsg¾ïÏ«LfÎÌg¾3çž{ι؞={€Ëøúúú;wnìfjèüùó|}}}Ç»%€Ò×ׇ2€Û Œà<}}}>BÊNƒ2€ó Œà<(c8O”1ÜEŸ š¦»%€‚2€ó Œà<‚ ø!(c8 Ê΃2€ó Œà<â€Û`¤Î#'¢±›¨¹߯ˆoc¸Š ˜M çAÀyPÆp”1œe çAÀyPÆp”1œe çAÀyPÆp”1œe çAÀyPÆ¥˜‚ä˜Ãײ¨Æn¨-Íʸ•}>bYô3²±ÛjGKsd_Æt~ò±ŸÇµõh*•H­\}Ï9ô‚íËÅdè%µ‘PP³V–kÉû¿òs·’H­Ýü&Åf×ã¦LñóK{~ÕÅQ"5µ}®NšßÈ´0G:ïÁ‰ÈƒüZ8[J¤¦Þ~ÖǤ3õõp€ÏîfLþõ!AkR=ûÿoÊHw*3-%%ÓÒÉT€BDÊßN;ƒÏ\žï!ªä÷1ƒ¶³7GŠÜÅuÐä’¤ŸF.Œs˜º)f@scŠ13¬e‚)N‰úqÁš‰OŠ­·u^5ÊA€BˆLû}hèÙí’¿áp´½±igŽäóS»âß»†MùÒKfR’rê×¥k†u{ôûÅ­}ÍyuðDÔ»2¦ßÆ,Џ+›{!æ;×Ê®šÐÖ/̶F¿©„ÌNÏÆ[­˜Ð§a]Ü]ÁÅïûŒ?å¿édro™8ÿé“,ÁÇŸ š~sèá#qÞÑÐMPÆZš£Èã»=ÑŸnØÑ·[kÝŽ]"6}:Ø\3Ž*Ù= šÈ/ QXD–ï‰(žnöµê°ì1ýl­¿•Dj* ØùšBò; [ËB-ÙÙÅL"m9ãZѧΙºÎWÖ}öá}}œ­¤¦æ.~ßî~TòáÞ¨œÄß'µp°0³óh×#¬»³ãøüò×tði‚¾0Rf*‘š:O¼T„bŠR¢çèìf#5µõêJÊÄ,ÝÝìŒu„zfÎÞn¦Ÿ}´a"±f$çX¿‰™>Òµ0ÓÕ˜dÙ=¾UèœaöéúO<~'ë¿Í4ù6C܈þÖY~½ïzÒ­Û·÷ö7ã!„õþÒñ-§þv8zû‚Þ6e^QêýÍØtû!Ë÷Å%_Z¸ojøîg „ñxËð~+Þ†lº˜öêQŸ3}JrÊïÚÉ·—¼£«ïøûýW/_¼º·¦."Óþä7.ZçËÈÓ‰‰'Vö&vŒôõJñéá*m Bˆgžž©.N‘4ƒ™·s-;¶0©vÔÃb˜LçÜ»þFÔ2Ø[ÿÃ?àÆmBÜPú¥´’Êî@éÅÖ>_Ί<‘”|èkÉíÈÕ—ó«ÿÎÒÚ™Â;þ/`úín›ÿÙÞ\cÿäÔŸÊG˜Øê‹°iÛb÷ö3|°ecbaµ„.É+¡(RQý-Ë*}#(‡‚³Ì©8õìÙ{Yƒ]ð*åE!²ö¶®‹X5§m9RG¾í·ôõ€ÇWõµªÚ8uWÃ|†V(d`nÀGa<>Õ ¸²æÍ]ÅéGcR«?8Å0„>}}ðŒÝZHå7cî~<—IçÜ8‘Œœ:9ê°yXòíå} C\¬%©ÔÑÿ§ÌàõM÷Ô îVÕ´%G*ãÈô©§í_ÑÓœå9VNa÷œÈôßú„nu ìÜÒÙÆ@ñ:)fûÖxÒoÕ8/1Bˆo$³á¿<uf ®‚¸{˜×¤%˜±ï´±²î?¨·|| ‹Þ»«qi$ãZÁ K?ž?å¯ã=nBË]‹Ç„;GÎv¢îG-štŒòÇ ¦ÊGdØùõÜ…÷×…Œx½êüŠÖeÞ4tÁÓ©¹ &?="ù)w“ up‘™ÌÅR‡“}2mÍQžüDz˜â‹\sïܸññá¦Îžš1XÍò£IäÒÓaìžÕQ9r¡iS7OŸ™Î*=»Žû/˜ßsIJaþÛ$îÖü%P¿ºû«NóYvãÓ,07tnïVYOÃóÙÁœÈyÂÁxã…³×}Óe^¶ÀÊËwÌÞ„)*ÙÇEúzBWêÀ]›×cà‰g3Cº#„,¾9}cyKnö»µ3G"ýÄá4D¦-Øã³Õíý÷ƒm~5{ŠêÛ³gOÀ€ÆnF˜ìÃ!®“¤Q÷¶7ÄKMg[»é]ÿYýìX}öÖ Çúvêt¬Ú(0¹‰'’is_ó†ŽÀM}§ÌkGÒ2cCP«2&žÇ¹)hænÍ{s-jÅìhEÀú¡2UÔ|cCS§2¦rïŸÝµø¯+é¹´¡]sÿ‰{ÿ ï¦4[¨=ȱÁ©ï±1€S§c5c¼­e çAÀyPÆp”1œe ç±>Ç0A’A3»¦^à8ÎD¢Ê—hAŽ\P}Že±+c†).*ºöîÄåÔ´W95o¨O|nknâãØÎ»)MWT¥ S\T”šžvõò匌 šÖ¶]Ù¹Çyæææ>í|<¼½+ÎQ «2&òvjæ_g’û÷𑘚ðxÐWG4Mg¾ËÞs겞A‹f–„\^îA>IKM8ß+¨·­ÇvñÃîÍÔ†aµÛjšeÕU¢¨ÏŸÅÇÖkb sn¦œ£2VeL’òWÒú÷ð í(«u#A}r1¡iúÔ¥‡m=í•ã'Iùµ+Wzö iÓ¶]£´°dgoolb|.!ÁÝÓM³ú^¥iæyÆ{©Ä¤ÖÍõNOO§„ +ÚÑ4“‘‘aiiÕð­ª226!Hy…9*cÛ=VP4ŽC_š¨Ê{v4MAŽ\AQl QÍ„qr“!PËÙ–±X+Í4Pë~5Û2ÆqL¡€óœ‡a8Ahò…1´“ j©Ýø>P†!Œ¬r“Z5ÛËÌ‚FÆãW5ˆÅãAŽÜ «py^¶e,ÀЈ&à `2&w°î×¢Ôo•?¨ÊX›$¥Ò‘PO$A²ÌÊÎc½Â Ã(Ö3<Ú GMÄz½±H[¢rBÕ0¡PÈþl$hTõp pŸÏ‡3ü@,#ÖKƒ¡Œ5P±æii9‹=1KAÀyPÆš†¦i˜ª¥(ŠÂq¶s®X®7F:B^aQI-ZHæ»l{s£ /_€aH$åçå5|«€ª?zhaiQ—á „½löž¾‚!ÌLjRûŽšf¿AI½b†T•[ƒ²¶Ç´Å%òƒ±×Æök[á¾y|ÐËËûì™8©™TæìÂþâ/•Q(¤zlÐGÑ4û#ÉúÅ0ÅÅŵ¼¼¼Üû÷‡†õc¹ÿ!«2‰D>Í›6Ù{ëÙ›\…ŠKdtÅ‚úžT$äóÕmlÀ`ŒJƒøåðq\TÏËqÓ jsÖ¶µ«MQa¡òOE"‘§··a“ãG¾y³EÕK±‰Db¬žWÈø|~u. Vú·†x<ž@P«¹Z8†©´°A†á¡aa.®®樌í–.4M7w¶hëa‡©Õ5`—Dz†!¢Šìišv’9»»{@Žê¬ÚËQag&B.gsU( æ GÍ£NÉ€2€ó Œà<(c8Ê΃2€ó Œà<(c8Ê΃2.Å$Ǿ–¥Ë5@ÍiiŽPÆ¥¨ìóË¢ŸÁ®§¥9²/c:?ùØÏcƒÚz4•J¤V®>ƒçzÁöåb²ô’ÚH(¨Y+˵äý_ù¹[I¤Ön~“b³ëm§?*çÖþÇ}ábc*‘Z¹v¼`߃B®Ïá×Âÿ#ð‹¯Dj*éù×[Ú’åÒ&ÿúŠ 5©žýÿ7e¤» •™–’’iéd*@!"eo§Ág.Ï÷¨lufÐvöæH‘»¸š\’ôÓÈ…qS7Å hnL1f†µìQ0Å)Q?.X³#ñIQ õ£Î+c£F9B£ÞÝ}Âk1hæh3"íÆéíÃ{¦ë]ß"åj'F;süˆLûsêšô¦Ö¼ôÚ=’úaWÆôÛ˜Ewes/Ä|çZ³u”B[¿0Ûý¦2;=oµbBŸ6†uqw¿ï3þ”ÿ¦“ɽeâü§O²Ll>fKº/ù½ûÇöîÛæý¥^çïd*B¤½’–æXJñêÀ¬¥)]Zm°pìãºxD5Âî&ò hD‘廔Ч›}­:,{L?[ëo%‘šJv¾¦üÎÂÖ²EKFvv1“H[θVô©3F¦®ó•uŸýCx_g+©©¹‹ß·»}܈ÊIü}RP  3;v=º;;‰Ï/ÿpMŸ&è #e¦©©óÄKE!¦(%zî€În6RS[¯Îƒ—K/ùÐP¥–”ß—Ê}””‰Yº»ÙëõÌœ½ÝL•>Úhùû7/îZ2÷@á_õsâh #­Î‘~wjÞ‚«-. 6çjWª ìžß*tÎ0ûôˆ€ý§G¿“õ߯"|›¡nDk,¿Þw=éÖíÛ{û›ñBˆzéø‹–S;½}Ao›2¯(õþflºýåûâޝ-Ü75|÷3Bˆx¼ex¿oC6]L{õ(áÏ™>%9åw0áÛŽKÞÑUˆwüýþ«—/^Ý[ÓN‘i ò­óeäéÄÄ+{;FúŠz¥øôp•¶!ij ž1Ô>i±¿SëÐï"%e*mšRteª·£gûÞßmMë°pÍ×Íjµ­CãÒÚ™ÜsKg´ŸµjmýnüÑHX~2ñ¤=V%œß±°+yrÑWþ.²¶ƒÿ}?Fñô¤–F\ÐÄÜÊÚÚÚJ¢ûq»ÐÉãÃüÛû‡ùZ–}í0‹Àð‰»´r÷ðé?eR úÁ¿i%&nˆ¸ÝjiĸöV:|±Ô¥MKså—ã E">B˜P$‰DBŽJîüqÑpøÖMººÛÚ{õš¾e]Š]½7õS•·!Ä3ëõË…¤£¦vPÄ/Ý­y.ç–þÐñžþ÷Ñ}[—ÿ¯‹(nN×°µ÷9¼³ væÈ\[5e¿Ñ䈯eÜíIU‰}ƒ×Ä-hRÄÑ;Ï“Nm™ìþxÃ8ße×ók;nËÓ3ÕÅ)’f"óVb®eÇ&Õîw…aŸïúBçÜ»þFÔ2Ø[ÿÃ?àÆmBÜPú¥4Ö冉­}¾œy")ùÐ×’Û‘«/—éb:6^ºõ»tOÜ–½Äõ×Ùn­¢–´/Ç’{¦lC£~ù¶NFæÔ’ÊÇ ˜Øê‹°iÛb÷ö3|°ecbݽ£é’¼Š"UÞ¥²ô ¼ÅÛÍߊSÏž½—E0ѯR^"koëŠãæ[ø†¸ âœbM˜\ =9\ýeãCâÙ¯AöR©©Dj²7›ºñ­»¹©¤oŒ¦lõ[ÃÃ}†V(d`nÀGa<>Õ ¸²æÍ]ÅéGcR«ßÑÃ>»º ÏØ­…T~3æîÇs™tÎÉÈ©“£›‡%ß^Þ·0ÄÅZ"‘JýÊ ^ÿ×tÏŠ‰g1ûîbÎþN¬î˜´!GÝV cÎĉÿðçø/zÈeæþØ3 ¿tÔ«É3TCìN8‘é¿õ Ý&êع¥³âuRÌö­ñ¤ßªq^b„ßHfÃy2êÌ@];!q÷0¯IK0cßiceÝ:Qoùø@½wWãÒHƵ‚–~<Ê_Ç{Ü„–» wŽœìDÝZ4é?äAMY fì‡üznÈÆÂûëBF¼^u~EëÏÞ4Å·#¿ßòÒÜÕÍÕѨäÑ™kw^·žpd»;VGZ™#®oçám÷é†EÅ/ÛÞÓ»¹™æ Y³œþ!réé°?vÏ꨹д©›§ÏÌ?g„}˜%aì¿`~ψùo“¸Xð—@ýêî¯B:ÍgØO[°|HÀ\Üй½[e== CŸoˆ*ržp0Þxáìußt™—-°òò³7aJ ¹*{Jã"}=!Ž—íÀQÅù yZܶ›³å—àîá©?äÈU稌ÕM3––Vµn¨wFÆ&)¯h;È‘KªÈQÛ‘jš¦p†µ¹¢*ímBŽREŽå@¢š Ó¶ý/4ËÙ–±PëE5䨑ؖ1†áQý^‡@ÍAŽI…NµŽïe8†SŠª.t 9rBµ9–¹q½64<‘H¤ `^ç©”#”1œÇªŒ1 `3%΃5ÛocœõÄ= Î Gj D)àØX°Ï‘u3HÁzÜ 4.UùåÔ Gî¨*DzTø6¦)µ[æ”aÕMü9¡Ú?ǶŒy<˜ÝÇ "qUkÍ!G®¨:ÇrØ–1_“ø¸£ò #—°ž¨C\ˆ†yZ}ŽPƈ$H•ެ€zbŸ#”1œÇ~…FÁL]îƒ5’ ëٟŪªnäÈõp p…X,F†¸8O¥¡Œ5œÅ^Š@ý±ÏÊ΃2Ö4Eá8,câ<•rd¹Þ‰„¢ü¼¼Z´ 4ÇZXZTxùÈ‘CªÈQ«Eä|ÐËËûì™8©™TæìÂþ¢!•Q(¤zlìFÑ´ºI2Lqqq-ï#//÷Àþý¡aý*Ü7rlõŸ£2Ve,‰<½½ ›?zôÍ›-ª^ÂK$cxýN*ðùüêÞ” Vú·†x<ž@ ¨ñ¯³c˜Jâ•aæâêZTX¨üSÈiDŽÊØnéBÓ´“ÌÙÝÝS«kÀ.e1 CDÙCŽœPmŽå¨°3!—³¹*Ps£æQ§d@@ÀyPÆp”1œe çAÀyPÆp”1œe çA—b ’c_Ë‚]ª8NKs„2.EeŸXý ®nÄqZš#û2¦ó“ý<6¨­GS©Djåê0xΡl_.&ë@/©Ýˆ„‚šµ²\KÞߨø•Ÿ»•Djíæ7)6»Þ.ID½ÜÞÍT"-ûÇzH|~}=`CÐÂK1ÅOÏD~÷]ÚzØH¤¦¾‘©Të,—F0ù×W„­Iõìÿ¿)#ÝM¨Ì´””LK'SB)k|;í >sy¾Ge«³0ƒ¶³7GŠÜÅuÐä’¤ŸF.Œs˜º)f@scŠ13¬e‚)N‰úqÁš‰OŠ­·u^5ÊáÓJ6ܤφ]]?=1L`ä¨W»lDZ›#õ.vfà°úÁ£FÌëb-14²³©ßÕŠ Š]ÓocEܕͽókÍÖQ mýÂlkô›JÈìôl¼ÕŠ }ÚÖÅÝ\ü¾ÏøSþ›N&÷–‰óŸ>É2)“/&”:{7o^ïÛÆ§­9’Owúæt»-Ö…ZkPñþ‡Ý' MäЈ(,"Ë/ U<ÝìkÕaÙcúÙZ+‰ÔT°ó5…äw¶–…,Z2²³‹™DÚrƵ¢O12u¯¬ûìÂûú8[IMÍ]ü¾Ýý¨äýQ9‰¿O já`afçÑ®GXwgÇr=XÅÓ;MŸ&è #e¦©©óÄKE!¦(%zî€În6RS[¯Îƒ—K/ùÐP¥–”ß—Ê}””‰Yº»ÙëõÌœ½ÝLË~´iÒRX-ÍQž¼cÝu‡WgõlålÛ¬M1ÿ¾Ó¨ÍºÙ•1ß*tÎ0ûôˆ€ý§G¿“õ߯"|›¡nDk,¿Þw=éÖíÛ{û›ñBˆzéø‹–S;½}Ao›2•A½¿›n?dù¾¸„ãëC ÷M ßýL"oÞoÅÛMÓ^=Jøs¦OINùLøv£ã’wtâ¿ÿêå‹W÷Ö´ÓEdÚƒüÆEë|y:1ñÄÊÞÄŽ‘~£¢^)>=\¥-Añ,ƒg µOZìïÔ:ô»ˆCI™å’Êø=ÐFj*‘JšwµüXZ ‡«Z;sTd\Œ&¿»qGf‡)‘ýµr¨ÙÕe}ç_.àp’å°<6æI{¬J8°ý·M›}µm¡ŽS÷Ñ3LéçÞçéI--Œ¸ ‰¹•µõ‡žš!„ìB'ûp”Åd}~o˜E`øÄ-Å!—)“6oŸûoZÉh;,qCÄíVK¯ŽkoÁCHÇ¥MKsåÆŠD|„¡H$*½ï’[¿E\4~dÓ„Žú!Ûé[ÖÝiõÕ꽩}§5+½ èç-Q~jf½~¹4øà®;w-½k¥÷äèƒs}Œp„nâ7ÇŸT“&‚’̧I1›Y32îæÚw³ãh×L+s$3’ß AûŸDްã#„Z·ñôè°ô‡#“Ž ±ÔŒ=DÙ+ðš¸MŠ8zçyÒ©-“Ýoç²ìz~m?Ðxz¦º8EÒ RdÞJ̵ìØÂ¤ÚÃ>ïêÒ9÷®¿µ öÖÿð¸q›7”~)­¤²;PºC±µÏ—³"O$%úZr;rõå@L§©HP7_Ÿ6íýƒO^òŸŸ;*ήÜú€Ë{gh_Ž´¼Ä<XüÎ:„u§_{¡»Ö•G1±ÕaÓ¶Åîígø`ËÆD¶›U.É+¡(RåC–Ò7‚òkl7+N={ö^Á D¼JyQˆ¬½­+ÐZw ’¡wOÞi@üZ”#O×DçýwB‹!‹˜Ž‘ŽÆÌš¨áah…‚Aæ|„ÆãóP ‚+K`ÞÜUœ~4&µúÁ°Ï®nÃ3vk!•ߌ¹ûñ\&sãD2rêä¨ÃæaÉ·—÷- q±–H¤RGÿŸ2ƒ×ÿ5ݳ’~[IêÉÃ)È¡­fŒ[#-ÉQäÐÉCðpÛŸwŠ>ÜVþ(jW²aÇîµÚ½R°;6&ÓëºMÔ)°sKgÅ뤘í[ãI¿Uã¼Ä!¾‘̆ÿòdÔ™ºv Bâîa^“–`Æ¾ÓÆÊºÿ8t¢Þòñ.zï®Æ¥‘Œk7,ýxþ”¿Ž÷¸ -w-î9;؉ºµhÒ1~ȃš²:~ØùõÜ…÷×…Œx½êüŠÖŸ½iŠEï:Wljea,”ç<½y|ÛÆ#,Fþ=Ü‘£GÆZš#fÒeæ7Ž=" ý<#È&;aÝÌU¯»¬™ÙV¿Šûã–C\"çžûc÷¬ŽÊ‘ M›ºyúÌüsFxPéÙuÌØÁüž#– óß&q°þà/5{}tšÏ:°Ÿ¶`ù€¹¸¡s{·Êzz†>? $ržp0Þxáìußt™—-°òò³7aJ ¹*ƒ¸H_Oˆãe;päÛ«'vGþ›þâ]!DFVŽ­‡­Z;kXkîöÅ´2G„ôZÏ=²Ï`Î['†þBKÝüo??;Øž«ÆÀöìÙÓ#0 ±›Q&ûpˆë$iÔ½í~ ð©Ig[»é]ÿYý¸:­¶ Çúvêt¬ ûT7,&7ñD2mîk.l‡ÃM}§ÌkGÒ2cCP«2&žÇ¹)hænÍ{s-jÅìhEÀú¡²†‰Ô!ȱ¡©SS¹÷ÏîZüוô\ÚЮ¹ÿĽÿ†wSš­ÔäØàÔ÷ØÀƩӱÜt|e çAÀyPÆp”1œe ç±>Ç0A’A3õ¼²ˆñÖ IDAT!¨ÇùÁÇ…ø¹ úËbWÆ S\T”šžvõò匌 šÖ¶Ý¼¹Çyæææ>í|<¼½iº¢*…¹ ú•°*c‚ Ÿ¤¥&œïÔÛÆÖŽÇc»è„a׈†Ä0Œn’Ç2­ªQõâù³ø¸ÓzM dÎÍyùMJ ÇúÖ09*cUÆ$)¿våJÏ^!mÚ¶«u#A=²³·761>—àîá©?äÈU稌ÕM3––Vµn¨wFÆ&)¯h;È‘KªÈQÛ‘jš¦p†µ¹¢*ímBŽREŽå@¢š c¹Po,sd[ÆB!¬Õ£Fb[Ɔ„ìëªí G¤B§Z Ç÷2Ã)EU×ü„9¡ÚËܸ^›žH$RP0¯ƒóTÊÊÎcUƆ °™çAŽšŠí·1ÎzâPg£F‚Nµ¢pl¬ ØçȺŒ¤`=n—‚ªürj#wT•cY*|Ó”Ú-sʰê&þ@ŽœPmŽŸc[Æ<Ìî㑸ªµæ#WTc9l˘/€I|ÜQùÈ‘KXOÔ!. DÃ<-À>G(c D¤JGV@=±ÏÊÎc¿Â £`¦.÷AŽI…õÆìÏbFUU7 räŽz8á¸B,#C\œ§RŽPÆHÎb/E þØçe çAkŠ¢p–1qžJ9²\oŒDBQ~^^-ZÈãG-,-*¼|äÈ!U䨌Õ"r¾@èåå}öLœÔL*svaÑÊ( R=6v£hZ]Ž$¦¸¸¸–÷‘——{`ÿþа~î›96„úÏQ«2‰DžÞÞ†MŽ=úæÍU/á%‰1¼~' ø|~uoJ+ý[C<O Ôø×ÙÀ1L¥ ñÊ0  squ-*,Tþ)äˆ4"Gel·t¡iÚIæìîî©Õ5`—Dz†!¢Šì!GN¨6ÇrTØ™‰ËÙ\ ¨9ÈQó¨ÓG2 F Œà<(c8Ê΃2€ó Œà<(c8Ê΃2€ó ŒK1É1‡¯eÁ.U§¥9B—¢²ÏG,‹~W7â8-Í‘}ÓùÉÇ~ÔÖ£©T"µrõ <çÐ ¶/“u —ÔnDBAÍZY®%ïolüÊÏÝJ"µvó››]O—$*¾6ÍE"5UþÓlÒå¢úyȆ u9"„"^Å­ùÚßÓF"5µrñ¼øPšFÍ*g¹4‚É¿¾"$hMªgÿÿMénBe¦¥¤dZ:™ BˆHYãÛigð™Ëó=*[…´½9Rä.®ƒ&—$ý4raœÃÔM1šSŒ™a-{LqJÔ ÖìH|Rh½Å¨óÊØ¨Q„D.ÿÛ\üù›«øÎºñK“ƒºëÔî!6戒ßûeÀàUò¾ß¯[æk™s÷’y£0µ¨‹ç¡Ø•1ý6fQÄ]ÙÜ 1ß¹Öl¥ÐÖ/̶F¿©„ÌNÏÆ[­˜Ð§a]Ü]ÁÅïûŒ?å¿édro™8ÿé“,›Òìñ&κ8vKÅ‹]k¯)Úü0ŧ G/É •9"¤xs!æ¡AØÁˆ)¾ú¡Ö-LÄŸ½’1¯…½ +üÔ»O@šÈ/ QXD–_ªxºÙתòÇô³µþV©©$`çk Éï,l- Y´ddg3‰´åŒkEŸ:cdê:_Y÷Ù?„÷õq¶’šš»ø}»ûQɇ{£rŸÔÂÁÂÌΣ]°îÎŽCâóË?\ÓÁ§ úÂH™©Djê<ñRBˆ)J‰ž; ³›ÔÔÖ«óà%ÇÒK>4T©%å÷e r%eb–învÆ:B=3go7ÓŠ£eò¯®ùñ¢Ñ°…ƒ¸›½–æÈ—xµäŸÛvàÎ{ !âUÂþ„l³6ÞÎæ¨„]ó­Bç ³OèÐzäñ;Yÿm,·zàFô·öÈòë}דnݾ½·¿!„¨÷—Ž¿h9õ·ÃÑÛô¶)ó‚QïoƦÛY¾/.áøúÐÂ}SÃw?S „ˆÇ[†÷[ñ6dÓÅ´WþœéS’S~¾Ýè¸ä]…xÇßï¿zùâÕ½5ít™öÇ ¿qÑ:_FžNL<±²7±c¤ß¨¨WŠOWiKB<ËàCí“û;µý.âPRf%›¦i;ìÌíðýäÖú¬^2µ¤­9êµ[´{q‹§uumÛ;¬KÛaG½#Ž,m¯W7/ª:`y<“öX•p~Ç®äÉE_ù»ÈÚ^ü÷ý<!ÄÓ“ZZ pAs+kkk+‰îÇ=XìB'óoïækYvÓÌ"0|âÀ.­Ü=|úO™Ô‚~ðoZ B…‰"n·Z1®½•_,uiÓÒ\y¯Œ'‰øaB‘H$ 8*¹ó[ÄEÃá[7MèênkïÕkú–uA(võÞÔOAVÞ„Ϭ×/’Žn˜ÚA¿|t·æ=~¸œ«4ØBgŸýqu’Å×óû)½8EKs¤ Ò.Ÿ¿[ i; o;; 3~VÂöm ¯5h8›ý°¯‰[Фˆ£wž'Ú2Ùýñ†q¾!Ë®ç×vïžž©.N‘4ƒ™·s-;¶0©vŸ7 û|×:çÞõ7¢–ÁÞ¿%qã6!n(ýRZIew t‡bkŸ/gEžHJ>ôµäväêËùån °eáÁ¿ùá-uÙÞ§ÚÒ¾éw1ß üáå—¯]?ÞÚWïF Íûõ«ÛÒ5¦UÄÄV_„MÛ»·Ÿáƒ-ÙnT=º$¯„¢H•¯/TúFPsb»ù[qêÙ³÷²!ºàUÊ‹Bdím]v“Ê8¾dÃcûoæ÷¶ÔœýŸµ'G&ûܦcígŽo÷a,œ/õŸú}G&ñÀåz=ÇÕj8ÈÏÐ ƒ Ì ø!ŒÇç¡W–À¼¹«8ýhLjõ;zbØgW·á»µÊoÆÜýx.“ιq"9urduVˆ|{yßÂk‰D*uôÿ)3xý_Ó=ËŒâÝ\¿$uŸ7Á“«§™*§ 9b|]=¾âÅÿ}«“Yiïh±D"Ö”ÙOìŽôÈôßú„nu ìÜÒÙÆ@ñ:)fûÖxÒoÕ8/1Bˆo$³á¿<uf ®‚¸{˜×¤%˜±ï´±²î?¨·|| ‹Þ»«qi$ãZÁ K?ž?å¯ã=nBË]‹Ç„;GÎv¢îG-štŒòÇ ¦¬v1ØùõÜ…÷×…Œx½êüŠÖåÞ4Šgûl}é8iw°÷¿Šµ3GÃNÓÇ8õ\ÖÿýœñAž&DZÂ?®IqŸùkÇ:9Ó¥X؈œCz:ìݳ:*G.4mêæé3óÏáA¥g×1cÿó{ŽX6Ì›Ä}Àúƒ¿Öl0W§ù¬»ñi – ˜‹:·w«¬§‡aèó QEÎÆ/œ½î›.ó²V^¾cö&L 4W¥êp‘¾žÇ•:pÌû‹«~º" Ú1Ö­Vû« ­ÌÓo³àDŒÃʵQ¿Oßù8KdãÙºûOÇæòҜ޶gϞ݌ 0Ù‡C\'I£îm÷k€Sc};u:VmOŸ0¹‰'’is_saƒ<nê;e^ƒ<’–‚Z•1ñ<þÈMA3wkÞ›kQ+fG+Ö•5Lü AŽ Mʘʽv×â¿®¤çÒ†vÍý'îý7¼·g[h'ȱÁ©ï±1€S§c5åÄZ Ê΃2€ó Œà<(c8ÊÎc}:a‚$ ‚f4eq—&Âqœ/ˆD•O‡¹ úËbWÆ S\T”šžvõò匌 šÖ¶Ý¼¹Çyæææ>í|<¼½iº¢*…¹ ú•°*c‚ Ÿ¤¥&œïÔÛÆÖŽÇc»è„a׈†Ä0 ÃÔv¯‹:Ç2­ªQõâù³ø¸ÓzM dÎÍyù­˜!ÇúÖ09*cUÆ$)¿våJÏ^!mÚ¶«u#A=²³·761>—àîá©?äÈU稌ÕM3––Vµn¨wFÆ&)¯h;È‘KªÈQÛ‘jš¦p†µ¹¢*ímBŽREŽå@¢š ãèu-@Y,sd[ÆB!¬Õ£Fb[ƆDõ{59j$:Õj8¾”áN)ªÚGrä„js,sãzm hx"‘HAÁ¼ÎS)G(c8Uc&ÀfJœ9j*¶ßÆ8ë‰{@AŽ :ÕˆRÀ±±&`Ÿ#ë2f‚õ¸h\ ªòË©AŽÜQUŽe©ðmLSj·Ì(ê›ø9rBµ9~Žmóx0»DâªÖšCŽ\QuŽå°-c¾&ñqGå< G.a=Q†¸4 ó´4û¡Œ5I*YõÄ>G(c8ý 'Œ‚™ºÜ9j$Ö³?‹UUÝ0È‘;êá„à ±XŒ qqžJ9Bk 9‹½úcŸ#”1œe¬i(ŠÂqXÆÄy*åÈr½1 Eùyyµhh =´°´¨ðò#‡T‘£2V‹Èù¡——÷Ù3qR3©ÌÙ…ýEC*£P(HõØØ¢iu9’d˜âââZÞG^^îýûCÃúU¸oäØê?Ge¬ÊX$yz{69~ôè›7[T½„—H$ÆðúT$àóùÕ½)¬ôo ñx<@Pã_gÇ0•&Ä+Ã0<4,ÌÅÕµ¨°Pù§#Òˆ•±ÝÒ…¦i'™³»»¦V×€]Ëb† ˆ*²‡9¡ÚËQag&B.gsU( æ GÍ£NÉ€2€ó Œà<(c8Ê΃2€ó Œà<(c8Ê΃2.Å$Ǿ–»Tqœ–æe\ŠÊ>±,ú\݈ã´4GöeLç'ûylP[¦R‰ÔÊÕ'`ðœC/ؾ\LÖ^R» 5ke¹–¼¿±ñ+?w+‰ÔÚÍoRlv}^’ˆ)J9¼hP'K©©­w·qëÏ¿åú~tZšcáý=3øº[IM­½'üzE³¾°Y.`ò¯¯ Z“êÙÿSFº›P™i))™–N¦„"RÖøvÚ|æò|ÊVgamgo޹‹ë É%I?\ç0uSÌ€æÆcfXËSœõã‚5;ŸZo1ê¼26j”CéJ6"}Çn³_ô\q¨}“'VL[Ò÷Îûø¸y-tëày4íÌ‘Î97?xÀæÌ£'®žåDÝúóÇùAÝÿ}fe é²+cúmÌ¢ˆ»²¹b¾s­Ù:J¡­_˜m~S ™ž·Z1¡Oú¸»‚‹ß÷ÊÓÉäÞ2qþÓ'Y&6V£ÒY'g/¸ÚüçˇÛñj×r¿›^¿5+χïîaÄÉ‹2hgŽ%·×LÚü¢KĹC„¡à@ߦƒ;Lž¼fØÕ¥-êâ©ñ±û4¢‰ü…Edùe¡Š§›}­:,{L?[ëo%‘šJv¾¦üÎÂÖ²EKFvv1“H[θVô©3F¦®ó•uŸýCx_g+©©¹‹ß·»•|¸7*'ñ÷IA-,Ìì<Úõëîì8$>¿üÃ5|š /Œ”™J¤¦Î/!„˜¢”è¹:»ÙHMm½:^r,½äCC•ZR~_*÷QR&féîfg¬#Ô3söv3ýøÑ&Oý'‰péßÕúã?ˆ›õæAܽðT-6¼¨­Ì±$9êà Ëa³û;|¼ À®ï¬AÒ—G<,Aš]ó­Bç ³OèÐzäñ;Yÿ½ù6C܈þÖY~½ïzÒ­Û·÷ö7ã!„õþÒñ-§þv8zû‚Þ6e¾ô©÷7cÓí‡,ß—p|}hᾩở)BÄã-Ãû­x²ébÚ«G Îô)É)_/|»ÑqÉ;º ñŽ¿ßõòÅ«{kÚé"2íA~ã¢u¾Œ<˜xbeobÇH¿QQ¯Ÿ®Ò– „x–Á3†Ú'-öwjú]Ä¡¤Ìÿ×1Ô¡^%¦~zÏË3gQùù\=>ÖÆ™Âô¤7W_ÇÏ¿wuý›aoî¾Ð®2Fßõ…ιwý¨e°·þ‡ÀÛ„¸¡ôKi¬?j1±µÏ—³"O$%úZr;rõå@¡ãèÑß·¸½°·—•µçˆC†²t³¨ß­œê—¶åˆ‹M xÅï²åŸ?EFž›U‚ëëhÈNÀ*¯`b«/¦m‹ÝÛÏðÁ–‰l7 ª]’WBQ¤ÊýÕÒ7‚òˆÛÍߊSÏž½—E0ѯR^"koëOý/¾¤ãÔ½wÞ¼x|ÿáËŒûû‡²»îíÍUØúH]iOŽz.¾NÌ£øGEŸÝ¸èáÙdû…£žª­TS5ì2´BÁ s>Bãñy¨Á•%0oî*N?“Zýø†}vuž±[ ©üfÌÝç2éœ'’‘S'G6K¾½¼oaˆ‹µD"•:úÿ”¼þ¯éžåFqq‘±™‰¨(iÓœ?s|‡7V|W¤ 9 í{ñ̉^yðÓ¤òÙÁ•²eƒúÉ4%Ivß+dúo}B·‰:vnélc x³}k<é·jœ—!Ä7’Ùð_žŒ:3P×NAHÜ=ÌkÒÌØwÚXY÷‡NÔ[>>ÐEïÝÕ¸4’q­à†¥ÏŸò×ñ7¡å®ÅcÂ#g;Q÷£M:ÆùcPSV]_ý_Ï ÙXx]Ȉ׫ίh]æMCf?yø,;çí³ûÿìÛü{<Ùç×ãÃì¹Û¥ÖÎN£×N‹ ˜ÒchÊ´a¾–Yÿþ¹jÃyûɧ'Ôð¤›bÙ=9‡ôtØ»guTŽ\hÚÔÍÓgæŸ3ƒJÏ®cÆþ æ÷±l˜ÿ6‰û€õ Ô¯îþ*¤Ó|ÖÝø´ˇÌÅ Û»UÖÓÃ0ôù†¨"ç ãÎ^÷M—yÙ+/ß1{¦š«r؃‹ôõ„8^¾§xõ÷(ÿ¹w ¬\\][ ÜôÏÿB= 9}4¥¥9ê6Ÿy"ÁþÇ6GLؘmèÞ18"aÞ—^úœ<÷_!lÏž==»`²‡¸N’FÝÛîW³w“Jè¬sk7½ë?«Ÿw¿kÕäXßNŽUÛÁ&7ñD2mîkÞ0‡/¸©ï”y òHZrljUÆÄóø#7ÍÜ­yo®E­˜­X?TcF!´äØÐÔ©Œ©Üûgw-þëJz.mh×ÜâÞû)ÍÖjrlpê{l `ãÔéXÎN+|e çAÀyPÆp”1œe ç±>Ç0A’A3õ¹!¨ÇùHTùœÈ‘ ªÏ±,veÌ0ÅEE©éiW/_ÎÈÈ i Ù3AÃà8ÏÜÜܧ‡·7MWT¥#TŸ£VeLä“´Ô„³ñ½‚zÛØÚñxl0ìцa˜ÚîuQçX¦U5Š¢^<wZ¯‰Ì¹!——»äXß&Ge¬Ê˜$å×®\éÙ+¤MÛvµn$¨GvööÆ&ÆçÜ=<•ㇹ¢ê•±â¢i&##ÃÒÒªÖÍõÎÈØ„ åm‡9rI9*c;RMӎð67PT¥½MÈ‘CªÈ±HT3aš³³…Vc™#Û2 a½¨&€5Û2Æ0œ ¸zÍð 䨑TèT«áø>P†c8¥¨êB§#'T›c™×kS@ÉD æupžJ9BÀy¬ÊÃ06Sâ<ÈQS±ý6ÆYOÜê rÔHЩÖ@”Ž5ûY—1ƒ¬ÇÍ@ãRP•_N r䎪r,K…ocšR»e.@VÝÄÈ‘ªÍñsl˘ǃÙ}Ü WµÖr䊪s,‡mó0‰;*Ÿà9r ë‰:0Ä¥h˜§¥Øçe¬H‚TéÈ ¨'ö9BÀyìW8aÌÔå>ÈQ#©°Þ˜ýY,Шªê†AŽÜQ'œWˆÅb„`ˆ‹óTÊÊXÉYì¥Ôû¡Œà<(cMCQŽÃ2&ÎS)G–ë‘H(ÊÏË«E«@yüè¡…¥E…—/€9¤Š•±ZDν¼¼Ïž‰“šIeÎ.ì/R…BAªÇÆnM«Ë‘$Ã×ò>òòrìßÖ¯Â}ó džPÿ9*cUÆ"‘ÈÓÛÛÀ°Éñ£Gß¼Ù¢ê%¼D"1†×ï¤"ŸÏ¯îMÉ`¥kˆÇã ‚ÿ:8†©4!^†á¡aa.®®E……Ê?…‘F䨌í–.4M;ÉœÝÝ=0µºæìòXÃ0AT‘=äÈ ÕæXŽ ;3r9›«B59juúHÔ”1œe çAÀyPÆp\C@MQ Ц(F;Ö*a†óp¯Òw#àwùTv!EhÁZi CB3ÔÃÍ x,7q2VG ‚|ùúåÝ;wr²³»-õÇqCCC7ww[[;AE—_f”–I¾Ê̽÷øÙëwù ßÂÆãáfÆz^2ÛB3㦛J†2V;4E½|õòƵ«]ºØÙ;ðùžI’OÓRÎÒ4íèèˆ+}'¿+ _¾Í¹~/uh–2{ Oà Rñ0ýuTÜí/< ĦRƒêçÌjø[„‹(Jq÷Î.Ý»;:É»- A Èš¹0%ÝL´¶²ÒÑÓ/wƒìBÅý'χôlåÒÔ²QZØÀ„¾—³-MÓçÓÌ%ÆlÊXÃ?ظˆaÐû÷¹öŽÝeddDQt…Wô%)ô6§PfgÞð­jD£&$¥`y(cuDÓtí—q Žó†©pn5Ã Š¢ùšÞ—.Ãqšf»tªÕ—V­(}²U?a­zAJÑìž±v}Âq…ÆkU¦²AY¡@»ú&ª‚2VG†)° íp SÀE›+§¥Ÿú\Pñ¢ÆÂ0Š®ê“‹f\«^„ØrÁ·1P €¦´«J«&ð(–GÆPÆšˆÎ¿¿wvÿ6ö†|>Ÿ/00sü¢÷Ä­÷k»=TõНg'j½ñ)˜‚äè¥_ù¹˜ëñù|‰c›s¶_ËúüËx°Ôo3ñjѧHÝÞWÂ7°3½ñw#ƒNµúÁ°šŸmb n­2ýø»ÀqÓÖvl%3¦r_Þ¿ñÔP»IcÆç×ç÷ •yjj×ÈÖ“¾ßÒÕÝ„xzåïõ+Æ´ßóû?;G:VtEhúÝéi=ÇĹ/¿°c˜Cã_2š»áj2 Ã*;‰Z%æý?3B§ǾÜþà·!2㾡j€Ó5 & GU]’ÇÇSOÏ€~{øÛ!‘\gœýgi'ãÒ‹}‡ü_‡Ð¶ßÞ±ãÙ‰N„Sú‡a†.LZÕ7ìWÞÄ“ÑS½uë©Y*Ý'tª5ýúÈ¢?^I¿Ú±þ³þLÉ5_ú8™ŠÀ°©ïøŠ„ÈÇ«ZJÛOþ~t€»…ž@ ¶h=j[ò§.8ñ2vÙÀvÎf:+ïžS½T „˜âÇMð°Ðˆ¥.SÿzTXodºQ®§x~èçè÷–ÿûõû5ŒB˜ŽÛØM‹=©+ëþ¸_Röȧ{FõøþI蟧Vt5­×úccΣ)–óð>SpçàuÊ4hd[ÊϿbzþcÜ{ùê¹#+»en3híC!„¨Üë1iMG®=zåFÂÖþ…;ÿ7z{º!Deúê‹ õï»/ÜûoÒµƒ?ïÝRÂGtæÑ¯;Ž>#›qàÖã;'í¼ä:Û=«@U¹µº‚ÝÆë*+¸}ø2 Ô¼üTn]È`”~êBÆgŸ.TÖÙÙ½FôX»umýn“‹‚õ{:ÕjŠT4£Ú—Î{Q‚Œ¬ôhB^ᨠfüõ°ÿíá¸xߟÃãîæL³%(³ì9qâÀÖ:!§iSÖožu&9o´¥(u×âhþ˜»t2ÀB2g„Qpÿ÷y‡›„ÿ³bHs1BM¿úaúfïÕ[oÌiîMÒ b$!'T¯8RAVs’Ęºÿº¦óÞf“ÈÈF_ùEcô­MÊx•ULXˆAR "Ÿí_Ÿ¢ÓmVo>Yñ‹\W¤ we¬ŽpgT?ÄDÆÆB”üø-Á¸U<êB¿¿¹kåšý=}ñüÅ›<ùÈô‡iiq=]œ"4ç$<·^ê­_¦)…÷c*ÒøZ¬/íÊÑ$É­sL¹;RMÕ×J—Ï×ÇA(&66 ÔgÙ$Ô{ÑÈœçÙé›éãÌÇ4øv#wüAŒÛYÓÓóÛ5©ÇÍ÷Uš¸e¬Žp¯&Ó?t݃½Ð©ÓÛþÍîÜÃXùF¦n ë:·hÔo›–uw’ ‹Ã¾ÿ¬æ>þׇÿa†QÈI9S¤(Ó†"Iy.ß×ßìÓ!OOªÇÐÿp©^nUÿŸ××—®g°7Š‹¾Wؾîç? ŸŸ:ðÙNn'F'½øåIDATå•–qiK,ún8öÓk¿Ù}¾¶»¸{dÓZ]¢**=[86VWŒêp«>ß4y`løîÇEtùŸ*Þþó× ƒÁ«ÿ_sc}1•ùîüü–^hÓÊZ‘tðZöç÷…Äö-¬Ð£Ów1sëO,Œ„ˆaPù;R ]õ—©Å]Wg2)XÿõoW]yOý÷ÏÅvL^œ„·ÿ•›èã¿!„1b×q»ÿ·<5±÷ìØLE½4ªÍzˆ ¾ÕÃTu¦2F]Wîž–Ògõ„ÖIÑcF÷÷õ°n¼™|í²hJ3K;Ýì“›ö^³ Ý=ðó¬Óãóßé¡Ïþããÿ6ö­Ïº™Ã˜,Ÿ3¬‹«nÎ ¹ýÆ£'´Þ IDATxœìÝw`õ¶ÀñïÌ–ôBH%4Jè"½wÐ+" 6@°aÃÞ»r½¶ûôÚE,X@š ]z—¦”Ð¥éÉî”÷Ç&KÊ&„d"œÏ{{ »SΔÝ9ûûŸB®;vØwíÚ5ÖápÜ\TG!„B!„B”G²iš{ívûäzõê}Ö¶m['€°hÑ¢˜¤¤¤_âââZÅÅÅáççwqCB!„B!„¨``ÕªUôîÝ»B×ãp88tè‡Úäïï?äšk®ùÛºÿ~ßµk×Îò(ó,,ñBî×…¿Ñ®SºõîKVvv׎?î^æñ'ŠÌ»jÍÚuê°n”k?!„"EQÜ¥\Š{(ŠBBB-[¶$((¨ÀkAAA´lÙ’„„„R-+ï{XZÈ!„¢|”ÜÿVõšt§¢¸¬¨J‘åæ½†rîz+ï¹àà ªWC×uÎ$'óûªÕü¾j5sæÏçOÂn³Y׬9sÈÌÊbÑâ% ÐßýZTd$íÚ¶aý†,øm7º¡À¼K–-pÏS¥•BQ‰ò’(%q:躎ªª4lØÝ»w“ššJpp0 6@×uœN§»µÌùHBF!„å’wQÕ ¨¨8ó/©ðrÍ|¯~mÔˆÜ9~š¦1ÁB&½þkÖ®ã»ïgpã # Lüø ÖoØHË-زu+¿Ì™ËÀþý ,ÈÀ®„ÌÂ߸)ßü†a°lù úöîU¥“Bq1œ¯«‘¦iÌ™3‡«¯¾UUiÔ¨GŽ¡V­ZîùçÌ™Cxx8V«µTët'dÜ¿à!„¢ÊÈÊÎæÛïg°hÉŽ;ŽÃé$&:š‡¸Ÿ6­[1íÛïXºl9"#3“ˆˆpÚ·mËãÆQ­Z0í»t£]›6°mûr®lÛ†Î;2oÁöîÛ‡¦é´jÑ‚Ç~¡¡îùš7kŠ‚Âž½{ñó÷£}ÛvÜ>n,ÑQQ%Æmš&¿-^´o¿åÀÁCD„‡Ó¯OoFß|S±×e`õÚuLýúkþük76›•V-Z°tù ~à~®¿n¨—ŽFÙyJ€†ANNŽûßýûöÁÇLJGžx’ϧ~É #†ø…mö¼y˜¦Ém£oá³)SÙ´e GŽ¥V­÷4Ý»uÅÏÏ¿öìáÀÁƒÔ­S€?¶m'ùìYš5mJtT”$d„Bˆ\Š¢”ª…ŒÅbAUUfÍšÅÕW_Åb¡^½zhš†®ëÌš5 UU±X,¥þž•a¯…Bˆ*ì…—_aɲåÔ ¥EBsÒÒÒ9pèÑÑ®›ê½ûöqä￉ŒŒÀÇîÃÞÄD~øy&g’Ï2é¥ÜËY¿q#aaa¤¥¥±hÉR-Y @xÍš¤§§³l…«Åk¯¼äžoÛö„V¯N£† Ùàó,`Ë0uò'¹&ʽ†È=ñ팼ýÎÿ°Ùl$4kÆÁC‡øð“OÉÊÊâ®ÛÇ»½e‰sþ‚…<ÿò+¨ªJ‹„æädç°jÍZÀU`Ï<×4¦HœÞdš/fþ׋®3ÿsš¦Ñ­KgHKOçdRáá€+y3{î<ªW¯NÛÖ­9~â$›·lå—¹sÝ­lì6}zõdÖì9,ømãÇŽ`érWw¥ýú\P±A!„ârPš„ @xx8'Nœ`õêÕtïÞ«ÕÊï¿ÿŽ¢(„‡‡_Ð5†tYB!ª°u\ ŠçŸyŠN:¸[—8LÓäÅgŸÁb± ë:Ù99?~œa7ÜÈÚuë ,ÇÏÏ™3¾#¼fMvîÚŨ[ÇàëëËÌßΞ½û¸~Ô¬^»¶HËÙ…sg£ª*999Ü÷Ðì[¿9óç3òúë=Æìp8xÿ£OxïÿÞ¦]›6¤§§síˆøæûÜ8rÁÁÁç½Ð8333™ôú¨ªÊ§¾O«-xÿ£ùä³Ï/h_ïÙ»wÞ{¯Ø×Ÿxô‘ó¶ *V)/µ àVL íÞMzzº;!³qóŽ?ΠïGQzuïÆko¼Éœyó?v ‹Å½ŒA¸2ãÆŒ`éò®ùzô([üB!Ä%*¯…Li°hذ!ñññhš†ÕjEÓ4:vìÈ®]»8{öì­[ZÈ!„UبÃùä³Ï¹wâCÔ«[‡žÝ»3l资T«À¢%Kùôó/8pð ‡Ã=_fVVïv‹ÅBpPYYYÔ¯W»§ÓIµà`²²²¨[‹ÐÐêœ9“LVv6~¾¾îy³²²Ü7ü#¯¿žuë7ð×î=îå›…ZžžìÜ‘‡ôÜ‹*³Ø8 KOOgýÆMÅ‹¬ìlÏ×K%,7ï߆iœ·… €a˜œ8ypµÊ{}μy€ëx¯]¿p]@&:ÅšuëéxU{÷2Z4oFTd$‡aןb±X8vü8íÛµ#¤Z5¹æB! )m ™š4i¸ øþþûïtèÐUUiÒ¤ ;v츠¤Œ\¿ÆäÿeE!„UÃãnc`ÿ~|7ãV¬ZÅä/¦ðõ7ßòÒsÏ[«>ùv»»Æ'**ŠÀÀ@~ü wb"¿ü ÕbÁÔ´s ÃÀj±æMXl<ÖÜë»Í^ì4iiiœ8y’¾ƒ†yýôé3%nó…Äéçç@NNN¹»â´iÝŠ­ë×ûzvv¶ÇuØrGCJII)òZÒ©Søû—*†e+Vp6·ÖKÞšééé,^º €“IIœLJ*0Ïœyó $dLÓdÈ |<ù3.Z‚ŸŸ+¹Ö¿oIÆ!„…\H ™Æ®ë‘Y³f‘––FRR’»ÐoãÆY·nº®—jÝÒBF!„¨Âö%&ÅCÜÏ#Ndê×Óøï»ÿã»?2jÄpjÅÔbÔÈ(ŠÂ™äd÷¼ÅµÖ8ßs…ŸÏ»NÐugΠI|ã"ófddâëëKÚ±¨ªŠÕjå©Ç%22¢Àtµbb8›’¦͛èܱ6Û¹Ñ.$ÎúõêbµZÙà¿-^B¯ÝÏ;o^œ…iš†¦i×S’zõê0sölºwíÊõë¸??üü3Mâã‹´ÔÉÿ·Ãá`ɲe¼þÖ¸yÔ îäÏÂE‹q8Œ}+÷O¸Û=off=û`ùï+INN&$$ÄýÚ€~}s2‹Âf³ÑµKg¹ÞB!‰û÷³wß>ÂÃé‹a((EÖYÖ8‡»ŽÐÐP¾œ6NtT$‡)0òQá8½uí£ª*S>ý˜Ï¦Lå÷U«9™[¦vl-ºvîÌØ[o-8ÚS®Ô´4RÓÒ°ÙlÄÖªE›Ö­¸qäHêÖ©í®”¸?;wýIË„¢£¢ t™2M“Áƒ0söl~™;—aC¯ucÖu!ƒ°eëVúõé%£+ !„”6!c±XHHH\?åMxn!þ¯•¸îiÓ¦™}ûöÅÇÇçÃB!DER›Í†ÕjußЛ¦‰ÓéÄét®d€»i¬®ëôôtwò!늀€EqO“ÿ¹ŒŒ LÓ¤S^lXõ;6› Ã0ÐuÝ=ÂS«Õ꾎0 ƒ¬¬,€±înO999X,wý—¼õ•5μìv;ªªbϽô2³fÏáå矣G·®%Æé Š¢`·Û±X,îí-nÙívìö‚5xò¦u:'ªªâïï®ëãÍÛ†a™™Yà5›ÍæÞÞììì2uÇB!.u)))ìØ±ƒj¹&T–ÄÄDi!#„BTU¦i’““CNNN±Óèº^äF¼°üÝaòäOp”ô¸&%ýj”?A”ŸÃá(0òS~𦉫¬qæää Z,îö%&²hÉRE¡QÃîkœââôÓ4KÝUì|Ç4?]×=î—<žöcž’ö¿B!\JÛB¦"HBF!„%ªê× ?ÍšÅJl­Z˜¦Éá#G0 ƒ]=„˜èhéª#„Bˆ]ô„ŒB!Ä?QͰš´jÑ‚¿öìÆÐ š5£W~X©[¢!„âò”—ŒÉk)S™¤…ŒB!<Úº~-àê[]•¯úöîÅàÜ¿l†ÓéôúhSB!„¸ôøûû‚išTפ…ŒB!>>•Ò}É ¸‡B!„B!„¸œ8Nbcc a÷îÝœ={¶RÖ+]–„B!„BqYËÊÊÂÏÏN:UÊú¦OŸNåV¬B!„B!„¨‚œN'ÉÉÉ•¶>i!#„B!„BQÉ\ C¿Øq!„B!„B\6*o<'!„B!„BHBF!„B!„¢ÒI !„B!„BˆJ&-d„B!„B!*™$d„B!„B!*™$d„B!„B!*™ÔB!„B!„¨dÒBF!„B!„¢’IBF!„B!„¢’•½Ë’ã/^ïÖ7ö}ɧßtvL¹Š}Ou ÿŠq¬Z4ðUci6*…wý@ÿàò†]6ú±¯Øêa¶xx­áÓ+YrO}lžfL]Èðø[q|´‹ŸW#}ÙXš<Å[Ûg2´†RÁQå<±Š/ßyŸ©³×ð׉ Ì€pê6hIï‘·1~DgêøWlžÍ<ý#CšM$äëí|Õ3ÈÃÙlÉwìë{Ü©‘ã8«§½Ë;_.`óÞ#$;‚‰‰oBÛkŸãí{[P«tí³‡©ùÍ|Þ-°ÖPÁrßﵘÁÖ;ÙG™k'Òúše _°Š|Ï»8óô Ix‚:36ñ^‡ŠØãB!„BQµYË»€«ßá«{â°»ŸQ°…Ô#uGNâ£^W^îµx“Ž“¾ãù6þùžSñ®Uêá'ï~˜M« W2&mñ-4¹)ƒOþ¬èd“Iæö¸ùÚ—ø=° cîüO%Dã›~”=ÛV³`Æ~ïÕ:µ/vçªzìçQfÜ݇ ³ýè1v,ÏÜ‹Oêöî=ˆÑ(ŸR/g/ÿíÞ¯.`åSMóÍ—ÅÆÇÚ3xãDÖÏC­ÜíW‚®äÑßÁ'þüÉ !„B!„—¾rß.ûÖlHó„<Ýf†4ïÏ5¹§—wE^c%¤~3Z$”½•‚5üJ†\sþé¼ÍL[ËK·¼ÄºÆOòë×h|.ñÒ¥ßuŒ}¸òcòÌRàØW%Ù;>à¥Ùƒ¿XÈ'ýC+¯Ïž½]¯©UYkB!„BQÅ©àê²T–‡Kq¯g±ù©–Dv}}“¼É‹Lçø›…“n¢[B""ÐjÐD¦lMA/cL%>ÓD‰Ó9N®á£{ѦQ ±Íè8ì6è&f-Kݨ!üp*ßïlDƒQ q«¸µQ‘QÄ?¸Ž ¯Ç¯srÁ[|u² /½w'-‚”’§ÏÞÆ WÆqÍ‹/1¶{¢#£hûØz2Ç™÷ìp:5­KDd1érë,KÒrçMcÙmñ4»é & iCÝÈ("ê·åš‡¾äT=wÀtphÎëÜ>°-WDEÙ¨ã>ÞJªá騛˜Žc,yë6ú\Ù˜˜ÈXštÎSsá4ML=ß=͈­¨ELÜ•ô7™=9Þ?ô̲ÐÉLÏ:Ï9¦“ºm ÷nOè(j5éÊÿ^À‘çÁOèÛ…Iû ¿Û›Ú‘QDDö竃[x¡M}NIÂØþ$mjEËÈ…)§~dpT}Æ,MÃt$ò¿qô{òeî»®c£ˆˆiBÏ{§±;ë\ Zò&>`0mÔ"º~ :F¿Æ¸iqªkšJÜoç}¿ã~ƒŸ‹ÿôÞ×—–õ£ˆ¨Û‚^·¿ÇªSÎsçP‘÷biÎ=yÈCò‡<ä!yÈCòøç?Ü ™‹ÆLgísW3ú»nzw>ëWÇq«xlÔÓ,=k\œÒÖòüÀkyq{øäWV-Æ¿Çw!ÒãÔþ´›´œåïtÆJkÞ\ºM7°øÙ–øy=²t¶ý¼Gó›èSʆMz*kæ¥Åýðãw“yzP-¬Š•êMsßëS™³`.?¼7ŽˆUo2ö±Åœu—r´ñoâ'|ÄÜ¥óøæÅ¾d~ÿ(CÆ}ÃíÜâORèpï»üøëO¼7ÂÊÜg'ðÑn‡‡8’˜{OoF~’J·G>fÎÒ_™úüú5Å ¤¯~Škïû ¿oòóŠ•,šþM Zœþ­îâþ&‹ïéJ¿;þÍôU‡ÈðpªiG¦sËÕ/²ïÊ'ùvå:½7”¬OÆ1úÓ}˜17ðíšï¸«6DÝú5«7n`Ó¦/¹6¦ ÌýχV‡†ðËÚ lÚ¸Ž÷ºx¨³£§²eÑ!j|…i¿þÆÌÿ!óûG¸ú!4ç>&ß:œÿ$ â½å»9¸c!Ÿ?Üžì³çöoeî77SGÓ4“•¨ò×]Ï»éxmæjÖÏžD—}¯qÓ=?qL/i¥;÷„B!„⟮Ü]–ŽOHÝÉùŸ©Ã‹—ñxüùçÕOÌåßÓ³¸vê×ÅU|¥ÖOðõ·ðÙ†—éÙ»" ²d1wd£B –¶¼¿}&Ck˜œZøS&ðܪW¸©®«mý°ãÔ²L&§È²ì!D…ù¡ª5¢¢‰®¨2FI§rð‹Œ$À}ÃÉê:qí·'Ü“©uï`Þ’çh‘[k8vð½Üñ¯&j£´~3íóþÑ<žàmßÒgÖ:Ž8ú’7alo†önC”âãšï·Ÿ+'üi{†ñH8 Øiw×CŒîáJ6$Ô~”ï¾Íò]é<—¿>8ÿÄslÜ:c2O^„—w‚˜dŸ8@ ´èÐŽ¦ Q©Gœ—v[¾ñÜõÍJÚÌø”?þŒ‰×½ÃÄ°Ö Ÿð8OŒíL” ›m¾ÉúúO°ê‰«©mêÝÁs7~I¿¯g±üDEGRͦb Ž ::úÜþ "<Њj!*:šèÜw˜Y¤ÏžBdﻘ0¬¥«»_£û™ðéTž]yì1µQ6½Ï»Û[ñÂÊñ´´~4jÓ‚wäJÞo¹ÒfŽ$nfq¯F¹cKYù6ìÈëßßGß0¨ÃƒÏ à«Q_°4é:F–T蹄sïÑx{ 3 !„B!Ä?‡Šúþ_Nˆ;wCªúQßÒ…e'.ggöVlÆÏ–Ü ‚éÄ©C«¤, ‚+  ¯~Ë ù‹úZ‚¨SM²9¸f7ÎØè]ņR}©b#ëïäêhð£ÕS?³ê>cßáúoKl~€ãÈo|øÖTo?Àá£G8z&"sЋlËBØU‰ã 6ʆp“XõSIÓt /&;q%‰>-y¦in2¦…ÐpO»Ûøw¿æ|ßs£GßÂðqT« ‚ÀŠ=’ö£ž¦ý¨ÇIÙ³‚Ÿ¾x›W^ίkßañ'È!‰ÍkŽ£íx†Žõ_ÌÙDwj˜a“¢á…wN!–BýUtMÇDãô[89˜–5,ÅmE¥ï7Ÿ.¯0íñEZ€eïx››Ý™û/‡Wm!5ë0w¶ªÇ=yom͉fÖçïTj”v…Î=IÈ!„B!.eöÚ41Mð k@³æÍ‹õ5s_wל ßßyå&t±ÜñÍ·Ü^`ldŸÐ0Ó,rs_®í´R¿)Í›.êkbšºCLŒ|qR¸ÞE¡mt-·à¶y_ ×¶Ãvß'|»çzˆsݘú„Õ¦^€†­¦/ªjAÉ¿Ï Çœ²‚ÇÝÂüÏðáoÐ2Ò£ ×Wùêû¸÷G¾í±Ø±¢ ªùΗ|}ß0•Ïå?ö†–ƒæ0ÈÒ=ï%¤Oþ´‰Q«çðó_óß[zðr›‡™õíDü‹Nï=‚tçÖ—;Ñ%¦?^zŸY‡¯áÎZ:lÞbÁ»œ?‹d ¢¦‰©ª™âž èù‘÷wÞ«žMþåd¥d¡NœFñça¥î·Üm±‡6¢E«VE‡½v†aϷͺCƒ1ù—§h‘?{£Ø¨VÓŠ™bº÷‹™oK}î !„B!Ä?ÜE­!ciI-³|‹ƒ°èh¢Ý(jø^ŒÐ|ˆiU-cÕߥ/X¡XlX0pž¿qJ9Xˆèû £¢öðÚm/±èDÑø ÝDQ-%Ô¬¿~æ×S <ùïñt­_“`,E›­¢srÅOì Ý\xußZ-‰Ö¶3{ÓÙâlª?u;]ÏoýÄš_ƶñ#>Ú’qÁë*MÓA &Ì_k(àܾŒÃ~‘ùÎËh¢#‚°)¬Ð…ƒ‚Ū‚á¤ì%O¬D$Äá{`¿î÷P“'¿‹ºßŠc#²ymÔ³ëX}¶ZÁýU“€|-xΟ_)ß¹'„B!„UUvn(ÈPƒ}=?ý°Ÿ:¡4ëÚ†š±ÿâÞÞosÏ«£¸Ãù4·õlDHövý•Fã]Kóàóf ÊÀÉÙ}Ûù#$ÿèF\f'rÀ½z;/Œyû³7Ó¡–±ճ٣›Ô.f‰öšqD“ùæçu4îìO–¥Íêy=Û¥_ÅÓŸ=Ɵ׽ÆMW­dàm71¸}CÂm©$®û™÷ßÙEØõa…â²¶êu¨iÌ`ÊäÅ\u[N-ŸÂ+ï%b÷,8á‰uüº¬9]pzý×<ÿÈ2BF|ɰÚVH¾°¸í Fr{»÷yzüMTþaFvm„ÿٿɩ݊ø“ã‹?秤ú´iZ›ê)¶Î[ÏIjP§º÷»¥®x€þí!®g7Ú5©K¸-•½+àÓ÷PgÌ úÖT ÚÝ}+õg¿Ï7…ðüƒCicåÔž èÆð^1ج!\cåï?²d˜?µ55â›a·Ö0sêÏü´º ƒC³Ñ£›_`m…Î0vëD^º^qœ^¿ˆýN3wYZ¥î· £Öë>®¯y#ŸÜ<ûóؼ&Ʊ¿ø3)Šþî"ÌL5k*fÍaqN­:Ó4$wö’Î=!„B!„¸D”£ËÒ¹ÿì²qn‚s]1L|›Žåþž¿òìSãX}ÕLïØš0ŸH®ýðWüÞy7¿z”ᯧãÞ€ø–x|ˆiz7¥áÚLÕO]G¿B¯5|r9¿M¨-lïÎÿ˜×Ÿx7ÇL'É £ißA´«åÇÉBCTåuã°5¸…çÇ.aâ3×ÒÕ?–®÷}Á”üuu¼( á^¾]ÞŠ/ßý€/gü›{ÞÏÀPˆnÞ…kޜ˽×%¢ê’ïøX¯ÇG¯'rÏ«céòAu; 㶺°{J¡mKÞÌ7/á…?O`‰N ×ÃßóÙøTWr»i¹·¿à¾(Ú ÇÄ´Öfô—s xõYÞù÷h&?j%ªiG†¿ø.qWùCöAü÷-&Lʼn•Wt`Ü'ïs_œÍË]T íÂÕmñËüÉ,œšŽE\|Ã'½Èƒ£Ú„k;üZ<ʬYÑE „Q IDAT¼üò§¼6n gôjÄÆ5¥ã­ífš˜T£Ë“OÐ÷¶×Óç j4¾Ž·¿ÿ½CU¢®y–‰¿ÜÍÛ#zñNxKnüÏÖÉ·Ïòïü]ÄòŽ˜ibú6ç¡o¾@yìEþsë@žUƒiÐ>žŒüû½ÒöçºK:ŸÜÏîNU­¯Í›Æ/¾Æ—ÏÝÂ{) 5êÆ“Ðs=‡š˜í¸ÿî¶ÜøöDÆ.îËKßu¤IµÒ{B!„Bq)P¦M›fvïÖõbÇ!ªŒtVÜÞš‡Ÿcãì‰*®¦¬¨tfò/\›ð5§mâ“.…k ] äÜB!„B\–.[~qkÈ!JË$eó¯üe„Ó8¼"Ú^ !„B!„¨Leï²$.Q…FÇ’Sã"qrdél¶ZÐ8Ú‰?òæ3?£÷z‹õ­—è{VÎ=!„B!Äå£ÌU2cjÅ–øúÑ#‡Ëºè óOŒ9Ïùb/¬*oËÅTšýX%ö~–?—Nç•ï×s0Å 8¶9]ïšÂ¢;{sjÛ^ÈùW%öŸB!„BTqÊ´iÓÌn]»\ì8„B!„B!. Ë–¯2B!„B!„•MjÈ!„B!„BT2i!#„B!„BQɬöï»Øq!„B!„B\6¬ -Zqâøqþús'g““/vLB!.ªª\­q›‰Óéô8Íf“ï!!„BqÉ*|]|èÈ1WBæÄñcü±u mÚ^ITL-,êeÒ“Iqÿ¸ÈEŽCU!Ǣ긎EvVìã-›IhÙ’Ða§»l¿‡þI.óQ\ú.…ÏMqé“óTüÈyê}…¯‹!·…Ì_î¢MÛ+‰­S—œì,´Ë¤È¯ p™l«()|-JCÎÏjÔ#¾iSìß_lBærýú'q9.Bü“È÷’ÿ<ò¾½´å¿.†Ü„LjJ ѵbÉÎÎB×´‹ BˆK‹ÝnÇf·£ëÅ¿È÷B!„¸Ô¾.V ÃÀf³ÉE°Bˆ cÅÿâ#ßCB!„âr‘w],ô…B!„B!*™$d„B!„B!*™$d„B!„B!*™$d„BT1@!„Bˆü×Å’BQÁT)Ø+„B!.s¯‹%!#„¢Â© ¦)­d„B!Äå-ÿu±µ¬ q8hN Ó4¼X~Šªb³Z±Úì(ŠÄ#ñH<#§ÓéŠ''§Ó‰aTLÄÖ®ƒÕZæ†6išÆÁýûY²d†aРaCl6»Ä#ñH<•#'‡ýûYºd1ý¦Vlm,˹ L³ÜÝPÌJXÆôi_òÐ#—jYš¦qðÀ~~[ø+AÔ©[-·¥PaUíxUµx*JUÛN‰Gâ)Os†•Ë—‘žÎÊeKHN>S°…L)?¸«ÚñªjñT”ª¶OÉ$!„BT¶Â÷}™"TMÓ\]J¸g¹ïž1`š†áîîW3&&–»ïy„À  ¢3^`j)/žÂÍ‘¬ZBrN VN&§²vçAÿ>…¿]%:uhÆð>½/leåˆçb).žÄÄ}?q¬TË Á +4žÂLÓäÍ7ß`Û¶ížoÞ¼=ô°×ºÐO—G}XñŸœbç½îsæmœÂ{w-õJ,%ÅSÃáðÚò.ªÜ$ËÙädV¯\NÓæ-¨S¯>÷±jù2:véz®¥L)2r¼&|ÐþmnaÈ•c˼ •OiÞCqÛ¹bÅ –-[Vâ¼NjÔÈ$¤Z6}zÄáØSiJ5¯Çs±”&žÔÔ4þض{|ÈãëŸ~ø>‘ÄDGWJ<•©4ñœ8“Éä9ÛÙ²/‰“É™„úR72ˆk:_A—„¬–s¿iM™¿“¡]äi$°…BˆKAU»ò¤)#»ÍZ wòëÜ™$îùËýoÍédÊç_ºëOäOÊL›>7^{žÇž~_ß‚#·y7BŠ‚n”¶0އ>[¶(üìvê†W'2Û [ÛVdh:;¥±iÝr&ÏÛBŸ+[\Ýó" +o<¸²t^+îWÎxŽŸ8NÇK5÷ÊU+¸¢~ƒ `õüÉÌþô 2Ò“1QI‰I‡ ¨ªëÜ1 “Õ«ÿàþþ>(ø…ríoÒ®÷Mxnâ–•“ΤïÇs$y{l/]38/ÅãI^z”ӧΰqÓf>øøÞyó :wêèyø¹V&^ŠgùÖ#¼ðÅZš5Œ¤s›zD…‚i’t6“ï–îeÒWëxxd[ú´­ÍÏ¿ïãýŸ·2´kƒ*ú>B!.gUíz¨ r·á1 ÓhÙóç.€aèºÎ¶[9|ø099®_VMÓD×u Ãà¦o"åìYþïÍWyð‘g Œ×mµ¨ä85l6†^ö‹·³I‡Y²x!š©r\!˧&«Qý:2rÈ@þûÃïŒ}úêÚÏ™·_ßôëÛ¿Àså'Ï…&e¬V š¦yÞ[ñääd{l ×ÅÇÇ·TË)o<†®1ó£‡Ü>‚#ŽflHn„šâàäÉ4÷9fªjÁÒx mBöi9Ìï?@Û^£P”‚=ð¼µ K<¾ƒÇ¾¸–6;r{ç§yôƒ‘¥š¯¢ãiwwu{žÿwÝE§ªÊßòªŽ€‚7»±±±ÄÆÆº§±Z­èºáõ8î¹öl˜Î-o·æµÑ?Q?²i©æ«¨ã5îêÇY¾å—*·œ>}Ãp¿ü­élêZ|,›±Y·¢¨ X¬*†¶ÝiÅ¢Æaªm ,Ç[ÛùØc¹ÿ~íµ× ü»¤ç óF<›¶láñ§žáûé_p&ù ÓgüÈ 7åÐC0àšÁth׎¶m[2¹Ý{Ü6~¿ü8Ãã/CUí<ðF<û¥ðÒÔµ éÞ„ê!~X…@?;¾VÔ ¡g«Zœ<›Å»ß­ççß÷rèD:‹â±xuUÛ?B!„p©*×CåNÈä85|ì6Àus£iIIIîUUY»nmy:\uwß=>þˆgLcø £Ý¯«^Bû÷Åsyú‘û‰ªOâ¡]œÊðáëññ7³xhÜz´jÀò¬SÜ1öNšÔ=·c322xòéÇŠ$d¼¥´É«Õ’;}ÑdŒ·>}ŠuëÖ°7qo±Ó¬Z½Òýw“ø¦ 0Ø«1äd¥cv«…Ixáå7INNfÏž=¦;¶!¡¡¡<ýÔƒŒˆ>FVfšÓÍ^ºÄQyü²î3&/|Q}ï!²FmTõâ6¿ÿeÝg|òës ï};±á P•Êí'©ŸÝÈgϽÊW‹7°÷Œ±†rß O1²iPÙ TU¤ 餢~É·¨Vº¶B¨F<ðIÆ÷{¡B»07ÅJÇæ}©Ó„‰Ÿ`\ßç/j<ÞR8“÷_U9ŽE=‚¢6G±,¨¦‚®%‚™´-f‰—ŽqwÞÍ7_O&Ç‘EÐPºwéÄ™ÓgIKMGUL÷ì£Fõêde¥Ó8®)“^}Ž!C‡±iÍ*¯ÇræÁP«gsºs(Ëšuc–9˜Íém8P“¨£ôg>]³VqöšÊŽÐæLWn`Íþø¬ÍàÌ-¡^éû¥{‰¯ÁßI©ü¼xGîuŽ•ø:¡tnY‡öñ‘Ô àõ{z0céÆ nÉcï/‘:1B!Ä?HU¹ºð»7E)ÔË$¯è‹¦9sš»nŒÝn§WÏ^ç*›&‹Å´éØ¡#ï}ð?†ßpk¡e–5žs|¬:1uINN&$0UIÁÏtÕÂØ´÷8áVNœIc×¾D"ƒýr«ð˜å+bZB<¢¸V1OXXûîç±Gž,Õb_{ýÕ²%dJOFcšíÚ½A "GÝ,ç%p)ãÉët&ã÷_ÿ*Z2Ûþ^BëØ~øøøÒõ±‚É Ðà~~ê`…Çs"åw]÷ Yz*Û-ãÊ:C¼®Œ¯'ÚñÙ<8ø~PzsçýoódT+?Ä#ý6pdÎLiP¥nP\uz/à³¥”ݾŠ;^ÿz¥gROxÎÇÇ]w²óøïD×çÞë_âÇ%Ÿ²~÷Bž¸þ“ ëÂä¥x Óà¿—P/,û‡¿êÝx*J)ß'…“1®¿óŽ«°ƒbÅŠ TX<…[»xjýâé¹ŠŠ§Z`0hºF»ÖmhÑ´gΞ!éô)N>Mõ|||øk÷NêÖ.gý°âñOÔ°/wùñqnìù-×Ýõ3‹;ôä}õn–fuçÝÃù8çn|sð ÊÆæçÄGÉ¡AãDB¢Î¼À AQÐt»MeÜ ôo_—Ä¿SøpÖ¬úã0·_Ý‚š!þÜÜ·1àú¸ðV]3!„BxAU»*F™‹úæÝ؆‰aä&dtMÓÑuÝÝ Äjµ²hñoèú¹äBî=Ï UÈíÆtîæÇý÷Õô4¤­ætu©Ò ƒ!O}^d¾µû“qj:o|¿†7¾_ÀìWƸóAEnÞÊO«ÕŠÓé,v~›ÍŠÓ©u^ŠàÔ©Sî×SRΖ¸¼jÕBrWïÝý“?i—ߊ•³;½÷¸}^Ú?ûŽm物×qeÓnôêp5ÎüAræqLÅÀDç¹Û>Â0ttCC744]ãÕÏï«°xïàñ)CiÑèJ†¶Ëþ3ÛHË>ÕbC7œ¼¡ ï{k¶/æ–·[óï[,¾ËP9ÏŸ3©'x|ôÛ®xT+ÅŠEµ`*N45‡ýg7SÝ/š}ïdíÎ%Üúß6Lºå‡|«/Ûù\QÎ÷>ñœŒQ0Ìp 3 ‹±S÷L}'†QU‰«°÷má.K…§Ëÿ½ZÒsÞŠÇ©+dfž%88_»/(®âí 5'™¤¤¥²pÉrY9$î;š»jË*gجv|ì¾Øív¬ŠbátöROž¤YöD‡Õæ±/þUòöUÀû½¢¸ëPÑÍ8 hXÌ€‰¦Eã0ºbQê{œ·ªmgyãiÕ² , q|cÎCÄÆÔÀn³ãpj¤e8™ÿÛBCBÈHÉdãæ-ìÙ»—qc=Ÿ“åÇÒ ,] #ÁŸ-Íã™Uój~<;”?·7ÆÜ¬€h ¾í³iÝh#·X¦rÍÙYDlk†ƒÓcšv_+h©F5ÅbSÅid±åÄ|b›0zȃüçË‹_Ï$G+Âù>g ·’Q“`æ`L3]?ø2eú>Æ/>‘êÏ‘ÂÝ‘<ݼ—¶ËKyã?v wß÷Íš6¡Uˤ$×£ý•í°ÚÀßß$62†Õk×±}Û6÷0ðwW1ñ´VØ1  oûLä—½Wsê§0Œ*d±@wˆî|”aA3eL£Õ‘-Øw: ˆõ¼¿Ê»¾q-þ¾ž»jNúj=›÷œäØ™ –mÌíª@VŽ^lÍ‹ý>B!.gUíz¨°2ß-95'˜àt8Pr3.N§†Óé$ïßßÇã|ŠûÎqhOþoŽÜјœN‡ÓµŽ ˆÇ0=ÿšžžNxx8oŽƒ‡>ý‰‡ÇäTzÿýògFu«ÇЮWNzzº»¯™Ã‘St›½Íf###ÿ€s5L222p?ïÕxt]Ë}8 9o ™ÂIoï§Óó†wîØÃ00 Ó4HII¡f͈"±˜…N,o¯´œdÎf$)ã0-Ý’…aÉ´9±ÚT‹‚i]3ÉÖSÝ1y3Ã00t'ÙÎ ²´2ÍÓ hz# ÝÔ1uW šÓ@×\ɇ¤ôÃåŽÇ(4Ú™F6>ù-Ýkñ ÁLNex„¢òÐ5Ÿf|Wêé»÷òüæIqçÏÉ´CìNZïþ·Õ®pÊ©bÍV±Z-øØý°«¾Xð!H«ŽÅô#Ç™aòù“åL'ÃqÕª`˜*š3tåIš‚Íê‹]ñÃFªn'؆Õ87tyâ©(%½o=%cÎý7Í슢(T«V¤¤‹l_þux#ž²vYªˆó U‹ª‡Vgú·ß¢iZîˆb †®»›ö†V¦_Ÿž|òùÔ Û?Ε ~m™ŸÞŸ“+Âa)Ôš@ðU)ô ZÈæ¯ï ¤$s$¨k´vÜPû§ÿ£³Ðr?órÿŸÖ kòèÈVŒWd]7ÁÔp8 þ:VÞ'B!Ä嬪]V¦„ŒªªîÖ-†iº7P×µÜî8&6ïO9ï²,…‘( î妉iºj­\H<ž~ý6 ƒŒŒ ÂÃà çý{ý˜øá÷ä8uÆö‹gôྨªJjj*E—çxÒÓÓ0M“€À 2ÒÓ ÄD!ÃL+2}þé¼ë90ŒÒ·ñ÷ ===w~ïîŸâŽ_^"Æ0\ɘԴÔ"Óyêè­ã5}ÞGtiÛ›¸ðö¬;<Ll6›MÅjWQ­®=]3Á4È}ÛÛñW`Pp‘鼉®k˜¦A5ÎÛB&.®1º®±eë–së÷b<ž2º;)sôï£EGùç­¨ãõŸ[fòìô‘ÔŽ©K¯ø[Ù~z!§´ýX¬ ƒ¯xÕ’[›"·uJ^¤"âÐúfÇ´á¹oFR·n}º·º™]i‹8íHÄ0¡_ôÄsq8]ë/Cºc¾ö€?èËsþxŠÇÏß—{F?†Åj¡IXwµ™5÷'ê„6å£;]ñä_™ã©(%}Ζ"á‘ÿßµßóxk”%oÅ“V‹Šõj³kûv‚Q-–JÙ?Æ´ö8á N|'uléÔo‘Dƒçöá`g¶s0Ëa&p:€OçLLÓÇ«ñ¨¹Ý_ëÔôGQà{zòÎ÷X°ñ÷\ӌƵC˜¿îVUeÚ¢=œJNÁÇnq÷-s>žcÇŽa³yn’ä­xRRÎbš&ÕªUËýwJISó;]ºÊOX0ÖoX[`yžn@ýý dìèñ†NÒ©$¾žö¥×÷Oq-dRRR8qòDoî¼{<·Ô^nž;W*êx™¦‰ÍŸ'‡}ÎüÍ_2yîóôèÒ‹Nµ\E@3Ò³˜÷ì)óUD<€+ž¡¹ñ|ó<ýúõ£}ä def{=ž¢|Ixà-nž7’±C4î›0”¶Á‡Yôù›|±§ Ïÿ6‚Ø*ÖRÿB‹ú’»JShÕÓñš6qg‘é¼ t޹‘¤S§™òÛÜÖëyú·º9w9÷~/6ર8~ü?ý?{÷ßDýpü“Ù½(´…BË(S({ËÞ‚¢¢""ÊR *ˆ‹%ŠÊY"*þDY2Ed*(²Ë.ÚÒ6ãî÷Giº’6-ÏûõŠÒär÷äžäîòä;6dcß?Ž‘Óç$UnŠ3öN°ŽúÜæ‡3#Ò-4Ýy<˶R5sÖþÑY ÁÑÀE@«‚b‚€Pú+­îä¡U|ݾ7WKaÕâU.žêµŽÓ[û5ªú–Cãä÷Æ­Ûf6ï?G÷¦)äÃëZòËÁ(&¯8È…kq)­h@—d&ÀǃÚýmnÓ>'B!ÄÝÌÕ®‡2ËAV‹ÅjEŸÒ5I«Ñ (  &ÎD\¢³%kPz†Ô‘}µZ¸oBÃ1d4ZÛ_°sŠÇVQJU“§®õòòÄ`0`4Þé\a6›Q•äí¨Jòt×Jº–l¶à(`<@Z!æÆøû ª1iùûpãFö;2ž°°0ÂÂÂÒþÞÿç¾,-†<=½2ü}õêU¾üj)eJ—qøþIÿ|OƒÊõ˜ë—#8¸ÕªÕL)d)<;|(O†%·ÖÑiÔ´ç:+_é×Ó¥^?ª—kÈįûvµ<­›¶Ïõ¶Oz©ñ¼õM_Â*•§EƒvN‰Ç­+Þ]ÿÕߟÊÒ)C™™Dä½ýølë+ô¨dÌy…-?Ç”¼,›ËÅÍûàÜéóLíÿƒjÙû'5ž?öíçÌIûñäóå,ö^g©R¥ò¶.;'XGÄãÐ.Kˆ ñv<‰‰&šÔm€AglwÚ·m‡—§ÿuÌîv O|¸žÀÆFš^O.Ì(€—<á¶¼7ÞàÕ{&ÓÇgW+—­?Ë BOFaø/µÓD‡ÆÉ×"“—ýFüí$¶í;Å€îõ(ãïAˆ2T*Àx3—¢ã0™,x{X½õ(}ÚUÉÕçF!„…ËÕ®‡2Ëß2)…VƒÙlÅ-eŒ EU‰ŠI.hl?|>×SxÆÇ'èçªÜy!Ö”I^âÑj³ŽYãïeË– )e&'SJ•«zê(ŠBõ5P…²eÓº8å÷BØ^<É4)±¥Æ)æ¬ÇÄ\ϲÇÅs‡ÉdÆÍÍ UU1¨*?~ÐpùÊ%¾üj)6¢aƒÆß?7OÐèˆO´ÒÔÿï½5†kÖ·è½Ç9ŸÇŽ¿òÏ¿'øxÆ4§íãôÓ˜cÊ-UúŽÆz RÊ-ƒJÎÙ?«JDˆ7Ã{6aÇ¡K|¸|7eËxS£R0þžhu:´ Ñ7âùù·(F>\›° ÛŸ¢þœ!„w3W»²%_^ŸÖ’$uö€ˆ‘üôŸ/ r꿨\¯ÏË]Ïs=kgè’¢(j®¿¥Æ“¹üÓ¶u;fΚ‘ë82?WU2uß)`<×£³v%É,±8(žô""ª2ûÓ³}Cmݲ™† Ò ^C§Ä£Ñhé6àm6~9‰„ø“À.l}tö¤û·»WÝŸ~ŸäñAŸ/°½ïÝô¼Ös|ÉÏGVØÞYVäØ|eÏaÇÆc4±X³ŽµTܤï²T%¢:ìGQ¬”*ÈåK9{ö ­ÛvÀ””<þNn«yÉW­ éPçqºÔKîî–«<¥½Ç¿j…5¦CíÜÅ“ß㡳d÷:6¨OÃõó¼¾l_»?·ùâ xš6nĶ ?ñëî=üïû5|ùÍw\¿ž\8*Uª•ÂÃúÌ@ÖOÞ—wÓþéX¿Ïö¨ª(´ªDóš¥Ùý÷~úý<;÷Çq3ÞDi?wj†ù3{D B= ¼„Báx®v=dKõ½³ñÔ–-}úö£O¾WH†22}Tn_œšµ2Õ¦uÚ´n“ÿxTÇÆãhŽŽ§uËÖ´nÙ:çUe³GÄÓ }?´ï—»uäSAãùáõ‹Ù®;U§º}éT·o®r]ï§ÅS¨éö©›»uêÕãð?9f:ŠÁ` u»Ž(VkÚ2¶»Î~å¹Ë×”~kRbÉû~wÆûgÊ9Ç“ÝçÀ%Þ?Åð8ëjñ´hÚ„M›d¿Šž_÷ÏèÇêjÚjtZ -ï ¦å=Á¶Wcg{.ñ9B!îf®v=”ù¹ùz¤¯ ¨8|äfEɳdž!É^<…Ñ4Xâ±OⱯ¸ÆS2dܧînîÔ©[ŸãÿE³-±X-iv¥2›M™W’Ýš]*_®³¸Úë”xì“x„BQØ\ý|_€‚ x{9u•ê•BÐeê—¥ª*f‹íq'2SKº1*Î^¸Nhiß<ÎçZ}µ%û$û\-ž’ÀÖÀÏnnnDÖ«ÏíÛ· ¶n\+_®³¸Úë”xì“x„BQØ\ý|Ÿï‚ÌÍ7h߸ ?ÿ~‚ÿý¼?yÌ’‡«5l¯V§MžßÛƒ>yŽo<Ýth¢XÑét¹ŽÇ?u”\'QUEâ‘xîÊxJ„—tãŨh°˜Mü±g7u"#1¶Ÿ#ñH<SãÑ Ô®ÉÖ-›)DDÕjÅö×^U‹Å’a)JÆ}fµ*(ŠEQس{7í:tÄbÉ~†)WË—«Åã,®ö:%‰§ ñ!„ÂñŠËù>°ðp¬ŠÂþý{¹yófÚtÕƒM¦ªN§CŸú.å«hpsˬNo@—Ú¥IU©S·.AÁÁøøøJ<ÄSñFêDÖÅ×××®áò¥KÙœ\XHÙ²,]òEZ1I«Ó¥†®Õé0ê É j5F´-í:t¤R¥J$%%e»^WË—«Åã,®ö:%‰§ ñ!„ÂñŠËù^³|ùrU1%ðÄ€§‰½u3×O4›MÜŽ¿Å’}e)m#šìfþ¶ÿƒÑˆ··O®ž/ñH<ããI­þº¹¹a0KL³ûÜt]²X,Xr9Zº«äËUãQU…èèhþÜ·—¶í;Ú\fÝÚ5r’xîêx„Báx®v¾O]œdQó?¨¯Á`ÄÏßušàJ<öI<öI<ÙÅ‘ÜrDQ’‹8×å*ùJåjñ8‹«½N‰Ç>‰G!„…ÍÕÏ÷%ãçn!„B!„BˆbD 2B!„B!„…L 2B!„B!„…L 2B!„B!„…L 2B!„B!„…,ß³,™L&,f ªª82ž4­ƒ^Þ`ÄÞìQ«V~ã”í !DI÷Ð#¥ýÛl6sæìöíÝËÕ+Wì>O§ÓQ*0†ž6Wa‘ã¾B!„pE鯯s#_™Ä„¢.Dqäða®GGçgviµZüüü¨Y«aaáxxzÚ]þɧ;<!„(É–,œŸáï3gΰó—têÔ…Š•+£ÕjQUUQ³Å‚ªª ªÄÅÆrùÊevîØ­ZQèñËq_q·¹}­¨CBaÇÚÕ«òüœ<dÌfQQQìýãwÚwìD…°pôú|7´±Éb±pæÔ)¶nÝŒ¢(DT­ŠÁýÜáf³É¡ÛBˆ»ÍæÍ›hÒ¸)U«WÇjµ¢* JÚÍŠÉdÂjµ¢( † 2AT¬ÎÖ-?IAFŽûB!„¢¸Ë{AÆdæÈáÃ´ïØ‘J•«8#&ôz=UªVàÏý{ Åà—}AFUU§Ä!„w ‹ÙB“fÍ“[ÅdºíãlxXEþùçŸÂã¾B!„(þò\QU•7b ¯äŒx2ðõ÷CQT,KŽ1 !„È?UU1X­Ö\?G£-ºqáå¸/„B!Š»|]M+Š‚N§st,Yh5Ú ¿Ðº’½¿ïF¯/Ü,Eö$®EòáZ ’UU9îœÍã°V«<>熼G]‹äõH>\‹äC!J® þâìBIZSù"ŽÃU·-²’|¸ɇkÉk>TUåðÁœ?w†°Š•²tSÕéô8gž½ÜÅæJëŽ!ùp-’!„¹òUqô ¾9±3ëu²¢¼`‹×"ùp-’×’‡|¨ªÊ¡Mõšµˆ:P ¯XÙyñå…£Þ[òu-’×"ùB!œ*_•FƒÅbÉÒmé—_~aûöívŸëåe&0ð6þ~‰tjWOïZ¨š† ñËO(@Î-hœI.U\‹äõH>\K^òqèÀ~boݤ}§®(V !eËqðÏ}œ>u’ŠÓ!¦M–µUyºɇk‘|!„ÎU€¦.YÇvÙ¾};ãÇ·û¬Ø˜´ûÑiÏcµž&1þnîPõÖh°*öôé²$î|¸ɇkÉK>‚CÊR·~ô©®u:u"ëaJ7Ý´Á /²Ð¥ËRÉ$ùp-’!„¹œÒ÷(::EIY@£¹ÓáȠ݃›îO úƒh´‘èôZˬf=:muTm£ ë1 (Ö\\ H—%‘JòáZ$®%ù)[EQ2|!Óéõ¸iµ¨iÇwm.ú”:‰tY*™$®Eò!„B8•Sæ,Í\ŒÑh4h4´šKè´çÑhë ÑßFÿZ]PNƒz2ßÛS‹àV”ÛvÌM%îèRF>ÐŒ*>x•®FÛÁŸð[´Õb» ó¡ÞæÌ¯K߯%å¼}ð ~’­q.×]™…›­eæ‹Ó¬f¼}ð ©N³ÞoóéÛ(EŸcòá(©ÇûÂV\ߣ– ‹iå탗wífŸ )Óã7×?„Ÿ·^]àFÄçJïÑ¢¹)Üú{5ï ìH݈²øxûPªR}Ú<<šïΙQØ-})ãÓ‘¯¯©.o1ÌGÒß¼郗wXq‹e,—VÒ+Ø/ï’½Ÿóš!„%OÞ[Èh4¹šò:}1æÎ}©§`4:Ш€WžCI#-dòH!fÛëtêù)WîÂK3ß Šu?‹&½NÇ{ÿeõÎt(å”ZóË|€ù¿y<Öu×›=ÎSýn1sɯ¥x¾œ;Še>’8ûÓ"6ݬÁ#£úY5„Ö1{âT¿÷8Kö.âáœ.ÉÁùH|/tŵ…LÚö,ü>v( ºüÄsUŒé¸óÿbùù) "}Í*±¼KçŽS9ù(ÃG=Í=¥,\9õǯ”#¢”T÷ZÏ3ï‹Dxu¼…À¯/m‰l~ó~ï>æÞé%ñì>Žõñé–/á»Y!ÄÝ+߃úªjÖ1dÒ?žþÿ©ÿVÔ µ,:å/T« Aµþ…¢„¡ÕTϺ¾\^È2y”p€©Ï~ʹö³Ø½âI*zеM%iü<ç<ÉþÉõ3èS,Ë|úJCøñÔ`üKypkõ}|²JMùŒudS<óáÆ=/ÚôwÝÛ†Ž =hÒj³6_¡gßç4/t2G磰gÜK¯¸Ž!sg{Zt–ß;ìs:¯FjMæN8)Ç€B®èé1C¹Äã¦s¸êx~ßø 5Ý3/|LÖ5£çÃwþ.Éœ’”÷u@›ûðß¾€×–<˦g+cHyØüß"F/ˆ¡I¯Züñ%â\(„Bd§P¾S¤fêbQêb¶VA±E±Æl)G’µ5ªÆöTªVk.õ-‚[Qn» ·ÛǾæ»óåxrÜ£„ïܯëÅë}‚8¿ú[Ž%}œwK>T@Õ¸PÊMº×Sä1ÝÍù°qÓûãƒ'eƒ½ÒòT\n¶òaË”÷ßeúÔÉ̘>•gLgæG3˜õñG|2ëcæÏ›Ëç æóÅÂÏY´è –,Y̲eK‹ì tqâۃɯÔÁ¼{þø/C×¥Œ±™9·z»7%¢l)||ýð/_“¦㛿㓻ÐYÎ1÷^?|*>ÄóÏt§Aå ||C¨Ñn(3–Îaôc­©U!ßrÔl;„yc±¦[ÿ•Ýóy¾k*•ñÃÇ7œf?eÿ-¥Èߣ…~SLÜŠSÀG¼%ûn2±[ûä×™o®©¨IGy«Ž>¾™oYz1u*Ü:¸¡# õó#°Ryg=ç’î¬3éâ6>ØÈŠøø†Ñð>Fo)².’Î΀{õ¡Ì̾÷ßæçë)ûJ¹Æú‰“9tÏ&?T]¦8,Ñ»˜ñdkj„øá\–OÍä—kT@¹ö-Ê6â¹±ƒi[µ >¾!Ôì:†•~cñèÜSÖŸ€*´za'SשÿÏJÆôlFD°>Á5höÈVŸJHÛ÷æ3ŸÒ"¤£ÞB›jAøø†Ógý¿|y_0ჷs+ýk»µ…Ãé·ñ†Cs'„¢äÊ÷Ï›ŠUA«Í¾Ù~æV2_LjT5«õ àÎâ¯þcðà'²ßŽbÍ9é²”*·OýÉECMÚTvÏ¿ÕÚUC³èçUêeùu°(vù°%å5”„fÚ%"`ÞÉä8Ñl, Zxß×e'îc¦*<|TEŪª¨Š‚UUQI2[QU«’ñ~ؽ{WáÅŸ^±í²”ú7j>÷c×·äÝ7žcQÇ5 ©lÌômX4hnþÊ¿Ã+¤2µ+i¹qò8ý<‹gŽ&P~ï4š»§+®oañ·€Þ Dí[Á„}+’×eôÁ“XÎïÿšWv§öÁ™4÷RˆÞ4’–|É%À/¢.µoæÈw¯Ñ)ʯkž§º[!î›´×\Dtåxð'™õø Ú5ÚË3Ïa`ßÎD–6f\NMwŒ6Öä?.ñjê]×fxË~üÞûmzk@U±œ[BïÎcI2›ÕsáuêkFõïGï]lY£ùŸ÷~ˆ·ÍC˜ûÕ,Z¸rò$ñåÝŠþXã”2)ÿ×øÐlÌdz|=€7æ¼LÛ±µQÿœÉë?ø0xà ªÅ츃 $ýÍôî÷3»ìænXÌ=Ú#Ìö4bï·SNUQãÿåç3}™¶ìeª³—éýŸg`ëuô7‘ù?€ñð,úyžM[³æ‰²('çÓ«åhNt|‡Ï6÷$Âz˜åã†Ñ¯ÅßÌßû%½ËéAõöQ¾?to}²Š æ ÄW+OãgÛ2ú¹üÓŠÎþÉeú˜óÙ¤íʲf~hŠ:wB!Š…|dÌ3Šj{0G[Ř;ÿ÷Á¢¶F£ÑàççÇÕ«“0™’²ÝFn˜L¦œr’¢Üvþ(ÄÅ$¢Jc°šÈ¾ê惛r‘+70y¿q2Š_>²2YT@ÁbÊšŸâ¦øçCåö±e¼ðØ(¶DŒgí’!TÑß¼ä&±‰¬ŠŠ¢()ÿWI4YP5Ëý¥| ûÛúŽzoö{Ôj¶¤|U°êªòì'£ù®Ý4^ö9mV=C %弪X0™L˜€2½×p®7€ÓíoþÉ{]{±àÂzÖŸ@Úf’'$ ä±Å›˜Ñµ<ú+kxºÅ ~Š ¡ÿòõLîXCÌ&†7‚o¯îdËÉ8VŽbéøäbLµW6°qL}¼Í'˜÷`+ÞØ=•÷·?μ¶¾…ºŠú˜áßa [wt`ñÜO™7¾Ÿ¿éA•ŽOóêø—x¨¦/ZÀdV‹Ù„ɤ­P®³iâ‹|ç3Œµ£ëãf6a"‘ýMfw•±ìy­;áz ü&ôÿ‚Ž‹Wrü™W¨®\áÄ%ßfhR» åŒ^sï§äÜü~U­f¬þ™ðzZ¼=Ž•Oáö˜¹Üº>/F0mN¿ŸáæÖ÷™uª%|÷Jkr¼<þ>õžÇÆóÒ×hAÕxРÿºÖóÊ3rà‡|½à^† éNC â†Õ\Êôíÿû¨ÇfÀ¯¾ýYóÉZxóÒÜ9Øð)¦,9F÷—«¡5[Pñ£õsÏñH‹tãú¦›nŸm¹D›h”klš»_S×­øž'„B®|uYÒjµÉ?X¨j†[ne2ózRoE9>AÉ¥Å=À]Â5®›2çL%éæuµÞø{¿bŒŽ¥x6uÍÁösÙ¶b8u½‹p[Q"¹×~ž9/Wüg/,99Ë©ÔÊõݳܹ!U‚ËR.¼2•#{±à€™„ Oð 8¬ îZЗi@»Š:|‚qÓ€Ö¿.m+Üâr¬ngËq€*<Ø©,I×£‰Žõ¥y·ªÀ-þØ~Û?—”d:|kvã…ÖpèìÖÏA­³ÚºïíµÓhQ!úçq<ÿ7Ï~ú*M|RŽ–«ìß}Ë‘±4 ¥l¹PÊ–«L§Ï¢Po^à¦p¯Å 1â»z‘u»1lÊ7ì‰J,ö $sÇ@¥~Sx6x;¯xЉ‡ë3v|³\š8÷ëŸÜJØÎ:Röc(UûžXå&nÙêޮë”KbJÁÐyQÚ[ƒ)ÞŒ¢Äptï%ÜêßGï;ÏÒ4¢{M8ýÛ)í…îÓˆA½üØõùV®(`½²…Ï÷øÓ«$žÙ%B!î*ùªxhu:À~&uªëÔg¾/½ìÖ£æ²Ë† ê›7žÕZQEý”ÍÇây°yúÙ­â9¾å¨ð$•=‹ç zÅ1™Ýi _\IñÔ7í_)ŸqwꌘŋkºðÑø‘,¯Íøøí?˜8à-V]7R§ïôoJ€·™ßß~‘ù§“W˜aðßÔHT ZmòzUIyš”_aTUE1'pÛ ðS»F25S¬±Wb±¨*™:ì8•K½GÝÊÒðÁ—ù¼M$C›<Áü9ûùyë´‡Ó£•èMŒ}á;|Ÿû‘Ñ ½H¸Õ‚Ɇ{?bóÇmðM ¤÷&ÈMEUT~b.¿uΦU«X±ð%ºOŸGüȬÊæ¿)³8sPßÔõ«îux~ú@¶Ü„ÏËsè]AŸaߦþHg1Y!à!¾øq<õÒÏ: 1àd@½™zɘz}ši;jʶՔe”äqkÐØú iX¤¬7ËîÜÓ¿e»,dã…ûiûóBþ éÍ”êF×z !„più?Ïçb–%{÷¥ÿÛ^AFÉEEF 2ycëNŸ{Þgò´UŒ^ñR¦60Ÿ[Å´ÿÅñƒT1Ï/ŸÅ1™¥^H¢Ï¤Wlóa½ÌšÑ£Ø>žmïw&HWüsÅ86ß‚Œšáߪ xD2ò“á¬î:›wßJ{4yÜž[§8v &ONÿr:ÔÛ‡ù÷ý´¥l¬3ùdê—Ó;EšŒ_:ñ¬Hýrðûõ†Nåå6ÁÓNÍÜCkb,䙞\ñ=ª(,*ø{£SU,™‹æJ4ÆŽä;ÿá¬{¥>^¤;^èJQ£ªæ_¶qÖã1:—ÊÜôãβúRuèöLº ÌŠG›0âÃy½Û3T(ŠŒ³ 2)ÿH+„ø·zŸ÷¿—ö¸šn±äý¬'¤NÚÏöð[Œ/÷UñʼҴXï´ÚN÷¾O_I]^ëOºeHZ·ž#±íi–ÒJF‰ÙǺãPåÅJ¸«¶Ö{‡¡Ê£<]õS¾X³‹˜oŽRñ‰YÅöúI!DÑÈ÷i^M¶´#7Å{³Ùâ’hÅš¡ ?|™o»¾B·þ'xé‰V”ÞÉÒsø%ìÖ?[£P€ÇÙc§ˆ1«ÄžŽÅjÖsâÈ!|=4¸EP­lò L¢p$_Ä{ë¨;¾7ïgÚ#ô¥"¨]ѧXN{-\•¯z/1ûÙµÜ÷é™ hK5¢gû÷䕦 YP·<Öã{ùç–6ë^‹A/·aé¨í˜ûO. ¬J9<’®s5©>³w´ã®ê¼j>ͼ‡b±[K:µªGD¨/Ö‹X·x![Ì­™6¸6î@\†')\Û8Ž‘ÿóaØê稥7‘” Ak0bÐúÐäù§¨üÃl÷ñgÒ¨^4lÈ6Ó IDAT Õýï_œõjËãC1$céÜ]ø5¨OÕ/Nogó 3uCðº«`–ÒGòX™>Ì}b†IÏÓ£N”‹Çùëj9î{´y^§‘ƒŸ¥þ—“2"‚YcºSÅòßNÉú,x¬"Àî\ŸúòÜ?(’wßx™éI5ß3~þS®ûÕ¢E·ØüÆãÔö*¾¯«¸ÆMü^Þìö8ëÒuXÓ³3!ϬcÏ»õ(ž“^Ç|˜9ýÓjNcæô¤Çé–éQÏ_sxAk¼m>×µÏ|ØVZÈdlçEƒWf1díÌ;GJÃU_™AK¾E0‰yëð÷7º§+jcñw vº,Ý9G«éZ ¤CUõ„õ[ʯ¡³™øÑ÷üqô8gÝÄ«t(¡U+â§-ü_ú‹ô=ªºq_g¿û™å3Vr#É@©J5©Ýl_¼üÝÂS»Ò¤5Ý@5`é¤UÄŸö¬Å§i+ó¦çÊÌ»× º¯ñãÚPÞ~{>ï?½ˆëV?*ԨͽO5ã1UEU-Äì_Æ”Æqå¶Þå¨×y߽ׅжµ…S»,e~ïf^,ÝŒƒª ¿¶LÛ¸‚*'³äÍ~|rSC`¥ZÔmÿ<zeÊKZKÓ;¯#ã‰ÉË"†òí?Þ;›!Æc(KíVϰlóH:i3´¶±ÝU_KPÇ!´3M Fѵ¬®Dg…B8ŸfùòåªbJà‰O{ëfŽOˆgúŸ¸ÿÁ‡Ðj3þF¼wï>víÊÛ¨­[·¦^½º63™L|÷í7tíÚ•Òe‚l.³jå7t¹¯Gž¶é'þ=N³­¸võJ¡o[d%ùp-’×b+~ZËC<–ö÷óüÈÃ÷wáÖmsžfYÚ½{Ÿ¼ÒÝîöUU!::š?÷í¥mûŽ6—Y·vM®ÏCŽ8îË{ÔµH>\‹ä#âvór‹~D½ý_õ,ã”Ö“©ù¸y#Æ kBá(kW¯Êp}mKúëâ$‹š¿2:½ÅjÍÒ…¢aƒú4lP?ÏëSÛÓgK'\!„BášT®ïœË‰­ø¤uiéÊ*„"Ï 0¨¯ó›ëõú\e¤Ë’H%ùp-’×R’òQ\», û$®Eò‘ë~š³mûÅ4ó—ý%„"ï 4†LaœxÌfsαHAF¤|¸ɇk)Iù‚LÉ$ùp-’ûÌ'W2w¯/÷­lˆO!ÏH&„¢d(@AFNÔB!„âîdˆxíç_(ê0„Bcù.ÈܼqGÆ’…ª*èt9ÏùX…¡J•#¸|éb¡oWØ&ùp-’×RóQÐã~IÜ'Å™äõH>\Kj>ÜÝ‹ã|‹B!ìÉsAF nãççç„î¸zå*þþYfsÊLZê!ÄÝEŽûB!„¢¸ËsAÆ`0P¹röìÞM‹æ- ,]öÎ|Kf³9Û e«ÕŠÕjµ½bUM/FEƒÅlâ=»©‰ÁhÌk˜B!„B!„.+°ðp¬ŠÂþý{¹yó&JÊ´ÕƒM¦Ö,:}j·£”BŠ7·¬EÞ€N§M[¶Nݺãããk7¦_wlËëËBQŒÉq_q·éØ¥[Q‡ „ÂÁò5†Œ‡§'U«U%44‹%û1©4Ýdz{ŽÁhÄÛÛ'ÇeëÛ?Ïë%Ïo»~¥y‹–E†H!ùp-™ó±dáü"Œ¦àuÜŸ¸ü/‡¬G\—Š1rÌp!r w-¿íú•R¥‹: !„–ïA} #~þ®Ñ•Èl6Ù¶ רBq7qÔq_†¢B!„E%ßW"ƒ; !ÄÝÅQÇ}9!„Bˆ¢!!„ÅŽÃŽûrúB!„EÄþ|Ò"[{ß^o(ê0„BäCê1\UU¹¹ÈM!„ân#-d„B;ÒeI!„Bw%¢ #£2 !Ä]ÆQ9}!„Bˆ"’ÉdÂb¶ ªŠ#ãI£Ñj1èõè Frš5[®§…âîâ¨ã¾´°B!„E%_™Ä„¢.Dqäða®GG;:&´Z-~~~Ô¬U‹°°p<<=í./ÔBqwq\—%!„B!ŠFž 2f³‰¨¨(öþñ;í;v¢BX8z½c{>Y,Μ:ÅÖ­›Q…ˆªU1ŒÙ?ÁÅ 2ÖûX8á=–mÙˉënThþ0#ÞËã÷øäre ç¾ìCëWwaª2†í›G!ãç›äõH>„C8l–%×:ˆìX¹°´;_;lã1#—bq;Ÿ;Kè8cá¿Yh÷U6nM ;—Y(ÑlÞŠ§×ܤLÿømr<2,Ä™§1aÖ~=…)°Ÿz·_hOHnŽcqÛXw ŸaE'Ÿœ—W8¿g5K.dÉG¹åÕƒ¯÷Ïå^ï<¼¦bÉJìÉ_X¹øs¾X¶…ÿË2xÝN&FºÛ^Üáïç0kÙfþóQ7Ýé¾bóZ¥ÛQ–+lÿäM¦³ƒ?ÏÄâÑ–¾£ÞatЏghÉÛ«ÄûšwÞšÏúÝǸ¢ ¦þýÏ2aÂÓ4.¥sü.Bá’ò<Ë’ÙdæÈáÃ´ïØ‘J•«8¼ ×ë©Rµ*íÚuàÌéÓ$ܾmwy5››%æw>Ò•úáxy‡P«ë‹|q(«çäö–Ë¥µ¼Ôñ&îò¦ãÈY8o,­ß3ºËCL?Ÿ«_c­WÖ1áݽ”©è‘óÂÂ.ɇk‘|GÉz\Vˆ?·‡¯§½Àõ‚ñòöÁË;€žëoÙ=†«ªÜ\å–Ú€û™¹zëÖ¥»­ÿ‰·{¥-“ïãŒr•M^dæ¶Kè<Ñ{ø¡»ö+³_ÇOW¬¹zWÞúm ¯ÿäFU[µ5žC3¥ÝE\¹ç Þš÷9èý“6YhÖ¿;Av—=ÎüÇ›ÒcòJµÊ[s¾fíºïy³AºÖÙ¦“,Ø–¾§Âƒ¯1gál^jt™Ï‡µ§ß'1¥.—ë+ÜØ9‘^áK3OYÀ‚w#`ÇDì:–í1Î@!„ëÉs5EUUn܈!,¼’3âÉÀ×ßEQ±Xì\¥$•å.Ë…U k?€š®Œ|õ3&•»Éö9y¾åÎmÛĸ^ä04MÞ©·Øùöh¾3?ÂÂM3è”ü G—M êÙ‘÷_YÂ#럥²½½®Ä°ýÝqì¨öŸ4YÌõŽò."ùp-’áH™ûêMvM|”§¿ŽÉ¼ Ýoû2ËRñ¢1–!¢v$Ù5t(ÐqÆ|ƒË1‡˜ùDK¾Šp#)j)OÞ{’ ¡0ñº ‚ìÕø|4ú|Ÿ›ÏÛžav¦Ç-§–òòÔÔxcß=W @'ÚÖÔÓvàkLÚÙžÙm}m\›X‰½|‹?N¤ÓªÊ”Å:®#íÿSiúlkb-÷à‘ÍqS_ñi¾=<¿wbìÅüµv_BÉáɘõGy£”?Ús Ø¿p¿íåÔXvOz’i Ïóö¨ëmëÊÐÊå^g–†þo ãšú&ÿšÙ¹=õ|:óÐ¤×ø¡ûWô Öå>lj‡™ùò¢ÚLgÓ}7t£Ó½éßöFÍìÃ/ë’ÝÛ\!DÉ‘ç2Š¢ Ó9¿9¥V£EUÕÇ H]&í¦Ü`ëØ¬0=Ί­ËyçÙGéÞsS¿ßÈ[‘G™2|>'LjÖçåáfSÜ–oºEõa/Ò!(Ýþq¯NÿÑðø{%›ÎÛ+.©Äþ>1k‚1¥/¥FÁH>\‹äC8P–ã2~´÷1ïO_ƶ?¾ä>´íÃ3´ÒШդ ¯ô‰dÊÀzLyª/w!ÂMSä­Gî†[î¯Ø/¡ä8ãV•~ÿĦ)í¸u"NÝôm6lœÃÀ9µÈKâØ¼Q,´>É´gk‘ui ç7~ÃßÞÝÝ?õ‹:€ŽÒíF2¸J,›W Îæºu”n3†¯¶|ÍÐS\´(\ùÏ—K·ð͸Ù+bkÜpÏßÅ^±¦Å#Ðc¿¼)ÑÛ˜¹2‰vݬ,|ª=õ«× a‡>Œ]y‚„Ô7šr]_þ†µÙK kì{g_j|h8l ,{øj×u”<ä8ñøÿXBŸQ¥c’é+<À+–áÂÚUü“èÈý!„ÂUè]‚F^ 9]§©™oqûY¼î&5G¼J§`Ýû=j2pl7<ެà§sf‡wY²\?ÆñÔkœ©é‘¯ê­¨ÄŽ^LÊþ…$föè/1šÆ ên9¼j‘ɇk‘|G²u\6„?Àð!÷Ó Ô3íä–Ó1ú[vžä“ïóÙ¶«Ü*“-|ð(„óÝÝ~Ë ë•Eô¨Jhh(ª7¢û©üt:1-§:Î$þÍgýšÓzÌ„7ßzD}“Íú0ë°ý®ÓæSK=+š§¼LC/[—VIœÿó»~Á&þù|so?ÎòuñÄìÐØîF’×"ùeï |úÇòÒüBµpêßkœJý;:‘ÄÀR¼XÙ ÝMnçfá$ZZ½ÁüÏ-øøbHºÆÙCX8k&ƒ·dú–Åô© /ØqÆ­õš<ÊÔW‡Ñú`_Ú,z€OVNcïÜ”+o§óˆ%Šÿ½>“>ä‹VþhmŽê¢—n>d M‡‡¿Ä_#Îfh:ª7¤íÈŽ|Ñß“émžæö¨5üOY΂‹5(U¸—d%ˆBܹ3ÄÂÀÅ‹×Ä аAÊǶ≩s8üà{Ô'‰¸$p÷±ÑÒHçArêâ°æ:Ç*úØ$TcZ¯@¼ˆãRlÖŸ«¬ñ׈Ǔp›¿œåÌWŒùèÝ?{•¦>Ýæ®$ùp-’áH™í´ ¤Ô`T‹Éî²fKÆ*‹ÞǶ ‚¨UÚo#îZˆÅjÅ,-ŠŠ­¹¯â{š¶îʃ÷7 OÛטñÅß<<¾úgÐøÑlÄ4ÃÂéßÝñw·`õ®Åc¯Õ²—•+&ðÖþŒßÚ…2:ÀfáN‡g '\ºB¬•LE ±WãÁ+ìB3„?ÂØ@ü.TO4ªž¶Ãg'2‘…¤xšRíèYÛûÎ?Þßÿäø-…ú^zAìå[XÉtál‰ãjxz¡Ëu޵¸x£K¸FŒI%ãÏŽ*¦›×IÔzáïáרB!œ«]– ¡ù²FƒUÉû°Î+/b¹t+ës-qW‰Ã‹@/ÇŸètuiÇá_Ï‘© Dì_;8I8*Øú•-‘¿¾˜Åï ѬP‡ ¡¡„†V¢ÃGg°þ7…6C í¼»Ãkˆ,$®Eò!\Q†sŽÑ‡G¬J;[¬ßtŒ)Ë0å”î0.Ð¥§¤ßòÃÚš.•!úä5Lä8“žžŠƒ¾gÿéšÓï6–s¬š±Ž›ñ¿ðJ“pBCC kĘCV®.½ŸˆÐPš½ÿI¸QùÞèOnãhl¦×j:Ïo‡ãñ¯™‹Ö.^-˜¹gsÛäbÊk‘žžhoŸ©ˆ¦˜’°j=ñ1jÁPž¦u¼¸øÛ®fZÎ}= T®WcrìU­•ÕØúOæ®p·ùgÛ¿P¡•=BqpxC×üvg²5“’Á`@±æ|‘–ùBNX—¦Áqü¼ó I­ja¼³$·Žnç?Ây*Ì-߀Ùò¨É£=˱hÉ,¶ ú„Î)õ®Äã,± ¥Ñû´±Ur£êÐ/ÙðpwZ+[8½øžÝÑ…ysûRѯ<ÁÒ,9o$®Eò!Èîñ;Ýc9}ÙOÿ! :ñü°ã2Çâ’¹öUï,çèS†(¸ÄSY{ KH7ßÇ™|Ò•ãá¹h~;]_#å?½ÐŸÅÕg°dÄ=ø…TƈŽÒmž /òáÒãtQƒä‘°¬\Ûú1‹Ï”¡Ç‡‘dzD8“ßZ-¨p{.ó6\¢Õ#!è”kìX²ƒÄ{^¥Ž ñ¡Ññyâæí{ˆ·šø$·iQcÙ7o‡¼:° ©´¹Ïqxwzך´«yyy_*¤œ¿,çV3ãûª ïI£­˜…B”4Nù c«¸¢×ë³¾º cÒd¹Øv¯Éc=Ëñù3Ù„ãäTQÓÿÛ^A&Ý¿–ÄDni¹·¶/'Ž$âS>ˆ껣1Ý@• ²‹Xÿ~¿œ‰” À˜ùƒëX2w-ÇBú³ü‰J)4¹=Î8ˆÆH™ˆÚ”IŸõ"‡¼u¸•®JíÈÚi3.é‚{2yü :Œ{Þ—^⩎•HÜÿ³>Z‹ûãKÓØ å%޳ÇOqìwæV³ŽÿŽÂ×C‹[Pª…xäx‘ïºæ'Ñ÷^B¢w±üÃOù5ìyÖ­ŽÔc„âî÷Ë&ÏcǤ\ìe˺¯|Ä€ŸcÀ}^z¡}αiátþÓˆI[û8ö‚,­+Þ]ÿÕߟÊÒ)C™™Dä½ýølë+ô¨”zzµpýàf¶mŒàÁ¤Ìý‡…#I>\‹äC8å_|˜w%‚r›K‰¶>{/‘^ZðnÅì ³håéyéª,Öë—X¸Íͪ1®¾•kQר¶÷!u°?Åžp>Ëö®_ÁÜßÎu-7üÊV¢AŸ)LÕ‡úwz`çî8S Tzj[Cfòîì/xuÉEܪ4¦ã„UŒØ„RΘ›úö>ÞêÑ—õé¦P~ãán?ý#»Þ®GN¸Š%õ›Gvæ…}wî:3²'ßTËÎMÏ%Ïë /G¯OWcyo<3§<É7±^„5ìÊ›k'ñT}Ÿ;g]0|ºÿOßá£o&0pšB…úí¹lÃÛ•Mw1û{F¾Â÷›Â™öÞ>1—ßš4ï6¯÷æo9ï !ÄÝ"߃úÚkžù~³ÙŒÁ`Àl6çú9)wæ*[ÏÕøµâýMk©þîT¿7„ e¨Ûªó¶âÊ'´Ž¹CЀSW0pjvKxÑbÎ1¢æØ[‹‘£wqv´ãã»ÛH>\‹äC8B–c¸jâÆ¹Ó\º”iÁØ+\Šˆ"Ϊf9­d\•‹GÿcòÑÿ2,³m¿ƒ‚ù§§Ïg›è“ËÅs>Î8‘®,ýÖ¥Ÿ­Ç4î„wünc 'ï6|þ_TálË•hJóðš(ÎÍ¢Þµxü½•<þ^ êƒiýÂ,Z¿Ó s›c Þ5å­%òV.âBQ2¹ü¨ VkÎ-j²+®hýðô´<=-Ëä‡N!„(Ʋ÷ua ÞrÁöŸ•µ ãคB!„È­|d«‚V›}×¥Ô1öäfE±9¤BQ`Îl-)„B!„=ù.Ș-fU±ù˜Á`ÈðÿÌ÷ÛºÏdJ²¹Ü j!„¸»8ì¸/§!„BQDòUÑjµ)S€Ú¾’‹‹ÅÛÛ‡¸¸Ø´û2ÿþ>oo›ëÊíìKRBˆ»‹£ŽûÒU!„B•üdt:’ûâg?@olì­,gþ;ý2¶Ö¥ªªüz)„Âi¤ /„B!ŠJþõÍÃ,K9ÝŸÝcªª¢ä¢"SÔ•*GpùÒEÊ…–/ôm !ÄÝ® ÇýÔc¸Ôc„B!DQÉwAFUSÿcë1ÇdÌfKŽÞò §BÜ]wÜ—ó‡B!„(ù/È}w¢ÌÊþþøùùsãFL®ž“Ý}B!„£ÈiF!„B•ü!£Ñ ( Z­Öæã™ )11× (ELÌõ<µžÉmAæ×Ûrµœ3T¨X¹È¶-²úmׯE‚HGòáZJR>uÜØDŽá®¤$½GKɇBá\ù*Èèôz«M6”ÊÓýªbc í\dëÛ?Wˉ’í·]¿Ò¼EË¢C¤|¸–Ìùø÷Ø_EMÁuìÒÍ!ë)XÚ!ëB!„"¯ 0¨¯í,Ñ×®æouÙM{‹¢ŒÙlÊ×6Á`0Ù¶…B!„BQ<h ™ÂãÅl6ç‹  „B!„Bˆb¤×)„¸JB!„B!„¹a{TÞ\¸y㪪:õ¦(Vt:#_¯Ãìý}7z½¡¨ÃB!„B!D1”ç2Àh0p???'„tÇÕ+Wñ÷Èv6§TÒBF!„B!„ÅIž 2ƒÊ•«°g÷nZ4oI`éÒh´wæ[2›ÍÙH¬V+V«ÕöŠU5m¼ ³‰?öì¦Nd$cçJAF!„B!„ÅHÞ 2F#aááX…ýû÷róæM””)« šL­Yt:úÔnG)… nnY‹,:½N›¶lºu ÆÇÇ×nLRŽB!„B!Dq’¯A}=<=©Z­*¡¡¡X,Ù·ˆI¥Ñhì>žÝs F#ÞÞ>9.+]–„B!„BQœä{P_ƒÁˆŸ¿?¥ËPºLÝ[`é2y¾• ,oîŠ9ªZø7;¬7ö1d/ÚÔ '4´ÍyåGcQr½w-œûòQ*…†ÚúcNä<ó·°ÃéùP8¿{ïéLÍÐPB« egœ­õ˜¹¸e&C:×'"4”ЊµiÓÿ~8”qkWv³lÒ îkvá¡¡„Vm@·!ÓXw6ãrÜÞË÷„jã–§r…¯»g³LÊ­Û²‹dÓ‘Ð)œ›+7®dêðž´Œ¬Lhh(•ë¶§ÿ[+9oës«’pv+sGõ¡ë½)yéð§,¶·¬ÆýΛC ­Ä€­±6B»Âö†r‹š”-OÍ6ýxû‡Ó$¦Û´štŽ­óß ÇFÔ¨Jh…4í9’Ù¿\!›Í !„B!J |O{íJ²±†Ø[Y>ï3>ûbÿ&„òü/2¹¾‡Sc±\ZËË=†ò¦#ÃF~ÈecùuÁûŒî²—ó?®ft]/r*1Y¯¬c»{)Sу(§F[òF>,§ñÔ#ïÓ¸}{ÇñÙZÛëIúk&}ûHÒýcøà­V„ÄþÉŠ÷&2¬¯JØ–7©ëžº`G¢|höÄë «æOì¿{øiáG êy••;¦ÒB!„BO%¢ c³ÅJÂÞéñ íèûLOb?Ù›«Ö-‹ã;ßÍwæGX¸i]‚’¿ævéД žyÿ•%<²þY*ÛÛëJ ÛßÇŽj¯ñI“Å Yï¼pK¼Bʇ¾âÓ|{x ~îÄþØ‹ù6 2.ÿ¶|zòõôÜë PŸÈRÇÙòàvþ¸ü:uÓÑWèÅä¹½î<µKî¯qšºñ_¬•æ>éË'Z¼+Ô$2²t6… #ÁõZœùîø}¼9ú,eúÎàѰB: J>´”n?ÏÚ§»«û4¼µ‡ž;méN™”á«,g¿bØs›hòé6>è^.ǃ¡éßEŒú4–ÞsÞàô°W3=jåò¯3aKCÿ·†qM}“›vnO=ŸÎ<4é5~èþ½‚uàVƒA}šî¹]y KYŽ6ßçA 2B!„BÜòÝeÉ•¨ªšõæ^—ñ;Nuà{f mNi ØX.Ÿ7›â°|Ó-ª{‘Aé¾4»W§ÿèNxü½’MçíuJP‰ý}:cÖ1bJ_*¹—îB…•î9|˜ôÞS—ÀØ,ùþ·¬€ù";Vîàz™FÔ)m«`%áÆEŽmÿœñïìĽÃ3´ÊÚ–EUòZd´pvå[,¹Ú„Q/4Æ'ïC<åOa>”$n]þÝhùÁ> IDAT_½Ë„Uñ4èÿ •ÒÆOâø²Ù옚¼ÁÍjQµv î6‹]×lÄ`9Ë7¯Ï ªÛd^máŸ5×Êuv}ùÖf/1¬±ïÇ5>46‚–=|µëz¦nY*–øhÎÙÀ'c§s$ä!5ÎyÌ,!„B!DÉP"ZÈØþ:ªÅ£t@Ú¸ j¶Ë:†åú1þ‹ ^ÃàL;VƒWõVTbG/&AÅlv{Âafþã ïTݳNŒõnàjùðjò&‹Þ¼Ì“cº9§)Mݰ3º#|?‘¦^Y—Ýü$µŸÜ–üþ-׋Yo÷¤\–P­ìQò#Œ”ªÒ„ûŽfÌ“(•M?$õÖ.fLßG`ÿÕnóÇ«Myð«ëø·‡•OV%­í‰å2¿m9KÒßsYVmo|4’€«¿°à­É<Úã «~žDïÔJ••Ëkßä#Íxo[µ[³nÎ|‘ƒg­”ï]ÿLÕ]@$ÍB-üpì*fʤÅ`½ô4ÍAMužYòmJ•ˆ¹B!„"JDA&ÇnHjºÿ;±Ë’šK"nø¸eýR¥óðǃÛ\‹ÏnèRÿ|>й·gùˆºx"#ù”«åC‰?Åï¿!®tc¾¿1ÚƒÐÿ³¥KvÐv\gB2}½š¼Çê•'8y`#‹?^Æ ¢Iüy1}S»#xê£ùô0àç±ÿa×7søt\Ovž]ÅúñMl´~1sbñ[|ׂÃëc£ä4…›j¿ôßu?ÅÑí_1{þ8º>ˆïFPÃ0_áŸ+ oö>_}Ô z€ú4ªeäþ¶ïóþÃYÙ; \ßÊÛã¥æë›y D6ÆòEI". Ü}l´”Òyàïñ×â2 ž¬+Ýã䉽¬?“Ïûw&fáÏ|Ô¥t¡é#„B!„(:ù.ȘL&,f ªšû¹QòB£ÕbÐëÑŒä4Ñ’Éd²û¸ÅlA³ “Éy¿@k½ñ"ŽK±Y»ºD÷Ï^¥i¡õ!)Ù\*Ê56¼Ò—÷/<É·¿¼J_-0š1Ûß¡WßA4x„Ö¦YhmšµëF÷ÏÒîÙ9ÌÚÿ ³[xb"Þ¤áž^3´:2„w§wÍwùhßyL½CðPcÙ3u ?†ŒdCŸðì˜:/½ öò-¬d:°Zâ¸^^ -ú"ÜKDƒ{éÔ£{tåƒiß3ªÃ ÂKF©\!„BaG¾.ûˆºőǹíè˜ÐjµøùùQ³V-ÂÂÂñðôtø6œAX—ÆAqlýõ¦{k’6\*±íà$áµäµ«‰I=Ö(î¼Üc4¦Q‹Ý(ˆaÞ`0Ððá6ø?<™¿teT#ÿ˳^9cøeæûüáÛšÙ·f:¥·3æVløÿz·QNɼEDDDDþrI¶²g÷nZµiCå°*Q'L&UªU`ׯ;±X,˜óIIç[Њ1h½W?Äãm ІÇÙ0÷]æý}+o~÷`J®Š$öÏÌèe0ùUšð.Ní²©•ŒgoŒÞå¯AU½¤åB!µ‡#–cæ¢ÕIìÑhìV#‡öþA€·^!U¨^ÆC@S=ƽS{Ð3z8O¶¿…âÉGØüÉx¦¬Éà÷›€“KÛÞá¯â ­Qƒêå}¸¸o-s§/ã`ÄK|Û>äjŽ[ä¾Xy¯Òe)éq‘øqñ,>Ý~‰&£†Ó, Õë¿3–Sßf«© 3úÕÂU?”‚Wí‘Àî^gî©Âk„S)0‘ƒ›>eÚÂ_)×)=¯$ 6ÓbÈãTîô=ûz1îÅöX¢6óÁ«ïq¦Åßæw¹œ)ˆÊ·¥½Œ˜HŒ&<Ãn!¢ÎµY‘š¿Áø{Zñ݈̃~±?jÙ¿jï~MÛ)£i›€²ù–±oÿ€GXMjT-ƒ)r+g}Àš ­˜8¢ šgIDDDDä¿!ǧÓÉÅ‹QT ­\õI# (‡Ã‰Í–ÕT¸™±qñŸýq`?s’8{‘vó;^xø”#¼jI< U‹GPsƬYIø¸ |:þ)¦$„Ñì>Ú8„NWçܵqá÷ lZW•û’œéßÍ%¯ ¥=âaT§^¬I¼¶ê•n(ýø7l]b?n}e+BßeúÒy¼²àç‹Y¨U¿5£—½BŸÚWúÌØ‰qÿçjf}9“K63ÅCëÐâÅ|òd ,©ºÇ$ÙÀ’¹_ó×É3\J“o ,5›3dÎpž½;4ÍðÛÑÏyë³Hª z™¶¥Šn&Ÿo{±¶$Ž|?Ÿå_ É@ùZMé;s3Ïu¨‚oªCùÖ™%Ÿùóúع¼Ø}*ŽR5¸³Çl¾Úйéf,ͽ~OЇÿÇäÅoðØDêßÅ ŸÍcÀ]e¯~Ø:â±]ØÅ·«q:ÖŽwHUêµÍòp›ËéÏEDDDDäfdX¸p¡Ó‘œÀÃ}'&úR¶;ÄÅÆ²ø‹Ïy~Ðà¯ÜùsçønÝZ7iL‰’¥\–Y¶d1í;vθÁyŽ¥ëðìN;UÉö ËC¯“¿ì§qÓæšåz±}ÛVš4½£¨«!)Ô×—ôí1Î,ºvàê÷Ͻû Ý:·#:ÞŠÝáÄáp¤|u’˜lÃápfX_Üß‹;¶1mHÇ,Ïít:8þ<»~ÙIËVm\–Y½êk·ÿZ¶d1ºtuóʳV¼DÉ|9Žˆˆˆˆü·¥ÿýÚ•Ô¿'Ùœy›öº`‡ÿ\;~vgq]t[yŠn™ïU3`‹ˆˆˆˆˆˆˆd*Wcò;‰ov4 GDDDDDDDn&¹Š¬ l6Ûu3\§ {ꈈˆˆˆˆˆˆä§×ÌÖÍ›rR½|U¡RX‘[2Ú¾mkQWARQ{\_Ô"""""×\dvi‡.™Íæ,¿wµmÔ¨QŒ5 ÀeÇá°g[—zõζŒÜü¶oÛJ“¦wu5$…Úãú’¾=þÞ¿¯k#"""""¹ÝÑj³’œœ”f‰‹‹%..öj¯—¸¸X€ åRo{ã7®î—¾œÕ–u›«u±&Ù""""""""’S¹ê!ãááÓ™y2ÝQ£Fsu{f9dbccðóógذ¡®+çælLJê+"""""""7’ÜdŒF ó¤¾11Ñi¶e•Ô7}Ù e܈µ( #"""""""7’\Y"e–¥ì–ËE³_—Ùâp'"Svþ´“)ó9""""""""™ÉuR_§·§¥Îª‡LvûY­¶l˪‡ŒˆˆˆˆˆˆˆÜHrÁ½áDA÷w3 ã^e‘GîrÈ 8<<²ñuÁåúü È(#"""""""7’\dŒ&»C~×&½< ‰¹^å!©¯û‰ys»˜L&÷‚2—çà.Ü% ö‹¿0ë…ûiQ'‹¥:»¿Ä½18ܾ¹6Ž/èAe‹ËS9hu{Gq¡`ÛÃÎÅß—0a@îˆÃb±V·½G-aœ3M¹SŸ¶Çb±¸X*ÓgcL†³:bðí{ÏѽmêT¶`©ÐåçRÍ^–tœ³^¡w›†Ô¨`ÁR¡·wyé?Fb»zH¾èèêœ×–ŸÆž“šGÙ ¿Œ n×j©=˜Ÿâ¯”v·ÿs^îÙšú•-XÂÐé…Yü|ÁõÝÈ®=ˆÿƒnÉä¼zŽEDDDD$<å)Œž)Vköo1®ja=÷++>žÉœ%›øíï“D; ­w7ýFýZ–Ã3ÿ« €íÌ*wzŠ¥†6<ýÂ{¼R6†­³Ç1¬ÝNN|³‚au}³íYd\ÍcvRª’7' ¨žÿßlç÷ò±.Ý÷¥f©dŽîúŽOg¼@—cÞl™Õ‘R©ÂžÁyoÞ³TOýh0TÙ7m½O,áÙŽƒÙ^±+}ú¼Ê³UÊQÂ?˜°àkµ5Ç¡½Q”mÝ7_¬D±ó²í«™Œ}è7âÖ¯cx-/ð¢å˜Ïù,ÊFZήÉ‹ ŠÓ£y)ŒîÝÎ<+èöðªþ$3¶'!}t'a/ ÇöÝ©é ààâ–Qtí9›³ûòìø¡T¶ÿΠor_ûC,\;–Á×Îö¸Ì@‹˜Ô20Íuxø”¥b®?mEDDDDäf”‡€Ìu4TÈE=’þZÌ'Ûá¶G^á©Ú•ñ¿ô_Mz“×:mãèªí¼×"(ÿ‡\9£Ù2zK­Ý™³~íB.¿æ¶k};!]Ú0nÈ|º¯y†°¬îº#ŠÆŒdsõ—˜Öèú¯ÉïJþ‡J{xP²Õ|Ô*ÕªŽ÷rkôÿè²e/çm)•*øbð,EÕÚDËâœI2µÏËüÙu!?¼ÖŒâ™EK¼jÐoò‡©V´çÞveÙÛ`»Ž'B-/À“ÒõšS:ý¾q¿ðÚ°c”ê5‰…)(„öðð¯JãUÓídãä¢éì´ÞÊ›áow3eðlN¶x‡õs{jè@Ûf•èÝrC§ôäÇ7ëR ÜoË5À¯BM""JüN¹¡åzÈÒ¥‹ |È’ÃaÇhÌþo÷®öõm2–¯¿ú€7Ÿ„{ﺃ»î{†©+¿àá'ùlúÏÄä±n.ÅþÆÂõÑ„?=ˆÖ!©ê],œÞÃÚâýçÖŸHßS!Í•óÓ;Œø:„ã{QÉœ³6‘t »=IDÿ{ˆ‹ÆðƲ8ô¾Êé»b9Ù&¡ŽýåC枬O×+y®}CjT¯G‹û_dÞïÑ™ ëqb‹;ω=k™öê;ì)Ó•~·ùgqÇ–ŒbþÙF }þ¶ËŠÂPDχ3æg¦NØNP¯‘ÜŸ|Jüë+¾>Y†žC»¦c.3U¸—!=JqjÕ2$¦T;‡íát\'j¹®å8 c<Ífâ < s6ò,AAÁÙÎæätsÁ«8¥| ¸b0ÆìçòX.Ø.ìçP\0õn-®ë‘ßðæTæ{O'e~! »™>lžý&Ò/Ü+Ëk–ìn{Äóóð†Ôlp'÷Ë‘Æ#™ðh5ÒïeœG§*—óŠToHÇþøöHbªŸ©$ŽlØÁ…˜­L[e ýK²ðã‘´7®ãÕŽÝ™¶?c}ígqoõno÷8ã×Ðgâ+´(žù3ãŒÞƤw~¡DïWéZ¾ðÆÑÍóaãÈ¢·XÕ„áÏ5À'ñÇþà_S îKßUɇªÍ«bøw/'“ çíaç—õ(Ÿ’¨Î2bîN2IK#"""""ÿa9~3›Í„…Uá;vдÉ”(YƒÇµ?±[­ÖL{ØívìöLÞLœÎ«ùbœ°Y“ùù;¨Ù3›Œ/î J>Ū—cz\Þ¾Þ0ÜÊ™C"^ø{e|6záM<çâ2K]šÌ‡2#þ!¬‹ÊšW…ÛÞÔ~qK;f>k$íˆaíÒÔ(àApóW˜õ±€àÌIç8öÇZæ¼?…'7þÎ;ßBÏ & ™Èÿ‚'>X8–ö%<€ÛhpkUì­;2í­ôÕŠ€T½ZŒ%;0ueEþ9¸“U³¦ðqﻉšó“Û•t‘ÆÊÁOFñelS& ¨o†í§(žGÔ&&¼÷¥û¬¤‹åÊÇ“ä˜$œž¥ðv·2ùâå8Í…x;æ =<«Òwò,:yè 1§°mñ|8² [Ž-cÍë ¯7’ˆˆˆˆˆ\÷rñô¤bh(v‡ƒ_ÝÉ¥K—p8.¿D™Íf éz³FLW†¥AœðòÊd1šÌWËÖ©[—Ò¥ñ÷ȲNÉÉÉYnw\ü…éýz2j_3¦|û!ÝK;³Ý'7<|KàK,gb2»°Ç#B}]÷\°]ĈÉgèøÑpn×[[¾(Üö0àm©McKmßÕŽ žá®g>àý_Ÿ`zSßËÛ+ÝÉ=•®íqûí¹¯sz¶|‰Isÿ¤ÛëuðÂAb¼Ó­ÝiZ"UÝ|jÒµsf¬þ3¶V¤®c ¦jƒfTmÐŒ¶ZS©S{Þ¸œ¡­ûšî wœ[ÇÛÓöcéû ÷–-¬T¾—þó‘Ä_¿Å×IÍ™òL]|®Õ„bÁ~Εì„4Ù^œ$_º@¢‡/AÞFÈI{˜JP¯í=©ŽÕ„VºÒúõÖtŸ3‘ Ï~Á}¥r?±ˆˆˆˆˆÜ\r5^ÁÛLJjÕ«a±X°Ù2ïs…ÁóƒÁ`Àì鉟_V¹0²çˆÚÊ[]z0Óü‹7½J«‚¢a,Q—ÛBbÙ¸õ8ÉÍj¦šÉÉI̾ÍüC(Vp•Í5‘}sßç§„óЧËÒlO‹Jãá–1üïÛ¾â“^ѵ‡‰ÒwÜCuÖq1Ãt?i™-wÒ. ÆýsŽdÀ #¾ÁÅpœ‹&ÉAªA…N¬‰V ÅñÎâq2øT£Õ¥y÷ûK$fx,Ù;s kl-yÿé:xgY³üWØía\ÍØQññit,“6øä[½9aÎl<ϽS÷ŠçÀ¦¿¡BoÂ|€<¶†"Ú7ÄoÎ>Ž]²Ã ùêËÏ3¬»«]—"¨‰ˆˆˆˆÈÍ'ׯ÷f³'A5ytÎdJ>Ìœ¾=™iÀÒ%/Ñ8È£`g†ò®I.å˜7ÿ}6õ›ÆÝWþ¢žøŸNÚ„£á8Z•qÕ+Á‹jO-`m·¤TIBmùä žÙÜŽ™3zQ)°<¥ŒÉ™"k+Ç×}É>C5††eöH<¼ŽU!´kÅ”I1ª4¯†ã•™,9|/ÏT¹ÜÆóŸ¯<ƒåÆYþ8cþ`ņñ¯wåÒ%½µŸZÁèYG í?“{Jnï Û#žß?Ã÷´âƒþ·d>™C;ò`­ñLœ´‚Á {Q!e_ÛñLZE•]¨â ymìçùiÅb}o£vƒ J·áp8IL¶áp8±;œW{DŠˆˆˆˆHÞÜxo.¸²X9<ïyÞø£)“Æí†B˜¦»ƒ&Ñ{õC<ÞÙÆÀÝhpœ sßeÞß·òæw¦¼ø%±Æ`Fï(ˀɯÒ4ЀwÙpj—M}¬d<Ëxcô.GxªjÆ¥\(ŒöH`÷G¯3÷Tá5©˜ÈÁMŸ2mᯔ뿔ž•LWËý½|![KP¶t0žIQÿ}5óg¬b™Þ,|¸rÊÃh¢Ü½Ãèþ^oþ¯ÇÓ8Æuvev¿ð«=Klg¾eìÛ?àV“UË`ŠÜÅÊY°æB+&ŽhBš¾eÎXvN}›­¦6ÌèW‹¬fÝ.8…÷|ØŽ/å­¹§¨üì'´qä1…ÑçÝA,í8Œ{ûd`¯f”9¿…ï}È֊ϱê©+÷9í¹…/VÆ«tYJúA\ä~\<‹O·_¢É¨á4 ÐPD¹æ¦ȸó3Sßû¯;&RöÌüzæÚ&C±2„×,‡O¼y5gÌš•„›À§ãŸbJBÍá£Cètud~ßÀ¦uU¹/)} ÉOÞöbmIù~>Ë?¾@’1€òµšÒwæfžëPß+‡²E²sÍçÌØ~”“çâpàE`ÙÊ4è9žw†ö¤~ðµ¡,Á­¿|!¯Màƒ§ïc¬©,uZ?Ëç랥y©kÁGB<¶ »øvõ"NÇÚñ©J½6£Y>ân+™öѶýœ·>‹¤Ê —i[„Ãf åùpF³ã½‰üìÕžYOÔÈ0ÓÕ>CX¾>”‰cg3mà ¢jÒ¤Ã;¬{ùAnñ»vNwÛ#ñÈ–Ìýš¿NžáR2˜|K`©Ùœ!s†óìÝ¡\ý sFC–DDDDD ŽaáÂ…NGr÷yœ˜èKE]Ÿ[¶d1í;vΰ>áç¡4ì¼€s®v*û$k·¿E½žèJ %uÀ%}ð%³ +v»I}Ý>šˆˆˆˆˆˆˆHÑËu@ÆawàáQðÓ^;ölËhÈ’ˆˆˆˆˆˆˆÜHrÔ×j³’œœ”í¸µÎÕbµ¹1¬ .Y*ì% ö‹¿0ë…ûiQ'‹¥:»¿Ä½18ܾ»6Ž/èAe‹ËS9èæm× ¶=ìœú´=‹ÅÅR™>cR•u·ÿs^îÙšú•-XÂÐé…Yü|!}ÐÑIÂáUŒíÝ’ˆÊ,–*ÔoÛŸÉßÿKêþbΤãlœõ ½Û4¤F – 5¸½Ë Lÿ12M9âÿÇ [\Õ¯h~¾r×1¬°B&÷¹_F¦ÞÛýûœm¹˜ïé])“{g±`±4eâþäŒÕuœgí3µ°X,Ô{éW®®ä‹ŽYÏB‡ÏN“}ZDDDDDnt¹ê!ãáá‘—p¯gŠ«rîìëî M®Ždýw+ó§Lç“[Ø}4 «oYê·}”aÿ7”{+s븹a;³ŠÁžb©¡ O¿ð¯”aëìq k·“߬`X]_ Ùùš7Æì¤T%oNXMÿ «=<‚;óÞ¼g©î™j¥ÁLPeß”o\Ü2Š®=gs¶q_ž?”ÊößY8áMîkˆ…kÇÒ"ør|Ô³ƒQÝŸbQñžŒü` ƒÎ²uÎŒëû8>›–Ó?ìò?qÚEÙÖýxóÅJ;ÿ'Û¾šÉ؇~#ný:†0Õ¬o IDAT×òJ]jŒXĤ–i®×ç, q"´¼µ‡æ&£ùâõx§^mô§bñ+±ewï³›å|êóÒ‚<žœîSÆÍŽ·ŸcZ\î©ìIºDoÏËßzQÍ.¦¹„ ZŽùœÏ¢ÒÅtpvíH^\PœÍKQð}EDDDD¤¨å. c4®“úºâççŸaÓéÄß?€˜˜è«_]•q+AŒ«z$çã4{ì ^¨Lô_ÛXñÑxzµù—5¿N¥YÆ*å3š-£‡±ÔÚ9ë'Ñ.äòkU»Ö·Ò¥ ã†Ì§ûšgËê®;¢øaÌH6W‰i>¡ÿš¨çE!¶‡Á³UkG‘Y¬/q7SÏæd‹wX?·'¡f€´mV‰Þ-‡0tJO~|³.ŀ䣨xÆÂóÆðdËA•ú·ãç }YûgýÂ.Ó«ý&˜ê$í¹·]Yö6Á®ã‰& ã_…šDD”Ì6U`ò¡=LA•¹%"¿Ì ¸{ŸÝ-g æ–;ZrKºÓ$˜Êÿíó¡ÝŒ'¨é•v›3î7&[LÀ³³xxÓLO³Õ“ÒõšS:}½ã~áµaÇ(Õk= 3B&"""""E&×C–H™e)»%:ú’ËåʶÔ_]-7"2®ö3Ux€ÉŸ|À˜ÁÑížûèûâæM¹¯3»øë¢Í­ºgµ¸û ×Gþô Z‡¤úw±pzk‹÷ŸKX"«$ÅNb~z‡_‡0p|/*¹ŸûX\)Ìöpfý“šø×W|}² =‡vMyù¿ÌTá^†ô(Å©UË8xy¹l}Â}N²æ³µŠs€3Ö.f—-Œ¦U|\ÖÓwž{Ö2íÕwØS¦+ýnsuq®¥<·Gö×àî}ÎI{dà8Ëú·§³¿ÊÓ o[2݇hûgeŽýQ&>S+mOžLÙ8¶dóÏ6bèó·á_d3)L¹È\²”›% Ðí²V«-Ûž8Î,;ñQ§ØûýG íе{š¶eŒÙì“ýâŠíÂ~ÅSïÖÒéºð oNeN±÷tRæ’°›éÃàÙo"ý½2/'n)Ìö°GΣS•Ë9@*„7¤cÿ |{$1ågÅIü±?ø×Tƒ;ÂÒw¡ñ¡jóªþÝËÉ”ªx”hÇ»³Rjé3ÜY¿Ý{´¢å ?h?ãs^¨‘~x ØÏ,âÞêÜÞîqƯ  ÏÄWhQ<ý£mç—õ(Ÿ’Û¦Î2bîN2¤U)@yn$®}˜ð”\+UêµáÑ7³/æJþwïsÎÚ#½„=3ù¿µ:½Ú'í5Àzx>ÃÞ?Ï}ãs«¯{¯ÎèmLzçJô~•®åÕ;FDDDDä¿"׿ý;qs8‘ /F¹5ÜÉíÙ“²(½¶•Øp9É©åAfOèFycîëže5cHÄ ¯Œ/bFï ¼‰ç\\f©K“9ðñPfÄ?ÄÂuñA™|óªpÚÃƒàæ¯0ëcÁ˜“ÎqìµÌy Onüw¾ÿ„žýšF³ù3zWÌÿñ@¾%ð%–31‡]Øã·¡™üÕÜvt#&Ÿ¡ãGù]còEá´‡ïJwrO¥kkn¿³=÷un@Ï–/1iîŸt{½Å‚ý0&œ#*Ù i²¸8I¾tD_‚¼€ã‹úÓw–#VoäÉ>€áÃV2¬óÓ<:¨*[çÞKHêj›‚©Ú U4£m§ÖTêÔžw'.ghë~„šS êµ½'ÕMhÕ©+­_oM÷9ÙðìÜW*÷£Ý•—ö¥›t ÃÕïѬmº4@ËþÓ˜òs_>læçæ}6ç =H³-fçTÆoó¡Ûg½©’æ#ÄNäÚ7õk^ߨŽRFpgª$ǹu¼=m?–¾ßpoY¥òù/ÉÕ[˜ÑdÂa·ãt8rµ\8έrÙM/íÖúW¢þméþÜ;,_÷6“72iî~²‘[Æu¹-$–Ý[“6Dä$fßfþ!”†\e}MdßÜ÷ù)á<ËúÔ¡Bʰ’Ö“b?4ž•,XîžG6é5$¢l³åNÚ…ÁùΑ øVoN˜óħ+ÏMC…†„ù¶|;w^÷ ãá”` €gù y®ñ?.eO\æç5øT£Õ¥!á‰Y=>†"Ú7ÄÏɱK…3n)÷í‘é iÚ‰ÄpâL<Ü¿Ïn·Gj¶#|þÖÎÖyÁÍÓÎV…í8Ë&­æRÜ izy ëŠ ñ‡³Ÿv¦ªÅBãqûÒ}î$²wæÖØZòÒÓuÜÌ7#"""""7‹<$õÍ}w“ÉäVPÆÝã™Ë·àî0ˆ‹ŠÇ^I}½kÒ£K9ŽÎŸMçS ½Hü‹O'mÂÑðaZ•qõWp/ª=µ€µ«W³úê²’ r½™¹r5ë>¼—ÒJ/‘3E؉‡×±ê „6¬ˆ7`íȃµ.²bÒ Ž§ äØŽ¯`Òò(ªÜß…*ž€Áßb}èOÎ¥ ø$qöh”%(‹ó:cþ`ņñ¯{å²êf?ÏO+vëNíBúÁÊu{dÆÆÉï¿b!Ô­€îßg·Ûã*Q?Lä½ßƒy`dO*¥¿eÆrt›±6ÕÏËjVó)χA@‡I,_½–ùO„‘úöS+=ë(¡ý^æžÒê#""""ò_“§2nçxÉ«5û\*îÖ#áïU¬8hæ–A¡x:F¦ƒ&Ñ{õC<ÞÙÆÀÝhpœ sßeÞß·òæwRÁÄþƒ½£,&¿JÓ@Þeé]6õ±’ñ,ãÑ»áu"¨ª—r¡0Ú#¿—/dKb Ê–Æ3)Šã¿¯fþŒUì/Ó›…W¾ü™Âèóî –vƽ}2°W3ÊœßÆÂ÷>dkÅçXõTøå—ucî܃w}ûúœfè£wQÕ/†ëg1öã 4û )])lg¾eìÛ?àV“UË`ŠÜÅÊY°æB+&Žh•y–l‘[øbåa¼J—¥¤ÄEàÇųøtû%šŒN³€Â"—ûöÀzœµ ×sί4eKú`‹>ÍÞï0sÉo˜:Ng@”ž5îÞgwË]‘t€9o­ ¦þÿñBcÿŒS‡<)Uµ6¥R¯³Ÿæ?#^%«Q;¢vÚ0ÎXvN}›­¦6ÌèW‹œô ‘›C29Hº[èœ\Ü:‘×–ÄZ«áå}¸¸w ¿ÿë¾ÂÚ!yè”5 æŒY³’ðqøtüSLI!¢Ù#|´q*_yųqá÷ lZW•û’Òç°üTàía‹dçšÏ™±ý('ÏÅáÀ‹À²•iÐs<ï íIýàk?i>CX¾>”‰cg3mà ¢jÒ¤Ã;¬{ùAnñ»rNŠ·žÈ·‹Âywæ*¦¿8ƒ£±þ„Ö¾•Þû†¡ÝC¯>´Ž„xlvñíêEœŽµãR•zmF³|Ä#ÜVòÚ£xdKæ~Í_'Ïp)L¾%°ÔlÎ9ÃyöîP2ÎÛTprÛŽKûX¿x6$2ÆfBBkÓáõ/þx3ʤú$sï>»_ìD®ÇCèµ´;ó¡C‘íèç¼õY$U½LÛBÈß#"""""×ÃÂ… Žäîó81Ñ—²Ý!..ŽïÖ¯ãöÆM *ÐÊ9¾üâ î騑’¥B\–Y¶d1í;vN·ÖÆ©5ïðÚ”¯Ø²ç8­fŠWŠ åÃCÙ¿¯¼@þ>°ŸÆM›c4j¨Áõbû¶­4izGQWCR¨=®/éÛcþœYtíþÀÕïŸ{÷ºunGt¼»Ã‰ÃáHùê$1Ù†Ãá̰¾¸¿;vlcÚŽYžÛétpþüyvý²“–­Ú¸,³zÕ×nÿ?´lÉb:uéêæ•g­x‰’ùrùoKÿûµ+©/N²9sÞCÆxšÍ$$ĘۺºåläY‚‚‚³Í)cO#eÛ`v»n–)<9ȘÍfªð¿;hÚäJ”,‰ÁãZ«ÕšiÀÃn·c·g2£‹Óy5_Œ6k2?ÿou""0{æ  ‘‚•󀌧'CC±;üúëN.]º„ÃqyƳٌ!]o£Ñˆéʰž”@^^ƒ,F“£ÑãjÙ:uëRº4þþYÖI=^DDDDDDDäF’«ô”Þ>>T«^ ‹Å‚Í–y˜+ †œçl1 ˜==ñóó϶¬2"""""""r#Éõ|!f³'AJ$"""""""’Sù0kÑ+Š2•êòï™Ó”³”/ôs‹ˆˆˆˆˆˆÈM‘B–õ|Ò""""""""’ïnŠ2[7o*²sW¨Vdç–Œ¶oÛZÔUTÔ×µ‡ˆˆˆˆÈõã¦È<ЫwQWA®Û·m¥IÓ;Šº’Bíq}IßïßW„µ‘\d’““±Ym8Žü¬ÏUÌ&&³'ÙÍšmµ&HÜa6k¦)É™\d8yê${vïæÂùóù]'<<< ¤f­ZT¬Š·O–å•ÔWDDDDDDDn$9ÈX­ÉœÙl6Ž>ÌÆp8T­V-Ëž( ȈˆˆˆˆˆˆÈ$dz,Y“­ìÙ½›VmÚP9¬J¾cL&UªUã®»ZsôÈâãóýyµó§˜L梮†ˆˆˆˆˆˆˆÜ€rMq:\¼EÅÐÊQŸ4‚q8œØl¶lë$"""""""r£ÈU÷‡ÃÑhÌïºdàaðÀétfpQ@FDDDDDDDn yoTÐ=S®?»³(#"""""""7’\d "oLV²™õZC–DDDDDDD䆒㤾ƒ!Û¼.î iò0ñÈ¡ONgá/Y°_ü…Y/ÜO‹:¡X,ÕiÜý%îÁáöÙ8¾ •-,wNå 5¯7è¿­pÚÃI±ÌÚ“öÍêSÕbÁÒú#_}Lì\ü} tᎈ0, au[Ñ{ÔöÇeüyÊQmQü±d OÞ׊FµB±XÂéÿcìåmŽH¾èhÁbÉ|éðÙiìnß‹¼Ë]{İþÁ ™\C'¾Œ¼²·ƒ˜ýk˜ñò#´mT‹J –ð[iûØÖMÈ´7]Òþ©´Ép¬TuŽÞÍ¢—»sG­ XʇӸÛpæÿyçYûL-, õ^ú•„t›mÿd͇#èѨ"‹…Ö3’õ'ªˆˆˆˆˆÜlòÐÕ%óÜ.&“ ›Ívuû•ï3=Rfƒ»#û×”l‡4ÅngXûùè„–æË¶þÙ3·lgV1¸ÓS,5´áéÞ㕲1l=Žaívrâ› «ë›m{äjÞ³“R•¼9Y`5ýo(œö°snÃ+t~l¾íûðð°~T·” °å¯>alç÷ò±.Ý÷¥f©dŽîúŽOg¼@—cÞl™Õ‘R¹¨sâ_Ìz¤3£Ô¥ç£O1jP(eŠR²ŠÏåíA´ó9ŸE¥Žœ];’§GóR|F¨\\[˜›Œæ‹×àzµÑŸŠÅ¯Ä–­œX¿ÑÕé2ðn©RœÄƒë™=n ·?ÈG?|HçtWk;‚áS8V©Æ£.N›°‡÷»wb =ykú«Ô1îgɘ—x¹Ë’6~É“aég[s½}Ÿ§^Õ¤wÕ÷¦U»÷™ùÃy:öIÕ5ÐÆée¯2þ`KFOðcô³‡ÒÏÆ±/†óÞñöÌÜ2–v%<€úÔ­†±u7¦}ô;Lh˜&@äŒûÉÃðì,ÞôÓÓWÑ@ó‰›ÙïUûF¯ŸÏ¦Ì/YDDDDDnR¹²ä.“Ét5ßLú¯ùéÊLL®–Äý30%†‡§¾H„œd^6'‹K±¿±p}4áO¢uê¿Â §÷°¶xÿ¹„õ'²êñã$æ§wñuÇ÷¢Rú?¼KÎJ{$ñ×gÓù5´5~…{×¢Zí¦t~ú}¶ËäØŽ$¢ÿ=ÄŽEcxcY zßGeÏœ×Ùq~S–$qW;sú¶¢~x nmÝ“W—$!˘£cKF1ÿl#†>þÙuÊ/ynp:rL5”ÂÊ”òNó¡ç8·ž7GýLÝ‘£èPÊU?¡~ÿ'ÔíF“×ö4ø×£G—òDý²‹È4UNbÿ̡̱?ÊÄgj¥íÉ“ŠÑ·$þE‘ëEÎ2Cަ¼¾2TÉf³]ºdOY®Hÿ}N93[¬GùìÅ·9Þy¯5º:"Óò9X\^ë…ýŠ ¦Þ­¥Óõ’0àޜʜbïé¤Ì/$a7Ó‡-À³ßDú…{åð.Hz…Ò¶Ùþý1’öÎà³sMxnòæ{ˆoÓ£Ó(~ŠMÿÓÏÏÃR³ÁÜ?t.Gd£ոrôœÔ9á¯ÕìŠ;˪é[)ùÀ›Ì^ø/6‰æóî¦ïç'2ÍIâŒÞƤw~¡DïWéZ¾ð¢yn$®}˜ð”Ü1UêµáÑ7³/&ëì3ö Û™ôÌXß6„¡MR Wt^bËÛ¯°>t(ãz”Çä20åw`1lÇ~ãxêª9ã9}ôöØHbR%౞ϰ÷ÏsßøÁÜê[ ñn¹ÁåêmÌ`0dÝSÒä¹òÕjµ^ýꪬ‹ƒ¸W!—åìœ^>œ×ÿhƤYwSÒ°þZÙ²äLŒ!/ü½2¾ˆ½ƒð&žsq™½<&sàã¡Ìˆˆ…ëâƒ2ùæU¡´‡5’‘`j<ŽE“¡‚  > kyÒ¹å8Æ}3€%–I•£Å›Ú/.biÇÃìýaÓg¤ý1¬]:ÅrRg±ÇCûd#ùanmЀò1ÍyxÂì¾o,õ3tѰrð“Q|Û”Iêã›ýmÌ7yko"Ídv?‚½°EàÏM ™6ëEÚÿɺeÏQ#CÌÌIü_ y±×~¨ò*_ÍyŠkq5'±¿¼Çð%A øöQª˜!Þåy}©÷d¾šÊ“Ã+òÑÈnÔò9ËŽ9Ãyþ›óãêåØNòÕËù§õ{Ìm„G†T¾""""""×äûŸÇÍfóÕ€KúÀKúu6ÛÓ³Û³ï9“œœœaãÂ:^þµ^ÝLÇ’v’£m8qâ°%»,Ÿ<|KàK,gb2ÖÙwŽ8|Í䝿¶£‹1ù ?Îí…6†äæV(íáH&.ÙÀ-÷·¡\ª§ÉÚ‘kŽaò/'H~°Lª¡+¼-µil©Mã»:бÁ3Üõ̼ÿëLoꛃ:;HŠKÆPü.ºÔö»–×Ämµ$à«ßù+ÚA}ï´×ç8·Ž·§íÇÒ÷î-[X©|/ËK{€‰ÒM:Ðáê÷hÖ¶ ]š eÿiLù¹/6KYÆIÜžyä¾qü{߬{/=SmNÜÇGÃæAß%C5††yç¸ÎµšR!~3מ¡y÷”aQŽslž¿™Ä[†S'ÝìîöS+=ë(¡ýgrOéÂíä¡=2cãä÷_±ºW ¸ø²GòÍKÃXWé56Œ¹›ÏO½WY±fÖT‰{Þá‘aÇyjÁdÚ– ¤²Oú½ŒxÁÛÅ–I¯ó-í˜Ù¹üåQc9ºÍXK“øTŸ‰Žs|û|o> ŸÄü·X& Ïô‡‘ÿ¬\½â{xx¤¤bq‹ÅÏïò›`llŒËí±±1øúú]ÝãòXîÎÈ”aßÀ–¼÷ݺ4É6‰ÛÎðnoa½”±·R¢J±,sàäN1"M¢÷ê‡x¼³ºÑ0à8æ¾Ë¼¿oåÍïLÉ1’Äþƒ½£,&¿JÓ@Þeé]6õ±’ñ,ãÑ»áu"¨ª—r¡ÚÃL‹!S¹ÓGôìëŸÛc‰Ú̯¾Ç™|Û•a4 ìþèuæž !¼F8•9¸éS¦-ü•rý—Ò³’)‡uϪ½Üj6/ z€¡1oòh}3û¿ü?^YS‚Ç—ö¸Zg,;§¾ÍVSfô«ENú¡äŸÜ·Öã¬]¸žs~¥)[Ò[ôiö~·€™K~ÃÔq:ê\»¢¤óx{muG†siÏ.v]ÝbÀT¼ ·„úãáW‘šu*¦©]|bI<¨X«!©z9“ˆÿSBˆhömB§«sÛ¸ðû6­«Ê}IN@9c Ja´‡oý—Yò™?¯Ë‹Ý§â(Uƒ;{Ìæ»¡¨xå ³'kKâÈ÷óYþñ’Œ”¯Õ”¾37ó\‡*ø¦:¥{uLå¸ÿÃØÆ¾Î”ñ²8Æ—Š·¶çµUoÑ·¾š«°ýœ·>‹¤Ê —i[ªèfÿÉm{8.ícýâÙl8t’Șý ­M‡×¿`øãÍ(sõ“ÌÊÑ5+9Š£ÿ׋ÎéÎïÓñsvÍlŽ9|€½ÛóÑ©@*T§Fƒ~Ì{ç1ÚTöÉå“kçÄýh7öïk«f?A§Ù ™öÇrº–Ðg‚ˆˆˆˆÈÍ.÷‡Íd–¥èèKiÖgÖ % 0CÙŒ§pâp#"ãVO—”2ÙÍ•ŒÁ xlÂç<6!³¾4ý`?'?Èê(žÔ¶cÃò¿~ÿ5ß&ÊÜ5ˆ™w Ê¢ÅiòÜT¾z.¿ê|™Á¯]ÂCc³.gªÔoNôsïä,7íáQ²ï|ÓΣ›©þâœ|1çõòi4‰=Ç\lðªÃk;NòZNh,Ë#«ñH† &Âlâ䀜×QDDDDDn¹È8¸œ>:00(]9×e.]ºxuÛ•ï3žÃ‰ÕjË6€âV€Å¿ _;ì~y‘’û€ ‡sñbTšïƒ¸x1*Ã6w7 œˆˆˆˆˆˆˆÈÍ(w9d sQ\ ¢'*êp90uáê¶+ë]í—Ý:W¸‘I®2F“ ‡Ýž!¡å…óç.~õßN‡ƒâ%J^]áü¹œH¹ å!©¯ë@Èùsg/oNÙvþÜYœNçÕ¯9ªœÉävPFDDDDDDDäF‘§2…Ñ3Åjµf_—"ÚT«Ê¿gNSÎR¾ÐÏ-"""""""7¶<d®Ÿ¡B×K=D©§G IDATDDDDDDDÜ‘ë€Ì¥‹ ʾ`8ŒFcžCDDDDDDD¤°å8 c<Ífâ ,€*]s6ò,AAÁ.gsJmëæMZ¬T¨Vdç–Œ¶oÛZÔUTÔ×µ‡ˆˆˆˆÈõ#dzÙLXXþ·cM›ÜA‰’%1x\›oÉjµf:„Èn·c·Û]Øé¼š/Ɖ›5™Ÿÿ·ƒ:˜==³¬Ó½zçô2ä&´}ÛVš4½£¨«!)Ô×—ôíñ÷þ}EXÉy@ÆÓ“Š¡¡Ø~ýu'—.]Âáp\Þf6cH×›Åh4bº2ì(%PãÄ€—WÆ ‹ÑdÆhô¸Z¶Nݺ„”.¿@–u²Z“szùÆlÎ:X$"""""""’^®rÈxûøP­z5, 6[æ=b®0 YnÏl³§'~~þÙ–UR_¹‘ä:©¯ÙìI`ÐõÑ;D¹‘d-W2µó§˜L梮†ˆˆˆˆˆˆˆÜ€rÝCæz¢2"""""""r#¹)2( #"""""""7›" £pŒˆˆˆˆˆˆˆÜHnŽ€ŒzȈˆˆˆˆˆˆÈ $×I}“““‰‹'.6¶@–øøx¬ÉÉîFr: É‚ýâ/Ìzá~ZÔ Åb©Nãî/±po ·ï®ã zPÙbÁrçTZÝÞQ\(ÈöHøeu-,™-µóS|Jag'v|θþwSÓbÁRý)¶Äf~VG̾}ï9º·mBÊ,º±ü\ÚŸ=ÛÅ?Yóáz4ªˆÅb¡õÌ£Ø\^ÂYvÌzN±X*R«y/Þ\z€ø"ˆeæ®=bXÿ`…Lîs'¾Œt½wÒþ©´É¬ŒÛíá$áð*ÆönIDe Kê·íÏäïÿÍp¯Ýn[,Ó÷µ¢Q­P,–púÿ˜Å„ˆˆˆˆˆÜTrÕC&1!“§N²g÷n.œ?ŸßuÂÃÃÀÀ@jÖªEÅŠ¡xûødYÞÕ;eÒÞ·hxûD»ØÒï{öL¾¬š;¶3«Üé)–Úðô ïñJÙ¶Îǰv;9ñÍ †ÕõÅÍ1ì‘«ycÌNJUòædÔñ¿¤ Ûëú“ÌXØž„ôñ€„½|0pÚw§¦wJ]ŽÌ£o÷±DÝv?½Œå£UYÔûÄží8˜í»Ò§Ï«<[¥%üƒ NU[g4[^¹Ÿ'6”áîîÒlé<ι:˜#šíov¦û ÏŒþ˜ÿ«’įŸ¼Îkïå¨ñfßWc6÷ ¿ä­=<07ͯ7À;õj£?‹»ˆ-ÛŽ°`øŽU*‡ñ¨«Í3f£º?Å¢â=ùÁeëœ7×÷q|6-§XÊlkî¶@â_Ìz¤3£Ô¥ç£O1jP(eŠR²JA|*‰ˆˆˆˆÈõ(Ç«5™“'O²óçŸhÕ¦-*†b2åïÈ'›ÍÆÑÇٸq‡ƒªÕªa6{f¾ƒ«+NÀ£"O6‡Ë§®Ÿb!Õñ.ˆaNÎh¶ŒÆRkw欟D»Ë¯¹íZßNH—6Œ2Ÿîkž!,«Ûåˆâ‡1#Ù\ý%¦5ú„þkò¿šÿ…ÐþUiÜ¢jºlœ\4Ö[ys`#üS" ¦JóåîÇ .FÌ7÷3+³€LÒŸLíó2v]ȯ5£xfÑCÍ'nf¿WIüí{½~>›\KÞÿ!CæZylÙ'¼ÚÈP¯nå¬-yâì8˜ð˜Á=ÚÃT™[""ðËöd6N/{•ñ[2z‚£Ÿ=”ñXn¶GòÑ ln..ÅþÆÂõÑ„?=ˆÖ!©Þ¢‹…Ó{X[¼ÿ\Âú™`œÄüô#¾aàø^T*Œ—ä›Yµ‡3æg¦NØNP¯‘Ü_1Õóað"8¸X¶]ì/2÷d}º–XÉsíR£z=ZÜÿ"ó~Î0¬Çè[ÿ,A÷üȉ æt®íw­÷‰±Íi‰ÿñ­üSHã–òÜàt¸WWǹõ¼9êgêŽE‡R™D´ÜlsÙú„ûœdÍgk9çgÿ¬]Ì.[MÓõhɾ=Àq~S–$qW;sú¶¢~x nmÝ“W—$Aé°DDDDDþ3rq:\¼EÅÐÊQŸ4‚q8œØlÙ¼¤e²€»3óíyY\±]ØÏ¡¸`êÝZ:]×#¾áÍ©Ì)öžNÊüBv3}Ø<ûM¤_¸W–×,Ù+šö°qdÑ[,ŒjÂðç¸Ñ“#½$ŽlØÁ…˜­L[e ýK²ðã‘´7®ãÕŽÝ™¶?‹úºdÀäë‹áâ_ì;—ú9²}ìñ¶hÎÅÚs\ËÜÈs{à qíħ䎩R¯ ¾¹˜}1ésÃ\bËÛ¯°>t(ãz”Ç”Ç(%Úñîì”Zú wÖoE÷­h9èÚÏøœjdÑs/ ­fWÜYVMßJÉÿgï¾ãc¾ÿŽ¿neO#ÆI"DbTlµ¢Šµ«¨jU)úS5[T•¢F­¢fV”FQ›š¥Ô¨­fÕ‰H.;7~X—ärÖûùè÷!÷½ïøÜ÷»æû¾Ïçýys4 CæðIÝ~ú¸ïþt#óš3B!„BˆçŠUÝ[ŒF#*UþWP*”Y÷Hy(³!K†óŒ®Q„ÑjWJ×jÁ»C¿à£Æ%ÈùmTöL‰:±ÅÙ6cžKeï†=ñDÄeVº4™ ‹3/þ-BúWÁ©ä›[O"ƨÝLšv’bÝ×ÓZkÍÛ+™ð ÿs0sBÆTX Ô¢z _ MZ2kÊ~Þ]Ћ“ Üô£cÑÎŒ~ ³ÒÌGɵßòñg‡0P';«k{çHîâaOÀ€ù,ìå„»«-ú¨ü½;„Y >!èP8ÛÖ|Dy[±G§14Ô~›Þ¡¬²î_gC4çà‚¡¯thAÅ„\æ0[—® m©ëž“ÏB#±×¯¢£8ï-]ÂÈCÈjT¯N)] ]'ÍáT›ñT³Ïö@B!„Bˆg\®Æå÷tÓŸÝY’““3îëÑŠ¯ psÇYÇÿeíw3Ýö7Îü°—YAEò¼©Ò±0ŽÄr[—ñ;nC\q8àíhþæWuæߦåÜ¡¼ì,5%òBÁÇ#‰ó‹ÆðkR 3úT±²h´‘Äxê¨W8UÛ*ж•'ó6Ÿà¶¾1.9Φp dLèLT}‡ÓëÕEØû¶¤Ó«E9v ,ž™\ƒ¼–›x€šbu[ÐâÑãÚ4x­5­ëõ£Q¯YÌ8ü.ß5p‚ijÌ²Þ ¥w»­ÁÏB¹žPT…«PË#–Sû¯“6EdBwv/ÿàMMOs7‰‰œ]ü-‡"YÓ½2žZ-Z­M¦_Åpy"¯”Ö¢m¶„lÊkˆt :†ðÍŒŸ{¯ÃiYÜÚtŸ Gw;Œq1$¥é,b"%1…+ö9~C(pðmÏÄmç¹zþÇÏ]åâαTŠÂ®Fsü ¨7†õñÈôˆxÔ ¦<:nÜŽÇÄ™Éü )\_ÐÿR÷‡6•k»’(Ã1TóD«íÀV]N¡¿Á¦Å±}}]$clJµ`ÐG‰ÿ}5§ãrpŸÐ+oЧìý®0&Ýq~Zí›urõ{ v*BQôÜÞøã¢chCÌÍ/¬ŽGfô„íü…³xС¬ JÀ¡êÖméGJª„ÄÓSx{Èuz/ŸÎkE]ñÉI×%… Žvsùo"ôuq|t퓸s5 \jà–£x(p©XÏøyÌßz›ÀÅï÷Ô3F°wÙ^+ ¥²sNŽ'„B!„xVåâÖ.óÚ.jµ½^ÿèù‡sL¡À`Ì~?K2&Ýi6lCU¦:ZÉlé™Ü±#`ÀTºm~‹­ôôï׎š.×Ù±ø–\¬Áèß:á©HâܼŒ=X‚~ÓGPÏU} ^*‘úXÉØ·Ge_ÿÊøÊŒKV(¸x误fÌâ›øô]JG&Ic,×Î_á^Š‰Ø«1RT\>s{%¶eñ+n5%ßB‡iÝøªã‡Ç}H·lùæ3~0µeaOÿTõL$G\æÂÍxŒ)—O4ö7§NF£R9ãíÀH|Ø.߉&òæ?Û²Œù«ÏSö“ŸQÇÙªhÖ±>¤\gkÈv"œŠQ¢ˆú˜[œùm9óC£n9›~•ï÷¬Q:yQ¡²Wš³Æ'ÁFu¯Š• H=¶È’x¨ŠóúÀŽ|óÎç´é~‹Á*¯“Ž Û0~Ñ]êŽïCÀ£ì›eñ°ñíÆÀÆ ùxÀ› ÖæjÎýü÷¦ÇꎮB!„ây÷Tÿé¯Ñh0¬Éš¹w,”Ÿ›(ZÒ7U<W±fÁ|¶_«È'ß¶¤X>Õ$Vº2nËzü'L⇉½™‘àA@ƒ·™»kÁ>o¥õÜ=±ƒÝÛ|i“dºAYÂS §Mæ°m Þ/O¦ó1ÅåËà.lI|¼jx»ûUQŠõØÈc«b(Ý3qí<<>ŸÄœÛ0^]‚ÊMúòÓ¶¾¦™ÂÙÀ•=i>þâãU ß'x!@Mf\KÛ ããÛÒqm"…½ýð«T‹!+ѵ~Il øWÏÚx£Ï²}ÕBv\#\§3Þ/ÑbÔJ†öh@qk>É,Ї’BM&³i…?ßÌßÀìOæq5Öï—jðæ´ îàêCÔÂx¨KÒþ»uèÇbÆÄwX¥sÄ«FŸoÃ»Õ 2A&„B!„x’!!!&cr]»÷@íq±±¬ùe5={ˆRi>«ñ°GLúZ3×YÚ[F§Ó±~íR¸HQ³Û¬ ]EPËVéÖ&qvæ{ô^rœk7£HD‰½{Iüê¼Aï¡h[ÁÙºâ9©\¼pŽ:õ d¶)a™ì§n½úOºâ‰ÇÓ%}<–}¿€¶Þ|ôø£o6Ò®UsbâS0MÆÿšHLÖc4š2¬/älËÁƒ0kPË,Ïm2‰ŒŒäØÑ#4jÜÔì6›7üjñÿ‡Ö„®"¸u[ _yÖ .’'ÇB!„/¶ô_›“úïâ$½ÉŠ2 EŽ’©“0V]ÊFÆ!K6Tøßröþ/Ó²¹I!„B!„"¿X]Ô×dʼ† ¦~ÌÃSRRýk‘|žV[!„B!„âIÈó2æQÂÅ\âÅâdÌCÞõB!„B!„xX1ŒfkÈX’pÑh2N”Ù~FcöSgKBF!„B!„Ï«2)úŒ&£Õ'Ž‹‹}ô³££ÉÉIfÏ!„B!„Bñ¼±*!£T*1™2ï™âää @l¬Îìó±±:=«3{¬ô³4eæIôñ)ãË·oQR[ªÀÏ-„ùÅÙNÁdÂd4b0ÉhÂN£Ädº?ËRêõÒ7Q!„BëY—Q©óE}]Ðéb€û‰™‡?§§ÓÅdù<zîázsûe·Îœ””d‹Ûž×4›'vn!„B!„B<›¬JȨÔjŒŠtëïFFàî^èÑÏ&£‘B…‹==Sž–v!„B!„BXÂê„Lô½{¸¹¹e¿a.˜LFT*•%æk;„B!„B!òRŽ2 ÀF£!!!WW×|hÒcwÂïàæænv6§Ô$#„B!„BˆgIŽ2†2eÊòçÁƒÔ«[ŸÂEŠ P>žo)%%%Ó!DƒƒÁ`þÀ©êŘP OIæðŸ©€Æ&ë©¥eÈ’B!„B!ž%9OÈØØàåíÁh䯿ŽÑh¼ÿœFƒ"]o•J…úá°£‰ lm3&YTj *•òѶ•«TÁ£X1œ]²nÔS–1Ü;Ê÷_ŒçÇG¸t×ϺíèÿåÞªälae=×—w¦áÐ?H.;Œ=;úã+õƒ­–ŸñH8:Œ:oüH¦º»wbÍ¡©Ôv0pó‡–Ôúô”™lhúãI–¾êü¸Í1§X5áKf­û“cð¬Ýš¾£FòvU—´mÖßáàâ¯øjÁŽ…%àZ¦oÍÐv~8<È“š’nqhí2–®ØÀ³WSS¨tu‚zä³.Õ)dý\kV±.:¶wªÈ»ûŒfž«Æôc¿ÒÑC ää:›ˆ;·’¯¾\À–ƒçW£Z«>|ñEjz`^H éó g˜Ó‚:PÁþñj¥{+¦-é‹_ê|¤Bƒ›cª}Oóm‡`fЙ1³GPYuŽÐqŸòYë $íú™Ê<Èc80ºBµô»ˆ¯Ê&ñ×ÒQ|Þÿ ®ªö°°M1T€)ö+>‹KƒîŒèS­&œÃ¡Ó˜üY+ކoaãàʤjb¾Ê]<”hêŽeå¨êiÛ«rÆ«PÚTNö×ÙȽ}_Ò¶óBîÔy—¾ãc8AȤѴ ºLÈÖñ¼âþà˜Iaœs¦N×ÏøÐÏ ÝÅ?Ùôýtz¶¾CèÞIÔ}øe¼ÃæAí´§ï\LëJ®nŸÍÈÑ]¹[xKÚ݇‚8.Ÿ‰¢D“žŒþ¤4v‘óÇ/óÿÖqâ¶ochÅ´I!„B!ÄóÉê/c5\ݲJT`2I¥\û‰wõa_éŽôú` Ÿø–¢ˆK!|Ý3ß'wíˆaߨ!¬NéÀ÷Û§ÒÜãþWâÍ›¼ŒGë¦L´Œ[úP&««nŒbϸ‘ìõû”Yµ—ÒkKÞ7ó…QñP:ûRçßt;é [1›#)5Ý¿6Ω2 ›¢ø¾@€]f'ÔsmåP¦]bþ¾ñ4/¬ªQ¥ZTMÚ1kî ÞžT{ ùÜw ZœÂ{k–2¢¶  j•J¦4âý)˹Ôr þPnÆÔÐfiÎR·Q¼bêÐoy÷›@õ‚ÈÈäA<Ôn>T À)›Se{O1càBÂ^™ÂöÅñִ൥éÖhƒgtæ÷ÑU°Ôžíùz^ûÇû6¦Uù©Òý$—uê:?èú’p‘M{uTS¿ÛRÔöUs1t9{Ã’0aDwz-«/ÚP¡žÓ,&ôq‘Ü8½•Y#¦pºx[zÖʾG B!„âùð|$dÌ,ºC3˜w­&‹üB†(Y¢5ZôeÞ±h ™ì““ÅýÝs\Žs§jbéº)pôć›œ¹•”ù I8Åì!˱é9™žþò-yn=™xèùwÅB¢ê2ô£êzr—\V‹V«ÅÓ¿&-{MbÓ¿‰©~§”ػڡ¿vœë©›fŠçÖÕh ±áè ÷_ƒÚÑŽóœHÄ0sí&ñú"b3+ È?«†Ò#oì„w-Éu<0’¸µ+þÚûׯlÕ¦¼3zguëÊd}MÄ_;ÉêòÔ/“¾ ¾¾(þ;CXº¦èv¼CùJ5iÒe?ǵbÜØÖ”LýBÔ^tž3›.ú¹t«]“ NmhØb÷Þû‘E=3tG4Ü^Á~¼Ü¼·¸Ð}òp^)ô\|$ !„B!,ð|üõo2¥[¸¼m?‘º½L[£ øóïY2†`Õ&7jÉÔ3 föÉáb®‰:±ÅÙ6ãeUÙ»aO<q抒$saÑ`æÅ¿Å”þUpÈÃËó¢zñ0FífÒ´“ë>œÖÚÔ·àJ܇³`Ѭüe¿¬XÄÔÿbÜ3ƒ^{ŸŸ®?Lª8Rõƒî”¹:“†®àä$ôq7Ø7«ÿÛ¨'î¿î úѱèIF¿?†î‘’Ãå­_óÁg‡0`ƒ“™··>œ=ÚóÚ “4»Ž‰MŠ Ê¸U¾È]<ì 0Ÿ…Ë~bõº5¬\ò-Ÿ¶tãÄ‚Oê4‡s’'–\gɺ$L6ŽØ›¹Dj'WlqÜO›Ðr¬=žu¡ËøväÛÔŒ]Íÿ^{k©“a)Ü9µŸÃWmðmÞŽ&JPÌEÏÙµ‹Yówl†D®ªH f®_ÉâiCh_á ‹º5ã“­d’FB!„B‰£À¾tC^/ýxÍË ƒhÓª:}ÊÔÅÓnTelû€¬X¬çƒÓ"t0 ¦Tã·iµ%})üà]«p dLèLT}‡ÓëÕEØû¶¤Ó«E9v ,žé_›þ?6m޶6„~5\ 4#››x€šbu[ÐâÑãÚ4x­5­ëõ£Q¯YÌ8ü.ß5pÂÒëlçî„*!‚¨d¤)#l"9ú.‰JGÜìÓ¦ª”ÎÞT­ëMÕºMªÀ[F0cÙ9Ú| [ éÜ,ºõY‡ÏÔÌíà…2ô?ö~ƒO»~Aù}S¨ŸúwIíŽoõøVoÀkÁM(Ä7“×2¸IÏëµ$„B!„xrž2HŒ×£©Ñ‘ú©êpàP‘m*àd ä&™zÁ”GÇÛñdÖ·2^gG¿@ʘ.°ëB|º-ã¹°û"xÖ¤LÝ¢l<_¡iˆ¿—ð༉œûi9çKvcP«ûÉ…ƒo{›R;X1CQšGåh\¿$D“˜õÆ…B!„O«¿‡MNNFŸ¢ÇdÊê6Èz ¥ZZcCv³fg,²«ÂÁÝCD I¦GwžF’ô(ì\±W˜ò~¢%û tl]’%˾ewÏY4{˜ J<ÏSwc¬9ÆfoÔm)×{9[Û%¥º©ÔóïÒ÷é³·9óçu¡´k)ŠÉ·æ9S ñˆçÄœqì¤1szU²xéÄ+ÛØp ¼ÛzýÅÞB IDAT™ÙG…}!ìQì›:ŠM4g~«Rfß´j§"EÏí_1îP!:†6$u9’„SßòÑÌÚ-[Ͳê;_XÌè Ûù gñ CY—,L鯳ڻ%*NdòÔu é‚烋ª¿¾Ž©k£(Û¯5e³˜D.áÒFÖ_ÖP¡¿÷ƒb½Jìœm!òo.F¨ø¨Ø¯‘øÛ7ˆÆ…Ι¿Mº“¬ÛñÎUkQRŠy !„BñB°ê?1!°›aœ>uŠ»‘‘yÝ&”J%®®®T¨X//oì²®à‘1!c‹oÃr?ËÊËoÐÏ÷þŽIwŒåën¡}«ª|HÈ`GÀ€©tÛü=Zéé߯5]®³cñ7,¹XƒÑ¿uzpã—Ĺy{°ý¦ ž«ûþ¼T"õ±’±)nʾ$þ•ð•›4+\<ô×W3fñM|ú.%ÈÃ\R!‹kCØ—X˜ÅܱIŠâú‰Í,›·sÅ»ÒÕçñ›Ñ”Dø¥Kܺw—ÛWO±sÅ~<ìÊ{K¾¦y‘Ôi#ña¸|'šÈ›ÿplË2æ¯>OÙO~fDçÇIc;§,àRѶ|âp…ÇRBံ¢6‘¢±>¤\gkÈv"œŠQ¢ˆú˜[œùm9óC£n9›~•ö¬±ð:«ËÐý›¬n9„7º_¢—üƒiß±ßë#6ôöç~>ÆDôSøâ—x¼Ë—ǯ”÷Îneñì5\ ø”MAA6”}ëcÏû„~mûpy@'êzÙp÷äzfMX*x>ËÜÿ¥ÑßÞÄø¯÷ ,Sò¾ÅQ‡cý‚9l¹Û˜ÉÃê"ó, !„BñbÈqB&%%™°°0Ž>D㦯áéåZ·]7ôz=W¯\a×®F|Ë•C£Éâëê Ô”ló)o~Ó…/Û÷Â8¡n7Ø4ùS–šÚ±¤Wyrr´œPº2nËzü'L⇉½™‘àA@ƒ·™»kÁ>Ϫçî‰ìÞæK›¤ô5,D^*x˜b88m2‡mƒXð~y3ÓúpŽlù‰y®‡[\KøP½óD¦ îL5÷T‰–ä ÌëÄÜ›®xúùS¾zO–Ly¦>é{¶$p||[:®M¤°·~•j1då"ºÖ/‰mê ãNòÓžH ¡_Ût óçóýÛø°tÁt¿²6Æè³l_µ—Ã×éA㌇÷K´µ’¡=Püaósp±v»7“Ç/dVÿyD¹T n‹)lû¬•œ^@ñ:#ñofÁÏó‰Ök(ä]™W>YÎÒ^A›*ØjmGæoufÎÔ%l™Ü—oÂ’(R6€—{Ïç»_çažÎ˜þî16m^Á­Xö¾Tm:–µÃÞ¦Vé'„B!Ä‹Bb2&'е{t1ÑÙîÇömۨנ>>e|óµq—/^äØ_G¨W¿>.®nf·YºŠ –­Ì>—xe=“GLäǽ—¹§.A@Óî|>¾/ =rßÝäâ…sÔ©ˆJUPsÔˆìøc?uëÕÒÍH<ž.éã±ìû´íðæ£ÇkBWQ9  ›}®þó`šã˜c2‰ŒŒäØÑ#4jÜÔì6›7üjñÿ‡Ö„®"¸u[‹Û˜•B…‹äÉq„B!Ä‹-ýß׿¤þ»8IoÊy“ÉĽ{QxyûXÝPK¹¸¹b4šÐë³®f›qÈÒ}¶¥ƒ¹<˜‘n/„B!„BQ¬šhÅh4HÏ¥B‰Éd’ŠB!„B!ž+¹*X߉’‡ÇÏî,’°B!„B!ijĪ„L^ñÍNv%V%!#„B!„Bˆg‰UC– E¶u]„B!„B!„y¹èêRµ] Æì?O¢‡ŒO_þ»}‹’ÚR~n!„B!„B<Û tì‘Zý¸°^oÈv{FƒÑ}²E†, !„B!„âYbÕ%!„B!„Ba½œ÷Q( dÊëœØ¿w÷;·gé2OìÜ"£ìÒM©H<ž.!„B!žV YR(˜LÙ×Ñh>%%m-‹†Y8éÍ.Ý,ÚN<ßü±Ÿºõê?éfˆ$O—ôñ¸xîìlB!„¢`篶‚Á}Qß””äh‰yÍ;·B!„B!žMV'dŒ#Jeþ]2³/þ+E}…B!„Bñ,±:!“¢OÁh2Z|øää$3³?‡%$!#„B!„Bˆg‰U³,)•JL&Õ‘ÉlIÍÜãìµúéQuäÐAÔjÍ“n†B!„B!žAVe<”*}QßÔÌ%dœ=Öétæ÷±¨ö¯ôB!„B!ijÃú.(̲”vóì{̘ÛÇhYFÆâv!„B!„BZ-Ú†3¹dÙdS"ù„£Ã¨¢Õ¢Ílyi ‡â Üü!(“í|è¾+m %CÌ)V|Öú=Ñ–ò§N»¡,;“¦Í¦¤[ü¹r"}ÛRͯZmi*×oÇeqWŸþ%Üáà‚ ®íVëEÅÀ.Œ^}ø'Ë´.:¶wòÌäúósøÃ½srMÄû‰Ï:7¡šm™ê¼€Ãw é[ŒîŸÝ,þ¢ ËjÑjk2údb†š’®³kÁpº5­IyO-ZÏò¼ÜúcfÿNúp!„B!„U=dTj5FƒEºõw##ýl2æüq–öI¿B·öÞíÙšœÙ>|zè0#+ÚZtüœÐßÞÀÀàÞ¬V4åç1¼„Žý '0¤ùnl\Ç*Ž®[z†ðÍ|1îEKÛ–ç-|±äw`^H éÎ0§ÿ.u ‚ýãÕJ÷VL[Ò?›TÛ*4¸ù8¦Ú÷4ßvf3{•Uç÷)Ÿµ¾@Ò®Ÿù ÌýÙ½L±§XùóY\tgDŸòh5áÆäÏZq4| WÆÀÃÑ­èª¥ÏØE|U6‰¿–ŽâóþopUµ‡…mŠ¡ÊÑUµ^îâ¡DSw,+GUÇ>õj•3^…Òæ–³¿ÎFîíû’¶r§Î»ô8à B&¦MÐeB¶Žç÷ÇL<Å7º²TÓŽÝZ¢[ð—ÙÖ)ˆãò™(J4éÉèOJcù7ü2Ÿño'nû6†æÃçB!„âÙ•‹¢¾ù?TH­V[–”I¿} ¾øe &§[oºÇ¾/{òMlÞð±ÉûbÀ¦öÂê”|¿}*Í=îßæ6oò2­›2aÐ2:léC™¬®º1Š=ãF²×ïSfÕ^J¯-yÛÄJÄCéìKW|Óí¤'lÅlޤÔ`tÿÚ8§Ê0(lŠâûRv™Pϵ•C™v=ˆùûÆÓ¼°¨F•jeP5iǬ¹'x{RMìeáfL m–fïºàS‡~ËCø»ßªÛCò¹ï´8…÷Ö,eDm'@Õ*”LiÄûS–s©å@ü b÷<ˆ‡Ú͇J8esªl¯sâ)f \HØ+Sؾ¸3Þ€¼Ö 4Ý bðŒÎü>º vv Ûr†á…ÜP^_È_ß›OÈ`[žžÓ¿Kµ"ˆ7š—àLõa»ž’B!„B¤bÕ%¸_C&³aFy¹¤¤d?^'Ã~Jw*7lLÓ¦MÒ,žÿ²ù”-¿ìM%ÛܵˬØã„lÁÿÃ4ñHÕçÀΟnC^ÃþïP¶ßÈjð‚ Ý¡) ûÕƒþ»Pº n’ŸgO(&ÝafN:€[—‘´÷J—]0e7oX—vþ UÚQ·ð㷧¹*[—"êè1³j²Òž"…ìÁ­n#÷NÿÎ ·@Z½äô¸÷‰ª(o7Âùú~Îë hÜR®ã&£¥Ã³¾Î‰çá×°âtÜöA2æ>µç êX”›ÖpáѨ$%ö…ݰɮ+Õã“£‹äÆé­Ì1…ÓÅÛÒ³–³¥; !„B!^¹HÈd^÷%/‹Û’Ýb gÓ—S9[®?ŸEaé~™,æèïžãrœ;UkK×õH£ >ÜäÌ­¤Ì_HÂ)fYŽMÏÉôô—oÓsëÉÄCÏ¿+ÆU—¡UÏГþ„à²÷kšxúפe¯Ilú71Õï”{W;ô׎s=uÓLñܺ!6]ú'¶IäŸUCé¿Î‘·FvÂ[}ÿµªQÜ;ÏÙˆÔÉ1×n¯!"6³æ­\Ç#‰[»âÿ &LÙªMygô*Îê2ŽwÌú:›ˆ¿v’ÿÔå©_&}|}Qüw†°¬š’Ãí¼áÀËÍ{0q‹ Ý'ç•BVÔ !„B!žSVYоw77·¼lK&“•Ê‚ê$nNÌâóJÚ®xŸò6YÏe-S¢ŽDlq¶Íxó¥²wÞx"â2+]šÌ…Eƒ™ÿ!ý«à€TòÍ­'cÔn&M;I±îëi­MýöRâ8œ‹ô¸¸» IŠàÚÉ­|ÿí >Øu‚);—ÒÙS 8Rõƒî”ùe& õbîÈvTt¸ÃÁï‡ò¿:(ã„™—úpöLzßÝ£ýüuŒoRäA]î úѱhgF¿?Ùiæ£äÚÎoùø³C¨Š“]Á$ r{Ìga/'Ü]mÑGÝàïÝ!ÌZð A‡ÂÙ¶æ#ÊÛ‚e×YI². “MQìͼtµ“+¶Æ[Ü7€kΫ먊´`æz/þ¹t„ f°¨[3¢¾ÿéÍ‹X­!„B!ÄÓ/Ç `£Ñ««k>4é±;áwpssG©Ìú†199Óê½÷éÃøiÄw\­0”Ÿ:£Ïn{+) ãH,·u‡]â"ˆÃoGó¯EuæߦåÜ¡¼ìlñØ‘…‚Gçáפ@fô©‚CšçØ—nÈ륯y¹amZU§s£O™ºøoÚªŒ-`0‹õüoÐ`Z„Ô”jü6ͽö°¶¤/…Ó¿kõÿ±yh+>ØèͰµ!ô«áš¦ë›Â51¡3QõN¯W`ïÛ’N¯娲xfr òZnâjŠÕmA‹GkÓàµÖ´®×F½f1ãð»|×À K¯³»ª„¢’M¦Œ°‰äè»$*q³·2}¢vÇ·z|«7àµà&”â›Ékܤçƒ^Kâ÷=»hÞ"˜øø¸G? !„Bñ¢Éñ˜F£¡L™²üyð wþ ÇhH;ýurr2IIIf—øøxt:ù%&†»‘‘ÜŒ$2ò.ÿݾ͟þÀϯ›ì–)ºÃÓ·Ï‘£ßÁ77‡Ê†ªpjyÄrjÿuÒ¦|LèÎî弩éi®Êh"gË¡„HÖt¯Œçƒ)z›L¿ŠáòD^)­EÛl Ù”×ét< á›?÷2^=†Ó²¸e7ómCš—È"RµÑ†RÍF²æÔ5.:Æ™+ÿrpV¢”T ªŒKšüP<§¦wáÃõ^|¾f)¥KÆÜ§ÀÁ·=·çêù?w•‹;ÇR5* »Íñ³Ï°C¾°>™zÁ”GÇÛñYN›þ:;úRÆt]âÓmÏ…ÝÁ³&eÌ)gåh\¿$D“ø¦Z¥NÀH2F!„B¼¨rü}­ÆÆ/oo F#ýu„èèhŒÆû·BEºÞ,*• õÃaG¦‡ØÚfÌŒ¨ÔT*å£m+W©‚G±b8;»dÙ¦,kͤüÃòQ?p'à †4p“)?F+Ýg_Ž­K²dÙ·ìî9‹f‹²&žç‡©»1Öœ@c³7궔뽜­í’RÝTêùwéûôÙÛœùóºPÚµÅäÛõœ)ÐxÄsbÎ8vÒ˜9½*aiŽ#ñÊ66\ï¶^föQa_È{cû¦Žb͙ߪTš7m©oùhf햭惊ÙNá­v*BQôÜÞøã¢chC ¬¼‰ÕñÈŒž°¿p:”uÉ2»œþ:«½[Ò©âD&O]ÇÀ.x>¸¨úë똺6вýZS6’·&ÝIÖíø窵()Eº‰3û³B!„/«nñí(çW­V‹^Ÿ’mñ]…"çCp œœ²Ÿ$óó‰Ú5‘)ÇÝy+´3¥Õ¦<Ÿé:-;L¥Ûæ·èÑJOÿ~í¨ér‹¿aÉÅŒþ­Óƒ¿$ÎÍÈØƒ%è7}õ\Ø—ð祩•ŒMq{Tö%ñ¯€¯ÜÌY¡àâ¡¿¾š1‹oâÓw)Aæ’ \\¾Ä”(æŽMR×OlfÙ¼ œ+Þ®>ߌ¦$Â/]âÖ½»Ü¾zŠ+ðãaWÞ[ò5Í‹¤J;#Ø9e—жå‡+œ8–êt ´ýð°QFâÃ.pùN4‘7ÿáØ–eÌ_}ž²Ÿü̈:ÎÙ&qòŽõñ å:[C¶áTŒEÐÇÜâÌoË™zuËÙô«ü°g…×Y]†îß `uË!¼Ñýý»4 xä„LûŽý^±¡·?ó1z¢¯œçªÎ€ñvñ†$î\8ÍIlP:”įll ¿½‰ñ_ïAY¦å}‹£?ÆúsØr·1“‡ÕEæYzL†, !„B‘‹¢¾ ®nù8þ'/$gá—k‰©>žu] äÆSéȸ-ëñŸ0‰&öfF‚ Þfî®Aû<¼^zîžØÁîm¾´IJ_ÃB䥉‡)†ƒÓ&sØ6ˆï—Çì|LúpŽlù‰y®‡[\KøP½óD¦ îL5÷T‰–ä ÌëÄÜ›®xúùS¾zO–Ly¦>ézÀÄä§= B¿¶!éNèÏçû·ñai5Àññmé¸6‘ÂÞ~øUªÅ•‹èZ¿$¶ü«gm<ŒÑgÙ¾j!;.‡®ÓƒÆï—h1j%C{4 øÃO²\g‡€A¬ÝîÍäñ ™ÕQ.¨Ûb Û>ëD%§TÆt7ãG¯ºúqkÖø`ßö¾ø¨Á˜þî16m^Á­Xö¾Tm:–µÃÞ¦VéÞ–š YB!„!!!&cr]»÷@ý¤Û“ckBWÔ²•™g ü·¦;/÷9E‡µû˜œÇ=.^8Gz–Í% Ä?öS·^ý'Ý ñ€Äãé’>˾_@Ûo>z¼&t•ª ±±ÉÑçÚá?¦9Ž9&“‘ÈÈHŽ=B£ÆMÍn³yïÿhMè*‚[·µ¸Y)T¸HžG!„B¼ØÒÿ}mNê¿‹“ô¦œõ}¥.*üxQâÑæ®Ü:Îä—î׎ÉÃE!„u~ß³ Ç ? !„Bñ"y.2B!ž2dI!„Bˆ\ÔyšH!„xvÈ,KB!„B<'=dòr(’ YBˆü%C–„B!„ÈE™äädô)zL&c^¶ç…R‰F­F­±ÁŠY³…B<¥dÈ’B!„V&d»ÆéS§¸™×mB©TâêêJ…ŠñòòÆÞÁ!ËíŸDŸ2¾üwû%µ¥ üÜBñ,“!KB!„BX‘III&,,Œ#‡Ѹékxzy£Vçm)½^ÏÕ+WصkF£ßråÐhl2Ý^† !ijã÷=»hÞ"˜øø¸G? !„Bñ¢ÉyB&9…Ó§NѸiS|Ê”Í6¡V«)[®Çþ:‚V«EãšyBF!ijC†, !„BaEBÆd2qï^^Þ>ùÑž4\Ü\1Mèõú,·Û¿ww¾·%3ž¥Ë<±s‹Œü±ÿI7A¤"ñxº<-ñ!KB!„BXYCÆh4¢R©òº-(J‹f5z³K·|o‹xúøc?uëÕÒÍH<ž.éãqñÜÙ'Ö²$„B!D.fY‚ü¯ÝòðøÙ%%%9_Û‘•¬jÛ!„ÈH†, !„BaeB&¯‹øf'»Y¯¥¨¯B<;dÈ’B!„V&d z½>ËaKÿÝgÑÆÓ¿|‡ð¨xÜœì(]Ü™Ö Ê E­R>Úvé–³´k苳ƒu½M$!#„B!„Bˆg‰2ûM2czTß%ý²çøu:ÙÄí˜dÔð¡ß›/ÓµE~>ÅXµû¯]öÃW1™L¬ùýsÖž¸ÄtÇA¡À`̺ ï“räÐAÔjÍ“n†B!„B!žAy>öèÊ­hÆ.û“V*âîfZ¡ÀÉÞG;5¾¥Üh\­á÷øvÕaÖî»ÄµÿbQ©(ÌŒKÒh4 Ù÷~‘2B!„B!„x–äyBæçÝ—¨P¦7ïİvç’RôØÚ¨©à]ˆU½y¹BqJqdòG¯ºû"ïWeØœ]Ù։ɒ$d„B!„Bñ ÉyBF¡È²vÌö#WA¡@o0b£QÒ³e‚^.Í?7£™ûëIþ8y^oT¡¨›Ýš•îçSæºÈXHÒ1B!„B!„x–XUCF¡PdZ?&.!½ÞÀûÁÕ±·QÓ¨š'…]ì¨U¾‹†¾Æëµ½ùpòVÂ"bù7<ƒÑÄý”JÆcYÚó%³¶äç"„B!„Ba­\õÍ„BÁ‡­«ðZõü02ˆ…=e0šØpà oU¦t1gŠºØ¢RÞOîdÖCÆ`° ¨ïÃäMA.Y0Ü;Ê‚ÛóJeo´Z?êtø”3:Œ_D=×—wÄG«EÛp&—R,ÞQ˜‘ŸñH8:Œ*Z-ÚÌ–—r(þÁƦnü‰ ½šQA«Eë×›}±YŸÙ{ˆÏkiÑj}è¾K—ö¹¤[ü¹r"}ÛRͯZmi*×oÇeq7ýÛF‡ƒ >&¸¶?Z­»0zõâŸ@nѺxèØÞÉ3“ëÌÏáæ÷N:7“¦™m“ƒxXÔæø?P)“߃t¿7FÝ~Ñz½ÑjµøÕ æã‡ˆ2dý„B!„Ï«kÈ F”ÊŒC—¶Oi‹ƒùÙ‡&üx˜cùu7Ž=G¯Þ_©€„$C¦5dŒÆìïPÌßSšˆ¿¼–¯‡ŽcÙîóD$ÙS¬r3>ør2ƒš• ¿æGÒßÞÀÀàÞ¬V4åç1¼„Žý '0¤ùnl\Ç*ŽÙÖË1„oæ‹qG(ZÚž°|jç‹"¿ãaë÷óB‚HHŸH8Üþ¸Ô öÚòïÞí0ž¨ZíéÒ)–¹²k}gæ á‡D?ܹšáYSì)Vþ|—Ýѧ1oå.J4uDzrTuìS¯V9ãUÈLnYÿ/ˇÎàZé’¨2^>‹ã‘³6+(?lS¹¦yJ‡x=ü´5Þaó ö ÚS÷G.¦u% W·Ïfäè®Ü-¼%í .B!„Bˆ'Çê„LŠ>£)ã·ÒACEo¸¿^‚ÿQ½\Q†¾Už-ý3ìc0˜À¤'99í×ú)z »†˜é±bÒícx‹wXZøÆ.žÉËnÿ±wîg|Ññ-lã¾6–;'L1ì;„Õ)ø~ûTš{Ü¿­jÞäeIŸáXjµeù"síH¼¼•m7KÑgÎdúסfƒÖ œ= Íq6œŠÍŸ2±Ç Ùƒÿ‡hâ‘ê;n;º y û¿CÙ~#«!X&t‡¦0ìWúOìB邸I~ž=¡x˜t‡™9én]FÒÞ+Õï°Âww;ËÞtúk¬úl*a-¾fh=7ËߨJ{в·R¸iŒÜ;ý;7Üiõ’Óã$ª(o7Âùú~Îë hÜR®ã&£em5Flgô—‡©2òKZͤ¿‰%ñ°¢ÍٶѶµ}Õ\ ]ÎÞ°$LÑ^Ëê‹6T¨ç…­E¯P!„Bñ¬³.!£Ra®ïýZ0÷‹þ^ #,2޹¿åÍW|p´S?Ú&!IOÛQ[Ùsê?üv£Ñ„Zi>±bÉJ&3‹F[“ 7øõûM\ˆ3b2%pqcGR|iXÎÁì>9YÌÑß=Çå8wªÖ(–®ë‘Gÿ@|¸É™[I™¿„S̲›ž“éé/·e¹õdâ¡çßc‰ªËЪ[ГÃÿmøœ¯N×áËQM(lé»Ô”È?«†Ò#oì„·@ÚÑŽóœH80sí&ñú"b ¦pI®ã‘Ä­]ñP—¥lÕH;ê IDAT¦¼3zguékÃD³ïëál÷Ì„Ž¥P[?›m6p´UJiï×ý©Ü°ÃánêK¬ö¢óœÙtÑÏ¥[íšujCÃã¸÷Þ,êìi}·E!„B!Ä3Åú¿ý3é)¢|ð¼wQ ˜òQcfþ|„mGoðQë—(ï寖C×P+•„ì¸HDT4¶6ªGÅ}Ӟ„ѢŒŒ™vnÁìåƒèÚå=j¬úšÀj‰ü±ºý¸™Ám,žÁ)'L‰:±ÅÙ6ã´ÊÞ {≈ˬti2 f^ü[„ô¯‚RÉ7·žD<ŒQ»™4í$ꝧµÖº·—ñî.ÆŽÚO…ÏvðFqè²ß}8{&½GïîÑ~þ:Æ7)ò ‰÷ýèX´3£ßƒÇì4óQrmç·|üÙ! TÅÉ.ïk{›“»xØ0`> {9áîj‹>êïaÖ‚O:ζ5QÞÀDìÑi u£ß¦w(«øLŽ˜çm¶ñåÝé ¶qÇÕt·.ðǪ9|7²5û®­a˨‡Ã×R¸sj?‡¯ÚàÛ¼M¼n³óäQN¯]ÌšVôHÝ“I!„Bñܲ:!c2a6©¡P(ˆ‰OaÇ_×iùriJy8óY÷úü~"Œ¯:Á͈ؽh@•”‚»³=/•v3›Ü1™L¤¤è³f:999ãJC$'öüÎ9C)^íô:•â÷sžClX°˜vµR¯PÞ—ÍT:Æ‘Xnë2»0ÄE‡ÞŽæo~õWW0lúmZÎÊËÎr;– >Iœ_4†_“™Ñ§ Ùï‘IÇŸ“†±±øÇlíìmÙTÿ›‡¶âƒÞ [B¿®iº¾)\:Ußáôzuö¾-éôjQŽ(‹g&× ¯å& ¦XÝ´xô¸6 ^kMëzýhÔk3¿Ëw œ ñ,s‡,wCé]Á®`Û¬.LÕ×^OµE]·¥É¨&tø~2;ú®¤MQ%IçfÑ­Ï:|¦îdn/4À¡ø±÷|Úõ Êï›B}ù B!„â¹g}BóÉŒ&#_ÿx€¸ø$v½B÷–U)êfOeߢø”rç^\ ·#cINÖãd¯aÝ®3t~µl¦ ëè¹öcºÎS2ü·}ô©à€þé:´ø€·þWŽ#?´Á#ïCU…«PË#–]û¯“Ü Ë›ÐÝË?x󎧹›ÄDÎ.þ–C ‘н2kÒ<7‘WJO„JãøsÓ»”’ñ +èxÂ73~îe¼zÌ¢eqë~¦ÈLùñ6ɦ¯yÕçë´O¾]-.´=Â̺˾Æsjz>\ïÅçë–Ò«¢ƒ™Þ |Û3q[{ÆÅFer£ˆC$¡jcW£9~övÈÖÇ#Ó#âQ/˜ò¬çÆíxŒ8d&ó/¤w¡5þ Òn= š'¨Ë÷çBiî\@mV¸T§ïÏr-ÚE“9÷ÓrÎ—ìÆ¬V^f{S8øñæ°·™Õ<”õ©_½€‚"„B!„xb¬º½W*F”ÊŒ ½Á„oq'úµ®ÍÞ“·™rE(ïSŒÂn(U*” ‘÷âøí@·{ /Ç\%d2l—rõ `×r ï”·¿?¼ Дzaý+±jÌÏœŒmM oÊ,f_Ž­K²dÙ·ìî9‹f‹$žç‡©»1Öœ@c³7궔뽜­í’x<`CÏ¿Kß§ÏÞæÌŸ×…Ò®¥(&ɘœ)ÐxÄsbÎ8vÒ˜9½*aíí´Â­S¶nF—ºæHÜŸ|Öq,ê/W1¶¶…Ë<>z©oùhfí–­æ³É˜´ÔNE(ŠžÛ¿bÜ¡Bt mˆ¹£ó…ÕñÈŒž°¿p:”uA 8TÁº-ýHIõ‘xz o¹NïåÓy­¨+>9麔Û6"9´î ±ŽµxÉC ˜°s¶…È¿¹m â£BÁFâoß J8Ë]!„BˆUù«ÔjŒƒÙ›¿¦ÕJÒ'¸<&£‘À—<¨[¡ÿgÓ¡ìû+–è¸dЏÚQÁËÙýë¡-ì€É˜IÝk2 í úÒY“릚'‘ÿþ½ .5qU™ò¡ŒŒ¦Òmó[ôh¥§¿vÔt¹ÎŽÅß°äb FÿÖ O5@çæ dìÁô›>‚z® ìKøóR‰ÔÇJƦ¸=*û’øWÀWf\²BÁÅC}5cßħïR‚<2¹A7Æríüˆ½ƒ!EÅå3'q±WbëQ¿âö(ÔnøTrK»Ÿ.•›2•¨œ*‹hŒ`ç”\*Ú–O®pâXª}h+úáa£ŒÄ‡]àòh"oþñ-˘¿ú±6ª»xU¬L@ênq–ÄÃâ6ƒ>|+×_Á¶X Š8A\ø~_µ€DS÷Ë¡4pQ6”}ëcÏû„~mûpy@'êzÙp÷äzfMX*x>ËÈ›]!„BˆA.ŠúšïÁ2äÍÊÜŸéþc•RAýJŨ_©˜ùÃd‘Q«ÕÖßU'xð›Lz{ÁÝn2ìÝÆ”sÒq~Û<¾Zp—ú_÷! ŸF(Ý·e=þ&ñÃÄÞÌHð  ÁÛÌÝ5ˆ`Ÿ‡ôÜ=±ƒÝÛ|i“d)á™o $¦N›ÌaÛ ¼_>ói‹ãòep¶$>^5¼Ýýª(Åzlä±UÉQÕ“¸“ü´'RBè×6$Ý“þ|¾–V ß–Žk)ìí‡_¥Z Y¹ˆ®õKb[À¿zÖÆÃ}–í«²ãrá:=hœñð~‰£V2´GŠ[óIfa<,k3$þ»ƒÐÅ¿r>ì6ÑÉ v,Œ¶B ƒ¾JßfÞ†;©µ™¿Õ™9S—°er_¾ K¢HÙ^î=Ÿï>~ÌòyB!„Bˆç‹"$$ÄdLN k÷èþÏÞÇÙTÿqÝÙcÆr1¶ bÆž±DˆcW!Š(ûNRB–„ìû:Tã‡([ Ù²„DÖ²ÓØÙïÜûûÃ6Ë1¤;\ïçãq¿Ÿ{¾çœïù~î9Ýó™ï÷{nÝ|èü¸a=u‚êZ²ô¤-^¸€à È–ÝÇêúå¡ßT/ØÊš8.lžÉ˜é«Ø¾÷ §n{á[¢µÛ  _óâxý˪?v„Š•ªâ訧§§ÅŽíÛ¬T9½«!w)O—¤ñX0g&›½~ÿßËC¿¡¤Î..t_ÛýëÎDû±Æb1sõêUöíÝCõµ¬–Y³ú»4ÿwhyè7ÔoØ8ÍuLMVïlOd?""""ò|KúûÚš„¿‹cL–3©ï¿™t÷ɲ^'r½ü>ã^~ßÚÿÅ[¯EDDDDDDDÒä±27oÜ sæÌ/ø/X,fõ@»óÈ àâìLTT$™2eúªôÀå°ËdΜå¡C£ž–ž:""""""""iñÈ ggg ,į;wR)°2ÞÙ²apx03h\\\Š ’øøxâãã­®Ãb!..îÎÿÅ€).–ݿ¿?Î..Ö·¹¿©2"""""""òìxô„Œ‹ ù|}‰7›ùí·=ܼyóÝ×V;;;cHÒ›ÅÑѧ{ÃŽî&N,puMždqtrÆÑÑá~Ù’øäÈ—WÆG­¦ˆˆˆˆˆˆˆÈSë±æq÷ðà…"/`41™RîsÁðèïÖ5 8»¸!ƒ×C˦G™ óÏ¥‹ä6æ±ù±EDDDDDDäÙöØ“ú:;»)sêC‰lEC–DDDDDDDäY’úl¹""""""""òÄ=v™§É¶-›ÒíØyóL·cKr;¶oKï*HŠÇÓEñyzØEBæõ–­Ó» òر}•*§w5ä.Åãé’4ÇNÇÚˆˆˆˆˆˆ]$dââbÓíØÎÎOÇ<:"""""""òì°‹„Œ&õ‘g‰2""""""""6¦·,=¦=»vâääœÞÕ‘gzȈˆˆˆˆˆˆˆØ˜]$dPBFDDDDDDDž!v‘Q:FDDDDDDDž%ö‘Qy†ØÇ¤¾‹í—TÄߨËÌnM©VÒ£±›õ'äP8æ4Ÿ‰³‹›SÀhÄøòDNÄýÛz¾Ù&¢ÎüÌôÞ-ªRšÂF#ÆšÓøÛto½™ð#k™>à-^­PœüF#F¿²¼úÎhÖŽzÐË+ü'Zç7b4¦´TbÌ‘Ø;e#¥û‹)”KROÓ?Y;µÍ+äÃh4RsÆiL¤Ç‹G8ÞÈ›B›ÔçÛ°{[§±‰çÆPFwiHeÿ‚F Ô õ'¡‰°~}›Ãñ×ÐìÕ@J0bÌÛ„Wî–5‡ñu½Ôâf¤î¢‹Ä§µÜ“hhyªÙG™>¿¹ŸEà‹ÐíüuÓßÀfôùíÊfúÏ2Q¦K«éY¿#Ë µèÔíKæ gÛ¬‘ô©³‡s߯¤O€'†‡ì#>l ßCöüîœÿêù¼°M<â¹²q Áï,Ç3¨ ­út ˆÑ›Œ™ò’çþǹ !ü|« »¾Î‹…²}b³FN ]Ð ¦mžJ°#x”¦ÿâÅ´‹Mò­¶Übçç0)¢!¯pI°Â@Ñ~KW=S¢ópðÈE>§ÛnØ”ösR»ÙÛTY6+inÁ'ëßÅÃçÀa|=¤ î ?vô"_Ö{WtÛ¦«‡øË1€f=ÛR,{,§÷ýÈÂéÝhxÆ­3ë‘=ÁMÂt.”Îõz²#_cÚ´DçB¹ñöÊBÁ,wkë™êײèzÒ4—™ËëÓcqVšWÍŽ£ƒ9må«uEDDDDäYb «=V"0¦î+ŒámFÍù”RއY2¤Ýk!f×jºvI¾Í¿®Ç-¶ëò¸fÌÙ0Ž:>w«êÔ| Ÿ†µÙkÍÖ¾OÁÔZÝ|Íó¥H&U˜Ï{kŸ|5Ÿ6ЇéÌ:uÞ@…©›ø¢^î.*WŠ}¸€¥ ? ¬Â+¥Ý©Qç+fl¾J½æ>88fáÅÊÕy1ÉÖ±Ç&òÙaêLoO1ׄkÈ·þþÙRNd2RuÌޏfÃ+þ†mXÀ¦TNù?óâᔹ/úû“!ÅilgÈVãc¦ÕHP®^ÊÞú•†[qÕTì÷n12±ÍþlÂæªÕj¶Ä…¥ª’#éÇ{ù¨Ï²·Gó»²´–ûfC–,K’%ŽS »òùéúÌ_ñík•¥ì+­óýwtα“±~#"Ù6¶Xu{?!náש;5}<µ¹ùѺϫ¸ÿʆs© ±¾k,ý¾ó¡ë¨–äw~¢Íôü±I‘¨ƒLî³—cèàçšr9I›ÄÃô;~:CÌ¡é,ºÈã³`䛸ìùœæõ?a×í”ñ×v0îýü]¾½½R®Æ3ølúƒÚP$YÇ®xöv-E££±%_~ƒ~s÷pí)œ„ä_Ç3ÑëZáww®•B¥jñöÐo8žzZ$õvŽdwßr+ó2M{ÏåTÅÁŒ~ûD;†Swr-|“Vê?•Ùƒ r\Ï z͘t$åúZnmgÜØ½x·Dã<)gÃÒZNDDDDDì‹}üúOÖcÅ€[&7âvíåtÔkø»Ý+Á…¿nënÅYxÒ5X¢Ã‰Æ/×äy.G÷̸É•ˆ”c96»7Ó#ß$¤kh&ßË&ñˆ ãX8UÉ’ño‘×  4劻\}$#¿ïBè9“|Õ,D ¡GË~l.4ˆÿÍéHŠù7ÓV›Å™¢½XøJÖÄT—´?“ú.YÈä á±ý›)LÜ­g–³vH…§ª·Å¿‹‡;þÝg0ë½ dÉäŠéú9þܤ™=ÚÆúåP4Y¦¥Ý)Ñc ËêýÍ¡ÍK˜ÿG,^ŸTãiæúæ1|y ¯nAþ´Æ>þ*»Vîä¶§%R?€í=vÊøàföHíœPg×Ëaà ¼\ð^zÄBU_À¼{¡?¶f ßÏÒU—0Ö¨˜ìºŒ¿°’a3OãÛa¯åHù|ÒZNDDDDDìÓSöÄöxRLà€[–츙¯ó˘XmbN#ŽKŠ“ó>>7ü»£õš7il¢k—&”Ëx–s¿`Þñ² ýñ»sŒÄpdzO†íÌE—ñƒ¨”É€{.?JäJ¸¯X\rºãèž¿’þÖ—ƒ âaÈBµ^í(P-Úº2²GÆë[˜2èK.UMÏò^ÐslŸ¯‹"`°7ÿØÇ¾ûk 8e-Ä‹¾^’ 1ǘóéJÂKF·Š^V{ǘ¶òõª¿qÍ‘‹l "ì¿|3“…;nøI_ªÜŸØÄBì•“»‰9îaÑñDžÿ“ƒ¿ßÄÑÑ _¿d²ÉàñãAÜYÖ…làJ†äÊæéÖEý¸˜¡ûqª7™.%ô¬I[;GqpÚæ^ðÁ¯¨ù3EsbÓB&…üFî÷–Ñâ~Ì‰Ü úÐìËÖ|Ö¼æá¨’ùk¿ÀBKcfuð#QçËmöLüœmNµ˜Þ¡8)ö÷Ik9±[v‘±ÊC؉ã\¸~K§òcÈtìÊDû…£ Êößu rÈ\•ákWá7r4 GudB”þUÞbÚϽ¨ÿ]º&®ØÈ¦õ…ic´ F‘Ç`‹xx–@è"/†Œ˜Kf1g/ÊËÍgñcïºä»…Åqzí*Ncâôg- N²zKÙ7£*wÒ7ñ„­ÎÔ>´\Ö,Á>‹>µ‘йßqôü%nÆ‚“§7ÆbUé5§/kû&HÄsîëÔqüÁƳÚS@9&ý¾‚ÆÞ¶ù>n<Ì7³á›YlzÈX²äR‚!».0$yáÿ`¨’ˆˆˆˆˆˆˆHÚ©¯¼ˆˆˆˆˆˆˆˆÙo‘§”2""""""""6¦!K""""""""6¦2©@ÁÂüsé"¹yl~ly¶)!#"""""""bc²$"""""""bcvÑCfÛ–Mévì¼ù ¦Û±%¹Û·¥w$Åãé¢xˆˆˆˆˆ<=ì"!ózËÖé]y ìØ¾ÀJ•Ó»r—âñtIãG§cmDDDDDÄ.2qq±évlgg—t;¶ˆˆˆˆˆˆˆ<›ì"!£I}EDDDDDDäY¢„Œˆˆˆˆˆˆˆˆé-KiÏ®899§w5DDDDDDDä¤2""""""""6f ”‘gˆ]$d”Ž‘g‰}$dÔCFDDDDDDDž!ö1©¯Åbû%ñ7ö2³[Sª•ôÅh,BÅfý 9Ž9Í'dâìâæ01¾<‘qÿ¶žoÿm<â¹°0£Ñhe)@›ŸÃ”µqd)ZÔ¤t#Æ‚e¨ßm&»¯Å'>ZØN}Ú×*¾ˆ¯Ñˆñ…2Ô}o kÎÄX©ÚevÎìFý ~ù(^µ%C—#2ÁWÔs–Ÿg¤u­rÍkĘ·(/5ìÆä_Â0¥¹ žœÿþú°ybŸ½õ þ¾FŒ…ËòÚSØ–ôlã¸øÓÞ«]šÂF#Æü%¨Öú3VJÞÎñ·²d@3*Ï‹1›ôeÁþ[êlãëzÖ¾–º‹.r/ÒæðC,ÔŒJÅ}1)_Ÿn3wq=>Ù¡EDDDDÄNÙG«ŸÆ~âgBfLcÚÜu2òÁ/ûø¼´{ò’×w1­ßf¯û•cW]ñ­ò&}Fãm¯GÎX™.­¦gýŽ,3Ô¢S·/˜+œm³FÒ§ÎÎ}¿’>ž²ø°5|<|Ùó»sþ/‰Ù*Y‚ùr^gЏ$øÐàLæžwÿaæÆÖOhÜb—+¶¥ó¨Þˆ?@Èè¡4 :IȺTËr÷Ûsž?Î{Q±Õ:ÉLøñ_ùaÎx:4¼Lè–ÑzÝÛå-v ¦Y¨‘÷‡Íæ³B1ü6umÀiÇÍÌj”GÀ@']'WÍ í‘·«²ý3ñæ~"6¬§oq×ÇmÞGf‹xÄ^DÛºƒ8W{cB_"ã¹u|Ñ8¯ÿq“~@€Çr1‡'вõ—Ä÷ã‹Oª’3|KG ¥SK ù~úˆ·»;Œúƒ¯šÕg-øtò J:!tx4ضN}‚‹ž" Íïœ 'ÐëÎyÄ™J¯¹q¼³|>ƒ*dÀ” ð'w\uÚ]̉z=ñs\‹ÒaüÔ• ¢A\*Ó}g£ÁV [ÄÃ|•õƒ?aÿH6OhE^' |)ó ¸ÖÆmë̼W3aÀÄ?;ÖqÌ«!_íJ• ¥ñÏz”Ÿmf÷?ðuLœùº/_ž bÆÖÔñvJPº Ž5›0iÚÞ]w\ÈQª*9’Ö7b/õ9Cö–ãhžïî‰Eç‡-áë=ž!­}qÊ–ò#nK>þñÑMrà™t?"""""bwìbÈ’ÅbI¾¸0dË)Îï_Á¸Žds´Iʘoðó ®,}“¥?‡ðÙûͩװ£W¬çÿCŒê2“±VöÒ¥Ûû Ùp ¿NÝ©é“àoÜn~´îó*á\jƒD,„ïK¿ï|è:ª%ùŸd+=‡l‹9ÕÉ¥£þïÎç¤Eų̀p IDATïÆw“1w8åm@¯æÙ¹°z9Ç¢“nOÔ‹Ù<›!ŸmÅ­f{jÜ?37þø…s™«\"ä¡cvª¾U¯³Û8ž´FLW9÷Ç:& Ë9Ó¡¼6c‹xĜ◃±iô ¹$vÜ 7¤E±Xo?M,Nx¿€wøV¬øƒ[ñ@ÜE¶„náZör”Ìvoã(Nüô'4!ÐûÁíÒàUŠæ óp}ï>’„ºÏÄ™ÐOXp¹½?,×½ ¹æ¡Ba'އ.fËù,˜ ÿcËŽ»P¬R>l×_IDDDDDÒ“}$d¬.¸gË‚‹áÁ¦denÿÆü57)Öµ/¯æp|ð¹{1ÞT÷?–òÃÙ8«û·Ætí'#²PªlŽ$] xúU¥8tÑÊ< ÷DdrŸÅ¸tC?=–ý[¶ŒG|Ø<êº3WH^¿rÔ{o4?œŠ¾û]±yæwþq*Jå‚I»ÐxP¸ja ÿâ|’ª„o|›¢/–£fË!|Ìða $ 8yzb¸q”ÃWfâ¹u摦[\¹xB’øKKhPÄŸ—ê´cÔÚŒ´3jYmw °I<ÜÈèÏ…}'šG‡˜0þºOøåÛ÷çÍñ¬ðó> `{¿:øWmµ+ÓŒY6”—îwQqÀ=“¦3û9›°j–H.ž¾Iüí0ÂS˜÷Årk;ãÆîÅ»õ çIpÆNùh1e2-MÓh]¡Ao4âåºÃ¹ñÎ"f·Èk'ÝEDDDDäaì"!óðIxï•K\ÖtùÇ"²R¶|Nœ“”ÏP¬…9ÏïçcÒ<©¯%:œh\ñrMÞ¬Žî™q'’+)M]˱ٽ™ù&c»àñDæùf›x8¥ê@fÎ^È×ÿ[Éÿ–Ìf܇U1ožÀ»¯¶géY`!6<‹‹'îV®8§ ™p5Gp-2ñ“½g…¬ ]ÀWƒß¢Üíe|øê;„œ¹—N0¥Jšgÿ¡í?åûc7ˆ‹»ÅÉuŸóî€]ÄãB·ÄsÌV—‰«¾fî—}hZìof·®MuW°Õ<²6‰‡kZt(Ãͯ;óá¬_¹i":ì7æ÷êÈÜKàšÁõþMÏñ7»¶ýÁílåi\ž¼9|pºº™… ¶pé~ŽË“Rï¶¡à鉼Ûw ¿_ŽÁqŽ­“ºðá÷áà’+§Äqbþ'|{»ýº”N2)ŽË·±û´ …ë4¡f±\äÈhâðй,ÿóvª=­DDDDDÄ~ØÅccccS]oŠ3aÌq±ÄÆ>xzŠ ¿A®x:š’íÃâä…„݈"66mc‡<½ñä6—“aˆ¸BøzZÏ™N/¡ßøKÔ›Ö——¼ÒìÕ›º¡½'òÔx‹:ù6³"wa¼­´ùÊz>ŸtcÛïi+q\cŽL¢õû+)0î'¦5ˇ3Чï1ul@ÿVStëX*ë """"b÷죇ÌcrôôÆ“p.ÝJþ€hº}™Ûxâí™ö÷8zPÞç6·%Iz‡ðÃ[ø _Êåµ6ëk4‡ç~Å®¨«,oS’¼w_™\süiâOŽ¢Z~#ÆÚóHuz I&=ãál|™:áê_Wˆ<‹T¥ å?‹LR2’c›ŽCÞrL¥[”KÞjÔ*‘7¢¼Ú€GᦌZ”ÓG°ÿÈiŽÿ4ŒRׯãV¶E’¿PìÁ–/P£rˆºI´ºdØ,NÙìº=§ÿâоƒœ<³ŸEo8sÍ’šï —²\ÛÊÌ5¼Ô³#å3Þ» :‘ýå®ô ´°ù.®ÝohòÔÌòƒg8qp‡þ>ÅÎI5‰ºî@ñ ’dL–;‰æÐŒá¬5U§§’¸'YwdébŽænM¯à;ɃG^ï÷y®ldÕñd“ ‰ˆˆˆˆˆ²‹2)N²{ý½ÑJ‰'äuðॷùqëibªçÁ‹-Ü:´™“øÒ6ŸëC÷Ÿ{1š7Ìͼ_±©Ã$jß›4ú( ÇmÂ\n$5rZKð¸òBÇŬk“àaÛÄ©ùíyKfLoIþLyÈaѲ¡tŒGôßëY}|çÃpò­ÇÅG1fÜJz†´¼óöÀtv%ãV\§P—†rIyQ'¾gÕIgŠuõµ:é«S†ldÇÄ¥ï?cø®¬4}™Ô¦‡±„ÿÎÊÿàUª<¹m5y´­ãáàJfW,·ç«Á ¹^áSZ¼p§‘ Îx:š8ùÇ9¢ëey41]ãÔU3n¾Þ¸%k?Gܳúàn¾ÎÖqCø:ÌΓì&a%ÃfžÆ÷½¼–#éù8àæå WÿäøÍxŠ'˜¤9òÒ9n’‘\^ºÐEDDDDžvñËÿá ™»Sñ&}C’[1^o˜›Ùs'°ñÝ)Ý@ü“ùc~Æ\þsjåpH{B7ü»£õš7il¢k—&”Ëx–s¿`Þñ² ýñ»â1™Þ“a;sÑeü *e2àžË¹î+—œî8ºçƯ¤?…õÆ¥Ç`‹xDq|E[£½É•# .1×9{` ¦¯æHÎÖ„´*pç"s*H›/º³¬^´9A×–UÈyu;!_Ne[¾XÝÑïnBÐÂÍícùø‘ø-J‘<Ü8¼Ž¹“—s¿??ù$èÖf&òü1N^¾ÉÕ ±oíf,;J¡ß2¨¢×ýQ¦K?0âóÍ8,FÑÂ9q ÛǪ™SX{­cúb»÷,Ùèú0]篣g¸~ã2gÿü…ÐÙsù9.˜¯V´äÞ›§ÉX‰îí Ò`bsZÜêË»A/’5ö[æbâ‰bôü*Œ÷ög‰!ìÄ .޸ƥÓùiÉLíÎÄ;ó>§N¶$YËmöLüœmNµ˜Þ¡8Éûû¸PèÍnÔ˜Þƒ.ßçd÷7ÌçµßW1iä*ëÏ EA]ì"""""Ï»HÈXgâÆ_G8n&þÒy"âc;v¸âà‘¿ÂÙp1¸Ðk_ϦUåܸ&8sT$¦kûøaÍ.ÞŽÇݧ0¥j cE¿·(ŸÍ¶·[\¦óËèXûc{å¢H‘¢ø7ýŠ ïÕ§xƽU (;p%+}¿`ò²y \|’«nFŠ—®É°åiS"Á@£ØcLoÄ´ ™È[Ä¢e:0oì;Ô*à‘¬f¦ÓKùtQ…ºàÕìÖ»(9›3cSÆÍcí˜Î|q>†l…üy©ã ¦v{ Ÿ´’‘g˜!$$ÄbŽ¢U›v„ߺ™ÞõydËC¿!¨^pò–+, .Iç=V6*2˜»pïÑñ×÷2oøhæ¯ÙÁѨìTmD—{Ó  {Š‚Ç¡b¥ª8:êééi±cû6+UNïjÈ]ŠÇÓ%i<Ì™Iãf¯ßÿ÷òÐo(逳‹Ë#Ý×vÿº3Ñ~¬±XÌ\½z•}{÷P½F-«eÖ¬þ.ÍÿZú õ6NsS“Õ;ÛÙˆˆˆˆ<ß’þ¾¶&áïâ“Å>zÈXRäM“Uh’òV÷ß^í¹ íÆ,¥Ý˜d;Ö+hEDDDDDDä‰{®ß²$"""""""’츇ŒˆˆˆˆˆˆˆÈÓI Ó%S™ÇT `aþ¹t‘ÜÆ<6?¶ˆˆˆˆˆˆˆ<Û”±1 Y±1»è!³m˦t;vÞüÓíØ’ÜŽíÛÒ» ’€âñtQ2ê!#"""""""Ïû˜Ô×b±ý’Šø{™Ù­)ÕJúb4¡b³þ„ Çœæ2qvqs _žÈ‰¸Û@Ï·ÿ6ñÜ8Êè. ©ì_£ÑHÁ€´þ$”#–Då., Âh4ZY Ðæçðǯ³é:¿‡çÝF5¨PÜ£Ñ÷~¹¨ˆ9üK5£Rq_ŒF#EÊ×§ÛÌ]\Os#<1¶¹>,Dù™é½[T¥4…FŒ5§ñ·)a™8.þ4÷jß]Ÿ¿ÕZƪS1‰¶“EŸvൊ/âk4b|¡ ußÚ3 Ê™ÃøºžµØ>Xê.ºH<@ä¯t1…rºÞEDDDDžöÑCÆê§ñ„Ÿø™Ó˜6wÇ£Œ|ðË>>/íþ˜åÒÆti5=ëwd™¡º}ÉÀ\ál›5’>uöpîû•ô ðÄð}ć­áãá{ÈžßóU ¹ç¿‡ÓÕCüå@³žm)–=–Óû~dáôn4<ãÎÖ™õÈž íé%˜/çu¦ˆKÂ]8“¹€çãÕ9ú(3ß fØ©Z¼Ý‘Oºû’3k&²òx°óeÖôjJ¯ÍÅh?x. _tæô†É ÚŠkÞ[™×$ŽÚ°É6×G©JÎð},1”N--äûé#Üî<Ï罨ØjŠd&üø¯ü0g<^&tËh½‡ÌT¾”E×MIêbæòºÁôXœ•æU³'hgEû-a\õL‰Î×Á#ùìâ®,"""""c?ý­õX‰ÚÏgõ3ËùZ¶oHø¤=Ö{·¤µ\šêq‹­Ãú°,®s6Œ£ŽÏǯ:5_§a-FöZ@³µïS0µV7_góðÁl)ÒŸIæóÞÚG¯†Üe“x8­ÆÇL«‘à£z ({ëWn=ÄUS=²'H¾\²S¸„?þnI÷óu¶„³óÓ·õ«6}H@†RQÇùaK8ÅzgHk_œ€²¥üˆÛR†2VܳeÁÅð`HÓ¿+—x±Ætí'#²PªlŽ$•7àéW•\àÐض¢2¹Ïb\:Œ¡ƒŸÍ“í–mãÉî¾å(VæešöžË©Šƒýö É’ñaó¨_èÎ|!yýÊQï½Ñüp*úþwêQêut û".³zò6²½>”Y!Sèx‹¥ÝjÓvé9î§œòÑbÊdZš¦ÑºB9‚ÞhÄËu‡sãEÌn‘×fÝälÓ?ìøé 1‡¦³èJ Œ_Ì‚‘oâ³çsš×ÿ„]·\½ž>bÞGlïWÿªMx£veÚýP’1ˆò’•.Cáߦè‹å¨ÙrßF3|XCr§Òx–[Û7v/Þ­Ñ8OÒ‚ñìíZŠ¸Ý§](\§ 5ó]â§ß÷òÇŠ¹,ö§]‰ 66c“xÄ…q, œ*ŽdÉø·ÈëPšrÅ]®>’‘ßw!ôœ8房ٵíng+O“àò8¸€Ó±Í,\°…êƒk“3ÉÝѳÂV†žà¯ýë™?q¾z•èçÓÒê¤/qœ˜ÿ ßޮĸ.¥ s)LÛñ3©ï’…Lž~ñÛ¿™ÂÔÁ Ùzf9k‡THÖ›FDDDDDì]$dbccS]oŠ3aÌq±ÄƦÜ)(­åRâàé'·¹ž|ØE|Ä"ðÀ×Óú~M§—Ðoü%êMëËKz{"lîÆT4– â+u©Wæ}^y _ý֞ɕ<ï¬Ïÿ2¯å°ÅK/Ñ(¸ -ª÷gÜÜ?i2¤$Ni®³™˜ˆX Y_¡a„Š!3å߬NÆÿàè-3¥Ýˆ92‰ÖﯤÀ¸Ÿ˜Ö,Î@Ÿ¾ÇXÔ±ý[}LÑ­c©lƒïœMâaŽ%"ÖÀ‹Mk%ê½âì[7Š güÞsľ‘wóÖõjÉÈ oóí/}©ÑèC¿ÍŸÑ´eÚçý…•í}Ý ¼|)èK©ÀšÔ*Æ›Õ1aÁš.‘¬'”ùÊz>ŸtcÛïi+ɰ&'oJ½úZ‚©Q¿15‡Ô¤Ùœ1lìü5²ÛEçEI…~õ?AŽÞ”÷¹ÍÁmgIœ"²~x áK¹¼ÖfsæðܯØu•åmJ’÷î0†šãOrÕò1ÖžGªÓkH2é'rT~"Dq#*õ—9;_¦NA¸ú×b©ÎŽxdñÀ}“ˆ$Ã\̱1Ä;xàåâDsdébŽænM¯à;ɃG^ï÷y®ldÕñèTëø¤Ø$Ždõ€¨‘I†šˆ6pËäŽ`¹¶•™k"x©gGÊg¼wt"ûË]éhaÿò]\K%t.y«Q« DÞˆ²òºîhÍÎZSuúw*IšÞ×fȈP92˜Â8sSã–DDDDDžv‘yؼ˽QHOª\ Ù܋ѼanN/øŠMW<¦Eeá¸M˜Ëµ¢FNk“€ºòBÇŬ[³†5÷—UL}Ór·fƪ5¬ŸÚ€vџɆÒ-qœ]ÿ-‡ /ðrÁÔÇ£ÿ^Ïêà[.ß÷4×Ù@Æâ•ȹ‘ë.qÿÞ|…- ¶ýb]Jz8àæå Wÿäx¢}3‘—Îq“Œäò²ÑËñpõ%°¸3Ç,âÈ{ˆ9¾Œ%G3XÃWÀàì§£‰sœ#Q:ÊtSW͸eóÆ-•»cÔ‰ïYuÒ™b•}“Ïta%ÃfžÆ·Ã^ˑƊÇ_e×ÊÜöô£„.t‘ç]üòO1A’hýWY§V6­åRæ†÷q´^ó&í‚MtíÒ„rϲqîÌ;^–¡?¾qwN‹ŽLïɰ¹è2~•2pÏåG‰\ ÷‹KNwÝsãWÒŸÂzãÒc°E<¢88ms/øàWÔü™¢9±i!“B~#÷{Ëh‘ßé~¹ã+BØíM®Yp‰¹ÎÙkX0}5Gr¶&¤U»cZë .…[Ó³Æ,ºuÞáCy»´3G¾ýŒk½i·¬ùÝr.z³5¦÷ Kã÷9Ùý ó¹pí÷UL¹ Çú3hQÐV_.ÄÃ…j½ÚQ þ4Z´ued Œ×·0eЗ\ª6šžå3Ü)—±ÝÛ¤ÁÄæ´¸Õ—wƒ^$kì)¶ÌÅÄÅèùU °psûX>þ_$¾E‹R$7¯cîäåœðïÏA>‰³Ú–Ûì™ø9Ûœj1½Cq¬õ÷1…måëUãš#Ù2@DØ1~ùf& wÜ$ð“¾Tɨ!‹"""""Ï»HÈXgâÆ_G8n&þÒy"âc;v¸âà‘¿ÂÙp16%îõlŠ'2ÜLäŸk˜ùí nšœÉê[’j=3ÿÝj“t1^ʧ‹Â(Ô}¯¦0Lô©„ÎýŽ£ç/q3œ<½1«J¯9}é\Û—¤oJûd ±˜c£hÕ¦á·n¦w}ÙòÐoªœ|…å Ë‚KÒy•Š fÇÆ.t~„rI?v„Š•ªâèhçYIÕŽíÛ¬T9½«!w)O—¤ñX0g&›½~ÿßËC¿¡¤Î..t_ÛýëÎDû±Æb1sõêUöíÝCõµ¬–Y³ú»4ÿwhyè7ÔoØ8ÍuLMVïlOd?""""ò|KúûÚš„¿‹cLûè!c}x‘7MV] IÊ[Ý}³uZˉˆˆˆˆˆˆˆ<v1©¯ˆˆˆˆˆˆˆÈ³ÄŽ{Ȉˆˆˆˆˆˆˆ<”±1 Y±1õyL æŸKÉmÌcóc‹ˆˆˆˆˆˆÈ³M Ó%³‹2Û¶lJ·cçÍ_0ÝŽ-ÉíØ¾-½« (OÅCDDDDäéa ™×[¶Nï*ÈS`ÇömVªœÞÕ»§KÒx?r8k#"""""v‘‰‹‹M·c;;»¤Û±EDDDDDDäÙd Mê+"""""""Ï%dDDDDDDDDlLoYzL{víÄÉÉ9½«!"""""""Ï õ±1»HÈ „Œˆˆˆˆˆˆˆ!g7§€Ñˆñ剜ˆû· ô|ûÏãa‰âÜÎ¥Œ|¯6ÅŒFŒE:²õvâ"Q{û`4bLi)Ñ“]‘‰·1‡ã‡/? Ù«”,`Ę· +®Xùî™®ó{èpÞmTƒ Å}1ýxï—°Ä\äׯGѹQUJɃјŸ’•›ÐgÁo\3¥¹ž˜ÿ6ñÜ8Êè. ©ì_£ÑHÁ€´þ$”#–Ç(÷ÀÃâ‘Öv¶Äœåç™i]«Eó1æ-ÊK »1ù—0Ò!"""""’N죇ŒÕOã ?ñ3!3¦1mî:ŽGùà—}|^Ú=Q©¸+¿±rö æ„nbÿñóܲd·Tm:|ò]ªçÆåëbº´šžõ;²ÌP‹Nݾd`®p¶ÍIŸ:{8÷ýJúxbxÈ>âÃÖðñð=dÏïÎùG<¾$f‹x˜NÍ£m³\/ß”–oÜfÚêäe\‹¼Ëô ¢’f¢1¥ëHŽ5£X‚¯¦é\(ëõdG¾Æ´i3ˆÎ…rãí•…‚Y’Ô6ú(3ß fØ©Z¼Ý‘Oºû’3k&²ò¸_Ärû _{˜ŒUÚ0èý¢ÃØú%c³7l-ß÷.Iâ«â¿óßÇÀéê!þr  Y϶ËËé}?²pz7žqgëÌzdwx”rwë†x¤µ DpòÐurÕìÀÐùq»ú'Ûÿ7ƒoî'bÃzúw}M-"""""O9»HÈXí±µŸÏê7f–ó+´lßðI{¬ön‰9ú ów@ù·Ò±D¼nþÎÿÆ å£úÛ9½z_VËüÐÄõ¸ÅÖa}X׌9ÆQÇÇ€:5_§a-FöZ@³µïS0µV7_góðÁl)ÒŸIæóÞÚ´\’±Q<œò·ãÛƒï)‹áß7e¦•„ŒƒWa*V+œäSç—LfO\Y†v­€×½/ZÌŸLl3€?‡°ù£*duLéüÂÙùéÛŒ‰ú€U›>$ ƒõoªƒwmÆ…ÖNôY`õ*ä»U‘.‹Cø³ËHÊØ"#c“x8­ÆÇL«‘à£z ({ëWnaг$ IDAT=ÄUS=²»{špròÎüy ®P¶Lò„W¥Õè)l4‚ÒI‡"™ÂØ<úÚM½AÓ+Q3)ˆzÒlwJôX²zshó&ÏLÐëá¬[Ö•¢nR.­ñHrø4´³c¶ºL\•¿NìaõÌ Ìn]›ës~d|ÛÅDDDDDDÒ]ü96666õ%΄0Ç¥^.:l_4«DËUEûà šå°¤XÖOo<¹Í¥ðäÃ.â#®ÞžÖ›Ütz ýÆ_¢Þ¨¾¼ä•æYk$Oo>Z>ŸÊf²ùÅŸ~ñp"Gå×(B7’½æêaåÒ{¯ /P£rˆºItÚ;剈ˆˆˆÈ3Ì.†,¥8Éîýõ÷F+¥0!oìßÌiÛ‚Ž]XÚŸŠ™ºO«Ü‹Ñ¼anæ-øŠM&QûÞ_Ô£²pÜ&ÌåFR#Ù8€+/t\̺&1 & 5qj~{ÞßR‡Ó[’?SrØE´l詌G$¦ ç'j0å½­¼nÚBU_À˜x…& –ñnq´¿9ìIJ·xÄqvý·6¼@ï‚©½NÊZ¹´ÆãŽÇmgKøï¬Üø^¥Ê“[“y‹ˆˆˆˆ<ìâÿá ™»ÓùZMÈÄñ÷¼ùø÷JŒÿ¥/e2<^27ü»£õš7il¢k—&”Ëx–s¿`Þñ² ýñ ò:ÄpdzO†íÌE—ñƒ¨”É€{.?JäJ¸¯X\rºãèž¿’þÖCÚc°Q<Ì·9sôonÄY¸}úñqŽœ<ô;Ýpõ)D‘œî÷ÌMg—ñéÜ è<Ÿ kÉ'r7èC³/[óYóN˜‡w¢Jæs¬ýb -™ÕÁ{/r)Üšž5fÑ­ûëôÊÛ¥9òíg \ëM»eÍïž`¾ÂOcgr"{czxüÍ} gðÀX¼>.¶HÑØ"Qœ6„¹|ð+êGþLќشI!¿‘û½e´¸?apZË¥=imgÓ¥ñùf £háœ8…ícÕÌ)¬½Vƒ1ýÑ{–DDDDDžv‘±ÎÄ¿Žp:ÜLü¥óDÄÇvì pÅÁ#7~…³ábÂw3ñËݸVC®K¿óÛ¥{0¸åįXn<áYÕ!sU†¯]…ßÈÑ,Õ‘ Q>øWy‹i?÷¢þýw隸v`#›Ö¦QŒÒ§¿ÂsÁ&ñˆÜË'õ[²6úÁG›Ô G»ïÙ>¬n–[ìür »]ƒ˜Ù¾¨•7þÜ­s–ŒZ1ŸF3¥S#F8å¢dÍÎ,]ß™ªÙ$qœrÓtêJL#†0aÔÛ|îI¾²A|´úSÚ–özp¿³tsÄ…Ð¥qH’£ùñѶõtJéÍFOØø(n›b8õÓV̾FŒcFò¯DÛ[ø n!< XŽGˆGÛÙ‰éÚ>~X³„‹·ãq÷)L©ZÃXÑï-Êg³ã[²ˆˆˆˆˆ$b ±˜c£hÕ¦á·n¦w}ÙòÐoªœ|…å Ë‚KÒy•Š fÇÆ.t†¨Ý½)¼˜+Övžë]Öíø”RV¦µ8~ì+UÅÑQïCyZìØ¾Àÿ³wßq2]ÿÇ_3³}mÁj;X}õ"¢—XQ¢„êB‰žDŠ JÑE‰šðE$Ñ Ñ"!²J°êbµíeÊïm+»Ê–ñ~>÷aÍ=÷Þ3÷3÷νŸ9çÜ:Ofu5äÅ#{Iù_Ϥ]‡N·þ¿bÙ·Tª\g— ×þücG’õ¤Æn·qéÒ%öìÞEƒFMR-³æ‡ïÓý=´bÙ·µi—î:ÞIž¼~d=""""òhK~}šÄ×Åq»c´I½‹Q^Ú¯>Kû´—Ân·c8pnÌÖ~×'e‹ˆˆˆˆˆˆˆd„ž²$"""""""’ɸ…ŒˆˆˆˆˆˆˆHö¤„ŒˆˆˆˆˆˆˆH&S—%‘L¦2÷¨x‰Rœ=‡¿¹p¦o[DDDDDDDr6%dDDDDDDDD2™º,‰ˆˆˆˆˆˆˆd2‡h!³uóoY¶í"ÅJdÙ¶%¥íÛ¶fu$Å#{Q  -êV£”ÙŒ¹ñ4Žß,±‘îÅî´Ÿë0&8þÖÚ,WÿeíÔÁt¬Y³ÙLã!¤¶Õë…¯ð÷²ü_ÛFÔ,€ÙÈk¿G¦s/ŠˆˆˆˆHNç-dR}ÕJÄÑ_Y4cÓæ¬ãHŒ™7~ßèjîIJ%œßÊü/¿bÞª-ì¹B‚g!ª5}Ÿà™bn®‹%ôúõd¹¡ ½ú~Á{…"Ø:k$›ïâô«XÅÃ]Öa½°†Gì"_1wÎd¸’Ø=ÇÃ`'<øq¥ž¦w§J6œåïMK™þ^[‚Ù̲n< ! x©åPN7ʘeOà}zㆌ ÓküôÓ»TñÈX9b÷3®óóÌs®OÇî­ˆ˜ùWÊú}i0b ®$¿Ý·qqÝ0ÞY˜‡Žõòa°]dMÿgé¿©¯›C› ΄løŠaßçrÞ-Ìm_àz¹LâVÂ~yÖ/¯À³Å‹ÙYÆÎŽQo09ª Ow¹õÚ–÷žåÕ_ Ҭà Ô]>—°´vDì!fvkÍ''ªÐå…ž|ôvóøàWÒ#­%DDDDDÄÁ8DB&Õ+1{ù4¨³œÒõÕ6DLÞ•zë–ØSü}Ê›º/Hß²¹ ?´UÓFÓµÉyÖþ5‘º^©G8[>Èò„|½a<Íó_¿ÍmÞø ò·iÂÈþóé°öuJÜi¯Û®°iÄ06—Âäšóxmm¶/IÝO< ^Ôè÷5½Ôò™z¸üÕÙ{C‰¿™°]bý°ØUy$›¾|ž"NÀãUYP΃ÖM¾düÖÞÌmêƒ!½åÜ*3xí?¼—Çã©Yüõu* \(Pµ’¿µ›÷ž$_×ñt,zãÅá§Í”0º_¯wõª$l~Œ>JlûxÞÇnN·ìÀrr1½zo æÔß×Ê?õ“¡)7žl@…d/Ǟȧ=h>ýUʹެ£7õÆl&ØÕ/ë>Ù0ŸßRÝìøøÆÄ¼ÁêßÞ¤J®»¥hEDDDDÄ9D—%»Ýžrr«Â›OpfïJÆ÷¬ŸÉ¤,çT¤æMaD¿—iÿt[^zçsæ~Ù ×Ð=ºjI}ÝiuYŠÜË¢ áöz›Æùµ9p ¤ûÀ¦¸ÿ»Œ §ÓìÀ؉Ø9–Áßçç­Ñ])æü ÷Ò#è¾ãq=!‚‹!{X5þfŸ*ÅsÝ*p«UÜ ~ßO™¶ ñOtGïVª ]ÊÅsp[ñ)€÷¼¾¸dø>ÝÂÉe1ÿbM¼ù8^7—w-LÍRNY¶Ígâ°c#âÀJ–q¡\¢¸ÞqPvŠqZð´§ÜŸïñL­ò”®X‡Ö½&±-ì.u°]dè¯.Ù‹AMý’œDMž~xÝ%Ím»ô_.‹£aK+_¿Ôˆje©Þ¸ C—%FÃa‰ˆˆˆˆ<2#!“êdÄÝ/7.†Û]šR/ws²}å,ÿlœÆ ÷7áÖ¼M šÒ,ŸËå`þ‹ÊMÕê’ýÚnÀ3°Å9Ë?çâÒ~#1ûùjàB\zŒ¡G`¦Ý&;¬ûŽ@Â!Æ7(KÕ:Aôž¸“’}Çòfµ\·»ÕÝðv³rvÏq¢0â.p첕ˆ‹‘×ÇIo¹û`߯ø±»ÉÛ}(í 'zÇNEé2å+ºZ¦Ñ½f ZtnKý–#¸úòfw)’iÍä²U<,çÙ¾ñ$qÿLgAXmÞ˜°ù#Ÿ#ÿ®Qt úˆ‘igFbÌàÓu‚†¾H—Œï‡˜CkØu‘¾ÚŠ_§áÌZ4…wj‡³¤o3^Zrú¾?"""""’38DBæîƒðÞ,—vÙðµ1”£VÛÁ,Šl˸ÏÛSØ”±A}í±Ä⊗kÊÝjr÷Åh¢Òº4žÃ³0=ú9ƾU$qÿî/78£ûì•,ž9š7[úó׸¶´úè"n~\ËÐ¥Çc\[Ú›7gýÁ¹h ±þb^ÿžÌ ×\®×²ô–»g ÷ßEÖapŸjɺ %pqÿVþ q¡Tóö4.WˆÞ®œÃŠ#3í±ñÙ* 8|œjdñ„ž<]«µ[¿Å´¥ïSéÌ|FþxžTÇ;¶œeÕ'³8Yö 6Ìs1³y*„ òò¼¹ ëôÕ«7¢Û' ™ÝÁ“-ŸOaL†W*"""""9C$dâããï<%X°¶„´Ë¸ÔÉš• ™öá ÔŒ\J:Ï1ûhTšåScôÌ‹'‘„F¤üÛFäõL}—[B3xB(­Fâ /)ñ ÜOnOÒ”|ì¾÷mJ9Ìs†ÊÝ[ØzFMÆüÒPž)”tˆÞ¸àÉt}£6òó×1høtÖìþ•‘e~çƒç?d[Dæ¤d²U”p¶pvíXÞÿòl9pŠ« Îä)V™Ï`ØkOavMûÖèÈá`jÕ©‡É”‰w³rGÛ·m¥v'³ºrƒâ‘½$Çü¯gÒ®C§[ÿ_±ì[*U®‚³‹K†Îkþ±#ÉzRc·Û¸té{vï¢A£&©–YóÃ÷éþZ±ì[‚Ú´Kwï$O^¿²y´%¿¾NMâëâ8‹Ý1ZÈ¤Þ )/íWŸ¥}ÚKa·›(Ô|0³šÎÀzEDDDDDDDîC ê+"""""""’“8p ‘ìI ‘L¦.K""""""""™L-dîQñ¥8zsáLß¶ˆˆˆˆˆˆˆälJȈˆˆˆˆˆˆˆd2uYÉdÑBfëæß²lÛEŠ•È²mKJÛ·mÍê*H"ŠGö¢xˆˆˆˆˆd‘éÔµ{VWA²íÛ¶R»Î“Y] ¹AñÈ^’ÇãHðÁ,¬ˆˆˆˆˆ8DB&!!>˶íìì’eÛ‘œÉ!2ÔWDDDDDDDr%dDDDDDDDD2™ž²tvíÜ““sVWCDDDDDDDr µÉd‘A ÉA"!£tŒˆˆˆˆˆˆˆä$Ž‘Q ÉAcP_»=ó§;°^ÝÍ̾ÏòT¥Ìæ2Ôê0„EÿD`K÷²pjaGŠ›Í˜ëOähÂýî GÛ=ÅÃÉáŸ&Ò¯Sª•6c6P¡n'†ÌÛõ &pnã—¼Ö¬¥ÌfÌÅ*òT÷OY}".Y9;QÁKx·Kcª7c.ñA}gòçekêUˆ8ÌO_¼A‡¦µ©TÜŒ¹H{V†Ù“•ù‡%C;P§|f³™2ÑwæN®$^eô¼]ÁŒÙœÊ”Ÿ¯‡+g¿i‘ú{5çÅ_#•µ}t5ŸvkHå3æRÕyú)l½`¹]$b#Ý‹¥±ïÌfÌæ:Œ ŽÛ–¶ºS93-œ#õH‹ˆˆˆˆÈ£È1ZȤúª•ˆ£¿²hÆ4¦ÍYÇ‘3oü¾‡QÕÜÓ^OävÖhÆ´Ó®´\qœïšze¸.–ÐèÔ“å†&ôêûïŠ`묑 l¾‹Ó?®b`O wY‡õÂ>±‹|ÅÜ9“áHb÷ƒðàCÄ•zšÞ*QØp–¿7-eú{m f3Ë^ ¸uðÄü’®Ý¿ ®õ`Æ}T‚{XòÙpzuµStãûTq°quËG´ë2‹‹µ^¢÷è·îcÑçÃiÛâ?­ûŒ§rßÎZN/£w«~l/ÚŽ_Jï’þäõÊM‰Ü‰jk»ÈšþÏÒS9^6‡6œ ÙðÆ?Ïå¼[˜Û¾¦Ûoˆ²ƒ3¾O’÷kô(DÑL< dF<Œ¹[óÅÜÞ”qI¼g|‹{ÞúoBÈ^j9”Ó͆2fÙxŸ^Ǹ!#ètà?ýô.U<j Y¸Wâ“eìáìõ“£Úðtq0úÒ`Ä\±$-‡‹ë†ñÎÂO'àñª,(çAë&_2~koæ6õÁ`ÊM…'P!Ùâñ‡'òéAšO•r®.¨ZÉ·µ›÷ž$_×ñtÌÌÌ—ˆˆˆˆˆd{ÑeÉn·§œÜªðÁæœÙ»’ñ=kãg²©”»1ÅO§Ï—vK‘À´zís~:{ûØ5ºáífåìžãD'> ã.p첕ˆ‹‘¤•Š90ƒO×úbÒ.QÉØÃ·1~ìnòvJ»Âj#"""""I9DBæîƒðÞ,—ZY çV⃿ë2ú“føìé[gjÕˆ W¼\SîV“»/îD•ÖÐ¥ñž=€éÑÏ1ö­*xÜ÷N‘û‹Ç NÅè>{%‹gŽæÍ–þü5®-­>úƒˆD[Ôqvn=@¤ßã´oý8E äÇéÒ&¾™¿™P €øˆ8ì.ž¸§rÄ9åòÁÕÅåh+Ï…ÃçÁ+ˆ)‹>ã…ÆóX½¼;w!¯ù‡Éc·~kÛ \Ü¿•?C\(Õ¼=Ë¢€·…ƒ+ç°âßÈÛÉ—R¼4a&ó-cåªe|3m8N°`XZº3É{y˜2'Fr×{™³¿aéÿVñ¿Å³ÿf=l›¾äÿš¾Ê’S7Ò,®eèÒã1®-íÍ›³þà\´…Ø 1¯Oæ„‚k.×ÔOŽ–³¬úd'˾ÁÀ†yîpMàè¼ø.²ƒûTKÔuLDDDDDä:‡øÙ6>>ÍÎX,Ø[B<ññIo¡l—×óÞ M”º™V~VâÃ-رc³Äßu½É=óâI$¡)[·F……ž©ßÂYB3xB(­¦ â õmx î'·\É_öqò—}œú-‚¨;´1çŒcSߥå1€-Œuý»2òì |÷û jz Þô)ÏvíÁ«E~gÕ«¸åÎ…)&Œ+ñvHÒžÃNüµËÄ=ñu76b£­8Uï@¼‰êæQŽv­‹0}Í>B-ðv†¸àÉt}ÅÇodZ‡¢8fAÏgòü‡”Ý2–'½ à”—ªMŸN´ÍÚ4 jGãÓáë1üÒ{)mó=üÜl¦ÄîÅêót±Û‹r « õc\·€TnÀ2Æ”· çdÿÖSÉÆŸ°qp3Ç F‘ÔFåàœI쌹Ċ+QäF·’ÆB°þ7š§Š™17›K:†×Dî=i0úRµe5Ü­‘„ßxêŽýòf®‰â‰~=yÜûæáäD¾úo1¨¶½+vrÙžeêQÂ~˜_G'[i4‡;EjPÂÀ„gn7lQáÄ%i,b'!6ƒ›î€X‚—,äwú·.zë³kð(C§ÁÝ(ö «Ä¦ý^ ÞTnQƒ\– œ¼–9ý–2#iq6×§y ¸t,ìö¶ü¨ýÖ7ì 9Æ?{öóßɽ,èìÌe{Q×JÞ­ °œ`ÉÇ ¹X©/ýêùÜapäXþ™1‚µ– éU)åø6""""""8HBæNƒï^ŸnöVJúº-ìgFÍ;GüÛ†’.n”¬WÛŸ3Xv<áV9{Ä^–¬ÅܨÖÏ7/W¸ô/G’$TlD‡žæÞòºÃÆz‰«véHÅü™ôÁÊ„x¤%öøz~8 5ЦL]ñÍŸ×è¿™9ì®Ô|.¥“cãʦ1|±/7†u¡ØvíÙU|23„€ïòtµŽ‘Ô9Ä-~š ’$ó¯ý’¤¬O¾øy=‰ïg£¶3¨ýÇ8}²œÏžð!oI·»®ÿ67*¿=žîkžã•ÖÞêÓžÞ§øeÎ8æ©ÎðŸ;_¼.qOïÇ'; ÑgÂPêøp/HÅB‰×KAwLîþVªL)=qéÜ{—÷þÇ%73å«5æ“ïñbÅÛí1<*÷g冯|6‹ÉoMçŠw9j·Ëúw;S!×íÏ€1w#F¯œNþ÷?gJ¯¶|æTˆJ{³d}oêå»ÝâÂÉÜ‘뼘2~.kÇôfÜ™8üJV扞3˜Ú÷in>Y:öÄ/,›ó=‡Î„r-œ<ób.Wþ_¢w³îð  î¡ÇÃr]k—0}{g¢°áŠO¡â<Öe4ct¡ZîÛ-i,g–Ó³Ù‡ô*D™2e©üì$6¼Dyïä­Z¬\X3‚©GóÓuy‡”ÉšD,!KøxÁJ¾ý.M3a\ɹ ‹-²ÛâcxþÅWˆ¿–Õõɰ˾¥E«Ö)gØÃXÞº½w¥²P™alÿ¥%Rku¾Nþ—yûYÐ(í„Ì‘ÃÁÔªS“I]²‹íÛ¶R»Î“Y] ¹AñÈ^’Çcþ×3iסӭÿ¯Xö-•*WÁÙÅ%Cçµ?ÿØ‘d=©±Ûm\ºt‰=»wÑ Q“Tˬùáût­Xö-AmÚ¥»Žw’'¯ßYˆˆˆˆ<Ú’__§&ñuqœÅî-dRïR”—ö«ÏÒ>í¥RzµW–ž<~‡õŠˆˆˆˆˆˆˆÜµ©ÉdÜBFDDDDDDD${RBFDDDDDDD$“©Ë’ˆˆˆˆˆˆˆH&S ™{T¼D)·žÃß\8Ó·-"""""""9›2""""""""™L]–DDDDDDDD2™C´Ùºù·,Ûv‘b%²lÛ’Òöm[³º ’ˆâ‘½("""""Ù‡C$d:uížÕUl`û¶­Ô®ódVWCnP<²—äñ8|0 k#"""""‘IHˆÏ²m;;»dÙ¶EDDDDDD$grˆ„Œõ‘œD ‘L¦§,Ý£];wàääœÕÕ‘H-dDDDDDDDD2™C$dPBFDDDDDDDr‡è²dÏ‚IDDD-U«V¥téÒ?~<««""""À12v{¦O"""òhÙ·o%J” Q£Fœ>}:««#"""9œC$d°Û3ºëÕÝÌìû,OU Àl.C­CXôO¶t¿! §v¤¸ÙŒ¹þDŽ&Üïz´ÝSY}‚ØD¶Ç㥣éݶÕÊÆl.F¥'Û3pþ_\¶$_¡ˆd7¯¾úê­¤LhhhVWGDDDr0‡HȤޭÈJøÑŸ™6¨Uóyᙫ,ƒ÷Ĥ(ûÏÇTÌå…g*Sñ·ÿ$*õ§Åúï4y†áÛrѤï|=c(ͬ+ؼc÷E¥«»“õÂ>±‹|ÅÜï}§pñ0Ø >D\©§é=r³&~À ]åÛ÷Úòâ7!$½o¶öËÕíÉwáé¼5ÏŽ;M­³ùqõ<ÂÌ·ž¡ÏªóXïa¿Þ«‡NoXįáehóÖ(æ,[ʬaAxÿñ%¯´èËRy·–,ô%'‹ùc2¤²í˜LêÄ{»KÑë«ïùqÑpšD-åÝ6/0ûX¢Yü1æ¿Ü€®_¢HÛ!Lùú+Þ©qžÙ½ÑmÎ1âo³Gîgéwñ®û"C'-aÙ7ãù¿*Yònk:LØŸ2™&"Ù†Á` ::š   òæÍKãÆ Ëêj‰ˆˆH布úÆìåÓ vÌrnH×WÛ1yWê­[쀱(½Ìåù‰w‡·üepÏH÷${8[>Èò„|½a<Íó›hÞø ò·iÂÈþóé°öuJÜi¯Û®°iÄ06—Âäšóxmmú7/ÉÜO< ^Ôè÷5½Ôò™z¸üÕÙ{C‰1àÖÁc9¹˜^½7PsêoŒkåŸÆAeįчLk”è¥VÏP=üÚlù‡K–Väs¹þr®'†³daâekS¯~Y,O>Ç·3ÿbè“ Iœw±GíeÂÀoñî=“ç{•¯’m9>x*ýç$ðòŠy ­™ PµJeüðêØ…mÕÀÌx‚{¦ÄÕroÎgIâek×¥a5w5ŸÄŒM—hÕ1¢L´…s+†2úh>ù<Ÿôþ/Ù†-œ\:ˆ/Nµ`Æ–Ïhž×T£Jµ˜·gò´}tû¼îX9¿ú]>ܘ›žÿûžaOx_ßF³FTõjF»‡°ºÕbž-`˜·ã—5K²•Ú êR4¼}.âß>#yL¹X‘l+::šÏ?ÿœ¾}û²téRš6mÊÆÉ;wVWMDDDrÇh!“Ú8/nUø`ó Îì]Éøžµñ3]oÛ’jYƒ沕©ZµJ¢©2eýÝ #cÈDîeцp{½Mã7›¸Ò}`SÜÿ]ƆÓwê“`'bçXŸŸ·Fw¥XfÜ$;²ûŽÇuö„.†ìaÕø˜}ªÏu«Àíûå8-øŠ¿ÚSîÏ÷x¦VyJW¬Cë^“Ø–ƺmq„Ÿÿ‹GðáŠ(ëÞ–â.w®ƒÁ57~à[$7I?qÏÀ×ÖózyRÞÇÛ¸zàwNûÖ£uÅëÉLù¨×­^§¶r("“ú-eJbgdòOK4ªA¹Çêóì€9œ¨5ŒÏ_(Í£p޵¾ÎŒ¨f¼Û³"n‰gŸÏÀI—h;ºÕ=S;œ 8yzb¸zˆƒIDVÂOž%ÚNXdætZÊ”x¤Âzy;ã_ÿŒã÷g@íDm‹ìר2ê=6 `dÇÂ8¥º#î>nXNîåTâªÙ£9r kä"¬@Â9ö´R¸VE|“…Á”»2µÌN_L} {,ǾÄ[«{%‹gŽæÍ–þü5®-­>úƒ[J.pø8ÕÉâ =yºV5j·~‹iKß§Ò™ùŒü1ù-îT|g1ËLããÿ{ ×ÃhÑiÁ±©oÞví/¦toÌ«kË1úûitLÜ­Îr†ÿ½;†cG0´žo³ÜuûÐ1ßß õc~<|•„„pþ[7Šÿ{w'V\Èå–9§L‰GÒ-}h!½›väkÏüoAOnç9íDîþ‚AË|é3æJ¦Ù*Å“ªÿ÷"%B&òƒó÷Å8,Q§Ù2¹oþ.¹p5¶8"ãÀÍË-eLîøºCTXdÊñz,Ø4òYšöÿ›&ÓV1º±©µÓ‘ìÁ`0‡¯¯/¾¾¾DFF²dÉÚ´iÃñãÇyæ™gˆMã„."""’ŒC$dâããï<%X°¶„”óìù[3jÎ|–®XÍO«–0gÌkT¹ô?†·«Çëߟ%&u¦Æè™O" HÙíÂFäMµXB3xB(­Fâ ¯;ýÞ/éu?ñ¸ÅàJþ²Sÿén ™ñ‹_(Èñ9ãØtåFÀOT¼ Ï6Á?Q®Ä9 ËÙ8¶û4I?-Üͩհ5¯ŸÏOSŸÆcï&ý•òWUÛÕí|Ö¾c®veáú)x@2%·Ø‰:0•ç[ aÃ)¬_ð:•s%:®b2mà\xi =˹q'î•û±xÎëØ8€–UKPæIúï,Nó¢àä_мN€É“¼žq><•¤K$#Á3¯gÒd‹å>>øøø$i)ó믿ҢE vìØAçαXô¥-"""wæ?Ȧ9Èî­ù7{+Ýa@ÞÄ\KÒ´¡™QËŽq1Ážþ1ÜËѱ?sçOâ·“ivsÐØC|3þ7l5FÒ¨`jM\)Ýs!ëÚÇ%ôÓ‰y¯òúææÌ˜Þ•b>…)àÑÊD÷4X/²mùNbüÛSñæ@!®Ô.ïÌ×óp२z£¯YÜ‘å,>äMíw&Së¿ã ¡4J$ΊX81¿/ï¯Ã¸ßð„O*·ê&ÚO_GíèD‰[?½Ùyã™ÿV| – ùXÁN¹üȇ…Ð?eÄοŒhFò\€GÕ¡¬ZÛ‡„D§ƒØcé6ð=N i>Чè7hÂ=O~ÜmWØ2þ~¢93Z¾~5xQãù&x=?™»ÛñQM¯ëãÚØ#Ø=c{6fÖ>·Æº‰Ù?‰7&†Ñ~þrþ¯¼ÇÇÀ‘ìÃ`0`·ÛñööÆd2a±XpuuÅh4råʶlÙB“&MX·nݺucáÂ…F å"""’’CÜâß=!sc(Þt&dìøaÃL%ÃìlOkȘT¸Qùíñt_ó¯´¶ðVŸöÔð>Å/sÆ1÷Hu†ÿÜ™"NqOïÇ'; ÑgÂPêøp/HÅB‰×KAwLîþVªL)=yåÜ{õ9ýÏu£` û§}Àœ³ù ,H1ŸXŽþö “ý…ÿkËéR,Ñ¡ñ'“¿Ü…KÑø‡îgOèíY·”)ë‡Á…|¥*’/ñÛµžãï\&\ýJS±rÅDO²}æ0ÿ]¼Æ¥³Çسv>3–¢ä;ß1´–W&&2!@ÜṌZC•a\;°‡=·æpÊS’ ^s¥\¥¢Ij뇋é2EËW¢rþD {ŽåÜÕË„†ìgãâ™,øÓ‡—玢¹ŸñÖº½ë}Èè§ñzçö„¿óAMÿ0qKÃiúå'4½™€²…±qìLŽækÇ;ÇÙ·'Q% ˜Ë—!¿‹nÞD²#£ÑˆÍfÃËË ¬V+nnn·Z΄……±sçNêׯÏêÕ«yóÍ7™5‹ä`7+¹råÂÍÍ »ÝŽ«ëõv‹…ØØXÎ;‡»»;5jÔ`ýúõÄÅÅáîžI}CEDD$G1,Z´Èn‹áù_!"üZV×'ÃV,û–­’ßvö0–·®Dï]©,TfÛéC ç8N|™žs÷ròìb1âžÛŸ2µž¡ç ·iWÎ+ÍqަVz˜Lz&Jv±}ÛVj×y2««!7(ÙKòxÌÿz&í:tºõÿ˾¥Rå*8»¸dè¼öç;’¬'5v»K—.±g÷.4j’j™5?|Ÿîï¡˾%¨M»t×ñNòäõ{ ë‘Gƒ§§'=zô ::OOOŒF#ÑÑÑ\¾|™‹/rþüyÂÂÂ(]º4‡¢cÇŽŒ1‚Kû´—Ânw¡Ü› Ùüfš+&ݽ•DDr°3çB9s.ôîEaƒ›Í†««+^^^8;;ãìì|«uLTT~~~œ8qooozôè¡nDDD$M‘‘û7øÝ¡·?·ÛíØm¶ëÿbÇ’`¹ñº-Ñ|;Ó¦MÉêj‹dª›ùº»»ãé鉓“ñññDFFâççÇ…  eÚ´i,X7· õ1‘GˆC$dÒõä$I“Á` !!áÖ ¥v› ÛÉn·wûÿ‰æ‰6–ظXŽ?A“&Ͳºê"""""9’2""B@@ê³mëVVÿ=pýi1ƒ—ce¹¸º€Á€³“&''êÖ¯OÑ¢E³²Ú"""""9VŽOÈ$$$r2„_~Þáñ‚ãK>¤ZeL〨¬®‚ˆ8€3çBÓ]Ö`0àäìDã&M (@@Ñ€[‹ˆˆˆˆÈÕã2!!!lù}35‚šOÔÂ%=rí[7ȵ»»ÿ­^G¥ÊU²º"âΜ eð»CÓU6&&†?¶ocËæÍP¯þõ2"""""’ir|Bf÷î]4kÖœRe±ÛíX­Öt/k·Ù‰ˆMù˜×Ìâåv}÷;»èÑÙ"ò`ØoŒór7...Ô{ª d÷®ÝJȈˆˆˆˆd²Ÿ¹|éÅK`µZ±ÛíZÖj·cµel™Éz£¾&“)Ëê "Ž%½ ™›¼½}±X3ÖÝSDDDDDîŸ1«+pßìvŒF#6«»Í–d²Y­ìÝý'çΜN1¸^& §›õyPìv{’sÝÊ+x½W/¬KŠó ÝfÃ`«Uç"‘Ì–ã2&''âbcS$;¬V+{ÿÚ͵«W)XÈ?Å|«¬6{º§ï–.¾ëßš²®qŽˆ8¨ä‰æºuë²gï^^ï݋Œâ\èääŒÕšu]7EDDDDU9>!c4™n5ÑOœŒÙ·ç/._£^ÃÆX­ÖT2v›[&à®gd²gaw)qLÉχ>>>|¿j[¶l¡wŸ>©&e¬µÉl9~ '“ññq·sKgÏœáô©Ë•'..[ýÆ%X‰ÏØ/É˧õwz¹9çø|˜ˆd3«…øø¸$¯yzzТEs¦L™J­'jòÜsÏÝšg³Y34ºˆˆˆˆˆ<9>!c2IH°àì|û­(XÈÈΜ>EÁBþiš{ý—䌵RI\>­¿Ó+£ƒ‹ˆÜÍõ–I[¼\¹r•Ÿ~ZC×®]éСC’ùƒA]–DDDDD²@ÎOÈ8™R}ªHñ%;ûöì¦R媘œR¾Õ›c¹dDâòiý}/ëy’Ÿ¯^½JÇŽ¨S»6ãÆŽH2ÿf7OÉ\9?!c4‘‡Ñè–b^@±œ8~Œø„x\)»Ù'“ ›·¹U>­¿3BOY‘ÍnOz^Û²e •*UâóÏG¤8W™L¦LHÈ’t+y4%½.Îù 'QQQ¸8»¤:¿X±â@êÉ›OYÊ*zÊ’ˆ>w,«ï!Ǧó¥Hö¦cT${Ó1šó%¿.нñòöáRØ"##±ÛsþÀ‹÷{1oIH¸ï:äòòºïud…Ȉˆ²G¾¡²s=»™Ý9r ²;›Í†íæ˜)xì6öÿMå*ÕîXÎѾ‡²“» ¼¼¼ø6ív;Ëý—f…õ=(w§ï©¬gµZ±éF/Uú|J¶a·'»÷0€>ž9Râëâ?wÿu;!³ø›¹YX­ûçää„Á}šÃ· jÕU¸g;¶m»çe FNNNw/(““ÆltL<ª NÎú1a r•j(X„;$»sú÷Pvb29¥»‹ØÃú¾2 8;»<”u?l÷ó=(éãì쬛 ɶŒNNÎY] ‘4M&L&]ççL·¯‹!Q—¥²åËgY•MðÁÿoï¾££ªÖ>ŽÏHBB I)B¯¡Z°ÑDEQÁ‚zT^Eå‚XP± ØE±£4E„‹`+êEHâ•(Í$!ÉÌ9ï“2i“3!ÅÀﳋə3{ö™œ•gϳÛfBBBÉÌû¬LåžuÆôéÕûkwüªîñª¢xMJ¼smß¹í;wÚad­âã‰o_Nµ‘êÎù½’ÅõmNú…iÓ¦UèôéÓ9عåSÃjÈ‹‹â;¿øbß­_TyC†œCëV­Ê¥nvx”‘J(}òÙg¼8çevïÞT™)))¼üêKôíݧœjyü ¯~X¿‚E î ªÌKFÝC·Äs޵jUÊc–>bkûÎLž45¨rgÌz˜–-ZkõDDDä8a{ ™äméß@É}lN§“ÈÈH¿òNL–Uüî ß­__¦WÂÍË«z¥Ò©ÅÇ¡ž‰‰\;îš2•Ø31±Ø2Å'P¼ú>'sï÷}Ô—´)e4ˆa8¸ÿ¹{À0è^“2¾8¸]”;2æ×äí$'ï&++«ØóBCBiÓ¦ ê5ÌiGé~ÛkȘ¦ÉÖ­[ $`ü†AÛ¶m ülŸÉ‘Ÿ1ïÅ7XþÝv~ÛŸ†«nSÚõáÊ;oe`¬«ô"ŠãIæ•‹†3¿×¬¸­=!e+%h¦™síÚ­+W®Ìyd’’’7Å+%%…ØØ¸œÇ{3fL©e•7%dD¤*”‡ „×2¹â²«HOOÇép`YX!`8œÎœ©Oqqq<2ãA d-LÒv¬bÎ3o🯒؛FH$1Í;ÒoäÍLÑ¢ÒbIe¯Í¿›_=‘ôôÔb_ëÊܧFý"Ço¿ì2œw7Ý»WÝ5d à ¾EKœ..§ §#÷>t¦eaúm-n·}täó8eÂ>&­XÈeœŸ4ÿdñèAÜòŸ¿:€¨R‹ÌdÓÃCýÃ5|°ðb✥/"""•!?Ó‘³€] @É#düÙOÈXùéyÆ\ñ"É ƒ¹üÚ iååÀo¿²ó@4ÍêºÎáÈUŸ3&=LózM¨a6û¤Ž²áþ!\þÓXV–±ÑâÉmØxÔ””œë20 ßÏùÏí)ú‚JìPÓ”%©¥Ä¡ØØXvïÞÍoo½Eý¯¾¢ÕI'Çî]»HéÙ“&£GcÉ{~'.ΗØªsÀJ'iÞm\7c-ûcû2rÌmtkׄÚÞÃìݹ™ß#já²Kª;ñêÕ×eoV [åE×ÈâÊË&—Zf~~ã…Ó;r_ûÿ°eÎÉÔ²õ.àÙûû7/­ÙÆÁ8z\=—åô´ýúRË7±Õ.‚üÄͯk¿`ç?²·A=þõ7­»w§õég`9¬çÛ‘Óº*>1”÷sîó¥—fämå­µŠEDDþò2VÀmF2Å=_p„ŒÍ˜øì±—ÙÒlKßø-˳ëÑ#þÔ»|^^3§”ýJbš`Y&†#À‹¸XÂÃÂؾ};Æ `Ó¦MtèØÃ2ظicÑJU‘ªPZØŸ”D”Bš6%;-Ì´4êºÜD¬û’¯wï¦óí·Ÿ¿F‡ý¿á‡×?Æ 3Öbœó+¦ŸCÓ¿ŸìH›êÁN¼Ú›UƒKãöÙ*oážÍ8„Ëå¶· ¿ÿmÿ®³æ–Q<úÃéÜ¿ð%ÎM¨E¶³¡å'½¦½ûÀÀàû§gshÉ{t¿ábF þ|÷]~¸m*û.¼¾·Þ’¾Ýzú}6E^cäLm+y.]ô>†Æ±aÕ:v¤BTËÓ¸ô–©Œ?µ!®Ì_˜9ôb^Mxˆþ]œœüìZ^8-ÜÞõÓ"Ë㡦³äŬÌ,ÒH#·¯õСCyÙá¿i-UfŸ¬ÇÔŽ"RJC“’0N2þøƒL<|áNnÜŒšÚù=¥µ‹‚¬©ˆˆˆÇàp: ìpQÒnÛ¶mcëÖ­lݺ•-[¶äœSÃ(º]IåùçŠeà„ hüÛË\2l,Óç~Ê–TOÑz¤ýÀ#_ÉSÉí¸úÁWyoɦD÷hwN==ì_·ŽÌS&òÔÜç™9¶õ݆_’oˆ®™¾ƒ®Üùâb–¼>ƒ1Mæ¹ëÇ0óÇ4mÅø…ËxzH´¸ù«>äÓWñhïpû×c˜–Uêš/¡!!„‡‡S+Ü×”¬];’È߂ȵ##‰¬]»L¿Ð£›žâò~툪MxDm¢ÛôçÆy¿DŽE#dD¤²ŠCþ±¨Å€¬xçR228Ø«1µûì¢‘ë ‘?}JÛ~íhÓ¦àzf¶þel㣟M¢NNçGÀsµÓkäÍÌxe!‹ç=Ëä¾yû®I¼¾+'v™‡Ùôùÿh|þTæ¼õ6ó@ÆûÓ¹cÉLg4ý.NÄøñ]¾:hå”™ÎÏKV“Úæ"ä.µ|ëàGL¹ú!¾ir³.cÅ›Oq×Ug¸ÞeWÅY¸§ ÷48æß{Ù;x¼wúMº›ñCºqR½Ú„G5£Ï¸×Ù’ÝÀZ3~½Éßo¡aDmÂ#:1ýçLÀ"mëb¦ ëE|tmÂ&ÐëÂi¼ÿkFЗ迆Li÷äö_’H7φ ¬^µ ëÀA¬Y½|9ÞÕ«éqûT6ÿ¿»¢ý߀…åõbšfÁ^³@y­¾ƒKïü†f×<ÉÒ—2ûòÚ,Ÿr=Ïþ|Ô¯¼¢ï°]Ľ$"""Ás8 ·Ë…Ûí.ñDÃ0Š!“›”),PY…ÅôŸÎûËÏdÑk¯2wÖͼ93”æýFó“Æ1¤uLö¯›ÃâCg1kñ ¬—Ó¥˜×æöàrñqÃÉ[ûγ§8|׿r91ˆ¤Ós8¥SM  :ŸDÚ92÷¥õüß ý©Û˜˜ÚN!uiÔ¤ …×ѳÛ׾-¹r433¼1°må ~æI2~ÞLòá4ßIa5YÚ©#áº,ËŸÖŒ~WßÇè–-ˆqícýkS˜xÝ4î±ŽÉ öz@½ #"•ÌN«Wاžbñý÷sðíU¤}™Í]‰tëÖ~ÿšJVz:[·&Ñ /Y`7™ÞCü• ‘qu u» ô*w‹Á\Þ"ÿçέ=¬zïf¾Iö0!Þ…Ó0ˆ>ã_Œ» #¡ õ;ÿ-XŸ‚÷Šf4ì7Š>®[YüÍß ??gÚÞ[s„Ž7¤i¨g òjáÉÜË™!œÔµ7ÝÛ5#Ô€Víl]fvâUt¬“/…‡9=˜^OvÀ2‹2òÿyÿæûU»tûLÞ}4šìŸ^fÜØßýt>Û™{¿ßDü NÜÕr ŸíK- \!!dï| úÞÊö³`ÎgÃiéÙÈ‚;Ç2ªO/}¿ˆKÙïáµ°u?ì #öª1|CX×Nœ|õ5¸œ.Ö¹kðCíz{)/ÏÉ;ßî=év:€m<2¤”tRw'n··çW–>ý)cÞfÚȶ¾…§/›Ìu‹1ç½ÜÜ­-N‡†—Û;§mcØhÕQ®EDD¤Âä·NlôplݺÕïô¢‹ù¶iÓ¦Èóv«Q»õÙŒ}ðl®ö>y——Š[†®eë[ ¹µ‹‹ÿ­ß†§Õë9 ÏæÁ˜sÅêòèÁ)ЛS3ž3{Gñâ·Iìó  nÊ ‚Ãá°ÏÑ %,Ì7:Æšû ;¿ý–¦£ÎÅÝ«5¦ÃÀcšde›ŽPš¾¿œ/³39åɧò¶Ù,±Üø֯!ß5á(ïÌ¿‚Õ[Ó™ÒÆ^BF‹úŠH•°‡BCCiwÊ)´ËÛ©® š5kY¯ž_‘öþˆ;C#‰rÃŽÝñFà”ÌClz÷9æ,û¿ïaÏž}¶ {¶Y4î¸Â¨[Ëéñ=ï¬Û‡Ñ§„pý[_p`ØÂ~ZÌêô®Ü~VC\†Qjùî&ç2ñ’÷¹åîÁô]ØŸKF]Ê%çõ¦i­ÂS‡Kg'^Uÿï Ë›ë”øc䮇‚Aì ›¸yTwj´ý7·<ÿ2SÖî$s\SÂCCq‚á¬AhÍPß9d°~öLÖEŽaåË7rj8ÀIL}íy6¶Å#ów0bJv'fyLlݹ§oàÜÑ­†7- GtœÎ‚=;vËôÖ˜1ÏÌ`hÃB¿[ó«¦\Ï ¹÷YÆ>ßáåÛ.¢Ë«¹å[x<î˜Ã˜Fñm{í"[Õ‘2ÈIÈØršP™¢¯+ëðU£f,]ϽgNíÀÄ3Çòú+¹þ鮘Y^ÌÌ4²,£H›³ðPܼJä,`Wè8þu6p×pÓ…Ó‘_Žý ŠòZ`•òyfffpàש³k+ÇÄs8•ÔäßÉ6M²¼ÎȺd›&Þ^­IýîK¾¹óNzÝà77ÿæÇy0ëͯؒü¿ýö‡,è“eæ}¥Ö_ ©töâPRÒæÒŠ¡c‡Nù?Úý#–@ÿ¶°zí[¬?Ô›Ó#Kz‡ÝóÆráC錚ñ0·ŸÚ”º¬ç†¾ã9ì—„É‹;¹×Và#é9ªµ®}›5ûúÓhñZ2{ÜK¿. ÃFù®Xß÷'_¹ŽË–2ÿÑ«yqÖ©Üûöl.kÜ·çÒâUVV:Ÿì j—¥‹sÛú쟑“î8wfO³â¶íñàë¥?qþ<&Ÿ×Á·ÍòGî›ù‚››lð¯Ad÷Kéq‹–­"ös/}îK}§Qjù¹eºˆlÕKoéÇÅWËijÆóÂ⌜ÜÖvÒìÅ«`wYòšÞ¼k-U^\ιQ qódá¤MÞ'¿¸få”W Öå>v8lwJ€/ÚMÈ´èØ‘Ÿ&NâìI“8÷®;Ù]Ã08oöljYðåÔ©´{öi¿K¶™¡˜6‹ßuù?vÔlBdž0oÍV\Ww"¶Ètë£?“B#d·‹DDD¤¢˜²TZö!w„LqI™€…@<ɼzé(„ôæŒ>ˆ Çóç&>^ðk<}¹ïªö„.bŽeÀÌ›˜rå¤þ{4gµ"mÏ!¢;w ¾+¿A—3Þ¹hòŽaûçŸñmdgb<;øhö¼°· S'$n@ êµlˆ5ÿ?,ýæ×9ŠמÖQö“1-J]$1w„Œuð/¼Ydzó“1Fl "CxvßYdegÒºn8¦7›ös.Ô»—5 ×1j%÷]œ³óÄ¡à›R^í²$"U!@ŠoÏ#3 ª¸øæñöcQ§Mãùëå²Ù·qöæ\6z}b‰°“²íG6d `òøÄ4®É_ŸÎeɆ8N¯ñ ËfßÇêl‹î…ëïß;ŸrŽ…wáÒAu¸è±‡ø9ü4^ì]ÇGµJ-?;ù?¼ò‰IÛ.­hTÛËëWóó! Gú¦<ÁN¼ú'2 (0ƒ×Y‡öÝ¢9ºl9àäßaó¯ïX–­&·ô%·lòš–­v@ã>½Ù?ú>yêIº?ü0}ΊÃaúé§||ãM¸F_J‹ÓN-Xy;üFìyM{Ë€šm}u'^è.®¼í·ŽìI³š‡ÙõË<=.bH3µê…áÝý1ïrm£Zqr¯8¶ÚE"""RQ ¬p¨×¦nݺAl»Wҥ堳9é½ÏXüìRR3ÝÔiš@»7òü×2 ©p5<‡'–9yâž'™sÓî÷6 uÏs¸uf;4 0eÉÈý?·×ÌCòg/2e^»Ó"iÞsO,¿…óZ…äõ:Æ ½ÿûà&ž¹bÏEwæ²çæqGWû‹úvË Ü³–;BfOTœ Cz™ö‘íµk]‹øøÃĤì¡Q“’RöÒbß.ŽFEþ\á4jÆÁ³Y¸þ$†lä­‡'±2Ë¢O#d4eIDªJIã»'’Ø=±Èñ›6±}ûZ¶Œ§c‡ÇöæÎ(zÞºˆ5}1û¥Å¬|r ¯g!‘ĵìÎÙ#ÁC§Ýû,n½“FœÎ} ÚÒô¿¸âçGØìƒŒ#<¨E‡‹‡³h.gŒ¢G¤#çû·òIgÛ²gxö¡=ñBht§L|….iŒ+ÈïÏ¥Å+Óë)öxîb¾FÎ3eÉ4e©ÐHÃáðm‰åwN]'ÜDâkwpùØ^š6ŒVžM,¸cKÙY<5‚H.äÆA[×`Y$Þ<‘_{öàÓÿËŸ¿ï fÿAÚÌšA™gâõzý.Ùþ”¥¼Q@Å$d ŽªAü5¯³¼ÞãÜÿü‹Ü²äA2Âbhݦ ÃÚ_ˆa„Ðü‚ g 3'l¢íåsèÕ»!¶ÚE"""RQ\.·VÖq( IDAT Ó4‹m$´k×–éÓ§UhÇŽì'dÜ1ô»v:ý®-íDƒZÍsûkƒ¹½Ès.ú>µ]EÊnÎø·3>çGÅY÷.bFbÉ}eΨžÜ²à+n±wExL#wìt‰ç 0€£cÇòÓ«¯ÓüªÔkÖËå"ê”z˜5Üh°è×Ã4IÞL·¥o“0~|À21êÐÿ‰L½f“Okä†:ö&®ÛpÿÍàm§þ¶/UD¤\ŠC%Iùã¶oßÁççÝ%ïÑ AbcbŽ­"F(q'áþ“ÇPâŠ] NeÒëk˜äì¦+rÔ-w|"´h[ S³Ë4¾þuZ‘â]ˇÍ.æ±÷..òº²°¯‚Ùe© ;¿Kÿ9ÆF1?.''}cä¬!ã÷\HÂDV¬«ËÔ[gqyïɬшÎg\Ï’o'38Æ~§ øâ`i÷£ÃáK 5iÔ €Ø FÒ÷‚‘ËuælïnGí3_cû¯%<éŠeÔ²Œ*PxmGLcþˆ¢÷€»ñpžX3œ'üŽÙm‰ˆˆHÅ(u ™ž=éÙ£h¯duä×wÌkÜb™V‰‹$víÚµ`‚«fMêÆ·f÷ÃÏ“}zoÜ£øs«Ef–IÚlþZn2ò›µ4»ürzß}w©ïíjØŸ{–oáÿƒw\Tý5BFDª‚Ý5;RRþà˯¾`ÄççýÿλKèÛ§±±Ç˜˜9AŠW5²ráù{LL¯‡Ó‰é7ê(rÌVœu7åºo3¸.ï [1éÇŒ‚É(¢þQ:y{= µ&½`2'‘¯böÇW1»ôwÈ΢¾íÚ¶cƬ‡1M{AÓápо]û m«²ÚE"""R<¿„̱/ÄûOWìâuÀáp’•™…Q´·iÐÀ 8°àÁÛn#ù‹/øá8úÞ:¼¯ý…Ó‚Úuê0¾woz~ñuºt©°ú¦„ŒˆT»q(..– G\PäxqÇ$°@ñêÔÓÆ0ë×p¹ÜžÖãÉXvunSxÍÒïÇN:ÑÉoG¯ê¨²ÚE"""R<äïúp¼ã‚kËTà‡Óp`8ì¿GÓÓN¥éi++¬NÁðTÃE¤z;QâÐ?M x5rÔ$FŽšTÌ«Ž‹â~¬¬v‘ˆˆˆÏö¶×Çwóq|úÛ¸ Ó*}Nþ?™FȈHU8âÐ?MuWÅΔ¥ãAeµ‹DDD¤x'TB¦²˜¦…oãŠêùyjÛk© ŠC•¯ºÇ«Šâ5-Ý"""Ráò¦,úÇʃiš˜Võþb¡]–D¤²)U¾ã!^U”Ü8¨OÅÓ4óvû|Û^»\dfenDTu}ª½ÔÔTÌÜ/Õ´«)K"RÙ‡*ßñ¯*Š×D÷cRSS ×g%"",@Óæ-øyãOtïÑ“ú ¢ƒîå0M¯ÇS!,,;;ßëŠezM¼…¶ô,ÍÑ£GÙ’”Ä¡#&O/Z‹Û嬠ÚU,%dD¤²kÊåõz‹lÇ\²=ÙXV%O÷´|1±,Ž—xUQ¼&lIJ*ÓýXÑ÷ išx¼׿²L OmºÜ{©}Çê½ã”ˆˆHUpDG7„ŽØ¸aGÂ4KÿF^Ò6˜eáv»J?É&—Ë]n=}.·+Ȳ ÚuìÈÚä_hÜ<ˆððr©Ge2M“mÉ{«º"r‚)KßÈšòžXâp:pVÀô‹òŒO¹NNgY’)Õ?^U”Ü8Ø>ˆû±<îC§ÓQ.Ó~ÜîÇ\†Óå ¢.¾{©Atô1¿¯ˆˆÈ‰&/ÝÐ× –cêÞÃÌ&²fõ›OòçAbêEVu5Dä¤8Tùªs¼ª(¹qP÷£ˆˆˆT´òš"yú÷jÁKïÏY}»Ò¨a½{ZMÓ$ÛS¶aÍ™YÙ”et¼ÇëÅ[œ¤ô£™|ýýF®9¯k™ê$""Õ‹ÝxUX¶Çk{S0ÊÛ±°Èʲ7GqPDDD*“2 k«.=£5+¿û…eûá-Ôhu:„¸í 1 ±7ÄÝítà¶YfÍ¢ÓÍ, \Nƒ«‡v¥sË[刈HõVZ¼òWÃíÂå(û´»ñ¬8à 4¤ìM—Ó‰Û8Ù¤8("""•ÍX°`uRãØª®‡ˆˆˆˆˆˆˆÈ !ù)¾2½ûžZÕu9!$¿õ–/!ówê_U]‘†¶U©dJȈˆˆˆˆˆˆˆT2%dDDDDDDDD*™2""""""""•L ‘J¦„ŒˆˆˆˆˆˆˆH%SBFDDDDDDD¤’)!#"""""""RÉ”©dJȈˆˆˆˆˆˆˆT2%dDDDDDDDD*™2""""""""èãUQà˜2""""""""høˆ‘E޹ª """"""""'Œ#G9¦2""""""""åÌš’¦,‰ˆˆˆˆˆˆˆTÿiJš²$"""""""R ü§)iÊ’ˆˆˆˆˆˆˆH)iš’¦,‰ˆˆˆˆˆˆˆT’¦)iÊ’ˆˆˆˆˆˆˆH)iš’¦,‰ˆˆˆˆˆˆˆ”#;ӔЛ²d,X°À8 åÖVDDDDDDDä8›h9rä°­Ç«>üHS–DDDDDDDDÊÊÎ4%MYùpo¨ŒˆˆˆˆˆˆˆˆTŽÿ`m)Ýât?IEND®B`‚mathgl-2.1.3.1/lang/numpy.i0000664000175000017500000015553212142400461015166 0ustar balakinbalakin/* -*- C -*- (not really, but good for syntax highlighting) */ #ifdef SWIGPYTHON %{ #ifndef SWIG_FILE_WITH_INIT # define NO_IMPORT_ARRAY #endif #include "stdio.h" #include %} /**********************************************************************/ %fragment("NumPy_Backward_Compatibility", "header") { /* Support older NumPy data type names */ %#if NDARRAY_VERSION < 0x01000000 %#define NPY_BOOL PyArray_BOOL %#define NPY_BYTE PyArray_BYTE %#define NPY_UBYTE PyArray_UBYTE %#define NPY_SHORT PyArray_SHORT %#define NPY_USHORT PyArray_USHORT %#define NPY_INT PyArray_INT %#define NPY_UINT PyArray_UINT %#define NPY_LONG PyArray_LONG %#define NPY_ULONG PyArray_ULONG %#define NPY_LONGLONG PyArray_LONGLONG %#define NPY_ULONGLONG PyArray_ULONGLONG %#define NPY_FLOAT PyArray_FLOAT %#define NPY_DOUBLE PyArray_DOUBLE %#define NPY_LONGDOUBLE PyArray_LONGDOUBLE %#define NPY_CFLOAT PyArray_CFLOAT %#define NPY_CDOUBLE PyArray_CDOUBLE %#define NPY_CLONGDOUBLE PyArray_CLONGDOUBLE %#define NPY_OBJECT PyArray_OBJECT %#define NPY_STRING PyArray_STRING %#define NPY_UNICODE PyArray_UNICODE %#define NPY_VOID PyArray_VOID %#define NPY_NTYPES PyArray_NTYPES %#define NPY_NOTYPE PyArray_NOTYPE %#define NPY_CHAR PyArray_CHAR %#define NPY_USERDEF PyArray_USERDEF %#define npy_intp intp %#define NPY_MAX_BYTE MAX_BYTE %#define NPY_MIN_BYTE MIN_BYTE %#define NPY_MAX_UBYTE MAX_UBYTE %#define NPY_MAX_SHORT MAX_SHORT %#define NPY_MIN_SHORT MIN_SHORT %#define NPY_MAX_USHORT MAX_USHORT %#define NPY_MAX_INT MAX_INT %#define NPY_MIN_INT MIN_INT %#define NPY_MAX_UINT MAX_UINT %#define NPY_MAX_LONG MAX_LONG %#define NPY_MIN_LONG MIN_LONG %#define NPY_MAX_ULONG MAX_ULONG %#define NPY_MAX_LONGLONG MAX_LONGLONG %#define NPY_MIN_LONGLONG MIN_LONGLONG %#define NPY_MAX_ULONGLONG MAX_ULONGLONG %#define NPY_MAX_INTP MAX_INTP %#define NPY_MIN_INTP MIN_INTP %#define NPY_FARRAY FARRAY %#define NPY_F_CONTIGUOUS F_CONTIGUOUS %#endif } /**********************************************************************/ /* The following code originally appeared in * enthought/kiva/agg/src/numeric.i written by Eric Jones. It was * translated from C++ to C by John Hunter. Bill Spotz has modified * it to fix some minor bugs, upgrade from Numeric to numpy (all * versions), add some comments and functionality, and convert from * direct code insertion to SWIG fragments. */ %fragment("NumPy_Macros", "header") { /* Macros to extract array attributes. */ %#define is_array(a) ((a) && PyArray_Check((PyArrayObject *)a)) %#define array_type(a) (int)(PyArray_TYPE(a)) %#define array_numdims(a) (((PyArrayObject *)a)->nd) %#define array_dimensions(a) (((PyArrayObject *)a)->dimensions) %#define array_size(a,i) (((PyArrayObject *)a)->dimensions[i]) %#define array_data(a) (((PyArrayObject *)a)->data) %#define array_is_contiguous(a) (PyArray_ISCONTIGUOUS(a)) %#define array_is_native(a) (PyArray_ISNOTSWAPPED(a)) %#define array_is_fortran(a) (PyArray_ISFORTRAN(a)) } /**********************************************************************/ %fragment("NumPy_Utilities", "header") { /* Given a PyObject, return a string describing its type. */ char* pytype_string(PyObject* py_obj) { if (py_obj == NULL ) return "C NULL value"; if (py_obj == Py_None ) return "Python None" ; if (PyCallable_Check(py_obj)) return "callable" ; if (PyString_Check( py_obj)) return "string" ; if (PyInt_Check( py_obj)) return "int" ; if (PyFloat_Check( py_obj)) return "float" ; if (PyDict_Check( py_obj)) return "dict" ; if (PyList_Check( py_obj)) return "list" ; if (PyTuple_Check( py_obj)) return "tuple" ; if (PyFile_Check( py_obj)) return "file" ; if (PyModule_Check( py_obj)) return "module" ; if (PyInstance_Check(py_obj)) return "instance" ; return "unknow type"; } /* Given a NumPy typecode, return a string describing the type. */ char* typecode_string(int typecode) { static char* type_names[25] = {"bool", "byte", "unsigned byte", "short", "unsigned short", "int", "unsigned int", "long", "unsigned long", "long long", "unsigned long long", "float", "double", "long double", "complex float", "complex double", "complex long double", "object", "string", "unicode", "void", "ntypes", "notype", "char", "unknown"}; return typecode < 24 ? type_names[typecode] : type_names[24]; } /* Make sure input has correct numpy type. Allow character and byte * to match. Also allow int and long to match. This is deprecated. * You should use PyArray_EquivTypenums() instead. */ int type_match(int actual_type, int desired_type) { return PyArray_EquivTypenums(actual_type, desired_type); } } /**********************************************************************/ %fragment("NumPy_Object_to_Array", "header", fragment="NumPy_Backward_Compatibility", fragment="NumPy_Macros", fragment="NumPy_Utilities") { /* Given a PyObject pointer, cast it to a PyArrayObject pointer if * legal. If not, set the python error string appropriately and * return NULL. */ PyArrayObject* obj_to_array_no_conversion(PyObject* input, int typecode) { PyArrayObject* ary = NULL; if (is_array(input) && (typecode == NPY_NOTYPE || PyArray_EquivTypenums(array_type(input), typecode))) { ary = (PyArrayObject*) input; } else if is_array(input) { char* desired_type = typecode_string(typecode); char* actual_type = typecode_string(array_type(input)); PyErr_Format(PyExc_TypeError, "Array of type '%s' required. Array of type '%s' given", desired_type, actual_type); ary = NULL; } else { char * desired_type = typecode_string(typecode); char * actual_type = pytype_string(input); PyErr_Format(PyExc_TypeError, "Array of type '%s' required. A '%s' was given", desired_type, actual_type); ary = NULL; } return ary; } /* Convert the given PyObject to a NumPy array with the given * typecode. On success, return a valid PyArrayObject* with the * correct type. On failure, the python error string will be set and * the routine returns NULL. */ PyArrayObject* obj_to_array_allow_conversion(PyObject* input, int typecode, int* is_new_object) { PyArrayObject* ary = NULL; PyObject* py_obj; if (is_array(input) && (typecode == NPY_NOTYPE || PyArray_EquivTypenums(array_type(input),typecode))) { ary = (PyArrayObject*) input; *is_new_object = 0; } else { py_obj = PyArray_FROMANY(input, typecode, 0, 0, NPY_DEFAULT); /* If NULL, PyArray_FromObject will have set python error value.*/ ary = (PyArrayObject*) py_obj; *is_new_object = 1; } return ary; } /* Given a PyArrayObject, check to see if it is contiguous. If so, * return the input pointer and flag it as not a new object. If it is * not contiguous, create a new PyArrayObject using the original data, * flag it as a new object and return the pointer. */ PyArrayObject* make_contiguous(PyArrayObject* ary, int* is_new_object, int min_dims, int max_dims) { PyArrayObject* result; if (array_is_contiguous(ary)) { result = ary; *is_new_object = 0; } else { result = (PyArrayObject*) PyArray_ContiguousFromObject((PyObject*)ary, array_type(ary), min_dims, max_dims); *is_new_object = 1; } return result; } /* Given a PyArrayObject, check to see if it is Fortran-contiguous. * If so, return the input pointer, but do not flag it as not a new * object. If it is not Fortran-contiguous, create a new * PyArrayObject using the original data, flag it as a new object * and return the pointer. */ PyArrayObject* make_fortran(PyArrayObject* ary, int* is_new_object, int min_dims, int max_dims) { PyArrayObject* result; if (array_is_fortran(ary)) { result = ary; *is_new_object = 0; } else { Py_INCREF(ary->descr); result = (PyArrayObject*) PyArray_FromArray(ary, ary->descr, NPY_FORTRAN); *is_new_object = 1; } return result; } /* Convert a given PyObject to a contiguous PyArrayObject of the * specified type. If the input object is not a contiguous * PyArrayObject, a new one will be created and the new object flag * will be set. */ PyArrayObject* obj_to_array_contiguous_allow_conversion(PyObject* input, int typecode, int* is_new_object) { int is_new1 = 0; int is_new2 = 0; PyArrayObject* ary2; PyArrayObject* ary1 = obj_to_array_allow_conversion(input, typecode, &is_new1); if (ary1) { ary2 = make_contiguous(ary1, &is_new2, 0, 0); if ( is_new1 && is_new2) { Py_DECREF(ary1); } ary1 = ary2; } *is_new_object = is_new1 || is_new2; return ary1; } /* Convert a given PyObject to a Fortran-ordered PyArrayObject of the * specified type. If the input object is not a Fortran-ordered * PyArrayObject, a new one will be created and the new object flag * will be set. */ PyArrayObject* obj_to_array_fortran_allow_conversion(PyObject* input, int typecode, int* is_new_object) { int is_new1 = 0; int is_new2 = 0; PyArrayObject* ary2; PyArrayObject* ary1 = obj_to_array_allow_conversion(input, typecode, &is_new1); if (ary1) { ary2 = make_fortran(ary1, &is_new2, 0, 0); if (is_new1 && is_new2) { Py_DECREF(ary1); } ary1 = ary2; } *is_new_object = is_new1 || is_new2; return ary1; } } /* end fragment */ /**********************************************************************/ %fragment("NumPy_Array_Requirements", "header", fragment="NumPy_Backward_Compatibility", fragment="NumPy_Macros") { /* Test whether a python object is contiguous. If array is * contiguous, return 1. Otherwise, set the python error string and * return 0. */ int require_contiguous(PyArrayObject* ary) { int contiguous = 1; if (!array_is_contiguous(ary)) { PyErr_SetString(PyExc_TypeError, "Array must be contiguous. A non-contiguous array was given"); contiguous = 0; } return contiguous; } /* Require that a numpy array is not byte-swapped. If the array is * not byte-swapped, return 1. Otherwise, set the python error string * and return 0. */ int require_native(PyArrayObject* ary) { int native = 1; if (!array_is_native(ary)) { PyErr_SetString(PyExc_TypeError, "Array must have native byteorder. " "A byte-swapped array was given"); native = 0; } return native; } /* Require the given PyArrayObject to have a specified number of * dimensions. If the array has the specified number of dimensions, * return 1. Otherwise, set the python error string and return 0. */ int require_dimensions(PyArrayObject* ary, int exact_dimensions) { int success = 1; if (array_numdims(ary) != exact_dimensions) { PyErr_Format(PyExc_TypeError, "Array must have %d dimensions. Given array has %d dimensions", exact_dimensions, array_numdims(ary)); success = 0; } return success; } /* Require the given PyArrayObject to have one of a list of specified * number of dimensions. If the array has one of the specified number * of dimensions, return 1. Otherwise, set the python error string * and return 0. */ int require_dimensions_n(PyArrayObject* ary, int* exact_dimensions, int n) { int success = 0; int i; char dims_str[255] = ""; char s[255]; for (i = 0; i < n && !success; i++) { if (array_numdims(ary) == exact_dimensions[i]) { success = 1; } } if (!success) { for (i = 0; i < n-1; i++) { sprintf(s, "%d, ", exact_dimensions[i]); strcat(dims_str,s); } sprintf(s, " or %d", exact_dimensions[n-1]); strcat(dims_str,s); PyErr_Format(PyExc_TypeError, "Array must have %s dimensions. Given array has %d dimensions", dims_str, array_numdims(ary)); } return success; } /* Require the given PyArrayObject to have a specified shape. If the * array has the specified shape, return 1. Otherwise, set the python * error string and return 0. */ int require_size(PyArrayObject* ary, npy_intp* size, int n) { int i; int success = 1; int len; char desired_dims[255] = "["; char s[255]; char actual_dims[255] = "["; for(i=0; i < n;i++) { if (size[i] != -1 && size[i] != array_size(ary,i)) { success = 0; } } if (!success) { for (i = 0; i < n; i++) { if (size[i] == -1) { sprintf(s, "*,"); } else { sprintf(s, "%ld,", (long int)size[i]); } strcat(desired_dims,s); } len = strlen(desired_dims); desired_dims[len-1] = ']'; for (i = 0; i < n; i++) { sprintf(s, "%ld,", (long int)array_size(ary,i)); strcat(actual_dims,s); } len = strlen(actual_dims); actual_dims[len-1] = ']'; PyErr_Format(PyExc_TypeError, "Array must have shape of %s. Given array has shape of %s", desired_dims, actual_dims); } return success; } /* Require the given PyArrayObject to to be FORTRAN ordered. If the * the PyArrayObject is already FORTRAN ordered, do nothing. Else, * set the FORTRAN ordering flag and recompute the strides. */ int require_fortran(PyArrayObject* ary) { int success = 1; int nd = array_numdims(ary); int i; if (array_is_fortran(ary)) return success; /* Set the FORTRAN ordered flag */ ary->flags = NPY_FARRAY; /* Recompute the strides */ ary->strides[0] = ary->strides[nd-1]; for (i=1; i < nd; ++i) ary->strides[i] = ary->strides[i-1] * array_size(ary,i-1); return success; } } /* Combine all NumPy fragments into one for convenience */ %fragment("NumPy_Fragments", "header", fragment="NumPy_Backward_Compatibility", fragment="NumPy_Macros", fragment="NumPy_Utilities", fragment="NumPy_Object_to_Array", fragment="NumPy_Array_Requirements") { } /* End John Hunter translation (with modifications by Bill Spotz) */ /* %numpy_typemaps() macro * * This macro defines a family of 41 typemaps that allow C arguments * of the form * * (DATA_TYPE IN_ARRAY1[ANY]) * (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) * (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) * * (DATA_TYPE IN_ARRAY2[ANY][ANY]) * (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) * (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) * * (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) * (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) * (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) * * (DATA_TYPE INPLACE_ARRAY1[ANY]) * (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) * (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) * * (DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) * (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) * (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) * * (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) * (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3) * (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) * (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3) * * (DATA_TYPE ARGOUT_ARRAY1[ANY]) * (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) * (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) * * (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) * * (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) * * (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1) * (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1) * * (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2) * (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2) * * (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) * (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) * (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3) * * where "DATA_TYPE" is any type supported by the NumPy module, and * "DIM_TYPE" is any int-like type suitable for specifying dimensions. * The difference between "ARRAY" typemaps and "FARRAY" typemaps is * that the "FARRAY" typemaps expect FORTRAN ordering of * multidimensional arrays. In python, the dimensions will not need * to be specified (except for the "DATA_TYPE* ARGOUT_ARRAY1" * typemaps). The IN_ARRAYs can be a numpy array or any sequence that * can be converted to a numpy array of the specified type. The * INPLACE_ARRAYs must be numpy arrays of the appropriate type. The * ARGOUT_ARRAYs will be returned as new numpy arrays of the * appropriate type. * * These typemaps can be applied to existing functions using the * %apply directive. For example: * * %apply (double* IN_ARRAY1, int DIM1) {(double* series, int length)}; * double prod(double* series, int length); * * %apply (int DIM1, int DIM2, double* INPLACE_ARRAY2) * {(int rows, int cols, double* matrix )}; * void floor(int rows, int cols, double* matrix, double f); * * %apply (double IN_ARRAY3[ANY][ANY][ANY]) * {(double tensor[2][2][2] )}; * %apply (double ARGOUT_ARRAY3[ANY][ANY][ANY]) * {(double low[2][2][2] )}; * %apply (double ARGOUT_ARRAY3[ANY][ANY][ANY]) * {(double upp[2][2][2] )}; * void luSplit(double tensor[2][2][2], * double low[2][2][2], * double upp[2][2][2] ); * * or directly with * * double prod(double* IN_ARRAY1, int DIM1); * * void floor(int DIM1, int DIM2, double* INPLACE_ARRAY2, double f); * * void luSplit(double IN_ARRAY3[ANY][ANY][ANY], * double ARGOUT_ARRAY3[ANY][ANY][ANY], * double ARGOUT_ARRAY3[ANY][ANY][ANY]); */ %define %numpy_typemaps(DATA_TYPE, DATA_TYPECODE, DIM_TYPE) /************************/ /* Input Array Typemaps */ /************************/ /* Typemap suite for (DATA_TYPE IN_ARRAY1[ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE IN_ARRAY1[ANY]) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE IN_ARRAY1[ANY]) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[1] = { $1_dim0 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 1) || !require_size(array, size, 1)) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(freearg) (DATA_TYPE IN_ARRAY1[ANY]) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[1] = { -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 1) || !require_size(array, size, 1)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); } %typemap(freearg) (DATA_TYPE* IN_ARRAY1, DIM_TYPE DIM1) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[1] = {-1}; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 1) || !require_size(array, size, 1)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DATA_TYPE* IN_ARRAY1) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE IN_ARRAY2[ANY][ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE IN_ARRAY2[ANY][ANY]) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE IN_ARRAY2[ANY][ANY]) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { $1_dim0, $1_dim1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2)) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(freearg) (DATA_TYPE IN_ARRAY2[ANY][ANY]) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); } %typemap(freearg) (DATA_TYPE* IN_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_ARRAY2) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { -1, -1 }; array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); } %typemap(freearg) (DATA_TYPE* IN_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[2] = { -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 2) || !require_size(array, size, 2) || !require_fortran(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* IN_FARRAY2) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3)) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(freearg) (DATA_TYPE IN_ARRAY3[ANY][ANY][ANY]) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, * DIM_TYPE DIM3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { -1, -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); $4 = (DIM_TYPE) array_size(array,2); } %typemap(freearg) (DATA_TYPE* IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, * DATA_TYPE* IN_ARRAY3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { -1, -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DIM_TYPE) array_size(array,2); $4 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_ARRAY3) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, * DIM_TYPE DIM3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { -1, -1, -1 }; array = obj_to_array_fortran_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3) | !require_fortran(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); $4 = (DIM_TYPE) array_size(array,2); } %typemap(freearg) (DATA_TYPE* IN_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, * DATA_TYPE* IN_FARRAY3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) { $1 = is_array($input) || PySequence_Check($input); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) (PyArrayObject* array=NULL, int is_new_object=0) { npy_intp size[3] = { -1, -1, -1 }; array = obj_to_array_contiguous_allow_conversion($input, DATA_TYPECODE, &is_new_object); if (!array || !require_dimensions(array, 3) || !require_size(array, size, 3) || !require_fortran(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DIM_TYPE) array_size(array,2); $4 = (DATA_TYPE*) array_data(array); } %typemap(freearg) (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* IN_FARRAY3) { if (is_new_object$argnum && array$argnum) { Py_DECREF(array$argnum); } } /***************************/ /* In-Place Array Typemaps */ /***************************/ /* Typemap suite for (DATA_TYPE INPLACE_ARRAY1[ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE INPLACE_ARRAY1[ANY]) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE INPLACE_ARRAY1[ANY]) (PyArrayObject* array=NULL) { npy_intp size[1] = { $1_dim0 }; array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,1) || !require_size(array, size, 1) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = ($1_ltype) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_ARRAY1, DIM_TYPE DIM1) (PyArrayObject* array=NULL, int i=1) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,1) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = 1; for (i=0; i < array_numdims(array); ++i) $2 *= array_size(array,i); } /* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DATA_TYPE* INPLACE_ARRAY1) (PyArrayObject* array=NULL, int i=0) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,1) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = 1; for (i=0; i < array_numdims(array); ++i) $1 *= array_size(array,i); $2 = (DATA_TYPE*) array_data(array); } /* Typemap suite for (DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE INPLACE_ARRAY2[ANY][ANY]) (PyArrayObject* array=NULL) { npy_intp size[2] = { $1_dim0, $1_dim1 }; array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_size(array, size, 2) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = ($1_ltype) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_ARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_ARRAY2) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DATA_TYPE*) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_FARRAY2, DIM_TYPE DIM1, DIM_TYPE DIM2) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_contiguous(array) || !require_native(array) || !require_fortran(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DATA_TYPE* INPLACE_FARRAY2) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,2) || !require_contiguous(array) || !require_native(array) || !require_fortran(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DATA_TYPE*) array_data(array); } /* Typemap suite for (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE INPLACE_ARRAY3[ANY][ANY][ANY]) (PyArrayObject* array=NULL) { npy_intp size[3] = { $1_dim0, $1_dim1, $1_dim2 }; array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_size(array, size, 3) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = ($1_ltype) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, * DIM_TYPE DIM3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); $4 = (DIM_TYPE) array_size(array,2); } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, * DATA_TYPE* INPLACE_ARRAY3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_ARRAY3) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_contiguous(array) || !require_native(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DIM_TYPE) array_size(array,2); $4 = (DATA_TYPE*) array_data(array); } /* Typemap suite for (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, * DIM_TYPE DIM3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DATA_TYPE* INPLACE_FARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_contiguous(array) || !require_native(array) || !require_fortran(array)) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); $2 = (DIM_TYPE) array_size(array,0); $3 = (DIM_TYPE) array_size(array,1); $4 = (DIM_TYPE) array_size(array,2); } /* Typemap suite for (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, * DATA_TYPE* INPLACE_FARRAY3) */ %typecheck(SWIG_TYPECHECK_DOUBLE_ARRAY, fragment="NumPy_Macros") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3) { $1 = is_array($input) && PyArray_EquivTypenums(array_type($input), DATA_TYPECODE); } %typemap(in, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3, DATA_TYPE* INPLACE_FARRAY3) (PyArrayObject* array=NULL) { array = obj_to_array_no_conversion($input, DATA_TYPECODE); if (!array || !require_dimensions(array,3) || !require_contiguous(array) || !require_native(array) || !require_fortran(array)) SWIG_fail; $1 = (DIM_TYPE) array_size(array,0); $2 = (DIM_TYPE) array_size(array,1); $3 = (DIM_TYPE) array_size(array,2); $4 = (DATA_TYPE*) array_data(array); } /*************************/ /* Argout Array Typemaps */ /*************************/ /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY1[ANY]) */ %typemap(in,numinputs=0, fragment="NumPy_Backward_Compatibility,NumPy_Macros") (DATA_TYPE ARGOUT_ARRAY1[ANY]) (PyObject * array = NULL) { npy_intp dims[1] = { $1_dim0 }; array = PyArray_SimpleNew(1, dims, DATA_TYPECODE); if (!array) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(argout) (DATA_TYPE ARGOUT_ARRAY1[ANY]) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /* Typemap suite for (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) */ %typemap(in,numinputs=1, fragment="NumPy_Fragments") (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) (PyObject * array = NULL) { npy_intp dims[1]; if (!PyInt_Check($input)) { char* typestring = pytype_string($input); PyErr_Format(PyExc_TypeError, "Int dimension expected. '%s' given.", typestring); SWIG_fail; } $2 = (DIM_TYPE) PyInt_AsLong($input); dims[0] = (npy_intp) $2; array = PyArray_SimpleNew(1, dims, DATA_TYPECODE); if (!array) SWIG_fail; $1 = (DATA_TYPE*) array_data(array); } %typemap(argout) (DATA_TYPE* ARGOUT_ARRAY1, DIM_TYPE DIM1) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /* Typemap suite for (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) */ %typemap(in,numinputs=1, fragment="NumPy_Fragments") (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) (PyObject * array = NULL) { npy_intp dims[1]; if (!PyInt_Check($input)) { char* typestring = pytype_string($input); PyErr_Format(PyExc_TypeError, "Int dimension expected. '%s' given.", typestring); SWIG_fail; } $1 = (DIM_TYPE) PyInt_AsLong($input); dims[0] = (npy_intp) $1; array = PyArray_SimpleNew(1, dims, DATA_TYPECODE); if (!array) SWIG_fail; $2 = (DATA_TYPE*) array_data(array); } %typemap(argout) (DIM_TYPE DIM1, DATA_TYPE* ARGOUT_ARRAY1) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) */ %typemap(in,numinputs=0, fragment="NumPy_Backward_Compatibility,NumPy_Macros") (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) (PyObject * array = NULL) { npy_intp dims[2] = { $1_dim0, $1_dim1 }; array = PyArray_SimpleNew(2, dims, DATA_TYPECODE); if (!array) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(argout) (DATA_TYPE ARGOUT_ARRAY2[ANY][ANY]) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /* Typemap suite for (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) */ %typemap(in,numinputs=0, fragment="NumPy_Backward_Compatibility,NumPy_Macros") (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) (PyObject * array = NULL) { npy_intp dims[3] = { $1_dim0, $1_dim1, $1_dim2 }; array = PyArray_SimpleNew(3, dims, DATA_TYPECODE); if (!array) SWIG_fail; $1 = ($1_ltype) array_data(array); } %typemap(argout) (DATA_TYPE ARGOUT_ARRAY3[ANY][ANY][ANY]) { $result = SWIG_Python_AppendOutput($result,array$argnum); } /*****************************/ /* Argoutview Array Typemaps */ /*****************************/ /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1 ) (DATA_TYPE* data_temp , DIM_TYPE dim_temp) { $1 = &data_temp; $2 = &dim_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DATA_TYPE** ARGOUTVIEW_ARRAY1, DIM_TYPE* DIM1) { npy_intp dims[1] = { *$2 }; PyObject * array = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$1)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1 , DATA_TYPE** ARGOUTVIEW_ARRAY1) (DIM_TYPE dim_temp, DATA_TYPE* data_temp ) { $1 = &dim_temp; $2 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DIM_TYPE* DIM1, DATA_TYPE** ARGOUTVIEW_ARRAY1) { npy_intp dims[1] = { *$1 }; PyObject * array = PyArray_SimpleNewFromData(1, dims, DATA_TYPECODE, (void*)(*$2)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 ) (DATA_TYPE* data_temp , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp) { $1 = &data_temp; $2 = &dim1_temp; $3 = &dim2_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DATA_TYPE** ARGOUTVIEW_ARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) { npy_intp dims[2] = { *$2, *$3 }; PyObject * array = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEW_ARRAY2) (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp ) { $1 = &dim1_temp; $2 = &dim2_temp; $3 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_ARRAY2) { npy_intp dims[2] = { *$1, *$2 }; PyObject * array = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1 , DIM_TYPE* DIM2 ) (DATA_TYPE* data_temp , DIM_TYPE dim1_temp, DIM_TYPE dim2_temp) { $1 = &data_temp; $2 = &dim1_temp; $3 = &dim2_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") (DATA_TYPE** ARGOUTVIEW_FARRAY2, DIM_TYPE* DIM1, DIM_TYPE* DIM2) { npy_intp dims[2] = { *$2, *$3 }; PyObject * obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$1)); PyArrayObject * array = (PyArrayObject*) obj; if (!array || !require_fortran(array)) SWIG_fail; $result = SWIG_Python_AppendOutput($result,obj); } /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1 , DIM_TYPE* DIM2 , DATA_TYPE** ARGOUTVIEW_FARRAY2) (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DATA_TYPE* data_temp ) { $1 = &dim1_temp; $2 = &dim2_temp; $3 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DATA_TYPE** ARGOUTVIEW_FARRAY2) { npy_intp dims[2] = { *$1, *$2 }; PyObject * obj = PyArray_SimpleNewFromData(2, dims, DATA_TYPECODE, (void*)(*$3)); PyArrayObject * array = (PyArrayObject*) obj; if (!array || !require_fortran(array)) SWIG_fail; $result = SWIG_Python_AppendOutput($result,obj); } /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) (DATA_TYPE* data_temp, DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp) { $1 = &data_temp; $2 = &dim1_temp; $3 = &dim2_temp; $4 = &dim3_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DATA_TYPE** ARGOUTVIEW_ARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) { npy_intp dims[3] = { *$2, *$3, *$4 }; PyObject * array = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp) { $1 = &dim1_temp; $2 = &dim2_temp; $3 = &dim3_temp; $4 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility") (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_ARRAY3) { npy_intp dims[3] = { *$1, *$2, *$3 }; PyObject * array = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$3)); if (!array) SWIG_fail; $result = SWIG_Python_AppendOutput($result,array); } /* Typemap suite for (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) */ %typemap(in,numinputs=0) (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) (DATA_TYPE* data_temp, DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp) { $1 = &data_temp; $2 = &dim1_temp; $3 = &dim2_temp; $4 = &dim3_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") (DATA_TYPE** ARGOUTVIEW_FARRAY3, DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3) { npy_intp dims[3] = { *$2, *$3, *$4 }; PyObject * obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$1)); PyArrayObject * array = (PyArrayObject*) obj; if (!array || require_fortran(array)) SWIG_fail; $result = SWIG_Python_AppendOutput($result,obj); } /* Typemap suite for (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3) */ %typemap(in,numinputs=0) (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3) (DIM_TYPE dim1_temp, DIM_TYPE dim2_temp, DIM_TYPE dim3_temp, DATA_TYPE* data_temp) { $1 = &dim1_temp; $2 = &dim2_temp; $3 = &dim3_temp; $4 = &data_temp; } %typemap(argout, fragment="NumPy_Backward_Compatibility,NumPy_Array_Requirements") (DIM_TYPE* DIM1, DIM_TYPE* DIM2, DIM_TYPE* DIM3, DATA_TYPE** ARGOUTVIEW_FARRAY3) { npy_intp dims[3] = { *$1, *$2, *$3 }; PyObject * obj = PyArray_SimpleNewFromData(3, dims, DATA_TYPECODE, (void*)(*$3)); PyArrayObject * array = (PyArrayObject*) obj; if (!array || require_fortran(array)) SWIG_fail; $result = SWIG_Python_AppendOutput($result,obj); } %enddef /* %numpy_typemaps() macro */ /* *************************************************************** */ /* Concrete instances of the %numpy_typemaps() macro: Each invocation * below applies all of the typemaps above to the specified data type. */ %numpy_typemaps(signed char , NPY_BYTE , int) %numpy_typemaps(unsigned char , NPY_UBYTE , int) %numpy_typemaps(short , NPY_SHORT , int) %numpy_typemaps(unsigned short , NPY_USHORT , int) %numpy_typemaps(int , NPY_INT , int) %numpy_typemaps(unsigned int , NPY_UINT , int) %numpy_typemaps(long , NPY_LONG , int) %numpy_typemaps(unsigned long , NPY_ULONG , int) %numpy_typemaps(long long , NPY_LONGLONG , int) %numpy_typemaps(unsigned long long, NPY_ULONGLONG, int) %numpy_typemaps(float , NPY_FLOAT , int) %numpy_typemaps(double , NPY_DOUBLE , int) /* *************************************************************** * The follow macro expansion does not work, because C++ bool is 4 * bytes and NPY_BOOL is 1 byte * * %numpy_typemaps(bool, NPY_BOOL, int) */ /* *************************************************************** * On my Mac, I get the following warning for this macro expansion: * 'swig/python detected a memory leak of type 'long double *', no destructor found.' * * %numpy_typemaps(long double, NPY_LONGDOUBLE, int) */ /* *************************************************************** * Swig complains about a syntax error for the following macro * expansions: * * %numpy_typemaps(complex float, NPY_CFLOAT , int) * * %numpy_typemaps(complex double, NPY_CDOUBLE, int) * * %numpy_typemaps(complex long double, NPY_CLONGDOUBLE, int) */ #endif /* SWIGPYTHON */ mathgl-2.1.3.1/lang/DESCRIPTION0000664000175000017500000000043212142400461015336 0ustar balakinbalakinName: mathgl Version: 2.0 Date: 2011-08-23 Author: Alexey Balakin Maintainer: Dmitry Kulagin Title: MathGL Description: Data plotting library Depends: octave (>= 2.9.12) Autoload: yes SystemRequirements: ... License: GPL Keywords: ... Url: http://octave.sf.net http://mathgl.sf.net mathgl-2.1.3.1/lang/mathgl.i0000664000175000017500000000713012142400461015260 0ustar balakinbalakin/*************************************************************************** * mgl.i is part of Math Graphic Library * Copyright (C) 2007 Alexey Balakin , * Xavier Delacour , * Alexander Filov * * * * 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 2 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, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ %module mathgl #ifdef SWIGOCTAVE %feature("autodoc", 1); #endif // SWIGOCTAVE %ignore operator!; %ignore operator=; %ignore *::operator=; %ignore *::operator+=; %ignore *::operator-=; %ignore *::operator*=; %ignore *::operator/=; //%ignore mglDataA %{ #define SWIG_FILE_WITH_INIT //#include "mgl2/config.h" #include "mgl2/type.h" #include "mgl2/data.h" #include "mgl2/mgl.h" //#include "mgl2/window.h" %} #if MGL_USE_DOUBLE typedef double mreal; #else typedef float mreal; #endif #ifdef SWIGOCTAVE %rename(__add) operator+; %rename(__sub) operator-; %rename(__mul) operator*; %rename(__div) operator/; %rename(__eq) operator==; %rename(__ne) operator!=; %typemap(in,noblock=1) (double* d, int rows, int cols) (Matrix tmp) { if (!$input.is_matrix_type()) { error("A must be a matrix"); SWIG_fail; } tmp=$input.matrix_value(); $1=tmp.data(); $2=tmp.rows(); $3=tmp.columns(); } #endif #ifdef SWIGPYTHON %rename(__add__) *::operator+(const mglData&, const mglData&); %rename(__sub__) *::operator-(const mglData&, const mglData &); %rename(__mul__) *::operator*(const mglData &, float); %rename(__div__) *::operator/(const mglData &, float); // Get the NumPy typemaps %include "numpy.i" %init %{ import_array(); %} %apply (double* IN_ARRAY1, int DIM1) {(const double* d, int size)}; %apply (int DIM1, double* IN_ARRAY1) {(int size, const double* d)}; %apply (double* IN_ARRAY2, int DIM1, int DIM2) {(const double* d, int rows, int cols)}; %apply (int DIM1, int DIM2, double* IN_ARRAY2) {(int rows, int cols, const double* d)}; %apply (double* IN_ARRAY3, int DIM1, int DIM2, int DIM3) {(const double* d, int rows, int cols, int slc)}; %apply (int DIM1, int DIM2, int DIM3, double* IN_ARRAY3) {(int rows, int cols, int slc, const double* d)}; #endif //%include "mgl2/config.h" %include "mgl2/type.h" %include "mgl2/data.h" %include "mgl2/mgl.h" //%include "mgl2/window.h" %extend mglData { float __getitem__( int i) { return self->GetVal(i); }; float __paren( int i) { return self->GetVal(i); }; void __setitem__( int i, float y) { self->SetVal(y,i); }; void __paren_asgn( int i, float y) { self->SetVal(y,i); }; }; mathgl-2.1.3.1/lang/PKG_ADD_template0000664000175000017500000000001112142400461016530 0ustar balakinbalakinmathgl; mathgl-2.1.3.1/lang/INDEX0000664000175000017500000000000012142400461014411 0ustar balakinbalakinmathgl-2.1.3.1/lang/CMakeLists.txt0000664000175000017500000000647712142400461016407 0ustar balakinbalakinset(src_imp_dep ../include/mgl2/type.h ../include/mgl2/data.h ../include/mgl2/mgl.h ) set(mgl_clean_files "") SET_SOURCE_FILES_PROPERTIES(mathgl.i numpy.i PROPERTIES CPLUSPLUS ON) if(MGL_HAVE_PYTHON) include_directories(${PYTHON_INCLUDE_DIR}) execute_process( COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}')" OUTPUT_VARIABLE MGL_PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE) set(SWIG_MODULE_mathgl_EXTRA_DEPS numpy.i ${src_imp_dep}) SWIG_ADD_MODULE(mathgl python mathgl.i) SWIG_LINK_LIBRARIES(mathgl mgl ${PYTHON_LIBRARIES}) set_target_properties(_mathgl PROPERTIES BUILD_WITH_INSTALL_RPATH ON) add_custom_command(OUTPUT mathgl.pyc COMMAND ${PYTHON_EXECUTABLE} -c \"from py_compile import compile\; compile('mathgl.py')\" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/lang DEPENDS _mathgl ) add_custom_target(mgl_python_module ALL DEPENDS _mathgl mathgl.pyc) install(FILES ${MathGL_BINARY_DIR}/lang/mathgl.py ${MathGL_BINARY_DIR}/lang/mathgl.pyc DESTINATION ${MGL_PYTHON_SITE_PACKAGES}) install (TARGETS _mathgl LIBRARY DESTINATION ${MGL_PYTHON_SITE_PACKAGES}) set(mgl_clean_files ${mgl_clean_files} mathgl.py) endif(MGL_HAVE_PYTHON) if(MGL_HAVE_OCTAVE) execute_process(COMMAND ${oct_prog} -p CANONICAL_HOST_TYPE OUTPUT_VARIABLE oct_host OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND ${oct_prog} -p API_VERSION OUTPUT_VARIABLE oct_api OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND ${oct_prog} -p OCTINCLUDEDIR OUTPUT_VARIABLE oct_inc OUTPUT_STRIP_TRAILING_WHITESPACE) message(STATUS "${oct_prog} ${oct_host} ${oct_api}") set(oct_arch ${oct_host}-${oct_api}) set(pkg_name mathgl) set(mgl_pkg_dir ${MathGL_BINARY_DIR}/lang/${pkg_name}/inst/${oct_arch}) include_directories(${oct_inc} ${oct_inc}/..) SET(SWIG_MODULE_mgl-oct_EXTRA_DEPS numpy.i ${src_imp_dep}) SWIG_ADD_MODULE(mgl-oct octave mathgl.i) SWIG_LINK_LIBRARIES(mgl-oct mgl) set_target_properties(mgl-oct PROPERTIES OUTPUT_NAME mathgl PREFIX "" SUFFIX ".oct" BUILD_WITH_INSTALL_RPATH ON) get_target_property(mgl-oct_filename mgl-oct LOCATION) add_custom_command(OUTPUT mathgl.tar.gz COMMAND ${CMAKE_COMMAND} -E make_directory ${mgl_pkg_dir} COMMAND ${CMAKE_COMMAND} -E copy ${MathGL_SOURCE_DIR}/COPYING ${MathGL_BINARY_DIR}/lang/${pkg_name} COMMAND ${CMAKE_COMMAND} -E copy ${MathGL_SOURCE_DIR}/lang/DESCRIPTION ${MathGL_BINARY_DIR}/lang/${pkg_name} COMMAND ${CMAKE_COMMAND} -E copy ${MathGL_SOURCE_DIR}/lang/INDEX ${MathGL_BINARY_DIR}/lang/${pkg_name} COMMAND ${CMAKE_COMMAND} -E copy ${MathGL_SOURCE_DIR}/lang/PKG_ADD_template ${MathGL_BINARY_DIR}/lang/${pkg_name} COMMAND ${CMAKE_COMMAND} -E copy ${mgl-oct_filename} ${mgl_pkg_dir} COMMAND ${oct_tar} cpzf mathgl.tar.gz ${pkg_name} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/lang DEPENDS mgl-oct ) add_custom_target(mgl_octave_module ALL DEPENDS mathgl.tar.gz) install(FILES ${CMAKE_BINARY_DIR}/lang/mathgl.tar.gz DESTINATION ${MGL_DATA_PATH}) if(enable-octave-install) install(CODE "execute_process( COMMAND ${oct_exec} -q --eval \"pkg install mathgl.tar.gz\" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/lang )") endif(enable-octave-install) set(mgl_clean_files ${mgl_clean_files} mathgl) endif(MGL_HAVE_OCTAVE) set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${mgl_clean_files}") mathgl-2.1.3.1/include/config.h.in0000664000175000017500000000133412142400465016363 0ustar balakinbalakin#ifndef _MGL_CONFIG_H_ #define _MGL_CONFIG_H_ #define MGL_USE_DOUBLE ${MGL_USE_DOUBLE} #define MGL_NO_DATA_A ${MGL_NO_DATA_A} #define MGL_HAVE_GSL ${MGL_HAVE_GSL} #define MGL_HAVE_LTDL ${MGL_HAVE_LTDL} #if defined(_MSC_VER) || defined(__BORLANDC__) #define MGL_HAVE_PTHREAD 0 #else #define MGL_HAVE_PTHREAD ${MGL_HAVE_PTHREAD} #endif #define MGL_HAVE_HDF4 ${MGL_HAVE_HDF4} #define MGL_HAVE_HDF5 ${MGL_HAVE_HDF5} #define MGL_HAVE_JPEG ${MGL_HAVE_JPEG} #define MGL_HAVE_PNG ${MGL_HAVE_PNG} #define MGL_HAVE_ZLIB ${MGL_HAVE_ZLIB} #define MGL_HAVE_PDF ${MGL_HAVE_PDF} #define MGL_HAVE_GIF ${MGL_HAVE_GIF} #define MGL_HAVE_OPENGL ${MGL_HAVE_OPENGL} #define MGL_HAVE_MPI ${MGL_HAVE_MPI} #define MGL_FONT_PATH "${MGL_FONT_PATH}" #endif mathgl-2.1.3.1/include/CMakeLists.txt0000664000175000017500000000261712142400465017105 0ustar balakinbalakinconfigure_file(${MathGL_SOURCE_DIR}/include/config.h.in ${MathGL_BINARY_DIR}/include/mgl2/config.h) install(DIRECTORY mgl2/ DESTINATION ${MGL_INCLUDE_PATH} PATTERN ".svn" EXCLUDE PATTERN "fltk.h" EXCLUDE PATTERN "glut.h" EXCLUDE PATTERN "wx.h" EXCLUDE PATTERN "qt.h" EXCLUDE PATTERN "qmathgl.h" EXCLUDE PATTERN "window.h" EXCLUDE PATTERN "*~" EXCLUDE PATTERN "*.fs" PATTERN "*.pas" PATTERN "*.h") install(FILES ${MathGL_BINARY_DIR}/include/mgl2/config.h DESTINATION ${MGL_INCLUDE_PATH}) if(MGL_HAVE_FLTK) install(FILES mgl2/fltk.h DESTINATION ${MGL_INCLUDE_PATH}) endif(MGL_HAVE_FLTK) if(MGL_HAVE_GLUT) install(FILES mgl2/glut.h DESTINATION ${MGL_INCLUDE_PATH}) endif(MGL_HAVE_GLUT) if(MGL_HAVE_WX) install(FILES mgl2/wx.h DESTINATION ${MGL_INCLUDE_PATH}) endif(MGL_HAVE_WX) if(MGL_HAVE_QT) install(FILES mgl2/qt.h mgl2/qmathgl.h DESTINATION ${MGL_INCLUDE_PATH}) endif(MGL_HAVE_QT) #if(MGL_HAVE_FLTK AND MGL_HAVE_WX AND MGL_HAVE_QT) if(MGL_HAVE_FLTK AND MGL_HAVE_QT AND MGL_HAVE_WX) install(FILES mgl2/window.h DESTINATION ${MGL_INCLUDE_PATH}) #endif(MGL_HAVE_FLTK AND MGL_HAVE_WX AND MGL_HAVE_QT) endif(MGL_HAVE_FLTK AND MGL_HAVE_QT AND MGL_HAVE_WX) mathgl-2.1.3.1/src/complex_io.cpp0000664000175000017500000010163612142400470016350 0ustar balakinbalakin/*************************************************************************** * data_io.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #ifndef WIN32 #include #endif #include "mgl2/datac.h" #include "mgl2/evalc.h" #if MGL_HAVE_HDF5 #define H5_USE_16_API #include #endif #define isn(ch) ((ch)=='\n') MGL_NO_EXPORT char *mgl_read_gz(gzFile fp); //----------------------------------------------------------------------------- HADT MGL_EXPORT mgl_create_datac() { return new mglDataC; } HADT MGL_EXPORT mgl_create_datac_size(long nx, long ny, long nz){ return new mglDataC(nx,ny,nz); } HADT MGL_EXPORT mgl_create_datac_file(const char *fname) { return new mglDataC(fname); } void MGL_EXPORT mgl_delete_datac(HADT d) { if(d) delete d; } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_create_datac_() { return uintptr_t(new mglDataC()); } uintptr_t MGL_EXPORT mgl_create_datac_size_(int *nx, int *ny, int *nz) { return uintptr_t(new mglDataC(*nx,*ny,*nz)); } uintptr_t MGL_EXPORT mgl_create_datac_file_(const char *fname,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; uintptr_t r = uintptr_t(new mglDataC(s)); delete []s; return r; } void MGL_EXPORT mgl_delete_datac_(uintptr_t *d) { if(_DC_) delete _DC_; } //----------------------------------------------------------------------------- void mglFromStr(HADT d,char *buf,long NX,long NY,long NZ) // TODO: add multithreading read { if(NX<1 || NY <1 || NZ<1) return; mgl_datac_create(d, NX,NY,NZ); long nb = strlen(buf); register long i=0, j=0; while(j0 || buf[j+1]!='#') // this is columns id while(!isn(buf[j]) && j='a' && buf[j]<='z') d->id.push_back(buf[j]); j++; } } while(buf[j]<=' ' && j=' ' && buf[j]!=';' && ja[i] = dual(re,im); i++; if(i>=NX*NY*NZ) break; } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set(HADT d, HCDT a) { if(!a) return; const mglDataC *dd = dynamic_cast(a); // faster for mglData mgl_datac_create(d, a->GetNx(), a->GetNy(), a->GetNz()); if(dd) // this one should be much faster memcpy(d->a, dd->a, d->nx*d->ny*d->nz*sizeof(dual)); else // very inefficient!!! { register long i,j,k; for(k=0;knz;k++) for(j=0;jny;j++) for(i=0;inx;i++) d->a[i+d->nx*(j+d->ny*k)] = a->v(i,j,k); } } void MGL_EXPORT mgl_datac_set_(uintptr_t *d, uintptr_t *a) { mgl_datac_set(_DC_,_DA_(a)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_values(HADT d, const char *v,long NX,long NY,long NZ) { if(NX<1 || NY <1 || NZ<1) return; register long n=strlen(v)+1; char *buf = new char[n]; memcpy(buf,v,n); mglFromStr(d,buf,NX,NY,NZ); delete []buf; } void MGL_EXPORT mgl_datac_set_values_(uintptr_t *d, const char *val, int *nx, int *ny, int *nz, int l) { char *s=new char[l+1]; memcpy(s,val,l); s[l]=0; mgl_datac_set_values(_DC_,s,*nx,*ny,*nz); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_vector(HADT d, gsl_vector *v) { #if MGL_HAVE_GSL if(!v || v->size<1) return; mgl_datac_create(d, v->size,1,1); for(long i=0;inx;i++) d->a[i] = v->data[i*v->stride]; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_matrix(HADT d, gsl_matrix *m) { #if MGL_HAVE_GSL if(!m || m->size1<1 || m->size2<1) return; mgl_datac_create(d, m->size1,m->size2,1); register long i,j; for(j=0;jny;j++) for(i=0;inx;i++) d->a[i+j*d->nx] = m->data[i * m->tda + j]; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_float(HADT d, const float *A,long NX,long NY,long NZ) { if(NX<=0 || NY<=0 || NZ<=0) return; mgl_datac_create(d, NX,NY,NZ); if(!A) return; #if MGL_USE_DOUBLE for(long i=0;ia[i] = A[i]; #else memcpy(d->a,A,NX*NY*NZ*sizeof(float)); #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_double(HADT d, const double *A,long NX,long NY,long NZ) { if(NX<=0 || NY<=0 || NZ<=0) return; mgl_datac_create(d, NX,NY,NZ); if(!A) return; #if MGL_USE_DOUBLE memcpy(d->a,A,NX*NY*NZ*sizeof(double)); #else for(long i=0;ia[i] = A[i]; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_complex(HADT d, const dual *A,long NX,long NY,long NZ) { if(NX<=0 || NY<=0 || NZ<=0) return; mgl_datac_create(d, NX,NY,NZ); if(!A) return; #if MGL_USE_DOUBLE for(long i=0;ia[i] = A[i]; #else memcpy(d->a,A,NX*NY*NZ*sizeof(float)); #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_float_(uintptr_t *d, const float *A,int *NX,int *NY,int *NZ) { mgl_datac_set_float(_DC_,A,*NX,*NY,*NZ); } void MGL_EXPORT mgl_datac_set_double_(uintptr_t *d, const double *A,int *NX,int *NY,int *NZ) { mgl_datac_set_double(_DC_,A,*NX,*NY,*NZ); } void MGL_EXPORT mgl_datac_set_complex_(uintptr_t *d, const dual *A,int *NX,int *NY,int *NZ) { mgl_datac_set_complex(_DC_,A,*NX,*NY,*NZ); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_rearrange(HADT d, long mx,long my,long mz) { if(mx<1) return; // wrong mx if(my<1) { my = d->nx*d->ny*d->nz/mx; mz = 1; } else if(mz<1) mz = (d->nx*d->ny*d->nz)/(mx*my); long m = mx*my*mz; if(m==0 || m>d->nx*d->ny*d->nz) return; // too high desired dimensions d->nx = mx; d->ny = my; d->nz = mz; d->NewId(); } void MGL_EXPORT mgl_datac_rearrange_(uintptr_t *d, int *mx, int *my, int *mz) { mgl_datac_rearrange(_DC_,*mx,*my,*mz); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_id(HADT d, const char *ids) { d->id = ids; } void MGL_EXPORT mgl_datac_set_id_(uintptr_t *d, const char *eq,int l) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; mgl_datac_set_id(_DC_, s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_save(HCDT d, const char *fname,long ns) { const mglDataC *dd = dynamic_cast(d); if(!dd) { mgl_data_save(d,fname,ns); return; } FILE *fp; fp = fopen(fname,"w"); register long i,j,k; long nx=dd->nx, ny=dd->ny, nz=dd->nz; if(ns<0 || (ns>=nz && nz>1)) for(k=0;ka[j+nx*(i+ny*k)]), imag(dd->a[j+nx*(i+ny*k)])); fprintf(fp,"%g+i%g\n", real(dd->a[nx-1+nx*(i+ny*k)]), imag(dd->a[nx-1+nx*(i+ny*k)])); } fprintf(fp,"\n"); } else { // save selected slice if(nz>1) for(i=0;ia[j+nx*(i+ny*ns)]), imag(dd->a[j+nx*(i+ny*ns)])); fprintf(fp,"%g+i%g\n", real(dd->a[nx-1+nx*(i+ny*ns)]), imag(dd->a[nx-1+nx*(i+ny*ns)])); } else if(nsa[j+nx*ns]), imag(dd->a[j+nx*ns])); } fclose(fp); } void MGL_EXPORT mgl_datac_save_(uintptr_t *d, const char *fname,int *ns,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; mgl_datac_save(_DC_,s,*ns); delete []s; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_datac_read(HADT d, const char *fname) { long l=1,m=1,k=1; long nb,i; gzFile fp = gzopen(fname,"r"); if(!fp) { if(!d->a) mgl_datac_create(d, 1,1,1); return false; } char *buf = mgl_read_gz(fp); nb = strlen(buf); gzclose(fp); bool first=false; // space is not allowed delimiter for file with complex numbers register char ch; for(i=nb-1;i>=0;i--) if(buf[i]>' ') break; buf[i+1]=0; nb = i; // remove tailing spaces for(i=0;i' ' && !first) first=true; if(first && (ch=='\t' || ch==';') && buf[i+1]!='\t') k++; // ',' is not valid delimiter for complex arrays } first = false; for(i=0;inx = mx>0 ? mx:1; d->ny = my>0 ? my:1; d->nz = mz>0 ? mz:1; if(d->a && !d->link) delete [](d->a); d->a = new dual[d->nx*d->ny*d->nz]; d->id.clear(); d->link=false; memset(d->a,0,d->nx*d->ny*d->nz*sizeof(dual)); } void MGL_EXPORT mgl_datac_create_(uintptr_t *d, int *nx,int *ny,int *nz) { mgl_datac_create(_DC_,*nx,*ny,*nz); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_link(HADT d, dual *A, long mx,long my,long mz) { if(!A) return; if(!d->link && d->a) delete [](d->a); d->nx = mx>0 ? mx:1; d->ny = my>0 ? my:1; d->nz = mz>0 ? mz:1; d->link=true; d->a=A; d->NewId(); } void MGL_EXPORT mgl_datac_link_(uintptr_t *d, dual *A, int *nx,int *ny,int *nz) { mgl_datac_link(_DC_,A,*nx,*ny,*nz); } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_datac_read_dim(HADT d, const char *fname,long mx,long my,long mz) { if(mx<=0 || my<=0 || mz<=0) return false; gzFile fp = gzopen(fname,"r"); if(!fp) return false; char *buf = mgl_read_gz(fp); gzclose(fp); mglFromStr(d,buf,mx,my,mz); free(buf); return true; } int MGL_EXPORT mgl_datac_read_dim_(uintptr_t *d, const char *fname,int *mx,int *my,int *mz,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; int r = mgl_datac_read_dim(_DC_,s,*mx,*my,*mz); delete []s; return r; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_datac_read_mat(HADT d, const char *fname, long dim) { if(dim<=0 || dim>3) return false; gzFile fp = gzopen(fname,"r"); if(!fp) return false; long nx=1, ny=1, nz=1; char *buf = mgl_read_gz(fp); long nb = strlen(buf); gzclose(fp); register long j=0,i,l; while(j' ') j++; } else if(dim==2) { sscanf(buf+j,"%ld%ld",&nx,&ny); while(buf[j]!='\n' && j' ' && !first) first=true; if(first && (ch=='\t' || ch==';') && b[i+1]!='\t') nx++; } } } else if(dim==3) { sscanf(buf+j,"%ld%ld%ld",&nx,&ny,&nz); while(buf[j]!='\n' && jp[0],ny=t->p[1]; dual *b=t->a, x1=t->b[0], dx=t->b[1]; register char dir = t->s[0]; for(i0=t->id;i0n;i0+=mglNumThr) { if(dir=='x') b[i0] = x1+dx*mreal(i0%nx); else if(dir=='y') b[i0] = x1+dx*mreal((i0/nx)%ny); else if(dir=='z') b[i0] = x1+dx*mreal(i0/(nx*ny)); } return 0; } void MGL_EXPORT mgl_datac_fill(HADT d, dual x1,dual x2,char dir) { if(mgl_isnan(x2)) x2=x1; if(dir<'x' || dir>'z') dir='x'; long par[2]={d->nx,d->ny}; dual b[2]={x1,x2-x1}; if(dir=='x') b[1] *= d->nx>1 ? 1./(d->nx-1):0; if(dir=='y') b[1] *= d->ny>1 ? 1./(d->ny-1):0; if(dir=='z') b[1] *= d->nz>1 ? 1./(d->nz-1):0; mglStartThreadC(mgl_cfill_x,0,d->nx*d->ny*d->nz,d->a,b,0,par,0,0,0,&dir); } void MGL_EXPORT mgl_datac_fill_(uintptr_t *d, dual *x1,dual *x2,const char *dir,int) { mgl_datac_fill(_DC_,*x1,*x2,*dir); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_squeeze(HADT d, long rx,long ry,long rz,long smooth) { long kx,ky,kz,i,j,k; long nx=d->nx, ny=d->ny, nz=d->nz; dual *b; // simple checking if(rx>=nx) rx=nx-1; if(rx<1) rx=1; if(ry>=ny) ry=ny-1; if(ry<1) ry=1; if(rz>=nz) rz=nz-1; if(rz<1) rz=1; // new sizes kx = 1+(nx-1)/rx; ky = 1+(ny-1)/ry; kz = 1+(nz-1)/rz; b = new dual[kx*ky*kz]; if(!smooth) for(k=0;ka[i*rx+nx*(j*ry+ny*rz*k)]; else for(k=0;ka[i1+nx*(j1+ny*k1)]; b[i+kx*(j+ky*k)] = s/mreal(dx*dy*dz); } if(!d->link) delete [](d->a); d->a=b; d->nx = kx; d->ny = ky; d->nz = kz; d->NewId(); d->link=false; } void MGL_EXPORT mgl_datac_squeeze_(uintptr_t *d, int *rx,int *ry,int *rz,int *smooth) { mgl_datac_squeeze(_DC_,*rx,*ry,*rz,*smooth); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_extend(HADT d, long n1, long n2) { long nx=d->nx, ny=d->ny, nz=d->nz; if(nz>2 || n1==0) return; long mx, my, mz; dual *b=0; register long i,j; if(n1>0) // extend to higher dimension(s) { n2 = n2>0 ? n2:1; mx = nx; my = ny>1?ny:n1; mz = ny>1 ? n1 : n2; b = new dual[mx*my*mz]; if(ny>1) for(i=0;ia, nx*ny*sizeof(dual)); else for(i=0;ia, nx*sizeof(dual)); } else { mx = -n1; my = n2<0 ? -n2 : nx; mz = n2<0 ? nx : ny; if(n2>0 && ny==1) mz = n2; b = new dual[mx*my*mz]; register dual v; if(n2<0) for(j=0;ja[j];ia[j];i0 && ny==1) for(i=0;ia, mx*my*sizeof(dual)); } if(!d->link) delete [](d->a); d->a=b; d->nx=mx; d->ny=my; d->nz=mz; d->NewId(); d->link=false; } void MGL_EXPORT mgl_datac_extend_(uintptr_t *d, int *n1, int *n2) { mgl_datac_extend(_DC_,*n1,*n2); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_transpose(HADT d, const char *dim) { long nx=d->nx, ny=d->ny, nz=d->nz; dual *b=new dual[nx*ny*nz], *a=d->a; register long i,j,k,n; if(!strcmp(dim,"xyz")) memcpy(b,a,nx*ny*nz*sizeof(dual)); else if(!strcmp(dim,"xzy") || !strcmp(dim,"zy")) { for(j=0;jnx; d->nx=nx; d->ny=ny; d->nz=nz; if(nx!=n) d->NewId(); } void MGL_EXPORT mgl_datac_transpose_(uintptr_t *d, const char *dim,int l) { char *s=new char[l+1]; memcpy(s,dim,l); s[l]=0; mgl_datac_transpose(_DC_,s); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_cmodify(void *par) { mglThreadC *t=(mglThreadC *)par; const mglFormulaC *f = (const mglFormulaC *)(t->v); register long i,j,k,i0, nx=t->p[0],ny=t->p[1],nz=t->p[2]; dual *b=t->a; mreal dx,dy,dz; const dual *v=t->b, *w=t->c; dx=nx>1?1/(nx-1.):0; dy=ny>1?1/(ny-1.):0; dz=nz>1?1/(nz-1.):0; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=((i0/nx)%ny); k=i0/(nx*ny); b[i0] = f->Calc(i*dx, j*dy, k*dz, b[i0], v?v[i0]:dual(0,0), w?w[i0]:dual(0,0)); } return 0; } void MGL_EXPORT mgl_datac_modify(HADT d, const char *eq,long dim) { long nx=d->nx, ny=d->ny, nz=d->nz, par[3]={nx,ny,nz}; mglFormulaC f(eq); if(dim<0) dim=0; if(nz>1) // 3D array { par[2] -= dim; if(par[2]<0) par[2]=0; mglStartThreadC(mgl_cmodify,0,nx*ny*par[2],d->a+nx*ny*dim,0,0,par,&f); } else // 2D or 1D array { par[1] -= dim; if(par[1]<0) par[1]=0; mglStartThreadC(mgl_cmodify,0,nx*par[1],d->a+nx*dim,0,0,par,&f); } } void MGL_EXPORT mgl_datac_modify_(uintptr_t *d, const char *eq,int *dim,int l) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; mgl_datac_modify(_DC_,s,*dim); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_cmodify_gen(void *par) { mglThreadV *t=(mglThreadV *)par; const mglFormulaC *f = (const mglFormulaC *)(t->v); register long i,j,k,i0, nx=t->p[0],ny=t->p[1],nz=t->p[2]; dual *b=t->aa; mreal dx,dy,dz; HCDT v=(HCDT)t->b, w=(HCDT)t->c; dx=nx>1?1/(nx-1.):0; dy=ny>1?1/(ny-1.):0; dz=nz>1?1/(nz-1.):0; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=((i0/nx)%ny); k=i0/(nx*ny); b[i0] = f->Calc(i*dx, j*dy, k*dz, b[i0], v?v->vthr(i0):0, w?w->vthr(i0):0); } return 0; } void MGL_EXPORT mgl_datac_modify_vw(HADT d, const char *eq,HCDT vdat,HCDT wdat) { const mglDataC *v = dynamic_cast(vdat); const mglDataC *w = dynamic_cast(wdat); long nn = d->nx*d->ny*d->nz, par[3]={d->nx,d->ny,d->nz}; if(vdat && vdat->GetNN()!=nn) return; if(wdat && wdat->GetNN()!=nn) return; mglFormulaC f(eq); if(v && w) mglStartThreadC(mgl_cmodify,0,nn,d->a,v->a,w->a,par,&f); else if(vdat && wdat) mglStartThreadV(mgl_cmodify_gen,nn,d->a,vdat,wdat,par,&f); else if(v) mglStartThreadC(mgl_cmodify,0,nn,d->a,v->a,0,par,&f); else if(vdat) mglStartThreadV(mgl_cmodify_gen,nn,d->a,vdat,0,par,&f); else mglStartThreadC(mgl_cmodify,0,nn,d->a,0,0,par,&f); } void MGL_EXPORT mgl_datac_modify_vw_(uintptr_t *d, const char *eq, uintptr_t *v, uintptr_t *w,int l) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; mgl_datac_modify_vw(_DC_,s,_DA_(v),_DA_(w)); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_cfill_f(void *par) { mglThreadC *t=(mglThreadC *)par; const mglFormulaC *f = (const mglFormulaC *)(t->v); register long i,j,k,i0, nx=t->p[0],ny=t->p[1]; dual *b=t->a; const dual *v=t->b, *w=t->c, *x=t->d; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=((i0/nx)%ny); k=i0/(nx*ny); b[i0] = f->Calc(x[0]+mreal(i)*x[1], x[2]+mreal(j)*x[3], x[4]+mreal(k)*x[5], b[i0], v?v[i0]:dual(0,0), w?w[i0]:dual(0,0)); } return 0; } MGL_NO_EXPORT void *mgl_cfill_fgen(void *par) { mglThreadV *t=(mglThreadV *)par; const mglFormulaC *f = (const mglFormulaC *)(t->v); register long i,j,k,i0, nx=t->p[0],ny=t->p[1]; dual *b=t->aa; HCDT v=(HCDT)t->b, w=(HCDT)t->c; const mreal *x=t->d; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=((i0/nx)%ny); k=i0/(nx*ny); b[i0] = f->Calc(x[0]+i*x[1], x[2]+j*x[3], x[4]+k*x[5], b[i0], v?v->vthr(i0):0, w?w->vthr(i0):0); } return 0; } void MGL_EXPORT mgl_datac_fill_eq(HMGL gr, HADT d, const char *eq, HCDT vdat, HCDT wdat, const char *opt) { const mglDataC *v = dynamic_cast(vdat); const mglDataC *w = dynamic_cast(wdat); long nn = d->nx*d->ny*d->nz, par[3]={d->nx,d->ny,d->nz}; if(v && v->nx*v->ny*v->nz!=nn) return; if(w && w->nx*w->ny*w->nz!=nn) return; gr->SaveState(opt); mreal xx[6]={gr->Min.x,0, gr->Min.y,0, gr->Min.z,0}; if(d->nx>1) xx[1] = (gr->Max.x-gr->Min.x)/(d->nx-1.); if(d->ny>1) xx[3] = (gr->Max.y-gr->Min.y)/(d->ny-1.); if(d->nz>1) xx[5] = (gr->Max.z-gr->Min.z)/(d->nz-1.); dual cc[6]={xx[0],xx[1],xx[2],xx[3],xx[4],xx[5]}; mglFormulaC f(eq); if(v && w) mglStartThreadC(mgl_cfill_f,0,nn,d->a,v->a,w->a,par,&f,cc); else if(vdat && wdat) mglStartThreadV(mgl_cfill_fgen,nn,d->a,vdat,wdat,par,&f,xx); else if(v) mglStartThreadC(mgl_cfill_f,0,nn,d->a,v->a,0,par,&f,cc); else if(vdat) mglStartThreadV(mgl_cfill_fgen,nn,d->a,vdat,0,par,&f,xx); else mglStartThreadC(mgl_cfill_f,0,nn,d->a,0,0,par,&f,cc); gr->LoadState(); } void MGL_EXPORT mgl_datac_fill_eq_(uintptr_t *gr, uintptr_t *d, const char *eq, uintptr_t *v, uintptr_t *w, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_datac_fill_eq(_GR_,_DC_,s,_DA_(v),_DA_(w),o); delete []o; delete []s; } //----------------------------------------------------------------------------- bool MGL_NO_EXPORT mgl_add_file(long &kx,long &ky, long &kz, dual *&b, mglDataC *d,bool as_slice) { if(as_slice && d->nz==1) { if(kx==d->nx && d->ny==1) { b = (dual *)realloc(b,kx*(ky+1)*sizeof(dual)); memcpy(b+kx*ky,d->a,kx*sizeof(dual)); ky++; } else if(kx==d->nx && ky==d->ny) { b = (dual *)realloc(b,kx*ky*(kz+1)*sizeof(dual)); memcpy(b+kx*ky*kz,d->a,kx*ky*sizeof(dual)); kz++; } else return false; } else { if(d->ny*d->nz==1 && ky*kz==1) { b = (dual *)realloc(b,(kx+d->nx)*sizeof(dual)); memcpy(b+kx,d->a,d->nx*sizeof(dual)); kx+=d->nx; } else if(kx==d->nx && kz==1 && d->nz==1) { b = (dual *)realloc(b,kx*(ky+d->ny)*sizeof(dual)); memcpy(b+kx*ky,d->a,kx*d->ny*sizeof(dual)); ky+=d->ny; } else if(kx==d->nx && ky==d->ny) { b = (dual *)realloc(b,kx*kx*(kz+d->nz)*sizeof(dual)); memcpy(b+kx*ky*kz,d->a,kx*ky*d->nz*sizeof(dual)); kz+=d->nz; } else return false; } return true; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_datac_read_range(HADT dat, const char *templ, double from, double to, double step, int as_slice) { mglDataC d; double t = from; dual *b; long kx,ky,kz,n=strlen(templ)+20; char *fname = new char[n]; //read first file do{ snprintf(fname,n,templ,t); t+= step; } while(!mgl_datac_read(&d,fname) && t<=to); if(t>to) return false; kx = d.nx; ky = d.ny; kz = d.nz; b = (dual *)malloc(kx*ky*kz*sizeof(dual)); memcpy(b,d.a,kx*ky*kz*sizeof(dual)); // read other files for(;t<=to;t+=step) { snprintf(fname,n,templ,t); if(mgl_datac_read(&d,fname)) if(!mgl_add_file(kx,ky,kz,b,&d,as_slice)) { delete []fname; free(b); return false; } } dat->Set(b,kx,ky,kz); delete []fname; free(b); return true; } int MGL_EXPORT mgl_datac_read_range_(uintptr_t *d, const char *fname, mreal *from, mreal *to, mreal *step, int *as_slice,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; int r = mgl_datac_read_range(_DC_,s,*from,*to,*step,*as_slice); delete []s; return r; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_datac_read_all(HADT dat, const char *templ, int as_slice) { #ifndef WIN32 mglDataC d; glob_t res; size_t i; dual *b; long kx,ky,kz; char *fname = new char[256]; glob (templ, GLOB_TILDE, NULL, &res); //read first file for(i=0;i=res.gl_pathc) { delete []fname; return false; } kx = d.nx; ky = d.ny; kz = d.nz; b = (dual *)malloc(kx*ky*kz*sizeof(dual)); memcpy(b,d.a,kx*ky*kz*sizeof(dual)); for(;iSet(b,kx,ky,kz); globfree (&res); delete []fname; free(b); return true; #else return false; #endif } int MGL_EXPORT mgl_datac_read_all_(uintptr_t *d, const char *fname, int *as_slice,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; int r = mgl_datac_read_all(_DC_,s,*as_slice); delete []s; return r; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_datac_real(HCDT d) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); mglData *r=new mglData(nx,ny,nz); const mglDataC *dd = dynamic_cast(d); register long i; if(dd) for(i=0;ia[i] = real(dd->a[i]); else r->Set(d); return r; } uintptr_t MGL_EXPORT mgl_datac_real_(uintptr_t *d) { return uintptr_t(mgl_datac_real(_DC_)); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_datac_imag(HCDT d) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); mglData *r=new mglData(nx,ny,nz); const mglDataC *dd = dynamic_cast(d); register long i; if(dd) for(i=0;ia[i] = imag(dd->a[i]); return r; } uintptr_t MGL_EXPORT mgl_datac_imag_(uintptr_t *d) { return uintptr_t(mgl_datac_imag(_DC_)); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_datac_abs(HCDT d) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); mglData *r=new mglData(nx,ny,nz); const mglDataC *dd = dynamic_cast(d); register long i; if(dd) for(i=0;ia[i] = abs(dd->a[i]); else for(i=0;ia[i] = fabs(d->vthr(i)); return r; } uintptr_t MGL_EXPORT mgl_datac_abs_(uintptr_t *d) { return uintptr_t(mgl_datac_abs(_DC_)); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_datac_arg(HCDT d) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); mglData *r=new mglData(nx,ny,nz); const mglDataC *dd = dynamic_cast(d); register long i; if(dd) for(i=0;ia[i] = arg(dd->a[i]); return r; } uintptr_t MGL_EXPORT mgl_datac_arg_(uintptr_t *d) { return uintptr_t(mgl_datac_arg(_DC_)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_ri(HADT d, HCDT re, HCDT im) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); d->Create(nx,ny,nz); register long i; for(i=0;ia[i] = dual(re->vthr(i),im->vthr(i)); } void MGL_EXPORT mgl_datac_set_ri_(uintptr_t *d, uintptr_t *re, uintptr_t *im) { mgl_datac_set_ri(_DC_,_DA_(re),_DA_(im)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_ap(HADT d, HCDT a, HCDT p) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); d->Create(nx,ny,nz); register long i; register mreal aa,pp; for(i=0;ivthr(i); pp=p->vthr(i); d->a[i] = dual(aa*cos(pp), aa*sin(pp)); } } void MGL_EXPORT mgl_datac_set_ap_(uintptr_t *d, uintptr_t *a, uintptr_t *p) { mgl_datac_set_ap(_DC_,_DA_(a),_DA_(p)); } //----------------------------------------------------------------------------- #if MGL_HAVE_HDF5 void MGL_EXPORT mgl_datac_save_hdf(HCDT dat,const char *fname,const char *data,int rewrite) { const mglDataC *d = dynamic_cast(dat); // NOTE: only for mglDataC if(!d) { mgl_data_save_hdf(dat,fname,data,rewrite); return; } hid_t hf,hd,hs; hsize_t dims[4]; long rank = 3, res; H5Eset_auto(0,0); res=H5Fis_hdf5(fname); if(res>0 && !rewrite) hf = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); else hf = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if(hf<0) return; if(d->nz==1 && d->ny == 1) { rank=2; dims[0]=d->nx; dims[1]=2; } else if(d->nz==1) { rank=3; dims[0]=d->ny; dims[1]=d->nx; dims[2]=2; } else { rank=4; dims[0]=d->nz; dims[1]=d->ny; dims[2]=d->nx; dims[3]=2; } hs = H5Screate_simple(rank, dims, 0); #if MGL_USE_DOUBLE hid_t mem_type_id = H5T_NATIVE_DOUBLE; #else hid_t mem_type_id = H5T_NATIVE_FLOAT; #endif hd = H5Dcreate(hf, data, mem_type_id, hs, H5P_DEFAULT); H5Dwrite(hd, mem_type_id, hs, hs, H5P_DEFAULT, d->a); H5Dclose(hd); H5Sclose(hs); H5Fclose(hf); } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_datac_read_hdf(HADT d,const char *fname,const char *data) { hid_t hf,hd,hs; hsize_t dims[4]; long rank, res = H5Fis_hdf5(fname); if(res<=0) { return false; } hf = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); if(hf<0) return false; hd = H5Dopen(hf,data); if(hd<0) return false; hs = H5Dget_space(hd); rank = H5Sget_simple_extent_ndims(hs); if(rank>0 && rank<=3) { H5Sget_simple_extent_dims(hs,dims,0); if(rank==2) { dims[2]=dims[0]; dims[0]=dims[1]=1; } else if(rank==3) { dims[2]=dims[1]; dims[1]=dims[0]; dims[0]=1; } // else if(rank>3) continue; mgl_datac_create(d,dims[2],dims[1],dims[0]); #if MGL_USE_DOUBLE H5Dread(hd, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, d->a); #else H5Dread(hd, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, d->a); #endif } H5Sclose(hs); H5Dclose(hd); H5Fclose(hf); return true; } //----------------------------------------------------------------------------- #else void MGL_EXPORT mgl_datac_save_hdf(HCDT ,const char *,const char *,int ) { mglGlobalMess += "HDF5 support was disabled. Please, enable it and rebuild MathGL.\n"; } int MGL_EXPORT mgl_datac_read_hdf(HADT ,const char *,const char *) { mglGlobalMess += "HDF5 support was disabled. Please, enable it and rebuild MathGL.\n"; return false;} #endif //----------------------------------------------------------------------------- int MGL_EXPORT mgl_datac_read_hdf_(uintptr_t *d, const char *fname, const char *data,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *t=new char[n+1]; memcpy(t,data,n); t[n]=0; int r = mgl_datac_read_hdf(_DC_,s,t); delete []s; delete []t; return r; } void MGL_EXPORT mgl_datac_save_hdf_(uintptr_t *d, const char *fname, const char *data, int *rewrite,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *t=new char[n+1]; memcpy(t,data,n); t[n]=0; mgl_datac_save_hdf(_DC_,s,t,*rewrite); delete []s; delete []t; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/crust.cpp0000664000175000017500000006164412142400470015356 0ustar balakinbalakin/*************************************************************************** * crust.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/other.h" #include "mgl2/data.h" //----------------------------------------------------------------------------- // // TriPlot series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_triplot_xyzc(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) { long n = x->GetNx(), m = nums->GetNy(); if(mgl_check_trig(gr,nums,x,y,z,a,"TriPlot")) return; long ss=gr->AddTexture(sch); gr->SaveState(opt); gr->SetPenPal("-"); static int cgid=1; gr->StartGroup("TriPlot",cgid++); mglPoint p1,p2,p3,q=mglPoint(NAN,NAN); register long i,k1,k2,k3; bool wire = mglchr(sch,'#'); long nc = a->GetNx(); if(nc!=n && nc>=m) // colors per triangle { gr->Reserve(m*3); for(i=0;iStop) return; k1 = long(nums->v(0,i)+0.5); p1 = mglPoint(x->v(k1), y->v(k1), z->v(k1)); k2 = long(nums->v(1,i)+0.5); p2 = mglPoint(x->v(k2), y->v(k2), z->v(k2)); k3 = long(nums->v(2,i)+0.5); p3 = mglPoint(x->v(k3), y->v(k3), z->v(k3)); if(!wire) q = (p2-p1) ^ (p3-p1); k1 = gr->AddPnt(p1,gr->GetC(ss,a->v(k1)),q); k2 = gr->AddPnt(p2,gr->GetC(ss,a->v(k2)),q); k3 = gr->AddPnt(p3,gr->GetC(ss,a->v(k3)),q); gr->trig_plot(k1,k2,k3); } } else if(nc>=n) // colors per point { gr->Reserve(n); long *kk = new long[n]; mglPoint *pp = new mglPoint[n]; for(i=0;iStop) { delete []kk; delete []pp; return; } k1 = long(nums->v(0,i)+0.5); k2 = long(nums->v(1,i)+0.5); k3 = long(nums->v(2,i)+0.5); if(!wire) { q = mglPoint(x->v(k2)-x->v(k1), y->v(k2)-y->v(k1), z->v(k2)-z->v(k1)) ^ mglPoint(x->v(k3)-x->v(k1), y->v(k3)-y->v(k1), z->v(k3)-z->v(k1)); q.Normalize(); // try be sure that in the same direction ... if(q.z<0) q *= -1; pp[k1] += q; pp[k2] += q; pp[k3] += q; } } for(i=0;iStop) { delete []kk; delete []pp; return; } q = mglPoint(x->v(i), y->v(i), z->v(i)); kk[i] = gr->AddPnt(q,gr->GetC(ss,a->v(i)),pp[i]); } for(i=0;iStop) { delete []kk; delete []pp; return; } k1 = long(nums->v(0,i)+0.5); k2 = long(nums->v(1,i)+0.5); k3 = long(nums->v(2,i)+0.5); if(wire) { gr->line_plot(kk[k1],kk[k2]); gr->line_plot(kk[k1],kk[k3]); gr->line_plot(kk[k3],kk[k2]); } else gr->trig_plot(kk[k1],kk[k2],kk[k3]); } delete []kk; delete []pp; } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_triplot_xyz(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { mgl_triplot_xyzc(gr,nums,x,y,z,z,sch,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_triplot_xy(HMGL gr, HCDT nums, HCDT x, HCDT y, const char *sch, const char *opt) { gr->SaveState(opt); mglData z(x->GetNx()); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_triplot_xyzc(gr,nums,x,y,&z,&z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_triplot_xyzc_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_triplot_xyzc(_GR_, _DA_(nums), _DA_(x), _DA_(y), _DA_(z), _DA_(c), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_triplot_xyz_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_triplot_xyz(_GR_, _DA_(nums), _DA_(x), _DA_(y), _DA_(z), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_triplot_xy_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_triplot_xy(_GR_, _DA_(nums), _DA_(x), _DA_(y), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // QuadPlot series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_quadplot_xyzc(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) { long n = x->GetNx(), m = nums->GetNy(); if(mgl_check_trig(gr,nums,x,y,z,a,"QuadPlot",4)) return; long ss=gr->AddTexture(sch); gr->SaveState(opt); gr->SetPenPal("-"); static int cgid=1; gr->StartGroup("QuadPlot",cgid++); mglPoint p1,p2,p3,p4,q=mglPoint(NAN,NAN); register long i,k1,k2,k3,k4; long nc = a->GetNx(); bool wire = mglchr(sch,'#'); if(nc!=n && nc>=m) // colors per triangle { gr->Reserve(m*4); for(i=0;iStop) return; k1 = long(nums->v(0,i)+0.5); p1 = mglPoint(x->v(k1), y->v(k1), z->v(k1)); k2 = long(nums->v(1,i)+0.5); p2 = mglPoint(x->v(k2), y->v(k2), z->v(k2)); k3 = long(nums->v(2,i)+0.5); p3 = mglPoint(x->v(k3), y->v(k3), z->v(k3)); k4 = floor(nums->v(3,i)+0.5); p4 = mglPoint(x->v(k4), y->v(k4), z->v(k4)); if(!wire) q = (p2-p1) ^ (p3-p1); k1 = gr->AddPnt(p1,gr->GetC(ss,a->v(k1)),q); k2 = gr->AddPnt(p2,gr->GetC(ss,a->v(k2)),q); k3 = gr->AddPnt(p3,gr->GetC(ss,a->v(k3)),q); k4 = gr->AddPnt(p4,gr->GetC(ss,a->v(k4)),q); gr->quad_plot(k1,k2,k3,k4); } } else if(nc>=n) // colors per point { gr->Reserve(n); long *kk = new long[n]; mglPoint *pp = new mglPoint[n]; for(i=0;iStop) { delete []kk; delete []pp; return; } k1 = long(nums->v(0,i)+0.5); p1 = mglPoint(x->v(k1), y->v(k1), z->v(k1)); k2 = long(nums->v(1,i)+0.5); p2 = mglPoint(x->v(k2), y->v(k2), z->v(k2)); k3 = long(nums->v(2,i)+0.5); p3 = mglPoint(x->v(k3), y->v(k3), z->v(k3)); k4 = floor(nums->v(3,i)+0.5); p4 = mglPoint(x->v(k4), y->v(k4), z->v(k4)); if(wire) pp[k1]=pp[k2]=pp[k3]=pp[k4]=mglPoint(NAN,NAN); else { q = (p2-p1) ^ (p3-p1); if(q.z<0) q*=-1; pp[k1] += q; q = (p2-p4) ^ (p3-p4); if(q.z<0) q*=-1; pp[k2] += q; q = (p1-p2) ^ (p4-p2); if(q.z<0) q*=-1; pp[k3] += q; q = (p1-p4) ^ (p4-p3); if(q.z<0) q*=-1; pp[k4] += q; } } for(i=0;iStop) { delete []kk; delete []pp; return; } kk[i] = gr->AddPnt(mglPoint(x->v(i), y->v(i), z->v(i)),gr->GetC(ss,a->v(i)), pp[i]); } for(i=0;iStop) { delete []kk; delete []pp; return; } k1 = floor(nums->v(0,i)+0.5); k2 = floor(nums->v(1,i)+0.5); k3 = floor(nums->v(2,i)+0.5); k4 = floor(nums->v(3,i)+0.5); if(wire) { gr->line_plot(kk[k1],kk[k2]); gr->line_plot(kk[k1],kk[k3]); gr->line_plot(kk[k4],kk[k2]); gr->line_plot(kk[k4],kk[k3]); } else gr->quad_plot(kk[k1],kk[k2],kk[k3],kk[k4]); } delete []kk; delete []pp; } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_quadplot_xyz(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { mgl_quadplot_xyzc(gr,nums,x,y,z,z,sch,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_quadplot_xy(HMGL gr, HCDT nums, HCDT x, HCDT y, const char *sch, const char *opt) { gr->SaveState(opt); mglData z(x->GetNx()); z.Fill(gr->Min.z,gr->Min.z); mgl_quadplot_xyzc(gr,nums,x,y,&z,&z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_quadplot_xyzc_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_quadplot_xyzc(_GR_, _DA_(nums), _DA_(x), _DA_(y), _DA_(z), _DA_(c), s, o); delete []o; delete []s;} //----------------------------------------------------------------------------- void MGL_EXPORT mgl_quadplot_xyz_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_quadplot_xyzc(_GR_, _DA_(nums), _DA_(x), _DA_(y), _DA_(z), _DA_(z), s, o); delete []o; delete []s;} //----------------------------------------------------------------------------- void MGL_EXPORT mgl_quadplot_xy_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_quadplot_xy(_GR_, _DA_(nums), _DA_(x), _DA_(y), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // TriCont series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tricont_xyzcv(HMGL gr, HCDT v, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) { long n = x->GetNx(), m = nums->GetNy(); if(mgl_check_trig(gr,nums,x,y,z,a,"TriCont")) return; long ss=gr->AddTexture(sch); gr->SaveState(opt); static int cgid=1; gr->StartGroup("TriCont",cgid++); mreal val, c; register long i,k; long k1,k2,k3; bool zVal = !(mglchr(sch,'_')); mreal d1,d2,d3; mglPoint p1,p2,p3; for(k=0;kGetNx();k++) for(i=0;iStop) return; k1 = long(nums->v(0,i)+0.1); if(k1<0 || k1>=n) continue; k2 = long(nums->v(1,i)+0.1); if(k2<0 || k2>=n) continue; k3 = long(nums->v(2,i)+0.1); if(k3<0 || k3>=n) continue; val = v->v(k); c = gr->GetC(ss,val); d1 = mgl_d(val,a->v(k1),a->v(k2)); p1 = mglPoint(x->v(k1)*(1-d1)+x->v(k2)*d1, y->v(k1)*(1-d1)+y->v(k2)*d1, zVal?z->v(k1)*(1-d1)+z->v(k2)*d1:gr->Min.z); d2 = mgl_d(val,a->v(k1),a->v(k3)); p2 = mglPoint(x->v(k1)*(1-d2)+x->v(k3)*d2, y->v(k1)*(1-d2)+y->v(k3)*d2, zVal?z->v(k1)*(1-d2)+z->v(k3)*d2:gr->Min.z); d3 = mgl_d(val,a->v(k2),a->v(k3)); p3 = mglPoint(x->v(k2)*(1-d3)+x->v(k3)*d3, y->v(k2)*(1-d3)+y->v(k3)*d3, zVal?z->v(k2)*(1-d3)+z->v(k3)*d3:gr->Min.z); if(d1>=0 && d1<=1 && d2>=0 && d2<=1) { k1 = gr->AddPnt(p1,c); k2 = gr->AddPnt(p2,c); gr->line_plot(k1,k2); } else if(d1>=0 && d1<=1 && d3>=0 && d3<=1) { k1 = gr->AddPnt(p1,c); k2 = gr->AddPnt(p3,c); gr->line_plot(k1,k2); } else if(d3>=0 && d3<=1 && d2>=0 && d2<=1) { k1 = gr->AddPnt(p3,c); k2 = gr->AddPnt(p2,c); gr->line_plot(k1,k2); } } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tricont_xyzc(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long n = (mgl_isnan(r) || r<=0) ? 7:long(r+0.5); mglData v(n); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(n+1); mgl_tricont_xyzcv(gr,&v,nums,x,y,z,a,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tricont_xyc(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { mgl_tricont_xyzc(gr,nums,x,y,z,z,sch,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tricont_xycv(HMGL gr, HCDT v, HCDT nums, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { mgl_tricont_xyzcv(gr,v,nums,x,y,z,z,sch,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tricont_xyzcv_(uintptr_t *gr, uintptr_t *v, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tricont_xyzcv(_GR_, _DA_(v), _DA_(nums), _DA_(x), _DA_(y), _DA_(z), _DA_(c), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tricont_xycv_(uintptr_t *gr, uintptr_t *v, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tricont_xycv(_GR_, _DA_(v), _DA_(nums), _DA_(x), _DA_(y), _DA_(z), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tricont_xyzc_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tricont_xyzc(_GR_, _DA_(nums), _DA_(x), _DA_(y), _DA_(z), _DA_(c), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tricont_xyc_(uintptr_t *gr, uintptr_t *nums, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tricont_xyc(_GR_, _DA_(nums), _DA_(x), _DA_(y), _DA_(z), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Dots series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dots_a(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) { long n = x->GetNN(), d, k=1; if(x->GetNz()>1) k=3; else if(x->GetNy()>1) k=2; if(y->GetNN()!=n || z->GetNN()!=n || a->GetNN()!=n) { gr->SetWarn(mglWarnDim,"Dots"); return; } gr->SaveState(opt); d = gr->MeshNum>0 ? mgl_ipow(gr->MeshNum+1,k) : n; d = n>d ? n/d:1; static int cgid=1; gr->StartGroup("Dots",cgid++); char mk=gr->SetPenPal(sch); long ss=gr->AddTexture(sch), pp; if(mk==0) mk='.'; gr->Reserve(n); mglPoint p; for(long i=0;iStop) return; p = mglPoint(x->vthr(i),y->vthr(i),z->vthr(i)); pp = gr->AddPnt(p,gr->GetC(ss,a->vthr(i))); gr->mark_plot(pp, mk); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dots(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { mgl_dots_a(gr, x, y, z, z, sch, opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dots_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dots(_GR_, _DA_(x),_DA_(y),_DA_(z),s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dots_a_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dots_a(_GR_, _DA_(x),_DA_(y),_DA_(z),_DA_(a),s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // mglTriangulation // //----------------------------------------------------------------------------- long MGL_NO_EXPORT mgl_crust(long n,mglPoint *pp,long **nn,mreal ff); HMDT MGL_EXPORT mgl_triangulation_3d(HCDT x, HCDT y, HCDT z) { // TODO: should be used s-hull or q-hull mglData *nums=new mglData; long n = x->GetNx(), m; if(y->GetNx()!=n || z->GetNx()!=n) return nums; register long i; mglPoint *pp = new mglPoint[n]; long *nn=0; for(i=0;iv(i), y->v(i), z->v(i)); m = mgl_crust(n,pp,&nn,0); if(m>0) { nums->Create(3,m); for(i=0;i<3*m;i++) nums->a[i]=nn[i]; } delete []pp; free(nn); return nums; } //----------------------------------------------------------------------------- #include "s_hull/s_hull_pro.h" HMDT MGL_EXPORT mgl_triangulation_2d(HCDT x, HCDT y) { mglData *nums=new mglData; register long n = x->GetNx(), m,i; if(y->GetNx()!=n) return nums; // use s-hull here std::vector pts; std::vector out; Shx pt; for(i=0;iv(i); pt.c = y->v(i); pt.id = i; pts.push_back(pt); } std::vector triads; if(de_duplicate(pts, out)) mglGlobalMess += "There are duplicated points for triangulation.\n"; s_hull_pro(pts, triads); m = triads.size(); nums->Create(3,m); for(i=0;ia[3*i] = triads[i].a; nums->a[3*i+1] = triads[i].b; nums->a[3*i+2] = triads[i].c; } return nums; } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_triangulation_3d_(uintptr_t *x, uintptr_t *y, uintptr_t *z) { return uintptr_t(mgl_triangulation_3d(_DA_(x),_DA_(y),_DA_(z))); } uintptr_t MGL_EXPORT mgl_triangulation_2d_(uintptr_t *x, uintptr_t *y) { return uintptr_t(mgl_triangulation_2d(_DA_(x),_DA_(y))); } //----------------------------------------------------------------------------- // // DataGrid // //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_grid_t(void *par) { mglThreadD *t=(mglThreadD *)par; long nx=t->p[0],ny=t->p[1]; register long i0, k1,k2,k3; mreal *b=t->a; const mreal *x=t->b, *y=t->c, *d=t->d, *z=t->e; for(i0=t->id;i0n;i0+=mglNumThr) { k1 = long(d[3*i0]); k2 = long(d[3*i0+1]); k3 = long(d[3*i0+2]); mreal dxu,dxv,dyu,dyv; mglPoint d1=mglPoint(x[k2]-x[k1],y[k2]-y[k1],z[k2]-z[k1]), d2=mglPoint(x[k3]-x[k1],y[k3]-y[k1],z[k3]-z[k1]), p; dxu = d2.x*d1.y - d1.x*d2.y; if(fabs(dxu)<1e-5) continue; // points lies on the same line dyv =-d1.x/dxu; dxv = d1.y/dxu; dyu = d2.x/dxu; dxu =-d2.y/dxu; long x1,y1,x2,y2; x1 = long(fmin(fmin(x[k1],x[k2]),x[k3])); // bounding box y1 = long(fmin(fmin(y[k1],y[k2]),y[k3])); x2 = long(fmax(fmax(x[k1],x[k2]),x[k3])); y2 = long(fmax(fmax(y[k1],y[k2]),y[k3])); x1 = x1>0 ? x1:0; x2 = x20 ? y1:0; y2 = y2x2) | (y1>y2)) continue; register mreal u,v,xx,yy, x0 = x[k1], y0 = y[k1]; register long i,j; for(i=x1;i<=x2;i++) for(j=y1;j<=y2;j++) { xx = (i-x0); yy = (j-y0); u = dxu*xx+dyu*yy; v = dxv*xx+dyv*yy; if((u<0) | (v<0) | (u+v>1)) continue; b[i+nx*j] = z[k1] + d1.z*u + d2.z*v; } } return 0; } void MGL_EXPORT mgl_data_grid(HMGL gr, HMDT d, HCDT xdat, HCDT ydat, HCDT zdat, const char *opt) { // NOTE: only for mglData const mglData *x = dynamic_cast(xdat); const mglData *y = dynamic_cast(ydat); const mglData *z = dynamic_cast(zdat); if(!x || !y || !z) return; long n=x->nx; if((n<3) || (y->nx!=n) || (z->nx!=n)) return; gr->SaveState(opt); mglData *nums = mgl_triangulation_2d(x,y); if(nums->nx<3) { delete nums; return; } long nn = nums->ny, par[3]={d->nx,d->ny,d->nz}; mreal xx[4]={gr->Min.x,0, gr->Min.y,0}; if(d->nx>1) xx[1] = (d->nx-1.)/(gr->Max.x-gr->Min.x); if(d->ny>1) xx[3] = (d->ny-1.)/(gr->Max.y-gr->Min.y); register long i; mreal *xc=new mreal[n], *yc=new mreal[n]; for(i=0;ia[i]-xx[0]); yc[i]=xx[3]*(y->a[i]-xx[2]); } for(long i=0;inx*d->ny*d->nz;i++) d->a[i] = NAN; mglStartThread(mgl_grid_t,0,nn,d->a,xc,yc,par,0,nums->a,z->a); gr->LoadState(); delete nums; delete []xc; delete []yc; } void MGL_EXPORT mgl_data_grid_(uintptr_t *gr, uintptr_t *d, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *opt,int lo) { char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_data_grid(_GR_,_DT_,_DA_(x),_DA_(y),_DA_(z),o); delete []o; } //----------------------------------------------------------------------------- // // Crust series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_crust(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { if(y->GetNx()!=x->GetNx() || z->GetNx()!=x->GetNx()) { gr->SetWarn(mglWarnDim,"Crust"); return; } HMDT nums = mgl_triangulation_3d(x, y, z); mgl_triplot_xyzc(gr,nums,x,y,z,z,sch,opt); mgl_delete_data(nums); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_crust_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_crust(_GR_, _DA_(x),_DA_(y),_DA_(z),s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- long MGL_NO_EXPORT mgl_insert_trig(long i1,long i2,long i3,long **n) { static long Cur=0,Max=0; if(i1<0 || i2<0 || i3<0) return Cur; if(*n==0) { Max = 1024; Cur = 0; *n = (long *)malloc(Max*3*sizeof(long)); memset(*n,0,Max*3*sizeof(long)); } if(Cur>=Max) { Max += 1024; *n = (long *)realloc(*n,Max*3*sizeof(long)); memset(*n+3*(Max-1024),0,3*1024*sizeof(long)); } long *nn; register long i,k1; if(i1>i3) { k1=i1; i1=i3; i3=k1; } // simple sorting if(i1>i2) { k1=i1; i1=i2; i2=k1; } if(i2>i3) { k1=i2; i2=i3; i3=k1; } for(i=0;i0) continue; r = mgl_norm(qq[i]-qq[k1]); if(rr) rm = r; } rs += sqrt(rm); } rs *= ff/n; rs = rs*rs; // "average" distance long ind[100], set[100], ii; // indexes of "close" points, flag that it was added and its number mglPoint qq[100]; // normalized point coordinates long k1,k2,k3,m=0; for(i=0;i0) { set[k1]=1; mgl_insert_trig(i,ind[k1],ind[k2],nn); k1 = k2; } m = mgl_insert_trig(i,ind[k1],ind[0],nn); } return m; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/vect.cpp0000664000175000017500000016221312142400470015151 0ustar balakinbalakin/*************************************************************************** * vect.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/vect.h" #include "mgl2/eval.h" #include "mgl2/data.h" //----------------------------------------------------------------------------- // // Traj series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_traj_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt) { long m,mx,my,mz,nx,ny,nz,n=ax->GetNx(),pal; if(mgl_check_dim1(gr,x,z,y,ax,"Traj")) return; if(mgl_check_dim1(gr,ax,az,ay,0,"Traj")) return; mreal len=gr->SaveState(opt); if(mgl_isnan(len)) len = 0; static int cgid=1; gr->StartGroup("Traj",cgid++); register long i, j; // find maximum i = ax->GetNy()>ay->GetNy() ? ax->GetNy():ay->GetNy(); j = z->GetNy()>az->GetNy() ? z->GetNy():az->GetNy(); m = x->GetNy()>y->GetNy() ? x->GetNy():y->GetNy(); if(i>m) m=i; if(j>m) m=j; gr->SetPenPal(sch,&pal); gr->Reserve(4*n*m); mreal dx,dy,dz,dd,da; mglPoint p1,p2; /* for(j=0;jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; da = sqrt(ax->v(i,mx)*ax->v(i,mx)+ay->v(i,my)*ay->v(i,my)+az->v(i,mz)*az->v(i,mz)); xm = xm>da ? xm : da; } xm = 1./(xm ? sqrt(xm):1);*/ for(j=0;jNextColor(pal); for(i=0;iStop) return; nx = jGetNy() ? j:0; ny = jGetNy() ? j:0; nz = jGetNy() ? j:0; mx = jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; p1 = mglPoint(x->v(i,nx), y->v(i,ny), z->v(i,nz)); p2 = mglPoint(ax->v(i,mx),ay->v(i,my),az->v(i,mz)); da = p2.norm(); if(len==0) { if(iv(i+1,nx)-p1.x; dy=y->v(i+1,ny)-p1.y; dz=z->v(i+1,nz)-p1.z; } else { dx=p1.x-x->v(i-1,nx); dy=p1.y-y->v(i-1,ny); dz=p1.z-z->v(i-1,nz); } dd = da ? 1/da : 0; dd *= sqrt(dx*dx+dy*dy+dz*dz); } else dd = len; nx = gr->AddPnt(p1); ny = gr->AddPnt(p1+dd*p2,-1,mglPoint(NAN),-1,2); gr->vect_plot(nx,ny); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_traj_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt) { gr->SaveState(opt); mglData z(x->GetNx()), az(x->GetNx()); z.Fill(gr->Min.z,gr->Min.z); mgl_traj_xyz(gr,x,y,&z,ax,ay,&az,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_traj_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_traj_xy(_GR_, _DA_(x), _DA_(y), _DA_(ax), _DA_(ay), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_traj_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_traj_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(ax), _DA_(ay), _DA_(az), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Vect series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt) { long i,j,n=ax->GetNx(),m=ax->GetNy(),l=ax->GetNz(),k; if(mgl_check_dim2(gr,x,y,ax,ay,"Vect")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Vect",cgid++); bool dot = sch && mglchr(sch,'.'); bool fix = mglchr(sch,'f'); bool end = mglchr(sch,'>'); bool beg = mglchr(sch,'<'); bool grd = mglchr(sch,'='); long ss = gr->AddTexture(sch); gr->Reserve(4*n*m); mreal zVal = gr->Min.z; long tx=1,ty=1; if(gr->MeshNum>1) { tx=(n-1)/(gr->MeshNum-1); ty=(m-1)/(gr->MeshNum-1); } if(tx<1) tx=1; if(ty<1) ty=1; mreal xm=0,cm=0,ca=0; mreal dd,dm=(fabs(gr->Max.c)+fabs(gr->Min.c))*1e-5; // use whole array for determining maximal vectors length mglPoint p1,p2, v, d; mreal c1,c2,xx; for(k=0;kv(i,j,k),ay->v(i,j,k)); c1 = v.norm(); xm = xm2*ca) cm = 2*ca; // disable too narrow grid steps TODO: decide later xm = xm?1./xm:0; cm = cm?1./cm:0; long n1,n2; for(k=0;kGetNz()>1) zVal = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(k)/(ax->GetNz()-1); for(i=0;iStop) return; d = mglPoint(GetX(x,i,j,k).x, GetY(y,i,j,k).x, zVal); v = mglPoint(ax->v(i,j,k),ay->v(i,j,k)); dd = v.norm(); v *= cm*(fix?(dd>dm ? 1./dd : 0) : xm); if(end) { p1 = d-v; p2 = d; } else if(beg) { p1 = d; p2 = d+v; } else { p1=d-v/2.; p2=d+v/2.; } if(grd) { c1=gr->GetC(ss,dd*xm-0.5,false); c2=gr->GetC(ss,dd*xm,false);} else c1 = c2 = gr->GetC(ss,dd*xm,false); n1=gr->AddPnt(p1,c1); n2=gr->AddPnt(p2,c2); // allow vectors outside bounding box if(n1<0 && n2>=0) n1=gr->AddPnt(p1,c1,mglPoint(NAN),-1,2); if(n2<0 && n1>=0) n2=gr->AddPnt(p2,c2,mglPoint(NAN),-1,2); if(dot) { gr->line_plot(n1,n2); gr->mark_plot(n1,'.'); } else gr->vect_plot(n1,n2); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect_2d(HMGL gr, HCDT ax, HCDT ay, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_vect_xy(gr,&x,&y,ax,ay,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_vect_xy(_GR_, _DA_(x), _DA_(y), _DA_(ax), _DA_(ay), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect_2d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_vect_2d(_GR_, _DA_(ax), _DA_(ay), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Vect3 series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt) { register long i,j,n=ax->GetNx(),m=ax->GetNy(),l=ax->GetNz(),k; if(mgl_check_vec3(gr,x,y,z,ax,ay,az,"Vect_3d")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Vect_3d",cgid++); bool dot = mglchr(sch,'.'); bool fix = mglchr(sch,'f'); bool end = mglchr(sch,'>'); bool beg = mglchr(sch,'<'); bool grd = mglchr(sch,'='); long ss = gr->AddTexture(sch); gr->Reserve(2*n*m*l); long tx=1,ty=1,tz=1; if(gr->MeshNum>1) { tx=(n-1)/(gr->MeshNum-1); ty=(m-1)/(gr->MeshNum-1); tz=(l-1)/(gr->MeshNum-1);} if(tx<1) tx=1; if(ty<1) ty=1; if(tz<1) tz=1; mreal xm=0,cm=0,ca=0; mreal dd,dm=(fabs(gr->Max.c)+fabs(gr->Min.c))*1e-5; // use whole array for determining maximal vectors length mglPoint p1,p2,p3, v, d; mreal c1,c2,c3,xx; for(k=0;kv(i,j,k),ay->v(i,j,k),az->v(i,j,k)); c1 = v.norm(); xm = xm2*ca) cm = 2*ca; // disable too narrow grid steps. TODO: decide later xm = xm?1./xm:0; cm = cm?1./cm:0; long n1,n2; for(k=0;kStop) return; d=mglPoint(GetX(x,i,j,k).x, GetY(y,i,j,k).x, GetZ(z,i,j,k).x); v = mglPoint(ax->v(i,j,k),ay->v(i,j,k),az->v(i,j,k)); dd = v.norm(); v *= cm*(fix?(dd>dm ? 1./dd : 0) : xm); if(end) { p1 = d-v; p2 = d; } else if(beg) { p1 = d; p2 = d+v; } else { p1=d-v/2.; p2=d+v/2.; } if(grd) { c1=gr->GetC(ss,dd*xm-0.5,false); c2=gr->GetC(ss,dd*xm,false); } else c1 = c2 = gr->GetC(ss,dd*xm,false); n1=gr->AddPnt(p1,c1); n2=gr->AddPnt(p2,c2); // allow vectors outside bounding box if(n1<0 && n2>=0) n1=gr->AddPnt(p1,c1,mglPoint(NAN),-1,2); if(n2<0 && n1>=0) n2=gr->AddPnt(p2,c2,mglPoint(NAN),-1,2); if(dot) { gr->line_plot(n1,n2); gr->mark_plot(n1,'.'); } else gr->vect_plot(n1,n2); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect_3d(HMGL gr, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()), z(ax->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_vect_xyz(gr,&x,&y,&z,ax,ay,az,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_vect_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(ax), _DA_(ay), _DA_(az), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect_3d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_vect_3d(_GR_, _DA_(ax), _DA_(ay), _DA_(az), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Vect3 series // //----------------------------------------------------------------------------- struct _mgl_vec_slice { mglData x,y,z,ax,ay,az; }; //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_get_slice(_mgl_vec_slice &s, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, char dir, mreal d, bool both) { register long i,j,i0,n=ax->GetNx(),m=ax->GetNy(),l=ax->GetNz(), nx=1,ny=1,p; if(dir=='x') { nx = m; ny = l; if(d<0) d = n/2.; } if(dir=='y') { nx = n; ny = l; if(d<0) d = m/2.; } if(dir=='z') { nx = n; ny = m; if(d<0) d = l/2.; } s.x.Create(nx,ny); s.y.Create(nx,ny); s.z.Create(nx,ny); s.ax.Create(nx,ny); s.ay.Create(nx,ny); s.az.Create(nx,ny); p = long(d); d -= p; if(dir=='x' && p>=n-1) { d+=p-n+2; p=n-2; } if(dir=='y' && p>=m-1) { d+=p-m+2.; p=m-2; } if(dir=='z' && p>=l-1) { d+=p-l+2; p=l-2; } mreal v; if(both) { if(dir=='x') for(j=0;jv(p,i,j)*(1-d) + x->v(p+1,i,j)*d; s.y.a[i0] = y->v(p,i,j)*(1-d) + y->v(p+1,i,j)*d; s.z.a[i0] = z->v(p,i,j)*(1-d) + z->v(p+1,i,j)*d; s.ax.a[i0] = ax->v(p,i,j)*(1-d) + ax->v(p+1,i,j)*d; s.ay.a[i0] = ay->v(p,i,j)*(1-d) + ay->v(p+1,i,j)*d; s.az.a[i0] = az->v(p,i,j)*(1-d) + az->v(p+1,i,j)*d; } if(dir=='y') for(j=0;jv(i,p,j)*(1-d) + x->v(i,p+1,j)*d; s.y.a[i0] = y->v(i,p,j)*(1-d) + y->v(i,p+1,j)*d; s.z.a[i0] = z->v(i,p,j)*(1-d) + z->v(i,p+1,j)*d; s.ax.a[i0] = ax->v(i,p,j)*(1-d) + ax->v(i,p+1,j)*d; s.ay.a[i0] = ay->v(i,p,j)*(1-d) + ay->v(i,p+1,j)*d; s.az.a[i0] = az->v(i,p,j)*(1-d) + az->v(i,p+1,j)*d; } if(dir=='z') for(j=0;jv(i,j,p)*(1-d) + x->v(i,j,p+1)*d; s.y.a[i0] = y->v(i,j,p)*(1-d) + y->v(i,j,p+1)*d; s.z.a[i0] = z->v(i,j,p)*(1-d) + z->v(i,j,p+1)*d; s.ax.a[i0] = ax->v(i,j,p)*(1-d) + ax->v(i,j,p+1)*d; s.ay.a[i0] = ay->v(i,j,p)*(1-d) + ay->v(i,j,p+1)*d; s.az.a[i0] = az->v(i,j,p)*(1-d) + az->v(i,j,p+1)*d; } } else // x, y, z -- vectors { if(dir=='x') { v = x->v(p)*(1-d)+x->v(p+1)*d; for(j=0;jv(i); s.z.a[i0] = z->v(j); s.ax.a[i0] = ax->v(p,i,j)*(1-d) + ax->v(p+1,i,j)*d; s.ay.a[i0] = ay->v(p,i,j)*(1-d) + ay->v(p+1,i,j)*d; s.az.a[i0] = az->v(p,i,j)*(1-d) + az->v(p+1,i,j)*d; } } if(dir=='y') { v = y->v(p)*(1-d)+y->v(p+1)*d; for(j=0;jv(i); s.z.a[i0] = z->v(j); s.ax.a[i0] = ax->v(i,p,j)*(1-d) + ax->v(i,p+1,j)*d; s.ay.a[i0] = ay->v(i,p,j)*(1-d) + ay->v(i,p+1,j)*d; s.az.a[i0] = az->v(i,p,j)*(1-d) + az->v(i,p+1,j)*d; } } if(dir=='z') { v = z->v(p)*(1-d)+z->v(p+1)*d; for(j=0;jv(i); s.y.a[i0] = y->v(j); s.ax.a[i0] = ax->v(i,j,p)*(1-d) + ax->v(i,j,p+1)*d; s.ay.a[i0] = ay->v(i,j,p)*(1-d) + ay->v(i,j,p+1)*d; s.az.a[i0] = az->v(i,j,p)*(1-d) + az->v(i,j,p+1)*d; } } } } //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_get_slice_md(_mgl_vec_slice &s, const mglData *x, const mglData *y, const mglData *z, const mglData *ax, const mglData *ay, const mglData *az, char dir, mreal d, bool both) { register long i,j,i0,i1,n=ax->nx,m=ax->ny,l=ax->nz, nx=1,ny=1,p; if(dir=='x') { nx = m; ny = l; if(d<0) d = n/2.; } if(dir=='y') { nx = n; ny = l; if(d<0) d = m/2.; } if(dir=='z') { nx = n; ny = m; if(d<0) d = l/2.; } s.x.Create(nx,ny); s.y.Create(nx,ny); s.z.Create(nx,ny); s.ax.Create(nx,ny); s.ay.Create(nx,ny); s.az.Create(nx,ny); p = long(d); d -= p; if(dir=='x' && p>=n-1) { d+=p-n+2; p=n-2; } if(dir=='y' && p>=m-1) { d+=p-m+2.; p=m-2; } if(dir=='z' && p>=l-1) { d+=p-l+2; p=l-2; } mreal v; if(both) { if(dir=='x') for(j=0;ja[i1]*(1-d) + x->a[i1+1]*d; s.y.a[i0] = y->a[i1]*(1-d) + y->a[i1+1]*d; s.z.a[i0] = z->a[i1]*(1-d) + z->a[i1+1]*d; s.ax.a[i0] = ax->a[i1]*(1-d) + ax->a[i1+1]*d; s.ay.a[i0] = ay->a[i1]*(1-d) + ay->a[i1+1]*d; s.az.a[i0] = az->a[i1]*(1-d) + az->a[i1+1]*d; } if(dir=='y') for(j=0;ja[i1]*(1-d) + x->a[i1+n]*d; s.y.a[i0] = y->a[i1]*(1-d) + y->a[i1+n]*d; s.z.a[i0] = z->a[i1]*(1-d) + z->a[i1+n]*d; s.ax.a[i0] = ax->a[i1]*(1-d) + ax->a[i1+n]*d; s.ay.a[i0] = ay->a[i1]*(1-d) + ay->a[i1+n]*d; s.az.a[i0] = az->a[i1]*(1-d) + az->a[i1+n]*d; } if(dir=='z') for(j=0;ja[i1]*(1-d) + x->a[i1+n*m]*d; s.y.a[i0] = y->a[i1]*(1-d) + y->a[i1+n*m]*d; s.z.a[i0] = z->a[i1]*(1-d) + z->a[i1+n*m]*d; s.ax.a[i0] = ax->a[i1]*(1-d) + ax->a[i1+n*m]*d; s.ay.a[i0] = ay->a[i1]*(1-d) + ay->a[i1+n*m]*d; s.az.a[i0] = az->a[i1]*(1-d) + az->a[i1+n*m]*d; } } else // x, y, z -- vectors { if(dir=='x') { v = x->a[p]*(1-d)+x->a[p+1]*d; for(j=0;ja[i]; s.z.a[i0] = z->a[j]; s.ax.a[i0] = ax->a[i1]*(1-d) + ax->a[i1+1]*d; s.ay.a[i0] = ay->a[i1]*(1-d) + ay->a[i1+1]*d; s.az.a[i0] = az->a[i1]*(1-d) + az->a[i1+1]*d; } } if(dir=='y') { v = y->a[p]*(1-d)+y->a[p+1]*d; for(j=0;ja[i]; s.z.a[i0] = z->a[j]; s.ax.a[i0] = ax->a[i1]*(1-d) + ax->a[i1+n]*d; s.ay.a[i0] = ay->a[i1]*(1-d) + ay->a[i1+n]*d; s.az.a[i0] = az->a[i1]*(1-d) + az->a[i1+n]*d; } } if(dir=='z') { v = z->a[p]*(1-d)+z->a[p+1]*d; for(j=0;ja[i]; s.y.a[i0] = y->a[j]; s.ax.a[i0] = ax->a[i1]*(1-d) + ax->a[i1+n*m]*d; s.ay.a[i0] = ay->a[i1]*(1-d) + ay->a[i1+n*m]*d; s.az.a[i0] = az->a[i1]*(1-d) + az->a[i1+n*m]*d; } } } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, double sVal, const char *opt) { bool both = mgl_isboth(x,y,z,ax); if(mgl_check_vec3(gr,x,y,z,ax,ay,az,"Vect3")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Vect3",cgid++); char dir='y'; if(mglchr(sch,'x')) dir='x'; if(mglchr(sch,'z')) dir='z'; bool dot = mglchr(sch,'.'); bool fix = mglchr(sch,'f'); bool end = mglchr(sch,'>'); bool beg = mglchr(sch,'<'); bool grd = mglchr(sch,'='); long ss = gr->AddTexture(sch); _mgl_vec_slice s; const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); const mglData *mz = dynamic_cast(z); const mglData *max = dynamic_cast(ax); const mglData *may = dynamic_cast(ay); const mglData *maz = dynamic_cast(az); if(mx&&my&&mz&&max&&may&&maz) mgl_get_slice_md(s,mx,my,mz,max,may,maz,dir,sVal,both); else mgl_get_slice(s,x,y,z,ax,ay,az,dir,sVal,both); long i,j,n=s.ax.nx,m=s.ax.ny; long tx=1,ty=1; if(gr->MeshNum>1) { tx=(n-1)/(gr->MeshNum-1); ty=(m-1)/(gr->MeshNum-1); } if(tx<1) tx=1; if(ty<1) ty=1; mreal xm=0,cm=0,ca=0; mreal dd,dm=(fabs(gr->Max.c)+fabs(gr->Min.c))*1e-5; // use whole array for determining maximal vectors length mglPoint p1,p2, v, d=(gr->Max-gr->Min)/mglPoint(1./ax->GetNx(),1./ax->GetNy(),1./ax->GetNz()); mreal c1,c2, xx,yy,zz; register long i0, tn=ty*n; for(i=0;i2*ca) cm = 2*ca; // disable too narrow grid steps TODO: decide later xm = xm?1./xm:0; cm = cm?1./cm:0; long n1,n2; for(i=0;iStop) return; i0 = i+n*j; d = mglPoint(s.x.a[i0], s.y.a[i0], s.z.a[i0]); v = mglPoint(s.ax.a[i0], s.ay.a[i0], s.az.a[i0]); dd = v.norm(); v *= cm*(fix?(dd>dm ? 1./dd : 0) : xm); if(end) { p1 = d-v; p2 = d; } else if(beg) { p1 = d; p2 = d+v; } else { p1=d-v/2.; p2=d+v/2.; } if(grd) { c1=gr->GetC(ss,dd*xm-0.5,false); c2=gr->GetC(ss,dd*xm,false);} else c1 = c2 = gr->GetC(ss,dd*xm,false); n1=gr->AddPnt(p1,c1); n2=gr->AddPnt(p2,c2); // allow vectors outside bounding box if(n1<0 && n2>=0) n1=gr->AddPnt(p1,c1,mglPoint(NAN),-1,2); if(n2<0 && n1>=0) n2=gr->AddPnt(p2,c2,mglPoint(NAN),-1,2); if(dot) { gr->line_plot(n1,n2); gr->mark_plot(n1,'.'); } else gr->vect_plot(n1,n2); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect3(HMGL gr, HCDT ax, HCDT ay, HCDT az, const char *sch, double sVal, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()),z(ax->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_vect3_xyz(gr,&x,&y,&z,ax,ay,az,sch,sVal,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_vect3_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(ax), _DA_(ay), _DA_(az), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_vect3_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_vect3(_GR_, _DA_(ax), _DA_(ay), _DA_(az), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Flow 2d series // //----------------------------------------------------------------------------- void MGL_NO_EXPORT flow(mglBase *gr, double zVal, double u, double v, const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, long ss, bool vv) { long n=10*(ax.nx+ax.ny); bool both = x.nx==ax.nx && y.nx==ax.nx && x.ny==ax.ny && y.ny==ax.ny; mglPoint *pp = new mglPoint[n], dp; mreal *cc = new mreal[n]; mglPoint dx(1/fabs(gr->Max.x-gr->Min.x),1/fabs(gr->Max.y-gr->Min.y),1/fabs(gr->Max.z-gr->Min.z)); mreal dt = 0.5/(ax.nx > ax.ny ? ax.nx : ax.ny),e,f,g,ff[4],gg[4],h,s=1; if(u<0 || v<0) { dt = -dt; u = -u; v = -v; s = -1;} register long k=0,m; bool end = false; do{ if(gr->Stop) { delete []pp; delete []cc; return; } pp[k].x = both ? x.Spline1(u,v,0):x.Spline1(u,0,0); pp[k].y = both ? y.Spline1(u,v,0):y.Spline1(v,0,0); pp[k].z = zVal; for(m=0;mGetC(ss,s*h); if(h<1e-5) break; // stationary point k++; // find next point by midpoint method h+=1; ff[0]=f*dt/h; gg[0]=g*dt/h; e = u+ff[0]/2; h = v+gg[0]/2; f = ax.Linear1(e,h,0); g = ay.Linear1(e,h,0); h = 1+hypot(f,g); ff[1]=f*dt/h; gg[1]=g*dt/h; e = u+ff[1]/2; h = v+gg[1]/2; f = ax.Linear1(e,h,0); g = ay.Linear1(e,h,0); h = 1+hypot(f,g); ff[2]=f*dt/h; gg[2]=g*dt/h; e = u+ff[2]; h = v+gg[2]; f = ax.Linear1(e,h,0); g = ay.Linear1(e,h,0); h = 1+hypot(f,g); ff[3]=f*dt/h; gg[3]=g*dt/h; u += ff[0]/6+ff[1]/3+ff[2]/3+ff[3]/6; v += gg[0]/6+gg[1]/3+gg[2]/3+gg[3]/6; // condition of end end = end || k>=n || u<0 || v<0 || u>1 || v>1; } while(!end); if(k>1) { long i,j,jj,a=long(1./fabs(dt)); gr->Reserve(k); j = gr->AddPnt(pp[0],cc[0]); for(i=1;iAddPnt(pp[i],cc[i]); if(vv && i%a==0) { if(dt<0) gr->vect_plot(j,jj,a/5); else gr->vect_plot(jj,j,a/5); } else gr->line_plot(jj,j); } } delete []pp; delete []cc; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flow_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt) { mreal u,v; if(mgl_check_dim2(gr,x,y,ax,ay,"Flow")) return; mreal r = gr->SaveState(opt); long num = mgl_isnan(r)?5:long(r+0.5); static int cgid=1; gr->StartGroup("Flow",cgid++); long ss = gr->AddTexture(sch); bool vv = mglchr(sch,'v'); // allocate memory mreal zVal = gr->Min.z; bool cnt=!mglchr(sch,'#'); mglData xx(x), yy(y), bx(ax), by(ay); for(long k=0;kGetNz();k++) { if(ax->GetNz()>1) zVal = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(k)/(ax->GetNz()-1); for(long i=0;iStop) return; u = 0; v = (i+1.)/(num+1.); flow(gr, zVal, u, v, xx, yy, bx, by,ss,vv); flow(gr, zVal, -u, -v, xx, yy, bx, by,ss,vv); u = 1; v = (i+1.)/(num+1.); flow(gr, zVal, u, v, xx, yy, bx, by,ss,vv); flow(gr, zVal, -u, -v, xx, yy, bx, by,ss,vv); u = (i+1.)/(num+1.); v = 0; flow(gr, zVal, u, v, xx, yy, bx, by,ss,vv); flow(gr, zVal, -u, -v, xx, yy, bx, by,ss,vv); u = (i+1.)/(num+1.); v = 1; flow(gr, zVal, u, v, xx, yy, bx, by,ss,vv); flow(gr, zVal, -u, -v, xx, yy, bx, by,ss,vv); if(cnt) { u = 0.5; v = (i+1.)/(num+1.); flow(gr, zVal, u, v, xx, yy, bx, by,ss,vv); flow(gr, zVal, -u, -v, xx, yy, bx, by,ss,vv); u = (i+1.)/(num+1.); v = 0.5; flow(gr, zVal, u, v, xx, yy, bx, by,ss,vv); flow(gr, zVal, -u, -v, xx, yy, bx, by,ss,vv); } } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flow_2d(HMGL gr, HCDT ax, HCDT ay, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_flow_xy(gr,&x,&y,ax,ay,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flow_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_flow_xy(_GR_, _DA_(x), _DA_(y), _DA_(ax), _DA_(ay), s, o); delete []o; delete []s; } void MGL_EXPORT mgl_flow_2d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_flow_2d(_GR_, _DA_(ax), _DA_(ay), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flowp_xy(HMGL gr, double x0, double y0, double z0, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt) { mglPoint p(x0,y0,z0); mreal u,v; long n=ax->GetNx(), m=ax->GetNy(); bool both = x->GetNx()==n && y->GetNx()==n && x->GetNy()==m && y->GetNy()==m; if(mgl_check_dim2(gr,x,y,ax,ay,"FlowP")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("FlowP",cgid++); long ss = gr->AddTexture(sch); bool vv = mglchr(sch,'v'); // find coordinates u, v register long i,j; register mreal d, dm=1e7; long i0=0,j0=0; for(i=0;iv(i,j)-p.x,y->v(i,j)-p.y) : hypot(x->v(i)-p.x,y->v(j)-p.y); if(dv(i0,j0)-p.x; dy = y->v(i0,j0)-p.y; dxu= x->dvx(i0,j0); dyu= y->dvx(i0,j0); dxv= x->dvy(i0,j0); dyv= y->dvy(i0,j0); d = dxv*dyu-dxu*dyv; u = (i0+(dxv*dy-dx*dyv)/d)/n; v = (j0-(dxu*dy-dx*dyu)/d)/m; } else { dx = x->v(i0)-p.x; dy = y->v(j0)-p.y; dxu= x->dvx(i0); dyv= y->dvx(j0); u = (i0+dx/dxu)/n; v = (j0+dy/dyv)/m; } } mglData xx(x), yy(y), bx(ax), by(ay); flow(gr, p.z, u, v, xx, yy, bx, by,ss,vv); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flowp_2d(HMGL gr, double x0, double y0, double z0, HCDT ax, HCDT ay, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_flowp_xy(gr,x0,y0,z0,&x,&y,ax,ay,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flowp_xy_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_flowp_xy(_GR_, *x0,*y0,*z0, _DA_(x), _DA_(y), _DA_(ax), _DA_(ay), s, o); delete []o; delete []s; } void MGL_EXPORT mgl_flowp_2d_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_flowp_2d(_GR_, *x0,*y0,*z0, _DA_(ax), _DA_(ay), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Flow 3d series // //----------------------------------------------------------------------------- void flow(mglBase *gr, double u, double v, double w, const mglData &x, const mglData &y, const mglData &z, const mglData &ax, const mglData &ay, const mglData &az,long ss,bool vv, bool xo, bool zo) { static long n=10*(ax.nx+ax.ny); long nn = ax.nx*ax.ny*ax.nz; bool both = x.nx*x.ny*x.nz==nn && y.nx*y.ny*y.nz==nn && z.nx*z.ny*z.nz==nn; mglPoint *pp = new mglPoint[n], dp; mreal *cc = new mreal[n]; mglPoint dx(1/fabs(gr->Max.x-gr->Min.x),1/fabs(gr->Max.y-gr->Min.y),1/fabs(gr->Max.z-gr->Min.z)); nn = (ax.nx > ax.ny ? ax.nx : ax.ny); nn = (nn > ax.nz ? nn : ax.nz); mreal dt = 0.2/nn, e,f,g,ee[4],ff[4],gg[4],h,s=1,u1,v1,w1; if(u<0 || v<0 || w<0) { dt = -dt; u = -u; v = -v; w = -w; s = -1;} register long k=0,m; bool end = false; do{ if(gr->Stop) { delete []pp; delete []cc; return; } pp[k].x = both ? x.Spline1(u,v,w):x.Spline1(u,0,0); pp[k].y = both ? y.Spline1(u,v,w):y.Spline1(v,0,0); pp[k].z = both ? z.Spline1(u,v,w):z.Spline1(w,0,0); for(m=0;mGetC(ss,s*h); if(h<1e-5) break; // stationary point k++; // find next point by midpoint method h+=1; ee[0]=e*dt/h; ff[0]=f*dt/h; gg[0]=g*dt/h; u1 = u+ee[0]/2; v1 = v+ff[0]/2; w1 = w+gg[0]/2; e = ax.Linear1(u1,v1,w1); f = ay.Linear1(u1,v1,w1); g = az.Linear1(u1,v1,w1); h = 1+sqrt(e*e+f*f+g*g); ee[1]=e*dt/h; ff[1]=f*dt/h; gg[1]=g*dt/h; u1 = u+ee[1]/2; v1 = v+ff[1]/2; w1 = w+gg[1]/2; e = ax.Linear1(u1,v1,w1); f = ay.Linear1(u1,v1,w1); g = az.Linear1(u1,v1,w1); h = 1+sqrt(e*e+f*f+g*g); ee[2]=e*dt/h; ff[2]=f*dt/h; gg[2]=g*dt/h; u1 = u+ee[2]; v1 = v+ff[2]; w1 = w+gg[2]; e = ax.Linear1(u1,v1,w1); f = ay.Linear1(u1,v1,w1); g = az.Linear1(u1,v1,w1); h = 1+sqrt(e*e+f*f+g*g); ee[3]=e*dt/h; ff[3]=f*dt/h; gg[3]=g*dt/h; u += ee[0]/6+ee[1]/3+ee[2]/3+ee[3]/6; v += ff[0]/6+ff[1]/3+ff[2]/3+ff[3]/6; w += gg[0]/6+gg[1]/3+gg[2]/3+gg[3]/6; // condition of end end = end || k>=n || u<0 || v<0 || u>1 || v>1 || w<0 || w>1; } while(!end); if(k>1) { long i,j,jj,a=long(1./fabs(dt)); mreal rr = mgl_norm(gr->Max-gr->Min)*gr->BarWidth/25, ll; mglPoint q1,q2,l; long n1=-1,n2=-1,n3=-1,n4=-1, m1=-1,m2=-1,m3=-1,m4=-1; gr->Reserve(4*k); j = gr->AddPnt(pp[0],cc[0]); l = pp[1] - pp[0]; l /= mgl_norm(l); q1 = mglPoint(l.y,-l.x,0); ll = mgl_norm(q1); if(ll) q1 /= ll; else q1 = mglPoint(0,1,0); q2 = q1^l; if(xo) { n1 = gr->AddPnt(pp[0],-1,q2); n2 = gr->AddPnt(pp[0]+rr*q1,-1,q2); } if(zo) { n3 = gr->AddPnt(pp[0],-1,q1); n4 = gr->AddPnt(pp[0]+rr*q2,-1,q1); } for(i=1;iAddPnt(pp[i],cc[i]); if(vv && i%a==0) { if(dt<0) gr->vect_plot(j,jj,a/5); else gr->vect_plot(jj,j,a/5); } else gr->line_plot(jj,j); l = pp[i]-pp[i-1]; l /= mgl_norm(l); q1 -= l*(l*q1); q1/= mgl_norm(q1); q2 = q1^l; m1 = n1; m2 = n2; m3 = n3; m4 = n4; if(xo) { n1 = gr->AddPnt(pp[i],-1,q2); n2 = gr->AddPnt(pp[i]+rr*q1,-1,q2); gr->quad_plot(n1,n2,m1,m2); } if(zo) { n3 = gr->AddPnt(pp[i],-1,q1); n4 = gr->AddPnt(pp[i]+rr*q2,-1,q1); gr->quad_plot(n3,n4,m3,m4); } } } delete []pp; delete []cc; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flow_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt) { mreal u,v,w; long i,j; if(mgl_check_vec3(gr,x,y,z,ax,ay,az,"Flow3")) return; mreal r = gr->SaveState(opt); long num = mgl_isnan(r)?3:long(r+0.5); static int cgid=1; gr->StartGroup("Flow3",cgid++); bool cnt=!mglchr(sch,'#'); long ss = gr->AddTexture(sch); bool vv = mglchr(sch,'v'), xo = mglchr(sch,'x'), zo = mglchr(sch,'z'); mglData xx(x), yy(y), zz(z), bx(ax), by(ay), bz(az); for(i=0;iStop) return; u = (i+1.)/(num+1.); v = (j+1.)/(num+1.); w = 0; flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); flow(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); u = (i+1.)/(num+1.); v = (j+1.)/(num+1.); w = 1; flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); flow(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); u = 0; v = (j+1.)/(num+1.); w = (i+1.)/(num+1.); flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); flow(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); u = 1; v = (j+1.)/(num+1.); w = (i+1.)/(num+1.); flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); flow(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); u = (i+1.)/(num+1.); v = 0; w = (j+1.)/(num+1.); flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); flow(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); u = (i+1.)/(num+1.); v = 1; w = (j+1.)/(num+1.); flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); flow(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); if(cnt) { u = (i+1.)/(num+1.); v = (j+1.)/(num+1.); w = 0.5; flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); flow(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); u = 0.5; v = (j+1.)/(num+1.); w = (i+1.)/(num+1.); flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); flow(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); u = (i+1.)/(num+1.); v = 0.5; w = (j+1.)/(num+1.); flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); flow(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flow_3d(HMGL gr, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()), z(ax->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_flow_xyz(gr,&x,&y,&z,ax,ay,az,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flow_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_flow_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(ax), _DA_(ay), _DA_(az), s, o); delete []o; delete []s; } void MGL_EXPORT mgl_flow_3d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_flow_3d(_GR_, _DA_(ax), _DA_(ay), _DA_(az), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flowp_xyz(HMGL gr, double x0, double y0, double z0, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt) { mglPoint p(x0,y0,z0); mreal u,v,w; long n=ax->GetNx(),m=ax->GetNy(),l=ax->GetNz(); bool both = x->GetNx()*x->GetNy()*x->GetNz()==n*m*l && y->GetNx()*y->GetNy()*y->GetNz()==n*m*l && z->GetNx()*z->GetNy()*z->GetNz()==n*m*l; if(mgl_check_vec3(gr,x,y,z,ax,ay,az,"FlowP3")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("FlowP3",cgid++); long ss = gr->AddTexture(sch); bool vv = mglchr(sch,'v'), xo = mglchr(sch,'x'), zo = mglchr(sch,'z'); // find coordinates u, v, w register long i,j,k; register mreal d, dm=1e7; long i0=0,j0=0,k0=0; mreal dx,dy,dz; for(i=0;iv(i,j,k)-p.x; dy = y->v(i,j,k)-p.y; dz = x->v(i,j,k)-p.z; } else { dx = x->v(i)-p.x; dy = y->v(j)-p.y; dz = x->v(k)-p.z; } d = sqrt(dx*dx+dy*dy+dz*dz); if(dv(i0,j0,k0)-p.x; dy = y->v(i0,j0,k0)-p.y; dz = z->v(i0,j0,k0)-p.z; dxu= x->dvx(i0,j0,k0); dyu= y->dvx(i0,j0,k0); dzu= z->dvx(i0,j0,k0); dxv= x->dvy(i0,j0,k0); dyv= y->dvy(i0,j0,k0); dzv= z->dvy(i0,j0,k0); dxw= x->dvz(i0,j0,k0); dyw= y->dvz(i0,j0,k0); dzw= z->dvz(i0,j0,k0); d = dxu*(dyw*dzv-dyv*dzw)+dxv*(dyu*dzw-dyw*dzu)+dxw*(dyv*dzu-dyu*dzv); u = (i0+(dx*(dyw*dzv-dyv*dzw)+dxv*(dy*dzw-dyw*dz)+dxw*(dyv*dz-dy*dzv))/d)/n; v = (j0-(dx*(dyw*dzu-dyu*dzw)+dxu*(dy*dzw-dyw*dz)+dxw*(dyu*dz-dy*dzu))/d)/m; w = (i0+(dx*(dyv*dzu-dyu*dzv)+dxu*(dy*dzv-dyv*dz)+dxv*(dyu*dz-dy*dzu))/d)/l; } else { dx = x->v(i0)-p.x; dy = y->v(j0)-p.y; dz = z->v(k0)-p.z; dxu= x->dvx(i0); dyv= y->dvx(j0); dzw= z->dvx(k0); u = (i0+dx/dxu)/n; v = (j0+dy/dyv)/m; w = (k0+dz/dzw)/m; } } mglData xx(x), yy(y), zz(z), bx(ax), by(ay), bz(az); flow(gr, u, v, w, xx, yy, zz, bx, by, bz,ss,vv,xo,zo); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flowp_3d(HMGL gr, double x0, double y0, double z0, HCDT ax, HCDT ay, HCDT az, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()), z(ax->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_flowp_xyz(gr, x0,y0,z0, &x,&y,&z,ax,ay,az,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_flowp_xyz_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_flowp_xyz(_GR_, *x0,*y0,*z0, _DA_(x), _DA_(y), _DA_(z), _DA_(ax), _DA_(ay), _DA_(az), s, o); delete []o; delete []s; } void MGL_EXPORT mgl_flowp_3d_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_flowp_3d(_GR_, *x0,*y0,*z0, _DA_(ax), _DA_(ay), _DA_(az), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Grad series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grad_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT phi, const char *sch, const char *opt) { mglData ax(phi), ay,az,xx,yy,zz; ay.Set(ax); az.Set(ax); xx.Set(ax); yy.Set(ax); zz.Set(ax); long n=xx.nx, m=xx.ny, l=xx.nz, nn = n*m*l; if(x->GetNx()*x->GetNy()*x->GetNz()==nn && y->GetNx()*y->GetNy()*y->GetNz()==nn && x->GetNx()*x->GetNy()*x->GetNz()==nn) { xx.Set(x); yy.Set(y); zz.Set(z); } // nothing to do else if(x->GetNx()==n && y->GetNx()==m && z->GetNx()==l) { // prepare data register long i,j,k,i0; for(i=0;iv(i); yy.a[i0] = y->v(j); zz.a[i0] = z->v(k); } } else { gr->SetWarn(mglWarnDim,"Grad"); return; } ax.Diff(xx,yy,zz); ay.Diff(yy,xx,zz); az.Diff(zz,xx,yy); mgl_flow_xyz(gr,&xx,&yy,&zz,&ax,&ay,&az,sch,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grad_xy(HMGL gr, HCDT x, HCDT y, HCDT phi, const char *sch, const char *opt) { mglData ax(phi), ay,xx,yy; ay.Set(ax); xx.Set(ax); yy.Set(ax); long n = phi->GetNx(), m=phi->GetNy(), nn=n*m; if(x->GetNx()*x->GetNy()==nn && y->GetNx()*y->GetNy()==nn) { xx.Set(x); yy.Set(y); } else if(x->GetNx()==n && y->GetNx()==m) { register long i,j,i0; for(i=0;iv(i); yy.a[i0] = y->v(j); } } else { gr->SetWarn(mglWarnDim,"Grad"); return; } ax.Diff(xx,yy); ay.Diff(yy,xx); mgl_flow_xy(gr,&xx,&yy,&ax,&ay,sch,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grad(HMGL gr, HCDT phi, const char *sch, const char *opt) { mglData x(phi->GetNx()), y(phi->GetNy()), z(phi->GetNz()); gr->SaveState(opt); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); if(phi->GetNz()==1) mgl_grad_xy(gr,&x,&y,phi,sch,0); else mgl_grad_xyz(gr,&x,&y,&z,phi,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grad_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ph, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_grad_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(ph), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grad_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ph, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_grad_xy(_GR_, _DA_(x), _DA_(y), _DA_(ph), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grad_(uintptr_t *gr, uintptr_t *ph, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_grad(_GR_, _DA_(ph), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Pipe 2d series // //----------------------------------------------------------------------------- void MGL_NO_EXPORT flowr(mglBase *gr, double zVal, double u, double v, const mglData &x, const mglData &y, const mglData &ax, const mglData &ay, double r0,long sc) { long n=10*(ax.nx+ax.ny); bool both = x.nx==ax.nx && y.nx==ax.nx && x.ny==ax.ny && y.ny==ax.ny; mglPoint *pp = new mglPoint[n], dp; mreal *cc = new mreal[n]; mglPoint dx(1/fabs(gr->Max.x-gr->Min.x),1/fabs(gr->Max.y-gr->Min.y),1/fabs(gr->Max.z-gr->Min.z)); mreal dt = 0.5/(ax.nx > ax.ny ? ax.nx : ax.ny),e,f,g,ff[4],gg[4],h,s=1; mreal ss = 4./mgl_ipow(gr->Max.c - gr->Min.c,2); if(u<0 || v<0) { dt = -dt; u = -u; v = -v; s = -1;} register long k=0,m; bool end = false; do{ if(gr->Stop) { delete []pp; delete []cc; return; } pp[k].x = both ? x.Spline1(u,v,0):x.Spline1(u,0,0); pp[k].y = both ? y.Spline1(u,v,0):y.Spline1(v,0,0); pp[k].z = zVal; for(m=0;mGetC(sc,s*h); pp[k].c = r0>0 ? r0*sqrt(1e-2+ss*h*h)/2 : -r0/sqrt(1e-2+ss*h*h)/5; if(h<1e-5) break; // stationary point k++; // find next point by midpoint method h+=1; ff[0]=f*dt/h; gg[0]=g*dt/h; e = u+ff[0]/2; h = v+gg[0]/2; f = ax.Linear1(e,h,0); g = ay.Linear1(e,h,0); h = 1+hypot(f,g); ff[1]=f*dt/h; gg[1]=g*dt/h; e = u+ff[1]/2; h = v+gg[1]/2; f = ax.Linear1(e,h,0); g = ay.Linear1(e,h,0); h = 1+hypot(f,g); ff[2]=f*dt/h; gg[2]=g*dt/h; e = u+ff[2]; h = v+gg[2]; f = ax.Linear1(e,h,0); g = ay.Linear1(e,h,0); h = 1+hypot(f,g); ff[3]=f*dt/h; gg[3]=g*dt/h; u += ff[0]/6+ff[1]/3+ff[2]/3+ff[3]/6; v += gg[0]/6+gg[1]/3+gg[2]/3+gg[3]/6; // condition of end end = end || k>=n || u<0 || v<0 || u>1 || v>1; } while(!end); if(k>1) { const int num=24; long i,j,*id=new long[2*num]; mglPoint p,l=pp[1]-pp[0],t,q,d; t = !l; t.Normalize(); q = t^l; q.Normalize(); mreal si,co,fi, rr=pp[0].c,dr=l.c; gr->Reserve(num*k); for(j=0;jAddPnt(p,cc[0],d); } for(i=1;iAddPnt(p,cc[i],d); if(j>0) gr->quad_plot(id[j-1],id[j],id[j+num-1],id[j+num]); } } delete []id; } delete []pp; delete []cc; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_pipe_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, double r0, const char *opt) { mreal u,v; if(mgl_check_dim2(gr,x,y,ax,ay,"Pipe")) return; mreal r = gr->SaveState(opt); long num = mgl_isnan(r)?5:long(r+0.5); static int cgid=1; gr->StartGroup("Pipe",cgid++); long ss = gr->AddTexture(sch); // allocate memory mreal zVal = gr->Min.z; bool cnt=!mglchr(sch,'#'); if(mglchr(sch,'i')) r0 = -fabs(r0); mglData xx(x), yy(y), bx(ax), by(ay); for(long k=0;kGetNz();k++) { if(ax->GetNz()>1) zVal = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(k)/(ax->GetNz()-1); for(long i=0;iStop) return; u = 0; v = (i+1.)/(num+1.); flowr(gr, zVal, u, v, xx, yy, bx, by,r0,ss); flowr(gr, zVal, -u, -v, xx, yy, bx, by,r0,ss); u = 1; v = (i+1.)/(num+1.); flowr(gr, zVal, u, v, xx, yy, bx, by,r0,ss); flowr(gr, zVal, -u, -v, xx, yy, bx, by,r0,ss); u = (i+1.)/(num+1.); v = 0; flowr(gr, zVal, u, v, xx, yy, bx, by,r0,ss); flowr(gr, zVal, -u, -v, xx, yy, bx, by,r0,ss); u = (i+1.)/(num+1.); v = 1; flowr(gr, zVal, u, v, xx, yy, bx, by,r0,ss); flowr(gr, zVal, -u, -v, xx, yy, bx, by,r0,ss); if(cnt) { u = 0.5; v = (i+1.)/(num+1.); flowr(gr, zVal, u, v, xx, yy, bx, by,r0,ss); flowr(gr, zVal, -u, -v, xx, yy, bx, by,r0,ss); u = (i+1.)/(num+1.); v = 0.5; flowr(gr, zVal, u, v, xx, yy, bx, by,r0,ss); flowr(gr, zVal, -u, -v, xx, yy, bx, by,r0,ss); } } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_pipe_2d(HMGL gr, HCDT ax, HCDT ay, const char *sch, double r0, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_pipe_xy(gr,&x,&y,ax,ay,sch,r0,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_pipe_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, mreal *r0, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_pipe_xy(_GR_, _DA_(x), _DA_(y), _DA_(ax), _DA_(ay), s, *r0, o); delete []o; delete []s; } void MGL_EXPORT mgl_pipe_2d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, const char *sch, mreal *r0, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_pipe_2d(_GR_, _DA_(ax), _DA_(ay), s, *r0, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Pipe 3d series // //----------------------------------------------------------------------------- void flowr(mglBase *gr, double u, double v, double w, const mglData &x, const mglData &y, const mglData &z, const mglData &ax, const mglData &ay, const mglData &az, double r0,long sc) { static long n=10*(ax.nx+ax.ny); long nn = ax.nx*ax.ny*ax.nz; bool both = x.nx*x.ny*x.nz==nn && y.nx*y.ny*y.nz==nn && z.nx*z.ny*z.nz==nn; mglPoint *pp = new mglPoint[n], dp; mreal *cc = new mreal[n]; mglPoint dx(1/fabs(gr->Max.x-gr->Min.x),1/fabs(gr->Max.y-gr->Min.y),1/fabs(gr->Max.z-gr->Min.z)); nn = (ax.nx > ax.ny ? ax.nx : ax.ny); nn = (nn > ax.nz ? nn : ax.nz); mreal dt = 0.2/nn, e,f,g,ee[4],ff[4],gg[4],h,s=1,u1,v1,w1; mreal ss = 4./mgl_ipow(gr->Max.c - gr->Min.c,2); if(u<0 || v<0 || w<0) { dt = -dt; u = -u; v = -v; w = -w; s = -1;} register long k=0,m; bool end = false; do{ if(gr->Stop) { delete []pp; delete []cc; return; } pp[k].x = both ? x.Spline1(u,v,w):x.Spline1(u,0,0); pp[k].y = both ? y.Spline1(u,v,w):y.Spline1(v,0,0); pp[k].z = both ? z.Spline1(u,v,w):z.Spline1(w,0,0); for(m=0;mGetC(sc,s*h); pp[k].c = r0>0 ? r0*sqrt(1e-2+ss*h*h)/2 : -r0/sqrt(1e-2+ss*h*h)/5; if(h<1e-5) break; // stationary point k++; // find next point by midpoint method h+=1; ee[0]=e*dt/h; ff[0]=f*dt/h; gg[0]=g*dt/h; u1 = u+ee[0]/2; v1 = v+ff[0]/2; w1 = w+gg[0]/2; e = ax.Linear1(u1,v1,w1); f = ay.Linear1(u1,v1,w1); g = az.Linear1(u1,v1,w1); h = 1+sqrt(e*e+f*f+g*g); ee[1]=e*dt/h; ff[1]=f*dt/h; gg[1]=g*dt/h; u1 = u+ee[1]/2; v1 = v+ff[1]/2; w1 = w+gg[1]/2; e = ax.Linear1(u1,v1,w1); f = ay.Linear1(u1,v1,w1); g = az.Linear1(u1,v1,w1); h = 1+sqrt(e*e+f*f+g*g); ee[2]=e*dt/h; ff[2]=f*dt/h; gg[2]=g*dt/h; u1 = u+ee[2]; v1 = v+ff[2]; w1 = w+gg[2]; e = ax.Linear1(u1,v1,w1); f = ay.Linear1(u1,v1,w1); g = az.Linear1(u1,v1,w1); h = 1+sqrt(e*e+f*f+g*g); ee[3]=e*dt/h; ff[3]=f*dt/h; gg[3]=g*dt/h; u += ee[0]/6+ee[1]/3+ee[2]/3+ee[3]/6; v += ff[0]/6+ff[1]/3+ff[2]/3+ff[3]/6; w += gg[0]/6+gg[1]/3+gg[2]/3+gg[3]/6; // condition of end end = end || k>=n || u<0 || v<0 || u>1 || v>1 || w<0 || w>1; } while(!end); if(k>1) { const int num=24; long i,j,*id=new long[2*num]; mglPoint p,l=pp[1]-pp[0],t,q,d; t = !l; t.Normalize(); q = t^l; q.Normalize(); mreal si,co,fi, rr=pp[0].c,dr=l.c; gr->Reserve(num*k); for(j=0;jAddPnt(p,cc[0],d); } for(i=1;iAddPnt(p,cc[i],d); if(j>0) gr->quad_plot(id[j-1],id[j],id[j+num-1],id[j+num]); } } delete []id; } delete []pp; delete []cc; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_pipe_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *sch, double r0, const char *opt) { mreal u,v,w; long i,j; if(mgl_check_vec3(gr,x,y,z,ax,ay,az,"Vect")) return; mreal r = gr->SaveState(opt); long num = mgl_isnan(r)?3:long(r+0.5); static int cgid=1; gr->StartGroup("Pipe3",cgid++); if(mglchr(sch,'i')) r0 = -fabs(r0); long ss = gr->AddTexture(sch); bool cnt=!mglchr(sch,'#'); mglData xx(x), yy(y), zz(z), bx(ax), by(ay), bz(az); for(i=0;iStop) return; u = (i+1.)/(num+1.); v = (j+1.)/(num+1.); w = 0; flowr(gr, u, v, w, xx, yy, zz, bx, by, bz,r0,ss); flowr(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,r0,ss); u = (i+1.)/(num+1.); v = (j+1.)/(num+1.); w = 1; flowr(gr, u, v, w, xx, yy, zz, bx, by, bz,r0,ss); flowr(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,r0,ss); u = 0; v = (j+1.)/(num+1.); w = (i+1.)/(num+1.); flowr(gr, u, v, w, xx, yy, zz, bx, by, bz,r0,ss); flowr(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,r0,ss); u = 1; v = (j+1.)/(num+1.); w = (i+1.)/(num+1.); flowr(gr, u, v, w, xx, yy, zz, bx, by, bz,r0,ss); flowr(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,r0,ss); u = (i+1.)/(num+1.); v = 0; w = (j+1.)/(num+1.); flowr(gr, u, v, w, xx, yy, zz, bx, by, bz,r0,ss); flowr(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,r0,ss); u = (i+1.)/(num+1.); v = 1; w = (j+1.)/(num+1.); flowr(gr, u, v, w, xx, yy, zz, bx, by, bz,r0,ss); flowr(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,r0,ss); if(cnt) { u = (i+1.)/(num+1.); v = (j+1.)/(num+1.); w = 0.5; flowr(gr, u, v, w, xx, yy, zz, bx, by, bz,r0,ss); flowr(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,r0,ss); u = 0.5; v = (j+1.)/(num+1.); w = (i+1.)/(num+1.); flowr(gr, u, v, w, xx, yy, zz, bx, by, bz,r0,ss); flowr(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,r0,ss); u = (i+1.)/(num+1.); v = 0.5; w = (j+1.)/(num+1.); flowr(gr, u, v, w, xx, yy, zz, bx, by, bz,r0,ss); flowr(gr,-u,-v,-w, xx, yy, zz, bx, by, bz,r0,ss); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_pipe_3d(HMGL gr, HCDT ax, HCDT ay, HCDT az, const char *sch, double r0, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()), z(ax->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_pipe_xyz(gr,&x,&y,&z,ax,ay,az,sch,r0,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_pipe_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, mreal *r0, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_pipe_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(ax), _DA_(ay), _DA_(az), s, *r0, o); delete []o; delete []s; } void MGL_EXPORT mgl_pipe_3d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, uintptr_t *az, const char *sch, mreal *r0, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_pipe_3d(_GR_, _DA_(ax), _DA_(ay), _DA_(az), s, *r0, o); delete []o; delete []s; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/cont.cpp0000664000175000017500000020534312142400470015155 0ustar balakinbalakin/*************************************************************************** * cont.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ // NOTE: Borland before 2007 (i.e. < 0x0600) use , fter 0x0630 it use . // I don't find information about 2009, 2010 versions (i.e. 0x0610 and 0x0620). // May be condition below can be rewritten as (__CODEGEARC__ >= 0x0600) #if !defined(__BORLANDC__) || (__CODEGEARC__ >= 0x0630) #include #else #include #endif #include "mgl2/surf.h" #include "mgl2/cont.h" #include "mgl2/data.h" #include "mgl2/eval.h" #include "mgl2/font.h" //----------------------------------------------------------------------------- // // Text printing along a curve // //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_string_curve(mglBase *gr,long f,long ,long *ff,long *nn,const wchar_t *text, const char *font, mreal size) { if(f<0 || nn[f]==-1) return; // do nothing since there is no curve if(!font) font=""; int pos = strchr(font,'T') ? 1:-1, align; char cc=mglGetStyle(font,0,&align); align = align&3; mreal c=cc ? -cc : gr->GetClrC(ff[f]); mreal h=gr->TextHeight(font,size)/2, tet, tt; wchar_t L[2]=L"a"; register long i,j,k,m; std::vector qa, qb; // curves above and below original mglPoint p=gr->GetPntP(ff[f]), q=p, s=gr->GetPntP(ff[nn[f]]), l=!(s-q), t=l; qa.push_back(q+l*h); qb.push_back(q-l*h); for(i=nn[f];i>=0 && i!=f;i=nn[i]) // construct curves { if(gr->Stop) return; p=q; q=s; l=t; if(nn[i]>=0 && ff[nn[i]]>=0) { s=gr->GetPntP(ff[nn[i]]); t=!(s-q); } tet = t.x*l.y-t.y*l.x; tt = 1+fabs(t.x*l.x+t.y*l.y); if(tet>0) { qa.push_back(q+l*h); qa.push_back(q+t*h); qb.push_back(q-(l+t)*(h/tt)); } else if(tet<0) { qb.push_back(q-l*h); qb.push_back(q-t*h); qa.push_back(q+(l+t)*(h/tt)); } else { qa.push_back(q+l*h); qb.push_back(q-l*h); } } if(pos>0) qa=qb; // adjust text direction bool rev = align==2; char *fnt = new char[strlen(font)+3]; strcpy(fnt,font); if(qa[0].x>qa[1].x) { if(align==0){ strcat(fnt,":R"); align=2; } else if(align==1) rev = true; else { strcat(fnt,":L"); align=0; } } if(rev) reverse(qa.begin(),qa.end()); long len = wcslen(text); mreal *wdt=new mreal[len+1]; for(j=0;jTextWidth(L,font,size); } wdt[len]=0; // place glyphs points mglPoint *pt=new mglPoint[len+1]; pt[0] = qa[0]; m = qa.size(); // next string for testing curve position //for(i=0;imark_plot(gr->AddPnt(qa[i],c,s,-1,-1),'.'); mreal a,b,d,w,t1,t2; for(i=j=0,tt=0;jStop) { delete []wdt; delete []pt; delete []fnt; return; } w = align==1 ? wdt[j] : (wdt[j]+wdt[j+1])/2; p = pt[j]; for(k=i+1;kw) break; if(k>i+1 && ka*d should be here! if(b*b>1e3*a*d) { t1 = d/(b+w); t2 = d/(b-w); } // keep precision else { t1 = (b-w)/a; t2 = (b+w)/a; } if(t1<0 || t1text_plot(gr->AddPnt(pt[j]+(pos*h)*l,c,s,-1,-1),L,font,size,0.05,c); } delete []wdt; delete []pt; delete []fnt; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textw_xyz(HMGL gr, HCDT x, HCDT y, HCDT z,const wchar_t *text, const char *font, const char *opt) { long n=y->GetNx(); if(mgl_check_dim1(gr,x,y,z,0,"Text")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("TextC",cgid++); long *nn = new long[n], *ff = new long[n]; mglPoint p; register long i; const mglData *mdx = dynamic_cast(x); const mglData *mdy = dynamic_cast(y); const mglData *mdz = dynamic_cast(z); if(mdx && mdy && mdz) for(i=0;ia[i],mdy->a[i],mdz->a[i]); ff[i] = gr->AddPnt(p,-1); } else for(i=0;iv(i),y->v(i),z->v(i)); ff[i] = gr->AddPnt(p,-1); } for(i=1;iEndGroup(); delete []ff; delete []nn; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textw_xy(HMGL gr, HCDT x, HCDT y, const wchar_t *text, const char *font, const char *opt) { gr->SaveState(opt); mglData z(y->GetNx()); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_textw_xyz(gr,x,y,&z,text,font,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textw_y(HMGL gr, HCDT y, const wchar_t *text, const char *font, const char *opt) { gr->SaveState(opt); mglData x(y->GetNx()), z(y->GetNx()); x.Fill(gr->Min.x,gr->Max.x); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_textw_xyz(gr,&x,y,&z,text,font,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_text_xyz(HMGL gr, HCDT x, HCDT y, HCDT z,const char *text, const char *font, const char *opt) { size_t s = mbstowcs(0,text,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,text,s); mgl_textw_xyz(gr,x,y,z, wcs, font, opt); delete []wcs; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_text_xy(HMGL gr, HCDT x, HCDT y, const char *text, const char *font, const char *opt) { mglData z(y->GetNx()); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_text_xyz(gr,x,y,&z,text,font,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_text_y(HMGL gr, HCDT y, const char *text, const char *font, const char *opt) { mglData x(y->GetNx()), z(y->GetNx()); x.Fill(gr->Min.x,gr->Max.x); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_text_xyz(gr,&x,y,&z,text,font,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_text_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z,const char *text,const char *font, const char *opt,int l,int n,int lo) { char *s=new char[l+1]; memcpy(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,font,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_text_xyz(_GR_, _DA_(x),_DA_(y), _DA_(z), s, f, o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_text_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *text, const char *font, const char *opt, int l,int n,int lo) { char *s=new char[l+1]; memcpy(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,font,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_text_xy(_GR_, _DA_(x),_DA_(y),s,f,o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_text_y_(uintptr_t *gr, uintptr_t *y, const char *text, const char *font, const char *opt, int l,int n,int lo) { char *s=new char[l+1]; memcpy(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,font,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_text_y(_GR_, _DA_(y),s,f,o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- // // Cont series // //----------------------------------------------------------------------------- struct mglSegment { long next,prev; mglPoint p1,p2; mglSegment(mglPoint q1,mglPoint q2) {p1=q1;p2=q2;next=prev=-1;} }; // function for connecting arbitrary line segments /*void MGL_NO_EXPORT mgl_connect(HMGL gr, mreal val, HCDT a, HCDT x, HCDT y, HCDT z, mreal c, int text,long ak) { long n=a->GetNx(), m=a->GetNy(); if(n<2 || m<2 || x->GetNx()*x->GetNy()!=n*m || y->GetNx()*y->GetNy()!=n*m || z->GetNx()*z->GetNy()!=n*m) { gr->SetWarn(mglWarnDim,"ContGen"); return; } std::vector ss,cc; register long i,j; mreal d1,d2,d3,d4; bool o1,o2,o3,o4; mglPoint p1,p2,p3,p4,q1,q2,q3,q4; for(i=0;iStop) return; d1 = mgl_d(val,a->v(i,j,ak),a->v(i+1,j,ak)); o1 = d1>=0 && d1<1; d2 = mgl_d(val,a->v(i,j,ak),a->v(i,j+1,ak)); o2 = d2>=0 && d2<1; d3 = mgl_d(val,a->v(i+1,j+1,ak),a->v(i+1,j,ak)); o3 = d3>=0 && d3<1; d4 = mgl_d(val,a->v(i+1,j+1,ak),a->v(i,j+1,ak)); o4 = d4>=0 && d4<1; p1 = mglPoint(x->v(i,j), y->v(i,j),z->v(i,j)); p2 = mglPoint(x->v(i+1,j), y->v(i+1,j),z->v(i+1,j)); p3 = mglPoint(x->v(i,j+1), y->v(i,j+1),z->v(i,j+1)); p4 = mglPoint(x->v(i+1,j+1), y->v(i+1,j+1),z->v(i+1,j+1)); q1 = p1*(1-d1)+p2*d1; q2 = p1*(1-d2)+p3*d1; q3 = p4*(1-d3)+p2*d3; q4 = p4*(1-d4)+p3*d4; if(o1 && o2) { o1 = o2 = false; ss.push_back(mglSegment(q1,q2)); } if(o1 && o3) { o1 = o3 = false; ss.push_back(mglSegment(q1,q3)); } if(o1 && o4) { o1 = o4 = false; ss.push_back(mglSegment(q1,q4)); } if(o2 && o3) { o2 = o3 = false; ss.push_back(mglSegment(q2,q3)); } if(o2 && o4) { o2 = o4 = false; ss.push_back(mglSegment(q2,q4)); } if(o3 && o4) { o3 = o4 = false; ss.push_back(mglSegment(q3,q4)); } } // connect it if(ss.size()==0) return; for(i=0;i &kk) { long n=a->GetNx(), m=a->GetNy(); mreal d, r, kx, ky; register long i,j,k, pc=0; kk.clear(); // add intersection point of isoline and Y axis const mglData *ma = dynamic_cast(a); if(ma) { for(i=0;ia[i+n*(j+m*ak)],ma->a[i+1+n*(j+m*ak)]); if(d>=0 && d<1) kk.push_back(mglPnt2(i+d,j)); } // add intersection point of isoline and X axis for(i=0;ia[i+n*(j+m*ak)],ma->a[i+n*(j+1+m*ak)]); if(d>=0 && d<1) kk.push_back(mglPnt2(i,j+d)); } } else for(i=0;iv(i,j,ak); d = (iv(i+1,j,ak)):-1; if(d>=0 && d<1) kk.push_back(mglPnt2(i+d,j)); d = (jv(i,j+1,ak)):-1; if(d>=0 && d<1) kk.push_back(mglPnt2(i,j+d)); } pc = kk.size(); if(pc==0) return NULL; // deallocate arrays and finish if no point // allocate arrays for curve (nn - next, ff - prev) long *nn = new long[pc], *ff = new long[pc]; // -1 is not parsed, -2 starting for(i=0;i=0) { kx = kk[j].x; ky = kk[j].y; i = -1; i11 = long(kx+1e-5); i12 = long(kx-1e-5); j11 = long(ky+1e-5); j12 = long(ky-1e-5); r=10; for(k=0;k=0); delete []ff; return nn; } //----------------------------------------------------------------------------- // NOTE! All data MUST have the same size! Only first slice is used! void MGL_EXPORT mgl_cont_gen(HMGL gr, mreal val, HCDT a, HCDT x, HCDT y, HCDT z, mreal c, int text,long ak) { long n=a->GetNx(), m=a->GetNy(); if(n<2 || m<2 || x->GetNx()*x->GetNy()!=n*m || y->GetNx()*y->GetNy()!=n*m || z->GetNx()*z->GetNy()!=n*m) { gr->SetWarn(mglWarnDim,"ContGen"); return; } std::vector kk; long *nn = mgl_cont_prep(val, a, ak, kk), *ff; if(!nn) return; // nothing to do register long i, pc=kk.size(); register mreal xx, yy; ff = new long[pc]; gr->Reserve(pc); for(i=0;iAddPnt(mglPoint(mgl_data_linear(x,xx,yy,ak), mgl_data_linear(y,xx,yy,ak), mgl_data_linear(z,xx,yy,ak)), c); } if(text && pc>1) { wchar_t wcs[64]; mglprintf(wcs,64,L"%4.3g",val); mglPoint t; mreal del = 2*gr->TextWidth(wcs,"",-0.5); // find width and height of drawing area mreal ar=gr->GetRatio(), w=gr->FontFactor(), h; if(delGetPntP(ff[k]); i = long(t.x/del); t.x -= i*del; j = long(t.y/del); t.y -= j*del; if(i<0 || i>=m || j<0 || j>=n) continue; // never should be here! xx = t.x*t.x+t.y*t.y; i += m*j; if(rr[i]>xx) { rr[i]=xx; oo[i]=k; } } for(i=0;i=0) mgl_string_curve(gr,oo[i],pc,ff,nn,wcs,"t:C",-0.5); delete []oo; delete []rr; } for(i=0;i=0) gr->line_plot(ff[i], ff[nn[i]]); delete []nn; delete []ff; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_gen(HMGL gr, double val, HCDT a, HCDT x, HCDT y, HCDT z, const char *sch) { bool text=(mglchr(sch,'t')); gr->SetPenPal(sch); mgl_cont_gen(gr,val,a,x,y,z,gr->CDef,text,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Cont")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Cont",cgid++); bool text=(mglchr(sch,'t')); bool fixed=(mglchr(sch,'_')) || (gr->Min.z==gr->Max.z); long s=gr->AddTexture(sch); gr->SetPenPal(sch); mglData xx, yy, zz(z->GetNx(), z->GetNy()); if(x->GetNx()*x->GetNy()!=m*n || y->GetNx()*y->GetNy()!=m*n) // make { xx.Create(n, m); yy.Create(n, m); const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); if(mx && my) for(i=0;ia[i]; yy.a[i+n*j] = my->a[j]; } else for(i=0;iv(i); yy.a[i+n*j] = y->v(j); } x = &xx; y = &yy; } // x, y -- have the same size z mreal z0, v0; for(j=0;jGetNz();j++) for(i=0;iGetNx();i++) { if(gr->Stop) return; v0 = v->v(i); z0 = fixed ? gr->Min.z : v0; if(z->GetNz()>1) z0 = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(j)/(z->GetNz()-1); zz.Fill(z0,z0); mgl_cont_gen(gr,v0,z,x,y,&zz,gr->GetC(s,v0),text,j); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_val(HMGL gr, HCDT v, HCDT z, const char *sch, const char *opt) { register long n = z->GetNx(), m = z->GetNy(); if(m<2 || n<2) { gr->SetWarn(mglWarnLow,"Cont"); return; } gr->SaveState(opt); mglData x(n, m), y(n, m); x.Fill(gr->Min.x,gr->Max.x,'x'); y.Fill(gr->Min.y,gr->Max.y,'y'); mgl_cont_xy_val(gr,v,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Cont"); gr->LoadState(); return; } mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_cont_xy_val(gr,&v,x,y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont(HMGL gr, HCDT z, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Cont"); gr->LoadState(); return; } mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_cont_val(gr,&v,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont_xy_val(_GR_, _DA_(v), _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont_val(_GR_, _DA_(v), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // ContF series // //----------------------------------------------------------------------------- long MGL_NO_EXPORT mgl_add_pnt(HMGL gr, mreal d, HCDT x, HCDT y, HCDT z, long i1, long j1, long i2, long j2, mreal c, bool edge) { long res=-1; if(edge || (d>0 && d<1)) { mglPoint p,u,v; p = mglPoint(x->v(i1,j1)*(1-d)+x->v(i2,j2)*d, y->v(i1,j1)*(1-d)+y->v(i2,j2)*d, z->v(i1,j1)*(1-d)+z->v(i2,j2)*d); u = mglPoint(x->dvx(i1,j1)*(1-d)+x->dvx(i2,j2)*d, y->dvx(i1,j1)*(1-d)+y->dvx(i2,j2)*d, z->dvx(i1,j1)*(1-d)+z->dvx(i2,j2)*d); v = mglPoint(x->dvy(i1,j1)*(1-d)+x->dvy(i2,j2)*d, y->dvy(i1,j1)*(1-d)+y->dvy(i2,j2)*d, z->dvy(i1,j1)*(1-d)+z->dvy(i2,j2)*d); res = gr->AddPnt(p,c,u^v); } return res; } //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_add_range(HMGL gr, HCDT a, HCDT x, HCDT y, HCDT z, long i1, long j1, long di, long dj, mreal c, long &u1, long &u2, long ak, mreal v1, mreal v2) { long i2=i1+di, j2=j1+dj; mreal f1 = a->v(i1,j1,ak), f2 = a->v(i2,j2,ak), d1, d2; d1 = mgl_d(v1,f1,f2); u1 = mgl_add_pnt(gr,d1,x,y,z,i1,j1,i2,j2,c,false); d2 = mgl_d(v2,f1,f2); u2 = mgl_add_pnt(gr,d2,x,y,z,i1,j1,i2,j2,c,false); if(d1>d2) { j2=u1; u1=u2; u2=j2; } } //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_add_edges(HMGL gr, HCDT a, HCDT x, HCDT y, HCDT z, long i1, long j1, long di, long dj, mreal c, long &u1, long &u2, long ak, mreal v1, mreal v2) { long i2=i1+di, j2=j1+dj; u1 = u2 = -1; mreal f1 = a->v(i1,j1,ak), f2 = a->v(i2,j2,ak); if(f1<=v2 && f1>=v1) u1 = mgl_add_pnt(gr,0,x,y,z,i1,j1,i2,j2,c,true); if(f2<=v2 && f2>=v1) u2 = mgl_add_pnt(gr,1,x,y,z,i1,j1,i2,j2,c,true); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_gen(HMGL gr, mreal v1, mreal v2, HCDT a, HCDT x, HCDT y, HCDT z, mreal c, long ak) { long n=a->GetNx(), m=a->GetNy(); if(n<2 || m<2 || x->GetNx()*x->GetNy()!=n*m || y->GetNx()*y->GetNy()!=n*m || z->GetNx()*z->GetNy()!=n*m) { gr->SetWarn(mglWarnDim,"ContFGen"); return; } register long i,j; gr->Reserve(n*m); long *kk = new long[4*n], l1,l2, r1,r2, t1,t2, u1,u2, b1,b2, d1,d2, p[8],num; memset(kk,-1,2*n*sizeof(long)); for(i=0;iStop) { delete []kk; return; } mgl_add_range(gr,a,x,y,z, i,0,1,0, c,u1,u2, ak,v1,v2); kk[4*i]=u1; kk[4*i+1]=u2; mgl_add_edges(gr,a,x,y,z, i,0,1,0, c,d1,d2, ak,v1,v2); kk[4*i+2]=d1; kk[4*i+3]=d2; } for(j=1;jStop) { delete []kk; return; } l1 = r1; l2 = r2; num=0; t1 = kk[4*i]; t2 = kk[4*i+1]; b1 = kk[4*i+2]; b2 = kk[4*i+3]; // right edge mgl_add_range(gr,a,x,y,z, i+1,j-1,0,1, c,r1,r2, ak,v1,v2); // top edge mgl_add_range(gr,a,x,y,z, i,j,1,0, c,u1,u2, ak,v1,v2); kk[4*i]=u1; kk[4*i+1]=u2; mgl_add_edges(gr,a,x,y,z, i,j,1,0, c,d1,d2, ak,v1,v2); kk[4*i+2]=d1; kk[4*i+3]=d2; // collect points if(b1>=0) p[num++] = b1; if(t1>=0) p[num++] = t1; if(t2>=0) p[num++] = t2; if(b2>=0) p[num++] = b2; if(r1>=0) p[num++] = r1; if(r2>=0) p[num++] = r2; if(d2>=0) p[num++] = d2; if(u2>=0) p[num++] = u2; if(u1>=0) p[num++] = u1; if(d1>=0) p[num++] = d1; if(l2>=0) p[num++] = l2; if(l1>=0) p[num++] = l1; // draw it if(num<3) continue; if(num==4) gr->quad_plot(p[0],p[1],p[3],p[2]); else if(num==3) gr->trig_plot(p[0],p[1],p[2]); else if(num==5) { gr->quad_plot(p[0],p[1],p[3],p[2]); gr->trig_plot(p[0],p[3],p[4]); } else if(num==6) { gr->quad_plot(p[0],p[1],p[3],p[2]); gr->quad_plot(p[0],p[3],p[5],p[4]); } } } delete []kk; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_gen(HMGL gr, double v1, double v2, HCDT a, HCDT x, HCDT y, HCDT z, const char *c) { gr->SetPenPal(c); mgl_contf_gen(gr,v1,v2,a,x,y,z,gr->CDef,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"ContF")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContF",cgid++); long s=gr->AddTexture(sch); bool fixed=(mglchr(sch,'_')) || (gr->Min.z==gr->Max.z); mglData xx, yy, zz(n, m); if(x->GetNx()*x->GetNy()!=m*n || y->GetNx()*y->GetNy()!=m*n) // make { xx.Create(n, m); yy.Create(n, m); const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); if(mx && my) for(i=0;ia[i]; yy.a[i+n*j] = my->a[j]; } else for(i=0;iv(i); yy.a[i+n*j] = y->v(j); } x = &xx; y = &yy; } // x, y -- have the same size z mreal z0, v0; for(j=0;jGetNz();j++) for(i=0;iGetNx()-1;i++) { if(gr->Stop) return; v0 = v->v(i); z0 = fixed ? gr->Min.z : v0; if(z->GetNz()>1) z0 = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(j)/(z->GetNz()-1); zz.Fill(z0,z0); mgl_contf_gen(gr,v0,v->v(i+1),z,x,y,&zz,gr->GetC(s,v0),j); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_val(HMGL gr, HCDT v, HCDT z, const char *sch, const char *opt) { register long n = z->GetNx(), m = z->GetNy(); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"Cont"); return; } gr->SaveState(opt); mglData x(n, m), y(n, m); x.Fill(gr->Min.x,gr->Max.x,'x'); y.Fill(gr->Min.y,gr->Max.y,'y'); mgl_contf_xy_val(gr,v,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Cont"); gr->LoadState(); return; } mglData v(Num+2); v.Fill(gr->Min.c, gr->Max.c); mgl_contf_xy_val(gr,&v,x,y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf(HMGL gr, HCDT z, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Cont"); gr->LoadState(); return; } mglData v(Num+2); v.Fill(gr->Min.c, gr->Max.c); mgl_contf_val(gr,&v,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf_xy_val(_GR_, _DA_(v), _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf_val(_GR_, _DA_(v), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // ContD series // //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_get_ncol(const char *sch, char *res) { register long i,j=0; if(sch) for(i=0;sch[i]&&sch[i]!=':';i++) if(strchr(MGL_COLORS,sch[i])) { if(res) res[j]=sch[i]; j++; } return j?j:strlen(MGL_DEF_PAL); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contd_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j=0,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"ContD")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContD",cgid++); bool fixed=(mglchr(sch,'_')) || (gr->Min.z==gr->Max.z); if(sch) for(i=0;sch[i];i++) if(strchr(MGL_COLORS,sch[i])) j++; if(j==0) sch = MGL_DEF_PAL; long s = gr->AddTexture(sch,1); int nc = gr->GetNumPal(s*256); mglData xx, yy, zz(n, m); if(x->GetNx()*x->GetNy()!=m*n || y->GetNx()*y->GetNy()!=m*n) // make { xx.Create(n, m); yy.Create(n, m); const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); if(mx && my) for(i=0;ia[i]; yy.a[i+n*j] = my->a[j]; } else for(i=0;iv(i); yy.a[i+n*j] = y->v(j); } x = &xx; y = &yy; } // x, y -- have the same size z mreal z0, v0, dc = nc>1 ? 1/(MGL_FEPSILON*(nc-1)) : 0; for(j=0;jGetNz();j++) for(i=0;iGetNx()-1;i++) { if(gr->Stop) return; v0 = v->v(i); z0 = fixed ? gr->Min.z : v0; if(z->GetNz()>1) z0 = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(j)/(z->GetNz()-1); zz.Fill(z0,z0); mgl_contf_gen(gr,v0,v->v(i+1),z,x,y,&zz,s+i*dc,j); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contd_val(HMGL gr, HCDT v, HCDT z, const char *sch, const char *opt) { register long n = z->GetNx(), m = z->GetNy(); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"ContD"); return; } gr->SaveState(opt); mglData x(n, m), y(n, m); x.Fill(gr->Min.x,gr->Max.x,'x'); y.Fill(gr->Min.y,gr->Max.y,'y'); mgl_contd_xy_val(gr,v,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contd_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { gr->SaveState(opt); mglData v(mgl_get_ncol(sch,0)+1); v.Fill(gr->Min.c, gr->Max.c); mgl_contd_xy_val(gr,&v,x,y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contd(HMGL gr, HCDT z, const char *sch, const char *opt) { gr->SaveState(opt); mglData v(mgl_get_ncol(sch,0)+1); v.Fill(gr->Min.c, gr->Max.c); mgl_contd_val(gr,&v,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contd_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contd_xy_val(_GR_, _DA_(v), _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contd_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contd_val(_GR_, _DA_(v), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contd_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contd_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contd_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contd(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // ContV series // //----------------------------------------------------------------------------- // NOTE! All data MUST have the same size! Only first slice is used! void MGL_EXPORT mgl_contv_gen(HMGL gr, mreal val, mreal dval, HCDT a, HCDT x, HCDT y, HCDT z, mreal c, long ak) { long n=a->GetNx(), m=a->GetNy(); if(n<2 || m<2 || x->GetNx()*x->GetNy()!=n*m || y->GetNx()*y->GetNy()!=n*m || z->GetNx()*z->GetNy()!=n*m) { gr->SetWarn(mglWarnDim,"ContGen"); return; } std::vector kk; long *nn = mgl_cont_prep(val, a, ak, kk), *ff; if(!nn) return; // nothing to do register long i, pc=kk.size(); register mreal xx, yy; ff = new long[2*pc]; gr->Reserve(2*pc); mglPoint p,q; for(i=0;iAddPnt(p, c, q); ff[i+pc] = gr->AddPnt(mglPoint(p.x, p.y, p.z+dval), c, q); } for(i=0;i=0) gr->quad_plot(ff[i], ff[nn[i]], ff[i+pc], ff[nn[i]+pc]); delete []nn; delete []ff; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contv_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"ContV")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContV",cgid++); bool fixed=(mglchr(sch,'_')) || (gr->Min.z==gr->Max.z); long s=gr->AddTexture(sch); gr->SetPenPal(sch); mglData xx, yy, zz(n, m); if(x->GetNx()*x->GetNy()!=m*n || y->GetNx()*y->GetNy()!=m*n) // make { xx.Create(n, m); yy.Create(n, m); const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); if(mx && my) for(i=0;ia[i]; yy.a[i+n*j] = my->a[j]; } else for(i=0;iv(i); yy.a[i+n*j] = y->v(j); } x = &xx; y = &yy; } // x, y -- have the same size z mreal z0, v0; for(j=0;jGetNz();j++) for(i=0;iGetNx();i++) { if(gr->Stop) return; v0 = v->v(i); z0 = fixed ? gr->Min.z : v0; if(z->GetNz()>1) z0 = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(j)/(z->GetNz()-1); zz.Fill(z0,z0); mreal dv = (gr->Max.c-gr->Min.c)/8; if(i>0) dv = v->v(i-1)-v->v(i); else if(iGetNx()-1) dv = v->v(i)-v->v(i+1); if(fixed) dv=-dv; mgl_contv_gen(gr,v0,dv,z,x,y,&zz,gr->GetC(s,v0),j); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contv_val(HMGL gr, HCDT v, HCDT z, const char *sch, const char *opt) { register long n = z->GetNx(), m = z->GetNy(); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"Cont"); return; } gr->SaveState(opt); mglData x(n, m), y(n, m); x.Fill(gr->Min.x,gr->Max.x,'x'); y.Fill(gr->Min.y,gr->Max.y,'y'); mgl_contv_xy_val(gr,v,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contv_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Cont"); gr->LoadState(); return; } mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_contv_xy_val(gr,&v,x,y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contv(HMGL gr, HCDT z, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Cont"); gr->LoadState(); return; } mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_contv_val(gr,&v,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contv_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contv_xy_val(_GR_, _DA_(v), _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contv_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contv_val(_GR_, _DA_(v), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contv_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contv_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contv_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contv(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Cont3 series // //----------------------------------------------------------------------------- struct _mgl_slice { mglData x,y,z,a; }; //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_get_slice(_mgl_slice &s, HCDT x, HCDT y, HCDT z, HCDT a, char dir, mreal d, bool both) { register long i,j,i0,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(), nx=1,ny=1,p; if(dir=='x') { nx = m; ny = l; if(d<0) d = n/2.; } if(dir=='y') { nx = n; ny = l; if(d<0) d = m/2.; } if(dir=='z') { nx = n; ny = m; if(d<0) d = l/2.; } s.x.Create(nx,ny); s.y.Create(nx,ny); s.z.Create(nx,ny); s.a.Create(nx,ny); p = long(d); d -= p; if(dir=='x' && p>=n-1) { d+=p-n+2; p=n-2; } if(dir=='y' && p>=m-1) { d+=p-m+2.; p=m-2; } if(dir=='z' && p>=l-1) { d+=p-l+2; p=l-2; } mreal v; if(both) { if(dir=='x') for(j=0;jv(p,i,j)*(1-d) + x->v(p+1,i,j)*d; s.y.a[i0] = y->v(p,i,j)*(1-d) + y->v(p+1,i,j)*d; s.z.a[i0] = z->v(p,i,j)*(1-d) + z->v(p+1,i,j)*d; s.a.a[i0] = a->v(p,i,j)*(1-d) + a->v(p+1,i,j)*d; } if(dir=='y') for(j=0;jv(i,p,j)*(1-d) + x->v(i,p+1,j)*d; s.y.a[i0] = y->v(i,p,j)*(1-d) + y->v(i,p+1,j)*d; s.z.a[i0] = z->v(i,p,j)*(1-d) + z->v(i,p+1,j)*d; s.a.a[i0] = a->v(i,p,j)*(1-d) + a->v(i,p+1,j)*d; } if(dir=='z') for(j=0;jv(i,j,p)*(1-d) + x->v(i,j,p+1)*d; s.y.a[i0] = y->v(i,j,p)*(1-d) + y->v(i,j,p+1)*d; s.z.a[i0] = z->v(i,j,p)*(1-d) + z->v(i,j,p+1)*d; s.a.a[i0] = a->v(i,j,p)*(1-d) + a->v(i,j,p+1)*d; } } else // x, y, z -- vectors { if(dir=='x') { v = x->v(p)*(1-d)+x->v(p+1)*d; for(j=0;jv(i); s.z.a[i0] = z->v(j); s.a.a[i0] = a->v(p,i,j)*(1-d) + a->v(p+1,i,j)*d; } } if(dir=='y') { v = y->v(p)*(1-d)+y->v(p+1)*d; for(j=0;jv(i); s.z.a[i0] = z->v(j); s.a.a[i0] = a->v(i,p,j)*(1-d) + a->v(i,p+1,j)*d; } } if(dir=='z') { v = z->v(p)*(1-d)+z->v(p+1)*d; for(j=0;jv(i); s.y.a[i0] = y->v(j); s.a.a[i0] = a->v(i,j,p)*(1-d) + a->v(i,j,p+1)*d; } } } } //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_get_slice_md(_mgl_slice &s, const mglData *x, const mglData *y, const mglData *z, const mglData *a, char dir, mreal d, bool both) { register long i,j,i0,i1,n=a->nx,m=a->ny,l=a->nz, nx=1,ny=1,p; if(dir=='x') { nx = m; ny = l; if(d<0) d = n/2.; } if(dir=='y') { nx = n; ny = l; if(d<0) d = m/2.; } if(dir=='z') { nx = n; ny = m; if(d<0) d = l/2.; } s.x.Create(nx,ny); s.y.Create(nx,ny); s.z.Create(nx,ny); s.a.Create(nx,ny); p = long(d); d -= p; if(dir=='x' && p>=n-1) { d+=p-n+2; p=n-2; } if(dir=='y' && p>=m-1) { d+=p-m+2.; p=m-2; } if(dir=='z' && p>=l-1) { d+=p-l+2; p=l-2; } mreal v; if(both) { if(dir=='x') for(j=0;ja[i1]*(1-d) + x->a[i1+1]*d; s.y.a[i0] = y->a[i1]*(1-d) + y->a[i1+1]*d; s.z.a[i0] = z->a[i1]*(1-d) + z->a[i1+1]*d; s.a.a[i0] = a->a[i1]*(1-d) + a->a[i1+1]*d; } if(dir=='y') for(j=0;ja[i1]*(1-d) + x->a[i1+n]*d; s.y.a[i0] = y->a[i1]*(1-d) + y->a[i1+n]*d; s.z.a[i0] = z->a[i1]*(1-d) + z->a[i1+n]*d; s.a.a[i0] = a->a[i1]*(1-d) + a->a[i1+n]*d; } if(dir=='z') for(j=0;ja[i1]*(1-d) + x->a[i1+n*m]*d; s.y.a[i0] = y->a[i1]*(1-d) + y->a[i1+n*m]*d; s.z.a[i0] = z->a[i1]*(1-d) + z->a[i1+n*m]*d; s.a.a[i0] = a->a[i1]*(1-d) + a->a[i1+n*m]*d; } } else // x, y, z -- vectors { if(dir=='x') { v = x->a[p]*(1-d)+x->a[p+1]*d; for(j=0;ja[i]; s.z.a[i0] = z->a[j]; s.a.a[i0] = a->a[i1]*(1-d) + a->a[i1+1]*d; } } if(dir=='y') { v = y->a[p]*(1-d)+y->a[p+1]*d; for(j=0;ja[i]; s.z.a[i0] = z->a[j]; s.a.a[i0] = a->a[i1]*(1-d) + a->a[i1+n]*d; } } if(dir=='z') { v = z->a[p]*(1-d)+z->a[p+1]*d; for(j=0;ja[i]; s.y.a[i0] = y->a[j]; s.a.a[i0] = a->a[i1]*(1-d) + a->a[i1+n*m]*d; } } } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont3_xyz_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt) { bool both = mgl_isboth(x,y,z,a); if(mgl_check_dim3(gr,both,x,y,z,a,0,"Cont3")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Cont3",cgid++); char dir='y'; if(mglchr(sch,'x')) dir='x'; if(mglchr(sch,'z')) dir='z'; bool text=(mglchr(sch,'t')); long ss=gr->AddTexture(sch); gr->SetPenPal(sch); _mgl_slice s; const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); const mglData *mz = dynamic_cast(z); const mglData *ma = dynamic_cast(a); if(mx&&my&&mz&&ma) mgl_get_slice_md(s,mx,my,mz,ma,dir,sVal,both); else mgl_get_slice(s,x,y,z,a,dir,sVal,both); for(long i=0;iGetNx();i++) { mreal v0 = v->v(i); mgl_cont_gen(gr,v0,&s.a,&s.x,&s.y,&s.z,gr->GetC(ss,v0),text,0); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont3_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sVal, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()),z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_cont3_xyz_val(gr,v,&x,&y,&z,a,sch,sVal,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Cont3"); gr->LoadState(); return; } mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_cont3_xyz_val(gr,&v,x,y,z,a,sch,sVal,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont3(HMGL gr, HCDT a, const char *sch, double sVal, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Cont3"); gr->LoadState(); return; } mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_cont3_val(gr,&v,a,sch,sVal,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont3_xyz_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont3_xyz_val(_GR_, _DA_(v), _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont3_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont3_val(_GR_, _DA_(v), _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont3_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont3_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont3(_GR_, _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Dens3 series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt) { bool both = mgl_isboth(x,y,z,a); if(mgl_check_dim3(gr,both,x,y,z,a,0,"Dens3")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Dens3",cgid++); char dir='y'; if(mglchr(sch,'x')) dir='x'; if(mglchr(sch,'z')) dir='z'; _mgl_slice s; const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); const mglData *mz = dynamic_cast(z); const mglData *ma = dynamic_cast(a); if(mx&&my&&mz&&ma) mgl_get_slice_md(s,mx,my,mz,ma,dir,sVal,both); else mgl_get_slice(s,x,y,z,a,dir,sVal,both); mgl_surfc_xy(gr,&s.x,&s.y,&s.z,&s.a,sch,0); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens3(HMGL gr, HCDT a, const char *sch, double sVal, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()),z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_dens3_xyz(gr,&x,&y,&z,a,sch,sVal,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dens3_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens3_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dens3(_GR_, _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Grid3 series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grid3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt) { bool both = mgl_isboth(x,y,z,a); if(mgl_check_dim3(gr,both,x,y,z,a,0,"Grid3")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Grid3",cgid++); char dir='y'; if(mglchr(sch,'x')) dir='x'; if(mglchr(sch,'z')) dir='z'; _mgl_slice s; const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); const mglData *mz = dynamic_cast(z); const mglData *ma = dynamic_cast(a); if(mx&&my&&mz&&ma) mgl_get_slice_md(s,mx,my,mz,ma,dir,sVal,both); else mgl_get_slice(s,x,y,z,a,dir,sVal,both); mgl_mesh_xy(gr,&s.x,&s.y,&s.z,sch,0); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grid3(HMGL gr, HCDT a, const char *sch, double sVal, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()), z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_grid3_xyz(gr,&x,&y,&z,a,sch,sVal,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grid3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_grid3_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grid3_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_grid3(_GR_, _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // ContF3 series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf3_xyz_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt) { bool both = mgl_isboth(x,y,z,a); if(mgl_check_dim3(gr,both,x,y,z,a,0,"ContF3")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContF3",cgid++); char dir='y'; if(mglchr(sch,'x')) dir='x'; if(mglchr(sch,'z')) dir='z'; long ss=gr->AddTexture(sch); _mgl_slice s; const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); const mglData *mz = dynamic_cast(z); const mglData *ma = dynamic_cast(a); if(mx&&my&&mz&&ma) mgl_get_slice_md(s,mx,my,mz,ma,dir,sVal,both); else mgl_get_slice(s,x,y,z,a,dir,sVal,both); for(long i=0;iGetNx()-1;i++) { mreal v0 = v->v(i); mgl_contf_gen(gr,v0,v->v(i+1),&s.a,&s.x,&s.y,&s.z,gr->GetC(ss,v0),0); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf3_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sVal, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()),z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_contf3_xyz_val(gr,v,&x,&y,&z,a,sch,sVal,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, double sVal, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"ContF3"); gr->LoadState(); return; } mglData v(Num+2); v.Fill(gr->Min.c, gr->Max.c); mgl_contf3_xyz_val(gr,&v,x,y,z,a,sch,sVal,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf3(HMGL gr, HCDT a, const char *sch, double sVal, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?7:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"ContF3"); gr->LoadState(); return; } mglData v(Num+2); v.Fill(gr->Min.c, gr->Max.c); mgl_contf3_val(gr,&v,a,sch,sVal,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf3_xyz_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf3_xyz_val(_GR_, _DA_(v), _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf3_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf3_val(_GR_, _DA_(v), _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf3_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf3_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sVal, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf3(_GR_, _DA_(a), s, *sVal, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Axial series // //----------------------------------------------------------------------------- long MGL_NO_EXPORT mgl_find_prev(long i, long pc, long *nn) { for(long k=0;kReserve(pc*82); for(i=0;iStop) return; k = mgl_find_prev(i,pc,nn); if(nn[i]<0) continue; q1 = k<0 ? ff[nn[i]]-ff[i] : (ff[nn[i]]-ff[k])*0.5; q2 = nn[nn[i]]<0 ? ff[nn[i]]-ff[i] : (ff[nn[nn[i]]]-ff[i])*0.5; p = a*ff[i].y + c*ff[i].x; p1 = wire ? gr->AddPnt(p,cc) : gr->AddPnt(p,cc,(a*q1.y + c*q1.x)^b); p = a*ff[nn[i]].y + c*ff[nn[i]].x; p2 = wire ? gr->AddPnt(p,cc) : gr->AddPnt(p,cc,(a*q2.y + c*q2.x)^b); if(wire==1) gr->line_plot(p1,p2); else if(wire) { gr->mark_plot(p1,'.'); gr->mark_plot(p2,'.'); } for(j=1;j<41;j++) { p3 = p1; p4 = p2; fi = j*M_PI/20; si = sin(fi); co = cos(fi); p = a*ff[i].y + b*(si*ff[i].x) + c*(co*ff[i].x); p1 = wire ? gr->AddPnt(p,cc) : gr->AddPnt(p,cc,(a*q1.y + b*(si*q1.x) + c*(co*q1.x))^(b*co-c*si)); p = a*ff[nn[i]].y + b*(si*ff[nn[i]].x) + c*(co*ff[nn[i]].x); p2 = wire ? gr->AddPnt(p,cc) : gr->AddPnt(p,cc,(a*q2.y + b*(si*q2.x) + c*(co*q2.x))^(b*co-c*si)); if(wire==1) { gr->line_plot(p1,p2); gr->line_plot(p1,p3); gr->line_plot(p4,p2); gr->line_plot(p4,p3); } else if(wire) { gr->mark_plot(p1,'.'); gr->mark_plot(p2,'.'); } else gr->quad_plot(p3,p4,p1,p2); } } } //----------------------------------------------------------------------------- // NOTE! All data MUST have the same size! Only first slice is used! void MGL_EXPORT mgl_axial_gen(HMGL gr, mreal val, HCDT a, HCDT x, HCDT y, mreal c, char dir,long ak,int wire) { long n=a->GetNx(), m=a->GetNy(); if(n<2 || m<2 || x->GetNx()*x->GetNy()!=n*m || y->GetNx()*y->GetNy()!=n*m) { gr->SetWarn(mglWarnDim,"ContGen"); return; } mglPoint *kk = new mglPoint[2*n*m],*pp = new mglPoint[2*n*m],p; mreal d, kx, ky; register long i,j,k, pc=0,i0; // Usually number of points is much smaller. So, there is no reservation. // gr->Reserve(2*n*m); // add intersection point of isoline and X or Y axis const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); const mglData *ma = dynamic_cast(a); if(mx&&my&&ma) for(j=0;jStop) { delete []kk; delete []pp; return; } i0 = i+n*j; d = (ia[i0+n*m*ak],ma->a[i0+1+n*m*ak]):-1; if(d>=0 && d<1) { pp[pc] = mglPoint(mx->a[i0]*(1-d)+mx->a[i0+1]*d, my->a[i0]*(1-d)+my->a[i0+1]*d); kk[pc] = mglPoint(i+d,j); pc++; } d = (ja[i0+n*m*ak],ma->a[i0+n*m*ak+n]):-1; if(d>=0 && d<1) { pp[pc] = mglPoint(mx->a[i0]*(1-d)+mx->a[i0+n]*d, my->a[i0]*(1-d)+my->a[i0+n]*d); kk[pc] = mglPoint(i,j+d); pc++; } } else for(j=0;jStop) { delete []kk; delete []pp; return; } register mreal va=a->v(i,j,ak),vx=x->v(i,j),vy=y->v(i,j); d = (iv(i+1,j,ak)):-1; if(d>=0 && d<1) { pp[pc] = mglPoint(vx*(1-d)+x->v(i+1,j)*d, vy*(1-d)+y->v(i+1,j)*d); kk[pc] = mglPoint(i+d,j); pc++; } d = (jv(i,j+1,ak)):-1; if(d>=0 && d<1) { pp[pc] = mglPoint(vx*(1-d)+x->v(i,j+1)*d, vy*(1-d)+y->v(i,j+1)*d); kk[pc] = mglPoint(i,j+d); pc++; } } // deallocate arrays and finish if no point if(pc==0) { delete []kk; delete []pp; return; } // allocate arrays for curve long *nn = new long[pc], *ff = new long[pc]; for(i=0;iStop) { delete []kk; delete []pp; delete []nn; delete []ff; return; } if(j>=0) { kx = kk[j].x; ky = kk[j].y; i = -1; i11 = long(kx+1e-5); i12 = long(kx-1e-5); j11 = long(ky+1e-5); j12 = long(ky-1e-5); for(k=0;k=0); mgl_axial_plot(gr,pc,pp,nn,dir,c,wire); delete []kk; delete []nn; delete []ff; delete []pp; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_axial_xy_val(HMGL gr, HCDT v, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Axial")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Axial",cgid++); long s=gr->AddTexture(sch); char dir='y'; if(mglchr(sch,'x')) dir = 'x'; if(mglchr(sch,'z')) dir = 'z'; mglData xx, yy; if(x->GetNx()*x->GetNy()!=m*n || y->GetNx()*y->GetNy()!=m*n) // make { xx.Create(n, m); yy.Create(n, m); const mglData *mx = dynamic_cast(x); const mglData *my = dynamic_cast(y); if(mx && my) for(i=0;ia[i]; yy.a[i+n*j] = my->a[j]; } else for(i=0;iv(i); yy.a[i+n*j] = y->v(j); } x = &xx; y = &yy; } // x, y -- have the same size z mreal v0; int wire = mglchr(sch,'#')?1:0; if(mglchr(sch,'.')) wire = 2; for(j=0;jGetNz();j++) for(i=0;iGetNx();i++) { if(gr->Stop) return; v0 = v->v(i); mgl_axial_gen(gr,v0,z,x,y,gr->GetC(s,v0),dir,j,wire); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_axial_val(HMGL gr, HCDT v, HCDT a, const char *sch, const char *opt) { register long n=a->GetNx(), m=a->GetNy(); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"Axial"); return; } gr->SaveState(opt); mglData x(n, m), y(n, m); if(gr->Max.x*gr->Min.x>=0) x.Fill(gr->Min.x,gr->Max.x,'x'); else x.Fill(0,gr->Max.x,'x'); y.Fill(gr->Min.y,gr->Max.y,'y'); mgl_axial_xy_val(gr,v,&x,&y,a,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_axial_xy(HMGL gr, HCDT x, HCDT y, HCDT a, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?3:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Axial"); gr->LoadState(); return; } mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_axial_xy_val(gr,&v,x,y,a,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_axial(HMGL gr, HCDT a, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long Num = mgl_isnan(r)?3:long(r+0.5); if(Num<1) { gr->SetWarn(mglWarnCnt,"Axial"); gr->LoadState(); return; } mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_axial_val(gr,&v,a,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_axial_xy_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_axial_xy_val(_GR_, _DA_(v), _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_axial_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_axial_val(_GR_, _DA_(v), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_axial_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_axial_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_axial_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_axial(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Torus series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_torus(HMGL gr, HCDT r, HCDT z, const char *sch, const char *opt) { long i,j,n=r->GetNx(); if(n*r->GetNy()!=z->GetNx()*z->GetNy()) { gr->SetWarn(mglWarnDim,"Torus"); return; } if(n<2) { gr->SetWarn(mglWarnLow,"Torus"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("Torus",cgid++); mglPoint *pp = new mglPoint[n]; long *nn = new long[n]; long ss=gr->AddTexture(sch); char dir='y'; if(mglchr(sch,'x')) dir = 'x'; if(mglchr(sch,'z')) dir = 'z'; mreal c = gr->GetC(ss,gr->Min.c); const mglData *mr = dynamic_cast(r); const mglData *mz = dynamic_cast(z); int wire = mglchr(sch,'#')?1:0; if(mglchr(sch,'.')) wire = 2; for(j=0;jGetNy();j++) { if(mr&&mz) for(i=0;ia[i+n*j], mz->a[i+n*j]); } else for(i=0;iv(i,j), z->v(i,j)); } mgl_axial_plot(gr,n,pp,nn,dir,c,wire); } gr->EndGroup(); delete []nn; delete []pp; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_torus_(uintptr_t *gr, uintptr_t *r, uintptr_t *z, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_torus(_GR_, _DA_(r), _DA_(z), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/export_3d.cpp0000664000175000017500000015150112142400470016115 0ustar balakinbalakin/*************************************************************************** * export_3d.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/canvas.h" #include "mgl2/canvas_cf.h" #undef _GR_ #define _GR_ ((mglCanvas *)(*gr)) #define _Gr_ ((mglCanvas *)(gr)) int MGL_NO_EXPORT mgl_tga_save(const char *fname, int w, int h, unsigned char **p); int MGL_NO_EXPORT mgl_pnga_save(const char *fname, int w, int h, unsigned char **p); void MGL_NO_EXPORT mgl_printf(void *fp, bool gz, const char *str, ...); //----------------------------------------------------------------------------- void mglTexture::GetRGBA(unsigned char *f) const { register long i,j,i0; mglColor c1,c2,c; for(i=255;i>=0;i--) { c1 = col[2*i]; c2 = col[2*i+1]; for(j=0;j<256;j++) { i0 = 4*(j+256*i); c = c1 + (c2-c1)*(j/255.); f[i0] = int(255*c.r); f[i0+1] = int(255*c.g); f[i0+2] = int(255*c.b); f[i0+3] = int(255*c.a); } } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_obj_glyph_old(HMGL gr, const mglPrim &q, const mglPnt &p, FILE *fp) { mreal f = q.p/2, dx=p.u/2, dy=p.v/2, x,y; mreal c=q.s*cos(q.w*M_PI/180), s=-q.s*sin(q.w*M_PI/180); double b[4] = {c,-s, s,c}; long i=q.n1+1, ik,il=0; const mglGlyph &g = gr->GetGlf(q.n4); const mreal dd = 0.004; if(q.n3&8) { fprintf(fp,"v %g %g %g\n",p.x+b[0]*dx+b[1]*(dy-dd),p.y+b[2]*dx+b[3]*(dy-dd),p.z); fprintf(fp,"v %g %g %g\n",p.x+b[0]*dx+b[1]*(dy+dd),p.y+b[2]*dx+b[3]*(dy+dd),p.z); fprintf(fp,"v %g %g %g\n",p.x+b[0]*(dx+f)+b[1]*(dy-dd),p.y+b[2]*dx+b[3]*(dy-dd),p.z); fprintf(fp,"v %g %g %g\n",p.x+b[0]*(dx+f)+b[1]*(dy+dd),p.y+b[2]*dx+b[3]*(dy+dd),p.z); if(!(q.n3&4)) // glyph_line(p,f,true, d); { fprintf(fp,"f -1/%ld -3/%ld -2/%ld\n",i,i,i); fprintf(fp,"f -4/%ld -2/%ld -3/%ld\n",i,i,i); } else // glyph_line(p,f,false, d); { fprintf(fp,"l -1/%ld -2/%ld\n",i,i); fprintf(fp,"l -3/%ld -4/%ld\n",i,i); fprintf(fp,"l -1/%ld -3/%ld\n",i,i); fprintf(fp,"l -2/%ld -4/%ld\n",i,i); } } else { if(!(q.n3&4)) // glyph_fill(p,f,g, d); { for(ik=0;ik': fprintf(fp,"v %g %g %g\n",p.x-ss/2,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss/2,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y,p.z); fprintf(fp,"l -3/%ld -2/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"l -1/%ld -3/%ld\n", i,i); break; case 'O': for(j=0;j<=20;j++) fprintf(fp,"v %g %g %g\n",p.x+ss*cos(j*M_PI/10),p.y+ss*sin(j*M_PI/10),p.z); for(j=0;j<20;j++) fprintf(fp,"f %ld/%ld %ld/%ld %ld/%ld\n", j-21,i, j-20,i, i,i); break; case 'C': fprintf(fp,"p %ld\n", i); case 'o': for(j=0;j<=20;j++) fprintf(fp,"v %g %g %g\n",p.x+ss*cos(j*M_PI/10),p.y+ss*sin(j*M_PI/10),p.z); for(j=0;j<20;j++) fprintf(fp,"l %ld/%ld %ld/%ld\n", j-21,i, j-20,i); break; } break; case 1: fprintf(fp,"l %ld/%ld %ld/%ld\n", n1,n1, n2,n2); break; case 2: fprintf(fp,"f %ld/%ld %ld/%ld %ld/%ld\n", n1,n1, n2,n2, n3,n3); break; case 3: fprintf(fp,"f %ld/%ld %ld/%ld %ld/%ld\n", n1,n1, n2,n2, n3,n3); fprintf(fp,"f %ld/%ld %ld/%ld %ld/%ld\n", n2,n2, n4,n4, n3,n3); break; case 4: mgl_obj_glyph_old(gr,q,p,fp); break; } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_obj_old(HMGL gr, const char *fname,const char *descr, int use_png) { if(gr->GetPrmNum()==0) return; // nothing to do register size_t i,j; long m1=0,m2=0,m; for(i=0;iGrp.size();i++) // prepare array of indirect indexing { m = gr->Grp[i].Id; if(mm2) m2=m; } long *ng = new long[m2-m1+1]; for(i=0;iGrp.size();i++) ng[gr->Grp[i].Id-m1] = i; for(i=0;iGetPrmNum());i++) // collect data for groups // it is rather expensive (extra 4b per primitive) but need for export to 3D { m = gr->GetPrm(i).id-m1; if(m>=0 && mGrp[ng[m]].p.push_back(i); } delete []ng; size_t len=strlen(fname),ntxt=gr->GetTxtNum(); char *tname = new char[len+5]; strcpy(tname,fname); FILE *fp=fopen(fname,"wt"); // vertices definition fprintf(fp,"# Created by MathGL library\n# Title: %s\n",(descr && *descr) ? descr : fname); for(i=0;iGetPntNum());i++) { const mglPnt &pp = gr->GetPnt(i); fprintf(fp,"v %g %g %g\n",pp.x,pp.y,pp.z); fprintf(fp,"vt %g %g\n",1-pp.ta,pp.c/ntxt); // if(mgl_isnan(pp.u)) fprintf(fp,"vn 0 0 0\n"); // else fprintf(fp,"vn %g %g %g\n",pp.u,pp.v,pp.w); } // primitive definition in groups tname[len-4]=0; fprintf(fp,"# Primitives Definitions\nmtllib %s.mtl\nusemtl %s\n",tname,tname); for(i=0;iGrp.size();i++) { fprintf(fp,"g %s\n",gr->Grp[i].Lbl.c_str()); std::vector &p = gr->Grp[i].p; for(j=0;jGetPrm(p[j]); mgl_obj_prim_old(gr, q, gr->GetPnt(q.n1), fp, q.s); } gr->Grp[i].p.clear(); // we don't need indexes anymore } // try to save "ungrouped" primitives fclose(fp); // prepare MTL file tname[len-4]='.'; tname[len-3]='m'; tname[len-2]='t'; tname[len-1]='l'; fp=fopen(tname,"wt"); tname[len-4]=0; fprintf(fp,"newmtl %s\n",tname); fprintf(fp,"Ka 1.000 1.000 1.000\n"); fprintf(fp,"Kd 1.000 1.000 1.000\n"); fprintf(fp,"Ks 0.000 0.000 0.000\n"); fprintf(fp,"d 1.0\nillum 2\n"); if(use_png) strcat(tname,"_txt.png"); // { tname[len-4]='.'; tname[len-3]='p'; tname[len-2]='n'; tname[len-1]='g'; } else strcat(tname,"_txt.tga"); // { tname[len-4]='.'; tname[len-3]='t'; tname[len-2]='g'; tname[len-1]='a'; } fprintf(fp,"map_Ka %s\nmap_Kd %s\nmap_Ks %s\n",tname,tname,tname); fclose(fp); // prepare texture file (TGA or PNG) j=gr->GetTxtNum(); unsigned char *buf = new unsigned char[4*256*256*j]; unsigned char **pbuf= (unsigned char **)malloc(256*j*sizeof(unsigned char *)); for(i=0;i<256*j;i++) pbuf[i] = buf+4*256*i; for(i=0;iGetTxt(i).GetRGBA(buf+i*256*256*4); if(use_png) mgl_pnga_save(tname,256,256*j,pbuf); else mgl_tga_save(tname,256,256*j,pbuf); free(pbuf); delete []buf; delete []tname; } void MGL_EXPORT mgl_write_obj_old_(uintptr_t *gr, const char *fname,const char *descr, int *use_png,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *d=new char[n+1]; memcpy(d,descr,n); d[n]=0; mgl_write_obj_old(_GR_,s,d,*use_png); delete []s; delete []d; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_stl(HMGL gr, const char *fname,const char *descr) { if(gr->GetPrmNum()==0) return; // nothing to do FILE *fp = fopen(fname,"wt"); fprintf(fp,"solid %s\n",(descr && *descr)?descr:"mathgl"); register long i; mglPnt pp; for(i=0;iGetPrmNum();i++) { const mglPrim &q=gr->GetPrm(i); if(q.type==2) // triangles { pp = gr->GetPnt(q.n1); fprintf(fp,"facet normal %.2g %.2g %.2g\nouter loop\n",pp.u,pp.v,pp.w); fprintf(fp,"vertex %g %g %g\n",pp.x,pp.y,pp.z); pp = gr->GetPnt(q.n2); fprintf(fp,"vertex %g %g %g\n",pp.x,pp.y,pp.z); pp = gr->GetPnt(q.n3); fprintf(fp,"vertex %g %g %g\n",pp.x,pp.y,pp.z); fprintf(fp,"endloop\nendfacet\n"); } if(q.type==3) // quadrangles { pp = gr->GetPnt(q.n1); fprintf(fp,"facet normal %.2g %.2g %.2g\nouter loop\n",pp.u,pp.v,pp.w); fprintf(fp,"vertex %g %g %g\n",pp.x,pp.y,pp.z); pp = gr->GetPnt(q.n2); fprintf(fp,"vertex %g %g %g\n",pp.x,pp.y,pp.z); pp = gr->GetPnt(q.n3); fprintf(fp,"vertex %g %g %g\n",pp.x,pp.y,pp.z); fprintf(fp,"endloop\nendfacet\n"); pp = gr->GetPnt(q.n1); fprintf(fp,"facet normal %.2g %.2g %.2g\nouter loop\n",pp.u,pp.v,pp.w); pp = gr->GetPnt(q.n4); fprintf(fp,"vertex %g %g %g\n",pp.x,pp.y,pp.z); pp = gr->GetPnt(q.n2); fprintf(fp,"vertex %g %g %g\n",pp.x,pp.y,pp.z); pp = gr->GetPnt(q.n3); fprintf(fp,"vertex %g %g %g\n",pp.x,pp.y,pp.z); fprintf(fp,"endloop\nendfacet\n"); } } fprintf(fp,"endsolid %s",(descr && *descr)?descr:"mathgl"); fclose(fp); } void MGL_EXPORT mgl_write_stl_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *d=new char[n+1]; memcpy(d,descr,n); d[n]=0; mgl_write_stl(_GR_,s,d); delete []s; delete []d; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_xyz(HMGL gr, const char *fname,const char *descr) { if(gr->GetPrmNum()==0) return; // nothing to do register long i; FILE *fp=fopen(fname,"wt"), *ff; // vertices definition fprintf(fp,"# Created by MathGL library\n# Title: %s\n",(descr && *descr) ? descr : fname); fprintf(fp,"# List of Vertices, with (x,y,z) coordinates.\n"); for(i=0;iGetPntNum();i++) { const mglPnt &pp = gr->GetPnt(i); fprintf(fp,"%g %g %g\n",pp.x,pp.y,pp.z); } fclose(fp); // primitive definition size_t len=strlen(fname); char *tname = new char[len+2]; strcpy(tname,fname); tname[len+1]=tname[len]=0; tname[len]='l'; fp = fopen(tname,"wt"); tname[len]='f'; ff = fopen(tname,"wt"); fprintf(fp,"# Created by MathGL library\n# Title: %s\n",(descr && *descr) ? descr : fname); fprintf(fp,"# Indices of vertices to connect for lines\n"); fprintf(ff,"# Created by MathGL library\n# Title: %s\n",(descr && *descr) ? descr : fname); fprintf(ff,"# Indices of vertices to connect for faces\n"); for(i=0;iGetPrmNum();i++) { const mglPrim &q=gr->GetPrm(i); if(q.type==1) fprintf(fp,"%ld %ld\n",q.n1+1,q.n2+1); if(q.type==2) fprintf(ff,"%ld %ld %ld\n",q.n1+1,q.n2+1,q.n3+1); if(q.type==3) fprintf(ff,"%ld %ld %ld\n%ld %ld %ld\n",q.n1+1,q.n2+1,q.n3+1,q.n4+1,q.n2+1,q.n3+1); } fclose(fp); fclose(ff); delete []tname; } void MGL_EXPORT mgl_write_xyz_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *d=new char[n+1]; memcpy(d,descr,n); d[n]=0; mgl_write_xyz(_GR_,s,d); delete []s; delete []d; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_off(HMGL gr, const char *fname,const char *descr, int colored) { register long i,nf=0; for(i=0;iGetPrmNum();i++) // find number of faces { const mglPrim &q=gr->GetPrm(i); if(q.type==2 || q.type==3) nf++; } if(nf<=0) return; // nothing to do FILE *fp=fopen(fname,"wt"); // vertices definition if(colored) fprintf(fp,"COFF\n# Created by MathGL library\n# Title: %s\n",(descr && *descr) ? descr : fname); else fprintf(fp,"OFF\n# Created by MathGL library\n# Title: %s\n",(descr && *descr) ? descr : fname); fprintf(fp,"# List of Vertices, with (x,y,z,r,g,b,a) coordinates.\n"); fprintf(fp,"%ld %ld 0\n",gr->GetPntNum(), nf); for(i=0;iGetPntNum();i++) { const mglPnt &pp = gr->GetPnt(i); if(colored) fprintf(fp,"%g %g %g %g %g %g %g\n", pp.x, pp.y, pp.z, pp.r, pp.g, pp.b, pp.a); else fprintf(fp,"%g %g %g\n", pp.x, pp.y, pp.z); } for(i=0;iGetPrmNum();i++) { const mglPrim &q=gr->GetPrm(i); const mglPnt &p1=gr->GetPnt(q.n1); if(colored) { if(q.type==2) fprintf(fp,"3 %ld %ld %ld\n",q.n1,q.n2,q.n3); if(q.type==3) fprintf(fp,"4 %ld %ld %ld %ld\n",q.n1,q.n2,q.n4,q.n3); } else { if(q.type==2) { const mglPnt &p2=gr->GetPnt(q.n2), &p3=gr->GetPnt(q.n3); if(p1.a>mgl_min_a || p2.a>mgl_min_a || p3.a>mgl_min_a) fprintf(fp,"3 %ld %ld %ld %.2g %.2g %.2g %.2g\n",q.n1,q.n2,q.n3, (p1.r+p2.r+p3.r)/3, (p1.g+p2.g+p3.g)/3, (p1.b+p2.b+p3.b)/3, (p1.a+p2.a+p3.a)/3); } if(q.type==3) { const mglPnt &p2=gr->GetPnt(q.n2), &p3=gr->GetPnt(q.n3), &p4=gr->GetPnt(q.n4); if(p1.a>mgl_min_a || p2.a>mgl_min_a || p3.a>mgl_min_a || p4.a>mgl_min_a) fprintf(fp,"4 %ld %ld %ld %ld %.2g %.2g %.2g %.2g\n",q.n1,q.n2,q.n4,q.n3, (p1.r+p2.r+p3.r+p4.r)/4, (p1.g+p2.g+p3.g+p4.g)/4, (p1.b+p2.b+p3.b+p4.b)/4, (p1.a+p2.a+p3.a+p4.a)/4); } } } fclose(fp); } void MGL_EXPORT mgl_write_off_(uintptr_t *gr, const char *fname,const char *descr,int *colored,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *d=new char[n+1]; memcpy(d,descr,n); d[n]=0; mgl_write_off(_GR_,s,d,*colored); delete []s; delete []d; } //----------------------------------------------------------------------------- bool mglCanvas::WriteJSON(const char *fname) { bool fl = strcmp(fname,"-"); bool gz = fname[strlen(fname)-1]=='z'; void *fp = fl ? (gz ? (void*)gzopen(fname,"wt") : (void*)fopen(fname,"wt")) : stdout; if (!fp) return true; ClearUnused(); // clear unused points size_t i,l=Pnt.size(); mgl_printf(fp, gz,"{\n\"width\":%d,\t\"height\":%d,\t\"depth\":%d,\t\"plotid\":\"%s\",\t\"npnts\":%lu,\t\"pnts\":[\n", Width, Height, Depth, PlotId.c_str(), (unsigned long)l); for(i=0;i xy; // vector for glyphs coordinates (to be separated from pnts) for(i=0;in2) { n1=p.n2; n2=p.n1; } if(c.a==1 || p.type==0 || p.type==1 || p.type==4 || p.type==6) // fprintf(fp,"[%d,%ld,%ld,%ld,%ld,%d,%.4g,%.4g,%.4g,%.4g,\"#%02x%02x%02x\"]%c\n", mgl_printf(fp, gz,"[%d,%ld,%ld,%ld,%ld,%d,%.3g,%.2g,%.2g,%.2g,\"#%02x%02x%02x\"]%c\n", p.type, n1, n2, n3, n4, p.id, p.s, p.w==p.w?p.w:0, p.p==p.p?p.p:0, 0., int(255*c.r), int(255*c.g), int(255*c.b), i+1WriteJSON(fname); } void MGL_EXPORT mgl_write_json_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_json(_GR_,s,f); delete []s; delete []f; } //----------------------------------------------------------------------------- bool mglCanvas::ExportMGLD(const char *fname, const char *descr) { if(Pnt.size()<1 || Prm.size()<1) return true; FILE *fp=fopen(fname,"wt"); if(!fp) return true; // NOTE: I'll save Ptx. So prim type=6 is useless,and no LaTeX fprintf(fp,"MGLD %lu %lu %lu %lu %d %d\n# %s\n", (unsigned long)Pnt.size(), (unsigned long)Prm.size(), (unsigned long)Txt.size(), (unsigned long)Glf.size(), Width, Height, (descr && *descr) ? descr : fname); register size_t i; fprintf(fp,"# Vertexes: x y z c t ta u v w r g b a\n"); for(i=0;iExportMGLD(fname, descr); } void MGL_EXPORT mgl_export_mgld_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_export_mgld(_GR_,s,f); delete []s; delete []f; } //----------------------------------------------------------------------------- bool mglCanvas::ImportMGLD(const char *fname, bool add) { FILE *fp=fopen(fname,"rt"); if(!fp) return true; char *buf=new char[512]; if(!fgets(buf,512,fp)) *buf=0; if(strncmp(buf,"MGLD",4)) { delete []buf; fclose(fp); return true; } register size_t i; unsigned long n=0,m=0,l=0,k=0, npnt=0, nglf=0; int w=0,h=0,d; sscanf(buf+5,"%lu%lu%lu%lu%d%d",&n,&m,&l,&k,&w,&h); if(w<=0 || h<=0) { w=Width; h=Height; } d = long(sqrt(double(w*h))); if(n<=0 || m<=0 || l<=0) { delete []buf; fclose(fp); return true; } if(!add) { Clf(); Txt.clear(); } else { ClfZB(); npnt=Pnt.size(); nglf=Glf.size(); } Pnt.reserve(n); Prm.reserve(m); Txt.reserve(l); Glf.reserve(k); #if MGL_HAVE_PTHREAD pthread_mutex_lock(&mutexGlf); pthread_mutex_lock(&mutexPnt); pthread_mutex_lock(&mutexPrm); pthread_mutex_lock(&mutexTxt); #endif mglPnt p; for(i=0;i=0?q.n1+npnt:-1; q.n2 = q.n2>=0?q.n2+npnt:-1; if(q.type==2 || q.type==3) { q.n3 = q.n3>=0?q.n3+npnt:-1; q.n4 = q.n4>=0?q.n4+npnt:-1; } if(q.type==4) { q.n4 = q.n4>=0?q.n4+nglf:-1; q.s *= font_factor/(w' ') k=1; if(sm==2 && k) break; } sscanf(buf,"%d%g", &sm, &a); t.Set(buf+j, sm, a); Txt.push_back(t); } mglGlyph g; for(i=0;iImportMGLD(fname, add); } void MGL_EXPORT mgl_import_mgld_(uintptr_t *gr, const char *fname, int *add, int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; mgl_import_mgld(_GR_,s,*add); delete []s; } //----------------------------------------------------------------------------- /*void MGL_EXPORT mgl_xgl_prim(const mglPrim &q, const mglPnt &p, FILE *fp, mreal size) { char type = q.n4; mreal ss=size*0.35; register long i=q.n1,j; switch(q.type) { case 0: if(!strchr("xsSoO",type)) ss *= 1.1; if(type=='.' || ss==0) fprintf(fp,"p %ld\n", i); else switch(type) // TODO: save mark by PATCH { case 'P': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y+ss,p.z); fprintf(fp,"l -4/%ld -3/%ld\n", i,i); fprintf(fp,"l -3/%ld -2/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"l -1/%ld -4/%ld\n", i,i); case '+': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y,p.z); fprintf(fp,"v %g %g %g\n",p.x,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x,p.y+ss,p.z); fprintf(fp,"l -4/%ld -3/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); break; case 'X': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y+ss,p.z); fprintf(fp,"l -4/%ld -3/%ld\n", i,i); fprintf(fp,"l -3/%ld -2/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"l -1/%ld -4/%ld\n", i,i); fprintf(fp,"l -1/%ld -3/%ld\n", i,i); fprintf(fp,"l -2/%ld -4/%ld\n", i,i); break; case 'x': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y+ss,p.z); fprintf(fp,"l -1/%ld -3/%ld\n", i,i); fprintf(fp,"l -2/%ld -4/%ld\n", i,i); break; case 'S': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y+ss,p.z); fprintf(fp,"f -4/%ld -3/%ld -2/%ld -1/%ld\n",i,i,i,i); break; case 's': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y+ss,p.z); fprintf(fp,"l -4/%ld -3/%ld\n", i,i); fprintf(fp,"l -3/%ld -2/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"l -1/%ld -4/%ld\n", i,i); break; case 'D': fprintf(fp,"v %g %g %g\n",p.x,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y,p.z); fprintf(fp,"v %g %g %g\n",p.x,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y,p.z); fprintf(fp,"f -4/%ld -3/%ld -2/%ld -1/%ld\n",i,i,i,i); break; case 'd': fprintf(fp,"v %g %g %g\n",p.x,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y,p.z); fprintf(fp,"v %g %g %g\n",p.x,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y,p.z); fprintf(fp,"l -4/%ld -3/%ld\n", i,i); fprintf(fp,"l -3/%ld -2/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"l -1/%ld -4/%ld\n", i,i); break; case 'Y': fprintf(fp,"v %g %g %g\n",p.x,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+0.8*ss,p.y+0.6*ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-0.8*ss,p.y+0.6*ss,p.z); fprintf(fp,"l -3/%ld %ld/%ld\n", i,i,i); fprintf(fp,"l -2/%ld %ld/%ld\n", i,i,i); fprintf(fp,"l -1/%ld %ld/%ld\n", i,i,i); break; case '*': fprintf(fp,"v %g %g %g\n",p.x+ss,p.y,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y,p.z); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"v %g %g %g\n",p.x+0.6*ss,p.y+0.8*ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-0.6*ss,p.y-0.8*ss,p.z); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"v %g %g %g\n",p.x+0.6*ss,p.y-0.8*ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-0.6*ss,p.y+0.8*ss,p.z); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); break; case 'T': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y-ss/2,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y-ss/2,p.z); fprintf(fp,"v %g %g %g\n",p.x,p.y+ss,p.z); fprintf(fp,"f -3/%ld -2/%ld -1/%ld\n", i,i,i); break; case '^': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y-ss/2,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y-ss/2,p.z); fprintf(fp,"v %g %g %g\n",p.x,p.y+ss,p.z); fprintf(fp,"l -3/%ld -2/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"l -1/%ld -3/%ld\n", i,i); break; case 'V': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y+ss/2,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y+ss/2,p.z); fprintf(fp,"v %g %g %g\n",p.x,p.y-ss,p.z); fprintf(fp,"f -3/%ld -2/%ld -1/%ld\n", i,i,i); break; case 'v': fprintf(fp,"v %g %g %g\n",p.x-ss,p.y+ss/2,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y+ss/2,p.z); fprintf(fp,"v %g %g %g\n",p.x,p.y-ss,p.z); fprintf(fp,"l -3/%ld -2/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"l -1/%ld -3/%ld\n", i,i); break; case 'L': fprintf(fp,"v %g %g %g\n",p.x+ss/2,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss/2,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y,p.z); fprintf(fp,"f -3/%ld -2/%ld -1/%ld\n", i,i,i); break; case '<': fprintf(fp,"v %g %g %g\n",p.x+ss/2,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss/2,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss,p.y,p.z); fprintf(fp,"l -3/%ld -2/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"l -1/%ld -3/%ld\n", i,i); break; case 'R': fprintf(fp,"v %g %g %g\n",p.x-ss/2,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss/2,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y,p.z); fprintf(fp,"f -3/%ld -2/%ld -1/%ld\n", i,i,i); break; case '>': fprintf(fp,"v %g %g %g\n",p.x-ss/2,p.y+ss,p.z); fprintf(fp,"v %g %g %g\n",p.x-ss/2,p.y-ss,p.z); fprintf(fp,"v %g %g %g\n",p.x+ss,p.y,p.z); fprintf(fp,"l -3/%ld -2/%ld\n", i,i); fprintf(fp,"l -2/%ld -1/%ld\n", i,i); fprintf(fp,"l -1/%ld -3/%ld\n", i,i); break; case 'O': for(long j=0;j<=20;j++) fprintf(fp,"v %g %g %g\n",p.x+ss*cos(j*M_PI/10),p.y+ss*sin(j*M_PI/10),p.z); for(long j=0;j<20;j++) fprintf(fp,"f %ld/%ld %ld/%ld %ld/%ld\n", j-21,i, j-20,i, i,i); break; case 'C': fprintf(fp,"p %ld\n", i); case 'o': for(long j=0;j<=20;j++) fprintf(fp,"v %g %g %g\n",p.x+ss*cos(j*M_PI/10),p.y+ss*sin(j*M_PI/10),p.z); for(long j=0;j<20;j++) fprintf(fp,"l %ld/%ld %ld/%ld\n", j-21,i, j-20,i); break; } break; case 1: fprintf(fp,"l %ld/%ld %ld/%ld\n", q.n1,q.n1, q.n2,q.n2); break; case 2: fprintf(fp,"f %ld/%ld/%ld %ld/%ld/%ld %ld/%ld/%ld\n", q.n1,q.n1,q.n1, q.n2,q.n2,q.n2, q.n3,q.n3,q.n3); break; case 3: fprintf(fp,"f %ld/%ld/%ld %ld/%ld/%ld %ld/%ld/%ld %ld/%ld/%ld\n", q.n1,q.n1,q.n1, q.n2,q.n2,q.n2, q.n3,q.n3,q.n3, q.n4,q.n4,q.n4); break; case 4: break; // TODO: add glyphs export later } } //----------------------------------------------------------------------------- void mglCanvas::WriteXGL(const char *fname,const char *descr) { if(GetPrmNum()==0) return; // nothing to do FILE *fp=fopen(fname,"wt"); if(!fp) return true; fprintf(fp,"\n%s\n", (descr && *descr)?descr:fname); fprintf(fp,"%g, %g, %g\n", BDef[0]/255., BDef[1]/255., BDef[2]/255.); fprintf(fp,"\n%g, %g, %g\n",AmbBr, AmbBr, AmbBr); register size_t i,j; if(get(MGL_ENABLE_LIGHT)) for(i=0;i<10;i++) if(light[i].n && mgl_isnan(light[i].r.x)) { fprintf(fp, "\n%g, %g, %g\n", light[i].d.x, light[i].d.y, light[i].d.z); fprintf(fp, "%g, %g, %g\n\n", light[i].c.r, light[i].c.g, light[i].c.b); } fprintf(fp,""); // TODO: add textures long m1=0,m2=0,m; for(i=0;im2) m2=m; } long *ng = new long[m2-m1+1]; for(i=0;iGrp[i].Id-m1] = i; for(i=0;i=0 && m p; mglPrim q; char *pg=new char[GetPntNum()]; for(i=0;i\n%s\n\n",Grp[i].Lbl.c_str()); for(j=0;j%g, %g, %g

\n",j, s.x, s.y, s.z); fprintf(fp,"%g, %g, %g\n",j, s.x, s.y, s.z); } // TODO: add line styles for(j=0;j\n"); // finish with this object Grp[i].p.clear(); // we don't need indexes anymore } // TODO: try to save "ungrouped" primitives fprintf(fp,""); fclose(fp); delete []pg; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_xgl(HMGL gr, const char *fname,const char *descr) { _Gr_->WriteXGL(fname,descr); } void MGL_EXPORT mgl_write_xgl_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *d=new char[n+1]; memcpy(d,descr,n); d[n]=0; mgl_write_xgl(_GR_,s,d); delete []s; delete []d; }*/ //----------------------------------------------------------------------------- void MGL_EXPORT mgl_x3d_mdef(HMGL gr, void *fp, bool gz) { bool m_p=false,m_x=false,m_d=false,m_v=false,m_t=false, m_s=false,m_a=false,m_o=false,m_T=false, m_V=false,m_S=false,m_D=false,m_Y=false,m_l=false, m_L=false,m_r=false,m_R=false,m_X=false,m_P=false; for(size_t i=0;iGetPrmNum();i++) { const mglPrim q = gr->GetPrm(i); if(q.type>0) continue; if(q.n4=='+') m_p = true; if(q.n4=='x') m_x = true; if(q.n4=='s') m_s = true; if(q.n4=='d') m_d = true; if(q.n4=='v') m_v = true; if(q.n4=='^') m_t = true; if(q.n4=='*') m_a = true; if(q.n4=='o' || q.n4=='O' || q.n4=='C') m_o = true; if(q.n4=='S') m_S = true; if(q.n4=='D') m_D = true; if(q.n4=='V') m_V = true; if(q.n4=='T') m_T = true; if(q.n4=='<') m_l = true; if(q.n4=='L') m_L = true; if(q.n4=='>') m_r = true; if(q.n4=='R') m_R = true; if(q.n4=='Y') m_Y = true; if(q.n4=='P') m_P = true; if(q.n4=='X') m_X = true; } if(m_P) { m_p=true; m_s=true; } if(m_X) { m_x=true; m_s=true; } if(m_p) mgl_printf(fp, gz, "\n" "\n" "\n\n"); /*if(m_x) mgl_printf(fp, gz, "/m_x {sm sm rm s2 s2 rl 0 sm 2 mul rm sm 2 mul s2 rl d0} def\n"); // TODO * if(m_s) mgl_printf(fp, gz, "/m_s {sm sm rm 0 s2 rl s2 0 rl 0 sm 2 mul rl cp d0} def\n"); * if(m_d) mgl_printf(fp, gz, "/m_d {sm 0 rm ss ss rl ss sm rl sm sm rl cp d0} def\n"); * if(m_v) mgl_printf(fp, gz, "/m_v {sm ss 2 div rm s2 0 rl sm sm 1.5 mul rl d0 cp} def\n"); * if(m_t) mgl_printf(fp, gz, "/m_t {sm sm 2 div rm s2 0 rl sm ss 1.5 mul rl d0 cp} def\n"); * if(m_a) mgl_printf(fp, gz, "/m_a {sm 0 rm s2 0 rl sm 1.6 mul sm 0.8 mul rm ss 1.2 mul ss 1.6 mul rl 0 sm 1.6 mul rm sm 1.2 mul ss 1.6 mul rl d0} def\n"); * if(m_o) mgl_printf(fp, gz, "/m_o {ss 0 360 d0 arc} def\n"); * if(m_S) mgl_printf(fp, gz, "/m_S {sm sm rm 0 s2 rl s2 0 rl 0 sm 2 mul rl cp} def\n"); * if(m_D) mgl_printf(fp, gz, "/m_D {sm 0 rm ss ss rl ss sm rl sm sm rl cp} def\n"); * if(m_V) mgl_printf(fp, gz, "/m_V {sm ss 2 div rm s2 0 rl sm sm 1.5 mul rl cp} def\n"); * if(m_T) mgl_printf(fp, gz, "/m_T {sm sm 2 div rm s2 0 rl sm ss 1.5 mul rl cp} def\n"); * if(m_Y) mgl_printf(fp, gz, "/m_Y {0 sm rm 0 ss rl sm ss rl s2 0 rm sm sm rl d0} def\n"); * if(m_r) mgl_printf(fp, gz, "/m_r {sm 2 div sm rm 0 s2 rl ss 1.5 mul sm rl d0 cp} def\n"); * if(m_l) mgl_printf(fp, gz, "/m_l {ss 2 div sm rm 0 s2 rl sm 1.5 mul sm rl d0 cp} def\n"); * if(m_R) mgl_printf(fp, gz, "/m_R {sm 2 div sm rm 0 s2 rl ss 1.5 mul sm rl cp} def\n"); * if(m_L) mgl_printf(fp, gz, "/m_L {ss 2 div sm rm 0 s2 rl sm 1.5 mul sm rl cp} def\n"); * if(m_P) mgl_printf(fp, gz, "/m_P {m_p 0 sm rm m_s} def\n"); * if(m_X) mgl_printf(fp, gz, "/m_X {m_x ss sm rm m_s} def\n");*/ // if(m_C) mgl_printf(fp, gz, "/m_C {m_c m_o} def\n"); mgl_printf(fp, gz, "\n"); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_x3d_prim(const mglPrim &q, const mglPnt &p, const long *pnt, void *fp,bool gz, mreal size) { // /* if(q.type==0) // mark { mreal x0 = p1.x,y0 = p1.y; sprintf(str,"1 lw %.2g %.2g %.2g rgb ", cp.r,cp.g,cp.b); wp=1; if(q.s!=gr->mark_size()/gr->FontFactor()) { mgl_printf(fp, gz, "/ss {%g} def\n",q.s*0.4*gr->FontFactor()); mgl_printf(fp, gz, "/s2 {%g} def\n",q.s*0.8*gr->FontFactor()); mgl_printf(fp, gz, "/sm {-%g} def\n",q.s*0.4*gr->FontFactor()); } switch(q.n4) { case '+': mgl_printf(fp, gz, "np %g %g mt m_p %sdr\n",x0,y0,str); break; case 'x': mgl_printf(fp, gz, "np %g %g mt m_x %sdr\n",x0,y0,str); break; case 's': mgl_printf(fp, gz, "np %g %g mt m_s %sdr\n",x0,y0,str); break; case 'd': mgl_printf(fp, gz, "np %g %g mt m_d %sdr\n",x0,y0,str); break; case '*': mgl_printf(fp, gz, "np %g %g mt m_a %sdr\n",x0,y0,str); break; case 'v': mgl_printf(fp, gz, "np %g %g mt m_v %sdr\n",x0,y0,str); break; case '^': mgl_printf(fp, gz, "np %g %g mt m_t %sdr\n",x0,y0,str); break; case 'S': mgl_printf(fp, gz, "np %g %g mt m_S %sfill\n",x0,y0,str); break; case 'D': mgl_printf(fp, gz, "np %g %g mt m_D %sfill\n",x0,y0,str); break; case 'V': mgl_printf(fp, gz, "np %g %g mt m_V %sfill\n",x0,y0,str); break; case 'T': mgl_printf(fp, gz, "np %g %g mt m_T %sfill\n",x0,y0,str); break; case 'o': mgl_printf(fp, gz, "%g %g m_o %sdr\n",x0,y0,str);break; case 'O': mgl_printf(fp, gz, "%g %g m_o %sfill\n",x0,y0,str);break; case 'Y': mgl_printf(fp, gz, "np %g %g mt m_Y %sdr\n",x0,y0,str); break; case '<': mgl_printf(fp, gz, "np %g %g mt m_l %sdr\n",x0,y0,str); break; case '>': mgl_printf(fp, gz, "np %g %g mt m_r %sdr\n",x0,y0,str); break; case 'L': mgl_printf(fp, gz, "np %g %g mt m_L %sfill\n",x0,y0,str); break; case 'R': mgl_printf(fp, gz, "np %g %g mt m_R %sfill\n",x0,y0,str); break; case 'P': mgl_printf(fp, gz, "np %g %g mt m_P %sdr\n",x0,y0,str); break; case 'X': mgl_printf(fp, gz, "np %g %g mt m_X %sdr\n",x0,y0,str); break; case 'C': mgl_printf(fp, gz, "%g %g m_o %g %g m_c %sdr\n",x0,y0,x0,y0,str); break; default: mgl_printf(fp, gz, "%g %g m_c %sfill\n",x0,y0,str); } if(q.s!=gr->mark_size()/gr->FontFactor()) { mgl_printf(fp, gz, "/ss {%g} def\n",0.4*gr->mark_size()); mgl_printf(fp, gz, "/s2 {%g} def\n",0.8*gr->mark_size()); mgl_printf(fp, gz, "/sm {-%g} def\n",0.4*gr->mark_size()); } } else if(q.type==3) // quad { const mglPnt p2=gr->GetPnt(q.n2), p3=gr->GetPnt(q.n3), p4=gr->GetPnt(q.n4); mgl_printf(fp, gz, "np %g %g mt %g %g ll %g %g ll %g %g ll cp %sfill\n", p1.x, p1.y, p2.x, p2.y, p4.x, p4.y, p3.x, p3.y, str); } else if(q.type==2) // trig { const mglPnt p2=gr->GetPnt(q.n2), p3=gr->GetPnt(q.n3); mgl_printf(fp, gz, "np %g %g mt %g %g ll %g %g ll cp %sfill\n", p1.x, p1.y, p2.x, p2.y, p3.x, p3.y, str); } else if(q.type==1) // line { sprintf(str,"%.2g lw %.2g %.2g %.2g rgb ", q.w>1 ? q.w:1., cp.r,cp.g,cp.b); wp = q.w>1 ? q.w:1; st = q.n3; put_line(gr,fp,gz,i,wp,cp,st, "np %g %g mt ", "%g %g ll ", false, 1); const char *sd = mgl_get_dash(q.n3,q.w); if(sd && sd[0]) mgl_printf(fp, gz, "%s [%s] %g sd dr\n",str,sd,q.w*q.s); else mgl_printf(fp, gz, "%s d0 dr\n",str); } else if(q.type==4) // glyph { mreal ss = q.s/2, xx = p1.u, yy = p1.v, zz = p1.w; mgl_printf(fp, gz, "gsave\t%g %g translate %g %g scale %g rotate %s\n", p1.x, p1.y, ss, ss, -q.w, str); if(q.n3&8) // this is "line" { mreal dy = 0.004,f=fabs(zz); mgl_printf(fp, gz, "np %g %g mt %g %g ll %g %g ll %g %g ll cp ", xx,yy+dy, xx+f,yy+dy, xx+f,yy-dy, xx,yy-dy); } else mgl_printf(fp, gz, "%.3g %.3g translate %g %g scale %c%c_%04x ", xx, yy, zz, zz, q.n3&1?'b':'n', q.n3&2?'i':'n', q.n4); if(q.n3&4) mgl_printf(fp, gz, "dr"); else mgl_printf(fp, gz, "eofill"); mgl_printf(fp, gz, " grestore\n"); }*/ } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_x3d(HMGL gr, const char *fname,const char *descr) { if(gr->GetPrmNum()<1) return; time_t now; time(&now); bool gz = fname[strlen(fname)-1]=='z'; void *fp = gz ? (void*)gzopen(fname,"wt") : (void*)fopen(fname,"wt"); if(!fp) { gr->SetWarn(mglWarnOpen,fname); return; } mgl_printf(fp, gz, "\n"); mgl_printf(fp, gz, "\n"); mgl_printf(fp, gz, "\n\n\n",fname); mgl_printf(fp, gz, "\n",(descr && *descr)?descr:fname); mgl_printf(fp, gz, "\n",ctime(&now)); mgl_printf(fp, gz, "\n"); mgl_printf(fp, gz, "\n\n"); // 1. first we have to define proto for marks and glyphs mgl_x3d_mdef(gr, fp, gz); // here should be defined textures ... but since X3D support RGBA then omit it in this version // 2. now find group for primitives long m1=0,m2=0,m; register size_t i,j; for(i=0;iGrp.size();i++) // prepare array of indirect indexing { m = gr->Grp[i].Id; if(mm2) m2=m; } long *ng = new long[m2-m1+1]; for(i=0;iGrp.size();i++) ng[gr->Grp[i].Id-m1] = i; for(i=0;iGetPrmNum();i++) // collect data for groups // it is rather expensive (extra 4b per primitive) but need for export to 3D { m = gr->GetPrm(i).id-m1; if(m>=0 && mGrp[ng[m]].p.push_back(i); } delete []ng; // resort in creation order for proper drawing of lines and faces gr->resort(); // primitive definition in groups long npnt = gr->GetPntNum(), k; long *pnt=new long[npnt]; mglPrim q; for(i=0;iGrp.size();i++) { mgl_printf(fp,gz,"\n",gr->Grp[i].Lbl.c_str()); std::vector &p = gr->Grp[i].p; // define coordinates, colors and so on long line=-1, face=-1, other=-1; for(j=0,k=0;jGetPrm(p[j]); if(q.type==1) line=q.n1; // find kind of primitives in the group if(q.type==2 || q.type==3) face =q.n1; if(q.type>3 || q.type==0) other=q.n1; } // now save lines if(line>=0) { mglColor c=gr->GetPntC(line); bool same=true; // check if there are the same colors for all line segments for(j=0;jGetPrm(p[j]); if(q.type==1 && c!=gr->GetPntC(q.n1)) same=false; } memset(pnt,-1,npnt*sizeof(long)); for(j=0,k=0;jGetPrm(p[j]); if(q.type!=1) continue; if(q.n1>=0 && pnt[q.n1]<0) { pnt[q.n1]=k; k++; } if(q.n2>=0 && pnt[q.n2]<0) { pnt[q.n2]=k; k++; } } mgl_printf(fp, gz, ""); mgl_printf(fp, gz, ""); // TODO save IndexedLineSet here + manual color is same==true mgl_printf(fp, gz, ""); } // now save faces if(face>=0) { mglColor c=gr->GetPntC(face); bool same=true; // check if there are the same colors for all line segments for(j=0;jGetPrm(p[j]); if((q.type==2 || q.type==3) && c!=gr->GetPntC(q.n1)) same=false; } memset(pnt,-1,npnt*sizeof(long)); for(j=0,k=0;jGetPrm(p[j]); if(q.type!=2 && q.type!=3) continue; if(q.n1>=0 && pnt[q.n1]<0) { pnt[q.n1]=k; k++; } if(q.n2>=0 && pnt[q.n2]<0) { pnt[q.n2]=k; k++; } if(q.n3>=0 && pnt[q.n3]<0) { pnt[q.n3]=k; k++; } if(q.type==3 && q.n4>=0 && pnt[q.n4]<0) { pnt[q.n4]=k; k++; } } mgl_printf(fp, gz, ""); mgl_printf(fp, gz, ""); // TODO save IndexedLineSet here + manual color is same==true mgl_printf(fp, gz, ""); } // now save other primitives if(other>=0) { /* memset(pnt,-1,npnt*sizeof(long)); for(j=0,k=0;jGetPrm(p[j]); if(q.type!=2 && q.type!=3) continue; if(q.n1>=0 && pnt[q.n1]<0) { pnt[q.n1]=k; k++; } if(q.n2>=0 && pnt[q.n2]<0) { pnt[q.n2]=k; k++; } if(q.n3>=0 && pnt[q.n3]<0) { pnt[q.n3]=k; k++; } if(q.type==3 && q.n4>=0 && pnt[q.n4]<0) { pnt[q.n4]=k; k++; } } mgl_printf(fp, gz, ""); mgl_printf(fp, gz, ""); // TODO save IndexedLineSet here + manual color is same==true mgl_printf(fp, gz, "");*/ } // no normals since mathgl ones are "signless" -- x3d should calculate it by itself for(j=0;jGetPrm(p[j]); // TODO: collect by type (quads,trig,line) and draw together??? mgl_x3d_prim(q, gr->GetPnt(q.n1), pnt, fp,gz, q.s*gr->FontFactor()); } mgl_printf(fp,gz,"\n",gr->Grp[i].Lbl.c_str()); gr->Grp[i].p.clear(); // we don't need indexes anymore } mgl_printf(fp, gz, "\n"); if(gz) gzclose((gzFile)fp); else fclose((FILE *)fp); } void MGL_EXPORT mgl_write_x3d_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *d=new char[n+1]; memcpy(d,descr,n); d[n]=0; mgl_write_x3d(_GR_,s,d); delete []s; delete []d; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/evalp.cpp0000664000175000017500000005427612142400470015330 0ustar balakinbalakin/*************************************************************************** * evalp.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include "mgl2/parser.h" #if MGL_HAVE_GSL #include #include #endif //----------------------------------------------------------------------------- int mglFormulaError; mglData MGL_NO_EXPORT mglFormulaCalc(const wchar_t *string, mglParser *arg); //----------------------------------------------------------------------------- mglData mglApplyOper(const wchar_t *a1, const wchar_t *a2, mglParser *arg, double (*func)(double,double)) { const mglData &a = mglFormulaCalc(a1,arg), &b = mglFormulaCalc(a2,arg); long n = mgl_max(a.nx,b.nx), m = mgl_max(a.ny,b.ny), l = mgl_max(a.nz,b.nz); mglData r(n, m, l); register int i,j,k; if(b.nx*b.ny*b.nz==1) for(i=0;i=0;i--) { if(str[i]=='(') l++; if(str[i]==')') r++; if(l==r && strchr(lst,str[i])) return i; } return -1; } //----------------------------------------------------------------------------- double MGL_NO_EXPORT cand(double a,double b);// {return a&&b?1:0;} double MGL_NO_EXPORT cor(double a,double b);// {return a||b?1:0;} double MGL_NO_EXPORT ceq(double a,double b);// {return a==b?1:0;} double MGL_NO_EXPORT clt(double a,double b);// {return ab?1:0;} double MGL_NO_EXPORT add(double a,double b);// {return a+b;} double MGL_NO_EXPORT sub(double a,double b);// {return a-b;} double MGL_NO_EXPORT mul(double a,double b);// {return a&&b?a*b:0;} double MGL_NO_EXPORT del(double a,double b);// {return b?a/b:NAN;} double MGL_NO_EXPORT ipw(double a,double b);// {return mgl_ipow(a,int(b));} double MGL_NO_EXPORT llg(double a,double b);// {return log(a)/log(b);} //double MGL_NO_EXPORT asinh(double x);// { return log(x+sqrt(x*x+1)); } //double MGL_NO_EXPORT acosh(double x);// { return x>1 ? log(x+sqrt(x*x-1)) : NAN; } //double MGL_NO_EXPORT atanh(double x);// { return fabs(x)<1 ? log((1+x)/(1-x))/2 : NAN; } double MGL_NO_EXPORT gslEllE(double a,double b);// {return gsl_sf_ellint_E(a,b,GSL_PREC_SINGLE);} double MGL_NO_EXPORT gslEllF(double a,double b);// {return gsl_sf_ellint_F(a,b,GSL_PREC_SINGLE);} double MGL_NO_EXPORT gslLegP(double a,double b);// {return gsl_sf_legendre_Pl(int(a),b);} //----------------------------------------------------------------------------- // It seems that standard wcstombs() have a bug. So, I replace by my own. void MGL_EXPORT mgl_wcstombs(char *dst, const wchar_t *src, int size) { register int j; for(j=0;j 'x', 0x2 -> 'y', 0x4 -> 'z' // NOTE: the speed is not a goal (mglFormula is faster). It is true interpreter! mglData MGL_NO_EXPORT mglFormulaCalc(const wchar_t *string, mglParser *arg) { #if MGL_HAVE_GSL gsl_set_error_handler_off(); #endif mglData res; if(!string || !(*string) || mglFormulaError) return res; // nothing to parse wchar_t *str = new wchar_t[wcslen(string)+1],ch; wcscpy(str,string); long n,len; mgl_wcstrim(str); // mgl_wcslwr(str); len=wcslen(str); if(str[0]=='(' && mglCheck(&(str[1]),len-2)) // remove braces { memmove(str,str+1,len*sizeof(wchar_t)); len-=2; str[len]=0; } len=wcslen(str); if(str[0]=='[') // this is manual subdata { mglData a1; long i, j, br=0,k; bool ar=true,mt=false; for(i=1,j=1;i0) br--; if(str[i]==',' && !br) { str[i]=0; a1=mglFormulaCalc(str+j, arg); if(j==1) { res = a1; ar = (a1.nx==1); mt = (a1.nx>1 && a1.ny==1); } else { if(ar) // res 1d array { k = res.nx; res.Insert('x',k); res.Put(a1,k); } else if(mt) // res 2d array { k = res.ny; res.Insert('y',k); res.Put(a1,-1,k); } else // res 3d array { k = res.nz; res.Insert('z',k); res.Put(a1,-1,-1,k); } } j=i+1; } } str[i]=0; a1=mglFormulaCalc(str+j, arg); if(j==1) { res = a1; ar = (a1.nx==1); mt = (a1.nx>1 && a1.ny==1); } else { if(ar) // res 1d array { k = res.nx; res.Insert('x',k); res.Put(a1,k); } else if(mt) // res 2d array { k = res.ny; res.Insert('y',k); res.Put(a1,-1,k); } else // res 3d array { k = res.nz; res.Insert('z',k); res.Put(a1,-1,-1,k); } } return res; } n=mglFindInText(str,"&|"); // lowest priority -- logical if(n>=0) { ch=str[n]; str[n]=0; res = mglApplyOper(str,str+n+1,arg, ch=='|'?cor:cand); delete []str; return res; } n=mglFindInText(str,"<>="); // low priority -- conditions if(n>=0) { ch=str[n]; str[n]=0; if(ch=='<') res = mglApplyOper(str,str+n+1,arg, clt); else if(ch=='>') res = mglApplyOper(str,str+n+1,arg, cgt); else res = mglApplyOper(str,str+n+1,arg, ceq); delete []str; return res; } n=mglFindInText(str,"+-"); // normal priority -- additions if(n>=0 && (n<2 || str[n-1]!='e' || (str[n-2]!='.' && !isdigit(str[n-2])))) { ch=str[n]; str[n]=0; res = mglApplyOper(str,str+n+1,arg, ch=='+'?add:sub); delete []str; return res; } n=mglFindInText(str,"*/"); // high priority -- multiplications if(n>=0) { ch=str[n]; str[n]=0; res = mglApplyOper(str,str+n+1,arg, ch=='*'?mul:del); delete []str; return res; } n=mglFindInText(str,"@"); // high priority -- combine if(n>=0) { str[n]=0; const mglData &a = mglFormulaCalc(str,arg), &b = mglFormulaCalc(str+n+1,arg); delete []str; return a.Combine(b); } n=mglFindInText(str,"^"); // highest priority -- power if(n>=0) { str[n]=0; res = mglApplyOper(str,str+n+1,arg, ipw); delete []str; return res; } n=mglFindInText(str,":"); // highest priority -- array if(n>=0 && wcscmp(str,L":")) { str[n]=0; mglData a1=mglFormulaCalc(str, arg); mglData a2=mglFormulaCalc(str+n+1, arg); res.Create(abs(int(a2.a[0]+0.5)-int(a1.a[0]+0.5))+1); res.Fill(a1.a[0], a2.a[0]); delete []str; return res; } n=mglFindInText(str,"."); // highest priority -- suffixes if(n>=0) { str[n]=0; mreal x,y,z,k,v=NAN; mglData d = mglFormulaCalc(str, arg); const wchar_t *p=str+n+1; if(!wcscmp(p,L"a")) v = d.a[0]; else if(!wcscmp(p,L"fst")) { long i=-1,j=-1,l=-1; v = d.Find(0,i,j,l); } else if(!wcscmp(p,L"lst")) { long i=-1,j=-1,l=-1; v = d.Last(0,i,j,l); } else if(!wcscmp(p,L"nx")) v=d.nx; else if(!wcscmp(p,L"ny")) v=d.ny; else if(!wcscmp(p,L"nz")) v=d.nz; else if(!wcscmp(p,L"max")) v=d.Maximal(); else if(!wcscmp(p,L"min")) v=d.Minimal(); else if(!wcscmp(p,L"sum")) v=d.Momentum('x',x,y); else if(!wcscmp(p,L"mx")) { d.Maximal(x,y,z); v=x/d.nx; } else if(!wcscmp(p,L"my")) { d.Maximal(x,y,z); v=y/d.ny; } else if(!wcscmp(p,L"mz")) { d.Maximal(x,y,z); v=z/d.nz; } else if(!wcscmp(p,L"ax")) { d.Momentum('x',x,y); v=x/d.nx; } else if(!wcscmp(p,L"ay")) { d.Momentum('y',x,y); v=x/d.ny; } else if(!wcscmp(p,L"az")) { d.Momentum('z',x,y); v=x/d.nz; } else if(!wcscmp(p,L"wx")) { d.Momentum('x',x,y); v=y/d.nx; } else if(!wcscmp(p,L"wy")) { d.Momentum('y',x,y); v=y/d.ny; } else if(!wcscmp(p,L"wz")) { d.Momentum('z',x,y); v=y/d.nz; } else if(!wcscmp(p,L"sx")) { d.Momentum('x',x,y,z,k); v=z/d.nx; } else if(!wcscmp(p,L"sy")) { d.Momentum('y',x,y,z,k); v=z/d.ny; } else if(!wcscmp(p,L"sz")) { d.Momentum('z',x,y,z,k); v=z/d.nz; } else if(!wcscmp(p,L"kx")) { d.Momentum('x',x,y,z,k); v=k/d.nx; } else if(!wcscmp(p,L"ky")) { d.Momentum('y',x,y,z,k); v=k/d.ny; } else if(!wcscmp(p,L"kz")) { d.Momentum('z',x,y,z,k); v=k/d.nz; } else if(!wcscmp(p,L"aa")) { d.Momentum('a',x,y); v=x; } else if(!wcscmp(p,L"wa")) { d.Momentum('a',x,y); v=y; } else if(!wcscmp(p,L"sa")) { d.Momentum('a',x,y,z,k);v=z; } else if(!wcscmp(p,L"ka")) { d.Momentum('a',x,y,z,k);v=k; } // if this is valid suffix when finish parsing (it can be mreal number) if(!mgl_isnan(v)) { res.a[0] = v; delete []str; return res; } else str[n]='.'; } for(n=0;n=len) // this is number or variable { mglVar *v = arg->FindVar(str); mglNum *f = arg->FindNum(str); if(v) res = v; else if(f) res.a[0] = f->d; else if(!wcscmp(str,L"rnd")) res.a[0] = mgl_rnd(); else if(!wcscmp(str,L"nan")) res.a[0] = NAN; else if(!wcscmp(str,L"pi")) res.a[0] = M_PI; else if(!wcscmp(str,L"on")) res.a[0] = 1; else if(!wcscmp(str,L"off")) res.a[0] = 0; else if(!wcscmp(str,L":")) res.a[0] = -1; else res.a[0] = wcstod(str,0); // this is number delete []str; return res; } else { register long i; wchar_t name[128]; wcsncpy(name,str,128); name[127]=name[n]=0; memmove(str,str+n+1,(len-n)*sizeof(wchar_t)); len=wcslen(str); str[--len]=0; mglVar *v = arg->FindVar(name); if(!v) { if(!wcsncmp(name,L"jacobi_",7)) memmove(name,name+7,(wcslen(name+7)+1)*sizeof(wchar_t)); } if(v) // subdata { if(str[0]=='\'' && str[len-1]=='\'') // this is column call { char *buf = new char[len]; str[len-1]=0; mgl_wcstombs(buf, str+1, len-1); res=v->Column(buf); delete []buf; } else { long m; mglData a1, a2, a3; a1.a[0] = a2.a[0] = a3.a[0] = -1; n=mglFindInText(str,","); if(n>0) { str[n]=0; m=mglFindInText(str,","); if(m>0) { str[m]=0; a1 = mglFormulaCalc(str, arg); a2 = mglFormulaCalc(str+m+1, arg); a3 = mglFormulaCalc(str+n+1, arg); } else { a1 = mglFormulaCalc(str, arg); a2 = mglFormulaCalc(str+n+1, arg); } } else a1 = mglFormulaCalc(str, arg); res = v->SubData(a1,a2,a3); } } else if(name[0]=='a') // function { if(!wcscmp(name+1,L"sin")) { res=mglFormulaCalc(str, arg); for(i=0;i0?1:0; } else if(!wcscmp(name+1,L"ign")) { res=mglFormulaCalc(str, arg); for(i=0;i0?1:(res.a[i]<0?-1:0); } else if(!wcscmp(name+1,L"inh") || !wcscmp(name+1,L"h")) { res=mglFormulaCalc(str, arg); for(i=0;i='A' && str[k]<='Z') ? str[k]+'a'-'A' : str[k]; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/prim.cpp0000664000175000017500000011554412142400470015164 0ustar balakinbalakin/*************************************************************************** * prim.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/canvas.h" #include "mgl2/prim.h" #include "mgl2/data.h" //----------------------------------------------------------------------------- // // Mark & Curve series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mark(HMGL gr, double x, double y, double z,const char *mark) { char mk = gr->SetPenPal(mark); if(!mk) mk = '.'; if(mgl_isnan(z)) z=2*gr->Max.z-gr->Min.z; static int cgid=1; gr->StartGroup("MarkS",cgid++); long k = gr->AddPnt(mglPoint(x,y,z),gr->CDef,mglPoint(NAN),-1,3); gr->mark_plot(k,mk); gr->AddActive(k); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mark_(uintptr_t *gr, mreal *x, mreal *y, mreal *z, const char *pen,int l) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; mgl_mark(_GR_, *x,*y,*z,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_ball(HMGL gr, double x, double y, double z) { static int cgid=1; gr->StartGroup("Ball",cgid++); if(mgl_isnan(z)) z=2*gr->Max.z-gr->Min.z; long k = gr->AddPnt(mglPoint(x,y,z),gr->AddTexture('r'),mglPoint(NAN),-1,3); gr->mark_plot(k,'.'); gr->AddActive(k); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_ball_(uintptr_t *gr, mreal *x, mreal *y, mreal *z) { mgl_ball(_GR_, *x,*y,*z); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_line(HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, const char *pen,int n) { static int cgid=1; gr->StartGroup("Line",cgid++); if(mgl_isnan(z1) || mgl_isnan(z2)) z1=z2=2*gr->Max.z-gr->Min.z; mglPoint p1(x1,y1,z1), p2(x2,y2,z2), p=p1,nn=mglPoint(NAN); gr->SetPenPal(pen); n = (n<2) ? 2 : n; register long i,k1,k2; register mreal s; gr->Reserve(n); k1 = gr->AddPnt(p,gr->CDef,nn,-1,3); gr->AddActive(k1); for(i=1;iStop) return; s = i/mreal(n-1); p = p1*(1-s)+p2*s; k2 = k1; k1 = gr->AddPnt(p,gr->CDef,nn,-1,3); gr->line_plot(k2,k1); if(i==1) gr->arrow_plot(k2,k1,gr->Arrow1); if(i==n-1) gr->arrow_plot(k1,k2,gr->Arrow2); } gr->AddActive(k1,1); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_line_(uintptr_t *gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, const char *pen,int *n,int l) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; mgl_line(_GR_, *x1,*y1,*z1, *x2,*y2,*z2,s,*n); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_curve(HMGL gr, double x1, double y1, double z1, double dx1, double dy1, double dz1, double x2, double y2, double z2, double dx2, double dy2, double dz2, const char *pen,int n) { static int cgid=1; gr->StartGroup("Curve",cgid++); if(mgl_isnan(z1) || mgl_isnan(z2)) z1=z2=2*gr->Max.z-gr->Min.z; mglPoint p1(x1,y1,z1), p2(x2,y2,z2), d1(dx1,dy1,dz1), d2(dx2,dy2,dz2), a,b,p=p1,nn=mglPoint(NAN); a = 3*(p2-p1)-d2-2*d1; b = d1+d2-2*(p2-p1); n = (n<2) ? 2 : n; gr->SetPenPal(pen); register long i,k1,k2; register mreal s; gr->Reserve(n); k1=gr->AddPnt(p,gr->CDef,nn,-1,3); gr->AddActive(k1); for(i=1;iStop) return; s = i/(n-1.); p = p1+s*(d1+s*(a+s*b)); k2 = k1; k1 = gr->AddPnt(p,gr->CDef,nn,-1,3); gr->line_plot(k2,k1); if(i==1) gr->arrow_plot(k2,k1,gr->Arrow1); if(i==n-1) gr->arrow_plot(k1,k2,gr->Arrow2); } gr->AddActive(gr->AddPnt(p1+d1,gr->CDef,nn,-1,3),1); gr->AddActive(gr->AddPnt(p2-d2,gr->CDef,nn,-1,3),3); gr->AddActive(k1,2); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_curve_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *dx1, mreal *dy1, mreal *dz1, mreal *x2, mreal *y2, mreal *z2, mreal *dx2, mreal *dy2, mreal *dz2, const char *pen,int *n, int l) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; mgl_curve(_GR_, *x1,*y1,*z1, *dx1,*dy1,*dz1, *x2,*y2,*z2, *dx2,*dy2,*dz2, s, *n); delete []s;} //----------------------------------------------------------------------------- void MGL_EXPORT mgl_error_box(HMGL gr, double x, double y, double z, double ex, double ey, double ez, const char *pen) { static int cgid=1; gr->StartGroup("ErBox",cgid++); char mk=gr->SetPenPal(pen); mglPoint p(x,y,z), q,nn=mglPoint(NAN); gr->Reserve(7); long k1,k2; q = p; q.x += ex; k1 = gr->AddPnt(q,gr->CDef,nn,0,3); q = p; q.x -= ex; k2 = gr->AddPnt(q,gr->CDef,nn,0,3); gr->line_plot(k1,k2); gr->arrow_plot(k1,k2,'I'); gr->arrow_plot(k2,k1,'I'); q = p; q.y += ey; k1 = gr->AddPnt(q,gr->CDef,nn,0,3); q = p; q.y -= ey; k2 = gr->AddPnt(q,gr->CDef,nn,0,3); gr->line_plot(k1,k2); gr->arrow_plot(k1,k2,'I'); gr->arrow_plot(k2,k1,'I'); q = p; q.z += ez; k1 = gr->AddPnt(q,gr->CDef,nn,0,3); q = p; q.z -= ez; k2 = gr->AddPnt(q,gr->CDef,nn,0,3); gr->line_plot(k1,k2); gr->arrow_plot(k1,k2,'I'); gr->arrow_plot(k2,k1,'I'); if(mk) gr->mark_plot(gr->AddPnt(p,gr->CDef,nn,0,3),mk); gr->AddActive(gr->AddPnt(p,gr->CDef,nn,-1,3),0); gr->AddActive(gr->AddPnt(p+mglPoint(ex,ey),gr->CDef,nn,-1,3),1); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_error_box_(uintptr_t *gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, const char *pen,int l) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; mgl_error_box(_GR_, *x1,*y1,*z1, *x2,*y2,*z2,s); delete []s; } //----------------------------------------------------------------------------- // // Face series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_face(HMGL gr, double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, const char *stl) { static int cgid=1; gr->StartGroup("Face",cgid++); long pal; gr->SetPenPal(stl,&pal); // mreal c1,c2,c3,c4,zz=(gr->Min.z+gr->Max.z)/2; mreal c1,c2,c3,c4,zz=2*gr->Max.z-gr->Min.z; c1=c2=c3=c4=gr->CDef; if(mgl_isnan(z0)) z0 = zz; if(mgl_isnan(z1)) z1 = zz; if(mgl_isnan(z2)) z2 = zz; if(mgl_isnan(z3)) z3 = zz; mglPoint p1(x0,y0,z0), p2(x1,y1,z1), p3(x2,y2,z2), p4(x3,y3,z3); if(gr->GetNumPal(pal)>=4) { c2=gr->NextColor(pal); c3=gr->NextColor(pal); c4=gr->NextColor(pal); } mglPoint q1,q2,q3,q4; q1 = (p2-p1)^(p3-p1); q4 = (p2-p4)^(p3-p4); q2 = (p1-p2)^(p4-p2); q3 = (p1-p3)^(p4-p3); gr->Reserve(4); long k1,k2,k3,k4; double a = gr->get(MGL_ENABLE_ALPHA)?-1:1; k1 = gr->AddPnt(p1,c1,q1,a,11); gr->AddActive(k1,0); k2 = gr->AddPnt(p2,c2,q2,a,11); gr->AddActive(k2,1); k3 = gr->AddPnt(p3,c3,q3,a,11); gr->AddActive(k3,2); k4 = gr->AddPnt(p4,c4,q4,a,11); gr->AddActive(k4,3); gr->quad_plot(k1,k2,k3,k4); if(mglchr(stl,'#')) { gr->Reserve(4); pal = gr->AddTexture('k'); k1=gr->CopyNtoC(k1,pal); k2=gr->CopyNtoC(k2,pal); k3=gr->CopyNtoC(k3,pal); k4=gr->CopyNtoC(k4,pal); gr->line_plot(k1,k2); gr->line_plot(k1,k3); gr->line_plot(k3,k4); gr->line_plot(k2,k4); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_facex(HMGL gr, double x0, double y0, double z0, double wy, double wz, const char *stl, double d1, double d2) { mgl_face(gr, x0,y0,z0, x0,y0+wy,z0, x0,y0,z0+wz, x0,y0+wy+d1,z0+wz+d2, stl); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_facey(HMGL gr, double x0, double y0, double z0, double wx, double wz, const char *stl, double d1, double d2) { mgl_face(gr, x0,y0,z0, x0+wx,y0,z0, x0,y0,z0+wz, x0+wx+d1,y0,z0+wz+d2, stl); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_facez(HMGL gr, double x0, double y0, double z0, double wx, double wy, const char *stl, double d1, double d2) { mgl_face(gr, x0,y0,z0, x0,y0+wy,z0, x0+wx,y0,z0, x0+wx+d1,y0+wy+d2,z0, stl); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_facex_(uintptr_t* gr, mreal *x0, mreal *y0, mreal *z0, mreal *wy, mreal *wz, const char *stl, mreal *dx, mreal *dy, int l) { char *s=new char[l+1]; memcpy(s,stl,l); s[l]=0; mgl_facex(_GR_, *x0,*y0,*z0,*wy,*wz,s,*dx,*dy); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_facey_(uintptr_t* gr, mreal *x0, mreal *y0, mreal *z0, mreal *wx, mreal *wz, const char *stl, mreal *dx, mreal *dy, int l) { char *s=new char[l+1]; memcpy(s,stl,l); s[l]=0; mgl_facey(_GR_, *x0,*y0,*z0,*wx,*wz,s,*dx,*dy); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_facez_(uintptr_t* gr, mreal *x0, mreal *y0, mreal *z0, mreal *wx, mreal *wy, const char *stl, mreal *dx, mreal *dy, int l) { char *s=new char[l+1]; memcpy(s,stl,l); s[l]=0; mgl_facez(_GR_, *x0,*y0,*z0,*wx,*wy,s,*dx,*dy); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_face_(uintptr_t* gr, mreal *x0, mreal *y0, mreal *z0, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *x3, mreal *y3, mreal *z3, const char *stl, int l) { char *s=new char[l+1]; memcpy(s,stl,l); s[l]=0; mgl_face(_GR_, *x0,*y0,*z0, *x1,*y1,*z1, *x2,*y2,*z2, *x3,*y3,*z3, stl); delete []s; } //----------------------------------------------------------------------------- // // Cone // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cone(HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r1, double r2, const char *stl) { if(r2<0) r2=r1; if(r1==0 && r2==0) return; static int cgid=1; gr->StartGroup("Cone",cgid++); mglPoint p1(x1,y1,z1), p2(x2,y2,z2), p,q, d=p2-p1,a,b; a=!d; a.Normalize(); b=d^a; b.Normalize(); long ss=gr->AddTexture(stl); mreal c1=gr->GetC(ss,p1.z), c2=gr->GetC(ss,p2.z); long *kk=new long[164],k1=-1,k2=-1; bool edge = mglchr(stl,'@'); bool wire = mglchr(stl,'#'); gr->Reserve(edge?166:82); if(edge && !wire) { k1=gr->AddPnt(p1,c1,d,-1,3); k2=gr->AddPnt(p2,c2,d,-1,3); } mreal f,si,co, dr=r2-r1; register long i; for(i=0;i<(wire?13:41);i++) { if(gr->Stop) { delete []kk; return; } f = i*M_PI/(wire?6:20); co = cos(f); si = sin(f); p = p1+(r1*co)*a+(r1*si)*b; q = (si*a-co*b)^(d + (dr*co)*a + (dr*si)*b); if(wire) q.x=q.y=NAN; kk[i] = gr->AddPnt(p,c1,q,-1,3); if(edge && !wire) kk[i+82] = gr->AddPnt(p,c1,d,-1,3); p = p2+(r2*co)*a+(r2*si)*b; kk[i+(wire?13:41)] = gr->AddPnt(p,c2,q,-1,3); if(edge && !wire) kk[i+123] = gr->AddPnt(p,c2,d,-1,3); } if(wire) for(i=0;i<12;i++) { if(gr->Stop) { delete []kk; return; } gr->line_plot(kk[i],kk[i+1]); gr->line_plot(kk[i],kk[i+13]); gr->line_plot(kk[i+14],kk[i+1]); gr->line_plot(kk[i+14],kk[i+13]); } else for(i=0;i<40;i++) { if(gr->Stop) { delete []kk; return; } gr->quad_plot(kk[i],kk[i+1],kk[i+41],kk[i+42]); if(edge) { gr->trig_plot(k1,kk[i+82],kk[i+83]); gr->trig_plot(k2,kk[i+123],kk[i+124]); } } gr->EndGroup(); delete []kk; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cone_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *r1, mreal *r2, const char *stl, int l) { char *s=new char[l+1]; memcpy(s,stl,l); s[l]=0; mgl_cone(_GR_, *x1,*y1,*z1, *x2,*y2,*z2,*r1,*r2,s); delete []s; } //----------------------------------------------------------------------------- // // Bars series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cones_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt) { long i,j,m,mx,my,mz,n=z->GetNx(),nx=x->GetNx(), nz=z->GetNy(), pal; if(mgl_check_dim1(gr,x,z,y,0,"Cones",true)) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Cones",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = nz > m ? nz : m; bool above= mglchr(pen,'a'); bool wire = mglchr(pen,'#'); mreal *dd=new mreal[2*n], x1,z0,zz,d, vx,vy,vz,v0,v1; gr->SetPenPal(pen,&pal); char c1[7]; memset(c1,0,7); c1[0] ='@'; char c2[7]; memset(c2,0,7); c2[0] ='@'; if(wire) c1[5]=c2[5]='#'; memset(dd,0,2*n*sizeof(mreal)); z0 = gr->GetOrgZ('x'); for(i=0;iv(i, jNextColor(pal); memcpy(c1+1,gr->last_line(),4); if(gr->GetNumPal(pal)==2*m) { gr->NextColor(pal); memcpy(c2+1,gr->last_line(),4); } else memcpy(c2,c1,7); mx = jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jStop) { delete []dd; return; } vx=x->v(i,mx); vy=y->v(i,my); vz=z->v(i,mz); v0=y->v(i,0); v1=iv(i+1,mx):x->v(i-1,mx); d = iBarWidth); if(above) { zz = j>0?dd[i+n]:z0; dd[i+n] += vz; mgl_cone(gr, x1,v0,zz, x1,v0,dd[i+n], 0.7*gr->BarWidth*d*(dd[i]-zz)/(dd[i]-z0), 0.7*gr->BarWidth*d*(dd[i]-dd[i+n])/(dd[i]-z0), c1); } else mgl_cone(gr, x1,vy,z0, x1,vy,vz, 0.7*gr->BarWidth*d,0, vz<0?c1:c2); } } gr->EndGroup(); delete []dd; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cones_xz(HMGL gr, HCDT x, HCDT z, const char *pen, const char *opt) { gr->SaveState(opt); mglData y(z); y.Fill(gr->Min.y,gr->Max.y,'y'); mgl_cones_xyz(gr,x,&y,z,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cones(HMGL gr, HCDT z, const char *pen, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()+1); x.Fill(gr->Min.x,gr->Max.x); mgl_cones_xz(gr,&x,z,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cones_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cones_xyz(_GR_,_DA_(x),_DA_(y),_DA_(z),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cones_xz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cones_xz(_GR_,_DA_(x),_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cones_(uintptr_t *gr, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cones(_GR_,_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Ellipse & Rhomb // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_ellipse(HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r, const char *stl) { const int n = 41; long pal=0,n0,n1=-1,n2,m1=-1,m2; static int cgid=1; gr->StartGroup("Ellipse",cgid++); gr->SetPenPal(stl,&pal); mreal c=gr->NextColor(pal), d; mreal k=(gr->GetNumPal(pal)>1)?gr->NextColor(pal):gr->AddTexture('k'); bool fill = !mglchr(stl,'#'), box = mglchr(stl,'@') || !fill; if(!fill) k=c; gr->Reserve(2*n+1); if(mgl_isnan(z1) || mgl_isnan(z2)) z1=z2=2*gr->Max.z-gr->Min.z; mglPoint p1(x1,y1,z1), p2(x2,y2,z2), v=p2-p1; d = v.norm(); if(d==0) v = mglPoint(1); else v /= d; mglPoint u=mglPoint(0,0,1)^v, q=u^v, p, s=(p1+p2)/2.; u *= r; v *= sqrt(d*d/4+r*r); // central point first n0 = gr->AddPnt(p1,c,q,-1,11); gr->AddActive(n0); gr->AddActive(gr->AddPnt(p2,c,q,-1,11),1); for(long i=0;iStop) return; mreal t = i*2*M_PI/(n-1.); p = s+v*cos(t)+u*sin(t); n2 = n1; n1 = gr->AddPnt(p,c,q,-1,11); if(i==n/4) gr->AddActive(n1,2); m2 = m1; m1 = gr->CopyNtoC(n1,k); if(i>0) { if(fill) gr->trig_plot(n0,n1,n2); if(box) gr->line_plot(m1,m2); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_rhomb(HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r, const char *stl) { long pal=0, n1,n2,n3,n4; static int cgid=1; gr->StartGroup("Rhomb",cgid++); gr->SetPenPal(stl,&pal); mreal c=gr->NextColor(pal); mreal k=(gr->GetNumPal(pal)>1)?gr->NextColor(pal):gr->AddTexture('k'); mreal b=(gr->GetNumPal(pal)>2)?gr->NextColor(pal):c; bool fill = !mglchr(stl,'#'), box = mglchr(stl,'@') || !fill; if(!fill) k=c; gr->Reserve(8); if(mgl_isnan(z1) || mgl_isnan(z2)) z1=z2=2*gr->Max.z-gr->Min.z; mglPoint p1(x1,y1,z1), p2(x2,y2,z2), u=mglPoint(0,0,1)^(p1-p2), q=u^(p1-p2), p, s,qq; u = (r/u.norm())*u; s = (p1+p2)/2.; p = p1; q = qq; n1 = gr->AddPnt(p,c,qq,-1,11); p = s+u;q = qq; n2 = gr->AddPnt(p,b==c?c:k,qq,-1,11); p = p2; q = qq; n3 = gr->AddPnt(p,b,qq,-1,11); p = s-u;q = qq; n4 = gr->AddPnt(p,b==c?c:k,qq,-1,11); gr->AddActive(n1,0); gr->AddActive(n2,2); gr->AddActive(n3,1); if(fill) gr->quad_plot(n1,n2,n4,n3); n1 = gr->CopyNtoC(n1,k); n2 = gr->CopyNtoC(n2,k); n3 = gr->CopyNtoC(n3,k); n4 = gr->CopyNtoC(n4,k); if(box) { gr->line_plot(n1,n2); gr->line_plot(n2,n3); gr->line_plot(n3,n4); gr->line_plot(n4,n1); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_ellipse_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *r, const char *stl,int l) { char *s=new char[l+1]; memcpy(s,stl,l); s[l]=0; mgl_ellipse(_GR_,*x1,*y1,*z1,*x2,*y2,*z2,*r,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_rhomb_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *r, const char *stl,int l) { char *s=new char[l+1]; memcpy(s,stl,l); s[l]=0; mgl_rhomb(_GR_,*x1,*y1,*z1,*x2,*y2,*z2,*r,s); delete []s; } //----------------------------------------------------------------------------- // // Sphere & Drop // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_sphere(HMGL gr, double x, double y, double z, double r, const char *stl) { mgl_drop(gr,x,y,z,1,0,0,2*r,stl,0,1); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_sphere_(uintptr_t* gr, mreal *x, mreal *y, mreal *z, mreal *r, const char *stl,int l) { char *s=new char[l+1]; memcpy(s,stl,l); s[l]=0; mgl_sphere(_GR_, *x,*y,*z,*r,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_drop(HMGL gr, mglPoint p, mglPoint q, double r, double c, double sh, double a) { mglPoint p1,p2,pp,qq; if(q.norm()==0) { q = mglPoint(1,0,0); sh=0; } q.Normalize(); p1 = !q; p2 = q^p1; r /= 2; static int cgid=1; gr->StartGroup("Drop",cgid++); const int n = 24, m = n/2; register long i,j; gr->Reserve(n*m); long *nn=new long[2*n],n1,n2; mreal u,v,x,y,z,rr,dr, co,si; z = r*(1+sh)*(1+sh); n1 = gr->AddPnt(p + q*z,c,q,-1,3); z = r*(1+sh)*(sh-1); n2 = gr->AddPnt(p + q*z,c,q,-1,3); for(i=0;iStop) { delete []nn; return; } if(i>0 && iAddPnt(pp,c,qq,-1,3); } else if(i==0) nn[j] = n1; else if(i==m-1) { nn[j+n]=nn[j]; nn[j]=n2; } if(i*j>0) gr->quad_plot(nn[j-1], nn[j], nn[j+n-1], nn[j+n]); } delete []nn; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_drop(HMGL gr, double x1, double y1, double z1, double x2, double y2, double z2, double r, const char *stl, double sh, double a) { mreal c=gr->AddTexture((stl && stl[0]) ? stl[0]:'r'); mgl_drop(gr,mglPoint(x1,y1,z1), mglPoint(x2,y2,z2), r, c, sh, a); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_drop_(uintptr_t* gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2, mreal *r, const char *stl, mreal *shift, mreal *ap, int l) { char *s=new char[l+1]; memcpy(s,stl,l); s[l]=0; mgl_drop(_GR_, *x1,*y1,*z1, *x2,*y2,*z2, *r,s,*shift,*ap); delete []s; } //----------------------------------------------------------------------------- // // Dew series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dew_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt) { long i,j,n=ax->GetNx(),m=ax->GetNy(),k; if(mgl_check_dim2(gr,x,y,ax,ay,"Dew")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("DewXY",cgid++); mreal xm,ym,dx,dy,dd; long ss = gr->AddTexture(sch); bool inv = mglchr(sch,'i'); mreal zVal = gr->Min.z; long tx=1,ty=1; if(gr->MeshNum>1) { tx=(n-1)/(gr->MeshNum-1); ty=(m-1)/(gr->MeshNum-1); } if(tx<1) tx=1; if(ty<1) ty=1; for(k=0,xm=0;kGetNz();k++) for(j=0;jv(i,j,k)*ax->v(i,j,k)+ay->v(i,j,k)*ay->v(i,j,k)); xm = xm>ym ? xm : ym; } xm = 1./MGL_FEPSILON/(xm==0 ? 1:xm); mglPoint q; for(k=0;kGetNz();k++) { if(ax->GetNz()>1) zVal = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(k)/(ax->GetNz()-1); for(i=0;iStop) return; mreal xx=GetX(x,i,j,k).x, yy=GetY(y,i,j,k).x; dx = iv(i,j,k),ay->v(i,j,k)); dd = q.norm(); if(inv) q = -q; mreal ccc = gr->GetC(ss,dd*xm,false); mgl_drop(gr,mglPoint(xx, yy, zVal),q,(dxEndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dew_2d(HMGL gr, HCDT ax, HCDT ay, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_dew_xy(gr,&x,&y,ax,ay,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dew_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dew_xy(_GR_, _DA_(x), _DA_(y), _DA_(ax), _DA_(ay), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dew_2d_(uintptr_t *gr, uintptr_t *ax, uintptr_t *ay, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dew_2d(_GR_, _DA_(ax), _DA_(ay), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Puts series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_puts(HMGL gr, double x, double y, double z,const char *text, const char *font, double size) { mgl_puts_dir(gr, x, y, z, NAN, NAN, 0, text, font, size); } void MGL_EXPORT mgl_putsw(HMGL gr, double x, double y, double z,const wchar_t *text, const char *font, double size) { mgl_putsw_dir(gr, x, y, z, NAN, NAN, 0, text, font, size); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_puts_dir(HMGL gr, double x, double y, double z, double dx, double dy, double dz, const char *text, const char *font, double size) { long len = mbstowcs(0,text,0)+1; wchar_t *buf = new wchar_t[len+1]; mbstowcs(buf,text,len); mgl_putsw_dir(gr, x, y, z, dx, dy, dz, buf, font, size); delete []buf; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_putsw_dir(HMGL gr, double x, double y, double z, double dx, double dy, double dz, const wchar_t *text, const char *font, double size) { bool a=mglchr(font,'a'), A=mglchr(font,'A'); static int cgid=1; gr->StartGroup("Puts",cgid++); mglCanvas *g = dynamic_cast(gr); if(g && (a||A)) { g->Push(); g->Identity(a); gr->set(MGL_DISABLE_SCALE); register mreal s=a?1:g->GetPlotFactor(); x = (2*x-1)*s; y = (2*y-1)*s; dx= (2*dx-1)*s; dy= (2*dy-1)*s; } if(mgl_isnan(z)) z=2*gr->Max.z-gr->Min.z; mglPoint p(x,y,z), d(dx-x,dy-y,dz-z); long k = gr->AddPnt(p,-1,d,-1,7); gr->AddActive(k,0); gr->AddActive(gr->AddPnt(mglPoint(dx,dy,dz),-1,d,-1,7),1); if(g && (a||A)) { g->Pop(); gr->clr(MGL_DISABLE_SCALE); } gr->text_plot(k,text,font,size); gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_puts_(uintptr_t *gr, mreal *x, mreal *y, mreal *z,const char *text, const char *font, mreal *size, int l, int n) { wchar_t *s=new wchar_t[l+1]; mbstowcs(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,font,n); f[n]=0; mgl_putsw_dir(_GR_, *x, *y, *z, NAN, NAN, 0, s, f, *size); delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_puts_dir_(uintptr_t *gr, mreal *x, mreal *y, mreal *z, mreal *dx, mreal *dy, mreal *dz, const char *text, const char *font, mreal *size, int l, int n) { wchar_t *s=new wchar_t[l+1]; mbstowcs(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,font,n); f[n]=0; mgl_putsw_dir(_GR_, *x, *y, *z, *dx, *dy, *dz, s, f, *size); delete []s; delete []f; } //----------------------------------------------------------------------------- // // TextMark series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmarkw_xyzr(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, const wchar_t *text, const char *fnt, const char *opt) { long j,m,mx,my,mz,mr,n=y->GetNx(); if(mgl_check_dim0(gr,x,y,z,r,"TextMark")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("TextMark",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; m = r->GetNy() > m ? r->GetNy() : m; gr->Reserve(n*m); mglPoint p,q(NAN); for(j=0;jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; mr = jGetNy() ? j:0; register long i,k; for(i=0;iStop) return; p = mglPoint(x->v(i,mx), y->v(i,my), z->v(i,mz)); k = gr->AddPnt(p,-1,q); gr->text_plot(k, text, fnt, -0.5*fabs(r->v(i,mr))); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmarkw_xyr(HMGL gr, HCDT x, HCDT y, HCDT r, const wchar_t *text, const char *fnt, const char *opt) { gr->SaveState(opt); mglData z(y->GetNx()); z.Fill(gr->Min.z,gr->Min.z); mgl_textmarkw_xyzr(gr,x,y,&z,r,text,fnt,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmarkw_yr(HMGL gr, HCDT y, HCDT r, const wchar_t *text, const char *fnt, const char *opt) { register long n=y->GetNx(); gr->SaveState(opt); mglData x(n); x.Fill(gr->Min.x,gr->Max.x); mglData z(n); z.Fill(gr->Min.z,gr->Min.z); mgl_textmarkw_xyzr(gr,&x,y,&z,r,text,fnt,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmarkw(HMGL gr, HCDT y, const wchar_t *text, const char *fnt, const char *opt) { register long n=y->GetNx(); gr->SaveState(opt); mglData r(n); r.Fill(1,1); mglData x(n); x.Fill(gr->Min.x,gr->Max.x); mglData z(n); z.Fill(gr->Min.z,gr->Min.z); mgl_textmarkw_xyzr(gr,&x,y,&z,&r,text,fnt,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmark_xyzr(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, const char *str, const char *fnt, const char *opt) { long s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mgl_textmarkw_xyzr(gr, x, y, z, r, wcs, fnt, opt); delete []wcs; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmark_xyr(HMGL gr, HCDT x, HCDT y, HCDT r, const char *str, const char *fnt, const char *opt) { long s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mgl_textmarkw_xyr(gr, x, y, r, wcs, fnt, opt); delete []wcs; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmark_yr(HMGL gr, HCDT y, HCDT r, const char *str, const char *fnt, const char *opt) { long s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mgl_textmarkw_yr(gr, y, r, wcs, fnt, opt); delete []wcs; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmark(HMGL gr, HCDT y, const char *str, const char *fnt, const char *opt) { long s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mgl_textmarkw(gr, y, wcs, fnt, opt); delete []wcs; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmark_xyzr_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *r, const char *text, const char *fnt, const char *opt, int l,int n,int lo) { wchar_t *s=new wchar_t[l+1]; memcpy(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,fnt,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_textmarkw_xyzr(_GR_, _DA_(x),_DA_(y),_DA_(z),_DA_(r),s,f, o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmark_xyr_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *r, const char *text, const char *fnt, const char *opt, int l,int n,int lo) { wchar_t *s=new wchar_t[l+1]; mbstowcs(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,fnt,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_textmarkw_xyr(_GR_, _DA_(x),_DA_(y),_DA_(r),s,f, o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmark_yr_(uintptr_t *gr, uintptr_t *y, uintptr_t *r, const char *text, const char *fnt, const char *opt, int l,int n,int lo) { wchar_t *s=new wchar_t[l+1]; mbstowcs(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,fnt,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_textmarkw_yr(_GR_, _DA_(y),_DA_(r),s,f, o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_textmark_(uintptr_t *gr, uintptr_t *y, const char *text, const char *fnt, const char *opt, int l,int n,int lo) { wchar_t *s=new wchar_t[l+1]; mbstowcs(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,fnt,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_textmarkw(_GR_, _DA_(y),s,f, o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- // // Label series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_labelw_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const wchar_t *text, const char *fnt, const char *opt) { long j,m,mx,my,mz,n=y->GetNx(); if(mgl_check_dim1(gr,x,y,z,0,"Label")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Label",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; register long i,k,kk,l,nn; mglPoint p,q(NAN); wchar_t tmp[32]; for(j=0;jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; for(i=0;iStop) return; mreal xx=x->v(i,mx), yy=y->v(i,my), zz=z->v(i,mz); p = mglPoint(xx,yy,zz); kk = gr->AddPnt(p,-1,q); std::wstring buf; for(k=l=0;text[k];k++) { if(text[k]!='%' || (k>0 && text[k-1]=='\\')) { buf += text[k]; continue; } else if(text[k+1]=='%') { buf+='%'; k++; continue; } else if(text[k+1]=='n') mglprintf(tmp,32,L"%ld",i); else if(text[k+1]=='x') mglprintf(tmp,32,L"%.2g",xx); else if(text[k+1]=='y') mglprintf(tmp,32,L"%.2g",yy); else if(text[k+1]=='z') mglprintf(tmp,32,L"%.2g",zz); else { buf+='%'; continue; } buf += tmp; k++; } gr->text_plot(kk, buf.c_str(), fnt, -0.7, 0.05); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_labelw_xy(HMGL gr, HCDT x, HCDT y, const wchar_t *text, const char *fnt, const char *opt) { gr->SaveState(opt); mglData z(y->GetNx()); z.Fill(gr->Min.z,gr->Min.z); mgl_labelw_xyz(gr,x,y,&z,text,fnt,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_labelw_y(HMGL gr, HCDT y, const wchar_t *text, const char *fnt, const char *opt) { register long n=y->GetNx(); if(n<2) { gr->SetWarn(mglWarnLow,"TextMark"); return; } gr->SaveState(opt); mglData x(n); x.Fill(gr->Min.x,gr->Max.x); mglData z(n); z.Fill(gr->Min.z,gr->Min.z); mgl_labelw_xyz(gr,&x,y,&z,text,fnt,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_label_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *str, const char *fnt, const char *opt) { long s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mgl_labelw_xyz(gr, x, y, z, wcs, fnt, opt); delete []wcs; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_label_xy(HMGL gr, HCDT x, HCDT y, const char *str, const char *fnt, const char *opt) { long s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mgl_labelw_xy(gr, x, y, wcs, fnt, opt); delete []wcs; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_label_y(HMGL gr, HCDT y, const char *str, const char *fnt, const char *opt) { long s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mgl_labelw_y(gr, y, wcs, fnt, opt); delete []wcs; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_label_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *text, const char *fnt, const char *opt, int l,int n,int lo) { wchar_t *s=new wchar_t[l+1]; mbstowcs(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,fnt,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_labelw_xyz(_GR_, _DA_(x),_DA_(y),_DA_(z),s,f, o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_label_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *text, const char *fnt, const char *opt, int l,int n,int lo) { wchar_t *s=new wchar_t[l+1]; mbstowcs(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,fnt,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_labelw_xy(_GR_, _DA_(x),_DA_(y),s,f, o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_label_y_(uintptr_t *gr, uintptr_t *y, const char *text, const char *fnt, const char *opt, int l,int n,int lo) { wchar_t *s=new wchar_t[l+1]; mbstowcs(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,fnt,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_labelw_y(_GR_, _DA_(y),s,f, o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- // // Table series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tablew(HMGL gr, double x, double y, HCDT val, const wchar_t *text, const char *fnt, const char *opt) { mglCanvas *g = dynamic_cast(gr); if(g) g->Table(x,y,val,text,fnt,opt); } void MGL_EXPORT mgl_table(HMGL gr, double x, double y, HCDT val, const char *text, const char *fnt, const char *opt) { if(!text) mgl_tablew(gr,x,y,val,L"",fnt,opt); else { long s = mbstowcs(0,text,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,text,s); mgl_tablew(gr, x, y, val, wcs, fnt, opt); delete []wcs; } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_table_(uintptr_t *gr, mreal *x, mreal *y, uintptr_t *val, const char *text, const char *fnt, const char *opt,int l,int n,int lo) { wchar_t *s=new wchar_t[l+1]; mbstowcs(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,fnt,n); f[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tablew(_GR_, *x, *y, _DA_(val),s,f, o); delete []o; delete []s; delete []f; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/tex_table.cpp0000664000175000017500000013704412142400470016163 0ustar balakinbalakin/*************************************************************************** * tex_table.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/font.h" /// Table of LaTeX symbols and its UTF8 codes. This array MUST BE sorted!!! MGL_EXPORT mglTeXsymb mgl_tex_symb[] = { {0x23, L"#"}, {0x25, L"%"}, {0x26, L"&"}, {0xc5, L"AA"}, {0xc6, L"AE"}, {0x2370, L"APLboxquestion"}, {0x2353, L"APLboxupcaret"}, {0x2340, L"APLnotbackslash"}, {0x233f, L"APLnotslash"}, {0x391, L"Alpha"}, {0x26, L"And"}, {0x212b, L"Angstrom"}, {0x2ae7, L"Barv"}, {0x2102, L"BbbC"}, {0x213e, L"BbbGamma"}, {0x210d, L"BbbH"}, {0x2115, L"BbbN"}, {0x2119, L"BbbP"}, {0x213f, L"BbbPi"}, {0x211a, L"BbbQ"}, {0x211d, L"BbbR"}, {0x2124, L"BbbZ"}, {0x213d, L"Bbbgamma"}, {0x213c, L"Bbbpi"}, {0x2140, L"Bbbsum"}, {0x392, L"Beta"}, {0x224e, L"Bumpeq"}, {0x22d2, L"Cap"}, {0x3a7, L"Chi"}, {0x2237, L"Colon"}, {0x2a74, L"Coloneq"}, {0x22d3, L"Cup"}, {0x27f1, L"DDownarrow"}, {0xd0, L"DH"}, {0x110, L"DJ"}, {0x2ae5, L"DashV"}, {0x27da, L"DashVDash"}, {0x2ae4, L"Dashv"}, {0x290b, L"Ddownarrow"}, {0x394, L"Delta"}, {0x3dc, L"Digamma"}, {0x2251, L"Doteq"}, {0x21d3, L"Downarrow"}, {0x395, L"Epsilon"}, {0x2263, L"Equiv"}, {0x397, L"Eta"}, {0x2107, L"Eulerconst"}, {0x203c, L"Exclam"}, {0x2132, L"Finv"}, {0x2141, L"Game"}, {0x393, L"Gamma"}, {0x2aa2, L"Gt"}, {0x26a5, L"Hermaphrodite"}, {0x2111, L"Im"}, {0x399, L"Iota"}, {0x39a, L"Kappa"}, {0x3de, L"Koppa"}, {0x141, L"L"}, {0x2b45, L"LLeftarrow"}, {0x39b, L"Lambda"}, {0x27ec, L"Lbrbrak"}, {0x21b2, L"Ldsh"}, {0x21d0, L"Leftarrow"}, {0x21d4, L"Leftrightarrow"}, {0x21da, L"Lleftarrow"}, {0x27f8, L"Longleftarrow"}, {0x27fa, L"Longleftrightarrow"}, {0x27fd, L"Longmapsfrom"}, {0x27fe, L"Longmapsto"}, {0x27f9, L"Longrightarrow"}, {0x2995, L"Lparengtr"}, {0x21b0, L"Lsh"}, {0x2aa1, L"Lt"}, {0x29da, L"Lvzigzag"}, {0x2906, L"Mapsfrom"}, {0x2907, L"Mapsto"}, {0x39c, L"Mu"}, {0x14a, L"NG"}, {0x21d7, L"Nearrow"}, {0x2aec, L"Not"}, {0x39d, L"Nu"}, {0x21d6, L"Nwarrow"}, {0xd8, L"O"}, {0x152, L"OE"}, {0x1a0, L"Ohorn"}, {0x3a9, L"Omega"}, {0x39f, L"Omicron"}, {0x2a37, L"Otimes"}, {0xb6, L"P"}, {0x3a6, L"Phi"}, {0x3a0, L"Pi"}, {0x210e, L"Planckconst"}, {0x2abb, L"Prec"}, {0x214a, L"PropertyLine"}, {0x3a8, L"Psi"}, {0x220e, L"QED"}, {0x2047, L"Question"}, {0x2b46, L"RRightarrow"}, {0x27ed, L"Rbrbrak"}, {0x21b3, L"Rdsh"}, {0x211c, L"Re"}, {0x3a1, L"Rho"}, {0x21d2, L"Rightarrow"}, {0x2996, L"Rparenless"}, {0x21db, L"Rrightarrow"}, {0x21b1, L"Rsh"}, {0x29db, L"Rvzigzag"}, {0xa7, L"S"}, {0x2abc, L"Sc"}, {0x21d8, L"Searrow"}, {0x3a3, L"Sigma"}, {0x2a4e, L"Sqcap"}, {0x2a4f, L"Sqcup"}, {0x3da, L"Stigma"}, {0x22d0, L"Subset"}, {0x22d1, L"Supset"}, {0x21d9, L"Swarrow"}, {0xde, L"TH"}, {0x3a4, L"Tau"}, {0x398, L"Theta"}, {0x27f0, L"UUparrow"}, {0x1af, L"Uhorn"}, {0x21d1, L"Uparrow"}, {0x21d5, L"Updownarrow"}, {0x290a, L"Uuparrow"}, {0x22ab, L"VDash"}, {0x2aeb, L"Vbar"}, {0x22a9, L"Vdash"}, {0x2a54, L"Vee"}, {0x2016, L"Vert"}, {0x22aa, L"Vvdash"}, {0x2980, L"Vvert"}, {0x2a53, L"Wedge"}, {0x2612, L"XBox"}, {0x39e, L"Xi"}, {0x2144, L"Yup"}, {0x1b5, L"Zbar"}, {0x396, L"Zeta"}, {0x5e, L"^"}, {0xe5, L"aa"}, {0x223e, L"ac"}, {0x23e6, L"accurrent"}, {0x267e, L"acidfree"}, {0x2940, L"acwcirclearrow"}, {0x27f2, L"acwgapcirclearrow"}, {0x2939, L"acwleftarcarrow"}, {0x21ba, L"acwopencirclearrow"}, {0x293a, L"acwoverarcarrow"}, {0x293b, L"acwundercurvearrow"}, {0x22f0, L"adots"}, {0xe6, L"ae"}, {0x2135, L"aleph"}, {0x3b1, L"alpha"}, // {0x2210, L"amalg"}, {0x2a3f, L"amalg"}, {0x299f, L"angdnr"}, {0x2220, L"angle"}, {0x299e, L"angles"}, {0x29a4, L"angleubar"}, {0x2248, L"approx"}, {0x224a, L"approxeq"}, {0x2a70, L"approxeqq"}, {0x224b, L"approxident"}, {0x2258, L"arceq"}, {0x2648, L"aries"}, {0x22a6, L"assert"}, {0x2217, L"ast"}, {0x2a6e, L"asteq"}, {0x2609, L"astrosun"}, {0x224d, L"asymp"}, {0x2a11, L"awint"}, {0x2aed, L"bNot"}, {0x224c, L"backcong"}, {0x2036, L"backdprime"}, {0x3f6, L"backepsilon"}, {0x2035, L"backprime"}, {0x223d, L"backsim"}, {0x22cd, L"backsimeq"}, {0x5c, L"backslash"}, {0x2037, L"backtrprime"}, {0x22ff, L"bagmember"}, {0x2aea, L"barV"}, {0x2a43, L"barcap"}, {0x2a42, L"barcup"}, {0x2961, L"bardownharpoonleft"}, {0x295d, L"bardownharpoonright"}, {0x21e4, L"barleftarrow"}, {0x21b9, L"barleftarrowrightarrowbar"}, {0x2956, L"barleftharpoondown"}, {0x2952, L"barleftharpoonup"}, {0x21b8, L"barovernorthwestarrow"}, {0x2920, L"barrightarrowdiamond"}, {0x295f, L"barrightharpoondown"}, {0x295b, L"barrightharpoonup"}, {0x2912, L"baruparrow"}, {0x2958, L"barupharpoonleft"}, {0x2954, L"barupharpoonright"}, {0x22bd, L"barvee"}, {0x22bc, L"barwedge"}, {0x23b6, L"bbrktbrk"}, {0x2550, L"bdHrule"}, {0x2551, L"bdVrule"}, {0x256c, L"bdbVbH"}, {0x256b, L"bdbVbh"}, {0x2563, L"bdbVlH"}, {0x2562, L"bdbVlh"}, {0x2560, L"bdbVrH"}, {0x255f, L"bdbVrh"}, {0x256a, L"bdbvbH"}, {0x253c, L"bdbvbh"}, {0x2561, L"bdbvlH"}, {0x2524, L"bdbvlh"}, {0x255e, L"bdbvrH"}, {0x251c, L"bdbvrh"}, {0x2566, L"bddVbH"}, {0x2565, L"bddVbh"}, {0x2557, L"bddVlH"}, {0x2556, L"bddVlh"}, {0x2554, L"bddVrH"}, {0x2553, L"bddVrh"}, {0x2564, L"bddvbH"}, {0x252c, L"bddvbh"}, {0x2555, L"bddvlH"}, {0x2510, L"bddvlh"}, {0x2552, L"bddvrH"}, {0x250c, L"bddvrh"}, {0x2500, L"bdhrule"}, {0x2571, L"bdnesw"}, {0x2572, L"bdnwse"}, {0x2508, L"bdquadhdash"}, {0x250a, L"bdquadvdash"}, {0x2506, L"bdtriplevdash"}, {0x2569, L"bduVbH"}, {0x2568, L"bduVbh"}, {0x255d, L"bduVlH"}, {0x255c, L"bduVlh"}, {0x255a, L"bduVrH"}, {0x2559, L"bduVrh"}, {0x2567, L"bduvbH"}, {0x2534, L"bduvbh"}, {0x255b, L"bduvlH"}, {0x2518, L"bduvlh"}, {0x2558, L"bduvrH"}, {0x2514, L"bduvrh"}, {0x2502, L"bdvrule"}, {0x2235, L"because"}, {0x23e3, L"benzenr"}, {0x3b2, L"beta"}, {0x2136, L"beth"}, {0x226c, L"between"}, {0x25bc, L"bigblacktriangledown"}, {0x25b2, L"bigblacktriangleup"}, {0x27d8, L"bigbot"}, {0x22c2, L"bigcap"}, {0x22c3, L"bigcup"}, {0x2a57, L"bigslopedvee"}, {0x2a58, L"bigslopedwedge"}, {0x2605, L"bigstar"}, {0x27d9, L"bigtop"}, {0x25bd, L"bigtriangledown"}, {0x25b3, L"bigtriangleup"}, {0x22c1, L"bigvee"}, {0x22c0, L"bigwedge"}, {0x2606, L"bigwhitestar"}, {0x29ed, L"blackcircledownarrow"}, {0x2688, L"blackcircledrightdot"}, {0x2791, L"blackcircledsanseight"}, {0x278e, L"blackcircledsansfive"}, {0x278d, L"blackcircledsansfour"}, {0x2792, L"blackcircledsansnine"}, {0x278a, L"blackcircledsansone"}, {0x2790, L"blackcircledsansseven"}, {0x278f, L"blackcircledsanssix"}, {0x2793, L"blackcircledsansten"}, {0x278c, L"blackcircledsansthree"}, {0x278b, L"blackcircledsanstwo"}, {0x2689, L"blackcircledtwodots"}, {0x25d5, L"blackcircleulquadwhite"}, {0x29ea, L"blackdiamonddownarrow"}, {0x29d7, L"blackhourglass"}, {0x25c8, L"blackinwhitediamond"}, {0x25a3, L"blackinwhitesquare"}, {0x25d6, L"blacklefthalfcircle"}, {0x25c4, L"blackpointerleft"}, {0x25ba, L"blackpointerright"}, {0x25d7, L"blackrighthalfcircle"}, {0x263b, L"blacksmiley"}, {0x25b4, L"blacktriangle"}, {0x25be, L"blacktriangledown"}, {0x25c0, L"blacktriangleleft"}, {0x25b6, L"blacktriangleright"}, {0x2b2c, L"blkhorzoval"}, {0x2b2e, L"blkvertoval"}, {0x2588, L"blockfull"}, {0x2592, L"blockhalfshaded"}, {0x258c, L"blocklefthalf"}, {0x2584, L"blocklowhalf"}, {0x2591, L"blockqtrshaded"}, {0x2590, L"blockrighthalf"}, {0x2593, L"blockthreeqtrshaded"}, {0x2580, L"blockuphalf"}, {0x22a5, L"bot"}, {0x25e1, L"botsemicircle"}, {0x22c8, L"bowtie"}, {0x25fb, L"box"}, {0x29c6, L"boxast"}, {0x25eb, L"boxbar"}, {0x29c8, L"boxbox"}, {0x29c5, L"boxbslash"}, {0x29c7, L"boxcircle"}, {0x29c4, L"boxdiag"}, {0x22a1, L"boxdot"}, {0x229f, L"boxminus"}, {0x29c9, L"boxonbox"}, {0x229e, L"boxplus"}, {0x22a0, L"boxtimes"}, {0x2b41, L"bsimilarleftarrow"}, {0x2b47, L"bsimilarrightarrow"}, {0x27c8, L"bsolhsub"}, {0x2a32, L"btimes"}, {0x2219, L"bullet"}, {0x25ce, L"bullseye"}, {0x224f, L"bumpeq"}, {0x2aae, L"bumpeqq"}, {0x212c, L"calB"}, {0x2130, L"calE"}, {0x2131, L"calF"}, {0x210b, L"calH"}, {0x2133, L"calM"}, {0x211b, L"calR"}, {0x2229, L"cap"}, {0x2a40, L"capdot"}, {0x2a44, L"capwedge"}, {0x2038, L"caretinsert"}, {0x23ce, L"carreturn"}, {0x21b5, L"carriagereturn"}, {0x293f, L"ccwundercurvearrow"}, {0x22c5, L"cdot"}, {0xb7, L"cdotp"}, {0x22ef, L"cdots"}, {0x2ba, L"cdprime"}, {0x2713, L"checkmark"}, {0x3c7, L"chi"}, {0x29c3, L"cirE"}, {0x27df, L"cirbot"}, {0x2218, L"circ"}, {0x2257, L"circeq"}, {0x2a10, L"circfint"}, {0x25d2, L"circlebottomhalfblack"}, {0x24b6, L"circledA"}, {0x24b7, L"circledB"}, {0x24b8, L"circledC"}, {0x24b9, L"circledD"}, {0x24ba, L"circledE"}, {0x24bb, L"circledF"}, {0x24bc, L"circledG"}, {0x24bd, L"circledH"}, {0x24be, L"circledI"}, {0x24bf, L"circledJ"}, {0x24c0, L"circledK"}, {0x24c1, L"circledL"}, {0x24c2, L"circledM"}, {0x24c3, L"circledN"}, {0x24c4, L"circledO"}, {0x24c5, L"circledP"}, {0x24c6, L"circledQ"}, {0x24c7, L"circledR"}, {0x24c8, L"circledS"}, {0x24c9, L"circledT"}, {0x24ca, L"circledU"}, {0x24cb, L"circledV"}, {0x24cc, L"circledW"}, {0x24cd, L"circledX"}, {0x24ce, L"circledY"}, {0x24cf, L"circledZ"}, {0x24d0, L"circleda"}, {0x229b, L"circledast"}, {0x24d1, L"circledb"}, {0x29bf, L"circledbullet"}, {0x24d2, L"circledc"}, {0x229a, L"circledcirc"}, {0x24d3, L"circledd"}, {0x229d, L"circleddash"}, {0x24d4, L"circlede"}, {0x2467, L"circledeight"}, {0x229c, L"circledequal"}, {0x24d5, L"circledf"}, {0x2464, L"circledfive"}, {0x2463, L"circledfour"}, {0x24d6, L"circledg"}, {0x24d7, L"circledh"}, {0x24d8, L"circledi"}, {0x24d9, L"circledj"}, {0x24da, L"circledk"}, {0x24db, L"circledl"}, {0x24dc, L"circledm"}, {0x24dd, L"circledn"}, {0x2468, L"circlednine"}, {0x24de, L"circledo"}, {0x2460, L"circledone"}, {0x29ec, L"circledownarrow"}, {0x24df, L"circledp"}, {0x29b7, L"circledparallel"}, {0x24e0, L"circledq"}, {0x24e1, L"circledr"}, {0x2686, L"circledrightdot"}, {0x24e2, L"circleds"}, {0x2787, L"circledsanseight"}, {0x2784, L"circledsansfive"}, {0x2783, L"circledsansfour"}, {0x2788, L"circledsansnine"}, {0x2780, L"circledsansone"}, {0x2786, L"circledsansseven"}, {0x2785, L"circledsanssix"}, {0x2789, L"circledsansten"}, {0x2782, L"circledsansthree"}, {0x2781, L"circledsanstwo"}, {0x2466, L"circledseven"}, {0x2465, L"circledsix"}, {0x272a, L"circledstar"}, {0x24e3, L"circledt"}, {0x2462, L"circledthree"}, {0x2461, L"circledtwo"}, {0x2687, L"circledtwodots"}, {0x24e4, L"circledu"}, {0x24e5, L"circledv"}, {0x29b6, L"circledvert"}, {0x24e6, L"circledw"}, {0x29be, L"circledwhitebullet"}, {0x24e7, L"circledx"}, {0x24e8, L"circledy"}, {0x24e9, L"circledz"}, {0x24ea, L"circledzero"}, {0x29b5, L"circlehbar"}, {0x25d0, L"circlelefthalfblack"}, {0x25f5, L"circlellquad"}, {0x25f6, L"circlelrquad"}, {0x2b30, L"circleonleftarrow"}, {0x21f4, L"circleonrightarrow"}, {0x25d1, L"circlerighthalfblack"}, {0x25d3, L"circletophalfblack"}, {0x25f4, L"circleulquad"}, {0x25f7, L"circleurquad"}, {0x25d4, L"circleurquadblack"}, {0x25cd, L"circlevertfill"}, {0x2aef, L"cirmid"}, {0x29c2, L"cirscir"}, {0x2329, L"clangle"}, {0x2a4d, L"closedvarcap"}, {0x2a4c, L"closedvarcup"}, {0x2a50, L"closedvarcupsmashprod"}, {0x2050, L"closure"}, {0x2318, L"cloverleaf"}, {0x2663, L"clubsuit"}, {0x3a, L"colon"}, {0x2236, L"colon"}, {0x2254, L"coloneq"}, {0x2a29, L"commaminus"}, {0x2201, L"complement"}, {0x27e1, L"concavediamond"}, {0x27e2, L"concavediamondtickleft"}, {0x27e3, L"concavediamondtickright"}, {0x2245, L"cong"}, {0x2a6d, L"congdot"}, {0x2332, L"conictaper"}, {0x260c, L"conjunction"}, {0x2210, L"coprod"}, {0x2b9, L"cprime"}, {0x232a, L"crangle"}, {0x2acf, L"csub"}, {0x2ad1, L"csube"}, {0x2ad0, L"csup"}, {0x2ad2, L"csupe"}, {0x221b, L"cuberoot"}, {0x222a, L"cup"}, {0x228d, L"cupdot"}, {0x228c, L"cupleftarrow"}, {0x2a45, L"cupvee"}, {0x22de, L"curlyeqprec"}, {0x22df, L"curlyeqsucc"}, {0x22ce, L"curlyvee"}, {0x22cf, L"curlywedge"}, {0x21b6, L"curvearrowleft"}, {0x293d, L"curvearrowleftplus"}, {0x21b7, L"curvearrowright"}, {0x293c, L"curvearrowrightminus"}, {0x2941, L"cwcirclearrow"}, {0x27f3, L"cwgapcirclearrow"}, {0x21bb, L"cwopencirclearrow"}, {0x2938, L"cwrightarcarrow"}, {0x293e, L"cwundercurvearrow"}, {0x232d, L"cylcty"}, {0x2020, L"dag"}, {0x2020, L"dagger"}, {0x2138, L"daleth"}, {0x2621, L"danger"}, {0x2ae3, L"dashV"}, {0x27db, L"dashVdash"}, {0x2239, L"dashcolon"}, {0x296b, L"dashleftharpoondown"}, {0x296d, L"dashrightharpoondown"}, {0x22a3, L"dashv"}, {0x290f, L"dbkarow"}, {0x2021, L"ddag"}, {0x2021, L"ddagger"}, {0x22f1, L"ddots"}, {0x2a77, L"ddotseq"}, {0x3b4, L"delta"}, {0xf0, L"dh"}, {0x2300, L"diameter"}, {0x25c7, L"diamond"}, {0x2b19, L"diamondbotblack"}, {0x27d0, L"diamondcdot"}, {0x291d, L"diamondleftarrow"}, {0x291f, L"diamondleftarrowbar"}, {0x2b16, L"diamondleftblack"}, {0x2b17, L"diamondrightblack"}, {0x2662, L"diamondsuit"}, {0x2b18, L"diamondtopblack"}, {0x2680, L"dicei"}, {0x2681, L"diceii"}, {0x2682, L"diceiii"}, {0x2683, L"diceiv"}, {0x2684, L"dicev"}, {0x2685, L"dicevi"}, {0x3dd, L"digamma"}, {0x273d, L"dingasterisk"}, {0x2393, L"dircurrent"}, {0x22f2, L"disin"}, {0xf7, L"div"}, {0x22c7, L"divideontimes"}, {0x111, L"dj"}, {0x230d, L"dlcrop"}, {0x2250, L"doteq"}, {0x2a67, L"dotequiv"}, {0x2238, L"dotminus"}, {0x2214, L"dotplus"}, {0x2026, L"dots"}, {0x2a6a, L"dotsim"}, {0x223a, L"dotsminusdots"}, {0x25cc, L"dottedcircle"}, {0x2b1a, L"dottedsquare"}, {0x2a30, L"dottimes"}, {0x2a62, L"doublebarvee"}, {0x2a5e, L"doublebarwedge"}, {0x29fa, L"doubleplus"}, {0x2193, L"downarrow"}, {0x2913, L"downarrowbar"}, {0x2908, L"downarrowbarred"}, {0x21e3, L"downdasharrow"}, {0x21ca, L"downdownarrows"}, {0x297f, L"downfishtail"}, {0x21c3, L"downharpoonleft"}, {0x2959, L"downharpoonleftbar"}, {0x21c2, L"downharpoonright"}, {0x2955, L"downharpoonrightbar"}, {0x2965, L"downharpoonsleftright"}, {0x2935, L"downrightcurvedarrow"}, {0x29e8, L"downtriangleleftblack"}, {0x29e9, L"downtrianglerightblack"}, {0x21f5, L"downuparrows"}, {0x296f, L"downupharpoonsleftright"}, {0x21e9, L"downwhitearrow"}, {0x21af, L"downzigzagarrow"}, {0x2033, L"dprime"}, {0x279b, L"draftingarrow"}, {0x2910, L"drbkarow"}, {0x230c, L"drcrop"}, {0x29f6, L"dsol"}, {0x2a64, L"dsub"}, {0x29df, L"dualmap"}, {0x2641, L"earth"}, {0x2a98, L"egsdot"}, {0x266a, L"eighthnote"}, {0x23e7, L"elinters"}, {0x2113, L"ell"}, {0x2a97, L"elsdot"}, {0x2014, L"emdash"}, {0x2205, L"emptyset"}, {0x29b3, L"emptysetoarr"}, {0x29b4, L"emptysetoarrl"}, {0x29b1, L"emptysetobar"}, {0x29b2, L"emptysetocirc"}, {0x2013, L"endash"}, {0x2025, L"enleadertwodots"}, {0x2709, L"envelope"}, {0x29e3, L"eparsl"}, {0x3f5, L"epsilon"}, {0x2256, L"eqcirc"}, {0x2255, L"eqcolon"}, {0x225d, L"eqdef"}, {0x2a66, L"eqdot"}, {0x2a75, L"eqeq"}, {0x2a76, L"eqeqeq"}, {0x22dd, L"eqgtr"}, {0x22dc, L"eqless"}, {0x2a9a, L"eqqgtr"}, {0x2a99, L"eqqless"}, {0x2a71, L"eqqplus"}, {0x2a73, L"eqqsim"}, {0x2a9c, L"eqqslantgtr"}, {0x2a9b, L"eqqslantless"}, {0x2242, L"eqsim"}, {0x2a96, L"eqslantgtr"}, {0x2a95, L"eqslantless"}, {0x2b40, L"equalleftarrow"}, {0x22d5, L"equalparallel"}, {0x2971, L"equalrightarrow"}, {0x2261, L"equiv"}, {0x2a78, L"equivDD"}, {0x2a68, L"equivVert"}, {0x2a69, L"equivVvert"}, {0x29e5, L"eqvparsl"}, {0x29f3, L"errbarblackcircle"}, {0x29f1, L"errbarblackdiamond"}, {0x29ef, L"errbarblacksquare"}, {0x29f2, L"errbarcircle"}, {0x29f0, L"errbardiamond"}, {0x29ee, L"errbarsquare"}, {0x3b7, L"eta"}, {0x20ac, L"euro"}, {0x2203, L"exists"}, {0x2252, L"fallingdotseq"}, {0x29d3, L"fbowtie"}, {0x2a3e, L"fcmp"}, {0x292f, L"fdiagovnearrow"}, {0x292c, L"fdiagovrdiag"}, {0x2640, L"female"}, {0x2012, L"figdash"}, {0x2a0f, L"fint"}, {0x25c9, L"fisheye"}, {0x266d, L"flat"}, {0x23e5, L"fltns"}, {0x2200, L"forall"}, {0x2adc, L"forks"}, {0x2add, L"forksnot"}, {0x2ad9, L"forkv"}, {0x221c, L"fourthroot"}, {0x2999, L"fourvdots"}, {0x215d, L"fracfiveeighths"}, {0x215a, L"fracfivesixths"}, {0x2158, L"fracfourfifths"}, {0x215b, L"fraconeeighth"}, {0x2155, L"fraconefifth"}, {0x2159, L"fraconesixth"}, {0x2153, L"fraconethird"}, {0x215e, L"fracseveneights"}, {0x2044, L"fracslash"}, {0x215c, L"fracthreeeighths"}, {0x2157, L"fracthreefifths"}, {0x2156, L"fractwofifths"}, {0x2154, L"fractwothirds"}, {0x212d, L"frakC"}, {0x210c, L"frakH"}, {0x2128, L"frakZ"}, {0x2322, L"frown"}, {0x2639, L"frownie"}, {0x27d7, L"fullouterjoin"}, {0x3b3, L"gamma"}, {0x2265, L"ge"}, {0x2265, L"geq"}, {0x2267, L"geqq"}, {0x2a7e, L"geqslant"}, {0x2aa9, L"gescc"}, {0x2a80, L"gesdot"}, {0x2a82, L"gesdoto"}, {0x2a84, L"gesdotol"}, {0x2a94, L"gesles"}, {0x2190, L"gets"}, {0x226b, L"gg"}, {0x22d9, L"ggg"}, {0x2af8, L"gggnest"}, {0x2137, L"gimel"}, {0x2a92, L"glE"}, {0x2aa5, L"gla"}, {0x29e6, L"gleichstark"}, {0x2aa4, L"glj"}, {0x2a8a, L"gnapprox"}, {0x2a88, L"gneq"}, {0x2269, L"gneqq"}, {0x22e7, L"gnsim"}, {0x3e, L"greater"}, {0x2a8e, L"gsime"}, {0x2a90, L"gsiml"}, {0x2aa7, L"gtcc"}, {0x2a7a, L"gtcir"}, {0x29a0, L"gtlpar"}, {0x2a7c, L"gtquest"}, {0x2a86, L"gtrapprox"}, {0x2978, L"gtrarr"}, {0x22d7, L"gtrdot"}, {0x22db, L"gtreqless"}, {0x2a8c, L"gtreqqless"}, {0x2277, L"gtrless"}, {0x2273, L"gtrsim"}, {0xab, L"guillemotleft"}, {0xbb, L"guillemotright"}, {0x2039, L"guilsinglleft"}, {0x203a, L"guilsinglright"}, {0x23af, L"harrowextender"}, {0x2a6f, L"hatapprox"}, {0x210f, L"hbar"}, {0x2661, L"heartsuit"}, {0x22b9, L"hermitmatrix"}, {0x2394, L"hexagon"}, {0x2b23, L"hexagonblack"}, {0x306e, L"hiraganano"}, {0x2924, L"hknearrow"}, {0x2923, L"hknwarrow"}, {0x2925, L"hksearow"}, {0x2926, L"hkswarow"}, {0x21a9, L"hookleftarrow"}, {0x21aa, L"hookrightarrow"}, {0x2015, L"horizbar"}, {0x29d6, L"hourglass"}, {0x2302, L"house"}, {0x25ad, L"hrectangle"}, {0x25ac, L"hrectangleblack"}, {0x210f, L"hslash"}, {0x2043, L"hyphenbullet"}, {0x3030, L"hzigzag"}, {0x2a0c, L"iiiint"}, {0x222d, L"iiint"}, {0x29dc, L"iinfin"}, {0x222c, L"iint"}, {0x22b7, L"imageof"}, {0x2208, L"in"}, {0x2105, L"incare"}, {0x2206, L"increment"}, {0x221e, L"infty"}, {0x222b, L"int"}, {0x2a0e, L"intBar"}, {0x2a0d, L"intbar"}, {0x2321, L"intbottom"}, {0x2a19, L"intcap"}, {0x2231, L"intclockwise"}, {0x2a1a, L"intcup"}, {0x22ba, L"intercal"}, {0x2af4, L"interleave"}, {0x23ae, L"intextender"}, {0x2a17, L"intlharhk"}, {0x2a3c, L"intprod"}, {0x2a3d, L"intprodr"}, {0x2320, L"inttop"}, {0x2a18, L"intx"}, {0x25d8, L"inversebullet"}, {0x25d9, L"inversewhitecircle"}, {0x2310, L"invnot"}, {0x25db, L"invwhitelowerhalfcircle"}, {0x25da, L"invwhiteupperhalfcircle"}, {0x3b9, L"iota"}, {0x2e0, L"ipasupgamma"}, {0x2e1, L"ipasupl"}, {0x2e4, L"ipasuprerglotstpp"}, {0x2e2, L"ipasups"}, {0x2e3, L"ipasupx"}, {0x2ed, L"ipaunaspirated"}, {0x2ec, L"ipavoicing"}, {0x22f9, L"isinE"}, {0x22f5, L"isindot"}, {0x22f7, L"isinobar"}, {0x22f4, L"isins"}, {0x22f8, L"isinvb"}, {0x2145, L"itBbbD"}, {0x2146, L"itBbbd"}, {0x2147, L"itBbbe"}, {0x2148, L"itBbbi"}, {0x2149, L"itBbbj"}, {0x2643, L"jupiter"}, {0x3ba, L"kappa"}, {0x223b, L"kernelcontraction"}, {0x3df, L"koppa"}, {0x142, L"l"}, {0x27ea, L"lAngle"}, {0x2983, L"lBrace"}, {0x27e6, L"lBrack"}, {0x2985, L"lParen"}, {0x3bb, L"lambda"}, {0x19b, L"lambdabar"}, {0x27e8, L"langle"}, {0x2991, L"langledot"}, {0x29e0, L"laplac"}, {0x2bd, L"lasp"}, {0x2aab, L"lat"}, {0x2aad, L"late"}, {0x27c5, L"lbag"}, {0x2997, L"lblkbrbrak"}, {0x7b, L"lbrace"}, {0x23a9, L"lbracelend"}, {0x23a8, L"lbracemid"}, {0x23a7, L"lbraceuend"}, {0x5b, L"lbrack"}, {0x23a2, L"lbrackextender"}, {0x23a3, L"lbracklend"}, {0x298f, L"lbracklltick"}, {0x298b, L"lbrackubar"}, {0x23a1, L"lbrackuend"}, {0x298d, L"lbrackultick"}, {0x2772, L"lbrbrak"}, {0x2308, L"lceil"}, {0x29fc, L"lcurvyangle"}, {0x21e0, L"ldasharrhead"}, {0x2264, L"le"}, {0x219d, L"leadsto"}, {0x2190, L"leftarrow"}, {0x2b4a, L"leftarrowapprox"}, {0x2b42, L"leftarrowbackapprox"}, {0x2b4b, L"leftarrowbsimilar"}, {0x2977, L"leftarrowless"}, {0x2b32, L"leftarrowonoplus"}, {0x2946, L"leftarrowplus"}, {0x2943, L"leftarrowshortrightarrow"}, {0x2973, L"leftarrowsimilar"}, {0x297a, L"leftarrowsubset"}, {0x21a2, L"leftarrowtail"}, {0x21fd, L"leftarrowtriangle"}, {0x2b3e, L"leftarrowx"}, {0x290c, L"leftbkarrow"}, {0x2b3f, L"leftcurvedarrow"}, {0x21e0, L"leftdasharrow"}, {0x21e1, L"leftdasharrowhead"}, {0x290e, L"leftdbkarrow"}, {0x291b, L"leftdbltail"}, {0x2b38, L"leftdotarrow"}, {0x2936, L"leftdowncurvedarrow"}, {0x297c, L"leftfishtail"}, {0x21bd, L"leftharpoondown"}, {0x295e, L"leftharpoondownbar"}, {0x2962, L"leftharpoonsupdown"}, {0x21bc, L"leftharpoonup"}, {0x295a, L"leftharpoonupbar"}, {0x296a, L"leftharpoonupdash"}, {0x21c7, L"leftleftarrows"}, {0x263e, L"leftmoon"}, {0x27d5, L"leftouterjoin"}, {0x2194, L"leftrightarrow"}, {0x2948, L"leftrightarrowcircle"}, {0x21c6, L"leftrightarrows"}, {0x21ff, L"leftrightarrowtriangle"}, {0x2950, L"leftrightharpoondowndown"}, {0x294b, L"leftrightharpoondownup"}, {0x21cb, L"leftrightharpoons"}, {0x2967, L"leftrightharpoonsdown"}, {0x2966, L"leftrightharpoonsup"}, {0x294a, L"leftrightharpoonupdown"}, {0x294e, L"leftrightharpoonupup"}, {0x21ad, L"leftrightsquigarrow"}, {0x219c, L"leftsquigarrow"}, {0x21dc, L"leftsquigarrow"}, {0x2919, L"lefttail"}, {0x2b31, L"leftthreearrows"}, {0x22cb, L"leftthreetimes"}, {0x21e6, L"leftwhitearrow"}, {0x2264, L"leq"}, {0x2266, L"leqq"}, {0x2af9, L"leqqslant"}, {0x2afa, L"leqqslant"}, {0x2a7d, L"leqslant"}, {0x2aa8, L"lescc"}, {0x2a7f, L"lesdot"}, {0x2a81, L"lesdoto"}, {0x2a83, L"lesdotor"}, {0x2a93, L"lesges"}, {0x3c, L"less"}, {0x2a85, L"lessapprox"}, {0x22d6, L"lessdot"}, {0x22da, L"lesseqgtr"}, {0x2a8b, L"lesseqqgtr"}, {0x2276, L"lessgtr"}, {0x2272, L"lesssim"}, {0x29d1, L"lfbowtie"}, {0x230a, L"lfloor"}, {0x29d4, L"lftimes"}, {0x2a91, L"lgE"}, {0x2b24, L"lgblkcircle"}, {0x2b1b, L"lgblksquare"}, {0x25ef, L"lgwhtcircle"}, {0x2b1c, L"lgwhtsquare"}, {0x22b2, L"lhd"}, {0x21b4, L"linefeed"}, {0x226a, L"ll"}, {0x2989, L"llangle"}, {0x25df, L"llarc"}, {0x25e3, L"llblacktriangle"}, {0x231e, L"llcorner"}, {0x22d8, L"lll"}, {0x2af7, L"lllnest"}, {0x2987, L"llparenthesis"}, {0x25fa, L"lltriangle"}, {0x23b0, L"lmoustache"}, {0x2a89, L"lnapprox"}, {0x2a87, L"lneq"}, {0x2268, L"lneqq"}, {0x22e6, L"lnsim"}, {0x27de, L"longdashv"}, {0x27cc, L"longdivision"}, {0x27f5, L"longleftarrow"}, {0x27f7, L"longleftrightarrow"}, {0x2b33, L"longleftsquigarrow"}, {0x27fb, L"longmapsfrom"}, {0x27fc, L"longmapsto"}, {0x27f6, L"longrightarrow"}, {0x27ff, L"longrightsquigarrow"}, {0x21ab, L"looparrowleft"}, {0x21ac, L"looparrowright"}, {0x2a1c, L"lowint"}, {0x25ca, L"lozenge"}, {0x27e0, L"lozengeminus"}, {0x239c, L"lparenextender"}, {0x239d, L"lparenlend"}, {0x2993, L"lparenless"}, {0x239b, L"lparenuend"}, {0x2018, L"lq"}, {0x25de, L"lrarc"}, {0x25e2, L"lrblacktriangle"}, {0x231f, L"lrcorner"}, {0x25ff, L"lrtriangle"}, {0x29e1, L"lrtriangleeq"}, {0x2a8d, L"lsime"}, {0x2a8f, L"lsimg"}, {0x2acd, L"lsqhook"}, {0x2aa6, L"ltcc"}, {0x2a79, L"ltcir"}, {0x22c9, L"ltimes"}, {0x2976, L"ltlarr"}, {0x2a7b, L"ltquest"}, {0x29cf, L"ltrivb"}, {0x23b8, L"lvboxline"}, {0x29d8, L"lvzigzag"}, {0x2642, L"male"}, {0x2720, L"maltese"}, {0x21a7, L"mapsdown"}, {0x21a4, L"mapsfrom"}, {0x21a6, L"mapsto"}, {0x21a5, L"mapsup"}, {0x2b25, L"mdblkdiamond"}, {0x2b27, L"mdblklozenge"}, {0x26ab, L"mdblkrcl"}, {0x25fc, L"mdblksquare"}, {0x25cf, L"mdlgblkcircle"}, {0x25c6, L"mdlgblkdiamond"}, {0x29eb, L"mdlgblklozenge"}, {0x25a0, L"mdlgblksquare"}, {0x25cb, L"mdlgwhtcircle"}, {0x25c7, L"mdlgwhtdiamond"}, {0x25a1, L"mdlgwhtsquare"}, {0x2981, L"mdsmblkcircle"}, {0x25fe, L"mdsmblksquare"}, {0x26ac, L"mdsmwhtcircl"}, {0x25fd, L"mdsmwhtsquare"}, {0x26aa, L"mdwhtcircl"}, {0x2b26, L"mdwhtdiamond"}, {0x2b28, L"mdwhtlozenge"}, {0x25fb, L"mdwhtsquare"}, {0x29af, L"measangledltosw"}, {0x29ae, L"measangledrtose"}, {0x29ab, L"measangleldtosw"}, {0x29a9, L"measanglelutonw"}, {0x29aa, L"measanglerdtose"}, {0x29a8, L"measanglerutone"}, {0x29ad, L"measangleultonw"}, {0x29ac, L"measangleurtone"}, {0x225e, L"measeq"}, {0x2221, L"measuredangle"}, {0x299b, L"measuredangleleft"}, {0x22be, L"measuredrightangle"}, {0x2b51, L"medblackstar"}, {0x205f, L"medmathspace"}, {0x2b50, L"medwhitestar"}, {0x263f, L"mercury"}, {0x2127, L"mho"}, {0x2223, L"mid"}, {0x2a5d, L"midbarvee"}, {0x2a5c, L"midbarwedge"}, {0x2af0, L"midcir"}, {0x2212, L"minus"}, {0x2a2a, L"minusdot"}, {0x2a2b, L"minusfdots"}, {0x2a2c, L"minusrdots"}, {0x2adb, L"mlcp"}, {0x22a7, L"models"}, {0x2213, L"mp"}, {0x3bc, L"mu"}, {0x22b8, L"multimap"}, {0x27dc, L"multimapinv"}, {0x21df, L"nHdownarrow"}, {0x21de, L"nHuparrow"}, {0x21cd, L"nLeftarrow"}, {0x21ce, L"nLeftrightarrow"}, {0x21cf, L"nRightarrow"}, {0x22af, L"nVDash"}, {0x22ae, L"nVdash"}, {0x21fa, L"nVleftarrow"}, {0x2b3a, L"nVleftarrowtail"}, {0x21fc, L"nVleftrightarrow"}, {0x21fb, L"nVrightarrow"}, {0x2915, L"nVrightarrowtail"}, {0x2b35, L"nVtwoheadleftarrow"}, {0x2b3d, L"nVtwoheadleftarrowtail"}, {0x2901, L"nVtwoheadrightarrow"}, {0x2918, L"nVtwoheadrightarrowtail"}, {0x2207, L"nabla"}, {0x2249, L"napprox"}, {0x226d, L"nasymp"}, {0x266e, L"natural"}, {0x2247, L"ncong"}, {0x2260, L"ne"}, {0x2197, L"nearrow"}, {0xac, L"neg"}, {0x2931, L"neovnwarrow"}, {0x292e, L"neovsearrow"}, {0x2646, L"neptune"}, {0x2260, L"neq"}, {0x2262, L"nequiv"}, {0x2922, L"neswarrow"}, {0x26b2, L"neuter"}, {0x2204, L"nexists"}, {0x14b, L"ng"}, {0x2271, L"ngeq"}, {0x226f, L"ngtr"}, {0x2279, L"ngtrless"}, {0x2275, L"ngtrsim"}, {0x2af5, L"nhVvert"}, {0x2af2, L"nhpar"}, {0x220b, L"ni"}, {0x22fe, L"niobar"}, {0x22fc, L"nis"}, {0x22fa, L"nisd"}, {0x219a, L"nleftarrow"}, {0x21ae, L"nleftrightarrow"}, {0x2270, L"nleq"}, {0x226e, L"nless"}, {0x2278, L"nlessgtr"}, {0x2274, L"nlesssim"}, {0x2224, L"nmid"}, {0x220c, L"nni"}, {0x2011, L"nobreakhyphen"}, {0x2209, L"notin"}, {0x2226, L"nparallel"}, {0x2a14, L"npolint"}, {0x2280, L"nprec"}, {0x22e0, L"npreccurlyeq"}, {0x219b, L"nrightarrow"}, {0x2241, L"nsim"}, {0x2244, L"nsime"}, {0x22e2, L"nsqsubseteq"}, {0x22e3, L"nsqsupseteq"}, {0x2284, L"nsubset"}, {0x2288, L"nsubseteq"}, {0x2281, L"nsucc"}, {0x22e1, L"nsucccurlyeq"}, {0x2285, L"nsupset"}, {0x2289, L"nsupseteq"}, {0x22ea, L"ntriangleleft"}, {0x22ec, L"ntrianglelefteq"}, {0x22eb, L"ntriangleright"}, {0x22ed, L"ntrianglerighteq"}, {0x3bd, L"nu"}, {0x22ad, L"nvDash"}, {0x2902, L"nvLeftarrow"}, {0x2904, L"nvLeftrightarrow"}, {0x2903, L"nvRightarrow"}, {0x22ac, L"nvdash"}, {0x29de, L"nvinfty"}, {0x21f7, L"nvleftarrow"}, {0x2b39, L"nvleftarrowtail"}, {0x21f9, L"nvleftrightarrow"}, {0x21f8, L"nvrightarrow"}, {0x2914, L"nvrightarrowtail"}, {0x2b34, L"nvtwoheadleftarrow"}, {0x2b3c, L"nvtwoheadleftarrowtail"}, {0x2900, L"nvtwoheadrightarrow"}, {0x2917, L"nvtwoheadrightarrowtail"}, {0x2196, L"nwarrow"}, {0x2932, L"nwovnearrow"}, {0x2921, L"nwsearrow"}, {0xf8, L"o"}, {0x233d, L"obar"}, {0x29ba, L"obot"}, {0x23e0, L"obrbrak"}, {0x29b8, L"obslash"}, {0x2a38, L"odiv"}, {0x2299, L"odot"}, {0x29bc, L"odotslashdot"}, {0x153, L"oe"}, {0x29c1, L"ogreaterthan"}, {0x1a1, L"ohorn"}, {0x2230, L"oiiint"}, {0x222f, L"oiint"}, {0x222e, L"oint"}, {0x2233, L"ointctrclockwise"}, {0x29bb, L"olcross"}, {0x3d8, L"oldKoppa"}, {0x3d9, L"oldkoppa"}, {0x29c0, L"olessthan"}, {0x3c9, L"omega"}, {0x3bf, L"omicron"}, {0x2296, L"ominus"}, {0x29b9, L"operp"}, {0x2295, L"oplus"}, {0x2a2d, L"opluslhrim"}, {0x2a2e, L"oplusrhrim"}, {0x22b6, L"origof"}, {0x2298, L"oslash"}, {0x2297, L"otimes"}, {0x2a36, L"otimeshat"}, {0x2a34, L"otimeslhrim"}, {0x2a35, L"otimesrhrim"}, {0x23de, L"overbrace"}, {0x23b4, L"overbracket"}, {0x203e, L"overline"}, {0x23dc, L"overparen"}, {0x220b, L"owns"}, {0x2225, L"parallel"}, {0x25b1, L"parallelogram"}, {0x25b0, L"parallelogramblack"}, {0x2af3, L"parsim"}, {0x2202, L"partial"}, {0x2aa3, L"partialmeetcontraction"}, {0x2b20, L"pentagon"}, {0x2b1f, L"pentagonblack"}, {0x27c2, L"perp"}, {0x2ae1, L"perps"}, {0x3d5, L"phi"}, {0x260e, L"phone"}, {0x3c0, L"pi"}, {0x22d4, L"pitchfork"}, {0x2a25, L"plusdot"}, {0x2a72, L"pluseqq"}, {0x2a23, L"plushat"}, {0x2a26, L"plussim"}, {0x2a27, L"plussubtwo"}, {0x2a28, L"plustrif"}, {0x2647, L"pluto"}, {0xb1, L"pm"}, {0x2a15, L"pointnt"}, {0x3012, L"postalmark"}, {0x227a, L"prec"}, {0x2ab7, L"precapprox"}, {0x227c, L"preccurlyeq"}, {0x2aaf, L"preceq"}, {0x2ab3, L"preceqq"}, {0x2ab9, L"precnapprox"}, {0x2ab1, L"precneq"}, {0x2ab5, L"precneqq"}, {0x22e8, L"precnsim"}, {0x227e, L"precsim"}, {0x2032, L"prime"}, {0x220f, L"prod"}, {0x232e, L"profalar"}, {0x2312, L"profline"}, {0x2313, L"profsurf"}, {0x221d, L"propto"}, {0x22b0, L"prurel"}, {0x3c8, L"psi"}, {0x27d3, L"pullback"}, {0x27d4, L"pushout"}, {0x2057, L"qprime"}, {0x2669, L"quarternote"}, {0x225f, L"questeq"}, {0x201e, L"quotdblbase"}, {0x201f, L"quotdblright"}, {0x201a, L"quotsinglbase"}, {0x201b, L"quotsinglright"}, {0x27eb, L"rAngle"}, {0x2984, L"rBrace"}, {0x27e7, L"rBrack"}, {0x2986, L"rParen"}, {0x27e9, L"rangle"}, {0x2992, L"rangledot"}, {0x237c, L"rangledownzigzagarrow"}, {0x2bc, L"rasp"}, {0x27c6, L"rbag"}, {0x2998, L"rblkbrbrak"}, {0x7d, L"rbrace"}, {0x23ad, L"rbracelend"}, {0x23ac, L"rbracemid"}, {0x23ab, L"rbraceuend"}, {0x5d, L"rbrack"}, {0x23a5, L"rbrackextender"}, {0x23a6, L"rbracklend"}, {0x298e, L"rbracklrtick"}, {0x298c, L"rbrackubar"}, {0x23a4, L"rbrackuend"}, {0x2990, L"rbrackurtick"}, {0x2773, L"rbrbrak"}, {0x2309, L"rceil"}, {0x29fd, L"rcurvyangle"}, {0x292b, L"rdiagovfdiag"}, {0x2930, L"rdiagovsearrow"}, {0x2315, L"recorder"}, {0x29a3, L"revangle"}, {0x29a5, L"revangleubar"}, {0x29b0, L"revemptyset"}, {0x2aee, L"revnmid"}, {0x29d2, L"rfbowtie"}, {0x230b, L"rfloor"}, {0x29d5, L"rftimes"}, {0x22b3, L"rhd"}, {0x3c1, L"rho"}, {0x2b4c, L"righarrowbsimilar"}, {0x221f, L"rightangle"}, {0x299d, L"rightanglemdot"}, {0x299c, L"rightanglesqr"}, {0x2192, L"rightarrow"}, {0x2975, L"rightarrowapprox"}, {0x2b48, L"rightarrowbackapprox"}, {0x21e5, L"rightarrowbar"}, {0x291e, L"rightarrowdiamond"}, {0x2b43, L"rightarrowgtr"}, {0x27f4, L"rightarrowonoplus"}, {0x2945, L"rightarrowplus"}, {0x2942, L"rightarrowshortleftarrow"}, {0x2974, L"rightarrowsimilar"}, {0x2b44, L"rightarrowsupset"}, {0x21a3, L"rightarrowtail"}, {0x21fe, L"rightarrowtriangle"}, {0x2947, L"rightarrowx"}, {0x290d, L"rightbkarrow"}, {0x2933, L"rightcurvedarrow"}, {0x21e2, L"rightdasharrow"}, {0x291c, L"rightdbltail"}, {0x2911, L"rightdotarrow"}, {0x2937, L"rightdowncurvedarrow"}, {0x297d, L"rightfishtail"}, {0x21c1, L"rightharpoondown"}, {0x2957, L"rightharpoondownbar"}, {0x2964, L"rightharpoonsupdown"}, {0x21c0, L"rightharpoonup"}, {0x2953, L"rightharpoonupbar"}, {0x296c, L"rightharpoonupdash"}, {0x2970, L"rightimply"}, {0x21c4, L"rightleftarrows"}, {0x21cc, L"rightleftharpoons"}, {0x2969, L"rightleftharpoonsdown"}, {0x2968, L"rightleftharpoonsup"}, {0x263d, L"rightmoon"}, {0x27d6, L"rightouterjoin"}, {0x2b54, L"rightpentagon"}, {0x2b53, L"rightpentagonblack"}, {0x21c9, L"rightrightarrows"}, {0x219d, L"rightsquigarrow"}, {0x21dd, L"rightsquigarrow"}, {0x291a, L"righttail"}, {0x21f6, L"rightthreearrows"}, {0x22cc, L"rightthreetimes"}, {0x21e8, L"rightwhitearrow"}, {0x2a22, L"ringplus"}, {0x2253, L"risingdotseq"}, {0x23b1, L"rmoustache"}, {0x239f, L"rparenextender"}, {0x2994, L"rparengtr"}, {0x23a0, L"rparenlend"}, {0x239e, L"rparenuend"}, {0x2a12, L"rppolint"}, {0x2019, L"rq"}, {0x298a, L"rrangle"}, {0x2988, L"rrparenthesis"}, {0x29f7, L"rsolbar"}, {0x2ace, L"rsqhook"}, {0x2a65, L"rsub"}, {0x22ca, L"rtimes"}, {0x29ce, L"rtriltri"}, {0x29f4, L"ruledelayed"}, {0x23b9, L"rvboxline"}, {0x29d9, L"rvzigzag"}, {0x3e1, L"sampi"}, {0x2143, L"sansLmirrored"}, {0x2142, L"sansLturned"}, {0x2644, L"saturn"}, {0x2702, L"scissors"}, {0x2a13, L"scpolint"}, {0x212c, L"scrB"}, {0x2130, L"scrE"}, {0x2131, L"scrF"}, {0x210b, L"scrH"}, {0x2110, L"scrI"}, {0x2112, L"scrL"}, {0x2133, L"scrM"}, {0x211b, L"scrR"}, {0x212f, L"scre"}, {0x210a, L"scrg"}, {0x2134, L"scro"}, {0x22b1, L"scurel"}, {0x2198, L"searrow"}, {0x292d, L"seovnearrow"}, {0x2216, L"setminus"}, {0x29f5, L"setminus"}, {0x266f, L"sharp"}, {0x2adf, L"shortdowntack"}, {0x2190, L"shortleftarrow"}, {0x2ade, L"shortlefttack"}, {0x2192, L"shortrightarrow"}, {0x2944, L"shortrightarrowleftarrow"}, {0x2ae0, L"shortuptack"}, {0x29e2, L"shuffle"}, {0x3c3, L"sigma"}, {0x3c5, L"silon"}, {0x3d2, L"silon"}, {0x223c, L"sim"}, {0x2243, L"simeq"}, {0x2aa0, L"simgE"}, {0x2a9e, L"simgtr"}, {0x2b49, L"similarleftarrow"}, {0x2972, L"similarrightarrow"}, {0x2a9f, L"simlE"}, {0x2a9d, L"simless"}, {0x2a6c, L"simminussim"}, {0x2246, L"simneqq"}, {0x2a24, L"simplus"}, {0x2a6b, L"simrdots"}, {0x223f, L"sinewave"}, {0x2215, L"slash"}, {0x25c2, L"smallblacktriangleleft"}, {0x25b8, L"smallblacktriangleright"}, {0x22c4, L"smalldiamond"}, {0x220a, L"smallin"}, {0x222b, L"smallint"}, {0x220d, L"smallni"}, {0x2216, L"smallsetminus"}, {0x25c3, L"smalltriangleleft"}, {0x25b9, L"smalltriangleright"}, {0x2a33, L"smashtimes"}, {0x2b29, L"smblkdiamond"}, {0x2b2a, L"smblklozenge"}, {0x25aa, L"smblksquare"}, {0x29e4, L"smeparsl"}, {0x2323, L"smile"}, {0x263a, L"smiley"}, {0x2aaa, L"smt"}, {0x2aac, L"smte"}, {0x2b52, L"smwhitestar"}, {0x25e6, L"smwhtcircle"}, {0x2b2b, L"smwhtlozenge"}, {0x25ab, L"smwhtsquare"}, {0x2660, L"spadesuit"}, {0x2222, L"sphericalangle"}, {0x29a1, L"sphericalangleup"}, {0x2293, L"sqcap"}, {0x2294, L"sqcup"}, {0x2a16, L"sqint"}, {0x2311, L"sqlozenge"}, {0x800221a, L"sqrt"}, {0x800221b, L"sqrt3"}, {0x800221c, L"sqrt4"}, {0x23b7, L"sqrtbottom"}, {0x228f, L"sqsubset"}, {0x2291, L"sqsubseteq"}, {0x22e4, L"sqsubsetneq"}, {0x2290, L"sqsupset"}, {0x2292, L"sqsupseteq"}, {0x22e5, L"sqsupsetneq"}, {0x25a9, L"squarecrossfill"}, {0x25a9, L"squaregrayfill"}, {0x25a4, L"squarehfill"}, {0x25a6, L"squarehvfill"}, {0x25e7, L"squareleftblack"}, {0x25e8, L"squareleftblack"}, {0x2b15, L"squarellblack"}, {0x25f1, L"squarellquad"}, {0x25ea, L"squarelrblack"}, {0x25f2, L"squarelrquad"}, {0x25a8, L"squareneswfill"}, {0x25a7, L"squarenwsefill"}, {0x25e9, L"squareulblack"}, {0x25f0, L"squareulquad"}, {0x2b14, L"squareurblack"}, {0x25f3, L"squareurquad"}, {0x25a5, L"squarevfill"}, {0x25a2, L"squoval"}, {0xdf, L"ss"}, {0x22c6, L"star"}, {0x225b, L"stareq"}, {0xa3, L"sterling"}, {0x3db, L"stigma"}, {0x23e4, L"strns"}, {0x2ac3, L"subedot"}, {0x2ac1, L"submult"}, {0x2979, L"subrarr"}, {0x2282, L"subset"}, {0x2ac9, L"subsetapprox"}, {0x27c3, L"subsetcirc"}, {0x2abd, L"subsetdot"}, {0x2286, L"subseteq"}, {0x2ac5, L"subseteqq"}, {0x228a, L"subsetneq"}, {0x2acb, L"subsetneqq"}, {0x2abf, L"subsetplus"}, {0x2ac7, L"subsim"}, {0x2ad5, L"subsub"}, {0x2ad3, L"subsup"}, {0x227b, L"succ"}, {0x2ab8, L"succapprox"}, {0x227d, L"succcurlyeq"}, {0x2ab0, L"succeq"}, {0x2ab4, L"succeqq"}, {0x2aba, L"succnapprox"}, {0x2ab2, L"succneq"}, {0x2ab6, L"succneqq"}, {0x22e9, L"succnsim"}, {0x227f, L"succsim"}, {0x2211, L"sum"}, {0x23b3, L"sumbottom"}, {0x2a0b, L"sumint"}, {0x23b2, L"sumtop"}, {0x263c, L"sun"}, {0x2ad8, L"supdsub"}, {0x2ac4, L"supedot"}, {0x27c9, L"suphsol"}, {0x2ad7, L"suphsub"}, {0x297b, L"suplarr"}, {0x2ac2, L"supmult"}, {0x207f, L"supn"}, {0x2283, L"supset"}, {0x2aca, L"supsetapprox"}, {0x27c4, L"supsetcirc"}, {0x2abe, L"supsetdot"}, {0x2287, L"supseteq"}, {0x2ac6, L"supseteqq"}, {0x228b, L"supsetneq"}, {0x2acc, L"supsetneqq"}, {0x2ac0, L"supsetplus"}, {0x2ac8, L"supsim"}, {0x2ad4, L"supsub"}, {0x2ad6, L"supsup"}, {0x221a, L"surd"}, {0x2199, L"swarrow"}, {0x2afe, L"talloblong"}, {0x2316, L"target"}, {0x3c4, L"tau"}, {0x2649, L"taurus"}, {0x1d8d, L"testhookx"}, {0x2051, L"textAsterisks"}, {0x2ca, L"textacute"}, {0x2d6, L"textadvanced"}, {0x2bf, L"textain"}, {0xb4, L"textasciiacute"}, {0x5e, L"textasciicircum"}, {0xa8, L"textasciidieresis"}, {0x60, L"textasciigrave"}, {0xaf, L"textasciimacron"}, {0x7e, L"textasciitilde"}, {0x204e, L"textasterisklow"}, {0x2036, L"textbackdprime"}, {0x2035, L"textbackprime"}, {0x2037, L"textbacktrprime"}, {0x25f, L"textbardotlessj"}, {0x284, L"textbardotlessjvar"}, {0x2a1, L"textbarglotstop"}, {0x268, L"textbari"}, {0x19a, L"textbarl"}, {0x275, L"textbaro"}, {0x2a2, L"textbarrevglotstop"}, {0x289, L"textbaru"}, {0x26c, L"textbeltl"}, {0x1ba, L"textbenttailyogh"}, {0x2d8, L"textbreve"}, {0xa6, L"textbrokenbar"}, {0x2022, L"textbullet"}, {0x298, L"textbullseye"}, {0xa2, L"textcent"}, {0x2117, L"textcircledP"}, {0x29a, L"textcloseepsilon"}, {0x277, L"textcloseomega"}, {0x25e, L"textcloserevepsilon"}, {0xa9, L"textcopyright"}, {0x180, L"textcrb"}, {0x127, L"textcrh"}, {0x1be, L"textcrinvglotstop"}, {0x19b, L"textcrlambda"}, {0x1bb, L"textcrtwo"}, {0x255, L"textctc"}, {0x221, L"textctd"}, {0x286, L"textctesh"}, {0x29d, L"textctj"}, {0x234, L"textctl"}, {0x235, L"textctn"}, {0x236, L"textctt"}, {0x293, L"textctyogh"}, {0x291, L"textctz"}, {0xa4, L"textcurrency"}, {0x2a5, L"textdctzlig"}, {0xb0, L"textdegree"}, {0x2052, L"textdiscount"}, {0x24, L"textdollar"}, {0x2d9, L"textdotaccent"}, {0x237, L"textdotlessj"}, {0x2dd, L"textdoubleacute"}, {0x1c2, L"textdoublebarpipe"}, {0x1c1, L"textdoublepipe"}, {0x2033, L"textdprime"}, {0x2c5, L"textdptr"}, {0x2a4, L"textdyoghlig"}, {0x2a3, L"textdzlig"}, {0x25b, L"textepsilon"}, {0x283, L"textesh"}, {0x212e, L"textestimated"}, {0x1c3, L"textexclam"}, {0xa1, L"textexclamdown"}, {0x27e, L"textfishhookr"}, {0x192, L"textflorin"}, {0x20a3, L"textfranc"}, {0x263, L"textgamma"}, {0x294, L"textglotstop"}, {0x2cb, L"textgrave"}, {0x2d1, L"texthalflength"}, {0x2be, L"texthamza"}, {0xa727, L"texthen"}, {0xa727, L"textheng"}, {0x1d8a, L"texthooks"}, {0x1d8e, L"texthookz"}, {0x253, L"texthtb"}, {0x188, L"texthtc"}, {0x257, L"texthtd"}, {0x260, L"texthtg"}, {0x266, L"texthth"}, {0x267, L"texththeng"}, {0x199, L"texthtk"}, {0x1a5, L"texthtp"}, {0x2a0, L"texthtq"}, {0x29b, L"texthtscg"}, {0x1ad, L"texthtt"}, {0x195, L"texthvlig"}, {0x2010, L"texthyphen"}, {0x296, L"textinvglotstop"}, {0x281, L"textinvscr"}, {0x269, L"textiota"}, {0x2d0, L"textlengthmark"}, {0x2d3, L"textlhalfring"}, {0x1d81, L"textlhookd"}, {0x1d84, L"textlhookk"}, {0x1d85, L"textlhookl"}, {0x1ab, L"textlhookt"}, {0x27f, L"textlhti"}, {0x20a4, L"textlira"}, {0x27c, L"textlonglegr"}, {0x2ae, L"textlongy"}, {0x2af, L"textlongy"}, {0x1aa, L"textlooptoprevesh"}, {0x2cf, L"textlowacute"}, {0x2d5, L"textlowered"}, {0x2ce, L"textlowgrave"}, {0x2cd, L"textlowmacron"}, {0x2c2, L"textlptr"}, {0x271, L"textltailm"}, {0x272, L"textltailn"}, {0x26b, L"textltilde"}, {0x26e, L"textlyoghlig"}, {0x2c9, L"textmacron"}, {0xb5, L"textmu"}, {0x2116, L"textnumero"}, {0x2db, L"textogonek"}, {0x2126, L"textohm"}, {0xbd, L"textonehalf"}, {0xbc, L"textonequarter"}, {0xb9, L"textonesuperior"}, {0x254, L"textopeno"}, {0xaa, L"textordfeminine"}, {0xba, L"textordmasculine"}, {0x2df, L"textovercross"}, {0x2125, L"textoz"}, {0x2031, L"textpertenthousand"}, {0x2030, L"textperthousand"}, {0x20a7, L"textpesetas"}, {0x278, L"textphi"}, {0x1c0, L"textpipe"}, {0x2032, L"textprime"}, {0x2c8, L"textprimstress"}, {0x2057, L"textqprime"}, {0xbf, L"textquestiondown"}, {0x22, L"textquotedbl"}, {0x201c, L"textquotedblleft"}, {0x201d, L"textquotedblright"}, {0x2d4, L"textraised"}, {0x2c0, L"textraiseglotstop"}, {0x2c1, L"textraiserevglotstop"}, {0x264, L"textramshorns"}, {0x211e, L"textrecipe"}, {0x203b, L"textreferencemark"}, {0xae, L"textregistered"}, {0x2d7, L"textretracted"}, {0x258, L"textreve"}, {0x25c, L"textrevepsilon"}, {0x295, L"textrevglotstop"}, {0x2d2, L"textrhalfring"}, {0x25d, L"textrhookrevepsilon"}, {0x25a, L"textrhookschwa"}, {0x2de, L"textrhoticity"}, {0x2da, L"textringaccent"}, {0x2c3, L"textrptr"}, {0x256, L"textrtaild"}, {0x26d, L"textrtaill"}, {0x273, L"textrtailn"}, {0x27d, L"textrtailr"}, {0x282, L"textrtails"}, {0x288, L"textrtailt"}, {0x290, L"textrtailz"}, {0x1d00, L"textsca"}, {0x299, L"textscb"}, {0x1d07, L"textsce"}, {0x262, L"textscg"}, {0x29c, L"textsch"}, {0x259, L"textschwa"}, {0x26a, L"textsci"}, {0x29f, L"textscl"}, {0x274, L"textscn"}, {0x276, L"textscoelig"}, {0x280, L"textscr"}, {0x251, L"textscripta"}, {0x261, L"textscriptg"}, {0x28b, L"textscriptv"}, {0x1d1c, L"textscu"}, {0x28f, L"textscy"}, {0x2cc, L"textsecstress"}, {0x204f, L"textsemicolonreversed"}, {0x3a5, L"textsilon"}, {0x2dc, L"textsmalltilde"}, {0x297, L"textstretchcvar"}, {0x77, L"textsubw"}, {0x2b0, L"textsuph"}, {0x2b1, L"textsuphth"}, {0x2b6, L"textsupinvscr"}, {0x2b2, L"textsupj"}, {0x2b3, L"textsupr"}, {0x2b4, L"textsupturnr"}, {0x2b5, L"textsupturnrrtail"}, {0x2b7, L"textsupw"}, {0x2b8, L"textsupy"}, {0x2a7, L"texttctctlig"}, {0x2a8, L"texttctctlig"}, {0xbe, L"textthreequarters"}, {0xb3, L"textthreesuperior"}, {0x2122, L"texttrademark"}, {0x2034, L"texttrprime"}, {0x2a6, L"texttslig"}, {0x250, L"textturna"}, {0x2bb, L"textturncomma"}, {0x265, L"textturnh"}, {0x29e, L"textturnk"}, {0x27a, L"textturnlonglegr"}, {0x26f, L"textturnm"}, {0x270, L"textturnmrleg"}, {0x279, L"textturnr"}, {0x27b, L"textturnrrtail"}, {0x252, L"textturnscripta"}, {0x287, L"textturnt"}, {0x28c, L"textturnv"}, {0x28d, L"textturnw"}, {0x28e, L"textturny"}, {0xb2, L"texttwosuperior"}, {0x28a, L"textupsilon"}, {0x2c4, L"textuptr"}, {0x285, L"textvibyi"}, {0x2423, L"textvisiblespace"}, {0x292, L"textyogh"}, {0xfe, L"th"}, {0x2234, L"therefore"}, {0x29e7, L"thermod"}, {0x3b8, L"theta"}, {0x2248, L"thickapprox"}, {0x223c, L"thicksim"}, {0x27c0, L"threedangle"}, {0x2af6, L"threedotcolon"}, {0x2040, L"tieconcat"}, {0x29dd, L"tieinfty"}, {0xd7, L"times"}, {0x2a31, L"timesbar"}, {0x29ff, L"tminus"}, {0x2192, L"to"}, {0x2928, L"toea"}, {0x2927, L"tona"}, {0x2e5, L"tonebarextrahigh"}, {0x2e9, L"tonebarextralow"}, {0x2e6, L"tonebarhigh"}, {0x2e8, L"tonebarlow"}, {0x2e7, L"tonebarmid"}, {0x22a4, L"top"}, {0x2336, L"topbot"}, {0x2af1, L"topcir"}, {0x2ada, L"topfork"}, {0x25e0, L"topsemicircle"}, {0x2929, L"tosa"}, {0x292a, L"towa"}, {0x29fe, L"tplus"}, {0x23e2, L"trapezium"}, {0x25ec, L"trianglecdot"}, {0x25bf, L"triangledown"}, {0x26a0, L"triangleexclam"}, {0x25c1, L"triangleleft"}, {0x25ed, L"triangleleftblack"}, {0x22b4, L"trianglelefteq"}, {0x2a3a, L"triangleminus"}, {0x29ca, L"triangleodot"}, {0x2a39, L"triangleplus"}, {0x225c, L"triangleq"}, {0x25b7, L"triangleright"}, {0x25ee, L"trianglerightblack"}, {0x22b5, L"trianglerighteq"}, {0x29cc, L"triangles"}, {0x29cd, L"triangleserifs"}, {0x2a3b, L"triangletimes"}, {0x29cb, L"triangleubar"}, {0x29fb, L"tripleplus"}, {0x2034, L"trprime"}, {0x29a2, L"turnangle"}, {0x2129, L"turnediota"}, {0x2319, L"turnednot"}, {0x2a4b, L"twocaps"}, {0x2a4a, L"twocups"}, {0x21a1, L"twoheaddownarrow"}, {0x219e, L"twoheadleftarrow"}, {0x2b3b, L"twoheadleftarrowtail"}, {0x2b37, L"twoheadleftdbkarrow"}, {0x2b36, L"twoheadmapsfrom"}, {0x2905, L"twoheadmapsto"}, {0x21a0, L"twoheadrightarrow"}, {0x2916, L"twoheadrightarrowtail"}, {0x219f, L"twoheaduparrow"}, {0x2949, L"twoheaduparrowcircle"}, {0x2017, L"twolowline"}, {0x266b, L"twonotes"}, {0x2982, L"typecolon"}, {0x23e1, L"ubrbrak"}, {0x1b0, L"uhorn"}, {0x25dc, L"ularc"}, {0x25e4, L"ulblacktriangle"}, {0x231c, L"ulcorner"}, {0x230f, L"ulcrop"}, {0x25f8, L"ultriangle"}, {0x2a41, L"uminus"}, {0x23df, L"underbrace"}, {0x23b5, L"underbracket"}, {0x23dd, L"underparen"}, {0x22b4, L"unlhd"}, {0x22b5, L"unrhd"}, {0x214b, L"upand"}, {0x2191, L"uparrow"}, {0x2909, L"uparrowbarred"}, {0x29bd, L"uparrowoncircle"}, {0x21e2, L"updasharrow"}, {0x2195, L"updownarrow"}, {0x21a8, L"updownarrowbar"}, {0x21c5, L"updownarrows"}, {0x2951, L"updownharpoonleftleft"}, {0x294d, L"updownharpoonleftright"}, {0x294c, L"updownharpoonrightleft"}, {0x294f, L"updownharpoonrightright"}, {0x296e, L"updownharpoonsleftright"}, {0x297e, L"upfishtail"}, {0x21bf, L"upharpoonleft"}, {0x2960, L"upharpoonleftbar"}, {0x21be, L"upharpoonright"}, {0x295c, L"upharpoonrightbar"}, {0x2963, L"upharpoonsleftright"}, {0x27d2, L"upin"}, {0x2a1b, L"upint"}, {0x228e, L"uplus"}, {0x2934, L"uprightcurvearrow"}, {0x21c8, L"upuparrows"}, {0x21e7, L"upwhitearrow"}, {0x25dd, L"urarc"}, {0x25e5, L"urblacktriangle"}, {0x231d, L"urcorner"}, {0x230e, L"urcrop"}, {0x25f9, L"urtriangle"}, {0x2c7, L"v"}, {0x2ae8, L"vBar"}, {0x2ae9, L"vBarv"}, {0x22a8, L"vDash"}, {0x2ae2, L"vDdash"}, {0x3f4, L"varTheta"}, {0x2ae6, L"varVdash"}, {0x2305, L"varbarwedge"}, {0x3d0, L"varbeta"}, {0x2667, L"varclubsuit"}, {0x2666, L"vardiamondsuit"}, {0x2306, L"vardoublebarwedge"}, {0x3b5, L"varepsilon"}, {0x2665, L"varheartsuit"}, {0x2b21, L"varhexagon"}, {0x2b22, L"varhexagonblack"}, {0x232c, L"varhexagonlrbonds"}, {0x2208, L"varin"}, {0x22f6, L"varisinobar"}, {0x22f3, L"varisins"}, {0x3f0, L"varkappa"}, {0x22bf, L"varlrtriangle"}, {0x220b, L"varni"}, {0x22fd, L"varniobar"}, {0x22fb, L"varnis"}, {0x2205, L"varnothing"}, {0x2232, L"varointclockwise"}, {0x3c6, L"varphi"}, {0x3d6, L"varpi"}, {0x221d, L"varpropto"}, {0x3f1, L"varrho"}, {0x23d0, L"varrowextender"}, {0x3c2, L"varsigma"}, {0x2664, L"varspadesuit"}, {0x2736, L"varstar"}, {0x3d1, L"vartheta"}, {0x25b5, L"vartriangle"}, {0x22b2, L"vartriangleleft"}, {0x22b3, L"vartriangleright"}, {0x2a61, L"varveebar"}, {0x23aa, L"vbraceextender"}, {0x29d0, L"vbrtri"}, {0x22a2, L"vdash"}, {0x22ee, L"vdots"}, {0x2a2f, L"vectimes"}, {0x2228, L"vee"}, {0x22bb, L"veebar"}, {0x27c7, L"veedot"}, {0x2a63, L"veedoublebar"}, {0x225a, L"veeeq"}, {0x2a5b, L"veemidvert"}, {0x2a52, L"veeodot"}, {0x2a56, L"veeonvee"}, {0x2a59, L"veeonwedge"}, {0x7c, L"vert"}, {0x2317, L"viewdata"}, {0x27dd, L"vlongdash"}, {0x25af, L"vrectangle"}, {0x25ae, L"vrectangleblack"}, {0x2b1d, L"vysmlblksquare"}, {0x2b1e, L"vysmlwhtsquare"}, {0x299a, L"vzigzag"}, {0x231a, L"watchicon"}, {0x2227, L"wedge"}, {0x2a5f, L"wedgebar"}, {0x27d1, L"wedgedot"}, {0x2a60, L"wedgedoublebar"}, {0x2a5a, L"wedgemidvert"}, {0x2a51, L"wedgeodot"}, {0x2a55, L"wedgeonwedge"}, {0x2259, L"wedgeq"}, {0x21ea, L"whitearrowupfrombar"}, {0x27c1, L"whiteinwhitetriangle"}, {0x25c5, L"whitepointerleft"}, {0x25bb, L"whitepointerright"}, {0x27e4, L"whitesquaretickleft"}, {0x27e5, L"whitesquaretickright"}, {0x2b2d, L"whthorzoval"}, {0x2b2f, L"whtvertoval"}, {0x29a6, L"wideangledown"}, {0x29a7, L"wideangleup"}, {0x2118, L"wp"}, {0x2240, L"wr"}, {0x29f9, L"xbsol"}, {0x3be, L"xi"}, {0x29f8, L"xsol"}, {0xa5, L"yen"}, {0x3b6, L"zeta"}, {0x2a20, L"zpipe"}, {0, L""}}; //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/window.cpp0000664000175000017500000002472512142400470015524 0ustar balakinbalakin/*************************************************************************** * window.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/canvas_wnd.h" //----------------------------------------------------------------------------- mglCanvasWnd::mglCanvasWnd() : mglCanvas() { Setup(); LoadFunc=0; FuncPar=0; DrawFunc=0; ClickFunc=0; GG = 0; NumFig = 0; CurFig = -1; } //----------------------------------------------------------------------------- mglCanvasWnd::~mglCanvasWnd() { if(GG) free(GG); } //----------------------------------------------------------------------------- void mglCanvasWnd::SetCurFig(int c) { CurFig=c; if(get(MGL_VECT_FRAME) && c>=0 && c<(long)DrwDat.size() && DrawFunc) GetFrame(c); } //----------------------------------------------------------------------------- void mglCanvasWnd::ResetFrames() { if(GG) free(GG); GG = 0; NumFig = CurFig = 0; mglCanvas::ResetFrames(); } //----------------------------------------------------------------------------- void mglCanvasWnd::SetSize(int w,int h) { if(DrawFunc) ResetFrames(); mglCanvas::SetSize(w,h); // if(Wnd) Wnd->size(w,h); } //----------------------------------------------------------------------------- void mglCanvasWnd::EndFrame() { CurFig = CurFrameId-1; if(!GG) { GG = (unsigned char *)malloc(3*Width*Height); NumFig = 1; CurFig = 0; } else if(CurFig>NumFig-1) { GG = (unsigned char *)realloc(GG,3*(CurFig+1)*Width*Height); NumFig = CurFig+1; } mglCanvas::EndFrame(); memcpy(GG + CurFig*Width*Height*3,G,3*Width*Height); CurFig++; } //----------------------------------------------------------------------------- void mglCanvasWnd::SetFrame(long i) { mglCanvas::SetFrame(i); if(i>=0 && i=CurFrameId) return; if(CurFig>=i) CurFig--; long n = Width*Height*3; if(CurFrameId-i>1) memmove(GG+i*n, GG+i*n+n, n*(CurFrameId-i-1)); mglCanvas::DelFrame(i); } //----------------------------------------------------------------------------- void mglCanvasWnd::SetDrawFunc(int (*draw)(mglBase *gr, void *p), void *par, void (*reload)(void *p)) { ResetFrames(); if(get(MGL_CLF_ON_UPD)) DefaultPlotParam(); setlocale(LC_NUMERIC, "C"); // use frames for quickly redrawing while adding/changing primitives if(mgl_is_frames(this)) NewFrame(); int n = draw ? draw(this,par) : 0; if(n=0) NumFig = n; DrawFunc = draw; FuncPar = par; LoadFunc = reload; if(mgl_is_frames(this)) EndFrame(); setlocale(LC_NUMERIC, ""); } //----------------------------------------------------------------------------- const unsigned char *mglCanvasWnd::GetBits() { const unsigned char *g = mglCanvas::GetBits(); if(GG && NumFig>0 && CurFig=0 && !get(MGL_VECT_FRAME)) g = GG + CurFig*Width*Height*3; return g; } //----------------------------------------------------------------------------- void mglCanvasWnd::ReLoad() { if(LoadFunc) { LoadFunc(FuncPar); // update number of slides ResetFrames(); setlocale(LC_NUMERIC, "C"); // use frames for quickly redrawing while adding/changing primitives if(mgl_is_frames(this)) NewFrame(); int n = DrawFunc ? DrawFunc(this,FuncPar) : 0; if(n=0) NumFig = n; if(mgl_is_frames(this)) EndFrame(); setlocale(LC_NUMERIC, ""); Update(); } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_wnd_toggle_alpha(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->ToggleAlpha(); } void MGL_EXPORT mgl_wnd_toggle_light(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->ToggleLight(); } void MGL_EXPORT mgl_wnd_toggle_zoom(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->ToggleZoom(); } void MGL_EXPORT mgl_wnd_toggle_rotate(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->ToggleRotate(); } void MGL_EXPORT mgl_wnd_toggle_no(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->ToggleNo(); } void MGL_EXPORT mgl_wnd_update(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->Update(); } void MGL_EXPORT mgl_wnd_reload(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->ReLoad(); } void MGL_EXPORT mgl_wnd_adjust(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->Adjust(); } void MGL_EXPORT mgl_wnd_next_frame(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->NextFrame(); } void MGL_EXPORT mgl_wnd_prev_frame(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->PrevFrame(); } void MGL_EXPORT mgl_wnd_animation(HMGL gr) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->Animation(); } void MGL_EXPORT mgl_setup_window(HMGL gr, int clf_upd, int showpos) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->Setup(clf_upd, showpos); } void MGL_EXPORT mgl_set_click_func(HMGL gr, void (*func)(void *p)) { mglCanvasWnd *g = dynamic_cast(gr); if(g) g->ClickFunc = func; } void MGL_EXPORT mgl_get_last_mouse_pos(HMGL gr, mreal *x, mreal *y, mreal *z) { mglCanvasWnd *g = dynamic_cast(gr); mglPoint p; if(g) p=g->GetMousePos(); *x=p.x; *y=p.y; *z=p.z; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_wnd_toggle_alpha_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->ToggleAlpha(); } void MGL_EXPORT mgl_wnd_toggle_light_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->ToggleLight(); } void MGL_EXPORT mgl_wnd_toggle_zoom_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->ToggleZoom(); } void MGL_EXPORT mgl_wnd_toggle_rotate_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->ToggleRotate(); } void MGL_EXPORT mgl_wnd_toggle_no_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->ToggleNo(); } void MGL_EXPORT mgl_wnd_update_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->Update(); } void MGL_EXPORT mgl_wnd_reload_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->ReLoad(); } void MGL_EXPORT mgl_wnd_adjust_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->Adjust(); } void MGL_EXPORT mgl_wnd_next_frame_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->NextFrame(); } void MGL_EXPORT mgl_wnd_prev_frame_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->PrevFrame(); } void MGL_EXPORT mgl_wnd_animation_(uintptr_t *gr) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->Animation(); } void MGL_EXPORT mgl_setup_window_(uintptr_t *gr, int *clf_upd, int *showpos) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); if(g) g->Setup(*clf_upd, *showpos); } void MGL_EXPORT mgl_get_last_mouse_pos_(uintptr_t *gr, mreal *x, mreal *y, mreal *z) { mglCanvasWnd *g = dynamic_cast((HMGL)(*gr)); mglPoint p; if(g) p=g->GetMousePos(); *x=p.x; *y=p.y; *z=p.z; } //----------------------------------------------------------------------------- // // mglDraw class handling // //----------------------------------------------------------------------------- /*int mgl_draw_class(HMGL gr, void *p) // so stupid way to save mglDraw class inheritance :( { mglGraph g(gr); mglWindow *w = (mglWindow *)p; return (w && w->dr) ? w->dr->Draw(&g) : 0; } void MGL_EXPORT mgl_reload_class(void *p) // so stupid way to save mglDraw class inheritance :( { mglWindow *w = (mglWindow *)p; if(w && w->dr) w->dr->Reload();} void MGL_EXPORT mgl_click_class(void *p) // so stupid way to save mglDraw class inheritance :( { mglWindow *w = (mglWindow *)p; if(w && w->dr) w->dr->Click(); }*/ int MGL_EXPORT mgl_draw_class(HMGL gr, void *p) { mglGraph g(gr); mglDraw *dr = (mglDraw *)p; return dr->Draw(&g); } void MGL_EXPORT mgl_reload_class(void *p) { mglDraw *dr = (mglDraw *)p; dr->Reload(); } void MGL_EXPORT mgl_click_class(void *p) { mglDraw *dr = (mglDraw *)p; dr->Click(); } //----------------------------------------------------------------------------- typedef int (*draw_func)(mglGraph *gr); int MGL_EXPORT mgl_draw_graph(HMGL gr, void *p) { mglGraph g(gr); draw_func func = (draw_func)(p); return func ? func(&g) : 0; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_draw_calc(void *p) { #if MGL_HAVE_PTHREAD ((mglDraw *)p)->Calc(); #endif return 0; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_draw_thr(void *p) { #if MGL_HAVE_PTHREAD mglDraw *d = (mglDraw *)p; if(!d || d->running) return; pthread_create(&(d->thr),0,mgl_draw_calc,d); pthread_detach(d->thr); #endif } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/data.cpp0000664000175000017500000017715512142400470015134 0ustar balakinbalakin/*************************************************************************** * data.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/data.h" #include "mgl2/eval.h" MGL_EXPORT int mglNumThr=0; void mglFillP(long x,long y, const mreal *a,long nx,long ny,mreal _p[4][4]); void mglFillP(long x, const mreal *a,long nx,mreal _p[4]); void mglFillP5(long x,long y, const mreal *a,long nx,long ny,mreal _p[6][6]); void mglFillP5(long x, const mreal *a,long nx,mreal _p[6]); //----------------------------------------------------------------------------- #if MGL_HAVE_PTHREAD #ifdef WIN32 #include #include #elif defined(__APPLE__) || defined (__FreeBSD__) #include #elif defined(unix) || defined(__unix) || defined(__unix__) #include #endif void MGL_EXPORT mgl_set_num_thr(int n) { #ifdef WIN32 SYSTEM_INFO systemInfo; GetSystemInfo(&systemInfo); mglNumThr = n>0 ? n : systemInfo.dwNumberOfProcessors; #elif defined (__APPLE__) || defined(__FreeBSD__) int numProcessors = 1; size_t size = sizeof(numProcessors); sysctlbyname("hw.ncpu", &numProcessors, &size, NULL, 0); mglNumThr = n>0 ? n : numProcessors; #else mglNumThr = n>0 ? n : get_nprocs_conf(); #endif } #else void MGL_EXPORT mgl_set_num_thr(int) { mglNumThr = 1; } #endif //----------------------------------------------------------------------------- void MGL_EXPORT mglStartThread(void *(*func)(void *), void (*post)(mglThreadD *,mreal *), long n, mreal *a, const mreal *b, const mreal *c, const long *p, const void *v, const mreal *d, const mreal *e, const char *s) { if(!func) return; #if MGL_HAVE_PTHREAD if(mglNumThr<1) mgl_set_num_thr(0); if(mglNumThr>1) { pthread_t *tmp=new pthread_t[mglNumThr]; mglThreadD *par=new mglThreadD[mglNumThr]; register long i; for(i=0;i1) { pthread_t *tmp=new pthread_t[mglNumThr]; mglThreadV *par=new mglThreadV[mglNumThr]; register long i; for(i=0;ip[0]; mreal *b=t->a, delta=t->c[0], y5,y3,x2y; const mreal *a=t->b; for(i=t->id;in;i+=mglNumThr) { j = i%nx; d3 = d5 = 0; if(j==0) { d3 = 1; d5 = 2; } if(j==1) { d5 = 1; } if(j==nx-1) { d3 = -1; d5 = -2;} if(j==nx-2) { d5 = -1;} y3 = (a[i+d3-1] + a[i+d3] + a[i+d3+1]); y5 = (a[i+d5-2] + a[i+d5-1] + a[i+d5] + a[i+d5+1] + a[i+d5+2]); x2y= (a[i+d5+1] + 4*a[i+d5+2] + 4*a[i+d5-2] + a[i+d5-1]); j = t->p[2]; if(d3) b[i] = a[i]; else if(j==SMOOTH_LINE_3 || d5) b[i] = y3/3.; else if(j==SMOOTH_LINE_5) b[i] = y5/5.; else if(j==SMOOTH_QUAD_5) b[i] = (17*y5-5*x2y)/35.; if(delta>0) b[i] = mgl_max(a[i]-delta,mgl_min(a[i]+delta,b[i])); } return 0; } MGL_NO_EXPORT void *mgl_smth_y(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,d3,d5, nx=t->p[0],ny=t->p[1]; mreal *b=t->a, delta=t->c[0], y5,y3,x2y; const mreal *a=t->b; for(i=t->id;in;i+=mglNumThr) { j = (i/nx)%ny; d3 = d5 = 0; if(j==0) { d3 = 1; d5 = 2; } if(j==1) { d5 = 1; } if(j==ny-1) { d3 = -1; d5 = -2;} if(j==ny-2) { d5 = -1;} y3 = (a[i+nx*(d3-1)] + a[i+nx*d3] + a[i+nx*(d3+1)]); y5 = (a[i+nx*(d5-2)] + a[i+nx*(d5-1)] + a[i+nx*d5] + a[i+nx*(d5+1)] + a[i+nx*(d5+2)]); x2y= (a[i+nx*(d5+1)] + 4*a[i+nx*(d5+2)] + 4*a[i+nx*(d5-2)] + a[i+nx*(d5-1)]); j = t->p[2]; if(d3) b[i] = a[i]; else if(j==SMOOTH_LINE_3 || d5) b[i] = y3/3.; else if(j==SMOOTH_LINE_5) b[i] = y5/5.; else if(j==SMOOTH_QUAD_5) b[i] = (17*y5-5*x2y)/35.; if(delta>0) b[i] = mgl_max(a[i]-delta,mgl_min(a[i]+delta,b[i])); } return 0; } MGL_NO_EXPORT void *mgl_smth_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,d3,d5, nn=t->p[0]*t->p[1], nz=t->n/nn; mreal *b=t->a, delta=t->c[0], y5,y3,x2y; const mreal *a=t->b; for(i=t->id;in;i+=mglNumThr) { j = i/nn; d3 = d5 = 0; if(j==0) { d3 = 1; d5 = 2; } if(j==1) { d5 = 1; } if(j==nz-1) { d3 = -1; d5 = -2;} if(j==nz-2) { d5 = -1;} y3 = (a[i+nn*(d3-1)] + a[i+nn*d3] + a[i+nn*(d3+1)]); y5 = (a[i+nn*(d5-2)] + a[i+nn*(d5-1)] + a[i+nn*d5] + a[i+nn*(d5+1)] + a[i+nn*(d5+2)]); x2y= (a[i+nn*(d5+1)] + 4*a[i+nn*(d5+2)] + 4*a[i+nn*(d5-2)] + a[i+nn*(d5-1)]); j = t->p[2]; if(d3) b[i] = a[i]; else if(j==SMOOTH_LINE_3 || d5) b[i] = y3/3.; else if(j==SMOOTH_LINE_5) b[i] = y5/5.; else if(j==SMOOTH_QUAD_5) b[i] = (17*y5-5*x2y)/35.; if(delta>0) b[i] = mgl_max(a[i]-delta,mgl_min(a[i]+delta,b[i])); } return 0; } void MGL_EXPORT mgl_data_smooth(HMDT d, const char *dirs, mreal delta) { long Type = SMOOTH_QUAD_5; if(!dirs || *dirs==0) dirs = "xyz"; if(strchr(dirs,'0') || strchr(dirs,'1')) return; if(strchr(dirs,'3')) Type = SMOOTH_LINE_3; if(strchr(dirs,'5')) Type = SMOOTH_LINE_5; long nx=d->nx,ny=d->ny,nz=d->nz; // if(Type == SMOOTH_NONE) return; long p[3]={nx,ny,Type}; mreal *b = new mreal[nx*ny*nz],dd=delta; // ����������� �� x memset(b,0,nx*ny*nz*sizeof(mreal)); if(nx>4 && strchr(dirs,'x')) { mglStartThread(mgl_smth_x,0,nx*ny*nz,b,d->a,&dd,p); memcpy(d->a,b,nx*ny*nz*sizeof(mreal)); memset(b,0,nx*ny*nz*sizeof(mreal)); } if(ny>4 && strchr(dirs,'y')) { mglStartThread(mgl_smth_y,0,nx*ny*nz,b,d->a,&dd,p); memcpy(d->a,b,nx*ny*nz*sizeof(mreal)); memset(b,0,nx*ny*nz*sizeof(mreal)); } if(nz>4 && strchr(dirs,'z')) { mglStartThread(mgl_smth_z,0,nx*ny*nz,b,d->a,&dd,p); memcpy(d->a,b,nx*ny*nz*sizeof(mreal)); } delete []b; } void MGL_EXPORT mgl_data_smooth_(uintptr_t *d, const char *dir, mreal *delta,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_smooth(_DT_,s,*delta); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_csum_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j, nz=t->p[2], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;ip[0], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;inx,ny=d->ny,nz=d->nz,nn=nx*ny*nz; long p[3]={nx,ny,nz}; mreal *b = new mreal[nn]; memcpy(b,d->a,nn*sizeof(mreal)); if(strchr(dir,'z') && nz>1) { mglStartThread(mgl_csum_z,0,nx*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } if(strchr(dir,'y') && ny>1) { mglStartThread(mgl_csum_y,0,nx*nz,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } if(strchr(dir,'x') && nx>1) { mglStartThread(mgl_csum_x,0,nz*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } delete []b; } void MGL_EXPORT mgl_data_cumsum_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_cumsum(_DT_,s); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_int_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j, nz=t->p[2], nn=t->n; mreal *b=t->a, dd=0.5/nz; const mreal *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; mreal *b=t->a, dd=0.5/ny; const mreal *a=t->b; for(i=t->id;ip[0], nn=t->n; mreal *b=t->a, dd=0.5/nx; const mreal *a=t->b; for(i=t->id;inx,ny=d->ny,nz=d->nz,nn=nx*ny*nz; long p[3]={nx,ny,nz}; mreal *b = new mreal[nn]; memcpy(b,d->a,nn*sizeof(mreal)); if(strchr(dir,'z') && nz>1) { mglStartThread(mgl_int_z,0,nx*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } if(strchr(dir,'y') && ny>1) { mglStartThread(mgl_int_y,0,nx*nz,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } if(strchr(dir,'x') && nx>1) { mglStartThread(mgl_int_x,0,nz*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } delete []b; } void MGL_EXPORT mgl_data_integral_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_integral(_DT_,s); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_dif_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j, nz=t->p[2], nn=t->n; mreal *b=t->a, dd=0.5*nz; const mreal *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; mreal *b=t->a, dd=0.5*ny; const mreal *a=t->b; for(i=t->id;ip[0], nn=t->n; mreal *b=t->a, dd=0.5*nx; const mreal *a=t->b; for(i=t->id;inx,ny=d->ny,nz=d->nz,nn=nx*ny*nz; long p[3]={nx,ny,nz}; mreal *b = new mreal[nn]; if(strchr(dir,'z') && nz>1) { mglStartThread(mgl_dif_z,0,nx*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } if(strchr(dir,'y') && ny>1) { mglStartThread(mgl_dif_y,0,nx*nz,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } if(strchr(dir,'x') && nx>1) { mglStartThread(mgl_dif_x,0,nz*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } delete []b; } void MGL_EXPORT mgl_data_diff_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_diff(_DT_,s); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_dif2_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j, nz=t->p[2], nn=t->n; mreal *b=t->a, dd=0.5*nz*nz; const mreal *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; mreal *b=t->a, dd=0.5*ny*ny; const mreal *a=t->b; for(i=t->id;ip[0], nn=t->n; mreal *b=t->a, dd=0.5*nx*nx; const mreal *a=t->b; for(i=t->id;inx,ny=d->ny,nz=d->nz,nn=nx*ny*nz; long p[3]={nx,ny,nz}; mreal *b = new mreal[nn]; if(strchr(dir,'z') && nz>1) { mglStartThread(mgl_dif2_z,0,nx*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } if(strchr(dir,'y') && ny>1) { mglStartThread(mgl_dif2_y,0,nx*nz,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } if(strchr(dir,'x') && nx>1) { mglStartThread(mgl_dif2_x,0,nz*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(mreal)); } delete []b; } void MGL_EXPORT mgl_data_diff2_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_diff2(_DT_,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_swap(HMDT d, const char *dir) { if(!dir || *dir==0) return; if(strchr(dir,'z') && d->nz>1) mgl_data_roll(d,'z',d->nz/2); if(strchr(dir,'y') && d->ny>1) mgl_data_roll(d,'y',d->ny/2); if(strchr(dir,'x') && d->nx>1) mgl_data_roll(d,'x',d->nx/2); } void MGL_EXPORT mgl_data_swap_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_swap(_DT_,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_roll(HMDT dd, char dir, long num) { long nx=dd->nx,ny=dd->ny,nz=dd->nz; register long i,d; mreal *b,*a=dd->a; if(dir=='z' && nz>1) { d = num>0 ? num%nz : (num+nz*(1+num/nz))%nz; if(d==0) return; // nothing to do b = new mreal[nx*ny*nz]; memcpy(b,a+nx*ny*d,nx*ny*(nz-d)*sizeof(mreal)); memcpy(b+nx*ny*(nz-d),a,nx*ny*d*sizeof(mreal)); memcpy(a,b,nx*ny*nz*sizeof(mreal)); delete []b; } if(dir=='y' && ny>1) { d = num>0 ? num%ny : (num+ny*(1+num/ny))%ny; if(d==0) return; // nothing to do b = new mreal[nx*ny*nz]; memcpy(b,a+nx*d,(nx*ny*nz-nx*d)*sizeof(mreal)); for(i=0;i1) { d = num>0 ? num%nx : (num+nx*(1+num/nx))%nx; if(d==0) return; // nothing to do b = new mreal[nx*ny*nz]; memcpy(b,a+d,(nx*ny*nz-d)*sizeof(mreal)); for(i=0;inx,ny=d->ny,nz=d->nz; register long i,j,k,i0,j0; mreal b, *a=d->a; if(strchr(dir,'z') && nz>1) { for(j=0;j1) { for(k=0;k1) { for(j=0;jd->nx) return; register long i,j,k,n=d->nx,m=d->ny; mreal *b = new mreal[m*n], *a=d->a; for(i=j=0;i+1ny = j; delete []b; } void MGL_EXPORT mgl_data_clean_(uintptr_t *d, int *id) { mgl_data_clean(_DT_,*id); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_solve_x(void *par) { mglThreadD *t=(mglThreadD *)par; register long l,i,i0,j,k, nx=t->p[0], ny=t->p[1], nz=t->p[2], n1=t->p[3]?nx-1:1, nn=t->n; const mreal *a=t->b, *ii=t->c; mreal *b=t->a,x,val=t->d[0],y1,y2,v,v0,dx,dy,dz,da = 1e-5*(val?fabs(val):1); for(l=t->id;lnx-2) continue; if(a) for(i=i0+1;ida || dx==0) { x += (val-v)/dx; kk++; v = mglSpline3(a,nx,ny,nz,x,j,k, &dx,&dy,&dz); if(kk>=10) { b[l] = x = fabs(v-val)v; y1=d->v(i-1,j,k); y2=d->v(i,j,k); if(val==y1) { b[l] = i-1; break; } if(val==y2) { b[l] = i; break; } if((y1-val)*(y2-val)<0) { b[l] = i-1 + (val-y1)/(y2-y1); break; } } b[l] /= n1; } return 0; } MGL_NO_EXPORT void *mgl_solve_y(void *par) { mglThreadD *t=(mglThreadD *)par; register long l,i,i0,j,k, nx=t->p[0], ny=t->p[1], nz=t->p[2], n1=t->p[3]?ny-1:1, nn=t->n; const mreal *a=t->b, *ii=t->c; mreal *b=t->a,x,val=t->d[0],y1,y2,v,v0,dx,dy,dz,da = 1e-5*(val?fabs(val):1); for(l=t->id;lny-2) continue; if(a) for(i=i0+1;ida || dy==0) { x += (val-v)/dy; kk++; v = mglSpline3(a,nx,ny,nz,j,x,k, &dx,&dy,&dz); if(kk>=10) { b[l] = x = fabs(v-val)v; y1=d->v(j,i-1,k); y2=d->v(j,i,k); if(val==y1) { b[l] = i-1; break; } if(val==y2) { b[l] = i; break; } if((y1-val)*(y2-val)<0) { b[l] = i-1 + (val-y1)/(y2-y1); break; } } b[l] /= n1; } return 0; } MGL_NO_EXPORT void *mgl_solve_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long l,i,i0,j,k, nx=t->p[0], ny=t->p[1], nz=t->p[2], n1=t->p[3]?nz-1:1, nn=t->n; const mreal *a=t->b, *ii=t->c; mreal *b=t->a,x,val=t->d[0],y1,y2,v,v0,dx,dy,dz,da = 1e-5*(val?fabs(val):1); for(l=t->id;lnz-2) continue; if(a) for(i=i0+1;ida || dz==0) { x += (val-v)/dz; kk++; v = mglSpline3(a,nx,ny,nz,j,k,x, &dx,&dy,&dz); if(kk>=10) { b[l] = x = fabs(v-val)v; y1=d->v(j,k,i-1); y2=d->v(j,k,i); if(val==y1) { b[l] = i-1; break; } if(val==y2) { b[l] = i; break; } if((y1-val)*(y2-val)<0) { b[l] = i-1 + (val-y1)/(y2-y1); break; } } b[l] /= n1; } return 0; } HMDT MGL_EXPORT mgl_data_solve(HCDT dat, mreal val, char dir, HCDT i0, int norm) { const mglData *i = dynamic_cast(i0); const mglData *d = dynamic_cast(dat); long p[4]={dat->GetNx(), dat->GetNy(), dat->GetNz(), norm}; const mreal *ii=0; mglData *r=new mglData; if(dir=='x' && p[0]>1) { r->Create(p[1],p[2]); if(i && i->nx*i->ny==p[1]*p[2]) ii = i->a; mglStartThread(mgl_solve_x,0,p[1]*p[2],r->a,d?d->a:0,ii,p,dat,&val); } if(dir=='y' && p[1]>1) { r->Create(p[0],p[2]); if(i && i->nx*i->ny==p[0]*p[2]) ii = i->a; mglStartThread(mgl_solve_y,0,p[0]*p[2],r->a,d?d->a:0,ii,p,dat,&val); } if(dir=='z' && p[2]>1) { r->Create(p[0],p[1]); if(i && i->nx*i->ny==p[0]*p[1]) ii = i->a; mglStartThread(mgl_solve_z,0,p[0]*p[1],r->a,d?d->a:0,ii,p,dat,&val); } return r; } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_solve_1d(HCDT d, mreal val, int spl, long i0) { mreal x=0, y1, y2, a, a0, dx=0,dy,dz, da = 1e-5*(val?fabs(val):1); long nx = d->GetNx(); if(i0<0 || i0>=nx) i0=0; const mglData *dd=dynamic_cast(d); if(dd) for(long i=i0+1;ia[i-1]; y2=dd->a[i]; if(val==y1) return i-1; if(val==y2) return i; if((y1-val)*(y2-val)<0) { x = i-1 + (val-y1)/(y2-y1); a0 = a = mgl_data_spline_ext(d, x,0,0, &dx,&dy,&dz); unsigned k=0; if(spl) while(fabs(a-val)>da || dx==0) { x += (val-a)/dx; k++; a = mgl_data_spline_ext(d, x,0,0, &dx,&dy,&dz); if(k>=10) return fabs(a-val)v(i-1); y2=d->v(i); if(val==y1) return i-1; if(val==y2) return i; if((y1-val)*(y2-val)<0) return i-1 + (val-y1)/(y2-y1); } return NAN; } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_linear_ext(HCDT d, mreal x,mreal y,mreal z, mreal *dx,mreal *dy,mreal *dz) { long kx=long(x), ky=long(y), kz=long(z); mreal b0,b1; bool dif = (dx && dy && dz); const mglData *dd=dynamic_cast(d); if(dd) { long nx=dd->nx, ny=dd->ny, nz=dd->nz, dn=ny>1?nx:0; kx = kx=0 ? kx:0; ky = ky=0 ? ky:0; kz = kz=0 ? kz:0; x -= kx; if(nx==1) x=0; y -= ky; if(ny==1) y=0; z -= kz; if(nz==1) z=0; const mreal *aa=dd->a+kx+nx*(ky+ny*kz), *bb = aa+(nz>1?nx*ny:0); b0 = x||y ? aa[0]*(1-x-y+x*y) + x*(1-y)*aa[1] + y*(1-x)*aa[dn] + x*y*aa[1+dn] : aa[0]; b1 = x||y ? bb[0]*(1-x-y+x*y) + x*(1-y)*bb[1] + y*(1-x)*bb[dn] + x*y*bb[1+dn] : bb[0]; if(dif) { *dx = aa[1]-aa[0]; *dy = aa[dn]-aa[0]; *dz = bb[0]-aa[0]; } } else { long n=d->GetNx(), ny=d->GetNy(), nz=d->GetNz(); kx = (kx>=0 ? (kx=0 ? (ky=0 ? (kzv(kx,ky,kz), a1 = d->v(kx+1,ky,kz), a2 = d->v(kx,ky+1,kz); if(dif) { *dx = a1-a0; *dy = a2-a0; *dz = -a0; } if(x||y) b0 = a0*(1-x-y+x*y) + x*(1-y)*a1 + y*(1-x)*a2 + x*y*d->v(kx+1,ky+1,kz); else b0 = a0; kz++; a0 = d->v(kx,ky,kz); a1 = d->v(kx+1,ky,kz); a2 = d->v(kx,ky+1,kz); if(dif) *dz += a0; if(x||y) b1 = a0*(1-x-y+x*y) + x*(1-y)*a1 + y*(1-x)*a2 + x*y*d->v(kx+1,ky+1,kz); else b1 = a0; } return b0 + z*(b1-b0); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_linear(HCDT d, mreal x,mreal y,mreal z) { return mgl_data_linear_ext(d, x,y,z, 0,0,0); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_spline(HCDT d, mreal x,mreal y,mreal z) { const mglData *dd=dynamic_cast(d); if(!d) return 0; // NOTE: don't support general arrays return mglSpline3(dd->a,dd->nx,dd->ny,dd->nz,x,y,z,0,0,0); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_spline_ext(HCDT d, mreal x,mreal y,mreal z, mreal *dx,mreal *dy,mreal *dz) { const mglData *dd=dynamic_cast(d); if(!d) return 0; // NOTE: don't support general arrays return mglSpline3(dd->a,dd->nx,dd->ny,dd->nz,x,y,z,dx,dy,dz); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_spline_(uintptr_t *d, mreal *x,mreal *y,mreal *z) { return mgl_data_spline(_DA_(d),*x,*y,*z); } mreal MGL_EXPORT mgl_data_linear_(uintptr_t *d, mreal *x,mreal *y,mreal *z) { return mgl_data_linear(_DA_(d),*x,*y,*z); } mreal MGL_EXPORT mgl_data_spline_ext_(uintptr_t *d, mreal *x,mreal *y,mreal *z, mreal *dx,mreal *dy,mreal *dz) { return mgl_data_spline_ext(_DA_(d),*x,*y,*z,dx,dy,dz); } mreal MGL_EXPORT mgl_data_linear_ext_(uintptr_t *d, mreal *x,mreal *y,mreal *z, mreal *dx,mreal *dy,mreal *dz) { return mgl_data_linear_ext(_DA_(d),*x,*y,*z,dx,dy,dz); } mreal MGL_EXPORT mgl_data_solve_1d_(uintptr_t *d, mreal *val, int *spl, int *i0) { return mgl_data_solve_1d(_DA_(d),*val, *spl, *i0); } uintptr_t MGL_EXPORT mgl_data_solve_(uintptr_t *d, mreal *val, const char *dir, uintptr_t *i0, int *norm,int) { return uintptr_t(mgl_data_solve(_DA_(d),*val, *dir, _DA_(i0), *norm)); } //----------------------------------------------------------------------------- mreal mglSpline3(const mreal *a, long nx, long ny, long nz, mreal x, mreal y, mreal z,mreal *dx, mreal *dy, mreal *dz) { if(!a || nx<1 || ny<1 || nz<1) return 0; mreal _p[4][4]; register long i,j; register mreal fx=1, fy=1; long kx=long(x),ky=long(y),kz=long(z); bool dd = (dx && dy && dz); mreal b=0; x = x>0 ?(x0 ?(y0 ?(znx-1 || y>ny-1 || z>nz-1) return 0; if(dd) { *dx=*dy=*dz=0; } if(kx>nx-2) kx = nx-2; if(kx<0) kx = 0; if(ky>ny-2) ky = ny-2; if(ky<0) ky = 0; if(kz>nz-2) kz = nz-2; if(kz<0) kz = 0; if(nz>1 && z!=kz) // 3d interpolation { mreal b1[4]={0,0,0,0}, x1[4]={0,0,0,0}, y1[4]={0,0,0,0}; long kk=1; if(kz==0) { kk=0; } else if(nz>3 && kz==nz-2) { kk=2; } for(long k=0;k<4;k++) { if(kz+k-kk=0) mglFillP(kx, ky, a+(kz+k-kk)*nx*ny, nx, ny, _p); else { memset(_p[0],0,4*sizeof(mreal)); memset(_p[1],0,4*sizeof(mreal)); memset(_p[2],0,4*sizeof(mreal)); memset(_p[3],0,4*sizeof(mreal)); } for(i=0,fx=1;i<4;i++) { for(j=0,fy=1;j<4;j++) { b1[k] += fy*fx*_p[i][j]; x1[k] += i*fy*fx*_p[i][j]; y1[k] += j*fy*fx*_p[i][j]; fy *= y-ky; } fx *= x-kx; } } mglFillP(kk, b1, nz>3 ? 4:3, _p[0]); mglFillP(kk, x1, nz>3 ? 4:3, _p[1]); mglFillP(kk, y1, nz>3 ? 4:3, _p[2]); for(i=0,fx=1,b=0;i<4;i++) { b += fx*_p[0][i]; if(dd) { *dx += fx*_p[1][i]; *dy += fx*_p[2][i]; *dz += i*fx*_p[0][i]; } fx *= z-kz; } } else if(ny>1 && y!=ky) // 2d interpolation { mglFillP(kx, ky, a+kz*nx*ny, nx, ny, _p); fx = 1; b = 0; for(i=0;i<4;i++) { fy = 1; for(j=0;j<4;j++) { b += fy*fx*_p[i][j]; if(dd) { *dx+= i*fy*fx*_p[i][j]; *dy+= j*fy*fx*_p[i][j]; } fy *= y-ky; } fx *= x-kx; } if(dd) { *dx /= x-kx; *dy /= y-ky; } } else if(nx>1 && x!=kx) // 1d interpolation { mglFillP(kx, a+(ky+ny*kz)*nx, nx, _p[0]); for(i=0,fx=1,b=0;i<4;i++) { b += fx*_p[0][i]; if(dd) *dx+= i*fx*_p[0][i]; fx *= x-kx; } if(dd) *dx /= x-kx; } else // no interpolation b = a[kx+nx*(ky+ny*kz)]; return b; } //----------------------------------------------------------------------------- void mglFillP(long x,long y, const mreal *a,long nx,long ny,mreal _p[4][4]) { mreal sx[4]={0,0,0,0},sy[4]={0,0,0,0},f[4]={0,0,0,0},d[4]={0,0,0,0}; if(x<0 || y<0 || x>nx-2 || y>ny-2) { memset(_p[0],0,4*sizeof(mreal)); memset(_p[1],0,4*sizeof(mreal)); memset(_p[2],0,4*sizeof(mreal)); memset(_p[3],0,4*sizeof(mreal)); return; } // �������� ������� f[0]=a[x+nx*y]; f[1]=a[x+nx*(y+1)]; if(nx>1) { f[2]=a[x+1+nx*y]; f[3]=a[x+1+nx*(y+1)]; } else { f[2] = f[0]; f[3] = f[1]; } // ����������� �� x if(nx>1) { if(x==0) { sx[0]=a[x+1+y*nx]-a[x+nx*y]; sx[1]=a[x+1+nx*(y+1)]-a[x+nx*(y+1)]; } else { sx[0]=(a[x+1+nx*y]-a[x-1+nx*y])/2; sx[1]=(a[x+1+nx*(y+1)]-a[x-1+nx*(y+1)])/2; } } if(x==nx-2) { sx[2]=a[x+1+nx*y]-a[x+nx*y]; sx[3]=a[x+1+nx*(y+1)]-a[x+nx*(y+1)]; } else { sx[2]=(a[x+2+nx*y]-a[x+nx*y])/2; sx[3]=(a[x+2+nx*(y+1)]-a[x+nx*(y+1)])/2; } // ����������� �� y if(y==0) { sy[0]=a[x+nx*(y+1)]-a[x+nx*y]; sy[2]=a[x+1+nx*(y+1)]-a[x+1+nx*y]; } else { sy[0]=(a[x+nx*(y+1)]-a[x+nx*(y-1)])/2; sy[2]=(a[x+1+nx*(y+1)]-a[x+1+nx*(y-1)])/2; } if(y==ny-2) { sy[1]=a[x+nx*(y+1)]-a[x+nx*y]; sy[3]=a[x+1+nx*(y+1)]-a[x+1+nx*y]; } else { sy[1]=(a[x+nx*(y+2)]-a[x+nx*y])/2; sy[3]=(a[x+1+nx*(y+2)]-a[x+1+nx*y])/2; } // ������������ ����������� if(nx>1) { // ������ d[0] if(y==0 && x==0) d[0]=(a[x+1+nx*(y+1)]-a[x+nx*(y+1)]-a[x+1+nx*y]+a[x+nx*y]); else if(y==0) d[0]=(a[x+1+nx*(y+1)]-a[x-1+nx*(y+1)]-a[x+1+nx*y]+a[x-1+nx*y])/2; else if(x==0) d[0]=(a[x+1+nx*(y+1)]-a[x+nx*(y+1)]-a[x+1+nx*(y-1)]+a[x+nx*(y-1)])/2; else d[0]=(a[x+1+nx*(y+1)]-a[x-1+nx*(y+1)]-a[x+1+nx*(y-1)]+a[x-1+nx*(y-1)])/4; // ������ d[1] if(y==ny-2 && x==0) d[1]=(a[x+1+nx*(y+1)]-a[x+nx*(y+1)]-a[x+1+nx*y]+a[x+nx*y]); else if(y==ny-2) d[1]=(a[x+1+nx*(y+1)]-a[x-1+nx*(y+1)]-a[x+1+nx*y]+a[x-1+nx*y])/2; else if(x==0) d[1]=(a[x+1+nx*(y+2)]-a[x+nx*(y+2)]-a[x+1+nx*y]+a[x+nx*y])/2; else d[1]=(a[x+1+nx*(y+2)]-a[x-1+nx*(y+2)]-a[x+1+nx*y]+a[x-1+nx*y])/4; // ������ d[2] if(y==0 && x==nx-2) d[2]=(a[x+1+nx*(y+1)]-a[x+nx*(y+1)]-a[x+1+nx*y]+a[x+nx*y]); else if(y==0) d[2]=(a[x+2+nx*(y+1)]-a[x+nx*(y+1)]-a[x+2+nx*y]+a[x+nx*y])/2; else if(x==nx-2) d[2]=(a[x+1+nx*(y+1)]-a[x+nx*(y+1)]-a[x+1+nx*(y-1)]+a[x+nx*(y-1)])/2; else d[2]=(a[x+2+nx*(y+1)]-a[x+nx*(y+1)]-a[x+2+nx*(y-1)]+a[x+nx*(y-1)])/4; // ������ d[3] if(y==ny-2 && x==nx-2) d[3]=(a[x+1+nx*(y+1)]-a[x+nx*(y+1)]-a[x+1+nx*y]+a[x+nx*y]); else if(y==ny-2) d[3]=(a[x+2+nx*(y+1)]-a[x+nx*(y+1)]-a[x+2+nx*y]+a[x+nx*y])/2; else if(x==nx-2) d[3]=(a[x+1+nx*(y+2)]-a[x+nx*(y+2)]-a[x+1+nx*y]+a[x+nx*y])/2; else d[3]=(a[x+2+nx*(y+2)]-a[x+nx*(y+2)]-a[x+2+nx*y]+a[x+nx*y])/4; } // ��������� ������������ �������� _p[0][0]=f[0]; _p[1][0]=sx[0]; _p[2][0]=3*(f[2]-f[0])-2*sx[0]-sx[2]; _p[3][0]=sx[0]+sx[2]+2*(f[0]-f[2]); _p[0][1]=sy[0]; _p[1][1]=d[0]; _p[2][1]=3*(sy[2]-sy[0])-2*d[0]-d[2]; _p[3][1]=d[0]+d[2]+2*(sy[0]-sy[2]); _p[0][2]=3*(f[1]-f[0])-2*sy[0]-sy[1]; _p[1][2]=3*(sx[1]-sx[0])-2*d[0]-d[1]; _p[2][2]=9*(f[0]-f[1]-f[2]+f[3])+6*(sy[0]-sy[2]+sx[0]-sx[1])+ 3*(sx[2]-sx[3]+sy[1]-sy[3])+2*(d[1]+d[2])+4*d[0]+d[3]; _p[3][2]=6*(f[1]+f[2]-f[0]-f[3])+3*(sx[1]-sx[0]+sx[3]-sx[2])+ 4*(sy[2]-sy[0])+2*(sy[3]-sy[1]-d[0]-d[2])-d[1]-d[3]; _p[0][3]=2*(f[0]-f[1])+sy[0]+sy[1]; _p[1][3]=2*(sx[0]-sx[1])+d[0]+d[1]; _p[2][3]=6*(f[1]+f[2]-f[0]-f[3])+3*(sy[2]-sy[1]+sy[3]-sy[0])+ 4*(sx[1]-sx[0])+2*(sx[3]-sx[2]-d[0]-d[1])-d[2]-d[3]; _p[3][3]=d[0]+d[1]+d[2]+d[3]+4*(f[0]-f[1]-f[2]+f[3])+ 2*(sx[0]-sx[1]+sx[2]-sx[3]+sy[0]-sy[2]+sy[1]-sy[3]); } //----------------------------------------------------------------------------- void mglFillP(long x, const mreal *a,long nx,mreal _p[4]) { if(x<0 || x>nx-2) { memset(_p,0,4*sizeof(mreal)); return; } mreal s[2],f[2]; // �������� ������� f[0]=a[x]; f[1]=a[x+1]; // ����������� �� x if(x==0) s[0]=a[x+1]-a[x]; else s[0]=(a[x+1]-a[x-1])/2; if(x==nx-2) s[1]=a[x+1]-a[x]; else s[1]=(a[x+2]-a[x])/2; // ��������� ������������ �������� _p[0]=f[0]; _p[1]=s[0]; _p[2]=3*(f[1]-f[0])-2*s[0]-s[1]; _p[3]=s[0]+s[1]+2*(f[0]-f[1]); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_crop(HMDT d, long n1, long n2, char dir) { long nx=d->nx,ny=d->ny,nz=d->nz, nn; register long i,k; mreal *b; if(n1<0) n1=0; switch(dir) { case 'x': n2 = n2>0 ? n2 : nx+n2; if(n2<0 || n2>=nx || n2a+nx*i+n1,nn*sizeof(mreal)); d->nx = nn; if(!d->link) delete []d->a; d->a = b; d->link=false; d->NewId(); break; case 'y': n2 = n2>0 ? n2 : ny+n2; if(n2<0 || n2>=ny || n2a+nx*(n1+k+ny*j),nx*sizeof(mreal)); d->ny = nn; if(!d->link) delete []d->a; d->a = b; d->link=false; break; case 'z': n2 = n2>0 ? n2 : nz+n2; if(n2<0 || n2>=nz || n2a+nx*ny*n1,nn*nx*ny*sizeof(mreal)); d->nz = nn; if(!d->link) delete []d->a; d->a = b; d->link=false; break; } } void MGL_EXPORT mgl_data_crop_(uintptr_t *d, int *n1, int *n2, const char *dir,int) { mgl_data_crop(_DT_,*n1,*n2,*dir); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_last(HCDT d, const char *cond, long *i, long *j, long *k) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); if(!cond) cond = "u"; mglFormula eq(cond); if(*i<0 || *i>=nx) *i=nx; if(*j<0 || *j>=ny) *j=ny-1; if(*k<0 || *k>=nz) *k=nz-1; register long i0 = *i+nx*(*j+ny*(*k))-1; mreal x,y,z,dx=nx>1?1/(nx-1.):0,dy=ny>1?1/(ny-1.):0,dz=nz>1?1/(nz-1.):0; for(;i0>=0;i0--) { x = dx*(i0%nx); y = dy*((i0/nx)%ny); z = dz*(i0/(nx*ny)); if(eq.Calc(x,y,z,d->vthr(i0))) break; } *i = i0%nx; *j = (i0/nx)%ny; *k = i0/(nx*ny); return i0>=0 ? d->vthr(i0) : NAN; // NOTE: Return NAN if false } mreal MGL_EXPORT mgl_data_last_(uintptr_t *d, const char *cond, int *i, int *j, int *k, int l) { long ii=*i,jj=*j,kk=*k; char *s=new char[l+1]; memcpy(s,cond,l); s[l]=0; mreal res = mgl_data_last(_DT_,s,&ii,&jj,&kk); *i=ii; *j=jj; *k=kk; delete []s; return res; } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_first(HCDT d, const char *cond, long *i, long *j, long *k) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); if(!cond) cond = "u"; mglFormula eq(cond); if(*i<0 || *i>=nx) *i=nx; if(*j<0 || *j>=ny) *j=ny-1; if(*k<0 || *k>=nz) *k=nz-1; register long i0 = *i+nx*(*j+ny*(*k))-1; mreal x,y,z,dx=nx>1?1/(nx-1.):0,dy=ny>1?1/(ny-1.):0,dz=nz>1?1/(nz-1.):0; for(;i0vthr(i0))) break; } *i = i0%nx; *j = (i0/nx)%ny; *k = i0/(nx*ny); return i0vthr(i0) : NAN; // NOTE: Return NAN if false } mreal MGL_EXPORT mgl_data_first_(uintptr_t *d, const char *cond, int *i, int *j, int *k, int l) { long ii=*i,jj=*j,kk=*k; char *s=new char[l+1]; memcpy(s,cond,l); s[l]=0; mreal res = mgl_data_first(_DT_,s,&ii,&jj,&kk); *i=ii; *j=jj; *k=kk; delete []s; return res; } //----------------------------------------------------------------------------- long MGL_EXPORT mgl_data_find(HCDT d, const char *cond, char dir, long i, long j, long k) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); register long m=-1; if(!cond) cond = "u"; mglFormula eq(cond); mreal x=i/(nx-1.),y=j/(ny-1.),z=k/(nz-1.); if(dir=='x' && nx>1) for(m=i;mv(m,j,k))) break; if(dir=='y' && ny>1) for(m=j;mv(i,m,k))) break; if(dir=='z' && nz>1) for(m=k;mv(i,j,m))) break; return m; } int MGL_EXPORT mgl_data_find_(uintptr_t *d, const char *cond, char *dir, int *i, int *j, int *k, int l, int) { char *s=new char[l+1]; memcpy(s,cond,l); s[l]=0; int res = mgl_data_find(_DT_,s,*dir,*i,*j,*k); delete []s; return res; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_data_find_any(HCDT d, const char *cond) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); register long i,j,k; register mreal x,y,z; bool cc = false; if(!cond || *cond==0) cond = "u"; mglFormula eq(cond); for(k=0;kv(i,j,k))) { cc = true; break; } } return cc; } int MGL_EXPORT mgl_data_find_any_(uintptr_t *d, const char *cond, int l) { char *s=new char[l+1]; memcpy(s,cond,l); s[l]=0; int res = mgl_data_find_any(_DT_,s); delete []s; return res; } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_momentum_val(HCDT dd, char dir, mreal *x, mreal *w, mreal *s, mreal *k) { long nx=dd->GetNx(),ny=dd->GetNy(),nz=dd->GetNz(); mreal i0=0,i1=0,i2=0,i3=0,i4=0,d,t,v; register long i; const mglData *md = dynamic_cast(dd); if(dd) switch(dir) { case 'x': for(i=0;ia[i];i0+= v; i1+= v*d; i2+= v*t; i3+= v*d*t; i4+= v*t*t; } break; case 'y': for(i=0;ia[i];i0+= v; i1+= v*d; i2+= v*t; i3+= v*d*t; i4+= v*t*t; } break; case 'z': for(i=0;ia[i];i0+= v; i1+= v*d; i2+= v*t; i3+= v*d*t; i4+= v*t*t; } break; default: // "self-dispersion" i0 = nx*ny*nz; for(i=0;ia[i]; t = v*v; i1+= v; i2+= t; i3+= v*t; i4+= t*t; } } else switch(dir) { case 'x': for(i=0;ivthr(i);i0+= v; i1+= v*d; i2+= v*t; i3+= v*d*t; i4+= v*t*t; } break; case 'y': for(i=0;ivthr(i);i0+= v; i1+= v*d; i2+= v*t; i3+= v*d*t; i4+= v*t*t; } break; case 'z': for(i=0;ivthr(i);i0+= v; i1+= v*d; i2+= v*t; i3+= v*d*t; i4+= v*t*t; } break; default: // "self-dispersion" i0 = nx*ny*nz; for(i=0;ivthr(i); t = v*v; i1+= v; i2+= t; i3+= v*t; i4+= t*t; } } if(i0==0) return 0; d=i1/i0; if(x) *x=d; if(w) *w=i2>d*d*i0 ? sqrt(i2/i0-d*d) : 0; if(s) *s=i3/i0; if(k) *k=i4/(i0*3); return i0; } mreal MGL_EXPORT mgl_data_momentum_val_(uintptr_t *d, char *dir, mreal *m, mreal *w, mreal *s, mreal *k,int) { mreal mm,ww,ss,kk,aa; aa = mgl_data_momentum_val(_DT_,*dir,&mm,&ww,&ss,&kk); *m=mm; *w=ww; *s=ss; *k=kk; return aa; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_norm_slice(HMDT d, mreal v1,mreal v2,char dir,long keep_en,long sym) { long nx=d->nx, ny=d->ny, nz=d->nz; mreal *a=d->a; mglData b(*d); register long i,k; register mreal e0=1, e=1, m1, m2, aa; if(sym) { v2 = -v1>v2 ? -v1:v2; v1 = -v2; } if(dir=='z' && nz>1) { for(k=0;kaa ? m2 : aa; e += aa*aa; } if(m1==m2) m2+=1; if(sym) { m2 = -m1>m2 ? -m1:m2; m1 = -m2; } if(keep_en && k) e = sqrt(e/e0); else { e0 = e; e=1; } for(i=0;i1) { register long j; for(j=0;jaa ? m2 : aa; e += aa*aa; } if(m1==m2) m2+=1; if(sym) { m2 = -m1>m2 ? -m1:m2; m1 = -m2; } if(keep_en && j) e = sqrt(e/e0); else { e0 = e; e=1; } for(k=0;k1) { for(i=0;iaa ? m2 : aa; e += aa*aa; } if(m1==m2) m2+=1; if(sym) { m2 = -m1>m2 ? -m1:m2; m1 = -m2; } if(keep_en && i) e = sqrt(e/e0); else { e0 = e; e=1; } for(k=0;ka, b.a, nx*ny*nz*sizeof(mreal)); } void MGL_EXPORT mgl_data_norm_slice_(uintptr_t *d, mreal *v1,mreal *v2,char *dir,int *keep_en,int *sym,int ) { mgl_data_norm_slice(_DT_,*v1,*v2,*dir,*keep_en,*sym); } //----------------------------------------------------------------------------- MGL_EXPORT const char *mgl_data_info(HCDT d) // NOTE: Not thread safe function! { static char buf[512]; char s[128]; buf[0]=0; snprintf(s,128,"nx = %ld\tny = %ld\tnz = %ld\n",d->GetNx(),d->GetNy(),d->GetNz()); strcat(buf,s); long i=0,j=0,k=0; mreal A=0,Wa=0,X=0,Y=0,Z=0,Wx=0,Wy=0,Wz=0, b; b = mgl_data_max_int(d,&i,&j,&k); snprintf(s,128,"Maximum is %g\t at x = %ld\ty = %ld\tz = %ld\n", b,i,j,k); strcat(buf,s); b = mgl_data_min_int(d,&i,&j,&k); snprintf(s,128,"Minimum is %g\t at x = %ld\ty = %ld\tz = %ld\n", b,i,j,k); strcat(buf,s); mgl_data_momentum_val(d,'a',&A,&Wa,0,0); mgl_data_momentum_val(d,'x',&X,&Wx,0,0); mgl_data_momentum_val(d,'y',&Y,&Wy,0,0); mgl_data_momentum_val(d,'z',&Z,&Wz,0,0); snprintf(s,128,"Averages are:\n = %g\t = %g\t = %g\t = %g\n", A,X,Y,Z); strcat(buf,s); snprintf(s,128,"Widths are:\nWa = %g\tWx = %g\tWy = %g\tWz = %g\n", Wa,Wx,Wy,Wz); strcat(buf,s); return buf; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_insert(HMDT d, char dir, long at, long num) { if(num<1) return; at = at<0 ? 0:at; register long i,k,nn; long nx=d->nx, ny=d->ny, nz=d->nz; mglData b; if(dir=='x') { if(at>nx) at=nx; nn=nx+num; b.Create(nn,ny,nz); for(k=0;k0) memcpy(b.a+nn*k, d->a+nx*k,at*sizeof(mreal)); if(ata+at+nx*k,(nx-at)*sizeof(mreal)); for(i=0;ia[nx*k+at]; // copy values } d->Set(b); nx+=num; } if(dir=='y') { if(at>ny) at=ny; nn=num+ny; b.Create(nx,nn,nz); for(k=0;k0) memcpy(b.a+nx*nn*k, d->a+nx*ny*k,at*nx*sizeof(mreal)); if(ata+nx*(at+ny*k),(ny-at)*nx*sizeof(mreal)); for(i=0;ia+nx*(ny*k+at),nx*sizeof(mreal)); } d->Set(b); ny+=num; } if(dir=='z') { if(at>nz) at=nz; b.Create(nx,ny,nz+num); if(at>0) memcpy(b.a, d->a,at*nx*ny*sizeof(mreal)); if(ata+nx*ny*at,(nz-at)*nx*ny*sizeof(mreal)); for(i=0;ia+nx*ny*at,nx*ny*sizeof(mreal)); d->Set(b); nz+=num; } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_delete(HMDT d, char dir, long at, long num) { if(num<1 || at<0) return; mglData b; long nx=d->nx, ny=d->ny, nz=d->nz; register long k,nn; if(dir=='x') { if(at+num>=nx) return; nn=nx-num; b.Create(nn,ny,nz); for(k=0;k0) memcpy(b.a+nn*k, d->a+nx*k,at*sizeof(mreal)); memcpy(b.a+at+nn*k, d->a+at+num+nx*k,(nx-at-num)*sizeof(mreal)); } d->Set(b); nx-=num; } if(dir=='y') { if(at+num>=ny) return; nn=ny-num; b.Create(nx,nn,nz); for(k=0;k0) memcpy(b.a+nx*nn*k, d->a+nx*ny*k,at*nx*sizeof(mreal)); memcpy(b.a+nx*(at+nn*k), d->a+nx*(at+num+ny*k),(ny-at-num)*nx*sizeof(mreal)); } d->Set(b); ny-=num; } if(dir=='z') { if(at+num>=nz) return; b.Create(nx,ny,nz-num); if(at>0) memcpy(b.a, d->a,at*nx*ny*sizeof(mreal)); memcpy(b.a+nx*ny*at, d->a+nx*ny*(at+num),(nz-at-num)*nx*ny*sizeof(mreal)); d->Set(b); nz-=num; } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_insert_(uintptr_t *d, const char *dir, int *at, int *num, int) { mgl_data_insert(_DT_,*dir,*at,*num); } void MGL_EXPORT mgl_data_delete_(uintptr_t *d, const char *dir, int *at, int *num, int) { mgl_data_delete(_DT_,*dir,*at,*num); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_spline5(mreal y1[5], mreal y2[5], long n1, long n2, mreal d, mreal &dy) { mreal a1[4], a2[4], f0,d0,t0,f1,d1,t1, b[6]; a1[0] = -(3*y1[4]-16*y1[3]+36*y1[2]-48*y1[1]+25*y1[0])/12; a1[1] = (11*y1[4]-56*y1[3]+114*y1[2]-104*y1[1]+35*y1[0])/12; a1[2] = -(3*y1[4]-14*y1[3]+24*y1[2]-18*y1[1]+5*y1[0])/4; a1[3] = (y1[4]-4*y1[3]+6*y1[2]-4*y1[1]+y1[0])/6; a2[0] = -(3*y2[4]-16*y2[3]+36*y2[2]-48*y2[1]+25*y2[0])/12; a2[1] = (11*y2[4]-56*y2[3]+114*y2[2]-104*y2[1]+35*y2[0])/12; a2[2] = -(3*y2[4]-14*y2[3]+24*y2[2]-18*y2[1]+5*y2[0])/4; a2[3] = (y2[4]-4*y2[3]+6*y2[2]-4*y2[1]+y2[0])/6; n2++; f0 = y1[n1]; d0 = a1[0]+n1*(a1[1]+n1*(a1[2]+n1*a1[3])); t0 = a1[1]/2+a1[2]*n1+1.5*n2*n2*a2[3]; f1 = y2[n2]; d1 = a2[0]+n2*(a2[1]+n2*(a2[2]+n2*a2[3])); t1 = a2[1]/2+a2[2]*n2+1.5*n2*n2*a2[3]; b[0] = f0; b[1] = d0; b[2] = t0; b[3] = 10*(f1-f0)+t1-3*t0-4*d1-6*d0; b[4] = 15*(f0-f1)-2*t1+3*t0+7*d1+8*d0; b[5] = 6*(f1-f0)+t1-t0-3*d1-3*d0; dy = b[1] + d*(2*b[2]+d*(3*b[3]+d*(4*b[4]+d*5*b[5]))); return b[0] + d*(b[1]+d*(b[2]+d*(b[3]+d*(b[4]+d*b[5])))); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_spline3(mreal y1[3], mreal y2[3], long n1, long n2, mreal d, mreal &dy) { mreal a1[2], a2[2], f0,d0,d1,f1, b[4]; a1[0] = -(y1[2]-4*y1[1]+3*y1[0])/2; a1[1] = y1[2]-2*y1[1]+y1[0]; a2[0] = -(y2[2]-4*y2[1]+3*y2[0])/2; a2[1] = y2[2]-2*y2[1]+y2[0]; n2++; f0 = y1[n1]; d0 = a1[0]+a1[1]*n1; f1 = y2[n2]; d1 = a2[0]+a2[1]*n2; b[0] = f0; b[1] = d0; b[2] = 3*(f1-f0)-d1-2*d0; b[3] = 2*(f0-f1)+d1+d0; dy = b[1] + d*(2*b[2]+d*3*b[3]); return b[0] + d*(b[1]+d*(b[2]+d*b[3])); } //----------------------------------------------------------------------------- /*mreal mglData::Spline5(mreal x,mreal y,mreal z,mreal &dx,mreal &dy,mreal &dz) const { mreal res=0; if(nx<5) return 0; // not interpolation for points < 5 !!! dx = dy = dz = 0; x*=nx-1; y*=ny-1; z*=nz-1; if(ny==1 && nz==1) // 1D case { long n = long(x), n1 = n>1 ? 2:n, n2 = n0?int((x)/(y)+0.5):int((x)/(y)-0.5)) void MGL_NO_EXPORT mgl_omod(mreal *a, mreal da, int nx, int n) { register long i,ii; bool qq=true; register mreal q; for(i=1;ip[2], nn=t->n; for(i=t->id;ia+i, t->b[0], nz, nn); return 0; } MGL_NO_EXPORT void *mgl_sew_y(void *par) { mglThreadD *t=(mglThreadD *)par; register long i, nx=t->p[0], ny=t->p[1], nn=t->n; for(i=t->id;ia+(i%nx)+nx*ny*(i/nx), t->b[0], ny, nx); return 0; } MGL_NO_EXPORT void *mgl_sew_x(void *par) { mglThreadD *t=(mglThreadD *)par; register long i, nx=t->p[0], nn=t->n; for(i=t->id;ia+i*nx, t->b[0], nx, 1); return 0; } void MGL_EXPORT mgl_data_sew(HMDT d, const char *dirs, mreal delta) { if(!dirs || *dirs==0) return; long nx=d->nx, ny=d->ny, nz=d->nz; long p[3]={nx,ny,nz}; mreal da = delta; if(strchr(dirs,'x') && nx>1) mglStartThread(mgl_sew_x,0,nz*ny,d->a,&da,0,p); if(strchr(dirs,'y') && ny>1) mglStartThread(mgl_sew_y,0,nz*nx,d->a,&da,0,p); if(strchr(dirs,'z') && nz>1) mglStartThread(mgl_sew_z,0,nx*ny,d->a,&da,0,p); } void MGL_EXPORT mgl_data_sew_(uintptr_t *d, const char *dirs, mreal *da, int l) { char *s=new char[l+1]; memcpy(s,dirs,l); s[l]=0; mgl_data_sew(_DT_,s,*da); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_put_val(HMDT d, mreal val, long xx, long yy, long zz) { register long nx=d->nx, ny=d->ny, nz=d->nz; if(xx>=nx || yy>=ny || zz>=nz) return; mreal *a=d->a; register long i,j; if(xx<0 && yy<0 && zz<0)for(i=0;inx, ny=d->ny, nz=d->nz; if(xx>=nx || yy>=ny || zz>=nz) return; const mglData *mv = dynamic_cast(v); mreal *a=d->a, vv=v->v(0); const mreal *b = mv?mv->a:0; long vx=v->GetNx(), vy=v->GetNy(), vz=v->GetNz(); register long i,j,k; if(xx<0 && yy<0 && zz<0) // whole array { if(vx>=nx && vy>=ny && vz>=nz) for(k=0;kv(i,j,k); else if(vx>=nx && vy>=ny) for(k=0;kv(i,j); else if(vx>=nx) for(k=0;kv(i); else for(i=0;i=nx && vy>=ny) for(j=0;jv(i,j); else if(vx>=nx) for(j=0;jv(i); else for(i=0;i=ny && vy>=nz) for(j=0;jv(i,j); else if(vx>=ny) for(j=0;jv(i); else for(i=0;i=nx && vy>=nz) for(j=0;jv(i,j); else if(vx>=nx) for(j=0;jv(i); else for(j=0;j=nx) for(i=0;iv(i); else for(i=0;i=ny) for(i=0;iv(i); else for(i=0;i=nz) for(i=0;iv(i); else for(i=0;ip[0], ny=t->p[1], nz=t->p[2], nn=t->n; mreal *b=t->a,au,av,aw,xu,xv,xw,yu,yv,yw,zu,zv,zw; const mreal *a=t->b, *x=t->c, *y=t->d, *z=t->e; for(i0=t->id;i0p[0], ny=t->p[1], nn=t->n, same=t->p[2]; mreal *b=t->a,au,av,xu,xv,yu,yv; const mreal *a=t->b, *x=t->c, *y=t->d; for(i0=t->id;i0p[0], nn=t->n, same=t->p[1]; mreal *b=t->a,au,xu; const mreal *a=t->b, *x=t->c; for(i0=t->id;i0(v1); const mglData *y = dynamic_cast(v2); const mglData *z = dynamic_cast(v3); long nx=d->nx,ny=d->ny,nz=d->nz, nn=nx*ny*nz; if(nx<2 || ny<2) return; mreal *b = new mreal[nn]; memset(b,0,nn*sizeof(mreal)); long p[3]={nx,ny,nz}; if(x&&y&&z && x->nx*x->ny*x->nz==nn && y->nx*y->ny*y->nz==nn && z->nx*z->ny*z->nz==nn) mglStartThread(mgl_diff_3,0,nn,b,d->a,x->a,p,0,y->a,z->a); else if(x&&y && x->nx*x->ny==nx*ny && y->nx*y->ny==nx*ny) { p[2]=(x->nz==nz && y->nz==nz); mglStartThread(mgl_diff_2,0,nn,b,d->a,x->a,p,0,y->a); } else if(x && x->nx==nx) { p[1]=(x->ny*x->nz==ny*nz); mglStartThread(mgl_diff_1,0,nn,b,d->a,x->a,p,0,0); } memcpy(d->a,b,nn*sizeof(mreal)); delete []b; } void MGL_EXPORT mgl_data_diff_par_(uintptr_t *d, uintptr_t *v1, uintptr_t *v2, uintptr_t *v3) { mgl_data_diff_par(_DT_,_DA_(v1),_DA_(v2),_DA_(v3)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_value(HMDT dat, mreal v, long i, long j, long k) { if(i>=0 && inx && j>=0 && jny && k>=0 && knz) dat->a[i+dat->nx*(j+dat->ny*k)]=v; } void MGL_EXPORT mgl_data_set_value_(uintptr_t *d, mreal *v, int *i, int *j, int *k) { mgl_data_set_value(_DT_,*v,*i,*j,*k); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_get_value(HCDT dat, long i, long j, long k) { return (i>=0 && iGetNx() && j>=0 && jGetNy() && k>=0 && kGetNz()) ? dat->v(i,j,k):NAN; } mreal MGL_EXPORT mgl_data_get_value_(uintptr_t *d, int *i, int *j, int *k) { return mgl_data_get_value(_DA_(d),*i,*j,*k); } //----------------------------------------------------------------------------- MGL_EXPORT mreal *mgl_data_data(HMDT dat) { return dat->a; } //----------------------------------------------------------------------------- MGL_EXPORT mreal *mgl_data_value(HMDT dat, long i,long j,long k) { register long ii=i*dat->nx*(j+dat->ny*k); return ii>=0 && iiGetNN() ? dat->a+ii : 0; } //----------------------------------------------------------------------------- long MGL_EXPORT mgl_data_get_nx(HCDT dat) { return dat->GetNx(); } long MGL_EXPORT mgl_data_get_ny(HCDT dat) { return dat->GetNy(); } long MGL_EXPORT mgl_data_get_nz(HCDT dat) { return dat->GetNz(); } long MGL_EXPORT mgl_data_get_nx_(uintptr_t *d) { return _DA_(d)->GetNx(); } long MGL_EXPORT mgl_data_get_ny_(uintptr_t *d) { return _DA_(d)->GetNy(); } long MGL_EXPORT mgl_data_get_nz_(uintptr_t *d) { return _DA_(d)->GetNz(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_join(HMDT d, HCDT v) { register long nx=d->nx, ny=d->ny, nz=d->nz; const mglData *mv = dynamic_cast(v); long vx=v->GetNx(), vy=v->GetNy(), vz=v->GetNz(); register long i,k=nx*ny*nz; if(nx==vx && ny==vy && (nz>1 || vz>1)) { mreal *b = new mreal[nx*ny*(nz+vz)]; memcpy(b,d->a,nx*ny*nz*sizeof(mreal)); if(mv) memcpy(b+nx*ny*nz,mv->a,nx*ny*vz*sizeof(mreal)); else for(i=0;ivthr(i); if(!d->link) delete []d->a; d->nz += vz; d->a = b; d->link=false; d->NewId(); } else if(nx==vx && (ny>1 || vy>1)) { ny *= nz; vy *= vz; mreal *b = new mreal[nx*(ny+vy)]; memcpy(b,d->a,nx*ny*sizeof(mreal)); if(mv) memcpy(b+nx*ny,mv->a,nx*vy*sizeof(mreal)); else for(i=0;ivthr(i); if(!d->link) delete []d->a; d->nz = 1; d->ny = ny+vy; d->a = b; d->link=false; d->NewId(); } else { nx *= ny*nz; vx *= vy*vz; mreal *b = new mreal[nx+vx]; memcpy(b,d->a,nx*sizeof(mreal)); if(mv) memcpy(b+nx,mv->a,vx*sizeof(mreal)); else for(i=0;ivthr(i); if(!d->link) delete []d->a; d->nz = d->ny = 1; d->nx = nx+vx; d->a = b; d->link=false; d->NewId(); } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_join_(uintptr_t *d, uintptr_t *val) { mgl_data_join(_DT_,_DA_(val)); } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/data_png.cpp0000664000175000017500000001661512142400470015771 0ustar balakinbalakin/*************************************************************************** * data_png.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/data.h" #if MGL_HAVE_PNG #include #endif //----------------------------------------------------------------------------- long MGL_NO_EXPORT mgl_col_dif(unsigned char *c1,unsigned char *c2,bool sum) { long res,d1=abs(long(c1[0])-long(c2[0])), d2=abs(long(c1[1])-long(c2[1])),d3=abs(long(c1[2])-long(c2[2])); if(sum) res = d1+d2+d3; else res = mgl_max(d1,mgl_max(d2,d3)); return res; } //----------------------------------------------------------------------------- MGL_NO_EXPORT unsigned char *mgl_create_scheme(const char *scheme,long &num) { unsigned char *c=0,*cc=new unsigned char[3*strlen(scheme)+3]; long nc=1,np=0; register long i,j; mglColor col; for(i=0;i=v2) return; long num=0; FILE *fp = fopen(fname, "rb"); if (!fp) return; png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0); if (!png_ptr) { fclose(fp); return; } png_infop info_ptr = png_create_info_struct(png_ptr); if (!info_ptr) { png_destroy_read_struct(&png_ptr,0,0); fclose(fp); return; } png_infop end_info = png_create_info_struct(png_ptr); if (!end_info) { png_destroy_read_struct(&png_ptr,&info_ptr,0); fclose(fp); return; } png_init_io(png_ptr, fp); png_read_png(png_ptr, info_ptr, PNG_TRANSFORM_STRIP_ALPHA|PNG_TRANSFORM_PACKING| PNG_TRANSFORM_STRIP_16|PNG_TRANSFORM_EXPAND,0); unsigned char **rows = png_get_rows(png_ptr, info_ptr); unsigned char *c = mgl_create_scheme(scheme,num); if(num>1) { long w=png_get_image_width(png_ptr, info_ptr); long h=png_get_image_height(png_ptr, info_ptr); d->Create(w,h,1); register long i,j,k; long pos=0,val,mval=256; for(i=0;iny;i++) for(j=0;jnx;j++) { for(mval=256,k=0;kny-i-1]+3*j,true); if(val==0) { pos=k; break; } if(vala[j+d->nx*i] = v1 + pos*(v2-v1)/num; } } delete []c; png_destroy_read_struct(&png_ptr, &info_ptr,&end_info); fclose(fp); #else mglGlobalMess += "PNG support was disabled. Please, enable it and rebuild MathGL.\n"; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_export(HCDT dd, const char *fname, const char *scheme,mreal v1,mreal v2,long ns) { #if MGL_HAVE_PNG register long i,j,k; long nx=dd->GetNx(), ny=dd->GetNy(), nz=dd->GetNz(); const mglData *md = dynamic_cast(dd); mreal vv; if(v1>v2) return; if(ns<0 || ns>=nz) ns=0; if(v1==v2) { v1 = 1e20; v2=-1e20; if(md) for(i=0;ia[i]; if(vvv2) v2=vv; } else for(i=0;ivthr(i); if(vvv2) v2=vv; } } if(v1==v2) return; long num=0; unsigned char *c = mgl_create_scheme(scheme,num); if(num<2) { delete []c; return; } unsigned char **p = (unsigned char **)malloc(ny*sizeof(unsigned char *)); unsigned char *d = (unsigned char *)malloc(3*nx*ny*sizeof(unsigned char)); for(i=0;ia[j+nx*(i+ny*nz)]-v1)/(v2-v1)); if(k<0) k=0; if(k>=num) k=num-1; memcpy(d+3*(j+i*nx),c+3*k,3*sizeof(unsigned char)); } else for(i=0;iv(j,i,ns)-v1)/(v2-v1)); if(k<0) k=0; if(k>=num) k=num-1; memcpy(d+3*(j+i*nx),c+3*k,3*sizeof(unsigned char)); } delete []c; FILE *fp = fopen(fname, "wb"); if (!fp) { free(p); free(d); return; } png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0); if (!png_ptr) { free(p); free(d); fclose(fp); return; } png_infop info_ptr = png_create_info_struct(png_ptr); if (!info_ptr) { png_destroy_write_struct(&png_ptr,0); free(p); free(d); fclose(fp); return; } png_init_io(png_ptr, fp); png_set_filter(png_ptr, 0, PNG_ALL_FILTERS); png_set_compression_level(png_ptr, Z_BEST_COMPRESSION); png_set_IHDR(png_ptr, info_ptr, nx, ny, 8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); png_set_rows(png_ptr, info_ptr, p); png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, 0); png_write_end(png_ptr, info_ptr); png_destroy_write_struct(&png_ptr, &info_ptr); fclose(fp); free(p); free(d); #else mglGlobalMess += "PNG support was disabled. Please, enable it and rebuild MathGL.\n"; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_export_(uintptr_t *d, const char *fname, const char *scheme,mreal *v1,mreal *v2,int *ns,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,scheme,n); f[n]=0; mgl_data_export(_DT_,s,f,*v1,*v2,*ns); delete []s; delete []f; } void MGL_EXPORT mgl_data_import_(uintptr_t *d, const char *fname, const char *scheme,mreal *v1,mreal *v2,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,scheme,n); f[n]=0; mgl_data_import(_DT_,s,f,*v1,*v2); delete []s; delete []f; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/plot.cpp0000664000175000017500000021056012142400470015165 0ustar balakinbalakin/*************************************************************************** * plot.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/plot.h" #include "mgl2/eval.h" #include "mgl2/data.h" //----------------------------------------------------------------------------- // // Plot by formulas series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fplot(HMGL gr, const char *eqY, const char *pen, const char *opt) { if(eqY==0 || eqY[0]==0) return; // nothing to plot mreal r = gr->SaveState(opt); long n = (mgl_isnan(r) || r<=0) ? 100:long(r+0.5); long nm = gr->FaceNum?gr->FaceNum*n:10000, nd = gr->FaceNum?gr->FaceNum*10:1000; mreal *x = (mreal *)malloc(n*sizeof(mreal)); mreal *y = (mreal *)malloc(n*sizeof(mreal)); mglFormula *eq = new mglFormula(eqY); register int i; mreal d = (gr->Max.x - gr->Min.x)/(n-1.), xs, ys, yr, ym=fabs(gr->Max.y - gr->Min.y)/nd; #define islog(a, b) (((a)>0 && (b)>10*(a)) || ((b)<0 && (a)<10*(b))) // initial data filling if(gr->Min.x>0 && gr->Max.x>100*gr->Min.x) for(i=0,d=log(2*gr->Max.x/gr->Min.x)/(n-1);iMax.x*exp(d*i)/(2*gr->Max.x/gr->Min.x+exp(d*i)); y[i]=eq->Calc(x[i]); } else if(gr->Max.x<0 && gr->Min.x<100*gr->Max.x) for(i=0,d=log(2*gr->Min.x/gr->Max.x)/n;iMin.x*exp(d*i)/(2*gr->Min.x/gr->Max.x+exp(d*i)); y[i]=eq->Calc(x[i]); } else for(i=0;iMin.x + i*d; y[i]=eq->Calc(x[i]); } for(i=0;iStop) { free(x); free(y); delete eq; return; } xs=(x[i]+x[i+1])/2; ys=(y[i]+y[i+1])/2; yr=eq->Calc(xs); if(fabs(yr-ys)>ym) // bad approximation here { x = (mreal *)realloc(x,(n+1)*sizeof(mreal)); y = (mreal *)realloc(y,(n+1)*sizeof(mreal)); memmove(x+i+2,x+i+1,(n-i-1)*sizeof(mreal)); memmove(y+i+2,y+i+1,(n-i-1)*sizeof(mreal)); x[i+1] = xs; y[i+1] = yr; n++; } else i++; } delete eq; mglData yy,xx; xx.Set(x,n); free(x); yy.Set(y,n); free(y); mgl_plot_xy(gr,&xx,&yy,pen,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fplot_xyz(HMGL gr, const char *eqX, const char *eqY, const char *eqZ, const char *pen, const char *opt) { mreal r = gr->SaveState(opt); long n = (mgl_isnan(r) || r<=0) ? 100:long(r+0.5); mreal *x = (mreal *)malloc(n*sizeof(mreal)); mreal *y = (mreal *)malloc(n*sizeof(mreal)); mreal *z = (mreal *)malloc(n*sizeof(mreal)); mreal *t = (mreal *)malloc(n*sizeof(mreal)); mglFormula *ex, *ey, *ez; ex = new mglFormula(eqX ? eqX : "0"); ey = new mglFormula(eqY ? eqY : "0"); ez = new mglFormula(eqZ ? eqZ : "0"); register int i; mreal ts, xs, ys, zs, xr, yr, zr, xm=fabs(gr->Max.x - gr->Min.x)/1000, ym=fabs(gr->Max.y - gr->Min.y)/1000, zm=fabs(gr->Max.z - gr->Min.z)/1000; for(i=0;iStop) { free(x); free(y); free(z); free(t); delete ex; delete ey; delete ez; return; } t[i] = i/(n-1.); x[i] = ex->Calc(0,0,t[i]); y[i] = ey->Calc(0,0,t[i]); z[i] = ez->Calc(0,0,t[i]); } for(i=0;iStop) { free(x); free(y); free(z); free(t); delete ex; delete ey; delete ez; return; } ts=(t[i]+t[i+1])/2; xs=(x[i]+x[i+1])/2; xr=ex->Calc(0,0,ts); ys=(y[i]+y[i+1])/2; yr=ey->Calc(0,0,ts); zs=(z[i]+z[i+1])/2; zr=ez->Calc(0,0,ts); if(fabs(xr-xs)>xm || fabs(yr-ys)>ym || fabs(zr-zs)>zm) // bad approximation here { z = (mreal *)realloc(z,(n+1)*sizeof(mreal)); t = (mreal *)realloc(t,(n+1)*sizeof(mreal)); x = (mreal *)realloc(x,(n+1)*sizeof(mreal)); y = (mreal *)realloc(y,(n+1)*sizeof(mreal)); memmove(x+i+2,x+i+1,(n-i-1)*sizeof(mreal)); memmove(y+i+2,y+i+1,(n-i-1)*sizeof(mreal)); memmove(z+i+2,z+i+1,(n-i-1)*sizeof(mreal)); memmove(t+i+2,t+i+1,(n-i-1)*sizeof(mreal)); t[i+1]=ts; x[i+1]=xr; y[i+1]=yr; z[i+1]=zr; n++; } else i++; } delete ex; delete ey; delete ez; mglData xx,yy,zz; xx.Set(x,n); yy.Set(y,n); zz.Set(z,n); free(x); free(y); free(z); free(t); mgl_plot_xyz(gr,&xx,&yy,&zz,pen,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fplot_(uintptr_t *gr, const char *fy, const char *stl, const char *opt, int ly, int ls, int lo) { char *s=new char[ly+1]; memcpy(s,fy,ly); s[ly]=0; char *p=new char[ls+1]; memcpy(p,stl,ls); p[ls]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_fplot(_GR_, s, p, o); delete []s; delete []p; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fplot_xyz_(uintptr_t *gr, const char *fx, const char *fy, const char *fz, const char *stl, const char *opt, int lx, int ly, int lz, int ls, int lo) { char *sx=new char[lx+1]; memcpy(sx,fx,lx); sx[lx]=0; char *sy=new char[ly+1]; memcpy(sy,fy,ly); sy[ly]=0; char *sz=new char[lz+1]; memcpy(sz,fz,lz); sz[lz]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; char *p=new char[ls+1]; memcpy(p,stl,ls); p[ls]=0; mgl_fplot_xyz(_GR_, sx, sy, sz, p, o); delete []sx; delete []sy; delete []sz; delete []p; delete []o; } //----------------------------------------------------------------------------- // // Radar series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_radar(HMGL gr, HCDT a, const char *pen, const char *opt) { long n = a->GetNx(), ny=a->GetNy(); if(n<2) { gr->SetWarn(mglWarnLow,"Radar"); return; } mglData x(n+1,ny), y(n+1,ny); mreal m=a->Minimal(), r=gr->SaveState(opt); if(mgl_isnan(r) || r<0) r = m<0 ? -m:0; register long i,j; for(j=0;jv(i,j); x.a[i+(n+1)*j] = (r+v)*cos(2*i*M_PI/n); y.a[i+(n+1)*j] = (r+v)*sin(2*i*M_PI/n); } x.a[n+(n+1)*j] = r+a->v(0,j); y.a[n+(n+1)*j] = 0; } mgl_plot_xy(gr,&x,&y,pen,0); if(mglchr(pen,'#')) // draw "grid" { m = 1.1*(a->Maximal()+r); x.Create(2); y.Create(2); for(i=0;i0) { x.Create(101); y.Create(101); for(i=0;i<101;i++) { x.a[i]=r*cos(2*i*M_PI/100); y.a[i]=r*sin(2*i*M_PI/100); } mgl_plot_xy(gr,&x,&y,"k",0); } } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_radar_(uintptr_t *gr, uintptr_t *a, const char *pen, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_radar(_GR_, _DA_(a),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- // // Candle series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_candle_xyv(HMGL gr, HCDT x, HCDT v1, HCDT v2, HCDT y1, HCDT y2, const char *pen, const char *opt) { long i,n=v1->GetNx(),pal,nx=x->GetNx(); if(n<2) { gr->SetWarn(mglWarnLow,"Candle"); return; } if(nxGetNx()!=n) { gr->SetWarn(mglWarnDim,"Candle"); return; } bool d1=false,d2=false; if(!y1) { y1 = new mglData(n); d1=true; ((mglData *)y1)->Fill(NAN,NAN); } if(!y2) { y2 = new mglData(n); d2=true; ((mglData *)y2)->Fill(NAN,NAN); } if(y1->GetNx()!=n || y2->GetNx()!=n) { gr->SetWarn(mglWarnDim,"Candle"); return; } static int cgid=1; gr->StartGroup("Candle",cgid++); gr->SaveState(opt); gr->SetPenPal(pen,&pal); gr->NextColor(pal); gr->Reserve(8*n); bool sh = mglchr(pen,'!'); long n1,n2,n3,n4; mreal m1,m2,xx,x1,x2,d; mreal zm = gr->AdjustZMin(); for(i=0;iStop) { if(d1) delete y1; if(d2) delete y2; return; } m1=v1->v(i); m2 = v2->v(i); xx = x->v(i); d = iv(i+1)-xx : xx-x->v(i-1); x1 = xx + d/2*(1-gr->BarWidth); x2 = x1 + gr->BarWidth*d; xx = (x1+x2)/2; n1 = gr->AddPnt(mglPoint(xx,y1->v(i),zm)); n2 = gr->AddPnt(mglPoint(xx,m1,zm)); gr->line_plot(n1,n2); n3 = gr->AddPnt(mglPoint(xx,y2->v(i),zm)); n4 = gr->AddPnt(mglPoint(xx,m2,zm)); gr->line_plot(n3,n4); n1 = gr->AddPnt(mglPoint(x1,m1,zm)); n2 = gr->AddPnt(mglPoint(x2,m1,zm)); n3 = gr->AddPnt(mglPoint(x1,m2,zm)); n4 = gr->AddPnt(mglPoint(x2,m2,zm)); gr->line_plot(n1,n2); gr->line_plot(n1,n3); gr->line_plot(n4,n2); gr->line_plot(n4,n3); if(m1>m2) gr->quad_plot(n1,n2,n3,n4); if(sh) gr->NextColor(pal); } if(d1) delete y1; if(d2) delete y2; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_candle_yv(HMGL gr, HCDT v1, HCDT v2, HCDT y1, HCDT y2, const char *pen, const char *opt) { gr->SaveState(opt); mglData x(v1->GetNx()+1); x.Fill(gr->Min.x,gr->Max.x); mgl_candle_xyv(gr,&x,v1,v2,y1,y2,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_candle(HMGL gr, HCDT v1, HCDT y1, HCDT y2, const char *pen, const char *opt) { mglData v2(v1); v2.Roll('x',1); v2.a[0]=NAN; mgl_candle_yv(gr,v1,&v2,y1,y2,pen,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_candle_xyv_(uintptr_t *gr, uintptr_t *x, uintptr_t *v1, uintptr_t *v2, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_candle_xyv(_GR_,_DA_(x),_DA_(v1),_DA_(v2),_DA_(y1),_DA_(y2),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_candle_yv_(uintptr_t *gr, uintptr_t *v1, uintptr_t *v2, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_candle_yv(_GR_,_DA_(v1),_DA_(v2),_DA_(y1),_DA_(y2),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_candle_(uintptr_t *gr, uintptr_t *y, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_candle(_GR_,_DA_(y),_DA_(y1),_DA_(y2),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- // // Plot series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_plot_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt) { long j,m,mx,my,mz,n=y->GetNx(),pal; if(mgl_check_dim1(gr,x,y,z,0,"Plot")) return; static int cgid=1; gr->StartGroup("Plot",cgid++); gr->SaveState(opt); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; char mk=gr->SetPenPal(pen,&pal); gr->Reserve(2*n*m); bool t1,t2,t3; mglPoint p1,nn,p2,pt; long n1=-1,n2=-1,n3=-1; bool sh = mglchr(pen,'!'); for(j=0;jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; gr->NextColor(pal); t1 = t2 = false; register long i; for(i=0;iStop) return; if(i>0) { n2=n1; p2 = p1; t2=t1; } p1 = mglPoint(x->v(i,mx), y->v(i,my), z->v(i,mz)); n1 = gr->AddPnt(p1); t1 = n1>=0; if(mk && t1) gr->mark_plot(n1,mk); if(t1 && t2) { gr->line_plot(n1,n2); if(i==1) gr->arrow_plot(n2,n1,gr->Arrow1); if(i==n-1) gr->arrow_plot(n1,n2,gr->Arrow2); } if(i>0 && ((t1 && !t2) || (t2 && !t1))) // do smoothing { mreal i1=0, i2=1, ii; mglPoint q(NAN),p; do { ii = (i1+i2)/2; pt.x = p1.x*ii+p2.x*(1-ii); pt.y = p1.y*ii+p2.y*(1-ii); pt.z = p1.z*ii+p2.z*(1-ii); p=pt; t3 = gr->ScalePoint(p,q,false); if((t1 && t3) || (t2 && !t3)) i2 = ii; else i1 = ii; } while(fabs(i2-i1)>1e-3); n3 = gr->AddPnt(pt,-1,q,-1,2); if(t2) gr->line_plot(n3,n2); else gr->line_plot(n1,n3); } if(sh) gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_plot_xy(HMGL gr, HCDT x, HCDT y, const char *pen, const char *opt) { gr->SaveState(opt); mglData z(y->GetNx()); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_plot_xyz(gr,x,y,&z,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_plot(HMGL gr, HCDT y, const char *pen, const char *opt) { register long n=y->GetNx(); if(n<2) { gr->SetWarn(mglWarnLow,"Plot"); return; } gr->SaveState(opt); mglData x(n), z(n); x.Fill(gr->Min.x,gr->Max.x); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_plot_xyz(gr,&x,y,&z,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_plot_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_plot_xyz(_GR_, _DA_(x),_DA_(y),_DA_(z),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_plot_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_plot_xy(_GR_, _DA_(x),_DA_(y),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_plot_(uintptr_t *gr, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_plot(_GR_, _DA_(y),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- // // Tens series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tens_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT c, const char *pen, const char *opt) { long j,m,mx,my,mz,mc,n=y->GetNx(), pal; if(mgl_check_dim1(gr,x,y,z,0,"Tens")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Tens",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; char mk=gr->SetPenPal(pen, &pal); gr->Reserve(2*n*m); long ss=gr->AddTexture(pen); bool t1,t2,t3; mglPoint p1,p2,pt,nn; long n1=-1,n2=-1,n3=-1; for(j=0;jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; mc = jGetNy() ? j:0; register long i; t1 = t2 = false; for(i=0;iStop) return; if(i>0) { n2=n1; p2=p1; t2=t1; } p1 = mglPoint(x->v(i,mx), y->v(i,my), z->v(i,mz), c->v(i,mc)); n1 = gr->AddPnt(p1,gr->GetC(ss,p1.c)); t1 = n1>=0; if(mk && t1) gr->mark_plot(n1,mk); if(t1 && t2) { gr->line_plot(n1,n2); if(i==1) gr->arrow_plot(n2,n1,gr->Arrow1); if(i==n-1) gr->arrow_plot(n1,n2,gr->Arrow2); } if(i>0 && ((t1 && !t2) || (t2 && !t1))) // do smoothing { mreal i1=0, i2=1, ii; mglPoint q(NAN),p; do { ii = (i1+i2)/2; pt.x = p1.x*ii+p2.x*(1-ii); pt.y = p1.y*ii+p2.y*(1-ii); pt.z = p1.z*ii+p2.z*(1-ii); p=pt; pt.c = p1.c*ii+p2.c*(1-ii); t3 = gr->ScalePoint(p,q,false); if((t1 && t3) || (t2 && !t3)) i2 = ii; else i1 = ii; } while(fabs(i2-i1)>1e-3); n3 = gr->AddPnt(pt,gr->GetC(ss,pt.c),q,-1,2); if(t2) gr->line_plot(n3,n2); else gr->line_plot(n1,n3); } } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tens_xy(HMGL gr, HCDT x, HCDT y, HCDT c, const char *pen, const char *opt) { gr->SaveState(opt); mglData z(y->GetNx()); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_tens_xyz(gr,x,y,&z,c,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tens(HMGL gr, HCDT y, HCDT c, const char *pen, const char *opt) { register long n=y->GetNx(); if(n<2) { gr->SetWarn(mglWarnLow,"Tens"); return; } gr->SaveState(opt); mglData x(n), z(n); x.Fill(gr->Min.x,gr->Max.x); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_tens_xyz(gr,&x,y,&z,c,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tens_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *c, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tens_xyz(_GR_, _DA_(x),_DA_(y),_DA_(z),_DA_(c),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tens_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *c, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tens_xy(_GR_, _DA_(x),_DA_(y),_DA_(c),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tens_(uintptr_t *gr, uintptr_t *y, uintptr_t *c, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tens(_GR_, _DA_(y),_DA_(c),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Area series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_area_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt) { long i,j,n=y->GetNx(),m,mx,my,mz,pal; if(mgl_check_dim1(gr,x,y,z,0,"Area")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Area3",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; bool sh = mglchr(pen,'!'); bool wire = mglchr(pen,'#'); mreal z0=gr->GetOrgZ('x'); mreal c1,c2; mglPoint p1,p2,p3,p4,nn; long n1,n2,n3,n4; gr->SetPenPal(pen,&pal); gr->Reserve(2*n*m); // long s=gr->AddTexture(pen,1); for(j=0;jNextColor(pal); if(gr->GetNumPal(pal)==2*m && !sh) c2 = gr->NextColor(pal); mx = jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; nn = mglPoint(-y->dvx(0,my),x->dvx(0,mx)); mglPoint p = mglPoint(x->v(0,mx),y->v(0,my),z->v(0,mz)); n1 = gr->AddPnt(p,c1,nn); p.z = z0; n2 = gr->AddPnt(p,c2,nn); for(i=1;iStop) return; n3=n1; n4=n2; nn = mglPoint(-y->dvx(i,my),x->dvx(i,mx)); p = mglPoint(x->v(i,mx),y->v(i,my),z->v(i,mz)); n1 = gr->AddPnt(p,c1,nn); p.z = z0; n2 = gr->AddPnt(p,c2,nn); if(wire) { gr->line_plot(n1,n2); gr->line_plot(n3,n4); gr->line_plot(n1,n3); gr->line_plot(n4,n2); } else gr->quad_plot(n1,n2,n3,n4); if(sh) c2=c1=gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_area_xy(HMGL gr, HCDT x, HCDT y, const char *pen, const char *opt) { long i,j,n=y->GetNx(),m=y->GetNy(),mx,my,pal; if(mgl_check_dim1(gr,x,y,0,0,"Area")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Curve",cgid++); mreal zm = gr->AdjustZMin(); mreal y0=gr->GetOrgY('x'), z0; mreal c1,c2; mglPoint nn=mglPoint(0,0,1); long n1,n2,n3,n4; bool sh = mglchr(pen,'!'); bool wire = mglchr(pen,'#'); gr->SetPenPal(pen,&pal); gr->Reserve(2*n*m); // long s=gr->AddTexture(pen,1); for(j=0;jNextColor(pal); if(gr->GetNumPal(pal)==2*m && !sh) c2=gr->NextColor(pal); mx = jGetNy() ? j:0; my = jGetNy() ? j:0; z0 = zm + (m-1-j)*(gr->Max.z-zm)/m; mglPoint p = mglPoint(x->v(0,mx),y->v(0,my),z0); n1 = gr->AddPnt(p,c1,nn); p.y = y0; n2 = gr->AddPnt(p,c2,nn); for(i=1;iStop) return; n3=n1; n4=n2; p = mglPoint(x->v(i,mx),y->v(i,my),z0); n1 = gr->AddPnt(p,c1,nn); p.y = y0; n2 = gr->AddPnt(p,c2,nn); if(wire) { gr->line_plot(n1,n2); gr->line_plot(n3,n4); gr->line_plot(n1,n3); gr->line_plot(n4,n2); } else gr->quad_plot(n1,n2,n3,n4); if(sh) c2=c1=gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_area(HMGL gr, HCDT y, const char *pen, const char *opt) { gr->SaveState(opt); mglData x(y->GetNx()); x.Fill(gr->Min.x,gr->Max.x); mgl_area_xy(gr,&x,y,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_area_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_area_xyz(_GR_, _DA_(x),_DA_(y),_DA_(z),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_area_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_area_xy(_GR_, _DA_(x),_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_area_(uintptr_t *gr, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_area(_GR_, _DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Region series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_region_xy(HMGL gr, HCDT x, HCDT y1, HCDT y2, const char *pen, const char *opt) { long i,j, n=y1->GetNx(), m=y1->GetNy(), mx, pal; if(mgl_check_dim1(gr,x,y1,y2,0,"Region")) return; if(y2->GetNy()!=m) { gr->SetWarn(mglWarnDim,"Region"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("Region",cgid++); mreal c1,c2; mglPoint nn=mglPoint(0,0,1); long n1,n2,n3,n4; mreal xx,f1,f2,f3,f4; mreal zm = gr->AdjustZMin(); bool inside = (mglchr(pen,'i')); // NOTE: check if 'i' is free (used here for inside flag) bool sh = mglchr(pen,'!'); gr->SetPenPal(pen,&pal); gr->Reserve(2*n*m); // long s=gr->AddTexture(pen,1); for(j=0;jNextColor(pal); if(gr->GetNumPal(pal)==2*m && !sh) c2=gr->NextColor(pal); mx = jGetNy() ? j:0; mreal z0 = zm + (m-1-j)*(gr->Max.z-zm)/m; f1 = y1->v(0,j); f2 = y2->v(0,j); xx = x->v(0,mx); n1 = gr->AddPnt(mglPoint(xx,f1,z0),c1,nn); n2 = gr->AddPnt(mglPoint(xx,f2,z0),c2,nn); for(i=1;iStop) return; n3=n1; n4=n2; f3=f1; f4=f2; f1 = y1->v(i,j); f2 = y2->v(i,j); xx = x->v(i,mx); n1 = gr->AddPnt(mglPoint(xx,f1,z0),c1,nn); n2 = gr->AddPnt(mglPoint(xx,f2,z0),c2,nn); if(!inside || (f2>f1 && f4>f3)) gr->quad_plot(n1,n2,n3,n4); if(sh) c2=c1=gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_region(HMGL gr, HCDT y1, HCDT y2, const char *pen, const char *opt) { gr->SaveState(opt); mglData x(y1->GetNx()); x.Fill(gr->Min.x, gr->Max.x); mgl_region_xy(gr,&x,y1,y2,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_region_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt, int l, int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_region_xy(_GR_, _DA_(x),_DA_(y1),_DA_(y2),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_region_(uintptr_t *gr, uintptr_t *y1, uintptr_t *y2, const char *pen, const char *opt, int l, int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_region(_GR_, _DA_(y1),_DA_(y2),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Step series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_step_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt) { long i,j,m,mx,my,mz,n=y->GetNx(), pal; if(mgl_check_dim1(gr,x,y,z,0,"Step")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Step3",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; bool sh = mglchr(pen,'!'); char mk=gr->SetPenPal(pen,&pal); gr->Reserve(2*n*m); long n1,n2; mglPoint p; for(j=0;jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; gr->NextColor(pal); n1 = gr->AddPnt(mglPoint(x->v(0,mx), y->v(0,my), z->v(0,mz))); if(mk) gr->mark_plot(n1,mk); for(i=1;iStop) return; n2 = n1; // horizontal p = mglPoint(x->v(i,mx), y->v(i,my), z->v(i-1,mz)); n1 = gr->AddPnt(p); gr->line_plot(n1,n2); if(i==1) gr->arrow_plot(n2,n1,gr->Arrow1); n2 = n1; // vertical p.z = z->v(i,mz); n1 = gr->AddPnt(p); if(mk) gr->mark_plot(n1,mk); gr->line_plot(n1,n2); if(i==n-1) gr->arrow_plot(n1,n2,gr->Arrow2); if(sh) gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_step_xy(HMGL gr, HCDT x, HCDT y, const char *pen, const char *opt) { long i,j,m,mx,my,n=y->GetNx(), pal; if(mgl_check_dim1(gr,x,y,0,0,"Step")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Step",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); bool sh = mglchr(pen,'!'); mreal zVal =gr->AdjustZMin(); char mk=gr->SetPenPal(pen,&pal); gr->Reserve(2*n*m); long n1,n2; mglPoint p; for(j=0;jGetNy() ? j:0; my = jGetNy() ? j:0; gr->NextColor(pal); n1 = gr->AddPnt(mglPoint(x->v(0,mx), y->v(0,my), zVal)); if(mk) gr->mark_plot(n1,mk); for(i=1;iStop) return; n2 = n1; // horizontal p = mglPoint(x->v(i,mx), y->v(i-1,my), zVal); n1 = gr->AddPnt(p); gr->line_plot(n1,n2); if(i==1) gr->arrow_plot(n2,n1,gr->Arrow1); n2 = n1; // vertical p.y = y->v(i,my); n1 = gr->AddPnt(p); if(mk) gr->mark_plot(n1,mk); gr->line_plot(n1,n2); if(i==n-1) gr->arrow_plot(n1,n2,gr->Arrow2); if(sh) gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_step(HMGL gr, HCDT y, const char *pen, const char *opt) { gr->SaveState(opt); mglData x(y->GetNx()); x.Fill(gr->Min.x,gr->Max.x); mgl_step_xy(gr,&x,y,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_step_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_step_xyz(_GR_, _DA_(x),_DA_(y),_DA_(z),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_step_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_step_xy(_GR_, _DA_(x),_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_step_(uintptr_t *gr, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_step(_GR_, _DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Stem series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stem_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt) { long i,j,m,mx,my,mz,n=y->GetNx(), pal; if(mgl_check_dim1(gr,x,y,z,0,"Stem")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Stem3",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; bool sh = mglchr(pen,'!'); mreal z0=gr->GetOrgZ('x'); char mk=gr->SetPenPal(pen,&pal); gr->Reserve(2*n*m); long n1,n2; for(j=0;jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; gr->NextColor(pal); for(i=0;iStop) return; n1 = gr->AddPnt(mglPoint(x->v(i,mx), y->v(i,my), z->v(i,mz))); if(mk) gr->mark_plot(n1,mk); n2 = gr->AddPnt(mglPoint(x->v(i,mx), y->v(i,my), z0)); gr->line_plot(n1,n2); if(sh) gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stem_xy(HMGL gr, HCDT x, HCDT y, const char *pen, const char *opt) { long i,j,m,mx,my,n=y->GetNx(), pal; if(mgl_check_dim1(gr,x,y,0,0,"Stem")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Stem",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); bool sh = mglchr(pen,'!'); mreal zVal = gr->AdjustZMin(), y0=gr->GetOrgY('x'), vv; char mk=gr->SetPenPal(pen,&pal); gr->Reserve(2*n*m); long n1,n2; for(j=0;jGetNy() ? j:0; my = jGetNy() ? j:0; gr->NextColor(pal); for(i=0;iStop) return; vv = x->v(i,mx); n1 = gr->AddPnt(mglPoint(vv, y->v(i,my), zVal)); if(mk) gr->mark_plot(n1,mk); n2 = gr->AddPnt(mglPoint(vv, y0, zVal)); gr->line_plot(n1,n2); if(sh) gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stem(HMGL gr, HCDT y, const char *pen, const char *opt) { gr->SaveState(opt); mglData x(y->GetNx()); x.Fill(gr->Min.x,gr->Max.x); mgl_stem_xy(gr,&x,y,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stem_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_stem_xyz(_GR_,_DA_(x),_DA_(y),_DA_(z),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stem_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_stem_xy(_GR_,_DA_(x),_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stem_(uintptr_t *gr, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_stem(_GR_,_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Bars series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_bars_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt) { long i,j,m,mx,my,mz,n=z->GetNx(), pal,nx=x->GetNx(),ny=y->GetNx(); if(mgl_check_dim1(gr,x,z,y,0,"Bars",true)) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Bars3",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; bool sh = mglchr(pen,'!'); bool wire = mglchr(pen,'#'); bool above = mglchr(pen,'a'), fall = mglchr(pen,'f'); if(above) fall = false; mreal c1,c2,c; mglPoint p1,p2,p3,p4,nn; long n1,n2,n3,n4; mreal *dd=new mreal[n], x1,x2,y1,y2,z0,zz,zp,d,vv; memset(dd,0,n*sizeof(mreal)); gr->SetPenPal(pen,&pal); if(wire) gr->Reserve(4*n*m); else gr->Reserve(4*n*m); for(j=0;jNextColor(pal); if(gr->GetNumPal(pal)==2*m && !sh) c2 = gr->NextColor(pal); mx = jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; zp = z0 = gr->GetOrgZ('x'); for(i=0;iStop) { delete []dd; return; } vv = x->v(i,mx); d = iv(i+1,mx)-vv : vv-x->v(i-1,mx); x1 = vv + d/2*(1-gr->BarWidth); x2 = x1 + gr->BarWidth*d; vv = y->v(i,my); d = iv(i+1,my)-vv : vv-y->v(i-1,my); y1 = vv + d/2*(1-gr->BarWidth); y2 = y1 + gr->BarWidth*d; vv = zz = z->v(i,mz); if(!above) { x2 = (x2-x1)/m; x1 += j*x2; x2 += x1; y2 = (y2-y1)/m; y1 += j*y2; y2 += y1; } else { z0 = gr->GetOrgZ('x') + dd[i]; dd[i] += zz; zz += z0; } if(fall) { z0 = zp; zz += z0; zp = zz; } c = vv<0 ? c1 : c2; nn = mglPoint(-y->dvx(i,my),x->dvx(i,mx)); p1 = mglPoint(x1,y1,zz); p2 = mglPoint(x1,y1,z0); p3 = mglPoint(x2,y2,z0); p4 = mglPoint(x2,y2,zz); if(wire) { n1 = gr->AddPnt(p1,c); n2 = gr->AddPnt(p2,c); n3 = gr->AddPnt(p3,c); n4 = gr->AddPnt(p4,c); gr->line_plot(n1,n2); gr->line_plot(n1,n4); gr->line_plot(n3,n2); gr->line_plot(n3,n4); } else { n1 = gr->AddPnt(p1,c,nn); n2 = gr->AddPnt(p2,c,nn); n3 = gr->AddPnt(p3,c,nn); n4 = gr->AddPnt(p4,c,nn); gr->quad_plot(n1,n2,n4,n3); } if(sh) c2=c1=gr->NextColor(pal); } } gr->EndGroup(); delete []dd; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_bars_xy(HMGL gr, HCDT x, HCDT y, const char *pen, const char *opt) { long i,j,m,mx,my,n=y->GetNx(),pal; if(mgl_check_dim1(gr,x,y,0,0,"Bars",true)) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Bars",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); bool sh = mglchr(pen,'!'); bool wire = mglchr(pen,'#'); bool above = mglchr(pen,'a'), fall = mglchr(pen,'f'); if(above) fall = false; mreal c1,c2,c; long n1,n2,n3,n4; mreal *dd=new mreal[n], x1,x2,yy,y0,yp,d,vv; mreal zm = gr->AdjustZMin(); memset(dd,0,n*sizeof(mreal)); gr->SetPenPal(pen,&pal); if(wire) gr->Reserve(4*n*m); else gr->Reserve(4*n*m); for(j=0;jNextColor(pal); if(gr->GetNumPal(pal)==2*m && !sh) c2 = gr->NextColor(pal); mx = jGetNy() ? j:0; my = jGetNy() ? j:0; yp = y0 = gr->GetOrgY('x'); for(i=0;iStop) { delete []dd; return; } vv = x->v(i,mx); d = iv(i+1,mx)-vv : vv-x->v(i-1,mx); x1 = vv + d/2*(1-gr->BarWidth); x2 = x1 + gr->BarWidth*d; vv = yy = y->v(i,my); if(!above) { x2 = (x2-x1)/m; x1 += j*x2; x2 += x1; } else { y0 = gr->GetOrgY('x') + dd[i]; dd[i] += yy; yy += y0; } if(fall) { y0 = yp; yy += y0; yp = yy; } c = vv<0 ? c1 : c2; n1 = gr->AddPnt(mglPoint(x1,yy,zm),c); n2 = gr->AddPnt(mglPoint(x1,y0,zm),c); n3 = gr->AddPnt(mglPoint(x2,y0,zm),c); n4 = gr->AddPnt(mglPoint(x2,yy,zm),c); if(wire) { gr->line_plot(n1,n2); gr->line_plot(n1,n4); gr->line_plot(n3,n2); gr->line_plot(n3,n4); } else gr->quad_plot(n1,n2,n4,n3); if(sh) c2=c1=gr->NextColor(pal); } } gr->EndGroup(); delete []dd; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_bars(HMGL gr, HCDT y, const char *pen, const char *opt) { gr->SaveState(opt); mglData x(y->GetNx()+1); x.Fill(gr->Min.x,gr->Max.x); mgl_bars_xy(gr,&x,y,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_bars_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_bars_xyz(_GR_,_DA_(x),_DA_(y),_DA_(z),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_bars_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_bars_xy(_GR_,_DA_(x),_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_bars_(uintptr_t *gr, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_bars(_GR_,_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Barh series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_barh_yx(HMGL gr, HCDT y, HCDT v, const char *pen, const char *opt) { long i,j,m,mx,my,n=v->GetNx(),pal; if(mgl_check_dim1(gr,y,v,0,0,"Barh",true)) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Barh",cgid++); m = y->GetNy() > v->GetNy() ? y->GetNy() : v->GetNy(); bool sh = mglchr(pen,'!'); bool wire = mglchr(pen,'#'); bool above = mglchr(pen,'a'), fall = mglchr(pen,'f'); if(above) fall = false; mreal c1,c2,c; long n1,n2,n3,n4; mreal *dd=new mreal[n], y1,y2,xx,x0,xp,d,vv; mreal zm = gr->AdjustZMin(); memset(dd,0,n*sizeof(mreal)); gr->SetPenPal(pen,&pal); if(wire) gr->Reserve(4*n*m); else gr->Reserve(4*n*m); for(j=0;jNextColor(pal); if(gr->GetNumPal(pal)==2*m && !sh) c2 = gr->NextColor(pal); mx = jGetNy() ? j:0; my = jGetNy() ? j:0; xp = x0 = gr->GetOrgX('y'); for(i=0;iStop) { delete []dd; return; } vv = y->v(i,my); d = iv(i+1,my)-vv : vv-y->v(i-1,my); y1 = vv + d/2*(1-gr->BarWidth); y2 = y1 + gr->BarWidth*d; vv = xx = v->v(i,mx); if(!above) { y2 = (y2-y1)/m; y1 += j*y2; y2 += y1; } else { x0 = gr->GetOrgX('y') + dd[i]; dd[i] += xx; xx += x0; } if(fall) { x0 = xp; xx += x0; xp = xx; } c = vv<0 ? c1 : c2; n1 = gr->AddPnt(mglPoint(xx,y1,zm),c); n2 = gr->AddPnt(mglPoint(xx,y2,zm),c); n3 = gr->AddPnt(mglPoint(x0,y2,zm),c); n4 = gr->AddPnt(mglPoint(x0,y1,zm),c); if(wire) { gr->line_plot(n1,n2); gr->line_plot(n1,n4); gr->line_plot(n3,n2); gr->line_plot(n3,n4); } else gr->quad_plot(n1,n2,n4,n3); if(sh) c2=c1=gr->NextColor(pal); } } gr->EndGroup(); delete []dd; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_barh(HMGL gr, HCDT v, const char *pen, const char *opt) { gr->SaveState(opt); mglData y(v->GetNx()+1); y.Fill(gr->Min.y,gr->Max.y); mgl_barh_yx(gr,&y,v,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_barh_yx_(uintptr_t *gr, uintptr_t *y, uintptr_t *v, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_barh_yx(_GR_,_DA_(y),_DA_(v),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_barh_(uintptr_t *gr, uintptr_t *v, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_barh(_GR_,_DA_(v),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // BoxPlot series // //----------------------------------------------------------------------------- double sgn(double a); int MGL_NO_EXPORT mgl_cmp_flt(const void *a, const void *b) { const mreal *aa = (const mreal *)a; const mreal *bb = (const mreal *)b; return int(sgn(*aa-*bb)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_boxplot_xy(HMGL gr, HCDT x, HCDT y, const char *pen, const char *opt) { long n=y->GetNx(), m=y->GetNy(), nx=x->GetNx(); if(nxSetWarn(mglWarnDim,"BoxPlot"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("BoxPlot",cgid++); mreal *b = new mreal[5*n], *d = new mreal[m], x1, x2, dd; mreal zVal = gr->AdjustZMin(), vv; bool sh = mglchr(pen,'!'); register long i,j; for(i=0;iStop) { delete []d; delete []b; return; } register long mm,k; for(mm=j=0;jv(i,j); if(!mgl_isnan(vv)) { d[mm]=vv; mm++; } } if(m==0) { b[i]=NAN; break; } qsort(d, mm, sizeof(mreal), mgl_cmp_flt); b[i] = d[0]; b[i+4*n] = d[mm-1]; k = mm/4; b[i+n] = (mm%4) ? d[k] : (d[k]+d[k-1])/2.; b[i+2*n] = (mm%2) ? d[mm/2] : (d[mm/2]+d[mm/2-1])/2.; b[i+3*n] = (mm%4) ? d[mm-k-1] : (d[mm-k-1]+d[mm-k])/2.; } delete []d; mglPoint p1,p2; long n1,n2,pal; gr->SetPenPal(pen,&pal); gr->NextColor(pal); gr->Reserve(18*n); for(i=0;iStop) { delete []b; return; } vv = x->v(i); dd = iv(i+1)-vv : vv-x->v(i-1); x1 = vv + dd/2*(1-gr->BarWidth); x2 = x1 + gr->BarWidth*dd; for(j=0;j<5;j++) // horizontal lines { p1=mglPoint(x1,b[i+j*n],zVal); n1=gr->AddPnt(p1); p2=mglPoint(x2,b[i+j*n],zVal); n2=gr->AddPnt(p2); gr->line_plot(n1,n2); } //vertical lines p1=mglPoint(x1,b[i+n],zVal); n1=gr->AddPnt(p1); p2=mglPoint(x1,b[i+3*n],zVal); n2=gr->AddPnt(p2); gr->line_plot(n1,n2); p1=mglPoint(x2,b[i+n],zVal); n1=gr->AddPnt(p1); p2=mglPoint(x2,b[i+3*n],zVal); n2=gr->AddPnt(p2); gr->line_plot(n1,n2); p1=mglPoint((x1+x2)/2,b[i],zVal); n1=gr->AddPnt(p1); p2=mglPoint((x1+x2)/2,b[i+n],zVal); n2=gr->AddPnt(p2); gr->line_plot(n1,n2); p1=mglPoint((x1+x2)/2,b[i+3*n],zVal); n1=gr->AddPnt(p1); p2=mglPoint((x1+x2)/2,b[i+4*n],zVal); n2=gr->AddPnt(p2); gr->line_plot(n1,n2); if(sh) gr->NextColor(pal); } delete []b; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_boxplot(HMGL gr, HCDT y, const char *pen, const char *opt) { gr->SaveState(opt); mglData x(y->GetNx()+1); x.Fill(gr->Min.x,gr->Max.x); mgl_boxplot_xy(gr,&x,y,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_boxplot_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_boxplot_xy(_GR_,_DA_(x),_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_boxplot_(uintptr_t *gr, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_boxplot(_GR_,_DA_(y),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Error series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_error_exy(HMGL gr, HCDT x, HCDT y, HCDT ex, HCDT ey, const char *pen, const char *opt) { long i,j,k,m,mx,my,m1,m2,n=ey->GetNx(),pal; if(mgl_check_dim1(gr,x,y,ey,ex,"Error")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Error",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = ex->GetNy() > m ? ex->GetNy() : m; m = ey->GetNy() > m ? ey->GetNy() : m; bool sh = mglchr(pen,'!'); bool ma = mglchr(pen,'@'); char mk = gr->SetPenPal(pen,&pal); mreal zVal=gr->AdjustZMin(), vx, vy, ve, vf; gr->Reserve(5*n*m); if(ma && (mk==0 || !strchr("PXsSdD+xoOC",mk) )) mk = 'S'; long n1,n2,n3,n4; mglPoint q(NAN,NAN); for(j=0;jStop) return; mx = jGetNy() ? j:0; my = jGetNy() ? j:0; m1 = jGetNy() ? j:0; m2 = jGetNy() ? j:0; gr->NextColor(pal); if(ma) { if(strchr("PXsS",mk)) for(i=0;iv(i,mx); ve=ex->v(i,m1); vy=y->v(i,my); vf=ey->v(i,m2); n1 = gr->AddPnt(mglPoint(vx-ve, vy+vf, zVal),-1,q,-1,11); n2 = gr->AddPnt(mglPoint(vx-ve, vy-vf, zVal),-1,q,-1,11); n3 = gr->AddPnt(mglPoint(vx+ve, vy+vf, zVal),-1,q,-1,11); n4 = gr->AddPnt(mglPoint(vx+ve, vy-vf, zVal),-1,q,-1,11); gr->line_plot(n1,n2); gr->line_plot(n1,n3); gr->line_plot(n4,n2); gr->line_plot(n4,n3); if(sh) gr->NextColor(pal); } if(strchr("dD",mk)) for(i=0;iv(i,mx); ve=ex->v(i,m1); vy=y->v(i,my); vf=ey->v(i,m2); n1 = gr->AddPnt(mglPoint(vx, vy+vf, zVal),-1,q,-1,11); n2 = gr->AddPnt(mglPoint(vx-ve, vy, zVal),-1,q,-1,11); n3 = gr->AddPnt(mglPoint(vx, vy-vf, zVal),-1,q,-1,11); n4 = gr->AddPnt(mglPoint(vx+ve, vy, zVal),-1,q,-1,11); gr->line_plot(n1,n2); gr->line_plot(n2,n3); gr->line_plot(n3,n4); gr->line_plot(n4,n1); if(sh) gr->NextColor(pal); } if(strchr("oOC",mk)) for(i=0;iv(i,mx); ve=ex->v(i,m1); vy=y->v(i,my); vf=ey->v(i,m2); for(k=0,n2=-1;k<=40;k++) { n1 = n2; n2 = gr->AddPnt(mglPoint(vx+ve*cos(k*M_PI/20), vy+vf*sin(k*M_PI/20), zVal),-1,q,-1,11); if(k>0) gr->line_plot(n1,n2); } if(sh) gr->NextColor(pal); } switch(mk) { case 'P': case '+': for(i=0;iv(i,mx); ve=ex->v(i,m1); vy=y->v(i,my); vf=ey->v(i,m2); n1 = gr->AddPnt(mglPoint(vx, vy+vf, zVal),-1,q,-1,11); n2 = gr->AddPnt(mglPoint(vx-ve, vy, zVal),-1,q,-1,11); n3 = gr->AddPnt(mglPoint(vx, vy-vf, zVal),-1,q,-1,11); n4 = gr->AddPnt(mglPoint(vx+ve, vy, zVal),-1,q,-1,11); gr->line_plot(n1,n3); gr->line_plot(n2,n4); if(sh) gr->NextColor(pal); } break; case 'X': case 'x': for(i=0;iv(i,mx); ve=ex->v(i,m1); vy=y->v(i,my); vf=ey->v(i,m2); n1 = gr->AddPnt(mglPoint(vx-ve, vy+vf, zVal),-1,q,-1,11); n2 = gr->AddPnt(mglPoint(vx-ve, vy-vf, zVal),-1,q,-1,11); n3 = gr->AddPnt(mglPoint(vx+ve, vy+vf, zVal),-1,q,-1,11); n4 = gr->AddPnt(mglPoint(vx+ve, vy-vf, zVal),-1,q,-1,11); gr->line_plot(n1,n3); gr->line_plot(n2,n4); if(sh) gr->NextColor(pal); } break; case 'S': for(i=0;iv(i,mx); ve=ex->v(i,m1); vy=y->v(i,my); vf=ey->v(i,m2); n1 = gr->AddPnt(mglPoint(vx-ve, vy+vf, zVal),-1,q,-1,11); n2 = gr->AddPnt(mglPoint(vx-ve, vy-vf, zVal),-1,q,-1,11); n3 = gr->AddPnt(mglPoint(vx+ve, vy+vf, zVal),-1,q,-1,11); n4 = gr->AddPnt(mglPoint(vx+ve, vy-vf, zVal),-1,q,-1,11); gr->quad_plot(n1,n2,n3,n4); if(sh) gr->NextColor(pal); } break; case 'D': for(i=0;iv(i,mx); ve=ex->v(i,m1); vy=y->v(i,my); vf=ey->v(i,m2); n1 = gr->AddPnt(mglPoint(vx, vy+vf, zVal),-1,q,-1,11); n2 = gr->AddPnt(mglPoint(vx-ve, vy, zVal),-1,q,-1,11); n3 = gr->AddPnt(mglPoint(vx, vy-vf, zVal),-1,q,-1,11); n4 = gr->AddPnt(mglPoint(vx+ve, vy, zVal),-1,q,-1,11); gr->quad_plot(n1,n2,n3,n4); if(sh) gr->NextColor(pal); } break; case 'O': for(i=0;iv(i,mx); ve=ex->v(i,m1); vy=y->v(i,my); vf=ey->v(i,m2); n3 = gr->AddPnt(mglPoint(vx,vy,zVal)); for(k=0,n2=-1;k<=40;k++) { n1 = n2; n2 = gr->AddPnt(mglPoint(vx+ve*cos(k*M_PI/20), vy+vf*sin(k*M_PI/20), zVal),-1,q,-1,11); if(k>0) gr->trig_plot(n1,n2,n3); } if(sh) gr->NextColor(pal); } break; case 'C': for(i=0;iv(i,mx); vy=y->v(i,my); gr->mark_plot(gr->AddPnt(mglPoint(vx,vy,zVal),-1,q,-1,3), '.'); if(sh) gr->NextColor(pal); } } } else for(i=0;iv(i,mx); ve=ex->v(i,m1); vy=y->v(i,my); vf=ey->v(i,m2); if(mk) gr->mark_plot(gr->AddPnt(mglPoint(vx,vy,zVal)), mk); n1 = gr->AddPnt(mglPoint(vx, vy+vf, zVal),-1,q,-1,11); n2 = gr->AddPnt(mglPoint(vx, vy-vf, zVal),-1,q,-1,11); gr->line_plot(n1,n2); gr->arrow_plot(n1,n2,'I'); gr->arrow_plot(n2,n1,'I'); n1 = gr->AddPnt(mglPoint(vx+ve, vy, zVal),-1,q,-1,11); n2 = gr->AddPnt(mglPoint(vx-ve, vy, zVal),-1,q,-1,11); gr->line_plot(n1,n2); gr->arrow_plot(n1,n2,'I'); gr->arrow_plot(n2,n1,'I'); if(sh) gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_error_xy(HMGL gr, HCDT x, HCDT y, HCDT ey, const char *pen, const char *opt) { gr->SaveState(opt); mglData ex(y->GetNx()); ex.Fill(NAN,NAN); mgl_error_exy(gr,x,y,&ex,ey,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_error(HMGL gr, HCDT y, HCDT ey, const char *pen, const char *opt) { gr->SaveState(opt); mglData x(y->GetNx()); x.Fill(gr->Min.x,gr->Max.x); mgl_error_xy(gr,&x,y,ey,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_error_(uintptr_t *gr, uintptr_t *y, uintptr_t *ey, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_error(_GR_,_DA_(y),_DA_(ey),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_error_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ey, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_error_xy(_GR_,_DA_(x),_DA_(y),_DA_(ey),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_error_exy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *ex, uintptr_t *ey, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_error_exy(_GR_,_DA_(x),_DA_(y),_DA_(ex),_DA_(ey),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Chart series // //----------------------------------------------------------------------------- void face_plot(mglBase *gr, mglPoint o, mglPoint d1, mglPoint d2, mreal c, bool wire) { const int num=10; mglPoint p,nn=d1^d2; d1 = d1/num; d2 = d2/num; register long i,j,i0,n=num+1; long *id=new long[n*n]; gr->Reserve(n*n); for(j=0;jAddPnt(p,c,nn); } for(i=0;iStop) { delete []id; return; } i0 = i+n*j; gr->quad_plot(id[i0],id[i0+1],id[i0+n],id[i0+n+1]); } if(wire) { gr->Reserve(4*n); gr->SetPenPal("k-"); long *jj=id+n+1; jj[0] = jj[1] = gr->CopyNtoC(id[0],gr->CDef); jj[2] = jj[3] = gr->CopyNtoC(id[n*n-1],gr->CDef); for(i=1;iStop) { delete []id; return; } memcpy(jj+4,jj,4*sizeof(long)); jj[0] = gr->CopyNtoC(id[i],gr->CDef); jj[1] = gr->CopyNtoC(id[n*i],gr->CDef); jj[2] = gr->CopyNtoC(id[n*n-1-i],gr->CDef); jj[3] = gr->CopyNtoC(id[n*n-1-n*i],gr->CDef); gr->line_plot(jj[4],jj[0]); gr->line_plot(jj[5],jj[1]); gr->line_plot(jj[6],jj[2]); gr->line_plot(jj[7],jj[3]); } } delete []id; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_chart(HMGL gr, HCDT a, const char *cols, const char *opt) { if(a->Minimal()<0) { gr->SetWarn(mglWarnNeg,"Chart"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("Chart",cgid++); bool wire = mglchr(cols,'#'); // draw edges register long n=a->GetNx(),i,j=0; if(cols) for(i=0;iAddTexture(cols[i]); nc++; } // NOTE: nc>0 since j>0 or MGL_DEF_PAL is not empty mreal dy = (gr->Max.y-gr->Min.y)/a->GetNy(), dx, ss, cs, x1, y1, dz=gr->Max.z-gr->Min.z, vv; mglPoint d1,d2,o; for(j=0;jGetNy();j++) { y1 = gr->Min.y + dy*j; for(i=0,ss=0;iv(i,j); if(ss==0) continue; for(cs=0,i=0;iStop) { delete []c; return; } vv = a->v(i,j); dx = vv/ss; cc = c[i%nc]; if(dx==0) continue; x1 = gr->Min.x + (gr->Max.x-gr->Min.x)*cs/ss; dx *= (gr->Max.x-gr->Min.x); if(cc>=0) { face_plot(gr,mglPoint(x1,y1,gr->Min.z),mglPoint(dx,0,0),mglPoint(0,0,dz),cc,wire); face_plot(gr,mglPoint(x1,y1,gr->Min.z),mglPoint(dx,0,0),mglPoint(0,dy,0),cc,wire); face_plot(gr,mglPoint(x1,y1,gr->Min.z),mglPoint(0,dy,0),mglPoint(0,0,dz),cc,wire); face_plot(gr,mglPoint(x1+dx,y1+dy,gr->Max.z),mglPoint(-dx,0,0),mglPoint(0,0,-dz),cc,wire); face_plot(gr,mglPoint(x1+dx,y1+dy,gr->Max.z),mglPoint(-dx,0,0),mglPoint(0,-dy,0),cc,wire); face_plot(gr,mglPoint(x1+dx,y1+dy,gr->Max.z),mglPoint(0,-dy,0),mglPoint(0,0,-dz),cc,wire); } cs += vv; } } gr->EndGroup(); delete []c; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_chart_(uintptr_t *gr, uintptr_t *a, const char *col, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,col,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_chart(_GR_, _DA_(a), s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Mark series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mark_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, const char *pen, const char *opt) { long j,m,mx,my,mz,mr,n=y->GetNx(),pal; if(mgl_check_dim0(gr,x,y,z,r,"Mark")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Mark",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; char mk=gr->SetPenPal(pen,&pal); gr->Reserve(n*m); if(mk==0) return; bool sh = mglchr(pen,'!'); for(j=0;jNextColor(pal); mx = jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; mr = jGetNy() ? j:0; for(int i=0;iStop) return; gr->mark_plot(gr->AddPnt(mglPoint(x->v(i,mx),y->v(i,my),z->v(i,mz))), mk, fabs(r->v(i,mr))); if(sh) gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mark_xy(HMGL gr, HCDT x, HCDT y, HCDT r, const char *pen, const char *opt) { gr->SaveState(opt); mglData z(y->GetNx()); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_mark_xyz(gr,x,y,&z,r,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mark_y(HMGL gr, HCDT y, HCDT r, const char *pen, const char *opt) { register long n=y->GetNx(); gr->SaveState(opt); mglData x(n), z(n); x.Fill(gr->Min.x,gr->Max.x); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_mark_xyz(gr,&x,y,&z,r,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mark_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *r, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_mark_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(r),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mark_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *r, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_mark_xy(_GR_, _DA_(x), _DA_(y), _DA_(r),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mark_y_(uintptr_t *gr, uintptr_t *y, uintptr_t *r, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_mark_y(_GR_,_DA_(y),_DA_(r),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Tube series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_xyzr(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, const char *pen, const char *opt) { long j,m,mx,my,mz,mr,n=y->GetNx(),pal; if(mgl_check_dim1(gr,x,y,z,r,"Tube")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Tube",cgid++); m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; m = r->GetNy() > m ? r->GetNy() : m; bool sh = mglchr(pen,'!'); bool wire = mglchr(pen,'#'); const int num=24; gr->SetPenPal(pen,&pal); gr->Reserve(n*m*num); mglPoint p,l,t,u,q,d; long *nn=new long[2*num]; memset(nn,-1,2*num*sizeof(long)); for(j=0;jNextColor(pal); mx = jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; mr = jGetNy() ? j:0; register long i,k; for(i=0;idvx(i,mx),y->dvx(i,my),z->dvx(i,mz)); t = !l; t.Normalize(); u = t^l; u.Normalize(); q = mglPoint(x->v(i,mx),y->v(i,my),z->v(i,mz)); mreal si,co,ff, rr=r->v(i,mr), dr=r->dvx(i,mr); for(k=0;kStop) { delete []nn; return; } ff = k*2*M_PI/(num-1); co = cos(ff); si = sin(ff); p = q + t*(rr*co) + u*(rr*si); d = (t*si - u*co)^(l + t*(dr*co) + u*(dr*si)); nn[k+num]=nn[k]; nn[k] = gr->AddPnt(p,gr->CDef,wire?mglPoint(NAN,NAN):d,-1,3); if(i*k>0 && !wire) gr->quad_plot(nn[k],nn[k-1],nn[k+num],nn[k+num-1]); if(i*k>0 && wire && k%4==0) gr->line_plot(nn[k],nn[k+num]); if(k>0 && wire) gr->line_plot(nn[k],nn[k-1]); } if(sh) gr->NextColor(pal); } } delete []nn; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_xyr(HMGL gr, HCDT x, HCDT y, HCDT r, const char *pen, const char *opt) { gr->SaveState(opt); mglData z(y->GetNx()); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_tube_xyzr(gr,x,y,&z,r,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_r(HMGL gr, HCDT y, HCDT r, const char *pen, const char *opt) { register long n=y->GetNx(); if(n<2) { gr->SetWarn(mglWarnLow,"Tube"); return; } gr->SaveState(opt); mglData x(n), z(n); x.Fill(gr->Min.x,gr->Max.x); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_tube_xyzr(gr,&x,y,&z,r,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube(HMGL gr, HCDT y, double rr, const char *pen, const char *opt) { register long n=y->GetNx(); if(n<2) { gr->SetWarn(mglWarnLow,"Tube"); return; } gr->SaveState(opt); mglData x(n), r(n), z(n); x.Fill(gr->Min.x,gr->Max.x); r.Fill(rr,rr); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_tube_xyzr(gr,&x,y,&z,&r,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_xy(HMGL gr, HCDT x, HCDT y, double rr, const char *pen, const char *opt) { register long n=y->GetNx(); if(n<2) { gr->SetWarn(mglWarnLow,"Tube"); return; } gr->SaveState(opt); mglData r(n), z(n); r.Fill(rr,rr); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_tube_xyzr(gr,x,y,&z,&r,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, double rr, const char *pen, const char *opt) { gr->SaveState(opt); mglData r(y->GetNx()); r.Fill(rr,rr); mgl_tube_xyzr(gr,x,y,z,&r,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_xyzr_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *r, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tube_xyzr(_GR_,_DA_(x),_DA_(y),_DA_(z), _DA_(r),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_xyr_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *r, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tube_xyr(_GR_,_DA_(x),_DA_(y),_DA_(r),s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_r_(uintptr_t *gr, uintptr_t *y, uintptr_t *r, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tube_r(_GR_,_DA_(y),_DA_(r),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, mreal *r, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tube_xyz(_GR_,_DA_(x),_DA_(y),_DA_(z),*r,s,o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, mreal *r, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tube_xy(_GR_,_DA_(x),_DA_(y),*r,s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tube_(uintptr_t *gr, uintptr_t *y, mreal *r, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tube(_GR_,_DA_(y),*r,s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- // // Tape series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tape_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *pen, const char *opt) { long j,m,mx,my,mz,n=y->GetNx(),pal; if(mgl_check_dim1(gr,x,y,z,0,"Tape")) return; static int cgid=1; gr->StartGroup("Tape",cgid++); mreal ll, rr = gr->SaveState(opt); if(rr==0 || mgl_isnan(rr)) rr = mgl_norm(gr->Max-gr->Min)*gr->BarWidth/25; m = x->GetNy() > y->GetNy() ? x->GetNy() : y->GetNy(); m = z->GetNy() > m ? z->GetNy() : m; gr->SetPenPal(pen,&pal); gr->Reserve(4*n*m); mglPoint p1,p2,q1,q2,l,nn,qn=mglPoint(NAN,NAN); long n1=-1,n2=-1,n3=-1,n4=-1, m1=-1,m2=-1,m3=-1,m4=-1; bool sh = mglchr(pen,'!'), xo = mglchr(pen,'x'), zo = mglchr(pen,'z'), wire = mglchr(pen,'#'); if(!xo && !zo) xo = zo = true; mreal c1,c2; for(j=0;jNextColor(pal); if(gr->GetNumPal(pal)==2*m && !sh) c2 = gr->NextColor(pal); mx = jGetNy() ? j:0; my = jGetNy() ? j:0; mz = jGetNy() ? j:0; // initial values for normales p2 = mglPoint(x->v(0,mx), y->v(0,my), z->v(0,mz)); l = mglPoint(x->v(1,mx), y->v(1,my), z->v(1,mz)) - p2; l /= mgl_norm(l); q1 = mglPoint(-l.y,l.x,0); ll = mgl_norm(q1); if(ll) q1 /= ll; else q1 = mglPoint(0,1,0); q2 = (q1^l); if(p2>gr->Min && p2Max) { if(xo) { n1 = gr->AddPnt(p2,c1,q2,-1,3); n2 = gr->AddPnt(p2+rr*q1,c1,q2,-1,3); } if(zo) { n3 = gr->AddPnt(p2,c2,q1,-1,3); n4 = gr->AddPnt(p2+rr*q2,c2,q1,-1,3); } } else { n1=n2=n3=n4=-1; } register long i; for(i=1;iStop) return; p1 = p2; p2 = mglPoint(x->v(i,mx), y->v(i,my), z->v(i,mz)); l = p2-p1; l /= mgl_norm(l); q1 -= l*(l*q1); q1/= mgl_norm(q1); q2 = (q1^l); m1 = n1; m2 = n2; m3 = n3; m4 = n4; if(p2>gr->Min && p2Max) { if(xo) { n1 = gr->AddPnt(p2,c1,wire?qn:q2,-1,3); n2 = gr->AddPnt(p2+rr*q1,c1,wire?qn:q2,-1,3); if(wire) gr->line_plot(m2,n2); else gr->quad_plot(n1,n2,m1,m2); } if(zo) { n3 = gr->AddPnt(p2,c2,wire?qn:q1,-1,3); n4 = gr->AddPnt(p2+rr*q2,c2,wire?qn:q1,-1,3); if(wire) gr->line_plot(m4,n4); else gr->quad_plot(n3,n4,m3,m4); } } if(sh) c2=c1=gr->NextColor(pal); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tape_xy(HMGL gr, HCDT x, HCDT y, const char *pen, const char *opt) { gr->SaveState(opt); mglData z(y->GetNx()); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_tape_xyz(gr,x,y,&z,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tape(HMGL gr, HCDT y, const char *pen, const char *opt) { register long n=y->GetNx(); if(n<2) { gr->SetWarn(mglWarnLow,"Plot"); return; } gr->SaveState(opt); mglData x(n), z(n); x.Fill(gr->Min.x,gr->Max.x); mreal zm = gr->AdjustZMin(); z.Fill(zm,zm); mgl_tape_xyz(gr,&x,y,&z,pen,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tape_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tape_xyz(_GR_, _DA_(x),_DA_(y),_DA_(z),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tape_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tape_xy(_GR_, _DA_(x),_DA_(y),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tape_(uintptr_t *gr, uintptr_t *y, const char *pen, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,pen,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tape(_GR_, _DA_(y),s,o); delete []s; delete []o; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/surf.cpp0000664000175000017500000011377212142400470015175 0ustar balakinbalakin/*************************************************************************** * surf.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/define.h" #include "mgl2/surf.h" #include "mgl2/data.h" #include "mgl2/eval.h" //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_mesh_plot(mglBase *gr, long *pos, long n, long m, int how) { int d = gr->MeshNum>0 ? gr->MeshNum+1 : n*m, dx = n>d?n/d:1, dy = m>d?m/d:1; register long i,j,s; // NOTE: number of lines in each direction can be reduced too if(how&1) for(j=0;j=0 && pos[n*j+i+1]>=0) s++; d = gr->FaceNum>0 ? gr->FaceNum+1 : n; s = s>d?s/d:1; for(i=0;iline_plot(pos[n*j+i],pos[n*j+i+s]); } if(how&2) for(i=0;i=0 && pos[n*j+i+n]>=0) s++; d = gr->FaceNum>0 ? gr->FaceNum+1 : n; s = s>d?s/d:1; for(j=0;jline_plot(pos[n*j+i],pos[n*j+i+s*n]); } } //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_surf_plot(mglBase *gr, long *pos, long n, long m) { register long i,j,s=0; for(j=0;j=0 && pos[n*j+i+1]>=0 && pos[n*j+i+n]>=0 && pos[n*j+i+n+1]>=0) s++; long dx=1,dy=1; if(gr->FaceNum && s>gr->FaceNum*gr->FaceNum) { int d = gr->FaceNum+1,ns=n*s/((n-1)*(m-1)),ms=m*s/((n-1)*(m-1)); dx = ns>d?ns/d:1; dy = ms>d?ms/d:1; } for(j=0;jquad_plot(pos[n*j+i],pos[n*j+i+dx],pos[n*j+i+n*dy],pos[n*j+i+n*dy+dx]); } //----------------------------------------------------------------------------- // // Plot by formulas series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fsurf(HMGL gr, const char *eqZ, const char *sch, const char *opt) { // TODO: Add strong function variation analysis ??? if(eqZ==0 || eqZ[0]==0) return; // nothing to plot mreal r = gr->SaveState(opt); long n = (mgl_isnan(r) || r<=0) ? 100:long(r+0.5); mglData z(n,n); mglFormula *eq = new mglFormula(eqZ); register int i,j; mreal dx = (gr->Max.x - gr->Min.x)/(n-1.), dy = (gr->Max.y - gr->Min.y)/(n-1.); for(j=0;jStop) { delete eq; return; } z.a[i+n*j] = eq->Calc(gr->Min.x+i*dx, gr->Min.y+j*dy); } mgl_surf(gr, &z, sch,0); delete eq; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fsurf_xyz(HMGL gr, const char *eqX, const char *eqY, const char *eqZ, const char *sch, const char *opt) { // TODO: Add strong function variation analisys ??? if(eqZ==0 || eqZ[0]==0) return; // nothing to plot mreal r = gr->SaveState(opt); long n = (mgl_isnan(r) || r<=0) ? 100:long(r+0.5); mglData x(n,n), y(n,n), z(n,n); if(n<=0) n=100; mglFormula *ex, *ey, *ez; ex = new mglFormula(eqX ? eqX : "u"); ey = new mglFormula(eqY ? eqY : "v"); ez = new mglFormula(eqZ); register int i,j; register mreal u,v; for(j=0;jStop) { delete ex; delete ey; delete ez; return; } v = i/(n-1.); u = j/(n-1.); x.a[i+n*j] = ex->Calc(0,v,0,u); y.a[i+n*j] = ey->Calc(0,v,0,u); z.a[i+n*j] = ez->Calc(0,v,0,u); } mgl_surf_xy(gr,&x,&y,&z,sch,0); delete ex; delete ey; delete ez; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fsurf_(uintptr_t *gr, const char *fy, const char *stl, const char *opt, int ly, int ls, int lo) { char *s=new char[ly+1]; memcpy(s,fy,ly); s[ly]=0; char *p=new char[ls+1]; memcpy(p,stl,ls); p[ls]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_fsurf(_GR_, s, p, o); delete []o; delete []s; delete []p; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fsurf_xyz_(uintptr_t *gr, const char *fx, const char *fy, const char *fz, const char *stl, const char *opt, int lx, int ly, int lz, int ls, int lo) { char *sx=new char[lx+1]; memcpy(sx,fx,lx); sx[lx]=0; char *sy=new char[ly+1]; memcpy(sy,fy,ly); sy[ly]=0; char *sz=new char[lz+1]; memcpy(sz,fz,lz); sz[lz]=0; char *p=new char[ls+1]; memcpy(p,stl,ls); p[ls]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_fsurf_xyz(_GR_, sx, sy, sz, p, o); delete []o; delete []sx; delete []sy; delete []sz; delete []p; } //----------------------------------------------------------------------------- // // Mesh series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mesh_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Mesh")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Mesh",cgid++); gr->SetPenPal("-"); long ss = gr->AddTexture(sch); long *pos = new long[n*m]; gr->Reserve(n*m*z->GetNz()); mglPoint p; mreal c; for(k=0;kGetNz();k++) { for(j=0;jStop) { delete []pos; return; } p = mglPoint(GetX(x,i,j,k).x, GetY(y,i,j,k).x, z->v(i,j,k)); c = gr->GetC(ss,p.z); pos[i+n*j] = gr->AddPnt(p,c); } mgl_mesh_plot(gr,pos,n,m,3); } delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mesh(HMGL gr, HCDT z, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()), y(z->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_mesh_xy(gr,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mesh_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_mesh_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mesh_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_mesh(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Fall series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fall_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Fall")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Fall",cgid++); gr->SetPenPal("-"); long ss = gr->AddTexture(sch); long *pos = new long[n*m]; gr->Reserve(n*m*z->GetNz()); mglPoint p; mreal c; for(k=0;kGetNz();k++) { for(j=0;jStop) { delete []pos; return; } p = mglPoint(GetX(x,i,j,k).x, GetY(y,i,j,k).x, z->v(i,j,k)); c = gr->GetC(ss,p.z); pos[i+n*j] = gr->AddPnt(p,c); } mgl_mesh_plot(gr,pos,n,m, (mglchr(sch,'x')) ? 2:1); } delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fall(HMGL gr, HCDT z, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()), y(z->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_fall_xy(gr,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fall_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_fall_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_fall_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_fall(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Grid series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grid_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Grid")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Grid",cgid++); mreal zVal = gr->Min.z; gr->SetPenPal(sch?sch:"k-"); long *pos = new long[n*m]; gr->Reserve(n*m*z->GetNz()); mglPoint p; for(k=0;kGetNz();k++) { if(z->GetNz()>1) zVal = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(k)/(z->GetNz()-1); for(j=0;jStop) { delete []pos; return; } p = mglPoint(GetX(x,i,j,k).x, GetY(y,i,j,k).x, zVal); pos[i+n*j] = gr->AddPnt(p,gr->CDef); } mgl_mesh_plot(gr,pos,n,m,3); } delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grid(HMGL gr, HCDT z,const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()), y(z->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_grid_xy(gr,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grid_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_grid_xy(_GR_,_DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_grid_(uintptr_t *gr, uintptr_t *a,const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_grid(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Surf series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Surf")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Surf",cgid++); long ss = gr->AddTexture(sch); long *pos = new long[n*m]; bool wire = (mglchr(sch,'#')); gr->Reserve(n*m*z->GetNz()*(wire?2:1)); mglPoint p,q,s,xx,yy; mreal c; for(k=0;kGetNz();k++) { for(j=0;jStop) { delete []pos; return; } xx = GetX(x,i,j,k); yy = GetY(y,i,j,k); p = mglPoint(xx.x, yy.x, z->v(i,j,k)); q = mglPoint(xx.y, yy.y, z->dvx(i,j,k)); s = mglPoint(xx.z, yy.z, z->dvy(i,j,k)); c = gr->GetC(ss,p.z); pos[i+n*j] = gr->AddPnt(p,c,q^s); } if(sch && mglchr(sch,'.')) for(i=0;imark_plot(pos[i],'.'); else mgl_surf_plot(gr,pos,n,m); if(wire) { gr->SetPenPal("k-"); for(i=0;iCopyNtoC(pos[i],gr->CDef); mgl_mesh_plot(gr,pos,n,m,3); } } delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf(HMGL gr, HCDT z, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()), y(z->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_surf_xy(gr,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Belt series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_belt_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Belt")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Belt",cgid++); int d = gr->MeshNum>0 ? gr->MeshNum+1 : n*m, dx = n>d?n/d:1, dy = m>d?m/d:1; long ss = gr->AddTexture(sch); long *pos = new long[2*(n>m?n:m)]; gr->Reserve(2*n*m*z->GetNz()); bool how = !mglchr(sch,'x'); mglPoint p1,p2,q,s,xx,yy; mreal c; for(k=0;kGetNz();k++) { if(how) for(i=0;iStop) { delete []pos; return; } xx = GetX(x,i,j,k); yy = GetY(y,i,j,k); p1 = mglPoint(xx.x, yy.x, z->v(i,j,k)); s = mglPoint(xx.z, yy.z, z->dvy(i,j,k)); q = mglPoint(xx.y, yy.y, 0); s = q^s; c = gr->GetC(ss,p1.z); p2 = mglPoint(GetX(x,i+dx,j,k).x,GetY(y,i+dx,j,k).x,p1.z); pos[2*j] = gr->AddPnt(p1,c,s); pos[2*j+1]=gr->AddPnt(p2,c,s); } mgl_surf_plot(gr,pos,2,m); } else for(j=0;jStop) { delete []pos; return; } xx = GetX(x,i,j,k); yy = GetY(y,i,j,k); p1 = mglPoint(xx.x, yy.x, z->v(i,j,k)); q = mglPoint(xx.y, yy.y, z->dvx(i,j,k)); s = mglPoint(xx.z, yy.z, 0); s = q^s; c = gr->GetC(ss,p1.z); p2 = mglPoint(GetX(x,i,j+dy,k).x,GetY(y,i,j+dy,k).x,p1.z); pos[2*i] = gr->AddPnt(p1,c,s); pos[2*i+1]=gr->AddPnt(p2,c,s); } mgl_surf_plot(gr,pos,2,n); } } delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_belt(HMGL gr, HCDT z, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()), y(z->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_belt_xy(gr,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_belt_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_belt_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_belt_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_belt(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Dens series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Dens")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Dens",cgid++); mreal zVal = gr->Min.z; long ss = gr->AddTexture(sch); long *pos = new long[n*m]; gr->Reserve(n*m*z->GetNz()); mglPoint p,s=mglPoint(0,0,1); mreal zz, c; for(k=0;kGetNz();k++) { if(z->GetNz()>1) zVal = gr->Min.z+(gr->Max.z-gr->Min.z)*mreal(k)/(z->GetNz()-1); for(j=0;jStop) { delete []pos; return; } p = mglPoint(GetX(x,i,j,k).x, GetY(y,i,j,k).x, zVal); zz = z->v(i,j,k); c = gr->GetC(ss,zz); if(mgl_isnan(zz)) p.x = NAN; pos[i+n*j] = gr->AddPnt(p,c,s); } if(sch && mglchr(sch,'.')) for(i=0;imark_plot(pos[i],'.'); else mgl_surf_plot(gr,pos,n,m); if(mglchr(sch,'#')) { gr->Reserve(n*m); gr->SetPenPal("k-"); for(i=0;iCopyNtoC(pos[i],gr->CDef); mgl_mesh_plot(gr,pos,n,m,3); } } delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens(HMGL gr, HCDT z, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()), y(z->GetNy()); x.Fill(gr->Min.x, gr->Max.x); y.Fill(gr->Min.y, gr->Max.y); mgl_dens_xy(gr,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dens_xy(_GR_,_DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dens(_GR_,_DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // STFA series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stfa_xy(HMGL gr, HCDT x, HCDT y, HCDT re, HCDT im, int dn, const char *sch, const char *opt) { mglData tmp(mglSTFA(*re,*im,dn,'x')); mgl_dens_xy(gr,x,y,&tmp,sch,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stfa(HMGL gr, HCDT re, HCDT im, int dn, const char *sch, const char *opt) { mglData tmp(mglSTFA(*re,*im,dn,'x')); mgl_dens(gr,&tmp,sch,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stfa_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *re, uintptr_t *im, int *dn, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_stfa_xy(_GR_,_DA_(x), _DA_(y), _DA_(re), _DA_(im), *dn, s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stfa_(uintptr_t *gr, uintptr_t *re, uintptr_t *im, int *dn, const char *sch, const char *opt, int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_stfa(_GR_,_DA_(re), _DA_(im), *dn, s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // SurfC series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surfc_xy(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,c,"SurfC")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("SurfC",cgid++); long ss = gr->AddTexture(sch); long *pos = new long[n*m]; gr->Reserve(n*m*z->GetNz()); mreal col; mglPoint p,q,s,xx,yy; for(k=0;kGetNz();k++) { for(j=0;jStop) { delete []pos; return; } xx = GetX(x,i,j,k); yy = GetY(y,i,j,k); p = mglPoint(xx.x, yy.x, z->v(i,j,k)); q = mglPoint(xx.y, yy.y, z->dvx(i,j,k)); s = mglPoint(xx.z, yy.z, z->dvy(i,j,k)); col = gr->GetC(ss,c->v(i,j,k)); pos[i+n*j] = gr->AddPnt(p,col,q^s); } if(sch && mglchr(sch,'.')) for(i=0;imark_plot(pos[i],'.'); else mgl_surf_plot(gr,pos,n,m); if(mglchr(sch,'#')) { gr->Reserve(n*m); gr->SetPenPal("k-"); for(i=0;iCopyNtoC(pos[i],gr->CDef); mgl_mesh_plot(gr,pos,n,m,3); } } delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surfc(HMGL gr, HCDT z, HCDT c, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()), y(z->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_surfc_xy(gr,&x,&y,z,c,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surfc_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surfc_xy(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surfc_(uintptr_t *gr, uintptr_t *z, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surfc(_GR_, _DA_(z), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // SurfA series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surfa_xy(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT c, const char *sch, const char *opt) { register long i,j; long k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,c,"SurfA")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("SurfA",cgid++); long ss = gr->AddTexture(sch); long *pos = new long[n*m]; gr->Reserve(n*m*z->GetNz()); mglPoint p,q,s,xx,yy; for(k=0;kGetNz();k++) { for(j=0;jStop) { delete []pos; return; } xx = GetX(x,i,j,k); yy = GetY(y,i,j,k); mreal vv = z->v(i,j,k); p = mglPoint(xx.x, yy.x, vv); q = mglPoint(xx.y, yy.y, z->dvx(i,j,k)); s = mglPoint(xx.z, yy.z, z->dvy(i,j,k)); pos[i+n*j] = gr->AddPnt(p,gr->GetC(ss,vv),q^s,gr->GetA(c->v(i,j,k))); } if(sch && mglchr(sch,'.')) for(i=0;imark_plot(pos[i],'.'); else mgl_surf_plot(gr,pos,n,m); if(mglchr(sch,'#')) { gr->Reserve(n*m); gr->SetPenPal("k-"); for(i=0;iCopyNtoC(pos[i],gr->CDef); mgl_mesh_plot(gr,pos,n,m,3); } } delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surfa(HMGL gr, HCDT z, HCDT c, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()), y(z->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_surfa_xy(gr,&x,&y,z,c,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surfa_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surfa_xy(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surfa_(uintptr_t *gr, uintptr_t *z, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surfa(_GR_, _DA_(z), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Boxs series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_boxs_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Boxs",true)) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Boxs",cgid++); long ly = y->GetNy()>=m ? y->GetNy() : y->GetNx(), lx = x->GetNx(); int d = gr->MeshNum>0 ? gr->MeshNum+1 : n*m, dx = n>d?n/d:1, dy = m>d?m/d:1; long ss = gr->AddTexture(sch); bool wire = mglchr(sch,'#'); bool full = mglchr(sch,'@'); gr->Reserve(8*n*m*z->GetNz()); mglPoint p1,p2,p3,p4,q,s,t(wire||full?NAN:0,0,1),xx,yy; mreal zz,z1,z2,x1,y1,x2,y2,x3,y3,c,z0=gr->GetOrgZ('x'); long k1,k2,k3,k4,k5,k6,k7,k8; for(k=0;kGetNz();k++) { for(i=0;iStop) return; zz = z->v(i,j,k); c = gr->GetC(ss,zz); xx = GetX(x,i,j,k); yy = GetY(y,i,j,k); x1 = iv(i+dx,j,k):NAN; z2 = jv(i,j+dy,k):NAN; q = mglPoint(xx.y,yy.y,0); s = mglPoint(xx.z,yy.z,0); p1 = mglPoint(xx.x,yy.x,zz); k1 = gr->AddPnt(p1,c,t); p2 = mglPoint(x1,y1,zz); k2 = gr->AddPnt(p2,c,t); p3 = mglPoint(x2,y2,zz); k3 = gr->AddPnt(p3,c,t); p4 = mglPoint(x3,y3,zz); k4 = gr->AddPnt(p4,c,t); if(wire) { gr->line_plot(k1,k2); gr->line_plot(k1,k3); gr->line_plot(k4,k2); gr->line_plot(k4,k3); } else gr->quad_plot(k1,k2,k3,k4); if(full) { p1 = mglPoint(xx.x,yy.x,z0); k5 = gr->AddPnt(p1,c,t); p2 = mglPoint(x1,y1,z0); k6 = gr->AddPnt(p2,c,t); p3 = mglPoint(x2,y2,z0); k7 = gr->AddPnt(p3,c,t); p4 = mglPoint(x3,y3,z0); k8 = gr->AddPnt(p4,c,t); if(wire) { gr->line_plot(k5,k6); gr->line_plot(k5,k7); gr->line_plot(k8,k6); gr->line_plot(k8,k7); gr->line_plot(k1,k5); gr->line_plot(k3,k7); gr->line_plot(k2,k6); gr->line_plot(k4,k8); } else { gr->quad_plot(k1,k2,k5,k6); gr->quad_plot(k1,k3,k5,k7); gr->quad_plot(k4,k2,k8,k6); gr->quad_plot(k4,k3,k8,k7); gr->quad_plot(k5,k6,k7,k8); } } else { p3 = mglPoint(x1,y1,z1); k5 = gr->AddPnt(p3,c,wire?t:q); p4 = mglPoint(x3,y3,z1); k6 = gr->AddPnt(p4,c,wire?t:q); if(wire) { gr->line_plot(k2,k5); gr->line_plot(k6,k5); gr->line_plot(k6,k4); } else gr->quad_plot(k2,k4,k5,k6); p3 = mglPoint(x2,y2,z2); k7 = gr->AddPnt(p3,c,wire?t:s); p4 = mglPoint(x3,y3,z2); k8 = gr->AddPnt(p4,c,wire?t:s); if(wire) { gr->line_plot(k3,k7); gr->line_plot(k4,k8); gr->line_plot(k7,k8); } else gr->quad_plot(k3,k4,k7,k8); } } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_boxs(HMGL gr, HCDT z, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()+1), y(z->GetNy()+1); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_boxs_xy(gr,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_boxs_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_boxs_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_boxs_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_boxs(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Tile series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tile_xy(HMGL gr, HCDT x, HCDT y, HCDT z, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,0,"Tile",true)) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Tile",cgid++); long ly = x->GetNy()>=z->GetNy() ? y->GetNy() : y->GetNx(), lx = x->GetNx(); int d = gr->MeshNum>0 ? gr->MeshNum+1 : n*m, dx = n>d?n/d:1, dy = m>d?m/d:1; long ss = gr->AddTexture(sch); gr->Reserve(4*n*m*z->GetNz()); mglPoint p1,p2,p3,p4,s=mglPoint(0,0,1); mreal zz,x0,y0,x1,y1,x2,y2,x3,y3,c; long k1,k2,k3,k4; for(k=0;kGetNz();k++) { for(j=0;jStop) return; zz = z->v(i,j,k); c = gr->GetC(ss,zz); x0 = GetX(x,i,j,k).x; y0 = GetY(y,i,j,k).x; x1 = iAddPnt(p1,c,s); p2 = mglPoint(x1,y1,zz); k2 = gr->AddPnt(p2,c,s); p3 = mglPoint(x2,y2,zz); k3 = gr->AddPnt(p3,c,s); p4 = mglPoint(x3,y3,zz); k4 = gr->AddPnt(p4,c,s); gr->quad_plot(k1,k2,k3,k4); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tile(HMGL gr, HCDT z, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()+1), y(z->GetNy()+1); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_tile_xy(gr,&x,&y,z,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tile_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tile_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tile_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tile(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // TileS series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tiles_xy(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT s, const char *sch, const char *opt) { register long i,j,k,n=z->GetNx(),m=z->GetNy(); if(mgl_check_dim2(gr,x,y,z,s,"TileS",true)) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("TileS",cgid++); long ly = x->GetNy()>=z->GetNy() ? y->GetNy() : y->GetNx(), lx = x->GetNx(); int d = gr->MeshNum>0 ? gr->MeshNum+1 : n*m, dx = n>d?n/d:1, dy = m>d?m/d:1; long cc = gr->AddTexture(sch); gr->Reserve(4*n*m*z->GetNz()); mglPoint p1,p2,p3,p4,t=mglPoint(0,0,1); mreal zz,x1,x2,x3,x4,y1,y2,y3,y4,ss,sm,c; long k1,k2,k3,k4; for(k=0;kGetNz();k++) { for(j=0;jStop) return; zz = z->v(i,j,k); c = gr->GetC(cc,zz); ss = (1-gr->GetA(s->v(i,j,k)))/2; sm = 1-ss; x1 = GetX(x,i,j,k).x; y1 = GetY(y,i,j,k).x; x2 = x3 = x4 = y2 = y3 = y4 = NAN; if(iAddPnt(p1,c,t); p2 = mglPoint(x1+x2*sm+x4*ss+x3*ss*sm, y1+y2*sm+y4*ss+y3*ss*sm, zz); k2 = gr->AddPnt(p2,c,t); p3 = mglPoint(x1+x2*ss+x4*sm+x3*ss*sm, y1+y2*ss+y4*sm+y3*ss*sm, zz); k3 = gr->AddPnt(p3,c,t); p4 = mglPoint(x1+x2*sm+x4*sm+x3*sm*sm, y1+y2*sm+y4*sm+y3*sm*sm, zz); k4 = gr->AddPnt(p4,c,t); gr->quad_plot(k1,k2,k3,k4); } } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tiles(HMGL gr, HCDT z, HCDT s, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()+1), y(z->GetNy()+1); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_tiles_xy(gr,&x,&y,z,s,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tiles_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, uintptr_t *r, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tiles_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), _DA_(r), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_tiles_(uintptr_t *gr, uintptr_t *a, uintptr_t *r, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_tiles(_GR_, _DA_(a), _DA_(r), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Map series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_map_xy(HMGL gr, HCDT x, HCDT y, HCDT ax, HCDT ay, const char *sch, const char *opt) { register long i,j,n=ax->GetNx(),m=ax->GetNy(); if(mgl_check_dim2(gr,x,y,ax,ay,"Map")) return; bool both = x->GetNx()==n && y->GetNx()==n && x->GetNy()==m && y->GetNy()==m; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Map",cgid++); long ss = gr->AddTexture(mgl_have_color(sch)?sch:"rgb",2); long s = both ? n:1, s1, s2; mreal xdy,xdx,ydx,ydy,xx,yy; mglPoint p,t=mglPoint(NAN); long *pos = new long[n*m]; gr->Reserve(n*m); for(j=0;jStop) { delete []pos; return; } s1 = i>0 ? 1:0; s2 = iv(i+s2,j)-ax->v(i-s1,j))/(GetX(x,i+s2,j).x-GetX(x,i-s1,j).x); ydx = (ay->v(i+s2,j)-ay->v(i-s1,j))/(GetX(x,i+s2,j).x-GetX(x,i-s1,j).x); s1 = j>0 ? s:0; s2 = jv(i,j+s2)-ax->v(i,j-s1))/(GetY(y,i,j+s2).x-GetY(y,i,j-s1).x); ydy = (ay->v(i,j+s2)-ay->v(i,j-s1))/(GetY(y,i,j+s2).x-GetY(y,i,j-s1).x); xdx = xdx*ydy - xdy*ydx; // Jacobian p = mglPoint(ax->v(i,j), ay->v(i,j), xdx); if(both) { xx = (x->v(i,j) - gr->Min.x)/(gr->Max.x - gr->Min.x); yy = (y->v(i,j) - gr->Min.y)/(gr->Max.y - gr->Min.y); } else { xx = (x->v(i) - gr->Min.x)/(gr->Max.x - gr->Min.x); yy = (y->v(j) - gr->Min.y)/(gr->Max.y - gr->Min.y); } if(xx<0) xx=0; if(xx>=1) xx=1/MGL_FEPSILON; if(yy<0) yy=0; if(yy>=1) yy=1/MGL_FEPSILON; pos[i+n*j] = gr->AddPnt(p,gr->GetC(ss,xx,false),t,yy); } if(sch && mglchr(sch,'.')) for(i=0;imark_plot(pos[i],'.'); else mgl_surf_plot(gr,pos,n,m); delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_map(HMGL gr, HCDT ax, HCDT ay, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(ax->GetNx()), y(ax->GetNy()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); mgl_map_xy(gr,&x,&y,ax,ay,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_map_xy_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_map_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_map_(uintptr_t *gr, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_map(_GR_, _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/pixel.cpp0000664000175000017500000012341712142400470015334 0ustar balakinbalakin/*************************************************************************** * pixel.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/canvas.h" //----------------------------------------------------------------------------- void mglCanvas::SetSize(int w,int h) { if(w<=0 || h<=0) { SetWarn(mglWarnSize,"SetSize"); return; } Width = w; Height = h; Depth = long(sqrt(double(w*h))); if(G) { delete []G; delete []C; delete []Z; delete []G4;delete []OI; } G = new unsigned char[w*h*3]; G4= new unsigned char[w*h*4]; C = new unsigned char[w*h*12]; Z = new float[w*h*3]; // only 3 planes OI= new int[w*h]; InPlot(0,1,0,1,false); Clf(); } //----------------------------------------------------------------------------- void mglDrawReg::set(mglCanvas *gr, int nx, int ny, int m) { int mx = m%nx, my = m/nx; x1 = gr->GetWidth()*mx/nx; y1 = gr->GetHeight()-gr->GetHeight()*(my+1)/ny; x2 = gr->GetWidth()*(mx+1)/nx-1; y2 = gr->GetHeight()-gr->GetHeight()*my/ny-1; } //----------------------------------------------------------------------------- void mglCanvas::PutDrawReg(mglDrawReg *d, const mglCanvas *gr) { if(!gr) return; int dd = d->x2 - d->x1; register long i,j; for(j=d->y1;jy2;j++) { i = d->x1+Width*(Height-1-j); memcpy(OI+i,gr->OI+i,dd*sizeof(int)); memcpy(Z+3*i,gr->Z+3*i,3*dd*sizeof(float)); memcpy(C+12*i,gr->C+12*i,12*dd); } } //----------------------------------------------------------------------------- void mglCanvas::PostScale(mglPoint &p) const { mglPoint q=p/(2*B.pf); p.x = B.x + q.x*B.b[0] + q.y*B.b[1] + q.z*B.b[2]; p.y = B.y + q.x*B.b[3] + q.y*B.b[4] + q.z*B.b[5]; p.z = B.z + q.x*B.b[6] + q.y*B.b[7] + q.z*B.b[8]; } //----------------------------------------------------------------------------- bool mglCanvas::ScalePoint(mglPoint &p, mglPoint &n, bool use_nan) const { bool res = get(MGL_DISABLE_SCALE) || mglBase::ScalePoint(p,n,use_nan); // if(TernAxis&4) return res; PostScale(p); mglPoint y=n; n.x = y.x*B.b[0] + y.y*B.b[1] + y.z*B.b[2]; // simpler for rotation only n.y = y.x*B.b[3] + y.y*B.b[4] + y.z*B.b[5]; n.z = y.x*B.b[6] + y.y*B.b[7] + y.z*B.b[8]; n.Normalize(); return res; } //----------------------------------------------------------------------------- long mglCanvas::ProjScale(int nf, long id, bool text) { mglPoint pp = GetPntP(id), nn = GetPntN(id), q, p, n, u; if(mgl_isnan(pp.x)) return -1; q = RestorePnt(pp)/(2*B.pf); u = RestorePnt(nn,true); u.Normalize(); mreal w=B1.b[0]/2, h=B1.b[4]/2, d=B1.b[8]/2, xx=B1.x-w/2, yy=B1.y-h/2; if(nf==0) { p.x = xx + q.x*w; p.y = yy + q.y*h; p.z = B1.z + q.z*d; n = u; } else if(nf==1) { p.x = xx + q.x*w; p.y = yy+h + q.z*h; p.z = B1.z + q.y*d; n = mglPoint(u.x,u.z,u.y); } else if(nf==2) { p.x = xx+w + q.z*w; p.y = yy + q.y*h; p.z = B1.z+ q.x*d; n = mglPoint(u.z,u.y,u.x); } else { p.x = xx+w + q.x*B.b[0]/2 + q.y*B.b[1]/2 + q.z*B.b[2]/2; n = nn; p.y = yy+h + q.x*B.b[3]/2 + q.y*B.b[4]/2 + q.z*B.b[5]/2; p.z = B.z + q.x*B.b[6]/2 + q.y*B.b[7]/2 + q.z*B.b[8]/2; } return CopyProj(id,p,text?n:nn); } //----------------------------------------------------------------------------- void mglCanvas::LightScale() { register long i; for(i=0;i<10;i++) { if(!light[i].n) continue; light[i].p=light[i].d; light[i].q=light[i].r; ScalePoint(light[i].q,light[i].p,false); light[i].p /= light[i].p.norm(); } } //----------------------------------------------------------------------------- // NOTE: Perspective is not support just now !!! Also it use LAST InPlot parameters!!! mglPoint mglCanvas::RestorePnt(mglPoint ps, bool norm) const { mreal s3 = 2*B.pf; mglPoint p; mreal W=Width/2, H=Height/2, D=Depth/2; mreal cx = B.z*Bp.b[2]+B.y*Bp.b[1]+B.x*Bp.b[0]-Bp.x*W-Bp.b[0]*W+W-Bp.b[1]*H-Bp.b[2]*D; mreal c0 = B.b[6]*Bp.b[2]+B.b[3]*Bp.b[1]+B.b[0]*Bp.b[0]; mreal c1 = B.b[7]*Bp.b[2]+B.b[4]*Bp.b[1]+B.b[1]*Bp.b[0]; mreal c2 = B.b[8]*Bp.b[2]+B.b[5]*Bp.b[1]+B.b[2]*Bp.b[0]; mreal cy = B.z*Bp.b[5]+B.y*Bp.b[4]+B.x*Bp.b[3]-Bp.b[3]*W-Bp.y*H-Bp.b[4]*H+H-Bp.b[5]*D; mreal c3 = B.b[6]*Bp.b[5]+B.b[3]*Bp.b[4]+B.b[0]*Bp.b[3]; mreal c4 = B.b[7]*Bp.b[5]+B.b[4]*Bp.b[4]+B.b[1]*Bp.b[3]; mreal c5 = B.b[8]*Bp.b[5]+B.b[5]*Bp.b[4]+B.b[2]*Bp.b[3]; mreal cz = B.z*Bp.b[8]+B.y*Bp.b[7]+B.x*Bp.b[6]-Bp.b[6]*W-Bp.b[7]*H-Bp.z*D-Bp.b[8]*D+D; mreal c6 = B.b[6]*Bp.b[8]+B.b[3]*Bp.b[7]+B.b[0]*Bp.b[6]; mreal c7 = B.b[7]*Bp.b[8]+B.b[4]*Bp.b[7]+B.b[1]*Bp.b[6]; mreal c8 = B.b[8]*Bp.b[8]+B.b[5]*Bp.b[7]+B.b[2]*Bp.b[6]; if(norm) cx=cy=cz=0; mreal xx = ps.x-cx, yy = ps.y-cy, zz = ps.z-cz; mreal d1=c0*c4-c1*c3, d2=c1*c5-c2*c4, d3=c0*c5-c2*c3; if(zz==zz) // try to use z-values { // put inverse matrix here: [x,y,z]=B^(-1)[xx,yy,zz] mreal det = (-c0*c4*c8+c1*c3*c8+c0*c5*c7-c2*c3*c7-c1*c5*c6+c2*c4*c6)/s3; p.x = (c2*c4-c1*c5)*zz+(c1*c8-c2*c7)*yy+(c5*c7-c4*c8)*xx; p.x /= det; p.y = (c0*c5-c2*c3)*zz+(c2*c6-c0*c8)*yy+(c3*c8-c5*c6)*xx; p.y /= det; p.z = (c1*c3-c0*c4)*zz+(c0*c7-c1*c6)*yy+(c4*c6-c3*c7)*xx; p.z /= det; } else if(fabs(d1) > fabs(d2) && fabs(d1) > fabs(d3)) // x-y plane { p.z = 0; p.x = s3*(c4*xx-c1*yy)/d1; p.y = s3*(c0*yy-c3*xx)/d1; } else if(fabs(d2) > fabs(d3)) // y-z { p.x = 0; p.y = s3*(c5*xx-c2*yy)/d2; p.z = s3*(c1*yy-c4*xx)/d2; } else // x-z { p.y = 0; p.x = s3*(c5*xx-c2*yy)/d3; p.z = s3*(c0*yy-c3*xx)/d3; } return p; } //----------------------------------------------------------------------------- mglPoint mglCanvas::CalcXYZ(int xs, int ys, bool real) const { mglPoint p, ps(xs,Height-ys,NAN); float zz = Z[3*(xs+Width*(Height-1-ys))]; if(zz>-1e20f) { ps.z = zz; real=false; } p = RestorePnt(ps); return real ? mglPoint(NAN,NAN,NAN) : mglPoint(Min.x + (Max.x-Min.x)*(p.x+1)/2, Min.y + (Max.y-Min.y)*(p.y+1)/2, Min.z + (Max.z-Min.z)*(p.z+1)/2); } //----------------------------------------------------------------------------- void mglCanvas::CalcScr(mglPoint p, int *xs, int *ys) const { mglPoint n; ScalePoint(p,n); if(xs) *xs=int(p.x); if(ys) *ys=int(p.y); } //----------------------------------------------------------------------------- mglPoint mglCanvas::CalcScr(mglPoint p) const { int x,y; CalcScr(p,&x,&y); return mglPoint(x,y); } //----------------------------------------------------------------------------- MGL_NO_EXPORT int mgl_type_prior[8]={1,2,4,5, 0,3,0, 7}; bool mglCreationOrder=false; bool operator<(const mglPrim &a, const mglPrim &b) { if(mglCreationOrder) return a.n1 t2; if(a.w!=b.w) return a.w > b.w; return a.n3 > b.n3; } //----------------------------------------------------------------------------- bool operator>(const mglPrim &a, const mglPrim &b) { if(mglCreationOrder) return a.n1>b.n1; register int t1 = mgl_type_prior[a.type], t2 = mgl_type_prior[b.type]; if(a.z!=b.z) return a.z > b.z; if(t1!=t2) return t1 < t2; if(a.w!=b.w) return a.w < b.w; return a.n3 < b.n3; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_canvas_thr(void *par) { mglThreadG *t=(mglThreadG *)par; (t->gr->*(t->f))(t->id, t->n, t->p); return NULL; } void mglStartThread(void (mglCanvas::*func)(size_t i, size_t n, const void *p), mglCanvas *gr, size_t n, const void *p=NULL) { if(!func || !gr) return; #if MGL_HAVE_PTHREAD if(mglNumThr<1) mgl_set_num_thr(0); if(mglNumThr>1) { pthread_t *tmp=new pthread_t[mglNumThr]; mglThreadG *par=new mglThreadG[mglNumThr]; register int i; for(i=0;i*func)(0,n,p); } } //----------------------------------------------------------------------------- void mglCanvas::pxl_combine(size_t id, size_t n, const void *) { unsigned char c[4],*cc; for(size_t i=id;i0) clr(MGL_FINISHED); if(get(MGL_FINISHED)) return; // nothing to do if(!(Quality&4) && Prm.size()>0) { PreparePrim(fast); bp=Bp; clr(MGL_FINISHED); mglStartThread(&mglCanvas::pxl_primdr,this,Prm.size()); } size_t n=Width*Height; BDef[3] = (Flag&3)!=2 ? 0:255; if(Quality&2) mglStartThread(&mglCanvas::pxl_combine,this,n); else mglStartThread(&mglCanvas::pxl_memcpy,this,n); BDef[3] = 255; mglStartThread(&mglCanvas::pxl_backgr,this,n); set(MGL_FINISHED); } //----------------------------------------------------------------------------- void mglCanvas::ClfZB(bool force) { if(!force && (Quality&4)) return; register long i,n=Width*Height; memset(C,0,12*n); memset(OI,0,n*sizeof(int)); for(i=0;i<3*n;i++) Z[i] = -1e20f; clr(MGL_FINISHED); } //----------------------------------------------------------------------------- void mglCanvas::Clf(mglColor Back) { Fog(0); PDef = 0xffff; pPos = 0; StartAutoGroup(NULL); Pnt.clear(); Prm.clear(); Ptx.clear(); Glf.clear(); Sub.clear(); Leg.clear(); Grp.clear(); Act.clear(); Txt.clear(); Txt.reserve(3); MGL_PUSH(Txt,mglTexture(MGL_DEF_PAL,-1),mutexTxt); MGL_PUSH(Txt,mglTexture(MGL_DEF_SCH,1),mutexTxt); if(Back==0) Back = 'w'; if((Flag&3)==2) Back = 'k'; BDef[0]=Back.r*255; BDef[1]=Back.g*255;BDef[2]=Back.b*255; BDef[3]=0; ClfZB(true); } //----------------------------------------------------------------------------- void mglCanvas::pxl_other(size_t id, size_t n, const void *p) { size_t i,j,k; const mglCanvas *gr = (const mglCanvas *)p; if(!gr) return; if(Quality&2) for(k=id;kZ[3*k+2],gr->C+12*k+8,gr->OI[k]); pnt_plot(i,j,gr->Z[3*k+1],gr->C+12*k+4,gr->OI[k]); pnt_plot(i,j,gr->Z[3*k],gr->C+12*k,gr->OI[k]); } else for(k=id;kZ[3*k],gr->C+12*k,gr->OI[k]); } } //----------------------------------------------------------------------------- void mglCanvas::Combine(const mglCanvas *gr) { if(Width!=gr->Width || Height!=gr->Height) return; // wrong sizes mglStartThread(&mglCanvas::pxl_other,this,Width*Height,gr); } //----------------------------------------------------------------------------- void mglCanvas::pnt_plot(long x,long y,mreal z,const unsigned char ci[4], int obj_id) { long i0=x+Width*(Height-1-y); if(ci[3]==0) return; unsigned char *cc = C+12*i0, c[4]; memcpy(c,ci,4); float *zz = Z+3*i0, zf = FogDist*(z/Depth-0.5-FogDz); if(zf<0) // add fog { int d = int(255.f-255.f*exp(5.f*zf)); unsigned char cb[4] = {BDef[0], BDef[1], BDef[2], (unsigned char)d}; if(d==255) return; combine(c,cb); } if(Quality&2) { if(z>=zz[1]) // shift point on slice down and paste new point { zz[2] = zz[1]; combine(cc+8,cc+4); if(z>=zz[0]) { zz[1] = zz[0]; zz[0] = z; OI[i0]=obj_id; memcpy(cc+4,cc,4); memcpy(cc,c,4); } else { zz[1] = z; memcpy(cc+4,c,4); } } else { if(z>=zz[2]) // shift point on slice down and paste new point { zz[2] = z; combine(cc+8,c); } else // point below the background { combine(c,cc+8); memcpy(cc+8,c,4); } } } else { if(z>=zz[0]) // point upper the background { zz[0]=z; memcpy(cc,c,4); OI[i0]=obj_id; } } } //----------------------------------------------------------------------------- unsigned char* mglCanvas::col2int(const mglPnt &p,unsigned char *r, int obj_id) { if(!r) return r; if(p.a<=0) { memset(r,0,4*sizeof(unsigned char)); return r; } register float b0=0,b1=0,b2=0, ar,ag,ab; ar = ag = ab = AmbBr; // if(get(MGL_ENABLE_LIGHT) && !mgl_isnan(p.u)) if(!mgl_isnan(p.u)) { float d0,d1,d2,nn; register long i; for(i=0;i<10;i++) { if(!light[i].n) continue; if(mgl_isnan(light[i].q.x)) // source at infinity { nn = 2*(p.u*light[i].p.x+p.v*light[i].p.y+p.w*light[i].p.z) / (p.u*p.u+p.v*p.v+p.w*p.w+1e-6); d0 = light[i].p.x - p.u*nn; d1 = light[i].p.y - p.v*nn; d2 = light[i].p.z - p.w*nn; nn = 1 + d2/sqrt(d0*d0+d1*d1+d2*d2+1e-6); nn = exp(-light[i].a*nn)*light[i].b*2; b0 += nn*light[i].c.r; b1 += nn*light[i].c.g; b2 += nn*light[i].c.b; } else if(get(MGL_DIFFUSIVE)) // diffuse light { d0 = light[i].q.x-p.x; // direction to light source d1 = light[i].q.y-p.y; d2 = light[i].q.z-p.z; nn = 2*(d0*light[i].p.x+d1*light[i].p.y+d2*light[i].p.z)/(d0*d0+d1*d1+d2*d2+1e-6); nn = exp(-light[i].a*nn)*light[i].b*2; ar += nn*light[i].c.r; ag += nn*light[i].c.g; ab += nn*light[i].c.b; } else // specular light { d0 = light[i].q.x-p.x; // direction to light source d1 = light[i].q.y-p.y; d2 = light[i].q.z-p.z; nn = d0*d0 + d1*d1 + d2*d2 + 1e-6; float bb = 2*(d0*light[i].p.x+d1*light[i].p.y+d2*light[i].p.z)/nn; // bb = exp(-light[i].a*nn)*light[i].b*2; // now difference for angles between normale and direction to light nn = 2*(p.u*d0+p.v*d1+p.w*d2)/(p.u*p.u+p.v*p.v+p.w*p.w+1e-6)/nn; d0 -= p.u*nn; d1 -= p.v*nn; d2 -= p.w*nn; nn = 1 + d2/sqrt(d0*d0+d1*d1+d2*d2+1e-6); // NOTE: here should be another aperture, but for simplicity I use the same nn = exp(-light[i].a*nn)*bb; b0 += nn*light[i].c.r; b1 += nn*light[i].c.g; b2 += nn*light[i].c.b; } } b0 += (ar>1 ? 1:ar)*p.r; // diffuse light b1 += (ar>1 ? 1:ar)*p.g; b2 += (ar>1 ? 1:ar)*p.b; b0 = b0<1 ? b0 : 1; // normalize components b1 = b1<1 ? b1 : 1; b2 = b2<1 ? b2 : 1; } else { b0=p.r; b1=p.g; b2=p.b; } // try to highlight faces if(obj_id==HighId) { b0*=0.7; b1*=0.7; b2*=0.7; } r[0] = (unsigned char)(255*b0); r[1] = (unsigned char)(255*b1); r[2] = (unsigned char)(255*b2); // r[3] = get(MGL_ENABLE_ALPHA) ? (unsigned char)(255*p.a) : 255; r[3] = (unsigned char)(255*p.a); return r; } //----------------------------------------------------------------------------- /// color mixing: color c1 is under color c2 !!! void mglCanvas::combine(unsigned char *c1, const unsigned char *c2) { if(!c2[3]) return; register unsigned int a1=c1[3], a2=c2[3],b1=255-a2; if(a1==0 || a2==255) { memcpy(c1,c2,4); return; } if((Flag&3)==0) { c1[0] = (c1[0]*b1 + c2[0]*a2)/256; c1[1] = (c1[1]*b1 + c2[1]*a2)/256; c1[2] = (c1[2]*b1 + c2[2]*a2)/256; c1[3] = (unsigned char)(a2+a1*b1/255); } else if((Flag&3)==1) { c1[0] = (unsigned char)((255-a1*(255-c1[0])/256)*(255-a2*(255-c2[0])/256)/256); c1[1] = (unsigned char)((255-a1*(255-c1[1])/256)*(255-a2*(255-c2[1])/256)/256); c1[2] = (unsigned char)((255-a1*(255-c1[2])/256)*(255-a2*(255-c2[2])/256)/256); c1[3] = 255; } else if((Flag&3)==2) { unsigned int b2,b3; b1 = (c1[0]*a1 + c2[0]*a2)/256; c1[0] = b1<255 ? b1 : 255; b2 = (c1[1]*a1 + c2[1]*a2)/256; c1[1] = b2<255 ? b2 : 255; b3 = (c1[2]*a1 + c2[2]*a2)/256; c1[2] = b3<255 ? b3 : 255; c1[3] = a1+a2>255? 255 : a1+a2; } } //----------------------------------------------------------------------------- unsigned char **mglCanvas::GetRGBLines(long &w, long &h, unsigned char *&f, bool alpha) { long d = alpha ? 4:3; unsigned char **p; Finish(); p = (unsigned char **)malloc(Height * sizeof(unsigned char *)); for(long i=0;id->x1?x1:d->x1; x2=x2x2?x2:d->x2; y1=y1>d->y1?y1:d->y1; y2=y2y2?y2:d->y2; if(x1>x2 || y1>y2) return; dd = d1.x*d2.y-d1.y*d2.x; dsx =-4*(d2.y*d3.x - d2.x*d3.y)*d1.y; dsy = 4*(d2.y*d3.x - d2.x*d3.y)*d1.x; if((d1.x==0 && d1.y==0) || (d2.x==0 && d2.y==0) || !(Quality&2)) { trig_draw(p1,p2,p4,true,d); trig_draw(p1,p3,p4,true,d); return; } mglPoint n1 = mglPoint(p2.x-p1.x,p2.y-p1.y,p2.z-p1.z)^mglPoint(p3.x-p1.x,p3.y-p1.y,p3.z-p1.z); mglPoint n2 = mglPoint(p2.x-p4.x,p2.y-p4.y,p2.z-p4.z)^mglPoint(p3.x-p4.x,p3.y-p4.y,p3.z-p4.z); mglPoint nr = (n1+n2)*0.5; register long i,j; register float u,v,s,xx,yy,qu,qv; float x0 = p1.x, y0 = p1.y; for(i=x1;i<=x2;i++) for(j=y1;j<=y2;j++) { xx = (i-x0); yy = (j-y0); s = dsx*xx + dsy*yy + (dd+d3.y*xx-d3.x*yy)*(dd+d3.y*xx-d3.x*yy); if(s<0) continue; // no solution s = sqrt(s); qu = d3.x*yy - d3.y*xx + dd + s; qv = d3.y*xx - d3.x*yy + dd + s; u = v = -1.f; if(qu && qv) { u = 2.f*(d2.y*xx - d2.x*yy)/qu; v = 2.f*(d1.x*yy - d1.y*xx)/qv; } if(u*(1.f-u)<0.f || v*(1.f-v)<0.f) // first root bad { qu = d3.x*yy - d3.y*xx + dd - s; qv = d3.y*xx - d3.x*yy + dd - s; u = v = -1.f; if(qu && qv) { u = 2.f*(d2.y*xx - d2.x*yy)/qu; v = 2.f*(d1.x*yy - d1.y*xx)/qv; } if(u*(1.f-u)<0.f || v*(1.f-v)<0.f) continue; // second root bad } p = p1+d1*u+d2*v+d3*(u*v); if(mgl_isnan(p.u) && !mgl_isnan(p.v)) { p.u = nr.x; p.v = nr.y; p.w = nr.z; } pnt_plot(i,j,p.z,col2int(p,r,d->ObjId),d->ObjId); } } //----------------------------------------------------------------------------- /* Linear interpolation r(u,v) = r0 + (r1-r0)*u + (r2-r0)*v is used, where r is one of {x,y,z,R,G,B,A}. Variables u,v are determined for each point (x,y). Point plotted is u>0 and v>0 and u+v<1.*/ void mglCanvas::trig_draw(const mglPnt &p1, const mglPnt &p2, const mglPnt &p3, bool anorm, mglDrawReg *d) { if(!(Quality&3) && anorm) { fast_draw(p1,p2,d); fast_draw(p1,p3,d); fast_draw(p2,p3,d); return; } unsigned char r[4]; long y1,x1,y2,x2; float dxu,dxv,dyu,dyv; mglPnt d1=p2-p1, d2=p3-p1, p; dxu = d2.x*d1.y - d1.x*d2.y; if(fabs(dxu)<1e-5) return; // points lies on the same line dyv =-d1.x/dxu; dxv = d1.y/dxu; dyu = d2.x/dxu; dxu =-d2.y/dxu; x1 = long(fmin(fmin(p1.x,p2.x),p3.x)); // bounding box y1 = long(fmin(fmin(p1.y,p2.y),p3.y)); x2 = long(fmax(fmax(p1.x,p2.x),p3.x)); y2 = long(fmax(fmax(p1.y,p2.y),p3.y)); x1=x1>d->x1?x1:d->x1; x2=x2x2?x2:d->x2; y1=y1>d->y1?y1:d->y1; y2=y2y2?y2:d->y2; if(x1>x2 || y1>y2) return; // default normale mglPoint nr = mglPoint(p2.x-p1.x,p2.y-p1.y,p2.z-p1.z)^mglPoint(p3.x-p1.x,p3.y-p1.y,p3.z-p1.z); register float u,v,xx,yy; register long i,j; float x0 = p1.x, y0 = p1.y; if(Quality&2) for(i=x1;i<=x2;i++) for(j=y1;j<=y2;j++) { xx = (i-x0); yy = (j-y0); u = dxu*xx+dyu*yy; v = dxv*xx+dyv*yy; if(u<0 || v<0 || u+v>1) continue; p = p1+d1*u+d2*v; if(mgl_isnan(p.u) && !mgl_isnan(p.v) && anorm) { p.u = nr.x; p.v = nr.y; p.w = nr.z; } pnt_plot(i,j,p.z,col2int(p,r,d->ObjId),d->ObjId); } else for(i=x1;i<=x2;i++) for(j=y1;j<=y2;j++) { xx = (i-x0); yy = (j-y0); u = dxu*xx+dyu*yy; v = dxv*xx+dyv*yy; if(u<0 || v<0 || u+v>1) continue; pnt_plot(i,j,p1.z,col2int(p1,r,d->ObjId),d->ObjId); } } //----------------------------------------------------------------------------- void mglCanvas::line_draw(const mglPnt &p1, const mglPnt &p2, mglDrawReg *dr) { if(!(Quality&3)) { fast_draw(p1,p2,dr); return; } unsigned char r[4]; long y1,x1,y2,x2; float pw=dr->PenWidth, dxu,dxv,dyu,dyv,dd,dpw=3; float dz = Width>2 ? 1 : 1e-5*Width; // provide additional height to be well visible on the surfaces if(dr->ObjId==HighId) { pw *= 2; dpw=2; } mglPnt d=p2-p1, p; bool hor = fabs(d.x)>fabs(d.y); x1 = long(fmin(p1.x,p2.x)); y1 = long(fmin(p1.y,p2.y)); // bounding box x2 = long(fmax(p1.x,p2.x)); y2 = long(fmax(p1.y,p2.y)); x1 -= pw+3.5; x2 += pw+3.5; y1 -= pw+3.5; y2 += pw+3.5; x1=x1>dr->x1?x1:dr->x1; x2=x2x2?x2:dr->x2; y1=y1>dr->y1?y1:dr->y1; y2=y2y2?y2:dr->y2; dd = hypot(d.x, d.y); if(x1>x2 || y1>y2 || dd<1e-5) return; dxv = d.y/dd; dyv =-d.x/dd; dxu = d.x/dd; dyu = d.y/dd; bool aa=get(MGL_ENABLE_ALPHA); register float u,v,xx,yy; register long i,j; set(MGL_ENABLE_ALPHA); if(hor) for(i=x1;i<=x2;i++) { y1 = int(p1.y+d.y*(i-p1.x)/d.x - pw - 3.5); y2 = int(p1.y+d.y*(i-p1.x)/d.x + pw + 3.5); y1=y1>dr->y1?y1:dr->y1; y2=y2y2?y2:dr->y2; if(y1>y2) continue; for(j=y1;j<=y2;j++) { xx = (i-p1.x); yy = (j-p1.y); u = dxu*xx+dyu*yy; v = dxv*xx+dyv*yy; v = v*v; if(u<0) v += u*u; else if(u>dd) v += (u-dd)*(u-dd); if(v>pw*pw) continue; if(!(dr->PDef & ( 1<pPos+u/pw/1.5, 16)) ) )) continue; p = p1+d*(u/dd); col2int(p,r,dr->ObjId); r[3] = v<(pw-1)*(pw-1)/4 ? 255 : (unsigned char)(255/cosh(dpw*(sqrt(v)+(1-pw)/2))); pnt_plot(i,j,p.z+dz,r,dr->ObjId); } } else for(j=y1;j<=y2;j++) { x1 = int(p1.x+d.x*(j-p1.y)/d.y - pw - 3.5); x2 = int(p1.x+d.x*(j-p1.y)/d.y + pw + 3.5); x1=x1>dr->x1?x1:dr->x1; x2=x2x2?x2:dr->x2; if(x1>x2) continue; for(i=x1;i<=x2;i++) { xx = (i-p1.x); yy = (j-p1.y); u = dxu*xx+dyu*yy; v = dxv*xx+dyv*yy; v = v*v; if(u<0) v += u*u; else if(u>dd) v += (u-dd)*(u-dd); if(v>pw*pw) continue; if(!(dr->PDef & (1<pPos+u/pw/1.5, 16))))) continue; p = p1+d*(u/dd); col2int(p,r,dr->ObjId); r[3] = v<(pw-1)*(pw-1)/4 ? 255 : (unsigned char)(255/cosh(dpw*(sqrt(v)+(1-pw)/2))); pnt_plot(i,j,p.z+dz,r,dr->ObjId); } } set(aa,MGL_ENABLE_ALPHA); } //----------------------------------------------------------------------------- void mglCanvas::fast_draw(const mglPnt &p1, const mglPnt &p2, mglDrawReg *dr) { mglPnt d=p2-p1; unsigned char r[4]; col2int(p1,r,dr->ObjId); long y1,x1,y2,x2; bool hor = fabs(d.x)>fabs(d.y); x1 = long(fmin(p1.x,p2.x)); y1 = long(fmin(p1.y,p2.y)); // bounding box x2 = long(fmax(p1.x,p2.x)); y2 = long(fmax(p1.y,p2.y)); x1=x1>dr->x1?x1:dr->x1; x2=x2x2?x2:dr->x2-1; y1=y1>dr->y1?y1:dr->y1; y2=y2y2?y2:dr->y2-1; if(x1>x2 || y1>y2) return; register long i, c; if(hor && d.x!=0) for(i=x1;i<=x2;i++) { c = long(p1.y+d.y*(i-p1.x)/d.x); if(c>=y1 && c<=y2) pnt_plot(i, c, p1.z+d.z*(i-p1.x)/d.x, r,dr->ObjId); } else if(d.y!=0) for(i=y1;i<=y2;i++) { c = long(p1.x+d.x*(i-p1.y)/d.y); if(c>=x1 && c<=x2) pnt_plot(c, i, p1.z+d.z*(i-p1.y)/d.y, r,dr->ObjId); } } //----------------------------------------------------------------------------- void mglCanvas::pnt_draw(const mglPnt &p, mglDrawReg *dr) { // if(k<0 || !dr) return; register long i,j; register float v,pw=3*dr->PenWidth,dpw=3; if(dr->ObjId==HighId) { pw *= 2; dpw=2; } unsigned char cs[4], cc; col2int(p,cs,dr->ObjId); cc = cs[3]; if(cc==0) return; long s = long(5.5+fabs(pw)); long i1=fmax(-s,dr->x1-p.x),i2=fmin(s,dr->x2-p.x), j1=fmax(-s,dr->y1-p.y),j2=fmin(s,dr->y2-p.y); if(!(Quality&3)) for(j=j1;j<=j2;j++) for(i=i1;i<=i2;i++) // fast draw { v = i*i+j*j; if(v>1+(pw-1)*(pw-1)/4) continue; pnt_plot(p.x+i,p.y+j,p.z,cs,dr->ObjId); } else for(j=j1;j<=j2;j++) for(i=i1;i<=i2;i++) { v = i*i+j*j; cs[3] = v<(pw-1)*(pw-1)/4 ? cc : (unsigned char)(cc/cosh(dpw*(sqrt(v)+(1-pw)/2))); // cs[3] = (unsigned char)(cc*exp(-6*v)); pnt_plot(p.x+i,p.y+j,p.z,cs,dr->ObjId); } } //----------------------------------------------------------------------------- void mglCanvas::mark_draw(const mglPnt &q, char type, mreal size, mglDrawReg *d) { unsigned char cs[4]; col2int(q,cs,d->ObjId); cs[3] = size>0 ? 255 : 255*q.t; mglPnt p0=q,p1=q,p2=q,p3=q; mreal ss=fabs(size); register long i,j; if(type=='.' || ss==0) { if(d) d->PenWidth = ss?ss:sqrt(font_factor/400); pnt_draw(q,d); } else { if(d) { d->PDef = 0xffff; d->PenWidth*=fabs(50*size); if(d->PenWidth<1) d->PenWidth=1; } if(!strchr("xsSoO",type)) ss *= 1.1; switch(type) { case 'P': p0.x = q.x-ss; p0.y = q.y-ss; p1.x = q.x+ss; p1.y = q.y-ss; p2.x = q.x+ss; p2.y = q.y+ss; p3.x = q.x-ss; p3.y = q.y+ss; line_draw(p0,p1,d); line_draw(p1,p2,d); line_draw(p2,p3,d); line_draw(p3,p0,d); case '+': p0.x = q.x-ss; p0.y = q.y; p1.x = q.x+ss; p1.y = q.y; line_draw(p0,p1,d); p2.x = q.x; p2.y = q.y-ss; p3.x = q.x; p3.y = q.y+ss; line_draw(p2,p3,d); break; case 'X': p0.x = q.x-ss; p0.y = q.y-ss; p1.x = q.x+ss; p1.y = q.y-ss; p2.x = q.x+ss; p2.y = q.y+ss; p3.x = q.x-ss; p3.y = q.y+ss; line_draw(p0,p1,d); line_draw(p1,p2,d); line_draw(p2,p3,d); line_draw(p3,p0,d); case 'x': p0.x = q.x-ss; p0.y = q.y-ss; p1.x = q.x+ss; p1.y = q.y+ss; line_draw(p0,p1,d); p2.x = q.x+ss; p2.y = q.y-ss; p3.x = q.x-ss; p3.y = q.y+ss; line_draw(p2,p3,d); break; case 'S': p0.x = q.x-ss; p0.y = q.y-ss; p1.x = q.x-ss; p1.y = q.y+ss; p2.x= q.x+ss; p2.y= q.y+ss; p3.x = q.x+ss; p3.y = q.y-ss; quad_draw(p0,p1,p3,p2,d); case 's': p0.x = q.x-ss; p0.y = q.y-ss; p1.x = q.x+ss; p1.y = q.y-ss; p2.x = q.x+ss; p2.y = q.y+ss; p3.x = q.x-ss; p3.y = q.y+ss; line_draw(p0,p1,d); line_draw(p1,p2,d); line_draw(p2,p3,d); line_draw(p3,p0,d); break; case 'D': p0.x = q.x; p0.y = q.y-ss; p1.x = q.x+ss; p1.y = q.y; p2.x= q.x; p2.y= q.y+ss; p3.x = q.x-ss; p3.y = q.y; quad_draw(p0,p1,p3,p2,d); case 'd': p0.x = q.x; p0.y = q.y-ss; p1.x = q.x+ss; p1.y = q.y; p2.x = q.x; p2.y = q.y+ss; p3.x = q.x-ss; p3.y = q.y; line_draw(p0,p1,d); line_draw(p1,p2,d); line_draw(p2,p3,d); line_draw(p3,p0,d); break; case 'Y': p1.x = q.x; p1.y = q.y-ss; line_draw(q,p1,d); p2.x = q.x-0.8*ss; p2.y = q.y+0.6*ss; line_draw(q,p2,d); p3.x = q.x+0.8*ss; p3.y = q.y+0.6*ss; line_draw(q,p3,d); break; case '*': p0.x = q.x-ss; p0.y = q.y; p1.x = q.x+ss; p1.y = q.y; line_draw(p0,p1,d); p0.x = q.x-0.6*ss; p0.y = q.y-0.8*ss; p1.x = q.x+0.6*ss; p1.y = q.y+0.8*ss; line_draw(p0,p1,d); p0.x = q.x-0.6*ss; p0.y = q.y+0.8*ss; p1.x = q.x+0.6*ss; p1.y = q.y-0.8*ss; line_draw(p0,p1,d); break; case 'T': p0.x = q.x-ss; p0.y = q.y-ss/2; p1.x = q.x+ss; p1.y = q.y-ss/2; p2.x= q.x; p2.y= q.y+ss; trig_draw(p0,p1,p2,false,d); case '^': p0.x = q.x-ss; p0.y = q.y-ss/2; p1.x = q.x+ss; p1.y = q.y-ss/2; p2.x= q.x; p2.y= q.y+ss; line_draw(p0,p1,d); line_draw(p1,p2,d); line_draw(p2,p0,d); break; case 'V': p0.x = q.x-ss; p0.y = q.y+ss/2; p1.x = q.x+ss; p1.y = q.y+ss/2; p2.x= q.x; p2.y= q.y-ss; trig_draw(p0,p1,p2,false,d); case 'v': p0.x = q.x-ss; p0.y = q.y+ss/2; p1.x = q.x+ss; p1.y = q.y+ss/2; p2.x= q.x; p2.y= q.y-ss; line_draw(p0,p1,d); line_draw(p1,p2,d); line_draw(p2,p0,d); break; case 'L': p0.x = q.x+ss/2; p0.y = q.y+ss; p1.x = q.x+ss/2; p1.y = q.y-ss; p2.x= q.x-ss; p2.y= q.y; trig_draw(p0,p1,p2,false,d); case '<': p0.x = q.x+ss/2; p0.y = q.y+ss; p1.x = q.x+ss/2; p1.y = q.y-ss; p2.x= q.x-ss; p2.y= q.y; line_draw(p0,p1,d); line_draw(p1,p2,d); line_draw(p2,p0,d); break; case 'R': p0.x = q.x-ss/2; p0.y = q.y+ss; p1.x = q.x-ss/2; p1.y = q.y-ss; p2.x= q.x+ss; p2.y= q.y; trig_draw(p0,p1,p2,false,d); case '>': p0.x = q.x-ss/2; p0.y = q.y+ss; p1.x = q.x-ss/2; p1.y = q.y-ss; p2.x= q.x+ss; p2.y= q.y; line_draw(p0,p1,d); line_draw(p1,p2,d); line_draw(p2,p0,d); break; case 'O': for(j=long(-ss);j<=long(ss);j++) for(i=long(-ss);i<=long(ss);i++) { register long x=long(q.x)+i, y=long(q.y)+j; if(i*i+j*j>=ss*ss || !d || xx1 || x>d->x2 || yy1 || y>d->y2) continue; pnt_plot(x,y,q.z+1,cs,d->ObjId); } case 'o': for(i=0;i<=20;i++) { p0 = p1; p1.x = q.x+ss*cos(i*M_PI/10); p1.y = q.y+ss*sin(i*M_PI/10); if(i>0) line_draw(p0,p1,d); } break; case 'C': pnt_draw(q,d); for(i=0;i<=20;i++) { p0 = p1; p1.x = q.x+ss*cos(i*M_PI/10); p1.y = q.y+ss*sin(i*M_PI/10); if(i>0) line_draw(p0,p1,d); } break; } } } //----------------------------------------------------------------------------- // scale direction for new view/zoom float mglCanvas::GetGlyphPhi(const mglPnt &q, float phi) { float dv = (1-Bp.pf)/(1-Bp.pf*q.z/Depth); float x,y,z,c=Bp.pf/(1-Bp.pf)/Depth,ll; x = Bp.b[0]*q.u + Bp.b[1]*q.v + Bp.b[2]*q.w; y = Bp.b[3]*q.u + Bp.b[4]*q.v + Bp.b[5]*q.w; z = Bp.b[6]*q.u + Bp.b[7]*q.v + Bp.b[8]*q.w; x += (q.x-Width/2)*z*c*dv; y += (q.y-Height/2)*z*c*dv; ll = x*x+y*y; if(ll < 1e-10) return NAN; if(ll==ll && phi<1e4) { phi = -atan2(y,x)*180/M_PI; if(fabs(phi)>90) phi+=180; } else phi=0; return phi; } //----------------------------------------------------------------------------- void mglCanvas::glyph_draw(const mglPrim &P, mglDrawReg *d) { float phi = GetGlyphPhi(Pnt[P.n2],P.w); if(mgl_isnan(phi)) return; mglPnt p=Pnt[P.n1]; mreal pf=sqrt((Bp.b[0]*Bp.b[0]+Bp.b[1]*Bp.b[1]+Bp.b[3]*Bp.b[3]+Bp.b[4]*Bp.b[4])/2), f = P.p*pf; #if MGL_HAVE_PTHREAD pthread_mutex_lock(&mutexPnt); #endif Push(); B.clear(); B.b[0] = B.b[4] = B.b[8] = P.s; RotateN(phi,0,0,1); B.x=p.x; B.y=p.y; B.z=p.z; B.pf = 1; p.u *= pf; p.v *= pf; const mglGlyph &g = Glf[P.n4]; if(P.n3&8) { if(!(P.n3&4)) glyph_line(p,f,true, d); glyph_line(p,f,false, d); } else { if(!(P.n3&4)) glyph_fill(p,f,g, d); glyph_wire(p,f,g, d); } Pop(); #if MGL_HAVE_PTHREAD pthread_mutex_unlock(&mutexPnt); #endif } //----------------------------------------------------------------------------- void mglCanvas::glyph_fill(const mglPnt &pp, mreal f, const mglGlyph &g, mglDrawReg *d) { if(!g.trig || g.nt<=0) return; long ik,ii; mglPnt q0=pp, q1=pp, q2=pp; q0.u=q0.v=q1.u=q1.v=q2.u=q2.v=NAN; mglPoint p1,p2,p3; for(ik=0;ikPDef = 0xffff; d->PenWidth=0.75; } mglPoint p1,p2; for(ik=0;ikPDef = 0xffff; d->PenWidth=1; } mglPoint p1,p2,p3,p4; mreal dy = 0.004; p1 = mglPoint(pp.u,pp.v-dy,0); PostScale(p1); p2 = mglPoint(pp.u,pp.v+dy,0); PostScale(p2); p3 = mglPoint(fabs(f)+pp.u,pp.v+dy,0); PostScale(p3); p4 = mglPoint(fabs(f)+pp.u,pp.v-dy,0); PostScale(p4); q0.x = p1.x; q0.y = p1.y; q0.z = p1.z; q1.x = p2.x; q1.y = p2.y; q1.z = p2.z; q2.x = p3.x; q2.y = p3.y; q2.z = p3.z; q3.x = p4.x; q3.y = p4.y; q3.z = p4.z; if(solid) quad_draw(q0,q1,q3,q2,d); else { line_draw(q0,q1,d); line_draw(q2,q1,d); line_draw(q0,q3,d); line_draw(q2,q3,d); } } //----------------------------------------------------------------------------- long mglCanvas::setPp(mglPnt &q, const mglPoint &p) { q.xx=q.x=p.x; q.yy=q.y=p.y; q.zz=q.z=p.z; MGL_PUSH(Pnt,q,mutexPnt); return Pnt.size()-1; } //----------------------------------------------------------------------------- void mglCanvas::arrow_draw(long n1, long n2, char st, float ll) { const mglPnt &p1=Pnt[n1], &p2=Pnt[n2]; mglPnt q=p1; //q.u=q.v=q.w=0; mglPoint kl=mglPoint(p1.x-p2.x,p1.y-p2.y,p1.z-p2.z), kt, p0=mglPoint(p1.x,p1.y,p1.z), p; mreal d = hypot(kl.x,kl.y); if(d==0) return; kl /= d; kt = !kl; kl *= ll; kt *= ll; Reserve(8); long k1,k2,k3,k4; switch(st) // S,D -- cube, T -- sq.pyramid, I -- square, O -- sphere???, A,K,V -- cone??? { case 'I': k1=setPp(q,p0+kt); k2=setPp(q,p0-kt); line_plot(k1,k2); break; case 'D': k1=setPp(q,p0+kl); k2=setPp(q,p0-kl); k3=setPp(q,p0+kt); k4=setPp(q,p0-kt); trig_plot(k1,k2,k3); trig_plot(k1,k2,k4); break; case 'S': k1=setPp(q,p0+kl+kt); k2=setPp(q,p0+kl-kt); k3=setPp(q,p0-kl-kt); k4=setPp(q,p0-kl+kt); quad_plot(k1,k2,k4,k3); break; case 'T': k1=setPp(q,p0-kl+kt); k2=setPp(q,p0-kl-kt); k3=setPp(q,p0+kl); trig_plot(k1,k2,k3); break; case 'K': k1=setPp(q,p0+kt); k2=setPp(q,p0-kt); line_plot(k1,k2); case 'A': k1=setPp(q,p0-2.*kl+kt); k2=setPp(q,p0-2.*kl-kt); k3=setPp(q,p0-1.5*kl); trig_plot(n1,k3,k1); trig_plot(n1,k3,k2); break; case 'V': k1=setPp(q,p0+2.*kl+kt); k2=setPp(q,p0+2.*kl-kt); k3=setPp(q,p0+1.5*kl); trig_plot(n1,k3,k1); trig_plot(n1,k3,k2); break; case 'O': // let draw icosahedron { const int n = 12; k1=setPp(q,p0+kl); for(int i=1;i<=n;i++) { mreal u = 2*i*M_PI/n; k2 = k1; k1 = setPp(q,p0+kl*cos(u)+kt*sin(u)); trig_plot(n1,k1,k2); } break; } } } //----------------------------------------------------------------------------- void mglCanvas::arrow_plot_3d(long n1, long n2, char st, float ll) { const mglPnt &p1=Pnt[n1], &p2=Pnt[n2]; mglPnt q=p1; //q.u=q.v=q.w=0; mglPoint kl=mglPoint(p1.x-p2.x,p1.y-p2.y,p1.z-p2.z), kt, kz, p0=mglPoint(p1.x,p1.y,p1.z), p; if(kl.norm()==0) return; kl.Normalize(); kt = !kl; kz = kl^kt; kl *= ll; kt *= ll; kz *= ll; Reserve(8); long k1,k2,k3,k4,k5, k6,k7,k8; switch(st) // S,D -- cube, T -- sq.pyramid, I -- square, O -- sphere???, A,K,V -- cone??? { case 'I': k1=setPp(q,p0+kt); k2=setPp(q,p0+kz); k3=setPp(q,p0-kt); k4=setPp(q,p0-kz); quad_plot(k1,k2,k4,k3); break; case 'D': k1=setPp(q,p0+kl); k2=setPp(q,p0-kl); k5=k3=setPp(q,p0+kt); k4=setPp(q,p0+kz); trig_plot(k1,k3,k4); trig_plot(k2,k3,k4); k3=k4; k4=setPp(q,p0-kt); trig_plot(k1,k3,k4); trig_plot(k2,k3,k4); k3=k4; k4=setPp(q,p0-kz); trig_plot(k1,k3,k4); trig_plot(k2,k3,k4); k3=k4; trig_plot(k1,k3,k5); trig_plot(k2,k3,k5); break; case 'S': k1=setPp(q,p0+kl+kt); k2=setPp(q,p0+kl+kz); k3=setPp(q,p0+kl-kt); k4=setPp(q,p0+kl-kz); k5=setPp(q,p0-kl+kt); k6=setPp(q,p0-kl+kz); k7=setPp(q,p0-kl-kt); k8=setPp(q,p0-kl-kz); quad_plot(k1,k2,k4,k3); quad_plot(k1,k2,k5,k6); quad_plot(k3,k2,k7,k6); quad_plot(k1,k4,k5,k8); quad_plot(k3,k4,k7,k8); quad_plot(k5,k6,k8,k7); break; case 'T': k1=setPp(q,p0-kl+kt); k2=setPp(q,p0-kl+kz); k3=setPp(q,p0-kl-kt); k4=setPp(q,p0-kl-kz); k5=setPp(q,p0+kl); trig_plot(k1,k2,k5); trig_plot(k2,k3,k5); trig_plot(k3,k4,k5); trig_plot(k1,k4,k5); break; case 'K': k1=setPp(q,p0+kt); k2=setPp(q,p0+kz); k3=setPp(q,p0-kt); k4=setPp(q,p0-kz); quad_plot(k1,k2,k4,k3); case 'A': k1=setPp(q,p0-2.*kl+kt); k2=setPp(q,p0-2.*kl+kz); k3=setPp(q,p0-2.*kl-kt); k4=setPp(q,p0-2.*kl-kz); k5=setPp(q,p0-1.5*kl); trig_plot(n1,k5,k1); trig_plot(n1,k5,k2); trig_plot(n1,k5,k3); trig_plot(n1,k5,k4); break; case 'V': k1=setPp(q,p0+2.*kl+kt); k2=setPp(q,p0+2.*kl+kz); k3=setPp(q,p0+2.*kl-kt); k4=setPp(q,p0+2.*kl-kz); k5=setPp(q,p0+1.5*kl); trig_plot(n1,k5,k1); trig_plot(n1,k5,k2); trig_plot(n1,k5,k3); trig_plot(n1,k5,k4); break; case 'O': // let draw icosahedron { const int n = 12, m = n/2; Reserve(n*m); register long i,j; long *nn=new long[2*n], n1=setPp(q,p0+kl), n2=setPp(q,p0-kl); mreal u,v,rr; for(i=0;i0 && i0) quad_plot(nn[j-1], nn[j], nn[j+n-1], nn[j+n]); } delete []nn; break; } } } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/base_cf.cpp0000664000175000017500000003351212142400470015571 0ustar balakinbalakin/*************************************************************************** * base.cpp is part of Math gric Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/font.h" #include "mgl2/base_cf.h" //----------------------------------------------------------------------------- // // C interfaces // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_quality(HMGL gr, int qual) { gr->SetQuality(qual); } void MGL_EXPORT mgl_set_quality_(uintptr_t *gr, int *qual) { _GR_->SetQuality(*qual); } int MGL_EXPORT mgl_get_quality(HMGL gr) { return gr->GetQuality(); } int MGL_EXPORT mgl_get_quality_(uintptr_t *gr) { return _GR_->GetQuality(); } int MGL_EXPORT mgl_is_frames(HMGL gr) { return gr->get(MGL_VECT_FRAME) && !(gr->GetQuality()&4); } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_get_flag(HMGL gr, long flag) { return gr->get(flag); } void MGL_EXPORT mgl_set_flag(HMGL gr, int val, long flag) { gr->set(val,flag); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_color(char id, double r, double g, double b) { register size_t i; for(i=0;mglColorIds[i].id;i++) if(mglColorIds[i].id==id) mglColorIds[i].col = mglColor(r,g,b); } void MGL_EXPORT mgl_set_color_(char *id, mreal *r, mreal *g, mreal *b, int) { mgl_set_color(*id,*r,*g,*b); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_def_sch(HMGL gr, const char *sch) { gr->SetDefScheme(sch); } void MGL_EXPORT mgl_set_def_sch_(uintptr_t *gr, const char *sch,int l) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; mgl_set_def_sch(_GR_, s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_plotid(HMGL gr, const char *id) { gr->PlotId = id; } void MGL_EXPORT mgl_set_plotid_(uintptr_t *gr, const char *id,int l) { char *s=new char[l+1]; memcpy(s,id,l); s[l]=0; _GR_->PlotId = s; delete []s; } MGL_EXPORT const char *mgl_get_plotid(HMGL gr) { return gr->PlotId.c_str(); } //----------------------------------------------------------------------------- MGL_EXPORT const char *mgl_get_mess(HMGL gr) { return gr->Mess.c_str(); } int MGL_EXPORT mgl_get_warn(HMGL gr) { return gr->GetWarn(); } void MGL_EXPORT mgl_set_warn(HMGL gr, int code, const char *txt) { gr->SetWarn(code,txt); } void MGL_EXPORT mgl_set_origin(HMGL gr, double x0, double y0, double z0) { gr->SetOrigin(x0,y0,z0); } void MGL_EXPORT mgl_set_palette(HMGL gr, const char *colors) { gr->SetPalette(colors); } void MGL_EXPORT mgl_set_meshnum(HMGL gr, int num) { gr->SetMeshNum(num); } void MGL_EXPORT mgl_set_facenum(HMGL gr, int num) { gr->FaceNum=num; } void MGL_EXPORT mgl_set_alpha_default(HMGL gr, double alpha) { gr->SetAlphaDef(alpha); } void MGL_EXPORT mgl_set_light_dif(HMGL gr, int enable) { gr->SetDifLight(enable); } void MGL_EXPORT mgl_clear_unused(HMGL gr) { gr->ClearUnused(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_rdc_acc(HMGL gr, int reduce) { gr->SetReduceAcc(reduce); } void MGL_EXPORT mgl_highlight(HMGL gr, int id) { gr->Highlight(id); } void MGL_EXPORT mgl_set_cut(HMGL gr, int cut) { gr->SetCut(cut); } void MGL_EXPORT mgl_set_cut_box(HMGL gr, double x1,double y1,double z1,double x2,double y2,double z2) { gr->SetCutBox(x1,y1,z1,x2,y2,z2); } void MGL_EXPORT mgl_set_cutoff(HMGL gr, const char *EqC) { gr->CutOff(EqC); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_ternary(HMGL gr, int enable) { gr->Ternary(enable); } void MGL_EXPORT mgl_set_range_val(HMGL gr, char dir, double v1,double v2) { if(dir=='c') gr->CRange(v1,v2); else if(dir=='x') gr->XRange(v1,v2); else if(dir=='y') gr->YRange(v1,v2); else if(dir=='z') gr->ZRange(v1,v2); } void MGL_EXPORT mgl_set_range_dat(HMGL gr, char dir, HCDT a, int add) { if(dir=='c') gr->CRange(a,add); else if(dir=='x') gr->XRange(a,add); else if(dir=='y') gr->YRange(a,add); else if(dir=='z') gr->ZRange(a,add); } void MGL_EXPORT mgl_set_ranges(HMGL gr, double x1, double x2, double y1, double y2, double z1, double z2) { gr->SetRanges(x1,x2,y1,y2,z1,z2); } void MGL_EXPORT mgl_set_auto_ranges(HMGL gr, double x1, double x2, double y1, double y2, double z1, double z2, double c1, double c2) { gr->SetAutoRanges(x1,x2,y1,y2,z1,z2,c1,c2); } void MGL_EXPORT mgl_set_func(HMGL gr, const char *EqX,const char *EqY,const char *EqZ,const char *EqA) { gr->SetFunc(EqX,EqY,EqZ,EqA); } void MGL_EXPORT mgl_set_coor(HMGL gr, int how) { gr->SetCoor(how); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_bar_width(HMGL gr, double width) { gr->SetBarWidth(width); } //----------------------------------------------------------------------------- // // Fortran interfaces // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_rdc_acc_(uintptr_t *gr, int *reduce) { _GR_->SetReduceAcc(*reduce); } void MGL_EXPORT mgl_highlight_(uintptr_t *gr, int *id) { _GR_->Highlight(*id); } void MGL_EXPORT mgl_set_origin_(uintptr_t *gr, mreal *x0, mreal *y0, mreal *z0) { _GR_->SetOrigin(*x0,*y0,*z0); } int MGL_EXPORT mgl_get_warn_(uintptr_t *gr) { return _GR_->GetWarn(); } void MGL_EXPORT mgl_set_warn_(uintptr_t *gr, int *code, const char *txt, int l) { char *s=new char[l+1]; memcpy(s,txt,l); s[l]=0; _GR_->SetWarn(*code, s); delete []s; } void MGL_EXPORT mgl_set_palette_(uintptr_t *gr, const char *colors, int l) { char *s=new char[l+1]; memcpy(s,colors,l); s[l]=0; _GR_->SetPalette(s); delete []s; } void MGL_EXPORT mgl_set_meshnum_(uintptr_t *gr, int *num) { _GR_->SetMeshNum(*num); } void MGL_EXPORT mgl_set_facenum_(uintptr_t *gr, int *num) { _GR_->FaceNum=*num; } void MGL_EXPORT mgl_set_alpha_default_(uintptr_t *gr, mreal *alpha) { _GR_->SetAlphaDef(*alpha); } void MGL_EXPORT mgl_set_light_dif_(uintptr_t *gr, int *enable) { _GR_->SetDifLight(*enable); } void MGL_EXPORT mgl_clear_unused_(uintptr_t *gr) { _GR_->ClearUnused(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_cut_box_(uintptr_t *gr, mreal *x1, mreal *y1, mreal *z1, mreal *x2, mreal *y2, mreal *z2) { _GR_->SetCutBox(*x1,*y1,*z1,*x2,*y2,*z2); } void MGL_EXPORT mgl_set_cut_(uintptr_t *gr, int *cut) { _GR_->SetCut(*cut); } void MGL_EXPORT mgl_set_cutoff_(uintptr_t *gr, const char *EqC, int l) { char *s=new char[l+1]; memcpy(s,EqC,l); s[l]=0; _GR_->CutOff(s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_ternary_(uintptr_t *gr, int *enable) { _GR_->Ternary(*enable); } void MGL_EXPORT mgl_set_range_val_(uintptr_t *gr, const char *dir, mreal *v1, mreal *v2,int) { mgl_set_range_val(_GR_,*dir,*v1,*v2); } void MGL_EXPORT mgl_set_range_dat_(uintptr_t *gr, const char *dir, uintptr_t *a, int *add,int) { mgl_set_range_dat(_GR_,*dir,_DA_(a),*add); } void MGL_EXPORT mgl_set_ranges_(uintptr_t *gr, mreal *x1, mreal *x2, mreal *y1, mreal *y2, mreal *z1, mreal *z2) { _GR_->SetRanges(*x1,*x2,*y1,*y2,*z1,*z2); } void MGL_EXPORT mgl_set_auto_ranges_(uintptr_t *gr, mreal *x1, mreal *x2, mreal *y1, mreal *y2, mreal *z1, mreal *z2, mreal *c1, mreal *c2) { _GR_->SetAutoRanges(*x1,*x2,*y1,*y2,*z1,*z2,*c1,*c2); } void MGL_EXPORT mgl_set_func_(uintptr_t *gr, const char *EqX,const char *EqY,const char *EqZ,const char *EqA,int lx,int ly,int lz,int la) { char *sx=new char[lx+1]; memcpy(sx,EqX,lx); sx[lx]=0; char *sy=new char[ly+1]; memcpy(sy,EqY,ly); sy[ly]=0; char *sz=new char[lz+1]; memcpy(sz,EqZ,lz); sz[lz]=0; char *sa=new char[la+1]; memcpy(sa,EqA,la); sa[la]=0; _GR_->SetFunc(sx,sy,sz,sa); delete []sx; delete []sy; delete []sz; delete []sa; } void MGL_EXPORT mgl_set_coor_(uintptr_t *gr, int *how) { _GR_->SetCoor(*how); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_tick_rotate(HMGL gr, int enable){ gr->SetTickRotate(enable); } void MGL_EXPORT mgl_set_tick_skip(HMGL gr, int enable) { gr->SetTickSkip(enable); } void MGL_EXPORT mgl_set_tick_rotate_(uintptr_t *gr,int *enable){ _GR_->SetTickRotate(*enable); } void MGL_EXPORT mgl_set_tick_skip_(uintptr_t *gr, int *enable) { _GR_->SetTickSkip(*enable); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_rotated_text(HMGL gr, int enable) { gr->SetRotatedText(enable); } void MGL_EXPORT mgl_set_mark_size(HMGL gr, double size) { gr->SetMarkSize(size); } void MGL_EXPORT mgl_set_arrow_size(HMGL gr, double size) { gr->SetArrowSize(size); } void MGL_EXPORT mgl_set_font_size(HMGL gr, double size) { gr->SetFontSize(size); } void MGL_EXPORT mgl_set_font_def(HMGL gr, const char *fnt) { gr->SetFontDef(fnt); } void MGL_EXPORT mgl_load_font(HMGL gr, const char *name, const char *path) { gr->LoadFont(name,path); } void MGL_EXPORT mgl_copy_font(HMGL gr, HMGL gr_from) { gr->CopyFont(gr_from); } void MGL_EXPORT mgl_restore_font(HMGL gr) { gr->RestoreFont(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_bar_width_(uintptr_t *gr, mreal *width) { _GR_->SetBarWidth(*width); } void MGL_EXPORT mgl_set_rotated_text_(uintptr_t *gr, int *rotated) { _GR_->SetRotatedText(*rotated); } void MGL_EXPORT mgl_set_mark_size_(uintptr_t *gr, mreal *size) { _GR_->SetMarkSize(*size); } void MGL_EXPORT mgl_set_arrow_size_(uintptr_t *gr, mreal *size) { _GR_->SetArrowSize(*size); } void MGL_EXPORT mgl_set_font_size_(uintptr_t *gr, mreal *size) { _GR_->SetFontSize(*size); } void MGL_EXPORT mgl_set_font_def_(uintptr_t *gr, char *name, int l) { char *s=new char[l+1]; memcpy(s,name,l); s[l]=0; _GR_->SetFontDef(s); delete []s; } void MGL_EXPORT mgl_load_font_(uintptr_t *gr, char *name, char *path, int l,int n) { char *s=new char[l+1]; memcpy(s,name,l); s[l]=0; char *d=new char[n+1]; memcpy(d,path,n); d[n]=0; _GR_->LoadFont(s,d); delete []s; delete []d; } void MGL_EXPORT mgl_copy_font_(uintptr_t *gr, uintptr_t *gr_from) { _GR_->CopyFont((mglBase *)(*gr_from)); } void MGL_EXPORT mgl_restore_font_(uintptr_t *gr) { _GR_->RestoreFont(); } //----------------------------------------------------------------------------- extern mglFont mglDefFont; void MGL_EXPORT mgl_def_font(const char *name, const char *path) { mglDefFont.Load(name,path); } void MGL_EXPORT mgl_def_font_(const char *name, const char *path,int l,int n) { char *s=new char[l+1]; memcpy(s,name,l); s[l]=0; char *d=new char[n+1]; memcpy(d,path,n); d[n]=0; mglDefFont.Load(name,path); delete []s; delete []d; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_start_group(HMGL gr, const char *s) { gr->StartAutoGroup(s); } void MGL_EXPORT mgl_end_group(HMGL gr) { gr->EndGroup(); } void MGL_EXPORT mgl_start_group_(uintptr_t *gr, const char *name,int l) { char *s=new char[l+1]; memcpy(s,name,l); s[l]=0; _GR_->StartAutoGroup(s); delete []s; } void MGL_EXPORT mgl_end_group_(uintptr_t *gr) { _GR_->EndGroup(); } //----------------------------------------------------------------------------- #include bool mglTestMode=false; void MGL_EXPORT mgl_test_txt(const char *str, ...) { if(mglTestMode) { char buf[256]; va_list lst; va_start(lst,str); vsnprintf(buf,256,str,lst); va_end(lst); printf("TEST: %s\n",buf); fflush(stdout); } } void MGL_EXPORT mgl_set_test_mode(int enable) { mglTestMode=enable; } //--------------------------------------------------------------------------- long MGL_EXPORT mgl_use_graph(HMGL gr, int inc) { if(!gr) return 0; gr->InUse+=inc; return gr->InUse; } long MGL_EXPORT mgl_use_graph_(uintptr_t *gr, int *inc) { return mgl_use_graph(_GR_,*inc); } //--------------------------------------------------------------------------- void MGL_EXPORT mgl_set_ambbr(HMGL gr, double i) { gr->SetAmbient(i); } void MGL_EXPORT mgl_set_ambbr_(uintptr_t *gr, mreal *i){ _GR_->SetAmbient(*i); } //--------------------------------------------------------------------------- void MGL_EXPORT mgl_zoom_axis(HMGL gr, double x1,double y1,double z1,double c1,double x2,double y2,double z2,double c2) { gr->ZoomAxis(mglPoint(x1,y1,z1,c1), mglPoint(x2,y2,z2,c2)); } void MGL_EXPORT mgl_zoom_axis_(uintptr_t *gr, mreal *x1, mreal *y1, mreal *z1, mreal *c1, mreal *x2, mreal *y2, mreal *z2, mreal *c2) { _GR_->ZoomAxis(mglPoint(*x1,*y1,*z1,*c1), mglPoint(*x2,*y2,*z2,*c2)); } //--------------------------------------------------------------------------- mathgl-2.1.3.1/src/fit.cpp0000664000175000017500000005644612142400470015004 0ustar balakinbalakin/*************************************************************************** * fit.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/fit.h" #include "mgl2/prim.h" #include "mgl2/eval.h" #include "mgl2/data.h" #if MGL_HAVE_GSL #include #include #endif //----------------------------------------------------------------------------- int mglFitPnts=100; ///< Number of output points in fitting char mglFitRes[1024]; ///< Last fitted formula //----------------------------------------------------------------------------- void MGL_EXPORT mgl_puts_fit(HMGL gr, double x, double y, double z, const char *pre, const char *font, double size) { long n = strlen(mglFitRes)+(pre?strlen(pre):0)+1; char *buf = new char[n]; if(pre) snprintf(buf,n,"%s%s",pre,mglFitRes); else strcpy(buf,mglFitRes); mgl_puts(gr,x,y,z,buf,font,size); delete []buf; } void MGL_EXPORT mgl_puts_fit_(uintptr_t* gr, mreal *x, mreal *y, mreal *z, const char *prefix, const char *font, mreal *size, int l, int n) { char *s=new char[l+1]; memcpy(s,prefix,l); s[l]=0; char *d=new char[n+1]; memcpy(d,font,n); d[n]=0; mgl_puts_fit(_GR_, *x,*y,*z, s, d, *size); delete []s; delete []d; } //----------------------------------------------------------------------------- /// Structure for keeping data and precompiled fitted formula struct mglFitData { long n; ///< number of points mreal *x; ///< x values mreal *y; ///< y values mreal *z; ///< z values mreal *a; ///< function values mreal *s; ///< value dispersions (sigma) mglFormula *eq; ///< approximation formula int m; ///< number of variables const char *var; ///< variables for fitting }; //----------------------------------------------------------------------------- #if MGL_HAVE_GSL int mgl_fit__f (const gsl_vector *x, void *data, gsl_vector *f) { mglFitData *fd = (mglFitData *)data; register long i; mreal val[MGL_VS]; for(i=0;im;i++) val[fd->var[i]-'a'] = gsl_vector_get(x,i); for(i=0;in;i++) { val['x'-'a'] = fd->x[i]; val['y'-'a'] = fd->y ? fd->y[i] : 0; val['z'-'a'] = fd->z ? fd->z[i] : 0; gsl_vector_set (f, i, (fd->eq->Calc(val) - fd->a[i])/fd->s[i]); } return GSL_SUCCESS; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_fit__df (const gsl_vector * x, void *data, gsl_matrix * J) { mglFitData *fd = (mglFitData *)data; register long i,j; mreal val[MGL_VS],s; for(i=0;im;i++) val[fd->var[i]-'a'] = gsl_vector_get(x,i); for(i=0;in;i++) { val['x'-'a'] = fd->x[i]; s = fd->s[i]; val['y'-'a'] = fd->y ? fd->y[i] : 0; val['z'-'a'] = fd->z ? fd->z[i] : 0; for(j=0;jm;j++) gsl_matrix_set (J, i, j, fd->eq->CalcD(val, fd->var[j])/s); } return GSL_SUCCESS; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_fit__fdf (const gsl_vector * x, void *data, gsl_vector * f, gsl_matrix * J) { mgl_fit__f(x, data, f); mgl_fit__df(x, data, J); return GSL_SUCCESS; } #endif //----------------------------------------------------------------------------- /// GSL based fitting procedure for formula/arguments specified by string mreal MGL_NO_EXPORT mgl_fit_base(mglFitData *fd, mreal *ini) { #if MGL_HAVE_GSL register long i,m=fd->m,n=fd->n,iter=0; if(n<1 || fd==0 || ini==0) return -1; // setup data double *x_init = new double[fd->m]; for(i=0;idx, s->x, 1e-4, 1e-4 ); } while ( status == GSL_CONTINUE && iter < 500 ); gsl_multifit_covar (s->J, 0.0, covar ); mreal res = gsl_blas_dnrm2(s->f); for(i=0;ix, i); // free memory gsl_multifit_fdfsolver_free (s); gsl_matrix_free (covar); delete []x_init; return res; #else return 0.0; #endif } //----------------------------------------------------------------------------- void mglPrepareFitEq(mglBase *gr,mreal chi, const char *eq, const char *var, mreal *par) { char buf[32]=""; snprintf(mglFitRes,1024,"chi=%g",chi); for(int i=0;iSetWarn(-1,mglFitRes); memset(mglFitRes, 0, 1024); //mglFitRes[0] = 0; register long i,k,len=strlen(eq); for(i=k=0;iSaveState(opt); mglData x(y->GetNx()); x.Fill(gr->Min.x, gr->Max.x); mglData s(y); s.Fill(1,1); return mgl_fit_xys(gr,&x,y,&s,eq,var,ini,0); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_fit_2(HMGL gr, HCDT z, const char *eq, const char *var, HMDT ini, const char *opt) { gr->SaveState(opt); mglData x(z->GetNx()); x.Fill(gr->Min.x, gr->Max.x); mglData y(z->GetNy()); y.Fill(gr->Min.y, gr->Max.y); mglData s(z); s.Fill(1,1); return mgl_fit_xyzs(gr,&x,&y,z,&s,eq,var,ini,0); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_fit_3(HMGL gr, HCDT a, const char *eq, const char *var, HMDT ini, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()); x.Fill(gr->Min.x, gr->Max.x); mglData y(a->GetNy()); y.Fill(gr->Min.y, gr->Max.y); mglData z(a->GetNz()); z.Fill(gr->Min.z, gr->Max.z); mglData s(a); s.Fill(1,1); return mgl_fit_xyzas(gr,&x,&y,&z,a,&s,eq,var,ini,0); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_fit_xy(HMGL gr, HCDT x, HCDT y, const char *eq, const char *var, HMDT ini, const char *opt) { mglData s(y); s.Fill(1,1); return mgl_fit_xys(gr,x,y,&s,eq,var,ini,opt); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_fit_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, const char *eq, const char *var, HMDT ini, const char *opt) { mglData s(z); s.Fill(1,1); return mgl_fit_xyzs(gr,x,y,z,&s,eq,var,ini,opt); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_fit_xyza(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *eq, const char *var, HMDT ini, const char *opt) { mglData s(a); s.Fill(1,1); return mgl_fit_xyzas(gr,x,y,z,a,&s,eq,var,ini,opt); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_fit_ys(HMGL gr, HCDT y, HCDT s, const char *eq, const char *var, HMDT ini, const char *opt) { gr->SaveState(opt); mglData x(y->GetNx()); x.Fill(gr->Min.x, gr->Max.x); return mgl_fit_xys(gr,&x,y,s,eq,var,ini,0); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_fit_xys(HMGL gr, HCDT xx, HCDT yy, HCDT ss, const char *eq, const char *var, HMDT ini, const char *opt) { mglData *fit=new mglData; long m = yy->GetNx(); long nn = long(0.5+gr->SaveState(opt)); if(xx->GetNx()!=m) { gr->SetWarn(mglWarnDim,"Fit[S]"); return fit; } if(m<2) { gr->SetWarn(mglWarnLow,"Fit[S]"); return fit; } if(ss->GetNx()*ss->GetNy()*ss->GetNz() != m*yy->GetNy()*yy->GetNz()) { gr->SetWarn(mglWarnDim,"Fit[S]"); return fit; } if(!var || *var==0) { gr->SetWarn(mglWarnNull,"Fit[S]"); return fit; } if(nnCreate(nn, yy->GetNy(), yy->GetNz()); mreal val[MGL_VS],res=-1; register long j; for(long i=0;iGetNy()*yy->GetNz();i++) { if(ini && ini->nx>=fd.m) in.Set(ini->a,fd.m); else in.Fill(0.,0); fd.a = y.a+i*m; fd.x = x.a+(i%x.ny)*m; fd.s = s.a+i*m; res = mgl_fit_base(&fd,in.a); for(j=0;jMin.x+j*(gr->Max.x-gr->Min.x)/(nn-1); fit->a[j+i*nn] = fd.eq->Calc(val); } if(ini && ini->nx>=fd.m) memcpy(ini->a,in.a,fd.m*sizeof(mreal)); } mglPrepareFitEq(gr,res,eq,var,in.a); delete fd.eq; gr->LoadState(); return fit; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_fit_xyzs(HMGL gr, HCDT xx, HCDT yy, HCDT zz, HCDT ss, const char *eq, const char *var, HMDT ini, const char *opt) { mglData *fit=new mglData; long m=zz->GetNx(),n=zz->GetNy(); long nn = long(0.5+gr->SaveState(opt)); if(xx->GetNx()!=m) { gr->SetWarn(mglWarnDim,"Fit[S]"); return fit; } if(ss->GetNx()*ss->GetNy()*ss->GetNz() != m*n*zz->GetNz()) { gr->SetWarn(mglWarnDim,"Fit[S]"); return fit; } if(yy->GetNx()!=n && (xx->GetNy()!=n || yy->GetNx()!=m || yy->GetNy()!=n)) { gr->SetWarn(mglWarnDim,"Fit[S]"); return fit; } if(m<2|| n<2) { gr->SetWarn(mglWarnLow,"Fit[S]"); return fit; } if(!var || *var==0) { gr->SetWarn(mglWarnNull,"Fit[S]"); return fit; } if(nnCreate(nn, nn, zz->GetNz()); mreal val[MGL_VS], res = -1; for(i=0;iGetNz();i++) { if(ini && ini->nx>=fd.m) in.Set(ini->a,fd.m); else in.Fill(0.,0); fd.a = z.a+i*m*n; fd.s = s.a+i*m*n; res = mgl_fit_base(&fd,in.a); for(j=0;jMin.x+(j%nn)*(gr->Max.x-gr->Min.x)/(nn-1); val['y'-'a'] = gr->Min.y+(j/nn)*(gr->Max.y-gr->Min.y)/(nn-1); fit->a[j+i*nn*nn] = fd.eq->Calc(val); } if(ini && ini->nx>=fd.m) memcpy(ini->a,in.a,fd.m*sizeof(mreal)); } mglPrepareFitEq(gr,res, eq,var,in.a); delete fd.eq; gr->LoadState(); return fit; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_fit_xyzas(HMGL gr, HCDT xx, HCDT yy, HCDT zz, HCDT aa, HCDT ss, const char *eq, const char *var, HMDT ini, const char *opt) { mglData *fit=new mglData; register long i,j,k,i0; long m=aa->GetNx(), n=aa->GetNy(), l=aa->GetNz(); i = n*m*l; long nn = long(0.5+gr->SaveState(opt)); if(m<2 || n<2 || l<2) { gr->SetWarn(mglWarnLow,"Fit[S]"); return fit; } if(ss->GetNx()*ss->GetNy()*ss->GetNz() != i) { gr->SetWarn(mglWarnDim,"Fit[S]"); return fit; } bool both = xx->GetNx()*xx->GetNy()*xx->GetNz()==i && yy->GetNx()*yy->GetNy()*yy->GetNz()==i && zz->GetNx()*zz->GetNy()*zz->GetNz()==i; if(!(both || (xx->GetNx()==m && yy->GetNx()==n && zz->GetNx()==l))) { gr->SetWarn(mglWarnDim,"Fit[S]"); return fit; } if(!var || *var==0) { gr->SetWarn(mglWarnNull,"Fit[S]"); return fit; } if(nnCreate(nn, nn, nn); mreal val[MGL_VS], res = -1; if(ini && ini->nx>=fd.m) in.Set(ini->a,fd.m); else in.Fill(0.,0); res = mgl_fit_base(&fd,in.a); for(j=0;jMin.x+(j%nn)*(gr->Max.x-gr->Min.x)/(nn-1); val['y'-'a'] = gr->Min.y+(j/nn)*(gr->Max.y-gr->Min.y)/(nn-1); val['z'-'a'] = gr->Min.z+i*(gr->Max.y-gr->Min.y)/(nn-1); fit->a[j+nn*nn*i] = fd.eq->Calc(val); } if(ini && ini->nx>=fd.m) memcpy(ini->a,in.a,fd.m*sizeof(mreal)); mglPrepareFitEq(gr,res, eq,var,in.a); delete fd.eq; gr->LoadState(); return fit; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_hist_x(HMGL gr, HCDT x, HCDT a, const char *opt) { long nn=a->GetNx()*a->GetNy()*a->GetNz(); if(nn!=x->GetNx()*x->GetNy()*x->GetNz()) { gr->SetWarn(mglWarnDim,"Hist"); return (new mglData); } long n = long(0.5+gr->SaveState(opt)); if(n(x); const mglData *da = dynamic_cast(a); mreal vx = n/(gr->Max.x-gr->Min.x); if(dx && da) for(i=0;ia[i]-gr->Min.x)*vx); if(j1>=0 && j1a[j1] += da->a[i]; } else for(i=0;ivthr(i)-gr->Min.x)*vx); if(j1>=0 && j1a[j1] += a->vthr(i); } gr->LoadState(); return res; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_hist_xy(HMGL gr, HCDT x, HCDT y, HCDT a, const char *opt) { long nn=a->GetNx()*a->GetNy()*a->GetNz(); if(nn!=x->GetNx()*x->GetNy()*x->GetNz() || nn!=y->GetNx()*y->GetNy()*y->GetNz()) { gr->SetWarn(mglWarnDim,"Hist"); return (new mglData); } long n = long(0.5+gr->SaveState(opt)); if(n(x); const mglData *dy = dynamic_cast(y); const mglData *da = dynamic_cast(a); mreal vx = n/(gr->Max.x-gr->Min.x); mreal vy = n/(gr->Max.y-gr->Min.y); if(dx && dy && da) for(i=0;ia[i]-gr->Min.x)*vx); j2 = long((dy->a[i]-gr->Min.y)*vy); if(j1>=0 && j1=0 && j2a[j1+n*j2] += da->a[i]; } else for(i=0;ivthr(i)-gr->Min.x)*vx); j2 = long((y->vthr(i)-gr->Min.y)*vy); if(j1>=0 && j1=0 && j2a[j1+n*j2] += a->vthr(i); } gr->LoadState(); return res; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_hist_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *opt) { long nn=a->GetNx()*a->GetNy()*a->GetNz(); if(nn!=x->GetNx()*x->GetNy()*x->GetNz() || nn!=y->GetNx()*y->GetNy()*y->GetNz() || nn!=z->GetNx()*z->GetNy()*z->GetNz()) { gr->SetWarn(mglWarnDim,"Hist"); return (new mglData); } long n = long(0.5+gr->SaveState(opt)); if(n(x); const mglData *dy = dynamic_cast(y); const mglData *dz = dynamic_cast(z); const mglData *da = dynamic_cast(a); mreal vx = n/(gr->Max.x-gr->Min.x), vy = n/(gr->Max.y-gr->Min.y), vz = n/(gr->Max.z-gr->Min.z); if(dx && dy && dz && da) for(i=0;ia[i]-gr->Min.x)*vx); j2 = long((dy->a[i]-gr->Min.y)*vy); j3 = long((dz->a[i]-gr->Min.z)*vz); if(j1>=0 && j1=0 && j2=0 && j3a[j1+n*(j2+n*j3)] += da->a[i]; } else for(i=0;iStop) { res->Create(1,1,1); return res; } j1 = long((x->vthr(i)-gr->Min.x)*vx); j2 = long((y->vthr(i)-gr->Min.y)*vy); j3 = long((z->vthr(i)-gr->Min.z)*vz); if(j1>=0 && j1=0 && j2=0 && j3a[j1+n*(j2+n*j3)] += a->vthr(i); } gr->LoadState(); return res; } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_hist_x_(uintptr_t* gr, uintptr_t* x, uintptr_t* a, const char *opt, int lo) { char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_hist_x(_GR_, _DA_(x), _DA_(a), o); delete []o; return r; } uintptr_t MGL_EXPORT mgl_hist_xy_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* a, const char *opt, int lo) { char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_hist_xy(_GR_, _DA_(x), _DA_(y), _DA_(a), o); delete []o; return r; } uintptr_t MGL_EXPORT mgl_hist_xyz_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const char *opt, int lo) { char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_hist_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), o); delete []o; return r; } //----------------------------------------------------------------------------- MGL_EXPORT const char *mgl_get_fit(HMGL ) { return mglFitRes; } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_fit_1_(uintptr_t* gr, uintptr_t* y, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_1(_GR_, _DA_(y), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } uintptr_t MGL_EXPORT mgl_fit_2_(uintptr_t* gr, uintptr_t* z, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_2(_GR_, _DA_(z), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } uintptr_t MGL_EXPORT mgl_fit_3_(uintptr_t* gr, uintptr_t* a, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_3(_GR_, _DA_(a), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } uintptr_t MGL_EXPORT mgl_fit_xy_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_xy(_GR_, _DA_(x), _DA_(y), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } uintptr_t MGL_EXPORT mgl_fit_xyz_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } uintptr_t MGL_EXPORT mgl_fit_xyza_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_xyza(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } uintptr_t MGL_EXPORT mgl_fit_ys_(uintptr_t* gr, uintptr_t* y, uintptr_t* ss, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_ys(_GR_, _DA_(y), _DA_(ss), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } uintptr_t MGL_EXPORT mgl_fit_xys_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* ss, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_xys(_GR_, _DA_(x), _DA_(y), _DA_(ss), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } uintptr_t MGL_EXPORT mgl_fit_xyzs_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* ss, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_xyzs(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(ss), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } uintptr_t MGL_EXPORT mgl_fit_xyzas_(uintptr_t* gr, uintptr_t* x, uintptr_t* y, uintptr_t* z, uintptr_t* a, uintptr_t* ss, const char *eq, const char *var, uintptr_t *ini, const char *opt, int l, int n, int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *d=new char[n+1]; memcpy(d,var,n); d[n]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t r = (uintptr_t)mgl_fit_xyzas(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), _DA_(ss), s, d, _DM_(ini), o); delete []o; delete []s; delete []d; return r; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/exec.cpp0000664000175000017500000043533512142400470015144 0ustar balakinbalakin/*************************************************************************** * exec.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #ifdef WIN32 #include #include #else #include #endif #include "mgl2/parser.h" #define iint(x) floor((x)+0.5) wchar_t *mgl_str_copy(const char *s); //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_addlegend(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ss")) gr->AddLegend(a[0].w.c_str(),a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_addto(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dd")) *(a[0].d) += *(a[1].d); else if(!strcmp(k,"dn"))*(a[0].d) += a[1].v; else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_sort(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dn")) a[0].d->Sort(a[1].v, -1); else if(!strcmp(k,"dnn")) a[0].d->Sort(a[1].v, a[2].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_alpha(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->Alpha(true); else if(!strcmp(k,"n")) gr->Alpha(a[0].v!=0); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_plotid(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"s")) gr->SetPlotId(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_alphadef(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetAlphaDef(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ambient(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetAmbient(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_area(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Area(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Area(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Area(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Area(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Area(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Area(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_aspect(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nn")) gr->Aspect(a[0].v, a[1].v, 1); else if(!strcmp(k,"nnn")) gr->Aspect(a[0].v, a[1].v, a[2].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_axial(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Axial(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Axial(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Axial(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Axial(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_axis(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"")) gr->Axis("xyz","",opt); else if(!strcmp(k,"s")) gr->Axis(a[0].s.c_str(), "",opt); else if(!strcmp(k,"ss")) gr->Axis(a[0].s.c_str(), a[1].s.c_str(),opt); else if(!strcmp(k,"sss")) gr->SetFunc(a[0].s.c_str(),a[1].s.c_str(),a[2].s.c_str(),""); else if(!strcmp(k,"ssss")) gr->SetFunc(a[0].s.c_str(),a[1].s.c_str(),a[2].s.c_str(),a[3].s.c_str()); else if(!strcmp(k,"n")) gr->SetCoor(iint(a[0].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ball(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nn")) gr->Mark(mglPoint(a[0].v,a[1].v,NAN),"r."); else if(!strcmp(k,"nns")) gr->Mark(mglPoint(a[0].v,a[1].v,NAN),a[2].s.c_str()); else if(!strcmp(k,"nnn")) gr->Mark(mglPoint(a[0].v,a[1].v,a[2].v),"r."); else if(!strcmp(k,"nnns")) gr->Mark(mglPoint(a[0].v,a[1].v,a[2].v),a[3].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_box(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->Box(); else if(!strcmp(k,"s")) gr->Box(a[0].s.c_str()); else if(!strcmp(k,"sn")) gr->Box(a[0].s.c_str(), a[1].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_bars(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Bars(*(a[0].d), "",opt); else if(!strcmp(k,"ds")) gr->Bars(*(a[0].d), a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Bars(*(a[0].d), *(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->Bars(*(a[0].d), *(a[1].d), a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Bars(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Bars(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_barh(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Barh(*(a[0].d), "",opt); else if(!strcmp(k,"ds")) gr->Barh(*(a[0].d), a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Barh(*(a[0].d), *(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->Barh(*(a[0].d), *(a[1].d), a[2].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_cones(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Cones(*(a[0].d), "",opt); else if(!strcmp(k,"ds")) gr->Cones(*(a[0].d), a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Cones(*(a[0].d), *(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->Cones(*(a[0].d), *(a[1].d), a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Cones(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Cones(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_belt(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Belt(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Belt(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Belt(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Belt(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_boxs(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Boxs(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Boxs(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Boxs(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Boxs(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_beam(mglGraph *gr, long , mglArg *a, const char *k, const char *) // NOTE beam can be made obsolete ??? { int res=0; if(!strcmp(k,"ddddn")) gr->Beam(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].v,"",0, 3); else if(!strcmp(k,"ddddns")) gr->Beam(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].v,a[5].s.c_str(),0, 3); else if(!strcmp(k,"ddddnsn")) gr->Beam(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].v,a[5].s.c_str(),iint(a[6].v), 3); else if(!strcmp(k,"ddddnsnn")) gr->Beam(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].v,a[5].s.c_str(),iint(a[6].v), iint(a[7].v)); else if(!strcmp(k,"nddddn")) gr->Beam(a[0].v,*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),a[5].v,"",0); else if(!strcmp(k,"nddddns")) gr->Beam(a[0].v,*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),a[5].v,a[6].s.c_str(),0); else if(!strcmp(k,"nddddnsn")) gr->Beam(a[0].v,*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),a[5].v,a[6].s.c_str(),iint(a[7].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_clearlegend(mglGraph *gr, long , mglArg *, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->ClearLegend(); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_clf(mglGraph *gr, long , mglArg *, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->Clf(); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_chart(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Chart(*(a[0].d), "",opt); else if(!strcmp(k,"ds")) gr->Chart(*(a[0].d), a[1].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_cloud(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Cloud(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Cloud(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Cloud(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->Cloud(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_crange(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"d")) gr->SetRange('c',*(a[0].d)); else if(!strcmp(k,"dn")) gr->SetRange('c',*(a[0].d),a[1].v); else if(!strcmp(k,"nn")) gr->SetRange('c', a[0].v, a[1].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_crop(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dnns")) a[0].d->Crop(iint(a[1].v),iint(a[2].v),a[3].s.c_str()[0]); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_clean(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dn")) a[0].d->Clean(iint(a[1].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_cumsum(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->CumSum(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_curve(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnnnnn")) gr->Curve(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v), mglPoint(a[4].v,a[5].v,NAN), mglPoint(a[6].v,a[7].v)); else if(!strcmp(k,"nnnnnnnns")) gr->Curve(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v), mglPoint(a[4].v,a[5].v,NAN), mglPoint(a[6].v,a[7].v), a[8].s.c_str()); else if(!strcmp(k,"nnnnnnnnnnnn")) gr->Curve(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), mglPoint(a[6].v,a[7].v,a[8].v), mglPoint(a[9].v,a[10].v,a[11].v)); else if(!strcmp(k,"nnnnnnnnnnnns")) gr->Curve(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), mglPoint(a[6].v,a[7].v,a[8].v), mglPoint(a[9].v,a[10].v,a[11].v), a[12].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_cut(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetCut(a[0].v != 0); else if(!strcmp(k,"nnnnnn")) gr->SetCutBox(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v)); else if(!strcmp(k,"s")) gr->CutOff(a[0].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_crust(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ddd")) gr->Crust(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Crust(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_colorbar(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->Colorbar(); else if(!strcmp(k,"s")) gr->Colorbar(a[0].s.c_str()); else if(!strcmp(k,"d")) gr->Colorbar(*(a[0].d)); else if(!strcmp(k,"ds")) gr->Colorbar(*(a[0].d), a[1].s.c_str()); else if(!strcmp(k,"snn")) gr->Colorbar(a[0].s.c_str(), a[1].v, a[2].v); else if(!strcmp(k,"snnn")) gr->Colorbar(a[0].s.c_str(), a[1].v, a[2].v, a[3].v,1); else if(!strcmp(k,"snnnn")) gr->Colorbar(a[0].s.c_str(), a[1].v, a[2].v, a[3].v,a[4].v); else if(!strcmp(k,"dsnn")) gr->Colorbar(*(a[0].d), a[1].s.c_str(), a[2].v, a[3].v); else if(!strcmp(k,"dsnnn")) gr->Colorbar(*(a[0].d), a[1].s.c_str(), a[2].v, a[3].v, a[4].v,1); else if(!strcmp(k,"dsnnnn")) gr->Colorbar(*(a[0].d), a[1].s.c_str(), a[2].v, a[3].v, a[4].v,a[5].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_copy(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dd")) a[0].d->Set(*(a[1].d)); else if(!strcmp(k,"dds")) { a[0].d->Set(*(a[1].d)); gr->Fill(*(a[0].d), a[2].s.c_str()); } else if(!strcmp(k,"dn")) *(a[0].d) = a[1].v; else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_cont(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Cont(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Cont(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Cont(*(a[0].d), *(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->Cont(*(a[0].d), *(a[1].d), a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Cont(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Cont(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Cont(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), "",opt); else if(!strcmp(k,"dddds")) gr->Cont(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_contv(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContV(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->ContV(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->ContV(*(a[0].d), *(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->ContV(*(a[0].d), *(a[1].d), a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->ContV(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->ContV(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->ContV(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), "",opt); else if(!strcmp(k,"dddds")) gr->ContV(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_contf(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContF(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->ContF(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->ContF(*(a[0].d), *(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->ContF(*(a[0].d), *(a[1].d), a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->ContF(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->ContF(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->ContF(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), "",opt); else if(!strcmp(k,"dddds")) gr->ContF(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_contd(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContD(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->ContD(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->ContD(*(a[0].d), *(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->ContD(*(a[0].d), *(a[1].d), a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->ContD(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->ContD(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->ContD(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), "",opt); else if(!strcmp(k,"dddds")) gr->ContD(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_cont3(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Cont3(*(a[0].d), "", -1,opt); else if(!strcmp(k,"ds")) gr->Cont3(*(a[0].d), a[1].s.c_str(), -1,opt); else if(!strcmp(k,"dsn")) gr->Cont3(*(a[0].d), a[1].s.c_str(), iint(a[2].v),opt); else if(!strcmp(k,"dd")) gr->Cont3(*(a[0].d), *(a[1].d), "", -1,opt); else if(!strcmp(k,"dds")) gr->Cont3(*(a[0].d), *(a[1].d), a[2].s.c_str(),-1,opt); else if(!strcmp(k,"ddsn")) gr->Cont3(*(a[0].d), *(a[1].d), a[2].s.c_str(),iint(a[3].v),opt); else if(!strcmp(k,"dddd")) gr->Cont3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), "", -1,opt); else if(!strcmp(k,"dddds")) gr->Cont3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(),-1,opt); else if(!strcmp(k,"ddddsn")) gr->Cont3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(),iint(a[5].v),opt); else if(!strcmp(k,"ddddd")) gr->Cont3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), "", -1,opt); else if(!strcmp(k,"ddddds")) gr->Cont3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), a[5].s.c_str(),-1,opt); else if(!strcmp(k,"dddddsn"))gr->Cont3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), a[5].s.c_str(),iint(a[6].v),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_contf3(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContF3(*(a[0].d), "", -1,opt); else if(!strcmp(k,"ds")) gr->ContF3(*(a[0].d), a[1].s.c_str(), -1,opt); else if(!strcmp(k,"dsn")) gr->ContF3(*(a[0].d), a[1].s.c_str(), iint(a[2].v),opt); else if(!strcmp(k,"dd")) gr->ContF3(*(a[0].d), *(a[1].d), "", -1,opt); else if(!strcmp(k,"dds")) gr->ContF3(*(a[0].d), *(a[1].d), a[2].s.c_str(),-1,opt); else if(!strcmp(k,"ddsn")) gr->ContF3(*(a[0].d), *(a[1].d), a[2].s.c_str(),iint(a[3].v),opt); else if(!strcmp(k,"dddd")) gr->ContF3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), "", -1,opt); else if(!strcmp(k,"dddds")) gr->ContF3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(),-1,opt); else if(!strcmp(k,"ddddsn")) gr->ContF3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(),iint(a[5].v),opt); else if(!strcmp(k,"ddddd")) gr->ContF3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), "", -1,opt); else if(!strcmp(k,"ddddds")) gr->ContF3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), a[5].s.c_str(),-1,opt); else if(!strcmp(k,"dddddsn"))gr->ContF3(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), a[5].s.c_str(),iint(a[6].v),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_contx(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContX(*(a[0].d),"",NAN,opt); else if(!strcmp(k,"ds")) gr->ContX(*(a[0].d),a[1].s.c_str(),NAN,opt); else if(!strcmp(k,"dsn")) gr->ContX(*(a[0].d),a[1].s.c_str(),a[2].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_contfx(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContFX(*(a[0].d),"",NAN,opt); else if(!strcmp(k,"ds")) gr->ContFX(*(a[0].d),a[1].s.c_str(),NAN,opt); else if(!strcmp(k,"dsn")) gr->ContFX(*(a[0].d),a[1].s.c_str(),a[2].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_conty(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContY(*(a[0].d),"",NAN,opt); else if(!strcmp(k,"ds")) gr->ContY(*(a[0].d),a[1].s.c_str(),NAN,opt); else if(!strcmp(k,"dsn")) gr->ContY(*(a[0].d),a[1].s.c_str(),a[2].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_contfy(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContFY(*(a[0].d),"",NAN,opt); else if(!strcmp(k,"ds")) gr->ContFY(*(a[0].d),a[1].s.c_str(),NAN,opt); else if(!strcmp(k,"dsn")) gr->ContFY(*(a[0].d),a[1].s.c_str(),a[2].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_contz(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContZ(*(a[0].d),"",NAN,opt); else if(!strcmp(k,"ds")) gr->ContZ(*(a[0].d),a[1].s.c_str(),NAN,opt); else if(!strcmp(k,"dsn")) gr->ContZ(*(a[0].d),a[1].s.c_str(),a[2].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_contfz(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->ContFZ(*(a[0].d),"",NAN,opt); else if(!strcmp(k,"ds")) gr->ContFZ(*(a[0].d),a[1].s.c_str(),NAN,opt); else if(!strcmp(k,"dsn")) gr->ContFZ(*(a[0].d),a[1].s.c_str(),a[2].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_cone(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnnnn")) gr->Cone(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v); else if(!strcmp(k,"nnnnnnns")) gr->Cone(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v,-1, a[7].s.c_str()); else if(!strcmp(k,"nnnnnnnn")) gr->Cone(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v, a[7].v); else if(!strcmp(k,"nnnnnnnns")) gr->Cone(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v, a[7].v, a[8].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ellipse(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnn")) gr->Ellipse(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN), a[4].v); else if(!strcmp(k,"nnnnns")) gr->Ellipse(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN), a[4].v, a[5].s.c_str()); else if(!strcmp(k,"nnnnnnn")) gr->Ellipse(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v); else if(!strcmp(k,"nnnnnnns")) gr->Ellipse(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v, a[7].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_circle(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnn")) gr->Circle(mglPoint(a[0].v,a[1].v, NAN), a[2].v); else if(!strcmp(k,"nnns")) gr->Circle(mglPoint(a[0].v,a[1].v, NAN), a[2].v, a[3].s.c_str()); else if(!strcmp(k,"nnnn")) gr->Circle(mglPoint(a[0].v,a[1].v,a[2].v), a[3].v); else if(!strcmp(k,"nnnns")) gr->Circle(mglPoint(a[0].v,a[1].v,a[2].v), a[3].v, a[4].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_rhomb(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnn")) gr->Rhomb(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN), a[4].v); else if(!strcmp(k,"nnnnns")) gr->Rhomb(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN), a[4].v, a[5].s.c_str()); else if(!strcmp(k,"nnnnnnn")) gr->Rhomb(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v); else if(!strcmp(k,"nnnnnnns")) gr->Rhomb(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v, a[7].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_dens(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Dens(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Dens(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Dens(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Dens(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_dens3(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Dens3(*(a[0].d),"",-1,opt); else if(!strcmp(k,"ds")) gr->Dens3(*(a[0].d),a[1].s.c_str(),-1,opt); else if(!strcmp(k,"dsn")) gr->Dens3(*(a[0].d),a[1].s.c_str(),iint(a[2].v),opt); else if(!strcmp(k,"dddd")) gr->Dens3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"", -1,opt); else if(!strcmp(k,"dddds")) gr->Dens3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),-1,opt); else if(!strcmp(k,"ddddsn")) gr->Dens3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),iint(a[5].v),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_densx(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->DensX(*(a[0].d),"",NAN,opt); else if(!strcmp(k,"ds")) gr->DensX(*(a[0].d),a[1].s.c_str(),NAN,opt); else if(!strcmp(k,"dsn")) gr->DensX(*(a[0].d),a[1].s.c_str(),a[2].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_densy(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->DensY(*(a[0].d),"",NAN,opt); else if(!strcmp(k,"ds")) gr->DensY(*(a[0].d),a[1].s.c_str(),NAN,opt); else if(!strcmp(k,"dsn")) gr->DensY(*(a[0].d),a[1].s.c_str(),a[2].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_densz(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->DensZ(*(a[0].d),"",NAN,opt); else if(!strcmp(k,"ds")) gr->DensZ(*(a[0].d),a[1].s.c_str(),NAN,opt); else if(!strcmp(k,"dsn")) gr->DensZ(*(a[0].d),a[1].s.c_str(),a[2].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_divto(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dd")) *(a[0].d) /= *(a[1].d); else if(!strcmp(k,"dn")) *(a[0].d) /= a[1].v; else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_multo(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dd")) *(a[0].d) *= *(a[1].d); else if(!strcmp(k,"dn")) *(a[0].d) *= a[1].v; else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_subto(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dd")) *(a[0].d) -= *(a[1].d); else if(!strcmp(k,"dn")) *(a[0].d) -= a[1].v; else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_dots(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ddd")) gr->Dots(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Dots(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Dots(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->Dots(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_diff(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Diff(a[1].s.c_str()); else if(!strcmp(k,"ddd")) a[0].d->Diff(*(a[1].d), *(a[2].d)); else if(!strcmp(k,"dddd")) a[0].d->Diff(*(a[1].d), *(a[2].d), *(a[3].d)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_diff2(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Diff2(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_drop(mglGraph *gr, long n, mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnn")) gr->Drop(mglPoint(a[0].v,a[1].v), mglPoint(a[2].v,a[3].v), a[4].v); else if(!strcmp(k,"nnnnns")) gr->Drop(mglPoint(a[0].v,a[1].v), mglPoint(a[2].v,a[3].v), a[4].v, a[5].s.c_str()); else if(!strcmp(k,"nnnnnsn")) gr->Drop(mglPoint(a[0].v,a[1].v), mglPoint(a[2].v,a[3].v), a[4].v, a[5].s.c_str(), a[6].v); else if(!strcmp(k,"nnnnnsnn")) gr->Drop(mglPoint(a[0].v,a[1].v), mglPoint(a[2].v,a[3].v), a[4].v, a[5].s.c_str(), a[6].v, a[7].v); else if(!strcmp(k,"nnnnnnn")) gr->Drop(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v); else if(!strcmp(k,"nnnnnnns")) gr->Drop(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v, a[7].s.c_str()); else if(!strcmp(k,"nnnnnnnsn")) gr->Drop(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v, a[7].s.c_str(), a[8].v); else if(!strcmp(k,"nnnnnnnsnn")) gr->Drop(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].v, a[7].s.c_str(), a[8].v, a[9].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_dew(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Dew(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Dew(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Dew(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->Dew(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fall(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Fall(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Fall(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Fall(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Fall(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_mesh(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Mesh(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Mesh(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Mesh(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Mesh(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_surf(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Surf(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Surf(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Surf(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Surf(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_surfc(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->SurfC(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->SurfC(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->SurfC(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->SurfC(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_surfa(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->SurfA(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->SurfA(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->SurfA(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->SurfA(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_flow(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Flow(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Flow(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Flow(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Flow(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Flow(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->Flow(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else if(!strcmp(k,"dddddd")) gr->Flow(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),"",opt); else if(!strcmp(k,"dddddds")) gr->Flow(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),opt); else if(!strcmp(k,"nndd")) gr->FlowP(mglPoint(a[0].v,a[1].v,NAN), *(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"nndds")) gr->FlowP(mglPoint(a[0].v,a[1].v,NAN), *(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else if(!strcmp(k,"nndddd")) gr->FlowP(mglPoint(a[0].v,a[1].v,NAN), *(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),"",opt); else if(!strcmp(k,"nndddds")) gr->FlowP(mglPoint(a[0].v,a[1].v,NAN), *(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),opt); else if(!strcmp(k,"nnnddd")) gr->FlowP(mglPoint(a[0].v,a[1].v,a[2].v), *(a[3].d),*(a[4].d),*(a[5].d),"",opt); else if(!strcmp(k,"nnnddds")) gr->FlowP(mglPoint(a[0].v,a[1].v,a[2].v), *(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),opt); else if(!strcmp(k,"nnndddddd")) gr->FlowP(mglPoint(a[0].v,a[1].v,a[2].v), *(a[3].d),*(a[4].d),*(a[5].d),*(a[6].d),*(a[7].d),*(a[8].d),"",opt); else if(!strcmp(k,"nnndddddds")) gr->FlowP(mglPoint(a[0].v,a[1].v,a[2].v), *(a[3].d),*(a[4].d),*(a[5].d),*(a[6].d),*(a[7].d),*(a[8].d),a[9].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_grad(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Grad(*(a[0].d), "",opt); else if(!strcmp(k,"ds")) gr->Grad(*(a[0].d), a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Grad(*(a[0].d),*(a[1].d),*(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Grad(*(a[0].d),*(a[1].d),*(a[2].d), a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Grad(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), "",opt); else if(!strcmp(k,"dddds")) gr->Grad(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fill(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dnn")) a[0].d->Fill(a[1].v,a[2].v); else if(!strcmp(k,"dnns")) a[0].d->Fill(a[1].v,a[2].v,a[3].s.c_str()[0]); else if(!strcmp(k,"ds")) gr->Fill(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dsd")) gr->Fill(*(a[0].d),a[1].s.c_str(), *(a[2].d),opt); else if(!strcmp(k,"dsdd")) gr->Fill(*(a[0].d),a[1].s.c_str(), *(a[2].d), *(a[3].d),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fillsample(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->FillSample(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fog(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->Fog(a[0].v); else if(!strcmp(k,"nn")) gr->Fog(a[0].v,a[1].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_font(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"s")) gr->SetFontDef(a[0].s.c_str()); else if(!strcmp(k,"sn")) { gr->SetFontDef(a[0].s.c_str()); gr->SetFontSize(a[1].v); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_loadfont(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"") || (!strcmp(k,"s") && a[0].s[0]==0)) gr->RestoreFont(); else if(!strcmp(k,"s")) gr->LoadFont(a[0].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_grid(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"")) gr->Grid("xyzt", "B",opt); else if(!strcmp(k,"s")) gr->Grid(a[0].s.c_str(), "B",opt); else if(!strcmp(k,"ss"))gr->Grid(a[0].s.c_str(), a[1].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_grid2(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Grid(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Grid(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Grid(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Grid(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_grid3(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Grid3(*(a[0].d),"",-1,opt); else if(!strcmp(k,"ds")) gr->Grid3(*(a[0].d),a[1].s.c_str(),-1,opt); else if(!strcmp(k,"dsn")) gr->Grid3(*(a[0].d),a[1].s.c_str(),iint(a[2].v),opt); else if(!strcmp(k,"dddd")) gr->Grid3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",-1,opt); else if(!strcmp(k,"dddds")) gr->Grid3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),-1,opt); else if(!strcmp(k,"ddddsn"))gr->Grid3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),iint(a[5].v),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_light(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->Light(true); else if(!strcmp(k,"n")) gr->Light(a[0].v!=0); else if(!strcmp(k,"nn")) gr->Light(iint(a[0].v),a[1].v!=0); else if(!strcmp(k,"nnnn")) gr->AddLight(iint(a[0].v),mglPoint(a[1].v,a[2].v,a[3].v)); else if(!strcmp(k,"nnnns")) gr->AddLight(iint(a[0].v),mglPoint(a[1].v,a[2].v,a[3].v), a[4].s.c_str()[0]); else if(!strcmp(k,"nnnnsn"))gr->AddLight(iint(a[0].v),mglPoint(a[1].v,a[2].v,a[3].v), a[4].s.c_str()[0],a[5].v); else if(!strcmp(k,"nnnnsnn")) gr->AddLight(iint(a[0].v),mglPoint(a[1].v,a[2].v,a[3].v), a[4].s.c_str()[0],a[5].v,a[6].v); else if(!strcmp(k,"nnnnnnn")) gr->AddLight(iint(a[0].v),mglPoint(a[1].v,a[2].v,a[3].v),mglPoint(a[4].v,a[5].v,a[6].v)); else if(!strcmp(k,"nnnnnnns")) gr->AddLight(iint(a[0].v),mglPoint(a[1].v,a[2].v,a[3].v),mglPoint(a[4].v,a[5].v,a[6].v), a[7].s.c_str()[0]); else if(!strcmp(k,"nnnnnnnsn")) gr->AddLight(iint(a[0].v),mglPoint(a[1].v,a[2].v,a[3].v),mglPoint(a[4].v,a[5].v,a[6].v), a[7].s.c_str()[0],a[8].v); else if(!strcmp(k,"nnnnnnnsnn")) gr->AddLight(iint(a[0].v),mglPoint(a[1].v,a[2].v,a[3].v),mglPoint(a[4].v,a[5].v,a[6].v), a[7].s.c_str()[0],a[8].v,a[9].v); return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_line(mglGraph *gr, long n, mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnn")) gr->Line(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN)); else if(!strcmp(k,"nnnns")) gr->Line(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN), a[4].s.c_str()); else if(!strcmp(k,"nnnnnn")) gr->Line(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v)); else if(!strcmp(k,"nnnnnns")) gr->Line(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_errbox(mglGraph *gr, long n, mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnn")) gr->Error(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN)); else if(!strcmp(k,"nnnns")) gr->Error(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN), a[4].s.c_str()); else if(!strcmp(k,"nnnnnn")) gr->Error(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v)); else if(!strcmp(k,"nnnnnns")) gr->Error(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_legend(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"")) gr->Legend(3, "#", opt); else if(!strcmp(k,"n")) gr->Legend(iint(a[0].v), "#", opt); else if(!strcmp(k,"ns")) gr->Legend(iint(a[0].v), a[1].s.c_str(), opt); else if(!strcmp(k,"nn")) gr->Legend(a[0].v, a[1].v, "#", opt); else if(!strcmp(k,"nns")) gr->Legend(a[0].v, a[1].v, a[2].s.c_str(), opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_barwidth(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetBarWidth(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_legendmarks(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetLegendMarks(iint(a[0].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_modify(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Modify(a[1].s.c_str()); else if(!strcmp(k,"dsn")) a[0].d->Modify(a[1].s.c_str(), iint(a[2].v)); else if(!strcmp(k,"dsd")) a[0].d->Modify(a[1].s.c_str(),*(a[2].d)); else if(!strcmp(k,"dsdd")) a[0].d->Modify(a[1].s.c_str(),*(a[2].d),*(a[3].d)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_max(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dds")) *(a[0].d) = a[1].d->Max(a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_min(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dds")) *(a[0].d) = a[1].d->Min(a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_sum(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dds")) *(a[0].d) = a[1].d->Sum(a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_meshnum(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetMeshNum(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_facenum(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetFaceNum(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_quality(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->SetQuality(); else if(!strcmp(k,"n")) gr->SetQuality(iint(a[0].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_marksize(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetMarkSize(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_mark(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Mark(*(a[0].d), *(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->Mark(*(a[0].d), *(a[1].d), a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Mark(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Mark(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Mark(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), "",opt); else if(!strcmp(k,"dddds")) gr->Mark(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_map(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Map(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Map(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Map(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->Map(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_read(mglGraph *gr, long n, mglArg *a, const char *k, const char *) { int res=0; bool rr=true; if(!strcmp(k,"ds")) rr=a[0].d->Read(a[1].s.c_str()); else if(!strcmp(k,"dsn")) rr=a[0].d->Read(a[1].s.c_str(), iint(a[2].v)); else if(!strcmp(k,"dsnn")) rr=a[0].d->Read(a[1].s.c_str(), iint(a[2].v),iint(a[3].v)); else if(!strcmp(k,"dsnnn")) rr=a[0].d->Read(a[1].s.c_str(), iint(a[2].v),iint(a[3].v),iint(a[4].v)); if(!rr) gr->SetWarn(mglWarnFile,"Read"); return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_readmat(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; bool rr=true; if(!strcmp(k,"ds")) rr=a[0].d->ReadMat(a[1].s.c_str()); else if(!strcmp(k,"dsn")) rr=a[0].d->ReadMat(a[1].s.c_str(), iint(a[2].v)); else res = 1; if(!rr) gr->SetWarn(mglWarnFile,"ReadMat"); return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_readall(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; bool rr=true; if(!strcmp(k,"ds")) rr=a[0].d->ReadAll(a[1].s.c_str()); else if(!strcmp(k,"dsn")) rr=a[0].d->ReadAll(a[1].s.c_str(), a[2].v); else if(!strcmp(k,"dsnn")) rr=a[0].d->ReadRange(a[1].s.c_str(), a[2].v, a[3].v); else if(!strcmp(k,"dsnnn")) rr=a[0].d->ReadRange(a[1].s.c_str(), a[2].v, a[3].v, a[4].v); else if(!strcmp(k,"dsnnnn"))rr=a[0].d->ReadRange(a[1].s.c_str(), a[2].v, a[3].v, a[4].v, a[5].v); else res = 1; if(!rr) gr->SetWarn(mglWarnFile,"ReadMat"); return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_readhdf(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dss")) a[0].d->ReadHDF(a[1].s.c_str(), a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_savehdf(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dss")) a[0].d->SaveHDF(a[1].s.c_str(), a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_rect(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnn")) gr->Face(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[0].v,a[3].v,NAN), mglPoint(a[2].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN)); else if(!strcmp(k,"nnnns")) gr->Face(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[0].v,a[3].v,NAN), mglPoint(a[2].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN),a[4].s.c_str()); else if(!strncmp(k,"nnnnnn",6)) { if(a[0].v==a[3].v) gr->Face(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[0].v,a[4].v,a[2].v), mglPoint(a[3].v,a[1].v,a[5].v), mglPoint(a[3].v,a[4].v,a[5].v), k[6]=='s' ? a[6].s.c_str() : 0); else gr->Face(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[0].v,a[4].v,a[5].v), mglPoint(a[3].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), k[6]=='s' ? a[6].s.c_str() : 0); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_face(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnnnnn")) gr->Face(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN), mglPoint(a[4].v,a[5].v,NAN), mglPoint(a[6].v,a[7].v,NAN)); else if(!strcmp(k,"nnnnnnnns")) gr->Face(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v,NAN), mglPoint(a[4].v,a[5].v,NAN), mglPoint(a[6].v,a[7].v,NAN), a[8].s.c_str()); else if(!strcmp(k,"nnnnnnnnnnnn")) gr->Face(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), mglPoint(a[6].v,a[7].v,a[8].v), mglPoint(a[9].v,a[10].v,a[11].v)); else if(!strcmp(k,"nnnnnnnnnnnns")) gr->Face(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), mglPoint(a[6].v,a[7].v,a[8].v), mglPoint(a[9].v,a[10].v,a[11].v), a[12].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_resize(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ddn")) *(a[0].d) = a[1].d->Resize(iint(a[2].v), 1, 1); else if(!strcmp(k,"ddnn")) *(a[0].d) = a[1].d->Resize(iint(a[2].v), iint(a[3].v), 1); else if(!strcmp(k,"ddnnn")) *(a[0].d) = a[1].d->Resize(iint(a[2].v), iint(a[3].v), iint(a[4].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_rotate(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nn")) gr->Rotate(a[0].v, a[1].v, 0); else if(!strcmp(k,"nnn")) gr->Rotate(a[0].v, a[1].v, a[2].v); else if(!strcmp(k,"nnnn")) gr->RotateN(a[0].v, a[1].v, a[2].v, a[3].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_rotatetext(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetRotatedText(a[0].v!=0); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_tuneticks(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetTuneTicks(a[0].v!=0); else if(!strcmp(k,"nn")) gr->SetTuneTicks(a[0].v!=0,a[1].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ticktime(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"s")) gr->SetTicksTime(a[0].s[0]); else if(!strcmp(k,"sn")) gr->SetTicksTime(a[0].s[0],a[1].v); else if(!strcmp(k,"sns")) gr->SetTicksTime(a[0].s[0],a[1].v,a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_save(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Save(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_smooth(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"d")) a[0].d->Smooth(); else if(!strcmp(k,"ds")) a[0].d->Smooth(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_swap(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Swap(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_idset(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->SetColumnId(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_stem(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Stem(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Stem(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Stem(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Stem(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Stem(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Stem(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_step(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Step(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Step(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Step(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Step(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Step(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Step(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_plot(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Plot(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Plot(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Plot(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Plot(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Plot(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Plot(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_tape(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Tape(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Tape(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Tape(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Tape(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Tape(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Tape(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_boxplot(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->BoxPlot(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->BoxPlot(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->BoxPlot(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->BoxPlot(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_candle(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Candle(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Candle(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Candle(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Candle(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Candle(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Candle(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Candle(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->Candle(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else if(!strcmp(k,"ddddd")) gr->Candle(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),"",opt); else if(!strcmp(k,"ddddds"))gr->Candle(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),a[5].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_radar(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Radar(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Radar(*(a[0].d),a[1].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_squeeze(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dn")) a[0].d->Squeeze(iint(a[1].v)); else if(!strcmp(k,"dnn")) a[0].d->Squeeze(iint(a[1].v), iint(a[2].v)); else if(!strcmp(k,"dnnn")) a[0].d->Squeeze(iint(a[1].v), iint(a[2].v),iint(a[3].v)); else if(!strcmp(k,"dnnnn")) a[0].d->Squeeze(iint(a[1].v), iint(a[2].v),iint(a[3].v), a[4].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_stfad(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dddn")) *(a[0].d) = mglSTFA(*(a[1].d),*(a[2].d), iint(a[3].v)); else if(!strcmp(k,"dddns")) *(a[0].d) = mglSTFA(*(a[1].d),*(a[2].d), iint(a[3].v), a[4].s.c_str()[0]); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_setsize(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nn") && a[1].v>1 && a[0].v>1) gr->SetSize(iint(a[0].v), iint(a[1].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_sphere(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnn")) gr->Sphere(mglPoint(a[0].v,a[1].v), a[2].v); else if(!strcmp(k,"nnns")) gr->Sphere(mglPoint(a[0].v,a[1].v), a[2].v, a[3].s.c_str()); else if(!strcmp(k,"nnnn")) gr->Sphere(mglPoint(a[0].v,a[1].v,a[2].v), a[3].v); else if(!strcmp(k,"nnnns")) gr->Sphere(mglPoint(a[0].v,a[1].v,a[2].v), a[3].v, a[4].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_stfa(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ddn")) gr->STFA(*(a[0].d),*(a[1].d), iint(a[2].v), "",opt); else if(!strcmp(k,"ddns")) gr->STFA(*(a[0].d),*(a[1].d), iint(a[2].v), a[3].s.c_str(),opt); else if(!strcmp(k,"ddddn")) gr->STFA(*(a[0].d),*(a[1].d), *(a[2].d),*(a[3].d), iint(a[4].v), "",opt); else if(!strcmp(k,"ddddns")) gr->STFA(*(a[0].d),*(a[1].d), *(a[2].d),*(a[3].d), iint(a[4].v), a[5].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_surf3(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Surf3(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Surf3(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"dn")) gr->Surf3(a[1].v,*(a[0].d),"",opt); else if(!strcmp(k,"dns")) gr->Surf3(a[1].v,*(a[0].d),a[2].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Surf3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), "",opt); else if(!strcmp(k,"dddds")) gr->Surf3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), a[4].s.c_str(),opt); else if(!strcmp(k,"ddddn")) gr->Surf3(a[4].v,*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"ddddns"))gr->Surf3(a[4].v,*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[5].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_surf3c(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Surf3C(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Surf3C(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddn")) gr->Surf3C(a[2].v,*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"ddns")) gr->Surf3C(a[2].v,*(a[0].d),*(a[1].d),a[3].s.c_str(),opt); else if(!strcmp(k,"ddddd")) gr->Surf3C(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d), "",opt); else if(!strcmp(k,"ddddds")) gr->Surf3C(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d), a[5].s.c_str(),opt); else if(!strcmp(k,"dddddn")) gr->Surf3C(a[5].v,*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),"",opt); else if(!strcmp(k,"dddddns")) gr->Surf3C(a[5].v,*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),a[6].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_surf3a(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Surf3A(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Surf3A(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddn")) gr->Surf3A(a[2].v,*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"ddns")) gr->Surf3A(a[2].v,*(a[0].d),*(a[1].d),a[3].s.c_str(),opt); else if(!strcmp(k,"ddddd")) gr->Surf3A(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d), "",opt); else if(!strcmp(k,"ddddds")) gr->Surf3A(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d), a[5].s.c_str(),opt); else if(!strcmp(k,"dddddn")) gr->Surf3A(a[5].v,*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),"",opt); else if(!strcmp(k,"dddddns")) gr->Surf3A(a[5].v,*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),a[6].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_subplot(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnn")) gr->SubPlot(iint(a[0].v), iint(a[1].v), iint(a[2].v)); else if(!strcmp(k,"nnns")) gr->SubPlot(iint(a[0].v), iint(a[1].v), iint(a[2].v), a[3].s.c_str()); else if(!strcmp(k,"nnnsnn")) gr->SubPlot(iint(a[0].v), iint(a[1].v), iint(a[2].v), a[3].s.c_str(), a[4].v,a[5].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_multiplot(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnn")) gr->MultiPlot(iint(a[0].v), iint(a[1].v), iint(a[2].v), iint(a[3].v), iint(a[4].v)); else if(!strcmp(k,"nnnnns")) gr->MultiPlot(iint(a[0].v), iint(a[1].v), iint(a[2].v), iint(a[3].v), iint(a[4].v), a[3].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_title(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"s")) gr->Title(a[0].w.c_str()); else if(!strcmp(k,"ss")) gr->Title(a[0].w.c_str(), a[1].s.c_str()); else if(!strcmp(k,"ssn")) gr->Title(a[0].w.c_str(), a[1].s.c_str(),a[2].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_column(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dds")) *(a[0].d) = a[1].d->Column(a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_subdata(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ddn")) *(a[0].d) = a[1].d->SubData(iint(a[2].v)); else if(!strcmp(k,"ddnn")) *(a[0].d) = a[1].d->SubData(iint(a[2].v), iint(a[3].v)); else if(!strcmp(k,"ddnnn")) *(a[0].d) = a[1].d->SubData(iint(a[2].v), iint(a[3].v), iint(a[4].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_trace(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dd")) *(a[0].d) = a[1].d->Trace(); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_tile(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Tile(*(a[0].d),"",opt); else if(!strcmp(k,"ds")) gr->Tile(*(a[0].d),a[1].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Tile(*(a[0].d), *(a[1].d), *(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Tile(*(a[0].d), *(a[1].d), *(a[2].d), a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_tiles(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->TileS(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->TileS(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->TileS(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->TileS(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_text(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) // NOTE don't use options -- Puts can be part of group { int res=0; if(!strcmp(k,"nns")) gr->Putsw(mglPoint(a[0].v,a[1].v,NAN),a[2].w.c_str()); else if(!strcmp(k,"nnss")) gr->Putsw(mglPoint(a[0].v,a[1].v,NAN),a[2].w.c_str(), a[3].s.c_str()); else if(!strcmp(k,"nnssn")) gr->Putsw(mglPoint(a[0].v,a[1].v,NAN),a[2].w.c_str(), a[3].s.c_str(),a[4].v); else if(!strcmp(k,"nnns")) gr->Putsw(mglPoint(a[0].v,a[1].v,a[2].v),a[3].w.c_str()); else if(!strcmp(k,"nnnss")) gr->Putsw(mglPoint(a[0].v,a[1].v,a[2].v),a[3].w.c_str(), a[4].s.c_str()); else if(!strcmp(k,"nnnssn")) gr->Putsw(mglPoint(a[0].v,a[1].v,a[2].v),a[3].w.c_str(), a[4].s.c_str(),a[5].v); else if(!strcmp(k,"nnnns")) gr->Putsw(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v), a[4].w.c_str()); else if(!strcmp(k,"nnnnss")) gr->Putsw(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v), a[4].w.c_str(), a[5].s.c_str()); else if(!strcmp(k,"nnnnssn")) gr->Putsw(mglPoint(a[0].v,a[1].v,NAN), mglPoint(a[2].v,a[3].v), a[4].w.c_str(), a[5].s.c_str(),a[6].v); else if(!strcmp(k,"nnnnnns")) gr->Putsw(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].w.c_str()); else if(!strcmp(k,"nnnnnnss")) gr->Putsw(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].w.c_str(), a[7].s.c_str()); else if(!strcmp(k,"nnnnnnssn")) gr->Putsw(mglPoint(a[0].v,a[1].v,a[2].v), mglPoint(a[3].v,a[4].v,a[5].v), a[6].w.c_str(), a[7].s.c_str(),a[8].v); else if(!strcmp(k,"ds")) gr->Text(*(a[0].d),a[1].w.c_str(),"",opt); else if(!strcmp(k,"dss")) gr->Text(*(a[0].d),a[1].w.c_str(),a[2].s.c_str(),opt); else if(!strcmp(k,"dds")) gr->Text(*(a[0].d),*(a[1].d),a[2].w.c_str(),"",opt); else if(!strcmp(k,"ddss")) gr->Text(*(a[0].d),*(a[1].d),a[2].w.c_str(),a[3].s.c_str(),opt); else if(!strcmp(k,"ddds")) gr->Text(*(a[0].d),*(a[1].d),*(a[2].d),a[3].w.c_str(),"",opt); else if(!strcmp(k,"dddss")) gr->Text(*(a[0].d),*(a[1].d),*(a[2].d),a[3].w.c_str(),a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_torus(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Torus(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Torus(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_transptype(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetTranspType(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fourier(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dds")) mglFourier(*(a[0].d),*(a[1].d),a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_transform(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dsdd")) *(a[0].d) = mglTransform(*(a[2].d),*(a[3].d),a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_transforma(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dsdd")) *(a[0].d) = mglTransformA(*(a[2].d),*(a[3].d),a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_tube(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dn")) gr->Tube(*(a[0].d),a[1].v,"",opt); else if(!strcmp(k,"dns")) gr->Tube(*(a[0].d),a[1].v,a[2].s.c_str(),opt); else if(!strcmp(k,"dd")) gr->Tube(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Tube(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddn")) gr->Tube(*(a[0].d),*(a[1].d),a[2].v,"",opt); else if(!strcmp(k,"ddns")) gr->Tube(*(a[0].d),*(a[1].d),a[2].v,a[3].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Tube(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Tube(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else if(!strcmp(k,"dddn")) gr->Tube(*(a[0].d),*(a[1].d),*(a[2].d),a[3].v,"",opt); else if(!strcmp(k,"dddns")) gr->Tube(*(a[0].d),*(a[1].d),*(a[2].d),a[3].v,a[4].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Tube(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->Tube(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_textmark(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ds")) gr->TextMark(*(a[0].d),a[1].w.c_str(),"",opt); else if(!strcmp(k,"dss")) gr->TextMark(*(a[0].d),a[1].w.c_str(),a[2].s.c_str(),opt); else if(!strcmp(k,"dds")) gr->TextMark(*(a[0].d),*(a[1].d),a[2].w.c_str(),"",opt); else if(!strcmp(k,"ddss")) gr->TextMark(*(a[0].d),*(a[1].d),a[2].w.c_str(),a[3].s.c_str(),opt); else if(!strcmp(k,"ddds")) gr->TextMark(*(a[0].d),*(a[1].d),*(a[2].d),a[3].w.c_str(),"",opt); else if(!strcmp(k,"dddss")) gr->TextMark(*(a[0].d),*(a[1].d),*(a[2].d),a[3].w.c_str(),a[4].s.c_str(),opt); else if(!strcmp(k,"dddds")) gr->TextMark(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].w.c_str(),"",opt); else if(!strcmp(k,"ddddss"))gr->TextMark(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].w.c_str(),a[5].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_triplot(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ddd")) gr->TriPlot(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->TriPlot(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->TriPlot(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->TriPlot(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else if(!strcmp(k,"ddddd")) gr->TriPlot(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),"",opt); else if(!strcmp(k,"ddddds"))gr->TriPlot(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),a[5].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_quadplot(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ddd")) gr->QuadPlot(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->QuadPlot(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->QuadPlot(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->QuadPlot(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else if(!strcmp(k,"ddddd")) gr->QuadPlot(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),"",opt); else if(!strcmp(k,"ddddds"))gr->QuadPlot(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),a[5].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_tricont(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dddd")) gr->TriCont(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->TriCont(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else if(!strcmp(k,"ddddd")) gr->TriContV(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),"",opt); else if(!strcmp(k,"ddddds")) gr->TriContV(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),a[5].s.c_str(),opt); else if(!strcmp(k,"dddddd")) gr->TriContV(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),"",opt); else if(!strcmp(k,"dddddds")) gr->TriContV(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ternary(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->Ternary(int(a[0].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_transpose(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"d")) a[0].d->Transpose(); else if(!strcmp(k,"ds")) a[0].d->Transpose(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_vect(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Vect(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Vect(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Vect(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Vect(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Vect(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->Vect(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else if(!strcmp(k,"dddddd")) gr->Vect(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),"",opt); else if(!strcmp(k,"dddddds")) gr->Vect(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_vect3(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ddd")) gr->Vect3(*(a[0].d),*(a[1].d),*(a[2].d),"",-1,opt); else if(!strcmp(k,"ddds")) gr->Vect3(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),-1,opt); else if(!strcmp(k,"dddsn")) gr->Vect3(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),a[4].v,opt); else if(!strcmp(k,"dddddd")) gr->Vect3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),"",-1,opt); else if(!strcmp(k,"dddddds")) gr->Vect3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),-1,opt); else if(!strcmp(k,"ddddddsn")) gr->Vect3(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),a[7].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_traj(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dddd")) gr->Traj(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",opt); else if(!strcmp(k,"dddds")) gr->Traj(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),opt); else if(!strcmp(k,"dddddd")) gr->Traj(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),"",opt); else if(!strcmp(k,"dddddds")) gr->Traj(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_xlabel(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"s")) gr->Label('x', a[0].w.c_str(), 1, opt); else if(!strcmp(k,"sn")) gr->Label('x', a[0].w.c_str(), a[1].v, opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ylabel(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"s")) gr->Label('y', a[0].w.c_str(), 1, opt); else if(!strcmp(k,"sn")) gr->Label('y', a[0].w.c_str(), a[1].v, opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_zlabel(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"s")) gr->Label('z', a[0].w.c_str(), 1, opt); else if(!strcmp(k,"sn")) gr->Label('z', a[0].w.c_str(), a[1].v, opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_tlabel(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"s")) gr->Label('t', a[0].w.c_str(), 1, opt); else if(!strcmp(k,"sn")) gr->Label('t', a[0].w.c_str(), a[1].v, opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_label(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ds")) gr->Label(*(a[0].d), a[1].w.c_str(), "",opt); else if(!strcmp(k,"dss")) gr->Label(*(a[0].d), a[1].w.c_str(), a[2].s.c_str(),opt); else if(!strcmp(k,"dds")) gr->Label(*(a[0].d), *(a[1].d), a[2].w.c_str(), "",opt); else if(!strcmp(k,"ddss")) gr->Label(*(a[0].d), *(a[1].d), a[2].w.c_str(), a[3].s.c_str(),opt); else if(!strcmp(k,"ddds")) gr->Label(*(a[0].d), *(a[1].d), *(a[2].d), a[3].w.c_str(), "",opt); else if(!strcmp(k,"dddss")) gr->Label(*(a[0].d), *(a[1].d), *(a[2].d), a[3].w.c_str(), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_table(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"d")) gr->Table(*(a[0].d), L"", "#|",opt); else if(!strcmp(k,"ds")) gr->Table(*(a[0].d), a[1].w.c_str(), "#|",opt); else if(!strcmp(k,"dss")) gr->Table(*(a[0].d), a[1].w.c_str(), a[2].s.c_str(),opt); else if(!strcmp(k,"nnd")) gr->Table(a[0].v, a[1].v, *(a[2].d), L"", "#|",opt); else if(!strcmp(k,"nnds")) gr->Table(a[0].v, a[1].v, *(a[2].d), a[3].w.c_str(), "#|",opt); else if(!strcmp(k,"nndss")) gr->Table(a[0].v, a[1].v, *(a[2].d), a[3].w.c_str(), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_xrange(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"d")) gr->SetRange('x',*(a[0].d)); else if(!strcmp(k,"dn")) gr->SetRange('x',*(a[0].d),a[1].v); else if(!strcmp(k,"nn")) gr->SetRange('x', a[0].v, a[1].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_yrange(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"d")) gr->SetRange('y',*(a[0].d)); else if(!strcmp(k,"dn")) gr->SetRange('y',*(a[0].d),a[1].v); else if(!strcmp(k,"nn")) gr->SetRange('y', a[0].v, a[1].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_zrange(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"d")) gr->SetRange('z',*(a[0].d)); else if(!strcmp(k,"dn")) gr->SetRange('z',*(a[0].d),a[1].v); else if(!strcmp(k,"nn")) gr->SetRange('z', a[0].v, a[1].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_xtick(mglGraph *gr, long n, mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetTicks('x', a[0].v); else if(!strcmp(k,"nn")) gr->SetTicks('x', a[0].v, iint(a[1].v)); else if(!strcmp(k,"nnn")) gr->SetTicks('x', a[0].v, iint(a[1].v), a[2].v); else if(!strcmp(k,"s")) gr->SetTickTempl('x',a[0].w.c_str()); else if(!strcmp(k,"ds")) gr->SetTicksVal('x', *(a[0].d), a[1].w.c_str()); else if(!strcmp(k,"dsn")) gr->SetTicksVal('x', *(a[0].d), a[1].w.c_str(), a[2].v); else if(!strncmp(k,"ns",2)) { mreal v[50]; std::wstring s; int i; for(i=0;i<50 && iSetTicksVal('x',mglData(i,v),s.c_str()); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ytick(mglGraph *gr, long n, mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetTicks('y', a[0].v); else if(!strcmp(k,"nn")) gr->SetTicks('y', a[0].v, iint(a[1].v)); else if(!strcmp(k,"nnn")) gr->SetTicks('y', a[0].v, iint(a[1].v), a[2].v); else if(!strcmp(k,"s")) gr->SetTickTempl('y',a[0].w.c_str()); else if(!strcmp(k,"ds")) gr->SetTicksVal('y', *(a[0].d), a[1].w.c_str()); else if(!strcmp(k,"dsn")) gr->SetTicksVal('y', *(a[0].d), a[1].w.c_str(), a[2].v); else if(!strncmp(k,"ns",2)) { mreal v[50]; std::wstring s; int i; for(i=0;i<50 && iSetTicksVal('y',mglData(i,v),s.c_str()); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ztick(mglGraph *gr, long n, mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetTicks('z', a[0].v); else if(!strcmp(k,"nn")) gr->SetTicks('z', a[0].v, iint(a[1].v)); else if(!strcmp(k,"nnn")) gr->SetTicks('z', a[0].v, iint(a[1].v), a[2].v); else if(!strcmp(k,"s")) gr->SetTickTempl('z',a[0].w.c_str()); else if(!strcmp(k,"ds")) gr->SetTicksVal('z', *(a[0].d), a[1].w.c_str()); else if(!strcmp(k,"dsn")) gr->SetTicksVal('z', *(a[0].d), a[1].w.c_str(), a[2].v); else if(!strncmp(k,"ns",2)) { mreal v[50]; std::wstring s; int i; for(i=0;i<50 && iSetTicksVal('z',mglData(i,v),s.c_str()); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_error(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Error(*(a[0].d),*(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->Error(*(a[0].d),*(a[1].d), a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Error(*(a[0].d),*(a[1].d),*(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Error(*(a[0].d),*(a[1].d),*(a[2].d), a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Error(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), "",opt); else if(!strcmp(k,"dddds")) gr->Error(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_extend(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dn")) a[0].d->Extend(iint(a[1].v)); else if(!strcmp(k,"dnn")) a[0].d->Extend(iint(a[1].v),iint(a[2].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_join(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dd")) a[0].d->Join(*(a[1].d)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_datas(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"s")) { char *buf=new char[1024]; mgl_datas_hdf(a[0].s.c_str(),buf,1024); gr->SetWarn(-1,buf); delete []buf; } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_info(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"d")) gr->SetWarn(-1,a[0].d->PrintInfo()); else if(!strcmp(k,"s")) gr->SetWarn(-1,a[0].s.c_str()); else if(!strcmp(k,"n")) { char buf[128]; snprintf(buf,128,"value = %g",a[0].v); gr->SetWarn(-1,buf); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_integrate(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Integral(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_inplot(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnn")) gr->InPlot(a[0].v, a[1].v, a[2].v, a[3].v); else if(!strcmp(k,"nnnnn")) gr->InPlot(a[0].v, a[1].v, a[2].v, a[3].v, a[4].v!=0); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_columnplot(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nn")) gr->ColumnPlot(iint(a[0].v), iint(a[1].v)); else if(!strcmp(k,"nnn")) gr->ColumnPlot(iint(a[0].v), iint(a[1].v), a[2].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_gridplot(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnn")) gr->GridPlot(iint(a[0].v), iint(a[1].v), iint(a[2].v)); else if(!strcmp(k,"nnnn")) gr->GridPlot(iint(a[0].v), iint(a[1].v), iint(a[2].v), a[3].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_stickplot(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnn")) gr->StickPlot(iint(a[0].v), iint(a[1].v), a[2].v, a[3].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_pipe(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Pipe(*(a[0].d),*(a[1].d),"",0.05,opt); else if(!strcmp(k,"dds")) gr->Pipe(*(a[0].d),*(a[1].d),a[2].s.c_str(),0.05,opt); else if(!strcmp(k,"ddsn")) gr->Pipe(*(a[0].d),*(a[1].d),a[2].s.c_str(),a[3].v,opt); else if(!strcmp(k,"dddd")) gr->Pipe(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),"",0.05,opt); else if(!strcmp(k,"dddds")) gr->Pipe(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),0.05,opt); else if(!strcmp(k,"ddddsn")) gr->Pipe(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),a[4].s.c_str(),a[5].v,opt); else if(!strcmp(k,"ddd")) gr->Pipe(*(a[0].d),*(a[1].d),*(a[2].d),"",0.05,opt); else if(!strcmp(k,"ddds")) gr->Pipe(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),0.05,opt); else if(!strcmp(k,"dddsn")) gr->Pipe(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),a[4].v,opt); else if(!strcmp(k,"dddddd")) gr->Pipe(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),"",0.05,opt); else if(!strcmp(k,"dddddds")) gr->Pipe(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),0.05,opt); else if(!strcmp(k,"ddddddsn")) gr->Pipe(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d),*(a[4].d),*(a[5].d),a[6].s.c_str(),a[7].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_origin(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nn")) gr->SetOrigin(a[0].v,a[1].v,NAN); else if(!strcmp(k,"nnn")) gr->SetOrigin(a[0].v,a[1].v,a[2].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_norm(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dnn")) a[0].d->Norm(a[1].v,a[2].v); else if(!strcmp(k,"dnnn")) a[0].d->Norm(a[1].v,a[2].v,a[3].v!=0); else if(!strcmp(k,"dnnnn")) a[0].d->Norm(a[1].v,a[2].v,a[3].v!=0,iint(a[4].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_hist(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ddd")) *(a[0].d) = gr->Hist(*(a[1].d), *(a[2].d),opt); else if(!strcmp(k,"dddd")) *(a[0].d) = gr->Hist(*(a[1].d), *(a[2].d), *(a[3].d),opt); else if(!strcmp(k,"ddddd")) *(a[0].d) = gr->Hist(*(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d),opt); else if(!strcmp(k,"ddnnn")) *(a[0].d) = a[1].d->Hist(int(a[2].v+0.5), a[3].v, a[4].v); else if(!strcmp(k,"ddnnnn")) *(a[0].d) = a[1].d->Hist(int(a[2].v+0.5), a[3].v, a[4].v, int(a[5].v+0.5)); else if(!strcmp(k,"dddnnn")) *(a[0].d) = a[1].d->Hist(*(a[2].d), int(a[3].v+0.5), a[4].v, a[5].v); else if(!strcmp(k,"dddnnnn")) *(a[0].d) = a[1].d->Hist(*(a[2].d), int(a[3].v+0.5), a[4].v, a[5].v, int(a[6].v+0.5)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_mirror(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Mirror(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_hankel(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Hankel(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_sinfft(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->SinFFT(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_cosfft(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->CosFFT(a[1].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_new(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dn")) a[0].d->Create(iint(a[1].v)); else if(!strcmp(k,"dns")) { a[0].d->Create(iint(a[1].v)); a[0].d->Fill(gr->Self(),a[2].s.c_str(),opt); } else if(!strcmp(k,"dnn")) a[0].d->Create(iint(a[1].v),iint(a[2].v)); else if(!strcmp(k,"dnns")) { a[0].d->Create(iint(a[1].v),iint(a[2].v)); a[0].d->Fill(gr->Self(),a[3].s.c_str(),opt); } else if(!strcmp(k,"dnnn")) a[0].d->Create(iint(a[1].v),iint(a[2].v),iint(a[3].v)); else if(!strcmp(k,"dnnns")) { a[0].d->Create(iint(a[1].v),iint(a[2].v),iint(a[3].v)); a[0].d->Fill(gr->Self(),a[4].s.c_str(),opt); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_var(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dnn")) { a[0].d->Create(iint(a[1].v)); a[0].d->Fill(a[2].v, NAN); } else if(!strcmp(k,"dnnn")) { a[0].d->Create(iint(a[1].v)); a[0].d->Fill(a[2].v, a[3].v); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_chdir(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"s")) { if(chdir(a[0].s.c_str())) gr->SetWarn(mglWarnFile,"chdir"); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_perspective(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->Perspective(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_facex(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnn")) gr->FaceX(mglPoint(a[0].v, a[1].v, a[2].v), a[3].v, a[4].v); else if(!strcmp(k,"nnnnns")) gr->FaceX(mglPoint(a[0].v, a[1].v, a[2].v), a[3].v, a[4].v, a[5].s.c_str()); else if(!strcmp(k,"nnnnnsnn")) gr->FaceX(mglPoint(a[0].v, a[1].v, a[2].v), a[3].v, a[4].v, a[5].s.c_str(),a[6].v,a[7].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_facey(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnn")) gr->FaceY(mglPoint(a[0].v, a[1].v, a[2].v), a[3].v, a[4].v); else if(!strcmp(k,"nnnnns")) gr->FaceY(mglPoint(a[0].v, a[1].v, a[2].v), a[3].v, a[4].v, a[5].s.c_str()); else if(!strcmp(k,"nnnnnsnn")) gr->FaceY(mglPoint(a[0].v, a[1].v, a[2].v), a[3].v, a[4].v, a[5].s.c_str(),a[6].v,a[7].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_facez(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnnn")) gr->FaceZ(mglPoint(a[0].v, a[1].v, a[2].v), a[3].v, a[4].v); else if(!strcmp(k,"nnnnns")) gr->FaceZ(mglPoint(a[0].v, a[1].v, a[2].v), a[3].v, a[4].v, a[5].s.c_str()); else if(!strcmp(k,"nnnnnsnn")) gr->FaceZ(mglPoint(a[0].v, a[1].v, a[2].v), a[3].v, a[4].v, a[5].s.c_str(),a[6].v,a[7].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_normsl(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dnn")) a[0].d->NormSl(a[1].v, a[2].v); else if(!strcmp(k,"dnns")) a[0].d->NormSl(a[1].v, a[2].v, a[3].s.c_str()[0]); else if(!strcmp(k,"dnnsn")) a[0].d->NormSl(a[1].v, a[2].v, a[3].s.c_str()[0],a[4].v); else if(!strcmp(k,"dnnsnn"))a[0].d->NormSl(a[1].v, a[2].v, a[3].s.c_str()[0],a[4].v,a[5].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_momentum(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dds")) *(a[0].d) = a[1].d->Momentum('z', a[2].s.c_str()); else if(!strcmp(k,"ddss")) *(a[0].d) = a[1].d->Momentum(a[3].s.c_str()[0], a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fit(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dddddssd")) *(a[0].d) = gr->Fit(*(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), a[5].s.c_str(), a[6].s.c_str(), *(a[7].d),opt); else if(!strcmp(k,"dddddss")) *(a[0].d) = gr->Fit(*(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), a[5].s.c_str(), a[6].s.c_str(),opt); else if(!strcmp(k,"ddddssd")) *(a[0].d) = gr->Fit(*(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(), a[5].s.c_str(), *(a[6].d),opt); else if(!strcmp(k,"ddddss")) *(a[0].d) = gr->Fit(*(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(), a[5].s.c_str(),opt); else if(!strcmp(k,"dddssd")) *(a[0].d) = gr->Fit(*(a[1].d), *(a[2].d), a[3].s.c_str(), a[4].s.c_str(), *(a[5].d),opt); else if(!strcmp(k,"dddss")) *(a[0].d) = gr->Fit(*(a[1].d), *(a[2].d), a[3].s.c_str(), a[4].s.c_str(),opt); else if(!strcmp(k,"ddssd")) *(a[0].d) = gr->Fit(*(a[1].d), a[2].s.c_str(), a[3].s.c_str(), *(a[4].d),opt); else if(!strcmp(k,"ddss")) *(a[0].d) = gr->Fit(*(a[1].d), a[2].s.c_str(), a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fits(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"ddddddssd")) *(a[0].d) = gr->FitS(*(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), *(a[5].d), a[6].s.c_str(), a[7].s.c_str(), *(a[8].d),opt); else if(!strcmp(k,"ddddddss")) *(a[0].d) = gr->FitS(*(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), *(a[5].d), a[6].s.c_str(), a[7].s.c_str(),opt); else if(!strcmp(k,"dddddssd")) *(a[0].d) = gr->FitS(*(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), a[5].s.c_str(), a[6].s.c_str(), *(a[7].d),opt); else if(!strcmp(k,"dddddss")) *(a[0].d) = gr->FitS(*(a[1].d), *(a[2].d), *(a[3].d), *(a[4].d), a[5].s.c_str(), a[6].s.c_str(),opt); else if(!strcmp(k,"ddddssd")) *(a[0].d) = gr->FitS(*(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(), a[5].s.c_str(), *(a[6].d),opt); else if(!strcmp(k,"ddddss")) *(a[0].d) = gr->FitS(*(a[1].d), *(a[2].d), *(a[3].d), a[4].s.c_str(), a[5].s.c_str(),opt); else if(!strcmp(k,"dddssd")) *(a[0].d) = gr->FitS(*(a[1].d), *(a[2].d), a[3].s.c_str(), a[4].s.c_str(), *(a[5].d),opt); else if(!strcmp(k,"dddss")) *(a[0].d) = gr->FitS(*(a[1].d), *(a[2].d), a[3].s.c_str(), a[4].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_putsfit(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nn")) gr->PutsFit(mglPoint(a[0].v,a[1].v)); else if(!strcmp(k,"nns")) gr->PutsFit(mglPoint(a[0].v,a[1].v), a[2].s.c_str()); else if(!strcmp(k,"nnss")) gr->PutsFit(mglPoint(a[0].v,a[1].v), a[2].s.c_str(),a[3].s.c_str()); else if(!strcmp(k,"nnssn")) gr->PutsFit(mglPoint(a[0].v,a[1].v), a[2].s.c_str(),a[3].s.c_str(),a[4].v); else if(!strcmp(k,"nnn")) gr->PutsFit(mglPoint(a[0].v,a[1].v,a[2].v)); else if(!strcmp(k,"nnns")) gr->PutsFit(mglPoint(a[0].v,a[1].v,a[2].v), a[3].s.c_str()); else if(!strcmp(k,"nnnss")) gr->PutsFit(mglPoint(a[0].v,a[1].v,a[2].v), a[3].s.c_str(),a[4].s.c_str()); else if(!strcmp(k,"nnnssn"))gr->PutsFit(mglPoint(a[0].v,a[1].v,a[2].v), a[3].s.c_str(),a[4].s.c_str(),a[5].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_arrowsize(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetArrowSize(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_rearrange(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dn")) a[0].d->Rearrange(iint(a[1].v)); else if(!strcmp(k,"dnn")) a[0].d->Rearrange(iint(a[1].v), iint(a[2].v)); else if(!strcmp(k,"dnnn")) a[0].d->Rearrange(iint(a[1].v), iint(a[2].v), iint(a[3].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ctick(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"s")) gr->SetTickTempl('c',a[0].w.c_str()); else if(!strcmp(k,"n")) gr->SetTicks('c',a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fplot(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"s")) gr->FPlot(a[0].s.c_str(), "",opt); else if(!strcmp(k,"ss")) gr->FPlot(a[0].s.c_str(), a[1].s.c_str(),opt); else if(!strcmp(k,"sss")) gr->FPlot(a[0].s.c_str(), a[1].s.c_str(), a[2].s.c_str(), "",opt); else if(!strcmp(k,"ssss")) gr->FPlot(a[0].s.c_str(), a[1].s.c_str(), a[2].s.c_str(), a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fsurf(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"s")) gr->FSurf(a[0].s.c_str(), "",opt); else if(!strcmp(k,"ss")) gr->FSurf(a[0].s.c_str(), a[1].s.c_str(),opt); else if(!strcmp(k,"sss")) gr->FSurf(a[0].s.c_str(), a[1].s.c_str(), a[2].s.c_str(), "",opt); else if(!strcmp(k,"ssss")) gr->FSurf(a[0].s.c_str(), a[1].s.c_str(), a[2].s.c_str(), a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_fgets(mglGraph *gr, long , mglArg *a, const char *k, const char *) // NOTE don't use options -- Puts can be part of group { int res=0; char buf[1024]; FILE *fp; if(!strncmp(k,"nns",3)) { int i, n = (k[3]=='n'?iint(a[3].v):0); fp = fopen(a[2].s.c_str(),"rt"); if(!fp) { gr->SetWarn(mglWarnOpen,a[2].s.c_str()); return res; } for(i=0;iSetWarn(mglWarnOpen,(a[2].s+" - line "+b).c_str()); fclose(fp); return res; } fclose(fp); gr->Puts(mglPoint(a[0].v,a[1].v,NAN),buf, (k[4]=='s')?a[4].s.c_str():"", k[5]=='n'?a[5].v:-1); } else if(!strncmp(k,"nnns",4)) { int i, n = (k[4]=='n'?iint(a[4].v):0); fp = fopen(a[3].s.c_str(),"rt"); if(!fp) { gr->SetWarn(mglWarnOpen,a[3].s.c_str()); return res; } for(i=0;iSetWarn(mglWarnOpen,(a[3].s+" - line "+b).c_str()); fclose(fp); return res; } fclose(fp); gr->Puts(mglPoint(a[0].v,a[1].v,a[2].v),buf, (k[5]=='s')?a[5].s.c_str():"", k[6]=='n'?a[6].v:-1); } else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_import(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dss")) a[0].d->Import(a[1].s.c_str(), a[2].s.c_str()); else if(!strcmp(k,"dssnn")) a[0].d->Import(a[1].s.c_str(), a[2].s.c_str(), a[3].v,a[4].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_export(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dss")) a[0].d->Export(a[1].s.c_str(), a[2].s.c_str()); else if(!strcmp(k,"dssnn")) a[0].d->Export(a[1].s.c_str(), a[2].s.c_str(), a[3].v,a[4].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_write(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->WriteFrame("", "MathGL"); else if(!strcmp(k,"s")) gr->WriteFrame(a[0].s.c_str(), "MathGL"); return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_region(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Region(*(a[0].d),*(a[1].d),"",opt); else if(!strcmp(k,"dds")) gr->Region(*(a[0].d),*(a[1].d),a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Region(*(a[0].d),*(a[1].d),*(a[2].d),"",opt); else if(!strcmp(k,"ddds")) gr->Region(*(a[0].d),*(a[1].d),*(a[2].d),a[3].s.c_str(),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_envelop(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"d")) a[0].d->Envelop(); else if(!strcmp(k,"ds")) a[0].d->Envelop(a[1].s.c_str()[0]); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_sew(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"d")) a[0].d->Sew(); else if(!strcmp(k,"ds")) a[0].d->Sew(a[1].s.c_str()); else if(!strcmp(k,"dsn")) a[0].d->Sew(a[1].s.c_str(), a[2].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_evaluate(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ddd")) *(a[0].d) = a[1].d->Evaluate(*(a[2].d)); else if(!strcmp(k,"dddn")) *(a[0].d) = a[1].d->Evaluate(*(a[2].d), a[3].v!=0); else if(!strcmp(k,"dddd")) *(a[0].d) = a[1].d->Evaluate(*(a[2].d), *(a[3].d)); else if(!strcmp(k,"ddddn")) *(a[0].d) = a[1].d->Evaluate(*(a[2].d), *(a[3].d), a[4].v!=0); else if(!strcmp(k,"ddddd")) *(a[0].d) = a[1].d->Evaluate(*(a[2].d), *(a[3].d), *(a[4].d)); else if(!strcmp(k,"dddddn"))*(a[0].d) = a[1].d->Evaluate(*(a[2].d), *(a[3].d), *(a[4].d), a[5].v!=0); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_solve(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ddns")) *(a[0].d) = a[1].d->Solve(a[2].v, a[3].s[0]); else if(!strcmp(k,"ddnsn")) *(a[0].d) = a[1].d->Solve(a[2].v, a[3].s[0], a[4].v!=0); else if(!strcmp(k,"ddnsd")) *(a[0].d) = a[1].d->Solve(a[2].v, a[3].s[0], *(a[4].d)); else if(!strcmp(k,"ddnsdn"))*(a[0].d) = a[1].d->Solve(a[2].v, a[3].s[0], *(a[4].d), a[5].v!=0); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_put(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dn")) a[0].d->Put(a[1].v); else if(!strcmp(k,"dnn")) a[0].d->Put(a[1].v, iint(a[2].v)); else if(!strcmp(k,"dnnn")) a[0].d->Put(a[1].v, iint(a[2].v),iint(a[3].v)); else if(!strcmp(k,"dnnnn")) a[0].d->Put(a[1].v, iint(a[2].v),iint(a[3].v),iint(a[4].v)); else if(!strcmp(k,"dd")) a[0].d->Put(*(a[1].d)); else if(!strcmp(k,"ddn")) a[0].d->Put(*(a[1].d), iint(a[2].v)); else if(!strcmp(k,"ddnn")) a[0].d->Put(*(a[1].d), iint(a[2].v),iint(a[3].v)); else if(!strcmp(k,"ddnnn")) a[0].d->Put(*(a[1].d), iint(a[2].v),iint(a[3].v),iint(a[4].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_palette(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"s")) gr->SetPalette(a[0].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_combine(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ddd")) *(a[0].d) = a[1].d->Combine(*(a[2].d)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_roots(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dsds")) *(a[0].d) = a[2].d->Roots(a[1].s.c_str(), a[3].s[0]); else if(!strcmp(k,"dsns")) a[0].d->a[0] = mgl_find_root_txt(a[1].s.c_str(), a[2].v, a[3].s[0]); else if(!strcmp(k,"dsd")) *(a[0].d) = a[2].d->Roots(a[1].s.c_str(), 'x'); else if(!strcmp(k,"dsn")) a[0].d->a[0] = mgl_find_root_txt(a[1].s.c_str(), a[2].v, 'x'); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_pde(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dsdd")) *(a[0].d) = gr->PDE(a[1].s.c_str(), *(a[2].d), *(a[3].d), 0.1,100,opt); else if(!strcmp(k,"dsddn")) *(a[0].d) = gr->PDE(a[1].s.c_str(), *(a[2].d), *(a[3].d), a[4].v,100,opt); else if(!strcmp(k,"dsddnn")) *(a[0].d) = gr->PDE(a[1].s.c_str(), *(a[2].d), *(a[3].d), a[4].v,a[5].v,opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_qo2d(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dsddd")) *(a[0].d) = mglData(true, mgl_qo2d_solve(a[1].s.c_str(), a[2].d, a[3].d, a[4].d, 1,100, 0,0)); else if(!strcmp(k,"dsdddn")) *(a[0].d) = mglData(true, mgl_qo2d_solve(a[1].s.c_str(), a[2].d, a[3].d, a[4].d, a[5].v,100, 0,0)); else if(!strcmp(k,"dsdddnn")) *(a[0].d) = mglData(true, mgl_qo2d_solve(a[1].s.c_str(), a[2].d, a[3].d, a[4].d, a[5].v,a[6].v, 0,0)); else if(!strcmp(k,"dsdddnndd")) *(a[0].d) = mglData(true, mgl_qo2d_solve(a[1].s.c_str(), a[2].d, a[3].d, a[4].d, a[5].v,a[6].v, a[7].d,a[8].d)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_qo3d(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dsddd")) *(a[0].d) = mglData(true, mgl_qo3d_solve(a[1].s.c_str(), a[2].d, a[3].d, a[4].d, 1,100, 0,0,0)); else if(!strcmp(k,"dsdddn")) *(a[0].d) = mglData(true, mgl_qo3d_solve(a[1].s.c_str(), a[2].d, a[3].d, a[4].d, a[5].v,100, 0,0,0)); else if(!strcmp(k,"dsdddnn")) *(a[0].d) = mglData(true, mgl_qo3d_solve(a[1].s.c_str(), a[2].d, a[3].d, a[4].d, a[5].v,a[6].v, 0,0,0)); else if(!strcmp(k,"dsdddnnddd")) *(a[0].d) = mglData(true, mgl_qo3d_solve(a[1].s.c_str(), a[2].d, a[3].d, a[4].d, a[5].v,a[6].v, a[7].d,a[8].d,a[9].d)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ray(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dsnnnn")) *(a[0].d) = mglRay(a[1].s.c_str(), mglPoint(a[2].v, a[3].v), mglPoint(a[4].v, a[5].v)); else if(!strcmp(k,"dsnnnnnn")) *(a[0].d) = mglRay(a[1].s.c_str(), mglPoint(a[2].v, a[3].v, a[4].v), mglPoint(a[5].v, a[6].v, a[7].v)); else if(!strcmp(k,"dsnnnnnnn")) *(a[0].d) = mglRay(a[1].s.c_str(), mglPoint(a[2].v, a[3].v, a[4].v), mglPoint(a[5].v, a[6].v, a[7].v), a[8].v); else if(!strcmp(k,"dsnnnnnnnn")) *(a[0].d) = mglRay(a[1].s.c_str(), mglPoint(a[2].v, a[3].v, a[4].v), mglPoint(a[5].v, a[6].v, a[7].v), a[8].v,a[9].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_jacobian(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ddd")) *(a[0].d) = mglJacobian(*(a[1].d), *(a[2].d)); else if(!strcmp(k,"dddd")) *(a[0].d) = mglJacobian(*(a[1].d), *(a[2].d), *(a[3].d)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_tens(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dd")) gr->Tens(*(a[0].d),*(a[1].d), "",opt); else if(!strcmp(k,"dds")) gr->Tens(*(a[0].d),*(a[1].d), a[2].s.c_str(),opt); else if(!strcmp(k,"ddd")) gr->Tens(*(a[0].d),*(a[1].d),*(a[2].d), "",opt); else if(!strcmp(k,"ddds")) gr->Tens(*(a[0].d),*(a[1].d),*(a[2].d), a[3].s.c_str(),opt); else if(!strcmp(k,"dddd")) gr->Tens(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), "",opt); else if(!strcmp(k,"dddds")) gr->Tens(*(a[0].d),*(a[1].d),*(a[2].d),*(a[3].d), a[4].s.c_str(),opt); return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ticklen(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetTickLen(a[0].v); else if(!strcmp(k,"nn")) gr->SetTickLen(a[0].v, a[1].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_tickshift(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetTickShift(mglPoint(a[0].v)); else if(!strcmp(k,"nn")) gr->SetTickShift(mglPoint(a[0].v, a[1].v)); else if(!strcmp(k,"nnn")) gr->SetTickShift(mglPoint(a[0].v, a[1].v, a[2].v)); else if(!strcmp(k,"nnnn")) gr->SetTickShift(mglPoint(a[0].v, a[1].v, a[2].v, a[3].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_origintick(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"n")) gr->SetOriginTick(a[0].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_axisstl(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->SetAxisStl(); else if(!strcmp(k,"s")) gr->SetAxisStl(a[0].s.c_str()); else if(!strcmp(k,"ss")) gr->SetAxisStl(a[0].s.c_str(), a[1].s.c_str()); else if(!strcmp(k,"sss")) gr->SetAxisStl(a[0].s.c_str(), a[1].s.c_str(), a[2].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_ranges(mglGraph *gr, long n, mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnn")) gr->SetRanges(a[0].v,a[1].v, a[2].v,a[3].v); else if(!strcmp(k,"nnnnnn"))gr->SetRanges(a[0].v,a[1].v,a[2].v, a[3].v,a[4].v,a[5].v); else if(!strcmp(k,"dd")) gr->SetRanges(*(a[0].d),*(a[1].d)); else if(!strcmp(k,"ddd")) gr->SetRanges(*(a[0].d),*(a[1].d), *(a[2].d)); else if(!strcmp(k,"dddd")) gr->SetRanges(*(a[0].d),*(a[1].d), *(a[2].d),*(a[3].d)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_adjust(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"")) gr->Adjust(); else if(!strcmp(k,"s")) gr->Adjust(a[0].s.c_str()); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_insert(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Insert(a[1].s.c_str()[0]); else if(!strcmp(k,"dsn")) a[0].d->Insert(a[1].s.c_str()[0], iint(a[2].v)); else if(!strcmp(k,"dsnn")) a[0].d->Insert(a[1].s.c_str()[0], iint(a[2].v), iint(a[3].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_delete(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ds")) a[0].d->Delete(a[1].s.c_str()[0]); else if(!strcmp(k,"dsn")) a[0].d->Delete(a[1].s.c_str()[0], iint(a[2].v)); else if(!strcmp(k,"dsnn")) a[0].d->Delete(a[1].s.c_str()[0], iint(a[2].v), iint(a[3].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_roll(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"dsn")) a[0].d->Roll(a[1].s.c_str()[0], iint(a[2].v)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_datagrid(mglGraph *gr, long , mglArg *a, const char *k, const char *opt) { int res=0; if(!strcmp(k,"dddd")) gr->DataGrid(*(a[0].d), *(a[1].d), *(a[2].d), *(a[3].d),opt); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_triangulate(mglGraph *, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"ddd")) *(a[0].d) = mglTriangulation(*(a[1].d), *(a[2].d)); else if(!strcmp(k,"dddd")) *(a[0].d) = mglTriangulation(*(a[1].d), *(a[2].d), *(a[3].d)); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_view(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nn")) gr->View(a[0].v, a[1].v); else if(!strcmp(k,"nnn")) gr->View(a[0].v, a[1].v, a[2].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_zoom(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nnnn")) gr->Zoom(a[0].v, a[1].v, a[2].v, a[3].v); else res = 1; return res; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgls_zoomaxis(mglGraph *gr, long , mglArg *a, const char *k, const char *) { int res=0; if(!strcmp(k,"nn")) gr->ZoomAxis(mglPoint(a[0].v), mglPoint(a[1].v)); else if(!strcmp(k,"nnnn")) gr->ZoomAxis(mglPoint(a[0].v, a[1].v), mglPoint(a[2].v, a[3].v)); else if(!strcmp(k,"nnnnnn")) gr->ZoomAxis(mglPoint(a[0].v, a[1].v, a[2].v), mglPoint(a[3].v, a[4].v, a[5].v)); else if(!strcmp(k,"nnnnnnnn")) gr->ZoomAxis(mglPoint(a[0].v, a[1].v, a[2].v, a[3].v), mglPoint(a[4].v, a[5].v, a[6].v, a[7].v)); else res = 1; return res; } //----------------------------------------------------------------------------- mglCommand mgls_base_cmd[] = { {"addlegend","Add legend entry","addlegend 'txt' 'fmt'", mgls_addlegend,15}, {"addto","Add data or number","addto Var Dat|Var num", mgls_addto ,3}, {"adjust","Adjust ticks for best view","adjust ['dir']", mgls_adjust ,14}, {"alpha","Switch on/off transparency","alpha [val]", mgls_alpha ,2}, {"alphadef","Set default transparency","alphadef val", mgls_alphadef ,2}, {"ambient","Set ambient light brightness","ambient val", mgls_ambient ,2}, {"area","Draw area plot for 1D data","area Ydat ['fmt']|Xdat Ydat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_area ,7}, {"arrowsize","Set size of arrows","arrowsize val", mgls_arrowsize ,2}, {"ask","Define parameter from user input","ask $N 'question'", 0, 6}, {"aspect","Set aspect ration","aspect valx valy [valz]", mgls_aspect ,5}, {"axial","Draw surfaces of contour lines rotation","axial Zdat ['fmt' num]|Xdat Ydat Zdat ['fmt' num]", mgls_axial ,8}, {"axis","Setup or draw axis","axis ['dir' 'fmt']|'fx' 'fy' 'fz' ['fc']|how", mgls_axis ,12}, {"axisstl","Set axis and tick style","axisstl 'stl' ['sub']", mgls_axisstl ,14}, {"ball","Draw point (ball)","ball posx posy ['fmt']|posx posy posz ['fmt']", mgls_ball ,13}, {"barh","Draw horizontal bars for 1D data", "barh Ydat ['fmt' above]|Xdat Ydat ['fmt' above]", mgls_barh ,7}, {"bars","Draw bars for 1D data","bars Ydat ['fmt' above]|Xdat Ydat ['fmt' above]|Xdat Ydat Zdat ['fmt' above]", mgls_bars ,7}, {"barwidth","Set default bars width","barwidth val", mgls_barwidth ,2}, {"beam","Draw quasioptical beam","beam Tr G1 G2 Adat r ['sch' flag num] ", mgls_beam ,9}, {"belt","Draw belts","belt Zdat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_belt ,8}, {"box","Draw bounding box","box ['fmt' ticks]", mgls_box ,12}, {"boxplot","Draw boxplot for 2D data","boxplot Ydat ['fmt']|Xdat Ydat ['fmt']", mgls_boxplot ,7}, {"boxs","Draw boxes","boxs Zdat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_boxs ,8}, {"break","Break for-cycle","break", 0, 6}, {"call","Execute script in external file","call 'name' [args]", 0, 6}, {"candle","Draw candlestick chart","candle candle Vdat1 ['fmt']|Vdat1 Vdat2 ['fmt']|Vdat1 Ydat1 Ydat2 ['fmt']||Vdat1 Vdat2 Ydat1 Ydat2 ['fmt']|Xdat Vdat1 Vdat2 Ydat1 Ydat2 ['fmt']", mgls_candle ,7}, {"chart","Draw chart","chart Dat ['fmt']", mgls_chart ,7}, {"chdir","Change current directory","chdir 'path'", mgls_chdir ,2}, {"circle","Draw circle","circle x y r ['fmt']|x y z r ['fmt']", mgls_circle ,13}, {"clean","Remove duplicate rows","clean Dat id", mgls_clean ,3}, {"clearlegend","Clear legend antries","clearlegend", mgls_clearlegend ,15}, {"clf","Clear picture","clf", mgls_clf ,12}, {"cloud","Draw cloud","cloud Adat ['fmt']|Xdat Ydat Zdat Adat ['fmt']", mgls_cloud ,9}, {"colorbar","Draw colorbar","colorbar ['fmt' pos]|Vdat ['fmt' pos]|'sch' pos x y [w h]|Vdat 'sch' pos x y [w h]", mgls_colorbar ,12}, {"column","Get data column filled by formula on column ids","column Res Dat 'eq'", mgls_column ,4}, {"columnplot","Set position of plot inside cell of column", "columnplot num ind [d]", mgls_columnplot ,5}, {"combine", "Direct multiplication of arrays", "combine Res Adat Bdat", mgls_combine ,4}, {"cone","Draw cone","cone x1 y1 z1 x2 y2 z2 r1 [r2 'fmt' edge]", mgls_cone ,13}, {"cones","Draw cones for 1D data","cones Ydat ['fmt' above]|Xdat Ydat ['fmt' above]|Xdat Ydat Zdat ['fmt' above]", mgls_cones ,7}, {"cont","Draw contour lines","cont Zdat ['fmt' num zpos]|Vdat Zdat ['fmt' zpos]|Xdat Ydat Zdat ['fmt' num zpos]|Vdat Xdat Ydat Zdat ['fmt' zpos]", mgls_cont ,8}, {"cont3","Draw contour lines for 3D data","cont3 Adat 'dir' [val 'fmt' num]|Vdat Adat 'dir' [val 'fmt']|Xdat Ydat Zdat Adat 'dir' [val 'fmt' num]|Vdat Xdat Ydat Zdar Adat 'dir' [val 'fmt']", mgls_cont3 ,9}, {"contd","Draw solid contours with manual colors","contd Zdat ['fmt' num zpos]|Vdat Zdat ['fmt' zpos]|Xdat Ydat Zdat ['fmt' num zpos]|Vdat Xdat Ydat Zdat ['fmt' zpos]", mgls_contd ,8}, {"contf","Draw solid contours","contf Zdat ['fmt' num zpos]|Vdat Zdat ['fmt' zpos]|Xdat Ydat Zdat ['fmt' num zpos]|Vdat Xdat Ydat Zdat ['fmt' zpos]", mgls_contf ,8}, {"contf3","Draw solid contour lines for 3D data","contf3 Adat 'dir' [val 'fmt' num]|Vdat Adat 'dir' [val 'fmt']|Xdat Ydat Zdat Adat 'dir' [val 'fmt' num]|Vdat Xdat Ydat Zdar Adat 'dir' [val 'fmt']", mgls_contf3 ,9}, {"contfx","Draw solid contour lines at x-slice (or x-plane)","contfx Dat ['fmt' pos num]", mgls_contfx ,0}, {"contfy","Draw solid contour lines at y-slice (or y-plane)","contfy Dat ['fmt' pos num]", mgls_contfy ,0}, {"contfz","Draw solid contour lines at z-slice (or z-plane)","contfz Dat ['fmt' pos num]", mgls_contfz ,0}, {"continue","Skip commands and iterate for-cycle again","continue", 0, 6}, {"contv","Draw contour tubes","contv Zdat ['fmt' num zpos]|Vdat Zdat ['fmt' zpos]|Xdat Ydat Zdat ['fmt' num zpos]|Vdat Xdat Ydat Zdat ['fmt' zpos]", mgls_contv ,0}, {"contx","Draw contour lines at x-slice (or x-plane)","contx Dat ['fmt' pos num]", mgls_contx ,0}, {"conty","Draw contour lines at y-slice (or y-plane)","conty Dat ['fmt' pos num]", mgls_conty ,0}, {"contz","Draw contour lines at z-slice (or z-plane)","contz Dat ['fmt' pos num]", mgls_contz ,0}, {"copy","Copy data from another variable","copy Dat1 Dat2 ['eq' onaxis]", mgls_copy ,4}, {"cosfft","Cos-Fourier transform at some direction","cosfft Dat 'dir'", mgls_cosfft ,16}, {"crange","Set color range","crange Dat [sym] | c1 c2", mgls_crange ,14}, {"crop","Crop edge of data","crop Dat n1 n2 'dir'", mgls_crop ,16}, {"crust","Draw reconstructed surface for arbitrary data points","crust Xdat Ydat Zdat ['fmt']", mgls_crust ,0}, {"ctick","Set ticks for colorbar","ctick 'tmpl' | dx", mgls_ctick ,14}, {"cumsum","Cumulative summation","cumsum Dat 'dir'", mgls_cumsum ,16}, {"curve","Draw curve","curve x1 y1 dx1 dy1 x2 y2 dx2 dy2 ['fmt']|x1 y1 z1 dx1 dy1 dz1 x2 y2 z2 dx2 dy2 dz2 ['fmt']", mgls_curve ,13}, {"cut","Setup plot points cutting","cut val|x1 y1 z1 x2 y2 z2|'cond'", mgls_cut ,2}, {"datagrid","Fill data by triangulated values","datagrid Var Xdat Ydat Zdat", mgls_datagrid ,3}, {"datas","Print list of data names in HDF file","datas 'fname'", mgls_datas ,3}, {"defchr","Define parameter as character","defchr $N val", 0, 6}, {"define","Define constant or parameter","define $N sth | Var val", 0, 6}, {"defnum","Define parameter as numerical value","defnum $N val", 0, 6}, {"defpal","Define parameter as palette color","defpal $N val", 0, 6}, {"delete","Delete slice of data","delete Dat 'dir' [pos=0 num=1]", mgls_delete ,3}, {"dens","Draw density plot","dens Zdat ['fmt' zpos]|Xdat Ydat Zdat ['fmt' zpos]", mgls_dens ,8}, {"dens3","Draw density plot at slices of 3D data","dens3 Adat 'dir' [pos 'fmt']|Xdat Ydat Zdat Adat 'dir' [pos 'fmt']", mgls_dens3 ,9}, {"densx","Draw density plot at x-slice (or x-plane)","densx Dat ['fmt' pos]", mgls_densx ,0}, {"densy","Draw density plot at y-slice (or y-plane)","densy Dat ['fmt' pos]", mgls_densy ,0}, {"densz","Draw density plot at z-slice (or z-plane)","densz Dat ['fmt' pos]", mgls_densz ,0}, {"dew","Draw dew plot","dew Udat Vdat ['fmt']|Xdat Ydat Udat Vdat ['fmt']", mgls_dew ,11}, {"diff","Numerically differentiate data","diff Var 'dir'", mgls_diff ,16}, {"diff2","Numerically double differentiate data","diff2 Var 'dir'", mgls_diff2 ,16}, {"divto","Divide by data or number","divto Var Dat|Var num", mgls_divto ,3}, {"dots","Draw dots for arbitrary data points","dots Xdat Ydat Zdat ['fmt']", mgls_dots ,9}, {"drop","Draw drop","drop x0 y0 dx dy r ['col' sh asp]|x0 y0 z0 dx dy dz r ['col' sh asp]", mgls_drop ,13}, {"ellipse","Draw ellipse","ellipse x1 y1 x2 y2 r ['fmt']|x1 y1 z1 x2 y2 z2 r ['fmt']", mgls_ellipse ,13}, {"else","Execute if condition is false","else", 0, 6}, {"elseif","Conditional operator","elseif val|Dat ['cond']", 0, 6}, {"endif","Finish if/else block","endif", 0, 6}, {"envelop","Find envelop for the data","envelop Dat ['dir']", mgls_envelop ,16}, {"errbox","Draw error box","errbox x y ex ey ['fmt']|x y z ex ey ez ['fmt']", mgls_errbox ,13}, {"error","Draw error boxes","error Ydat Yerr ['fmt']|Xdat Ydat Yerr ['fmt']|Xdat Ydat Xerr Yerr ['fmt']", mgls_error ,7}, {"evaluate","Evaluate (interpolate) values of array Dat at points i=idat,j=jdat,k=kdat","evaluate Res Dat Idat [norm]|Res Dat Idat Jdat [norm]|Res Dat Idat Jdat Kdat [norm]", mgls_evaluate ,4}, {"export","Export data to PNG picture","export Dat 'fname' 'sch' [v1 v2]", mgls_import ,3}, {"extend","Extend data array","extend Dat dim1 [dim2]", mgls_extend ,3}, {"face","Draw face (quadrangle)","face x1 y1 x2 y2 x3 y3 x4 y4 ['fmt']|x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4 ['fmt']", mgls_face ,13}, {"facenum","Set number of visible faces","facenum val", mgls_facenum ,2}, {"facex","Draw face perpendicular to x-axis","facex x0 y0 z0 wy wz ['fmt' d1 d2]", mgls_facex ,13}, {"facey","Draw face perpendicular to y-axis","facex x0 y0 z0 wx wz ['fmt' d1 d2]", mgls_facey ,13}, {"facez","Draw face perpendicular to z-axis","facex x0 y0 z0 wy wz ['fmt' d1 d2]", mgls_facez ,13}, {"fall","Draw waterfalls","fall Zdat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_fall ,8}, {"fgets","Print string from file","fgets x y z 'fname' [pos=0 'fmt' size]|x y z 'fname' [pos=0 'fmt' size]", mgls_fgets ,15}, {"fill","Fill data linearly in range [v1, v2]","fill Var v1 v2 ['dir'] | Var 'eq' [Vdat Wdat]", mgls_fill ,3}, {"fillsample","Fill x-,k-samples for transforms","fillsample Var 'how'", mgls_fillsample ,3}, {"fit","Fit data to formula","fit Res A 'eq' 'var' [Ini]|Res X A 'eq' 'var' [Ini]|Res X Y A 'eq' 'var' [Ini]|Res X Y Z A 'eq' 'var' [Ini]", mgls_fit ,4}, {"fits","Fit data to formula","fits Res A S 'eq' 'var' [Ini]|Res X A S 'eq' 'var' [Ini]|Res X Y A S 'eq' 'var' [Ini]|Res X Y Z A S 'eq' 'var' [Ini]", mgls_fits ,4}, {"flow","Draw flow threads for vector field","flow Udat Vdat ['fmt' num]|Xdat Ydat Udat Vdat ['fmt' num]|Udat Vdat Wdat ['fmt' num]|Xdat Ydat Zdat Udat Vdat ['fmt' num]|\ x0 y0 Udat Vdat ['fmt']|x0 y0 Xdat Ydat Udat Vdat ['fmt']|x0 y0 z0 Udat Vdat Wdat ['fmt']|x0 y0 z0 Xdat Ydat Zdat Udat Vdat Wdat ['fmt']", mgls_flow ,11}, {"fog","Switch on/off fog","fog val [pos]", mgls_fog ,2}, {"font","Setup font","font 'fmt' [size]", mgls_font ,15}, {"for","For cycle","for $N v1 v2 [dv] | $N Dat", 0, 6}, {"fourier","In-place Fourier transform","fourier ReDat ImDat 'dir'", mgls_fourier , 16}, {"fplot","Plot curve by formula","fplot 'y_x' ['fmt']|'x_t' 'y_t' 'z_t' ['fmt']", mgls_fplot ,1}, {"fsurf","Plot surface by formula","fsurf 'z_xy' ['fmt']|'x_uv' 'y_uv' 'z_uv' ['fmt']", mgls_fsurf ,1}, {"func","Start function definition and stop execution of main script","func 'name' [narg]", 0, 6}, {"grad","Draw gradient lines for scalar field","grad Phi ['fmt' num]|Xdat Ydat Phi ['fmt' num]|Xdat Ydat Zdat Phi ['fmt' num]", mgls_grad ,8}, {"grid","Draw grid","grid ['dir' 'fmt']", mgls_grid ,12}, {"grid2","Draw grid for data array(s)","grid Zdat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_grid2 ,8}, {"grid3","Draw grid at slices of 3D data","grid3 Adat 'dir' [pos 'fmt']|Xdat Ydat Zdat Adat 'dir' [pos 'fmt']", mgls_grid3 ,9}, {"gridplot","Set position of plot inside cell of matrix", "gridplot nx ny ind [d]", mgls_gridplot ,5}, {"hankel","Hankel transform at some direction","hankel Dat 'dir'", mgls_hankel ,16}, {"hist","Create histogram (distribution) of data values","hist Res Dat num v1 v2 [nsub]|Res Dat Wdat num v1 v2 [nsub]", mgls_hist ,4}, {"idset","Set column id for data","idset Dat 'ids'", mgls_idset ,3}, {"if","Conditional operator","if val|Dat ['cond']", 0, 6}, {"import","Import data from PNG picture","import Dat 'fname' 'scheme' [v1 v2]", mgls_import ,4}, {"info","Print information about data","info Dat [detail]|'message'", mgls_info ,3}, {"inplot","Set position of plot in picture","x1 x2 y1 y2 [rel]", mgls_inplot ,5}, {"insert","Insert slice of data","insert Dat 'dir' [pos=0 num=1]", mgls_insert ,3}, {"integrate","Integrate data","integrate Dat 'dir'", mgls_integrate ,16}, {"jacobian","Get Jacobian","jacobian Res Xdat Ydat [Zdat]", mgls_jacobian ,4}, {"join","Join data arrays","join Dat Add", mgls_join ,3}, {"label","Draw label at arbitrary position","label Ydat 'txt' ['fmt'='']|Xdat Ydat 'txt' ['fmt'='']|Xdat Ydat Zdat 'txt' ['fmt'='']", mgls_label ,7}, {"legend","Draw legend","legend [pos 'fmt']|x y ['fmt']", mgls_legend ,15}, {"legendmarks","Set number of marks in the legend","legendmarks val", mgls_legendmarks ,15}, {"light","Setup light","light [val] | val num | num xpos ypos zpos ['fmt' br]", mgls_light ,2}, {"line","Draw line","line x1 y1 x2 y2 ['fmt']|x1 y1 z1 x2 y2 z2 ['fmt']", mgls_line ,13}, {"list","Creates new variable from list of numbers or data","list Var v1 ...|Var D1 ...", 0, 6}, {"loadfont","Load fontfaces","loadfont ['face']", mgls_loadfont ,15}, {"map","Draw mapping plot","map Udat Vdat ['fmt']|Xdat Ydat Udat Vdat ['fmt']", mgls_map ,10}, {"mark","Draw mark plot for 1D data","mark Ydat Rdat ['fmt']|Xdat Ydat Rdat ['fmt']|Xdat Ydat Zdat Rdat ['fmt']", mgls_mark ,7}, {"marksize","Set size of markers","marksize val", mgls_marksize ,2}, {"max","Find maximal value over direction","max Res Dat 'dir'", mgls_max ,4}, {"mesh","Draw mesh surface","mesh Zdat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_mesh ,8}, {"meshnum","Set number of lines in mesh/fall/vect and so on","meshnum val", mgls_meshnum ,2}, {"min","Find minimal value over direction","min Res Dat 'dir'", mgls_min ,4}, {"mirror","Mirror data at some direction","mirror Dat 'dir'", mgls_mirror ,16}, {"modify","Modify data values by formula","modify Dat 'eq' [num] | Dat 'eq' Vdat [Wdat]", mgls_modify ,3}, {"momentum","Get momentum along direction","momentum Res Dat 'how' ['dir']", mgls_momentum ,4}, {"multiplot","Set position of plot","multiplot m n pos dx dy 'style'", mgls_multiplot ,5}, {"multo","Multiply by data or number","multo Var Dat|Var num", mgls_multo ,3}, {"new","Create new data","new Dat nx ny nz ['eq']|new Dat nx ny ['eq']|new Dat nx ['eq']", mgls_new ,4}, {"next","Start next for-cycle iteration","next", 0, 6}, {"norm","Normalize data","norm Dat v1 v2 [sym dim]", mgls_norm ,16}, {"normsl","Normalize data slice by slice","normsl Dat v1 v2 ['dir' keep sym] ", mgls_normsl ,16}, {"once","Start/close commands which should executed only once","once val", 0, 6}, {"origin","Set axis origin","origin x0 y0 [z0]", mgls_origin ,14}, {"origintick","Set tick labels drawing at origin","origintick val", mgls_origintick ,14}, {"palette","Set palette for 1D plots","palette 'colors'", mgls_palette ,2}, {"pde","Solve PDE","pde Res 'ham' IniRe IniIm [dz k0]", mgls_pde ,4}, {"perspective","Set perspective","perspective val", mgls_perspective ,2}, {"pipe","Draw flow pipes for vector field","pipe Udat Vdat ['fmt' rad num]|Xdat Ydat Udat Vdat ['fmt' rad num]|Udat Vdat Wdat ['fmt' rad num]|Xdat Ydat Zdat Udat Vdat Wdat ['fmt' rad num]", mgls_pipe ,11}, {"plot","Draw usual plot for 1D data","plot Ydat ['fmt']|Xdat Ydat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_plot ,7}, {"plotid","Set default filename","plotid 'name'", mgls_plotid ,2}, {"put","Put value (numeric or array) to given data element","put Dat val [i j k] | Dat Val [i j k]", mgls_put ,3}, {"putsfit","Print fitted formula","putsfit x y ['pre' 'font' size]|x y z ['pre' 'font' size]", mgls_putsfit ,15}, {"qo2d","Solve PDE in accompanied coordinates for 2d case","qo2d Res 'ham' IniRe IniIm Ray [r k0 Xout Yout]", mgls_qo2d ,4}, {"qo3d","Solve PDE in accompanied coordinates for 3d case","qo3d Res 'ham' IniRe IniIm Ray [r k0 Xout Yout Zout]", mgls_qo3d ,4}, {"quadplot","Draw surface of quadrangles","quadplot Idat Xdat Ydat ['fmt']|Idat Xdat Ydat Zdat ['fmt']|Idat Xdat Ydat Zdat Cdat ['fmt'] ", mgls_quadplot ,0}, {"quality","Set plot quality","quality [val]", mgls_quality ,2}, {"radar","Draw radar chart","radar Rdat ['fmt']", mgls_radar ,7}, {"ranges","Set axis ranges","ranges x1 x2 y1 y2 [z1 z2]", mgls_ranges ,14}, {"ray","Solve Hamiltonian ODE (find GO ray or trajectory)","ray Res 'ham' x0 y0 z0 px0 py0 pz0 [dz=0.1 tmax=10]", mgls_ray ,4}, {"read","Read data from file","read Dat 'file' [nx ny nz]", mgls_read ,4}, {"readall","Read and join data from several files","readall Dat 'templ' [slice]", mgls_readall ,4}, {"readhdf","Read data from HDF5 file","readhdf Dat 'file' 'id'", mgls_readhdf ,4}, {"readmat","Read data from file with sizes specified in first row","readmat Dat 'file' [dim]", mgls_readmat ,4}, {"rearrange","Rearrange data dimensions","rearrange Dat mx [my mz]", mgls_rearrange ,3}, {"rect","Draw rectangle","rect x1 y1 x2 y2 ['fmt']|x1 y1 z1 x2 y2 z2 ['fmt']", mgls_rect ,13}, {"region","Draw filled region between 2 curves","region Ydat1 Ydat2 ['fmt' inside]|Xdat Ydat1 Ydat2 ['fmt' inside]", mgls_region ,7}, {"resize","Resize data","resize Res Dat mx [my mz]", mgls_resize ,4}, {"return","Return from function","return", 0, 6}, {"rhomb","Draw rhombus","rhomb x1 y1 x2 y2 r ['fmt']|x1 y1 z1 x2 y2 z2 r ['fmt']", mgls_rhomb ,13}, {"roll","Roll data along direction","roll Dat 'dir' num", mgls_roll ,16}, {"roots", "Find roots using data as initial values", "roots Res 'func' Ini ['var']|Res 'func' ini ['var']", mgls_roots ,4}, {"rotate","Rotate plot","rotate tetz tetx [tety] | tet x y z", mgls_rotate ,5}, {"rotatetext","Set to auto rotate text or not","rotatetext val", mgls_rotatetext ,15}, {"save","Save data to file","save Dat 'file'", mgls_save ,3}, {"savehdf","Save data to HDF5 file","savehdf Dat 'file' 'id'", mgls_savehdf ,3}, {"setsize","Set picture size","setsize width height", mgls_setsize ,2}, {"sew","Remove jump into the data, like phase jumps","sew Dat ['dir' da]", mgls_sew ,16}, {"sinfft","Sin-Fourier transform at some direction","sinfft Dat 'dir'", mgls_sinfft ,16}, {"smooth","Smooth data","smooth Dat [kind 'dir']", mgls_smooth ,16}, {"solve","Find root Dat_{i,j,k}=val (inverse evaluate)","solve Res Dat val 'dir' [Idat norm]", mgls_solve ,4}, {"sort","Sort data by values in column","sort Dat idx [idy]", mgls_sort ,3}, {"sphere","Draw sphere","sphere x0 y0 r ['fmt']|x0 y0 z0 r ['fmt']", mgls_sphere ,13}, {"squeeze","Squeeze data","squeeze Dat kx [ky kz]", mgls_squeeze ,3}, {"stem","Draw stem plot for 1D data","stem Ydat ['fmt']|Xdat Ydat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_stem ,7}, {"step","Draw step plot for 1D data","step Ydat ['fmt']|Xdat Ydat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_step ,7}, {"stfa","Draw STFA diagram","stfa Udat Vdat dn ['fmt']|Xdat Ydat Udat Vdat dn ['fmt']", mgls_stfa ,10}, {"stfad","Do STFA transform","stfad Res Real Imag dn ['dir']", mgls_stfad ,4}, {"stickplot","Set position of plot inside cell of stick", "stickplot num ind tet phi", mgls_stickplot ,5}, {"stop","Stop execution","stop", 0, 6}, {"subdata","Extract sub-array","subdata Res Dat nx [ny nz]", mgls_subdata ,4}, {"subplot","Set position of plot","subplot m n pos ['style' dx dy]", mgls_subplot ,5}, {"subto","Subtract data or number","subto Var Dat|Var num", mgls_subto ,3}, {"sum","Find summation over direction","sum Res Dat 'dir'", mgls_sum ,4}, {"surf","Draw solid surface","surf Zdat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_surf ,8}, {"surf3","Draw isosurface for 3D data","surf3 Adat ['fmt' num]|Xdat Ydat Zdat Adat ['fmt' num]|Adat val ['fmt']|Xdat Ydat Zdat Adat val ['fmt']", mgls_surf3 ,9}, {"surf3a","Draw isosurface for 3D data transpared by other data","surf3a Adat Cdat ['fmt' num]|Xdat Ydat Zdat Adat Cdat ['fmt' num]|Adat Cdat val ['fmt']|Xdat Ydat Zdat Adat Cdat val ['fmt']", mgls_surf3a ,10}, {"surf3c","Draw isosurface for 3D data colored by other data","surf3c Adat Cdat ['fmt' num]|Xdat Ydat Zdat Adat Cdat ['fmt' num]|Adat Cdat val ['fmt']|Xdat Ydat Zdat Adat Cdat val ['fmt']", mgls_surf3c ,10}, {"surfa","Draw solid surface transpared by other data","surfa Zdat Cdat ['fmt']|Xdat Ydat Zdat Cdat ['fmt']", mgls_surfa ,10}, {"surfc","Draw solid surface colored by other data","surfc Zdat Cdat ['fmt']|Xdat Ydat Zdat Cdat ['fmt']", mgls_surfc ,10}, {"swap","Swap data (usefull after Fourier transform)","swap Dat 'dir'", mgls_swap ,16}, {"table","Draw table with data values","table Dat ['txt' 'fmt']|x y Dat ['txt' 'fmt']", mgls_table ,7}, {"tape","Draw binormales for 1D data","tape Ydat ['fmt']|Xdat Ydat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_tape ,7}, {"tens","Draw tension plot for 1D data","tens Ydat Cdat ['fmt']|Xdat Ydat Cdat ['fmt']|Xdat Ydat Zdat Cdat ['fmt']", mgls_tens ,7}, {"ternary","Switch on/off to use ternary axis","ternary val", mgls_ternary ,14}, {"text","Draw text at some position or along curve","text x y 'txt' ['fmt' size]|x y z 'txt' ['fmt' size]|x y dx dy 'txt' ['fmt' size]|x y z dx dy dz 'txt' ['fmt' size]|Ydat 'txt' ['font' sise]|Xdat Ydat 'txt' ['font' sise]", mgls_text ,15}, {"textmark","Draw TeX mark at point position","textmark Ydat Rdat 'text' ['fmt']|Xdat Ydat Rdat 'text' ['fmt']|Xdat Ydat Zdat Rdat 'text' ['fmt']", mgls_textmark ,7}, {"ticklen","Set tick length","ticklen val [stt]", mgls_ticklen ,14}, {"tickshift","Set additional tick and axis labels shift","tickshift dx [dy dz dc]", mgls_tickshift ,14}, {"ticktime","Set ticks in time format","ticktime 'dir' [dv 'tmpl']", mgls_ticktime ,14}, {"tile","Draw horizontal tiles","tile Zdat ['fmt']|Xdat Ydat Zdat ['fmt']", mgls_tile ,8}, {"tiles","Draw horizontal tiles with variable size","tiles Zdat Rdat ['fmt']|Xdat Ydat Zdat Rdat ['fmt']", mgls_tiles ,10}, {"title","Add title for current subplot/inplot","title 'txt' ['fmt' size]", mgls_title ,5}, {"tlabel","Draw label for t-axis","tlabel 'txt' [pos]", mgls_tlabel ,12}, {"torus","Draw surface of curve rotation","torus Rdat ['fmt']|Zdat Rdat ['fmt']", mgls_torus ,7}, {"trace","Get trace of array","trace Res Dat", mgls_trace ,4}, {"traj","Draw vectors along a curve","traj Xdat Ydat Udat Vdat ['fmt' len]|Xdat Ydat Zdat Udat Vdat Wdat ['fmt' len]", mgls_traj ,11}, {"transform","Do integral transform of data","transform Res 'how' Rdat Idat", mgls_transform ,4}, {"transforma","Do integral transform of data","transforma Res 'how' Adat Pdat", mgls_transforma ,4}, {"transpose","Transpose data array","transpose Dat ['dir']", mgls_transpose ,16}, {"transptype","Set type transparency","transptype val", mgls_transptype ,2}, {"triangulate","Find triangles of randomly placed points","triangulate Res Xdat Ydat [er]|Res Xdat Ydat Zdat [er]", mgls_triangulate ,4}, {"tricont","Draw contour lines for surface of triangles","tricont Vdat Idat Xdat Ydat ['fmt']|Vdat Idat Xdat Ydat Zdat ['fmt']|Vdat Idat Xdat Ydat Zdat Cdat ['fmt'] ", mgls_tricont ,0}, {"triplot","Draw surface of triangles","triplot Idat Xdat Ydat ['fmt']|Idat Xdat Ydat Zdat ['fmt']|Idat Xdat Ydat Zdat Cdat ['fmt'] ", mgls_triplot ,0}, {"tube","Draw curve by tube","tube Ydat Rdat ['fmt']|Ydat rval ['fmt']|Xdat Ydat Rdat ['fmt']|Xdat Ydat rval ['fmt']|Xdat Ydat Zdat Rdat ['fmt']|Xdat Ydat Zdat rval ['fmt']", mgls_tube ,7}, {"tuneticks","Set ticks tuning","tuneticks val [fctr]", mgls_tuneticks ,14}, {"var","Create new 1D data and fill it in range","var Dat nx x1 [x2]", mgls_var ,4}, {"vect","Draw vector field","vect Udat Vdat ['fmt']|Xdat Ydat Udat Vdat ['fmt']|Udat Vdat Wdat ['fmt']|Xdat Ydat Zdat Udat Vdat Wdat ['fmt']", mgls_vect ,11}, {"vect3","Draw vector field at slices of 3D data","vect Udat Vdat Wdat ['fmt' sval]|Xdat Ydat Zdat Udat Vdat Wdat ['fmt' sval]", mgls_vect3 ,11}, {"view","Change view angles - use 'rotate' for plot rotation","view tetz tetx [tety]", mgls_view ,5}, {"write","Write current image to graphical file","write 'fname' [solid]", mgls_write ,2}, {"xlabel","Draw label for x-axis","xlabel 'txt' [pos]", mgls_xlabel ,12}, {"xrange","Set range for x-axis","xrange Dat [add] | x1 x2", mgls_xrange ,14}, {"xtick","Set ticks for x-axis","xtick dx [sx tx] | 'tmpl' | Xdat 'lbl' [add] | v1 'lbl1' ...", mgls_xtick,14}, {"ylabel","Draw label for y-axis","ylabel 'txt' [pos]", mgls_ylabel,12}, {"yrange","Set range for y-axis","yrange Dat [add] | y1 y2", mgls_yrange,14}, {"ytick","Set ticks for y-axis","ytick dy [sy ty] | 'tmpl' | Ydat 'lbl' [add] | v1 'lbl1' ...", mgls_ytick,14}, {"zlabel","Draw label for z-axis","zlabel 'txt' [pos]", mgls_zlabel,12}, {"zoom","Zoom plot region","zoom x1 x2 y1 y2", mgls_zoom,5}, {"zoomaxis","Zoom axis range","zoomaxis x1 x2|x1 x2 y1 y2|x1 x2 y1 y2 z1 z2|x1 x2 y1 y2 z1 z2 c1 c2", mgls_zoomaxis,14}, {"zrange","Set range for z-axis","yrange Dat [add] | z1 z2", mgls_zrange ,14}, {"ztick","Set ticks for z-axis","ztick dz [sz tz] | 'tmpl' | Zdat 'lbl' [add] | v1 'lbl1' ...", mgls_ztick,14}, {"","","",NULL,0}}; //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/opengl.cpp0000664000175000017500000002403212142400470015470 0ustar balakinbalakin#ifdef WIN32 #include #endif #ifdef __APPLE__ #include #else #include #endif #include "mgl2/opengl.h" #include "mgl2/mgl_cf.h" #include //----------------------------------------------------------------------------- /// Create mglGraph object in OpenGL mode. HMGL MGL_EXPORT mgl_create_graph_gl() { return new mglCanvasGL; } /// Create mglGraph object in OpenGL mode. uintptr_t MGL_EXPORT mgl_create_graph_gl_() { return uintptr_t(new mglCanvasGL); } //----------------------------------------------------------------------------- mglCanvasGL::mglCanvasGL() : mglCanvas(1,1) {} //----------------------------------------------------------------------------- mglCanvasGL::~mglCanvasGL(){} //----------------------------------------------------------------------------- void mglCanvasGL::Finish(bool fast) { if(Prm.size()>0) { PreparePrim(fast); glVertexPointer(3, GL_FLOAT, sizeof(mglPnt), &(Pnt[0].x)); glNormalPointer(GL_FLOAT, sizeof(mglPnt), &(Pnt[0].u)); glColorPointer(4, GL_FLOAT, sizeof(mglPnt), &(Pnt[0].r)); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_NORMAL_ARRAY); glEnableClientState(GL_COLOR_ARRAY); int pdef=PDef; mreal ss=pPos, ww=PenWidth; mglPrim p; for(size_t i=0;i7) { SetWarn(mglWarnLId,"AddLight"); return; } if(c.Valid()) { DifLight = c*br; AmbLight = c*AmbBr; } dif[0] = DifLight.r; dif[1] = DifLight.g; dif[2] = DifLight.b; dif[3] = 1.; amb[0] = AmbLight.r; amb[1] = AmbLight.g; amb[2] = AmbLight.b; amb[3] = 1.; if(inf) { pos[0] = d.x; pos[1] = d.y; pos[2] = d.z; pos[3] = 0; } else { pos[0] = r.x; pos[1] = r.y; pos[2] = r.z; pos[3] = 1; } dir[0] = d.x; dir[1] = d.y; dir[2] = d.z; glShadeModel(GL_SMOOTH); //glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 5.0); //glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, pos); glLightfv(lght[n], GL_AMBIENT, amb); glLightfv(lght[n], GL_DIFFUSE, dif); //glLightfv(lght[n], GL_SPECULAR, spc); glLightfv(lght[n], GL_POSITION, pos); if(!inf) glLightfv(lght[n], GL_SPOT_DIRECTION, dir); glEnable(lght[n]); } //----------------------------------------------------------------------------- void mglCanvasGL::Light(int n, bool enable) { GLenum lght[8] = {GL_LIGHT0,GL_LIGHT1,GL_LIGHT2,GL_LIGHT3,GL_LIGHT4, GL_LIGHT5,GL_LIGHT6,GL_LIGHT7}; if(enable) glEnable(lght[n]); else glDisable(lght[n]); } //----------------------------------------------------------------------------- bool mglCanvasGL::Light(bool enable) { if(enable) { glEnable(GL_LIGHTING); glEnable(GL_NORMALIZE);} else { glDisable(GL_LIGHTING); glDisable(GL_NORMALIZE); } return mglCanvas::Light(enable); } //----------------------------------------------------------------------------- void mglCanvasGL::LightScale() { mglCanvas::LightScale(); GLenum ll[8] = {GL_LIGHT0,GL_LIGHT1,GL_LIGHT2,GL_LIGHT3,GL_LIGHT4, GL_LIGHT5,GL_LIGHT6,GL_LIGHT7}; float pos[4]={0,0,0,0}; for(int i=0;i<8;i++) { pos[0] = light[i].p.x; pos[1] = light[i].p.y; pos[2] = light[i].p.z; if(light[i].n) glLightfv(ll[i], GL_POSITION, pos); } } //----------------------------------------------------------------------------- void mglCanvasGL::Zoom(mreal x1, mreal y1, mreal x2, mreal y2) { glMatrixMode(GL_PROJECTION);//GL_PROJECTION GL_VIEWPORT GL_MODELVIEW glLoadIdentity(); glScaled(x2-x1,y2-y1,1); glTranslated((x1+x2-1)/2,(y1+y2-1)/2,0); } //----------------------------------------------------------------------------- void mglCanvasGL::View(mreal TetX,mreal TetY,mreal TetZ) { glMatrixMode(GL_PROJECTION);//GL_PROJECTION GL_VIEWPORT GL_MODELVIEW glRotated(TetX,1.,0.,0.); glRotated(TetY,0.,1.,0.); glRotated(TetZ,0.,0.,1.); } //----------------------------------------------------------------------------- void mglCanvasGL::Fog(mreal d, mreal) { if(d>0) { float back[4]={BDef[0]/255.f,BDef[1]/255.f,BDef[2]/255.f,BDef[3]/255.f}; glFogf(GL_FOG_MODE,GL_EXP); glFogf(GL_FOG_DENSITY,5*d); glFogfv(GL_FOG_COLOR,back); glEnable(GL_FOG); } else glDisable(GL_FOG); } //----------------------------------------------------------------------------- void mglCanvasGL::Clf(mglColor Back) { mglCanvas::Clf(Back); // glDepthFunc(GL_LESS); glDepthFunc(GL_GREATER); // back[0]=Back.r; back[1]=Back.g; back[2]=Back.b; glClearColor(Back.r,Back.g,Back.b,0.); glClearDepth(-10.); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_COLOR_MATERIAL); glMatrixMode(GL_MODELVIEW);//GL_MODELVIEW GL_VIEWPORT GL_PROJECTION glLoadIdentity(); // glScaled(1.5,1.5,1.5); // glTranslated(-0.5,-0.5,-0.5); } //----------------------------------------------------------------------------- void mglCanvasGL::set_pen(unsigned style,mreal width) { if(style==0) return; if(style!=0xffff) { glEnable(GL_LINE_STIPPLE); glLineStipple(int(width+0.5),style); } else glDisable(GL_LINE_STIPPLE); if(width>0) glLineWidth(width); else glLineWidth(1); } //----------------------------------------------------------------------------- void mglCanvasGL::EndFrame() { // mglGraph::EndFrame(); glEndList(); } //----------------------------------------------------------------------------- int mglCanvasGL::NewFrame() { Clf(); Identity(); glNewList(CurFrameId,GL_COMPILE); CurFrameId++; return CurFrameId-1; } //----------------------------------------------------------------------------- unsigned char **mglCanvasGL::GetRGBLines(long &width, long &height, unsigned char *&f, bool alpha) { long x, y, d = alpha ? 4:3; GLint w[4]; glGetIntegerv(GL_VIEWPORT,w); x=w[0]; y=w[1]; width=w[2]; height=w[3]; unsigned char **p; p = (unsigned char **)malloc(height * sizeof(unsigned char *)); f = (unsigned char *) malloc(width*height * sizeof(unsigned char)*d); for(long i=0;i * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #ifdef WIN32 #include #include #else #include #endif #include #include "mgl2/addon.h" #include "mgl2/data.h" //----------------------------------------------------------------------------- dual MGL_EXPORT mgl_expi(dual a) { return exp(dual(0,1)*a); } dual MGL_EXPORT mgl_expi(double a) { return dual(cos(a),sin(a)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_strcls(char *str) { size_t len = strlen(str),i,n; char *tmp = new char[len]; for(i=0;i0;i--) if(tmp[i]!=' ') break; tmp[i+1]=0; strcpy(str,&(tmp[n])); delete []tmp; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_strpos(const char *str,char *fnd) { const char *p=strstr(str,fnd); int res; if(p) res = p-str; else res = -1; return res; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_chrpos(const char *str,char ch) { const char *p=str?strchr(str,ch):0; int res; if(p) res = p-str; else res = -1; return res; } //----------------------------------------------------------------------------- MGL_EXPORT char *mgl_fgetstr(FILE *fp) { static char s[256]; do { if(!fgets(s,256,fp)) break; mgl_strtrim(s); // strlwr(s); } while(!feof(fp) && (s[0]==0 || s[0]=='%' || s[0]=='#')); return s; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_istrue(char ch) { return (ch=='1' || ch=='t' || ch=='+' || ch=='v'); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_test(const char *str, ...) { char buf[256]; va_list lst; va_start(lst,str); vsnprintf(buf,256,str,lst); va_end(lst); printf("TEST: %s\n",buf); fflush(stdout); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_info(const char *str, ...) { char buf[256]; va_list lst; va_start(lst,str); vsnprintf(buf,256,str,lst); va_end(lst); printf("%s",buf); FILE *fp = fopen("info.txt","at"); fprintf(fp,"%s",buf); fclose(fp); } //----------------------------------------------------------------------------- MGL_EXPORT FILE *mgl_next_data(const char *fname,int p) { char *s; int len; static int pos=0; static char path[256]; if(p>0) pos = p; if(fname==NULL) return NULL; if(pos==0) { if(!getcwd(path,256)) return 0; } // remember ini dyrectory else { if(chdir(path)==-1) return 0; } // read the initial (common) date from "mbrs.ini" FILE *fp=fopen(fname,"rt"); if(fp==NULL) return NULL; fseek(fp,0,SEEK_END); len = ftell(fp); if(pos>=len) // no more data { fclose(fp); return NULL; } fseek(fp,pos,SEEK_SET); //printf("pos 1 = %d\t",pos); do { s = mgl_fgetstr(fp); fflush(stdout); if(s[0]=='$' || s[1]=='$' || s[3]=='$') { fclose(fp); return NULL; } } while(!feof(fp) && (s[0]!='-' || s[1]!='-' || s[3]!='-')); if(feof(fp)) // no more data { fclose(fp); return NULL; } return fp; } //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_difr_grid(dual *a,int n,dual q,int Border,dual *b,dual *d,int kk) { register int i,k; // if(n<=0 || q>=0.5) return false; dual adt = dual(0.,1.)*q; memcpy(b,a,n*sizeof(dual)); for(k=kk;k>0;k--) // 3 iterations { for(i=1;i0;k--) // kk iterations { d[ii] = a[ii] + adt*(b[ii+1]-b[ii])*(ff/k); for(i=ii+1;i0) freq[nn-i] = -(double)(i); } } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/eval.cpp0000664000175000017500000006751112142400470015144 0ustar balakinbalakin/*************************************************************************** * eval.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include "mgl2/data_cf.h" #include "mgl2/eval.h" #if MGL_HAVE_GSL #include #include #include #endif //----------------------------------------------------------------------------- // constants for expression parsing enum{ EQ_NUM=0, // a variable substitution EQ_RND, // random number EQ_A, // numeric constant // normal functions of 2 arguments EQ_LT, // comparison xy EQ_EQ, // comparison x=y EQ_OR, // comparison x|y EQ_AND, // comparison x&y EQ_ADD, // addition x+y EQ_SUB, // substraction x-y EQ_MUL, // multiplication x*y EQ_DIV, // division x/y EQ_IPOW, // power x^n for integer n EQ_POW, // power x^y EQ_MOD, // x modulo y EQ_LOG, // logarithm of x on base a, log_a(x) = ln(x)/ln(a) EQ_ARG, // argument of complex number arg(x,y) = atan2(x,y) // special functions of 2 arguments EQ_BESJ, // regular cylindrical Bessel function of fractional order EQ_BESY, // irregular cylindrical Bessel function of fractional order EQ_BESI, // regular modified Bessel function of fractional order EQ_BESK, // irregular modified Bessel function of fractional order EQ_ELE, // elliptic integral E(\phi,k) = \int_0^\phi dt \sqrt((1 - k^2 \sin^2(t))) EQ_ELF, // elliptic integral F(\phi,k) = \int_0^\phi dt 1/\sqrt((1 - k^2 \sin^2(t))) EQ_LP, // Legendre polynomial P_l(x), (|x|<=1, l>=0) EQ_BETA, // beta function B(x,y) = Gamma(x)*Gamma(y)/Gamma(x+y) // normal functions of 1 argument EQ_SIN, // sine function \sin(x). !!! MUST BE FIRST 1-PLACE FUNCTION EQ_COS, // cosine function \cos(x). EQ_TAN, // tangent function \tan(x). EQ_ASIN, // inverse sine function \sin(x). EQ_ACOS, // inverse cosine function \sin(x). EQ_ATAN, // inverse tangent function \tan(x). EQ_SINH, // hyperbolic sine function \sin(x). EQ_COSH, // hyperbolic cosine function \sin(x). EQ_TANH, // hyperbolic tangent function \tan(x). EQ_ASINH, // inverse hyperbolic sine function \sin(x). EQ_ACOSH, // inverse hyperbolic cosine function \sin(x). EQ_ATANH, // inverse hyperbolic tangent function \tan(x). EQ_SQRT, // square root function \sqrt(x) EQ_EXP, // exponential function \exp(x) EQ_LN, // logarithm of x, ln(x) EQ_LG, // decimal logarithm of x, lg(x) = ln(x)/ln(10) EQ_SIGN, // sign of number EQ_STEP, // step function EQ_INT, // integer part [x] EQ_ABS, // absolute value of x // special functions of 1 argument EQ_LI2, // dilogarithm for a real argument Li2(x) = - \Re \int_0^x ds \log(1-s)/s. EQ_ELLE, // complete elliptic integral is denoted by E(k) = E(\pi/2, k). EQ_ELLK, // complete elliptic integral is denoted by K(k) = F(\pi/2, k). EQ_AI, // Airy function Ai(x) EQ_BI, // Airy function Bi(x) EQ_ERF, // error function erf(x) = (2/\sqrt(\pi)) \int_0^x dt \exp(-t^2). EQ_EI3, // exponential integral Ei_3(x) = \int_0^x dt \exp(-t^3) for x >= 0. EQ_EI, // exponential integral Ei(x), Ei(x) := - PV(\int_{-x}^\infty dt \exp(-t)/t), where PV denotes the principal value of the integral. EQ_E1, // exponential integral E_1(x), E_1(x) := Re \int_1^\infty dt \exp(-xt)/t. EQ_E2, // exponential integral E_2(x), E_2(x) := Re \int_1^\infty dt \exp(-xt)/t^2. EQ_SI, // Sine integral Si(x) = \int_0^x dt \sin(t)/t. EQ_CI, // Cosine integral Ci(x) = \int_0^x dt \cos(t)/t. EQ_GAMMA, // Gamma function \Gamma(x) = \int_0^\infty dt t^{x-1} \exp(-t) EQ_PSI, // digamma function \psi(x) = \Gamma'(x)/\Gamma(x) for general x, x \ne 0. EQ_W0, // principal branch of the Lambert W function, W_0(x). Functions W(x), are defined to be solutions of the equation W\exp(W) = x. EQ_W1, // secondary real-valued branch of the Lambert W function, W_{-1}(x). Functions W(x), are defined to be solutions of the equation W\exp(W) = x. EQ_SINC, // compute \sinc(x) = \sin(\pi x) / (\pi x) for any value of x. EQ_ZETA, // Riemann zeta function \zeta(s) = \sum_{k=1}^\infty k^{-s}for arbitrary s, s \ne 1. EQ_ETA, // eta function \eta(s) = (1-2^{1-s}) \zeta(s) for arbitrary s. EQ_AID, // Derivative of Airy function Ai(x) EQ_BID, // Derivative of Airy function Bi(x) EQ_Z, // Dawson function \exp(-x^2) \int_0^x dt \exp(t^2) // Jacoby functions of 2 arguments EQ_SN, // Jacobian elliptic function sn(u|m) // !!! MUST BE FIRST NON 1-PLACE FUNCTION EQ_SC, // Jacobian elliptic function sn(u|m)/cn(u|m) EQ_SD, // Jacobian elliptic function sn(u|m)/dn(u|m) EQ_NS, // Jacobian elliptic function 1/sn(u|m) EQ_NC, // Jacobian elliptic function 1/cn(u|m) EQ_ND, // Jacobian elliptic function 1/dn(u|m) EQ_CN, // Jacobian elliptic function cn(u|m) EQ_CS, // Jacobian elliptic function cn(u|m)/sn(u|m) EQ_CD, // Jacobian elliptic function cn(u|m)/dn(u|m) EQ_DN, // Jacobian elliptic function dn(u|m) EQ_DS, // Jacobian elliptic function dn(u|m)/sn(u|m) EQ_DC, // Jacobian elliptic function dn(u|m)/cn(u|m) // MUST BE LAST ELLIPTIC FUNCTION // not-ready EQ_EN, EQ_CL, // Clausen function }; //----------------------------------------------------------------------------- #ifndef M_PI #define M_PI 3.14159265358979323846 #endif //----------------------------------------------------------------------------- int mglFormula::Error=0; bool mglCheck(char *str,int n); int mglFindInText(char *str,const char *lst); //----------------------------------------------------------------------------- #if MGL_HAVE_GSL MGL_NO_EXPORT gsl_rng *mgl_rng=0; // NOTE: should be deleted by gsl_rng_free() but I don't know where :( #endif void MGL_EXPORT mgl_srnd(long seed) { #if MGL_HAVE_GSL if(mgl_rng==0) { gsl_rng_env_setup(); mgl_rng = gsl_rng_alloc(gsl_rng_default); } gsl_rng_set(mgl_rng, seed); #else srand(seed); #endif } void MGL_EXPORT mgl_srnd_(int *seed) { mgl_srnd(*seed); } //----------------------------------------------------------------------------- double MGL_EXPORT mgl_rnd() { #if MGL_HAVE_GSL if(mgl_rng==0) { gsl_rng_env_setup(); mgl_rng = gsl_rng_alloc(gsl_rng_default); gsl_rng_set(mgl_rng, time(0)); } return gsl_rng_uniform(mgl_rng); // gsl_rng_free(r); #else return rand()/(RAND_MAX-1.); #endif } double MGL_EXPORT mgl_rnd_() { return mgl_rnd(); } //----------------------------------------------------------------------------- mglFormula::~mglFormula() { if(Left) delete Left; if(Right) delete Right; } //----------------------------------------------------------------------------- // Formula constructor (automatically parse and "compile" formula) mglFormula::mglFormula(const char *string) { #if MGL_HAVE_GSL gsl_set_error_handler_off(); #endif Error=0; Left=Right=0; Res=0; Kod=0; if(!string) { Kod = EQ_NUM; Res = 0; return; } char *str = new char[strlen(string)+1]; strcpy(str,string); long n,len; mgl_strtrim(str); mgl_strlwr(str); len=strlen(str); if(str[0]==0) { delete []str; return; } if(str[0]=='(' && mglCheck(str+1,len-2)) // remove braces { memmove(str,str+1,len); len-=2; str[len]=0; } len=strlen(str); n=mglFindInText(str,"&|"); // lowest priority -- logical if(n>=0) { if(str[n]=='|') Kod=EQ_OR; else Kod=EQ_AND; str[n]=0; Left=new mglFormula(str); Right=new mglFormula(str+n+1); delete []str; return; } n=mglFindInText(str,"<>="); // low priority -- conditions if(n>=0) { if(str[n]=='<') Kod=EQ_LT; else if(str[n]=='>') Kod=EQ_GT; else Kod=EQ_EQ; str[n]=0; Left=new mglFormula(str); Right=new mglFormula(str+n+1); delete []str; return; } n=mglFindInText(str,"+-"); // normal priority -- additions if(n>=0 && (n<2 || str[n-1]!='e' || (str[n-2]!='.' && !isdigit(str[n-2])))) { if(str[n]=='+') Kod=EQ_ADD; else Kod=EQ_SUB; str[n]=0; Left=new mglFormula(str); Right=new mglFormula(str+n+1); delete []str; return; } n=mglFindInText(str,"*/"); // high priority -- multiplications if(n>=0) { if(str[n]=='*') Kod=EQ_MUL; else Kod=EQ_DIV; str[n]=0; Left=new mglFormula(str); Right=new mglFormula(str+n+1); delete []str; return; } n=mglFindInText(str,"^"); // highest priority -- power if(n>=0) { Kod=EQ_IPOW; str[n]=0; Left=new mglFormula(str); Right=new mglFormula(str+n+1); delete []str; return; } for(n=0;n=len) // this is number or variable { Kod = EQ_NUM; // Left = Right = 0; if(str[1]==0 && str[0]>='a' && str[0]<='z') // available variables { Kod=EQ_A; Res = str[0]-'a'; } else if(!strcmp(str,"rnd")) Kod=EQ_RND; else if(!strcmp(str,"pi")) Res=M_PI; else Res=atof(str); // this is number } else { char name[128]; strncpy(name,str,128); name[127]=name[n]=0; memmove(str,str+n+1,len-n); len=strlen(str); str[--len]=0; if(!strncmp(name,"jacobi_",7)) memmove(name,name+7,(strlen(name+7)+1)*sizeof(char)); if(name[0]=='a') { if(!strcmp(name+1,"sin")) Kod=EQ_ASIN; else if(!strcmp(name+1,"cos")) Kod=EQ_ACOS; else if(!strcmp(name+1,"tan")) Kod=EQ_ATAN; else if(!strcmp(name+1,"sinh")) Kod=EQ_ASINH; else if(!strcmp(name+1,"cosh")) Kod=EQ_ACOSH; else if(!strcmp(name+1,"tanh")) Kod=EQ_ATANH; else if(!strcmp(name+1,"rg")) Kod=EQ_ARG; else if(!strcmp(name+1,"bs")) Kod=EQ_ABS; else if(!strcmp(name+1,"i")) Kod=EQ_AI; else if(!strcmp(name+1,"iry_ai")) Kod=EQ_AI; else if(!strcmp(name+1,"iry_bi")) Kod=EQ_BI; else if(!strcmp(name+1,"iry_dai")) Kod=EQ_AID; else if(!strcmp(name+1,"iry_dbi")) Kod=EQ_BID; } else if(name[0]=='b') { if(!strcmp(name+1,"i")) Kod=EQ_BI; else if(!strcmp(name+1,"essel_j")) Kod=EQ_BESJ; else if(!strcmp(name+1,"essel_i")) Kod=EQ_BESI; else if(!strcmp(name+1,"essel_k")) Kod=EQ_BESK; else if(!strcmp(name+1,"essel_y")) Kod=EQ_BESY; else if(!strcmp(name+1,"eta")) Kod=EQ_BETA; } else if(name[0]=='c') { if(!strcmp(name+1,"os")) Kod=EQ_COS; else if(!strcmp(name+1,"osh")) Kod=EQ_COSH; else if(!strcmp(name+1,"h")) Kod=EQ_COSH; else if(!strcmp(name+1,"i")) Kod=EQ_CI; else if(!strcmp(name+1,"n")) Kod=EQ_CN; else if(!strcmp(name+1,"s")) Kod=EQ_CS; else if(!strcmp(name+1,"d")) Kod=EQ_CD; else if(!strcmp(name+1,"l")) Kod=EQ_CL; } else if(name[0]=='d') { if(!strcmp(name+1,"n")) Kod=EQ_DN; else if(!strcmp(name+1,"s")) Kod=EQ_DS; else if(!strcmp(name+1,"c")) Kod=EQ_DC; else if(!strcmp(name+1,"ilog")) Kod=EQ_LI2; } else if(name[0]=='e') { if(!strcmp(name+1,"xp")) Kod=EQ_EXP; else if(!strcmp(name+1,"rf")) Kod=EQ_ERF; else if(!strcmp(name+1,"n")) Kod=EQ_EN; else if(!strcmp(name+1,"e")) Kod=EQ_ELLE; else if(!strcmp(name+1,"k")) Kod=EQ_ELLK; else if(name[0]==0) Kod=EQ_ELE; else if(!strcmp(name+1,"i")) Kod=EQ_EI; else if(!strcmp(name+1,"1")) Kod=EQ_E1; else if(!strcmp(name+1,"2")) Kod=EQ_E2; else if(!strcmp(name+1,"ta")) Kod=EQ_ETA; else if(!strcmp(name+1,"i3")) Kod=EQ_EI3; else if(!strcmp(name+1,"lliptic_e")) Kod=EQ_ELE; else if(!strcmp(name+1,"lliptic_f")) Kod=EQ_ELF; else if(!strcmp(name+1,"lliptic_ec")) Kod=EQ_ELLE; else if(!strcmp(name+1,"lliptic_kc")) Kod=EQ_ELLK; } else if(name[0]=='l') { if(!strcmp(name+1,"og")) Kod=EQ_LOG; else if(!strcmp(name+1,"g")) Kod=EQ_LG; else if(!strcmp(name+1,"n")) Kod=EQ_LN; else if(!strcmp(name+1,"i2")) Kod=EQ_LI2; else if(!strcmp(name+1,"egendre")) Kod=EQ_LP; } else if(name[0]=='s') { if(!strcmp(name+1,"qrt")) Kod=EQ_SQRT; else if(!strcmp(name+1,"in")) Kod=EQ_SIN; else if(!strcmp(name+1,"tep")) Kod=EQ_STEP; else if(!strcmp(name+1,"ign")) Kod=EQ_SIGN; else if(!strcmp(name+1,"inh")) Kod=EQ_SINH; else if(!strcmp(name+1,"h")) Kod=EQ_SINH; else if(!strcmp(name+1,"i")) Kod=EQ_SI; else if(!strcmp(name+1,"n")) Kod=EQ_SN; else if(!strcmp(name+1,"c")) Kod=EQ_SC; else if(!strcmp(name+1,"d")) Kod=EQ_SD; else if(!strcmp(name+1,"inc")) Kod=EQ_SINC; } else if(name[0]=='t') { if(!strcmp(name+1,"g")) Kod=EQ_TAN; else if(!strcmp(name+1,"an")) Kod=EQ_TAN; else if(!strcmp(name+1,"anh")) Kod=EQ_TANH; else if(!strcmp(name+1,"h")) Kod=EQ_TANH; } else if(!strcmp(name,"pow")) Kod=EQ_POW; else if(!strcmp(name,"mod")) Kod=EQ_MOD; else if(!strcmp(name,"i")) Kod=EQ_BESI; else if(!strcmp(name,"int")) Kod=EQ_INT; else if(!strcmp(name,"j")) Kod=EQ_BESJ; else if(!strcmp(name,"k")) Kod=EQ_BESK; else if(!strcmp(name,"y")) Kod=EQ_BESY; else if(!strcmp(name,"f")) Kod=EQ_ELF; else if(!strcmp(name,"gamma")) Kod=EQ_GAMMA; else if(!strcmp(name,"ns")) Kod=EQ_NS; else if(!strcmp(name,"nc")) Kod=EQ_NC; else if(!strcmp(name,"nd")) Kod=EQ_ND; else if(!strcmp(name,"w0")) Kod=EQ_W0; else if(!strcmp(name,"w1")) Kod=EQ_W1; else if(!strcmp(name,"psi")) Kod=EQ_PSI; else if(!strcmp(name,"zeta")) Kod=EQ_ZETA; else if(!strcmp(name,"z")) Kod=EQ_Z; else { delete []str; return; } // unknown function n=mglFindInText(str,","); if(n>=0) { str[n]=0; Left=new mglFormula(str); Right=new mglFormula(str+n+1); } else Left=new mglFormula(str); } delete []str; } //----------------------------------------------------------------------------- // evaluate formula for 'x'='r', 'y'='n'='v', 't'='z', 'u'='a' variables mreal mglFormula::Calc(mreal x,mreal y,mreal t,mreal u) const { Error=0; mreal a1[MGL_VS]; memset(a1,0,MGL_VS*sizeof(mreal)); a1['a'-'a'] = a1['c'-'a'] = a1['u'-'a'] = u; a1['x'-'a'] = a1['r'-'a'] = x; a1['y'-'a'] = a1['n'-'a'] = a1['v'-'a'] = y; a1['z'-'a'] = a1['t'-'a'] = t; return CalcIn(a1); } //----------------------------------------------------------------------------- // evaluate formula for 'x'='r', 'y'='n', 't'='z', 'u'='a', 'v'='b', 'w'='c' variables mreal mglFormula::Calc(mreal x,mreal y,mreal t,mreal u,mreal v,mreal w) const { Error=0; mreal a1[MGL_VS]; memset(a1,0,MGL_VS*sizeof(mreal)); a1['c'-'a'] = a1['w'-'a'] = w; a1['b'-'a'] = a1['v'-'a'] = v; a1['a'-'a'] = a1['u'-'a'] = u; a1['x'-'a'] = a1['r'-'a'] = x; a1['y'-'a'] = a1['n'-'a'] = y; a1['z'-'a'] = a1['t'-'a'] = t; return CalcIn(a1); } //----------------------------------------------------------------------------- // evaluate formula for arbitrary set of variables mreal mglFormula::Calc(const mreal var[MGL_VS]) const { Error=0; return CalcIn(var); } //----------------------------------------------------------------------------- // evaluate formula for 'x'='r', 'y'='n'='v', 't'='z', 'u'='a' variables mreal mglFormula::CalcD(char diff,mreal x,mreal y,mreal t,mreal u) const { Error=0; mreal a1[MGL_VS]; memset(a1,0,MGL_VS*sizeof(mreal)); a1['a'-'a'] = a1['c'-'a'] = a1['u'-'a'] = u; a1['x'-'a'] = a1['r'-'a'] = x; a1['y'-'a'] = a1['n'-'a'] = a1['v'-'a'] = y; a1['z'-'a'] = a1['t'-'a'] = t; return CalcDIn(diff-'a', a1); } //----------------------------------------------------------------------------- // evaluate formula for 'x'='r', 'y'='n', 't'='z', 'u'='a', 'v'='b', 'w'='c' variables mreal mglFormula::CalcD(char diff,mreal x,mreal y,mreal t,mreal u,mreal v,mreal w) const { Error=0; mreal a1[MGL_VS]; memset(a1,0,MGL_VS*sizeof(mreal)); a1['c'-'a'] = a1['w'-'a'] = w; a1['b'-'a'] = a1['v'-'a'] = v; a1['a'-'a'] = a1['u'-'a'] = u; a1['x'-'a'] = a1['r'-'a'] = x; a1['y'-'a'] = a1['n'-'a'] = y; a1['z'-'a'] = a1['t'-'a'] = t; return CalcDIn(diff-'a', a1); } //----------------------------------------------------------------------------- // evaluate derivate of formula respect to 'diff' variable for arbitrary set of other variables mreal mglFormula::CalcD(const mreal var[MGL_VS], char diff) const { Error=0; return CalcDIn(diff-'a', var); } //----------------------------------------------------------------------------- double MGL_NO_EXPORT cand(double a,double b) {return a&&b?1:0;} double MGL_NO_EXPORT cor(double a,double b) {return a||b?1:0;} double MGL_NO_EXPORT ceq(double a,double b) {return a==b?1:0;} double MGL_NO_EXPORT clt(double a,double b) {return ab?1:0;} double MGL_NO_EXPORT add(double a,double b) {return a+b;} double MGL_NO_EXPORT sub(double a,double b) {return a-b;} double MGL_NO_EXPORT mul(double a,double b) {return a&&b?a*b:0;} double MGL_NO_EXPORT del(double a,double b) {return b?a/b:NAN;} double MGL_NO_EXPORT ipw(double a,double b) {return fabs(b-int(b))<1e-5 ? mgl_ipow(a,int(b)) : pow(a,b);} double MGL_NO_EXPORT llg(double a,double b) {return log(a)/log(b);} #if MGL_HAVE_GSL double MGL_NO_EXPORT gslEllE(double a,double b) {return gsl_sf_ellint_E(a,b,GSL_PREC_SINGLE);} double MGL_NO_EXPORT gslEllF(double a,double b) {return gsl_sf_ellint_F(a,b,GSL_PREC_SINGLE);} double MGL_NO_EXPORT gslLegP(double a,double b) {return gsl_sf_legendre_Pl(int(a),b);} double MGL_NO_EXPORT gslEllEc(double a) {return gsl_sf_ellint_Ecomp(a,GSL_PREC_SINGLE);} double MGL_NO_EXPORT gslEllFc(double a) {return gsl_sf_ellint_Kcomp(a,GSL_PREC_SINGLE);} double MGL_NO_EXPORT gslAi(double a) {return gsl_sf_airy_Ai(a,GSL_PREC_SINGLE);} double MGL_NO_EXPORT gslBi(double a) {return gsl_sf_airy_Bi(a,GSL_PREC_SINGLE);} double MGL_NO_EXPORT gslAi_d(double a) {return gsl_sf_airy_Ai_deriv(a,GSL_PREC_SINGLE);} double MGL_NO_EXPORT gslBi_d(double a) {return gsl_sf_airy_Bi_deriv(a,GSL_PREC_SINGLE);} #endif double MGL_NO_EXPORT sgn(double a) {return a<0 ? -1:(a>0?1:0);} double MGL_NO_EXPORT stp(double a) {return a>0 ? 1:0;} double MGL_NO_EXPORT arg(double a,double b) { return atan2(b,a); } double MGL_NO_EXPORT mgz1(double) {return 0;} double MGL_NO_EXPORT mgz2(double,double) {return 0;} #ifdef WIN32 double MGL_NO_EXPORT asinh(double x) { return log(x+sqrt(x*x+1.)); } double MGL_NO_EXPORT acosh(double x) { return x>1 ? log(x+sqrt(x*x-1.)) : NAN; } double MGL_NO_EXPORT atanh(double x) { return fabs(x)<1 ? log((1.+x)/(1.-x))/2 : NAN; } #endif //----------------------------------------------------------------------------- typedef double (*func_1)(double); typedef double (*func_2)(double, double); // evaluation of embedded (included) expressions mreal mglFormula::CalcIn(const mreal *a1) const { mreal z2[22] = {3,3,3,3,0,3,3,0,0,0,0,0,NAN,0 #if MGL_HAVE_GSL ,3,NAN, 3,NAN, 0,0,3,1 #else ,0,0,0,0,0,0,0,0 #endif }; func_2 f2[22] = {clt,cgt,ceq,cor,cand,add,sub,mul,del,ipw,pow,fmod,llg,arg #if MGL_HAVE_GSL ,gsl_sf_bessel_Jnu,gsl_sf_bessel_Ynu, gsl_sf_bessel_Inu,gsl_sf_bessel_Knu, gslEllE,gslEllF,gslLegP,gsl_sf_beta #else ,mgz2,mgz2,mgz2,mgz2,mgz2,mgz2,mgz2,mgz2 #endif }; func_1 f1[42] = {sin,cos,tan,asin,acos,atan,sinh,cosh,tanh, asinh,acosh,atanh,sqrt,exp,log,log10,sgn,stp,floor,fabs #if MGL_HAVE_GSL ,gsl_sf_dilog,gslEllEc,gslEllFc,gslAi,gslBi,gsl_sf_erf, gsl_sf_expint_3,gsl_sf_expint_Ei,gsl_sf_expint_E1,gsl_sf_expint_E2, gsl_sf_Si,gsl_sf_Ci,gsl_sf_gamma,gsl_sf_psi,gsl_sf_lambert_W0, gsl_sf_lambert_Wm1,gsl_sf_sinc,gsl_sf_zeta,gsl_sf_eta,gslAi_d,gslBi_d, gsl_sf_dawson #else ,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1, mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1 #endif }; // if(Error) return 0; if(KodCalcIn(a1); if(!mgl_isnan(a)) { if(KodCalcIn(a1); return !mgl_isnan(b) ? f2[Kod-EQ_LT](a,b) : NAN; } else if(KodCalcIn(a1); if(mgl_isnan(b)) return NAN; gsl_sf_elljac_e(a,b, &sn, &cn, &dn); switch(Kod) { case EQ_SN: return sn; case EQ_SC: return sn/cn; case EQ_SD: return sn/dn; case EQ_CN: return cn; case EQ_CS: return cn/sn; case EQ_CD: return cn/dn; case EQ_DN: return dn; case EQ_DS: return dn/sn; case EQ_DC: return dn/cn; case EQ_NS: return 1./sn; case EQ_NC: return 1./cn; case EQ_ND: return 1./dn; } } #endif } return NAN; } //----------------------------------------------------------------------------- double MGL_NO_EXPORT mgp(double ,double ) {return 1;} double MGL_NO_EXPORT mgm(double ,double ) {return -1;} double MGL_NO_EXPORT mul1(double ,double b) {return b;} double MGL_NO_EXPORT mul2(double a,double ) {return a;} double MGL_NO_EXPORT div1(double ,double b) {return b?1/b:NAN;} double MGL_NO_EXPORT div2(double a,double b) {return b?-a/(b*b):NAN;} double MGL_NO_EXPORT ipw1(double a,double b) {return b*(fabs(b-int(b))<1e-5 ? mgl_ipow(a,int(b-1)) : pow(a,b-1));} double MGL_NO_EXPORT pow1(double a,double b) {return b*pow(a,b-1);} double MGL_NO_EXPORT pow2(double a,double b) {return log(a)*pow(a,b);} double MGL_NO_EXPORT llg1(double a,double b) {return 1/(a*log(b));} double MGL_NO_EXPORT llg2(double a,double b) {return -log(a)/(b*log(b)*log(b));} double MGL_NO_EXPORT cos_d(double a) {return -sin(a);} double MGL_NO_EXPORT tan_d(double a) {return 1./(cos(a)*cos(a));} double MGL_NO_EXPORT asin_d(double a) {return 1./sqrt(1.-a*a);} double MGL_NO_EXPORT acos_d(double a) {return -1./sqrt(1.-a*a);} double MGL_NO_EXPORT atan_d(double a) {return 1./(1.+a*a);} double MGL_NO_EXPORT tanh_d(double a) {return 1./(cosh(a)*cosh(a));} double MGL_NO_EXPORT atanh_d(double a){return 1./(1.-a*a);} double MGL_NO_EXPORT asinh_d(double a){return 1./sqrt(1.+a*a);} double MGL_NO_EXPORT acosh_d(double a){return 1./sqrt(a*a-1.);} double MGL_NO_EXPORT sqrt_d(double a) {return 0.5/sqrt(a);} double MGL_NO_EXPORT log10_d(double a){return M_LN10/a;} double MGL_NO_EXPORT log_d(double a) {return 1./a;} double MGL_NO_EXPORT erf_d(double a) {return 2*exp(-a*a)/sqrt(M_PI);} double MGL_NO_EXPORT dilog_d(double a){return log(a)/(1.-a);} double MGL_NO_EXPORT ei_d(double a) {return exp(a)/a;} double MGL_NO_EXPORT si_d(double a) {return a?sin(a)/a:1;} double MGL_NO_EXPORT ci_d(double a) {return cos(a)/a;} double MGL_NO_EXPORT exp3_d(double a) {return exp(-a*a*a);} double MGL_NO_EXPORT e1_d(double a) {return exp(-a)/a;} double MGL_NO_EXPORT sinc_d(double a) {return a ? (cos(M_PI*a)/a-sin(M_PI*a)/(M_PI*a*a)) : 0;} #if MGL_HAVE_GSL double MGL_NO_EXPORT e2_d(double a) {return -gsl_sf_expint_E1(a);} double MGL_NO_EXPORT gslJnuD(double a,double b) {return 0.5*(gsl_sf_bessel_Jnu(a-1,b)-gsl_sf_bessel_Jnu(a+1,b));} double MGL_NO_EXPORT gslYnuD(double a,double b) {return 0.5*(gsl_sf_bessel_Ynu(a-1,b)-gsl_sf_bessel_Ynu(a+1,b));} double MGL_NO_EXPORT gslKnuD(double a,double b) {return -(a*gsl_sf_bessel_Knu(a,b)/b +gsl_sf_bessel_Knu(a-1,b));} double MGL_NO_EXPORT gslInuD(double a,double b) {return -(a*gsl_sf_bessel_Inu(a,b)/b -gsl_sf_bessel_Inu(a-1,b));} double MGL_NO_EXPORT gslEllE1(double a,double b) {return sqrt(1.-sin(a)*sin(a)*b);} double MGL_NO_EXPORT gslEllE2(double a,double b) {return (gsl_sf_ellint_E(a,b,GSL_PREC_SINGLE) - gsl_sf_ellint_F(a,b,GSL_PREC_SINGLE))/(2.*b);} double MGL_NO_EXPORT gslEllF1(double a,double b) {return 1./sqrt(1.-sin(a)*sin(a)*b);} double MGL_NO_EXPORT gslEllF2(double a,double b) {return (gsl_sf_ellint_E(a,b,GSL_PREC_SINGLE) - gsl_sf_ellint_F(a,b,GSL_PREC_SINGLE)*(1.-b))/(2*b*(1.-b)) - sin(2.*a)/(sqrt(1.-sin(a)*sin(a)*b)*2.*(1.-b));} double MGL_NO_EXPORT gslE_d(double a) {return (gsl_sf_ellint_Ecomp(a,GSL_PREC_SINGLE) - gsl_sf_ellint_Kcomp(a,GSL_PREC_SINGLE))/(2.*a);} double MGL_NO_EXPORT gslK_d(double a) {return (gsl_sf_ellint_Ecomp(a,GSL_PREC_SINGLE) - (1.-a)*gsl_sf_ellint_Kcomp(a,GSL_PREC_SINGLE))/(2.*a*(1.-a));} double MGL_NO_EXPORT gamma_d(double a) {return gsl_sf_psi(a)*gsl_sf_gamma(a);} #endif //----------------------------------------------------------------------------- // evaluation of derivative of embedded (included) expressions mreal mglFormula::CalcDIn(int id, const mreal *a1) const { func_2 f21[22] = {mgz2,mgz2,mgz2, mgz2,mgz2,mgp, mgp,mul1,div1, ipw1,pow1,mgp,llg1, mgz2 #if MGL_HAVE_GSL ,mgz2,mgz2,mgz2, mgz2,gslEllE1,gslEllF2, mgz2,mgz2 #else ,mgz2,mgz2,mgz2,mgz2,mgz2,mgz2,mgz2,mgz2 #endif }; func_2 f22[22] = {mgz2,mgz2,mgz2,mgz2,mgz2,mgp,mgm,mul2,div2,pow2,pow2,mgz2,llg2, mgz2 #if MGL_HAVE_GSL ,gslJnuD,gslYnuD,gslInuD,gslKnuD,gslEllE2,gslEllF2,mgz2/*gslLegP*/,mgz2 #else ,mgz2,mgz2,mgz2,mgz2,mgz2,mgz2,mgz2,mgz2 #endif }; func_1 f11[42] = {cos,cos_d,tan_d,asin_d,acos_d,atan_d,cosh,sinh,tanh_d, asinh_d,acosh_d,atanh_d,sqrt_d,exp,log_d,log10_d,mgz1,mgz1,mgz1,sgn #if MGL_HAVE_GSL ,dilog_d,gslE_d,gslK_d,gslAi_d,gslBi_d,erf_d,exp3_d,ei_d,e1_d,e2_d, si_d,ci_d,gamma_d,gsl_sf_psi_1,mgz1,mgz1,sinc_d,mgz1,mgz1,mgz1,mgz1,mgz1 #else ,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1, mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1,mgz1 #endif }; if(KodCalcIn(a1), d = Left->CalcDIn(id,a1); if(!mgl_isnan(a) && !mgl_isnan(d)) { if(KodCalcIn(a1), c = Right->CalcDIn(id,a1); return !mgl_isnan(b) ? (d?f21[Kod-EQ_LT](a,b)*d:0) + (c?f22[Kod-EQ_LT](a,b)*c:0) : NAN; } else if(KodCalcIn(a1); if(mgl_isnan(b)) return NAN; gsl_sf_elljac_e(a,b, &sn, &cn, &dn); switch(Kod) // At this moment parse only differentiation or argument NOT mu !!! { case EQ_SN: return cn*dn*d; case EQ_SC: return dn*d/(cn*cn); case EQ_SD: return cn*d/(dn*dn); case EQ_CN: return -dn*sn*d; case EQ_CS: return dn*d/(sn*sn); case EQ_CD: return (b-1)*d*sn/(dn*dn); case EQ_DN: return -b*d*cn*sn; case EQ_DS: return -cn*d/(sn*sn); case EQ_DC: return (1-b)*sn*d/(cn*cn); case EQ_NS: return -cn*dn*d/(sn*sn); case EQ_NC: return dn*sn*d/(cn*cn); case EQ_ND: return b*cn*sn*d/(dn*dn); } } #endif } return NAN; } //----------------------------------------------------------------------------- // Check braces correctness bool MGL_NO_EXPORT mglCheck(char *str,int n) { register long s = 0,i; for(i=0;i=0;i--) { if(str[i]=='(') l++; if(str[i]==')') r++; if(l==r && strchr(lst,str[i])) return i; } return -1; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/CMakeLists.txt0000664000175000017500000001217612142400470016246 0ustar balakinbalakinset(mgl_src addon.cpp axis.cpp base_cf.cpp base.cpp canvas_cf.cpp canvas.cpp cont.cpp crust.cpp complex.cpp complex_io.cpp fft.cpp data.cpp data_io.cpp data_new.cpp data_png.cpp def_font.cpp export_2d.cpp export_3d.cpp eval.cpp evalp.cpp exec.cpp export.cpp fit.cpp font.cpp obj.cpp other.cpp parser.cpp pde.cpp pixel.cpp plot.cpp prim.cpp surf.cpp tex_table.cpp vect.cpp volume.cpp evalc.cpp s_hull/s_hull_pro.cpp window.cpp ) set(mgl_hdr ../include/mgl2/base_cf.h ../include/mgl2/fit.h ../include/mgl2/plot.h ../include/mgl2/base.h ../include/mgl2/prim.h ../include/mgl2/canvas_cf.h ../include/mgl2/font.h ../include/mgl2/canvas.h ../include/mgl2/surf.h ../include/mgl2/mgl_cf.h ../include/mgl2/type.h ${MathGL_BINARY_DIR}/include/mgl2/config.h ${MathGL_BINARY_DIR}/include/mgl2/dllexport.h ../include/mgl2/cont.h ../include/mgl2/mgl.h ../include/mgl2/vect.h ../include/mgl2/data.h ../include/mgl2/volume.h ../include/mgl2/data_cf.h ../include/mgl2/define.h ../include/mgl2/other.h ../include/mgl2/eval.h ../include/mgl2/parser.h ../include/mgl2/addon.h ../include/mgl2/evalc.h s_hull/s_hull_pro.h ../include/mgl2/wnd.h ../include/mgl2/canvas_wnd.h ) add_definitions(-DMGL_SRC) if(MGL_HAVE_PNG) set(prc_src prc/PRCbitStream.cc prc/PRCdouble.cc prc/oPRCFile.cc prc/writePRC.cc prc.cpp ) set(prc_hdr prc/PRC.h prc/PRCbitStream.h prc/PRCdouble.h prc/oPRCFile.h prc/writePRC.h ) set(mgl_src ${mgl_src} ${prc_src} ) set(mgl_hdr ${mgl_hdr} ${prc_hdr} ) include_directories(prc) endif(MGL_HAVE_PNG) if(MGL_HAVE_OPENGL) set(mgl_src ${mgl_src} opengl.cpp ) set(mgl_hdr ${mgl_hdr} ../include/mgl2/opengl.h ) endif(MGL_HAVE_OPENGL) include(GenerateExportHeader) add_compiler_export_flags() add_library(mgl SHARED ${mgl_src} ${mgl_hdr}) add_library(mgl-static STATIC ${mgl_src} ${mgl_hdr}) set_target_properties(mgl PROPERTIES CLEAN_DIRECT_OUTPUT 1) set_target_properties(mgl-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) set_target_properties(mgl-static PROPERTIES COMPILE_FLAGS -DMGL_STATIC_DEFINE) generate_export_header(mgl EXPORT_FILE_NAME ../include/mgl2/dllexport.h) if(enable-mgl2) set_target_properties(mgl PROPERTIES OUTPUT_NAME "mgl2") set_target_properties(mgl-static PROPERTIES OUTPUT_NAME "mgl2") else(enable-mgl2) set_target_properties(mgl-static PROPERTIES OUTPUT_NAME "mgl") endif(enable-mgl2) if(MGL_HAVE_LTDL) target_link_libraries(mgl ${LTDL_LIB}) include_directories(${LTDL_INCLUDE_DIR}) endif(MGL_HAVE_LTDL) if(MGL_HAVE_PDF) include_directories(${HPDF_INCLUDE_DIR}) target_link_libraries(mgl ${HPDF_LIB}) endif(MGL_HAVE_PDF) if(MGL_HAVE_PTHREAD) target_link_libraries(mgl ${CMAKE_THREAD_LIBS_INIT}) endif(MGL_HAVE_PTHREAD) if(MGL_HAVE_JPEG) target_link_libraries(mgl ${JPEG_LIBRARIES}) include_directories(${JPEG_INCLUDE_DIR}) endif(MGL_HAVE_JPEG) if(MGL_HAVE_GIF) target_link_libraries(mgl ${GIF_LIBRARIES}) include_directories(${GIF_INCLUDE_DIR}) endif(MGL_HAVE_GIF) if(MGL_HAVE_HDF5) target_link_libraries(mgl ${HDF5_LIBRARIES}) include_directories(${HDF5_INCLUDE_DIR}) endif(MGL_HAVE_HDF5) if(MGL_HAVE_HDF4) target_link_libraries(mgl ${HDF4MF_LIB} ${HDF4_LIB}) include_directories(${HDF4_INCLUDE_DIR}) endif(MGL_HAVE_HDF4) if(MGL_HAVE_GSL) target_link_libraries(mgl ${GSL_LIB} ${GSL_CBLAS_LIB} ) include_directories(${GSL_INCLUDE_DIR}) endif(MGL_HAVE_GSL) if(MGL_HAVE_OPENGL) target_link_libraries(mgl ${OPENGL_LIBRARIES} ) include_directories(${OPENGL_INCLUDE_DIR} ) endif(MGL_HAVE_OPENGL) if(MGL_HAVE_PNG) target_link_libraries(mgl ${PNG_LIBRARIES} ) include_directories(${PNG_INCLUDE_DIR}) endif(MGL_HAVE_PNG) if(MGL_HAVE_ZLIB) target_link_libraries(mgl ${ZLIB_LIBRARIES} ) include_directories(${ZLIB_INCLUDE_DIR}) endif(MGL_HAVE_ZLIB) if(MGL_HAVE_MPI) add_library(mgl-mpi SHARED mpi.cpp ../include/mgl2/mpi.h) add_library(mgl-mpi-static STATIC mpi.cpp ../include/mgl2/mpi.h) set_target_properties(mgl-mpi PROPERTIES CLEAN_DIRECT_OUTPUT 1) set_target_properties(mgl-mpi PROPERTIES DEFINE_SYMBOL "mgl_EXPORTS") set_target_properties(mgl-mpi-static PROPERTIES OUTPUT_NAME "mgl-mpi") set_target_properties(mgl-mpi-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) set_target_properties(mgl-mpi-static PROPERTIES COMPILE_FLAGS -DMGL_STATIC_DEFINE) if(enable-mgl2) set_target_properties(mgl-mpi PROPERTIES OUTPUT_NAME "mgl2-mpi") set_target_properties(mgl-mpi-static PROPERTIES OUTPUT_NAME "mgl2-mpi") else(enable-mgl2) set_target_properties(mgl-mpi-static PROPERTIES OUTPUT_NAME "mgl-mpi") endif(enable-mgl2) target_link_libraries(mgl-mpi ${MPI_LIBRARIES} ) # include_directories(${MPI_C_INCLUDE_PATH}) include_directories(${MPI_CXX_INCLUDE_PATH}) set_target_properties(mgl-mpi PROPERTIES SOVERSION 7.0.0) install( TARGETS mgl-mpi mgl-mpi-static RUNTIME DESTINATION bin ARCHIVE DESTINATION ${MGL_LIB_INSTALL_DIR} LIBRARY DESTINATION ${MGL_LIB_INSTALL_DIR} ) endif(MGL_HAVE_MPI) if(M_LIB) target_link_libraries(mgl ${M_LIB}) endif(M_LIB) set_target_properties(mgl PROPERTIES SOVERSION 7.0.0) install( TARGETS mgl mgl-static RUNTIME DESTINATION bin ARCHIVE DESTINATION ${MGL_LIB_INSTALL_DIR} LIBRARY DESTINATION ${MGL_LIB_INSTALL_DIR} ) install(FILES ${MathGL_BINARY_DIR}/include/mgl2/dllexport.h DESTINATION ${MGL_INCLUDE_PATH}) mathgl-2.1.3.1/src/parser.cpp0000664000175000017500000011000212142400470015471 0ustar balakinbalakin/*************************************************************************** * parse.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/parser.h" #include "mgl2/canvas_cf.h" //----------------------------------------------------------------------------- #ifdef WIN32 #include wchar_t *wcstokw32(wchar_t *wcs, const wchar_t *delim) { return wcstok(wcs,delim); } #define wcstok(a,b,c) wcstokw32(a,b) #else #include #endif MGL_EXPORT void (*mgl_ask_func)(const wchar_t *, wchar_t *)=0; void MGL_EXPORT mgl_ask_gets(const wchar_t *quest, wchar_t *res) { printf("%ls\n",quest); if(!fgetws(res,1024,stdin)) *res=0; } //----------------------------------------------------------------------------- mglFunc::mglFunc(const mglFunc &f) { pos=f.pos; narg=f.narg; wcsncpy(func,f.func,64); } mglFunc::mglFunc(long p, const wchar_t *f) { pos = p; register size_t i; for(i=0;(isalnum(f[i]) || f[i]=='_') && i<63;i++) func[i]=f[i]; func[i]=0; narg = wcstol(f+i+1,0,0); if(narg<0 || narg>9) narg=0; } //----------------------------------------------------------------------------- size_t mglParser::GetParLen() { register size_t i,s=0,t; for(i=0;i<40;i++) { t = par[i].length(); s = s' ') return; register long i; for(i=4;line[i]<=' ' || line[i]=='\'';i++); func.push_back(mglFunc(num-1, line+i)); } //----------------------------------------------------------------------------- MGL_NO_EXPORT wchar_t *mgl_str_copy(const char *s) { wchar_t *str = new wchar_t[strlen(s)+1]; register long i; for(i=0;iname, bb->name); } //----------------------------------------------------------------------------- bool check_for_name(const wchar_t *s) { return !isalpha(s[0])||wcschr(s,'.')||wcschr(s,':')||wcschr(s,'(')||wcschr(s,')'); } //----------------------------------------------------------------------------- mglCommand *mglParser::FindCommand(const char *com) { if(!AllowFileIO && ( !strncmp(com,"read",4) || !strncmp(com,"save",4) || !strcmp(com,"fgets") || !strcmp(com,"import") || !strcmp(com,"export") )) return 0; mglCommand tst, *rts, *cmd = Cmd; long i; for(i=0;cmd[i].name[0];i++); // determine the number of symbols tst.name = com; rts = (mglCommand *) bsearch(&tst, cmd, i, sizeof(mglCommand), mgl_cmd_cmp); return rts; } //----------------------------------------------------------------------------- mglCommand *mglParser::FindCommand(const wchar_t *com) { size_t s = 15type==6) return 2; if(rts->type == 4) { if(n<1 || check_for_name(var)) return 2; mglVar *v = AddVar(var); v->Create(1,1,1); a[0].type = 0; a[0].d = v; a[0].w = var; k[0] = 'd'; } char *o=0; if(opt && *opt) // TODO: parse arguments of options { long len = wcslen(opt); o = new char[len+1]; for(i=0;iexec(gr, n, a, k.c_str(), o); if(o) delete []o; return res; } //----------------------------------------------------------------------------- void mglNum::MoveAfter(mglNum *var) { if(prev) prev->next = next; if(next) next->prev = prev; prev = next = 0; if(var) { prev = var; next = var->next; var->next = this; } if(next) next->prev = this; } //----------------------------------------------------------------------------- mglNum::~mglNum() { if(prev) prev->next = next; if(next) next->prev = prev; } //----------------------------------------------------------------------------- mglParser::mglParser(bool setsize) { DataList=0; NumList=0; // wchar_t *par[40]; ///< Parameter for substituting instead of $1, ..., $9 InUse = 1; Skip=Stop=for_br=false; memset(for_stack,0,40*sizeof(int)); memset(if_stack,0,40*sizeof(int)); memset(if_for,0,40*sizeof(int)); if_pos=for_addr=0; for(long i=0;i<40;i++) par[i]=L""; Cmd = mgls_base_cmd; AllowSetSize=setsize; AllowFileIO=true; Once = true; op1 = new wchar_t[4096]; op2 = new wchar_t[4096]; fval = new mglData[40]; } //----------------------------------------------------------------------------- mglParser::~mglParser() { DeleteAll(); delete []op1; delete []op2; delete []fval; if(Cmd && Cmd!=mgls_base_cmd) delete []Cmd; } //----------------------------------------------------------------------------- void mglParser::DeleteAll() { if(DataList) { while(DataList->next) delete DataList->next; delete DataList; DataList = 0; } if(NumList) { while(NumList->next) delete NumList->next; delete NumList; NumList = 0; } } //----------------------------------------------------------------------------- void mglParser::AddParam(int n, const char *str) { unsigned s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); AddParam(n,wcs); delete []wcs; } //----------------------------------------------------------------------------- int mglParser::Parse(mglGraph *gr, const char *str, long pos) { size_t s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); int r = Parse(gr,wcs,pos); delete []wcs; return r; } //----------------------------------------------------------------------------- mglVar *mglParser::AddVar(const char *str) { size_t s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mglVar *v = AddVar(wcs); delete []wcs; return v; } //----------------------------------------------------------------------------- mglVar *mglParser::FindVar(const char *str) { if(!str || *str==0) return DataList; size_t s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mglVar *v = FindVar(wcs); delete []wcs; return v; } //----------------------------------------------------------------------------- mglNum *mglParser::AddNum(const char *str) { size_t s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mglNum *v = AddNum(wcs); delete []wcs; return v; } //----------------------------------------------------------------------------- mglNum *mglParser::FindNum(const char *str) { size_t s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); mglNum *v = FindNum(wcs); delete []wcs; return v; } //----------------------------------------------------------------------------- void mglParser::AddParam(int n, const wchar_t *str) { // if(str && n>=0 && n<40 && !wcschr(str,'$')) par[n] = str; if(str && n>=0 && n<40) par[n] = str; } //----------------------------------------------------------------------------- mglVar *mglParser::FindVar(const wchar_t *name) { if(!name || *name==0) return DataList; mglVar *v=DataList; while(v) { if(v->s==name) return v; v = v->next; } return 0; } //----------------------------------------------------------------------------- mglVar *mglParser::AddVar(const wchar_t *name) { mglVar *v = FindVar(name); if(v) return v; v = new mglVar; v->s = name; if(DataList) v->MoveAfter(DataList); else DataList = v; return v; } //----------------------------------------------------------------------------- mglNum *mglParser::FindNum(const wchar_t *name) { mglNum *v=NumList; while(v) { if(v->s==name) return v; v = v->next; } return 0; } //----------------------------------------------------------------------------- mglNum *mglParser::AddNum(const wchar_t *name) { mglNum *v = FindNum(name); if(v) return v; v = new mglNum; v->s = name; if(NumList) v->MoveAfter(NumList); else NumList = v; return v; } //----------------------------------------------------------------------------- int mglFindArg(const wchar_t *str) { register long l=0,k=0,i;//,j,len=strlen(lst); for(i=0;ia[0]; } else if(!wcscmp(p,L"fst")) { ok = true; long i=-1,j=-1,l=-1; *v = d->Find(0,i,j,l); } else if(!wcscmp(p,L"lst")) { ok = true; long i=-1,j=-1,l=-1; *v = d->Last(0,i,j,l); } else if(!wcscmp(p,L"nx")) { ok = true; *v=d->nx; } else if(!wcscmp(p,L"ny")) { ok = true; *v=d->ny; } else if(!wcscmp(p,L"nz")) { ok = true; *v=d->nz; } else if(!wcscmp(p,L"max")) { ok = true; *v=d->Maximal(); } else if(!wcscmp(p,L"min")) { ok = true; *v=d->Minimal(); } else if(!wcscmp(p,L"sum")) { ok = true; *v=d->Momentum('x',x,y); } else if(!wcscmp(p,L"mx")) { ok = true; d->Maximal(x,y,z); *v=x/d->nx; } else if(!wcscmp(p,L"my")) { ok = true; d->Maximal(x,y,z); *v=y/d->ny; } else if(!wcscmp(p,L"mz")) { ok = true; d->Maximal(x,y,z); *v=z/d->nz; } else if(!wcscmp(p,L"ax")) { ok = true; d->Momentum('x',x,y); *v=x/d->nx; } else if(!wcscmp(p,L"ay")) { ok = true; d->Momentum('y',x,y); *v=x/d->ny; } else if(!wcscmp(p,L"az")) { ok = true; d->Momentum('z',x,y); *v=x/d->nz; } else if(!wcscmp(p,L"wx")) { ok = true; d->Momentum('x',x,y); *v=y/d->nx; } else if(!wcscmp(p,L"wy")) { ok = true; d->Momentum('y',x,y); *v=y/d->ny; } else if(!wcscmp(p,L"wz")) { ok = true; d->Momentum('z',x,y); *v=y/d->nz; } else if(!wcscmp(p,L"sx")) { ok = true; d->Momentum('x',x,y,z,k); *v=z/d->nx; } else if(!wcscmp(p,L"sy")) { ok = true; d->Momentum('y',x,y,z,k); *v=z/d->ny; } else if(!wcscmp(p,L"sz")) { ok = true; d->Momentum('z',x,y,z,k); *v=z/d->nz; } else if(!wcscmp(p,L"kx")) { ok = true; d->Momentum('x',x,y,z,k); *v=k/d->nx; } else if(!wcscmp(p,L"ky")) { ok = true; d->Momentum('y',x,y,z,k); *v=k/d->ny; } else if(!wcscmp(p,L"kz")) { ok = true; d->Momentum('z',x,y,z,k); *v=k/d->nz; } else if(!wcscmp(p,L"aa")) { ok = true; d->Momentum('a',x,y); *v=x; } else if(!wcscmp(p,L"wa")) { ok = true; d->Momentum('a',x,y); *v=y; } else if(!wcscmp(p,L"sa")) { ok = true; d->Momentum('a',x,y,z,k);*v=z; } else if(!wcscmp(p,L"ka")) { ok = true; d->Momentum('a',x,y,z,k);*v=k; } return ok; } //----------------------------------------------------------------------------- // convert substrings to arguments mglData mglFormulaCalc(const wchar_t *string, mglParser *arg); void mglParser::FillArg(mglGraph *gr, int k, wchar_t **arg, mglArg *a) { register long n; for(n=1;ntemp=true; a[n-1].w = L"/*"+std::wstring(arg[n]+1)+L"*/"; if(DataList) u->MoveAfter(DataList); else DataList = u; a[n-1].type = 0; a[n-1].d = u; ParseDat(gr, arg[n]+1, *u); } else if((v = FindVar(arg[n]))!=0) // have to find normal variables (for data creation) { a[n-1].type=0; a[n-1].d=v; a[n-1].w=v->s; } else if((f = FindNum(arg[n]))!=0) // have to find normal variables (for data creation) { a[n-1].type=2; a[n-1].d=0; a[n-1].v=f->d; a[n-1].w = f->s; } else { // parse all numbers and formulas by unified way mglData d = mglFormulaCalc(arg[n], this); if(d.nx*d.ny*d.nz==1) { a[n-1].type = 2; a[n-1].v = d.a[0]; } else { u=new mglVar; u->temp=true; u->Set(d); a[n-1].w = L"/*"+std::wstring(arg[n])+L"*/"; if(DataList) u->MoveAfter(DataList); else DataList = u; a[n-1].type = 0; a[n-1].d = u; } } } } //----------------------------------------------------------------------------- // return values: 0 - not found, 1 - OK, 2 - wrong arguments, 3 - wrong command, 4 - string too long int mglParser::PreExec(mglGraph *, long k, wchar_t **arg, mglArg *a) { long n=0; mglVar *v; if(!wcscmp(L"delete",arg[0])) // parse command "delete" { if(k<2) return 2; DeleteVar(arg[1]); n=1; } else if(!wcscmp(L"list",arg[0])) // parse command "list" { if(k<3 || check_for_name(arg[1])) return 2; long nx=0, ny=1,j=0,i,t=0; char ch; for(i=2;inx ? j:nx; j=0; ny++; } } v = AddVar(arg[1]); if(t==1) nx = j>nx ? j:nx; if(t==1) // list of numeric values { v->Create(nx,ny); j=t=0; for(i=2;ia[j+nx*t] = a[i-1].v; j++; } } } if(t==2) // list of data { mglData *b = a[1].d; long nn = 0; if(b->nz>1) return 2; if(b->ny>1) { v->Create(b->nx, b->ny, nx); nn = b->nx*b->ny; for(i=2,j=0;inx*b->ny) continue; memcpy(v->a+j*nn,b->a,nn*(b->nz)*sizeof(mreal)); j+=b->nz; } } else { v->Create(b->nx, nx); nn = b->nx; for(i=2,j=0;inx) continue; memcpy(v->a+j*nn,b->a,nn*(b->ny)*sizeof(mreal)); j+=b->ny; } } } n=1; } return n; } //----------------------------------------------------------------------------- void mglParser::PutArg(const wchar_t *string, wchar_t *str, bool def) { wchar_t *sb = new wchar_t[wcslen(string)+1], *t; if(def) str = str+10; register long n; while((t=wcschr(str,'$'))!=0) { wcscpy(sb,t+2); t[0]=0; n = t[1]-'0'; if(n>=0 && n<=9) wcscat(str,par[n].c_str()); n = t[1]-'a'; if(n>=0 && n<='z'-'a') wcscat(str,par[n+10].c_str()); if(t[1]=='$') wcscat(str,L"\xffff"); wcscat(str,sb); } delete []sb; while((t=wcschr(str,L'\xffff'))!=0) *t='$'; } //----------------------------------------------------------------------------- // return values: 0 - OK, 1 - wrong arguments, 2 - wrong command, 3 - string too long, 4 -- unclosed string int mglParser::Parse(mglGraph *gr, const wchar_t *string, long pos) { if(Stop) return 0; size_t lstr = wcslen(string)+2+GetParLen(string); wchar_t *str, *arg[1024],*t; wchar_t *s = new wchar_t[lstr]; memset(s,0,lstr*sizeof(wchar_t)); wcscpy(s,string); mgl_wcstrim(s); str = s; long n,k=0,m=0,mm=0; // try parse ':' -- several commands in line for(n=0;n='a' ? str[1]-'a'+10:-1); if(*str=='$' && nn>=0 && nn<='z'-'a'+10) { str +=2; mgl_wcstrim(str); AddParam(nn, str); delete []s; return 0; } else str -= 7; } if(!wcsncmp(str+3,L"num",3)) { str += 7; mgl_wcstrim(str); int res = 1; int nn = str[1]<='9' ? str[1]-'0' : (str[1]>='a' ? str[1]-'a'+10:-1); if(*str=='$' && nn>=0 && nn<='z'-'a'+10) { res = 0; str +=2; mgl_wcstrim(str); mreal d = mglFormulaCalc(str, this).a[0]; char *buf=new char[128]; snprintf(buf,128,"%g",d); AddParam(nn, buf); delete []buf; } delete []s; return res; } if(!wcsncmp(str+3,L"chr",3)) { str += 7; mgl_wcstrim(str); int res = 1; int nn = str[1]<='9' ? str[1]-'0' : (str[1]>='a' ? str[1]-'a'+10:-1); if(*str=='$' && nn>=0 && nn<='z'-'a'+10) { res = 0; str +=2; mgl_wcstrim(str); mreal d=mglFormulaCalc(str, this).a[0]; wchar_t buf[2]={0,0}; buf[0] = wchar_t(d); AddParam(nn, buf); } delete []s; return res; } } if(!skip() && !wcsncmp(str,L"ask",3) && (str[3]==' ' || str[3]=='\t')) { PutArg(string,str,true); str += 4; mgl_wcstrim(str);// int res = 1; int nn = str[1]<='9' ? str[1]-'0' : (str[1]>='a' ? str[1]-'a'+10:-1); if(*str=='$' && nn>=0 && nn<='z'-'a'+10) { static wchar_t res[1024]; str +=2; mgl_wcstrim(str); if(*str=='\'') { str++; str[wcslen(str)-1]=0; } if(mgl_ask_func) { mgl_ask_func(str,res); if(*res) AddParam(nn, res); } delete []s; return mgl_ask_func?0:1; } else return 1; } wcscpy(str,string); mgl_wcstrim(str); if(!skip() && !wcsncmp(str,L"for",3) && (str[3]==' ' || str[3]=='\t')) { for(t=str+4;*t<=' ';t++); // if command have format 'for $N ...' then change it to 'for N ...' if(*t=='$' && t[1]>='0' && t[1]<='9') *t = ' '; if(*t=='$' && t[1]>='a' && t[1]<='z') *t = ' '; } // parse arguments (parameters $1, ..., $9) PutArg(string,str,false); mgl_wcstrim(str); wchar_t *opt=0; for(k=0;k<1024;k++) // parse string to substrings (by spaces) { n = mglFindArg(str); if(n<1) // this is option { if(str[-n]==';') opt = str-n+1; if(n<0) str[-n]=0; break; } str[n]=0; arg[k] = str;// k++; str = str+n+1; mgl_wcstrim(str); } // try to find last argument if(str[0]!=0 && str[0]!='#' && str[0]!=';') { arg[k] = str; k++; } if(k<1) n =0; else { // fill arguments by its values mglArg *a = new mglArg[k]; FillArg(gr, k, arg, a); // execute first special (program-flow-control) commands if(!skip() && !wcscmp(arg[0],L"stop")) { Stop = true; delete []s; delete []a; return 0; } if(!wcscmp(arg[0],L"func")) { delete []s; delete []a; return 0; } n = FlowExec(gr, arg[0],k-1,a); if(n) { delete []s; delete []a; return n-1; } if(skip()) { delete []s; delete []a; return 0; } if(!wcscmp(arg[0],L"define")) { if(k==3) { mglNum *v=AddNum(arg[1]); v->d = mglFormulaCalc(arg[2],this).a[0]; } delete []s; delete []a; return k==3?0:1; } if(!wcscmp(arg[0],L"call")) { n = 1; if(a[0].type==1) { int na=0; a[0].s.assign(a[0].w.begin(),a[0].w.end()); n=-IsFunc(a[0].w.c_str(),&na); if(n && k!=na+2) { char buf[64]; snprintf(buf,64,"Bad arguments for %ls: %ld instead of %d\n", a[0].w.c_str(),k-2,na); gr->SetWarn(-1,buf); n = 1; } else if(n) { mglFnStack fn; fn.pos = pos; for(int i=0;i<10;i++) { fn.par[i] = par[i]; par[i]=L""; } for(int i=1;iDataList=DataList; prs->NumList=NumList; prs->Cmd=Cmd; for(i=10;i<30;i++) prs->AddParam(i,par[i].c_str()); prs->Execute(gr,fp); for(i=10;i<30;i++) AddParam(i,prs->par[i].c_str()); DataList=prs->DataList; prs->DataList=0; NumList =prs->NumList; prs->NumList=0; prs->Cmd=0; delete prs; fclose(fp); } else n=1; } } delete []s; delete []a; return n; } if(!wcscmp(arg[0],L"for")) { n = 1; char ch = arg[1][0]; int r = ch-'0'; if(ch>='a' && ch<='z') r = 10+ch-'a'; // int r = int(a[0].v); if(arg[1][1]==0 && (r>=0 || r<=39)) { if(a[1].type==0) { n=0; fval[r] = *(a[1].d); fval[r].nx *= fval[r].ny*fval[r].nz; } else if(a[1].type==2 && a[2].type==2 && a[2].v>a[1].v) { mreal step = a[3].type==2?a[3].v:1; mm = int(step>0 ? (a[2].v-a[1].v)/step : 0); if(mm>0) { n=0; fval[r].Create(mm+1); for(int ii=0;ii0;i--) { for_stack[i]=for_stack[i-1]; if_for[i]=if_for[i-1]; } for_stack[0] = r+1; fval[r].nz = pos; if_for[0]=if_pos; wchar_t buf[32]; mglprintf(buf,32,L"%g",fval[r].a[0]); AddParam(r, buf); fval[r].ny = 1; } } delete []s; delete []a; return n; } // alocate new arrays and execute the command itself n = PreExec(gr, k, arg, a); if(n>0) n--; else if(!wcscmp(L"setsize",arg[0]) && !AllowSetSize) n = 2; else n = Exec(gr, arg[0],k-1,a, arg[1], opt); delete []a; } mglVar *v = DataList, *u; while(v) // remove temporary data arrays { u = v->next; if(v->temp) { if(DataList==v) DataList = v->next; delete v; } v = u; } delete []s; return n; } //----------------------------------------------------------------------------- // return values: 0 - OK, 1 - wrong arguments, 2 - wrong command, 3 - string too long, 4 -- unclosed string int mglParser::ParseDat(mglGraph *gr, const wchar_t *string, mglData &res) { wchar_t *str, *s = new wchar_t[wcslen(string)+1+GetParLen(string)],*arg[32]; str = s; wcscpy(str,string); mgl_wcstrim(str); long n,k=0; for(k=0;k<32;k++) // parse string to substrings (by spaces) { n = mglFindArg(str); if(n<1) { if(n<0) str[-n]=0; break; } str[n]=0; arg[k] = str;// k++; str = str+n+1; mgl_wcstrim(str); } // try to find last argument if(str[0]!=0 && str[0]!='#' && str[0]!=';') { arg[k] = str; k++; } if(k<1) n =0; else { // fill arguments by its values mglArg *a = new mglArg[k+1]; FillArg(gr, k, arg, a+1); a[0].type=0; a[0].d=&res; // alocate new arrays and execute the command itself int i; std::string kk; const char *id="dsn"; for(i=0;itype!=4) n = 2; else n = rts->exec(gr, k, a, kk.c_str(), 0); delete []a; } delete []s; return n; } //----------------------------------------------------------------------------- int mglParser::FlowExec(mglGraph *, const wchar_t *com, long m, mglArg *a) { int n=-1; if(!ifskip() && !wcscmp(com,L"once")) { if(a[0].type==2) { n = 0; if(a[0].v) Skip = !Once; else Skip = Once = false; } else n = 1; } else if(!Skip && !wcscmp(com,L"if")) { int cond; if(a[0].type==2) { n = 0; cond = (a[0].v!=0)?3:0; } else if(a[0].type==0) { n = 0; a[1].s.assign(a[1].w.begin(),a[1].w.end()); cond = a[0].d->FindAny((m>1 && a[1].type==1) ? a[1].s.c_str():"u")?3:0; } else n = 1; if(n==0) { if_stack[if_pos] = cond; if_pos = if_pos<39 ? if_pos+1 : 39; } } else if(!Skip && !wcscmp(com,L"endif")) { if_pos = if_pos>0 ? if_pos-1 : 0; n = 0; } else if(!Skip && !wcscmp(com,L"else")) { if(if_pos>0) { n=0; if_stack[if_pos-1] = (if_stack[if_pos-1]&2)?2:3; } else n = 1; } else if(!Skip && !wcscmp(com,L"elseif")) { int cond; if(if_pos<1 || m<1) n = 1; else if(if_stack[if_pos-1]&2) { n = 0; cond = 2; } else if(a[0].type==2) { n = 0; cond = (a[0].v!=0)?3:0; } else if(a[0].type==0) { n = 0; a[1].s.assign(a[1].w.begin(),a[1].w.end()); cond = a[0].d->FindAny((m>1 && a[1].type==1) ? a[1].s.c_str():"u")?3:0; } else n = 1; if(n==0) if_stack[if_pos-1] = cond; } else if(!ifskip() && !Skip && !wcscmp(com,L"break")) { if(if_pos==if_for[0]) if_pos = if_pos>0 ? if_pos-1 : 0; } else if(!skip() && !wcscmp(com, L"return")) // parse command "delete" { if(fn_stack.size()<1) return 2; const mglFnStack &fn=fn_stack.back(); for(int i=0;i<10;i++) par[i]=fn.par[i]; n = -fn.pos-1; fn_stack.pop_back(); } else if(!ifskip() && !Skip && !wcscmp(com,L"next")) { if(if_pos==if_for[0]) if_pos = if_pos>0 ? if_pos-1 : 0; int r = for_stack[0]-1; n = for_stack[0] ? 0:1; if(for_stack[0]) { if(fval[r].ny0 ? if_pos-1 : 0; int r = for_stack[0]-1; n = for_stack[0] ? 0:1; if(for_stack[0]) { if(fval[r].ny void mglParser::Execute(mglGraph *gr, FILE *fp, bool print) { if(gr==0 || fp==0) return; std::wstring str; wchar_t ch; while((ch=fgetwc(fp))!=WEOF) str.push_back(ch); // while(!feof(fp)) str.push_back(fgetwc(fp)); Execute(gr,str.c_str()); if(print) printf("%s\n",gr->Message()); } //----------------------------------------------------------------------------- void mglParser::Execute(mglGraph *gr, int n, const wchar_t **text) { if(n<1 || text==0) return; long i, r; char buf[64]; for_br=Skip=false; if_pos=0; ScanFunc(0); fn_stack.clear(); for(i=0;iSetWarn(-1, ""); gr->SetObjId(i+1); r = Parse(gr,text[i],i+1); if(r<0) { i = -r-2; continue; } if(r==1) snprintf(buf,64,"\nWrong argument(s) in line %ld\n", i+1); else if(r==2) snprintf(buf,64,"\nWrong command in line %ld\n", i+1); else if(r==3) snprintf(buf,64,"\nString too long in line %ld\n", i+1); else if(r==4) snprintf(buf,64,"\nUnbalanced ' in line %ld\n", i+1); else if(gr->GetWarn()>0) snprintf(buf,64," in line %ld\n", i+1); else *buf=0; if(*buf) gr->SetWarn(-2,buf); } } //----------------------------------------------------------------------------- void mglParser::Execute(mglGraph *gr, const wchar_t *text) { size_t s = wcslen(text)+1; wchar_t *wcs = new wchar_t[s]; const wchar_t **str; register size_t i, n=1; for(i=0;i' ')next = 0; if(text[i]=='\n') { // if string need to be continued then I but ' ' instead of 0x0 and // pointer next string to 0x0. Last one for keeping number of strings. if(next) { wcs[i]=wcs[next]=' '; str[n] = wcs+s-1; next=0; } else { wcs[i]=0; str[n] = wcs+i+1; } n++; } } Execute(gr, n, str); delete []wcs; free(str); } //----------------------------------------------------------------------------- void mglParser::Execute(mglGraph *gr, const char *text) { size_t s = mbstowcs(0,text,0)+1; wchar_t *wcs = new wchar_t[s]; memset(wcs,0,s*sizeof(wchar_t)); mbstowcs(wcs,text,s); Execute(gr, wcs); delete []wcs; } //----------------------------------------------------------------------------- void mglParser::DeleteVar(mglVar *v) { if(!v) return; if(DataList==v) DataList = v->next; delete v; } //----------------------------------------------------------------------------- void mglParser::DeleteVar(const char *name) { mglVar *v = FindVar(name); DeleteVar(v); } //----------------------------------------------------------------------------- void mglParser::DeleteVar(const wchar_t *name) { mglVar *v = FindVar(name); DeleteVar(v); } //----------------------------------------------------------------------------- void mglParser::AddCommand(mglCommand *cmd, int mc) { int i, mp; if(mc<1) { for(i=0;cmd[i].name[0];i++){}; mc = i; } // determine the number of symbols for(i=0;Cmd[i].name[0];i++){}; mp = i; mglCommand *buf = new mglCommand[mp+mc+1]; memcpy(buf, cmd, mc*sizeof(mglCommand)); memcpy(buf+mc, Cmd, (mp+1)*sizeof(mglCommand)); qsort(buf, mp+mc, sizeof(mglCommand), mgl_cmd_cmp); if(Cmd!=mgls_base_cmd) delete []Cmd; Cmd = buf; } //----------------------------------------------------------------------------- HMPR MGL_EXPORT mgl_create_parser() { return new mglParser; } void MGL_EXPORT mgl_delete_parser(HMPR p) { delete p; } void MGL_EXPORT mgl_parser_add_param(HMPR p, int id, const char *str) { p->AddParam(id,str); } void MGL_EXPORT mgl_parser_add_paramw(HMPR p, int id, const wchar_t *str) { p->AddParam(id,str); } HMDT MGL_EXPORT mgl_parser_add_var(HMPR p, const char *name) { mglVar *v=p->AddVar(name); return v; } HMDT MGL_EXPORT mgl_parser_find_var(HMPR p, const char *name) { mglVar *v=p->FindVar(name); return v; } void MGL_EXPORT mgl_parser_del_var(HMPR p, const char *name) { p->DeleteVar(name); } HMDT MGL_EXPORT mgl_parser_add_varw(HMPR p, const wchar_t *name) { mglVar *v=p->AddVar(name); return v; } HMDT MGL_EXPORT mgl_parser_find_varw(HMPR p, const wchar_t *name) { mglVar *v=p->FindVar(name); return v; } void MGL_EXPORT mgl_parser_del_varw(HMPR p, const wchar_t *name) { p->DeleteVar(name); } int MGL_EXPORT mgl_parse_line(HMGL gr, HMPR p, const char *str, int pos) { return p->Parse(gr, str, pos); } int MGL_EXPORT mgl_parse_linew(HMGL gr, HMPR p, const wchar_t *str, int pos) { return p->Parse(gr, str, pos); } void MGL_EXPORT mgl_parse_text(HMGL gr, HMPR p, const char *str) { p->Execute(gr, str); } void MGL_EXPORT mgl_parse_textw(HMGL gr, HMPR p, const wchar_t *str) { p->Execute(gr, str); } void MGL_EXPORT mgl_parse_file(HMGL gr, HMPR p, FILE *fp, int print) { p->Execute(gr,fp,print); } void MGL_EXPORT mgl_parser_restore_once(HMPR p) { p->RestoreOnce(); } void MGL_EXPORT mgl_parser_stop(HMPR p) { p->Stop = true; } void MGL_EXPORT mgl_parser_allow_setsize(HMPR p, int a) { p->AllowSetSize= a; } void MGL_EXPORT mgl_parser_allow_file_io(HMPR p, int a) { p->AllowFileIO = a; } //----------------------------------------------------------------------------- #define _PR_ ((mglParser *)(*p)) uintptr_t MGL_EXPORT mgl_create_parser_() { return uintptr_t(new mglParser); } void MGL_EXPORT mgl_delete_parser_(uintptr_t* p) { delete _PR_; } void MGL_EXPORT mgl_parser_add_param_(uintptr_t* p, int *id, const char *str, int l) { char *s=new char[l+1]; memcpy(s,str,l); s[l]=0; _PR_->AddParam(*id, s); delete []s; } /*===!!! NOTE !!! You must not delete obtained data arrays !!!===============*/ uintptr_t MGL_EXPORT mgl_parser_add_var_(uintptr_t* p, const char *name, int l) { char *s=new char[l+1]; memcpy(s,name,l); s[l]=0; mglVar *v=_PR_->AddVar(s); delete []s; return uintptr_t(v); } /*===!!! NOTE !!! You must not delete obtained data arrays !!!===============*/ uintptr_t MGL_EXPORT mgl_parser_find_var_(uintptr_t* p, const char *name, int l) { char *s=new char[l+1]; memcpy(s,name,l); s[l]=0; mglVar *v=_PR_->FindVar(s); delete []s; return uintptr_t(v); } void MGL_EXPORT mgl_del_var_(uintptr_t* p, const char *name, int l) { char *s=new char[l+1]; memcpy(s,name,l); s[l]=0; _PR_->DeleteVar(s); delete []s; } int MGL_EXPORT mgl_parse_line_(uintptr_t* gr, uintptr_t* p, const char *str, int *pos, int l) { char *s=new char[l+1]; memcpy(s,str,l); s[l]=0; int r = _PR_->Parse(_GR_, s, *pos); delete []s; return r; } void MGL_EXPORT mgl_parse_text_(uintptr_t* gr, uintptr_t* p, const char *str, int l) { char *s=new char[l+1]; memcpy(s,str,l); s[l]=0; _PR_->Execute(_GR_, s); delete []s; } void MGL_EXPORT mgl_parser_restore_once_(uintptr_t* p) { _PR_->RestoreOnce(); } void MGL_EXPORT mgl_parser_allow_setsize_(uintptr_t* p, int *a) { _PR_->AllowSetSize= *a; } void MGL_EXPORT mgl_parser_allow_file_io_(uintptr_t* p, int *a) { _PR_->AllowFileIO = *a; } void MGL_EXPORT mgl_parser_stop_(uintptr_t* p) { _PR_->Stop = true; } //----------------------------------------------------------------------------- long MGL_EXPORT mgl_use_parser(HMPR pr, int inc) { pr->InUse+=inc; return pr->InUse; } long MGL_EXPORT mgl_use_parser_(uintptr_t *p, int *inc) { _PR_->InUse+=*inc; return _PR_->InUse; } //--------------------------------------------------------------------------- int MGL_EXPORT mgl_parser_cmd_type(HMPR pr, const char *name) { mglCommand *cmd = pr->FindCommand(name); return cmd ? cmd->type + 1 : 0; } int MGL_EXPORT mgl_parser_cmd_type_(uintptr_t* p, const char *str, int l) { char *s=new char[l+1]; memcpy(s,str,l); s[l]=0; l = mgl_parser_cmd_type(_PR_, s); delete []s; return l; } //--------------------------------------------------------------------------- MGL_EXPORT const char *mgl_parser_cmd_desc(HMPR pr, const char *name) { mglCommand *cmd = pr->FindCommand(name); return cmd ? cmd->desc : 0; } MGL_EXPORT const char *mgl_parser_cmd_frmt(HMPR pr, const char *name) { mglCommand *cmd = pr->FindCommand(name); return cmd ? cmd->form : 0; } //--------------------------------------------------------------------------- MGL_EXPORT const char *mgl_parser_cmd_name(HMPR pr, long id) { return (id=0) ? pr->Cmd[id].name:""; } long MGL_EXPORT mgl_parser_cmd_num(HMPR pr) { register long i=0; while(pr->Cmd[i].name[0]) i++; return i; } //--------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_parser_calc(HMPR pr, const char *formula) { size_t s = mbstowcs(0,formula,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,formula,s); HMDT d = mgl_parser_calcw(pr,wcs); delete []wcs; return d; } HMDT MGL_EXPORT mgl_parser_calcw(HMPR pr, const wchar_t *formula) { mglData *d = new mglData(mglFormulaCalc(formula,pr)); return d; } uintptr_t MGL_EXPORT mgl_parser_calc_(uintptr_t *p, const char *str,int l) { char *s=new char[l+1]; memcpy(s,str,l); s[l]=0; uintptr_t d = (uintptr_t)mgl_parser_calc(_PR_, s); delete []s; return d; } //--------------------------------------------------------------------------- void MGL_EXPORT mgl_parser_del_all(HMPR p) { p->DeleteAll(); } void MGL_EXPORT mgl_parser_del_all_(uintptr_t *p) { _PR_->DeleteAll(); } //--------------------------------------------------------------------------- mathgl-2.1.3.1/src/data_io.cpp0000664000175000017500000011652412142400470015614 0ustar balakinbalakin/*************************************************************************** * data_io.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #ifndef WIN32 #include #endif #include "mgl2/data.h" #include "mgl2/datac.h" #include "mgl2/eval.h" #if MGL_HAVE_HDF5 //#define H5_NO_DEPRECATED_SYMBOLS #define H5_USE_16_API #include #endif #if MGL_HAVE_HDF4 #define intf hdf4_intf #include #undef intf #endif //#define isn(ch) ((ch)<' ' && (ch)!='\t') #define isn(ch) ((ch)=='\n') //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_create_data() { return new mglData; } HMDT MGL_EXPORT mgl_create_data_size(long nx, long ny, long nz){ return new mglData(nx,ny,nz); } HMDT MGL_EXPORT mgl_create_data_file(const char *fname) { return new mglData(fname); } void MGL_EXPORT mgl_delete_data(HMDT d) { if(d) delete d; } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_create_data_() { return uintptr_t(new mglData()); } uintptr_t MGL_EXPORT mgl_create_data_size_(int *nx, int *ny, int *nz) { return uintptr_t(new mglData(*nx,*ny,*nz)); } uintptr_t MGL_EXPORT mgl_create_data_file_(const char *fname,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; uintptr_t r = uintptr_t(new mglData(s)); delete []s; return r; } void MGL_EXPORT mgl_delete_data_(uintptr_t *d) { if(_DT_) delete _DT_; } //----------------------------------------------------------------------------- void mglFromStr(HMDT d,char *buf,long NX,long NY,long NZ) // TODO: add multithreading read { if(NX<1 || NY <1 || NZ<1) return; mgl_data_create(d, NX,NY,NZ); long nb = strlen(buf); register long i=0, j=0; while(j0 || buf[j+1]!='#') // this is columns id while(!isn(buf[j]) && j='a' && buf[j]<='z') d->id.push_back(buf[j]); j++; } } while(buf[j]<=' ' && j' ' && buf[j]!=',' && buf[j]!=';' && ja[i] = strstr(s,"NAN")?NAN:atof(s); i++; if(i>=NX*NY*NZ) break; } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set(HMDT d, HCDT a) { if(!a) return; const mglData *dd = dynamic_cast(a); // faster for mglData mgl_data_create(d, a->GetNx(), a->GetNy(), a->GetNz()); if(dd) // this one should be much faster memcpy(d->a, dd->a, d->nx*d->ny*d->nz*sizeof(mreal)); else // very inefficient!!! { register long i,j,k; for(k=0;knz;k++) for(j=0;jny;j++) for(i=0;inx;i++) d->a[i+d->nx*(j+d->ny*k)] = a->v(i,j,k); } } void MGL_EXPORT mgl_data_set_(uintptr_t *d, uintptr_t *a) { mgl_data_set(_DT_,_DA_(a)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_values(HMDT d, const char *v,long NX,long NY,long NZ) { if(NX<1 || NY <1 || NZ<1) return; register long n=strlen(v)+1; char *buf = new char[n]; memcpy(buf,v,n); mglFromStr(d,buf,NX,NY,NZ); delete []buf; } void MGL_EXPORT mgl_data_set_values_(uintptr_t *d, const char *val, int *nx, int *ny, int *nz, int l) { char *s=new char[l+1]; memcpy(s,val,l); s[l]=0; mgl_data_set_values(_DT_,s,*nx,*ny,*nz); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_vector(HMDT d, gsl_vector *v) { #if MGL_HAVE_GSL if(!v || v->size<1) return; mgl_data_create(d, v->size,1,1); for(long i=0;inx;i++) d->a[i] = v->data[i*v->stride]; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_matrix(HMDT d, gsl_matrix *m) { #if MGL_HAVE_GSL if(!m || m->size1<1 || m->size2<1) return; mgl_data_create(d, m->size1,m->size2,1); register long i,j; for(j=0;jny;j++) for(i=0;inx;i++) d->a[i+j*d->nx] = m->data[i * m->tda + j]; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_float(HMDT d, const float *A,long NX,long NY,long NZ) { if(NX<=0 || NY<=0 || NZ<=0) return; mgl_data_create(d, NX,NY,NZ); if(!A) return; #if MGL_USE_DOUBLE for(long i=0;ia[i] = A[i]; #else memcpy(d->a,A,NX*NY*NZ*sizeof(float)); #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_double(HMDT d, const double *A,long NX,long NY,long NZ) { if(NX<=0 || NY<=0 || NZ<=0) return; mgl_data_create(d, NX,NY,NZ); if(!A) return; #if MGL_USE_DOUBLE memcpy(d->a,A,NX*NY*NZ*sizeof(double)); #else for(long i=0;ia[i] = A[i]; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_float2(HMDT d, const float **A,long N1,long N2) { if(N1<=0 || N2<=0) return; mgl_data_create(d, N2,N1,1); if(!A) return; #if MGL_USE_DOUBLE for(long i=0;ia[j+i*N2] = A[i][j]; #else for(long i=0;ia+i*N2,A[i],N2*sizeof(float)); #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_double2(HMDT d, const double **A,long N1,long N2) { if(N1<=0 || N2<=0) return; mgl_data_create(d, N2,N1,1); if(!A) return; #if MGL_USE_DOUBLE for(long i=0;ia+i*N2,A[i],N2*sizeof(double)); #else for(long i=0;ia[j+i*N2] = A[i][j]; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_float3(HMDT d, const float ***A,long N1,long N2,long N3) { if(N1<=0 || N2<=0 || N3<=0) return; mgl_data_create(d, N3,N2,N1); if(!A) return; #if MGL_USE_DOUBLE for(long i=0;ia[k+N3*(j+i*N2)] = A[i][j][k]; #else for(long i=0;ia+N3*(j+i*N2),A[i][j],N3*sizeof(float)); #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_double3(HMDT d, const double ***A,long N1,long N2,long N3) { if(N1<=0 || N2<=0 || N3<=0) return; mgl_data_create(d, N3,N2,N1); if(!A) return; #if MGL_USE_DOUBLE for(long i=0;ia+N3*(j+i*N2),A[i][j],N3*sizeof(double)); #else for(long i=0;ia[k+N3*(j+i*N2)] = A[i][j][k]; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_float1_(uintptr_t *d, const float *A,int *NX) { mgl_data_set_float(_DT_,A,*NX,1,1); } void MGL_EXPORT mgl_data_set_double1_(uintptr_t *d, const double *A,int *NX) { mgl_data_set_double(_DT_,A,*NX,1,1); } void MGL_EXPORT mgl_data_set_float_(uintptr_t *d, const float *A,int *NX,int *NY,int *NZ) { mgl_data_set_float(_DT_,A,*NX,*NY,*NZ); } void MGL_EXPORT mgl_data_set_double_(uintptr_t *d, const double *A,int *NX,int *NY,int *NZ) { mgl_data_set_double(_DT_,A,*NX,*NY,*NZ); } void MGL_EXPORT mgl_data_set_float2_(uintptr_t *d, const float *A,int *N1,int *N2) { mgl_data_set_float(_DT_,A,*N1,*N2,1); } void MGL_EXPORT mgl_data_set_double2_(uintptr_t *d, const double *A,int *N1,int *N2) { mgl_data_set_double(_DT_,A,*N1,*N2,1); } void MGL_EXPORT mgl_data_set_float3_(uintptr_t *d, const float *A,int *N1,int *N2,int *N3) { mgl_data_set_float(_DT_,A,*N1,*N2,*N3); } void MGL_EXPORT mgl_data_set_double3_(uintptr_t *d, const double *A,int *N1,int *N2,int *N3) { mgl_data_set_double(_DT_,A,*N1,*N2,*N3); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_rearrange(HMDT d, long mx,long my,long mz) { if(mx<1) return; // wrong mx if(my<1) { my = d->nx*d->ny*d->nz/mx; mz = 1; } else if(mz<1) mz = (d->nx*d->ny*d->nz)/(mx*my); long m = mx*my*mz; if(m==0 || m>d->nx*d->ny*d->nz) return; // too high desired dimensions d->nx = mx; d->ny = my; d->nz = mz; d->NewId(); } void MGL_EXPORT mgl_data_rearrange_(uintptr_t *d, int *mx, int *my, int *mz) { mgl_data_rearrange(_DT_,*mx,*my,*mz); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_set_id(HMDT d, const char *ids) { d->id = ids; } void MGL_EXPORT mgl_data_set_id_(uintptr_t *d, const char *eq,int l) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; mgl_data_set_id(_DT_, s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_save(HCDT d, const char *fname,long ns) { FILE *fp; fp = fopen(fname,"w"); register long i,j,k; long nx=d->GetNx(), ny=d->GetNy(), nz=d->GetNz(); if(ns<0 || (ns>=nz && nz>1)) for(k=0;k(d); if(dr) fprintf(fp,"## %s\n",dr->id.c_str()); const mglDataC *dc = dynamic_cast(d); if(dc) fprintf(fp,"## %s\n",dc->id.c_str()); for(i=0;iv(j,i,k)); fprintf(fp,"%g\n",d->v(nx-1,i,k)); } fprintf(fp,"\n"); } else { // save selected slice if(nz>1) for(i=0;iv(j,i,ns)); fprintf(fp,"%g\n",d->v(nx-1,i,ns)); } else if(nsv(j,ns)); } fclose(fp); } void MGL_EXPORT mgl_data_save_(uintptr_t *d, const char *fname,int *ns,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; mgl_data_save(_DT_,s,*ns); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT char *mgl_read_gz(gzFile fp) { long size=1024,n=0,m; char *buf=(char*)malloc(size); while((m=gzread(fp,buf+size*n,size))>0) { if(ma) mgl_data_create(d, 1,1,1); return false; } char *buf = mgl_read_gz(fp); nb = strlen(buf); gzclose(fp); bool first=false; register char ch; for(i=nb-1;i>=0;i--) if(buf[i]>' ') break; buf[i+1]=0; nb = i; // remove tailing spaces for(i=0;i' ' && !first) first=true; if(first && (ch==' ' || ch=='\t' || ch==',' || ch==';') && buf[i+1]>' ') k++; } first = false; for(i=0;inx = mx>0 ? mx:1; d->ny = my>0 ? my:1; d->nz = mz>0 ? mz:1; if(d->a && !d->link) delete [](d->a); d->a = new mreal[d->nx*d->ny*d->nz]; d->id.clear(); d->link=false; memset(d->a,0,d->nx*d->ny*d->nz*sizeof(mreal)); } void MGL_EXPORT mgl_data_create_(uintptr_t *d, int *nx,int *ny,int *nz) { mgl_data_create(_DT_,*nx,*ny,*nz); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_link(HMDT d, mreal *A, long mx,long my,long mz) { if(!A) return; if(!d->link && d->a) delete [](d->a); d->nx = mx>0 ? mx:1; d->ny = my>0 ? my:1; d->nz = mz>0 ? mz:1; d->link=true; d->a=A; d->NewId(); } void MGL_EXPORT mgl_data_link_(uintptr_t *d, mreal *A, int *nx,int *ny,int *nz) { mgl_data_link(_DT_,A,*nx,*ny,*nz); } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_data_read_dim(HMDT d, const char *fname,long mx,long my,long mz) { if(mx<=0 || my<=0 || mz<=0) return false; gzFile fp = gzopen(fname,"r"); if(!fp) return false; char *buf = mgl_read_gz(fp); gzclose(fp); mglFromStr(d,buf,mx,my,mz); free(buf); return true; } int MGL_EXPORT mgl_data_read_dim_(uintptr_t *d, const char *fname,int *mx,int *my,int *mz,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; int r = mgl_data_read_dim(_DT_,s,*mx,*my,*mz); delete []s; return r; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_data_read_mat(HMDT d, const char *fname, long dim) { if(dim<=0 || dim>3) return false; gzFile fp = gzopen(fname,"r"); if(!fp) return false; long nx=1, ny=1, nz=1; char *buf = mgl_read_gz(fp); long nb = strlen(buf); gzclose(fp); register long j=0,i,l; while(j' ') j++; } else if(dim==2) { sscanf(buf+j,"%ld%ld",&nx,&ny); while(buf[j]!='\n' && j' ' && !first) first=true; if(first && (ch==' ' || ch=='\t' || ch==',' || ch==';') && b[i+1]>' ') nx++; } } } else if(dim==3) { sscanf(buf+j,"%ld%ld%ld",&nx,&ny,&nz); while(buf[j]!='\n' && j' ' && j' ' && j' ' && jGetNN(); const mglData *b = dynamic_cast(d); if(b) for(long i=0;ia[i]; if(!mgl_isnan(v)) m = m>v ? m:v; } else for(long i=0;ivthr(i); if(!mgl_isnan(v)) m = m>v ? m:v; } return m; } mreal MGL_EXPORT mgl_data_max_(uintptr_t *d) { return mgl_data_max(_DT_); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_min(HCDT d) { register mreal m=1e10, v; register long nn=d->GetNN(); const mglData *b = dynamic_cast(d); if(b) for(long i=0;ia[i]; if(!mgl_isnan(v)) m = mvthr(i); if(!mgl_isnan(v)) m = mGetNx(), ny=d->GetNy(), nn=d->GetNN(); for(long ii=0;iivthr(ii); if(!mgl_isnan(v) && m < v) { m=v; *i=ii%nx; *j=(ii/nx)%ny; *k=ii/(nx*ny); } } return m; } mreal MGL_EXPORT mgl_data_max_int_(uintptr_t *d, int *i, int *j, int *k) { long ii,jj,kk; mreal res=mgl_data_max_int(_DT_,&ii,&jj,&kk); *i=ii; *j=jj; *k=kk; return res; } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_min_int(HCDT d, long *i, long *j, long *k) { register mreal m=1e10, v; long nx=d->GetNx(), ny=d->GetNy(), nn=d->GetNN(); for(long ii=0;iivthr(ii); if(!mgl_isnan(v) && m > v) { m=v; *i=ii%nx; *j=(ii/nx)%ny; *k=ii/(nx*ny); } } return m; } mreal MGL_EXPORT mgl_data_min_int_(uintptr_t *d, int *i, int *j, int *k) { long ii,jj,kk; mreal res=mgl_data_min_int(_DT_,&ii,&jj,&kk); *i=ii; *j=jj; *k=kk; return res; } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_max_real(HCDT d, mreal *x, mreal *y, mreal *z) { long im=-1,jm=-1,km=-1; long nx=d->GetNx(), ny=d->GetNy(), nz=d->GetNz(); mreal m=mgl_data_max_int(d,&im,&jm,&km), v, v1, v2; *x=im; *y=jm; *z=km; v = d->v(im,jm,km); if(nx>2) { if(im==0) im=1; if(im==nx-1)im=nx-2; v1 = d->v(im+1,jm,km); v2 = d->v(im-1,jm,km); *x = (v1+v2-2*v)==0 ? im : im+(v1-v2)/(v1+v2-2*v)/2; } if(ny>2) { if(jm==0) jm=1; if(jm==ny-1)jm=ny-2; v1 = d->v(im,jm+1,km); v2 = d->v(im,jm-1,km); *y = (v1+v2-2*v)==0 ? jm : jm+(v1-v2)/(v1+v2-2*v)/2; } if(nz>2) { if(km==0) km=1; if(km==nz-1)km=nz-2; v1 = d->v(im,jm,km+1); v2 = d->v(im,jm,km-1); *z = (v1+v2-2*v)==0 ? km : km+(v1-v2)/(v1+v2-2*v)/2; } return m; } mreal MGL_EXPORT mgl_data_max_real_(uintptr_t *d, mreal *x, mreal *y, mreal *z) { return mgl_data_max_real(_DT_,x,y,z); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_data_min_real(HCDT d, mreal *x, mreal *y, mreal *z) { long im=-1,jm=-1,km=-1; long nx=d->GetNx(), ny=d->GetNy(), nz=d->GetNz(); mreal m=mgl_data_min_int(d,&im,&jm,&km), v, v1, v2; *x=im; *y=jm; *z=km; v = d->v(im,jm,km); if(nx>2) { if(im==0) im=1; if(im==nx-1)im=nx-2; v1 = d->v(im+1,jm,km); v2 = d->v(im-1,jm,km); *x = (v1+v2-2*v)==0 ? im : im+(v1-v2)/(v1+v2-2*v)/2; } if(ny>2) { if(jm==0) jm=1; if(jm==ny-1)jm=ny-2; v1 = d->v(im,jm+1,km); v2 = d->v(im,jm-1,km); *y = (v1+v2-2*v)==0 ? jm : jm+(v1-v2)/(v1+v2-2*v)/2; } if(nz>2) { if(km==0) km=1; if(km==nz-1)km=nz-2; v1 = d->v(im,jm,km+1); v2 = d->v(im,jm,km-1); *z = (v1+v2-2*v)==0 ? km : km+(v1-v2)/(v1+v2-2*v)/2; } return m; } mreal MGL_EXPORT mgl_data_min_real_(uintptr_t *d, mreal *x, mreal *y, mreal *z) { return mgl_data_min_real(_DT_,x,y,z); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_fill_x(void *par) { mglThreadD *t=(mglThreadD *)par; register long i0, nx=t->p[0],ny=t->p[1]; mreal *b=t->a, x1=t->b[0], dx=t->b[1]; register char dir = t->s[0]; for(i0=t->id;i0n;i0+=mglNumThr) { if(dir=='x') b[i0] = x1+dx*(i0%nx); else if(dir=='y') b[i0] = x1+dx*((i0/nx)%ny); else if(dir=='z') b[i0] = x1+dx*(i0/(nx*ny)); } return 0; } void MGL_EXPORT mgl_data_fill(HMDT d, mreal x1,mreal x2,char dir) { if(mgl_isnan(x2)) x2=x1; if(dir<'x' || dir>'z') dir='x'; long par[2]={d->nx,d->ny}; mreal b[2]={x1,x2-x1}; if(dir=='x') b[1] *= d->nx>1 ? 1./(d->nx-1):0; if(dir=='y') b[1] *= d->ny>1 ? 1./(d->ny-1):0; if(dir=='z') b[1] *= d->nz>1 ? 1./(d->nz-1):0; mglStartThread(mgl_fill_x,0,d->nx*d->ny*d->nz,d->a,b,0,par,0,0,0,&dir); } void MGL_EXPORT mgl_data_fill_(uintptr_t *d, mreal *x1,mreal *x2,const char *dir,int) { mgl_data_fill(_DT_,*x1,*x2,*dir); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_norm(HMDT d, mreal v1,mreal v2,long sym,long dim) { long i,s,nn=d->nx*d->ny*d->nz; mreal a1=1e20,a2=-1e20,v,*a=d->a; if(d->nz>1) s = dim*d->nx*d->ny; else s = dim*d->ny; for(i=s;ia[i] ? a2 : a[i]); } if(a1==a2) { if(a1!=0) a1=0.; else a2=1; } if(v1>v2) { v=v1; v1=v2; v2=v; } // swap if uncorrect if(sym) // use symmetric { v2 = -v1>v2 ? -v1:v2; v1 = -v2; a2 = -a1>a2 ? -a1:a2; a1 = -a2; } for(i=s;inx, ny=d->ny, nz=d->nz; mreal *b; // simple checking if(rx>=nx) rx=nx-1; if(rx<1) rx=1; if(ry>=ny) ry=ny-1; if(ry<1) ry=1; if(rz>=nz) rz=nz-1; if(rz<1) rz=1; // new sizes kx = 1+(nx-1)/rx; ky = 1+(ny-1)/ry; kz = 1+(nz-1)/rz; b = new mreal[kx*ky*kz]; if(!smooth) for(k=0;ka[i*rx+nx*(j*ry+ny*rz*k)]; else for(k=0;ka[i1+nx*(j1+ny*k1)]; b[i+kx*(j+ky*k)] = s/(dx*dy*dz); } if(!d->link) delete [](d->a); d->a=b; d->nx = kx; d->ny = ky; d->nz = kz; d->NewId(); d->link=false; } void MGL_EXPORT mgl_data_squeeze_(uintptr_t *d, int *rx,int *ry,int *rz,int *smooth) { mgl_data_squeeze(_DT_,*rx,*ry,*rz,*smooth); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_extend(HMDT d, long n1, long n2) { long nx=d->nx, ny=d->ny, nz=d->nz; if(nz>2 || n1==0) return; long mx, my, mz; mreal *b=0; register long i,j; if(n1>0) // extend to higher dimension(s) { n2 = n2>0 ? n2:1; mx = nx; my = ny>1?ny:n1; mz = ny>1 ? n1 : n2; b = new mreal[mx*my*mz]; if(ny>1) for(i=0;ia, nx*ny*sizeof(mreal)); else for(i=0;ia, nx*sizeof(mreal)); } else { mx = -n1; my = n2<0 ? -n2 : nx; mz = n2<0 ? nx : ny; if(n2>0 && ny==1) mz = n2; b = new mreal[mx*my*mz]; register mreal v; if(n2<0) for(j=0;ja[j];ia[j];i0 && ny==1) for(i=0;ia, mx*my*sizeof(mreal)); } if(!d->link) delete [](d->a); d->a=b; d->nx=mx; d->ny=my; d->nz=mz; d->NewId(); d->link=false; } void MGL_EXPORT mgl_data_extend_(uintptr_t *d, int *n1, int *n2) { mgl_data_extend(_DT_,*n1,*n2); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_transpose(HMDT d, const char *dim) { long nx=d->nx, ny=d->ny, nz=d->nz; mreal *b=new mreal[nx*ny*nz], *a=d->a; register long i,j,k,n; if(!strcmp(dim,"xyz")) memcpy(b,a,nx*ny*nz*sizeof(mreal)); else if(!strcmp(dim,"xzy") || !strcmp(dim,"zy")) { for(j=0;jnx; d->nx=nx; d->ny=ny; d->nz=nz; if(nx!=n) d->NewId(); } void MGL_EXPORT mgl_data_transpose_(uintptr_t *d, const char *dim,int l) { char *s=new char[l+1]; memcpy(s,dim,l); s[l]=0; mgl_data_transpose(_DT_,s); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_modify(void *par) { mglThreadD *t=(mglThreadD *)par; const mglFormula *f = (const mglFormula *)(t->v); register long i,j,k,i0, nx=t->p[0],ny=t->p[1],nz=t->p[2]; mreal *b=t->a, dx,dy,dz; const mreal *v=t->b, *w=t->c; dx=nx>1?1/(nx-1.):0; dy=ny>1?1/(ny-1.):0; dz=nz>1?1/(nz-1.):0; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=((i0/nx)%ny); k=i0/(nx*ny); b[i0] = f->Calc(i*dx, j*dy, k*dz, b[i0], v?v[i0]:0, w?w[i0]:0); } return 0; } void MGL_EXPORT mgl_data_modify(HMDT d, const char *eq,long dim) { long nx=d->nx, ny=d->ny, nz=d->nz, par[3]={nx,ny,nz}; mglFormula f(eq); if(dim<0) dim=0; if(nz>1) // 3D array { par[2] -= dim; if(par[2]<0) par[2]=0; mglStartThread(mgl_modify,0,nx*ny*par[2],d->a+nx*ny*dim,0,0,par,&f); } else // 2D or 1D array { par[1] -= dim; if(par[1]<0) par[1]=0; mglStartThread(mgl_modify,0,nx*par[1],d->a+nx*dim,0,0,par,&f); } } void MGL_EXPORT mgl_data_modify_(uintptr_t *d, const char *eq,int *dim,int l) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; mgl_data_modify(_DT_,s,*dim); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_modify_gen(void *par) { mglThreadV *t=(mglThreadV *)par; const mglFormula *f = (const mglFormula *)(t->v); register long i,j,k,i0, nx=t->p[0],ny=t->p[1],nz=t->p[2]; mreal *b=t->a, dx,dy,dz; HCDT v=(HCDT)t->b, w=(HCDT)t->c; dx=nx>1?1/(nx-1.):0; dy=ny>1?1/(ny-1.):0; dz=nz>1?1/(nz-1.):0; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=((i0/nx)%ny); k=i0/(nx*ny); b[i0] = f->Calc(i*dx, j*dy, k*dz, b[i0], v?v->vthr(i0):0, w?w->vthr(i0):0); } return 0; } void MGL_EXPORT mgl_data_modify_vw(HMDT d, const char *eq,HCDT vdat,HCDT wdat) { const mglData *v = dynamic_cast(vdat); const mglData *w = dynamic_cast(wdat); long nn = d->nx*d->ny*d->nz, par[3]={d->nx,d->ny,d->nz}; if(vdat && vdat->GetNN()!=nn) return; if(wdat && wdat->GetNN()!=nn) return; mglFormula f(eq); if(v && w) mglStartThread(mgl_modify,0,nn,d->a,v->a,w->a,par,&f); else if(vdat && wdat) mglStartThreadV(mgl_modify_gen,nn,d->a,vdat,wdat,par,&f); else if(v) mglStartThread(mgl_modify,0,nn,d->a,v->a,0,par,&f); else if(vdat) mglStartThreadV(mgl_modify_gen,nn,d->a,vdat,0,par,&f); else mglStartThread(mgl_modify,0,nn,d->a,0,0,par,&f); } void MGL_EXPORT mgl_data_modify_vw_(uintptr_t *d, const char *eq, uintptr_t *v, uintptr_t *w,int l) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; mgl_data_modify_vw(_DT_,s,_DA_(v),_DA_(w)); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_fill_f(void *par) { mglThreadD *t=(mglThreadD *)par; const mglFormula *f = (const mglFormula *)(t->v); register long i,j,k,i0, nx=t->p[0],ny=t->p[1]; mreal *b=t->a; const mreal *v=t->b, *w=t->c, *x=t->d; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=((i0/nx)%ny); k=i0/(nx*ny); b[i0] = f->Calc(x[0]+i*x[1], x[2]+j*x[3], x[4]+k*x[5], b[i0], v?v[i0]:0, w?w[i0]:0); } return 0; } MGL_NO_EXPORT void *mgl_fill_fgen(void *par) { mglThreadV *t=(mglThreadV *)par; const mglFormula *f = (const mglFormula *)(t->v); register long i,j,k,i0, nx=t->p[0],ny=t->p[1]; mreal *b=t->a; HCDT v=(HCDT)t->b, w=(HCDT)t->c; const mreal *x=t->d; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=((i0/nx)%ny); k=i0/(nx*ny); b[i0] = f->Calc(x[0]+i*x[1], x[2]+j*x[3], x[4]+k*x[5], b[i0], v?v->vthr(i0):0, w?w->vthr(i0):0); } return 0; } void MGL_EXPORT mgl_data_fill_eq(HMGL gr, HMDT d, const char *eq, HCDT vdat, HCDT wdat, const char *opt) { const mglData *v = dynamic_cast(vdat); const mglData *w = dynamic_cast(wdat); long nn = d->nx*d->ny*d->nz, par[3]={d->nx,d->ny,d->nz}; if(vdat && vdat->GetNN()!=nn) return; if(wdat && wdat->GetNN()!=nn) return; gr->SaveState(opt); mreal xx[6]={gr->Min.x,0, gr->Min.y,0, gr->Min.z,0}; if(d->nx>1) xx[1] = (gr->Max.x-gr->Min.x)/(d->nx-1.); if(d->ny>1) xx[3] = (gr->Max.y-gr->Min.y)/(d->ny-1.); if(d->nz>1) xx[5] = (gr->Max.z-gr->Min.z)/(d->nz-1.); mglFormula f(eq); if(v && w) mglStartThread(mgl_fill_f,0,nn,d->a,v->a,w->a,par,&f,xx); else if(vdat && wdat) mglStartThreadV(mgl_fill_fgen,nn,d->a,vdat,wdat,par,&f,xx); else if(v) mglStartThread(mgl_fill_f,0,nn,d->a,v->a,0,par,&f,xx); else if(vdat) mglStartThreadV(mgl_fill_fgen,nn,d->a,vdat,0,par,&f,xx); else mglStartThread(mgl_fill_f,0,nn,d->a,0,0,par,&f,xx); gr->LoadState(); } void MGL_EXPORT mgl_data_fill_eq_(uintptr_t *gr, uintptr_t *d, const char *eq, uintptr_t *v, uintptr_t *w, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_data_fill_eq(_GR_,_DT_,s,_DA_(v),_DA_(w),o); delete []o; delete []s; } //----------------------------------------------------------------------------- #if MGL_HAVE_HDF4 int MGL_EXPORT mgl_data_read_hdf4(HMDT d,const char *fname,const char *data) { int32 sd = SDstart(fname,DFACC_READ), nn, i; if(sd==-1) return false; // is not a HDF4 file char name[64]; SDfileinfo(sd,&nn,&i); for(i=0;i3) continue; long mm=dims[0]*dims[1]*dims[2]; if(type==DFNT_FLOAT32) { float *b = new float[mm]; SDreaddata(sds,in,0,dims,b); mgl_data_set_float(d,b,dims[2],dims[1],dims[0]); delete []b; } if(type==DFNT_FLOAT64) { double *b = new double[mm]; SDreaddata(sds,in,0,dims,b); mgl_data_set_double(d,b,dims[2],dims[1],dims[0]); delete []b; } } SDendaccess(sds); } SDend(sd); return true; } #else int MGL_EXPORT mgl_data_read_hdf4(HMDT ,const char *,const char *) { mglGlobalMess += "HDF4 support was disabled. Please, enable it and rebuild MathGL.\n"; return false; } #endif //----------------------------------------------------------------------------- #if MGL_HAVE_HDF5 void MGL_EXPORT mgl_data_save_hdf(HCDT dat,const char *fname,const char *data,int rewrite) { const mglData *d = dynamic_cast(dat); // NOTE: only for mglData if(!d) { mglData d(dat); mgl_data_save_hdf(&d,fname,data,rewrite); return; } hid_t hf,hd,hs; hsize_t dims[3]; long rank = 3, res; H5Eset_auto(0,0); res=H5Fis_hdf5(fname); if(res>0 && !rewrite) hf = H5Fopen(fname, H5F_ACC_RDWR, H5P_DEFAULT); else hf = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); if(hf<0) return; if(d->nz==1 && d->ny == 1) { rank=1; dims[0]=d->nx; } else if(d->nz==1) { rank=2; dims[0]=d->ny; dims[1]=d->nx; } else { rank=3; dims[0]=d->nz; dims[1]=d->ny; dims[2]=d->nx; } hs = H5Screate_simple(rank, dims, 0); #if MGL_USE_DOUBLE hid_t mem_type_id = H5T_NATIVE_DOUBLE; #else hid_t mem_type_id = H5T_NATIVE_FLOAT; #endif hd = H5Dcreate(hf, data, mem_type_id, hs, H5P_DEFAULT); H5Dwrite(hd, mem_type_id, hs, hs, H5P_DEFAULT, d->a); H5Dclose(hd); H5Sclose(hs); H5Fclose(hf); } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_data_read_hdf(HMDT d,const char *fname,const char *data) { hid_t hf,hd,hs; hsize_t dims[3]; long rank, res = H5Fis_hdf5(fname); if(res<=0) return mgl_data_read_hdf4(d,fname,data); hf = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); if(hf<0) return false; hd = H5Dopen(hf,data); if(hd<0) return false; hs = H5Dget_space(hd); rank = H5Sget_simple_extent_ndims(hs); if(rank>0 && rank<=3) { H5Sget_simple_extent_dims(hs,dims,0); if(rank==1) { dims[2]=dims[0]; dims[0]=dims[1]=1; } else if(rank==2) { dims[2]=dims[1]; dims[1]=dims[0]; dims[0]=1; } // else if(rank>3) continue; mgl_data_create(d,dims[2],dims[1],dims[0]); #if MGL_USE_DOUBLE H5Dread(hd, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, d->a); #else H5Dread(hd, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, d->a); #endif } H5Sclose(hs); H5Dclose(hd); H5Fclose(hf); return true; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_datas_hdf(const char *fname, char *buf, long size) { hid_t hf,hg,hd,ht; if(!buf || size<1) return 0; buf[0]=0; hf = H5Fopen(fname, H5F_ACC_RDONLY, H5P_DEFAULT); if(!hf) return 0; hg = H5Gopen(hf,"/"); hsize_t num, i; char name[256]; long pos=0,len; H5Gget_num_objs(hg, &num); // replace by H5G_info_t t; H5Gget_info(hg,&t); num=t.nlinks; for(i=0;isize) break; if(H5Tget_class(ht)==H5T_FLOAT || H5Tget_class(ht)==H5T_INTEGER) { strcat(buf,name); strcat(buf,"\t"); pos += len+1; } H5Dclose(hd); H5Tclose(ht); } H5Gclose(hg); H5Fclose(hf); return i; } #else void MGL_EXPORT mgl_data_save_hdf(HCDT ,const char *,const char *,int ) { mglGlobalMess += "HDF5 support was disabled. Please, enable it and rebuild MathGL.\n"; } int MGL_EXPORT mgl_datas_hdf(const char *, char *, long ) { mglGlobalMess += "HDF5 support was disabled. Please, enable it and rebuild MathGL.\n"; return 0;} int MGL_EXPORT mgl_data_read_hdf(HMDT ,const char *,const char *) { mglGlobalMess += "HDF5 support was disabled. Please, enable it and rebuild MathGL.\n"; return false;} #endif //----------------------------------------------------------------------------- int MGL_EXPORT mgl_data_read_hdf_(uintptr_t *d, const char *fname, const char *data,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *t=new char[n+1]; memcpy(t,data,n); t[n]=0; int r = mgl_data_read_hdf(_DT_,s,t); delete []s; delete []t; return r; } void MGL_EXPORT mgl_data_save_hdf_(uintptr_t *d, const char *fname, const char *data, int *rewrite,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *t=new char[n+1]; memcpy(t,data,n); t[n]=0; mgl_data_save_hdf(_DT_,s,t,*rewrite); delete []s; delete []t; } //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_add_file(long &kx,long &ky, long &kz, mreal *&b, mglData *d,bool as_slice) { if(as_slice && d->nz==1) { if(kx==d->nx && d->ny==1) { b = (mreal *)realloc(b,kx*(ky+1)*sizeof(mreal)); memcpy(b+kx*ky,d->a,kx*sizeof(mreal)); ky++; } else if(kx==d->nx && ky==d->ny) { b = (mreal *)realloc(b,kx*ky*(kz+1)*sizeof(mreal)); memcpy(b+kx*ky*kz,d->a,kx*ky*sizeof(mreal)); kz++; } else return false; } else { if(d->ny*d->nz==1 && ky*kz==1) { b = (mreal *)realloc(b,(kx+d->nx)*sizeof(mreal)); memcpy(b+kx,d->a,d->nx*sizeof(mreal)); kx+=d->nx; } else if(kx==d->nx && kz==1 && d->nz==1) { b = (mreal *)realloc(b,kx*(ky+d->ny)*sizeof(mreal)); memcpy(b+kx*ky,d->a,kx*d->ny*sizeof(mreal)); ky+=d->ny; } else if(kx==d->nx && ky==d->ny) { b = (mreal *)realloc(b,kx*kx*(kz+d->nz)*sizeof(mreal)); memcpy(b+kx*ky*kz,d->a,kx*ky*d->nz*sizeof(mreal)); kz+=d->nz; } else return false; } return true; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_data_read_range(HMDT dat, const char *templ, double from, double to, double step, int as_slice) { mglData d; mreal t = from, *b; long kx,ky,kz,n=strlen(templ)+20; char *fname = new char[n]; //read first file do{ snprintf(fname,n,templ,t); t+= step; } while(!mgl_data_read(&d,fname) && t<=to); if(t>to) return false; kx = d.nx; ky = d.ny; kz = d.nz; b = (mreal *)malloc(kx*ky*kz*sizeof(mreal)); memcpy(b,d.a,kx*ky*kz*sizeof(mreal)); // read other files for(;t<=to;t+=step) { snprintf(fname,n,templ,t); if(mgl_data_read(&d,fname)) if(!mgl_add_file(kx,ky,kz,b,&d,as_slice)) { delete []fname; free(b); return false; } } dat->Set(b,kx,ky,kz); delete []fname; free(b); return true; } int MGL_EXPORT mgl_data_read_range_(uintptr_t *d, const char *fname, mreal *from, mreal *to, mreal *step, int *as_slice,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; int r = mgl_data_read_range(_DT_,s,*from,*to,*step,*as_slice); delete []s; return r; } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_data_read_all(HMDT dat, const char *templ, int as_slice) { #ifndef WIN32 mglData d; glob_t res; size_t i; mreal *b; long kx,ky,kz; char *fname = new char[256]; glob (templ, GLOB_TILDE, NULL, &res); //read first file for(i=0;i=res.gl_pathc) { delete []fname; return false; } kx = d.nx; ky = d.ny; kz = d.nz; b = (mreal *)malloc(kx*ky*kz*sizeof(mreal)); memcpy(b,d.a,kx*ky*kz*sizeof(mreal)); for(;iSet(b,kx,ky,kz); globfree (&res); delete []fname; free(b); return true; #else return false; #endif } int MGL_EXPORT mgl_data_read_all_(uintptr_t *d, const char *fname, int *as_slice,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; int r = mgl_data_read_all(_DT_,s,*as_slice); delete []s; return r; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/axis.cpp0000664000175000017500000010120512142400470015146 0ustar balakinbalakin/*************************************************************************** * axis.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include "mgl2/data.h" #include "mgl2/canvas.h" #include "mgl2/prim.h" //----------------------------------------------------------------------------- #define islog(a, b) (((a)>0 && (b)>10*(a)) || ((b)<0 && (a)<10*(b))) // NOTE: I use <=0 for proper tick labels rotation. But this mirror labels for central origin! #define sign(a) ((a)<0 ? -1:1) //----------------------------------------------------------------------------- MGL_NO_EXPORT inline struct tm *mgl_localtime (const time_t *clock, tm *result, bool use_utc) { if (!clock || !result) return NULL; const tm *res = use_utc?gmtime(clock):localtime(clock); memcpy(result,res,sizeof(tm)); return result; } //----------------------------------------------------------------------------- long MGL_EXPORT mgl_have_color(const char *stl) { register long i,j=0; if(stl) for(i=0;stl[i];i++) if(strchr(MGL_COLORS,stl[i])) j++; return j; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_wcstrim(wchar_t *str) { size_t n=wcslen(str), k, i; for(k=0;k' ') break; for(i=n;i>0;i--) if(str[i-1]>' ') break; memmove(str, str+k, (i-k)*sizeof(wchar_t)); str[i-k]=0; } //----------------------------------------------------------------------------- // Ticks setup //----------------------------------------------------------------------------- void mglCanvas::SetAxisStl(const char *stl, const char *tck, const char *sub) { if(!stl || !(*stl)) strncpy(AxisStl,"k",32); else strncpy(AxisStl,stl,32); if(!tck || !(*tck)) strncpy(TickStl,AxisStl,32); else strncpy(TickStl,tck,32); if(!sub || !(*sub)) strncpy(SubTStl,TickStl,32); else strncpy(SubTStl,sub,32); } //----------------------------------------------------------------------------- void mglCanvas::SetTickLen(mreal tlen, mreal stt) { TickLen = tlen?tlen:0.02; st_t=stt>0?stt:1; } //----------------------------------------------------------------------------- void mglCanvas::SetTicks(char dir, mreal d, int ns, mreal org) { if(!strchr("xyzca",dir)) return; mglAxis &aa = (dir=='x' ? ax : (dir=='y' ? ay : (dir=='z' ? az : ac))); if(aa.f==1) aa.t[0]=0; aa.d=d; aa.f=0; aa.ns=ns; aa.o=org; aa.txt.clear(); } //----------------------------------------------------------------------------- void mglCanvas::SetTicksVal(char dir, HCDT v, const wchar_t *lbl, bool add) { if(!strchr("xyzca",dir)) return; mglAxis &aa = (dir=='x' ? ax : (dir=='y' ? ay : (dir=='z' ? az : ac))); bool ff = (dir=='x' ? fx : (dir=='y' ? fy : (dir=='z' ? fz : fa))); aa.txt.clear(); if(add) { UpdateAxis(); AdjustTicks(aa,ff); } if(!v || !lbl || !lbl[0]) { aa.f = 0; return; } aa.f = 2; aa.ns=0; aa.ds=0; register long i,j,l=0,n=v->GetNx(); for(i=j=l=0;iv(i)); i++; l=j+1; } if(j>1 && lbl[j]=='n' && lbl[j-1]=='\\') { aa.AddLabel(std::wstring(lbl+l,j-l-1),v->v(i)); i++; l=j+1; } } if(iv(i)); } //----------------------------------------------------------------------------- void mglCanvas::SetTicksVal(char dir, HCDT v, const char *lbl, bool add) { long ll=mbstowcs(0,lbl,0)+1; wchar_t *wcs = new wchar_t[ll]; mbstowcs(wcs,lbl,ll); SetTicksVal(dir,v,wcs,add); delete []wcs; } //----------------------------------------------------------------------------- void mglCanvas::SetTicksVal(char dir, const wchar_t *lbl, bool add) { register long i,j,len=wcslen(lbl); for(i=0,j=1;j63) i=63; mglData val(i+1); val.Fill(Min.x,Max.x); SetTicksVal(dir, &val, lbl, add); } //----------------------------------------------------------------------------- void mglCanvas::SetTicksVal(char dir, const char *lbl, bool add) { register long i,j,len=strlen(lbl); for(i=0,j=1;j63) i=63; mglData val(i+1); val.Fill(Min.x,Max.x); SetTicksVal(dir, &val, lbl, add); } //----------------------------------------------------------------------------- void mglCanvas::SetTicksVal(char dir, HCDT v, const wchar_t **lbl, bool add) { if(!strchr("xyzca",dir)) return; mglAxis &aa = (dir=='x' ? ax : (dir=='y' ? ay : (dir=='z' ? az : ac))); bool ff = (dir=='x' ? fx : (dir=='y' ? fy : (dir=='z' ? fz : fa))); aa.txt.clear(); if(add) { UpdateAxis(); AdjustTicks(aa,ff); } if(!v || !lbl) { aa.f = 0; return; } aa.f = 2; aa.ns=0; aa.ds=0; register long i,n=v->GetNx(); for(i=0;iv(i)); } //----------------------------------------------------------------------------- void mglCanvas::SetTicksVal(char dir, HCDT v, const char **lbl, bool add) { if(!strchr("xyzca",dir)) return; mglAxis &aa = (dir=='x' ? ax : (dir=='y' ? ay : (dir=='z' ? az : ac))); bool ff = (dir=='x' ? fx : (dir=='y' ? fy : (dir=='z' ? fz : fa))); aa.txt.clear(); if(add) { UpdateAxis(); AdjustTicks(aa,ff); } if(!v || !lbl) { aa.f = 0; return; } aa.f = 2; aa.ns=0; aa.ds=0; register size_t i,n=v->GetNx(),l=0; for(i=0;il) l=mbstowcs(0,lbl[i],0)+1; wchar_t *str=new wchar_t[l+1]; for(i=0;iv(i)); } delete []str; } //----------------------------------------------------------------------------- void mglCanvas::SetTickTempl(char dir, const wchar_t *t) { if(!strchr("xyzca",dir)) return; mglAxis &aa = (dir=='x' ? ax : (dir=='y' ? ay : (dir=='z' ? az : ac))); if(aa.f==1) aa.f = 0; // remove time ticks if(!t || !t[0]) aa.t[0]=0; else if(wcslen(t)<255) wcscpy(aa.t,t); } //----------------------------------------------------------------------------- void mglCanvas::SetTickTempl(char dir, const char *t) { if(!strchr("xyzca",dir)) return; mglAxis &aa = (dir=='x' ? ax : (dir=='y' ? ay : (dir=='z' ? az : ac))); if(aa.f==1) aa.f = 0; // remove time ticks if(!t || !t[0]) aa.t[0]=0; else if(mbstowcs(0,t,0)<256) mbstowcs(aa.t,t,256); } //----------------------------------------------------------------------------- MGL_NO_EXPORT double mgl_adj_val(double v,mreal *ds=0) { double n = floor(log10(v)), s; v = floor(v*pow(10.,-n)); n = pow(10.,n); if(v==1) { v = n/5; s=n/10; } else if(v<4){ v = n/2; s=n/10; } else if(v<7){ v = n; s=n/5; } else { v = 2*n; s=n/2; } if(ds) *ds=s; return v; } //----------------------------------------------------------------------------- void mglCanvas::SetTickTime(char dir, mreal d, const char *t) { if(!strchr("xyzca",dir)) return; mglAxis &aa = (dir=='x' ? ax : (dir=='y' ? ay : (dir=='z' ? az : ac))); UpdateAxis(); time_t tt; tm t1,t2; tt=aa.v1; mgl_localtime(&tt, &t1, get(MGL_USE_GMTIME)); tt=aa.v2; mgl_localtime(&tt, &t2, get(MGL_USE_GMTIME)); if(aa.v11 ? "%x" : "%X"; if(abs(t1.tm_year-t2.tm_year)>3) t = "%Y"; } if(d==0) // try to select opimal step { // TODO add subticks for drawing if(abs(t1.tm_year-t2.tm_year)>1) d = 365.25*24*3600*mgl_adj_val(abs(t1.tm_year-t2.tm_year)); // number of second in year NOTE: improve it // NOTE here should be months ... but it is too unregular ... so omit it now // else if(t1.tm_mon!=t2.tm_mon) d = 30*24*3600; // number of second in month else if(abs(t1.tm_yday-t2.tm_yday)>1) // localtime("%x") cannot print time < 1 day { d = 24*3600.*mgl_adj_val(abs(t1.tm_yday-t2.tm_yday)); d = d>24*3600?d:24*3600; } else if(abs(t1.tm_hour-t2.tm_hour)>1) d = 3600.*mgl_adj_val(abs(t1.tm_hour-t2.tm_hour)); else if(abs(t1.tm_min-t2.tm_min)>1) d = 60*mgl_adj_val(abs(t1.tm_min-t2.tm_min)); else if(abs(t1.tm_sec-t2.tm_sec)>1) // localtime("%X") cannot print time < 1 sec { d = mgl_adj_val(abs(t1.tm_sec-t2.tm_sec)); d = d>1?d:1; } else // adjust msec. NOTE: this is not supported by localtime() !!! d = mgl_adj_val(fabs(aa.v2-aa.v1)); } aa.ds = 0; aa.dv = d; aa.f = 1; aa.txt.clear(); if(mbstowcs(0,t,0)<256) mbstowcs(aa.t,t,256); if(strchr("xyztuvw",aa.ch)) aa.org = mglPoint(GetOrgX(aa.ch), GetOrgY(aa.ch), GetOrgZ(aa.ch)); if(aa.ch=='x') aa.v0 = aa.org.x; if(aa.ch=='y') aa.v0 = aa.org.y; if(aa.ch=='z') aa.v0 = aa.org.z; wchar_t buf[64]; mreal v, v0 = mgl_isnan(aa.o) ? aa.v0 : aa.o, v1; if(aa.v2>aa.v1) { v1 = aa.v2; v0 = v0 - aa.dv*floor((v0-aa.v1)/aa.dv+1e-3); } else { v1 = aa.v1; v0 = v0 - aa.dv*floor((v0-aa.v2)/aa.dv+1e-3); } if(v0+aa.dv!=v0 && v1+aa.dv!=v1) for(v=v0;v<=v1;v+=aa.dv) { tt = v; tm tp; mgl_localtime(&tt, &tp, get(MGL_USE_GMTIME)); wcsftime(buf,64,aa.t,&tp); aa.AddLabel(buf,v); } } //----------------------------------------------------------------------------- void mglCanvas::AdjustTicks(const char *dir, bool force) { if(force) SetTuneTicks(-1); UpdateAxis(); if(strchr(dir,'x') || strchr(dir,'X')) // NOTE dir have to be non-NULL here !!! { if(force) ax.d=0; AdjustTicks(ax,fx!=0); } if(strchr(dir,'y') || strchr(dir,'Y')) { if(force) ay.d=0; AdjustTicks(ay,fy!=0); } if(strchr(dir,'z') || strchr(dir,'Z')) { if(force) az.d=0; AdjustTicks(az,fz!=0); } if(strchr(dir,'a') || strchr(dir,'c')) { if(force) ac.d=0; AdjustTicks(ac,fa!=0); } } //----------------------------------------------------------------------------- void mglCanvas::AdjustTicks(mglAxis &aa, bool ff) { double d = fabs(aa.v2-aa.v1), n; if(aa.f>0) return; if(ff && islog(aa.v1,aa.v2)) { aa.dv = 0; aa.ds=0; } else if(aa.d>0) { aa.dv = aa.d; aa.ds = aa.d/(abs(aa.ns)+1); } else if(aa.d>-1.5) // like =0 or =-1 { aa.dv = mgl_adj_val(d,&aa.ds); aa.o=0; } else { d /= -aa.d; n = floor(log10(d)); int k = int(d*pow(10.,-n)+0.5); aa.dv = pow(10.,n)*k; aa.o=0; aa.ds = pow(10.,n); } LabelTicks(aa); } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_tick_ext(mreal a, mreal b, wchar_t s[32], mreal &v) { int kind = 0; if(fabs(a-b)<=0.001*fabs(a)) { kind = 1; v = fabs(a-b); if(v>1000.f) { int k=int(log10(v)-0.01); kind=3; v=mgl_ipow(10.,k); mglprintf(s, 32, L" (@{\\times{}10^{%d}})", k); } if(v<0.02f) { int k=int(log10(v)-0.01)-1; kind=3; v=mgl_ipow(10.,k); mglprintf(s, 32, L" (@{\\times{}10^{%d}})", k); } } else { v = fabs(b)>fabs(a)?fabs(b):fabs(a); if(v>=1000.f) { kind = 2; int k=int(log10(v)-0.01); v=mgl_ipow(10.,k); mglprintf(s, 32, L" \\times 10^{%d}", k); } if(v<=1e-3f) { kind = 2; int k=int(log10(v)-0.01)-1; v=mgl_ipow(10.,k); mglprintf(s, 32, L" \\times 10^{%d}", k); } } return kind; } //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_tick_text(mreal z, mreal z0, mreal d, mreal v, int kind, wchar_t str[64], bool tune) { mreal u = fabs(z)z0) u = fabs(z-z0)z0)) u /= v; if((kind&1) && z>z0) { size_t n1,n2; mglprintf(str, 64, L"@{(+%.2g)}",u); // mglprintf(str, 64, fabs(u)<1 ? L"@{(+%.2g)}" : L"@{(+%.3g)}",u); n1=wcslen(str); mglprintf(str, 64, L"@{(+%g)}",u); n2=wcslen(str); // if(n10) // positive log-scale { v0 = exp(M_LN10*floor(0.1+log10(aa.v1))); ds = int(floor(0.1+log10(aa.v2/v0))/7)+1; for(v=v0;v<=aa.v2*MGL_EPSILON;v*=10) if(v*MGL_EPSILON>=aa.v1) { d = int(floor(0.1+log10(v))); if(d==0) wcscpy(buf,L"1"); else if(d==1) wcscpy(buf,L"10"); else mglprintf(buf,64,L"10^{%d}",d); if(d%ds!=0) *buf=0; // remove too often log ticks aa.AddLabel(buf,v); } } else if(aa.dv==0 && aa.v2<0) // negative log-scale { v0 = -exp(M_LN10*floor(0.1+log10(-aa.v2))); ds = int(floor(0.1+log10(aa.v1/v0))/7)+1; for(v=v0;v>=aa.v1*MGL_EPSILON;v*=10) if(v*MGL_EPSILON<=aa.v2) { d = int(floor(0.1+log10(-v))); if(d==0) wcscpy(buf,L"-1"); else if(d==1) wcscpy(buf,L"-10"); else mglprintf(buf,64,L"-10^{%d}",d); if(d%ds!=0) *buf=0; // remove too often log ticks aa.AddLabel(buf,v); } } else if(aa.dv) // ticks drawing { int kind=0; wchar_t s[32]=L""; if(aa.t[0]==0 && TuneTicks) kind = mgl_tick_ext(aa.v2, aa.v1, s, w); if((TuneTicks&1)==0 && kind==2) kind=0; if((TuneTicks&2)==0 && kind!=2) kind=0; v0 = mgl_isnan(aa.o) ? aa.v0 : aa.o; if(aa.v2>aa.v1) { v1 = aa.v2; v0 = v0 - aa.dv*floor((v0-aa.v1)/aa.dv+1e-3); } else { v1 = aa.v1; v0 = v0 - aa.dv*floor((v0-aa.v2)/aa.dv+1e-3); } if(v0+aa.dv!=v0 && v1+aa.dv!=v1) for(v=v0;v<=v1;v+=aa.dv) { if(aa.t[0]) mglprintf(buf, 64, aa.t, fabs(v)0) for(i=0;iaa.v1 && fabs(u-exp(M_LN10*floor(0.1+log10(u))))<0.01*u) for(j=2;j<10 && v*j0 && !get(MGL_NOSUBTICKS)) { if(aa.v2>aa.v1) v0 = v0 - aa.ds*floor((v0-aa.v1)/aa.ds+1e-3); else v0 = v0 - aa.ds*floor((v0-aa.v2)/aa.ds+1e-3); if(v0+aa.ds!=v0 && aa.v2+aa.ds!=aa.v2) for(v=v0;(v-aa.v2)*(v-aa.v1)<=0;v+=aa.ds) tick_draw(o+d*v,da,db,1,stl); } SetPenPal(mgl_have_color(stl) ? stl:AxisStl); if(text) DrawLabels(aa); EndGroup(); } //----------------------------------------------------------------------------- void mglCanvas::DrawLabels(mglAxis &aa) { if(strchr("xyz",aa.ch)) aa.org = mglPoint(GetOrgX(aa.ch), GetOrgY(aa.ch), GetOrgZ(aa.ch)); mglPoint d = aa.dir, o = aa.org; // "transverse" org if(strchr("xyz",aa.ch)) o -= d*(o*d); mglPoint p,q, s=(Min+Max)/2, nn; s = s - d*(s*d); register long i,n = aa.txt.size(); char pos[4]="t:C"; if(aa.ch=='c') pos[0]=(aa.ns==0 || aa.ns==3)?'t':'T'; if(aa.ch=='T') pos[0]='T'; mreal *w=new mreal[n], h = TextHeight(FontDef,-1), c=NAN, l=NAN, tet=0, v, vv; // find sizes long *kk=new long[n]; for(i=0;iaa.v2 || aa.txt[i+1].val>aa.v2)) continue; v = (GetPntP(kk[i+1])-GetPntP(kk[i])).norm(); // distance between ticks vv = (w[i]+w[i+1])/2; // length of labels if(v>0 && l < vv/v) l = vv/v; if(c>v) c = v; } if(get(MGL_ENABLE_RTEXT) && get(MGL_TICKS_ROTATE) && l>1 && c>0) // try rotate first { tet = c>1.1*h ? asin(1.1*h/c) : M_PI/2; pos[2]=aa.ch=='c'?'R':'L'; l=0.99*h/sin(tet)/c; for(i=0;i0) for(i=0;iaa.v1 && c0 ? 't':'T'; if(ts>0 && tet && nn.x==0) pos[2]='R'; text_plot(kk[i], aa.txt[i].text.c_str(), pos, -1, aa.sh+0.07,CDef,tet?false:true); } delete []w; delete []kk; } //----------------------------------------------------------------------------- char mglCanvas::GetLabelPos(mreal c, long kk, mglAxis &aa) { if(strchr("xyz",aa.ch)) aa.org = mglPoint(GetOrgX(aa.ch), GetOrgY(aa.ch), GetOrgZ(aa.ch)); mglPoint d = aa.dir, o = aa.org; // "transverse" org if(strchr("xyz",aa.ch)) o -= d*(o*d); mglPoint p,q, s=(Min+Max)/2, nn; s = s - d*(s*d); int ts = 1; if(aa.ch=='c') ts=(aa.ns==0 || aa.ns==3)?1:-1; if(aa.ch=='T') ts=-1; p = o+d*c; nn = (s-o)/(Max-Min); ScalePoint(p,nn); mglPnt &qq = Pnt[kk]; if(aa.ch=='c') qq.u = qq.v = NAN; if(!get(MGL_DISABLE_SCALE)) ts = sign(qq.v*nn.x-qq.u*nn.y)*sign(aa.v2-aa.v1); if(aa.ch=='T') ts *= -1; if(aa.pos=='T') ts *= -1; return ts>0 ? 't':'T'; } //----------------------------------------------------------------------------- void mglCanvas::tick_draw(mglPoint o, mglPoint d1, mglPoint d2, int f, const char *stl) { if(TickLen==0) return; // try to exclude ticks out of axis range if(f && ((o.x-Min.x)*(o.x-Max.x)>0 || (o.y-Min.y)*(o.y-Max.y)>0 || (o.z-Min.z)*(o.z-Max.z)>0)) return; mreal v = font_factor*TickLen/sqrt(1.f+f*st_t); mglPoint p=o; long k1,k2,k3=mgl_have_color(stl); if(*TickStl && !f) SetPenPal(k3 ? stl:TickStl); if(*SubTStl && f) SetPenPal(k3 ? stl:SubTStl); ScalePoint(o, d1, false); d1.Normalize(); ScalePoint(p, d2, false); d2.Normalize(); k2 = AddPnt(p, CDef, mglPoint(NAN), 0, 0); p += d1*v; k1 = AddPnt(p, CDef, mglPoint(NAN), 0, 0); p = o+d2*v; k3 = AddPnt(p, CDef, mglPoint(NAN), 0, 0); line_plot(k1,k2); line_plot(k2,k3); } //----------------------------------------------------------------------------- void mglCanvas::Grid(const char *dir, const char *pen, const char *opt) { SaveState(opt); if(!dir || !dir[0]) dir="xyz"; AdjustTicks(dir,false); SetPenPal(pen); static int cgid=1; StartGroup("AxisGrid",cgid++); if(strchr(dir,'x')) DrawGrid(ax); if(strchr(dir,'y')) DrawGrid(ay); if(strchr(dir,'z')) DrawGrid(az); EndGroup(); } //----------------------------------------------------------------------------- void mglCanvas::DrawGrid(mglAxis &aa) { mglPoint pp[8]={Min,Min,Min,Min,Max,Max,Max,Max},nan=mglPoint(NAN), oo[8], org=Min; pp[1].x=Max.x; pp[2].y=Max.y; pp[3].z=Max.z; pp[4].x=Min.x; pp[5].y=Min.y; pp[6].z=Min.z; mreal zm=1e5; memcpy(oo,pp,8*sizeof(mglPoint)); for(int i=0;i<8;i++) // find deepest point { ScalePoint(pp[i],nan,false); if(pp[i].z0) for(i=0;i0.2) ff[1]='R'; strncpy(font,FontDef,63); strcat(font,ff); long kk = AddPnt(p,-1,q,0,7); ff[1]=0; ff[0] = GetLabelPos(t, kk, *aa); strcat(font,ff); text_plot(kk,text,font,-1.4,0.35+shift); LoadState(); } //----------------------------------------------------------------------------- void mglCanvas::Box(const char *col, bool ticks) { mglPoint o = Org; mreal tl=TickLen; if(!ticks) TickLen=0; set(MGL_NOSUBTICKS); Org = Min; static int cgid=1; StartGroup("Box",cgid++); Axis("xyz_",col); if(TernAxis&1) { Org.z=Max.z; Org.x=Max.x; Axis("xz_",col); Org.x=Min.x; Org.y=Max.y; Axis("z_",col); mglAxis ty(ay); ty.ch='T'; ty.dir = mglPoint(-1,1); ty.org = mglPoint(1,0,Max.z); DrawAxis(ty, false, 0,col); ty.ch='t'; ty.dir = mglPoint(0,-1); ty.org = mglPoint(0,1,Max.z); DrawAxis(ty, false, 0,col); } else if(TernAxis&2) { mglAxis ty(az); ty.ch='T'; ty.a=mglPoint(1,0); ty.b=mglPoint(-1,1); ty.dir = mglPoint(-1,0,1); ty.org = mglPoint(1,0,0); DrawAxis(ty, false, 0,col); ty.ch='t'; ty.a=mglPoint(0,1); ty.b=mglPoint(-1,1); ty.dir = mglPoint(0,-1,1); ty.org = mglPoint(0,1,0); DrawAxis(ty, false, 0,col); } else { Org.z=Max.z; Axis("xy_",col); Org = Max; Axis("xyz_",col); Org.z=Min.z; Axis("xy_",col); Org.x=Min.x; DrawAxis(az,0,0,col); Org.x=Max.x; Org.y=Min.y; DrawAxis(az,0,0,col); if(col && strchr(col,'@')) { // edge points mglPoint p[8]={Min,Min,Min,Min,Max,Max,Max,Max},nan=mglPoint(NAN),oo[8]; p[1].x=Max.x; p[2].y=Max.y; p[3].z=Max.z; p[4].x=Min.x; p[5].y=Min.y; p[6].z=Min.z; mreal zm=1e5; int im=0; memcpy(oo,p,8*sizeof(mglPoint)); for(int i=0;i<8;i++) // find deepest point { ScalePoint(p[i],nan,false); if(p[i].z1 && col[i-1]=='{') { color[1]=col[i]; color[2]=col[i+1]; break; } else { color[0]=col[i]; color[1]=0; break; } } mgl_facex(this, oo[im].x, Min.y, Min.z, Max.y-Min.y, Max.z-Min.z, color,0,0); mgl_facey(this, Min.x, oo[im].y, Min.z, Max.x-Min.x, Max.z-Min.z, color,0,0); mgl_facez(this, Min.x, Min.y, oo[im].z, Max.x-Min.x, Max.y-Min.y, color,0,0); } } EndGroup(); clr(MGL_NOSUBTICKS); Org=o; TickLen=tl; } //----------------------------------------------------------------------------- void mglCanvas::Colorbar(const char *sch) { bool in = mglchr(sch,'I'); mreal s=1/B.pf, x=1, y=0; if(mglchr(sch,'>')) { x=in?(1+s)/2:1; y=0; } if(mglchr(sch,'<')) { x=in?(1-s)/2:0; y=0; } if(mglchr(sch,'^')) { x=0; y=in?(1+s)/2:1; } if(mglchr(sch,'_')) { x=0; y=in?(1-s)/2:0; } Colorbar(sch, x, y, 1, 1); } //----------------------------------------------------------------------------- void mglCanvas::Colorbar(const char *sch, mreal x, mreal y, mreal w, mreal h) { bool in = mglchr(sch,'I'); int where = 0; // ‘0’ - right, ‘1’ - left, ‘2’ - above, ‘3’ - under if(mglchr(sch,'>')) where = in?1:0; if(mglchr(sch,'<')) where = in?0:1; if(mglchr(sch,'^')) where = in?3:2; if(mglchr(sch,'_')) where = in?2:3; if(mglchr(sch,'A')) { Push(); Identity(); } long n=256, s = AddTexture(sch); mglData v(n); if(ac.d || Min.c*Max.c<=0) v.Fill(Min.c,Max.c); else if(Max.c>Min.c && Min.c>0) { v.Fill(log(Min.c), log(Max.c)); v.Modify("exp(u)"); } else if(Min.c')) { x=in?(1+s)/2:1; y=0; } if(mglchr(sch,'<')) { x=in?(1-s)/2:0; y=0; } if(mglchr(sch,'^')) { x=0; y=in?(1+s)/2:1; } if(mglchr(sch,'_')) { x=0; y=in?(1-s)/2:0; } Colorbar(v, sch, x, y, 1, 1); } //----------------------------------------------------------------------------- void mglCanvas::Colorbar(HCDT v, const char *sch, mreal x, mreal y, mreal w, mreal h) { bool in = mglchr(sch,'I'); int where = 0; if(mglchr(sch,'>')) where = in?1:0; if(mglchr(sch,'<')) where = in?0:1; if(mglchr(sch,'^')) where = in?3:2; if(mglchr(sch,'_')) where = in?2:3; if(mglchr(sch,'A')) { Push(); Identity(); } mreal *c=new mreal[v->GetNx()]; if(!mgl_have_color(sch)) sch = MGL_DEF_PAL; long s = AddTexture(sch); int nc = GetNumPal(s*256); mreal dc = nc>1 ? 1/(MGL_EPSILON*(nc-1)):0; for(long i=0;iGetNx();i++) c[i] = s+i*dc; colorbar(v, c, where, x, y, w, h); delete []c; if(mglchr(sch,'A')) Pop(); } //----------------------------------------------------------------------------- void mglCanvas::colorbar(HCDT vv, const mreal *c, int where, mreal x, mreal y, mreal w, mreal h) { static int cgid=1; StartGroup("Colorbar",cgid++); register size_t i,n=vv->GetNx(); long n1,n2,n3,n4; mreal d,s3=B.pf,ss=1/s3; // NOTE: colorbar was wider ss=0.9; mglPoint p1,p2; Push(); set(MGL_DISABLE_SCALE); B=B1; B.pf=s3; x = s3*(2*x-1); y = s3*(2*y-1); w *= s3; h *= s3; for(i=0;iv(i))*2-1; p1 = p2 = mglPoint((ss*d+1)*w+x, (ss*d+1)*h+y, s3); switch(where) { case 1: p1.x = x; p2.x = x+0.1*w; break; case 2: p1.y = y-0.1*h; p2.y = y; break; case 3: p1.y = y; p2.y = y+0.1*h; break; default:p1.x = x-0.1*w; p2.x = x; break; } n1 = AddPnt(p1,c[i]); n2 = AddPnt(p2,c[i]); d = GetA(vv->v(i+1))*2-1; p1 = p2 = mglPoint((ss*d+1)*w+x, (ss*d+1)*h+y, s3); switch(where) { case 1: p1.x = x; p2.x = x+0.1*w; break; case 2: p1.y = y-0.1*h; p2.y = y; break; case 3: p1.y = y; p2.y = y+0.1*h; break; default:p1.x = x-0.1*w; p2.x = x; break; } n3 = AddPnt(p1,c[i]); n4 = AddPnt(p2,c[i]); quad_plot(n1,n2,n3,n4); } if(n<64) { wchar_t buf[64]; for(i=0;iv(i); mglprintf(buf,64,ac.t[0]?ac.t:(fabs(d)<1 ? L"%.2g" : L"%.3g"),d); ac.AddLabel(buf,d); } } else { UpdateAxis(); AdjustTicks(ac,fa!=0); } // hint for using standard label drawing function SetPenPal(TickStl); for(i=0;i * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/canvas.h" #include "mgl2/canvas_cf.h" #include "mgl2/font.h" #include #include #include #include #include #undef _GR_ #define _GR_ ((mglCanvas *)(*gr)) #define _Gr_ ((mglCanvas *)(gr)) void mgl_printf(void *fp, bool gz, const char *str, ...); //----------------------------------------------------------------------------- MGL_NO_EXPORT const char *mgl_get_dash(unsigned short d, mreal w) { static char b[32]; static std::string s; if(d==0xffff) return ""; int f=0, p=d&1, n=p?0:1, i, j; s = p ? "" : "0"; for(i=0;i<16;i++) { j = i;//15-i; if(((d>>j)&1) == p) f++; else { snprintf(b,32," %g",f*w); s += b; p = (d>>j)&1; f = 1; n++; } } snprintf(b,32," %g",f*w); s += b; s += n%2 ? "" : " 0"; return s.c_str(); } //----------------------------------------------------------------------------- bool MGL_NO_EXPORT mgl_is_same(HMGL gr, const mglPrim &pr,mreal wp,mglColor cp,int st) { if(abs(pr.type)!=1) return false; if(pr.w>=1 && wp!=pr.w) return false; if(pr.w<1 && wp!=1) return false; if(st!=pr.n3) return false; mglColor c=_Gr_->GetColor(pr); return (cp==c); } //----------------------------------------------------------------------------- void MGL_NO_EXPORT put_line(HMGL gr, void *fp, bool gz, long i, mreal wp, mglColor cp,int st, const char *ifmt, const char *nfmt, bool neg, mreal fc) { long n1=gr->GetPrm(i).n1, n2=gr->GetPrm(i).n2; if(n1>n2) { n1=gr->GetPrm(i).n2; n2=gr->GetPrm(i).n1; } if(n1<0 || n2<0) return; const mglPnt &pp1 = gr->GetPnt(n1), &pp2 = gr->GetPnt(n2); mreal x0=pp1.x, y0=pp1.y; bool ok=true; register long j; // first point std::vector ids; while(ok) // try to find starting point { for(ok=false,j=i+1;jGetPrmNum();j++) { mglPrim &q = gr->GetPrm(j); if(q.type>1) break; if(mgl_is_same(gr, q,wp,cp,st) && q.type==1 && q.n1>=0 && q.n2>=0) // previous point { const mglPnt &p1 = gr->GetPnt(q.n1); const mglPnt &p2 = gr->GetPnt(q.n2); if(p2.x==x0 && p2.y==y0) { ok = true; ids.push_back(q.n1); x0 = p1.x; y0 = p1.y; q.type = -1; } else if(p1.x==x0 && p1.y==y0) { ok = true; ids.push_back(q.n2); x0 = p2.x; y0 = p2.y; q.type = -1; } } } } std::reverse(ids.begin(),ids.end()); ids.push_back(n1); ids.push_back(n2); x0 = pp2.x; y0 = pp2.y; ok = true; while(ok) // try to find starting point { for(ok=false,j=i+1;jGetPrmNum();j++) { mglPrim &q = gr->GetPrm(j); if(q.type>1) break; if(mgl_is_same(gr, q,wp,cp,st) && q.type==1 && q.n1>=0 && q.n2>=0) // next point { const mglPnt &p1 = gr->GetPnt(q.n1); const mglPnt &p2 = gr->GetPnt(q.n2); if(p2.x==x0 && p2.y==y0) { ok = true; ids.push_back(q.n1); x0 = p1.x; y0 = p1.y; q.type = -1; } else if(p1.x==x0 && p1.y==y0) { ok = true; ids.push_back(q.n2); x0 = p2.x; y0 = p2.y; q.type = -1; } } } } for(size_t j=0;jGetPnt(ids[j]); x0 = p.x; y0 = p.y; mgl_printf(fp, gz, j>0?nfmt:ifmt,fc*x0,(neg?_Gr_->GetHeight()-y0:y0)*fc); } } //----------------------------------------------------------------------------- //put_desc(fp,"%c%c%c_%04x {", "np %d %d mt %d %d ll %d %d ll cp fill\n", //"np %d %d mt ", "%d %d ll ", "cp dr\n", "} def") void MGL_NO_EXPORT put_desc(HMGL gr, void *fp, bool gz, const char *pre, const char *ln1, const char *ln2, const char *ln3, const char *suf) { register long i,j,n; wchar_t *g; int *s; for(n=i=0;iGetPrmNum();i++) if(gr->GetPrm(i).type==4) n++; if(n==0) return; // no glyphs g = new wchar_t[n]; s = new int[n]; for(n=i=0;iGetPrmNum();i++) { const mglPrim q = gr->GetPrm(i); if(q.type!=4 || (q.n3&8)) continue; // not a glyph bool is=false; for(j=0;jGetGlf(q.n4); int nl=g.nl; const short *ln=g.line; long ik,ii; bool np=true; if(ln && nl>0) for(ik=0;ikGetPrmNum()<1) return; _Gr_->clr(MGL_FINISHED); _Gr_->Finish(false); time_t now; time(&now); bool gz = fname[strlen(fname)-1]=='z'; void *fp; if(!strcmp(fname,"-")) fp = stdout; // allow to write in stdout else fp = gz ? (void*)gzopen(fname,"wt") : (void*)fopen(fname,"wt"); if(!fp) { gr->SetWarn(mglWarnOpen,fname); return; } mgl_printf(fp, gz, "%%!PS-Adobe-3.0 EPSF-3.0\n%%%%BoundingBox: 0 0 %d %d\n", _Gr_->GetWidth(), _Gr_->GetHeight()); mgl_printf(fp, gz, "%%%%Created by MathGL library\n%%%%Title: %s\n",descr ? descr : fname); mgl_printf(fp, gz, "%%%%CreationDate: %s\n",ctime(&now)); mgl_printf(fp, gz, "/lw {setlinewidth} def\n/rgb {setrgbcolor} def\n"); mgl_printf(fp, gz, "/np {newpath} def\n/cp {closepath} def\n"); mgl_printf(fp, gz, "/ll {lineto} def\n/mt {moveto} def\n"); mgl_printf(fp, gz, "/rl {rlineto} def\n/rm {rmoveto} def\n/dr {stroke} def\n"); mgl_printf(fp, gz, "/ss {%g} def\n",0.35*gr->mark_size()); mgl_printf(fp, gz, "/s2 {%g} def\n",0.7*gr->mark_size()); mgl_printf(fp, gz, "/sm {-%g} def\n",0.35*gr->mark_size()); mgl_printf(fp, gz, "/m_c {ss 0.3 mul 0 360 arc} def\n"); mgl_printf(fp, gz, "/d0 {[] 0 setdash} def\n/sd {setdash} def\n"); bool m_p=false,m_x=false,m_d=false,m_v=false,m_t=false, m_s=false,m_a=false,m_o=false,m_T=false, m_V=false,m_S=false,m_D=false,m_Y=false,m_l=false, m_L=false,m_r=false,m_R=false,m_X=false,m_P=false; register long i; // add mark definition if present for(i=0;iGetPrmNum();i++) { const mglPrim q = gr->GetPrm(i); if(q.type>0) continue; if(q.n4=='+') m_p = true; if(q.n4=='x') m_x = true; if(q.n4=='s') m_s = true; if(q.n4=='d') m_d = true; if(q.n4=='v') m_v = true; if(q.n4=='^') m_t = true; if(q.n4=='*') m_a = true; if(q.n4=='o' || q.n4=='O' || q.n4=='C') m_o = true; if(q.n4=='S') m_S = true; if(q.n4=='D') m_D = true; if(q.n4=='V') m_V = true; if(q.n4=='T') m_T = true; if(q.n4=='<') m_l = true; if(q.n4=='L') m_L = true; if(q.n4=='>') m_r = true; if(q.n4=='R') m_R = true; if(q.n4=='Y') m_Y = true; if(q.n4=='P') m_P = true; if(q.n4=='X') m_X = true; } if(m_P) { m_p=true; m_s=true; } if(m_X) { m_x=true; m_s=true; } if(m_p) mgl_printf(fp, gz, "/m_p {sm 0 rm s2 0 rl sm sm rm 0 s2 rl d0} def\n"); if(m_x) mgl_printf(fp, gz, "/m_x {sm sm rm s2 s2 rl 0 sm 2 mul rm sm 2 mul s2 rl d0} def\n"); if(m_s) mgl_printf(fp, gz, "/m_s {sm sm rm 0 s2 rl s2 0 rl 0 sm 2 mul rl cp d0} def\n"); if(m_d) mgl_printf(fp, gz, "/m_d {sm 0 rm ss ss rl ss sm rl sm sm rl cp d0} def\n"); if(m_v) mgl_printf(fp, gz, "/m_v {sm ss 2 div rm s2 0 rl sm sm 1.5 mul rl d0 cp} def\n"); if(m_t) mgl_printf(fp, gz, "/m_t {sm sm 2 div rm s2 0 rl sm ss 1.5 mul rl d0 cp} def\n"); if(m_a) mgl_printf(fp, gz, "/m_a {sm 0 rm s2 0 rl sm 1.6 mul sm 0.8 mul rm ss 1.2 mul ss 1.6 mul rl 0 sm 1.6 mul rm sm 1.2 mul ss 1.6 mul rl d0} def\n"); if(m_o) mgl_printf(fp, gz, "/m_o {ss 0 360 d0 arc} def\n"); if(m_S) mgl_printf(fp, gz, "/m_S {sm sm rm 0 s2 rl s2 0 rl 0 sm 2 mul rl cp} def\n"); if(m_D) mgl_printf(fp, gz, "/m_D {sm 0 rm ss ss rl ss sm rl sm sm rl cp} def\n"); if(m_V) mgl_printf(fp, gz, "/m_V {sm ss 2 div rm s2 0 rl sm sm 1.5 mul rl cp} def\n"); if(m_T) mgl_printf(fp, gz, "/m_T {sm sm 2 div rm s2 0 rl sm ss 1.5 mul rl cp} def\n"); if(m_Y) mgl_printf(fp, gz, "/m_Y {0 sm rm 0 ss rl sm ss rl s2 0 rm sm sm rl d0} def\n"); if(m_r) mgl_printf(fp, gz, "/m_r {sm 2 div sm rm 0 s2 rl ss 1.5 mul sm rl d0 cp} def\n"); if(m_l) mgl_printf(fp, gz, "/m_l {ss 2 div sm rm 0 s2 rl sm 1.5 mul sm rl d0 cp} def\n"); if(m_R) mgl_printf(fp, gz, "/m_R {sm 2 div sm rm 0 s2 rl ss 1.5 mul sm rl cp} def\n"); if(m_L) mgl_printf(fp, gz, "/m_L {ss 2 div sm rm 0 s2 rl sm 1.5 mul sm rl cp} def\n"); if(m_P) mgl_printf(fp, gz, "/m_P {m_p 0 sm rm m_s} def\n"); if(m_X) mgl_printf(fp, gz, "/m_X {m_x ss sm rm m_s} def\n"); // if(m_C) mgl_printf(fp, gz, "/m_C {m_c m_o} def\n"); mgl_printf(fp, gz, "\n"); // write definition for all glyphs put_desc(gr,fp,gz,"/%c%c_%04x { np\n", "\t%d %d mt ", "%d %d ll ", "cp\n", "} def\n"); // write primitives mreal wp=-1; float qs_old=gr->mark_size()/gr->FontFactor(); mglColor cp; int st=0; char str[256]=""; for(i=0;iGetPrmNum();i++) { const mglPrim &q = gr->GetPrm(i); if(q.type<0) continue; // q.n1>=0 always cp = _Gr_->GetColor(q); const mglPnt p1 = gr->GetPnt(q.n1); if(q.type>1) snprintf(str,256,"%.2g %.2g %.2g rgb ", cp.r,cp.g,cp.b); if(q.type==0) // mark { mreal x0 = p1.x,y0 = p1.y; snprintf(str,256,"%.2g lw %.2g %.2g %.2g rgb ", 50*q.s*q.w>1?50*q.s*q.w:1, cp.r,cp.g,cp.b); wp=1; // NOTE: this may renew line style if a mark inside! if(q.s!=qs_old) { mgl_printf(fp, gz, "/ss {%g} def\n",q.s); mgl_printf(fp, gz, "/s2 {%g} def\n",q.s*2); mgl_printf(fp, gz, "/sm {-%g} def\n",q.s); qs_old = q.s; } switch(q.n4) { case '+': mgl_printf(fp, gz, "np %g %g mt m_p %sdr\n",x0,y0,str); break; case 'x': mgl_printf(fp, gz, "np %g %g mt m_x %sdr\n",x0,y0,str); break; case 's': mgl_printf(fp, gz, "np %g %g mt m_s %sdr\n",x0,y0,str); break; case 'd': mgl_printf(fp, gz, "np %g %g mt m_d %sdr\n",x0,y0,str); break; case '*': mgl_printf(fp, gz, "np %g %g mt m_a %sdr\n",x0,y0,str); break; case 'v': mgl_printf(fp, gz, "np %g %g mt m_v %sdr\n",x0,y0,str); break; case '^': mgl_printf(fp, gz, "np %g %g mt m_t %sdr\n",x0,y0,str); break; case 'S': mgl_printf(fp, gz, "np %g %g mt m_S %sfill\n",x0,y0,str); break; case 'D': mgl_printf(fp, gz, "np %g %g mt m_D %sfill\n",x0,y0,str); break; case 'V': mgl_printf(fp, gz, "np %g %g mt m_V %sfill\n",x0,y0,str); break; case 'T': mgl_printf(fp, gz, "np %g %g mt m_T %sfill\n",x0,y0,str); break; case 'o': mgl_printf(fp, gz, "%g %g m_o %sdr\n",x0,y0,str);break; case 'O': mgl_printf(fp, gz, "%g %g m_o %sfill\n",x0,y0,str);break; case 'Y': mgl_printf(fp, gz, "np %g %g mt m_Y %sdr\n",x0,y0,str); break; case '<': mgl_printf(fp, gz, "np %g %g mt m_l %sdr\n",x0,y0,str); break; case '>': mgl_printf(fp, gz, "np %g %g mt m_r %sdr\n",x0,y0,str); break; case 'L': mgl_printf(fp, gz, "np %g %g mt m_L %sfill\n",x0,y0,str); break; case 'R': mgl_printf(fp, gz, "np %g %g mt m_R %sfill\n",x0,y0,str); break; case 'P': mgl_printf(fp, gz, "np %g %g mt m_P %sdr\n",x0,y0,str); break; case 'X': mgl_printf(fp, gz, "np %g %g mt m_X %sdr\n",x0,y0,str); break; case 'C': mgl_printf(fp, gz, "%g %g m_o %g %g m_c %sdr\n",x0,y0,x0,y0,str); break; default: mgl_printf(fp, gz, "%g %g m_c %sfill\n",x0,y0,str); } } else if(q.type==3) // quad { const mglPnt &p2=gr->GetPnt(q.n2), &p3=gr->GetPnt(q.n3), &p4=gr->GetPnt(q.n4); if(p1.a>mgl_min_a || p2.a>mgl_min_a || p3.a>mgl_min_a || p4.a>mgl_min_a) mgl_printf(fp, gz, "np %g %g mt %g %g ll %g %g ll %g %g ll cp %sfill\n", p1.x, p1.y, p2.x, p2.y, p4.x, p4.y, p3.x, p3.y, str); } else if(q.type==2) // trig { const mglPnt &p2=gr->GetPnt(q.n2), &p3=gr->GetPnt(q.n3); if(p1.a>mgl_min_a || p2.a>mgl_min_a || p3.a>mgl_min_a) mgl_printf(fp, gz, "np %g %g mt %g %g ll %g %g ll cp %sfill\n", p1.x, p1.y, p2.x, p2.y, p3.x, p3.y, str); } else if(q.type==1) // line { snprintf(str,256,"%.2g lw %.2g %.2g %.2g rgb ", q.w>1 ? q.w:1., cp.r,cp.g,cp.b); wp = q.w>1 ? q.w:1; st = q.n3; put_line(gr,fp,gz,i,wp,cp,st, "np %g %g mt ", "%g %g ll ", false, 1); const char *sd = mgl_get_dash(q.n3,q.w); if(sd && sd[0]) mgl_printf(fp, gz, "%s [%s] %g sd dr\n",str,sd,q.w*q.s); else mgl_printf(fp, gz, "%s d0 dr\n",str); } else if(q.type==4) // glyph { float phi = gr->GetGlyphPhi(gr->GetPnt(q.n2),q.w); if(mgl_isnan(phi)) continue; mreal ss = q.s/2, xx = p1.u, yy = p1.v, zz = q.p; mgl_printf(fp, gz, "gsave\t%g %g translate %g %g scale %g rotate %s\n", p1.x, p1.y, ss, ss, -phi, str); if(q.n3&8) // this is "line" { mreal dy = 0.004,f=fabs(zz); mgl_printf(fp, gz, "np %g %g mt %g %g ll %g %g ll %g %g ll cp ", xx,yy+dy, xx+f,yy+dy, xx+f,yy-dy, xx,yy-dy); } else mgl_printf(fp, gz, "%.3g %.3g translate %g %g scale %c%c_%04x ", xx, yy, zz, zz, q.n3&1?'b':'n', q.n3&2?'i':'n', q.n4); if(q.n3&4) mgl_printf(fp, gz, "dr"); else mgl_printf(fp, gz, "eofill"); mgl_printf(fp, gz, " grestore\n"); } } for(i=0;iGetPrmNum();i++) { mglPrim &q = gr->GetPrm(i); if(q.type==-1) q.type = 1; } mgl_printf(fp, gz, "\nshowpage\n%%%%EOF\n"); if(strcmp(fname,"-")) { if(gz) gzclose((gzFile)fp); else fclose((FILE *)fp); } } void MGL_EXPORT mgl_write_eps_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *d=new char[n+1]; memcpy(d,descr,n); d[n]=0; mgl_write_eps(_GR_,s,d); delete []s; delete []d; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_svg(HMGL gr, const char *fname,const char *descr) { if(!fname || *fname==0) return; if(gr->GetPrmNum()<1) return; _Gr_->clr(MGL_FINISHED); _Gr_->Finish(false); time_t now; time(&now); bool gz = fname[strlen(fname)-1]=='z'; long hh = _Gr_->GetHeight(); void *fp; if(!strcmp(fname,"-")) fp = stdout; // allow to write in stdout else fp = gz ? (void*)gzopen(fname,"wt") : (void*)fopen(fname,"wt"); if(!fp) { gr->SetWarn(mglWarnOpen,fname); return; } mgl_printf(fp, gz, "\n"); mgl_printf(fp, gz, "\n"); mgl_printf(fp, gz, "\n", _Gr_->GetWidth(), hh); mgl_printf(fp, gz, "\n"); mgl_printf(fp, gz, "\n\n\n",descr?descr:fname,ctime(&now)); // write definition for all glyphs put_desc(gr,fp,gz,"\n"); // currentColor -> inherit ??? mgl_printf(fp, gz, "\n"); // write primitives mreal wp=-1; register long i; int st=0; mglColor cp; for(i=0;iGetPrmNum();i++) { const mglPrim &q = gr->GetPrm(i); if(q.type<0) continue; // q.n1>=0 always cp = _Gr_->GetColor(q); const mglPnt p1=gr->GetPnt(q.n1); if(q.type==0) { mreal x=p1.x,y=hh-p1.y,s=q.s; if(!strchr("xsSoO",q.n4)) s *= 1.1; wp = 1; if(strchr("SDVTLR",q.n4)) mgl_printf(fp, gz, "\n", int(255*cp.r),int(255*cp.g),int(255*cp.b)); else mgl_printf(fp, gz, "\n", int(255*cp.r),int(255*cp.g),int(255*cp.b), 50*q.s*q.w>1?50*q.s*q.w:1); switch(q.n4) { case 'P': mgl_printf(fp, gz, "\n", x-s,y,x+s,y,x,y-s,x,y+s, x-s,y-s,x+s,y-s,x+s,y+s,x-s,y+s,x-s,y-s); break; case '+': mgl_printf(fp, gz, "\n", x-s,y,x+s,y,x,y-s,x,y+s); break; case 'X': mgl_printf(fp, gz, "\n", x-s,y-s,x+s,y+s,x+s,y-s,x-s,y+s, x-s,y-s,x+s,y-s,x+s,y+s,x-s,y+s,x-s,y-s); break; case 'x': mgl_printf(fp, gz, "\n", x-s,y-s,x+s,y+s,x+s,y-s,x-s,y+s); break; case 's': case 'S': mgl_printf(fp, gz, "\n", x-s,y-s,x+s,y-s,x+s,y+s,x-s,y+s); break; case 'd': case 'D': mgl_printf(fp, gz, "\n", x-s,y,x,y-s,x+s,y,x,y+s); break; case 'v': case 'V': mgl_printf(fp, gz, "\n", x-s,y-s/2,x+s,y-s/2,x,y+s); break; case '^': case 'T': mgl_printf(fp, gz, "\n", x-s,y+s/2,x+s,y+s/2,x,y-s); break; case '<': case 'L': mgl_printf(fp, gz, "\n", x+s/2,y+s,x+s/2,y-s,x-s,y); break; case '>': case 'R': mgl_printf(fp, gz, "\n", x-s/2,y+s,x-s/2,y-s,x+s,y); break; case 'Y': mgl_printf(fp, gz, "\n", x,y-s, x,y, x+s,y+s, x,y, x-s,y+s); break; case 'C': mgl_printf(fp, gz, "\n\n", int(255*cp.r),int(255*cp.g),int(255*cp.b),x,y,x,y,s); break; case 'o': mgl_printf(fp, gz, "\n", x,y,s); break; case 'O': mgl_printf(fp, gz, "\n", int(255*cp.r),int(255*cp.g),int(255*cp.b),x,y,s); break; case '*': mgl_printf(fp, gz, "\n", x-s,y,x+s,y,x-0.6*s,y-0.8*s,x+0.6*s,y+0.8*s,x+0.6*s,y-0.8*s,x-0.6*s,y+0.8*s); break; default: mgl_printf(fp, gz, "\n", int(255*cp.r),int(255*cp.g),int(255*cp.b),x,y); break; } mgl_printf(fp, gz, "\n"); } else if(q.type==1) { mgl_printf(fp,gz,"1) mgl_printf(fp, gz, " stroke-width=\"%g\"", q.w); wp = q.w>1 ? q.w:1; st = q.n3; put_line(gr,fp,gz,i,wp,cp,st, "> \n"); } else if(q.type==2 && cp.a>mgl_min_a) { const mglPnt &p2=gr->GetPnt(q.n2), &p3=gr->GetPnt(q.n3); mgl_printf(fp, gz, "\n", int(255*cp.r),int(255*cp.g),int(255*cp.b),cp.a); mgl_printf(fp, gz, " \n", p1.x, hh-p1.y, p2.x, hh-p2.y, p3.x, hh-p3.y); } else if(q.type==3 && cp.a>mgl_min_a) { const mglPnt &p2=gr->GetPnt(q.n2), &p3=gr->GetPnt(q.n3), &p4=gr->GetPnt(q.n4); mgl_printf(fp, gz, "\n", int(255*cp.r),int(255*cp.g),int(255*cp.b),cp.a); mgl_printf(fp, gz, " \n", p1.x, hh-p1.y, p2.x, hh-p2.y, p4.x, hh-p4.y, p3.x, hh-p3.y); } else if(q.type==4) { float phi = gr->GetGlyphPhi(gr->GetPnt(q.n2),q.w); if(mgl_isnan(phi)) continue; mreal ss = q.s/2, xx = p1.u, yy = p1.v, zz = q.p; if(q.n3&8) // this is "line" { mgl_printf(fp, gz, "", int(255*cp.r),int(255*cp.g),int(255*cp.b)); else mgl_printf(fp, gz, " fill=\"#%02x%02x%02x\">", int(255*cp.r),int(255*cp.g),int(255*cp.b)); mreal dy = 0.004,f=fabs(zz); mgl_printf(fp, gz, "\n", xx,yy+dy, xx+f,yy+dy, xx+f,yy-dy, xx,yy-dy); } else { ss *= zz; mgl_printf(fp, gz, "", int(255*cp.r),int(255*cp.g),int(255*cp.b)); else mgl_printf(fp, gz, " fill=\"#%02x%02x%02x\">", int(255*cp.r),int(255*cp.g),int(255*cp.b)); mgl_printf(fp, gz, "\n", xx/zz, yy/zz, q.n3&1?'b':'n', q.n3&2?'i':'n', q.n4); } } } for(i=0;iGetPrmNum();i++) { mglPrim &q=gr->GetPrm(i); if(q.type==-1) q.type = 1; } mgl_printf(fp, gz, ""); if(strcmp(fname,"-")) { if(gz) gzclose((gzFile)fp); else fclose((FILE *)fp); } } void MGL_EXPORT mgl_write_svg_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *d=new char[n+1]; memcpy(d,descr,n); d[n]=0; mgl_write_svg(_GR_,s,d); delete []s; delete []d; } //----------------------------------------------------------------------------- /// Color names easely parsed by LaTeX struct mglSVGName { const char *name; mreal r,g,b; }; MGL_NO_EXPORT mglSVGName mgl_names[]={{"AliceBlue",.94,.972,1}, {"Apricot", 0.984, 0.725, 0.51}, {"Aquamarine", 0, 0.71, 0.745}, {"Bittersweet", 0.753, 0.31, 0.0902}, {"Black", 0.133, 0.118, 0.122}, {"Blue", 0.176, 0.184, 0.573}, {"BlueGreen", 0, 0.702, 0.722}, {"BlueViolet", 0.278, 0.224, 0.573}, {"BrickRed", 0.714, 0.196, 0.11}, {"Brown", 0.475, 0.145, 0}, {"BurntOrange", 0.969, 0.573, 0.114}, {"CadetBlue", 0.455, 0.447, 0.604}, {"CarnationPink", 0.949, 0.51, 0.706}, {"Cerulean", 0, 0.635, 0.89}, {"CornflowerBlue", 0.255, 0.69, 0.894}, {"Cyan", 0, 0.682, 0.937}, {"Dandelion", 0.992, 0.737, 0.259}, {"DarkOrchid", 0.643, 0.325, 0.541}, {"Emerald", 0, 0.663, 0.616}, {"ForestGreen", 0, 0.608, 0.333}, {"Fuchsia", 0.549, 0.212, 0.549}, {"Goldenrod", 1, 0.875, 0.259}, {"Gray", 0.58, 0.588, 0.596}, {"Green", 0, 0.651, 0.31}, {"GreenYellow", 0.875, 0.902, 0.455}, {"JungleGreen", 0, 0.663, 0.604}, {"Lavender", 0.957, 0.62, 0.769}, {"LimeGreen", 0.553, 0.78, 0.243}, {"Magenta", 0.925, 0, 0.549}, {"Mahogany", 0.663, 0.204, 0.122}, {"Maroon", 0.686, 0.196, 0.208}, {"Melon", 0.973, 0.62, 0.482}, {"MidnightBlue", 0, 0.404, 0.584}, {"Mulberry", 0.663, 0.235, 0.576}, {"NavyBlue", 0, 0.431, 0.722}, {"OliveGreen", 0.235, 0.502, 0.192}, {"Orange", 0.961, 0.506, 0.216}, {"OrangeRed", 0.929, 0.0745, 0.353}, {"Orchid", 0.686, 0.447, 0.69}, {"Peach", 0.969, 0.588, 0.353}, {"Periwinkle", 0.475, 0.467, 0.722}, {"PineGreen", 0, 0.545, 0.447}, {"Plum", 0.573, 0.149, 0.561}, {"ProcessBlue", 0, 0.69, 0.941}, {"Purple", 0.6, 0.278, 0.608}, {"RawSienna", 0.592, 0.251, 0.0235}, {"Red", 0.929, 0.106, 0.137}, {"RedOrange", 0.949, 0.376, 0.208}, {"RedViolet", 0.631, 0.141, 0.42}, {"Rhodamine", 0.937, 0.333, 0.624}, {"RoyalBlue", 0, 0.443, 0.737}, {"RoyalPurple", 0.38, 0.247, 0.6}, {"RubineRed", 0.929, 0.00392, 0.49}, {"Salmon", 0.965, 0.573, 0.537}, {"SeaGreen", 0.247, 0.737, 0.616}, {"Sepia", 0.404, 0.0941, 0}, {"SkyBlue", 0.275, 0.773, 0.867}, {"SpringGreen", 0.776, 0.863, 0.404}, {"Tan", 0.855, 0.616, 0.463}, {"TealBlue", 0, 0.682, 0.702}, {"Thistle", 0.847, 0.514, 0.718}, {"Turquoise", 0, 0.706, 0.808}, {"Violet", 0.345, 0.259, 0.608}, {"VioletRed", 0.937, 0.345, 0.627}, {"White", 0.6, 0.6, 0.6}, {"WildStrawberry", 0.933, 0.161, 0.404}, {"Yellow", 1, 0.949, 0}, {"YellowGreen", 0.596, 0.8, 0.439}, {"YellowOrange", 0.98, 0.635, 0.102}, {"white", 1,1,1}, {"black", 0,0,0}, {"red", 1,0,0}, {"green", 0,1,0}, {"blue", 0,0,1}, {"cyan", 0,1,1}, {"magenta", 1,0,1}, {"yellow", 1,1,0}, {"",-1,-1,-1}}; //----------------------------------------------------------------------------- MGL_NO_EXPORT const char *mglColorName(mglColor c) // return closest SVG color { register long i; register mreal d, dm=10; const char *name=""; for(i=0;mgl_names[i].name[0];i++) { d = fabs(c.r-mgl_names[i].r)+fabs(c.g-mgl_names[i].g)+fabs(c.b-mgl_names[i].b); if(dGetPrmNum()<1) return; _Gr_->clr(MGL_FINISHED); _Gr_->Finish(false); FILE *fp = fopen(fname,"wt"); if(!fp) { gr->SetWarn(mglWarnOpen,fname); return; } fprintf(fp, "%% Created by MathGL library\n%% Title: %s\n\n",descr?descr:fname); fprintf(fp, "\\begin{tikzpicture}\n"); // write primitives first mreal wp=-1; register long i; register int ii,jj,kk; int st=0; mglColor cp; char cname[16]; for(i=0;iGetPrmNum();i++) { const mglPrim &q = gr->GetPrm(i); if(q.type<0) continue; // q.n1>=0 always cp = _Gr_->GetColor(q); ii = (cp.r*255+25)/51; jj = (cp.g*255+25)/51; kk = (cp.b*255+25)/51; snprintf(cname,16,"mgl_%d",ii+6*(jj+6*kk)); // cname = mglColorName(cp); const mglPnt p1=gr->GetPnt(q.n1); mreal x=p1.x/100,y=p1.y/100,s=q.s/100; if(q.type==0) { if(!strchr("xsSoO",q.n4)) s *= 1.1; wp = 1; switch(q.n4) // NOTE: no thickness for marks in TeX { case 'P': fprintf(fp, "\\mglp{%g}{%g}{%s}{%g} \\mgls{%g}{%g}{%s}{%g}\n", x,y,cname,s,x,y,cname,s); break; case 'X': fprintf(fp, "\\mglx{%g}{%g}{%s}{%g} \\mgls{%g}{%g}{%s}{%g}\n", x,y,cname,s,x,y,cname,s); break; case 'C': fprintf(fp, "\\mglc{%g}{%g}{%s}{%g} \\mglo{%g}{%g}{%s}{%g}\n", x,y,cname,s,x,y,cname,s); break; case '+': fprintf(fp, "\\mglp{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'x': fprintf(fp, "\\mglx{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 's': fprintf(fp, "\\mgls{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'S': fprintf(fp, "\\mglS{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'd': fprintf(fp, "\\mgld{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'D': fprintf(fp, "\\mglD{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case '^': fprintf(fp, "\\mglt{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'T': fprintf(fp, "\\mglT{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'v': fprintf(fp, "\\mglv{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'V': fprintf(fp, "\\mglV{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case '<': fprintf(fp, "\\mgll{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'L': fprintf(fp, "\\mglL{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case '>': fprintf(fp, "\\mglr{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'R': fprintf(fp, "\\mglR{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'Y': fprintf(fp, "\\mglY{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'o': fprintf(fp, "\\mglo{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case 'O': fprintf(fp, "\\mglO{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; case '*': fprintf(fp, "\\mgla{%g}{%g}{%s}{%g}\n", x,y,cname,s); break; default: fprintf(fp, "\\mglc{%g}{%g}{%s}\n", x,y,cname); break; } } else if(q.type==2 && cp.a>mgl_min_a) { const mglPnt p2=gr->GetPnt(q.n2), p3=gr->GetPnt(q.n3); fprintf(fp, "\\fill[%s, fill opacity=%g] (%g,%g) -- (%g,%g) -- (%g,%g) -- cycle;\n", cname,cp.a, x,y, p2.x/100,p2.y/100, p3.x/100,p3.y/100); } else if(q.type==3 && cp.a>mgl_min_a) { const mglPnt p2=gr->GetPnt(q.n2), p3=gr->GetPnt(q.n3), p4=gr->GetPnt(q.n4); fprintf(fp, "\\fill[%s, fill opacity=%g] (%g,%g) -- (%g,%g) -- (%g,%g) -- (%g,%g) -- cycle;\n", cname,cp.a, x,y, p2.x/100,p2.y/100, p4.x/100,p4.y/100, p3.x/100,p3.y/100); } else if(q.type==1) // lines { //const char *dash[]={"", "8 8","4 4","1 3","7 4 1 4","3 2 1 2"}; const char *w[]={"semithick","thick","very thick","ultra thick"}; register int iw=int(q.w-0.5); if(iw>3) iw=3; if(iw<0) fprintf(fp,"\\draw[%s] ",cname); else fprintf(fp,"\\draw[%s,%s] ",cname,w[iw]); // TODO: add line dashing wp = q.w>1 ? q.w:1; st = q.n3; put_line(gr,fp,false,i,wp,cp,st, "(%g,%g)", " -- (%g,%g)", false, 0.01); fprintf(fp, ";\n"); } else if(q.type==6 && !mgl_isnan(q.p)) // text { const mglText &t = gr->GetPtx(q.n3); mreal dy = q.w*cos(q.p*M_PI/180)/100, dx = q.w*sin(q.p*M_PI/180)/100; int f,a; mglGetStyle(t.stl.c_str(), &f, &a); std::string ss=cname; if((a&3)==0) ss.append(",anchor=base west"); if((a&3)==1) ss.append(",anchor=base"); if((a&3)==2) ss.append(",anchor=base east"); if(f&MGL_FONT_ITAL) ss.append(",font=\\itshape"); if(f&MGL_FONT_BOLD) ss.append(",font=\\bfshape"); if(t.text.find('\\')!=std::string::npos || t.text.find('{')!=std::string::npos || t.text.find('_')!=std::string::npos || t.text.find('^')!=std::string::npos) fprintf(fp,"\\draw[%s] (%g,%g) node[rotate=%.2g]{$%ls$};\n", ss.c_str(),x-dx,y-dy, -q.p, t.text.c_str()); else fprintf(fp,"\\draw[%s] (%g,%g) node[rotate=%.2g]{%ls};\n", ss.c_str(),x-dx,y-dy, -q.p, t.text.c_str()); } } fprintf(fp, "\\end{tikzpicture}\n"); for(i=0;iGetPrmNum();i++) { mglPrim &q=gr->GetPrm(i); if(q.type==-1) q.type = 1; } fclose(fp); // provide colors used by figure fp=fopen("mglcolors.tex","wt"); for(ii=0;ii<6;ii++) for(jj=0;jj<6;jj++) for(kk=0;kk<6;kk++) fprintf(fp,"\\definecolor{mgl_%d}{RGB}{%d,%d,%d}\n",ii+6*(jj+6*kk),51*ii,51*jj,51*kk); mreal ms=0.4*gr->mark_size()/100; // also provide marks fprintf(fp, "\\providecommand{\\mglp}[4]{\\draw[#3] (#1-#4, #2) -- (#1+#4,#2) (#1,#2-#4) -- (#1,#2+#4);}\n"); fprintf(fp, "\\providecommand{\\mglx}[4]{\\draw[#3] (#1-#4, #2-#4) -- (#1+#4,#2+#4) (#1+#4,#2-#4) -- (#1-#4,#2+#4);}\n"); fprintf(fp, "\\providecommand{\\mgls}[4]{\\draw[#3] (#1-#4, #2-#4) -- (#1+#4,#2-#4) -- (#1+#4,#2+#4) -- (#1-#4,#2+#4) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglS}[4]{\\fill[#3] (#1-#4, #2-#4) -- (#1+#4,#2-#4) -- (#1+#4,#2+#4) -- (#1-#4,#2+#4) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mgld}[4]{\\draw[#3] (#1, #2-#4) -- (#1+#4,#2) -- (#1,#2+#4) -- (#1-#4,#2) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglD}[4]{\\fill[#3] (#1, #2-#4) -- (#1+#4,#2) -- (#1,#2+#4) -- (#1-#4,#2) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglv}[4]{\\draw[#3] (#1-#4, #2+#4/2) -- (#1+#4,#2+#4/2) -- (#1,#2-#4) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglV}[4]{\\fill[#3] (#1-#4, #2+#4/2) -- (#1+#4,#2+#4/2) -- (#1,#2-#4) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglt}[4]{\\draw[#3] (#1-#4, #2-#4/2) -- (#1+#4,#2-#4/2) -- (#1,#2+#4) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglT}[4]{\\fill[#3] (#1-#4, #2-#4/2) -- (#1+#4,#2-#4/2) -- (#1,#2+#4) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mgll}[4]{\\draw[#3] (#1+#4/2, #2-#4) -- (#1+#4/2,#2+#4) -- (#1-#4,#2) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglL}[4]{\\fill[#3] (#1+#4/2, #2-#4) -- (#1+#4/2,#2+#4) -- (#1-#4,#2) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglr}[4]{\\draw[#3] (#1-#4/2, #2-#4) -- (#1-#4/2,#2+#4) -- (#1+#4,#2) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglR}[4]{\\fill[#3] (#1-#4/2, #2-#4) -- (#1-#4/2,#2+#4) -- (#1+#4,#2) -- cycle;}\n"); fprintf(fp, "\\providecommand{\\mglR}[4]{\\draw[#3] (#1, #2-#4) -- (#1,#2) -- (#1-#4,#2+#4) (#1,#2) -- (#1+#4,#2+#4);}\n"); fprintf(fp, "\\providecommand{\\mgla}[4]{\\draw[#3] (#1-#4, #2) -- (#1+#4,#2) (#1-0.6*#4,#2-0.8*#4) -- (#1+0.6*#4,#2+0.8*#4) (#1-0.6*#4,#2+0.8*#4) -- (#1+0.6*#4,#2-0.8*#4);}\n"); fprintf(fp, "\\providecommand{\\mglY}[4]{\\draw[#3] (#1, #2-#4) -- (#1,#2) (#1-#4,#2+#4) -- (#1,#2) (#1+#4,#2+#4) -- (#1,#2);}\n"); fprintf(fp, "\\providecommand{\\mglo}[4]{\\draw[#3] (#1, #2) circle (#4);}\n"); fprintf(fp, "\\providecommand{\\mglO}[4]{\\fill[#3] (#1, #2) circle (#4);}\n"); fprintf(fp, "\\providecommand{\\mglc}[3]{\\draw[#3] (#1, #2) circle (%g);}\n\n", 0.1*ms); fclose(fp); // provide main file for viewing figure fp=fopen("mglmain.tex","wt"); fprintf(fp, "\\documentclass{article}\n\n"); fprintf(fp, "%% following lines should be placed before \\begin{document}\n"); fprintf(fp,"\\usepackage{tikz}\n\\input{mglcolors.tex}\n"); fprintf(fp, "\\begin{document}\n%% start figure itself\n\\input{%s}\\end{document}\n",fname); fclose(fp); } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/font.cpp0000664000175000017500000007151512142400470015162 0ustar balakinbalakin/*************************************************************************** * font.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include // #ifdef WIN32 // #include // #else // #include // #endif #include "mgl2/base.h" #include "mgl2/font.h" //----------------------------------------------------------------------------- extern unsigned mgl_numg, mgl_cur; extern float mgl_fact; extern long mgl_gen_fnt[516][6]; extern short mgl_buf_fnt[246080]; extern mglTeXsymb mgl_tex_symb[]; //mglFont mglDefFont("nofont"); mglFont mglDefFont; //----------------------------------------------------------------------------- char mglGetStyle(const char *how, int *font, int *align) { char col=0; if(align) *align = 1; // centering text by default if(!how || *how==0) return col; // NOTE: no brightness for text color for(;*how && *how!=':';how++) if(strchr(MGL_COLORS,*how)) col=*how; if(align) { *align = 1; if(strchr(how,'R')) *align = 2; if(strchr(how,'C')) *align = 1; if(strchr(how,'L')) *align = 0; if(strchr(how,'D')) *align+= 4; } if(font) { *font = 0; if(strchr(how,'b')) *font = *font|MGL_FONT_BOLD; if(strchr(how,'i')) *font = *font|MGL_FONT_ITAL; if(strchr(how,'w')) *font = *font|MGL_FONT_WIRE; if(strchr(how,'o')) *font = *font|MGL_FONT_OLINE; if(strchr(how,'u')) *font = *font|MGL_FONT_ULINE; } return col; } //----------------------------------------------------------------------------- float mglFont::Puts(const char *str,const char *how,float col) const { int font=0, align=1; char cc=mglGetStyle(how,&font,&align); size_t size = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[size]; mbstowcs(wcs,str,size); float w = Puts(wcs,font,align,cc?-cc:col); delete []wcs; return w; } //----------------------------------------------------------------------------- float mglFont::Width(const char *str,const char *how) const { int font=0; mglGetStyle(how,&font); size_t size = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[size]; mbstowcs(wcs,str,size); float w = Width(wcs,font); delete []wcs; return w; } //----------------------------------------------------------------------------- float mglFont::Puts(const wchar_t *str,const char *how,float col) const { int font=0, align=1; char cc=mglGetStyle(how,&font,&align); return Puts(str, font, align,cc?-cc:col); } //----------------------------------------------------------------------------- float mglFont::Width(const wchar_t *str,const char *how) const { int font=0; mglGetStyle(how,&font); return Width(str, font); } //----------------------------------------------------------------------------- float mglFont::Puts(const wchar_t *str,int font,int align, float col) const { if(numg==0 || !str || *str==0) return 0; float ww=0,w=0,h = (align&4) ? 500./fact[0] : 0; size_t size = wcslen(str)+1,i,num=0; if(parse) { unsigned *wcs = new unsigned[size], *buf=wcs; memcpy(wcs,str,size*sizeof(wchar_t)); Convert(str, wcs); for(i=0;wcs[i];i++) { if(wcs[i]=='\n') // parse '\n' symbol { wcs[i]=0; w = Puts(buf,0,0,1.f,0x10|font,col); // find width Puts(buf,-w*(align&3)/2.f,-h - 500.*num/fact[0],1.f,font,col); // draw it really buf=wcs+i+1; num++; if(w>ww) ww=w; } if(wcs[i]=='\\' && wcs[i+1]=='n' && (wcs[i+2]>' ' || wcschr(L"{}[]()!@#$%^&*/-?.,_=+\\\"", wcs[i+2]))) // parse '\n' symbol { wcs[i]=0; w = Puts(buf,0,0,1.f,0x10|font,col); // find width Puts(buf,-w*(align&3)/2.f,-h - 500.*num/fact[0],1.f,font,col); // draw it really buf=wcs+i+2; num++; if(w>ww) ww=w; } } // draw string itself w = Puts(buf,0,0,1.f,0x10|font,col); // find width Puts(buf,-w*(align&3)/2.f,-h - 500.*num/fact[0],1.f,font,col); // draw it really if(w>ww) ww=w; delete []wcs; } else { int s = (font/MGL_FONT_BOLD)&3; long j; h *= fact[0]/fact[s]; for(i=0;iGlyph(w, -h, 1, s+(font&MGL_FONT_WIRE)?4:0, j, col); } else j = 0;//Internal('!'); w+= width[s][j]/fact[s]; } } return ww; } //----------------------------------------------------------------------------- float mglFont::Width(const wchar_t *str,int font) const { if(numg==0 || !str || *str==0) return 0; float ww=0,w=0; size_t size = wcslen(str)+1,i; if(parse) { unsigned *wcs = new unsigned[size], *buf=wcs; memcpy(wcs,str,size*sizeof(wchar_t)); Convert(str, wcs); for(i=0;wcs[i];i++) if(wcs[i]=='\n') // parse '\n' symbol { wcs[i]=0; w = Puts(buf,0,0,1.,0x10|font,'k'); // find width buf=wcs+i+1; if(w>ww) ww=w; } w = Puts(buf,0,0,1.,0x10|font,'k'); if(wid[i]) i1=i+1; // i is bad else return i; } return j==id[i2] ? i2 : -1; } //----------------------------------------------------------------------------- /// Table of acents and its UTF8 codes MGL_NO_EXPORT mglTeXsymb mgl_act_symb[] = { {0x02c6, L"hat"}, {0x02dc, L"tilde"}, {0x02d9, L"dot"}, {0x00a8, L"ddot"}, {0x20db, L"dddot"}, {0x20dc, L"ddddot"}, {0x02ca, L"acute"}, {0x02c7, L"check"}, {0x02cb, L"grave"}, {0x20d7, L"vec"}, {0x02c9, L"bar"}, {0x02d8, L"breve"}, /*end*/{0, L"\0"}}; //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_tex_symb_cmp(const void *a, const void *b) { const mglTeXsymb *aa = (const mglTeXsymb *)a; const mglTeXsymb *bb = (const mglTeXsymb *)b; return wcscmp(aa->tex, bb->tex); } //----------------------------------------------------------------------------- // parse LaTeX commands (mostly symbols and acents, and some font-style commands) unsigned mglFont::Parse(const wchar_t *s) const { register long k; unsigned res = unsigned(-2); // Default is no symbol if(!s || !s[0]) return res; for(k=0;mgl_tex_symb[k].kod;k++); // determine the number of symbols mglTeXsymb tst, *rts; tst.tex = s; rts = (mglTeXsymb *) bsearch(&tst, mgl_tex_symb, k, sizeof(mglTeXsymb), mgl_tex_symb_cmp); if(rts) return rts->kod; // for(k=0;mgl_tex_symb[k].kod;k++) // special symbols // if(!wcscmp(s,mgl_tex_symb[k].tex)) // return mgl_tex_symb[k].kod; for(k=0;mgl_act_symb[k].kod;k++) // acents if(!wcscmp(s,mgl_act_symb[k].tex)) return mgl_act_symb[k].kod | MGL_FONT_ZEROW; // arbitrary UTF symbol if(s[0]=='u' && s[1]=='t' && s[2]=='f') // { wscanf(s+3,"%lx",&k); return wchar_t(k); } { k = wcstoul(s+3,NULL,16); return wchar_t(k); } // font/style changes for next symbol if(!wcscmp(s,L"big")) res = unsigned(-5); else if(!wcscmp(s,L"frac")) res = unsigned(-6); else if(!wcscmp(s,L"stack")) res = unsigned(-7); else if(!wcscmp(s,L"overset")) res = unsigned(-8); else if(!wcscmp(s,L"underset")) res = unsigned(-9); else if(!wcscmp(s,L"stackr")) res = unsigned(-10); else if(!wcscmp(s,L"stackl")) res = unsigned(-11); else if(!wcscmp(s,L"sub")) res = unsigned(-12); else if(!wcscmp(s,L"sup")) res = unsigned(-13); else if(!wcscmp(s,L"textsc")) res = unsigned(-14); // new else if(!wcscmp(s,L"b")) res = MGL_FONT_BOLD; else if(!wcscmp(s,L"i")) res = MGL_FONT_ITAL; else if(!wcscmp(s,L"bi")) res = MGL_FONT_BOLD|MGL_FONT_ITAL; else if(!wcscmp(s,L"r")) res = unsigned(-1); else if(!wcscmp(s,L"a")) res = MGL_FONT_OLINE; else if(!wcscmp(s,L"u")) res = MGL_FONT_ULINE; else if(!wcscmp(s,L"n")) res = '\n'; else if(!wcscmp(s,L"overline")) res = MGL_FONT_OLINE; else if(!wcscmp(s,L"underline"))res = MGL_FONT_ULINE; else if(!wcscmp(s,L"textbf")) res = MGL_FONT_BOLD; else if(!wcscmp(s,L"textit")) res = MGL_FONT_ITAL; else if(!wcscmp(s,L"textrm")) res = unsigned(-1); else if(!wcscmp(s,L"w")) res = MGL_FONT_WIRE; else if(!wcscmp(s,L"wire")) res = MGL_FONT_WIRE; else if(!wcsncmp(s,L"color",5)) res = MGL_COLOR_MASK + (0xff & s[5]); return res; } //----------------------------------------------------------------------------- void mglFont::Convert(const wchar_t *str, unsigned *res) const { register size_t r,i,j,k,i0; wchar_t s[128]=L"", ch; // TeX command and current char for(i=j=0;str[i];i++) { ch = str[i]; if(ch=='\\') // It can be TeX command { if(wcschr(L"{}_^\\@# ",str[i+1])) // No, it is usual symbol res[j++] = str[++i]; else // Yes, it is TeX command { i0=i+1; for(k=0;isalnum(str[++i]) && k<127;k++) s[k] = str[i]; s[k] = 0; r = Parse(s); if(r==unsigned(-2)) // command not found, so use next symbol itself { res[j++] = str[i0]; i = i0; } else if(r) { res[j++] = r; if(str[i]>' ') i--; if(str[i]==0) break; } } } else if(ch<=' ' && ch!='\n') res[j++] = ' '; // no \t at this moment :( else if(ch=='_') res[j++] = MGL_FONT_LOWER; else if(ch=='^') res[j++] = MGL_FONT_UPPER; else if(ch=='@') res[j++] = MGL_FONT_UPPER|MGL_FONT_LOWER; else if(ch=='{') res[j++] = unsigned(-3); else if(ch=='}') res[j++] = unsigned(-4); else if(ch=='#' && str[i+1]>' ') res[j++] = MGL_COLOR_MASK + (0xff & str[++i]); else res[j++] = ch; // It is just symbol } res[j] = 0; } //----------------------------------------------------------------------------- float mglFont::get_ptr(long &i,unsigned *str, unsigned **b1, unsigned **b2,float &w1,float &w2, float f1, float f2, int st) const { static unsigned s1[2]={0,0}, s2[2]={0,0}; register long k; i++; if(str[i]==unsigned(-3)) { i++; *b1 = str+i; for(k=1;k>0 && str[i];i++) { if(str[i]==unsigned(-4)) k--; if(str[i]==unsigned(-3)) k++; } str[i-1]=0; } else { s1[0] = str[i]; *b1 = s1; i++; } if(str[i]==unsigned(-3)) { i++; *b2 = str+i; for(k=1;k>0 && str[i];i++) { if(str[i]==unsigned(-4)) k--; if(str[i]==unsigned(-3)) k++; } str[i-1]=0; } else { s2[0] = str[i]; *b2 = s2; i++; } i--; w1 = Puts(*b1, 0, 0, f1, 0x10|st,'k'); w2 = Puts(*b2, 0, 0, f2, 0x10|st,'k'); return w1>w2 ? w1 : w2; } //----------------------------------------------------------------------------- void mglFont::draw_ouline(int st, float x, float y, float f, float g, float ww, float ccol) const { if(st&MGL_FONT_OLINE) gr->Glyph(x,y+499*f/g, ww*g, (st&MGL_FONT_WIRE)?12:8, 0, ccol); if(st&MGL_FONT_ULINE) gr->Glyph(x,y-200*f/g, ww*g, (st&MGL_FONT_WIRE)?12:8, 0, ccol); } //----------------------------------------------------------------------------- #define MGL_CLEAR_STYLE {st = style; yy = y; ff = f; ccol=col; a = (st/MGL_FONT_BOLD)&3;} float mglFont::Puts(const unsigned *text, float x,float y,float f,int style,float col) const { if(numg==0) return 0; register long j,k; long i; register unsigned s,ss; float w=0; // string width int st = style; // current style unsigned *b1, *b2; // pointer to substring unsigned *str; // string itself float yy=y, ff=f, ww, w1, w2; float ccol=col; int a = (st/MGL_FONT_BOLD)&3; for(i=0;text[i];i++); str = new unsigned[i+1]; memcpy(str,text,(i+1)*sizeof(unsigned)); for(i=0;str[i];i++) { s = str[i]; ww = 0; if(s==unsigned(-3)) // recursion call here { i++; b1 = str+i; for(k=1;k>0 && str[i];i++) { if(str[i]==unsigned(-4)) k--; if(str[i]==unsigned(-3)) k++; } str[i-1]=0; i--; ww = Puts(b1, x, yy, ff, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); if(gr && !(style&0x10)) // add under-/over- line now draw_ouline(st,x,y,f,fact[a],ww,ccol); MGL_CLEAR_STYLE } else if(s=='\n') // newline { ww = get_ptr(i, str, &b1, &b2, w1, w2, ff, ff, st); Puts(b1, x+(ww-w1)/2, yy, ff, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); Puts(b2, x+(ww-w2)/2, yy-600*ff/fact[a], ff, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); MGL_CLEAR_STYLE } else if(s==unsigned(-9)) // underset { ww = get_ptr(i, str, &b1, &b2, w1, w2, ff, ff/4, st); Puts(b1, x+(ww-w1)/2, yy, ff, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); Puts(b2, x+(ww-w2)/2, yy-150*ff/fact[a], ff/4, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); if(gr && !(style&0x10)) // add under-/over- line now draw_ouline(st,x,y,f,fact[a],ww,ccol); MGL_CLEAR_STYLE } else if(s==unsigned(-8)) // overset { ww = get_ptr(i, str, &b1, &b2, w1, w2, ff, ff/4, st); Puts(b1, x+(ww-w1)/2, yy, ff, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); Puts(b2, x+(ww-w2)/2, yy+375*ff/fact[a], ff/4, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); if(gr && !(style&0x10)) // add under-/over- line now draw_ouline(st,x,y,f,fact[a],ww,ccol); MGL_CLEAR_STYLE } else if(s==unsigned(-12)) // sub { ww = get_ptr(i, str, &b1, &b2, w1, w2, ff, ff/4, st); Puts(b1, x+(ww-w1)/2, yy, ff, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); Puts(b2, x+(ww-w2)/2, yy-250*ff/fact[a], ff/4, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); if(gr && !(style&0x10)) // add under-/over- line now draw_ouline(st,x,y,f,fact[a],ww,ccol); MGL_CLEAR_STYLE } else if(s==unsigned(-13)) // sup { ww = get_ptr(i, str, &b1, &b2, w1, w2, ff, ff/4, st); Puts(b1, x+(ww-w1)/2, yy, ff, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); Puts(b2, x+(ww-w2)/2, yy+450*ff/fact[a], ff/4, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); if(gr && !(style&0x10)) // add under-/over- line now draw_ouline(st,x,y,f,fact[a],ww,ccol); MGL_CLEAR_STYLE } else if(s==unsigned(-11)) // stackl { ww = get_ptr(i, str, &b1, &b2, w1, w2, ff*0.45, ff*0.45, st); Puts(b1, x, yy+250*ff/fact[a], ff*0.45, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); Puts(b2, x, yy-110*ff/fact[a], ff*0.45, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); if(gr && !(style&0x10)) // add under-/over- line now draw_ouline(st,x,y,f,fact[a],ww,ccol); MGL_CLEAR_STYLE } else if(s==unsigned(-10)) // stacr { ww = get_ptr(i, str, &b1, &b2, w1, w2, ff*0.45, ff*0.45, st); Puts(b1, x+(ww-w1), yy+250*ff/fact[a], ff*0.45, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); Puts(b2, x+(ww-w2), yy-110*ff/fact[a], ff*0.45, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); if(gr && !(style&0x10)) // add under-/over- line now draw_ouline(st,x,y,f,fact[a],ww,ccol); MGL_CLEAR_STYLE } else if(s==unsigned(-7)) // stack { ww = get_ptr(i, str, &b1, &b2, w1, w2, ff*0.45, ff*0.45, st); Puts(b1, x+(ww-w1)/2, yy+250*ff/fact[a], ff*0.45, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); Puts(b2, x+(ww-w2)/2, yy-110*ff/fact[a], ff*0.45, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); if(gr && !(style&0x10)) // add under-/over- line now draw_ouline(st,x,y,f,fact[a],ww,ccol); MGL_CLEAR_STYLE } else if(s==unsigned(-6)) // frac { ww = get_ptr(i, str, &b1, &b2, w1, w2, ff*0.45, ff*0.45, st); Puts(b1, x+(ww-w1)/2, yy+250*ff/fact[a], ff*0.45, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); Puts(b2, x+(ww-w2)/2, yy-110*ff/fact[a], ff*0.45, (st&(~MGL_FONT_OLINE)&(~MGL_FONT_ULINE)), ccol); if(gr && !(style&0x10)) // add under-/over- line now { draw_ouline(st,x,y,f,fact[a],ww,ccol); gr->Glyph(x,y+150*f/fact[a], ww*fact[a], (st&MGL_FONT_WIRE)?12:8, 0, ccol); } MGL_CLEAR_STYLE } else if(s==unsigned(-4)) MGL_CLEAR_STYLE // should be never here but if I miss sth ... else if(s==unsigned(-14)) // script symbols { k=1; if(str[i+1]==unsigned(-3)) for(j=i+2;k>0 && str[j];j++) { if(str[j]==unsigned(-3)) k++; if(str[j]==unsigned(-4)) k--; if(iswlower(str[j])) str[j] = MGL_FONT_UPPER|MGL_FONT_LOWER|towupper(str[j]); } } else if(s==unsigned(-5)) // large symbol ff *= 1.5; else if(s==unsigned(-1)) // set normal font st = style & MGL_FONT_ROMAN; else if((s&MGL_COLOR_MASK)==MGL_COLOR_MASK) // color specification ccol = -float(s & 0xff); else { ss = s&MGL_FONT_MASK; if(ss) // draw symbol (glyph) { if(ss>' ') { j = Internal(ss); if(j==-1) continue; if(s & MGL_FONT_ZEROW) yy += 100*ff/fact[a]; if(gr && !(style&0x10)) { if(st & MGL_FONT_WIRE) gr->Glyph(x,yy,ff,a+4,j,ccol); else gr->Glyph(x,yy,ff,a,j,ccol); } } else j = Internal('!'); ww = ff*width[a][j]/fact[a]; if(gr && !(style&0x10)) // add under-/over- line now draw_ouline(st,x,y,f,fact[a],ww,ccol); if(s & MGL_FONT_ZEROW) ww = 0; MGL_CLEAR_STYLE } // apply new styles if(s/MGL_FONT_BOLD) st = st | (s & MGL_FONT_STYLE); a = (st/MGL_FONT_BOLD)&3; ss = (s/MGL_FONT_UPPER)%4; if(ss) { if(ss==1) { ff *=0.6; yy += 200*ff/fact[a]; } // = 500*0.4 else if(ss==2) { ff *=0.6; yy -= 80*ff/fact[a]; } // = -500*0.16 else if(ss==3) { ff *=0.8; yy += 0*60*ff/fact[a]; } // = 500*0.12 } } x += ww; w += ww; } delete []str; return w; } //----------------------------------------------------------------------------- void mglFont::mem_alloc() { id = new wchar_t[numg]; width[0] = new short[numg]; width[1] = new short[numg]; width[2] = new short[numg]; width[3] = new short[numg]; tr[0] = new unsigned[numg]; numt[0] = new short[numg]; tr[1] = new unsigned[numg]; numt[1] = new short[numg]; tr[2] = new unsigned[numg]; numt[2] = new short[numg]; tr[3] = new unsigned[numg]; numt[3] = new short[numg]; ln[0] = new unsigned[numg]; numl[0] = new short[numg]; ln[1] = new unsigned[numg]; numl[1] = new short[numg]; ln[2] = new unsigned[numg]; numl[2] = new short[numg]; ln[3] = new unsigned[numg]; numl[3] = new short[numg]; } //----------------------------------------------------------------------------- // copy normal style as default for other styles void mglFont::main_copy() { memcpy(numl[1],numl[0],numg*sizeof(short)); memcpy(numl[2],numl[0],numg*sizeof(short)); memcpy(numl[3],numl[0],numg*sizeof(short)); memcpy(ln[1],ln[0],numg*sizeof(unsigned)); memcpy(ln[2],ln[0],numg*sizeof(unsigned)); memcpy(ln[3],ln[0],numg*sizeof(unsigned)); memcpy(numt[1],numt[0],numg*sizeof(short)); memcpy(numt[2],numt[0],numg*sizeof(short)); memcpy(numt[3],numt[0],numg*sizeof(short)); memcpy(tr[1],tr[0],numg*sizeof(unsigned)); memcpy(tr[2],tr[0],numg*sizeof(unsigned)); memcpy(tr[3],tr[0],numg*sizeof(unsigned)); memcpy(width[1],width[0],numg*sizeof(short)); memcpy(width[2],width[0],numg*sizeof(short)); memcpy(width[3],width[0],numg*sizeof(short)); } //----------------------------------------------------------------------------- bool mglFont::read_def(unsigned &cur) { numg = mgl_numg; cur = mgl_cur; // copy default factor for other font styles; fact[1] = fact[2] = fact[3] = fact[0] = mgl_fact*mgl_fgen; Buf = (short *)malloc(cur*sizeof(short)); // prealocate buffer memset(Buf,0,cur*sizeof(short)); // now allocate memory for all fonts mem_alloc(); // and load symbols itself register long i; for(i=0;i=0 && buf[i]!=sep;i--); path = buf; buf[i]=0; base = buf+i+1; } } Clear(); // first clear old snprintf(str,256,"%s%c%s.vfm",path,sep,base?base:""); if(!(base && *base) || !read_main(str,cur)) { // mglGlobalMess += "Load built-in font.\n"; read_def(cur); setlocale(LC_NUMERIC,oldLocale); if(buf) delete []buf; return true; } //================== bold =========================================== snprintf(str,256,"%s%c%s_b.vfm",path,sep,base); // this file may absent if(read_data(str, fact+1, width[1], numl[1], ln[1], numt[1], tr[1], cur)) { fact[3] = fact[1]; // copy default factor for bold-italic; // copy normal style as default for other styles memcpy(numl[3],numl[1],numg*sizeof(short)); memcpy(ln[3],ln[1],numg*sizeof(unsigned)); memcpy(numt[3],numt[1],numg*sizeof(short)); memcpy(tr[3],tr[1],numg*sizeof(unsigned)); memcpy(width[3],width[1],numg*sizeof(short)); } //================== italic ========================================= snprintf(str,256,"%s%c%s_i.vfm",path,sep,base); read_data(str, fact+2, width[2], numl[2], ln[2], numt[2], tr[2], cur); //================== bold-italic ==================================== snprintf(str,256,"%s%c%s_bi.vfm",path,sep,base); read_data(str, fact+3, width[3], numl[3], ln[3], numt[3], tr[3], cur); numb = cur; // Finally normalize all factors fact[0] *= mgl_fgen; fact[1] *= mgl_fgen; fact[2] *= mgl_fgen; fact[3] *= mgl_fgen; setlocale(LC_NUMERIC,oldLocale); if(buf) delete []buf; return true; } //----------------------------------------------------------------------------- mglFont::mglFont(const char *name, const char *path) { parse = true; numg=0; gr=0; // if(this==&mglDefFont) Load(name, path); else Copy(&mglDefFont); if(name && *name) Load(name, path); else if(this!=&mglDefFont) Copy(&mglDefFont); else Load(MGL_DEF_FONT_NAME,0); } mglFont::~mglFont() { Clear(); } void mglFont::Restore() { Copy(&mglDefFont); } //----------------------------------------------------------------------------- void mglFont::Clear() { // if(gr) gr->Clf(); if(numg) { delete []id; free(Buf); numg = 0; delete [](width[0]); delete [](width[1]); delete [](width[2]); delete [](width[3]); delete [](tr[0]); delete [](tr[1]); delete [](tr[2]); delete [](tr[3]); delete [](ln[0]); delete [](ln[1]); delete [](ln[2]); delete [](ln[3]); delete [](numt[0]); delete [](numt[1]); delete [](numt[2]); delete [](numt[3]); delete [](numl[0]); delete [](numl[1]); delete [](numl[2]); delete [](numl[3]); } } //----------------------------------------------------------------------------- void mglFont::Copy(mglFont *f) { if(!f || f==this) return; Clear(); numg = f->numg; numb = f->numb; mem_alloc(); // copy general data memcpy(id,f->id,numg*sizeof(wchar_t)); memcpy(width[0],f->width[0],numg*sizeof(short)); memcpy(width[1],f->width[1],numg*sizeof(short)); memcpy(width[2],f->width[2],numg*sizeof(short)); memcpy(width[3],f->width[3],numg*sizeof(short)); memcpy(tr[0],f->tr[0],numg*sizeof(unsigned)); memcpy(tr[1],f->tr[1],numg*sizeof(unsigned)); memcpy(tr[2],f->tr[2],numg*sizeof(unsigned)); memcpy(tr[3],f->tr[3],numg*sizeof(unsigned)); memcpy(numt[0],f->numt[0],numg*sizeof(short)); memcpy(numt[1],f->numt[1],numg*sizeof(short)); memcpy(numt[2],f->numt[2],numg*sizeof(short)); memcpy(numt[3],f->numt[3],numg*sizeof(short)); memcpy(ln[0],f->ln[0],numg*sizeof(unsigned)); memcpy(ln[1],f->ln[1],numg*sizeof(unsigned)); memcpy(ln[2],f->ln[2],numg*sizeof(unsigned)); memcpy(ln[3],f->ln[3],numg*sizeof(unsigned)); memcpy(numl[0],f->numl[0],numg*sizeof(short)); memcpy(numl[1],f->numl[1],numg*sizeof(short)); memcpy(numl[2],f->numl[2],numg*sizeof(short)); memcpy(numl[3],f->numl[3],numg*sizeof(short)); memcpy(fact,f->fact,4*sizeof(float)); // now copy symbols descriptions Buf = (short *)malloc(numb*sizeof(short)); memcpy(Buf, f->Buf, numb*sizeof(short)); } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/volume.cpp0000664000175000017500000007762212142400470015530 0ustar balakinbalakin/*************************************************************************** * surf.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/define.h" #include "mgl2/volume.h" #include "mgl2/data.h" #include "mgl2/eval.h" #include //----------------------------------------------------------------------------- // // CloudQ series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cloud_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) { if(!(gr->GetQuality()&3)) return; // do nothing in fast_draw long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); register long i0; bool both = mgl_isboth(x,y,z,a); if(mgl_check_dim3(gr,both,x,y,z,a,0,"Cloud")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Cloud",cgid++); long tx=1,ty=1,tz=1; if(gr->MeshNum>1) { tx=(n-1)/(gr->MeshNum-1); if(tx<1) tx=1; ty=(m-1)/(gr->MeshNum-1); if(ty<1) ty=1; tz=(l-1)/(gr->MeshNum-1); if(tz<1) tz=1; } mreal alpha = gr->AlphaDef; bool inv = mglchr(sch,'i'); bool dot = mglchr(sch,'.'); alpha /= pow(n/tx*m/ty*l/tz,1./3)/20; mreal aa,bb; if(alpha>1) alpha = 1; long ss = gr->AddTexture(sch); // x, y, z -- have the same size as a n /= tx; m /= ty; l /= tz; long *pos=new long[n*m*l]; gr->Reserve(n*m*l); mglPoint p,q=mglPoint(NAN); for(k=0;kStop) { delete []pos; return; } p = both ? mglPoint(x->v(i*tx,j*ty,k*tz),y->v(i*tx,j*ty,k*tz),z->v(i*tx,j*ty,k*tz)) : mglPoint(x->v(i*tx),y->v(j*ty),z->v(k*tz)); aa = gr->GetA(a->v(i*tx,j*ty,k*tz)); bb = inv ? (1-aa)*(1-aa)*alpha : aa*aa*alpha; pos[i+n*(j+m*k)] = gr->AddPnt(p,gr->GetC(ss,aa,false),q,bb); } if(dot) for(i=0;imark_plot(pos[i],'.'); else for(i=0;iStop) { delete []pos; return; } i0 = i+n*(j+m*k); if(iquad_plot(pos[i0],pos[i0+1],pos[i0+n],pos[i0+n+1]); if(iquad_plot(pos[i0],pos[i0+1],pos[i0+n*m],pos[i0+n*m+1]); if(kquad_plot(pos[i0],pos[i0+n],pos[i0+n*m],pos[i0+n+n*m]); } delete []pos; gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cloud(HMGL gr, HCDT a, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()),z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_cloud_xyz(gr,&x,&y,&z,a,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cloud_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cloud_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cloud_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cloud(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Surf3 series // //----------------------------------------------------------------------------- mglPoint MGL_NO_EXPORT mgl_normal_3d(HCDT a, mglPoint p, bool inv, long n,long m,long l) { register long i,j,k; register mreal x=p.x, y=p.y, z=p.z; mreal nx=0, ny=0, nz=0; i=long(x); j=long(y); k=long(z); i = idvx(i,j,k)*(1-x) + a->dvx(i+1,j,k)*x; ny = a->dvy(i,j,k)*(1-y) + a->dvy(i,j+1,k)*y; nz = a->dvz(i,j,k)*(1-z) + a->dvz(i,j,k+1)*z; return inv ? mglPoint(nx,ny,nz) : mglPoint(-nx,-ny,-nz); } //----------------------------------------------------------------------------- mreal MGL_NO_EXPORT mgl_normal_1d(HCDT a, mreal x, bool inv, long n) { register long i=long(x); x-=i; mreal nx = a->dvx(i); if(idvx(i+1)*x; return inv ? nx : -nx; } //----------------------------------------------------------------------------- mglPoint MGL_NO_EXPORT mgl_find_norm(bool both, HCDT x, HCDT y, HCDT z, HCDT a, mglPoint u, bool inv, long n,long m,long l) { mglPoint s = mgl_normal_3d(a,u,inv,n,m,l), t, q; if(both) { t = mgl_normal_3d(x,u,true,n,m,l); q.x = (s*t)/(t*t); t = mgl_normal_3d(y,u,true,n,m,l); q.y = (s*t)/(t*t); t = mgl_normal_3d(z,u,true,n,m,l); q.z = (s*t)/(t*t); } else { q.x = s.x/mgl_normal_1d(x,u.x,true,n); q.y = s.y/mgl_normal_1d(y,u.y,true,m); q.z = s.z/mgl_normal_1d(z,u.z,true,l); } return q; } //----------------------------------------------------------------------------- inline mreal MGL_NO_EXPORT mgl_cos_pp(const mglPoint *kk,long i0,long i1,long i2) { mglPoint dp1 = kk[i1]-kk[i0], dp2 = kk[i2]-kk[i0]; mreal p1=dp1*dp1,p2=dp2*dp2,pc=dp1*dp2; return p1*p2>1e-10 ? pc/sqrt(p1*p2) : NAN; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3_plot(HMGL gr, long n,long m,long *kx1,long *kx2,long *ky1,long *ky2, long *kz, std::vector kk, int wire) { register long i,j,k,i0,ii,jj; long id[12],us[12],pd[12],ni; mglPoint pp[12]; mreal d,d0; for(i=0;iStop) return; i0 = i+n*j; // find ID of points of Surf3 intersection with cell i0 memset(id,-1,12*sizeof(long)); ni = 0; if(kx1[i0]>=0) id[ni++] = kx1[i0]; if(ky1[i0]>=0) id[ni++] = ky1[i0]; if(kx1[i0+n]>=0) id[ni++] = kx1[i0+n]; if(ky1[i0+1]>=0) id[ni++] = ky1[i0+1]; if(kz[i0]>=0) id[ni++] = kz[i0]; if(kz[i0+1]>=0) id[ni++] = kz[i0+1]; if(kz[i0+n+1]>=0) id[ni++] = kz[i0+n+1]; if(kz[i0+n]>=0) id[ni++] = kz[i0+n]; if(kx2[i0]>=0) id[ni++] = kx2[i0]; if(ky2[i0]>=0) id[ni++] = ky2[i0]; if(kx2[i0+n]>=0) id[ni++] = kx2[i0+n]; if(ky2[i0+1]>=0) id[ni++] = ky2[i0+1]; if(ni<3) continue; for(jj=0;jj1e-5) jj++; else { ni--; for(ii=jj;iid0) { d0=d; i0=ii; } } if(i0<0) break; // no more triangles. NOTE: should be never here jj = i0; us[jj]=1; p3 = pd[jj]; if(wire==1) { gr->line_plot(p1, p2); gr->line_plot(p1, p3); gr->line_plot(p2, p3); } else if(wire==2) { gr->mark_plot(p1, '.'); gr->mark_plot(p2, '.'); gr->mark_plot(p3, '.'); } else gr->trig_plot(p1, p2, p3); p2 = p3; } } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3_xyz_val(HMGL gr, double val, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) { long i,j,k,i1,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); long *kx1,*kx2,*ky1,*ky2,*kz; bool both = mgl_isboth(x,y,z,a); int wire = mglchr(sch,'#')?1:0; if(mglchr(sch,'.')) wire = 2; mreal d; if(mgl_check_dim3(gr,both,x,y,z,a,0,"Surf3")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Surf3",cgid++); bool inv = (mglchr(sch,'-')); long ss = gr->AddTexture(sch), pos; kx1 = new long[n*m]; kx2 = new long[n*m]; ky1 = new long[n*m]; ky2 = new long[n*m]; kz = new long[n*m]; mreal c=gr->GetC(ss,val); std::vector kk; kk.reserve(n*m*l); mglPoint p,q,u, p0; mreal a0; for(k=0;kReserve(n*m); gr->Reserve(n*m); for(j=0;jStop) { delete []kx1; delete []kx2; delete []ky1; delete []ky2; delete []kz; return; } i1 = i+n*j; a0 = a->v(i,j,k); p0 = both?mglPoint(x->v(i,j,k), y->v(i,j,k), z->v(i,j,k)) : mglPoint(x->v(i), y->v(j), z->v(k)); if(iv(i+1,j,k)); if(d>=0 && d<1) { if(both) p = mglPoint(p0.x*(1-d)+x->v(i+1,j,k)*d, p0.y*(1-d)+y->v(i+1,j,k)*d, p0.z*(1-d)+z->v(i+1,j,k)*d); else p = mglPoint(p0.x*(1-d)+x->v(i+1)*d, p0.y, p0.z); u = mglPoint(i+d,j,k); q = mgl_find_norm(both, x,y,z,a, u, inv,n,m,l); pos = gr->AddPnt(p,c,q); u.c=pos; if(pos<0) continue; kk.push_back(u); kx2[i1] = kk.size()-1; } } if(jv(i,j+1,k)); if(d>=0 && d<1) { if(both) p = mglPoint(p0.x*(1-d)+x->v(i,j+1,k)*d, p0.y*(1-d)+y->v(i,j+1,k)*d, p0.z*(1-d)+z->v(i,j+1,k)*d); else p = mglPoint(p0.x, p0.y*(1-d)+y->v(j+1)*d, p0.z); u = mglPoint(i,j+d,k); q = mgl_find_norm(both, x,y,z,a, u, inv,n,m,l); pos = gr->AddPnt(p,c,q); u.c=pos; if(pos<0) continue; kk.push_back(u); ky2[i1] = kk.size()-1; } } if(k>0) { d = mgl_d(val,a->v(i,j,k-1),a0); if(d>=0 && d<1) { if(both) p = mglPoint(x->v(i,j,k-1)*(1-d)+p0.x*d, y->v(i,j,k-1)*(1-d)+p0.y*d, z->v(i,j,k-1)*(1-d)+p0.z*d); else p = mglPoint(p0.x, p0.y, z->v(k-1)*(1-d)+p0.z*d); u = mglPoint(i,j,k+d-1); q = mgl_find_norm(both, x,y,z,a, u, inv,n,m,l); pos = gr->AddPnt(p,c,q); u.c=pos; if(pos<0) continue; kk.push_back(u); kz[i1] = kk.size()-1; } } } if(k>0) mgl_surf3_plot(gr,n,m,kx1,kx2,ky1,ky2,kz,kk,wire); } gr->EndGroup(); delete []kx1; delete []kx2; delete []ky1; delete []ky2; delete []kz; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3_val(HMGL gr, double val, HCDT a, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()), z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_surf3_xyz_val(gr,val,&x,&y,&z,a,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long num = mgl_isnan(r)?3:long(r+0.5); for(long i=0;iMax.c + (gr->Min.c-gr->Max.c)*(i+1.)/(num+1); mgl_surf3_xyz_val(gr,v,x,y,z,a,sch,0); } gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3(HMGL gr, HCDT a, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()), z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_surf3_xyz(gr,&x,&y,&z,a,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3_xyz_val_(uintptr_t *gr, mreal *Val, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3_xyz_val(_GR_, *Val, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3_val_(uintptr_t *gr, mreal *Val, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3_val(_GR_, *Val, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3_(uintptr_t *gr, uintptr_t *a, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3(_GR_, _DA_(a), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Surf3A series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3a_xyz_val(HMGL gr, double val, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *sch, const char *opt) { long i,j,k,i1,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); long *kx1,*kx2,*ky1,*ky2,*kz; bool both = mgl_isboth(x,y,z,a); int wire = mglchr(sch,'#')?1:0; if(mglchr(sch,'.')) wire = 2; mreal d; if(mgl_check_dim3(gr,both,x,y,z,a,b,"Surf3A")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Surf3A",cgid++); bool inv = (mglchr(sch,'-')); long ss = gr->AddTexture(sch), pos; kx1 = new long[n*m]; kx2 = new long[n*m]; ky1 = new long[n*m]; ky2 = new long[n*m]; kz = new long[n*m]; mreal c=gr->GetC(ss,val),aa; std::vector kk; kk.reserve(n*m*l); mglPoint p,q,u, p0; mreal a0,b0; for(k=0;kReserve(n*m); gr->Reserve(n*m); for(j=0;jStop) { delete []kx1; delete []kx2; delete []ky1; delete []ky2; delete []kz; return; } i1 = i+n*j; a0 = a->v(i,j,k); b0 = b->v(i,j,k); p0 = both?mglPoint(x->v(i,j,k), y->v(i,j,k), z->v(i,j,k)) : mglPoint(x->v(i), y->v(j), z->v(k)); if(iv(i+1,j,k)); if(d>=0 && d<1) { if(both) p = mglPoint(p0.x*(1-d)+x->v(i+1,j,k)*d, p0.y*(1-d)+y->v(i+1,j,k)*d, p0.z*(1-d)+z->v(i+1,j,k)*d); else p = mglPoint(p0.x*(1-d)+x->v(i+1)*d, p0.y, p0.z); aa = gr->GetA(b0*(1-d)+b->v(i+1,j,k)*d); u = mglPoint(i+d,j,k); q = mgl_find_norm(both, x,y,z,a, u, inv,n,m,l); pos = gr->AddPnt(p,c,q,aa); u.c=pos; if(pos<0) continue; kk.push_back(u); kx2[i1] = kk.size()-1; } } if(jv(i,j+1,k)); if(d>=0 && d<1) { if(both) p = mglPoint(p0.x*(1-d)+x->v(i,j+1,k)*d, p0.y*(1-d)+y->v(i,j+1,k)*d, p0.z*(1-d)+z->v(i,j+1,k)*d); else p = mglPoint(p0.x, p0.y*(1-d)+y->v(j+1)*d, p0.z); aa = gr->GetA(b0*(1-d)+b->v(i,j+1,k)*d); u = mglPoint(i,j+d,k); q = mgl_find_norm(both, x,y,z,a, u, inv,n,m,l); pos = gr->AddPnt(p,c,q,aa); u.c=pos; if(pos<0) continue; kk.push_back(u); ky2[i1] = kk.size()-1; } } if(k>0) { d = mgl_d(val,a->v(i,j,k-1),a0); if(d>=0 && d<1) { if(both) p = mglPoint(x->v(i,j,k-1)*(1-d)+p0.x*d, y->v(i,j,k-1)*(1-d)+p0.y*d, z->v(i,j,k-1)*(1-d)+p0.z*d); else p = mglPoint(p0.x, p0.y, z->v(k-1)*(1-d)+p0.z*d); aa = gr->GetA(b->v(i,j,k-1)*(1-d)+b0*d); u = mglPoint(i,j,k+d-1); q = mgl_find_norm(both, x,y,z,a, u, inv,n,m,l); pos = gr->AddPnt(p,c,q,aa); u.c=pos; if(pos<0) continue; kk.push_back(u); kz[i1] = kk.size()-1; } } } if(k>0) mgl_surf3_plot(gr,n,m,kx1,kx2,ky1,ky2,kz,kk,wire); } gr->EndGroup(); delete []kx1; delete []kx2; delete []ky1; delete []ky2; delete []kz; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3a_val(HMGL gr, double val, HCDT a, HCDT b, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()),z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_surf3a_xyz_val(gr,val,&x,&y,&z,a,b,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3a_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long num = mgl_isnan(r)?3:long(r+0.5); if(b->GetNx()==num && b->GetNy()==1 && b->GetNz()==1) { mreal v,a0=gr->AlphaDef; for(long i=0;iMax.c + (gr->Min.c-gr->Max.c)*(i+1.)/(num+1); gr->AlphaDef = gr->GetA(b->v(i)); mgl_surf3_xyz_val(gr,v,x,y,z,a,sch,0); } gr->AlphaDef = a0; } else for(long i=0;iMax.c + (gr->Min.c-gr->Max.c)*(i+1.)/(num+1); mgl_surf3a_xyz_val(gr,v,x,y,z,a,b,sch,0); } gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3a(HMGL gr, HCDT a, HCDT b, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()),z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_surf3a_xyz(gr,&x,&y,&z,a,b,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3a_xyz_val_(uintptr_t *gr, mreal *Val, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3a_xyz_val(_GR_, *Val, _DA_(x), _DA_(y), _DA_(z), _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3a_val_(uintptr_t *gr, mreal *Val, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3a_val(_GR_, *Val, _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3a_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3a_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3a_(uintptr_t *gr, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3a(_GR_, _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Surf3C series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3c_xyz_val(HMGL gr, double val, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *sch, const char *opt) { long i,j,k,i1,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); long *kx1,*kx2,*ky1,*ky2,*kz; bool both = mgl_isboth(x,y,z,a); int wire = mglchr(sch,'#')?1:0; if(mglchr(sch,'.')) wire = 2; mreal d; if(mgl_check_dim3(gr,both,x,y,z,a,b,"Surf3C")) return; gr->SaveState(opt); static int cgid=1; gr->StartGroup("Surf3C",cgid++); bool inv = (mglchr(sch,'-')); long ss = gr->AddTexture(sch), pos; kx1 = new long[n*m]; kx2 = new long[n*m]; ky1 = new long[n*m]; ky2 = new long[n*m]; kz = new long[n*m]; mreal c; std::vector kk; kk.reserve(n*m*l); mglPoint p,q,u, p0; mreal a0,b0; for(k=0;kReserve(n*m); gr->Reserve(n*m); for(j=0;jStop) { delete []kx1; delete []kx2; delete []ky1; delete []ky2; delete []kz; return; } i1 = i+n*j; a0 = a->v(i,j,k); b0 = b->v(i,j,k); p0 = both?mglPoint(x->v(i,j,k), y->v(i,j,k), z->v(i,j,k)) : mglPoint(x->v(i), y->v(j), z->v(k)); if(iv(i+1,j,k)); if(d>=0 && d<1) { if(both) p = mglPoint(p0.x*(1-d)+x->v(i+1,j,k)*d, p0.y*(1-d)+y->v(i+1,j,k)*d, p0.z*(1-d)+z->v(i+1,j,k)*d); else p = mglPoint(p0.x*(1-d)+x->v(i+1)*d, p0.y, p0.z); c = gr->GetC(ss,b0*(1-d)+b->v(i+1,j,k)*d); u = mglPoint(i+d,j,k); q = mgl_find_norm(both, x,y,z,a, u, inv,n,m,l); pos = gr->AddPnt(p,c,q); u.c=pos; if(pos<0) continue; kk.push_back(u); kx2[i1] = kk.size()-1; } } if(jv(i,j+1,k)); if(d>=0 && d<1) { if(both) p = mglPoint(p0.x*(1-d)+x->v(i,j+1,k)*d, p0.y*(1-d)+y->v(i,j+1,k)*d, p0.z*(1-d)+z->v(i,j+1,k)*d); else p = mglPoint(p0.x, p0.y*(1-d)+y->v(j+1)*d, p0.z); c = gr->GetC(ss,b0*(1-d)+b->v(i,j+1,k)*d); u = mglPoint(i,j+d,k); q = mgl_find_norm(both, x,y,z,a, u, inv,n,m,l); pos = gr->AddPnt(p,c,q); u.c=pos; if(pos<0) continue; kk.push_back(u); ky2[i1] = kk.size()-1; } } if(k>0) { d = mgl_d(val,a->v(i,j,k-1),a0); if(d>=0 && d<1) { if(both) p = mglPoint(x->v(i,j,k-1)*(1-d)+p0.x*d, y->v(i,j,k-1)*(1-d)+p0.y*d, z->v(i,j,k-1)*(1-d)+p0.z*d); else p = mglPoint(p0.x, p0.y, z->v(k-1)*(1-d)+p0.z*d); c = gr->GetC(ss,b->v(i,j,k-1)*(1-d)+b0*d); u = mglPoint(i,j,k+d-1); q = mgl_find_norm(both, x,y,z,a, u, inv,n,m,l); pos = gr->AddPnt(p,c,q); u.c=pos; if(pos<0) continue; kk.push_back(u); kz[i1] = kk.size()-1; } } } if(k>0) mgl_surf3_plot(gr,n,m,kx1,kx2,ky1,ky2,kz,kk,wire); } gr->EndGroup(); delete []kx1; delete []kx2; delete []ky1; delete []ky2; delete []kz; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3c_val(HMGL gr, double val, HCDT a, HCDT b, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()),z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_surf3c_xyz_val(gr,val,&x,&y,&z,a,b,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3c_xyz(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *sch, const char *opt) { mreal r = gr->SaveState(opt); long num = mgl_isnan(r)?3:long(r+0.5); for(long i=0;iMax.c + (gr->Min.c-gr->Max.c)*(i+1.)/(num+1); mgl_surf3c_xyz_val(gr,v,x,y,z,a,b,sch,0); } gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3c(HMGL gr, HCDT a, HCDT b, const char *sch, const char *opt) { gr->SaveState(opt); mglData x(a->GetNx()), y(a->GetNy()),z(a->GetNz()); x.Fill(gr->Min.x,gr->Max.x); y.Fill(gr->Min.y,gr->Max.y); z.Fill(gr->Min.z,gr->Max.z); mgl_surf3c_xyz(gr,&x,&y,&z,a,b,sch,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3c_xyz_val_(uintptr_t *gr, mreal *Val, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3c_xyz_val(_GR_, *Val, _DA_(x), _DA_(y), _DA_(z), _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3c_val_(uintptr_t *gr, mreal *Val, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3c_val(_GR_, *Val, _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3c_xyz_(uintptr_t *gr, uintptr_t *x, uintptr_t *y, uintptr_t *z, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3c_xyz(_GR_, _DA_(x), _DA_(y), _DA_(z), _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_surf3c_(uintptr_t *gr, uintptr_t *a, uintptr_t *b, const char *sch, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_surf3c(_GR_, _DA_(a), _DA_(b), s, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // Beam series // //----------------------------------------------------------------------------- // flag & 0x1 -- accompanied coordinates // flag & 0x2 -- project to r*z // flag & 0x4 -- normalize field void MGL_NO_EXPORT mgl_beam_md(HMGL gr, double val, const mglData *tr, const mglData *g1, const mglData *g2, const mglData *a, double r, const char *stl, int flag) { long n = a->nz,m=a->nx,l=a->ny; if(n<2 || m<2 || l<2) { gr->SetWarn(mglWarnLow,"Beam"); return; } if(a->Minimal()<0) { gr->SetWarn(mglWarnNeg,"Beam"); return; } if(tr->nx<3 || tr->nynx<3 || g1->nynx<3 || g2->nySetWarn(mglWarnDim,"Beam"); return; } mglData x(a),y(a),z(a),b(a); register long i,j,k,i0; mreal asum=1, asum0=1, amax, aa; r = fabs(r); if(flag & 4) for(j=0;ja[j]*a->a[j]; if(asum0==0) { gr->SetWarn(mglWarnZero,"Beam"); return; } for(i=0;ia[j+m*l*i]; asum += aa*aa; amax = amax>aa ? amax : aa; } if(amax==0) { asum=0; amax=1; } for(j=0;jStop) return; i0 = j+m*(k+l*i); if(flag & 1) { x.a[i0] = 2*j/(m-1.)-1; y.a[i0] = 2*k/(l-1.)-1; z.a[i0] = gr->Max.z*i/(n-1.); } else { x.a[i0] = tr->a[3*i] + g1->a[3*i]*(2*j/(m-1.)-1)*r + g2->a[3*i]*(2*k/(l-1.)-1)*r; y.a[i0] = tr->a[3*i+1] + g1->a[3*i+1]*(2*j/(m-1.)-1)*r + g2->a[3*i+1]*(2*k/(l-1.)-1)*r; z.a[i0] = tr->a[3*i+2] + g1->a[3*i+2]*(2*j/(m-1.)-1)*r + g2->a[3*i+2]*(2*k/(l-1.)-1)*r; } if(flag & 2) x.a[i0] = hypot(x.a[i0],y.a[i0]); } } mgl_surf3_xyz_val(gr,val,&x,&y,&z,&b,stl,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_beam_val(HMGL gr, double val, HCDT tr, HCDT g1, HCDT g2, HCDT a, double r, const char *stl, int flag) { const mglData *dtr=dynamic_cast(tr); const mglData *dg2=dynamic_cast(g1); const mglData *dg1=dynamic_cast(g2); const mglData *da=dynamic_cast(a); if(dtr&&dg1&&dg2&&da) { mgl_beam_md(gr,val,dtr,dg1,dg2,da,r,stl,flag); return; } long n = a->GetNz(),m=a->GetNx(),l=a->GetNy(); if(n<2 || m<2 || l<2) { gr->SetWarn(mglWarnLow,"Beam"); return; } if(a->Minimal()<0) { gr->SetWarn(mglWarnNeg,"Beam"); return; } if(tr->GetNx()<3 || tr->GetNy()GetNx()<3 || g1->GetNy()GetNx()<3 || g2->GetNy()SetWarn(mglWarnDim,"Beam"); return; } mglData x(a),y(a),z(a),b(a); register long i,j,k,i0; mreal asum=1, asum0=1, amax, aa; r = fabs(r); if(flag & 4) for(j=0;jvthr(j)*a->vthr(j); if(asum0==0) { gr->SetWarn(mglWarnZero,"Beam"); return; } for(i=0;ivthr(j+m*l*i); asum += aa*aa; amax = amax>aa ? amax : aa; } if(amax==0) { asum=0; amax=1; } for(j=0;jStop) return; i0 = j+m*(k+l*i); if(flag & 1) { x.a[i0] = 2*j/(m-1.)-1; y.a[i0] = 2*k/(l-1.)-1; z.a[i0] = gr->Max.z*i/(n-1.); } else { x.a[i0] = tr->v(0,i) + g1->v(0,i)*(2*j/(m-1.)-1)*r + g2->v(0,i)*(2*k/(l-1.)-1)*r; y.a[i0] = tr->v(1,i) + g1->v(1,i)*(2*j/(m-1.)-1)*r + g2->v(1,i)*(2*k/(l-1.)-1)*r; z.a[i0] = tr->v(2,i) + g1->v(2,i)*(2*j/(m-1.)-1)*r + g2->v(2,i)*(2*k/(l-1.)-1)*r; } if(flag & 2) x.a[i0] = hypot(x.a[i0],y.a[i0]); } } mgl_surf3_xyz_val(gr,val,&x,&y,&z,&b,stl,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_beam(HMGL gr, HCDT tr, HCDT g1, HCDT g2, HCDT a, double r, const char *stl, int flag, int num) { num = num<=0 ? 1 : num; for(long i=0;iMax.c + (gr->Min.c-gr->Max.c)*(i+1.)/(num+1); mgl_beam_val(gr,v,tr,g1,g2,a,r,stl,flag); } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_beam_val_(uintptr_t *gr, mreal *val, uintptr_t *tr, uintptr_t *g1, uintptr_t *g2, uintptr_t *a, mreal *r, const char *sch, int *norm,int l) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; mgl_beam_val(_GR_, *val,_DA_(tr),_DA_(g1),_DA_(g2),_DA_(a),*r,s,*norm); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_beam_(uintptr_t *gr, uintptr_t *tr, uintptr_t *g1, uintptr_t *g2, uintptr_t *a, mreal *r, const char *sch, int *norm, int *num,int l) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; mgl_beam(_GR_, _DA_(tr), _DA_(g1), _DA_(g2), _DA_(a), *r,s,*norm,*num); delete []s; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/complex.cpp0000664000175000017500000006360112142400470015660 0ustar balakinbalakin/*************************************************************************** * complex.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/datac.h" #include "mgl2/evalc.h" //----------------------------------------------------------------------------- void MGL_EXPORT mglStartThreadC(void *(*func)(void *), void (*post)(mglThreadC *,dual *), long n, dual *a, const dual *b, const dual *c, const long *p, const void *v, const dual *d, const dual *e, const char *s) { if(!func) return; #if MGL_HAVE_PTHREAD if(mglNumThr<1) mgl_set_num_thr(0); if(mglNumThr>1) { pthread_t *tmp=new pthread_t[mglNumThr]; mglThreadC *par=new mglThreadC[mglNumThr]; register long i; for(i=0;i1) { pthread_t *tmp=new pthread_t[mglNumThr]; mglThreadV *par=new mglThreadV[mglNumThr]; register long i; for(i=0;ip[0]; dual *b=t->a, y5,y3,x2y; const dual *a=t->b; for(i=t->id;in;i+=mglNumThr) { j = i%nx; d3 = d5 = 0; if(j==0) { d3 = 1; d5 = 2; } if(j==1) { d5 = 1; } if(j==nx-1) { d3 = -1; d5 = -2;} if(j==nx-2) { d5 = -1;} y3 = (a[i+d3-1] + a[i+d3] + a[i+d3+1]); y5 = (a[i+d5-2] + a[i+d5-1] + a[i+d5] + a[i+d5+1] + a[i+d5+2]); x2y= (a[i+d5+1] + mgl4*a[i+d5+2] + mgl4*a[i+d5-2] + a[i+d5-1]); j = t->p[2]; if(d3) b[i] = a[i]; else if(j==SMOOTH_LINE_3 || d5) b[i] = y3/mgl3; else if(j==SMOOTH_LINE_5) b[i] = y5/mreal(5); else if(j==SMOOTH_QUAD_5) b[i] = (mreal(17)*y5-mreal(5)*x2y)/mreal(35); } return 0; } MGL_NO_EXPORT void *mgl_csmth_y(void *par) { mglThreadC *t=(mglThreadC *)par; register long i,j,d3,d5, nx=t->p[0],ny=t->p[1]; dual *b=t->a, y5,y3,x2y; const dual *a=t->b; for(i=t->id;in;i+=mglNumThr) { j = (i/nx)%ny; d3 = d5 = 0; if(j==0) { d3 = 1; d5 = 2; } if(j==1) { d5 = 1; } if(j==ny-1) { d3 = -1; d5 = -2;} if(j==ny-2) { d5 = -1;} y3 = (a[i+nx*(d3-1)] + a[i+nx*d3] + a[i+nx*(d3+1)]); y5 = (a[i+nx*(d5-2)] + a[i+nx*(d5-1)] + a[i+nx*d5] + a[i+nx*(d5+1)] + a[i+nx*(d5+2)]); x2y= (a[i+nx*(d5+1)] + mgl4*a[i+nx*(d5+2)] + mgl4*a[i+nx*(d5-2)] + a[i+nx*(d5-1)]); j = t->p[2]; if(d3) b[i] = a[i]; else if(j==SMOOTH_LINE_3 || d5) b[i] = y3/mgl3; else if(j==SMOOTH_LINE_5) b[i] = y5/mreal(5); else if(j==SMOOTH_QUAD_5) b[i] = (mreal(17)*y5-mreal(5)*x2y)/mreal(35); } return 0; } MGL_NO_EXPORT void *mgl_csmth_z(void *par) { mglThreadC *t=(mglThreadC *)par; register long i,j,d3,d5, nn=t->p[0]*t->p[1], nz=t->n/nn; dual *b=t->a, y5,y3,x2y; const dual *a=t->b; for(i=t->id;in;i+=mglNumThr) { j = i/nn; d3 = d5 = 0; if(j==0) { d3 = 1; d5 = 2; } if(j==1) { d5 = 1; } if(j==nz-1) { d3 = -1; d5 = -2;} if(j==nz-2) { d5 = -1;} y3 = (a[i+nn*(d3-1)] + a[i+nn*d3] + a[i+nn*(d3+1)]); y5 = (a[i+nn*(d5-2)] + a[i+nn*(d5-1)] + a[i+nn*d5] + a[i+nn*(d5+1)] + a[i+nn*(d5+2)]); x2y= (a[i+nn*(d5+1)] + mgl4*a[i+nn*(d5+2)] + mgl4*a[i+nn*(d5-2)] + a[i+nn*(d5-1)]); j = t->p[2]; if(d3) b[i] = a[i]; else if(j==SMOOTH_LINE_3 || d5) b[i] = y3/mgl3; else if(j==SMOOTH_LINE_5) b[i] = y5/mreal(5); else if(j==SMOOTH_QUAD_5) b[i] = (mreal(17)*y5-mreal(5)*x2y)/mreal(35); } return 0; } void MGL_EXPORT mgl_datac_smooth(HADT d, const char *dirs, mreal ) { long Type = SMOOTH_QUAD_5; if(!dirs || *dirs==0) dirs = "xyz"; if(strchr(dirs,'0') || strchr(dirs,'1')) return; if(strchr(dirs,'3')) Type = SMOOTH_LINE_3; if(strchr(dirs,'5')) Type = SMOOTH_LINE_5; long nx=d->nx,ny=d->ny,nz=d->nz; // if(Type == SMOOTH_NONE) return; long p[3]={nx,ny,Type}; dual *b = new dual[nx*ny*nz]; // ����������� �� x memset(b,0,nx*ny*nz*sizeof(dual)); if(nx>4 && strchr(dirs,'x')) { mglStartThreadC(mgl_csmth_x,0,nx*ny*nz,b,d->a,0,p); memcpy(d->a,b,nx*ny*nz*sizeof(dual)); memset(b,0,nx*ny*nz*sizeof(dual)); } if(ny>4 && strchr(dirs,'y')) { mglStartThreadC(mgl_csmth_y,0,nx*ny*nz,b,d->a,0,p); memcpy(d->a,b,nx*ny*nz*sizeof(dual)); memset(b,0,nx*ny*nz*sizeof(dual)); } if(nz>4 && strchr(dirs,'z')) { mglStartThreadC(mgl_csmth_z,0,nx*ny*nz,b,d->a,0,p); memcpy(d->a,b,nx*ny*nz*sizeof(dual)); } delete []b; } void MGL_EXPORT mgl_datac_smooth_(uintptr_t *d, const char *dir, mreal *delta,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_datac_smooth(_DC_,s,*delta); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_ccsum_z(void *par) { mglThreadC *t=(mglThreadC *)par; register long i,j, nz=t->p[2], nn=t->n; dual *b=t->a; const dual *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; dual *b=t->a; const dual *a=t->b; for(i=t->id;ip[0], nn=t->n; dual *b=t->a; const dual *a=t->b; for(i=t->id;inx,ny=d->ny,nz=d->nz,nn=nx*ny*nz; long p[3]={nx,ny,nz}; dual *b = new dual[nn]; memcpy(b,d->a,nn*sizeof(dual)); if(strchr(dir,'z') && nz>1) { mglStartThreadC(mgl_ccsum_z,0,nx*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } if(strchr(dir,'y') && ny>1) { mglStartThreadC(mgl_ccsum_y,0,nx*nz,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } if(strchr(dir,'x') && nx>1) { mglStartThreadC(mgl_ccsum_x,0,nz*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } delete []b; } void MGL_EXPORT mgl_datac_cumsum_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_datac_cumsum(_DC_,s); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_cint_z(void *par) { mglThreadC *t=(mglThreadC *)par; register long i,j, nz=t->p[2], nn=t->n; dual *b=t->a, dd=0.5/nz; const dual *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; dual *b=t->a, dd=0.5/ny; const dual *a=t->b; for(i=t->id;ip[0], nn=t->n; dual *b=t->a, dd=0.5/nx; const dual *a=t->b; for(i=t->id;inx,ny=d->ny,nz=d->nz,nn=nx*ny*nz; long p[3]={nx,ny,nz}; dual *b = new dual[nn]; memcpy(b,d->a,nn*sizeof(dual)); if(strchr(dir,'z') && nz>1) { mglStartThreadC(mgl_cint_z,0,nx*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } if(strchr(dir,'y') && ny>1) { mglStartThreadC(mgl_cint_y,0,nx*nz,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } if(strchr(dir,'x') && nx>1) { mglStartThreadC(mgl_cint_x,0,nz*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } delete []b; } void MGL_EXPORT mgl_datac_integral_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_datac_integral(_DC_,s); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_cdif_z(void *par) { mglThreadC *t=(mglThreadC *)par; register long i,j, nz=t->p[2], nn=t->n; dual *b=t->a, dd=0.5*nz; const dual *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; dual *b=t->a, dd=0.5*ny; const dual *a=t->b; for(i=t->id;ip[0], nn=t->n; dual *b=t->a, dd=0.5*nx; const dual *a=t->b; for(i=t->id;inx,ny=d->ny,nz=d->nz,nn=nx*ny*nz; long p[3]={nx,ny,nz}; dual *b = new dual[nn]; if(strchr(dir,'z') && nz>1) { mglStartThreadC(mgl_cdif_z,0,nx*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } if(strchr(dir,'y') && ny>1) { mglStartThreadC(mgl_cdif_y,0,nx*nz,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } if(strchr(dir,'x') && nx>1) { mglStartThreadC(mgl_cdif_x,0,nz*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } delete []b; } void MGL_EXPORT mgl_datac_diff_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_datac_diff(_DC_,s); delete []s; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_cdif2_z(void *par) { mglThreadC *t=(mglThreadC *)par; register long i,j, nz=t->p[2], nn=t->n; dual *b=t->a, dd=0.5*nz*nz; const dual *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; dual *b=t->a, dd=0.5*ny*ny; const dual *a=t->b; for(i=t->id;ip[0], nn=t->n; dual *b=t->a, dd=0.5*nx*nx; const dual *a=t->b; for(i=t->id;inx,ny=d->ny,nz=d->nz,nn=nx*ny*nz; long p[3]={nx,ny,nz}; dual *b = new dual[nn]; if(strchr(dir,'z') && nz>1) { mglStartThreadC(mgl_cdif2_z,0,nx*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } if(strchr(dir,'y') && ny>1) { mglStartThreadC(mgl_cdif2_y,0,nx*nz,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } if(strchr(dir,'x') && nx>1) { mglStartThreadC(mgl_cdif2_x,0,nz*ny,b,d->a,0,p); memcpy(d->a,b,nn*sizeof(dual)); } delete []b; } void MGL_EXPORT mgl_datac_diff2_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_datac_diff2(_DC_,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_swap(HADT d, const char *dir) { if(!dir || *dir==0) return; if(strchr(dir,'z') && d->nz>1) mgl_datac_roll(d,'z',d->nz/2); if(strchr(dir,'y') && d->ny>1) mgl_datac_roll(d,'y',d->ny/2); if(strchr(dir,'x') && d->nx>1) mgl_datac_roll(d,'x',d->nx/2); } void MGL_EXPORT mgl_datac_swap_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_datac_swap(_DC_,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_roll(HADT dd, char dir, long num) { long nx=dd->nx,ny=dd->ny,nz=dd->nz; register long i,d; dual *b,*a=dd->a; if(dir=='z' && nz>1) { d = num>0 ? num%nz : (num+nz*(1+num/nz))%nz; if(d==0) return; // nothing to do b = new dual[nx*ny*nz]; memcpy(b,a+nx*ny*d,nx*ny*(nz-d)*sizeof(dual)); memcpy(b+nx*ny*(nz-d),a,nx*ny*d*sizeof(dual)); memcpy(a,b,nx*ny*nz*sizeof(dual)); delete []b; } if(dir=='y' && ny>1) { d = num>0 ? num%ny : (num+ny*(1+num/ny))%ny; if(d==0) return; // nothing to do b = new dual[nx*ny*nz]; memcpy(b,a+nx*d,(nx*ny*nz-nx*d)*sizeof(dual)); for(i=0;i1) { d = num>0 ? num%nx : (num+nx*(1+num/nx))%nx; if(d==0) return; // nothing to do b = new dual[nx*ny*nz]; memcpy(b,a+d,(nx*ny*nz-d)*sizeof(dual)); for(i=0;inx,ny=d->ny,nz=d->nz; register long i,j,k,i0,j0; dual b, *a=d->a; if(strchr(dir,'z') && nz>1) { for(j=0;j1) { for(k=0;k1) { for(j=0;j(d); if(dd) { long nx=dd->nx, ny=dd->ny, nz=dd->nz, dn=ny>1?nx:0; kx = kx=0 ? kx:0; ky = ky=0 ? ky:0; kz = kz=0 ? kz:0; x -= kx; if(nx==1) x=0; y -= ky; if(ny==1) y=0; z -= kz; if(nz==1) z=0; const dual *aa=dd->a+kx+nx*(ky+ny*kz), *bb = aa+(nz>1?nx*ny:0); b0 = aa[0]*(1-x-y+x*y) + x*(1-y)*aa[1] + y*(1-x)*aa[dn] + x*y*aa[1+dn]; b1 = bb[0]*(1-x-y+x*y) + x*(1-y)*bb[1] + y*(1-x)*bb[dn] + x*y*bb[1+dn]; if(dif) { *dx = aa[1]-aa[0]; *dy = aa[dn]-aa[0]; *dz = bb[0]-aa[0]; } } else { long n=d->GetNx(), ny=d->GetNy(), nz=d->GetNz(); kx = (kx>=0 ? (kx=0 ? (ky=0 ? (kzv(kx,ky,kz), a1 = d->v(kx+1,ky,kz), a2 = d->v(kx,ky+1,kz); if(dif) { *dx = a1-a0; *dy = a2-a0; *dz = -a0; } b0 = a0*(1-x-y+x*y) + x*(1-y)*a1 + y*(1-x)*a2 + x*y*d->v(kx+1,ky+1,kz); kz++; a0 = d->v(kx,ky,kz); if(dif) *dz += a0; b1 = a0*(1-x-y+x*y) + x*(1-y)*d->v(kx+1,ky,kz) + y*(1-x)*d->v(kx,ky+1,kz) + x*y*d->v(kx+1,ky+1,kz); } return b0 + z*(b1-b0); } dual MGL_EXPORT mgl_datac_linear(HCDT d, mreal x,mreal y,mreal z) { return mgl_datac_linear_ext(d, x,y,z, 0,0,0); } //----------------------------------------------------------------------------- dual MGL_EXPORT mgl_datac_linear_(uintptr_t *d, mreal *x,mreal *y,mreal *z) { return mgl_datac_linear(_DA_(d),*x,*y,*z); } dual MGL_EXPORT mgl_datac_linear_ext_(uintptr_t *d, mreal *x,mreal *y,mreal *z, dual *dx,dual *dy,dual *dz) { return mgl_datac_linear_ext(_DA_(d),*x,*y,*z,dx,dy,dz); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_crop(HADT d, long n1, long n2, char dir) { long nx=d->nx,ny=d->ny,nz=d->nz, nn; register long i,k; dual *b; if(n1<0) n1=0; switch(dir) { case 'x': n2 = n2>0 ? n2 : nx+n2; if(n2<0 || n2>=nx || n2a+nx*i+n1,nn*sizeof(dual)); d->nx = nn; if(!d->link) delete []d->a; d->a = b; d->link=false; d->NewId(); break; case 'y': n2 = n2>0 ? n2 : ny+n2; if(n2<0 || n2>=ny || n2a+nx*(n1+k+ny*j),nx*sizeof(dual)); d->ny = nn; if(!d->link) delete []d->a; d->a = b; d->link=false; break; case 'z': n2 = n2>0 ? n2 : nz+n2; if(n2<0 || n2>=nz || n2a+nx*ny*n1,nn*nx*ny*sizeof(dual)); d->nz = nn; if(!d->link) delete []d->a; d->a = b; d->link=false; break; } } void MGL_EXPORT mgl_datac_crop_(uintptr_t *d, int *n1, int *n2, const char *dir,int) { mgl_datac_crop(_DC_,*n1,*n2,*dir); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_insert(HADT d, char dir, long at, long num) { if(num<1) return; at = at<0 ? 0:at; register long i,k,nn; long nx=d->nx, ny=d->ny, nz=d->nz; mglDataC b; if(dir=='x') { if(at>nx) at=nx; nn=nx+num; b.Create(nn,ny,nz); for(k=0;k0) memcpy(b.a+nn*k, d->a+nx*k,at*sizeof(dual)); if(ata+at+nx*k,(nx-at)*sizeof(dual)); for(i=0;ia[nx*k+at]; // copy values } d->Set(b); nx+=num; } if(dir=='y') { if(at>ny) at=ny; nn=num+ny; b.Create(nx,nn,nz); for(k=0;k0) memcpy(b.a+nx*nn*k, d->a+nx*ny*k,at*nx*sizeof(dual)); if(ata+nx*(at+ny*k),(ny-at)*nx*sizeof(dual)); for(i=0;ia+nx*(ny*k+at),nx*sizeof(dual)); } d->Set(b); ny+=num; } if(dir=='z') { if(at>nz) at=nz; b.Create(nx,ny,nz+num); if(at>0) memcpy(b.a, d->a,at*nx*ny*sizeof(dual)); if(ata+nx*ny*at,(nz-at)*nx*ny*sizeof(dual)); for(i=0;ia+nx*ny*at,nx*ny*sizeof(dual)); d->Set(b); nz+=num; } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_delete(HADT d, char dir, long at, long num) { if(num<1 || at<0) return; mglDataC b; long nx=d->nx, ny=d->ny, nz=d->nz; register long k,nn; if(dir=='x') { if(at+num>=nx) return; nn=nx-num; b.Create(nn,ny,nz); for(k=0;k0) memcpy(b.a+nn*k, d->a+nx*k,at*sizeof(dual)); memcpy(b.a+at+nn*k, d->a+at+num+nx*k,(nx-at-num)*sizeof(dual)); } d->Set(b); nx-=num; } if(dir=='y') { if(at+num>=ny) return; nn=ny-num; b.Create(nx,nn,nz); for(k=0;k0) memcpy(b.a+nx*nn*k, d->a+nx*ny*k,at*nx*sizeof(dual)); memcpy(b.a+nx*(at+nn*k), d->a+nx*(at+num+ny*k),(ny-at-num)*nx*sizeof(dual)); } d->Set(b); ny-=num; } if(dir=='z') { if(at+num>=nz) return; b.Create(nx,ny,nz-num); if(at>0) memcpy(b.a, d->a,at*nx*ny*sizeof(dual)); memcpy(b.a+nx*ny*at, d->a+nx*ny*(at+num),(nz-at-num)*nx*ny*sizeof(dual)); d->Set(b); nz-=num; } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_insert_(uintptr_t *d, const char *dir, int *at, int *num, int) { mgl_datac_insert(_DC_,*dir,*at,*num); } void MGL_EXPORT mgl_datac_delete_(uintptr_t *d, const char *dir, int *at, int *num, int) { mgl_datac_delete(_DC_,*dir,*at,*num); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_set_value(HADT dat, dual v, long i, long j, long k) { if(i>=0 && inx && j>=0 && jny && k>=0 && knz) dat->a[i+dat->nx*(j+dat->ny*k)]=v; } void MGL_EXPORT mgl_datac_set_value_(uintptr_t *d, dual *v, int *i, int *j, int *k) { mgl_datac_set_value(_DC_,*v,*i,*j,*k); } //----------------------------------------------------------------------------- dual MGL_EXPORT mgl_datac_get_value(HCDT dat, long i, long j, long k) { if(i<0 || i>=dat->GetNx() || j<0 || j>=dat->GetNy() || k<0 || k>=dat->GetNz()) return NAN; const mglDataC *d = dynamic_cast(dat); return d ? d->a[i+d->nx*(j+d->nz*k)] : dual(dat->v(i,j,k),0); } dual MGL_EXPORT mgl_datac_get_value_(uintptr_t *d, int *i, int *j, int *k) { return mgl_datac_get_value(_DA_(d),*i,*j,*k); } //----------------------------------------------------------------------------- MGL_EXPORT dual *mgl_datac_data(HADT dat) { return dat->a; } //----------------------------------------------------------------------------- MGL_EXPORT dual *mgl_datac_value(HADT dat, long i,long j,long k) { register long ii=i*dat->nx*(j+dat->ny*k); return ii>=0 && iiGetNN() ? dat->a+ii : 0; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_join(HADT d, HCDT v) { register long nx=d->nx, ny=d->ny, nz=d->nz; const mglDataC *mv = dynamic_cast(v); long vx=v->GetNx(), vy=v->GetNy(), vz=v->GetNz(); register long i,k=nx*ny*nz; if(nx==vx && ny==vy && (nz>1 || vz>1)) { dual *b = new dual[nx*ny*(nz+vz)]; memcpy(b,d->a,nx*ny*nz*sizeof(dual)); if(mv) memcpy(b+nx*ny*nz,mv->a,nx*ny*vz*sizeof(dual)); else for(i=0;ivthr(i); if(!d->link) delete []d->a; d->nz += vz; d->a = b; d->link=false; d->NewId(); } else if(nx==vx && (ny>1 || vy>1)) { ny *= nz; vy *= vz; dual *b = new dual[nx*(ny+vy)]; memcpy(b,d->a,nx*ny*sizeof(dual)); if(mv) memcpy(b+nx*ny,mv->a,nx*vy*sizeof(dual)); else for(i=0;ivthr(i); if(!d->link) delete []d->a; d->nz = 1; d->ny = ny+vy; d->a = b; d->link=false; d->NewId(); } else { nx *= ny*nz; vx *= vy*vz; dual *b = new dual[nx+vx]; memcpy(b,d->a,nx*sizeof(dual)); if(mv) memcpy(b+nx,mv->a,vx*sizeof(dual)); else for(i=0;ivthr(i); if(!d->link) delete []d->a; d->nz = d->ny = 1; d->nx = nx+vx; d->a = b; d->link=false; d->NewId(); } } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_join_(uintptr_t *d, uintptr_t *val) { mgl_datac_join(_DC_,_DA_(val)); } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/pde.cpp0000664000175000017500000007723512142400470014771 0ustar balakinbalakin/*************************************************************************** * pde.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/data.h" #include "mgl2/eval.h" #include #define dual std::complex #define GAMMA 0.1 //----------------------------------------------------------------------------- struct mgl_pde_ham { dual *a,*hxy,*hxv,*huv,*huy; mglFormula *eqs; long nx,ny; mreal xx,yy,xs,ys,dx,dy,dq,dp,zz; double dd; }; MGL_NO_EXPORT void *mgl_pde_hprep(void *par) { mglThreadD *t=(mglThreadD *)par; const mgl_pde_ham *f = (const mgl_pde_ham *)t->v; mglFormula *eqs = f->eqs; register long i,j,i0, nx=2*f->nx, ny=2*f->ny; mreal var[MGL_VS]; dual *a = f->a,*h; memset(var,0,('z'-'a')*sizeof(mreal)); var['z'-'a'] = f->zz; for(i0=t->id,h=f->hxy;i0n;i0+=mglNumThr) { i = i0%nx; j = i0/nx; var['u'-'a'] = abs(a[i0]); var['x'-'a'] = f->xx+f->dx*i; var['p'-'a'] = 0; var['y'-'a'] = f->yy+f->dy*j; var['q'-'a'] = 0; h[i0] = dual(-eqs->CalcD(var,'i'), eqs->Calc(var))*f->dd; } if(f->ny>2) for(i0=t->id,h=f->huy;i0n;i0+=mglNumThr) // step 3/2 { i = i0%nx; j = i0/nx; var['u'-'a'] = abs(a[i0]); var['x'-'a'] = f->xs; var['p'-'a'] = f->dp*(iyy+f->dy*j; var['q'-'a'] = 0; h[i0] = dual(-eqs->CalcD(var,'i'), eqs->Calc(var))*f->dd; } for(i0=t->id,h=f->huv;i0n;i0+=mglNumThr) // step 2 { i = i0%nx; j = i0/nx; var['u'-'a'] = abs(a[i0]); var['x'-'a'] = f->xs; var['p'-'a'] = f->dp*(iys; var['q'-'a'] = f->dq*(jCalcD(var,'i'), eqs->Calc(var))*f->dd; } if(f->ny>2) for(i0=t->id,h=f->hxv;i0n;i0+=mglNumThr) // step 3/2 { i = i0%nx; j = i0/nx; var['u'-'a'] = abs(a[i0]); var['x'-'a'] = f->xx+f->dx*i; var['p'-'a'] = 0; var['y'-'a'] = f->ys; var['q'-'a'] = f->dq*(jCalcD(var,'i'), eqs->Calc(var))*f->dd; } return 0; } // Solve equation dx/dz = func(p,q,x,y,z,|u|)[u] where p=d/dx, q=d/dy. At this moment simplified form of ham is supported: ham = f(p,q,z) + g(x,y,z,'u'), where variable 'u'=|u| (for allowing solve nonlinear problems). You may specify imaginary part like ham = p^2 + i*x*(x>0) but only if dependence on variable 'i' is linear (i.e. ham = hre+i*him). HMDT MGL_EXPORT mgl_pde_solve(HMGL gr, const char *ham, HCDT ini_re, HCDT ini_im, mreal dz, mreal k0, const char *opt) { gr->SaveState(opt); mglPoint Min=gr->Min, Max=gr->Max; mglData *res=new mglData; int nx=ini_re->GetNx(), ny=ini_re->GetNy(); int nz = int((Max.z-Min.z)/dz)+1; if(nx<2 || nz<2 || Max.x==Min.x) // Too small data { gr->SetWarn(mglWarnLow,"PDE"); return res; } if(ini_im->GetNx()*ini_im->GetNy() != nx*ny)// Wrong dimensions { gr->SetWarn(mglWarnDim,"PDE"); return res; } mgl_data_create(res, nz, nx, ny); mglFormula eqs(ham); dual *a = new dual[4*nx*ny], hh0; // Add "damping" area dual *hxy = new dual[4*nx*ny], *hxv = new dual[4*nx*ny]; dual *huy = new dual[4*nx*ny], *huv = new dual[4*nx*ny]; dual *hx = new dual[2*nx], *hv = new dual[2*ny]; dual *hy = new dual[2*ny], *hu = new dual[2*nx]; mreal *dmp = new mreal[4*nx*ny]; memset(a,0,4*nx*ny*sizeof(dual)); register int i,j,k,i0; for(j=0;jv(i,j), ini_im->v(i,j)); res->a[nz*(i+nx*j)] = abs(a[i0]); } memset(dmp,0,4*nx*ny*sizeof(mreal)); for(j=0;j<2*ny;j++) for(i=0;i<2*nx;i++) // step 1 { i0 = i+2*nx*j; if(i3*nx/2) dmp[i0] += GAMMA*mgl_ipow((i-3*nx/2-1)/(nx/2.),2); if(j3*ny/2) dmp[i0] += GAMMA*mgl_ipow((j-3*ny/2-1)/(ny/2.),2); } mreal dx = (Max.x-Min.x)/(nx-1), dy = ny>1?(Max.y-Min.y)/(ny-1):0; mreal dp = M_PI/(Max.x-Min.x)/k0, dq = M_PI/(Max.y-Min.y)/k0; mreal xs=(Min.x+Max.x)/2, ys=(Min.y+Max.y)/2; // double xx = Min.x - dx*nx/2, yy = Min.x - dy*ny/2; double ff = ny>1?4*nx*ny:2*nx, dd = k0*dz; mgl_pde_ham tmp;tmp.eqs = &eqs; tmp.nx = nx; tmp.ny = ny; tmp.a=a; tmp.hxy=hxy; tmp.hxv=hxv; tmp.huy=huy; tmp.huv=huv; tmp.dd = dd; tmp.xx = Min.x-dx*(nx/2); tmp.xs = xs; tmp.dx = dx; tmp.dp = dp; tmp.yy = Min.y-dy*(ny/2); tmp.ys = ys; tmp.dy = dy; tmp.dq = dq; // prepare fft. NOTE: slow procedures due to unknown nx, ny. void *wsx, *wtx = mgl_fft_alloc(2*nx,&wsx,1); void *wsy, *wty = mgl_fft_alloc(2*ny,&wsy,1); for(k=1;kStop) { mgl_fft_free(wtx,&wsx,1); mgl_fft_free(wty,&wsy,1); delete []a; delete []dmp; delete []hxy; delete []hxv; delete []huy; delete []huv; delete []hx; delete []hy; delete []hu; delete []hv; return 0; } tmp.zz = Min.z+dz*k; memset(hxy,0,4*nx*ny*sizeof(dual)); memset(hxv,0,4*nx*ny*sizeof(dual)); memset(huv,0,4*nx*ny*sizeof(dual)); memset(huy,0,4*nx*ny*sizeof(dual)); mglStartThread(mgl_pde_hprep,0,4*nx*ny,0,0,0,0,&tmp); for(i=0;i<2*nx;i++) { hx[i] = hxv[i]; hu[i] = huv[i]; } for(j=0;j<2*ny;j++) { hy[j] = huy[2*nx*j]; hv[j] = huv[2*nx*j];} // rearrange arrays hh0=hu[0]/2.; if(ny>1) for(i=0;i<2*nx;i++) for(j=0;j<2*ny;j++) { i0 = i+2*nx*j; huy[i0] -= (hu[i]+hy[j]-hh0)/2.; huv[i0] -= (hu[i]+hv[j]-hh0)/2.; hxy[i0] -= (hx[i]+hy[j]-hh0)/2.; hxv[i0] -= (hx[i]+hv[j]-hh0)/2.; } // solve equation for(i=0;i<4*nx*ny;i++) a[i] *= exp(hxy[i])*exp(-double(dmp[i]*dz))/ff; for(i=0;i<2*ny;i++) mgl_fft((double *)(a+i*2*nx), 1, 2*nx, wtx, wsx, false); for(i=0;i<4*nx*ny;i++) a[i] *= exp(huy[i]); if(ny>1) for(i=0;i<2*nx;i++) mgl_fft((double *)(a+i), 2*nx, 2*ny, wty, wsy, false); for(i=0;i<4*nx*ny;i++) a[i] *= exp(huv[i]); for(i=0;i<2*ny;i++) mgl_fft((double *)(a+2*i*nx), 1, 2*nx, wtx, wsx, true); for(i=0;i<4*nx*ny;i++) a[i] *= exp(hxv[i]); if(ny>1) for(i=0;i<2*nx;i++) mgl_fft((double *)(a+i), 2*nx, 2*ny, wty, wsy, true); for(i=0;ia[k+nz*(i+nx*j)] = abs(a[i0]); } } mgl_fft_free(wtx,&wsx,1); mgl_fft_free(wty,&wsy,1); delete []a; delete []dmp; delete []hxy; delete []hxv; delete []huy; delete []huv; delete []hx; delete []hy; delete []hu; delete []hv; gr->LoadState(); return res; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_ode_solve(void (*func)(const mreal *x, mreal *dx, void *par), int n, mreal *x0, mreal dt, mreal tmax, void *par) { mglData *res=new mglData; if(tmaxa[i] = x0[i]; // Runge Kutta scheme of 4th order for(k=1;ka[i+n*k] = x[i] += (k1[i]+k2[i]+2*k3[i])*dt/6; } delete []x; delete []k1; delete []k2; delete []k3; delete []v; return res; } //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_ray3d(const mreal *in, mreal *out, void *par) { mglFormula *eqs = (mglFormula *)par; const char *v="xyzpqvt"; mreal var[MGL_VS]; memset(var,0,MGL_VS*sizeof(mreal)); for(int i=0;i<7;i++) var[v[i]-'a'] = in[i]; out[0] = eqs->CalcD(var,'p'); out[3] = -eqs->CalcD(var,'x'); out[1] = eqs->CalcD(var,'q'); out[4] = -eqs->CalcD(var,'y'); out[2] = eqs->CalcD(var,'v'); out[5] = -eqs->CalcD(var,'z'); out[7] = eqs->CalcD(var,'i'); out[6] = 1; } // Solve GO ray equation like dr/dt = d ham/dp, dp/dt = -d ham/dr where ham = ham(x,y,z,p,q,v,t) and px=p, py=q, pz=v. The starting point (at t=0) is r0, p0. Result is array of {x,y,z,p,q,v,t} HMDT MGL_EXPORT mgl_ray_trace(const char *ham, mreal x0, mreal y0, mreal z0, mreal px, mreal py, mreal pz, mreal dt, mreal tmax) { mglFormula eqs(ham); mreal in[8]={x0,y0,z0,px,py,pz,0,0}; HMDT res = mgl_ode_solve(mgl_ray3d,8,in,dt,tmax,&eqs); mgl_data_set_id(res,"xyzpqvti"); return res; } //----------------------------------------------------------------------------- struct mgl_ap { double x0,y0,z0,x1,y1,z1,x2,y2,z2; // vectors {l, g1, g2} double t1,t2,ch,q1,q2,pt,dt,d1,d2; // theta_{1,2}, chi, q_{1,2}, p_t, dtau, dq_{1,2} mgl_ap() { memset(this,0,sizeof(mgl_ap)); } }; //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_init_ra(int n, int n7, const mreal *r, mgl_ap *ra) // prepare some intermediate data for QO (3d case) { register double tt; tt = hypot(r[n7]-r[0], r[n7+1]-r[1]); if(tt) { ra[0].x1 = (r[n7+1]-r[1])/tt; ra[0].y1 = (r[0]-r[n7])/tt; ra[0].z1 = 0; } else { ra[0].x1 = ra[0].y1 = 0; ra[0].z1 = 1; } ra[0].x0 = r[n7] - r[0]; ra[0].y0 = r[n7+1] - r[1]; ra[0].z0 = r[n7+2] - r[2]; tt = sqrt(ra[0].x0*ra[0].x0 + ra[0].y0*ra[0].y0 + ra[0].z0*ra[0].z0); ra[0].x0 /= tt; ra[0].y0 /= tt; ra[0].z0 /= tt; ra[0].x2 = ra[0].y1*ra[0].z0 - ra[0].y0*ra[0].z1; // vector g_2 ra[0].y2 = ra[0].z1*ra[0].x0 - ra[0].z0*ra[0].x1; ra[0].z2 = ra[0].x1*ra[0].y0 - ra[0].x0*ra[0].y1; register long i; for(i=1;iv; mgl_ap *ra = f->ra; const mreal *r = f->r; mreal tt, x1, hh; register long i, nx=t->n; for(i=t->id;idr; hh = 1 - ra->t1*x1; hh = sqrt(sqrt(0.041+hh*hh*hh*hh)); tt = (ra->pt + ra->d1*x1)/hh - ra->pt; f->hx[i] = f->ham(abs(f->a[i]), r[0]+ra->x1*x1, r[1]+ra->y1*x1, r[3]+ra->x0*tt, r[4]+ra->y0*tt, f->par) - f->h0/2.; // u-y terms x1 = f->dk/2*(ihu[i] = f->ham(0, r[0], r[1], r[3]+ra->x1*x1, r[4]+ra->y1*x1, f->par) - f->h0/2.; if(imag(f->hx[i])>0) f->hx[i] = f->hx[i].real(); if(imag(f->hu[i])>0) f->hu[i] = f->hu[i].real(); // add boundary conditions for x-direction f->hx[i] -= dual(0,f->dmp[i]); } return 0; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_qo2d_func(dual (*ham)(mreal u, mreal x, mreal y, mreal px, mreal py, void *par), void *par, HCDT ini_re, HCDT ini_im, HCDT ray_dat, mreal r, mreal k0, HMDT xx, HMDT yy) { mglData *res=new mglData; const mglData *ray=dynamic_cast(ray_dat); // NOTE: Ray must be mglData! if(!ray) return res; int nx=ini_re->GetNx(), nt=ray->ny, n7=ray->nx; if(nx<2 || ini_im->GetNx()!=nx || nt<2) return res; mgl_data_create(res,nx,nt,1); dual *a=new dual[2*nx], *hu=new dual[2*nx], *hx=new dual[2*nx]; double *dmp=new double[2*nx]; mgl_ap *ra = new mgl_ap[nt]; mgl_init_ra(nt, n7, ray->a, ra); // ray register int i; mreal dr = r/(nx-1), dk = M_PI*(nx-1)/(k0*r*nx), tt, x1, hh, B1, pt0; memset(dmp,0,2*nx*sizeof(double)); for(i=0;iv(i),ini_im->v(i)); // init void *wsx, *wtx = mgl_fft_alloc(2*nx,&wsx,1); if(xx && yy) { xx->Create(nx,nt); yy->Create(nx,nt); } mgl_qo2d_ham tmp; // parameters for Hamiltonian calculation tmp.hx=hx; tmp.hu=hu; tmp.dmp=dmp; tmp.par=par; tmp.dr=dr; tmp.dk=dk; tmp.ham=ham; tmp.a=a; // start calculation for(int k=0;ka[i+k*nx]=abs(a[i+nx/2])*sqrt(ra[0].ch/ra[k].ch); if(xx && yy) for(i=0;ia[i+k*nx] = ray->a[n7*k] + ra[k].x1*x1; // new coordinates yy->a[i+k*nx] = ray->a[n7*k+1] + ra[k].y1*x1; } tmp.r=ray->a+n7*k; tmp.ra=ra+k; hh = ra[k].pt*(1/sqrt(sqrt(1.041))-1); // 0.041=0.45^4 -- minimal value of h tmp.h0 = ham(0, tmp.r[0], tmp.r[1], tmp.r[3]+ra[k].x0*hh, tmp.r[4]+ra[k].x0*hh, par); mglStartThread(mgl_qo2d_hprep,0,2*nx,0,0,0,0,&tmp); // Step for field dual dt = dual(0, -ra[k].dt*k0); for(i=0;i<2*nx;i++) a[i] *= exp(hx[i]*dt); mgl_fft((double *)a, 1, 2*nx, wtx, wsx, false); for(i=0;i<2*nx;i++) a[i] *= exp(hu[i]*dt)/(2.*nx); mgl_fft((double *)a, 1, 2*nx, wtx, wsx, true); /* // Calculate B1 // TODO make more general scheme later!!! hh = ra[k].pt*(1/sqrt(sqrt(1.041))-1); var['x'-'a'] = ray->a[n7*k]; // new coordiantes var['y'-'a'] = ray->a[n7*k+1]; var['p'-'a'] = ray->a[n7*k+3] + ra[k].x0*hh; // new momentums var['q'-'a'] = ray->a[n7*k+4] + ra[k].y0*hh; tt = h.CalcD(var,'p')*ra[k].x1 + h.CalcD(var,'q')*ra[k].y1; var['x'-'a'] = ray->a[n7*k] + ra[k].x1*dr; // new coordiantes var['y'-'a'] = ray->a[n7*k+1] + ra[k].y1*dr; hh = 1 - ra[k].t1*dr; hh = sqrt(sqrt(0.041+hh*hh*hh*hh)); hh = (ra[k].ch*ra[k].pt + ra[k].d1*dr)/(hh*ra[k].ch) - ra[k].pt; var['p'-'a'] = ray->a[n7*k+3] + ra[k].x0*hh; // new momentums var['q'-'a'] = ray->a[n7*k+4] + ra[k].y0*hh; B1 = h.CalcD(var,'p')*ra[k].x1 + h.CalcD(var,'q')*ra[k].y1; B1 = (B1-tt)/dr; double a1=0, a2=0; for(i=0;i<2*nx;i++) a1 += norm(a[i]); hx[0] = hx[2*nx-1] = 0.; for(i=1;i<2*nx-1;i++) hx[i] = (B1*ra[k].dt*(i-nx))*(a[i+1]-a[i-1]); for(i=0;i<2*nx;i++) { a[i] += hx[i]; a2 += norm(a[i]); } a1 = sqrt(a1/a2); for(i=0;i<2*nx;i++) a[i] *= a1;*/ } mgl_fft_free(wtx,&wsx,1); delete []a; delete []hu; delete []hx; delete []ra; delete []dmp; return res; } //----------------------------------------------------------------------------- dual MGL_NO_EXPORT mgl_ham2d(mreal u, mreal x, mreal y, mreal px, mreal py, void *par) { mglFormula *h = (mglFormula *)par; mreal var[MGL_VS]; memset(var,0,MGL_VS*sizeof(mreal)); var['x'-'a'] = x; var['y'-'a'] = y; var['u'-'a'] = u; var['p'-'a'] = px; var['q'-'a'] = py; return dual(h->Calc(var), -h->CalcD(var,'i')); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_qo2d_solve(const char *ham, HCDT ini_re, HCDT ini_im, HCDT ray_dat, mreal r, mreal k0, HMDT xx, HMDT yy) { mglFormula h(ham); return mgl_qo2d_func(mgl_ham2d, &h, ini_re, ini_im, ray_dat, r, k0, xx, yy); } //----------------------------------------------------------------------------- // // QO2d series // //----------------------------------------------------------------------------- struct mgl_qo3d_ham { dual *hxy, *huv, *hxv, *huy, *a; dual *hx, *hy, *hu, *hv, h0; mreal *dmp; mreal *r, dr, dk; mgl_ap *ra; dual (*ham)(mreal u, mreal x, mreal y, mreal z, mreal px, mreal py, mreal pz, void *par); void *par; }; //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_qo3d_hprep(void *par) { mglThreadD *t=(mglThreadD *)par; mgl_qo3d_ham *f = (mgl_qo3d_ham *)t->v; mgl_ap *ra = f->ra; const mreal *r = f->r; mreal tt, x1, x2, hh; register long ii,i,j, nx=t->n; for(ii=t->id;iidr; x2 = (2*j-nx+1)*f->dr; hh = 1-ra->t1*x1-ra->t2*x2; hh = sqrt(sqrt(0.041+hh*hh*hh*hh)); tt = (ra->pt + ra->d1*x1 + ra->d2*x2)/hh - ra->pt; f->hxy[ii] = f->ham(abs(f->a[i]), r[0]+ra->x1*x1+ra->x2*x2, r[1]+ra->y1*x1+ra->y2*x2, r[2]+ra->z1*x1+ra->z2*x2, r[3]+ra->x0*tt, r[4]+ra->y0*tt, r[5]+ra->z0*tt, f->par); // x-v terms x1 = (2*i-nx+1)*f->dr; x2 = f->dk/2*(jt1*x1; hh = sqrt(sqrt(0.041+hh*hh*hh*hh)); tt = (ra->pt + ra->d1*x1)/hh - ra->pt; f->hxv[ii] = f->ham(0, r[0]+ra->x1*x1, r[1]+ra->y1*x1, r[2]+ra->z1*x1, r[3]+ra->x0*tt+ra->x2*x2, r[4]+ra->y0*tt+ra->y2*x2, r[5]+ra->z0*tt+ra->z2*x2, f->par); // u-y terms x1 = f->dk/2*(idr; hh = 1-ra->t2*x2; hh = sqrt(sqrt(0.041+hh*hh*hh*hh)); tt = (ra->pt + ra->d2*x2)/hh - ra->pt; f->huy[ii] = f->ham(0, r[0]+ra->x2*x2, r[1]+ra->y2*x2, r[2]+ra->z2*x2, r[3]+ra->x1*x1+ra->x0*tt, r[4]+ra->y1*x1+ra->y0*tt, r[5]+ra->z1*x1+ra->z0*tt, f->par); // u-y terms x1 = f->dk/2*(idk/2*(jhuv[ii] = f->ham(0, r[0], r[1], r[2], r[3]+ra->x1*x1+ra->x2*x2, r[4]+ra->y1*x1+ra->y2*x2, r[5]+ra->z1*x1+ra->z2*x2, f->par); } return 0; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_qo3d_post(void *par) { mglThreadD *t=(mglThreadD *)par; mgl_qo3d_ham *f = (mgl_qo3d_ham *)t->v; register long ii,i,j, nx=t->n; for(ii=t->id;iihxy[ii] -= (f->hx[i]+f->hy[j]-f->h0/2.)/2.; if(imag(f->hxy[ii])>0) f->hxy[ii] = f->hxy[ii].real(); f->hxv[ii] -= (f->hx[i]+f->hv[j]-f->h0/2.)/2.; if(imag(f->hxv[ii])>0) f->hxv[ii] = f->hxv[ii].real(); f->huy[ii] -= (f->hu[i]+f->hy[j]-f->h0/2.)/2.; if(imag(f->huy[ii])>0) f->huy[ii] = f->huy[ii].real(); f->huv[ii] -= (f->hu[i]+f->hv[j]-f->h0/2.)/2.; if(imag(f->huv[ii])>0) f->huv[ii] = f->huv[ii].real(); // add boundary conditions for x-direction f->hxy[ii] -= dual(0,f->dmp[ii]); } return 0; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_qo3d_func(dual (*ham)(mreal u, mreal x, mreal y, mreal z, mreal px, mreal py, mreal pz, void *par), void *par, HCDT ini_re, HCDT ini_im, HCDT ray_dat, mreal r, mreal k0, HMDT xx, HMDT yy, HMDT zz) { mglData *res=new mglData; const mglData *ray=dynamic_cast(ray_dat); // NOTE: Ray must be mglData! if(!ray) return res; int nx=ini_re->GetNx(), nt=ray->ny, n7=ray->nx; // NOTE: only square grids are supported now (for simplicity) if(nx<2 || ini_re->GetNx()!=nx || ini_im->GetNx()*ini_im->GetNy()!=nx*nx || nt<2) return res; mgl_data_create(res,nx,nx,nt); dual *a=new dual[4*nx*nx], *huv=new dual[4*nx*nx], *hxy=new dual[4*nx*nx], *huy=new dual[4*nx*nx], *hxv=new dual[4*nx*nx]; dual *hu=new dual[2*nx], *hx=new dual[2*nx], *hy=new dual[2*nx], *hv=new dual[2*nx]; mreal *dmp=new mreal[4*nx*nx]; mgl_ap *ra = new mgl_ap[nt]; mgl_init_ra(nt, n7, ray->a, ra); // prepare ray register int i,j,ii; mreal dr = r/(nx-1), dk = M_PI*(nx-1)/(k0*r*nx), tt, x1, x2, hh, B1, pt0; memset(dmp,0,4*nx*nx*sizeof(mreal)); for(i=0;iv(i,j),ini_im->v(i,j)); void *wsx, *wtx = mgl_fft_alloc(2*nx,&wsx,1); if(xx && yy && zz) { xx->Create(nx,nx,nt); yy->Create(nx,nx,nt); zz->Create(nx,nx,nt); } mgl_qo3d_ham tmp; // parameters for Hamiltonian calculation tmp.hxy=hxy; tmp.hx=hx; tmp.huv=huv; tmp.hu=hu; tmp.huy=huy; tmp.hy=hy; tmp.hxv=hxv; tmp.hv=hv; tmp.dmp=dmp; tmp.par=par; tmp.dr=dr; tmp.dk=dk; tmp.ham=ham; tmp.a=a; // start calculation for(int k=0;ka[i+nx*(j+k*nx)]=abs(a[i+nx/2+2*nx*(j+nx/2)])*sqrt(ra[0].ch/ra[k].ch); if(xx && yy && zz) for(i=0;ia[i+nx*(j+k*nx)] = ray->a[n7*k] + ra[k].x1*x1 + ra[k].x2*x2; // new coordinates yy->a[i+nx*(j+k*nx)] = ray->a[n7*k+1] + ra[k].y1*x1 + ra[k].y2*x2; zz->a[i+nx*(j+k*nx)] = ray->a[n7*k+2] + ra[k].z1*x1 + ra[k].z2*x2; } tmp.r=ray->a+n7*k; tmp.ra=ra+k; mglStartThread(mgl_qo3d_hprep,0,2*nx,0,0,0,0,&tmp); tmp.h0 = huv[0]; for(i=0;i<2*nx;i++) // fill intermediate arrays { tmp.hx[i] = hxv[i]; tmp.hy[i] = huy[i*2*nx]; tmp.hv[i] = huv[i]; tmp.hu[i] = huv[i*2*nx]; } mglStartThread(mgl_qo3d_post,0,2*nx,0,0,0,0,&tmp); // Step for field dual dt = dual(0, -ra[k].dt*k0); // TODO: this part can be paralleled for(i=0;i<4*nx*nx;i++) a[i] *= exp(hxy[i]*dt); // x-y for(i=0;i<2*nx;i++) // x->u mgl_fft((double *)(a+i*2*nx), 1, 2*nx, wtx, wsx, false); for(i=0;i<4*nx*nx;i++) a[i] *= exp(huy[i]*dt); // u-y for(i=0;i<2*nx;i++) // y->v mgl_fft((double *)(a+i), 2*nx, 2*nx, wtx, wsx, false); for(i=0;i<4*nx*nx;i++) a[i] *= exp(huv[i]*dt)/(4.*nx*nx); // u-v for(i=0;i<2*nx;i++) // u->x mgl_fft((double *)(a+i*2*nx), 1, 2*nx, wtx, wsx, true); for(i=0;i<4*nx*nx;i++) a[i] *= exp(hxv[i]*dt); // x-v for(i=0;i<2*nx;i++) // v->y mgl_fft((double *)(a+i), 2*nx, 2*nx, wtx, wsx, true); /* // Calculate B1 // TODO make more general scheme later!!! hh = ra[k].pt*(1/sqrt(sqrt(1.041))-1); var['x'-'a'] = ray->a[n7*k]; // new coordiantes var['y'-'a'] = ray->a[n7*k+1]; var['p'-'a'] = ray->a[n7*k+3] + ra[k].x0*hh; // new momentums var['q'-'a'] = ray->a[n7*k+4] + ra[k].y0*hh; tt = h.CalcD(var,'p')*ra[k].x1 + h.CalcD(var,'q')*ra[k].y1; var['x'-'a'] = ray->a[n7*k] + ra[k].x1*dr; // new coordiantes var['y'-'a'] = ray->a[n7*k+1] + ra[k].y1*dr; hh = 1 - ra[k].t1*dr; hh = sqrt(sqrt(0.041+hh*hh*hh*hh)); hh = (ra[k].ch*ra[k].pt + ra[k].d1*dr)/(hh*ra[k].ch) - ra[k].pt; var['p'-'a'] = ray->a[n7*k+3] + ra[k].x0*hh; // new momentums var['q'-'a'] = ray->a[n7*k+4] + ra[k].y0*hh; B1 = h.CalcD(var,'p')*ra[k].x1 + h.CalcD(var,'q')*ra[k].y1; B1 = (B1-tt)/dr; double a1=0, a2=0; for(i=0;i<2*nx;i++) a1 += norm(a[i]); hx[0] = hx[2*nx-1] = 0.; for(i=1;i<2*nx-1;i++) hx[i] = (B1*ra[k].dt*(i-nx))*(a[i+1]-a[i-1]); for(i=0;i<2*nx;i++) { a[i] += hx[i]; a2 += norm(a[i]); } a1 = sqrt(a1/a2); for(i=0;i<2*nx;i++) a[i] *= a1;*/ } mgl_fft_free(wtx,&wsx,1); delete []a; delete []ra; delete []dmp; delete []huv; delete []hxy; delete []hxv; delete []huy; delete []hu; delete []hx; delete []hv; delete []hy; return res; } //----------------------------------------------------------------------------- dual MGL_NO_EXPORT mgl_ham3d(mreal u, mreal x, mreal y, mreal z, mreal px, mreal py, mreal pz, void *par) { mglFormula *h = (mglFormula *)par; mreal var[MGL_VS]; memset(var,0,MGL_VS*sizeof(mreal)); var['x'-'a'] = x; var['y'-'a'] = y; var['z'-'a'] = z; var['u'-'a'] = u; var['p'-'a'] = px; var['q'-'a'] = py; var['v'-'a'] = pz; return dual(h->Calc(var), -h->CalcD(var,'i')); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_qo3d_solve(const char *ham, HCDT ini_re, HCDT ini_im, HCDT ray_dat, mreal r, mreal k0, HMDT xx, HMDT yy, HMDT zz) { mglFormula h(ham); return mgl_qo3d_func(mgl_ham3d, &h, ini_re, ini_im, ray_dat, r, k0, xx, yy, zz); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_jacob2(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,i0,ip,im,jp,jm, nx=t->p[0], ny=t->p[1]; mreal *r=t->a; const mreal *x=t->b, *y=t->c; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=i0/nx; ip = i0 ? -1:0; jm = j>0 ? -nx:0; r[i0] = (x[i0+ip]-x[i0+im])*(y[i0+jp]-y[i0+jm]) - (y[i0+ip]-y[i0+im])*(x[i0+jp]-x[i0+jm]); r[i0] *= mreal((nx-1)*(ny-1)) / ((ip-im)*(jp-jm)); } return 0; } HMDT MGL_EXPORT mgl_jacobian_2d(HCDT x, HCDT y) { int nx = x->GetNx(), ny=x->GetNy(); mglData *r=new mglData; if(nx!=y->GetNx() || ny!=y->GetNy() || nx<2 || ny<2) return r; mgl_data_create(r,nx,ny,1); const mglData *xx=dynamic_cast(x); const mglData *yy=dynamic_cast(y); if(xx && yy) { long p[2]={nx,ny}; mglStartThread(mgl_jacob2,0,nx*ny,r->a,xx->a,yy->a,p); } else // slow variant { register long i,j,ip,im,jp,jm; for(j=0;j0 ? i-1:i; ip = i0 ? j-1:j; jp = ja[i+nx*j] = (x->v(ip,j)-x->v(im,j))*(y->v(i,jp)-y->v(i,jm)) - (y->v(ip,j)-y->v(im,j))*(x->v(i,jp)-x->v(i,jm)); r->a[i+nx*j] *= mreal((nx-1)*(ny-1)) / ((ip-im)*(jp-jm)); } } return r; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_jacob3(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,k,i0,ip,im,jp,jm,kp,km, nx=t->p[0], ny=t->p[1], nz=t->p[2]; mreal *r=t->a; const mreal *x=t->b, *y=t->c, *z=t->d; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=(i0/nx)%ny; k=i0/(nx*ny); ip = i0 ? -1:0; jm = j>0 ? -nx:0; km = k>0 ? -nx*ny:0; r[i0] = (x[i0+ip]-x[i0+im])*(y[i0+jp]-y[i0+jm])*(z[i0+kp]-z[i0+km]) - (x[i0+ip]-x[i0+im])*(y[i0+kp]-y[i0+km])*(z[i0+jp]-z[i0+jm]) - (x[i0+jp]-x[i0+jm])*(y[i0+ip]-y[i0+im])*(z[i0+kp]-z[i0+km]) + (x[i0+jp]-x[i0+jm])*(y[i0+kp]-y[i0+km])*(z[i0+ip]-z[i0+im]) + (x[i0+kp]-x[i0+km])*(y[i0+ip]-y[i0+im])*(z[i0+jp]-z[i0+jm]) - (x[i0+kp]-x[i0+km])*(y[i0+jp]-y[i0+jm])*(z[i0+ip]-z[i0+im]); r[i0] *= mreal((nx-1)*(ny-1)*(nz-1)) / ((ip-im)*(jp-jm)*(kp-km)); } return 0; } HMDT MGL_EXPORT mgl_jacobian_3d(HCDT x, HCDT y, HCDT z) { int nx = x->GetNx(), ny=x->GetNy(), nz=x->GetNz(), nn = nx*ny*nz; mglData *r=new mglData; if(nx<2 || ny<2 || nz<2) return r; if(nn!=y->GetNx()*y->GetNy()*y->GetNz() || nn!=z->GetNx()*z->GetNy()*z->GetNz()) return r; mgl_data_create(r,nx,ny,nz); const mglData *xx=dynamic_cast(x); const mglData *yy=dynamic_cast(y); const mglData *zz=dynamic_cast(z); if(xx && yy && zz) { long p[3]={nx,ny,nz}; mglStartThread(mgl_jacob3,0,nx*ny*nz,r->a,xx->a,yy->a,p,0,zz->a); } else // slow variant { register long i,j,k,ip,im,jp,jm,kp,km,i0; for(k=0;k0 ? i-1:i; ip = i0 ? j-1:j; jp = j0 ? k-1:k; kp = ka[i0] = (x->v(ip,j,k)-x->v(im,j,k))*(y->v(i,jp,k)-y->v(i,jm,k))*(z->v(i,j,kp)-z->v(i,j,km)) - (x->v(ip,j,k)-x->v(im,j,k))*(y->v(i,j,kp)-y->v(i,j,km))*(z->v(i,jp,k)-z->v(i,jm,k)) - (x->v(i,jp,k)-x->v(i,jm,k))*(y->v(ip,j,k)-y->v(im,j,k))*(z->v(i,j,kp)-z->v(i,j,km)) + (x->v(i,jp,k)-x->v(i,jm,k))*(y->v(i,j,kp)-y->v(i,j,km))*(z->v(ip,j,k)-z->v(im,j,k)) + (x->v(i,j,kp)-x->v(i,j,km))*(y->v(ip,j,k)-y->v(im,j,k))*(z->v(i,jp,k)-z->v(i,jm,k)) - (x->v(i,j,kp)-x->v(i,j,km))*(y->v(i,jp,k)-y->v(i,jm,k))*(z->v(ip,j,k)-z->v(im,j,k)); r->a[i0] *= mreal((nx-1)*(ny-1)*(nz-1)) / ((ip-im)*(jp-jm)*(kp-km)); } } return r; } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_pde_solve_(uintptr_t* gr, const char *ham, uintptr_t* ini_re, uintptr_t* ini_im, mreal *dz, mreal *k0, const char *opt, int l, int lo) { char *s=new char[l+1]; memcpy(s,ham,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; uintptr_t res = uintptr_t(mgl_pde_solve(_GR_, s, _DA_(ini_re), _DA_(ini_im), *dz, *k0, o)); delete []o; delete []s; return res; } uintptr_t MGL_EXPORT mgl_ray_trace_(const char *ham, mreal *x0, mreal *y0, mreal *z0, mreal *px, mreal *py, mreal *pz, mreal *dt, mreal *tmax,int l) { char *s=new char[l+1]; memcpy(s,ham,l); s[l]=0; uintptr_t res = uintptr_t(mgl_ray_trace(s, *x0,*y0,*z0, *px,*py,*pz, *dt,*tmax)); delete []s; return res; } uintptr_t MGL_EXPORT mgl_qo2d_solve_(const char *ham, uintptr_t* ini_re, uintptr_t* ini_im, uintptr_t* ray, mreal *r, mreal *k0, uintptr_t* xx, uintptr_t* yy, int l) { char *s=new char[l+1]; memcpy(s,ham,l); s[l]=0; uintptr_t res = uintptr_t(mgl_qo2d_solve(s, _DA_(ini_re), _DA_(ini_im), _DA_(ray), *r, *k0, _DM_(xx), _DM_(yy))); delete []s; return res; } uintptr_t MGL_EXPORT mgl_qo3d_solve_(const char *ham, uintptr_t* ini_re, uintptr_t* ini_im, uintptr_t* ray, mreal *r, mreal *k0, uintptr_t* xx, uintptr_t* yy, uintptr_t* zz, int l) { char *s=new char[l+1]; memcpy(s,ham,l); s[l]=0; uintptr_t res = uintptr_t(mgl_qo3d_solve(s, _DA_(ini_re), _DA_(ini_im), _DA_(ray), *r, *k0, _DM_(xx), _DM_(yy), _DM_(zz))); delete []s; return res; } uintptr_t MGL_EXPORT mgl_jacobian_2d_(uintptr_t* x, uintptr_t* y) { return uintptr_t(mgl_jacobian_2d(_DA_(x), _DA_(y))); } uintptr_t MGL_EXPORT mgl_jacobian_3d_(uintptr_t* x, uintptr_t* y, uintptr_t* z) { return uintptr_t(mgl_jacobian_3d(_DA_(x), _DA_(y), _DA_(z))); } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/obj.cpp0000664000175000017500000010005512142400470014756 0ustar balakinbalakin/*************************************************************************** * obj.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/canvas.h" #include "mgl2/canvas_cf.h" #undef _GR_ #define _GR_ ((mglCanvas *)(*gr)) #define _Gr_ ((mglCanvas *)(gr)) int MGL_NO_EXPORT mgl_tga_save(const char *fname, int w, int h, unsigned char **p); int MGL_NO_EXPORT mgl_pnga_save(const char *fname, int w, int h, unsigned char **p); void MGL_NO_EXPORT mgl_printf(void *fp, bool gz, const char *str, ...); //----------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #ifdef __GNUC__ #include #endif #include #include /* Size prefixes for printf/scanf for size_t and ptrdiff_t */ #ifdef _MSC_VER # define PRIuS "Iu" /* printf size_t */ # define PRIdS "Id" /* printf ptrdiff_t */ #else # define PRIuS "zu" /* printf size_t */ # define PRIdS "zd" /* printf ptrdiff_t */ #endif //----------------------------------------------------------------------------- void mglTexture::GetRGBAOBJ(unsigned char *f) const { const size_t bw = 128; //border width register size_t i,j,i0; mglColor c1,c2,c; for(i=0;i<256;i++) { c1 = col[2*i]; c2 = col[2*i+1]; for(j=0;j<512;j++) { i0 = 4*(j+512*(255-i)); if (j511-bw) c = c2; else c = c1 + (c2-c1)*((j-bw)/(255.)); f[i0] = int(255*c.r); f[i0+1] = int(255*c.g); f[i0+2] = int(255*c.b); f[i0+3] = int(255*c.a); } } } //----------------------------------------------------------------------------- struct ObjUV { ObjUV() : u(0.0), v(0.0) {} ObjUV(mreal U, mreal V) : u(U), v(V) {} mreal u; mreal v; void Set(mreal U, mreal V) { u = U; v = V; } bool operator==(const ObjUV &c) const { return u==c.u && v==c.v; } bool operator!=(const ObjUV &c) const { return !(u==c.u && v==c.v); } bool operator<(const ObjUV &c) const { if(u!=c.u) return (u texturecoords; FILE* const fp; ObjUVs(FILE *f) : fp(f) {} size_t addTextureCoords(mreal ta, mreal c, size_t ntxt) { const mreal gap = 1./512; const mreal u = 0.25+0.5*(ta*(1-2*gap)+gap); const mreal v = ((c-floor(c))*(1-2*gap) + gap + floor(c))/ntxt; const ObjUV point(u, v); std::map::iterator pPoint = texturecoords.find(point); if(pPoint!=texturecoords.end()) return pPoint->second; else { const size_t point_index = texturecoords.size()+1; texturecoords.insert(std::make_pair(point,point_index)); fprintf(fp,"vt %.15g %.15g\n",u,v); return point_index; } } }; class ObjXYZ { public : mreal x; mreal y; mreal z; ObjXYZ() : x(0), y(0), z(0) {} ObjXYZ(mreal fx, mreal fy, mreal fz) : x(fx), y(fy), z(fz) {} void Set(mreal fx, mreal fy, mreal fz) { x = fx; y = fy; z = fz; } mreal Dot(const ObjXYZ & sPt) const { return(x*sPt.x)+(y*sPt.y)+(z*sPt.z); } mreal LengthSquared() { return(x*x+y*y+z*z); } friend ObjXYZ operator + (const ObjXYZ& a, const ObjXYZ& b) { return ObjXYZ(a.x+b.x,a.y+b.y,a.z+b.z); } friend ObjXYZ operator - (const ObjXYZ& a) { return ObjXYZ(-a.x,-a.y,-a.z); } friend ObjXYZ operator - (const ObjXYZ& a, const ObjXYZ& b) { return ObjXYZ(a.x-b.x,a.y-b.y,a.z-b.z); } friend ObjXYZ operator * (const ObjXYZ& a, const mreal d) { return ObjXYZ(a.x*d,a.y*d,a.z*d); } friend ObjXYZ operator * (const mreal d, const ObjXYZ& a) { return ObjXYZ(a.x*d,a.y*d,a.z*d); } friend ObjXYZ operator / (const ObjXYZ& a, const mreal d) { return ObjXYZ(a.x/d,a.y/d,a.z/d); } friend ObjXYZ operator * (const ObjXYZ& a, const ObjXYZ& b) { return ObjXYZ((a.y*b.z)-(a.z*b.y), (a.z*b.x)-(a.x*b.z), (a.x*b.y)-(a.y*b.x)); } mreal Length() { return sqrt(x*x+y*y+z*z); } bool Normalize() { mreal fLength=Length(); if(fLength < FLT_EPSILON) return false; mreal factor=1.0/fLength; x *= factor; y *= factor; z *= factor; return true; } bool operator==(const ObjXYZ &v) const { return x==v.x && y==v.y && z==v.z; } bool operator!=(const ObjXYZ &v) const { return !(x==v.x && y==v.y && z==v.z); } bool operator<(const ObjXYZ &v) const { if(x!=v.x) return (x vertexcoords; FILE* const fp; ObjXYZs(FILE *f) : fp(f) {} size_t addVertexCoords(mreal x, mreal y, mreal z) { const ObjXYZ point(x,y,z); std::map::iterator pPoint = vertexcoords.find(point); if(pPoint!=vertexcoords.end()) return pPoint->second; else { const size_t point_index = vertexcoords.size()+1; vertexcoords.insert(std::make_pair(point,point_index)); fprintf(fp,"v %.15g %.15g %.15g\n",x,y,z); return point_index; } } }; struct ObjTriangle { size_t p1, p2, p3; size_t t1, t2, t3; ObjTriangle() : p1(0), p2(0), p3(0), t1(0), t2(0), t3(0) {} ObjTriangle(size_t P1, size_t T1, size_t P2, size_t T2, size_t P3, size_t T3) : p1(P1), p2(P2), p3(P3), t1(T1), t2(T2), t3(T3) {} }; struct ObjLine { size_t p1, p2; ObjLine() : p1(0), p2(0) {} ObjLine(size_t P1, size_t P2) : p1(P1), p2(P2) {} }; struct ObjGroup { std::deque triangles; mglColor commoncolor; bool samecolor; std::map > lines; std::map > points; FILE* const fp; ObjXYZs &vertexcoords; ObjGroup(FILE *f,ObjXYZs& v) : commoncolor(NC), samecolor(true), fp(f), vertexcoords(v) {} // const HMGL gr; // ObjGroup(const HMGL g) : samecolor(true), gr(g) {} void addSegment(size_t m, size_t p1, size_t p2) { lines[m].push_back(ObjLine(p1,p2)); } void addLines(size_t m, size_t n, const size_t* p) { for (size_t i=0; i >::const_iterator pm = lines.begin(); pm != lines.end(); pm++) { fprintf(fp,"usemtl Material%"PRIuS"\n", pm->first); for(std::deque::const_iterator pl = pm->second.begin(); pl != pm->second.end(); pl++) fprintf(fp,"l %"PRIuS" %"PRIuS"\n", pl->p1, pl->p2); } } void writePoints() { for(std::map >::const_iterator pm = points.begin(); pm != points.end(); pm++) { fprintf(fp,"usemtl Material%"PRIuS"\n", pm->first); for(std::deque::const_iterator pp = pm->second.begin(); pp != pm->second.end(); pp++) fprintf(fp,"p %"PRIuS"\n", *pp); } } void writeTriangles() { for(std::deque::const_iterator pt = triangles.begin(); pt != triangles.end(); pt++) fprintf(fp,"f %"PRIuS" %"PRIuS" %"PRIuS"\n", pt->p1, pt->p2, pt->p3); } void writeTexturedTriangles() { for(std::deque::const_iterator pt = triangles.begin(); pt != triangles.end(); pt++) fprintf(fp,"f %"PRIuS"/%"PRIuS" %"PRIuS"/%"PRIuS" %"PRIuS"/%"PRIuS"\n", pt->p1,pt->t1, pt->p2,pt->t2, pt->p3,pt->t3); } }; struct lt_mglColor { bool operator()(const mglColor& c1, const mglColor& c2) const { if(c1.r!=c2.r) return (c1.r colormap; struct ObjMaterials { colormap materialmap; FILE* const fp; ObjMaterials(FILE *f) : fp(f) {} size_t addColor(const mglColor& color) { colormap::iterator pc = materialmap.find(color); if(pc!=materialmap.end()) return pc->second; else { const size_t color_index = materialmap.size(); materialmap.insert(std::make_pair(color,color_index)); fprintf(fp,"newmtl Material%"PRIuS"\n", color_index); fprintf(fp,"Ka 0.1 0.1 0.1\n"); fprintf(fp,"Kd %g %g %g\n", color.r, color.g, color.b); fprintf(fp,"Ks 0.0 0.0 0.0\n"); fprintf(fp,"d %g\nillum 2\nNs 15.0\n",color.a); return color_index; } } size_t addColor(mreal r, mreal g, mreal b, mreal a) { const mglColor color(r,g,b,a); return addColor(color); } size_t addColorInfo(const mglPnt& p) { return addColor(p.r,p.g,p.b,p.a); } }; static size_t power_of_two(size_t input) { size_t value = 1; while ( value < input ) { value <<= 1; } return value; } void MGL_EXPORT mgl_write_obj(HMGL gr, const char *fname,const char *descr, int use_png) { if(gr->GetPrmNum()==0) return; // nothing to do register size_t i,j; { long mmin=0,mmax=0,m; for(i=0;iGrp.size();i++) // prepare array of indirect indexing { m = gr->Grp[i].Id; if(mmmax) mmax=m; } long *ng = new long[mmax-mmin+1]; for(i=0;iGrp.size();i++) ng[gr->Grp[i].Id-mmin] = i; for(i=0;iGetPrmNum());i++) // collect data for groups // it is rather expensive (extra 4b per primitive) but need for export to 3D { m = gr->GetPrm(i).id-mmin; if(m>=0 && mGrp[ng[m]].p.push_back(i); } delete []ng; } const size_t len=strlen(fname); const size_t ntxt=gr->GetTxtNum(); const size_t Ntxt=power_of_two(ntxt); const size_t pntnum = gr->GetPntNum(); char *tname = new char[len+5]; strcpy(tname,fname); FILE *fp=fopen(fname,"wt"); ObjXYZs vertexcoords(fp); std::vector vcs(pntnum); // vertex coord ids ObjUVs texturecoords(fp); std::vector tcs(pntnum); // texture coord ids // center point mglPnt p0; const mreal width = dynamic_cast(gr)->GetWidth(); const mreal height = dynamic_cast(gr)->GetHeight(); const mreal depth = sqrt(width*height); p0.x = width/2.; p0.y = height/2.; p0.z = (1.f-sqrt(width*height)/(2*depth))*depth; // vertices definition fprintf(fp,"# Created by MathGL library\n# Title: %s\n",(descr && *descr) ? descr : fname); for(i=0;iGetPnt(i); vcs[i] = vertexcoords.addVertexCoords(pp.x-p0.x, pp.y-p0.y, pp.z-p0.z); tcs[i] = texturecoords.addTextureCoords(pp.ta, pp.c, Ntxt); } // prepare MTL file tname[len-4]='.'; tname[len-3]='m'; tname[len-2]='t'; tname[len-1]='l'; FILE *fpmat=fopen(tname,"wt"); tname[len-4]='\0'; fprintf(fpmat,"newmtl Material\n"); fprintf(fpmat,"Ka 0.0 0.0 0.0\n"); fprintf(fpmat,"Kd 1.0 1.0 1.0\n"); fprintf(fpmat,"Ks 0.0 0.0 0.0\n"); fprintf(fpmat,"d 1.0\nillum 2\n"); if(use_png) fprintf(fpmat,"map_Kd %s_txt.png\n",tname); else fprintf(fpmat,"map_Kd %s_txt.tga\n",tname); if(use_png) strcat(tname,"_txt.png"); else strcat(tname,"_txt.tga"); // prepare texture file (TGA or PNG) const size_t txtwidth = 512; unsigned char *buf = new unsigned char[4*256*txtwidth*Ntxt]; unsigned char **pbuf= (unsigned char **)malloc(256*Ntxt*sizeof(unsigned char *)); for(i=0;i<256*Ntxt;i++) pbuf[i] = buf+4*txtwidth*i; for(i=0;iGetTxt(i).GetRGBAOBJ(buf+(Ntxt-1-i)*256*txtwidth*4); for(i=ntxt;iGrp.size();i++) { std::vector &p = gr->Grp[i].p; ObjGroup grp(fp, vertexcoords); for(j=0;jGetPrm(p[j]); register long n1=q.n1,n2=q.n2,n3=q.n3,n4=q.n4; switch(q.type) { case 0: if (gr->GetPnt(q.n1).a > mgl_min_a) { const mglPnt p = gr->GetPnt(q.n1) - p0; const mreal size = q.s; const char type = q.n4; mreal ss=size; const mglColor c(p.r, p.g, p.b, p.a); if(!strchr("xsSoO",type)) ss *= 1.1; if(type=='.' || ss==0) { const size_t m = materials.addColor(c); grp.addPoint(m, vcs[n1]); } else switch(type) { case 'P': { const size_t m = materials.addColor(c); const mreal P[5][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z }, { p.x-ss,p.y+ss,p.z }, { p.x-ss,p.y-ss,p.z } }; grp.addLines(m, 5, P); } case '+': { const size_t m = materials.addColor(c); const mreal P1[2][3] = { { p.x-ss,p.y,p.z }, { p.x+ss,p.y,p.z } }; grp.addLines(m, 2, P1); const mreal P2[2][3] = { { p.x,p.y-ss,p.z }, { p.x,p.y+ss,p.z } }; grp.addLines(m, 2, P2); } break; case 'X': { const size_t m = materials.addColor(c); const mreal P[5][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z }, { p.x-ss,p.y+ss,p.z }, { p.x-ss,p.y-ss,p.z } }; grp.addLines(m, 5, P); const mreal P1[2][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z } }; grp.addLines(m, 2, P1); const mreal P2[2][3] = { { p.x+ss,p.y-ss,p.z }, { p.x-ss,p.y+ss,p.z } }; grp.addLines(m, 2, P2); } break; case 'x': { const size_t m = materials.addColor(c); const mreal P1[2][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z } }; grp.addLines(m, 2, P1); const mreal P2[2][3] = { { p.x+ss,p.y-ss,p.z }, { p.x-ss,p.y+ss,p.z } }; grp.addLines(m, 2, P2); } break; case 'S': { const size_t ti = tcs[n1]; grp.addColourInfo(p); const size_t pi1 = vertexcoords.addVertexCoords(p.x-ss,p.y-ss,p.z); const size_t pi2 = vertexcoords.addVertexCoords(p.x+ss,p.y-ss,p.z); const size_t pi3 = vertexcoords.addVertexCoords(p.x-ss,p.y+ss,p.z); const size_t pi4 = vertexcoords.addVertexCoords(p.x+ss,p.y+ss,p.z); grp.addTriangle(pi1, ti, pi2, ti, pi3, ti); grp.addTriangle(pi4, ti, pi3, ti, pi2, ti); } break; case 's': { const size_t m = materials.addColor(c); const mreal P[5][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z }, { p.x-ss,p.y+ss,p.z }, { p.x-ss,p.y-ss,p.z } }; grp.addLines(m, 5, P); } break; case 'D': { const size_t ti = tcs[n1]; grp.addColourInfo(p); const size_t pi1 = vertexcoords.addVertexCoords(p.x,p.y-ss,p.z); const size_t pi2 = vertexcoords.addVertexCoords(p.x+ss,p.y,p.z); const size_t pi3 = vertexcoords.addVertexCoords(p.x-ss,p.y,p.z); const size_t pi4 = vertexcoords.addVertexCoords(p.x,p.y+ss,p.z); grp.addTriangle(pi1, ti, pi2, ti, pi3, ti); grp.addTriangle(pi4, ti, pi3, ti, pi2, ti); } break; case 'd': { const size_t m = materials.addColor(c); const mreal P[5][3] = { { p.x,p.y-ss,p.z }, { p.x+ss,p.y,p.z }, { p.x,p.y+ss,p.z }, { p.x-ss,p.y,p.z }, { p.x,p.y-ss,p.z } }; grp.addLines(m, 5, P); } break; case 'Y': { const size_t m = materials.addColor(c); const mreal P1[3][3] = { { p.x, p.y-ss, p.z }, { p.x, p.y, p.z }, { p.x+0.8*ss,p.y+0.6*ss,p.z } }; grp.addLines(m, 3, P1); const mreal P2[2][3] = { { p.x, p.y, p.z }, { p.x-0.8*ss,p.y+0.6*ss,p.z } }; grp.addLines(m, 2, P2); } break; case '*': { const size_t m = materials.addColor(c); const mreal P1[2][3] = { { p.x-ss,p.y,p.z }, { p.x+ss,p.y,p.z } }; grp.addLines(m, 2, P1); const mreal P2[2][3] = { { p.x-0.6*ss,p.y-0.8*ss,p.z }, { p.x+0.6*ss,p.y+0.8*ss,p.z } }; grp.addLines(m, 2, P2); const mreal P3[2][3] = { { p.x-0.6*ss,p.y+0.8*ss,p.z }, { p.x+0.6*ss,p.y-0.8*ss,p.z } }; grp.addLines(m, 2, P3); } break; case 'T': { const size_t ti = tcs[n1]; grp.addColourInfo(p); const size_t pi1 = vertexcoords.addVertexCoords(p.x-ss,p.y-ss/2,p.z); const size_t pi2 = vertexcoords.addVertexCoords(p.x+ss,p.y-ss/2,p.z); const size_t pi3 = vertexcoords.addVertexCoords(p.x,p.y+ss,p.z); grp.addTriangle(pi1, ti, pi2, ti, pi3, ti); } break; case '^': { const size_t m = materials.addColor(c); const mreal P[4][3] = { { p.x-ss,p.y-ss/2,p.z }, { p.x+ss,p.y-ss/2,p.z }, { p.x, p.y+ss, p.z }, { p.x-ss,p.y-ss/2,p.z } }; grp.addLines(m, 4, P); } break; case 'V': { const size_t ti = tcs[n1]; grp.addColourInfo(p); const size_t pi1 = vertexcoords.addVertexCoords(p.x-ss,p.y+ss/2,p.z); const size_t pi2 = vertexcoords.addVertexCoords(p.x,p.y-ss,p.z); const size_t pi3 = vertexcoords.addVertexCoords(p.x+ss,p.y+ss/2,p.z); grp.addTriangle(pi1, ti, pi2, ti, pi3, ti); } break; case 'v': { const size_t m = materials.addColor(c); const mreal P[4][3] = { { p.x-ss,p.y+ss/2,p.z }, { p.x+ss,p.y+ss/2,p.z }, { p.x, p.y-ss, p.z }, { p.x-ss,p.y+ss/2,p.z } }; grp.addLines(m, 4, P); } break; case 'L': { const size_t ti = tcs[n1]; grp.addColourInfo(p); const size_t pi1 = vertexcoords.addVertexCoords(p.x+ss/2,p.y+ss,p.z); const size_t pi2 = vertexcoords.addVertexCoords(p.x-ss, p.y, p.z); const size_t pi3 = vertexcoords.addVertexCoords(p.x+ss/2,p.y-ss,p.z); grp.addTriangle(pi1, ti, pi2, ti, pi3, ti); } break; case '<': { const size_t m = materials.addColor(c); const mreal P[4][3] = { { p.x+ss/2,p.y+ss,p.z }, { p.x+ss/2,p.y-ss,p.z }, { p.x-ss, p.y, p.z }, { p.x+ss/2,p.y+ss,p.z } }; grp.addLines(m, 4, P); } break; case 'R': { const size_t ti = tcs[n1]; grp.addColourInfo(p); const size_t pi1 = vertexcoords.addVertexCoords(p.x-ss/2,p.y+ss,p.z); const size_t pi2 = vertexcoords.addVertexCoords(p.x-ss/2,p.y-ss,p.z); const size_t pi3 = vertexcoords.addVertexCoords(p.x+ss, p.y, p.z); grp.addTriangle(pi1, ti, pi2, ti, pi3, ti); } break; case '>': { const size_t m = materials.addColor(c); const mreal P[4][3] = { { p.x-ss/2,p.y+ss,p.z }, { p.x-ss/2,p.y-ss,p.z }, { p.x+ss, p.y, p.z }, { p.x-ss/2,p.y+ss,p.z } }; grp.addLines(m, 4, P); } break; case 'O': { const size_t ti = tcs[n1]; grp.addColourInfo(p); const size_t cpi=vertexcoords.addVertexCoords(p.x, p.y, p.z); size_t pnti[21]; for(size_t k=0;k<=20;k++) pnti[k]=vertexcoords.addVertexCoords(p.x+ss*cos(k*M_PI/10),p.y+ss*sin(k*M_PI/10),p.z); for(size_t k=0;k<20;k++) { grp.addTriangle(pnti[k], ti, pnti[k+1], ti, cpi, ti); } } break; case 'C': { const size_t m = materials.addColor(c); grp.addPoint(m, vcs[n1]); } case 'o': { const size_t m = materials.addColor(c); mreal P[21][3]; for(size_t k=0;k<=20;k++) { P[k][0] = p.x+ss*cos(k*M_PI/10); P[k][1] = p.y+ss*sin(k*M_PI/10); P[k][2] = p.z; } grp.addLines(m, 21, P); } break; } } break; case 1: if (gr->GetPnt(q.n1).a > mgl_min_a || gr->GetPnt(q.n2).a > mgl_min_a) { const mglPnt& p1 = gr->GetPnt(q.n1); const mglPnt& p2 = gr->GetPnt(q.n2); const size_t m = materials.addColor((p1.r+p2.r)/2, (p1.g+p2.g)/2, (p1.b+p2.b)/2, (p1.a+p2.a)/2); grp.addSegment(m, vcs[n1], vcs[n2]); } break; case 2: if (gr->GetPnt(q.n1).a > mgl_min_a || gr->GetPnt(q.n2).a > mgl_min_a || gr->GetPnt(q.n3).a > mgl_min_a) { grp.addTriangle(vcs[n1],tcs[n1], vcs[n2],tcs[n2], vcs[n3],tcs[n3]); grp.addColourInfo(gr->GetPnt(n1)); grp.addColourInfo(gr->GetPnt(n2)); grp.addColourInfo(gr->GetPnt(n3)); } break; case 3: if (gr->GetPnt(q.n1).a > mgl_min_a || gr->GetPnt(q.n2).a > mgl_min_a || gr->GetPnt(q.n3).a > mgl_min_a || gr->GetPnt(q.n4).a > mgl_min_a) { grp.addTriangle(vcs[n1],tcs[n1], vcs[n2],tcs[n2], vcs[n3],tcs[n3]); grp.addTriangle(vcs[n2],tcs[n2], vcs[n4],tcs[n4], vcs[n3],tcs[n3]); grp.addColourInfo(gr->GetPnt(n1)); grp.addColourInfo(gr->GetPnt(n2)); grp.addColourInfo(gr->GetPnt(n3)); grp.addColourInfo(gr->GetPnt(n4)); } break; case 4: { const mglPnt p = gr->GetPnt(q.n1) - p0; const mreal f = q.p/2, dx=p.u/2, dy=p.v/2; const mreal c=q.s*cos(q.w*M_PI/180), s=-q.s*sin(q.w*M_PI/180); const double b[4] = {c,-s, s,c}; long ik,il=0; const mglGlyph &g = gr->GetGlf(q.n4); const mreal dd = 0.004; if(q.n3&8) { const size_t p_4 = vertexcoords.addVertexCoords(p.x+b[0]*dx+b[1]*(dy-dd),p.y+b[2]*dx+b[3]*(dy-dd),p.z); const size_t p_3 = vertexcoords.addVertexCoords(p.x+b[0]*dx+b[1]*(dy+dd),p.y+b[2]*dx+b[3]*(dy+dd),p.z); const size_t p_2 = vertexcoords.addVertexCoords(p.x+b[0]*(dx+f)+b[1]*(dy-dd),p.y+b[2]*dx+b[3]*(dy-dd),p.z); const size_t p_1 = vertexcoords.addVertexCoords(p.x+b[0]*(dx+f)+b[1]*(dy+dd),p.y+b[2]*dx+b[3]*(dy+dd),p.z); if(!(q.n3&4)) // glyph_line(p,f,true, d); { const size_t ti = tcs[n1]; grp.addColourInfo(p); grp.addMonoTriangle(ti, p_1, p_3, p_2); grp.addMonoTriangle(ti, p_4, p_2, p_3); } else // glyph_line(p,f,false, d); { const size_t m = materials.addColor(p.r, p.g, p.b, p.a); grp.addSegment(m, p_1, p_2); grp.addSegment(m, p_3, p_4); grp.addSegment(m, p_1, p_3); grp.addSegment(m, p_2, p_4); } } else { if(!(q.n3&4)) // glyph_fill(p,f,g, d); { for(ik=0;ikGrp[i].Lbl.c_str()); if (!grp.triangles.empty()) { if (grp.samecolor) { fprintf(fp,"usemtl Material%"PRIuS"\n", materials.addColor(grp.commoncolor)); grp.writeTriangles(); } else { fprintf(fp,"usemtl Material\n"); grp.writeTexturedTriangles(); } } grp.writeLines(); grp.writePoints(); gr->Grp[i].p.clear(); // we don't need indexes anymore } fclose(fp); fclose(fpmat); delete []tname; } void MGL_EXPORT mgl_write_obj_(uintptr_t *gr, const char *fname,const char *descr, int *use_png,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]='\0'; char *d=new char[n+1]; memcpy(d,descr,n); d[n]='\0'; mgl_write_obj(_GR_,s,d,*use_png); delete []s; delete []d; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/base.cpp0000664000175000017500000013174612142400470015131 0ustar balakinbalakin/*************************************************************************** * base.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/font.h" #include "mgl2/base.h" #include "mgl2/eval.h" //----------------------------------------------------------------------------- char *mgl_strdup(const char *s) { char *r = (char *)malloc((strlen(s)+1)*sizeof(char)); memcpy(r,s,(strlen(s)+1)*sizeof(char)); return r; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_create_cpp_font(HMGL gr, const wchar_t *how) { unsigned long l=wcslen(how), i, n=0, m; wchar_t ch=*how; const mglFont *f = gr->GetFont(); std::vector s; s.push_back(ch); for(i=1;iInternal(s[i]); l += 2*f->GetNl(0,ch); n += 6*f->GetNt(0,ch); } printf("unsigned mgl_numg=%lu, mgl_cur=%lu;\n",(unsigned long)s.size(),l+n); printf("float mgl_fact=%g;\n",f->GetFact(0)/mgl_fgen); printf("long mgl_gen_fnt[%lu][6] = {\n", (unsigned long)s.size()); for(i=m=0;iInternal(s[i]); int m1 = f->GetNl(0,ch), m2 = f->GetNt(0,ch); printf("\t{0x%x,%d,%d,%lu,%d,%lu},\n",unsigned(s[i]),f->GetWidth(0,ch),m1,m,m2,m+2*m1); m += 2*m1+6*m2; } if(m!=l+n) printf("#error \"%lu !=%lu + %lu\"",m,l,n); printf("};\nshort mgl_buf_fnt[%lu] = {\n",m); for(i=0;iInternal(s[i]); unsigned m1 = f->GetNl(0,ch), m2 = f->GetNt(0,ch); const short *ln = f->GetLn(0,ch), *tr = f->GetTr(0,ch); for(l=0;l<2*m1;l++) printf("%d,",ln[l]); printf("\n"); for(l=0;l<6*m2;l++) printf("%d,",tr[l]); printf("\n"); } printf("};\n"); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_strtrim(char *str) { char *c = mgl_strdup(str); long k,n=strlen(str); for(k=0;k' ') break; strcpy(c,&(str[k])); n = strlen(c); for(k=n-1;k>=0;k--) if(c[k]>' ') break; c[k+1] = 0; strcpy(str,c); free(c); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_strlwr(char *str) { for(long k=0;k<(long)strlen(str);k++) str[k] = (str[k]>='A' && str[k]<='Z') ? str[k]+'a'-'A' : str[k]; } //----------------------------------------------------------------------------- mglBase::mglBase() { Flag=0; saved=false; #if MGL_HAVE_PTHREAD pthread_mutex_init(&mutexPnt,0); pthread_mutex_init(&mutexTxt,0); pthread_mutex_init(&mutexSub,0); pthread_mutex_init(&mutexLeg,0); pthread_mutex_init(&mutexPrm,0); pthread_mutex_init(&mutexPtx,0); pthread_mutex_init(&mutexStk,0); pthread_mutex_init(&mutexGrp,0); pthread_mutex_init(&mutexGlf,0); pthread_mutex_init(&mutexAct,0); pthread_mutex_init(&mutexDrw,0); #endif fnt=0; *FontDef=0; fx=fy=fz=fa=fc=0; AMin = mglPoint(0,0,0,0); AMax = mglPoint(1,1,1,1); InUse = 1; SetQuality(); FaceNum = 0; // Always create default palette txt[0] and default scheme txt[1] Txt.reserve(3); MGL_PUSH(Txt,mglTexture(MGL_DEF_PAL,-1),mutexTxt); MGL_PUSH(Txt,mglTexture(MGL_DEF_SCH,1),mutexTxt); memcpy(last_style,"{k5}-1\0",8); MinS=mglPoint(-1,-1,-1); MaxS=mglPoint(1,1,1); fnt = new mglFont; fnt->gr = this; PrevState=NAN; } mglBase::~mglBase() { ClearEq(); delete fnt; } //----------------------------------------------------------------------------- void mglBase::RestoreFont() { fnt->Restore(); } void mglBase::LoadFont(const char *name, const char *path) { if(name && *name) fnt->Load(name,path); else fnt->Restore(); } void mglBase::CopyFont(mglBase *gr) { fnt->Copy(gr->GetFont()); } //----------------------------------------------------------------------------- mreal mglBase::TextWidth(const char *text, const char *font, mreal size) const { return (size<0?-size*FontSize:size)*font_factor*fnt->Width(text,(font&&*font)?font:FontDef)/20.16; } mreal mglBase::TextWidth(const wchar_t *text, const char *font, mreal size) const { return (size<0?-size*FontSize:size)*font_factor*fnt->Width(text,(font&&*font)?font:FontDef)/20.16; } mreal mglBase::TextHeight(const char *font, mreal size) const { return (size<0?-size*FontSize:size)*font_factor*fnt->Height(font?font:FontDef)/20.16; } void mglBase::AddActive(long k,int n) { if(k<0 || (size_t)k>=Pnt.size()) return; mglActivePos p; const mglPnt &q=Pnt[k]; int h=GetHeight(); p.x = int(q.x); p.y = h>1?h-1-int(q.y):int(q.y); p.id = ObjId; p.n = n; MGL_PUSH(Act,p,mutexAct); } //----------------------------------------------------------------------------- mreal mglBase::GetRatio() const { return 1; } int mglBase::GetWidth() const { return 1; } int mglBase::GetHeight() const { return 1; } //----------------------------------------------------------------------------- void mglBase::StartGroup(const char *name, int id) { LightScale(); char buf[128]; snprintf(buf,128,"%s_%d",name,id); StartAutoGroup(buf); } //----------------------------------------------------------------------------- const char *mglWarn[mglWarnEnd] = {"data dimension(s) is incompatible", "data dimension(s) is too small", "minimal data value is negative", "no file or wrong data dimensions", "not enough memory", "data values are zero", "too many legend entries", "no legend entries", "slice value is out of range", "number of contours is zero or negative", "couldn't open file", "light: ID is out of range", "size(s) is zero or negative", "format is not supported for that build", "axis ranges are incompatible", "pointer is NULL", "not enough space for plot"}; //----------------------------------------------------------------------------- void mglBase::SetWarn(int code, const char *who) { WarnCode = code>0 ? code:0; if(code>0 && code0?new short[6*nt]:0; if(line) delete []line; line = nl>0?new short[2*nl]:0; } //----------------------------------------------------------------------------- bool mglGlyph::operator==(const mglGlyph &g) { if(nl!=g.nl || nt!=g.nt) return false; if(trig && memcmp(trig,g.trig,6*nt*sizeof(short))) return false; if(line && memcmp(line,g.line,2*nl*sizeof(short))) return false; return true; } //----------------------------------------------------------------------------- long mglBase::AddGlyph(int s, long j) { // first create glyph for current typeface s = s&3; mglGlyph g(fnt->GetNt(s,j), fnt->GetNl(s,j)); memcpy(g.trig, fnt->GetTr(s,j), 6*g.nt*sizeof(short)); memcpy(g.line, fnt->GetLn(s,j), 2*g.nl*sizeof(short)); // now let find the similar glyph register size_t i; for(i=0;i0) ScalePoint(p,n,!(scl&2)); if(mgl_isnan(p.x)) return -1; a = (a>=0 && a<=1) ? a : AlphaDef; c = (c>=0) ? c:CDef; mglPnt q; if(get(MGL_REDUCEACC)) { q.x=q.xx=int(p.x*10)*0.1; q.y=q.yy=int(p.y*10)*0.1; q.z=q.zz=int(p.z*10)*0.1; q.c=int(c*100)*0.01; q.t=q.ta=int(a*100)*0.01; q.u=int(n.x*100)*0.01; q.v=int(n.y*100)*0.01; q.w=int(n.z*100)*0.01; } else { q.x=q.xx=p.x; q.y=q.yy=p.y; q.z=q.zz=p.z; q.c=c; q.t=q.ta=a; q.u=n.x; q.v=n.y; q.w=n.z; } register long ci=long(c); if(ci<0 || ci>=(long)Txt.size()) ci=0; // NOTE never should be here!!! const mglTexture &txt=Txt[ci]; txt.GetC(c,a,q); // RGBA color // add gap for texture coordinates for compatibility with OpenGL const mreal gap = 0./MGL_TEXTURE_COLOURS; q.c = ci+(q.c-ci)*(1-2*gap)+gap; q.t = q.t*(1-2*gap)+gap; q.ta = q.t; if(scl&8 && scl>0) q.a=a; // bypass palette for enabling alpha in Error() if(!get(MGL_ENABLE_ALPHA)) { q.a=1; if(txt.Smooth!=2) q.ta=1-gap; } // if(q.ta<0.005) q.ta = 0.005; // bypass OpenGL/OBJ/PRC bug if(!get(MGL_ENABLE_LIGHT) && !(scl&4)) q.u=q.v=NAN; MGL_PUSH(Pnt,q,mutexPnt); return Pnt.size()-1; } //----------------------------------------------------------------------------- long mglBase::CopyNtoC(long from, mreal c) { if(from<0) return -1; mglPnt p=Pnt[from]; if(!mgl_isnan(c)) { p.c=c; p.t=0; Txt[long(c)].GetC(c,0,p); } MGL_PUSH(Pnt,p,mutexPnt); return Pnt.size()-1; } //----------------------------------------------------------------------------- long mglBase::CopyProj(long from, mglPoint p, mglPoint n) { if(from<0) return -1; mglPnt q=Pnt[from]; q.x=q.xx=p.x; q.y=q.yy=p.y; q.z=q.zz=p.z; q.u = n.x; q.v = n.y; q.w = n.z; MGL_PUSH(Pnt,q,mutexPnt); return Pnt.size()-1; } //----------------------------------------------------------------------------- void mglBase::Reserve(long n) { if(TernAxis&4) n*=4; Pnt.reserve(n); } //----------------------------------------------------------------------------- // Boundaries and scaling //--------------------------------------------------------------------------- void mglBase::RecalcCRange() { if(!fa) { FMin.c = Min.c; FMax.c = Max.c; } else { FMin.c = 1e30; FMax.c = -1e30; register int i; mreal a; int n=30; for(i=0;i<=n;i++) { a = fa->Calc(0,0,0,Min.c+i*(Max.c-Min.c)/n); if(aFMax.c) FMax.c=a; } } } //----------------------------------------------------------------------------- void mglBase::RecalcBorder() { ZMin = 1.; if(!fx && !fy && !fz) { FMin = Min; FMax = Max; } else { FMin = mglPoint( 1e30, 1e30, 1e30); FMax = mglPoint(-1e30,-1e30,-1e30); register int i,j; int n=30; for(i=0;i<=n;i++) for(j=0;j<=n;j++) // x range { SetFBord(Min.x, Min.y+i*(Max.y-Min.y)/n, Min.z+j*(Max.z-Min.z)/n); SetFBord(Max.x, Min.y+i*(Max.y-Min.y)/n, Min.z+j*(Max.z-Min.z)/n); } for(i=0;i<=n;i++) for(j=0;j<=n;j++) // y range { SetFBord(Min.x+i*(Max.x-Min.x)/n, Min.y, Min.z+j*(Max.z-Min.z)/n); SetFBord(Min.x+i*(Max.x-Min.x)/n, Max.y, Min.z+j*(Max.z-Min.z)/n); } for(i=0;i<=n;i++) for(j=0;j<=n;j++) // x range { SetFBord(Min.x+i*(Max.x-Min.x)/n, Min.y+j*(Max.y-Min.y)/n, Min.x); SetFBord(Min.x+i*(Max.x-Min.x)/n, Min.y+j*(Max.y-Min.y)/n, Max.z); } mreal d; if(!fx) { FMin.x = Min.x; FMax.x = Max.x; } else { d=0.01*(FMax.x-FMin.x); FMin.x-=d; FMax.x+=d; } if(!fy) { FMin.y = Min.y; FMax.y = Max.y; } else { d=0.01*(FMax.y-FMin.y); FMin.y-=d; FMax.y+=d; } if(!fz) { FMin.z = Min.z; FMax.z = Max.z; } else { d=0.01*(FMax.z-FMin.z); FMin.z-=d; FMax.z+=d; } } RecalcCRange(); } //----------------------------------------------------------------------------- void mglBase::SetFBord(mreal x,mreal y,mreal z) { if(fx) { mreal v = fx->Calc(x,y,z); if(FMax.x < v) FMax.x = v; if(FMin.x > v) FMin.x = v; } if(fy) { mreal v = fy->Calc(x,y,z); if(FMax.y < v) FMax.y = v; if(FMin.y > v) FMin.y = v; } if(fz) { mreal v = fz->Calc(x,y,z); if(FMax.z < v) FMax.z = v; if(FMin.z > v) FMin.z = v; } } //----------------------------------------------------------------------------- bool mglBase::ScalePoint(mglPoint &p, mglPoint &n, bool use_nan) const { mreal &x=p.x, &y=p.y, &z=p.z; if(mgl_isnan(x) || mgl_isnan(y) || mgl_isnan(z)) { x=NAN; return false; } mreal x1,y1,z1,x2,y2,z2; x1 = x>0?x*MGL_EPSILON:x/MGL_EPSILON; x2 = x<0?x*MGL_EPSILON:x/MGL_EPSILON; y1 = y>0?y*MGL_EPSILON:y/MGL_EPSILON; y2 = y<0?y*MGL_EPSILON:y/MGL_EPSILON; z1 = z>0?z*MGL_EPSILON:z/MGL_EPSILON; z2 = z<0?z*MGL_EPSILON:z/MGL_EPSILON; bool res = true; if(x2>CutMin.x && x1CutMin.y && y1CutMin.z && z1Calc(x,y,z)!=0) res = false; if(get(MGL_ENABLE_CUT) || !use_nan) { // if(x1Max.x || y1Max.y || z1Max.z) res = false; if((x1-Min.x)*(x1-Max.x)>0 && (x2-Min.x)*(x2-Max.x)>0) res = false; if((y1-Min.y)*(y1-Max.y)>0 && (y2-Min.y)*(y2-Max.y)>0) res = false; if((z1-Min.z)*(z1-Max.z)>0 && (z2-Min.z)*(z2-Max.z)>0) res = false; } else { if(x1Max.x) {x=Max.x; n=mglPoint(1,0,0);} if(y1Max.y) {y=Max.y; n=mglPoint(0,1,0);} if(z1Max.z) {z=Max.z; n=mglPoint(0,0,1);} } x1=x; y1=y; z1=z; x2=y2=z2=1; if(fx) { x1 = fx->Calc(x,y,z); x2 = fx->CalcD('x',x,y,z); } if(fy) { y1 = fy->Calc(x,y,z); y2 = fy->CalcD('y',x,y,z); } if(fz) { z1 = fz->Calc(x,y,z); z2 = fz->CalcD('z',x,y,z); } if(mgl_isnan(x1) || mgl_isnan(y1) || mgl_isnan(z1)) { x=NAN; return false; } register mreal d; // TODO: should I update normale for infinite light source (x=NAN)?!? d = 1/(FMax.x - FMin.x); x = (2*x1 - FMin.x - FMax.x)*d; x2 *= 2*d; d = 1/(FMax.y - FMin.y); y = (2*y1 - FMin.y - FMax.y)*d; y2 *= 2*d; d = 1/(FMax.z - FMin.z); z = (2*z1 - FMin.z - FMax.z)*d; z2 *= 2*d; n.x *= y2*z2; n.y *= x2*z2; n.z *= x2*y2; if((TernAxis&3)==1) // usual ternary axis { if(x+y>0) { if(get(MGL_ENABLE_CUT)) res = false; else y = -x; } x += (y+1)/2; n.x += n.y/2; } else if((TernAxis&3)==2) // quaternary axis { if(x+y+z>-1) { if(get(MGL_ENABLE_CUT)) res = false; else z = -1-y-x; } x += 1+(y+z)/2; y += (z+1)/3; n.x += (n.y+n.z)/2; n.y += n.z/3; } if(fabs(x)>MGL_FEPSILON || fabs(y)>MGL_FEPSILON || fabs(z)>MGL_FEPSILON) res = false; if(!res && use_nan) x = NAN; // extra sign that point shouldn't be plotted return res; } //----------------------------------------------------------------------------- // Ranges //----------------------------------------------------------------------------- void mglScaleAxis(mreal &v1, mreal &v2, mreal &v0, mreal x1, mreal x2) { if(x1==x2 || v1==v2) return; mreal dv,d0; x2-=1; if(v1*v2>0 && (v2/v1>=100 || v2/v1<=0.01)) // log scale { dv=log(v2/v1); d0 = log(v0/v1)/log(v2/v1); v1*=exp(dv*x1); v2*=exp(dv*x2); v0=v1*exp(d0*log(v2/v1)); } else { dv=v2-v1; d0=(v0-v1)/(v2-v1); v1+=dv*x1; v2+=dv*x2; v0=v1+d0*(v2-v1); } } //----------------------------------------------------------------------------- void mglBase::SetOrigin(mreal x0, mreal y0, mreal z0, mreal c0) { Org=mglPoint(x0,y0,z0,c0); if((TernAxis&3)==0) { Min = OMin; Max = OMax; mglScaleAxis(Min.x, Max.x, Org.x, AMin.x, AMax.x); mglScaleAxis(Min.y, Max.y, Org.y, AMin.y, AMax.y); mglScaleAxis(Min.z, Max.z, Org.z, AMin.z, AMax.z); mglScaleAxis(Min.c, Max.c, Org.c, AMin.c, AMax.c); } } //----------------------------------------------------------------------------- void mglBase::SetRanges(mglPoint m1, mglPoint m2) { if(m1.x!=m2.x) { Min.x=m1.x; Max.x=m2.x; } if(m1.y!=m2.y) { Min.y=m1.y; Max.y=m2.y; } if(m1.z!=m2.z) { Min.z=m1.z; Max.z=m2.z; } if(m1.c!=m2.c) { Min.c=m1.c; Max.c=m2.c; } else { Min.c=Min.z;Max.c=Max.z;} if(Org.xMax.x && !mgl_isnan(Org.x)) Org.x = Max.x; if(Org.yMax.y && !mgl_isnan(Org.y)) Org.y = Max.y; if(Org.zMax.z && !mgl_isnan(Org.z)) Org.z = Max.z; if((TernAxis&3)==0) { OMax = Max; OMin = Min; mglScaleAxis(Min.x, Max.x, Org.x, AMin.x, AMax.x); mglScaleAxis(Min.y, Max.y, Org.y, AMin.y, AMax.y); mglScaleAxis(Min.z, Max.z, Org.z, AMin.z, AMax.z); mglScaleAxis(Min.c, Max.c, Org.c, AMin.c, AMax.c); } CutMin = mglPoint(0,0,0); CutMax = mglPoint(0,0,0); RecalcBorder(); } //----------------------------------------------------------------------------- void mglBase::CRange(HCDT a,bool add, mreal fact) { mreal v1=a->Minimal(), v2=a->Maximal(), dv; dv=(v2-v1)*fact; v1 -= dv; v2 += dv; if(v1==v2) return; if(!add) { Min.c = v1; Max.c = v2; } else if(Min.cv1) Min.c=v1; if(Max.cdv ? v2:dv; } if(Org.cMax.c && !mgl_isnan(Org.c)) Org.c = Max.c; if((TernAxis&3)==0) { OMax.c = Max.c; OMin.c = Min.c; mglScaleAxis(Min.c, Max.c, Org.c, AMin.c, AMax.c); } RecalcCRange(); } //----------------------------------------------------------------------------- void mglBase::XRange(HCDT a,bool add,mreal fact) { mreal v1=a->Minimal(), v2=a->Maximal(), dv; dv=(v2-v1)*fact; v1 -= dv; v2 += dv; if(v1==v2) return; if(!add) { Min.x = v1; Max.x = v2; } else if(Min.xv1) Min.x=v1; if(Max.xdv ? v2:dv; } if(Org.xMax.x && !mgl_isnan(Org.x)) Org.x = Max.x; if((TernAxis&3)==0) { OMax.x = Max.x; OMin.x = Min.x; mglScaleAxis(Min.x, Max.x, Org.x, AMin.x, AMax.x); } RecalcBorder(); } //----------------------------------------------------------------------------- void mglBase::YRange(HCDT a,bool add,mreal fact) { mreal v1=a->Minimal(), v2=a->Maximal(), dv; dv=(v2-v1)*fact; v1 -= dv; v2 += dv; if(v1==v2) return; if(!add) { Min.y = v1; Max.y = v2; } else if(Min.yv1) Min.y=v1; if(Max.ydv ? v2:dv; } if(Org.yMax.y && !mgl_isnan(Org.y)) Org.y = Max.y; if((TernAxis&3)==0) { OMax.y = Max.y; OMin.y = Min.y; mglScaleAxis(Min.y, Max.y, Org.y, AMin.y, AMax.y); } RecalcBorder(); } //----------------------------------------------------------------------------- void mglBase::ZRange(HCDT a,bool add,mreal fact) { mreal v1=a->Minimal(), v2=a->Maximal(), dv; dv=(v2-v1)*fact; v1 -= dv; v2 += dv; if(v1==v2) return; if(!add) { Min.z = v1; Max.z = v2; } else if(Min.zv1) Min.z=v1; if(Max.zdv ? v2:dv; } if(Org.zMax.z && !mgl_isnan(Org.z)) Org.z = Max.z; if((TernAxis&3)==0) { OMax.z = Max.z; OMin.z = Min.z; mglScaleAxis(Min.z, Max.z, Org.z, AMin.z, AMax.z); } RecalcBorder(); } //----------------------------------------------------------------------------- void mglBase::SetAutoRanges(mreal x1, mreal x2, mreal y1, mreal y2, mreal z1, mreal z2, mreal c1, mreal c2) { if(x1!=x2) { Min.x = x1; Max.x = x2; } if(y1!=y2) { Min.y = y1; Max.y = y2; } if(z1!=z2) { Min.z = z1; Max.z = z2; } if(c1!=c2) { Min.c = c1; Max.c = c2; } } //----------------------------------------------------------------------------- void mglBase::Ternary(int t) { static mglPoint x1(-1,-1,-1),x2(1,1,1),o(NAN,NAN,NAN); static bool c = true; TernAxis = t; if(t&3) { if(c) { x1 = Min; x2 = Max; o = Org; } // c = get(MGL_ENABLE_CUT); clr(MGL_ENABLE_CUT); SetRanges(mglPoint(0,0),mglPoint(1,1,t==1?0:1)); Org=mglPoint(0,0,0); c = false; } else if(!c) { SetRanges(x1,x2); Org=o; c=true; } } //----------------------------------------------------------------------------- // Transformation functions //----------------------------------------------------------------------------- void mglBase::SetFunc(const char *EqX,const char *EqY,const char *EqZ,const char *EqA) { if(fa) delete fa; if(fx) delete fx; if(fy) delete fy; if(fz) delete fz; if(EqX && *EqX && (EqX[0]!='x' || EqX[1]!=0)) fx = new mglFormula(EqX); else fx = 0; if(EqY && *EqY && (EqY[0]!='y' || EqY[1]!=0)) fy = new mglFormula(EqY); else fy = 0; if(EqZ && *EqZ && (EqZ[0]!='z' || EqZ[1]!=0)) fz = new mglFormula(EqZ); else fz = 0; if(EqA && *EqA && ((EqA[0]!='c' && EqA[0]!='a') || EqA[1]!=0)) fa = new mglFormula(EqA); else fa = 0; RecalcBorder(); } //----------------------------------------------------------------------------- void mglBase::CutOff(const char *EqC) { if(fc) delete fc; if(EqC && EqC[0]) fc = new mglFormula(EqC); else fc = 0; } //----------------------------------------------------------------------------- void mglBase::SetCoor(int how) { switch(how) { case mglCartesian: SetFunc(0,0); break; case mglPolar: SetFunc("x*cos(y)","x*sin(y)"); break; case mglSpherical: SetFunc("x*sin(y)*cos(z)","x*sin(y)*sin(z)","x*cos(y)"); break; case mglParabolic: SetFunc("x*y","(x*x-y*y)/2"); break; case mglParaboloidal: SetFunc("(x*x-y*y)*cos(z)/2","(x*x-y*y)*sin(z)/2","x*y"); break; case mglOblate: SetFunc("cosh(x)*cos(y)*cos(z)","cosh(x)*cos(y)*sin(z)","sinh(x)*sin(y)"); break; // SetFunc("x*y*cos(z)","x*y*sin(z)","(x*x-1)*(1-y*y)"); break; case mglProlate: SetFunc("sinh(x)*sin(y)*cos(z)","sinh(x)*sin(y)*sin(z)","cosh(x)*cos(y)"); break; case mglElliptic: SetFunc("cosh(x)*cos(y)","sinh(x)*sin(y)"); break; case mglToroidal: SetFunc("sinh(x)*cos(z)/(cosh(x)-cos(y))","sinh(x)*sin(z)/(cosh(x)-cos(y))", "sin(y)/(cosh(x)-cos(y))"); break; case mglBispherical: SetFunc("sin(y)*cos(z)/(cosh(x)-cos(y))","sin(y)*sin(z)/(cosh(x)-cos(y))", "sinh(x)/(cosh(x)-cos(y))"); break; case mglBipolar: SetFunc("sinh(x)/(cosh(x)-cos(y))","sin(y)/(cosh(x)-cos(y))"); break; case mglLogLog: SetFunc("lg(x)","lg(y)"); break; case mglLogX: SetFunc("lg(x)",""); break; case mglLogY: SetFunc("","lg(y)"); break; default: SetFunc(0,0); break; } } //----------------------------------------------------------------------------- void mglBase::ClearEq() { if(fx) delete fx; if(fy) delete fy; if(fz) delete fz; if(fa) delete fa; if(fc) delete fc; fx = fy = fz = fc = fa = 0; RecalcBorder(); } //----------------------------------------------------------------------------- // Colors ids //----------------------------------------------------------------------------- MGL_EXPORT mglColorID mglColorIds[31] = {{'k', mglColor(0,0,0)}, {'r', mglColor(1,0,0)}, {'R', mglColor(0.5,0,0)}, {'g', mglColor(0,1,0)}, {'G', mglColor(0,0.5,0)}, {'b', mglColor(0,0,1)}, {'B', mglColor(0,0,0.5)}, {'w', mglColor(1,1,1)}, {'W', mglColor(0.7,0.7,0.7)}, {'c', mglColor(0,1,1)}, {'C', mglColor(0,0.5,0.5)}, {'m', mglColor(1,0,1)}, {'M', mglColor(0.5,0,0.5)}, {'y', mglColor(1,1,0)}, {'Y', mglColor(0.5,0.5,0)}, {'h', mglColor(0.5,0.5,0.5)}, {'H', mglColor(0.3,0.3,0.3)}, {'l', mglColor(0,1,0.5)}, {'L', mglColor(0,0.5,0.25)}, {'e', mglColor(0.5,1,0)}, {'E', mglColor(0.25,0.5,0)}, {'n', mglColor(0,0.5,1)}, {'N', mglColor(0,0.25,0.5)}, {'u', mglColor(0.5,0,1)}, {'U', mglColor(0.25,0,0.5)}, {'q', mglColor(1,0.5,0)}, {'Q', mglColor(0.5,0.25,0)}, {'p', mglColor(1,0,0.5)}, {'P', mglColor(0.5,0,0.25)}, {' ', mglColor(-1,-1,-1)}, {0, mglColor(-1,-1,-1)} // the last one MUST have id=0 }; //----------------------------------------------------------------------------- void MGL_EXPORT mgl_chrrgb(char p, float c[3]) { c[0]=c[1]=c[2]=-1; for(long i=0; mglColorIds[i].id; i++) if(mglColorIds[i].id==p) { c[0]=mglColorIds[i].col.r; c[1]=mglColorIds[i].col.g; c[2]=mglColorIds[i].col.b; break; } } //----------------------------------------------------------------------------- void mglTexture::Set(const char *s, int smooth, mreal alpha) { // NOTE: New syntax -- colors are CCCCC or {CNCNCCCN}; options inside [] if(!s || !s[0]) return; strncpy(Sch,s,259); Smooth=smooth; Alpha=alpha; register long i,j=0,m=0,l=strlen(s); const char *dig = "0123456789abcdefABCDEF"; bool map = smooth==2 || mglchr(s,'%'), sm = smooth>=0 && !strchr(s,'|'); // Use mapping, smoothed colors for(i=0;i=0 && s[i]==':' && j<1) break; if(s[i]=='[') j++; if(s[i]==']') j--; if(strchr(MGL_COLORS,s[i]) && j<1) n++; if(s[i]=='x' && i>0 && s[i-1]=='{' && j<1) n++; // if(smooth && s[i]==':') break; // NOTE: should use [] } if(!n) { if((strchr(s,'|') || strchr(s,'!')) && !smooth) // sharp colors { n=l=6; s=MGL_DEF_SCH; sm = false; } else if(smooth==0) // none colors but color scheme { n=l=6; s=MGL_DEF_SCH; } else return; } bool man=sm; mglColor *c = new mglColor[2*n]; // Colors itself mreal *val = new mreal[n]; for(i=j=n=0;i=0 && s[i]==':' && j<1) break; if(s[i]=='[') j++; if(s[i]==']') j--; if(s[i]=='{') m++; if(s[i]=='}') m--; if(strchr(MGL_COLORS,s[i]) && j<1 && (m==0 || s[i-1]=='{')) // {CN,val} format, where val in [0,1] { if(m>0 && s[i+1]>'0' && s[i+1]<='9')// ext color { c[2*n] = mglColor(s[i],(s[i+1]-'0')/5.f); i++; } else c[2*n] = mglColor(s[i]); // usual color val[n]=-1; n++; } if(s[i]=='x' && i>0 && s[i-1]=='{' && j<1) // {xRRGGBB,val} format, where val in [0,1] { if(strchr(dig,s[i+1]) && strchr(dig,s[i+2]) && strchr(dig,s[i+3]) && strchr(dig,s[i+4]) && strchr(dig,s[i+5]) && strchr(dig,s[i+6])) { char ss[3]="00"; c[2*n].a = 1; ss[0] = s[i+1]; ss[1] = s[i+2]; c[2*n].r = strtol(ss,0,16)/255.; ss[0] = s[i+3]; ss[1] = s[i+4]; c[2*n].g = strtol(ss,0,16)/255.; ss[0] = s[i+5]; ss[1] = s[i+6]; c[2*n].b = strtol(ss,0,16)/255.; if(strchr(dig,s[i+7]) && strchr(dig,s[i+8])) { ss[0] = s[i+7]; ss[1] = s[i+8]; c[2*n].a = strtol(ss,0,16)/255.; i+=2; } val[n]=-1; i+=6; n++; } } if(s[i]==',' && m>0 && j<1 && n>0) val[n-1] = atof(s+i+1); // NOTE: User can change alpha if it placed like {AN} if(s[i]=='A' && j<1 && m>0 && s[i+1]>'0' && s[i+1]<='9') { man=false; alpha = 0.1*(s[i+1]-'0'); i++; } } for(i=0;i def; val[0]=0; val[n-1]=1; // boundary have to be [0,1] for(i=0;i0 && val[i]<1) def.push_back(i); def.push_back(n-1); long i1=0,i2; for(size_t j=0;j0?def[j-1]:0; i2 = def[j]; v1 = val[i1]; v2 = val[i2]; v2 = i2-i1>1?(v2-v1)/(i2-i1):0; val[i]=v1+v2*(i-i1); } // fill texture itself register mreal u,v=sm?(n-1)/255.:n/256.; for(i=0,i1=0;i<256;i++) { u = v*i; j = long(u); //u-=j; if(!sm || j==n-1) { col[2*i] = c[2*j]; col[2*i+1] = c[2*j+1]; } else if(j>n-1) // NOTE: never should be here! { col[2*i] = c[2*n-2];col[2*i+1] = c[2*n-1]; /*printf("AddTexture -- out of bounds");*/ } else { // advanced scheme using val for(;i1=255*val[i1];i1++); v2 = i1=0) { p=(p+1)%n; id = 256*i+p; } mglColor c = Txt[i].col[int(MGL_TEXTURE_COLOURS*(p+0.5)/n)]; mreal dif, dmin=1; // try to find closest color for(long j=0;mglColorIds[j].id;j++) for(long k=1;k<10;k++) { mglColor cc; cc.Set(mglColorIds[j].col,k/5.); dif = (c-cc).NormS(); if(dif0 ? (p+0.5)/n : 0); CurrPal++; return CDef; } //----------------------------------------------------------------------------- const char *mglchr(const char *str, char ch) { if(!str || !str[0]) return NULL; register char c; register size_t l=strlen(str),i,k=0; for(i=0;i0) continue; if(mglchr(stl,p[i])) { switch(p[i]) { case '|': PDef = 0x00ff; break; case ';': PDef = 0x0f0f; break; case '=': PDef = 0x3333; break; case ':': PDef = 0x1111; break; case 'j': PDef = 0x087f; break; case 'i': PDef = 0x2727; break; case ' ': PDef = 0x0000; break; default: PDef = 0xffff; break; // '-' } last_style[4]=p[i]; } else if(mglchr(mrk,p[i])) mk = p[i]; else if(mglchr(wdh,p[i])) { last_style[5] = p[i]; PenWidth = p[i]-'0'; } else if(mglchr(arr,p[i])) { if(!Arrow2) Arrow2 = p[i]; else Arrow1 = p[i]; } } if(Arrow1=='_') Arrow1=0; if(Arrow2=='_') Arrow2=0; if(mglchr(p,'#')) { if(mk=='.') mk = 'C'; if(mk=='+') mk = 'P'; if(mk=='x') mk = 'X'; if(mk=='o') mk = 'O'; if(mk=='d') mk = 'D'; if(mk=='s') mk = 'S'; if(mk=='^') mk = 'T'; if(mk=='v') mk = 'V'; if(mk=='<') mk = 'L'; if(mk=='>') mk = 'R'; if(mk=='*') mk = 'Y'; } } last_style[6]=mk; long tt, n; tt = AddTexture(p,-1); n=Txt[tt].n; CDef = tt+((n+CurrPal-1)%n+0.5)/n; if(Id) *Id=long(tt)*256+(n+CurrPal-1)%n; return mk; } //----------------------------------------------------------------------------- mreal mglBase::GetA(mreal a) const { if(fa) a = fa->Calc(0,0,0,a); a = (a-FMin.c)/(FMax.c-FMin.c); a = (a<1?(a>0?a:0):1)/MGL_FEPSILON; // for texture a must be <1 always!!! return a; } //----------------------------------------------------------------------------- mglPoint GetX(HCDT x, int i, int j, int k) { k = kGetNz() ? k : 0; if(x->GetNy()>1) return mglPoint(x->v(i,j,k),x->dvx(i,j,k),x->dvy(i,j,k)); else return mglPoint(x->v(i),x->dvx(i),0); } //----------------------------------------------------------------------------- mglPoint GetY(HCDT y, int i, int j, int k) { k = kGetNz() ? k : 0; if(y->GetNy()>1) return mglPoint(y->v(i,j,k),y->dvx(i,j,k),y->dvy(i,j,k)); else return mglPoint(y->v(j),0,y->dvx(j)); } //----------------------------------------------------------------------------- mglPoint GetZ(HCDT z, int i, int j, int k) { if(z->GetNy()>1) return mglPoint(z->v(i,j,k),z->dvx(i,j,k),z->dvy(i,j,k)); else return mglPoint(z->v(k),0,0); } //----------------------------------------------------------------------------- void mglBase::vect_plot(long p1, long p2, mreal s) { if(p1<0 || p2<0) return; const mglPnt &q1=Pnt[p1], &q2=Pnt[p2]; mglPnt s1=q2,s2=q2; s = s<=0 ? 0.1 : s*0.1; s1.x=s1.xx = q2.x - 3*s*(q2.x-q1.x) + s*(q2.y-q1.y); s2.x=s2.xx = q2.x - 3*s*(q2.x-q1.x) - s*(q2.y-q1.y); s1.y=s1.yy = q2.y - 3*s*(q2.y-q1.y) - s*(q2.x-q1.x); s2.y=s2.yy = q2.y - 3*s*(q2.y-q1.y) + s*(q2.x-q1.x); s1.z=s1.zz=s2.z=s2.zz = q2.z - 3*s*(q2.z-q1.z); long n1,n2; n1=Pnt.size(); MGL_PUSH(Pnt,s1,mutexPnt); n2=Pnt.size(); MGL_PUSH(Pnt,s2,mutexPnt); line_plot(p1,p2); line_plot(n1,p2); line_plot(p2,n2); } //----------------------------------------------------------------------------- int mglFindArg(const char *str) { register long l=0,k=0,i;//,j,len=strlen(lst); for(i=0;i0) { s[n]=0; s=s+n+1; } mgl_strtrim(a); b=s; n=mglFindArg(s); if(n>0) { s[n]=0; s=s+n+1; } mgl_strtrim(b); mreal ff=atof(b),ss; if(!strcmp(b,"on")) ff=1; if(!strcmp(a+1,"range")) { n=mglFindArg(s); c=s; if(n>0) { s[n]=0; s=s+n+1; } mgl_strtrim(c); ss = atof(c); if(a[0]=='x') { Min.x=ff; Max.x=ss; } else if(a[0]=='y') { Min.y=ff; Max.y=ss; } else if(a[0]=='z') { Min.z=ff; Max.z=ss; } // else if(a[0]=='c') { Min.c=ff; Max.c=ss; } // Bad idea since there is formula for coloring } else if(!strcmp(a,"cut")) SetCut(ff!=0); else if(!strcmp(a,"meshnum")) SetMeshNum(ff); else if(!strcmp(a,"alpha")) {Alpha(true); SetAlphaDef(ff);} else if(!strcmp(a,"light")) Light(ff!=0); else if(!strcmp(a,"ambient")) SetAmbient(ff); else if(!strcmp(a,"diffuse")) SetDifLight(ff); else if(!strcmp(a,"size")) { SetMarkSize(ff); SetFontSize(ff); SetArrowSize(ff); } else if(!strcmp(a,"num") || !strcmp(a,"number") || !strcmp(a,"value")) res=ff; else if(!strcmp(a,"legend")) { if(*b=='\'') { b++; b[strlen(b)-1]=0; } leg_str = b; } } free(qi); PrevState=res; return res; } //----------------------------------------------------------------------------- void mglBase::LoadState() { if(!saved) return; MarkSize=MSS; ArrowSize=ASS; FontSize=FSS; AlphaDef=ADS; MeshNum=MNS; Flag=CSS; AmbBr=LSS; Min=MinS; Max=MaxS; saved=false; } //----------------------------------------------------------------------------- void mglBase::AddLegend(const wchar_t *text,const char *style) { if(text) MGL_PUSH(Leg,mglText(text,style),mutexLeg); } //----------------------------------------------------------------------------- void mglBase::AddLegend(const char *str,const char *style) { if(!str || *str==0) return; size_t s = mbstowcs(0,str,0)+1; wchar_t *wcs = new wchar_t[s]; mbstowcs(wcs,str,s); AddLegend(wcs, style); delete []wcs; } //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_check_dim2(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT a, const char *name, bool less) { // if(!gr || !x || !y || !z) return true; // if data is absent then should be segfault!!! register long n=z->GetNx(),m=z->GetNy(); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,name); return true; } if(a && n*m*z->GetNz()!=a->GetNx()*a->GetNy()*a->GetNz()) { gr->SetWarn(mglWarnDim,name); return true; } if(less) { if(x->GetNx()SetWarn(mglWarnDim,name); return true; } if(y->GetNx()GetNy()GetNx()GetNy()SetWarn(mglWarnDim,name); return true; } } else { if(x->GetNx()!=n) { gr->SetWarn(mglWarnDim,name); return true; } if(y->GetNx()!=m && (x->GetNy()!=m || y->GetNx()!=n || y->GetNy()!=m)) { gr->SetWarn(mglWarnDim,name); return true; } } return false; } //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_check_dim0(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, const char *name, bool less) { // if(!gr || !x || !y) return true; // if data is absent then should be segfault!!! register long n=y->GetNx(); if(less) { if(x->GetNx()SetWarn(mglWarnDim,name); return true; } if(z && z->GetNx()SetWarn(mglWarnDim,name); return true; } if(r && r->GetNx()SetWarn(mglWarnDim,name); return true; } } else { if(x->GetNx()!=n) { gr->SetWarn(mglWarnDim,name); return true; } if(z && z->GetNx()!=n) { gr->SetWarn(mglWarnDim,name); return true; } if(r && r->GetNx()!=n) { gr->SetWarn(mglWarnDim,name); return true; } } return false; } //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_check_dim1(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT r, const char *name, bool less) { // if(!gr || !x || !y) return true; // if data is absent then should be segfault!!! register long n=y->GetNx(); if(n<2) { gr->SetWarn(mglWarnLow,name); return true; } if(less) { if(x->GetNx()SetWarn(mglWarnDim,name); return true; } if(z && z->GetNx()SetWarn(mglWarnDim,name); return true; } if(r && r->GetNx()SetWarn(mglWarnDim,name); return true; } } else { if(x->GetNx()!=n) { gr->SetWarn(mglWarnDim,name); return true; } if(z && z->GetNx()!=n) { gr->SetWarn(mglWarnDim,name); return true; } if(r && r->GetNx()!=n) { gr->SetWarn(mglWarnDim,name); return true; } } return false; } //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_check_dim3(HMGL gr, bool both, HCDT x, HCDT y, HCDT z, HCDT a, HCDT b, const char *name) { // if(!gr || !x || !y || !z || !a) return true; // if data is absent then should be segfault!!! register long n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(n<2 || m<2 || l<2) { gr->SetWarn(mglWarnLow,name); return true; } if(!(both || (x->GetNx()==n && y->GetNx()==m && z->GetNx()==l))) { gr->SetWarn(mglWarnDim,name); return true; } if(b && b->GetNx()*b->GetNy()*b->GetNz()!=n*m*l) { gr->SetWarn(mglWarnDim,name); return true; } return false; } //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_check_trig(HMGL gr, HCDT nums, HCDT x, HCDT y, HCDT z, HCDT a, const char *name, int d) { // if(!gr || !x || !y || !z || !a || !nums) return true; // if data is absent then should be segfault!!! long n = x->GetNx(), m = nums->GetNy(); if(nums->GetNx()SetWarn(mglWarnLow,name); return true; } if(y->GetNx()!=n || z->GetNx()!=n) { gr->SetWarn(mglWarnDim,name); return true; } if(a->GetNx()!=m && a->GetNx()!=n) { gr->SetWarn(mglWarnDim,name); return true; } return false; } //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_isboth(HCDT x, HCDT y, HCDT z, HCDT a) { register long n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); return x->GetNx()*x->GetNy()*x->GetNz()==n*m*l && y->GetNx()*y->GetNy()*y->GetNz()==n*m*l && z->GetNx()*z->GetNy()*z->GetNz()==n*m*l; } //----------------------------------------------------------------------------- bool MGL_EXPORT mgl_check_vec3(HMGL gr, HCDT x, HCDT y, HCDT z, HCDT ax, HCDT ay, HCDT az, const char *name) { // if(!gr || !x || !y || !z || !ax || !ay || !az) return true; // if data is absent then should be segfault!!! register long n=ax->GetNx(),m=ax->GetNy(),l=ax->GetNz(); if(n*m*l!=ay->GetNx()*ay->GetNy()*ay->GetNz() || n*m*l!=az->GetNx()*az->GetNy()*az->GetNz()) { gr->SetWarn(mglWarnDim,name); return true; } if(n<2 || m<2 || l<2) { gr->SetWarn(mglWarnLow,name); return true; } bool both = x->GetNx()*x->GetNy()*x->GetNz()==n*m*l && y->GetNx()*y->GetNy()*y->GetNz()==n*m*l && z->GetNx()*z->GetNy()*z->GetNz()==n*m*l; if(!(both || (x->GetNx()==n && y->GetNx()==m && z->GetNx()==l))) { gr->SetWarn(mglWarnDim,name); return true; } return false; } //----------------------------------------------------------------------------- void mglBase::SetFontDef(const char *font) { strncpy(FontDef, font, 31); } //----------------------------------------------------------------------------- void mglBase::ClearUnused() { #if MGL_HAVE_PTHREAD pthread_mutex_lock(&mutexPnt); pthread_mutex_lock(&mutexPrm); #endif register size_t i, l=Prm.size(); // find points which are actually used long *used = new long[Pnt.size()]; memset(used,0,Pnt.size()*sizeof(long)); for(i=0;i=0) used[p.n2] = 1; break; case 2: if(p.n2>=0 && p.n3>=0) used[p.n2] = used[p.n3] = 1; break; case 3: if(p.n2>=0 && p.n3>=0 && p.n4>=0) used[p.n2] = used[p.n3] = used[p.n4] = 1; break; } } // now add proper indexes l=Pnt.size(); std::vector pnt; for(i=0;i * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/font.h" #include "mgl2/canvas.h" //----------------------------------------------------------------------------- MGL_EXPORT std::string mglGlobalMess; ///< Buffer for receiving global messages //----------------------------------------------------------------------------- mglCanvas::mglCanvas(int w, int h) : mglBase() { clr(MGL_DISABLE_SCALE); set(MGL_VECT_FRAME); // NOTE: require a lot of memory! Z=0; C=G=G4=0; OI=0; gif=0; CurFrameId=0; Delay=0.5; Width=Height=Depth=0; ObjId=-1; fscl=ftet=0; PlotId = "frame"; dr_nx1=dr_nx2=dr_ny1=dr_ny2=0; // Allowed drawing region ac.ch='c'; ax.dir = mglPoint(1,0,0); ax.a = mglPoint(0,1,0); ax.b = mglPoint(0,0,1); ax.ch='x'; ay.dir = mglPoint(0,1,0); ay.a = mglPoint(1,0,0); ay.b = mglPoint(0,0,1); ay.ch='y'; az.dir = mglPoint(0,0,1); az.a = mglPoint(0,1,0); az.b = mglPoint(1,0,0); az.ch='z'; SetSize(w,h); SetQuality(MGL_DRAW_NORM); DefaultPlotParam(); } //----------------------------------------------------------------------------- mglCanvas::~mglCanvas() { if(G) { delete []G; delete []C; delete []Z; delete []G4;delete []OI; } } //----------------------------------------------------------------------------- long mglCanvas::PushDrwDat() { mglDrawDat d; d.Pnt=Pnt; d.Prm=Prm; d.Glf=Glf; d.Ptx=Ptx; d.Txt=Txt; MGL_PUSH(DrwDat,d,mutexDrw); return DrwDat.size(); } //----------------------------------------------------------------------------- void mglCanvas::ResetFrames() { CurFrameId=0; DrwDat.clear(); } //----------------------------------------------------------------------------- void mglCanvas::SetFrame(long i) { if(get(MGL_VECT_FRAME) && i>=0 && i=DrwDat.size()) return; Clf(); const mglDrawDat &d=DrwDat[k]; #if MGL_HAVE_PTHREAD pthread_mutex_lock(&mutexPnt); pthread_mutex_lock(&mutexPrm); pthread_mutex_lock(&mutexGlf); pthread_mutex_lock(&mutexPtx); pthread_mutex_lock(&mutexTxt); #endif Pnt=d.Pnt; Prm=d.Prm; Glf=d.Glf; Ptx=d.Ptx; Txt=d.Txt; #if MGL_HAVE_PTHREAD pthread_mutex_unlock(&mutexTxt); pthread_mutex_unlock(&mutexPtx); pthread_mutex_unlock(&mutexGlf); pthread_mutex_unlock(&mutexPrm); pthread_mutex_unlock(&mutexPnt); #endif } //----------------------------------------------------------------------------- void mglCanvas::ShowFrame(long k) { if(k<0 || (size_t)k>=DrwDat.size()) return; ClfZB(); size_t npnt=Pnt.size(), nglf=Glf.size(), nptx=Ptx.size(), ntxt=Txt.size(); #if MGL_HAVE_PTHREAD pthread_mutex_lock(&mutexPnt); pthread_mutex_lock(&mutexPrm); pthread_mutex_lock(&mutexGlf); pthread_mutex_lock(&mutexPtx); pthread_mutex_lock(&mutexTxt); #endif const mglDrawDat &d=DrwDat[k]; register size_t i; Glf.reserve(d.Glf.size()); for(i=0;i=0) { a.z = Pnt[a.n1].z; // this is a bit less accurate but simpler for transformation a.id = ObjId; MGL_PUSH(Prm,a,mutexPrm); clr(MGL_FINISHED); } } //----------------------------------------------------------------------------- void mglCanvas::DefaultPlotParam() { /* NOTE: following variables and mutex will not be changed by DefaultPlotParam() long InUse; ///< Smart pointer (number of users) mglFont *fnt; ///< Class for printing vector text int Quality; ///< Quality of plot (0x0-pure, 0x1-fast; 0x2-fine; 0x4 - low memory) int Width; ///< Width of the image int Height; ///< Height of the image int Depth; ///< Depth of the image int CurFrameId; ///< Number of automaticle created frames GifFileType *gif;*/ SetTickRotate(true); SetTickSkip(true); SetWarn(mglWarnNone,""); mglGlobalMess = ""; ObjId = -1; HighId = INT_MIN; SetFunc(0,0); Stop=false; CutOff(0); Ternary(0); SetRanges(mglPoint(-1,-1,-1,-1), mglPoint(1,1,1,1)); SetOrigin(NAN,NAN,NAN,NAN); SetBarWidth(0.7); SetMarkSize(1); SetArrowSize(1); SetAlphaDef(0.5); FontDef[0]=0; SetTranspType(0); SetMeshNum(0); // NOTE: default MeshNum=0 SetRotatedText(true); CurrPal = 0; SetLegendMarks(); SetFontSize(4); SetTuneTicks(-1); SetAmbient(); clr(MGL_DISABLE_SCALE); clr(MGL_USE_GMTIME); clr(MGL_NOSUBTICKS); SetDifLight(false); SetReduceAcc(false); SetDefScheme(MGL_DEF_SCH); SetPalette(MGL_DEF_PAL); SetPenPal("k-1"); Alpha(false); SetTicks('x'); SetTicks('y'); SetTicks('z'); SetTicks('c'); stack.clear(); Restore(); DefColor('k'); SetPlotFactor(0); InPlot(0,1,0,1,false); SetTickLen(0); SetCut(true); AdjustTicks("xyzc",true); Clf(); for(int i=0;i<10;i++) { AddLight(i, mglPoint(0,0,1)); Light(i,false); } Light(0,true); Light(false); SetDifLight(true); } //----------------------------------------------------------------------------- // Optimal axis position //----------------------------------------------------------------------------- mreal mglCanvas::FindOptOrg(char dir, int ind) const { static mglPoint px, py, pz, m1, m2; static mglMatrix bb; bb.b[0]=1e30; mglPoint nn[8]={mglPoint(0,0,0), mglPoint(0,0,1), mglPoint(0,1,0,0), mglPoint(0,1,1), mglPoint(1,0,0), mglPoint(1,0,1), mglPoint(1,1,0), mglPoint(1,1,1)}, pp[8]; memcpy(pp, nn, 8*sizeof(mglPoint)); // do nothing if transformation matrix the same if(memcmp(B.b,bb.b,9*sizeof(mreal)) || m1!=Min || m2!=Max) { m1 = Min; m2 = Max; memcpy(&bb,&B,sizeof(mglMatrix)); PostScale(pp,8); // find point with minimal y register long i,j=0; for(i=1;i<8;i++) if(pp[i].y1-x px = Min+(Max-Min)/px; py = Min+(Max-Min)/py; pz = Min+(Max-Min)/pz; } mreal res = px.val(ind); if(dir=='y') res = py.val(ind); if(dir=='z') res = pz.val(ind); return res; } //----------------------------------------------------------------------------- mreal mglCanvas::GetOrgX(char dir) const { mreal res = Org.x; if(mgl_isnan(res)) { if(strchr("xyz",dir)) res = FindOptOrg(dir,0); else if(dir=='t') res = Min.x; else res = B.b[6]>0 ? Max.x:Min.x; } return res; } //----------------------------------------------------------------------------- mreal mglCanvas::GetOrgY(char dir) const { mreal res = Org.y; if(mgl_isnan(res)) { if(strchr("xyz",dir)) res = FindOptOrg(dir,1); else if(dir=='t') res = Min.y; else res = B.b[7]>0 ? Max.y:Min.y; } return res; } //----------------------------------------------------------------------------- mreal mglCanvas::GetOrgZ(char dir) const { mreal res = Org.z; if(mgl_isnan(res)) { if(strchr("xyz",dir)) res = FindOptOrg(dir,2); else if(dir=='t') res = Min.z; else res = B.b[8]>0 ? Max.z:Min.z; } return res; } //----------------------------------------------------------------------------- // Put primitives //----------------------------------------------------------------------------- #define MGL_MARK_PLOT if(Quality&4) mark_draw(Pnt[p],type,size,&d);else \ { mglPrim a; a.w = pw; a.s = size; \ a.n1 = p; a.n4 = type; add_prim(a); } void mglCanvas::mark_plot(long p, char type, mreal size) { if(p<0 || mgl_isnan(Pnt[p].x) || mgl_isnan(size)) return; long pp=p; // mreal pw = fabs(PenWidth)*0.15/sqrt(font_factor); mreal pw = 0.15/sqrt(font_factor); mglDrawReg d; d.set(this,1,1,0); d.PDef = PDef; d.pPos = pPos; d.ObjId = ObjId; d.PenWidth=pw; if(size>=0) size *= MarkSize; if(size==0) size = MarkSize; size *= 0.35*font_factor; if(type=='.') size = fabs(PenWidth)*sqrt(font_factor/400); if(TernAxis&4) for(int i=0;i<4;i++) { p = ProjScale(i, pp); MGL_MARK_PLOT } else { MGL_MARK_PLOT } } //----------------------------------------------------------------------------- #define MGL_LINE_PLOT if(Quality&4) line_draw(Pnt[p1],Pnt[p2],&dd);else \ { mglPrim a(1); a.n3=PDef; a.s = pPos; \ a.n1 = p1; a.n2 = p2; a.w = pw; add_prim(a); } void mglCanvas::line_plot(long p1, long p2) { if(PDef==0) return; if(p1<0 || p2<0 || mgl_isnan(Pnt[p1].x) || mgl_isnan(Pnt[p2].x)) return; if(p1>p2) { long kk=p1; p1=p2; p2=kk; } // rearrange start/end for proper dashing long pp1=p1,pp2=p2; mreal pw = fabs(PenWidth)*sqrt(font_factor/400), d; d = hypot(Pnt[p1].x-Pnt[p2].x, Pnt[p1].y-Pnt[p2].y); mglDrawReg dd; dd.set(this,1,1,0); dd.PDef = PDef; dd.pPos = pPos; dd.ObjId = ObjId; dd.PenWidth=pw; if(TernAxis&4) for(int i=0;i<4;i++) { p1 = ProjScale(i, pp1); p2 = ProjScale(i, pp2); MGL_LINE_PLOT } else { MGL_LINE_PLOT } pPos = fmod(pPos+d/pw/1.5, 16); } //----------------------------------------------------------------------------- #define MGL_TRIG_PLOT if(Quality&4) trig_draw(Pnt[p1],Pnt[p2],Pnt[p3],true,&d);else \ { mglPrim a(2); a.n1 = p1; a.n2 = p2; \ a.n3 = p3; add_prim(a);} void mglCanvas::trig_plot(long p1, long p2, long p3) { if(p1<0 || p2<0 || p3<0 || mgl_isnan(Pnt[p1].x) || mgl_isnan(Pnt[p2].x) || mgl_isnan(Pnt[p3].x)) return; long pp1=p1,pp2=p2,pp3=p3; mglDrawReg d; d.set(this,1,1,0); d.ObjId = ObjId; if(TernAxis&4) for(int i=0;i<4;i++) { p1 = ProjScale(i, pp1); p2 = ProjScale(i, pp2); p3 = ProjScale(i, pp3); MGL_TRIG_PLOT } else { MGL_TRIG_PLOT } } //----------------------------------------------------------------------------- #define MGL_QUAD_PLOT if(Quality&4) quad_draw(Pnt[p1],Pnt[p2],Pnt[p3],Pnt[p4],&d);else \ { mglPrim a(3); a.n1 = p1; a.n2 = p2; \ a.n3 = p3; a.n4 = p4; add_prim(a); } void mglCanvas::quad_plot(long p1, long p2, long p3, long p4) { if(p1<0 || mgl_isnan(Pnt[p1].x)) { trig_plot(p4,p2,p3); return; } if(p2<0 || mgl_isnan(Pnt[p2].x)) { trig_plot(p1,p4,p3); return; } if(p3<0 || mgl_isnan(Pnt[p3].x)) { trig_plot(p1,p2,p4); return; } if(p4<0 || mgl_isnan(Pnt[p4].x)) { trig_plot(p1,p2,p3); return; } long pp1=p1,pp2=p2,pp3=p3,pp4=p4; mglDrawReg d; d.set(this,1,1,0); d.ObjId = ObjId; if(TernAxis&4) for(int i=0;i<4;i++) { p1 = ProjScale(i, pp1); p2 = ProjScale(i, pp2); p3 = ProjScale(i, pp3); p4 = ProjScale(i, pp4); MGL_QUAD_PLOT } else { MGL_QUAD_PLOT } } //----------------------------------------------------------------------------- mreal mglCanvas::text_plot(long p,const wchar_t *text,const char *font,mreal size,mreal sh,mreal col,bool rot) { if(p<0 || mgl_isnan(Pnt[p].x) || !text || *text==0) return 0; if(size<0) size *= -FontSize; if(!font) font=""; if(TernAxis&4) // text at projections { mreal res; TernAxis = TernAxis&(~4); for(int i=0;i<4;i++) res = text_plot(ProjScale(i,p,true),text,font,size/2,sh,col); TernAxis = TernAxis|4; return res; } mglPnt q=Pnt[p]; mreal ll = q.u*q.u+q.v*q.v; bool inv=false; if(rot && (q.u<0 || (q.u==0 && q.v<0))) { q.u=-q.u; q.v=-q.v; q.w=-q.w; inv=true; } mreal fsize=size/6.5*font_factor, h = fnt->Height(font)*fsize, w, shift = -(sh+0.02)*h; // text drawing itself Push(); #if MGL_HAVE_PTHREAD pthread_mutex_lock(&mutexPtx); #endif inv = inv ^ (strchr(font,'T')!=0); if(inv) shift = 0.2*h-shift; shift += 0.015*h; // Correction for glyph rotation around proper point // shift *= h; int align; mglGetStyle(font,0,&align); align = align&3; B.x = q.x; B.y = q.y - shift; B.z = q.z; if(ll>0) { B.x += shift*q.v/sqrt(ll); B.y += shift*(1-q.u/sqrt(ll)); if(q.u==0 && !get(MGL_ENABLE_RTEXT)) B.y -= 0.1*h; } fscl = fsize; forg = p; if(mgl_isnan(ll) || !get(MGL_ENABLE_RTEXT)) ftet = 0; else if(ll) ftet = -180*atan2(q.v,q.u)/M_PI; else ftet = NAN; if(!(Quality&4)) // add text itself { char ch = mglGetStyle(font,0,0); mglColor mc(ch); if(!ch) mc = col<0 ? mglColor(char(0.5-col)):Txt[long(col)].GetC(col); /* for(long i=0;iWidth(text,font); h = fnt->Height(font); // int align; mglGetStyle(font,0,&align); align = align&3; mreal d=-w*align/2.-h*0.2; w+=h*0.4; pt = q; pp = mglPoint(d,-h*0.4); PostScale(pp); pt.x=pt.xx=pp.x; pt.y=pt.yy=pp.y; MGL_PUSH(Pnt,pt,mutexPnt); k1=Pnt.size()-1; pt = q; pp = mglPoint(w+d,-h*0.4); PostScale(pp); pt.x=pt.xx=pp.x; pt.y=pt.yy=pp.y; MGL_PUSH(Pnt,pt,mutexPnt); k2=Pnt.size()-1; pt = q; pp = mglPoint(d,h*1.2); PostScale(pp); pt.x=pt.xx=pp.x; pt.y=pt.yy=pp.y; MGL_PUSH(Pnt,pt,mutexPnt); k3=Pnt.size()-1; pt = q; pp = mglPoint(w+d,h*1.2); PostScale(pp); pt.x=pt.xx=pp.x; pt.y=pt.yy=pp.y; MGL_PUSH(Pnt,pt,mutexPnt); k4=Pnt.size()-1; line_plot(k1,k2); line_plot(k1,k3); line_plot(k4,k2); line_plot(k4,k3); } fsize *= fnt->Puts(text,font,col)/2; #if MGL_HAVE_PTHREAD pthread_mutex_unlock(&mutexPtx); #endif Pop(); return fsize; } //----------------------------------------------------------------------------- void mglCanvas::Glyph(mreal x, mreal y, mreal f, int s, long j, mreal col) { mglPrim a(4); // NOTE: no projection since text_plot() did it a.s = fscl/B.pf; a.w = get(MGL_ENABLE_RTEXT)?ftet:1e5; a.p = f/fnt->GetFact(s&3); mreal cc = col<0 ? AddTexture(char(0.5-col)):col; if(cc<0) cc = CDef; a.n1 = AddPnt(mglPoint(B.x,B.y,B.z), cc, mglPoint(x,y,NAN), -1, -1); a.n2 = forg; a.n3 = s; a.n4 = AddGlyph(s,j); if(a.n1<0) return; mglDrawReg d; d.set(this,1,1,0); d.PDef = s; d.pPos = a.s; d.ObjId=ObjId; d.PenWidth=a.w; if(Quality&4) glyph_draw(a,&d); else add_prim(a); } //----------------------------------------------------------------------------- // Plot positioning functions //----------------------------------------------------------------------------- void mglCanvas::InPlot(mreal x1,mreal x2,mreal y1,mreal y2, const char *st) { if(Width<=0 || Height<=0 || Depth<=0) return; if(!st) { InPlot(x1,x2,y1,y2,false); return; } inW = Width*(x2-x1); inH = Height*(y2-y1); inX=Width*x1; inY=Height*y1; ZMin=1; mglPrim p; p.id = ObjId; p.n1=x1*Width; p.n2=x2*Width; p.n3=y1*Height; p.n4=y2*Height; MGL_PUSH(Sub,p,mutexSub); if(strchr(st,'T')) { y1*=0.9; y2*=0.9; } // general title bool r = !(strchr(st,'r') || strchr(st,'R') || strchr(st,'>') || strchr(st,'g')); bool l = !(strchr(st,'l') || strchr(st,'L') || strchr(st,'<') || strchr(st,'g')); bool u = !(strchr(st,'u') || strchr(st,'U') || strchr(st,'_') || strchr(st,'g')); bool a = !(strchr(st,'a') || strchr(st,'A') || strchr(st,'^') || strchr(st,'g') || strchr(st,'t')); // let use simplified scheme -- i.e. no differences between axis, colorbar and/or title register mreal xs=(x1+x2)/2, ys=(y1+y2)/2, f1 = 1.3, f2 = 1.1; if(strchr(st,'#')) f1=f2=1.55; if(r && l) { x2=xs+(x2-xs)*f1; x1=xs+(x1-xs)*f1; } else if(r) { x2=xs+(x2-xs)*f1; x1=xs+(x1-xs)*f2; } else if(l) { x2=xs+(x2-xs)*f2; x1=xs+(x1-xs)*f1; } if(a && u) { y2=ys+(y2-ys)*f1; y1=ys+(y1-ys)*f1; } else if(a) { y2=ys+(y2-ys)*f1; y1=ys+(y1-ys)*f2; } else if(u) { y2=ys+(y2-ys)*f2; y1=ys+(y1-ys)*f1; } B.clear(); if(get(MGL_AUTO_FACTOR)) B.pf = 1.55; // Automatically change plot factor !!! B.x = (x1+x2)/2*Width; B.y = (y1+y2)/2*Height; B.b[0] = Width*(x2-x1); B.b[4] = Height*(y2-y1); B.b[8] = sqrt(B.b[0]*B.b[4]); B.z = (1.f-B.b[8]/(2*Depth))*Depth; B1=B; font_factor = B.b[0] < B.b[4] ? B.b[0] : B.b[4]; } //----------------------------------------------------------------------------- void mglCanvas::InPlot(mreal x1,mreal x2,mreal y1,mreal y2, bool rel) { if(Width<=0 || Height<=0 || Depth<=0) return; B.clear(); if(get(MGL_AUTO_FACTOR)) B.pf = 1.55; // Automatically change plot factor !!! if(rel) { B.x = B1.x + (x1+x2-1)/2*B1.b[0]/1.55; B.y = B1.y + (y1+y2-1)/2*B1.b[4]/1.55; B.b[0] = B1.b[0]*(x2-x1); B.b[4] = B1.b[4]*(y2-y1); B.b[8] = sqrt(B.b[0]*B.b[4]); B.z = B1.z + (1.f-B.b[8]/(2*Depth))*B1.b[8]; } else { B.x = (x1+x2)/2*Width; B.y = (y1+y2)/2*Height; B.b[0] = Width*(x2-x1); B.b[4] = Height*(y2-y1); B.b[8] = sqrt(B.b[0]*B.b[4]); B.z = (1.f-B.b[8]/(2*Depth))*Depth; B1=B; } inW=B.b[0]; inH=B.b[4]; ZMin=1; inX=Width*x1; inY=Height*y1; font_factor = B.b[0] < B.b[4] ? B.b[0] : B.b[4]; mglPrim p; p.id = ObjId; p.n1=x1*Width; p.n2=x2*Width; p.n3=y1*Height; p.n4=y2*Height; MGL_PUSH(Sub,p,mutexSub); } //----------------------------------------------------------------------------- void mglCanvas::StickPlot(int num, int id, mreal tet, mreal phi) { mreal dx,dy,wx,wy,x1,y1,f1,f2; mglPoint p1(-1,0,0), p2(1,0,0); // first iteration InPlot(0,1,0,1,true); Rotate(tet, phi); PostScale(p1); PostScale(p2); f1 = B.pf; dx=(p2.x-p1.x)*1.55/B1.b[0]; dy=(p2.y-p1.y)*1.55/B1.b[4]; wx=1/(1+(num-1)*fabs(dx)); wy=1/(1+(num-1)*fabs(dy)); x1=dx>0?dx*id:dx*(id-num+1); y1=dy>0?dy*id:dy*(id-num+1); InPlot(x1*wx,(x1+1)*wx,y1*wy,(y1+1)*wy,true); Rotate(tet,phi); f2 = B.pf; dx*=f1/f2; dy*=f1/f2; // add correction due to PlotFactor wx=1/(1+(num-1)*fabs(dx)); wy=1/(1+(num-1)*fabs(dy)); x1=dx>0?dx*id:dx*(id-num+1); y1=dy>0?dy*id:dy*(id-num+1); InPlot(x1*wx,(x1+1)*wx,y1*wy,(y1+1)*wy,true); Rotate(tet,phi); f1=f2; f2 = B.pf; dx*=f1/f2; dy*=f1/f2; // add correction due to PlotFactor wx=1/(1+(num-1)*fabs(dx)); wy=1/(1+(num-1)*fabs(dy)); x1=dx>0?dx*id:dx*(id-num+1); y1=dy>0?dy*id:dy*(id-num+1); InPlot(x1*wx,(x1+1)*wx,y1*wy,(y1+1)*wy,true); Rotate(tet,phi); } //----------------------------------------------------------------------------- void mglCanvas::Rotate(mreal tetz,mreal tetx,mreal tety) { // RotateN(TetX,1.,0.,0.); // RotateN(TetY,0.,1.,0.); // RotateN(TetZ,0.,0.,1.); mreal R[9], O[9]; mreal cx=cos(tetx*M_PI/180), sx=-sin(tetx*M_PI/180), cy=cos(tety*M_PI/180), sy=-sin(tety*M_PI/180), cz=cos(tetz*M_PI/180), sz=-sin(tetz*M_PI/180); R[0] = cx*cy; R[1] = -cy*sx; R[2] = sy; R[3] = cx*sy*sz+cz*sx; R[4] = cx*cz-sx*sy*sz; R[5] =-cy*sz; R[6] = sx*sz-cx*cz*sy; R[7] = cx*sz+cz*sx*sy; R[8] = cy*cz; memcpy(O,B.b,9*sizeof(mreal)); B.b[0] = R[0]*O[0] + R[3]*O[1] + R[6]*O[2]; B.b[1] = R[1]*O[0] + R[4]*O[1] + R[7]*O[2]; B.b[2] = R[2]*O[0] + R[5]*O[1] + R[8]*O[2]; B.b[3] = R[0]*O[3] + R[3]*O[4] + R[6]*O[5]; B.b[4] = R[1]*O[3] + R[4]*O[4] + R[7]*O[5]; B.b[5] = R[2]*O[3] + R[5]*O[4] + R[8]*O[5]; B.b[6] = R[0]*O[6] + R[3]*O[7] + R[6]*O[8]; B.b[7] = R[1]*O[6] + R[4]*O[7] + R[7]*O[8]; B.b[8] = R[2]*O[6] + R[5]*O[7] + R[8]*O[8]; if(get(MGL_AUTO_FACTOR)) { mreal w=(fabs(B.b[3])+fabs(B.b[4])+fabs(B.b[5]))/B1.b[4]; mreal h=(fabs(B.b[0])+fabs(B.b[1])+fabs(B.b[2]))/B1.b[0]; B.pf = 1.55+0.6147*(w=0;i--) { const mglPrim &p = Sub[i]; if(p.n1<=x && p.n2>=x && p.n3<=y && p.n4>=y) { id=p.id; break; } } return id; } //----------------------------------------------------------------------------- #define islog(a, b) (((a)>0 && (b)>10*(a)) || ((b)<0 && (a)<10*(b))) void mglCanvas::Aspect(mreal Ax,mreal Ay,mreal Az) { if(mgl_isnan(Ax)) { mreal dy = (Max.y-Min.y), dx = (Max.x-Min.x); if(islog(Min.x,Max.x) && fx) dx = log10(Max.x/Min.x); if(islog(Min.y,Max.y) && fy) dy = log10(Max.y/Min.y); mreal f=exp(M_LN10*floor(0.5+log10(fabs(dy/dx)))); if(!mgl_isnan(Ay)) f=Ay; Ax = Height*dx*f; Ay = Width*dy; Az = Depth; } mreal a = fabs(Ax) > fabs(Ay) ? fabs(Ax) : fabs(Ay); a = a > fabs(Az) ? a : fabs(Az); if(a==0) { SetWarn(mglWarnZero,"Aspect"); return; } Ax/=a; Ay/=a; Az/=a; B.b[0] *= Ax; B.b[3] *= Ax; B.b[6] *= Ax; B.b[1] *= Ay; B.b[4] *= Ay; B.b[7] *= Ay; B.b[2] *= Az; B.b[5] *= Az; B.b[8] *= Az; } //----------------------------------------------------------------------------- // Lighting and transparency //----------------------------------------------------------------------------- void mglCanvas::Fog(mreal d, mreal dz) { FogDist=d; FogDz = dz; } //----------------------------------------------------------------------------- void mglCanvas::Light(int n, bool enable) { if(n<0 || n>9) { SetWarn(mglWarnLId,"Light"); return; } light[n].n = enable; } //----------------------------------------------------------------------------- void mglCanvas::AddLight(int n, mglPoint r, mglPoint d, char col, mreal br, mreal ap) { if(n<0 || n>9) { SetWarn(mglWarnLId,"AddLight"); return; } light[n].n = true; light[n].a = ap>0?ap*ap:3; light[n].b = br; light[n].r = r; light[n].d = d; light[n].c = mglColor(col); } //----------------------------------------------------------------------------- void mglCanvas::arrow_plot(long n1, long n2, char st) { if(n1<0 || n2<0 || !strchr("AVKSDTIO",st)) return; float ll = PenWidth*ArrowSize*0.35*font_factor; if((Quality&3)==3) arrow_plot_3d(n1, n2, st, ll); else arrow_draw(n1, n2, st, ll); } //----------------------------------------------------------------------------- void mglCanvas::Legend(const std::vector &leg, mreal x, mreal y, const char *font, const char *opt) { long n=leg.size(), iw, ih; if(n<1) { SetWarn(mglWarnLeg,"Legend"); return; } mreal ll = SaveState(opt); if(mgl_isnan(ll)) ll=0.1; if(saved) MarkSize=MSS; // restore back size of marks static int cgid=1; StartGroup("Legend",cgid++); if(ll<=0 || mgl_isnan(ll)) ll=0.1; ll *=font_factor; mreal size = 0.8*FontSize; // setup font and parse absolute coordinates if(!font) font="#"; char *pA, *ff = new char[strlen(font)+3]; strcpy(ff,font); strcat(ff,":L"); Push(); if((pA=strchr(ff,'A'))) { *pA = ' '; InPlot(0,1,0,1,false); iw=B1.b[0]; ih=B1.b[4]; } else { iw=B1.b[0]/B1.pf; ih=B1.b[4]/B1.pf; } // find sizes mreal h=TextHeight(font,size); mreal dx = 0.03*iw, dy = 0.03*ih, w=0, t, sp=TextWidth(" ",font,size); register long i,j; for(i=0;it ? w:t; } w += ll+0.01*iw; // add space for lines j = long((ih*0.95)/h); long ncol = 1+(n-1)/j, nrow = (n+ncol-1)/ncol; if(strchr(font,'-')) // horizontal legend { j = long((iw*0.95)/w); nrow = 1+(n-1)/j; ncol = (n+nrow-1)/nrow; } x = x*(iw-w*ncol-2*dx)+B.x-iw/2+dx; y = y*(ih-h*nrow-2*dy)+B.y-ih/2+dy; // draw it long k1=0,k2=0,k3=0,k4=0; mglPoint p,q=mglPoint(NAN,NAN); for(i=0;ff[i] && ff[i]!=':';i++) if(strchr(MGL_COLORS,ff[i])) { if(k1 && k2) { k3=ff[i]; k4++; } // NOTE: keep k3 for future usage if(k1 && !k2) { k2=ff[i]; k4++; } if(!k1) { k1=ff[i]; k4++; } } if(k4==2) k2=0; if(k4==1) k1=k2=0; mreal c1=AddTexture(char(k1?k1:'w')), c2=AddTexture(char(k2?k2:'k')); if((Flag&3)==2) { mreal cc=c1; c2=c1; c1=cc; } if(strchr(ff,'#')) // draw bounding box { SetPenPal("k-"); k1=AddPnt(mglPoint(x,y,Depth/MGL_FEPSILON),c1,q,-1,0); k2=AddPnt(mglPoint(x+w*ncol,y,Depth/MGL_FEPSILON),c1,q,-1,0); k3=AddPnt(mglPoint(x,y+h*nrow,Depth/MGL_FEPSILON),c1,q,-1,0); k4=AddPnt(mglPoint(x+w*ncol,y+h*nrow,Depth/MGL_FEPSILON),c1,q,-1,0); quad_plot(k1,k2,k3,k4); k1=CopyNtoC(k1,c2); k2=CopyNtoC(k2,c2); k3=CopyNtoC(k3,c2); k4=CopyNtoC(k4,c2); line_plot(k1,k2); line_plot(k2,k4); line_plot(k4,k3); line_plot(k3,k1); } for(i=0;i=1) { SetWarn(mglWarnSpc,"Table"); return; } long i,j,m=val->GetNy(),n=val->GetNx(); // mreal pos=SaveState(opt); mreal vw = SaveState(opt); static int cgid=1; StartGroup("Table",cgid++); bool grid = mglchr(frm,'#'), eqd = mglchr(frm,'='), lim = mglchr(frm,'|'); if(mgl_isnan(vw)) vw=1; else lim = true; if(!text) text=L""; if(x<0) x=0; if(y<0) y=0; if(y>1) y=1; // if(vw>1-x) vw=1-x; wchar_t *buf = new wchar_t[m*32], sng[32]; std::vector str; for(i=0;iv(i,j)); wcscat(buf,sng); } mglprintf(sng,32,L"%.3g",val->v(i,m-1)); wcscat(buf,sng); str.push_back(buf); } delete []buf; mreal sp=2*TextWidth(" ",frm,-1), w=*text ? sp+TextWidth(text,frm,-1):0, w1=0, ww, h; for(i=0;ivw*inW) { h=vw*inW/w; SetFontSize(-h); w*=h; w1*=h; sp*=h; } h = TextHeight(frm,-1); // now we can determine text height x = x*(inW-w)+B.x-inW/2; y = y*(inH-h*m)+B.y-inH/2; mglPoint p,q=mglPoint(NAN,NAN); long k1,k2; mreal xx,yy; if(grid) // draw bounding box { SetPenPal("k-"); k1=AddPnt(mglPoint(x,y,Depth),-1,q,-1,0); k2=AddPnt(mglPoint(x,y+m*h,Depth),-1,q,-1,0); line_plot(k1,k2); ww = *text ? TextWidth(text,frm,-1)+sp:0; k1=AddPnt(mglPoint(x+ww,y,Depth),-1,q,-1,0); k2=AddPnt(mglPoint(x+ww,y+m*h,Depth),-1,q,-1,0); line_plot(k1,k2); for(i=0,xx=x+ww,yy=y;i0 ? size/FontSize:-size, h=TextHeight(stl,size)*s/2; if(h>=inH) { SetWarn(mglWarnSpc,"Title"); return; } static int cgid=1; StartGroup("Title",cgid++); bool box=mglchr(stl,'#'); int align; mglGetStyle(stl,0,&align); align = align&3; mreal y=inY+inH-h; mglPoint p(inX + inW*align/2.,y,Depth),q(NAN); if(title) text_plot(AddPnt(p,-1,q,-1,0),title,stl,size); if(box) // draw boungind box { mreal c1=AddTexture('w'), c2=AddTexture('k'); if((Flag&3)==2) { mreal cc=c1; c2=c1; c1=cc; } long k1,k2,k3,k4; k1=AddPnt(mglPoint(inX,y,Depth),c1,q,-1,0); k2=AddPnt(mglPoint(inX+inW,y,Depth),c1,q,-1,0); k3=AddPnt(mglPoint(inX,y+h,Depth),c1,q,-1,0); k4=AddPnt(mglPoint(inX+inW,y+h,Depth),c1,q,-1,0); quad_plot(k1,k2,k3,k4); k1=CopyNtoC(k1,c2); k2=CopyNtoC(k2,c2); k3=CopyNtoC(k3,c2); k4=CopyNtoC(k4,c2); line_plot(k1,k2); line_plot(k2,k4); line_plot(k4,k3); line_plot(k3,k1); } B1.y -= h/2; B1.b[4] -= h; B=B1; inH-=h; font_factor = B.b[0] < B.b[4] ? B.b[0] : B.b[4]; EndGroup(); } //----------------------------------------------------------------------------- void mglCanvas::StartAutoGroup (const char *lbl) { static int id=1; if(lbl==NULL) { id=1; grp_counter=0; return; } grp_counter++; if(grp_counter>1) return; // do nothing in "subgroups" if(ObjId<0) { ObjId = -id; id++; } register size_t len = Grp.size(); if(ObjId>=0 && len>0 && ObjId!=Grp[len-1].Id) { MGL_PUSH(Grp,mglGroup(lbl,ObjId),mutexGrp); } else if(ObjId<0) { MGL_PUSH(Grp,mglGroup(lbl,ObjId),mutexGrp); } } //----------------------------------------------------------------------------- void mglCanvas::EndGroup() { LoadState(); if(Quality&4) { Pnt.clear(); Prm.clear(); Ptx.clear(); Glf.clear(); Act.clear(); Grp.clear(); } if(grp_counter>0) grp_counter--; } //----------------------------------------------------------------------------- int mglCanvas::IsActive(int xs, int ys,int &n) { long i, h = (Width>Height ? Height:Width)/100; for(i=0;i<(long)Act.size();i++) { const mglActivePos &p=Act[i]; if(abs(xs-p.x)<=h && abs(ys-p.y)<=h) { n=p.n; return p.id; } } n=-1; return GetObjId(xs,ys); } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/fft.cpp0000664000175000017500000007035612142400470014775 0ustar balakinbalakin/*************************************************************************** * fft.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/datac.h" #include "mgl2/data.h" #if MGL_HAVE_GSL #include #include #include #endif //----------------------------------------------------------------------------- void MGL_EXPORT mglStartThreadT(void *(*func)(void *), long n, void *a, double *b, const void *v, void **w, const long *p, const void *re, const void *im) { if(!func) return; #if MGL_HAVE_PTHREAD if(mglNumThr<1) mgl_set_num_thr(0); if(mglNumThr>1) { pthread_t *tmp=new pthread_t[mglNumThr]; mglThreadT *par=new mglThreadT[mglNumThr]; register long i; for(i=0;ip[0]; for(i=t->id;in;i+=mglNumThr) mgl_fft(t->b+2*nx*i, 1, nx, t->v, t->w[t->id], t->p[3]); return 0; } MGL_NO_EXPORT void* mgl_ffty(void *par) { mglThreadT *t=(mglThreadT *)par; register long i,nx=t->p[0],ny=t->p[1]; for(i=t->id;in;i+=mglNumThr) mgl_fft(t->b+2*(i%nx)+2*nx*ny*(i/nx), nx, ny, t->v, t->w[t->id], t->p[3]); return 0; } MGL_NO_EXPORT void* mgl_fftz(void *par) { mglThreadT *t=(mglThreadT *)par; register long i,nx=t->p[0],ny=t->p[1],nz=t->p[2]; for(i=t->id;in;i+=mglNumThr) mgl_fft(t->b+2*i, nx*ny, nz, t->v, t->w[t->id], t->p[3]); return 0; } void MGL_EXPORT mgl_datac_fft(HADT d, const char *dir) { if(!dir || *dir==0) return; long nx = d->nx, ny = d->ny, nz = d->nz; if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads void *wt=0, **ws=new void*[mglNumThr]; long par[4]={nx,ny,nz,strchr(dir,'i')!=0}, i; #if MGL_USE_DOUBLE double *a = (double *)(d->a); #else double *a = new double[2*nx*ny*nz]; // manually convert to double for(i=0;ia[i]); a[2*i+1] = imag(d->a[i]); } #endif if(strchr(dir,'x') && nx>1) { wt = mgl_fft_alloc(nx,ws,mglNumThr); mglStartThreadT(mgl_fftx,ny*nz,0,a,wt,ws,par); } if(strchr(dir,'y') && ny>1) { wt = mgl_fft_alloc(ny,ws,mglNumThr); mglStartThreadT(mgl_ffty,nx*nz,0,a,wt,ws,par); } if(strchr(dir,'z') && nz>1) { wt = mgl_fft_alloc(nz,ws,mglNumThr); mglStartThreadT(mgl_fftz,nx*ny,0,a,wt,ws,par); } if(wt) mgl_fft_free(wt,ws,mglNumThr); delete []ws; #if !MGL_USE_DOUBLE for(i=0;ia[i] = dual(a[2*i], a[2*i+1]); delete []a; #endif } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_fourier(HMDT re, HMDT im, const char *dir) { if(!dir || *dir==0) return; long nx = re->nx, ny = re->ny, nz = re->nz; if(nx*ny*nz != im->nx*im->ny*im->nz || !dir || dir[0]==0) return; if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads void *wt=0, **ws=new void*[mglNumThr]; long par[4]={nx,ny,nz,strchr(dir,'i')!=0}, i; double *a = new double[2*nx*ny*nz]; for(i=0;ia[i]; a[2*i+1] = im->a[i]; } if(strchr(dir,'x') && nx>1) { wt = mgl_fft_alloc(nx,ws,mglNumThr); mglStartThreadT(mgl_fftx,ny*nz,0,a,wt,ws,par); } if(strchr(dir,'y') && ny>1) { wt = mgl_fft_alloc(ny,ws,mglNumThr); mglStartThreadT(mgl_ffty,nx*nz,0,a,wt,ws,par); } if(strchr(dir,'z') && nz>1) { wt = mgl_fft_alloc(nz,ws,mglNumThr); mglStartThreadT(mgl_fftz,nx*ny,0,a,wt,ws,par); } if(wt) mgl_fft_free(wt,ws,mglNumThr); for(i=0;ia[i] = a[2*i]; im->a[i] = a[2*i+1]; } delete []ws; delete []a; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void* mgl_envx(void *par) { mglThreadT *t=(mglThreadT *)par; register long i,j,nx=t->p[0],ny=t->p[1],nz=t->p[2]; double *b = t->b+2*nx*t->id; mreal *a = (mreal*)t->a; for(i=t->id;in;i+=mglNumThr) { for(j=0;jv, t->w[t->id], false); for(j=0;jv, t->w[t->id], true); for(j=0;jp[0],ny=t->p[1],nz=t->p[2]; double *b = t->b+2*ny*t->id; mreal *a = (mreal*)t->a; for(i=t->id;in;i+=mglNumThr) { for(j=0;jv, t->w[t->id], false); for(j=0;jv, t->w[t->id], true); for(j=0;jp[0],ny=t->p[1],nz=t->p[2],k=nx*ny; double *b = t->b+2*nz*t->id; mreal *a = (mreal*)t->a; for(i=t->id;in;i+=mglNumThr) { for(j=0;jv, t->w[t->id], false); for(j=0;jv, t->w[t->id], true); for(j=0;jnx,ny=d->ny,nz=d->nz,par[3]={nx,ny,nz}; if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads void *wt=0, **ws=new void*[mglNumThr]; double *b = 0; if(dir=='x' && nx>1) { wt = mgl_fft_alloc(nx,ws,mglNumThr); b = new double[2*nx*mglNumThr]; mglStartThreadT(mgl_envx,ny*nz,d->a,b,wt,ws,par); } if(dir=='y' && ny>1) { wt = mgl_fft_alloc(ny,ws,mglNumThr); b = new double[2*ny*mglNumThr]; mglStartThreadT(mgl_envy,nx*nz,d->a,b,wt,ws,par); } if(dir=='z' && nz>1) { wt = mgl_fft_alloc(nz,ws,mglNumThr); b = new double[2*nz*mglNumThr]; mglStartThreadT(mgl_envz,nx*ny,d->a,b,wt,ws,par); } for(i=0;ia[i] = hypot(b[2*i], b[2*i+1]); if(b) { mgl_fft_free(wt,ws,mglNumThr); delete []b; } delete []ws; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void* mgl_stfa1(void *par) { mglThreadT *t=(mglThreadT *)par; register long i,j,k,ii,i0,mx=t->p[0],my=t->p[1],mz=t->p[2],dn=t->p[3],dd=dn/2,ny=t->p[4]; double *a = t->b+4*dn*t->id,ff; mreal *d = (mreal*)t->a; HCDT re = (HCDT)t->re, im = (HCDT)t->im; for(ii=t->id;iin;ii+=mglNumThr) { i = ii%mx; j = ii/mx; for(k=0;k<2*dn;k++) { i0 = k-dd+j*dn; ff = 1; if(i0<0) i0=0; else if(i0>=ny) i0=ny-1; if(k=dn+dd) { ff = 0.5*(k-3.5*dd)/dd; ff=0.5-ff*(3-ff*ff); } a[2*k] = re->v(i,i0)*ff; a[2*k+1] = im->v(i,i0)*ff; } mgl_fft(a, 1, 2*dn, t->v, t->w[t->id], false); for(k=0;kp[0],my=t->p[1],mz=t->p[2],dn=t->p[3],dd=dn/2,nx=t->p[4]; double *a = t->b+4*dn*t->id,ff; mreal *d = (mreal*)t->a; HCDT re = (HCDT)t->re, im = (HCDT)t->im; for(ii=t->id;iin;ii+=mglNumThr) { i = ii%my; j = ii/mx; for(k=0;k<2*dn;k++) { i0 = k-dd+i*dn; ff = 1; if(i0<0) i0=0; else if(i0>=nx) i0=nx-1; if(k=3*dd) { ff = 0.5*(k-3.5*dd)/dd; ff=0.5-ff*(3-ff*ff); } a[2*k] = re->v(i0,j)*ff; a[2*k+1] = im->v(i0,j)*ff; } mgl_fft(a, 1, 2*dn, t->v, t->w[t->id], false); for(k=0;kGetNx(), ny = re->GetNy(); if(nx*ny!=im->GetNx()*im->GetNy()) return d; register long i,j,k,i0,dd=dn/2; if(mglNumThr<1) mgl_set_num_thr(0); // manually set number of threads double *a = new double[4*dn*mglNumThr],ff; void **ws=new void*[mglNumThr], *wt = mgl_fft_alloc(2*dn,ws,mglNumThr); long mx,my,mz; if(dir=='y') { mx = nx; my = dn; mz = ny/dn; mgl_data_create(d, mx, mz, my); long par[5]={mx,my,mz,dn,ny}; mglStartThreadT(mgl_stfa1,mx*mz,d->a,a,wt,ws,par,re,im); } else { mx = dn; my = nx/dn; mz = ny; mgl_data_create(d, my, mx, mz); long par[5]={mx,my,mz,dn,nx}; mglStartThreadT(mgl_stfa2,my*mz,d->a,a,wt,ws,par,re,im); } mgl_fft_free(wt,ws,mglNumThr); delete []ws; delete []a; return d; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void* mgl_sinx(void *par) { mglThreadT *t=(mglThreadT *)par; register long i,j,k,nx=t->p[0]; double *b = t->b+2*nx*t->id, f=sqrt(2./nx); mreal *a = (mreal*)t->a; for(i=t->id;in;i+=mglNumThr) { k = i*nx; memset(b,0,2*nx*sizeof(double)); for(j=1;jv,t->w[t->id],false); a[k]=0; a[k+1]=b[0]*f/2; // fill sinfft for(j=1;jp[0],ny=t->p[1],nz=t->p[2]; double *b = t->b+2*ny*t->id, f=sqrt(2./ny); mreal *a = (mreal*)t->a; for(ii=t->id;iin;ii+=mglNumThr) { i = ii%nx; k = ii/nx; memset(b,0,2*ny*sizeof(double)); for(j=1;jv,t->w[t->id],false); a[i+nx*ny*k]=0; a[i+nx*(ny*k+1)]=b[0]*f/2; // fill sinfft for(j=1;jp[0],ny=t->p[1],nz=t->p[2],k=nx*ny; double *b = t->b+2*nz*t->id, f=sqrt(2./nz); mreal *a = (mreal*)t->a; for(i=t->id;in;i+=mglNumThr) { memset(b,0,2*nz*sizeof(double)); for(j=1;jv,t->w[t->id],false); a[i]=0; a[i+k]=b[0]*f/2; // fill sinfft for(j=1;jnx, ny=d->ny, nz=d->nz; long par[3]={nx,ny,nz}, i; if(strchr(dir,'x') && nx>1) { wt = mgl_fft_alloc(nx,ws,mglNumThr); b = new double[2*nx*mglNumThr]; mglStartThreadT(mgl_sinx,ny*nz,d->a,b,wt,ws,par); } if(strchr(dir,'y') && ny>1) { wt = mgl_fft_alloc(ny,ws,mglNumThr); b = new double[2*ny*mglNumThr]; mglStartThreadT(mgl_siny,nx*nz,d->a,b,wt,ws,par); } if(strchr(dir,'z') && nz>1) { wt = mgl_fft_alloc(nz,ws,mglNumThr); b = new double[2*nz*mglNumThr]; mglStartThreadT(mgl_sinz,nx*ny,d->a,b,wt,ws,par); } if(b) { mgl_fft_free(wt,ws,mglNumThr); delete []b; } delete []ws; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void* mgl_cosx(void *par) { mglThreadT *t=(mglThreadT *)par; register long i,j,k,nx=t->p[0],nn=nx-1; double *b = t->b+2*nx*t->id, f=sqrt(2./nn); mreal *a = (mreal*)t->a; for(i=t->id;in;i+=mglNumThr) { k = i*nx; memset(b,0,2*nx*sizeof(double)); for(j=0;jv,t->w[t->id],false); double f1=0.5*(a[k]-a[nn+k]), s=-1; a[nn+k]=0.5*(a[k]+a[nn+k]*(nn%2?-1:1)); for(j=1;jp[0],ny=t->p[1],nz=t->p[2],nn=ny-1; double *b = t->b+2*ny*t->id, f=sqrt(2./nn); mreal *a = (mreal*)t->a; for(ii=t->id;iin;ii+=mglNumThr) { i = ii%nx; k = ii/nx; memset(b,0,2*ny*sizeof(double)); for(j=0;jv,t->w[t->id],false); double f1=0.5*(a[i+nx*ny*k]-a[i+nx*(ny*k+nn)]), s=-1; a[i+nx*(ny*k+nn)]=0.5*(a[i+nx*ny*k]+a[i+nx*(ny*k+nn)]*(nn%2?-1:1)); for(j=1;jp[0],ny=t->p[1],nz=t->p[2],k=nx*ny,nn=nz-1; double *b = t->b+2*nz*t->id, f=sqrt(2./nn); mreal *a = (mreal*)t->a; for(i=t->id;in;i+=mglNumThr) { memset(b,0,2*nz*sizeof(double)); for(j=0;jv,t->w[t->id],false); double f1=0.5*(a[i]-a[i+k*nn]), s=-1; a[i+k*nn]=0.5*(a[i]+a[i+k*nn]*(nn%2?-1:1)); for(j=1;jnx, ny=d->ny, nz=d->nz; long par[3]={nx,ny,nz}, i; if(strchr(dir,'x') && nx>1) { wt = mgl_fft_alloc(nx-1,ws,mglNumThr); b = new double[2*nx*mglNumThr]; mglStartThreadT(mgl_cosx,ny*nz,d->a,b,wt,ws,par); } if(strchr(dir,'y') && ny>1) { wt = mgl_fft_alloc(ny-1,ws,mglNumThr); b = new double[2*ny*mglNumThr]; mglStartThreadT(mgl_cosy,nx*nz,d->a,b,wt,ws,par); } if(strchr(dir,'z') && nz>1) { wt = mgl_fft_alloc(nz-1,ws,mglNumThr); b = new double[2*nz*mglNumThr]; mglStartThreadT(mgl_cosz,nx*ny,d->a,b,wt,ws,par); } if(b) { mgl_fft_free(wt,ws,mglNumThr); delete []b; } delete []ws; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_transform_a(HCDT am, HCDT ph, const char *tr) { long nx = am->GetNx(), ny = am->GetNy(), nz = am->GetNz(); if(nx*ny*nz != ph->GetNx()*ph->GetNy()*ph->GetNz() || !tr || tr[0]==0) return (new mglData); mglData re(nx,ny,nz), im(nx,ny,nz); const mglData *da=dynamic_cast(am); const mglData *dp=dynamic_cast(ph); if(da && dp) for(long i=0;ia[i]*cos(dp->a[i]); im.a[i] = da->a[i]*sin(dp->a[i]); } else for(long i=0;ivthr(i)*cos(ph->vthr(i)); im.a[i] = am->vthr(i)*sin(ph->vthr(i)); } return mgl_transform(&re, &im, tr); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_transform(HCDT re, HCDT im, const char *tr) { if(!tr || *tr==0) return 0; long nx = re->GetNx(), ny = re->GetNy(), nz = re->GetNz(); if(nx*ny*nz != im->GetNx()*im->GetNy()*im->GetNz() || !tr || tr[0]==0) return (new mglData); mglData rr(re),ii(im); if(strchr(tr,'i') && strchr(tr,'f')) // general case { if(tr[0]=='f') mgl_data_fourier(&rr,&ii,"x"); if(tr[0]=='i') mgl_data_fourier(&rr,&ii,"xi"); if(tr[1]=='f') mgl_data_fourier(&rr,&ii,"y"); if(tr[1]=='i') mgl_data_fourier(&rr,&ii,"yi"); if(tr[2]=='f') mgl_data_fourier(&rr,&ii,"z"); if(tr[2]=='i') mgl_data_fourier(&rr,&ii,"zi"); } else if(strchr(tr,'f')) // do Fourier only once for speeding up { char str[4] = " "; if(tr[0]=='f') str[0]='x'; if(tr[1]=='f') str[1]='y'; if(tr[2]=='f') str[2]='z'; mgl_data_fourier(&rr,&ii,str); } else if(strchr(tr,'i')) // do Fourier only once for speeding up { char str[5] = " i"; if(tr[0]=='i') str[0]='x'; if(tr[1]=='i') str[1]='y'; if(tr[2]=='i') str[2]='z'; mgl_data_fourier(&rr,&ii,str); } else if(strchr(tr,'s')) // do Fourier only once for speeding up { if(tr[0]=='s') { rr.SinFFT("x"); ii.SinFFT("x"); } if(tr[1]=='s') { rr.SinFFT("y"); ii.SinFFT("y"); } if(tr[2]=='s') { rr.SinFFT("z"); ii.SinFFT("z"); } } else if(strchr(tr,'c')) // do Fourier only once for speeding up { if(tr[0]=='c') { rr.CosFFT("x"); ii.CosFFT("x"); } if(tr[1]=='c') { rr.CosFFT("y"); ii.CosFFT("y"); } if(tr[2]=='c') { rr.CosFFT("z"); ii.CosFFT("z"); } } else if(strchr(tr,'h')) // do Fourier only once for speeding up { if(tr[0]=='h') { rr.Hankel("x"); ii.Hankel("x"); } if(tr[1]=='h') { rr.Hankel("y"); ii.Hankel("y"); } if(tr[2]=='h') { rr.Hankel("z"); ii.Hankel("z"); } } mglData *d = new mglData(nx, ny, nz); register long i; for(i=0;ia[i] = hypot(rr.a[i],ii.a[i]); return d; } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_transform_a_(uintptr_t *am, uintptr_t *ph, const char *tr, int l) { char *s=new char[l+1]; memcpy(s,tr,l); s[l]=0; uintptr_t res = uintptr_t(mgl_transform_a(_DA_(am),_DA_(ph),s)); delete []s; return res; } uintptr_t MGL_EXPORT mgl_transform_(uintptr_t *re, uintptr_t *im, const char *tr, int l) { char *s=new char[l+1]; memcpy(s,tr,l); s[l]=0; uintptr_t res = uintptr_t(mgl_transform(_DA_(re),_DA_(im),s)); delete []s; return res; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_envelop_(uintptr_t *d, const char *dir, int) { mgl_data_envelop(_DT_,*dir); } //----------------------------------------------------------------------------- #if MGL_HAVE_GSL MGL_NO_EXPORT void* mgl_chnkx(void *par) { mglThreadT *t=(mglThreadT *)par; register long i,j,nx=t->p[0]; double *b = t->b+3*nx*t->id; dual *a = (dual*)t->a; const gsl_dht *dht = (const gsl_dht*)t->v; double mm = gsl_sf_bessel_zero_J0(nx+1); for(i=t->id;in;i+=mglNumThr) { for(j=0;jp[0],ny=t->p[1]; double *b = t->b+3*ny*t->id; dual *a = (dual*)t->a; const gsl_dht *dht = (const gsl_dht*)t->v; double mm = gsl_sf_bessel_zero_J0(ny+1); for(ii=t->id;iin;ii+=mglNumThr) { i = ii%nx; k = ii/nx; for(j=0;jp[0]*t->p[1],nz=t->p[2]; double *b = t->b+3*nz*t->id; dual *a = (dual*)t->a; const gsl_dht *dht = (const gsl_dht*)t->v; double mm = gsl_sf_bessel_zero_J0(nz+1); for(i=t->id;in;i+=mglNumThr) { for(j=0;jnx, ny=d->ny, nz=d->nz; long par[3]={nx,ny,nz}; if(strchr(dir,'x') && nx>1) { dht = gsl_dht_new(nx,0,1); b = new double[3*nx*mglNumThr]; mglStartThreadT(mgl_chnkx,ny*nz,d->a,b,dht,0,par); } if(strchr(dir,'y') && ny>1) { dht = gsl_dht_new(ny,0,1); b = new double[3*ny*mglNumThr]; mglStartThreadT(mgl_chnky,nx*nz,d->a,b,dht,0,par); } if(strchr(dir,'z') && nz>1) { dht = gsl_dht_new(nz,0,1); b = new double[3*nz*mglNumThr]; mglStartThreadT(mgl_chnkz,nx*ny,d->a,b,dht,0,par); } if(b) { delete []b; gsl_dht_free(dht); } } #else void MGL_EXPORT mgl_datac_hankel(HADT , const char *){} #endif void MGL_EXPORT mgl_datac_hankel_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_datac_hankel(_DC_,s); delete []s; } //----------------------------------------------------------------------------- #if MGL_HAVE_GSL MGL_NO_EXPORT void* mgl_hnkx(void *par) { mglThreadT *t=(mglThreadT *)par; register long i,j,nx=t->p[0]; double *b = t->b+2*nx*t->id; mreal *a = (mreal*)t->a; const gsl_dht *dht = (const gsl_dht*)t->v; double mm = gsl_sf_bessel_zero_J0(nx+1); for(i=t->id;in;i+=mglNumThr) { for(j=0;jp[0],ny=t->p[1]; double *b = t->b+2*ny*t->id; mreal *a = (mreal*)t->a; const gsl_dht *dht = (const gsl_dht*)t->v; double mm = gsl_sf_bessel_zero_J0(ny+1); for(ii=t->id;iin;ii+=mglNumThr) { i = ii%nx; k = ii/nx; for(j=0;jp[0]*t->p[1],nz=t->p[2]; double *b = t->b+2*nz*t->id; mreal *a = (mreal*)t->a; const gsl_dht *dht = (const gsl_dht*)t->v; double mm = gsl_sf_bessel_zero_J0(nz+1); for(i=t->id;in;i+=mglNumThr) { for(j=0;jnx, ny=d->ny, nz=d->nz; long par[3]={nx,ny,nz}; if(strchr(dir,'x') && nx>1) { dht = gsl_dht_new(nx,0,1); b = new double[2*nx*mglNumThr]; mglStartThreadT(mgl_hnkx,ny*nz,d->a,b,dht,0,par); } if(strchr(dir,'y') && ny>1) { dht = gsl_dht_new(ny,0,1); b = new double[2*ny*mglNumThr]; mglStartThreadT(mgl_hnky,nx*nz,d->a,b,dht,0,par); } if(strchr(dir,'z') && nz>1) { dht = gsl_dht_new(nz,0,1); b = new double[2*nz*mglNumThr]; mglStartThreadT(mgl_hnkz,nx*ny,d->a,b,dht,0,par); } if(b) { delete []b; gsl_dht_free(dht); } } #else void MGL_EXPORT mgl_data_hankel(HMDT , const char *){} #endif void MGL_EXPORT mgl_data_hankel_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_hankel(_DT_,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_fill_sample(HMDT d, const char *how) { if(!how || *how==0) return; bool xx = strchr(how,'x'); register long i,n=d->nx; mreal *aa=d->a; if(strchr(how,'h')) // Hankel { #if MGL_HAVE_GSL gsl_dht *dht = gsl_dht_new(n,0,1); for(i=0;iny*d->nz;i++) memcpy(aa+i*n,aa,n*sizeof(mreal)); } void MGL_EXPORT mgl_data_fill_sample_(uintptr_t *d, const char *how,int l) { char *s=new char[l+1]; memcpy(s,how,l); s[l]=0; mgl_data_fill_sample(_DT_,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_datac_fft_(uintptr_t *d, const char *dir, int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_datac_fft(_DC_,s); delete []s; } void MGL_EXPORT mgl_data_fourier_(uintptr_t *re, uintptr_t *im, const char *dir, int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_fourier(_DM_(re),_DM_(im),s); delete []s; } uintptr_t MGL_EXPORT mgl_data_stfa_(uintptr_t *re, uintptr_t *im, int *dn, char *dir, int) { return uintptr_t(mgl_data_stfa(_DA_(re),_DA_(im),*dn,*dir)); } void MGL_EXPORT mgl_data_cosfft_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_cosfft(_DT_,s); delete []s; } void MGL_EXPORT mgl_data_sinfft_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; mgl_data_sinfft(_DT_,s); delete []s; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/other.cpp0000664000175000017500000005265512142400470015341 0ustar balakinbalakin/*************************************************************************** * other.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/other.h" #include "mgl2/surf.h" #include "mgl2/cont.h" #include "mgl2/eval.h" #include "mgl2/data.h" //----------------------------------------------------------------------------- // // DensX, DensY, DensZ series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens_x(HMGL gr, HCDT a, const char *sch, double sv, const char *opt) { register long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(mgl_isnan(sv)) sv = gr->GetOrgX('x'); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"DensX"); return; } if(svMin.x || sv>gr->Max.x) { gr->SetWarn(mglWarnSlc,"DensX"); return; } mglData xx,yy,zz,aa; gr->SaveState(opt); if(l>1) { aa.Create(m,l); xx.Create(m,l); yy.Create(m,l); zz.Create(m,l); mreal d = (n-1)*(sv - gr->Min.x)/(gr->Max.x - gr->Min.x); k = long(d); d = d - k; if(k>n-2) { k=n-2; d=1; } if(k<0) { k=0; d=0; } const mglData *ma=dynamic_cast(a); if(ma) for(j=0;ja[k+n*(i+m*j)]*(1-d) + d*ma->a[k+1+n*(i+m*j)]; else for(j=0;jv(k,i,j)*(1-d) + d*a->v(k+1,i,j); a = &aa; } else { xx.Create(n,m); yy.Create(n,m); zz.Create(n,m); } xx.Fill(sv, sv); yy.Fill(gr->Min.y, gr->Max.y,'x'); zz.Fill(gr->Min.z, gr->Max.z,'y'); mgl_surfc_xy(gr,&xx,&yy,&zz,a,sch,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens_y(HMGL gr, HCDT a, const char *sch, double sv, const char *opt) { register long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(mgl_isnan(sv)) sv = gr->GetOrgX('x'); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"DensY"); return; } if(svMin.x || sv>gr->Max.x) { gr->SetWarn(mglWarnSlc,"DensY"); return; } mglData xx,yy,zz,aa; gr->SaveState(opt); if(l>1) { aa.Create(n,l); xx.Create(n,l); yy.Create(n,l); zz.Create(n,l); mreal d = (m-1)*(sv - gr->Min.y)/(gr->Max.y - gr->Min.y); k = long(d); d = d - k; if(k>m-2) { k=m-2; d=1; } if(k<0) { k=0; d=0; } const mglData *ma=dynamic_cast(a); if(ma) for(j=0;ja[i+n*(k+m*j)]*(1-d) + d*ma->a[i+n+n*(k+m*j)]; else for(j=0;jv(i,k,j)*(1-d) + d*a->v(i,k+1,j); a = &aa; } else { xx.Create(n,m); yy.Create(n,m); zz.Create(n,m); } yy.Fill(sv, sv); xx.Fill(gr->Min.x, gr->Max.x,'x'); zz.Fill(gr->Min.z, gr->Max.z,'y'); mgl_surfc_xy(gr,&xx,&yy,&zz,a,sch,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens_z(HMGL gr, HCDT a, const char *sch, double sv, const char *opt) { register long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(mgl_isnan(sv)) sv = gr->GetOrgX('x'); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"DensZ"); return; } if(svMin.x || sv>gr->Max.x) { gr->SetWarn(mglWarnSlc,"DensZ"); return; } mglData xx,yy,zz,aa; gr->SaveState(opt); xx.Create(n,m); yy.Create(n,m); zz.Create(n,m); if(l>1) { aa.Create(n,m); mreal d = (l-1)*(sv - gr->Min.z)/(gr->Max.z - gr->Min.z); k = long(d); d = d - k; if(k>l-2) { k=l-2; d=1; } if(k<0) { k=0; d=0; } const mglData *ma=dynamic_cast(a); if(ma) for(j=0;ja[i+n*(j+m*k)]*(1-d) + d*ma->a[i+n*m+n*(j+m*k)]; else for(j=0;jv(i,j,k)*(1-d) + d*a->v(i,j,k+1); a = &aa; } zz.Fill(sv, sv); yy.Fill(gr->Min.y, gr->Max.y,'y'); xx.Fill(gr->Min.x, gr->Max.x,'x'); mgl_surfc_xy(gr,&xx,&yy,&zz,a,sch,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens_x_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dens_x(_GR_, _DA_(a), s, *sv, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens_y_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dens_y(_GR_, _DA_(a), s, *sv, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_dens_z_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_dens_z(_GR_, _DA_(a), s, *sv, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // ContX, ContY, ContZ series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_gen(HMGL gr, mreal val, HCDT a, HCDT x, HCDT y, HCDT z, mreal c, int text,long ak); void MGL_EXPORT mgl_cont_x_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sv, const char *opt) { register long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(mgl_isnan(sv)) sv = gr->GetOrgX('x'); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"ContX"); return; } if(svMin.x || sv>gr->Max.x) { gr->SetWarn(mglWarnSlc,"ContX"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContX",cgid++); mglData xx,yy,zz,aa; bool text=(mglchr(sch,'t')); long ss=gr->AddTexture(sch); gr->SetPenPal(sch); if(l>1) { aa.Create(m,l); xx.Create(m,l); yy.Create(m,l); zz.Create(m,l); mreal d = (n-1)*(sv - gr->Min.x)/(gr->Max.x - gr->Min.x); k = long(d); d = d - k; if(k>n-2) { k=n-2; d=1; } if(k<0) { k=0; d=0; } const mglData *ma=dynamic_cast(a); if(ma) for(j=0;ja[k+n*(i+m*j)]*(1-d) + d*ma->a[k+1+n*(i+m*j)]; else for(j=0;jv(k,i,j)*(1-d) + d*a->v(k+1,i,j); a = &aa; } else { xx.Create(n,m); yy.Create(n,m); zz.Create(n,m); } xx.Fill(sv, sv); yy.Fill(gr->Min.y, gr->Max.y,'x'); zz.Fill(gr->Min.z, gr->Max.z,'y'); for(i=0;iGetNx();i++) { register mreal v0 = v->v(i); mgl_cont_gen(gr,v0,a,&xx,&yy,&zz,gr->GetC(ss,v0),text,0); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_y_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sv, const char *opt) { register long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(mgl_isnan(sv)) sv = gr->GetOrgX('x'); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"ContY"); return; } if(svMin.x || sv>gr->Max.x) { gr->SetWarn(mglWarnSlc,"ContY"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContY",cgid++); mglData xx,yy,zz,aa; bool text=(mglchr(sch,'t')); long ss=gr->AddTexture(sch); gr->SetPenPal(sch); if(l>1) { aa.Create(n,l); xx.Create(n,l); yy.Create(n,l); zz.Create(n,l); mreal d = (m-1)*(sv - gr->Min.y)/(gr->Max.y - gr->Min.y); k = long(d); d = d - k; if(k>m-2) { k=m-2; d=1; } if(k<0) { k=0; d=0; } const mglData *ma=dynamic_cast(a); if(ma) for(j=0;ja[i+n*(k+m*j)]*(1-d) + d*ma->a[i+n+n*(k+m*j)]; else for(j=0;jv(i,k,j)*(1-d) + d*a->v(i,k+1,j); a = &aa; } else { xx.Create(n,m); yy.Create(n,m); zz.Create(n,m); } yy.Fill(sv, sv); xx.Fill(gr->Min.x, gr->Max.x,'x'); zz.Fill(gr->Min.z, gr->Max.z,'y'); for(i=0;iGetNx();i++) { register mreal v0 = v->v(i); mgl_cont_gen(gr,v0,a,&xx,&yy,&zz,gr->GetC(ss,v0),text,0); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_z_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sv, const char *opt) { register long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(mgl_isnan(sv)) sv = gr->GetOrgX('x'); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"ContZ"); return; } if(svMin.x || sv>gr->Max.x) { gr->SetWarn(mglWarnSlc,"ContZ"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContZ",cgid++); mglData xx,yy,zz,aa; bool text=(mglchr(sch,'t')); long ss=gr->AddTexture(sch); gr->SetPenPal(sch); xx.Create(n,m); yy.Create(n,m); zz.Create(n,m); if(l>1) { aa.Create(n,m); mreal d = (l-1)*(sv - gr->Min.z)/(gr->Max.z - gr->Min.z); k = long(d); d = d - k; if(k>l-2) { k=l-2; d=1; } if(k<0) { k=0; d=0; } const mglData *ma=dynamic_cast(a); if(ma) for(j=0;ja[i+n*(j+m*k)]*(1-d) + d*ma->a[i+n*m+n*(j+m*k)]; else for(j=0;jv(i,j,k)*(1-d) + d*a->v(i,j,k+1); a = &aa; } zz.Fill(sv, sv); yy.Fill(gr->Min.y, gr->Max.y,'y'); xx.Fill(gr->Min.x, gr->Max.x,'x'); for(i=0;iGetNx();i++) { register mreal v0 = v->v(i); mgl_cont_gen(gr,v0,a,&xx,&yy,&zz,gr->GetC(ss,v0),text,0); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_x(HMGL gr, HCDT a, const char *sch, double sv, const char *opt) { mreal r = gr->SaveState(opt); long Num = (mgl_isnan(r) || r<=0) ? 7:long(r+0.5); mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_cont_x_val(gr,&v,a,sch,sv,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_y(HMGL gr, HCDT a, const char *sch, double sv, const char *opt) { mreal r = gr->SaveState(opt); long Num = (mgl_isnan(r) || r<=0) ? 7:long(r+0.5); mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_cont_y_val(gr,&v,a,sch,sv,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_z(HMGL gr, HCDT a, const char *sch, double sv, const char *opt) { mreal r = gr->SaveState(opt); long Num = (mgl_isnan(r) || r<=0) ? 7:long(r+0.5); mglData v(Num); for(long i=0;iMin.c + (gr->Max.c-gr->Min.c)*mreal(i+1)/(Num+1); mgl_cont_z_val(gr,&v,a,sch,sv,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_x_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont_x(_GR_, _DA_(a), s, *sv, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_y_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont_y(_GR_, _DA_(a), s, *sv, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_z_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont_z(_GR_, _DA_(a), s, *sv, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_x_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont_x_val(_GR_, _DA_(v), _DA_(a), s, *sv, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_y_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont_y_val(_GR_, _DA_(v), _DA_(a), s, *sv, o); delete []o; delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_cont_z_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_cont_z_val(_GR_, _DA_(v), _DA_(a), s, *sv, o); delete []o; delete []s; } //----------------------------------------------------------------------------- // // ContFX, ContFY, ContFZ series // //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_gen(HMGL gr, mreal v1, mreal v2, HCDT a, HCDT x, HCDT y, HCDT z, mreal c, long ak); void MGL_EXPORT mgl_contf_x_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sv, const char *opt) { register long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(mgl_isnan(sv)) sv = gr->GetOrgX('x'); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"ContFX"); return; } if(svMin.x || sv>gr->Max.x) { gr->SetWarn(mglWarnSlc,"ContFX"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContFX",cgid++); mglData xx,yy,zz,aa; long ss=gr->AddTexture(sch); if(l>1) { aa.Create(m,l); xx.Create(m,l); yy.Create(m,l); zz.Create(m,l); mreal d = (n-1)*(sv - gr->Min.x)/(gr->Max.x - gr->Min.x); k = long(d); d = d - k; if(k>n-2) { k=n-2; d=1; } if(k<0) { k=0; d=0; } const mglData *ma=dynamic_cast(a); if(ma) for(j=0;ja[k+n*(i+m*j)]*(1-d) + d*ma->a[k+1+n*(i+m*j)]; else for(j=0;jv(k,i,j)*(1-d) + d*a->v(k+1,i,j); a = &aa; } else { xx.Create(n,m); yy.Create(n,m); zz.Create(n,m); } xx.Fill(sv, sv); yy.Fill(gr->Min.y, gr->Max.y,'x'); zz.Fill(gr->Min.z, gr->Max.z,'y'); for(i=0;iGetNx()-1;i++) { register mreal v0 = v->v(i); mgl_contf_gen(gr,v0,v->v(i+1),a,&xx,&yy,&zz,gr->GetC(ss,v0),0); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_y_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sv, const char *opt) { register long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(mgl_isnan(sv)) sv = gr->GetOrgX('x'); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"ContFY"); return; } if(svMin.x || sv>gr->Max.x) { gr->SetWarn(mglWarnSlc,"ContFY"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContFY",cgid++); mglData xx,yy,zz,aa; long ss=gr->AddTexture(sch); if(l>1) { aa.Create(n,l); xx.Create(n,l); yy.Create(n,l); zz.Create(n,l); mreal d = (m-1)*(sv - gr->Min.y)/(gr->Max.y - gr->Min.y); k = long(d); d = d - k; if(k>m-2) { k=m-2; d=1; } if(k<0) { k=0; d=0; } const mglData *ma=dynamic_cast(a); if(ma) for(j=0;ja[i+n*(k+m*j)]*(1-d) + d*ma->a[i+n+n*(k+m*j)]; else for(j=0;jv(i,k,j)*(1-d) + d*a->v(i,k+1,j); a = &aa; } else { xx.Create(n,m); yy.Create(n,m); zz.Create(n,m); } yy.Fill(sv, sv); xx.Fill(gr->Min.x, gr->Max.x,'x'); zz.Fill(gr->Min.z, gr->Max.z,'y'); for(i=0;iGetNx()-1;i++) { register mreal v0 = v->v(i); mgl_contf_gen(gr,v0,v->v(i+1),a,&xx,&yy,&zz,gr->GetC(ss,v0),0); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_z_val(HMGL gr, HCDT v, HCDT a, const char *sch, double sv, const char *opt) { register long i,j,k,n=a->GetNx(),m=a->GetNy(),l=a->GetNz(); if(mgl_isnan(sv)) sv = gr->GetOrgX('x'); if(n<2 || m<2) { gr->SetWarn(mglWarnLow,"ContFZ"); return; } if(svMin.x || sv>gr->Max.x) { gr->SetWarn(mglWarnSlc,"ContFZ"); return; } gr->SaveState(opt); static int cgid=1; gr->StartGroup("ContFZ",cgid++); mglData xx,yy,zz,aa; long ss=gr->AddTexture(sch); xx.Create(n,m); yy.Create(n,m); zz.Create(n,m); if(l>1) { aa.Create(n,m); mreal d = (l-1)*(sv - gr->Min.z)/(gr->Max.z - gr->Min.z); k = long(d); d = d - k; if(k>l-2) { k=l-2; d=1; } if(k<0) { k=0; d=0; } const mglData *ma=dynamic_cast(a); if(ma) for(j=0;ja[i+n*(j+m*k)]*(1-d) + d*ma->a[i+n*m+n*(j+m*k)]; else for(j=0;jv(i,j,k)*(1-d) + d*a->v(i,j,k+1); a = &aa; } zz.Fill(sv, sv); yy.Fill(gr->Min.y, gr->Max.y,'y'); xx.Fill(gr->Min.x, gr->Max.x,'x'); for(i=0;iGetNx()-1;i++) { register mreal v0 = v->v(i); mgl_contf_gen(gr,v0,v->v(i+1),a,&xx,&yy,&zz,gr->GetC(ss,v0),0); } gr->EndGroup(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_x(HMGL gr, HCDT a, const char *sch, double sv, const char *opt) { mreal r = gr->SaveState(opt); long Num = (mgl_isnan(r) || r<=0) ? 7:long(r+0.5); mglData v(Num); v.Fill(gr->Min.c, gr->Max.c); mgl_contf_x_val(gr,&v,a,sch,sv,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_y(HMGL gr, HCDT a, const char *sch, double sv, const char *opt) { mreal r = gr->SaveState(opt); long Num = (mgl_isnan(r) || r<=0) ? 7:long(r+0.5); mglData v(Num); v.Fill(gr->Min.c, gr->Max.c); mgl_contf_y_val(gr,&v,a,sch,sv,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_z(HMGL gr, HCDT a, const char *sch, double sv, const char *opt) { mreal r = gr->SaveState(opt); long Num = (mgl_isnan(r) || r<=0) ? 7:long(r+0.5); mglData v(Num); v.Fill(gr->Min.c, gr->Max.c); mgl_contf_z_val(gr,&v,a,sch,sv,0); gr->LoadState(); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_contf_x_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf_x(_GR_, _DA_(a), s, *sv, o); delete []o; delete []s; } /// Draw several contour plots for data a at y = *sv void MGL_EXPORT mgl_contf_y_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf_y(_GR_, _DA_(a), s, *sv, o); delete []o; delete []s; } /// Draw several contour plots for data a at z = *sv void MGL_EXPORT mgl_contf_z_(uintptr_t *gr, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf_z(_GR_, _DA_(a), s, *sv, o); delete []o; delete []s; } /// Draw contour plots for data a at x = *sv void MGL_EXPORT mgl_contf_x_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf_x_val(_GR_, _DA_(v), _DA_(a), s, *sv, o); delete []o; delete []s;} /// Draw contour plots for data a at y = *sv void MGL_EXPORT mgl_contf_y_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf_y_val(_GR_, _DA_(v), _DA_(a), s, *sv, o); delete []o; delete []s;} /// Draw contour plots for data a at z = *sv void MGL_EXPORT mgl_contf_z_val_(uintptr_t *gr, uintptr_t *v, uintptr_t *a, const char *sch, mreal *sv, const char *opt,int l,int lo) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; char *o=new char[lo+1]; memcpy(o,opt,lo); o[lo]=0; mgl_contf_z_val(_GR_, _DA_(v), _DA_(a), s, *sv, o); delete []o; delete []s;} //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/export.cpp0000664000175000017500000005071012142400470015527 0ustar balakinbalakin/*************************************************************************** * export.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #if defined(WIN32) || defined(_MSC_VER) || defined(__BORLANDC__) #include #else #include #endif #include "mgl2/canvas.h" #include "mgl2/canvas_cf.h" #if MGL_HAVE_PNG #include #endif #if MGL_HAVE_JPEG extern "C" { #include } #endif #if MGL_HAVE_GIF #include #endif //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_pnga_save(const char *fname, int w, int h, unsigned char **p) { #if MGL_HAVE_PNG bool fl = strcmp(fname,"-"); FILE *fp = fl ? fopen(fname, "wb") : stdout; if (!fp) return 1; png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,0,0,0); if (png_ptr) { png_infop info_ptr = png_create_info_struct(png_ptr); if (info_ptr) { png_init_io(png_ptr, fp); png_set_filter(png_ptr, 0, PNG_ALL_FILTERS); png_set_compression_level(png_ptr, Z_BEST_COMPRESSION); png_set_IHDR(png_ptr, info_ptr, w, h, 8, PNG_COLOR_TYPE_RGB_ALPHA, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); png_set_rows(png_ptr, info_ptr, p); png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, 0); png_write_end(png_ptr, info_ptr); } png_destroy_write_struct(&png_ptr, &info_ptr); } if(fl) fclose(fp); return 0; #else mglGlobalMess += "PNG support was disabled. Please, enable it and rebuild MathGL.\n"; return 1; #endif } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_png_save(const char *fname, int w, int h, unsigned char **p) { #if MGL_HAVE_PNG bool fl = strcmp(fname,"-"); FILE *fp = fl ? fopen(fname, "wb") : stdout; if (!fp) return 1; png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,0,0,0); if (png_ptr) { png_infop info_ptr = png_create_info_struct(png_ptr); if (info_ptr) { png_init_io(png_ptr, fp); png_set_filter(png_ptr, 0, PNG_ALL_FILTERS); png_set_compression_level(png_ptr, Z_BEST_COMPRESSION); png_set_IHDR(png_ptr, info_ptr, w, h, 8, PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); png_set_rows(png_ptr, info_ptr, p); png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, 0); png_write_end(png_ptr, info_ptr); } png_destroy_write_struct(&png_ptr, &info_ptr); } if(fl) fclose(fp); return 0; #else mglGlobalMess += "PNG support was disabled. Please, enable it and rebuild MathGL.\n"; return 1; #endif } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_bmp_save(const char *fname, int w, int h, unsigned char **p) { bool fl = strcmp(fname,"-"); FILE *fp = fl ? fopen(fname, "wb") : stdout; if (!fp) return 1; char z[4] = {0,0,0,0}; unsigned u = w*h*3 + 54; // BITMAPFILEHEADER fwrite("BM",2,1,fp); fwrite(&u,4,1,fp); fwrite(z,4,1,fp); u=54; fwrite(&u,4,1,fp); // BITMAPINFOHEADER u=40; fwrite(&u,4,1,fp); fwrite(&w,4,1,fp); fwrite(&h,4,1,fp); unsigned short pp=1; fwrite(&pp,2,1,fp); pp=24; fwrite(&pp,2,1,fp); u = w*h*3; fwrite(z,4,1,fp); fwrite(&u,4,1,fp); fwrite(z,4,1,fp); fwrite(z,4,1,fp); fwrite(z,4,1,fp); fwrite(z,4,1,fp); // image const unsigned char *q; register int i,j; for(i=h-1;i>=0;i--) for(j=0;j=0;i--) for(j=0;j=0;j--) for(i=0;i0) mgl_printf(fp, gz, "\n"); mgl_printf(fp, gz, "%02x%02x%02x",p[j][3*i],p[j][3*i+1],p[j][3*i+2]); } mgl_printf(fp, gz, "\n\nshowpage\n%%%%EOF\n"); if(strcmp(fname,"-")) { if(gz) gzclose((gzFile)fp); else fclose((FILE *)fp); } return 0; } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_gif_save(const char *fname, int w, int h, unsigned char **l) { #if MGL_HAVE_GIF #if GIFLIB_MAJOR>=5 GifFileType *fg = EGifOpenFileName(fname, 0, 0); #else GifFileType *fg = EGifOpenFileName(fname, 0); #endif // define colormap GifColorType col[256]; memset(col,0,256*sizeof(GifColorType)); register long m; register int i,j,k,ii; for(i=0;i<6;i++) for(j=0;j<6;j++) for(k=0;k<6;k++) { m = i+6*(j+6*k); // part 1 col[m].Red = 51*i; col[m].Green=51*j; col[m].Blue =51*k; } // write header #if GIFLIB_MAJOR>=5 ColorMapObject *gmap = GifMakeMapObject(256, col); EGifPutScreenDesc(fg, w, h, 256,0,gmap); GifFreeMapObject(gmap); #else ColorMapObject *gmap = MakeMapObject(256, col); EGifPutScreenDesc(fg, w, h, 256,0,gmap); FreeMapObject(gmap); #endif // write frame EGifPutImageDesc(fg, 0, 0, w, h, 0, 0); GifPixelType *line = new GifPixelType[w*h]; for(m=0;m=5 gif = EGifOpenFileName(fname, 0, 0); EGifSetGifVersion(gif,true); #else EGifSetGifVersion("89a"); gif = EGifOpenFileName(fname, 0); #endif // get picture sizes // NOTE: you shouldn't call SetSize() after StartGIF() !!! long width, height; unsigned char *f=0; GetRGBLines(width, height, f); if(f) free(f); // define colormap GifColorType col[256]; memset(col,0,256*sizeof(GifColorType)); register int i,j,k,m; for(i=0;i<6;i++) for(j=0;j<6;j++) for(k=0;k<6;k++) { m = i+6*(j+6*k); // part 1 col[m].Red = 51*i; col[m].Green=51*j; col[m].Blue =51*k; } // write header #if GIFLIB_MAJOR>=5 ColorMapObject *gmap = GifMakeMapObject(256, col); EGifPutScreenDesc(gif, width, height, 256,0,gmap); GifFreeMapObject(gmap); #else ColorMapObject *gmap = MakeMapObject(256, col); EGifPutScreenDesc(gif, width, height, 256,0,gmap); FreeMapObject(gmap); #endif // put animation parameters ms /= 10; unsigned char ext1[11] = {0x4E, 0x45, 0x54, 0x53, 0x43, 0x41, 0x50, 0x45, 0x32, 0x2E, 0x30}, ext3[3] = {0x01, 0xff, 0xff}, ext2[9] = {0x08, ms%256, ms/256, 0xff}; #if GIFLIB_MAJOR>=5 EGifPutExtensionLeader(gif,0xff); EGifPutExtensionBlock(gif,11,ext1); EGifPutExtensionBlock(gif,3,ext3); EGifPutExtensionTrailer(gif); EGifPutExtension(gif,0xf9,4,ext2); #else EGifPutExtensionFirst(gif,0xff,11,ext1); EGifPutExtensionLast(gif,0xff,3,ext3); EGifPutExtension(gif,0xf9,4,ext2); #endif #else mglGlobalMess += "GIF support was disabled. Please, enable it and rebuild MathGL.\n"; #endif } //----------------------------------------------------------------------------- void mglCanvas::CloseGIF() { #if MGL_HAVE_GIF if(gif) EGifCloseFile(gif); #else mglGlobalMess += "GIF support was disabled. Please, enable it and rebuild MathGL.\n"; #endif gif = 0; } //----------------------------------------------------------------------------- int mglCanvas::NewFrame() { Clf(); Identity(); CurFrameId++; return CurFrameId-1; } //----------------------------------------------------------------------------- void mglCanvas::EndFrame() { Finish(); if(get(MGL_VECT_FRAME)) PushDrwDat(); #if MGL_HAVE_GIF long width, height, n; unsigned char *f=0, **l=0; l = GetRGBLines(width, height, f); n = width*height; if(!l || !gif) return; EGifPutImageDesc(gif, 0, 0, width, height, 0, 0); GifPixelType *line = new GifPixelType[n]; register long m; register int i,j,k,ii; for(m=0;mGetRGBLines(w,h,f,true); if(p) { std::string fn=fname; if(fn.empty()) { fn=gr->PlotId+".png"; fname = fn.c_str(); } if(mgl_pnga_save(fname,w,h,p)) gr->SetWarn(mglWarnOpen,fname); free(p); if(f) free(f); } } void MGL_EXPORT mgl_write_png_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_png(_GR_,s,f); delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_png_solid(HMGL gr, const char *fname,const char *) { long w,h; unsigned char *f=0, **p=0; p =_Gr_->GetRGBLines(w,h,f); if(p) { std::string fn=fname; if(fn.empty()) { fn=gr->PlotId+".png"; fname = fn.c_str(); } if(mgl_png_save(fname,w,h,p)) gr->SetWarn(mglWarnOpen,fname); free(p); if(f) free(f); } } void MGL_EXPORT mgl_write_png_solid_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_png_solid(_GR_,s,f); delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_jpg(HMGL gr, const char *fname,const char *) { long w,h; unsigned char *f=0, **p=0; p =_Gr_->GetRGBLines(w,h,f); if(p) { std::string fn=fname; if(fn.empty()) { fn=gr->PlotId+".jpg"; fname = fn.c_str(); } if(mgl_jpeg_save(fname,w,h,p)) gr->SetWarn(mglWarnOpen,fname); free(p); if(f) free(f); } } void MGL_EXPORT mgl_write_jpg_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_jpg(_GR_,s,f); delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_tga(HMGL gr, const char *fname,const char *) { long w,h; unsigned char *f=0, **p=0; p =_Gr_->GetRGBLines(w,h,f,true); if(p) { std::string fn=fname; if(fn.empty()) { fn=gr->PlotId+".tga"; fname = fn.c_str(); } if(mgl_tga_save(fname,w,h,p)) gr->SetWarn(mglWarnOpen,fname); free(p); if(f) free(f); } } void MGL_EXPORT mgl_write_tga_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_tga(_GR_,s,f); delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_bmp(HMGL gr, const char *fname,const char *) { long w,h; unsigned char *f=0, **p=0; p =_Gr_->GetRGBLines(w,h,f); if(p) { std::string fn=fname; if(fn.empty()) { fn=gr->PlotId+".bmp"; fname = fn.c_str(); } if(mgl_bmp_save(fname,w,h,p)) gr->SetWarn(mglWarnOpen,fname); free(p); if(f) free(f); } } void MGL_EXPORT mgl_write_bmp_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_bmp(_GR_,s,f); delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_bps(HMGL gr, const char *fname,const char *) { long w,h; unsigned char *f=0, **p=0; p =_Gr_->GetRGBLines(w,h,f); if(p) { std::string fn=fname; if(fn.empty()) { fn=gr->PlotId+".eps"; fname = fn.c_str(); } if(mgl_bps_save(fname,w,h,p)) gr->SetWarn(mglWarnOpen,fname); free(p); if(f) free(f); } } void MGL_EXPORT mgl_write_bps_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_bps(_GR_,s,f); delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_gif(HMGL gr, const char *fname,const char *) { long w,h; unsigned char *f=0, **p=0; p =_Gr_->GetRGBLines(w,h,f); if(p) { std::string fn=fname; if(fn.empty()) { fn=gr->PlotId+".gif"; fname = fn.c_str(); } if(mgl_gif_save(fname,w,h,p)) gr->SetWarn(mglWarnOpen,fname); free(p); if(f) free(f); } } void MGL_EXPORT mgl_write_gif_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_gif(_GR_,s,f); delete []s; delete []f; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_start_gif(HMGL gr, const char *fname,int ms) { _Gr_->StartGIF(fname,ms); } void MGL_EXPORT mgl_start_gif_(uintptr_t *gr, const char *fname,int *ms,int l) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; mgl_start_gif(_GR_,s,*ms); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_close_gif(HMGL gr) { _Gr_->CloseGIF(); } void MGL_EXPORT mgl_close_gif_(uintptr_t *gr) { mgl_close_gif(_GR_); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_frame(HMGL gr, const char *fname,const char *descr) { char buf[64]; if(!fname || !fname[0]) { snprintf(buf,64,"%s%04d.jpg",_Gr_->PlotId.c_str(),_Gr_->GetNumFrame()); fname = buf; } int len=strlen(fname); if(!strcmp(fname+len-4,".jpg")) mgl_write_jpg(gr,fname,descr); if(!strcmp(fname+len-5,".jpeg"))mgl_write_jpg(gr,fname,descr); if(!strcmp(fname+len-4,".prc")) mgl_write_prc(gr,fname,descr,1); if(!strcmp(fname+len-4,".pdf")) mgl_write_prc(gr,fname,descr,1); if(!strcmp(fname+len-4,".png")) mgl_write_png(gr,fname,descr); if(!strcmp(fname+len-4,".eps")) mgl_write_eps(gr,fname,descr); if(!strcmp(fname+len-4,".svg")) mgl_write_svg(gr,fname,descr); if(!strcmp(fname+len-4,".gif")) mgl_write_gif(gr,fname,descr); if(!strcmp(fname+len-4,".bmp")) mgl_write_bmp(gr,fname,descr); if(!strcmp(fname+len-4,".tga")) mgl_write_tga(gr,fname,descr); if(!strcmp(fname+len-5,".mgld"))mgl_export_mgld(gr,fname,descr); if(!strcmp(fname+len-4,".json")) mgl_write_json(gr,fname,descr); if(!strcmp(fname+len-4,".obj")) mgl_write_obj(gr,fname,descr,1); if(!strcmp(fname+len-4,".tex")) mgl_write_tex(gr,fname,descr); if(!strcmp(fname+len-4,".xyz")) mgl_write_xyz(gr,fname,descr); if(!strcmp(fname+len-4,".stl")) mgl_write_stl(gr,fname,descr); if(!strcmp(fname+len-4,".off")) mgl_write_off(gr,fname,descr,0); // if(!strcmp(fname+len-4,".x3d")) mgl_write_x3d(gr,fname,descr,1); } void MGL_EXPORT mgl_write_frame_(uintptr_t *gr, const char *fname,const char *descr,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_frame(_GR_,s,f); delete []s; delete []f;} //----------------------------------------------------------------------------- #ifdef WIN32 #include #include #endif void MGL_EXPORT mgl_show_image(HMGL gr, const char *viewer, int keep) { char fname[128], *cmd = new char [128]; snprintf(fname,128,"%s.png", tmpnam(NULL)); mgl_write_png_solid(gr,fname,"MathGL ShowImage file"); if(!viewer || !viewer[0]) viewer = MGL_DEF_VIEWER; #ifdef WIN32 if(keep) { snprintf(cmd,128,"%s %s &", viewer,fname); if(system(cmd)==-1) printf("Error to call external viewer\n"); Sleep(2000); snprintf(cmd,128,"del %s", fname); } else snprintf(cmd,128,"%s %s; del %s", viewer,fname,fname); #else if(keep) { snprintf(cmd,128,"%s %s &", viewer,fname); if(system(cmd)==-1) printf("Error to call external viewer\n"); sleep(2); snprintf(cmd,128,"rm %s", fname); } else snprintf(cmd,128,"%s %s; rm %s", viewer,fname,fname); #endif if(system(cmd)==-1) printf("Error to call external viewer\n"); delete []cmd; } void MGL_EXPORT mgl_show_image_(uintptr_t *gr, const char *viewer, int *keep, int l) { char *s=new char[l+1]; memcpy(s,viewer,l); s[l]=0; mgl_show_image(_GR_,s,*keep); delete []s; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/data_new.cpp0000664000175000017500000010051112142400470015763 0ustar balakinbalakin/*************************************************************************** * data_new.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/data.h" #include "mgl2/eval.h" //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_data_trace(HCDT d) { long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); mglData *r=new mglData(nx); register long i; if(ny>=nx && nz>=nx) for(i=0;ia[i] = d->v(i,i,i); else if(ny>=nx) for(i=0;ia[i] = d->v(i,i); else for(i=0;ia[i] = d->v(i); return r; } uintptr_t MGL_EXPORT mgl_data_trace_(uintptr_t *d) { return uintptr_t(mgl_data_trace(_DT_)); } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_data_subdata_ext(HCDT d, HCDT xx, HCDT yy, HCDT zz) { long n=0,m=0,l=0,i,j,k,i0; mreal x,y,z; mglData *r=new mglData; bool ix=false, iy=false, iz=false; if(xx->GetNz()>1) // 3d data { n = xx->GetNx(); m = xx->GetNy(); l = xx->GetNz(); j = yy->GetNx()*yy->GetNy()*yy->GetNz(); if(j>1 && j!=n*m*l) return r; // wrong sizes k = zz->GetNx()*zz->GetNy()*zz->GetNz(); if(k>1 && k!=n*m*l) return r; // wrong sizes ix = true; iy = j>1; iz = k>1; } else if(yy->GetNz()>1) { n = yy->GetNx(); m = yy->GetNy(); l = yy->GetNz(); j = xx->GetNx()*xx->GetNy()*xx->GetNz(); if(j>1 && j!=n*m*l) return r; // wrong sizes k = zz->GetNx()*zz->GetNy()*zz->GetNz(); if(k>1 && k!=n*m*l) return r; // wrong sizes iy = true; ix = j>1; iz = k>1; } else if(zz->GetNz()>1) { n = zz->GetNx(); m = zz->GetNy(); l = zz->GetNz(); j = yy->GetNx()*yy->GetNy()*yy->GetNz(); if(j>1 && j!=n*m*l) return r; // wrong sizes k = xx->GetNx()*xx->GetNy()*xx->GetNz(); if(k>1 && k!=n*m*l) return r; // wrong sizes iz = true; iy = j>1; ix = k>1; } else if(xx->GetNy()>1) // 2d data { n = xx->GetNx(); m = xx->GetNy(); l = 1; j = yy->GetNx()*yy->GetNy(); if(j>1 && j!=n*m) return r; // wrong sizes k = zz->GetNx()*zz->GetNy(); if(k>1 && k!=n*m) return r; // wrong sizes ix = true; iy = j>1; iz = k>1; } else if(yy->GetNy()>1) { n = yy->GetNx(); m = yy->GetNy(); l = 1; j = xx->GetNx()*xx->GetNy(); if(j>1 && j!=n*m) return r; // wrong sizes k = zz->GetNx()*zz->GetNy(); if(k>1 && k!=n*m) return r; // wrong sizes iy = true; ix = j>1; iz = k>1; } else if(zz->GetNy()>1) { n = zz->GetNx(); m = zz->GetNy(); l = 1; j = yy->GetNx()*yy->GetNy(); if(j>1 && j!=n*m) return r; // wrong sizes k = xx->GetNx()*xx->GetNy(); if(k>1 && k!=n*m) return r; // wrong sizes iz = true; iy = j>1; ix = k>1; } long nx=d->GetNx(),ny=d->GetNy(),nz=d->GetNz(); mreal vx=xx->v(0), vy=yy->v(0), vz=zz->v(0); if(n*m*l>1) // this is 2d or 3d data { r->Create(n,m,l); for(i0=0;i0vthr(i0):vx; y = iy?yy->vthr(i0):vy; z = iz?zz->vthr(i0):vz; r->a[i0] = mgl_data_linear(d,x,y,z); } return r; } // this is 1d data -> try as normal SubData() if(xx->GetNx()>1 || vx>=0) { n=xx->GetNx(); ix=true; } else { n=nx; ix=false; } if(yy->GetNx()>1 || vy>=0) { m=yy->GetNx(); iy=true; } else { m=ny; iy=false; } if(zz->GetNx()>1 || vz>=0) { l=zz->GetNx(); iz=true; } else { l=nz; iz=false; } r->Create(n,m,l); for(k=0;kv(i):i; y = iy?yy->v(j):j; z = iz?zz->v(k):k; r->a[i+n*(j+m*k)] = mgl_data_linear(d,x,y,z); } if(m==1) { r->ny=r->nz; r->nz=1; }// "squeeze" dimensions if(n==1) { r->nx=r->ny; r->ny=r->nz; r->nz=1; r->NewId();} return r; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_data_subdata(HCDT d, long xx,long yy,long zz) { mglData x,y,z; x.a[0]=xx; y.a[0]=yy; z.a[0]=zz; return mgl_data_subdata_ext(d,&x,&y,&z); } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_data_subdata_(uintptr_t *d, int *xx,int *yy,int *zz) { return uintptr_t(mgl_data_subdata(_DT_,*xx,*yy,*zz)); } uintptr_t MGL_EXPORT mgl_data_subdata_ext_(uintptr_t *d, uintptr_t *xx, uintptr_t *yy, uintptr_t *zz) { return uintptr_t(mgl_data_subdata_ext(_DT_,_DA_(xx),_DA_(yy),_DA_(zz))); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_column(void *par) { mglThreadD *t=(mglThreadD *)par; const mglFormula *f = (const mglFormula *)t->v; register long i,j, nx=t->p[0]; mreal *b=t->a, var[MGL_VS]; const mreal *a=t->b; memset(var,0,('z'-'a')*sizeof(mreal)); for(i=t->id;in;i+=mglNumThr) { for(j=0;js[j]>='a' && t->s[j]<='z') var[t->s[j]-'a'] = a[j+nx*i]; b[i] = f->Calc(var); } return 0; } HMDT MGL_EXPORT mgl_data_column(HCDT dat, const char *eq) { // NOTE: only for mglData (for speeding up) long nx=dat->GetNx(),ny=dat->GetNy(),nz=dat->GetNz(); mglFormula f(eq); mglData *r=new mglData(ny,nz); const mglData *d=dynamic_cast(dat); if(d) mglStartThread(mgl_column,0,ny*nz,r->a,d->a,0,&nx,&f,0,0,d->id.c_str()); return r; } uintptr_t MGL_EXPORT mgl_data_column_(uintptr_t *d, const char *eq,int l) { char *s=new char[l+1]; memcpy(s,eq,l); s[l]=0; uintptr_t r = uintptr_t(mgl_data_column(_DT_,s)); delete []s; return r; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_resize(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,k,i0, nx=t->p[0]+0.1, ny=t->p[1]+0.1; long n1=t->p[3]+0.1,n2=t->p[4]+0.1,n3=t->p[5]+0.1; mreal *b=t->a; const mreal *a=t->b, *c=t->c; for(i0=t->id;i0n;i0+=mglNumThr) { i=i0%nx; j=((i0/nx)%ny); k=i0/(nx*ny); b[i0] = mglSpline3(a,n1,n2,n3, c[0]+i*c[1], c[2]+j*c[3], c[4]+k*c[5]); } return 0; } HMDT MGL_EXPORT mgl_data_resize_box(HCDT dat, long mx,long my,long mz, mreal x1,mreal x2, mreal y1,mreal y2, mreal z1,mreal z2) { // NOTE: only for mglData (for speeding up) mx = mx<1 ? 1:mx; my = my<1 ? 1:my; mz = mz<1 ? 1:mz; mglData *r=new mglData(mx,my,mz); const mglData *d=dynamic_cast(dat); if(!d) return r; register long nx = d->nx-1, ny = d->ny-1, nz = d->nz-1; mreal par[6]={nx*x1,0,ny*y1,0,nz*z1,0}; long nn[6]={mx,my,mz,nx+1,ny+1,nz+1}; if(mx>1) par[1] = nx*(x2-x1)/(mx-1); if(my>1) par[3] = ny*(y2-y1)/(my-1); if(mz>1) par[5] = nz*(z2-z1)/(mz-1); mglStartThread(mgl_resize,0,mx*my*mz,r->a,d->a,par,nn); return r; } HMDT MGL_EXPORT mgl_data_resize(HCDT d, long mx,long my,long mz) { return mgl_data_resize_box(d, mx,my,mz,0,1,0,1,0,1); } uintptr_t MGL_EXPORT mgl_data_resize_(uintptr_t *d, int *mx,int *my,int *mz) { return uintptr_t(mgl_data_resize(_DT_,*mx,*my,*mz)); } uintptr_t MGL_EXPORT mgl_data_resize_box_(uintptr_t *d, int *mx,int *my,int *mz, mreal *x1,mreal *x2, mreal *y1,mreal *y2, mreal *z1,mreal *z2) { return uintptr_t(mgl_data_resize_box(_DT_,*mx,*my,*mz,*x1,*x2,*y1,*y2,*z1,*z2)); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_combine(void *par) { mglThreadD *t=(mglThreadD *)par; register long i0, nx=t->p[0]; mreal *b=t->a; const mreal *c=t->b, *d=t->c; for(i0=t->id;i0n;i0+=mglNumThr) b[i0] = c[i0%nx]*d[i0/nx]; return 0; } HMDT MGL_EXPORT mgl_data_combine(HCDT d1, HCDT d2) { // NOTE: only for mglData (for speeding up) const mglData *a=dynamic_cast(d1); const mglData *b=dynamic_cast(d2); mglData *r=new mglData; if(a->nz>1 || (a->ny>1 && b->ny>1) || b->nz>1) return r; long n1=a->ny,n2=b->nx; bool dim2=true; if(a->ny==1) { n1=b->nx; n2=b->ny; dim2 = false; } r->Create(a->nx,n1,n2); if(dim2) n1=a->nx*a->ny; else { n1=a->nx; n2=b->nx*b->ny; } mglStartThread(mgl_combine,0,n1*n2,r->a,a->a,b->a,&n1); return r; } uintptr_t MGL_EXPORT mgl_data_combine_(uintptr_t *a, uintptr_t *b) { return uintptr_t(mgl_data_combine(_DA_(a),_DA_(b))); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_sum_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j, nz=t->p[2], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;ip[0], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;iGetNx(),ny=dat->GetNy(),nz=dat->GetNz(); long p[3]={nx,ny,nz}; mreal *b = new mreal[nx*ny*nz]; mreal *c = new mreal[nx*ny*nz]; const mglData *d=dynamic_cast(dat); if(d) memcpy(c,d->a,nx*ny*nz*sizeof(mreal)); else for(long i=0;ivthr(i); if(strchr(dir,'z') && nz>1) { mglStartThread(mgl_sum_z,0,nx*ny,b,c,0,p); memcpy(c,b,nx*ny*sizeof(mreal)); p[2] = 1; } if(strchr(dir,'y') && ny>1) { mglStartThread(mgl_sum_y,0,nx*p[2],b,c,0,p); memcpy(c,b,nx*p[2]*sizeof(mreal)); p[1] = p[2]; p[2] = 1; } if(strchr(dir,'x') && nx>1) { mglStartThread(mgl_sum_x,0,p[1]*p[2],b,c,0,p); p[0] = p[1]; p[1] = p[2]; p[2] = 1; } mglData *r=new mglData(p[0],p[1],p[2]); memcpy(r->a,b,p[0]*p[1]*p[2]*sizeof(mreal)); delete []b; delete []c; return r; } uintptr_t MGL_EXPORT mgl_data_sum_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; uintptr_t r=uintptr_t(mgl_data_sum(_DT_,s)); delete []s; return r; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_max_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j, nz=t->p[2], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;ip[0], ny=t->p[1], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;ip[0], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;iGetNx(),ny=dat->GetNy(),nz=dat->GetNz(); long p[3]={nx,ny,nz}; mreal *b = new mreal[nx*ny*nz]; mreal *c = new mreal[nx*ny*nz]; const mglData *d=dynamic_cast(dat); if(d) memcpy(c,d->a,nx*ny*nz*sizeof(mreal)); else for(long i=0;ivthr(i); if(strchr(dir,'z') && nz>1) { mglStartThread(mgl_max_z,0,nx*ny,b,c,0,p); memcpy(c,b,nx*ny*sizeof(mreal)); p[2] = 1; } if(strchr(dir,'y') && ny>1) { mglStartThread(mgl_max_y,0,nx*p[2],b,c,0,p); memcpy(c,b,nx*p[2]*sizeof(mreal)); p[1] = p[2]; p[2] = 1; } if(strchr(dir,'x') && nx>1) { mglStartThread(mgl_max_x,0,p[1]*p[2],b,c,0,p); p[0] = p[1]; p[1] = p[2]; p[2] = 1; } mglData *r=new mglData(p[0],p[1],p[2]); memcpy(r->a,b,p[0]*p[1]*p[2]*sizeof(mreal)); delete []b; delete []c; return r; } uintptr_t MGL_EXPORT mgl_data_max_dir_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; uintptr_t r=uintptr_t(mgl_data_max_dir(_DT_,s)); delete []s; return r; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_min_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j, nz=t->p[2], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;ia[i+nn*j]) b[i] = a[i+nn*j]; return 0; } MGL_NO_EXPORT void *mgl_min_y(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,k, nx=t->p[0], ny=t->p[1], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;ia[k+nx*j]) b[i]=a[k+nx*j]; } return 0; } MGL_NO_EXPORT void *mgl_min_x(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,k, nx=t->p[0], nn=t->n; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;ia[j+k]) b[i]=a[j+k]; } return 0; } HMDT MGL_EXPORT mgl_data_min_dir(HCDT dat, const char *dir) { if(!dir || *dir==0) return 0; long nx=dat->GetNx(),ny=dat->GetNy(),nz=dat->GetNz(); long p[3]={nx,ny,nz}; mreal *b = new mreal[nx*ny*nz]; mreal *c = new mreal[nx*ny*nz]; const mglData *d=dynamic_cast(dat); if(d) memcpy(c,d->a,nx*ny*nz*sizeof(mreal)); else for(long i=0;ivthr(i); if(strchr(dir,'z') && nz>1) { mglStartThread(mgl_min_z,0,nx*ny,b,c,0,p); memcpy(c,b,nx*ny*sizeof(mreal)); p[2] = 1; } if(strchr(dir,'y') && ny>1) { mglStartThread(mgl_min_y,0,nx*p[2],b,c,0,p); memcpy(c,b,nx*p[2]*sizeof(mreal)); p[1] = p[2]; p[2] = 1; } if(strchr(dir,'x') && nx>1) { mglStartThread(mgl_min_x,0,p[1]*p[2],b,c,0,p); p[0] = p[1]; p[1] = p[2]; p[2] = 1; } mglData *r=new mglData(p[0],p[1],p[2]); memcpy(r->a,b,p[0]*p[1]*p[2]*sizeof(mreal)); delete []b; delete []c; return r; } uintptr_t MGL_EXPORT mgl_data_min_dir_(uintptr_t *d, const char *dir,int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; uintptr_t r=uintptr_t(mgl_data_min_dir(_DT_,s)); delete []s; return r; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_mom_z(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,k,ii; long nx=t->p[0], ny=t->p[1], nz=t->p[2], nn=t->n; mreal *b=t->a, i0,i1,x,y,z; const mreal *a=t->b; const mglFormula *eq = (const mglFormula *)t->v; for(i=t->id;iCalc(x,y,z,a[ii]); } b[i] = i0>0 ? i1/i0 : 0; } return 0; } MGL_NO_EXPORT void *mgl_mom_y(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,k,ii; long nx=t->p[0], ny=t->p[1], nz=t->p[2], nn=t->n; mreal *b=t->a, i0,i1,x,y,z; const mreal *a=t->b; const mglFormula *eq = (const mglFormula *)t->v; for(i=t->id;iCalc(x,y,z,a[ii]); } b[i] = i0>0 ? i1/i0 : 0; } return 0; } MGL_NO_EXPORT void *mgl_mom_x(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,j,k,ii; long nx=t->p[0], ny=t->p[1], nz=t->p[2], nn=t->n; mreal *b=t->a, i0,i1,x,y,z; const mreal *a=t->b; const mglFormula *eq = (const mglFormula *)t->v; for(i=t->id;iCalc(x,y,z,a[ii]); } b[i] = i0>0 ? i1/i0 : 0; } return 0; } HMDT MGL_EXPORT mgl_data_momentum(HCDT dat, char dir, const char *how) { // NOTE: only for mglData (for speeding up) long nx=dat->GetNx(),ny=dat->GetNy(),nz=dat->GetNz(); const mglData *d=dynamic_cast(dat); mglData *b=new mglData; if(!d) return b; mglFormula eq(how); long p[3]={nx,ny,nz}; if(dir=='x') { b->Create(nx); mglStartThread(mgl_mom_x,0,nx,b->a,d->a,0,p,&eq); } if(dir=='y') { b->Create(ny); mglStartThread(mgl_mom_y,0,ny,b->a,d->a,0,p,&eq); } if(dir=='z') { b->Create(nz); mglStartThread(mgl_mom_z,0,nz,b->a,d->a,0,p,&eq); } return b; } uintptr_t MGL_EXPORT mgl_data_momentum_(uintptr_t *d, char *dir, const char *how, int,int l) { char *s=new char[l+1]; memcpy(s,how,l); s[l]=0; uintptr_t r=uintptr_t(mgl_data_momentum(_DT_,*dir, s)); delete []s; return r; } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_eval(void *par) { mglThreadD *t=(mglThreadD *)par; register long i, nx=t->p[0], ny=t->p[1], nz=t->p[2], n1=t->p[3], nn=t->n; const mreal *a=t->b, *ii=t->c, *jj=t->d, *kk=t->e; mreal *b=t->a,x,y,z; for(i=t->id;ip[0], ny=t->p[1], nz=t->p[2], n1=t->p[3], nn=t->n; const mreal *ii=t->c, *jj=t->d, *kk=t->e; HCDT a = (HCDT)t->v; mreal *b=t->a,x,y,z; for(i=t->id;i(dat); const mglData *i=dynamic_cast(idat); const mglData *j=dynamic_cast(jdat); const mglData *k=dynamic_cast(kdat); if(!i) return r; long p[4]={dat->GetNx(), dat->GetNy(), dat->GetNz(),norm}; register long n=i->nx*i->ny*i->nz; if(j && j->nx*j->ny*j->nz!=n) return r; if(k && k->nx*k->ny*k->nz!=n) return r; r->Create(i->nx,i->ny,i->nz); if(d) mglStartThread(mgl_eval,0,n,r->a,d->a,i->a,p,0,j?j->a:0,k?k->a:0); else mglStartThread(mgl_eval_s,0,n,r->a,0,i->a,p,dat,j?j->a:0,k?k->a:0); return r; } uintptr_t MGL_EXPORT mgl_data_evaluate_(uintptr_t *d, uintptr_t *idat, uintptr_t *jdat, uintptr_t *kdat, int *norm) { return uintptr_t(mgl_data_evaluate(_DT_,_DA_(idat),_DA_(jdat),_DA_(kdat),*norm)); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_eqmul(void *par) { mglThreadD *t=(mglThreadD *)par; register long i, nx=t->p[0]; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;in;i+=mglNumThr) b[i] *= a[i%nx]; return 0; } void MGL_EXPORT mgl_data_mul_dat(HMDT d, HCDT a) { long n, nx=d->nx, ny=d->ny, nz=d->nz; const mglData *b = dynamic_cast(a); if(b) { if(b->nz==1 && b->ny==1 && nx==b->nx) { n=nx; mglStartThread(mgl_eqmul,0,nx*ny*nz,d->a,b->a,0,&n); } else if(b->nz==1 && ny==b->ny && nx==b->nx) { n=nx*ny; mglStartThread(mgl_eqmul,0,nx*ny*nz,d->a,b->a,0,&n); } else if(nz==b->nz && ny==b->ny && nx==b->nx) { n=nx*ny*nz; mglStartThread(mgl_eqmul,0,nx*ny*nz,d->a,b->a,0,&n); } } else for(long k=0;ka[i+nx*(j+ny*k)] *= a->v(i,j,k); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_mul_num(HMDT d, mreal a) { long n=1, nx=d->nx, ny=d->ny, nz=d->nz; mreal aa=a; mglStartThread(mgl_eqmul,0,nx*ny*nz,d->a,&aa,0,&n); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_eqdiv(void *par) { mglThreadD *t=(mglThreadD *)par; register long i, nx=t->p[0]; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;in;i+=mglNumThr) b[i] /= a[i%nx]; return 0; } void MGL_EXPORT mgl_data_div_dat(HMDT d, HCDT a) { long n, nx=d->nx, ny=d->ny, nz=d->nz; const mglData *b = dynamic_cast(a); if(b) { if(b->nz==1 && b->ny==1 && nx==b->nx) { n=nx; mglStartThread(mgl_eqdiv,0,nx*ny*nz,d->a,b->a,0,&n); } else if(b->nz==1 && ny==b->ny && nx==b->nx) { n=nx*ny; mglStartThread(mgl_eqdiv,0,nx*ny*nz,d->a,b->a,0,&n); } else if(nz==b->nz && ny==b->ny && nx==b->nx) { n=nx*ny*nz; mglStartThread(mgl_eqdiv,0,nx*ny*nz,d->a,b->a,0,&n); } } else for(long k=0;ka[i+nx*(j+ny*k)] /= a->v(i,j,k); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_div_num(HMDT d, mreal a) { long n=1, nx=d->nx, ny=d->ny, nz=d->nz; mreal aa=a; mglStartThread(mgl_eqdiv,0,nx*ny*nz,d->a,&aa,0,&n); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_eqadd(void *par) { mglThreadD *t=(mglThreadD *)par; register long i, nx=t->p[0]; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;in;i+=mglNumThr) b[i] += a[i%nx]; return 0; } void MGL_EXPORT mgl_data_add_dat(HMDT d, HCDT a) { long n, nx=d->nx, ny=d->ny, nz=d->nz; const mglData *b = dynamic_cast(a); if(b) { if(b->nz==1 && b->ny==1 && nx==b->nx) { n=nx; mglStartThread(mgl_eqadd,0,nx*ny*nz,d->a,b->a,0,&n); } else if(b->nz==1 && ny==b->ny && nx==b->nx) { n=nx*ny; mglStartThread(mgl_eqadd,0,nx*ny*nz,d->a,b->a,0,&n); } else if(nz==b->nz && ny==b->ny && nx==b->nx) { n=nx*ny*nz; mglStartThread(mgl_eqadd,0,nx*ny*nz,d->a,b->a,0,&n); } } else for(long k=0;ka[i+nx*(j+ny*k)] += a->v(i,j,k); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_add_num(HMDT d, mreal a) { long n=1, nx=d->nx, ny=d->ny, nz=d->nz; mreal aa=a; mglStartThread(mgl_eqadd,0,nx*ny*nz,d->a,&aa,0,&n); } //----------------------------------------------------------------------------- MGL_NO_EXPORT void *mgl_eqsub(void *par) { mglThreadD *t=(mglThreadD *)par; register long i, nx=t->p[0]; mreal *b=t->a; const mreal *a=t->b; for(i=t->id;in;i+=mglNumThr) b[i] -= a[i%nx]; return 0; } void MGL_EXPORT mgl_data_sub_dat(HMDT d, HCDT a) { long n, nx=d->nx, ny=d->ny, nz=d->nz; const mglData *b = dynamic_cast(a); if(b) { if(b->nz==1 && b->ny==1 && nx==b->nx) { n=nx; mglStartThread(mgl_eqsub,0,nx*ny*nz,d->a,b->a,0,&n); } else if(b->nz==1 && ny==b->ny && nx==b->nx) { n=nx*ny; mglStartThread(mgl_eqsub,0,nx*ny*nz,d->a,b->a,0,&n); } else if(nz==b->nz && ny==b->ny && nx==b->nx) { n=nx*ny*nz; mglStartThread(mgl_eqsub,0,nx*ny*nz,d->a,b->a,0,&n); } } else for(long k=0;ka[i+nx*(j+ny*k)] -= a->v(i,j,k); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_sub_num(HMDT d, mreal a) { long n=1, nx=d->nx, ny=d->ny, nz=d->nz; mreal aa=a; mglStartThread(mgl_eqsub,0,nx*ny*nz,d->a,&aa,0,&n); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_mul_dat_(uintptr_t *d, uintptr_t *b) { mgl_data_mul_dat(_DT_, _DA_(b)); } void MGL_EXPORT mgl_data_div_dat_(uintptr_t *d, uintptr_t *b) { mgl_data_div_dat(_DT_, _DA_(b)); } void MGL_EXPORT mgl_data_add_dat_(uintptr_t *d, uintptr_t *b) { mgl_data_add_dat(_DT_, _DA_(b)); } void MGL_EXPORT mgl_data_sub_dat_(uintptr_t *d, uintptr_t *b) { mgl_data_sub_dat(_DT_, _DA_(b)); } void MGL_EXPORT mgl_data_mul_num_(uintptr_t *d, mreal *b) { mgl_data_mul_num(_DT_, *b); } void MGL_EXPORT mgl_data_div_num_(uintptr_t *d, mreal *b) { mgl_data_div_num(_DT_, *b); } void MGL_EXPORT mgl_data_add_num_(uintptr_t *d, mreal *b) { mgl_data_add_num(_DT_, *b); } void MGL_EXPORT mgl_data_sub_num_(uintptr_t *d, mreal *b) { mgl_data_sub_num(_DT_, *b); } //----------------------------------------------------------------------------- void MGL_NO_EXPORT mgl_hist_p(mglThreadD *t,mreal *a) { register long i,j,n=t[0].p[0]; mreal *b; memset(a,0,n*sizeof(mreal)); for(i=0;in, n = t->p[0]; mreal *b=new mreal[n]; memset(b,0,n*sizeof(mreal)); const mreal *a=t->b, *c=t->c, *v=(const mreal *)t->v; for(i=t->id;i=0 && ka = b; return 0; } MGL_NO_EXPORT void *mgl_hist_2(void *par) { mglThreadD *t=(mglThreadD *)par; register long i,k, nn=t->n, n = t->p[0]; long ns=t->p[1], nx=t->p[2], ny=t->p[3], nz=t->p[4]; mreal *b=new mreal[n], f,w=1, x,y,z, d=1./ns; memset(b,0,n*sizeof(mreal)); const mreal *a=t->b, *c=t->c, *v=(const mreal *)t->v; bool sp = n>0; for(i=t->id;i=0 && ka = b; return 0; } HMDT MGL_EXPORT mgl_data_hist(HCDT dat, long n, mreal v1, mreal v2, long nsub) { mglData *b=new mglData; // NOTE: For mglData only! const mglData *d = dynamic_cast(dat); if(n<2 || v1==v2 || !d) return b; mgl_data_create(b,n,1,1); mreal v[2]={v1,v2}; long nx=d->nx, ny=d->ny, nz=d->nz; long ns=abs(nsub)+1, p[5]={n,ns,nx,ny,nz}; if(nsub==0) mglStartThread(mgl_hist_1,mgl_hist_p, nx*ny*nz, b->a,d->a,0,p,v); else mglStartThread(mgl_hist_2,mgl_hist_p, nx*ny*nz*ns*ns*ns, b->a,d->a,0,p,v); return b; } //----------------------------------------------------------------------------- HMDT MGL_EXPORT mgl_data_hist_w(HCDT dat, HCDT weight, long n, mreal v1, mreal v2, long nsub) { mglData *b=new mglData; // NOTE: For mglData only! const mglData *d = dynamic_cast(dat); const mglData *w = dynamic_cast(weight); if(n<2 || v1==v2 || !d || !w) return b; mgl_data_create(b,n,1,1); mreal v[2]={v1,v2}; long nx=d->nx, ny=d->ny, nz=d->nz; long ns=abs(nsub)+1, p[5]={n,ns,nx,ny,nz}; if(nsub==0) mglStartThread(mgl_hist_1,mgl_hist_p, nx*ny*nz, b->a,d->a,w->a,p,v); else mglStartThread(mgl_hist_2,mgl_hist_p, nx*ny*nz*ns*ns*ns, b->a,d->a,w->a,p,v); return b; } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_data_hist_(uintptr_t *d, int *n, mreal *v1, mreal *v2, int *nsub) { return uintptr_t(mgl_data_hist(_DT_,*n,*v1,*v2,*nsub)); } uintptr_t MGL_EXPORT mgl_data_hist_w_(uintptr_t *d, uintptr_t *w, int *n, mreal *v1, mreal *v2, int *nsub) { return uintptr_t(mgl_data_hist_w(_DT_,_DA_(w),*n,*v1,*v2,*nsub)); } //----------------------------------------------------------------------------- mreal mglLinear(const mreal *a, long nx, long ny, long nz, mreal x, mreal y, mreal z) { if(!a || nx<1 || ny<1 || nz<1) return 0; register long i0; long kx,ky,kz; mreal b=0,dx,dy,dz,b1,b0; if(x<0 || y<0 || z<0 || x>nx-1 || y>ny-1 || z>nz-1) return 0; if(nz>1 && z!=floor(z)) // 3d interpolation { kx=long(x); ky=long(y); kz=long(z); dx = x-kx; dy = y-ky; dz = z-kz; i0 = kx+nx*(ky+ny*kz); b0 = a[i0]*(1-dx-dy+dx*dy) + dx*(1-dy)*a[i0+1] + dy*(1-dx)*a[i0+nx] + dx*dy*a[i0+nx+1]; i0 = kx+nx*(ky+ny*(kz+1)); b1 = a[i0]*(1-dx-dy+dx*dy) + dx*(1-dy)*a[i0+1] + dy*(1-dx)*a[i0+nx] + dx*dy*a[i0+nx+1]; b = b0 + dz*(b1-b0); } else if(ny>1 && y!=floor(y)) // 2d interpolation { kx=long(x); ky=long(y); dx = x-kx; dy=y-ky; i0 = kx+nx*ky; b = a[i0]*(1-dx-dy+dx*dy) + dx*(1-dy)*a[i0+1] + dy*(1-dx)*a[i0+nx] + dx*dy*a[i0+nx+1]; } else if(nx>1 && x!=floor(x)) // 1d interpolation { kx = long(x); b = a[kx] + (x-kx)*(a[kx+1]-a[kx]); } else // no interpolation b = a[long(x+nx*(y+ny*z))]; return b; } //----------------------------------------------------------------------------- long MGL_NO_EXPORT mgl_idx_var; int MGL_NO_EXPORT mgl_cmd_idx(const void *a, const void *b) { mreal *aa = (mreal *)a, *bb = (mreal *)b; return (aa[mgl_idx_var]>bb[mgl_idx_var] ? 1:(aa[mgl_idx_var](dat); if(!d || idx>=d->nx || idx<0) return; bool single = (d->nz==1 || idy<0); if(idy<0 || idy>d->ny) idy=0; mgl_idx_var = idx+d->nx*idy; // NOTE: not thread safe!!! if(single) qsort(d->a, d->ny*d->nz, d->nx*sizeof(mreal), mgl_cmd_idx); else qsort(d->a, d->nz, d->ny*d->nx*sizeof(mreal), mgl_cmd_idx); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_data_sort_(uintptr_t *d, int *idx, int *idy) { mgl_data_sort(_DT_,*idx,*idy); } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_find_root(mreal (*func)(mreal x, void *par), mreal x0, void *par) { mreal x1=x0+1e-2*(x0?x0:1), f0=func(x0,par), f1=func(x1,par), x, f; if(fabs(f0)<1e-7) return x0; if(fabs(f1)<1e-7) return x1; if(f0==f1) return NAN; for(long i=0;i<20;i++) { x = x1-f1*(x1-x0)/(f1-f0); f = func(x,par); if(fabs(f)<1e-7) return x; /* if(fabs(f-f1)>0.5*fmin(fabs(f),fabs(f1))) // TODO switch to bisection if slow { x = (x1+x0)/2; f = func(x,par); if(fabs(f)<1e-7) return x; }*/ x0=x1; f0=f1; x1=x; f1=f; // new points } return NAN; // no roots found } //----------------------------------------------------------------------------- struct MGL_NO_EXPORT mglFuncV { mglFormula *eq; char var; }; mreal MGL_NO_EXPORT mgl_funcv(mreal v, void *par) { mglFuncV *f = (mglFuncV *)par; mreal var[MGL_VS]; memset(var,0,('z'-'a')*sizeof(mreal)); var[f->var-'a'] = v; return f->eq->Calc(var); } HMDT MGL_EXPORT mgl_data_roots(const char *func, HCDT ini, char var) { if(!ini) return (new mglData); mglData *res = new mglData(ini); mglFormula eq(func); mglFuncV f; f.eq = &eq; f.var = var; register long i, n = res->nx*res->ny*res->nz; for(i=0;ia[i] = mgl_find_root(mgl_funcv,res->a[i],&f); return res; } //----------------------------------------------------------------------------- mreal MGL_EXPORT mgl_find_root_txt(const char *func, mreal ini, char var) { mglFormula eq(func); mglFuncV f; f.eq = &eq; f.var = var; return mgl_find_root(mgl_funcv,ini,&f); } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_data_roots_(const char *func, uintptr_t *ini, const char *var,int l,int) { char *s=new char[l+1]; memcpy(s,func,l); s[l]=0; uintptr_t r = uintptr_t(mgl_data_roots(s,_DA_(ini),*var)); delete []s; return r; } mreal MGL_EXPORT mgl_find_root_txt_(const char *func, mreal *ini, const char *var,int l,int) { char *s=new char[l+1]; memcpy(s,func,l); s[l]=0; mreal r = mgl_find_root_txt(s,*ini,*var); delete []s; return r; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/canvas_cf.cpp0000664000175000017500000007335712142400470016145 0ustar balakinbalakin/*************************************************************************** * canvas_cf.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mgl2/canvas.h" #include "mgl2/canvas_cf.h" #include "mgl2/eval.h" #include "mgl2/evalc.h" //----------------------------------------------------------------------------- #undef _GR_ #define _GR_ ((mglCanvas *)(*gr)) //----------------------------------------------------------------------------- MGL_EXPORT const unsigned char *mgl_get_rgb(HMGL gr) { mglCanvas *g = dynamic_cast(gr); return g?g->GetBits():0; } MGL_EXPORT const unsigned char *mgl_get_rgba(HMGL gr) { mglCanvas *g = dynamic_cast(gr); return g?g->GetRGBA():0; } int MGL_EXPORT mgl_get_width(HMGL gr) { mglCanvas *g = dynamic_cast(gr); return g?g->GetWidth():0; } int MGL_EXPORT mgl_get_height(HMGL gr) { mglCanvas *g = dynamic_cast(gr); return g?g->GetHeight():0; } void MGL_EXPORT mgl_calc_xyz(HMGL gr, int xs, int ys, mreal *x, mreal *y, mreal *z) { mglCanvas *g = dynamic_cast(gr); mglPoint p = g?g->CalcXYZ(xs,ys):mglPoint(NAN,NAN,NAN); *x = p.x; *y = p.y; *z = p.z; } void MGL_EXPORT mgl_calc_scr(HMGL gr, double x, double y, double z, int *xs, int *ys) { mglCanvas *g = dynamic_cast(gr); if(g) g->CalcScr(mglPoint(x,y,z),xs,ys); } void MGL_EXPORT mgl_set_obj_id(HMGL gr, int id) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetObjId(id); } int MGL_EXPORT mgl_get_obj_id(HMGL gr, int x, int y) { mglCanvas *g = dynamic_cast(gr); return g?g->GetObjId(x,y):-1; } int MGL_EXPORT mgl_get_spl_id(HMGL gr, int x, int y) { mglCanvas *g = dynamic_cast(gr); return g?g->GetSplId(x,y):-1; } //----------------------------------------------------------------------------- long MGL_EXPORT mgl_is_active(HMGL gr, int xs, int ys, int d) { if(d<=0) d=1; for(size_t i=0;iAct.size();i++) { const mglActivePos &p = gr->Act[i]; if(abs(xs-p.x)(gr); return g?g->NewFrame():-1; } void MGL_EXPORT mgl_end_frame(HMGL gr) { mglCanvas *g = dynamic_cast(gr); if(g) g->EndFrame(); } int MGL_EXPORT mgl_get_num_frame(HMGL gr) { mglCanvas *g = dynamic_cast(gr); return g?g->GetNumFrame():0; } void MGL_EXPORT mgl_reset_frames(HMGL gr) { mglCanvas *g = dynamic_cast(gr); if(g) g->ResetFrames(); } void MGL_EXPORT mgl_get_frame(HMGL gr, int i) { mglCanvas *g = dynamic_cast(gr); if(g) g->GetFrame(i); } void MGL_EXPORT mgl_set_frame(HMGL gr, int i) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetFrame(i); } void MGL_EXPORT mgl_show_frame(HMGL gr, int i) { mglCanvas *g = dynamic_cast(gr); if(g) g->ShowFrame(i); } void MGL_EXPORT mgl_del_frame(HMGL gr, int i) { mglCanvas *g = dynamic_cast(gr); if(g) g->DelFrame(i); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_transp_type(HMGL gr, int type) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTranspType(type); } void MGL_EXPORT mgl_set_alpha(HMGL gr, int enable) { mglCanvas *g = dynamic_cast(gr); if(g) g->Alpha(enable); } void MGL_EXPORT mgl_set_fog(HMGL gr, double d, double dz) { mglCanvas *g = dynamic_cast(gr); if(g) g->Fog(d,dz); } void MGL_EXPORT mgl_set_light(HMGL gr, int enable) { mglCanvas *g = dynamic_cast(gr); if(g) g->Light(enable); } void MGL_EXPORT mgl_set_light_n(HMGL gr, int n, int enable) { mglCanvas *g = dynamic_cast(gr); if(g) g->Light(n, enable); } void MGL_EXPORT mgl_add_light_ext(HMGL gr, int n, double x, double y, double z, char c, double br, double ap) { mglCanvas *g = dynamic_cast(gr); if(g) g->AddLight(n,mglPoint(x,y,z),c,br,ap); } void MGL_EXPORT mgl_add_light_loc(HMGL gr, int n, double x, double y, double z, double dx, double dy, double dz, char c, double br, double ap) { mglCanvas *g = dynamic_cast(gr); if(g) g->AddLight(n,mglPoint(x,y,z),mglPoint(dx,dy,dz),c,br,ap); } void MGL_EXPORT mgl_add_light(HMGL gr, int n, double x, double y, double z) { mglCanvas *g = dynamic_cast(gr); if(g) g->AddLight(n,mglPoint(x,y,z)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mat_push(HMGL gr) { mglCanvas *g = dynamic_cast(gr); if(g) g->Push(); } void MGL_EXPORT mgl_mat_pop(HMGL gr) { mglCanvas *g = dynamic_cast(gr); if(g) g->Pop(); } void MGL_EXPORT mgl_clf(HMGL gr) { mglCanvas *g = dynamic_cast(gr); if(g) g->Clf(); } void MGL_EXPORT mgl_clf_rgb(HMGL gr, double r, double g, double b) { mglCanvas *gg = dynamic_cast(gr); if(gg) gg->Clf(mglColor(r,g,b)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_subplot_d(HMGL gr, int nx,int ny,int m,const char *style,double dx,double dy) { double x1,x2,y1,y2; int mx = m%nx, my = m/nx; if(gr->get(MGL_AUTO_FACTOR)) { dx /= 1.55; dy /= 1.55; } else { dx /= 2; dy /= 2; } x1 = (mx+dx)/nx; x2 = (mx+1+dx)/nx; y2 = 1.f-(my+dy)/ny; y1 = 1.f-(my+1+dy)/ny; mglCanvas *g = dynamic_cast(gr); if(g) g->InPlot(x1,x2,y1,y2,style); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_subplot(HMGL gr, int nx,int ny,int m,const char *style) { mgl_subplot_d(gr,nx,ny,m,style,0,0); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_multiplot(HMGL gr, int nx,int ny,int m,int dx,int dy,const char *style) { double x1,x2,y1,y2; int mx = m%nx, my = m/nx; dx = (dx<1 || dx+mx>nx) ? 1 : dx; dy = (dy<1 || dy+my>ny) ? 1 : dy; x1 = double(mx)/nx; x2 = double(mx+dx)/nx; y2 = 1-double(my)/ny; y1 = 1-double(my+dy)/ny; mglCanvas *g = dynamic_cast(gr); if(g) g->InPlot(x1,x2,y1,y2,style); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_inplot(HMGL gr, double x1,double x2,double y1,double y2) { mglCanvas *g = dynamic_cast(gr); if(g) g->InPlot(x1,x2,y1,y2,false); } void MGL_EXPORT mgl_relplot(HMGL gr, double x1,double x2,double y1,double y2) { mglCanvas *g = dynamic_cast(gr); if(g) g->InPlot(x1,x2,y1,y2,true); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_columnplot(HMGL gr, int num, int i, double dd) { register double w = 1./num; mglCanvas *g = dynamic_cast(gr); if(g) g->InPlot(0,1,1-w*(i+1-dd),1-i*w,true); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_gridplot(HMGL gr, int nx, int ny, int i, double dd) { register int ix=i%nx, iy=i/nx; register double wx = 1./nx, wy = 1./ny; mglCanvas *g = dynamic_cast(gr); if(g) g->InPlot(ix*wx,wx*(ix+1-dd),1-wy*(iy+1-dd),1-iy*wy,true); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_stickplot(HMGL gr, int num, int i, double tet, double phi) { mglCanvas *g = dynamic_cast(gr); if(g) g->StickPlot(num, i, tet, phi); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_aspect(HMGL gr, double Ax,double Ay,double Az) { mglCanvas *g = dynamic_cast(gr); if(g) g->Aspect(Ax,Ay,Az); } void MGL_EXPORT mgl_rotate(HMGL gr, double TetX,double TetZ,double TetY) { mglCanvas *g = dynamic_cast(gr); if(g) g->Rotate(TetX,TetZ,TetY); } void MGL_EXPORT mgl_view(HMGL gr, double TetX,double TetZ,double TetY) { mglCanvas *g = dynamic_cast(gr); if(g) g->View(TetX,TetZ,TetY); } void MGL_EXPORT mgl_zoom(HMGL gr, double x1, double y1, double x2, double y2) { mglCanvas *g = dynamic_cast(gr); if(g) g->Zoom(x1,y1,x2,y2); } void MGL_EXPORT mgl_rotate_vector(HMGL gr, double Tet,double x,double y,double z) { mglCanvas *g = dynamic_cast(gr); if(g) g->RotateN(Tet,x,y,z); } void MGL_EXPORT mgl_perspective(HMGL gr, double val) { mglCanvas *g = dynamic_cast(gr); if(g) g->Perspective(val); } void MGL_EXPORT mgl_title(HMGL gr, const char *title, const char *stl, double size) { mglCanvas *g = dynamic_cast(gr); if(g) g->Title(title,stl,size); } void MGL_EXPORT mgl_titlew(HMGL gr, const wchar_t *title, const char *stl, double size) { mglCanvas *g = dynamic_cast(gr); if(g) g->Title(title,stl,size); } //----------------------------------------------------------------------------- int MGL_EXPORT mgl_new_frame_(uintptr_t *gr) { return _GR_->NewFrame(); } void MGL_EXPORT mgl_end_frame_(uintptr_t *gr) { _GR_->EndFrame(); } int MGL_EXPORT mgl_get_num_frame_(uintptr_t *gr) { return _GR_->GetNumFrame(); } void MGL_EXPORT mgl_reset_frames_(uintptr_t *gr) { _GR_->ResetFrames(); } void MGL_EXPORT mgl_get_frame_(uintptr_t *gr, int *i) { _GR_->GetFrame(*i); } void MGL_EXPORT mgl_set_frame_(uintptr_t *gr, int *i) { _GR_->SetFrame(*i); } void MGL_EXPORT mgl_show_frame_(uintptr_t *gr, int *i) { _GR_->ShowFrame(*i); } void MGL_EXPORT mgl_del_frame_(uintptr_t *gr, int *i) { _GR_->DelFrame(*i); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_transp_type_(uintptr_t *gr, int *type) { _GR_->SetTranspType(*type); } void MGL_EXPORT mgl_set_alpha_(uintptr_t *gr, int *enable) { _GR_->Alpha(*enable); } void MGL_EXPORT mgl_set_fog_(uintptr_t *gr, mreal *d, mreal *dz) { _GR_->Fog(*d, *dz); } void MGL_EXPORT mgl_set_light_(uintptr_t *gr, int *enable) { _GR_->Light(*enable); } void MGL_EXPORT mgl_set_light_n_(uintptr_t *gr, int *n, int *enable) { _GR_->Light(*n, *enable); } void MGL_EXPORT mgl_add_light_(uintptr_t *gr, int *n, mreal *x, mreal *y, mreal *z) { _GR_->AddLight(*n,mglPoint(*x,*y,*z)); } void MGL_EXPORT mgl_add_light_ext_(uintptr_t *gr, int *n, mreal *x, mreal *y, mreal *z, char *c, mreal *br, mreal *ap, int) { _GR_->AddLight(*n,mglPoint(*x,*y,*z),*c,*br,*ap); } void MGL_EXPORT mgl_add_light_loc_(uintptr_t *gr, int *n, mreal *x, mreal *y, mreal *z, mreal *dx, mreal *dy, mreal *dz, char *c, mreal *br, mreal *ap, int) { _GR_->AddLight(*n,mglPoint(*x,*y,*z),mglPoint(*dx,*dy,*dz),*c,*br,*ap); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mat_push_(uintptr_t *gr) { _GR_->Push(); } void MGL_EXPORT mgl_mat_pop_(uintptr_t *gr) { _GR_->Pop(); } void MGL_EXPORT mgl_clf_(uintptr_t *gr) { _GR_->Clf(); } void MGL_EXPORT mgl_clf_rgb_(uintptr_t *gr, mreal *r, mreal *g, mreal *b) { _GR_->Clf(mglColor(*r,*g,*b)); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_subplot_d_(uintptr_t *gr, int *nx,int *ny,int *m,const char *st, mreal *dx, mreal *dy,int l) { char *s=new char[l+1]; memcpy(s,st,l); s[l]=0; mgl_subplot_d(_GR_,*nx,*ny,*m,s,*dx,*dy); delete []s; } void MGL_EXPORT mgl_subplot_(uintptr_t *gr, int *nx,int *ny,int *m,const char *st,int l) { char *s=new char[l+1]; memcpy(s,st,l); s[l]=0; mgl_subplot(_GR_,*nx,*ny,*m,s); delete []s; } void MGL_EXPORT mgl_multiplot_(uintptr_t *gr, int *nx,int *ny,int *m,int *dx,int *dy,const char *st,int l) { char *s=new char[l+1]; memcpy(s,st,l); s[l]=0; mgl_multiplot(_GR_,*nx,*ny,*m,*dx,*dy,s); delete []s; } void MGL_EXPORT mgl_inplot_(uintptr_t *gr, mreal *x1, mreal *x2, mreal *y1, mreal *y2) { _GR_->InPlot(*x1,*x2,*y1,*y2,false); } void MGL_EXPORT mgl_relplot_(uintptr_t *gr, mreal *x1, mreal *x2, mreal *y1, mreal *y2) { _GR_->InPlot(*x1,*x2,*y1,*y2,true); } void MGL_EXPORT mgl_columnplot_(uintptr_t *gr, int *num, int *i, mreal *d) { mgl_columnplot(_GR_,*num,*i,*d); } void MGL_EXPORT mgl_columnplot_d_(uintptr_t *gr, int *nx, int *ny, int *i, mreal *d) { mgl_gridplot(_GR_,*nx,*ny,*i,*d); } void MGL_EXPORT mgl_stickplot_(uintptr_t *gr, int *num, int *i, mreal *tet, mreal *phi) { _GR_->StickPlot(*num, *i, *tet, *phi); } void MGL_EXPORT mgl_title_(uintptr_t *gr, const char *title, const char *stl, mreal *size, int l,int m) { char *t=new char[l+1]; memcpy(t,title,l); t[l]=0; char *s=new char[m+1]; memcpy(s,stl,m); s[m]=0; _GR_->Title(t,s,*size); delete []s; delete []t; } void MGL_EXPORT mgl_aspect_(uintptr_t *gr, mreal *Ax, mreal *Ay, mreal *Az) { _GR_->Aspect(*Ax,*Ay,*Az); } void MGL_EXPORT mgl_rotate_(uintptr_t *gr, mreal *TetX, mreal *TetZ, mreal *TetY) { _GR_->Rotate(*TetX,*TetZ,*TetY); } void MGL_EXPORT mgl_view_(uintptr_t *gr, mreal *TetX, mreal *TetZ, mreal *TetY) { _GR_->View(*TetX,*TetZ,*TetY); } void MGL_EXPORT mgl_zoom_(uintptr_t *gr, mreal *x1, mreal *y1, mreal *x2, mreal *y2) { _GR_->Zoom(*x1,*y1,*x2,*y2); } void MGL_EXPORT mgl_rotate_vector_(uintptr_t *gr, mreal *Tet, mreal *x, mreal *y, mreal *z) { _GR_->RotateN(*Tet,*x,*y,*z); } void MGL_EXPORT mgl_perspective_(uintptr_t *gr, double val) { _GR_->Perspective(val); } //----------------------------------------------------------------------------- MGL_EXPORT const unsigned char *mgl_get_rgb_(uintptr_t *gr) { return gr ? _GR_->GetBits():0; } MGL_EXPORT const unsigned char *mgl_get_rgba_(uintptr_t *gr){ return gr ? _GR_->GetRGBA():0; } int MGL_EXPORT mgl_get_width_(uintptr_t *gr) { return gr ? _GR_->GetWidth():0; } int MGL_EXPORT mgl_get_height_(uintptr_t *gr) { return gr ? _GR_->GetHeight():0;} void MGL_EXPORT mgl_calc_xyz_(uintptr_t *gr, int *xs, int *ys, mreal *x, mreal *y, mreal *z) { mglPoint p = _GR_->CalcXYZ(*xs,*ys); *x = p.x; *y = p.y; *z = p.z; } void MGL_EXPORT mgl_calc_scr_(uintptr_t *gr, mreal *x, mreal *y, mreal *z, int *xs, int *ys) { _GR_->CalcScr(mglPoint(*x,*y,*z),xs,ys); } void MGL_EXPORT mgl_set_obj_id_(uintptr_t *gr, int *id) { _GR_->SetObjId(*id); } int MGL_EXPORT mgl_get_obj_id_(uintptr_t *gr, int *x, int *y) { return _GR_->GetObjId(*x,*y); } int MGL_EXPORT mgl_get_spl_id_(uintptr_t *gr, int *x, int *y) { return _GR_->GetSplId(*x,*y); } //----------------------------------------------------------------------------- HMGL MGL_EXPORT mgl_create_graph(int width, int height) { return new mglCanvas(width,height); } void MGL_EXPORT mgl_delete_graph(HMGL gr) { if(gr) delete gr; } void MGL_EXPORT mgl_set_size(HMGL gr, int width, int height) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetSize(width, height); } void MGL_EXPORT mgl_set_def_param(HMGL gr) { mglCanvas *g = dynamic_cast(gr); if(g) g->DefaultPlotParam(); } void MGL_EXPORT mgl_combine_gr(HMGL gr, HMGL in) { const mglCanvas *gg = dynamic_cast(in); mglCanvas *g = dynamic_cast(gr); if(g && gg) g->Combine(gg); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_tick_len(HMGL gr, double len, double stt) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTickLen(len,stt); } void MGL_EXPORT mgl_set_axis_stl(HMGL gr, const char *stl, const char *tck, const char *sub) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetAxisStl(stl,tck,sub); } void MGL_EXPORT mgl_tune_ticks(HMGL gr, int tune, double pos) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTuneTicks(tune,pos); } void MGL_EXPORT mgl_adjust_ticks(HMGL gr, const char *dir) { mglCanvas *g = dynamic_cast(gr); if(g) g->AdjustTicks(dir,true); } void MGL_EXPORT mgl_set_ticks(HMGL gr, char dir, double d, int ns, double org) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTicks(dir,d,ns,org); } void MGL_EXPORT mgl_set_ticks_str(HMGL gr, char dir, const char *lbl, int add) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTicksVal(dir,lbl,add); } void MGL_EXPORT mgl_set_ticks_wcs(HMGL gr, char dir, const wchar_t *lbl, int add) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTicksVal(dir,lbl,add); } void MGL_EXPORT mgl_set_ticks_val(HMGL gr, char dir, HCDT val, const char *lbl, int add) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTicksVal(dir,val,lbl,add); } void MGL_EXPORT mgl_set_ticks_valw(HMGL gr, char dir, HCDT val, const wchar_t *lbl, int add) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTicksVal(dir,val,lbl,add); } void MGL_EXPORT mgl_set_tick_templ(HMGL gr, char dir, const char *templ) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTickTempl(dir,templ); } void MGL_EXPORT mgl_set_tick_templw(HMGL gr, char dir, const wchar_t *templ) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTickTempl(dir,templ); } void MGL_EXPORT mgl_set_ticks_time(HMGL gr, char dir, double d, const char *t) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTickTime(dir,d,t); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_box(HMGL gr) { mglCanvas *g = dynamic_cast(gr); if(g) g->Box(); } void MGL_EXPORT mgl_box_str(HMGL gr, const char *col, int ticks) { mglCanvas *g = dynamic_cast(gr); if(g) g->Box(col,ticks); } void MGL_EXPORT mgl_axis(HMGL gr, const char *dir, const char *stl, const char *opt) { mglCanvas *g = dynamic_cast(gr); if(g) g->Axis(dir,stl,opt); } void MGL_EXPORT mgl_axis_grid(HMGL gr, const char *dir,const char *pen, const char *opt) { mglCanvas *g = dynamic_cast(gr); if(g) g->Grid(dir,pen,opt); } void MGL_EXPORT mgl_label(HMGL gr, char dir, const char *text, double pos, const char *opt) { mglCanvas *g = dynamic_cast(gr); if(g) g->Label(dir,text,pos,opt); } void MGL_EXPORT mgl_labelw(HMGL gr, char dir, const wchar_t *text, double pos, const char *opt) { mglCanvas *g = dynamic_cast(gr); if(g) g->Labelw(dir,text,pos,opt); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_colorbar(HMGL gr, const char *sch) { mglCanvas *g = dynamic_cast(gr); if(g) g->Colorbar(sch); } void MGL_EXPORT mgl_colorbar_ext(HMGL gr, const char *sch, double x, double y, double w, double h) { mglCanvas *g = dynamic_cast(gr); if(g) g->Colorbar(sch,x,y,w,h); } void MGL_EXPORT mgl_colorbar_val(HMGL gr, HCDT dat, const char *sch) { mglCanvas *g = dynamic_cast(gr); if(g) g->Colorbar(dat,sch); } void MGL_EXPORT mgl_colorbar_val_ext(HMGL gr, HCDT dat, const char *sch,double x, double y, double w, double h) { mglCanvas *g = dynamic_cast(gr); if(g) g->Colorbar(dat,sch,x,y,w,h); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_add_legend(HMGL gr, const char *text,const char *style) { mglCanvas *g = dynamic_cast(gr); if(g) g->AddLegend(text,style); } void MGL_EXPORT mgl_add_legendw(HMGL gr, const wchar_t *text,const char *style) { mglCanvas *g = dynamic_cast(gr); if(g) g->AddLegend(text,style); } void MGL_EXPORT mgl_clear_legend(HMGL gr) { mglCanvas *g = dynamic_cast(gr); if(g) g->ClearLegend(); } void MGL_EXPORT mgl_legend_pos(HMGL gr, double x, double y, const char *font, const char *opt) { mglCanvas *g = dynamic_cast(gr); if(g) g->Legend(x,y,font,opt); } void MGL_EXPORT mgl_legend(HMGL gr, int where, const char *font, const char *opt) { mglCanvas *g = dynamic_cast(gr); if(g) g->Legend(where,font,opt); } void MGL_EXPORT mgl_set_legend_marks(HMGL gr, int num) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetLegendMarks(num); } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_create_graph_(int *width, int *height) { return uintptr_t(new mglCanvas(*width,*height)); } void MGL_EXPORT mgl_delete_graph_(uintptr_t *gr) { delete _GR_; } void MGL_EXPORT mgl_set_size_(uintptr_t *gr, int *width, int *height) { _GR_->SetSize(*width,*height); } void MGL_EXPORT mgl_set_def_param_(uintptr_t *gr) { _GR_->DefaultPlotParam(); } void MGL_EXPORT mgl_combine_gr_(uintptr_t *gr, uintptr_t *in) { _GR_->Combine((mglCanvas *)in); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_tick_len_(uintptr_t *gr, mreal *len, mreal *stt) { _GR_->SetTickLen(*len, *stt); } void MGL_EXPORT mgl_set_axis_stl_(uintptr_t *gr, const char *stl, const char *tck, const char *sub, int l,int m,int n) { char *a=new char[l+1]; memcpy(a,stl,l); a[l]=0; char *t=new char[m+1]; memcpy(t,tck,m); t[m]=0; char *s=new char[n+1]; memcpy(s,sub,n); s[n]=0; _GR_->SetAxisStl(a,t,s); delete []a; delete []s; delete []t; } void MGL_EXPORT mgl_adjust_ticks_(uintptr_t *gr, const char *dir, int l) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; _GR_->AdjustTicks(s); delete []s; } void MGL_EXPORT mgl_set_ticks_(uintptr_t *gr, char *dir, mreal *d, int *ns, mreal *org, int) { _GR_->SetTicks(*dir, *d, *ns, *org); } void MGL_EXPORT mgl_set_ticks_str_(uintptr_t *gr, const char *dir, const char *lbl, int *add,int,int l) { char *s=new char[l+1]; memcpy(s,lbl,l); s[l]=0; _GR_->SetTicksVal(*dir,s,*add); delete []s; } void MGL_EXPORT mgl_set_ticks_val_(uintptr_t *gr, const char *dir, uintptr_t *val, const char *lbl, int *add,int,int l) { char *s=new char[l+1]; memcpy(s,lbl,l); s[l]=0; _GR_->SetTicksVal(*dir,_DA_(val),s,*add); delete []s; } void MGL_EXPORT mgl_tune_ticks_(uintptr_t *gr, int *tune, mreal *fact_pos) { _GR_->SetTuneTicks(*tune, *fact_pos); } void MGL_EXPORT mgl_set_tick_templ_(uintptr_t *gr, const char *dir, const char *templ,int,int l) { char *s=new char[l+1]; memcpy(s,templ,l); s[l]=0; _GR_->SetTickTempl(*dir,s); delete []s; } void MGL_EXPORT mgl_set_ticks_time_(uintptr_t *gr, const char *dir, mreal *d, const char *t,int,int l) { char *s=new char[l+1]; memcpy(s,t,l); s[l]=0; _GR_->SetTickTime(*dir,*d,s); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_box_(uintptr_t *gr) { _GR_->Box(); } void MGL_EXPORT mgl_box_str_(uintptr_t *gr, const char *col, int *ticks, int l) { char *s=new char[l+1]; memcpy(s,col,l); s[l]=0; _GR_->Box(s,*ticks); delete []s; } void MGL_EXPORT mgl_axis_(uintptr_t *gr, const char *dir, const char *stl, const char *opt,int l,int n,int m) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; char *p=new char[n+1]; memcpy(p,stl,l); p[n]=0; char *o=new char[m+1]; memcpy(o,opt,m); o[m]=0; _GR_->Axis(s,p,o); delete []s; delete []p; delete []o; } void MGL_EXPORT mgl_axis_grid_(uintptr_t *gr, const char *dir,const char *pen, const char *opt,int l,int n,int m) { char *s=new char[l+1]; memcpy(s,dir,l); s[l]=0; char *p=new char[n+1]; memcpy(p,pen,n); p[n]=0; char *o=new char[m+1]; memcpy(o,opt,m); o[m]=0; _GR_->Grid(s,p,o); delete []s; delete []p; delete []o; } void MGL_EXPORT mgl_label_(uintptr_t *gr, const char *dir, const char *text, mreal *pos, const char *opt,int,int l,int m) { char *s=new char[l+1]; memcpy(s,text,l); s[l]=0; char *o=new char[m+1]; memcpy(o,opt,m); o[m]=0; _GR_->Label(*dir, s, *pos, o); delete []s; delete []o; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_colorbar_(uintptr_t *gr, const char *sch,int l) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; _GR_->Colorbar(s); delete []s; } void MGL_EXPORT mgl_colorbar_ext_(uintptr_t *gr, const char *sch, mreal *x, mreal *y, mreal *w, mreal *h, int l) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; _GR_->Colorbar(s,*x,*y,*w,*h); delete []s; } void MGL_EXPORT mgl_colorbar_val_(uintptr_t *gr, uintptr_t *dat, const char *sch,int l) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; _GR_->Colorbar(_DA_(dat), s); delete []s; } void MGL_EXPORT mgl_colorbar_val_ext_(uintptr_t *gr, uintptr_t *dat, const char *sch, mreal *x, mreal *y, mreal *w, mreal *h, int l) { char *s=new char[l+1]; memcpy(s,sch,l); s[l]=0; _GR_->Colorbar(_DA_(dat),s,*x,*y,*w,*h); delete []s; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_add_legend_(uintptr_t *gr, const char *text,const char *style,int l,int n) { char *s=new char[l+1]; memcpy(s,text,l); s[l]=0; char *f=new char[n+1]; memcpy(f,style,n); f[n]=0; _GR_->AddLegend(s,f); delete []s; delete []f; } void MGL_EXPORT mgl_clear_legend_(uintptr_t *gr) { if(gr) _GR_->ClearLegend(); } void MGL_EXPORT mgl_legend_pos_(uintptr_t *gr, mreal *x, mreal *y, const char *font, const char *opt,int l,int m) { char *s=new char[l+1]; memcpy(s,font,l); s[l]=0; char *o=new char[m+1]; memcpy(o,opt,m); o[m]=0; _GR_->Legend(*x, *y, s, o); delete []s; delete []o; } void MGL_EXPORT mgl_legend_(uintptr_t *gr, int *where, const char *font, const char *opt,int l,int m) { char *s=new char[l+1]; memcpy(s,font,l); s[l]=0; char *o=new char[m+1]; memcpy(o,opt,m); o[m]=0; _GR_->Legend(*where, s, o); delete []s; delete []o; } void MGL_EXPORT mgl_set_legend_marks_(uintptr_t *gr, int *num) { _GR_->SetLegendMarks(*num); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_wnd_set_delay(HMGL gr, double dt) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetDelay(dt); } double MGL_EXPORT mgl_wnd_get_delay(HMGL gr) { mglCanvas *g = dynamic_cast(gr); return g?g->GetDelay():0; } void MGL_EXPORT mgl_wnd_set_delay_(uintptr_t *gr, mreal *dt) { _GR_->SetDelay(*dt); } double MGL_EXPORT mgl_wnd_get_delay_(uintptr_t *gr) { return _GR_->GetDelay(); } //----------------------------------------------------------------------------- HMEX MGL_EXPORT mgl_create_expr(const char *expr) { return new mglFormula(expr); } void MGL_EXPORT mgl_delete_expr(HMEX ex) { delete ex; } double MGL_EXPORT mgl_expr_eval(HMEX ex, double x, double y,double z) { return ex->Calc(x,y,z); } double MGL_EXPORT mgl_expr_eval_v(HMEX ex, mreal *var) { return ex->Calc(var); } double MGL_EXPORT mgl_expr_diff(HMEX ex, char dir, double x, double y,double z) { return ex->CalcD(dir,x,y,z); } double MGL_EXPORT mgl_expr_diff_v(HMEX ex, char dir, mreal *var) { return ex->CalcD(var, dir); } //----------------------------------------------------------------------------- uintptr_t MGL_EXPORT mgl_create_expr_(const char *expr, int l) { char *s=new char[l+1]; memcpy(s,expr,l); s[l]=0; uintptr_t res = uintptr_t(mgl_create_expr(s)); delete []s; return res; } void MGL_EXPORT mgl_delete_expr_(uintptr_t *ex) { mgl_delete_expr((HMEX)ex); } double MGL_EXPORT mgl_eval_expr_(uintptr_t *ex, mreal *x, mreal *y, mreal *z) { return mgl_expr_eval((HMEX) ex, *x,*y,*z); } double MGL_EXPORT mgl_diff_expr_(uintptr_t *ex, const char *dir, mreal *x, mreal *y, mreal *z, int) { return mgl_expr_diff((HMEX) ex, *dir,*x,*y,*z); } //----------------------------------------------------------------------------- HAEX MGL_EXPORT mgl_create_cexpr(const char *expr) { return new mglFormulaC(expr); } void MGL_EXPORT mgl_delete_cexpr(HAEX ex) { delete ex; } dual MGL_EXPORT mgl_cexpr_eval(HAEX ex, dual x, dual y,dual z) { return ex->Calc(x,y,z); } dual MGL_EXPORT mgl_cexpr_eval_v(HAEX ex, dual *var) { return ex->Calc(var); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_plotfactor(HMGL gr, double val) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetPlotFactor(val); } void MGL_EXPORT mgl_set_plotfactor_(uintptr_t *gr, mreal *val) { _GR_->SetPlotFactor(*val); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_set_tick_shift(HMGL gr, double sx, double sy, double sz, double sc) { mglCanvas *g = dynamic_cast(gr); if(g) g->SetTickShift(mglPoint(sx,sy,sz,sc)); } void MGL_EXPORT mgl_set_tick_shift_(uintptr_t *gr, mreal *sx, mreal *sy, mreal *sz, mreal *sc) { _GR_->SetTickShift(mglPoint(*sx,*sy,*sz,*sc)); } //----------------------------------------------------------------------------- #if !MGL_HAVE_PNG void MGL_EXPORT mgl_write_prc(HMGL gr, const char *fname,const char *descr, int make_pdf) { mglGlobalMess += "PNG support was disabled. Please, enable it and rebuild MathGL.\n"; } void MGL_EXPORT mgl_write_prc_(uintptr_t *graph, const char *fname,const char *descr, int *make_pdf,int lf,int ld) { mglGlobalMess += "PNG support was disabled. Please, enable it and rebuild MathGL.\n"; } #endif //----------------------------------------------------------------------------- void MGL_EXPORT mgl_finish(HMGL gr) { mglCanvas *g = dynamic_cast(gr); if(g) g->Finish(); } void MGL_EXPORT mgl_finish_(uintptr_t *gr) { _GR_->Finish(); } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/def_font.cpp0000664000175000017500000334101612142400470015777 0ustar balakinbalakin#include "mgl2/define.h" unsigned MGL_EXPORT mgl_numg=411, mgl_cur=243136; float MGL_EXPORT mgl_fact=35.7143; long MGL_EXPORT mgl_gen_fnt[411][6] = { {0x21,166,41,0,39,164}, {0x22,204,43,398,38,570}, {0x23,250,33,798,32,930}, {0x24,250,81,1122,80,1446}, {0x25,373,130,1926,129,2446}, {0x26,388,128,3220,127,3732}, {0x27,89,20,4494,19,4574}, {0x28,166,22,4688,20,4776}, {0x29,166,22,4896,21,4984}, {0x2a,250,154,5110,169,5726}, {0x2b,342,12,6740,8,6788}, {0x2c,125,34,6836,34,6972}, {0x2d,166,4,7176,2,7192}, {0x2e,125,21,7204,18,7288}, {0x2f,138,4,7396,2,7412}, {0x30,250,43,7424,41,7596}, {0x31,250,28,7842,27,7954}, {0x32,250,43,8116,41,8288}, {0x33,250,91,8534,90,8898}, {0x34,250,15,9438,12,9498}, {0x35,250,72,9570,77,9858}, {0x36,250,68,10320,66,10592}, {0x37,250,13,10988,11,11040}, {0x38,250,85,11106,83,11446}, {0x39,250,68,11944,67,12216}, {0x3a,138,43,12618,36,12790}, {0x3b,138,57,13006,52,13234}, {0x3c,342,7,13546,5,13574}, {0x3d,342,9,13604,4,13640}, {0x3e,342,7,13664,5,13692}, {0x3f,222,77,13722,73,14030}, {0x40,460,136,14468,136,15012}, {0x41,361,47,15828,50,16016}, {0x42,333,90,16316,90,16676}, {0x43,333,72,17216,72,17504}, {0x44,361,67,17936,68,18204}, {0x45,305,57,18612,54,18840}, {0x46,277,51,19164,47,19368}, {0x47,361,88,19650,86,20002}, {0x48,361,60,20518,56,20758}, {0x49,166,27,21094,26,21202}, {0x4a,186,45,21358,43,21538}, {0x4b,361,70,21796,69,22076}, {0x4c,305,37,22490,39,22638}, {0x4d,444,49,22872,47,23068}, {0x4e,361,47,23350,50,23538}, {0x4f,361,63,23838,60,24090}, {0x50,278,66,24450,69,24714}, {0x51,361,85,25128,83,25468}, {0x52,333,69,25966,69,26242}, {0x53,277,91,26656,94,27020}, {0x54,305,32,27584,30,27712}, {0x55,361,68,27892,68,28164}, {0x56,361,42,28572,41,28740}, {0x57,472,72,28986,75,29274}, {0x58,361,82,29724,80,30052}, {0x59,361,55,30532,54,30752}, {0x5a,305,32,31076,30,31204}, {0x5b,166,18,31384,16,31456}, {0x5c,138,4,31552,2,31568}, {0x5d,166,17,31580,16,31648}, {0x5e,234,7,31744,5,31772}, {0x5f,250,4,31802,2,31818}, {0x60,166,17,31830,16,31898}, {0x61,222,112,31994,115,32442}, {0x62,250,70,33132,71,33412}, {0x63,222,62,33838,60,34086}, {0x64,250,72,34446,79,34734}, {0x65,222,53,35208,53,35420}, {0x66,166,57,35738,53,35966}, {0x67,250,139,36284,149,36840}, {0x68,250,60,37734,67,37974}, {0x69,138,45,38376,44,38556}, {0x6a,138,71,38820,71,39104}, {0x6b,250,69,39530,72,39806}, {0x6c,138,30,40238,30,40358}, {0x6d,388,102,40538,108,40946}, {0x6e,250,66,41594,67,41858}, {0x6f,250,53,42260,50,42472}, {0x70,250,68,42772,72,43044}, {0x71,250,64,43476,68,43732}, {0x72,166,61,44140,61,44384}, {0x73,194,79,44750,86,45066}, {0x74,138,47,45582,49,45770}, {0x75,250,54,46064,56,46280}, {0x76,250,54,46616,53,46832}, {0x77,361,72,47150,81,47438}, {0x78,250,83,47924,89,48256}, {0x79,250,74,48790,79,49086}, {0x7a,222,27,49560,25,49668}, {0x7b,239,55,49818,54,50038}, {0x7c,99,4,50362,2,50378}, {0x7d,239,55,50390,55,50610}, {0x7e,270,41,50940,40,51104}, {0xa1,165,41,51344,39,51508}, {0xa2,250,81,51742,84,52066}, {0xa3,250,135,52570,148,53110}, {0xa4,250,73,53998,72,54290}, {0xa5,250,71,54722,69,55006}, {0xa6,99,9,55420,4,55456}, {0xa7,250,152,55480,156,56088}, {0xa8,166,43,57024,36,57196}, {0xa9,380,92,57412,87,57780}, {0xaa,137,95,58302,103,58682}, {0xab,250,69,59300,73,59576}, {0xac,300,6,60014,4,60038}, {0xad,166,4,60062,2,60078}, {0xae,380,106,60090,106,60514}, {0xaf,166,4,61150,2,61166}, {0xb0,199,43,61178,41,61350}, {0xb1,342,17,61596,10,61664}, {0xb2,150,41,61724,41,61888}, {0xb3,150,74,62134,75,62430}, {0xb4,166,16,62880,16,62944}, {0xb5,250,68,63040,67,63312}, {0xb6,295,48,63714,47,63906}, {0xb7,125,21,64188,18,64272}, {0xb8,166,40,64380,43,64540}, {0xb9,150,23,64798,26,64890}, {0xba,155,46,65046,45,65230}, {0xbb,250,73,65500,72,65792}, {0xbc,375,43,66224,40,66396}, {0xbd,375,74,66636,69,66932}, {0xbe,375,95,67346,89,67726}, {0xbf,222,86,68260,82,68604}, {0xc0,361,65,69096,66,69356}, {0xc1,361,65,69752,66,70012}, {0xc2,361,55,70408,55,70628}, {0xc3,361,89,70958,92,71314}, {0xc4,361,91,71866,86,72230}, {0xc5,361,91,72746,90,73110}, {0xc6,444,86,73650,85,73994}, {0xc7,333,108,74504,116,74936}, {0xc8,305,74,75632,70,75928}, {0xc9,305,74,76348,70,76644}, {0xca,305,65,77064,59,77324}, {0xcb,305,101,77678,90,78082}, {0xcc,166,45,78622,42,78802}, {0xcd,166,45,79054,42,79234}, {0xce,166,36,79486,31,79630}, {0xcf,166,72,79816,62,80104}, {0xd0,361,70,80476,69,80756}, {0xd1,361,88,81170,92,81522}, {0xd2,361,80,82074,76,82394}, {0xd3,361,81,82850,76,83174}, {0xd4,361,71,83630,65,83914}, {0xd5,361,104,84304,102,84720}, {0xd6,361,107,85332,96,85760}, {0xd7,319,12,86336,10,86384}, {0xd8,361,78,86444,80,86756}, {0xd9,361,87,87236,84,87584}, {0xda,361,87,88088,84,88436}, {0xdb,361,76,88940,73,89244}, {0xdc,361,112,89682,104,90130}, {0xdd,361,73,90754,70,91046}, {0xde,277,70,91466,75,91746}, {0xdf,250,98,92196,98,92588}, {0xe0,222,130,93176,131,93696}, {0xe1,222,129,94482,131,94998}, {0xe2,222,120,95784,120,96264}, {0xe3,222,155,96984,157,97604}, {0xe4,222,156,98546,151,99170}, {0xe5,222,156,100076,155,100700}, {0xe6,333,127,101630,132,102138}, {0xe7,222,97,102930,99,103318}, {0xe8,222,71,103912,69,104196}, {0xe9,222,72,104610,69,104898}, {0xea,222,61,105312,58,105556}, {0xeb,222,97,105904,89,106292}, {0xec,138,40,106826,42,106986}, {0xed,138,41,107238,42,107402}, {0xee,138,33,107654,31,107786}, {0xef,138,70,107972,62,108252}, {0xf0,250,74,108624,72,108920}, {0xf1,250,109,109352,109,109788}, {0xf2,250,71,110442,66,110726}, {0xf3,250,71,111122,66,111406}, {0xf4,250,61,111802,55,112046}, {0xf5,250,94,112376,92,112752}, {0xf6,250,97,113304,86,113692}, {0xf7,281,48,114208,38,114400}, {0xf8,250,73,114628,76,114920}, {0xf9,250,73,115376,72,115668}, {0xfa,250,73,116100,72,116392}, {0xfb,250,62,116824,61,117072}, {0xfc,250,98,117438,92,117830}, {0xfd,250,92,118382,95,118750}, {0xfe,250,71,119320,72,119604}, {0xff,250,118,120036,115,120508}, {0x300,0,15,121198,16,121258}, {0x301,0,16,121354,16,121418}, {0x302,0,7,121514,5,121542}, {0x303,0,40,121572,40,121732}, {0x304,0,4,121972,2,121988}, {0x305,0,4,122000,2,122016}, {0x306,0,22,122028,20,122116}, {0x307,0,21,122236,18,122320}, {0x308,0,43,122428,36,122600}, {0x309,0,44,122816,43,122992}, {0x30a,0,43,123250,40,123422}, {0x30b,0,36,123662,32,123806}, {0x30c,0,7,123998,5,124026}, {0x30d,0,4,124056,2,124072}, {0x30e,0,9,124084,4,124120}, {0x30f,0,36,124144,32,124288}, {0x391,361,45,124480,46,124660}, {0x392,333,71,124936,70,125220}, {0x393,293,35,125640,33,125780}, {0x394,361,8,125978,7,126010}, {0x395,305,56,126052,52,126276}, {0x396,305,32,126588,30,126716}, {0x397,361,60,126896,56,127136}, {0x398,361,105,127472,104,127892}, {0x399,166,27,128516,26,128624}, {0x39a,365,70,128780,69,129060}, {0x39b,351,41,129474,40,129638}, {0x39c,444,49,129878,47,130074}, {0x39d,361,47,130356,50,130544}, {0x39e,321,62,130844,54,131092}, {0x39f,361,63,131416,60,131668}, {0x3a0,361,52,132028,52,132236}, {0x3a1,278,66,132548,69,132812}, {0x3a2,0,0,133226,0,133226}, {0x3a3,311,24,133226,22,133322}, {0x3a4,305,32,133454,30,133582}, {0x3a5,361,55,133762,56,133982}, {0x3a6,381,76,134318,77,134622}, {0x3a7,361,82,135084,80,135412}, {0x3a8,372,81,135892,81,136216}, {0x3a9,372,62,136702,60,136950}, {0x3aa,166,71,137310,62,137594}, {0x3ab,361,99,137966,92,138362}, {0x3ac,271,84,138914,80,139250}, {0x3ad,219,111,139730,110,140174}, {0x3ae,256,71,140834,72,141118}, {0x3af,137,52,141550,54,141758}, {0x3b0,262,119,142082,110,142558}, {0x3b1,271,66,143218,64,143482}, {0x3b2,247,96,143866,99,144250}, {0x3b3,237,47,144844,48,145032}, {0x3b4,250,83,145320,80,145652}, {0x3b5,219,94,146132,94,146508}, {0x3b6,220,100,147072,101,147472}, {0x3b7,256,55,148078,56,148298}, {0x3b8,247,57,148634,56,148862}, {0x3b9,137,34,149198,38,149334}, {0x3ba,250,64,149562,66,149818}, {0x3bb,248,48,150214,47,150406}, {0x3bc,263,64,150688,63,150944}, {0x3bd,227,33,151322,35,151454}, {0x3be,220,137,151664,139,152212}, {0x3bf,252,43,153046,41,153218}, {0x3c0,250,67,153464,69,153732}, {0x3c1,247,55,154146,53,154366}, {0x3c2,220,79,154684,79,155000}, {0x3c3,273,45,155474,43,155654}, {0x3c4,238,46,155912,44,156096}, {0x3c5,262,58,156360,58,156592}, {0x3c6,311,73,156940,72,157232}, {0x3c7,250,52,157664,51,157872}, {0x3c8,347,54,158178,55,158394}, {0x3c9,312,91,158724,90,159088}, {0x3d1,276,96,159628,99,160012}, {0x3d5,311,63,160606,64,160858}, {0x3d6,381,95,161242,96,161622}, {0x3f0,275,77,162198,76,162506}, {0x3f1,250,63,162962,62,163214}, {0x3f5,219,51,163586,50,163790}, {0x410,356,47,164090,50,164278}, {0x411,305,63,164578,60,164830}, {0x412,325,92,165190,90,165558}, {0x413,285,38,166098,38,166250}, {0x414,332,71,166478,73,166762}, {0x415,314,56,167200,54,167424}, {0x416,510,145,167748,143,168328}, {0x417,287,90,169186,89,169546}, {0x418,361,58,170080,55,170312}, {0x419,361,107,170642,104,171070}, {0x41a,344,100,171694,99,172094}, {0x41b,341,64,172688,64,172944}, {0x41c,446,48,173328,47,173520}, {0x41d,362,60,173802,56,174042}, {0x41e,364,63,174378,60,174630}, {0x41f,362,52,174990,52,175198}, {0x420,285,65,175510,69,175770}, {0x421,338,71,176184,72,176468}, {0x422,309,32,176900,30,177028}, {0x423,355,75,177208,78,177508}, {0x424,384,76,177976,77,178280}, {0x425,358,82,178742,80,179070}, {0x426,357,59,179550,63,179786}, {0x427,328,64,180164,63,180420}, {0x428,497,71,180798,78,181082}, {0x429,497,81,181550,89,181874}, {0x42a,368,53,182408,50,182620}, {0x42b,441,80,182920,75,183240}, {0x42c,305,51,183690,48,183894}, {0x42d,325,76,184182,76,184486}, {0x42e,450,93,184942,89,185314}, {0x42f,318,64,185848,64,186104}, {0x430,224,113,186488,114,186940}, {0x431,253,79,187624,78,187940}, {0x432,237,84,188408,84,188744}, {0x433,196,34,189248,32,189384}, {0x434,231,59,189576,64,189812}, {0x435,233,49,190196,48,190392}, {0x436,360,144,190680,148,191256}, {0x437,194,85,192144,88,192484}, {0x438,262,56,193012,55,193236}, {0x439,262,106,193566,103,193990}, {0x43a,251,85,194608,87,194948}, {0x43b,249,63,195470,64,195722}, {0x43c,308,48,196106,48,196298}, {0x43d,262,58,196586,56,196818}, {0x43e,256,53,197154,50,197366}, {0x43f,262,52,197666,52,197874}, {0x440,249,71,198186,72,198470}, {0x441,228,63,198902,60,199154}, {0x442,217,40,199514,38,199674}, {0x443,245,69,199902,73,200178}, {0x444,338,134,200616,136,201152}, {0x445,244,77,201968,81,202276}, {0x446,262,57,202762,59,202990}, {0x447,256,62,203344,63,203592}, {0x448,383,76,203970,78,204274}, {0x449,383,82,204742,85,205070}, {0x44a,269,56,205580,54,205804}, {0x44b,334,77,206128,75,206436}, {0x44c,228,49,206886,48,207082}, {0x44d,222,54,207370,55,207586}, {0x44e,368,81,207916,79,208240}, {0x44f,235,59,208714,59,208950}, {0x210f,289,94,209304,101,209680}, {0x2111,381,130,210286,125,210806}, {0x2113,0,0,211556,0,211556}, {0x211c,436,132,211556,135,212084}, {0x2190,463,40,212894,44,213054}, {0x2191,255,39,213318,44,213474}, {0x2192,463,41,213738,44,213902}, {0x2193,255,38,214166,44,214318}, {0x2194,463,75,214582,86,214882}, {0x2195,255,74,215398,86,215694}, {0x2196,463,50,216210,66,216410}, {0x2197,463,50,216806,65,217006}, {0x2198,463,45,217396,63,217576}, {0x2199,463,49,217954,64,218150}, {0x2200,280,12,218534,11,218582}, {0x2201,231,48,218648,47,218840}, {0x2202,235,70,219122,72,219402}, {0x2203,280,12,219834,10,219882}, {0x2204,280,30,219942,30,220062}, {0x2205,381,70,220242,70,220522}, {0x2206,365,8,220942,7,220974}, {0x2207,365,8,221016,7,221048}, {0x2208,342,29,221090,27,221206}, {0x2209,342,52,221368,56,221576}, {0x220a,242,29,221912,27,222028}, {0x220b,342,30,222190,27,222310}, {0x220c,342,56,222472,55,222696}, {0x220d,242,29,223026,28,223142}, {0x220e,272,4,223310,2,223326}, {0x220f,500,49,223338,47,223534}, {0x2210,500,49,223816,47,224012}, {0x2211,457,22,224294,20,224382}, {0x2212,342,4,224502,2,224518}, {0x2213,342,17,224530,10,224598}, {0x2214,342,34,224658,26,224794}, {0x2215,261,4,224950,2,224966}, {0x2216,213,4,224978,2,224994}, {0x2217,261,135,225006,133,225546}, {0x2218,175,43,226344,40,226516}, {0x2219,175,21,226756,18,226840}, {0x221a,463,19,226948,18,227024}, {0x221b,463,93,227132,93,227504}, {0x221c,463,35,228062,30,228202}, {0x221d,342,65,228382,65,228642}, {0x221e,463,85,229032,85,229372}, {0x221f,342,6,229882,4,229906}, {0x2220,342,6,229930,4,229954}, {0x2221,342,33,229978,42,230110}, {0x2222,342,48,230362,52,230554}, {0x2223,132,4,230866,2,230882}, {0x2224,202,12,230894,8,230942}, {0x2225,261,9,230990,4,231026}, {0x2226,304,20,231050,14,231130}, {0x2227,310,7,231214,5,231242}, {0x2228,310,7,231272,5,231300}, {0x2229,310,26,231330,25,231434}, {0x222a,310,26,231584,24,231688}, {0x222b,229,67,231832,70,232100}, {0x222c,350,137,232520,140,233068}, {0x222d,471,205,233908,210,234728}, {0x222e,249,117,235988,126,236456}, {0x222f,370,209,237212,232,238048}, {0x2260,342,20,239440,18,239520}, {0x2261,342,14,239628,6,239684}, {0x2262,342,28,239720,26,239832}, {0x2263,342,19,239988,8,240064}, {0x2264,342,12,240112,7,240160}, {0x2265,342,12,240202,7,240250}, {0x2266,342,17,240292,9,240360}, {0x2267,342,17,240414,9,240482}, {0x2268,342,28,240536,23,240648}, {0x2269,342,28,240786,23,240898}, {0x226a,466,15,241036,10,241096}, {0x226b,466,15,241156,10,241216}, {0x226c,233,80,241276,84,241596}, {0x226d,342,55,242100,60,242320}, {0x226e,342,20,242680,19,242760}, {0x226f,342,20,242874,19,242954}, {0x27c2,346,8,243068,6,243100} }; short MGL_EXPORT mgl_buf_fnt[243136] = { 88,88,94,88,117,278,117,282,118,286,118,297,117,311,113,322,108,331,101,336,92,338,81,336,74,331,69,323,66,312,65,300,65,289,66,284,66,278,16383,16383,118,21,116,30,113,37,107,43,100,47,92,49,83,47,76,43,70,37,66,30,65,22,66,13,70,6,75,0,82,-2,91,-3,100,-2,107,0,113,6,116,13,118,21,150,215,154,243,158,268,162,289,165,306,166,318,165,324,162,330,157,334,151,337,145,338,138,337,132,334,127,330,124,324,123,316,124,307,126,291,129,270,134,244,139,215,16383,16383,65,215,70,243,75,268,78,289,80,306,81,318,80,324,77,330,73,334,67,337,60,338,53,337,47,334,42,330,40,324,39,316,39,307,42,291,45,270, 107,43,107,0,113,37,113,37,107,0,113,6,113,37,113,6,116,30,116,30,113,6,116,13,116,30,116,13,118,21,65,22,66,13,66,30,66,30,66,13,70,6,66,30,70,6,70,37,70,37,70,6,75,0,70,37,75,0,76,43,76,43,75,0,82,-2,76,43,82,-2,83,47,83,47,82,-2,91,-3,83,47,91,-3,92,49,92,49,91,-3,100,-2,92,49,100,-2,100,47,100,47,100,-2,107,0,100,47,107,0,107,43,118,297,117,311,117,278,118,297,117,278,117,282,118,297,117,282,118,286,118,297,118,286,118,290,118,297,118,290,118,294,117,278,117,311,113,322,117,278,113,322,108,331,117,278,108,331,101,336,117,278,101,336,94,88,92,338,81,336,88,88,92,338,88,88,94,88,92,338,94,88,101,336,66,284,66,278,69,323,69,323,66,278,88,88,69,323,88,88,74,331,74,331,88,88,81,336,66,312,65,300,65,297,66,312,65,297,65,293,66,312,65,293,65,289,66,312,65,289,66,284,66,312,66,284,69,323, 150,215,154,243,158,268,162,289,165,306,166,318,165,324,162,330,157,334,151,337,145,338,138,337,132,334,127,330,124,324,123,316,124,307,126,291,129,270,134,244,139,215,16383,16383,65,215,70,243,75,268,78,289,80,306,81,318,80,324,77,330,73,334,67,337,60,338,53,337,47,334,42,330,40,324,39,316,39,307,42,291,45,270,50,244,55,215,248,203,248,230,200,230,214,331,185,331,171,230,104,230,119,331,90,331,75,230,17,230,17,203,71,203,60,136,3,136,3,108,56,108,40,0,69,0,85,108,152,108,137,0,166,0,181,108,235,108,235,136,185,136,195,203,16383,16383,166,203,156,136,89,136,100,203,132,319,154,314,172,304,186,291,197,273,205,250,213,250,213,305,202,314,189,321, 123,316,124,307,124,324,124,324,124,307,126,291,124,324,126,291,127,330,127,330,126,291,129,270,127,330,129,270,132,334,132,334,129,270,134,244,132,334,134,244,138,337,138,337,134,244,139,215,138,337,139,215,145,338,145,338,139,215,150,215,145,338,150,215,151,337,151,337,150,215,154,243,151,337,154,243,157,334,157,334,154,243,158,268,157,334,158,268,162,330,162,330,158,268,162,289,162,330,162,289,165,324,165,324,162,289,165,306,165,324,165,306,166,318,39,316,39,307,40,324,40,324,39,307,42,291,40,324,42,291,42,330,42,330,42,291,45,270,42,330,45,270,47,334,47,334,45,270,50,244,47,334,50,244,53,337,53,337,50,244,55,215,53,337,55,215,60,338,60,338,55,215,65,215,60,338,65,215,67,337,67,337,65,215,70,243,67,337,70,243,73,334,73,334,70,243,75,268,73,334,75,268,77,330,77,330,75,268,78,289,77,330,78,289,80,324,80,324,78,289,80,306,80,324,80,306,81,318, 248,203,248,230,200,230,214,331,185,331,171,230,104,230,119,331,90,331,75,230,17,230,17,203,71,203,60,136,3,136,3,108,56,108,40,0,69,0,85,108,152,108,137,0,166,0,181,108,235,108,235,136,185,136,195,203,16383,16383,166,203,156,136,89,136,100,203,132,319,154,314,172,304,186,291,197,273,205,250,213,250,213,305,202,314,189,321,173,326,155,330,132,332,132,363,115,363,115,332,88,328,64,319,44,304,31,283,26,257,29,234,38,214,54,196,79,177,115,155,115,14,90,17,69,27,52,42,38,63,30,90,22,90, 90,331,75,230,85,108,85,108,75,230,71,203,85,108,71,203,69,0,69,0,71,203,60,136,69,0,60,136,56,108,56,108,60,136,3,136,56,108,3,136,3,108,17,230,17,203,71,203,17,230,71,203,75,230,90,331,85,108,89,136,90,331,89,136,100,203,90,331,100,203,104,230,90,331,104,230,119,331,185,331,171,230,181,108,181,108,171,230,166,203,181,108,166,203,166,0,166,0,166,203,156,136,166,0,156,136,152,108,152,108,156,136,89,136,152,108,89,136,85,108,104,230,100,203,166,203,104,230,166,203,171,230,200,230,214,331,195,203,195,203,214,331,185,331,195,203,185,331,185,136,185,136,185,331,181,108,185,136,181,108,235,108,200,230,195,203,248,203,200,230,248,203,248,230,185,136,235,108,235,136,166,0,152,108,137,0,69,0,56,108,40,0, 132,319,154,314,172,304,186,291,197,273,205,250,213,250,213,305,202,314,189,321,173,326,155,330,132,332,132,363,115,363,115,332,88,328,64,319,44,304,31,283,26,257,29,234,38,214,54,196,79,177,115,155,115,14,90,17,69,27,52,42,38,63,30,90,22,90,22,26,38,16,54,9,71,4,91,1,115,0,115,-43,132,-43,132,0,164,6,191,17,211,32,224,54,229,85,228,96,227,105,225,115,222,123,219,130,210,141,199,152,185,164,163,178,132,195,16383,16383,115,204,93,219,79,232,69,243,64,254,63,266,65,281,71,293,81,304,96,313,115,319,16383,16383,132,147,156,132,172,118,182,105,188,90,189,74,187,55,181,40,170,28,154,20,132,14,343,107,341,127,335,143,325,155,312,163,295,165,267,159,241,143,220,120,206,91,200,60,203,38,212,18,225,4,242,-5,261,-8,286,-2,309,14,327,39,339,71,343,107,16383,16383,331,108,328,77,318,48,303,25,285,10,265,4,255,6,248,10,242,18,238,27,237,38,239,59,244,82,252,103,263,123,276,140,280,144,284,147,290,149,295,151,300,151,311,149,319,143,326,134,330,122,331,108,16383,16383,310,353,289,353,265,331,248,317,235,309,221,305,194,305,185,307,176,311,167,317,157,324,150,330,144,334,138,336,133,338,127,338,97,332,71,317,50,293,36,264,31,232,34,209,42,191,54,176,70,166,89,163,99,164,108,166,116,169,132,181,146,197,157,215, 132,319,154,314,155,330,155,330,154,314,172,304,155,330,172,304,173,326,173,326,172,304,186,291,173,326,186,291,189,321,189,321,186,291,197,273,189,321,197,273,202,314,202,314,197,273,205,250,202,314,205,250,213,305,213,305,205,250,213,250,228,96,227,105,229,85,229,85,227,105,225,115,229,85,225,115,224,54,224,54,225,115,222,123,224,54,222,123,219,130,211,32,224,54,219,130,211,32,219,130,210,141,211,32,210,141,199,152,211,32,199,152,191,17,191,17,199,152,189,74,191,17,189,74,187,55,191,17,187,55,181,40,191,17,181,40,170,28,191,17,170,28,164,6,188,90,189,74,199,152,188,90,199,152,185,164,188,90,185,164,182,105,132,147,156,132,163,178,163,178,156,132,172,118,163,178,172,118,185,164,185,164,172,118,182,105,132,14,132,147,132,195,132,14,132,195,115,155,132,14,115,155,132,-43,132,332,132,363,115,155,132,332,115,155,132,195,132,332,132,195,132,319,132,332,132,319,155,330,115,0,115,155,115,14,115,0,115,14,91,1,91,1,115,14,90,17,91,1,90,17,71,4,71,4,90,17,69,27,71,4,69,27,54,9,54,9,69,27,52,42,54,9,52,42,38,63,38,16,54,9,38,63,38,16,38,63,30,90,38,16,30,90,22,90,38,16,22,90,22,26,132,363,115,363,115,319,115,319,115,363,115,332,115,319,115,155,132,363,71,293,81,304,88,328,88,328,81,304,96,313,88,328,96,313,115,332,115,332,96,313,115,319,64,319,44,304,54,196,64,319,54,196,63,266,64,319,63,266,65,281,64,319,65,281,71,293,64,319,71,293,88,328,63,266,54,196,64,254,64,254,54,196,79,177,64,254,79,177,69,243,69,243,79,177,79,232,26,257,29,234,31,283,31,283,29,234,38,214,31,283,38,214,44,304,44,304,38,214,54,196,79,232,79,177,93,219,93,219,79,177,115,155,93,219,115,155,115,204,115,204,115,155,115,319,164,6,170,28,154,20,164,6,154,20,132,14,164,6,132,14,132,0,132,-43,115,155,115,0,132,-43,115,0,115,-43,132,195,132,147,163,178, 343,107,341,127,335,143,325,155,312,163,295,165,267,159,241,143,220,120,206,91,200,60,203,38,212,18,225,4,242,-5,261,-8,286,-2,309,14,327,39,339,71,343,107,16383,16383,331,108,328,77,318,48,303,25,285,10,265,4,255,6,248,10,242,18,238,27,237,38,239,59,244,82,252,103,263,123,276,140,280,144,284,147,290,149,295,151,300,151,311,149,319,143,326,134,330,122,331,108,16383,16383,310,353,289,353,265,331,248,317,235,309,221,305,194,305,185,307,176,311,167,317,157,324,150,330,144,334,138,336,133,338,127,338,97,332,71,317,50,293,36,264,31,232,34,209,42,191,54,176,70,166,89,163,99,164,108,166,116,169,132,181,146,197,157,215,165,234,171,255,172,276,172,289,171,294,171,299,179,296,187,294,194,292,201,292,209,291,223,292,236,295,247,301,258,309,269,320,72,-8,95,-8,16383,16383,161,285,157,251,148,222,133,198,115,182,94,176,85,178,77,183,71,190,67,200,66,211,67,228,70,245,75,262,82,278,90,293,95,302,101,309,107,314,115,319,126,325,135,316,140,312,144,310,148,307,153,305,157,301,159,297,160,292,161,285,368,55,359,45,350,38,342,33,332,30,321,29,304,31,288,36,274,46,259,58,246,75,260,96,273,115,284,134,296,152,309,173,316,184,323,192,332,198,342,201,355,203,355,213,248,213,248,203,261,201,270,197,276,193,279,187,280,179,278,165,273,150,264,133,251,113,234,89,218,107,205,126,192,146,180,167,168,192,199,207,221,222,235,238,243,256,246,276,242,298,233,315,218,328,199,335,177,338,153,335,132,325,116,309,105,288,101,263,101,250,103,237,106,223,111,207,118,189,99,177,72,158,50,138,34,116,24,92,21,69,25,42,36,20,53,5,77,-3,107,-6,130,-4,151,0,172,9,193,22,214,39,233,22,250,9,266,0,283,-4,300,-6,319,-3,336,3,352,14,365,30,375,50,16383,16383,219,278,217,261,211,246,200,233,183,220,161,208,152,225,146,239,143,253,141,266,141,281,142,294,148,306,156,315,167,320,180,322,193,320,204,314,212,304,217,292,219,278,16383,16383,202,52,185,40,170,31,155,25,142,21,129,20,109,23,92,31,79,45,70,64,67,87,69,106,75,124,86,140,103,155,126,171,142,141,156,115,170,92,202,52,50,215,56,244, 326,134,330,122,335,143,335,143,330,122,331,108,339,71,331,108,328,77,339,71,328,77,327,39,327,39,328,77,318,48,327,39,318,48,309,14,309,14,318,48,303,25,309,14,303,25,286,-2,286,-2,303,25,285,10,286,-2,285,10,265,4,265,4,255,6,261,-8,261,-8,255,6,248,10,261,-8,248,10,242,18,242,-5,261,-8,242,18,242,-5,242,18,238,27,242,-5,238,27,237,38,242,-5,237,38,225,4,244,82,252,103,267,159,267,159,252,103,263,123,267,159,263,123,276,140,276,140,280,144,295,165,295,165,280,144,284,147,295,165,284,147,290,149,241,143,220,120,225,4,241,143,225,4,237,38,241,143,237,38,239,59,241,143,239,59,244,82,241,143,244,82,267,159,200,60,203,38,206,91,206,91,203,38,212,18,206,91,212,18,220,120,220,120,212,18,225,4,326,134,325,155,319,143,319,143,325,155,312,163,319,143,312,163,311,149,311,149,312,163,300,151,295,151,300,151,295,165,295,151,295,165,290,149,295,165,267,159,276,140,312,163,295,165,300,151,339,71,343,107,341,127,339,71,341,127,335,143,339,71,335,143,331,108,265,4,261,-8,286,-2,67,228,70,245,71,317,71,317,70,245,75,262,71,317,75,262,97,332,97,332,75,262,82,278,97,332,82,278,90,293,90,293,95,302,97,332,97,332,95,302,101,309,97,332,101,309,127,338,127,338,101,309,107,314,127,338,107,314,115,319,77,183,89,163,85,178,85,178,89,163,94,176,115,182,94,176,99,164,115,182,99,164,108,166,71,190,67,200,70,166,71,190,70,166,89,163,71,190,89,163,77,183,67,200,66,211,70,166,70,166,66,211,54,176,54,176,66,211,71,317,71,317,66,211,67,228,148,307,153,305,150,330,148,307,150,330,144,310,144,310,150,330,144,334,144,310,144,334,140,312,140,312,144,334,138,336,140,312,138,336,135,316,135,316,138,336,133,338,135,316,133,338,131,320,131,320,133,338,127,338,131,320,127,338,126,325,247,301,248,317,236,295,236,295,248,317,235,309,236,295,235,309,223,292,223,292,235,309,221,305,223,292,221,305,209,291,209,291,221,305,205,305,194,305,185,307,187,294,194,305,187,294,194,292,194,305,194,292,201,292,194,305,201,292,205,305,176,311,171,299,179,296,176,311,179,296,185,307,185,307,179,296,187,294,167,317,157,324,157,301,167,317,157,301,159,297,167,317,159,297,160,292,167,317,160,292,161,285,167,317,161,285,165,234,167,317,165,234,171,255,167,317,171,255,171,299,167,317,171,299,176,311,124,175,132,181,133,198,133,198,132,181,146,197,133,198,146,197,148,222,148,222,146,197,157,215,148,222,157,215,157,251,157,251,157,215,165,234,157,251,165,234,161,285,310,353,289,353,269,320,269,320,289,353,265,331,269,320,265,331,258,309,258,309,265,331,248,317,258,309,248,317,247,301,269,320,72,-8,95,-8,269,320,95,-8,310,353,172,276,172,281,172,285,172,276,172,285,172,289,172,276,172,289,171,294,172,276,171,294,171,299,172,276,171,299,171,255,116,169,124,175,133,198,116,169,133,198,115,182,116,169,115,182,108,166,157,324,150,330,153,305,157,324,153,305,157,301,31,232,34,209,36,264,36,264,34,209,42,191,36,264,42,191,50,293,50,293,42,191,54,176,50,293,54,176,71,317,94,176,89,163,99,164,127,338,115,319,126,325,209,291,205,305,201,292,325,155,326,134,335,143, 368,55,359,45,350,38,342,33,332,30,321,29,304,31,288,36,274,46,259,58,246,75,260,96,273,115,284,134,296,152,309,173,316,184,323,192,332,198,342,201,355,203,355,213,248,213,248,203,261,201,270,197,276,193,279,187,280,179,278,165,273,150,264,133,251,113,234,89,218,107,205,126,192,146,180,167,168,192,199,207,221,222,235,238,243,256,246,276,242,298,233,315,218,328,199,335,177,338,153,335,132,325,116,309,105,288,101,263,101,250,103,237,106,223,111,207,118,189,99,177,72,158,50,138,34,116,24,92,21,69,25,42,36,20,53,5,77,-3,107,-6,130,-4,151,0,172,9,193,22,214,39,233,22,250,9,266,0,283,-4,300,-6,319,-3,336,3,352,14,365,30,375,50,16383,16383,219,278,217,261,211,246,200,233,183,220,161,208,152,225,146,239,143,253,141,266,141,281,142,294,148,306,156,315,167,320,180,322,193,320,204,314,212,304,217,292,219,278,16383,16383,202,52,185,40,170,31,155,25,142,21,129,20,109,23,92,31,79,45,70,64,67,87,69,106,75,124,86,140,103,155,126,171,142,141,156,115,170,92,202,52,50,215,56,244,60,269,64,290,66,306,66,324,63,330,59,334,53,337,46,338,39,337,33,334,28,330,25,324,24,317,25,306,27,289,31,268,35,243,40,215,152,-79,116,-44,92,-8,77,31,69,76,67,127,69,180,77,223,92,261,116,295,152,330,147,338,104,307,69,270,44,227,29,179,24,126,29,75,44,27,69,-17,103,-56,146,-88,15,330,51,295,76,259,90,219,97,174,99,122,97,69,90,26,75,-11,51,-45,15,-79,19,-88,62,-56,97,-19,122,23,137,71,142,123,137,174,121,222,96,267,63,306,21,338,134,235,147,243,158,248,178,254,190,256,200,258,207,261,212,265,215,270,216,277,215,284,213,289,209,293,204,295,198,296,190,294,183,288,174,281,166,272,159,264,154,259,144,251,130,243,130,262,131,270,133,278,135,287,140,302,142,307,143,312,144,316,144,320,143,326,140,331,136,335,131,337,126,338,120,337,115,335,111,331,109,326,108,321,108,317,110,307,111,301,113,295,115,285,118,276,121,249,121,243,110,249,101,255,93,262,85,270,76,280,70,286,65,290,60,293,56,295,51,296,46,295,41,292,38,288,36,283, 153,335,132,325,142,294,142,294,132,325,141,281,142,141,141,281,132,325,142,141,132,325,126,171,118,189,103,155,126,171,118,189,126,171,132,325,118,189,132,325,116,309,118,189,116,309,111,207,99,177,72,158,75,124,99,177,75,124,86,140,99,177,86,140,103,155,99,177,103,155,118,189,72,158,50,138,53,5,72,158,53,5,67,87,72,158,67,87,69,106,72,158,69,106,75,124,79,45,70,64,77,-3,77,-3,70,64,67,87,53,5,50,138,36,20,36,20,50,138,34,116,36,20,34,116,25,42,25,42,34,116,24,92,25,42,24,92,21,69,101,250,103,237,105,288,105,288,103,237,106,223,105,288,106,223,116,309,116,309,106,223,111,207,185,40,170,31,172,9,172,9,170,31,155,25,172,9,155,25,151,0,151,0,155,25,142,21,151,0,142,21,130,-4,130,-4,142,21,129,20,109,23,92,31,107,-6,109,23,107,-6,130,-4,109,23,130,-4,129,20,79,45,77,-3,107,-6,79,45,107,-6,92,31,246,75,251,113,234,89,246,75,234,89,250,9,250,9,234,89,233,22,233,22,234,89,218,107,233,22,218,107,214,39,214,39,218,107,205,126,214,39,205,126,202,52,202,52,205,126,192,146,202,52,192,146,186,72,186,72,192,146,180,167,186,72,180,167,170,92,170,92,180,167,168,192,170,92,168,192,161,208,156,115,170,92,161,208,156,115,161,208,152,225,156,115,152,225,146,239,156,115,146,239,143,253,156,115,143,253,142,141,141,266,141,281,142,141,141,266,142,141,143,253,142,294,148,306,153,335,153,335,148,306,156,315,153,335,156,315,177,338,177,338,156,315,167,320,177,338,167,320,180,322,180,322,193,320,199,335,199,335,193,320,204,314,199,335,204,314,218,328,218,328,204,314,212,304,218,328,212,304,217,292,217,261,221,222,219,278,219,278,221,222,233,315,233,315,221,222,235,238,233,315,235,238,242,298,242,298,235,238,243,256,242,298,243,256,246,276,218,328,217,292,219,278,218,328,219,278,233,315,199,335,177,338,180,322,183,220,168,192,199,207,183,220,199,207,200,233,200,233,199,207,221,222,200,233,221,222,211,246,211,246,221,222,217,261,183,220,161,208,168,192,193,22,214,39,202,52,193,22,202,52,185,40,193,22,185,40,172,9,246,75,250,9,259,58,259,58,250,9,266,0,259,58,266,0,274,46,274,46,266,0,283,-4,274,46,283,-4,288,36,288,36,283,-4,300,-6,288,36,300,-6,304,31,304,31,300,-6,319,-3,304,31,319,-3,321,29,321,29,319,-3,336,3,321,29,336,3,332,30,270,197,276,193,355,213,355,213,276,193,279,187,355,213,279,187,280,179,280,179,284,134,296,152,280,179,296,152,309,173,309,173,316,184,280,179,280,179,316,184,323,192,280,179,323,192,332,198,342,201,355,203,355,213,342,201,355,213,332,198,332,198,355,213,280,179,261,201,270,197,355,213,261,201,355,213,248,213,261,201,248,213,248,203,280,179,278,165,284,134,284,134,278,165,273,150,284,134,273,150,273,115,273,115,273,150,264,133,273,115,264,133,260,96,260,96,264,133,251,113,260,96,251,113,246,75,375,50,368,55,365,30,365,30,368,55,359,45,365,30,359,45,352,14,352,14,359,45,350,38,352,14,350,38,342,33,342,33,332,30,336,3,342,33,336,3,352,14,77,-3,67,87,53,5,101,250,105,288,101,263, 50,215,56,244,60,269,64,290,66,306,66,324,63,330,59,334,53,337,46,338,39,337,33,334,28,330,25,324,24,317,25,306,27,289,31,268,35,243,40,215,152,-79,116,-44,92,-8,77,31,69,76,67,127,69,180,77,223,92,261,116,295,152,330,147,338,104,307,69,270,44,227,29,179,24,126,29,75,44,27,69,-17, 24,317,25,306,25,324,25,324,25,306,27,289,25,324,27,289,28,330,28,330,27,289,31,268,28,330,31,268,33,334,33,334,31,268,35,243,33,334,35,243,39,337,39,337,35,243,40,215,39,337,40,215,46,338,46,338,40,215,50,215,46,338,50,215,53,337,53,337,50,215,56,244,53,337,56,244,59,334,59,334,56,244,60,269,59,334,60,269,63,330,63,330,60,269,64,290,63,330,64,290,66,324,66,324,64,290,66,306,66,324,66,306,66,318, 152,-79,116,-44,92,-8,77,31,69,76,67,127,69,180,77,223,92,261,116,295,152,330,147,338,104,307,69,270,44,227,29,179,24,126,29,75,44,27,69,-17,103,-56,146,-88,15,330,51,295,76,259,90,219,97,174,99,122,97,69,90,26,75,-11,51,-45,15,-79,19,-88,62,-56,97,-19,122,23,137,71,142,123,137,174,121,222,96,267,63,306,21,338, 24,126,29,75,29,179,29,179,29,75,44,27,29,179,44,27,44,227,44,227,44,27,69,-17,44,227,69,-17,67,127,67,127,69,270,44,227,116,295,152,330,147,338,116,295,147,338,104,307,116,295,104,307,92,261,67,127,69,180,69,270,69,270,69,180,77,223,69,270,77,223,104,307,104,307,77,223,92,261,116,-44,92,-8,103,-56,116,-44,103,-56,146,-88,116,-44,146,-88,152,-79,77,31,69,76,69,-17,77,31,69,-17,103,-56,77,31,103,-56,92,-8,67,127,69,-17,69,76, 15,330,51,295,76,259,90,219,97,174,99,122,97,69,90,26,75,-11,51,-45,15,-79,19,-88,62,-56,97,-19,122,23,137,71,142,123,137,174,121,222,96,267,63,306,21,338,134,235,147,243,158,248,178,254,190,256,200,258,207,261,212,265,215,270,216,277,215,284,213,289,209,293,204,295,198,296,190,294,183,288,174,281,166,272,159,264,154,259,144,251, 97,174,99,122,99,122,122,23,99,122,97,69,122,23,97,69,97,-19,97,-19,97,69,90,26,97,-19,90,26,75,-11,97,174,99,122,121,222,121,222,99,122,122,23,121,222,122,23,137,174,137,174,122,23,137,71,137,174,137,71,142,123,96,267,63,306,76,259,96,267,76,259,90,219,96,267,90,219,97,174,96,267,97,174,121,222,51,295,76,259,63,306,51,295,63,306,21,338,51,295,21,338,15,330,15,-79,19,-88,51,-45,51,-45,19,-88,62,-56,51,-45,62,-56,75,-11,75,-11,62,-56,97,-19, 134,235,147,243,158,248,178,254,190,256,200,258,207,261,212,265,215,270,216,277,215,284,213,289,209,293,204,295,198,296,190,294,183,288,174,281,166,272,159,264,154,259,144,251,130,243,130,262,131,270,133,278,135,287,140,302,142,307,143,312,144,316,144,320,143,326,140,331,136,335,131,337,126,338,120,337,115,335,111,331,109,326,108,321,108,317,110,307,111,301,113,295,115,285,118,276,121,249,121,243,110,249,101,255,93,262,85,270,76,280,70,286,65,290,60,293,56,295,51,296,46,295,41,292,38,288,36,283,35,277,36,270,40,265,46,261,56,257,69,254,78,252,87,249,97,246,106,242,117,235,106,229,97,224,88,221,78,218,65,215,53,213,45,210,39,205,35,200,34,193,35,187,37,182,41,178,46,176,52,175,57,176,61,177,65,179,74,188,81,196,92,207,94,210,97,212,105,218,112,222,121,228,121,224,120,212,119,201,118,192,115,183,113,174,111,169,109,163,108,159,107,154,107,151,108,145,110,140,114,136,119,133,124,132,130,133,136,136,140,141,143,146,145,152,144,154,144,157,143,161,141,164,140,169,136,179,130,212,130,228,134,225,140,221,147,217,153,212,161,205,169,196,175,188,182,182,187,178,193,175,199,175,205,176,210,178,216,188,217,194,215,201,212,206,206,210,198,213,186,215,176,218,165,220,147,228,138,233,318,110,318,143,188,143,188,273,155,273,155,143,24,143,24,110,155,110,155,-20,188,-20,188,110,41,-69,60,-58,76,-44,88,-27,95,-10,98,7,96,22,90,34,81,43,70,49,57,51,47,49,39,46,33,40,29,32,27,22,29,13,32,6,38,1,46,-1,56,-2,60,-2,63,-1,66,-1,68,0,73,0,75,-1,78,-4,78,-6,76,-16,71,-27,63,-38,51,-49,36,-60,142,97,142,128,20,128,20,97,90,22,89,30,85,38,79,44,71,49,63,50,54,49,46,45,40,39,37,31,35,22,37,13,40,6,46,0,54,-3,63,-5,71,-3,79,0,85,6,89,13,90,22,143,338,110,338,-3,-6,30,-6,238,165,232,222,218,270,194,307,164,330,127,338,84,329,52,304,29,266,16,220,12,168,16,118,27,71,48,31,80,3,125,-6,168,2,200,29,222,67,234,114,238,165,16383,16383,190,162,187,108,179,65,166,33,148,13,125,6,102,13,84,33,71,65,63,109,60,165,63,220,71,265,84,298,101,318,124,325,148,318,166,298,179,265,187,219,190,162,197,0,197,7,178,8,164,12,155,18,151,27,150,38,150,336,145,338,55,292,55,286,69,291,74,293,84,295,88,296,92,296,97,295,101,293,104,288,106,281,107,272,107,47,105,33,100,22,92,14,78,10,59,7,59,0,237,69,230,71,221,57,212,48,203,42,193,39,182,38,65,38, 69,254,69,254,78,252,69,254,78,252,70,286,69,254,70,286,65,290,69,254,65,290,60,293,69,254,60,293,56,295,69,254,56,295,56,257,51,296,46,295,46,261,51,296,46,261,56,257,51,296,56,257,56,295,36,283,36,270,38,288,38,288,36,270,40,265,38,288,40,265,41,292,41,292,40,265,46,261,41,292,46,261,46,295,81,196,86,201,88,221,88,221,86,201,89,204,88,221,89,204,97,224,97,224,89,204,92,207,97,224,92,207,94,210,94,210,97,212,97,224,97,224,97,212,106,229,78,218,65,215,69,183,78,218,69,183,74,188,78,218,74,188,81,196,78,218,81,196,88,221,110,140,114,136,111,169,111,169,114,136,113,174,115,183,113,174,114,136,115,183,114,136,119,133,144,157,143,161,143,146,144,157,143,146,145,152,144,157,145,152,144,154,141,164,140,169,140,141,141,164,140,141,143,146,141,164,143,146,143,161,136,179,134,190,136,136,136,179,136,136,140,141,136,179,140,141,140,169,134,190,132,201,136,136,136,136,132,201,130,212,136,136,130,212,130,133,130,133,130,212,130,224,126,338,120,337,120,258,126,338,120,258,121,249,126,338,121,249,121,228,126,338,121,228,124,132,126,338,124,132,130,133,126,338,130,133,130,224,126,338,130,224,130,243,126,338,130,243,130,255,126,338,130,255,131,337,121,243,121,228,121,249,120,337,115,335,115,285,120,337,115,285,118,276,120,337,118,276,119,267,120,337,119,267,120,258,113,295,115,285,115,335,113,295,115,335,111,331,113,295,111,331,111,301,204,295,198,296,200,258,200,258,198,296,190,294,200,258,190,294,190,256,190,256,190,294,183,288,190,256,183,288,178,254,178,254,183,288,174,281,178,254,174,281,168,251,168,251,174,281,166,272,168,251,166,272,159,264,159,264,154,259,158,248,158,248,154,259,149,255,158,248,149,255,147,243,147,243,149,255,144,251,147,243,144,251,137,247,130,243,130,228,134,225,130,243,134,225,134,235,130,243,134,235,137,247,137,247,134,235,147,243,176,218,165,220,169,196,176,218,169,196,175,188,176,218,175,188,182,182,176,218,182,182,186,215,199,175,205,176,206,210,206,210,205,176,210,178,206,210,210,178,212,206,212,206,210,178,213,183,212,206,213,183,215,201,215,201,213,183,216,188,215,201,216,188,217,194,198,213,186,215,187,178,198,213,187,178,193,175,198,213,193,175,199,175,198,213,199,175,206,210,216,277,215,284,215,270,215,270,215,284,213,289,215,270,213,289,212,265,212,265,213,289,209,293,212,265,209,293,207,261,207,261,209,293,204,295,207,261,204,295,200,258,159,264,158,248,168,251,161,205,169,196,165,220,161,205,165,220,156,224,161,205,156,224,153,212,147,228,138,233,140,221,147,228,140,221,147,217,147,228,147,217,153,212,147,228,153,212,156,224,143,326,140,331,142,307,143,326,142,307,143,312,143,326,143,312,144,316,143,326,144,316,144,320,133,278,135,287,136,335,136,335,135,287,138,296,136,335,138,296,140,331,140,331,138,296,140,302,140,331,140,302,142,307,131,337,130,255,130,262,131,337,130,262,131,270,131,337,131,270,133,278,131,337,133,278,136,335,134,235,134,225,140,221,134,235,140,221,138,233,124,132,121,228,121,224,124,132,121,224,120,212,124,132,120,212,119,201,124,132,119,201,119,133,118,192,115,183,119,133,118,192,119,133,119,201,101,215,105,218,106,229,106,229,105,218,112,222,106,229,112,222,117,235,117,235,112,222,121,228,117,235,121,228,121,243,76,280,78,252,85,270,85,270,78,252,87,249,85,270,87,249,93,262,93,262,87,249,97,246,93,262,97,246,101,255,101,255,97,246,106,242,101,255,106,242,110,249,110,249,106,242,117,235,110,249,117,235,121,243,108,317,109,312,109,326,109,326,109,312,110,307,109,326,110,307,111,331,111,331,110,307,111,301,111,169,109,163,110,140,110,140,109,163,108,159,110,140,108,159,108,145,108,145,108,159,107,154,108,145,107,154,107,151,65,215,53,213,57,176,65,215,57,176,61,177,65,215,61,177,65,179,65,215,65,179,69,183,34,193,35,187,35,200,35,200,35,187,37,182,35,200,37,182,39,205,39,205,37,182,41,178,39,205,41,178,45,210,45,210,41,178,46,176,45,210,46,176,53,213,53,213,46,176,52,175,53,213,52,175,57,176,70,286,78,252,76,280,106,229,97,212,101,215,108,317,109,326,108,321,187,178,186,215,182,182,36,270,36,283,35,277, 318,110,318,143,188,143,188,273,155,273,155,143,24,143,24,110,155,110,155,-20,188,-20,188,110,41,-69,60,-58,76,-44,88,-27,95,-10,98,7,96,22,90,34,81,43,70,49,57,51,47,49, 188,273,155,273,188,-20,188,-20,155,273,155,143,188,-20,155,143,155,110,155,110,155,143,24,143,155,110,24,143,24,110,188,110,318,110,188,143,188,143,318,110,318,143,188,-20,155,110,155,-20, 41,-69,60,-58,76,-44,88,-27,95,-10,98,7,96,22,90,34,81,43,70,49,57,51,47,49,39,46,33,40,29,32,27,22,29,13,32,6,38,1,46,-1,56,-2,60,-2,63,-1,66,-1,68,0,73,0,75,-1,78,-4,78,-6,76,-16,71,-27,63,-38,51,-49,36,-60,142,97,142,128,20,128,20,97,90,22,89,30,85,38,79,44,71,49,63,50,54,49,46,45,40,39,37,31,35,22,37,13,40,6,46,0,54,-3,63,-5,71,-3,79,0,85,6,89,13,90,22,143,338,110,338,-3,-6,30,-6,238,165,232,222,218,270,194,307,164,330, 63,-1,66,-1,70,49,70,49,66,-1,68,0,70,49,68,0,71,0,71,0,73,0,81,43,81,43,73,0,75,-1,81,43,75,-1,77,-3,27,22,29,13,29,32,29,32,29,13,32,6,29,32,32,6,33,40,33,40,32,6,38,1,33,40,38,1,39,46,39,46,38,1,46,-1,39,46,46,-1,47,49,47,49,46,-1,56,-2,47,49,56,-2,57,51,57,51,56,-2,60,-2,57,51,60,-2,70,49,70,49,60,-2,63,-1,98,7,96,22,95,-10,95,-10,96,22,90,34,95,-10,90,34,88,-27,88,-27,90,34,81,43,88,-27,81,43,78,-6,78,-6,76,-16,88,-27,88,-27,76,-16,76,-44,81,43,77,-3,78,-4,81,43,78,-4,78,-6,81,43,70,49,71,0,36,-60,41,-69,51,-49,51,-49,41,-69,60,-58,51,-49,60,-58,63,-38,63,-38,60,-58,76,-44,63,-38,76,-44,71,-27,71,-27,76,-44,76,-16, 142,97,142,128,20,128,20,97,90,22,89,30,85,38,79,44, 142,97,142,128,20,128,142,97,20,128,20,97, 90,22,89,30,85,38,79,44,71,49,63,50,54,49,46,45,40,39,37,31,35,22,37,13,40,6,46,0,54,-3,63,-5,71,-3,79,0,85,6,89,13,90,22,143,338,110,338,-3,-6,30,-6,238,165,232,222,218,270,194,307,164,330,127,338,84,329,52,304,29,266,16,220,12,168,16,118,27,71,48,31,80,3,125,-6,168,2, 35,22,37,13,37,31,37,31,37,13,40,6,37,31,40,6,40,39,40,39,40,6,46,0,40,39,46,0,46,45,46,45,46,0,54,-3,46,45,54,-3,54,49,54,49,54,-3,62,-5,54,49,62,-5,63,50,63,50,62,-5,71,-3,63,50,71,-3,71,49,71,49,71,-3,79,0,71,49,79,0,79,44,79,44,79,0,85,6,79,44,85,6,85,38,85,38,85,6,89,13,85,38,89,13,89,30,89,30,89,13,90,22, 143,338,110,338,-3,-6,30,-6,238,165,232,222,218,270,194,307, 143,338,110,338,-3,-6,143,338,-3,-6,30,-6, 238,165,232,222,218,270,194,307,164,330,127,338,84,329,52,304,29,266,16,220,12,168,16,118,27,71,48,31,80,3,125,-6,168,2,200,29,222,67,234,114,238,165,16383,16383,190,162,187,108,179,65,166,33,148,13,125,6,102,13,84,33,71,65,63,109,60,165,63,220,71,265,84,298,101,318,124,325,148,318,166,298,179,265,187,219,190,162,197,0,197,7,178,8,164,12,155,18,151,27,150,38,150,336,145,338,55,292,55,286,69,291,74,293,84,295,88,296,92,296,97,295,101,293,104,288,106,281,107,272,107,47,105,33,100,22,92,14,78,10,59,7,59,0,237,69,230,71,221,57,212,48,203,42,193,39,182,38,65,38,147,126,171,153,189,179,202,203,209,226,211,250,207,278, 101,318,124,325,124,325,127,338,124,325,148,318,127,338,148,318,164,330,164,330,148,318,166,298,164,330,166,298,194,307,194,307,166,298,179,265,194,307,179,265,187,219,166,33,168,2,179,65,179,65,168,2,200,29,179,65,200,29,187,108,187,108,200,29,190,162,194,307,190,162,200,29,194,307,200,29,218,270,218,270,200,29,222,67,218,270,222,67,232,222,232,222,222,67,234,114,232,222,234,114,238,165,125,6,125,-6,148,13,148,13,125,-6,168,2,148,13,168,2,166,33,71,265,84,298,84,329,84,329,84,298,101,318,84,329,101,318,127,338,127,338,101,318,124,325,12,168,16,118,16,220,16,220,16,118,27,71,16,220,27,71,29,266,29,266,27,71,48,31,29,266,48,31,52,304,52,304,48,31,63,109,52,304,63,109,60,165,60,165,63,220,52,304,52,304,63,220,71,265,52,304,71,265,84,329,102,13,84,33,80,3,102,13,80,3,125,-6,102,13,125,-6,125,6,80,3,84,33,71,65,80,3,71,65,63,109,80,3,63,109,48,31,194,307,187,219,190,162, 197,0,197,7,178,8,164,12,155,18,151,27,150,38,150,336,145,338,55,292,55,286,69,291,74,293,84,295,88,296,92,296,97,295,101,293,104,288,106,281,107,272,107,47,105,33,100,22,92,14,78,10,59,7,59,0,237,69,230,71,221,57,212,48,203,42,193,39,182,38,65,38,147,126,171,153,189,179,202,203,209,226,211,250,207,278,195,302,176,321,150,334,119,338,86,333,59,320,39,299,24,271,15,238,26,236,38,262,50,280,63,292, 100,22,92,14,197,0,197,0,92,14,78,10,197,0,78,10,59,7,79,294,84,295,145,338,145,338,84,295,88,296,145,338,88,296,92,296,92,296,97,295,145,338,145,338,97,295,101,293,145,338,101,293,104,288,164,12,155,18,107,47,107,47,155,18,151,27,107,47,151,27,107,272,106,281,107,272,145,338,106,281,145,338,104,288,145,338,55,292,69,291,145,338,69,291,74,293,145,338,74,293,79,294,150,38,150,336,145,338,150,38,145,338,107,272,150,38,107,272,151,27,197,0,197,7,178,8,197,0,178,8,164,12,197,0,164,12,105,33,197,0,105,33,100,22,197,0,59,7,59,0,105,33,164,12,107,47,69,291,55,292,55,286, 237,69,230,71,221,57,212,48,203,42,193,39,182,38,65,38,147,126,171,153,189,179,202,203,209,226,211,250,207,278,195,302,176,321,150,334,119,338,86,333,59,320,39,299,24,271,15,238,26,236,38,262,50,280,63,292,79,299,99,301,123,298,142,289,156,275,165,255,169,230,166,205,159,181,146,155,128,129,103,100,15,6,15,0,210,0,31,255,43,275,57,290,71,300,87,306,105,308,123,306,138,300,149,290,157,275,159,257,157,240,152,224,143,211,132,199,118,190,112,186,105,183,96,179,87,176,76,172,76,165,92,165,104,164,113,163,121,162,127,160,146,152,161,141,171,127,178,109,180,88,176,63,167,42,153,26,135,15,114,11,106,11,99,13,90,15,82,20,71,26,64,31, 26,236,38,262,39,299,39,299,38,262,50,280,39,299,50,280,59,320,59,320,50,280,63,292,59,320,63,292,86,333,86,333,63,292,79,299,86,333,79,299,99,301,99,301,123,298,119,338,119,338,123,298,150,334,24,271,15,238,26,236,24,271,26,236,39,299,166,205,171,153,169,230,169,230,171,153,176,321,176,321,171,153,189,179,176,321,189,179,195,302,195,302,189,179,202,203,195,302,202,203,207,278,207,278,202,203,209,226,207,278,209,226,211,250,176,321,150,334,156,275,176,321,156,275,165,255,176,321,165,255,169,230,150,334,123,298,142,289,150,334,142,289,156,275,159,181,146,155,147,126,159,181,147,126,171,153,159,181,171,153,166,205,15,0,210,0,15,6,15,6,210,0,65,38,15,6,65,38,103,100,103,100,65,38,147,126,103,100,147,126,128,129,128,129,147,126,146,155,119,338,86,333,99,301,212,48,203,42,210,0,210,0,203,42,193,39,210,0,193,39,182,38,210,0,182,38,65,38,237,69,230,71,221,57,237,69,221,57,212,48,237,69,212,48,210,0, 31,255,43,275,57,290,71,300,87,306,105,308,123,306,138,300,149,290,157,275,159,257,157,240,152,224,143,211,132,199,118,190,112,186,105,183,96,179,87,176,76,172,76,165,92,165,104,164,113,163,121,162,127,160,146,152,161,141,171,127,178,109,180,88,176,63,167,42,153,26,135,15,114,11,106,11,99,13,90,15,82,20,71,26,64,31,57,35,51,38,41,40,34,39,29,36,25,32,22,27,21,22,23,12,30,4,41,-1,57,-5,76,-6,103,-4,130,0,154,9,175,22,193,40,200,52,207,65,211,79,214,94,215,109,214,125,212,139,207,152,201,164,194,174,187,180,181,185,173,190,164,195,152,200,170,213,183,226,192,241,197,255,199,270,195,292,184,311,168,326,146,335,121,338,92,334,68,323,48,306,33,284,22,257,237,84,237,116,185,116,185,338,163,338,6,116,6,84,146,84,146,0,185,0,185,84,16383,16383,146,116,26,116,146,287,219,340,214,344,210,339,206,335,202,333,197,331,87,331,32,213,32,208,34,206,38,206,65,204,89,199,110,191,129,182,145,171,156,159,166,146,172,131,177,114,178,96,174,71,164,48,149,29,131,16,110,12,104,12,98,14,90,17,83,21,75,27,66,34,58,39,51,41,45,43,38,43,30,42,24,40,19,36,17,31,16,24,19,13,27,5,40,-1,58,-5,79,-6,99,-5,117,-2,134,1,149,8,164,17,182,33,196,51,206,71,211,95,213,122,213,137,211,150,207,162,202,174,195,185,178,205,159,220,137,232,108,241,70,249,90,291,188,291,192,292,198,294,200,296,201,298,223,342,185,337,152,329,123,317, 22,257,31,255,33,284,33,284,31,255,43,275,33,284,43,275,48,306,48,306,43,275,57,290,48,306,57,290,68,323,68,323,57,290,71,300,68,323,71,300,92,334,92,334,71,300,87,306,92,334,87,306,105,308,105,308,123,306,121,338,121,338,123,306,146,335,123,306,138,300,146,335,146,335,138,300,149,290,146,335,149,290,168,326,168,326,149,290,157,275,168,326,157,275,159,257,159,257,157,240,170,213,170,213,157,240,152,200,170,213,183,226,184,311,184,311,183,226,192,241,184,311,192,241,195,292,195,292,192,241,197,255,195,292,197,255,199,270,170,213,184,311,168,326,170,213,168,326,159,257,152,200,157,240,152,224,152,200,152,224,146,152,152,200,146,152,161,141,152,200,161,141,164,195,164,195,171,127,173,190,173,190,171,127,178,109,173,190,178,109,181,185,181,185,178,109,180,88,193,40,180,88,176,63,193,40,176,63,175,22,175,22,176,63,167,42,175,22,167,42,154,9,154,9,167,42,153,26,154,9,153,26,135,15,132,199,127,160,146,152,132,199,146,152,143,211,143,211,146,152,152,224,215,109,214,125,214,94,214,94,214,125,212,139,214,94,212,139,211,79,211,79,212,139,207,152,211,79,207,152,207,65,207,65,207,152,201,164,207,65,201,164,200,52,200,52,201,164,194,174,200,52,194,174,193,40,193,40,194,174,187,180,193,40,187,180,181,185,103,-4,130,0,106,11,106,11,130,0,114,11,135,15,114,11,130,0,135,15,130,0,154,9,87,176,76,172,92,165,87,176,92,165,96,179,96,179,92,165,104,164,96,179,104,164,105,183,105,183,104,164,113,163,105,183,113,163,112,186,112,186,113,163,118,190,132,199,118,190,121,162,132,199,121,162,127,160,121,338,92,334,105,308,118,190,113,163,121,162,103,-4,106,11,99,13,103,-4,99,13,90,15,103,-4,90,15,82,20,103,-4,82,20,76,-6,76,-6,82,20,71,26,76,-6,71,26,64,31,76,-6,64,31,57,35,76,-6,57,35,57,-5,57,35,51,38,57,-5,57,-5,51,38,46,39,57,-5,46,39,41,-1,41,-1,46,39,41,40,41,-1,41,40,34,39,30,4,41,-1,34,39,30,4,34,39,29,36,30,4,29,36,25,32,30,4,25,32,23,12,22,27,21,22,23,12,22,27,23,12,25,32,92,165,76,172,76,165,180,88,193,40,181,185,164,195,161,141,171,127, 237,84,237,116,185,116,185,338,163,338,6,116,6,84,146,84,146,0,185,0,185,84,16383,16383,146,116,26,116,146,287,219,340,214,344,210,339,206,335,202,333,197,331,87,331,32,213,32,208,34,206,38,206,65,204,89,199,110,191,129,182, 6,84,146,84,6,116,6,116,146,84,26,116,6,116,26,116,163,338,163,338,26,116,146,287,163,338,146,287,185,0,185,0,146,287,146,116,185,0,146,116,146,84,146,84,146,116,26,116,163,338,185,0,185,338,185,116,185,84,237,84,185,116,237,84,237,116,185,0,146,84,146,0, 219,340,214,344,210,339,206,335,202,333,197,331,87,331,32,213,32,208,34,206,38,206,65,204,89,199,110,191,129,182,145,171,156,159,166,146,172,131,177,114,178,96,174,71,164,48,149,29,131,16,110,12,104,12,98,14,90,17,83,21,75,27,66,34,58,39,51,41,45,43,38,43,30,42,24,40,19,36,17,31,16,24,19,13,27,5,40,-1,58,-5,79,-6,99,-5,117,-2,134,1,149,8,164,17,182,33,196,51,206,71,211,95,213,122,213,137,211,150,207,162,202,174,195,185,178,205,159,220,137,232,108,241,70,249,90,291,188,291,192,292,198,294,200,296,201,298,223,342,185,337,152,329,123,317,97,300,71,277,52,254,37,229,26,201,19,171,17,140,18,118,21,98,26,78,33,60,41,44,53,26,68,12,86,1,106,-4,129,-6,148,-5,166,0,182,7,196,17,209,30,218,43,225,57,230,73,233,91,234,109,230,145,217,174,198,196,172,209,140,214,127,213,115,211,103,207,90,201,76,191,89,234,111,270,142,300,180,321,224,334,16383,16383,189,94,187,65,180,41,169,23,154,11,134,7,109,13,89,30,75,56,66,91,64,133,67,157,76,173,89,184,105,189,122,191,146,187,165,175,179,156,187,128,189,94,224,323,224,331,40,331,10,257, 211,95,213,122,213,137,211,95,213,137,211,150,211,95,211,150,207,162,211,95,207,162,206,71,178,205,178,96,182,33,178,205,182,33,195,185,195,185,182,33,196,51,195,185,196,51,202,174,202,174,196,51,206,71,202,174,206,71,207,162,149,8,164,17,164,48,164,48,164,17,182,33,164,48,182,33,174,71,174,71,182,33,178,96,110,12,117,-2,131,16,131,16,117,-2,134,1,131,16,134,1,149,29,149,29,134,1,149,8,149,29,149,8,164,48,202,333,197,331,198,294,202,333,198,294,200,296,202,333,200,296,201,298,202,333,201,298,219,340,202,333,219,340,206,335,190,331,192,292,197,331,197,331,192,292,195,293,197,331,195,293,198,294,210,339,206,335,219,340,210,339,219,340,214,344,87,331,70,249,90,291,87,331,90,291,190,331,190,331,90,291,188,291,190,331,188,291,192,292,38,206,65,204,70,249,70,249,65,204,89,199,70,249,89,199,108,241,108,241,89,199,110,191,108,241,110,191,137,232,137,232,110,191,129,182,137,232,129,182,145,171,145,171,156,159,159,220,159,220,156,159,166,146,159,220,166,146,178,205,178,205,166,146,172,131,178,205,172,131,177,114,87,331,32,213,33,207,87,331,33,207,34,206,87,331,34,206,36,206,87,331,36,206,38,206,87,331,38,206,70,249,32,213,32,212,33,207,33,207,32,212,32,208,32,208,32,212,32,211,79,-6,99,-5,83,21,79,-6,83,21,75,27,79,-6,75,27,66,34,79,-6,66,34,58,39,79,-6,58,39,58,-5,58,39,51,41,58,-5,58,-5,51,41,45,43,58,-5,45,43,40,-1,40,-1,45,43,38,43,40,-1,38,43,30,42,27,5,40,-1,30,42,27,5,30,42,24,40,27,5,24,40,19,36,27,5,19,36,19,13,17,31,16,24,19,13,17,31,19,13,19,36,104,12,98,14,99,-5,104,12,99,-5,117,-2,104,12,117,-2,110,12,159,220,137,232,145,171,90,17,83,21,99,-5,90,17,99,-5,98,14,178,205,177,114,178,96,32,208,32,211,32,210, 223,342,185,337,152,329,123,317,97,300,71,277,52,254,37,229,26,201,19,171,17,140,18,118,21,98,26,78,33,60,41,44,53,26,68,12,86,1,106,-4,129,-6,148,-5,166,0,182,7,196,17,209,30,218,43,225,57,230,73,233,91,234,109,230,145,217,174,198,196,172,209,140,214,127,213,115,211,103,207,90,201,76,191,89,234,111,270,142,300,180,321,224,334,16383,16383,189,94,187,65,180,41,169,23,154,11,134,7,109,13,89,30,75,56,66,91,64,133,67,157,76,173,89,184,105,189,122,191,146,187,165,175,179,156,187,128,189,94,224,323,224,331,40,331,10,257,19,253,30,270,40,282,51,289,62,293,78,294,185,294,86,-3,118,-3,223,78,220,100,213,121,199,141,177,162,145,185,171,200,190,215,203,229,210,246,212,267,208,289,197,309,179,324,156,334,128,338,97,335,70,324,49,308,36,287,31,260,33,242,38,225,49,208,67,189,93,166,66,145,47,127,35,111,30,94,28,75,32,48,45,25,66,8,92,-2,124,-6,157,-2,185,8,205,26,218,49,223,78,16383,16383,177,267,176,249,171,234,162,220,149,207,131,195,107,210,90,225,77,240,70,257,68,275,71,292,78,305, 140,214,127,213,146,187,146,187,127,213,122,191,105,189,122,191,115,211,105,189,115,211,103,207,64,133,67,157,71,277,71,277,67,157,76,173,71,277,76,173,76,191,76,191,76,173,89,184,76,191,89,184,90,201,90,201,89,184,105,189,90,201,105,189,103,207,127,213,115,211,122,191,187,65,180,41,182,7,182,7,180,41,169,23,182,7,169,23,166,0,166,0,169,23,154,11,166,0,154,11,148,-5,148,-5,154,11,134,7,148,-5,134,7,129,-6,129,-6,134,7,109,13,129,-6,109,13,106,-4,106,-4,109,13,89,30,106,-4,89,30,86,1,86,1,89,30,75,56,86,1,75,56,68,12,68,12,75,56,66,91,68,12,66,91,64,133,53,26,68,12,64,133,64,133,71,277,53,26,53,26,71,277,52,254,53,26,52,254,41,44,41,44,52,254,37,229,41,44,37,229,33,60,33,60,37,229,26,78,218,43,225,57,230,145,230,145,225,57,230,73,230,145,230,73,234,109,234,109,230,73,233,91,189,94,196,17,198,196,198,196,196,17,209,30,198,196,209,30,217,174,217,174,209,30,218,43,217,174,218,43,230,145,146,187,165,175,172,209,172,209,165,175,179,156,172,209,179,156,198,196,198,196,179,156,187,128,198,196,187,128,189,94,187,65,182,7,196,17,187,65,196,17,189,94,76,191,89,234,97,300,97,300,89,234,111,270,97,300,111,270,123,317,123,317,111,270,142,300,123,317,142,300,152,329,152,329,142,300,180,321,152,329,180,321,185,337,185,337,180,321,224,334,185,337,224,334,223,342,97,300,71,277,76,191,17,140,18,118,19,171,19,171,18,118,21,98,19,171,21,98,26,201,26,201,21,98,26,78,26,201,26,78,37,229,140,214,146,187,172,209, 224,323,224,331,40,331,10,257,19,253,30,270,40,282,51,289,62,293,78,294,185,294,86,-3,118,-3,223,78,220,100,213,121,199,141,177,162,145,185,171,200,190,215,203,229,210,246,212,267,208,289,197,309, 118,-3,224,323,185,294,185,294,224,323,224,331,185,294,224,331,78,294,62,293,78,294,224,331,62,293,224,331,40,331,40,331,10,257,19,253,40,331,19,253,30,270,40,331,30,270,40,282,40,331,40,282,51,289,40,331,51,289,62,293,118,-3,185,294,86,-3, 223,78,220,100,213,121,199,141,177,162,145,185,171,200,190,215,203,229,210,246,212,267,208,289,197,309,179,324,156,334,128,338,97,335,70,324,49,308,36,287,31,260,33,242,38,225,49,208,67,189,93,166,66,145,47,127,35,111,30,94,28,75,32,48,45,25,66,8,92,-2,124,-6,157,-2,185,8,205,26,218,49,223,78,16383,16383,177,267,176,249,171,234,162,220,149,207,131,195,107,210,90,225,77,240,70,257,68,275,71,292,78,305,89,316,104,322,123,324,142,322,157,314,168,302,175,286,177,267,16383,16383,136,136,154,122,167,109,177,95,183,79,185,62,182,44,175,29,163,17,148,10,129,7,108,10,91,19,77,34,69,54,66,79,67,97,71,113,79,128,90,142,106,156,30,-10,65,-4,95,3,121,13,145,28,170,49,191,72,208,100,220,130,227,163,229,197,228,221,224,244,217,265,209,284,198,300,185,313,171,324,155,332,138,337,119,338,85,332,57,316,35,291,20,258,15,220,19,186,31,158,50,137,75,123,105,118,122,119,138,122,153,128,167,136,180,147,164,101,140,63,109,33,71,12,28,0,16383,16383,181,177,177,163,167,153,153,146,137,141,123,140,102,144,85,157,72,177,64,204,61,237,62,253,64,269,68,284,73,297,79,307,84,313,91,318,98,321,106,323,115,324,139,319,157,304,170,278,178,243,181,197,96,201,95,210,91,218,85,224,77,228,69,229,60,228,52,224,46,218,42,211,41,201,42,193,46,185,52,179,60,176,69,174,77,176, 167,109,177,162,154,122,154,122,177,162,145,185,154,122,145,185,136,136,136,136,145,185,149,207,136,136,149,207,131,195,131,195,107,210,136,136,136,136,107,210,106,156,90,142,106,156,93,166,66,8,69,54,66,79,66,79,67,97,66,145,66,145,67,97,71,113,66,145,71,113,93,166,93,166,71,113,79,128,93,166,79,128,90,142,30,94,32,48,35,111,35,111,32,48,45,25,35,111,45,25,47,127,47,127,45,25,66,8,47,127,66,8,66,145,66,145,66,8,66,79,107,210,90,225,93,166,107,210,93,166,106,156,90,225,77,240,93,166,93,166,77,240,70,257,93,166,70,257,67,189,67,189,70,257,68,275,70,324,68,275,71,292,70,324,71,292,78,305,128,338,123,324,142,322,128,338,142,322,156,334,156,334,142,322,157,314,156,334,157,314,179,324,179,324,157,314,168,302,179,324,168,302,175,286,182,44,175,29,185,8,185,8,175,29,163,17,185,8,163,17,157,-2,157,-2,163,17,148,10,157,-2,148,10,129,7,129,7,108,10,124,-6,124,-6,108,10,92,-2,92,-2,108,10,91,19,92,-2,91,19,77,34,92,-2,77,34,69,54,92,-2,69,54,66,8,78,305,89,316,97,335,97,335,89,316,104,322,97,335,104,322,128,338,128,338,104,322,123,324,49,308,36,287,38,225,49,308,38,225,49,208,49,308,49,208,67,189,49,308,67,189,68,275,49,308,68,275,70,324,36,287,31,260,33,242,36,287,33,242,38,225,171,200,190,215,176,249,176,249,190,215,177,267,179,324,177,267,190,215,179,324,190,215,197,309,197,309,190,215,203,229,197,309,203,229,208,289,208,289,203,229,210,246,208,289,210,246,212,267,171,200,176,249,171,234,171,200,171,234,162,220,171,200,162,220,149,207,171,200,149,207,145,185,223,78,220,100,218,49,218,49,220,100,213,121,218,49,213,121,205,26,205,26,213,121,199,141,205,26,199,141,185,62,185,62,199,141,183,79,177,95,183,79,199,141,177,95,199,141,177,162,177,95,177,162,167,109,185,62,185,8,205,26,129,7,124,-6,157,-2,182,44,185,8,185,62,179,324,175,286,177,267,70,324,78,305,97,335,32,48,30,94,28,75, 30,-10,65,-4,95,3,121,13,145,28,170,49,191,72,208,100,220,130,227,163,229,197,228,221,224,244,217,265,209,284,198,300,185,313,171,324,155,332,138,337,119,338,85,332,57,316,35,291,20,258,15,220,19,186,31,158,50,137,75,123,105,118,122,119,138,122,153,128,167,136,180,147,164,101,140,63,109,33,71,12,28,0,16383,16383,181,177,177,163,167,153,153,146,137,141,123,140,102,144,85,157,72,177,64,204,61,237,62,253,64,269,68,284,73,297,79,307,84,313,91,318,98,321,106,323,115,324,139,319,157,304,170,278,178,243,181,197,96,201,95,210,91,218,85,224,77,228,69,229,60,228,52,224,46,218,42,211,41,201,42,193,46,185,52,179,60,176,69,174,77,176,85,179,91,185,95,193,96,201,16383,16383,96,22,95,31,91,38,85,45,77,49,69,50,60,49,52,45,46,39,42,31,41,22,42,13,46,6,52,0,60,-3,69,-5,77,-3,85,0,91,6,95,13,96,22,95,201,94,210,90,218,84,224,77,228,68,229,59,228,51,224,45,218,42,211,40,201,42,193,46,185,52,179,59,176,68,174,77,176,84,179,90,185,94,193,95,201,16383,16383,54,-69,73,-58,88,-44, 62,253,64,269,57,316,57,316,64,269,68,284,57,316,68,284,85,332,85,332,68,284,73,297,85,332,73,297,79,307,79,307,84,313,85,332,85,332,84,313,91,318,85,332,91,318,119,338,119,338,91,318,98,321,119,338,98,321,106,323,119,338,106,323,115,324,115,324,139,319,119,338,119,338,139,319,138,337,123,140,105,118,122,119,123,140,122,119,138,122,123,140,102,144,105,118,85,157,72,177,75,123,85,157,75,123,105,118,85,157,105,118,102,144,61,237,62,253,57,316,61,237,57,316,50,137,61,237,50,137,64,204,64,204,50,137,75,123,64,204,75,123,72,177,15,220,19,186,20,258,20,258,19,186,31,158,20,258,31,158,35,291,35,291,31,158,50,137,35,291,50,137,57,316,137,141,123,140,138,122,137,141,138,122,153,146,153,146,138,122,153,128,153,146,153,128,167,153,167,153,153,128,167,136,167,153,167,136,177,163,177,163,167,136,180,147,177,163,180,147,181,177,181,177,180,147,191,72,181,177,191,72,181,197,178,243,181,197,185,313,178,243,185,313,171,324,138,337,139,319,155,332,155,332,139,319,157,304,155,332,157,304,171,324,171,324,157,304,170,278,171,324,170,278,178,243,229,197,228,221,227,163,227,163,228,221,224,244,227,163,224,244,220,130,220,130,224,244,217,265,220,130,217,265,209,284,220,130,209,284,208,100,208,100,209,284,198,300,208,100,198,300,191,72,191,72,198,300,185,313,191,72,185,313,181,197,30,-10,65,-4,71,12,71,12,65,-4,95,3,71,12,95,3,109,33,109,33,95,3,121,13,109,33,121,13,140,63,140,63,121,13,145,28,140,63,145,28,164,101,164,101,145,28,170,49,164,101,170,49,180,147,180,147,170,49,191,72,71,12,28,0,30,-10, 96,201,95,210,91,218,85,224,77,228,69,229,60,228,52,224,46,218,42,211,41,201,42,193,46,185,52,179,60,176,69,174,77,176,85,179,91,185,95,193,96,201,16383,16383,96,22,95,31,91,38,85,45,77,49,69,50,60,49,52,45,46,39,42,31,41,22,42,13,46,6,52,0,60,-3,69,-5,77,-3,85,0,91,6,95,13,96,22,95,201,94,210,90,218,84,224,77,228,68,229,59,228,51,224,45,218,42,211,40,201,42,193,46,185,52,179,59,176,68,174,77,176,84,179,90,185,94,193,95,201,16383,16383,54,-69,73,-58,88,-44,100,-28,107,-11,109,7,107,22,102,34,93,43,82,49,70,51,60,49,52,46,46,40,42,32,40,23,41,14,45,7,51,2,59,-1,69,-2, 42,211,42,193,46,218,46,218,42,193,46,185,46,218,46,185,52,224,52,224,46,185,52,179,52,224,52,179,60,228,60,228,52,179,60,176,60,228,60,176,69,229,69,229,60,176,69,174,69,229,69,174,77,228,77,228,69,174,77,176,77,228,77,176,85,224,85,224,77,176,85,179,85,224,85,179,91,218,91,218,85,179,91,185,91,218,91,185,95,210,95,210,91,185,95,193,95,210,95,193,96,201,42,31,42,13,46,39,46,39,42,13,46,6,46,39,46,6,52,45,52,45,46,6,52,0,52,45,52,0,60,49,60,49,52,0,60,-3,60,49,60,-3,69,50,69,50,60,-3,69,-5,69,50,69,-5,77,49,77,49,69,-5,77,-3,77,49,77,-3,85,45,85,45,77,-3,85,0,85,45,85,0,91,38,91,38,85,0,91,6,91,38,91,6,95,31,95,31,91,6,95,13,95,31,95,13,96,22,42,13,42,31,41,22,42,193,42,211,41,201, 95,201,94,210,90,218,84,224,77,228,68,229,59,228,51,224,45,218,42,211,40,201,42,193,46,185,52,179,59,176,68,174,77,176,84,179,90,185,94,193,95,201,16383,16383,54,-69,73,-58,88,-44,100,-28,107,-11,109,7,107,22,102,34,93,43,82,49,70,51,60,49,52,46,46,40,42,32,40,23,41,14,45,7,51,2,59,-1,69,-2,72,-2,75,-1,78,-1,81,0,85,0,87,-2,89,-3,90,-5,90,-7,88,-17,83,-28,75,-38,63,-49,49,-60,310,-11,310,20,94,127,310,234,310,267,28,129,28,124,319,160,319,193,24,193,24,160,16383,16383,319,60,319,93,24,93,24,60,310,124,310,129,28,267,28,234,244,127,28,20,28,-11,122,82,126,101,131,118,137,133,145,147,155,161,176,187,191,208,201,226,206,242,207,259,202,286,189,308,169,324,144,335,116,338,89,335,66,325,49,310,38,290,34,267,35,255,38,246,44,239,50,235,58,233,65,234,71,237,75,242,78,248,79,255,77,264,72,270,66,276, 42,211,42,193,45,218,45,218,42,193,46,185,45,218,46,185,51,224,51,224,46,185,52,179,51,224,52,179,59,228,59,228,52,179,59,176,59,228,59,176,68,229,68,229,59,176,68,174,68,229,68,174,77,228,77,228,68,174,77,176,77,228,77,176,84,224,84,224,77,176,84,179,84,224,84,179,90,218,90,218,84,179,90,185,90,218,90,185,94,210,94,210,90,185,94,193,94,210,94,193,95,201,75,-1,78,-1,82,49,82,49,78,-1,81,0,82,49,81,0,83,0,83,0,85,0,93,43,93,43,85,0,87,-2,93,43,87,-2,89,-3,40,23,41,14,42,32,42,32,41,14,45,7,42,32,45,7,46,40,46,40,45,7,51,2,46,40,51,2,52,46,52,46,51,2,59,-1,52,46,59,-1,60,49,60,49,59,-1,69,-2,60,49,69,-2,70,51,70,51,69,-2,72,-2,70,51,72,-2,82,49,82,49,72,-2,75,-1,109,7,107,22,107,-11,107,-11,107,22,102,34,107,-11,102,34,100,-28,100,-28,102,34,93,43,100,-28,93,43,90,-7,90,-7,88,-44,100,-28,93,43,89,-3,90,-5,93,43,90,-5,90,-7,93,43,82,49,83,0,88,-44,90,-7,88,-17,88,-44,88,-17,83,-28,88,-44,83,-28,75,-38,88,-44,75,-38,73,-58,63,-49,49,-60,54,-69,63,-49,54,-69,73,-58,63,-49,73,-58,75,-38,42,193,42,211,40,201, 310,-11,310,20,94,127,310,234,310,267,28,129,28,124,319,160,319,193,24,193,24,160,16383,16383,319,60,319,93, 94,127,310,234,310,267,94,127,310,267,28,129,94,127,28,129,310,-11,94,127,310,-11,310,20,310,-11,28,129,28,124, 319,160,319,193,24,193,24,160,16383,16383,319,60,319,93,24,93,24,60,310,124,310,129,28,267,28,234,244,127,28,20,28,-11,122,82,126,101, 24,193,24,160,319,160,24,193,319,160,319,193,24,93,24,60,319,60,24,93,319,60,319,93, 310,124,310,129,28,267,28,234,244,127,28,20,28,-11,122,82,126,101,131,118,137,133,145,147,155,161,176,187, 310,124,310,129,28,267,310,124,28,267,28,234,310,124,28,234,244,127,310,124,244,127,28,20,310,124,28,20,28,-11, 122,82,126,101,131,118,137,133,145,147,155,161,176,187,191,208,201,226,206,242,207,259,202,286,189,308,169,324,144,335,116,338,89,335,66,325,49,310,38,290,34,267,35,255,38,246,44,239,50,235,58,233,65,234,71,237,75,242,78,248,79,255,77,264,72,270,66,276,62,283,60,292,62,301,69,310,80,317,92,321,107,323,124,320,139,312,151,300,159,283,161,264,160,246,156,227,150,209,136,171,126,147,120,127,116,109,114,95,113,82,16383,16383,145,22,144,30,140,38,134,44,127,48,119,49,110,48,103,44,97,38,93,31,92,22,93,14,97,7,102,1,110,-2,119,-3,127,-2,135,1,140,7,144,14,145,22,344,36,323,27,303,20,283,16,263,13,243,12,196,19,156,40,126,71,107,112,100,161,101,184,105,206,112,227,120,247,131,265,148,285,167,301,189,313,214,320,241,323,286,316,326,296,357,267,377,229,384,186,381,157,372,130,358,108,341,94,321,88,314,89,308,92,304,96,301,103,300,112,300,115,301,117,301,120,334,247,300,247,295,228,294,228,289,238,284,245,276,250,268,253,257,254,242,252,229,248,216,241,204,231,194,219,183,203,174,185,167,167,162,147,161,128,163,109,169,93,179,82,191,75,204,72,219,74,232,78,245,86,257,96,267,108,268,108,271,96,279,86,288,78,300,73,313,71,341,78,366,95,386,121, 60,292,60,292,60,292,60,292,66,325,49,310,60,292,49,310,50,235,60,292,50,235,58,233,144,335,116,338,124,320,124,320,116,338,107,323,92,321,107,323,116,338,92,321,116,338,89,335,60,292,62,301,66,325,66,325,62,301,69,310,66,325,69,310,89,335,89,335,69,310,80,317,89,335,80,317,92,321,34,267,35,255,38,290,38,290,35,255,38,246,38,290,38,246,49,310,49,310,38,246,44,239,49,310,44,239,50,235,62,283,65,234,66,276,66,276,65,234,71,237,66,276,71,237,72,270,72,270,71,237,75,242,72,270,75,242,77,264,77,264,75,242,78,248,77,264,78,248,79,255,65,234,62,283,60,292,65,234,60,292,58,233,119,49,119,-3,127,48,127,48,119,-3,127,-2,127,48,127,-2,134,44,134,44,127,-2,135,1,134,44,135,1,140,38,140,38,135,1,140,7,140,38,140,7,144,30,144,30,140,7,144,14,144,30,144,14,145,22,92,22,93,14,93,31,93,31,93,14,97,7,93,31,97,7,97,38,97,38,97,7,102,1,97,38,102,1,103,44,103,44,102,1,110,-2,103,44,110,-2,110,48,110,48,110,-2,119,-3,110,48,119,-3,119,49,124,320,139,312,144,335,144,335,139,312,151,300,144,335,151,300,169,324,169,324,151,300,159,283,169,324,159,283,161,264,161,264,160,246,176,187,176,187,160,246,156,227,176,187,156,227,155,161,155,161,156,227,150,209,155,161,150,209,145,147,145,147,150,209,143,190,145,147,143,190,137,133,137,133,143,190,136,171,137,133,136,171,131,118,131,118,136,171,126,147,131,118,126,147,126,101,126,101,126,147,122,82,202,286,189,308,191,208,202,286,191,208,201,226,202,286,201,226,206,242,202,286,206,242,207,259,176,187,191,208,189,308,176,187,189,308,169,324,176,187,169,324,161,264,122,82,126,147,120,127,122,82,120,127,116,109,122,82,116,109,114,95,122,82,114,95,113,82, 344,36,323,27,303,20,283,16,263,13,243,12,196,19,156,40,126,71,107,112,100,161,101,184,105,206,112,227,120,247,131,265,148,285,167,301,189,313,214,320,241,323,286,316,326,296,357,267,377,229,384,186,381,157,372,130,358,108,341,94,321,88,314,89,308,92,304,96,301,103,300,112,300,115,301,117,301,120,334,247,300,247,295,228,294,228,289,238,284,245,276,250,268,253,257,254,242,252,229,248,216,241,204,231,194,219,183,203,174,185,167,167,162,147,161,128,163,109,169,93,179,82,191,75,204,72,219,74,232,78,245,86,257,96,267,108,268,108,271,96,279,86,288,78,300,73,313,71,341,78,366,95,386,121,400,154,405,191,396,238,374,279,338,310,293,331,241,338,215,337,191,333,169,326,148,316,128,304,105,282,86,257,71,228,61,197,58,164,67,108,93,61,132,24,182,1,241,-6,261,-5,281,-2,302,2,324,10,350,22,16383,16383,286,202,285,187,282,171,277,155,271,138,264,123,257,113,250,105,242,99,234,95,226,94,216,96,207,101,201,110,197,122,196,137,197,150,199,163,203,175,208,186,214,197,223,209,234,219,244,226,254,231,263,232,271,231,277,227,282,221,285,213,286,202,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,211,175,225,178,236,182,245,185,259,195,266,203,272,213,276,224,279,235,280,248,274,277,258,300,232,317,195,327,148,331,8,331,8,321,29,320,43,316,51,308,55,295,56,275,56,56,55,37,51,24,42,16,29,11,8,9,8,0,177,0,217,4,250,15,275,34,291,58,296,89,295,102,292,115,287,126,281,137,272,147,263,154,254,160,242,166,229,170,211,174,16383,16383,108,183,108,303,109,307,112,310,115,312,119,313,140,313,172,309,197,301,214,287,225,268,228,245,225,223,217,205,202,193,181,186,153,183,16383,16383,108,163,139,162,162,161,181,158,198,152,215,143,224,136,231,126,235,115,238,103,239,89,238,77,236,66,232,56,227,47,220,40,207,30,194,24,179,20,161,19,138,18,126,19,118,21,112,26,109,32, 156,40,126,71,132,24,132,24,126,71,107,112,132,24,107,112,93,61,93,61,107,112,100,161,105,282,100,161,101,184,105,282,101,184,105,206,105,206,112,227,128,304,128,304,112,227,120,247,128,304,120,247,131,265,131,265,148,285,148,316,148,316,148,285,167,301,148,316,167,301,169,326,169,326,167,301,189,313,169,326,189,313,191,333,191,333,189,313,214,320,191,333,214,320,215,337,215,337,214,320,241,323,215,337,241,323,241,338,241,338,241,323,293,331,93,61,100,161,105,282,93,61,105,282,86,257,93,61,86,257,71,228,93,61,71,228,67,108,61,197,58,164,67,108,61,197,67,108,71,228,384,186,386,121,396,238,384,186,396,238,377,229,377,229,396,238,374,279,377,229,374,279,357,267,357,267,374,279,338,310,357,267,338,310,326,296,326,296,338,310,293,331,326,296,293,331,286,316,286,316,293,331,241,323,148,316,128,304,131,265,344,36,323,27,324,10,324,10,323,27,303,20,324,10,303,20,302,2,302,2,303,20,283,16,302,2,283,16,281,-2,281,-2,283,16,263,13,281,-2,263,13,261,-5,261,-5,263,13,243,12,261,-5,243,12,241,-6,241,-6,243,12,196,19,241,-6,196,19,182,1,182,1,196,19,156,40,182,1,156,40,132,24,276,250,268,253,271,231,271,231,268,253,263,232,254,231,263,232,257,254,254,231,257,254,244,226,244,226,257,254,242,252,244,226,242,252,234,219,234,219,242,252,229,248,234,219,229,248,223,209,223,209,229,248,216,241,223,209,216,241,214,197,199,163,203,175,204,231,204,231,203,175,208,186,204,231,208,186,216,241,216,241,208,186,214,197,194,219,196,137,197,150,194,219,197,150,204,231,204,231,197,150,199,163,201,110,204,72,207,101,207,101,204,72,219,74,207,101,219,74,216,96,216,96,219,74,226,94,234,95,226,94,232,78,234,95,232,78,245,86,197,122,196,137,191,75,197,122,191,75,204,72,197,122,204,72,201,110,196,137,194,219,191,75,191,75,194,219,183,203,191,75,183,203,179,82,179,82,183,203,174,185,179,82,174,185,169,93,169,93,174,185,167,167,169,93,167,167,163,109,163,109,167,167,162,147,163,109,162,147,161,128,268,253,257,254,263,232,267,108,268,108,271,138,267,108,271,138,264,123,264,123,257,113,267,108,267,108,257,113,257,96,308,92,304,96,312,71,312,71,304,96,301,103,312,71,301,103,300,73,300,73,301,103,300,112,300,115,301,117,300,247,300,247,301,117,301,119,300,247,301,119,301,120,301,120,334,247,300,247,300,247,295,228,300,73,300,247,300,73,300,112,300,247,300,112,300,114,300,247,300,114,300,115,295,228,294,228,300,73,300,73,294,228,289,238,300,73,289,238,288,78,288,78,289,238,286,202,288,78,286,202,285,187,288,78,285,187,282,171,285,213,286,202,289,238,285,213,289,238,284,245,285,213,284,245,282,221,277,227,282,221,284,245,277,227,284,245,276,250,277,227,276,250,271,231,384,186,381,157,386,121,386,121,381,157,372,130,386,121,372,130,366,95,366,95,372,130,358,108,366,95,358,108,341,78,341,78,358,108,341,94,341,78,341,94,321,88,321,88,314,89,341,78,341,78,314,89,312,71,396,238,386,121,400,154,396,238,400,154,405,191,288,78,282,171,279,86,279,86,282,171,277,155,279,86,277,155,271,96,271,96,277,155,271,138,271,96,271,138,268,108,250,105,242,99,245,86,250,105,245,86,257,96,250,105,257,96,257,113,226,94,219,74,232,78,234,95,245,86,242,99,308,92,312,71,314,89,344,36,324,10,350,22,105,282,105,206,128,304, 353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,211,175,225,178,236,182,245,185,259,195,266,203,272,213,276,224,279,235,280,248,274,277,258,300,232,317,195,327,148,331,8,331,8,321,29,320,43,316,51,308,55,295,56,275,56,56,55,37,51,24,42,16,29,11,8,9,8,0,177,0,217,4,250,15,275,34,291,58,296,89,295,102,292,115,287,126,281,137,272,147,263,154,254,160,242,166,229,170,211,174,16383,16383,108,183, 55,58,73,22,72,30,72,30,72,34,70,93,70,93,72,34,73,38,70,93,73,38,74,43,174,337,76,51,99,108,174,337,99,108,108,128,108,128,99,108,230,108,108,128,230,108,224,128,224,128,230,108,306,55,224,128,306,55,184,337,246,11,242,10,353,0,353,0,242,10,235,10,353,0,235,10,226,9,259,21,258,18,353,0,353,0,258,18,256,16,353,0,256,16,253,14,253,14,250,12,353,0,353,0,250,12,246,11,261,26,353,0,330,17,261,26,330,17,321,26,261,26,321,26,314,38,261,26,314,38,306,55,261,26,306,55,260,31,306,55,230,108,251,61,306,55,251,61,254,53,306,55,254,53,257,45,306,55,257,45,259,38,306,55,259,38,260,31,174,337,108,128,166,266,174,337,166,266,224,128,174,337,224,128,184,337,70,93,55,58,72,30,70,93,74,43,75,47,70,93,75,47,76,51,70,93,76,51,174,337,340,12,330,17,353,0,340,12,353,0,353,9,260,23,259,21,353,0,260,23,353,0,261,26,107,0,107,9,94,10,107,0,94,10,84,12,107,0,84,12,44,34,107,0,44,34,33,20,107,0,33,20,22,13,107,0,22,13,7,9,107,0,7,9,7,0,44,34,84,12,77,16,44,34,77,16,73,22,44,34,73,22,55,58,353,0,226,9,226,0, 211,175,225,178,236,182,245,185,259,195,266,203,272,213,276,224,279,235,280,248,274,277,258,300,232,317,195,327,148,331,8,331,8,321,29,320,43,316,51,308,55,295,56,275,56,56,55,37,51,24,42,16,29,11,8,9,8,0,177,0,217,4,250,15,275,34,291,58,296,89,295,102,292,115,287,126,281,137,272,147,263,154,254,160,242,166,229,170,211,174,16383,16383,108,183,108,303,109,307,112,310,115,312,119,313,140,313,172,309,197,301,214,287,225,268,228,245,225,223,217,205,202,193,181,186,153,183,16383,16383,108,163,139,162,162,161,181,158,198,152,215,143,224,136,231,126,235,115,238,103,239,89,238,77,236,66,232,56,227,47,220,40,207,30,194,24,179,20,161,19,138,18,126,19,118,21,112,26,109,32,108,41,307,65,285,47,265,32,244,23,222,17,197,15,177,17,157,21,139,28,123,38,108,51,95,68,85,88,78,112,73,140,72,171,77,219,93,260,117,291,151,311,192,318,211,316,228,311,244,304,259,293,272,280,279,272,285,263,290,252,295,240,299,224,310,224,305,338,296,338,293,332,290,328,285,324,280,322,275,321,269,322,262,324,254,326,240,330,228,333,204,337,192,338,180,338,153,336,127,330,102,320,80,305,59,286,44,266,31,243,22,218,16,191,14,162,16,133,22,106,32,80,45,57,62,37,81,22,103,9,127,0,153,-4,180,-6,214,-4,245,3,273,16,297,34,316,56,8,331,8,321,27,320,40,316,47,308,51,295,52,275,52,57,51,38,48,25,40,16,27,12,8,9,8,0,148,0,178,1,206,6,231,12, 51,24,42,16,177,0,177,0,42,16,29,11,177,0,29,11,8,9,55,295,56,275,112,310,55,295,112,310,148,331,148,331,112,310,115,312,148,331,115,312,119,313,148,331,119,313,140,313,148,331,140,313,172,309,207,30,194,24,217,4,217,4,194,24,179,20,217,4,179,20,177,0,177,0,179,20,161,19,177,0,161,19,138,18,138,18,126,19,177,0,177,0,126,19,118,21,177,0,118,21,55,37,55,37,118,21,56,56,258,300,232,317,236,182,236,182,232,317,228,245,236,182,228,245,225,223,236,182,225,223,225,178,225,178,225,223,217,205,225,178,217,205,211,175,211,175,217,205,202,193,211,175,202,193,211,174,211,174,202,193,215,143,211,174,215,143,229,170,229,170,215,143,224,136,153,183,162,161,181,186,181,186,162,161,181,158,181,186,181,158,202,193,202,193,181,158,198,152,202,193,198,152,215,143,236,66,232,56,250,15,250,15,232,56,227,47,250,15,227,47,220,40,220,40,207,30,217,4,162,161,153,183,139,162,139,162,153,183,108,183,139,162,108,183,108,163,109,32,108,41,56,275,109,32,56,275,56,56,56,56,118,21,112,26,56,56,112,26,109,32,272,147,263,154,275,34,275,34,263,154,254,160,275,34,254,160,250,15,250,15,254,160,242,166,250,15,242,166,239,89,239,89,238,77,250,15,250,15,238,77,236,66,242,166,229,170,231,126,242,166,231,126,235,115,242,166,235,115,238,103,242,166,238,103,239,89,232,317,195,327,197,301,232,317,197,301,214,287,232,317,214,287,225,268,232,317,225,268,228,245,195,327,148,331,172,309,195,327,172,309,197,301,56,275,108,41,108,296,56,275,108,296,108,303,56,275,108,303,109,307,56,275,109,307,112,310,148,331,8,331,29,320,148,331,29,320,43,316,148,331,43,316,51,308,148,331,51,308,55,295,266,203,272,213,274,277,274,277,272,213,276,224,274,277,276,224,280,248,280,248,276,224,279,235,245,185,252,190,258,300,258,300,252,190,259,195,258,300,259,195,274,277,274,277,259,195,266,203,292,115,287,126,291,58,292,115,291,58,296,89,292,115,296,89,295,102,281,137,272,147,275,34,281,137,275,34,291,58,281,137,291,58,287,126,220,40,217,4,250,15,258,300,236,182,245,185,29,320,8,331,8,321,229,170,224,136,231,126,177,0,8,9,8,0,51,24,177,0,55,37, 307,65,285,47,265,32,244,23,222,17,197,15,177,17,157,21,139,28,123,38,108,51,95,68,85,88,78,112,73,140,72,171,77,219,93,260,117,291,151,311,192,318,211,316,228,311,244,304,259,293,272,280,279,272,285,263,290,252,295,240,299,224,310,224,305,338,296,338,293,332,290,328,285,324,280,322,275,321,269,322,262,324,254,326,240,330,228,333,204,337,192,338,180,338,153,336,127,330,102,320,80,305,59,286,44,266,31,243,22,218,16,191,14,162,16,133,22,106,32,80,45,57,62,37,81,22,103,9,127,0,153,-4,180,-6,214,-4,245,3,273,16,297,34,316,56,8,331,8,321,27,320,40,316,47,308,51,295,52,275,52,57,51,38,48,25,40,16,27,12,8,9,8,0,148,0,178,1,206,6,231,12,254,21,275,32,299,51,318,75,331,102,340,133,343,167,341,196,334,223,324,247,310,267,293,286,270,302,244,314,214,323,180,329,143,331,16383,16383,103,291,104,300,107,306,112,310,119,312,129,313,157,311,182,308,203,301,222,291,241,278,257,260,271,241,280,219,286,193,288,164,286,132,280,104,270,81,255,61,236,45,218,34,200,27,179,22,155,19,127,18,117,19,110,22,106,26,104,33,103,42,299,84,285,84,271,57,255,38,234,26, 62,37,73,140,72,171,72,171,80,305,62,37,62,37,80,305,59,286,62,37,59,286,45,57,45,57,59,286,44,266,45,57,44,266,32,80,32,80,44,266,31,243,32,80,31,243,22,106,22,106,31,243,22,218,22,106,22,218,16,133,16,133,22,218,16,191,16,133,16,191,14,162,78,112,81,22,85,88,85,88,81,22,103,9,85,88,103,9,95,68,95,68,103,9,108,51,123,38,108,51,127,0,123,38,127,0,139,28,139,28,127,0,153,-4,139,28,153,-4,157,21,157,21,153,-4,180,-6,157,21,180,-6,177,17,177,17,180,-6,197,15,222,17,197,15,214,-4,222,17,214,-4,245,3,73,140,62,37,81,22,73,140,81,22,78,112,108,51,103,9,127,0,254,326,259,293,262,324,262,324,259,293,272,280,262,324,272,280,269,322,269,322,272,280,275,321,280,322,275,321,279,272,280,322,279,272,285,263,275,321,272,280,279,272,228,333,228,311,240,330,240,330,228,311,244,304,240,330,244,304,247,328,247,328,244,304,259,293,247,328,259,293,254,326,216,335,204,337,211,316,216,335,211,316,228,311,216,335,228,311,228,333,204,337,192,338,211,316,211,316,192,338,192,318,151,311,192,318,153,336,151,311,153,336,127,330,310,224,305,338,299,224,299,224,305,338,296,338,299,224,296,338,295,240,295,240,296,338,293,332,295,240,293,332,290,252,290,252,293,332,290,328,290,252,290,328,285,263,285,263,290,328,285,324,285,263,285,324,280,322,316,56,307,65,297,34,297,34,307,65,285,47,297,34,285,47,273,16,273,16,285,47,265,32,273,16,265,32,245,3,245,3,265,32,244,23,245,3,244,23,222,17,197,15,180,-6,214,-4,192,318,192,338,180,338,192,318,180,338,153,336,72,171,77,219,80,305,80,305,77,219,93,260,80,305,93,260,102,320,102,320,93,260,117,291,102,320,117,291,127,330,127,330,117,291,151,311, 8,331,8,321,27,320,40,316,47,308,51,295,52,275,52,57,51,38,48,25,40,16,27,12,8,9,8,0,148,0,178,1,206,6,231,12,254,21,275,32,299,51,318,75,331,102,340,133,343,167,341,196,334,223,324,247,310,267,293,286,270,302,244,314,214,323,180,329,143,331,16383,16383,103,291,104,300,107,306,112,310,119,312,129,313,157,311,182,308,203,301,222,291,241,278,257,260,271,241,280,219,286,193,288,164,286,132,280,104,270,81,255,61,236,45,218,34,200,27,179,22,155,19,127,18,117,19,110,22,106,26,104,33,103,42,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,184,312,213,311,234,306,247,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0,273,259,271,331,6,331,6,321,25,319,38,315,45,307,49,294,50,276,50,61, 48,25,40,16,148,0,148,0,40,16,27,12,148,0,27,12,8,9,52,57,51,38,110,22,110,22,51,38,148,0,110,22,148,0,117,19,117,19,148,0,127,18,155,19,127,18,148,0,155,19,148,0,178,1,104,300,107,306,52,275,52,275,107,306,112,310,52,275,112,310,143,331,143,331,112,310,119,312,143,331,119,312,129,313,129,313,119,312,129,312,129,313,129,312,157,311,129,313,157,311,143,331,143,331,157,311,180,329,206,6,231,12,218,34,218,34,231,12,236,45,255,61,236,45,254,21,255,61,254,21,275,32,155,19,178,1,179,22,179,22,178,1,206,6,179,22,206,6,200,27,200,27,206,6,218,34,244,314,241,278,257,260,244,314,257,260,270,302,270,302,257,260,271,241,270,302,271,241,293,286,293,286,271,241,280,219,293,286,280,219,286,193,182,308,203,301,214,323,214,323,203,301,222,291,214,323,222,291,244,314,244,314,222,291,241,278,180,329,157,311,182,308,180,329,182,308,214,323,343,167,341,196,340,133,340,133,341,196,334,223,340,133,334,223,331,102,331,102,334,223,324,247,331,102,324,247,318,75,318,75,324,247,310,267,318,75,310,267,299,51,299,51,310,267,293,286,299,51,293,286,288,164,288,164,286,132,299,51,299,51,286,132,280,104,299,51,280,104,275,32,275,32,280,104,270,81,275,32,270,81,255,61,236,45,231,12,254,21,110,22,106,26,52,57,52,57,106,26,104,33,52,57,104,33,52,275,52,275,104,33,103,42,52,275,103,42,103,291,40,316,47,308,143,331,143,331,47,308,51,295,143,331,51,295,52,275,27,320,40,316,143,331,27,320,143,331,8,331,27,320,8,331,8,321,148,0,8,9,8,0,48,25,148,0,51,38,104,300,52,275,103,291,293,286,286,193,288,164, 299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,184,312,213,311,234,306,247,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0,273,259,271,331,6,331,6,321,25,319,38,315,45,307,49,294,50,276,50,61,49,40,45,25,37,16,25,12,6,9,6,0,146,0,146,9,127,12,113,16,105,24,102,37,100,56,100,164,171,164,193,162,209,158,219,150,225,136,228,115,239,115,239,232,228,232,225,212,218,198,208,190,193,185,171,184,100,184,100,292,101,300,102,306,105,310,110,311,118,312,184,312,214,311,234,306,247,297,255,282,261,259,354,177,227,177,227,168,246,166,259,162,267,154, 45,24,38,16,276,0,276,0,38,16,25,12,276,0,25,12,6,9,49,294,50,275,106,310,49,294,106,310,45,307,45,307,106,310,111,312,45,307,111,312,271,331,271,331,111,312,118,312,45,24,117,21,49,37,49,37,117,21,108,25,49,37,108,25,50,57,50,57,108,25,102,31,50,57,102,31,50,275,50,275,102,31,100,42,50,275,100,42,100,294,100,184,100,164,176,164,100,184,176,164,176,184,198,185,176,184,198,162,198,185,198,162,213,190,213,190,198,162,213,158,213,190,213,158,222,198,222,198,213,158,222,150,222,198,222,150,229,212,229,212,222,150,229,136,229,212,229,136,233,232,233,232,229,136,233,115,233,232,233,115,244,115,271,331,118,312,184,312,271,331,184,312,213,311,271,331,213,311,234,306,271,331,234,306,247,297,271,331,247,297,255,282,271,331,255,282,261,259,271,331,261,259,273,259,50,275,100,294,101,302,50,275,101,302,103,307,50,275,103,307,106,310,271,331,6,331,25,320,271,331,25,320,38,315,271,331,38,315,45,307,255,38,234,26,276,0,276,0,234,26,206,20,276,0,206,20,169,18,276,0,299,84,285,84,276,0,285,84,271,57,276,0,271,57,255,38,276,0,169,18,151,18,276,0,151,18,132,19,276,0,132,19,117,21,276,0,117,21,45,24,276,0,6,9,6,0,25,320,6,331,6,321,176,184,176,164,198,162,233,232,244,115,244,232, 273,259,271,331,6,331,6,321,25,319,38,315,45,307,49,294,50,276,50,61,49,40,45,25,37,16,25,12,6,9,6,0,146,0,146,9,127,12,113,16,105,24,102,37,100,56,100,164,171,164,193,162,209,158,219,150,225,136,228,115,239,115,239,232,228,232,225,212,218,198,208,190,193,185,171,184,100,184,100,292,101,300,102,306,105,310,110,311,118,312,184,312,214,311,234,306,247,297,255,282,261,259,354,177,227,177,227,168,246,166,259,162,267,154,270,142,271,122,271,44,268,34,259,25,244,19,226,14,204,13,161,19,124,39,97,69,79,111,73,162,75,191,79,219,86,244,97,266,112,283,125,295,140,305,157,312,175,317,195,318,211,317,227,314,242,308,256,300,268,291,276,282,283,273,290,262,296,249,304,233,315,233,311,338,300,338,298,333,294,328,289,325,283,322,277,321,274,322,270,322,266,323,261,325, 38,315,45,307,271,331,271,331,45,307,110,311,271,331,110,311,118,312,271,331,118,312,184,312,271,331,184,312,214,311,50,276,102,37,100,56,100,184,100,164,171,164,100,184,171,164,171,184,193,185,171,184,193,162,193,185,193,162,208,190,208,190,193,162,209,158,208,190,209,158,218,198,218,198,209,158,219,150,218,198,219,150,225,212,225,212,219,150,225,136,225,212,225,136,228,232,228,232,225,136,228,115,228,232,228,115,239,115,271,331,214,311,234,306,271,331,234,306,247,297,271,331,247,297,255,282,271,331,255,282,261,259,271,331,261,259,273,259,50,276,100,56,100,292,50,276,100,292,101,300,50,276,101,300,102,306,50,276,102,306,105,310,50,276,105,310,49,294,110,311,45,307,49,294,110,311,49,294,105,310,25,319,38,315,271,331,25,319,271,331,6,331,25,319,6,331,6,321,146,0,146,9,127,12,146,0,127,12,113,16,146,0,113,16,49,40,146,0,49,40,45,25,146,0,45,25,37,16,146,0,37,16,25,12,146,0,25,12,6,9,146,0,6,9,6,0,50,61,49,40,113,16,50,61,113,16,105,24,50,61,105,24,102,37,50,61,102,37,50,276,171,184,171,164,193,162,228,232,239,115,239,232, 354,177,227,177,227,168,246,166,259,162,267,154,270,142,271,122,271,44,268,34,259,25,244,19,226,14,204,13,161,19,124,39,97,69,79,111,73,162,75,191,79,219,86,244,97,266,112,283,125,295,140,305,157,312,175,317,195,318,211,317,227,314,242,308,256,300,268,291,276,282,283,273,290,262,296,249,304,233,315,233,311,338,300,338,298,333,294,328,289,325,283,322,277,321,274,322,270,322,266,323,261,325,256,326,243,331,230,334,218,336,204,338,189,338,161,336,135,331,111,322,89,310,70,295,51,275,36,251,25,225,19,195,16,164,18,135,23,110,31,86,42,65,57,46,79,28,105,13,133,2,162,-4,193,-6,223,-5,251,0,278,6,301,16,320,28,320,128,321,144,324,156,330,162,340,166,354,168,352,0,352,9,333,12,320,17,312,25,308,37,307,55,307,274,308,293,312,307,320,315,333,319,352,321,352,331,211,331,211,321,231,319,244,315,251,307,255,294,256,274,256,180,104,180,104,274,106,294,110,307,118,315,130,319,149,321,149,331,9,331,9,321,28,319,41,315,49,307,53,294,54,274,54,61,53,39,49,25,42,16,29,12,9,9,9,0,148,0,148,9,129,12,117,17,109,25,105,38,104,56,104,157,256,157,256,62,255,41,252,26,244,17,232,12,212,9,212,0,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,177,331, 16,164,18,135,19,195,19,195,18,135,23,110,19,195,23,110,25,225,25,225,23,110,31,86,25,225,31,86,36,251,36,251,31,86,42,65,36,251,42,65,51,275,51,275,42,65,57,46,51,275,57,46,70,295,70,295,57,46,73,162,157,312,161,336,140,305,140,305,161,336,135,331,140,305,135,331,125,295,125,295,135,331,112,283,97,266,112,283,111,322,97,266,111,322,89,310,89,310,70,295,75,191,89,310,75,191,79,219,89,310,79,219,86,244,89,310,86,244,97,266,193,-6,204,13,162,-4,162,-4,204,13,161,19,162,-4,161,19,133,2,133,2,161,19,124,39,133,2,124,39,105,13,105,13,124,39,97,69,105,13,97,69,79,28,79,28,97,69,79,111,79,28,79,111,73,162,259,25,244,19,251,0,251,0,244,19,226,14,251,0,226,14,223,-5,223,-5,226,14,204,13,73,162,57,46,79,28,268,291,266,323,261,325,268,291,261,325,256,300,268,291,270,322,266,323,204,338,195,318,211,317,204,338,211,317,218,336,218,336,211,317,227,314,218,336,227,314,230,334,230,334,227,314,242,308,230,334,242,308,243,331,243,331,242,308,256,300,243,331,256,300,256,326,256,326,256,300,261,325,270,322,276,282,274,322,274,322,276,282,277,321,283,322,277,321,283,273,283,322,283,273,290,262,268,291,276,282,270,322,304,233,315,233,311,338,304,233,311,338,300,338,304,233,300,338,298,333,304,233,298,333,296,249,294,328,289,325,290,262,294,328,290,262,296,249,294,328,296,249,298,333,277,321,276,282,283,273,340,166,354,168,354,177,340,166,354,177,330,162,330,162,354,177,270,142,330,162,270,142,271,122,278,6,271,122,271,44,278,6,271,44,268,34,330,162,271,122,324,156,324,156,271,122,278,6,324,156,278,6,321,144,321,144,278,6,301,16,321,144,301,16,320,128,320,128,301,16,320,28,354,177,227,177,246,166,354,177,246,166,259,162,354,177,259,162,267,154,354,177,267,154,270,142,259,25,251,0,278,6,259,25,278,6,268,34,189,338,161,336,175,317,189,338,175,317,195,318,189,338,195,318,204,338,135,331,111,322,112,283,161,336,157,312,175,317,223,-5,204,13,193,-6,246,166,227,177,227,168,283,322,290,262,289,325,75,191,70,295,73,162, 352,0,352,9,333,12,320,17,312,25,308,37,307,55,307,274,308,293,312,307,320,315,333,319,352,321,352,331,211,331,211,321,231,319,244,315,251,307,255,294,256,274,256,180,104,180,104,274,106,294,110,307,118,315,130,319,149,321,149,331,9,331,9,321,28,319,41,315,49,307,53,294,54,274,54,61,53,39,49,25,42,16,29,12,9,9,9,0,148,0,148,9,129,12,117,17,109,25,105,38,104,56,104,157,256,157,256,62,255,41,252,26,244,17,232,12,212,9,212,0,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,177,331,33,331,33,321,54,319,67,315,75,308,79,295,80,275,80,47,79,34,78,24,75,17,69,13,61,12,56,13,53,16,51,21,48,27,46,34,42,41,38,47,33,52,28,54,22,55,14,54,7,50,2,44,-1,37,-2,29,0,16,6,6,17,0,31,-5, 49,25,42,16,148,0,148,0,42,16,29,12,148,0,29,12,9,9,149,331,9,331,28,319,149,331,28,319,41,315,149,331,41,315,49,307,149,331,49,307,53,294,149,331,53,294,118,315,149,331,118,315,130,319,149,331,130,319,149,321,54,274,105,38,104,56,104,180,104,157,256,157,104,180,256,157,256,180,256,180,256,157,312,25,256,180,312,25,308,37,54,274,104,56,104,274,54,274,104,274,106,294,54,274,106,294,110,307,54,274,110,307,118,315,54,274,118,315,53,294,252,26,244,17,352,0,352,0,244,17,232,12,352,0,232,12,212,9,333,319,352,321,352,331,333,319,352,331,320,315,320,315,352,331,255,294,320,315,255,294,256,274,308,37,256,274,256,180,307,55,307,274,256,274,256,274,307,274,308,293,256,274,308,293,312,307,352,331,211,331,231,319,352,331,231,319,244,315,352,331,244,315,251,307,352,331,251,307,255,294,352,0,352,9,333,12,352,0,333,12,320,17,352,0,320,17,255,41,352,0,255,41,252,26,256,62,255,41,320,17,256,62,320,17,312,25,256,62,312,25,256,157,148,0,148,9,129,12,148,0,129,12,117,17,148,0,117,17,53,39,148,0,53,39,49,25,54,61,53,39,117,17,54,61,117,17,109,25,54,61,109,25,105,38,54,61,105,38,54,274,148,0,9,9,9,0,352,0,212,9,212,0,256,274,308,37,307,55,231,319,211,331,211,321,320,315,256,274,312,307,28,319,9,331,9,321, 157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,177,331,33,331,33,321,54,319,67,315,75,308,79,295,80,275,80,47,79,34,78,24,75,17,69,13,61,12,56,13,53,16,51,21,48,27,46,34,42,41,38,47,33,52,28,54,22,55,14,54,7,50,2,44, 52,23,44,15,157,0,157,0,44,15,30,11,157,0,30,11,9,9,157,331,9,331,30,320,157,331,30,320,44,316,157,331,44,316,53,308,157,331,53,308,57,295,157,331,57,295,122,316,157,331,122,316,136,320,157,331,136,320,157,321,122,16,114,24,57,56,57,56,114,24,109,37,57,56,109,37,57,276,57,276,109,37,108,56,57,276,108,56,108,276,57,276,108,276,109,295,57,276,109,295,113,308,57,276,113,308,122,316,57,276,122,316,57,295,157,0,157,9,137,11,157,0,137,11,122,16,157,0,122,16,56,36,157,0,56,36,52,23,157,0,9,9,9,0,56,36,122,16,57,56,30,320,9,331,9,321, 177,331,33,331,33,321,54,319,67,315,75,308,79,295,80,275,80,47,79,34,78,24,75,17,69,13,61,12,56,13,53,16,51,21,48,27,46,34,42,41,38,47,33,52,28,54,22,55,14,54,7,50,2,44,-1,37,-2,29,0,16,6,6,17,0,31,-5,47,-6,76,-2,100,8,117,28,128,56,131,93,131,275,132,294,136,307,143,315,157,319,177,321,362,0,362,9,349,11,336,16,322,25,305,41,283,64,166,192,259,281,278,298,292,309,305,316,320,320,338,321,338,331,208,331,208,321,220,321,229,320,235,318,238,315,240,311,241,305,239,298,234,289,226,280,202,256,113,174,113,293,117,307,124,315,137,319,158,321,158,331,17,331,17,321,37,319,50,315,57,306,61,293,62,275,62,63,61,40,57,26,50,17, 78,24,75,17,76,-2,76,-2,75,17,69,13,76,-2,69,13,61,12,61,12,56,13,76,-2,76,-2,56,13,47,-6,157,319,177,321,177,331,157,319,177,331,143,315,143,315,177,331,79,295,143,315,79,295,80,275,100,8,80,275,80,47,100,8,80,47,79,34,131,275,132,294,117,28,131,275,117,28,128,56,131,275,128,56,131,93,132,294,136,307,80,275,132,294,80,275,100,8,132,294,100,8,117,28,177,331,33,331,54,319,177,331,54,319,67,315,177,331,67,315,75,308,177,331,75,308,79,295,78,24,76,-2,100,8,78,24,100,8,79,34,47,-6,56,13,53,16,47,-6,53,16,51,21,47,-6,51,21,48,27,47,-6,48,27,46,34,47,-6,46,34,42,41,47,-6,42,41,38,47,47,-6,38,47,33,52,47,-6,33,52,31,-5,33,52,28,54,31,-5,31,-5,28,54,22,55,31,-5,22,55,17,0,17,0,22,55,14,54,17,0,14,54,7,50,17,0,7,50,6,6,6,6,7,50,2,44,6,6,2,44,0,16,0,16,2,44,-1,37,0,16,-1,37,-2,29,54,319,33,331,33,321,143,315,80,275,136,307, 362,0,362,9,349,11,336,16,322,25,305,41,283,64,166,192,259,281,278,298,292,309,305,316,320,320,338,321,338,331,208,331,208,321,220,321,229,320,235,318,238,315,240,311,241,305,239,298,234,289,226,280,202,256,113,174,113,293,117,307,124,315,137,319,158,321,158,331,17,331,17,321,37,319,50,315,57,306,61,293,62,275,62,63,61,40,57,26,50,17,36,12,17,9,17,0,157,0,157,9,139,12,126,16,118,23,114,36,113,55,113,148,126,158,176,107,198,84,217,63,232,46,241,32,244,22,244,18,241,15,237,12,231,11,224,10,210,9,210,0,299,87,286,87,277,69,273,62,265,50,254,39,239,30,223,24,203,21,180,20,127,20,114,22,106,26,102,32,100,42,100,274,101,294,105,307,113,315,127,319,147,321,147,331,6,331,6,321,26,319,38,314,46,306,49,292,50,273,50,57,49,38,45,25,37,16,25,12,6,9,6,0,275,0,432,0,432,9,413,12,401,17,393,25,389,38,388,56,388,275,389,294,393,307,401,316,413,320,431,321,431,331,332,331,222,80,106,331,7,331,7,321,28,319,42,315,50,307,54,294,55,275,55,75,54,47,49,29,41,18,27,12,6,9,6,0,123,0,123,9, 158,321,158,321,137,319,137,319,158,321,158,331,137,319,158,331,124,315,124,315,158,331,61,293,124,315,61,293,62,275,114,36,62,275,62,63,114,36,62,63,118,23,118,23,62,63,126,16,62,275,114,36,113,55,113,174,113,148,126,158,113,174,126,158,202,256,202,256,126,158,166,192,202,256,166,192,259,281,62,275,113,55,113,274,62,275,113,274,113,293,62,275,113,293,117,307,62,275,117,307,124,315,158,331,17,331,37,319,158,331,37,319,50,315,158,331,50,315,57,306,158,331,57,306,61,293,234,289,226,280,259,281,259,281,226,280,215,269,259,281,215,269,202,256,338,331,208,331,220,321,338,331,220,321,229,320,338,331,229,320,235,318,338,331,235,318,238,315,338,331,238,315,240,311,338,331,240,311,241,305,338,331,241,305,305,316,338,331,305,316,320,320,338,331,320,320,338,321,241,305,259,281,278,298,241,305,278,298,292,309,241,305,292,309,305,316,239,298,234,289,259,281,239,298,259,281,241,305,241,15,237,12,362,0,362,0,237,12,231,11,362,0,231,11,224,10,244,22,362,0,336,16,244,22,336,16,322,25,244,22,322,25,305,41,244,22,305,41,283,64,244,22,283,64,241,32,283,64,166,192,176,107,283,64,176,107,198,84,283,64,198,84,217,63,283,64,217,63,232,46,283,64,232,46,241,32,349,11,336,16,362,0,349,11,362,0,362,9,244,18,241,15,362,0,244,18,362,0,244,22,210,9,210,0,362,0,210,9,362,0,224,10,157,0,157,9,139,12,157,0,139,12,126,16,157,0,126,16,61,40,157,0,61,40,57,26,157,0,57,26,50,17,157,0,50,17,36,12,157,0,36,12,17,9,157,0,17,9,17,0,61,40,126,16,62,63,176,107,166,192,126,158,220,321,208,331,208,321,37,319,17,331,17,321, 299,87,286,87,277,69,273,62,265,50,254,39,239,30,223,24,203,21,180,20,127,20,114,22,106,26,102,32,100,42,100,274,101,294,105,307,113,315,127,319,147,321,147,331,6,331,6,321,26,319,38,314,46,306,49,292,50,273,50,57,49,38,45,25,37,16,25,12,6,9,6,0,275,0,432,0,432,9,413,12,401,17,393,25,389,38,388,56,388,275,389,294,393,307,401,316,413,320,431,321,431,331,332,331,222,80,106,331,7,331,7,321,28,319,42,315,50,307,54,294,55,275,55,75,54,47,49,29,41,18,27,12,6,9,6,0,123,0,123,9,103,12,90,18,82,29,78,48, 147,321,147,321,127,319,127,319,147,321,147,331,127,319,147,331,113,315,113,315,147,331,49,292,113,315,49,292,50,273,102,32,50,273,50,57,102,32,50,57,106,26,106,26,50,57,49,38,106,26,49,38,114,22,114,22,49,38,45,25,114,22,45,25,127,20,127,20,45,25,275,0,127,20,275,0,146,20,146,20,275,0,180,20,100,42,100,274,50,273,50,273,100,274,101,294,50,273,101,294,105,307,147,331,6,331,26,319,147,331,26,319,38,314,147,331,38,314,46,306,147,331,46,306,49,292,277,69,273,62,275,0,275,0,273,62,269,56,275,0,269,56,265,50,265,50,254,39,275,0,275,0,254,39,239,30,275,0,239,30,223,24,299,87,286,87,281,77,299,87,281,77,277,69,299,87,277,69,275,0,203,21,180,20,275,0,203,21,275,0,223,24,275,0,45,25,37,16,275,0,37,16,25,12,275,0,25,12,6,9,275,0,6,9,6,0,50,273,102,32,100,42,26,319,6,331,6,321,113,315,50,273,105,307, 432,0,432,9,413,12,401,17,393,25,389,38,388,56,388,275,389,294,393,307,401,316,413,320,431,321,431,331,332,331,222,80,106,331,7,331,7,321,28,319,42,315,50,307,54,294,55,275,55,75,54,47,49,29,41,18,27,12,6,9,6,0,123,0,123,9,103,12,90,18,82,29,78,48,76,75,76,275,203,0,209,0,337,286,337,61,336,40,333,26,325,17,312,12,292,9,292,0,353,331,235,331,235,321,247,320,256,319,263,317,275,309,278,303,281,295,283,285,284,274,284,89,91,331,6,331,6,321,19,321,29,318,37,313,46,306,55,295,55,75,54,48,49,30,41,19,27,13,6,9,6,0,123,0,123,9,103,13,90,20,82,31,78,49,76,75,76,269,297,-5,306,-5,306,274,308,289,311,299,315,307,320,313,324,315,329,318,335,319,343,320,353,321,344,166,336,222, 49,29,41,18,123,0,123,0,41,18,27,12,123,0,27,12,6,9,333,26,325,17,432,0,432,0,325,17,312,12,432,0,312,12,292,9,413,320,431,321,431,331,413,320,431,331,401,316,401,316,431,331,337,286,401,316,337,286,393,307,393,307,337,286,389,294,401,17,393,25,337,61,337,61,393,25,389,38,337,61,389,38,337,286,337,286,389,38,388,56,337,286,388,56,388,275,203,0,209,0,222,80,222,80,209,0,337,286,222,80,337,286,332,331,332,331,337,286,431,331,106,331,7,331,28,319,106,331,28,319,42,315,106,331,42,315,50,307,106,331,50,307,54,294,106,331,54,294,55,275,106,331,55,275,76,275,106,331,76,275,203,0,106,331,203,0,222,80,76,75,76,275,55,275,76,75,55,275,78,48,78,48,55,275,55,75,78,48,55,75,82,29,82,29,55,75,54,47,82,29,54,47,90,18,90,18,54,47,49,29,90,18,49,29,123,0,432,0,432,9,413,12,432,0,413,12,401,17,432,0,401,17,336,40,432,0,336,40,333,26,103,12,90,18,123,0,103,12,123,0,123,9,123,0,6,9,6,0,432,0,292,9,292,0,336,40,401,17,337,61,28,319,7,331,7,321,389,294,337,286,388,275, 353,331,235,331,235,321,247,320,256,319,263,317,275,309,278,303,281,295,283,285,284,274,284,89,91,331,6,331,6,321,19,321,29,318,37,313,46,306,55,295,55,75,54,48,49,30,41,19,27,13,6,9,6,0,123,0,123,9,103,13,90,20,82,31,78,49,76,75,76,269,297,-5,306,-5,306,274,308,289,311,299,315,307,320,313,324,315,329,318,335,319,343,320,353,321,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269, 49,30,41,19,123,0,123,0,41,19,27,13,123,0,27,13,6,9,256,319,263,317,353,331,353,331,263,317,269,313,353,331,269,313,275,309,275,309,278,303,353,331,353,331,278,303,281,295,353,331,281,295,324,315,324,315,281,295,320,313,324,315,320,313,320,312,320,312,320,313,315,307,315,307,320,313,284,274,315,307,284,274,284,259,297,-5,284,259,284,89,297,-5,284,89,91,331,353,331,324,315,329,318,353,331,329,318,335,319,353,331,335,319,343,320,353,331,343,320,353,321,306,-5,306,253,297,-5,297,-5,306,253,306,274,297,-5,306,274,284,259,284,259,306,274,308,289,284,259,308,289,311,299,283,285,284,274,320,313,283,285,320,313,281,295,247,320,256,319,353,331,247,320,353,331,235,331,247,320,235,331,235,321,91,331,6,331,19,321,91,331,19,321,29,318,91,331,29,318,37,313,91,331,37,313,46,306,91,331,46,306,55,295,91,331,55,295,76,269,91,331,76,269,297,-5,55,295,78,49,76,75,54,48,49,30,90,20,90,20,49,30,123,0,90,20,123,0,103,13,103,13,123,0,123,9,55,75,54,48,82,31,55,75,82,31,78,49,55,75,78,49,55,295,123,0,6,9,6,0,54,48,90,20,82,31,19,321,6,331,6,321,76,269,55,295,76,75,315,307,284,259,311,299, 344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,8,331,8,321,27,319,39,315,46,307,49,294,50,276,50,39,47,25,40,16,27,12,8,9,8,0,148,0,148,9,128,12,114,16,106,24,102,37,101,56,101,146,109,145,115,145,122,144,136,144,164,145,188,147,208,153,225,161,243,175,253,185,260,197,266,210,270,225,271,240,270,254,267,268,262,280,255,291,246,300,231,310,213,319,191,325,166,329,137,331,16383,16383,101,295,101,302,103,307,106,310,111,312,118,313,155,310,182,302,202,288,213,266,217,238,213,213,202,192,185,177,162,167,132,164,120,164, 149,314,180,338,134,308,134,308,180,338,126,330,134,308,126,330,121,298,121,298,126,330,108,286,97,269,108,286,126,330,97,269,126,330,81,307,81,102,81,24,90,75,90,75,81,24,126,1,90,75,126,1,103,52,103,52,126,1,119,33,130,25,119,33,126,1,130,25,126,1,180,-6,207,316,235,330,194,319,194,319,235,330,180,320,164,318,180,320,180,338,164,318,180,338,149,314,81,307,46,271,46,61,81,307,46,61,74,166,81,307,74,166,76,194,81,307,76,194,80,222,81,307,80,222,87,247,81,307,87,247,97,269,81,102,76,132,81,24,81,24,76,132,74,166,24,109,46,61,46,271,24,109,46,271,24,224,24,109,24,224,17,167,223,19,209,15,234,1,234,1,209,15,196,12,234,1,196,12,181,11,181,11,167,12,180,-6,180,-6,167,12,154,15,180,-6,154,15,142,19,207,316,219,311,235,330,235,330,219,311,231,305,235,330,231,305,242,296,242,296,257,279,280,306,280,306,257,279,270,257,280,306,270,257,279,231,235,330,180,338,180,320,280,103,272,76,279,24,279,24,272,76,260,53,279,24,260,53,246,35,246,35,235,26,279,24,279,24,235,26,234,1,344,166,336,222,336,108,336,108,336,222,314,269,336,108,314,269,314,60,314,60,314,269,287,169,285,201,287,169,314,269,285,201,314,269,280,306,285,201,280,306,279,231,280,306,235,330,242,296,314,60,287,169,285,134,314,60,285,134,280,103,314,60,280,103,279,24,181,11,180,-6,234,1,81,24,74,166,46,61,223,19,234,1,235,26,130,25,180,-6,142,19, 8,331,8,321,27,319,39,315,46,307,49,294,50,276,50,39,47,25,40,16,27,12,8,9,8,0,148,0,148,9,128,12,114,16,106,24,102,37,101,56,101,146,109,145,115,145,122,144,136,144,164,145,188,147,208,153,225,161,243,175,253,185,260,197,266,210,270,225,271,240,270,254,267,268,262,280,255,291,246,300,231,310,213,319,191,325,166,329,137,331,16383,16383,101,295,101,302,103,307,106,310,111,312,118,313,155,310,182,302,202,288,213,266,217,238,213,213,202,192,185,177,162,167,132,164,120,164,114,165,108,165,101,166,350,-88,350,-78,318,-74,288,-65,261,-51,236,-30,213,-2,232,1,248,6,263,12,277,21,290,32,309,54,324,77,335,104,342,133,344,166,336,224,314,272,279,308,234,330,180,338,127,330,82,308,47,272,25,224,17,166,18,140,23,115,31,92,42,70,55,50,67,36,79,25,94,16,111,7,132,0,153,-25,177,-48,206,-66,241,-78,282,-85,326,-88,16383,16383,287,169,285,139,281,111,275,85,266,64,255,47,243,35,230,25,215,18,198,13,180,11,163,13,146,18,129,26,115,37,103,50,93,68,85,89,79,113,75,139,74,167,76,196, 111,312,118,312,118,313,137,331,118,313,155,310,137,331,155,310,166,329,166,329,155,310,182,302,166,329,182,302,191,325,191,325,182,302,202,288,191,325,202,288,213,319,213,319,202,288,213,266,213,319,213,266,231,310,231,310,213,266,217,238,231,310,217,238,225,161,225,161,213,213,208,153,208,153,213,213,202,192,208,153,202,192,188,147,188,147,202,192,185,177,188,147,185,177,164,145,164,145,185,177,162,167,164,145,162,167,136,144,136,144,162,167,132,164,136,144,132,164,128,144,128,144,132,164,126,164,128,144,126,164,122,144,122,144,126,164,120,164,122,144,120,164,115,145,115,145,120,164,114,165,115,145,114,165,109,145,109,145,114,165,108,165,109,145,108,165,101,166,101,56,101,166,50,276,101,56,50,276,102,37,102,37,50,276,50,61,101,166,101,146,109,145,271,240,270,254,270,225,270,225,270,254,267,268,270,225,267,268,266,210,266,210,267,268,262,280,266,210,262,280,260,197,260,197,262,280,255,291,260,197,255,291,253,185,253,185,255,291,246,300,253,185,246,300,243,175,243,175,246,300,231,310,243,175,231,310,225,161,137,331,8,331,27,319,137,331,27,319,39,315,137,331,39,315,46,307,137,331,46,307,49,294,137,331,49,294,50,276,137,331,50,276,106,310,137,331,106,310,111,312,137,331,111,312,118,313,101,295,101,302,50,276,101,295,50,276,101,166,103,307,106,310,50,276,103,307,50,276,101,302,148,0,148,9,128,12,148,0,128,12,114,16,148,0,114,16,50,39,148,0,50,39,47,25,148,0,47,25,40,16,148,0,40,16,27,12,148,0,27,12,8,9,148,0,8,9,8,0,50,61,50,39,114,16,50,61,114,16,106,24,50,61,106,24,102,37,27,319,8,331,8,321,213,213,225,161,217,238,155,310,118,313,118,312, 350,-88,350,-78,318,-74,288,-65,261,-51,236,-30,213,-2,232,1,248,6,263,12,277,21,290,32,309,54,324,77,335,104,342,133,344,166,336,224,314,272,279,308,234,330,180,338,127,330,82,308,47,272,25,224,17,166,18,140,23,115,31,92,42,70,55,50,67,36,79,25,94,16,111,7,132,0,153,-25,177,-48,206,-66,241,-78,282,-85,326,-88,16383,16383,287,169,285,139,281,111,275,85,266,64,255,47,243,35,230,25,215,18,198,13,180,11,163,13,146,18,129,26,115,37,103,50,93,68,85,89,79,113,75,139,74,167,76,196,80,222,87,247,96,268,107,285,119,297,133,307,147,314,163,318,179,320,193,319,206,316,219,312,231,306,242,297,257,280,270,258,279,232,285,202,287,169,330,0,330,9,318,11,308,13,299,17,291,24,283,33,183,160,216,168,242,180,260,197,270,217,273,242,272,255,270,268,265,281,258,292,249,301,234,311,217,319,196,326,172,330,145,331,8,331,8,321,28,319,40,315,47,307,50,294,51,276,51,62,50,40,47,25,39,16,27,12,8,9,8,0,147,0,147,9,127,12,114,16,107,24,103,37,102,56,102,153,130,154,249,0,16383,16383,102,291,103,300,106,306,111,310,118,312,127,313,161,310,186,302,205,289,215,270,219,246,218,231,214,218,208,206,200,196,190,189,177,182,163,177,147,174,128,172,102,171,234,232,224,338,213,338,211,332,209,327,206,324,202,322,197,321,194,321,190,322,185,323,175,327,164,331,154,334,134,338,123,338, 79,113,79,25,85,89,85,89,79,25,94,16,85,89,94,16,93,68,93,68,94,16,103,50,115,37,103,50,111,7,115,37,111,7,132,0,79,113,75,139,79,25,79,25,75,139,74,167,67,36,74,167,76,196,67,36,76,196,55,50,55,50,76,196,82,308,55,50,82,308,47,272,147,314,180,338,133,307,133,307,180,338,127,330,133,307,127,330,119,297,119,297,127,330,107,285,96,268,107,285,127,330,96,268,127,330,82,308,129,26,132,0,146,18,146,18,132,0,153,-25,146,18,153,-25,163,13,163,13,153,-25,177,-48,163,13,177,-48,180,11,180,11,177,-48,206,-66,180,11,206,-66,198,13,234,330,180,338,193,319,193,319,180,338,179,320,163,318,179,320,180,338,163,318,180,338,147,314,206,316,219,312,234,330,234,330,219,312,231,306,234,330,231,306,242,297,242,297,257,280,279,308,279,308,257,280,270,258,279,308,270,258,279,232,232,1,248,6,243,35,243,35,248,6,255,47,266,64,255,47,263,12,266,64,263,12,277,21,236,-30,213,-2,241,-78,215,18,213,-2,232,1,215,18,232,1,230,25,230,25,232,1,243,35,206,-66,241,-78,213,-2,206,-66,213,-2,215,18,206,-66,215,18,198,13,336,224,314,272,324,77,336,224,324,77,335,104,336,224,335,104,342,133,336,224,342,133,344,166,285,139,290,32,287,169,287,169,290,32,314,272,314,272,290,32,309,54,314,272,309,54,324,77,285,202,287,169,314,272,285,202,314,272,279,308,285,202,279,308,279,232,279,308,234,330,242,297,281,111,275,85,277,21,281,111,277,21,290,32,281,111,290,32,285,139,255,47,248,6,263,12,326,-88,350,-88,350,-78,326,-88,350,-78,318,-74,326,-88,318,-74,288,-65,326,-88,288,-65,282,-85,261,-51,236,-30,241,-78,261,-51,241,-78,282,-85,261,-51,282,-85,288,-65,82,308,76,196,80,222,82,308,80,222,87,247,82,308,87,247,96,268,18,140,23,115,25,224,25,224,23,115,31,92,25,224,31,92,47,272,47,272,31,92,42,70,47,272,42,70,55,50,103,50,94,16,111,7,18,140,25,224,17,166,266,64,277,21,275,85,234,330,193,319,206,316,115,37,132,0,129,26,79,25,74,167,67,36, 330,0,330,9,318,11,308,13,299,17,291,24,283,33,183,160,216,168,242,180,260,197,270,217,273,242,272,255,270,268,265,281,258,292,249,301,234,311,217,319,196,326,172,330,145,331,8,331,8,321,28,319,40,315,47,307,50,294,51,276,51,62,50,40,47,25,39,16,27,12,8,9,8,0,147,0,147,9,127,12,114,16,107,24,103,37,102,56,102,153,130,154,249,0,16383,16383,102,291,103,300,106,306,111,310,118,312,127,313,161,310,186,302,205,289,215,270,219,246,218,231,214,218,208,206,200,196,190,189,177,182,163,177,147,174,128,172,102,171,234,232,224,338,213,338,211,332,209,327,206,324,202,322,197,321,194,321,190,322,185,323,175,327,164,331,154,334,134,338,123,338,95,334,71,323,52,305,40,281,36,251,38,232,44,214,56,196,73,180,97,165,116,154,135,142,152,130,168,118,180,107,185,100,189,93,192,85,194,77,195,67,192,49,184,33,172,21,155,14,136,11,109,15,85,25,65,42,47,67,32,99,22,99,36,-6,47,-6,48,0,50,4,53,7,57,9,61,10,64,10,79,7,84,4,96,0,107,-2,131,-6,143,-6,176,-2,204,10,226,29,240,55,246,86,243,108,233,128,218,148, 118,312,127,312,127,313,145,331,127,313,161,310,145,331,161,310,172,330,172,330,161,310,186,302,172,330,186,302,196,326,196,326,186,302,205,289,196,326,205,289,217,319,217,319,205,289,215,270,217,319,215,270,219,246,214,218,208,206,216,168,216,168,208,206,200,196,216,168,200,196,190,189,190,189,177,182,183,160,183,160,177,182,163,177,183,160,163,177,249,0,249,0,163,177,147,174,249,0,147,174,130,154,130,154,147,174,128,172,130,154,128,172,102,171,265,281,258,292,260,197,260,197,258,292,249,301,260,197,249,301,242,180,242,180,249,301,234,311,242,180,234,311,219,246,219,246,234,311,217,319,214,218,216,168,218,231,218,231,216,168,242,180,218,231,242,180,219,246,270,217,273,242,272,255,270,217,272,255,270,268,270,217,270,268,265,281,270,217,265,281,260,197,190,189,183,160,216,168,318,11,308,13,330,0,330,0,308,13,299,17,330,0,299,17,249,0,249,0,299,17,291,24,249,0,291,24,283,33,102,56,102,171,51,276,102,56,51,276,103,37,103,37,51,276,51,62,102,171,102,153,130,154,145,331,8,331,28,319,145,331,28,319,40,315,145,331,40,315,47,307,145,331,47,307,50,294,145,331,50,294,51,276,145,331,51,276,111,310,145,331,111,310,118,312,145,331,118,312,127,313,102,291,103,300,51,276,102,291,51,276,102,171,106,306,111,310,51,276,106,306,51,276,103,300,147,0,147,9,127,12,147,0,127,12,114,16,147,0,114,16,50,40,147,0,50,40,47,25,147,0,47,25,39,16,147,0,39,16,27,12,147,0,27,12,8,9,147,0,8,9,8,0,51,62,50,40,114,16,51,62,114,16,107,24,51,62,107,24,103,37,28,319,8,331,8,321,183,160,249,0,283,33,318,11,330,0,330,9,161,310,127,313,127,312, 234,232,224,338,213,338,211,332,209,327,206,324,202,322,197,321,194,321,190,322,185,323,175,327,164,331,154,334,134,338,123,338,95,334,71,323,52,305,40,281,36,251,38,232,44,214,56,196,73,180,97,165,116,154,135,142,152,130,168,118,180,107,185,100,189,93,192,85,194,77,195,67,192,49,184,33,172,21,155,14,136,11,109,15,85,25,65,42,47,67,32,99,22,99,36,-6,47,-6,48,0,50,4,53,7,57,9,61,10,64,10,79,7,84,4,96,0,107,-2,131,-6,143,-6,176,-2,204,10,226,29,240,55,246,86,243,108,233,128,218,148,196,166,168,185,139,202,114,218,95,234,83,251,79,270,81,286,88,299,98,309,112,315,129,318,146,316,162,310,177,302,190,291,201,278,206,271,211,263,215,254,218,244,222,232,296,246,293,331,12,331,8,246,21,246,27,274,37,292,50,303,70,309,97,310,127,310,127,61,126,39,123,25,115,16,101,12,80,9,80,0,226,0,226,9,205,11,192,16,183,23,179,36,178,55,178,310,208,310,235,309,254,303,268,292,277,274,285,246,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314,128,319,148,321,148,331,7,331,7,321,27,319,40,315,47,308,51,297,52,280,52,124,53,95,58,69,66,48,78,30,93,16,106,8,121,1,138,-3,157,-5,177,-6,204,-5,227,0,247,6,264,17,278,30,290,45, 50,4,53,7,65,42,65,42,53,7,57,9,65,42,57,9,61,10,61,10,64,10,65,42,65,42,64,10,69,9,65,42,69,9,85,25,85,25,69,9,74,8,85,25,74,8,79,7,95,234,83,251,97,165,97,165,83,251,79,270,73,180,79,270,71,323,73,180,71,323,56,196,56,196,71,323,52,305,56,196,52,305,44,214,44,214,52,305,40,281,44,214,40,281,38,232,38,232,40,281,36,251,81,286,88,299,95,334,95,334,88,299,98,309,95,334,98,309,123,338,123,338,98,309,112,315,123,338,112,315,129,318,129,318,146,316,134,338,134,338,146,316,144,336,81,286,95,334,71,323,81,286,71,323,79,270,134,338,123,338,129,318,144,336,146,316,154,334,154,334,146,316,162,310,154,334,162,310,164,331,164,331,162,310,177,302,164,331,177,302,175,327,175,327,177,302,180,325,95,234,97,165,114,218,114,218,97,165,116,154,114,218,116,154,139,202,139,202,116,154,135,142,139,202,135,142,152,130,136,11,119,-4,131,-6,136,11,131,-6,143,-6,136,11,109,15,119,-4,79,7,84,4,85,25,85,25,84,4,96,0,85,25,96,0,109,15,109,15,96,0,107,-2,109,15,107,-2,119,-4,36,-6,47,-6,47,67,47,67,47,-6,48,0,47,67,48,0,65,42,65,42,48,0,50,4,32,99,22,99,36,-6,32,99,36,-6,47,67,139,202,152,130,168,185,168,185,152,130,168,118,168,185,168,118,180,107,180,107,185,100,196,166,196,166,185,100,189,93,196,166,189,93,192,85,246,86,243,108,240,55,240,55,243,108,233,128,240,55,233,128,226,29,226,29,233,128,218,148,226,29,218,148,204,10,204,10,218,148,196,166,204,10,196,166,195,67,195,67,192,49,204,10,204,10,192,49,184,33,204,10,184,33,176,-2,176,-2,184,33,172,21,176,-2,172,21,155,14,196,166,192,85,194,77,196,166,194,77,195,67,196,166,168,185,180,107,155,14,136,11,143,-6,155,14,143,-6,176,-2,190,291,201,278,194,321,194,321,201,278,197,321,202,322,197,321,201,278,190,291,194,321,190,322,190,291,190,322,185,323,190,291,185,323,180,325,190,291,180,325,177,302,224,338,213,338,215,254,224,338,215,254,218,244,224,338,218,244,222,232,224,338,222,232,234,232,206,324,206,271,209,327,209,327,206,271,211,263,209,327,211,263,211,332,211,332,211,263,215,254,211,332,215,254,213,338,202,322,201,278,206,271,202,322,206,271,206,324,97,165,79,270,73,180, 296,246,293,331,12,331,8,246,21,246,27,274,37,292,50,303,70,309,97,310,127,310,127,61,126,39,123,25,115,16,101,12,80,9,80,0,226,0,226,9,205,11,192,16,183,23,179,36,178,55,178,310,208,310,235,309,254,303,268,292,277,274,285,246,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314, 293,331,12,331,70,309,293,331,70,309,97,310,293,331,97,310,127,310,293,331,127,310,178,310,293,331,178,310,208,310,293,331,208,310,235,309,293,331,235,309,254,303,293,331,254,303,268,292,293,331,268,292,277,274,293,331,277,274,285,246,293,331,285,246,296,246,192,16,183,23,127,61,127,61,183,23,179,36,127,61,179,36,127,310,127,310,179,36,178,55,127,310,178,55,178,310,12,331,8,246,21,246,12,331,21,246,27,274,12,331,27,274,37,292,12,331,37,292,50,303,12,331,50,303,70,309,226,0,226,9,205,11,226,0,205,11,192,16,226,0,192,16,126,39,226,0,126,39,123,25,226,0,123,25,115,16,226,0,115,16,101,12,226,0,101,12,80,9,226,0,80,9,80,0,126,39,192,16,127,61, 353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314,128,319,148,321,148,331,7,331,7,321,27,319,40,315,47,308,51,297,52,280,52,124,53,95,58,69,66,48,78,30,93,16,106,8,121,1,138,-3,157,-5,177,-6,204,-5,227,0,247,6,264,17,278,30,290,45,297,62,302,81,305,104,305,258,306,282,310,300,318,311,331,318,353,321,349,331,247,331,247,321,258,321,268,319,276,316,281,310,282,301,282,295,281,289,279,282,276,274,273,265,200,80,123,252,116,269,110,283,106,292,104,300,104,305,105,310,107,314,112,317,118,319,127,320,141,321,141,331,8,331,8,321,21,320,31,316,41,307,50,291,62,267,184,-5,191,-5,302,276,311,295,319,308,328,316,338,320,349,321,466,331,368,331,368,321,381,320,391,318,397,314,401,308,402,301,402,294,401,287,399,280,397,271,394,262,331,93,259,275,255,289,253,295,252,300,251,304,253,310,257,315,265,318,276,320,290,321,290,331,157,331, 105,79,106,8,109,63,109,63,106,8,121,1,109,63,121,1,115,50,115,50,121,1,125,37,135,30,125,37,138,-3,135,30,138,-3,146,24,146,24,138,-3,157,-5,146,24,157,-5,158,19,158,19,157,-5,177,-6,158,19,177,-6,173,16,173,16,177,-6,189,15,208,16,189,15,204,-5,208,16,204,-5,227,0,103,118,103,275,93,16,103,118,93,16,104,97,104,97,93,16,106,8,104,97,106,8,105,79,125,37,121,1,138,-3,283,103,282,85,290,45,290,45,282,85,279,70,290,45,279,70,278,30,278,30,279,70,273,57,278,30,273,57,265,45,265,45,254,34,264,17,264,17,254,34,247,6,241,26,225,20,227,0,241,26,227,0,247,6,241,26,247,6,254,34,353,331,237,331,257,319,353,331,257,319,270,312,353,331,270,312,279,301,353,331,279,301,318,311,353,331,318,311,331,318,353,331,331,318,353,321,305,258,306,282,297,62,305,258,297,62,302,81,305,258,302,81,305,104,305,258,305,104,305,131,290,45,297,62,306,282,290,45,306,282,283,257,290,45,283,257,283,125,290,45,283,125,283,103,310,300,318,311,282,283,310,300,282,283,283,257,310,300,283,257,306,282,265,45,264,17,278,30,189,15,177,-6,204,-5,128,319,148,321,148,331,128,319,148,331,115,314,115,314,148,331,51,297,115,314,51,297,52,280,53,95,52,280,52,124,58,69,66,48,104,293,104,293,66,48,78,30,104,293,78,30,103,275,103,275,78,30,93,16,104,293,108,306,52,280,104,293,52,280,53,95,104,293,53,95,58,69,148,331,7,331,27,319,148,331,27,319,40,315,148,331,40,315,47,308,148,331,47,308,51,297,27,319,7,331,7,321,115,314,52,280,108,306,257,319,237,331,237,321,318,311,279,301,282,283,208,16,227,0,225,20, 349,331,247,331,247,321,258,321,268,319,276,316,281,310,282,301,282,295,281,289,279,282,276,274,273,265,200,80,123,252,116,269,110,283,106,292,104,300,104,305,105,310,107,314,112,317,118,319,127,320,141,321,141,331,8,331,8,321,21,320,31,316,41,307,50,291,62,267,184,-5,191,-5,302,276,311,295,319,308,328,316,338,320,349,321,466,331,368,331,368,321,381,320,391,318,397,314,401,308,402,301,402,294,401,287,399,280,397,271,394,262,331,93,259,275,255,289,253,295,252,300,251,304,253,310,257,315,265,318,276,320,290,321,290,331,157,331,157,321,171,320,182,317,191,309,199,295,208,273,222,236,170,94,98,282,96,288,95,293,93,298,93,311,96,316,102,319,111,321, 62,267,184,-5,62,267,62,267,184,-5,104,300,62,267,104,300,104,305,104,305,105,310,62,267,62,267,105,310,107,314,62,267,107,314,50,291,141,331,8,331,21,320,141,331,21,320,31,316,141,331,31,316,41,307,141,331,41,307,50,291,141,331,50,291,112,317,141,331,112,317,118,319,141,331,118,319,127,320,141,331,127,320,141,321,281,289,279,282,302,276,302,276,279,282,276,274,302,276,276,274,273,265,273,265,200,80,302,276,302,276,200,80,191,-5,349,331,247,331,258,321,349,331,258,321,268,319,349,331,268,319,276,316,349,331,276,316,281,310,349,331,281,310,282,301,349,331,282,301,328,316,349,331,328,316,338,320,349,331,338,320,349,321,282,301,302,276,311,295,282,301,311,295,319,308,282,301,319,308,328,316,282,295,281,289,302,276,282,295,302,276,282,301,184,-5,191,-5,200,80,184,-5,200,80,123,252,184,-5,123,252,116,269,184,-5,116,269,110,283,184,-5,110,283,106,292,184,-5,106,292,104,300,258,321,247,331,247,321,21,320,8,331,8,321,112,317,50,291,107,314, 466,331,368,331,368,321,381,320,391,318,397,314,401,308,402,301,402,294,401,287,399,280,397,271,394,262,331,93,259,275,255,289,253,295,252,300,251,304,253,310,257,315,265,318,276,320,290,321,290,331,157,331,157,321,171,320,182,317,191,309,199,295,208,273,222,236,170,94,98,282,96,288,95,293,93,298,93,311,96,316,102,319,111,321,124,321,124,331,2,331,2,321,16,320,27,314,36,303,45,286,55,262,73,210,92,157,132,49,151,-5,158,-5,235,206,251,165,267,123,299,37,315,-5,323,-5,344,61,361,111,377,158,397,212,425,286,430,299,436,308,443,314,453,318,466,321,352,0,352,9,338,12,327,16,317,22,307,32,296,46,200,184,272,272,289,292,303,305,316,314,331,319,348,321,348,331,229,331,229,321,243,320,253,319,259,316,262,311,263,305,263,301,260,296,257,290,251,282,243,272,188,202,166,234,151,255,139,272,131,286,126,297,124,306,125,312,128,316,133,319,139,320,147,321,161,321,161,331,11,331,11,321,29,319,44,312,59,299,78,276,103,242,156,164,78,66,58,42,43,26,31,17,19,12,5,9,5,0,121,0,121,9,106,11,95,13,88,17,84,21,83,26,84,31,87,38,92,46,100,57,109,70,169,145,217,74,226,60,233,48, 16,320,27,314,124,331,124,331,27,314,36,303,124,331,36,303,96,316,96,316,36,303,45,286,96,316,45,286,55,262,55,262,73,210,93,311,93,311,73,210,93,306,93,302,93,306,92,157,93,302,92,157,112,103,111,321,124,321,124,331,111,321,124,331,102,319,102,319,124,331,96,316,93,306,73,210,92,157,96,316,55,262,93,311,2,331,2,321,16,320,2,331,16,320,124,331,251,165,267,123,251,304,251,304,253,310,222,236,222,236,253,310,208,273,199,295,208,273,257,315,199,295,257,315,290,331,290,331,257,315,265,318,290,331,265,318,276,320,276,320,290,321,290,331,251,304,222,236,235,206,251,304,235,206,251,165,257,315,208,273,253,310,290,331,157,331,171,320,290,331,171,320,182,317,290,331,182,317,191,309,290,331,191,309,199,295,394,262,361,111,377,158,394,262,377,158,397,212,394,262,331,93,344,61,394,262,344,61,361,111,331,93,259,275,267,123,331,93,267,123,283,80,331,93,283,80,299,37,331,93,299,37,315,-5,331,93,315,-5,323,-5,331,93,323,-5,344,61,267,123,259,275,257,282,267,123,257,282,255,289,267,123,255,289,253,295,267,123,253,295,252,300,267,123,252,300,251,304,402,294,401,287,425,286,425,286,401,287,399,280,425,286,399,280,397,212,397,212,399,280,397,271,397,212,397,271,394,262,402,301,425,286,430,299,402,301,430,299,436,308,402,301,436,308,443,314,402,301,443,314,466,331,402,301,466,331,401,308,402,294,425,286,402,301,453,318,466,321,466,331,453,318,466,331,443,314,466,331,368,331,381,320,466,331,381,320,391,318,466,331,391,318,397,314,466,331,397,314,401,308,170,94,98,282,112,103,170,94,112,103,132,49,170,94,132,49,151,-5,170,94,151,-5,158,-5,170,94,158,-5,235,206,170,94,235,206,222,236,112,103,98,282,96,288,112,103,96,288,95,293,112,103,95,293,93,298,112,103,93,298,93,302,381,320,368,331,368,321,171,320,157,331,157,321, 352,0,352,9,338,12,327,16,317,22,307,32,296,46,200,184,272,272,289,292,303,305,316,314,331,319,348,321,348,331,229,331,229,321,243,320,253,319,259,316,262,311,263,305,263,301,260,296,257,290,251,282,243,272,188,202,166,234,151,255,139,272,131,286,126,297,124,306,125,312,128,316,133,319,139,320,147,321,161,321,161,331,11,331,11,321,29,319,44,312,59,299,78,276,103,242,156,164,78,66,58,42,43,26,31,17,19,12,5,9,5,0,121,0,121,9,106,11,95,13,88,17,84,21,83,26,84,31,87,38,92,46,100,57,109,70,169,145,217,74,226,60,233,48,238,38,241,31,242,25,241,20,238,16,233,14,226,12,217,11,204,9,204,0,352,331,243,331,243,321,256,321,266,319,272,316,275,312,276,306,276,302,274,294,272,290,270,285,197,174,124,285,121,289,118,294,116,299,115,304,115,308,116,312,119,316,123,318,130,320,138,321,151,321,151,331,11,331,11,321,24,319,37,313,50,299,68,277,92,243,157,147,157,61,156,39,152,25,144,16,129,12,107,9,107,0,260,0,260,9,239,11,224,15,215,23,210,36,209,55,209,151,282,266,297,288,310,303,322,313,336,319,352,321,299,88,287,88,282,72,278,59,273,49,266,40,257,33,249,28,240,24,228,21,215,20,199,19,73,19,289,324,289,331,26,331,16,246,29,246,32,260,35,271,38,279,43,287,50,295,58,301,68,306,81,309,97,311, 31,17,121,0,43,26,43,26,121,0,88,17,43,26,88,17,58,42,58,42,88,17,84,21,58,42,84,21,83,26,83,26,84,31,78,66,78,66,84,31,87,38,78,66,87,38,156,164,156,164,87,38,92,46,156,164,92,46,100,57,103,242,156,164,126,297,103,242,126,297,124,306,124,306,125,312,103,242,156,164,100,57,109,70,109,70,169,145,156,164,156,164,169,145,166,234,156,164,166,234,151,255,78,66,58,42,83,26,103,242,125,312,78,276,78,276,125,312,128,316,78,276,128,316,59,299,59,299,128,316,133,319,59,299,133,319,161,331,161,331,133,319,139,320,161,331,139,320,147,321,147,321,161,321,161,331,161,331,11,331,29,319,161,331,29,319,44,312,161,331,44,312,59,299,260,296,257,290,272,272,272,272,257,290,251,282,272,272,251,282,243,272,243,272,188,202,200,184,200,184,188,202,217,74,200,184,217,74,296,46,296,46,217,74,226,60,296,46,226,60,233,48,348,331,229,331,243,320,348,331,243,320,253,319,348,331,253,319,259,316,348,331,259,316,262,311,348,331,262,311,263,305,348,331,263,305,316,314,348,331,316,314,331,319,348,331,331,319,348,321,263,305,272,272,289,292,263,305,289,292,303,305,263,305,303,305,316,314,263,301,260,296,272,272,263,301,272,272,263,305,243,272,200,184,272,272,238,16,233,14,352,0,352,0,233,14,226,12,352,0,226,12,217,11,242,25,352,0,327,16,242,25,327,16,317,22,242,25,317,22,307,32,242,25,307,32,296,46,242,25,296,46,241,31,296,46,233,48,238,38,296,46,238,38,241,31,188,202,166,234,169,145,188,202,169,145,217,74,338,12,327,16,352,0,338,12,352,0,352,9,241,20,238,16,352,0,241,20,352,0,242,25,204,9,204,0,352,0,204,9,352,0,217,11,156,164,151,255,139,272,156,164,139,272,131,286,156,164,131,286,126,297,121,0,121,9,106,11,121,0,106,11,95,13,121,0,95,13,88,17,19,12,5,9,121,0,19,12,121,0,31,17,121,0,5,9,5,0,243,320,229,331,229,321,29,319,11,331,11,321, 352,331,243,331,243,321,256,321,266,319,272,316,275,312,276,306,276,302,274,294,272,290,270,285,197,174,124,285,121,289,118,294,116,299,115,304,115,308,116,312,119,316,123,318,130,320,138,321,151,321,151,331,11,331,11,321,24,319,37,313,50,299,68,277,92,243,157,147,157,61,156,39,152,25,144,16,129,12,107,9,107,0,260,0,260,9,239,11,224,15,215,23,210,36,209,55,209,151,282,266,297,288,310,303,322,313,336,319,352,321,299,88,287,88,282,72,278,59,273,49,266,40,257,33,249,28,240,24,228,21,215,20,199,19,73,19,289,324,289,331,26,331,16,246,29,246,32,260,35,271,38,279,43,287,50,295,58,301,68,306,81,309,97,311,117,312,224,312,5,7,5,0,286,0,150,-77,150,-64,108,-64,99,-63,92,-61,86,-56,83,-48,82,-38,82,295,83,304,86,311,92,315,99,318,108,319,150,319,150,331,44,331,44,-77,143,-6,29,338,-3,338,109,-6,123,-77, 121,289,118,294,157,147,157,147,118,294,116,299,157,147,116,299,92,243,92,243,116,299,115,304,92,243,115,304,115,308,115,308,116,312,92,243,151,331,11,331,24,319,151,331,24,319,37,313,151,331,37,313,50,299,151,331,50,299,123,318,151,331,123,318,130,320,151,331,130,320,138,321,151,331,138,321,151,321,123,318,50,299,119,316,119,316,50,299,68,277,119,316,68,277,116,312,116,312,68,277,92,243,209,55,209,151,197,174,209,55,197,174,210,36,210,36,197,174,157,147,210,36,157,147,215,23,215,23,157,147,157,61,215,23,157,61,224,15,224,15,157,61,156,39,224,15,156,39,260,0,260,0,156,39,152,25,260,0,152,25,144,16,275,298,274,294,282,266,282,266,274,294,272,290,282,266,272,290,270,285,270,285,197,174,209,151,352,331,243,331,256,321,352,331,256,321,266,319,352,331,266,319,272,316,352,331,272,316,275,312,352,331,275,312,276,306,352,331,276,306,322,313,352,331,322,313,336,319,352,331,336,319,352,321,276,306,282,266,297,288,276,306,297,288,310,303,276,306,310,303,322,313,282,266,276,306,276,302,282,266,276,302,275,298,270,285,209,151,282,266,239,11,224,15,260,0,239,11,260,0,260,9,129,12,107,9,260,0,129,12,260,0,144,16,124,285,121,289,157,147,124,285,157,147,197,174,260,0,107,9,107,0,256,321,243,331,243,321,24,319,11,331,11,321, 299,88,287,88,282,72,278,59,273,49,266,40,257,33,249,28,240,24,228,21,215,20,199,19,73,19,289,324,289,331,26,331,16,246,29,246,32,260,35,271,38,279,43,287,50,295,58,301,68,306,81,309,97,311,117,312,224,312,5,7,5,0,286,0,150,-77,150,-64,108,-64,99,-63,92,-61,86,-56,83,-48,82,-38,82,295,83,304,86,311,92,315,99,318,108,319,150,319,150,331,44,331,44,-77,143,-6,29,338,-3,338,109,-6,123,-77,123,331,17,331,17,319,59,319,69,318,76,314,81,309,83,301,84,291, 35,271,38,279,26,331,26,331,38,279,43,287,26,331,43,287,50,295,50,295,58,301,26,331,26,331,58,301,68,306,26,331,68,306,81,309,73,19,289,324,224,312,224,312,289,324,289,331,224,312,289,331,117,312,97,311,117,312,289,331,97,311,289,331,26,331,26,331,16,246,29,246,26,331,29,246,32,260,26,331,32,260,35,271,224,312,5,7,73,19,73,19,5,7,286,0,73,19,286,0,199,19,199,19,286,0,215,20,278,59,273,49,286,0,286,0,273,49,266,40,286,0,266,40,257,33,257,33,249,28,286,0,286,0,249,28,240,24,286,0,240,24,228,21,286,0,299,88,287,88,286,0,287,88,282,72,286,0,282,72,278,59,286,0,5,7,5,0,215,20,286,0,228,21,26,331,81,309,97,311, 150,-77,150,-64,108,-64,99,-63,92,-61,86,-56,83,-48,82,-38,82,295,83,304,86,311,92,315,99,318,108,319,150,319,150,331,44,331,44,-77,143,-6,29,338,-3,338,109,-6,123,-77,123,331,17,331,17,319,59,319,69,318,76,314,81,309,83,301,84,291,84,-50,81,-56,77,-61,70,-63, 86,311,92,315,44,331,44,331,92,315,99,318,44,331,99,318,150,331,150,331,99,318,108,319,82,-38,82,295,44,331,82,-38,44,331,44,-77,82,-38,44,-77,83,-48,83,304,86,311,44,331,83,304,44,331,82,295,150,-64,108,-64,150,-77,150,-77,108,-64,99,-63,150,-77,99,-63,44,-77,44,-77,99,-63,92,-61,44,-77,92,-61,86,-56,83,-48,44,-77,86,-56,150,331,108,319,150,319, 143,-6,29,338,-3,338,109,-6,123,-77,123,331,17,331,17,319, 143,-6,29,338,-3,338,143,-6,-3,338,109,-6, 123,-77,123,331,17,331,17,319,59,319,69,318,76,314,81,309,83,301,84,291,84,-50,81,-56,77,-61,70,-63,61,-64,17,-64,17,-77,223,148,132,331,103,331,12,148,46,148,118,293,189,148,250,-62,250,-36,0,-36,0,-62,121,253,49,328,44,332,40,335,35,337,27,339, 123,-77,123,331,84,291,123,-77,84,291,84,-41,123,-77,84,-41,84,-50,123,-77,84,-50,81,-56,123,-77,81,-56,77,-61,123,-77,77,-61,70,-63,123,-77,70,-63,61,-64,123,-77,61,-64,17,-64,123,-77,17,-64,17,-77,76,314,81,309,123,331,123,331,81,309,83,301,123,331,83,301,84,291,123,331,17,331,59,319,123,331,59,319,69,318,123,331,69,318,76,314,59,319,17,331,17,319, 223,148,132,331,103,331,12,148,46,148,118,293,189,148,250,-62,250,-36,0,-36,0,-62,121,253,49,328,44,332, 12,148,46,148,103,331,103,331,46,148,118,293,103,331,118,293,132,331,132,331,118,293,189,148,132,331,189,148,223,148, 250,-62,250,-36,0,-36,0,-62,121,253,49,328,44,332,40,335, 250,-62,250,-36,0,-36,250,-62,0,-36,0,-62, 121,253,49,328,44,332,40,335,35,337,27,339,21,338,16,336,12,333,10,329,9,323,10,318,12,314,15,309,19,305,24,301,101,253,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226, 101,253,121,253,49,328,101,253,49,328,44,332,101,253,44,332,40,335,101,253,40,335,35,337,101,253,35,337,31,338,101,253,31,338,27,339,101,253,27,339,24,301,9,323,10,318,10,329,10,329,10,318,12,314,10,329,12,314,12,333,12,333,12,314,15,309,12,333,15,309,16,336,16,336,15,309,19,305,16,336,19,305,21,338,21,338,19,305,24,301,21,338,24,301,27,339, 221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134,76,340,74,342,62,338,51,334,41,331,29,328,17,324,2,320,2,311,5,311,6,312,10,312,21,311,28,309,32,304,34,296,35,283,35,28,39,18,52,9,71,2,93,-2,117,-4,155,1,187,18,212,44,228,78,234,120,230,155,218,185,199,209,174,224,144,230,126,228,110,223,96,214,85,202,76,188,16383,16383,76,159,79,171,86,182,97,191,111,197,126,199,137,198,146,195,155,190,164,183,171,175,177,163,183,149,186,133,189,116,190,99,189,82,187,67,183,54,178,42,171,32,164,25,156,19,147,15,136,12,125,11,110,12,97,16,86,21,79,28,76,37,199,78,185,60,172,46,159,38,144,33,128,31,103,36,81,49,65,69,54,96,51,128,54,157,63,181,78,200,96,211,119,215,128,215,136,212,141,208,145,201,148,191,151,180,154,172,159,166,163,161,169,158,175,157,183,158,189,161,195,166,198,172,199,179,195,195,184,209,167,220,146,227,122,230,108,229,94,226,80,221,67,213,55,204, 37,156,43,153,44,208,44,208,43,153,50,152,44,208,50,152,54,215,54,215,50,152,57,153,54,215,57,153,63,220,63,220,57,153,63,156,63,220,63,156,73,224,73,224,63,156,70,194,71,167,70,194,68,161,111,230,104,218,117,216,111,230,117,216,127,229,127,229,117,216,128,211,127,229,128,211,140,226,140,226,128,211,136,202,140,226,136,202,142,190,76,208,83,213,85,227,85,227,83,213,93,217,85,227,93,217,98,229,98,229,93,217,104,218,98,229,104,218,111,230,73,224,70,194,71,201,73,224,71,201,76,208,73,224,76,208,85,227,70,194,63,156,68,161,29,183,29,167,32,192,32,192,29,167,33,161,32,192,33,161,37,200,37,200,33,161,37,156,37,200,37,156,44,208,184,56,184,152,184,168,184,56,184,168,183,181,184,56,183,181,180,191,184,56,180,191,186,-3,190,28,195,-1,195,25,195,25,195,-1,200,23,204,24,200,23,204,2,204,24,204,2,212,9,187,35,185,44,186,-3,187,35,186,-3,195,-1,187,35,195,-1,190,28,147,17,151,7,152,222,152,222,151,7,157,0,152,222,157,0,162,215,162,215,157,0,166,-3,162,215,166,-3,170,208,170,208,166,-3,176,-4,170,208,176,-4,176,199,176,199,176,-4,186,-3,176,199,186,-3,180,191,152,222,140,226,142,190,152,222,142,190,143,173,152,222,143,173,143,134,152,222,143,134,144,31,152,222,144,31,147,17,143,31,144,31,143,134,143,146,143,134,143,173,216,29,212,27,212,9,216,29,212,9,221,19,216,29,221,19,221,33,208,25,204,24,212,9,208,25,212,9,212,27,200,23,195,-1,204,2,143,31,143,134,143,64,143,31,143,64,143,56,143,31,143,56,142,49,143,31,142,49,138,43,143,31,138,43,133,38,143,31,133,38,128,16,128,16,133,38,126,32,126,32,121,29,128,16,128,16,121,29,115,27,128,16,115,27,113,6,113,6,115,27,109,25,113,6,109,25,103,24,99,114,111,121,114,135,114,135,111,121,126,127,114,135,126,127,143,146,143,146,126,127,143,134,65,79,68,87,75,118,75,118,68,87,73,94,75,118,73,94,79,101,79,101,88,108,92,126,92,126,88,108,99,114,92,126,99,114,114,135,92,126,75,118,79,101,72,182,71,185,71,167,72,182,71,167,73,172,72,182,73,172,72,178,70,189,70,194,71,167,70,189,71,167,71,185,63,112,54,105,54,-2,63,112,54,-2,63,63,63,112,63,63,63,71,63,112,63,71,65,79,63,112,65,79,75,118,63,63,54,-2,64,48,64,48,54,-2,71,-4,64,48,71,-4,69,38,69,38,71,-4,76,30,20,62,21,29,25,75,25,75,21,29,28,14,25,75,28,14,33,87,33,87,28,14,39,4,33,87,39,4,42,97,42,97,39,4,54,-2,42,97,54,-2,54,105,84,-3,98,0,86,25,86,25,98,0,97,24,103,24,97,24,98,0,103,24,98,0,113,6,76,30,71,-4,84,-3,76,30,84,-3,86,25,21,29,20,62,18,47,184,56,186,-3,185,44,29,167,29,183,28,175, 76,340,74,342,62,338,51,334,41,331,29,328,17,324,2,320,2,311,5,311,6,312,10,312,21,311,28,309,32,304,34,296,35,283,35,28,39,18,52,9,71,2,93,-2,117,-4,155,1,187,18,212,44,228,78,234,120,230,155,218,185,199,209,174,224,144,230,126,228,110,223,96,214,85,202,76,188,16383,16383,76,159,79,171,86,182,97,191,111,197,126,199,137,198,146,195,155,190,164,183,171,175,177,163,183,149,186,133,189,116,190,99,189,82,187,67,183,54,178,42,171,32,164,25,156,19,147,15,136,12,125,11,110,12,97,16,86,21,79,28,76,37,199,78,185,60,172,46,159,38,144,33,128,31,103,36,81,49,65,69,54,96,51,128,54,157,63,181,78,200,96,211,119,215,128,215,136,212,141,208,145,201,148,191,151,180,154,172,159,166,163,161,169,158,175,157,183,158,189,161,195,166,198,172,199,179,195,195,184,209,167,220,146,227,122,230,108,229,94,226,80,221,67,213,55,204,40,189,28,172,19,152,14,130,12,106,17,70,30,39,50,15,76,0,108,-4,120,-3,132,-1,144,3,155,9,165,16,174,24,181,32,189,43,197,57,206,74,246,21,246,29,239,29,237,28,234,28,225,29,218,32,215,37, 5,311,6,312,17,324,17,324,6,312,8,312,17,324,8,312,10,312,10,312,21,311,17,324,17,324,21,311,29,328,97,16,86,21,93,-2,93,-2,86,21,79,28,93,-2,79,28,71,2,71,2,79,28,76,37,71,2,76,37,74,342,74,342,76,37,76,188,74,342,76,188,76,340,62,338,51,334,52,9,52,9,51,334,41,331,52,9,41,331,39,18,39,18,41,331,35,283,39,18,35,283,35,28,3,311,5,311,17,324,3,311,17,324,2,320,3,311,2,320,2,311,156,19,147,15,155,1,155,1,147,15,136,12,155,1,136,12,125,11,125,11,110,12,117,-4,117,-4,110,12,97,16,117,-4,97,16,93,-2,62,338,52,9,71,2,62,338,71,2,74,342,21,311,28,309,29,328,29,328,28,309,32,304,29,328,32,304,41,331,41,331,32,304,34,296,41,331,34,296,35,283,126,228,126,199,137,198,126,228,137,198,144,230,144,230,137,198,146,195,144,230,146,195,174,224,174,224,146,195,155,190,174,224,155,190,164,183,76,159,79,171,85,202,85,202,79,171,86,182,85,202,86,182,96,214,96,214,86,182,97,191,96,214,97,191,110,223,110,223,97,191,111,197,110,223,111,197,126,228,126,228,111,197,126,199,76,159,85,202,76,188,76,159,76,188,76,37,174,224,171,175,177,163,174,224,177,163,199,209,199,209,177,163,183,149,199,209,183,149,186,133,187,67,183,54,187,18,187,18,183,54,178,42,187,18,178,42,171,32,171,32,164,25,187,18,187,18,164,25,156,19,187,18,156,19,155,1,234,120,230,155,228,78,228,78,230,155,218,185,228,78,218,185,212,44,212,44,218,185,199,209,212,44,199,209,190,99,190,99,199,209,189,116,187,67,187,18,189,82,189,82,187,18,212,44,189,82,212,44,190,99,125,11,117,-4,155,1,199,209,186,133,189,116,174,224,164,183,171,175, 199,78,185,60,172,46,159,38,144,33,128,31,103,36,81,49,65,69,54,96,51,128,54,157,63,181,78,200,96,211,119,215,128,215,136,212,141,208,145,201,148,191,151,180,154,172,159,166,163,161,169,158,175,157,183,158,189,161,195,166,198,172,199,179,195,195,184,209,167,220,146,227,122,230,108,229,94,226,80,221,67,213,55,204,40,189,28,172,19,152,14,130,12,106,17,70,30,39,50,15,76,0,108,-4,120,-3,132,-1,144,3,155,9,165,16,174,24,181,32,189,43,197,57,206,74,246,21,246,29,239,29,237,28,234,28,225,29,218,32,215,37,213,45,212,57,212,340,209,342,195,337,169,329,154,324,136,320,136,311,138,312,147,312,156,311,163,309,167,304,170,297,170,209,159,217,149,223,139,227,129,229,118,230,85,223,56,206,34,178,19,143,13,103,18,67,30,37,49,14,75,0,106,-4,122,-3,136,0,148,7,160,16,170,28,170,-2,172,-4,16383,16383,170,51,170,49,169,46,165,40,162,37,157,31,150,27,143,24,135,22,126,21,102,26,83,39,69,60,60,88,56,123, 81,49,65,69,76,0,76,0,65,69,54,96,76,0,54,96,50,15,50,15,54,96,51,128,55,204,51,128,54,157,55,204,54,157,63,181,128,31,108,-4,120,-3,128,31,120,-3,132,-1,128,31,103,36,108,-4,81,49,76,0,108,-4,81,49,108,-4,103,36,136,212,141,208,146,227,146,227,141,208,145,201,146,227,145,201,148,191,148,191,151,180,167,220,167,220,151,180,154,172,167,220,154,172,159,166,122,230,119,215,128,215,122,230,128,215,146,227,146,227,128,215,136,212,195,195,184,209,189,161,195,195,189,161,195,166,195,195,195,166,198,172,195,195,198,172,199,179,184,209,167,220,169,158,184,209,169,158,175,157,184,209,175,157,183,158,184,209,183,158,189,161,167,220,159,166,163,161,167,220,163,161,169,158,167,220,146,227,148,191,174,24,181,32,185,60,185,60,181,32,189,43,185,60,189,43,199,78,199,78,189,43,197,57,199,78,197,57,206,74,132,-1,144,3,144,33,144,33,144,3,155,9,144,33,155,9,159,38,159,38,155,9,165,16,159,38,165,16,172,46,172,46,165,16,174,24,172,46,174,24,185,60,144,33,128,31,132,-1,96,211,119,215,108,229,96,211,108,229,94,226,96,211,94,226,80,221,96,211,80,221,78,200,67,213,55,204,63,181,67,213,63,181,78,200,67,213,78,200,80,221,40,189,28,172,30,39,40,189,30,39,50,15,40,189,50,15,51,128,40,189,51,128,55,204,19,152,14,130,17,70,19,152,17,70,30,39,19,152,30,39,28,172,119,215,122,230,108,229,17,70,14,130,12,106, 246,21,246,29,239,29,237,28,234,28,225,29,218,32,215,37,213,45,212,57,212,340,209,342,195,337,169,329,154,324,136,320,136,311,138,312,147,312,156,311,163,309,167,304,170,297,170,209,159,217,149,223,139,227,129,229,118,230,85,223,56,206,34,178,19,143,13,103,18,67,30,37,49,14,75,0,106,-4,122,-3,136,0,148,7,160,16,170,28,170,-2,172,-4,16383,16383,170,51,170,49,169,46,165,40,162,37,157,31,150,27,143,24,135,22,126,21,102,26,83,39,69,60,60,88,56,123,59,154,67,180,80,199,98,212,119,216,135,213,149,206,160,195,167,181,170,166,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138,201,153,198,166,195,177,185,195,175,207,163,217,149,224,133,228,116,230,81,224,52,207,31,182,17,148,12,108,17,70,29,39,49,15,75,0,108,-4,136,-1,160,9,181,26,198,49,212,79,16383,16383,50,155,55,175,63,191,74,203,87,210,103,212,120,210,133,203,141,192,147,176,151,155,11,225,11,209,51,209,51,52,50,34,47,21,40,13,28,9,10,7,10,0,140,0,140,7,119,9,106,13,98,21,95,33,94,52,94,209,155,209, 170,209,159,217,160,195,160,195,159,217,149,223,160,195,149,223,149,206,149,206,149,223,139,227,149,206,139,227,135,213,135,213,139,227,129,229,135,213,129,229,119,216,67,180,80,199,85,223,85,223,80,199,98,212,85,223,98,212,118,230,118,230,98,212,119,216,118,230,119,216,129,229,13,103,18,67,19,143,19,143,18,67,30,37,19,143,30,37,34,178,34,178,30,37,49,14,34,178,49,14,56,206,56,206,49,14,56,123,56,206,56,123,59,154,56,206,59,154,67,180,56,206,67,180,85,223,126,21,106,-4,122,-3,126,21,122,-3,136,0,126,21,102,26,106,-4,83,39,69,60,75,0,83,39,75,0,106,-4,83,39,106,-4,102,26,60,88,56,123,49,14,60,88,49,14,75,0,60,88,75,0,69,60,169,46,167,43,170,28,170,28,167,43,165,40,170,28,165,40,162,37,162,37,157,31,160,16,160,16,157,31,150,27,160,16,150,27,148,7,148,7,150,27,143,24,148,7,143,24,136,0,136,0,143,24,135,22,136,0,135,22,126,21,140,312,142,312,154,324,154,324,142,312,145,312,154,324,145,312,147,312,147,312,156,311,154,324,154,324,156,311,169,329,154,324,136,320,138,312,154,324,138,312,140,312,170,209,170,166,170,28,170,209,170,28,170,286,170,297,170,286,182,333,170,297,182,333,169,329,170,209,160,195,167,181,170,209,167,181,170,166,172,-4,246,21,225,29,172,-4,225,29,218,32,172,-4,218,32,215,37,172,-4,215,37,213,45,172,-4,213,45,182,333,172,-4,182,333,170,28,172,-4,170,28,170,-2,170,28,170,166,170,51,170,28,170,51,170,49,170,28,170,49,169,46,162,37,160,16,170,28,212,57,212,340,209,342,212,57,209,342,195,337,212,57,195,337,213,45,239,29,237,28,246,21,246,21,237,28,235,28,246,21,235,28,234,28,234,28,225,29,246,21,241,29,239,29,246,21,241,29,246,21,246,29,169,329,156,311,163,309,169,329,163,309,167,304,169,329,167,304,170,297,138,312,136,320,136,311,182,333,170,286,170,28,182,333,213,45,195,337, 204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138,201,153,198,166,195,177,185,195,175,207,163,217,149,224,133,228,116,230,81,224,52,207,31,182,17,148,12,108,17,70,29,39,49,15,75,0,108,-4,136,-1,160,9,181,26,198,49,212,79,16383,16383,50,155,55,175,63,191,74,203,87,210,103,212,120,210,133,203,141,192,147,176,151,155,11,225,11,209,51,209,51,52,50,34,47,21,40,13,28,9,10,7,10,0,140,0,140,7,119,9,106,13,98,21,95,33,94,52,94,209,155,209,155,225,94,225,94,283,95,299,98,311,104,320,111,326,122,328,128,327,133,325,138,321,143,316,148,308,153,301,157,296,161,293,166,291,171,290,177,291,183,294,188,298,190,304,191,310,189,321,182,329,171,336,156,340,140,342,121,340,105,335,90,328,78,318,69,305,62,292, 52,100,50,118,49,15,49,15,50,118,49,138,49,15,49,138,31,182,49,15,31,182,29,39,29,39,31,182,17,148,29,39,17,148,17,70,17,70,17,148,12,108,133,228,116,230,120,210,120,210,116,230,103,212,87,210,103,212,116,230,87,210,116,230,81,224,190,62,176,48,181,26,181,26,176,48,162,37,181,26,162,37,160,9,160,9,162,37,146,31,160,9,146,31,136,-1,136,-1,146,31,127,30,203,138,201,153,198,166,203,138,198,166,195,177,203,138,195,177,190,186,203,138,190,186,185,195,203,138,185,195,175,207,203,138,175,207,163,217,203,138,163,217,151,155,203,138,151,155,50,155,203,138,50,155,49,138,141,192,147,176,149,224,149,224,147,176,151,155,149,224,151,155,163,217,198,49,212,79,204,82,198,49,204,82,190,62,198,49,190,62,181,26,114,31,101,34,108,-4,114,31,108,-4,136,-1,114,31,136,-1,127,30,101,34,90,39,108,-4,108,-4,90,39,80,47,108,-4,80,47,75,0,75,0,80,47,71,57,133,228,120,210,133,203,133,228,133,203,141,192,133,228,141,192,149,224,50,155,55,175,52,207,52,207,55,175,63,191,52,207,63,191,81,224,81,224,63,191,74,203,81,224,74,203,87,210,52,207,31,182,49,138,52,207,49,138,50,155,75,0,71,57,62,71,75,0,62,71,56,85,75,0,56,85,52,100,75,0,52,100,49,15, 11,225,11,209,51,209,51,52,50,34,47,21,40,13,28,9,10,7,10,0,140,0,140,7,119,9,106,13,98,21,95,33,94,52,94,209,155,209,155,225,94,225,94,283,95,299,98,311,104,320,111,326,122,328,128,327,133,325,138,321,143,316,148,308,153,301,157,296,161,293,166,291,171,290,177,291,183,294,188,298,190,304,191,310,189,321,182,329,171,336,156,340,140,342,121,340,105,335,90,328,78,318,69,305,62,292,57,279,54,264,52,247,51,225,235,194,235,214,185,214,180,215,175,217,169,219,158,223,134,229,126,230,118,230,91,226,68,214,51,197,39,174,35,148,36,131,41,116,50,103,63,92,81,81,77,77,72,73,60,61,51,53,44,46,40,39,37,33,36,27,37,21,40,16,44,11,52,6,63,1,44,-13,30,-26,21,-37,16,-48,14,-59,18,-75,31,-88,49,-98,73,-105,100,-108,122,-106,144,-102,165,-96,184,-87,200,-76,211,-66,220,-56,226,-46,229,-35,230,-24,228,-6,220,7,207,18,190,26, 57,279,54,264,95,33,95,33,54,264,52,247,95,33,52,247,51,209,51,209,52,247,51,225,51,209,51,225,11,225,78,318,95,33,94,52,94,225,94,209,155,209,94,225,155,209,155,225,133,325,140,342,128,327,128,327,140,342,122,328,111,326,122,328,121,340,111,326,121,340,105,335,94,283,95,299,90,328,90,328,95,299,98,311,90,328,98,311,105,335,105,335,98,311,104,320,105,335,104,320,111,326,90,328,78,318,94,52,90,328,94,52,94,283,189,321,182,329,183,294,189,321,183,294,188,298,189,321,188,298,190,304,189,321,190,304,191,310,166,291,171,290,171,336,171,336,171,290,177,291,171,336,177,291,182,329,182,329,177,291,183,294,148,308,153,301,156,340,156,340,153,301,157,296,156,340,157,296,171,336,171,336,157,296,161,293,171,336,161,293,166,291,143,316,148,308,156,340,143,316,156,340,140,342,143,316,140,342,138,321,140,342,121,340,122,328,140,0,140,7,119,9,140,0,119,9,106,13,140,0,106,13,50,34,140,0,50,34,47,21,140,0,47,21,40,13,140,0,40,13,28,9,140,0,28,9,10,7,140,0,10,7,10,0,95,33,78,318,69,305,95,33,69,305,62,292,95,33,62,292,57,279,51,52,50,34,106,13,51,52,106,13,98,21,51,52,98,21,95,33,51,52,95,33,51,209,51,209,11,225,11,209,140,342,133,325,138,321, 235,194,235,214,185,214,180,215,175,217,169,219,158,223,134,229,126,230,118,230,91,226,68,214,51,197,39,174,35,148,36,131,41,116,50,103,63,92,81,81,77,77,72,73,60,61,51,53,44,46,40,39,37,33,36,27,37,21,40,16,44,11,52,6,63,1,44,-13,30,-26,21,-37,16,-48,14,-59,18,-75,31,-88,49,-98,73,-105,100,-108,122,-106,144,-102,165,-96,184,-87,200,-76,211,-66,220,-56,226,-46,229,-35,230,-24,228,-6,220,7,207,18,190,26,170,29,105,32,91,33,80,35,72,38,68,41,66,46,68,52,73,60,80,67,88,73,97,77,106,76,111,75,125,75,136,76,146,78,157,82,167,87,177,94,186,103,194,113,199,124,202,137,203,152,203,160,202,168,200,176,194,194,16383,16383,76,169,78,185,82,198,90,208,100,214,113,216,122,215,130,212,137,207,144,201,150,193,155,181,159,169,162,157,164,145,165,132,163,117,158,104,150,95,140,89,127,87,110,91,96,102,85,118,78,141,76,167,16383,16383,217,-31,212,-47,200,-60,180,-71,153,-77,122,-79,97,-78,77,-73,62,-65,52,-55,49,-43,50,-36,52,-30,56,-22,63,-13,74,0,86,-2,102,-4,138,-6,155,-6,178,-7,196,-10,208,-14,214,-21,217,-31,243,0,243,7,230,10,221,15,216,22,214,34,214,151,211,179,204,201,191,217,174,227,152,230,135,228,120,224,106,216,92,204,79,188,79,340,76,342,66,338,46,332,34,328,18,324,5,320,5,311,6,312,11,312,22,311,29,309,34,305,36,297,36,33,33,22,28,15,19,10,4,7,4,0,113,0,113,7,98,10,88,14,82,22,79,34,79,171,90,184,101,193,112,199,123,202,134,203,148,201,158,195,165,184,170,169,171,150,171,34,168,22,162,14,152,10,137,7,137,0,90,316,89,324,85,331,80,337,73,340,65,342,56,340,49,336,44,331,40,324,39,316,40,308,44,301,49,295,56,292,64,291,73,292,80,295,85,301,89,308,90,316,16383,16383,127,0,127,7,110,9,99,14,93,21,90,34,89,52,89,228,88,230,10,203,10,195,20,197,31,197,38,196,42,193,45,187,47,178,47,33,43,20,37,13,25,9,8,7,8,0,97,316,96,324,92,331,86,337,79,340,71,342,63,340,56,336,51,331,47,324,46,316,47,308,51,301,56,295,63,292,71,291,79,292,87,295,92,301,96,308,97,316,16383,16383,97,228,94,230,77,224,62,218,48,213,33,208,16,203,16,195,18,195,23,196,27,197,39,197, 85,118,81,81,88,73,88,73,81,81,80,67,80,67,81,81,77,77,80,67,77,77,73,60,73,60,77,77,72,73,73,60,72,73,68,52,68,52,72,73,68,69,68,52,68,69,66,46,66,46,64,65,63,-13,63,-13,64,65,63,1,116,75,127,87,111,75,111,75,127,87,110,91,111,75,110,91,106,76,106,76,110,91,97,77,88,73,97,77,96,102,88,73,96,102,85,118,118,230,113,216,122,215,118,230,122,215,126,230,126,230,122,215,130,212,126,230,130,212,134,229,134,229,130,212,137,207,134,229,137,207,142,227,142,227,137,207,144,201,142,227,144,201,150,225,150,225,144,201,150,193,127,87,116,75,120,75,127,87,120,75,123,75,127,87,123,75,125,75,127,87,125,75,136,76,110,91,96,102,97,77,169,219,158,223,159,169,169,219,159,169,162,157,169,219,162,157,164,145,169,219,164,145,165,132,169,219,165,132,167,87,169,219,167,87,177,94,169,219,177,94,175,217,167,87,165,132,163,117,167,87,163,117,158,104,167,87,158,104,157,82,127,87,136,76,140,89,140,89,136,76,146,78,140,89,146,78,150,95,150,95,146,78,157,82,150,95,157,82,158,104,82,198,90,208,91,226,91,226,90,208,100,214,91,226,100,214,118,230,118,230,100,214,113,216,76,167,76,169,68,214,68,214,76,169,78,185,68,214,78,185,91,226,91,226,78,185,82,198,81,81,85,118,78,141,81,81,78,141,76,167,81,81,76,167,68,214,81,81,68,214,63,92,51,197,39,174,41,116,51,197,41,116,50,103,51,197,50,103,63,92,51,197,63,92,68,214,39,174,35,148,36,131,39,174,36,131,41,116,51,53,44,46,44,11,51,53,44,11,52,6,51,53,52,6,60,61,36,27,37,21,37,33,37,33,37,21,40,16,37,33,40,16,40,39,40,39,40,16,44,11,40,39,44,11,44,46,30,-26,31,-88,44,-13,44,-13,31,-88,49,-98,44,-13,49,-98,49,-43,49,-43,50,-36,44,-13,44,-13,50,-36,52,-30,44,-13,52,-30,63,1,63,1,52,-30,56,-22,63,1,56,-22,63,-13,74,0,72,38,68,41,74,0,68,41,66,46,74,0,66,46,63,-13,74,0,80,35,72,38,60,61,52,6,63,1,60,61,63,1,64,65,62,-65,73,-105,77,-73,77,-73,73,-105,100,-108,77,-73,100,-108,97,-78,97,-78,100,-108,122,-79,153,-77,122,-79,122,-106,153,-77,122,-106,144,-102,52,-55,49,-43,49,-98,52,-55,49,-98,73,-105,52,-55,73,-105,62,-65,21,-37,16,-48,18,-75,21,-37,18,-75,31,-88,21,-37,31,-88,30,-26,196,214,191,214,194,194,196,214,194,194,235,194,196,214,235,194,235,214,202,137,203,152,203,160,202,137,203,160,202,168,202,137,202,168,200,176,202,137,200,176,199,124,197,185,194,194,194,113,197,185,194,113,199,124,197,185,199,124,200,176,191,214,185,214,186,103,191,214,186,103,194,113,191,214,194,113,194,194,180,215,175,217,177,94,180,215,177,94,186,103,180,215,186,103,185,214,155,181,159,169,158,223,155,181,158,223,150,225,155,181,150,225,150,193,208,-14,214,-21,220,7,220,7,214,-21,217,-31,220,-56,217,-31,212,-47,138,-6,155,-6,170,29,170,29,155,-6,178,-7,170,29,178,-7,190,26,190,26,178,-7,196,-10,190,26,196,-10,207,18,207,18,196,-10,208,-14,207,18,208,-14,220,7,228,-6,220,7,220,-56,228,-6,220,-56,226,-46,228,-6,226,-46,229,-35,228,-6,229,-35,230,-24,153,-77,165,-96,180,-71,180,-71,165,-96,184,-87,180,-71,184,-87,200,-60,200,-60,184,-87,200,-76,200,-60,200,-76,212,-47,212,-47,200,-76,211,-66,212,-47,211,-66,220,-56,138,-6,170,29,120,-5,120,-5,170,29,105,32,120,-5,105,32,102,-4,102,-4,105,32,91,33,102,-4,91,33,86,-2,86,-2,91,33,80,35,86,-2,80,35,74,0,122,-79,100,-108,122,-106,153,-77,144,-102,165,-96,217,-31,220,-56,220,7,18,-75,16,-48,14,-59,64,65,66,46,68,69, 243,0,243,7,230,10,221,15,216,22,214,34,214,151,211,179,204,201,191,217,174,227,152,230,135,228,120,224,106,216,92,204,79,188,79,340,76,342,66,338,46,332,34,328,18,324,5,320,5,311,6,312,11,312,22,311,29,309,34,305,36,297,36,33,33,22,28,15,19,10,4,7,4,0,113,0,113,7,98,10,88,14,82,22,79,34,79,171,90,184,101,193,112,199,123,202,134,203,148,201,158,195,165,184,170,169,171,150,171,34,168,22,162,14,152,10,137,7,137,0,90,316,89,324,85,331,80,337,73,340,65,342,56,340,49,336,44,331,40,324,39,316,40,308,44,301,49,295,56,292,64,291,73,292,80,295,85,301,89,308,90,316,16383,16383,127,0,127,7,110,9,99,14,93,21,90,34,89,52,89,228,88,230,10,203,10,195,20,197,31,197,38,196,42,193,45,187,47,178,47,33,43,20,37,13,25,9,8,7,8,0,97,316,96,324,92,331,86,337,79,340,71,342,63,340,56,336,51,331,47,324,46,316,47,308,51,301,56,295,63,292, 33,22,28,15,113,0,113,0,28,15,19,10,113,0,19,10,4,7,7,312,9,312,18,324,18,324,9,312,10,312,18,324,10,312,11,312,11,312,22,311,18,324,18,324,22,311,34,328,18,324,5,320,6,312,18,324,6,312,7,312,88,14,82,22,36,51,36,51,82,22,79,34,36,51,79,34,36,286,36,297,36,286,46,332,36,297,46,332,34,328,34,328,22,311,29,309,34,328,29,309,34,305,34,328,34,305,36,297,79,188,79,340,76,342,79,188,76,342,79,51,79,51,76,342,66,338,79,51,66,338,79,34,79,34,66,338,56,335,79,34,56,335,46,332,135,228,134,203,148,201,135,228,148,201,152,230,152,230,148,201,158,195,152,230,158,195,174,227,174,227,158,195,165,184,174,227,165,184,170,169,79,171,90,184,92,204,92,204,90,184,101,193,92,204,101,193,106,216,106,216,101,193,112,199,106,216,112,199,120,224,120,224,112,199,123,202,120,224,123,202,135,228,135,228,123,202,134,203,79,51,79,171,79,188,79,188,79,171,92,204,168,22,162,14,243,0,243,0,162,14,152,10,243,0,152,10,137,7,174,227,170,169,171,150,216,22,171,150,171,51,216,22,171,51,221,15,221,15,171,51,171,34,221,15,171,34,243,0,243,0,171,34,168,22,214,51,214,151,211,179,214,51,211,179,204,201,214,51,204,201,214,34,230,10,221,15,243,0,230,10,243,0,243,7,171,150,216,22,174,227,174,227,216,22,214,34,174,227,214,34,191,217,191,217,214,34,204,201,113,0,113,7,98,10,113,0,98,10,88,14,113,0,88,14,36,33,113,0,36,33,33,22,113,0,4,7,4,0,36,33,88,14,36,51,36,286,79,34,46,332,243,0,137,7,137,0,6,312,5,320,5,311, 90,316,89,324,85,331,80,337,73,340,65,342,56,340,49,336,44,331,40,324,39,316,40,308,44,301,49,295,56,292,64,291,73,292,80,295,85,301,89,308,90,316,16383,16383,127,0,127,7,110,9,99,14,93,21,90,34,89,52,89,228,88,230,10,203,10,195,20,197,31,197,38,196,42,193,45,187,47,178,47,33,43,20,37,13,25,9,8,7,8,0,97,316,96,324,92,331,86,337,79,340,71,342,63,340,56,336,51,331,47,324,46,316,47,308,51,301,56,295,63,292,71,291,79,292,87,295,92,301,96,308,97,316,16383,16383,97,228,94,230,77,224,62,218,48,213,33,208,16,203,16,195,18,195,23,196,27,197,39,197,45,196,49,193,52,187,54,178,55,167,55,-21,54,-41,54,-56,52,-67,50,-76,47,-82, 39,316,40,308,40,324,40,324,40,308,44,301,40,324,44,301,44,331,44,331,44,301,49,295,44,331,49,295,49,336,49,336,49,295,56,292,49,336,56,292,56,340,56,340,56,292,64,291,56,340,64,291,65,342,65,342,64,291,73,292,65,342,73,292,73,340,73,340,73,292,80,295,73,340,80,295,80,337,80,337,80,295,85,301,80,337,85,301,85,331,85,331,85,301,89,308,85,331,89,308,89,324,89,324,89,308,90,316,43,20,37,13,127,0,127,0,37,13,25,9,127,0,25,9,8,7,20,197,24,197,88,230,88,230,24,197,28,197,88,230,28,197,31,197,31,197,38,196,88,230,88,230,38,196,42,193,88,230,42,193,45,187,43,20,127,0,47,33,47,33,127,0,99,14,47,33,99,14,47,52,47,52,99,14,93,21,47,52,93,21,47,166,47,178,47,166,88,230,47,178,88,230,45,187,15,196,20,197,88,230,15,196,88,230,10,203,15,196,10,203,10,195,89,52,89,228,88,230,89,52,88,230,47,166,89,52,47,166,90,34,110,9,99,14,127,0,110,9,127,0,127,7,127,0,8,7,8,0,47,166,93,21,90,34, 97,316,96,324,92,331,86,337,79,340,71,342,63,340,56,336,51,331,47,324,46,316,47,308,51,301,56,295,63,292,71,291,79,292,87,295,92,301,96,308,97,316,16383,16383,97,228,94,230,77,224,62,218,48,213,33,208,16,203,16,195,18,195,23,196,27,197,39,197,45,196,49,193,52,187,54,178,55,167,55,-21,54,-41,54,-56,52,-67,50,-76,47,-82,45,-85,39,-89,35,-91,26,-91,18,-87,14,-83,4,-71,0,-66,-4,-63,-9,-61,-14,-61,-20,-62,-26,-65,-30,-69,-33,-74,-34,-80,-32,-90,-26,-97,-16,-103,-3,-107,12,-108,42,-103,65,-90,83,-68,93,-38,97,0,252,0,252,7,240,9,228,13,217,20,206,30,194,44,118,141,132,155,164,183,188,201,206,212,222,217,240,218,240,225,138,225,138,218,148,218,155,217,160,215,162,212,163,209,161,203,155,195,151,191,83,131,83,340,81,342,70,338,48,332,35,328,18,324,3,320,3,311,7,312,17,312,20,313,28,312,34,309,38,303,40,294,41,282,41,41,40,28,38,20,32,14,21,11,3,7,3,0,121,0,121,7,110,8,100,9,92,12,87,17,84,24,83,33,83,126,158,26,160,24,162,21,163,19,163,17,164,15,163,13,162,10,153,7,143,7,143,0,128,0,128,7, 86,337,87,295,92,331,92,331,87,295,92,301,92,331,92,301,96,324,96,324,92,301,96,308,96,324,96,308,97,316,46,316,47,308,47,324,47,324,47,308,51,301,47,324,51,301,51,331,51,331,51,301,56,295,51,331,56,295,56,336,56,336,56,295,63,292,56,336,63,292,63,340,63,340,63,292,71,291,63,340,71,291,71,342,71,342,71,291,79,292,71,342,79,292,79,340,79,340,79,292,87,295,79,340,87,295,86,337,18,195,23,196,33,208,18,195,33,208,16,203,18,195,16,203,16,195,42,-87,39,-89,42,-103,42,-103,39,-89,35,-91,42,-103,35,-91,31,-91,31,-91,26,-91,42,-103,42,-103,26,-91,22,-89,42,-103,22,-89,18,-87,52,187,62,218,49,193,49,193,62,218,48,213,49,193,48,213,45,196,45,196,48,213,39,197,35,197,39,197,48,213,35,197,48,213,33,208,54,-56,52,-67,65,-90,65,-90,52,-67,50,-76,65,-90,50,-76,47,-82,47,-82,45,-85,65,-90,65,-90,45,-85,42,-87,65,-90,42,-87,42,-103,93,-38,94,230,83,-68,83,-68,94,230,77,224,83,-68,77,224,65,-90,65,-90,77,224,62,218,65,-90,62,218,55,167,55,167,62,218,54,178,33,208,23,196,27,197,33,208,27,197,32,197,33,208,32,197,35,197,97,0,97,228,94,230,97,0,94,230,93,-38,65,-90,55,167,55,-21,65,-90,55,-21,54,-41,65,-90,54,-41,54,-56,12,-108,42,-103,18,-87,12,-108,18,-87,14,-83,12,-108,14,-83,9,-77,12,-108,9,-77,4,-71,12,-108,4,-71,0,-66,12,-108,0,-66,-3,-107,-3,-107,0,-66,-4,-63,-3,-107,-4,-63,-9,-61,-3,-107,-9,-61,-14,-61,-3,-107,-14,-61,-16,-103,-20,-62,-26,-65,-26,-97,-20,-62,-26,-97,-16,-103,-20,-62,-16,-103,-14,-61,-30,-69,-33,-74,-32,-90,-30,-69,-32,-90,-26,-97,-30,-69,-26,-97,-26,-65,-32,-90,-33,-74,-34,-80,62,218,52,187,54,178, 252,0,252,7,240,9,228,13,217,20,206,30,194,44,118,141,132,155,164,183,188,201,206,212,222,217,240,218,240,225,138,225,138,218,148,218,155,217,160,215,162,212,163,209,161,203,155,195,151,191,83,131,83,340,81,342,70,338,48,332,35,328,18,324,3,320,3,311,7,312,17,312,20,313,28,312,34,309,38,303,40,294,41,282,41,41,40,28,38,20,32,14,21,11,3,7,3,0,121,0,121,7,110,8,100,9,92,12,87,17,84,24,83,33,83,126,158,26,160,24,162,21,163,19,163,17,164,15,163,13,162,10,153,7,143,7,143,0,128,0,128,7,112,9,101,13,95,20,92,29,91,44,91,339,89,342,74,337,59,333,45,329,28,324,9,320,9,311,14,312,25,312,28,313,36,311,42,308,46,302,48,293,49,281,49,46,48,32,45,21,38,14,27,10,11,7,11,0,387,0,387,7,374,8,366,10,360,13,356,19,354,27,353,39,353,140,351,172,344,197,333,215,317,226,295,230,278,228,262,224,246,215,230,204,214,188,207,203,199,215,188,223,176,228,161,230,147,229,133,226,119,220,103,208,84,191,83,191,83,228,79,230,51,220,25,212,9,208,9,199,13,200,16,200,19,201, 38,20,32,14,121,0,121,0,32,14,21,11,121,0,21,11,3,7,10,312,14,312,18,324,18,324,14,312,17,312,18,324,17,312,20,313,20,313,28,312,35,328,35,328,28,312,34,309,35,328,34,309,38,303,7,312,10,312,18,324,7,312,18,324,3,320,7,312,3,320,3,311,194,44,118,141,158,26,158,26,118,141,83,131,158,26,83,131,83,126,84,24,83,33,48,332,84,24,48,332,41,282,41,282,48,332,40,294,48,332,35,328,38,303,48,332,38,303,40,294,35,328,18,324,20,313,83,33,83,340,81,342,83,33,81,342,70,338,83,33,70,338,59,335,83,33,59,335,48,332,151,191,118,141,132,155,151,191,132,155,164,183,151,191,83,131,118,141,161,203,158,199,164,183,164,183,158,199,155,195,164,183,155,195,151,191,240,225,138,225,148,218,240,225,148,218,155,217,240,225,155,217,160,215,240,225,160,215,162,212,240,225,162,212,163,209,240,225,163,209,206,212,240,225,206,212,222,217,240,225,222,217,240,218,163,209,164,183,188,201,163,209,188,201,206,212,164,183,163,209,162,206,164,183,162,206,161,203,162,10,159,9,252,0,252,0,159,9,156,8,252,0,156,8,153,7,164,15,252,0,228,13,164,15,228,13,217,20,164,15,217,20,206,30,164,15,206,30,194,44,164,15,194,44,163,17,194,44,158,26,160,24,194,44,160,24,162,21,194,44,162,21,163,19,194,44,163,19,163,17,240,9,228,13,252,0,240,9,252,0,252,7,163,13,162,10,252,0,163,13,252,0,164,15,143,7,143,0,252,0,143,7,252,0,153,7,121,0,121,7,110,8,121,0,110,8,100,9,121,0,100,9,92,12,121,0,92,12,40,28,121,0,40,28,38,20,92,12,87,17,41,41,41,41,87,17,84,24,41,41,84,24,41,282,121,0,3,7,3,0,40,28,92,12,41,41,148,218,138,225,138,218, 128,0,128,7,112,9,101,13,95,20,92,29,91,44,91,339,89,342,74,337,59,333,45,329,28,324,9,320,9,311,14,312,25,312,28,313,36,311,42,308,46,302,48,293,49,281,49,46,48,32,45,21,38,14,27,10,11,7,11,0,387,0,387,7,374,8,366,10,360,13,356,19,354,27,353,39,353,140,351,172,344,197,333,215,317,226,295,230,278,228,262,224,246,215,230,204,214,188,207,203,199,215,188,223,176,228,161,230,147,229,133,226,119,220,103,208,84,191,83,191, 45,21,38,14,128,0,128,0,38,14,27,10,128,0,27,10,11,7,18,312,22,312,28,324,28,324,22,312,25,312,28,324,25,312,28,313,28,313,36,311,28,324,28,324,36,311,45,329,28,324,9,320,14,312,28,324,14,312,18,312,36,311,42,308,45,329,45,329,42,308,46,302,45,329,46,302,59,333,59,333,46,302,48,293,59,333,48,293,49,281,92,29,49,281,49,46,92,29,49,46,95,20,95,20,49,46,101,13,91,44,91,339,89,342,91,44,89,342,74,337,91,44,74,337,59,333,91,44,59,333,92,29,128,0,128,7,112,9,128,0,112,9,101,13,128,0,101,13,48,32,128,0,48,32,45,21,14,312,9,320,9,311,128,0,11,7,11,0,48,32,101,13,49,46,49,281,92,29,59,333, 387,0,387,7,374,8,366,10,360,13,356,19,354,27,353,39,353,140,351,172,344,197,333,215,317,226,295,230,278,228,262,224,246,215,230,204,214,188,207,203,199,215,188,223,176,228,161,230,147,229,133,226,119,220,103,208,84,191,83,191,83,228,79,230,51,220,25,212,9,208,9,199,13,200,16,200,19,201,26,201,32,200,37,196,41,190,42,181,43,168,43,44,42,29,39,19,32,12,22,9,8,7,8,0,119,0,119,7,105,8,96,11,89,16,86,24,85,35,85,175,99,189,109,195,121,200,133,203,145,204,156,202,165,195,172,183,176,168,177,148,177,43,176,28,173,18,167,12,157,9,143,7,143,0,255,0,255,7,240,9,230,12,223,19,220,31,219,47,219,174,228,185,237,194,248,200,259,203,272,204,287,202,298,196,305,185,310,169,311,148,311,45,310,30,307,20,302,14,293,10,278,7,278,0,243,0,243,7,230,9,221,13,216,19,213,29,212,42,212,153,210,180,202,201,190,217,174,227,153,230,139,229,125,224,111,216,96,205,81,190,80,190,80,228,76,230,50,220,37,216,23,212,8,208,8,199,10,200,13,200,16,201,22,201,30,200,35,197,38,191,40,181,40,47,39,32,37,21,31,14,22,9,9,7,9,0,114,0,114,7,101,9,92,13,86,18,83,26,82,36,82,174,95,186,105,194,115,199,124,202,133,203,147,201,157,195,164,185,169,171,170,152,170,52,169,35,166,23,161,15,152,10,139,7,138,0,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91, 16,200,19,201,25,212,25,212,19,201,22,201,25,212,22,201,26,201,26,201,32,200,38,216,38,216,32,200,37,196,38,216,37,196,41,190,25,212,9,208,13,200,25,212,13,200,16,200,38,216,41,190,51,220,51,220,41,190,42,181,51,220,42,181,43,168,86,24,43,168,43,44,86,24,43,44,89,16,89,16,43,44,96,11,38,216,25,212,26,201,83,228,79,230,83,191,83,191,79,230,85,35,83,191,85,35,84,191,84,191,85,35,85,174,84,191,85,174,85,175,173,18,167,12,255,0,255,0,167,12,157,9,255,0,157,9,143,7,161,230,147,229,156,202,156,202,147,229,145,204,133,203,145,204,133,226,133,203,133,226,121,200,121,200,133,226,119,220,121,200,119,220,109,195,109,195,119,220,103,208,109,195,103,208,99,189,99,189,103,208,92,182,103,208,84,191,85,175,103,208,85,175,86,176,103,208,86,176,88,178,103,208,88,178,90,180,103,208,90,180,92,182,85,35,79,230,65,225,85,35,65,225,86,24,147,229,133,226,145,204,173,18,255,0,176,28,176,28,255,0,230,12,176,28,230,12,177,43,177,43,230,12,223,19,177,43,223,19,177,148,176,228,177,148,188,223,176,228,161,230,165,195,176,228,165,195,172,183,176,228,172,183,176,168,176,228,176,168,177,148,207,203,199,215,220,31,207,203,220,31,219,47,207,203,219,47,214,188,219,174,228,185,230,204,230,204,228,185,237,194,230,204,237,194,246,215,246,215,237,194,248,200,246,215,248,200,262,224,262,224,248,200,259,203,262,224,259,203,272,204,272,204,287,202,278,228,278,228,287,202,295,230,219,47,219,174,214,188,214,188,219,174,230,204,278,228,262,224,272,204,307,20,302,14,387,0,387,0,302,14,293,10,387,0,293,10,278,7,298,196,305,185,317,226,317,226,305,185,310,169,317,226,310,169,311,148,356,19,311,148,311,45,356,19,311,45,360,13,360,13,311,45,310,30,360,13,310,30,366,10,366,10,310,30,387,0,366,10,387,0,374,8,374,8,387,0,387,7,295,230,287,202,298,196,295,230,298,196,317,226,353,39,353,140,351,172,353,39,351,172,344,197,353,39,344,197,333,215,353,39,333,215,354,27,354,27,333,215,317,226,354,27,317,226,311,148,354,27,311,148,356,19,240,9,230,12,255,0,240,9,255,0,255,7,220,31,199,215,188,223,220,31,188,223,177,148,220,31,177,148,223,19,119,0,119,7,105,8,119,0,105,8,96,11,119,0,96,11,42,29,119,0,42,29,39,19,119,0,39,19,32,12,119,0,32,12,22,9,119,0,22,9,8,7,119,0,8,7,8,0,51,220,43,168,86,24,51,220,86,24,65,225,13,200,9,208,9,199,42,29,96,11,43,44,255,0,143,7,143,0,387,0,278,7,278,0,307,20,387,0,310,30,161,230,156,202,165,195, 243,0,243,7,230,9,221,13,216,19,213,29,212,42,212,153,210,180,202,201,190,217,174,227,153,230,139,229,125,224,111,216,96,205,81,190,80,190,80,228,76,230,50,220,37,216,23,212,8,208,8,199,10,200,13,200,16,201,22,201,30,200,35,197,38,191,40,181,40,47,39,32,37,21,31,14,22,9,9,7,9,0,114,0,114,7,101,9,92,13,86,18,83,26,82,36,82,174,95,186,105,194,115,199,124,202,133,203,147,201,157,195,164,185,169,171,170,152,170,52,169,35,166,23,161,15,152,10,139,7,138,0,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102,79,229,76,230,62,224,20,209,4,204,4,196,7,197,17,197,26,196,31,194,35,189,37,180,37,-78, 37,21,31,14,114,0,114,0,31,14,22,9,114,0,22,9,9,7,13,200,16,201,23,212,23,212,16,201,19,201,23,212,19,201,22,201,22,201,30,200,23,212,23,212,30,200,37,216,23,212,8,208,10,200,23,212,10,200,13,200,30,200,35,197,37,216,37,216,35,197,38,191,37,216,38,191,50,220,50,220,38,191,40,181,50,220,40,181,40,169,83,26,40,169,40,47,83,26,40,47,86,18,86,18,40,47,92,13,80,228,76,230,80,190,80,190,76,230,82,36,80,190,82,36,81,190,81,190,82,36,82,174,81,190,82,174,96,205,96,205,82,174,95,186,96,205,95,186,105,194,96,205,105,194,111,216,111,216,105,194,115,199,111,216,115,199,125,224,125,224,115,199,124,202,125,224,124,202,133,203,133,203,147,201,139,229,139,229,147,201,153,230,82,36,76,230,63,225,82,36,63,225,83,26,139,229,125,224,133,203,166,23,161,15,243,0,243,0,161,15,152,10,243,0,152,10,139,7,157,195,164,185,174,227,174,227,164,185,169,171,174,227,169,171,170,152,216,19,170,152,170,52,216,19,170,52,221,13,221,13,170,52,169,35,221,13,169,35,243,0,243,0,169,35,166,23,153,230,147,201,157,195,153,230,157,195,174,227,212,42,212,153,210,180,212,42,210,180,202,201,212,42,202,201,213,29,230,9,221,13,243,0,230,9,243,0,243,7,213,29,202,201,190,217,213,29,190,217,174,227,213,29,174,227,170,152,213,29,170,152,216,19,114,0,114,7,101,9,114,0,101,9,92,13,114,0,92,13,39,32,114,0,39,32,37,21,50,220,40,169,83,26,50,220,83,26,63,225,10,200,8,208,8,199,114,0,9,7,9,0,39,32,92,13,40,47,243,0,139,7,138,0, 235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102,79,229,76,230,62,224,20,209,4,204,4,196,7,197,17,197,26,196,31,194,35,189,37,180,37,-78,34,-87,27,-93,17,-97,2,-99,2,-107,123,-107,123,-98,104,-97,92,-94,84,-88,80,-77,79,-61,79,17,90,8,99,2,108,-1,118,-3,130,-4,164,1,193,19,215,47,230,82,235,123,231,158,219,188,202,210,179,225,151,230,135,228,120,224,106,216,93,205,79,190,16383,16383,79,167,82,176,91,185,103,193,116,198,131,200, 64,91,58,17,69,70,69,70,58,17,88,1,69,70,88,1,76,51,76,51,88,1,86,34,93,25,86,34,88,1,93,25,88,1,123,-4,162,225,127,230,130,215,130,215,127,230,118,216,98,212,118,216,127,230,98,212,127,230,90,225,187,70,180,44,191,17,191,17,180,44,168,25,191,17,168,25,160,1,160,1,168,25,151,13,160,1,151,13,131,9,131,9,120,10,123,-4,123,-4,120,10,110,13,123,-4,110,13,101,18,140,211,149,206,162,225,162,225,149,206,158,199,162,225,158,199,165,191,165,191,174,177,191,210,191,210,174,177,181,161,191,210,181,161,186,142,230,154,215,186,215,43,230,154,215,43,230,76,230,154,230,76,235,116,187,70,191,17,190,102,190,102,191,17,191,210,191,210,191,17,215,43,191,210,215,43,215,186,191,210,186,142,189,122,191,210,189,122,190,102,191,210,162,225,165,191,131,9,123,-4,160,1,58,17,61,113,60,137,60,137,62,164,58,209,58,209,62,164,70,186,58,209,70,186,90,225,90,225,70,186,82,202,90,225,82,202,98,212,58,17,60,137,58,209,58,17,58,209,35,42,35,42,58,209,35,185,35,42,35,185,20,75,20,75,35,185,20,153,20,75,20,153,15,114,61,113,58,17,64,91,162,225,130,215,140,211,93,25,123,-4,101,18, 79,229,76,230,62,224,20,209,4,204,4,196,7,197,17,197,26,196,31,194,35,189,37,180,37,-78,34,-87,27,-93,17,-97,2,-99,2,-107,123,-107,123,-98,104,-97,92,-94,84,-88,80,-77,79,-61,79,17,90,8,99,2,108,-1,118,-3,130,-4,164,1,193,19,215,47,230,82,235,123,231,158,219,188,202,210,179,225,151,230,135,228,120,224,106,216,93,205,79,190,16383,16383,79,167,82,176,91,185,103,193,116,198,131,200,151,195,168,183,181,163,189,136,192,103,189,73,181,47,168,28,152,15,132,11,117,13,103,18,91,26,82,35,79,44,244,-107,244,-99,231,-97,222,-93,216,-88,213,-80,213,228,207,228,180,213,167,220,155,224,144,228,122,230,87,224,57,206,33,179,18,144,12,103,16,67,27,38,44,15,66,0,92,-4,109,-2,126,1,142,8,157,19,171,32,171,-61,169,-75,165,-86,157,-93,144,-97,126,-99,126,-107,16383,16383,171,64,170,57,170,52,168,47,167,44,165,41,149,31,140,28,130,26,112,26,96,30,89,34,83,39,74,50,66,64,60,81,56,100,55,121,58,153,67,179,81,199,100,211,124,215,141,214,154,208,163,198,169,184,171,166,80,229,78,230,62,224,48,219, 34,-87,27,-93,123,-107,123,-107,27,-93,17,-97,123,-107,17,-97,2,-99,9,197,12,197,20,209,20,209,12,197,14,197,20,209,14,197,17,197,17,197,26,196,20,209,20,209,26,196,34,214,20,209,4,204,7,197,20,209,7,197,9,197,82,35,79,44,90,8,90,8,79,44,79,17,80,-77,79,-61,48,219,80,-77,48,219,37,169,37,169,48,219,37,180,26,196,31,194,34,214,34,214,31,194,35,189,34,214,35,189,48,219,48,219,35,189,37,180,79,190,79,229,76,230,79,190,76,230,79,-61,79,190,79,-61,79,167,79,190,79,167,82,176,79,190,82,176,93,205,235,123,231,158,230,82,230,82,231,158,219,188,230,82,219,188,215,47,215,47,219,188,202,210,215,47,202,210,193,19,193,19,202,210,192,103,193,19,192,103,189,73,193,19,189,73,181,47,202,210,179,225,181,163,202,210,181,163,189,136,202,210,189,136,192,103,135,228,131,200,151,195,135,228,151,195,151,230,151,230,151,195,168,183,151,230,168,183,179,225,179,225,168,183,181,163,108,-1,118,-3,117,13,117,13,118,-3,132,11,152,15,132,11,164,1,152,15,164,1,168,28,168,28,164,1,193,19,168,28,193,19,181,47,132,11,118,-3,130,-4,132,11,130,-4,164,1,123,-107,123,-98,104,-97,123,-107,104,-97,92,-94,123,-107,92,-94,37,-78,123,-107,37,-78,34,-87,62,224,48,219,79,-61,62,224,79,-61,76,230,92,-94,84,-88,37,-64,37,-64,84,-88,80,-77,37,-64,80,-77,37,169,82,176,91,185,93,205,93,205,91,185,103,193,93,205,103,193,106,216,106,216,103,193,116,198,106,216,116,198,120,224,120,224,116,198,131,200,120,224,131,200,135,228,82,35,90,8,91,26,91,26,90,8,99,2,91,26,99,2,103,18,103,18,99,2,108,-1,103,18,108,-1,117,13,7,197,4,204,4,196,123,-107,2,-99,2,-107,37,-78,92,-94,37,-64, 244,-107,244,-99,231,-97,222,-93,216,-88,213,-80,213,228,207,228,180,213,167,220,155,224,144,228,122,230,87,224,57,206,33,179,18,144,12,103,16,67,27,38,44,15,66,0,92,-4,109,-2,126,1,142,8,157,19,171,32,171,-61,169,-75,165,-86,157,-93,144,-97,126,-99,126,-107,16383,16383,171,64,170,57,170,52,168,47,167,44,165,41,149,31,140,28,130,26,112,26,96,30,89,34,83,39,74,50,66,64,60,81,56,100,55,121,58,153,67,179,81,199,100,211,124,215,141,214,154,208,163,198,169,184,171,166,80,229,78,230,62,224,48,219,35,214,20,209,3,203,3,195,7,196,11,196,14,197,21,197,28,196,32,193,36,187,37,179,38,167,38,42,37,29,35,21,29,15,18,11,2,7,2,0,123,0,123,7,105,9,93,13,85,20,81,30,80,45,80,157,82,168,88,179,97,189,106,196,115,199,119,197,122,196,125,194,128,191,133,187,137,184,141,182,144,181,148,181,155,182,160,185,164,190,167,196,167,204,166,213,163,220,157,225,149,229,140,230,128,228,117,224,106,215,94,202,80,183,78,151,71,156,64,163, 112,26,104,28,109,-2,109,-2,104,28,96,30,109,-2,96,30,92,-4,92,-4,96,30,89,34,92,-4,89,34,83,39,83,39,74,50,92,-4,92,-4,74,50,66,64,92,-4,66,64,66,0,66,0,66,64,60,81,66,0,60,81,56,100,109,-2,126,1,112,26,112,26,126,1,121,26,130,26,121,26,126,1,130,26,126,1,142,8,133,229,124,215,141,214,133,229,141,214,144,228,144,228,141,214,154,208,144,228,154,208,155,224,155,224,154,208,163,198,155,224,163,198,167,220,167,220,163,198,169,184,167,220,169,184,180,213,180,213,169,184,171,166,180,213,171,166,171,32,171,32,171,166,171,64,67,179,81,199,87,224,87,224,81,199,100,211,87,224,100,211,122,230,122,230,100,211,124,215,122,230,124,215,133,229,57,206,33,179,44,15,57,206,44,15,55,121,57,206,55,121,58,153,57,206,58,153,67,179,57,206,67,179,87,224,55,121,44,15,56,100,12,103,16,67,18,144,18,144,16,67,27,38,18,144,27,38,33,179,33,179,27,38,44,15,165,-86,157,-93,244,-107,244,-107,157,-93,144,-97,244,-107,144,-97,126,-99,170,52,168,47,171,32,171,32,168,47,167,44,171,32,167,44,165,41,165,41,157,36,171,32,171,32,157,36,157,19,170,57,170,52,171,32,170,57,171,32,171,64,149,31,140,28,142,8,149,31,142,8,157,19,149,31,157,19,157,36,213,-69,213,228,207,228,213,-69,207,228,180,213,213,-69,180,213,213,-80,244,-107,244,-99,231,-97,244,-107,231,-97,222,-93,244,-107,222,-93,169,-75,244,-107,169,-75,165,-86,171,32,216,-88,213,-80,171,32,213,-80,180,213,171,-61,169,-75,222,-93,171,-61,222,-93,216,-88,171,-61,216,-88,171,32,244,-107,126,-99,126,-107,56,100,44,15,66,0,130,26,142,8,140,28, 80,229,78,230,62,224,48,219,35,214,20,209,3,203,3,195,7,196,11,196,14,197,21,197,28,196,32,193,36,187,37,179,38,167,38,42,37,29,35,21,29,15,18,11,2,7,2,0,123,0,123,7,105,9,93,13,85,20,81,30,80,45,80,157,82,168,88,179,97,189,106,196,115,199,119,197,122,196,125,194,128,191,133,187,137,184,141,182,144,181,148,181,155,182,160,185,164,190,167,196,167,204,166,213,163,220,157,225,149,229,140,230,128,228,117,224,106,215,94,202,80,183,78,151,71,156,64,163,60,170,57,178,56,185,58,197,63,207,71,214,82,217,94,219,110,217,123,210,134,198,143,181,151,157,158,157,156,225,150,225,145,220,140,220,137,221,134,221,131,223,122,226,115,228,109,229,94,229,72,227,53,219,38,207,29,190,26,168,28,153,35,138,47,123,63,109,85,95,113,80,129,68,134,60,138,52,139,43,137,31,132,21,123,13,112,8,98,6,79,9,63,17,51,31,41,50,34,76,26,76,26,-1,32,-1,34,0,36,2,39,3,41,4,48,4, 11,196,14,197,20,209,20,209,14,197,18,197,20,209,18,197,21,197,21,197,28,196,35,214,35,214,28,196,32,193,35,214,32,193,36,187,20,209,3,203,7,196,20,209,7,196,11,196,80,183,80,229,78,230,80,183,78,230,80,45,80,45,78,230,62,224,80,45,62,224,81,30,81,30,62,224,48,219,81,30,48,219,38,167,38,167,48,219,37,179,48,219,35,214,36,187,48,219,36,187,37,179,35,214,20,209,21,197,122,196,128,228,119,197,119,197,128,228,117,224,119,197,117,224,117,198,117,198,117,224,115,199,106,196,115,199,117,224,106,196,117,224,106,215,137,184,140,230,133,187,133,187,140,230,128,228,133,187,128,228,128,191,128,191,128,228,125,194,144,181,148,181,149,229,149,229,148,181,155,182,149,229,155,182,157,225,157,225,155,182,160,185,157,225,160,185,163,220,163,220,160,185,164,190,163,220,164,190,166,213,166,213,164,190,167,196,166,213,167,196,167,204,141,182,144,181,149,229,141,182,149,229,140,230,141,182,140,230,137,184,82,168,88,179,94,202,94,202,88,179,97,189,94,202,97,189,106,215,106,215,97,189,106,196,80,45,80,157,80,183,80,183,80,157,82,168,80,183,82,168,94,202,123,0,123,7,105,9,123,0,105,9,93,13,123,0,93,13,37,29,123,0,37,29,35,21,123,0,35,21,29,15,123,0,29,15,18,11,123,0,18,11,2,7,123,0,2,7,2,0,93,13,85,20,38,42,38,42,85,20,81,30,38,42,81,30,38,167,7,196,3,203,3,195,37,29,93,13,38,42,128,228,122,196,125,194, 78,151,71,156,64,163,60,170,57,178,56,185,58,197,63,207,71,214,82,217,94,219,110,217,123,210,134,198,143,181,151,157,158,157,156,225,150,225,145,220,140,220,137,221,134,221,131,223,122,226,115,228,109,229,94,229,72,227,53,219,38,207,29,190,26,168,28,153,35,138,47,123,63,109,85,95,113,80,129,68,134,60,138,52,139,43,137,31,132,21,123,13,112,8,98,6,79,9,63,17,51,31,41,50,34,76,26,76,26,-1,32,-1,34,0,36,2,39,3,41,4,48,4,52,3,56,3,61,1,68,0,75,-2,82,-3,90,-4,104,-4,126,-1,145,7,160,21,170,38,174,57,173,73,168,86,159,97,147,108,130,119,133,39,127,32,121,27,115,24,109,22,103,21,93,23,86,28,81,36,78,49,77,66,77,209,127,209,127,225,77,225,77,286,76,287,76,289,75,289,74,290,72,287,69,284,65,278,64,276,53,260,42,247,32,236,23,228,15,222,12,220,8,216,7,214,7,210,8,210,8,209,35,209,35,59,37,36,42,18,51,5,64,-1,79,-4,93,-3,106,1,118,8,129,19,140,33,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216, 36,2,39,3,41,50,41,50,39,3,41,4,41,50,41,4,45,4,45,4,48,4,51,31,51,31,48,4,52,3,51,31,52,3,63,17,63,17,52,3,56,3,63,17,56,3,61,1,36,2,41,50,34,0,34,0,41,50,34,76,34,0,34,76,32,-1,32,-1,34,76,26,76,32,-1,26,76,26,-1,72,227,53,219,58,197,58,197,53,219,56,185,63,109,56,185,53,219,63,109,53,219,47,123,47,123,53,219,38,207,47,123,38,207,35,138,35,138,38,207,29,190,35,138,29,190,28,153,28,153,29,190,26,168,102,229,94,229,110,217,110,217,94,229,94,219,82,217,94,219,94,229,82,217,94,229,72,227,137,221,134,221,134,198,134,198,134,221,131,223,134,198,131,223,128,224,128,224,122,226,123,210,123,210,122,226,115,228,123,210,115,228,110,217,110,217,115,228,109,229,110,217,109,229,102,229,148,223,146,221,151,157,151,157,146,221,145,220,151,157,145,220,143,181,143,181,145,220,143,220,143,181,143,220,142,220,142,220,140,220,143,181,143,181,140,220,137,221,143,181,137,221,134,198,151,157,158,157,156,225,151,157,156,225,150,225,151,157,150,225,148,223,128,224,123,210,134,198,174,57,173,73,170,38,170,38,173,73,168,86,170,38,168,86,160,21,160,21,168,86,159,97,160,21,159,97,147,108,123,13,126,-1,132,21,132,21,126,-1,145,7,132,21,145,7,137,31,137,31,145,7,139,43,147,108,139,43,145,7,147,108,145,7,160,21,121,74,129,68,130,119,130,119,129,68,134,60,130,119,134,60,147,108,147,108,134,60,138,52,147,108,138,52,139,43,130,119,78,151,85,95,130,119,85,95,113,80,130,119,113,80,121,74,78,151,71,156,85,95,85,95,71,156,64,163,85,95,64,163,63,109,63,109,64,163,60,170,63,109,60,170,57,178,98,6,104,-4,112,8,112,8,104,-4,126,-1,112,8,126,-1,123,13,72,227,58,197,63,207,72,227,63,207,71,214,72,227,71,214,82,217,98,6,79,9,82,-3,98,6,82,-3,90,-4,98,6,90,-4,97,-4,98,6,97,-4,104,-4,79,9,63,17,68,0,79,9,68,0,75,-2,79,9,75,-2,82,-3,68,0,63,17,61,1,51,31,41,50,45,4,56,185,63,109,57,178, 133,39,127,32,121,27,115,24,109,22,103,21,93,23,86,28,81,36,78,49,77,66,77,209,127,209,127,225,77,225,77,286,76,287,76,289,75,289,74,290,72,287,69,284,65,278,64,276,53,260,42,247,32,236,23,228,15,222,12,220,8,216,7,214,7,210,8,210,8,209,35,209,35,59,37,36,42,18,51,5,64,-1,79,-4,93,-3,106,1,118,8,129,19,140,33,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216,26,213,32,207,35,197,36,185,36,59,38,38,46,20,58,6,75,-1,97,-4,109,-3,123,0,138,8,153,21,168,38, 42,247,32,236,35,209,35,209,32,236,23,228,35,209,23,228,15,222,53,260,42,247,42,18,53,260,42,18,51,5,53,260,51,5,64,-1,53,260,64,-1,64,276,37,36,42,18,42,247,37,36,42,247,35,209,37,36,35,209,35,59,7,210,8,210,8,216,8,216,8,210,8,209,8,216,8,209,10,218,10,218,8,209,35,209,10,218,35,209,12,220,12,220,35,209,15,222,7,214,7,213,7,212,7,214,7,212,7,211,7,214,7,211,7,210,7,214,7,210,8,216,69,284,79,-4,77,66,77,225,77,209,127,209,77,225,127,209,127,225,77,66,77,283,77,286,77,66,77,286,76,287,77,66,76,287,76,289,77,66,76,289,75,289,77,66,75,289,74,290,77,66,74,290,72,287,77,66,72,287,69,284,86,28,93,-3,93,23,93,23,93,-3,103,21,109,22,103,21,106,1,109,22,106,1,118,8,81,36,78,49,79,-4,81,36,79,-4,93,-3,81,36,93,-3,86,28,79,-4,69,284,67,281,79,-4,67,281,65,278,79,-4,65,278,64,276,79,-4,64,276,64,-1,129,19,140,33,133,39,129,19,133,39,127,32,129,19,127,32,121,27,129,19,121,27,118,8,115,24,109,22,118,8,115,24,118,8,121,27,103,21,93,-3,106,1,77,66,79,-4,78,49, 240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216,26,213,32,207,35,197,36,185,36,59,38,38,46,20,58,6,75,-1,97,-4,109,-3,123,0,138,8,153,21,168,38,169,38,169,-2,171,-3,186,1,199,6,225,14,240,18,238,225,169,225,169,218,178,216,184,214,189,211,192,207,193,201,192,198,192,195,191,192,191,189,190,186,140,57,89,185,87,190,86,194,85,197,84,201,84,204,85,209,88,212,92,215,99,216,108,218,108,225,9,225,9,218,19,216,27,212,35,202,44,186,55,160,115,17,116,14,118,10,118,8,119,6,121,1,123,-1,125,-4,126,-6,128,-6,130,-5,132,-3,135,1,138,8,142,18,206,179,213,195,219,206,224,213,231,216,238,218, 78,225,4,225,17,216,78,225,17,216,26,213,78,225,26,213,32,207,78,225,32,207,35,197,78,225,35,197,36,185,78,225,36,185,38,38,78,225,38,38,46,20,78,225,46,20,58,6,78,225,58,6,75,-1,78,225,75,-1,78,64,164,53,162,48,168,38,168,38,162,48,159,43,168,38,159,43,155,40,155,40,147,34,153,21,153,21,147,34,139,29,153,21,139,29,138,8,138,8,139,29,130,26,138,8,130,26,123,0,123,0,130,26,121,25,123,0,121,25,113,24,113,24,102,26,109,-3,109,-3,102,26,97,-4,97,-4,102,26,92,31,97,-4,92,31,84,40,97,-4,84,40,79,51,97,-4,79,51,75,-1,78,64,75,-1,79,51,113,24,109,-3,123,0,166,184,168,38,209,225,209,225,168,38,169,38,209,225,169,38,171,-3,171,-3,169,38,169,-2,168,38,166,184,166,69,168,38,166,69,166,59,168,38,166,59,164,53,155,40,153,21,168,38,225,26,217,29,225,14,225,14,217,29,212,34,225,14,212,34,212,10,212,10,212,34,209,42,212,10,209,42,199,6,199,6,209,42,209,54,199,6,209,54,209,225,209,225,171,-3,186,1,209,225,186,1,199,6,209,225,129,225,145,215,209,225,145,215,155,212,209,225,155,212,162,206,209,225,162,206,165,197,209,225,165,197,166,184,237,25,225,26,225,14,237,25,225,14,240,18,237,25,240,18,240,25,38,38,36,185,36,59,145,215,129,225,129,217,17,216,4,225,4,218, 238,225,169,225,169,218,178,216,184,214,189,211,192,207,193,201,192,198,192,195,191,192,191,189,190,186,140,57,89,185,87,190,86,194,85,197,84,201,84,204,85,209,88,212,92,215,99,216,108,218,108,225,9,225,9,218,19,216,27,212,35,202,44,186,55,160,115,17,116,14,118,10,118,8,119,6,121,1,123,-1,125,-4,126,-6,128,-6,130,-5,132,-3,135,1,138,8,142,18,206,179,213,195,219,206,224,213,231,216,238,218,347,225,286,225,286,218,294,215,301,213,305,210,307,207,307,197,306,191,302,177,299,169,254,58,209,178,206,185,204,195,204,205,207,210,212,213,221,215,233,218,233,225,131,225,131,218,141,216,148,212,155,206,160,196,166,183,175,155,130,55,80,186,79,189,79,192,78,195,78,206,81,211,85,214,91,216,100,218,100,225,11,225,11,218,17,216,22,214,26,208,31,199,37,186,104,15,108,7,111,0,113,-3,116,-5,118,-6,121,-3, 87,190,86,194,115,17,115,17,86,194,85,197,115,17,85,197,55,160,55,160,85,197,84,201,55,160,84,201,84,204,84,204,85,209,55,160,108,225,9,225,19,216,108,225,19,216,27,212,108,225,27,212,35,202,108,225,35,202,44,186,108,225,44,186,88,212,108,225,88,212,92,215,108,225,92,215,99,216,108,225,99,216,108,218,85,209,88,212,44,186,85,209,44,186,55,160,140,57,89,185,115,17,140,57,115,17,116,14,140,57,116,14,117,12,140,57,117,12,118,10,140,57,118,10,118,8,140,57,118,8,119,6,140,57,119,6,121,1,140,57,121,1,123,-1,140,57,123,-1,125,-4,140,57,125,-4,126,-6,140,57,126,-6,128,-6,140,57,128,-6,130,-5,140,57,130,-5,132,-3,140,57,132,-3,135,1,140,57,135,1,138,8,140,57,138,8,142,18,140,57,142,18,190,186,206,179,190,186,142,18,238,225,169,225,178,216,238,225,178,216,184,214,238,225,184,214,189,211,238,225,189,211,192,207,238,225,192,207,193,201,238,225,193,201,224,213,238,225,224,213,231,216,238,225,231,216,238,218,206,179,213,195,193,201,206,179,193,201,192,198,206,179,192,198,192,195,206,179,192,195,191,192,206,179,191,192,191,189,206,179,191,189,190,186,219,206,224,213,193,201,219,206,193,201,213,195,178,216,169,225,169,218,87,190,115,17,89,185,19,216,9,225,9,218, 347,225,286,225,286,218,294,215,301,213,305,210,307,207,307,197,306,191,302,177,299,169,254,58,209,178,206,185,204,195,204,205,207,210,212,213,221,215,233,218,233,225,131,225,131,218,141,216,148,212,155,206,160,196,166,183,175,155,130,55,80,186,79,189,79,192,78,195,78,206,81,211,85,214,91,216,100,218,100,225,11,225,11,218,17,216,22,214,26,208,31,199,37,186,104,15,108,7,111,0,113,-3,116,-5,118,-6,121,-3,123,0,126,5,130,12,186,132,232,15,235,5,238,0,241,-6,246,-6,250,0,253,7,257,17,326,190,331,200,334,207,338,212,342,215,347,218,239,0,239,7,230,8,222,12,215,18,207,26,199,37,134,136,176,195,182,203,190,209,198,214,207,216,217,218,217,225,137,225,137,218,145,217,151,215,155,213,157,210,157,202,154,197,150,191,145,184,136,169,133,165,130,160,124,152,123,154,121,156,119,160,117,162,109,174,103,185,98,194,95,201,94,206,95,210,97,213,101,216,107,217,116,218,116,225,12,225,12,218,17,218,25,217,32,214,39,208,47,200,55,187,55,188,102,116,45,33,37,22,31,15,24,11,17,9,8,7,8,0,81,0,81,7,73,8,68,9,64,11,62,13,61,17,61,19,62,22,64,26,67,31, 22,214,26,208,100,225,100,225,26,208,31,199,100,225,31,199,37,186,37,186,104,15,78,195,78,195,104,15,79,192,37,186,78,198,78,201,78,201,78,206,37,186,37,186,78,206,81,211,37,186,81,211,85,214,100,225,37,186,85,214,100,225,85,214,91,216,100,225,91,216,100,218,17,216,22,214,100,225,17,216,100,225,11,225,17,216,11,225,11,218,186,132,204,200,204,205,186,132,204,205,175,155,175,155,204,205,166,183,160,196,166,183,207,210,160,196,207,210,212,213,233,225,131,225,141,216,233,225,141,216,148,212,233,225,148,212,155,206,233,225,155,206,160,196,233,225,160,196,212,213,233,225,212,213,221,215,233,225,221,215,233,218,207,210,166,183,204,205,254,58,212,170,232,15,254,58,232,15,235,5,254,58,235,5,238,0,254,58,238,0,240,-4,254,58,240,-4,241,-6,254,58,241,-6,243,-6,254,58,243,-6,246,-6,254,58,246,-6,248,-3,254,58,248,-3,250,0,254,58,250,0,253,7,254,58,253,7,257,17,254,58,257,17,299,169,232,15,212,170,209,178,232,15,209,178,206,185,232,15,206,185,205,190,232,15,205,190,204,195,232,15,204,195,186,132,326,190,299,169,257,17,347,225,286,225,294,215,347,225,294,215,301,213,347,225,301,213,305,210,347,225,305,210,307,207,347,225,307,207,307,203,347,225,307,203,334,207,347,225,334,207,338,212,347,225,338,212,342,215,347,225,342,215,347,218,326,190,331,200,307,203,326,190,307,203,307,197,326,190,307,197,306,191,326,190,306,191,304,184,326,190,304,184,302,177,326,190,302,177,299,169,123,0,126,5,130,55,130,55,126,5,130,12,130,55,130,12,175,155,175,155,130,12,186,132,130,55,80,186,104,15,130,55,104,15,108,7,130,55,108,7,111,0,130,55,111,0,113,-3,130,55,113,-3,116,-5,130,55,116,-5,118,-6,130,55,118,-6,119,-5,130,55,119,-5,121,-3,130,55,121,-3,123,0,79,189,79,192,104,15,79,189,104,15,80,186,37,186,78,195,78,198,294,215,286,225,286,218,334,207,307,203,331,200,186,132,204,195,204,200,141,216,131,225,131,218, 239,0,239,7,230,8,222,12,215,18,207,26,199,37,134,136,176,195,182,203,190,209,198,214,207,216,217,218,217,225,137,225,137,218,145,217,151,215,155,213,157,210,157,202,154,197,150,191,145,184,136,169,133,165,130,160,124,152,123,154,121,156,119,160,117,162,109,174,103,185,98,194,95,201,94,206,95,210,97,213,101,216,107,217,116,218,116,225,12,225,12,218,17,218,25,217,32,214,39,208,47,200,55,187,55,188,102,116,45,33,37,22,31,15,24,11,17,9,8,7,8,0,81,0,81,7,73,8,68,9,64,11,62,13,61,17,61,19,62,22,64,26,67,31,71,37,110,99,156,28,157,27,159,23,159,15,157,12,153,9,147,8,139,7,139,0,238,225,171,225,171,218,179,217,186,216,190,213,193,210,194,205,194,202,193,201,193,198,192,196,143,59,88,184,82,196,81,201,81,204,82,209,85,212,90,215,98,217,109,218,109,225,7,225,7,218,14,217,21,214,26,211,30,206,33,200,99,60,105,47,111,35,116,24,121,9,119,2,116,-8,112,-21,106,-34,100,-44,96,-51,85,-62,80,-65,75,-66,71,-66,69,-65,66,-64,62,-63,63,-63,57,-60,52,-58,42,-56,36,-56,30,-57,24,-60,19,-65,16,-72,15,-79,17,-88,21,-96,28,-102,38,-106,50,-108,71,-105,90,-94,106,-76,122,-49,137,-11,213,192,217,202,221,208,226,213,231,216,238,218,209,68,200,70,197,57,195,47,193,40,190,34,186,28,181,24,173,20, 31,15,24,11,81,0,81,0,24,11,17,9,81,0,17,9,8,7,32,214,39,208,116,225,116,225,39,208,47,200,116,225,47,200,55,188,55,187,55,188,102,116,55,187,102,116,94,206,94,206,95,210,55,187,55,187,95,210,97,213,55,187,97,213,116,225,116,225,97,213,101,216,116,225,101,216,107,217,31,15,81,0,37,22,37,22,81,0,64,11,37,22,64,11,45,33,45,33,64,11,62,13,45,33,62,13,61,17,61,17,61,19,45,33,45,33,61,19,62,22,45,33,62,22,102,116,102,116,62,22,64,26,102,116,64,26,67,31,102,116,67,31,71,37,71,37,110,99,102,116,102,116,110,99,103,185,102,116,103,185,98,194,107,217,116,218,116,225,116,225,12,225,17,218,116,225,17,218,25,217,116,225,25,217,32,214,95,201,94,206,102,116,95,201,102,116,98,194,121,156,120,158,156,28,156,28,120,158,119,160,156,28,119,160,117,162,117,162,109,174,110,99,110,99,109,174,103,185,222,12,215,18,159,20,159,20,215,18,207,26,159,20,207,26,199,37,199,37,134,136,156,28,156,28,134,136,127,156,156,28,127,156,124,152,124,152,123,154,156,28,156,28,123,154,121,156,217,225,137,225,145,217,217,225,145,217,151,215,217,225,151,215,155,213,217,225,155,213,157,210,217,225,157,210,157,206,217,225,157,206,190,209,217,225,190,209,198,214,217,225,198,214,207,216,217,225,207,216,217,218,176,195,182,203,157,206,176,195,157,206,157,202,176,195,157,202,154,197,176,195,154,197,150,191,176,195,150,191,145,184,176,195,145,184,139,174,176,195,139,174,136,169,176,195,136,169,134,136,134,136,136,169,133,165,134,136,133,165,130,160,134,136,130,160,127,156,157,12,153,9,239,0,239,0,153,9,147,8,239,0,147,8,139,7,158,25,159,23,199,37,199,37,159,23,159,21,199,37,159,21,159,20,159,20,159,15,239,0,239,0,159,15,157,12,199,37,156,28,157,27,199,37,157,27,158,25,117,162,110,99,156,28,239,0,239,7,230,8,239,0,230,8,222,12,239,0,222,12,159,20,81,0,81,7,73,8,81,0,73,8,68,9,81,0,68,9,64,11,81,0,8,7,8,0,239,0,139,7,139,0,145,217,137,225,137,218,190,209,157,206,182,203,17,218,12,225,12,218,116,225,55,188,55,187, 238,225,171,225,171,218,179,217,186,216,190,213,193,210,194,205,194,202,193,201,193,198,192,196,143,59,88,184,82,196,81,201,81,204,82,209,85,212,90,215,98,217,109,218,109,225,7,225,7,218,14,217,21,214,26,211,30,206,33,200,99,60,105,47,111,35,116,24,121,9,119,2,116,-8,112,-21,106,-34,100,-44,96,-51,85,-62,80,-65,75,-66,71,-66,69,-65,66,-64,62,-63,63,-63,57,-60,52,-58,42,-56,36,-56,30,-57,24,-60,19,-65,16,-72,15,-79,17,-88,21,-96,28,-102,38,-106,50,-108,71,-105,90,-94,106,-76,122,-49,137,-11,213,192,217,202,221,208,226,213,231,216,238,218,209,68,200,70,197,57,195,47,193,40,190,34,186,28,181,24,173,20,163,17,149,16,133,15,67,15,201,218,201,225,28,225,26,166,36,166,39,184,44,197,51,205,63,209,79,210,147,210,13,7,13,0,201,0,175,-84,157,-78,144,-69,136,-58,131,-42,129,-22,129,60,128,82,124,98,115,110,102,118,83,124,102,131,115,140,124,151,128,167,129,189,129,273,131,293,136,308,144,320,157,328,175,334,175,340,157,339,144,338,132,336,114,328,107,321,100,312,96,300,94,287,93,271,93,181,91,163,87,149,80,139,67,131,50,125,67,118,80,110,87,100,91,86,93,68,93,-20,94,-35,96,-49, 90,-57,85,-62,90,-94,90,-94,85,-62,80,-65,90,-94,80,-65,75,-66,75,-66,73,-66,90,-94,90,-94,73,-66,71,-105,90,-57,106,-76,96,-51,96,-51,106,-76,100,-44,106,-34,100,-44,106,-76,106,-34,106,-76,122,-49,143,59,88,184,99,60,143,59,99,60,105,47,143,59,105,47,111,35,143,59,111,35,116,24,143,59,116,24,119,15,143,59,119,15,121,9,143,59,121,9,122,-49,143,59,122,-49,137,-11,143,59,137,-11,213,192,143,59,213,192,192,196,122,-49,121,9,119,2,99,60,88,184,86,188,99,60,86,188,84,192,99,60,84,192,82,196,99,60,82,196,81,201,99,60,81,201,33,200,33,200,81,201,81,204,81,204,82,209,33,200,33,200,82,209,85,212,33,200,85,212,109,225,109,225,85,212,90,215,109,225,90,215,98,217,194,202,193,201,213,192,213,192,193,201,193,198,213,192,193,198,192,196,238,225,171,225,179,217,238,225,179,217,186,216,238,225,186,216,190,213,238,225,190,213,193,210,238,225,193,210,194,205,238,225,194,205,226,213,238,225,226,213,231,216,238,225,231,216,238,218,194,205,213,192,217,202,194,205,217,202,221,208,194,205,221,208,226,213,194,204,194,202,213,192,194,204,213,192,194,205,122,-49,119,2,116,-8,122,-49,116,-8,112,-21,122,-49,112,-21,106,-34,71,-105,73,-66,71,-66,71,-105,71,-66,69,-65,71,-105,69,-65,66,-64,71,-105,66,-64,63,-63,71,-105,63,-63,57,-60,71,-105,57,-60,52,-58,71,-105,52,-58,50,-108,52,-58,47,-57,50,-108,50,-108,47,-57,42,-56,50,-108,42,-56,38,-106,38,-106,42,-56,36,-56,38,-106,36,-56,30,-57,38,-106,30,-57,28,-102,28,-102,30,-57,24,-60,28,-102,24,-60,21,-96,21,-96,24,-60,19,-65,21,-96,19,-65,17,-88,17,-88,19,-65,16,-72,17,-88,16,-72,15,-79,98,217,109,218,109,225,109,225,7,225,14,217,109,225,14,217,21,214,109,225,21,214,26,211,109,225,26,211,30,206,109,225,30,206,33,200,66,-64,62,-63,63,-63,14,217,7,225,7,218,90,-57,90,-94,106,-76,179,217,171,225,171,218, 209,68,200,70,197,57,195,47,193,40,190,34,186,28,181,24,173,20,163,17,149,16,133,15,67,15,201,218,201,225,28,225,26,166,36,166,39,184,44,197,51,205,63,209,79,210,147,210,13,7,13,0,201,0,175,-84,157,-78,144,-69,136,-58,131,-42,129,-22,129,60,128,82,124,98,115,110,102,118,83,124,102,131,115,140,124,151,128,167,129,189,129,273,131,293,136,308,144,320,157,328,175,334,175,340,157,339,144,338,132,336, 67,15,201,218,147,210,147,210,201,218,201,225,147,210,201,225,79,210,63,209,79,210,201,225,63,209,201,225,28,225,28,225,26,166,36,166,28,225,36,166,39,184,28,225,39,184,44,197,28,225,44,197,51,205,28,225,51,205,63,209,147,210,13,7,67,15,67,15,13,7,201,0,67,15,201,0,133,15,133,15,201,0,149,16,195,47,193,40,201,0,201,0,193,40,190,34,201,0,190,34,186,28,186,28,181,24,201,0,201,0,181,24,173,20,201,0,173,20,163,17,201,0,209,68,200,70,201,0,200,70,197,57,201,0,197,57,195,47,201,0,13,7,13,0,149,16,201,0,163,17, 175,-84,157,-78,144,-69,136,-58,131,-42,129,-22,129,60,128,82,124,98,115,110,102,118,83,124,102,131,115,140,124,151,128,167,129,189,129,273,131,293,136,308,144,320,157,328,175,334,175,340,157,339,144,338,132,336,114,328,107,321,100,312,96,300,94,287,93,271,93,181,91,163,87,149,80,139,67,131,50,125,67,118,80,110,87,100,91,86,93,68,93,-20,94,-35,96,-49,101,-61,107,-70,114,-77,123,-82,132,-85,143,-87,157,-89,175,-89,66,-6,66,338,33,338,33,-6,147,270,146,286,144,300,139,312,133,321,126,328,108,336,97,338,83,339,65,340,65,334,83,328,96,320,104,308,109,293,110,273,110,189,112,167,116,151,125,139,138,131,157,125,138,118,125,110,116,98,112,82,110,60,110,-22,109,-42,104,-58,96,-69,83,-78,65,-84,65,-89,83,-89,96,-87,108,-85,117,-82,126,-77,133,-71,139,-61,144,-50,146,-36,147,-20,147,68,149,86,153,100,160,111,172,118,190,125,172,131, 107,-70,114,-77,115,110,115,110,114,-77,123,-82,115,110,123,-82,124,98,124,98,123,-82,132,-85,124,98,132,-85,129,-22,129,-22,129,60,128,82,129,-22,128,82,124,98,157,-89,175,-89,175,-84,157,-89,175,-84,157,-78,157,-89,157,-78,144,-69,157,-89,144,-69,143,-87,136,-58,131,-42,132,-85,136,-58,132,-85,143,-87,136,-58,143,-87,144,-69,102,118,83,124,87,100,102,118,87,100,91,86,102,118,91,86,93,68,102,118,93,68,94,-35,102,118,94,-35,96,-49,102,118,96,-49,101,-61,102,118,101,-61,107,-70,102,118,107,-70,115,110,93,68,93,-20,94,-35,80,110,87,100,83,124,80,110,83,124,87,149,80,110,87,149,80,139,80,110,80,139,67,118,157,339,144,338,144,320,157,339,144,320,157,328,157,339,157,328,175,334,157,339,175,334,175,340,129,273,131,293,132,336,132,336,131,293,136,308,132,336,136,308,144,338,144,338,136,308,144,320,114,328,115,140,123,332,123,332,115,140,124,151,123,332,124,151,129,273,129,273,124,151,128,167,129,273,128,167,129,189,107,321,100,312,102,131,107,321,102,131,115,140,107,321,115,140,114,328,102,131,100,312,96,300,102,131,96,300,94,287,102,131,94,287,93,271,102,131,93,271,93,181,102,131,93,181,91,163,102,131,91,163,87,149,102,131,87,149,83,124,67,131,50,125,67,118,67,131,67,118,80,139,123,332,129,273,132,336,129,-22,132,-85,131,-42, 66,-6,66,338,33,338,33,-6,147,270,146,286,144,300,139,312, 66,-6,66,338,33,338,66,-6,33,338,33,-6, 147,270,146,286,144,300,139,312,133,321,126,328,108,336,97,338,83,339,65,340,65,334,83,328,96,320,104,308,109,293,110,273,110,189,112,167,116,151,125,139,138,131,157,125,138,118,125,110,116,98,112,82,110,60,110,-22,109,-42,104,-58,96,-69,83,-78,65,-84,65,-89,83,-89,96,-87,108,-85,117,-82,126,-77,133,-71,139,-61,144,-50,146,-36,147,-20,147,68,149,86,153,100,160,111,172,118,190,125,172,131,160,139,153,149,149,163,147,181,233,162,227,151,219,141,211,133,201,128,189,126,179,127,157,135,148,140,141,143,124,150,111,155,100,158,92,160,83,160,69,159,56,154,43,146,31,134,20,117,38,92,44,104,51,114,60,122,70,126,80,128,92,127,103,125,114,122,122,119,128,116,143,107,155,101,166,97,176,95,189,94,202,95,214,100,226,108,238,120,251,137,101,209,100,217,96,224,90,229,83,233,75,234,66,233,59,229,53,224,49,217,48,209,49,200,53,192,58,186, 110,273,112,167,110,273,110,273,112,167,117,332,110,273,117,332,109,293,109,293,117,332,108,336,109,293,108,336,104,308,104,308,108,336,97,338,104,308,97,338,96,320,96,320,97,338,83,339,96,320,83,339,83,328,83,328,83,339,65,340,83,328,65,340,65,334,147,181,147,270,146,286,147,181,146,286,144,300,147,181,144,300,139,312,147,181,139,312,138,131,147,181,138,131,149,163,172,118,190,125,172,131,172,118,172,131,160,111,160,111,172,131,160,139,160,111,160,139,157,125,157,125,160,139,153,149,157,125,153,149,149,163,112,167,116,151,117,332,117,332,116,151,125,139,117,332,125,139,126,328,126,328,125,139,138,131,126,328,138,131,133,321,133,321,138,131,139,312,157,125,138,118,149,86,157,125,149,86,153,100,157,125,153,100,160,111,147,68,149,86,138,118,147,68,138,118,139,-61,147,68,139,-61,144,-50,147,68,144,-50,146,-36,147,68,146,-36,147,-20,116,98,117,-82,125,110,125,110,117,-82,126,-77,125,110,126,-77,138,118,138,118,126,-77,133,-71,138,118,133,-71,139,-61,117,-82,116,98,112,82,117,-82,112,82,110,60,117,-82,110,60,110,-22,117,-82,110,-22,109,-42,117,-82,109,-42,108,-85,104,-58,96,-69,96,-87,104,-58,96,-87,108,-85,104,-58,108,-85,109,-42,83,-78,65,-84,83,-89,83,-78,83,-89,96,-87,83,-78,96,-87,96,-69,83,-89,65,-84,65,-89,149,163,138,131,157,125,112,167,110,273,110,189, 233,162,227,151,219,141,211,133,201,128,189,126,179,127,157,135,148,140,141,143,124,150,111,155,100,158,92,160,83,160,69,159,56,154,43,146,31,134,20,117,38,92,44,104,51,114,60,122,70,126,80,128,92,127,103,125,114,122,122,119,128,116,143,107,155,101,166,97,176,95,189,94,202,95,214,100,226,108,238,120,251,137,101,209,100,217,96,224,90,229,83,233,75,234,66,233,59,229,53,224,49,217,48,209,49,200,53,192,58,186,66,182,74,181,83,182,90,186,96,192,100,200,101,209,16383,16383,78,141,71,141,49,-49,49,-53,48,-57,48,-69,49,-82,52,-93,58,-101,65,-106,75,-108,84,-106,91,-100,96,-92,100,-81,101,-68,101,-57,100,-53,100,-49, 92,160,83,160,92,127,92,127,83,160,80,128,70,126,80,128,83,160,70,126,83,160,69,159,141,143,128,116,143,107,141,143,143,107,148,140,148,140,143,107,155,101,148,140,155,101,157,135,157,135,155,101,166,97,157,135,166,97,168,131,168,131,166,97,176,95,168,131,176,95,179,127,179,127,176,95,189,94,179,127,189,94,189,126,189,126,189,94,202,95,189,126,202,95,201,128,92,160,92,127,100,158,100,158,92,127,103,125,100,158,103,125,111,155,111,155,103,125,114,122,111,155,114,122,124,150,124,150,114,122,122,119,124,150,122,119,128,116,201,128,202,95,211,133,211,133,202,95,214,100,211,133,214,100,219,141,219,141,214,100,226,108,219,141,226,108,227,151,227,151,226,108,238,120,227,151,238,120,233,162,233,162,238,120,251,137,44,104,51,114,56,154,56,154,51,114,60,122,56,154,60,122,69,159,69,159,60,122,70,126,43,146,31,134,38,92,43,146,38,92,44,104,43,146,44,104,56,154,38,92,31,134,20,117,128,116,141,143,124,150, 101,209,100,217,96,224,90,229,83,233,75,234,66,233,59,229,53,224,49,217,48,209,49,200,53,192,58,186,66,182,74,181,83,182,90,186,96,192,100,200,101,209,16383,16383,78,141,71,141,49,-49,49,-53,48,-57,48,-69,49,-82,52,-93,58,-101,65,-106,75,-108,84,-106,91,-100,96,-92,100,-81,101,-68,101,-57,100,-53,100,-49,218,82,203,62,189,48,175,39,160,33,144,32,138,32,133,33,127,34,121,36,114,38,165,184,170,173,176,166,181,161,187,158,194,157,201,158,207,161,211,166,214,173,215,180,214,190,209,200,202,208,191,216,178,222,201,290,184,290,162,228,155,229,150,229,145,230,137,230,101,224,71,207,47,181,32,148,26,109,27,94,30,79, 48,209,49,200,49,217,49,217,49,200,53,192,49,217,53,192,53,224,53,224,53,192,58,186,53,224,58,186,59,229,59,229,58,186,66,182,59,229,66,182,66,233,66,233,66,182,74,181,66,233,74,181,75,234,75,234,74,181,83,182,75,234,83,182,83,233,83,233,83,182,90,186,83,233,90,186,90,229,90,229,90,186,96,192,90,229,96,192,96,224,96,224,96,192,100,200,96,224,100,200,100,217,100,217,100,200,101,209,100,-49,78,141,84,-106,100,-49,84,-106,91,-100,100,-49,91,-100,96,-92,100,-49,96,-92,100,-81,100,-49,100,-81,101,-68,100,-49,101,-68,100,-53,58,-101,65,-106,71,141,71,141,65,-106,75,-108,71,141,75,-108,78,141,78,141,75,-108,84,-106,71,141,49,-49,49,-82,71,141,49,-82,52,-93,71,141,52,-93,58,-101,49,-82,49,-49,49,-53,49,-82,49,-53,48,-57,49,-82,48,-57,48,-61,49,-82,48,-61,48,-65,49,-82,48,-65,48,-69,101,-68,101,-64,101,-61,101,-68,101,-61,101,-57,101,-68,101,-57,100,-53, 218,82,203,62,189,48,175,39,160,33,144,32,138,32,133,33,127,34,121,36,114,38,165,184,170,173,176,166,181,161,187,158,194,157,201,158,207,161,211,166,214,173,215,180,214,190,209,200,202,208,191,216,178,222,201,290,184,290,162,228,155,229,150,229,145,230,137,230,101,224,71,207,47,181,32,148,26,109,27,94,30,79,34,64,40,50,47,38,53,30,59,24,66,18,74,12,84,6,59,-68,76,-68,100,0,107,-1,119,-3,140,-3,151,0,161,3,171,8,180,15,190,24,198,33,206,45,214,59,224,78,16383,16383,99,49,86,63,76,77,70,92,66,110,65,130,68,158,77,182,91,200,110,211,133,215,138,215,142,214,147,213,151,212,156,210,172,164,172,186,109,186,107,205,106,220,105,233,104,245,104,256,106,280,112,299,122,313,135,322,151,325,161,324,169,321,175,315,178,308,180,299,180,285,182,275,186,269,191,266,199,265,207,266,214,270,219,276,223,283,224,291,221,306,212,319,198,329,180,336,159,338,126,333,99,317,79,293,66,261,61,221,62,214,62,208,64,194,65,186,12,186,12,164,65,164,68,147,71,127,73,109,75,93,76,81,76,69,75,67,75,63,69,64,64,64,60,65,51,65,36,63,24,58,14,50,8,40,6,27,8,16,12,8,19,1,28,-2,40,-3,50,-2,59,0,68,6,78,14,89,27,107,15,123,6,136,1,149,-1,161,-2,175,-1,188,1,201,7,212,15, 156,210,99,49,100,0,100,0,99,49,86,63,100,0,86,63,84,6,84,6,86,63,76,77,84,6,76,77,74,12,74,12,76,77,70,92,74,12,70,92,66,110,53,30,59,24,65,130,65,130,66,18,66,110,66,110,66,18,74,12,113,-2,119,-3,114,38,114,38,119,-3,121,36,121,36,119,-3,124,-3,121,36,124,-3,127,34,127,34,124,-3,129,-3,127,34,129,-3,133,33,133,33,129,-3,140,-3,133,33,140,-3,138,32,138,32,140,-3,144,32,160,33,144,32,151,0,160,33,151,0,161,3,114,38,165,184,156,210,156,210,162,228,155,229,156,210,155,229,151,212,151,212,155,229,150,229,151,212,150,229,147,213,147,213,150,229,145,230,147,213,145,230,142,214,142,214,145,230,141,230,142,214,141,230,138,215,138,215,141,230,137,230,138,215,137,230,133,215,184,290,162,228,165,184,184,290,165,184,170,173,184,290,170,173,178,222,184,290,178,222,201,290,170,173,176,166,178,222,178,222,176,166,181,161,178,222,181,161,191,216,191,216,181,161,187,158,191,216,187,158,194,157,114,38,156,210,100,0,114,38,100,0,107,-1,114,38,107,-1,113,-2,76,-68,100,0,84,6,76,-68,84,6,59,-68,194,157,201,158,202,208,202,208,201,158,207,161,202,208,207,161,209,200,209,200,207,161,211,166,209,200,211,166,214,190,214,190,211,166,214,173,214,190,214,173,215,180,77,182,91,200,101,224,101,224,91,200,110,211,101,224,110,211,137,230,137,230,110,211,133,215,71,207,47,181,47,38,71,207,47,38,53,30,71,207,53,30,65,130,71,207,65,130,68,158,71,207,68,158,77,182,71,207,77,182,101,224,27,94,30,79,32,148,32,148,30,79,34,64,32,148,34,64,47,181,47,181,34,64,40,50,47,181,40,50,47,38,190,24,198,33,203,62,203,62,198,33,206,45,203,62,206,45,218,82,218,82,206,45,214,59,218,82,214,59,224,78,161,3,171,8,175,39,175,39,171,8,180,15,175,39,180,15,189,48,189,48,180,15,190,24,189,48,190,24,203,62,144,32,140,-3,151,0,160,33,161,3,175,39,27,94,32,148,26,109,191,216,194,157,202,208,156,210,165,184,162,228,66,18,65,130,59,24, 172,164,172,186,109,186,107,205,106,220,105,233,104,245,104,256,106,280,112,299,122,313,135,322,151,325,161,324,169,321,175,315,178,308,180,299,180,285,182,275,186,269,191,266,199,265,207,266,214,270,219,276,223,283,224,291,221,306,212,319,198,329,180,336,159,338,126,333,99,317,79,293,66,261,61,221,62,214,62,208,64,194,65,186,12,186,12,164,65,164,68,147,71,127,73,109,75,93,76,81,76,69,75,67,75,63,69,64,64,64,60,65,51,65,36,63,24,58,14,50,8,40,6,27,8,16,12,8,19,1,28,-2,40,-3,50,-2,59,0,68,6,78,14,89,27,107,15,123,6,136,1,149,-1,161,-2,175,-1,188,1,201,7,212,15,223,24,229,32,235,42,240,52,244,61,245,68,245,69,244,70,240,70,238,69,236,67,233,65,230,62,230,63,221,54,210,47,199,42,187,39,174,38,160,38,147,40,133,43,117,48,99,55,109,105,111,117,112,125,112,164,16383,16383,71,38,71,35,68,29,66,26,64,22,59,18,55,14,50,12,46,10,40,10,33,11,27,13,23,17,20,22,19,28,20,35,23,40,28,44,35,46,44,47,52,46,59,45,65,43,69,41,71,38,261,20,213,68,221,81,226,93,230,105,232,118,233,132,232,146,230,158,226,170,221,182,213,194,261,243,237,267,188,219,176,226,165,232,153,235,140,238,112,238,99,236,87,232,75,226,62,219,14,267,-10,243,38,194,30,182,24,170,20,158,18,145,17,131,18,117,20,105,24,92,30,80,38,68,-10,20,14,-4,62,44,74,36,87,31,99,27,112,24,126,23,139,24,152,27,164,31,176,37,188,44,237,-4,16383,16383,199,132,195,108,185,86,169,70,149,59,126,55,102,59,82,70,66,86,55,107,51,132,55,155,66,176,81,192,101,203,124,206,148,203,168,192,184,176,195,156,199,132,256,331,158,331,158,321,174,321,181,319,186,315,190,311,191,306,191,303,190,299,188,294,187,289,184,284,128,174,69,285,67,289,65,294,64,299,63,303,63,307,64,313,67,317,73,319,83,321,95,321,95,331,-25,331,-25,321,-13,319,-3,314,7,304,18,287,32,262,80,176,8,176,8,156,92,156,95,149,95,111,8,111,8,91,95,91,95,60,94,39,91,25,84,16,72,11,55,9,55,0,177,0,177,9,161,11,150,16,142,24,138,37,137,55,137,91,224,91,224,111,137,111,137,149,141,156, 59,18,55,14,59,0,59,0,55,14,50,12,59,0,50,12,50,-2,50,-2,50,12,46,10,50,-2,46,10,40,-3,40,-3,46,10,40,10,69,64,64,64,65,43,65,43,64,64,60,65,65,43,60,65,59,45,59,45,60,65,56,65,59,45,56,65,52,46,52,46,56,65,51,65,52,46,51,65,44,47,20,35,23,40,24,58,24,58,23,40,28,44,24,58,28,44,36,63,36,63,28,44,35,46,36,63,35,46,44,47,20,22,19,28,19,1,19,1,19,28,14,50,14,50,19,28,24,58,24,58,19,28,20,35,71,35,70,33,78,14,78,14,70,33,68,29,78,14,68,29,68,6,68,6,68,29,66,26,68,6,66,26,64,22,64,22,59,18,68,6,68,6,59,18,59,0,75,67,75,65,78,14,78,14,75,65,75,62,78,14,75,62,71,38,71,38,75,62,75,63,71,38,75,63,69,41,69,41,75,63,69,64,69,41,69,64,65,43,78,14,71,38,71,35,89,27,107,15,99,55,99,55,107,15,117,48,117,48,107,15,123,6,117,48,123,6,133,43,133,43,123,6,136,1,133,43,136,1,147,40,147,40,136,1,149,-1,147,40,149,-1,160,38,160,38,149,-1,161,-2,160,38,161,-2,174,38,174,38,161,-2,175,-1,174,38,175,-1,187,39,99,55,105,85,104,256,104,256,106,280,99,317,99,317,106,280,112,299,99,317,112,299,126,333,126,333,112,299,122,313,126,333,122,313,135,322,180,336,159,338,161,324,161,324,159,338,151,325,135,322,151,325,159,338,135,322,159,338,126,333,221,306,212,319,214,270,221,306,214,270,219,276,221,306,219,276,223,283,221,306,223,283,224,291,186,269,191,266,198,329,198,329,191,266,199,265,198,329,199,265,212,319,212,319,199,265,207,266,212,319,207,266,214,270,178,308,180,299,180,336,180,336,180,299,180,285,180,336,180,285,198,329,198,329,180,285,182,275,198,329,182,275,186,269,180,336,161,324,169,321,180,336,169,321,175,315,180,336,175,315,178,308,76,71,78,14,76,73,76,73,78,14,79,293,79,293,78,14,89,27,79,293,89,27,99,317,99,317,89,27,99,55,99,317,99,55,104,256,109,105,111,117,109,186,109,186,111,117,112,164,109,186,112,164,172,186,172,186,112,164,172,164,109,186,107,205,109,105,109,105,107,205,106,220,109,105,106,220,105,85,105,85,106,220,105,233,105,85,105,233,104,245,112,139,112,146,112,133,112,133,112,146,112,152,112,133,112,152,112,125,112,125,112,152,112,158,112,125,112,158,112,164,229,32,230,62,223,24,223,24,230,62,221,54,223,24,221,54,212,15,212,15,221,54,210,47,212,15,210,47,201,7,201,7,210,47,199,42,201,7,199,42,188,1,188,1,199,42,187,39,188,1,187,39,175,-1,245,69,244,70,245,68,245,68,244,70,244,61,244,61,244,70,243,70,244,61,243,70,242,70,240,52,244,61,242,70,240,52,242,70,240,70,240,52,240,70,238,69,240,52,238,69,236,67,240,52,236,67,235,42,235,42,236,67,233,65,235,42,233,65,230,62,235,42,230,62,229,32,79,293,66,261,68,147,79,293,68,147,71,127,79,293,71,127,73,109,79,293,73,109,75,93,79,293,75,93,76,81,79,293,76,81,76,73,66,261,61,221,62,214,66,261,62,214,62,208,66,261,62,208,63,201,66,261,63,201,64,194,66,261,64,194,65,186,66,261,65,186,65,164,66,261,65,164,68,147,76,69,75,67,78,14,76,69,78,14,76,71,65,164,65,186,12,186,65,164,12,186,12,164,33,11,27,13,28,-2,33,11,28,-2,40,-3,33,11,40,-3,40,10,28,-2,27,13,23,17,28,-2,23,17,20,22,28,-2,20,22,19,1,6,27,8,16,8,40,8,40,8,16,12,8,8,40,12,8,14,50,14,50,12,8,19,1,221,54,230,62,230,63,112,125,112,164,111,117,104,256,105,85,104,245,44,47,51,65,36,63, 261,20,213,68,221,81,226,93,230,105,232,118,233,132,232,146,230,158,226,170,221,182,213,194,261,243,237,267,188,219,176,226,165,232,153,235,140,238,112,238,99,236,87,232,75,226,62,219,14,267,-10,243,38,194,30,182,24,170,20,158,18,145,17,131,18,117,20,105,24,92,30,80,38,68,-10,20,14,-4,62,44,74,36,87,31,99,27,112,24,126,23,139,24,152,27,164,31,176,37,188,44,237,-4,16383,16383,199,132,195,108,185,86,169,70,149,59,126,55,102,59,82,70,66,86,55,107,51,132,55,155,66,176,81,192,101,203,124,206,148,203,168,192,184,176,195,156,199,132,256,331,158,331,158,321,174,321,181,319,186,315,190,311,191,306,191,303,190,299,188,294,187,289,184,284,128,174,69,285,67,289,65,294,64,299,63,303,63,307,64,313,67,317,73,319,83,321,95,321,95,331,-25,331,-25,321,-13,319,-3,314,7,304,18,287,32,262,80,176,8,176,8,156,92,156,95,149,95,111,8,111,8,91,95,91,95,60,94,39,91,25,84,16,72,11,55,9,55,0,177,0,177,9,161,11,150,16,142,24,138,37,137,55,137,91,224,91,224,111,137,111,137,149,141,156,224,156,224,176,151,176,197,268,207,286,218,300,229,310,242,317,256,321,66,200,66,338, 99,27,112,24,102,59,102,59,112,24,126,55,149,59,126,55,126,23,149,59,126,23,139,24,62,219,14,267,38,194,62,219,38,194,38,68,62,219,38,68,51,132,62,219,51,132,55,155,62,219,55,155,66,176,62,219,66,176,75,226,66,86,55,107,62,44,62,44,55,107,51,132,140,238,126,238,148,203,148,203,126,238,124,206,101,203,124,206,112,238,101,203,112,238,99,236,87,232,75,226,81,192,87,232,81,192,101,203,87,232,101,203,99,236,261,20,213,68,237,-4,237,-4,213,68,195,108,237,-4,195,108,188,44,188,44,195,108,185,86,188,44,185,86,176,37,176,37,185,86,169,70,176,37,169,70,164,31,164,31,169,70,152,27,149,59,139,24,152,27,149,59,152,27,169,70,195,156,199,132,213,194,195,156,213,194,237,267,237,267,213,194,261,243,165,232,168,192,176,226,176,226,168,192,184,176,176,226,184,176,188,219,188,219,184,176,195,156,188,219,195,156,237,267,153,235,140,238,148,203,153,235,148,203,168,192,153,235,168,192,165,232,213,194,213,68,221,182,221,182,213,68,221,81,221,182,221,81,226,170,226,170,221,81,226,93,226,170,226,93,230,158,230,158,226,93,230,105,230,158,230,105,232,146,232,146,230,105,232,118,232,146,232,118,233,132,213,68,213,194,199,132,213,68,199,132,195,108,126,55,112,24,126,23,126,238,112,238,124,206,99,27,102,59,87,31,87,31,102,59,82,70,87,31,82,70,74,36,74,36,82,70,66,86,74,36,66,86,62,44,38,68,14,-4,62,44,38,68,62,44,51,132,38,68,38,194,30,80,30,80,38,194,30,182,30,80,30,182,24,92,24,92,30,182,24,170,24,92,24,170,20,105,20,105,24,170,20,158,20,105,20,158,18,117,18,117,20,158,18,145,18,117,18,145,17,131,14,-4,38,68,-10,20,75,226,66,176,81,192,38,194,14,267,-10,243, 256,331,158,331,158,321,174,321,181,319,186,315,190,311,191,306,191,303,190,299,188,294,187,289,184,284,128,174,69,285,67,289,65,294,64,299,63,303,63,307,64,313,67,317,73,319,83,321,95,321,95,331,-25,331,-25,321,-13,319,-3,314,7,304,18,287,32,262,80,176,8,176,8,156,92,156,95,149,95,111,8,111,8,91,95,91,95,60,94,39,91,25,84,16,72,11,55,9,55,0,177,0,177,9,161,11,150,16,142,24,138,37,137,55,137,91,224,91,224,111,137,111,137,149,141,156,224,156,224,176,151,176,197,268,207,286,218,300,229,310,242,317,256,321,66,200,66,338,33,338,33,200,16383,16383,66,-6,66,131,33,131,33,-6,100,257,94,262,86,276,84,284,83,292,85,304,91,314,100,321,111,326,126,328,135,327,144,324,150,321,155,316,156,311,156,310,155,309,154,307,152,306,144,298,142,293,140,289,140,284,141,277,144,271,149,266,155,263,163,262,172,263,179,267,184,272,188,280,189,289,185,305,177,318,163,329,145,336,124,338,101,335,82,327,68,314,58,297,55,277,57,262,61,248,70,235,84,220,105,202,99,202,97,203,92,203,74,200,58,191,46,179,38,162,35,143,38,121,48,100,64,79,88,57,121,32,137,20, 32,262,80,176,32,262,32,262,80,176,63,303,32,262,63,303,63,307,63,307,64,313,32,262,91,25,84,16,177,0,177,0,84,16,72,11,177,0,72,11,55,9,95,331,-25,331,-13,319,95,331,-13,319,-3,314,95,331,-3,314,7,304,95,331,7,304,67,317,95,331,67,317,73,319,95,331,73,319,83,321,95,331,83,321,95,321,18,287,32,262,64,313,18,287,64,313,67,317,18,287,67,317,7,304,184,284,128,174,137,149,184,284,137,149,141,156,184,284,141,156,151,176,184,284,151,176,197,268,184,284,197,268,187,289,256,331,158,331,166,321,256,331,166,321,174,321,256,331,174,321,181,319,256,331,181,319,186,315,256,331,186,315,190,311,256,331,190,311,191,306,256,331,191,306,229,310,256,331,229,310,242,317,256,331,242,317,256,321,197,268,207,286,191,306,197,268,191,306,191,303,197,268,191,303,190,299,197,268,190,299,188,294,197,268,188,294,187,289,218,300,229,310,191,306,218,300,191,306,207,286,92,156,95,149,128,174,128,174,95,149,138,37,128,174,138,37,137,55,137,111,137,91,224,91,137,111,224,91,224,111,151,176,141,156,224,156,151,176,224,156,224,176,177,0,177,9,161,11,177,0,161,11,150,16,177,0,150,16,94,39,177,0,94,39,91,25,142,24,138,37,95,149,142,24,95,149,95,111,142,24,95,111,95,91,142,24,95,91,95,60,142,24,95,60,150,16,8,111,8,91,95,91,8,111,95,91,95,111,80,176,8,176,92,156,80,176,92,156,128,174,80,176,128,174,69,285,80,176,69,285,67,289,80,176,67,289,65,294,80,176,65,294,64,299,80,176,64,299,63,303,92,156,8,176,8,156,177,0,55,9,55,0,94,39,150,16,95,60,137,149,128,174,137,55,166,321,158,331,158,321,-13,319,-25,331,-25,321, 66,200,66,338,33,338,33,200,16383,16383,66,-6,66,131,33,131,33,-6,100,257,94,262,86,276,84,284,83,292,85,304,91,314,100,321,111,326, 33,338,33,200,66,200,33,338,66,200,66,338,33,131,33,-6,66,-6,33,131,66,-6,66,131, 100,257,94,262,86,276,84,284,83,292,85,304,91,314,100,321,111,326,126,328,135,327,144,324,150,321,155,316,156,311,156,310,155,309,154,307,152,306,144,298,142,293,140,289,140,284,141,277,144,271,149,266,155,263,163,262,172,263,179,267,184,272,188,280,189,289,185,305,177,318,163,329,145,336,124,338,101,335,82,327,68,314,58,297,55,277,57,262,61,248,70,235,84,220,105,202,99,202,97,203,92,203,74,200,58,191,46,179,38,162,35,143,38,121,48,100,64,79,88,57,121,32,137,20,150,8,159,-2,164,-13,165,-24,163,-37,157,-48,148,-56,136,-61,122,-63,111,-62,101,-59,93,-55,88,-50,86,-45,86,-44,87,-42,90,-39,92,-38,96,-33,99,-29,103,-21,103,-17,102,-10,99,-5,93,0,87,2,79,3,70,2,63,-1,57,-7,53,-14,52,-23,55,-39,65,-53,80,-64,99,-71,121,-73,145,-70,165,-62,180,-48,190,-31,193,-10,192,4,187,17,179,30,165,45,146,63,152,63,173,65,190,73,202,86,210,102,213,123,211,139,206,154,197,170,184,185,169,200,16383,16383,187,105,185,96,180,87,172,80,163,75,152,73,141,75,129,79,116,87,101,99,84,114,75,124,69,133,65,141,62,149,61,158,63,169,68,178,75,185,84,190,95,191,106,190,118,184,132,176,146,165,161,152,170,142,177,132,183,123,186,114,187,105,158,286,157,294,153,301,148,306,141,310,133,311,125,310,118,306,113,301,110,294,108,286,109,278,113,272,118,266,125,263,132,262,140,263,148,266,153,272,157,278,158,286,16383,16383,59,286,57,294,54,301,48,306,41,310,33,311,26,310,19,306,14,301,10,294,9,286,10,278,14,272,19,266,25,263,33,262,41,263,48,266,54,272,57,278,59,286,273,124,266,124,257,108,247,95,236,87,223,82,208,80,183,84,162,95,147,113,137,138,133,169,137,197,146,221,161,240,180,252,205,256,221,254,234,249,245,240,253,227,257,211,266,211,266,247,265,249,264,250,263,252,261,254,259,255,249,259,238,262,216,266,205,266,169,262,138,248,115,227,100,199,95,165,99,133,112,107,132,87,158,75,191,70,210,71,230,74,247,78,260,82,265,86,16383,16383,361,165,352,220,329,267,292,305,246,329,193,338,137,329,89,305,52,268,28,220,19,165,28,110,52,63,89,26,136,1,190,-6,245,1,292,26,329,63,353,110,361,165,16383,16383,334,167,326,119,306,77,275,44,235,22,190,14,145,22,106,43,74,76,54,118,46,166,54,213,74,254,106,287,144,309,189,317,234,309,274,288,305,255,326,214,334,167,135,221,129,217,127,216,124,215,118,215,116,217,115,220,115,225,114,233,114,290,112,307,106,321,96,330,81,336,62,338,44,337,29,332, 101,335,82,327,85,304,85,304,82,327,83,292,84,220,83,292,82,327,84,220,82,327,70,235,70,235,82,327,68,314,70,235,68,314,61,248,61,248,68,314,58,297,61,248,58,297,57,262,57,262,58,297,55,277,69,133,88,57,75,124,75,124,88,57,84,114,101,99,84,114,88,57,101,99,88,57,121,32,95,191,94,203,92,203,95,191,92,203,84,190,95,191,97,203,94,203,63,169,68,178,74,200,74,200,68,178,75,185,74,200,75,185,92,203,92,203,75,185,84,190,74,200,58,191,63,169,63,169,58,191,61,158,64,79,61,158,58,191,64,79,58,191,48,100,48,100,58,191,46,179,48,100,46,179,38,121,38,121,46,179,38,162,38,121,38,162,35,143,165,45,146,63,150,8,150,8,146,63,141,75,150,8,141,75,137,20,137,20,141,75,129,79,137,20,129,79,121,32,121,32,129,79,116,87,121,32,116,87,101,99,163,-37,157,-48,165,-62,165,-62,157,-48,148,-56,165,-62,148,-56,145,-70,145,-70,148,-56,136,-61,145,-70,136,-61,122,-63,122,-63,111,-62,121,-73,121,-73,111,-62,101,-59,121,-73,101,-59,99,-71,99,-71,101,-59,93,-55,99,-71,93,-55,88,-50,79,3,80,-64,87,2,87,2,80,-64,86,-45,88,-50,86,-45,80,-64,88,-50,80,-64,99,-71,144,324,145,336,135,327,135,327,145,336,126,328,111,326,126,328,124,338,111,326,124,338,101,335,101,335,85,304,91,314,101,335,91,314,100,321,101,335,100,321,111,326,152,73,146,63,152,63,152,73,152,63,173,65,152,73,141,75,146,63,180,87,172,80,173,65,173,65,172,80,163,75,173,65,163,75,152,73,118,184,132,176,169,200,169,200,132,176,146,165,169,200,146,165,161,152,161,152,170,142,169,200,169,200,170,142,184,185,213,123,211,139,210,102,210,102,211,139,206,154,210,102,206,154,202,86,202,86,206,154,197,170,202,86,197,170,190,73,190,73,197,170,187,105,190,73,187,105,185,96,190,73,185,96,180,87,177,132,183,123,184,185,184,185,183,123,186,114,184,185,186,114,197,170,197,170,186,114,187,105,106,190,118,184,169,200,106,190,169,200,105,202,106,190,105,202,102,202,106,190,102,202,99,202,106,190,99,202,97,203,106,190,97,203,95,191,100,257,94,262,105,202,100,257,105,202,169,200,94,262,90,269,105,202,105,202,90,269,86,276,105,202,86,276,84,220,84,220,86,276,84,284,84,220,84,284,83,292,193,-10,192,4,190,-31,190,-31,192,4,187,17,190,-31,187,17,180,-48,180,-48,187,17,179,30,180,-48,179,30,165,45,165,45,150,8,159,-2,165,45,159,-2,164,-13,165,45,164,-13,165,-24,165,45,165,-24,165,-62,165,45,165,-62,180,-48,163,-37,165,-62,165,-24,122,-63,121,-73,145,-70,156,311,156,310,163,262,163,262,156,310,155,309,163,262,155,309,155,263,155,263,155,309,154,307,155,263,154,307,152,306,163,329,156,311,163,262,155,316,156,311,163,329,155,316,163,329,150,321,150,321,163,329,145,336,150,321,145,336,144,324,145,336,124,338,126,328,185,305,177,318,179,267,185,305,179,267,184,272,185,305,184,272,188,280,185,305,188,280,189,289,177,318,163,329,163,262,177,318,163,262,172,263,177,318,172,263,179,267,149,266,155,263,152,306,149,266,152,306,148,302,149,266,148,302,144,298,149,266,144,298,144,271,142,293,140,289,141,277,142,293,141,277,144,271,142,293,144,271,144,298,102,-10,99,-5,99,-29,102,-10,99,-29,101,-25,102,-10,101,-25,103,-21,102,-10,103,-21,103,-17,99,-29,99,-5,96,-33,96,-33,99,-5,93,0,96,-33,93,0,92,-38,92,-38,93,0,90,-39,86,-45,86,-44,87,2,87,2,86,-44,87,-42,87,2,87,-42,93,0,93,0,87,-42,88,-41,93,0,88,-41,90,-39,70,2,63,-1,65,-53,70,2,65,-53,80,-64,70,2,80,-64,79,3,57,-7,53,-14,55,-39,57,-7,55,-39,65,-53,57,-7,65,-53,63,-1,65,141,62,149,64,79,65,141,64,79,88,57,65,141,88,57,69,133,61,158,64,79,62,149,55,-39,53,-14,52,-23,141,277,140,289,140,284,180,87,173,65,190,73,184,185,170,142,177,132, 158,286,157,294,153,301,148,306,141,310,133,311,125,310,118,306,113,301,110,294,108,286,109,278,113,272,118,266,125,263,132,262,140,263,148,266,153,272,157,278,158,286,16383,16383,59,286,57,294,54,301,48,306,41,310,33,311,26,310,19,306,14,301,10,294,9,286,10,278,14,272,19,266,25,263,33,262,41,263,48,266,54,272,57,278,59,286,273,124,266,124,257,108,247,95,236,87,223,82,208,80,183,84,162,95,147,113,137,138,133,169,137,197,146,221,161,240,180,252,205,256,221,254,234,249,245,240,253,227,257,211,266,211,266,247,265,249,264,250,263,252,261,254,259,255,249,259,238,262,216,266,205,266,169,262,138,248,115,227,100,199,95,165,99,133,112,107,132,87,158,75,191,70, 108,286,109,278,110,294,110,294,109,278,113,272,110,294,113,272,113,301,113,301,113,272,118,266,113,301,118,266,118,306,118,306,118,266,125,263,118,306,125,263,125,310,125,310,125,263,132,262,125,310,132,262,133,311,133,311,132,262,140,263,133,311,140,263,141,310,141,310,140,263,148,266,141,310,148,266,148,306,148,306,148,266,153,272,148,306,153,272,153,301,153,301,153,272,157,278,153,301,157,278,157,294,157,294,157,278,158,286,9,286,10,278,10,294,10,294,10,278,14,272,10,294,14,272,14,301,14,301,14,272,19,266,14,301,19,266,19,306,19,306,19,266,25,263,19,306,25,263,26,310,26,310,25,263,33,262,26,310,33,262,33,311,33,311,33,262,41,263,33,311,41,263,41,310,41,310,41,263,48,266,41,310,48,266,48,306,48,306,48,266,54,272,48,306,54,272,54,301,54,301,54,272,57,278,54,301,57,278,57,294,57,294,57,278,59,286, 273,124,266,124,257,108,247,95,236,87,223,82,208,80,183,84,162,95,147,113,137,138,133,169,137,197,146,221,161,240,180,252,205,256,221,254,234,249,245,240,253,227,257,211,266,211,266,247,265,249,264,250,263,252,261,254,259,255,249,259,238,262,216,266,205,266,169,262,138,248,115,227,100,199,95,165,99,133,112,107,132,87,158,75,191,70,210,71,230,74,247,78,260,82,265,86,16383,16383,361,165,352,220,329,267,292,305,246,329,193,338,137,329,89,305,52,268,28,220,19,165,28,110,52,63,89,26,136,1,190,-6,245,1,292,26,329,63,353,110,361,165,16383,16383,334,167,326,119,306,77,275,44,235,22,190,14,145,22,106,43,74,76,54,118,46,166,54,213,74,254,106,287,144,309,189,317,234,309,274,288,305,255,326,214,334,167,135,221,129,217,127,216,124,215,118,215,116,217,115,220,115,225,114,233,114,290,112,307,106,321,96,330,81,336,62,338,44,337,29,332,18,325,10,316,8,305,9,300,11,295,14,292,19,290,24,289,29,290,37,294,39,298,40,301,40,303,39,304,39,307,38,309,38,313,39,316,43,319,48,322,54,324,60,324,67,323,72,321,76,316,78,310,79,303,79,288,56,279,40,273,29,268,20,263,13,257,9,253,6,248,4,243,2,231,4,220,9,210,16,203,26,199,37,197,46,198,55,200,64,205,73,211,83,219,85,210,88,204,93,200,98,198,105,197,112,197,117,199,123,202,128,206,135,212,16383,16383,79,237,79,235,78,233,77,230,76,228,74,226,64,222,60,221,56,221,52,220,46,222,41,225,37,230,34,236,33,243,35,250,39,256, 162,95,147,113,158,75,158,75,147,113,137,138,158,75,137,138,132,87,132,87,137,138,133,169,138,248,133,169,137,197,138,248,137,197,146,221,216,266,205,266,221,254,221,254,205,266,205,256,180,252,205,256,205,266,180,252,205,266,169,262,263,252,261,254,266,211,266,211,261,254,259,255,266,211,259,255,257,211,257,211,259,255,253,227,169,262,138,248,146,221,169,262,146,221,161,240,169,262,161,240,180,252,115,227,100,199,112,107,115,227,112,107,132,87,115,227,132,87,133,169,115,227,133,169,138,248,100,199,95,165,99,133,100,199,99,133,112,107,266,124,257,108,260,82,260,82,257,108,247,95,260,82,247,95,247,78,247,78,247,95,236,87,247,78,236,87,230,74,230,74,236,87,223,82,230,74,223,82,210,71,210,71,223,82,208,80,191,70,210,71,208,80,191,70,208,80,183,84,191,70,183,84,162,95,191,70,162,95,158,75,266,211,266,247,265,249,266,211,265,249,264,250,266,211,264,250,263,252,216,266,221,254,227,264,227,264,221,254,234,249,227,264,234,249,238,262,238,262,234,249,245,240,238,262,245,240,249,259,249,259,245,240,253,227,249,259,253,227,259,255,266,124,260,82,265,86,266,124,265,86,273,124,193,338,189,317,234,309,193,338,234,309,246,329,246,329,234,309,274,288,246,329,274,288,292,305,292,305,274,288,305,255,292,305,305,255,329,267,329,267,305,255,326,214,329,267,326,214,334,167,334,167,352,220,329,267,334,167,353,110,352,220,329,63,353,110,334,167,329,63,334,167,326,119,329,63,326,119,306,77,329,63,306,77,292,26,190,14,190,-6,235,22,235,22,190,-6,245,1,235,22,245,1,275,44,275,44,245,1,292,26,275,44,292,26,306,77,54,213,74,254,89,305,89,305,74,254,106,287,89,305,106,287,137,329,137,329,106,287,144,309,137,329,144,309,193,338,193,338,144,309,189,317,28,110,52,63,28,220,28,220,52,63,46,166,52,268,46,166,54,213,52,268,54,213,89,305,145,22,106,43,136,1,145,22,136,1,190,-6,145,22,190,-6,190,14,89,26,136,1,106,43,89,26,106,43,74,76,89,26,74,76,54,118,89,26,54,118,52,63,46,166,52,63,54,118,28,110,28,220,19,165,28,220,46,166,52,268,352,220,353,110,361,165, 135,221,129,217,127,216,124,215,118,215,116,217,115,220,115,225,114,233,114,290,112,307,106,321,96,330,81,336,62,338,44,337,29,332,18,325,10,316,8,305,9,300,11,295,14,292,19,290,24,289,29,290,37,294,39,298,40,301,40,303,39,304,39,307,38,309,38,313,39,316,43,319,48,322,54,324,60,324,67,323,72,321,76,316,78,310,79,303,79,288,56,279,40,273,29,268,20,263,13,257,9,253,6,248,4,243,2,231,4,220,9,210,16,203,26,199,37,197,46,198,55,200,64,205,73,211,83,219,85,210,88,204,93,200,98,198,105,197,112,197,117,199,123,202,128,206,135,212,16383,16383,79,237,79,235,78,233,77,230,76,228,74,226,64,222,60,221,56,221,52,220,46,222,41,225,37,230,34,236,33,243,35,250,39,256,48,262,61,269,79,276,117,113,157,77,172,64,203,33,216,21,222,17,224,17,225,18,227,19,228,20,228,22,227,26,224,31,219,39,212,49,203,60,196,70,188,80,180,91,171,102,161,113,203,166,212,178,219,187,224,194,227,199,228,203,228,205,227,207,225,208,223,208,216,204,204,193,172,163,157,150,16383,16383,21,113,61,77,76,64,107,33,120,21,126,17,128,17,129,18,131,19,132,20,132,22,131,26,128,31,123,39,116,49,107,60,100,70,92,80,65,113,107,166,116,178,123,187,128,194,131,199,132,203,132,205,131,207,129,208,127,208,120,204,108,193,76,163,61,150,276,57,276,196,24,196,24,164,243,164,243,57,142,97,142,128,20,128,20,97,283,76,283,80,276,86,268,94,252,112,244,123,216,162,230,168,241,177,249,188,254,199,256,211,253,228,246,241,233,251,217,258, 38,309,38,310,39,298,39,298,38,310,38,311,39,298,38,311,37,294,37,294,38,311,38,313,44,337,38,313,39,316,44,337,39,316,43,319,39,305,39,307,39,298,39,305,39,298,40,301,40,301,40,302,40,303,40,301,40,303,39,304,40,301,39,304,39,305,46,198,55,200,46,222,46,222,55,200,52,220,56,221,52,220,55,200,56,221,55,200,64,205,81,336,62,338,67,323,67,323,62,338,60,324,54,324,60,324,62,338,54,324,62,338,48,322,48,322,62,338,44,337,48,322,44,337,43,319,78,233,77,230,83,219,83,219,77,230,76,228,83,219,76,228,74,226,74,226,69,224,73,211,73,211,69,224,64,222,73,211,64,222,64,205,64,205,64,222,60,221,64,205,60,221,56,221,24,289,29,290,29,332,29,332,29,290,33,292,29,332,33,292,38,313,38,313,33,292,37,294,11,295,14,292,18,325,18,325,14,292,19,290,18,325,19,290,29,332,29,332,19,290,24,289,10,316,8,305,9,300,10,316,9,300,11,295,10,316,11,295,18,325,81,336,79,276,83,219,81,336,83,219,96,330,96,330,83,219,85,210,96,330,85,210,88,204,81,336,67,323,72,321,81,336,72,321,76,316,81,336,76,316,78,310,81,336,78,310,79,303,81,336,79,303,79,276,98,198,105,197,106,321,106,321,105,197,112,197,106,321,112,197,112,307,112,307,112,197,115,225,112,307,115,225,114,233,117,199,123,202,118,215,118,215,123,202,121,215,124,215,121,215,123,202,124,215,123,202,128,206,135,221,132,219,135,212,135,212,132,219,129,217,135,212,129,217,128,206,128,206,129,217,127,216,128,206,127,216,124,215,117,199,118,215,116,217,117,199,116,217,115,220,117,199,115,220,115,225,117,199,115,225,112,197,96,330,88,204,93,200,96,330,93,200,98,198,96,330,98,198,106,321,83,219,79,276,79,237,83,219,79,237,79,235,83,219,79,235,78,233,74,226,73,211,83,219,35,250,39,256,40,273,40,273,39,256,48,262,40,273,48,262,56,279,56,279,48,262,61,269,56,279,61,269,79,288,79,288,61,269,79,276,79,288,79,276,79,303,40,273,29,268,35,250,35,250,29,268,33,243,37,197,33,243,29,268,37,197,29,268,26,199,26,199,29,268,20,263,26,199,20,263,16,203,16,203,20,263,13,257,16,203,13,257,9,253,41,225,37,230,37,197,41,225,37,197,46,198,41,225,46,198,46,222,34,236,33,243,37,197,34,236,37,197,37,230,9,210,16,203,9,253,9,210,9,253,6,248,9,210,6,248,4,243,9,210,4,243,4,220,3,237,2,231,4,220,3,237,4,220,4,243,114,233,114,290,112,307,29,332,38,313,44,337,38,309,39,298,39,307, 117,113,157,77,172,64,203,33,216,21,222,17,224,17,225,18,227,19,228,20,228,22,227,26,224,31,219,39,212,49,203,60,196,70,188,80,180,91,171,102,161,113,203,166,212,178,219,187,224,194,227,199,228,203,228,205,227,207,225,208,223,208,216,204,204,193,172,163,157,150,16383,16383,21,113,61,77,76,64,107,33,120,21,126,17,128,17,129,18,131,19,132,20,132,22,131,26,128,31,123,39,116,49,107,60,100,70,92,80,65,113,107,166,116,178,123,187,128,194,131,199,132,203,132,205,131,207,129,208,127,208,120,204,108,193,76,163,61,150,276,57,276,196,24,196,24,164,243,164,243,57,142,97,142,128,20,128,20,97,283,76,283,80,276,86,268,94,252,112,244,123,216,162,230,168,241,177,249,188,254,199,256,211,253,228,246,241,233,251,217,258,196,260,110,260,110,252,122,251,128,248,132,244,134,237,134,98,132,91,129,87,121,85,110,84,109,76,190,76,190,84,178,85,171,87,168,92,166,100,166,157,190,157,199,143,206,133,210,127,213,121,216,116,224,101,232,90,239,82,246,77,252,76,16383,16383,166,166,166,251,185,251,199,248,210,243,217,234,221,222,222,209,221,196,216,184,209,175, 203,60,196,70,203,60,203,60,196,70,203,33,203,60,203,33,212,49,212,49,203,33,216,21,212,49,216,21,219,39,219,39,216,21,222,17,219,39,222,17,224,31,224,31,222,17,224,17,224,31,224,17,225,18,227,26,224,31,225,18,227,26,225,18,227,19,227,26,227,19,228,20,227,26,228,20,228,22,171,102,172,64,180,91,180,91,172,64,188,48,180,91,188,48,188,80,188,80,188,48,203,33,188,80,203,33,196,70,161,113,172,163,157,150,161,113,157,150,157,77,161,113,157,77,172,64,161,113,172,64,171,102,228,205,227,207,227,199,228,205,227,199,228,203,228,205,228,203,228,204,188,178,203,166,204,193,204,193,203,166,212,178,204,193,212,178,216,204,216,204,212,178,219,187,216,204,219,187,223,208,223,208,219,187,224,194,223,208,224,194,225,208,225,208,224,194,227,199,225,208,227,199,227,207,172,163,161,113,203,166,172,163,203,166,188,178,107,60,100,70,107,33,107,60,107,33,116,49,116,49,107,33,120,21,116,49,120,21,123,39,123,39,120,21,126,17,123,39,126,17,128,31,128,31,126,17,128,17,128,31,128,17,129,18,131,26,128,31,129,18,131,26,129,18,131,19,131,26,131,19,132,20,131,26,132,20,132,22,74,102,76,64,83,91,83,91,76,64,92,48,83,91,92,48,92,80,92,80,92,48,107,33,92,80,107,33,100,70,65,113,76,163,61,150,65,113,61,150,61,77,65,113,61,77,76,64,65,113,76,64,74,102,132,205,131,207,131,199,132,205,131,199,132,203,132,205,132,203,132,204,92,178,107,166,108,193,108,193,107,166,116,178,108,193,116,178,120,204,120,204,116,178,123,187,120,204,123,187,127,208,127,208,123,187,128,194,127,208,128,194,129,208,129,208,128,194,131,199,129,208,131,199,131,207,76,163,65,113,107,166,76,163,107,166,92,178,61,77,61,150,21,113,157,77,157,150,117,113, 276,57,276,196,24,196,24,164,243,164,243,57,142,97,142,128,20,128,20,97,283,76,283,80, 243,164,243,57,276,57,243,164,276,57,276,196,243,164,276,196,24,196,243,164,24,196,24,164, 142,97,142,128,20,128,20,97,283,76,283,80,276,86,268,94, 142,97,142,128,20,128,142,97,20,128,20,97, 283,76,283,80,276,86,268,94,252,112,244,123,216,162,230,168,241,177,249,188,254,199,256,211,253,228,246,241,233,251,217,258,196,260,110,260,110,252,122,251,128,248,132,244,134,237,134,98,132,91,129,87,121,85,110,84,109,76,190,76,190,84,178,85,171,87,168,92,166,100,166,157,190,157,199,143,206,133,210,127,213,121,216,116,224,101,232,90,239,82,246,77,252,76,16383,16383,166,166,166,251,185,251,199,248,210,243,217,234,221,222,222,209,221,196,216,184,209,175,199,168,187,166,188,166,16383,16383,361,165,352,220,329,267,292,305,246,329,193,338,137,330,89,305,52,268,28,221,19,166,28,111,51,63,88,26,135,1,190,-6,245,1,292,26,329,63,353,110,361,165,16383,16383,334,165,326,118,306,77,275,44,235,22,190,14,145,22,106,43,74,76,54,118,46,166,54,213,74,254,106,287,145,309,189,317,235,309,275,288,306,255,326,213,334,165,161,273,161,300,6,300,6,273,171,267,168,289,158,309,143,324,123,334,101,338,78,335,58,325,42,309,32,290,28,267,32,244,42,224,57,209,77,198,100,195,123,198,142,209,158,224,168,244,171,267,16383,16383,152,267,149,250,142,235,130,223,116,215,100,212,84,215,69,223,58,234,51,249,48,267,51,284,58,298,69,310,83,318,99,321,115,318,130,310,141,299,149,284,152,267,319,121,319,154,188,154,188,251,155,251,155,154,24,154,24,121,155,121,155,17,188,17,188,121,16383,16383,319,-43,319,-10,24,-10,24,-43,148,177,139,181,134,175,124,169,110,167,54,167,95,208,112,226,125,241,133,255,137,269,138,283,136,301,127,316,114,328,97,335,75,338,53,336,35,329,21,317,10,301,1,278,13,271,20,284,28,295,37,302,46,307,57,308,68,306,78,301,86,292,91,282,93,270,91,260,86,247,78,233,67,217,54,201,3,147,3,135,128,135,102,256, 222,209,222,209,222,209,222,209,230,168,233,251,233,251,230,168,241,177,233,251,241,177,246,241,246,241,241,177,249,188,246,241,249,188,253,228,253,228,249,188,254,199,253,228,254,199,256,211,221,222,222,209,233,251,221,222,233,251,217,258,221,222,217,258,217,234,166,251,185,251,196,260,196,260,185,251,199,248,196,260,199,248,217,258,217,258,199,248,210,243,217,258,210,243,217,234,134,226,168,92,166,100,134,226,166,100,166,111,166,166,166,157,190,157,166,166,190,157,187,166,187,166,190,157,188,166,187,166,188,166,199,168,199,168,188,166,190,157,199,168,190,157,199,143,166,251,196,260,132,244,166,251,132,244,134,237,166,251,134,237,134,226,166,251,134,226,166,111,196,260,110,260,122,251,196,260,122,251,128,248,196,260,128,248,132,244,213,121,216,162,216,184,216,184,216,162,230,168,216,184,230,168,221,196,221,196,230,168,222,209,213,121,216,184,210,127,210,127,216,184,209,175,210,127,209,175,206,133,206,133,209,175,199,168,206,133,199,168,199,143,232,90,239,82,244,123,244,123,239,82,246,77,244,123,246,77,252,112,252,112,246,77,252,76,252,112,252,76,260,103,260,103,252,76,283,76,260,103,283,76,268,94,268,94,283,76,276,86,244,123,216,162,216,116,244,123,216,116,224,101,244,123,224,101,232,90,190,76,190,84,178,85,190,76,178,85,171,87,190,76,171,87,134,108,190,76,134,108,134,98,190,76,134,98,132,91,190,76,132,91,129,87,190,76,129,87,121,85,190,76,121,85,110,84,190,76,110,84,109,76,134,111,134,108,171,87,134,111,171,87,168,92,134,111,168,92,134,226,193,338,189,317,235,309,193,338,235,309,246,329,246,329,235,309,275,288,246,329,275,288,292,305,292,305,275,288,306,255,292,305,306,255,329,267,329,267,306,255,326,213,329,267,326,213,334,165,334,165,352,220,329,267,334,165,353,110,352,220,329,63,353,110,334,165,329,63,334,165,326,118,329,63,326,118,306,77,329,63,306,77,292,26,190,14,190,-6,235,22,235,22,190,-6,245,1,235,22,245,1,275,44,275,44,245,1,292,26,275,44,292,26,306,77,54,213,74,254,89,305,89,305,74,254,106,287,89,305,106,287,137,330,137,330,106,287,145,309,137,330,145,309,193,338,193,338,145,309,189,317,28,111,51,63,28,221,28,221,51,63,46,166,52,268,46,166,54,213,52,268,54,213,89,305,145,22,106,43,135,1,145,22,135,1,190,-6,145,22,190,-6,190,14,88,26,135,1,106,43,88,26,106,43,74,76,88,26,74,76,54,118,88,26,54,118,51,63,46,166,51,63,54,118,28,111,28,221,19,166,28,221,46,166,52,268,352,220,353,110,361,165,216,116,216,162,213,121,276,86,283,76,283,80,122,251,110,260,110,252, 161,273,161,300,6,300,6,273,171,267,168,289,158,309,143,324, 161,273,161,300,6,300,161,273,6,300,6,273, 171,267,168,289,158,309,143,324,123,334,101,338,78,335,58,325,42,309,32,290,28,267,32,244,42,224,57,209,77,198,100,195,123,198,142,209,158,224,168,244,171,267,16383,16383,152,267,149,250,142,235,130,223,116,215,100,212,84,215,69,223,58,234,51,249,48,267,51,284,58,298,69,310,83,318,99,321,115,318,130,310,141,299,149,284,152,267,319,121,319,154,188,154,188,251,155,251,155,154,24,154,24,121,155,121,155,17,188,17,188,121,16383,16383,319,-43,319,-10,24,-10,24,-43,148,177,139,181,134,175,124,169,110,167,54,167,95,208,112,226,125,241,133,255,137,269,138,283,136,301,127,316,114,328,97,335,75,338,53,336,35,329,21,317,10,301,1,278,13,271,20,284,28,295,37,302, 83,318,99,321,99,321,101,338,99,321,115,318,101,338,115,318,123,334,123,334,115,318,130,310,123,334,130,310,143,324,143,324,130,310,141,299,143,324,141,299,149,284,171,267,168,289,168,244,168,244,168,289,158,309,168,244,158,309,158,224,158,224,158,309,152,267,158,224,152,267,149,250,158,224,149,250,142,209,142,209,149,250,142,235,142,209,142,235,130,223,158,309,143,324,149,284,158,309,149,284,152,267,142,209,130,223,123,198,123,198,130,223,116,215,123,198,116,215,100,195,100,195,116,215,100,212,58,298,69,310,78,335,78,335,69,310,83,318,78,335,83,318,101,338,101,338,83,318,99,321,42,309,48,267,51,284,42,309,51,284,58,325,58,325,51,284,58,298,58,325,58,298,78,335,84,215,69,223,77,198,84,215,77,198,100,195,84,215,100,195,100,212,48,267,42,224,51,249,51,249,42,224,57,209,51,249,57,209,58,234,58,234,57,209,77,198,58,234,77,198,69,223,28,267,32,244,32,290,32,290,32,244,42,224,32,290,42,224,42,309,42,309,42,224,48,267, 319,121,319,154,188,154,188,251,155,251,155,154,24,154,24,121,155,121,155,17,188,17,188,121,16383,16383,319,-43,319,-10,24,-10,24,-43,148,177,139,181,134,175,124,169,110,167,54,167,95,208,112,226,125,241,133,255,137,269,138,283,136,301,127,316,114,328,97,335,75,338, 188,251,155,251,188,17,188,17,155,251,155,154,188,17,155,154,155,121,155,121,155,154,24,154,155,121,24,154,24,121,188,121,319,121,188,154,24,-10,24,-43,319,-43,24,-10,319,-43,319,-10,188,154,319,121,319,154,188,17,155,121,155,17, 148,177,139,181,134,175,124,169,110,167,54,167,95,208,112,226,125,241,133,255,137,269,138,283,136,301,127,316,114,328,97,335,75,338,53,336,35,329,21,317,10,301,1,278,13,271,20,284,28,295,37,302,46,307,57,308,68,306,78,301,86,292,91,282,93,270,91,260,86,247,78,233,67,217,54,201,3,147,3,135,128,135,102,256,114,263,123,271,129,279,131,288,132,296,130,310,122,321,110,330,95,336,78,338,61,336,46,331,33,322,22,309,11,291,23,281,31,293,39,301,47,306,56,309,66,310,76,309,83,306,89,301,93,295,94,286,92,276,87,267,78,259,65,252,46,244,46,230,52,231,59,231,60,232,76,230,88,225,97,216,103,205,105,190, 54,201,3,147,54,167,54,201,54,167,95,208,54,201,95,208,67,217,13,271,20,284,21,317,21,317,20,284,28,295,21,317,28,295,35,329,35,329,28,295,37,302,35,329,37,302,53,336,53,336,37,302,46,307,53,336,46,307,57,308,57,308,68,306,75,338,75,338,68,306,78,301,75,338,78,301,97,335,97,335,78,301,86,292,97,335,86,292,91,282,10,301,1,278,13,271,10,301,13,271,21,317,91,260,95,208,93,270,93,270,95,208,97,335,97,335,95,208,112,226,97,335,112,226,114,328,114,328,112,226,125,241,114,328,125,241,127,316,127,316,125,241,133,255,127,316,133,255,136,301,136,301,133,255,137,269,136,301,137,269,138,283,97,335,91,282,93,270,75,338,53,336,57,308,95,208,91,260,86,247,95,208,86,247,78,233,95,208,78,233,67,217,129,172,124,169,128,135,128,135,124,169,117,168,128,135,117,168,110,167,128,135,110,167,54,167,128,135,54,167,3,147,148,177,139,181,134,175,148,177,134,175,129,172,148,177,129,172,128,135,128,135,3,147,3,135, 102,256,114,263,123,271,129,279,131,288,132,296,130,310,122,321,110,330,95,336,78,338,61,336,46,331,33,322,22,309,11,291,23,281,31,293,39,301,47,306,56,309,66,310,76,309,83,306,89,301,93,295,94,286,92,276,87,267,78,259,65,252,46,244,46,230,52,231,59,231,60,232,76,230,88,225,97,216,103,205,105,190,103,179,99,169,92,162,82,157,71,155,66,155,61,156,57,158,52,161,40,169,32,173,28,174,25,175,19,174,14,172,10,169,8,165,7,159,9,150,15,142,25,136,37,132,52,131,83,134,109,144,129,159,141,177,146,200,144,214,139,227,130,239,118,248,102,254,46,253,66,253,143,302,149,306,153,310,156,314,158,318,158,329,155,333,152,336,147,338,141,339,133,337,129,335,125,332,120,328,215,225,171,225,171,57,164,46,155,38,144,31,131,27,116,26,102,28,90,34,81,45,76,59,74,78,74,225,30,225,30,27,29,14,26,-5,22,-28,19,-51,18,-69,19,-82,22,-93,26,-101,32,-106,40,-108,48,-106,55,-102,60,-94,63,-83,64,-69,62,-51,58,-29,52,-6,48,14,46,32,55,18,66,8,77,1,91,-3,107,-4,123,-2,137,2,150,11,162,24,172,40,174,40,176,24,182,11,191,2,201,-2,211,-4,222,-3,231,0,239,4,247,12,256,23,256,28, 66,155,61,156,83,134,83,134,61,156,57,158,83,134,57,158,52,131,52,131,57,158,52,161,52,131,52,161,46,165,56,231,59,231,65,252,65,252,59,231,60,232,60,232,76,230,65,252,65,252,76,230,78,259,65,252,46,244,52,231,65,252,52,231,56,231,23,281,31,293,33,322,33,322,31,293,39,301,33,322,39,301,46,331,46,331,39,301,47,306,46,331,47,306,61,336,61,336,47,306,56,309,61,336,56,309,66,310,66,310,76,309,78,338,78,338,76,309,83,306,78,338,83,306,95,336,95,336,83,306,89,301,95,336,89,301,93,295,22,309,11,291,23,281,22,309,23,281,33,322,103,179,99,169,109,144,109,144,99,169,92,162,109,144,92,162,83,134,83,134,92,162,82,157,83,134,82,157,71,155,71,155,66,155,83,134,95,336,94,286,97,216,95,336,97,216,110,330,110,330,97,216,102,256,110,330,102,256,114,263,78,338,61,336,66,310,130,310,122,321,123,271,130,310,123,271,129,279,130,310,129,279,131,288,130,310,131,288,132,296,122,321,110,330,114,263,122,321,114,263,123,271,102,254,102,256,97,216,102,254,97,216,103,205,102,254,103,205,118,248,92,276,87,267,88,225,92,276,88,225,97,216,92,276,97,216,94,286,78,259,76,230,88,225,78,259,88,225,87,267,141,177,146,200,144,214,141,177,144,214,139,227,141,177,139,227,130,239,141,177,130,239,129,159,103,179,109,144,105,190,105,190,109,144,118,248,118,248,109,144,129,159,118,248,129,159,130,239,105,190,118,248,103,205,40,169,36,171,37,132,40,169,37,132,52,131,40,169,52,131,46,165,37,132,36,171,32,173,37,132,32,173,28,174,37,132,28,174,25,175,37,132,25,175,25,136,19,174,14,172,15,142,19,174,15,142,25,136,19,174,25,136,25,175,10,169,8,165,9,150,10,169,9,150,15,142,10,169,15,142,14,172,52,231,46,244,46,230,9,150,8,165,7,159,95,336,93,295,94,286, 46,253,66,253,143,302,149,306,153,310,156,314,158,318,158,329,155,333,152,336,147,338,141,339,133,337,129,335,125,332,120,328,215,225,171,225,171,57,164,46,155,38,144,31,131,27,116,26,102,28,90,34,81,45,76,59,74,78,74,225,30,225,30,27, 141,339,143,302,147,338,147,338,143,302,149,306,147,338,149,306,152,336,152,336,149,306,153,310,152,336,153,310,155,333,155,333,153,310,156,314,155,333,156,314,158,329,158,329,156,314,158,318,158,329,158,318,158,323,143,302,141,339,137,338,143,302,137,338,133,337,143,302,133,337,129,335,143,302,129,335,125,332,143,302,125,332,120,328,143,302,120,328,66,253,66,253,120,328,46,253, 215,225,171,225,171,57,164,46,155,38,144,31,131,27,116,26,102,28,90,34,81,45,76,59,74,78,74,225,30,225,30,27,29,14,26,-5,22,-28,19,-51,18,-69,19,-82,22,-93,26,-101,32,-106,40,-108,48,-106,55,-102,60,-94,63,-83,64,-69,62,-51,58,-29,52,-6,48,14,46,32,55,18,66,8,77,1,91,-3,107,-4,123,-2,137,2,150,11,162,24,172,40,174,40,176,24,182,11,191,2,201,-2,211,-4,222,-3,231,0,239,4,247,12,256,23,256,28,249,22,244,18,239,15,235,14,230,13,224,15,220,19,217,26,215,36,215,48,266,-76,266,-65,247,-62,234,-58,227,-50,223,-38,222,-20,222,271,223,290,227,304,234,313,247,318,266,321,266,331,134,331,95,327,66,316,46,297,34,270,30,235,34,199,46,172,66,154,93,142,127,137,127,-14,126,-35,123,-49,115,-58,102,-63,83,-65,83,-76,160,-76,160,320,189,320,189,-76,16383,16383,127,147,105,153,88,164,77,182,70,206,68,237,70,266,75,289,86,305,103,315,127,320,90,127,89,135,85,143,79,149,71,154,63,155,54,154,46,150,40,144,37,136,35,127,37,118,40,111,46,105,54,101,63,99,71,101,79,105,85,111,89,118, 46,32,46,32,46,32,46,32,74,225,30,225,46,32,30,225,32,-106,46,32,32,-106,40,-108,46,32,40,-108,48,-106,76,59,74,78,77,1,77,1,74,78,66,8,66,8,74,78,74,225,66,8,74,225,55,18,55,18,74,225,46,32,30,225,30,27,32,-106,32,-106,30,27,29,14,32,-106,29,14,26,-101,26,-101,29,14,26,-5,26,-101,26,-5,22,-28,18,-69,19,-82,19,-51,19,-51,19,-82,22,-93,19,-51,22,-93,22,-28,22,-28,22,-93,26,-101,171,225,171,57,172,40,172,40,171,57,164,46,172,40,164,46,162,24,162,24,164,46,155,38,162,24,155,38,150,11,150,11,155,38,144,31,150,11,144,31,137,2,137,2,144,31,131,27,137,2,131,27,123,-2,123,-2,131,27,116,26,123,-2,116,26,107,-4,107,-4,116,26,102,28,107,-4,102,28,91,-3,91,-3,102,28,90,34,91,-3,90,34,81,45,81,45,76,59,77,1,81,45,77,1,91,-3,215,225,171,225,172,40,215,225,172,40,174,40,215,225,174,40,176,24,215,225,176,24,182,11,215,225,182,11,191,2,215,225,191,2,201,-2,215,225,201,-2,211,-4,215,225,211,-4,215,48,249,22,244,18,247,12,247,12,244,18,239,15,247,12,239,15,239,4,239,4,239,15,235,14,239,4,235,14,231,0,231,0,235,14,230,13,249,22,247,12,256,23,249,22,256,23,256,28,224,15,220,19,222,-3,224,15,222,-3,231,0,224,15,231,0,230,13,215,48,211,-4,215,36,215,36,211,-4,222,-3,215,36,222,-3,217,26,217,26,222,-3,220,19,48,14,48,-106,52,-6,52,-6,48,-106,55,-102,52,-6,55,-102,58,-29,58,-29,55,-102,60,-94,58,-29,60,-94,62,-51,62,-51,60,-94,63,-83,62,-51,63,-83,64,-69,46,32,48,-106,48,14, 266,-76,266,-65,247,-62,234,-58,227,-50,223,-38,222,-20,222,271,223,290,227,304,234,313,247,318,266,321,266,331,134,331,95,327,66,316,46,297,34,270,30,235,34,199,46,172,66,154,93,142,127,137,127,-14,126,-35,123,-49,115,-58,102,-63,83,-65,83,-76,160,-76,160,320,189,320,189,-76,16383,16383,127,147,105,153,88,164,77,182,70,206,68,237,70,266,75,289,86,305,103,315,127,320,90,127,89,135,85,143,79,149,71,154,63,155,54,154,46,150,40,144,37,136,35,127,37,118,40,111,46,105,54,101,63,99,71,101,79,105,85,111,89,118,90,127,87,0,70,0,49,-49,52,-51,55,-50,57,-50,60,-49,66,-49,76,-50,84,-52,89,-55,92,-60,93,-67,92,-74,88,-81,83,-85,75,-88,65,-89,59,-89,47,-87,40,-86,33,-83,26,-98,35,-102,51,-106,59,-106,68,-107, 123,-49,115,-58,160,-76,160,-76,115,-58,102,-63,160,-76,102,-63,83,-65,134,331,95,327,103,315,134,331,103,315,127,320,134,331,127,320,127,137,134,331,127,137,160,-76,134,331,160,-76,160,320,134,331,160,320,266,331,127,320,127,147,127,137,105,153,88,164,93,142,93,142,88,164,77,182,93,142,77,182,66,154,66,154,77,182,70,206,66,154,70,206,68,237,68,237,70,266,66,316,66,316,70,266,75,289,66,316,75,289,95,327,95,327,75,289,86,305,95,327,86,305,103,315,66,316,46,297,46,172,66,316,46,172,66,154,66,316,66,154,68,237,247,318,266,321,266,331,247,318,266,331,234,313,234,313,266,331,189,320,234,313,189,320,227,304,227,304,189,320,223,290,234,-58,227,-50,189,-76,189,-76,227,-50,223,-38,189,-76,223,-38,189,320,189,320,223,-38,222,-20,189,320,222,-20,222,271,160,-76,127,137,127,-14,160,-76,127,-14,126,-35,160,-76,126,-35,123,-49,266,-76,266,-65,247,-62,266,-76,247,-62,234,-58,266,-76,234,-58,189,-76,105,153,93,142,127,137,105,153,127,137,127,147,34,199,46,172,46,297,34,199,46,297,34,270,34,199,34,270,30,235,160,-76,83,-65,83,-76,266,331,160,320,189,320,223,290,189,320,222,271, 90,127,89,135,85,143,79,149,71,154,63,155,54,154,46,150,40,144,37,136,35,127,37,118,40,111,46,105,54,101,63,99,71,101,79,105,85,111,89,118,90,127,87,0,70,0,49,-49,52,-51,55,-50,57,-50,60,-49,66,-49,76,-50,84,-52,89,-55,92,-60,93,-67,92,-74,88,-81,83,-85,75,-88,65,-89,59,-89,47,-87,40,-86, 35,127,37,118,37,136,37,136,37,118,40,111,37,136,40,111,40,144,40,144,40,111,46,105,40,144,46,105,46,150,46,150,46,105,54,101,46,150,54,101,54,154,54,154,54,101,62,99,54,154,62,99,63,155,63,155,62,99,71,101,63,155,71,101,71,154,71,154,71,101,79,105,71,154,79,105,79,149,79,149,79,105,85,111,79,149,85,111,85,143,85,143,85,111,89,118,85,143,89,118,89,135,89,135,89,118,90,127, 87,0,70,0,49,-49,52,-51,55,-50,57,-50,60,-49,66,-49,76,-50,84,-52,89,-55,92,-60,93,-67,92,-74,88,-81,83,-85,75,-88,65,-89,59,-89,47,-87,40,-86,33,-83,26,-98,35,-102,51,-106,59,-106,68,-107,89,-105,107,-99,120,-91,128,-79,131,-64,129,-52,123,-43,114,-36,102,-32,88,-30,80,-30,77,-31,75,-31,124,135,124,147,113,148,105,150,99,154,96,159,95,166,95,336,89,338,30,310,30,299,36,302,41,304,45,305,52,305,54,301,55,297,55,157,52,153,47,150,40,148,28,147,28,135,152,271,148,293,139,312,123,326,103,335,79,338,54,335,33,325,17,310,6,291,3,267,6,244,16,225,32,210,52,200,75,197,100,201, 59,-106,68,-107,59,-89,59,-89,68,-107,65,-89,75,-88,65,-89,68,-107,75,-88,68,-107,89,-105,57,-50,60,-49,70,0,70,0,60,-49,63,-49,70,0,63,-49,66,-49,66,-49,76,-50,70,0,70,0,76,-50,75,-31,70,0,75,-31,87,0,70,0,49,-49,52,-51,70,0,52,-51,55,-50,70,0,55,-50,57,-50,131,-64,129,-52,128,-79,128,-79,129,-52,123,-43,128,-79,123,-43,120,-91,120,-91,123,-43,114,-36,120,-91,114,-36,107,-99,107,-99,114,-36,102,-32,107,-99,102,-32,93,-67,93,-67,102,-32,92,-60,89,-55,92,-60,102,-32,89,-55,102,-32,88,-30,89,-55,88,-30,85,-30,89,-55,85,-30,84,-52,84,-52,85,-30,82,-30,84,-52,82,-30,80,-30,84,-52,80,-30,77,-31,84,-52,77,-31,76,-50,107,-99,93,-67,92,-74,107,-99,92,-74,89,-105,89,-105,92,-74,88,-81,89,-105,88,-81,83,-85,33,-83,35,-102,40,-86,40,-86,35,-102,43,-104,40,-86,43,-104,47,-87,47,-87,43,-104,51,-106,47,-87,51,-106,53,-88,53,-88,51,-106,59,-106,53,-88,59,-106,59,-89,35,-102,33,-83,26,-98,75,-88,89,-105,83,-85,75,-31,76,-50,77,-31, 124,135,124,147,113,148,105,150,99,154,96,159,95,166,95,336,89,338,30,310,30,299,36,302,41,304,45,305,52,305,54,301,55,297,55,157,52,153,47,150,40,148,28,147,28,135,152,271,148,293,139,312,123,326,103,335,79,338,54,335,33,325,17,310,6,291,3,267,6,244,16,225,32,210,52,200,75,197,100,201,121,211,138,227,148,247,152,271,16383,16383,116,258, 52,153,47,150,124,135,124,135,47,150,40,148,124,135,40,148,28,147,41,304,45,305,89,338,89,338,45,305,48,305,89,338,48,305,50,305,50,305,52,305,89,338,89,338,52,305,53,303,89,338,53,303,54,301,113,148,105,150,124,135,124,135,105,150,99,154,124,135,99,154,55,164,55,164,99,154,96,159,55,164,96,159,55,291,55,297,55,291,89,338,55,297,89,338,54,301,36,302,41,304,89,338,36,302,89,338,30,310,36,302,30,310,30,299,95,166,95,336,89,338,95,166,89,338,55,291,95,166,55,291,96,159,55,157,52,153,124,135,55,157,124,135,55,164,124,135,28,147,28,135,113,148,124,135,124,147, 152,271,148,293,139,312,123,326,103,335,79,338,54,335,33,325,17,310,6,291,3,267,6,244,16,225,32,210,52,200,75,197,100,201,121,211,138,227,148,247,152,271,16383,16383,116,258,114,242,110,230,102,221,93,216,80,214,73,214,66,216,56,224,52,230,44,250,42,261,40,273,40,285,41,297,46,307,53,315,63,320,74,321,88,318,99,310,108,297,114,279,116,258,229,111,189,147,174,161,143,192,130,204,124,208,122,208,121,207,119,206,118,204,118,203,119,199,122,193,127,185,134,176,143,165,150,155,158,145,167,134,176,122,185,111,143,58,134,47,127,38,122,31,119,25,118,22,118,19,119,18,121,17,123,17,130,21,142,32,158,46,174,61,189,75,16383,16383,132,111,92,147,62,177,46,192,34,204,27,208,26,208,24,207,23,206, 44,250,52,200,48,240,48,240,52,200,52,230,56,224,52,230,52,200,56,224,52,200,75,197,42,261,40,273,33,325,42,261,33,325,32,210,42,261,32,210,52,200,42,261,52,200,44,250,33,325,40,285,41,297,33,325,41,297,54,335,54,335,41,297,46,307,54,335,46,307,53,315,3,267,6,244,6,291,6,291,6,244,16,225,6,291,16,225,17,310,17,310,16,225,32,210,17,310,32,210,33,325,103,335,79,338,88,318,88,318,79,338,74,321,63,320,74,321,79,338,63,320,79,338,54,335,114,242,110,230,121,211,121,211,110,230,102,221,121,211,102,221,100,201,100,201,102,221,93,216,100,201,93,216,80,214,80,214,73,214,75,197,75,197,73,214,66,216,75,197,66,216,61,220,152,271,148,293,148,247,148,247,148,293,139,312,148,247,139,312,138,227,138,227,139,312,123,326,138,227,123,326,121,211,121,211,123,326,116,258,88,318,99,310,103,335,103,335,99,310,108,297,103,335,108,297,123,326,123,326,108,297,114,279,123,326,114,279,116,258,80,214,75,197,100,201,54,335,53,315,63,320,114,242,121,211,116,258,56,224,75,197,61,220,33,325,40,273,40,285, 229,111,189,147,174,161,143,192,130,204,124,208,122,208,121,207,119,206,118,204,118,203,119,199,122,193,127,185,134,176,143,165,150,155,158,145,167,134,176,122,185,111,143,58,134,47,127,38,122,31,119,25,118,22,118,19,119,18,121,17,123,17,130,21,142,32,158,46,174,61,189,75,16383,16383,132,111,92,147,62,177,46,192,34,204,27,208,26,208,24,207,23,206,22,204,22,203,23,199,26,193,31,185,38,176,46,165,53,155,61,145,70,134,79,122,89,111,46,58,38,47,31,38,26,31,23,25,22,22,22,19,23,18,25,17,27,17,33,21,45,32,61,46,77,61,92,75,357,45,357,74,329,74,329,203,305,203,204,70,204,45,294,45,294,0,329,0,329,45,16383,16383,294,74,227,74,294,163,16383,16383,316,338,293,338,66,-6,91,-6,16383,16383,112,135,112,147,100,148,92,150,87,154,84,159,83,166,83,336,76,338,22,310,22,299,29,302,34,304,38,305,45,305,47,301,47,157,44,153,40,150,32,148,21,147,21,135,371,42,362,46,357,40,352,36,346,34,340,33,333,32,276,32,318,73,335,91,347,106,355,120,360,134,361,148,358,166,350,181,337,193,320,200,298,203,275,201,257,194,243,182,232,165,223,143,235,136,243,149,251,159,259,167,269,171,280,173, 92,75,132,111,92,147,92,75,92,147,89,111,92,75,89,111,77,61,53,155,61,145,62,177,62,177,61,145,70,134,62,177,70,134,78,161,78,161,70,134,79,122,78,161,79,122,92,147,92,147,79,122,89,111,53,155,62,177,46,165,46,165,62,177,46,192,46,165,46,192,38,176,38,176,46,192,34,204,38,176,34,204,31,185,31,185,34,204,27,208,31,185,27,208,26,193,26,193,27,208,26,208,26,193,26,208,24,207,23,206,22,204,23,199,23,206,23,199,26,193,23,206,26,193,24,207,189,75,229,111,189,147,189,75,189,147,185,111,189,75,185,111,174,61,150,155,158,145,158,177,158,177,158,145,167,134,158,177,167,134,174,161,174,161,167,134,176,122,174,161,176,122,189,147,189,147,176,122,185,111,150,155,158,177,143,165,143,165,158,177,143,192,143,165,143,192,134,176,134,176,143,192,130,204,134,176,130,204,127,185,127,185,130,204,124,208,127,185,124,208,122,208,122,193,127,185,122,208,122,193,122,208,121,207,122,193,121,207,119,206,122,193,119,206,119,199,118,204,118,203,119,199,118,204,119,199,119,206,119,18,121,17,122,31,122,31,121,17,123,17,122,31,123,17,127,38,127,38,123,17,130,21,127,38,130,21,134,47,134,47,130,21,142,32,134,47,142,32,143,58,143,58,142,32,158,46,143,58,158,46,185,111,185,111,158,46,174,61,119,25,118,22,118,20,119,25,118,20,118,19,119,25,118,19,119,18,119,25,119,18,122,31,23,18,25,17,26,31,26,31,25,17,27,17,26,31,27,17,31,38,31,38,27,17,33,21,31,38,33,21,38,47,38,47,33,21,45,32,38,47,45,32,46,58,46,58,45,32,61,46,46,58,61,46,89,111,89,111,61,46,77,61,23,25,22,22,22,20,23,25,22,20,22,19,23,25,22,19,23,18,23,25,23,18,26,31,23,199,22,204,22,203, 357,45,357,74,329,74,329,203,305,203,204,70,204,45,294,45,294,0,329,0,329,45,16383,16383,294,74,227,74,294,163,16383,16383,316,338,293,338,66,-6,91,-6,16383,16383,112,135,112,147,100,148,92,150,87,154,84,159,83,166,83,336,76,338,22,310,22,299,29,302,34,304,38,305,45,305,47,301,47,157,44,153,40,150,32,148,21,147,21,135,371,42,362,46,357,40,352,36,346,34,340,33,333,32,276,32,318,73,335,91,347,106,355,120,360,134,361,148,358,166,350,181,337,193,320,200,298,203,275,201,257,194,243,182,232,165,223,143,235,136,243,149,251,159,259,167,269,171,280,173,291,171,301,166,308,158,313,147,315,135,313,125,308,112,301,98,290,82,276,66,225,12,225,0,351,0, 204,45,294,45,204,70,204,70,294,45,227,74,204,70,227,74,305,203,305,203,227,74,294,163,305,203,294,163,329,0,329,0,294,163,294,74,329,0,294,74,294,45,294,45,294,74,227,74,305,203,329,0,329,203,329,74,329,45,357,45,329,74,357,45,357,74,293,338,66,-6,91,-6,293,338,91,-6,316,338,44,153,40,150,112,135,112,135,40,150,32,148,112,135,32,148,21,147,34,304,38,305,76,338,76,338,38,305,41,305,76,338,41,305,43,305,43,305,45,305,76,338,76,338,45,305,46,303,76,338,46,303,47,301,100,148,92,150,112,135,112,135,92,150,87,154,112,135,87,154,47,164,47,164,87,154,84,159,47,164,84,159,47,291,47,297,47,291,76,338,47,297,76,338,47,301,29,302,34,304,76,338,29,302,76,338,22,310,29,302,22,310,22,299,83,166,83,336,76,338,83,166,76,338,47,291,83,166,47,291,84,159,47,157,44,153,112,135,47,157,112,135,47,164,112,135,21,147,21,135,100,148,112,135,112,147,329,0,294,45,294,0, 371,42,362,46,357,40,352,36,346,34,340,33,333,32,276,32,318,73,335,91,347,106,355,120,360,134,361,148,358,166,350,181,337,193,320,200,298,203,275,201,257,194,243,182,232,165,223,143,235,136,243,149,251,159,259,167,269,171,280,173,291,171,301,166,308,158,313,147,315,135,313,125,308,112,301,98,290,82,276,66,225,12,225,0,351,0,16383,16383,297,338,275,338,48,-6,73,-6,16383,16383,108,135,108,147,97,148,89,150,84,154,81,159,80,166,80,336,73,338,19,310,19,299,26,302,31,304,35,305,42,305,44,301,44,297,45,291,45,164,44,157,41,153,37,150,29,148,18,147,18,135,359,45,359,74,331,74,331,203,308,203,206,70,206,45,296,45,296,0,331,0,331,45,16383,16383,296,74,229,74,296,163,16383,16383,319,338,296,338,69,-6,94,-6,16383,16383,102,256,114,263,123,271,129,279,131,288,132,296,130,310,122,321,110,330,95,336,78,338,61,336,46,331,33,322,22,309,11,291,23,281,31,293,39,301,47,306,56,309,66,310,76,309,83,306,89,301,93,295,94,286,92,276,87,267,78,259,65,252,46,244,46,230,52,231,59,231,60,232,76,230,88,225,97,216,103,205,105,190,103,179,99,169,92,162,82,157,71,155,66,155,61,156,57,158,52,161,40,169,32,173,28,174, 308,112,301,98,318,73,318,73,301,98,290,82,318,73,290,82,276,66,276,66,225,12,276,32,276,32,225,12,351,0,276,32,351,0,333,32,340,33,333,32,351,0,340,33,351,0,346,34,346,34,351,0,352,36,235,136,243,149,243,182,243,182,243,149,251,159,243,182,251,159,257,194,257,194,251,159,259,167,257,194,259,167,275,201,275,201,259,167,269,171,275,201,269,171,280,173,280,173,291,171,298,203,298,203,291,171,301,166,298,203,301,166,320,200,320,200,301,166,308,158,320,200,308,158,313,147,232,165,223,143,235,136,232,165,235,136,243,182,371,42,362,46,357,40,371,42,357,40,352,36,371,42,352,36,351,0,275,338,48,-6,73,-6,275,338,73,-6,297,338,41,153,37,150,108,135,108,135,37,150,29,148,108,135,29,148,18,147,31,304,35,305,73,338,73,338,35,305,38,305,73,338,38,305,40,305,40,305,42,305,73,338,73,338,42,305,43,303,73,338,43,303,44,301,97,148,89,150,108,135,108,135,89,150,84,154,108,135,84,154,45,164,45,164,84,154,81,159,45,164,81,159,45,291,44,297,45,291,73,338,44,297,73,338,44,301,26,302,31,304,73,338,26,302,73,338,19,310,26,302,19,310,19,299,80,166,80,336,73,338,80,166,73,338,45,291,80,166,45,291,81,159,313,125,318,73,315,135,315,135,318,73,320,200,320,200,318,73,335,91,320,200,335,91,337,193,337,193,335,91,347,106,337,193,347,106,350,181,350,181,347,106,355,120,350,181,355,120,358,166,358,166,355,120,360,134,358,166,360,134,361,148,320,200,313,147,315,135,298,203,275,201,280,173,276,66,276,32,318,73,44,157,41,153,108,135,44,157,108,135,45,164,108,135,18,147,18,135,97,148,108,135,108,147,308,112,318,73,313,125,351,0,225,12,225,0, 359,45,359,74,331,74,331,203,308,203,206,70,206,45,296,45,296,0,331,0,331,45,16383,16383,296,74,229,74,296,163,16383,16383,319,338,296,338,69,-6,94,-6,16383,16383,102,256,114,263,123,271,129,279,131,288,132,296,130,310,122,321,110,330,95,336,78,338,61,336,46,331,33,322,22,309,11,291,23,281,31,293,39,301,47,306,56,309,66,310,76,309,83,306,89,301,93,295,94,286,92,276,87,267,78,259,65,252,46,244,46,230,52,231,59,231,60,232,76,230,88,225,97,216,103,205,105,190,103,179,99,169,92,162,82,157,71,155,66,155,61,156,57,158,52,161,40,169,32,173,28,174,25,175,19,174,14,172,10,169,8,165,7,159,9,150,15,142,25,136,37,132,52,131,83,134,109,144,129,159,141,177,146,200,144,214,139,227,130,239,118,248,102,254,130,208,129,216,125,223,119,229,112,232,103,233,95,232,87,229,82,223,78,217,77,208,78,199,82,192,87,186,95,182,103,180,112,182,119,186,125,192,129,199,130,208,16383,16383,100,147,96,128,91,112,85,97,77,84,68,70,46,42,31,20,22,2,17,-13,15,-30,16,-42,18,-52,22,-62,27,-71,33,-79,45,-89,58,-97,74,-103,90,-107,107,-108,133,-104,155,-94,173,-79,184,-59,188,-35,187,-24,184,-16,179,-10,173,-6,164,-5,157,-5,151,-8,147,-12,144,-18,143,-25,145,-33,147,-37,150,-42,154,-46,160,-54,161,-57,162,-59,162,-62,160,-71,153,-80,142,-87,130,-91,116,-93,98,-90,83,-81,71,-69,64,-52,61,-34,62,-19,64,-4,67,11,72,27,79,44,93,75,101,99,106,118,108,133,108,147,225,378,153,453,148,457,144,460,140,462,132,464,125,463,120,461,117,458, 206,45,296,45,206,70,206,70,296,45,229,74,206,70,229,74,308,203,308,203,229,74,296,163,308,203,296,163,331,0,331,0,296,163,296,74,331,0,296,74,296,45,296,45,296,74,229,74,308,203,331,0,331,203,331,74,331,45,359,45,331,74,359,45,359,74,296,338,69,-6,94,-6,296,338,94,-6,319,338,66,155,61,156,83,134,83,134,61,156,57,158,83,134,57,158,52,131,52,131,57,158,52,161,52,131,52,161,46,165,56,231,59,231,65,252,65,252,59,231,60,232,60,232,76,230,65,252,65,252,76,230,78,259,65,252,46,244,52,231,65,252,52,231,56,231,23,281,31,293,33,322,33,322,31,293,39,301,33,322,39,301,46,331,46,331,39,301,47,306,46,331,47,306,61,336,61,336,47,306,56,309,61,336,56,309,66,310,66,310,76,309,78,338,78,338,76,309,83,306,78,338,83,306,95,336,95,336,83,306,89,301,95,336,89,301,93,295,22,309,11,291,23,281,22,309,23,281,33,322,103,179,99,169,109,144,109,144,99,169,92,162,109,144,92,162,83,134,83,134,92,162,82,157,83,134,82,157,71,155,71,155,66,155,83,134,95,336,94,286,97,216,95,336,97,216,110,330,110,330,97,216,102,256,110,330,102,256,114,263,78,338,61,336,66,310,130,310,122,321,123,271,130,310,123,271,129,279,130,310,129,279,131,288,130,310,131,288,132,296,122,321,110,330,114,263,122,321,114,263,123,271,102,254,102,256,97,216,102,254,97,216,103,205,102,254,103,205,118,248,92,276,87,267,88,225,92,276,88,225,97,216,92,276,97,216,94,286,78,259,76,230,88,225,78,259,88,225,87,267,141,177,146,200,144,214,141,177,144,214,139,227,141,177,139,227,130,239,141,177,130,239,129,159,103,179,109,144,105,190,105,190,109,144,118,248,118,248,109,144,129,159,118,248,129,159,130,239,105,190,118,248,103,205,40,169,36,171,37,132,40,169,37,132,52,131,40,169,52,131,46,165,37,132,36,171,32,173,37,132,32,173,28,174,37,132,28,174,25,175,37,132,25,175,25,136,19,174,14,172,15,142,19,174,15,142,25,136,19,174,25,136,25,175,10,169,8,165,9,150,10,169,9,150,15,142,10,169,15,142,14,172,52,231,46,244,46,230,9,150,8,165,7,159,95,336,93,295,94,286,331,0,296,45,296,0, 130,208,129,216,125,223,119,229,112,232,103,233,95,232,87,229,82,223,78,217,77,208,78,199,82,192,87,186,95,182,103,180,112,182,119,186,125,192,129,199,130,208,16383,16383,100,147,96,128,91,112,85,97,77,84,68,70,46,42,31,20,22,2,17,-13,15,-30,16,-42,18,-52,22,-62,27,-71,33,-79,45,-89,58,-97,74,-103,90,-107,107,-108,133,-104,155,-94,173,-79,184,-59,188,-35,187,-24,184,-16,179,-10,173,-6,164,-5,157,-5,151,-8,147,-12,144,-18,143,-25,145,-33,147,-37,150,-42,154,-46,160,-54,161,-57,162,-59,162,-62,160,-71,153,-80,142,-87,130,-91,116,-93,98,-90,83,-81,71,-69,64,-52,61,-34,62,-19,64,-4,67,11,72,27,79,44,93,75,101,99,106,118,108,133,108,147,225,378,153,453,148,457,144,460,140,462,132,464,125,463,120,461,117,458,114,454,113,448,114,443,116,439,119,434,123,430,128,426,205,378,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,138,378,158,378,235,427,245,435,248,439,249,443,250,448,249,454,247,458,243,461,239,463,233,464,228,463,224,462,221,460,216,457,211,453,16383,16383,353,0,353,9,340,12, 103,180,112,182,112,232,112,232,112,182,119,186,112,232,119,186,119,229,119,229,119,186,125,192,119,229,125,192,125,223,125,223,125,192,129,199,125,223,129,199,129,216,129,216,129,199,130,208,78,217,78,199,82,223,82,223,78,199,82,192,82,223,82,192,87,229,87,229,82,192,87,186,87,229,87,186,95,232,95,232,87,186,95,182,95,232,95,182,103,233,103,233,95,182,103,180,103,233,103,180,112,232,72,27,79,44,77,84,72,27,77,84,68,70,68,70,46,42,62,-19,62,-19,46,42,61,-34,64,-52,61,-34,58,-97,64,-52,58,-97,74,-103,68,70,62,-19,64,-4,68,70,64,-4,67,11,68,70,67,11,72,27,33,-79,45,-89,46,42,46,42,45,-89,58,-97,46,42,58,-97,61,-34,31,20,22,2,22,-62,31,20,22,-62,27,-71,31,20,27,-71,33,-79,31,20,33,-79,46,42,15,-30,16,-42,17,-13,17,-13,16,-42,18,-52,17,-13,18,-52,22,2,22,2,18,-52,22,-62,108,147,100,147,101,99,108,147,101,99,106,118,108,147,106,118,108,133,96,128,91,112,93,75,96,128,93,75,101,99,96,128,101,99,100,147,85,97,77,84,79,44,85,97,79,44,93,75,85,97,93,75,91,112,160,-71,153,-80,155,-94,155,-94,153,-80,142,-87,155,-94,142,-87,133,-104,133,-104,142,-87,130,-91,133,-104,130,-91,116,-93,116,-93,98,-90,107,-108,107,-108,98,-90,90,-107,83,-81,71,-69,74,-103,83,-81,74,-103,90,-107,83,-81,90,-107,98,-90,147,-37,150,-42,151,-8,151,-8,150,-42,154,-46,151,-8,154,-46,157,-5,157,-5,154,-46,157,-50,157,-5,157,-50,164,-5,164,-5,157,-50,160,-54,164,-5,160,-54,161,-57,143,-25,144,-29,144,-18,144,-18,144,-29,145,-33,144,-18,145,-33,147,-12,147,-12,145,-33,147,-37,147,-12,147,-37,151,-8,173,-6,173,-79,179,-10,179,-10,173,-79,184,-59,179,-10,184,-59,184,-16,184,-16,184,-59,188,-35,184,-16,188,-35,187,-24,155,-94,173,-79,160,-71,160,-71,173,-79,162,-62,164,-5,162,-62,173,-79,164,-5,173,-79,173,-6,116,-93,107,-108,133,-104,164,-5,161,-57,162,-59,164,-5,162,-59,162,-62,64,-52,74,-103,71,-69,78,199,78,217,77,208, 225,378,153,453,148,457,144,460,140,462,132,464,125,463,120,461,117,458,114,454,113,448,114,443,116,439,119,434,123,430,128,426,205,378,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,138,378,158,378,235,427,245,435,248,439,249,443,250,448,249,454,247,458,243,461,239,463,233,464,228,463,224,462,221,460,216,457,211,453,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266, 205,378,225,378,153,453,205,378,153,453,148,457,205,378,148,457,144,460,205,378,144,460,140,462,205,378,140,462,136,463,205,378,136,463,132,464,205,378,132,464,128,426,113,448,114,443,114,454,114,454,114,443,116,439,114,454,116,439,117,458,117,458,116,439,119,434,117,458,119,434,120,461,120,461,119,434,123,430,120,461,123,430,125,463,125,463,123,430,128,426,125,463,128,426,132,464,55,58,73,22,72,30,72,30,72,34,70,93,70,93,72,34,73,38,70,93,73,38,74,43,174,337,76,51,99,108,174,337,99,108,108,128,108,128,99,108,230,108,108,128,230,108,224,128,224,128,230,108,306,55,224,128,306,55,184,337,246,11,242,10,353,0,353,0,242,10,235,10,353,0,235,10,226,9,259,21,258,18,353,0,353,0,258,18,256,16,353,0,256,16,253,14,253,14,250,12,353,0,353,0,250,12,246,11,261,26,353,0,330,17,261,26,330,17,321,26,261,26,321,26,314,38,261,26,314,38,306,55,261,26,306,55,260,31,306,55,230,108,251,61,306,55,251,61,254,53,306,55,254,53,257,45,306,55,257,45,259,38,306,55,259,38,260,31,174,337,108,128,166,266,174,337,166,266,224,128,174,337,224,128,184,337,70,93,55,58,72,30,70,93,74,43,75,47,70,93,75,47,76,51,70,93,76,51,174,337,340,12,330,17,353,0,340,12,353,0,353,9,260,23,259,21,353,0,260,23,353,0,261,26,107,0,107,9,94,10,107,0,94,10,84,12,107,0,84,12,44,34,107,0,44,34,33,20,107,0,33,20,22,13,107,0,22,13,7,9,107,0,7,9,7,0,44,34,84,12,77,16,44,34,77,16,73,22,44,34,73,22,55,58,353,0,226,9,226,0, 138,378,158,378,235,427,245,435,248,439,249,443,250,448,249,454,247,458,243,461,239,463,233,464,228,463,224,462,221,460,216,457,211,453,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,257,378,194,462,163,462,101,378,118,378,179,430,239,378,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,248,444,243,434,238,427,233,422,227,420,221,419,216,419,211,420,206,422,200,424, 233,464,235,427,239,463,239,463,235,427,240,431,239,463,240,431,243,461,243,461,240,431,245,435,243,461,245,435,247,458,247,458,245,435,248,439,247,458,248,439,249,454,249,454,248,439,249,443,249,454,249,443,250,448,235,427,233,464,228,463,235,427,228,463,224,462,235,427,224,462,221,460,235,427,221,460,216,457,235,427,216,457,211,453,235,427,211,453,158,378,55,58,73,22,72,30,72,30,72,34,70,93,70,93,72,34,73,38,70,93,73,38,74,43,174,337,76,51,99,108,174,337,99,108,108,128,108,128,99,108,230,108,108,128,230,108,224,128,224,128,230,108,306,55,224,128,306,55,184,337,246,11,242,10,353,0,353,0,242,10,235,10,353,0,235,10,226,9,259,21,258,18,353,0,353,0,258,18,256,16,353,0,256,16,253,14,253,14,250,12,353,0,353,0,250,12,246,11,261,26,353,0,330,17,261,26,330,17,321,26,261,26,321,26,314,38,261,26,314,38,306,55,261,26,306,55,260,31,306,55,230,108,251,61,306,55,251,61,254,53,306,55,254,53,257,45,306,55,257,45,259,38,306,55,259,38,260,31,174,337,108,128,166,266,174,337,166,266,224,128,174,337,224,128,184,337,70,93,55,58,72,30,70,93,74,43,75,47,70,93,75,47,76,51,70,93,76,51,174,337,340,12,330,17,353,0,340,12,353,0,353,9,260,23,259,21,353,0,260,23,353,0,261,26,107,0,107,9,94,10,107,0,94,10,84,12,107,0,84,12,44,34,107,0,44,34,33,20,107,0,33,20,22,13,107,0,22,13,7,9,107,0,7,9,7,0,44,34,84,12,77,16,44,34,77,16,73,22,44,34,73,22,55,58,353,0,226,9,226,0,158,378,211,453,138,378, 257,378,194,462,163,462,101,378,118,378,179,430,239,378,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,248,444,243,434,238,427,233,422,227,420,221,419,216,419,211,420,206,422,200,424,195,426,182,432,175,436,161,440,154,441,147,441,133,439,121,433,111,423,103,409,97,391,112,391,115,399,120,406,125,410,131,413,137,414,141,414,149,412,157,408,169,403,180,398,189,394,196,392,202,391,209,391,224,393,237,399,247,409,255,424,262,444,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20, 101,378,118,378,163,462,163,462,118,378,179,430,163,462,179,430,194,462,194,462,179,430,239,378,194,462,239,378,257,378,55,58,73,22,72,30,72,30,72,34,70,93,70,93,72,34,73,38,70,93,73,38,74,43,174,337,76,51,99,108,174,337,99,108,108,128,108,128,99,108,230,108,108,128,230,108,224,128,224,128,230,108,306,55,224,128,306,55,184,337,246,11,242,10,353,0,353,0,242,10,235,10,353,0,235,10,226,9,259,21,258,18,353,0,353,0,258,18,256,16,353,0,256,16,253,14,253,14,250,12,353,0,353,0,250,12,246,11,261,26,353,0,330,17,261,26,330,17,321,26,261,26,321,26,314,38,261,26,314,38,306,55,261,26,306,55,260,31,306,55,230,108,251,61,306,55,251,61,254,53,306,55,254,53,257,45,306,55,257,45,259,38,306,55,259,38,260,31,174,337,108,128,166,266,174,337,166,266,224,128,174,337,224,128,184,337,70,93,55,58,72,30,70,93,74,43,75,47,70,93,75,47,76,51,70,93,76,51,174,337,340,12,330,17,353,0,340,12,353,0,353,9,260,23,259,21,353,0,260,23,353,0,261,26,107,0,107,9,94,10,107,0,94,10,84,12,107,0,84,12,44,34,107,0,44,34,33,20,107,0,33,20,22,13,107,0,22,13,7,9,107,0,7,9,7,0,44,34,84,12,77,16,44,34,77,16,73,22,44,34,73,22,55,58,353,0,226,9,226,0, 248,444,243,434,238,427,233,422,227,420,221,419,216,419,211,420,206,422,200,424,195,426,182,432,175,436,161,440,154,441,147,441,133,439,121,433,111,423,103,409,97,391,112,391,115,399,120,406,125,410,131,413,137,414,141,414,149,412,157,408,169,403,180,398,189,394,196,392,202,391,209,391,224,393,237,399,247,409,255,424,262,444,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,254,411,253,419,249,426,244,431,237,435,229,436,221,435,214,431,209,426,206,419,204,411,205,403,209,397,214,391,221,388,228,387,236,388,244,391,249,397,253,403,254,411,16383,16383,155,411,153,419,150,426,144,431,137,435,129,436,122,435,115,431,110,426,106,419,105,411,106,403,110,397,115,391,121,388,129,387,137,388,144,391,150,397,153,403,155,411,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128, 115,399,120,406,121,433,121,433,120,406,125,410,121,433,125,410,133,439,133,439,125,410,131,413,133,439,131,413,137,414,137,414,141,414,147,441,147,441,141,414,145,413,147,441,145,413,149,412,112,391,115,399,121,433,112,391,121,433,111,423,112,391,111,423,103,409,112,391,103,409,97,391,147,441,149,412,154,441,154,441,149,412,153,410,154,441,153,410,157,408,157,408,169,403,161,440,161,440,169,403,168,438,147,441,133,439,137,414,161,440,154,441,157,408,168,438,169,403,175,436,175,436,169,403,180,398,175,436,180,398,182,432,182,432,180,398,189,394,182,432,189,394,195,426,195,426,189,394,196,392,195,426,196,392,200,424,200,424,196,392,202,391,200,424,202,391,206,422,206,422,202,391,209,391,206,422,209,391,211,420,211,420,209,391,224,393,211,420,224,393,216,419,216,419,224,393,221,419,227,420,221,419,224,393,227,420,224,393,237,399,248,444,243,434,247,409,248,444,247,409,255,424,248,444,255,424,262,444,238,427,233,422,237,399,238,427,237,399,247,409,238,427,247,409,243,434,55,58,73,22,72,30,72,30,72,34,70,93,70,93,72,34,73,38,70,93,73,38,74,43,174,337,76,51,99,108,174,337,99,108,108,128,108,128,99,108,230,108,108,128,230,108,224,128,224,128,230,108,306,55,224,128,306,55,184,337,246,11,242,10,353,0,353,0,242,10,235,10,353,0,235,10,226,9,259,21,258,18,353,0,353,0,258,18,256,16,353,0,256,16,253,14,253,14,250,12,353,0,353,0,250,12,246,11,261,26,353,0,330,17,261,26,330,17,321,26,261,26,321,26,314,38,261,26,314,38,306,55,261,26,306,55,260,31,306,55,230,108,251,61,306,55,251,61,254,53,306,55,254,53,257,45,306,55,257,45,259,38,306,55,259,38,260,31,174,337,108,128,166,266,174,337,166,266,224,128,174,337,224,128,184,337,70,93,55,58,72,30,70,93,74,43,75,47,70,93,75,47,76,51,70,93,76,51,174,337,340,12,330,17,353,0,340,12,353,0,353,9,260,23,259,21,353,0,260,23,353,0,261,26,107,0,107,9,94,10,107,0,94,10,84,12,107,0,84,12,44,34,107,0,44,34,33,20,107,0,33,20,22,13,107,0,22,13,7,9,107,0,7,9,7,0,44,34,84,12,77,16,44,34,77,16,73,22,44,34,73,22,55,58,353,0,226,9,226,0,227,420,237,399,233,422, 254,411,253,419,249,426,244,431,237,435,229,436,221,435,214,431,209,426,206,419,204,411,205,403,209,397,214,391,221,388,228,387,236,388,244,391,249,397,253,403,254,411,16383,16383,155,411,153,419,150,426,144,431,137,435,129,436,122,435,115,431,110,426,106,419,105,411,106,403,110,397,115,391,121,388,129,387,137,388,144,391,150,397,153,403,155,411,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,229,430,227,446,220,460,209,471,196,478,180,480,164,478,151,471,140,460,133,447,130,431,132,415,139,401,150,391,163,384,179,381,195,384,209,391,220,401,227,415,229,430,16383,16383,213,431,211,420,206,411,199,404,190,400,179,398,169,400,160,404,153,411,148,420,147,431,148,441,153,450,160,457,169,462,179,464,190,462,199,457,206,450,211,441,213,431,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266, 204,411,205,403,206,419,206,419,205,403,209,397,206,419,209,397,209,426,209,426,209,397,214,391,209,426,214,391,214,431,214,431,214,391,221,388,214,431,221,388,221,435,221,435,221,388,228,387,221,435,228,387,229,436,229,436,228,387,236,388,229,436,236,388,237,435,237,435,236,388,244,391,237,435,244,391,244,431,244,431,244,391,249,397,244,431,249,397,249,426,249,426,249,397,253,403,249,426,253,403,253,419,253,419,253,403,254,411,105,411,106,403,106,419,106,419,106,403,110,397,106,419,110,397,110,426,110,426,110,397,115,391,110,426,115,391,115,431,115,431,115,391,121,388,115,431,121,388,122,435,122,435,121,388,129,387,122,435,129,387,129,436,129,436,129,387,137,388,129,436,137,388,137,435,137,435,137,388,144,391,137,435,144,391,144,431,144,431,144,391,150,397,144,431,150,397,150,426,150,426,150,397,153,403,150,426,153,403,153,419,153,419,153,403,155,411,55,58,73,22,72,30,72,30,72,34,70,93,70,93,72,34,73,38,70,93,73,38,74,43,174,337,76,51,99,108,174,337,99,108,108,128,108,128,99,108,230,108,108,128,230,108,224,128,224,128,230,108,306,55,224,128,306,55,184,337,246,11,242,10,353,0,353,0,242,10,235,10,353,0,235,10,226,9,259,21,258,18,353,0,353,0,258,18,256,16,353,0,256,16,253,14,253,14,250,12,353,0,353,0,250,12,246,11,261,26,353,0,330,17,261,26,330,17,321,26,261,26,321,26,314,38,261,26,314,38,306,55,261,26,306,55,260,31,306,55,230,108,251,61,306,55,251,61,254,53,306,55,254,53,257,45,306,55,257,45,259,38,306,55,259,38,260,31,174,337,108,128,166,266,174,337,166,266,224,128,174,337,224,128,184,337,70,93,55,58,72,30,70,93,74,43,75,47,70,93,75,47,76,51,70,93,76,51,174,337,340,12,330,17,353,0,340,12,353,0,353,9,260,23,259,21,353,0,260,23,353,0,261,26,107,0,107,9,94,10,107,0,94,10,84,12,107,0,84,12,44,34,107,0,44,34,33,20,107,0,33,20,22,13,107,0,22,13,7,9,107,0,7,9,7,0,44,34,84,12,77,16,44,34,77,16,73,22,44,34,73,22,55,58,353,0,226,9,226,0, 229,430,227,446,220,460,209,471,196,478,180,480,164,478,151,471,140,460,133,447,130,431,132,415,139,401,150,391,163,384,179,381,195,384,209,391,220,401,227,415,229,430,16383,16383,213,431,211,420,206,411,199,404,190,400,179,398,169,400,160,404,153,411,148,420,147,431,148,441,153,450,160,457,169,462,179,464,190,462,199,457,206,450,211,441,213,431,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,431,84,420,84,404,56,389,37,372,26,349,20,320,19,268,19,257,22,252,26,249,34,248,47,248,165,319,165,337,163,350,158,360,149,366,135,370,114,381,114,381,232,370,232,367,211,359,197,346,189,326,184,300,183,248,183,248,295,249,301,251,306,253,310,257,312,262,313,305,313,341,312,367,308,382,299,392,283,397,261,408,261,408,331,126,331,126,321,143,320,155,318,164,315,169,310,171,305,171,302,170,300,168,294,166,291,44,49,36,33,28,23,21,16,11,12,0,9,0,0,99,0,99,9,87,11,77,13,70,16,66,20,65,24,66,33,71,48,80,68,93,95,111,130,199,130,199,56,198,39,195,27,189,18,179,13,164,11,155,9,155,0,410,0,16383,16383,199,150,120,150,199,309,307,65,285,47,264,32,242,23,220,17, 211,420,206,411,209,391,209,391,206,411,199,404,209,391,199,404,195,384,195,384,199,404,190,400,195,384,190,400,179,381,179,381,190,400,179,398,180,480,179,464,190,462,180,480,190,462,196,478,196,478,190,462,199,457,196,478,199,457,209,471,209,471,199,457,206,450,209,471,206,450,211,441,229,430,227,446,227,415,227,415,227,446,220,460,227,415,220,460,220,401,220,401,220,460,213,431,211,441,213,431,220,460,211,441,220,460,209,471,211,420,209,391,220,401,211,420,220,401,213,431,153,450,160,457,164,478,164,478,160,457,169,462,164,478,169,462,180,480,180,480,169,462,179,464,151,471,140,460,147,431,151,471,147,431,148,441,151,471,148,441,153,450,151,471,153,450,164,478,153,411,148,420,150,391,150,391,148,420,147,431,169,400,160,404,163,384,169,400,163,384,179,381,169,400,179,381,179,398,153,411,150,391,163,384,153,411,163,384,160,404,130,431,132,415,133,447,133,447,132,415,139,401,133,447,139,401,140,460,140,460,139,401,150,391,140,460,150,391,147,431,55,58,73,22,72,30,72,30,72,34,70,93,70,93,72,34,73,38,70,93,73,38,74,43,174,337,76,51,99,108,174,337,99,108,108,128,108,128,99,108,230,108,108,128,230,108,224,128,224,128,230,108,306,55,224,128,306,55,184,337,246,11,242,10,353,0,353,0,242,10,235,10,353,0,235,10,226,9,259,21,258,18,353,0,353,0,258,18,256,16,353,0,256,16,253,14,253,14,250,12,353,0,353,0,250,12,246,11,261,26,353,0,330,17,261,26,330,17,321,26,261,26,321,26,314,38,261,26,314,38,306,55,261,26,306,55,260,31,306,55,230,108,251,61,306,55,251,61,254,53,306,55,254,53,257,45,306,55,257,45,259,38,306,55,259,38,260,31,174,337,108,128,166,266,174,337,166,266,224,128,174,337,224,128,184,337,70,93,55,58,72,30,70,93,74,43,75,47,70,93,75,47,76,51,70,93,76,51,174,337,340,12,330,17,353,0,340,12,353,0,353,9,260,23,259,21,353,0,260,23,353,0,261,26,107,0,107,9,94,10,107,0,94,10,84,12,107,0,84,12,44,34,107,0,44,34,33,20,107,0,33,20,22,13,107,0,22,13,7,9,107,0,7,9,7,0,44,34,84,12,77,16,44,34,77,16,73,22,44,34,73,22,55,58,353,0,226,9,226,0, 431,84,420,84,404,56,389,37,372,26,349,20,320,19,268,19,257,22,252,26,249,34,248,47,248,165,319,165,337,163,350,158,360,149,366,135,370,114,381,114,381,232,370,232,367,211,359,197,346,189,326,184,300,183,248,183,248,295,249,301,251,306,253,310,257,312,262,313,305,313,341,312,367,308,382,299,392,283,397,261,408,261,408,331,126,331,126,321,143,320,155,318,164,315,169,310,171,305,171,302,170,300,168,294,166,291,44,49,36,33,28,23,21,16,11,12,0,9,0,0,99,0,99,9,87,11,77,13,70,16,66,20,65,24,66,33,71,48,80,68,93,95,111,130,199,130,199,56,198,39,195,27,189,18,179,13,164,11,155,9,155,0,410,0,16383,16383,199,150,120,150,199,309,307,65,285,47,264,32,242,23,220,17,196,15,175,17,155,21,137,29,120,40,105,54,93,72,84,94,77,118,73,145,72,173,77,222,93,262,118,292,151,311,191,318,221,313,249,300,272,280,289,255,299,225,310,225,305,338,295,338,293,332,285,324,280,322,275,321,271,322,268,322,263,323,259,325,254,326,240,330,225,334,210,336,196,338,181,338,160,337,140,333,120,327,101,319,84,308,59,287,40,262,25,233,17,200,14,165,16,135,21,107,30,82,43,60,58,41,73,27,90,15,109,6,129,0,151,-4,132,-49,136,-51,139,-50,141,-50,144,-49,150,-49,160,-50,168,-52,173,-55,175,-60,176,-67,175,-74,172,-81,166,-85,158,-88,149,-89,143,-89,131,-87,124,-86,117,-83,109,-98,118,-102,134,-106, 87,11,77,13,99,0,99,0,77,13,70,16,99,0,70,16,36,33,36,33,70,16,66,20,36,33,66,20,44,49,44,49,66,20,65,24,71,48,80,68,166,291,166,291,80,68,93,95,166,291,93,95,111,130,111,130,199,130,120,150,120,150,199,130,199,150,195,27,189,18,410,0,410,0,189,18,179,13,410,0,179,13,164,11,166,291,111,130,120,150,166,291,120,150,199,309,166,291,199,309,168,294,262,313,408,331,199,309,199,309,408,331,169,310,199,309,169,310,171,305,171,305,171,302,199,309,199,309,171,302,170,300,199,309,170,300,169,297,360,149,366,135,367,211,367,211,366,135,370,114,367,211,370,114,370,232,370,232,370,114,381,114,370,232,381,114,381,232,300,183,319,165,326,184,326,184,319,165,337,163,326,184,337,163,346,189,346,189,337,163,350,158,346,189,350,158,359,197,359,197,350,158,360,149,359,197,360,149,367,211,199,309,249,34,248,47,248,183,248,165,319,165,248,183,319,165,300,183,408,331,262,313,305,313,408,331,305,313,341,312,408,331,341,312,367,308,408,331,367,308,382,299,408,331,382,299,392,283,408,331,392,283,397,261,408,331,397,261,408,261,199,309,248,47,248,295,199,309,248,295,249,301,199,309,249,301,251,306,199,309,251,306,253,310,199,309,253,310,257,312,199,309,257,312,262,313,408,331,126,331,143,320,408,331,143,320,155,318,408,331,155,318,164,315,408,331,164,315,169,310,389,37,372,26,410,0,410,0,372,26,349,20,410,0,349,20,320,19,410,0,431,84,420,84,410,0,420,84,404,56,410,0,404,56,389,37,199,56,198,39,257,22,257,22,198,39,195,27,257,22,195,27,268,19,268,19,195,27,410,0,268,19,410,0,283,19,283,19,410,0,320,19,199,150,199,130,252,26,199,150,252,26,249,34,199,150,249,34,199,309,199,56,257,22,252,26,199,56,252,26,199,130,155,9,155,0,410,0,155,9,410,0,164,11,44,49,65,24,66,33,44,49,66,33,71,48,44,49,71,48,166,291,99,0,36,33,28,23,99,0,28,23,21,16,99,0,21,16,11,12,99,0,11,12,0,9,99,0,0,9,0,0,87,11,99,0,99,9,168,294,199,309,169,297,143,320,126,331,126,321, 307,65,285,47,264,32,242,23,220,17,196,15,175,17,155,21,137,29,120,40,105,54,93,72,84,94,77,118,73,145,72,173,77,222,93,262,118,292,151,311,191,318,221,313,249,300,272,280,289,255,299,225,310,225,305,338,295,338,293,332,285,324,280,322,275,321,271,322,268,322,263,323,259,325,254,326,240,330,225,334,210,336,196,338,181,338,160,337,140,333,120,327,101,319,84,308,59,287,40,262,25,233,17,200,14,165,16,135,21,107,30,82,43,60,58,41,73,27,90,15,109,6,129,0,151,-4,132,-49,136,-51,139,-50,141,-50,144,-49,150,-49,160,-50,168,-52,173,-55,175,-60,176,-67,175,-74,172,-81,166,-85,158,-88,149,-89,143,-89,131,-87,124,-86,117,-83,109,-98,118,-102,134,-106,142,-106,151,-107,173,-105,190,-99,203,-91,211,-79,214,-64,212,-52,206,-43,198,-36,186,-32,171,-30,163,-30,161,-31,158,-31,168,-6,180,-6,213,-4,244,3,272,16,297,34,316,56,201,378,128,453,124,457,119,460,115,462,107,464,101,463,96,461,92,458,90,454,89,448,89,443,91,439,94,434,104,426,181,378,16383,16383,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,184,312,213,311,234,306,247,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0,123,378,142,378,219,427,225,431,229,435,232,439,234,443,234,454,231,458,228,461,223,463,217,464,209,462,205,460,201,457,196,453,16383,16383,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158, 84,94,77,118,90,15,90,15,77,118,73,145,90,15,73,145,73,27,73,27,73,145,72,173,59,287,72,173,84,308,158,-31,175,17,155,21,158,-31,155,21,151,-4,151,-4,155,21,137,29,151,-4,137,29,129,0,129,0,137,29,120,40,129,0,120,40,109,6,109,6,120,40,105,54,142,-106,151,-107,143,-89,143,-89,151,-107,149,-89,158,-88,149,-89,151,-107,158,-88,151,-107,173,-105,141,-50,144,-49,151,-4,151,-4,144,-49,147,-49,151,-4,147,-49,150,-49,150,-49,160,-50,151,-4,151,-4,132,-49,136,-51,151,-4,136,-51,139,-50,151,-4,139,-50,141,-50,196,15,178,-6,180,-6,196,15,180,-6,213,-4,196,15,175,17,175,-6,196,15,175,-6,178,-6,175,17,158,-31,168,-6,175,17,168,-6,171,-6,175,17,171,-6,173,-6,175,17,173,-6,175,-6,316,56,307,65,297,34,297,34,307,65,285,47,297,34,285,47,272,16,272,16,285,47,264,32,272,16,264,32,244,3,244,3,264,32,242,23,244,3,242,23,220,17,220,17,196,15,213,-4,220,17,213,-4,244,3,191,318,181,338,160,337,191,318,160,337,151,311,191,318,196,338,181,338,72,173,77,222,84,308,84,308,77,222,93,262,84,308,93,262,101,319,101,319,93,262,118,292,101,319,118,292,120,327,120,327,118,292,151,311,120,327,151,311,140,333,140,333,151,311,160,337,210,336,221,313,225,334,225,334,221,313,249,300,225,334,249,300,240,330,240,330,249,300,254,326,221,313,210,336,196,338,221,313,196,338,191,318,289,328,285,324,289,255,289,255,285,324,280,322,289,255,280,322,275,321,275,321,271,322,272,280,272,280,271,322,268,322,272,280,268,322,263,323,272,280,263,323,259,325,272,280,259,325,254,326,272,280,254,326,249,300,299,225,310,225,305,338,299,225,305,338,295,338,299,225,295,338,293,332,299,225,293,332,289,255,275,321,272,280,289,255,214,-64,212,-52,211,-79,211,-79,212,-52,206,-43,211,-79,206,-43,203,-91,203,-91,206,-43,198,-36,203,-91,198,-36,190,-99,190,-99,198,-36,186,-32,190,-99,186,-32,176,-67,176,-67,186,-32,175,-60,173,-55,175,-60,186,-32,173,-55,186,-32,171,-30,173,-55,171,-30,168,-30,173,-55,168,-30,168,-52,168,-52,168,-30,166,-30,168,-52,166,-30,163,-30,168,-52,163,-30,161,-31,168,-52,161,-31,160,-50,158,-31,151,-4,160,-50,158,-31,160,-50,161,-31,190,-99,176,-67,175,-74,190,-99,175,-74,173,-105,173,-105,175,-74,172,-81,173,-105,172,-81,166,-85,117,-83,118,-102,124,-86,124,-86,118,-102,126,-104,124,-86,126,-104,131,-87,131,-87,126,-104,134,-106,131,-87,134,-106,137,-88,137,-88,134,-106,142,-106,137,-88,142,-106,143,-89,93,72,84,94,90,15,93,72,90,15,109,6,93,72,109,6,105,54,59,287,40,262,43,60,59,287,43,60,58,41,59,287,58,41,73,27,59,287,73,27,72,173,14,165,16,135,17,200,17,200,16,135,21,107,17,200,21,107,25,233,25,233,21,107,30,82,25,233,30,82,40,262,40,262,30,82,43,60,118,-102,117,-83,109,-98,158,-88,173,-105,166,-85,289,328,289,255,293,332, 201,378,128,453,124,457,119,460,115,462,107,464,101,463,96,461,92,458,90,454,89,448,89,443,91,439,94,434,104,426,181,378,16383,16383,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,184,312,213,311,234,306,247,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0,123,378,142,378,219,427,225,431,229,435,232,439,234,443,234,454,231,458,228,461,223,463,217,464,209,462,205,460,201,457,196,453,16383,16383,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,184,312,213,311,234,306,247,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0, 181,378,201,378,128,453,181,378,128,453,124,457,181,378,124,457,119,460,181,378,119,460,115,462,181,378,115,462,111,463,181,378,111,463,107,464,181,378,107,464,104,426,89,448,89,443,90,454,90,454,89,443,91,439,90,454,91,439,92,458,92,458,91,439,94,434,92,458,94,434,96,461,96,461,94,434,99,430,96,461,99,430,101,463,101,463,99,430,104,426,101,463,104,426,107,464,45,24,38,16,276,0,276,0,38,16,25,12,276,0,25,12,6,9,49,294,50,275,106,310,49,294,106,310,45,307,45,307,106,310,111,312,45,307,111,312,271,331,271,331,111,312,118,312,45,24,117,21,49,37,49,37,117,21,108,25,49,37,108,25,50,57,50,57,108,25,102,31,50,57,102,31,50,275,50,275,102,31,100,42,50,275,100,42,100,294,100,184,100,164,176,164,100,184,176,164,176,184,198,185,176,184,198,162,198,185,198,162,213,190,213,190,198,162,213,158,213,190,213,158,222,198,222,198,213,158,222,150,222,198,222,150,229,212,229,212,222,150,229,136,229,212,229,136,233,232,233,232,229,136,233,115,233,232,233,115,244,115,271,331,118,312,184,312,271,331,184,312,213,311,271,331,213,311,234,306,271,331,234,306,247,297,271,331,247,297,255,282,271,331,255,282,261,259,271,331,261,259,273,259,50,275,100,294,101,302,50,275,101,302,103,307,50,275,103,307,106,310,271,331,6,331,25,320,271,331,25,320,38,315,271,331,38,315,45,307,255,38,234,26,276,0,276,0,234,26,206,20,276,0,206,20,169,18,276,0,299,84,285,84,276,0,285,84,271,57,276,0,271,57,255,38,276,0,169,18,151,18,276,0,151,18,132,19,276,0,132,19,117,21,276,0,117,21,45,24,276,0,6,9,6,0,25,320,6,331,6,321,176,184,176,164,198,162,233,232,244,115,244,232, 123,378,142,378,219,427,225,431,229,435,232,439,234,443,234,454,231,458,228,461,223,463,217,464,209,462,205,460,201,457,196,453,16383,16383,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,184,312,213,311,234,306,247,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0,242,378,179,462,148,462,86,378,103,378,164,430,224,378,16383,16383,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,184,312,213,311,234,306,247,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0,238,411,236,419,233,426,227,431,220,435,213,436,205,435,198,431,193,426, 217,464,219,427,223,463,223,463,219,427,225,431,223,463,225,431,228,461,228,461,225,431,229,435,228,461,229,435,231,458,231,458,229,435,232,439,231,458,232,439,234,454,234,454,232,439,234,443,234,454,234,443,234,448,219,427,217,464,213,463,219,427,213,463,209,462,219,427,209,462,205,460,219,427,205,460,201,457,219,427,201,457,196,453,219,427,196,453,142,378,45,24,38,16,276,0,276,0,38,16,25,12,276,0,25,12,6,9,49,294,50,275,106,310,49,294,106,310,45,307,45,307,106,310,111,312,45,307,111,312,271,331,271,331,111,312,118,312,45,24,117,21,49,37,49,37,117,21,108,25,49,37,108,25,50,57,50,57,108,25,102,31,50,57,102,31,50,275,50,275,102,31,100,42,50,275,100,42,100,294,100,184,100,164,176,164,100,184,176,164,176,184,198,185,176,184,198,162,198,185,198,162,213,190,213,190,198,162,213,158,213,190,213,158,222,198,222,198,213,158,222,150,222,198,222,150,229,212,229,212,222,150,229,136,229,212,229,136,233,232,233,232,229,136,233,115,233,232,233,115,244,115,271,331,118,312,184,312,271,331,184,312,213,311,271,331,213,311,234,306,271,331,234,306,247,297,271,331,247,297,255,282,271,331,255,282,261,259,271,331,261,259,273,259,50,275,100,294,101,302,50,275,101,302,103,307,50,275,103,307,106,310,271,331,6,331,25,320,271,331,25,320,38,315,271,331,38,315,45,307,255,38,234,26,276,0,276,0,234,26,206,20,276,0,206,20,169,18,276,0,299,84,285,84,276,0,285,84,271,57,276,0,271,57,255,38,276,0,169,18,151,18,276,0,151,18,132,19,276,0,132,19,117,21,276,0,117,21,45,24,276,0,6,9,6,0,25,320,6,331,6,321,176,184,176,164,198,162,233,232,244,115,244,232,142,378,196,453,123,378, 242,378,179,462,148,462,86,378,103,378,164,430,224,378,16383,16383,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,184,312,213,311,234,306,247,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0,238,411,236,419,233,426,227,431,220,435,213,436,205,435,198,431,193,426,189,419,188,411,189,403,193,397,198,391,204,388,212,387,220,388,227,391,233,397,236,403,238,411,16383,16383,138,411,137,419,133,426,128,431,121,435,113,436,105,435,98,431,93,426,90,419,89,411,90,403,93,397,98,391,105,388,113,387,121,388,128,391,133,397,137,403,138,411,16383,16383,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115, 86,378,103,378,148,462,148,462,103,378,164,430,148,462,164,430,179,462,179,462,164,430,224,378,179,462,224,378,242,378,45,24,38,16,276,0,276,0,38,16,25,12,276,0,25,12,6,9,49,294,50,275,106,310,49,294,106,310,45,307,45,307,106,310,111,312,45,307,111,312,271,331,271,331,111,312,118,312,45,24,117,21,49,37,49,37,117,21,108,25,49,37,108,25,50,57,50,57,108,25,102,31,50,57,102,31,50,275,50,275,102,31,100,42,50,275,100,42,100,294,100,184,100,164,176,164,100,184,176,164,176,184,198,185,176,184,198,162,198,185,198,162,213,190,213,190,198,162,213,158,213,190,213,158,222,198,222,198,213,158,222,150,222,198,222,150,229,212,229,212,222,150,229,136,229,212,229,136,233,232,233,232,229,136,233,115,233,232,233,115,244,115,271,331,118,312,184,312,271,331,184,312,213,311,271,331,213,311,234,306,271,331,234,306,247,297,271,331,247,297,255,282,271,331,255,282,261,259,271,331,261,259,273,259,50,275,100,294,101,302,50,275,101,302,103,307,50,275,103,307,106,310,271,331,6,331,25,320,271,331,25,320,38,315,271,331,38,315,45,307,255,38,234,26,276,0,276,0,234,26,206,20,276,0,206,20,169,18,276,0,299,84,285,84,276,0,285,84,271,57,276,0,271,57,255,38,276,0,169,18,151,18,276,0,151,18,132,19,276,0,132,19,117,21,276,0,117,21,45,24,276,0,6,9,6,0,25,320,6,331,6,321,176,184,176,164,198,162,233,232,244,115,244,232, 238,411,236,419,233,426,227,431,220,435,213,436,205,435,198,431,193,426,189,419,188,411,189,403,193,397,198,391,204,388,212,387,220,388,227,391,233,397,236,403,238,411,16383,16383,138,411,137,419,133,426,128,431,121,435,113,436,105,435,98,431,93,426,90,419,89,411,90,403,93,397,98,391,105,388,113,387,121,388,128,391,133,397,137,403,138,411,16383,16383,299,84,285,84,271,57,255,38,234,26,206,20,169,18,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,184,312,213,311,234,306,247,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0,134,378,62,453,57,457,53,460,49,462,41,464,35,463,29,461,26,458,23,454,22,448,23,443,25,439,28,434,32,430,37,426,114,378,16383,16383,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,32,378,52,378,129,427,139,435,142,439,143,443,144,448,143,454,141,458,137,461,133,463,127,464,122,463,118,462,115,460,110,457,105,453,16383,16383,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,161,378,98,462,67,462,5,378,22,378,83,430,143,378,16383,16383,153,0,153,9,133,11, 113,436,113,387,121,435,121,435,113,387,121,388,121,435,121,388,128,431,128,431,121,388,128,391,128,431,128,391,133,426,133,426,128,391,133,397,133,426,133,397,137,419,137,419,133,397,137,403,137,419,137,403,138,411,89,411,90,403,90,419,90,419,90,403,93,397,90,419,93,397,93,426,93,426,93,397,98,391,93,426,98,391,98,431,98,431,98,391,105,388,98,431,105,388,105,435,105,435,105,388,113,387,105,435,113,387,113,436,45,24,38,16,276,0,276,0,38,16,25,12,276,0,25,12,6,9,49,294,50,275,106,310,49,294,106,310,45,307,45,307,106,310,111,312,45,307,111,312,271,331,271,331,111,312,118,312,188,411,189,403,189,419,189,419,189,403,193,397,189,419,193,397,193,426,193,426,193,397,198,391,193,426,198,391,198,431,198,431,198,391,204,388,198,431,204,388,205,435,205,435,204,388,212,387,205,435,212,387,213,436,213,436,212,387,220,388,213,436,220,388,220,435,220,435,220,388,227,391,220,435,227,391,227,431,227,431,227,391,233,397,227,431,233,397,233,426,233,426,233,397,236,403,233,426,236,403,236,419,236,419,236,403,238,411,45,24,117,21,49,37,49,37,117,21,108,25,49,37,108,25,50,57,50,57,108,25,102,31,50,57,102,31,50,275,50,275,102,31,100,42,50,275,100,42,100,294,100,184,100,164,176,164,100,184,176,164,176,184,198,185,176,184,198,162,198,185,198,162,213,190,213,190,198,162,213,158,213,190,213,158,222,198,222,198,213,158,222,150,222,198,222,150,229,212,229,212,222,150,229,136,229,212,229,136,233,232,233,232,229,136,233,115,233,232,233,115,244,115,271,331,118,312,184,312,271,331,184,312,213,311,271,331,213,311,234,306,271,331,234,306,247,297,271,331,247,297,255,282,271,331,255,282,261,259,271,331,261,259,273,259,50,275,100,294,101,302,50,275,101,302,103,307,50,275,103,307,106,310,271,331,6,331,25,320,271,331,25,320,38,315,271,331,38,315,45,307,255,38,234,26,276,0,276,0,234,26,206,20,276,0,206,20,169,18,276,0,299,84,285,84,276,0,285,84,271,57,276,0,271,57,255,38,276,0,169,18,151,18,276,0,151,18,132,19,276,0,132,19,117,21,276,0,117,21,45,24,276,0,6,9,6,0,25,320,6,331,6,321,176,184,176,164,198,162,233,232,244,115,244,232, 134,378,62,453,57,457,53,460,49,462,41,464,35,463,29,461,26,458,23,454,22,448,23,443,25,439,28,434,32,430,37,426,114,378,16383,16383,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,32,378,52,378,129,427,139,435,142,439,143,443,144,448,143,454,141,458,137,461,133,463,127,464,122,463,118,462,115,460,110,457,105,453,16383,16383,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0, 114,378,134,378,62,453,114,378,62,453,57,457,114,378,57,457,53,460,114,378,53,460,49,462,114,378,49,462,45,463,114,378,45,463,41,464,114,378,41,464,37,426,22,448,23,443,23,454,23,454,23,443,25,439,23,454,25,439,26,458,26,458,25,439,28,434,26,458,28,434,29,461,29,461,28,434,32,430,29,461,32,430,35,463,35,463,32,430,37,426,35,463,37,426,41,464,52,23,44,15,157,0,157,0,44,15,30,11,157,0,30,11,9,9,157,331,9,331,30,320,157,331,30,320,44,316,157,331,44,316,53,308,157,331,53,308,57,295,157,331,57,295,122,316,157,331,122,316,136,320,157,331,136,320,157,321,122,16,114,24,57,56,57,56,114,24,109,37,57,56,109,37,57,276,57,276,109,37,108,56,57,276,108,56,108,276,57,276,108,276,109,295,57,276,109,295,113,308,57,276,113,308,122,316,57,276,122,316,57,295,157,0,157,9,137,11,157,0,137,11,122,16,157,0,122,16,56,36,157,0,56,36,52,23,157,0,9,9,9,0,56,36,122,16,57,56,30,320,9,331,9,321, 32,378,52,378,129,427,139,435,142,439,143,443,144,448,143,454,141,458,137,461,133,463,127,464,122,463,118,462,115,460,110,457,105,453,16383,16383,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,161,378,98,462,67,462,5,378,22,378,83,430,143,378,16383,16383,153,0,153,9,133,11,119,16,110,24,106,37,104,56,104,276,105,295,110,308,118,316,132,320,153,321,153,331,5,331,5,321,26,320,40,316,49,308,53,295,54,276,54,56,53,36,49,23,40,15,26,11,5,9,5,0,157,411,156,419,153,426,147,431,140,435,132,436,125,435,118,431,113,426, 127,464,129,427,133,463,133,463,129,427,134,431,133,463,134,431,137,461,137,461,134,431,139,435,137,461,139,435,141,458,141,458,139,435,142,439,141,458,142,439,143,454,143,454,142,439,143,443,143,454,143,443,144,448,129,427,127,464,122,463,129,427,122,463,118,462,129,427,118,462,115,460,129,427,115,460,110,457,129,427,110,457,105,453,129,427,105,453,52,378,52,23,44,15,157,0,157,0,44,15,30,11,157,0,30,11,9,9,157,331,9,331,30,320,157,331,30,320,44,316,157,331,44,316,53,308,157,331,53,308,57,295,157,331,57,295,122,316,157,331,122,316,136,320,157,331,136,320,157,321,122,16,114,24,57,56,57,56,114,24,109,37,57,56,109,37,57,276,57,276,109,37,108,56,57,276,108,56,108,276,57,276,108,276,109,295,57,276,109,295,113,308,57,276,113,308,122,316,57,276,122,316,57,295,157,0,157,9,137,11,157,0,137,11,122,16,157,0,122,16,56,36,157,0,56,36,52,23,157,0,9,9,9,0,56,36,122,16,57,56,30,320,9,331,9,321,52,378,105,453,32,378, 161,378,98,462,67,462,5,378,22,378,83,430,143,378,16383,16383,153,0,153,9,133,11,119,16,110,24,106,37,104,56,104,276,105,295,110,308,118,316,132,320,153,321,153,331,5,331,5,321,26,320,40,316,49,308,53,295,54,276,54,56,53,36,49,23,40,15,26,11,5,9,5,0,157,411,156,419,153,426,147,431,140,435,132,436,125,435,118,431,113,426,109,419,108,411,109,403,113,397,118,391,124,388,132,387,140,388,147,391,153,397,156,403,157,411,16383,16383,58,411,57,419,53,426,48,431,41,435,33,436,25,435,18,431,13,426,10,419,8,411,10,403,13,397,18,391, 5,378,22,378,67,462,67,462,22,378,83,430,67,462,83,430,98,462,98,462,83,430,143,378,98,462,143,378,161,378,49,23,40,15,153,0,153,0,40,15,26,11,153,0,26,11,5,9,153,331,5,331,26,320,153,331,26,320,40,316,153,331,40,316,49,308,153,331,49,308,53,295,153,331,53,295,118,316,153,331,118,316,132,320,153,331,132,320,153,321,119,16,110,24,54,56,54,56,110,24,106,37,54,56,106,37,54,276,54,276,106,37,104,56,54,276,104,56,104,276,54,276,104,276,105,295,54,276,105,295,110,308,54,276,110,308,118,316,54,276,118,316,53,295,153,0,153,9,133,11,153,0,133,11,119,16,153,0,119,16,53,36,153,0,53,36,49,23,153,0,5,9,5,0,53,36,119,16,54,56,26,320,5,331,5,321, 157,411,156,419,153,426,147,431,140,435,132,436,125,435,118,431,113,426,109,419,108,411,109,403,113,397,118,391,124,388,132,387,140,388,147,391,153,397,156,403,157,411,16383,16383,58,411,57,419,53,426,48,431,41,435,33,436,25,435,18,431,13,426,10,419,8,411,10,403,13,397,18,391,25,388,32,387,40,388,47,391,53,397,57,403,58,411,16383,16383,157,0,157,9,136,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,8,331,8,321,30,320,44,316,52,308,56,295,57,276,57,56,56,36,52,23,44,15,29,11,8,9,8,0,8,331,8,321,28,319,40,315,48,307,51,295,52,276,52,180,11,180,11,157,52,157,52,55,51,36,47,24,40,16,27,12,8,9,8,0,150,0,183,2,213,7,242,16,267,27,287,41,307,60,322,83,333,109,340,137,343,167,334,224,308,269,267,303,212,324,143,331,16383,16383,103,157,176,157,176,180,103,180,103,293,104,301,106,307,111,310,117,312,127,313,152,312,175,309,194,304,212,297,227,289,249,271,266,249,278,224,285,195,288,164,285,130,278,101,266,76,249,55,227,39,211,31,194,26,175,22,153,19,128,18,118,19,111,21,106,25,104,31,103,39,244,444,240,434, 8,411,10,403,10,419,10,419,10,403,13,397,10,419,13,397,13,426,13,426,13,397,18,391,13,426,18,391,18,431,18,431,18,391,25,388,18,431,25,388,25,435,25,435,25,388,32,387,25,435,32,387,33,436,33,436,32,387,40,388,33,436,40,388,41,435,41,435,40,388,47,391,41,435,47,391,48,431,48,431,47,391,53,397,48,431,53,397,53,426,53,426,53,397,57,403,53,426,57,403,57,419,57,419,57,403,58,411,52,23,44,15,157,0,157,0,44,15,29,11,157,0,29,11,8,9,157,331,8,331,30,320,157,331,30,320,44,316,157,331,44,316,52,308,157,331,52,308,56,295,157,331,56,295,122,316,157,331,122,316,136,320,157,331,136,320,157,321,122,16,114,24,57,56,57,56,114,24,109,37,57,56,109,37,57,276,57,276,109,37,108,56,57,276,108,56,108,276,57,276,108,276,109,295,57,276,109,295,113,308,57,276,113,308,122,316,57,276,122,316,56,295,132,436,132,387,140,435,140,435,132,387,140,388,140,435,140,388,147,431,147,431,140,388,147,391,147,431,147,391,153,426,153,426,147,391,153,397,153,426,153,397,156,419,156,419,153,397,156,403,156,419,156,403,157,411,108,411,109,403,109,419,109,419,109,403,113,397,109,419,113,397,113,426,113,426,113,397,118,391,113,426,118,391,118,431,118,431,118,391,124,388,118,431,124,388,125,435,125,435,124,388,132,387,125,435,132,387,132,436,157,0,157,9,136,11,157,0,136,11,122,16,157,0,122,16,56,36,157,0,56,36,52,23,157,0,8,9,8,0,56,36,122,16,57,56,30,320,8,331,8,321, 8,331,8,321,28,319,40,315,48,307,51,295,52,276,52,180,11,180,11,157,52,157,52,55,51,36,47,24,40,16,27,12,8,9,8,0,150,0,183,2,213,7,242,16,267,27,287,41,307,60,322,83,333,109,340,137,343,167,334,224,308,269,267,303,212,324,143,331,16383,16383,103,157,176,157,176,180,103,180,103,293,104,301,106,307,111,310,117,312,127,313,152,312,175,309,194,304,212,297,227,289,249,271,266,249,278,224,285,195,288,164,285,130,278,101,266,76,249,55,227,39,211,31,194,26,175,22,153,19,128,18,118,19,111,21,106,25,104,31,103,39,244,444,240,434,235,427,230,422,224,420,218,419,213,419,208,420,203,422,191,426,180,432,172,436,158,440,151,441,145,441,130,439,118,433,108,423,100,409,94,391,108,391,112,399,116,406,122,410,128,413,134,414,138,414,146,412,150,410,155,408,177,398,185,394,193,392,200,391,206,391,221,393,234,399,244,409,252,424,259,444,16383,16383,353,331,235,331,235,321,247,320,256,319,263,317,275,309,278,303,281,295,283,285,284,274,284,89,91,331,6,331,6,321,19,321,29,318,37,313,46,306,55,295,55,75,54,48,49,30,41,19,27,13,6,9,6,0,123,0,123,9, 47,24,40,16,150,0,150,0,40,16,27,12,150,0,27,12,8,9,40,315,48,307,143,331,143,331,48,307,51,295,143,331,51,295,52,276,104,31,52,276,52,180,104,31,52,180,52,157,52,157,52,180,11,180,52,157,11,180,11,157,104,301,106,307,52,276,52,276,106,307,111,310,52,276,111,310,143,331,143,331,111,310,117,312,143,331,117,312,127,313,127,313,117,312,127,312,127,313,127,312,152,312,127,313,152,312,143,331,143,331,152,312,212,324,175,22,183,2,194,26,194,26,183,2,213,7,194,26,213,7,211,31,211,31,213,7,227,39,249,55,227,39,242,16,249,55,242,16,267,27,128,18,150,0,153,19,153,19,150,0,183,2,153,19,183,2,175,22,175,309,194,304,212,324,212,324,194,304,212,297,212,324,212,297,227,289,227,289,249,271,267,303,267,303,249,271,266,249,267,303,266,249,278,224,334,224,308,269,322,83,334,224,322,83,333,109,334,224,333,109,340,137,334,224,340,137,343,167,322,83,308,269,307,60,307,60,308,269,288,164,287,41,288,164,285,130,287,41,285,130,278,101,267,303,278,224,308,269,308,269,278,224,285,195,308,269,285,195,288,164,267,303,212,324,227,289,267,27,287,41,278,101,267,27,278,101,266,76,267,27,266,76,249,55,227,39,213,7,242,16,52,276,104,31,103,39,103,180,103,157,176,157,103,180,176,157,176,180,103,293,104,301,52,276,103,293,52,276,103,39,143,331,8,331,28,319,143,331,28,319,40,315,52,55,51,36,111,21,111,21,51,36,150,0,111,21,150,0,118,19,118,19,150,0,128,18,52,55,111,21,106,25,52,55,106,25,104,31,52,55,104,31,52,157,150,0,8,9,8,0,47,24,150,0,51,36,28,319,8,331,8,321,288,164,287,41,307,60,212,324,152,312,175,309, 244,444,240,434,235,427,230,422,224,420,218,419,213,419,208,420,203,422,191,426,180,432,172,436,158,440,151,441,145,441,130,439,118,433,108,423,100,409,94,391,108,391,112,399,116,406,122,410,128,413,134,414,138,414,146,412,150,410,155,408,177,398,185,394,193,392,200,391,206,391,221,393,234,399,244,409,252,424,259,444,16383,16383,353,331,235,331,235,321,247,320,256,319,263,317,275,309,278,303,281,295,283,285,284,274,284,89,91,331,6,331,6,321,19,321,29,318,37,313,46,306,55,295,55,75,54,48,49,30,41,19,27,13,6,9,6,0,123,0,123,9,103,13,90,20,82,31,78,49,76,75,76,269,297,-5,306,-5,306,274,308,289,311,299,315,307,320,313,324,315,329,318,335,319,343,320,353,321,225,378,152,453,148,457,143,460,139,462,131,464,125,463,120,461,116,458,114,454,113,448,113,443,115,439,118,434,128,426,205,378,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,129,378,150,378,227,427,232,431,236,435,239,439,241,443,242,448, 112,399,116,406,118,433,118,433,116,406,122,410,118,433,122,410,130,439,130,439,122,410,128,413,130,439,128,413,134,414,134,414,138,414,145,441,145,441,138,414,142,413,145,441,142,413,146,412,108,391,112,399,118,433,108,391,118,433,108,423,108,391,108,423,100,409,108,391,100,409,94,391,145,441,146,412,151,441,151,441,146,412,150,410,151,441,150,410,155,408,155,408,166,403,158,440,158,440,166,403,165,438,145,441,130,439,134,414,158,440,151,441,155,408,165,438,166,403,172,436,172,436,166,403,177,398,172,436,177,398,180,432,180,432,177,398,185,394,180,432,185,394,191,426,191,426,185,394,193,392,191,426,193,392,197,424,197,424,193,392,200,391,197,424,200,391,203,422,203,422,200,391,206,391,203,422,206,391,208,420,208,420,206,391,221,393,208,420,221,393,213,419,213,419,221,393,218,419,224,420,218,419,221,393,224,420,221,393,234,399,244,444,240,434,244,409,244,444,244,409,252,424,244,444,252,424,259,444,235,427,230,422,234,399,235,427,234,399,244,409,235,427,244,409,240,434,49,30,41,19,123,0,123,0,41,19,27,13,123,0,27,13,6,9,256,319,263,317,353,331,353,331,263,317,269,313,353,331,269,313,275,309,275,309,278,303,353,331,353,331,278,303,281,295,353,331,281,295,324,315,324,315,281,295,320,313,324,315,320,313,320,312,320,312,320,313,315,307,315,307,320,313,284,274,315,307,284,274,284,259,297,-5,284,259,284,89,297,-5,284,89,91,331,353,331,324,315,329,318,353,331,329,318,335,319,353,331,335,319,343,320,353,331,343,320,353,321,306,-5,306,253,297,-5,297,-5,306,253,306,274,297,-5,306,274,284,259,284,259,306,274,308,289,284,259,308,289,311,299,283,285,284,274,320,313,283,285,320,313,281,295,247,320,256,319,353,331,247,320,353,331,235,331,247,320,235,331,235,321,91,331,6,331,19,321,91,331,19,321,29,318,91,331,29,318,37,313,91,331,37,313,46,306,91,331,46,306,55,295,91,331,55,295,76,269,91,331,76,269,297,-5,55,295,78,49,76,75,54,48,49,30,90,20,90,20,49,30,123,0,90,20,123,0,103,13,103,13,123,0,123,9,55,75,54,48,82,31,55,75,82,31,78,49,55,75,78,49,55,295,123,0,6,9,6,0,54,48,90,20,82,31,19,321,6,331,6,321,76,269,55,295,76,75,315,307,284,259,311,299,224,420,234,399,230,422, 225,378,152,453,148,457,143,460,139,462,131,464,125,463,120,461,116,458,114,454,113,448,113,443,115,439,118,434,128,426,205,378,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,129,378,150,378,227,427,232,431,236,435,239,439,241,443,242,448,241,454,239,458,235,461,230,463,224,464,216,462,212,460,208,457,203,453,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201, 205,378,225,378,152,453,205,378,152,453,148,457,205,378,148,457,143,460,205,378,143,460,139,462,205,378,139,462,135,463,205,378,135,463,131,464,205,378,131,464,128,426,113,448,113,443,114,454,114,454,113,443,115,439,114,454,115,439,116,458,116,458,115,439,118,434,116,458,118,434,120,461,120,461,118,434,123,430,120,461,123,430,125,463,125,463,123,430,128,426,125,463,128,426,131,464,149,314,180,338,134,308,134,308,180,338,126,330,134,308,126,330,121,298,121,298,126,330,108,286,97,269,108,286,126,330,97,269,126,330,81,307,81,102,81,24,90,75,90,75,81,24,126,1,90,75,126,1,103,52,103,52,126,1,119,33,130,25,119,33,126,1,130,25,126,1,180,-6,207,316,235,330,194,319,194,319,235,330,180,320,164,318,180,320,180,338,164,318,180,338,149,314,81,307,46,271,46,61,81,307,46,61,74,166,81,307,74,166,76,194,81,307,76,194,80,222,81,307,80,222,87,247,81,307,87,247,97,269,81,102,76,132,81,24,81,24,76,132,74,166,24,109,46,61,46,271,24,109,46,271,24,224,24,109,24,224,17,167,223,19,209,15,234,1,234,1,209,15,196,12,234,1,196,12,181,11,181,11,167,12,180,-6,180,-6,167,12,154,15,180,-6,154,15,142,19,207,316,219,311,235,330,235,330,219,311,231,305,235,330,231,305,242,296,242,296,257,279,280,306,280,306,257,279,270,257,280,306,270,257,279,231,235,330,180,338,180,320,280,103,272,76,279,24,279,24,272,76,260,53,279,24,260,53,246,35,246,35,235,26,279,24,279,24,235,26,234,1,344,166,336,222,336,108,336,108,336,222,314,269,336,108,314,269,314,60,314,60,314,269,287,169,285,201,287,169,314,269,285,201,314,269,280,306,285,201,280,306,279,231,280,306,235,330,242,296,314,60,287,169,285,134,314,60,285,134,280,103,314,60,280,103,279,24,181,11,180,-6,234,1,81,24,74,166,46,61,223,19,234,1,235,26,130,25,180,-6,142,19, 129,378,150,378,227,427,232,431,236,435,239,439,241,443,242,448,241,454,239,458,235,461,230,463,224,464,216,462,212,460,208,457,203,453,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,255,378,193,462,161,462,99,378,117,378,177,430,238,378,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,244,444,240,434,235,427,230,422,224,420,218,419,213,419,208,420,203,422,191,426, 149,314,180,338,134,308,134,308,180,338,126,330,134,308,126,330,121,298,121,298,126,330,108,286,97,269,108,286,126,330,97,269,126,330,81,307,81,102,81,24,90,75,90,75,81,24,126,1,90,75,126,1,103,52,103,52,126,1,119,33,130,25,119,33,126,1,130,25,126,1,180,-6,207,316,235,330,194,319,194,319,235,330,180,320,164,318,180,320,180,338,164,318,180,338,149,314,81,307,46,271,46,61,81,307,46,61,74,166,81,307,74,166,76,194,81,307,76,194,80,222,81,307,80,222,87,247,81,307,87,247,97,269,81,102,76,132,81,24,81,24,76,132,74,166,24,109,46,61,46,271,24,109,46,271,24,224,24,109,24,224,17,167,223,19,209,15,234,1,234,1,209,15,196,12,234,1,196,12,181,11,181,11,167,12,180,-6,180,-6,167,12,154,15,180,-6,154,15,142,19,207,316,219,311,235,330,235,330,219,311,231,305,235,330,231,305,242,296,242,296,257,279,280,306,280,306,257,279,270,257,280,306,270,257,279,231,235,330,180,338,180,320,280,103,272,76,279,24,279,24,272,76,260,53,279,24,260,53,246,35,246,35,235,26,279,24,279,24,235,26,234,1,344,166,336,222,336,108,336,108,336,222,314,269,336,108,314,269,314,60,314,60,314,269,287,169,285,201,287,169,314,269,285,201,314,269,280,306,285,201,280,306,279,231,280,306,235,330,242,296,314,60,287,169,285,134,314,60,285,134,280,103,314,60,280,103,279,24,181,11,180,-6,234,1,224,464,227,427,230,463,230,463,227,427,232,431,230,463,232,431,235,461,235,461,232,431,236,435,235,461,236,435,239,458,239,458,236,435,239,439,239,458,239,439,241,454,241,454,239,439,241,443,241,454,241,443,242,448,227,427,224,464,220,463,227,427,220,463,216,462,227,427,216,462,212,460,227,427,212,460,208,457,227,427,208,457,203,453,227,427,203,453,150,378,81,24,74,166,46,61,150,378,203,453,129,378,223,19,234,1,235,26,130,25,180,-6,142,19, 255,378,193,462,161,462,99,378,117,378,177,430,238,378,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,244,444,240,434,235,427,230,422,224,420,218,419,213,419,208,420,203,422,191,426,180,432,172,436,158,440,151,441,145,441,130,439,118,433,108,423,100,409,94,391,108,391,112,399,116,406,122,410,128,413,134,414,138,414,146,412,150,410,155,408,177,398,185,394,193,392,200,391,206,391,221,393,234,399,244,409,252,424,259,444,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19, 99,378,117,378,161,462,161,462,117,378,177,430,161,462,177,430,193,462,193,462,177,430,238,378,193,462,238,378,255,378,149,314,180,338,134,308,134,308,180,338,126,330,134,308,126,330,121,298,121,298,126,330,108,286,97,269,108,286,126,330,97,269,126,330,81,307,81,102,81,24,90,75,90,75,81,24,126,1,90,75,126,1,103,52,103,52,126,1,119,33,130,25,119,33,126,1,130,25,126,1,180,-6,207,316,235,330,194,319,194,319,235,330,180,320,164,318,180,320,180,338,164,318,180,338,149,314,81,307,46,271,46,61,81,307,46,61,74,166,81,307,74,166,76,194,81,307,76,194,80,222,81,307,80,222,87,247,81,307,87,247,97,269,81,102,76,132,81,24,81,24,76,132,74,166,24,109,46,61,46,271,24,109,46,271,24,224,24,109,24,224,17,167,223,19,209,15,234,1,234,1,209,15,196,12,234,1,196,12,181,11,181,11,167,12,180,-6,180,-6,167,12,154,15,180,-6,154,15,142,19,207,316,219,311,235,330,235,330,219,311,231,305,235,330,231,305,242,296,242,296,257,279,280,306,280,306,257,279,270,257,280,306,270,257,279,231,235,330,180,338,180,320,280,103,272,76,279,24,279,24,272,76,260,53,279,24,260,53,246,35,246,35,235,26,279,24,279,24,235,26,234,1,344,166,336,222,336,108,336,108,336,222,314,269,336,108,314,269,314,60,314,60,314,269,287,169,285,201,287,169,314,269,285,201,314,269,280,306,285,201,280,306,279,231,280,306,235,330,242,296,314,60,287,169,285,134,314,60,285,134,280,103,314,60,280,103,279,24,181,11,180,-6,234,1,81,24,74,166,46,61,223,19,234,1,235,26,130,25,180,-6,142,19, 244,444,240,434,235,427,230,422,224,420,218,419,213,419,208,420,203,422,191,426,180,432,172,436,158,440,151,441,145,441,130,439,118,433,108,423,100,409,94,391,108,391,112,399,116,406,122,410,128,413,134,414,138,414,146,412,150,410,155,408,177,398,185,394,193,392,200,391,206,391,221,393,234,399,244,409,252,424,259,444,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,252,411,250,419,247,426,241,431,234,435,227,436,219,435,212,431,207,426,203,419,202,411,203,403,207,397,212,391,218,388,226,387,234,388,241,391,247,397,250,403,252,411,16383,16383,152,411,151,419,147,426,142,431,135,435,127,436,119,435,113,431,107,426,104,419,103,411,104,403,107,397,112,391,119,388,127,387,135,388,142,391,147,397,151,403,152,411,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257, 112,399,116,406,118,433,118,433,116,406,122,410,118,433,122,410,130,439,130,439,122,410,128,413,130,439,128,413,134,414,134,414,138,414,145,441,145,441,138,414,142,413,145,441,142,413,146,412,108,391,112,399,118,433,108,391,118,433,108,423,108,391,108,423,100,409,108,391,100,409,94,391,145,441,146,412,151,441,151,441,146,412,150,410,151,441,150,410,155,408,155,408,166,403,158,440,158,440,166,403,165,438,145,441,130,439,134,414,158,440,151,441,155,408,165,438,166,403,172,436,172,436,166,403,177,398,172,436,177,398,180,432,180,432,177,398,185,394,180,432,185,394,191,426,191,426,185,394,193,392,191,426,193,392,197,424,197,424,193,392,200,391,197,424,200,391,203,422,203,422,200,391,206,391,203,422,206,391,208,420,208,420,206,391,221,393,208,420,221,393,213,419,213,419,221,393,218,419,224,420,218,419,221,393,224,420,221,393,234,399,244,444,240,434,244,409,244,444,244,409,252,424,244,444,252,424,259,444,235,427,230,422,234,399,235,427,234,399,244,409,235,427,244,409,240,434,149,314,180,338,134,308,134,308,180,338,126,330,134,308,126,330,121,298,121,298,126,330,108,286,97,269,108,286,126,330,97,269,126,330,81,307,81,102,81,24,90,75,90,75,81,24,126,1,90,75,126,1,103,52,103,52,126,1,119,33,130,25,119,33,126,1,130,25,126,1,180,-6,207,316,235,330,194,319,194,319,235,330,180,320,164,318,180,320,180,338,164,318,180,338,149,314,81,307,46,271,46,61,81,307,46,61,74,166,81,307,74,166,76,194,81,307,76,194,80,222,81,307,80,222,87,247,81,307,87,247,97,269,81,102,76,132,81,24,81,24,76,132,74,166,24,109,46,61,46,271,24,109,46,271,24,224,24,109,24,224,17,167,223,19,209,15,234,1,234,1,209,15,196,12,234,1,196,12,181,11,181,11,167,12,180,-6,180,-6,167,12,154,15,180,-6,154,15,142,19,207,316,219,311,235,330,235,330,219,311,231,305,235,330,231,305,242,296,242,296,257,279,280,306,280,306,257,279,270,257,280,306,270,257,279,231,235,330,180,338,180,320,280,103,272,76,279,24,279,24,272,76,260,53,279,24,260,53,246,35,246,35,235,26,279,24,279,24,235,26,234,1,344,166,336,222,336,108,336,108,336,222,314,269,336,108,314,269,314,60,314,60,314,269,287,169,285,201,287,169,314,269,285,201,314,269,280,306,285,201,280,306,279,231,280,306,235,330,242,296,314,60,287,169,285,134,314,60,285,134,280,103,314,60,280,103,279,24,181,11,180,-6,234,1,81,24,74,166,46,61,223,19,234,1,235,26,130,25,180,-6,142,19,224,420,234,399,230,422, 252,411,250,419,247,426,241,431,234,435,227,436,219,435,212,431,207,426,203,419,202,411,203,403,207,397,212,391,218,388,226,387,234,388,241,391,247,397,250,403,252,411,16383,16383,152,411,151,419,147,426,142,431,135,435,127,436,119,435,113,431,107,426,104,419,103,411,104,403,107,397,112,391,119,388,127,387,135,388,142,391,147,397,151,403,152,411,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,299,11,184,126,299,242,276,265,160,150,45,265,22,242,137,126,22,11,45,-11,160,103,276,-11,329,367,305,367,268,314,250,323,233,330,217,335,200,337,181,338,127,330,81,307,47,270,25,222,17,165,18,147,20,129,24,111,30,94,36,79,48,59,55,50,75,30,28,-39,52,-39,92,18,110,8,127,1,143,-3,161,-5,180,-6,234,1,279,24,314,61,336,109,344,166,343,184,340,203,336,220,331,237,325,252,319,263,313,272,305,281,296,291,285,302,16383,16383,97,61,88,80,82,99,77,119,75,141,74,165,79,218,93,261,115,293,144,313,180,320,196,319,211,315,225,309,238,300,251,287,16383,16383,263,270,272,251,279,232,284,212,286,190,287,165,282,113,268,70,246,38,217,18,180,11,164,12,149,16,135,22,122,32,109,44,227,378,154,453,149,457,145,460,141,462,137,463,132,464,126,463,121,461,118,458,115,454,114,448,115,443,117,439,120,434,124,430,129,426, 103,411,104,403,104,419,104,419,104,403,107,397,104,419,107,397,107,426,107,426,107,397,112,391,107,426,112,391,113,431,113,431,112,391,119,388,113,431,119,388,119,435,119,435,119,388,127,387,119,435,127,387,127,436,127,436,127,387,135,388,127,436,135,388,135,435,135,435,135,388,142,391,135,435,142,391,142,431,142,431,142,391,147,397,142,431,147,397,147,426,147,426,147,397,151,403,147,426,151,403,151,419,151,419,151,403,152,411,149,314,180,338,134,308,134,308,180,338,126,330,134,308,126,330,121,298,121,298,126,330,108,286,97,269,108,286,126,330,97,269,126,330,81,307,81,102,81,24,90,75,90,75,81,24,126,1,90,75,126,1,103,52,103,52,126,1,119,33,130,25,119,33,126,1,130,25,126,1,180,-6,207,316,235,330,194,319,194,319,235,330,180,320,164,318,180,320,180,338,164,318,180,338,149,314,81,307,46,271,46,61,81,307,46,61,74,166,81,307,74,166,76,194,81,307,76,194,80,222,81,307,80,222,87,247,81,307,87,247,97,269,81,102,76,132,81,24,81,24,76,132,74,166,24,109,46,61,46,271,24,109,46,271,24,224,24,109,24,224,17,167,223,19,209,15,234,1,234,1,209,15,196,12,234,1,196,12,181,11,181,11,167,12,180,-6,180,-6,167,12,154,15,180,-6,154,15,142,19,207,316,219,311,235,330,235,330,219,311,231,305,235,330,231,305,242,296,242,296,257,279,280,306,280,306,257,279,270,257,280,306,270,257,279,231,235,330,180,338,180,320,280,103,272,76,279,24,279,24,272,76,260,53,279,24,260,53,246,35,246,35,235,26,279,24,279,24,235,26,234,1,344,166,336,222,336,108,336,108,336,222,314,269,336,108,314,269,314,60,314,60,314,269,287,169,285,201,287,169,314,269,285,201,314,269,280,306,285,201,280,306,279,231,280,306,235,330,242,296,314,60,287,169,285,134,314,60,285,134,280,103,314,60,280,103,279,24,181,11,180,-6,234,1,202,411,203,403,203,419,203,419,203,403,207,397,203,419,207,397,207,426,207,426,207,397,212,391,207,426,212,391,212,431,212,431,212,391,218,388,212,431,218,388,219,435,219,435,218,388,226,387,219,435,226,387,227,436,227,436,226,387,234,388,227,436,234,388,234,435,234,435,234,388,241,391,234,435,241,391,241,431,241,431,241,391,247,397,241,431,247,397,247,426,247,426,247,397,250,403,247,426,250,403,250,419,250,419,250,403,252,411,81,24,74,166,46,61,223,19,234,1,235,26,130,25,180,-6,142,19, 299,11,184,126,299,242,276,265,160,150,45,265,22,242,137,126,22,11,45,-11,160,103,276,-11,329,367,305,367,268,314,250,323,233,330,217,335,200,337,181,338,127,330,81,307,47,270,25,222, 184,126,299,242,276,265,184,126,276,265,160,150,184,126,160,150,276,-11,184,126,276,-11,299,11,22,11,45,-11,137,126,137,126,45,-11,160,103,137,126,160,103,160,150,160,150,160,103,276,-11,45,265,22,242,137,126,45,265,137,126,160,150, 329,367,305,367,268,314,250,323,233,330,217,335,200,337,181,338,127,330,81,307,47,270,25,222,17,165,18,147,20,129,24,111,30,94,36,79,48,59,55,50,75,30,28,-39,52,-39,92,18,110,8,127,1,143,-3,161,-5,180,-6,234,1,279,24,314,61,336,109,344,166,343,184,340,203,336,220,331,237,325,252,319,263,313,272,305,281,296,291,285,302,16383,16383,97,61,88,80,82,99,77,119,75,141,74,165,79,218,93,261,115,293,144,313,180,320,196,319,211,315,225,309,238,300,251,287,16383,16383,263,270,272,251,279,232,284,212,286,190,287,165,282,113,268,70,246,38,217,18,180,11,164,12,149,16,135,22,122,32,109,44,227,378,154,453,149,457,145,460,141,462,137,463,132,464,126,463,121,461,118,458,115,454,114,448,115,443,117,439,120,434,124,430,129,426,206,378,16383,16383,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314,128,319,148,321,148,331,7,331,7,321,27,319,40,315,47,308,51,297,52,280,52,124,53,95,58,69,66,48,78,30,93,16,106,8,121,1,138,-3,157,-5,177,-6,204,-5,227,0,247,6,264,17,278,30,290,45, 48,59,55,50,81,307,81,307,55,50,64,41,81,307,64,41,74,165,74,165,75,30,75,141,75,141,75,30,77,119,282,113,268,70,279,24,279,24,268,70,246,38,279,24,246,38,234,1,234,1,246,38,217,18,234,1,217,18,180,11,180,11,164,12,180,-6,180,-6,164,12,161,-5,88,80,92,18,97,61,97,61,92,18,110,8,97,61,110,8,109,44,109,44,110,8,122,32,122,32,110,8,127,1,122,32,127,1,135,22,135,22,127,1,143,-3,135,22,143,-3,149,16,149,16,143,-3,161,-5,149,16,161,-5,164,12,92,18,88,80,82,99,92,18,82,99,77,119,92,18,77,119,75,30,92,18,75,30,52,-39,75,30,28,-39,52,-39,109,44,263,270,251,287,251,287,268,314,250,323,251,287,250,323,238,300,238,300,250,323,233,330,238,300,233,330,225,309,225,309,233,330,217,335,225,309,217,335,211,315,211,315,217,335,200,337,211,315,200,337,196,319,196,319,200,337,181,338,196,319,181,338,180,320,343,184,340,203,344,166,344,166,340,203,336,220,344,166,336,220,336,109,336,109,336,220,331,237,336,109,331,237,325,252,319,263,313,272,314,61,319,263,314,61,336,109,319,263,336,109,325,252,279,24,314,61,282,113,282,113,314,61,287,165,296,291,287,165,314,61,296,291,314,61,305,281,305,281,314,61,313,272,180,11,180,-6,234,1,263,270,272,251,268,314,268,314,272,251,285,302,268,314,285,302,305,367,305,367,285,302,329,367,285,302,272,251,279,232,285,302,279,232,284,212,285,302,284,212,286,190,285,302,286,190,296,291,251,287,97,61,109,44,93,261,115,293,127,330,127,330,115,293,144,313,127,330,144,313,181,338,181,338,144,313,180,320,81,307,74,165,79,218,81,307,79,218,93,261,81,307,93,261,127,330,47,270,25,222,30,94,47,270,30,94,36,79,47,270,36,79,42,69,47,270,42,69,48,59,47,270,48,59,81,307,25,222,17,165,18,147,25,222,18,147,20,129,25,222,20,129,24,111,25,222,24,111,30,94,296,291,286,190,287,165,268,314,251,287,263,270,75,30,74,165,64,41, 227,378,154,453,149,457,145,460,141,462,137,463,132,464,126,463,121,461,118,458,115,454,114,448,115,443,117,439,120,434,124,430,129,426,206,378,16383,16383,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314,128,319,148,321,148,331,7,331,7,321,27,319,40,315,47,308,51,297,52,280,52,124,53,95,58,69,66,48,78,30,93,16,106,8,121,1,138,-3,157,-5,177,-6,204,-5,227,0,247,6,264,17,278,30,290,45,297,62,302,81,305,104,305,258,306,282,310,300,318,311,331,318,353,321,132,378,152,378,229,427,234,431,238,435,241,439,243,443,244,448,243,454,241,458,237,461,233,463,227,464,222,463,218,462,214,460,210,457,205,453,16383,16383,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314,128,319,148,321,148,331,7,331,7,321,27,319,40,315,47,308,51,297,52,280,52,124,53,95,58,69,66,48,78,30,93,16,106,8,121,1,138,-3,157,-5,177,-6,204,-5,227,0,247,6,264,17,278,30,290,45,297,62,302,81,305,104,305,258,306,282,310,300,318,311,331,318,353,321, 206,378,227,378,154,453,206,378,154,453,149,457,206,378,149,457,145,460,206,378,145,460,141,462,206,378,141,462,137,463,206,378,137,463,132,464,206,378,132,464,129,426,114,448,115,443,115,454,115,454,115,443,117,439,115,454,117,439,118,458,118,458,117,439,120,434,118,458,120,434,121,461,121,461,120,434,124,430,121,461,124,430,126,463,126,463,124,430,129,426,126,463,129,426,132,464,105,79,106,8,109,63,109,63,106,8,121,1,109,63,121,1,115,50,115,50,121,1,125,37,135,30,125,37,138,-3,135,30,138,-3,146,24,146,24,138,-3,157,-5,146,24,157,-5,158,19,158,19,157,-5,177,-6,158,19,177,-6,173,16,173,16,177,-6,189,15,208,16,189,15,204,-5,208,16,204,-5,227,0,103,118,103,275,93,16,103,118,93,16,104,97,104,97,93,16,106,8,104,97,106,8,105,79,125,37,121,1,138,-3,283,103,282,85,290,45,290,45,282,85,279,70,290,45,279,70,278,30,278,30,279,70,273,57,278,30,273,57,265,45,265,45,254,34,264,17,264,17,254,34,247,6,241,26,225,20,227,0,241,26,227,0,247,6,241,26,247,6,254,34,353,331,237,331,257,319,353,331,257,319,270,312,353,331,270,312,279,301,353,331,279,301,318,311,353,331,318,311,331,318,353,331,331,318,353,321,305,258,306,282,297,62,305,258,297,62,302,81,305,258,302,81,305,104,305,258,305,104,305,131,290,45,297,62,306,282,290,45,306,282,283,257,290,45,283,257,283,125,290,45,283,125,283,103,310,300,318,311,282,283,310,300,282,283,283,257,310,300,283,257,306,282,265,45,264,17,278,30,189,15,177,-6,204,-5,128,319,148,321,148,331,128,319,148,331,115,314,115,314,148,331,51,297,115,314,51,297,52,280,53,95,52,280,52,124,58,69,66,48,104,293,104,293,66,48,78,30,104,293,78,30,103,275,103,275,78,30,93,16,104,293,108,306,52,280,104,293,52,280,53,95,104,293,53,95,58,69,148,331,7,331,27,319,148,331,27,319,40,315,148,331,40,315,47,308,148,331,47,308,51,297,27,319,7,331,7,321,115,314,52,280,108,306,257,319,237,331,237,321,318,311,279,301,282,283,208,16,227,0,225,20, 132,378,152,378,229,427,234,431,238,435,241,439,243,443,244,448,243,454,241,458,237,461,233,463,227,464,222,463,218,462,214,460,210,457,205,453,16383,16383,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314,128,319,148,321,148,331,7,331,7,321,27,319,40,315,47,308,51,297,52,280,52,124,53,95,58,69,66,48,78,30,93,16,106,8,121,1,138,-3,157,-5,177,-6,204,-5,227,0,247,6,264,17,278,30,290,45,297,62,302,81,305,104,305,258,306,282,310,300,318,311,331,318,353,321,256,378,193,462,162,462,100,378,117,378,177,430,238,378,16383,16383,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314,128,319,148,321,148,331,7,331,7,321,27,319,40,315,47,308,51,297,52,280,52,124,53,95,58,69,66,48,78,30,93,16,106,8,121,1,138,-3,157,-5,177,-6,204,-5,227,0,247,6,264,17,278,30,290,45,297,62,302,81,305,104,305,258,306,282,310,300,318,311,331,318,353,321,252,411,250,419,247,426,241,431,234,435,227,436,219,435,212,431,207,426,203,419,202,411, 105,79,106,8,109,63,109,63,106,8,121,1,109,63,121,1,115,50,115,50,121,1,125,37,135,30,125,37,138,-3,135,30,138,-3,146,24,146,24,138,-3,157,-5,146,24,157,-5,158,19,158,19,157,-5,177,-6,158,19,177,-6,173,16,173,16,177,-6,189,15,208,16,189,15,204,-5,208,16,204,-5,227,0,103,118,103,275,93,16,103,118,93,16,104,97,104,97,93,16,106,8,104,97,106,8,105,79,125,37,121,1,138,-3,227,464,229,427,233,463,233,463,229,427,234,431,233,463,234,431,237,461,237,461,234,431,238,435,237,461,238,435,241,458,241,458,238,435,241,439,241,458,241,439,243,454,243,454,241,439,243,443,243,454,243,443,244,448,229,427,227,464,222,463,229,427,222,463,218,462,229,427,218,462,214,460,229,427,214,460,210,457,229,427,210,457,205,453,229,427,205,453,152,378,283,103,282,85,290,45,290,45,282,85,279,70,290,45,279,70,278,30,278,30,279,70,273,57,278,30,273,57,265,45,265,45,254,34,264,17,264,17,254,34,247,6,241,26,225,20,227,0,241,26,227,0,247,6,241,26,247,6,254,34,353,331,237,331,257,319,353,331,257,319,270,312,353,331,270,312,279,301,353,331,279,301,318,311,353,331,318,311,331,318,353,331,331,318,353,321,305,258,306,282,297,62,305,258,297,62,302,81,305,258,302,81,305,104,305,258,305,104,305,131,290,45,297,62,306,282,290,45,306,282,283,257,290,45,283,257,283,125,290,45,283,125,283,103,310,300,318,311,282,283,310,300,282,283,283,257,310,300,283,257,306,282,265,45,264,17,278,30,189,15,177,-6,204,-5,128,319,148,321,148,331,128,319,148,331,115,314,115,314,148,331,51,297,115,314,51,297,52,280,53,95,52,280,52,124,58,69,66,48,104,293,104,293,66,48,78,30,104,293,78,30,103,275,103,275,78,30,93,16,104,293,108,306,52,280,104,293,52,280,53,95,104,293,53,95,58,69,148,331,7,331,27,319,148,331,27,319,40,315,148,331,40,315,47,308,148,331,47,308,51,297,27,319,7,331,7,321,115,314,52,280,108,306,257,319,237,331,237,321,318,311,279,301,282,283,208,16,227,0,225,20,152,378,205,453,132,378, 256,378,193,462,162,462,100,378,117,378,177,430,238,378,16383,16383,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314,128,319,148,321,148,331,7,331,7,321,27,319,40,315,47,308,51,297,52,280,52,124,53,95,58,69,66,48,78,30,93,16,106,8,121,1,138,-3,157,-5,177,-6,204,-5,227,0,247,6,264,17,278,30,290,45,297,62,302,81,305,104,305,258,306,282,310,300,318,311,331,318,353,321,252,411,250,419,247,426,241,431,234,435,227,436,219,435,212,431,207,426,203,419,202,411,203,403,207,397,212,391,218,388,226,387,234,388,241,391,247,397,250,403,252,411,16383,16383,152,411,151,419,147,426,142,431,135,435,127,436,119,435,113,431,107,426,104,419,103,411,104,403,107,397,112,391,119,388,127,387,135,388,142,391,147,397,151,403,152,411,16383,16383,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314, 100,378,117,378,162,462,162,462,117,378,177,430,162,462,177,430,193,462,193,462,177,430,238,378,193,462,238,378,256,378,105,79,106,8,109,63,109,63,106,8,121,1,109,63,121,1,115,50,115,50,121,1,125,37,135,30,125,37,138,-3,135,30,138,-3,146,24,146,24,138,-3,157,-5,146,24,157,-5,158,19,158,19,157,-5,177,-6,158,19,177,-6,173,16,173,16,177,-6,189,15,208,16,189,15,204,-5,208,16,204,-5,227,0,103,118,103,275,93,16,103,118,93,16,104,97,104,97,93,16,106,8,104,97,106,8,105,79,125,37,121,1,138,-3,283,103,282,85,290,45,290,45,282,85,279,70,290,45,279,70,278,30,278,30,279,70,273,57,278,30,273,57,265,45,265,45,254,34,264,17,264,17,254,34,247,6,241,26,225,20,227,0,241,26,227,0,247,6,241,26,247,6,254,34,353,331,237,331,257,319,353,331,257,319,270,312,353,331,270,312,279,301,353,331,279,301,318,311,353,331,318,311,331,318,353,331,331,318,353,321,305,258,306,282,297,62,305,258,297,62,302,81,305,258,302,81,305,104,305,258,305,104,305,131,290,45,297,62,306,282,290,45,306,282,283,257,290,45,283,257,283,125,290,45,283,125,283,103,310,300,318,311,282,283,310,300,282,283,283,257,310,300,283,257,306,282,265,45,264,17,278,30,189,15,177,-6,204,-5,128,319,148,321,148,331,128,319,148,331,115,314,115,314,148,331,51,297,115,314,51,297,52,280,53,95,52,280,52,124,58,69,66,48,104,293,104,293,66,48,78,30,104,293,78,30,103,275,103,275,78,30,93,16,104,293,108,306,52,280,104,293,52,280,53,95,104,293,53,95,58,69,148,331,7,331,27,319,148,331,27,319,40,315,148,331,40,315,47,308,148,331,47,308,51,297,27,319,7,331,7,321,115,314,52,280,108,306,257,319,237,331,237,321,318,311,279,301,282,283,208,16,227,0,225,20, 252,411,250,419,247,426,241,431,234,435,227,436,219,435,212,431,207,426,203,419,202,411,203,403,207,397,212,391,218,388,226,387,234,388,241,391,247,397,250,403,252,411,16383,16383,152,411,151,419,147,426,142,431,135,435,127,436,119,435,113,431,107,426,104,419,103,411,104,403,107,397,112,391,119,388,127,387,135,388,142,391,147,397,151,403,152,411,16383,16383,353,331,237,331,237,321,257,319,270,312,279,301,282,283,283,257,283,103,282,85,279,70,273,57,265,45,254,34,241,26,225,20,208,16,189,15,173,16,158,19,146,24,135,30,125,37,115,50,109,63,105,79,104,97,103,118,103,275,104,293,108,306,115,314,128,319,148,321,148,331,7,331,7,321,27,319,40,315,47,308,51,297,52,280,52,124,53,95,58,69,66,48,78,30,93,16,106,8,121,1,138,-3,157,-5,177,-6,204,-5,227,0,247,6,264,17,278,30,290,45,297,62,302,81,305,104,305,258,306,282,310,300,318,311,331,318,353,321,133,378,153,378,230,427,240,435,243,439,244,443,245,448,244,454,242,458,238,461,234,463,228,464,223,463,219,462,216,460,211,457,206,453,16383,16383,352,331,243,331,243,321,256,321,266,319,272,316,275,312,276,306,276,302,274,294,272,290,270,285,197,174,124,285,121,289,118,294,116,299,115,304,115,308,116,312,119,316,123,318,130,320,138,321,151,321,151,331,11,331,11,321,24,319,37,313,50,299,68,277,92,243,157,147,157,61,156,39,152,25,144,16,129,12,107,9,107,0,260,0,260,9,239,11,224,15,215,23,210,36,209,55,209,151,282,266,297,288,310,303,322,313,336,319,352,321,101,266,101,268,100,269,100,271,101,292,105,306,113,314,127,319,147,321,147,331,8,331,8,321,27,319,39,314,46,307,49,294,50,276,50,60,49,39,46,25,39,17,27,12,8,9,8,0,148,0,148,9,128,11,114,16,106,23,102,36,101,55,101,80,109,80,115,79,136,79,158,80,177,82,194,85,210,90, 202,411,203,403,203,419,203,419,203,403,207,397,203,419,207,397,207,426,207,426,207,397,212,391,207,426,212,391,212,431,212,431,212,391,218,388,212,431,218,388,219,435,219,435,218,388,226,387,219,435,226,387,227,436,227,436,226,387,234,388,227,436,234,388,234,435,234,435,234,388,241,391,234,435,241,391,241,431,241,431,241,391,247,397,241,431,247,397,247,426,247,426,247,397,250,403,247,426,250,403,250,419,250,419,250,403,252,411,103,411,104,403,104,419,104,419,104,403,107,397,104,419,107,397,107,426,107,426,107,397,112,391,107,426,112,391,113,431,113,431,112,391,119,388,113,431,119,388,119,435,119,435,119,388,127,387,119,435,127,387,127,436,127,436,127,387,135,388,127,436,135,388,135,435,135,435,135,388,142,391,135,435,142,391,142,431,142,431,142,391,147,397,142,431,147,397,147,426,147,426,147,397,151,403,147,426,151,403,151,419,151,419,151,403,152,411,105,79,106,8,109,63,109,63,106,8,121,1,109,63,121,1,115,50,115,50,121,1,125,37,135,30,125,37,138,-3,135,30,138,-3,146,24,146,24,138,-3,157,-5,146,24,157,-5,158,19,158,19,157,-5,177,-6,158,19,177,-6,173,16,173,16,177,-6,189,15,208,16,189,15,204,-5,208,16,204,-5,227,0,103,118,103,275,93,16,103,118,93,16,104,97,104,97,93,16,106,8,104,97,106,8,105,79,125,37,121,1,138,-3,283,103,282,85,290,45,290,45,282,85,279,70,290,45,279,70,278,30,278,30,279,70,273,57,278,30,273,57,265,45,265,45,254,34,264,17,264,17,254,34,247,6,241,26,225,20,227,0,241,26,227,0,247,6,241,26,247,6,254,34,353,331,237,331,257,319,353,331,257,319,270,312,353,331,270,312,279,301,353,331,279,301,318,311,353,331,318,311,331,318,353,331,331,318,353,321,305,258,306,282,297,62,305,258,297,62,302,81,305,258,302,81,305,104,305,258,305,104,305,131,290,45,297,62,306,282,290,45,306,282,283,257,290,45,283,257,283,125,290,45,283,125,283,103,310,300,318,311,282,283,310,300,282,283,283,257,310,300,283,257,306,282,265,45,264,17,278,30,189,15,177,-6,204,-5,128,319,148,321,148,331,128,319,148,331,115,314,115,314,148,331,51,297,115,314,51,297,52,280,53,95,52,280,52,124,58,69,66,48,104,293,104,293,66,48,78,30,104,293,78,30,103,275,103,275,78,30,93,16,104,293,108,306,52,280,104,293,52,280,53,95,104,293,53,95,58,69,148,331,7,331,27,319,148,331,27,319,40,315,148,331,40,315,47,308,148,331,47,308,51,297,27,319,7,331,7,321,115,314,52,280,108,306,257,319,237,331,237,321,318,311,279,301,282,283,208,16,227,0,225,20, 133,378,153,378,230,427,240,435,243,439,244,443,245,448,244,454,242,458,238,461,234,463,228,464,223,463,219,462,216,460,211,457,206,453,16383,16383,352,331,243,331,243,321,256,321,266,319,272,316,275,312,276,306,276,302,274,294,272,290,270,285,197,174,124,285,121,289,118,294,116,299,115,304,115,308,116,312,119,316,123,318,130,320,138,321,151,321,151,331,11,331,11,321,24,319,37,313,50,299,68,277,92,243,157,147,157,61,156,39,152,25,144,16,129,12,107,9,107,0,260,0,260,9,239,11,224,15,215,23,210,36,209,55,209,151,282,266,297,288,310,303,322,313,336,319,352,321,101,266,101,268,100,269,100,271,101,292,105,306,113,314,127,319,147,321,147,331,8,331,8,321,27,319,39,314,46,307,49,294,50,276,50,60,49,39,46,25,39,17,27,12,8,9,8,0,148,0,148,9,128,11,114,16,106,23,102,36,101,55,101,80,109,80,115,79,136,79,158,80,177,82,194,85,210,90,223,96,239,107,253,121,263,138,269,156,271,175,265,206,248,231,221,250,185,262,141,266,16383,16383,101,230,101,237,103,242,106,245,110,247,117,247,154,244,182,236,201,221,213,200,217,172,213,146,202,126,185,111,161,102,129,99,113,99,107,100,101,100,36,42,36,28,33,19, 121,289,118,294,157,147,157,147,118,294,116,299,157,147,116,299,92,243,92,243,116,299,115,304,92,243,115,304,115,308,115,308,116,312,92,243,151,331,11,331,24,319,151,331,24,319,37,313,151,331,37,313,50,299,151,331,50,299,123,318,151,331,123,318,130,320,151,331,130,320,138,321,151,331,138,321,151,321,123,318,50,299,119,316,119,316,50,299,68,277,119,316,68,277,116,312,116,312,68,277,92,243,209,55,209,151,197,174,209,55,197,174,210,36,210,36,197,174,157,147,210,36,157,147,215,23,215,23,157,147,157,61,215,23,157,61,224,15,224,15,157,61,156,39,224,15,156,39,260,0,260,0,156,39,152,25,260,0,152,25,144,16,275,298,274,294,282,266,282,266,274,294,272,290,282,266,272,290,270,285,270,285,197,174,209,151,352,331,243,331,256,321,352,331,256,321,266,319,352,331,266,319,272,316,352,331,272,316,275,312,352,331,275,312,276,306,352,331,276,306,322,313,352,331,322,313,336,319,352,331,336,319,352,321,276,306,282,266,297,288,276,306,297,288,310,303,276,306,310,303,322,313,282,266,276,306,276,302,282,266,276,302,275,298,270,285,209,151,282,266,228,464,230,427,234,463,234,463,230,427,235,431,234,463,235,431,238,461,238,461,235,431,240,435,238,461,240,435,242,458,242,458,240,435,243,439,242,458,243,439,244,454,244,454,243,439,244,443,244,454,244,443,245,448,230,427,228,464,223,463,230,427,223,463,219,462,230,427,219,462,216,460,230,427,216,460,211,457,230,427,211,457,206,453,230,427,206,453,153,378,239,11,224,15,260,0,239,11,260,0,260,9,129,12,107,9,260,0,129,12,260,0,144,16,124,285,121,289,157,147,124,285,157,147,197,174,260,0,107,9,107,0,153,378,206,453,133,378,256,321,243,331,243,321,24,319,11,331,11,321, 101,266,101,268,100,269,100,271,101,292,105,306,113,314,127,319,147,321,147,331,8,331,8,321,27,319,39,314,46,307,49,294,50,276,50,60,49,39,46,25,39,17,27,12,8,9,8,0,148,0,148,9,128,11,114,16,106,23,102,36,101,55,101,80,109,80,115,79,136,79,158,80,177,82,194,85,210,90,223,96,239,107,253,121,263,138,269,156,271,175,265,206,248,231,221,250,185,262,141,266,16383,16383,101,230,101,237,103,242,106,245,110,247,117,247,154,244,182,236,201,221,213,200,217,172,213,146,202,126,185,111,161,102,129,99,113,99,107,100,101,100,36,42,36,28,33,19,28,13,19,9,6,7,6,0,79,0,79,275,81,293,86,308,95,319,107,326,122,328,137,325,150,316,159,302,165,282,167,258,165,237,159,220,150,207,137,199,119,195,114,194,110,193,107,191,105,189,105,184,107,182,110,180,115,179,121,179,145,173,163,161,176,140,184,111,187,75,186,61,185,48,182,36,179,26,175,19,172,15,164,11,160,10,155,10,150,11,146,12,143,15,142,19,141,25,140,36,138,42,135,48,130,52,125,55,118,56,111,55,105,51,100,46,97,40,96,32,98,20,105,10,115,2,129,-2,145,-3,173,0,198,14, 50,276,102,36,50,276,50,276,102,36,101,55,50,276,101,55,100,271,100,271,101,292,50,276,50,276,101,292,105,306,50,276,105,306,113,314,147,331,8,331,27,319,147,331,27,319,39,314,147,331,39,314,46,307,147,331,46,307,49,294,147,331,49,294,113,314,147,331,113,314,127,319,147,331,127,319,147,321,50,276,113,314,49,294,101,237,103,242,101,266,101,266,103,242,106,245,101,266,106,245,141,266,141,266,106,245,110,247,141,266,110,247,117,247,117,247,154,244,141,266,141,266,154,244,185,262,201,221,213,200,221,250,221,250,213,200,217,172,223,96,217,172,213,146,185,262,154,244,182,236,185,262,182,236,201,221,185,262,201,221,221,250,265,206,248,231,253,121,265,206,253,121,263,138,265,206,263,138,269,156,265,206,269,156,271,175,248,231,221,250,223,96,248,231,223,96,239,107,248,231,239,107,253,121,136,79,158,80,161,102,161,102,158,80,177,82,161,102,177,82,185,111,185,111,177,82,194,85,185,111,194,85,202,126,202,126,194,85,210,90,202,126,210,90,213,146,213,146,210,90,223,96,161,102,129,99,136,79,136,79,129,99,128,79,128,79,129,99,124,99,128,79,124,99,122,79,122,79,124,99,118,99,122,79,118,99,115,79,115,79,118,99,113,99,115,79,113,99,109,80,109,80,113,99,107,100,109,80,107,100,101,100,101,266,101,100,101,230,101,266,101,230,101,237,101,267,101,268,101,55,101,267,101,55,101,100,101,267,101,100,101,266,101,100,101,80,109,80,148,0,148,9,128,11,148,0,128,11,114,16,148,0,114,16,49,39,148,0,49,39,46,25,148,0,46,25,39,17,148,0,39,17,27,12,148,0,27,12,8,9,148,0,8,9,8,0,101,55,101,268,100,269,101,55,100,269,100,270,101,55,100,270,100,271,50,60,49,39,114,16,50,60,114,16,106,23,50,60,106,23,102,36,50,60,102,36,50,276,217,172,223,96,221,250,27,319,8,331,8,321, 36,42,36,28,33,19,28,13,19,9,6,7,6,0,79,0,79,275,81,293,86,308,95,319,107,326,122,328,137,325,150,316,159,302,165,282,167,258,165,237,159,220,150,207,137,199,119,195,114,194,110,193,107,191,105,189,105,184,107,182,110,180,115,179,121,179,145,173,163,161,176,140,184,111,187,75,186,61,185,48,182,36,179,26,175,19,172,15,164,11,160,10,155,10,150,11,146,12,143,15,142,19,141,25,140,36,138,42,135,48,130,52,125,55,118,56,111,55,105,51,100,46,97,40,96,32,98,20,105,10,115,2,129,-2,145,-3,173,0,198,14,217,35,229,62,234,93,233,110,229,125,223,139,214,152,203,163,193,170,183,176,172,181,158,185,142,189,169,203,189,216,202,230,208,246,210,266,207,291,195,312,178,328,154,338,126,342,93,337,68,324,50,301,40,269,36,227,158,253,86,328,81,332,77,335,73,337,65,339,59,338,53,336,50,333,47,329,46,323,47,318,49,314,52,309,56,305,61,301,138,253,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3, 33,19,28,13,79,0,79,0,28,13,19,9,79,0,19,9,6,7,158,185,142,189,145,173,145,173,142,189,137,199,145,173,137,199,121,179,121,179,137,199,119,195,121,179,119,195,115,179,115,179,119,195,114,194,115,179,114,194,110,180,110,180,114,194,110,193,110,180,110,193,107,182,107,182,110,193,107,191,107,182,107,191,105,184,105,184,107,191,105,189,105,184,105,189,105,187,81,293,86,308,93,337,93,337,86,308,95,319,93,337,95,319,126,342,126,342,95,319,107,326,126,342,107,326,122,328,122,328,137,325,126,342,126,342,137,325,154,338,165,237,169,203,167,258,167,258,169,203,178,328,178,328,169,203,189,216,178,328,189,216,195,312,195,312,189,216,202,230,195,312,202,230,207,291,207,291,202,230,208,246,207,291,208,246,210,266,137,325,150,316,154,338,154,338,150,316,159,302,154,338,159,302,178,328,178,328,159,302,165,282,178,328,165,282,167,258,150,207,142,189,169,203,150,207,169,203,159,220,159,220,169,203,165,237,229,62,234,93,233,110,229,62,233,110,229,125,229,62,229,125,223,139,229,62,223,139,217,35,223,139,214,152,217,35,217,35,214,152,203,163,217,35,203,163,198,14,198,14,203,163,193,170,198,14,193,170,187,75,187,75,193,170,184,111,198,14,187,75,186,61,198,14,186,61,185,48,198,14,185,48,182,36,198,14,182,36,179,26,198,14,179,26,175,19,198,14,175,19,173,0,141,25,140,36,138,42,141,25,138,42,145,-3,141,25,145,-3,142,19,68,324,50,301,79,0,68,324,79,0,79,275,68,324,79,275,81,293,68,324,81,293,93,337,79,0,50,301,40,269,79,0,40,269,36,227,79,0,36,227,36,42,79,0,36,42,36,28,79,0,36,28,33,19,168,13,164,11,173,0,173,0,164,11,160,10,173,0,160,10,155,10,155,10,150,11,173,0,173,0,150,11,146,12,173,0,146,12,145,-3,145,-3,146,12,143,15,145,-3,143,15,142,19,168,13,173,0,172,15,172,15,173,0,175,19,138,42,135,48,145,-3,145,-3,135,48,130,52,145,-3,130,52,129,-2,129,-2,130,52,125,55,129,-2,125,55,118,56,115,2,129,-2,118,56,115,2,118,56,111,55,115,2,111,55,105,51,115,2,105,51,105,10,100,46,97,40,98,20,100,46,98,20,105,10,100,46,105,10,105,51,158,185,163,161,172,181,172,181,163,161,176,140,172,181,176,140,183,176,183,176,176,140,184,111,183,176,184,111,193,170,158,185,145,173,163,161,98,20,97,40,96,32,79,0,6,7,6,0,142,189,150,207,137,199, 158,253,86,328,81,332,77,335,73,337,65,339,59,338,53,336,50,333,47,329,46,323,47,318,49,314,52,309,56,305,61,301,138,253,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134,60,253,79,253,156,302,162,306,166,310,169,314,171,318,171,329,168,333,165,336,160,338,154,339,146,337,142,335,138,332,133,328,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134,190,253, 138,253,158,253,86,328,138,253,86,328,81,332,138,253,81,332,77,335,138,253,77,335,73,337,138,253,73,337,69,338,138,253,69,338,65,339,138,253,65,339,61,301,46,323,47,318,47,329,47,329,47,318,49,314,47,329,49,314,50,333,50,333,49,314,52,309,50,333,52,309,53,336,53,336,52,309,56,305,53,336,56,305,59,338,59,338,56,305,61,301,59,338,61,301,65,339,37,156,43,153,44,208,44,208,43,153,50,152,44,208,50,152,54,215,54,215,50,152,57,153,54,215,57,153,63,220,63,220,57,153,63,156,63,220,63,156,73,224,73,224,63,156,70,194,71,167,70,194,68,161,111,230,104,218,117,216,111,230,117,216,127,229,127,229,117,216,128,211,127,229,128,211,140,226,140,226,128,211,136,202,140,226,136,202,142,190,76,208,83,213,85,227,85,227,83,213,93,217,85,227,93,217,98,229,98,229,93,217,104,218,98,229,104,218,111,230,73,224,70,194,71,201,73,224,71,201,76,208,73,224,76,208,85,227,70,194,63,156,68,161,29,183,29,167,32,192,32,192,29,167,33,161,32,192,33,161,37,200,37,200,33,161,37,156,37,200,37,156,44,208,184,56,184,152,184,168,184,56,184,168,183,181,184,56,183,181,180,191,184,56,180,191,186,-3,190,28,195,-1,195,25,195,25,195,-1,200,23,204,24,200,23,204,2,204,24,204,2,212,9,187,35,185,44,186,-3,187,35,186,-3,195,-1,187,35,195,-1,190,28,147,17,151,7,152,222,152,222,151,7,157,0,152,222,157,0,162,215,162,215,157,0,166,-3,162,215,166,-3,170,208,170,208,166,-3,176,-4,170,208,176,-4,176,199,176,199,176,-4,186,-3,176,199,186,-3,180,191,152,222,140,226,142,190,152,222,142,190,143,173,152,222,143,173,143,134,152,222,143,134,144,31,152,222,144,31,147,17,143,31,144,31,143,134,143,146,143,134,143,173,216,29,212,27,212,9,216,29,212,9,221,19,216,29,221,19,221,33,208,25,204,24,212,9,208,25,212,9,212,27,200,23,195,-1,204,2,143,31,143,134,143,64,143,31,143,64,143,56,143,31,143,56,142,49,143,31,142,49,138,43,143,31,138,43,133,38,143,31,133,38,128,16,128,16,133,38,126,32,126,32,121,29,128,16,128,16,121,29,115,27,128,16,115,27,113,6,113,6,115,27,109,25,113,6,109,25,103,24,99,114,111,121,114,135,114,135,111,121,126,127,114,135,126,127,143,146,143,146,126,127,143,134,65,79,68,87,75,118,75,118,68,87,73,94,75,118,73,94,79,101,79,101,88,108,92,126,92,126,88,108,99,114,92,126,99,114,114,135,92,126,75,118,79,101,72,182,71,185,71,167,72,182,71,167,73,172,72,182,73,172,72,178,70,189,70,194,71,167,70,189,71,167,71,185,63,112,54,105,54,-2,63,112,54,-2,63,63,63,112,63,63,63,71,63,112,63,71,65,79,63,112,65,79,75,118,63,63,54,-2,64,48,64,48,54,-2,71,-4,64,48,71,-4,69,38,69,38,71,-4,76,30,20,62,21,29,25,75,25,75,21,29,28,14,25,75,28,14,33,87,33,87,28,14,39,4,33,87,39,4,42,97,42,97,39,4,54,-2,42,97,54,-2,54,105,84,-3,98,0,86,25,86,25,98,0,97,24,103,24,97,24,98,0,103,24,98,0,113,6,76,30,71,-4,84,-3,76,30,84,-3,86,25,21,29,20,62,18,47,184,56,186,-3,185,44,29,167,29,183,28,175, 60,253,79,253,156,302,162,306,166,310,169,314,171,318,171,329,168,333,165,336,160,338,154,339,146,337,142,335,138,332,133,328,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134,190,253,128,337,97,337,35,253,52,253,113,305,174,253,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134,180,319,175,309,170,302,165,297,160,295,153,294,149,294,144,295,138,297, 37,156,43,153,44,208,44,208,43,153,50,152,44,208,50,152,54,215,54,215,50,152,57,153,54,215,57,153,63,220,63,220,57,153,63,156,63,220,63,156,73,224,73,224,63,156,70,194,71,167,70,194,68,161,111,230,104,218,117,216,111,230,117,216,127,229,127,229,117,216,128,211,127,229,128,211,140,226,140,226,128,211,136,202,140,226,136,202,142,190,76,208,83,213,85,227,85,227,83,213,93,217,85,227,93,217,98,229,98,229,93,217,104,218,98,229,104,218,111,230,73,224,70,194,71,201,73,224,71,201,76,208,73,224,76,208,85,227,70,194,63,156,68,161,29,183,29,167,32,192,32,192,29,167,33,161,32,192,33,161,37,200,37,200,33,161,37,156,37,200,37,156,44,208,184,56,184,152,184,168,184,56,184,168,183,181,184,56,183,181,180,191,184,56,180,191,186,-3,190,28,195,-1,195,25,195,25,195,-1,200,23,204,24,200,23,204,2,204,24,204,2,212,9,187,35,185,44,186,-3,187,35,186,-3,195,-1,187,35,195,-1,190,28,147,17,151,7,152,222,152,222,151,7,157,0,152,222,157,0,162,215,162,215,157,0,166,-3,162,215,166,-3,170,208,170,208,166,-3,176,-4,170,208,176,-4,176,199,176,199,176,-4,186,-3,176,199,186,-3,180,191,152,222,140,226,142,190,152,222,142,190,143,173,152,222,143,173,143,134,152,222,143,134,144,31,152,222,144,31,147,17,143,31,144,31,143,134,143,146,143,134,143,173,216,29,212,27,212,9,216,29,212,9,221,19,216,29,221,19,221,33,208,25,204,24,212,9,208,25,212,9,212,27,200,23,195,-1,204,2,154,339,156,302,160,338,160,338,156,302,162,306,160,338,162,306,165,336,165,336,162,306,166,310,165,336,166,310,168,333,168,333,166,310,169,314,168,333,169,314,171,329,171,329,169,314,171,318,171,329,171,318,171,323,156,302,154,339,150,338,156,302,150,338,146,337,156,302,146,337,142,335,156,302,142,335,138,332,156,302,138,332,133,328,156,302,133,328,79,253,143,31,143,134,143,64,143,31,143,64,143,56,143,31,143,56,142,49,143,31,142,49,138,43,143,31,138,43,133,38,143,31,133,38,128,16,128,16,133,38,126,32,126,32,121,29,128,16,128,16,121,29,115,27,128,16,115,27,113,6,113,6,115,27,109,25,113,6,109,25,103,24,99,114,111,121,114,135,114,135,111,121,126,127,114,135,126,127,143,146,143,146,126,127,143,134,65,79,68,87,75,118,75,118,68,87,73,94,75,118,73,94,79,101,79,101,88,108,92,126,92,126,88,108,99,114,92,126,99,114,114,135,92,126,75,118,79,101,72,182,71,185,71,167,72,182,71,167,73,172,72,182,73,172,72,178,70,189,70,194,71,167,70,189,71,167,71,185,63,112,54,105,54,-2,63,112,54,-2,63,63,63,112,63,63,63,71,63,112,63,71,65,79,63,112,65,79,75,118,63,63,54,-2,64,48,64,48,54,-2,71,-4,64,48,71,-4,69,38,69,38,71,-4,76,30,20,62,21,29,25,75,25,75,21,29,28,14,25,75,28,14,33,87,33,87,28,14,39,4,33,87,39,4,42,97,42,97,39,4,54,-2,42,97,54,-2,54,105,84,-3,98,0,86,25,86,25,98,0,97,24,103,24,97,24,98,0,103,24,98,0,113,6,76,30,71,-4,84,-3,76,30,84,-3,86,25,21,29,20,62,18,47,79,253,133,328,60,253,184,56,186,-3,185,44,29,167,29,183,28,175, 190,253,128,337,97,337,35,253,52,253,113,305,174,253,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134,180,319,175,309,170,302,165,297,160,295,153,294,149,294,144,295,138,297,133,299,127,301,115,307,108,311,94,315,87,316,80,316,66,314,54,308,43,298,35,284,30,266,44,266,48,274,52,281,57,285,63,288,70,289,73,289,81,287,86,285,90,283,102,278,112,273,121,269,128,267,135,266,142,266,157,268,169,274,180,284,188,299,195,319,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17, 35,253,52,253,97,337,97,337,52,253,113,305,97,337,113,305,128,337,128,337,113,305,174,253,128,337,174,253,190,253,37,156,43,153,44,208,44,208,43,153,50,152,44,208,50,152,54,215,54,215,50,152,57,153,54,215,57,153,63,220,63,220,57,153,63,156,63,220,63,156,73,224,73,224,63,156,70,194,71,167,70,194,68,161,111,230,104,218,117,216,111,230,117,216,127,229,127,229,117,216,128,211,127,229,128,211,140,226,140,226,128,211,136,202,140,226,136,202,142,190,76,208,83,213,85,227,85,227,83,213,93,217,85,227,93,217,98,229,98,229,93,217,104,218,98,229,104,218,111,230,73,224,70,194,71,201,73,224,71,201,76,208,73,224,76,208,85,227,70,194,63,156,68,161,29,183,29,167,32,192,32,192,29,167,33,161,32,192,33,161,37,200,37,200,33,161,37,156,37,200,37,156,44,208,184,56,184,152,184,168,184,56,184,168,183,181,184,56,183,181,180,191,184,56,180,191,186,-3,190,28,195,-1,195,25,195,25,195,-1,200,23,204,24,200,23,204,2,204,24,204,2,212,9,187,35,185,44,186,-3,187,35,186,-3,195,-1,187,35,195,-1,190,28,147,17,151,7,152,222,152,222,151,7,157,0,152,222,157,0,162,215,162,215,157,0,166,-3,162,215,166,-3,170,208,170,208,166,-3,176,-4,170,208,176,-4,176,199,176,199,176,-4,186,-3,176,199,186,-3,180,191,152,222,140,226,142,190,152,222,142,190,143,173,152,222,143,173,143,134,152,222,143,134,144,31,152,222,144,31,147,17,143,31,144,31,143,134,143,146,143,134,143,173,216,29,212,27,212,9,216,29,212,9,221,19,216,29,221,19,221,33,208,25,204,24,212,9,208,25,212,9,212,27,200,23,195,-1,204,2,143,31,143,134,143,64,143,31,143,64,143,56,143,31,143,56,142,49,143,31,142,49,138,43,143,31,138,43,133,38,143,31,133,38,128,16,128,16,133,38,126,32,126,32,121,29,128,16,128,16,121,29,115,27,128,16,115,27,113,6,113,6,115,27,109,25,113,6,109,25,103,24,99,114,111,121,114,135,114,135,111,121,126,127,114,135,126,127,143,146,143,146,126,127,143,134,65,79,68,87,75,118,75,118,68,87,73,94,75,118,73,94,79,101,79,101,88,108,92,126,92,126,88,108,99,114,92,126,99,114,114,135,92,126,75,118,79,101,72,182,71,185,71,167,72,182,71,167,73,172,72,182,73,172,72,178,70,189,70,194,71,167,70,189,71,167,71,185,63,112,54,105,54,-2,63,112,54,-2,63,63,63,112,63,63,63,71,63,112,63,71,65,79,63,112,65,79,75,118,63,63,54,-2,64,48,64,48,54,-2,71,-4,64,48,71,-4,69,38,69,38,71,-4,76,30,20,62,21,29,25,75,25,75,21,29,28,14,25,75,28,14,33,87,33,87,28,14,39,4,33,87,39,4,42,97,42,97,39,4,54,-2,42,97,54,-2,54,105,84,-3,98,0,86,25,86,25,98,0,97,24,103,24,97,24,98,0,103,24,98,0,113,6,76,30,71,-4,84,-3,76,30,84,-3,86,25,21,29,20,62,18,47,184,56,186,-3,185,44,29,167,29,183,28,175, 180,319,175,309,170,302,165,297,160,295,153,294,149,294,144,295,138,297,133,299,127,301,115,307,108,311,94,315,87,316,80,316,66,314,54,308,43,298,35,284,30,266,44,266,48,274,52,281,57,285,63,288,70,289,73,289,81,287,86,285,90,283,102,278,112,273,121,269,128,267,135,266,142,266,157,268,169,274,180,284,188,299,195,319,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134,186,286,185,294,182,301,176,306,169,310,161,311,154,310,147,306,142,301,138,294,137,286,138,278,142,272,147,266,153,263,161,262,169,263,176,266,182,272,185,278,186,286,16383,16383,87,286,86,294,82,301,77,306,70,310,62,311,54,310,48,306,42,301,39,294,37,286,39,278,42,272,47,266,54,263,61,262,69,263,76,266,82,272,86,278,87,286,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127, 48,274,52,281,54,308,54,308,52,281,57,285,54,308,57,285,66,314,66,314,57,285,63,288,66,314,63,288,70,289,70,289,73,289,80,316,80,316,73,289,77,288,80,316,77,288,81,287,44,266,48,274,54,308,44,266,54,308,43,298,44,266,43,298,35,284,44,266,35,284,30,266,37,156,43,153,44,208,44,208,43,153,50,152,44,208,50,152,54,215,54,215,50,152,57,153,54,215,57,153,63,220,63,220,57,153,63,156,63,220,63,156,73,224,73,224,63,156,70,194,71,167,70,194,68,161,80,316,81,287,87,316,87,316,81,287,86,285,87,316,86,285,90,283,90,283,102,278,94,315,94,315,102,278,101,313,80,316,66,314,70,289,94,315,87,316,90,283,101,313,102,278,108,311,108,311,102,278,112,273,108,311,112,273,115,307,115,307,112,273,121,269,115,307,121,269,127,301,127,301,121,269,128,267,127,301,128,267,133,299,133,299,128,267,135,266,133,299,135,266,138,297,138,297,135,266,142,266,138,297,142,266,144,295,144,295,142,266,157,268,144,295,157,268,149,294,149,294,157,268,153,294,160,295,153,294,157,268,160,295,157,268,169,274,184,56,184,152,184,168,184,56,184,168,183,181,184,56,183,181,180,191,184,56,180,191,186,-3,190,28,195,-1,195,25,195,25,195,-1,200,23,204,24,200,23,204,2,204,24,204,2,212,9,187,35,185,44,186,-3,187,35,186,-3,195,-1,187,35,195,-1,190,28,147,17,151,7,152,222,152,222,151,7,157,0,152,222,157,0,162,215,162,215,157,0,166,-3,162,215,166,-3,170,208,170,208,166,-3,176,-4,170,208,176,-4,176,199,176,199,176,-4,186,-3,176,199,186,-3,180,191,152,222,140,226,142,190,152,222,142,190,143,173,152,222,143,173,143,134,152,222,143,134,144,31,152,222,144,31,147,17,143,31,144,31,143,134,143,146,143,134,143,173,111,230,104,218,117,216,111,230,117,216,127,229,127,229,117,216,128,211,127,229,128,211,140,226,140,226,128,211,136,202,140,226,136,202,142,190,216,29,212,27,212,9,216,29,212,9,221,19,216,29,221,19,221,33,208,25,204,24,212,9,208,25,212,9,212,27,200,23,195,-1,204,2,180,319,175,309,180,284,180,319,180,284,188,299,180,319,188,299,195,319,170,302,165,297,169,274,170,302,169,274,180,284,170,302,180,284,175,309,76,208,83,213,85,227,85,227,83,213,93,217,85,227,93,217,98,229,98,229,93,217,104,218,98,229,104,218,111,230,73,224,70,194,71,201,73,224,71,201,76,208,73,224,76,208,85,227,70,194,63,156,68,161,29,183,29,167,32,192,32,192,29,167,33,161,32,192,33,161,37,200,37,200,33,161,37,156,37,200,37,156,44,208,143,31,143,134,143,64,143,31,143,64,143,56,143,31,143,56,142,49,143,31,142,49,138,43,143,31,138,43,133,38,143,31,133,38,128,16,128,16,133,38,126,32,126,32,121,29,128,16,128,16,121,29,115,27,128,16,115,27,113,6,113,6,115,27,109,25,113,6,109,25,103,24,99,114,111,121,114,135,114,135,111,121,126,127,114,135,126,127,143,146,143,146,126,127,143,134,65,79,68,87,75,118,75,118,68,87,73,94,75,118,73,94,79,101,79,101,88,108,92,126,92,126,88,108,99,114,92,126,99,114,114,135,92,126,75,118,79,101,72,182,71,185,71,167,72,182,71,167,73,172,72,182,73,172,72,178,70,189,70,194,71,167,70,189,71,167,71,185,63,112,54,105,54,-2,63,112,54,-2,63,63,63,112,63,63,63,71,63,112,63,71,65,79,63,112,65,79,75,118,63,63,54,-2,64,48,64,48,54,-2,71,-4,64,48,71,-4,69,38,69,38,71,-4,76,30,20,62,21,29,25,75,25,75,21,29,28,14,25,75,28,14,33,87,33,87,28,14,39,4,33,87,39,4,42,97,42,97,39,4,54,-2,42,97,54,-2,54,105,84,-3,98,0,86,25,86,25,98,0,97,24,103,24,97,24,98,0,103,24,98,0,113,6,76,30,71,-4,84,-3,76,30,84,-3,86,25,21,29,20,62,18,47,29,167,29,183,28,175,160,295,169,274,165,297,184,56,186,-3,185,44, 186,286,185,294,182,301,176,306,169,310,161,311,154,310,147,306,142,301,138,294,137,286,138,278,142,272,147,266,153,263,161,262,169,263,176,266,182,272,185,278,186,286,16383,16383,87,286,86,294,82,301,77,306,70,310,62,311,54,310,48,306,42,301,39,294,37,286,39,278,42,272,47,266,54,263,61,262,69,263,76,266,82,272,86,278,87,286,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134,162,306,159,322,152,336,142,347,128,354,113,357,97,354,83,347,72,336,65,323,63,307,65,291,72,277,83,267,96,260,112,257,128,260,141,267,152,277,159,291,162,306,16383,16383,145,307,143,296,139,287,132,280,122,276,112,274,101,276,92,280,85,287,81,296,79,307,81,317,86,326,93,333,102,338,112,339,122,338,131,333,139,326,143,317,145,307,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134, 161,311,161,262,169,310,169,310,161,262,169,263,169,310,169,263,176,306,176,306,169,263,176,266,176,306,176,266,182,301,182,301,176,266,182,272,182,301,182,272,185,294,185,294,182,272,185,278,185,294,185,278,186,286,137,286,138,278,138,294,138,294,138,278,142,272,138,294,142,272,142,301,142,301,142,272,147,266,142,301,147,266,147,306,147,306,147,266,153,263,147,306,153,263,154,310,154,310,153,263,161,262,154,310,161,262,161,311,184,56,184,152,184,168,184,56,184,168,183,181,184,56,183,181,180,191,184,56,180,191,186,-3,190,28,195,-1,195,25,195,25,195,-1,200,23,204,24,200,23,204,2,204,24,204,2,212,9,187,35,185,44,186,-3,187,35,186,-3,195,-1,187,35,195,-1,190,28,147,17,151,7,152,222,152,222,151,7,157,0,152,222,157,0,162,215,162,215,157,0,166,-3,162,215,166,-3,170,208,170,208,166,-3,176,-4,170,208,176,-4,176,199,176,199,176,-4,186,-3,176,199,186,-3,180,191,152,222,140,226,142,190,152,222,142,190,143,173,152,222,143,173,143,134,152,222,143,134,144,31,152,222,144,31,147,17,143,31,144,31,143,134,143,146,143,134,143,173,111,230,104,218,117,216,111,230,117,216,127,229,127,229,117,216,128,211,127,229,128,211,140,226,140,226,128,211,136,202,140,226,136,202,142,190,216,29,212,27,212,9,216,29,212,9,221,19,216,29,221,19,221,33,208,25,204,24,212,9,208,25,212,9,212,27,200,23,195,-1,204,2,37,286,39,278,39,294,39,294,39,278,42,272,39,294,42,272,42,301,42,301,42,272,47,266,42,301,47,266,48,306,48,306,47,266,54,263,48,306,54,263,54,310,54,310,54,263,61,262,54,310,61,262,62,311,62,311,61,262,69,263,62,311,69,263,70,310,70,310,69,263,76,266,70,310,76,266,77,306,77,306,76,266,82,272,77,306,82,272,82,301,82,301,82,272,86,278,82,301,86,278,86,294,86,294,86,278,87,286,37,156,43,153,44,208,44,208,43,153,50,152,44,208,50,152,54,215,54,215,50,152,57,153,54,215,57,153,63,220,63,220,57,153,63,156,63,220,63,156,73,224,73,224,63,156,70,194,71,167,70,194,68,161,76,208,83,213,85,227,85,227,83,213,93,217,85,227,93,217,98,229,98,229,93,217,104,218,98,229,104,218,111,230,73,224,70,194,71,201,73,224,71,201,76,208,73,224,76,208,85,227,70,194,63,156,68,161,29,183,29,167,32,192,32,192,29,167,33,161,32,192,33,161,37,200,37,200,33,161,37,156,37,200,37,156,44,208,143,31,143,134,143,64,143,31,143,64,143,56,143,31,143,56,142,49,143,31,142,49,138,43,143,31,138,43,133,38,143,31,133,38,128,16,128,16,133,38,126,32,126,32,121,29,128,16,128,16,121,29,115,27,128,16,115,27,113,6,113,6,115,27,109,25,113,6,109,25,103,24,99,114,111,121,114,135,114,135,111,121,126,127,114,135,126,127,143,146,143,146,126,127,143,134,65,79,68,87,75,118,75,118,68,87,73,94,75,118,73,94,79,101,79,101,88,108,92,126,92,126,88,108,99,114,92,126,99,114,114,135,92,126,75,118,79,101,72,182,71,185,71,167,72,182,71,167,73,172,72,182,73,172,72,178,70,189,70,194,71,167,70,189,71,167,71,185,63,112,54,105,54,-2,63,112,54,-2,63,63,63,112,63,63,63,71,63,112,63,71,65,79,63,112,65,79,75,118,63,63,54,-2,64,48,64,48,54,-2,71,-4,64,48,71,-4,69,38,69,38,71,-4,76,30,20,62,21,29,25,75,25,75,21,29,28,14,25,75,28,14,33,87,33,87,28,14,39,4,33,87,39,4,42,97,42,97,39,4,54,-2,42,97,54,-2,54,105,84,-3,98,0,86,25,86,25,98,0,97,24,103,24,97,24,98,0,103,24,98,0,113,6,76,30,71,-4,84,-3,76,30,84,-3,86,25,21,29,20,62,18,47,29,167,29,183,28,175,184,56,186,-3,185,44, 162,306,159,322,152,336,142,347,128,354,113,357,97,354,83,347,72,336,65,323,63,307,65,291,72,277,83,267,96,260,112,257,128,260,141,267,152,277,159,291,162,306,16383,16383,145,307,143,296,139,287,132,280,122,276,112,274,101,276,92,280,85,287,81,296,79,307,81,317,86,326,93,333,102,338,112,339,122,338,131,333,139,326,143,317,145,307,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,98,0,113,6,128,16,143,31,144,31,147,17,151,7,157,0,166,-3,176,-4,186,-3,195,-1,204,2,212,9,221,19,16383,16383,143,64,143,56,142,49,138,43,133,38,126,32,121,29,109,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,79,68,87,73,94,79,101,88,108,99,114,111,121,126,127,143,134,310,77,296,58,283,44,269,35,254,30,238,28,226,30,215,33,205,38,197,45,190,54,185,65,181,78,179,93,178,112,177,138,308,138,302,173,292,199,277,216,255,227,228,230,215,229,203,227,192,222,181,216,169,206,157,216,147,222,136,227,123,229,109,230,84,227,62,220,45,208,34,193,30,176,31,168,34,161,38,156,44,153,52,152,59,153,66,156,70,161,73,167,74,175,74,185,73,188,73,196,74,203,79,208,86,213,96,216,107,217,119,215,127,210,133,202,136,189,137,172,137,141,73,123,48,112,32,99,24,84,20,68,19,50,22,32,30,17,42,6,58,0,77,-2,91,-1,105,1,119,7,134,17,153,31,164,18,175,8,188,1,202,-1,218,-2,230,-2,243,0,254,3,266,9,276,17,285,24,293,33,300,44,308,58,316,75,16383,16383,177,153,180,177,186,194,194,206,206,212,221,214,235,212,246,206,254,194,259,177,261,153,16383,16383,137,100,138,90,140,68,146,46,146,45,147,45,147,44,143,38,134,31,121,25,108,21,95,19,83,21,74,28,67,37,64,49,63,63,64,79,71,92,85,103,106,114,137,127,199,78,185,60,172,46,159,38,144,33,128,31,103,36,81,49,65,69,54,96,51,128,54,157,63,181,78,200,96,211,119,215,128,215,136,212,141,208,145,201,148,191,151,180,154,172,159,166,163,161,169,158,175,157,183,158,189,161, 143,296,139,287,141,267,141,267,139,287,132,280,141,267,132,280,128,260,128,260,132,280,122,276,128,260,122,276,112,257,112,257,122,276,112,274,63,307,65,291,65,323,65,323,65,291,72,277,65,323,72,277,72,336,72,336,72,277,83,267,72,336,83,267,79,307,79,307,83,347,72,336,37,156,43,153,44,208,44,208,43,153,50,152,44,208,50,152,54,215,54,215,50,152,57,153,54,215,57,153,63,220,63,220,57,153,63,156,63,220,63,156,73,224,73,224,63,156,70,194,71,167,70,194,68,161,111,230,104,218,117,216,111,230,117,216,127,229,127,229,117,216,128,211,127,229,128,211,140,226,140,226,128,211,136,202,140,226,136,202,142,190,76,208,83,213,85,227,85,227,83,213,93,217,85,227,93,217,98,229,98,229,93,217,104,218,98,229,104,218,111,230,73,224,70,194,71,201,73,224,71,201,76,208,73,224,76,208,85,227,70,194,63,156,68,161,29,183,29,167,32,192,32,192,29,167,33,161,32,192,33,161,37,200,37,200,33,161,37,156,37,200,37,156,44,208,113,357,112,339,122,338,113,357,122,338,128,354,128,354,122,338,131,333,128,354,131,333,142,347,142,347,131,333,139,326,142,347,139,326,143,317,184,56,184,152,184,168,184,56,184,168,183,181,184,56,183,181,180,191,184,56,180,191,186,-3,190,28,195,-1,195,25,195,25,195,-1,200,23,204,24,200,23,204,2,204,24,204,2,212,9,187,35,185,44,186,-3,187,35,186,-3,195,-1,187,35,195,-1,190,28,147,17,151,7,152,222,152,222,151,7,157,0,152,222,157,0,162,215,162,215,157,0,166,-3,162,215,166,-3,170,208,170,208,166,-3,176,-4,170,208,176,-4,176,199,176,199,176,-4,186,-3,176,199,186,-3,180,191,152,222,140,226,142,190,152,222,142,190,143,173,152,222,143,173,143,134,152,222,143,134,144,31,152,222,144,31,147,17,143,31,144,31,143,134,143,146,143,134,143,173,216,29,212,27,212,9,216,29,212,9,221,19,216,29,221,19,221,33,208,25,204,24,212,9,208,25,212,9,212,27,200,23,195,-1,204,2,162,306,159,322,159,291,159,291,159,322,152,336,159,291,152,336,152,277,152,277,152,336,145,307,143,317,145,307,152,336,143,317,152,336,142,347,143,296,141,267,152,277,143,296,152,277,145,307,86,326,93,333,97,354,97,354,93,333,102,338,97,354,102,338,113,357,113,357,102,338,112,339,83,347,79,307,81,317,83,347,81,317,86,326,83,347,86,326,97,354,101,276,92,280,96,260,101,276,96,260,112,257,101,276,112,257,112,274,85,287,81,296,83,267,85,287,83,267,96,260,85,287,96,260,92,280,143,31,143,134,143,64,143,31,143,64,143,56,143,31,143,56,142,49,143,31,142,49,138,43,143,31,138,43,133,38,143,31,133,38,128,16,128,16,133,38,126,32,126,32,121,29,128,16,128,16,121,29,115,27,128,16,115,27,113,6,113,6,115,27,109,25,113,6,109,25,103,24,99,114,111,121,114,135,114,135,111,121,126,127,114,135,126,127,143,146,143,146,126,127,143,134,65,79,68,87,75,118,75,118,68,87,73,94,75,118,73,94,79,101,79,101,88,108,92,126,92,126,88,108,99,114,92,126,99,114,114,135,92,126,75,118,79,101,72,182,71,185,71,167,72,182,71,167,73,172,72,182,73,172,72,178,70,189,70,194,71,167,70,189,71,167,71,185,63,112,54,105,54,-2,63,112,54,-2,63,63,63,112,63,63,63,71,63,112,63,71,65,79,63,112,65,79,75,118,63,63,54,-2,64,48,64,48,54,-2,71,-4,64,48,71,-4,69,38,69,38,71,-4,76,30,20,62,21,29,25,75,25,75,21,29,28,14,25,75,28,14,33,87,33,87,28,14,39,4,33,87,39,4,42,97,42,97,39,4,54,-2,42,97,54,-2,54,105,84,-3,98,0,86,25,86,25,98,0,97,24,103,24,97,24,98,0,103,24,98,0,113,6,76,30,71,-4,84,-3,76,30,84,-3,86,25,21,29,20,62,18,47,79,307,83,267,81,296,184,56,186,-3,185,44,29,167,29,183,28,175, 310,77,296,58,283,44,269,35,254,30,238,28,226,30,215,33,205,38,197,45,190,54,185,65,181,78,179,93,178,112,177,138,308,138,302,173,292,199,277,216,255,227,228,230,215,229,203,227,192,222,181,216,169,206,157,216,147,222,136,227,123,229,109,230,84,227,62,220,45,208,34,193,30,176,31,168,34,161,38,156,44,153,52,152,59,153,66,156,70,161,73,167,74,175,74,185,73,188,73,196,74,203,79,208,86,213,96,216,107,217,119,215,127,210,133,202,136,189,137,172,137,141,73,123,48,112,32,99,24,84,20,68,19,50,22,32,30,17,42,6,58,0,77,-2,91,-1,105,1,119,7,134,17,153,31,164,18,175,8,188,1,202,-1,218,-2,230,-2,243,0,254,3,266,9,276,17,285,24,293,33,300,44,308,58,316,75,16383,16383,177,153,180,177,186,194,194,206,206,212,221,214,235,212,246,206,254,194,259,177,261,153,16383,16383,137,100,138,90,140,68,146,46,146,45,147,45,147,44,143,38,134,31,121,25,108,21,95,19,83,21,74,28,67,37,64,49,63,63,64,79,71,92,85,103,106,114,137,127,199,78,185,60,172,46,159,38,144,33,128,31,103,36,81,49,65,69,54,96,51,128,54,157,63,181,78,200,96,211,119,215,128,215,136,212,141,208,145,201,148,191,151,180,154,172,159,166,163,161,169,158,175,157,183,158,189,161,195,166,198,172,199,179,195,195,184,209,167,220,146,227,122,230,108,229,94,226,80,220,67,213,55,204,40,189,28,172,19,152,14,130,12,106,16,72,27,43,45,20,68,4,96,-3,77,-49,80,-51,83,-50,85,-50,88,-49,94,-49,104,-50,112,-52,117,-55,120,-60,121,-67,120,-74,116,-81,111,-85,103,-88,94,-89,88,-89,82,-88,75,-87,69,-86,61,-83,54,-98,63,-102,79,-106,87,-106,96,-107,117,-105,135,-99,148,-91,156,-79,158,-64,157,-52,151,-43,142,-36,130,-32,116,-30,108,-30,105,-31,103,-31,113,-4,136,0,156,9,174,24,190,46,206,74,155,253,83,328,78,332,74,335,69,337,61,339,55,338,50,336,46,333,44,329,43,323,44,318,46,314,49,309,53,305,58,301,135,253,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71, 73,196,73,196,73,196,73,196,74,203,62,220,73,196,62,220,66,156,73,196,66,156,70,161,143,38,134,31,134,17,134,17,134,31,121,25,134,17,121,25,119,7,119,7,121,25,108,21,119,7,108,21,105,1,105,1,108,21,95,19,105,1,95,19,91,-1,91,-1,95,19,83,21,91,-1,83,21,77,-2,77,-2,83,21,74,28,77,-2,74,28,67,37,63,63,58,0,64,49,64,49,58,0,77,-2,64,49,77,-2,67,37,74,203,79,208,84,227,84,227,79,208,86,213,84,227,86,213,109,230,109,230,86,213,96,216,109,230,96,216,107,217,107,217,119,215,109,230,109,230,119,215,123,229,175,8,177,138,169,206,175,8,169,206,164,18,164,18,169,206,157,216,164,18,157,216,153,31,153,31,157,216,147,44,147,45,147,44,147,222,147,222,147,44,157,216,147,222,136,227,136,189,147,222,136,189,137,172,147,222,137,172,137,127,147,222,137,127,138,90,147,222,138,90,139,79,147,222,139,79,140,68,147,222,140,68,143,57,147,222,143,57,146,46,147,222,146,46,146,45,147,222,146,45,147,45,137,141,137,127,137,172,136,227,123,229,127,210,136,227,127,210,133,202,136,227,133,202,136,189,228,230,221,214,235,212,228,230,235,212,255,227,255,227,235,212,246,206,255,227,246,206,254,194,177,153,180,177,181,216,181,216,180,177,186,194,181,216,186,194,192,222,192,222,186,194,194,206,192,222,194,206,203,227,203,227,194,206,206,212,203,227,206,212,215,229,215,229,206,212,221,214,215,229,221,214,228,230,277,216,261,153,308,138,308,138,261,153,177,153,308,138,177,153,177,138,169,206,177,138,177,153,169,206,177,153,181,216,259,177,261,153,277,216,259,177,277,216,255,227,259,177,255,227,254,194,292,199,277,216,308,138,292,199,308,138,302,173,226,30,215,33,218,-2,218,-2,215,33,205,38,218,-2,205,38,202,-1,202,-1,205,38,197,45,202,-1,197,45,190,54,190,54,185,65,188,1,188,1,185,65,181,78,188,1,181,78,179,93,175,8,188,1,179,93,175,8,179,93,178,112,175,8,178,112,177,138,218,-2,230,-2,226,30,226,30,230,-2,238,28,254,30,238,28,243,0,254,30,243,0,254,3,190,54,188,1,202,-1,285,24,293,33,296,58,296,58,293,33,300,44,296,58,300,44,310,77,310,77,300,44,308,58,310,77,308,58,316,75,254,3,266,9,269,35,269,35,266,9,276,17,269,35,276,17,283,44,283,44,276,17,285,24,283,44,285,24,296,58,238,28,230,-2,243,0,143,38,134,17,153,31,143,38,153,31,147,44,64,79,71,92,73,123,73,123,71,92,85,103,73,123,85,103,137,141,137,141,85,103,106,114,137,141,106,114,137,127,42,6,58,0,48,112,48,112,58,0,63,63,48,112,63,63,64,79,20,68,22,32,24,84,24,84,22,32,30,17,24,84,30,17,32,99,32,99,30,17,42,6,32,99,42,6,48,112,38,156,44,153,45,208,45,208,44,153,52,152,45,208,52,152,62,220,62,220,52,152,59,153,62,220,59,153,66,156,34,193,30,176,31,168,34,193,31,168,34,161,34,193,34,161,38,156,34,193,38,156,45,208,74,185,73,188,73,167,74,185,73,167,74,175,74,185,74,175,74,180,73,167,73,188,73,192,73,167,73,192,73,196,73,167,73,196,70,161,62,220,74,203,84,227,22,32,20,68,19,50,48,112,64,79,73,123,138,90,137,127,137,100,254,30,254,3,269,35,123,229,119,215,127,210, 199,78,185,60,172,46,159,38,144,33,128,31,103,36,81,49,65,69,54,96,51,128,54,157,63,181,78,200,96,211,119,215,128,215,136,212,141,208,145,201,148,191,151,180,154,172,159,166,163,161,169,158,175,157,183,158,189,161,195,166,198,172,199,179,195,195,184,209,167,220,146,227,122,230,108,229,94,226,80,220,67,213,55,204,40,189,28,172,19,152,14,130,12,106,16,72,27,43,45,20,68,4,96,-3,77,-49,80,-51,83,-50,85,-50,88,-49,94,-49,104,-50,112,-52,117,-55,120,-60,121,-67,120,-74,116,-81,111,-85,103,-88,94,-89,88,-89,82,-88,75,-87,69,-86,61,-83,54,-98,63,-102,79,-106,87,-106,96,-107,117,-105,135,-99,148,-91,156,-79,158,-64,157,-52,151,-43,142,-36,130,-32,116,-30,108,-30,105,-31,103,-31,113,-4,136,0,156,9,174,24,190,46,206,74,155,253,83,328,78,332,74,335,69,337,61,339,55,338,50,336,46,333,44,329,43,323,44,318,46,314,49,309,53,305,58,301,135,253,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138,201,153,198,166,195,177,185,195,175,207,163,217,149,224,133,228,116,230,81,224,52,207,31,182,17,148,12,108,17,70,29,39,49,15,75,0,108,-4,136,-1,160,9,181,26,198,49,212,79,16383,16383,50,155,55,175,63,191,74,203,87,210,103,212,120,210,133,203,141,192,147,176,151,155,58,253,78,253,155,302,161,306,165,310,168,314,170,318,170,323,169,329,167,333,163,336,158,338,152,339,148,338,145,337,141,335,137,332,132,328,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31, 81,49,65,69,68,4,68,4,65,69,54,96,68,4,54,96,45,20,45,20,54,96,51,128,55,204,51,128,54,157,55,204,54,157,63,181,87,-106,96,-107,88,-89,88,-89,96,-107,94,-89,103,-88,94,-89,96,-107,103,-88,96,-107,117,-105,96,-3,94,-49,104,-50,96,-3,104,-50,103,-31,96,-3,103,-31,103,36,103,36,103,-31,113,-4,96,-3,77,-49,80,-51,96,-3,80,-51,83,-50,96,-3,83,-50,85,-50,96,-3,85,-50,88,-49,96,-3,88,-49,91,-49,96,-3,91,-49,94,-49,185,60,172,46,174,24,174,24,172,46,159,38,174,24,159,38,156,9,156,9,159,38,144,33,156,9,144,33,136,0,136,0,144,33,128,31,113,-4,136,0,128,31,113,-4,128,31,103,36,81,49,68,4,96,-3,81,49,96,-3,103,36,136,212,141,208,146,227,146,227,141,208,145,201,146,227,145,201,148,191,148,191,151,180,167,220,167,220,151,180,154,172,167,220,154,172,159,166,122,230,119,215,128,215,122,230,128,215,146,227,146,227,128,215,136,212,195,195,184,209,189,161,195,195,189,161,195,166,195,195,195,166,198,172,195,195,198,172,199,179,184,209,167,220,169,158,184,209,169,158,175,157,184,209,175,157,183,158,184,209,183,158,189,161,167,220,159,166,163,161,167,220,163,161,169,158,167,220,146,227,148,191,190,46,206,74,199,78,190,46,199,78,185,60,190,46,185,60,174,24,96,211,119,215,108,229,96,211,108,229,94,226,96,211,94,226,80,220,96,211,80,220,78,200,67,213,55,204,63,181,67,213,63,181,78,200,67,213,78,200,80,220,45,20,51,128,55,204,45,20,55,204,40,189,45,20,40,189,28,172,45,20,28,172,27,43,19,152,14,130,16,72,19,152,16,72,27,43,19,152,27,43,28,172,158,-64,157,-52,156,-79,156,-79,157,-52,151,-43,156,-79,151,-43,148,-91,148,-91,151,-43,142,-36,148,-91,142,-36,135,-99,135,-99,142,-36,130,-32,135,-99,130,-32,121,-67,121,-67,130,-32,120,-60,117,-55,120,-60,130,-32,117,-55,130,-32,116,-30,117,-55,116,-30,113,-30,117,-55,113,-30,112,-52,112,-52,113,-30,110,-30,112,-52,110,-30,108,-30,112,-52,108,-30,105,-31,112,-52,105,-31,104,-50,135,-99,121,-67,120,-74,135,-99,120,-74,117,-105,117,-105,120,-74,116,-81,117,-105,116,-81,111,-85,61,-83,63,-102,69,-86,69,-86,63,-102,71,-104,69,-86,71,-104,75,-87,75,-87,71,-104,79,-106,75,-87,79,-106,82,-88,82,-88,79,-106,87,-106,82,-88,87,-106,88,-89,63,-102,61,-83,54,-98,103,-88,117,-105,111,-85,103,-31,104,-50,105,-31,119,215,122,230,108,229,16,72,14,130,12,106, 155,253,83,328,78,332,74,335,69,337,61,339,55,338,50,336,46,333,44,329,43,323,44,318,46,314,49,309,53,305,58,301,135,253,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138,201,153,198,166,195,177,185,195,175,207,163,217,149,224,133,228,116,230,81,224,52,207,31,182,17,148,12,108,17,70,29,39,49,15,75,0,108,-4,136,-1,160,9,181,26,198,49,212,79,16383,16383,50,155,55,175,63,191,74,203,87,210,103,212,120,210,133,203,141,192,147,176,151,155,58,253,78,253,155,302,161,306,165,310,168,314,170,318,170,323,169,329,167,333,163,336,158,338,152,339,148,338,145,337,141,335,137,332,132,328,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138,201,153,198,166,195,177,185,195,175,207,163,217,149,224,133,228,116,230,81,224,52,207,31,182,17,148,12,108,17,70,29,39,49,15,75,0,108,-4,136,-1,160,9,181,26,198,49,212,79,16383,16383,50,155,55,175,63,191,74,203,87,210,103,212,120,210,133,203,141,192,147,176, 56,85,75,0,62,71,62,71,75,0,71,57,80,47,71,57,75,0,80,47,75,0,108,-4,52,100,50,118,49,15,52,100,49,15,75,0,52,100,75,0,56,85,12,108,17,70,17,148,17,148,17,70,29,39,17,148,29,39,31,182,31,182,29,39,49,15,31,182,49,15,49,138,49,138,49,15,50,118,135,253,155,253,83,328,135,253,83,328,78,332,135,253,78,332,74,335,135,253,74,335,69,337,135,253,69,337,65,338,135,253,65,338,61,339,135,253,61,339,58,301,43,323,44,318,44,329,44,329,44,318,46,314,44,329,46,314,46,333,46,333,46,314,49,309,46,333,49,309,50,336,50,336,49,309,53,305,50,336,53,305,55,338,55,338,53,305,58,301,55,338,58,301,61,339,133,228,116,230,120,210,120,210,116,230,103,212,87,210,103,212,116,230,87,210,116,230,81,224,190,62,176,48,181,26,181,26,176,48,162,37,181,26,162,37,160,9,160,9,162,37,146,31,160,9,146,31,136,-1,136,-1,146,31,127,30,203,138,201,153,198,166,203,138,198,166,195,177,203,138,195,177,190,186,203,138,190,186,185,195,203,138,185,195,175,207,203,138,175,207,163,217,203,138,163,217,151,155,203,138,151,155,50,155,203,138,50,155,49,138,141,192,147,176,149,224,149,224,147,176,151,155,149,224,151,155,163,217,198,49,212,79,204,82,198,49,204,82,190,62,198,49,190,62,181,26,114,31,101,34,108,-4,114,31,108,-4,136,-1,114,31,136,-1,127,30,90,39,80,47,108,-4,90,39,108,-4,101,34,133,228,120,210,133,203,133,228,133,203,141,192,133,228,141,192,149,224,50,155,55,175,52,207,52,207,55,175,63,191,52,207,63,191,81,224,81,224,63,191,74,203,81,224,74,203,87,210,52,207,31,182,49,138,52,207,49,138,50,155, 58,253,78,253,155,302,161,306,165,310,168,314,170,318,170,323,169,329,167,333,163,336,158,338,152,339,148,338,145,337,141,335,137,332,132,328,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138,201,153,198,166,195,177,185,195,175,207,163,217,149,224,133,228,116,230,81,224,52,207,31,182,17,148,12,108,17,70,29,39,49,15,75,0,108,-4,136,-1,160,9,181,26,198,49,212,79,16383,16383,50,155,55,175,63,191,74,203,87,210,103,212,120,210,133,203,141,192,147,176,151,155,190,253,127,337,97,337,35,253,51,253,112,305,173,253,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138,201,153,198,166,195,177,185,195,175,207,163,217,149,224,133,228,116,230,81,224,52,207,31,182,17,148,12,108,17,70,29,39,49,15,75,0,108,-4,136,-1,160,9,181,26,198,49,212,79,16383,16383,50,155,55,175,63,191,74,203,87,210,103,212,120,210,133,203,141,192,147,176,151,155,186,286,185,294,181,301,176,306,169,310,161,311,153,310,147,306,141,301,138,294,137,286, 203,138,201,153,198,166,203,138,198,166,195,177,203,138,195,177,190,186,203,138,190,186,185,195,203,138,185,195,175,207,203,138,175,207,163,217,203,138,163,217,151,155,203,138,151,155,50,155,203,138,50,155,49,138,141,192,147,176,149,224,149,224,147,176,151,155,149,224,151,155,163,217,152,339,155,302,158,338,158,338,155,302,161,306,158,338,161,306,163,336,163,336,161,306,165,310,163,336,165,310,167,333,167,333,165,310,168,314,167,333,168,314,169,329,169,329,168,314,170,318,169,329,170,318,170,323,155,302,152,339,148,338,155,302,148,338,145,337,155,302,145,337,141,335,155,302,141,335,137,332,155,302,137,332,132,328,155,302,132,328,78,253,52,100,50,118,49,15,49,15,50,118,49,138,49,15,49,138,31,182,49,15,31,182,29,39,29,39,31,182,17,148,29,39,17,148,17,70,17,70,17,148,12,108,133,228,116,230,120,210,120,210,116,230,103,212,87,210,103,212,116,230,87,210,116,230,81,224,190,62,176,48,181,26,181,26,176,48,162,37,181,26,162,37,160,9,160,9,162,37,146,31,160,9,146,31,136,-1,136,-1,146,31,127,30,198,49,212,79,204,82,198,49,204,82,190,62,198,49,190,62,181,26,114,31,101,34,108,-4,114,31,108,-4,136,-1,114,31,136,-1,127,30,101,34,90,39,108,-4,108,-4,90,39,80,47,108,-4,80,47,75,0,75,0,80,47,71,57,133,228,120,210,133,203,133,228,133,203,141,192,133,228,141,192,149,224,50,155,55,175,52,207,52,207,55,175,63,191,52,207,63,191,81,224,81,224,63,191,74,203,81,224,74,203,87,210,52,207,31,182,49,138,52,207,49,138,50,155,75,0,71,57,62,71,75,0,62,71,56,85,75,0,56,85,52,100,75,0,52,100,49,15,78,253,132,328,58,253, 190,253,127,337,97,337,35,253,51,253,112,305,173,253,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138,201,153,198,166,195,177,185,195,175,207,163,217,149,224,133,228,116,230,81,224,52,207,31,182,17,148,12,108,17,70,29,39,49,15,75,0,108,-4,136,-1,160,9,181,26,198,49,212,79,16383,16383,50,155,55,175,63,191,74,203,87,210,103,212,120,210,133,203,141,192,147,176,151,155,186,286,185,294,181,301,176,306,169,310,161,311,153,310,147,306,141,301,138,294,137,286,138,278,141,272,146,266,153,263,161,262,169,263,176,266,181,272,185,278,186,286,16383,16383,86,286,85,294,82,301,76,306,69,310,61,311,54,310,47,306,42,301,38,294,37,286,38,278,41,272,47,266,53,263,61,262,69,263,76,266,81,272,85,278,86,286,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138, 35,253,51,253,97,337,97,337,51,253,112,305,97,337,112,305,127,337,127,337,112,305,173,253,127,337,173,253,190,253,52,100,50,118,49,15,49,15,50,118,49,138,49,15,49,138,31,182,49,15,31,182,29,39,29,39,31,182,17,148,29,39,17,148,17,70,17,70,17,148,12,108,133,228,116,230,120,210,120,210,116,230,103,212,87,210,103,212,116,230,87,210,116,230,81,224,190,62,176,48,181,26,181,26,176,48,162,37,181,26,162,37,160,9,160,9,162,37,146,31,160,9,146,31,136,-1,136,-1,146,31,127,30,203,138,201,153,198,166,203,138,198,166,195,177,203,138,195,177,190,186,203,138,190,186,185,195,203,138,185,195,175,207,203,138,175,207,163,217,203,138,163,217,151,155,203,138,151,155,50,155,203,138,50,155,49,138,141,192,147,176,149,224,149,224,147,176,151,155,149,224,151,155,163,217,198,49,212,79,204,82,198,49,204,82,190,62,198,49,190,62,181,26,114,31,101,34,108,-4,114,31,108,-4,136,-1,114,31,136,-1,127,30,101,34,90,39,108,-4,108,-4,90,39,80,47,108,-4,80,47,75,0,75,0,80,47,71,57,133,228,120,210,133,203,133,228,133,203,141,192,133,228,141,192,149,224,50,155,55,175,52,207,52,207,55,175,63,191,52,207,63,191,81,224,81,224,63,191,74,203,81,224,74,203,87,210,52,207,31,182,49,138,52,207,49,138,50,155,75,0,71,57,62,71,75,0,62,71,56,85,75,0,56,85,52,100,75,0,52,100,49,15, 186,286,185,294,181,301,176,306,169,310,161,311,153,310,147,306,141,301,138,294,137,286,138,278,141,272,146,266,153,263,161,262,169,263,176,266,181,272,185,278,186,286,16383,16383,86,286,85,294,82,301,76,306,69,310,61,311,54,310,47,306,42,301,38,294,37,286,38,278,41,272,47,266,53,263,61,262,69,263,76,266,81,272,85,278,86,286,16383,16383,204,82,190,62,176,48,162,37,146,31,127,30,114,31,101,34,90,39,80,47,71,57,62,71,56,85,52,100,50,118,49,138,203,138,201,153,198,166,195,177,185,195,175,207,163,217,149,224,133,228,116,230,81,224,52,207,31,182,17,148,12,108,17,70,29,39,49,15,75,0,108,-4,136,-1,160,9,181,26,198,49,212,79,16383,16383,50,155,55,175,63,191,74,203,87,210,103,212,120,210,133,203,141,192,147,176,151,155,115,253,42,328,38,332,33,335,29,337,21,339,15,338,10,336,6,333,4,329,3,323,3,318,5,314,8,309,18,301,95,253,16383,16383,122,0,122,7,105,9,94,14,88,21,85,34,84,52,84,228,82,230,5,203,5,195,15,197,26,197,33,196,37,193,40,187,42,178,42,33,38,20,32,13,20,9,3,7,3,0,25,253,45,253,122,302,127,306,131,310,134,314,136,318,137,323,136,329,134,333,130,336,125,338,119,339,111,337,107,335,103,332,98,328,16383,16383,127,0,127,7,110,9,99,14,93,21,90,34,89,52,89,228,87,230,10,203,10,195,20,197,31,197,38,196,42,193,45,187,47,178,47,33,43,20,37,13,25,9,8,7,8,0,147,253,84,337,54,337,-7,253,8,253,69,305,130,253,16383,16383,110,0,110,7,93,9,83,14,77,21,74,34,73,52,73,228, 203,138,201,153,198,166,203,138,198,166,195,177,203,138,195,177,190,186,203,138,190,186,185,195,203,138,185,195,175,207,203,138,175,207,163,217,203,138,163,217,151,155,203,138,151,155,50,155,203,138,50,155,49,138,141,192,147,176,149,224,149,224,147,176,151,155,149,224,151,155,163,217,137,286,138,278,138,294,138,294,138,278,141,272,138,294,141,272,141,301,141,301,141,272,146,266,141,301,146,266,147,306,147,306,146,266,153,263,147,306,153,263,153,310,153,310,153,263,161,262,153,310,161,262,161,311,161,311,161,262,169,263,161,311,169,263,169,310,169,310,169,263,176,266,169,310,176,266,176,306,176,306,176,266,181,272,176,306,181,272,181,301,181,301,181,272,185,278,181,301,185,278,185,294,185,294,185,278,186,286,37,286,38,278,38,294,38,294,38,278,41,272,38,294,41,272,42,301,42,301,41,272,47,266,42,301,47,266,47,306,47,306,47,266,53,263,47,306,53,263,54,310,54,310,53,263,61,262,54,310,61,262,61,311,61,311,61,262,69,263,61,311,69,263,69,310,69,310,69,263,76,266,69,310,76,266,76,306,76,306,76,266,81,272,76,306,81,272,82,301,82,301,81,272,85,278,82,301,85,278,85,294,85,294,85,278,86,286,52,100,50,118,49,15,49,15,50,118,49,138,49,15,49,138,31,182,49,15,31,182,29,39,29,39,31,182,17,148,29,39,17,148,17,70,17,70,17,148,12,108,133,228,116,230,120,210,120,210,116,230,103,212,87,210,103,212,116,230,87,210,116,230,81,224,190,62,176,48,181,26,181,26,176,48,162,37,181,26,162,37,160,9,160,9,162,37,146,31,160,9,146,31,136,-1,136,-1,146,31,127,30,198,49,212,79,204,82,198,49,204,82,190,62,198,49,190,62,181,26,114,31,101,34,108,-4,114,31,108,-4,136,-1,114,31,136,-1,127,30,101,34,90,39,108,-4,108,-4,90,39,80,47,108,-4,80,47,75,0,75,0,80,47,71,57,133,228,120,210,133,203,133,228,133,203,141,192,133,228,141,192,149,224,50,155,55,175,52,207,52,207,55,175,63,191,52,207,63,191,81,224,81,224,63,191,74,203,81,224,74,203,87,210,52,207,31,182,49,138,52,207,49,138,50,155,75,0,71,57,62,71,75,0,62,71,56,85,75,0,56,85,52,100,75,0,52,100,49,15, 115,253,42,328,38,332,33,335,29,337,21,339,15,338,10,336,6,333,4,329,3,323,3,318,5,314,8,309,18,301,95,253,16383,16383,122,0,122,7,105,9,94,14,88,21,85,34,84,52,84,228,82,230,5,203,5,195,15,197,26,197,33,196,37,193,40,187,42,178,42,33,38,20,32,13,20,9,3,7,3,0,25,253,45,253,122,302,127,306,131,310,134,314,136,318,137,323,136,329,134,333,130,336,125,338,119,339,111,337,107,335,103,332,98,328,16383,16383,127,0,127,7,110,9,99,14,93,21,90,34,89,52,89,228,87,230,10,203,10,195,20,197,31,197,38,196,42,193,45,187,47,178,47,33,43,20,37,13,25,9,8,7, 95,253,115,253,42,328,95,253,42,328,38,332,95,253,38,332,33,335,95,253,33,335,29,337,95,253,29,337,25,338,95,253,25,338,21,339,95,253,21,339,18,301,3,323,3,318,4,329,4,329,3,318,5,314,4,329,5,314,6,333,6,333,5,314,8,309,6,333,8,309,10,336,10,336,8,309,13,305,10,336,13,305,15,338,15,338,13,305,18,301,15,338,18,301,21,339,38,20,32,13,122,0,122,0,32,13,20,9,122,0,20,9,3,7,15,197,19,197,82,230,82,230,19,197,23,197,82,230,23,197,26,197,26,197,33,196,82,230,82,230,33,196,37,193,82,230,37,193,40,187,38,20,122,0,42,33,42,33,122,0,94,14,42,33,94,14,42,52,42,52,94,14,88,21,42,52,88,21,42,166,42,178,42,166,82,230,42,178,82,230,40,187,10,196,15,197,82,230,10,196,82,230,5,203,10,196,5,203,5,195,84,52,84,228,82,230,84,52,82,230,42,166,84,52,42,166,85,34,105,9,94,14,122,0,105,9,122,0,122,7,122,0,3,7,3,0,42,166,88,21,85,34, 25,253,45,253,122,302,127,306,131,310,134,314,136,318,137,323,136,329,134,333,130,336,125,338,119,339,111,337,107,335,103,332,98,328,16383,16383,127,0,127,7,110,9,99,14,93,21,90,34,89,52,89,228,87,230,10,203,10,195,20,197,31,197,38,196,42,193,45,187,47,178,47,33,43,20,37,13,25,9,8,7,8,0,147,253,84,337,54,337,-7,253,8,253,69,305,130,253,16383,16383,110,0,110,7,93,9,83,14,77,21,74,34,73,52,73,228,70,230,-6,203,-6,195,0,196,3,197,15,197,21,196,26,193,29,187,31,178,31,52,30,33,27,20,21,13,9,9,-7,7,-7,0,144,286,143,294,139,301,133,306,127,310,119,311,111,310,104,306, 119,339,122,302,125,338,125,338,122,302,127,306,125,338,127,306,130,336,130,336,127,306,131,310,130,336,131,310,134,333,134,333,131,310,134,314,134,333,134,314,136,329,136,329,134,314,136,318,136,329,136,318,137,323,122,302,119,339,115,338,122,302,115,338,111,337,122,302,111,337,107,335,122,302,107,335,103,332,122,302,103,332,98,328,122,302,98,328,45,253,43,20,37,13,127,0,127,0,37,13,25,9,127,0,25,9,8,7,20,197,24,197,87,230,87,230,24,197,28,197,87,230,28,197,31,197,31,197,38,196,87,230,87,230,38,196,42,193,87,230,42,193,45,187,43,20,127,0,47,33,47,33,127,0,99,14,47,33,99,14,47,52,47,52,99,14,93,21,47,52,93,21,47,166,47,178,47,166,87,230,47,178,87,230,45,187,15,196,20,197,87,230,15,196,87,230,10,203,15,196,10,203,10,195,89,52,89,228,87,230,89,52,87,230,47,166,89,52,47,166,90,34,110,9,99,14,127,0,110,9,127,0,127,7,127,0,8,7,8,0,47,166,93,21,90,34,45,253,98,328,25,253, 147,253,84,337,54,337,-7,253,8,253,69,305,130,253,16383,16383,110,0,110,7,93,9,83,14,77,21,74,34,73,52,73,228,70,230,-6,203,-6,195,0,196,3,197,15,197,21,196,26,193,29,187,31,178,31,52,30,33,27,20,21,13,9,9,-7,7,-7,0,144,286,143,294,139,301,133,306,127,310,119,311,111,310,104,306,99,301,96,294,94,286,96,278,99,272,104,266,111,263,118,262,126,263,133,266,139,272,143,278,144,286,16383,16383,45,286,43,294,40,301,34,306,27,310,20,311,12,310,5,306,0,301,-3,294,-4,286, -7,253,8,253,54,337,54,337,8,253,69,305,54,337,69,305,84,337,84,337,69,305,130,253,84,337,130,253,147,253,27,20,21,13,110,0,110,0,21,13,9,9,110,0,9,9,-7,7,3,197,8,197,70,230,70,230,8,197,11,197,70,230,11,197,15,197,15,197,21,196,70,230,70,230,21,196,26,193,70,230,26,193,29,187,31,166,31,52,77,21,31,166,77,21,74,34,31,166,74,34,73,52,31,166,73,52,70,230,31,166,70,230,31,178,0,196,3,197,70,230,0,196,70,230,-6,203,0,196,-6,203,-6,195,73,52,73,228,70,230,110,0,110,7,93,9,110,0,93,9,83,14,110,0,83,14,30,33,110,0,30,33,27,20,31,52,30,33,83,14,31,52,83,14,77,21,110,0,-7,7,-7,0,70,230,29,187,31,178, 144,286,143,294,139,301,133,306,127,310,119,311,111,310,104,306,99,301,96,294,94,286,96,278,99,272,104,266,111,263,118,262,126,263,133,266,139,272,143,278,144,286,16383,16383,45,286,43,294,40,301,34,306,27,310,20,311,12,310,5,306,0,301,-3,294,-4,286,-3,278,0,272,5,266,11,263,19,262,27,263,34,266,40,272,43,278,45,286,16383,16383,113,0,113,7,97,9,86,14,80,21,77,34,76,52,76,228,74,230,-2,203,-2,195,2,196,7,197,18,197,25,196,29,193,32,187,34,178,35,166,35,52,34,33,31,20,24,13,12,9,-4,7,-4,0,212,328,195,343,148,318,135,326,122,332,107,337,90,340,71,342,50,329,66,326,80,323,93,318,105,311,118,302,57,270,74,255,135,287,151,272,163,256,172,239,179,220,184,200,170,212,159,221,148,226,136,229,123,230,89,224,59,208,35,182,20,148,15,108,20,70,35,38,58,15,88,0,123,-4,145,-2,165,3,182,13,196,26,209,44,218,60,225,79,231,99,234,120,235,142,233,179,225,215,211,248,192,278,166,304,16383,16383,190,101,187,69,179,44,167,25,151,13,132,9,104,18,83,41,70,73,62,108,60,141,62,165,70,185,83,201,99,212,118,216,142,211, 31,20,113,0,34,33,34,33,113,0,86,14,34,33,86,14,35,52,35,52,86,14,80,21,35,52,80,21,35,166,35,166,80,21,77,34,35,166,77,34,76,52,74,230,-2,203,2,196,74,230,2,196,7,197,74,230,7,197,11,197,74,230,11,197,15,197,74,230,15,197,18,197,74,230,18,197,25,196,74,230,25,196,29,193,74,230,29,193,32,187,74,230,32,187,34,178,74,230,34,178,35,166,74,230,35,166,76,52,74,230,76,52,76,228,94,286,96,278,96,294,96,294,96,278,99,272,96,294,99,272,99,301,99,301,99,272,104,266,99,301,104,266,104,306,104,306,104,266,111,263,104,306,111,263,111,310,111,310,111,263,118,262,111,310,118,262,119,311,119,311,118,262,126,263,119,311,126,263,127,310,127,310,126,263,133,266,127,310,133,266,133,306,133,306,133,266,139,272,133,306,139,272,139,301,139,301,139,272,143,278,139,301,143,278,143,294,143,294,143,278,144,286,97,9,86,14,113,0,97,9,113,0,113,7,113,0,31,20,24,13,113,0,24,13,12,9,113,0,12,9,-4,7,113,0,-4,7,-4,0,-4,286,-3,278,-3,294,-3,294,-3,278,0,272,-3,294,0,272,0,301,0,301,0,272,5,266,0,301,5,266,5,306,5,306,5,266,11,263,5,306,11,263,12,310,12,310,11,263,19,262,12,310,19,262,20,311,20,311,19,262,27,263,20,311,27,263,27,310,27,310,27,263,34,266,27,310,34,266,34,306,34,306,34,266,40,272,34,306,40,272,40,301,40,301,40,272,43,278,40,301,43,278,43,294,43,294,43,278,45,286,2,196,-2,203,-2,195, 212,328,195,343,148,318,135,326,122,332,107,337,90,340,71,342,50,329,66,326,80,323,93,318,105,311,118,302,57,270,74,255,135,287,151,272,163,256,172,239,179,220,184,200,170,212,159,221,148,226,136,229,123,230,89,224,59,208,35,182,20,148,15,108,20,70,35,38,58,15,88,0,123,-4,145,-2,165,3,182,13,196,26,209,44,218,60,225,79,231,99,234,120,235,142,233,179,225,215,211,248,192,278,166,304,16383,16383,190,101,187,69,179,44,167,25,151,13,132,9,104,18,83,41,70,73,62,108,60,141,62,165,70,185,83,201,99,212,118,216,142,211,162,195,177,171,187,139,190,101,196,319,191,309,186,302,181,297,176,295,170,294,165,294,160,295,154,297,149,299,143,301,131,307,124,311,110,315,103,316,96,316,82,314,70,308,59,298,51,284,46,266,60,266,64,274,68,281,73,285,79,288,85,289,89,289,97,287,102,285,106,283,118,278,128,273,137,269,144,267,151,266,158,266,173,268,185,274,195,284,203,299,210,319,16383,16383,243,0,243,7,230,9,221,13,216,19,213,29,212,42,212,153,210,180,202,201,190,217,174,227,153,230,139,229,125,224,111,216,96,205,81,190,80,190,80,228,76,230,50,220,37,216,23,212,8,208,8,199,10,200,13,200,16,201,22,201,30,200, 136,229,123,230,142,211,142,211,123,230,118,216,99,212,118,216,123,230,99,212,123,230,89,224,122,332,118,302,135,287,122,332,135,287,135,326,135,326,135,287,151,272,135,326,151,272,148,318,148,318,151,272,166,304,148,318,166,304,195,343,195,343,166,304,212,328,107,337,90,340,93,318,107,337,93,318,105,311,107,337,105,311,118,302,107,337,118,302,122,332,50,329,66,326,71,342,71,342,66,326,80,323,71,342,80,323,90,340,90,340,80,323,93,318,187,69,179,44,182,13,182,13,179,44,167,25,182,13,167,25,165,3,165,3,167,25,151,13,165,3,151,13,145,-2,145,-2,151,13,132,9,145,-2,132,9,123,-4,123,-4,132,9,104,18,123,-4,104,18,88,0,88,0,104,18,83,41,88,0,83,41,70,73,88,0,70,73,58,15,58,15,70,73,62,108,58,15,62,108,60,141,60,141,62,165,59,208,59,208,62,165,70,185,59,208,70,185,89,224,89,224,70,185,83,201,89,224,83,201,99,212,15,108,20,70,20,148,20,148,20,70,35,38,20,148,35,38,35,182,35,182,35,38,58,15,35,182,58,15,59,208,59,208,58,15,60,141,151,272,163,256,166,304,166,304,163,256,172,239,166,304,172,239,192,278,192,278,172,239,179,220,192,278,179,220,184,200,118,302,57,270,74,255,118,302,74,255,135,287,184,200,187,139,192,278,192,278,187,139,190,101,196,26,190,101,187,69,233,179,225,215,225,79,233,179,225,79,231,99,233,179,231,99,234,120,233,179,234,120,235,142,196,26,209,44,211,248,211,248,209,44,218,60,211,248,218,60,225,215,225,215,218,60,225,79,192,278,190,101,196,26,192,278,196,26,211,248,187,139,184,200,177,171,177,171,184,200,170,212,177,171,170,212,162,195,162,195,170,212,159,221,162,195,159,221,148,226,148,226,136,229,142,211,148,226,142,211,162,195,187,69,182,13,196,26, 196,319,191,309,186,302,181,297,176,295,170,294,165,294,160,295,154,297,149,299,143,301,131,307,124,311,110,315,103,316,96,316,82,314,70,308,59,298,51,284,46,266,60,266,64,274,68,281,73,285,79,288,85,289,89,289,97,287,102,285,106,283,118,278,128,273,137,269,144,267,151,266,158,266,173,268,185,274,195,284,203,299,210,319,16383,16383,243,0,243,7,230,9,221,13,216,19,213,29,212,42,212,153,210,180,202,201,190,217,174,227,153,230,139,229,125,224,111,216,96,205,81,190,80,190,80,228,76,230,50,220,37,216,23,212,8,208,8,199,10,200,13,200,16,201,22,201,30,200,35,197,38,191,40,181,40,47,39,32,37,21,31,14,22,9,9,7,9,0,114,0,114,7,101,9,92,13,86,18,83,26,82,36,82,174,95,186,105,194,115,199,124,202,133,203,147,201,157,195,164,185,169,171,170,152,170,52,169,35,166,23,161,15,152,10,139,7,138,0,166,253,94,328,89,332,84,335,80,337,72,339,66,338,61,336,57,333,55,329,54,323,55,318,57,314,60,309,64,305,69,301,146,253,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102,77,253,97,253,174,302,180,306,184,310,187,314,189,318,189,323,188,329,186,333,182,336,177,338,171,339,163,337,160,335,156,332,151,328,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76, 37,21,31,14,114,0,114,0,31,14,22,9,114,0,22,9,9,7,13,200,16,201,23,212,23,212,16,201,19,201,23,212,19,201,22,201,22,201,30,200,23,212,23,212,30,200,37,216,23,212,8,208,10,200,23,212,10,200,13,200,30,200,35,197,37,216,37,216,35,197,38,191,37,216,38,191,50,220,50,220,38,191,40,181,50,220,40,181,40,169,83,26,40,169,40,47,83,26,40,47,86,18,86,18,40,47,92,13,80,228,76,230,80,190,80,190,76,230,82,36,80,190,82,36,81,190,81,190,82,36,82,174,81,190,82,174,96,205,96,205,82,174,95,186,96,205,95,186,105,194,64,274,68,281,70,308,70,308,68,281,73,285,70,308,73,285,82,314,82,314,73,285,79,288,82,314,79,288,85,289,85,289,89,289,96,316,96,316,89,289,93,288,96,316,93,288,97,287,60,266,64,274,70,308,60,266,70,308,59,298,60,266,59,298,51,284,60,266,51,284,46,266,96,316,97,287,103,316,103,316,97,287,102,285,103,316,102,285,106,283,106,283,118,278,110,315,110,315,118,278,117,313,96,316,82,314,85,289,110,315,103,316,106,283,117,313,118,278,124,311,124,311,118,278,128,273,124,311,128,273,131,307,131,307,128,273,137,269,131,307,137,269,143,301,143,301,137,269,144,267,143,301,144,267,149,299,149,299,144,267,151,266,149,299,151,266,154,297,154,297,151,266,158,266,154,297,158,266,160,295,160,295,158,266,173,268,160,295,173,268,165,294,165,294,173,268,170,294,176,295,170,294,173,268,176,295,173,268,185,274,96,205,105,194,111,216,111,216,105,194,115,199,111,216,115,199,125,224,125,224,115,199,124,202,125,224,124,202,133,203,133,203,147,201,139,229,139,229,147,201,153,230,82,36,76,230,63,225,82,36,63,225,83,26,139,229,125,224,133,203,166,23,161,15,243,0,243,0,161,15,152,10,243,0,152,10,139,7,157,195,164,185,174,227,174,227,164,185,169,171,174,227,169,171,170,152,216,19,170,152,170,52,216,19,170,52,221,13,221,13,170,52,169,35,221,13,169,35,243,0,243,0,169,35,166,23,153,230,147,201,157,195,153,230,157,195,174,227,212,42,212,153,210,180,212,42,210,180,202,201,212,42,202,201,213,29,230,9,221,13,243,0,230,9,243,0,243,7,213,29,202,201,190,217,213,29,190,217,174,227,213,29,174,227,170,152,213,29,170,152,216,19,196,319,191,309,195,284,196,319,195,284,203,299,196,319,203,299,210,319,186,302,181,297,185,274,186,302,185,274,195,284,186,302,195,284,191,309,114,0,114,7,101,9,114,0,101,9,92,13,114,0,92,13,39,32,114,0,39,32,37,21,50,220,40,169,83,26,50,220,83,26,63,225,10,200,8,208,8,199,114,0,9,7,9,0,39,32,92,13,40,47,176,295,185,274,181,297,243,0,139,7,138,0, 166,253,94,328,89,332,84,335,80,337,72,339,66,338,61,336,57,333,55,329,54,323,55,318,57,314,60,309,64,305,69,301,146,253,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102,77,253,97,253,174,302,180,306,184,310,187,314,189,318,189,323,188,329,186,333,182,336,177,338,171,339,163,337,160,335,156,332,151,328,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102, 146,253,166,253,94,328,146,253,94,328,89,332,146,253,89,332,84,335,146,253,84,335,80,337,146,253,80,337,76,338,146,253,76,338,72,339,146,253,72,339,69,301,54,323,55,318,55,329,55,329,55,318,57,314,55,329,57,314,57,333,57,333,57,314,60,309,57,333,60,309,61,336,61,336,60,309,64,305,61,336,64,305,66,338,66,338,64,305,69,301,66,338,69,301,72,339,64,91,58,17,69,70,69,70,58,17,88,1,69,70,88,1,76,51,76,51,88,1,86,34,93,25,86,34,88,1,93,25,88,1,123,-4,162,225,127,230,130,215,130,215,127,230,118,216,98,212,118,216,127,230,98,212,127,230,90,225,187,70,180,44,191,17,191,17,180,44,168,25,191,17,168,25,160,1,160,1,168,25,151,13,160,1,151,13,131,9,131,9,120,10,123,-4,123,-4,120,10,110,13,123,-4,110,13,101,18,140,211,149,206,162,225,162,225,149,206,158,199,162,225,158,199,165,191,165,191,174,177,191,210,191,210,174,177,181,161,191,210,181,161,186,142,230,154,215,186,215,43,230,154,215,43,230,76,230,154,230,76,235,116,187,70,191,17,190,102,190,102,191,17,191,210,191,210,191,17,215,43,191,210,215,43,215,186,191,210,186,142,189,122,191,210,189,122,190,102,191,210,162,225,165,191,131,9,123,-4,160,1,58,17,61,113,60,137,60,137,62,164,58,209,58,209,62,164,70,186,58,209,70,186,90,225,90,225,70,186,82,202,90,225,82,202,98,212,58,17,60,137,58,209,58,17,58,209,35,42,35,42,58,209,35,185,35,42,35,185,20,75,20,75,35,185,20,153,20,75,20,153,15,114,61,113,58,17,64,91,162,225,130,215,140,211,93,25,123,-4,101,18, 77,253,97,253,174,302,180,306,184,310,187,314,189,318,189,323,188,329,186,333,182,336,177,338,171,339,163,337,160,335,156,332,151,328,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102,200,253,138,337,107,337,45,253,62,253,123,305,184,253,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102,190,319,185,309,181,302,176,297,170,295,164,294,159,294,154,295,149,297,137,301, 171,339,174,302,177,338,177,338,174,302,180,306,177,338,180,306,182,336,182,336,180,306,184,310,182,336,184,310,186,333,186,333,184,310,187,314,186,333,187,314,188,329,188,329,187,314,189,318,188,329,189,318,189,323,174,302,171,339,167,338,174,302,167,338,163,337,174,302,163,337,160,335,174,302,160,335,156,332,174,302,156,332,151,328,174,302,151,328,97,253,64,91,58,17,69,70,69,70,58,17,88,1,69,70,88,1,76,51,76,51,88,1,86,34,93,25,86,34,88,1,93,25,88,1,123,-4,162,225,127,230,130,215,130,215,127,230,118,216,98,212,118,216,127,230,98,212,127,230,90,225,187,70,180,44,191,17,191,17,180,44,168,25,191,17,168,25,160,1,160,1,168,25,151,13,160,1,151,13,131,9,131,9,120,10,123,-4,123,-4,120,10,110,13,123,-4,110,13,101,18,140,211,149,206,162,225,162,225,149,206,158,199,162,225,158,199,165,191,165,191,174,177,191,210,191,210,174,177,181,161,191,210,181,161,186,142,230,154,215,186,215,43,230,154,215,43,230,76,230,154,230,76,235,116,187,70,191,17,190,102,190,102,191,17,191,210,191,210,191,17,215,43,191,210,215,43,215,186,191,210,186,142,189,122,191,210,189,122,190,102,191,210,162,225,165,191,131,9,123,-4,160,1,58,17,61,113,60,137,60,137,62,164,58,209,58,209,62,164,70,186,58,209,70,186,90,225,90,225,70,186,82,202,90,225,82,202,98,212,58,17,60,137,58,209,58,17,58,209,35,42,35,42,58,209,35,185,35,42,35,185,20,75,20,75,35,185,20,153,20,75,20,153,15,114,61,113,58,17,64,91,162,225,130,215,140,211,93,25,123,-4,101,18,97,253,151,328,77,253, 200,253,138,337,107,337,45,253,62,253,123,305,184,253,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102,190,319,185,309,181,302,176,297,170,295,164,294,159,294,154,295,149,297,137,301,126,307,118,311,104,315,97,316,90,316,76,314,64,308,54,298,46,284,40,266,55,266,58,274,63,281,68,285,73,288,80,289,84,289,92,287,100,283,112,278,123,273,131,269,139,267,145,266,152,266,168,268,180,274,190,284,198,299,205,319,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76, 45,253,62,253,107,337,107,337,62,253,123,305,107,337,123,305,138,337,138,337,123,305,184,253,138,337,184,253,200,253,64,91,58,17,69,70,69,70,58,17,88,1,69,70,88,1,76,51,76,51,88,1,86,34,93,25,86,34,88,1,93,25,88,1,123,-4,162,225,127,230,130,215,130,215,127,230,118,216,98,212,118,216,127,230,98,212,127,230,90,225,187,70,180,44,191,17,191,17,180,44,168,25,191,17,168,25,160,1,160,1,168,25,151,13,160,1,151,13,131,9,131,9,120,10,123,-4,123,-4,120,10,110,13,123,-4,110,13,101,18,140,211,149,206,162,225,162,225,149,206,158,199,162,225,158,199,165,191,165,191,174,177,191,210,191,210,174,177,181,161,191,210,181,161,186,142,230,154,215,186,215,43,230,154,215,43,230,76,230,154,230,76,235,116,187,70,191,17,190,102,190,102,191,17,191,210,191,210,191,17,215,43,191,210,215,43,215,186,191,210,186,142,189,122,191,210,189,122,190,102,191,210,162,225,165,191,131,9,123,-4,160,1,58,17,61,113,60,137,60,137,62,164,58,209,58,209,62,164,70,186,58,209,70,186,90,225,90,225,70,186,82,202,90,225,82,202,98,212,58,17,60,137,58,209,58,17,58,209,35,42,35,42,58,209,35,185,35,42,35,185,20,75,20,75,35,185,20,153,20,75,20,153,15,114,61,113,58,17,64,91,162,225,130,215,140,211,93,25,123,-4,101,18, 190,319,185,309,181,302,176,297,170,295,164,294,159,294,154,295,149,297,137,301,126,307,118,311,104,315,97,316,90,316,76,314,64,308,54,298,46,284,40,266,55,266,58,274,63,281,68,285,73,288,80,289,84,289,92,287,100,283,112,278,123,273,131,269,139,267,145,266,152,266,168,268,180,274,190,284,198,299,205,319,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102,197,286,196,294,192,301,186,306,180,310,172,311,164,310,157,306,152,301,149,294,147,286,149,278,152,272,157,266,164,263,171,262,179,263,186,266,192,272,196,278,197,286,16383,16383,98,286,96,294,93,301,87,306,80,310,73,311,65,310,58,306,53,301,49,294,48,286,49,278,53,272,58,266,64,263,72,262,80,263,87,266,93,272,96,278,98,286,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161, 58,274,63,281,64,308,64,308,63,281,68,285,64,308,68,285,76,314,76,314,68,285,73,288,76,314,73,288,80,289,80,289,84,289,90,316,90,316,84,289,88,288,90,316,88,288,92,287,55,266,58,274,64,308,55,266,64,308,54,298,55,266,54,298,46,284,55,266,46,284,40,266,90,316,92,287,97,316,97,316,92,287,96,285,97,316,96,285,100,283,100,283,112,278,104,315,104,315,112,278,111,313,90,316,76,314,80,289,104,315,97,316,100,283,111,313,112,278,118,311,118,311,112,278,123,273,118,311,123,273,126,307,126,307,123,273,131,269,126,307,131,269,137,301,137,301,131,269,139,267,137,301,139,267,143,299,143,299,139,267,145,266,143,299,145,266,149,297,149,297,145,266,152,266,149,297,152,266,154,295,154,295,152,266,168,268,154,295,168,268,159,294,159,294,168,268,164,294,170,295,164,294,168,268,170,295,168,268,180,274,190,319,185,309,190,284,190,319,190,284,198,299,190,319,198,299,205,319,181,302,176,297,180,274,181,302,180,274,190,284,181,302,190,284,185,309,64,91,58,17,69,70,69,70,58,17,88,1,69,70,88,1,76,51,76,51,88,1,86,34,93,25,86,34,88,1,93,25,88,1,123,-4,162,225,127,230,130,215,130,215,127,230,118,216,98,212,118,216,127,230,98,212,127,230,90,225,187,70,180,44,191,17,191,17,180,44,168,25,191,17,168,25,160,1,160,1,168,25,151,13,160,1,151,13,131,9,131,9,120,10,123,-4,123,-4,120,10,110,13,123,-4,110,13,101,18,140,211,149,206,162,225,162,225,149,206,158,199,162,225,158,199,165,191,165,191,174,177,191,210,191,210,174,177,181,161,191,210,181,161,186,142,230,154,215,186,215,43,230,154,215,43,230,76,230,154,230,76,235,116,187,70,191,17,190,102,190,102,191,17,191,210,191,210,191,17,215,43,191,210,215,43,215,186,191,210,186,142,189,122,191,210,189,122,190,102,191,210,162,225,165,191,131,9,123,-4,160,1,58,17,61,113,60,137,60,137,62,164,58,209,58,209,62,164,70,186,58,209,70,186,90,225,90,225,70,186,82,202,90,225,82,202,98,212,58,17,60,137,58,209,58,17,58,209,35,42,35,42,58,209,35,185,35,42,35,185,20,75,20,75,35,185,20,153,20,75,20,153,15,114,61,113,58,17,64,91,162,225,130,215,140,211,93,25,123,-4,101,18,170,295,180,274,176,297, 197,286,196,294,192,301,186,306,180,310,172,311,164,310,157,306,152,301,149,294,147,286,149,278,152,272,157,266,164,263,171,262,179,263,186,266,192,272,196,278,197,286,16383,16383,98,286,96,294,93,301,87,306,80,310,73,311,65,310,58,306,53,301,49,294,48,286,49,278,53,272,58,266,64,263,72,262,80,263,87,266,93,272,96,278,98,286,16383,16383,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114,20,75,35,42,58,17,88,1,123,-4,160,1,191,17,215,43,230,76,235,116,16383,16383,190,102,187,70,180,44,168,25,151,13,131,9,120,10,110,13,101,18,93,25,86,34,76,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,98,212,118,216,130,215,140,211,149,206,158,199,165,191,174,177,181,161,186,142,189,122,190,102,169,229,168,238,164,246,158,252,150,256,142,258,133,256,125,252,119,246,115,239,113,230,115,221,119,214,125,208,132,204,141,203,150,204,158,208,164,214,168,221,169,229,16383,16383,267,110,267,143,15,143,15,110,16383,16383,169,22,168,31,164,38,158,45,150,49,142,50,133,49,125,45,119,39,115,31,113,22,115,14,119,6,125,0,132,-3,141,-4,150,-3,158,0,164,6,168,13,169,22,219,276,199,276,171,221,161,224,152,227,143,229,134,230,124,230,88,224,58,208,35,184,20,152,15,113,15,100,17,87,20,74,30,50,35,42,40,36,46,29,53,22,63,14,26,-55,45,-55,77,6,87,1,105,-3,114,-4,123,-4,159,1,190,18,214,44,229,78,235,117,233,141,227,162,218,181,204,198,186,213,16383,16383,79,46,72,63,66,81,63,99,60,118,60,138,62,164,70,186,82,202, 48,286,49,278,49,294,49,294,49,278,53,272,49,294,53,272,53,301,53,301,53,272,58,266,53,301,58,266,58,306,58,306,58,266,64,263,58,306,64,263,65,310,65,310,64,263,72,262,65,310,72,262,73,311,73,311,72,262,80,263,73,311,80,263,80,310,80,310,80,263,87,266,80,310,87,266,87,306,87,306,87,266,93,272,87,306,93,272,93,301,93,301,93,272,96,278,93,301,96,278,96,294,96,294,96,278,98,286,64,91,58,17,69,70,69,70,58,17,88,1,69,70,88,1,76,51,76,51,88,1,86,34,93,25,86,34,88,1,93,25,88,1,123,-4,162,225,127,230,130,215,130,215,127,230,118,216,98,212,118,216,127,230,98,212,127,230,90,225,147,286,149,278,149,294,149,294,149,278,152,272,149,294,152,272,152,301,152,301,152,272,157,266,152,301,157,266,157,306,157,306,157,266,164,263,157,306,164,263,164,310,164,310,164,263,171,262,164,310,171,262,172,311,172,311,171,262,179,263,172,311,179,263,180,310,180,310,179,263,186,266,180,310,186,266,186,306,186,306,186,266,192,272,186,306,192,272,192,301,192,301,192,272,196,278,192,301,196,278,196,294,196,294,196,278,197,286,187,70,180,44,191,17,191,17,180,44,168,25,191,17,168,25,160,1,160,1,168,25,151,13,160,1,151,13,131,9,131,9,120,10,123,-4,123,-4,120,10,110,13,123,-4,110,13,101,18,140,211,149,206,162,225,162,225,149,206,158,199,162,225,158,199,165,191,165,191,174,177,191,210,191,210,174,177,181,161,191,210,181,161,186,142,230,154,215,186,215,43,230,154,215,43,230,76,230,154,230,76,235,116,187,70,191,17,190,102,190,102,191,17,191,210,191,210,191,17,215,43,191,210,215,43,215,186,191,210,186,142,189,122,191,210,189,122,190,102,191,210,162,225,165,191,131,9,123,-4,160,1,58,17,61,113,60,137,60,137,62,164,58,209,58,209,62,164,70,186,58,209,70,186,90,225,90,225,70,186,82,202,90,225,82,202,98,212,58,17,60,137,58,209,58,17,58,209,35,42,35,42,58,209,35,185,35,42,35,185,20,75,20,75,35,185,20,153,20,75,20,153,15,114,61,113,58,17,64,91,162,225,130,215,140,211,93,25,123,-4,101,18, 169,229,168,238,164,246,158,252,150,256,142,258,133,256,125,252,119,246,115,239,113,230,115,221,119,214,125,208,132,204,141,203,150,204,158,208,164,214,168,221,169,229,16383,16383,267,110,267,143,15,143,15,110,16383,16383,169,22,168,31,164,38,158,45,150,49,142,50,133,49,125,45,119,39,115,31,113,22,115,14,119,6,125,0,132,-3,141,-4,150,-3,158,0,164,6,168,13,169,22,219,276,199,276,171,221,161,224,152,227,143,229,134,230,124,230,88,224,58,208,35,184,20,152,15,113,15,100,17,87,20,74,30,50,35,42,40,36,46,29,53,22,63,14,26,-55,45,-55,77,6,87,1,105,-3,114,-4,123,-4,159,1,190,18,214,44,229,78,235,117,233,141,227,162,218,181,204,198,186,213,16383,16383,79,46,72,63,66,81,63,99,60,118,60,138,62,164,70,186, 113,230,115,221,115,239,115,239,115,221,119,214,115,239,119,214,119,246,119,246,119,214,125,208,119,246,125,208,125,252,125,252,125,208,132,204,125,252,132,204,133,256,133,256,132,204,141,203,133,256,141,203,142,258,142,258,141,203,150,204,142,258,150,204,150,256,150,256,150,204,158,208,150,256,158,208,158,252,158,252,158,208,164,214,158,252,164,214,164,246,164,246,164,214,168,221,164,246,168,221,168,238,168,238,168,221,169,229,15,143,15,110,267,110,15,143,267,110,267,143,113,22,115,14,115,31,115,31,115,14,119,6,115,31,119,6,119,39,119,39,119,6,125,0,119,39,125,0,125,45,125,45,125,0,132,-3,125,45,132,-3,133,49,133,49,132,-3,141,-4,133,49,141,-4,142,50,142,50,141,-4,150,-3,142,50,150,-3,150,49,150,49,150,-3,158,0,150,49,158,0,158,45,158,45,158,0,164,6,158,45,164,6,164,38,164,38,164,6,168,13,164,38,168,13,168,31,168,31,168,13,169,22, 219,276,199,276,171,221,161,224,152,227,143,229,134,230,124,230,88,224,58,208,35,184,20,152,15,113,15,100,17,87,20,74,30,50,35,42,40,36,46,29,53,22,63,14,26,-55,45,-55,77,6,87,1,105,-3,114,-4,123,-4,159,1,190,18,214,44,229,78,235,117,233,141,227,162,218,181,204,198,186,213,16383,16383,79,46,72,63,66,81,63,99,60,118,60,138,62,164,70,186,82,202,99,212,118,216,127,215,135,213,143,210,151,205,158,198,16383,16383,170,183,178,167,183,152,187,136,189,120,190,102,187,69,180,44,168,25,151,13,131,9,121,10,112,12,104,16,97,22,89,30,170,253,97,328,92,332,88,335,84,337,80,338,75,339,69,338,64,336,61,333,58,329,57,323,58,318,60,314,63,309,67,305,73,301,150,253,16383,16383,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216,26,213,32,207,35,197,36,185,36,59,38,38,46,20,58,6,75,-1,97,-4,109,-3,123,0,138,8,153,21,168,38,169,38,169,-2,171,-3,186,1,199,6,225,14,240,18, 63,14,63,14,45,-55,63,14,45,-55,77,6,63,14,77,6,63,99,63,14,63,99,60,118,63,14,60,118,60,138,63,14,60,138,58,208,63,14,58,208,53,22,58,208,35,184,35,42,58,208,35,42,40,36,58,208,40,36,46,29,58,208,46,29,53,22,35,184,20,152,20,74,35,184,20,74,25,62,35,184,25,62,30,50,35,184,30,50,35,42,20,152,15,113,15,100,20,152,15,100,17,87,20,152,17,87,20,74,124,230,118,216,127,215,124,230,127,215,134,230,134,230,127,215,135,213,134,230,135,213,143,229,143,229,135,213,143,210,143,229,143,210,152,227,152,227,143,210,151,205,152,227,151,205,158,198,187,69,180,44,190,18,190,18,180,44,168,25,190,18,168,25,159,1,159,1,168,25,151,13,159,1,151,13,131,9,131,9,121,10,123,-4,123,-4,121,10,114,-4,112,12,104,16,105,-3,112,12,105,-3,114,-4,112,12,114,-4,121,10,87,1,96,-1,89,30,89,30,96,-1,97,22,97,22,96,-1,105,-3,97,22,105,-3,104,16,161,224,158,198,170,183,161,224,170,183,171,221,171,221,170,183,178,167,171,221,178,167,186,213,186,213,178,167,183,152,186,213,183,152,187,136,199,276,171,221,186,213,199,276,186,213,219,276,158,198,79,46,89,30,158,198,89,30,170,183,79,46,72,63,77,6,79,46,77,6,87,1,79,46,87,1,89,30,66,81,63,99,77,6,66,81,77,6,72,63,229,78,235,117,233,141,229,78,233,141,227,162,229,78,227,162,218,181,229,78,218,181,214,44,187,69,190,18,190,102,190,102,190,18,204,198,204,198,190,18,214,44,204,198,214,44,218,181,186,213,187,136,204,198,204,198,187,136,189,120,204,198,189,120,190,102,131,9,123,-4,159,1,70,186,82,202,88,224,88,224,82,202,99,212,88,224,99,212,124,230,124,230,99,212,118,216,60,138,62,164,58,208,58,208,62,164,70,186,58,208,70,186,88,224,45,-55,63,14,26,-55,152,227,158,198,161,224, 170,253,97,328,92,332,88,335,84,337,80,338,75,339,69,338,64,336,61,333,58,329,57,323,58,318,60,314,63,309,67,305,73,301,150,253,16383,16383,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216,26,213,32,207,35,197,36,185,36,59,38,38,46,20,58,6,75,-1,97,-4,109,-3,123,0,138,8,153,21,168,38,169,38,169,-2,171,-3,186,1,199,6,225,14,240,18,78,253,98,253,175,302,181,306,185,310,188,314,189,318,190,323,189,329,187,333,183,336,179,338,172,339,168,338,165,337,161,335,156,332,151,328,16383,16383,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216,26,213,32,207,35,197,36,185,36,59,38,38,46,20,58,6,75,-1,97,-4,109,-3,123,0,138,8,153,21,168,38,169,38,169,-2,171,-3,186,1,199,6,225,14,240,18, 150,253,170,253,97,328,150,253,97,328,92,332,150,253,92,332,88,335,150,253,88,335,84,337,150,253,84,337,80,338,150,253,80,338,75,339,150,253,75,339,73,301,57,323,58,318,58,329,58,329,58,318,60,314,58,329,60,314,61,333,61,333,60,314,63,309,61,333,63,309,64,336,64,336,63,309,67,305,64,336,67,305,69,338,69,338,67,305,73,301,69,338,73,301,75,339,78,225,4,225,17,216,78,225,17,216,26,213,78,225,26,213,32,207,78,225,32,207,35,197,78,225,35,197,36,185,78,225,36,185,38,38,78,225,38,38,46,20,78,225,46,20,58,6,78,225,58,6,75,-1,78,225,75,-1,78,64,164,53,162,48,168,38,168,38,162,48,159,43,168,38,159,43,155,40,155,40,147,34,153,21,153,21,147,34,139,29,153,21,139,29,138,8,138,8,139,29,130,26,138,8,130,26,123,0,123,0,130,26,121,25,123,0,121,25,113,24,113,24,102,26,109,-3,109,-3,102,26,97,-4,97,-4,102,26,92,31,97,-4,92,31,84,40,97,-4,84,40,79,51,97,-4,79,51,75,-1,78,64,75,-1,79,51,113,24,109,-3,123,0,166,184,168,38,209,225,209,225,168,38,169,38,209,225,169,38,171,-3,171,-3,169,38,169,-2,168,38,166,184,166,69,168,38,166,69,166,59,168,38,166,59,164,53,155,40,153,21,168,38,225,26,217,29,225,14,225,14,217,29,212,34,225,14,212,34,212,10,212,10,212,34,209,42,212,10,209,42,199,6,199,6,209,42,209,54,199,6,209,54,209,225,209,225,171,-3,186,1,209,225,186,1,199,6,209,225,129,225,145,215,209,225,145,215,155,212,209,225,155,212,162,206,209,225,162,206,165,197,209,225,165,197,166,184,237,25,225,26,225,14,237,25,225,14,240,18,237,25,240,18,240,25,38,38,36,185,36,59,145,215,129,225,129,217,17,216,4,225,4,218, 78,253,98,253,175,302,181,306,185,310,188,314,189,318,190,323,189,329,187,333,183,336,179,338,172,339,168,338,165,337,161,335,156,332,151,328,16383,16383,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216,26,213,32,207,35,197,36,185,36,59,38,38,46,20,58,6,75,-1,97,-4,109,-3,123,0,138,8,153,21,168,38,169,38,169,-2,171,-3,186,1,199,6,225,14,240,18,200,253,138,337,107,337,45,253,62,253,123,305,184,253,16383,16383,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216,26,213,32,207,35,197,36,185,36,59,38,38,46,20,58,6,75,-1,97,-4,109,-3,123,0,138,8,153,21,168,38,169,38,169,-2,171,-3,186,1,199,6,225,14,240,18,196,286,195,294,192,301,186,306,179,310,171,311,164,310,157,306,152,301,148,294,147,286, 209,225,129,225,145,215,209,225,145,215,155,212,209,225,155,212,162,206,209,225,162,206,165,197,209,225,165,197,166,184,209,225,166,184,168,38,209,225,168,38,169,38,209,225,169,38,171,-3,209,225,171,-3,186,1,209,225,186,1,199,6,209,225,199,6,209,54,166,184,166,69,168,38,237,25,225,26,225,14,237,25,225,14,240,18,237,25,240,18,240,25,209,54,199,6,209,42,209,42,199,6,212,10,209,42,212,10,212,34,212,34,212,10,225,14,212,34,225,14,217,29,217,29,225,14,225,26,172,339,175,302,179,338,179,338,175,302,181,306,179,338,181,306,183,336,183,336,181,306,185,310,183,336,185,310,187,333,187,333,185,310,188,314,187,333,188,314,189,329,189,329,188,314,189,318,189,329,189,318,190,323,175,302,172,339,168,338,175,302,168,338,165,337,175,302,165,337,161,335,175,302,161,335,156,332,175,302,156,332,151,328,175,302,151,328,98,253,78,225,4,225,17,216,78,225,17,216,26,213,78,225,26,213,32,207,78,225,32,207,35,197,78,225,35,197,36,185,78,225,36,185,38,38,78,225,38,38,46,20,78,225,46,20,58,6,78,225,58,6,75,-1,78,225,75,-1,78,64,164,53,162,48,168,38,168,38,162,48,159,43,168,38,159,43,155,40,155,40,147,34,153,21,153,21,147,34,139,29,153,21,139,29,138,8,138,8,139,29,130,26,138,8,130,26,123,0,123,0,130,26,121,25,123,0,121,25,113,24,113,24,102,26,109,-3,109,-3,102,26,97,-4,97,-4,102,26,92,31,97,-4,92,31,84,40,97,-4,84,40,79,51,97,-4,79,51,75,-1,78,64,75,-1,79,51,113,24,109,-3,123,0,166,59,164,53,168,38,166,59,168,38,166,69,155,40,153,21,168,38,38,38,36,185,36,59,171,-3,169,38,169,-2,17,216,4,225,4,218,98,253,151,328,78,253,145,215,129,225,129,217, 200,253,138,337,107,337,45,253,62,253,123,305,184,253,16383,16383,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216,26,213,32,207,35,197,36,185,36,59,38,38,46,20,58,6,75,-1,97,-4,109,-3,123,0,138,8,153,21,168,38,169,38,169,-2,171,-3,186,1,199,6,225,14,240,18,196,286,195,294,192,301,186,306,179,310,171,311,164,310,157,306,152,301,148,294,147,286,148,278,151,272,157,266,163,263,171,262,179,263,186,266,192,272,195,278,196,286,16383,16383,97,286,96,294,92,301,87,306,80,310,72,311,64,310,58,306,52,301,49,294,47,286,49,278,52,272,57,266,64,263,71,262,79,263,86,266,92,272,96,278,97,286,16383,16383,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43, 209,225,129,225,145,215,209,225,145,215,155,212,209,225,155,212,162,206,209,225,162,206,165,197,209,225,165,197,166,184,209,225,166,184,168,38,209,225,168,38,169,38,209,225,169,38,171,-3,209,225,171,-3,186,1,209,225,186,1,199,6,209,225,199,6,209,54,166,184,166,69,168,38,237,25,225,26,225,14,237,25,225,14,240,18,237,25,240,18,240,25,209,54,199,6,209,42,209,42,199,6,212,10,209,42,212,10,212,34,212,34,212,10,225,14,212,34,225,14,217,29,217,29,225,14,225,26,45,253,62,253,107,337,107,337,62,253,123,305,107,337,123,305,138,337,138,337,123,305,184,253,138,337,184,253,200,253,78,225,4,225,17,216,78,225,17,216,26,213,78,225,26,213,32,207,78,225,32,207,35,197,78,225,35,197,36,185,78,225,36,185,38,38,78,225,38,38,46,20,78,225,46,20,58,6,78,225,58,6,75,-1,78,225,75,-1,78,64,164,53,162,48,168,38,168,38,162,48,159,43,168,38,159,43,155,40,155,40,147,34,153,21,153,21,147,34,139,29,153,21,139,29,138,8,138,8,139,29,130,26,138,8,130,26,123,0,123,0,130,26,121,25,123,0,121,25,113,24,113,24,102,26,109,-3,109,-3,102,26,97,-4,97,-4,102,26,92,31,97,-4,92,31,84,40,97,-4,84,40,79,51,97,-4,79,51,75,-1,78,64,75,-1,79,51,113,24,109,-3,123,0,166,59,164,53,168,38,166,59,168,38,166,69,155,40,153,21,168,38,38,38,36,185,36,59,171,-3,169,38,169,-2,17,216,4,225,4,218,145,215,129,225,129,217, 196,286,195,294,192,301,186,306,179,310,171,311,164,310,157,306,152,301,148,294,147,286,148,278,151,272,157,266,163,263,171,262,179,263,186,266,192,272,195,278,196,286,16383,16383,97,286,96,294,92,301,87,306,80,310,72,311,64,310,58,306,52,301,49,294,47,286,49,278,52,272,57,266,64,263,71,262,79,263,86,266,92,272,96,278,97,286,16383,16383,240,25,237,25,225,26,217,29,212,34,209,42,209,225,129,225,129,217,145,215,155,212,162,206,165,197,166,184,166,59,164,53,162,48,159,43,147,34,139,29,130,26,121,25,113,24,102,26,92,31,84,40,79,51,78,64,78,225,4,225,4,218,17,216,26,213,32,207,35,197,36,185,36,59,38,38,46,20,58,6,75,-1,97,-4,109,-3,123,0,138,8,153,21,168,38,169,38,169,-2,171,-3,186,1,199,6,225,14,240,18,71,253,92,253,169,302,174,306,178,310,181,314,183,318,184,323,183,329,181,333,177,336,172,338,166,339,158,337,154,335,150,332,145,328,16383,16383,238,225,171,225,171,218,179,217,186,216,190,213,193,210,194,205,194,202,193,201,193,198,192,196,143,59,88,184,82,196,81,201,81,204,82,209,85,212,90,215,98,217,109,218,109,225,7,225,7,218,14,217,21,214,26,211,30,206,33,200,99,60,105,47,111,35,116,24,121,9,119,2,116,-8,112,-21,106,-34,100,-44,96,-51,85,-62,80,-65,75,-66,71,-66,69,-65,66,-64,62,-63,63,-63,57,-60,52,-58,42,-56,36,-56,30,-57,24,-60,19,-65,16,-72,15,-79,17,-88,21,-96,28,-102,38,-106,50,-108,71,-105,90,-94,106,-76,122,-49,137,-11,213,192,217,202,221,208,226,213,231,216,238,218,79,339,76,342,63,337,51,333,38,329,23,325, 209,225,129,225,145,215,209,225,145,215,155,212,209,225,155,212,162,206,209,225,162,206,165,197,209,225,165,197,166,184,209,225,166,184,168,38,209,225,168,38,169,38,209,225,169,38,171,-3,209,225,171,-3,186,1,209,225,186,1,199,6,209,225,199,6,209,54,166,184,166,69,168,38,237,25,225,26,225,14,237,25,225,14,240,18,237,25,240,18,240,25,209,54,199,6,209,42,209,42,199,6,212,10,209,42,212,10,212,34,212,34,212,10,225,14,212,34,225,14,217,29,217,29,225,14,225,26,147,286,148,278,148,294,148,294,148,278,151,272,148,294,151,272,152,301,152,301,151,272,157,266,152,301,157,266,157,306,157,306,157,266,163,263,157,306,163,263,164,310,164,310,163,263,171,262,164,310,171,262,171,311,171,311,171,262,179,263,171,311,179,263,179,310,179,310,179,263,186,266,179,310,186,266,186,306,186,306,186,266,192,272,186,306,192,272,192,301,192,301,192,272,195,278,192,301,195,278,195,294,195,294,195,278,196,286,47,286,49,278,49,294,49,294,49,278,52,272,49,294,52,272,52,301,52,301,52,272,57,266,52,301,57,266,58,306,58,306,57,266,64,263,58,306,64,263,64,310,64,310,64,263,71,262,64,310,71,262,72,311,72,311,71,262,79,263,72,311,79,263,80,310,80,310,79,263,86,266,80,310,86,266,87,306,87,306,86,266,92,272,87,306,92,272,92,301,92,301,92,272,96,278,92,301,96,278,96,294,96,294,96,278,97,286,78,225,4,225,17,216,78,225,17,216,26,213,78,225,26,213,32,207,78,225,32,207,35,197,78,225,35,197,36,185,78,225,36,185,38,38,78,225,38,38,46,20,78,225,46,20,58,6,78,225,58,6,75,-1,78,225,75,-1,78,64,164,53,162,48,168,38,168,38,162,48,159,43,168,38,159,43,155,40,155,40,147,34,153,21,153,21,147,34,139,29,153,21,139,29,138,8,138,8,139,29,130,26,138,8,130,26,123,0,123,0,130,26,121,25,123,0,121,25,113,24,113,24,102,26,109,-3,109,-3,102,26,97,-4,97,-4,102,26,92,31,97,-4,92,31,84,40,97,-4,84,40,79,51,97,-4,79,51,75,-1,78,64,75,-1,79,51,113,24,109,-3,123,0,166,59,164,53,168,38,166,59,168,38,166,69,155,40,153,21,168,38,38,38,36,185,36,59,171,-3,169,38,169,-2,17,216,4,225,4,218,145,215,129,225,129,217, 71,253,92,253,169,302,174,306,178,310,181,314,183,318,184,323,183,329,181,333,177,336,172,338,166,339,158,337,154,335,150,332,145,328,16383,16383,238,225,171,225,171,218,179,217,186,216,190,213,193,210,194,205,194,202,193,201,193,198,192,196,143,59,88,184,82,196,81,201,81,204,82,209,85,212,90,215,98,217,109,218,109,225,7,225,7,218,14,217,21,214,26,211,30,206,33,200,99,60,105,47,111,35,116,24,121,9,119,2,116,-8,112,-21,106,-34,100,-44,96,-51,85,-62,80,-65,75,-66,71,-66,69,-65,66,-64,62,-63,63,-63,57,-60,52,-58,42,-56,36,-56,30,-57,24,-60,19,-65,16,-72,15,-79,17,-88,21,-96,28,-102,38,-106,50,-108,71,-105,90,-94,106,-76,122,-49,137,-11,213,192,217,202,221,208,226,213,231,216,238,218,79,339,76,342,63,337,51,333,38,329,23,325,4,320,4,311,8,311,9,312,13,312,23,311,30,308,35,303,37,295,37,-76,34,-86,27,-92,17,-96,2,-98,2,-107,123,-107,123,-98,104,-97,91,-93,84,-87,80,-75,79,-59,79,17,90,8,99,2,108,-1,118,-3,130,-4,164,1,193,19,215,47,230,82,235,123,231,160,221,190,204,212,180,225,151,230,135,229,120,224,106,216,92,205,79,190,16383,16383,79,166,83,175,91,184,103,192,117,198,131,200,152,196,170,185,182,166,189,140,192,107,189,75,181,49,169,29,152,16,131,11,117,13,103,19,91,27,82,36,79,45,198,286,197,294,193,301,188,306,181,310,173,311,165,310,159,306,153,301,150,294,148,286,150,278,153,272,158,266,165,263,172,262,180,263,187,266,193,272,197,278,198,286, 166,339,169,302,172,338,172,338,169,302,174,306,172,338,174,306,177,336,177,336,174,306,178,310,177,336,178,310,181,333,181,333,178,310,181,314,181,333,181,314,183,329,183,329,181,314,183,318,183,329,183,318,184,323,169,302,166,339,162,338,169,302,162,338,158,337,169,302,158,337,154,335,169,302,154,335,150,332,169,302,150,332,145,328,169,302,145,328,92,253,90,-57,85,-62,90,-94,90,-94,85,-62,80,-65,90,-94,80,-65,75,-66,75,-66,73,-66,90,-94,90,-94,73,-66,71,-105,90,-57,106,-76,96,-51,96,-51,106,-76,100,-44,106,-34,100,-44,106,-76,106,-34,106,-76,122,-49,143,59,88,184,99,60,143,59,99,60,105,47,143,59,105,47,111,35,143,59,111,35,116,24,143,59,116,24,119,15,143,59,119,15,121,9,143,59,121,9,122,-49,143,59,122,-49,137,-11,143,59,137,-11,213,192,143,59,213,192,192,196,122,-49,121,9,119,2,99,60,88,184,86,188,99,60,86,188,84,192,99,60,84,192,82,196,99,60,82,196,81,201,99,60,81,201,33,200,33,200,81,201,81,204,81,204,82,209,33,200,33,200,82,209,85,212,33,200,85,212,109,225,109,225,85,212,90,215,109,225,90,215,98,217,194,202,193,201,213,192,213,192,193,201,193,198,213,192,193,198,192,196,238,225,171,225,179,217,238,225,179,217,186,216,238,225,186,216,190,213,238,225,190,213,193,210,238,225,193,210,194,205,238,225,194,205,226,213,238,225,226,213,231,216,238,225,231,216,238,218,194,205,213,192,217,202,194,205,217,202,221,208,194,205,221,208,226,213,194,204,194,202,213,192,194,204,213,192,194,205,122,-49,119,2,116,-8,122,-49,116,-8,112,-21,122,-49,112,-21,106,-34,71,-105,73,-66,71,-66,71,-105,71,-66,69,-65,71,-105,69,-65,66,-64,71,-105,66,-64,63,-63,71,-105,63,-63,57,-60,71,-105,57,-60,52,-58,71,-105,52,-58,50,-108,52,-58,47,-57,50,-108,50,-108,47,-57,42,-56,50,-108,42,-56,38,-106,38,-106,42,-56,36,-56,38,-106,36,-56,30,-57,38,-106,30,-57,28,-102,28,-102,30,-57,24,-60,28,-102,24,-60,21,-96,21,-96,24,-60,19,-65,21,-96,19,-65,17,-88,17,-88,19,-65,16,-72,17,-88,16,-72,15,-79,98,217,109,218,109,225,109,225,7,225,14,217,109,225,14,217,21,214,109,225,21,214,26,211,109,225,26,211,30,206,109,225,30,206,33,200,66,-64,62,-63,63,-63,14,217,7,225,7,218,90,-57,90,-94,106,-76,179,217,171,225,171,218,92,253,145,328,71,253, 79,339,76,342,63,337,51,333,38,329,23,325,4,320,4,311,8,311,9,312,13,312,23,311,30,308,35,303,37,295,37,-76,34,-86,27,-92,17,-96,2,-98,2,-107,123,-107,123,-98,104,-97,91,-93,84,-87,80,-75,79,-59,79,17,90,8,99,2,108,-1,118,-3,130,-4,164,1,193,19,215,47,230,82,235,123,231,160,221,190,204,212,180,225,151,230,135,229,120,224,106,216,92,205,79,190,16383,16383,79,166,83,175,91,184,103,192,117,198,131,200,152,196,170,185,182,166,189,140,192,107,189,75,181,49,169,29,152,16,131,11,117,13,103,19,91,27,82,36,79,45,198,286,197,294,193,301,188,306,181,310,173,311,165,310,159,306,153,301,150,294,148,286,150,278,153,272,158,266,165,263,172,262,180,263,187,266,193,272,197,278,198,286,16383,16383,99,286,97,294,94,301,88,306,81,310,74,311,66,310,59,306,54,301,50,294,49,286,50,278,54,272,59,266,65,263,73,262,81,263,88,266,94,272,97,278,99,286,16383,16383,238,225,171,225,171,218,179,217,186,216,190,213,193,210,194,205,194,202,193,201,193,198,192,196,143,59,88,184,82,196,81,201,81,204,82,209,85,212,90,215,98,217,109,218,109,225,7,225,7,218,14,217,21,214, 34,-86,27,-92,123,-107,123,-107,27,-92,17,-96,123,-107,17,-96,2,-98,8,311,9,312,23,325,23,325,9,312,11,312,23,325,11,312,13,312,13,312,23,311,23,325,23,325,23,311,38,329,23,325,4,320,6,311,23,325,6,311,8,311,30,308,35,303,38,329,38,329,35,303,37,295,38,329,37,295,37,284,80,-75,37,284,37,-63,80,-75,37,-63,84,-87,84,-87,37,-63,91,-93,79,190,79,339,76,342,79,190,76,342,79,-59,79,190,79,-59,79,166,79,190,79,166,92,205,235,123,231,160,230,82,230,82,231,160,221,190,230,82,221,190,215,47,215,47,221,190,204,212,215,47,204,212,193,19,193,19,204,212,192,107,193,19,192,107,189,75,193,19,189,75,181,49,152,196,170,185,180,225,180,225,170,185,182,166,180,225,182,166,204,212,204,212,182,166,189,140,204,212,189,140,192,107,135,229,131,200,152,196,135,229,152,196,151,230,151,230,152,196,180,225,108,-1,118,-3,117,13,117,13,118,-3,131,11,152,16,131,11,164,1,152,16,164,1,169,29,169,29,164,1,193,19,169,29,193,19,181,49,131,11,118,-3,130,-4,131,11,130,-4,164,1,123,-107,123,-98,104,-97,123,-107,104,-97,91,-93,123,-107,91,-93,37,-76,123,-107,37,-76,34,-86,82,36,79,45,90,8,90,8,79,45,79,17,80,-75,79,-59,51,333,80,-75,51,333,38,329,63,337,51,333,79,-59,63,337,79,-59,76,342,83,175,91,184,92,205,92,205,91,184,103,192,92,205,103,192,106,216,106,216,103,192,117,198,106,216,117,198,120,224,120,224,117,198,131,200,120,224,131,200,135,229,82,36,90,8,91,27,91,27,90,8,99,2,91,27,99,2,103,19,103,19,99,2,108,-1,103,19,108,-1,117,13,92,205,79,166,83,175,6,311,4,320,4,311,123,-107,2,-98,2,-107,37,-76,91,-93,37,-63,37,284,80,-75,38,329,38,329,23,311,30,308, 198,286,197,294,193,301,188,306,181,310,173,311,165,310,159,306,153,301,150,294,148,286,150,278,153,272,158,266,165,263,172,262,180,263,187,266,193,272,197,278,198,286,16383,16383,99,286,97,294,94,301,88,306,81,310,74,311,66,310,59,306,54,301,50,294,49,286,50,278,54,272,59,266,65,263,73,262,81,263,88,266,94,272,97,278,99,286,16383,16383,238,225,171,225,171,218,179,217,186,216,190,213,193,210,194,205,194,202,193,201,193,198,192,196,143,59,88,184,82,196,81,201,81,204,82,209,85,212,90,215,98,217,109,218,109,225,7,225,7,218,14,217,21,214,26,211,30,206,33,200,99,60,105,47,111,35,116,24,121,9,119,2,116,-8,112,-21,106,-34,100,-44,96,-51,85,-62,80,-65,75,-66,71,-66,69,-65,66,-64,62,-63,63,-63,57,-60,52,-58,42,-56,36,-56,30,-57,24,-60,19,-65,16,-72,15,-79,17,-88,21,-96,28,-102,38,-106,50,-108,71,-105,90,-94,106,-76,122,-49,137,-11,213,192,217,202,221,208,226,213,231,216,238,218,256,359,256,387,100,387,100,359,16383,16383,353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,23,259,21,258,18,256,16,250,12,242,10,235,10,226,9,226,0,16383,16383,224,128,108,128,166,266,190,253,190,281,35,281,35,253,16383,16383,221,33,216,29,208,25,200,23,195,25,190,28,187,35,185,44,184,56,184,168,183,181,180,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,208,83,213,93,217,104,218,117,216,128,211,136,202,142,190,143,173,143,146,114,135,92,126,75,118,63,112,54,105,42,97, 148,286,150,278,150,294,150,294,150,278,153,272,150,294,153,272,153,301,153,301,153,272,158,266,153,301,158,266,159,306,159,306,158,266,165,263,159,306,165,263,165,310,165,310,165,263,172,262,165,310,172,262,173,311,173,311,172,262,180,263,173,311,180,263,181,310,181,310,180,263,187,266,181,310,187,266,188,306,188,306,187,266,193,272,188,306,193,272,193,301,193,301,193,272,197,278,193,301,197,278,197,294,197,294,197,278,198,286,49,286,50,278,50,294,50,294,50,278,54,272,50,294,54,272,54,301,54,301,54,272,59,266,54,301,59,266,59,306,59,306,59,266,65,263,59,306,65,263,66,310,66,310,65,263,73,262,66,310,73,262,74,311,74,311,73,262,81,263,74,311,81,263,81,310,81,310,81,263,88,266,81,310,88,266,88,306,88,306,88,266,94,272,88,306,94,272,94,301,94,301,94,272,97,278,94,301,97,278,97,294,97,294,97,278,99,286,90,-57,85,-62,90,-94,90,-94,85,-62,80,-65,90,-94,80,-65,75,-66,75,-66,73,-66,90,-94,90,-94,73,-66,71,-105,90,-57,106,-76,96,-51,96,-51,106,-76,100,-44,106,-34,100,-44,106,-76,106,-34,106,-76,122,-49,143,59,88,184,99,60,143,59,99,60,105,47,143,59,105,47,111,35,143,59,111,35,116,24,143,59,116,24,119,15,143,59,119,15,121,9,143,59,121,9,122,-49,143,59,122,-49,137,-11,143,59,137,-11,213,192,143,59,213,192,192,196,122,-49,121,9,119,2,99,60,88,184,86,188,99,60,86,188,84,192,99,60,84,192,82,196,99,60,82,196,81,201,99,60,81,201,33,200,33,200,81,201,81,204,81,204,82,209,33,200,33,200,82,209,85,212,33,200,85,212,109,225,109,225,85,212,90,215,109,225,90,215,98,217,194,202,193,201,213,192,213,192,193,201,193,198,213,192,193,198,192,196,238,225,171,225,179,217,238,225,179,217,186,216,238,225,186,216,190,213,238,225,190,213,193,210,238,225,193,210,194,205,238,225,194,205,226,213,238,225,226,213,231,216,238,225,231,216,238,218,194,205,213,192,217,202,194,205,217,202,221,208,194,205,221,208,226,213,194,204,194,202,213,192,194,204,213,192,194,205,122,-49,119,2,116,-8,122,-49,116,-8,112,-21,122,-49,112,-21,106,-34,71,-105,73,-66,71,-66,71,-105,71,-66,69,-65,71,-105,69,-65,66,-64,71,-105,66,-64,63,-63,71,-105,63,-63,57,-60,71,-105,57,-60,52,-58,71,-105,52,-58,50,-108,52,-58,47,-57,50,-108,50,-108,47,-57,42,-56,50,-108,42,-56,38,-106,38,-106,42,-56,36,-56,38,-106,36,-56,30,-57,38,-106,30,-57,28,-102,28,-102,30,-57,24,-60,28,-102,24,-60,21,-96,21,-96,24,-60,19,-65,21,-96,19,-65,17,-88,17,-88,19,-65,16,-72,17,-88,16,-72,15,-79,98,217,109,218,109,225,109,225,7,225,14,217,109,225,14,217,21,214,109,225,21,214,26,211,109,225,26,211,30,206,109,225,30,206,33,200,66,-64,62,-63,63,-63,14,217,7,225,7,218,90,-57,90,-94,106,-76,179,217,171,225,171,218, 166,253,94,328,89,332,85,335,81,337,73,339,66,338,61,336,58,333,55,329,55,318,57,314,60,309,70,301,147,253,55,253,75,253,151,301,157,305,161,309,164,314,166,318,166,329,163,333,160,336,155,338,148,339,140,337,136,335,132,332, 147,253,166,253,94,328,147,253,94,328,89,332,147,253,89,332,85,335,147,253,85,335,81,337,147,253,81,337,77,338,147,253,77,338,73,339,147,253,73,339,70,301,55,323,55,318,55,329,55,329,55,318,57,314,55,329,57,314,58,333,58,333,57,314,60,309,58,333,60,309,61,336,61,336,60,309,65,305,61,336,65,305,66,338,66,338,65,305,70,301,66,338,70,301,73,339, 55,253,75,253,151,301,157,305,161,309,164,314,166,318,166,329,163,333,160,336,155,338,148,339,140,337,136,335,132,332,127,328,203,253,140,337,109,337,47,253,64,253,124,305,185,253,193,319,188,309,183,302,178,297,173,294,161,294,155,295,148,298,139,302, 148,339,151,301,155,338,155,338,151,301,157,305,155,338,157,305,160,336,160,336,157,305,161,309,160,336,161,309,163,333,163,333,161,309,164,314,163,333,164,314,166,329,166,329,164,314,166,318,166,329,166,318,166,323,151,301,148,339,144,338,151,301,144,338,140,337,151,301,140,337,136,335,151,301,136,335,132,332,151,301,132,332,127,328,151,301,127,328,75,253,127,328,55,253,75,253, 203,253,140,337,109,337,47,253,64,253,124,305,185,253,193,319,188,309,183,302,178,297,173,294,161,294,155,295, 47,253,64,253,109,337,109,337,64,253,124,305,109,337,124,305,140,337,140,337,124,305,185,253,140,337,185,253,203,253, 193,319,188,309,183,302,178,297,173,294,161,294,155,295,148,298,139,302,128,307,121,311,107,315,100,316,93,316,79,314,67,308,56,298,48,284,42,266,57,266,61,274,65,281,70,285,76,288,83,289,88,289,92,288,98,286,105,282,114,278,125,273,134,269,141,267,148,266,155,266,170,268,182,274,192,284,201,299,208,319,203,273,203,300,47,300,47,273,250,385,250,410,0,410,0,385,180,332,171,313,162,300,151,290,139,285,124,283,107,285,93,291,82,301,73,315,68,332,54,332,56,305,64,283,78,267,98,257,123,253,145,256,164,266,178,281,188,303,194,332,150,286,148,294,145,301,140,306,133,310,124,311,116,310,109,306,104,301,101,294, 61,274,65,281,67,308,67,308,65,281,70,285,67,308,70,285,79,314,79,314,70,285,76,288,79,314,76,288,83,289,83,289,88,289,93,316,93,316,88,289,92,288,93,316,92,288,98,286,57,266,61,274,67,308,57,266,67,308,56,298,57,266,56,298,48,284,57,266,48,284,42,266,155,266,170,268,161,294,161,294,170,268,166,294,173,294,166,294,170,268,173,294,170,268,182,274,193,319,188,309,192,284,193,319,192,284,201,299,193,319,201,299,208,319,183,302,178,297,182,274,183,302,182,274,192,284,183,302,192,284,188,309,114,313,114,278,121,311,121,311,114,278,125,273,121,311,125,273,128,307,128,307,125,273,134,269,128,307,134,269,139,302,139,302,134,269,141,267,139,302,141,267,148,298,148,298,141,267,148,266,148,298,148,266,155,295,155,295,148,266,155,266,155,295,155,266,161,294,93,316,98,286,100,316,100,316,98,286,105,282,100,316,105,282,107,315,107,315,105,282,114,278,107,315,114,278,114,313,93,316,79,314,83,289,173,294,182,274,178,297, 203,273,203,300,47,300,47,273,250,385,250,410,0,410,0,385, 203,273,203,300,47,300,203,273,47,300,47,273, 250,385,250,410,0,410,0,385,180,332,171,313,162,300,151,290, 250,385,250,410,0,410,250,385,0,410,0,385, 180,332,171,313,162,300,151,290,139,285,124,283,107,285,93,291,82,301,73,315,68,332,54,332,56,305,64,283,78,267,98,257,123,253,145,256,164,266,178,281,188,303,194,332,150,286,148,294,145,301,140,306,133,310,124,311,116,310,109,306,104,301,101,294,100,286,101,278,105,272,110,266,117,263,124,262,132,263,139,266,145,271,148,278,150,286,200,286, 107,285,93,291,98,257,98,257,93,291,82,301,98,257,82,301,78,267,78,267,82,301,73,315,78,267,73,315,68,332,171,313,162,300,164,266,164,266,162,300,151,290,164,266,151,290,145,256,145,256,151,290,139,285,145,256,139,285,124,283,124,283,107,285,123,253,123,253,107,285,98,257,68,332,54,332,56,305,68,332,56,305,64,283,68,332,64,283,78,267,180,332,171,313,178,281,180,332,178,281,188,303,180,332,188,303,194,332,124,283,123,253,145,256,171,313,164,266,178,281, 150,286,148,294,145,301,140,306,133,310,124,311,116,310,109,306,104,301,101,294,100,286,101,278,105,272,110,266,117,263,124,262,132,263,139,266,145,271,148,278,150,286,200,286,198,294,195,301,189,306,182,310,175,311,167,310,160,306,155,301,151,294,150,286,151,278,155,272,160,266,166,263,174,262,182,263,189,266,195,272,198,278,200,286, 124,262,132,263,133,310,133,310,132,263,139,266,133,310,139,266,140,306,140,306,139,266,145,271,140,306,145,271,145,301,145,301,145,271,148,278,145,301,148,278,148,294,148,294,148,278,150,286,101,294,101,278,104,301,104,301,101,278,105,272,104,301,105,272,109,306,109,306,105,272,110,266,109,306,110,266,116,310,116,310,110,266,117,263,116,310,117,263,124,311,124,311,117,263,124,262,124,311,124,262,133,310,101,278,101,294,100,286, 200,286,198,294,195,301,189,306,182,310,175,311,167,310,160,306,155,301,151,294,150,286,151,278,155,272,160,266,166,263,174,262,182,263,189,266,195,272,198,278,200,286,16383,16383,100,286,99,294,95,301,90,306,83,310,75,311,67,310,60,306,55,301,51,294,50,286,51,278,55,272,60,266,67,263,75,262,83,263,90,266,95,272,99,278,100,286,109,291,109,246,126,246,127,263,131,263,147,266,160,274,171,287,178,303,181,321,179,337,175,352,165,364,150,373,129,376,122,375,116,374,109,372,104,370,99,367,94,363,91,359,88,354,86,346,87,342,89,338,92,335,96,333,100,332,109,335,113,343,116,353,121,361,131,364,139,362,146,356,150,347,153,336,153,325,152,314,146,304,138,297,128,292, 75,311,75,262,83,310,83,310,75,262,83,263,83,310,83,263,90,306,90,306,83,263,90,266,90,306,90,266,95,301,95,301,90,266,95,272,95,301,95,272,99,294,99,294,95,272,99,278,99,294,99,278,100,286,50,286,51,278,51,294,51,294,51,278,55,272,51,294,55,272,55,301,55,301,55,272,60,266,55,301,60,266,60,306,60,306,60,266,67,263,60,306,67,263,67,310,67,310,67,263,75,262,67,310,75,262,75,311,150,286,151,278,151,294,151,294,151,278,155,272,151,294,155,272,155,301,155,301,155,272,160,266,155,301,160,266,160,306,160,306,160,266,166,263,160,306,166,263,167,310,167,310,166,263,174,262,167,310,174,262,175,311,175,311,174,262,182,263,175,311,182,263,182,310,182,310,182,263,189,266,182,310,189,266,189,306,189,306,189,266,195,272,189,306,195,272,195,301,195,301,195,272,198,278,195,301,198,278,198,294,198,294,198,278,200,286, 109,291,109,246,126,246,127,263,131,263,147,266,160,274,171,287,178,303,181,321,179,337,175,352,165,364,150,373,129,376,122,375,116,374,109,372,104,370,99,367,94,363,91,359,88,354,86,346,87,342,89,338,92,335,96,333,100,332,109,335,113,343,116,353,121,361,131,364,139,362,146,356,150,347,153,336,153,325,152,314,146,304,138,297,128,292,116,291,175,305,173,321,165,335,155,346,141,353,126,355,110,353,96,346,85,335,78,322,75,306,78,290,85,276,95,266,109,259,124,256,140,259,154,266,165,276,173,290,175,305,16383,16383,158,306,156,295,152,286,144,279,135,275,124,273,114,275,106,279,99,286,94,295,93,306,94,316,99,325,106,332,115,337,124,339,135,337,144,332,151,325,156,316,158,306,118,253, 131,364,129,376,122,375,131,364,122,375,121,361,131,364,150,373,129,376,121,361,122,375,116,353,116,353,122,375,116,374,116,353,116,374,113,343,113,343,116,374,109,372,113,343,109,372,109,335,109,335,109,372,104,370,109,335,104,370,100,332,100,332,104,370,99,367,100,332,99,367,96,333,96,333,99,367,94,363,96,333,94,363,92,335,92,335,94,363,91,359,92,335,91,359,89,338,89,338,91,359,88,354,89,338,88,354,87,342,87,342,88,354,87,350,87,342,87,350,86,346,181,321,179,337,178,303,178,303,179,337,175,352,178,303,175,352,171,287,171,287,175,352,165,364,171,287,165,364,160,274,160,274,165,364,153,325,153,336,153,325,165,364,153,336,165,364,150,373,153,336,150,373,150,347,150,373,131,364,139,362,150,373,139,362,146,356,150,373,146,356,150,347,152,314,146,304,147,266,152,314,147,266,160,274,152,314,160,274,153,325,126,246,127,263,128,292,128,292,127,263,131,263,128,292,131,263,138,297,138,297,131,263,147,266,138,297,147,266,146,304,126,246,128,292,116,291,126,246,116,291,109,291,126,246,109,291,109,246, 175,305,173,321,165,335,155,346,141,353,126,355,110,353,96,346,85,335,78,322,75,306,78,290,85,276,95,266,109,259,124,256,140,259,154,266,165,276,173,290,175,305,16383,16383,158,306,156,295,152,286,144,279,135,275,124,273,114,275,106,279,99,286,94,295,93,306,94,316,99,325,106,332,115,337,124,339,135,337,144,332,151,325,156,316,158,306,118,253,137,253,214,301,220,305,224,310,227,314,229,324,228,329,226,333,222,336,218,338,212,339,208,339,204,338,200,336,196,333,190,328,16383,16383,40,253,60,253,137,301,142,305,146,310,149,314,151,319,151,324,150,329,148,333,144,336,140,338,134,339,130,339,126,338,123,336,118,333,113,328,203,337,185,337,125,286,65,337,47,337,109,253,141,253, 156,295,152,286,154,266,154,266,152,286,144,279,154,266,144,279,140,259,140,259,144,279,135,275,140,259,135,275,124,256,124,256,135,275,124,273,126,355,124,339,135,337,126,355,135,337,141,353,141,353,135,337,144,332,141,353,144,332,155,346,155,346,144,332,151,325,155,346,151,325,156,316,175,305,173,321,173,290,173,290,173,321,165,335,173,290,165,335,165,276,165,276,165,335,158,306,156,316,158,306,165,335,156,316,165,335,155,346,156,295,154,266,165,276,156,295,165,276,158,306,99,325,106,332,110,353,110,353,106,332,115,337,110,353,115,337,126,355,126,355,115,337,124,339,96,346,85,335,93,306,96,346,93,306,94,316,96,346,94,316,99,325,96,346,99,325,110,353,99,286,94,295,95,266,95,266,94,295,93,306,114,275,106,279,109,259,114,275,109,259,124,256,114,275,124,256,124,273,99,286,95,266,109,259,99,286,109,259,106,279,75,306,78,290,78,322,78,322,78,290,85,276,78,322,85,276,85,335,85,335,85,276,95,266,85,335,95,266,93,306, 118,253,137,253,214,301,220,305,224,310,227,314,229,324,228,329,226,333,222,336,218,338,212,339,208,339,204,338,200,336,196,333,190,328,16383,16383,40,253,60,253,137,301,142,305,146,310,149,314,151,319,151,324,150,329,148,333,144,336,140,338,134,339,130,339,126,338,123,336,118,333,113,328,203,337,185,337,125,286,65,337,47,337,109,253,141,253,142,250,142,350,115,350,115,250,174,250,174,350,146,350,146,250,16383,16383,104,250,104,350,77,350,77,250,229,253,156,328,151,333,146,336,142,338,138,339,134,339,129,338,124,336,121,333,119,329,118,324,118,319,120,314,123,310,127,305, 212,339,214,301,218,338,218,338,214,301,220,305,218,338,220,305,222,336,222,336,220,305,224,310,222,336,224,310,226,333,226,333,224,310,227,314,226,333,227,314,228,329,228,329,227,314,228,319,228,329,228,319,229,324,214,301,212,339,208,339,214,301,208,339,204,338,214,301,204,338,200,336,214,301,200,336,196,333,214,301,196,333,190,328,214,301,190,328,137,253,134,339,137,301,140,338,140,338,137,301,142,305,140,338,142,305,144,336,144,336,142,305,146,310,144,336,146,310,148,333,148,333,146,310,149,314,148,333,149,314,150,329,150,329,149,314,151,319,150,329,151,319,151,324,137,301,134,339,130,339,137,301,130,339,126,338,137,301,126,338,123,336,137,301,123,336,118,333,137,301,118,333,113,328,137,301,113,328,60,253,60,253,113,328,40,253,137,253,190,328,118,253, 203,337,185,337,125,286,65,337,47,337,109,253,141,253,142,250,142,350,115,350,115,250,174,250,174,350,146,350, 203,337,185,337,141,253,141,253,185,337,125,286,141,253,125,286,109,253,109,253,125,286,65,337,109,253,65,337,47,337, 142,250,142,350,115,350,115,250,174,250,174,350,146,350,146,250, 142,250,142,350,115,350,142,250,115,350,115,250, 174,250,174,350,146,350,146,250,16383,16383,104,250,104,350,77,350,77,250,229,253,156,328,151,333,146,336,142,338,138,339,134,339,129,338,124,336, 146,350,146,250,174,250,146,350,174,250,174,350,77,350,77,250,104,250,77,350,104,250,104,350, 229,253,156,328,151,333,146,336,142,338,138,339,134,339,129,338,124,336,121,333,119,329,118,324,118,319,120,314,123,310,127,305,132,301,209,253,16383,16383,151,253,78,328,73,333,68,336,64,338,60,339,56,339,51,338,46,336,43,333,40,329,40,319,42,314,44,310,49,305,54,301,131,253,150,358,148,366,145,373,140,379,133,382,124,383,116,382,109,379,104,373,101,366,100,358,101,351,105,344,110,339,117,335,124,334,132,335,139,339,145,344,148,350,150,358,16383,16383,180,332,171,313,162,300,151,290,139,285,124,283,107,285,93,291,82,301,73,315,68,332,54,332,56,305,64,283, 209,253,229,253,156,328,209,253,156,328,151,333,209,253,151,333,146,336,209,253,146,336,142,338,209,253,142,338,138,339,209,253,138,339,134,339,209,253,134,339,132,301,118,324,118,319,119,329,119,329,118,319,120,314,119,329,120,314,121,333,121,333,120,314,123,310,121,333,123,310,124,336,124,336,123,310,127,305,124,336,127,305,129,338,129,338,127,305,132,301,129,338,132,301,134,339,131,253,151,253,78,328,131,253,78,328,73,333,131,253,73,333,68,336,131,253,68,336,64,338,131,253,64,338,60,339,131,253,60,339,56,339,131,253,56,339,54,301,40,324,40,319,40,329,40,329,40,319,42,314,40,329,42,314,43,333,43,333,42,314,44,310,43,333,44,310,46,336,46,336,44,310,49,305,46,336,49,305,51,338,51,338,49,305,54,301,51,338,54,301,56,339, 353,0,353,9,340,12,330,17,321,26,314,38,306,55,184,337,174,337,70,93,55,58,44,34,33,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,99,108,230,108,251,61,257,45,259,38,260,31,261,26,260,22,258,18,256,15,252,13,248,12,226,9,226,0,16383,16383,224,128,108,128,166,266,211,175,235,181,254,191,268,205,277,224,280,248,274,277,258,300,232,317,195,327,148,331,8,331,8,321,29,320,43,316,51,308,55,295,56,275,56,56,55,37,51,24,42,16,29,11,8,9,8,0,177,0,217,4,250,15,275,34,291,58,296,89,292,116,281,138,263,155,239,167,211,174,16383,16383,108,183,108,303,109,307,112,310,115,312,119,313,162,310,192,302, 55,58,73,22,72,30,72,30,72,34,70,93,70,93,72,34,73,38,70,93,73,38,74,43,174,337,76,51,99,108,174,337,99,108,108,128,108,128,99,108,230,108,108,128,230,108,224,128,224,128,230,108,306,55,224,128,306,55,184,337,258,18,256,15,353,0,353,0,256,15,252,13,353,0,252,13,248,12,261,26,353,0,330,17,261,26,330,17,321,26,261,26,321,26,314,38,261,26,314,38,306,55,261,26,306,55,260,31,306,55,230,108,251,61,306,55,251,61,254,53,306,55,254,53,257,45,306,55,257,45,259,38,306,55,259,38,260,31,174,337,108,128,166,266,174,337,166,266,224,128,174,337,224,128,184,337,70,93,55,58,72,30,70,93,74,43,75,47,70,93,75,47,76,51,70,93,76,51,174,337,340,12,330,17,353,0,340,12,353,0,353,9,260,22,258,18,353,0,260,22,353,0,261,26,226,9,226,0,353,0,226,9,353,0,248,12,107,0,107,9,94,10,107,0,94,10,84,12,107,0,84,12,44,34,107,0,44,34,33,20,107,0,33,20,22,13,107,0,22,13,7,9,107,0,7,9,7,0,44,34,84,12,77,16,44,34,77,16,73,22,44,34,73,22,55,58, 211,175,235,181,254,191,268,205,277,224,280,248,274,277,258,300,232,317,195,327,148,331,8,331,8,321,29,320,43,316,51,308,55,295,56,275,56,56,55,37,51,24,42,16,29,11,8,9,8,0,177,0,217,4,250,15,275,34,291,58,296,89,292,116,281,138,263,155,239,167,211,174,16383,16383,108,183,108,303,109,307,112,310,115,312,119,313,162,310,192,302,213,289,225,270,228,245,225,223,214,205,197,193,172,186,139,183,16383,16383,108,163,140,163,171,161,198,155,220,142,234,121,239,89,234,59,220,39,198,26,170,20,138,18,126,19,118,21,112,26,109,32,108,41,289,247,286,331,6,331,6,321,25,319,38,315,45,307,49,294,50,276,50,62,49,40,45,25,37,16,25,12,6,9,6,0,146,0,146,9,126,11,113,16,105,24,101,37,100,56,100,292,101,300,103,306,106,310,111,311,118,312,206,312,232,310,251,303,264,291,272,273,276,247,338,0,184,337,174,337,24,0,16383,16383,262,46,68,46,166,266,299,84,285,84,271,57,254,38,230,26,197,20,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184, 51,24,42,16,177,0,177,0,42,16,29,11,177,0,29,11,8,9,55,295,56,275,112,310,55,295,112,310,148,331,148,331,112,310,115,312,148,331,115,312,119,313,119,313,162,310,148,331,148,331,162,310,195,327,239,89,234,59,250,15,250,15,234,59,220,39,250,15,220,39,217,4,217,4,220,39,198,26,217,4,198,26,177,0,177,0,198,26,170,20,177,0,170,20,138,18,138,18,126,19,177,0,177,0,126,19,118,21,177,0,118,21,55,37,55,37,118,21,56,56,213,289,225,270,232,317,232,317,225,270,228,245,235,181,228,245,225,223,195,327,162,310,192,302,195,327,192,302,213,289,195,327,213,289,232,317,235,181,254,191,258,300,258,300,254,191,268,205,258,300,268,205,274,277,274,277,268,205,277,224,274,277,277,224,280,248,232,317,228,245,235,181,232,317,235,181,258,300,234,121,239,167,220,142,220,142,239,167,211,174,220,142,211,174,198,155,198,155,211,174,211,175,198,155,211,175,214,205,214,205,211,175,235,181,214,205,235,181,225,223,140,163,171,161,172,186,172,186,171,161,198,155,172,186,198,155,197,193,197,193,198,155,214,205,140,163,172,186,139,183,140,163,139,183,108,183,140,163,108,183,108,163,109,32,108,41,56,275,109,32,56,275,56,56,296,89,292,116,291,58,291,58,292,116,281,138,291,58,281,138,275,34,275,34,281,138,263,155,275,34,263,155,250,15,250,15,263,155,239,167,250,15,239,167,239,89,56,56,118,21,112,26,56,56,112,26,109,32,56,275,108,41,108,296,56,275,108,296,108,303,56,275,108,303,109,307,56,275,109,307,112,310,148,331,8,331,29,320,148,331,29,320,43,316,148,331,43,316,51,308,148,331,51,308,55,295,29,320,8,331,8,321,177,0,8,9,8,0,51,24,177,0,55,37,239,167,234,121,239,89, 289,247,286,331,6,331,6,321,25,319,38,315,45,307,49,294,50,276,50,62,49,40,45,25,37,16,25,12,6,9,6,0,146,0,146,9,126,11,113,16,105,24,101,37,100,56,100,292,101,300,103,306,106,310,111,311,118,312,206,312,232,310,251,303,264,291,272,273,276,247,338,0,184,337,174,337,24,0,16383,16383,262,46,68,46,166,266,299,84,285,84,271,57,254,38,230,26,197,20,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184, 38,315,45,307,286,331,286,331,45,307,111,311,286,331,111,311,118,312,286,331,118,312,206,312,286,331,206,312,232,310,286,331,232,310,251,303,286,331,251,303,264,291,286,331,264,291,272,273,286,331,272,273,276,247,286,331,276,247,289,247,100,56,100,292,50,276,50,276,100,292,101,300,50,276,101,300,103,306,50,276,103,306,106,310,50,276,106,310,49,294,50,276,101,37,100,56,111,311,45,307,49,294,111,311,49,294,106,310,25,319,38,315,286,331,25,319,286,331,6,331,25,319,6,331,6,321,146,0,146,9,126,11,146,0,126,11,113,16,146,0,113,16,49,40,146,0,49,40,45,25,146,0,45,25,37,16,146,0,37,16,25,12,146,0,25,12,6,9,146,0,6,9,6,0,50,62,49,40,113,16,50,62,113,16,105,24,50,62,105,24,101,37,50,62,101,37,50,276, 338,0,184,337,174,337,24,0,16383,16383,262,46,68,46,166,266,299,84,285,84,271,57,254,38,230,26,197,20,151,18,132,19, 174,337,24,0,68,46,68,46,24,0,338,0,68,46,338,0,262,46,262,46,338,0,184,337,262,46,184,337,174,337,174,337,68,46,166,266,174,337,166,266,262,46, 299,84,285,84,271,57,254,38,230,26,197,20,151,18,132,19,117,21,108,25,102,31,100,42,100,164,176,164,198,162,213,158,222,150,229,136,233,115,244,115,244,232,233,232,229,212,222,198,213,190,198,185,176,184,100,184,100,294,101,302,103,307,106,310,111,312,118,312,179,311,219,306,243,297,255,282,261,259,273,259,271,331,6,331,6,321,25,320,38,315,45,307,49,294,50,275,50,57,49,37,45,24,38,16,25,12,6,9,6,0,276,0,299,88,287,88,282,72,278,59,273,49,266,40,257,33,249,28,240,24,228,21,215,20,199,19,73,19,289,324,289,331,26,331,16,246,29,246,32,260,35,271,38,279,43,287,50,295,58,301,68,306,81,309,97,311,117,312,224,312,5,7,5,0,286,0,352,0,352,9,333,12,320,17,312,25,308,37,307,55,307,274,308,293,312,307,320,315,333,319,352,321,352,331,211,331,211,321,231,319,244,315,251,307,255,294,256,274,256,180,104,180,104,274, 45,24,38,16,276,0,276,0,38,16,25,12,276,0,25,12,6,9,38,315,45,307,271,331,271,331,45,307,111,312,271,331,111,312,118,312,118,312,179,311,271,331,271,331,179,311,219,306,271,331,219,306,243,297,271,331,243,297,255,282,271,331,255,282,261,259,271,331,261,259,273,259,45,24,117,21,49,37,49,37,117,21,108,25,49,37,108,25,50,57,50,57,108,25,102,31,50,57,102,31,50,275,50,275,102,31,100,42,50,275,100,42,100,294,100,184,100,164,176,164,100,184,176,164,176,184,198,185,176,184,198,162,198,185,198,162,213,190,213,190,198,162,213,158,213,190,213,158,222,198,222,198,213,158,222,150,222,198,222,150,229,212,229,212,222,150,229,136,229,212,229,136,233,232,233,232,229,136,233,115,233,232,233,115,244,115,50,275,100,294,101,302,50,275,101,302,103,307,50,275,103,307,106,310,50,275,106,310,49,294,106,310,111,312,45,307,106,310,45,307,49,294,25,320,38,315,271,331,25,320,271,331,6,331,25,320,6,331,6,321,254,38,230,26,276,0,276,0,230,26,197,20,276,0,197,20,151,18,151,18,132,19,276,0,276,0,132,19,117,21,276,0,117,21,45,24,276,0,299,84,285,84,276,0,285,84,271,57,276,0,271,57,254,38,176,184,176,164,198,162,233,232,244,115,244,232,276,0,6,9,6,0, 299,88,287,88,282,72,278,59,273,49,266,40,257,33,249,28,240,24,228,21,215,20,199,19,73,19,289,324,289,331,26,331,16,246,29,246,32,260,35,271,38,279,43,287,50,295,58,301,68,306,81,309,97,311,117,312,224,312,5,7,5,0,286,0,352,0,352,9,333,12,320,17,312,25,308,37,307,55,307,274,308,293,312,307,320,315,333,319,352,321,352,331,211,331,211,321,231,319,244,315,251,307,255,294,256,274,256,180,104,180,104,274,106,294,110,307,118,315,130,319,149,321,149,331,9,331,9,321, 35,271,38,279,26,331,26,331,38,279,43,287,26,331,43,287,50,295,50,295,58,301,26,331,26,331,58,301,68,306,26,331,68,306,81,309,73,19,289,324,224,312,224,312,289,324,289,331,224,312,289,331,117,312,97,311,117,312,289,331,97,311,289,331,26,331,26,331,16,246,29,246,26,331,29,246,32,260,26,331,32,260,35,271,224,312,5,7,73,19,73,19,5,7,286,0,73,19,286,0,199,19,199,19,286,0,215,20,278,59,273,49,286,0,286,0,273,49,266,40,286,0,266,40,257,33,257,33,249,28,286,0,286,0,249,28,240,24,286,0,240,24,228,21,286,0,299,88,287,88,286,0,287,88,282,72,286,0,282,72,278,59,286,0,5,7,5,0,215,20,286,0,228,21,26,331,81,309,97,311, 352,0,352,9,333,12,320,17,312,25,308,37,307,55,307,274,308,293,312,307,320,315,333,319,352,321,352,331,211,331,211,321,231,319,244,315,251,307,255,294,256,274,256,180,104,180,104,274,106,294,110,307,118,315,130,319,149,321,149,331,9,331,9,321,28,319,41,315,49,307,53,294,54,274,54,61,53,39,49,25,42,16,29,12,9,9,9,0,148,0,148,9,129,12,117,17,109,25,105,38,104,56,104,157,256,157,256,62,255,41,252,26,244,17,232,12,212,9,212,0,251,118,249,129,247,142,245,170,245,189,246,197,247,204,251,220,238,220,235,211,231,203,226,197,218,193,209,191,156,191,146,192,139,196,133,201,129,209,124,220,112,220,114,210,116,197,117,184,117,172,118,161,118,153,115,126,113,118,125,118,129,129,134,138,139,144,146,148,156,149,209,149,219,148,226,144,231,137,235,128,238,118,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24, 49,25,42,16,148,0,148,0,42,16,29,12,148,0,29,12,9,9,149,331,9,331,28,319,149,331,28,319,41,315,149,331,41,315,49,307,149,331,49,307,53,294,149,331,53,294,118,315,149,331,118,315,130,319,149,331,130,319,149,321,54,274,105,38,104,56,104,180,104,157,256,157,104,180,256,157,256,180,256,180,256,157,312,25,256,180,312,25,308,37,54,274,104,56,104,274,54,274,104,274,106,294,54,274,106,294,110,307,54,274,110,307,118,315,54,274,118,315,53,294,252,26,244,17,352,0,352,0,244,17,232,12,352,0,232,12,212,9,333,319,352,321,352,331,333,319,352,331,320,315,320,315,352,331,255,294,320,315,255,294,256,274,308,37,256,274,256,180,307,55,307,274,256,274,256,274,307,274,308,293,256,274,308,293,312,307,352,331,211,331,231,319,352,331,231,319,244,315,352,331,244,315,251,307,352,331,251,307,255,294,352,0,352,9,333,12,352,0,333,12,320,17,352,0,320,17,255,41,352,0,255,41,252,26,256,62,255,41,320,17,256,62,320,17,312,25,256,62,312,25,256,157,148,0,148,9,129,12,148,0,129,12,117,17,148,0,117,17,53,39,148,0,53,39,49,25,54,61,53,39,117,17,54,61,117,17,109,25,54,61,109,25,105,38,54,61,105,38,54,274,148,0,9,9,9,0,352,0,212,9,212,0,256,274,308,37,307,55,231,319,211,331,211,321,320,315,256,274,312,307,28,319,9,331,9,321, 251,118,249,129,247,142,245,170,245,189,246,197,247,204,251,220,238,220,235,211,231,203,226,197,218,193,209,191,156,191,146,192,139,196,133,201,129,209,124,220,112,220,114,210,116,197,117,184,117,172,118,161,118,153,115,126,113,118,125,118,129,129,134,138,139,144,146,148,156,149,209,149,219,148,226,144,231,137,235,128,238,118,16383,16383,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,362,0,362,9,349,11,336,16,322,25,305,41,283,64,166,192,259,281,278,298,292,309,305,316,320,320,338,321,338,331,208,331,208,321,220,321,229,320,235,318,238,315,240,311,241,305,239,298,234,289,226,280,202,256,113,174,113,293,117,307,124,315,137,319,158,321,158,331,17,331,17,321,37,319,50,315,57,306,61,293,62,275,62,63,61,40,57,26,50,17,36,12,17,9,17,0,157,0,157,9,139,12,126,16,118,23,114,36,113,55,113,148,126,158,176,107,198,84,217,63,232,46,241,32,244,22,244,18,241,15,237,12,231,11,224,10,210,9,210,0,344,0,344,9,330,12,320,17,311,26,304,38,296,55,179,337, 207,316,219,311,235,330,235,330,219,311,231,305,235,330,231,305,242,296,242,296,257,279,280,306,280,306,257,279,270,257,280,306,270,257,279,231,134,308,149,314,180,338,180,338,149,314,164,318,180,338,164,318,180,320,180,320,194,319,235,330,235,330,194,319,207,316,235,330,180,338,180,320,247,142,246,156,238,220,238,220,246,156,245,170,238,220,245,170,245,180,245,180,245,189,238,220,238,220,245,189,246,197,238,220,246,197,247,204,249,212,251,220,238,220,249,212,238,220,247,204,280,103,272,76,279,24,279,24,272,76,260,53,279,24,260,53,246,35,246,35,235,26,279,24,279,24,235,26,234,1,344,166,336,222,336,108,336,108,336,222,314,269,336,108,314,269,314,60,314,60,314,269,287,169,285,201,287,169,314,269,285,201,314,269,280,306,285,201,280,306,279,231,280,306,235,330,242,296,314,60,287,169,285,134,314,60,285,134,280,103,314,60,280,103,279,24,234,1,235,26,223,19,234,1,223,19,209,15,234,1,209,15,196,12,234,1,196,12,181,11,234,1,181,11,180,-6,226,144,231,137,231,203,231,203,231,137,235,128,231,203,235,128,235,211,235,211,235,128,238,118,235,211,238,118,238,220,238,220,238,118,249,129,238,220,249,129,247,142,156,149,209,149,209,191,218,193,209,191,219,148,218,193,219,148,226,197,226,197,219,148,226,144,226,197,226,144,231,203,209,191,156,191,156,149,146,148,156,149,156,191,146,148,156,191,146,192,146,148,146,192,139,144,139,144,146,192,139,196,139,144,139,196,134,138,134,138,139,196,133,201,134,138,133,201,129,129,129,129,133,201,129,209,129,129,129,209,125,118,125,118,129,209,124,220,125,118,124,220,118,161,118,161,124,220,117,172,124,220,112,220,114,210,124,220,114,210,116,197,124,220,116,197,117,184,124,220,117,184,117,172,125,118,118,161,118,153,125,118,118,153,117,144,125,118,117,144,116,135,125,118,116,135,115,126,125,118,115,126,113,118,134,308,126,330,121,298,121,298,126,330,108,286,97,269,108,286,126,330,97,269,126,330,81,307,81,102,81,24,90,75,90,75,81,24,126,1,90,75,126,1,103,52,103,52,126,1,119,33,130,25,119,33,126,1,130,25,126,1,180,-6,81,307,46,271,46,61,81,307,46,61,74,166,81,307,74,166,76,194,81,307,76,194,80,222,81,307,80,222,87,247,81,307,87,247,97,269,81,102,76,132,81,24,81,24,76,132,74,166,24,109,46,61,46,271,24,109,46,271,24,224,24,109,24,224,17,167,154,15,180,-6,167,12,167,12,180,-6,181,11,142,19,130,25,180,-6,142,19,180,-6,154,15,81,24,74,166,46,61,126,330,134,308,180,338,209,191,209,149,219,148,249,129,238,118,251,118, 157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,362,0,362,9,349,11,336,16,322,25,305,41,283,64,166,192,259,281,278,298,292,309,305,316,320,320,338,321,338,331,208,331,208,321,220,321,229,320,235,318,238,315,240,311,241,305,239,298,234,289,226,280,202,256, 52,23,44,15,157,0,157,0,44,15,30,11,157,0,30,11,9,9,157,331,9,331,30,320,157,331,30,320,44,316,157,331,44,316,53,308,157,331,53,308,57,295,157,331,57,295,122,316,157,331,122,316,136,320,157,331,136,320,157,321,122,16,114,24,57,56,57,56,114,24,109,37,57,56,109,37,57,276,57,276,109,37,108,56,57,276,108,56,108,276,57,276,108,276,109,295,57,276,109,295,113,308,57,276,113,308,122,316,57,276,122,316,57,295,157,0,157,9,137,11,157,0,137,11,122,16,157,0,122,16,56,36,157,0,56,36,52,23,157,0,9,9,9,0,56,36,122,16,57,56,30,320,9,331,9,321, 362,0,362,9,349,11,336,16,322,25,305,41,283,64,166,192,259,281,278,298,292,309,305,316,320,320,338,321,338,331,208,331,208,321,220,321,229,320,235,318,238,315,240,311,241,305,239,298,234,289,226,280,202,256,113,174,113,293,117,307,124,315,137,319,158,321,158,331,17,331,17,321,37,319,50,315,57,306,61,293,62,275,62,63,61,40,57,26,50,17,36,12,17,9,17,0,157,0,157,9,139,12,126,16,118,23,114,36,113,55,113,148,126,158,176,107,198,84,217,63,232,46,241,32,244,22,244,18,241,15,237,12,231,11,224,10,210,9,210,0,344,0,344,9,330,12,320,17,311,26,304,38,296,55,179,337,169,337,70,93,56,58,44,34,34,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,160,267,161,267,241,61,244,51,247,44,249,37,250,31,251,26,249,18,244,13,236,11,227,10,216,9,216,0,432,0,432,9,413,12,401,17,393,25,389,38,388,56,388,275,389,294,393,307,401,316,413,320,431,321,431,331,332,331,222,80,106,331,7,331,7,321,28,319,42,315,50,307,54,294,55,275,55,75,54,47,49,29,41,18,27,12, 158,321,158,321,137,319,137,319,158,321,158,331,137,319,158,331,124,315,124,315,158,331,61,293,124,315,61,293,62,275,114,36,62,275,62,63,114,36,62,63,118,23,118,23,62,63,126,16,62,275,114,36,113,55,113,174,113,148,126,158,113,174,126,158,202,256,202,256,126,158,166,192,202,256,166,192,259,281,62,275,113,55,113,274,62,275,113,274,113,293,62,275,113,293,117,307,62,275,117,307,124,315,158,331,17,331,37,319,158,331,37,319,50,315,158,331,50,315,57,306,158,331,57,306,61,293,234,289,226,280,259,281,259,281,226,280,215,269,259,281,215,269,202,256,338,331,208,331,220,321,338,331,220,321,229,320,338,331,229,320,235,318,338,331,235,318,238,315,338,331,238,315,240,311,338,331,240,311,241,305,338,331,241,305,305,316,338,331,305,316,320,320,338,331,320,320,338,321,241,305,259,281,278,298,241,305,278,298,292,309,241,305,292,309,305,316,239,298,234,289,259,281,239,298,259,281,241,305,241,15,237,12,362,0,362,0,237,12,231,11,362,0,231,11,224,10,244,22,362,0,336,16,244,22,336,16,322,25,244,22,322,25,305,41,244,22,305,41,283,64,244,22,283,64,241,32,283,64,166,192,176,107,283,64,176,107,198,84,283,64,198,84,217,63,283,64,217,63,232,46,283,64,232,46,241,32,349,11,336,16,362,0,349,11,362,0,362,9,244,18,241,15,362,0,244,18,362,0,244,22,210,9,210,0,362,0,210,9,362,0,224,10,157,0,157,9,139,12,157,0,139,12,126,16,157,0,126,16,61,40,157,0,61,40,57,26,157,0,57,26,50,17,157,0,50,17,36,12,157,0,36,12,17,9,157,0,17,9,17,0,61,40,126,16,62,63,176,107,166,192,126,158,220,321,208,331,208,321,37,319,17,331,17,321, 344,0,344,9,330,12,320,17,311,26,304,38,296,55,179,337,169,337,70,93,56,58,44,34,34,20,22,13,7,9,7,0,107,0,107,9,94,10,84,12,77,16,73,22,72,30,72,34,73,38,74,43,76,51,160,267,161,267,241,61,244,51,247,44,249,37,250,31,251,26,249,18,244,13,236,11,227,10,216,9,216,0,432,0,432,9,413,12,401,17,393,25,389,38,388,56,388,275,389,294,393,307,401,316,413,320,431,321,431,331,332,331,222,80,106,331,7,331,7,321,28,319,42,315,50,307,54,294,55,275,55,75,54,47,49,29,41,18,27,12,6,9,6,0,123,0,123,9,103,12,90,18,82,29,78,48,76,75,76,275,203,0,209,0, 56,58,73,22,72,30,72,30,72,34,70,93,70,93,72,34,73,38,70,93,73,38,74,43,161,267,169,337,160,267,160,267,169,337,76,51,75,47,76,51,169,337,75,47,169,337,70,93,251,26,344,0,320,17,251,26,320,17,311,26,251,26,311,26,304,38,251,26,304,38,296,55,251,26,296,55,250,31,296,55,179,337,241,61,296,55,241,61,244,51,296,55,244,51,247,44,296,55,247,44,249,37,296,55,249,37,250,31,169,337,161,267,241,61,169,337,241,61,179,337,70,93,56,58,72,30,330,12,320,17,344,0,330,12,344,0,344,9,249,18,244,13,344,0,249,18,344,0,251,26,344,0,244,13,236,11,344,0,236,11,227,10,344,0,227,10,216,9,344,0,216,9,216,0,107,0,107,9,94,10,107,0,94,10,84,12,107,0,84,12,34,20,107,0,34,20,22,13,107,0,22,13,7,9,107,0,7,9,7,0,44,34,34,20,84,12,44,34,84,12,77,16,44,34,77,16,73,22,44,34,73,22,56,58,75,47,70,93,74,43, 432,0,432,9,413,12,401,17,393,25,389,38,388,56,388,275,389,294,393,307,401,316,413,320,431,321,431,331,332,331,222,80,106,331,7,331,7,321,28,319,42,315,50,307,54,294,55,275,55,75,54,47,49,29,41,18,27,12,6,9,6,0,123,0,123,9,103,12,90,18,82,29,78,48,76,75,76,275,203,0,209,0,337,286,337,61,336,40,333,26,325,17,312,12,292,9,292,0,353,331,235,331,235,321,247,320,256,319,263,317,275,309,278,303,281,295,283,285,284,274,284,89,91,331,6,331,6,321,19,321,29,318,37,313,46,306,55,295,55,75,54,48,49,30,41,19,27,13,6,9,6,0,123,0,123,9,103,13,90,20,82,31,78,49,76,75,76,269,297,-5,306,-5,306,274,308,289,311,299,315,307,320,313,324,315,329,318,335,319,343,320,353,321,295,247,295,331, 49,29,41,18,123,0,123,0,41,18,27,12,123,0,27,12,6,9,333,26,325,17,432,0,432,0,325,17,312,12,432,0,312,12,292,9,413,320,431,321,431,331,413,320,431,331,401,316,401,316,431,331,337,286,401,316,337,286,393,307,393,307,337,286,389,294,401,17,393,25,337,61,337,61,393,25,389,38,337,61,389,38,337,286,337,286,389,38,388,56,337,286,388,56,388,275,203,0,209,0,222,80,222,80,209,0,337,286,222,80,337,286,332,331,332,331,337,286,431,331,106,331,7,331,28,319,106,331,28,319,42,315,106,331,42,315,50,307,106,331,50,307,54,294,106,331,54,294,55,275,106,331,55,275,76,275,106,331,76,275,203,0,106,331,203,0,222,80,76,75,76,275,55,275,76,75,55,275,78,48,78,48,55,275,55,75,78,48,55,75,82,29,82,29,55,75,54,47,82,29,54,47,90,18,90,18,54,47,49,29,90,18,49,29,123,0,432,0,432,9,413,12,432,0,413,12,401,17,432,0,401,17,336,40,432,0,336,40,333,26,103,12,90,18,123,0,103,12,123,0,123,9,123,0,6,9,6,0,432,0,292,9,292,0,336,40,401,17,337,61,28,319,7,331,7,321,389,294,337,286,388,275, 353,331,235,331,235,321,247,320,256,319,263,317,275,309,278,303,281,295,283,285,284,274,284,89,91,331,6,331,6,321,19,321,29,318,37,313,46,306,55,295,55,75,54,48,49,30,41,19,27,13,6,9,6,0,123,0,123,9,103,13,90,20,82,31,78,49,76,75,76,269,297,-5,306,-5,306,274,308,289,311,299,315,307,320,313,324,315,329,318,335,319,343,320,353,321,295,247,295,331,26,331,26,246,39,246,43,263,48,276,55,284,66,289,79,290,242,290,256,289,266,284,274,276,279,263,282,247,16383,16383,252,109,252,225,240,225,239,211,235,200,229,193,219,189,207,188,114,188,102,189,93,193,87,200,83,211,81,225,70,225,70,109,81,109,84,122,87,132,93,140,101,146,113,147,205,147,218,146,227,141,234,133,239,123,240,109,16383,16383,307,0, 49,30,41,19,123,0,123,0,41,19,27,13,123,0,27,13,6,9,256,319,263,317,353,331,353,331,263,317,269,313,353,331,269,313,275,309,275,309,278,303,353,331,353,331,278,303,281,295,353,331,281,295,324,315,324,315,281,295,320,313,324,315,320,313,320,312,320,312,320,313,315,307,315,307,320,313,284,274,315,307,284,274,284,259,297,-5,284,259,284,89,297,-5,284,89,91,331,353,331,324,315,329,318,353,331,329,318,335,319,353,331,335,319,343,320,353,331,343,320,353,321,306,-5,306,253,297,-5,297,-5,306,253,306,274,297,-5,306,274,284,259,284,259,306,274,308,289,284,259,308,289,311,299,283,285,284,274,320,313,283,285,320,313,281,295,247,320,256,319,353,331,247,320,353,331,235,331,247,320,235,331,235,321,91,331,6,331,19,321,91,331,19,321,29,318,91,331,29,318,37,313,91,331,37,313,46,306,91,331,46,306,55,295,91,331,55,295,76,269,91,331,76,269,297,-5,55,295,78,49,76,75,54,48,49,30,90,20,90,20,49,30,123,0,90,20,123,0,103,13,103,13,123,0,123,9,55,75,54,48,82,31,55,75,82,31,78,49,55,75,78,49,55,295,123,0,6,9,6,0,54,48,90,20,82,31,19,321,6,331,6,321,76,269,55,295,76,75,315,307,284,259,311,299, 295,247,295,331,26,331,26,246,39,246,43,263,48,276,55,284,66,289,79,290,242,290,256,289,266,284,274,276,279,263,282,247,16383,16383,252,109,252,225,240,225,239,211,235,200,229,193,219,189,207,188,114,188,102,189,93,193,87,200,83,211,81,225,70,225,70,109,81,109,84,122,87,132,93,140,101,146,113,147,205,147,218,146,227,141,234,133,239,123,240,109,16383,16383,307,0,307,85,295,85,293,70,287,57,278,49,265,44,248,42,70,42,56,44,44,49,35,57,29,69,27,85,15,85,15,0,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201, 295,331,26,331,66,289,295,331,66,289,79,290,295,331,79,290,242,290,295,331,242,290,256,289,295,331,256,289,266,284,295,331,266,284,274,276,295,331,274,276,279,263,295,331,279,263,282,247,295,331,282,247,295,247,26,331,26,246,39,246,26,331,39,246,43,263,26,331,43,263,48,276,26,331,48,276,55,284,26,331,55,284,66,289,219,189,207,188,218,146,218,146,207,188,205,147,205,147,207,188,114,188,205,147,114,188,113,147,101,146,113,147,102,189,101,146,102,189,93,193,83,211,84,122,87,200,87,200,84,122,87,132,87,200,87,132,93,193,93,193,87,132,93,140,93,193,93,140,101,146,83,211,81,225,84,122,84,122,81,225,81,109,81,109,81,225,70,225,81,109,70,225,70,109,240,225,239,211,240,109,240,225,240,109,252,109,240,225,252,109,252,225,240,109,239,211,239,123,239,123,239,211,235,200,239,123,235,200,234,133,234,133,235,200,229,193,234,133,229,193,227,141,227,141,229,193,219,189,227,141,219,189,218,146,287,57,278,49,307,0,307,0,278,49,265,44,307,0,265,44,248,42,307,0,307,85,295,85,307,0,295,85,293,70,307,0,293,70,287,57,248,42,70,42,307,0,307,0,70,42,56,44,307,0,56,44,15,0,15,0,56,44,44,49,15,0,44,49,35,57,15,0,35,57,15,85,15,85,35,57,29,69,15,85,29,69,27,85,113,147,114,188,102,189, 344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,352,0,352,9,333,12,320,17,312,25,308,37,307,55,307,274,308,293,312,307,320,315,333,319,352,321,352,331,9,331,9,321,28,319,41,315,49,307,53,294,54,274,54,61,53,39,49,25,42,16,29,12,9,9,9,0,148,0,148,9,129,12,117,17,109,25,105,38,104,56,104,296,105,303,107,307,111,310,116,312,238,312,245,311,251,310,254,306,256,301,256,62,255,41,252,26,244,17,232,12,212,9,212,0,8,331,8,321,27,319,39,315,46,307,49,294,50,276,50,39,47,25,40,16,27,12, 149,314,180,338,134,308,134,308,180,338,126,330,134,308,126,330,121,298,121,298,126,330,108,286,97,269,108,286,126,330,97,269,126,330,81,307,81,102,81,24,90,75,90,75,81,24,126,1,90,75,126,1,103,52,103,52,126,1,119,33,130,25,119,33,126,1,130,25,126,1,180,-6,207,316,235,330,194,319,194,319,235,330,180,320,164,318,180,320,180,338,164,318,180,338,149,314,81,307,46,271,46,61,81,307,46,61,74,166,81,307,74,166,76,194,81,307,76,194,80,222,81,307,80,222,87,247,81,307,87,247,97,269,81,102,76,132,81,24,81,24,76,132,74,166,24,109,46,61,46,271,24,109,46,271,24,224,24,109,24,224,17,167,223,19,209,15,234,1,234,1,209,15,196,12,234,1,196,12,181,11,181,11,167,12,180,-6,180,-6,167,12,154,15,180,-6,154,15,142,19,207,316,219,311,235,330,235,330,219,311,231,305,235,330,231,305,242,296,242,296,257,279,280,306,280,306,257,279,270,257,280,306,270,257,279,231,235,330,180,338,180,320,280,103,272,76,279,24,279,24,272,76,260,53,279,24,260,53,246,35,246,35,235,26,279,24,279,24,235,26,234,1,344,166,336,222,336,108,336,108,336,222,314,269,336,108,314,269,314,60,314,60,314,269,287,169,285,201,287,169,314,269,285,201,314,269,280,306,285,201,280,306,279,231,280,306,235,330,242,296,314,60,287,169,285,134,314,60,285,134,280,103,314,60,280,103,279,24,181,11,180,-6,234,1,81,24,74,166,46,61,223,19,234,1,235,26,130,25,180,-6,142,19, 352,0,352,9,333,12,320,17,312,25,308,37,307,55,307,274,308,293,312,307,320,315,333,319,352,321,352,331,9,331,9,321,28,319,41,315,49,307,53,294,54,274,54,61,53,39,49,25,42,16,29,12,9,9,9,0,148,0,148,9,129,12,117,17,109,25,105,38,104,56,104,296,105,303,107,307,111,310,116,312,238,312,245,311,251,310,254,306,256,301,256,62,255,41,252,26,244,17,232,12,212,9,212,0,8,331,8,321,27,319,39,315,46,307,49,294,50,276,50,39,47,25,40,16,27,12,8,9,8,0,148,0,148,9,128,12,114,16,106,24,102,37,101,56,101,146,109,145,115,145,122,144,136,144,164,145,188,147,208,153,225,161,243,175,253,185,260,197,266,210,270,225,271,240,270,254,267,268,262,280,255,291,246,300,231,310,213,319,191,325,166,329,137,331,16383,16383,101,295,101,302,103,307,106,310,111,312,118,313, 49,25,42,16,148,0,148,0,42,16,29,12,148,0,29,12,9,9,53,294,54,274,111,310,53,294,111,310,49,307,49,307,111,310,116,312,49,307,116,312,352,331,352,331,116,312,123,312,252,26,244,17,352,0,352,0,244,17,232,12,352,0,232,12,212,9,352,331,123,312,238,312,352,331,238,312,245,311,352,331,245,311,251,310,352,331,251,310,254,306,352,331,254,306,256,301,352,331,256,301,256,294,352,331,256,294,320,315,352,331,320,315,333,319,352,331,333,319,352,321,307,55,307,274,256,294,256,294,307,274,308,293,256,294,308,293,312,307,320,17,312,25,256,62,256,62,312,25,308,37,256,62,308,37,256,294,117,17,109,25,54,61,54,61,109,25,105,38,54,61,105,38,54,274,54,274,105,38,104,56,54,274,104,56,104,296,54,274,104,296,105,303,54,274,105,303,107,307,54,274,107,307,111,310,352,331,9,331,28,319,352,331,28,319,41,315,352,331,41,315,49,307,352,0,352,9,333,12,352,0,333,12,320,17,352,0,320,17,255,41,352,0,255,41,252,26,148,0,148,9,129,12,148,0,129,12,117,17,148,0,117,17,53,39,148,0,53,39,49,25,148,0,9,9,9,0,53,39,117,17,54,61,352,0,212,9,212,0,255,41,320,17,256,62,256,294,308,37,307,55,28,319,9,331,9,321,320,315,256,294,312,307, 8,331,8,321,27,319,39,315,46,307,49,294,50,276,50,39,47,25,40,16,27,12,8,9,8,0,148,0,148,9,128,12,114,16,106,24,102,37,101,56,101,146,109,145,115,145,122,144,136,144,164,145,188,147,208,153,225,161,243,175,253,185,260,197,266,210,270,225,271,240,270,254,267,268,262,280,255,291,246,300,231,310,213,319,191,325,166,329,137,331,16383,16383,101,295,101,302,103,307,106,310,111,312,118,313,155,310,182,302,202,288,213,266,217,238,213,213,202,192,185,177,162,167,132,164,120,164,114,165,108,165,101,166,300,102,289,102,283,82,275,66,264,56,249,49,229,47,74,47,193,184,86,312,190,312,214,310,234,305,248,294,259,276,266,251,278,251,278,331,15,331,15,324,148,162,15,7,15,0,286,0,296,246,293,331,12,331,8,246,21,246,28,274,37,292,50,303,70,309,97,310,127,310,127,61,126,39,123,25,115,16,101,12,80,9,80,0,226,0,226,9,205,11,192,16,183,23,179,36,178,55,178,310,208,310,235,309,254,303,268,292,277,274,284,246,352,329,345,332,338,334,332,335,320,335,289,330,259,315,232,290,211,258,198,218, 111,312,118,312,118,313,137,331,118,313,155,310,137,331,155,310,166,329,166,329,155,310,182,302,166,329,182,302,191,325,191,325,182,302,202,288,191,325,202,288,213,319,213,319,202,288,213,266,213,319,213,266,231,310,231,310,213,266,217,238,231,310,217,238,225,161,225,161,213,213,208,153,208,153,213,213,202,192,208,153,202,192,188,147,188,147,202,192,185,177,188,147,185,177,164,145,164,145,185,177,162,167,164,145,162,167,136,144,136,144,162,167,132,164,136,144,132,164,128,144,128,144,132,164,126,164,128,144,126,164,122,144,122,144,126,164,120,164,122,144,120,164,115,145,115,145,120,164,114,165,115,145,114,165,109,145,109,145,114,165,108,165,109,145,108,165,101,166,101,56,101,166,50,276,101,56,50,276,102,37,102,37,50,276,50,61,101,166,101,146,109,145,271,240,270,254,270,225,270,225,270,254,267,268,270,225,267,268,266,210,266,210,267,268,262,280,266,210,262,280,260,197,260,197,262,280,255,291,260,197,255,291,253,185,253,185,255,291,246,300,253,185,246,300,243,175,243,175,246,300,231,310,243,175,231,310,225,161,137,331,8,331,27,319,137,331,27,319,39,315,137,331,39,315,46,307,137,331,46,307,49,294,137,331,49,294,50,276,137,331,50,276,106,310,137,331,106,310,111,312,137,331,111,312,118,313,101,295,101,302,50,276,101,295,50,276,101,166,103,307,106,310,50,276,103,307,50,276,101,302,148,0,148,9,128,12,148,0,128,12,114,16,148,0,114,16,50,39,148,0,50,39,47,25,148,0,47,25,40,16,148,0,40,16,27,12,148,0,27,12,8,9,148,0,8,9,8,0,50,61,50,39,114,16,50,61,114,16,106,24,50,61,106,24,102,37,27,319,8,331,8,321,213,213,225,161,217,238,155,310,118,313,118,312, 300,102,289,102,283,82,275,66,264,56,249,49,229,47,74,47,193,184,86,312,190,312,214,310,234,305,248,294,259,276,266,251,278,251,278,331,15,331,15,324,148,162,15,7,15,0,286,0,296,246,293,331,12,331,8,246,21,246,28,274,37,292,50,303,70,309,97,310,127,310,127,61,126,39,123,25,115,16,101,12,80,9,80,0,226,0,226,9,205,11,192,16,183,23,179,36, 278,331,15,331,86,312,278,331,86,312,190,312,278,331,190,312,214,310,278,331,214,310,234,305,278,331,234,305,248,294,278,331,248,294,259,276,278,331,259,276,266,251,278,331,266,251,278,251,148,162,15,7,74,47,148,162,74,47,193,184,148,162,193,184,86,312,148,162,86,312,15,331,148,162,15,331,15,324,275,66,264,56,286,0,286,0,264,56,249,49,286,0,249,49,229,47,286,0,300,102,289,102,286,0,289,102,283,82,286,0,283,82,275,66,286,0,229,47,74,47,286,0,74,47,15,7,286,0,15,7,15,0, 296,246,293,331,12,331,8,246,21,246,28,274,37,292,50,303,70,309,97,310,127,310,127,61,126,39,123,25,115,16,101,12,80,9,80,0,226,0,226,9,205,11,192,16,183,23,179,36,178,55,178,310,208,310,235,309,254,303,268,292,277,274,284,246,352,329,345,332,338,334,332,335,320,335,289,330,259,315,232,290,211,258,198,218,196,218,186,260,169,293,146,318,117,332,81,337,67,336,53,332,39,327,26,319,15,311,18,303,25,305,33,308,41,310,49,311,55,312,84,306,109,289,130,257,146,211,157,147, 293,331,12,331,70,309,293,331,70,309,97,310,293,331,97,310,127,310,293,331,127,310,178,310,293,331,178,310,208,310,293,331,208,310,235,309,293,331,235,309,254,303,293,331,254,303,268,292,293,331,268,292,277,274,293,331,277,274,284,246,293,331,284,246,296,246,192,16,183,23,127,61,127,61,183,23,179,36,127,61,179,36,127,310,127,310,179,36,178,55,127,310,178,55,178,310,12,331,8,246,21,246,12,331,21,246,28,274,12,331,28,274,37,292,12,331,37,292,50,303,12,331,50,303,70,309,226,0,226,9,205,11,226,0,205,11,192,16,226,0,192,16,126,39,226,0,126,39,123,25,226,0,123,25,115,16,226,0,115,16,101,12,226,0,101,12,80,9,226,0,80,9,80,0,126,39,192,16,127,61, 352,329,345,332,338,334,332,335,320,335,289,330,259,315,232,290,211,258,198,218,196,218,186,260,169,293,146,318,117,332,81,337,67,336,53,332,39,327,26,319,15,311,18,303,25,305,33,308,41,310,49,311,55,312,84,306,109,289,130,257,146,211,157,147,157,61,156,39,153,25,144,16,130,12,107,9,107,0,260,0,260,9,239,11,224,15,215,23,210,36,209,55,209,152,215,204,233,251,261,288,296,313,335,322,342,322,348,320,352,320,216,290,217,301,221,310,230,316,245,320,267,321,267,331,114,331,114,321,136,320,151,317,160,311,164,302,165,290,165,280,122,276,82,263,49,241,26,209,17,165,23,128,39,97,67,72,106,57,156,51,165,51,165,42,163,29,157,20,146,14,132,10,114,9,114,0,267,0,267,9,248,11,234,15,224,20,218,29,216,43,216,51,228,51,264,56,300,69,332,91,355,123,364,165,355,209,332,241,298,263,258,276,216,280,16383,16383,215,262,250,256, 18,303,25,305,26,319,26,319,25,305,33,308,26,319,33,308,39,327,39,327,33,308,41,310,39,327,41,310,53,332,53,332,41,310,49,311,53,332,49,311,55,312,55,312,84,306,67,336,67,336,84,306,81,337,67,336,53,332,55,312,198,218,196,218,210,36,198,218,210,36,209,55,198,218,209,55,209,152,198,218,209,152,211,258,332,335,326,335,335,322,335,322,326,335,320,335,335,322,320,335,296,313,296,313,320,335,289,330,296,313,289,330,261,288,261,288,289,330,259,315,261,288,259,315,233,251,233,251,259,315,232,290,233,251,232,290,215,204,215,204,232,290,211,258,215,204,211,258,209,152,338,334,335,322,339,322,338,334,339,322,345,332,345,332,339,322,342,322,345,332,342,322,345,321,348,320,352,320,352,329,348,320,352,329,345,321,345,321,352,329,345,332,260,0,260,9,239,11,260,0,239,11,224,15,260,0,224,15,156,39,260,0,156,39,153,25,260,0,153,25,144,16,260,0,144,16,130,12,260,0,130,12,107,9,260,0,107,9,107,0,169,293,157,147,210,36,169,293,210,36,186,260,186,260,210,36,196,218,156,39,224,15,157,61,157,61,224,15,215,23,157,61,215,23,157,147,157,147,215,23,210,36,84,306,109,289,117,332,117,332,109,289,130,257,117,332,130,257,146,318,146,318,130,257,146,211,146,318,146,211,169,293,169,293,146,211,157,147,81,337,84,306,117,332,335,322,338,334,332,335,18,303,26,319,15,311, 216,290,217,301,221,310,230,316,245,320,267,321,267,331,114,331,114,321,136,320,151,317,160,311,164,302,165,290,165,280,122,276,82,263,49,241,26,209,17,165,23,128,39,97,67,72,106,57,156,51,165,51,165,42,163,29,157,20,146,14,132,10,114,9,114,0,267,0,267,9,248,11,234,15,224,20,218,29,216,43,216,51,228,51,264,56,300,69,332,91,355,123,364,165,355,209,332,241,298,263,258,276,216,280,16383,16383,215,262,250,256,276,240,295,216,306,188,310,159,304,128,290,103,268,85,243,74,215,70,16383,16383,166,70,133,75,107,88,88,107,76,132,72,159,76,189,89,216,109,240,135,256,166,262,352,0,352,9,338,12,327,16,317,22,307,32,296,46,200,184,272,272,289,292,303,305,316,314,331,319,348,321,348,331,229,331,229,321,243,320,253,319,259,316,262,311,263,305,263,301,260,296,257,290,251,282,243,272,188,202,166,234,151,255,139,272,131,286,126,297,124,306,125,312,128,316,133,319,139,320,147,321,161,321,161,331,11,331,11,321,29,319,44,312,59,299,78,276,103,242,156,164,78,66,58,42,43,26,31,17,19,12,5,9,5,0,121,0,121,9,106,11,95,13,88,17,84,21,83,26,84,31,87,38,92,46,100,57,109,70,169,145,217,74,226,60,233,48,238,38,241,31,242,25,241,20, 267,321,267,321,245,320,245,320,267,321,267,331,245,320,267,331,230,316,230,316,267,331,164,302,230,316,164,302,165,290,166,262,165,290,165,280,166,262,165,280,135,256,135,256,165,280,122,276,135,256,122,276,109,240,109,240,122,276,89,216,216,43,215,70,166,262,166,262,215,70,215,262,166,262,215,262,216,290,216,290,215,262,216,280,166,262,216,290,217,301,166,262,217,301,221,310,166,262,218,29,216,43,165,290,166,262,221,310,165,290,221,310,230,316,267,331,114,331,136,320,267,331,136,320,151,317,267,331,151,317,160,311,267,331,160,311,164,302,82,263,49,241,72,159,82,263,72,159,76,189,82,263,76,189,89,216,82,263,89,216,122,276,17,165,23,128,26,209,26,209,23,128,39,97,26,209,39,97,49,241,49,241,39,97,67,72,49,241,67,72,72,159,332,91,310,159,304,128,332,91,304,128,300,69,300,69,304,128,290,103,300,69,290,103,268,85,306,188,310,159,332,241,332,241,310,159,332,91,332,241,332,91,355,209,355,209,332,91,355,123,355,209,355,123,364,165,298,263,258,276,276,240,298,263,276,240,295,216,298,263,295,216,306,188,298,263,306,188,332,241,250,256,276,240,258,276,250,256,258,276,216,280,250,256,216,280,215,262,216,51,228,51,243,74,243,74,228,51,264,56,243,74,264,56,268,85,268,85,264,56,300,69,216,43,216,51,215,70,215,70,216,51,243,74,267,0,267,9,248,11,267,0,248,11,234,15,267,0,234,15,165,42,267,0,165,42,163,29,267,0,163,29,157,20,267,0,157,20,146,14,267,0,146,14,132,10,267,0,132,10,114,9,267,0,114,9,114,0,166,70,133,75,156,51,166,70,156,51,165,51,166,70,165,51,224,20,166,70,224,20,218,29,166,70,218,29,166,262,165,51,165,42,234,15,165,51,234,15,224,20,107,88,88,107,106,57,107,88,106,57,156,51,107,88,156,51,133,75,76,132,72,159,67,72,76,132,67,72,106,57,76,132,106,57,88,107,136,320,114,331,114,321, 352,0,352,9,338,12,327,16,317,22,307,32,296,46,200,184,272,272,289,292,303,305,316,314,331,319,348,321,348,331,229,331,229,321,243,320,253,319,259,316,262,311,263,305,263,301,260,296,257,290,251,282,243,272,188,202,166,234,151,255,139,272,131,286,126,297,124,306,125,312,128,316,133,319,139,320,147,321,161,321,161,331,11,331,11,321,29,319,44,312,59,299,78,276,103,242,156,164,78,66,58,42,43,26,31,17,19,12,5,9,5,0,121,0,121,9,106,11,95,13,88,17,84,21,83,26,84,31,87,38,92,46,100,57,109,70,169,145,217,74,226,60,233,48,238,38,241,31,242,25,241,20,238,16,233,14,226,12,217,11,204,9,204,0,362,345,332,341,310,328,295,309,287,284,285,254,283,226,278,198,267,175,248,159,218,153,212,153,212,281,214,299,221,311,232,318,246,321,263,321,263,331,110,331,110,321,128,321,142,317,152,310,159,299,161,281,161,153,156,153,125,159,106,175,95,198,90,226,89,254,86,284,78,309,64,328,42,341,11,345,11,335,21,330,28,320,32,308,34,295,35,283,34,274,34,265,33,256,33,247,32,238,39,199,59,170,87,150,122,139,161,135,161,62,160,40,156,25,147,16,132,12,110,9,110,0,263,0,263,9,244,11,229,14,220,22,214,35,212,55,212,135,251,139,286,150,314,170,333,199,340,238,340,256,339,265,339,295,341,308,345,320,352,330,362,335,358,0, 31,17,121,0,43,26,43,26,121,0,88,17,43,26,88,17,58,42,58,42,88,17,84,21,58,42,84,21,83,26,83,26,84,31,78,66,78,66,84,31,87,38,78,66,87,38,156,164,156,164,87,38,92,46,156,164,92,46,100,57,103,242,156,164,126,297,103,242,126,297,124,306,124,306,125,312,103,242,156,164,100,57,109,70,109,70,169,145,156,164,156,164,169,145,166,234,156,164,166,234,151,255,78,66,58,42,83,26,103,242,125,312,78,276,78,276,125,312,128,316,78,276,128,316,59,299,59,299,128,316,133,319,59,299,133,319,161,331,161,331,133,319,139,320,161,331,139,320,147,321,147,321,161,321,161,331,161,331,11,331,29,319,161,331,29,319,44,312,161,331,44,312,59,299,260,296,257,290,272,272,272,272,257,290,251,282,272,272,251,282,243,272,243,272,188,202,200,184,200,184,188,202,217,74,200,184,217,74,296,46,296,46,217,74,226,60,296,46,226,60,233,48,348,331,229,331,243,320,348,331,243,320,253,319,348,331,253,319,259,316,348,331,259,316,262,311,348,331,262,311,263,305,348,331,263,305,316,314,348,331,316,314,331,319,348,331,331,319,348,321,263,305,272,272,289,292,263,305,289,292,303,305,263,305,303,305,316,314,263,301,260,296,272,272,263,301,272,272,263,305,243,272,200,184,272,272,238,16,233,14,352,0,352,0,233,14,226,12,352,0,226,12,217,11,242,25,352,0,327,16,242,25,327,16,317,22,242,25,317,22,307,32,242,25,307,32,296,46,242,25,296,46,241,31,296,46,233,48,238,38,296,46,238,38,241,31,188,202,166,234,169,145,188,202,169,145,217,74,338,12,327,16,352,0,338,12,352,0,352,9,241,20,238,16,352,0,241,20,352,0,242,25,204,9,204,0,352,0,204,9,352,0,217,11,156,164,151,255,139,272,156,164,139,272,131,286,156,164,131,286,126,297,121,0,121,9,106,11,121,0,106,11,95,13,121,0,95,13,88,17,19,12,5,9,121,0,19,12,121,0,31,17,121,0,5,9,5,0,243,320,229,331,229,321,29,319,11,331,11,321, 362,345,332,341,310,328,295,309,287,284,285,254,283,226,278,198,267,175,248,159,218,153,212,153,212,281,214,299,221,311,232,318,246,321,263,321,263,331,110,331,110,321,128,321,142,317,152,310,159,299,161,281,161,153,156,153,125,159,106,175,95,198,90,226,89,254,86,284,78,309,64,328,42,341,11,345,11,335,21,330,28,320,32,308,34,295,35,283,34,274,34,265,33,256,33,247,32,238,39,199,59,170,87,150,122,139,161,135,161,62,160,40,156,25,147,16,132,12,110,9,110,0,263,0,263,9,244,11,229,14,220,22,214,35,212,55,212,135,251,139,286,150,314,170,333,199,340,238,340,256,339,265,339,295,341,308,345,320,352,330,362,335,358,0,358,84,345,84,343,71,339,61,333,53,325,49,314,47,237,47,238,66,275,80,305,100,327,126,341,159,345,199,338,242,318,280,285,310,241,331,186,338,130,330,86,309,53,277,33,239,26,199,31,159,44,126,65,100,95,80,132,66,133,47,58,47,46,48,38,52,32,59,28,70,27,85,15,85,15,0,158,0,153,80,129,93,110,114,96,140,87,170,84,200,88,235,100,268,120,295,149,313,186,320,222,314,250,298,271,273,284,239,289,200,285,168,276,138,261,112,242,92,218,80,214,0,158,411,157,419,153,426,148,432,141,435,133,436,125,435,118,432,113,426,110,420,108,412,109,404,113,397,118,392,125,388,132,387,140,388,148,392,153,397, 263,321,263,321,246,321,246,321,263,321,263,331,246,321,263,331,232,318,232,318,263,331,159,299,232,318,159,299,161,281,161,135,161,281,161,153,161,135,161,153,156,153,161,135,220,22,214,35,161,135,214,35,212,55,212,153,212,135,251,139,212,153,251,139,218,153,218,153,251,139,248,159,212,55,212,281,161,135,161,135,212,281,214,299,161,135,214,299,161,281,161,281,214,299,221,311,161,281,221,311,232,318,263,331,110,331,128,321,263,331,128,321,142,317,263,331,142,317,152,310,263,331,152,310,159,299,310,328,295,309,314,170,314,170,295,309,287,284,314,170,287,284,286,150,286,150,287,284,285,254,286,150,285,254,283,226,310,328,314,170,332,341,332,341,314,170,333,199,332,341,333,199,339,295,339,295,333,199,339,283,339,274,339,283,333,199,339,274,333,199,340,238,352,330,362,335,362,345,352,330,362,345,345,320,345,320,362,345,332,341,345,320,332,341,341,308,341,308,332,341,339,295,248,159,251,139,267,175,267,175,251,139,286,150,267,175,286,150,278,198,278,198,286,150,283,226,340,238,340,247,340,256,340,238,340,256,339,265,340,238,339,265,339,274,263,0,263,9,244,11,263,0,244,11,229,14,263,0,229,14,160,40,263,0,160,40,156,25,263,0,156,25,147,16,263,0,147,16,132,12,263,0,132,12,110,9,263,0,110,9,110,0,161,62,160,40,229,14,161,62,229,14,220,22,161,62,220,22,161,135,125,159,106,175,122,139,125,159,122,139,161,135,125,159,161,135,156,153,90,226,89,254,87,150,90,226,87,150,95,198,95,198,87,150,122,139,95,198,122,139,106,175,87,150,89,254,86,284,87,150,86,284,78,309,87,150,78,309,64,328,87,150,64,328,59,170,42,341,11,345,21,330,42,341,21,330,28,320,42,341,28,320,32,308,42,341,32,308,34,295,42,341,34,295,35,283,42,341,35,283,39,199,42,341,39,199,59,170,42,341,59,170,64,328,39,199,35,283,34,274,39,199,34,274,34,265,39,199,34,265,33,256,39,199,33,256,33,247,39,199,33,247,32,238,21,330,11,345,11,335,128,321,110,331,110,321, 358,0,358,84,345,84,343,71,339,61,333,53,325,49,314,47,237,47,238,66,275,80,305,100,327,126,341,159,345,199,338,242,318,280,285,310,241,331,186,338,130,330,86,309,53,277,33,239,26,199,31,159,44,126,65,100,95,80,132,66,133,47,58,47,46,48,38,52,32,59,28,70,27,85,15,85,15,0,158,0,153,80,129,93,110,114,96,140,87,170,84,200,88,235,100,268,120,295,149,313,186,320,222,314,250,298,271,273,284,239,289,200,285,168,276,138,261,112,242,92,218,80,214,0,158,411,157,419,153,426,148,432,141,435,133,436,125,435,118,432,113,426,110,420,108,412,109,404,113,397,118,392,125,388,132,387,140,388,148,392,153,397,157,404,158,411,16383,16383,59,411,57,419,54,426,48,432,41,435,33,436,26,435,19,432,14,426,10,420,9,412,10,404,14,397,19,392,25,388,33,387,41,388,48,392,54,397,57,404,59,411,16383,16383,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316, 58,47,46,48,158,0,158,0,46,48,38,52,158,0,38,52,15,0,15,0,38,52,32,59,15,0,32,59,15,85,15,85,32,59,28,70,15,85,28,70,27,85,26,199,31,159,33,239,33,239,31,159,44,126,33,239,44,126,53,277,53,277,44,126,65,100,53,277,65,100,86,309,86,309,65,100,84,200,95,80,84,200,65,100,186,338,149,313,186,320,186,320,222,314,241,331,241,331,222,314,250,298,241,331,250,298,285,310,285,310,250,298,271,273,285,310,271,273,284,239,289,200,305,100,318,280,318,280,305,100,327,126,318,280,327,126,338,242,338,242,327,126,341,159,338,242,341,159,345,199,285,310,284,239,289,200,285,310,289,200,318,280,241,331,186,338,186,320,261,112,275,80,276,138,276,138,275,80,305,100,276,138,305,100,285,168,285,168,305,100,289,200,214,0,237,47,218,80,218,80,237,47,238,66,218,80,238,66,242,92,242,92,238,66,275,80,242,92,275,80,261,112,339,61,333,53,358,0,358,0,333,53,325,49,358,0,325,49,314,47,358,0,358,84,345,84,358,0,345,84,343,71,358,0,343,71,339,61,237,47,214,0,358,0,237,47,358,0,314,47,130,330,86,309,100,268,130,330,100,268,120,295,130,330,120,295,149,313,130,330,149,313,186,338,86,309,84,200,88,235,86,309,88,235,100,268,132,66,133,47,153,80,132,66,153,80,129,93,132,66,129,93,110,114,132,66,110,114,96,140,132,66,96,140,95,80,87,170,84,200,95,80,87,170,95,80,96,140,133,47,58,47,158,0,133,47,158,0,153,80, 158,411,157,419,153,426,148,432,141,435,133,436,125,435,118,432,113,426,110,420,108,412,109,404,113,397,118,392,125,388,132,387,140,388,148,392,153,397,157,404,158,411,16383,16383,59,411,57,419,54,426,48,432,41,435,33,436,26,435,19,432,14,426,10,420,9,412,10,404,14,397,19,392,25,388,33,387,41,388,48,392,54,397,57,404,59,411,16383,16383,157,0,157,9,137,11,122,16,114,24,109,37,108,56,108,276,109,295,113,308,122,316,136,320,157,321,157,331,9,331,9,321,30,320,44,316,53,308,57,295,57,56,56,36,52,23,44,15,30,11,9,9,9,0,257,411,256,419,252,426,247,432,240,435,233,436,225,435,218,432,213,426,209,420,208,412,209,404,213,397,218,392,225,388,232,387,240,388,247,392,252,397,256,404,257,411,16383,16383,158,411,157,419,153,426,148,432,141,435,133,436,125,435,118,432,113,426,110,420,108,412,109,404,113,397,118,392,125,388,132,387,140,388,148,392,153,397,157,404,158,411,16383,16383,352,329,345,332,338,334,332,335,320,335,289,330,259,315,232,290,211,258,198,218,196,218,186,260,169,293,146,318,117,332,81,337,67,336,53,332,39,327,26,319,15,311,18,303,25,305,33,308,41,310,49,311,55,312, 9,412,10,404,10,420,10,420,10,404,14,397,10,420,14,397,14,426,14,426,14,397,19,392,14,426,19,392,19,432,19,432,19,392,25,388,19,432,25,388,26,435,26,435,25,388,33,387,26,435,33,387,33,436,33,436,33,387,41,388,33,436,41,388,41,435,41,435,41,388,48,392,41,435,48,392,48,432,48,432,48,392,54,397,48,432,54,397,54,426,54,426,54,397,57,404,54,426,57,404,57,419,57,419,57,404,59,411,52,23,44,15,157,0,157,0,44,15,30,11,157,0,30,11,9,9,157,331,9,331,30,320,157,331,30,320,44,316,157,331,44,316,53,308,157,331,53,308,57,295,157,331,57,295,122,316,157,331,122,316,136,320,157,331,136,320,157,321,122,16,114,24,57,56,57,56,114,24,109,37,57,56,109,37,57,276,57,276,109,37,108,56,57,276,108,56,108,276,57,276,108,276,109,295,57,276,109,295,113,308,57,276,113,308,122,316,57,276,122,316,57,295,108,412,109,404,110,420,110,420,109,404,113,397,110,420,113,397,113,426,113,426,113,397,118,392,113,426,118,392,118,432,118,432,118,392,125,388,118,432,125,388,125,435,125,435,125,388,132,387,125,435,132,387,133,436,133,436,132,387,140,388,133,436,140,388,141,435,141,435,140,388,148,392,141,435,148,392,148,432,148,432,148,392,153,397,148,432,153,397,153,426,153,426,153,397,157,404,153,426,157,404,157,419,157,419,157,404,158,411,157,0,157,9,137,11,157,0,137,11,122,16,157,0,122,16,56,36,157,0,56,36,52,23,157,0,9,9,9,0,56,36,122,16,57,56,30,320,9,331,9,321, 257,411,256,419,252,426,247,432,240,435,233,436,225,435,218,432,213,426,209,420,208,412,209,404,213,397,218,392,225,388,232,387,240,388,247,392,252,397,256,404,257,411,16383,16383,158,411,157,419,153,426,148,432,141,435,133,436,125,435,118,432,113,426,110,420,108,412,109,404,113,397,118,392,125,388,132,387,140,388,148,392,153,397,157,404,158,411,16383,16383,352,329,345,332,338,334,332,335,320,335,289,330,259,315,232,290,211,258,198,218,196,218,186,260,169,293,146,318,117,332,81,337,67,336,53,332,39,327,26,319,15,311,18,303,25,305,33,308,41,310,49,311,55,312,84,306,109,289,130,257,146,211,157,147,157,61,156,39,153,25,144,16,130,12,107,9,107,0,260,0,260,9,239,11,224,15,215,23,210,36,209,55,209,152,215,204,233,251,261,288,296,313,335,322,342,322,348,320,352,320,108,253,126,253,158,294,163,299,167,304,169,309,171,313,172,316,171,322,168,326,165,329,157,331,151,330,147,329,143,327,140,324,138,320,16383,16383,257,65,255,50,252,39,248,32,245,27,241,26,232,31,223,43,216,60,210,78,206,94,261,225,212,225,190,157,182,178,171,198,156,215,137,226,113,230,79,224,52,207,31,181,19,148,15,112,19,73,32,41,52,16,78,1,108,-4,129,-1,147,5,162,17,174,32,185,50,190,32,196,17,204,5,213,-1,225,-4,239,0,250,8,258,24,263,43,265,65,16383,16383,166,104,162,84,155,59,145,35,131,16,113,9,90,19,75,43,66,76,61,109,60,137,63,167,70,189,81,204,95,213,110,216,129,208,144,187,154,159,161,130,166,104,76,253,94,253,127,294,135,304,138,309,139,313,140,316,139,322,137,326,133,329,125,331,119,330,115,329,111,327,108,324, 18,303,25,305,26,319,26,319,25,305,33,308,26,319,33,308,39,327,39,327,33,308,41,310,39,327,41,310,53,332,53,332,41,310,49,311,53,332,49,311,55,312,55,312,84,306,67,336,67,336,84,306,81,337,67,336,53,332,55,312,198,218,196,218,210,36,198,218,210,36,209,55,198,218,209,55,209,152,198,218,209,152,211,258,260,0,260,9,239,11,260,0,239,11,224,15,260,0,224,15,156,39,260,0,156,39,153,25,260,0,153,25,144,16,260,0,144,16,130,12,260,0,130,12,107,9,260,0,107,9,107,0,169,293,157,147,210,36,169,293,210,36,186,260,186,260,210,36,196,218,156,39,224,15,157,61,157,61,224,15,215,23,157,61,215,23,157,147,157,147,215,23,210,36,332,335,326,335,335,322,335,322,326,335,320,335,335,322,320,335,296,313,296,313,320,335,289,330,296,313,289,330,261,288,261,288,289,330,259,315,261,288,259,315,233,251,233,251,259,315,232,290,233,251,232,290,215,204,215,204,232,290,211,258,215,204,211,258,209,152,338,334,335,322,339,322,338,334,339,322,345,332,345,332,339,322,342,322,345,332,342,322,345,321,348,320,352,320,352,329,348,320,352,329,345,321,345,321,352,329,345,332,208,412,209,404,209,420,209,420,209,404,213,397,209,420,213,397,213,426,213,426,213,397,218,392,213,426,218,392,218,432,218,432,218,392,225,388,218,432,225,388,225,435,225,435,225,388,232,387,225,435,232,387,233,436,233,436,232,387,240,388,233,436,240,388,240,435,240,435,240,388,247,392,240,435,247,392,247,432,247,432,247,392,252,397,247,432,252,397,252,426,252,426,252,397,256,404,252,426,256,404,256,419,256,419,256,404,257,411,108,412,109,404,110,420,110,420,109,404,113,397,110,420,113,397,113,426,113,426,113,397,118,392,113,426,118,392,118,432,118,432,118,392,125,388,118,432,125,388,125,435,125,435,125,388,132,387,125,435,132,387,133,436,133,436,132,387,140,388,133,436,140,388,141,435,141,435,140,388,148,392,141,435,148,392,148,432,148,432,148,392,153,397,148,432,153,397,153,426,153,426,153,397,157,404,153,426,157,404,157,419,157,419,157,404,158,411,84,306,109,289,117,332,117,332,109,289,130,257,117,332,130,257,146,318,146,318,130,257,146,211,146,318,146,211,169,293,169,293,146,211,157,147,81,337,84,306,117,332,335,322,338,334,332,335,18,303,26,319,15,311, 108,253,126,253,158,294,163,299,167,304,169,309,171,313,172,316,171,322,168,326,165,329,157,331,151,330,147,329,143,327,140,324,138,320,16383,16383,257,65,255,50,252,39,248,32,245,27,241,26,232,31,223,43,216,60,210,78,206,94,261,225,212,225,190,157,182,178,171,198,156,215,137,226,113,230,79,224,52,207,31,181,19,148,15,112,19,73,32,41,52,16,78,1,108,-4,129,-1,147,5,162,17,174,32,185,50,190,32,196,17,204,5,213,-1,225,-4,239,0,250,8,258,24,263,43,265,65,16383,16383,166,104,162,84,155,59,145,35,131,16,113,9,90,19,75,43,66,76,61,109,60,137,63,167,70,189,81,204,95,213,110,216,129,208,144,187,154,159,161,130,166,104,76,253,94,253,127,294,135,304,138,309,139,313,140,316,139,322,137,326,133,329,125,331,119,330,115,329,111,327,108,324,106,320,16383,16383,196,73,182,54,166,39,149,29,131,22,110,20,95,22,80,27,69,36,60,49,57,65,61,81,70,94,83,102,97,107,111,108,117,108,125,106,128,106,133,105,142,106,148,108,153,111,156,115,157,118,156,122,154,124,150,127,145,128,138,129,131,128,121,126,115,125,108,124,92,127,80,133,72,142,67,154,65,167,67,182,74,195,83,206,96,213,112,215,127,215,140,212,148,208,154,203,156,195,155,193,155,190,154,187,154,183,153,179,155,171,158,166,163,161,168,158,175,157,182,158,188,161,194,165,198,171,199,179,194,199,181,214,163,223, 63,167,70,189,79,224,79,224,70,189,81,204,79,224,81,204,113,230,113,230,81,204,95,213,113,230,95,213,110,216,110,216,129,208,113,230,113,230,129,208,137,226,157,331,158,294,161,330,161,330,158,294,163,299,161,330,163,299,165,329,165,329,163,299,167,304,165,329,167,304,168,326,168,326,167,304,169,309,168,326,169,309,171,322,171,322,169,309,171,313,171,322,171,313,172,316,158,294,157,331,151,330,158,294,151,330,147,329,158,294,147,329,143,327,158,294,143,327,140,324,158,294,140,324,138,320,158,294,138,320,126,253,144,187,154,159,156,215,156,215,154,159,161,130,156,215,161,130,171,198,171,198,161,130,166,104,171,198,166,104,174,32,171,198,174,32,182,178,182,178,174,32,185,50,182,178,185,50,190,157,190,157,185,50,190,32,190,157,190,32,212,225,212,225,190,32,196,17,212,225,196,17,206,94,206,94,196,17,204,5,206,94,204,5,213,-1,137,226,129,208,144,187,137,226,144,187,156,215,174,32,166,104,162,84,174,32,162,84,162,17,162,17,162,84,155,59,162,17,155,59,147,5,147,5,155,59,145,35,147,5,145,35,131,16,78,1,108,-4,90,19,90,19,108,-4,113,9,131,16,113,9,129,-1,131,16,129,-1,147,5,210,78,206,94,213,-1,212,225,206,94,261,225,252,39,248,32,250,8,250,8,248,32,245,27,250,8,245,27,241,26,241,26,232,31,239,0,239,0,232,31,225,-4,210,78,213,-1,216,60,216,60,213,-1,225,-4,216,60,225,-4,223,43,223,43,225,-4,232,31,258,24,263,43,265,65,258,24,265,65,257,65,258,24,257,65,255,50,258,24,255,50,252,39,258,24,252,39,250,8,241,26,239,0,250,8,113,9,108,-4,129,-1,90,19,75,43,78,1,78,1,75,43,66,76,78,1,66,76,52,16,52,16,66,76,61,109,52,16,61,109,60,137,60,137,63,167,52,207,52,207,63,167,79,224,52,16,60,137,52,207,52,16,52,207,32,41,32,41,52,207,31,181,32,41,31,181,19,73,19,73,31,181,19,148,19,73,19,148,15,112,126,253,138,320,108,253, 76,253,94,253,127,294,135,304,138,309,139,313,140,316,139,322,137,326,133,329,125,331,119,330,115,329,111,327,108,324,106,320,16383,16383,196,73,182,54,166,39,149,29,131,22,110,20,95,22,80,27,69,36,60,49,57,65,61,81,70,94,83,102,97,107,111,108,117,108,125,106,128,106,133,105,142,106,148,108,153,111,156,115,157,118,156,122,154,124,150,127,145,128,138,129,131,128,121,126,115,125,108,124,92,127,80,133,72,142,67,154,65,167,67,182,74,195,83,206,96,213,112,215,127,215,140,212,148,208,154,203,156,195,155,193,155,190,154,187,154,183,153,179,155,171,158,166,163,161,168,158,175,157,182,158,188,161,194,165,198,171,199,179,194,199,181,214,163,223,142,228,121,230,87,226,60,217,40,202,28,184,24,165,26,152,31,141,39,131,49,123,63,118,47,113,33,103,22,91,15,77,12,61,14,46,21,29,37,13,65,0,108,-4,130,-1,151,6,171,20,189,40,204,68,84,253,101,253,134,294,142,304,145,309,147,313,147,316,146,322,144,326,140,329,132,331,122,329,119,327,116,324,113,320,16383,16383,226,-107,223,-101,221,-94,219,-86,218,-76,218,160,216,182,208,202,196,217,180,226,159,230,145,229,131,224,117,216,102,205,87,190,86,190,84,205,81,215,76,223,68,226,56,228,44,225,33,216,22,203,13,188,5,172,12,170,15,176,25,188,30,193,36,194,39,193,41,190,44,184,45,173,46,156,46,0,88,0,88,174,100,185,111,194,120,199,130,202,140,203,153,201,163,195,170,185,174,172,176,154,176,-79,177,-89,179,-97,181,-103,184,-107,40,253,57,253,90,294,98,304,101,309,103,313,103,316,102,322,100,326,96,329,93,330,89,331,83,330,78,329,75,327,72,324,70,320,16383,16383,126,54,120,43,115,36,110,31,105,29,99,28,95,29,91,33,90,36,89,40,89,228,88,230,72,224,57,219,41,214,26,208,10,204,10,195,15,196,37,196,42,193,45,188, 37,13,65,0,47,113,47,113,65,0,57,65,63,118,57,65,61,81,63,118,61,81,70,94,72,142,67,154,70,94,70,94,67,154,65,167,63,118,65,167,60,217,63,118,60,217,49,123,49,123,60,217,40,202,49,123,40,202,39,131,39,131,40,202,31,141,142,228,121,230,127,215,127,215,121,230,112,215,96,213,112,215,121,230,96,213,121,230,87,226,125,331,127,294,129,330,129,330,127,294,131,299,129,330,131,299,133,329,133,329,131,299,135,304,133,329,135,304,137,326,137,326,135,304,138,309,137,326,138,309,139,322,139,322,138,309,139,313,139,322,139,313,140,316,127,294,125,331,119,330,127,294,119,330,115,329,127,294,115,329,111,327,127,294,111,327,108,324,127,294,108,324,106,320,127,294,106,320,94,253,194,199,181,214,182,158,194,199,182,158,188,161,194,199,188,161,194,165,194,199,194,165,198,171,194,199,198,171,199,179,158,166,163,161,163,223,163,223,163,161,168,158,163,223,168,158,181,214,181,214,168,158,175,157,181,214,175,157,182,158,127,215,140,212,142,228,142,228,140,212,148,208,142,228,148,208,163,223,163,223,148,208,154,203,163,223,154,203,156,195,156,195,158,166,163,223,156,195,155,193,158,166,158,166,155,193,155,190,158,166,155,190,155,171,155,171,155,190,154,187,155,171,154,187,154,183,87,226,60,217,67,182,87,226,67,182,74,195,87,226,74,195,83,206,87,226,83,206,96,213,67,182,60,217,65,167,28,184,24,165,26,152,28,184,26,152,31,141,28,184,31,141,40,202,83,102,97,107,92,127,92,127,97,107,108,124,115,125,108,124,111,108,83,102,92,127,80,133,83,102,80,133,72,142,83,102,72,142,70,94,63,118,70,94,65,167,111,108,108,124,97,107,117,108,121,107,121,126,121,126,121,107,125,106,121,126,125,106,126,127,126,127,125,106,128,106,126,127,128,106,131,128,131,128,128,106,133,105,131,128,133,105,138,129,138,129,133,105,142,106,138,129,142,106,145,128,145,128,142,106,148,108,145,128,148,108,150,127,150,127,148,108,153,111,150,127,153,111,154,124,154,124,153,111,156,115,154,124,156,115,156,122,156,122,156,115,157,118,115,125,111,108,117,108,115,125,117,108,121,126,80,27,108,-4,95,22,95,22,108,-4,110,20,131,22,110,20,130,-1,131,22,130,-1,151,6,69,36,60,49,65,0,69,36,65,0,108,-4,69,36,108,-4,80,27,57,65,65,0,60,49,12,61,14,46,15,77,15,77,14,46,21,29,15,77,21,29,22,91,22,91,21,29,37,13,22,91,37,13,33,103,33,103,37,13,47,113,204,68,196,73,189,40,189,40,196,73,182,54,189,40,182,54,171,20,171,20,182,54,166,39,171,20,166,39,151,6,151,6,166,39,149,29,151,6,149,29,131,22,110,20,108,-4,130,-1,47,113,57,65,63,118,155,171,154,183,153,179,94,253,106,320,76,253, 84,253,101,253,134,294,142,304,145,309,147,313,147,316,146,322,144,326,140,329,132,331,122,329,119,327,116,324,113,320,16383,16383,226,-107,223,-101,221,-94,219,-86,218,-76,218,160,216,182,208,202,196,217,180,226,159,230,145,229,131,224,117,216,102,205,87,190,86,190,84,205,81,215,76,223,68,226,56,228,44,225,33,216,22,203,13,188,5,172,12,170,15,176,25,188,30,193,36,194,39,193,41,190,44,184,45,173,46,156,46,0,88,0,88,174,100,185,111,194,120,199,130,202,140,203,153,201,163,195,170,185,174,172,176,154,176,-79,177,-89,179,-97,181,-103,184,-107,40,253,57,253,90,294,98,304,101,309,103,313,103,316,102,322,100,326,96,329,93,330,89,331,83,330,78,329,75,327,72,324,70,320,16383,16383,126,54,120,43,115,36,110,31,105,29,99,28,95,29,91,33,90,36,89,40,89,228,88,230,72,224,57,219,41,214,26,208,10,204,10,195,15,196,37,196,42,193,45,188,47,181,47,39,48,26,51,14,57,4,65,-2,77,-4,92,-1,105,7,116,20,126,35,133,50,202,278,201,286,197,293,192,298,185,302,177,303,169,302,163,298,157,293,154,286,152,278,154,271,157,264,163,258,169,255,177,253,185,255,192,258,197,264, 15,176,20,182,22,203,22,203,20,182,25,188,22,203,25,188,33,216,33,216,25,188,30,193,33,216,30,193,36,194,36,194,39,193,44,225,44,225,39,193,41,190,44,225,41,190,44,184,13,188,5,172,12,170,13,188,12,170,15,176,13,188,15,176,22,203,87,190,86,190,88,0,87,190,88,0,88,174,87,190,88,174,102,205,88,174,100,185,102,205,102,205,100,185,111,194,102,205,111,194,117,216,117,216,111,194,120,199,117,216,120,199,131,224,131,224,120,199,130,202,131,224,130,202,140,203,140,203,153,201,145,229,145,229,153,201,159,230,88,0,86,190,84,205,88,0,84,205,81,215,88,0,81,215,76,223,88,0,76,223,68,226,88,0,68,226,56,228,88,0,56,228,46,156,88,0,46,156,46,0,145,229,131,224,140,203,218,-65,218,160,216,182,218,-65,216,182,208,202,218,-65,208,202,218,-76,196,217,180,226,181,-103,196,217,181,-103,184,-107,196,217,184,-107,218,-76,196,217,218,-76,208,202,184,-107,226,-107,223,-101,184,-107,223,-101,221,-94,184,-107,221,-94,219,-86,184,-107,219,-86,218,-76,180,226,159,230,163,195,180,226,163,195,170,185,180,226,170,185,174,172,180,226,174,172,176,154,180,226,176,154,176,-79,180,226,176,-79,177,-89,180,226,177,-89,179,-97,180,226,179,-97,181,-103,176,154,176,-64,176,-79,132,331,134,294,136,330,136,330,134,294,138,299,136,330,138,299,140,329,140,329,138,299,142,304,140,329,142,304,144,326,144,326,142,304,145,309,144,326,145,309,146,322,146,322,145,309,147,313,146,322,147,313,147,316,134,294,132,331,127,330,134,294,127,330,122,329,134,294,122,329,119,327,134,294,119,327,116,324,134,294,116,324,113,320,134,294,113,320,101,253,45,173,46,156,56,228,45,173,56,228,44,225,45,173,44,225,44,184,44,225,33,216,36,194,101,253,113,320,84,253,159,230,153,201,163,195, 40,253,57,253,90,294,98,304,101,309,103,313,103,316,102,322,100,326,96,329,93,330,89,331,83,330,78,329,75,327,72,324,70,320,16383,16383,126,54,120,43,115,36,110,31,105,29,99,28,95,29,91,33,90,36,89,40,89,228,88,230,72,224,57,219,41,214,26,208,10,204,10,195,15,196,37,196,42,193,45,188,47,181,47,39,48,26,51,14,57,4,65,-2,77,-4,92,-1,105,7,116,20,126,35,133,50,202,278,201,286,197,293,192,298,185,302,177,303,169,302,163,298,157,293,154,286,152,278,154,271,157,264,163,258,169,255,177,253,185,255,192,258,197,264,201,271,202,278,16383,16383,100,253,118,253,151,294,159,304,162,309,163,313,164,316,163,322,161,326,157,329,149,331,143,330,139,329,135,327,132,324,130,320,16383,16383,103,278,101,286,98,293,92,298,85,302,78,303,70,302,63,298,58,293,54,286,53,278,54,271,58,264, 89,331,90,294,93,330,93,330,90,294,94,299,93,330,94,299,96,329,96,329,94,299,98,304,96,329,98,304,100,326,100,326,98,304,101,309,100,326,101,309,102,322,102,322,101,309,103,313,102,322,103,313,103,316,90,294,89,331,83,330,90,294,83,330,78,329,90,294,78,329,75,327,90,294,75,327,72,324,90,294,72,324,70,320,90,294,70,320,57,253,45,188,57,219,42,193,42,193,57,219,41,214,42,193,41,214,37,196,37,196,41,214,31,196,28,196,31,196,41,214,28,196,41,214,26,208,57,4,65,-2,72,224,72,224,65,-2,77,-4,72,224,77,-4,88,230,88,230,77,-4,89,40,88,230,89,40,89,228,91,33,92,-1,93,31,93,31,92,-1,105,7,93,31,105,7,95,29,95,29,105,7,99,28,105,29,99,28,105,7,105,29,105,7,116,20,133,50,126,54,126,35,126,35,126,54,120,43,126,35,120,43,116,20,116,20,120,43,115,36,116,20,115,36,110,31,92,-1,91,33,90,36,92,-1,90,36,89,40,92,-1,89,40,77,-4,57,219,45,188,47,181,57,219,47,181,47,172,57,219,47,172,48,26,57,219,48,26,51,14,57,219,51,14,57,4,57,219,57,4,72,224,47,172,47,39,48,26,26,208,10,204,15,196,26,208,15,196,20,196,26,208,20,196,24,196,26,208,24,196,28,196,15,196,10,204,10,195,105,29,116,20,110,31,57,253,70,320,40,253, 202,278,201,286,197,293,192,298,185,302,177,303,169,302,163,298,157,293,154,286,152,278,154,271,157,264,163,258,169,255,177,253,185,255,192,258,197,264,201,271,202,278,16383,16383,100,253,118,253,151,294,159,304,162,309,163,313,164,316,163,322,161,326,157,329,149,331,143,330,139,329,135,327,132,324,130,320,16383,16383,103,278,101,286,98,293,92,298,85,302,78,303,70,302,63,298,58,293,54,286,53,278,54,271,58,264,63,258,70,255,78,253,85,255,92,258,98,264,101,271,103,278,16383,16383,127,230,127,220,139,218,149,214,159,209,168,201,177,191,186,176,193,159,198,141,201,122,202,104,200,75,193,49,182,28,165,14,142,9,121,14,106,28,97,47,92,68,91,87,91,193,90,205,86,215,80,222,71,226,60,228,47,225,36,216,26,203,16,188,8,172,15,170,18,176,28,188,33,193,39,194,43,192,46,187,48,180,49,170,49,99,51,66,60,38,76,15,102,0,139,-4,174,1,204,18,227,43,242,75,247,113,241,155,226,188,202,211,173,225,141,230,257,65,255,50,252,39,248,32,245,27,241,26,232,31,223,43,216,60,210,78,206,94,261,225,212,225,190,157,182,178,171,198,156,215,137,226,113,230,79,224,52,207,31,181,19,148,15,112,19,73,32,41,52,16,78,1,108,-4,129,-1,147,5,162,17,174,32,185,50,190,32,196,17,204,5,213,-1,225,-4,239,0,250,8,258,24,263,43,265,65,16383,16383,166,104,162,84,155,59,145,35,131,16,113,9,90,19,75,43,66,76,61,109,60,137,63,167,70,189,81,204,95,213,110,216,129,208,144,187,154,159,161,130,166,104,172,200,181,204,190,209,196,215,202,222,206,229,209,236,211,244,213,251,213,257,214,264,209,289,197,311,179,327,157,338,133,342,102,337,76,322,54,293,41,249,36,186,36,-67,34,-85,30,-101,27,-107,70,-107,72,-102,74,-95,76,-87,78,-67,78,16,88,7,98,1,108,-2,119,-3,131,-4,164,2,192,19,214,46,228,78,233,114,231,137,223,158,211,176,194,190,173,199,16383,16383,78,243,78,250,79,276,85,297,95,314,108,324, 18,176,23,182,26,203,26,203,23,182,28,188,26,203,28,188,36,216,36,216,28,188,33,193,36,216,33,193,39,194,39,194,43,192,47,225,47,225,43,192,46,187,47,225,46,187,48,180,16,188,8,172,15,170,16,188,15,170,18,176,16,188,18,176,26,203,49,99,51,66,49,159,49,170,49,159,60,228,49,170,60,228,48,180,48,180,60,228,47,225,54,286,54,271,58,293,58,293,54,271,58,264,58,293,58,264,63,298,63,298,58,264,63,258,63,298,63,258,70,302,70,302,63,258,70,255,70,302,70,255,78,303,78,303,70,255,78,253,78,303,78,253,85,302,85,302,78,253,85,255,85,302,85,255,92,298,92,298,85,255,92,258,92,298,92,258,98,293,98,293,92,258,98,264,98,293,98,264,101,286,101,286,98,264,101,271,101,286,101,271,103,278,91,87,91,193,90,205,91,87,90,205,86,215,91,87,86,215,80,222,91,87,80,222,92,68,141,230,127,230,139,218,141,230,139,218,149,214,141,230,149,214,173,225,200,75,193,49,204,18,204,18,193,49,182,28,204,18,182,28,174,1,174,1,182,28,165,14,174,1,165,14,142,9,142,9,121,14,139,-4,139,-4,121,14,106,28,139,-4,106,28,102,0,102,0,106,28,97,47,102,0,97,47,92,68,76,15,102,0,92,68,76,15,92,68,80,222,76,15,80,222,71,226,76,15,71,226,60,228,76,15,60,228,60,38,60,228,49,159,51,66,60,228,51,66,60,38,47,225,36,216,39,194,149,214,159,209,173,225,173,225,159,209,168,201,173,225,168,201,177,191,177,191,186,176,202,211,202,211,186,176,193,159,202,211,193,159,198,141,202,211,202,104,204,18,202,211,204,18,226,188,226,188,204,18,227,43,226,188,227,43,241,155,241,155,227,43,242,75,241,155,242,75,247,113,202,211,198,141,201,122,202,211,201,122,202,104,202,211,173,225,177,191,142,9,139,-4,174,1,154,286,154,271,157,293,157,293,154,271,157,264,157,293,157,264,163,298,163,298,157,264,163,258,163,298,163,258,169,302,169,302,163,258,169,255,169,302,169,255,177,303,177,303,169,255,177,253,177,303,177,253,185,302,185,302,177,253,185,255,185,302,185,255,192,298,192,298,185,255,192,258,192,298,192,258,197,293,197,293,192,258,197,264,197,293,197,264,201,286,201,286,197,264,201,271,201,286,201,271,202,278,149,331,151,294,153,330,153,330,151,294,155,299,153,330,155,299,157,329,157,329,155,299,159,304,157,329,159,304,161,326,161,326,159,304,162,309,161,326,162,309,163,322,163,322,162,309,163,313,163,322,163,313,164,316,151,294,149,331,143,330,151,294,143,330,139,329,151,294,139,329,135,327,151,294,135,327,132,324,151,294,132,324,130,320,151,294,130,320,118,253,118,253,130,320,100,253,154,271,154,286,152,278,200,75,204,18,202,104,139,218,127,230,127,220,54,271,54,286,53,278, 257,65,255,50,252,39,248,32,245,27,241,26,232,31,223,43,216,60,210,78,206,94,261,225,212,225,190,157,182,178,171,198,156,215,137,226,113,230,79,224,52,207,31,181,19,148,15,112,19,73,32,41,52,16,78,1,108,-4,129,-1,147,5,162,17,174,32,185,50,190,32,196,17,204,5,213,-1,225,-4,239,0,250,8,258,24,263,43,265,65,16383,16383,166,104,162,84,155,59,145,35,131,16,113,9,90,19,75,43,66,76,61,109,60,137,63,167,70,189,81,204,95,213,110,216,129,208,144,187,154,159,161,130,166,104,172,200,181,204,190,209,196,215,202,222,206,229,209,236,211,244,213,251,213,257,214,264,209,289,197,311,179,327,157,338,133,342,102,337,76,322,54,293,41,249,36,186,36,-67,34,-85,30,-101,27,-107,70,-107,72,-102,74,-95,76,-87,78,-67,78,16,88,7,98,1,108,-2,119,-3,131,-4,164,2,192,19,214,46,228,78,233,114,231,137,223,158,211,176,194,190,173,199,16383,16383,78,243,78,250,79,276,85,297,95,314,108,324,124,328,144,322,158,309,167,290,172,268,173,247,172,235,170,225,166,215,160,209,152,206,147,207,141,208, 63,167,70,189,79,224,79,224,70,189,81,204,79,224,81,204,113,230,113,230,81,204,95,213,113,230,95,213,110,216,110,216,129,208,113,230,113,230,129,208,137,226,144,187,154,159,156,215,156,215,154,159,161,130,156,215,161,130,171,198,171,198,161,130,166,104,171,198,166,104,174,32,171,198,174,32,182,178,182,178,174,32,185,50,182,178,185,50,190,157,190,157,185,50,190,32,190,157,190,32,212,225,212,225,190,32,196,17,212,225,196,17,206,94,206,94,196,17,204,5,206,94,204,5,213,-1,137,226,129,208,144,187,137,226,144,187,156,215,174,32,166,104,162,84,174,32,162,84,162,17,162,17,162,84,155,59,162,17,155,59,147,5,147,5,155,59,145,35,147,5,145,35,131,16,78,1,108,-4,90,19,90,19,108,-4,113,9,131,16,113,9,129,-1,131,16,129,-1,147,5,210,78,206,94,213,-1,212,225,206,94,261,225,252,39,248,32,250,8,250,8,248,32,245,27,250,8,245,27,241,26,241,26,232,31,239,0,239,0,232,31,225,-4,210,78,213,-1,216,60,216,60,213,-1,225,-4,216,60,225,-4,223,43,223,43,225,-4,232,31,258,24,263,43,265,65,258,24,265,65,257,65,258,24,257,65,255,50,258,24,255,50,252,39,258,24,252,39,250,8,241,26,239,0,250,8,113,9,108,-4,129,-1,90,19,75,43,78,1,78,1,75,43,66,76,78,1,66,76,52,16,52,16,66,76,61,109,52,16,61,109,60,137,60,137,63,167,52,207,52,207,63,167,79,224,52,16,60,137,52,207,52,16,52,207,32,41,32,41,52,207,31,181,32,41,31,181,19,73,19,73,31,181,19,148,19,73,19,148,15,112, 172,200,181,204,190,209,196,215,202,222,206,229,209,236,211,244,213,251,213,257,214,264,209,289,197,311,179,327,157,338,133,342,102,337,76,322,54,293,41,249,36,186,36,-67,34,-85,30,-101,27,-107,70,-107,72,-102,74,-95,76,-87,78,-67,78,16,88,7,98,1,108,-2,119,-3,131,-4,164,2,192,19,214,46,228,78,233,114,231,137,223,158,211,176,194,190,173,199,16383,16383,78,243,78,250,79,276,85,297,95,314,108,324,124,328,144,322,158,309,167,290,172,268,173,247,172,235,170,225,166,215,160,209,152,206,147,207,141,208,136,209,130,210,118,210,112,208,108,206,106,203,105,200,106,195,109,192,113,189,118,188,125,187,130,187,142,190,148,190,158,187,169,178,179,162,187,136,190,101,187,72,179,47,167,28,150,16,129,11,114,13,100,19,88,26,80,35,78,45,222,225,172,225,120,49,115,84,108,130,97,177,78,214,49,228,32,224,20,212,12,195,7,173,5,150,12,150,16,166,21,178,28,187,35,192,41,194,66,179,84,143,96,96,103,50,107,18,103,9,100,0,96,-7,90,-25,84,-47,82,-57,81,-66,81,-74,82,-85,85,-94,90,-101,96,-106,105,-108,118,-105,127,-98,133,-87,135,-73,136,-58,136,-45,135,-32,133,-19,131,-8,129,0,110,213,77,203,50,187,31,164,19,137,15,108,20,74,34,44,56,18,86,1,123,-4,161,1,192,17,215,43,230,76,235,116,232,141,225,164,213,184,197,202,176,217,145,233,114,248,87,261,68,274,61,290,64,302,72,310,83,316,95,319,106,320,137,316,154,307,165,296,176,286,191,282,198,284,203,288,206,293,208,299,209,304,203,318,188,328,168,336,145,340,124,342,102,340,81,334,61,324, 108,324,124,328,124,328,133,342,124,328,144,322,133,342,144,322,157,338,157,338,144,322,158,309,157,338,158,309,179,327,179,327,158,309,167,290,179,327,167,290,172,268,172,200,181,204,172,235,172,200,172,235,170,225,172,200,170,225,169,178,172,200,169,178,179,162,172,200,179,162,173,199,233,114,231,137,228,78,228,78,231,137,223,158,228,78,223,158,214,46,214,46,223,158,211,176,214,46,211,176,194,190,192,19,214,46,194,190,192,19,194,190,190,101,192,19,190,101,187,72,192,19,187,72,179,47,192,19,179,47,167,28,192,19,167,28,164,2,194,190,173,199,179,162,194,190,179,162,187,136,194,190,187,136,190,101,170,225,166,215,169,178,169,178,166,215,160,209,169,178,160,209,158,187,158,187,160,209,152,206,129,11,131,-4,150,16,150,16,131,-4,164,2,150,16,164,2,167,28,85,297,95,314,102,337,102,337,95,314,108,324,102,337,108,324,133,342,133,342,108,324,124,328,78,250,79,276,76,322,78,250,76,322,76,-87,78,250,76,-87,77,-77,78,250,77,-77,78,-67,76,322,79,276,85,297,76,322,85,297,102,337,76,322,54,293,70,-107,76,322,70,-107,72,-102,76,322,72,-102,74,-95,76,322,74,-95,76,-87,70,-107,54,293,41,249,70,-107,41,249,36,186,70,-107,36,186,36,-67,70,-107,36,-67,35,-76,70,-107,35,-76,34,-85,70,-107,34,-85,32,-93,70,-107,32,-93,30,-101,70,-107,30,-101,27,-107,114,13,100,19,108,-2,114,13,108,-2,119,-3,114,13,119,-3,129,11,108,-2,100,19,98,1,98,1,100,19,88,26,98,1,88,26,88,7,88,7,88,26,80,35,88,7,80,35,78,45,78,45,78,16,88,7,148,190,152,206,147,207,148,190,147,207,142,190,118,188,125,187,127,210,127,210,125,187,130,187,127,210,130,187,130,210,130,210,130,187,134,188,130,210,134,188,136,209,136,209,134,188,138,189,136,209,138,189,141,208,141,208,138,189,142,190,141,208,142,190,147,207,106,203,106,195,108,206,108,206,106,195,109,192,108,206,109,192,112,208,112,208,109,192,113,189,112,208,113,189,118,210,118,210,113,189,118,188,118,210,118,188,127,210,173,247,181,204,179,327,173,247,179,327,172,268,206,229,209,236,209,289,209,289,209,236,211,244,209,289,211,244,214,264,214,264,211,244,213,251,214,264,213,251,213,257,190,209,196,215,197,311,197,311,196,215,202,222,197,311,202,222,209,289,209,289,202,222,206,229,197,311,179,327,181,204,197,311,181,204,190,209,172,235,181,204,173,247,148,190,158,187,152,206,131,-4,129,11,119,-3,106,195,106,203,105,200, 222,225,172,225,120,49,115,84,108,130,97,177,78,214,49,228,32,224,20,212,12,195,7,173,5,150,12,150,16,166,21,178,28,187,35,192,41,194,66,179,84,143,96,96,103,50,107,18,103,9,100,0,96,-7,90,-25,84,-47,82,-57,81,-66,81,-74,82,-85,85,-94,90,-101,96,-106,105,-108,118,-105,127,-98,133,-87,135,-73,136,-58,136,-45,135,-32,133,-19,131,-8,129,0,110,213,77,203,50,187,31,164,19,137,15,108,20,74,34,44,56,18,86,1,123,-4,161,1,192,17,215,43,230,76,235,116,232,141,225,164,213,184,197,202,176,217,145,233,114,248,87,261,68,274,61,290,64,302,72,310,83,316,95,319,106,320,137,316,154,307,165,296,176,286,191,282,198,284,203,288,206,293,208,299,209,304,203,318,188,328,168,336,145,340,124,342,102,340, 35,192,41,194,41,194,49,228,41,194,66,179,49,228,66,179,78,214,78,214,66,179,84,143,78,214,84,143,97,177,97,177,84,143,96,96,97,177,96,96,103,50,120,49,115,84,118,-105,118,-105,115,84,108,130,118,-105,108,130,107,18,107,18,108,130,103,50,103,50,108,130,97,177,118,-105,127,-98,120,49,120,49,127,-98,129,0,120,49,129,0,172,225,172,225,129,0,222,225,107,18,103,9,105,-108,107,18,105,-108,118,-105,100,0,96,-7,96,-106,100,0,96,-106,105,-108,100,0,105,-108,103,9,96,-7,93,-16,96,-106,96,-106,93,-16,90,-25,96,-106,90,-25,90,-101,90,-101,90,-25,87,-36,90,-101,87,-36,85,-94,85,-94,87,-36,84,-47,85,-94,84,-47,82,-57,82,-85,85,-94,82,-57,82,-85,82,-57,81,-66,82,-85,81,-66,81,-74,135,-73,136,-58,136,-45,135,-73,136,-45,135,-32,135,-73,135,-32,133,-19,135,-73,133,-19,133,-87,133,-87,133,-19,131,-8,133,-87,131,-8,129,0,133,-87,129,0,127,-98,21,178,28,187,32,224,32,224,28,187,35,192,32,224,35,192,49,228,49,228,35,192,41,194,20,212,12,195,12,150,20,212,12,150,16,166,20,212,16,166,21,178,20,212,21,178,32,224,7,173,5,150,12,150,7,173,12,150,12,195, 110,213,77,203,50,187,31,164,19,137,15,108,20,74,34,44,56,18,86,1,123,-4,161,1,192,17,215,43,230,76,235,116,232,141,225,164,213,184,197,202,176,217,145,233,114,248,87,261,68,274,61,290,64,302,72,310,83,316,95,319,106,320,137,316,154,307,165,296,176,286,191,282,198,284,203,288,206,293,208,299,209,304,203,318,188,328,168,336,145,340,124,342,102,340,81,334,61,324,47,309,42,289,45,269,54,251,68,237,87,224,110,213,16383,16383,190,104,187,71,180,45,168,25,151,13,130,9,121,10,111,13,101,19,93,26,85,35,76,52,69,70,64,88,61,106,60,121,62,144,70,165,84,183,103,195,127,200,149,190,167,172,179,149,187,126,190,104,196,73,182,54,166,39,149,29,131,22,110,20,95,22,80,27,69,36,60,49,57,65,61,81,70,94,83,102,97,107,111,108,117,108,125,106,128,106,133,105,142,106,148,108,153,111,156,115,157,118,156,122,154,124,150,127,145,128,138,129,131,128,121,126,115,125,108,124,92,127,80,133,72,142,67,154,65,167,67,182,74,195,83,206,96,213,112,215,127,215,140,212,148,208,154,203,156,195,155,193,155,190,154,187,154,183,153,179,155,171,158,166,163,161,168,158,175,157,182,158,188,161,194,165,198,171,199,179,194,199,181,214,163,223,142,228,121,230,87,226,60,217,40,202,28,184,24,165,26,152,31,141,39,131,49,123,63,118,47,113,33,103,22,91,15,77, 42,289,45,269,47,309,47,309,45,269,54,251,47,309,54,251,61,324,61,324,54,251,61,290,68,237,61,290,54,251,64,302,72,310,81,334,81,334,72,310,83,316,81,334,83,316,102,340,102,340,83,316,95,319,102,340,95,319,106,320,106,320,137,316,124,342,124,342,137,316,145,340,61,324,61,290,64,302,61,324,64,302,81,334,198,284,203,288,203,318,203,318,203,288,206,293,203,318,206,293,209,304,209,304,206,293,208,299,154,307,165,296,168,336,168,336,165,296,176,286,168,336,176,286,188,328,188,328,176,286,191,282,188,328,191,282,203,318,203,318,191,282,198,284,145,340,137,316,154,307,145,340,154,307,168,336,235,116,232,141,230,76,230,76,232,141,225,164,230,76,225,164,215,43,215,43,225,164,213,184,215,43,213,184,197,202,192,17,215,43,197,202,192,17,197,202,190,104,192,17,190,104,187,71,192,17,187,71,180,45,192,17,180,45,168,25,192,17,168,25,161,1,197,202,176,217,179,149,197,202,179,149,187,126,197,202,187,126,190,104,145,233,127,200,149,190,145,233,149,190,176,217,176,217,149,190,167,172,176,217,167,172,179,149,111,13,123,-4,121,10,121,10,123,-4,130,9,151,13,130,9,161,1,151,13,161,1,168,25,130,9,123,-4,161,1,124,342,102,340,106,320,69,70,86,1,76,52,76,52,86,1,85,35,93,26,85,35,86,1,93,26,86,1,123,-4,68,274,68,237,87,261,87,261,68,237,87,224,87,261,87,224,114,248,114,248,87,224,110,213,114,248,110,213,127,200,62,144,70,165,77,203,77,203,70,165,84,183,77,203,84,183,110,213,110,213,84,183,103,195,110,213,103,195,127,200,77,203,50,187,62,144,62,144,50,187,60,121,61,106,60,121,56,18,61,106,56,18,64,88,64,88,56,18,86,1,64,88,86,1,69,70,56,18,60,121,50,187,56,18,50,187,34,44,34,44,50,187,31,164,34,44,31,164,20,74,20,74,31,164,19,137,20,74,19,137,15,108,101,19,93,26,123,-4,101,19,123,-4,111,13,61,290,68,237,68,274,127,200,145,233,114,248, 196,73,182,54,166,39,149,29,131,22,110,20,95,22,80,27,69,36,60,49,57,65,61,81,70,94,83,102,97,107,111,108,117,108,125,106,128,106,133,105,142,106,148,108,153,111,156,115,157,118,156,122,154,124,150,127,145,128,138,129,131,128,121,126,115,125,108,124,92,127,80,133,72,142,67,154,65,167,67,182,74,195,83,206,96,213,112,215,127,215,140,212,148,208,154,203,156,195,155,193,155,190,154,187,154,183,153,179,155,171,158,166,163,161,168,158,175,157,182,158,188,161,194,165,198,171,199,179,194,199,181,214,163,223,142,228,121,230,87,226,60,217,40,202,28,184,24,165,26,152,31,141,39,131,49,123,63,118,47,113,33,103,22,91,15,77,12,61,14,46,21,29,37,13,65,0,108,-4,130,-1,151,6,171,20,189,40,204,68,76,342,59,335,45,327,35,318,29,308,27,296,30,283,38,272,48,265,60,260,71,259,72,257,52,225,36,196,25,166,19,135,17,100,21,58,33,28,49,9,71,-1,95,-4,105,-4,117,-2,128,-1,137,0,143,0,158,-1,170,-5,180,-12,186,-22,188,-34,186,-47,180,-58,170,-67,159,-72,147,-74,140,-72,134,-69,128,-64,123,-61,117,-59,110,-60,104,-63,99,-68,97,-73,96,-80,98,-90,103,-98,111,-103,121,-107,132,-108,151,-104,170,-93,187,-76,199,-55,204,-29,201,-3,192,16,177,30,156,38,128,41,117,41,113,40,103,40,78,44,61,55,49,72,43,93,41,117,44,151,53,184,65,213,80,238,94,257,119,262,142,271,161,283,174,297,179,311,178,316,175,321,171,325,166,327,159,328,142,325,125,315,108,302,94,287,84,273,74,274,65,277,57,281,52,288, 37,13,65,0,47,113,47,113,65,0,57,65,63,118,57,65,61,81,63,118,61,81,70,94,72,142,67,154,70,94,70,94,67,154,65,167,63,118,65,167,60,217,63,118,60,217,49,123,49,123,60,217,40,202,49,123,40,202,39,131,39,131,40,202,31,141,142,228,121,230,127,215,127,215,121,230,112,215,96,213,112,215,121,230,96,213,121,230,87,226,194,199,181,214,182,158,194,199,182,158,188,161,194,199,188,161,194,165,194,199,194,165,198,171,194,199,198,171,199,179,158,166,163,161,163,223,163,223,163,161,168,158,163,223,168,158,181,214,181,214,168,158,175,157,181,214,175,157,182,158,127,215,140,212,142,228,142,228,140,212,148,208,142,228,148,208,163,223,163,223,148,208,154,203,163,223,154,203,156,195,156,195,158,166,163,223,156,195,155,193,158,166,158,166,155,193,155,190,158,166,155,190,155,171,155,171,155,190,154,187,155,171,154,187,154,183,87,226,60,217,67,182,87,226,67,182,74,195,87,226,74,195,83,206,87,226,83,206,96,213,67,182,60,217,65,167,28,184,24,165,26,152,28,184,26,152,31,141,28,184,31,141,40,202,83,102,97,107,92,127,92,127,97,107,108,124,115,125,108,124,111,108,83,102,92,127,80,133,83,102,80,133,72,142,83,102,72,142,70,94,63,118,70,94,65,167,111,108,108,124,97,107,117,108,121,107,121,126,121,126,121,107,125,106,121,126,125,106,126,127,126,127,125,106,128,106,126,127,128,106,131,128,131,128,128,106,133,105,131,128,133,105,138,129,138,129,133,105,142,106,138,129,142,106,145,128,145,128,142,106,148,108,145,128,148,108,150,127,150,127,148,108,153,111,150,127,153,111,154,124,154,124,153,111,156,115,154,124,156,115,156,122,156,122,156,115,157,118,115,125,111,108,117,108,115,125,117,108,121,126,80,27,108,-4,95,22,95,22,108,-4,110,20,131,22,110,20,130,-1,131,22,130,-1,151,6,69,36,60,49,65,0,69,36,65,0,108,-4,69,36,108,-4,80,27,57,65,65,0,60,49,12,61,14,46,15,77,15,77,14,46,21,29,15,77,21,29,22,91,22,91,21,29,37,13,22,91,37,13,33,103,33,103,37,13,47,113,204,68,196,73,189,40,189,40,196,73,182,54,189,40,182,54,171,20,171,20,182,54,166,39,171,20,166,39,151,6,151,6,166,39,149,29,151,6,149,29,131,22,110,20,108,-4,130,-1,47,113,57,65,63,118,155,171,154,183,153,179, 76,342,59,335,45,327,35,318,29,308,27,296,30,283,38,272,48,265,60,260,71,259,72,257,52,225,36,196,25,166,19,135,17,100,21,58,33,28,49,9,71,-1,95,-4,105,-4,117,-2,128,-1,137,0,143,0,158,-1,170,-5,180,-12,186,-22,188,-34,186,-47,180,-58,170,-67,159,-72,147,-74,140,-72,134,-69,128,-64,123,-61,117,-59,110,-60,104,-63,99,-68,97,-73,96,-80,98,-90,103,-98,111,-103,121,-107,132,-108,151,-104,170,-93,187,-76,199,-55,204,-29,201,-3,192,16,177,30,156,38,128,41,117,41,113,40,103,40,78,44,61,55,49,72,43,93,41,117,44,151,53,184,65,213,80,238,94,257,119,262,142,271,161,283,174,297,179,311,178,316,175,321,171,325,166,327,159,328,142,325,125,315,108,302,94,287,84,273,74,274,65,277,57,281,52,288,50,298,51,305,55,312,61,320,70,328,81,334,226,-107,223,-101,221,-94,219,-86,218,-76,218,160,216,182,208,202,196,217,180,226,159,230,145,229,131,224,117,216,102,205,87,190,86,190,84,205,81,215,76,223,68,226,56,228,44,225,33,216,22,203,13,188,5,172,12,170,15,176,25,188,30,193,36,194,39,193,41,190,44,184,45,173,46,156,46,0,88,0,88,174,100,185,111,194,120,199,130,202,140,203,153,201,163,195,170,185,174,172,176,154,176,-79,177,-89,179,-97,181,-103,184,-107,234,166,233,198,230,228,226,254,220,277,211,296,199,313,185,325,169,334,150,340,126,342,87,333,55,310,32,273,18,226,13,170,14,144,15,120,18,100,23,81,28,64,40,41,55,21,74,7,96,-1,122,-4,161,3,192,27,215,63,229,110,234,166,16383,16383,59,177,59,193,62,247,70,285,83,310,99,324,119,328,150,318,171,292,182,256,188,216,189,177,16383,16383, 43,93,41,117,41,117,36,196,41,117,44,151,36,196,44,151,52,225,52,225,44,151,53,184,52,225,53,184,72,257,72,257,53,184,65,213,72,257,65,213,80,238,48,265,50,298,45,327,48,265,45,327,38,272,38,272,45,327,35,318,38,272,35,318,30,283,30,283,35,318,29,308,30,283,29,308,27,296,51,305,55,312,59,335,59,335,55,312,61,320,59,335,61,320,76,342,76,342,61,320,70,328,76,342,70,328,81,334,51,305,59,335,45,327,51,305,45,327,50,298,108,302,94,287,94,257,94,257,94,287,84,273,94,257,84,273,80,238,80,238,84,273,74,274,80,238,74,274,72,257,72,257,74,274,71,259,166,327,159,328,161,283,161,283,159,328,142,325,161,283,142,325,142,271,142,271,142,325,125,315,142,271,125,315,119,262,119,262,125,315,108,302,119,262,108,302,94,257,65,277,57,281,60,260,65,277,60,260,71,259,65,277,71,259,74,274,52,288,50,298,48,265,52,288,48,265,60,260,52,288,60,260,57,281,71,-1,95,-4,78,44,78,44,95,-4,103,40,108,40,103,40,105,-4,108,40,105,-4,117,-2,61,55,49,72,49,9,61,55,49,9,71,-1,61,55,71,-1,78,44,43,93,41,117,33,28,43,93,33,28,49,9,43,93,49,9,49,72,41,117,36,196,33,28,33,28,36,196,25,166,33,28,25,166,21,58,21,58,25,166,19,135,21,58,19,135,17,100,177,30,156,38,158,-1,158,-1,156,38,143,0,137,0,143,0,156,38,137,0,156,38,128,41,128,-1,137,0,128,41,128,-1,128,41,123,41,128,-1,123,41,117,41,128,-1,117,41,117,-2,113,40,108,40,117,-2,113,40,117,-2,117,41,128,-64,132,-108,134,-69,134,-69,132,-108,151,-104,134,-69,151,-104,140,-72,140,-72,151,-104,147,-74,159,-72,147,-74,151,-104,159,-72,151,-104,170,-93,204,-29,201,-3,199,-55,199,-55,201,-3,192,16,199,-55,192,16,188,-34,188,-34,187,-76,199,-55,158,-1,170,-5,177,30,177,30,170,-5,180,-12,177,30,180,-12,192,16,192,16,180,-12,186,-22,192,16,186,-22,188,-34,187,-76,188,-34,186,-47,187,-76,186,-47,180,-58,187,-76,180,-58,170,-67,187,-76,170,-67,170,-93,110,-60,111,-103,117,-59,117,-59,111,-103,121,-107,117,-59,121,-107,123,-61,123,-61,121,-107,132,-108,123,-61,132,-108,128,-64,97,-73,98,-90,99,-68,99,-68,98,-90,103,-98,99,-68,103,-98,104,-63,104,-63,103,-98,111,-103,104,-63,111,-103,110,-60,175,321,171,325,174,297,175,321,174,297,179,311,175,321,179,311,178,316,166,327,161,283,174,297,166,327,174,297,171,325,103,40,95,-4,105,-4,98,-90,97,-73,96,-80,159,-72,170,-93,170,-67, 226,-107,223,-101,221,-94,219,-86,218,-76,218,160,216,182,208,202,196,217,180,226,159,230,145,229,131,224,117,216,102,205,87,190,86,190,84,205,81,215,76,223,68,226,56,228,44,225,33,216,22,203,13,188,5,172,12,170,15,176,25,188,30,193,36,194,39,193,41,190,44,184,45,173,46,156,46,0,88,0,88,174,100,185,111,194,120,199,130,202,140,203,153,201,163,195,170,185,174,172,176,154,176,-79,177,-89,179,-97,181,-103,184,-107,234,166,233,198,230,228,226,254,220,277,211,296,199,313,185,325,169,334,150,340,126,342,87,333,55,310,32,273,18,226,13,170,14,144,15,120,18,100,23,81,28,64,40,41,55,21,74,7,96,-1,122,-4,161,3,192,27,215,63,229,110,234,166,16383,16383,59,177,59,193,62,247,70,285,83,310,99,324,119,328,150,318,171,292,182,256,188,216,189,177,16383,16383,189,158,187,109,180,67,168,36,151,16,128,9,98,18,78,42,67,77,61,118, 15,176,20,182,22,203,22,203,20,182,25,188,22,203,25,188,33,216,33,216,25,188,30,193,33,216,30,193,36,194,36,194,39,193,44,225,44,225,39,193,41,190,44,225,41,190,44,184,13,188,5,172,12,170,13,188,12,170,15,176,13,188,15,176,22,203,87,190,86,190,88,0,87,190,88,0,88,174,87,190,88,174,102,205,88,174,100,185,102,205,102,205,100,185,111,194,102,205,111,194,117,216,117,216,111,194,120,199,117,216,120,199,131,224,131,224,120,199,130,202,131,224,130,202,140,203,140,203,153,201,145,229,145,229,153,201,159,230,88,0,86,190,84,205,88,0,84,205,81,215,88,0,81,215,76,223,88,0,76,223,68,226,88,0,68,226,56,228,88,0,56,228,46,156,88,0,46,156,46,0,145,229,131,224,140,203,218,-65,218,160,216,182,218,-65,216,182,208,202,218,-65,208,202,218,-76,196,217,180,226,181,-103,196,217,181,-103,184,-107,196,217,184,-107,218,-76,196,217,218,-76,208,202,184,-107,226,-107,223,-101,184,-107,223,-101,221,-94,184,-107,221,-94,219,-86,184,-107,219,-86,218,-76,180,226,159,230,163,195,180,226,163,195,170,185,180,226,170,185,174,172,180,226,174,172,176,154,180,226,176,154,176,-79,180,226,176,-79,177,-89,180,226,177,-89,179,-97,180,226,179,-97,181,-103,176,154,176,-64,176,-79,45,173,46,156,56,228,45,173,56,228,44,225,45,173,44,225,44,184,44,225,33,216,36,194,159,230,153,201,163,195, 234,166,233,198,230,228,226,254,220,277,211,296,199,313,185,325,169,334,150,340,126,342,87,333,55,310,32,273,18,226,13,170,14,144,15,120,18,100,23,81,28,64,40,41,55,21,74,7,96,-1,122,-4,161,3,192,27,215,63,229,110,234,166,16383,16383,59,177,59,193,62,247,70,285,83,310,99,324,119,328,150,318,171,292,182,256,188,216,189,177,16383,16383,189,158,187,109,180,67,168,36,151,16,128,9,98,18,78,42,67,77,61,118,59,161,189,161,126,54,120,43,115,36,110,31,105,29,99,28,95,29,91,33,90,36,89,40,89,228,88,230,72,224,57,219,41,214,26,208,10,204,10,195,15,196,37,196,42,193,45,188,47,181,47,39,48,26,51,14,57,4,65,-2,77,-4,92,-1,105,7,116,20,126,35,133,50,252,0,252,7,239,10,228,13,219,19,209,27,199,39,113,140,131,158,147,172,161,181,174,185,188,187,194,186,201,185,207,183,213,182,220,181,227,182,233,185,239,189,243,196,245,206, 150,340,126,342,150,318,150,318,126,342,119,328,99,324,119,328,126,342,99,324,126,342,87,333,230,228,226,254,229,110,230,228,229,110,234,166,230,228,234,166,233,198,220,277,211,296,215,63,220,277,215,63,229,110,220,277,229,110,226,254,23,81,28,64,32,273,32,273,28,64,40,41,32,273,40,41,55,310,55,310,40,41,55,21,55,310,55,21,59,193,59,193,55,21,59,161,59,193,59,161,59,177,59,177,59,161,189,177,189,177,59,161,189,161,189,177,189,161,192,27,189,177,192,27,199,313,199,313,192,27,215,63,199,313,215,63,211,296,171,292,182,256,185,325,185,325,182,256,188,216,185,325,188,216,199,313,199,313,188,216,189,177,169,334,150,340,150,318,169,334,150,318,171,292,169,334,171,292,185,325,187,109,180,67,192,27,192,27,180,67,168,36,192,27,168,36,161,3,161,3,168,36,151,16,161,3,151,16,128,9,128,9,98,18,122,-4,122,-4,98,18,96,-1,78,42,67,77,74,7,78,42,74,7,96,-1,78,42,96,-1,98,18,59,161,55,21,61,118,61,118,55,21,74,7,61,118,74,7,67,77,189,158,187,109,192,27,189,158,192,27,189,161,128,9,122,-4,161,3,59,193,62,247,55,310,55,310,62,247,70,285,55,310,70,285,87,333,87,333,70,285,83,310,87,333,83,310,99,324,14,144,15,120,18,226,18,226,15,120,18,100,18,226,18,100,32,273,32,273,18,100,23,81,14,144,18,226,13,170, 126,54,120,43,115,36,110,31,105,29,99,28,95,29,91,33,90,36,89,40,89,228,88,230,72,224,57,219,41,214,26,208,10,204,10,195,15,196,37,196,42,193,45,188,47,181,47,39,48,26,51,14,57,4,65,-2,77,-4,92,-1,105,7,116,20,126,35,133,50,252,0,252,7,239,10,228,13,219,19,209,27,199,39,113,140,131,158,147,172,161,181,174,185,188,187,194,186,201,185,207,183,213,182,220,181,227,182,233,185,239,189,243,196,245,206,244,214,240,220,234,225,226,229,215,230,202,228,184,222,160,205,127,176,83,129,83,229, 45,188,57,219,42,193,42,193,57,219,41,214,42,193,41,214,37,196,37,196,41,214,31,196,28,196,31,196,41,214,28,196,41,214,26,208,57,4,65,-2,72,224,72,224,65,-2,77,-4,72,224,77,-4,88,230,88,230,77,-4,89,40,88,230,89,40,89,228,91,33,92,-1,93,31,93,31,92,-1,105,7,93,31,105,7,95,29,95,29,105,7,99,28,105,29,99,28,105,7,105,29,105,7,116,20,133,50,126,54,126,35,126,35,126,54,120,43,126,35,120,43,116,20,116,20,120,43,115,36,116,20,115,36,110,31,92,-1,91,33,90,36,92,-1,90,36,89,40,92,-1,89,40,77,-4,57,219,45,188,47,181,57,219,47,181,47,172,57,219,47,172,48,26,57,219,48,26,51,14,57,219,51,14,57,4,57,219,57,4,72,224,47,172,47,39,48,26,26,208,10,204,15,196,26,208,15,196,20,196,26,208,20,196,24,196,26,208,24,196,28,196,15,196,10,204,10,195,105,29,116,20,110,31, 252,0,252,7,239,10,228,13,219,19,209,27,199,39,113,140,131,158,147,172,161,181,174,185,188,187,194,186,201,185,207,183,213,182,220,181,227,182,233,185,239,189,243,196,245,206,244,214,240,220,234,225,226,229,215,230,202,228,184,222,160,205,127,176,83,129,83,229,81,230,70,226,48,220,35,216,18,212,3,208,3,200,10,200,14,201,20,201,28,200,34,197,38,192,40,183,41,171,41,0,83,0,83,113,148,34,151,30,155,24,156,22,156,20,155,15,153,12,149,9,144,8,137,7,133,7,133,0,238,69,235,53,229,42,222,35,215,31,209,30,200,32,193,38,186,47,181,58,176,71,121,266,113,292,104,313,95,329,83,338,68,342,51,337,39,325,32,308,28,288,26,268,34,268,38,284,43,295,49,302,56,305,64,306,74,304,83,296,92,283,100,267,107,248,113,225,6,0,56,0,128,177,164,45,169,29,176,15,184,4,193,-2,204,-5,219,-1,230,8,239,24,244,45,246,69,251,53,244,42,239,35,234,31,230,29,224,28,221,29,218,31,216,36,215,45,214,56,214,225,172,225,172,59,171,53,169,48, 10,200,14,201,18,212,18,212,14,201,17,201,18,212,17,201,20,201,20,201,28,200,35,216,35,216,28,200,34,197,35,216,34,197,38,192,7,200,10,200,18,212,7,200,18,212,3,208,7,200,3,208,3,200,35,216,38,192,48,220,48,220,38,192,40,183,48,220,40,183,41,171,83,0,41,171,41,0,35,216,18,212,20,201,83,129,83,229,81,230,83,129,81,230,83,0,83,129,83,0,83,113,83,129,83,113,127,176,131,158,147,172,160,205,160,205,147,172,161,181,160,205,161,181,184,222,184,222,161,181,174,185,184,222,174,185,188,187,188,187,194,186,202,228,202,228,194,186,201,185,202,228,201,185,207,183,127,176,83,113,113,140,127,176,113,140,131,158,127,176,131,158,160,205,83,0,81,230,70,226,83,0,70,226,59,223,83,0,59,223,48,220,83,0,48,220,41,171,227,182,233,185,234,225,234,225,233,185,239,189,234,225,239,189,240,220,240,220,239,189,243,196,240,220,243,196,244,214,244,214,243,196,245,206,207,183,213,182,215,230,215,230,213,182,220,181,215,230,220,181,226,229,226,229,220,181,227,182,226,229,227,182,234,225,202,228,184,222,188,187,153,12,149,9,252,0,252,0,149,9,144,8,252,0,144,8,137,7,156,20,252,0,228,13,156,20,228,13,219,19,156,20,219,19,209,27,156,20,209,27,199,39,156,20,199,39,156,22,199,39,113,140,148,34,199,39,148,34,151,30,199,39,151,30,153,27,199,39,153,27,155,24,199,39,155,24,156,22,239,10,228,13,252,0,239,10,252,0,252,7,155,15,153,12,252,0,155,15,252,0,156,20,133,7,133,0,252,0,133,7,252,0,137,7,148,34,113,140,83,113,202,228,207,183,215,230, 238,69,235,53,229,42,222,35,215,31,209,30,200,32,193,38,186,47,181,58,176,71,121,266,113,292,104,313,95,329,83,338,68,342,51,337,39,325,32,308,28,288,26,268,34,268,38,284,43,295,49,302,56,305,64,306,74,304,83,296,92,283,100,267,107,248,113,225,6,0,56,0,128,177,164,45,169,29,176,15,184,4,193,-2,204,-5,219,-1,230,8,239,24,244,45,246,69,251,53,244,42,239,35,234,31,230,29,224,28,221,29,218,31,216,36,215,45,214,56,214,225,172,225,172,59,171,53,169,48,166,44,161,40,153,33,144,29,136,26,128,24,121,24,108,26,96,32,87,41,80,53,78,69,78,225,36,225,36,-65,35,-75,34,-84,32,-93,30,-101,27,-107,69,-107,71,-102,73,-94,75,-85,76,-75,76,9,78,9,81,4,87,0,93,-2,101,-4,109,-4, 56,305,64,306,64,306,68,342,64,306,74,304,68,342,74,304,83,338,83,338,74,304,83,296,83,338,83,296,95,329,95,329,83,296,92,283,95,329,92,283,100,267,113,292,107,248,113,225,113,292,113,225,121,266,121,266,113,225,128,177,121,266,128,177,176,71,176,71,128,177,164,45,176,71,164,45,169,29,104,313,95,329,100,267,104,313,100,267,107,248,104,313,107,248,113,292,176,71,169,29,176,15,176,71,176,15,184,4,113,225,6,0,56,0,113,225,56,0,128,177,200,32,193,38,193,-2,193,-2,193,38,186,47,193,-2,186,47,184,4,184,4,186,47,181,58,184,4,181,58,176,71,235,53,229,42,230,8,230,8,229,42,222,35,230,8,222,35,219,-1,219,-1,222,35,215,31,219,-1,215,31,209,30,209,30,200,32,204,-5,204,-5,200,32,193,-2,239,24,244,45,246,69,239,24,246,69,238,69,239,24,238,69,235,53,239,24,235,53,230,8,209,30,204,-5,219,-1,43,295,49,302,51,337,51,337,49,302,56,305,51,337,56,305,68,342,68,342,56,305,64,306,39,325,32,308,34,268,39,325,34,268,38,284,39,325,38,284,43,295,39,325,43,295,51,337,28,288,26,268,34,268,28,288,34,268,32,308, 251,53,244,42,239,35,234,31,230,29,224,28,221,29,218,31,216,36,215,45,214,56,214,225,172,225,172,59,171,53,169,48,166,44,161,40,153,33,144,29,136,26,128,24,121,24,108,26,96,32,87,41,80,53,78,69,78,225,36,225,36,-65,35,-75,34,-84,32,-93,30,-101,27,-107,69,-107,71,-102,73,-94,75,-85,76,-75,76,9,78,9,81,4,87,0,93,-2,101,-4,109,-4,119,-3,131,0,144,7,158,19,171,36,172,36,173,23,177,12,182,3,191,-2,203,-4,217,-1,230,7,241,20,250,35,258,50,212,230,206,188,189,141,163,97,129,63,90,45,89,45,89,228,88,230,72,224,57,219,41,214,26,208,10,204,10,195,15,196,31,196,37,195,42,192,45,188,47,181,47,-6,59,-6,100,7,134,28,163,55,186,84,203,116,212,141,217,166,220,189,221,211,222,230,89,342,71,335,57,328,48,319,43,309,41,297,42,286,47,278,53,272,61,268,69,266,63,259,58,251,54,242,52,233,51,224,52,215,55,206,59,198,65,190,73,184,54,168,39,150,27,129,20,106,17,81,20,53,29,29,44,11,67,0,98,-4, 78,225,36,225,69,-107,78,225,69,-107,71,-102,78,225,71,-102,73,-94,78,225,73,-94,75,-85,78,225,75,-85,76,-75,78,225,76,-75,76,9,78,225,76,9,78,9,69,-107,36,225,36,-65,69,-107,36,-65,35,-75,69,-107,35,-75,34,-84,69,-107,34,-84,32,-93,69,-107,32,-93,30,-101,69,-107,30,-101,27,-107,87,0,93,-2,96,32,96,32,93,-2,101,-4,96,32,101,-4,108,26,108,26,101,-4,109,-4,108,26,109,-4,121,24,121,24,109,-4,119,-3,121,24,119,-3,131,0,171,53,169,48,171,36,171,36,169,48,166,44,171,36,166,44,161,40,161,40,153,33,158,19,158,19,153,33,144,29,158,19,144,29,144,7,144,7,144,29,136,26,144,7,136,26,131,0,131,0,136,26,128,24,131,0,128,24,121,24,87,41,80,53,81,4,87,41,81,4,87,0,87,41,87,0,96,32,81,4,80,53,78,69,81,4,78,69,78,9,214,225,172,225,173,23,173,23,172,225,172,68,173,23,172,68,172,36,172,36,172,68,172,59,172,36,172,59,171,36,171,36,172,59,171,53,161,40,158,19,171,36,214,225,173,23,177,12,214,225,177,12,182,3,214,225,182,3,191,-2,214,225,191,-2,203,-4,214,225,203,-4,214,56,244,42,239,35,241,20,241,20,239,35,234,31,241,20,234,31,230,7,230,7,234,31,230,29,230,7,230,29,224,28,224,28,221,29,230,7,230,7,221,29,218,31,230,7,218,31,217,-1,217,-1,218,31,216,36,217,-1,216,36,215,45,250,35,258,50,251,53,250,35,251,53,244,42,250,35,244,42,241,20,215,45,214,56,203,-4,215,45,203,-4,217,-1,76,9,76,-75,76,-64, 212,230,206,188,189,141,163,97,129,63,90,45,89,45,89,228,88,230,72,224,57,219,41,214,26,208,10,204,10,195,15,196,31,196,37,195,42,192,45,188,47,181,47,-6,59,-6,100,7,134,28,163,55,186,84,203,116,212,141,217,166,220,189,221,211,222,230,89,342,71,335,57,328,48,319,43,309,41,297,42,286,47,278,53,272,61,268,69,266,63,259,58,251,54,242,52,233,51,224,52,215,55,206,59,198,65,190,73,184,54,168,39,150,27,129,20,106,17,81,20,53,29,29,44,11,67,0,98,-4,107,-4,117,-2, 45,188,57,219,42,192,42,192,57,219,41,214,42,192,41,214,37,195,37,195,41,214,31,196,28,196,31,196,41,214,28,196,41,214,26,208,89,228,88,230,89,45,89,45,88,230,72,224,89,45,72,224,59,-6,59,-6,72,224,57,219,59,-6,57,219,47,172,47,172,57,219,47,181,26,208,10,204,15,196,26,208,15,196,20,196,26,208,20,196,25,196,26,208,25,196,28,196,186,84,189,141,163,55,163,55,189,141,163,97,163,55,163,97,134,28,134,28,163,97,129,63,134,28,129,63,100,7,100,7,129,63,90,45,189,141,203,116,206,188,206,188,203,116,212,141,206,188,212,141,212,230,212,230,212,141,217,166,212,230,217,166,222,230,222,230,217,166,220,189,222,230,220,189,221,211,89,45,59,-6,100,7,89,45,100,7,90,45,47,172,47,-6,59,-6,15,196,10,204,10,195,189,141,186,84,203,116,57,219,45,188,47,181, 89,342,71,335,57,328,48,319,43,309,41,297,42,286,47,278,53,272,61,268,69,266,63,259,58,251,54,242,52,233,51,224,52,215,55,206,59,198,65,190,73,184,54,168,39,150,27,129,20,106,17,81,20,53,29,29,44,11,67,0,98,-4,107,-4,117,-2,128,-1,137,0,143,0,158,-1,170,-5,180,-12,186,-22,188,-34,186,-47,180,-59,170,-67,159,-72,147,-74,140,-72,134,-69,128,-64,123,-61,117,-59,110,-60,104,-63,99,-68,97,-73,96,-80,98,-90,103,-98,111,-103,121,-107,132,-108,151,-104,170,-93,187,-76,199,-53,204,-26,201,-3,192,15,177,29,156,38,128,41,118,41,111,40,98,40,79,42,63,48,51,59,43,75,40,98,43,118,50,136,62,152,77,164,94,174,102,172,110,171,117,170,142,170,157,173,171,178,181,186,185,197,184,204,179,210,172,214,164,216,153,217,140,216,127,213,113,208,101,202,89,194,83,199,78,204,74,211,72,218,71,225,73,235,77,243,83,251,93,256,106,258,126,260,144,264,160,271,171,280,175,291,174,297,171,301,166,305,160,307,151,307,139,306,125,303,111,297,96,290,83,281,76,283,70,286,66,291,64,297,63,305,64,310,66,316,72,322,80,328,93,334,237,114,232,151,218,183,197,208,167,224,129,230,91,223,60,203,37,174,22,139,17,101,23,67,38,38,62,15,92,0,126,-4,161,2,191,20,215,47,231,79,237,114,16383,16383,192,95,190,74,183,52,172,31,156,17,134,11,107,19,87,38,73,65,65,95,62,122,64,145,70,169,80,191,97,207,119,214,148,205,168,184,182,155,190,124,192,95,233,69,229,55,223,45,216,40,209,37,203,36,194,38,188,41,184,47,180,54,178,61,177,69,176,78,175,88,175,109,176,127,176,144,178,160,179,173,180,183,239,183,239,225,97,225,68,222,46,214,29,200,16,180,4,155,12,155,23,167,35,176,47,180,62,183,78,183,72,119,64,77,54,54,42,42,30,36,26,35,20,31,18,25,20,15,23,6,30,0,39,-5,52,-6,77,9,91,48,98,99,100,148,100,183,147,183,145,160,143,136,139,82,139,56,141,37,147,20,156,7,169,-1,185,-4,205,0,220,12,232,29,239,49,241,69,36,-65,35,-75,34,-84,32,-93,30,-101,27,-107,70,-107,72,-102,74,-95,76,-85,77,-75,78,-64,78,15,88,7,98,1,108,-2,118,-4,130,-4,164,1,192,19,214,47,228,82,233,123,228,158,214,188,191,210,163,225, 51,59,43,75,44,11,44,11,43,75,40,98,39,150,40,98,43,118,39,150,43,118,54,168,54,168,43,118,50,136,54,168,50,136,62,152,61,268,63,305,57,328,61,268,57,328,53,272,53,272,57,328,48,319,53,272,48,319,47,278,47,278,48,319,43,309,47,278,43,309,42,286,42,286,43,309,41,297,64,310,66,316,71,335,71,335,66,316,72,322,71,335,72,322,89,342,89,342,72,322,80,328,89,342,80,328,93,334,64,310,71,335,57,328,64,310,57,328,63,305,73,235,76,283,71,225,71,225,70,286,69,266,69,266,70,286,66,291,69,266,66,291,64,297,83,281,76,283,77,243,83,281,77,243,83,251,83,281,83,251,96,290,72,218,73,184,74,211,74,211,73,184,77,164,74,211,77,164,78,204,78,204,77,164,94,174,78,204,94,174,83,199,83,199,94,174,89,194,101,202,94,174,102,172,101,202,102,172,113,208,113,208,102,172,110,171,113,208,110,171,117,170,73,184,54,168,62,152,73,184,62,152,77,164,73,184,72,218,71,225,73,184,71,225,69,266,73,184,69,266,65,190,52,233,52,215,54,242,54,242,52,215,55,206,54,242,55,206,58,251,58,251,55,206,59,198,58,251,59,198,63,259,63,259,59,198,65,190,63,259,65,190,69,266,64,297,63,305,61,268,64,297,61,268,69,266,128,41,124,41,128,-1,128,-1,124,41,118,41,128,-1,118,41,117,-2,117,-2,118,41,111,40,117,-2,111,40,107,-4,107,-4,111,40,104,40,107,-4,104,40,98,-4,98,-4,104,40,98,40,177,29,156,38,158,-1,158,-1,156,38,143,0,137,0,143,0,156,38,137,0,156,38,128,41,128,-64,132,-108,134,-69,134,-69,132,-108,151,-104,134,-69,151,-104,140,-72,140,-72,151,-104,147,-74,159,-72,147,-74,151,-104,159,-72,151,-104,170,-93,204,-26,201,-3,199,-53,199,-53,201,-3,192,15,199,-53,192,15,188,-34,188,-34,187,-76,199,-53,158,-1,170,-5,177,29,177,29,170,-5,180,-12,177,29,180,-12,192,15,192,15,180,-12,186,-22,192,15,186,-22,188,-34,188,-34,186,-47,187,-76,187,-76,186,-47,180,-59,187,-76,180,-59,170,-93,170,-93,180,-59,170,-67,170,-93,170,-67,159,-72,110,-60,111,-103,117,-59,117,-59,111,-103,121,-107,117,-59,121,-107,123,-61,123,-61,121,-107,132,-108,123,-61,132,-108,128,-64,97,-73,98,-90,99,-68,99,-68,98,-90,103,-98,99,-68,103,-98,104,-63,104,-63,103,-98,111,-103,104,-63,111,-103,110,-60,181,186,185,197,184,204,181,186,184,204,179,210,181,186,179,210,172,214,181,186,172,214,171,178,117,170,124,170,127,213,127,213,124,170,131,170,127,213,131,170,140,216,140,216,131,170,142,170,140,216,142,170,153,217,153,217,142,170,157,173,153,217,157,173,164,216,164,216,157,173,171,178,164,216,171,178,172,214,160,307,160,271,166,305,166,305,160,271,171,280,166,305,171,280,171,301,171,301,171,280,175,291,171,301,175,291,174,297,125,303,126,260,139,306,139,306,126,260,144,264,139,306,144,264,151,307,151,307,144,264,160,271,151,307,160,271,160,307,83,251,93,256,96,290,96,290,93,256,106,258,96,290,106,258,111,297,111,297,106,258,126,260,111,297,126,260,125,303,79,42,63,48,67,0,79,42,67,0,98,-4,79,42,98,-4,98,40,51,59,44,11,67,0,51,59,67,0,63,48,29,29,44,11,40,98,29,29,40,98,39,150,29,29,39,150,27,129,29,29,27,129,20,53,20,106,17,81,20,53,20,106,20,53,27,129,113,208,117,170,127,213,98,-90,97,-73,96,-80,128,41,128,-1,137,0,52,215,52,233,51,224,94,174,101,202,89,194,70,286,71,225,76,283,76,283,73,235,77,243, 237,114,232,151,218,183,197,208,167,224,129,230,91,223,60,203,37,174,22,139,17,101,23,67,38,38,62,15,92,0,126,-4,161,2,191,20,215,47,231,79,237,114,16383,16383,192,95,190,74,183,52,172,31,156,17,134,11,107,19,87,38,73,65,65,95,62,122,64,145,70,169,80,191,97,207,119,214,148,205,168,184,182,155,190,124,192,95,233,69,229,55,223,45,216,40,209,37,203,36,194,38,188,41,184,47,180,54,178,61,177,69,176,78,175,88,175,109,176,127,176,144,178,160,179,173,180,183,239,183,239,225,97,225,68,222,46,214,29,200,16,180,4,155,12,155,23,167,35,176,47,180,62,183,78,183,72,119,64,77,54,54,42,42,30,36,26,35,20,31,18,25,20,15, 97,207,119,214,119,214,129,230,119,214,148,205,129,230,148,205,167,224,167,224,148,205,168,184,167,224,168,184,197,208,197,208,168,184,182,155,197,208,182,155,190,124,190,74,183,52,191,20,191,20,183,52,172,31,191,20,172,31,161,2,161,2,172,31,156,17,161,2,156,17,134,11,134,11,107,19,126,-4,126,-4,107,19,92,0,107,19,87,38,92,0,92,0,87,38,73,65,92,0,73,65,62,15,62,15,73,65,65,95,62,15,65,95,62,122,80,191,91,223,70,169,70,169,91,223,60,203,70,169,60,203,64,145,64,145,60,203,62,122,62,15,62,122,60,203,62,15,60,203,38,38,38,38,60,203,37,174,38,38,37,174,23,67,23,67,37,174,22,139,23,67,22,139,17,101,237,114,232,151,231,79,231,79,232,151,218,183,231,79,218,183,215,47,215,47,218,183,197,208,215,47,197,208,192,95,192,95,191,20,215,47,134,11,126,-4,161,2,97,207,119,214,129,230,97,207,129,230,91,223,97,207,91,223,80,191,190,74,191,20,192,95,197,208,190,124,192,95, 233,69,229,55,223,45,216,40,209,37,203,36,194,38,188,41,184,47,180,54,178,61,177,69,176,78,175,88,175,109,176,127,176,144,178,160,179,173,180,183,239,183,239,225,97,225,68,222,46,214,29,200,16,180,4,155,12,155,23,167,35,176,47,180,62,183,78,183,72,119,64,77,54,54,42,42,30,36,26,35,20,31,18,25,20,15,23,6,30,0,39,-5,52,-6,77,9,91,48,98,99,100,148,100,183,147,183,145,160,143,136,139,82,139,56,141,37,147,20,156,7,169,-1,185,-4,205,0,220,12,232,29,239,49,241,69,36,-65,35,-75,34,-84,32,-93,30,-101,27,-107,70,-107,72,-102,74,-95,76,-85,77,-75,78,-64,78,15,88,7,98,1,108,-2,118,-4,130,-4,164,1,192,19,214,47,228,82,233,123,228,158,214,188,191,210,163,225,129,230,101,225,75,210,54,182,41,138,36,76,16383,16383,78,137,79,163,85,185,94,202,107,212,123,216,145,211,163,197,177,175,186,144,190,106,187,75,179,49,166,29,150,16,129,11,115,13,101,18,89,26,81,35,78,44,216,176,213,191,205,206,190,218,169,227,142,230,107,223,73,202,45,171,25,130,17,83,21,45, 72,119,64,77,77,9,77,9,64,77,54,54,77,9,54,54,52,-6,52,-6,54,54,42,42,52,-6,42,42,39,-5,39,-5,42,42,30,36,39,-5,30,36,30,0,30,0,30,36,26,35,30,0,26,35,23,6,23,6,26,35,23,33,23,6,23,33,20,31,20,15,23,6,20,31,20,15,20,31,19,28,20,15,19,28,18,25,97,225,68,222,78,183,78,183,91,48,97,225,97,225,91,48,98,99,97,225,98,99,100,183,100,183,98,99,100,148,180,183,239,183,239,225,180,183,239,225,147,183,147,183,239,225,100,183,176,78,175,88,169,-1,169,-1,175,88,175,99,169,-1,175,99,175,109,175,109,176,127,169,-1,169,-1,176,127,176,144,169,-1,176,144,156,7,156,7,176,144,178,160,156,7,178,160,179,173,147,20,180,183,147,183,147,20,147,183,145,160,179,173,180,183,147,20,179,173,147,20,156,7,97,225,100,183,239,225,4,155,12,155,16,180,16,180,12,155,23,167,16,180,23,167,29,200,29,200,23,167,35,176,29,200,35,176,46,214,46,214,35,176,47,180,46,214,47,180,68,222,68,222,47,180,62,183,68,222,62,183,78,183,188,41,184,47,185,-4,185,-4,184,47,180,54,185,-4,180,54,178,61,178,61,177,69,185,-4,185,-4,177,69,169,-1,188,41,205,0,194,38,194,38,205,0,203,36,209,37,203,36,205,0,209,37,205,0,220,12,233,69,229,55,232,29,233,69,232,29,239,49,233,69,239,49,241,69,223,45,216,40,220,12,223,45,220,12,232,29,223,45,232,29,229,55,143,136,141,109,141,37,143,136,141,37,147,20,143,136,147,20,145,160,139,82,139,56,141,37,139,82,141,37,141,109,78,183,72,119,77,9,78,183,77,9,91,48,176,78,169,-1,177,69,188,41,185,-4,205,0,209,37,220,12,216,40, 36,-65,35,-75,34,-84,32,-93,30,-101,27,-107,70,-107,72,-102,74,-95,76,-85,77,-75,78,-64,78,15,88,7,98,1,108,-2,118,-4,130,-4,164,1,192,19,214,47,228,82,233,123,228,158,214,188,191,210,163,225,129,230,101,225,75,210,54,182,41,138,36,76,16383,16383,78,137,79,163,85,185,94,202,107,212,123,216,145,211,163,197,177,175,186,144,190,106,187,75,179,49,166,29,150,16,129,11,115,13,101,18,89,26,81,35,78,44,216,176,213,191,205,206,190,218,169,227,142,230,107,223,73,202,45,171,25,130,17,83,21,45,33,20,50,5,71,-2,95,-4,105,-4,117,-2,128,-1,137,0,143,0,158,-1,170,-5,180,-12,186,-22,188,-34,186,-47,180,-58,170,-67,159,-72,147,-74,140,-72,134,-69,128,-64,123,-61,117,-59,110,-60,104,-63,99,-68,97,-73,96,-80,98,-90,103,-98,111,-103,121,-107,132,-108,151,-104,170,-93,187,-76,199,-55,204,-29,201,-3,192,16,177,30,156,38, 107,212,123,216,123,216,129,230,123,216,145,211,129,230,145,211,163,225,163,225,145,211,163,197,163,225,163,197,191,210,191,210,163,197,177,175,191,210,177,175,186,144,191,210,190,106,192,19,191,210,192,19,214,188,214,188,192,19,214,47,214,188,214,47,228,158,228,158,214,47,228,82,228,158,228,82,233,123,192,19,190,106,187,75,192,19,187,75,179,49,192,19,179,49,166,29,192,19,166,29,164,1,129,11,130,-4,150,16,150,16,130,-4,164,1,150,16,164,1,166,29,130,-4,129,11,118,-4,118,-4,129,11,115,13,118,-4,115,13,108,-2,108,-2,115,13,101,18,108,-2,101,18,98,1,98,1,101,18,89,26,98,1,89,26,88,7,88,7,89,26,81,35,88,7,81,35,78,44,85,185,94,202,101,225,101,225,94,202,107,212,101,225,107,212,129,230,129,230,107,212,123,216,78,137,79,163,75,210,78,137,75,210,76,-85,78,137,76,-85,77,-75,78,137,77,-75,78,-64,75,210,79,163,85,185,75,210,85,185,101,225,75,210,54,182,70,-107,75,210,70,-107,72,-102,75,210,72,-102,74,-95,75,210,74,-95,76,-85,70,-107,54,182,41,138,70,-107,41,138,36,76,70,-107,36,76,36,-65,70,-107,36,-65,35,-75,70,-107,35,-75,34,-84,70,-107,34,-84,32,-93,70,-107,32,-93,30,-101,70,-107,30,-101,27,-107,78,44,78,15,88,7,191,210,186,144,190,106, 216,176,213,191,205,206,190,218,169,227,142,230,107,223,73,202,45,171,25,130,17,83,21,45,33,20,50,5,71,-2,95,-4,105,-4,117,-2,128,-1,137,0,143,0,158,-1,170,-5,180,-12,186,-22,188,-34,186,-47,180,-58,170,-67,159,-72,147,-74,140,-72,134,-69,128,-64,123,-61,117,-59,110,-60,104,-63,99,-68,97,-73,96,-80,98,-90,103,-98,111,-103,121,-107,132,-108,151,-104,170,-93,187,-76,199,-55,204,-29,201,-3,192,16,177,30,156,38,128,41,119,41,115,40,103,40,78,45,60,54,48,68,42,85,41,105,45,135,58,158,76,174,97,183,118,186,141,182,158,174,170,163,181,155,192,151,201,153,208,157,212,163,215,169,216,176,259,183,259,225,119,225,87,220,58,207,35,184,20,151,15,108,20,73,35,42,58,18,87,1,119,-4,156,1,187,16,212,38,228,65,233,94,229,121,218,138,203,152,186,165,171,183,16383,16383,189,85,186,63,180,42,168,25,152,13,131,9,110,15,90,30,75,54,64,84,60,117,65,145,78,164,97,176,118,182,137,183,153,172,167,155,178,134,186,110,189,85,221,183,221,225,81,225,55,219,34,204,18,183,7,160,2,138,9,138,16,153,25,166,37,175,50,181,66,183,107,183,102,164,96,142,92,119,88,95,87,71,89,49,94,28,103,11,118,0,138,-4,157,0,172,10,183,27,191,48,193,71,185,71,182,59,176,49,169,42, 60,54,48,68,50,5,50,5,48,68,42,85,50,5,42,85,33,20,33,20,42,85,41,105,45,171,41,105,45,135,45,171,45,135,73,202,73,202,45,135,58,158,73,202,58,158,76,174,73,202,76,174,107,223,107,223,76,174,97,183,107,223,97,183,118,186,118,186,141,182,142,230,142,230,141,182,158,174,142,230,158,174,169,227,169,227,158,174,170,163,169,227,170,163,190,218,190,218,170,163,181,155,190,218,181,155,192,151,17,83,21,45,25,130,25,130,21,45,33,20,25,130,33,20,45,171,45,171,33,20,41,105,177,30,156,38,158,-1,158,-1,156,38,143,0,137,0,143,0,156,38,137,0,156,38,128,41,128,-1,137,0,128,41,128,-1,128,41,123,41,128,-1,123,41,119,41,128,-1,119,41,117,-2,105,-4,117,-2,107,40,111,40,107,40,117,-2,111,40,117,-2,115,40,115,40,117,-2,119,41,60,54,71,-2,78,45,78,45,71,-2,95,-4,78,45,95,-4,103,40,103,40,95,-4,105,-4,103,40,105,-4,107,40,128,-64,132,-108,134,-69,134,-69,132,-108,151,-104,134,-69,151,-104,140,-72,140,-72,151,-104,147,-74,159,-72,147,-74,151,-104,159,-72,151,-104,170,-93,204,-29,201,-3,199,-55,199,-55,201,-3,192,16,199,-55,192,16,188,-34,188,-34,187,-76,199,-55,158,-1,170,-5,177,30,177,30,170,-5,180,-12,177,30,180,-12,192,16,192,16,180,-12,186,-22,192,16,186,-22,188,-34,187,-76,188,-34,186,-47,187,-76,186,-47,180,-58,187,-76,180,-58,170,-67,187,-76,170,-67,170,-93,110,-60,111,-103,117,-59,117,-59,111,-103,121,-107,117,-59,121,-107,123,-61,123,-61,121,-107,132,-108,123,-61,132,-108,128,-64,97,-73,98,-90,99,-68,99,-68,98,-90,103,-98,99,-68,103,-98,104,-63,104,-63,103,-98,111,-103,104,-63,111,-103,110,-60,213,191,205,206,208,157,213,191,208,157,212,163,213,191,212,163,215,169,213,191,215,169,216,176,205,206,190,218,192,151,205,206,192,151,201,153,205,206,201,153,208,157,142,230,107,223,118,186,98,-90,97,-73,96,-80,159,-72,170,-93,170,-67,60,54,50,5,71,-2, 259,183,259,225,119,225,87,220,58,207,35,184,20,151,15,108,20,73,35,42,58,18,87,1,119,-4,156,1,187,16,212,38,228,65,233,94,229,121,218,138,203,152,186,165,171,183,16383,16383,189,85,186,63,180,42,168,25,152,13,131,9,110,15,90,30,75,54,64,84,60,117,65,145,78,164,97,176,118,182,137,183,153,172,167,155,178,134,186,110,189,85,221,183,221,225,81,225,55,219,34,204,18,183,7,160,2,138,9,138,16,153,25,166,37,175,50,181,66,183,107,183,102,164,96,142,92,119,88,95,87,71,89,49,94,28,103,11,118,0,138,-4,157,0,172,10,183,27,191,48,193,71,185,71,182,59,176,49,169,42,161,38,151,36,141,39,133,47,128,59,125,74,124,91,125,113,128,135,131,155,134,172, 186,63,180,42,187,16,187,16,180,42,168,25,187,16,168,25,156,1,156,1,168,25,152,13,156,1,152,13,131,9,131,9,110,15,119,-4,119,-4,110,15,90,30,119,-4,90,30,87,1,87,1,90,30,75,54,87,1,75,54,64,84,58,207,60,117,65,145,58,207,65,145,87,220,87,220,65,145,78,164,87,220,78,164,97,176,58,18,87,1,64,84,58,18,64,84,60,117,58,18,60,117,58,207,58,18,58,207,35,184,58,18,35,184,35,42,20,151,15,108,20,73,20,151,20,73,35,42,20,151,35,42,35,184,153,172,167,155,171,183,171,183,167,155,178,134,171,183,259,225,137,183,119,225,87,220,97,176,119,225,97,176,118,182,119,225,118,182,137,183,119,225,137,183,259,225,137,183,153,172,171,183,233,94,229,121,228,65,228,65,229,121,218,138,228,65,218,138,212,38,212,38,218,138,203,152,212,38,203,152,189,85,189,85,203,152,186,165,189,85,186,165,186,110,186,165,171,183,178,134,186,165,178,134,186,110,189,85,187,16,212,38,131,9,119,-4,156,1,186,63,187,16,189,85,259,225,171,183,259,183, 221,183,221,225,81,225,55,219,34,204,18,183,7,160,2,138,9,138,16,153,25,166,37,175,50,181,66,183,107,183,102,164,96,142,92,119,88,95,87,71,89,49,94,28,103,11,118,0,138,-4,157,0,172,10,183,27,191,48,193,71,185,71,182,59,176,49,169,42,161,38,151,36,141,39,133,47,128,59,125,74,124,91,125,113,128,135,131,155,134,172,136,183,127,230,127,220,139,218,149,214,159,209,168,201,177,191,186,176,193,159,198,141,201,122,202,104,200,75,193,49,182,28,165,14,142,9,121,14,106,28,97,47,92,68,91,87,91,193,90,205,86,215,80,222,71,226,60,228,47,225,36,216,26,203,16,188,8,172,15,170,18,176,28,188,33,193,39,194,43,192,46,187,48,180,49,170,49,99,51,66,60,38,76,15, 9,138,16,153,18,183,18,183,16,153,25,166,18,183,25,166,34,204,34,204,25,166,37,175,34,204,37,175,55,219,55,219,37,175,50,181,55,219,50,181,66,183,81,225,66,183,107,183,81,225,107,183,221,225,221,225,107,183,136,183,221,225,136,183,221,183,7,160,2,138,9,138,7,160,9,138,18,183,118,0,125,74,124,91,124,91,125,113,118,0,118,0,125,113,107,183,118,0,107,183,103,11,103,11,107,183,102,164,103,11,102,164,96,142,128,135,131,155,107,183,107,183,131,155,134,172,107,183,134,172,136,183,138,-4,157,0,141,39,141,39,157,0,151,36,161,38,151,36,157,0,161,38,157,0,172,10,185,71,182,59,183,27,185,71,183,27,191,48,185,71,191,48,193,71,176,49,169,42,172,10,176,49,172,10,183,27,176,49,183,27,182,59,138,-4,141,39,133,47,138,-4,133,47,128,59,138,-4,128,59,125,74,138,-4,125,74,118,0,103,11,96,142,94,28,94,28,96,142,92,119,94,28,92,119,89,49,89,49,92,119,88,95,89,49,88,95,87,71,161,38,172,10,169,42,66,183,81,225,55,219,128,135,107,183,125,113, 127,230,127,220,139,218,149,214,159,209,168,201,177,191,186,176,193,159,198,141,201,122,202,104,200,75,193,49,182,28,165,14,142,9,121,14,106,28,97,47,92,68,91,87,91,193,90,205,86,215,80,222,71,226,60,228,47,225,36,216,26,203,16,188,8,172,15,170,18,176,28,188,33,193,39,194,43,192,46,187,48,180,49,170,49,99,51,66,60,38,76,15,102,0,139,-4,174,1,204,18,227,43,242,75,247,113,241,155,226,188,202,211,173,225,141,230,134,9,124,10,114,13,104,18,94,25,86,34,76,52,68,72,63,94,61,116,60,137,63,166,73,189,88,206,109,216,134,221,134,228,132,229,129,229,126,230,121,230,84,224,54,207,33,181,19,150,15,114,19,78,33,46,55,20,85,3,123,-3,134,-4,134,-107,176,-107,176,-4,220,1,254,18,277,43,292,75,296,111,291,151,278,184,258,209,233,224,207,230,195,229,184,226,175,221,167,215,160,208,148,187,141,162,137,134,135,105,134,76,16383,16383,176,9,176,129, 18,176,23,182,26,203,26,203,23,182,28,188,26,203,28,188,36,216,36,216,28,188,33,193,36,216,33,193,39,194,39,194,43,192,47,225,47,225,43,192,46,187,47,225,46,187,48,180,16,188,8,172,15,170,16,188,15,170,18,176,16,188,18,176,26,203,49,99,51,66,49,159,49,170,49,159,60,228,49,170,60,228,48,180,48,180,60,228,47,225,91,87,91,193,90,205,91,87,90,205,86,215,91,87,86,215,80,222,91,87,80,222,92,68,141,230,127,230,139,218,141,230,139,218,149,214,141,230,149,214,173,225,200,75,193,49,204,18,204,18,193,49,182,28,204,18,182,28,174,1,174,1,182,28,165,14,174,1,165,14,142,9,142,9,121,14,139,-4,139,-4,121,14,106,28,139,-4,106,28,102,0,102,0,106,28,97,47,102,0,97,47,92,68,76,15,102,0,92,68,76,15,92,68,80,222,76,15,80,222,71,226,76,15,71,226,60,228,76,15,60,228,60,38,60,228,49,159,51,66,60,228,51,66,60,38,47,225,36,216,39,194,149,214,159,209,173,225,173,225,159,209,168,201,173,225,168,201,177,191,177,191,186,176,202,211,202,211,186,176,193,159,202,211,193,159,198,141,202,211,202,104,204,18,202,211,204,18,226,188,226,188,204,18,227,43,226,188,227,43,241,155,241,155,227,43,242,75,241,155,242,75,247,113,202,211,198,141,201,122,202,211,201,122,202,104,202,211,173,225,177,191,142,9,139,-4,174,1,200,75,204,18,202,104,139,218,127,230,127,220, 134,9,124,10,114,13,104,18,94,25,86,34,76,52,68,72,63,94,61,116,60,137,63,166,73,189,88,206,109,216,134,221,134,228,132,229,129,229,126,230,121,230,84,224,54,207,33,181,19,150,15,114,19,78,33,46,55,20,85,3,123,-3,134,-4,134,-107,176,-107,176,-4,220,1,254,18,277,43,292,75,296,111,291,151,278,184,258,209,233,224,207,230,195,229,184,226,175,221,167,215,160,208,148,187,141,162,137,134,135,105,134,76,16383,16383,176,9,176,129,177,155,178,179,182,198,189,211,201,216,218,209,232,190,243,164,249,134,252,103,250,74,243,49,231,28,214,14,191,9,243,225,194,225,123,93,113,139,103,177,92,206,79,224,63,230,49,227,38,217,31,202,27,182,26,156,34,156,37,171,41,182,46,190,51,194,56,195,67,192,77,183,85,168,93,147,101,119,110,78,6,-104,55,-104,126,26,136,-34,141,-57,148,-78,157,-94,168,-105,182,-109,198,-104,209,-90,216,-71,219,-52,220,-34,213,-34,210,-49,206,-61,201,-68,195,-72,187,-74,188,-74,177,-71,168,-63,160,-48,153,-27,147,1,138,41,342,228,332,230,316,230,290,224,273,209,262,187,256,162,254,136,253,103,249,69,239,39,223,17,197,9,197,225,155,225,155,9,129,17,112,39,103,69,99,104,98,137, 61,116,60,137,60,137,55,20,60,137,54,207,55,20,54,207,33,46,33,46,54,207,33,181,33,46,33,181,19,78,19,78,33,181,19,150,19,78,19,150,15,114,63,94,55,20,68,72,68,72,55,20,85,3,68,72,85,3,76,52,76,52,85,3,86,34,94,25,86,34,85,3,94,25,85,3,123,-3,61,116,60,137,55,20,61,116,55,20,63,94,135,105,134,76,176,-107,176,-107,134,76,134,9,176,-107,134,9,134,-4,134,-4,134,9,124,10,134,-4,124,10,123,-3,123,-3,124,10,114,13,123,-3,114,13,104,18,134,221,134,228,132,229,134,221,132,229,129,229,134,221,129,229,126,230,134,221,126,230,124,230,134,221,124,230,121,230,134,221,121,230,109,216,175,221,176,-107,176,129,176,9,176,-4,220,1,176,9,220,1,191,9,191,9,220,1,214,14,207,230,201,216,218,209,207,230,218,209,233,224,233,224,218,209,232,190,233,224,232,190,243,164,178,179,182,198,184,226,184,226,182,198,189,211,184,226,189,211,195,229,195,229,189,211,201,216,195,229,201,216,207,230,175,221,176,129,177,155,175,221,177,155,178,179,175,221,178,179,184,226,176,-107,175,221,167,215,176,-107,167,215,160,208,176,-107,160,208,148,187,176,-107,148,187,141,162,176,-107,141,162,137,134,176,-107,137,134,135,105,296,111,291,151,292,75,292,75,291,151,278,184,292,75,278,184,277,43,277,43,278,184,258,209,277,43,258,209,254,18,254,18,258,209,252,103,254,18,252,103,250,74,254,18,250,74,243,49,258,209,233,224,243,164,258,209,243,164,249,134,258,209,249,134,252,103,231,28,214,14,220,1,231,28,220,1,254,18,231,28,254,18,243,49,63,166,73,189,84,224,84,224,73,189,88,206,84,224,88,206,121,230,121,230,88,206,109,216,63,166,84,224,54,207,63,166,54,207,60,137,176,-107,134,-4,134,-107,94,25,123,-3,104,18, 243,225,194,225,123,93,113,139,103,177,92,206,79,224,63,230,49,227,38,217,31,202,27,182,26,156,34,156,37,171,41,182,46,190,51,194,56,195,67,192,77,183,85,168,93,147,101,119,110,78,6,-104,55,-104,126,26,136,-34,141,-57,148,-78,157,-94,168,-105,182,-109,198,-104,209,-90,216,-71,219,-52,220,-34,213,-34,210,-49,206,-61,201,-68,195,-72,187,-74,188,-74,177,-71,168,-63,160,-48,153,-27,147,1,138,41,342,228,332,230,316,230,290,224,273,209,262,187,256,162,254,136,253,103,249,69,239,39,223,17,197,9,197,225,155,225,155,9,129,17,112,39,103,69,99,104,98,137,96,163,90,188,78,210,61,224,36,230,31,230,25,229,14,229,10,228,10,220,30,210,42,190,49,164,52,137,52,114,55,72,65,39,84,15,114,0,155,-4,155,-107,197,-107,197,-4,236,0,265,16,285,41,296,74,300,114,300,137,303,164,310,190, 79,224,63,230,67,192,67,192,63,230,56,195,51,194,56,195,63,230,51,194,63,230,49,227,194,225,123,93,126,26,126,26,123,93,113,139,126,26,113,139,110,78,110,78,113,139,103,177,110,78,103,177,101,119,67,192,77,183,79,224,79,224,77,183,85,168,79,224,85,168,92,206,92,206,85,168,93,147,92,206,93,147,103,177,103,177,93,147,101,119,138,41,243,225,194,225,138,41,194,225,126,26,138,41,126,26,136,-34,138,41,136,-34,141,-57,138,41,141,-57,147,1,110,78,6,-104,55,-104,110,78,55,-104,126,26,210,-49,206,-61,209,-90,209,-90,206,-61,201,-68,209,-90,201,-68,198,-104,198,-104,201,-68,195,-72,198,-104,195,-72,188,-74,187,-74,188,-74,177,-71,187,-74,177,-71,182,-109,182,-109,177,-71,168,-105,177,-71,168,-63,168,-105,168,-105,168,-63,160,-48,168,-105,160,-48,157,-94,157,-94,160,-48,153,-27,157,-94,153,-27,148,-78,148,-78,153,-27,147,1,148,-78,147,1,141,-57,216,-71,219,-52,220,-34,216,-71,220,-34,213,-34,216,-71,213,-34,210,-49,216,-71,210,-49,209,-90,187,-74,182,-109,198,-104,187,-74,198,-104,188,-74,34,156,37,171,38,217,38,217,37,171,41,182,38,217,41,182,49,227,49,227,41,182,46,190,49,227,46,190,51,194,34,156,38,217,31,202,34,156,31,202,27,182,34,156,27,182,26,156, 342,228,332,230,316,230,290,224,273,209,262,187,256,162,254,136,253,103,249,69,239,39,223,17,197,9,197,225,155,225,155,9,129,17,112,39,103,69,99,104,98,137,96,163,90,188,78,210,61,224,36,230,31,230,25,229,14,229,10,228,10,220,30,210,42,190,49,164,52,137,52,114,55,72,65,39,84,15,114,0,155,-4,155,-107,197,-107,197,-4,236,0,265,16,285,41,296,74,300,114,300,137,303,164,310,190,322,211,342,221,180,223,206,218,226,203,240,179,249,146,252,104,252,76,248,51,242,29,229,14,210,9,200,12,190,20,181,33,174,51,170,73,173,85,177,105,178,115,179,127,177,145,174,158,169,168,163,173,156,175,149,173,143,168,138,159,135,145,133,126,134,114,135,103,137,94,139,84,142,73,138,51,132,33,123,20,113,12,100,9,82,15,71,31,64,54,61,81,60,109,63,149,73,180,88,204,108,218,132,223,132,230,94,225,62,211,37,186, 239,39,223,17,236,0,236,0,223,17,197,9,197,-107,197,9,155,-4,197,225,155,225,155,-4,197,225,155,-4,197,9,155,225,155,9,155,-4,155,-4,155,9,129,17,155,-4,129,17,114,0,114,0,129,17,112,39,114,0,112,39,103,69,99,104,98,137,96,163,99,104,96,163,90,188,99,104,90,188,84,15,99,104,84,15,103,69,52,114,55,72,61,224,61,224,55,72,65,39,61,224,65,39,78,210,78,210,65,39,84,15,78,210,84,15,90,188,42,190,49,164,61,224,61,224,49,164,52,137,61,224,52,137,52,114,61,224,36,230,42,190,42,190,36,230,31,230,42,190,31,230,30,210,30,210,31,230,25,229,30,210,25,229,19,229,14,229,10,228,30,210,14,229,30,210,19,229,262,187,256,162,265,16,265,16,256,162,254,136,265,16,254,136,253,103,342,221,342,228,337,229,342,221,337,229,332,230,342,221,332,230,327,230,342,221,327,230,322,211,303,164,310,190,316,230,316,230,310,190,322,211,316,230,322,211,321,230,321,230,322,211,327,230,262,187,265,16,273,209,273,209,265,16,285,41,273,209,285,41,290,224,290,224,285,41,296,74,290,224,296,74,300,137,300,137,296,74,300,114,290,224,300,137,303,164,290,224,303,164,316,230,265,16,253,103,249,69,265,16,249,69,239,39,265,16,239,39,236,0,197,9,197,-4,236,0,197,-107,155,-4,155,-107,30,210,10,228,10,220,103,69,84,15,114,0, 180,223,206,218,226,203,240,179,249,146,252,104,252,76,248,51,242,29,229,14,210,9,200,12,190,20,181,33,174,51,170,73,173,85,177,105,178,115,179,127,177,145,174,158,169,168,163,173,156,175,149,173,143,168,138,159,135,145,133,126,134,114,135,103,137,94,139,84,142,73,138,51,132,33,123,20,113,12,100,9,82,15,71,31,64,54,61,81,60,109,63,149,73,180,88,204,108,218,132,223,132,230,94,225,62,211,37,186,20,151,15,104,15,84,18,66,23,50,30,35,39,23,49,13,59,5,70,0,81,-3,93,-4,109,-2,123,3,136,12,147,26,156,43,164,26,175,12,187,3,202,-2,218,-4,230,-3,242,0,253,5,263,13,273,23,282,35,289,49,294,66,296,85,297,105,292,152,275,187,250,211,218,225,180,230,158,286,157,294,153,301,148,306,141,310,133,311,125,310,118,306,113,301,110,294,108,286,109,278,113,272,118,266,125,263,132,262,140,263,148,266,153,272,157,278,158,286,16383,16383,59,286,57,294,54,301,48,306,41,310,33,311,26,310,19,306,14,301,10,294,9,286,10,278,14,272,19,266,25,263,33,262,41,263,48,266,54,272,57,278,59,286,16383,16383,138,54,132,43,127,36,122,31,118,29,112,28,108,29,105,31,103,33,102,36,102,228,99,230,84,224,68,219,53,214,37,208,22,204,22,195,27,196,49,196,54,193,57,188,59,181,60,172,60,39,61,26,63,14,69,4,77,-2,89,-4,104,-1,117,7,128,20,138,35,146,50,202,286,201,294,197,301,192,306,185,310,177,311,169,310,162,306,157,301,154,294,152,286,154,278, 71,31,64,54,70,0,70,0,64,54,61,81,70,0,61,81,59,5,59,5,61,81,60,109,62,211,60,109,63,149,62,211,63,149,73,180,108,218,132,223,132,230,108,218,132,230,94,225,108,218,94,225,88,204,94,225,62,211,73,180,94,225,73,180,88,204,23,50,30,35,37,186,37,186,30,35,39,23,37,186,39,23,62,211,62,211,39,23,49,13,62,211,49,13,60,109,60,109,49,13,59,5,20,151,15,104,15,84,20,151,15,84,18,66,20,151,18,66,23,50,20,151,23,50,37,186,81,-3,93,-4,82,15,82,15,93,-4,100,9,113,12,100,9,109,-2,113,12,109,-2,123,3,71,31,70,0,81,-3,71,31,81,-3,82,15,174,51,170,73,175,12,174,158,170,73,173,85,174,158,173,85,175,95,177,145,174,158,175,95,177,145,175,95,177,105,177,145,177,105,178,115,177,145,178,115,179,127,156,175,156,43,163,173,163,173,156,43,164,26,163,173,164,26,169,168,169,168,164,26,170,73,169,168,170,73,174,158,174,51,175,12,181,33,181,33,175,12,187,3,181,33,187,3,190,20,190,20,187,3,202,-2,190,20,202,-2,200,12,200,12,202,-2,210,9,229,14,210,9,218,-4,229,14,218,-4,230,-3,282,35,289,49,292,152,292,152,289,49,294,66,292,152,294,66,297,105,297,105,294,66,296,85,275,187,250,211,252,104,275,187,252,104,253,5,275,187,253,5,263,13,275,187,263,13,273,23,275,187,273,23,282,35,275,187,282,35,292,152,240,179,249,146,250,211,250,211,249,146,252,104,253,5,252,104,252,76,240,179,250,211,226,203,226,203,250,211,218,225,226,203,218,225,206,218,206,218,218,225,180,230,206,218,180,230,180,223,229,14,230,-3,242,29,242,29,230,-3,242,0,242,29,242,0,248,51,248,51,242,0,253,5,248,51,253,5,252,76,210,9,202,-2,218,-4,139,84,142,73,143,168,143,168,142,73,147,26,143,168,147,26,149,173,149,173,147,26,156,43,149,173,156,43,156,175,147,26,142,73,138,51,147,26,138,51,136,12,136,12,138,51,132,33,136,12,132,33,123,3,123,3,132,33,123,20,123,3,123,20,113,12,138,159,135,145,135,103,138,159,135,103,137,94,138,159,137,94,139,84,138,159,139,84,143,168,135,145,133,126,134,114,135,145,134,114,135,103,100,9,93,-4,109,-2,170,73,164,26,175,12, 272,145,263,146,255,146,246,147,238,148,230,150,229,176,225,203,220,230,212,257,201,281,191,300,179,316,163,329,144,338,121,342,100,339,80,331,63,316,50,294,46,264,53,226,74,194,104,168,142,149,185,137,186,133,186,116,185,85,180,56,171,32,157,15,137,9,115,14,101,28,91,46,87,66,85,84,85,110,84,131,81,145,76,154,67,159,55,160,43,158,31,151,20,140,9,125,0,105,7,100,15,114,20,123,25,128,29,131,33,132,37,131,39,128,42,123,43,115,44,104,44,93,46,61,55,34,72,13,97,0,133,-4,172,3,200,26,217,58,227,95,230,134,247,134,256,135,272,137,16383,16383,185,161,141,182,112,208,95,235,86,260,84,280,86,295,91,307,99,316,109,321,119,323,135,320,149,310,162,289,173,253,181,200,181,198,182,193,183,184,184,174,185,161,198,208,186,255,169,291,146,317,117,332,81,337,67,336,53,332,39,327,26,319,15,311,18,303,25,305,33,308,41,310,49,311,55,312,84,306,109,289,130,257,146,211,157,147,157,61,156,39,153,25,144,16,130,12,107,9,107,0,260,0,260,9,239,11,224,15,215,23,210,36,209,55,209,126,211,167,220,219,236,270,261,309,296,325,299,325,305,323,308,321,309,319,307,315,296,304,291,295,289,285,290,276,294,268,301,262,308,259,318,257,329,259,338,265,344,273,348,284,349,295,346,309,339,320,329,330,317,336,303,338,268,330,241,308,221,277,207,242,199,208,176,342,134,342,134,230,126,230,86,224,55,206,32,180,19,149,15,114,19,79,33,47,55,20,85,2,123,-4,134,-4,134,-107,176,-107,176,-4,223,2,257,21,280,48,292,81,296,116,294,143,286,168,272,190, 20,123,25,128,31,151,31,151,25,128,29,131,31,151,29,131,33,132,33,132,37,131,43,158,43,158,37,131,39,128,43,158,39,128,42,123,0,105,7,100,9,125,9,125,7,100,15,114,9,125,15,114,20,140,20,140,15,114,20,123,20,140,20,123,31,151,44,104,46,61,55,160,55,160,46,61,55,34,55,160,55,34,67,159,67,159,55,34,72,13,67,159,72,13,76,154,76,154,72,13,87,66,76,154,87,66,85,84,85,84,85,110,84,131,85,84,84,131,81,145,85,84,81,145,76,154,121,342,119,323,135,320,121,342,135,320,144,338,144,338,135,320,149,310,144,338,149,310,163,329,163,329,149,310,162,289,163,329,162,289,173,253,180,56,171,32,172,3,172,3,171,32,157,15,172,3,157,15,137,9,137,9,115,14,133,-4,133,-4,115,14,101,28,133,-4,101,28,97,0,97,0,101,28,91,46,97,0,91,46,87,66,43,115,44,104,55,160,43,115,55,160,43,158,43,115,43,158,42,123,43,158,31,151,33,132,272,137,272,145,264,136,264,136,272,145,263,146,264,136,263,146,256,135,256,135,263,146,255,146,256,135,255,146,247,134,247,134,255,146,246,147,247,134,246,147,238,134,238,134,246,147,238,148,238,134,238,148,230,150,230,150,229,176,230,134,230,134,229,176,227,95,229,176,225,203,227,95,227,95,225,203,220,230,227,95,220,230,217,58,217,58,220,230,212,257,217,58,212,257,201,281,217,58,201,281,200,26,200,26,201,281,191,300,200,26,191,300,186,116,186,116,185,85,200,26,200,26,185,85,180,56,200,26,180,56,172,3,137,9,133,-4,172,3,238,134,230,150,230,134,91,307,99,316,100,339,100,339,99,316,109,321,100,339,109,321,121,342,121,342,109,321,119,323,80,331,84,280,86,295,80,331,86,295,100,339,100,339,86,295,91,307,191,300,179,316,181,200,191,300,181,200,181,198,191,300,181,198,182,193,191,300,182,193,183,184,191,300,183,184,184,174,191,300,184,174,185,161,191,300,185,161,185,137,191,300,185,137,186,133,191,300,186,133,186,129,191,300,186,129,186,124,191,300,186,124,186,120,191,300,186,120,186,116,185,161,141,182,142,149,185,161,142,149,185,137,112,208,95,235,104,168,112,208,104,168,142,149,112,208,142,149,141,182,86,260,84,280,74,194,86,260,74,194,104,168,86,260,104,168,95,235,84,280,80,331,74,194,74,194,80,331,63,316,74,194,63,316,53,226,53,226,63,316,50,294,53,226,50,294,46,264,173,253,181,200,179,316,173,253,179,316,163,329,46,61,44,104,44,93,87,66,72,13,97,0, 176,342,134,342,134,230,126,230,86,224,55,206,32,180,19,149,15,114,19,79,33,47,55,20,85,2,123,-4,134,-4,134,-107,176,-107,176,-4,223,2,257,21,280,48,292,81,296,116,294,143,286,168,272,190,254,208,230,222,221,225,211,228,189,230,176,230,16383,16383,176,9,176,216,203,210,225,193,240,168,249,137,252,102,249,73,243,48,231,27,214,14,191,9,16383,16383,135,9,125,10,114,13,104,18,95,25,86,34,77,51,69,70,64,91,61,113,60,137,62,164,70,186,82,202,99,212,120,216,135,216,363,183,363,225,77,225,53,219,33,204,18,183,8,160,3,137,11,137,18,152,27,164,36,174,48,181,61,183,84,183,76,169,69,153,64,137,61,120,60,103,64,64,76,34,92,12,112,0,134,-4,153,-2,169,3,182,12,193,26,201,43,210,25,221,12,233,2,247,-2,261,-4,286,0,309,12,327,33,339,63,343,102,342,119,340,136,336,153,329,169,320,183,16383,16383,279,183,285,171,291,155,295,138,297,120,298,103,297,76,293,51,286,29,275,15,258,9,246,12,236,20,226,33,219,51,215,74,218,82, 296,116,294,143,292,81,292,81,294,143,286,168,292,81,286,168,280,48,280,48,286,168,272,190,280,48,272,190,257,21,257,21,272,190,254,208,257,21,254,208,252,102,221,225,225,193,230,222,230,222,225,193,240,168,230,222,240,168,254,208,254,208,240,168,249,137,254,208,249,137,252,102,211,228,200,229,203,210,211,228,203,210,225,193,211,228,225,193,221,225,200,229,189,230,203,210,203,210,189,230,176,230,203,210,176,230,176,216,176,216,176,230,176,342,176,216,176,342,135,216,135,216,176,342,134,342,135,216,134,342,134,230,257,21,252,102,249,73,257,21,249,73,243,48,257,21,243,48,231,27,257,21,231,27,223,2,231,27,214,14,223,2,223,2,214,14,191,9,223,2,191,9,176,-4,176,-4,191,9,176,9,176,-4,176,9,176,-107,176,-107,176,9,135,216,176,-107,135,216,135,9,134,-4,134,-107,176,-107,134,-4,176,-107,135,9,134,-4,135,9,125,10,134,-4,125,10,123,-4,69,70,85,2,77,51,77,51,85,2,86,34,95,25,86,34,85,2,95,25,85,2,123,-4,82,202,86,224,70,186,70,186,86,224,55,206,70,186,55,206,62,164,62,164,55,206,60,137,61,113,60,137,55,20,61,113,55,20,64,91,64,91,55,20,85,2,64,91,85,2,69,70,123,-4,125,10,114,13,123,-4,114,13,104,18,123,-4,104,18,95,25,126,230,86,224,99,212,126,230,99,212,120,216,126,230,120,216,135,216,126,230,135,216,134,230,55,20,60,137,55,206,55,20,55,206,33,47,33,47,55,206,32,180,33,47,32,180,19,79,19,79,32,180,19,149,19,79,19,149,15,114,86,224,82,202,99,212,176,216,135,216,176,9, 363,183,363,225,77,225,53,219,33,204,18,183,8,160,3,137,11,137,18,152,27,164,36,174,48,181,61,183,84,183,76,169,69,153,64,137,61,120,60,103,64,64,76,34,92,12,112,0,134,-4,153,-2,169,3,182,12,193,26,201,43,210,25,221,12,233,2,247,-2,261,-4,286,0,309,12,327,33,339,63,343,102,342,119,340,136,336,153,329,169,320,183,16383,16383,279,183,285,171,291,155,295,138,297,120,298,103,297,76,293,51,286,29,275,15,258,9,246,12,236,20,226,33,219,51,215,74,218,82,220,90,222,99,224,115,223,126,221,138,217,149,211,156,202,159,193,156,186,149,182,139,180,127,179,116,180,107,181,99,185,81,188,74,183,51,176,33,167,19,156,12,143,9,126,15,115,30,108,52,106,76,105,99,106,118,108,137,112,153,118,169,125,183,155,-46,154,-68,151,-83,143,-91,129,-96,108,-98,108,-107,254,-107,254,-98,233,-96,219,-92,211,-84,207,-71,206,-52,206,-4,252,8,290,33,319,68,337,113,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,23,114,42,69,71,33,109,8,155,-4,16383,16383,287,169,285,134,280,103,272,76,260,53,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,52,90,75,81,102,76,132,74,166,76,194,80,222,87,247,97,269,108,286,121,298,134,308,149,314,164,318,180,320,194,319,207,316,219,311,231,305,242,296,257,279,270,257,279,231,285,201,287,169,103,-107,146,-107,146,-2,176,7,200,26,219,50,231,81,235,116,230,154,215,186,191,210,162,225,127,230,90,225,58,209,35,185,20,153,15,114, 11,137,18,152,18,183,18,183,18,152,27,164,18,183,27,164,33,204,33,204,27,164,36,174,33,204,36,174,53,219,53,219,36,174,48,181,53,219,48,181,61,183,77,225,61,183,84,183,77,225,84,183,363,225,363,225,84,183,125,183,363,225,125,183,279,183,8,160,3,137,11,137,8,160,11,137,18,183,108,137,112,153,84,183,84,183,112,153,118,169,84,183,118,169,125,183,108,52,112,0,115,30,115,30,112,0,134,-4,115,30,134,-4,126,15,126,15,134,-4,143,9,156,12,143,9,153,-2,156,12,153,-2,169,3,105,99,92,12,106,76,106,76,92,12,112,0,106,76,112,0,108,52,219,51,215,74,221,12,217,149,215,74,218,82,217,149,218,82,221,138,221,138,218,82,220,90,221,138,220,90,222,99,223,126,221,138,222,99,223,126,222,99,223,107,223,126,223,107,224,115,188,74,193,26,193,156,193,156,193,26,201,43,193,156,201,43,202,159,202,159,201,43,210,25,202,159,210,25,211,156,211,156,210,25,215,74,211,156,215,74,217,149,219,51,221,12,226,33,226,33,221,12,233,2,226,33,233,2,236,20,236,20,233,2,247,-2,236,20,247,-2,246,12,246,12,247,-2,258,9,275,15,258,9,261,-4,275,15,261,-4,286,0,363,225,279,183,285,171,363,225,285,171,291,155,363,225,291,155,320,183,363,225,320,183,363,183,340,136,336,153,339,63,339,63,336,153,329,169,339,63,329,169,327,33,327,33,329,169,320,183,327,33,320,183,309,12,309,12,320,183,298,103,291,155,295,138,320,183,320,183,295,138,297,120,320,183,297,120,298,103,106,118,108,137,84,183,106,118,84,183,92,12,106,118,92,12,105,99,340,136,339,63,343,102,340,136,343,102,342,119,309,12,298,103,297,76,309,12,297,76,293,51,309,12,293,51,286,29,309,12,286,29,286,0,258,9,247,-2,261,-4,186,149,182,139,183,90,186,149,183,90,185,81,186,149,185,81,188,74,186,149,188,74,193,156,179,116,180,107,180,127,180,127,180,107,181,99,180,127,181,99,182,139,182,139,181,99,183,90,193,26,188,74,183,51,193,26,183,51,182,12,182,12,183,51,176,33,182,12,176,33,169,3,169,3,176,33,167,19,169,3,167,19,156,12,143,9,134,-4,153,-2,76,169,69,153,76,34,76,169,76,34,92,12,76,169,92,12,84,183,64,137,61,120,64,64,64,137,64,64,76,34,64,137,76,34,69,153,64,64,61,120,60,103,275,15,286,0,286,29,61,183,77,225,53,219,215,74,210,25,221,12, 257,225,206,225,111,104,110,104,112,114,114,125,115,138,117,150,117,160,115,183,108,202,97,217,82,226,64,230,53,229,43,225,35,219,29,210,27,198,28,193,31,188,35,184,40,181,46,180,54,181,60,184,63,188,67,191,71,192,81,190,89,184,95,174,99,162,100,148,99,136,98,121,96,107,94,94,91,85,21,0,73,0,170,121,171,121,168,111,166,100,164,88,163,76,162,65,164,46,170,27,180,11,194,0,214,-4,225,-3,236,0,244,5,250,14,252,26,251,32,248,37,244,41,239,43,233,44,225,43,219,40,213,34,209,33,199,35,191,40,185,50,181,64,180,85,180,98,181,111,183,122,186,132,189,141,213,-107,214,-103,216,-93,217,-89,217,-86,202,-54,166,-40,119,-30,75,-8,44,40,45,40,55,24,69,11,86,2,106,-2,131,-4,166,1,195,18,217,44,230,75,235,110,230,150,217,183,195,208,166,224,129,230,83,221,50,197,29,163,18,126,15,89,15,69,16,49,18,29,22,10,28,-6,65,-50,110,-71,154,-79,189,-88,205,-107,16383,16383,190,108,188,82,183,55,173,32,157,15,133,9,105,17,85,37,70,66,62,101,60,137,63,166,71,188,83,203,100,213,120,216,141,210,160,195,175,171,186,142,190,108,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24, 95,174,97,217,89,184,89,184,97,217,82,226,89,184,82,226,81,190,81,190,82,226,71,192,67,191,71,192,82,226,67,191,82,226,64,230,206,225,111,104,170,121,170,121,111,104,94,94,170,121,94,94,91,85,91,85,21,0,73,0,112,114,114,125,115,183,115,183,114,125,115,138,115,183,115,138,117,160,117,160,115,138,117,150,110,104,112,114,115,183,110,104,115,183,108,202,110,104,108,202,100,148,110,104,100,148,99,136,110,104,99,136,98,121,110,104,98,121,96,107,110,104,96,107,94,94,110,104,94,94,111,104,191,40,185,50,194,0,194,0,185,50,181,64,194,0,181,64,180,11,180,11,181,64,180,85,171,121,180,85,180,98,171,121,180,98,181,111,186,132,189,141,206,225,186,132,206,225,183,122,183,122,206,225,171,121,183,122,171,121,181,111,206,225,189,141,257,225,99,162,100,148,108,202,99,162,108,202,97,217,91,85,73,0,170,121,225,43,219,40,225,-3,225,-3,219,40,216,37,225,-3,216,37,214,-4,214,-4,216,37,213,34,214,-4,213,34,209,33,209,33,199,35,214,-4,214,-4,199,35,194,0,252,26,251,32,250,14,250,14,251,32,248,37,250,14,248,37,244,5,244,5,248,37,244,41,244,5,244,41,239,43,225,43,225,-3,233,44,233,44,225,-3,236,0,233,44,236,0,239,43,239,43,236,0,244,5,171,121,168,111,170,27,171,121,170,27,180,11,171,121,180,11,180,85,166,100,164,88,164,46,166,100,164,46,170,27,166,100,170,27,168,111,163,76,162,65,164,46,163,76,164,46,164,88,64,230,53,229,54,181,64,230,54,181,60,184,64,230,60,184,63,188,64,230,63,188,67,191,35,184,40,181,43,225,43,225,40,181,46,180,43,225,46,180,53,229,53,229,46,180,54,181,27,198,28,193,29,210,29,210,28,193,31,188,29,210,31,188,35,219,35,219,31,188,35,184,35,219,35,184,43,225,97,217,95,174,99,162,191,40,194,0,199,35,206,225,170,121,171,121, 213,-107,214,-103,216,-93,217,-89,217,-86,202,-54,166,-40,119,-30,75,-8,44,40,45,40,55,24,69,11,86,2,106,-2,131,-4,166,1,195,18,217,44,230,75,235,110,230,150,217,183,195,208,166,224,129,230,83,221,50,197,29,163,18,126,15,89,15,69,16,49,18,29,22,10,28,-6,65,-50,110,-71,154,-79,189,-88,205,-107,16383,16383,190,108,188,82,183,55,173,32,157,15,133,9,105,17,85,37,70,66,62,101,60,137,63,166,71,188,83,203,100,213,120,216,141,210,160,195,175,171,186,142,190,108,344,166,336,222,314,269,280,306,235,330,180,338,126,330,81,307,46,271,24,224,17,167,24,109,46,61,81,24,126,1,180,-6,234,1,279,24,314,60,336,108,344,166,16383,16383,74,180,77,205,82,229,88,251,97,271,108,286,121,299,134,308,149,315,164,318,180,320,194,319,207,316,219,311,231,305,242,296,256,281,268,261,277,237,284,210,286,180,16383,16383,287,157,285,126,279,98,271,73,260,52,246,35,235,26,223,19,209,15,196,12,181,11,167,12,154,15,142,19,130,25,119,33,103,51,91,73,82,98, 28,-6,65,-50,44,40,44,40,65,-50,75,-8,75,-8,65,-50,110,-71,75,-8,110,-71,119,-30,119,-30,110,-71,154,-79,119,-30,154,-79,166,-40,166,-40,154,-79,189,-88,166,-40,189,-88,202,-54,202,-54,189,-88,205,-107,202,-54,205,-107,217,-86,217,-86,205,-107,213,-107,217,-86,213,-107,214,-103,55,24,69,11,60,137,60,137,63,166,50,197,50,197,63,166,71,188,50,197,71,188,83,221,83,221,71,188,83,203,83,221,83,203,129,230,129,230,83,203,100,213,129,230,100,213,120,216,120,216,141,210,129,230,129,230,141,210,166,224,133,9,106,-2,131,-4,133,9,131,-4,166,1,133,9,105,17,106,-2,86,2,106,-2,105,17,86,2,105,17,85,37,86,2,85,37,70,66,86,2,70,66,69,11,62,101,60,137,69,11,62,101,69,11,70,66,188,82,183,55,195,18,195,18,183,55,173,32,195,18,173,32,166,1,166,1,173,32,157,15,166,1,157,15,133,9,175,171,186,142,195,208,195,208,186,142,190,108,195,18,190,108,188,82,166,224,141,210,160,195,166,224,160,195,175,171,166,224,175,171,195,208,195,18,217,44,217,183,217,183,217,44,230,75,217,183,230,75,230,150,230,150,230,75,235,110,195,208,190,108,195,18,195,208,195,18,217,183,217,-86,214,-103,215,-98,217,-86,215,-98,216,-93,217,-86,216,-93,217,-89,16,49,18,29,18,126,18,126,18,29,22,10,18,126,22,10,29,163,29,163,22,10,28,-6,29,163,28,-6,44,40,18,126,15,89,15,69,18,126,15,69,16,49,44,40,45,40,50,197,50,197,45,40,55,24,50,197,55,24,60,137,50,197,29,163,44,40, 196,56,183,41,169,29,155,22,139,17,123,16,100,21,82,35,68,56,60,82,57,112,155,112,155,127,57,127,61,151,69,175,82,196,99,210,119,215,142,212,158,203,169,191,177,177,183,162,191,162,184,230,176,230,174,224,173,222,171,220,167,220,160,221,152,223,144,226,133,229,118,230,82,223,53,205,31,178,17,145,12,108,17,74,30,44,50,18,78,1,112,-4,136,-1,157,5,176,17,191,33,204,52,23,169,37,184,50,195,65,203,80,208,97,209,119,204,138,190,151,169,159,143,162,113,65,113,65,98,162,98,159,73,150,50,137,29,120,15,100,9,77,13,61,21,50,34,42,48,36,63,28,63,36,-4,44,-4,44,-1,46,3,52,5,60,4,67,1,76,0,87,-3,101,-4,137,2,167,20,189,47,202,80,207,117,203,150,190,181,169,207,142,224,108,230,84,227,62,220,44,208,28,192,16,172,243,411, 155,112,155,127,57,112,57,112,57,127,53,205,53,205,57,127,61,151,53,205,61,151,82,223,82,223,61,151,69,175,82,223,69,175,82,196,68,56,78,1,82,35,82,35,78,1,112,-4,82,35,112,-4,100,21,100,21,112,-4,123,16,139,17,123,16,136,-1,139,17,136,-1,157,5,60,82,57,112,50,18,60,82,50,18,78,1,60,82,78,1,68,56,12,108,17,74,17,145,17,145,17,74,30,44,17,145,30,44,31,178,31,178,30,44,50,18,31,178,50,18,53,205,53,205,50,18,57,112,158,203,169,191,160,221,160,221,169,191,167,220,171,220,167,220,169,191,171,220,169,191,177,177,184,230,176,230,177,177,184,230,177,177,183,162,184,230,183,162,191,162,177,177,176,230,175,227,177,177,175,227,174,224,177,177,174,224,173,222,177,177,173,222,171,220,133,229,119,215,142,212,133,229,142,212,144,226,144,226,142,212,158,203,144,226,158,203,152,223,152,223,158,203,160,221,204,52,196,56,191,33,191,33,196,56,183,41,191,33,183,41,176,17,176,17,183,41,169,29,176,17,169,29,157,5,157,5,169,29,155,22,157,5,155,22,139,17,123,16,112,-4,136,-1,118,230,82,223,82,196,118,230,82,196,99,210,118,230,99,210,119,215,118,230,119,215,133,229,57,127,57,112,155,127, 350,0,350,9,337,12,327,17,319,26,311,38,304,55,180,337,171,337,68,93,52,58,41,34,31,20,19,13,4,9,4,0,104,0,104,9,91,10,81,12,74,16,70,22,69,30,69,34,70,38,71,43,72,47,74,51,97,108,228,108,248,61,254,45,256,38,257,31,257,23,256,21,255,18,251,14,247,12,239,10,232,10,223,9,223,0,16383,16383,220,128,105,128,162,266,108,183,108,294,109,301,111,306,114,310,119,311,126,312,188,312,202,311,217,307,230,300,242,287,251,267,252,263,253,258,255,254,256,250,256,247,268,247,266,331,9,331,9,321,30,320,44,315,52,308,56,295,57,275,57,56,56,37,52,24,43,16,29,11,9,9,9,0,169,0,209,4,242,16,267,35,283,60,289,91,280,132,256,159,223,174,185,181,146,183,16383,16383,108,163, 52,58,70,22,69,30,69,30,69,34,68,93,68,93,69,34,70,38,68,93,70,38,71,43,243,11,239,10,350,0,350,0,239,10,232,10,350,0,232,10,223,9,72,47,74,51,171,337,171,337,74,51,97,108,171,337,97,108,105,128,105,128,97,108,228,108,105,128,228,108,220,128,220,128,228,108,304,55,220,128,304,55,180,337,256,21,255,18,350,0,350,0,255,18,253,16,350,0,253,16,251,14,251,14,247,12,350,0,350,0,247,12,243,11,257,26,350,0,327,17,257,26,327,17,319,26,257,26,319,26,311,38,257,26,311,38,304,55,257,26,304,55,257,31,304,55,228,108,248,61,304,55,248,61,251,53,304,55,251,53,254,45,304,55,254,45,256,38,304,55,256,38,257,31,171,337,105,128,162,266,171,337,162,266,220,128,171,337,220,128,180,337,68,93,52,58,69,30,72,47,171,337,68,93,72,47,68,93,71,43,337,12,327,17,350,0,337,12,350,0,350,9,257,23,256,21,350,0,257,23,350,0,257,26,104,0,104,9,91,10,104,0,91,10,81,12,104,0,81,12,41,34,104,0,41,34,31,20,104,0,31,20,19,13,104,0,19,13,4,9,104,0,4,9,4,0,41,34,81,12,74,16,41,34,74,16,70,22,41,34,70,22,52,58,350,0,223,9,223,0, 108,183,108,294,109,301,111,306,114,310,119,311,126,312,188,312,202,311,217,307,230,300,242,287,251,267,252,263,253,258,255,254,256,250,256,247,268,247,266,331,9,331,9,321,30,320,44,315,52,308,56,295,57,275,57,56,56,37,52,24,43,16,29,11,9,9,9,0,169,0,209,4,242,16,267,35,283,60,289,91,280,132,256,159,223,174,185,181,146,183,16383,16383,108,163,138,163,166,161,191,154,212,141,226,120,231,89,226,59,212,39,190,27,162,21,131,19,120,20,113,22,110,26,108,33,108,41,212,180,226,183,237,187,245,190,253,195,260,200,267,208,273,218,277,229,280,240,281,252,275,281,259,303,233,318,196,328,150,331,9,331,9,321,30,320,44,316,52,308,56,295,57,275,57,56,56,37,52,24,43,16,30,11,9,9,9,0,178,0,218,4,251,17,276,37,292,63,297,94,296,107,293,120,289,131,282,142,273,151,264,159,255,165,244,171,230,175,212,179,16383,16383,108,188,108,296,109,302,110,307,113,310,116,311,121,312,141,312,173,310,198,302,215,290,226,273,229,250,226,228,217,210,203,198, 52,24,43,16,169,0,169,0,43,16,29,11,169,0,29,11,9,9,44,315,52,308,266,331,266,331,52,308,119,311,266,331,119,311,126,312,266,331,126,312,188,312,266,331,188,312,202,311,217,307,230,300,266,331,266,331,230,300,242,287,266,331,242,287,251,267,251,267,252,263,266,331,266,331,252,263,253,258,266,331,253,258,255,254,266,331,255,254,256,250,266,331,256,250,256,247,266,331,256,247,268,247,57,275,108,33,108,41,108,183,108,163,138,163,108,183,138,163,146,183,146,183,138,163,166,161,146,183,166,161,185,181,185,181,166,161,191,154,185,181,191,154,223,174,223,174,191,154,212,141,223,174,212,141,226,120,57,275,108,41,108,294,57,275,108,294,109,301,57,275,109,301,111,306,57,275,111,306,114,310,57,275,114,310,56,295,119,311,52,308,56,295,119,311,56,295,114,310,30,320,44,315,266,331,30,320,266,331,9,331,30,320,9,331,9,321,231,89,226,59,242,16,242,16,226,59,212,39,242,16,212,39,209,4,209,4,212,39,190,27,209,4,190,27,169,0,169,0,190,27,162,21,169,0,162,21,131,19,131,19,120,20,169,0,169,0,120,20,113,22,169,0,113,22,56,37,56,37,113,22,57,56,231,89,242,16,256,159,256,159,242,16,267,35,256,159,267,35,280,132,280,132,267,35,283,60,280,132,283,60,289,91,226,120,231,89,256,159,226,120,256,159,223,174,57,56,113,22,110,26,57,56,110,26,108,33,57,56,108,33,57,275,169,0,9,9,9,0,52,24,169,0,56,37,266,331,202,311,217,307, 212,180,226,183,237,187,245,190,253,195,260,200,267,208,273,218,277,229,280,240,281,252,275,281,259,303,233,318,196,328,150,331,9,331,9,321,30,320,44,316,52,308,56,295,57,275,57,56,56,37,52,24,43,16,30,11,9,9,9,0,178,0,218,4,251,17,276,37,292,63,297,94,296,107,293,120,289,131,282,142,273,151,264,159,255,165,244,171,230,175,212,179,16383,16383,108,188,108,296,109,302,110,307,113,310,116,311,121,312,141,312,173,310,198,302,215,290,226,273,229,250,226,228,217,210,203,198,182,191,155,188,16383,16383,108,168,139,168,163,167,182,164,199,158,217,148,225,141,232,131,237,120,239,108,240,94,239,82,237,69,233,58,228,48,221,41,208,31,195,25,180,21,162,19,140,19,127,20,119,22,113,26,109,33,108,41,272,242,270,331,9,331,9,321,28,320,41,315,48,307,52,294,53,275,53,57,52,37,48,24,41,16,28,12,9,9,9,0,150,0,150,9,130,12,117,16,109,24,105,37,104,56,104,302,106,307,109,310,114,312,192,312,206,311,221,307,234,300,246,286,255,267,256,262,258,256,259,250,260,245,260,242,323,-75,323,9,303,11,291,17,283,27,279,40,278,57,278,274,280,293,283,307,291,315,304,319,323,321,323,331,47,331,47,321,62,320,75,316,83,308,88,295,90,275,87,172,79,97,65,46,45,18,17,9,7,9,7,-75,19,-75,19,-72,20,-67,21,-60,23,-54,24,-49,32,-29,43,-15,56,-5,71,0,259,0,274,-5,287,-15,298,-29,306,-49,307,-54,308,-60,309,-67,310,-72,311,-75,16383,16383,228,41,227,33,225,27,222,22,217,20, 52,24,43,16,178,0,178,0,43,16,30,11,178,0,30,11,9,9,56,295,57,275,113,310,56,295,113,310,150,331,150,331,113,310,116,311,150,331,116,311,121,312,150,331,121,312,141,312,150,331,141,312,173,310,208,31,195,25,218,4,218,4,195,25,180,21,218,4,180,21,178,0,178,0,180,21,162,19,178,0,162,19,140,19,140,19,127,20,178,0,178,0,127,20,119,22,178,0,119,22,56,37,56,37,119,22,57,56,259,303,233,318,237,187,237,187,233,318,229,250,237,187,229,250,226,228,237,187,226,228,226,183,226,183,226,228,217,210,226,183,217,210,212,180,212,180,217,210,203,198,212,180,203,198,212,179,212,179,203,198,217,148,212,179,217,148,230,175,230,175,217,148,225,141,155,188,163,167,182,191,182,191,163,167,182,164,182,191,182,164,203,198,203,198,182,164,199,158,203,198,199,158,217,148,237,69,233,58,251,17,251,17,233,58,228,48,251,17,228,48,221,41,221,41,208,31,218,4,163,167,155,188,139,168,139,168,155,188,108,188,139,168,108,188,108,168,109,33,108,41,57,275,109,33,57,275,57,56,57,56,119,22,113,26,57,56,113,26,109,33,273,151,264,159,276,37,276,37,264,159,255,165,276,37,255,165,251,17,251,17,255,165,244,171,251,17,244,171,240,94,240,94,239,82,251,17,251,17,239,82,237,69,244,171,230,175,232,131,244,171,232,131,237,120,244,171,237,120,239,108,244,171,239,108,240,94,233,318,196,328,198,302,233,318,198,302,215,290,233,318,215,290,226,273,233,318,226,273,229,250,196,328,150,331,173,310,196,328,173,310,198,302,57,275,108,41,108,296,57,275,108,296,109,302,57,275,109,302,110,307,57,275,110,307,113,310,150,331,9,331,30,320,150,331,30,320,44,316,150,331,44,316,52,308,150,331,52,308,56,295,267,208,273,218,275,281,275,281,273,218,277,229,275,281,277,229,281,252,281,252,277,229,280,240,245,190,253,195,259,303,259,303,253,195,260,200,259,303,260,200,275,281,275,281,260,200,267,208,293,120,289,131,292,63,293,120,292,63,297,94,293,120,297,94,296,107,282,142,273,151,276,37,282,142,276,37,292,63,282,142,292,63,289,131,221,41,218,4,251,17,259,303,237,187,245,190,30,320,9,331,9,321,230,175,225,141,232,131,178,0,9,9,9,0,52,24,178,0,56,37, 272,242,270,331,9,331,9,321,28,320,41,315,48,307,52,294,53,275,53,57,52,37,48,24,41,16,28,12,9,9,9,0,150,0,150,9,130,12,117,16,109,24,105,37,104,56,104,302,106,307,109,310,114,312,192,312,206,311,221,307,234,300,246,286,255,267,256,262,258,256,259,250,260,245,260,242,323,-75,323,9,303,11,291,17,283,27,279,40,278,57,278,274,280,293,283,307,291,315,304,319,323,321,323,331,47,331,47,321,62,320,75,316,83,308,88,295,90,275,87,172,79,97,65,46,45,18,17,9,7,9,7,-75,19,-75,19,-72,20,-67,21,-60,23,-54,24,-49,32,-29,43,-15,56,-5,71,0, 48,24,41,16,150,0,150,0,41,16,28,12,150,0,28,12,9,9,52,294,53,275,109,310,52,294,109,310,48,307,48,307,109,310,114,312,48,307,114,312,270,331,270,331,114,312,122,312,221,307,234,300,270,331,270,331,234,300,246,286,270,331,246,286,255,267,255,267,256,262,270,331,270,331,256,262,258,256,270,331,258,256,259,250,270,331,259,250,260,245,270,331,260,245,260,242,270,331,260,242,272,242,270,331,122,312,192,312,270,331,192,312,206,311,270,331,206,311,221,307,117,16,109,24,53,57,53,57,109,24,105,37,53,57,105,37,53,275,53,275,105,37,104,56,53,275,104,56,104,294,53,275,104,294,104,302,53,275,104,302,106,307,53,275,106,307,109,310,270,331,9,331,28,320,270,331,28,320,41,315,270,331,41,315,48,307,150,0,150,9,130,12,150,0,130,12,117,16,150,0,117,16,52,37,150,0,52,37,48,24,150,0,9,9,9,0,52,37,117,16,53,57,28,320,9,331,9,321, 323,-75,323,9,303,11,291,17,283,27,279,40,278,57,278,274,280,293,283,307,291,315,304,319,323,321,323,331,47,331,47,321,62,320,75,316,83,308,88,295,90,275,87,172,79,97,65,46,45,18,17,9,7,9,7,-75,19,-75,19,-72,20,-67,21,-60,23,-54,24,-49,32,-29,43,-15,56,-5,71,0,259,0,274,-5,287,-15,298,-29,306,-49,307,-54,308,-60,309,-67,310,-72,311,-75,16383,16383,228,41,227,33,225,27,222,22,217,20,209,19,76,19,91,48,101,88,108,141,112,209,113,294,113,303,115,308,119,311,124,312,210,312,217,311,222,310,225,306,227,301,228,294,304,84,290,84,276,57,260,38,239,27,211,21,174,19,137,19,122,21,113,25,107,32,105,42,105,164,181,164,203,162,218,158,227,150,234,136,238,115,249,115,249,232,238,232,234,211,227,198,218,189,203,185,181,184,105,184,105,294,106,302,108,307,111,310,116,312,189,312,218,311,239,306,252,297,261,282,266,259,278,259,276,331,11,331,11,321,30,320,43,315,50,307,54,294,55,275,55,57,54,37,50,24,43,16,30,12,11,9,11,0,281,0,507,0,507,9,476,18,453,32,435,52,417,79,394,113,382,130,370,144,359,155,345,164,330,172,329,173,342,181,354,193, 20,-67,21,-60,17,9,17,9,21,-60,23,-54,17,9,23,-54,24,-49,24,-49,32,-29,45,18,45,18,32,-29,43,-15,45,18,43,-15,56,-5,62,320,75,316,323,331,323,331,75,316,124,312,323,331,124,312,131,312,323,331,131,312,210,312,323,331,210,312,217,311,87,172,91,48,90,275,90,275,91,48,113,303,113,303,91,48,113,294,71,0,87,0,76,19,71,0,76,19,79,97,79,97,76,19,91,48,79,97,91,48,87,172,65,46,45,18,56,-5,65,46,56,-5,71,0,65,46,71,0,79,97,45,18,17,9,24,-49,17,9,7,9,19,-75,17,9,19,-75,19,-72,17,9,19,-72,20,-67,323,331,217,311,222,310,323,331,222,310,225,306,323,331,225,306,227,301,323,331,227,301,228,294,323,331,228,294,291,315,323,331,291,315,304,319,323,331,304,319,323,321,291,17,283,27,287,-15,287,-15,283,27,279,40,287,-15,279,40,274,-5,274,-5,279,40,278,57,274,-5,278,57,278,274,228,294,243,0,280,293,280,293,243,0,259,0,280,293,259,0,278,274,278,274,259,0,274,-5,283,307,291,315,228,294,283,307,228,294,280,293,113,294,91,48,101,88,113,294,101,88,108,141,113,294,108,141,112,209,124,312,83,308,119,311,119,311,83,308,88,295,119,311,88,295,115,308,115,308,88,295,90,275,115,308,90,275,113,303,47,331,47,321,62,320,47,331,62,320,323,331,308,-60,323,9,307,-54,307,-54,323,9,306,-49,298,-29,306,-49,303,11,298,-29,303,11,291,17,323,9,308,-60,309,-67,323,9,309,-67,310,-72,323,9,310,-72,311,-75,323,9,311,-75,323,-75,323,9,303,11,306,-49,209,19,76,19,87,0,209,19,87,0,243,0,209,19,243,0,217,20,243,0,228,294,228,41,243,0,228,41,227,33,243,0,227,33,225,27,243,0,225,27,222,22,243,0,222,22,217,20,19,-75,7,9,7,-75,291,17,287,-15,298,-29,124,312,75,316,83,308, 304,84,290,84,276,57,260,38,239,27,211,21,174,19,137,19,122,21,113,25,107,32,105,42,105,164,181,164,203,162,218,158,227,150,234,136,238,115,249,115,249,232,238,232,234,211,227,198,218,189,203,185,181,184,105,184,105,294,106,302,108,307,111,310,116,312,189,312,218,311,239,306,252,297,261,282,266,259,278,259,276,331,11,331,11,321,30,320,43,315,50,307,54,294,55,275,55,57,54,37,50,24,43,16,30,12,11,9,11,0,281,0,507,0,507,9,476,18,453,32,435,52,417,79,394,113,382,130,370,144,359,155,345,164,330,172,329,173,342,181,354,193,364,209,373,228,382,251,388,266,394,280,401,293,410,301,419,305,425,302,430,295,435,286,443,279,457,276,466,278,473,283,478,289,481,297,482,305,480,315,475,324,467,331,456,336,442,338,419,335,401,325,388,309,376,290,367,267,356,239,345,216,331,197,310,185,280,181,280,293,283,307,291,315,304,319,325,321,325,331,186,331,186,321, 50,24,43,16,281,0,281,0,43,16,30,12,281,0,30,12,11,9,54,294,55,275,111,310,54,294,111,310,50,307,50,307,111,310,116,312,50,307,116,312,276,331,276,331,116,312,123,312,50,24,122,21,54,37,54,37,122,21,113,25,54,37,113,25,55,57,55,57,113,25,107,32,55,57,107,32,55,275,55,275,107,32,105,42,55,275,105,42,105,294,105,184,105,164,181,164,105,184,181,164,181,184,203,185,181,184,203,162,203,185,203,162,218,189,218,189,203,162,218,158,218,189,218,158,227,198,227,198,218,158,227,150,227,198,227,150,234,211,234,211,227,150,234,136,234,211,234,136,238,232,238,232,234,136,238,115,238,232,238,115,249,115,276,331,123,312,189,312,276,331,189,312,218,311,276,331,218,311,239,306,276,331,239,306,252,297,276,331,252,297,261,282,276,331,261,282,266,259,276,331,266,259,278,259,55,275,105,294,106,302,55,275,106,302,108,307,55,275,108,307,111,310,276,331,11,331,30,320,276,331,30,320,43,315,276,331,43,315,50,307,260,38,239,27,281,0,281,0,239,27,211,21,281,0,211,21,174,19,281,0,304,84,290,84,281,0,290,84,276,57,281,0,276,57,260,38,281,0,174,19,156,19,281,0,156,19,137,19,281,0,137,19,122,21,281,0,122,21,50,24,281,0,11,9,11,0,30,320,11,331,11,321,181,184,181,164,203,162,238,232,249,115,249,232, 507,0,507,9,476,18,453,32,435,52,417,79,394,113,382,130,370,144,359,155,345,164,330,172,329,173,342,181,354,193,364,209,373,228,382,251,388,266,394,280,401,293,410,301,419,305,425,302,430,295,435,286,443,279,457,276,466,278,473,283,478,289,481,297,482,305,480,315,475,324,467,331,456,336,442,338,419,335,401,325,388,309,376,290,367,267,356,239,345,216,331,197,310,185,280,181,280,293,283,307,291,315,304,319,325,321,325,331,186,331,186,321,206,320,220,315,227,307,230,294,231,275,231,181,203,185,182,197,167,216,154,239,143,267,134,290,123,309,109,325,91,335,68,338,54,336,43,331,35,324,30,315,28,305,29,297,32,289,37,283,44,278,53,276,67,279,75,286,80,295,85,302,91,305,100,301,109,293,115,280,122,266,128,251,137,228,146,209,156,193,168,181,181,173,180,172,165,164,152,155,140,144,129,130,117,113,94,79,75,52,57,32,35,18,4,9,4,0,99,0,109,10,120,23,131,40,144,60,158,84,177,116,190,138,201,152,213,159,231,161,231,55,230,36,228,23,222,16,210,11,193,9,193,0,323,0,323,9,305,12,292,16,284,23,281,36,280,55,280,161,297,159,309,152,320,138,333,116,352,84,367,60,380,40,391,23,401,10,411,0,177,175,201,180,222,192,240,208,251,229,256,253,252,281,239,304,217,322,185,334,142,338,131,338,121,337,111,335,100,333,89,330,83,328,67,324,60,322,54,321,49,322,44,324,40,328,37,332,35,338,25,338,23,220,35,220,43,253,56,280,76,301,101,314,131,319,156,316,176,308,191,294,201,277,204,257,204,245,201,232,196,219,188,207,175,196,165,191,155,187,143,185,127,183,104,183,104,163,128,163,146,161,160,158,172,153,184,146,194,138,202,129,209,118,213,105,215,91,211,64,201,43,183,28,159,18,128,15,105,17,85,23,65,33,44,47,23,65,14,57,32,35,54,17,80,4,109,-3,141,-6,160,-6,177,-3,193,0,208,5,223,13,239,25,253,39,264,55,270,74,272,95,267,121,252,142,230,158,204,169,177,174,352,0,352,9,333,12,320,17,312,25,309,37,307,55,307,274,309,293,312,307,320,315,333,319,352,321,352,331,212,331,212,321,230,319,242,315,251,309,255,299,257,285,105,82,105,274,106,294,110,307,118,315,131,319,150,321,150,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,148,9,131,11,118,16,110,23,106,33,105,48,257,252,257,62,256,41,252,26,245,17, 75,52,57,32,99,0,99,0,57,32,35,18,99,0,35,18,4,9,75,286,80,295,91,335,91,335,80,295,85,302,91,335,85,302,91,305,91,305,100,301,109,325,109,325,100,301,109,293,109,325,109,293,115,280,44,278,53,276,54,336,54,336,53,276,67,279,54,336,67,279,68,338,68,338,67,279,75,286,68,338,75,286,91,335,28,305,29,297,30,315,30,315,29,297,32,289,30,315,32,289,35,324,35,324,32,289,37,283,35,324,37,283,43,331,43,331,37,283,44,278,43,331,44,278,54,336,115,280,122,266,123,309,123,309,122,266,128,251,123,309,128,251,134,290,134,290,128,251,137,228,134,290,137,228,143,267,143,267,137,228,146,209,143,267,146,209,154,239,154,239,146,209,156,193,154,239,156,193,167,216,167,216,156,193,168,181,167,216,168,181,182,197,182,197,168,181,181,173,182,197,181,173,190,138,190,138,181,173,180,172,228,23,222,16,323,0,323,0,222,16,210,11,323,0,210,11,193,9,304,319,325,321,325,331,304,319,325,331,291,315,291,315,325,331,230,294,291,315,230,294,231,275,231,161,231,275,231,181,231,161,284,23,281,36,323,0,323,9,305,12,323,0,305,12,292,16,323,0,292,16,230,36,323,0,230,36,228,23,280,55,280,181,231,161,280,55,231,161,281,36,231,55,230,36,292,16,231,55,292,16,284,23,231,55,284,23,231,161,280,161,297,159,280,181,280,181,280,274,231,161,231,161,280,274,280,293,231,161,280,293,283,307,283,307,291,315,231,275,283,307,231,275,231,161,325,331,186,331,206,320,325,331,206,320,220,315,325,331,220,315,227,307,325,331,227,307,230,294,453,32,435,52,411,0,411,0,435,52,417,79,411,0,417,79,401,10,401,10,417,79,394,113,401,10,394,113,391,23,391,23,394,113,382,130,391,23,382,130,380,40,380,40,382,130,370,144,380,40,370,144,367,60,367,60,370,144,359,155,367,60,359,155,352,84,352,84,359,155,345,164,352,84,345,164,333,116,333,116,345,164,330,172,333,116,330,172,329,173,476,18,453,32,411,0,476,18,411,0,507,0,476,18,507,0,507,9,320,138,329,173,331,197,331,197,329,173,342,181,331,197,342,181,345,216,345,216,342,181,354,193,345,216,354,193,356,239,356,239,354,193,364,209,356,239,364,209,367,267,367,267,364,209,373,228,367,267,373,228,376,290,376,290,373,228,382,251,376,290,382,251,388,309,388,309,382,251,388,266,388,309,388,266,401,325,401,325,388,266,394,280,401,325,394,280,401,293,310,185,280,181,297,159,310,185,297,159,309,152,310,185,309,152,320,138,310,185,320,138,331,197,442,338,419,335,425,302,425,302,419,335,419,305,410,301,419,305,419,335,410,301,419,335,401,325,457,276,466,278,467,331,467,331,466,278,473,283,467,331,473,283,475,324,475,324,473,283,478,289,475,324,478,289,480,315,480,315,478,289,481,297,480,315,481,297,482,305,430,295,435,286,442,338,442,338,435,286,443,279,442,338,443,279,456,336,456,336,443,279,457,276,456,336,457,276,467,331,190,138,201,152,203,185,203,185,201,152,213,159,203,185,213,159,231,181,231,181,213,159,231,161,99,0,109,10,117,113,117,113,109,10,120,23,117,113,120,23,129,130,129,130,120,23,131,40,129,130,131,40,140,144,140,144,131,40,144,60,140,144,144,60,152,155,152,155,144,60,158,84,152,155,158,84,165,164,165,164,158,84,177,116,165,164,177,116,180,172,180,172,177,116,190,138,94,79,75,52,99,0,94,79,99,0,117,113,109,325,91,335,91,305,109,325,115,280,123,309,99,0,4,9,4,0,182,197,190,138,203,185,333,116,329,173,320,138,442,338,425,302,430,295,401,325,401,293,410,301,206,320,186,331,186,321,323,0,193,9,193,0, 177,175,201,180,222,192,240,208,251,229,256,253,252,281,239,304,217,322,185,334,142,338,131,338,121,337,111,335,100,333,89,330,83,328,67,324,60,322,54,321,49,322,44,324,40,328,37,332,35,338,25,338,23,220,35,220,43,253,56,280,76,301,101,314,131,319,156,316,176,308,191,294,201,277,204,257,204,245,201,232,196,219,188,207,175,196,165,191,155,187,143,185,127,183,104,183,104,163,128,163,146,161,160,158,172,153,184,146,194,138,202,129,209,118,213,105,215,91,211,64,201,43,183,28,159,18,128,15,105,17,85,23,65,33,44,47,23,65,14,57,32,35,54,17,80,4,109,-3,141,-6,160,-6,177,-3,193,0,208,5,223,13,239,25,253,39,264,55,270,74,272,95,267,121,252,142,230,158,204,169,177,174,352,0,352,9,333,12,320,17,312,25,309,37,307,55,307,274,309,293,312,307,320,315,333,319,352,321,352,331,212,331,212,321,230,319,242,315,251,309,255,299,257,285,105,82,105,274,106,294,110,307,118,315,131,319,150,321,150,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,148,9,131,11,118,16,110,23,106,33,105,48,257,252,257,62,256,41,252,26,245,17,232,12,213,9,213,0,248,424,246,436,242,445,235,452,227,456,219,458,211,456,208,453,206,450,205,445,207,438,213,434,225,430,227,425,226,418,221,413,212,408,199,406,180,405,162,406,149,408,140,413,135,418,134,425,136,430,148,434,154,438,156,445,156,450,154,453,151,456,148,457, 40,328,43,253,44,324,44,324,43,253,56,280,44,324,56,280,49,322,49,322,56,280,54,321,60,322,54,321,56,280,60,322,56,280,76,301,201,232,196,219,201,180,201,180,196,219,188,207,201,180,188,207,177,175,177,175,188,207,175,196,177,175,175,196,177,174,177,174,175,196,172,153,172,153,175,196,165,191,172,153,165,191,160,158,160,158,165,191,155,187,160,158,155,187,146,161,146,161,155,187,143,185,146,161,143,185,128,163,128,163,143,185,127,183,128,163,127,183,104,183,23,65,32,35,44,47,44,47,32,35,54,17,44,47,54,17,65,33,65,33,54,17,80,4,65,33,80,4,85,23,85,23,80,4,109,-3,85,23,109,-3,105,17,105,17,109,-3,128,15,159,18,128,15,141,-6,159,18,141,-6,160,-6,131,319,121,337,111,335,131,319,111,335,101,314,131,319,131,338,121,337,101,314,111,335,100,333,101,314,100,333,89,330,101,314,89,330,83,328,101,314,83,328,76,301,76,301,83,328,75,326,76,301,75,326,67,324,76,301,67,324,60,322,156,316,176,308,185,334,185,334,176,308,191,294,185,334,191,294,217,322,217,322,191,294,201,277,217,322,201,277,204,257,204,257,204,245,222,192,222,192,204,245,201,232,222,192,201,232,201,180,156,316,185,334,142,338,156,316,142,338,131,338,156,316,131,338,131,319,217,322,222,192,239,304,239,304,222,192,240,208,239,304,240,208,252,281,252,281,240,208,251,229,252,281,251,229,256,253,204,257,222,192,217,322,177,174,172,153,184,146,184,146,194,138,204,169,204,169,194,138,202,129,204,169,202,129,209,118,267,121,252,142,253,39,267,121,253,39,264,55,267,121,264,55,270,74,267,121,270,74,272,95,160,-6,177,-3,183,28,183,28,177,-3,193,0,183,28,193,0,201,43,201,43,193,0,208,5,201,43,208,5,211,64,211,64,208,5,223,13,211,64,223,13,215,91,215,91,223,13,230,158,230,158,223,13,239,25,230,158,239,25,252,142,252,142,239,25,253,39,204,169,209,118,230,158,230,158,209,118,213,105,230,158,213,105,215,91,204,169,177,174,184,146,128,15,109,-3,141,-6,40,328,37,332,43,253,43,253,37,332,35,338,43,253,35,338,35,220,35,220,35,338,25,338,35,220,25,338,23,220,32,35,23,65,14,57,159,18,160,-6,183,28,128,163,104,183,104,163, 352,0,352,9,333,12,320,17,312,25,309,37,307,55,307,274,309,293,312,307,320,315,333,319,352,321,352,331,212,331,212,321,230,319,242,315,251,309,255,299,257,285,105,82,105,274,106,294,110,307,118,315,131,319,150,321,150,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,148,9,131,11,118,16,110,23,106,33,105,48,257,252,257,62,256,41,252,26,245,17,232,12,213,9,213,0,248,424,246,436,242,445,235,452,227,456,219,458,211,456,208,453,206,450,205,445,207,438,213,434,225,430,227,425,226,418,221,413,212,408,199,406,180,405,162,406,149,408,140,413,135,418,134,425,136,430,148,434,154,438,156,445,156,450,154,453,151,456,148,457,144,458,135,456,127,452,120,445,115,436,113,424,117,408,129,395,145,386,163,380,180,378,198,380,216,385,232,395,243,407,248,424,16383,16383,352,0,352,9,333,12,320,17,312,25,309,37,307,55,307,274,309,293, 50,25,42,16,149,0,149,0,42,16,29,12,149,0,29,12,9,9,257,285,105,82,105,48,105,48,105,274,54,274,54,274,105,274,106,294,54,274,106,294,110,307,150,331,9,331,29,319,150,331,29,319,42,315,150,331,42,315,50,307,150,331,50,307,53,294,150,331,53,294,118,315,150,331,118,315,131,319,150,331,131,319,150,321,54,274,110,307,118,315,54,274,118,315,53,294,252,26,245,17,352,0,352,0,245,17,232,12,352,0,232,12,213,9,242,315,251,309,352,331,352,331,251,309,255,299,352,331,255,299,257,285,257,285,257,252,309,37,309,37,257,252,257,62,309,37,257,62,312,25,312,25,257,62,320,17,333,319,352,321,352,331,333,319,352,331,320,315,320,315,352,331,257,285,320,315,257,285,312,307,312,307,257,285,309,293,307,55,307,274,257,285,307,55,257,285,309,37,230,319,242,315,352,331,230,319,352,331,212,331,230,319,212,331,212,321,352,0,352,9,333,12,352,0,333,12,320,17,352,0,320,17,256,41,352,0,256,41,252,26,149,0,148,9,131,11,149,0,131,11,118,16,149,0,118,16,53,39,149,0,53,39,50,25,106,33,105,48,54,274,106,33,54,274,54,61,106,33,54,61,110,23,54,61,53,39,118,16,54,61,118,16,110,23,149,0,9,9,9,0,352,0,213,9,213,0,256,41,320,17,257,62,309,293,257,285,307,274,257,285,105,48,257,252,29,319,9,331,9,321, 248,424,246,436,242,445,235,452,227,456,219,458,211,456,208,453,206,450,205,445,207,438,213,434,225,430,227,425,226,418,221,413,212,408,199,406,180,405,162,406,149,408,140,413,135,418,134,425,136,430,148,434,154,438,156,445,156,450,154,453,151,456,148,457,144,458,135,456,127,452,120,445,115,436,113,424,117,408,129,395,145,386,163,380,180,378,198,380,216,385,232,395,243,407,248,424,16383,16383,352,0,352,9,333,12,320,17,312,25,309,37,307,55,307,274,309,293,312,307,320,315,333,319,352,321,352,331,212,331,212,321,230,319,242,316,250,310,254,300,256,285,105,82,105,274,106,294,110,307,118,315,131,319,150,321,150,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,148,9,131,11,119,15,111,22,107,33,105,48,257,252,257,62,256,41,252,26,245,17,232,12,213,9,213,0,343,0,343,9,321,13,312,17,302,23,292,30,282,40,271,54,259,71,246,92,230,114,218,131,206,145,193,155,180,164,164,171,164,172,178,181,190,193,201,208,211,227,220,251,225,266,232,281,239,294,247,303,257,306,263,303,267,296,272,287,281,280,294,277,303,279,310,284,315,291,318,299,319,306,317,317,313,325,305,332,295,337,281,338,257,335,239,325,224,309,213,290,204,267,196,245,187,226,176,209,162,195,142,185,137,183,131,182,124,181,106,181,106,274,107,293,110,307,117,315,130,319,151,321,151,331,10,331,10,321,30,319,43,315,51,306,54,293,55,275,55,65,54,42,51,27,43,17,29,12,9,9,9,0,151,0,151,9,132,12,119,16,111,23,107,36,106,55,106,161,113,161,119,160,125,158,130,156,134,154,140,149,149,140,160,126,174,108,189,85,203,61,216,40,227,24,238,10,248,0,332,0,332,9,313,12,300,17,292,25,288,37,287,55, 149,408,140,413,145,386,145,386,140,413,135,418,145,386,135,418,129,395,129,395,135,418,134,425,135,456,134,425,136,430,135,456,136,430,144,458,144,458,136,430,142,432,144,458,142,432,148,434,148,457,148,434,151,456,151,456,148,434,154,438,151,456,154,438,154,453,154,453,154,438,156,445,154,453,156,445,156,450,129,395,134,425,135,456,129,395,135,456,127,452,129,395,127,452,120,445,129,395,120,445,117,408,115,436,113,424,117,408,115,436,117,408,120,445,149,408,163,380,162,406,162,406,163,380,180,405,199,406,180,405,180,378,199,406,180,378,198,380,246,436,242,445,243,407,243,407,242,445,235,452,243,407,235,452,232,395,232,395,235,452,227,456,232,395,227,456,227,425,227,456,219,458,219,432,227,456,219,432,225,430,227,456,225,430,227,425,215,457,211,456,213,434,215,457,213,434,219,432,215,457,219,432,219,458,208,453,206,450,207,438,208,453,207,438,213,434,208,453,213,434,211,456,227,425,226,418,232,395,232,395,226,418,221,413,232,395,221,413,216,385,216,385,221,413,212,408,216,385,212,408,199,406,180,405,163,380,180,378,50,25,42,16,149,0,149,0,42,16,29,12,149,0,29,12,9,9,119,15,111,22,54,61,54,61,111,22,107,33,54,61,107,33,54,274,54,274,107,33,105,48,105,82,105,48,256,285,150,331,9,331,29,319,150,331,29,319,42,315,150,331,42,315,50,307,150,331,50,307,53,294,150,331,53,294,118,315,150,331,118,315,131,319,150,331,131,319,150,321,105,274,106,294,54,274,105,274,54,274,105,48,105,274,105,48,105,82,54,274,106,294,110,307,54,274,110,307,118,315,54,274,118,315,53,294,252,26,245,17,352,0,352,0,245,17,232,12,352,0,232,12,213,9,352,331,212,331,230,319,352,331,230,319,242,316,352,331,242,316,250,310,352,331,250,310,254,300,352,331,254,300,256,285,352,331,256,285,320,315,352,331,320,315,333,319,352,331,333,319,352,321,320,17,312,25,257,62,257,62,312,25,309,37,257,62,309,37,257,252,257,252,309,37,307,55,257,252,307,55,307,274,257,252,307,274,309,293,257,252,309,293,312,307,257,252,312,307,320,315,257,252,320,315,256,285,257,252,256,285,105,48,352,0,352,9,333,12,352,0,333,12,320,17,352,0,320,17,256,41,352,0,256,41,252,26,149,0,148,9,131,11,149,0,131,11,119,15,149,0,119,15,53,39,149,0,53,39,50,25,149,0,9,9,9,0,53,39,119,15,54,61,352,0,213,9,213,0,256,41,320,17,257,62,230,319,212,331,212,321,29,319,9,331,9,321,199,406,198,380,216,385,246,436,243,407,248,424,207,438,206,450,205,445,149,408,145,386,163,380,144,458,148,434,148,457, 343,0,343,9,321,13,312,17,302,23,292,30,282,40,271,54,259,71,246,92,230,114,218,131,206,145,193,155,180,164,164,171,164,172,178,181,190,193,201,208,211,227,220,251,225,266,232,281,239,294,247,303,257,306,263,303,267,296,272,287,281,280,294,277,303,279,310,284,315,291,318,299,319,306,317,317,313,325,305,332,295,337,281,338,257,335,239,325,224,309,213,290,204,267,196,245,187,226,176,209,162,195,142,185,137,183,131,182,124,181,106,181,106,274,107,293,110,307,117,315,130,319,151,321,151,331,10,331,10,321,30,319,43,315,51,306,54,293,55,275,55,65,54,42,51,27,43,17,29,12,9,9,9,0,151,0,151,9,132,12,119,16,111,23,107,36,106,55,106,161,113,161,119,160,125,158,130,156,134,154,140,149,149,140,160,126,174,108,189,85,203,61,216,40,227,24,238,10,248,0,332,0,332,9,313,12,300,17,292,25,288,37,287,55,287,274,288,293,292,307,300,315,313,319,332,321,332,331,65,331,65,321,80,320,93,316,101,308,107,295,108,275,108,112,105,78,100,47,89,26,73,17,65,21,54,43,46,53,32,57,25,56,18,53,11,48,6,40,4,30,7,14,14,4,25,-2,39,-5,55,-6,92,2,114,27,126,60,130,97,131,131,131,292,132,300,133,305,136,309,141,311,148,312,219,312,226,311,231,309,234,305,236,300,237,292,237,63,236,41,232,26,225,17,212,12,193,9,193,0,435,0,435,9,417,12,404,17,397,25,393,38,392,56,392,275,393,294,397,307,404,316,417,320,435,321,435,331,335,331,225,80,109,331,11,331,11,321,31,319,45,315,53,307,57,294,58,275,58,75,57,47,53,29,44,18,30,12,9,9,9,0,127,0,127,9,107,12,94,18,85,29, 151,0,151,9,132,12,151,0,132,12,119,16,151,0,119,16,54,42,151,0,54,42,51,27,151,0,51,27,43,17,151,0,43,17,29,12,151,0,29,12,9,9,151,0,9,9,9,0,55,275,107,36,106,55,106,181,106,161,113,161,55,275,106,55,106,181,106,181,113,161,116,181,116,181,113,161,119,160,116,181,119,160,124,181,124,181,119,160,125,158,124,181,125,158,131,182,131,182,125,158,130,156,131,182,130,156,134,154,134,154,140,149,137,183,137,183,140,149,142,185,162,195,142,185,149,140,162,195,149,140,160,126,55,65,54,42,119,16,55,65,119,16,111,23,55,65,111,23,107,36,55,65,107,36,55,275,151,331,10,331,30,319,151,331,30,319,43,315,151,331,43,315,51,306,151,331,51,306,54,293,151,331,54,293,117,315,151,331,117,315,130,319,151,331,130,319,151,321,106,274,107,293,55,275,106,274,55,275,106,181,55,275,107,293,110,307,55,275,110,307,117,315,55,275,117,315,54,293,137,183,131,182,134,154,196,245,187,226,190,193,196,245,190,193,201,208,196,245,201,208,204,267,190,193,187,226,178,181,178,181,187,226,176,209,178,181,176,209,164,172,164,172,176,209,162,195,164,172,162,195,164,171,164,171,162,195,160,126,164,171,160,126,174,108,225,266,232,281,239,325,239,325,232,281,239,294,239,325,239,294,257,335,257,335,239,294,247,303,257,335,247,303,257,306,257,306,263,303,257,335,257,335,263,303,281,338,204,267,211,227,213,290,213,290,211,227,220,251,213,290,220,251,224,309,224,309,220,251,225,266,224,309,225,266,239,325,332,11,321,13,343,0,343,0,321,13,312,17,343,0,312,17,248,0,248,0,312,17,302,23,248,0,302,23,292,30,292,30,282,40,248,0,248,0,282,40,271,54,248,0,271,54,259,71,193,155,189,85,203,61,193,155,203,61,206,145,206,145,203,61,216,40,206,145,216,40,218,131,218,131,216,40,227,24,218,131,227,24,230,114,230,114,227,24,238,10,230,114,238,10,246,92,246,92,238,10,248,0,246,92,248,0,259,71,272,287,281,280,281,338,281,338,281,280,294,277,281,338,294,277,295,337,295,337,294,277,303,279,295,337,303,279,305,332,305,332,303,279,310,284,305,332,310,284,313,325,313,325,310,284,315,291,313,325,315,291,317,317,317,317,315,291,318,299,317,317,318,299,319,306,281,338,263,303,267,296,281,338,267,296,272,287,180,164,164,171,174,108,180,164,174,108,189,85,180,164,189,85,193,155,142,185,140,149,149,140,332,11,343,0,343,9,211,227,204,267,201,208,30,319,10,331,10,321, 332,0,332,9,313,12,300,17,292,25,288,37,287,55,287,274,288,293,292,307,300,315,313,319,332,321,332,331,65,331,65,321,80,320,93,316,101,308,107,295,108,275,108,112,105,78,100,47,89,26,73,17,65,21,54,43,46,53,32,57,25,56,18,53,11,48,6,40,4,30,7,14,14,4,25,-2,39,-5,55,-6,92,2,114,27,126,60,130,97,131,131,131,292,132,300,133,305,136,309,141,311,148,312,219,312,226,311,231,309,234,305,236,300,237,292,237,63,236,41,232,26,225,17,212,12,193,9,193,0,435,0,435,9,417,12,404,17,397,25,393,38,392,56,392,275,393,294,397,307,404,316,417,320,435,321,435,331,335,331,225,80,109,331,11,331,11,321,31,319,45,315,53,307,57,294,58,275,58,75,57,47,53,29,44,18,30,12,9,9,9,0,127,0,127,9,107,12,94,18,85,29,81,48,80,75,80,275,206,0,213,0,340,286,340,40,336,26,328,17,315,12,296,9,296,0,352,0,352,9,333,12,320,17,312,25,309,37,307,55,307,274,309,293,312,307,320,315,333,319,352,321,352,331,213,331,213,321, 108,112,105,78,114,27,114,27,105,78,100,47,114,27,100,47,92,2,92,2,100,47,89,26,92,2,89,26,73,17,73,17,65,21,92,2,92,2,65,21,55,-6,107,295,108,275,136,309,107,295,136,309,101,308,101,308,136,309,141,311,101,308,141,311,332,331,332,331,141,311,148,312,232,26,225,17,332,0,332,0,225,17,212,12,332,0,212,12,193,9,332,331,148,312,219,312,332,331,219,312,226,311,332,331,226,311,231,309,332,331,231,309,234,305,332,331,234,305,236,300,332,331,236,300,237,292,332,331,237,292,300,315,332,331,300,315,313,319,332,331,313,319,332,321,287,55,287,274,237,292,237,292,287,274,288,293,237,292,288,293,292,307,300,17,292,25,237,63,237,63,292,25,288,37,237,63,288,37,237,292,131,292,132,300,114,27,131,292,114,27,126,60,131,292,126,60,130,97,131,292,130,97,131,131,108,275,108,145,114,27,108,275,114,27,132,300,108,275,132,300,133,305,108,275,133,305,136,309,332,331,65,331,80,320,332,331,80,320,93,316,332,331,93,316,101,308,332,0,332,9,313,12,332,0,313,12,300,17,332,0,300,17,236,41,332,0,236,41,232,26,55,-6,65,21,60,31,55,-6,60,31,54,43,55,-6,54,43,46,53,55,-6,46,53,39,-5,46,53,32,57,39,-5,39,-5,32,57,25,56,39,-5,25,56,25,-2,25,-2,25,56,18,53,25,-2,18,53,14,4,14,4,18,53,11,48,14,4,11,48,7,14,7,14,11,48,6,40,7,14,6,40,4,30,108,112,114,27,108,145,332,0,193,9,193,0,236,41,300,17,237,63,237,292,288,37,287,55,80,320,65,331,65,321,300,315,237,292,292,307, 435,0,435,9,417,12,404,17,397,25,393,38,392,56,392,275,393,294,397,307,404,316,417,320,435,321,435,331,335,331,225,80,109,331,11,331,11,321,31,319,45,315,53,307,57,294,58,275,58,75,57,47,53,29,44,18,30,12,9,9,9,0,127,0,127,9,107,12,94,18,85,29,81,48,80,75,80,275,206,0,213,0,340,286,340,40,336,26,328,17,315,12,296,9,296,0,352,0,352,9,333,12,320,17,312,25,309,37,307,55,307,274,309,293,312,307,320,315,333,319,352,321,352,331,213,331,213,321,232,319,245,315,252,307,256,294,257,274,257,180,105,180,105,274,106,294,110,307,118,315,130,319,149,321,149,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,149,9,130,12,118,17, 53,29,44,18,127,0,127,0,44,18,30,12,127,0,30,12,9,9,336,26,328,17,435,0,435,0,328,17,315,12,435,0,315,12,296,9,417,320,435,321,435,331,417,320,435,331,404,316,404,316,435,331,340,286,404,316,340,286,397,307,397,307,340,286,393,294,404,17,397,25,340,61,340,61,397,25,393,38,340,61,393,38,340,286,340,286,393,38,392,56,340,286,392,56,392,275,206,0,213,0,225,80,225,80,213,0,340,286,225,80,340,286,335,331,335,331,340,286,435,331,109,331,11,331,31,319,109,331,31,319,45,315,109,331,45,315,53,307,109,331,53,307,57,294,109,331,57,294,58,275,109,331,58,275,80,275,109,331,80,275,206,0,109,331,206,0,225,80,80,75,80,275,58,275,80,75,58,275,81,48,81,48,58,275,58,75,81,48,58,75,85,29,85,29,58,75,57,47,85,29,57,47,94,18,94,18,57,47,53,29,94,18,53,29,127,0,435,0,435,9,417,12,435,0,417,12,404,17,435,0,404,17,340,40,435,0,340,40,336,26,107,12,94,18,127,0,107,12,127,0,127,9,127,0,9,9,9,0,435,0,296,9,296,0,340,40,404,17,340,61,31,319,11,331,11,321,393,294,340,286,392,275, 352,0,352,9,333,12,320,17,312,25,309,37,307,55,307,274,309,293,312,307,320,315,333,319,352,321,352,331,213,331,213,321,232,319,245,315,252,307,256,294,257,274,257,180,105,180,105,274,106,294,110,307,118,315,130,319,149,321,149,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,149,9,130,12,118,17,110,25,106,38,105,56,105,157,257,157,257,62,256,41,252,26,245,17,232,12,213,9,213,0,345,166,337,222,316,269,281,306,236,330,181,338,127,330,82,307,47,271,26,224,18,167,26,109,47,61,82,24,127,1,181,-6,235,1,280,24,315,60,337,108,345,166,16383,16383,288,169,286,134,281,103,273,76,261,53,247,35,235,26,223,19,210,15,197,12,182,11,168,12,155,15,143,19,131,25,120,33,103,52,91,75,82,102,77,132,75,166,76,194,81,222,88,247,98,269,109,286,122,298,135,308,150,314,165,318,181,320,194,319,207,316,220,311,231,305,243,296,258,279,271,257, 50,25,42,16,149,0,149,0,42,16,29,12,149,0,29,12,9,9,149,331,9,331,29,319,149,331,29,319,42,315,149,331,42,315,50,307,149,331,50,307,53,294,149,331,53,294,118,315,149,331,118,315,130,319,149,331,130,319,149,321,54,274,106,38,105,56,105,180,105,157,257,157,105,180,257,157,257,180,257,180,257,157,312,25,257,180,312,25,309,37,54,274,105,56,105,274,54,274,105,274,106,294,54,274,106,294,110,307,54,274,110,307,118,315,54,274,118,315,53,294,252,26,245,17,352,0,352,0,245,17,232,12,352,0,232,12,213,9,333,319,352,321,352,331,333,319,352,331,320,315,320,315,352,331,256,294,320,315,256,294,257,274,309,37,257,274,257,180,307,55,307,274,257,274,257,274,307,274,309,293,257,274,309,293,312,307,352,331,213,331,232,319,352,331,232,319,245,315,352,331,245,315,252,307,352,331,252,307,256,294,352,0,352,9,333,12,352,0,333,12,320,17,352,0,320,17,256,41,352,0,256,41,252,26,257,62,256,41,320,17,257,62,320,17,312,25,257,62,312,25,257,157,149,0,149,9,130,12,149,0,130,12,118,17,149,0,118,17,53,39,149,0,53,39,50,25,54,61,53,39,118,17,54,61,118,17,110,25,54,61,110,25,106,38,54,61,106,38,54,274,149,0,9,9,9,0,352,0,213,9,213,0,257,274,309,37,307,55,232,319,213,331,213,321,320,315,257,274,312,307,29,319,9,331,9,321, 345,166,337,222,316,269,281,306,236,330,181,338,127,330,82,307,47,271,26,224,18,167,26,109,47,61,82,24,127,1,181,-6,235,1,280,24,315,60,337,108,345,166,16383,16383,288,169,286,134,281,103,273,76,261,53,247,35,235,26,223,19,210,15,197,12,182,11,168,12,155,15,143,19,131,25,120,33,103,52,91,75,82,102,77,132,75,166,76,194,81,222,88,247,98,269,109,286,122,298,135,308,150,314,165,318,181,320,194,319,207,316,220,311,231,305,243,296,258,279,271,257,280,231,286,201,288,169,353,0,353,9,333,12,321,17,313,25,309,37,308,55,308,274,309,293,313,307,321,315,334,319,353,321,353,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,149,9,130,12,118,17,110,25,106,38,105,56,105,300,107,306,111,309,116,311,124,312,238,312,246,311,251,309,255,306,257,300,257,62,256,41,253,26,246,17,233,12,213,9,213,0,9,331,9,321,28,319,40,315,47,307,51,294,51,39,48,25,41,16,29,12,9,9, 150,314,181,338,135,308,135,308,181,338,127,330,135,308,127,330,122,298,122,298,127,330,109,286,98,269,109,286,127,330,98,269,127,330,82,307,82,102,82,24,91,75,91,75,82,24,127,1,91,75,127,1,103,52,103,52,127,1,120,33,131,25,120,33,127,1,131,25,127,1,181,-6,236,330,181,338,194,319,194,319,181,338,181,320,165,318,181,320,181,338,165,318,181,338,150,314,223,19,210,15,235,1,235,1,210,15,197,12,235,1,197,12,182,11,182,11,168,12,181,-6,181,-6,168,12,155,15,181,-6,155,15,143,19,207,316,220,311,236,330,236,330,220,311,231,305,236,330,231,305,243,296,243,296,258,279,281,306,281,306,258,279,271,257,281,306,271,257,280,231,281,103,273,76,280,24,280,24,273,76,261,53,280,24,261,53,247,35,247,35,235,26,280,24,280,24,235,26,235,1,345,166,337,222,337,108,337,108,337,222,316,269,337,108,316,269,315,60,315,60,316,269,288,169,286,201,288,169,316,269,286,201,316,269,281,306,286,201,281,306,280,231,281,306,236,330,243,296,315,60,288,169,286,134,315,60,286,134,281,103,315,60,281,103,280,24,182,11,181,-6,235,1,82,307,47,271,47,61,82,307,47,61,75,166,82,307,75,166,76,194,82,307,76,194,81,222,82,307,81,222,88,247,82,307,88,247,98,269,82,102,77,132,82,24,82,24,77,132,75,166,26,109,47,61,47,271,26,109,47,271,26,224,26,109,26,224,18,167,82,24,75,166,47,61,223,19,235,1,235,26,236,330,194,319,207,316,131,25,181,-6,143,19, 353,0,353,9,333,12,321,17,313,25,309,37,308,55,308,274,309,293,313,307,321,315,334,319,353,321,353,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,149,9,130,12,118,17,110,25,106,38,105,56,105,300,107,306,111,309,116,311,124,312,238,312,246,311,251,309,255,306,257,300,257,62,256,41,253,26,246,17,233,12,213,9,213,0,9,331,9,321,28,319,40,315,47,307,51,294,51,39,48,25,41,16,29,12,9,9,9,0,150,0,150,9,129,12,115,16,107,24,104,37,103,56,103,146,110,145,115,145,120,144,132,144,161,145,184,147,204,153,221,161,239,175,249,185,257,197,263,210,266,225,267,240,266,254,263,268,258,280,252,291,243,300,227,310,209,319,187,325,162,329,134,331,16383,16383,103,294,103,301,105,306,108,310,113,311,120,312,156,309, 50,25,42,16,149,0,149,0,42,16,29,12,149,0,29,12,9,9,42,315,50,307,353,331,353,331,50,307,116,311,353,331,116,311,124,312,353,331,124,312,238,312,353,331,238,312,246,311,253,26,246,17,353,0,353,0,246,17,233,12,353,0,233,12,213,9,353,331,246,311,251,309,353,331,251,309,255,306,353,331,255,306,257,300,353,331,257,300,257,292,353,331,257,292,321,315,353,331,321,315,334,319,353,331,334,319,353,321,308,55,308,274,257,292,257,292,308,274,309,293,257,292,309,293,313,307,321,17,313,25,257,62,257,62,313,25,309,37,257,62,309,37,257,292,118,17,110,25,54,61,54,61,110,25,106,38,54,61,106,38,54,274,54,274,106,38,105,56,54,274,105,56,105,291,54,274,105,291,105,300,54,274,105,300,107,306,54,274,107,306,111,309,54,274,111,309,53,294,116,311,50,307,53,294,116,311,53,294,111,309,29,319,42,315,353,331,29,319,353,331,9,331,29,319,9,331,9,321,353,0,353,9,333,12,353,0,333,12,321,17,353,0,321,17,256,41,353,0,256,41,253,26,149,0,149,9,130,12,149,0,130,12,118,17,149,0,118,17,53,39,149,0,53,39,50,25,149,0,9,9,9,0,53,39,118,17,54,61,353,0,213,9,213,0,256,41,321,17,257,62,257,292,309,37,308,55,321,315,257,292,313,307, 9,331,9,321,28,319,40,315,47,307,51,294,51,39,48,25,41,16,29,12,9,9,9,0,150,0,150,9,129,12,115,16,107,24,104,37,103,56,103,146,110,145,115,145,120,144,132,144,161,145,184,147,204,153,221,161,239,175,249,185,257,197,263,210,266,225,267,240,266,254,263,268,258,280,252,291,243,300,227,310,209,319,187,325,162,329,134,331,16383,16383,103,294,103,301,105,306,108,310,113,311,120,312,156,309,182,302,200,287,210,266,213,238,210,213,199,192,182,177,158,167,128,164,118,164,113,165,109,165,103,166,311,65,289,47,269,32,248,23,226,17,201,15,180,17,161,21,143,28,126,38,112,51,99,68,89,88,82,112,77,140,76,171,81,219,96,260,121,291,154,311,196,318,215,316,232,311,248,304,263,293,276,280,283,272,289,263,294,252,299,240,302,224,314,224,310,338,300,338,297,332,289,324,284,322,278,321,273,322,266,324,258,326,244,330,232,333,208,337,196,338,185,338,157,336,131,330,106,320,83,305,63,286,47,266,35,243,26,218,20,191,18,162,20,133,26,106,36,80,49,57,66,37,85,22,107,9,131,0,157,-4, 113,311,120,312,120,312,134,331,120,312,156,309,134,331,156,309,162,329,162,329,156,309,182,302,162,329,182,302,187,325,187,325,182,302,200,287,187,325,200,287,209,319,209,319,200,287,210,266,209,319,210,266,227,310,227,310,210,266,213,238,227,310,213,238,221,161,221,161,210,213,204,153,204,153,210,213,199,192,204,153,199,192,184,147,184,147,199,192,182,177,184,147,182,177,161,145,161,145,182,177,158,167,161,145,158,167,132,144,132,144,158,167,128,164,132,144,128,164,125,144,125,144,128,164,122,164,125,144,122,164,120,144,120,144,122,164,118,164,120,144,118,164,115,145,115,145,118,164,113,165,115,145,113,165,110,145,110,145,113,165,109,165,110,145,109,165,103,146,103,146,109,165,103,166,103,146,103,166,103,56,103,56,103,166,51,276,103,56,51,276,104,37,104,37,51,276,51,61,267,240,266,254,266,225,266,225,266,254,263,268,266,225,263,268,263,210,263,210,263,268,258,280,263,210,258,280,257,197,257,197,258,280,252,291,257,197,252,291,249,185,249,185,252,291,243,300,249,185,243,300,239,175,239,175,243,300,227,310,239,175,227,310,221,161,134,331,9,331,28,319,134,331,28,319,40,315,134,331,40,315,47,307,134,331,47,307,51,294,134,331,51,294,51,276,134,331,51,276,108,310,134,331,108,310,113,311,134,331,113,311,120,312,103,294,103,301,51,276,103,294,51,276,103,166,105,306,108,310,51,276,105,306,51,276,103,301,150,0,150,9,129,12,150,0,129,12,115,16,150,0,115,16,51,39,150,0,51,39,48,25,150,0,48,25,41,16,150,0,41,16,29,12,150,0,29,12,9,9,150,0,9,9,9,0,51,61,51,39,115,16,51,61,115,16,107,24,51,61,107,24,104,37,28,319,9,331,9,321,210,213,221,161,213,238, 311,65,289,47,269,32,248,23,226,17,201,15,180,17,161,21,143,28,126,38,112,51,99,68,89,88,82,112,77,140,76,171,81,219,96,260,121,291,154,311,196,318,215,316,232,311,248,304,263,293,276,280,283,272,289,263,294,252,299,240,302,224,314,224,310,338,300,338,297,332,289,324,284,322,278,321,273,322,266,324,258,326,244,330,232,333,208,337,196,338,185,338,157,336,131,330,106,320,83,305,63,286,47,266,35,243,26,218,20,191,18,162,20,133,26,106,36,80,49,57,66,37,85,22,107,9,131,0,157,-4,184,-6,218,-4,249,3,277,16,301,34,320,56,296,246,292,331,18,331,15,246,27,246,33,274,42,292,54,303,73,309,100,310,130,310,130,61,129,39,125,25,117,16,104,12,83,9,83,0,229,0,229,9,208,11,194,16,186,23,182,36,181,55,181,310,210,310,237,309,256,303,269,292,277,274,284,246,347,331,243,331,243,322,254,320,263,316,269,312,273,306,274,299,273,292,271,284,268,273,263,260,257,245,204,118,132,245,123,262,110,288,107,297,106,303,107,309,112,314,119,318,129,321,142,322,142,331,7,331,7,322,15,320,27,316,37,310,42,305,46,300,51,294,61,278,181,67,172,53,163,41,154,33,146,28, 66,37,77,140,76,171,76,171,83,305,66,37,66,37,83,305,63,286,66,37,63,286,49,57,49,57,63,286,47,266,49,57,47,266,36,80,36,80,47,266,35,243,36,80,35,243,26,106,26,106,35,243,26,218,26,106,26,218,20,133,20,133,26,218,20,191,20,133,20,191,18,162,82,112,85,22,89,88,89,88,85,22,107,9,89,88,107,9,99,68,99,68,107,9,112,51,126,38,112,51,131,0,126,38,131,0,143,28,143,28,131,0,157,-4,143,28,157,-4,161,21,161,21,157,-4,184,-6,161,21,184,-6,180,17,180,17,184,-6,201,15,226,17,201,15,218,-4,226,17,218,-4,249,3,77,140,66,37,85,22,77,140,85,22,82,112,112,51,107,9,131,0,258,326,263,293,266,324,266,324,263,293,276,280,266,324,276,280,273,322,273,322,276,280,278,321,284,322,278,321,283,272,284,322,283,272,289,263,278,321,276,280,283,272,232,333,232,311,244,330,244,330,232,311,248,304,244,330,248,304,251,328,251,328,248,304,263,293,251,328,263,293,258,326,220,335,208,337,215,316,220,335,215,316,232,311,220,335,232,311,232,333,208,337,196,338,215,316,215,316,196,338,196,318,154,311,196,318,157,336,154,311,157,336,131,330,314,224,310,338,302,224,302,224,310,338,300,338,302,224,300,338,299,240,299,240,300,338,297,332,299,240,297,332,294,252,294,252,297,332,293,328,294,252,293,328,289,263,289,263,293,328,289,324,289,263,289,324,284,322,320,56,311,65,301,34,301,34,311,65,289,47,301,34,289,47,277,16,277,16,289,47,269,32,277,16,269,32,249,3,249,3,269,32,248,23,249,3,248,23,226,17,201,15,184,-6,218,-4,196,318,196,338,185,338,196,318,185,338,157,336,76,171,81,219,83,305,83,305,81,219,96,260,83,305,96,260,106,320,106,320,96,260,121,291,106,320,121,291,131,330,131,330,121,291,154,311, 296,246,292,331,18,331,15,246,27,246,33,274,42,292,54,303,73,309,100,310,130,310,130,61,129,39,125,25,117,16,104,12,83,9,83,0,229,0,229,9,208,11,194,16,186,23,182,36,181,55,181,310,210,310,237,309,256,303,269,292,277,274,284,246,347,331,243,331,243,322,254,320,263,316,269,312,273,306,274,299,273,292,271,284,268,273,263,260,257,245,204,118,132,245,123,262,110,288,107,297,106,303,107,309,112,314,119,318,129,321,142,322,142,331,7,331,7,322,15,320,27,316,37,310,42,305,46,300, 292,331,18,331,73,309,292,331,73,309,100,310,292,331,100,310,130,310,292,331,130,310,181,310,292,331,181,310,210,310,292,331,210,310,237,309,292,331,237,309,256,303,292,331,256,303,269,292,292,331,269,292,277,274,292,331,277,274,284,246,292,331,284,246,296,246,194,16,186,23,130,61,130,61,186,23,182,36,130,61,182,36,130,310,130,310,182,36,181,55,130,310,181,55,181,310,18,331,15,246,27,246,18,331,27,246,33,274,18,331,33,274,42,292,18,331,42,292,54,303,18,331,54,303,73,309,229,0,229,9,208,11,229,0,208,11,194,16,229,0,194,16,129,39,229,0,129,39,125,25,229,0,125,25,117,16,229,0,117,16,104,12,229,0,104,12,83,9,229,0,83,9,83,0,129,39,194,16,130,61, 347,331,243,331,243,322,254,320,263,316,269,312,273,306,274,299,273,292,271,284,268,273,263,260,257,245,204,118,132,245,123,262,110,288,107,297,106,303,107,309,112,314,119,318,129,321,142,322,142,331,7,331,7,322,15,320,27,316,37,310,42,305,46,300,51,294,61,278,181,67,172,53,163,41,154,33,146,28,138,27,136,27,133,28,131,29,127,30,124,32,118,35,108,39,104,40,99,41,92,40,85,37,80,32,77,26,76,20,78,10,84,3,93,-2,104,-5,117,-6,132,-4,147,0,161,9,175,22,188,40,194,51,202,65,210,81,219,100,228,122,291,272,300,289,310,302,321,312,333,319,347,322,218,290,219,301,223,310,232,316,247,320,269,321,269,331,116,331,116,321,138,320,152,317,161,311,165,302,166,290,166,280,124,276,84,263,50,241,27,209,19,165,24,128,41,97,69,72,107,57,158,51,166,51,166,37,164,27,158,19,148,14,134,10,116,9,116,0,269,0,269,9,248,11,233,14,224,19,219,27,218,38,218,51,230,51,265,56,302,69,334,91,357,123,366,165,357,209,333,241,300,263,260,276,218,280,16383,16383,217,262,251,256,278,240,296,216,307,188,311,159,305,128,291,103,270,85,244,74,217,70,16383,16383,167,70,135,75,108,88,89,107,78,132,74,159,78,189,91,216,111,240,136,256, 21,318,27,316,142,331,142,331,27,316,32,313,142,331,32,313,37,310,37,310,42,305,142,331,142,331,42,305,46,300,142,331,46,300,51,294,61,278,181,67,107,297,61,278,107,297,106,303,106,303,107,309,61,278,61,278,107,309,112,314,61,278,112,314,56,286,142,331,51,294,56,286,142,331,56,286,112,314,142,331,112,314,119,318,142,331,119,318,129,321,142,331,129,321,142,322,15,320,21,318,142,331,15,320,142,331,7,331,15,320,7,331,7,322,133,28,131,29,132,-4,132,-4,131,29,127,30,132,-4,127,30,124,32,124,32,118,35,132,-4,132,-4,118,35,117,-6,181,67,172,53,175,22,175,22,172,53,163,41,175,22,163,41,161,9,161,9,163,41,154,33,161,9,154,33,147,0,147,0,154,33,146,28,147,0,146,28,138,27,138,27,136,27,147,0,147,0,136,27,133,28,147,0,133,28,132,-4,257,245,204,118,210,81,257,245,210,81,219,100,257,245,219,100,228,122,257,245,228,122,291,272,347,331,243,331,254,320,347,331,254,320,263,316,347,331,263,316,269,312,347,331,269,312,273,306,347,331,273,306,274,299,347,331,274,299,321,312,347,331,321,312,333,319,347,331,333,319,347,322,291,272,300,289,274,299,291,272,274,299,273,292,291,272,273,292,271,284,291,272,271,284,268,273,291,272,268,273,263,260,291,272,263,260,257,245,310,302,321,312,274,299,310,302,274,299,300,289,204,118,132,245,181,67,204,118,181,67,188,40,204,118,188,40,194,51,204,118,194,51,202,65,204,118,202,65,210,81,181,67,132,245,123,262,181,67,123,262,116,276,181,67,116,276,110,288,181,67,110,288,107,297,118,35,113,37,117,-6,117,-6,113,37,108,39,117,-6,108,39,104,-5,104,-5,108,39,104,40,104,-5,104,40,99,41,93,-2,104,-5,99,41,93,-2,99,41,92,40,93,-2,92,40,85,37,93,-2,85,37,84,3,80,32,77,26,78,10,80,32,78,10,84,3,80,32,84,3,85,37,78,10,77,26,76,20,181,67,175,22,188,40,254,320,243,331,243,322, 218,290,219,301,223,310,232,316,247,320,269,321,269,331,116,331,116,321,138,320,152,317,161,311,165,302,166,290,166,280,124,276,84,263,50,241,27,209,19,165,24,128,41,97,69,72,107,57,158,51,166,51,166,37,164,27,158,19,148,14,134,10,116,9,116,0,269,0,269,9,248,11,233,14,224,19,219,27,218,38,218,51,230,51,265,56,302,69,334,91,357,123,366,165,357,209,333,241,300,263,260,276,218,280,16383,16383,217,262,251,256,278,240,296,216,307,188,311,159,305,128,291,103,270,85,244,74,217,70,16383,16383,167,70,135,75,108,88,89,107,78,132,74,159,78,189,91,216,111,240,136,256,167,262,352,0,352,9,337,12,326,16,316,22,306,32,296,46,200,184,272,272,289,292,303,305,316,314,330,319,348,321,348,331,229,331,229,321,243,320,253,319,259,316,262,311,263,305,262,301,260,296,256,290,250,282,243,272,187,202,165,234,151,255,139,272,130,286,125,297,123,306,124,312,127,316,132,319,139,320,147,320,161,321,161,331,11,331,11,321,28,319,43,312,58,299,77,276,102,242,155,164,77,66,57,42,42,26,30,17,18,12,4,9,4,0,121,0,121,9,105,11,95,13,88,17,84,21,83,26,84,31,87,38,92,46,99,57,109,70,169,145,216,74,225,60,232,48,238,38,241,31,242,25,241,20, 269,321,269,321,247,320,247,320,269,321,269,331,247,320,269,331,232,316,232,316,269,331,166,290,232,316,166,290,223,310,223,310,166,290,167,262,219,27,167,262,167,70,219,27,167,70,224,19,224,19,167,70,166,51,224,19,166,51,166,37,218,38,217,70,167,262,167,262,217,70,217,262,167,262,217,262,218,290,218,290,217,262,218,280,219,301,223,310,167,262,219,301,167,262,218,290,166,290,269,331,165,302,269,331,116,331,138,320,269,331,138,320,152,317,269,331,152,317,161,311,269,331,161,311,165,302,91,216,111,240,124,276,124,276,111,240,136,256,124,276,136,256,166,280,166,280,136,256,167,262,166,280,167,262,166,290,84,263,50,241,74,159,84,263,74,159,78,189,84,263,78,189,91,216,84,263,91,216,124,276,19,165,24,128,27,209,27,209,24,128,41,97,27,209,41,97,50,241,50,241,41,97,69,72,50,241,69,72,74,159,334,91,311,159,305,128,334,91,305,128,302,69,302,69,305,128,291,103,302,69,291,103,270,85,307,188,311,159,333,241,333,241,311,159,334,91,333,241,334,91,357,209,357,209,334,91,357,123,357,209,357,123,366,165,300,263,260,276,278,240,300,263,278,240,296,216,300,263,296,216,307,188,300,263,307,188,333,241,251,256,278,240,260,276,251,256,260,276,218,280,251,256,218,280,217,262,218,51,230,51,244,74,244,74,230,51,265,56,244,74,265,56,270,85,270,85,265,56,302,69,218,38,167,262,219,27,218,38,218,51,217,70,269,0,269,9,248,11,269,0,248,11,233,14,269,0,233,14,166,37,269,0,166,37,164,27,269,0,164,27,158,19,269,0,158,19,148,14,269,0,148,14,134,10,269,0,134,10,116,9,269,0,116,9,116,0,158,51,166,51,167,70,158,51,167,70,135,75,158,51,135,75,108,88,158,51,108,88,107,57,74,159,69,72,78,132,78,132,69,72,107,57,78,132,107,57,89,107,89,107,107,57,108,88,166,37,233,14,224,19,217,70,218,51,244,74,138,320,116,331,116,321, 352,0,352,9,337,12,326,16,316,22,306,32,296,46,200,184,272,272,289,292,303,305,316,314,330,319,348,321,348,331,229,331,229,321,243,320,253,319,259,316,262,311,263,305,262,301,260,296,256,290,250,282,243,272,187,202,165,234,151,255,139,272,130,286,125,297,123,306,124,312,127,316,132,319,139,320,147,320,161,321,161,331,11,331,11,321,28,319,43,312,58,299,77,276,102,242,155,164,77,66,57,42,42,26,30,17,18,12,4,9,4,0,121,0,121,9,105,11,95,13,88,17,84,21,83,26,84,31,87,38,92,46,99,57,109,70,169,145,216,74,225,60,232,48,238,38,241,31,242,25,241,20,237,16,232,14,225,12,217,11,204,9,204,0,348,-75,348,9,329,12,316,16,308,24,305,37,304,57,304,292,308,306,316,315,329,319,348,321,348,331,209,331,209,321,228,319,240,315,248,306,251,293,252,275,252,28,250,23,247,21,242,19,115,19,110,21,107,23,105,28,105,269,106,290,109,305,117,314,129,319,149,321,149,331,9,331,9,321,28,319,41,314,49,306,53,294,54,276,54,57,53,37,49,24,41,16,28,12,9,9,9,0,284,0,299,-5,312,-15,323,-29,331,-49,332,-54,333,-60,335,-67,335,-72,336,-75,320,0,320,9,301,12,288,16,280,24,276,37,275,57,275,269,276,291,280,306,288,315,301,319,320,321,320,331,186,331,186,321,204,319,214,316,221,309,223,299,224,283,224,174,216,170, 30,17,121,0,42,26,42,26,121,0,88,17,42,26,88,17,57,42,57,42,88,17,84,21,57,42,84,21,83,26,83,26,84,31,77,66,77,66,84,31,87,38,77,66,87,38,155,164,155,164,87,38,92,46,155,164,92,46,99,57,102,242,155,164,125,297,102,242,125,297,123,306,123,306,124,312,102,242,155,164,99,57,109,70,109,70,169,145,155,164,155,164,169,145,165,234,155,164,165,234,151,255,77,66,57,42,83,26,161,331,11,331,28,319,161,331,28,319,43,312,161,331,43,312,58,299,161,331,58,299,132,319,161,331,132,319,139,320,161,331,139,320,147,320,161,331,147,320,161,321,132,319,58,299,127,316,127,316,58,299,77,276,127,316,77,276,124,312,124,312,77,276,102,242,260,296,256,290,272,272,272,272,256,290,250,282,272,272,250,282,243,272,243,272,187,202,200,184,200,184,187,202,216,74,200,184,216,74,296,46,296,46,216,74,225,60,296,46,225,60,232,48,348,331,229,331,243,320,348,331,243,320,253,319,348,331,253,319,259,316,348,331,259,316,262,311,348,331,262,311,263,305,348,331,263,305,316,314,348,331,316,314,330,319,348,331,330,319,348,321,263,305,272,272,289,292,263,305,289,292,303,305,263,305,303,305,316,314,262,301,260,296,272,272,262,301,272,272,263,305,243,272,200,184,272,272,237,16,232,14,352,0,352,0,232,14,225,12,352,0,225,12,217,11,242,25,352,0,326,16,242,25,326,16,316,22,242,25,316,22,306,32,242,25,306,32,296,46,242,25,296,46,241,31,296,46,232,48,238,38,296,46,238,38,241,31,187,202,165,234,169,145,187,202,169,145,216,74,337,12,326,16,352,0,337,12,352,0,352,9,241,20,237,16,352,0,241,20,352,0,242,25,204,9,204,0,352,0,204,9,352,0,217,11,155,164,151,255,139,272,155,164,139,272,130,286,155,164,130,286,125,297,121,0,121,9,105,11,121,0,105,11,95,13,121,0,95,13,88,17,18,12,4,9,121,0,18,12,121,0,30,17,121,0,4,9,4,0,243,320,229,331,229,321,28,319,11,331,11,321, 348,-75,348,9,329,12,316,16,308,24,305,37,304,57,304,292,308,306,316,315,329,319,348,321,348,331,209,331,209,321,228,319,240,315,248,306,251,293,252,275,252,28,250,23,247,21,242,19,115,19,110,21,107,23,105,28,105,269,106,290,109,305,117,314,129,319,149,321,149,331,9,331,9,321,28,319,41,314,49,306,53,294,54,276,54,57,53,37,49,24,41,16,28,12,9,9,9,0,284,0,299,-5,312,-15,323,-29,331,-49,332,-54,333,-60,335,-67,335,-72,336,-75,320,0,320,9,301,12,288,16,280,24,276,37,275,57,275,269,276,291,280,306,288,315,301,319,320,321,320,331,186,331,186,321,204,319,214,316,221,309,223,299,224,283,224,174,216,170,204,166,190,161,173,158,155,156,132,158,116,165,105,176,99,193,97,216,97,273,98,294,101,307,109,315,121,319,139,321,139,331,2,331,2,321,21,319,34,315,41,307,45,293,46,273,46,211,50,178,62,155,80,142,104,136,133,134,157,136,178,140,197,145,212,152,224,157,224,57,223,37, 49,24,41,16,268,0,268,0,41,16,28,12,268,0,28,12,9,9,149,331,9,331,28,319,149,331,28,319,41,314,149,331,41,314,49,306,149,331,49,306,53,294,149,331,53,294,117,314,149,331,117,314,129,319,149,331,129,319,149,321,110,21,107,23,54,57,54,57,107,23,105,28,54,57,105,28,54,276,54,276,105,28,105,34,54,276,105,34,105,269,54,276,105,269,106,290,54,276,106,290,109,305,54,276,109,305,117,314,54,276,117,314,53,294,329,319,348,321,348,331,329,319,348,331,316,315,316,315,348,331,251,293,316,315,251,293,252,275,268,0,252,275,252,35,268,0,252,35,252,28,316,16,308,24,312,-15,312,-15,308,24,305,37,312,-15,305,37,299,-5,299,-5,305,37,304,57,299,-5,304,57,304,270,252,275,268,0,304,292,304,292,268,0,284,0,304,292,284,0,304,270,304,270,284,0,299,-5,308,306,316,315,252,275,308,306,252,275,304,292,348,331,209,331,228,319,348,331,228,319,240,315,348,331,240,315,248,306,348,331,248,306,251,293,333,-60,348,9,332,-54,332,-54,348,9,331,-49,323,-29,331,-49,329,12,323,-29,329,12,316,16,348,9,333,-60,335,-67,348,9,335,-67,335,-72,348,9,335,-72,336,-75,348,9,336,-75,348,-75,348,9,329,12,331,-49,268,0,252,28,250,23,268,0,250,23,247,21,268,0,247,21,242,19,268,0,242,19,235,19,268,0,235,19,123,19,268,0,123,19,115,19,268,0,115,19,49,24,110,21,54,57,53,37,110,21,53,37,49,24,110,21,49,24,115,19,268,0,9,9,9,0,316,16,312,-15,323,-29,228,319,209,331,209,321,28,319,9,331,9,321, 320,0,320,9,301,12,288,16,280,24,276,37,275,57,275,269,276,291,280,306,288,315,301,319,320,321,320,331,186,331,186,321,204,319,214,316,221,309,223,299,224,283,224,174,216,170,204,166,190,161,173,158,155,156,132,158,116,165,105,176,99,193,97,216,97,273,98,294,101,307,109,315,121,319,139,321,139,331,2,331,2,321,21,319,34,315,41,307,45,293,46,273,46,211,50,178,62,155,80,142,104,136,133,134,157,136,178,140,197,145,212,152,224,157,224,57,223,37,219,24,211,16,199,12,180,9,180,0,483,0,483,9,463,12,450,16,443,24,439,37,438,57,438,270,439,292,443,306,450,315,463,319,483,321,483,331,343,331,344,321,362,319,375,315,383,306,386,293,387,275,387,28,385,23,382,21,377,19,282,19,277,21,274,23,272,27,272,269,273,290,276,305,283,314,296,319,315,321,315,331,183,331,183,321,200,319,210,314,217,306,220,294,220,28,218,23,215,21,210,19,120,19,115,21,112,23,110,28,110,269,111,291,114,306,120,315,131,320,147,321,147,331,15,331,15,321,34,319,46,314,54,306,58,294,59,276, 139,321,139,321,121,319,121,319,139,321,139,331,121,319,139,331,109,315,109,315,139,331,45,293,109,315,45,293,46,273,50,178,46,273,46,211,132,158,116,165,133,134,133,134,116,165,105,176,133,134,105,176,104,136,104,136,105,176,99,193,104,136,99,193,80,142,80,142,99,193,97,216,80,142,97,216,97,273,46,273,50,178,101,307,101,307,50,178,62,155,101,307,62,155,98,294,98,294,62,155,80,142,98,294,80,142,97,273,139,331,2,331,21,319,139,331,21,319,34,315,139,331,34,315,41,307,139,331,41,307,45,293,224,283,224,174,224,157,224,157,224,174,216,170,224,157,216,170,212,152,212,152,216,170,204,166,212,152,204,166,197,145,197,145,204,166,190,161,197,145,190,161,178,140,178,140,190,161,173,158,178,140,173,158,157,136,157,136,173,158,155,156,133,134,157,136,155,156,133,134,155,156,132,158,320,331,186,331,204,319,320,331,204,319,214,316,320,331,214,316,221,309,320,331,221,309,223,299,320,331,223,299,224,283,320,331,224,283,288,315,320,331,288,315,301,319,320,331,301,319,320,321,275,57,275,269,224,157,224,157,275,269,276,291,224,157,276,291,280,306,224,283,224,157,280,306,224,283,280,306,288,315,320,0,320,9,301,12,320,0,301,12,288,16,320,0,288,16,223,37,320,0,223,37,219,24,320,0,219,24,211,16,320,0,211,16,199,12,320,0,199,12,180,9,320,0,180,9,180,0,224,157,280,24,276,37,224,157,276,37,275,57,224,57,223,37,288,16,224,57,288,16,280,24,224,57,280,24,224,157,204,319,186,331,186,321,21,319,2,331,2,321,109,315,46,273,101,307, 483,0,483,9,463,12,450,16,443,24,439,37,438,57,438,270,439,292,443,306,450,315,463,319,483,321,483,331,343,331,344,321,362,319,375,315,383,306,386,293,387,275,387,28,385,23,382,21,377,19,282,19,277,21,274,23,272,27,272,269,273,290,276,305,283,314,296,319,315,321,315,331,183,331,183,321,200,319,210,314,217,306,220,294,220,28,218,23,215,21,210,19,120,19,115,21,112,23,110,28,110,269,111,291,114,306,120,315,131,320,147,321,147,331,15,331,15,321,34,319,46,314,54,306,58,294,59,276,59,57,58,37,54,24,46,16,33,12,15,9,15,0,483,-75,483,9,463,12,450,16,443,24,439,37,438,57,438,270,439,292,443,306,450,315,463,319,483,321,483,331,343,331,344,321,362,319,375,315,383,306,386,293,387,275,387,28,385,23,382,21,377,19,282,19,277,21,274,23,272,27,272,269,273,290,276,305,283,314,296,319,315,321,315,331,183,331,183,321,200,319,210,314,217,306,220,294,220,28,218,23,215,21,210,19,120,19,115,21,112,23,110,28,110,269,111,291,114,306,120,315,131,320,147,321,147,331,15,331,15,321,34,319,46,314,54,306,58,294,59,276,59,57,58,37,54,24,46,16,33,12,15,9,15,0, 59,57,58,37,115,21,115,21,58,37,54,24,115,21,54,24,120,19,120,19,54,24,46,16,120,19,46,16,483,0,483,0,46,16,33,12,483,0,33,12,15,9,147,331,15,331,34,319,147,331,34,319,46,314,147,331,46,314,54,306,147,331,54,306,58,294,147,331,58,294,120,315,147,331,120,315,131,320,147,331,131,320,147,321,115,21,112,23,59,57,59,57,112,23,110,28,59,57,110,28,59,276,59,276,110,28,110,34,59,276,110,34,110,269,59,276,110,269,111,291,59,276,111,291,114,306,59,276,114,306,120,315,59,276,120,315,58,294,296,319,315,321,315,331,296,319,315,331,283,314,283,314,315,331,220,294,283,314,220,294,220,276,272,27,220,276,220,35,272,27,220,35,274,23,274,23,220,35,277,21,272,33,272,269,220,276,220,276,272,269,273,290,220,276,273,290,276,305,315,331,183,331,200,319,315,331,200,319,210,314,315,331,210,314,217,306,315,331,217,306,220,294,463,319,483,321,483,331,463,319,483,331,450,315,450,315,483,331,386,293,450,315,386,293,387,275,439,37,387,275,387,35,439,37,387,35,443,24,443,24,387,35,450,16,438,57,438,270,387,275,387,275,438,270,439,292,387,275,439,292,443,306,483,331,343,331,344,321,483,331,344,321,362,319,483,331,362,319,375,315,483,331,375,315,383,306,483,331,383,306,386,293,483,0,483,9,463,12,483,0,463,12,450,16,483,0,450,16,387,35,483,0,387,35,387,28,483,0,387,28,385,23,483,0,385,23,382,21,483,0,382,21,377,19,483,0,377,19,371,19,483,0,371,19,289,19,483,0,289,19,282,19,483,0,282,19,218,23,483,0,218,23,215,21,483,0,215,21,210,19,483,0,210,19,203,19,483,0,203,19,127,19,483,0,127,19,120,19,282,19,277,21,220,35,282,19,220,35,220,28,282,19,220,28,218,23,483,0,15,9,15,0,220,276,272,27,272,33,387,275,439,37,438,57,450,315,387,275,443,306,200,319,183,331,183,321,283,314,220,276,276,305,34,319,15,331,15,321, 483,-75,483,9,463,12,450,16,443,24,439,37,438,57,438,270,439,292,443,306,450,315,463,319,483,321,483,331,343,331,344,321,362,319,375,315,383,306,386,293,387,275,387,28,385,23,382,21,377,19,282,19,277,21,274,23,272,27,272,269,273,290,276,305,283,314,296,319,315,321,315,331,183,331,183,321,200,319,210,314,217,306,220,294,220,28,218,23,215,21,210,19,120,19,115,21,112,23,110,28,110,269,111,291,114,306,120,315,131,320,147,321,147,331,15,331,15,321,34,319,46,314,54,306,58,294,59,276,59,57,58,37,54,24,46,16,33,12,15,9,15,0,419,0,433,-5,446,-15,457,-29,465,-49,467,-55,468,-61,469,-68,470,-73,470,-75,171,183,171,274,172,293,177,307,186,315,200,319,219,321,219,331,10,331,7,246,18,246,25,274,33,293,45,304,63,309,90,310,120,310,120,56,119,37,114,24,106,16,92,11,72,9,72,0,231,0,271,4,305,15,330,34,346,59,352,91,345,126,327,153,299,170,262,180,219,183,16383,16383,171,163,204,163,231,161,256,154,276,141,289,120,294,89,289,59,275,39,253,27,226,21,195,19,185,20,178,22,174,26,171,33,171,41,432,0,432,9,414,12,401,17,393,25,389,38,388,57,388,274,389,294,393,307,401,315,414,319,432,321,432,331,292,331,292,321,312,319,325,315,332,307,336,294,337,274,337,61,336,39,333,25,325,16,312,12,292,9,292,0, 59,57,58,37,115,21,115,21,58,37,54,24,115,21,54,24,120,19,120,19,54,24,46,16,120,19,46,16,402,0,402,0,46,16,33,12,402,0,33,12,15,9,147,331,15,331,34,319,147,331,34,319,46,314,147,331,46,314,54,306,147,331,54,306,58,294,147,331,58,294,120,315,147,331,120,315,131,320,147,331,131,320,147,321,115,21,112,23,59,57,59,57,112,23,110,28,59,57,110,28,59,276,59,276,110,28,110,34,59,276,110,34,110,269,59,276,110,269,111,291,59,276,111,291,114,306,59,276,114,306,120,315,59,276,120,315,58,294,296,319,315,321,315,331,296,319,315,331,283,314,283,314,315,331,220,294,283,314,220,294,220,276,272,27,220,276,220,35,272,27,220,35,274,23,274,23,220,35,277,21,272,33,272,269,220,276,220,276,272,269,273,290,220,276,273,290,276,305,315,331,183,331,200,319,315,331,200,319,210,314,315,331,210,314,217,306,315,331,217,306,220,294,463,319,483,321,483,331,463,319,483,331,450,315,450,315,483,331,386,293,450,315,386,293,387,275,402,0,387,275,387,35,402,0,387,35,387,28,450,16,443,24,446,-15,446,-15,443,24,439,37,446,-15,439,37,433,-5,433,-5,439,37,438,57,433,-5,438,57,438,270,387,275,402,0,439,292,439,292,402,0,419,0,439,292,419,0,438,270,438,270,419,0,433,-5,443,306,450,315,387,275,443,306,387,275,439,292,483,331,343,331,344,321,483,331,344,321,362,319,483,331,362,319,375,315,483,331,375,315,383,306,483,331,383,306,386,293,468,-61,483,9,467,-55,467,-55,483,9,465,-49,457,-29,465,-49,463,12,457,-29,463,12,450,16,483,9,468,-61,469,-68,483,9,469,-68,470,-73,483,9,470,-73,470,-75,483,9,470,-75,483,-75,483,9,463,12,465,-49,402,0,387,28,385,23,402,0,385,23,382,21,402,0,382,21,377,19,402,0,377,19,371,19,402,0,371,19,289,19,402,0,289,19,282,19,402,0,282,19,220,28,402,0,220,28,218,23,402,0,218,23,215,21,402,0,215,21,210,19,402,0,210,19,203,19,402,0,203,19,127,19,402,0,127,19,120,19,220,35,220,28,282,19,220,35,282,19,277,21,402,0,15,9,15,0,220,276,272,27,272,33,450,16,446,-15,457,-29,200,319,183,331,183,321,283,314,220,276,276,305,34,319,15,331,15,321, 171,183,171,274,172,293,177,307,186,315,200,319,219,321,219,331,10,331,7,246,18,246,25,274,33,293,45,304,63,309,90,310,120,310,120,56,119,37,114,24,106,16,92,11,72,9,72,0,231,0,271,4,305,15,330,34,346,59,352,91,345,126,327,153,299,170,262,180,219,183,16383,16383,171,163,204,163,231,161,256,154,276,141,289,120,294,89,289,59,275,39,253,27,226,21,195,19,185,20,178,22,174,26,171,33,171,41,432,0,432,9,414,12,401,17,393,25,389,38,388,57,388,274,389,294,393,307,401,315,414,319,432,321,432,331,292,331,292,321,312,319,325,315,332,307,336,294,337,274,337,61,336,39,333,25,325,16,312,12,292,9,292,0,16383,16383,108,183,108,274,110,293,115,307,123,315,137,319,156,321,156,331,9,331,9,321,30,320,44,316,52,308,56,295,57,275,57,56,56,37,52,24,43,16,30,11,9,9,9,0,170,0,210,4, 114,24,106,16,231,0,231,0,106,16,92,11,231,0,92,11,72,9,177,307,186,315,120,310,120,310,186,315,219,331,120,310,219,331,90,310,63,309,90,310,219,331,63,309,219,331,10,331,200,319,219,321,219,331,200,319,219,331,186,315,120,310,171,33,171,41,171,183,171,163,204,163,171,183,204,163,219,183,219,183,204,163,231,161,219,183,231,161,262,180,262,180,231,161,256,154,262,180,256,154,276,141,120,310,171,41,171,274,120,310,171,274,172,293,120,310,172,293,177,307,10,331,7,246,18,246,10,331,18,246,25,274,10,331,25,274,33,293,10,331,33,293,45,304,10,331,45,304,63,309,294,89,289,59,305,15,305,15,289,59,275,39,305,15,275,39,271,4,271,4,275,39,253,27,271,4,253,27,231,0,231,0,253,27,226,21,231,0,226,21,195,19,195,19,185,20,231,0,231,0,185,20,178,22,231,0,178,22,119,37,119,37,178,22,120,56,299,170,294,89,305,15,299,170,305,15,327,153,327,153,305,15,330,34,327,153,330,34,345,126,345,126,330,34,346,59,345,126,346,59,352,91,299,170,262,180,276,141,299,170,276,141,289,120,299,170,289,120,294,89,120,56,178,22,174,26,120,56,174,26,171,33,120,56,171,33,120,310,231,0,72,9,72,0,114,24,231,0,119,37, 432,0,432,9,414,12,401,17,393,25,389,38,388,57,388,274,389,294,393,307,401,315,414,319,432,321,432,331,292,331,292,321,312,319,325,315,332,307,336,294,337,274,337,61,336,39,333,25,325,16,312,12,292,9,292,0,16383,16383,108,183,108,274,110,293,115,307,123,315,137,319,156,321,156,331,9,331,9,321,30,320,44,316,52,308,56,295,57,275,57,56,56,37,52,24,43,16,30,11,9,9,9,0,170,0,210,4,244,15,268,34,284,59,290,91,283,126,265,153,238,170,201,180,158,183,16383,16383,108,163,142,163,170,161,194,154,214,141,227,120,232,89,227,59,214,39,193,27,166,21,134,19,123,20,115,22,111,26,109,33,108,41,108,183,108,274,110,293,115,307,123,315,137,319,156,321,156,331,9,331,9,321,30,320,44,316,52,308,56,295,57,275,57,56,56,37,52,24,43,16,30,11,9,9,9,0,170,0,210,4,243,15,268,34,284,59,289,91,283,126,265,153,237,170,201,180,158,183,16383,16383,108,163,142,163,170,161,194,154,214,141,227,120,232,89,227,59,213,39,193,27,166,21,134,19,123,20,115,22,111,26,109,33,108,41,26,338,23,224,36,224,39,239,42,252,46,263,51,272,57,280,71,293,85,304,101,311,118,316,136,318,173,312,203,293,226,265,241,228,248,184,103,184,103,161,248,161,248,142,246,124,242,108,237,92,231,78,218,57,201,39,181,26, 432,321,432,321,414,319,414,319,432,321,432,331,414,319,432,331,401,315,401,315,432,331,336,294,401,315,336,294,337,274,389,38,337,274,337,61,389,38,337,61,393,25,393,25,337,61,401,17,388,57,388,274,337,274,337,274,388,274,389,294,337,274,389,294,393,307,432,331,292,331,312,319,432,331,312,319,325,315,432,331,325,315,332,307,432,331,332,307,336,294,432,0,432,9,414,12,432,0,414,12,401,17,432,0,401,17,336,39,432,0,336,39,333,25,432,0,333,25,325,16,432,0,325,16,312,12,432,0,312,12,292,9,432,0,292,9,292,0,52,24,43,16,170,0,170,0,43,16,30,11,170,0,30,11,9,9,156,331,9,331,30,320,156,331,30,320,44,316,156,331,44,316,52,308,156,331,52,308,56,295,156,331,56,295,123,315,156,331,123,315,137,319,156,331,137,319,156,321,57,275,109,33,108,41,108,183,108,163,142,163,108,183,142,163,158,183,158,183,142,163,170,161,158,183,170,161,201,180,201,180,170,161,194,154,201,180,194,154,214,141,57,275,108,41,108,274,57,275,108,274,110,293,57,275,110,293,115,307,57,275,115,307,123,315,57,275,123,315,56,295,232,89,227,59,244,15,244,15,227,59,214,39,244,15,214,39,210,4,210,4,214,39,193,27,210,4,193,27,170,0,170,0,193,27,166,21,170,0,166,21,134,19,134,19,123,20,170,0,170,0,123,20,115,22,170,0,115,22,56,37,56,37,115,22,57,56,238,170,232,89,244,15,238,170,244,15,265,153,265,153,244,15,268,34,265,153,268,34,283,126,283,126,268,34,284,59,283,126,284,59,290,91,238,170,201,180,214,141,238,170,214,141,227,120,238,170,227,120,232,89,57,56,115,22,111,26,57,56,111,26,109,33,57,56,109,33,57,275,170,0,9,9,9,0,52,24,170,0,56,37,30,320,9,331,9,321,336,39,401,17,337,61,337,274,389,38,388,57,312,319,292,331,292,321,401,315,337,274,393,307, 108,183,108,274,110,293,115,307,123,315,137,319,156,321,156,331,9,331,9,321,30,320,44,316,52,308,56,295,57,275,57,56,56,37,52,24,43,16,30,11,9,9,9,0,170,0,210,4,243,15,268,34,284,59,289,91,283,126,265,153,237,170,201,180,158,183,16383,16383,108,163,142,163,170,161,194,154,214,141,227,120,232,89,227,59,213,39,193,27,166,21,134,19,123,20,115,22,111,26,109,33,108,41,26,338,23,224,36,224,39,239,42,252,46,263,51,272,57,280,71,293,85,304,101,311,118,316,136,318,173,312,203,293,226,265,241,228,248,184,103,184,103,161,248,161,248,142,246,124,242,108,237,92,231,78,218,57,201,39,181,26,158,18,131,15,107,17,86,23,65,32,45,46,25,65,15,55,33,33,55,16,80,3,109,-4,141,-6,168,-4,194,0,218,9,240,22,258,37,275,57,288,79,298,104,304,131, 52,24,43,16,170,0,170,0,43,16,30,11,170,0,30,11,9,9,156,331,9,331,30,320,156,331,30,320,44,316,156,331,44,316,52,308,156,331,52,308,56,295,156,331,56,295,123,315,156,331,123,315,137,319,156,331,137,319,156,321,57,275,109,33,108,41,108,183,108,163,142,163,108,183,142,163,158,183,158,183,142,163,170,161,158,183,170,161,201,180,201,180,170,161,194,154,201,180,194,154,214,141,57,275,108,41,108,274,57,275,108,274,110,293,57,275,110,293,115,307,57,275,115,307,123,315,57,275,123,315,56,295,57,56,56,37,115,22,115,22,56,37,170,0,115,22,170,0,123,20,123,20,170,0,134,19,166,21,134,19,170,0,166,21,170,0,193,27,193,27,170,0,210,4,193,27,210,4,213,39,213,39,210,4,243,15,213,39,243,15,227,59,227,59,243,15,232,89,237,170,232,89,243,15,237,170,243,15,265,153,265,153,243,15,268,34,265,153,268,34,283,126,283,126,268,34,284,59,283,126,284,59,289,91,237,170,201,180,214,141,237,170,214,141,227,120,237,170,227,120,232,89,57,56,115,22,111,26,57,56,111,26,109,33,57,56,109,33,57,275,170,0,9,9,9,0,52,24,170,0,56,37,30,320,9,331,9,321, 26,338,23,224,36,224,39,239,42,252,46,263,51,272,57,280,71,293,85,304,101,311,118,316,136,318,173,312,203,293,226,265,241,228,248,184,103,184,103,161,248,161,248,142,246,124,242,108,237,92,231,78,218,57,201,39,181,26,158,18,131,15,107,17,86,23,65,32,45,46,25,65,15,55,33,33,55,16,80,3,109,-4,141,-6,168,-4,194,0,218,9,240,22,258,37,275,57,288,79,298,104,304,131,306,160,305,188,299,215,290,240,278,263,263,284,244,304,222,319,198,330,173,336,147,338,136,338,124,337,113,336,101,333,90,330,83,328,75,326,61,322,55,321,50,322,45,324,41,328,38,332,36,338,105,180,105,274,106,294,110,307,118,315,130,319,149,321,149,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,149,9,130,12,118,17,110,25,106,38,105,56,105,157,149,157,157,102,177,57,207,22,245,0,291,-6,337,1,376,24,405,60,425,108,431,166,425,222,406,269,377,306,338,330,291,338,245,331,207,310,178,276,158,232,149,180,16383,16383,377,169,376,134,373,103,367,76,359,53,347,35,337,26,327,19,315,15,303,12,291,11,279,12,268,15,257,19,247,25,237,33,224,52,214,75,208,102,204,132,203,166,204,194,207,222,211,247, 36,338,36,338,38,332,38,332,36,338,39,239,38,332,39,239,41,328,41,328,39,239,42,252,41,328,42,252,45,324,45,324,42,252,46,263,45,324,46,263,50,322,50,322,46,263,51,272,50,322,51,272,55,321,55,321,51,272,57,280,55,321,57,280,61,322,36,224,39,239,36,338,36,224,36,338,26,338,36,224,26,338,23,224,75,326,68,324,71,293,71,293,68,324,61,322,71,293,61,322,57,280,90,330,83,328,85,304,90,330,85,304,101,311,90,330,101,311,101,333,75,326,71,293,85,304,75,326,85,304,83,328,248,142,246,124,258,37,258,37,246,124,242,108,258,37,242,108,240,22,240,22,242,108,237,92,240,22,237,92,231,78,231,78,218,57,218,9,218,9,218,57,201,39,218,9,201,39,194,0,194,0,201,39,181,26,194,0,181,26,168,-4,168,-4,181,26,158,18,168,-4,158,18,141,-6,141,-6,158,18,131,15,131,15,107,17,109,-4,109,-4,107,17,86,23,109,-4,86,23,80,3,80,3,86,23,65,32,80,3,65,32,55,16,55,16,65,32,45,46,55,16,45,46,33,33,33,33,45,46,25,65,33,33,25,65,15,55,136,318,136,338,124,337,136,318,124,337,118,316,136,318,147,338,136,338,118,316,124,337,113,336,118,316,113,336,101,333,118,316,101,333,101,311,306,160,305,188,304,131,304,131,305,188,299,215,304,131,299,215,298,104,298,104,299,215,290,240,298,104,290,240,288,79,288,79,290,240,278,263,288,79,278,263,275,57,275,57,278,263,263,284,275,57,263,284,258,37,258,37,263,284,248,161,258,37,248,161,248,142,263,284,248,184,248,161,248,161,248,184,103,184,244,304,222,319,226,265,244,304,226,265,241,228,244,304,241,228,248,184,244,304,248,184,263,284,203,293,226,265,222,319,203,293,222,319,198,330,203,293,198,330,173,336,203,293,173,336,173,312,173,312,173,336,147,338,173,312,147,338,136,318,231,78,218,9,240,22,141,-6,131,15,109,-4,248,161,103,184,103,161, 105,180,105,274,106,294,110,307,118,315,130,319,149,321,149,331,9,331,9,321,29,319,42,315,50,307,53,294,54,274,54,61,53,39,50,25,42,16,29,12,9,9,9,0,149,0,149,9,130,12,118,17,110,25,106,38,105,56,105,157,149,157,157,102,177,57,207,22,245,0,291,-6,337,1,376,24,405,60,425,108,431,166,425,222,406,269,377,306,338,330,291,338,245,331,207,310,178,276,158,232,149,180,16383,16383,377,169,376,134,373,103,367,76,359,53,347,35,337,26,327,19,315,15,303,12,291,11,279,12,268,15,257,19,247,25,237,33,224,52,214,75,208,102,204,132,203,166,204,194,207,222,211,247,219,269,228,286,239,299,251,308,263,315,276,318,290,320,302,319,313,316,324,311,334,305,343,296,356,279,366,257,372,231,376,201,377,169,309,0,309,9,290,12,277,16,270,25,267,39,267,276,268,294,271,307,278,315,290,319,309,321,309,331,180,331,136,329,98,321,69,306,49,282,42,246,47,216,60,193,81,176,108,164,141,157,49,35,41,26,31,19,22,14,12,11,2,9,2,0,83,0,198,155,216,155,216,56,215,37,211,24,203,16,189,12,169,9,169,0,16383,16383,216,174,186,174,156,177,131,186,113,200,101,219,97,244,99,261,103,276,111,288,121,298,133,305,143,308,153,310,164,311,177,312,190,312,200,311,207,309,212,304,215,296,216,286,223,33,218,29,210,25,206,24,201,23,196,25,192,28,189,35,187,44,186,56,186,152,185,168,184,181,181,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192, 50,25,42,16,149,0,149,0,42,16,29,12,149,0,29,12,9,9,149,331,9,331,29,319,149,331,29,319,42,315,149,331,42,315,50,307,149,331,50,307,53,294,149,331,53,294,118,315,149,331,118,315,130,319,149,331,130,319,149,321,158,232,149,180,149,157,149,157,149,180,105,180,149,157,105,180,105,157,106,38,105,56,54,274,106,38,54,274,54,61,54,274,105,56,105,274,54,274,105,274,106,294,54,274,106,294,110,307,54,274,110,307,118,315,54,274,118,315,53,294,149,0,149,9,130,12,149,0,130,12,118,17,149,0,118,17,53,39,149,0,53,39,50,25,54,61,53,39,118,17,54,61,118,17,110,25,54,61,110,25,106,38,263,315,291,338,251,308,251,308,291,338,245,331,251,308,245,331,239,299,239,299,245,331,228,286,219,269,228,286,245,331,219,269,245,331,207,310,208,102,207,22,214,75,214,75,207,22,245,0,214,75,245,0,224,52,224,52,245,0,237,33,247,25,237,33,245,0,247,25,245,0,291,-6,338,330,291,338,302,319,302,319,291,338,290,320,276,318,290,320,291,338,276,318,291,338,263,315,207,310,178,276,203,166,207,310,203,166,204,194,207,310,204,194,207,222,207,310,207,222,211,247,207,310,211,247,219,269,208,102,204,132,207,22,207,22,204,132,203,166,268,15,291,-6,279,12,279,12,291,-6,291,11,303,12,291,11,291,-6,303,12,291,-6,337,1,313,316,324,311,338,330,338,330,324,311,334,305,338,330,334,305,343,296,343,296,356,279,377,306,377,306,356,279,366,257,377,306,366,257,372,231,373,103,367,76,376,24,376,24,367,76,359,53,376,24,359,53,347,35,347,35,337,26,376,24,376,24,337,26,337,1,431,166,425,222,425,108,425,108,425,222,406,269,425,108,406,269,405,60,405,60,406,269,377,169,377,306,372,231,376,201,377,306,376,201,377,169,377,306,377,169,406,269,377,306,338,330,343,296,376,134,373,103,376,24,376,134,376,24,405,60,376,134,405,60,377,169,337,1,337,26,327,19,337,1,327,19,315,15,337,1,315,15,303,12,257,19,247,25,291,-6,257,19,291,-6,268,15,149,157,157,102,158,232,158,232,157,102,177,57,158,232,177,57,178,276,178,276,177,57,207,22,178,276,207,22,203,166,338,330,302,319,313,316,149,0,9,9,9,0,29,319,9,331,9,321, 309,0,309,9,290,12,277,16,270,25,267,39,267,276,268,294,271,307,278,315,290,319,309,321,309,331,180,331,136,329,98,321,69,306,49,282,42,246,47,216,60,193,81,176,108,164,141,157,49,35,41,26,31,19,22,14,12,11,2,9,2,0,83,0,198,155,216,155,216,56,215,37,211,24,203,16,189,12,169,9,169,0,16383,16383,216,174,186,174,156,177,131,186,113,200,101,219,97,244,99,261,103,276,111,288,121,298,133,305,143,308,153,310,164,311,177,312,190,312,200,311,207,309,212,304,215,296,216,286,223,33,218,29,210,25,206,24,201,23,196,25,192,28,189,35,187,44,186,56,186,152,185,168,184,181,181,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,207,83,212,93,215,104,217,117,215,129,210,138,202,144,190,146,173,146,146,116,135,93,126,76,118,63,112,54,105,42,97,33,87, 31,19,22,14,83,0,83,0,22,14,12,11,83,0,12,11,2,9,99,261,103,276,98,321,98,321,103,276,111,288,98,321,111,288,136,329,136,329,111,288,121,298,136,329,121,298,133,305,133,305,143,308,136,329,136,329,143,308,180,331,101,219,97,244,108,164,108,164,97,244,81,176,81,176,97,244,98,321,98,321,97,244,99,261,42,246,47,216,49,282,49,282,47,216,60,193,49,282,60,193,69,306,69,306,60,193,81,176,69,306,81,176,98,321,141,157,83,0,198,155,141,157,198,155,156,177,141,157,156,177,131,186,141,157,131,186,113,200,141,157,113,200,108,164,211,24,203,16,309,0,309,0,203,16,189,12,309,0,189,12,169,9,153,310,164,311,180,331,180,331,164,311,177,312,180,331,177,312,190,312,190,312,200,311,309,331,309,331,200,311,207,309,309,331,207,309,212,304,211,24,309,0,215,37,215,37,309,0,277,16,215,37,277,16,216,56,216,56,277,16,270,25,216,56,270,25,216,155,216,155,270,25,216,174,216,155,216,174,198,155,198,155,216,174,186,174,198,155,186,174,156,177,83,0,141,157,49,35,83,0,49,35,41,26,83,0,41,26,31,19,290,319,309,321,309,331,290,319,309,331,278,315,278,315,309,331,216,286,278,315,216,286,271,307,271,307,216,286,268,294,216,286,267,39,267,61,267,276,268,294,216,286,267,276,216,286,267,61,309,331,212,304,215,296,309,331,215,296,216,286,309,331,180,331,190,312,290,12,277,16,309,0,290,12,309,0,309,9,216,174,270,25,267,39,216,174,267,39,216,286,309,0,169,9,169,0,83,0,2,9,2,0,180,331,143,308,153,310,101,219,108,164,113,200, 223,33,218,29,210,25,206,24,201,23,196,25,192,28,189,35,187,44,186,56,186,152,185,168,184,181,181,191,176,199,170,208,162,215,152,222,140,226,127,229,111,230,98,229,85,227,73,224,63,220,54,215,44,208,37,200,32,192,29,183,28,175,29,167,33,161,37,156,43,153,50,152,57,153,63,156,68,161,71,167,73,172,72,178,72,182,71,185,70,189,70,194,71,201,76,207,83,212,93,215,104,217,117,215,129,210,138,202,144,190,146,173,146,146,116,135,93,126,76,118,63,112,54,105,42,97,33,87,25,75,20,62,18,47,21,29,28,14,39,4,54,-2,71,-4,84,-3,99,0,114,6,130,16,146,31,149,17,153,7,160,0,168,-3,178,-4,188,-3,197,-1,206,2,214,9,223,19,16383,16383,146,65,145,57,144,50,140,44,135,38,128,32,122,29,110,25,103,24,97,24,86,25,76,30,69,38,64,48,63,63,63,71,65,78,68,84,73,91,79,97,88,104,99,111,112,118,128,125,146,132,42,174,47,203,59,230,77,253,100,270,129,278,142,279,169,279,182,280,194,283,210,293,220,306,226,320,229,333,230,343,220,343,217,332,212,325,205,320,195,318,183,317,150,317,94,304,57,269,34,223,23,172,20,127,24,87,36,52,57,22,87,2,127,-4,164,1,195,17,219,43,234,76,239,116,233,154,218,186,195,210,166,225,131,230,111,228,92,223,74,213,57,196,43,173,16383,16383,194,102,192,70,184,44,172,25,155,13,135,9,125,10,115,13,106,18,98,25,91,34,81,51,74,70,69,91,66,113,65,137,67,164,75,186,87,202,102,212,122,216,134,215,144,211,153,206,161,199,169,191,178,177,185,161,190,142,193,122,194,102,153,118,169,121,183,128,194,137,202,151,205,168,201,188,191,204,174,215,149,222,118,225,12,225,12,218,26,216,35,214,40,209,42,200,43,187,43,39,42,25,40,16,35,11,26,8,12,7,12,0,149,0,161,2,171,4,181,8,190,12,200,19,208,28,214,39,218,51, 37,156,43,153,44,208,44,208,43,153,50,152,44,208,50,152,54,215,54,215,50,152,57,153,54,215,57,153,63,220,63,220,57,153,63,156,63,220,63,156,73,224,73,224,63,156,70,194,71,167,70,194,68,161,111,230,104,217,117,215,111,230,117,215,127,229,127,229,117,215,129,210,127,229,129,210,140,226,140,226,129,210,138,202,140,226,138,202,144,190,76,207,83,212,85,227,85,227,83,212,93,215,85,227,93,215,98,229,98,229,93,215,104,217,98,229,104,217,111,230,73,224,70,194,71,201,73,224,71,201,76,207,73,224,76,207,85,227,70,194,63,156,68,161,29,183,29,167,32,192,32,192,29,167,33,161,32,192,33,161,37,200,37,200,33,161,37,156,37,200,37,156,44,208,186,56,186,152,185,168,186,56,185,168,184,181,186,56,184,181,181,191,186,56,181,191,188,-3,192,28,197,-1,196,25,196,25,197,-1,201,23,206,24,201,23,206,2,206,24,206,2,214,9,189,35,187,44,188,-3,189,35,188,-3,197,-1,189,35,197,-1,192,28,178,-4,188,-3,181,191,178,-4,181,191,176,199,178,-4,176,199,170,208,178,-4,170,208,168,-3,162,215,152,222,153,7,162,215,153,7,160,0,162,215,160,0,168,-3,162,215,168,-3,170,208,152,222,140,226,144,190,152,222,144,190,146,173,152,222,146,173,146,132,152,222,146,132,146,31,152,222,146,31,149,17,152,222,149,17,153,7,146,146,146,132,146,173,218,29,214,27,214,9,218,29,214,9,223,19,218,29,223,19,223,33,210,25,206,24,214,9,210,25,214,9,214,27,201,23,197,-1,206,2,146,31,146,132,146,65,146,31,146,65,145,57,146,31,145,57,144,50,146,31,144,50,140,44,146,31,140,44,135,38,146,31,135,38,130,16,130,16,135,38,128,32,128,32,122,29,130,16,130,16,122,29,116,27,130,16,116,27,114,6,114,6,116,27,110,25,114,6,110,25,103,24,99,111,112,118,116,135,116,135,112,118,128,125,116,135,128,125,146,146,146,146,128,125,146,132,65,78,68,84,76,118,76,118,68,84,73,91,76,118,73,91,79,97,79,97,88,104,93,126,93,126,88,104,99,111,93,126,99,111,116,135,93,126,76,118,79,97,72,182,71,185,71,167,72,182,71,167,73,172,72,182,73,172,72,178,70,189,70,194,71,167,70,189,71,167,71,185,63,112,54,105,54,-2,63,112,54,-2,63,63,63,112,63,63,63,71,63,112,63,71,65,78,63,112,65,78,76,118,63,63,54,-2,64,48,64,48,54,-2,71,-4,64,48,71,-4,69,38,69,38,71,-4,76,30,20,62,21,29,25,75,25,75,21,29,28,14,25,75,28,14,33,87,33,87,28,14,39,4,33,87,39,4,42,97,42,97,39,4,54,-2,42,97,54,-2,54,105,84,-3,99,0,86,25,86,25,99,0,97,24,103,24,97,24,99,0,103,24,99,0,114,6,76,30,71,-4,84,-3,76,30,84,-3,86,25,21,29,20,62,18,47,186,56,188,-3,187,44,29,167,29,183,28,175, 42,174,47,203,59,230,77,253,100,270,129,278,142,279,169,279,182,280,194,283,210,293,220,306,226,320,229,333,230,343,220,343,217,332,212,325,205,320,195,318,183,317,150,317,94,304,57,269,34,223,23,172,20,127,24,87,36,52,57,22,87,2,127,-4,164,1,195,17,219,43,234,76,239,116,233,154,218,186,195,210,166,225,131,230,111,228,92,223,74,213,57,196,43,173,16383,16383,194,102,192,70,184,44,172,25,155,13,135,9,125,10,115,13,106,18,98,25,91,34,81,51,74,70,69,91,66,113,65,137,67,164,75,186,87,202,102,212,122,216,134,215,144,211,153,206,161,199,169,191,178,177,185,161,190,142,193,122,194,102,153,118,169,121,183,128,194,137,202,151,205,168,201,188,191,204,174,215,149,222,118,225,12,225,12,218,26,216,35,214,40,209,42,200,43,187,43,39,42,25,40,16,35,11,26,8,12,7,12,0,149,0,161,2,171,4,181,8,190,12,200,19,208,28,214,39,218,51,219,63,215,82,206,96,191,107,174,114,153,118,16383,16383,85,195,86,202,88,207,92,209,97,211,103,211,127,209,145,203,156,194,162,182,164,166,161,151,154,139,143,130,128,125,110,123,99,124,92,125,87,128,85,132,85,139,16383,16383,85,97,85,102,87,105,91,108,98,109,127,109,144,105,159,98,170,84,174,62,174,63,170,42,160,28,146,19,127,15,106,14, 169,279,183,317,156,279,156,279,183,317,150,317,156,279,150,317,142,279,142,279,150,317,129,278,100,270,129,278,150,317,100,270,150,317,94,304,229,333,230,343,226,320,226,320,230,343,220,343,226,320,220,343,220,306,220,306,220,343,217,332,220,306,217,332,212,325,210,293,220,306,212,325,210,293,212,325,205,320,210,293,205,320,195,318,210,293,195,318,194,283,169,279,182,280,183,317,183,317,182,280,194,283,183,317,194,283,195,318,42,174,47,203,57,269,57,269,47,203,59,230,57,269,59,230,94,304,94,304,59,230,77,253,94,304,77,253,100,270,42,174,57,269,34,223,42,174,34,223,36,52,42,174,36,52,57,22,42,174,57,22,43,173,24,87,36,52,34,223,24,87,34,223,23,172,24,87,23,172,20,127,74,70,87,2,81,51,81,51,87,2,91,34,98,25,91,34,87,2,98,25,87,2,127,-4,65,137,57,196,66,113,66,113,57,196,57,22,66,113,57,22,69,91,69,91,57,22,87,2,69,91,87,2,74,70,131,230,122,216,134,215,131,230,134,215,166,225,166,225,134,215,144,211,166,225,144,211,153,206,75,186,87,202,92,223,92,223,87,202,102,212,92,223,102,212,111,228,111,228,102,212,122,216,111,228,122,216,131,230,74,213,57,196,67,164,74,213,67,164,75,186,74,213,75,186,92,223,67,164,57,196,65,137,192,70,184,44,195,17,195,17,184,44,172,25,195,17,172,25,164,1,164,1,172,25,155,13,164,1,155,13,135,9,135,9,125,10,127,-4,127,-4,125,10,115,13,127,-4,115,13,106,18,185,161,195,210,178,177,178,177,195,210,169,191,161,199,169,191,166,225,161,199,166,225,153,206,195,210,194,102,195,17,195,210,195,17,218,186,218,186,195,17,219,43,218,186,219,43,233,154,233,154,219,43,234,76,233,154,234,76,239,116,195,210,185,161,190,142,195,210,190,142,193,122,195,210,193,122,194,102,195,210,166,225,169,191,135,9,127,-4,164,1,192,70,195,17,194,102,98,25,127,-4,106,18,43,173,57,22,57,196, 153,118,169,121,183,128,194,137,202,151,205,168,201,188,191,204,174,215,149,222,118,225,12,225,12,218,26,216,35,214,40,209,42,200,43,187,43,39,42,25,40,16,35,11,26,8,12,7,12,0,149,0,161,2,171,4,181,8,190,12,200,19,208,28,214,39,218,51,219,63,215,82,206,96,191,107,174,114,153,118,16383,16383,85,195,86,202,88,207,92,209,97,211,103,211,127,209,145,203,156,194,162,182,164,166,161,151,154,139,143,130,128,125,110,123,99,124,92,125,87,128,85,132,85,139,16383,16383,85,97,85,102,87,105,91,108,98,109,127,109,144,105,159,98,170,84,174,62,174,63,170,42,160,28,146,19,127,15,106,14,98,15,92,17,88,20,85,26,85,34,194,155,191,225,8,225,8,218,22,217,31,215,36,211,39,204,40,194,40,40,39,25,36,16,30,11,21,9,8,7,8,0,113,0,113,7,100,9,91,13,85,18,82,26,81,36,81,194,82,200,83,205,86,208,91,209,98,210,130,208,154,201,170,190,180,175,185,155,219,225,21,225,21,218,34,216,44,212,51,206,55,197,56,183,56,99,55,66,51,40,42,22,28,11,7,7,7,-68,16,-68,26,-37,37,-17,47,-5,58,0,172,0,182,-5,191,-17,200,-37,210,-68,219,-68,219,7,206,9,197,11,192,16,189,25,189,198,192,207,198,213,206,216,219,218,16383,16383,147,41,146,30,143,23,139,18,133,15,126,14,58,14,64,28,68,43,71,59,73,75,73,190,74,199, 40,16,35,11,137,0,137,0,35,11,26,8,137,0,26,8,12,7,86,202,88,207,43,187,43,187,88,207,92,209,43,187,92,209,118,225,118,225,92,209,97,211,118,225,97,211,103,211,103,211,127,209,118,225,118,225,127,209,149,222,159,98,170,84,174,114,174,114,170,84,174,62,174,114,174,62,174,63,174,63,174,62,181,8,181,8,174,62,171,4,171,4,174,62,170,42,171,4,170,42,161,2,161,2,170,42,160,28,161,2,160,28,149,0,149,0,160,28,146,19,149,0,146,19,137,0,137,0,146,19,127,15,137,0,127,15,106,14,106,14,98,15,137,0,137,0,98,15,92,17,137,0,92,17,42,25,42,25,92,17,43,39,127,109,110,123,109,109,98,109,109,109,99,124,98,109,99,124,92,125,85,139,85,102,85,132,85,132,85,102,87,105,85,132,87,105,87,128,87,128,87,105,91,108,87,128,91,108,92,125,92,125,91,108,98,109,110,123,99,124,109,109,161,151,169,121,164,166,164,166,169,121,174,215,174,215,169,121,183,128,174,215,183,128,191,204,191,204,183,128,194,137,191,204,194,137,201,188,201,188,194,137,202,151,201,188,202,151,205,168,127,209,145,203,149,222,149,222,145,203,156,194,149,222,156,194,174,215,174,215,156,194,162,182,174,215,162,182,164,166,159,98,153,118,144,105,144,105,153,118,154,139,154,139,153,118,169,121,154,139,169,121,161,151,110,123,127,109,128,125,128,125,127,109,144,105,128,125,144,105,143,130,143,130,144,105,154,139,215,82,206,96,208,28,215,82,208,28,214,39,215,82,214,39,218,51,215,82,218,51,219,63,181,8,190,12,191,107,191,107,190,12,200,19,191,107,200,19,206,96,206,96,200,19,208,28,191,107,174,114,174,63,191,107,174,63,181,8,85,26,85,34,43,187,85,26,43,187,43,39,85,26,43,39,88,20,85,195,86,202,43,187,85,195,43,187,85,34,35,214,40,209,118,225,118,225,40,209,42,200,118,225,42,200,43,187,26,216,35,214,118,225,26,216,118,225,12,225,26,216,12,225,12,218,137,0,12,7,12,0,40,16,137,0,42,25,43,39,92,17,88,20,153,118,159,98,174,114,85,102,85,139,85,97, 194,155,191,225,8,225,8,218,22,217,31,215,36,211,39,204,40,194,40,40,39,25,36,16,30,11,21,9,8,7,8,0,113,0,113,7,100,9,91,13,85,18,82,26,81,36,81,194,82,200,83,205,86,208,91,209,98,210,130,208,154,201,170,190,180,175,185,155,219,225,21,225,21,218,34,216,44,212,51,206,55,197,56,183,56,99,55,66,51,40,42,22,28,11,7,7,7,-68,16,-68,26,-37,37,-17,47,-5,58,0,172,0,182,-5,191,-17,200,-37,210,-68,219,-68,219,7,206,9,197,11,192,16,189,25,189,198,192,207,198,213, 36,211,39,204,191,225,191,225,39,204,91,209,191,225,91,209,98,210,98,210,130,208,191,225,191,225,130,208,154,201,191,225,154,201,170,190,191,225,170,190,180,175,191,225,180,175,185,155,191,225,185,155,194,155,81,36,81,194,40,194,40,194,81,194,82,200,40,194,82,200,83,205,40,194,83,205,86,208,40,194,86,208,91,209,40,194,91,209,39,204,40,194,82,26,81,36,191,225,8,225,22,217,191,225,22,217,31,215,191,225,31,215,36,211,113,0,113,7,100,9,113,0,100,9,91,13,113,0,91,13,40,40,113,0,40,40,39,25,113,0,39,25,36,16,113,0,36,16,30,11,113,0,30,11,21,9,113,0,21,9,8,7,113,0,8,7,8,0,40,40,91,13,85,18,40,40,85,18,82,26,40,40,82,26,40,194,22,217,8,225,8,218, 219,225,21,225,21,218,34,216,44,212,51,206,55,197,56,183,56,99,55,66,51,40,42,22,28,11,7,7,7,-68,16,-68,26,-37,37,-17,47,-5,58,0,172,0,182,-5,191,-17,200,-37,210,-68,219,-68,219,7,206,9,197,11,192,16,189,25,189,198,192,207,198,213,206,216,219,218,16383,16383,147,41,146,30,143,23,139,18,133,15,126,14,58,14,64,28,68,43,71,59,73,75,73,190,74,199,76,205,80,209,85,210,92,211,135,211,141,209,145,205,146,199,147,190,210,82,196,63,182,48,167,39,150,33,132,31,102,37,80,53,66,77,58,106,55,137,209,137,208,152,205,165,202,176,197,186,192,195,181,207,169,217,156,224,140,228,123,230,88,224,59,207,37,182,24,148,19,108,23,70,35,39,55,15,81,0,114,-4,142,-1,167,9,188,26,205,49,219,79,16383,16383,56,151,61,172,69,190,80,203,93,211,109,214,126,211,139,203,148,191,154,173,158,151,353,0,353,7,347,8,341,10,331,14,327,17,323,21,317,28,311,37,304,47, 34,216,44,212,219,225,219,225,44,212,85,210,219,225,85,210,92,211,219,225,92,211,127,211,219,225,127,211,135,211,126,14,58,14,68,0,126,14,68,0,161,0,126,14,161,0,133,15,147,190,161,0,189,198,189,198,161,0,172,0,189,198,172,0,189,183,189,183,172,0,182,-5,189,183,182,-5,189,41,189,41,182,-5,191,-17,189,41,191,-17,189,25,161,0,147,190,147,41,161,0,147,41,146,30,161,0,146,30,143,23,161,0,143,23,139,18,161,0,139,18,133,15,219,225,135,211,141,209,219,225,141,209,145,205,219,225,145,205,146,199,219,225,146,199,147,190,219,225,147,190,198,213,219,225,198,213,206,216,219,225,206,216,219,218,192,207,198,213,147,190,192,207,147,190,189,198,73,190,74,199,58,14,73,190,58,14,64,28,73,190,64,28,68,43,73,190,68,43,71,59,73,190,71,59,73,75,73,190,73,75,73,89,58,0,68,0,58,14,58,0,58,14,56,183,58,0,56,183,56,99,58,0,56,99,55,66,58,0,55,66,51,40,58,0,51,40,47,-5,58,14,74,199,56,183,56,183,74,199,76,205,56,183,76,205,55,197,55,197,76,205,80,209,55,197,80,209,51,206,51,206,80,209,85,210,51,206,85,210,44,212,21,225,21,218,34,216,21,225,34,216,219,225,219,-68,219,7,210,-68,210,-68,219,7,206,9,210,-68,206,9,200,-37,200,-37,206,9,197,11,200,-37,197,11,192,16,192,16,189,25,191,-17,192,16,191,-17,200,-37,16,-68,26,-37,28,11,28,11,26,-37,37,-17,28,11,37,-17,42,22,42,22,37,-17,47,-5,42,22,47,-5,51,40,7,7,7,-68,16,-68,7,7,16,-68,28,11, 210,82,196,63,182,48,167,39,150,33,132,31,102,37,80,53,66,77,58,106,55,137,209,137,208,152,205,165,202,176,197,186,192,195,181,207,169,217,156,224,140,228,123,230,88,224,59,207,37,182,24,148,19,108,23,70,35,39,55,15,81,0,114,-4,142,-1,167,9,188,26,205,49,219,79,16383,16383,56,151,61,172,69,190,80,203,93,211,109,214,126,211,139,203,148,191,154,173,158,151,353,0,353,7,347,8,341,10,331,14,327,17,323,21,317,28,311,37,304,47,298,58,286,79,275,94,264,105,253,113,240,120,240,121,258,137,269,156,278,172,286,185,297,190,301,189,306,187,318,183,324,182,332,183,338,186,343,191,346,197,347,204,346,211,342,218,336,223,327,227,316,228,306,227,297,224,289,218,282,211,275,201,267,187,259,171,251,156,242,143,233,135,228,132,222,130,215,128, 80,53,66,77,81,0,81,0,66,77,58,106,81,0,58,106,55,15,55,15,58,106,55,137,56,151,55,137,209,137,56,151,209,137,158,151,158,151,209,137,169,217,140,228,123,230,126,211,126,211,123,230,109,214,93,211,109,214,123,230,93,211,123,230,88,224,156,224,140,228,148,191,156,224,148,191,154,173,156,224,154,173,158,151,156,224,158,151,169,217,140,228,126,211,139,203,140,228,139,203,148,191,56,151,61,172,59,207,59,207,61,172,69,190,59,207,69,190,88,224,88,224,69,190,80,203,88,224,80,203,93,211,37,182,24,148,35,39,37,182,35,39,55,15,37,182,55,15,55,137,37,182,55,137,56,151,37,182,56,151,59,207,24,148,19,108,23,70,24,148,23,70,35,39,81,0,114,-4,102,37,102,37,114,-4,132,31,150,33,132,31,142,-1,150,33,142,-1,167,9,209,137,208,152,205,165,209,137,205,165,202,176,209,137,202,176,197,186,209,137,197,186,192,195,209,137,192,195,181,207,209,137,181,207,169,217,219,79,210,82,205,49,205,49,210,82,196,63,205,49,196,63,188,26,188,26,196,63,182,48,188,26,182,48,167,9,167,9,182,48,167,39,167,9,167,39,150,33,132,31,114,-4,142,-1,80,53,81,0,102,37, 353,0,353,7,347,8,341,10,331,14,327,17,323,21,317,28,311,37,304,47,298,58,286,79,275,94,264,105,253,113,240,120,240,121,258,137,269,156,278,172,286,185,297,190,301,189,306,187,318,183,324,182,332,183,338,186,343,191,346,197,347,204,346,211,342,218,336,223,327,227,316,228,306,227,297,224,289,218,282,211,275,201,267,187,259,171,251,156,242,143,233,135,228,132,222,130,215,128,208,127,200,127,200,190,201,199,204,207,210,212,219,216,232,218,232,225,128,225,128,218,140,216,149,214,154,209,158,201,158,127,151,127,144,128,138,129,132,132,127,135,117,145,108,157,101,170,88,196,82,207,75,216,67,223,56,227,44,228,34,227,26,224,20,219,15,212,14,204,15,197,18,191,23,186,29,183,36,182,43,183,50,185,60,189,65,190,74,185,80,172,87,155,100,137,121,121,121,120,107,114,95,107,85,95,74,79,62,57,63,57,56,46,50,36,44,28,38,21,33,17,29,14,25,12,19,10,14,8,7,7,7,0,73,0,124,83,133,96,139,104,145,109,151,112,158,113,158,25,155,18,151,13,145,10,137,8,126,7,126,0,234,0,234,7,214,9,207,12,203,17,201,24,200,33,200,113,209,111,216,108,222,104,228,95,237,82,287,0,114,121,130,126,146,134,158,146,167,160,170,177,168,188,164,198,158,207,149,215,139,221,121,227,111,229,99,230,80,230,75,229,69,228,64,226,57,224,49,222,46,220,42,219,35,219,29,223,27,226,26,230,20,230,16,150,25,150,30,172,38,190,50,204,65,213,85,216,98,214,110,209,119,200,125,188,127,172,126,163,123,155,118,147,112,140,104,135,97,132,89,129,81,128,72,127,60,127,60,113,86,111,106,106,120,96,129,82,132,62,130,47,124,34,114,23,99,15,79,13,65,14,52,18,40,24,28,33,14,46,7,39,19,23,32,11,46,2,64,-2,85,-4,113,-2,125,1,137,5,147,12,157,20,166,29,173,40,177,52,179,65,175,84,165,99,151,110,133,117,114,121,251,225,147,225,147,218,160,216,169,213,174,207,177,200,178,189,84,60,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,178,165,178,37,177,26,174,18,169,12,160,9,147,7,147,0,251,0,251,7,238,9,229,12,224,17,221,26,220,40,220,183,221,198,223,207,229,213,238,216,251,218,201,319,199,330,195,340, 25,12,19,10,73,0,73,0,19,10,14,8,73,0,14,8,7,7,50,36,44,28,73,0,73,0,44,28,38,21,73,0,38,21,33,17,33,17,29,14,73,0,73,0,29,14,25,12,95,107,85,95,124,83,124,83,85,95,74,79,124,83,74,79,73,0,73,0,74,79,62,57,73,0,62,57,56,46,56,46,62,57,63,57,67,223,65,190,74,185,67,223,74,185,75,216,75,216,74,185,80,172,75,216,80,172,82,207,82,207,80,172,87,155,82,207,87,155,88,196,88,196,87,155,100,137,88,196,100,137,94,184,94,184,100,137,101,170,50,185,55,187,56,227,56,227,55,187,60,189,56,227,60,189,67,223,67,223,60,189,65,190,44,228,34,227,36,182,44,228,36,182,43,183,44,228,43,183,50,185,44,228,50,185,56,227,14,204,15,197,15,212,15,212,15,197,18,191,15,212,18,191,20,219,20,219,18,191,23,186,20,219,23,186,26,224,26,224,23,186,29,183,26,224,29,183,34,227,34,227,29,183,36,182,127,135,121,121,124,83,127,135,124,83,133,96,127,135,117,145,121,121,121,121,117,145,108,157,121,121,108,157,101,170,121,121,101,170,100,137,155,18,151,13,234,0,234,0,151,13,145,10,234,0,145,10,137,8,137,8,126,7,234,0,234,0,126,7,126,0,234,0,234,7,224,8,234,0,224,8,214,9,234,0,214,9,207,12,234,0,207,12,158,33,234,0,158,33,158,25,234,0,158,25,155,18,201,24,200,33,158,113,201,24,158,113,203,17,203,17,158,113,158,33,158,113,200,33,200,127,158,113,200,127,200,190,158,113,200,190,201,199,158,113,201,199,204,207,158,113,204,207,158,189,158,113,158,189,158,127,215,128,208,127,209,111,209,111,208,127,200,127,232,225,128,225,140,216,232,225,140,216,149,214,232,225,149,214,154,209,232,225,154,209,158,201,232,225,158,201,158,189,232,225,158,189,210,212,232,225,210,212,219,216,232,225,219,216,232,218,264,105,253,113,287,0,287,0,253,113,240,120,287,0,240,120,237,82,237,82,240,120,240,121,237,82,240,121,233,135,237,82,233,135,228,95,228,95,233,135,228,132,228,95,228,132,222,104,222,104,228,132,222,130,222,104,222,130,216,108,216,108,222,130,215,128,216,108,215,128,209,111,317,28,311,37,287,0,287,0,311,37,304,47,287,0,304,47,298,58,297,224,297,190,301,189,297,224,301,189,306,227,306,227,301,189,306,187,306,227,306,187,316,228,316,228,306,187,312,185,316,228,312,185,318,183,297,190,289,218,286,185,286,185,289,218,282,211,286,185,282,211,278,172,278,172,282,211,275,201,278,172,275,201,269,156,269,156,275,201,267,187,269,156,267,187,259,171,258,137,269,156,259,171,258,137,259,171,251,156,258,137,251,156,242,143,258,137,242,143,240,121,242,143,233,135,240,121,318,183,324,182,327,227,327,227,324,182,332,183,327,227,332,183,336,223,336,223,332,183,338,186,336,223,338,186,342,218,342,218,338,186,343,191,342,218,343,191,346,211,346,211,343,191,346,197,346,211,346,197,347,204,317,28,287,0,323,21,323,21,287,0,327,17,331,14,327,17,287,0,331,14,287,0,353,0,353,0,353,7,347,8,353,0,347,8,341,10,353,0,341,10,336,12,353,0,336,12,331,14,287,0,298,58,286,79,287,0,286,79,275,94,287,0,275,94,264,105,145,109,151,112,151,127,151,127,151,112,158,113,151,127,158,113,158,127,132,132,127,135,133,96,132,132,133,96,138,129,138,129,133,96,139,104,138,129,139,104,144,128,144,128,139,104,145,109,144,128,145,109,151,127,124,83,121,121,121,120,124,83,121,120,107,114,124,83,107,114,95,107,73,0,7,7,7,0,50,36,73,0,56,46,316,228,318,183,327,227,297,190,297,224,289,218,200,127,200,113,209,111,140,216,128,225,128,218,210,212,158,189,204,207,158,33,207,12,203,17, 114,121,130,126,146,134,158,146,167,160,170,177,168,188,164,198,158,207,149,215,139,221,121,227,111,229,99,230,80,230,75,229,69,228,64,226,57,224,49,222,46,220,42,219,35,219,29,223,27,226,26,230,20,230,16,150,25,150,30,172,38,190,50,204,65,213,85,216,98,214,110,209,119,200,125,188,127,172,126,163,123,155,118,147,112,140,104,135,97,132,89,129,81,128,72,127,60,127,60,113,86,111,106,106,120,96,129,82,132,62,130,47,124,34,114,23,99,15,79,13,65,14,52,18,40,24,28,33,14,46,7,39,19,23,32,11,46,2,64,-2,85,-4,113,-2,125,1,137,5,147,12,157,20,166,29,173,40,177,52,179,65,175,84,165,99,151,110,133,117,114,121,251,225,147,225,147,218,160,216,169,213,174,207,177,200,178,189,84,60,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,178,165,178,37,177,26,174,18,169,12,160,9,147,7,147,0,251,0,251,7,238,9,229,12,224,17,221,26,220,40,220,183,221,198,223,207,229,213,238,216,251,218,201,319,199,330,195,340,188,347,180,351,171,352,167,352,161,348,159,344,158,339,160,332,166,329,172,327,178,324,180,319,179,313,174,307,166,303,152,300,133,299,115,300,102,303,93,307,88,313,87,319,89,324,95,327,101,329,107,332, 26,230,20,230,25,150,26,230,25,150,30,172,26,230,30,172,27,226,49,222,46,220,50,204,50,204,46,220,42,219,50,204,42,219,39,219,39,219,35,219,38,190,38,190,35,219,32,221,38,190,32,221,30,172,30,172,32,221,29,223,30,172,29,223,27,226,64,-2,85,-4,65,14,65,14,85,-4,79,13,99,15,79,13,85,-4,99,15,85,-4,99,-3,85,216,80,230,75,229,85,216,75,229,69,228,85,216,69,228,65,213,85,216,86,230,80,230,65,213,69,228,64,226,65,213,64,226,57,224,65,213,57,224,53,223,65,213,53,223,50,204,39,219,38,190,50,204,81,128,86,111,89,129,89,129,86,111,106,106,89,129,106,106,97,132,97,132,106,106,104,135,112,140,104,135,106,106,112,140,106,106,114,121,114,121,106,106,120,96,114,121,120,96,133,117,133,117,120,96,129,82,133,117,129,82,132,62,86,230,98,214,99,230,99,230,98,214,110,209,99,230,110,209,111,229,111,229,110,209,119,200,111,229,119,200,121,227,121,227,119,200,125,188,121,227,125,188,130,224,130,224,125,188,127,172,130,126,127,172,126,163,126,163,123,155,130,126,130,126,123,155,118,147,130,126,118,147,114,121,114,121,118,147,112,140,170,177,168,188,167,160,167,160,168,188,164,198,167,160,164,198,158,146,158,146,164,198,158,207,158,146,158,207,149,215,146,134,158,146,149,215,146,134,149,215,139,221,146,134,139,221,130,224,146,134,130,224,130,126,85,216,98,214,86,230,133,117,132,62,137,5,133,117,137,5,151,110,151,110,137,5,147,12,151,110,147,12,157,20,175,84,165,99,166,29,175,84,166,29,173,40,175,84,173,40,177,52,175,84,177,52,179,65,165,99,151,110,157,20,165,99,157,20,166,29,130,47,124,34,125,1,130,47,125,1,137,5,130,47,137,5,132,62,114,23,99,15,99,-3,114,23,99,-3,113,-2,114,23,113,-2,125,1,114,23,125,1,124,34,72,127,60,127,86,111,72,127,86,111,81,128,14,46,19,23,28,33,28,33,19,23,32,11,28,33,32,11,40,24,40,24,32,11,46,2,40,24,46,2,52,18,52,18,46,2,64,-2,52,18,64,-2,65,14,19,23,14,46,7,39,86,111,60,127,60,113,130,224,127,172,130,126,49,222,50,204,53,223,25,150,20,230,16,150, 251,225,147,225,147,218,160,216,169,213,174,207,177,200,178,189,84,60,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,178,165,178,37,177,26,174,18,169,12,160,9,147,7,147,0,251,0,251,7,238,9,229,12,224,17,221,26,220,40,220,183,221,198,223,207,229,213,238,216,251,218,201,319,199,330,195,340,188,347,180,351,171,352,167,352,161,348,159,344,158,339,160,332,166,329,172,327,178,324,180,319,179,313,174,307,166,303,152,300,133,299,115,300,102,303,93,307,88,313,87,319,89,324,95,327,101,329,107,332,109,339,108,344,107,348,101,352,97,352,88,351,80,347,73,340,68,330,66,319,70,302,82,289,98,280,116,275,133,273,151,275,169,280,185,289,196,302,201,319,16383,16383,251,225,147,225,147,218,160,216,169,213,174,207, 39,16,33,11,116,0,116,0,33,11,25,9,116,0,25,9,12,7,178,189,84,60,84,36,84,36,84,189,42,183,42,183,84,189,85,199,42,183,85,199,88,207,116,225,12,225,25,216,116,225,25,216,33,212,116,225,33,212,39,206,116,225,39,206,42,197,116,225,42,197,93,212,116,225,93,212,102,216,116,225,102,216,116,218,42,183,88,207,93,212,42,183,93,212,42,197,174,18,169,12,251,0,251,0,169,12,160,9,251,0,160,9,147,7,169,213,174,207,251,225,251,225,174,207,177,200,251,225,177,200,178,189,178,189,178,165,221,26,221,26,178,165,178,37,221,26,178,37,224,17,224,17,178,37,229,12,238,216,251,218,251,225,238,216,251,225,229,213,229,213,251,225,178,189,229,213,178,189,223,207,223,207,178,189,221,198,220,40,220,183,178,189,220,40,178,189,221,26,160,216,169,213,251,225,160,216,251,225,147,225,160,216,147,225,147,218,251,0,251,7,238,9,251,0,238,9,229,12,251,0,229,12,178,37,251,0,178,37,177,26,251,0,177,26,174,18,116,0,116,7,102,9,116,0,102,9,93,13,116,0,93,13,42,40,116,0,42,40,42,25,116,0,42,25,39,16,85,26,84,36,42,183,85,26,42,183,42,40,85,26,42,40,88,18,116,0,12,7,12,0,42,40,93,13,88,18,251,0,147,7,147,0,221,198,178,189,220,183,178,189,84,36,178,165,25,216,12,225,12,218, 201,319,199,330,195,340,188,347,180,351,171,352,167,352,161,348,159,344,158,339,160,332,166,329,172,327,178,324,180,319,179,313,174,307,166,303,152,300,133,299,115,300,102,303,93,307,88,313,87,319,89,324,95,327,101,329,107,332,109,339,108,344,107,348,101,352,97,352,88,351,80,347,73,340,68,330,66,319,70,302,82,289,98,280,116,275,133,273,151,275,169,280,185,289,196,302,201,319,16383,16383,251,225,147,225,147,218,160,216,169,213,174,207,177,200,178,189,84,60,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,178,165,178,37,177,26,174,18,169,12,160,9,147,7,147,0,251,0,251,7,238,9,229,12,224,17,221,26,220,40,220,183,221,198,223,207,229,213,238,216,251,218,248,0,248,7,241,8,235,10,225,14,221,17,217,21,211,28,205,37,198,47,192,58,180,79,168,94,156,105,144,113,131,120,131,121,148,137,160,156,168,172,176,185,188,190,192,189,202,185,208,183,214,182,222,183,228,186,233,191,237,197,238,204,236,211,233,218,226,223,218,227,207,228,196,227,185,223,176,216,168,207,161,196,140,154,132,143,124,135,118,132,112,130,105,128,98,127,91,127,91,190,92,199,95,207,100,212,109,216,122,218,122,225,18,225,18,218,31,216,39,214,45,209,48,201,49,189,49,25,46,18,42,13,36,10,26,8,12,7,12,0,128,0,128,7,117,8,107,9,99,12,94,17,92,24,91,33,91,113,99,111,106,108,112,103,118,95,127,82,181,0,238,225,45,225,45,218,57,216,66,212,71,206,74,197,75,183,75,99,74,77,73,53,69,33,62,18,50,12,46,15,42,22,38,30,32,36,23,39,18,38,13,36, 102,303,93,307,98,280,98,280,93,307,88,313,98,280,88,313,82,289,82,289,88,313,87,319,88,351,87,319,89,324,88,351,89,324,97,352,97,352,89,324,95,327,97,352,95,327,101,329,101,352,101,329,104,350,104,350,101,329,107,332,104,350,107,332,107,348,107,348,107,332,109,339,107,348,109,339,108,344,82,289,87,319,88,351,82,289,88,351,80,347,82,289,80,347,73,340,82,289,73,340,70,302,68,330,66,319,70,302,68,330,70,302,73,340,102,303,116,275,115,300,115,300,116,275,133,299,152,300,133,299,133,273,152,300,133,273,151,275,196,302,201,319,199,330,196,302,199,330,195,340,196,302,195,340,188,347,196,302,188,347,185,289,185,289,188,347,180,319,185,289,180,319,179,313,185,289,179,313,174,307,185,289,174,307,169,280,180,351,171,352,172,327,180,351,172,327,178,324,180,351,178,324,180,319,180,351,180,319,188,347,167,352,164,350,166,329,167,352,166,329,172,327,167,352,172,327,171,352,161,348,159,344,160,332,161,348,160,332,166,329,161,348,166,329,164,350,169,280,174,307,166,303,169,280,166,303,152,300,169,280,152,300,151,275,133,299,116,275,133,273,39,16,33,11,116,0,116,0,33,11,25,9,116,0,25,9,12,7,178,189,84,60,84,36,84,36,84,189,42,183,42,183,84,189,85,199,42,183,85,199,88,207,116,225,12,225,25,216,116,225,25,216,33,212,116,225,33,212,39,206,116,225,39,206,42,197,116,225,42,197,93,212,116,225,93,212,102,216,116,225,102,216,116,218,42,183,88,207,93,212,42,183,93,212,42,197,174,18,169,12,251,0,251,0,169,12,160,9,251,0,160,9,147,7,169,213,174,207,251,225,251,225,174,207,177,200,251,225,177,200,178,189,178,189,178,165,221,26,221,26,178,165,178,37,221,26,178,37,224,17,224,17,178,37,229,12,238,216,251,218,251,225,238,216,251,225,229,213,229,213,251,225,178,189,229,213,178,189,223,207,223,207,178,189,221,198,220,40,220,183,178,189,220,40,178,189,221,26,160,216,169,213,251,225,160,216,251,225,147,225,160,216,147,225,147,218,251,0,251,7,238,9,251,0,238,9,229,12,251,0,229,12,178,37,251,0,178,37,177,26,251,0,177,26,174,18,116,0,116,7,102,9,116,0,102,9,93,13,116,0,93,13,42,40,116,0,42,40,42,25,116,0,42,25,39,16,85,26,84,36,42,183,85,26,42,183,42,40,85,26,42,40,88,18,116,0,12,7,12,0,42,40,93,13,88,18,251,0,147,7,147,0,221,198,178,189,220,183,178,189,84,36,178,165,25,216,12,225,12,218,160,332,159,344,158,339,102,303,98,280,116,275,97,352,101,329,101,352, 248,0,248,7,241,8,235,10,225,14,221,17,217,21,211,28,205,37,198,47,192,58,180,79,168,94,156,105,144,113,131,120,131,121,148,137,160,156,168,172,176,185,188,190,192,189,202,185,208,183,214,182,222,183,228,186,233,191,237,197,238,204,236,211,233,218,226,223,218,227,207,228,196,227,185,223,176,216,168,207,161,196,140,154,132,143,124,135,118,132,112,130,105,128,98,127,91,127,91,190,92,199,95,207,100,212,109,216,122,218,122,225,18,225,18,218,31,216,39,214,45,209,48,201,49,189,49,25,46,18,42,13,36,10,26,8,12,7,12,0,128,0,128,7,117,8,107,9,99,12,94,17,92,24,91,33,91,113,99,111,106,108,112,103,118,95,127,82,181,0,238,225,45,225,45,218,57,216,66,212,71,206,74,197,75,183,75,99,74,77,73,53,69,33,62,18,50,12,46,15,42,22,38,30,32,36,23,39,18,38,13,36,8,33,5,27,4,20,6,10,10,3,18,-1,28,-3,39,-4,64,2,79,18,88,41,91,66,92,89,92,198,94,204,98,208,103,210,110,211,154,211,159,209,163,205,165,199,165,37,164,26,161,18,156,12,147,9,134,7,134,0,238,0,238,7,225,9,216,12,211,17,208,26,207,40,207,183,208,198,211,207,216,213,225,216,238,218,297,225,229,225,157,62,79,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,92,0,92,7,78,9,69,12,63,18,60,26, 46,18,42,13,128,0,128,0,42,13,36,10,128,0,36,10,26,8,26,8,12,7,128,0,128,0,12,7,12,0,128,0,128,7,117,8,128,0,117,8,107,9,128,0,107,9,99,12,128,0,99,12,49,33,128,0,49,33,49,25,128,0,49,25,46,18,91,33,91,127,49,189,91,33,49,189,92,24,49,33,99,12,94,17,49,33,94,17,92,24,49,33,92,24,49,189,91,113,99,111,91,127,91,127,91,190,49,189,49,189,91,190,92,199,49,189,92,199,95,207,122,225,18,225,31,216,122,225,31,216,39,214,122,225,39,214,45,209,122,225,45,209,48,201,122,225,48,201,49,189,122,225,49,189,100,212,122,225,100,212,109,216,122,225,109,216,122,218,106,108,112,103,112,130,112,130,112,103,118,95,112,130,118,95,118,132,118,132,118,95,124,135,132,143,124,135,127,82,105,128,98,127,99,111,105,128,99,111,106,108,105,128,106,108,112,130,127,82,124,135,118,95,202,185,207,228,197,187,197,187,207,228,196,227,197,187,196,227,192,189,192,189,196,227,188,190,176,185,188,190,185,223,176,185,185,223,176,216,147,168,148,137,154,182,154,182,148,137,160,156,154,182,160,156,161,196,161,196,160,156,168,172,161,196,168,172,168,207,168,207,168,172,176,185,168,207,176,185,176,216,156,105,144,113,181,0,181,0,144,113,131,120,181,0,131,120,127,82,127,82,131,120,131,121,127,82,131,121,132,143,132,143,131,121,148,137,132,143,148,137,140,154,140,154,148,137,147,168,208,183,214,182,218,227,218,227,214,182,222,183,218,227,222,183,226,223,226,223,222,183,228,186,226,223,228,186,233,218,233,218,228,186,233,191,233,218,233,191,236,211,236,211,233,191,237,197,236,211,237,197,238,204,207,228,202,185,208,183,207,228,208,183,218,227,196,227,185,223,188,190,211,28,181,0,217,21,217,21,181,0,221,17,225,14,221,17,181,0,225,14,181,0,248,0,248,0,248,7,241,8,248,0,241,8,235,10,248,0,235,10,230,12,248,0,230,12,225,14,181,0,211,28,205,37,181,0,205,37,198,47,181,0,198,47,192,58,181,0,192,58,180,79,181,0,180,79,168,94,181,0,168,94,156,105,91,127,99,111,98,127,31,216,18,225,18,218,100,212,49,189,95,207, 238,225,45,225,45,218,57,216,66,212,71,206,74,197,75,183,75,99,74,77,73,53,69,33,62,18,50,12,46,15,42,22,38,30,32,36,23,39,18,38,13,36,8,33,5,27,4,20,6,10,10,3,18,-1,28,-3,39,-4,64,2,79,18,88,41,91,66,92,89,92,198,94,204,98,208,103,210,110,211,154,211,159,209,163,205,165,199,165,37,164,26,161,18,156,12,147,9,134,7,134,0,238,0,238,7,225,9,216,12,211,17,208,26,207,40,207,183,208,198,211,207,216,213,225,216,238,218,297,225,229,225,157,62,79,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,92,0,92,7,78,9,69,12,63,18,60,26,59,36,59,172,60,172,143,0,147,0,224,174,224,37,223,26,220,18,214,12,204,9,190,7,190,0,296,0,296,7,284,9,275,12,270,17,267,26,266,40,266,183,267,198,270,207,275,213,284,216,297,218,251,225,147,225,147,218,160,216,169,213,174,207,177,200,178,189,178,124,84,124,84,189,85,199,88,207,93,212,102,216, 74,77,73,53,79,18,79,18,73,53,69,33,79,18,69,33,64,2,64,2,69,33,62,18,64,2,62,18,50,12,50,12,46,15,64,2,64,2,46,15,39,-4,57,216,66,212,238,225,238,225,66,212,103,210,238,225,103,210,110,211,238,225,110,211,145,211,238,225,145,211,154,211,161,18,156,12,238,0,238,0,156,12,147,9,238,0,147,9,134,7,238,225,154,211,159,209,238,225,159,209,163,205,238,225,163,205,165,199,238,225,165,199,165,190,238,225,165,190,216,213,238,225,216,213,225,216,238,225,225,216,238,218,207,40,207,183,165,190,165,190,207,183,208,198,165,190,208,198,211,207,216,12,211,17,165,37,165,37,211,17,208,26,165,37,208,26,165,190,92,189,92,198,75,183,92,189,75,183,79,18,92,189,79,18,88,41,92,189,88,41,91,66,92,189,91,66,92,89,75,183,92,198,94,204,75,183,94,204,98,208,75,183,98,208,74,197,71,206,74,197,98,208,71,206,98,208,103,210,71,206,103,210,66,212,45,225,45,218,57,216,45,225,57,216,238,225,238,0,238,7,225,9,238,0,225,9,216,12,238,0,216,12,165,37,238,0,165,37,164,26,238,0,164,26,161,18,75,99,74,77,79,18,75,99,79,18,75,183,39,-4,46,15,42,22,39,-4,42,22,38,30,39,-4,38,30,32,36,39,-4,32,36,28,-3,32,36,23,39,28,-3,28,-3,23,39,18,38,28,-3,18,38,18,-1,18,-1,18,38,13,36,18,-1,13,36,10,3,10,3,13,36,8,33,10,3,8,33,6,10,6,10,8,33,5,27,6,10,5,27,4,20,238,0,134,7,134,0,165,190,208,26,207,40,216,213,165,190,211,207, 297,225,229,225,157,62,79,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,92,0,92,7,78,9,69,12,63,18,60,26,59,36,59,172,60,172,143,0,147,0,224,174,224,37,223,26,220,18,214,12,204,9,190,7,190,0,296,0,296,7,284,9,275,12,270,17,267,26,266,40,266,183,267,198,270,207,275,213,284,216,297,218,251,225,147,225,147,218,160,216,169,213,174,207,177,200,178,189,178,124,84,124,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,84,108,178,108,178,37,177,26,174,18,169,12,160,9,147,7,147,0,251,0,251,7,238,9, 39,16,33,11,92,0,92,0,33,11,25,9,92,0,25,9,12,7,220,18,214,12,296,0,296,0,214,12,204,9,296,0,204,9,190,7,229,225,157,62,224,174,229,225,224,174,267,26,229,225,267,26,266,40,229,225,266,40,266,183,229,225,266,183,267,198,229,225,267,198,270,207,229,225,270,207,275,213,229,225,275,213,297,225,59,172,60,172,79,225,79,225,60,172,143,0,79,225,143,0,157,62,157,62,143,0,147,0,157,62,147,0,224,174,92,7,78,9,92,0,92,0,78,9,69,12,92,0,69,12,42,25,42,25,69,12,63,18,42,25,63,18,42,40,42,40,63,18,60,26,42,40,60,26,42,183,42,183,60,26,59,36,42,183,59,36,59,172,79,225,12,225,25,216,79,225,25,216,33,212,79,225,33,212,39,206,79,225,39,206,42,197,79,225,42,197,42,183,79,225,42,183,59,172,284,216,297,218,297,225,284,216,297,225,275,213,296,0,296,7,284,9,296,0,284,9,275,12,296,0,275,12,224,37,296,0,224,37,223,26,296,0,223,26,220,18,224,37,275,12,270,17,224,37,270,17,267,26,224,37,267,26,224,174,92,0,12,7,12,0,39,16,92,0,42,25,296,0,190,7,190,0,25,216,12,225,12,218, 251,225,147,225,147,218,160,216,169,213,174,207,177,200,178,189,178,124,84,124,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,84,108,178,108,178,37,177,26,174,18,169,12,160,9,147,7,147,0,251,0,251,7,238,9,229,12,224,17,221,26,220,40,220,183,221,198,223,207,229,213,238,216,251,218,238,116,232,154,217,186,194,210,165,225,130,230,92,225,61,209,38,185,23,153,17,114,23,75,38,42,61,17,91,1,126,-4,163,1,194,17,218,43,233,76,238,116,16383,16383,193,102,190,70,183,44,171,25,154,13,134,9,123,10,114,13,104,18,96,25,89,34,79,51,72,70,66,91,63,113,63,137,65,164,73,186,85,202,101,212,121,216,132,215,143,211,152,206,161,199,168,191,177,177,184,161,189,142,192,122,193,102,251,225,12,225,12,218,25,217,33,214, 39,16,33,11,116,0,116,0,33,11,25,9,116,0,25,9,12,7,116,225,12,225,25,216,116,225,25,216,33,212,116,225,33,212,39,206,116,225,39,206,42,197,116,225,42,197,93,212,116,225,93,212,102,216,116,225,102,216,116,218,42,183,85,26,84,36,84,124,84,108,178,108,84,124,178,108,178,124,178,124,178,108,224,17,178,124,224,17,221,26,42,183,84,36,84,189,42,183,84,189,85,199,42,183,85,199,88,207,42,183,88,207,93,212,42,183,93,212,42,197,174,18,169,12,251,0,251,0,169,12,160,9,251,0,160,9,147,7,251,225,147,225,160,216,251,225,160,216,169,213,251,225,169,213,174,207,251,225,174,207,177,200,251,225,177,200,178,189,251,225,178,189,229,213,251,225,229,213,238,216,251,225,238,216,251,218,220,40,220,183,178,189,178,189,220,183,221,198,178,189,221,198,223,207,178,189,221,26,220,40,251,0,251,7,238,9,251,0,238,9,229,12,251,0,229,12,178,37,251,0,178,37,177,26,251,0,177,26,174,18,178,37,229,12,224,17,178,37,224,17,178,108,116,0,116,7,102,9,116,0,102,9,93,13,116,0,93,13,42,40,116,0,42,40,42,25,116,0,42,25,39,16,42,40,93,13,88,18,42,40,88,18,85,26,42,40,85,26,42,183,116,0,12,7,12,0,251,0,147,7,147,0,178,124,221,26,178,189,160,216,147,225,147,218,229,213,178,189,223,207,25,216,12,225,12,218, 238,116,232,154,217,186,194,210,165,225,130,230,92,225,61,209,38,185,23,153,17,114,23,75,38,42,61,17,91,1,126,-4,163,1,194,17,218,43,233,76,238,116,16383,16383,193,102,190,70,183,44,171,25,154,13,134,9,123,10,114,13,104,18,96,25,89,34,79,51,72,70,66,91,63,113,63,137,65,164,73,186,85,202,101,212,121,216,132,215,143,211,152,206,161,199,168,191,177,177,184,161,189,142,192,122,193,102,251,225,12,225,12,218,25,217,33,214,39,209,42,200,42,26,39,17,33,12,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,84,186,85,196,88,203,92,208,98,210,105,211,156,211,163,210,169,208,174,203,177,196,178,186,178,37,177,26,175,18,170,12,161,9,148,7,148,0,251,0,251,7,238,9,229,11,224,16,221,24,220,37,220,184,221,199,224,209,230,214,238,217,251,218,76,229, 66,91,61,17,72,70,72,70,61,17,91,1,72,70,91,1,79,51,79,51,91,1,89,34,96,25,89,34,91,1,96,25,91,1,126,-4,165,225,130,230,132,215,132,215,130,230,121,216,101,212,121,216,130,230,101,212,130,230,92,225,190,70,183,44,194,17,194,17,183,44,171,25,194,17,171,25,163,1,163,1,171,25,154,13,163,1,154,13,134,9,134,9,123,10,126,-4,126,-4,123,10,114,13,126,-4,114,13,104,18,143,211,152,206,165,225,165,225,152,206,161,199,165,225,161,199,168,191,168,191,177,177,194,210,194,210,177,177,184,161,194,210,184,161,189,142,194,210,193,102,194,17,194,210,194,17,217,186,217,186,194,17,218,43,217,186,218,43,232,154,232,154,218,43,233,76,232,154,233,76,238,116,194,210,189,142,192,122,194,210,192,122,193,102,194,210,165,225,168,191,134,9,126,-4,163,1,61,17,63,113,63,137,63,137,65,164,61,209,61,209,65,164,73,186,61,209,73,186,92,225,92,225,73,186,85,202,92,225,85,202,101,212,61,17,63,137,61,209,61,17,61,209,38,42,38,42,61,209,38,185,38,42,38,185,23,75,23,75,38,185,23,153,23,75,23,153,17,114,63,113,61,17,66,91,190,70,194,17,193,102,165,225,132,215,143,211,96,25,126,-4,104,18, 251,225,12,225,12,218,25,217,33,214,39,209,42,200,42,26,39,17,33,12,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,84,186,85,196,88,203,92,208,98,210,105,211,156,211,163,210,169,208,174,203,177,196,178,186,178,37,177,26,175,18,170,12,161,9,148,7,148,0,251,0,251,7,238,9,229,11,224,16,221,24,220,37,220,184,221,199,224,209,230,214,238,217,251,218,76,229,73,230,58,224,44,219,31,214,17,209,1,204,1,196,4,197,13,197,22,196,28,194,32,189,34,180,34,-65,33,-79,30,-88,24,-94,14,-98,0,-100,0,-107,120,-107,120,-100,101,-99,88,-95,81,-89,77,-78,76,-62,76,17,86,8,96,2,107,-1,117,-3,129,-4,163,1,191,19,213,47,227,82,232,123,228,158,216,188,198,210,175,225,148,230,132,228,117,224,103,216,89,205,76,190,16383,16383,76,167,79,176, 39,17,33,12,116,0,116,0,33,12,25,9,116,0,25,9,12,7,156,211,251,225,105,211,98,210,105,211,39,209,98,210,39,209,42,200,175,18,170,12,251,0,251,0,170,12,161,9,251,0,161,9,148,7,238,217,251,218,251,225,238,217,251,225,230,214,230,214,251,225,177,196,230,214,177,196,178,186,221,24,178,186,178,37,221,24,178,37,224,16,224,16,178,37,229,11,220,37,220,184,178,186,178,186,220,184,221,199,178,186,221,199,224,209,251,225,156,211,163,210,251,225,163,210,169,208,251,225,169,208,174,203,251,225,174,203,177,196,93,13,88,18,42,39,42,39,88,18,85,26,42,39,85,26,42,185,42,185,85,26,84,36,42,185,84,36,84,186,42,185,84,186,85,196,42,185,85,196,88,203,42,185,88,203,92,208,42,185,92,208,42,200,251,225,12,225,25,217,251,225,25,217,33,214,251,225,33,214,39,209,251,225,39,209,105,211,251,0,251,7,238,9,251,0,238,9,229,11,251,0,229,11,178,37,251,0,178,37,177,26,251,0,177,26,175,18,116,0,116,7,102,9,116,0,102,9,93,13,116,0,93,13,42,39,116,0,42,39,42,26,116,0,42,26,39,17,116,0,12,7,12,0,251,0,148,7,148,0,178,186,221,24,220,37,25,217,12,225,12,218,98,210,42,200,92,208,230,214,178,186,224,209, 76,229,73,230,58,224,44,219,31,214,17,209,1,204,1,196,4,197,13,197,22,196,28,194,32,189,34,180,34,-65,33,-79,30,-88,24,-94,14,-98,0,-100,0,-107,120,-107,120,-100,101,-99,88,-95,81,-89,77,-78,76,-62,76,17,86,8,96,2,107,-1,117,-3,129,-4,163,1,191,19,213,47,227,82,232,123,228,158,216,188,198,210,175,225,148,230,132,228,117,224,103,216,89,205,76,190,16383,16383,76,167,79,176,87,185,99,193,113,198,127,200,148,195,165,183,178,163,186,136,189,103,186,73,178,47,165,27,148,14,128,10,113,12,99,18,87,26,79,35,76,44,207,78,193,60,180,46,167,38,153,33,137,31,111,36,89,49,73,69,63,96,59,128,62,157,71,182,86,200,105,212,127,216,137,215,144,212,149,208,153,201,156,191,160,180,163,172,167,166,171,161,177,158,184,157,191,158,197,161,202,166,206,172,207,179,203,195,192,209,175,220,154,227,130,230,116,229,102,226,88,221,75,213,62,204,63,204,48,189,36,172,28,152,22,130,21,106,25,70,38,39,58,15,84,0,116,-4,128,-3,140,-1,152,3,163,9,173,16,182,24,189,32,197,43,205,57,214,74,213,155,210,225,7,225,4,155,12,155,17,175,24,191,35,202, 30,-88,24,-94,120,-107,120,-107,24,-94,14,-98,120,-107,14,-98,0,-100,6,197,8,197,17,209,17,209,8,197,11,197,17,209,11,197,13,197,13,197,22,196,17,209,17,209,22,196,31,214,17,209,1,204,4,197,17,209,4,197,6,197,79,35,76,44,86,8,86,8,76,44,76,17,77,-78,76,-62,44,219,77,-78,44,219,34,169,34,169,44,219,34,180,22,196,28,194,31,214,31,214,28,194,32,189,31,214,32,189,44,219,44,219,32,189,34,180,76,190,76,229,73,230,76,190,73,230,76,-62,76,190,76,-62,76,167,76,190,76,167,79,176,76,190,79,176,89,205,232,123,228,158,227,82,227,82,228,158,216,188,227,82,216,188,213,47,213,47,216,188,198,210,213,47,198,210,191,19,191,19,198,210,189,103,191,19,189,103,186,73,191,19,186,73,178,47,198,210,175,225,178,163,198,210,178,163,186,136,198,210,186,136,189,103,132,228,127,200,148,195,132,228,148,195,148,230,148,230,148,195,165,183,148,230,165,183,175,225,175,225,165,183,178,163,128,10,129,-4,148,14,148,14,129,-4,163,1,148,14,163,1,165,27,165,27,163,1,191,19,165,27,191,19,178,47,120,-107,120,-100,101,-99,120,-107,101,-99,88,-95,120,-107,88,-95,33,-79,120,-107,33,-79,30,-88,58,224,44,219,76,-62,58,224,76,-62,73,230,34,-65,33,-79,88,-95,34,-65,88,-95,81,-89,34,-65,81,-89,77,-78,34,-65,77,-78,34,169,79,176,87,185,89,205,89,205,87,185,99,193,89,205,99,193,103,216,103,216,99,193,113,198,103,216,113,198,117,224,117,224,113,198,127,200,117,224,127,200,132,228,113,12,99,18,107,-1,113,12,107,-1,117,-3,113,12,117,-3,128,10,79,35,86,8,87,26,87,26,86,8,96,2,87,26,96,2,99,18,99,18,96,2,107,-1,129,-4,128,10,117,-3,4,197,1,204,1,196,120,-107,0,-100,0,-107, 207,78,193,60,180,46,167,38,153,33,137,31,111,36,89,49,73,69,63,96,59,128,62,157,71,182,86,200,105,212,127,216,137,215,144,212,149,208,153,201,156,191,160,180,163,172,167,166,171,161,177,158,184,157,191,158,197,161,202,166,206,172,207,179,203,195,192,209,175,220,154,227,130,230,116,229,102,226,88,221,75,213,62,204,63,204,48,189,36,172,28,152,22,130,21,106,25,70,38,39,58,15,84,0,116,-4,128,-3,140,-1,152,3,163,9,173,16,182,24,189,32,197,43,205,57,214,74,213,155,210,225,7,225,4,155,12,155,17,175,24,191,35,202,50,209,70,211,77,211,82,209,85,207,87,202,88,195,88,40,87,25,84,16,78,11,69,9,56,7,56,0,161,0,161,7,148,9,139,13,133,18,130,26,129,36,129,195,130,201,131,206,134,209,139,210,146,211,166,209,182,202,192,191,200,175,204,155,242,225,175,225,175,218,184,217,190,216,195,213,198,210,199,205,199,201,198,198,198,195,197,193,145,55,84,184,83,188,79,196,78,201,78,204,79,209,82,212,87,215,95,217,107,218, 89,49,73,69,84,0,84,0,73,69,63,96,84,0,63,96,58,15,58,15,63,96,59,128,63,204,59,128,62,157,63,204,62,157,71,182,137,31,116,-4,128,-3,137,31,128,-3,140,-1,137,31,111,36,116,-4,89,49,84,0,116,-4,89,49,116,-4,111,36,203,195,192,209,197,161,203,195,197,161,202,166,203,195,202,166,206,172,203,195,206,172,207,179,192,209,175,220,177,158,192,209,177,158,184,157,192,209,184,157,191,158,192,209,191,158,197,161,175,220,154,227,156,191,175,220,156,191,160,180,175,220,160,180,163,172,175,220,163,172,167,166,175,220,167,166,171,161,175,220,171,161,177,158,144,212,149,208,154,227,154,227,149,208,153,201,154,227,153,201,156,191,130,230,127,216,137,215,130,230,137,215,154,227,154,227,137,215,144,212,182,24,189,32,193,60,193,60,189,32,197,43,193,60,197,43,207,78,207,78,197,43,205,57,207,78,205,57,214,74,140,-1,152,3,153,33,153,33,152,3,163,9,153,33,163,9,167,38,167,38,163,9,173,16,167,38,173,16,180,46,180,46,173,16,182,24,180,46,182,24,193,60,153,33,137,31,140,-1,105,212,127,216,116,229,105,212,116,229,102,226,105,212,102,226,88,221,105,212,88,221,86,200,75,213,63,204,71,182,75,213,71,182,86,200,75,213,86,200,88,221,48,189,36,172,38,39,48,189,38,39,58,15,48,189,58,15,59,128,48,189,59,128,63,204,28,152,22,130,25,70,28,152,25,70,38,39,28,152,38,39,36,172,127,216,130,230,116,229,25,70,22,130,21,106, 213,155,210,225,7,225,4,155,12,155,17,175,24,191,35,202,50,209,70,211,77,211,82,209,85,207,87,202,88,195,88,40,87,25,84,16,78,11,69,9,56,7,56,0,161,0,161,7,148,9,139,13,133,18,130,26,129,36,129,195,130,201,131,206,134,209,139,210,146,211,166,209,182,202,192,191,200,175,204,155,242,225,175,225,175,218,184,217,190,216,195,213,198,210,199,205,199,201,198,198,198,195,197,193,145,55,84,184,83,188,79,196,78,201,78,204,79,209,82,212,87,215,95,217,107,218,107,225,4,225,4,218,11,217,23,211,27,206,31,200,99,59,105,47,111,34,116,22,120,13,122,6,119,-5,111,-24,100,-44,88,-60, 84,16,78,11,161,0,161,0,78,11,69,9,161,0,69,9,56,7,24,191,35,202,7,225,7,225,35,202,50,209,7,225,50,209,70,211,70,211,77,211,210,225,210,225,77,211,82,209,210,225,82,209,85,207,85,207,87,202,210,225,210,225,87,202,139,210,210,225,139,210,146,211,146,211,166,209,210,225,210,225,166,209,182,202,210,225,182,202,192,191,210,225,192,191,200,175,210,225,200,175,204,155,210,225,204,155,213,155,129,36,129,195,88,195,88,195,129,195,130,201,88,195,130,201,131,206,88,195,131,206,134,209,88,195,134,209,139,210,88,195,139,210,87,202,88,195,130,26,129,36,210,225,7,225,70,211,7,225,4,155,12,155,7,225,12,155,17,175,7,225,17,175,24,191,161,0,161,7,148,9,161,0,148,9,139,13,161,0,139,13,88,40,161,0,88,40,87,25,161,0,87,25,84,16,88,40,139,13,133,18,88,40,133,18,130,26,88,40,130,26,88,195,161,0,56,7,56,0, 242,225,175,225,175,218,184,217,190,216,195,213,198,210,199,205,199,201,198,198,198,195,197,193,145,55,84,184,83,188,79,196,78,201,78,204,79,209,82,212,87,215,95,217,107,218,107,225,4,225,4,218,11,217,23,211,27,206,31,200,99,59,105,47,111,34,116,22,120,13,122,6,119,-5,111,-24,100,-44,88,-60,75,-66,70,-66,64,-64,60,-63,55,-60,49,-58,39,-56,33,-56,27,-57,21,-60,16,-65,13,-72,12,-79,14,-88,18,-96,26,-102,35,-106,47,-108,68,-105,86,-94,102,-76,118,-48,134,-11,217,192,221,202,225,208,230,213,235,216,242,218,190,330,186,331,172,325,146,315,132,310,117,305,117,297,119,298,129,298,138,297,144,295,147,290,149,281,150,270,150,204,144,212,136,219,127,225,116,229,104,230,76,225,53,209,36,185,25,153,22,113,23,89,27,66,32,46,41,29,51,15,60,8,69,2,79,-1,91,-3,103,-4,115,-3,126,0,136,6,144,13,150,22,150,-65,149,-79,146,-88,140,-94,129,-98,114,-100,114,-107,233,-107,233,-100,214,-99,202,-95,194,-89,191,-78,190,-62,190,22,195,13,203,6,213,0,224,-3,236,-4,249,-3,260,-1,270,2,279,8,287,15,298,29,306,46,313,66,316,89, 67,-65,68,-105,70,-66,70,-66,68,-105,86,-94,70,-66,86,-94,73,-66,73,-66,86,-94,75,-66,88,-60,75,-66,86,-94,88,-60,86,-94,102,-76,31,200,78,201,78,204,78,204,79,209,31,200,31,200,79,209,82,212,31,200,82,212,107,225,107,225,82,212,87,215,107,225,87,215,95,217,95,217,107,218,107,225,107,225,4,225,11,217,107,225,11,217,17,214,107,225,17,214,23,211,107,225,23,211,27,206,107,225,27,206,31,200,122,6,134,-11,145,55,145,55,134,-11,217,192,145,55,217,192,197,193,197,193,217,192,198,195,242,225,175,225,184,217,242,225,184,217,190,216,242,225,190,216,195,213,242,225,195,213,198,210,242,225,198,210,199,205,242,225,199,205,230,213,242,225,230,213,235,216,242,225,235,216,242,218,199,205,217,192,221,202,199,205,221,202,225,208,199,205,225,208,230,213,199,204,199,201,217,192,199,204,217,192,199,205,198,198,198,195,217,192,198,198,217,192,199,201,111,34,116,22,145,55,145,55,116,22,120,13,145,55,120,13,122,6,145,55,84,184,99,59,145,55,99,59,105,47,145,55,105,47,111,34,99,59,84,184,83,188,99,59,83,188,81,192,99,59,81,192,79,196,99,59,79,196,78,201,99,59,78,201,31,200,119,-5,111,-24,118,-48,119,-5,118,-48,134,-11,119,-5,134,-11,122,6,102,-76,118,-48,111,-24,102,-76,111,-24,100,-44,102,-76,100,-44,88,-60,68,-105,67,-65,64,-64,68,-105,64,-64,60,-63,68,-105,60,-63,55,-60,68,-105,55,-60,49,-58,68,-105,49,-58,47,-108,49,-58,44,-57,47,-108,47,-108,44,-57,39,-56,47,-108,39,-56,35,-106,35,-106,39,-56,33,-56,35,-106,33,-56,27,-57,35,-106,27,-57,26,-102,26,-102,27,-57,21,-60,26,-102,21,-60,18,-96,18,-96,21,-60,16,-65,18,-96,16,-65,14,-88,14,-88,16,-65,13,-72,14,-88,13,-72,12,-79,184,217,175,225,175,218,11,217,4,225,4,218, 190,330,186,331,172,325,146,315,132,310,117,305,117,297,119,298,129,298,138,297,144,295,147,290,149,281,150,270,150,204,144,212,136,219,127,225,116,229,104,230,76,225,53,209,36,185,25,153,22,113,23,89,27,66,32,46,41,29,51,15,60,8,69,2,79,-1,91,-3,103,-4,115,-3,126,0,136,6,144,13,150,22,150,-65,149,-79,146,-88,140,-94,129,-98,114,-100,114,-107,233,-107,233,-100,214,-99,202,-95,194,-89,191,-78,190,-62,190,22,195,13,203,6,213,0,224,-3,236,-4,249,-3,260,-1,270,2,279,8,287,15,298,29,306,46,313,66,316,89,318,113,314,153,303,185,286,209,263,225,235,230,223,229,212,225,203,219,195,212,190,204,16383,16383,190,179,192,188,198,197,207,206,219,212,233,215,248,209,260,194,268,172,273,146,275,117,274,99,273,82,271,66,267,51,263,38,258,29,253,21,247,15,240,11,233,10,219,13,207,19,198,28,192,38,190,47,16383,16383,150,47,147,38,141,28,132,19,120,13,105,10,99,11,92,15,86,21,81,29,76,38,72,51,68,66,66,82,65,99,65,117,66,146,71,172,80,194,91,209,105,215,120,212,132,206,141,197,147,187,150,177,238,0,238,7,229,8,221,12,213,18,205,26,197,37,133,136,175,195,181,203,188,209,197,214,215,218,215,225,136,225,136,218,144,217,150,215,154,213,156,210,156,201,154,195,150,187,145,178,138,169,124,149,116,162,108,174,101,185,97,194,94,201,93,206,93,210,96,213,100,216,106,217,114,218,114,225,11,225,11,218,15,218,23,217,31,214,38,208,45,200,54,187,54,188,100,115,45,32,37,22,30,15,23,11,16,9,7,7,7,0,79,0,79,7,72,8,66,9,62,11,60,13,60,19,61,23,63,27,65,33,69,39,108,100,155,28,156,27,156,25,157,23,157,15,155,12,152,9,146,8,137,7,137,0,251,225,146,225,146,218,159,216,168,212,174,207,177,199,178,189,178,39,177,29,174,22,170,17,164,15,157,14,104,14,97,15,92,17,88,22,85,29,84,39,84,188,85,199,88,207,94,213,103,216,116,218,116,225,12,225,12,218,25,216,33,214,39,209,42,201,42,26,39,16,33,11,24,8,12,7,12,0,199,0,210,-3,221,-14,232,-34,243,-68,251,-68,251,7,238,8,229,11,224,16,221,25,220,40,220,186,221,199,223,208,229,213,238,216,251,218, 69,2,79,-1,72,51,72,51,79,-1,76,38,81,29,76,38,79,-1,81,29,79,-1,91,-3,150,177,150,47,150,22,150,22,150,47,147,38,150,22,147,38,144,13,144,13,147,38,141,28,144,13,141,28,136,6,136,6,141,28,132,19,136,6,132,19,126,0,126,0,132,19,120,13,126,0,120,13,115,-3,115,-3,120,13,105,10,105,10,99,11,103,-4,103,-4,99,11,92,15,103,-4,92,15,91,-3,91,-3,92,15,86,21,91,-3,86,21,81,29,150,270,150,204,150,22,150,22,150,204,150,177,150,177,150,204,147,187,147,187,150,204,144,212,147,187,144,212,141,197,141,197,144,212,136,219,141,197,136,219,132,206,132,206,136,219,127,225,132,206,127,225,120,212,120,212,127,225,116,229,120,212,116,229,105,215,66,146,71,172,76,225,76,225,71,172,80,194,76,225,80,194,104,230,104,230,80,194,91,209,104,230,91,209,105,215,76,225,53,209,66,146,66,146,53,209,65,117,65,99,65,117,60,8,65,99,60,8,69,2,41,29,51,15,53,209,53,209,51,15,60,8,53,209,60,8,65,117,36,185,25,153,27,66,36,185,27,66,32,46,36,185,32,46,41,29,36,185,41,29,53,209,25,153,22,113,23,89,25,153,23,89,27,66,146,-88,140,-94,233,-107,233,-107,140,-94,129,-98,233,-107,129,-98,114,-100,122,298,124,298,132,310,132,310,124,298,126,298,132,310,126,298,129,298,129,298,138,297,132,310,132,310,138,297,146,315,132,310,117,305,119,298,132,310,119,298,122,298,192,38,190,47,195,13,195,13,190,47,190,22,191,-78,190,-62,159,320,191,-78,159,320,150,22,150,22,159,320,150,270,138,297,144,295,146,315,146,315,144,295,147,290,146,315,147,290,159,320,159,320,147,290,149,281,159,320,149,281,150,270,190,204,190,330,186,331,190,204,186,331,190,-62,190,204,190,-62,190,179,190,204,190,179,195,212,274,99,273,82,279,8,279,8,273,82,271,66,279,8,271,66,270,2,270,2,271,66,267,51,270,2,267,51,263,38,263,38,258,29,260,-1,260,-1,258,29,253,21,260,-1,253,21,249,-3,249,-3,253,21,247,15,249,-3,247,15,240,11,213,0,224,-3,219,13,219,13,224,-3,233,10,240,11,233,10,236,-4,240,11,236,-4,249,-3,314,153,303,185,306,46,314,153,306,46,313,66,314,153,313,66,316,89,314,153,316,89,318,113,274,99,279,8,275,117,275,117,279,8,286,209,286,209,279,8,287,15,286,209,287,15,303,185,303,185,287,15,298,29,303,185,298,29,306,46,248,209,260,194,263,225,263,225,260,194,268,172,263,225,268,172,286,209,286,209,268,172,273,146,286,209,273,146,275,117,263,225,235,230,248,209,248,209,235,230,233,215,219,212,233,215,223,229,219,212,223,229,212,225,263,38,260,-1,270,2,233,-107,233,-100,214,-99,233,-107,214,-99,202,-95,233,-107,202,-95,149,-79,233,-107,149,-79,146,-88,172,325,159,320,190,-62,172,325,190,-62,186,331,194,-89,191,-78,150,22,194,-89,150,22,150,-65,194,-89,150,-65,202,-95,69,2,72,51,68,66,69,2,68,66,66,82,69,2,66,82,65,99,192,38,195,13,198,28,198,28,195,13,203,6,198,28,203,6,207,19,207,19,203,6,213,0,207,19,213,0,219,13,190,179,192,188,195,212,195,212,192,188,198,197,195,212,198,197,203,219,203,219,198,197,207,206,203,219,207,206,212,225,212,225,207,206,219,212,235,230,223,229,233,215,233,10,224,-3,236,-4,115,-3,105,10,103,-4,119,298,117,305,117,297,233,-107,114,-100,114,-107,149,-79,202,-95,150,-65,105,215,116,229,104,230, 238,0,238,7,229,8,221,12,213,18,205,26,197,37,133,136,175,195,181,203,188,209,197,214,215,218,215,225,136,225,136,218,144,217,150,215,154,213,156,210,156,201,154,195,150,187,145,178,138,169,124,149,116,162,108,174,101,185,97,194,94,201,93,206,93,210,96,213,100,216,106,217,114,218,114,225,11,225,11,218,15,218,23,217,31,214,38,208,45,200,54,187,54,188,100,115,45,32,37,22,30,15,23,11,16,9,7,7,7,0,79,0,79,7,72,8,66,9,62,11,60,13,60,19,61,23,63,27,65,33,69,39,108,100,155,28,156,27,156,25,157,23,157,15,155,12,152,9,146,8,137,7,137,0,251,225,146,225,146,218,159,216,168,212,174,207,177,199,178,189,178,39,177,29,174,22,170,17,164,15,157,14,104,14,97,15,92,17,88,22,85,29,84,39,84,188,85,199,88,207,94,213,103,216,116,218,116,225,12,225,12,218,25,216,33,214,39,209,42,201,42,26,39,16,33,11,24,8,12,7,12,0,199,0,210,-3,221,-14,232,-34,243,-68,251,-68,251,7,238,8,229,11,224,16,221,25,220,40,220,186,221,199,223,208,229,213,238,216,251,218,244,225,139,225,139,218,152,216,161,212,167,207,170,200,171,190,171,118,166,116,158,113,148,110,136,108,123,107,106,108,94,112,87,120,83,131,81,147,81,186, 30,15,23,11,79,0,79,0,23,11,16,9,79,0,16,9,7,7,31,214,38,208,114,225,114,225,38,208,45,200,114,225,45,200,54,188,54,188,45,200,54,187,54,187,100,115,93,206,93,206,93,210,54,187,54,187,93,210,96,213,54,187,96,213,114,225,114,225,96,213,100,216,114,225,100,216,106,217,30,15,79,0,37,22,37,22,79,0,62,11,37,22,62,11,45,32,45,32,62,11,60,13,45,32,60,13,60,17,60,17,60,19,45,32,45,32,60,19,61,23,45,32,61,23,63,27,106,217,114,218,114,225,114,225,11,225,15,218,114,225,15,218,23,217,114,225,23,217,31,214,138,169,124,149,133,136,138,169,133,136,175,195,138,169,175,195,145,178,215,225,136,225,144,217,215,225,144,217,150,215,215,225,150,215,154,213,215,225,154,213,156,210,215,225,156,210,156,206,215,225,156,206,188,209,215,225,188,209,197,214,215,225,197,214,206,216,215,225,206,216,215,218,175,195,181,203,156,206,175,195,156,206,156,201,175,195,156,201,154,195,175,195,154,195,150,187,175,195,150,187,145,178,155,12,152,9,238,0,238,0,152,9,146,8,238,0,146,8,137,7,157,20,238,0,221,12,157,20,221,12,213,18,157,20,213,18,205,26,157,20,205,26,197,37,157,20,197,37,157,21,197,37,133,136,155,28,197,37,155,28,156,27,197,37,156,27,156,25,197,37,156,25,157,23,197,37,157,23,157,21,133,136,124,149,155,28,155,28,124,149,116,162,155,28,116,162,108,100,108,100,116,162,108,174,108,100,108,174,101,185,100,115,45,32,63,27,100,115,63,27,65,33,100,115,65,33,69,39,100,115,69,39,108,100,100,115,108,100,101,185,100,115,101,185,97,194,100,115,97,194,94,201,100,115,94,201,93,206,229,8,221,12,238,0,229,8,238,0,238,7,157,15,155,12,238,0,157,15,238,0,157,20,79,0,79,7,72,8,79,0,72,8,66,9,79,0,66,9,62,11,79,0,7,7,7,0,238,0,137,7,137,0,144,217,136,225,136,218,188,209,156,206,181,203,15,218,11,225,11,218,114,225,54,188,54,187, 251,225,146,225,146,218,159,216,168,212,174,207,177,199,178,189,178,39,177,29,174,22,170,17,164,15,157,14,104,14,97,15,92,17,88,22,85,29,84,39,84,188,85,199,88,207,94,213,103,216,116,218,116,225,12,225,12,218,25,216,33,214,39,209,42,201,42,26,39,16,33,11,24,8,12,7,12,0,199,0,210,-3,221,-14,232,-34,243,-68,251,-68,251,7,238,8,229,11,224,16,221,25,220,40,220,186,221,199,223,208,229,213,238,216,251,218,244,225,139,225,139,218,152,216,161,212,167,207,170,200,171,190,171,118,166,116,158,113,148,110,136,108,123,107,106,108,94,112,87,120,83,131,81,147,81,186,82,199,86,208,91,213,100,216,113,218,113,225,9,225,9,218,22,216,30,213,36,209,39,200,40,186,40,144,43,121,52,105,66,97,85,93,107,92,124,93,139,96,152,100,162,104,171,108,171,27,168,18,162,13,153,9,141,7,141,0,244,0,244,7,231,9,223,12,217,17,215,25,214,39, 39,16,33,11,187,0,187,0,33,11,24,8,187,0,24,8,12,7,116,225,12,225,25,216,116,225,25,216,33,214,116,225,33,214,39,209,116,225,39,209,42,201,116,225,42,201,42,188,116,225,42,188,94,213,116,225,94,213,103,216,116,225,103,216,116,218,92,17,88,22,42,41,42,41,88,22,85,29,42,41,85,29,42,188,42,188,85,29,84,39,42,188,84,39,84,188,42,188,84,188,85,199,42,188,85,199,88,207,42,188,88,207,94,213,251,225,146,225,159,216,251,225,159,216,168,212,251,225,168,212,174,207,251,225,174,207,177,199,251,225,177,199,178,189,251,225,178,189,229,213,251,225,229,213,238,216,251,225,238,216,251,218,224,16,221,25,221,-14,221,-14,221,25,220,40,220,40,220,186,210,-3,210,-3,220,186,199,0,178,189,187,0,221,199,221,199,187,0,199,0,221,199,199,0,220,186,223,208,229,213,178,189,223,208,178,189,221,199,251,-68,251,7,243,-68,243,-68,251,7,238,8,243,-68,238,8,232,-34,232,-34,238,8,229,11,232,-34,229,11,224,16,174,22,170,17,187,0,187,0,170,17,164,15,187,0,164,15,157,14,187,0,178,189,178,39,187,0,178,39,177,29,187,0,177,29,174,22,42,26,39,16,97,15,97,15,39,16,187,0,97,15,187,0,104,14,104,14,187,0,157,14,42,26,97,15,92,17,42,26,92,17,42,41,187,0,12,7,12,0,221,-14,220,40,210,-3,224,16,221,-14,232,-34,159,216,146,225,146,218,25,216,12,225,12,218,42,188,42,201,42,187, 244,225,139,225,139,218,152,216,161,212,167,207,170,200,171,190,171,118,166,116,158,113,148,110,136,108,123,107,106,108,94,112,87,120,83,131,81,147,81,186,82,199,86,208,91,213,100,216,113,218,113,225,9,225,9,218,22,216,30,213,36,209,39,200,40,186,40,144,43,121,52,105,66,97,85,93,107,92,124,93,139,96,152,100,162,104,171,108,171,27,168,18,162,13,153,9,141,7,141,0,244,0,244,7,231,9,223,12,217,17,215,25,214,39,214,199,217,208,223,213,231,216,244,218,373,225,270,225,270,218,282,216,291,213,296,207,299,200,300,189,300,39,299,29,297,22,293,17,287,15,278,14,235,14,228,15,221,17,217,22,214,29,213,39,213,189,214,199,218,207,224,213,232,216,243,218,243,225,141,225,141,218,152,216,160,213,166,207,170,199,171,189,171,39,170,29,168,22,164,17,158,15,150,14,107,14,99,15,93,17,88,22,85,29,84,39,84,189,85,199,88,207,93,212,102,216,114,218,114,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11, 113,218,113,218,100,216,100,216,113,218,113,225,100,216,113,225,91,213,91,213,113,225,40,186,91,213,40,186,86,208,86,208,40,186,43,121,86,208,43,121,82,199,82,199,43,121,52,105,82,199,52,105,66,97,87,120,83,131,85,93,85,93,83,131,81,147,81,147,81,186,66,97,66,97,81,186,82,199,30,213,36,209,113,225,113,225,36,209,39,200,113,225,39,200,40,186,22,216,30,213,113,225,22,216,113,225,9,225,22,216,9,225,9,218,244,7,231,9,244,0,244,0,231,9,223,12,244,0,223,12,171,39,171,39,223,12,217,17,171,39,217,17,171,108,171,108,171,118,166,116,171,108,166,116,162,104,162,104,166,116,158,113,162,104,158,113,152,100,152,100,158,113,148,110,152,100,148,110,139,96,139,96,148,110,136,108,139,96,136,108,124,93,124,93,136,108,123,107,107,92,124,93,123,107,107,92,123,107,106,108,107,92,106,108,94,112,107,92,94,112,87,120,107,92,87,120,85,93,244,225,139,225,152,216,244,225,152,216,161,212,244,225,161,212,167,207,244,225,167,207,170,200,244,225,170,200,171,190,244,225,171,190,223,213,244,225,223,213,231,216,244,225,231,216,244,218,214,39,214,186,171,108,171,108,214,186,214,199,171,108,214,199,217,208,171,190,171,108,217,208,171,190,217,208,223,213,171,108,217,17,215,25,171,108,215,25,214,39,244,0,171,39,171,27,244,0,171,27,168,18,244,0,168,18,162,13,244,0,162,13,153,9,244,0,153,9,141,7,244,0,141,7,141,0,43,121,40,186,40,144,171,118,171,108,171,190,152,216,139,225,139,218,85,93,81,147,66,97, 373,225,270,225,270,218,282,216,291,213,296,207,299,200,300,189,300,39,299,29,297,22,293,17,287,15,278,14,235,14,228,15,221,17,217,22,214,29,213,39,213,189,214,199,218,207,224,213,232,216,243,218,243,225,141,225,141,218,152,216,160,213,166,207,170,199,171,189,171,39,170,29,168,22,164,17,158,15,150,14,107,14,99,15,93,17,88,22,85,29,84,39,84,189,85,199,88,207,93,212,102,216,114,218,114,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,372,0,372,7,360,8,351,11,345,16,342,25,342,198,345,207,351,213,360,216,373,218,373,225,270,225,270,218,282,216,291,213,296,207,299,200,300,189,300,39,299,29,297,22,293,17,287,15,278,14,235,14,228,15,221,17,217,22,214,29,213,39,213,189,214,199,218,207,224,212,232,216,243,218,243,225,141,225,141,218,142,218,152,216,160,212,166,207,170,199,171,189,171,39,170,29,168,22,164,17,158,15,150,14,107,14,99,15,93,17,88,22,85,29,84,39,84,189,85,199,87,207,93,212,101,216,114,218,114,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,325,0,335,-5,345,-17,354,-37,364,-68,372,-68,372,7,360,8,351,11,345,15, 39,16,33,11,372,0,372,0,33,11,25,9,372,0,25,9,12,7,114,225,12,225,25,216,114,225,25,216,33,212,114,225,33,212,39,206,114,225,39,206,42,197,114,225,42,197,42,183,114,225,42,183,93,212,114,225,93,212,102,216,114,225,102,216,114,218,93,17,88,22,42,40,42,40,88,22,85,29,42,40,85,29,42,183,42,183,85,29,84,39,42,183,84,39,84,189,42,183,84,189,85,199,42,183,85,199,88,207,42,183,88,207,93,212,93,17,42,25,99,15,99,15,42,25,39,16,99,15,39,16,107,14,107,14,39,16,372,0,107,14,372,0,150,14,150,14,372,0,158,15,243,225,141,225,152,216,243,225,152,216,160,213,243,225,160,213,166,207,243,225,166,207,170,199,243,225,170,199,171,189,243,225,171,189,224,213,243,225,224,213,232,216,243,225,232,216,243,218,213,39,213,189,171,189,171,189,213,189,214,199,171,189,214,199,218,207,221,17,217,22,171,39,171,39,217,22,214,29,171,39,214,29,171,189,297,22,293,17,372,0,372,0,293,17,287,15,372,0,287,15,278,14,373,225,270,225,282,216,373,225,282,216,291,213,373,225,291,213,296,207,373,225,296,207,299,200,373,225,299,200,300,189,373,225,300,189,351,213,373,225,351,213,360,216,373,225,360,216,373,218,342,40,342,183,300,189,300,189,342,183,342,198,300,189,342,198,345,207,351,11,345,16,300,39,300,39,345,16,342,25,300,39,342,25,300,189,372,0,372,7,360,8,372,0,360,8,351,11,372,0,351,11,299,29,372,0,299,29,297,22,372,0,278,14,235,14,372,0,235,14,228,15,372,0,228,15,164,17,372,0,164,17,158,15,170,29,168,22,228,15,170,29,228,15,221,17,170,29,221,17,171,39,372,0,12,7,12,0,42,25,93,17,42,40,164,17,228,15,168,22,171,189,214,29,213,39,299,29,351,11,300,39,300,189,342,25,342,40,282,216,270,225,270,218,351,213,300,189,345,207,152,216,141,225,141,218,224,213,171,189,218,207,25,216,12,225,12,218, 373,225,270,225,270,218,282,216,291,213,296,207,299,200,300,189,300,39,299,29,297,22,293,17,287,15,278,14,235,14,228,15,221,17,217,22,214,29,213,39,213,189,214,199,218,207,224,212,232,216,243,218,243,225,141,225,141,218,142,218,152,216,160,212,166,207,170,199,171,189,171,39,170,29,168,22,164,17,158,15,150,14,107,14,99,15,93,17,88,22,85,29,84,39,84,189,85,199,87,207,93,212,101,216,114,218,114,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,325,0,335,-5,345,-17,354,-37,364,-68,372,-68,372,7,360,8,351,11,345,15,342,25,342,198,345,207,351,213,360,216,373,218,126,126,126,199,129,207,134,212,143,216,156,218,156,225,8,225,4,161,12,161,18,181,25,195,35,205,46,209,61,211,68,211,74,209,79,207,83,202,84,195,84,40,83,25,80,16,75,11,66,9,52,7,52,0,169,0,196,3,220,10,238,23,249,40,253,62,249,86,235,105,215,117,188,124,158,126,16383,16383,126,112,148,112,167,111,183,107,196,98,205,84,208,64,205,43,196,29,182,20,164,15,142,14,135,14,130,16,127,19,126,23,126,30,323,0,323,8,310,10,301,13,295,18,293,26,292,36,292,199,295,207,300,212,309,216,323,218,323,225,219,225,219,218,232,216,241,212,246,206,249,197,250,183,250,40,249,25,246,16,241,11,232,9,219,7, 39,16,33,11,315,0,315,0,33,11,25,9,315,0,25,9,12,7,114,225,12,225,25,216,114,225,25,216,33,212,114,225,33,212,39,206,114,225,39,206,42,197,114,225,42,197,42,183,114,225,42,183,93,212,114,225,93,212,101,216,114,225,101,216,114,218,93,17,88,22,42,40,42,40,88,22,85,29,42,40,85,29,42,183,42,183,85,29,84,39,42,183,84,39,84,189,42,183,84,189,85,199,42,183,85,199,87,207,42,183,87,207,93,212,93,17,42,25,99,15,99,15,42,25,39,16,99,15,39,16,107,14,107,14,39,16,315,0,107,14,315,0,150,14,150,14,315,0,158,15,243,225,141,225,142,218,243,225,142,218,152,216,243,225,152,216,160,212,243,225,160,212,166,207,243,225,166,207,170,199,243,225,170,199,171,189,243,225,171,189,224,212,243,225,224,212,232,216,243,225,232,216,243,218,213,39,213,189,171,189,171,189,213,189,214,199,171,189,214,199,218,207,221,17,217,22,171,39,171,39,217,22,214,29,171,39,214,29,171,189,373,225,270,225,282,216,373,225,282,216,291,213,373,225,291,213,296,207,373,225,296,207,299,200,373,225,299,200,300,189,373,225,300,189,351,213,373,225,351,213,360,216,373,225,360,216,373,218,345,15,342,25,345,-17,345,-17,342,25,342,40,342,40,342,183,335,-5,335,-5,342,183,325,0,300,189,315,0,342,198,342,198,315,0,325,0,342,198,325,0,342,183,345,207,351,213,300,189,345,207,300,189,342,198,372,-68,372,7,364,-68,364,-68,372,7,360,8,364,-68,360,8,354,-37,354,-37,360,8,351,11,354,-37,351,11,345,15,297,22,293,17,315,0,315,0,293,17,287,15,315,0,287,15,278,14,315,0,300,189,300,39,315,0,300,39,299,29,315,0,299,29,297,22,315,0,278,14,235,14,315,0,235,14,228,15,315,0,228,15,168,22,315,0,168,22,164,17,315,0,164,17,158,15,170,29,168,22,228,15,170,29,228,15,221,17,170,29,221,17,171,39,315,0,12,7,12,0,42,25,93,17,42,40,171,189,214,29,213,39,345,-17,342,40,335,-5,345,15,345,-17,354,-37,282,216,270,225,270,218,142,218,141,225,141,218,224,212,171,189,218,207,25,216,12,225,12,218, 126,126,126,199,129,207,134,212,143,216,156,218,156,225,8,225,4,161,12,161,18,181,25,195,35,205,46,209,61,211,68,211,74,209,79,207,83,202,84,195,84,40,83,25,80,16,75,11,66,9,52,7,52,0,169,0,196,3,220,10,238,23,249,40,253,62,249,86,235,105,215,117,188,124,158,126,16383,16383,126,112,148,112,167,111,183,107,196,98,205,84,208,64,205,43,196,29,182,20,164,15,142,14,135,14,130,16,127,19,126,23,126,30,323,0,323,8,310,10,301,13,295,18,293,26,292,36,292,199,295,207,300,212,309,216,323,218,323,225,219,225,219,218,232,216,241,212,246,206,249,197,250,183,250,40,249,25,246,16,241,11,232,9,219,7,219,0,16383,16383,84,126,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,127,0,155,3,179,10,197,23,209,40,213,62,208,86,194,105, 80,16,75,11,169,0,169,0,75,11,66,9,169,0,66,9,52,7,74,209,156,225,68,211,68,211,156,225,61,211,46,209,61,211,156,225,46,209,156,225,8,225,156,225,74,209,79,207,156,225,79,207,83,202,156,225,83,202,84,195,156,225,84,195,134,212,156,225,134,212,143,216,156,225,143,216,156,218,84,195,126,23,126,30,126,126,126,112,148,112,126,126,148,112,158,126,158,126,148,112,167,111,158,126,167,111,188,124,188,124,167,111,183,107,188,124,183,107,196,98,84,195,126,30,126,189,84,195,126,189,126,199,84,195,126,199,129,207,84,195,129,207,134,212,8,225,4,161,12,161,8,225,12,161,18,181,8,225,18,181,25,195,8,225,25,195,35,205,8,225,35,205,46,209,205,43,196,29,196,3,196,3,196,29,182,20,196,3,182,20,169,0,169,0,182,20,164,15,169,0,164,15,142,14,142,14,135,14,169,0,169,0,135,14,130,16,169,0,130,16,83,25,83,25,130,16,84,40,196,3,220,10,205,43,205,43,220,10,208,64,215,117,208,64,220,10,215,117,220,10,235,105,235,105,220,10,238,23,235,105,238,23,249,86,249,86,238,23,249,40,249,86,249,40,253,62,215,117,188,124,196,98,215,117,196,98,205,84,215,117,205,84,208,64,84,40,130,16,127,19,84,40,127,19,126,23,84,40,126,23,84,195,169,0,52,7,52,0,80,16,169,0,83,25, 323,0,323,8,310,10,301,13,295,18,293,26,292,36,292,199,295,207,300,212,309,216,323,218,323,225,219,225,219,218,232,216,241,212,246,206,249,197,250,183,250,40,249,25,246,16,241,11,232,9,219,7,219,0,16383,16383,84,126,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,127,0,155,3,179,10,197,23,209,40,213,62,208,86,194,105,174,117,148,124,118,126,16383,16383,84,112,107,112,126,111,142,107,155,98,164,84,167,64,164,43,155,29,141,20,123,15,102,14,94,14,89,16,86,19,85,23,84,30,84,126,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,127,0,155,3,179,10,197,23,209,40,213,62,208,86,194,105,174,117,148,124,118,126,16383,16383,84,112,107,112,126,111,142,107,155,98,164,84,167,64,164,43,155,29,141,20,123,15,102,14,94,14,89,16,86,19,85,23,84,30,30,228,23,157,32,157,38,173,46,189,58,203,75,212,99,216,122,212,140,200,154,182,162,157,165,128,75,128,75,112,165,112,160,87,150,64,135,47,114,35,88,31,71,33,56,37,42,46,28,59,15,78,7,74,18,53, 323,218,323,218,309,216,309,216,323,218,323,225,309,216,323,225,300,212,300,212,323,225,249,197,300,212,249,197,250,183,293,26,250,183,250,40,293,26,250,40,295,18,295,18,250,40,301,13,292,36,292,189,250,183,250,183,292,189,292,199,250,183,292,199,295,207,323,225,219,225,232,216,323,225,232,216,241,212,323,225,241,212,246,206,323,225,246,206,249,197,323,0,323,8,310,10,323,0,310,10,301,13,323,0,301,13,250,40,323,0,250,40,249,25,323,0,249,25,246,16,323,0,246,16,241,11,323,0,241,11,232,9,323,0,232,9,219,7,323,0,219,7,219,0,39,16,33,11,127,0,127,0,33,11,25,9,127,0,25,9,12,7,116,225,12,225,25,216,116,225,25,216,33,212,116,225,33,212,39,206,116,225,39,206,42,197,116,225,42,197,93,212,116,225,93,212,102,216,116,225,102,216,116,218,42,183,85,23,84,30,84,126,84,112,107,112,84,126,107,112,118,126,118,126,107,112,126,111,118,126,126,111,148,124,148,124,126,111,142,107,148,124,142,107,155,98,42,183,84,30,84,189,42,183,84,189,85,199,42,183,85,199,88,207,42,183,88,207,93,212,42,183,93,212,42,197,164,43,155,29,155,3,155,3,155,29,141,20,155,3,141,20,127,0,127,0,141,20,123,15,127,0,123,15,102,14,102,14,94,14,127,0,127,0,94,14,89,16,127,0,89,16,42,25,42,25,89,16,42,40,155,3,179,10,164,43,164,43,179,10,167,64,174,117,167,64,179,10,174,117,179,10,194,105,194,105,179,10,197,23,194,105,197,23,208,86,208,86,197,23,209,40,208,86,209,40,213,62,174,117,148,124,155,98,174,117,155,98,164,84,174,117,164,84,167,64,42,40,89,16,86,19,42,40,86,19,85,23,42,40,85,23,42,183,127,0,12,7,12,0,39,16,127,0,42,25,25,216,12,225,12,218,250,183,293,26,292,36,232,216,219,225,219,218,300,212,250,183,295,207, 84,126,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,127,0,155,3,179,10,197,23,209,40,213,62,208,86,194,105,174,117,148,124,118,126,16383,16383,84,112,107,112,126,111,142,107,155,98,164,84,167,64,164,43,155,29,141,20,123,15,102,14,94,14,89,16,86,19,85,23,84,30,30,228,23,157,32,157,38,173,46,189,58,203,75,212,99,216,122,212,140,200,154,182,162,157,165,128,75,128,75,112,165,112,160,87,150,64,135,47,114,35,88,31,71,33,56,37,42,46,28,59,15,78,7,74,18,53,32,32,49,14,72,0,101,-4,136,1,165,16,187,41,200,73,205,110,201,147,189,179,169,206,140,223,102,230,92,230,84,229,63,222,59,220,56,218,52,217,48,217, 39,16,33,11,127,0,127,0,33,11,25,9,127,0,25,9,12,7,116,225,12,225,25,216,116,225,25,216,33,212,116,225,33,212,39,206,116,225,39,206,42,197,116,225,42,197,93,212,116,225,93,212,102,216,116,225,102,216,116,218,42,183,85,23,84,30,84,126,84,112,107,112,84,126,107,112,118,126,118,126,107,112,126,111,118,126,126,111,148,124,148,124,126,111,142,107,148,124,142,107,155,98,42,183,84,30,84,189,42,183,84,189,85,199,42,183,85,199,88,207,42,183,88,207,93,212,42,183,93,212,42,197,164,43,155,29,155,3,155,3,155,29,141,20,155,3,141,20,127,0,127,0,141,20,123,15,127,0,123,15,102,14,102,14,94,14,127,0,127,0,94,14,89,16,127,0,89,16,42,25,42,25,89,16,42,40,155,3,179,10,164,43,164,43,179,10,167,64,174,117,167,64,179,10,174,117,179,10,194,105,194,105,179,10,197,23,194,105,197,23,208,86,208,86,197,23,209,40,208,86,209,40,213,62,174,117,148,124,155,98,174,117,155,98,164,84,174,117,164,84,167,64,42,40,89,16,86,19,42,40,86,19,85,23,42,40,85,23,42,183,127,0,12,7,12,0,39,16,127,0,42,25,25,216,12,225,12,218, 30,228,23,157,32,157,38,173,46,189,58,203,75,212,99,216,122,212,140,200,154,182,162,157,165,128,75,128,75,112,165,112,160,87,150,64,135,47,114,35,88,31,71,33,56,37,42,46,28,59,15,78,7,74,18,53,32,32,49,14,72,0,101,-4,136,1,165,16,187,41,200,73,205,110,201,147,189,179,169,206,140,223,102,230,92,230,84,229,63,222,59,220,56,218,52,217,48,217,44,218,42,219,40,221,38,224,37,228,84,124,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,84,108,131,108,138,70,153,39,176,16,205,0,239,-4,276,1,308,17,331,43,346,76,352,116,346,154,331,186,308,210,278,225,243,230,207,225,177,211,154,189,138,160,131,124,16383,16383,306,102,304,70,296,44,284,25, 59,220,56,218,58,203,58,203,56,218,52,217,58,203,52,217,48,217,48,217,44,218,46,189,46,189,44,218,42,219,46,189,42,219,40,221,30,228,32,157,37,228,37,228,32,157,38,173,37,228,38,173,38,224,38,224,38,173,46,189,38,224,46,189,40,221,15,78,18,53,28,59,28,59,18,53,32,32,28,59,32,32,42,46,42,46,32,32,49,14,42,46,49,14,56,37,56,37,49,14,72,0,56,37,72,0,71,33,71,33,72,0,88,31,114,35,88,31,101,-4,114,35,101,-4,136,1,99,216,92,230,84,229,99,216,84,229,78,227,99,216,78,227,75,212,99,216,102,230,92,230,75,212,78,227,72,225,75,212,72,225,66,223,75,212,66,223,63,222,75,212,63,222,59,220,75,212,59,220,58,203,48,217,46,189,58,203,75,128,165,112,165,128,165,128,165,112,165,16,165,128,165,16,169,206,205,110,201,147,200,73,200,73,201,147,189,179,200,73,189,179,187,41,187,41,189,179,169,206,187,41,169,206,165,16,169,206,140,223,140,200,169,206,140,200,154,182,169,206,154,182,162,157,169,206,162,157,165,128,122,212,140,200,140,223,122,212,140,223,102,230,122,212,102,230,99,216,165,112,160,87,165,16,165,16,160,87,150,64,165,16,150,64,136,1,136,1,150,64,135,47,136,1,135,47,114,35,88,31,72,0,101,-4,18,53,15,78,7,74,32,157,30,228,23,157,165,112,75,128,75,112, 84,124,84,189,85,199,88,207,93,212,102,216,116,218,116,225,12,225,12,218,25,216,33,212,39,206,42,197,42,25,39,16,33,11,25,9,12,7,12,0,116,0,116,7,102,9,93,13,88,18,85,26,84,36,84,108,131,108,138,70,153,39,176,16,205,0,239,-4,276,1,308,17,331,43,346,76,352,116,346,154,331,186,308,210,278,225,243,230,207,225,177,211,154,189,138,160,131,124,16383,16383,306,102,304,70,296,44,284,25,268,13,248,9,237,10,227,13,218,18,210,25,203,34,193,51,185,70,180,91,177,113,176,137,179,164,186,186,199,202,215,212,234,216,246,215,257,211,266,206,274,199,281,191,290,177,297,161,302,142,305,122,306,102,224,225,121,225,91,224,65,219,45,210,31,193,26,167,30,148,40,131,55,118,74,109,97,104,37,31,32,25,26,19,19,14,11,9,2,7,2,0,64,0,142,103,151,103,151,25,148,16,143,11,135,8,123,7,123,0,224,0,224,8,211,10,202,13,197,18,194,26,193,40,193,183,194,198,197,207,202,213,211,216,224,218,16383,16383,151,117,131,117,111,119,94,125,82,135,74,148,71,165,75,185,85,198,99,206,117,210,136,211,142,211,147,209,149,206,151,202,151,195,193,286,191,294,188,301,182,306,175,310,167,311,160,310,153,306,148,301,144,294,143,286,144,278,147,272,153,266,159,263,167,262,175,263,182,266,188,272,191,278,193,286,16383,16383, 39,16,33,11,116,0,116,0,33,11,25,9,116,0,25,9,12,7,116,225,12,225,25,216,116,225,25,216,33,212,116,225,33,212,39,206,116,225,39,206,42,197,116,225,42,197,93,212,116,225,93,212,102,216,116,225,102,216,116,218,138,160,131,124,131,108,131,108,131,124,84,124,131,108,84,124,84,108,85,26,84,36,42,183,85,26,42,183,42,40,42,183,84,36,84,189,42,183,84,189,85,199,42,183,85,199,88,207,42,183,88,207,93,212,42,183,93,212,42,197,116,0,116,7,102,9,116,0,102,9,93,13,116,0,93,13,42,40,116,0,42,40,42,25,116,0,42,25,39,16,42,40,93,13,88,18,42,40,88,18,85,26,180,91,176,16,185,70,185,70,176,16,205,0,185,70,205,0,193,51,193,51,205,0,203,34,210,25,203,34,205,0,210,25,205,0,239,-4,278,225,243,230,246,215,246,215,243,230,234,216,215,212,234,216,243,230,215,212,243,230,207,225,304,70,296,44,308,17,308,17,296,44,284,25,308,17,284,25,276,1,276,1,284,25,268,13,276,1,268,13,248,9,248,9,237,10,239,-4,239,-4,237,10,227,13,239,-4,227,13,218,18,257,211,266,206,278,225,278,225,266,206,274,199,278,225,274,199,281,191,281,191,290,177,308,210,308,210,290,177,297,161,308,210,297,161,302,142,346,154,331,186,331,43,346,154,331,43,346,76,346,154,346,76,352,116,304,70,308,17,306,102,306,102,308,17,308,210,308,210,308,17,331,43,308,210,331,43,331,186,308,210,302,142,305,122,308,210,305,122,306,102,308,210,278,225,281,191,248,9,239,-4,276,1,176,137,179,164,177,211,177,211,179,164,186,186,177,211,186,186,207,225,207,225,186,186,199,202,207,225,199,202,215,212,131,108,138,70,138,160,138,160,138,70,153,39,138,160,153,39,154,189,154,189,153,39,176,16,154,189,176,16,176,137,176,137,177,211,154,189,177,113,176,137,176,16,177,113,176,16,180,91,278,225,246,215,257,211,210,25,239,-4,218,18,116,0,12,7,12,0,25,216,12,225,12,218, 224,225,121,225,91,224,65,219,45,210,31,193,26,167,30,148,40,131,55,118,74,109,97,104,37,31,32,25,26,19,19,14,11,9,2,7,2,0,64,0,142,103,151,103,151,25,148,16,143,11,135,8,123,7,123,0,224,0,224,8,211,10,202,13,197,18,194,26,193,40,193,183,194,198,197,207,202,213,211,216,224,218,16383,16383,151,117,131,117,111,119,94,125,82,135,74,148,71,165,75,185,85,198,99,206,117,210,136,211,142,211,147,209,149,206,151,202,151,195,193,286,191,294,188,301,182,306,175,310,167,311,160,310,153,306,148,301,144,294,143,286,144,278,147,272,153,266,159,263,167,262,175,263,182,266,188,272,191,278,193,286,16383,16383,93,286,92,294,88,301,83,306,76,310,68,311,60,310,54,306,48,301,45,294,44,286,45,278,48,272,53,266,60,263,68,262,76,263,83,266,88,272,92,278,93,286,16383,16383,210,82,196,63,182,48,167,39,150,33,132,31,102,37,80,53,66,77,58,106,55,137,209,137,208,152,205,165,202,176, 26,19,19,14,64,0,64,0,19,14,11,9,64,0,11,9,2,7,97,104,64,0,142,103,97,104,142,103,111,119,97,104,111,119,94,125,97,104,94,125,82,135,97,104,82,135,74,148,97,104,74,148,74,109,85,198,91,224,75,185,75,185,91,224,65,219,75,185,65,219,71,165,71,165,74,109,74,148,26,167,30,148,31,193,31,193,30,148,40,131,31,193,40,131,45,210,45,210,40,131,55,118,45,210,55,118,65,219,65,219,55,118,74,109,65,219,74,109,71,165,148,16,143,11,224,0,224,0,143,11,135,8,224,0,135,8,123,7,147,209,224,225,142,211,142,211,224,225,136,211,117,210,136,211,121,225,117,210,121,225,99,206,99,206,121,225,91,224,99,206,91,224,85,198,224,8,211,10,224,0,224,0,211,10,202,13,224,0,202,13,151,38,151,38,202,13,197,18,151,38,197,18,151,103,151,103,197,18,151,117,151,103,151,117,142,103,142,103,151,117,131,117,142,103,131,117,111,119,64,0,97,104,37,31,64,0,37,31,32,25,64,0,32,25,26,19,224,225,147,209,149,206,224,225,149,206,151,202,224,225,151,202,151,195,224,225,151,195,202,213,224,225,202,213,211,216,224,225,211,216,224,218,193,40,193,183,151,195,151,195,193,183,194,198,151,195,194,198,197,207,151,195,194,26,193,40,224,225,121,225,136,211,151,117,197,18,194,26,151,117,194,26,151,195,151,25,148,16,224,0,151,25,224,0,151,38,224,0,123,7,123,0,202,213,151,195,197,207,64,0,2,7,2,0, 266,59,253,44,242,34,234,29,228,26,222,25,216,28,216,31,215,33,216,38,217,44,218,49,220,55,221,61,247,151,249,159,252,180,252,186,250,202,245,214,236,223,224,228,208,230,189,227,169,216,147,196,123,165,99,123,98,123,133,252,205,278,211,300,139,273,146,296,148,306,151,315,153,324,156,332,158,340,155,342,143,337,131,333,116,329,98,325,76,320,76,312,85,312,92,311,99,309,103,306,104,301,104,293,103,290,103,286,93,257,45,239,40,218,87,234,23,0,65,0,78,41,88,72,98,97,109,117,121,137,137,159,152,177,167,191,180,200,190,203,198,202,203,199,207,194,209,188,209,175,207,161,206,155,204,150,185,78,182,66,178,54,175,41,173,31,172,23,174,13,177,5,183,0,190,-3,199,-4,211,-2,225,3,240,14,256,30,273,54,344,337,341,331,335,324,327,316,316,310,302,308,271,312,246,322,222,334,193,344,154,348,118,342,88,327,65,305,51,278,46,248,49,224,60,204,77,189,100,179,128,176,136,176,144,177,151,179,159,182,167,186,163,197,157,195,150,193,144,191,137,190,131,190,116,192,102,198,90,208,82,222,79,241,83,262,93,278,106,289,122,295,138,297,168,293,193,283,216,272,242,262,273,258,303,263,325,276,340,294,349,314,355,334,16383,16383,352,209,344,217,335,225,325,231,312,235,295,237,275,234,257,225,241,212,231,195,227,174,232,145,243,121,257,99,269,76,273,49,271,34,264,22,253,11,238,5,219,2,204,4,191,8,181,16,172,28,165,44,158,63,149,82,136,98,118,110,94,114,72,109,53,97,38,82,28,65,22,51,34,49,39,57,45,64,53,69,61,73, 99,123,98,123,99,123,99,123,98,123,109,117,99,123,109,117,123,165,123,165,109,117,121,137,104,296,104,293,133,252,133,252,104,293,103,290,133,252,103,290,103,286,103,286,93,257,98,123,98,123,93,257,98,97,98,123,98,97,109,117,203,199,208,230,198,202,198,202,208,230,190,203,180,200,190,203,189,227,180,200,189,227,169,216,123,165,137,159,147,196,147,196,137,159,152,177,147,196,152,177,169,216,169,216,152,177,167,191,169,216,167,191,180,200,204,150,185,78,190,-3,204,150,190,-3,199,-4,204,150,199,-4,211,-2,204,150,211,-2,206,155,211,-2,216,31,215,33,215,33,224,228,211,-2,211,-2,224,228,209,181,211,-2,209,181,209,175,211,-2,209,175,208,168,224,228,215,33,216,38,224,228,216,38,217,44,224,228,217,44,218,49,224,228,218,49,220,55,224,228,220,55,221,61,224,228,221,61,247,151,224,228,247,151,236,223,209,188,209,181,224,228,209,188,224,228,208,230,209,188,208,230,207,194,208,230,189,227,190,203,249,159,250,166,250,202,250,202,250,166,251,173,250,202,251,173,252,186,252,186,251,173,252,180,247,151,249,159,250,202,247,151,250,202,245,214,247,151,245,214,236,223,218,27,225,3,220,26,220,26,225,3,222,25,228,26,222,25,225,3,228,26,225,3,240,14,256,30,273,54,266,59,256,30,266,59,253,44,256,30,253,44,242,34,256,30,242,34,240,14,234,29,228,26,240,14,234,29,240,14,242,34,225,3,218,27,216,28,225,3,216,28,216,31,225,3,216,31,211,-2,207,161,206,155,211,-2,207,161,211,-2,208,168,183,0,190,-3,185,78,183,0,185,78,182,66,183,0,182,66,178,54,183,0,178,54,177,5,175,41,173,31,174,13,175,41,174,13,177,5,175,41,177,5,178,54,65,0,78,41,87,234,87,234,78,41,88,72,87,234,88,72,93,257,93,257,88,72,98,97,45,239,40,218,87,234,45,239,87,234,93,257,85,312,92,311,98,325,98,325,92,311,99,309,98,325,99,309,116,329,116,329,99,309,103,306,116,329,103,306,104,301,104,301,104,299,133,252,133,252,104,299,104,296,76,320,76,312,85,312,76,320,85,312,98,325,151,315,153,324,155,342,155,342,153,324,156,332,155,342,156,332,158,340,133,252,139,273,143,337,143,337,139,273,146,296,143,337,146,296,155,342,155,342,146,296,148,306,155,342,148,306,151,315,133,252,143,337,131,333,133,252,131,333,116,329,133,252,116,329,104,301,103,286,98,123,133,252,139,273,133,252,205,278,139,273,205,278,211,300,65,0,87,234,23,0,174,13,173,31,172,23,208,230,203,199,207,194,121,137,137,159,123,165, 344,337,341,331,335,324,327,316,316,310,302,308,271,312,246,322,222,334,193,344,154,348,118,342,88,327,65,305,51,278,46,248,49,224,60,204,77,189,100,179,128,176,136,176,144,177,151,179,159,182,167,186,163,197,157,195,150,193,144,191,137,190,131,190,116,192,102,198,90,208,82,222,79,241,83,262,93,278,106,289,122,295,138,297,168,293,193,283,216,272,242,262,273,258,303,263,325,276,340,294,349,314,355,334,16383,16383,352,209,344,217,335,225,325,231,312,235,295,237,275,234,257,225,241,212,231,195,227,174,232,145,243,121,257,99,269,76,273,49,271,34,264,22,253,11,238,5,219,2,204,4,191,8,181,16,172,28,165,44,158,63,149,82,136,98,118,110,94,114,72,109,53,97,38,82,28,65,22,51,34,49,39,57,45,64,53,69,61,73,69,74,75,73,81,70,87,65,92,58,97,49,102,39,108,29,114,20,122,11,132,3,144,-3,157,-9,172,-13,192,-15,215,-16,253,-11,285,1,311,22,329,47,335,76,329,103,316,127,300,149,287,169,281,186,283,197,287,205,294,211,302,214,310,215,316,215,322,214,328,211,335,207,343,200,314,0,314,331,292,331,292,78,291,78,118,309,103,331,35,331,35,0,57,0,57,252,58,252,247,0,16383,16383,292,22,257,22,57,289,57,309,91,309,292,41,483,153,480,178,471,200,456,217,437,229,414,233,389,229,370,217,356,199,347,177,344,152,347,128,355,107,370,89,389,78,414,74,437,78,457,89,471,106,480,128,483,153,16383,16383,444,152,443,127,439,108,433,95,424,87,413,84,402,87,393,95,387,108,384,127,383,152,384,178,388,197,394,211,402,219,412,222,424,219,433,211,439,197,443,178,444,152,16383,16383,481,0,481,44,346,44,346,0,16383,16383,278,107,135,331,45,331,45,321,53,321,71,318,75,316,80,313,86,308,92,301,99,291,107,280,107,112,104,78,98,47,88,26,71,17,64,21,53,43,45,53,31,57,24,56,17,53,10,48,5,40,3,30,6,14,13,4,24,-2,38,-5,55,-6,91,2,113,27,124,60,128,97,129,131,129,246,291,-5,300,-5,300,186,301,219,303,253,309,284,319,305,335,314,343,309,348,300,354,288,362,278,376,274,383,275,390,278,397,283,402,291,403,301,401,317,394,327,383,334,369,337,353,338,316,329, 102,198,90,208,100,179,100,179,90,208,82,222,100,179,82,222,77,189,77,189,82,222,79,241,88,327,79,241,83,262,88,327,83,262,93,278,154,348,138,297,168,293,154,348,168,293,193,344,193,344,168,293,193,283,193,344,193,283,222,334,222,334,193,283,216,272,222,334,216,272,242,262,222,334,242,262,246,322,246,322,242,262,273,258,246,322,273,258,271,312,271,312,273,258,302,308,316,310,302,308,303,263,316,310,303,263,325,276,355,334,344,337,349,314,349,314,344,337,341,331,349,314,341,331,340,294,340,294,341,331,335,324,340,294,335,324,327,316,327,316,316,310,325,276,327,316,325,276,340,294,302,308,273,258,303,263,295,237,275,234,283,197,283,197,275,234,281,186,285,1,281,186,275,234,285,1,275,234,273,49,273,49,271,34,285,1,285,1,271,34,264,22,285,1,264,22,253,-11,253,-11,264,22,253,11,253,-11,253,11,238,5,325,231,312,235,316,215,316,215,312,235,310,215,302,214,310,215,312,235,302,214,312,235,295,237,295,237,283,197,287,205,295,237,287,205,294,211,295,237,294,211,302,214,343,200,352,209,344,217,343,200,344,217,335,225,343,200,335,225,335,207,316,215,322,214,325,231,325,231,322,214,328,211,325,231,328,211,335,225,335,225,328,211,335,207,335,76,329,103,329,47,329,47,329,103,316,127,329,47,316,127,311,22,311,22,316,127,300,149,311,22,300,149,287,169,287,169,281,186,285,1,287,169,285,1,311,22,238,5,219,2,253,-11,253,-11,219,2,215,-16,215,-16,219,2,204,4,215,-16,204,4,192,-15,192,-15,204,4,191,8,192,-15,191,8,181,16,93,278,106,289,118,342,118,342,106,289,122,295,118,342,122,295,154,348,154,348,122,295,138,297,65,305,51,278,60,204,65,305,60,204,77,189,65,305,77,189,79,241,65,305,79,241,88,327,51,278,46,248,49,224,51,278,49,224,60,204,157,195,150,193,151,179,151,179,150,193,144,191,151,179,144,191,144,177,144,177,144,191,137,190,144,177,137,190,136,176,136,176,137,190,131,190,128,176,136,176,131,190,128,176,131,190,116,192,128,176,116,192,102,198,128,176,102,198,100,179,159,182,167,186,163,197,159,182,163,197,157,195,159,182,157,195,151,179,94,114,72,109,75,73,75,73,72,109,69,74,61,73,69,74,72,109,61,73,72,109,53,97,53,97,38,82,39,57,53,97,39,57,45,64,53,97,45,64,53,69,53,97,53,69,61,73,34,49,39,57,38,82,34,49,38,82,28,65,34,49,28,65,22,51,81,70,87,65,94,114,94,114,87,65,92,58,94,114,92,58,97,49,97,49,102,39,118,110,118,110,102,39,108,29,118,110,108,29,114,20,122,11,132,3,136,98,136,98,132,3,144,-3,136,98,144,-3,149,82,149,82,144,-3,157,-9,149,82,157,-9,158,63,158,63,157,-9,172,-13,158,63,172,-13,165,44,165,44,172,-13,172,28,181,16,172,28,172,-13,181,16,172,-13,192,-15,118,110,114,20,122,11,118,110,122,11,136,98,118,110,94,114,97,49,231,195,232,145,241,212,241,212,232,145,243,121,241,212,243,121,257,225,257,225,243,121,257,99,257,225,257,99,275,234,275,234,257,99,269,76,275,234,269,76,273,49,232,145,231,195,227,174,94,114,75,73,81,70,88,327,93,278,118,342, 406,57,402,52,396,46,384,36,379,35,361,47,353,78,347,119,335,159,309,190,309,191,331,203,348,218,361,236,368,256,371,277,367,300,355,321,335,337,308,348,272,352,206,304,193,317,178,329,160,339,140,345,118,348,89,344,63,335,43,319,30,297,25,270,31,247,45,229,62,214,76,197,82,175,79,163,73,153,64,144,54,138,45,134,49,123,74,132,97,145,115,161,128,180,132,200,126,227,112,245,95,259,81,275,75,299,76,308,80,318,87,325,97,330,108,332,133,322,149,297,157,265,161,231,162,203,162,165,160,123,156,84,149,56,137,45,129,47,116,54,100,62,86,70,76,75,30,2,41,-3,51,9,56,14,60,17,63,20,70,17,83,11,97,3,111,-4,122,-10,149,19,173,53,193,88,209,125,220,161,257,170,269,162,276,149,280,132,282,113,283,94,284,70,289,44,298,21,313,1,333,-10,339,-10,355,0,372,11,388,24,403,36,415,47,16383,16383,222,179,223,189,223,200,224,212,224,233,223,242,222,253,220,265,217,276,214,286,225,297,235,304,245,310,255,313,266,314,283,310,296,302,305,291,310,278,312,266,310,246,303,226,289,208,268,192,238,182,356,0,248,142,271,153,290,167,303,186,311,208,314,233,308,271,291,298,265,317,232,328,195,331,35,331,35,0,118,0,118,136,155,136,252,0,16383,16383,246,302,262,293,275,281,284,268,290,251,292,232,290,214,284,197,274,182,261,170,246,161,16383,16383,224,160,218,159,212,159,207,158,201,158,196,157,118,157,118,309,203,309,208,308,214,307,224,305,16383,16383,313,22,264,22,181,136,184,136,186,135,206,135,213,136,219,136,225,137,16383,16383,96,22,57,22,57,309,96,309,382,0,382,11,365,13,350,18,337,26,326,36,314,47,382,113,368,127,300,61,284,80,254,120,224,158,250,166,274,178,295,196,309,217,315,244,306,281,282,306,250,323,213,331,177,334,35,334,35,321,57,320,73,315,85,307,92,292,94,269,94,65,92,42,85,27,73,18,57,14,35,12,35,0,197,0,197,12,175,14,158,18,147,27,140,42,138,65,138,152,145,152,149,151,162,151,165,152,172,152,270,31,200,-35,213,-49,282,17,295,0,16383,16383,138,283,140,298,146,308,156,314,168,317,182,318,212,315,235,307,251,293,261,271,264,240,259,207,244,186,222,174,194,168,163,166,158,166,153,167, 82,175,79,163,82,175,82,175,79,163,97,145,82,175,97,145,95,259,82,175,95,259,81,275,82,175,81,275,76,197,76,197,81,275,75,299,63,335,75,299,76,308,63,335,76,308,89,344,89,344,76,308,80,318,89,344,80,318,87,325,118,348,108,332,133,322,118,348,133,322,140,345,140,345,133,322,149,297,140,345,149,297,160,339,160,339,149,297,157,265,160,339,157,265,161,231,162,165,160,123,173,53,173,53,160,123,156,84,173,53,156,84,149,19,149,19,156,84,149,56,149,19,149,56,137,45,137,45,129,47,149,19,149,19,129,47,122,-10,220,161,257,170,222,179,220,161,222,179,222,253,220,161,222,253,220,265,220,161,220,265,217,276,220,161,217,276,214,286,220,161,214,286,209,125,222,179,223,189,223,242,223,242,223,189,223,200,223,242,223,200,224,233,224,233,223,200,224,212,224,233,224,212,224,223,206,304,193,317,193,88,193,88,193,317,178,329,193,88,178,329,173,53,173,53,178,329,162,203,63,20,70,17,76,75,76,75,70,17,83,11,76,75,83,11,86,70,86,70,83,11,97,3,86,70,97,3,100,62,100,62,97,3,111,-4,100,62,111,-4,116,54,116,54,111,-4,122,-10,116,54,122,-10,129,47,76,75,30,2,41,-3,76,75,41,-3,46,3,76,75,46,3,51,9,76,75,51,9,56,14,76,75,56,14,60,17,76,75,60,17,63,20,97,330,108,332,118,348,97,330,118,348,89,344,97,330,89,344,87,325,63,335,43,319,45,229,63,335,45,229,62,214,63,335,62,214,76,197,63,335,76,197,75,299,31,247,45,229,43,319,31,247,43,319,30,297,31,247,30,297,25,270,95,259,97,145,112,245,112,245,97,145,115,161,112,245,115,161,126,227,126,227,115,161,128,180,126,227,128,180,132,200,74,132,97,145,79,163,74,132,79,163,73,153,74,132,73,153,64,144,74,132,64,144,54,138,74,132,54,138,49,123,54,138,45,134,49,123,276,149,289,208,269,162,269,162,289,208,268,192,269,162,268,192,257,170,257,170,268,192,238,182,235,304,245,310,272,352,272,352,245,310,255,313,272,352,255,313,266,314,266,314,283,310,272,352,272,352,283,310,308,348,312,266,331,203,335,337,335,337,331,203,348,218,335,337,348,218,355,321,355,321,348,218,361,236,355,321,361,236,367,300,367,300,361,236,368,256,367,300,368,256,371,277,310,278,312,266,335,337,310,278,335,337,308,348,310,278,308,348,305,291,308,348,283,310,296,302,308,348,296,302,305,291,310,246,303,226,309,191,310,246,309,191,331,203,310,246,331,203,312,266,309,190,309,191,303,226,309,190,303,226,313,1,309,190,313,1,335,159,402,52,396,46,403,36,403,36,396,46,390,41,403,36,390,41,388,24,388,24,390,41,384,36,388,24,384,36,379,35,379,35,361,47,372,11,372,11,361,47,355,0,313,1,333,-10,335,159,335,159,333,-10,339,-10,335,159,339,-10,347,119,347,119,339,-10,355,0,347,119,355,0,353,78,353,78,355,0,361,47,283,94,284,70,289,208,289,208,284,70,289,44,289,208,289,44,303,226,303,226,289,44,298,21,303,226,298,21,313,1,276,149,280,132,289,208,289,208,280,132,282,113,289,208,282,113,283,94,406,57,402,52,403,36,406,57,403,36,415,47,379,35,372,11,388,24,272,352,206,304,214,286,272,352,214,286,225,297,272,352,225,297,235,304,206,304,193,88,209,125,206,304,209,125,214,286,161,231,162,203,178,329,161,231,178,329,160,339,222,179,257,170,238,182,162,165,173,53,162,203,222,179,223,242,222,253, 429,110,429,143,125,143,121,145,119,147,117,150,117,155,119,161,123,167,132,176,141,186,149,195,165,215,155,224,134,202,112,180,89,160,63,143,36,129,36,124,63,110,89,93,112,73,134,51,154,29,164,39,157,49,149,59,140,68,132,78,123,86,120,89,118,92,116,96,116,99,117,102,119,105,122,107,126,109,129,110,225,212,203,232,181,254,162,278,144,303,130,331,125,331,111,303,94,278,74,254,52,233,30,213,40,203,49,210,69,226,79,235,88,243,90,246,93,248,97,250,100,251,103,250,109,244,111,238,111,-77,144,-77,144,237,145,242,146,246,148,248,151,250,157,250,159,249,168,243,177,234,187,226,197,217,206,209,216,202,428,129, 121,145,119,147,119,105,119,105,119,147,117,150,119,105,117,150,117,102,117,102,117,150,117,153,116,99,112,180,112,73,112,73,112,180,89,160,112,73,89,160,89,93,89,93,89,160,63,143,89,93,63,143,63,110,63,110,63,143,36,129,63,110,36,129,36,124,155,224,134,202,141,186,155,224,141,186,149,195,155,224,149,195,157,205,155,224,157,205,165,215,134,202,112,180,118,158,134,202,118,158,119,161,134,202,119,161,121,164,134,202,121,164,123,167,134,202,123,167,132,176,134,202,132,176,141,186,117,155,118,158,112,180,117,155,112,180,117,153,140,68,132,78,134,51,134,51,132,78,123,86,134,51,123,86,120,89,129,143,125,143,126,109,129,143,126,109,129,110,129,143,129,110,429,110,129,143,429,110,429,143,122,107,126,109,125,143,122,107,125,143,121,145,122,107,121,145,119,105,154,29,164,39,157,49,154,29,157,49,149,59,154,29,149,59,140,68,154,29,140,68,134,51,116,96,116,99,112,73,116,96,112,73,117,94,117,94,112,73,134,51,117,94,134,51,118,92,118,92,134,51,120,89,117,102,117,153,116,99,117,153,112,180,116,99, 225,212,203,232,181,254,162,278,144,303,130,331,125,331,111,303,94,278,74,254,52,233,30,213,40,203,49,210,69,226,79,235,88,243,90,246,93,248,97,250,100,251,103,250,109,244,111,238,111,-77,144,-77,144,237,145,242,146,246,148,248,151,250,157,250,159,249,168,243,177,234,187,226,197,217,206,209,216,202,428,129,400,143,375,160,352,180,330,201,310,224,300,214,314,194,323,185,332,175,340,166,343,164,345,161,347,159,347,157,348,154,347,151,341,145,338,144,334,143,35,143,35,110,334,110,339,109,343,108,345,106,347,103,347,97,346,95,340,86,331,77,322,67,314,58,306,48,299,38,309,28,330,51,351,72,375,92, 90,246,93,248,94,278,94,278,93,248,95,249,94,278,95,249,111,303,111,303,95,249,97,250,111,303,97,250,100,251,100,251,103,250,111,303,111,303,103,250,106,247,111,303,106,247,109,244,110,241,111,238,111,303,111,303,111,238,125,331,125,331,111,238,144,-77,125,331,144,-77,130,331,130,331,144,-77,144,237,130,331,144,237,144,303,144,303,144,237,145,242,144,303,145,242,146,246,88,243,90,246,94,278,88,243,94,278,79,235,79,235,94,278,74,254,79,235,74,254,69,226,69,226,74,254,59,218,52,233,30,213,40,203,52,233,40,203,49,210,52,233,49,210,59,218,52,233,59,218,74,254,146,246,148,248,162,278,162,278,148,248,151,250,162,278,151,250,154,250,154,250,157,250,162,278,162,278,157,250,159,249,162,278,159,249,162,247,187,226,197,217,203,232,203,232,197,217,206,209,203,232,206,209,225,212,225,212,206,209,216,202,181,254,162,278,162,247,181,254,162,247,165,245,181,254,165,245,168,243,181,254,168,243,177,234,181,254,177,234,187,226,181,254,187,226,203,232,111,238,111,-77,144,-77,144,303,146,246,162,278,111,303,109,244,110,241, 428,129,400,143,375,160,352,180,330,201,310,224,300,214,314,194,323,185,332,175,340,166,343,164,345,161,347,159,347,157,348,154,347,151,341,145,338,144,334,143,35,143,35,110,334,110,339,109,343,108,345,106,347,103,347,97,346,95,340,86,331,77,322,67,314,58,306,48,299,38,309,28,330,51,351,72,375,92,400,110,428,124,216,50,206,43,186,27,168,9,165,7,163,5,160,3,158,3,156,2,153,3,147,9,145,12,145,331,112,331,112,16,111,11,110,8,105,3,99,3,96,4,90,8,88,10,78,19,69,28,49,44,40,51,30,41,53,20,74,-1,94,-24,111,-49,126,-77,131,-77,145,-49,162,-24,182,-1,203,20,225,41,444,129,417,143,391,160, 347,97,351,72,347,100,347,100,351,72,348,154,348,154,351,72,352,180,352,180,351,72,375,92,352,180,375,92,375,160,375,160,375,92,400,110,375,160,400,110,400,143,400,143,400,110,428,124,400,143,428,124,428,129,352,180,330,201,332,175,352,180,332,175,340,166,352,180,340,166,343,164,352,180,343,164,345,161,352,180,345,161,347,159,352,180,347,159,347,157,352,180,347,157,348,154,300,214,307,204,310,224,310,224,307,204,314,194,310,224,314,194,330,201,330,201,314,194,323,185,330,201,323,185,332,175,35,143,334,110,334,143,338,144,334,143,339,109,338,144,339,109,341,145,341,145,339,109,343,108,341,145,343,108,344,148,344,148,343,108,345,106,344,148,345,106,347,151,347,151,345,106,347,103,347,151,347,103,347,100,322,67,330,51,331,77,331,77,330,51,351,72,331,77,351,72,340,86,340,86,351,72,342,89,351,72,347,97,346,95,351,72,346,95,344,92,351,72,344,92,342,89,314,58,306,48,309,28,314,58,309,28,330,51,314,58,330,51,322,67,348,154,347,151,347,100,334,110,35,143,35,110,334,143,334,110,339,109,309,28,306,48,299,38, 216,50,206,43,186,27,168,9,165,7,163,5,160,3,158,3,156,2,153,3,147,9,145,12,145,331,112,331,112,16,111,11,110,8,105,3,99,3,96,4,90,8,88,10,78,19,69,28,49,44,40,51,30,41,53,20,74,-1,94,-24,111,-49,126,-77,131,-77,145,-49,162,-24,182,-1,203,20,225,41,444,129,417,143,391,160,368,180,346,201,325,224,315,214,322,204,330,194,339,185,348,175,359,164,361,161,363,157,363,154,362,151,360,148,357,145,354,144,350,143,108,143,104,145,102,147,100,150,100,155,101,158,107,167,116,176,125,186,133,195,141,205,148,215,138,224,96,180,72,160,47,143,19,129,19,124, 110,8,107,5,111,-49,111,-49,107,5,105,3,111,-49,105,3,102,3,102,3,99,3,111,-49,111,-49,99,3,96,4,111,-49,96,4,94,-24,94,-24,96,4,93,6,94,-24,93,6,90,8,150,6,147,9,162,-24,162,-24,147,9,145,12,162,-24,145,12,145,-49,145,-49,145,12,145,16,145,16,145,331,131,-77,131,-77,145,331,126,-77,145,331,112,331,126,-77,126,-77,112,331,112,16,126,-77,112,16,111,-49,111,-49,112,16,111,11,111,-49,111,11,110,8,163,5,160,3,162,-24,162,-24,160,3,158,3,162,-24,158,3,156,2,156,2,153,3,162,-24,162,-24,153,3,150,6,186,27,177,18,182,-1,182,-1,177,18,168,9,182,-1,168,9,165,7,206,43,196,35,203,20,206,43,203,20,225,41,206,43,225,41,216,50,186,27,182,-1,203,20,186,27,203,20,196,35,163,5,162,-24,182,-1,163,5,182,-1,165,7,90,8,88,10,94,-24,94,-24,88,10,78,19,94,-24,78,19,74,-1,74,-1,78,19,69,28,74,-1,69,28,59,36,53,20,74,-1,59,36,53,20,59,36,49,44,53,20,49,44,40,51,53,20,40,51,30,41,145,-49,145,16,131,-77, 444,129,417,143,391,160,368,180,346,201,325,224,315,214,322,204,330,194,339,185,348,175,359,164,361,161,363,157,363,154,362,151,360,148,357,145,354,144,350,143,108,143,104,145,102,147,100,150,100,155,101,158,107,167,116,176,125,186,133,195,141,205,148,215,138,224,96,180,72,160,47,143,19,129,19,124,47,110,72,93,95,73,117,51,137,29,147,39,133,59,124,68,115,78,104,89,102,92,100,94,100,96,99,99,100,102,103,105,109,109,113,110,350,110,355,109,358,108,361,106,363,100,362,97,362,95,356,86,347,77,338,67,330,58,322,48,315,38,325,28,345,51,367,72,391,92,417,110,444,124,225,246,203,266,182,288,162,312,145,337,131,365,126,365,112,337,94,312,74,288,53,267,31,247,40,237,50,244,70,260,79,269,88,277,93,282,96,283,100,285,104,284,107,281,111,275,112,272,112,-16,111,-21,110,-25,107,-28,105,-29,102,-30,93,-27,90,-25,88,-22,78,-13,69,-5,59,2,49,10,40,17,30,7,53,-12,74,-34,94,-58,111,-83,126,-111,131,-111,145,-83,162,-58,181,-34,203,-12,225,7,215,17,206,10,196,2,186,-5,163,-28,160,-29,158,-30,156,-30,153,-29,150,-27,147,-24,145,-20,145,276,147,280,149,282,152,284,157,284,160,283,169,277,178,268,187,260,197,251,206,243,216,236,428,-54, 104,145,102,147,103,105,103,105,102,147,100,150,103,105,100,150,100,102,100,102,100,150,100,153,99,99,96,180,95,73,95,73,96,180,72,160,95,73,72,160,72,93,72,93,72,160,47,143,72,93,47,143,47,110,47,110,47,143,19,129,47,110,19,129,19,124,138,224,117,202,125,186,138,224,125,186,133,195,138,224,133,195,141,205,138,224,141,205,148,215,117,202,96,180,101,158,117,202,101,158,103,161,117,202,103,161,105,164,117,202,105,164,107,167,117,202,107,167,116,176,117,202,116,176,125,186,100,155,101,158,96,180,100,155,96,180,100,153,124,68,115,78,117,51,117,51,115,78,107,86,117,51,107,86,104,89,137,29,147,39,140,49,137,29,140,49,133,59,137,29,133,59,124,68,137,29,124,68,117,51,363,100,367,72,363,154,363,154,367,72,368,180,368,180,367,72,391,92,368,180,391,92,391,160,391,160,391,92,417,110,391,160,417,110,417,143,417,143,417,110,444,124,417,143,444,124,444,129,368,180,346,201,348,175,368,180,348,175,357,166,368,180,357,166,359,164,368,180,359,164,361,161,368,180,361,161,362,159,368,180,362,159,363,157,368,180,363,157,363,154,315,214,322,204,325,224,325,224,322,204,330,194,325,224,330,194,346,201,346,201,330,194,339,185,346,201,339,185,348,175,350,110,355,109,350,143,354,144,350,143,355,109,354,144,355,109,357,145,357,145,355,109,358,108,357,145,358,108,360,148,360,148,358,108,361,106,360,148,361,106,362,151,362,151,361,106,362,103,362,151,362,103,363,100,338,67,345,51,347,77,347,77,345,51,367,72,347,77,367,72,356,86,356,86,367,72,358,89,362,97,362,95,367,72,362,97,367,72,363,100,360,92,358,89,367,72,360,92,367,72,362,95,330,58,322,48,325,28,330,58,325,28,345,51,330,58,345,51,338,67,363,154,362,151,363,100,350,110,350,143,113,110,113,110,350,143,113,143,113,110,113,143,109,109,108,143,104,145,106,107,108,143,106,107,109,109,108,143,109,109,113,143,100,96,99,99,95,73,100,96,95,73,100,94,100,94,95,73,117,51,100,94,117,51,102,92,102,92,117,51,104,89,100,102,100,153,99,99,104,145,103,105,106,107,325,28,322,48,315,38,100,153,96,180,99,99, 225,246,203,266,182,288,162,312,145,337,131,365,126,365,112,337,94,312,74,288,53,267,31,247,40,237,50,244,70,260,79,269,88,277,93,282,96,283,100,285,104,284,107,281,111,275,112,272,112,-16,111,-21,110,-25,107,-28,105,-29,102,-30,93,-27,90,-25,88,-22,78,-13,69,-5,59,2,49,10,40,17,30,7,53,-12,74,-34,94,-58,111,-83,126,-111,131,-111,145,-83,162,-58,181,-34,203,-12,225,7,215,17,206,10,196,2,186,-5,163,-28,160,-29,158,-30,156,-30,153,-29,150,-27,147,-24,145,-20,145,276,147,280,149,282,152,284,157,284,160,283,169,277,178,268,187,260,197,251,206,243,216,236,428,-54,118,271,115,274,111,280,110,282,110,285,111,287,111,288,112,290,113,291,115,292,117,294,121,295,124,296,153,296,166,297,178,298,190,300,190,315,182,314,173,313,125,313,103,315,81,318,60,324,39,331,35,328,43,306,48,285,51,263,53,241,54,219,53,210,53,193,52,184,51,176,65,176,68,188,70,214,70,243,72,249,73,251,76,254,77,254,78,255,83,255,85,254,88,254,92,252,404,-77,425,331,403,324,382,318,360,315,338,313,289,313,281,314,272,315,272,300,284,298,297,297,309,296,339,296,342,295,346,294,348,292,350,291,351,290,352,288,353,287,353,282,352,280,348,274,345,271, 69,-5,74,-34,78,-13,78,-13,74,-34,94,-58,78,-13,94,-58,88,-22,88,-22,94,-58,90,-25,91,280,93,282,94,312,94,312,93,282,96,283,94,312,96,283,112,337,112,337,96,283,98,284,112,337,98,284,100,285,100,285,104,284,112,337,112,337,104,284,107,281,112,337,107,281,109,278,110,-25,107,-28,111,-83,111,-83,107,-28,105,-29,111,-83,105,-29,102,-30,102,-30,99,-29,111,-83,111,-83,99,-29,96,-28,111,-83,96,-28,94,-58,94,-58,96,-28,93,-27,94,-58,93,-27,90,-25,109,278,111,275,112,337,112,337,111,275,112,272,112,272,126,-111,126,365,126,365,126,-111,131,-111,126,365,131,-111,131,365,131,365,131,-111,145,-83,131,365,145,-83,145,271,145,271,145,-83,145,-17,88,277,91,280,94,312,88,277,94,312,79,269,79,269,94,312,74,288,79,269,74,288,70,260,70,260,74,288,60,252,53,267,31,247,40,237,53,267,40,237,50,244,53,267,50,244,60,252,53,267,60,252,74,288,147,280,149,282,162,312,162,312,149,282,152,284,162,312,152,284,155,284,155,284,157,284,162,312,162,312,157,284,160,283,162,312,160,283,163,281,187,260,197,251,203,266,203,266,197,251,206,243,203,266,206,243,225,246,225,246,206,243,216,236,182,288,162,312,163,281,182,288,163,281,166,279,182,288,166,279,169,277,182,288,169,277,178,268,182,288,178,268,187,260,182,288,187,260,203,266,145,337,131,365,145,271,145,337,145,271,145,276,145,337,145,276,147,280,145,337,147,280,162,312,163,-28,160,-29,162,-58,162,-58,160,-29,158,-30,162,-58,158,-30,156,-30,156,-30,153,-29,162,-58,162,-58,153,-29,150,-27,162,-58,150,-27,147,-24,186,-5,177,-14,181,-34,181,-34,177,-14,168,-23,181,-34,168,-23,165,-26,206,10,196,2,203,-12,206,10,203,-12,225,7,206,10,225,7,215,17,186,-5,181,-34,203,-12,186,-5,203,-12,196,2,163,-28,162,-58,181,-34,163,-28,181,-34,165,-26,145,-20,145,-17,145,-83,145,-20,145,-83,162,-58,145,-20,162,-58,147,-24,112,-16,111,-21,111,-83,112,-16,111,-83,126,-111,112,-16,126,-111,112,272,59,2,49,10,53,-12,59,2,53,-12,74,-34,59,2,74,-34,69,-5,40,17,30,7,53,-12,40,17,53,-12,49,10,110,-25,111,-83,111,-21,112,337,112,272,126,365, 428,-54,118,271,115,274,111,280,110,282,110,285,111,287,111,288,112,290,113,291,115,292,117,294,121,295,124,296,153,296,166,297,178,298,190,300,190,315,182,314,173,313,125,313,103,315,81,318,60,324,39,331,35,328,43,306,48,285,51,263,53,241,54,219,53,210,53,193,52,184,51,176,65,176,68,188,70,214,70,243,72,249,73,251,76,254,77,254,78,255,83,255,85,254,88,254,92,252,404,-77,425,331,403,324,382,318,360,315,338,313,289,313,281,314,272,315,272,300,284,298,297,297,309,296,339,296,342,295,346,294,348,292,350,291,351,290,352,288,353,287,353,282,352,280,348,274,345,271,35,-54,59,-77,372,252,373,253,375,254,377,254,380,255,385,255,387,254,388,254,388,253,390,251,391,249,392,246,392,226,393,214,395,188,397,176,411,176,411,185,410,193,410,241,412,263,415,285,421,307,428,328, 48,285,51,263,60,324,60,324,51,263,53,241,60,324,53,241,54,219,54,219,53,210,65,176,65,176,53,210,53,201,65,176,53,201,53,193,60,324,39,331,43,306,60,324,43,306,48,285,77,254,78,255,81,318,81,318,78,255,79,255,81,318,79,255,80,255,80,255,83,255,81,318,81,318,83,255,103,315,81,318,60,324,71,246,81,318,71,246,72,249,81,318,72,249,73,251,81,318,73,251,75,253,81,318,75,253,76,254,81,318,76,254,77,254,65,176,68,188,70,243,70,243,68,188,69,201,70,243,69,201,70,239,70,239,69,201,70,214,70,239,70,214,70,226,60,324,54,219,65,176,60,324,65,176,70,243,60,324,70,243,71,246,52,184,51,176,65,176,52,184,65,176,53,193,103,315,92,252,110,282,103,315,110,282,110,284,110,284,110,285,103,315,103,315,110,285,111,287,103,315,111,287,111,288,103,315,83,255,85,254,103,315,85,254,88,254,103,315,88,254,90,253,103,315,90,253,92,252,103,315,111,288,125,313,125,313,111,288,112,290,125,313,112,290,113,291,113,291,115,292,125,313,125,313,115,292,117,294,125,313,117,294,121,295,147,313,127,296,140,296,147,313,140,296,153,296,147,313,147,312,125,313,147,313,125,313,127,296,165,313,166,297,173,313,173,313,166,297,178,298,173,313,178,298,182,314,182,314,178,298,190,300,182,314,190,300,190,315,156,313,147,312,147,313,156,313,147,313,153,296,156,313,153,296,166,297,156,313,166,297,165,313,124,296,127,296,125,313,124,296,125,313,121,295,428,-54,118,271,404,-77,404,-77,118,271,115,274,404,-77,115,274,92,252,92,252,115,274,113,277,92,252,113,277,111,280,43,306,39,331,35,328,92,252,111,280,110,282, 425,331,403,324,382,318,360,315,338,313,289,313,281,314,272,315,272,300,284,298,297,297,309,296,339,296,342,295,346,294,348,292,350,291,351,290,352,288,353,287,353,282,352,280,348,274,345,271,35,-54,59,-77,372,252,373,253,375,254,377,254,380,255,385,255,387,254,388,254,388,253,390,251,391,249,392,246,392,226,393,214,395,188,397,176,411,176,411,185,410,193,410,241,412,263,415,285,421,307,428,328,428,-74,421,-53,415,-31,412,-9,410,12,410,60,411,68,411,76,397,77,395,65,392,26,392,7,391,4,390,2,387,-1,380,-1,377,0,373,0,372,2,59,331,35,307,345,-17,348,-20,352,-26,353,-28,353,-33,352,-34,351,-36,350,-36,346,-40,342,-41,335,-41,322,-42,309,-42,297,-43,284,-45,272,-46,272,-60,281,-60,289,-59,338,-59,360,-61,382,-65,403,-70,425,-77,428,307,404,331,92,2,90,0,88,0, 272,315,272,315,281,314,281,314,272,315,284,298,281,314,284,298,289,313,289,313,284,298,297,297,289,313,297,297,298,313,298,313,297,297,309,296,298,313,309,296,307,313,307,313,309,296,315,313,338,313,315,313,322,296,338,313,322,296,335,296,375,254,377,254,382,318,382,318,377,254,380,255,382,318,380,255,382,255,382,255,384,255,403,324,403,324,384,255,385,255,403,324,385,255,387,254,353,285,353,284,360,315,360,315,353,284,372,252,360,315,372,252,382,318,382,318,372,252,373,253,382,318,373,253,375,254,372,252,353,284,353,282,372,252,353,282,352,280,372,252,352,280,350,277,372,252,350,277,348,274,372,252,348,274,345,271,372,252,345,271,59,-77,410,193,410,201,403,324,403,324,410,201,410,210,403,324,410,210,410,219,410,219,410,241,403,324,403,324,410,241,412,263,403,324,412,263,415,285,403,324,415,285,425,331,425,331,415,285,421,307,425,331,421,307,428,328,395,188,397,176,403,324,403,324,397,176,411,176,403,324,411,176,410,193,410,193,411,176,411,185,403,324,387,254,388,254,403,324,388,254,388,253,403,324,388,253,390,251,403,324,390,251,391,249,403,324,391,249,392,246,403,324,392,246,392,243,403,324,392,243,392,239,403,324,392,239,392,226,403,324,392,226,393,214,403,324,393,214,394,201,403,324,394,201,395,188,403,324,382,318,382,255,360,315,338,313,339,296,360,315,339,296,342,295,360,315,342,295,346,294,360,315,346,294,348,292,360,315,348,292,350,291,360,315,350,291,351,290,360,315,351,290,352,288,360,315,352,288,353,287,360,315,353,287,353,285,335,296,339,296,338,313,315,313,309,296,322,296,59,-77,345,271,35,-54,284,298,272,315,272,300, 428,-74,421,-53,415,-31,412,-9,410,12,410,60,411,68,411,76,397,77,395,65,392,26,392,7,391,4,390,2,387,-1,380,-1,377,0,373,0,372,2,59,331,35,307,345,-17,348,-20,352,-26,353,-28,353,-33,352,-34,351,-36,350,-36,346,-40,342,-41,335,-41,322,-42,309,-42,297,-43,284,-45,272,-46,272,-60,281,-60,289,-59,338,-59,360,-61,382,-65,403,-70,425,-77,428,307,404,331,92,2,90,0,88,0,85,-1,77,-1,76,0,75,0,73,2,72,4,70,10,70,39,68,65,65,77,51,76,53,60,53,43,54,35,53,12,51,-9,48,-31,43,-53,35,-74,39,-77,60,-70,81,-65,103,-61,125,-59,173,-59,182,-60,190,-60,190,-46,178,-45,166,-43,153,-42,140,-42,127,-41,121,-41,117,-40,113,-36,112,-36,111,-34,111,-33,110,-32, 335,-41,322,-42,338,-59,338,-59,322,-42,315,-59,307,-59,315,-59,309,-42,307,-59,309,-42,298,-59,298,-59,309,-42,297,-43,298,-59,297,-43,289,-59,289,-59,297,-43,284,-45,289,-59,284,-45,281,-60,281,-60,284,-45,272,-46,281,-60,272,-46,272,-60,322,-42,309,-42,315,-59,353,-33,352,-34,360,-61,360,-61,352,-34,351,-36,360,-61,351,-36,350,-36,372,2,59,331,345,-17,372,2,345,-17,348,-20,372,2,348,-20,350,-23,372,2,350,-23,352,-26,372,2,352,-26,353,-28,372,2,353,-28,353,-30,372,2,353,-30,360,-61,372,2,360,-61,382,-65,372,2,382,-65,373,0,387,-1,385,-1,403,-70,403,-70,385,-1,384,-1,403,-70,384,-1,382,-1,382,-1,380,-1,382,-65,382,-65,380,-1,377,0,382,-65,377,0,375,0,360,-61,353,-30,353,-32,360,-61,353,-32,353,-33,393,39,392,26,403,-70,403,-70,392,26,392,14,403,-70,392,14,392,10,415,-31,412,-9,403,-70,403,-70,412,-9,410,12,403,-70,410,12,410,35,410,35,410,43,403,-70,403,-70,410,43,410,52,403,-70,410,52,410,60,411,76,397,77,403,-70,411,76,403,-70,410,60,411,76,410,60,411,68,403,-70,397,77,395,65,403,-70,395,65,394,52,403,-70,394,52,393,39,403,-70,392,10,392,7,403,-70,392,7,391,4,403,-70,391,4,390,2,403,-70,390,2,388,0,403,-70,388,0,387,-1,382,-1,382,-65,403,-70,425,-77,428,-74,421,-53,425,-77,421,-53,415,-31,425,-77,415,-31,403,-70,360,-61,350,-36,348,-38,360,-61,348,-38,346,-40,360,-61,346,-40,342,-41,360,-61,342,-41,339,-41,360,-61,339,-41,338,-59,339,-41,335,-41,338,-59,345,-17,59,331,35,307,373,0,382,-65,375,0, 428,307,404,331,92,2,90,0,88,0,85,-1,77,-1,76,0,75,0,73,2,72,4,70,10,70,39,68,65,65,77,51,76,53,60,53,43,54,35,53,12,51,-9,48,-31,43,-53,35,-74,39,-77,60,-70,81,-65,103,-61,125,-59,173,-59,182,-60,190,-60,190,-46,178,-45,166,-43,153,-42,140,-42,127,-41,121,-41,117,-40,113,-36,112,-36,111,-34,111,-33,110,-32,110,-28,111,-26,115,-20,118,-17,433,110,433,143,300,143,349,225,320,225,272,143,119,143,113,147,111,153,111,155,113,161,115,164,127,176,135,186,144,196,152,206,159,215,149,225,129,202,107,181,83,161,58,143,30,129,30,124,58,110,83,93,107,73,128,51,148,29,158,39,151,49,143,59,135,68,126,78,115,89,113,92,111,96,110,99,111,102,114,105,120,109,123,110,252,110,204,29,233,29,281,110,433,129,405,143,380,161, 78,-1,81,-65,79,-1,79,-1,81,-65,80,-1,83,-1,80,-1,81,-65,83,-1,81,-65,103,-61,111,-34,111,-33,103,-61,103,-61,111,-33,110,-32,103,-61,110,-32,110,-30,110,-30,110,-28,103,-61,103,-61,110,-28,92,2,103,-61,92,2,90,0,115,-20,118,-17,404,331,115,-20,404,331,92,2,404,331,118,-17,428,307,92,2,110,-28,111,-26,92,2,111,-26,113,-23,92,2,113,-23,115,-20,103,-61,90,0,88,0,103,-61,88,0,85,-1,103,-61,85,-1,83,-1,147,-59,140,-42,127,-41,147,-59,127,-41,125,-59,147,-59,153,-42,140,-42,156,-59,165,-59,166,-43,166,-43,165,-59,173,-59,166,-43,173,-59,178,-45,178,-45,173,-59,182,-60,178,-45,182,-60,190,-46,190,-46,182,-60,190,-60,156,-59,166,-43,153,-42,156,-59,153,-42,147,-59,121,-41,117,-40,125,-59,125,-59,117,-40,115,-38,125,-59,115,-38,113,-36,124,-41,121,-41,125,-59,124,-41,125,-59,127,-41,125,-59,113,-36,112,-36,125,-59,112,-36,111,-34,125,-59,111,-34,103,-61,81,-65,78,-1,77,-1,81,-65,77,-1,76,0,81,-65,76,0,75,0,81,-65,75,0,73,2,81,-65,73,2,72,4,81,-65,72,4,71,7,81,-65,71,7,60,-70,70,10,70,14,69,52,70,10,69,52,68,65,70,10,68,65,65,77,70,10,65,77,60,-70,70,10,60,-70,71,7,70,39,69,52,70,14,70,39,70,14,70,26,60,-70,65,77,54,35,60,-70,54,35,53,12,60,-70,53,12,51,-9,60,-70,51,-9,48,-31,60,-70,48,-31,43,-53,60,-70,43,-53,39,-77,53,60,53,51,65,77,65,77,53,51,53,43,65,77,53,43,54,35,65,77,51,76,52,68,65,77,52,68,53,60,43,-53,35,-74,39,-77, 279,331,243,331,206,232,74,232,36,331,1,331,123,0,156,0,16383,16383,195,201,140,51,84,201,202,110,169,110,169,65,165,48,155,37,141,30,128,27,117,26,107,26,92,29,78,36,67,47, 156,0,279,331,195,201,195,201,279,331,206,232,195,201,206,232,84,201,84,201,206,232,74,232,84,201,74,232,123,0,123,0,74,232,36,331,123,0,36,331,1,331,140,51,84,201,123,0,140,51,123,0,156,0,140,51,156,0,195,201,206,232,279,331,243,331, 202,110,169,110,169,65,165,48,155,37,141,30,128,27,117,26,107,26,92,29,78,36,67,47,63,65,63,308,67,326,78,337,92,344,105,346,116,347,126,347,140,344,154,338,165,326,169,307,169,262,202,262,202,305,196,339,180,360,158,373,136,379,117,380,97,379,74,373,52,361,36,339,30,306,30,65,36,32,51,11,72,0,94,-5,114,-6,134,-5,157,0,179,10,196,30,202,61,98,313,112,317,119,318,127,319,134,319,161,314,179,300,191,279,198,255,200,228,200,221,199,214,199,207,198,200,196,194,189,203,180,210,169,214,159,217,148,218,107,210,72,188,44,156,26,117,20,75,22,51,30,29,43,11,62,0,88,-5,148,9,190,47,217,98,231,154,235,204,232,250,220,287,202,313,175,329,142,334,131,334,121,333,101,327,93,323,16383,16383,184,160,182,140,180,131, 105,346,116,347,116,347,117,380,116,347,126,347,117,380,126,347,136,379,136,379,126,347,140,344,136,379,140,344,158,373,158,373,140,344,154,338,158,373,154,338,165,326,202,305,196,339,202,262,202,262,196,339,180,360,202,262,180,360,169,307,169,307,180,360,165,326,78,337,92,344,97,379,97,379,92,344,105,346,97,379,105,346,117,380,117,380,105,346,116,347,74,373,52,361,63,308,74,373,63,308,67,326,74,373,67,326,78,337,74,373,78,337,97,379,30,306,30,65,36,32,30,306,36,32,36,339,36,339,36,32,51,11,36,339,51,11,52,361,52,361,51,11,63,65,52,361,63,65,63,308,165,48,155,37,157,0,157,0,155,37,141,30,157,0,141,30,134,-5,134,-5,141,30,128,27,134,-5,128,27,117,26,117,26,107,26,114,-6,114,-6,107,26,94,-5,107,26,92,29,94,-5,94,-5,92,29,78,36,94,-5,78,36,72,0,72,0,78,36,67,47,72,0,67,47,63,65,63,65,51,11,72,0,202,110,169,110,179,10,202,110,179,10,196,30,202,110,196,30,202,61,179,10,169,110,169,65,179,10,169,65,165,48,179,10,165,48,157,0,117,26,114,-6,134,-5,202,262,169,307,169,262,158,373,165,326,180,360, 98,313,112,317,119,318,127,319,134,319,161,314,179,300,191,279,198,255,200,228,200,221,199,214,199,207,198,200,196,194,189,203,180,210,169,214,159,217,148,218,107,210,72,188,44,156,26,117,20,75,22,51,30,29,43,11,62,0,88,-5,148,9,190,47,217,98,231,154,235,204,232,250,220,287,202,313,175,329,142,334,131,334,121,333,101,327,93,323,16383,16383,184,160,182,140,180,131,178,121,176,110,166,80,152,53,135,30,116,15,94,9,78,13,68,21,63,33,61,46,60,59,65,100,79,139,99,172,124,194,153,203,161,201,169,197,177,189,182,176,184,160,243,0,243,331,36,331,36,298,210,298,210,182,42,182,42,149,210,149,210,33,36,33,36,0,243,0,243,331,199,331,219,387,190,387,170,331,36,331,36,298,159,298,119,182,42,182,42,149,108,149,68,33,36,33,36,0,56,0,36,-60,65,-60,85,0,16383,16383,210,182,148,182,188,298,210,298,16383,16383,210,33,97,33,137,149,210,149,353,291,318,291,289,258,272,270,253,279,233,285,212,290,190,291,138,283,93,259,57,223,34,178,25,126,27,100,33,75,43,51,56,30,72,11,28,-39,63,-39,92,-6,110,-17,129,-26,148,-33,169,-37,190,-39,242,-30,288,-6, 127,319,134,319,134,319,142,334,134,319,161,314,142,334,161,314,175,329,175,329,161,314,179,300,175,329,179,300,202,313,202,313,179,300,191,279,202,313,191,279,198,255,112,317,119,318,121,333,121,333,119,318,127,319,121,333,127,319,131,334,131,334,127,319,134,319,131,334,134,319,142,334,93,323,98,313,101,327,101,327,98,313,105,315,101,327,105,315,111,330,111,330,105,315,112,317,111,330,112,317,121,333,152,53,135,30,148,9,148,9,135,30,116,15,148,9,116,15,94,9,94,9,78,13,88,-5,88,-5,78,13,68,21,88,-5,68,21,62,0,62,0,68,21,63,33,62,0,63,33,61,46,61,46,60,59,62,0,62,0,60,59,44,156,44,156,60,59,72,188,72,188,60,59,65,100,20,75,22,51,26,117,26,117,22,51,30,29,26,117,30,29,44,156,44,156,30,29,43,11,44,156,43,11,62,0,159,217,153,203,161,201,159,217,161,201,169,214,169,214,161,201,169,197,169,214,169,197,180,210,180,210,169,197,177,189,180,210,177,189,182,176,79,139,99,172,107,210,107,210,99,172,124,194,107,210,124,194,148,218,148,218,124,194,153,203,148,218,153,203,159,217,72,188,65,100,79,139,72,188,79,139,107,210,182,140,180,131,190,47,190,47,180,131,178,121,190,47,178,121,176,110,176,110,166,80,190,47,190,47,166,80,152,53,190,47,152,53,148,9,198,200,196,194,217,98,217,98,196,194,190,47,190,47,196,194,189,203,190,47,189,203,184,160,184,160,189,203,182,176,190,47,184,160,183,150,190,47,183,150,182,140,94,9,88,-5,148,9,235,204,232,250,231,154,231,154,232,250,220,287,231,154,220,287,217,98,217,98,220,287,202,313,217,98,202,313,200,228,200,228,202,313,198,255,217,98,200,228,200,221,217,98,200,221,199,214,217,98,199,214,199,207,217,98,199,207,198,200,180,210,182,176,189,203, 243,0,243,331,36,331,36,298,210,298,210,182,42,182,42,149,210,149,210,33,36,33,36,0,243,0,243,331,199,331,219,387,190,387,170,331,36,331,36,298,159,298,119,182,42,182,42,149, 42,182,210,149,210,182,210,182,210,149,243,0,210,182,243,0,210,298,210,298,243,0,243,331,210,298,243,331,36,331,243,0,210,149,210,33,243,0,210,33,36,33,243,0,36,33,36,0,210,298,36,331,36,298,210,149,42,182,42,149, 243,0,243,331,199,331,219,387,190,387,170,331,36,331,36,298,159,298,119,182,42,182,42,149,108,149,68,33,36,33,36,0,56,0,36,-60,65,-60,85,0,16383,16383,210,182,148,182,188,298,210,298,16383,16383,210,33,97,33,137,149,210,149,353,291,318,291,289,258,272,270,253,279,233,285,212,290,190,291,138,283,93,259,57,223,34,178,25,126,27,100,33,75,43,51,56,30,72,11,28,-39,63,-39,92,-6,110,-17,129,-26,148,-33,169,-37,190,-39,242,-30,288,-6,324,28,348,74, 36,331,159,298,170,331,170,331,159,298,188,298,170,331,188,298,190,387,190,387,188,298,199,331,190,387,199,331,219,387,159,298,137,149,148,182,148,182,137,149,210,149,148,182,210,149,210,182,210,182,210,149,243,0,210,182,243,0,210,298,210,298,243,0,243,331,210,298,243,331,199,331,159,298,119,182,137,149,137,149,119,182,108,149,137,149,108,149,97,33,97,33,108,149,85,0,97,33,85,0,243,0,68,33,36,33,56,0,68,33,56,0,65,-60,68,33,65,-60,85,0,68,33,85,0,108,149,210,33,97,33,243,0,210,33,243,0,210,149,42,182,42,149,108,149,42,182,108,149,119,182,65,-60,56,0,36,-60,159,298,36,331,36,298,56,0,36,33,36,0,159,298,148,182,188,298,199,331,188,298,210,298, 353,291,318,291,289,258,272,270,253,279,233,285,212,290,190,291,138,283,93,259,57,223,34,178,25,126,27,100,33,75,43,51,56,30,72,11,28,-39,63,-39,92,-6,110,-17,129,-26,148,-33,169,-37,190,-39,242,-30,288,-6,324,28,348,74,356,126,354,152,348,176,338,200,325,221,309,241,16383,16383,287,217,300,201,310,184,317,166,322,147,323,127,316,85,297,48,269,19,232,0,190,-6,174,-5,158,-2,142,2,127,9,113,18,16383,16383,94,36,81,51,71,68,64,86,60,106,58,127,65,168,84,205,112,233,148,252,190,258,208,257,225,254,241,248,256,241,267,233,333,0,185,337,175,337,31,0,16383,16383,272,21,63,21,167,267,334,331,31,331,180,-5,190,-5,16383,16383,302,310,197,64,93,310,313,-12,313,20,167,20,137,24,111,37,89,57,73,82,64,109,313,109,313,142,65,142,74,170,90,195,112,215,138,228,167,233,313,233,313,266,166,266,121,258,84,238,55,207,37,169,30,126,37,83,55,45,84,14,122,-5,167,-12,313,-12,313,20,154,20,148,22,142,23,136,25,179,109,313,109,313,142,195,142,239,233,313,233,313,266,256,266,289,331,257,331,225,266,166,266,121,258,84,238,55,207,37,169,30,126,33,97,42,70, 323,127,316,85,324,28,324,28,316,85,297,48,324,28,297,48,288,-6,288,-6,297,48,269,19,288,-6,269,19,242,-30,242,-30,269,19,232,0,242,-30,232,0,190,-39,190,-39,232,0,190,-6,127,9,129,-26,142,2,142,2,129,-26,148,-33,142,2,148,-33,158,-2,158,-2,148,-33,169,-37,158,-2,169,-37,174,-5,174,-5,169,-37,190,-39,174,-5,190,-39,190,-6,127,9,113,18,129,-26,267,233,113,18,287,217,267,233,287,217,272,270,129,-26,113,18,110,-17,110,-17,113,18,94,36,110,-17,94,36,92,-6,92,-6,94,36,81,51,92,-6,81,51,72,11,72,11,81,51,71,68,72,11,71,68,64,86,58,127,65,168,57,223,58,127,57,223,56,30,58,127,56,30,60,106,60,106,56,30,72,11,60,106,72,11,64,86,27,100,33,75,34,178,34,178,33,75,43,51,34,178,43,51,57,223,57,223,43,51,56,30,267,233,272,270,256,241,256,241,272,270,253,279,256,241,253,279,241,248,241,248,253,279,233,285,241,248,233,285,225,254,225,254,233,285,212,290,225,254,212,290,208,257,208,257,212,290,190,258,148,252,190,258,190,291,148,252,190,291,138,283,65,168,84,205,93,259,93,259,84,205,112,233,93,259,112,233,138,283,138,283,112,233,148,252,212,290,190,291,190,258,318,291,289,258,300,201,318,291,300,201,309,241,318,291,309,241,353,291,289,258,272,270,287,217,289,258,287,217,300,201,63,-39,92,-6,72,11,63,-39,72,11,28,-39,348,176,338,200,348,74,348,176,348,74,356,126,348,176,356,126,354,152,325,221,309,241,310,184,325,221,310,184,317,166,325,221,317,166,322,147,325,221,322,147,323,127,325,221,323,127,324,28,325,221,324,28,348,74,325,221,348,74,338,200,310,184,309,241,300,201,94,36,113,18,267,233,57,223,65,168,93,259,27,100,34,178,25,126, 333,0,185,337,175,337,31,0,16383,16383,272,21,63,21,167,267,334,331,31,331,180,-5,190,-5,16383,16383,302,310,197,64,93,310, 175,337,31,0,63,21,63,21,31,0,333,0,63,21,333,0,272,21,272,21,333,0,185,337,272,21,185,337,175,337,175,337,63,21,167,267,175,337,167,267,272,21, 334,331,31,331,180,-5,190,-5,16383,16383,302,310,197,64,93,310,313,-12,313,20,167,20,137,24,111,37,89,57,73,82,64,109, 334,331,31,331,93,310,334,331,93,310,302,310,334,331,302,310,197,64,334,331,197,64,190,-5,180,-5,190,-5,197,64,180,-5,197,64,93,310,180,-5,93,310,31,331, 313,-12,313,20,167,20,137,24,111,37,89,57,73,82,64,109,313,109,313,142,65,142,74,170,90,195,112,215,138,228,167,233,313,233,313,266,166,266,121,258,84,238,55,207,37,169,30,126,37,83,55,45,84,14,122,-5,167,-12,313,-12,313,20,154,20,148,22,142,23,136,25,179,109,313,109,313,142,195,142,239,233,313,233,313,266,256,266,289,331,257,331,225,266,166,266,121,258,84,238,55,207,37,169,30,126,33,97,42,70,55,45,73,24,96,7,54,-78, 55,45,84,14,64,109,64,109,65,142,55,45,55,45,65,142,55,207,55,45,55,207,37,83,37,83,55,207,37,169,37,83,37,169,30,126,65,142,64,109,313,109,65,142,313,109,313,142,90,195,112,215,121,258,121,258,112,215,138,228,121,258,138,228,166,266,166,266,138,228,167,233,166,266,167,233,313,266,313,266,167,233,313,233,84,238,55,207,65,142,84,238,65,142,74,170,84,238,74,170,90,195,84,238,90,195,121,258,167,-12,313,-12,313,20,167,-12,313,20,167,20,167,-12,167,20,137,24,167,-12,137,24,122,-5,137,24,111,37,122,-5,122,-5,111,37,89,57,122,-5,89,57,84,14,84,14,89,57,73,82,84,14,73,82,64,109, 313,-12,313,20,154,20,148,22,142,23,136,25,179,109,313,109,313,142,195,142,239,233,313,233,313,266,256,266,289,331,257,331,225,266,166,266,121,258,84,238,55,207,37,169,30,126,33,97,42,70,55,45,73,24,96,7,54,-78,84,-78,121,-5,130,-7,139,-10,157,-12,167,-12,16383,16383,209,233,164,142,65,142,74,170,90,195,112,215,138,228,167,233,16383,16383,147,109,112,37,98,49,86,62,76,77,69,93,64,109,211,22,211,55,138,55,116,57,97,64,83,75,72,90,65,109,211,109,211,142,65,142,72,162,82,177,97,188,115,194,137,196,211,196,211,229,137,229,102,224,73,210,51,188,37,159,32,126,37,93,51,65,73,42,102,28,137,22,30,266,30,233,175,233,205,228,231,215,253,195,269,170,278,142,30,142,30,109,278,109,269,82,253,57,232,37,205,24,175,20,30,20,30,-12,175,-12,220,-5,258,14,287,45,306,83, 96,7,96,7,84,-78,96,7,84,-78,121,-5,96,7,121,-5,98,49,96,7,98,49,86,62,96,7,86,62,76,77,96,7,76,77,73,24,55,45,73,24,64,109,64,109,73,24,69,93,69,93,73,24,76,77,161,20,154,20,157,-12,157,-12,154,20,148,22,157,-12,148,22,148,-11,148,-11,148,22,142,23,148,-11,142,23,139,-10,139,-10,142,23,136,25,139,-10,136,25,130,-7,147,109,112,37,121,-5,147,109,121,-5,130,-7,147,109,130,-7,136,25,147,109,136,25,179,109,147,109,179,109,164,142,147,109,164,142,65,142,147,109,65,142,64,109,167,-12,313,-12,313,20,167,-12,313,20,167,20,167,-12,167,20,161,20,167,-12,161,20,157,-12,90,195,112,215,121,258,121,258,112,215,138,228,121,258,138,228,166,266,166,266,138,228,167,233,166,266,167,233,225,266,225,266,167,233,209,233,225,266,209,233,239,233,239,233,209,233,195,142,256,266,289,331,257,331,256,266,257,331,239,233,256,266,239,233,313,233,256,266,313,233,313,266,179,109,313,109,195,142,179,109,195,142,209,233,179,109,209,233,164,142,84,238,55,207,65,142,84,238,65,142,74,170,84,238,74,170,90,195,84,238,90,195,121,258,30,126,33,97,37,169,37,169,33,97,42,70,37,169,42,70,55,207,55,207,42,70,55,45,55,207,55,45,65,142,65,142,55,45,64,109,195,142,313,109,313,142,84,-78,96,7,54,-78,98,49,121,-5,112,37,225,266,239,233,257,331, 211,22,211,55,138,55,116,57,97,64,83,75,72,90,65,109,211,109,211,142,65,142,72,162,82,177,97,188,115,194,137,196,211,196,211,229,137,229,102,224,73,210,51,188,37,159,32,126,37,93,51,65,73,42,102,28,137,22,30,266,30,233,175,233,205,228,231,215,253,195,269,170,278,142,30,142,30,109,278,109,269,82,253,57,232,37,205,24,175,20,30,20,30,-12,175,-12,220,-5,258,14,287,45,306,83,312,126,313,126,306,169,288,207,259,238,222,258, 83,75,72,90,73,42,73,42,72,90,65,109,73,42,65,109,51,188,73,42,51,188,51,65,51,65,51,188,37,159,51,65,37,159,37,93,37,93,37,159,32,126,82,177,97,188,102,224,102,224,97,188,115,194,102,224,115,194,137,229,137,229,115,194,137,196,51,188,65,109,65,142,65,142,65,109,211,142,211,142,65,109,211,109,211,229,137,229,137,196,211,229,137,196,211,196,73,210,51,188,65,142,73,210,65,142,72,162,73,210,72,162,82,177,73,210,82,177,102,224,97,64,102,28,116,57,116,57,102,28,137,22,116,57,137,22,138,55,138,55,137,22,211,22,138,55,211,22,211,55,83,75,73,42,102,28,83,75,102,28,97,64, 30,266,30,233,175,233,205,228,231,215,253,195,269,170,278,142,30,142,30,109,278,109,269,82,253,57,232,37,205,24,175,20,30,20,30,-12,175,-12,220,-5,258,14,287,45,306,83,312,126,313,126,306,169,288,207,259,238,222,258,177,266,289,331,257,331,222,258,213,261,204,263,196,264,186,265,177,266,30,266,30,233,175,233,182,232,188,232,194,231,200,229,206,228,164,142,30,142,30,109,147,109,103,20,30,20,30,-12,86,-12,54,-78,84,-78,117,-12,175,-12,220,-5,258,14, 269,82,253,57,258,14,258,14,253,57,232,37,258,14,232,37,220,-5,220,-5,232,37,205,24,220,-5,205,24,175,20,177,266,30,266,175,233,177,266,175,233,205,228,177,266,205,228,222,258,312,126,306,169,306,83,306,83,306,169,288,207,306,83,288,207,287,45,287,45,288,207,278,109,287,45,278,109,269,82,231,215,253,195,259,238,259,238,253,195,269,170,259,238,269,170,288,207,288,207,269,170,278,142,288,207,278,142,278,109,222,258,205,228,231,215,222,258,231,215,259,238,175,-12,220,-5,175,20,175,-12,175,20,30,20,175,-12,30,20,30,-12,278,109,278,142,30,142,278,109,30,142,30,109,269,82,258,14,287,45,175,233,30,266,30,233, 289,331,257,331,222,258,213,261,204,263,196,264,186,265,177,266,30,266,30,233,175,233,182,232,188,232,194,231,200,229,206,228,164,142,30,142,30,109,147,109,103,20,30,20,30,-12,86,-12,54,-78,84,-78,117,-12,175,-12,220,-5,258,14,287,45,306,83,312,126,313,126,310,155,301,183,287,208,269,229,247,247,16383,16383,195,142,230,214,244,203,256,190,266,175,273,159,278,142,16383,16383,278,109,269,82,253,57,232,37,205,24,175,20,133,20,179,109,32,229,32,196,105,196,128,194,146,188,161,177,171,162,177,142,32,142,32,109,177,109,171,90,161,75,146,64,127,57,105,55,32,55,32,22,107,22,141,28,170,42,192,65,206,93,211,126,206,159,192,188,170,210,140,224,105,229,243,0,243,320,30,320,30,0,474,-128,474,-115,465,-115,447,-112,433,-104,424,-92,418,-74,416,-51,416,307,418,330,423,347,434,359,451,366,474,368,474,382,26,382,26,368,35,368,52,366,66,360,76,349,83,331,85,305, 86,-12,54,-78,84,-78,86,-12,84,-78,117,-12,86,-12,117,-12,103,20,86,-12,103,20,30,20,86,-12,30,20,30,-12,147,109,103,20,117,-12,147,109,117,-12,133,20,147,109,133,20,179,109,147,109,179,109,164,142,147,109,164,142,30,142,147,109,30,142,30,109,269,82,253,57,258,14,258,14,253,57,232,37,258,14,232,37,220,-5,220,-5,232,37,205,24,220,-5,205,24,175,20,195,142,230,214,206,228,206,228,213,261,204,263,206,228,204,263,200,229,200,229,204,263,196,264,200,229,196,264,194,231,194,231,196,264,188,232,30,266,175,233,177,266,177,266,175,233,182,232,177,266,182,232,186,265,186,265,182,232,188,232,186,265,188,232,196,264,257,331,222,258,230,214,257,331,230,214,247,247,257,331,247,247,289,331,230,214,244,203,247,247,247,247,244,203,256,190,247,247,256,190,269,229,269,229,256,190,266,175,269,229,266,175,273,159,213,261,206,228,230,214,213,261,230,214,222,258,273,159,278,142,287,208,278,109,278,142,195,142,278,109,195,142,179,109,179,109,195,142,206,228,179,109,206,228,164,142,312,126,310,155,306,83,306,83,310,155,301,183,306,83,301,183,287,45,287,45,301,183,287,208,287,45,287,208,278,109,278,109,287,208,278,142,269,82,258,14,287,45,269,82,287,45,278,109,175,-12,220,-5,175,20,175,-12,175,20,133,20,175,-12,133,20,117,-12,269,229,273,159,287,208,175,233,30,266,30,233, 32,229,32,196,105,196,128,194,146,188,161,177,171,162,177,142,32,142,32,109,177,109,171,90,161,75,146,64,127,57,105,55,32,55,32,22,107,22,141,28,170,42,192,65,206,93,211,126,206,159,192,188,170,210,140,224,105,229,243,0,243,320,30,320,30,0,474,-128,474,-115,465,-115,447,-112,433,-104,424,-92,418,-74,416,-51,416,307,418,330,423,347,434,359,451,366,474,368,474,382,26,382,26,368,35,368,52,366,66,360,76,349,83,331,85,305,85,-60,83,-80, 105,229,32,229,105,229,105,229,32,229,105,196,105,229,105,196,140,224,140,224,105,196,128,194,140,224,128,194,146,188,192,188,177,142,192,65,192,65,177,142,177,109,192,65,177,109,171,90,32,142,32,109,177,109,32,142,177,109,177,142,146,188,161,177,170,210,170,210,161,177,171,162,170,210,171,162,192,188,192,188,171,162,177,142,206,159,192,188,192,65,206,159,192,65,206,93,206,159,206,93,211,126,170,42,192,65,171,90,170,42,171,90,161,75,170,42,161,75,146,64,170,42,146,64,141,28,127,57,105,55,107,22,127,57,107,22,141,28,127,57,141,28,146,64,32,55,32,22,107,22,32,55,107,22,105,55,105,196,32,229,32,196,140,224,146,188,170,210, 243,0,243,320,30,320,30,0,474,-128,474,-115,465,-115,447,-112, 243,0,243,320,30,320,243,0,30,320,30,0, 474,-128,474,-115,465,-115,447,-112,433,-104,424,-92,418,-74,416,-51,416,307,418,330,423,347,434,359,451,366,474,368,474,382,26,382,26,368,35,368,52,366,66,360,76,349,83,331,85,305,85,-60,83,-80,77,-95,67,-106,54,-112,36,-115,26,-115,26,-128,210,-128,210,-115,195,-115,177,-112,165,-104,157,-91,152,-72,151,-48,151,349,350,349,350,-48,349,-69,344,-88,337,-102,324,-111,306,-115,290,-115,290,-128,474,-128,474,-115,451,-112,434,-106,423,-94,418,-77,416,-54,416,304,418,327,424,345,433,358,447,365,465,368,474,368,474,382,290,382,290,368,306,368,324,364,337,355,344,341,349,322,350,300,350,-96,151,-96,151,300,152,325,157,344,165,357,177,365,195,368,210,368,210,382,26,382,26,368,36,368,54,366,67,359,77,348,83,333,85,313,85,-53,83,-78,76,-96,66,-107,52,-113,35,-115,26,-115,26,-128, 77,-95,67,-106,210,-128,210,-128,67,-106,54,-112,210,-128,54,-112,36,-115,344,-88,337,-102,474,-128,474,-128,337,-102,324,-111,474,-128,324,-111,306,-115,474,382,26,382,35,368,474,382,35,368,52,366,474,382,52,366,66,360,474,382,66,360,76,349,474,382,76,349,151,349,474,382,151,349,350,349,474,382,350,349,434,359,474,382,434,359,451,366,474,382,451,366,474,368,433,-104,424,-92,350,-48,350,-48,424,-92,418,-74,350,-48,418,-74,350,349,350,349,418,-74,416,-51,350,349,416,-51,416,307,350,349,416,307,418,330,350,349,418,330,423,347,350,349,423,347,434,359,165,-104,157,-91,85,-60,85,-60,157,-91,152,-72,85,-60,152,-72,85,305,85,305,152,-72,151,-48,85,305,151,-48,151,349,83,331,85,305,151,349,83,331,151,349,76,349,474,-128,474,-115,465,-115,474,-128,465,-115,447,-112,474,-128,447,-112,433,-104,474,-128,433,-104,349,-69,474,-128,349,-69,344,-88,290,-115,290,-128,474,-128,290,-115,474,-128,306,-115,210,-128,210,-115,195,-115,210,-128,195,-115,177,-112,210,-128,177,-112,83,-80,210,-128,83,-80,77,-95,85,-60,83,-80,177,-112,85,-60,177,-112,165,-104,26,-115,26,-128,210,-128,26,-115,210,-128,36,-115,349,-69,433,-104,350,-48,35,368,26,382,26,368, 474,-128,474,-115,451,-112,434,-106,423,-94,418,-77,416,-54,416,304,418,327,424,345,433,358,447,365,465,368,474,368,474,382,290,382,290,368,306,368,324,364,337,355,344,341,349,322,350,300,350,-96,151,-96,151,300,152,325,157,344,165,357,177,365,195,368,210,368,210,382,26,382,26,368,36,368,54,366,67,359,77,348,83,333,85,313,85,-53,83,-78,76,-96,66,-107,52,-113,35,-115,26,-115,26,-128,428,20,413,20,405,-7,394,-30,379,-48,357,-59,328,-63,121,-63,289,153,144,349,304,349,339,346,364,336,381,318,392,292,400,256,415,256,415,382,41,382,225,126,29,-128,401,-128,310,110,310,143,32,143,32,110,319,218,319,251,24,251,24,218,16383,16383,319,54,319,86,188,86,188,191,155,191,155,86,24,86,24,54,155,54,155,-43,188,-43,188,54,203,339,201,349,196,358,189,365,180,369,171,371, 76,-96,66,-107,474,-128,474,-128,66,-107,52,-113,474,-128,52,-113,35,-115,77,348,83,333,210,382,210,382,83,333,177,365,210,382,177,365,195,368,210,382,195,368,210,368,85,313,85,-53,151,-96,85,313,151,-96,151,300,85,313,151,300,152,325,85,313,152,325,157,344,85,313,157,344,165,357,85,313,165,357,177,365,85,313,177,365,83,333,210,382,26,382,36,368,210,382,36,368,54,366,210,382,54,366,67,359,210,382,67,359,77,348,434,-106,423,-94,350,-96,350,-96,423,-94,418,-77,350,-96,418,-77,350,300,349,322,350,300,433,358,349,322,433,358,474,382,474,382,433,358,447,365,474,382,447,365,465,368,474,382,465,368,474,368,416,-54,416,304,350,300,350,300,416,304,418,327,350,300,418,327,424,345,474,382,290,382,306,368,474,382,306,368,324,364,474,382,324,364,337,355,474,382,337,355,344,341,474,382,344,341,349,322,474,-128,474,-115,451,-112,474,-128,451,-112,434,-106,474,-128,434,-106,350,-96,474,-128,350,-96,151,-96,474,-128,151,-96,76,-96,83,-78,76,-96,151,-96,83,-78,151,-96,85,-53,26,-115,26,-128,474,-128,26,-115,474,-128,35,-115,350,300,418,-77,416,-54,306,368,290,382,290,368,433,358,350,300,424,345,36,368,26,382,26,368, 428,20,413,20,405,-7,394,-30,379,-48,357,-59,328,-63,121,-63,289,153,144,349,304,349,339,346,364,336,381,318,392,292,400,256,415,256,415,382,41,382,225,126,29,-128,401,-128,310,110,310,143,32,143,32,110,319,218,319,251,24,251,24,218,16383,16383,319,54,319,86,188,86,188,191,155,191,155,86,24,86,24,54,155,54,155,-43,188,-43,188,54,203,339, 415,382,41,382,144,349,415,382,144,349,304,349,415,382,304,349,339,346,415,382,339,346,364,336,415,382,364,336,381,318,415,382,381,318,392,292,415,382,392,292,400,256,415,382,400,256,415,256,225,126,29,-128,121,-63,225,126,121,-63,289,153,225,126,289,153,144,349,225,126,144,349,41,382,394,-30,379,-48,401,-128,401,-128,379,-48,357,-59,401,-128,357,-59,328,-63,405,-7,394,-30,401,-128,405,-7,401,-128,428,20,405,-7,428,20,413,20,121,-63,29,-128,401,-128,121,-63,401,-128,328,-63, 310,110,310,143,32,143,32,110,319,218,319,251,24,251,24,218, 310,110,310,143,32,143,310,110,32,143,32,110, 319,218,319,251,24,251,24,218,16383,16383,319,54,319,86,188,86,188,191,155,191,155,86,24,86,24,54,155,54,155,-43,188,-43,188,54,203,339,201,349,196,358,189,365,180,369,171,371,161,369,153,365,146,358,141,350,139,339,140,328,145,319,151,313,160,308,171,307,181,309, 24,251,24,218,319,218,24,251,319,218,319,251,188,191,155,191,188,-43,188,-43,155,191,155,86,188,-43,155,86,155,54,155,54,155,86,24,86,155,54,24,86,24,54,188,54,319,54,188,86,188,86,319,54,319,86,188,-43,155,54,155,-43, 203,339,201,349,196,358,189,365,180,369,171,371,161,369,153,365,146,358,141,350,139,339,140,328,145,319,151,313,160,308,171,307,181,309,190,313,197,320,201,329,203,339,16383,16383,318,110,318,143,188,143,188,273,155,273,155,143,24,143,24,110,155,110,155,-20,188,-20,188,110,239,355,203,355,23,-110,59,-110,201,46,44,205,12,205,171,46,228,169,227,175,225,181,221,185,216,189,210,190,208,190,206,189,204,189,202,188,200,186,191,180,182,170,170,158,156,145,137,133,138,153,142,172,146,190,150,204,151,215,150,222,147,227,143,231,138,234,132,235, 171,371,171,307,180,369,180,369,171,307,181,309,180,369,181,309,189,365,189,365,181,309,190,313,189,365,190,313,196,358,196,358,190,313,197,320,196,358,197,320,201,349,201,349,197,320,201,329,201,349,201,329,203,339,139,339,140,328,141,350,141,350,140,328,145,319,141,350,145,319,146,358,146,358,145,319,151,313,146,358,151,313,153,365,153,365,151,313,160,308,153,365,160,308,161,369,161,369,160,308,171,307,161,369,171,307,171,371,188,273,155,273,188,-20,188,-20,155,273,155,143,188,-20,155,143,155,110,155,110,155,143,24,143,155,110,24,143,24,110,188,110,318,110,188,143,188,143,318,110,318,143,188,-20,155,110,155,-20, 239,355,203,355,23,-110,59,-110,201,46,44,205,12,205,171,46, 239,355,203,355,23,-110,239,355,23,-110,59,-110, 201,46,44,205,12,205,171,46,228,169,227,175,225,181,221,185, 201,46,44,205,12,205,201,46,12,205,171,46, 228,169,227,175,225,181,221,185,216,189,210,190,208,190,206,189,204,189,202,188,200,186,191,180,182,170,170,158,156,145,137,133,138,153,142,172,146,190,150,204,151,215,150,222,147,227,143,231,138,234,132,235,127,234,121,231,117,227,114,222,113,215,114,204,118,189,122,172,126,153,127,132,111,143,96,155,72,179,62,186,63,186,60,188,58,189,56,189,54,190,51,190,45,189,40,185,37,181,34,175,33,169,34,165,35,162,37,159,40,156,44,153,55,149,70,144,87,139,105,133,122,125,105,117,88,111,71,106,56,102,46,98,42,95,39,91,37,87,36,82,35,78,36,73,38,69,42,65,47,63,54,62,56,62,59,63,61,64,67,66,75,72,85,83,98,95,112,108,127,118,126,98,122,80,118,63,114,49,113,37,114,31,117,26,121,21,127,18,132,17,138,18,143,21,147,26,150,31,151,37,150,49,146,63,142,80,138,98,137,118,157,104,173,89,185,75,196,65,208,61,215,62,220,65,224,70,227,75,228,81,227,85,226,88,224,91,221,95,217,97,207,101,193,105,177,109,159,116,140,125,161,135,179,142,195,146,208,149,218,153,221,155,224,158,226,162,228,165,228,169,155,126,152,147,142,166,128,180,110,190,89,194,67,190,48,181,33,167,24,148,20,127,23,105,33,86,47,72,66,62,88,59,109,62,128,72,142,86,152,105,155,126,16383,16383,122,126,120,115,116,105,108,98,99,93,88,92,77,93,67,98,60,106,55,115,53,127,55,138,59,147,67,154,77,159,89,161,99,159,108,154,116,147,120,137,122,126,155,126,152,147,142,166,128,180,110,190,89,194,67,190,48,181,33,167,24,148,20,127,23,105,33,86,47,72,66,62,88,59,109,62,128,72,142,86,152,105,155,126,482,487,454,487,248,-45,246,-45,143,222,134,222,56,160,62,150,69,155,83,163,89,165,94,165,102,164,108,161,114,155,120,147,126,136,227,-128,243,-128,149,381,156,391,162,399,169,404,177,407,185,408,195,407,202,404,208,399,212,392,213,382,211,369,204,359,195,351,183,345,171,340,171,335,184,335,189,334,193,333,196,333,206,328,213,323,219,315,222,306,223,296,222,284,217,274,210,266,201,261,190,259,186,260,182,260,178,262,173,264,168,267,164,270,161,272,152,275,146,273,144,271,142,268,142,265,143,260,146,255,152,251,160,249,171,248,193,250,214,257,231,269,242,286, 146,63,142,80,143,21,143,21,142,80,138,98,143,21,138,98,138,18,138,18,138,98,137,118,137,133,138,234,132,17,132,17,138,234,132,235,132,17,132,235,127,118,127,118,132,235,127,132,127,118,127,132,122,125,122,125,127,132,111,143,138,153,142,172,143,231,143,231,142,172,146,190,143,231,146,190,147,227,147,227,146,190,150,204,147,227,150,204,150,222,150,222,150,204,151,215,138,234,137,133,138,153,138,234,138,153,143,231,127,118,126,98,127,18,127,118,127,18,132,17,113,37,114,31,114,49,114,49,114,31,117,26,114,49,117,26,118,63,118,63,117,26,121,21,118,63,121,21,122,80,122,80,121,21,127,18,122,80,127,18,126,98,137,118,157,104,140,125,140,125,157,104,159,116,159,116,157,104,173,89,159,116,173,89,177,109,177,109,173,89,185,75,177,109,185,75,193,105,193,105,185,75,196,65,193,105,196,65,207,101,207,101,196,65,208,61,207,101,208,61,217,97,217,97,208,61,215,62,217,97,215,62,220,65,221,155,224,158,225,181,225,181,224,158,226,162,225,181,226,162,227,175,227,175,226,162,228,165,227,175,228,165,228,169,221,185,216,189,218,153,221,185,218,153,221,155,221,185,221,155,225,181,216,189,210,190,218,153,218,153,210,190,208,190,218,153,208,190,208,149,208,149,208,190,206,189,208,149,206,189,204,189,204,189,202,188,208,149,208,149,202,188,200,186,208,149,200,186,195,146,195,146,200,186,191,180,195,146,191,180,182,170,156,145,140,125,161,135,156,145,161,135,170,158,170,158,161,135,179,142,170,158,179,142,182,170,182,170,179,142,195,146,137,133,137,118,140,125,137,133,140,125,156,145,137,118,137,133,132,17,137,118,132,17,138,18,228,81,227,85,227,75,227,75,227,85,226,88,227,75,226,88,224,70,224,70,226,88,224,91,224,70,224,91,221,95,221,95,217,97,220,65,221,95,220,65,224,70,150,49,146,63,147,26,150,49,147,26,150,31,150,49,150,31,151,37,127,132,132,235,127,234,127,132,127,234,126,153,126,153,127,234,122,172,122,172,127,234,121,231,122,172,121,231,118,189,118,189,121,231,117,227,118,189,117,227,114,204,114,204,117,227,114,222,114,204,114,222,113,215,75,72,85,83,88,111,88,111,85,83,98,95,88,111,98,95,105,117,105,117,98,95,112,108,105,117,112,108,122,125,122,125,112,108,127,118,71,106,56,102,59,63,71,106,59,63,61,64,71,106,61,64,64,65,71,106,64,65,67,66,71,106,67,66,75,72,71,106,75,72,88,111,56,102,46,98,47,63,56,102,47,63,54,62,56,102,54,62,56,62,56,102,56,62,59,63,42,65,47,63,46,98,42,65,46,98,42,95,42,65,42,95,39,91,42,65,39,91,38,69,37,87,36,82,36,73,37,87,36,73,38,69,37,87,38,69,39,91,122,125,111,143,105,133,105,133,111,143,96,155,105,133,96,155,87,139,87,139,96,155,83,168,87,139,83,168,72,179,70,144,87,139,72,179,70,144,72,179,62,186,70,144,62,186,60,188,70,144,60,188,58,189,70,144,58,189,56,189,70,144,56,189,55,149,55,149,56,189,54,190,55,149,54,190,51,190,55,149,51,190,45,189,55,149,45,189,44,153,40,185,37,181,37,159,40,185,37,159,40,156,40,185,40,156,44,153,40,185,44,153,45,189,33,169,34,165,34,175,34,175,34,165,35,162,34,175,35,162,37,181,37,181,35,162,37,159,36,73,36,82,35,78,146,63,143,21,147,26, 155,126,152,147,142,166,128,180,110,190,89,194,67,190,48,181,33,167,24,148,20,127,23,105,33,86,47,72,66,62,88,59,109,62,128,72,142,86,152,105,155,126,16383,16383,122,126,120,115,116,105,108,98,99,93,88,92,77,93,67,98,60,106,55,115,53,127,55,138,59,147,67,154,77,159,89,161,99,159,108,154,116,147,120,137,122,126,155,126,152,147,142,166,128,180,110,190,89,194,67,190,48,181,33,167,24,148,20,127,23,105,33,86,47,72,66,62,88,59,109,62,128,72,142,86,152,105,155,126,482,487,454,487,248,-45,246,-45,143,222,134,222,56,160,62,150,69,155,83,163,89,165,94,165,102,164,108,161,114,155,120,147,126,136,227,-128,243,-128,149,381,156,391,162,399, 60,106,66,62,67,98,67,98,66,62,88,59,67,98,88,59,77,93,77,93,88,59,88,92,99,93,88,92,88,59,99,93,88,59,109,62,55,138,59,147,67,190,67,190,59,147,67,154,67,190,67,154,89,194,89,194,67,154,77,159,89,194,77,159,89,161,89,161,99,159,110,190,110,190,99,159,108,154,110,190,108,154,116,147,20,127,23,105,24,148,24,148,23,105,33,86,24,148,33,86,33,167,33,167,33,86,47,72,33,167,47,72,48,181,48,181,47,72,53,127,55,138,67,190,48,181,55,138,48,181,53,127,155,126,152,147,152,105,152,105,152,147,142,166,152,105,142,166,142,86,142,86,142,166,128,180,142,86,128,180,128,72,128,72,128,180,122,126,128,72,122,126,120,115,128,72,120,115,116,105,128,180,110,190,116,147,128,180,116,147,120,137,128,180,120,137,122,126,110,190,89,194,89,161,109,62,128,72,116,105,109,62,116,105,108,98,109,62,108,98,99,93,55,115,53,127,47,72,55,115,47,72,66,62,55,115,66,62,60,106, 155,126,152,147,142,166,128,180,110,190,89,194,67,190,48,181,33,167,24,148,20,127,23,105,33,86,47,72,66,62,88,59,109,62,128,72,142,86,152,105,155,126,482,487,454,487,248,-45,246,-45,143,222,134,222,56,160,62,150,69,155,83,163,89,165,94,165,102,164,108,161,114,155,120,147,126,136,227,-128,243,-128,149,381,156,391, 20,127,23,105,24,148,24,148,23,105,33,86,24,148,33,86,33,167,33,167,33,86,47,72,33,167,47,72,48,181,48,181,47,72,66,62,48,181,66,62,67,190,67,190,66,62,88,59,67,190,88,59,89,194,89,194,88,59,109,62,89,194,109,62,110,190,110,190,109,62,128,72,110,190,128,72,128,180,128,180,128,72,142,86,128,180,142,86,142,166,142,166,142,86,152,105,142,166,152,105,152,147,152,147,152,105,155,126, 482,487,454,487,248,-45,246,-45,143,222,134,222,56,160,62,150,69,155,83,163,89,165,94,165,102,164,108,161,114,155,120,147,126,136,227,-128,243,-128,149,381,156,391,162,399,169,404,177,407,185,408,195,407,202,404,208,399,212,392,213,382,211,369,204,359,195,351,183,345,171,340,171,335,184,335,189,334, 76,159,83,163,134,222,134,222,83,163,89,165,134,222,89,165,94,165,94,165,102,164,134,222,134,222,102,164,108,161,134,222,108,161,114,155,143,222,134,222,227,-128,227,-128,134,222,126,136,120,147,126,136,134,222,120,147,134,222,114,155,134,222,56,160,62,150,134,222,62,150,69,155,134,222,69,155,76,159,143,222,227,-128,246,-45,246,-45,227,-128,243,-128,246,-45,243,-128,248,-45,248,-45,243,-128,482,487,248,-45,482,487,454,487, 149,381,156,391,162,399,169,404,177,407,185,408,195,407,202,404,208,399,212,392,213,382,211,369,204,359,195,351,183,345,171,340,171,335,184,335,189,334,193,333,196,333,206,328,213,323,219,315,222,306,223,296,222,284,217,274,210,266,201,261,190,259,186,260,182,260,178,262,173,264,168,267,164,270,161,272,152,275,146,273,144,271,142,268,142,265,143,260,146,255,152,251,160,249,171,248,193,250,214,257,231,269,242,286,247,307,245,320,240,331,233,340,223,347,210,352,218,358,224,365,229,373,232,381,233,388,231,400,226,410,218,417,206,421,193,423,178,421,166,416,156,407,149,396,143,382,16383,16383,482,487,454,487,248,-45,246,-45,143,222,134,222,56,160,62,150,69,155,83,163,89,165,94,165,102,164,108,161,114,155,120,147,126,136,227,-128,243,-128,252,291,252,312,225,312,225,421,210,421,131,312,131,291,201,291,201,249,225,249,225,291,16383,16383,201,312,142,312,201,395,16383,16383,482,487,454,487,248,-45,246,-45,143,222,134,222,56,160,62,150,69,155,83,163,89,165,94,165,102,164,108,161,114,155,120,147,126,136,227,-128,243,-128,321,42,304,45,287,54,270,70,253,92,235,121,235,123,245,137,258,150,275,162,296,170,321,173,321,215,294,211,272,201,254,185,239,165,225,142,199,174,177,195,156,207,137,213,116,215,95,212,70,201,46,180,28,147,21,100,26,63,39,35,59,15,83,4,108,0,135,3,159,12,180,27,198,47,213,73,232,47,250,27,271,12,294,3,321,0,16383,16383,202,90,193,78,180,66,164,54,144,45,120,42,96,47,76,59,62,78,53,101,50,126,53,144,60,161,71,174, 158,273,160,249,161,272,161,272,160,249,171,248,161,272,171,248,164,270,164,270,171,248,168,267,173,264,168,267,171,248,173,264,171,248,193,250,149,381,156,391,156,407,156,407,156,391,162,399,156,407,162,399,166,416,166,416,162,399,169,404,166,416,169,404,178,421,178,421,169,404,177,407,178,421,177,407,185,408,185,408,195,407,193,423,193,423,195,407,206,421,149,396,143,382,149,381,149,396,149,381,156,407,184,335,189,334,195,351,195,351,189,334,193,333,195,351,193,333,196,333,196,333,206,328,204,359,204,359,206,328,211,369,183,345,171,340,178,335,183,345,178,335,184,335,183,345,184,335,195,351,204,359,195,351,196,333,210,352,218,358,211,369,211,369,218,358,213,382,218,417,213,382,218,358,218,417,218,358,226,410,226,410,218,358,224,365,226,410,224,365,229,373,195,407,202,404,206,421,206,421,202,404,208,399,206,421,208,399,218,417,218,417,208,399,212,392,218,417,212,392,213,382,231,400,226,410,229,373,231,400,229,373,232,381,231,400,232,381,233,388,210,352,211,369,206,328,210,352,206,328,213,323,210,352,213,323,223,347,242,286,247,307,245,320,242,286,245,320,240,331,242,286,240,331,233,340,242,286,233,340,231,269,223,296,231,269,233,340,223,296,233,340,223,347,223,347,213,323,219,315,223,347,219,315,222,306,223,347,222,306,223,296,210,266,214,257,217,274,217,274,214,257,231,269,217,274,231,269,222,284,222,284,231,269,223,296,190,259,193,250,201,261,201,261,193,250,214,257,201,261,214,257,210,266,193,423,178,421,185,408,186,260,182,260,193,250,186,260,193,250,190,259,178,262,173,264,193,250,178,262,193,250,182,260,155,274,152,275,152,251,155,274,152,251,160,249,155,274,160,249,158,273,149,274,146,273,146,255,149,274,146,255,152,251,149,274,152,251,152,275,144,271,142,268,143,260,144,271,143,260,146,255,144,271,146,255,146,273,76,159,83,163,134,222,134,222,83,163,89,165,134,222,89,165,94,165,94,165,102,164,134,222,134,222,102,164,108,161,134,222,108,161,114,155,143,222,134,222,227,-128,227,-128,134,222,126,136,120,147,126,136,134,222,120,147,134,222,114,155,134,222,56,160,62,150,134,222,62,150,69,155,134,222,69,155,76,159,143,222,227,-128,246,-45,246,-45,227,-128,243,-128,246,-45,243,-128,248,-45,248,-45,243,-128,482,487,248,-45,482,487,454,487,143,260,142,268,142,265,178,335,171,340,171,335, 252,291,252,312,225,312,225,421,210,421,131,312,131,291,201,291,201,249,225,249,225,291,16383,16383,201,312,142,312,201,395,16383,16383,482,487,454,487,248,-45,246,-45,143,222,134,222,56,160,62,150,69,155,83,163,89,165,94,165,102,164,108,161,114,155,120,147,126,136,227,-128,243,-128,321,42,304,45,287,54,270,70,253,92,235,121,235,123,245,137,258,150,275,162,296,170,321,173,321,215,294,211,272,201,254,185,239,165,225,142,199,174,177,195,156,207,137,213,116,215,95,212,70,201,46,180,28,147,21,100,26,63,39,35,59,15,83,4,108,0,135,3,159,12, 131,291,201,291,131,312,131,312,201,291,142,312,131,312,142,312,210,421,210,421,142,312,201,395,210,421,201,395,225,249,225,249,201,395,201,312,225,249,201,312,201,291,201,291,201,312,142,312,210,421,225,249,225,421,225,312,225,291,252,291,225,312,252,291,252,312,76,159,83,163,134,222,134,222,83,163,89,165,134,222,89,165,94,165,94,165,102,164,134,222,134,222,102,164,108,161,134,222,108,161,114,155,143,222,134,222,227,-128,227,-128,134,222,126,136,120,147,126,136,134,222,120,147,134,222,114,155,134,222,56,160,62,150,134,222,62,150,69,155,134,222,69,155,76,159,143,222,227,-128,246,-45,246,-45,227,-128,243,-128,246,-45,243,-128,248,-45,248,-45,243,-128,482,487,248,-45,482,487,454,487,225,249,201,291,201,249, 321,42,304,45,287,54,270,70,253,92,235,121,235,123,245,137,258,150,275,162,296,170,321,173,321,215,294,211,272,201,254,185,239,165,225,142,199,174,177,195,156,207,137,213,116,215,95,212,70,201,46,180,28,147,21,100,26,63,39,35,59,15,83,4,108,0,135,3,159,12,180,27,198,47,213,73,232,47,250,27,271,12,294,3,321,0,16383,16383,202,90,193,78,180,66,164,54,144,45,120,42,96,47,76,59,62,78,53,101,50,126,53,144,60,161,71,174,85,182,100,185,121,181,140,169,160,150,181,124,202,92,427,111,422,148,408,177,387,198,363,210,336,215,309,211,287,201,269,185,253,165,239,142,213,174,191,195,171,207,151,213,131,215,110,212,84,201,60,180,42,147,35,100,40,63,54,35,73,15,97,4,123,0,150,3,174,12,195,27,213,47,228,73,246,47,264,27,284,12,305,3,328,0,363,7,390,25,410,51,423,81,427,111,16383,16383,249,123,259,136,270,149,285,161,304,170,328,173,352,169,371,157,385,138,394,115,397,89,394,70,387,54,377,41,363,33,347,30,327,33,308,45,290,63,270,89,249,121,16383,16383,217,90, 213,73,232,47,213,73,213,73,232,47,225,142,213,73,225,142,202,92,202,92,199,174,181,124,181,124,199,174,177,195,181,124,177,195,160,150,160,150,177,195,156,207,160,150,156,207,140,169,140,169,156,207,137,213,140,169,137,213,121,181,121,181,137,213,116,215,121,181,116,215,100,185,53,144,60,161,70,201,70,201,60,161,71,174,70,201,71,174,95,212,95,212,71,174,85,182,95,212,85,182,100,185,21,100,26,63,28,147,28,147,26,63,39,35,28,147,39,35,46,180,46,180,39,35,59,15,46,180,59,15,50,126,50,126,53,144,46,180,46,180,53,144,70,201,202,90,193,78,198,47,198,47,193,78,180,66,198,47,180,66,180,27,180,27,180,66,164,54,180,27,164,54,159,12,159,12,164,54,144,45,159,12,144,45,135,3,135,3,144,45,120,42,135,3,120,42,108,0,108,0,120,42,96,47,108,0,96,47,83,4,83,4,96,47,76,59,83,4,76,59,62,78,59,15,83,4,62,78,59,15,62,78,53,101,59,15,53,101,50,126,287,54,270,70,271,12,271,12,270,70,253,92,271,12,253,92,250,27,250,27,253,92,235,121,250,27,235,121,232,47,321,173,321,215,296,170,296,170,321,215,294,211,296,170,294,211,275,162,275,162,294,211,272,201,275,162,272,201,258,150,258,150,272,201,254,185,258,150,254,185,245,137,245,137,254,185,239,165,245,137,239,165,235,123,235,123,239,165,225,142,235,123,225,142,232,47,235,123,232,47,235,121,304,45,287,54,294,3,304,45,294,3,321,0,304,45,321,0,321,42,199,174,202,92,225,142,213,73,202,92,202,90,213,73,202,90,198,47,100,185,116,215,95,212,287,54,271,12,294,3, 427,111,422,148,408,177,387,198,363,210,336,215,309,211,287,201,269,185,253,165,239,142,213,174,191,195,171,207,151,213,131,215,110,212,84,201,60,180,42,147,35,100,40,63,54,35,73,15,97,4,123,0,150,3,174,12,195,27,213,47,228,73,246,47,264,27,284,12,305,3,328,0,363,7,390,25,410,51,423,81,427,111,16383,16383,249,123,259,136,270,149,285,161,304,170,328,173,352,169,371,157,385,138,394,115,397,89,394,70,387,54,377,41,363,33,347,30,327,33,308,45,290,63,270,89,249,121,16383,16383,217,90,207,78,195,66,179,54,159,45,134,42,110,47,91,59,77,78,68,101,65,126,67,144,74,161,85,174,99,182,115,185,135,181,155,169,175,150,195,124,217,92,317,0,317,33,58,33,58,292,25,292,25,0,321,0,321,33,91,33,310,252,285,273,12,0,321,0,321,33,271,33,265,61,257,88,247,113,233,138,218,160,310,252,284,273,196,185,186,195,174,205,169,209,148,182,168,166,172,161,11,0,239,0,239,-18,238,-24,238,-30,270,-35,272,-21,272,0,16383,16383,90,33,194,137,207,118,217,98,226,77,233,56,237,33,326,40,281,59,284,72,286,86,288,99,290,127,289,140,288,154,286,168,280,196,326,216,314,246,269,228,266,234,263,241,257,253,253,259,225,243,228,237,231,232,233,226,236,220,238,215,28,127,239,40,237,34,234,29,232,23,229,17,225,12,254,-5,258,1,261,8,265,14,268,21,270,27,314,9,16383,16383,114,127,249,184, 228,73,246,47,228,73,228,73,246,47,239,142,228,73,239,142,217,92,217,92,213,174,195,124,195,124,213,174,191,195,195,124,191,195,175,150,175,150,191,195,171,207,175,150,171,207,155,169,155,169,171,207,151,213,155,169,151,213,135,181,135,181,151,213,131,215,135,181,131,215,115,185,67,144,74,161,84,201,84,201,74,161,85,174,84,201,85,174,110,212,110,212,85,174,99,182,110,212,99,182,115,185,35,100,40,63,42,147,42,147,40,63,54,35,42,147,54,35,60,180,60,180,54,35,73,15,60,180,73,15,65,126,65,126,67,144,60,180,60,180,67,144,84,201,217,90,207,78,213,47,213,47,207,78,195,66,213,47,195,66,195,27,195,27,195,66,179,54,195,27,179,54,174,12,174,12,179,54,159,45,174,12,159,45,150,3,150,3,159,45,134,42,150,3,134,42,123,0,123,0,134,42,110,47,123,0,110,47,97,4,97,4,110,47,91,59,97,4,91,59,77,78,73,15,97,4,77,78,73,15,77,78,68,101,73,15,68,101,65,126,336,215,328,173,352,169,336,215,352,169,363,210,363,210,352,169,371,157,363,210,371,157,387,198,387,198,371,157,385,138,387,198,385,138,394,115,270,149,285,161,287,201,287,201,285,161,304,170,287,201,304,170,309,211,309,211,304,170,328,173,309,211,328,173,336,215,239,142,249,123,253,165,253,165,249,123,259,136,253,165,259,136,269,185,269,185,259,136,270,149,269,185,270,149,287,201,264,27,249,121,246,47,246,47,249,121,249,123,246,47,249,123,239,142,249,121,264,27,270,89,270,89,264,27,284,12,270,89,284,12,290,63,290,63,284,12,305,3,290,63,305,3,308,45,308,45,305,3,328,0,308,45,328,0,327,33,327,33,328,0,347,30,363,33,347,30,363,7,363,33,363,7,390,25,387,198,394,115,408,177,408,177,394,115,397,89,410,51,397,89,394,70,410,51,394,70,390,25,390,25,394,70,387,54,390,25,387,54,377,41,422,148,408,177,410,51,422,148,410,51,423,81,422,148,423,81,427,111,347,30,328,0,363,7,213,174,217,92,239,142,228,73,217,92,217,90,228,73,217,90,213,47,115,185,131,215,110,212,363,33,390,25,377,41,397,89,410,51,408,177, 317,0,317,33,58,33,58,292,25,292,25,0,321,0,321,33,91,33,310,252,285,273,12,0, 58,33,58,292,25,292,58,33,25,292,25,0,58,33,25,0,317,0,58,33,317,0,317,33, 321,0,321,33,91,33,310,252,285,273,12,0,321,0,321,33,271,33,265,61,257,88,247,113, 91,33,310,252,285,273,91,33,285,273,12,0,91,33,12,0,321,0,91,33,321,0,321,33, 321,0,321,33,271,33,265,61,257,88,247,113,233,138,218,160,310,252,284,273,196,185,186,195,174,205,169,209,148,182,168,166,172,161,11,0,239,0,239,-18,238,-24,238,-30,270,-35,272,-21,272,0,16383,16383,90,33,194,137,207,118,217,98,226,77,233,56,237,33,326,40,281,59,284,72,286,86,288,99,290,127,289,140,288,154,286,168,280,196,326,216,314,246,269,228,266,234,263,241,257,253,253,259,225,243,228,237,231,232,233,226,236,220,238,215,28,127,239,40,237,34,234,29,232,23,229,17,225,12,254,-5,258,1,261,8, 90,33,194,137,172,161,172,161,174,205,169,209,172,161,169,209,168,166,168,166,169,209,163,170,169,209,148,182,153,178,169,209,153,178,158,174,169,209,158,174,163,170,194,137,207,118,196,185,196,185,207,118,218,160,196,185,218,160,284,273,284,273,218,160,310,252,207,118,217,98,218,160,218,160,217,98,226,77,218,160,226,77,233,138,233,138,226,77,233,56,233,138,233,56,237,33,194,137,196,185,191,190,194,137,191,190,186,195,194,137,186,195,180,200,194,137,180,200,174,205,194,137,174,205,172,161,233,138,237,33,247,113,239,0,237,33,90,33,239,0,90,33,11,0,11,0,90,33,172,161,265,61,257,88,270,-35,270,-35,257,88,247,113,270,-35,247,113,239,0,239,0,247,113,237,33,272,0,321,0,321,33,272,0,321,33,271,33,272,0,271,33,271,-28,272,0,271,-28,272,-21,272,0,272,-21,272,-14,272,0,272,-14,272,-6,271,33,265,61,270,-35,271,33,270,-35,271,-28,270,-35,239,0,239,-5,270,-35,239,-5,239,-12,270,-35,239,-12,239,-18,270,-35,239,-18,238,-24,270,-35,238,-24,238,-30, 326,40,281,59,284,72,286,86,288,99,290,127,289,140,288,154,286,168,280,196,326,216,314,246,269,228,266,234,263,241,257,253,253,259,225,243,228,237,231,232,233,226,236,220,238,215,28,127,239,40,237,34,234,29,232,23,229,17,225,12,254,-5,258,1,261,8,265,14,268,21,270,27,314,9,16383,16383,114,127,249,184,252,172,254,161,255,149,257,127,256,115,254,93,252,82,249,71,83,-93,83,345,50,345,50,-93,190,152,179,178,118,147,118,345,84,345,84,130,12,93,23,66,84,98,84,-93,118,-93,118,114,197,-93,197,345,164,345,164,-93,16383,16383,98,-93,98,345,65,345,65,-93,293,181,281,207,219,175,219,345,185,345,185,158,119,125,119,345,86,345,86,108,12,70,23,44,86,75,86,-93,119,-93,119,93,185,126,185,-93,219,-93,219,143,295,-14,157,268,152,268, 256,115,258,1,257,127,257,127,258,1,260,247,260,247,258,1,261,8,260,247,261,8,263,241,263,241,261,8,265,14,263,241,265,14,266,234,266,234,265,14,268,21,266,234,268,21,269,228,269,228,268,21,270,27,269,228,270,27,280,196,280,196,270,27,281,59,280,196,281,59,283,182,283,182,281,59,284,72,283,182,284,72,286,168,286,168,284,72,286,86,286,168,286,86,288,154,288,154,286,86,288,99,288,154,288,99,289,140,289,140,288,99,289,113,289,140,289,113,290,127,314,9,326,40,281,59,314,9,281,59,270,27,314,246,269,228,280,196,314,246,280,196,326,216,255,149,256,138,257,253,257,253,256,138,257,127,257,253,257,127,260,247,249,184,252,172,253,259,253,259,252,172,254,161,253,259,254,161,257,253,257,253,254,161,255,149,253,259,225,243,228,237,253,259,228,237,231,232,253,259,231,232,233,226,253,259,233,226,236,220,253,259,236,220,238,215,253,259,238,215,249,184,255,104,254,93,254,-5,255,104,254,-5,258,1,255,104,258,1,256,115,254,-5,254,93,252,82,254,-5,252,82,249,71,254,-5,249,71,239,40,254,-5,239,40,237,34,254,-5,237,34,234,29,254,-5,234,29,232,23,254,-5,232,23,229,17,254,-5,229,17,225,12,238,215,28,127,114,127,114,127,28,127,239,40,114,127,239,40,249,71,238,215,114,127,249,184, 83,-93,83,345,50,345,50,-93,190,152,179,178,118,147,118,345, 83,-93,83,345,50,345,83,-93,50,345,50,-93, 190,152,179,178,118,147,118,345,84,345,84,130,12,93,23,66,84,98,84,-93,118,-93,118,114,197,-93,197,345,164,345,164,-93,16383,16383,98,-93,98,345,65,345,65,-93,293,181,281,207,219,175, 84,130,12,93,23,66,84,130,23,66,84,98,84,130,84,98,118,-93,84,130,118,-93,84,345,84,345,118,-93,118,345,118,147,118,114,190,152,118,147,190,152,179,178,118,-93,84,98,84,-93, 197,-93,197,345,164,345,164,-93,16383,16383,98,-93,98,345,65,345,65,-93,293,181,281,207,219,175,219,345,185,345,185,158,119,125,119,345,86,345, 164,345,164,-93,197,-93,164,345,197,-93,197,345,65,345,65,-93,98,-93,65,345,98,-93,98,345, 293,181,281,207,219,175,219,345,185,345,185,158,119,125,119,345,86,345,86,108,12,70,23,44,86,75,86,-93,119,-93,119,93,185,126,185,-93,219,-93,219,143,295,-14,157,268,152,268,16,-14,47,-14,155,201,262,-14,295,268,263,268,156,52,48,268,16,268,153,-14,158,-14,286,-15,286,132,280,177,261,215,233,243,197,261, 86,108,12,70,23,44,86,108,23,44,86,75,86,108,86,75,119,-93,86,108,119,-93,86,345,219,345,185,345,219,-93,219,-93,185,345,185,158,219,-93,185,158,185,126,185,126,185,158,119,125,185,126,119,125,119,93,119,-93,119,345,86,345,219,143,293,181,219,175,219,175,293,181,281,207,219,-93,185,126,185,-93,119,-93,86,75,86,-93, 295,-14,157,268,152,268,16,-14,47,-14,155,201,262,-14,295,268,263,268,156,52,48,268,16,268,153,-14,158,-14, 16,-14,47,-14,152,268,152,268,47,-14,155,201,152,268,155,201,157,268,157,268,155,201,262,-14,157,268,262,-14,295,-14, 295,268,263,268,156,52,48,268,16,268,153,-14,158,-14,286,-15,286,132,280,177,261,215,233,243,197,261,155,268, 295,268,263,268,158,-14,158,-14,263,268,156,52,158,-14,156,52,153,-14,153,-14,156,52,48,268,153,-14,48,268,16,268, 286,-15,286,132,280,177,261,215,233,243,197,261,155,268,113,262,77,244,49,216,30,178,24,134,24,-15,57,-15,57,132,62,165,76,193,97,215,124,230,155,235,186,230,212,215,234,193,248,165,253,132,253,-15,286,268,253,268,253,120,248,87,234,59,212,37,186,23,155,17,124,23,97,37,76,60,62,88,57,121,57,268,24,268,24,118,30,74,49,37,77,9,113,-8,155,-15,197,-8,233,9,261,38,280,75,286,120, 253,132,253,132,248,165,248,165,253,132,261,215,248,165,261,215,234,193,234,193,261,215,233,243,234,193,233,243,212,215,212,215,233,243,197,261,212,215,197,261,186,230,186,230,197,261,155,235,124,230,155,235,155,268,124,230,155,268,113,262,62,165,76,193,77,244,77,244,76,193,97,215,77,244,97,215,113,262,113,262,97,215,124,230,49,216,30,178,57,-15,49,216,57,-15,57,132,49,216,57,132,62,165,49,216,62,165,77,244,24,134,24,-15,57,-15,24,134,57,-15,30,178,197,261,155,268,155,235,286,-15,286,132,280,177,286,-15,280,177,261,215,286,-15,261,215,253,132,286,-15,253,132,253,-15, 286,268,253,268,253,120,248,87,234,59,212,37,186,23,155,17,124,23,97,37,76,60,62,88,57,121,57,268,24,268,24,118,30,74,49,37,77,9,113,-8,155,-15,197,-8,233,9,261,38,280,75,286,120,102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,18,-143,22,-150,28,-155, 253,120,248,87,261,38,261,38,248,87,234,59,261,38,234,59,233,9,233,9,234,59,212,37,233,9,212,37,197,-8,197,-8,212,37,186,23,197,-8,186,23,155,-15,155,-15,186,23,155,17,286,268,253,268,261,38,286,268,261,38,280,75,286,268,280,75,286,120,76,60,77,9,97,37,97,37,77,9,113,-8,97,37,113,-8,124,23,124,23,113,-8,155,-15,124,23,155,-15,155,17,62,88,57,121,49,37,62,88,49,37,77,9,62,88,77,9,76,60,57,268,24,268,30,74,57,268,30,74,49,37,57,268,49,37,57,121,30,74,24,268,24,118,253,120,261,38,253,268, 102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,18,-143,22,-150,28,-155,37,-158,49,-159,78,-153,102,-135,119,-111,131,-84,140,-58,231,308,239,337,247,362,257,380,268,393,281,397,283,397,285,396,287,394,287,392,286,390,284,387,281,384,279,379,278,372,279,368,281,364,289,360,294,360,302,361,309,366,315,372,318,380,320,390,318,396,314,402,307,407,298,411,287,412,255,404,231,385,213,359,201,330,193,303,223,-61,215,-89,207,-112,198,-129,188,-140,175,-144,173,-143,172,-143,170,-142,170,-140,171,-137,173,-135,175,-132,178,-127,179,-120,178,-116,175,-112,172,-109,168,-108,163,-107,155,-109,148,-113,142,-119,139,-127,137,-136,138,-143,141,-150,146,-155,154,-158,165,-159,195,-153,219,-135,238,-111,252,-84,261,-58,352,308,360,337,368,362,378,380,389,393,402,397,404,397,406,396,408,394,408,392,407,390,405,387,402,384,400,379,399,372,400,368,402,364,410,360,415,360,423,361,430,366,435,372,439,380,440,390,439,396,436,402,431,407,424,411,413,412,381,404,355,385,336,359, 49,-140,49,-137,51,-109,51,-109,49,-137,52,-135,51,-109,52,-135,54,-112,54,-112,52,-135,54,-132,54,-112,54,-132,57,-116,57,-116,54,-132,57,-127,57,-116,57,-127,57,-120,18,-127,18,-143,21,-119,21,-119,18,-143,22,-150,21,-119,22,-150,27,-113,27,-113,22,-150,28,-155,27,-113,28,-155,34,-109,34,-109,28,-155,37,-158,34,-109,37,-158,42,-107,42,-107,37,-158,49,-159,42,-107,49,-159,46,-108,46,-108,49,-159,49,-140,86,-112,77,-129,78,-153,78,-153,77,-129,67,-140,78,-153,67,-140,54,-144,54,-144,52,-143,78,-153,78,-153,52,-143,50,-143,78,-153,50,-143,49,-159,49,-159,50,-143,49,-142,49,-159,49,-142,49,-141,285,396,287,412,283,397,283,397,287,412,281,397,268,393,281,397,287,412,268,393,287,412,255,404,289,360,294,360,298,411,298,411,294,360,302,361,298,411,302,361,307,407,307,407,302,361,309,366,307,407,309,366,314,402,314,402,309,366,315,372,314,402,315,372,318,396,318,396,315,372,318,380,318,396,318,380,320,390,279,379,279,368,281,384,281,384,279,368,281,364,281,384,281,364,284,387,284,387,281,364,285,362,284,387,285,362,286,390,286,390,285,362,289,360,286,390,289,360,287,392,287,392,289,360,298,411,287,412,285,396,286,395,287,412,286,395,287,394,287,412,287,394,287,392,287,412,287,392,298,411,255,404,231,385,231,308,255,404,231,308,239,337,255,404,239,337,247,362,255,404,247,362,257,380,255,404,257,380,268,393,231,308,231,385,213,359,231,308,213,359,201,330,231,308,201,330,193,303,231,308,193,303,140,-58,94,-89,102,-135,102,-61,102,-61,102,-135,119,-111,102,-61,119,-111,193,303,193,303,119,-111,131,-84,193,303,131,-84,140,-58,86,-112,78,-153,102,-135,86,-112,102,-135,94,-89,49,-140,49,-159,49,-141,279,368,279,379,278,372,18,-143,18,-127,16,-136,46,-108,49,-140,51,-109, 223,-61,215,-89,207,-112,198,-129,188,-140,175,-144,173,-143,172,-143,170,-142,170,-140,171,-137,173,-135,175,-132,178,-127,179,-120,178,-116,175,-112,172,-109,168,-108,163,-107,155,-109,148,-113,142,-119,139,-127,137,-136,138,-143,141,-150,146,-155,154,-158,165,-159,195,-153,219,-135,238,-111,252,-84,261,-58,352,308,360,337,368,362,378,380,389,393,402,397,404,397,406,396,408,394,408,392,407,390,405,387,402,384,400,379,399,372,400,368,402,364,410,360,415,360,423,361,430,366,435,372,439,380,440,390,439,396,436,402,431,407,424,411,413,412,381,404,355,385,336,359,323,330,314,303,16383,16383,102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,17,-143,20,-150,25,-155,33,-158,44,-159,74,-153,98,-135,117,-111,131,-84,140,-58,231,308,239,337,247,362,257,380,268,393,281,397,283,397,285,396,287,394,287,392,286,390,284,387,281,384,279,379,278,372,279,368,281,364,289,360,294,360,302,361,309,366,315,372,318,380,320,390,319,396,316,402,310,407,302,411,292,412,260,404,234,385,215,359,201,330,193,303,344,-61,336,-89,328,-112,319,-129,309,-140,296,-144,294,-143,293,-143,291,-141,291,-140,292,-137,297,-132,299,-127,300,-120,299,-116,296,-112,293,-109,288,-108,284,-107,276,-109,269,-113,263,-119,259,-127,258,-136,259,-143,262,-150,267,-155,275,-158,286,-159,316,-153,341,-135,359,-111,373,-84,382,-58,473,308,481,337,489,362,499,380,510,393,523,397,525,397,527,396,529,394,529,392,528,390,526,387,523,384,521,379,520,372,521,368,523,364,531,360,536,360,544,361,551,366,556,372,560,380,561,390,560,396,558,402,552,407,545,411,534,412,502,404,476,385,457,359,443,330,435,303,16383,16383,223,-61,215,-89,207,-112,198,-129,187,-140,175,-144,173,-143,171,-143,169,-141,169,-140,170,-137,175,-132,177,-127,178,-120,177,-116,175,-112,171,-109,167,-108,162,-107,154,-109,147,-113,142,-119,138,-127,137,-136,138,-143,141,-150,146,-155,154,-158,164,-159,194,-153,219,-135,238,-111,251,-84,260,-58,352,308,359,337,368,362,377,380,388,393,402,397,404,397,405,396,407,395,407,392,406,390,402,384,399,379,398,372,399,368,402,364,405,362,409,360,414,360,422,361,429,366,435,372,438,380,440,390,439,396,436,402,431,407,423,411,412,412,380,404,355,385,336,359,322,330,314,303, 49,-137,51,-109,49,-140,49,-140,46,-108,44,-159,44,-159,46,-108,42,-107,44,-159,42,-107,34,-109,51,-109,52,-135,54,-112,54,-112,52,-135,54,-132,54,-112,54,-132,57,-116,57,-116,54,-132,57,-127,57,-116,57,-127,57,-120,94,-89,86,-112,98,-135,98,-135,86,-112,77,-129,98,-135,77,-129,74,-153,74,-153,77,-129,67,-140,74,-153,67,-140,54,-144,54,-144,52,-143,74,-153,74,-153,52,-143,50,-143,74,-153,50,-143,44,-159,44,-159,50,-143,49,-142,44,-159,49,-142,49,-141,171,-137,172,-109,170,-140,170,-140,168,-108,165,-159,165,-159,168,-108,163,-107,165,-159,163,-107,155,-109,172,-109,173,-135,175,-112,175,-112,173,-135,175,-132,175,-112,175,-132,178,-116,178,-116,175,-132,178,-127,178,-116,178,-127,179,-120,215,-89,207,-112,219,-135,219,-135,207,-112,198,-129,219,-135,198,-129,195,-153,195,-153,198,-129,188,-140,195,-153,188,-140,175,-144,175,-144,173,-143,195,-153,195,-153,173,-143,172,-143,195,-153,172,-143,165,-159,165,-159,172,-143,170,-142,165,-159,170,-142,170,-141,285,396,292,412,283,397,283,397,292,412,281,397,268,393,281,397,292,412,268,393,292,412,260,404,302,361,302,411,294,360,294,360,302,411,292,412,294,360,292,412,289,360,289,360,292,412,287,392,289,360,287,392,286,390,289,360,286,390,285,362,285,362,286,390,284,387,285,362,284,387,281,364,281,364,284,387,281,384,281,364,281,384,279,368,279,368,281,384,279,379,279,368,279,379,278,372,320,390,319,396,318,380,318,380,319,396,316,402,318,380,316,402,315,372,315,372,316,402,310,407,315,372,310,407,309,366,309,366,310,407,302,411,309,366,302,411,302,361,292,412,285,396,286,395,292,412,286,395,287,394,292,412,287,394,287,392,260,404,234,385,239,337,260,404,239,337,247,362,260,404,247,362,257,380,260,404,257,380,268,393,231,308,239,337,234,385,231,308,234,385,215,359,231,308,215,359,201,330,231,308,201,330,193,303,231,308,193,303,140,-58,94,-89,98,-135,102,-61,102,-61,98,-135,117,-111,102,-61,117,-111,193,303,193,303,117,-111,131,-84,193,303,131,-84,140,-58,49,-140,44,-159,49,-141,16,-136,17,-143,18,-127,18,-127,17,-143,20,-150,18,-127,20,-150,21,-119,21,-119,20,-150,25,-155,21,-119,25,-155,27,-113,27,-113,25,-155,33,-158,27,-113,33,-158,34,-109,34,-109,33,-158,44,-159,406,396,413,412,404,397,404,397,413,412,402,397,389,393,402,397,413,412,389,393,413,412,381,404,423,361,424,411,415,360,415,360,424,411,413,412,415,360,413,412,410,360,410,360,413,412,408,392,410,360,408,392,407,390,410,360,407,390,406,362,406,362,407,390,405,387,406,362,405,387,402,364,402,364,405,387,402,384,402,364,402,384,400,379,400,379,399,372,400,368,400,379,400,368,402,364,440,390,439,396,439,380,439,380,439,396,436,402,439,380,436,402,435,372,435,372,436,402,431,407,435,372,431,407,430,366,430,366,431,407,424,411,430,366,424,411,423,361,413,412,406,396,407,395,413,412,407,395,408,394,413,412,408,394,408,392,381,404,355,385,360,337,381,404,360,337,368,362,381,404,368,362,378,380,381,404,378,380,389,393,352,308,360,337,355,385,352,308,355,385,336,359,352,308,336,359,323,330,352,308,323,330,314,303,352,308,314,303,261,-58,215,-89,219,-135,223,-61,223,-61,219,-135,238,-111,223,-61,238,-111,314,303,314,303,238,-111,252,-84,314,303,252,-84,261,-58,170,-140,165,-159,170,-141,137,-136,138,-143,139,-127,139,-127,138,-143,141,-150,139,-127,141,-150,142,-119,142,-119,141,-150,146,-155,142,-119,146,-155,148,-113,148,-113,146,-155,154,-158,148,-113,154,-158,155,-109,155,-109,154,-158,165,-159,168,-108,170,-140,172,-109,172,-109,171,-137,173,-135,46,-108,49,-140,51,-109,51,-109,49,-137,52,-135, 344,-61,336,-89,328,-112,319,-129,309,-140,296,-144,294,-143,293,-143,291,-141,291,-140,292,-137,297,-132,299,-127,300,-120,299,-116,296,-112,293,-109,288,-108,284,-107,276,-109,269,-113,263,-119,259,-127,258,-136,259,-143,262,-150,267,-155,275,-158,286,-159,316,-153,341,-135,359,-111,373,-84,382,-58,473,308,481,337,489,362,499,380,510,393,523,397,525,397,527,396,529,394,529,392,528,390,526,387,523,384,521,379,520,372,521,368,523,364,531,360,536,360,544,361,551,366,556,372,560,380,561,390,560,396,558,402,552,407,545,411,534,412,502,404,476,385,457,359,443,330,435,303,16383,16383,223,-61,215,-89,207,-112,198,-129,187,-140,175,-144,173,-143,171,-143,169,-141,169,-140,170,-137,175,-132,177,-127,178,-120,177,-116,175,-112,171,-109,167,-108,162,-107,154,-109,147,-113,142,-119,138,-127,137,-136,138,-143,141,-150,146,-155,154,-158,164,-159,194,-153,219,-135,238,-111,251,-84,260,-58,352,308,359,337,368,362,377,380,388,393,402,397,404,397,405,396,407,395,407,392,406,390,402,384,399,379,398,372,399,368,402,364,405,362,409,360,414,360,422,361,429,366,435,372,438,380,440,390,439,396,436,402,431,407,423,411,412,412,380,404,355,385,336,359,322,330,314,303,16383,16383,102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,17,-143,20,-150,25,-155,33,-158,44,-159,74,-153,98,-135,117,-111,131,-84,140,-58,231,308,239,337,247,362,257,380,268,393,281,397,283,397,285,396,287,394,287,392,286,390,284,387,281,384,279,379,278,372,279,368,281,364,289,360,294,360,302,361,309,366,315,372,318,380,320,390,319,396,316,402,310,407,302,411,292,412,260,404,234,385,215,359,201,330,193,303,176,238,167,238,131,232,101,216,76,192,60,161,55,126,58,99,67,74,81,53,100,35,123,22,102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,18,-143,22,-150,28,-155,37,-158,49,-159,78,-153,102,-135,119,-111,131,-84,140,-58,157,13,167,13,202,19,233,35,258,59,274,90,280,126,276,152,267,177,253,199,234,216,211,229,231,308,239,337,247,362,257,381,268,393,281,397,283,397,285,396,287,394,287,392,286,390,284,387,281,384,279,379,278,372,279,368,281,364,289,360,294,360,302,361,309,366,315,372,318,380,320,390,318,396,314,402,307,407,298,411,287,412,255,404,231,385,213,358,201,330,193,303,16383,16383,162,32,206,210,224,199,239,185,251,167,258,147,261,126,256,96,243,70,222,50,197,37,167,32,16383,16383,172,219,127,41,109,52,95,66,83,84,76,104,74,126,78,155,92,181,112,201,137,214,167,219,296,231,284,234,271,236,258,237,244,238,214,238,231,308,239,337,247,362,257,380,268,393,281,397,283,397,285,396,287,394,287,392,286,390,284,387,281,384,279,379,278,372,279,368,281,364,289,360,294,360,302,361,309,366,315,372,318,380,320,390,319,396,316,402,310,407,302,411,292,412,260,404,234,385,215,358,201,330,193,303,175,233,135,222,101,204,76,182,61,155,55,126,58,104,67,84,82,65,102,48,126,35,102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,17,-143,20,-150,25,-155,33,-158,44,-159,74,-153,99,-135,117,-111,131,-84,140,-58,160,22,172,19,200,15,230,13, 49,-137,51,-109,49,-140,49,-140,46,-108,44,-159,44,-159,46,-108,42,-107,44,-159,42,-107,34,-109,51,-109,52,-135,54,-112,54,-112,52,-135,54,-132,54,-112,54,-132,57,-116,57,-116,54,-132,57,-127,57,-116,57,-127,57,-120,94,-89,86,-112,98,-135,98,-135,86,-112,77,-129,98,-135,77,-129,74,-153,74,-153,77,-129,67,-140,74,-153,67,-140,54,-144,54,-144,52,-143,74,-153,74,-153,52,-143,50,-143,74,-153,50,-143,44,-159,44,-159,50,-143,49,-142,44,-159,49,-142,49,-141,170,-137,171,-109,169,-140,169,-140,167,-108,164,-159,164,-159,167,-108,162,-107,164,-159,162,-107,154,-109,171,-109,172,-135,175,-112,175,-112,172,-135,175,-132,175,-112,175,-132,177,-116,177,-116,175,-132,177,-127,177,-116,177,-127,178,-120,215,-89,207,-112,219,-135,219,-135,207,-112,198,-129,219,-135,198,-129,194,-153,194,-153,198,-129,187,-140,194,-153,187,-140,175,-144,175,-144,173,-143,194,-153,194,-153,173,-143,171,-143,194,-153,171,-143,164,-159,164,-159,171,-143,170,-142,164,-159,170,-142,169,-141,285,396,292,412,283,397,283,397,292,412,281,397,268,393,281,397,292,412,268,393,292,412,260,404,302,361,302,411,294,360,294,360,302,411,292,412,294,360,292,412,289,360,289,360,292,412,287,392,289,360,287,392,286,390,289,360,286,390,285,362,285,362,286,390,284,387,285,362,284,387,281,364,281,364,284,387,281,384,281,364,281,384,279,368,279,368,281,384,279,379,279,368,279,379,278,372,292,-137,293,-109,291,-140,291,-140,288,-108,286,-159,286,-159,288,-108,284,-107,286,-159,284,-107,276,-109,293,-109,294,-135,296,-112,296,-112,294,-135,297,-132,296,-112,297,-132,299,-116,299,-116,297,-132,299,-127,299,-116,299,-127,300,-120,320,390,319,396,318,380,318,380,319,396,316,402,318,380,316,402,315,372,315,372,316,402,310,407,315,372,310,407,309,366,309,366,310,407,302,411,309,366,302,411,302,361,292,412,285,396,286,395,292,412,286,395,287,394,292,412,287,394,287,392,260,404,234,385,239,337,260,404,239,337,247,362,260,404,247,362,257,380,260,404,257,380,268,393,231,308,239,337,234,385,231,308,234,385,215,359,231,308,215,359,201,330,231,308,201,330,193,303,231,308,193,303,140,-58,94,-89,98,-135,102,-61,102,-61,98,-135,117,-111,102,-61,117,-111,193,303,193,303,117,-111,131,-84,193,303,131,-84,140,-58,49,-140,44,-159,49,-141,16,-136,17,-143,18,-127,18,-127,17,-143,20,-150,18,-127,20,-150,21,-119,21,-119,20,-150,25,-155,21,-119,25,-155,27,-113,27,-113,25,-155,33,-158,27,-113,33,-158,34,-109,34,-109,33,-158,44,-159,336,-89,328,-112,341,-135,341,-135,328,-112,319,-129,341,-135,319,-129,316,-153,316,-153,319,-129,309,-140,316,-153,309,-140,296,-144,296,-144,294,-143,316,-153,316,-153,294,-143,293,-143,316,-153,293,-143,286,-159,286,-159,293,-143,292,-142,286,-159,292,-142,291,-141,405,396,412,412,404,397,404,397,412,412,402,397,388,393,402,397,412,412,388,393,412,412,380,404,422,361,423,411,414,360,414,360,423,411,412,412,414,360,412,412,409,360,409,360,412,412,407,392,409,360,407,392,406,390,409,360,406,390,405,362,405,362,406,390,404,387,405,362,404,387,402,364,402,364,404,387,402,384,402,364,402,384,399,379,399,379,398,372,399,368,399,379,399,368,402,364,440,390,439,396,438,380,438,380,439,396,436,402,438,380,436,402,435,372,435,372,436,402,431,407,435,372,431,407,429,366,429,366,431,407,423,411,429,366,423,411,422,361,412,412,405,396,407,395,412,412,407,395,407,394,412,412,407,394,407,392,380,404,355,385,359,337,380,404,359,337,368,362,380,404,368,362,377,380,380,404,377,380,388,393,352,308,359,337,355,385,352,308,355,385,336,359,352,308,336,359,322,330,352,308,322,330,314,303,352,308,314,303,260,-58,215,-89,219,-135,223,-61,223,-61,219,-135,238,-111,223,-61,238,-111,314,303,314,303,238,-111,251,-84,314,303,251,-84,260,-58,169,-140,164,-159,169,-141,137,-136,138,-143,138,-127,138,-127,138,-143,141,-150,138,-127,141,-150,142,-119,142,-119,141,-150,146,-155,142,-119,146,-155,147,-113,147,-113,146,-155,154,-158,147,-113,154,-158,154,-109,154,-109,154,-158,164,-159,435,303,344,-61,359,-111,435,303,359,-111,373,-84,435,303,373,-84,382,-58,435,303,382,-58,473,308,435,303,473,308,443,330,344,-61,336,-89,341,-135,344,-61,341,-135,359,-111,291,-140,286,-159,291,-141,258,-136,259,-143,259,-127,259,-127,259,-143,262,-150,259,-127,262,-150,263,-119,263,-119,262,-150,267,-155,263,-119,267,-155,269,-113,269,-113,267,-155,275,-158,269,-113,275,-158,276,-109,276,-109,275,-158,286,-159,527,396,534,412,525,397,525,397,534,412,523,397,510,393,523,397,534,412,510,393,534,412,502,404,544,361,545,411,536,360,536,360,545,411,534,412,536,360,534,412,531,360,531,360,534,412,529,392,531,360,529,392,528,390,531,360,528,390,527,362,527,362,528,390,526,387,527,362,526,387,523,364,523,364,526,387,523,384,523,364,523,384,521,379,521,379,520,372,521,368,521,379,521,368,523,364,561,390,560,396,560,380,560,380,560,396,558,402,560,380,558,402,556,372,556,372,558,402,552,407,556,372,552,407,551,366,551,366,552,407,545,411,551,366,545,411,544,361,534,412,527,396,528,395,534,412,528,395,529,394,534,412,529,394,529,392,502,404,476,385,481,337,502,404,481,337,489,362,502,404,489,362,499,380,502,404,499,380,510,393,473,308,481,337,476,385,473,308,476,385,457,359,473,308,457,359,443,330,288,-108,291,-140,293,-109,293,-109,292,-137,294,-135,167,-108,169,-140,171,-109,171,-109,170,-137,172,-135,46,-108,49,-140,51,-109,51,-109,49,-137,52,-135, 176,238,167,238,131,232,101,216,76,192,60,161,55,126,58,99,67,74,81,53,100,35,123,22,102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,18,-143,22,-150,28,-155,37,-158,49,-159,78,-153,102,-135,119,-111,131,-84,140,-58,157,13,167,13,202,19,233,35,258,59,274,90,280,126,276,152,267,177,253,199,234,216,211,229,231,308,239,337,247,362,257,381,268,393,281,397,283,397,285,396,287,394,287,392,286,390,284,387,281,384,279,379,278,372,279,368,281,364,289,360,294,360,302,361,309,366,315,372,318,380,320,390,318,396,314,402,307,407,298,411,287,412,255,404,231,385,213,358,201,330,193,303,16383,16383,162,32,206,210,224,199,239,185,251,167,258,147,261,126,256,96,243,70,222,50,197,37,167,32,16383,16383,172,219,127,41,109,52,95,66,83,84,76,104,74,126,78,155,92,181,112,201,137,214,167,219,296,231,284,234,271,236,258,237,244,238,214,238,231,308,239,337,247,362,257,380,268,393,281,397,283,397,285,396,287,394,287,392,286,390,284,387,281,384,279,379,278,372,279,368,281,364,289,360,294,360,302,361,309,366,315,372,318,380,320,390,319,396,316,402,310,407,302,411,292,412,260,404,234,385,215,358,201,330,193,303,175,233,135,222,101,204,76,182,61,155,55,126,58,104,67,84,82,65,102,48,126,35,102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,17,-143,20,-150,25,-155,33,-158,44,-159,74,-153,99,-135,117,-111,131,-84,140,-58,160,22,172,19,200,15,230,13,235,13,237,14,242,14,223,-61,216,-89,208,-112,199,-129,188,-140,175,-144,173,-143,172,-143,170,-142,170,-140,171,-137,173,-135,175,-132,178,-127,179,-120,178,-116,175,-112,172,-109,168,-108,163,-107,155,-109,148,-113,142,-119,139,-127,137,-136,138,-143, 49,-140,49,-137,51,-109,51,-109,49,-137,52,-135,51,-109,52,-135,54,-112,54,-112,52,-135,54,-132,54,-112,54,-132,57,-116,57,-116,54,-132,57,-127,57,-116,57,-127,57,-120,18,-127,18,-143,21,-119,21,-119,18,-143,22,-150,21,-119,22,-150,27,-113,27,-113,22,-150,28,-155,27,-113,28,-155,34,-109,34,-109,28,-155,37,-158,34,-109,37,-158,42,-107,42,-107,37,-158,49,-159,42,-107,49,-159,46,-108,46,-108,49,-159,49,-140,86,-112,77,-129,78,-153,78,-153,77,-129,67,-140,78,-153,67,-140,54,-144,54,-144,52,-143,78,-153,78,-153,52,-143,50,-143,78,-153,50,-143,49,-159,49,-159,50,-143,49,-142,49,-159,49,-142,49,-141,95,66,100,35,109,52,109,52,100,35,123,22,109,52,123,22,127,41,127,41,123,22,131,-84,127,41,131,-84,172,219,172,219,131,-84,140,-58,172,219,140,-58,157,13,83,84,76,104,81,53,83,84,81,53,100,35,83,84,100,35,95,66,76,104,74,126,81,53,81,53,74,126,67,74,67,74,74,126,76,192,76,192,74,126,78,155,201,330,193,303,206,210,206,210,193,303,176,238,206,210,176,238,172,219,172,219,176,238,167,238,172,219,167,238,167,219,167,219,167,238,137,214,78,155,92,181,101,216,101,216,92,181,112,201,101,216,112,201,131,232,131,232,112,201,137,214,131,232,137,214,167,238,60,161,55,126,58,99,60,161,58,99,67,74,60,161,67,74,76,192,289,360,294,360,298,411,298,411,294,360,302,361,298,411,302,361,307,407,307,407,302,361,309,366,307,407,309,366,314,402,314,402,309,366,315,372,314,402,315,372,318,396,318,396,315,372,318,380,318,396,318,380,320,390,279,379,279,368,281,384,281,384,279,368,281,364,281,384,281,364,284,387,284,387,281,364,285,362,284,387,285,362,286,390,286,390,285,362,289,360,286,390,289,360,287,392,287,392,289,360,298,411,287,412,255,404,268,393,287,412,268,393,281,397,287,412,281,397,283,397,287,412,283,397,285,396,287,412,285,396,286,395,287,412,286,395,287,394,287,412,287,394,287,392,287,412,287,392,298,411,255,404,231,385,231,308,255,404,231,308,239,337,255,404,239,337,247,362,255,404,247,362,257,381,255,404,257,381,268,393,213,358,201,330,206,210,213,358,206,210,211,229,213,358,211,229,231,308,213,358,231,308,231,385,162,32,206,210,172,219,162,32,172,219,159,13,162,32,159,13,161,13,162,32,161,13,163,13,162,32,163,13,167,32,94,-89,102,-135,102,-61,102,-61,102,-135,119,-111,102,-61,119,-111,123,22,123,22,119,-111,131,-84,86,-112,78,-153,102,-135,86,-112,102,-135,94,-89,49,-140,49,-159,49,-141,258,59,274,90,261,126,261,126,267,177,258,147,258,147,267,177,253,199,258,147,253,199,251,167,251,167,253,199,239,185,234,216,211,229,224,199,234,216,224,199,239,185,234,216,239,185,253,199,274,90,280,126,276,152,274,90,276,152,267,177,274,90,267,177,261,126,258,59,261,126,256,96,258,59,256,96,243,70,258,59,243,70,233,35,163,13,165,13,167,32,167,32,165,13,167,13,167,32,167,13,197,37,197,37,167,13,202,19,197,37,202,19,222,50,222,50,202,19,233,35,222,50,233,35,243,70,224,199,211,229,206,210,279,368,279,379,278,372,18,-143,18,-127,16,-136,172,219,157,13,159,13,76,192,78,155,101,216,46,-108,49,-140,51,-109, 296,231,284,234,271,236,258,237,244,238,214,238,231,308,239,337,247,362,257,380,268,393,281,397,283,397,285,396,287,394,287,392,286,390,284,387,281,384,279,379,278,372,279,368,281,364,289,360,294,360,302,361,309,366,315,372,318,380,320,390,319,396,316,402,310,407,302,411,292,412,260,404,234,385,215,358,201,330,193,303,175,233,135,222,101,204,76,182,61,155,55,126,58,104,67,84,82,65,102,48,126,35,102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,17,-143,20,-150,25,-155,33,-158,44,-159,74,-153,99,-135,117,-111,131,-84,140,-58,160,22,172,19,200,15,230,13,235,13,237,14,242,14,223,-61,216,-89,208,-112,199,-129,188,-140,175,-144,173,-143,172,-143,170,-142,170,-140,171,-137,173,-135,175,-132,178,-127,179,-120,178,-116,175,-112,172,-109,168,-108,163,-107,155,-109,148,-113,142,-119,139,-127,137,-136,138,-143,141,-150,146,-155,154,-158,165,-159,195,-153,220,-135,239,-111,252,-84,261,-58,280,18,321,29,356,47,382,70,398,96,404,126,401,149,391,170,376,189,355,206,330,219,352,308,360,337,368,362,378,380,389,393,402,397,404,397,406,396,408,394,408,392,407,390,405,387,402,384,400,379,399,372,400,368,402,364,410,360,415,360,423,361,430,366,435,372,439,380,440,390,439,396,436,402,431,407,424,411,413,412,381,404,355,385,336,359,323,330,314,303,16383,16383,325,200,345,188,362,175,374,160,382,143,385,126,380,103,367,82,345,64,318,50,285,39,16383,16383,247,33,235,33,232,32,228,32,214,33,201,34,188,36,176,38,165,41,209,219,241,219,267,217,291,211,16383,16383,131,54,111,65,96,78,84,93,77,109,74,126,79,149,91,170,112,188,138,203,171,213,415,225,385,231,368,234,351,236,334,237,352,308,360,337,368,362,377,381,388,393,402,397,404,397,405,396,407,395,407,392,406,390,402,384,399,379,398,372,399,368,402,364,405,362,409,360,414,360,422,361,429,366,435,372,438,380,440,390,439,396,436,402,431,407,423,411,412,412,380,404,355,385,336,359,322,330,314,303,297,238,257,238,227,236,213,234,231,308,239,337,247,362,257,380,268,393,281,397,283,397,285,396,287,394,287,392,286,390,284,387,281,384,279,379,278,372,279,368,281,364,289,360,294,360,302,361,309,366,315,372,318,380,320,390,319,396,316,402,310,407,302,411,292,412,260,404,234,385,215,359,201,330,193,303,174,227,132,214,99,197,74,177,59,153,54,126,57,103,66,82,80,64,101,49,127,37,102,-61,94,-89,86,-112,77,-129,67,-140,54,-144,52,-143,50,-143,49,-142,49,-137,52,-135,54,-132,57,-127,57,-116,54,-112,51,-109,46,-108,42,-107,34,-109,27,-113,21,-119,18,-127,16,-136,17,-143,20,-150,25,-155,33,-158,44,-159,74,-153,99,-135,117,-111,131,-84,140,-58,161,26,175,23,191,20,207,18,224,16,242,15,223,-61,215,-89,207,-112,198,-129,187,-140,175,-144,173,-143,171,-143,169,-141,169,-140,170,-137,175,-132,177,-127,178,-120,177,-116,175,-112,171,-109,167,-108,162,-107,154,-109,147,-113,142,-119,138,-127,137,-136,138,-143,141,-150,146,-155,154,-158,164,-159,194,-153,219,-135,238,-111,251,-84,260,-58,278,13,289,13,305,14,320,14,335,15,349,16,363,18,344,-61,336,-89,328,-112,319,-129,309,-140,296,-144,294,-143,292,-143,290,-141,290,-140,291,-137,296,-132,298,-127,299,-120,298,-116,296,-112,292,-109,288,-108,283,-107,275,-109,268,-113,262,-119,259,-127,257,-136,258,-143,261,-150,267,-155,275,-158,285,-159,316,-153,340,-135,359,-111,372,-84,381,-58,401,24,444,36,478,53,503,73,519,98,524,126,521,148, 49,-137,51,-109,49,-140,49,-140,46,-108,44,-159,44,-159,46,-108,42,-107,44,-159,42,-107,34,-109,51,-109,52,-135,54,-112,54,-112,52,-135,54,-132,54,-112,54,-132,57,-116,57,-116,54,-132,57,-127,57,-116,57,-127,57,-120,94,-89,86,-112,99,-135,99,-135,86,-112,77,-129,99,-135,77,-129,74,-153,74,-153,77,-129,67,-140,74,-153,67,-140,54,-144,54,-144,52,-143,74,-153,74,-153,52,-143,50,-143,74,-153,50,-143,44,-159,44,-159,50,-143,49,-142,44,-159,49,-142,49,-141,96,78,102,48,111,65,111,65,102,48,126,35,111,65,126,35,131,54,131,54,126,35,131,-84,131,54,131,-84,171,213,171,213,131,-84,140,-58,171,213,140,-58,160,22,84,93,77,109,82,65,84,93,82,65,102,48,84,93,102,48,96,78,77,109,74,126,82,65,82,65,74,126,67,84,67,84,74,126,76,182,76,182,74,126,79,149,171,-137,172,-109,170,-140,170,-140,168,-108,165,-159,165,-159,168,-108,163,-107,165,-159,163,-107,155,-109,172,-109,173,-135,175,-112,175,-112,173,-135,175,-132,175,-112,175,-132,178,-116,178,-116,175,-132,178,-127,178,-116,178,-127,179,-120,216,-89,208,-112,220,-135,220,-135,208,-112,199,-129,220,-135,199,-129,195,-153,195,-153,199,-129,188,-140,195,-153,188,-140,175,-144,175,-144,173,-143,195,-153,195,-153,173,-143,172,-143,195,-153,172,-143,165,-159,165,-159,172,-143,170,-142,165,-159,170,-142,170,-141,201,330,193,303,209,219,209,219,193,303,175,233,209,219,175,233,171,213,171,213,175,233,138,203,138,203,175,233,135,222,138,203,135,222,112,188,112,188,135,222,101,204,112,188,101,204,91,170,91,170,101,204,79,149,61,155,55,126,58,104,61,155,58,104,67,84,61,155,67,84,76,182,285,396,292,412,283,397,283,397,292,412,281,397,268,393,281,397,292,412,268,393,292,412,260,404,302,361,302,411,294,360,294,360,302,411,292,412,294,360,292,412,289,360,289,360,292,412,287,392,289,360,287,392,286,390,289,360,286,390,285,362,285,362,286,390,284,387,285,362,284,387,281,364,281,364,284,387,281,384,281,364,281,384,279,368,279,368,281,384,279,379,279,368,279,379,278,372,320,390,319,396,318,380,318,380,319,396,316,402,318,380,316,402,315,372,315,372,316,402,310,407,315,372,310,407,309,366,309,366,310,407,302,411,309,366,302,411,302,361,292,412,285,396,286,395,292,412,286,395,287,394,292,412,287,394,287,392,260,404,234,385,239,337,260,404,239,337,247,362,260,404,247,362,257,380,260,404,257,380,268,393,239,337,234,385,231,308,231,308,234,385,215,358,231,308,215,358,214,238,214,238,215,358,212,219,214,238,212,219,216,219,215,358,201,330,209,219,215,358,209,219,212,219,176,38,165,41,172,19,171,213,165,41,209,219,160,22,172,19,165,41,160,22,165,41,171,213,94,-89,99,-135,102,-61,102,-61,99,-135,117,-111,102,-61,117,-111,126,35,126,35,117,-111,131,-84,49,-140,44,-159,49,-141,16,-136,17,-143,18,-127,18,-127,17,-143,20,-150,18,-127,20,-150,21,-119,21,-119,20,-150,25,-155,21,-119,25,-155,27,-113,27,-113,25,-155,33,-158,27,-113,33,-158,34,-109,34,-109,33,-158,44,-159,296,231,284,234,291,211,291,211,325,200,296,231,296,231,325,200,314,303,406,396,413,412,404,397,404,397,413,412,402,397,389,393,402,397,413,412,389,393,413,412,381,404,423,361,424,411,415,360,415,360,424,411,413,412,415,360,413,412,410,360,410,360,413,412,408,392,410,360,408,392,407,390,410,360,407,390,406,362,406,362,407,390,405,387,406,362,405,387,402,364,402,364,405,387,402,384,402,364,402,384,400,379,400,379,399,372,400,368,400,379,400,368,402,364,440,390,439,396,439,380,439,380,439,396,436,402,439,380,436,402,435,372,435,372,436,402,431,407,435,372,431,407,430,366,430,366,431,407,424,411,430,366,424,411,423,361,413,412,406,396,407,395,413,412,407,395,408,394,413,412,408,394,408,392,381,404,355,385,360,337,381,404,360,337,368,362,381,404,368,362,378,380,381,404,378,380,389,393,336,359,330,219,352,308,336,359,352,308,355,385,355,385,352,308,360,337,336,359,325,200,330,219,330,219,325,200,345,188,330,219,345,188,355,206,355,206,345,188,362,175,355,206,362,175,376,189,376,189,362,175,374,160,376,189,374,160,382,143,323,330,314,303,325,200,323,330,325,200,336,359,291,211,247,33,252,-84,291,211,252,-84,261,-58,291,211,261,-58,280,18,291,211,280,18,285,39,291,211,285,39,325,200,243,33,239,33,239,14,243,33,239,14,242,14,243,33,242,14,252,-84,243,33,252,-84,247,33,216,-89,220,-135,223,-61,223,-61,220,-135,239,-111,223,-61,239,-111,242,14,242,14,239,-111,252,-84,170,-140,165,-159,170,-141,137,-136,138,-143,139,-127,139,-127,138,-143,141,-150,139,-127,141,-150,142,-119,142,-119,141,-150,146,-155,142,-119,146,-155,148,-113,148,-113,146,-155,154,-158,148,-113,154,-158,155,-109,155,-109,154,-158,165,-159,404,126,401,149,398,96,398,96,401,149,391,170,398,96,391,170,385,126,385,126,382,70,398,96,391,170,376,189,382,143,391,170,382,143,385,126,385,126,380,103,382,70,382,70,380,103,367,82,382,70,367,82,356,47,356,47,367,82,345,64,356,47,345,64,321,29,321,29,345,64,318,50,321,29,318,50,285,39,280,18,321,29,285,39,176,38,186,17,188,36,188,36,186,17,200,15,188,36,200,15,201,34,201,34,200,15,215,14,201,34,215,14,214,33,214,33,215,14,228,32,232,32,228,32,230,13,232,32,230,13,232,13,291,211,284,234,279,214,279,214,284,234,271,236,279,214,271,236,267,217,267,217,271,236,258,237,267,217,258,237,254,218,254,218,258,237,244,238,254,218,244,238,241,219,241,219,244,238,230,238,241,219,230,238,228,219,232,13,235,13,235,33,235,33,235,13,237,14,235,33,237,14,239,33,239,33,237,14,239,14,230,238,214,238,216,219,230,238,216,219,220,219,230,238,220,219,224,219,230,238,224,219,228,219,228,32,215,14,230,13,232,32,232,13,235,33,176,38,172,19,186,17,76,182,79,149,101,204,168,-108,170,-140,172,-109,172,-109,171,-137,173,-135,46,-108,49,-140,51,-109,51,-109,49,-137,52,-135, 319,60,319,93,170,93,200,160,319,160,319,193,214,193,274,331,247,331,187,193,24,193,24,160,172,160,143,93,24,93,24,60,128,60,69,-77,95,-77,156,60,319,206,319,239,24,239,24,206,16383,16383,319,110,319,143,24,143,24,110,16383,16383,319,14,319,47,24,47,24,14,319,14,319,47,150,47,177,110,319,110,319,143, 128,60,69,-77,95,-77,128,60,95,-77,156,60,128,60,156,60,143,93,128,60,143,93,24,93,128,60,24,93,24,60,172,160,143,93,156,60,172,160,156,60,170,93,172,160,170,93,200,160,172,160,200,160,187,193,172,160,187,193,24,193,172,160,24,193,24,160,214,193,274,331,247,331,214,193,247,331,200,160,214,193,200,160,319,160,214,193,319,160,319,193,170,93,156,60,319,60,170,93,319,60,319,93,187,193,200,160,247,331, 319,206,319,239,24,239,24,206,16383,16383,319,110,319,143,24,143,24,110,16383,16383,319,14,319,47,24,47,24,14,319,14,319,47,150,47,177,110,319,110,319,143,192,143,219,206,319,206,319,239,233,239,274,331,247,331,207,239, 24,239,24,206,319,206,24,239,319,206,319,239,24,143,24,110,319,110,24,143,319,110,319,143,24,47,24,14,319,14,24,47,319,14,319,47, 319,14,319,47,150,47,177,110,319,110,319,143,192,143,219,206,319,206,319,239,233,239,274,331,247,331,207,239,24,239,24,206,193,206,165,143,24,143,24,110,151,110,123,47,24,47,24,14,108,14,69,-77,95,-77,136,14,319,239,319,272,24,272,24,239,16383,16383,319,153,319,186,24,186,24,153,16383,16383,319,67,319,100,24,100,24,67,16383,16383,319,-18,319,14,24,14,24,-18,315,26,315,57,99,165,315,272,315,305,32,167,32,162,16383,16383,315,-50, 108,14,69,-77,95,-77,108,14,95,-77,136,14,108,14,136,14,123,47,108,14,123,47,24,47,108,14,24,47,24,14,151,110,123,47,136,14,151,110,136,14,150,47,151,110,150,47,177,110,151,110,177,110,165,143,151,110,165,143,24,143,151,110,24,143,24,110,193,206,165,143,177,110,193,206,177,110,192,143,193,206,192,143,219,206,193,206,219,206,207,239,193,206,207,239,24,239,193,206,24,239,24,206,233,239,274,331,247,331,233,239,247,331,219,206,233,239,219,206,319,206,233,239,319,206,319,239,192,143,177,110,319,110,192,143,319,110,319,143,150,47,136,14,319,14,150,47,319,14,319,47,207,239,219,206,247,331, 319,239,319,272,24,272,24,239,16383,16383,319,153,319,186,24,186,24,153,16383,16383,319,67,319,100,24,100,24,67,16383,16383,319,-18,319,14,24,14,24,-18,315,26,315,57,99,165,315,272,315,305,32,167,32,162,16383,16383,315,-50,315,-17,32,-17,32,-50,315,162,315,167,32,305,32,272,248,165,32,57,32,26, 24,272,24,239,319,239,24,272,319,239,319,272,24,186,24,153,319,153,24,186,319,153,319,186,24,100,24,67,319,67,24,100,319,67,319,100,24,14,24,-18,319,-18,24,14,319,-18,319,14, 315,26,315,57,99,165,315,272,315,305,32,167,32,162,16383,16383,315,-50,315,-17,32,-17,32,-50,315,162,315,167,32,305,32,272,248,165,32,57,32,26,16383,16383,315,-50,315,-17,32,-17,32,-50, 99,165,315,272,315,305,99,165,315,305,32,167,99,165,32,167,315,26,99,165,315,26,315,57,32,-17,32,-50,315,-50,32,-17,315,-50,315,-17,315,26,32,167,32,162, 315,162,315,167,32,305,32,272,248,165,32,57,32,26,16383,16383,315,-50,315,-17,32,-17,32,-50,311,80,311,112,95,219,311,326,311,359,28,222,28,217,16383,16383,311,-5,311,27,28,27,28,-5, 248,165,32,57,315,162,248,165,315,162,315,167,248,165,315,167,32,305,248,165,32,305,32,272,32,-17,32,-50,315,-50,32,-17,315,-50,315,-17,315,162,32,57,32,26, 311,80,311,112,95,219,311,326,311,359,28,222,28,217,16383,16383,311,-5,311,27,28,27,28,-5,16383,16383,311,-104,311,-72,28,-72,28,-104,311,217,311,222,28,359,28,326,244,219,28,112,28,80,16383,16383,311,-5,311,27,28,27,28,-5,16383,16383,311,-104,311,-72,28,-72,28,-104, 95,219,311,326,311,359,95,219,311,359,28,222,95,219,28,222,311,80,95,219,311,80,311,112,28,27,28,-5,311,-5,28,27,311,-5,311,27,28,-72,28,-104,311,-104,28,-72,311,-104,311,-72,311,80,28,222,28,217, 311,217,311,222,28,359,28,326,244,219,28,112,28,80,16383,16383,311,-5,311,27,28,27,28,-5,16383,16383,311,-104,311,-72,28,-72,28,-104,310,94,310,126,94,233,310,340,310,373,28,235,28,230,16383,16383,310,-91,310,-58,158,-58,200,8,310,8,310,41,221,41,245,79,215,79, 244,219,28,112,311,217,244,219,311,217,311,222,244,219,311,222,28,359,244,219,28,359,28,326,28,27,28,-5,311,-5,28,27,311,-5,311,27,28,-72,28,-104,311,-104,28,-72,311,-104,311,-72,311,217,28,112,28,80, 310,94,310,126,94,233,310,340,310,373,28,235,28,230,16383,16383,310,-91,310,-58,158,-58,200,8,310,8,310,41,221,41,245,79,215,79,191,41,28,41,28,8,171,8,128,-58,28,-58,28,-91,108,-91,84,-129,114,-129,138,-91,310,230,310,235,28,373,28,340,244,233,28,126,28,94,16383,16383,310,-91,310,-58,165,-58,207,8,310,8,310,41,228,41,252,79,222,79,198,41,28,41,28,8,177,8,135,-58,28,-58,28,-91,114,-91,91,-129,121,-129,145,-91, 94,233,310,340,310,373,94,233,310,373,28,235,94,233,28,235,310,94,94,233,310,94,310,126,28,41,171,8,191,41,191,41,171,8,200,8,191,41,200,8,215,79,215,79,200,8,221,41,215,79,221,41,245,79,221,41,200,8,310,8,221,41,310,8,310,41,108,-91,114,-129,128,-58,128,-58,114,-129,138,-91,128,-58,138,-91,171,8,171,8,138,-91,158,-58,171,8,158,-58,200,8,28,-58,28,-91,108,-91,28,-58,108,-91,128,-58,158,-58,138,-91,310,-91,158,-58,310,-91,310,-58,114,-129,108,-91,84,-129,171,8,28,41,28,8,310,94,28,235,28,230, 310,230,310,235,28,373,28,340,244,233,28,126,28,94,16383,16383,310,-91,310,-58,165,-58,207,8,310,8,310,41,228,41,252,79,222,79,198,41,28,41,28,8,177,8,135,-58,28,-58,28,-91,114,-91,91,-129,121,-129,145,-91,454,-12,454,18,238,127,454,233,454,266,171,129,171,124,16383,16383,295,-12,295,18,79,127,295,233,295,266,12,129,12,124,454,124,454,129,171,266,171,233,387,127,171,18,171,-12,16383,16383,295,124,295,129,12,266,12,233,228,127, 244,233,28,126,310,230,244,233,310,230,310,235,244,233,310,235,28,373,244,233,28,373,28,340,28,41,177,8,198,41,198,41,177,8,207,8,198,41,207,8,222,79,222,79,207,8,228,41,222,79,228,41,252,79,228,41,207,8,310,8,228,41,310,8,310,41,114,-91,121,-129,135,-58,135,-58,121,-129,145,-91,135,-58,145,-91,177,8,177,8,145,-91,165,-58,177,8,165,-58,207,8,28,-58,28,-91,114,-91,28,-58,114,-91,135,-58,165,-58,145,-91,310,-91,165,-58,310,-91,310,-58,121,-129,114,-91,91,-129,177,8,28,41,28,8,310,230,28,126,28,94, 454,-12,454,18,238,127,454,233,454,266,171,129,171,124,16383,16383,295,-12,295,18,79,127,295,233,295,266,12,129,12,124,454,124,454,129,171,266,171,233,387,127,171,18,171,-12,16383,16383,295,124,295,129,12,266,12,233,228,127,12,18,12,-12, 238,127,454,233,454,266,238,127,454,266,171,129,238,127,171,129,454,-12,238,127,454,-12,454,18,79,127,295,233,295,266,79,127,295,266,12,129,79,127,12,129,295,-12,79,127,295,-12,295,18,295,-12,12,129,12,124,454,-12,171,129,171,124, 454,124,454,129,171,266,171,233,387,127,171,18,171,-12,16383,16383,295,124,295,129,12,266,12,233,228,127,12,18,12,-12,190,-102,179,-89,167,-74,154,-59,130,-25,149,4,165,35,176,66,183,97,185,127,183,156,176,187,164,218,149,248,130,278, 387,127,171,18,454,124,387,127,454,124,454,129,387,127,454,129,171,266,387,127,171,266,171,233,228,127,12,18,295,124,228,127,295,124,295,129,228,127,295,129,12,266,228,127,12,266,12,233,295,124,12,18,12,-12,454,124,171,18,171,-12, 190,-102,179,-89,167,-74,154,-59,130,-25,149,4,165,35,176,66,183,97,185,127,183,156,176,187,164,218,149,248,130,278,142,296,154,312,167,328,179,342,190,355,190,365,174,353,158,340,143,326,130,312,117,296,103,312,89,326,74,340,59,353,42,365,42,357,66,329,78,313,91,296,103,278,84,249,68,218,57,187,50,156,47,127,50,97,57,66,68,35,84,4,103,-25,91,-42,78,-58,66,-74,42,-102,42,-111,59,-99,89,-73,117,-43,143,-73,158,-86,174,-99,190,-111,16383,16383,152,127,151,98,146,70,138,45,128,20,116,-2,104,20,95,45,87,71,82,98,80,127,82,155,87,182,95,208,105,233,117,256,128,233,138,208,146,182,151,155,152,127,319,22,300,49,273,71,242,87,207,96,174,100,198,155,227,162,255,173,281,188,303,208,319,232,319,249,302,230,283,215,261,204,237,195,213,190,254,286,228,286,184,186,171,186,138,188,105,195,75,206,47,224,24,249,24,232,43,204,69,182,101,166,135,156,170,153,146,98,116,92,88,81,61,65,40,46,24,22,24,4,40,22,60,38,82,49,106,58,131,64,89,-32,116,-32,159,66,161,67,171,67,204,65,237,58,268,46,295,28,319,4,310,-12,310,18,171,88,214,185,310,233,310,266,232,228,277,331,250,331,198,211,28,128,28,123,137,71,71,-77,99,-77,158,60,16383,16383,179,168,148,99,94,126,310,123,310,128,203,181,268,331,241,331, 130,278,142,296,143,326,143,326,142,296,154,312,143,326,154,312,158,340,158,340,154,312,167,328,158,340,167,328,174,353,174,353,167,328,179,342,174,353,179,342,190,365,190,365,179,342,190,355,117,296,103,312,105,233,117,296,105,233,117,256,117,256,128,233,130,312,130,312,128,233,130,278,130,312,130,278,143,326,116,-2,117,-43,128,20,128,20,117,-43,130,-58,128,20,130,-58,130,-25,130,-25,130,-58,143,-73,130,-25,138,45,128,20,183,97,183,156,176,66,176,66,183,156,176,187,176,66,176,187,165,35,165,35,176,187,164,218,165,35,164,218,152,127,152,127,164,218,151,155,149,248,130,278,138,208,149,248,138,208,146,182,149,248,146,182,151,155,149,248,151,155,164,218,130,312,117,296,117,256,165,35,152,127,151,98,165,35,151,98,149,4,149,4,151,98,146,70,149,4,146,70,138,45,142,-42,143,-73,154,-59,154,-59,143,-73,158,-86,154,-59,158,-86,167,-74,167,-74,158,-86,174,-99,167,-74,174,-99,179,-89,179,-89,174,-99,190,-111,179,-89,190,-111,190,-102,105,233,103,312,103,278,103,278,103,312,91,296,91,296,103,312,89,326,91,296,89,326,78,313,78,313,89,326,74,340,78,313,74,340,66,329,66,329,74,340,59,353,66,329,59,353,54,343,54,343,59,353,42,365,54,343,42,365,42,357,103,-58,103,-25,91,-42,103,-58,91,-42,89,-73,89,-73,91,-42,78,-58,89,-73,78,-58,74,-86,74,-86,78,-58,66,-74,74,-86,66,-74,59,-99,59,-99,66,-74,54,-88,59,-99,54,-88,42,-102,104,20,95,45,103,-25,104,20,103,-25,103,-58,104,20,103,-58,117,-43,104,20,117,-43,116,-2,103,278,84,249,87,182,103,278,87,182,95,208,103,278,95,208,105,233,84,249,68,218,68,35,84,249,68,35,80,127,84,249,80,127,82,155,84,249,82,155,87,182,87,71,82,98,84,4,84,4,82,98,80,127,68,35,68,218,57,66,57,66,68,218,57,187,57,66,57,187,50,97,50,97,57,187,50,156,50,97,50,156,47,127,87,71,84,4,103,-25,87,71,103,-25,95,45,84,4,80,127,68,35,59,-99,42,-102,42,-111,130,-25,143,-73,142,-42,138,45,130,-25,149,4,183,156,183,97,185,127,130,278,128,233,138,208, 319,22,300,49,273,71,242,87,207,96,174,100,198,155,227,162,255,173,281,188,303,208,319,232,319,249,302,230,283,215,261,204,237,195,213,190,254,286,228,286,184,186,171,186,138,188,105,195,75,206,47,224,24,249,24,232,43,204,69,182,101,166,135,156,170,153,146,98,116,92,88,81,61,65,40,46,24,22,24,4,40,22,60,38,82,49,106,58,131,64,89,-32,116,-32,159,66,161,67,171,67,204,65,237,58,268,46,295,28,319,4,310,-12,310,18,171,88,214,185,310,233,310,266,232,228,277,331,250,331,198,211,28,128,28,123,137,71,71,-77,99,-77,158,60,16383,16383,179,168,148,99,94,126,310,123,310,128,203,181,268,331,241,331,180,192,28,266,28,233,168,164,126,68,28,18,28,-12,108,26,63,-77,89,-77,142,42,16383,16383,244,126,161,84,190,153,310,-50,310,-17,129,-17,171,92,310,25,310,56,181,120,220,226,310,271,310,304,236,267,272,365,246,365,203,251,28,166, 40,22,60,38,61,65,61,65,60,38,82,49,61,65,82,49,88,81,88,81,82,49,106,58,88,81,106,58,116,92,116,92,106,58,131,64,146,98,131,64,159,66,146,98,159,66,170,153,170,153,159,66,161,67,170,153,161,67,164,67,40,22,61,65,40,46,40,22,40,46,24,22,40,22,24,22,24,4,135,156,170,153,138,188,138,188,170,153,171,186,173,186,171,186,171,67,173,186,171,67,174,100,174,100,171,67,204,65,174,100,204,65,207,96,207,96,204,65,237,58,207,96,237,58,242,87,242,87,237,58,268,46,242,87,268,46,273,71,273,71,268,46,295,28,273,71,295,28,300,49,300,49,295,28,319,4,300,49,319,4,319,22,24,249,43,204,47,224,47,224,43,204,69,182,47,224,69,182,75,206,75,206,69,182,101,166,75,206,101,166,105,195,105,195,101,166,135,156,105,195,135,156,138,188,171,67,171,186,170,153,171,67,170,153,168,67,170,153,164,67,166,67,170,153,166,67,168,67,131,64,89,-32,116,-32,131,64,116,-32,159,66,319,249,302,230,303,208,303,208,302,230,283,215,303,208,283,215,281,188,281,188,283,215,261,204,281,188,261,204,255,173,255,173,261,204,237,195,255,173,237,195,227,162,227,162,237,195,213,190,227,162,213,190,198,155,228,286,184,186,198,155,228,286,198,155,213,190,228,286,213,190,254,286,198,155,184,186,181,186,198,155,181,186,179,186,198,155,179,186,176,186,198,155,176,186,174,100,176,186,173,186,174,100,43,204,24,249,24,232,319,249,303,208,319,232,116,92,131,64,146,98, 310,-12,310,18,171,88,214,185,310,233,310,266,232,228,277,331,250,331,198,211,28,128,28,123,137,71,71,-77,99,-77,158,60,16383,16383,179,168,148,99,94,126,310,123,310,128,203,181,268,331,241,331,180,192,28,266,28,233,168,164,126,68,28,18,28,-12,108,26,63,-77,89,-77,142,42,16383,16383,244,126,161,84,190,153, 198,211,28,128,94,126,94,126,28,128,137,71,94,126,137,71,148,99,148,99,137,71,158,60,148,99,158,60,179,168,179,168,158,60,171,88,179,168,171,88,214,185,94,126,179,168,198,211,198,211,179,168,214,185,198,211,214,185,250,331,250,331,214,185,232,228,250,331,232,228,277,331,137,71,71,-77,99,-77,137,71,99,-77,158,60,232,228,214,185,310,233,232,228,310,233,310,266,171,88,158,60,310,-12,171,88,310,-12,310,18,137,71,28,128,28,123, 310,123,310,128,203,181,268,331,241,331,180,192,28,266,28,233,168,164,126,68,28,18,28,-12,108,26,63,-77,89,-77,142,42,16383,16383,244,126,161,84,190,153,310,-50,310,-17,129,-17,171,92,310,25,310,56,181,120,220,226,310,271,310,304,236,267,272,365,246,365,203,251,28,166,28,161,147,103,103,-17,28,-17,28,-50, 108,26,63,-77,89,-77,108,26,89,-77,142,42,108,26,142,42,126,68,108,26,126,68,28,18,108,26,28,18,28,-12,168,164,126,68,142,42,168,164,142,42,161,84,168,164,161,84,190,153,168,164,190,153,180,192,168,164,180,192,28,266,168,164,28,266,28,233,203,181,268,331,241,331,203,181,241,331,190,153,203,181,190,153,244,126,203,181,244,126,310,128,310,123,310,128,244,126,310,123,244,126,161,84,310,123,161,84,142,42,180,192,190,153,241,331, 320,0,320,33,190,33,190,331,157,331,157,33,26,33,26,0,313,126,309,150,298,171,281,188,260,199,235,203,211,199,189,188, 190,331,157,331,190,33,190,33,157,331,157,33,190,33,157,33,320,0,320,0,157,33,26,33,320,0,26,33,26,0,190,33,320,0,320,33 }; mathgl-2.1.3.1/src/prc.cpp0000664000175000017500000007651512142400470015005 0ustar balakinbalakin/*************************************************************************** * prc.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include #include #include "mgl2/canvas.h" #include "mgl2/canvas_cf.h" #include "prc/oPRCFile.h" #include #include #include #include #include #include #if MGL_HAVE_PDF #include #include #include #include #endif // MGL_HAVE_PDF #undef _GR_ #define _GR_ ((mglCanvas *)(*gr)) #define _Gr_ ((mglCanvas *)(gr)) //----------------------------------------------------------------------------- void mglTexture::GetRGBAPRC(unsigned char *f) const { register size_t i,j,i0; mglColor c1,c2,c; for(i=0;i<256;i++) { c1 = col[2*i]; c2 = col[2*i+1]; for(j=0;j<256;j++) { i0 = 4*(j+256*(255-i)); c = c1 + (c2-c1)*(j/255.); f[i0] = int(255*c.r); f[i0+1] = int(255*c.g); f[i0+2] = int(255*c.b); f[i0+3] = int(255*c.a); } } } //----------------------------------------------------------------------------- int MGL_NO_EXPORT mgl_tga_save(const char *fname, int w, int h, unsigned char **p); int MGL_NO_EXPORT mgl_pnga_save(const char *fname, int w, int h, unsigned char **p); void MGL_NO_EXPORT mgl_printf(void *fp, bool gz, const char *str, ...); //----------------------------------------------------------------------------- struct prctriangle { uint32_t pi[3]; uint32_t ti[3]; }; //----------------------------------------------------------------------------- struct prctriangles { prctriangles(const HMGL g) : samecolour(true), samealpha(true), gr(g), ntxt(g->GetTxtNum()), vertexcolor(g->get(MGL_PREFERVC)) {} std::map points; std::map texturecoords; std::map colours; std::vector triangles; RGBAColour commoncolour; bool samecolour; float commonalpha; bool samealpha; const HMGL gr; const size_t ntxt; bool vertexcolor; uint32_t addPoint(const mglPnt& p) { const PRCVector3d point(p.x,p.y,p.z); std::map::iterator pPoint = points.find(point); if(pPoint!=points.end()) return pPoint->second; else { const uint32_t point_index = (uint32_t)points.size(); points.insert(std::make_pair(point,point_index)); return point_index; } } uint32_t addPoint(float x, float y, float z) { const PRCVector3d point(x,y,z); std::map::iterator pPoint = points.find(point); if(pPoint!=points.end()) return pPoint->second; else { const uint32_t point_index = (uint32_t)points.size(); points.insert(std::make_pair(point,point_index)); return point_index; } } void writePoints(double (*P)[3]) { for(std::map::const_iterator pPoint = points.begin(); pPoint != points.end(); pPoint++) { P[pPoint->second][0] = pPoint->first.x; P[pPoint->second][1] = pPoint->first.y; P[pPoint->second][2] = pPoint->first.z; } } void addTriangle(uint32_t ti, uint32_t pi1, uint32_t pi2, uint32_t pi3) { prctriangle triangle; triangle.pi[0] = pi1; triangle.pi[1] = pi2; triangle.pi[2] = pi3; triangle.ti[0] = ti; triangle.ti[1] = ti; triangle.ti[2] = ti; triangles.push_back(triangle); } void addTriangle(uint32_t pi1, uint32_t ti1, uint32_t pi2, uint32_t ti2, uint32_t pi3, uint32_t ti3) { prctriangle triangle; triangle.pi[0] = pi1; triangle.pi[1] = pi2; triangle.pi[2] = pi3; triangle.ti[0] = ti1; triangle.ti[1] = ti2; triangle.ti[2] = ti3; triangles.push_back(triangle); } uint32_t addColourInfo(const mglPnt& p) { const RGBAColour colour(p.r,p.g,p.b,p.a); if (colours.empty() && texturecoords.empty()) { commoncolour = colour; commonalpha = p.a; } if (samecolour) { if (commoncolour != colour) samecolour = false; } if (samealpha) { if (commonalpha != p.a) samealpha = false; } if (vertexcolor) { std::map::iterator pColour = colours.find(colour); if(pColour!=colours.end()) return pColour->second; else { const uint32_t colour_index = (uint32_t)colours.size(); colours.insert(std::make_pair(colour,colour_index)); return colour_index; } } else { const mreal gap = 1./512; const double u = p.ta*(1-2*gap)+gap; const double v = ((p.c-floor(p.c))*(1-2*gap) + gap + floor(p.c))/ntxt; const PRCVector2d point(u, v); std::map::iterator pPoint = texturecoords.find(point); if(pPoint!=texturecoords.end()) return pPoint->second; else { const uint32_t point_index = (uint32_t)texturecoords.size(); texturecoords.insert(std::make_pair(point,point_index)); return point_index; } } } void writeTextureCoords(double (*T)[2]) { for(std::map::const_iterator pPoint = texturecoords.begin(); pPoint != texturecoords.end(); pPoint++) { T[pPoint->second][0] = pPoint->first.x; T[pPoint->second][1] = pPoint->first.y; } } void writeColours(RGBAColour *C) { for(std::map::const_iterator pColour = colours.begin(); pColour != colours.end(); pColour++) { C[pColour->second] = pColour->first; } } }; //----------------------------------------------------------------------------- /* structure to store PNG image bytes */ struct png_buf { uint8_t *data; size_t size; }; //----------------------------------------------------------------------------- void my_png_write_data(png_structp png_ptr, png_bytep data, png_size_t length) { struct png_buf* p=(struct png_buf*)png_get_io_ptr(png_ptr); size_t nsize = p->size + length; /* allocate or grow buffer */ if(p->data) p->data = (uint8_t*)realloc(p->data, nsize); else p->data = (uint8_t*)malloc(nsize); if(!p->data) png_error(png_ptr, "Write Error - no mem"); /* copy new bytes to end of buffer */ memcpy(p->data + p->size, data, length); p->size += length; } //----------------------------------------------------------------------------- void my_png_flush(png_structp /*png_ptr*/) { } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_prc(HMGL gr, const char *fname,const char* /*descr*/, int make_pdf) { if(gr->GetPrmNum()==0) return; // nothing to do { long mmin=0,mmax=0,m; for(size_t i=0;iGrp.size();i++) // prepare array of indirect indexing { m = gr->Grp[i].Id; if(mmmax) mmax=m; } long *ng = new long[mmax-mmin+1]; for(size_t i=0;iGrp.size();i++) ng[gr->Grp[i].Id-mmin] = i; for(size_t i=0;iGetPrmNum());i++) // collect data for groups // it is rather expensive (extra 4b per primitive) but need for export to 3D { m = gr->GetPrm(i).id-mmin; if(m>=0 && mGrp[ng[m]].p.push_back(i); } delete []ng; } const size_t len=strlen(fname); char * const tname = new char[len+9]; strcpy(tname,fname); if (strncmp(tname+len-4, ".prc", 4)!=0) { tname[len]='.'; tname[len+1]='p'; tname[len+2]='r'; tname[len+3]='c'; tname[len+4]='\0'; } oPRCFile file(tname); PRCoptions grpopt; grpopt.tess = true; grpopt.closed = gr->get(MGL_ONESIDED); // set to true to make only front side visible // grpopt.no_break = true; // grpopt.do_break = false; grpopt.crease_angle = 80; uint32_t materialMathGLid = m1; if (gr->get(MGL_PREFERVC)) { const PRCmaterial materialMathGL( RGBAColour(0.1,0.1,0.1,1), // ambient RGBAColour(1.0,1.0,1.0,1), // diffuse RGBAColour(0.1,0.1,0.1,1), // emissive RGBAColour(0.0,0.0,0.0,1), // spectral 1.0,0.1 // alpha, shininess ); materialMathGLid = file.addMaterial(materialMathGL); } else { png_buf buffer; buffer.data = (uint8_t*)malloc(1024);; buffer.size = 0; const size_t ntxt = gr->GetTxtNum(); // prepare texture file (PNG) const png_uint_32 width=256, height=256*png_uint_32(ntxt); png_bytep buf = new png_byte[4*width*height]; png_bytepp pbuf= new png_bytep[height]; for(size_t i=0;iGetTxt(i).GetRGBAPRC(buf+(ntxt-1-i)*256*width*4); png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,0,0,0); png_infop info_ptr = png_create_info_struct(png_ptr); png_set_write_fn(png_ptr, &buffer, my_png_write_data, my_png_flush); png_set_filter(png_ptr, 0, PNG_ALL_FILTERS); png_set_compression_level(png_ptr, Z_BEST_COMPRESSION); png_set_IHDR(png_ptr, info_ptr, width, height, 8, PNG_COLOR_TYPE_RGB_ALPHA, PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); png_set_rows(png_ptr, info_ptr, pbuf); png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, 0); png_write_end(png_ptr, info_ptr); png_destroy_write_struct(&png_ptr, &info_ptr); delete []pbuf; delete []buf; PRCtexture* t = new PRCtexture(); t->mapping = PRC_TEXTURE_MAPPING_DIFFUSE; t->components = PRC_TEXTURE_MAPPING_COMPONENTS_RGBA; // Modulate for OBJ compatibilty, Replace is a better setting t->function = KEPRCTextureFunction_Replace; // Repeat for OBJ compatibilty, ClampToEdge is a better setting t->wrapping_mode_S = KEPRCTextureWrappingMode_ClampToEdge; t->wrapping_mode_T = KEPRCTextureWrappingMode_ClampToEdge; t->data = buffer.data; t->size = buffer.size; t->format = KEPRCPicture_PNG; PRCmaterial m( RGBAColour(0.0,0.0,0.0,1), // ambient RGBAColour(1.0,1.0,1.0,1), // diffuse RGBAColour(0.0,0.0,0.0,1), // emissive RGBAColour(0.0,0.0,0.0,1), // spectral 1.0,0.1); // alpha, shininess materialMathGLid = file.addTexturedMaterial(m,1,&t); delete t; // char * const pngname = new char[len+100]; // strcpy(pngname, "test_texture_"); // strcat(pngname,tname); // const size_t tlen=strlen(pngname)-4; // pngname[tlen+1]='p'; pngname[tlen+2]='n'; pngname[tlen+3]='g'; // FILE *fp = fopen(pngname, "wb"); // fwrite(buffer.data, 1, buffer.size, fp); // fclose(fp); // delete[] pngname; free(buffer.data); buffer.data = NULL; } // primitive definition in groups mglPnt p0; const double width = dynamic_cast(gr)->GetWidth(); const double height = dynamic_cast(gr)->GetHeight(); const double depth = sqrt(width*height); p0.x = width/2.; p0.y = height/2.; p0.z = (1.f-sqrt(width*height)/(2*depth))*depth; for(size_t i=0;iGrp.size();i++) { mglGroup& grp = gr->Grp[i]; std::vector& prm = grp.p; prctriangles group(gr); file.begingroup(grp.Lbl.c_str(),&grpopt); for(size_t j=0;jGetPrm(prm[j]); const double w = (q.w>1)?(q.w*sqrt(gr->FontFactor()/400.)):1; const mglPnt p = gr->GetPnt(q.n1) - p0; const mreal size = q.s; { switch(q.type) { case 0: if (gr->GetPnt(q.n1).a > mgl_min_a) { const char type = q.n4; float ss=size; const RGBAColour c(p.r, p.g, p.b, p.a); if(!strchr("xsSoO",type)) ss *= 1.1; if(type=='.' || ss==0) { const double P[3] = {p.x, p.y, p.z}; file.addPoint(P, c, w); } else switch(type) { case 'P': { const double P[5][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z }, { p.x-ss,p.y+ss,p.z }, { p.x-ss,p.y-ss,p.z } }; file.addLine(5, P, c, w); } case '+': { const double P1[2][3] = { { p.x-ss,p.y,p.z }, { p.x+ss,p.y,p.z } }; file.addLine(2, P1, c, w); const double P2[2][3] = { { p.x,p.y-ss,p.z }, { p.x,p.y+ss,p.z } }; file.addLine(2, P2, c, w); } break; case 'X': { const double P[5][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z }, { p.x-ss,p.y+ss,p.z }, { p.x-ss,p.y-ss,p.z } }; file.addLine(5, P, c, w); const double P1[2][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z } }; file.addLine(2, P1, c, w); const double P2[2][3] = { { p.x+ss,p.y-ss,p.z }, { p.x-ss,p.y+ss,p.z } }; file.addLine(2, P2, c, w); } break; case 'x': { const double P1[2][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z } }; file.addLine(2, P1, c, w); const double P2[2][3] = { { p.x+ss,p.y-ss,p.z }, { p.x-ss,p.y+ss,p.z } }; file.addLine(2, P2, c, w); } break; case 'S': { const uint32_t ti = group.addColourInfo(p); const uint32_t pi1 = group.addPoint(p.x-ss,p.y-ss,p.z); const uint32_t pi2 = group.addPoint(p.x+ss,p.y-ss,p.z); const uint32_t pi3 = group.addPoint(p.x-ss,p.y+ss,p.z); const uint32_t pi4 = group.addPoint(p.x+ss,p.y+ss,p.z); group.addTriangle(ti, pi1, pi2, pi3); group.addTriangle(ti, pi4, pi3, pi2); } break; case 's': { const double P[5][3] = { { p.x-ss,p.y-ss,p.z }, { p.x+ss,p.y-ss,p.z }, { p.x+ss,p.y+ss,p.z }, { p.x-ss,p.y+ss,p.z }, { p.x-ss,p.y-ss,p.z } }; file.addLine(5, P, c, w); } break; case 'D': { const uint32_t ti = group.addColourInfo(p); const uint32_t pi1 = group.addPoint(p.x,p.y-ss,p.z); const uint32_t pi2 = group.addPoint(p.x+ss,p.y,p.z); const uint32_t pi3 = group.addPoint(p.x-ss,p.y,p.z); const uint32_t pi4 = group.addPoint(p.x,p.y+ss,p.z); group.addTriangle(ti, pi1, pi2, pi3); group.addTriangle(ti, pi4, pi3, pi2); } break; case 'd': { const double P[5][3] = { { p.x,p.y-ss,p.z }, { p.x+ss,p.y,p.z }, { p.x,p.y+ss,p.z }, { p.x-ss,p.y,p.z }, { p.x,p.y-ss,p.z } }; file.addLine(5, P, c, w); } break; case 'Y': { const double P1[3][3] = { { p.x, p.y-ss, p.z }, { p.x, p.y, p.z }, { p.x+0.8*ss,p.y+0.6*ss,p.z } }; file.addLine(3, P1, c, w); const double P2[2][3] = { { p.x, p.y, p.z }, { p.x-0.8*ss,p.y+0.6*ss,p.z } }; file.addLine(2, P2, c, w); } break; case '*': { const double P1[2][3] = { { p.x-ss,p.y,p.z }, { p.x+ss,p.y,p.z } }; file.addLine(2, P1, c, w); const double P2[2][3] = { { p.x-0.6*ss,p.y-0.8*ss,p.z }, { p.x+0.6*ss,p.y+0.8*ss,p.z } }; file.addLine(2, P2, c, w); const double P3[2][3] = { { p.x-0.6*ss,p.y+0.8*ss,p.z }, { p.x+0.6*ss,p.y-0.8*ss,p.z } }; file.addLine(2, P3, c, w); } break; case 'T': { const uint32_t ti = group.addColourInfo(p); const uint32_t pi1 = group.addPoint(p.x-ss,p.y-ss/2,p.z); const uint32_t pi2 = group.addPoint(p.x+ss,p.y-ss/2,p.z); const uint32_t pi3 = group.addPoint(p.x,p.y+ss,p.z); group.addTriangle(ti, pi1, pi2, pi3); } break; case '^': { const double P[4][3] = { { p.x-ss,p.y-ss/2,p.z }, { p.x+ss,p.y-ss/2,p.z }, { p.x, p.y+ss, p.z }, { p.x-ss,p.y-ss/2,p.z } }; file.addLine(4, P, c, w); } break; case 'V': { const uint32_t ti = group.addColourInfo(p); const uint32_t pi1 = group.addPoint(p.x-ss,p.y+ss/2,p.z); const uint32_t pi2 = group.addPoint(p.x,p.y-ss,p.z); const uint32_t pi3 = group.addPoint(p.x+ss,p.y+ss/2,p.z); group.addTriangle(ti, pi1, pi2, pi3); } break; case 'v': { const double P[4][3] = { { p.x-ss,p.y+ss/2,p.z }, { p.x+ss,p.y+ss/2,p.z }, { p.x, p.y-ss, p.z }, { p.x-ss,p.y+ss/2,p.z } }; file.addLine(4, P, c, w); } break; case 'L': { const uint32_t ti = group.addColourInfo(p); const uint32_t pi1 = group.addPoint(p.x+ss/2,p.y+ss,p.z); const uint32_t pi2 = group.addPoint(p.x-ss, p.y, p.z); const uint32_t pi3 = group.addPoint(p.x+ss/2,p.y-ss,p.z); group.addTriangle(ti, pi1, pi2, pi3); } break; case '<': { const double P[4][3] = { { p.x+ss/2,p.y+ss,p.z }, { p.x+ss/2,p.y-ss,p.z }, { p.x-ss, p.y, p.z }, { p.x+ss/2,p.y+ss,p.z } }; file.addLine(4, P, c, w); } break; case 'R': { const uint32_t ti = group.addColourInfo(p); const uint32_t pi1 = group.addPoint(p.x-ss/2,p.y+ss,p.z); const uint32_t pi2 = group.addPoint(p.x-ss/2,p.y-ss,p.z); const uint32_t pi3 = group.addPoint(p.x+ss, p.y, p.z); group.addTriangle(ti, pi1, pi2, pi3); } break; case '>': { const double P[4][3] = { { p.x-ss/2,p.y+ss,p.z }, { p.x-ss/2,p.y-ss,p.z }, { p.x+ss, p.y, p.z }, { p.x-ss/2,p.y+ss,p.z } }; file.addLine(4, P, c, w); } break; case 'O': { const uint32_t ti = group.addColourInfo(p); const uint32_t cpi=group.addPoint(p); uint32_t pnti[21]; for(size_t k=0;k<=20;k++) pnti[k]=group.addPoint(p.x+ss*cos(k*M_PI/10),p.y+ss*sin(k*M_PI/10),p.z); for(size_t k=0;k<20;k++) { group.addTriangle(ti, pnti[k], pnti[k+1], cpi); } } break; case 'C': { const double P[3] = {p.x, p.y, p.z}; file.addPoint(P, c, w); } case 'o': { double P[21][3]; for(size_t k=0;k<=20;k++) { P[k][0] = p.x+ss*cos(k*M_PI/10); P[k][1] = p.y+ss*sin(k*M_PI/10); P[k][2] = p.z; } file.addLine(21, P, c, w); } break; } } break; case 1: if (gr->GetPnt(q.n1).a > mgl_min_a || gr->GetPnt(q.n2).a > mgl_min_a) { const mglPnt p1 = gr->GetPnt(q.n1) - p0, p2 = gr->GetPnt(q.n2) - p0; const uint32_t n = 2; double P[2][3]; P[0][0] = p1.x; P[0][1] = p1.y; P[0][2] = p1.z; P[1][0] = p2.x; P[1][1] = p2.y; P[1][2] = p2.z; const RGBAColour colour((p1.r+p2.r)/2, (p1.g+p2.g)/2, (p1.b+p2.b)/2, (p1.a+p2.a)/2); file.addLine(n, P, colour, w); } break; case 2: if (gr->GetPnt(q.n1).a > mgl_min_a || gr->GetPnt(q.n2).a > mgl_min_a || gr->GetPnt(q.n3).a > mgl_min_a) { const mglPnt p1 = gr->GetPnt(q.n1) - p0, p2 = gr->GetPnt(q.n2) - p0, p3 = gr->GetPnt(q.n3) - p0; prctriangle triangle; triangle.pi[0] = group.addPoint(p1); triangle.pi[1] = group.addPoint(p2); triangle.pi[2] = group.addPoint(p3); triangle.ti[0] = group.addColourInfo(p1); triangle.ti[1] = group.addColourInfo(p2); triangle.ti[2] = group.addColourInfo(p3); group.triangles.push_back(triangle); } break; case 3: if (gr->GetPnt(q.n1).a > mgl_min_a || gr->GetPnt(q.n2).a > mgl_min_a || gr->GetPnt(q.n3).a > mgl_min_a || gr->GetPnt(q.n4).a > mgl_min_a) { const mglPnt p1 = gr->GetPnt(q.n1) - p0; const uint32_t pi1 = group.addPoint(p1); const uint32_t ti1 = group.addColourInfo(p1); const mglPnt p2 = gr->GetPnt(q.n2) - p0; const uint32_t pi2 = group.addPoint(p2); const uint32_t ti2 = group.addColourInfo(p2); const mglPnt p3 = gr->GetPnt(q.n3) - p0; const uint32_t pi3 = group.addPoint(p3); const uint32_t ti3 = group.addColourInfo(p3); const mglPnt p4 = gr->GetPnt(q.n4) - p0; const uint32_t pi4 = group.addPoint(p4); const uint32_t ti4 = group.addColourInfo(p4); prctriangle triangle1, triangle2; triangle1.pi[0] = pi1; triangle1.pi[1] = pi2; triangle1.pi[2] = pi3; triangle1.ti[0] = ti1; triangle1.ti[1] = ti2; triangle1.ti[2] = ti3; group.triangles.push_back(triangle1); triangle2.pi[0] = pi4; triangle2.pi[1] = pi3; triangle2.pi[2] = pi2; triangle2.ti[0] = ti4; triangle2.ti[1] = ti3; triangle2.ti[2] = ti2; group.triangles.push_back(triangle2); } break; case 4: if (gr->GetPnt(q.n1).a > mgl_min_a) { const mglPnt p = gr->GetPnt(q.n1) - p0; const mreal f = q.p/2, dx=p.u/2, dy=p.v/2; const mreal c=q.s*cos(q.w*M_PI/180), s=-q.s*sin(q.w*M_PI/180); const double b[4] = {c,-s, s,c}; long ik,il=0; const mglGlyph &g = gr->GetGlf(q.n4); const mreal dd = 0.004; if(q.n3&8) { if(!(q.n3&4)) // glyph_line(p,f,true, d); { const uint32_t ti = group.addColourInfo(p); const uint32_t p_4 = group.addPoint(p.x+b[0]*dx+b[1]*(dy-dd),p.y+b[2]*dx+b[3]*(dy-dd),p.z); const uint32_t p_3 = group.addPoint(p.x+b[0]*dx+b[1]*(dy+dd),p.y+b[2]*dx+b[3]*(dy+dd),p.z); const uint32_t p_2 = group.addPoint(p.x+b[0]*(dx+f)+b[1]*(dy-dd),p.y+b[2]*dx+b[3]*(dy-dd),p.z); const uint32_t p_1 = group.addPoint(p.x+b[0]*(dx+f)+b[1]*(dy+dd),p.y+b[2]*dx+b[3]*(dy+dd),p.z); group.addTriangle(ti, p_1, p_3, p_2); group.addTriangle(ti, p_4, p_2, p_3); } else // glyph_line(p,f,false, d); { const RGBAColour c(p.r, p.g, p.b, p.a); const double p_4[3] = {p.x+b[0]*dx+b[1]*(dy-dd),p.y+b[2]*dx+b[3]*(dy-dd),p.z}; const double p_3[3] = {p.x+b[0]*dx+b[1]*(dy+dd),p.y+b[2]*dx+b[3]*(dy+dd),p.z}; const double p_2[3] = {p.x+b[0]*(dx+f)+b[1]*(dy-dd),p.y+b[2]*dx+b[3]*(dy-dd),p.z}; const double p_1[3] = {p.x+b[0]*(dx+f)+b[1]*(dy+dd),p.y+b[2]*dx+b[3]*(dy+dd),p.z}; file.addSegment(p_1, p_2, c, w); file.addSegment(p_3, p_4, c, w); file.addSegment(p_1, p_3, c, w); file.addSegment(p_2, p_4, c, w); } } else { if(!(q.n3&4)) // glyph_fill(p,f,g, d); { for(ik=0;ikget(MGL_PREFERVC)) { const uint32_t nC = (uint32_t)group.colours.size(); RGBAColour *C = new RGBAColour[nC]; group.writeColours(C); uint32_t (*CI)[3] = new uint32_t[nI][3]; for(uint32_t k = 0; k(gr)->GetWidth(); // const HPDF_REAL height = dynamic_cast(gr)->GetHeight(); // const HPDF_REAL depth = sqrt(width*height); const HPDF_Rect rect = {0, 0, width, height}; HPDF_Doc pdf; HPDF_Page page; HPDF_Annotation annot; HPDF_U3D u3d; HPDF_Dict view; pdf = HPDF_New (NULL, NULL); pdf->pdf_version = HPDF_VER_17; page = HPDF_AddPage (pdf); HPDF_Page_SetWidth (page, width); HPDF_Page_SetHeight (page, height); u3d = HPDF_LoadU3DFromFile (pdf, tname); // Default view view = HPDF_Create3DView (u3d->mmgr, "DefaultView"); // Position camera HPDF_3DView_SetCamera (view, 0, 0, 0, 0, 0, 1, depth, 0); // Set ortho projection HPDF_3DView_SetOrthogonalProjection (view, 1); // Background color HPDF_3DView_SetBackgroundColor (view, 0.9, 0.9, 0.9); // Lighting HPDF_3DView_SetLighting (view, "CAD"); // Add views HPDF_U3D_Add3DView (u3d, view); HPDF_U3D_SetDefault3DView(u3d, "DefaultView"); // Create annotation annot = HPDF_Page_Create3DAnnot (page, rect, u3d ); // Enable toolbar HPDF_Dict action = (HPDF_Dict)HPDF_Dict_GetItem (annot, "3DA", HPDF_OCLASS_DICT); HPDF_Dict_AddBoolean (action, "TB", HPDF_TRUE); /* save the document to a file */ const size_t tlen = strlen(tname); tname[tlen-2]='p'; tname[tlen-2]='d'; tname[tlen-1]='f'; HPDF_SaveToFile (pdf, tname); /* clean up */ HPDF_Free (pdf); #else const size_t tlen = strlen(tname); tname[tlen-2]='p'; tname[tlen-2]='d'; tname[tlen-1]='f'; tname[tlen+0]='.'; tname[tlen+1]='t'; tname[tlen+2]='x'; tname[tlen+3]='t'; tname[tlen+4]='\0'; FILE *fp=fopen(tname,"wt"); fputs("Can not produce PDF file, MathGL compiled without PDF output support\n", fp); fclose(fp); mglGlobalMess += "PDF support was disabled. Please, enable it and rebuild MathGL.\n"; #endif // MGL_HAVE_PDF } delete []tname; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_write_prc_(uintptr_t *gr, const char *fname,const char *descr, int *make_pdf,int l,int n) { char *s=new char[l+1]; memcpy(s,fname,l); s[l]=0; char *f=new char[n+1]; memcpy(f,descr,n); f[n]=0; mgl_write_prc(_GR_,s,f,*make_pdf); delete []s; delete []f; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/mpi.cpp0000664000175000017500000000333212142400470014771 0ustar balakinbalakin#include "mgl2/mpi.h" #include "mgl2/canvas.h" #include #define MCW MPI_COMM_WORLD #define TAG_DATA_Z 0 #define TAG_DATA_C 1 //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mpi_send(HMGL gr, int id) { mglCanvas *g = dynamic_cast(gr); if(!g) return; g->Finish(); long n = g->GetWidth()*g->GetHeight(); MPI_Send(g->Z,3*n,MPI_FLOAT,id,TAG_DATA_Z,MCW); MPI_Send(g->C,12*n,MPI_CHAR,id,TAG_DATA_C,MCW); MPI_Send(g->OI,n,MPI_INT,id,TAG_DATA_C,MCW); } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mpi_recv(HMGL gr, int id) { mglCanvas *g = dynamic_cast(gr); if(!g) return; g->Finish(); MPI_Status status; long w = g->GetWidth(), h = g->GetHeight(), n = w*h; float *zz = new float[3*n]; int *oi = new int[n]; unsigned char *cc = new unsigned char[12*n]; MPI_Recv(zz,3*n,MPI_FLOAT,id,TAG_DATA_Z,MCW,&status); MPI_Recv(cc,12*n,MPI_CHAR,id,TAG_DATA_C,MCW,&status); MPI_Recv(oi,n,MPI_INT,id,TAG_DATA_C,MCW,&status); // TODO check status for errors register long i,j,k; for(k=0;kGetQuality()&2) { g->pnt_plot(i,j,zz[3*k+2],cc+12*k+8,oi[k]); g->pnt_plot(i,j,zz[3*k+1],cc+12*k+4,oi[k]); } g->pnt_plot(i,j,zz[3*k],cc+12*k,oi[k]); } g->set(MGL_FINISHED); delete []oi; delete []zz; delete []cc; } //----------------------------------------------------------------------------- void MGL_EXPORT mgl_mpi_send_(uintptr_t *gr, int *id) { mgl_mpi_send(_GR_, *id); } void MGL_EXPORT mgl_mpi_recv_(uintptr_t *gr, int *id) { mgl_mpi_recv(_GR_, *id); } //----------------------------------------------------------------------------- mathgl-2.1.3.1/src/evalc.cpp0000664000175000017500000002503112142400470015276 0ustar balakinbalakin/*************************************************************************** * evalc.cpp is part of Math Graphic Library * Copyright (C) 2007-2012 Alexey Balakin * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Library 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 Library General Public * * License along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include #include "mgl2/data_cf.h" #include "mgl2/evalc.h" #include "mgl2/addon.h" #if MGL_HAVE_GSL #include #endif //----------------------------------------------------------------------------- // constants for expression parsing enum{ EQ_NUM=0, // a variable substitution EQ_RND, // random number EQ_A, // numeric constant // normal functions of 2 arguments EQ_ADD, // addition x+y EQ_SUB, // substraction x-y EQ_MUL, // multiplication x*y EQ_DIV, // division x/y EQ_IPOW, // power x^n for integer n EQ_POW, // power x^y EQ_LOG, // logarithm of x on base a, log_a(x) = ln(x)/ln(a) // normal functions of 1 argument EQ_SIN, // sine function \sin(x). !!! MUST BE FIRST 1-PLACE FUNCTION EQ_COS, // cosine function \cos(x). EQ_TAN, // tangent function \tan(x). EQ_ASIN, // inverse sine function \asin(x). EQ_ACOS, // inverse cosine function \acos(x). EQ_ATAN, // inverse tangent function \atan(x). EQ_SINH, // hyperbolic sine function \sinh(x). EQ_COSH, // hyperbolic cosine function \cosh(x). EQ_TANH, // hyperbolic tangent function \tanh(x). EQ_ASINH, // inverse hyperbolic sine function \asinh(x). EQ_ACOSH, // inverse hyperbolic cosine function \acosh(x). EQ_ATANH, // inverse hyperbolic tangent function \atanh(x). EQ_SQRT, // square root function \sqrt(x) EQ_EXP, // exponential function \exp(x) EQ_EXPI, // exponential function \exp(i*x) EQ_LN, // logarithm of x, ln(x) EQ_LG, // decimal logarithm of x, lg(x) = ln(x)/ln(10) EQ_ABS // absolute value }; //----------------------------------------------------------------------------- int mglFormulaC::Error=0; bool mglCheck(char *str,int n); int mglFindInText(char *str,const char *lst); //----------------------------------------------------------------------------- mglFormulaC::~mglFormulaC() { if(Left) delete Left; if(Right) delete Right; } //----------------------------------------------------------------------------- // Formula constructor (automatically parse and "compile" formula) mglFormulaC::mglFormulaC(const char *string) { Error=0; Left=Right=0; Res=0; Kod=0; if(!string) { Kod = EQ_NUM; Res = 0; return; } //printf("%s\n",string); fflush(stdout); char *str = new char[strlen(string)+1]; strcpy(str,string); long n,len; mgl_strtrim(str); mgl_strlwr(str); len=strlen(str); if(str[0]==0) { delete []str; return; } if(str[0]=='(' && mglCheck(&(str[1]),len-2)) // remove braces { memmove(str,str+1,len); len-=2; str[len]=0; } len=strlen(str); n=mglFindInText(str,"+-"); // normal priority -- additions if(n>=0 && (n<2 || str[n-1]!='e' || (str[n-2]!='.' && !isdigit(str[n-2])))) { if(str[n]=='+') Kod=EQ_ADD; else Kod=EQ_SUB; str[n]=0; Left=new mglFormulaC(str); Right=new mglFormulaC(str+n+1); delete []str; return; } n=mglFindInText(str,"*/"); // high priority -- multiplications if(n>=0) { if(str[n]=='*') Kod=EQ_MUL; else Kod=EQ_DIV; str[n]=0; Left=new mglFormulaC(str); Right=new mglFormulaC(str+n+1); delete []str; return; } n=mglFindInText(str,"^"); // highest priority -- power if(n>=0) { Kod=EQ_IPOW; str[n]=0; Left=new mglFormulaC(str); Right=new mglFormulaC(str+n+1); delete []str; return; } for(n=0;n=len) // this is number or variable { Kod = EQ_NUM; // Left = Right = 0; if(str[1]==0 && str[0]>='a' && str[0]<='z') // available variables { Kod=EQ_A; Res = str[0]-'a'; } else if(!strcmp(str,"rnd")) Kod=EQ_RND; else if(!strcmp(str,"pi")) Res=M_PI; else if(str[0]=='i') Res = dual(0,str[1]>' '?atof(str+1):1); else Res=atof(str); // this is number } else { char name[128]; strncpy(name,str,128); name[127]=name[n]=0; memmove(str,str+n+1,len-n); len=strlen(str); str[--len]=0; if(!strcmp(name,"sin")) Kod=EQ_SIN; else if(!strcmp(name,"cos")) Kod=EQ_COS; else if(!strcmp(name,"tg")) Kod=EQ_TAN; else if(!strcmp(name,"tan")) Kod=EQ_TAN; else if(!strcmp(name,"asin")) Kod=EQ_ASIN; else if(!strcmp(name,"acos")) Kod=EQ_ACOS; else if(!strcmp(name,"atan")) Kod=EQ_ATAN; else if(!strcmp(name,"sinh")) Kod=EQ_SINH; else if(!strcmp(name,"cosh")) Kod=EQ_COSH; else if(!strcmp(name,"tanh")) Kod=EQ_TANH; else if(!strcmp(name,"sh")) Kod=EQ_SINH; else if(!strcmp(name,"ch")) Kod=EQ_COSH; else if(!strcmp(name,"th")) Kod=EQ_TANH; else if(!strcmp(name,"sqrt")) Kod=EQ_SQRT; else if(!strcmp(name,"log")) Kod=EQ_LOG; else if(!strcmp(name,"pow")) Kod=EQ_POW; else if(!strcmp(name,"exp")) Kod=EQ_EXP; else if(!strcmp(name,"lg")) Kod=EQ_LG; else if(!strcmp(name,"ln")) Kod=EQ_LN; else if(!strcmp(name,"abs")) Kod=EQ_ABS; else { delete []str; return; } // unknown function n=mglFindInText(str,","); if(n>=0) { str[n]=0; Left=new mglFormulaC(str); Right=new mglFormulaC(str+n+1); } else Left=new mglFormulaC(str); } delete []str; } //----------------------------------------------------------------------------- // evaluate formula for 'x'='r', 'y'='n'='v', 't'='z', 'u'='a' variables dual mglFormulaC::Calc(dual x,dual y,dual t,dual u) const { Error=0; dual a1[MGL_VS]; memset(a1,0,MGL_VS*sizeof(dual)); a1['a'-'a'] = a1['u'-'a'] = u; a1['x'-'a'] = a1['r'-'a'] = x; a1['y'-'a'] = a1['n'-'a'] = a1['v'-'a'] = y; a1['z'-'a'] = a1['t'-'a'] = t; a1['i'-'a'] = dual(0,1); return CalcIn(a1); } //----------------------------------------------------------------------------- // evaluate formula for 'x'='r', 'y'='n', 't'='z', 'u'='a', 'v'='b', 'w'='c' variables dual mglFormulaC::Calc(dual x,dual y,dual t,dual u,dual v,dual w) const { Error=0; dual a1[MGL_VS]; memset(a1,0,MGL_VS*sizeof(dual)); a1['c'-'a'] = a1['w'-'a'] = w; a1['b'-'a'] = a1['v'-'a'] = v; a1['a'-'a'] = a1['u'-'a'] = u; a1['x'-'a'] = a1['r'-'a'] = x; a1['y'-'a'] = a1['n'-'a'] = y; a1['z'-'a'] = a1['t'-'a'] = t; a1['i'-'a'] = dual(0,1); return CalcIn(a1); } //----------------------------------------------------------------------------- // evaluate formula for arbitrary set of variables dual mglFormulaC::Calc(const dual var[MGL_VS]) const { Error=0; return CalcIn(var); } //----------------------------------------------------------------------------- dual MGL_NO_EXPORT addc(dual a,dual b) {return a+b;} dual MGL_NO_EXPORT subc(dual a,dual b) {return a-b;} dual MGL_NO_EXPORT mulc(dual a,dual b) {return a*b;} dual MGL_NO_EXPORT divc(dual a,dual b) {return a/b;} dual MGL_NO_EXPORT ipwc(dual a,dual b) {return mgl_ipowc(a,int(b.real()));} dual MGL_NO_EXPORT powc(dual a,dual b) {return exp(b*log(a)); } dual MGL_NO_EXPORT llgc(dual a,dual b) {return log(a)/log(b); } dual MGL_NO_EXPORT expi(dual a) { return exp(dual(0,1)*a); } dual MGL_NO_EXPORT expi(double a) { return dual(cos(a),sin(a)); } //----------------------------------------------------------------------------- dual MGL_NO_EXPORT ic = dual(0,1); dual MGL_NO_EXPORT asinhc(dual x) { return log(x+sqrt(x*x+mreal(1))); } dual MGL_NO_EXPORT acoshc(dual x) { return log(x+sqrt(x*x-mreal(1))); } dual MGL_NO_EXPORT atanhc(dual x) { return log((mreal(1)+x)/(mreal(1)-x))/mreal(2); } dual MGL_NO_EXPORT sinc(dual x) { return sin(x); } dual MGL_NO_EXPORT cosc(dual x) { return cos(x); } dual MGL_NO_EXPORT tanc(dual x) { return tan(x); } dual MGL_NO_EXPORT sinhc(dual x) { return sinh(x); } dual MGL_NO_EXPORT coshc(dual x) { return cosh(x); } dual MGL_NO_EXPORT tanhc(dual x) { return tanh(x); } dual MGL_NO_EXPORT asinc(dual x) { return log(ic*x+sqrt(mreal(1)-x*x))/ic; } dual MGL_NO_EXPORT acosc(dual x) { return log(x+sqrt(x*x-mreal(1)))/ic; } dual MGL_NO_EXPORT atanc(dual x) { return log((ic-x)/(ic+x))/(mreal(2)*ic); } dual MGL_NO_EXPORT expc(dual x) { return exp(x); } dual MGL_NO_EXPORT sqrtc(dual x) { return sqrt(x); } dual MGL_NO_EXPORT logc(dual x) { return log(x); } dual MGL_NO_EXPORT absc(dual x) { return abs(x); } dual MGL_NO_EXPORT lgc(dual x) { return log10(x);} //----------------------------------------------------------------------------- typedef dual (*func_1)(dual); typedef dual (*func_2)(dual, dual); // evaluation of embedded (included) expressions dual mglFormulaC::CalcIn(const dual *a1) const { func_2 f2[7] = {addc,subc,mulc,divc,ipwc,powc,llgc}; func_1 f1[18] = {sinc,cosc,tanc,asinc,acosc,atanc,sinhc,coshc,tanhc, asinhc,acoshc,atanhc,sqrtc,expc,expi,logc,lgc,absc}; // if(Error) return 0; if(Kod==EQ_A) return a1[(int)Res.real()]; if(Kod==EQ_RND) return mgl_rnd(); if(Kod==EQ_NUM) return Res; dual a = Left->CalcIn(a1); if(mgl_isnan(a.real()) || mgl_isnan(a.imag())) return NAN; if(KodCalcIn(a1); if(mgl_isnan(b.real()) || mgl_isnan(b.imag())) return NAN; return f2[Kod-EQ_ADD](a,b); } else return f1[Kod-EQ_SIN](a); return Res; } //----------------------------------------------------------------------------- dual MGL_EXPORT mgl_ipowc(dual x,int n) { dual t; if(n==2) return x*x; if(n==1) return x; if(n<0) return mreal(1)/mgl_ipowc(x,-n); if(n==0) return mreal(1); t = mgl_ipowc(x,n/2); t = t*t; if(n%2==1) t *= x; return t; } //----------------------------------------------------------------------------- mathgl-2.1.3.1/fonts/STIX_b.vfm0000664000175000017500000215052212142400471015653 0ustar balakinbalakin‹.EùISTIX_b.vfmìýË’$M’¥‰­=ž"ˆ°¶!¹_¶Ø€°ØÎb³hšafƒ·Ÿï°šyÄŸUÕÕ]5ÙIù»†›¸©ŠÊ……ùðaæÿËÏÿùû_ÿŸÿÿçÿýÿõûŸþ×ÿéÿû?þ§ÿëÿöŸþ‡ÿíÿøŸþ/ÿãÿþ³Žr~þ¿ÿÓÿïÿó¿üï?ðKŸÿî£ÿ\cλ~ôþ³®õs¶ŸåçØñïQoûÑÇ϶÷ÏÑ~Ö2~ö£ÏÇ?úüÙfù©/¸UÓç»Äß/>?ºŒŸgêósãï÷ϾGô¢Å½–z-s”h9?GO⎻®Ñ6¢åÆoçg«?ømí2Ǿ»xhiígׯ»®ócÔOCôÀ }DC£WuÅ•è!{¶hêѱø-¾/ðS/xfÏ£³mr¯qãÍ kýôïgü>gtNï]~ŒÅßGgküUŒ §ýÐXêõôüûsãï]ÒcV¼þ áÆŽKC‹¯í2¸®[ãµõáôÜìx²¸n¯ëǬ4Ä4ÕÓ·i˜1y3_;ºUÊâw)1³Ó3ÔJÌX\£¡¶òCŸDC¼@«Ñ5½Ht"æbz¾ã­éE gÄ7r£½—¸v5Ü Û½Š^k`·^û‡`ôaÅ}ºžQOo\¯Àèú¬Äº[ëGL›æ(nxbD¦>îóüX•c¼Ne€ãã·÷_ëÝôñ¨íÇò;oýyŽV4Œh1–ñí·+1Eµr«k3–I§ÄHôx;†|Ǔ㱺bíïøJg¯«†³â›oè2¢ÛKOmÇ7Ž¢s3ÖSü3Ö)?⻺U¼|aø9õŒ©·ŽAëej:/¢!Ÿ=V”ž›.Þ ßØ ›o,54â¹£Ä3¸ÕŠÅ÷cǬÄ-F)æõg£AÛx{¾cv£“qÕì­sÈ­âý/„ucél¿yìÍ1cÝv½`챸UH‰èÀPC<‹eºµa¶ß|hünC†ì}t«Ë3b!Œ­oêOÙëÇÉ7^X-S·:Zé'ß<îv×hX±NóèÆ8ÖXSKKçÆúüëQò«–hiZjE“{ÇŒ› ¿‰öDôëÄü—dz¾4.¥ýœ4´è°dŠÞ¤ÆÐ6wøÉγczxìÔžÕj:%&íÇñ»G¿ç‰ĵžÚb£KCLѼ— »¬·Ð«Øö±9´£!6iùq-Ü´ÚªfVÿlñ˜1¦0+¶ÌÑýqûûïc÷çß·X»Zñ”x@óþ8±mÆë·AüèãQããõ¹ ;—†÷÷þޝ­·¬zÆi³µ÷0æ±pCööqÌžb¼Š9;Z*Ñ0úø¡/ë+1§kEß–†¼ïϵT'úušEÕ5†V££žÅ ‡ž¦›î‡&aC;Z¢qÄ”ü¨ÅZl7mqöᙳê[Óã8~nŽGÝož­'y bíXwiõÄì¨ßÛý®± c -ZfSËñáò8šBΪåµ\¼¥XíççUß$–håæÝb!Vñ Q=¨ñ±Ubù,¯¼}cáWId\¬†æ‘;õªÅK?Þ?ùx|Î*ºÛ𘆸–䛃s§z0±k⬋«fè6iõÄé|vl‹çÆFú¡ÁEE¸?OtÛ³z/½Î3®EK¼®NÎ8áŽîæå8ù–Øm?âz–Õ­müÔò»åjšÇ „CœzÑ··8g‹–ÆûÄ^¹C-ÖÈm%Ä[m|K’䯬°zn‹]óC÷f&â Òqôùº×ô7b‚4£þÆÔØÄ¸7‰ÖPGv|,eã¶8âÔUÕéJRKôEµ V{Žæ+QÓ‡æ £* ªHZ×Î׎nY,KlÇùìÃ3^Mëwy›jÄÊŒ…©æÎЧ~°Mã•büKl<ˆwòNk§@“þLK+—žõ>ŽãË’‰ñM4éLêZ©±4cÕ«—7Ô¦x1íéã>&K½»Fv¿ç)Z¬“£om6ÒöѼ¤……¬RÃéZ»?JUhIžŽ#å0ÎHº MÒ`J§±êvoU¬J6è[·HœèH a£w’„a¿DÓÐwâÔ”Zªû]íJššF=ªêåMóùVç[—&zヸ—­y¬ê†Í¿HÛ*šã÷Úš½¦sw£ˆ…àŠ¦‰Øšé2úG4±š5¦©I†æ„è¦Ë Ç{®Ú¬Èª÷ 1]õN’ÛñmYoŒ&i!wPxùÖB9PÓÐ’9û­:¶PG4WÑ$µµ>:¬ ‚å§•xC=ëZÃ’Ö.I:^תڕê.uûÒttÛë¢jÑOô—ËÑÔô>¾Cýo¤æPibG|šÖXnMkPj¹ÎPR ¤ÇÇÙÓçsWÛ*Vž»1n× }ˆÇëŦ‰<ºá Õ%šö§)i¬ïzÖá„—8=~êÕ.Sç-Ë´õêй†ä-Ò›èäEQŒŽ?^Z Ñ´ã0Œqv“žv½É[9ÒôcÄhÒÞž’¼Kov´ÜbXhbL$%_ ñmé-ù3CÃÑJnå†2MóÓ4½È£)ô³hZ?=”²\¤êÆÃB$…°iÚuѤ$@âÖyË *šú§I[‡¦7¦4 Õ´døª»k›¯ÙU±ž9Ýent5% I }O.Ló®Ê—9ÇcFÓÔ&H DÛ¢IaZB…Uï£Ûj ½Ý¦Å3SUÞ×è¡›BpD“ÇCøC“+…rœMWï'ÆßêEƦ[ìïx»k= X0± õ,7K7Œya ÎPúÖ±v§¦¹Á£iêüº‰¯ëY‹³WMKh½ù 2MÒÕÃØ‹+šª¶P¡JhgœqsȨé¥}zv,Ko‰×.Ý¡³zü© PºåIH­UÞ„*íœÃgÊré ÉHá©zÀlÚ.50T+­±8a|2Ê UËÔ§s² Œ a,Ô¨—÷qӅ̲KgœêHâÏ¡° «á ¹cßSoÕ~‘”_)86®êG†…–Ý<…&©jVºdYvå¬8Ãzµ*éMvG¦¨ðÔºŽdô‡0Dä.‘î*³A˜ô6vM!&£É 7¼Ýøþ’aMÛßÒ#µßô­m[ßâ,Ö÷^ïó­+—P56- ½k%é´‹aÔ³ª иl8Nô%<šlØ I6 ¿‘~ˆ½«”v×¥I‚©4&¦ÙÐÓÙ×e¥Ò ÷ÑäóWxq(e ågqŽö6Ÿƒ!Äy÷Áʈ¦S÷Ö´DÓˆ"‹S´7kò±S¢ï1’ôpžeðRÐÇèÛvÍ÷ŠÏ&²½7;ÎÂŽººð ù.t(­7‹¦\j’¶®Õ±båè[–êFÈeBß匳:BSµ(šBá‹&KÀ8 ? ã:qöôÊÑ„­¡¦]5ËÝBUúªÀ@íÙÕ´üÏ%pƒ¦«­ÔmöÊ¢ ½Xÿ ¢XB¢Û²ÁvÔž–Ä[Wn$mHNy­\tíƒOGK`ÔG£è«oŸò»T-Òás÷ê°—sár†Í¡où˜ŸÒQΡR…±é=KŒƒìxÆÂXíjÊsWP†\…:w·\^ÑäÕ¡s§o­I©ºˆœž¶{u†Ú¶Õó:+dx…à/ ™o1eÔw¡ŸÍ+Þ­¬Ïç[Rèþeߤ_OžVˆŠ-hòG_\ÕvS!ÓõÈ•üÙ9w_ì½P:M ÅÞ¾w{¡Ÿ˜•°·ð;YÖ:­O•㣧Æ*Ë(Ú9Z•“²¯ù@uRôðè…îQ´RcÕ½Fhƒ¶ ¹hÛAJ`©G§i4g1‡`©† NŒ…úa»&t™PÓµ˜ÕÅ!G]ßÏ€hn4]K+}¿dÔñB¡¼J–H«,Ø»#;_ V§šúƒ[ ¹¥˜ë³š&t{D䣗³/šbƒýè; =ù …O g:»,}k}:)“Ñï¶¥ÙõíƒfÈ£8èÍOYs\ج _<Ü8äæíÛœ‡M(Ÿ¶{h"œâo‰„ cWžò~|Ðt=ëøX åNšö,8‰ž%YèÁ¹]»é$ÑA/¦µ#¡k8t½.­d3 aSê(D[ñt&Nèò𕙀m¸ðAâ´Äp#ÏT}¯Úæ@ë m^çõL¯äÑî”. ç†sp®í—ˆ‰ÞqÀÀb›êÔ$7’Æ8^?L %¯@ó™}cÙD“œ‰Ñtí9×ÃB3Ÿª‰â'pY:TÛ)WŠ5`âÑËŽÍ{f*~Õºðy¤¨ja ©I{k²ÁùñÍô1„¶‰6hÒlÇ!ƒ#)š†¸d˜NMGË”DÖ¹M¢ ,|ÂYÇ gX Ñ$ˆnk†(Ц£nL{ žÓ•œŠÒžRÓ’þ´^S¾j7‰„ 37L¢©sAŠnœêE4µê¦èÉAE† >}«½­‡9g9›‰­¹‰õ¬Q éÑ™$­DO»Œ»Ðo5ÉaȪÚ=þÖ•¾#U@NÏ ª/‚‹œûa‰ÄilÛ¡ ÈÒ Ò%޵h²'¢w@Õõàü2Ð$Ø„ÀHàÆZLÒ£^:Ô­°¨¥`¯i" Õ:“£!š†DA‡¾%µVóÜÅ‹¦þh¼sƒíª‡±¹Õ4ËÜòäCÅj£ë†Ú§Hí¹1ŠˆˆÄ‡ÔÇ%îj4I{0 Ü5c:¹ àÜÓ¾ÍhÙ^i–!'¶àÑ^9‡Ð®ºá¥IÌ)ÙjœªóQG€tO¡i¨É𲋨MbÙºIÞõ…[ Z`Š«d“°·%c)V#MÒ´¾T­ú4––„­T¾µdõ,à}–„¬‚-‚BG ;’ ++¨o¶:˜¦±°y.Ê‹fl/-RT ±6¯ŽÓ$sD®¼ †¡:èx×ë¹?Ö.«'T‡›|åqZ߇ø‰¡†Ó³BøE÷7’qzQÊõ¬ËVßéÓ·D)X€G]TФJÒ¤Þ»IhéÚRÔ‡:*ÀÀs)jm¤B1ã›E³P‹ŽH§ºb›D£[xQO&E¹MLÄ }·HQ(aÿ.¡(Ñ0Îÿê¢jF£ÄäÈÛVsžeV²Ô£=m2 th£Z“f{i½ÅYK]CÏ»åá¿Äq)бÀoÕ·ä…Õ~W“‘ 6´&Ï˘»PW6É­ºÄŠÉ– êâ6Sm(¨€6Ò³Ù>Ñ„xŸ?aýI„f»Ù†Òšã&2ÝåÑ@ ‹Ö5ÿ³JÂHû”\°—Ðq ´HŒœ{ÒÅŽÈkëµü ¹ë†Wþ²]Þô8µæ4P¢nES5m\ß'Éß{'_±©óGJ0ßÒŒíÒ?M2øÜt!‹ÀÐE“YѱãÃ8¦é& 1‰h‰¶Ðθ¡ÜGÏÎXªa7}g$Ðh˜j8ŸAÇ45ÜOƒÔ5l„¬/I ÒÇhj¨Ÿ†û6‰ˆÃjuªQÅ·Ö¹Ôw5húi¨b:tNM]ǽ°h }i‹ªønêËM¡ãèvëaÄv) 5‘>7³ádCìû]ÏCâZ’-y³ÊÛÜO“€n7Åý±›GàªEš½d[ìV“˜ BSi˜úÆg t>Dí÷Ý>k ÏÞ²I¡(¬R•Õ"!£†Åwæ»AÆ ±b¢!Y»ZRp‘·^§íw×P6hÐÊm‚ÆW¤Ð5MOóHu65·»ê^l/t!3íÄàÒ˜öÞ§¡þE“Üf»{tòt¸e:9˜¢ÉÃÐ5ÜwZMìé5ƒ ˆÃœ²š£É"Vï;*Þ{!à²Î·´·XÃGžY‰“릣¦mÆÍOüÃoÜY\ÝT@¡É¦{› ÙÝRRb(å…W"´ImHS°I ³PV¤ü‰g_júLDp¤ªlˆXMS8ÄY4„„ÜRÛž½²¤ï1> :¢hPÏ„v?Ï8ùŒ©-¬óa²!‡F[Ã6åKÚÖÊUCõž2|vœEη8s^òS<û‡qa/@Àwƒ;:ëá”Û߯ÄJœø†âs{1Ô >mâŒôùõ‘_)>îù1Ø&[0~âŸÔç¹4Å‚†©©)uæÂ”Lþ!E0Ln÷¡[mõ(^yâßjXZåû<ߘÍB^öÖ;kAB=`An!Ã!ó…ÉëžÄÇ5ßmÌÇzðÑë¹2N_EGôçîŠ'òÝåaÛGï,'Î\iNÅHK(žù †$ì%)sú†ÞYGÏÜ,=5"0xg}ãÈà8s4JGïÜõ ¹¨ùÆA{Ÿû4Ü<àBòhß’+c•žÂðH Ú·æÊ“ ›oè½õ…š"êˆã¼o>ÖÂÐÇWƒ}õÖK÷–ë¼¼³À‰jŠ¢t¦\½³„¦ôÎP µ2îÎû ÐÒc“ÆÇçùx—üX¢ü²®åÑÐÉtø~6³ô½Ÿ&A.¢{ž…½¡ƒÀ€ÜŠ¢©+÷ìÎ%NìÀS·û¿¡¬ál,úø<Ï–WuóznÐ>ÖÛ¶’2j‹WÃÝň‹†ÜÈ›ÓAÇi·çã•w—ÎuZ>¶Î±ˆŸ‘Jü||òc:sÝ*nŒÃ~ajJidìãðØ‹ïì»4 ¹–šP#%¬ø\È9÷®¦S.è=a7©õÖßo;wŽe»DJÕ|‚ÌgNoü}n˜½¼a\¢3R'+h[©RëâS]æ ¦Ã?doì>…½ N\ýSœî¦Èª‘ûF®:öâÓÔð¬‰#ò°¿¡#?äšÞCßÐgLfùŽ'Œp)Ö L…&èðsøg4 ´*5É”¼ÅX1™¸Óþ–P÷[Úº·ŽÆ çcˆ?ݰ¿5#@dxÀ¡gè†R†ðLDÓ€M“nLù°UŽxžn ãôÇ-FDt¿Òq˜Q¹ ÜrîtØ\”<št\_É’…ò‘.lÄ­¨1ùN¬É„è‚ê¦dÕ­Fv0TgyÐ"Vûø¸.²DߺÒS¥'àTÖ·H‰#ÿÊUw+ì6ê½×‡kŒÊÔ·’öß+"yâWðZS4E0°ÞJ®õï<¡pñ·Ž…‹¦ÅíîéMså·àu›ý‹vÁa’¨­>a° Àl·”È;žD®xB­¥pÌ¢oɬ؆•£(òn<1ñðf‘¸E‹¦ùD=†Õ|~oØZ;ӮɎìÒô­ý„DF—«…Ñ–±Mž~¸;B•éD®+°Ïñ’Ñ$0OÝè¡Ðü¸:)mê†x#õ­!˜WŠ]Æ?n¡f–hjêÁ¾’n?tødøÁ±š·—ÜtWÜ“i§ü–Tøí4$Ã…5UõŒ-f¢iKÚE“É'‚›%ì‹Ý`[Ôh”K²ÅËc«ˆø ¦8?ôâuÚGŠÖ›ž³l(Ñè@ùÐc¶¾7éŠÞ{O¸I«®$=I<@aõò,Å™¯!‘3p ڶœÔ}Ž„-]…0…!R-vY¢ÉÄOH©Å4´h’•vqDÞŸxbÄw¢)úª¨O8Z2B/€1 ¿ŠªoM¼Àjzééñ ìWž/Õb|Ž•‡ÈP7 Ñð^P¡$UÎ=é⪜ˆA4§^9ÔíéÑ욉lp¹£I,h"ƒÔvE ‹ªÆû€À{Ê¡eò[ËQ/ÂjÉŒÓy*v&òÒIgéOEtËAа°ME>A'–ÏáH8G$ †*T8ýláÞò(ií žRFq+êõ G•Ã!z¸Jº|\è ¼ȸ—ެ…|’{ý.û`¦bNeÂLG„ÐÖ¸½es³oCÙ¦éÂP;z–À=Q³Îež7yØÒÒ1[Eê‰g E^1ž¥÷À°Eo½;# DP–m7¡!û„¢È4[RÇ|¡"”áB8YZì{çP“hŸÑ´®„ÂNn'ámzÖFbJhÿƒØ†\z–¤ä1›8èÄMÒ1+ùÓ zlÍ’³!Ú4¼r›öÊ{ 3íÏõMÖ²6ÄéÈ£‰oÍ÷†Ð jFÓà¤×1ðS:ém±Y%V ,3t2ÆPgl Åzk8«—èÀB{åÀ£VÖ‹°ÅRU‰uÚ¶OV:Ñ´ ÆÆºÕêEJŽø´¶®XåÑРËjWÞšîó‹·ûâtŸÒ¹B¢‰¿ aÉ<¨5õ4n7Ï\H¹"Kqû“Á×&’“¨pÉ’[©;Íéq¼mý‰>ãíàx6M¦"Ÿq¡ºFŒclikóÍ^ßûÑ|¿PŠÅ:SLÑ´BenÈ=Åu7xÀ;až9çF´]ŘjhÃB8ÇBk“µm÷;àÈÀJ HÅúµ2q H–Ê«ºÚësp¡«Ú$Ñ6¸koOÊ…#Ÿ*lRèR„ +?~/P`ªñ=É6peoˆ„Î÷àüHZáŒúÇGƒïé»y'YcêiŸîÍÉ8«ýSù¿ÇIet:r‘¾V­4HuCÈl-Iñ$‚R!=OG#2ÔG© ­Ýa~Ñ6ý½ö•§àxÄ硯ÚPv“r Í:ÊdX !îO\¸£møyóó<1x^˜zÃðFT{ˆÕ¸ê£ÕI2`8óEÇ*x¢Íôââ+E9ù7C Õ®ÝZÑzXªZÒ1æWa<)ÎÈAn‚ OU»÷ˆk¯ …[ÒÖ}2¤A7éM£©÷˜ýQyO‡Ü­+Oï?Ç£6†ì˜„£j©©mr&ÈjTÞ(G5æ›¶õ(Ž2‡Ì®©u’¥@J¤Æ:ºh³ –‡ì)gÜ€'¶bgÎû0²ÃŽš—rÞÓO™Ý :È Iÿˆ¶‹ÈXõÑc-˜Žý•Á] §ßd\¦d‹¢Û ìU[çDQ¶‚'÷G XUÐ.°ƒœ«Ñ—)²öL•ç_m“6=ob0¨/“< ¡ik¢e5¤ô5Ú6{”ïÉùËûMç–ÀÛIÊ–3ÉICª‡†¼€QްM£µdjñ-Ñû4î¹0ã{—9‚×¼™÷Õì$›Q[C5ºZÀoZR ŒÆôeJž5'Pú›Ú¬”ðÀ5“6*3Um$Ê¢åF2–£#^Cm0²5Æ¡U`+«­ORa8\Iƒ¶tŠ’#€ª*œG‹1£ô@ü+vxñkn‰ð&DV§³‚#5l§¼³XlÜÐb®T¿Åy"ÕG›°)M”ZÍš–ÀÜÚLZP (ÑFsßËn“¡'@ :¾j0B= M€ï™j6ÕÖL(¶áç­wŽq¾Ø„±è·_Î~R¢HB46a$$(ç¼3xIxi]TmïŒ)Ý‚ìØÊÛ QùÐ÷À{õ½Y2—ð)CG [¨“¡„ðÛ;%Àb/r´úºï4Iö÷6%—žÞñ¸ÛÏu í’²mÓSq ‡¹ajXtKhÄKÅT± [t™ï±è©ÂÑÙ†¡r°àáa(‡ÎiSd°Ì%)}bCéLÝ|e×Á€t‹r& ¨¾¡ªM èR‘,¯§Ë1 Aê¢ ÜÒS4+r”67 Qß"êÐr´-#,Êš˜Ð}‹4×J,®£P®‚I9Ò{íþ!ªä á\T?:ªÔ)Ò¼²Ÿ¯—8 ±F¦gi‰£xsˆCĪ­–'‹Í­—3ä:Õ¸T‡nIÿ~"~£MDphè™ãæ*ȉ²Œ1#ÈžE$}ë=ì—RiÜÑ2¹•,zÞ˜¤¦©ï`¶«Èd$"]xÞzG-_9C0a…/>qãJo 4Nv€LEMºPtµ‘•@¨Srý©SDœN¸µ‚«´š$Zåw£Sp‡Ý!n±pÇ­ÅýCˆ‡b r¨+UtìFÎÓ±k¦ºÓhè$#Dj‹FªÖt"»™Ääy“Dƒd ÉÖ1Õª0{-Éoå P[Ÿ°"–tÿÊQ4¸ÐC‚ ãÌ«‘œ¬Š°QóF€‘­fgSŒïdE&wÝ<÷ZóŽÆ.…A þ´ \ðÎp˜Þ^⛞‘8;‹ÔDy`«ž);»u'@ÙØN+;ðç9SX‘p'®q+ ­÷·ÆÌ´;¤sòL9 èþÛ5!ݰÔ7v ‚ÜŒ˜FøS{ë;9\YäÖÒ†b©þ^\AØÔBl2¥+ïP4Ë%͘`AUŠ}“;]xÖO"ÌeœE£„¶–ê)Jqx5áŠU¯·°MhU)¢±Ï[ÙÝiçŸ8âÄÂ(D’“¬ìëpg…Õ]¾) ”ü³‚X¤0t²òÍ‹»E²R}ò¶Š3ÆjãšîAæR<ãͳz×1°'wÂJ£,ÜM"oY#—´éI “ =µj!K÷tØP‹œëÙ3w`+öT2D·î-³xÓ+ü%U}&v0šä[ó«XlïwEGk(ˆ˜¬Á²œõUåðQët+ž‡ —UKD 5/ß™ü‚ü6/)—[4îw2Är•ÃÜ…°Tf?Ÿ.ë>ä"r×Ñì‹rU«ùzY çYTQa :ȵ-ãP–˜ª4‡Ð¢…Þá!Á`•_ ¦’ØW³ªGˆ(P6ŠÝ+ŒÎƒÀ7Ý}qt ‚89éÕxç+RÜãóÍ!'X $Ü6×P£‘å…A0ËD#4´¡DCå÷p[‡9ât€'ô¥)`ö, "¿ÊȼíÑ8*ïyidõq¦ãsWvˆBäÝHÚøí¿!–;½…Y®‰#à ':áDÍ#È#“8W5ŽËúkíRœÂP©Œó,ø ŽÖÍ{*NÐà HA9F`!,85Ê0ø™È7/geã™RÑŸoÊTq#ç5»ygNÝyÌh«Y4¸£Ï¡CfßÞ²QÁ·Dˆé@_Îîë`7E°!zuc'¿o'+V¼¤ç¥ç*‚^£„sCó"ÝOÞg—Dߢl‹­QpbHxsÖ°”ÌXñ@¢š³P\¨åmelYQn5zŸ!p×1©\V>ß7e©¿ÙˆL^ä5q&àŠúàF¥?Šù$_±É¯FÌ1á­ŸÛÊáF]Å}ÒH·”U76¡8KÛÙà£q?‚ÜKäçFEàæ3‰žTn ¯>¨š:kɰÿ¦C~ wK9s#ö!ù9Þßd÷V v3Ó#„€ÛËÎìhÜîw~“¤rñw/“q?n‹$G$·ÈHbwHKóÈEÃ7º¾"AQíH÷,x§Ó¨8홞.@ ¸ž9½†dœ×#/§Â8ë쬡IJ}|¼µ¢vVâÛbkpãéþrcYmÚ®±ØbÓc4iTŠY¯Ì­7®l7ŠœÅ/»3ÝÓÒZ « ÔËozýMëÌÛ*T„ØB%fä§u»)@Vc¿ˆp2ï ¦N«0™ö-­î¸3éîUü 5ëW™¼9gf“΢Æñ­Qš×q´<‹ *+9«Jdc1oì£&Ô€ðÚó(êóÓØœ×1/Ë(TL鸜7•#T·Ýv´-3+úyùù¦À67n6°C„¨Ðø¾-šž¢h\Žy ­E|‘žLU[²¹(mŸÄÍNE\:khßè\jT¸ÃQŸRX²\ãcj”·q]”©6ø[•îGVBùÞ·Õ!E<‰6ؤ¼¹”ÀQerãD#æˆBúúõ”µÚœÎ<Eš:RÌ”¾K7®²¤ôÄ î¦À>5štàÓ¤%²«5ÊÆ×E HVÐøžÕotgJÅ+[§^£Šò7ÉPÈ7åU< òûÜVÇù–pû³«uïáÆ›·Uù 5îo·•.åo‚(¦of©å1ÎA_Î7„KÛ»±Þ†OÁ¦ŒÏjTæšíäì­ŠE憮yÈf‰;XMúÝ÷¤o¤Sb²6XžH)úëNlŸŸ([U)Î~ŽsÚ„zªII†ÁupF·äó<ÿåÈM5 ï‘‹'št§UvJø¦m üºi{¨ñòD¿#nu ÀñŒp˜ƒ¦¨qú¨j´zw›ÁŠØŽÆL „Gê-G2 ›hTQÛUèÚÙÄÉ*v-Ö#PgȸRxË‹-›x]5ñ2° îц\ÈvÅðu2Ú¨±: »oz r¨ š<•hô±,ö±U­ˆHVã²™ãÛ sY¥åoÞÏ{ ör–°©ÀQ:¤á;• eg!Žkïú­Q"ŽY›˜W;«‰ÈDÒ°Xþ»–HúîíQ€€ø“ƒ¬PgoÔ¨<*?Vq‡+¹ÇXËÏÜŸ•p$áȦªDj4Þá{‹‰jѨ„€G!¦L6‰x´¦u "xÎ>åó*‚Dü*G¡gŸ\CêÐ)ÉÌ7Û·[U—É>ý³”9SG8:tÆ÷ÆKàÈTªJ ™Ÿ‡´Ã3ÉKuöYŸ±½g=‰vö·Æë¢_aÓ¿ c‚Š'/ü¤ñ~k„ÔCã úVVqcFLÙŸ4Öwo;Ê¢A¦!‚¨§ÓHÊcyr³6 uN¦ _µ fìŽom²²i›¬÷›ãã6s.Õˆô½iq:¸øÄ”Î7=>ŠSW+‘¢t躷^CHHYá?Aãã5Ÿ7åÝU]¦$«Ê•”CòÙUÔul+móQãƒÒ(–“Ú ( •/Ú.î:5 îUP+_tµ¥#SÛðMÇ»°¢rf i‹Ñ6¹éüÖ&]Õm—ï}* ˆ #¸Úö÷6R/¨Mã*6ʧ£‡¼újÄš€ŽòiÔ¡D£Â–ÎÃG!¡D%*N32ˆ–!å[ãx7Y‡t­Ÿ€&Ëây´^5ª&‰ ÊÙá¨Ø÷|4*IèUì'<ÖëÆ Lä¤ÖË«ˆPƒ¾ìäÖGñ°ßwËÆÆÈVÐà¶ähÕT.ÐÅÆ~gy—¶­bz•Fƒ~Êr%©§(ÙO£Ì7FÊI•ØÉ:NÏáÛž•Ö¿7®§q3RÌð=g®XÑ8¿5^R©Ñ³Òr„@íuÜ0ÙG{Gq´ßÏÓˆsZޤ,;i–*²áA¸ßI.J#¼Âê—®*ùÓqr/ˆ`ç¤óÂÃuÈ\Ä«¤ë‚ï¤êGÊñHýžÚ`°Q#Oìœt\H·ˆÆkõp<õ'ýnDiÓR,¸«Nz-ä3•êh¸n"ÞOz-ð*D(=eéµè4D£÷Jú,hÅÙIceRSñ¤Çb ÝA U"©Dã7M–ÐªâØ‰0ûâpþ­ØÆzæø6BƒÌ´jlœ¹‡t ­ˆF½¥¥“ŸÔ®%û˜ðNÕ¸X·©]û¶dT¢›ýŒ<çÕy"š:F‡žO“Ó4¹ezt:mrqІšå[Û!a‹²>Há>Î_ç[Bi¤I°ÐÉOÓÓlÑ3HLßqg¢FMNx¯ŒË…§FÇÏœo,C9€¬x.± Õ¸|ÛI¥®L‰¶D•T£=Å ÷ÌÐ+è7<ó˜è+ÙMu*)lK}j¼6IœLj[£ïNÜ{g•Ïˬ⠂’MRrŽ<— Èj$h–+GQâLX(œ<ï|k œ&Ž¶ÔŸÝ”+`ƒ‹žÌ€æ& 1MRNf‹æU0}~íòµÇ_JÛõÊÙ]óòZ\Ä²ÑÆžÙx®{dã… xS£#g]Ñ $S” 5 6º‘Ó{^EÈÑ=p‡ ç,¦M‰iM)@ 2©`Aßâÿ­m>mŒô„OÛÎ6ŒÆ›©R³í>m¼Æƒw©©b@æY½Džinj-›è%¥£ejëö’D#+]yÂ?Î5EwSŽ›,÷­2)•È75I ¼¥´oMT.W“ò„à0¯£ ¦" ¿/rÙ,(jÜ…¡L;üT³ï‘ß”à¾mf~{Ú¬$‰H¨¤%¾ÊÂM‡£+Õ¨”è ò—W…Z¹PÍÍñƒÒÕÔ—iÌ/I +ÍBå.áσúä•èIôö0i'O]¾±ÆÀE94èªb¡ÆíÆEõZÇLJa«8oôÜ–ÆAÒõŸJ4pyæu—¤v§H•µx”úPybÊ·§æ.‘3–¬»j”oKñp$^FéüŠBò^Žât3†<-yc¾;ätÔEðUcu£†©/‡dMyR”V¥xøáÊrŠ_ZUŠ&Zsü»Ší”Le.“H¹UJŽ¿\<*”a^¬èY‡;Ïow”å;‡:Æ=ˆ¶b¦©*$s›ý=í* %W×T‘e‰)çûcɪ¨ÇªÈ9õHÉa£l¼5£Q„rþ{(¦snÜ:™ijýöM)î›FqîÈe*£‹P<÷Êx§T2Ï2Ô-nž×Ѓo~&l.)'q‚8×L}†‰¿Y!uª_^9ïøoå&å@ÖÉ;r¥ÊÂ÷œˆ:å$yO®Tç>©ªÑ£˜+õ T¬nÉkÍ é{r˜´u6y —ÆôºâŠ»O4‹/T)À}¢Cj¬÷îÙòý Z½:ßÕè‘ÚÔÈØ&Œˆí<øæ³¡¹1¼å.E0àm~n|H@ªì2hÍw´õ™p+ñjÜ9Æz[m)¸ðÑ|™øv>s‹{üÓM5Ý”¯äÛS¯«–)c#[«{ *Ò€\buêÆÊÒ¦æÜyT¨’Ùve„(Ù©Ûg¿›(¢&–CÓj/_•Ãp ±s|íõ=§c—PFîOQ-ªÒÐX!¶°ûÕþí…Ñ-o®ÚOw;ȬQ(N íX\÷.C1¹;‘X*¨ºTÔÎ틚=ú“‰Û\§¢rŒ )—5ÆK•B}WÇ)­‡VkQ·Qàê"E¨])HŽõ3l;íe?&¹9‹ÐÇëDrÑ „ªÖ$Èè­î&Ä‚ª~«dÈ />qÅ¥ñ¯ÖófûÈ8ÌNY ß9f·Þ–u&„w*°¼¿Rs5—_PD ­Î¬#"´žÙÜ«AV•ò°]H$P$+µ‚ÖçV#AD͹œMa:IŠUì K€’¥j]dƒ{¢-»i5F«hòbŒ~¬ôyåy¡¬4|WF¨rÊ·O°Hs% R'I–îÍuôëucñÒ©Y¿7ñ€ã¥Æùiy6¹o_N5ßpþR¤"â¸/ç<ó¼)Wa&8ØRNh?¹sI )Þ¢˜eZÓ+GBNSºU/ŽÎéSé|RòÕ:\S^y>—ïí^CJ"…Ž´NAµ&@ïD€ã|Kök}k=}dkeµŸoÌ?έ0µ:%V²ÞH D–@JwHíWãùÞx\æúp:ßÖzSt4Z‘öçœï­óiÛ­÷M…Z Ð’ÖEº±“kÝ­MÉD5èaU’:êá;©SMö‡êYh±Ñؾ7Þ“ŒÓãÊaÅ5ùF;÷=ì!|9ïVê:ªUù¯H»• ¯[AôÑÚ‹[Ï·Vª‚Ð:¦o}˜¢ˆOVº«H©µ}o½'[’î&ï€9m”QkÕ龜Z«Yõ/)² \hGeå2A ‘ãÚ0«Ý•å”R÷³ž,n§“jçR”n:³+²O’«U¦¦Zï'âW{«Ø¤µ1ùö*n§˜ŽJw‰Ž¬vÞ«­¯¾¾B,~Íò§ýת_ñ:_»|Ýýµ××_ûè×ø÷äãêF×?FýêSÿnM¿Ö¢¿©ú«×ø:ýëµt›øw,¦ø¼ÖÿÅãøÂóðØ]=ÞÂßÜøBôçÆwv|£ÄŸ—Â=Zô4¶ÓWSw[ùjK÷i_qXò1«qq=¾ÞÉãB©æÎ½mîªzV£ºâûk~›‹¶qøÓÑâ›]¯ç%—¸¯^77Oލ3sÓ·¥®Ö¯µéù®¼Çž<;†2N˜¯2âån|ýú厮ó«GkèAñÈêß5Hq·°ç5$½ß¯ŸŽ˜’á>7~›¶±øËè^o•©‰‰ÔÄ-Æp×cãEç  t¶ý2­º“MS¤÷mîfëîfëîf(et“ß›®î¦Æ@} µŒ®…DOC5å÷зi»‚¿[ˆï‡1EwÈñÜm÷´wµÞ§¯1Üú»߉wÓJ-—ÈýõUô²ñ×肺µÞX´qËX*\×äs–×ÈåŸÇ“u‰µÌ§û}‰{ê+q™“§·çgÌ™n¨©[_Ì{ÜÆs[cv¸ÆKÇŸÄ]ÕƒÉgÜ÷Uo£mÀõú­ú`qW=O Y£ÁˆA¼91'×ÝÕ‚Ð@Æüñr®è_õæ/£‚(&mkç…²¬½®i׌Ǜ¬±ØëKûkñ[LM<<äßW,ï#ß U…Û°\¿ß:î:z<1®zl¼t×hN5,±75Çž˜êµ—WÖVѽµtïèùÖÊÖËhí ß?ö*Wí1õá¹Æ°eó ½P(˜_órK핪ÿ¢cE2©iJ´±·JK§o†ÃÆÖˆáÞ^‰zRy_gi—n­¥1zéÎn×`k”–ê¾ä(BÖ‚Ûøf¯áY®…—žÌjÕÂ9t/û\5Nñ¯‚„ŠÉŒù3Zïªýy¼]Cšj—j6ÍXܰjûH®ÅlèQ}ýŽ$ÕÌ« º¡fR;7Ħ$®–›¶‹prõ*>ÕÔÇ?õýxæö¦^fz˜Dˆ–n•‘ÈŽAÓá ™àÚ½¬4µºŽbÎÕ»)óÁ÷ǶøÜÖQ3µÔ4)ú\/ä®ZÃê­¶…–àûE?Ë–1-î¸JØv9:$Wôì¸O›<³IbëYwùÙç¸/'û¼ó]Öäûô©e»ÞIâ[ƒï£‡±ÐP]$¤d|[ÇLÈ@õc±`[,fMW+÷Xr<çÊîŧM¾Ù/o«yÑÛhrÛö Âpæ®a5WÏ™æzù@®œrÝÛ4ÆXÃ#&%g³d%×bNÛò5YÞ¯ÃaÿÚlŠ—î®sJóä±­—h‡¾/X­ëèeH¿§Ó­yÁVë†Ú ÛϬÔîÓê}þ³B9›|õ’¬ròIdÄLËHI ­ˆ6µnP¼‘¤>Uæµ{ùkÃí½´tâçöÚœl‰Xòç ôֻ߿hR|¤1¿Z:4ǼZ(µY¬j-k^QX|XyNâoµÏ$J% ‘DÕo\Ý&´ ¹ké )"å«4Ö‹E+™]ÚŽD€œìß/k'ö—–ÈAíÑÐ7:~XÌ[<^+1ö°9|L ¹\aÒâfêK-yÈWÖk¶çúÔí§Ï€¾¬×tÉ):*µ]9â®’ú1èÙpYaÏ•Ï%¯ôwš\ <–Œž«£eq{/iåé´Ð²áðZµ!Б}ÈÕÅØi™kÅ7ÍÏÔVÏï± ÐÂGéÜÖ£\+¸,æThuÌëÝ¥gk¶G:È?4RNºÁ=´0%ó´Ïµ†*û¯#í5>ÚÆ±LVg4õc,­7µ‰•«!~tê¾,^–7¯ù(–1¸;uyV)Ç—”ý½—$[_òéeQú²ZþÒKVý‰Tà˜m™~q—.©%$SJ‚Ñ«®†’KèV¬,…ø> ÞEù9VYmâ´\N•gJ.Äj±È±¡ áQЙ«ÅymáXVv/‡î3_¯WêÛ8ó#5³ñÉôÒyéÐÓJÀ„Ôˆ7=šv=0Ö‚dCL…Vi|œëZÖúÈr¯®:58±e¸æQƒ£u‰âZ5 :‰¤kÄîK†3[òš%Ô¼´ñ‹^À–ª#£+³R*À«"§^Ýà ¹¸â%–_uÛx#¤WÇ÷4Ñ˳XÇÊrüo|xžÄ=váKº]“oþµ ¯…@yÅKÊé–à¾T­ ^!?7[»¬ó –Œ¤‚FJAUÿó´ÒîŸ,ç¶™-Ëe%kø¼¯Ï€ë亮á[IÀHjµ±õ”‹<0%l”éCY+Cyäõøs!œhÓ›Zz½i s!Ú“ÕË5d¤‘žÃ€ÐÖÄ¿Àòç1_Œ¬ ÐJ¨€,+ÆO»JÛU'”†f¤F,,DЇjðúÚe}[R E¬sþ!Ñ=½rgeQ0 àb¥ ©iw²4„úÍgrÓ-.ý‘ЙÀ Ò™PˆI 0RôJ7¯)ø:0’Lõµq‚Ëš’Q{q.[-²:¶$¦š[ àcñÚþëÖ§RC¼ÙÌe“ë²|è.ƒ ÛX§Náˆ/žì$^êã-ÅXã/¡¬ùm£Ã%ç‹¥[|s´Œý(×6gP²5ÇBÀ¸öÔJ¦ÿ^ˆÖ‚ ­9½ ¤@Ûià_Öí ºM¾?ó~\7ëe^·¿o­™v\sÿÙjÝû¥ùLá}uPJôH‘©¶¨ ŸTËK½›dí) …4txo+•ú®úÝÃô˜æK­»Ët1ôÂa\mƒÊ¢öw6ëÁ÷°ýBAÕʳm×c‘Áõ²¯AePÕXšôIZ ¶†®ZHÓšhÓ=eXR6w»®z¥—,%ýÄð(Mªƒ‰=“Ý«øDßþ«¼w¨ K'}®£#Fã5Ì*:TÛ }³d«¶jKûRZ’~×2ãȶ‹¥KdN æ_mž“ÊÉð–ÕÌj êX+V\Ѓd—JékÖ<®5ç¼ñB¨WnY›,.0/í@N¯G‰±ð4È;ùÓÒ¬-?½iØ¢Z¦Í(”E¼n±.ªS;ž§Ñ^î]M’ã®p‰‰Ä\¯è‰±Q5‡CSGá68$ÈJºàF]–"¨Ëj½öÆÔh=ê×â¨àŠ Î{ XLiTpkº5ÐX×T[‚e‚D/´Dö—ý[­¤ 7—ÔØn¯0BUsƒ‘‡U0…&¾0^©gz?XÑÖ™\ñ¡ÆÕTï˜ìêM $’½æîÓí[ªä’Ezb|MÐLGƒÀM5™FVÓi¯Cô)5d¶£ÆzéáFÌØª’œA1N>e´-¶¡ã}‚2ÇœEG/¢^kýz[_Ã4×8šßùï–¨#i4°ô‰“Kù³=ZÓ½G>/ó}‰Ú›*ÑÙ»KÜ#7EÜÄ$‹'êH_Ì'ø´ÒÓ7›K„S¨ã¤’ä9Ò* ¢êåEk¸NÓ.£×àg›Ôš¾ÊiI©ÏQíb !½ŠñqFÛÇß•)^ò;yæKáÑ«ÉTÓ«Öt8ãî8l)üÌ\Z$&ͦ«ø‰§bØ™ %c½ß`ºn|iw]¸4µ3SK@è2Rhº2õÒ3úïÖNŠ•wðò^4KÁ£Ç_’nƒ*Z<µ’á ØÎ}½LsöîÉ7ß©´Ó•ŠȲ‡ §gw±àn‚)Ë[­Ø2Âà™VMlªË#gkåšÔ`Т¦Æ¸ r¤ŠÆªzrF¦Eû9ߺö}ân¥gÕ8:…÷b/aKb_út@Ê—´ ™h;-Qˆƒc°Ï߀p/)“ü#›;¿.k<Ý ,:½Tà. ?H51È„óüò’+ÕrƒºÍ⢚Wÿ¯‘HÝ[£+©ô2öË®A$b$Û¾í–]«<Ä´!›Ç!Ƽ ;>Ÿ¥+àÄ@_DWЊõ‰³-|¼Ì†ýE{¦›iZÐ&~8)Ó{²6zϹ°¾qí»òÉ/—–ty½û~3 lVÛ=ÚÂÿ úÕú7¤_ñ:7µ:¹û´—9_8 fØè¶¢ Atíï;PO®M܃-A6=ÛBñϺ;Wêc#oû§›¿§K1 1NÄH~% £óʨöV£ºÝ@0fðíIK`#ªÖWì èù Ÿ I?0^匑F„‚{]£ ÚðBÊ¿pr„ dOŠP•Ê; Ȉ & W*œ!öùGv¡Ûz£ÏË–ÞèÖÌ[°5¼Ü‡é{Rʧ=H²PFþœ¿ùó‡åž® 㹘àc½ÑÌnâÀ˜VÖjë(ôûÀ‡krV0¡ñ%¡²/Ö '5vÜ¥éÝâK80¡¬Q²#ƒ¿%»I¤ßMŸ˜a”w~™ÜG\˜,`1‘*†^c¸AÓ·‰,üVB«ˆÓ½bRóú’|’Z’䲂êãMvÔ(o‰wíª½¢Ã_’IÕm 7;‰º }M€÷®³Â¹¬êmûj䜉{ëøŽí!húà_þmç©ÒŒšl|×n¨xÞ¶Â%^h’Ƽ⎒¾× Ø ¤äU#¦D¹`7(h…ØØ¬uö•Zg÷ ®Óèa¿ÔËg¨)¹­÷€¢çܤƒí|-66 ŠØ]hFȱsµ˜€#ÏôR6¯5èûà±== ‰¢ƒkKh„©6_#öX8z [L‚Ôd{œ{Õnëf¯}{‰_7›¥ZH‡aoæHÔ,°4;ÖLdðy=Ls‘^‚T²Ê޵ÊË&—Ù?›c·%Ë¥Á0£AZ}ŸvYõc!Ö9ª;Töζï3½©¢xš›DÃkšDS1Gª$âZ’º‰Ïª›$¼66éä^”Ä&u§¥ÅĵÍôX«°Acu„%´LW«IÒÞ}øoy“ašp@çÖ¤m{ò¤ÆC„nlãí""ðë¥QÚŽÝÆÂ¤vZÅÝÒ ƒqmcŒba¨ñùÐ Ã^*¼dfGàêKJðô1ŸÍ{©'o[ÖrÉù-—׳05Ÿ§œ ࣛ'4¹è$,¨‚ø¹0AÚ£ÊÃÅÚŒ…þÆq*é`A®æ75{g»'‘9„Ž 7fx'C€ì–ô€iŸ%RXgÙwÅÜ+3V–Qe4+ôl!b8ãBqAòÞø+Ìß6·ö°Ô´ ’’»íDµIÓØuÛdp1›‘l|#vÙüõø зžÞ6\šÕ@›Nƒëƒ Û©oÚ Àÿà×eRÌæf?ij–€ï˜Û_6U§%¯ÒS?~ PÏëà Œ¿§^ÛñZ¿N8HU×úÿ5¹Þ}8†¦·Ñ^IE~onÀc¦$½ÄLn>ò~!¡öÆà½ïÁ^n»æŠÍE “îkoe™²Išqô‡µ4ÈŸlq^£[> ³Ù§©ƒÓ‚â7ŸMÃ×=&û>x´ì¶ÂŒ˜XXÝ¡n.´FY€ÕŒ= ¢m˜ÙbóýÖÚE:!++}kú´Fwº9ZeÚ³Óüx{ÙkÀè<Ʀkæ±âIæIiuèAÝ Ç°Žœªº³[ÚóɽȀ ½íDÿh¶Ì:¡ýhÕþOˆž:•’$Ú8ú»)Ð?LómÃŒ †Š9ÞW»o¬ÏôT ¡é6Sm;¤¸áï¦!ÛP!L ¢Ÿ ­f}þ¡òä™ÑÖ0ìoá Á ´ž%²¬2yK¶™‚#h‚âkQvƸ 1$%;Ì*i ÅÖ±)Áùj+mZé=‰ËÝDdÌíšÌ”fÛ§m U®'q¢[S$Nãød“x˜&l ;ÌÔ)<\³Ið¶OÛÝ(2ÕÁ×n ìN̈¬"oc)±>æ_«²Û×M4×öX¾ÔácWn£åž˜ái>d2ó‡ùÛ²r.2KÿGIHûnR›íHô |O’Ã0t’m`€Ò4£øöy Žž¤¾æ¹g¦7 Ê÷Îõ‰/#X´I{’{‹B¼îÀ JŽd:,äè±@ÃëT ÇíY“_o*AM a¥ß̼‡aØ×£;ÆÇ‡¶’„¢óáÚÇ%©[Íq=IÆñõG¯ýã¶KºHöµQÅ»mJOiö¡L6¿¹'3q¡•Û¯œÄq¯ƒ:V}‹ >¬ÚãÏòúY½þ"«ûCiJÏß$ë_”Õ’îŪ çGýÛÏ_9¡ßŸÕ|.ìÿìsá|ÛÏòžÇÔ±e†Ïñö—âW»Ž“/“—–ô_-6í|›6)¯ Ô¿ÎcòÐËLAÓ3¢bódÏã±À¹Iý–V^½VØ€u¦‰A™YæÃ#|4¿ÛÂÅÆŠX£©“”ù¹öš4¬k_@³Àâè™è°\ˆ¸›†û%¢Ì«µ‹=µ3†ýÚ#åÝÐLDì~ÐQ“cT–á±±aç|"z–?73¬[c–³ ’^Ïé—§'VsxË~Î\öf©2 'OC{fK`‘AÑXyû¾úÔ›yM,&aZõ•Y§§_ÏÓ¯äégçSï¡5Ÿo´æ“§_Ozsžz7OA(®Ë pÓ%˜Ô¤x}™ÞîÓ¯ ibf¿ì6yPS FO·r”™yÊ;NËovÝ![Ë0F¢=¬a{±¦ ?uêa~bàÊЄ€€ÐîæfØ›ÐÁ§rˆ29ÍF±¾”§@G§¾Âí/Ÿk3÷¿g`$“Ë÷û7sÓm¢g¥§ÏWŸúV{>QL–hÚñÚ{¶Û1ÿ\pfðG|“C¯0ÛÛF:ÄýE—fKÇ^[­úúÕOû’Þ—äÜùËÑm¥[De šÉuŸëH;{1ÍÚ›$„ŸŠaÜÞþùMbd'Πÿæ8¢‘÷¤+à9]úo§‹ý¨ŒXâú9aÏ|]˜-˜éAŸ¦òMƒŠªógÛ3îŸ÷ˆ™kT’Ç£[¯ñ¾4œwêÆM[ˆ³Îl:æ¹æ¼ãtE¾È[$Ê7ïF‰G\`½z1-‡pmæÚ0{®ØåŽÑùÊ&¨Ò/¬ÉÛ¤½2 ;¸ïàÿš%ü·•m,騉þ¹_P¨B=‰Së…šôBîÂ!üÛ1=^2t ð’OÄTp¡àððkØM¥7G\¼7l5±å‹€H¡@bÅÊTIܨy'0ÚÚ‰ÉÝs·ûšð¹.PýúrHeÉPÞÒòY(k!$,ˆåcžk7Cõ}En7ËÓi3×AÕr2Ðà8ö°`Ayg3Ãäéd¨Ð±Ée÷{Ép1‡¿Õ”é,ìj]QpF.l÷¯Î÷¥T½:YvÓ{cZ¸©æLÜAbRB° ™ÀÞˆÞ”=>[ÓîÅVé´ddd¼ëx\‘†úô’Ã, ï Mdùbª+nØö£žöàuìùj4Û‚ ¼X—‚r½Q97!ÆI³˜f *½tèCǯÝxÛ6ð¼i’1¬È†:9a;%õMdÍÀV’p1rZVN hWg+q´Zs´,ûw-õœŒß™õ›|.Hfa|ÑO5c•ü)‹XîNÊ­¶‰x;ÄÜ #ºH¥ÕXìÐr½50^PâSn,KG®ÿ¹ºY¤5ÿE+6*ß}^«üßµbNXgúÌiì«y´âmÖFþD²ö/ë_ ¤­Ã–hÁç¶Ç[H˜—ï!Žðî ¶nw?¬ç'²#S?pq ¿AÐþ¹6³ÀÑ›¶Ùc2G¤[±w¯‘G4á†8 æ3å>‹š5¯nÒöåønž`ùuFÏ$…¿a2˜˜Ò|Pã€,Úþ‰ÁY†·_VÎòÂ+T³hªE™Ös-}kæ ‰%nò;þ‹ÅÁ‚ô3˜Pm€lvÃ;ô>¨>õ 4¦Ͱդߟß9̨•o°¨¡À“NbùÙ~OóZ¼M%Všï›@RK-,ÓgšMç|ʹpùµ¶)5Žé˜œ­²¦:¯Á—‰µÅŠ»Q"í™eÒØÓ4ÒbâmŸ‰œ>ÁEûtヱg`‰ãÇ’‹Ó˜8 BË ‰t‰Yu2„•@—f²àúÅý§¬æó•ò)ÎÝ\†UIΡhyTuÿ çœù³&QÅ,–$¯í86°lg™ƒ—|•k´að ô˜NQ1hf0 DÛn¬ÍáLäòÐX †ækí“ý‡áƒöz m¯í4Áô+,ýß×v÷Ú>¦nW›…¬ík{äÚ¾ÝTk{äÚN`4R¯ë’k{¾ûõËÚ–J¥ÃZʓ֘ò´gº~7ý•+”[/TØöÓûWJ˜žõ‚xíD,+ÌÃÁŸÒ uö¾2PÝRkXhñÎ+×õÈ}6¿í³ú±vz’d†½óì3Ó^Ò‡¶ /f€,TѶ“’Ä—mU¿2HþÕìT5ƒŠ¯nÑ‚nIðŠ3†¼¶Aƒ×±fñ:V-_Z:Å ~a¨½bð½ˆ`9èxu½F]3߃%Î7ÄYn»~R]u0Àɦ#ylÕÿß@2Jâë¶hb _ S—ù¯´=…Å€nœcª=µ¬‚šÞ8ÁŒð‡ƒ<¦¼-%ƒvé i¼Ñ›:3 Ã5rs ¶åˆttòn ":h_XéV*&“·™Î0í©ˆË‚y<Š Uû¬8F&†‘„JhËŸ5¡Ì‰»¡y…4ÛƒÃ.üéé3+®™o• ÙÙÓ‘lu_çêèÏ{%Q¯'²ÕÌRõÕc°QºÁ "½ T†àûMo¤ùxø2ÇD¾ãMÀhÇzêPPK„ÞIuêÎã±ýr"õäïéÉ)Ip„¸šˆÌßnÇ¡j °šýÒ‰éq˜#ô¬’\•é…g˜‚tSä`´?Ú›gÀ$JÙ@öÆv¿I2‰Ï—Qj/äê êl3}\™qô¦›å‹˜eì`“ª ü)¼¸áE©¾Suä˜C3Ì"0”NxªysdLròPµ|!G#è½ÎLârÒJ:©“Ú‡¨/>žHÙµ ³ˆö{ L$-„˜Yûøù2C»#OD?v’‹„XÌ@aÁsõÙ§Õ¨‰½Ëé·Ú·ì=måt ±ób ½gÐÿv(|á–Ë™q´kÂiHeÇJ¥)’±oN`ö2¾ò¦Ÿ&Òúgm9¨öLßÔ^@_‡ãf法šãÞëY«? Îê"´züÖÒëçŠ*“°ÀÎ$§ç}ŽyLœe-}aû¦3›`"v:Ê|g8+‹žð•b¾:Ày3<‘ª½|°òš p=©Ñ™óîYý}FƒÑbÌÝ“ÁvyÚ„ˆ¬0kÜRÎ<ÓÉ¥ Ù. „a¶£ð 󇥪J%0.û²iìaò8¥‹u:ÇÅnï5›rÛéÑ'ºh¥ƒ5¡”ßì‡Ï„ÏõmV OØCWÙqïc¿žûkÄâ£×%4¾Nkg¤Á6®ŒþD”OM{ý$k¡}c/ŒtŸîtŸfš¹™HkÚÀÿìÌ¥ÙäÚ>9ì-™v"½1._Çæ7ãë¦ñµÓøJ+:o¤ûi”ò¹êóšðN³b9ºwÏ螘‘®·ÁËK”z@õw ´}¦¢Ð`zÇx2ÛõÁïþÙÖÅ·PÓ@¬F™±dólïi+—?WI›;>W L€dëãÅ÷¼]E²/ŠyP ž4[´TZ€nWî=ä ­þží—‹Ñ)•’6JÔøú‹þàŠvëuS«Ðú¼ŠÌ8ù21å•aâ™óEIQPÌcÿz‚h ÖJ7uOTÞ‹†©Í¡*öM´ŒX°±ÓDðÀo”ë™ 9XI’Zÿ¦“õœ®tQ¶–Ĉt ᩸Ÿk³Bʵßô\ø|ÂJÞ¢uz»”ø½ä³óÔk#‡G¯=‰dŽYMÏFxg½ò÷í&[y½‰ßÏô.~cÍÄñWNÝ©Ÿëoû‘•9,P'4:XÊyÌZ\“€‹a­1ÂÔwÌküfÑ:¶±[EÊàL2¿@‹i¦7Ÿy:HÒ†iiО3¨£Û;Ëv¶ åÕ 7*Azà”ÝC˜‘±¦8U+gõaas)ï-÷x!|¼Íƒ’¤`¬ƒni9[S,U„ôx«Û2ÅfËìaO‚»g¶9¯Ã0¶3+¥·_hŸßälIÌÃI+>YΓÑ3¦Írv~®f~¼ù5_ÅhI2|†Áàg~{Æ:®Õ°…n.jzq\K®Õ ú§Fd8¨Í‘¶ÇÑa†ÖÊŒÓ0^/mz†ÕûL_Â0)ù-kÆ™” ®“.šÒ zÝß™]N(8™bí(™qþÿ¤Ý¦ß²—¼ÚŽxT=Ž%b¶ƒÜLÑ_:ŸÕ‚ q\fÎÑF¦%™_ùE² a Æ;¸ŠÃ4QA ÇiŽñ„eÊÙs8O€Y{·Œà{g²­–A5]+\YÏÏåýôcfT†RaÚÈ?ÊïÔõ¾4s…¾j¨qÛG»U9^¦×R£PmõF2+&¡"z[ÒÁ#}.™›l=‰Ÿ|…Ê¿¾ž@®aå„mYZs¸‚.æÏ•Aé‹8²ú!˜Ñy®¦y°ÐÎâ²kj'*^y‘ít§64<ÉÕ¨Éóz¸ŽÔf=1Õ3u@ÛN7£ûQÀ”ȶÕE´tÈCJ …nq×›ô‰<ªëãSný ûÅq-S,6è0mî85 ’:6æš[&”… {ÚzC%sê˜ P¯¶˜Èè50JÚò œ3â&eØd6¶Ø78­†}u¨½ì Û>ÉŽÒÂe—£7(²ú@T‡n›þ¶À“‹ž¸=[IÍÒÁã”Hø·´ÈðÊ'-»»­‡ bϦϡ…“áÊÒü+‘cB¬ NàÍ8Ú¿œ<ö±À¯ŽàLl½/¸2/lóáh˜åtÔÉf˜×h>}q¿ì/É_Žh×··€9™7!‘Rblš%=?ƒìN‚¯7i@ÅN£7]k=)Åì /‡ ßLX0’ 3ý¾}°Ž\<†ª)áçD ÜN Ó®ýΙ.ó7-eý®h:nµ;Cl· ”,I€ V'2ŠÔ&ÌË;GÚ(Ä 0‰…™ƒ8»s£ÎõvÄÖÌ Ó2µ% „xQC\xûúDÚ?ÑfÓ,23Y«ÇÎå軤¯È·Z©ˆ?Kë’C]¨ÓeõkÓ×^ã o«&;¶D&KŒ/•Dϯ鈞ÃÔîvO§‚˜õvgΧ‘/~×èNÓãÙØzö“µêÔ}O««¥ûªD¹Ò o#Qç´ÆjyTLÕ3-ew”æ;—uzü1r+@ ò„ʳˆ²¤ß5;Ë!úxm%)Gšg騖ܻ=÷¶$Zëoížà|ó7·)§Ë/7ýlWâ€c"h¤¯7‘¤ »¶3ìÕ|îÃD µ§æ1¬{½¦UÆW†!½¶_ëu,a_¬k–ò";ImNÞ" [÷"Y~.Yx_7:SÏ´vóWÍáÏ!ýø$û4EÙ)­»-ØÂáY8„®;ÄÕ9PGÇôðÖ"©r1zñDiz÷ú Me’ƒÖîV6(©ë§W¿…/÷·tIzz&œ„ôNL(g­Y0€IrEÎEÛÛõt¼ë…Ç^T÷Ž›€)™ï-­ñ’Ò¢YøA“è^€Å¬Oòk2x^[B»\I”„LK‹ £•ÐVßž$éõ˜XzàºÕìá—\å9[ɶªÂ0,I­æÉ_™òmÃ&"%©b–<^ø^ yóB3s‚ÝÕR²l"X^Ž×Öz”b~MÃdÍH£Æc§} i•ÅNέÂú–\}‘¹± uô¾ò´´Vî;Å1ç¸OóêP;°B³C†½ÑÍt0>é‘ñ7=}YÕ5*Vhð÷N?vNÂÈ`[ô˜´Ú ãÛb"°æ¼ÈdF|BÖ´Þmãv  î¢ô¥ôMŽÿB»z~Ö–ÁªÖꎷÐH ƒn _ðatÛ ×ê àRɳ¹%ó0Ù.™ö‡ø<fy9Û Û­ÐnHËOnümí2aÂÑs—¿ô߀ÜM¦û_¿÷?Ï<ÿ¤ÿv6nóhœ›§{ôQy=šä6üåT„šðËhþb!<É2Ë}Éú ±t.d‰…ó:AáHLeï2y»—„â@¶º]€8…¦Còœ«~‘Î[¿]‡ž`sÐ÷ïœèÏy©×8í~”Ãt Oþâ°¸–ðøL_Îd© ©c{;Q;¤“šœ’iË-'iUùK.¨ìÐX¤W‚¼ˆžáÖÝè[7ÁGRÌœ§«Íéå^̔ϗ†üh}^›_^’ú3ÄIó¿å=T¯$?𔤠­ü…Úôº¬û×b|éìÓIwÁ0_FE­±kÞŠšI¤VÏTW¯ÔQ¨à!iùëšèí=¬‰–‰+j‚jÅXXF |Ëß9e´*¦—ÓtàL:e–}—ËÊ‹`•\Ë7m™¯‘uñ”è°íN5óRM,³<¼s™é¢&z—d©¤=tJžF°sØ<¦·™ÝJy¢=Wà†Të—s88g¢I&†µÒ&ãÚÒ}=Ìú8Ž8hKAù=t$A‰„Öë/¢ÒY·ïδ7)*Qi ø{èH~~6Õ>êýà7h³oaso†§M;leØGA[´&$Wž”M›Ð5¥¤YˆKüõÇ0x‹?ÛNžùûa’·„È `w'͈GG[¦ì»>ûÌ2O(ÝâoPÄid±Nƒ¸`Uvu|uçÖï‡hÚN~×åp& f‘Ý”ÖÖí>k™¹HÞc!Þ2—ºƒ9Kê?ýsô¶LGP,ê¶;?GðL~ ޲b뿵DÝ ª=4ÔÒÿÙÃak‰™]cãgežªßMªû×£xçÏïGqeVPŠ!êÇÚGp3ð|ÿ<æ·pÄJLf€ÏœDÚZ¬ûøM,uK&ìõ´V“µi°·Ž7b0kªHß%–ŠÒù[Š’/¬z‚ÿ—ÝRÛ!eÎZnÂï;Nû žÑ~‡0Q¿œ!S#<ùR‹9­Îl²zDµjŸÕ MQH£ëŽE|"–ÌõêòÏj6)ï•qÇü5€Ñ؆ÙlŽYÆîçµÞB,¹úR;ï^±ŸÕ·sÕ­÷•¿«ï wöú³ €DRɦsP™¯ ±Vla;û«¿…Æý"ßšáìjQÄö²-dëÊZ`’K.×nÿ‡Dsk©fpwš¢Ž~mÉpìÞˆÅx­µÃíð©™è(¶Úê–‹Ç S׸˜µZ]ÑÉ¿Èívkà©ZeÍ®·,Rw±`޳Ÿ„ÀÈtþñC„&ˆSêõ5“SÇ£¡órÄñL¨¶ïί™Æá¡š?Ùž©7¿eìßn–“aefPV“ªç}xž²†Juæ³/2Æüz Xò·ò´a#eÏw_<¯éËÚÙgæ·ÊÂðœ5·äü®„MkÎo TjÐ¥Z°žˆìôñë^Éu7lm´Ok&Ë9N3ýßy#2ùÛæøç Ñýß2­½7My_ØÙ4ë]§kÖ™º­nk«ý0*oښѡÏ?Nê}Çzånpƾ“ÞäíR3y2S…Ãê—arëS/‹‘—÷pyb6$l†}ÇAy5k:1ºãñç%ÂÜÁ-Å·-#Ù¼ªŽ£jb©å³ó2w^¿‰<§'×IBk&å¶´*Ø“¼üÇy†”ýÈ—›[!Ã=ìÕs´«=¦ìàÆ©Þ*à!+ K2ýŽ´<ÿ8öA~‰þøÀye=O¬Œa$‘œTã–u ®lܰ¥ IzÖ³÷°ƒX/öM5Ë/T-–Ôr*&§¹ì¸Øí!ÒT6O¬ ¤nDšàz†|ξ8 6º2GÈkMr€i'^l#Wߣ܌÷e;ÉÝVKÌÛ¢‡#µP)’Šïó{däØù³>(Ý×; ;¤m}íÐ" `5€W{²²Sd<'Ì•›C¤aIDàuK.Yßh…5…þòJØÖFk|„ë]¹bÌ7¾žÑ'Ý""•eT6ç1©9ªƒµožÁ{ýÊ$<ÝÓO×m+þºÓJ¯dà‡i=3¼'¶ïž·kªM2³›¨øû–ÛµšÍb±5PgúéhÍw=V«cÇÜL{5lC´Lm¢'äðaÖÁ!+iÐu&dz3pX¾j¬¨>Npèœv×Ú™OõVxÉ~.Ðò'$B~:°ã‹rÒ¨!Kp¶Ã¯p¼ë¨}Ÿ¾l`¯·³©]öŠBtÒ“‹$À3[\ìè<Ô?4 ‰Øˆ<4±ŠŸTôÊrf¦Ý2ËrÁãrœál|e5œ›‚*+Xà¯fæsN#q‹Ý7%)q÷ä¯Þëä¥é^Òs¿õ3%Äqìžèžˆ’,P&fŠ™žÐâ½Åóø¸Wfÿ\s¯ÈŠº6¦¶ÀÀø¨„0;>²èþîr¦)`[Á°x¡3I° ÍcÙ V·VcÈ›â?×îQë¬Ó,@B¦’;˜´.ÖªžkÍ—ª¹I«moÃßÖ÷ç kv·Ó8Þ[žÃ푵¯¡›ó3B*ÀF'Î󓢌VLtìöB"áùX¤.îE :¾‚¥ñ¢š¢õm ïxs1vµµÚ‹ê¬ „ñ¦/Uþ ôµí”¨Y`ã}­Þh£ç Ã2¨çSÏ®Vç¬O¿éµ#Ô ¥Ý¤nÈ3É"𲆹¤²W—É`M†š^…'Af&”·GãoÚ/’šÕ>ù¦që‚A¯0lL[²«¤_ßyiý]¿­¡"óAœ—ƒÛwk¾-‹4ôÜ&®&š×jÂ%Ô«ân9~Ì!ï¸âŒ{®}lYÜžÂ8“ÚMÒºêòÏÄú(qi\’ÓÇbt¤²q’„b‹râZàµÒñíŠá5_g|½³€cN8»¯óøÆþ\ŸÚgÕ∙[iyîšÊkSw§)…k†Ü™e/\˽š&h«°¦n™¾Ð7—†îÊTÜ´Oj¦Çw¡›áyy6! èlçƒÚ;žç|üàYhé_ÊX øXòd&‘ý=ÓÀØ©÷Ÿ$qÜd•¯õü4xi+؛՞Úf!x%{,Ž`ÇJwªÏ/Ô‰Ùâ¢0éï:¿ðnóŠ¥¢¢Ûè½”É DÚy6FÚКœ ;ž¶ Ò·B°¡Ë,Š5U—!¡†Å%á×.K^):£¥œƒ)CÕôåj—C«l;›ÈÕ”蜾8ìw¨– åsh®ù¹Ö›Ú°çÞZñÍà Ù`·åaÐò0(߃‘!óÞ²l'báÔÜÛ7½• 6–ÔŠJ>®¦ˆÉm‹íÊrxHžã˜Í?É^S„{Û˜FÙ¼øºáˆ¬=MÉ…ùŽ’­ÇJåÅ „r9\À… THVí†~!›KŠËi €þiFÃBíTô9SCÇ2éáâs18q/$fHmÉorL‘T –ÄÅí@wqÍ7(ä‹À=\Mäu/.!ˆ&²ìR­Ò¿.A®rZI­È"€¯mu†ê¸Â!Ðîƒ,9¥®>iUÂöPº½§D}Næò••«q£í`Ql >©¹ÝD£¨1˜žnˆŒIXv´ƒNxž[Jôûå¨4.oÒ©hÃç‘ô¨0ͪù7ÐR¯bƒ Ì…0÷ió˜°Ñ¦Ç‚ÜjÆ',Šì㬙®d3\ÊTµNdèNÕl›šžªš53@mi‹šã5©eÒ!©«žWß“wÈ&©‹â©)DY§x‰¿%Û‹dð\D*-GÿcÑPàJ÷žæm@âËt?ÛpDêÄ›dH“¢Ê†Ðv–«æ•?l¡M¸,ÚÔF#˜–qVyÂuº‰CB^NòœÃ—«Ò¹yÉfòaé ¸i¶–g8ââÜ-¤6xÿ®‘»º;ãN'¢”¡Ž7\η²¾¹å8¸øY×övÓs !‘ù'#nªo@\Ïr)ÈÍ}qÕB­©íJÒÛÁ"ÔÍdŸÈl NÎXcDaùÇ%‘¶}=¯L>üÊú€`ä]¦æ¾ºqÃg2)·ÒÜ钜nj|q%€å—ÉØ¡šKÏǽa%—Óm>"´dW¢Û3õ³‘êL>:ŸfÒàs&%L ˆøyÝÿý’N+¹qéãžn£9Ë$çá?!ÂÄ„u€L¼Îw:Öù𙫻VÂ2dàèvÁT™³¶õjVq²çÆj…FªõàæŠ°+êX½¿†nÒPËÃÚŸeŸ°ÛSÎx¤Ö¢É„qãðJÑÚIFËIÁ•,…b#jITŠ–,&jÒ‰ŒŸº€÷ºöX¼nK˜Ù¢êµìŒpa˜åŒ!‚`²Ä…btåÆz¥ »vUc™.H­×cÐ~E\„JªâÍîIãTëã{=öü¸Ru·¹¶ qZð*†±»ÄF¦]=€jç) – gû"Ró8¹‚Èo•]Zi¬Ä ]^ ©™]´5íZsá—”äOÝà´s]ù0ÍŽž”Á‘q(3Ÿ¹vH.ÿJæÝwdZö¾¡Æa_ª&=5óýõä^šˆ-Š˜Ý¤¯ú°ðL›c¨ÞÛ{ÐèQ·ù`šd(jN9[‡=PiçÍÕÚC:n¦ fN[{)µ&8š*ú-¥àŽä´Žt»%®ÓWS j&ÕǸAça¢Ý…iGLñÁhÖø  ‹U·l]Ž]ï®t“™èãe¤ôe¶ÜË[ýh?¿L¦H‡—ƒ¥2*x°£‡S_£ã4ó6]ÿ±¸¾™Ò—8-§¹×_¦eP};µ&€¿H\'Ó /R.ÂMÂãºÌ<õ×õââ1 Ú3J½Ì¾\îø´¶=MáRøÐ‘¾2 –‰GËÜ; Ë:ì„i©“úÑ‘°{^Ÿê'}yÕ§„Ššyv2EÝ5û .SËR¥I±±Â³Ì¼Î°(×Ô˨†•U2$²òj† ùëàƒö'ÿö’™b&5‡kêd)'“ Ó`@R°› ¦¸H]Ä¥+\ÎeÓ0ˆ©Ó”ùÖ*e9cÚf¦È×m¾Ìr6%2P6g40>È;ªm2»múÑÓvÔ:ëËy™ã+yçR囊j{¢‹@¼V{˜î?p“Dx‘Ku¡ŒéÈOGÞ±²»ÏH×]û²;­‰xË¡˜±}…óje]ôÁg¬ U¯+{²^ö×¼¬“–Ãg—#Ö‰f]"ÍXpGÆh;*æZ ±‚1“Ñä*‚rè_tZˆã+%¹Ã÷}Î`k™WK””íðí ÅÔâì¼ÎX¨‘ÔÔ•¾¨þI5æéÑ/žÈnŠ›K°çW»î¾Ó¯s-:ŸÐœñðöOúw“ûqZ‚˜™âˆwx/jÇk–¯ŠpÏch{Økàk¤ðTR¾˜ à2|/ï­ÚŸ,LTq 1cÉg°Â¸sZüNùŠY‹ýËsÄ ùû3ïmãb§$ErSÝÅõå§?\í!ÆuS2Ä[¹]vfàÚõs%AB —›9k‹“räU³ÁHºRK&K—«cwœto!$oW­ç4¯¡ªúÓí;—j!ÄÇl"ªx-† ™æÛ 7ôduÓÑ꘯WsåJÂaO¾ªs®¼’¨è°ed ©û͈Ð:6¯ïæ„ñÏåÀ?…v)D‚AÂ(‹ ºÚ•~Z³Iý&ϳ̚žÍ4ìa#xZ+B§˜Ï%;é\GMÞXF#<×ê¼M&ÍhYuà“¤#“v¬‘4Nçcy›•˜³÷1+¿—Ø0tøë“·ã(ëö6+U×üócýðØW—%Ö2ÙWA®Ö2ùr¥ÞluùýÝ6±lY.Ÿßpè kÏ̱‚uÓ™]ì§1çZ?fL½Kå͸‘,šn_¦Ë¥÷tÔçë}Ž\ç89)ñÃnyÈröŸG(•ñE?YV–û”Ž—Gæ—cX/:XÓ‹f ⥛ÙA 8¥ÅNβb51Ò„Åaû`Ë(åBwæ…Žùêù§¹9_IN{e.rgwIJÎdÍ ;öºFÀ39Ó(xvÚt„Ê4˜WÍ}G† MRTÕʾgÊ~ßù'‰>²ØšñÕW :Íöø¥B·m6' ðö*1¥»€À¾Ñ0L×ö:<ÄÁLlÖ¢NóÁÖ2«†Ý<ˆ¸Ò‘wF2Ïliaä2Î\&ÜRÒ˜–Ï5{Ý%.Q ËS!á:á•EÞI…ÉÚ)Ia Úd!„n¿©IwÍdOæÉÙ> sªeò§,WùræJsjÊ72õȾe…UÞ²\Œ•eÀb;!}ötÑ~óï©™´*Búœ@²f5%gÂX‰àR#éáEÜî@¡œ¨¼P¨Eðéö–~Rp®ù ˜—]ºœMe™Â]Œ’Å$0[çhl´eØ#ßrú^‡ ¦2íÐæ@‘ḭ̂2ß¶ã‚·‹«snyºñké⛟eò´•… ˜?ŸGtˆùî©@× —G\}ªwR9È|fB@«sy±œ·õMæE󹬅¼ç1˦»Håv¼ìŸçÈYK“†<оL_;&ÒŒþÄ: Š›o[[­˜I@ÍófÛ^2}-¹ÛWÍS¶š˜FF§sváMÌ>ýš7ÇrÚa݃%ë=:Á\™°¤³ÎuÍh Ù-³ðªW·-r`¶ñ{iÛ¤ì9}U>Ps8íµ{úó‹žKTÈIõ±H¨>·oúlL„?V¦OÔcuúî 9~H²ºH£lC¢¥ö÷f„Og¿ EÓx"3N‚l˜x ›²äöo¡5?×ét|ÜG¨ÍÌ{Â(mn£jJ®‡•ì°~õL1ç«5ÇŒ›éïìý ßÌâ𩇡ú—a±Q‚x"P¶s/l»3všþfÃ…ï.—é¥:±ê |vz-›×Õ´›ÁÊ ÝDõ²NÊrÀ$­“ó¾Ñ©– \^œ•iS¤giT)›yÐ8—hp9wï Ú¤:p}ö‡ÿŽx›¤5¥cß'Da%KWvµµž- ®Ø_ò•µ5eÄ¢$n‹ŸŒ^Þˆ× ·ó,ΧЙچÝ$äk;NÝïlýe=µdP;ãçðV’: ’d‘¡pÒõáñÓ –—%ñ6’°D÷Xó?®gxlXØÎá"äÕözd%gjO}èfM·oH"9ôß~13¹¤ÏØ´¾Æ¹²þÕÍx)¢Xn’µMS6Y{'a-ióñا*š¤òduVÛhÍv“D" Ì"Ìi¯i‡ÖÓ*mfh?uÉ¡å_Ä…æxgOúÔǵ¾ÉY°ì}6!¿95h›vå[BÂ$™9Ž»™®ŠŒ}yÞù!ªk¥”ÔJîn™ÿ£íĆ“À^= ¿–쬩º$ò5}©†I%=8v’WĤDmC(µ™þÙM|H8¶uu=i$ •\[Ê$X465ê“MÏÿð`Ïh™Bd¤*ù¡I>‘8DŸI'73<¢Œ¥™ÿe\Ì£Ü[ÛCcg#ïÿm¿œú$Î$¤Bn ²X:´ñ#Âñܸ!Ácœ‰éÃxêþÍŒ{È8¨pÃ\Ó‡‡:a;û}Å?œMŠ ¡©tN£¿vWújFtz•R!‚k}3­¡ct[oå¹vÛJQ&½YÆ:Y7í”Ê+Àðôõšþïjˆ_ß“ð[óÈ-NùQBÇñ ±®?h:FUþä3*òæqþ$òæÍá×yB 4vÍ¥=+ÃMwðÉô†È±²š“¾ Æ:Î…[³8 ö!ÌÊ”,+ãðZbpãѼ>ëu?ÚØ±“€=8½_»i€øÅºÄ6i€,ØÅ.›é V‚Í›Ó ˆ…ø¸ôÛò‡r |MúËa¢£B![@eÆÏR°n_ÉC}aüsùz9·2`áé¬_ÚZDØ fÛn˜aÓ4ò…ÄKîµO7O"âæ¥8#öJZåþü7, kŠh”ðL¸‰¥ña:bîÊ HÆ´ igFôdœôúd!O—+Bd•€a8«“PKÊ©/é© 9¬¦uŸæ¶—‡{õäÑóÖ«©Õ”D™p¬f¼M;v™wT‰¼¤n¸Œåh RÁCñnÎN%±£ßœk¨›*…'¶y„׿Ý6%K‘¼3Pe‡~I˜ôž|Ùw¹„æ$X²íEò:÷¼á·–ë¯>*C~xSºõŽi(ŒjP×ý(©]Ô[Ø{µ?}©…qí_™Û¬;iEsÚ€fô£ü¨’è­_ÓX›fa“¡â$ÞNŸÈIÁM¶îrØÂ6óg;Œ"å̲ãs—¹q÷ 6g2¤ba‚~g^]̸)£Në+“Œƒ-fjðß°­t· (®‰Ú72ÇÔ¸Xâe¼ÿ17¶¤éX’ú§¯ù}0FóHkòKM?öè³Óº]–.Àmž«ÃÊNr3¬p]Ã<Û¨ß4¨‘¨Y”«;šÙ0RÖwÊT¥Ò¥4¥Æþ’ªãYiûë]æq9õð~_îW"㻉ڳ¸Jqrºcˆ²¿þaIZ:XÒßþV¿TwÚ89”ß?/œ5^Èå>:5}´¹ÞðЀ‚Y¯ËÈb@#Ë8tòéç0V옟 fÅ›qîzSZ\é :f‹¦‘ëv¸h›Sµ3167ÓåìPÛ¥$è³YQ†“Š9túšQµj9çòïÌ^&J5ü¯3P=¸4fÝk>õá¾ÿÝá„W-.ÔÑS¡G-‘e³{:ùÑ &¯H^š£$ìt49Sp/]Ïhš.3LëR¡n§S#V qEC:ÈER4zcžõ66º%¬‰ßDãÊì\ÛXÙz.-ËïX4:&޽”eý,GŠÆêäéi7^öz_ wôO}¥™•㬉>0¯ÙãÍ¿11Ü”áªç™þ`‚8&k²ò¥oÇÈJ<'ñ >ã:¯,yÝ]ƒtìv{e36—Ôùf¦Ò«Ú‰ÿ²GÒpýÍ( [XnCšJbʾ©põÜmJ¬³æ‡[ªÚy‚¹j–™ ì³AV\½îÌèr~Òš™¯¹Ï¶^BVÂÝÒÄØÖÚ^©¯q?-ÝNM‚µŠsŽÍ'ÏÊô’ݹ>Á˜S=Ñžx²™´_‰.äy?Qý§ÂCB>bƒ<ÈÛÌYgKÀá:þ@³+5Ie3̦¬OØ åÌ¿!zË"×§ÿ~׷ׇ®¥vwÍ}}~¿`àÚ,H3…’ä™õù,ë§ NèkGÙrõe3º“1`Xq¶¢sWŠ;•™?«sS „¶IX<θÞ)é oî¸ àt Û5t2¶uî±íóË~é¡5­ ¤i12ösà“—kÞxÔxLœógÿõ3ˆGëd4×q #Ê›Þ7€k+3àœN=¯'çXö¤â 4“ö0“sÇIQXJæEîÔî™?Ç+FáFZAfð_»¥H²ö‡GTÙ™Cn,Á},wG?‰0üÙ*ÿ-oà²Qç- ¡´r‹˜ÅËÞí&©°…J¡Ýe¼}pÒæ 9ËóX&üŒ¤jeéy¤3ÐO¥f)ÿb¯±¯ša J²Ý)i›Á둟K"7G8ŒŒ8Woa p³!F©É»ÏÔdÌ.|Ž('ÊVL#^Z™¬ô–Ù¿V"k94ó›FÏ3tëÓÜ1¶e†Óÿ8Œ{‡=è¯%VûòbA1•ÜÊt}Ÿ¥£)5ÆÜo’Þõ{÷TSO/ãò ‚ìØoÂgÀ;ßYbû:2cdÔ¤Î6ª­k>ÕÖU‰29y@ËZ†PÆïkgµ|@²'âgbC§ØY.w?ˆX¦Ö;%´Û-Kè÷“ˆ€Ò£ôf/<¾Ù¡z¿œÍÖ.¡¿H a|8„\›ª@#Ù@sô àGu$`$šÔ×}RfÀùs] O^¾cB¤}½ÕϬô²ÅÔî˜AMÓ2AúÓ.‘ì‚GO®Ìa‘C¨žÍþ$×Nsœ·¨™¦âP;ÙwÝ 6”ŸdÒk÷²iŸU5“O:†lÛÁƒ l%âÚìù..MæšÞ½ xi5l8í^—ikL£‰6=Ýt~ë6-,¯®ìîÚ'.:µâÉt9H@ÚõݛտoFó³ZiÙSÜ/ÈF.ŸŒ±=œ¨‚Íxó‚¢FÎXuêðàr3\±™Þàî/¯Ó—ã5uY®XæÖäT/`JÓ«rŒJ2£\|.÷ú´Ÿì…pî&)¬á÷mlŒÔK”¥ °™Šñ:ö‘q]ù9>yC²¯,v52…“(8I.{™J°íН®³uügú;vÆÃr<. •‚؉ƒb1^þf•Cj-ó¢-Íã s1ºr]É ?bs&ø”l†¶«®§j%Þ_ŒÉâé6G^‹¸èé{:ø7QÆîÒ“ûÅÉüŠlìÃ…ÃÛ1 {Áê¿9h `êÛòñYèÔ3M÷|=•ŽÛ~.®[2’Äœ™n2òñUWƒÝ'Ÿ’¨p#p–ñvDlGM¶’ µr_6fϹ¼Yd`,«ù,¯¿öuΓRwÊíéà÷é8ÁIl#î¡/—Cî–V¸%}¨qÒa¦üªf¤Å-› Ô«À¯wñ¸íª‰võD»v¢]Íh—4÷åÐ+ Árí*‰vD»J¢]l[ìÜ?Ëçsù@ørë¿An=!·“[KÈm$Þ0rë†ÜDr› ¹d%“Óq ‹!·›[Dç&ä6X¾–Ñ?ä2ú/ÄýþÌö?älÿA…þ=P¡ƒuWÀk3£,œ›-ý¤IÍdVÀc½¤Fðbê¿-¦‘!x¾¿k$¾/®dIÙ©" ëwb5Ä(]&A‘zkº2‹# (SÝæ—Ë?Õ¿.«×¾¸cWÜ1œ²„(àð€M'ÉV‹½å¸ô‡ƒ-¤”qÖœÁ,r »ß¦½orú=•È>ùßÓhvKוR”‚xöRnvªÙôÀàøÌzÌÆô'g4»c;ªd ¤ÉÈUÃT©™m©mÑg»ŸóßÙØ–œd=:o /m}h¸Q{¼g\Êw«k[í‰|ä9 ‘Kúi»±ŒÝ¿µ•’Ñ‚ÑrUv‘I–ŠÇBq"uî]§¸îÞå ’‡z^!@e8¥Ðï\dYü ý)X÷q7$fó$“iÁ¸ðiÔý÷5O+Y>Í1RtUíÅ”5MLêè»ÇúÚc=|:áÁ¦=Ûc}m@$õ0^£ÛSMNÎŽ¬*…§z¦sW‹cµ\‚ŧA=WõµïYzf1ÁŒ«`zˆöÓ.ë–ž$DgÚ ÍÜž¤êÏõ´L7jÓ²Ëú”Ë^QKJÚ½h‡=]ÖÇ.kŇd¸¬W¾õNÿ>ã7Ì¡-Ž}[Àê=CA‡?{ÄIc–—áGÿ,T¹xÍÊ<Ö¤‹ À×YßpÁ¡Ý=+ò1¯Ÿ~ýÎRÇ%±–â=|>9)¡K#ÐFjñµ4NHíbP´¦{Âü«Iñ@™`õçAm‰0KŸ‘imÈeZæÓŸ_­–'xR|vR~VRD8&D¢iÕ’?°¥Z° —{,ëNTÊè†Ë¨tŸ‡Âd¦æÐW1ÅéϼþÛÎ+‡)ä?+lXu=¥Œú›ÖÑãÃ÷G MÏ_ƒ÷b–çÈ<àX Ÿ²_ÉÕ×ÚöæV¯ ÊCBÝl¬«?óûo¼o÷úà“”3M²f9o›ÈT"LãüÙgÿó ó‰g%÷Ïô)>Í+kؤÇÍžç8rw»ö n÷íÓ\Ê3„ñáÓ|%ßlÕ<Õ‡OófìÈ,ˆ<¿¡ßwŸãí¹^ŸãTq¾ßÎëdŠÄŸ¶qËç t_Ÿã(õ%J£úâDMœ×RÁ®©¨œãÃç;(N®/Îqazo!Îñ{y/pˆ$Èi®4 çc–4 K…ù;…W[º³¦×Â’F¡Ú‹I 6 K…%ÂüãðZÿ++HóÓ¿_dØ6™–6:žŒ·e¤‘½4k ù˜Ûio·4¸[ZÜhÈYgfÚI$f«»¥ÙÝÒîfÞ®YÃI¯li{?ýsD˜ãN›é9 Ìš¶õÄQþI¿öþûq̱¾«xùjSý:—à‹Té.A€%¥Ãxß´fÌb<Ïá¹r³\o–ù·7‹2î·G¾™³š©¦4Ó¿x»Ìá¨Ý©¾oþ·@[2<ƒ=6rµo{,ÑrÒZF˜Ëa;²µÌnèn×=+ZÄ”óëZèÆXMè ŽÀ#ƒ Q'Ní?d8¦Ì<‹™{Ρp¤vnÆ=ÛsÕ€ÕãiDwbÜôM*‚:‹®+±Œt£¦ŽóþPÿFæ‹á“Ås ˆ¢"µ6{—:6aRÈä®Þ‚¯2çTϳ¼²ØTk$#ë8/Æ4^ád.—ünØí^äË6e¥8è÷cw×Ï»Ûéà•®gj¤NŽzG Úî^iw/†ÿx'dxX7rÿ„ñM/{ƒ©pƒÈ&,¸y›‹#ÖÏDZ@&Ó¬¶>q–ýƒë?ï¸I&Ù1µéz“^žæ(ÜIÍÌÂ$Úq; í1ùE. ðk0æÍƒáy9ƒr…æs¸é O®¯ýIog޾™¸¸­DºùHZXÐän"ûŸG´Ÿ¯à2ÑfdÉö‘‘zØd3qjÉŬ&‡MÖØB+‡Öl“µÔ)¸Ž“²0l+˜Zm#TÛ Ó?ðb¢ŒÎ±3Å¿•4¸Sí#‰ '‰ 7a¨’D†›D/BØÌlƒÏ€€ æUÌr΢MOןEô¼ˆZzØðåî D‘†‘4†oì‰8 ðÇ?øœÛœt K`¦%1Ò’xÜI-ÝK5¯iI[׆ĵsé¦QÒ·TÓ·TÓ—$Ÿ©½¾ûšÒU‹ú™fÄ»sßiš+͈eòli>¬4R‚eš^ÚeêèïKšÅž;~Ï"³˜5͈–†ž„†‘fÄL3bò¦?Ô O3bØ‹Á1ÿ\ÛÌd`Ãú]«éÑDgŽ`Øë“ßɼ­û‘Íw§ùJhJýrŽÝ4‰ñ|T{`ÝÛ-sW»¾Å4ÑèÙÝXÌ׿à§Õ¬vÆ®Œ Øósµ+ëíЪù*öÜ%Ïz8¥ ­ŒCï^GY<4ó,Ptb;'±&›„”α›™v›“ßyZI‹ÉqsŽlSů~IºCI‹•; Ù}$û•BÍg÷o‰‘³p²à–Ð ¿~;2üvdøíÈðÛžá·=Ão[†ßÖ ¿­y¤–“1~{‹¿‰Í÷Lœôdjè™YBKvHg¤#jŸpz!x-Ç“dÛŒWN_.ó^m*’€Éa¿žiÛOS~ÅDèË~®žQ;sÃÆ²õ ÍhY4ÿ”l=–­Å«ÅY(BÝÕØ3ëfÅ)Û„Î7‡ž+4nó /¯îæ±>!ðRÔwöäÍ‘r Í)ÑÉpö“i0©ÀØ•Ã/}M!Ãðê™R£bál­š[ןÊÉW ôd5â1û—³»;ÆÚ‰‡CLpÙF’0¢ƒù"&å~™5X’3Ø™µž5#˜…š£¯M±÷awípi×RôC™=Ò!—/×Hœ ”‚[3Eî·Ucâ4øpšV‡±˜J˜I –=‚N¾ ] Íù¾ù7ÍÑ#YfWWçq&³ƒC— ”n‹>YŠÆ·ªÝSYYüÃÁ,dƒñe³¶ µ¥8e)15y{]®†Ò…ŽxënrÚrþ–ëô00¦v¦wñ†wõ<£ä=ÞÞpæ ØÑÆk^3Èô¿3¯ÅNº×@q ©ž/gG÷éEÒ y÷éC¢ÿ™ÜGrµš_Ù2%-œôþ¤lì›ï¤Ê<ùäsêã>ßB%e û¦J"ilM& ‡g{/ÎBÏ`ÈIšòEzrç†f}žŒ›šÎD–³þë±Þ­ç'Úrka½HbèŸ^ŠÍ8Ÿ>'tÎqzƒñ‚‘1s *r´Þ›Óa|ÊÓåÀS=ñxdIçvÕ|Ž›ñ¢&€Úù`︨xáiD”¼&®-b§avBfœ(ÌÅ%Õ‡cb ðâ¢.Žsšsé"± ¥Áö­’-.¯Ð’×f8öIu_\‹cf¬Øvv•á€J'„©Î5ß0+·›°BJ9ŠÑ8ó!ëÒp:¼¯<½+c@Mj`³¥5´‘jSM%ð!âd×j¹0*ú»míp G+1oJ…+eÕûÊ>•öIæÿáŒ#arÔ Ši¸Ü¢Ò%KƒždýU¤"B¶‘žv€âjKHöŒ¢8ŠN(J\e²îNr·bv¡s<ÿÙ(6ÊßûFÙ—$ÂŽZuÕ‹ødbò“‰Éo&&וú-Å'ÈÉDãÇ©Që('í­…Ûm:6PU|š&Ä÷Èøçtù³iþ6 Óú¶Š9UHAú=É3/-îÏðgmÿC¬m§ZÝIx$ÅN Ú¹ªWæÞ&]wî…jšïé9¬lkNäÙÆ[ZÞðݵ“»¹îvGCÞíF)êݾ\læåx RW"¼øj ›¾˜GN¡ñÉP®UËÒdÇ0X7\æò­ËÚ6êÛ² ÙJ}ïx­eDe&æ?ÛùÏvþ;ßÎ%S›{(\£t¬ƒ G ó¡\3Ë¿áþ`qSž2}˜ôÄTQiŽIÓÖ ´™¤æX6ýF%çáí§íVÒótè—óÔx™·XýzRÓ’4£9JY"­”œ8ù;ôþúTt.~IÊl$Eq³‘ÅÉ-˺Wš"-0¶üý&Š®¾žúÁë²¶üŸ-ÿ°åðvÚÝÂÉ\<ü ÑT˜F*3Ç¿Sñö~}ÎmÞ4ý8¸SÙŽ Q¾g‚¦]5(ÃbO³QhŸöªÔ¬eûÁ–‹1̬ÜüíÎ<ñb²€&IªˆoÞö-êwé*Ñ,)6IÍ&ZÕ6ËŒúmÓ:Aewú]kZ;~À>~0ÊÂv¾­wÇåzm¦Úwpí?Þ_53÷PÇǾ—I¢ö“T1!´Ö• Œìp.§ôTñÎ÷C\„âÛÎ׿à·í¯wä,ëŒ~]±Û€üH-E5 ‚Ö¤’/©}Õç¾Ôÿûƹ3§MŽi&ëp’¥,Å×[Æw9Jddh²ƒÄTÔ$¦§YžÖ%ëG^{Ž_³ÀÖx.{Öía·ÀY  =p üÎZŠÎjPÚ§IPÏZKÏŸ³ql ™F‡¤£˜CM_Åùòù}æ­;ÎÀf~hói”1~ÓÒn¥kÇ®ûË1U–v&Ë”êmÂç“®þ"í®w.‹t‚‡ ¡ÚåÇ(?YéÑŠ%œ·}PÔyrÝîâª\’}ײï¤ì»)ûFʾiqO‰ÆŒI”gaÛá:Ló­IF0 ) •.®áe좟ÛB—?9ˆ¾íRÑ7’ $1¤ÌÒ œÚz*IT HÍð‰œñ¼Rè;}ŽI׽ū!Q§RN3Zà¤xø€·ƒBð =›NlÒSàµ2»–¬âã9 šÉø/‘í ³%¥ÆeíJ4BD]ÎV^ ŒAP¨¹¢§WÓS‚ü©Ø9|2ÕÌÂÈÏWzµ¨Jaá\³`"Ÿé ’¯êñŽÁ™žvœ¬¤Ç²/wbqb.V%çùS]À‡µ}›Ó*þI–É̬ÿ!¼6^§R«£œLÿí/|íJ.v]¸¬–Ì-¦a\·sŠU×øRX Ÿ·•¥±ªóÓ+×òp½({1œç¾gn±–¹ÅjæS¶®,Ò­ëuJ±ãŒbÛ Å¶ó‰-çÿ?×ÙÄîÉdbåI&VŸô›•½æÎÊ^ÛÉÄœPíšküédbwIç?]ÙkºÞª ö™Iäëôç­fq¯Fy¿ÉAMÌ„}—ž´f·Ãrÿ&5²žŠ½×ŒpÂìásʼšKÏ;‰¥ÅÝLœ®c~–Þ­¹×Íú®;Ÿéeø9^ ù%´Òɇ·"ò0V[8ÇQl‰†°CHð¢Tú¥¨ å5«£L¼ Ì.€%Ž“³¹K7Wqµ(lÎMF@H‡Ívùw¹l½W<ŠêJÇaÖ8[¿\d–•,¶>ŒvªŽ„ÛËü•têzƳþ|÷Þ¥þ®Š$ž%31œ\ÖQ±ÇÈI2©¼3ñÍfW$/Nü³(þNÅòÝ\+ç"ñÃçLu¬lÏl»†ÎÒIrÒI²ÓI²ÓI²ÒI2ÓIœluâ­Ig• kOÖÇßçúàTfÛw|m A>4Q€3’0þÙîÇÓ‰©ëŒÝÒ6¯Ñ¥ãäÂÛÜ‚oº+¿cð™u ‚Òµøš‹xšÉÁ“Z—qld´!¥d³²7Ž„> I ô/€™ˆ:h¦©ß̧b]ÍÜ*|º³•¿OÃ~ïT*¤I»¶$54!,Eg$ë6—·#°° wIršç·=Ú©¤döOz’2Kœƒ,¶“‡)GIöEèÖ~~f=ÉêpIɉJ½69qÎûNæ“fˤ|ý’Þã.çñÞ,ˆVaõ]ݯ ˆ8æÃ¨’¸é¸æ¬©_7]&Ï9“qMÖ®-irÚœŸÝ—~ò7^¤˜rõVrÕñ$¢SÐþ˜­‘\¸! 8 àÖv,- êܶÞq§³¹øàq%¾þ—Áøç¦©ûŽõŸ¦ëiÚÿÔ4­oÓô¦.þÍiš–—ײ”çÍ¥»àÛÇš²´¥,ýe÷7Kt¦‹wÚÖ "%wGèŽf¹’eÁžktH–'elJzZp5¯Vužµ@°ø‰UõÂÒÞ¯ÃÂcXxdfò–Ä;çv÷//ïÈWÍ¢Z`2º`ìWBŽB€µwnF“û,Iºeǰì–ó¯¢.‹êõ¤lö4d =EEKÑQó÷bÑqÝÏën^Ç$ßöÙçRC}ß ÈÂWN©1RjŒ›Å8{¦\žíîãÉt,¹%à6d6 ag²Ý«Qt3;ÒÕ“LûÇ„âj Gçƒþx}Ò ~ìá|%ÕÖ5Æ}MÀ¯&Êó€:ík2yu¬©'Àðéô7KR}Ï“ˆ|¤l¹þœvÌhÊ!ÛúYŽª%nÇR²cx‹6œ›í&ÊŒ_g<çn:[·Ù°¸.Îï‚rT8é–X†]ú‚¦æGÛÃdššhOZy‚¦¶¡){[–K /û÷¶uÎ\³R×€¦vêW¦ï¿rú–5Õ;ÞÊïLr¹3É¥4šæÉ6†4CI´ÍI§Ày75Í^êé[0†4ÓN)‰!¥îÏDþ×NdKã Í9(b¨´Ç21Ú³’ýÙþì #( 51)† 2Õ¤s¨‰9ä+³¯$±Ï d™0¶9aŠM›aˆ¿ÛÙi×ÌÄif¢)F0‹\xÉ턞ÅCá7˜‰ËÌDŸ¯£‹&dfJb² í Œk‘ €¬µNúN¤`)¸6ò×Áµ‘YIà†Iè,U6ëàeD—­$Ú:Ò!HTÿ×x»lá_”5t1ó@²ÁšíEs3Wò;ºÊ.d)Ô7œÉ|;ÑDsºÊÅÉ·kÖød­T£f•ä"Ë”cd™ºüÙ0K …e¦[r|Š)4æ½çÅ‚·A©¯‡-¼ÉŠ¿>ÏÏo@þ4°P’æk„ØÞóI -M&ï tLƒZÍ&j@zT&5ØÕ"ÙÈׯjÑ_\ÅþCåe± Æ~ÿ¦Q$|œÕú=ÇùpÕÑ™(Àºµly„¦KhÎf¬lX¯ö™Œ]=ÎpCNð\ªÜzçí?†§÷gŽÿçx?>–œjx¡iX‘&±Úðº3#WF8îŒp\6¼n. ª™˜•%±{F8îoÎ|ÃFŽlÜïl}&ùßk’Ê+*¦/ÕuÚ[t2"¯gìÒí6Þ¿¿p•5BN'G箪ƒ½®sŽ+ÑÛ¿Á?Þ¸Õ­ê›Ó4di×Gùq!Ýí: ;sXkÇp"ïU¥ ¨ÑO—~[:¨ÑÍÁ#8š“l8øä¦ÏîfðIþ¾í¸ÃÚÄ…™jôÌtJ3Õh"ÖZLŸòÛŽŸØùoÅÆ¬NÔhŠ"—Oÿž¥·æçZMë@¹ÒPYÆl(‡$IØ\ȯÆá–4 †aõmsà]!¯¡`ŠBV¿þ:¥¼zú¨Š™Çµ'å{ÚW•ÔïödY‘ü7mþ‰¿Ñ<öÍ`s¼C³g ÿ«WòvÖ·áuI^6W_½¥FF¢±×Äp|)D@YÔ R¿6X§.b®ë8í‹i¥óúâ¥ÿóÊÒu¶â‹|Ç@ÛÍB³¦Šº í…6«;âa|1ñpYåëUÀb*ꤾ-õŸ_ÕdoX­¡O^ʽ‰§ªMª¹(2h,ôRrÕ›m‹ÿغ££~4㬠â膴[XµGx}G'çãs·Í\¤’éÉ0oÇèäšÁ§%Ã-Ólh7Ï49A'K¢“#ÑIçßxøRN@c±I—i¶Ñ‡Dp íù,N¯ »…ò ·n¡™n¡n¡Ã{ñ9ÁEçjÖ­‡u ç¸Ð<½äzú&Ÿ… ³±š’ýNµsú5ì¿ýdåð×óõ½bQTdº²`ìv™t{ ™SÂM^£Ä °‚&­åp¿®Wõ•ßÿÄáM×2¹:¾¥-­¢Ê«'y{½¹ ߟ6hÚÐsíeÖ=_%­-;';§%ª•#Q"Ç™ƒ¬¼æVú(«uÝž,|¶Éùà;DN9ÂÖ>ÊéCü%‰I;°Ì…XY©OÔ»™¶>%„¿X|KóîÓ¤ºsô¢æÔ,ËÎØí @‰Ü]ë0ÈêþÒ郄uÉ‹%ñ”;YyPÌÄ_fâ/O•ú<3²fˆeÍËšA–5£,k†YÖŒ³¬?¯e|œñ—•$¬¿iùçùsˆüÛ"àØç+ túoqeC Ôæ0ªk†ç%óUtÕ$ “¾°Äu én‰ßµ @ý‚Ø#œðË© ÑÖ¾" 8»UûßâüE1*a9‹p<áݪÎ6§øâ¬:FsÉï*‘}Y÷šÙ†&±9Çûez[4.¿íAí‰C|b€óÒ—q¬?1Æ_bŒÿ®cŒ1VP¦|ÆŒö\PÿÈ„­L "´éZ£ú¥LŽrsˆÊç€# Ðºœ–ºÚ)ÃgFð€JT¸ßõm+.(SF¨¶'â0aËqÕÒ×—ß²S¥¾ÒN€/UøDH®Q¨ûýR„Ôß½BñFf\óIU´¬xãÚZHÂZŠÝqúý:¼KFFF•´ëtÄnr1“ˆgáÁ™7õò‹îÀôÙ7é ¦^ºnmf]ý—¥¥Ø¤…›Cz™|'umÉ^+¤~™_P›ÚN3Jeó‰`*¿Óz–ªHé¡T!)djk«ù¨/Êébqå‘âØ•Ÿ~9E¶b|•äAʮޅ«I|âR0Mcz-G2HEÖ»¿’ûZ¦1ÒEé©p)¢]c§9'Kó±n¬Ï›¼WufÓãAâºTøåÏñòßRFkeNÛ¦Z-!yÀ™gY+Ë”iæ_K•Ò’^î|Îz±µÁºÀ*:HjÖWgça]È[-Ý_ɜ׺¨NPÙ<Úwø‹·%ü³×ùñç€ù}ÀÔt‡Üí áJZœL _È4¤ †,^þ»c”áªl ×Ö,\¥Pù“™¢ãÇ” WÕA{e–aèlÀJd3Í#Àg9ÜÇñ‹Ë8isEé½P=­u%?ÄèçåøÓg ¤Ô¡Òp-B Ú0€C¦û¼5,ŒšGh±-ßå7ìjWè<¨¦458M—dâ°ÖHÏ¡uî”ßc'VQBR{*¯\õµ:o ¡urÞSÌd¸î™¾{³vÞÜÊB? Z1‹êþtDë’; ÞZÝ7ci-cjþuÐÒ­Q}†—´jÑØÆ”nqnkE:°U: äFMVÞ7_í÷(6¹“„h²´ z´†ÄƶJOÐ1`ËÅ(Ty&S–}¡P;é+-®†¢CFÇÄrÒ1äÂßS Ìü?™Uþõ™UXýZ6#š|ìJºcK÷$oÆ¡âô ßéUõ#Êõ¤òzNòFòvò² 麆-y FnÍ_HW Dr{¬?®sÍøûéÙ?é?¸@"ÈŒà (à2èJ‚°dU/3P£æßÿ ÿMH{bÎådUrŠæäÞ©3ÅJÍ0ÎL^ýg»ÿGßî*½Dö‘åªe‚›YÞ£›D98m÷n7½ M/·‹\ܼc¨ô&}ƒà%Vp@Ç8‰{5;®øLõxý;Ž;Ö I;•©®öôïxùo+^0GI(P?a¤¨É0ƒžÉz[&ï­ù{©oXzöãÛÇ™{¯ýõdBiŽ—!¡@†OפNõüxÃÙN(P3¡€»öG˜ýGfǺŠK@nz‚e¤Sós"lÐòGwù{.øg˦a#AõË´U gd´2„ŠkÑ£7íHb¦ýQÓ Ú5 ®m$((Í›©9ž:jÛn0m,§ ®×WíÑ'~:Ɔ߻7!”–õ_ûx;eƒn¢jÜŽ–z²Ìvsh®`¶gùúVÍ([¾Ôáç¯NÄï…7›³{ÈÃQIYB:ßýNÑqÉD¥ÿ“ÜÇ­Óõx«Q”ö‹Zö‹¢„öms¼ìë`€¶£Üœù°9v\Kƒmߘq¶ýv*¡¯D+f4£ª;{v¯eøq¿p–ró>›ÞÄ-Ôï@ð‘ö‡÷®¸‡YHÓ{oZjkPWu—c:v{Ó±3ørx´E K¦Bõ¿ËÐQ²»ð‹øZÂz÷ʈ©œ|àrcûÜ»dÀNÆÙÂd†9^¿„§m“Ô·Iê&7±ÒSºaw/Sù»‹iúàÍk³Ì —5äj…ÓQdDÄr¢®ê45q·eõîpMIén:as áäÚNte2˜åNãЖLÐ9¢^y*£§|H ƒíN›*·‹‡¦E_‰´BÈ|µ‡w®…MO~“:bš£ ~y}á³àh™`œ#m>GÇÂgÕI»è£C©8½¸÷ïÃ=àîO?ƒ°ãÆïí!uS—×\ÂvRÍ(¦R×ëöñ]g^¯ï­q^ùûô¦üdñqÎýj.k‰à…´>×cRìsuIÖïRqXQ«©’Éø,3\úîߤâL©¸“Šå?C*ž”Šž‹ã@JÈ¡ÿ*©˜û´zU:z¢{£ýv„üë¥"ëós9òÂ¥ûÞ„㄃ùüWy9ŸÄBLS7× Ó?°¾Ç~SæÕ BãoÈËžòr¦¼Ì¬\+÷ø¿°kÿpÂŽÀ¬ÆÊ5ãËŸëµ0Ô*ºïËÌÖçú&*‚£u¸'sÑTe/‘>>5i *,–zŽ|2j½5:V™1ïôToóá#ÙŠËð"C?]ÖA]x:Nj˜ejâ¯ým?jÙBç]fž5kà =aœ•UÎI–ráf(E¼‘ÎNy™^Ô'}³&Œ¤íM¿êÛ°¢ôÀqŒŸåõŸ+\°Ð¶¥úF‡s~Ùù“ÐÉ kÌŽ|,M qr JHüÎÜNÓDn_Õµ(ÏŬÑûõ'—ì×ßc.Ù›ñ§÷$ñ\ ³þÙŒÿˆ›Q1ýÓ). kÊi&ÎCÇ”–S¤$Î0ý{O:§´œæ0UèšÅ¼ÊãÛŠƒ“w`kÖdködkÊÎÂÒ¹fk QÓˆ´a¶& ŠGÈlÍ?ÂáïT8¬‡vfkMÔΡ@©­ÀP4ìqmÕçۆ¡4c™ùbŽ! })Ó›´Ï“„Ä:.iIP´Qèsm4Xñ÷-ÿ©H!eÓ¸õ¨fdI,èñм=6éÁ™ùûHNO)•¬ÔâÁééÁééÁéÁÑâÍ8µžÙªìѱ‡å;Êœwÿþˆ§¿Wñ42\~¬¯wšxFÝŽ ÂzPÚEÅ¿_g*=ΙuÞxݘõØŽcs»0½Û½4…:ïÇ/HàØ·„c';&غpú¦OQŽ%òÕ‡È7'òõ߈|"Ÿ$Á+]°X߬ؓ×EÄà_Ù±õ7vlûÛ’»~cÇÖߨ±-Ù±ý7vì6;v;Cv’d?¢äÔÿú?²sy• ¥ ÷rã*\ˆ¥´ìÝ'èTaË«‚«h°ú\á ø³ «šv`,Ä5²à–>Ï`üAÀ‡UMå-»Å„™,8À˜,×›Uõ~i÷BægÄöAŽòbØô¹l»èÈÐ,&IàÀ˜Wf:ue1Y]žM¯-H1õÕæÌ”ëæ''ÿDÌj‰Iå" Ôá$ßù´ù»—6Þv¾Q23Y¤¼ÕŸÇòñpÈs}9ÿ½ˆ­ÿÛÿ_YÉ*kí–‰´¶îþ¸ûÓ'‰õ°ß½KÂŽDÿŸ+±JÛÞjÕØoî2¹Ó©œJO—é6ÜG–Ód¦|<(Š‹âÍÆ’I}ñ¼4ü>®Á$\% \òŸTsn˜’âÜ"ËŸ…ÓÌjå²²WV&¾Žlɇ3ƒ÷¨¦3næf4YI1tæâ¤³/!¿^¬¾ÁÃi;9=¾šw3óêÿ=ë tdYšÓ“S’c?»y7֔Ϳq>cû<®D#IìŽäátç;>NX%‰º‰,"ËAøhæD~i Ï!™ë—ËhZ¥ö (þp:ÈJþVK²š<#.ÇovÝ¡wÉh$š5œÎ¿mËóÐpZÎNšÎJññ W†j<ós¥ÖÈZ½/Iã³­-¨ËY)â5Fj'ýËÑ>ÃÚI†AS•T‘iìkKRý4ú$—Ê¡ô—j˜.× ÕL ©^êrø%©>œ ¤‘E·~aÍ¥C,‹¥"­2‡-ç¥J‘tHs×ñ%o¤ÚˆíˆË^q•É”h!O qßÈFò«Xz™^”[ЋšŸ*¥^d%žú»ض%u¶D&ÿqì§-xQĺIáâ… _,—mô2Kuo‹7òÃP€J+LÛŸbúuGŽǾ#%ž„/0uJJK[.ìx²«“Ÿ¦&éZrä•m®°×fiܲv3AÃÃf÷ž <&’ˆËmßY÷Y~ÒÇ—'7Kqø%]gïhYm“E.Çë°º‰?“í!W&itD¢µ*†WG³– 2ö…ԱƻÈ;+Y®‰‘ÖÔœ j~¥é¹­«¦qÊ>¸>n•J#§õMô™¶ûH›°£¢¸X×¢ëÔ‡úE÷„ $‰‚p½i½J©ekK&y®ü9þÿ¦‡ƒ ô± ì;!GEó¤ GŽ‹ƒé‰*ŠVçŽã{QêŒfÙ‡ïE)4X5¯ÃÞ—no U/IL_ïà ï‹&é˜}€÷EvÍÀ÷ûs(ý9”þJÿ^‡’‹*Oì)'ùÈb 3‹4wûÌ+Ŭr’|ØÃFéûw?g¾å´D—¦ðøé$+êþõá÷]2ÉÇÌ$3}höðý9ÿœ‚ÿ¦§`wÖ8a„gµåS^cKf‚Oœ{·d¸VMçß°sO€ ¼·c瞊‚yÃÎ=uO§–p¬òálç!!Úš>Ù–>Úž¿ôÑÎôÑÎôѾ»&× {AÂqÝtEêàTÖSWxÂMàX¥;æƒiVøKòY†n^ø«[eä¿Ë‹*>3ÉUM¨} ‡çÙŸTí±w~ü *âåšòý2‘¹>ÿH—/žäšÎfû~ <`7¿œËVı||@¾*Rj"'¶ÞZåVþøüG?ø£üWëÎÚ?gퟳößï¬Õ;û,Hü ‚r&›*PCŒ°kÒŸõõs ¢ý15ÊË®I‚oÏlˆ.»LÍ(jµOGžÁÇ¢lÕq®Ãêĺ¢»2ðÎòUJͲ|úËH’9ó¹Pú!$B‚I¸zbsz(Ëcue+b4ÙH‚ź#Áø”ÜmÖ3=fÏ€PÝQR–+Ë¡|®¸u3 ü9FFÏ´Wâ“è¯É9IVOêæ]'øú^ðœ¬A=þÉ‘˜áPË}MRåõ›,¿ásî·‡ |¢Üœ¦¿ÌtÉTK#S1e$tf\ZÙÚœˆ ~ý»G½ž¾þªŽþHéiTÆÌ«tª4þ[HŠ´üŸ*)Ld}_b4f.ŸRäïI%|úçªQ œ×ý¯úö~~R¡ï¹ü‡gæÏj¥‚?h¼&¥|Ìåß($Ò¥— _gb쌔þ•6¾\¤Þ¬Îß‹MbX[w!äëÚ]AtG)“‡åé϶‰}¼Ö{Gøþ× ¨R§ðfØ{ —Z0¢Â’T¬ÖŽD±ü½§<$ëfÖ°ôìtBJ>«‹v?(1¤g‰Hª4‡ÜšÝ¼–ôPÂ\ ½cÙU@O‰”!º(¸úCò–ô/2ø÷/"Äü€‚áÐU5| YʈÆþRüW·íwlÆ ÆIГ ;¬°fåɤØMû}ùz}'úë)¥'ÔïËW–Â~~r/˜æ²p]™Ì Ö82D’“+©œÈf‚GøËfú>•:º7õÄš3 éè™=‰…W’SP\ì¸>2Œ^ËH3s°ÌÉ1”G”Pà@¯×FH¼ô>wØö$Ö¥@š“5'¡àÀNy’%à¯+a]WôŽù–L<Õ®¢¬(…iªûÞ„ÉÈe•&Þ6õ¶4Çnú­ªùzôü¿¯½ûÄ+gørÏÅËßíBŽ×}2н´óꬬÿ]ÍÒ»ÌG·„í)Yõ0¾`JÅu@X».›Å)… "“¡a²†Ë‘ÐYmB„â Ȥ‡äÕô+ˆb"Ü5Hß=­š¿œÉOk¥eþ /³´uI«c³5P€Ï·ö8œÔ—LH¾h7ôË% ^)ìÌõvÄf֙ߦá>®éjMðH%×GÍÚâ°‚b5tÒééËX׋dï 8Î}~1uœùüV?—:-U È@<6Š×~)Qh¶3²öÜì.3¡Èž@£¤Øš&p+JÊUhïOÖ¾ãF%t©ëp””þ¾¹†‘ ë x©9JŠÏÁ³]CèS«©%EìÄû ýÇßëTmZö©ÛäŠY%l *%Bj²¨V,àÀN=ÛjŽë ëœä=;E¨±0–ùOuÅ–ñ~yèQªp|:ô=ïµzŠ!´‰MÛÌ„‹Ÿ¸öI–>ÉÊ'ªF"ÍuO²ìIV=É¢'Yóä)ybÇNËM Õ™OjV<©Yñ¤&Ö]³âIÍŠ'5+žÓN«3+ŸÔ¬|ÂêY£UY]$°fåðw€n­Í,{’UO²èIÖ<É’'YñÄOîø«iòßZ þão_ùµv¢â\ÕÎ. †šÒ1À²î†bqü› ‡h$=ÿtÙ—eõž(r…Öøkáu‡¤bRH§Åoà_ẃt²,´6¿uêÏÄÿûLü˜‰>þ¹ •"!ªóímp~²Æ•ô'Aß©•Þñr;µë«9çšJ~ÊïI„.Û¹`@àùШ–œj¦•½( î̧ ,nNÂj?½}›_äÕXÙš¨¦á¹{ãgöM³“³¥‡ìð›­òæ¼Á^ÍX!ÑÅòðQe"ýóêÔ0Üò"8ûúJü¦p½•ÕNþ[º êù"{i`mlW%9ujšÜ-§¥ýÝ-ý_Ò—¥M Üs­V_ðÛbÊêŽôÛM¼°¨A} ÝJ6é ¥&ÙlÂ3»í‘¥† ×Jyh¸” žþ{®v]½p0é2HôQŸªéäôŸ¬E½šÞ†ôGí¤™+ Õ2 üva>sðµ<@›12<Ðè•–”/èÓ÷-÷s fX$•«¥¾ ć…1qåAÑ`ISüå¨YÎì[Ôtå×ü_ ¸e!¢°" n)(1" èhééׄ.Y¨PËhÓ–öBTâ¶5¿‘O"Ö,LØKÓa§–{TùÀ¤%Yº#‰-÷íß|¶l 9ûm&õ¯çfëÌZ5ktè˜áÈy_äÈ0© ³NÓ™¦Ãë¤Õžk^ÇþBlT*XolW )Ášú…(ê–Lzº‰Úý4"šìÏe&Š ç§ÖÕú¬’à6\N¾¬÷‡ÿCÚ„åK÷¤ÚP7y†3Ï; @Ëä4ÑØ€K)ä^ŽòoÞ¹=DÚ$C}`¤a_™õ˜êM >gñïÅ'ˆV‡a©=qrG¿m[ïÇ Å+«=°!Ú³úxþñ _ãÙãi20f*šwÆ,¹3øG­ÙÔ ‰zgH<š27½3ØE¿çÒ݈­(×חň"]ØR‚§•Ú䦚«[RA}<ºÎA¡ìAmZ…æÚ“œö\ñ¥g‚ w f8wÞ`Ò˜êk³§‰b.£ÐúÛÛûÝ/£7ßö^ýæïµW÷Ú«Û¯.猽ºöÕ}÷³÷ççwC¿7†D³!Q¾šájÍäà=ûÎ$Íf ¶Ù œ<«tk¡'i¼Ó¡k•ÝÅiýS“u½ ˜ ëgé½Þì%X¾åk9CÄvš 1 ±i…Õ§[>À¥Ü-8´6©Pš¼PiöLŽŽd&Ï|@¹¯qÙãsâœF¢ça÷?±(If3B*¹Þðz†ÖYÅV˜ht)ó²`ÆÅѵ{¼‘ykcÞb¬‘xeð=WfÝ™ýe`¨j0ø]F4é-.çc£ÈÆtKºÞ¯)ÞÐ>ÓwÊ¿×L7ûáÈvQ sbÉ2½k*yuð‡¸š…;XôÕçJ†(ÝLújúMKm† õ÷ù‰ªøõ­Þlæì ã(* ¿³=ÚN­Ø©ëCb`ÛC'é-Ö§«_™=¤&õò´»ÍÏ¥NF |]t›Á«øÕ&òéš *õ>6ÅvüÐt"5ò°LjV`B˜êàä-‡è,¥4Yª+ôMey\ä´\T§"¹‘GSK<ÇŠÉÌ8´< í‰)RG[/÷“/M¢äfæ-)Óz2Îedœ‹LÐvÒ/µé)Úz½idœKË8—nÜ…¦û粞8—Õ×ÜãÞO“UûöÀ1Ãúò‹¤ÖlÒ±ž€—ù¼Œ'à¥ý­€—?{ý³×5KZ:‚1ª3Kyár„Üí©ÑJËÜ^šh´ZQ16ÂUÓKÛ(6¯U#Ý|Å—ËS½ œ³bšó5grÃjW'«E çµÑ%œkfe Ôγóó~4ûÕ¨ÜÍ"áZ«?'~x…°âÆl¯­åß—Çß—¨ù³Xÿ‰ƒ •Prl¦j¨ãІ¨Š1Y@ÃãB+Ô»¹O ¹“áa`s&°9É@8qÏ”f܆„´ 䨃 ©wÌn%«›×N¥.²©®¼^l Ï7Ûï|wæ=Ímc$°_m³SóÅê5jÜù[Ì¥¿›“±[É®YÎΊ|f,$_ìñÛg?«™ÖÎ:Š}sLÉy*±UÇ”@ŸmøÀ÷b*ßÁšâmxæ Fj±-ÿx‹ìB`e³sìÒðÕÐ4郲(±1Rþ3ƒ¨fë1³õ¹Nc·rMmÒógËþ“[v™ÐÀ`î™VÙó‰îVG°œXâ^¶š2·â±/ ÓýXMáwêŒxØêܨ:5óó`vSoym.Žåï?ýûûÝRDâí’›?ííûØ–Ã[ŒR>v\Ù–.i[[Ãgk¦ NÂa[ÑÖݶPÞÖ2¡’Ëþ-nw(cÚ”$ãtÿ¼Fnñ} ÀT.ò]°ÂOx£â)2§êøú=§j÷X_O©#÷9sÄÖ½·€ ìéxƒ›Ë Þû¶E2YJ·Ã—TK œýo"œÿy[¤y‹— ðÒÞløJø…D0ÈõkÆßÜ8„ (;ËúgÿÂbkå+‹vŸ}½gjÖ›4wþêüÝp­ÿÚ܆~]Šÿy£yc¸¯¸–'âèŸ+ùaµø›c¡u¶ž<£ÕйFgZÏ¿ÎF5]£9ÊÜmº*äøžcÖ9u(:™Ôƒ¿f´n5‚bPÂAE†[-oÛÐÚݨ©@B6/¼B5U—Ò~ÕP=Ä ’æáø=,ùÉSûÔÎF@ о+³H!I&ân¿í êÄd7%ëB†¤d IJYJöv”dmÉËßkÔ†²’Ù¼sÆg0Ô3‰€Ö ^N²ø–>F‰û[9%r’¯Ð­BA-@Ëz_ù»ú¾pçÔ¿¬,8x¢©>\”\¸#|¬š{Ñ~yúŠÅâ5Øt ›ýŠNáN?[S@«MñêtµÃ–17)Àž# pÒ"Á177cnVÆÜ<€ Í]g’¶¡‹aÞlsèÚªo¦Sãò›ò•¾|t©Å•[H‹PG*[zÛÓÅt1N0\¶’J͆ÓU®’ÀL_ÞçNpg#˜½8X¦¤`<‰ia’‡ÛžÄþxûãI\éI´‰I‰Fm§'±§'q¥'±¥'±¤'±¥'q¥'1sÀ÷Ì>llâ׸Žt°'ñ;< Å>'ñah¾ótœ‡¼yËãRlK±=.Åò¸ÇãRLÓÓ ÅJæÊ_°‰?’òoJÊò¬¢þ¬¢ù»?®·¨8 Tœ*v2"V®¢™«¨ç*j¹Šj®¢b¸âzeù¹v2ÍqåªF,ìû¸ÜªÝ×v¹=Kh<+g>+‡j%Ù㬜ù¬6N·J“.·\9`zq¹ý‘Ûÿ¨rûϦÿÕ#™f¨+=ý$B±gH¿ãèUÚnàúgWüÃîŠ_íÞÔ.îJèÇæV*3?­NÝD¾®ÀÃ>Ð$³A®!ùˆïzGu€'T˜{ÏX‡P§îG‘• «èÙcKF˜ŠœÎàŒdÝq˜ª ¸­Ë4¼4œ¹”©Ýý‘Y¼À©…4Iϯř´zúp (Ó/ZÃP=ýj„ bþ9Œ‹ÔÞc…í5,Tà¹g¨®©7㻆ó`õžîíÿM#uÝ4A–ùM—=¹„º×M^õwç¼/f ~ý’¸™oì`ꪆúp} #hýë]~~$2.Q³ÃL‘ä‹|ÓM̨YzÀ.w1A½šÞ–»€Ác÷Ëì=-Ë͈³ë[IlÊó­'aØùÙð5ŸL^°,e4·3]ã ð̯Äp%‰š™1x ?öüüúÏ+>×Ýi’BΞú^œ{»þº•×_Ï æá´ufÑ­åÚïõ˜plZ¨±nj¿+à äv>ÿ%Ýa™åL»h[ðj±Q‹‘v†âÕLå ¡%:”í¡WÖb",tÝêßÍe/N8“×l…jîªûœéÓ4%ñöÓ¢tÚÈ&Ùf5¯¥:gÔS[ÛiúyV¤'jO'Ú0úþæN*Á™àÑ—dBåp„xa­’öS‚GË 8s™‡9ÓÝïÏéóÆéC¦¬Qa”ÝKÛ€üWNð…b~2Þî8’•Ï¥ÔŸ´ô÷X–ÝÆœž)+ùq²Ê˜´øÕ2^ïdüÞ´W}¦wý]eìÚB¥ÏtCÛßÂLèÑïb6²{½: é^*fä$c²=• î: CîÚÛÓÿö÷ÇÖ5ñÉ¥¯#`IoÈUÔÔ»Mç^a§B!\,×ä‹®'KŠ£~VRTmÑWcÎŽå€ÅÒ«å±’Ï£UP¼!Y'íÿÏÞ›&IŽI·¿}1.‚;ØÿÆ^Ú9 ˆ,’ÍþÙ$»K¤*ƒ;†;˜©©ªÉ'ÐìS¹rK0Œb¿Xæ³6í+Dµð–r^?½…:OzlÏ ŸÅø¥€m8ÜqöÆ‹Ñv’b¼µ›×â$è*³%ÁÒŽNô× Èm½Ø&Hˆ:ø£ç|~&rÏ´ãs ¬{MÍH ü)C·1óJDÐÔ˜Ýl ðtêüNÆI½Ãeéê¶€Bû°‡)vñ¬%̓îgO¤fCpn•àët¾)ÜÅi*µæÓb+tL4JÙ*Ñ>xY‘37å?Ñ„:m]ë.¿ÜØl0· k”/÷Îõ9—Ÿ&VW0±‹DdöçÀwÿÐÿØK¨ØœÎtÍéšq¤kFRºOó˜bëÐ¥‚ ùŽØ0´XEÄÚÊ‘jçõc‡åVdh׌ž®gºfœéš{‡?'Øÿß †‡Ùô´3ÂzÙÁÖx Ña¤3‚¾¹·5Á‰­e×cgb¹ÉAþÖÖ`âÔoâv¦Ð§/V)vFЫ‚Là600¬õ-ÿœéÿØ™žÞidn۬ϖšÔs/KXåzÕe±Pªã4Ž£„uX’ª;/Wô’ yÉüâŒÞsk´Ë½ü»âŽÎŸr{úº!ѹÁ¡&DwÏ­çÜFÎmäÜFÎmäÜFέçÜzέçÜzέçÜzέçÜúçÜþ\dþÿ.2ò§’„aysH¤!ãŒX¯QÐÚs;/¦¯+Ï‚> 1w@Àíæmu K‚:¯é8¦ÿWµ¡ìüFkãçiµGBç‰õœXωõœXωõœXωõœX'׊R~É^éû:¢”é{<Â"óÔZÎŽž$~úÑr •Žœ[¨lÓ‡{¿l#*]dš”eYZ/©Åfc‹çWi¨‚ÖG[&uȃ¤%Þƒ·q ¢º³÷@±Ò»æYÓÌ}y±=@D,ø³“Ίh÷°«Š®5„ù8‚È|³Z¸̪¤Ôqk¤±¡™ÎEçÑ9Y;ñ“êxî=ÝOв Î7H5õ(=[—˜ûáƒ^ …ô›ñX+ômÊÖäté½QkMFQ½ÿeg¯@N®;G‰Mµ#®ÛzëoÊj—‡¤=ZÃ-Â!elû6àXgÎ&¹0J¨[‹;ó¡íH«ŸUn½‹UøÏÇÒ# ÆîgÓB4%»ÍsÍDuí,M|ÿ1è«s.µüÉ©ŸRÚÒéaÈÌc1LÁš;Ó”ås¼b‘yÂû]»£¢Œ‰”¯ÉRè>SŽ|ÈýÈŠkmg¡úõǧì¨õp†Ôá\2¬$"h€Ìã…ä¡6Çó²eï|eé½ä¬%÷¶í°ŒúW)€ßAÕ’ËCÞß›è^V¹{¶Ž[köt>B³ªÕhú ½]ˆŽ×QÎ’IŠè’°Øw„&¥Ã·b5C=ºcJ‚1H­,'cèUÀ§›-ˆ'Ï”#,­eïéyð¸ÐÿôIFøvØ·§·¶¢¼Û7Nî§ü`ÙÁ¹‡:åd.+ÈÚðHZ¹ÃЂo5†kMí®ÕÄMȤYÞÔRðÇdgÛ³K2Â:¸ªä ½Uo‘(ñÆOF¢Jzè[¦h¡ e µ¹Æ÷ÔŒEƧæ{\†ƒ"À·ÛäìA€ü·5ƒ¯ À¡‡`øûvÁÅž–XyÍÿÙ)ÒgZÏØ ÏŸ o58ÒB­J6«'•Ç*adkäö³rßáÎs‚8רú£w w†I4D?ß iôõ Î. v×.š8BñçÐ]À»<¹v½ò6¬C炓ェ®Ì/©ŠCœt¹Äô|m¦Èš[2Û/Ô”ä}ñz}šV,¥Ë¿ñ}úÓˆx$Ûf×µ_¥ä@ð=|Ïß3Á÷Lð=àŽ¸=nO€[[ÃvY$À=l·Þ¨À…^‰™çç€p×-\Âôp|A‚¼ÜùÔX¨×ojpê\ E™§(ó` Í·Z7ØÕj˜]WU>\Ò0íšBæÑãPÄœžL!óø£îàJO¦‡Ì³ØüK¤?—ëÿ}Ë5»ê‚µBaƒÏõЕtÏPØjPœ) å ßi·… #7µwý£½;í_“HE+Æbì/ÝcŠ0Yv”Z˜ҥ/6Þã±~<ƒžÚëaÍ^âZ{(8 tZÆú‘±Î˜Ÿ0þéˆSènÿ‚mâÏÕåßêò³ä¶\ [®D‡" ¬º箈ÖàöÏÉø¯Ùêzˆžvèn‡¥Ëow i×ÃìO½°ð´®5ƒ‰q\¯O#Áñ è–‡ypT#Ž8ý:øAú‰m×'¹®ðtJrrSLyæ|vŽu ³éÌç9´A$ k ‹ïB2™<ô_ùÌ3{ú=¦å¸J7˜ã{Ëó|Ø#áçߟ—OóʼnKJËC–#qéƒÏ8e7 oõ÷CbY);7gù+x@¨“jUpíó9͵ó[ÀZº°¬7Á~–}y-–ª½+U'&X¯ØŸãuqCß¡ªŒŒ9C4£ØYEÝ ‰O¬×—/Lˆo]–Lðc‘¥MXÑCÎÁfðVµ’,l…«FZãº:LÜÐz‹ÂÔ‚Ê5K>4}í2šP“ÝI/–šÀ~„Xö,ÐQwF³XoÎî±S[/N¦¯Ir?Reº-S=b“J¢Û’è¶$º-‰nK¢Û’è©2Ý©2Ý©2]+Õ¦T™Î$º;‰îN¢{®gæÿzîˆ`÷§õŒKWJ‹ª¡y^ÝLJB`·äÒ,•‹ÝÓÿ±îDÑÃTëáëjLeæüàóÛ™,%á¿¶D‚æ÷¯À¥ó©Åê?þ1çÁpüG?æ ¡¾^íÉÃˆØøÏ—~Á‘V…(Ž”¦U6¯]©X‡9…›ÏRVu©¦º1[¢×ÁØÜ´ŸÊ%»:ÄJ£óC\^šv¥§ 6¼èÓÈN^Öøléñ¢Æ¤è{Ç¥m°–à•ßì%§KÛù_¸´-sºšGbÑvCÂË&EÝcr€›–Õˆ†kßÄ{¦Û%¥tfu9Õ%½e÷XïÇ(jvUá}ÚKÏŒÉ+sërѸH6;Z×Cã<Ì“ø»Rér<ýþ޵@%Í!5Ž[Lc\¾±¨e¡ÖѺ?€+ººYðý†¬§µØ(Nçú«›÷íQ`iå·éOw°@é^óaê -GïÛ±e®·°ÏHkÏ$ºÇ«ÅéÔ݉¶õ^˜Ašüø.¿ åà'À†ö=éepÍ¡ðùz¾¢à:X,°Ã½ð1È'u˜AÑü«’ìESa° žTëE§,Sñ…O£.‰† f_Û§=ø]© Ëîo0’´3§pɶûÐ[wÔ’#d ïÝH·´ûñÕ+ßÃA ݬÒõþ%lô )þ(-Á˜PUfÚk·µ{¡)Û`mØÅi½I @uÔ¦Ó_ê8ÆþiQ†iAAl˜ˆŸÄìõ˜˜Y²ç/?ˆ¥ö|Œìù’umÎ{¦Ö'Û5øsQþO^”—¸›~'lû9ðÝ?—œæ’“Ž—0§›x ¤ÿç´úžV#¶F#¶F=¶F-¶FGl®pïwlVlflFlFlŽØµØõÄ#¶F+¶FG“®­ÑH 2ckT°;µ5ús¢ÿ3'úˆãÑŸ+ÎòŠÃÊ2)Ï#>·Ðþ m­ª^Æ¥:j\‚vƒ"~e/–Yq¤µÈâ.×JQ?/—@¾!y˜¬‹,lòþs*xˆòu ãÞóû¹Jž|¦oÃÂݬ¥ E^~ä°¨îLZ§Ÿ¾^kIJ_Ÿú,úf6kÐ\ ~)ª~0bÙé½eSî`ŽS ¾-ú'T&÷9¿?WÇæêø¬†Uú¥NuÇî§cdmMÃÚGë±ÄÜÖéêçqŒçÄp ßb`¸íÏG˜“3XZXŠ«²Yéÿ~ðùªÜƒ~ß·zb:BU]²E<~0a³”1¶ÕºqJyáua¿ÞÿÖ¾©vé2›1…,lUÁ-F*5‰Ï‘r¤´˜Ž#W÷õª½4vÁ7øKùçjþ¼šŸaC‘3•M<æÇ3fyG+4V^i¬¼ÓXy¥±rOcå3fyG+÷˜ä¥0a OP³¼˜ìÍõG³¼œ[?+ZÏ­çÜzέçÜzέçÜzέ`e$Voa–—^T9·žsë9·žsë9·žsûsqþ§æ¨ÊIW"IÊBIúèe¤'Éèòˆ«}¢´hº\ñÑ»c ’>Q-Æ!e²Í.| ëÏîùG#½œXË™õœYÏ™õœYÏ™9.F 캜YÏ™õœYÏ™õœYÏ™õœYÏ™µœZ˹Ù8["Ý9Ci¼äKà²dua6r鸠—ææmqÙnáVö#î¾Rš/øœ_9%zÖ<È›‡ïÖX´'{þ(n ¿÷vm§¡Ä›ŽõzSÅzÓšVºi1Êø~•üãæÈûâ·rQÞ{#[.μܯwS#þn²­ÞfžÅãshŸµXuÿôuõÏðÿÏFxx€èHO¶Œ¬Ò$¾œr8ŽH#‹íÚŽ¨‘Vl“ú~Í™­È–‘…\ŰŸ‘ÅQ£FŽ#ºJ1ÂŽ-ÓòÔŠïüÙòƒ‚dzYYÙþÜ+þû{EýÕt!k¬k‡²#ͪ×Ö–KÜ)Ÿ­KÜfÜ‘Üì#¤ðÛÒøö÷®ðã°íÈ Ø×³&ú+U‚f,ªÇ`,ÏΚ#ó8¾Ž]@mÀ †9¬Ëcá[BðšXúÎD+…hÒФRÇImoQ,&O ˆ·¦!¶¬šìAz¶´­jZhÑ_+¾ #¼Æ¼¿Ž#{ÉsìšM`6ÒÇ&QÕÌËtËÊu›kàç{*|óxæß‹‚Æ)sÛkiðÖlmÛ[Ÿôt·¦"žª»~¦Û´É:m±un`E·G˜/ŸÃ³ê¯L xÚém$Ó¬g˜«¬Qš¬è…¹XÔaï‡RÕuªbf¬œÄÖOµ¦Å†%}Åꂾ9®´˜ª×s¤Ž“ÙMDúkUå þfuèQïwæu;„)‡Zï¥Kêe‰–oqN©!Œ^å§e^Ú .3«D@©`1K?qǼ1œËÎþP¥»„dãõuß[L¯×Óbút5pù«÷9–-©$äãÎSNñ“O¹3R‚âMU£­ øð´pÚ;_ëŽX³^6>b[@ÑèÍñë;4.–‘Í|hMGÁ¾v—âBûü,Á?tÖ•v„Ö˜uåq´#¹®ôð?!Ã^_Çæ„²%ûT½3ô`%P¹„Ì–â€ÖÝøV1ËÝg¾´<ÚÞ¬Ë5ʼnvûçx Í’‘-ó=s‹Ú¦l…Ó!ÈȯdÖiðÙ³î,—!ã1´ADµü.…U‘Æ·r¯´ÿ~OÚêUÔw V–òk:í˜T;zõ½³_R…¿^$0Û¨“¢œz3líèâU-¦]Æú²§‡ØñÈ­.ÏþKò.õ@àc7“w=‘v¬ë Õ|¼o{,Ý’¸Áì =Ãû‹6}r¿xêµ\Z¢dxê8|f‰ÿmù9îxu†éy(“羿tFûsñùO\|(³P~¹R~–_¦&ë„7'M¦åuqA™\ ²Ü]kÓ® â<ì`Y·¡¢—+È8[婯|Ý;ú”]ñ™?a¦‘¶Ä FÜsr¿³ú°¼ÖJêÄ»òxiì¼·¬¾=¯yH&q³›ìMæÅÁ)[·Únð—¹§¬¹Æ9RÑ~öÔëºñçPù Û çGE Û€,7 8UÆ{|hÇøí $]ä§'¶¹”§žCÀÒÑyTEùð™‘2ÖaÖ9ßÊ.kÅɌôUp"@¢}ÿF"ï미9÷ßÜœ[ÜœÇÿ£›sÚ•üçÚ]jÝÛÃ@úu«ùª^Šà,inZÙY¦Á¹'ÄùÌ»Í~ØãÓElžèï¶>Ù3ÙÓ¸1áë-¹ÂÉ\»äëi;X+íÏx;|"·Ó:ûÓáSܹÍ×ÌÇDÙA5ï š÷‘fKTó ªyÕÜA5W ûV~aßøß4$ñIƒYžªq •žªðÐxƒeªªÆÊH|½¬üÒ¾‹¡1X¨ìÖ>Q·©V.Ô6gV¤ÃÚÜ©BV¾K^×#Ãøãv¨Ðä^_ç÷Ÿ:dÙWP.ØxC¤ýÈÆyЍ# ¸))b žtðsšK6|jt¦©¶7U˜’W•¼ –tݤ)v{h$·¯kõ&ñ{4#‡ØhNíÓpþ´,I @»ÅS yŬ-e²eÓõÉþ#GDäDÉmÓÒwûía¨y$º‰5“æ¬ß …£Æ÷e\ÆZúúÑyxî| þÄn~óðžÔ¾QSZ U¾{˜KŒŒâÄ®9Baª#~ª¾¾S2 £ Õç×ôav½± qj“3]ÉÕÝÒX'¶vh*>FÔCu~ÝáP‹úwp¢;z¬+ç…pÖ¹&Ø4¡(®ÂeÛJp·ƒê×5@µÖ­Ý.qùG 7ÄFÈ›`K­&XÔ “ŠBܱ€¡ÕíÅ©‹ÿLq!|8V€R5DãþvW¢Ÿ[© ÿïºFŸ­O³2±€Ü?¿¥$·¢8‚&Ï‘Ž2ÏWÊ€FÕ*åÀtW¸îïöí¸PTåð0*£jðäf櫊õß+X.5ztkb•á”AÄEÈ É$Ïi^f:P¸MaX8‡IOì(ˆÜ •©«ª{I_%¡F‘À…“™Eù3ò>ÒNëêV¥5ÁâA„è…*å°žp<xºFD×oO!9Qds1ÚRq/㥡o¶´IœC†î4iqÎïTȪt~Rý7ö`…=Ã…ÎÜVuê3EJ†8Ämq‰ºÌlÕjitât…ôh™“Ž>õs /òÎèJŽ ÉeŒ*PZŸ`]k÷2Ó*ß;ªšëá’M»s²g!šŒa¥rúÙqèJ,èr_$ß¿,:S}¬÷º¬÷ËiV×ÊŒëlã|QYFùÔ±z¹2мvîù˜@wŠYÛU­¦çæ×·€N…e—©0Y´ú€pº^‚+µižv'„‚É1‰t=ÍÏk!/&´$¬9R©)Çëã&Ó)‹mYpc`MB§H7®ÂëMs§€ZñňÊqZæhÑÓ>nÉáBŠ7ogZâ÷M›÷Ûc½ßrkEƉÇÖY6ਫ਼µÞÿÊ ¹¿Mi°;G!#üÖ„‡ø¥²åӀϮõ…‘ÛÜæá­AƳøÖ¨§é˜ž$¦'ÛÇÒÞ­†µ ²òº”ÈWÒÁ@Ê;·ê žÇeà~CT M[¶£Ÿ€ìvt/9âü¿Å’øÿ4ãg$‡tLsÑÑhû½55N=k6&2ÓOúTØÝ_ž=ïÀ°¨È™µ»Í¯…\´‘Êv¼;ËÒýDW…žØ1À•)G,P÷U³¬ :žü°Þ‹z'“ð`¶¼}ƤJš+âÒ} áU³%"ÝåêßÞh ñ÷ª†eUÇÖ Œ!6xåÒÍ‹Ÿ^X&Þ£ Ëä0^S®ÈÔ,lÚ©£ ÍêÖUn#о;§Í<ê€1ÓÛ6kU%§[À컂š/zŠTdÏR¨¥-Ha£¿îÌwP´ )jO¥9Î)<ë¥Q}äf¹ä/Ù¶[1YÂV{¼ŒÂ˜•·¦Ï‘=çÐvJeµ*ÝáìÒq-lÌ(çMŒ*±@m°N3¾ô…ðsøw”yºaº¾¨ÑIê©UI¥a¶Ü"š¬ÅµG²ŽwG}qš¯•õ\õ&³ pÙš±é¡T³htAί?奊}òùPóbä¹cÊ\QÝAÅÎk8«ÔX¸'ë"KËj1?&:=‹í «á6ËöEŽ¥(¥fÊÏF–g©ô˜à42« ã7àµnYø3A:>%Ñ ï %Yc²NLßÒõ-èÏ×føÕ¬¸7 Ú=Œ0kÓñè!zÃ;­}|âÜKj0K}Þm¤ÕÒl”e;µU—"^ãZtr'Ù.Ø|OŽ[‘ÿܘ—€›oÆáÔ‘-ÍYì?’„x®¯ãªÜÒLÞkcÏrb: K9ölÚÓPuV¢ka@R{„b7Š#~KM¹¯¤ŸGÒÏ ‡#3†ttê<èM“ÛýéKLv˜~ŸíR…H?gÒÏfz9c¿± l¿Zß„ëT;'õüËôóJ=äzÕô³%ýÔá]ª|®wÒ“ôÓßÚ^Üòf&üÉþHÄMçSZ» 6ŠR±‚ߦ€Ø…xj€ôçëÓzJ#8]åzîÿ p±¾ÖÓIw) &!íGÕ’•ðâ¡Ô±ñˆ“Duо¸O ªAž†_)¿@õU² lÍâ‹~¼ùè_Ç ôŽësdÖõÏÌÏ©~3C©‹q {ojþ~|µ1_Ï¡0 h“4ˆ~‰"ÁãñÄ뿃ñá×:÷Å­‡s²C%qK»Yt¦°^6ëºÑl´Ã5“´²‡M”ð³YªÃ†Æcýv=ŽŽ*X¤ ]ž”µÁáÆ:ŒN§ê†eŒJ0@ R§r:ºñ ½<¿×D5H¾Å$9tÎùʨ¿G-_s KCzN×®ÝøÞB—àæECha·5Eì ÍT~I+A£è_ëÖ¯¿©26òýr9dè;z¾àåŸòχ6/õÕPÔ¯qØk¦G,‹y3܉³]'ãœY}|@b:+Ûä\ò•§U¸añ™wRÕlF½nÀv„7¸Ì¦Ê²~>=Ên¡µÖ”ó&}¸á×CLÇ:’øÚïRE±ªz»¢ÿÅ(åH”NÓ°ÈãLtf†íÏ‘ßkŸC“ò eÏÔ$¹í.y²H܇0’YÇýòOâ µî¿_™_͈eòLš«Íq±œ QŒ„ÍŽ„&ƒxŽ¥‡Òï„(É,kn.I†(aWfxïN/Ã!B‰õzºZ½qGê6 Œ°þ‚QúûReå3„›*D¡ÿm—js‰7QÛvmf7ãê±M4(m€^pCŒq;Y/j_讌¤‰]Öa_¢ûR .Îã ºõßüFýƒÕqÈàOð· FǸN)HŽu•Œ¨\ÒøÆmP=n“^cÃrñeCës¨@UmÄgü ?ÝÌ«6ű¤$Ô9 ¬á]Þ¡¡O;° ®…’®iHÅXlšË”~̧Âq[J!¾“bYkçZǧB¼×Ã>•;žlékvÆë÷ÒuDjÚ’ðÁæãöZœðlYö­~ʼnsÚ³À ø& ØÙi›v*u»YbsSð¶k Ñ-5Šý×ߟ¢5•ò,7ù™Iµ_™.ìõ›¨ šT«¿§{.âù¿(7;œÂ`™›AwVÏrv¿>ÝÖø~:_%‘+A絓ó…‚y®nwP’Ó ´†à qœdj…f‚eñFÀœ cŠ).‰À–ºTð½Âÿ¦Ì*\ÕêœÆõÿò´î/†ÙaUVHï2¢bmO]èWt(7<3´³Ïæãšvò£ÉïU‡rúÝë@Û0=è"äÎEŸæÈîžnQ 2”×háEÜ pœ®•Ò){Ä!—€[%ÆW~~'L²z®¤…YŠ®Pã(Y¸Ý´´iiá`\÷Šgq¦we­]_IÁêÝÕƒo‡ŽW],?®¶2yYÓ=¡z>bGDï4CÚá´×ÏÎzG( ÷•º×eŸ¨@ ”`<.D©Íü>âgÂSßâ}ÛXë0ÁPy[‡Z<tf%”¦‡âê¹(x‹f¦%*cO=Bxаée •¢'ñ^X¦¡SýÖö¢–¸ætM$ü¼ˆZ•%ÎM]gi鿞ò€2J²ûνJ“޵³}ûÇeg“ùå±ûñ„¬¨U}J4C8Z™ì©·9ýÛ=ø-„ŸXÅr÷”ñ}µNËFiÕÈèîOµ#å¡ h¹jhqÙü[ šñªÁ®‰ZO×¾¹V^ðZҊѶ<­hx¦3íY£eû •d¤ÛÔGõÚ>±º"´­äùÔRÄLTN<­à3çò“É0ÌÀWª]K<ãS¬XÆ-»C÷PÅ@î|¸ýœnqËØàª:ä4Ø8(_©þXu]Ž9˶Ⱥ@_Öz.“ Z]:$÷z—¡æ%ôXM«¿ž8þŠòž’D¯Çý÷;½£lé3¶»ÍMËöÈ÷ñ͈ù¶&ñ¾$ð¾OóˆüݤÑeMë…Ó8}åóºNŠä®)ÓÌ| ¯à>½â>ÚËØèpÖ…Ü–,9÷:åxn¿ÃçDµS~Á§äwÜ­QûY7·çøúÝà÷üatI´ý1ºœ*б ù_üö¯ãß0²ÜD†µ~ý· ~;úº]eÿfWy´®•‚Õ2 Ù¢XÓäáâ²U{°¨ô3‹ÌåM®‡LÖR7Y'¤â‹5©ì“¯mÓ$å[§µs¦Jk¡ Q‚€vÎvâ£Y˜¾ÿ5¢·¯j üz^UR(»"G U‡ëEâ¶4™¾â“Ó“éÊHénK9šŸë[+üû×åÿ¥{ 1ûÿÝU÷Ú,ú/ÓOæoô“ü/xà Þ:Ç_¡ŸÌßè'×oô“ù“~’ô¿¦ŸŒ(ýä>þýD†óô”§¤+ø1·¾ÃFlÉl^4ÎAb§%¯«mnÍCôK…fQÕsoˆÚe{Z¯k™Æ gAá5žüŽäçR?ÍÏõ¤ g¯ŸÕ>éÖ‰z¶mýƒÛ<{™§3¨fô]#ØÃp@ö´n!œYþÏ+‚ÿ¶{ÄScRñðx&5>ã”W{ʲÊ–ˉ¢Tv;#ºFã!ՆШmù¸F8©ûí$áu…¿·‰ Ô\šdˆ3Ô¢mlÌÿ´ù[_©?œL«mЃÔ(O‘ÚS˜ÕJwÚ=nÅIÖüÈ¡šZÈ~ýÍÉ^ôëß¿þâ×éUk¯],Vò¿.ýeGMã[ÌeUýr/9Å wV;IxéÜ;Íùg‹Û†cHļѸfÖ9‰Ð½)TüzA÷ÍšN@Óå0ÔH9ÙTi=ÑbòíñÕsâ0Ä¥oR£E囜¹?ÿ0n v£°?EÂâ[‹hø°Ç‰ë eNŒó¾šnÈ­è¬&MñÓîWúéëúH¢†ü>ý-“ž2lè©2úWVxËP}'¯xèöåeìsžÄJ§ÍÐ"];åyœ¶O)û¤€Al6ÕÃiàá ‹øS´jI5ªeé×õÖ¿g*ÞRW Vt«Úm¤‚6dw'³ÏÝÂPÜ$Lq¼|[!¤-}í8A6¾‹O½5FÀê%Â=ß!ö QÔ[òTº½]f…Õüc¬ƒ˜lËheknrJœ#uTW ÂHǤ,µ´Ø*Ǧ¢à+-èá®Ì6Ê]Ïaå–­°Ì«xuÔçn6èA9›ÔW³øÃ=L9v3ÅÆ¨¤¾x¾¶ü±†];µ[mm ÓôkrúXsNªÏ¯ã”Èäñ°6?‡_ß]ýshp©r`m¢žpŠY ›ÉYaÊr|Oï–‚¿È÷ëÉÇoƒñÅ8Êè3´†˜'jüP5àñÝp–nzZ]¤'‹Â&6ùõÐÎãiÔÆ¢QëN“8Ýò¦Õæ_·_ bÝÒz3âš·5–·U늙ôD ÛŸ›°¬5Üáõ'mH f‡¡·7ŽÜˆ æ&:,×ýµïÿm=—úqÕ<¤ª3r¤<{}Žpö‚är¤n|}޼Éz„/Ççp8‰<@„8>‡Áäpð^~mOâ$»kZݹëchDvA|®õm×3É3lôÞ;gðüÛ½»ýpªÿ±Ü–&}² Äš÷ãËc¥5$ZÜ0¶•üÛÕ«I«(i©ŒÊzµ¬›¤|=ãÒ´ ±â\«ôeT…s¾𗥘mEæÐù:k-kk© ÜŸ} ˆ)—Ž´ÿ¦"Œd°$‘짦w•OÃÁ™DO“ù[éŒ=Ù|¤š§›Æ¼"µ¼æÏKbF·6/+¼ó²2gœe+Ѫ×5Ô5zwþþ9¿ç,Ïïž¡ûõØ¿[lFÞ ïÄ ùZó2hC€C[ü+ª%:‰Xù6Ÿ¬ÒĬMªfg¢šQÐñóa~‰‚ŽMãôtky%DèÚ„¦† F‚îIDà×ÝÁ —EÂÍfK3ª= ò²cåk•3¡}`¬·ø¸‹¬ öÂVËÄ&.¯½ý(,ù¢{D-·xmiïÆš¡¸šò¯˜ ùW¨sÒÖ£ç0Ž¡¤/¿ñCˆ‚“O#™2à¥ÇK„î2Å<Ù-ö+ÄÄš=´Q6Š4¹ŠÒþk¨U¸ Fù°¤âJÔ">tõ›a0õÔðÈï5+–4v/:†>—ƒCÃ…Ç;qHpAs‡h>g¡%ØAïTÔ…5 í4úN±FÐm˜ÿG(Â7…~¡ZD€õX a/éé—Ü–ôØ% …s ÚS¾&3(ÝqÁ‹1Í .©Ÿ—³ ýÂX«ž‡Z`êCS)÷G‡0#ꢻåašPíú$»–·–,ÇšW†§Ò¹Fˆßì2jr»^OgSî,w-:6†2 ߦ SúŒ'У2M!",–EÄþNÕCÛ‘ò¬Á.ä×"Ûù­ÐôÝeý´ò]ÁPeÈ”×Á¢,¯é›2` J¸ÍvnMî09˜ 1n1î11ž1ž1^A‚Ÿ“ûÝ&¾VÃ3¦Â;¦Â+¦Â^™þô84¾õ¾ô>õ>õÆ—ê®ÇEN¥‚CzÏ6$‚ÿ(鎤ðôƒ)Û±~NìÛÉnMpj¯ÙŠQé[P=˜šl$ j‹) áøÐ –HÉ=ƒÚ2]"LÔn½ÀÈ9¶ã8Å-„òÁbí¾›<Š<ÚhÉ~yû·w†(>÷Ì‘àw.ø­å#^'ñ+f*вƒÈLéqQv-1ºä¢f¹‘ÕÅWHפÇ,qÕË[£Îü¸PË™MIÄá3m"«”\×s¨ä“‹~x®%W}¤ý-ïz׿”]cݶÛ#Ͷnôř¤ö; Sä†ÖÏîØ-–lµwÔ}êû˯kMŸzܵá,[pá<±æç8>5™‡-Þã8ƒ¬‡›Î [ʃ lˆ`¾TâzªÀÁ}…³tÒ; bú¦Ü¯"oi¼/“À?ì¿ÀšŒ VÑ•n¯%è`¨²0³Pdr-ƒÇí&ûø³X‰âv~pž³NgÊðü±·EDŽI½]¢´E»Õp0¬{ØÃ:‚ko¦Taß5EÀà+©[S˜yÑz±Ó9=ªZà÷q¨…)2C1Kyè IµÌ÷¡È×Êy£W2;¹‰^J"Õ³¹Ïlînï'çÅ—‰Ç+:<½ÞUث õ¿«*>vŸƒ8xÈØjÏû®ŸÁå§Œ¥2ƒn*ÂT›= ‚ Æ%Ÿ¯Ú©lWo0•Àþ-LJr×cV<£r[ÒYÆ·Åý²j¤TãV 6qE».Ø—lìr¡Êö0Dz ÇK¯áT²r†áV5™$°ûMCú2×´`zûx©" ëYhr¢¦!Lš¸oÁ :‰iиÜŠToQ­[Êkø@ ÿOµ[§*•St·æø¡¨úp×jÒ· ºáÍð&üˆtî´’·ÚL·Ž3L¶ÔÚº´Ã_µ„­¦Ã°ŸÆUâxD7i»§LCìn¢ò³:¿ )1n>w‘À=©Qg¨f¬éoA»2³Ýø¬bŽnÉ.U·AÒckó ’V ¦§U-¡h:VDhí¥ öt°‡ X›d^O?\ìxV]oIEúäX(j±=ô>´sŒd:\°ÏHK©”d*víB5?D¾!ÿûŒüu_r’þ×øÄF`+g˜R±9M®~ýóµS`e˜RÜùß  lsFTÊ2«Ë‡¢|‡¢²{EÉ*“ñž¥ºEëw´’~få–c›x šó¶l Ý™¹Ý}-c}&Øì)eW±ï óôe쟊·Êý‡=sCd¿ ¹l:…k”7ÉÞ:»åÛð ùNH·!â磅u%x«‘„<^áh‡ÜdW¤pF˜j'—|¿ü¯–´/~ÿ˜é†0±’ƒ>Üs<®¿‹Õ¼_&Í<£QL*LÝêð·«®Lеó˜Ò]W¯ùWéθ²ß6SQK#’ÁˆI~D`Gøl%Ó( Øÿ ùðt+éº`@•ûI¾^{ÏGÅ…³%H3–ê;y1È›‡ÃYzÐZö_·Ä1¼"_¿yºþ=Œcx’Ëé}‹F¿vºö\À X‘%5M›)ß6ùÄÆú1»"í»b vÅìŠÉ×S°4nÇìAÛ€‹¦ @È4‰þÄ…ÿGqaj ‘¦¹eÃþHŸºrœzÑÔªšümÉŒ¿Û)àm3%‚¬–Ú,4ꋪúñÛ®.ÔÓ¿Á›dÜTÍ3Œ[Ø6ˆMÆŸ)ìñÖ¥]Ïp•ÁôŸÎ†d•º,h¶ŒS”õR)u¹ÏÌI<ø5Ä/Ñ‚ókÕÛ€æuXÆlÑ4·µCs€c6—±£A6.Nk§+œê†’-[¶Õ{Z ¡Û ¤bÎZ C[3áXÞâË8ñõVTšª/p—r>½²N¹¾³è¹`ªMȆ¬6ÎÄëõ¦'ó¡àE‰jOyéD.Îî¶„­‡ú®Û—·9Æ¥æûôo·† q®‰{P D¤“/JXBN)ÛZ‘s@}U®öÑÂÉ)®:9™aIm‘¯]>îŽÕcøxæÅ6nÙ[–E uÖ¦7,¬—t5¤l—§#êûžsŸßÁ’p×¢>ä–RKZ0¬Ä<Êâ.cð O+^ÃY‰ÒûŽ¡D]7éÌí`e' ùWÕãì}ùäºyÃ+#O_§3“ÇËÛü¿^,$µ/G-⹸pPŸíø)ù[Y[ä\)OêÂôç „0epÖ¨gQÖ‚aÄìÌØfìpË>ºŒ76§CËP ©7]fl á„ýEWµÕuïèÉd”Ý/²KUœ~3öËË[.7‹õgÛ@¯]@”ðF$á¨ã~"OÝ2µµÆ%iuÉ]l1Lj-Íq&QÞùw°±ÓÅÌ»X9M@Ÿ‹>Ü7>M*ϽéÈ wDjV,ÓëŸ?¼ñ§ ~ ÃFÑ'Ä®úñ\Њ |­e 8ŸÌb-ðJ;ƒS ?†7Ibl(Ëoo/¤ä3¤äRò )y‡”¼CJ4=ûëÓäéQ?Î’’“Ð¥_9«å–o+)y…”œ×ä÷7Ðü”ÜCJD¾¯’¯’“!aù?ÑqO0&Ðóä¥ ‰™mLÝ¢9çã;ù¦–ÿ†ÇPÌU<5ÓR˜¿Y®˜Z—C6‘å){QLZw-U=ÕÒÞ8¡êÉõ¨xÆ7\Ï0T  –-’æì~§H‘¬¯1âàÕ{'\h#U½“Õ½ à\EÃõ0†‹D¸*š‹ÃFjA™ÑʤœÀAÁjQ„ÜÈ[~ìÅ~_ú\ê—O SPÐífßtèô寫@H@:ð–’v$‘²°ÝYnNe/λL,ñ›…‰ö-´?\ó/÷\ î ’ïÇQôtà=|:}7Ýyš¡dó¢›FßDrÝÄÚðœˆ`ˆ„ [ô$‘%B;«d›º¦þ6–Ünƒ[`­¢¡[“çò}.”ôkã;£ž¨tÇÕ­²ïаo¦cVÓé"ûøç½ÅЫ˜!ð‰ÞÄ|©ñßú#E wy¶i ”àšà[Ds‰¥Dñ¶`øÂÜd¦u¦ÿ!ƒ‰×ïúïÕÙå®ð÷[â5$Ž'Ÿ¥ú=4»›Z-ðè1¢µÒˈ7Ž?4zOwÊm¥øá…«†š—L÷€a¡9µ ìo¤Ùí:áÅZxázÅV^ám’Ç~ÔñD÷^Šà8wøö!¶Ð;’¿GlmPòŽÝ'ñe×ï<)Í™DG`»î/D¢ï  r¾¨û×|&†¥ çfšŠËæÃ@»O !ÿVºüÛÐâ-Ã6;LŒl¶ßØì–cÞèÝ©r©xj€Ó5ûŽ—Ê<‰JõzxË´9ó¡¾êPàWXÙûéG[í"ɶûñ›Ä…‘Zݼb$×þýF»k³ŠAä8!^ЭhÔÙÎ /¡‰ßx…’ û¸Q ±5–ŸW 5z[\JËxM5¸2éÓ÷ƒ"ßžnƒ;ÿXr+£ùÖT! ^}º¢,üOÛÿÂ1º£òǨ “s<አ;ÜÝ(.JŸ¡œ§=–¦j-6*ýpåRò w1ß=òKÜsE?öY!ëMΨ³Î´"+¬;žðz¼ Ù7d0Þ(@jvx‚¤y§ªm^ŸŽ_þOrÔ];ffËñÏk<ÈŸÏî‰ÙaôÑc¤A MCÆP¾ñÕæSZ;¨{Ëï) ß^(^ÜPš1ܪŠÜ:?r U'a`ýái©÷2û‰GÁí®|‹TÒìSÄj&0Í=ž­jvBAª2äø<$A§¢Û|d[Óª½ó C#?z™<ƒ¶Ãf(ªÔÔ—6PØTðȦÿº$Q·¿ë†:'6€§û#sáP‡Èi?¹X"'c´äÙés*jßMK¤z®”–,iª–a¡8Ï]Ø^ôDb޼å´"0ß¿ØèGAì%„—Ê$­ŠPŸg4LâaÊTÀC†jÔvŠ}ßñz*·¡¬‚,ïÅNéRøÕFgËôí2Vt6Qñh)Dy0p‚ù)W,­o¥ÌûP^„0ø6óy›:MY2CC èå œ7Ë-èVØe>”ž‡j›XÈý›J(êþsû|î–Le>`ñÝê¡~@žÜSÞ7€"7BZˆ#n‹Ã¨-~Táo³Í®b¤’¥%^:a…ÒÓVÛ™CºÓY•5‚›Ÿf»Ôôæú–•Þ¦TvÝ5ÉÏN‹=¬DaÎãrËð„ÿ¤‡‹¹Û4ï{ ¤ÅÐîfgír¦XíUäI³mÑaJHC(ršÕÝGÆ‘·ŸÑNš½3L1,n$º_¶ R³ÌòâRIRt¹ja”Ð_ÙAÉzp+ê(P{e27©S¦ãè1ë¾ññϹ3¦è±ØÌë—èpÏ é<õõ3k¹º•ó¥·I G´»é7¹"‘-–RêPr·Z(Å>ëA]Bo´|úŽ—± f€ì «`\_,%·’ºCŒÅŒXTL©LŽ#O‚cs(?š«ÔÜ@Œ†MÐié~—Øø%Ô]‹ÑÝ}Ø×V.9n•-·¸gÀAZݹõBx~«>tµ¥ëJ<òì‰uÄÞÁ¥vþæ‰sÎ ¹áLóø™®Â-Ä’žm0¸‚€ø ––j`°T‹VÁåÆõ¬ù[®n¬9‡1á‘à¶r¸º”Y+Ãî2tÐðïGaÄeÚÀ‘†Å;l0Ãàѽ]HjÌ/¥B5ûœôÇSQ»Lry|Ñ1 FÌ_'Yºžl_Í;”LãÎýÒf֕ЄÉLoöO§4c’ì2…±j®g¡? Jr§{q_® qìóFnigì?Réïý ¾¼„"Zg ^ž±Îç=à®tŽö°¦hñ(Îb£7o¡ïõzÊïñµ‰dgŸdÅc(}¡-D·+œ¸@â+‹EVa‹?ýSÚ9T$Ðlë§éYt—c5~ù5Ô„²z<â™@†®g‚Å9ü':‹+æn¡VÄR¶eýs\XaâŽòßoÇÀc‹Ù³¯µìkGöµ#!Ë£øºS´¿³¯]Ù×Îìk;ûÚÎïïìkË÷縯80ØuÞRp°Öý¶ŸÝ) @­4(óú|û_y¾ýŸø|ÿŒý÷/ÐYŸ…ítÁ¸ÿö‚!WŽ ˆJσÔ5Iâ lw:˜V²ÝÏl÷3ÛýJ"¼³ÝcÆú=ÄÇ”/Z¶û–í` yûÓÄÈøðN¯Py×õh/ц-ük~¿biB/¢±T—.WU¨†Q¡¿æßþ¿Wg˜¼¦gqL´DÀøÌ‚z8äbÂêiÄápK÷IîmO~ÐjT96ŸÁa…ì'[gò0õ2én‰l؆ä|øƒrÇ_JÐpõoÒ4'Ó9°§máTʧbæÛeáyùc~`tdèb18‚¢Œ¤rÀŠò÷B.Ì;…éÐpˆœÇ~®¬¥ùÖhŸƒ- `¿øGiÝ‘5o›èl\íëðëª÷çP܌٠,ÁŒy/÷£ ÀfÌsÉŒYbhCfLYë$õ8ؽ‚Œ´@ y2MžL—'3äÉ y2]žÌ%O¦Ë“Ða¦<™žÌ OæOf†'³Ã“éáÉ x2ùy2#<™¡“Øß«»2s‚'s…'ת‚*§yì;eÄgDÊ8ý{âãç¥bsv¶döœNÒópGТgY–¯æ®”R•\Mfôá7Ç7!§cîÁ‚Ï?Ìì‘Bï2âàF7ÇLáV$ø `§¡pç`¯k»55:¦67¢ÅÁ ÆZýãžZc]é ;é²}0Ôš·ù2˜8u{«_1/©ñVQì‰úì­0¤>!Ôöà7ײ߈î^¿X1ˆ‡°k¡^a'Ôv#“>DŒ|<.=¶…óÎÓÓÆã°ùr-ÁúxP(y³duþÑ-Ü·ô¹~û†àrÓN£wû8wæ€åP@ìé˜R¦p×µøœäNÝñ{ç¿@Ê3 eZ{œ;@á²ýò H9Rö€”- eH¹ó½° jFý)ó›õu.#Ÿ9Z@Ê+ år¤œ‚”ûøÆÂ>TRæ÷Òº„¬÷RF¯˜´’P‘v¸§`% ›¸e×£x¿¾1_,À~¹DÚ¨ñ¥¾ï…½Ô²šÝŽ6)ls¬Z>ówLç9ûËÄtgäeâÝ+s`ÛÇD÷sGç¿âNþ¹"ý V¤"ÀŸ| †Óû ÛÑ…úRánÝÂN„O‘¤ß5´Q ¼4ƒçÏOÔ&¼µTŒ+¥Ó+Ô)ho'·Zƒ–ÓþUöYjÃJ>f+-Þµ=Æ©–Ú¯oâv0C3ɹîAp†væ9 E€PË!@Pc™~Ž=ý#úC[†gâ–±S›LvÚ‚ºb§µ‚–ÞÒc¹÷ù¬—|MººÔ·©1’ÆV5M§ùP|ÕØé£œ¦MåÒdûvΚ«ëé¥vžÓ|º>bO{PH’,|)-ŒßKx·ÏŠÊNç0þÃÏÅ*S,kÕai³)ê§?¯/m߈èáñýeÞð–bûµ~-áŽþøWžóë¥Fá)GÝñ };Öæ9„~ÊŽgsÀÔðµäÖ {Éú¿MŠL½à Ÿ!0gžü8¿Ž¶ÃxOû£MiÞa'¸£É{LgÝÓÊ3ÆYlõŽ®‚ÙQp$ÕîÝþµzÝ®¥DÆIZh2bwÚoMÌx¦ö4½cå«7ª·:yÕxQ{¼5¾ñŸ'¬ÖUŸ1È·ô%}Ÿ¥‚öÔ*{’MìçZП+ûO0½€&æZ¤AWiÀÚ´ÿyxÒ¶¯iú84ÊíõP·Ïd †,ï±Âþ|úmNbÿÃ{‡‡…ÈÚ`é‹ò³:mwñƒ5çb¨Ö ´Ñ޲áã\)ë{0ñâÚ¡“‡Æ®|> ·ê`昀 ÓM[¯ S΋BùÉmOl‡ =¹‘”¬aâKôu‡köÒƒ…¹S«ã¥eíEÒZgx†`†‹Zäm`§<…3çœa‹ã|žXÈ<åè•t9|D§-æhqyÃ^ü2bLÇzV¸Ú g–à!ùݦ§#KuApéÝy`WðîÃ=ÿøPFÎPF&Ÿ@w˜éJÖ㇠jDûÓî 4Õ'ÑJá=b“ØÆÂ¶ õ‘¿¦,èѾ¹qÞ<'#BXVã@UˆHRSÀËRøÈéjbǹ2ÜŸ†3Ÿ•îÌ ×‚KÅë¾²d8µ 1‘ôWZF-‰bÙã¼AÅlvaÄ:¸Yñ­ÔpãŽ4ñÖŒ’Ô»×WÅýú/û(ž¯ÿç>Šû ¾{`ÄÜÇ ª¿~öM _ãN:ž·°8Yï¤ÑÌÔžö!yà†Á/‚Ï»DšŸÜ¦ÿ{Ý,Çoã0\é#¾ÚGš’‹ê3ñÇXlø#è±ãðÊ8l‡ãõ³ü_¢Ìÿ¥q83¯ŒÃPäWŠ8»gæ5Q§û‰ã0Å¢¸Ü’`°—d~`$%êæ8ì‡Óq¨•Õéom/.Ž4ÓÖsO;ùÓqh±iÀ˜Á"›JD}oçI¼qýttùü> Ï×ÓÞóÉiý~ÿ­v-%îméû:“ÚË¢sØ Íñ+wÞ‰ÚNBëª WÜJˆ¾Yìnpû}“ƒÇ†¥‹ç•cBøÚºçÙ®- ¬:‘«Ó-;ßÇ[ô6uÀewÚ³ã,»(‚¿·I8  *€¼|OònÚ¿âX[´­[®¡ëšipB«‰ãŸu‡¦Î+ž´py‡9÷GRaA¹ãõ[û³î–ј×ã^nÞÚÏÞ_Gì“ÎÏñïjئ™‚wþ°}õ+çsñ˜ÕÖB æõ½Û¹ÓñÍÕ_ªûГ÷…üäÔŠek”–F[4÷©ÂBGô1®ä¤’®mÅ’·ÐÖe]Fild÷ëa'†ÐÂ)sMv9Š}ŠT“a`VÞŠXn¨)wm©MÌC«ìVNö'¶®¢_Ý.œ'½¥Ûë1Y¿>8â§AgÖ úö¬(Ò-ÍùFC*žòåpïmãõ¥Ÿ?¢QèÞ¡‘üs|1—Ê¿™*±§csºÕ©]Ì– òÂûÀ¶<¾˜Oà X†-^ÌïB@º{Š,–hi5w~Ý@B!ÂÐõ¶v¤mšj{ÐÔ¤ëïG®™7rZ%ù\†[ÒãIæÆD²½Í²ÎWH=÷+²¯ÍQ®)9YyŽsŒ&ëÁ ||ÂÖºì\õù²Ý‘¡ Ïf¦8½„´•…4‹¬§,X1p`è‚Ê-œ%ÙöñXFþ—¾¹º­}è’ÈãÁö¶fCè–WÄØhÌq‡BØB'ôæ¨زßññùØ­ó9ôm”ŒUó´rêQz{è ±zè{ÝîÉö[¾-]äñˆ™Aá<Çþɹ] “^ ¡µ)=.À›l£v×Y¶–|ÂDóC¯å‰û½li39=¯Îçk ImX#ψ¡‚r;¦X VQgh…A=N;iÖy¦ ð÷Nå¦Ý)Ñ#½lÁ0¥ß².¨ÒÞh ÙûusWò¸Ó‹øH÷¢NÛÄGD…ö *Ö¾Y7ßñs}o‡›º(2è(¿‰¨ÕÊë'{€j$еô_ê9ŠÙrhRåÖÑÞêͦ‘Î@Ýâ1‘Ëm¢õ&ò²óïËúÙÏü£â†ûLÄ!ÚlÇ´I@ÞFÇž ½Q¶·4MøÿÓ ùïkxüÿÔ¾y‡úy¶pE$c"¬Dãa”×g°:ÙêÖm×îtÃ<ý{lÈØòAÄ4‰1ÒV[ë%î7ТÿZüŦóA],}‹h<€…5¡l¥iÖö´È µõé-¿ƒ¯ÑMà4ä¾î$-gè2†ÛÓ\f´×ãŽîÄ,LáK\ÔcE•\}ÚEøR¬*m‰ºƒ± †/"¡oi5|Jt¿SÂ<éÖ"®TŽžÆ×¡0¢àgܽӱáëMÛ÷ÖÌñ ;Ì6ÀƒO‘_×{Ý,úzdÑ—µá/õŽ zSµWx½ý9&´‡å`dåã“÷)ÏZØuÆ[íTÈ]?/4¸–쀾eRÓ‰«"ºa×Àu"äïiャò¾LAb5é+™ JqÊÂw° ÀÊÖŽ §Lȉ»ª=ÄT¸KÐA,±q”x¾¦ì»Û&âÝäy²½{¼b´~9?šeû4c$Á­V XëÓîØÒxsŠÆˆ‹µû¡*? ßÉl „Ž2æç`§ÆššéGÌGºu袷±Ö«§VÍ E;D¤Å£ ã¦Jý¡9šÃ¡;Æ¡ø€õ‹ÃºmÔ,Š&K>‡ÇÀƒà0J7ì €·Ï½JêºÏ_^ðÒG¯<ߺ]ÚðÑ» cK«5¾Û®m<ž'?ðñq¦U­©01>ªã2ÊeþZ(2{á‘>ÀIõ‡tÅxEIè¯ý¥ÓÀ3êtª,sïo…ð±Z‹šÅÉ-AÅ"9 ÃЩV(E©²X„bLA¨‘RMEØRôñú¸,?¼¥?šŽì !ØŒ@‡- ›Ïž°¿êþ} Æ,LOÎÀÚ¥ý7ö†ùAäÅØG øsesð§¿+Ðpáˆ`×9îýŠÆjÙ4Ö"ÌN¦ùHÎÜãs}´¶»«‘:ølrÑZáÂÞG Kn×Åv!‡[™!° ŒÞó1Ú8c´Á¼Ûpo5Ú°Eà#Fwˆ÷]úa:¤ušò®¿tÛ½¿Ö_Œ6FŒ6Òzûg¹Â¬çç•õ½}­÷WÖûX—=žkÇb}`9ýö“ùpÜÏ?$ñ³b×}™BHÅë(²†¥…8ï„1××ñ o@¶3Ú0,<¬¥>Ãú’ÏzA4䯯ÏÓq£>'D ·‰¿/ˆ-7‡AKeè¦÷­Ð1@ œlçív‰Øaãîˆ~›?Ÿ’c ‰q²˜¾³B]Ö%à …§²lò4QF¨rÎûÇOð°ë‰7Æ"7æm¶´ùFšJ†`ø2–èý‹×x»z³éÀMô÷É çÍ=þ1!; )]µÃZßÛ\Ùb{\»¯/—Œ%mz9ÓõFÆGnórrÛGU–³_ˆ?<þ”ôÖ'¾ŒÐÊëApÁéÀ=˜zÓvS7àHEûz.Ä8K*œ,?:¸ÒîFPq¥Ž+*ÃDýĶ©•Õ£¾«L¶‘{|îNã²¾|ßrvuØk¼$Ï(6¼×޾ߑ‡6ˆ«;÷Amêþ§•ÇÎÈsdžs0…~•>T¸WåQ­ ¼¹^÷’ØÁ*˜_xøþý±lñ]+a©ƒmçÌ a0*9ÿL‰ïZIftÅý }ÊçHèl«’¯ÛåEÅ;÷‰à6@tÛÀ¥é^ª¤ìŒÁ|ñ®Çõýµùö‘-¡e³E6y´PÞ}º‡D õóW˜äX±4kÙt¤y……· ‚µËÈ0#© uª;9eXØ;Ñfg¨²+©Ov}jÛÎO-bd6©øÛ½¶áØ,ÿ´²^ÒrÇñúxü2¿¯ðíùv5‹ž¯špðLÄ’o°v*ûTóð–IWSc*£šNŒ?9‘seø³…UšO¬a¸ƒe0üV†ßá·2üæëñ qøÃü/‡a2ḛ3ôvXÙ{¦z4’£DP°-Ø8 ¯ Ãl¨T‘­Hõ4Ms¦.·ï/x„apµÇ·®n ^®›;}µ\t¹Ó] xŸÊ•FÙÉö WÞ_iXnU¬º–¥ÿí˜Ù•íÈI{j¤ØMcYÛ1?MÐ2®ñÕ‹³Û ‡¶Ñn(45. á–?™æ3$-H"ÂL¼ûàinš,üOºÉ­¿åë #÷pX’g/ëÎm¿§ŠA)2Á÷£ L¾?X˜Ýú²¾´ÔŽÚq3,<ôà!C`ú§õÌþ†Ž}Œj QûKÃÃLÆNU·nã¡Ë9ìzqÙ8'­Wâ¡Y·dBû@`µ_yáë=œ(¶./PºÄWW8 !‚‰È²‰Ö¹›Ã› Šíƒ«›¿ß©€žHuð͵âQ°§µ¡îž×Üó]§§Ò‰ðô/i·w¶™#™YÓá¡Å D§=·wvK-Ïщ\ó[ài€YIòêR8¼·'fuû§¬us6òö‡žOº ˜/kŒÃ+î:¶%iCÚÕe¹‹¸™Ÿ\ Çvc|oNéÝÂÖÀ­í„‡»[¡ç´’Ç\!âœagÜ¢ïùèCÆè~.þp{` $^SU«ç·®[…O#ª›“ŽøçŒlœ#ÛþZ?@}T­Ëz6å‚ýSKnÊ.Ÿˆóƒ\^Ù|Çà÷uÄŒŸR‘ÉÅHÞ9è»sZ*júdÝŠNý$kw?áñ`Þ"½ìÊWºdþ'‹Ë2Ñú¿Àî ¡ìèHfx›¸3 š¢RÖSÍ °›ãñM³WulÿgÐÇ—›ûG¸¿”ø0ô¶¯÷Ó@f| ˜ŸîÙ©Ø2wÿ¥ŠBþÓú‡!(‚îlÁZ°Hk)"YV«×X,óÌÓ„‹fÕ-voÍÏÓš¡³U"¬†®l5zŽ˜“á‡0f]- ·Fí“mø¶TòLê„®-µ¹äÖ瓃Ÿ(Ð Åx!Øž*©ù£ ´ba —sò*4ÛÌ#“@z «Ç;WÖÑeΓ¼ª6b©y›iwš7,Íi–Ň8¯ð ¢OC2t8ª¶Ãÿ=ïàz’tÞ=;9ïi?$ áJGYïŠtÀ÷ Ï3RÞcV¶3–5C:ç´, .{ÒiFøÚš;>”‘XF@*3ƒas-ÒÃ)ÄÊu¸ÙRë>-²¹vi¸Ô^Azˆ)t‰4C±*bÛvÌÁêb˜bÖù×€;0À÷¬Ç!Í’Ï<ž°Àˆ²‚n›í¤§x]E‰:«ªº,´µ†LIe6±¯?•ý ¾ÌT–¹ ÍŒÚ©iÖ¡—”ýÇ{8Ûf¨Ä±i“؉I›ò5K_Ë÷ €m³ä)òñî!G !<’W¾¤gÏq$ŽÍ±˜åØuZe®õ¾³#M«ìaäçju?öðÖôûýv9€ò‡?U­”ÛfØgJÒ×ù ßëA¿çƒ~_ú}>‘Awݺ[Ðïô;Ž×u±ýžA¿gÐ>¶ëžîó¢ßY?C¿äûûþšÑãYýZPð‚†ßÉøÖƒ†?óM2Ù‚³Ó\ôûé[ÆôO‹2+¸H‘z=]¡uÇØ">PÓŠ„¬`Àªè°&"‡¾âÆx ½6¦p¬‹ûë8„-Ÿ£FˆßŽ-ãð1IÈÓ6Å?d€ÀÌ=Xälsìp óƯúL·>³¿UÉêÏæóµi[åaÓ‡\»¸N[zJþÚny†MƒÓgb—R¬Gyµ³2»%;2ýti¬:“œºM¨ ±Ìà¶Xä ÃéºL¢xšµTBê5Ïæ²y§}AqÛ¸Rž£t<êWŠÞ 0ˆøÍC/™ˆý•b$UË2QÈ×bïx¾3¨¯+vtìT–¯§¯ÔÓ0Ù )u¾ém¶Ä <ö‰´Ok9&"¨#­ÊÈà7†p¹ ¿¸ôô8càù°¬ªáLn§–wj´(ÿ0ïFlxhõÀ˰ÖïXyúnö¸¯Zûôn!Ï7ãØK`j+˘ҔG¨™Ý!ì=éV `9ë³{§÷5˜`KÁ}oy÷žÖã:òëï+œ"\·¬^n­ªÁê\I‹›sTKìXÙ‘‡;h»I¥5.¸t üx™>í»ÓqŠÝýs{§;°Æm5²=¡.ukünsÉ Æÿ͸7žžà/ª N—±ÇÖÁx­wàPv“_,·½=âñð9|H©y^ù  ä-Æ™Âó?eÁ\wÊWðQs¦‚ÅÃ:Šôw)Í–/@Bz¾êðjHæ>È&ëär!Ö6ç!ÿܦrØt….fÃÂm_)YÔ¼¸,â€j0;‡ª"Ž|E²‰tÄäeP¯*éÁ°7½öšÍðúk$\O¾|e\1„ÆL‚(¬õIqyþƒä{¸ô€Óñ¼Ú?[jŒ¼hL9ìðGáGw‚‰ tË ýŽu¬úØÒM7ŒèÖý â˜JRq°¶Ú9$~m©¦ 箩#:sw½B~ÚÄþ¼†xqo ¹}Ðp´Y·±Í6sW؉„p½ÒÂ2û|$‡pË×–š±ìêZ—y¾úÑùUdÐhñ†þN]MX[ý°ìMVȺƒµJ¤ÖÓc”¾&´À\¡ N$L‡þ—~M hvdˆJFÈFÐTn@Sb³g,w£"éñŸ²åçd"̦Ïà• –%Ž1ZèjƒˆãÔK(æd“™Ÿ†Fœÿðs´  MyÈ›µ°*å¹mK _^q×ôK“ÂÅò߬*\†õŒ‘ËÎîisçH.pWñE´-KŽxe¥ÔêÝ9~8ÇåéGpwzµó9¹]‘—?Çþ¬òKÖvê"Þ@Ž#`-{a¤ö“²}AyÆ«E…ü©döØQô¬ü=4¸8ië.z Mb©ÛRâ ëAɆ2ž°Âq ðÍõrR›&?© Â2ÏgÀÒ­~|½¨áwðU<Ĭ»Ê Štw¯†pl—Ë´þëÉÖzZTö+7÷òb4Ž™|„‡Š /&……†Ë(Á\MH‹?Éäp;áûVÿ¤˜“oªœJVoyß—®ƒ·Ôoõ#Šù}ój hp¡&‰‚| Ùå1íáßés¥¡ËõÙêPÜêvoYLr%b‘#!Vua¡HKk$g#¿Wó¯àš„tÀ;uQ}­Ÿ`ç´»©@ çކƒJˆÅ žªAºU1åtH󻇋Îð{wèwh‚ úÎ%SkÍ=Á_Æ'ýNãfrJ,»E<¨ÚUBѱ½ƒÄÄ’{¸œNCp^— +&r*˜:]Ôaš4~s²ª<÷‰ TöRîÆZ )ç2l³˜G¼æÖÖ~êþ‰CNé'ôÃþ³ˆ9Ó ŒjY‹#PsÐØ|ú"8<˜G2úG ú°Òi ½4渌Šc‹ÿáÑ\ÞÎË´1+m–>HÄÝ®áÞ& ó}ÒãDXSŽy®ç){72—.]cˆHÔ¿HždŸì‡rqüüºƒ¿†ü‰•÷I•ã’ÐPÛÌq?Îõñ_Ý¢¡­$NžbýÁeƒpœJVd×]à ·úÿK«ë‚KJ¤få·@“sŠ0Q -d·pàIló–!ò–Â@‘÷œ:b\D›J š…Ã9³˜J–1)¦³xØø‚ût¥1=TÀ–F£a¯>TIŵM€Úe²½¾¼Cq;¾t[Š+T=»wdL-j+'Â)oò¶Pc_TcMv]¶®%á°Ý9†òˆÀåÏm_ßÕ)ñÄ ²Y=™eQm‰`@5©^Ô¥ábη.2õÍK§S¼ÿ71,’ç“8ùý GªFb3]‘…4]3¨¢e¤ú³»,¾zA¼kpÕ§Wm`Éj˜$Àµ œö«QÙ­ÒI‰~díq³>ãÎÕ(°À´h©ŽBÞ°ËñúêÅÒ„|gíé˜Ð¢—áô"ŸÿÀç ÓÿK”EKÒÏ{ ÿ¾›Š‹âJ@`åÆ:ËNLõßp±:9q¬ÄlQ¾ÌKkBm/ Ûoïçk™C¦HÚÒ=Ê­o²ˆú{8r÷ 3¼¢ ¢fÒ”¹j‘üI#bI=­0"vŸ¨¿*ý¼4ÒÜïÒ ”¯pè¡Lž¼ŽrÍ‹ªBÅ‚çÖíYèn[ò«–Š›WiœÍžÓv·WÖW¹Í­+%õr6èjè¾N«À]ÔWÝ–Q 5•clétSØFÙÝuQ°9Y×è/ ¶0ÕxÓ¤ÇdÊŸ#ÞDjk³h‡àÇ·TMÀýPû»6§<ÑÛ3­pæ×oÞ»þÐ,¢y™-.á=<†ÇÍ~æ6͇W1cž¤Ÿ ŒÛ­qº©›‹ëž.VDˇAú÷ë)^Kzä±â:âxŸBµë‰Ëc„çñ´dÖ¬kø¡]¸#ƒpË1§ãhÚŽ¥iõ|O[×K°¬E’-9 ;1ácœypM?C pµ¤ÖP¾Í¯CÍǃ_ZJátKëLâ*µœfç †íè™&¨6ÝÜþ{®à¦ˆÌÔv‚‚’9rciîpbâY7Ç}бªîâ  @Êζ‹`Ò¨h`ˆ:,XJÉ’¾ãñÑcõ²âTf’ !,×|êÛ+z§x’bÑ…‚‡¾\F®Ä¨D§>VW;¤i3È–ëÝ"¨yŽ£¥NnÎÆžrƤcKȳ.sF\‰+júÑõ&¸\½_Jg8®#AëÛ’»àå—eÂSÒÈ÷ÃÕP7eä,ê N±Óœ«ºƒùúhöJž`WÚØ!£s&|k]÷€LÏf…¸gÁ0ƒ?=ÇÛú¤´Áy·yU‹‹B ‚z‰8ÅH˜Ö0(\W6è”ú–eýózô¦OxfÀ¶ø¿s=}W"ø uÜ:&Ñ]4^ý’®Úmµ\%Ù§­+¦Ë ³ˆ!Ž>côËôoÙB?)»ßXÛSæVÓ÷ôlìð½†FlWäW_þß,¦hÓô#Fü¡úµ‚\©ºì“,1ºfÈ1ì$ÅËÛ¿â@¿˜šÙ–“ û–$(ÿh®<§óSÙ|‡?~æù·$ÂÓÁî9`„„ 9•¯½= @KšÌÊ‘ ²ç×ÅLÅCSJá ‘f=›vê'àËm Þä–Õ¹Yüà/©+YŒý”¢—h»¦ï;ëïà,•®Š!:KFÖæ•µZ¹r‹¢üþ©ÐÍ ]Ó ž,li9]ãùÊæIÿÓ­1 n8+EŠ‹©@õÈöW‘­yÊŽ`òËE'®:Wüçî‡Åµ-òÜŽÎ~ë5Áï…÷Ê9‘°)ß.ì†Ä‡ågŸs ž‡{ ×Ü©dX˶¾=S¾·f û ãbü¤£ÆGÛ$/ªÔ_nK‡µx²+±·sàÖÓÁõž‰ldE=……)ŒzQØ»hÕi‹Ànÿ(-C}hÚî 7údÜ&Ö+uþå¬âöÔí¸¢>º²¤pò)¤œÑDž>‡×JÌñΦØñu¤ï”~6f‘VQyŸlLŸ~U#øëß’¹£Î„’€=ä-ÔPBÅ_j¨1òõrhB 31¹ç8“ôeUM.œãÃoZѬj´ãÆ.2±%×M… n|{ë[Uβ[臗n]:»j~¸¤“Wu™&&¢³I.a¨¨:ÎW˜›ÐØ[é78/Œâp pÚ*I€Ð ›Š€,.òã+}z#{Oéd8$––-Z¿Eü·{:í©nåêµ¾R¤×¬‚'GDòjò÷¹ìB‚+¥‚Ã#ù¾èÉïМÑà Ôï„ÿ&*Œ¿Bô—Œí¯’‰X;½³ßn_l÷½MÒŒ¡îH›$š¢I‚¢…C[qï±SÒm§¤ÓNI5Ý‹¹¾ùÛmÿ¿­ábz¬Ór“7¬‚ñùCâ4ü¥YR¡kX‡Þ1ÿñ´º<ÈÓԚɟFÓ~²ì,(ˆË=¤Vg0°Z ú{½èötËQp{FoŸã'/ØáöŒ×GÓ~:Âÿ´›—Äù…¼¹_Ah?d(>þÒ6%HîÛ’wô‡d‘˜¹_¯?z‹Æòª™£FíØ³+vú|ß”˜°J¥m¨\Ç—Ïjñ¸Š&jLêž}>•Üå+×·è§Ì‡Çmôýh‹Ó6ç´€¶÷Nóœ =N´˜Äõ‘ìþõéhÉþ·“;žÝDÁq™iq…w˜&÷wòŒ#·©¹¶þ.J½ž¯ß’ïúp3!Pl™?l=îC‡‹îË¡öÒã‹kzÛmH]»Â±§„ ’µõ,ÂØá߀HV*H*霛Ò}`YrQÐ(ë>ˆ¹Ü´ªà;PÌù³Öýrºš¿Ó;eÁN}dŨbØÕµx§ÿkþ‘ „s3ص¹Ó¶EÔÙ¾\âˆ=ݶ Šê{Á@Á9igºòhîÐãüÎm`ƒ“ÙÌaˆ•BãO Ç.îbuíüpµ¸‡kËV¯aË@—(™ ×ba¦‰Æ±µ†f=ÿ'hĹU†¤+¥úläe¡ˆ3†t%²Ükb&çëãñ$–Ð1whÿØ)ãfäŠñ÷~SNÚ ]tBPjÙ%¯ÇS ]nÖ¤&ÊPl³æ€â׳ЊàÉ`×öp¹ÎË¿’¸‚ctnëïC¶¶ñ7ˆîµäXÛ꣨WM Y'Çb±b£) >ºWF_IŒáÙq/ÖÅBèQ aîßõ”¥mc1 +¯9"‘½c¡ÅXðŒ|Ϫ1F¬€uú¸.uYïd¼\`mÚV—·×αs jQTu´ªYTGa,ÂxŒÃD{ØŸýaΧ÷ÝŠ˜¯?*h[Ð4û¥aKÒüqƒc§"Â2E'öQ¿þ†ýç×úm™:*ÀŸÍ‚ÝLõÿÀŽ4hójËÊì»\¦U)“µ±#ÛðrŒùs¬R©JŒé íÛÉÕ˜p:=ž*ñL5ùscF27ܹé>ž³sÍÌÔ°FC#½žYÉí› x:°š)äwk¸SUܰ~3Qºþæ-†âös>œ€z:Tô¼DI0¨sh©éH§f7R»ìV±‡DÙ6×ïܶhP?.úT™k%äíß•!ºÕÃ~¤x-µiã­}ŠK1ÂyY‘³Ü¶m¾E´6ªKÖŸãçÄN«T‚òš­9-‚öú|îThz„žŠOmà{äu 7üò÷ž§Ü¦½Â‹+ÄÍßÊ”’㥒PV}K…ÇNDóe›«aÅå)4¯¹‹ 1àb ¬a„ó¨In¦P]"i£ÉeSt¢b Å:x9U᣺4Ž"G—/ROöfÀwÙÓ&f;ÆEMÅeúu‰õW‹N–±†=U—ísI ±¤;OIæ¶Êßc?×Ã8 ¢†&1ê)3Vê‡%¢cfu¿”|ÐÈ0‚jr:Vôpk )5“Å"‹ÎŒÿö<­~ýŽÏý‚“AÐm§lkø”‚ÃwnZ˜ìˆú·•åÉ|HLóqE™-²ýئ -M<ë.·÷ïcŠ{ ]h ýo¸¥À`Û2æ|l^Zl^Zl^hJýÑDÜšý×ežtŸÑ­ù±øo W¿ŽüS7:ãM39–ÔÀhÅ…æ%;ZF¦Çy”ŽS‹­¾´âBßÈQ+®‚€w~ãÁèý#~H5*ñ'ÚZrQc¾³"Õ ØZrGÔÐ8ãrY0¡†|Æv âEô=€(†í·'´ä¢w­p·–\to­ÕméÚ¢%—~IrüCêÊe› "çwÜ –ͰB1¬Cº8ÇëÄ%W8w(MÆ\_Ë:õwä]îe]aÁo›xDUtÌ]µ[®)Þpø6ÇþÙÿ圫Øc°lP±—"þõ_¾Xð\îR‚bÛ©Ò9îÔ&8+†ï4]2­À’‰ Õ¡­Ô«Q5ÙU‰^¶J«ac󑺿…aŸTi"íá”x¸-CÊC`ýµÔ¿Sï>®P׎ Êu‰ŒGÌH5 ¯h]ç·_*•؜쑅ùÌÂ|~9ÒÕÜ.:ÇǼ§‰¨a3vˆ‚´¹°0_@ù›5PøÁ-#È}Më h¹ŽK4þzh*2¦†ÖùM l6­#ö+…çi0òúø^—á›­LšZ̦²]žæ§½ðB~…8XÇ3Œ3Û4^×Iö §’ºŸ»r½ÃWÀ”ÀQ•ÝrÉ««¸Y .oá©án;¥NÉ×d ‡ì#]27J‡ƒõ3èˆ žæV{xš¡?6¢<£Ik×þNU¡'FÔp­[óŸng§ûuš´^.luâv#³ý«ÇT– 7”«‡ªŒlhÕꯅATÚ>Ï—}ŽÏSÙWžÎ™§sýötVžNÏÓYáéÜãé$Sž ë×x<×·Ç3ÔQÕC8ë‘À­çtçP))Ý+ê©ýúå)‰qj]°'tIdKC^5¯»zÁ¬4+jȦcËG[ÑÍØòêy]Ë>T׋޲d,§¤ÅQtD’¼›ß›‡Ï¦r[ü-ú“(1æ(4Õ «$YÄ{Z«‡§±AŽ$µ j€œÌ_|ƸY@ؤSwj0µAÖ›u'Z³ûÞz…žA/ ¤,»/ëEKù’p¼\±–5#ÌTíÈ- vÓûõ±–MºL&—9ÀT–9Bؼ$Éö×G…×Ù!)…& ÃØ‘G m"¥Ý$ÖÓoM1 zn)nÅíù²¬ˆ_@´(DVà„Ⱦǘ@Ñ.ã3p!™x.ö9¤zbSói° ÕOÎØ Õß29AG‡Ó¹—]UóHÆ)Å›×pÀ¼‘ãòF°žV8öûùÊ*b“)}+!ß»*#P6Ö&B–zû°¿.‹¶µö²š®Ê÷ç ß“_°ö·e¾ÔŒ¿ Ì*2!wÏlAŸ]«ÝåzEïn†rÈÂmLZËOÃty¸P@Rãsð‰KJ $òÀbÁîÞ¬,П»Z$j€Ò¦GšIwÑÒÑTxLù,Õ›=ðz¸NÕâ¶_·o$~xüi~Ûâ ØÕkŒ#õÙH(6Ñîú½ööx²IYâµûsëj7¦DE -ÄîÛ)SŠb,õ‹ W¤® ÎG8Q F´ÖϦTÐã~:LÝ6liê"®›Ëu Ñ߈Ûô#&MZ ·¹>(²a}q=PƤìüÉð †~Ëiõ3¤þ#8Òd>¾IçAˆZw´Â›èP¬ÕŽ2!“œa8Ÿ+Œé!géiu€ãÆÁßÑýþW2íå–Ž±Ó”†Øi¹m°.Ö*‡OËôeê$ó9ât#ÿ€¢‡±Û…yG|qFàÀÑäW† Y½Ã AŸk . at„ûq˜ÁžžY³÷“zÙ•ÀŽè FëzÅ›N¦×·ëlqgº¾Žóz˜ãpáȪ—l±Ë ãý‡×¡×­Ÿ‹.W9×m0*ǧö@öÜ󩹦ÒqIö½ìÌy{Wï!Þç kÀÐß ¤HNK· ðHðkª}‹R^¸2ØàÓÜf=ÓZ#`Y“˜ (âÞ`CâÈÐ%óé÷×qì”AŒ$G\ùýi¤«þÈëÃc·ýðÏŸqòJ+ÙвˆF0;y"•.S¬OïšßÝLÉ!«ÓÉ:¿Ž¥¾z¾Æj|Ÿb¢eo!Âf•ýM.¨ïˆ}XKð¤œò¶†noJzÌ—‰È¥A-!§e€³¼Æå:ÉÁo–Ç–Õ§È6R·vQÞ)ÈB‘ø©œóf@A1f¨¹€f¦ÔÆæ78Ò}½’ðí¡ËÂ]b|©*¦Q´]®¦skgÌŸíÊÄH«ã3|*6ß!U £»=#,ì‘”€úæ¶Ý!ïà–ÞŽ þ7Ã;>f¨Õðý‰-œÑ[ÒÙíÆudª¯›¾ï|r ßo䓉·ì‡t½¬Ï_®ø§1<Å%’G#u­õ¿™z{’æ\ßGoÙ—gŠà¾Å™dM ¦. Å}6ž¢A–pýHÃÀ"§„bÀÚf'è\s06ëj‡b¤w ­†P ýÁ6P*NNìNò˜‰ª þ- Ôv|AºÓîF“&/µå×®µ?k±‰!z/ÀÚúYA‰ë–¾Ùç°®MMzl¡…WÚhÄh/Íq¶¢º[{Ê-ZLº²]Ö{ˆÝŽFÇ@<úN‘7nóLžM…¬»ÙÇÄžÝk±§ 7eÀ,IpKòtá¶›`‘ä”pJH®DzÏúlv%»_q×§[µëËkmæ©õÝÓ‹ŒKaÓ%цÃ×í<ùÀÂk«“KbÁýS4®ÃîRÛŠ5ZŸnˆ¤ñ‡‹A*·P÷5?dâÂË ŸÈN#^îÜS¯Ô™‹jƒ —g{ž,æG•^a¿¹Ÿv$AÌo+Ø·)®ªË¬—Ó–tÃnñÝv﮾¬Ný9à l"PY䉵ë¸ýrLìPÊleTQ +>n±&׈Îû%™}e-t)Œ8u:Ú¦—盇´¼˜m9)~õ——Í€=vòì‡ÜŒ:^Òç·”Uë#—•ÿ­:v0ºëâ¶qeíe·oÏýhä°+ Õð°E€¥_ª×y›l ·iZ `mÅ8À±A’xÏßõö4ĨfrrC߸úÙT5DÕ4ow퉞? Ö§žQ™€ø27CºËYRFR7Iìíú~Xߊùsïøp™ý^×g—ê&k||S¥*þu2vÑgÓøµR3ÇBùñ9ªåè¤þ¸»¹t 7Ázç­dc[@:­Zž–ä.|·«ÉLφû­ÝfòýíÈâ¶ÝÒØã.ÃBPÓ5Bƒï>iRØÛŸoÍbÄ×SûáaHD–Šƒ'‡¬›ØtóâƒlrÝ5…óœóõÈàNWœG6•êѹÓIº[)‹½ å.bÀ»¼]_|¶¹ ÓЕR °e.{X<½,žVòëóKOcO:{%3óPÛl©ü"No¿9äÇ<--º4îh`Ý:ž2iêø§y£¼­ââÎ@µ‡WŒñ»?Kõ&¶.'¿C™¬ÔïO5;™·yÞ•wžƒ­€q‘‡ž­™ár>e¡çÐÅ^È6®¼ßýAç’ ¥W’¯(W€¢ ü*¤f ªJ }]Æaůٺˆ¹ É/³â ‰ŒÎÔР~XKNÕ4ýÃJêY£ êþ,íª M[ÒçŒé‘€Y­SOÝß‹«]Ý›†ÑᬺãÚùjƒli­‰Ç?t ÅéX¯´=Ã]îçõÑ·‘¢Yñ.±Ù«Ù*íBÜ{"½>²_¼¾ì‰xð§»ùú$§WŽ0ŒyÆZq¨".c@r€Û7^ªli)ì‡wû²åŒñ|ˆPöÏÃìÈZ}skx3üÝú—u1Ù%…Cü„xzÈ ò¾° ä±«iü?LÓßap áÀœYØm†v§„‘X¨<ù™½|N‚«M…ņd~R"²Áñ×Ó:Èv¥¿ÓµlâÕnR±þ‹8èQè Å*ÛêèYÛBœ„“gST >ZKNÝßOÓXÚ)b"òÁ°øÍñ›:ý2òÜ…gØ€¢‚Câè Í$ßÜØµE½=ZluÅÖlÀÊIæ`K¿ú»§`•–ÆÏáäáøÚ_r]”«xußùZ+ÁþNŸ_'¨t¾Rø|ÅÝÿÇ;}ÿ}p)v¤=(ësSÿÄ¥¡ü«sËÔI¿X²á{+9§¶²˜Ecâ=EcúZO}ívÝ SŒÀNYTWöð#{zsAíîrí “õøjг-Cü©¿\W‹t7û­‰Ö ’»´Á¸Ç—¼üt ï‘´AùœR²n.7aÈ‘ÐýF€Û“¾Ý]õŠP‚©RľZ"`K†ñNj¾¿‚êÅ®½u¥<%Þ‘6·`€Ï)ýViß›þ.‹~ª![œ¥*ê—¥îÚ+Oj´Uv§;Â`»c2@I¹ÎhU—¼°­hâ’‘f?ÄþO?”PjÌ8䤿•î@é8£“(vÜ´F€»\ÇîÓÈævc¿~ÛθÖù[ÕÅåVpéòpÙ=³¾yS†z]V -‰»ï—ýðNUuw4ˆÅ4¶±h”ôMc1~›ï—'VlÊåÒ3|ñ èÅÖ³!Òå¨gi¬Dï€Ü¨KÍÚÈHû BœÜå‰/Âc”Ë1È¿¨`ɼ[j‡#tö¢èVÐéÀ}Ÿ±QðhGnwk¤CÎý1ê›ø¹±›§X[±ô¥e ì+ÛºžYé,ç?äMqéy¶#œ!]Ñ+•hOG;¸ù ³Ì2ÞÝ Ì‚í¶§ôq¥N;ãø%¤2ÓX¿j®Ð“¾;%¯Tùae&Pòépsê9§~$nÊ9õœSÏ9õœSÏ9õœSËIµœUËiµœWˉ «]ÕRî:Ýå-±­0̆ÌÜahí×a/\/ 0ÃjÈz"Žj ‹œ¢ñµlzÃÖòvYÅ÷äæ<‚^²—ñÿØA)eãnÓ!mt·×®3Ffû%zM2œCöÞ+݉\QLs2åÓªÔ´”T‹ÇÒVkd¶ˆÔ›öãEú’Þqo›P›YµæÁVÆi]>ŽÜñ8»¥DÙð°MèÎ}äÖ7+‘ýc¸åä]¬íìe¶EÄ—á´ùÙ4Ò~, ÀÃPš$‹^Á//·HûŒ_>ì,ôv»}ø‰³>>o}¥¥žz<²î<ô#Ì  ªYÅÀ‘«Ý&|‡Jbûïi_hí(¨ëþðÕ±ÔÎq~Ž„k–+¡°‡v¹Ø=Ô¶„wLúìêä«·%Š~Åovýö–‚6ÑTÍÁ}~؈ã0r–St¾|Ëò•8WÌá)$9'FÅ?5r]­¦ÐîÔƒêõ¬·´]ÖÛ'XMK+®¡8',§fO ½0"¹uÞkã±/¬™1å°ð¨+L‡”Ø!’¤ Ný̪?†¦Û\¦Eii½qHĆ™q»nÞ©3Þ–ƒYˬMÕGEE÷ÛCð”6zƒ\PšúóÕŽSÿ•bxÒcL.‘[o1ùâ5’],´¨‡¦Ðü“áIÓ"‹fö Gb¿²Ä§iü‘JÑVчϚBeÂüm±ä´XrŠá±† Òh6!¨O‹§]ÎB¨Ù ¼[ù-}2½»ä¹ÂK)¬¸¦=Ú·4ESœè{Qþâ.[Q?­§,¡ˆxöŽñÉËæi0¡ï|å™{èâWѶE›Qãûå.ÂF¤PÛÕÃT±ÒM Œ …½2 u^Ø[<®°—“ͯ^ç ¾rÛ$”ùYzÖm…ä†X±ñÔvI{\–I©ç:…Ç´z¶>“V/Úž©‡ŒTç®dnž¹²Ô+ô.‚/o`ËR;Ãí 7MBîôwâó$Ùö[ÓŸÒâŠW—:$þŽ8­Xzn_ÇX³Œoÿþ©„ÅFF뉑dÕýe¤Y $IgO}hÊ}ë^œå4jÏëS±x¿,Õ…)r[Q߬ò#0ÅÒ‡ …¬‰ÍÙ"„K">ªRÕí‰ÎÍ] žýs8±«AtØ($a°^Õ7ïp¬.½“Ópd˜Š¤éiÏVFdѲÂdí0ýw­9dkå= &zÚ/TŽ'ø‰ÝþÁô’¦×ÔÒI˜#1n8~#0myü¶íì4SI{¦>:ÛwàIìØÚ:$oUÄõÍKÎóqÈ…{]ºÝ"5é@¬Ç¥-;WÞAÿÓb\aÌAèÑöî Æ0—ÆLo'Åé^3ôrsj+]ÍqeO°<=Ù°.ڳ˓š¶ëÌQ*g.¢†²0]©ìIL¥®=•’erzêÌy)Ï|Ú1MRÜ~|ÇJxáñøí7ùYŽxGŸC³ðÿÖ_b¼t|IJísü›ù4Ýã€r{ëïðëÌ×Ã@*0 ð{t³~Í·Æ\ÕfâÙJ~#7¶ç«(ûw‚ÚJ-kœ÷ç+ß ÔÞ“«<|Yô*-÷| îÚ— ŽBª/‘êS¤úì_\­¤º%õ2u4ãJ)àR½EªOOáN}àÌOŸFÛW@ú+ Å•ÚØÃ(»Z\ÌsV,ù…7Öö´œêdk5+–Ì®tÔCSˆ´‡¿?¬HLÓÛ3?µ"Yo¼|ൟ%4†½¿¨;W³SPšg 9RÔ+»°U4Wu½Óê ””O´ÞcŠ^ ÑꑞÖì/’c MÃÆSÙ®[z&7Ó·'µz ¨>÷PÆ‘¢Óò0à@é[iOa›¾…”¡¶ ¾çµ뮸)2ÏçÀw—Tw:‹W=_¡¿_2¬lÉ~ qO—ÂG;ŠÎ?›¬µlGPhç`ÔÍeRDåx«9\Üvø.g$²Wpéû!’&çD:½êé¦-•”g^ט;Ñy^|»¨…Iy™]EB–ÂüÃD=Ò´%¹'5ëA 38#ãAë5-·M¬0+ÐF†¼¼ž8³ršåó÷‡ÉˆJެ3ûø 4˜ÞÀ×aÊØý/ÀµK%È@ߤLd±}‘Ñžï#QÒ\©ï ¸Œ@>#Â$~¾‚À¯ÜŸçü¾ïœÄäaûޤ+¸Íg¾ëß<êuí–ÛôuY°:0MY¨'ÃéŽE]„±dhyú¼ÞY™Ò)GÕý9±î:³u¶Ô·{ˆ°#[ç§èðà×Ù:GêÛ#õí‘úvmB+cnÉÕ²Þ=¿‚$é.³¿°-çå$˜Ñá^ìU{b='ÖsbGÌk0òÄzN¬wW&!]s<±žk9³–Sk××ÞÎ÷+Fqý"²¸Å?;þx<ô DÃ&0þù>ä¿þªÉÁ~ý·6$PÔ÷ 0$’Í‘ïO7œÓ ì²½,D-zu©Ó+BÑÏ}Ém nÝcçžz‹À([I:LÃûÃÓ8`}¡ÙD©Xå„ZÎ~ úºg=¤‰ ü9­–ój9±–3k9µ–sCS¾ÿ£¢€o¼ˆlÁã6"˜‡[ô<œ¦X‡©_ÏklŸ®—ö¬†•¢Õåp½A—îRÔ™¬q0éÅ1y]kóŽ»'lŸÓëÇÅjºÖ¢Í“(|¸™Îì 3øÃìêæ´wkzQËud ‡³£F ‚FËÃÙyXgÞó0—ß?Ãxºæ‡44CâšMðµBÄÛú(Ûß-‚"ôt–¥†e­Y+¿×4DÁk€¸ö ‘(tª3œ?zž‘ùŽzb©KÓ3æLõ>ãæÙ‡f^÷@¡ÙO9æÙí.Qb¢_²q:%/Åu›a^I ޤëÌÖÔ¤Žb#r§"°_®‹¨¦š} Êø*œÎ÷e,J@QÍQ½…¦ß`T·µàª Á´×Â]>E§†C§ŽêÕdáD; úBTU§ëCÚãRw¹ˆÒ{¿DþïmI¤ÛÏâõ´²ÂÉçÄÚ©OöL©ÆI¦»½¸i—UX OYêÇõ¨Ö?GV‘ÏêÒþ:¶iÏ„w:DÙ¹x|»Ïç|þvÇ©ã¯"„fÔ*9Ú×fª^ì.¶8¨¥Ïë?›l¸²Üj2h^}û†^ÔfgfÌŠ-}üy=uº¼i„ Ü1‡I2­ÚŒ¦§ßÄ¡Ä4=}(öL m\×%h‹æÿVªým»•˜7"×t‚¦Ñ î˜ET©W'™Ü{šnYrŠ íìãëØv>fçQÝ‚™Ù÷ O- Eˆñï´vzC"€¦óüíʇp4ùÏ?ØÄÇ· ©ÞŸcÓ}ùëøüi¨õ‹çøê»õgϱEøõÈ£mu]ÿØÖ>Ç!êsÜ6øÎ?£OË甼üãø ŸñÛ{Ô°À9ëz:Áò$›Õ·㕇 ÷iXÐðùŸûùÇÈ\M,ý¹œøF@þ¶¦ÿXÿœeç\k5«¤û´/OËãmÛ=†´9À4pkfáTÌt¨á±·ç!£¾¬Õ§Ä4HóÞÑFæ WzÇ)·& K‡.n –kÜ(¼s™`iƒKÜõ—îpÌø-HÇÇÊg´XòÖÀñaÏÇóTiîõœ¢goYŽË€lEsdVFGXÖoMÄNî^£·5¾w<Óp$¾½¿8ǹ~®“±»Ý“žÖŸGØÏ˜ÖÕ2÷~L‹Þj‚†C¡3;{Œ‘%kfÙMg˜Nú£bLóËë¹ãósǧƒµ¥#;{ÙižÀUÃìç 9;êešÂkzÜä!ü~$W9.£­^Þ⎢Æ5ußÀöÞwó|¾3ïüèÈYÝßβžŸ!ç3¼òš%±õoWE¯ûýu^¿Á˜<ø2%Lc¡÷–ƒöŽÓw²i|x]×ÛÌ‹;[gW×J—åk˜¹çs“FN‹д0ðÖÞùN?rû;#ûÈiÝûsšl¼}høLr¬Î,1´ÒjãyrÆýï§{£¿Ã´šŒ·9rÖÇÈ;™ÃüÅÎpXgÆ×û_=?_®œþp¼Ó-SŒ±ûΣ{GRCUäÕ49"¼ùñåp© •Åý24DÆœÅï~¶i®tX}k‰q>«aæ¦Ky|¨²x†Xw7‹„o;דIåä "c1Îb’ {1~%暦A†¼áêÖ-_‡¾„P;Þ¹®ûåÝ|^g”iæéžÅ dxäGô1îêvÞ(˜¹]ñø[òb¢4åO¼úÛŸuɶÍ5•ÏV½Gîë›í矘.7ëÈ5Þ¤Tò—ßÇųËS~†Ñ–ŸË$‚×;ÝÝ. 'ò~[º`7 P a)zMø–%Ì=„”Vïq&@û¬O ä¶$îå?~¬¶-zmv[2™ï@]\ÇéØ$Yô=Ìœß]î ÇÃï×x‰DØŸ–P3‹JÝוLcå¾Õΰ,ñq¬]Ÿ”yņõöýZÞ?íí5%…0ã–°èj!^†õ(Ö×X›üfá1ryVUøh gL2"cQX¿Åî>Í~N‡}ÝÁ¿ØÝ·™ËË%1Ô¨&Ïyå>ïd6µ´oYFÜžPË£ZL?ǧ×ùûñ¤¯G3ûçÐT\~Žñüý³0ä¯ãë˜"*³›…g;ÿo¹)4öÛ6]ä nyŠíŽíþ=#<¹àgûqK3°:kgvÂÝ8c¼µ©W‰Uj0]ÞpDÕÎõ9TK£F´WÂ$BÝv39¢0}ÛBïÈŠcÌ6²â0]Vöö—C.Ž¿Ã]Fäuä}Ø«ëÏçÉ]i¥ØXÔS¶÷mñ}Z`0“fËšá2}93uŽDMÜqƒ¹~¤hø+SåûçóózC¸GùÓy˜Ìº·ßÙÓ/£­m,G§Áx=¬hGß6V¬_O„pÚn¾îuì…XÃäòW¾V¡¶Ÿe;qDK÷Ý·æ .nä'ô—óM\ºl-Æ>Ë›c§«Ò>Q&\?fnaXÌPÛÍÑ3”ºr‹k.ù”ήQôÄÛ¹¥Ã·ì–gêè¸æs–‡g…mÿ ǧŽÏ ;¿¦"çw~…ºóLÆX·ÝC¶0!-6k[;{’kyõÝí‡".ˆAgÔÛ[½Ñîl;[ùi8{ê™>+¨zu'îbÐ>Fš*»y<Á»¡f¦…óM¡ƒ ™i}vŸQ÷mó.ÏÏAûJ ÎÅ÷?_Ÿï‘0­dEß(ñ¿E¿ë}h–ÖßÓ.èDÄ¢…½ŽkÕxhÅaJþ>F%KvõT€Pqߎ¢+JÙ•‚ei[¨oÚÐo+É4F,u ×_–VoùË·˜yÍÈÿâÌ|oj”TcÆ­—bÂÍ Ý  6ÌŽ¥®ö”H8N;ÍæÐtVþmÆç×úÞ©àx\ oktá1ÒB «Ã¹#õ­v+þº"Õ²›Zc¬ÃÄdÌì4ɆPÒ‚öÄí‰*L+`æsžãZ~ÿÉ&ŘŸÁŽ<æÙ'> ʶUÏtÕ²[Èóù¬ýì×Éx†4Ïñ’[—Cy~öÏAÅÈ“ý°&>ÿØùÉþ9ØÅeFšáö—ùœ÷NT[+Åi»)Þ‰Î$V¼3Èj‡+*µ#ÁɨØÊMýþmÐWË‹­ëÍkKžnËç¾ÒɹÙ×RÙ[\âÚíá&bºŸ°áH`¼]¦ÚÓÀØ}|?›µåàwºÖó'+›[} L†ãK|~É»áç·˜»u!)EÕ® "ÝãU´Œ}qŸ¸yùüõ§Þæç-¥Ð±«uDóu53"¸,ÑTõµ›ÐKÄm%[u¥ê .úÿLAo~±ºÚ#Û©g¾>Lq¨m¢áSÑSÐm'ù08ùP'Ìa¤Ýé†÷Ã1{48;%Z ª#C2ð/Te-"Ä‹F–Eü&Œ]‹æi«7œÍ›û$]îþAï·%ÎüÞæ÷üš-;ßs<òµ¾7îçk«ÏÑ¿øSyiäõ—”—?V!žÛ†HøŒÇæˆ2çA;ô¯ÛmhÄp—ß+‹ãã°|LÊîÛ±QåÃvéØ]EqYâ~îÉ»ÍßÑKf¾,§Ï i=^Þ5‹O½wJ(A½òy}ÊGÓï´LƒF—ô-uq]_S>P˜:k¥Æ{fR˜HS 7ãt8ƒ)ŸÁ–+W­»Í!v°|‚Ìáñ2ü&Ýքŧ’^í¤qK/ °Íû΢xÕ‹kžêçšÏq&ä>¾JlëróÞi5À둟#ÐÀBï; ÷X¥O¹ œ°ÿmð{ËY`ñ­-ÏüébÝìBGxzÂZ«˜¹ò;inuS¸HëÖœ¢õ§¥ÇÓÏ=ÍÏYòo5àÓúKýA6ÇIÙßC‹x¹ FR×QsíŒaþ1“‡Ô¶êù{ ¡5šg3E)Ê7³ýê›ôÀeãÉùÑ|Ò­(/ʧ߉øïmÓ­ *P™ƒ€=a–Gw¾CÒY¿CÜ—÷ÊûèÇ0¨ÅIÄOÁO~ÜÏKßyŸÞžjõ‚jvJ]i̧öt&É¢]o8Ï ÈO–üÈw,x¥áXêLJ÷Ú )áÞ(Ô•7 íÕXë“Á›6=7!ú€÷ÓDØlèÒ3@û–¿ô¾Ïà€æ<®ñMWÙM¨DÅ3å™ó[Iðén*u>!\›ú3RîÛ”û&l=U颙õf¿ÒÃ¥©-5¹ŽüÎ -¾àr½Cyþö?»rÙtV+MãY:N9MØ?êÅ ÉÑcÚ~]ôš²Ÿ±ÃíQöRz ó|=öñê ZÀxÇê<)¿›Íí§°@ÎÉ);÷þÞ>ò’©r_!éœ_$ªŠÀîtïŠÄ‡žFµ…c©©@¬ØJËÖAã’œ5›ä-Ø)wyÛ¨œK×4$ªûÌV¢«›÷F‰}ަŠöæ‡{$•©««8¢H"ª[µ¹¼ÂméÝ£oÐiRKÓ.pà(ShîÞUo7§clvM&ì«k{€7ösœ“¡‚=¤à÷8í•5yêÐ-Çáßm Ô¢\|¸ZyÁÀ=°=’¥ðá¬â [×[^ù)~Üù+vî,$œÁ÷™ågˆwMÂ~‡K«?çZ‹D4;Øþh\B"s}Š>¸æÓ0êÂ.kHD°]¤²NÃn§F.6>MSæ+ŸrYÿ¢•%æ—q7Š©öhºy2N•«xÙ6cÚHŽã¸65®‡º§çÈÚ6>‡¾¢Î2ƒü ŠíZ¼ºkTß*ƒÿ¬þš¨Ë¦&õU8àø7:§Ò «ÜÆPš«Ô|¡Ë'PH!i>M¾{ûÕ3˜] I´µ\Ž1ŽC=Âçø„µiïÄ3ê:ZÜUIà†&Û>tYËÐãˆãUh KˆÛ=ÄìÙQ¨ÿþL¯‡°¨äëgGA¬#„ûš–Iî—9ߟiG!ßmNgqZf[B.b*·ùˆrœöÿ‰==¹”ÛŽŸn§Jõ`žZí/¾Ý_­}tj š _OûŸ¸{sï–óf$ÕJŸ?ŽáÞõÜ»õ%vx–ÿç5œ+Û(§ï|ûTì! ·Ýa>üØnþ%³â_?H÷ŒtË´±^Æ\E†”ø5*n²v¼)©Ý’ÀWšéªãVŒŒ'ïs˜ôòéwʸØ~v?m!ûœ×-'^*#ÈGRìMkG“z*¸˜‚ôÈÿã¾ÓH†‰Š¶aÑ©yé]‹èÆ,ÍcvÙ÷õÝçRCn`¢ŠvŒôÎóù×?ÅÙ…ágó$ç¡”y±ü¯hª^Ãür*yq廕‡\‘hOÅQ2â w·*„Lç‚Àí·$´­˜®²=žb¸O|š;m'æicEs˜C ½þHl×6iGŠROqb¨œ¤]ÇQÃI‡d|qn‹ó-rœí†M3²ë•j"þR©P„q8¸o~m=xï‹åŒ®{j„º£®^Q[vÓ‹ŠA> ÓiQfâè¾ð¦ñ¨Ë¤ÏÁ¤LÄîEç¿~4UÁ˲׭xëd¾œÊh=En@Ÿ—ƒ°jËœ. ÉMã#Wï3òˆó·b|…PÛ5`êŸ1ŽÄSqŽÕ\O®ƒVgf”[ÿÚ‘>I:ŽÅ!n‰‚œ÷ëaOÇËï´–°±ÈÛ4§Ù80l xª›5\›a‚³òUÊ¡ÄÀ[ªŽ‰Rp­y[Ím‘±÷§‹)éÜ“C.“ã­)æ'ýþjÊ…ŠsºH1¸3°ÕÔm{lþO?¿SMµÆ-xy<ÀQ\Ÿ>¢©nÊ/í‘rºg>-´$ÿ‘/AOSi ís P9U,Þ†AÅ…Åqhbu1Ôlê±´ÒÖºñiýCz¤«­©O“ŽßX{ý& þ ù_‚„üŽ€ù ù?‹}¿ûzLïÈûMyZ†¾<™° /6ÍIºvµlÚ͆$¼†Q›Öô×kÚùÒ¾>T²¦Û]DØ6rêé® OåFåG«K¸Ã¦qòrkh”f =þ—w";êGuu}i‡™™ó'B–Ì y‚©œð­ób‹®‹·}²–ßK§8v‹ƒÏ¨ ´\pUW„»ÒsQ寋ñ¶lÁ¤J6ãn~ŒL)=-Ãx}·H9Gìo´ìAz\Ü•ë »,68\YÓ­Š]r¤Håu]½¡ClÓ8«ï¯0^þÞ«¿ž¯B‹9­š•]›Ç‘md`掌øÿÎ8®®˜1mÛKQïé!Q¼Hj¬( H`O‹QÍê‰DÙuA@‚z­Ü=ÜöyV‘rûgB÷ûÒРUŒgø‹wôçxÊÚì3¬gýÍ;Z#Ð8Ö¦zÂd5iŽuh:X)ª1š#eöÀ€ˆ_rå@ãŠ-óSfK³Þ#Á·Ò>gHŸjmS:‰±³¾I̾įrkö'ëiJ lšïȆFzåSàE á;¢ªŒ6•‘‡ÄÒx¯Å ÈäÖŸjÛGKGh=ƒx DËVêïÞ¢Aµª•Aå úèàO‘¸ƒ!Ñ1ŸÎÓª/›MLpÄ˦FÂLr$[S|Øÿî$`¬ë¼ãÒT“/$bMLD3êžÖ÷~—Ü–FzSÝÂ1R=m¼ÖÒ‘°sþã×Ú19¶~j½r¯´ŒV艞G®ª.ö[¤kbŽTª9Žx¸?ÇtéŸÊ=¬ëŠq-'~x"¨3Œã¯#áéˆÁç ¡,½Lu‡z¶©å‘^*ŸC×,¼Ój{¸…Ö%¬þÙó/ÀÊg°sÄDhýå=ljh`õr›wŸRIëM-^—s9\ÞæŽôø/ð‰;øÄƒ›¤!Ä‘díþþ:n2~â&wp“ýnrÿUÜägÈ÷x¦\Ÿ¨°Úš~Ã9ο€s´¿çhñȉgN­çîò{ð -€¹\ôsŽ?¥þŽ:ÆpôQÒµ,,ÏpÖ]„ì#ñeáÎrדïô¬—y_bOÕ e±kÃ?s\f?˺]¤éæç2Ïæ÷Ùå—Ö$n›ÀèH0Æõ'«:t¶†ÓŸŽ¸Ö Z<ോÞðË>X§[­o>€5„%¤"-¿~ÛØ9ißK}ׇ Ô!Èî >~[Á§&`õ×8-ð÷9PÔ –Á^®Ë¡²4F» ªøP ?°dÖózlûíŽBQ…b’v:,gÛ À¤}Ž]I¼àrûʰ™`Ý`¤bƒ¦¡Ñˆx:öô—ã!_:Òº9*AËMã¥þ]%œ®‰¾?±•»™{öXØ~4Šr YÞöåB¾4è0™¯³ßÒl^Føš(|5Ÿ÷È×穇}³nÎ5MiaÉF(”¶S¢¿ÚB ¶©Ê ©ÛÉíÅ]J~‹cúHrûÒëPÆÒATDä°\Ø»É\"5ü1™Ã…íïKæîoÉk±ô 3§—ÑÂIvNŸ÷+Ë„ðäx•Ü¢[MçN̤ãÖjriwrX*>3›!·¢/ß¹âZÆéKÊÍÂ1Ž#×}…sÌ¡âü#_ëÒaóÿšiu‚ˆ¸)´¸åW ^ßµ™ƒôþI‡*¦Ìdr;—éã9\«¨šäõxYëÁa|1ú¾g ìҋݨB«JCiŽòÄËŒŠºµŠûµ)"ji(`gö—mNH§àJ'Ä®»~%íù KÓi?RâؘF‘ß‚y‚ï3Ý¿’õ–¯ilÐìòÛÿÊɱpM—u ‡~Y¯‡´{–°4Oä^ã±îÛJD6Ç×±Û ØÎòÛº3g]²{TKÐT…¥€9מXÔ^îi]ÕvDÖËcvéØˆ}GüoœN~nG*Lô²Žös¿‡aÇ~Xlƒ _ûÿ­òàtRíu¹f̤µö ÕiÔ÷‡±¨0çø1ú˜1Jµ±;Y…ZæK[;(hºº_º–Úý7 -™î>Ë ~éJI¡ÌÖÌÚŽ• I³è?vh;~N§º~6³›åèts7øoVÆþ§+vŒ<ÿç*loůÇÛûß5ßú÷Êw¾Zmòá×8V€ÆÃf>†Ð1å>“”“ ›ùöø ±þ4İÒ-Ìœ  ñ òÏ_bô¹B3žß+¡j`f`Òå(]Z!F[Wü ·–a—3ž-¢Ç{†¿S(Ü©÷!Ym—çÒö×ð ÎÖÆy³.ƒß å°¢%¶˜lÿã7”ñ©#¥ãÏÇÀŒ¦’>™küØ€ì;¢°\‰gv¾ltŠ/]ã67KÒý ÙþTÇÜnÑKfü•6sª˜8¹j·Ôc™ PSïŸãòñ9)4Û°9Bkú 2·=«lºe¿àÓ…¥Û5 ¾Èñ•â»KCSQ‚”“3_›†sXVµÑE)Eô+d®§Ý'Ö‡H4…`ïpç&dznäz(‘§=‹8¬ ·qðm—ÀÆ„0™B+@”µY÷L˜øPJ¯+½Ï¯ÿë)óÅÓuÆð÷°´­‡.]@‡uþîÊÔäó<"@¡ª“¡û´õš<ñùUH>d›QI‡ÇÀÿv™æßÃJÃMöÍ…\ÓÜMè4ØàMl~­Ç‚åy²Ýl_l¼S8€rÉ©ÄqX:Àlð´ Jýðzè'ÞíÏã1 8M„fÄ #܆ÁêršÝœ²«ž†8m0'½µ&d'äÒΨÄOâ.luó¤æÑ•»£×?2‚ž=¬¥¤›²÷v¢®ûá¶ž¾Ûyüöê]W™¤Mºão’EìÎfrgoéûëHO¯äíŸÞNYà_ëõ1îíF(ù[²™ã™]ÁS> »›à<¼Tl÷)ùbæ¡eŠ¹Û•ûÐp`¥`ÎA >EÙ¸ÔÆP¹%`ò–ª™.ÜlŒöÜBõè©kOhÔ›õíûm$˜Þߊ ÎWˆ3ÉN»¿Ž@¡9ŽTëÓrDºÁ•PÃt˜@œB†y±Ï-”š¬M1Y¿,ÿ­¨ªgê¶Ó¿§Â‡cE6dp˜•Ë·ÊßÊsÝyÎWû:þ¶™ÁÆ™îiD‰ˆ¥dRgO#VX4ì–Ѓ’Qk?·³1ò•ä|"æãú(¦£qý{â͹´ÙjÆ/£ ¦äŠê4кjù6Mú/ƒ>¡¾·Ðºf b6%k?Dé—í5+$ók‹ªî¸-ÞùòÈÓua%.¼y.E#Ô(%*I0IÜf°š>¨Ö¡…_”ŠI“ƒ‰6»Â7VÇ„ß[·.TÌ,Æôï­ápù°ÒhíO¡‚F|lçó0žuò‰^ÚgÑ?œGô^e±V0±ó>È–‡9ÜE6g»´4#Ôª-;ÄO[½i!x¨Q™ )$Îø8HwŽä§aˆ–™‹ÜŽiu‘Éw('gÐh˜D‘ëðŸ8žv”èají,¸‡(Þ`æ9ƒxÞ…„¬¼Ž´ä®­½ò“¡»ÿܹÑy¯Ã8 œóPùG4º úL´œ.ÒzÂ8?­ô8÷qýucâÐß²¸ðÜ ÷z”sdÏÂß¾Žl‘F¬Ä;èÒ¯Ç ¯Š«ë…j¥­$¼OÒ~*7îé©*t~º€?uÀå±O‹‰ëg=fòâ3+qŠäÌ€pœÎpœbsHoàr9NÍ|íÈWl,ä©-yjSžÚ´ú§Öå©M‘¼)OíRðذBLuï[`Úþá© 3| @#¼׷ZŒ½¹Es¯_úþù ‰´ Fµañð9M¬7Ý÷6%gì$¸hjãpŸ&Ž™ùúoŒùÿýU‹ïPÒ…­úUÉysÊÔc¡ž |.èíSŒº~ÖîØfðw˜²s'¦[ÆÄžø Âû› vÜô¬-K‡šæ÷-póé&"³ÿŒ‹ë1³áòAõ«Sz§Q[éÒu`’Éåuí¬éyÇï£`Xåy?d+ÁŒ¿?R¼Çu¡î0k؈ìðù¿šŸóû3‘ùOd¾û”,ICC:+ƒ¨|hR e!‡¹ˆ6fzMåeõëÕ¦BÚu½M+? […ñ„¥‰UPÆ(¡ ÝUÊf¯b¼=§ö=‰Ù~Bƒú@p9"—“Óé@'[Å\•Ÿª~±Œùy©}àS^îÏ ç§NÌçJöc¾oûå“s&¡¿ý<~¾œSœOý}ίBÅ[W¥Óüe‰Ò¤Y-=fv…¿BnõVƒû‰æÄ¶ö@¬†™k­¼£·il„-5݇LsJª«‡tšÂdö>Í’!¦m³ãÉ–gâ1¬¨‚S4F\~LÌE`xíWº¥tÁÔÇö©ëˆ¥³*¡ û–Â(wÔ°ä?¬A E„vgh§>Э-àg(ï:î¸PúiÌšJ2BÅ-ÀϱÝ_¨.tÞ!ÓæÃìåÛt ²Wö ¿O^gƒö‰KMÁÀ§DñKO¸Ëlà¶ K6E§ìL¹¡€…Š}“ oKÛ0âXlÂCÏâöxL·8þ;M‡»“´îÜ”S £eSëæH$qs?yi·8u©¦9С¨P¾¤«dMùåUDñÈÃ@’ß×M=‡@:(Å ^9QcSÿ¢üÁ,YÞÍd ¨¸‡‡õÒgüe‡Ÿ-ã×–$ãóõáçi=rˆ#Iò*wŸ©K,>ÁæÝ ž.?L­©æËŠÌñÛðÙ†Z¨¢ Ø]êoëý³~\Àî¸iÝy06øMÕpD]Pƒm‹b2œH^ƒb6Ù8 §3ôãÚ¸°épBfà@»U‡ÓÊ0Z-2#“|Û’12œFP#K¸ ÎOɦŸ2û¤¸S[ÿšp'뀀@æ²Vcæ|¾6içôX UÚ˜FrXz¾®ð°}3Ù½vÈw,øµš¯xŠ+†øs“Ôý&ª™îtÛ){ߟjÒxú§·#zå%Ñ"´n-Ä‹æÏ‡û·¬þ¾vWá“ÛùJNÞm µà¹›Ì 0ߌó[z’#´¥ÃФ†Wa{Ï莤ÎOÍÃKŒÂXµû`–Ü’332Î’”ûÆîÆJ” ÿÉ3\íàgƒ5gæ¬Ã‡èd­.³òíFûÞñe¨ËÆSRv²Aų¸IPL&ÒR ýN­ø1Ëâx¬(,ÞBœdÿD¹ål_-ÕâS•QNëjSTІÊüfTmUëyäR¾ºs‡ÕÙöàaÏ ý;/¿wý|(ëÇNeuÉYèfˆäÖ¨ïÄŠ§³ºâ¦«åœO+»g ÂÎ3ø`îO:B«¹3“'¯»÷.Ì)Í_AùÿÝóœÿéÀÿÿX^Åz6 Ó˜Þ®¯Oi>¢@PÌ#@àJ³¹×³Ÿ1niµ°$‹êOz"táâsrzÛJRÁ™¹Õ³‡;zç¨S„Ž;#¬€;›ÀÌëkÕ–:õ<¬ò‘ð½ùøˆ] ÷aB$¡bd²Ù„4 Ce ¡Ò›ËH²Fo~¥¾[³óIvÌH€Ros–f:•ù0µWý¹–ÑJê›ò¬VtÚŠw{TôÄ­wú¨Ýi]qĘÿ°Ç"~Šé-û†j5^ùä—>¦ÆïûeWª`Ä]-D·¦d{7Q›ú/<›á.+Ý"%Ìã9®/®⿞É!Ï Ùm'”†›-½Çg2âa… }Gó&x'—€S²F ©ª,ž„öuº#Ó|2d†!iå)¸Ä¿kÝr­½¨cá]cwß×¹’4>¤æºZ1¯Ìn¢èF´>ž1º­óü x_ß<-I^Ÿ.³ãÛ”(ðÐ_›œÅÛê43_‘¾Û…¨Ùb4õ®Ç6ö²%F™îÕ,À ܈ÔÈz<æ›'AtÝúðDy"&©Ýiò¦<õœW*QŒ3æ·¼7¢Hòå I“ï‹×g †fÍݲwsý » ¦6Ê9JY%¾ÛÃÚ ö‹ùv:ßc†¦ÌõÖâ²þ²“ M’ã‘LÆêJ™”®|2®à…‚È\µ :ºÞû©Ÿ±ËªžŒ§Z,’wõä3cjc`&à$ãÁÞŸòß6¥øõ{ÅÇrQ–” åø&”xÂó>“P‡4¶’xל¨1PŸGzv ózÞR²jQáuëÞTðj·|ÈÕ‡–#Z|¸É5tÞIÈ©ÖÕ¯íó.ÒÉ— ™ɾ›„Mhÿµo• ×0—ý·à 4Ž?¡±?¡±{h¬÷øÍs(=ÕÑÇê¾tÁ²ÇkOÙ<ÐB¤`—m·(|/Pœ6—3Ä=…ƒA%tîxÙô\€ÓN¬¹Í-kµ'רWt¥ájꇇ( ™K:=Ñ!Ïb3=Ïô¤K“£€&a+‰T¥·Ò©=£6[N}Ì´ãÊÂH°þ¸ÞûÔü²MYmZGÜÖíB+Öí ¿ø‹QùΠLJžÞU“Ñôn-KˆÉØá°L†œKËDtaµ[ø,Úr‰lö¾á Ôx¬ >Í5ŽøAv™>üBd‚u ½`a-¬´Í°‰.’Š3úÚ‚VÉb ¬ð;‰çYiëú»„˜Dç “èüTCos@<§» æÃÜ ™ jy@H„óß)üÜý àî΃xןf\3IþɼÜÞ ìMÆöI’_tíç=¾Ì7<Ótç^«©¹¶w÷·(AŽ¢.$-9ŸXgKOøYv“pY_Ö<12 Žëô?;›zI¶tóÔ„XÜÙN½‘Øð*{’®W p;÷`ÇŽý9›)RûÚÓn‡‘Ü>è“^Êå¥è“÷”. qç«ÿ_ yäñl7I÷ÝûK3åŒ34O³ðÎá€!á×Ö£?’s!;¦mcÒT%(ÜÊn%b’ÓÅérá—z² +*ˆ³ŽÈŽS°eåì ®PUL&[¨ƒÂn÷Ý/ñãõ%v)FÛ+„Y¾ìw?ΠJrY _b‚Éù_akžRL€LWHÁt¬([kõ©<êr¹‡|&æFZD-®Äb?Жõ`ºc°¿-«Î¡Ó÷q² |ÔÔc*!Sï– ) ~y¢§R³SRÅ:?b9,ìu8ÍŒ#‡;Þ4ƒfá:h—EÛ¿ŽÌ¦k:b3ðíþºWÝ YÙVèÞ-‚T‹kÌ ÆçðÖ—†îvKŸ›¢¢@ ª_ߦKÍ!ÞV•Êù¿¼åpvtúv»¤UŒtû8Ò‰Zä|XƒMD‰³»k°öu÷å\ŽËõ€§¹zga§xv“ãÌ'17q…§»â8^1xY烤©ožëvU€Êjž_P…… ðka9¥Woý&Xç+xýVpš‚×¼¼é¼Uñ¹ÀâD“¡Ñuø×®!Ý&å•Hðk¸ Õ ¯1zmoòÆ·ËÛÔèm¾Løo2@ÌMüaø¿þï„ÿiÿZÓ5ü_ ÿm«’DøŸ–÷|äeæ1œ ÿ§áÿ&N«‘´ì¤»m»}²·þ·„ÿiko— “â„ÿéþIwBã$ÃÿžðÿLø? ÿ-{\Þ±Ç7rþ#C½è>z¢ÿ¯$¬ÛKCÉKWÈ01 !cwSÂ\h½ž»äf1‹ÐFÍœ–¾Þ¤oùþåS&R>U?¸i˜°QWˆÏÿ;ßK<[ÁÑ™ ©âÜ0*ÈtX‡› ìS¥9̼j*Ünþ·lNÈé'¯†VK—Édp‘“tÁ~9¥Ð¡!Ú¦ø=u[tvGèïG\ìn5®F·ÁŽš—MùmSJo˜&ŠS‘­§x zÓûïæcn§ã­°¯6Œ#ŽmæÝñ°xÝ-p©ŠOZªÒ¤M¯ŒÍ™PØ#ÀÆ2\ÞCÃ~ú¤ðÛ–TÑ4Y9;þ€aê¸y‡Ë¼è©œ]y&Á^žÓùÿÅÓLÚ$¶âŒjVÖ‘ÛÐ]@"+5äM2cR…/ ´ú(«¦2¢=hg22ù¿î2.íúäÅ]î@‡AÐéèYÞÌ¡ü÷±ß:\½Rp46œÒý·EÁK„üv¿½]¢.¥'ÕpÕlœÂòò"¹ß/»Ýt=~Oû ¾B¶?é‹.æ¶|~a§aãWÞœ[ˆ\©¥yÇí·ÛéS ¸e‹rókè×9‹…Îü cÁû12eàoäO¿-5¼e¢Ö«ºúèÆ¨ÈMÅÛ1]‡*‚^Jw.‹ ñ¸ ^ €I‡¸äuKzyÜûõ ‚>SãIØ;F…§¦ïÚËÔŠ@µHU1NIÒœIðHT3–¯Œ§™Ÿ±õ/#ÕºÃ5‰ûÖëãCaÕ­yAಃq»²ú'ÚµL’ëZ3;¨¿>Í”R: Âÿ“@… ̶â»U*ƒ*x!žËë­ ã%9u „¥ã2 £Õ••¥ájÔ”¾*7•F}ª«4‚Õ]nÚÁdl™›¦Ü`uG°º¬îV7ƒÕ?±:Aß°º%V×Åê±: è|;ìV'WÈN‰-­è€êÎ@u;PݨnªËÖÛªÛŸTf€Ñ¥:Vñv­'òÅK%jÓì`ÚC‚÷ׂÃG˜ÿtÎîà<ö Lù \{Y_ZCWžðºSÛÞ g7©€{v*£G0ìh¾ŒØWèfÒO xhÑ Þ%ÀÔÅa^QÇš€J »º–×ß Â Þ^ß{Ð5?~sJ$– ›8gSÿ r7_6püI âú‹;Û>ö”×±¹9C£gaIÙ= 0ÿ¦.2_%Éõ³Š÷¤Ø„ƒý!†Ÿ=ˆÇãî(®f ]é¿Þ Ýë†Èí¶f}Ç&@OË”âíÏ;E·ž#±G¡ËÛ”ë–wat¡-*^±b·Ît3ߎ½:·“îjur—Zù[™[œx'N'y›KýåeÖwŠ ¡ß2Zq™Y†84OÅÞbgOõfº7[Áɾ·žÚÿõ9ò |[üt¦~hVFÍ"UˆR÷`!i8¯¨°ŽÏ¶xïþäåAxþ—p"o7>‰–½‡ ñÛr 6«ZঠŸ>l Gе™…’X÷ Ö°ÈCòIRfG¶AxdÉ9›†1CÔ¥üX˜‡Mø»¤5ÐÑ´Yb¨C-ð·~Ý£'~~Êçò<ꆃÒè8ýŽŸtgÓd×MŽ5Ê"!Ľ“ì‘Þ·d@"•æÔÕ´–ÒÐf?ìôͽý=pÜ”Žêï—öSoèkwŽÁø4û ‚ý2µˆBÀ§ÛŸãEXéžÙ¬@1ø.纲±©Ä%Ë‚—¡Ç–£4\9öó5ÎÇtñ扂½Š]‡ÔMÂ.°–“)] ?†Åá ‹Ø[?.¬Ükr ­é>ºöç`8¿¾ýÃó©½’Mcɧ¡ÖŽfã…äé Ó£€šªVɆgÍëB¡&"I;\uÓÀqØw„#ÙmÌ×@·‹%¶+q>«EmÇOÌåþkTšýqm~U zç†KÅ=d©:5 y¥6i/—õÙŠÏX/¢Ô¢y%7 `ù@rùi‰lýŒ:2LmV‘'Þ|VÙxT~\´vB™S®áÌy„£q›É„L,<Ímqr~/·øòå<\þñ³ô‡ÔuºhŸå‘XöÆ„ìºcC| u6—GåTtwæÏ…¬å1󸾖Gø´Sµ\UX5.:Ð!o?4‰ÃOè,¡cúÍâ! ×I(ê!’ e¸©¼]“«dbÌÖiý-ÄKñÍȬÇ[qÅ5ƒ-ò¥]„u$ÑíZ‹;”Ô™%ŠÇ5Êâ\HÏͨ‡´{ÅÕ oBS ÓÍËýÞ?‡ÇME;Î6žîHÓdZªš¸™áb®EÈIcøiçzXk—aØJ_î÷g}ùÙÀ¥`¹‰—î KFç´ -Q(‚ØE¸e¬Y"{=}éè½àTrO§õ2 X‚&x4Ïiüˆ7pËZÝäʘSé`לÀ9¢dðóöØý/ÿþ°¥[<Àá¹â‘!}‚eG¢®Î c!H²\@¶>¾ÎïOµÌ¿‡Z¦Ë¿„ƒÐ²mñü/ÆÃ­‚;ºPÕ«Ó‘¾Ç‡øU³`ë:t1N¶àö)‹çtw¨Þ\êd.‡H[ÙQî8ê´? k´'‡ ‹Mw˜ö˜+È“¶šÉ°†—Þ¢— Ý(µû‘øƒaaÓ:Ötí0­–æäí…PzZ“°ÜtÎùýOCë?ÒÿMÞó߃Çÿ' úÜœÐkZRÓ²‹òDÑ)§¬´„ŠŽ Ýô5³$½¨VzQÑ—mEƒ»£ÁÝÑàÎ@³%BÇ¡ãOYß¿ÓBuÄÉ G“½ãd°ãdpÆÉàŒ“Áùx¼ÆÉàÌFwÆÉàŒîi©³2ÝÆŒ“ÁwÍö0ÃÑÉàþ qþŒ™ÿŒ™ÿQ1óAÿØvœ| ? ¼íèõÙãÈCº<άØ=¤¾Å"Åà¾#½’´¦¹´­lºKü|Ê 2³/o*fO·š|ÆÇJ<Ž«H"‹Í>®½<ùx73 V'} ,šÊ|³ddÿ¶ìŸ3ù!„ùV¹/XHvŠÉ²%hÈÕ=Ì?p²iS“CVeúBÈÁFúÈ)XÝß ÊSöbK:u9áB/_Õ‹`Oëg‰ÍIݨ(“ê4¡†Ïd<ÂϾSÏ3Ò*è&w¼ûÅwÏþu¸ä\:­Bh½íóI_=d)RÝb¸œ†4³çxp¹w˜ëGh3¾‡6ÝÐÆr˜ÒoCšg`ÆW*Lý ©A–ÏWê–ˈ/¦?ñÑQ'L -;,Íå‡ÉÄpôÔ¡­¬]lù³eœµ\Æþ®ÀFúØ#Yž¦\rIÕãøM"&>²6µ„#9~ŒKµ¬ÿÛdÎ[ =¹ ÚƒmÆ|]Í­tD[©„€­sÆLìR6Øã^…#j?"¿rT¯‹ëè~#·Òr]-“É]®!_n§Æ—´[‚!2]WÏýŸtÆx¶V¯Úò·íˆ=n«‡¶žšá]q1ìä5·e®}ñã^/û¾¿Ü W˜s3…¬¡Šœü÷B•¾º©"ÿw=(¹“ÈmXèªÏ›Ò;C‘Áá¿,t¥z´þÛ¶o¹íú‘Û?rÛã‘˯è#®?ÒÇîáýëø¥C%šü^`úoåªóS_úVfúCùÖ 3bŽ¥p»YÄË~ÓH¬&qºàùñŽ„{·—@rA+î8d/Sœ¯Ñ?(ˆ¿õkKGìá@J£¥‹ÑÔ„ G­ãú­·Äb AwÜDóY¾Z–¯áëx¯fd…>ÓÈ ß÷ðÜ ”ŸrQØ>Ha’yÿCéÍijÂ÷­"v™ÀŽûS‡'H¥ r½>mAlV*f!ålj›LEB7&Ecí”á \?‘¦ÇAq¦&¨å 8 ˜VÏÐ)ܨ¥„ ‡ÓâY-‰§úwÙ¿ˆç;K}4ë§ÅÌ* w¨ºõÉÕ«2ÊXÎÊPpJý¿`A×=}› N– Îíhn¨'>?Õ«b#/Ö¾·C¬²- †Šâyðѳn#ÛÆ™šš7{¦½ßÇ´õz(…ÿA–ü¬Z‹ÞÑù¿OiÐï+èe˜![û©^óÛ?.9‹ˆ4©ËÊxŸ’ ß[}L°lLÀNCðÚȶtÂÿn› ¿«mÑ$.ŸøB°AåæyÖÿ  ø?M.’¾Žj?þ!åÍÔ'㎞Z8gÿ3°N-,§ë‰â!Õ´©hÌQ$µÔÐþµ«¿Á—ÃtäŒLØ´ky-FèËN³ XÞC×Üš¤áš³«Z` íxmµgAµ»Ûat‘}ݧ`6Ë¥Èöhy&;—»ýÔáQ1-[¾!lwPSÛ ËDúzl §v€{t_'i!XlÊëjÇ‘Ž5÷ŒÍ¡þÁ˜7OC›U3y|3ìÛfCèÒöëi#áÒo  Â63ˆXC¡µ*æ5 sƒ¡Yó·+>{ÏÌã¥VGõÅ#ÞÕ›¤V¼wî¤Þ#ßk#¤ÔŠ*f\™Vÿª‹b§%hüÑôáB-í íø<4±¦Ía¶a,Ö·3½I˜!ü>­s‚ÂR å>m(Ù‹oV†³*Ž9‘xÝÊèÿN*æŠy…ŠinüîbÎï€,ït//ñ½;Óü»ðu×o|ݰbºM‚lED˜Bý ëvnaÓþ˜9 `6ºš…Uÿ¯+Ú4Ö:qâ¹DJun•È^Üè+ìÌÃÝ‹i‘,l6R2jYœ7 iÍ%÷vÍc‡¥ {ýÕñ¦ýøÑ > /9uѾ¿Ý ¾f“_¿¹ôOMâL3]aVÀÃUWL/”?~Ž@!# *]¬FT4§kåž³ë_…ÀðXWfRÃeýú«[ÎáZ…"2ÐWÍðK‘ÆwgT®GX~?„ÿ“«Z"ŽùN K9$Šº­ÜÁkÎ#†zË{u[»­@{$-ý@v@y± ðÕ¤ü´Òy¨rþ±Õþö²É–Ÿt bEÑ®šLPM:$ `“¬@g§¶¶ÅÅÆry Š–K3´©½¥…lK³;ÕŸ¯4æ±µê)H¬£ Æ)…· t«-”½¦Ï©WÊiNÉ!¤ü=²à»˜&‰À‰ ×?_iE3Y„i·š¦e(d10Á}ކ.ŽŸî0à“¤§–äCEò’v ¬š{ÔÒz›{·ôqiAÚS®±f°è(b¬Èä…«Rã¾ÂïÒbÚ"ˆ/± Ðóø)“Ïžœ²å8¦ÿ\ HKELñk6¦ 1W“iàÒ€fî\š_»êò=k6d‰Z#é»^ZŒ[ñ uöiTŽez¾b|#Ã1ò®ÓªÇº¥y»<œ¿Ú /ž7.;gõ"úõAtÐòwºuž;ÀC]¹Åë›çæð<&•Ym©[žÐónáH­ÆU¡æÆé¬§‡Á³Ñ —ᆬ€|ÔÀu8ˆz"˜MÞõN›—7îA•Û W~ï¶$P›#f#Þ‚é¢VžlÙ ‰*>èBcƒWO_?2÷ÒzœZøzÈÇ·!7’±m¡D±°V¨Iî;‡o×SþoÂR#®uõÅ8ܯû“Ã9 ÐÒ»ÁN¾-ÇZxhL­Kë<¥Äæ&NfÜ ‡Ã|~BÅÃÒ¥ ‘‹KÃõO› ­uêU¬A·‘Ê WöËN¶±õ³Û9—®E·¹åêipwÝÆ¶5inÌè¬W´ÃéîŠÄP&´…"¬ŠV~ÁÞQ«ZmXŠçÞ y{Öð/º†3Chzš¢“]²I–ÁÇ’¢0…ñb¼…˜âþ †Ü]—ìåB² OoÑe½ Ôì €ÏPÃïÐÍÂ?† ߬®“¤sÚabo×ÊŠ‡µm²!wŸæ¬[P¥‘³šæ‘–ÑB¤¿œû DÓ$­;TïG„ÚûsBßë~êv7…MŒñL æ[¤õzÉ,R4vHÁ&žn¬øïaÊí±ùý©w"Z¿¹êmGïJhêZyL´/ïiÐÄMÖÅ@âc"ýM(pD Ä)‡‰qjYb.möÈÃì8¹½äÒÙ_Ž20¿6Œ÷Ð Òæ‰Eø¥ ̺I¥¼Wô÷]±<—Lœ3¾´ð?LÖ°\ZÌqj…:Åýì 6m>ó§lJc/Í ÀûOÍ (Ôüfé`µ®VÖ#vð­þ@nß«‘M”¢±qçº~‰ü›v ~, ñÄfÓßRꎀw—و†™ÏÁ‡ª¸ññfºå%‰ w¾ˆÕf½é- c ùBèH2qé´ñ-A½ê݇ÏqD sYOEífú1B&­Þ¯î|Ù<†È§°Ðš¡åDcðJ6wD·ý»·^Çf³…Cq éPäÇHânð¨C2åaÙä55ï’üD%1ĶÊA8àªx=æŠÛL8í&NŒÝbŠB÷ª@k_{„WTÆ´Šðæ ßÀ*o¼¸øuš'ê‹Éà­ß~³g¿—*œåÃyÅ]–œç ÏM®%3„ 7³íP~šËîPÙ0Œ˜;0$á†$™<ó¿–ú¦öý#õì`7bŸuüשï€è&YvÆj^@‹"®%x ZL¤UœþÞzаÒȈDÂzZNðΰBøÿ¼rLøÌïí é¦{ù™hêm2«i£uõ/ÂaHG.žÈL$(ô8‘\ìTð7»ö !“éxŠdaˆ$´ +[CÞß–‹U7§æË\Ê´hŽåœ¢,Zs|aýƒ d÷ܦB’#"Qž"ßËܤÂð¶Ä~äDúoY u«¯ÐÍFAdõ3G ÞØâÆüF–â*)úv;NŸS¾ÑËl‘V؃ÒpaîG51¿±àó0¦ÍtÒŽ¸ÛÂ1O˜¤’“ m»%Ÿz5¤Æ9£…Ñ7¬s•6ßvð!Ê‚Rý )Õ°aþ)}®2®Š—E Pr ®/ƒ°áã@ï}Ä¥ÁUz6Y¬!·Qš¶†@ê~Ïçð¾(ü¼µ†$ì¯7aÜËmJ?pZèoÐ꽨°ébWùúÅ ­ƒF(v¡VÌaœ¸åÍÒÃ}*‘"Æ¿_Z¯œ/íZ¬(“bŸaÎ/ÅĶ#ÙáSÉw¬¿½å_RC(ÙžL*ßLw¦þú)Ë1tBaÕÞ*'0"M4|4Ƽ,¬´ÜZ4SM5E*L´"Êÿ»û*ÿçw†þw½‚ŸâƒÛvÜéõ|$²Fš-‘gIº`ÞÞ†á=t! a`æ(ˆlW^ïD¶g"ÛÚ›˜è‡…ÀÏ+5lü¹8Ÿçü¾³·–=´çWmî*oTߺg;=ÙË”aqªˆ¨lv{knJ¹ôÐ>졽ì¡mªP¯Ü­ú„ÒÙ/6úy{.Øpã»»£ÝP¨„ÝdÌC0*í¬9ŽËVﺡgÇ€ô£ÎÄù±ÇSÐ@‹JÖ~™·¥y*x`”íe€ÄÓ}뜴 à+ôµ±|ýa½Ê(ûÕÆ…S‰h‡ ÀŸ˜üW!žr4¥c»¾ áÎ-P¯²'Ó¹s™ ,R„B¡·¾bð0³ª(ñë6"Ôƒ€.@&HheÂ]nÍT B)X3²¨k¨ÉVð’8ÙužwmjÚùf( /ض¿ˆ8„°H&dñ°ó'Élçiúp/ч;±8"ë)6wHà 6D§B·>xgØYÙäš1°Èדìý‚²X ÷dT.êÇXÊÂÉ&‡úÍÖ €=¨H§9’,¼±ŸF©!ê/8vnhªöÍ ™í퇨>äMPô ï\ ˆ:…}³Ê¬°¦2‚Š´+}<ѰÍÓrÛ\§™æƒ*„°²4aå烉­í~Ù=<û¦àP¢wº¢OE¥³k4K~U_dT^n£“{U}¹&qÐlàèµàTP¶@©¾F% (eâ5×#ú2TÐ?”áü6*©Þ4b¢JÀ-©äA\Eƒ:‡ƒuu^Þ¬‹†|ŽbÌŸY£nh½9Õ-ÍÃòHôå)=ÇNòæÍ„ßdÖ®®{#O·0ŽãJ›cã.¢nn=2.ððzës Ã^ÂÏQ9†-í[à*êÛdPãÌ¿×^£/ì“S` c k#D}Ô >¡ÄI„NXÈÛ¡‚.墟kGBù-–H#K³¶šÚ7g¾ÖvTíž,ØT è½uö_Úc@¦`5¬[xZ6qŽÑ“¸*º±‚nÜÿ\t£ÿ ²ù‡ú†Œþô'<¬€Ú­,–"„ÒZ ´@h+r–ó ”¶CM µGøƒ½éô0¥*ŒÜYýˆ¬Ñwê‘gþÅѧ¡¾Ó°å„E¿ 3èÊÙ4æý‡ÀôûèûÀ±äi©äÒ>Ô3M•nâ4Ó_?U’è?iQª“§ Š7ýà¶Á€‚·Ñ³ŽÙ{—”öxHjKu4Ò-Ân.§ªª)Ð[;n¥ð<8TáWÒ,c´?š©8†RçJ~ßLMê)¾»õ ƒlfìGºL–±7È€%ÆcÛß²`‡ŒLžh\0Å5W°”-Ç ‘Pq"Xú6y6b¡~eY”,Åg±"(¡xGã„°ri›úXè±ÕŸÎRÝ$ª0æQɵӎRûÊ,¦¯#ÅБgðá ÏbÙßÕ;(¶üžRTº¬ä|` _{œ¬” n·Øƒ¡ ô?Äà*•Flu³¥€Ô׳.¼î_ÅÚHG¥"[u6Ç6W©‹¼[þ®šÌÜçC^ÛN—eÈ6„‘ØÕ˜wöq'à£böu㺃}mcûëÛÙBtl¦O…žŒ%Rïp§H÷‡þ"èV°‚LçžàÎd-Á7*5RsW˜©há3qp½4;•«­”g†6ÀÏkà-Yu¿ò8dBõñ±…ep&5¼íØ l<âñüò?Œã ÝO*ã UY¿>»”\Ÿ’‹¬¾¡”“ 6³‘› ö6ˆÝκqž bÏD7Ç×±ÇÃ%*£¥#H~VôìæÝú|3\×G&sŸ\,Î_y M˜ó;ëñþKAD°!³ÓíkiÄ´Ül¾ÊâĸýþYÅù "àÜx|º¨µŸ8Ž7zÑò¶‘”5ßò”ΔâÓ² ¹Mbßßxˆ\<ã]úä¬|mò€'¬;q‹ý±È¬J»VHÉÏ…;Ém°wK;9Ý@¶Lƒ)Ížçg笮SK»ŸÒc +³-:«)ÆÙ¶Ð¡ äßWòY‘-Ó÷Ù>mháÙ·ùŠ¡GDëv=SåCjUøÃŒ}h§>úrÁ Ç,‰õ–Dû1Öß-81Ýï˜Ü¡&3s6ÈOåå6KÃXä2ï©@-»B»á(pþ…F¶À´\"“»È€lV< Ò¼µ§‰FïwIëëÖWðžê ÛsÝP>gåsT€˜)†u¼L“ÜZ«w¹I#ªW&ñaèHµ¬Ì˜x·\ë)|Ÿ’†R ßJ• „fyÈÉPíÍaõO:ÿê!³Ô{޹ܨiÞ~ZQävr¼üþm4îchÌ]*¡§°9Kyæ{§N}¨NÿZAÿ÷ÕÃñ®ø©’±cZ¡t‡ø;\Ù5€TI [_W›~<ìûž´`(Ùo²€…øvÈßGdXÇ%ø†u¿ÒÈ/~z ²ðsí4€ßöAyãt«Ý¿¶•7íYTVÖöñcÈÙ`{ ˜"CBKpq¾œï Î7ƒóÁùVòãèµ?‡¾ì³ÝAn]aëmnÛ€yK–$É]“­M–!_‰^ f†Ýª 1l^ï°-ÿ9ô7–É?Ðß,w ÿlü錄AF¸ 1„Äüv"ÛaÅ:©Í³Cž:}}§¥Œ¡Î¡ÀKó:¼©ÅPÂ#€5Ɖ¸†D¨á«Vsû2ZÚHN6¸y·%^Ê’ý÷È™dAYÝRR¹ª‡Õa{¹GŠ)ï·G‘ÜvËôÇ+–ê§õ ¬ìôÏÝ3ß´ì?å~¼lµÒ FKFsh£Ë¾e`Ñûóñ¢ /x÷Ѓ<†e6" Ü’ˆ£mÉëäZ‡qÕòãø5ÿš‘kñ~^ïÊ!9šÈx¥èT3¥Þ©¦+¥Šfáê°†Yu²çk!ÎX'þš¿°‰ùkÞÁ_Çt·¡44/¤³b‡z/²¯ÊÎzx…V¥Éöþ?öÞ,Ir$I¶ýöÅt°ÿ½sæCdM·»î­~D™®a>˜ UQ˜Y*ã}йѯ …|X ¥[å&uDi0ã¢ÑHôJS3:Vu5µ°Ö¡ºÈj²;VàD+z^ ÃÞ2‹Çœ¯^ÉÁ!à 5•€Óš}¸Ÿ¡ÒT=ä”aÄAAI<µLÍÆçõrëÉÏ'3ž½– »5| èZµË c6– = ª ´ìw¢ç”äT\ óžKµ.ijô 7÷üøám À‡¶\wÇ+ü•þ¶Íüþm^…¤j˜yÈ!ô¨UMçû¿d¥ h•Z”<<ý8r ެšS< Ö¨iÆãÂd$/!³¤~º%ˆžÚä%þ ƒCàŽFyd¨<+íŠØW=Õ» Ø6hDÚGb§&¡®ÑØ¿BþE½À;ÒVÜÓXÙ¸_’'çßHž<À¤`SéÁ¶ôÜ¿»§ÒS1y2’<ÑEÎAþ­ð÷¸«3…¤ŸYì¿]zùo+üýUéåü›…¿?è?ü}_æŽÉ¡¡Øw³—ö†ÜñÜqËi4“;ÞæšûiZA¨n 䎫 %⎇¹âº»mQÌ\rNeR9½W43¹aΛaîxHY¨âè H‰ÜqÅ”»§iOî¸æå¹äŽË AQ7Ayëe4ïŸÜ1^Ç YIî0F@CˆÜ1T‹SäŽWrÇ3¹ã¡·7C.9ÞM3·N—è¹?ŸÇŸŠêŸŠêÿ´ŠêHÙß”™gæ—¨nBÊ`¨Nçí"]>ÓN$Ç£¸oÐįעºóµy6P:&Áôf¥-QŠ\ùP9*¯%f¦MbÆ‘x¿,³ID1ó#b()”Dæ±™•Öªûµ* ¸ö–Ð˰Ö>L6E½P•¾Q'ß­,ÄìÎçìæÍçôXŸÛ㛑ë 4gÌÄèó÷$S²bÞuÐWy!ÎÛ2¡BÈ ³I’‰’Lôþ|%% Ò廬ȼJ20îVÌ¡¬‰\%3`+à¨ÿ‰>R»ÿ¦ÔKò·`lÿóœ¥ñP·ÿéGþÓö0|~}\‚e˜xçà$å4LO%=}~„bžYÃË5üˆŸ;kxÿ†y`¯Û¤là4yC¡£r>üšo /aU ûeãŸ+_cÛ›ÈØæ"ïÆù¬EVa‰žú-¤öžrà×2©>Q÷AèŒ3>š†\íi~ÇoA—›IbC*߯8U–æ´GJÄa÷°8ÙWX]WØBaöè^Ô懽!º©êiQ¯§ ÁKa[;|n#­òµPØLÆàÉy”½[ò„p:å ’":WÀÖ<='(ðˆÄÔ3‡ ~š ƒqý¥Bö·*â˜Ûñ‰¢o¿Žgm˜Þ½midÈ-ó­Jøm…,WH·`°>¢’©O“f4}º›6ã5ª“5œ\>䊄f•ÄüÒÛò®BµJ¢Ÿ4”³ÁÿƒJwüÄ®d ÇÛ´~À²­ †즚ayâ·¶Tôºþ/>sXž‘D£°°µaH—#ë½­vn»Þ#,ÏX‡‘§¨8ÿž'K ‰\|þ¤Û7öçù–žp#I0œ—»Õåbf…ËßbCÍZý`yîo,Oµ*æý•å9Ó[êåž.–ç¢&hOîGóˆ¢éùÈ6Nyt N#…S¤- êBõù•H×MnVÝÍ)·×šþzH–=àó[Æ+Áº`þG²þÁø„wðv"c›e9o_ïâ7]~Ä2ü1þ1þ£ºÏMYÜ& ¬‡Ž_*cV¾Z8›-]f9ZÓ½a06æwh$HT”òôk©‡aHWß.AUuû¸T]kŒø±ŒÞÚó§ïv¿À{r(FFˆõ\¯,ñ#D‘#ÔÇ>?Gä2–Kg…(°S8% "+‡üTÖì‰$.w,íº®-'TŒØ zka–\Ÿhá¡GÆŽ0•Õ¤õ#;f‘¿ÏÒúaDr~Ð1ü6ï0“š`V¦ócÆ!ë¬ÈzQ-$™åÅÎHÓSxŽ$êÓXÁOý æúWjp¯Ã<‚+Ã…,èK•»REëqc•¹Y©Áç›LŒoÊ”ôiGHT,éŒò Ôü”7Gåõ¦Äø™Ø›f!PUHÀñr:3’¶y³VvGœ‘dÍzÆj§Þ±¤‘%Êêz1˜Ôßÿ]äÿùï^¹d•G‹“£wäÿem>½~þͤ„ºJµ(CkšÒß_‘FfH#3¤‘PnÜ>3^ó^ñÞ’u:Ú8ïL¸+Z|ÇoÔ¥=­ûë/Œ] î·e«¼Ê'ùší ý‚ZÒ¤( a(m¹”Ö,9õk'ÕSˆS+t­/˜¬ê{¬G1’p}üá¥=£Åö²ºNåå´Úì’ pèÛ?Gª#%É’.©í’š.)+<èëR3šÉž$ä÷_bdR”zý¬$~-I…oýyˈ«?ÙþòéšR,þ×;]L{(³¦®XRÛ%Õ?I%·5g–ÔÎ’:³¤Z–TËRšï±§˜?žN,©GIâÎ’òÎnWä-oÔü°ª:‚˜Nõú–o†¬—¢é·d€Fäâty·5’•Ä¿g¥¸¥ýFµþ,´zN§V¸¨Jø€.7ì ¡X=*è°Ï—óš^K^4ÜeÈ`ËߤåbÙÅwtS‹-!ºØ¤vVçдŒƒFOÊ‹>ˆîÑ ˜±›þ,S6 ØqÐMyt •]ÖFG¶Ú¬l»ôÂ%MóŽý™vôÛHtWDKÚçú¸´Z÷H†j9BÄ$p‡¼?ì5?MÖ Å¯D†¨YÃã;ùØSj+žrXzÔÝÂó6tWz˜Õ<;Ã?¹>ÄÏTžî rXõï,›×¥hZ+Œ"ê´0p÷ÏüñÏâæ—Ò²aÒù¥ö¸O¡B°Ë¿¹¤¼ï|¥à2T³$¸- Χ¤LHuf2¯7QæzèîždAKºŒaáÂÉìà¬ò=Ëò+˜ pu–_ëÇàðÝ]GÜ'¼œ!‘Òâ±¾ø·—uI>Æ•¢‹q°ÆgX,@°n}øÃê^AaRÓ`çñøE–àÓ6°%ëdññ¼O]k¶`ÊBMòëS_àz]JÔ‚ÂFïXuºOœX´¨Ÿq #Ú|hç»Z‡-–û0ý‘œ(£é?Ä(‚Õ(s)²åÿúJ#Gíxüǵ«K•°8š[Xßöð¤bHSp~íŸ_Wœ–Û6”‰™]Kعâ2³=‹îé$xc)(-5L4 ˜ ¬“\8/â¯P¶´Ñ&4> ÏI ÿô~¥U?õçRÖ›PrOú%Žb~ôˆÄó¬ncvÏYØmÁ„¶¼ÝíÛm‹jS&Þæ7B 8BÒ(zü»š-%½4éȪÜi:›l–P]ÐíšT”®ýãRÍ f*ð´úX÷‡ ÷Z×—¯[Y‹d• BÄÜ1)³êäÔ1¹å¿wÁéÉ5:Í7ó¯o8†j80:Õ?YS¦“ëôfNÊà¼XI/HO‹½$åÝäq^OÓ½Úì)ƒ¡‘»z9ó/Éôn±O•V$rXHYå?¼•'©W¶Ú…3€eê’ìGÚ"~‚nRï0òŸÔü9ŸEþEû–º uº“$¬?út`vO¹¸¹bâ Ъ5•à²U¨½F$’èV®ˆ þfÐã´1õç.ž²ÎåÛB텷ḣӓ ‚É)…ø»·äiḃbiàé&7õØh°¨2œH$!/£"*¢Q̨¶ÀïOÚù•¨ÜѸBV¸&t‘Ý*HßÁîScÖ2¦g'«. Ö·ºp¸ýiÍf_ \<°>Bp÷Á.ñ«y«Ë;Þ°€ÖñüÒLœê>w©Ç=¨ù~N·y€ë2#u6>bK Ó¬ñ|õDÆ M]¸!ŽºVwØòhˆFKÚr÷Ï<ŽCˤáŒ}þ!31|OR[¤x—û£ 7­L!æH™ç>²Ã¦bäÆ$¼ݪ^CÓö³æ›%ëª×áïîD:·µqü”™1 ²Ÿ þëyÿhž}VØÿrž¿VÓº¥,E[Ý~Bå'åÎ2“ôgÃRÕgg¦¨2Óðx§8–…P¿ @7ÀÖ[Ù¢ò7N¬»_û|çÜàáäxð+}’~ÝÔE • Æì­ñ¹[Ø®_ä„ M«qiõ†²8üB,—þ:›­›Á«G@ÉNƒ˜ëüº­Ý¬Í?c“fÝL‹…ˆŒsÀêîß—l¾Kýõi¹Žüƒo¡Øf¼EÔ‡,3ePg¯~‰d=ÃéèÞxâ ’OŸâ¦Ž¾€\Å¥âì^ƒÃÓ~>7Ï Pâ]¢g{8»Oƒ8p8×ßê~°‚ë!á§1Žïj4õÜCü[‚VË(KäÉLùÅ>¾~ÀU+¬º³Ã¤Â4\ZIwó7i?Å&Bý?Ôã«e³5og+ÔĆª{Ä•»ˆ|Z…˜Üƒµi¶ …[’¿uñFG›èiðu‰¹?Bg7Wï¸â ¤£˜ÍfT¨âþ²óô_Þì“8_V¼e}NÐe~wÎÀ?,HŽ«™Oâ3¬{‚'’ Ù*)®9,L¥Fïä’Š|ë-à¹æs)’ 9ƒ Cµ>+k¢Ì_ÝU¥|'ZÉÕ…¯[6¾k¤ÉŒÈs¼ªö¿Aö­˜ø:é8ñî÷8=Õ†n'ã ™9Ts´ÆÒ¯ Ï3ƒS?9º²Ãi9·=žDÝ^j©öh:bÓ·“‹dW‡£gÌó¯ÏªÁTª°Ke¸ƒ¾8Ô,àÍÓöw¥ Cfw®Ä„L'¾V÷ÊÙrƒŒ°ÈQ ¹Ó}’õçS§‘ ¶ÚÔ- ¨ÄÍsí· ZòèË3”Ö·ÝýE <¸GÕÇhi›%9Mz¢Õ€þ§•sÀ±48µrK,ÿt(‹þ9ýÀ6mð.pÓèRO‹iÆ´ê3¶ûóŒ]-1ö `7œl’LJKÈCj™4)6„±öV~ŽÔ }#yc6ìå Aa8|¥~¥äœì/þÜÒ)¡©fâ”@ón} z]VKN]vŽ«–ƒ$Îâñ¥yPý~´!NM÷ÖÖìñÎ÷˺Ì%Þ“|yWûšYâ1?`¸b×N1<ê~…O§mÇhÂÌ!”6ló#MÜ莬g´q_¡o¡Ñ´{ÎÓuC—L}·-²f¬œ8û³s˜ %Ct+ˆª i'în"¢n—Éå =ÝÉÀþíRš£7ƒŠƒc´ ˜‘ü9ESxÂcx ’hz|b]O/ #zùóãég·àΨÂtêLÈàèªé?-P¦ÎÄÔ™˜+*K:{ïÎG+ÎDpŽÈ’ΑÏ3F‰ ×÷Œ›zu}Æ=˜ö =’§öo÷üâå&àébØÿ®×ú_Žú•¯-‹ez>{FЂc}$vÊÑ£üó€þ³Ð×D©ëm…ƒfòyÛ 3Æ) š #©ëÏ™ôS¯Ié+1¨l]rví3-2ý}±ò‰õѰêoH£ ÎþyhžÁ´¶€Äaö‡òV’¨¶H\8¼ʧ¼Üw›Sºz_êçýyèfî+Ós¯§—ø^æ í!½Ø©ñ!gàËWr\÷ˆß£sÉ·zRÚ#º|Ã8Šx(NhwO¾±(‡G:ÁIJ^æªâø±MsV×=y²óm–6pi!šó!RÓr ¿8ETœ>Ÿ_ßüµëNÜË _v+¥ÛÅ~lJ@Wž\·+aè&F8lj°S‚©²_f?Ȇᡗ½^[ áP–7C{W„6‰u6ý¡os¹‡‰îþ¸õGf£©ûçIOúÇÕc’$%m\“¤Ú‹.«¬23ÿAV¸Ò~%»0MPl¬öñÀÊM ÍÀfʪΠƒæNbb$1±’˜Ð…îoM:¿U%wˆ½ ªM~Ý£èv织fŒãå0¥L k1˜xôÃ̹ïX¢þ𥲖¸: &ôÊ8©nO*¹‘×Çré{LvÝr±JÇRKAüÈE4­{ ˜Nm‚¢-'Tð°Òâ5†À žó;âùä0i´”˜ªå,<¸=ÞØíý(Hê£B&yiÞˆ¿©ëÇÂ¥Ø÷$+µ\O–Òá4OkJ¢Gûˆ‚}r©—F¸FѺ®.•"?ÇÆŒ¿zr& (Y_Ž#R÷vª¨a!€Ð‰aµõ9¶;‘Ë•'›Ý,ÙN®¿ÿ"#¡;‘QA»›â<€‰î²ºÛµ}w² Iò0ŽØÖžÞ;ؘ^VØ|Œ¥}û|5åWü ¬O *Mhý1ŸpÝM•¼E7ª^Ýth-«¡1~!‡vƼü2?ªc¾t^ék(ξM¨žßüõÞ ´X¨·+àJI˜”­ú²ZøRÑâßA»Ç¢G(œö¢iÖ¯÷$ yÀ^ÐY>^7Ñ«.oÇbžŒ^ã(ñ«ίŸ¼Ê\”½ä”YØ`ØÓÛSæH‰&¼²ù›‘çÑCÜ”\ÔݰbÕãyö¸dâË}#2}þ>Ъ™õ„õXö·%Jø¬ð#Y•“×ÈiLᨨ£¼e(Øh » &4^?&!õ³y+†„8 •°..‡G2r}ØNqú_K¹(ñƒk»4Š—åSRYÑ„Ô1‡oÜ‚¡TKÒWª®çï—hå¶ÅŒ oáºÆHx%Ø\Ȳê„_xø ×&[ìÑœ¾´êM<ĪÆÎÖÁXñÐEâ,»¼:‡Wm’™Ã¶ôâ)]ç0æp¶ÊaݲËH~þî¢|žÎ¡¯Hi¾j±ËÕ+=ϛӥS-hKM¨ÆÆ)¿öTüNF_m¤¦ÿp­Ô:;Ûò±YÞ3Ë5³N2²›é äÝŸc·8î÷Ý_c…øzdGç‚P×c ±è–CFæg×aqÝ$Ç#ˆ)Ì:s¶‡nªèˆ_’1„Let4ßö¼2áA‚P:Nz78Dåú‚xÒc@êìiís´ü>‡q×GôªÅM™ÁÙlËmíú-ÜÜÏW¾÷ñTÈyÖzÓ^–ÎjV±PDTË÷ÝÉf‚Kù,OÓÉèþDY‘79„s—ŸÔs Ù?°æ¿žâ¯Ãz âÅkºÞñ#Áo©¾œûÖ!x €!g`Š ]þÎð0¬ˆ®û3*iILqìÉük¡z{ûä:R¸æô # L…Åö°¿RÝ´Úpÿ•ÿUP»$M 7g_#Fw5bQÝ1bì‰Ï8Ûù%,p÷ ÿ§s ™}Å¿KBàKd$5"¤ÂÎbF_€k2†8?ÚÒ| gû[aôùÍ|Ò|B0'ÈpÛjŠ,øFŸ¶a´¹©9F¯„ÑgÂèþ#ŒÎs>Ûߘ”"1Ä÷ÓØó)rä´ ×±'qÜD½˜àÏßð³ß݉¥¯ï ¦vgÕ¦?>CÈ¿IŽoáÿ梦‘@šŸ¤en¤?ëÛ—pÌËÐì2¸}^ Ë:Æáýn'Ï™ÀÐÁÅyþƒÅùó9Ìϱ™}²Bxä9cwfž(Tùí•Ê(ì4(û§çïŒ/i½.>Mwçßi+J[ů•D@æØN÷+¿{ù.W>àrby«éä­¤r¡’RFgí[ôh “Åòî퇅u9b•ٰʱ|(.‡úšŸ®Š?‹ãß¼8X.N¬á×Iù:OJÒ»ÚÝOà).¡gü·”ð—Zd æç=”zSˆ´ŠðœãÞé žIí™ÙÓ} ê ˆ5´øž†?Ñß;É¢é6¯úy6H^åÜiÖeÌlÔ×$=Žä>Ìo‡&´k qð"º¨—™°ËêÙmÑê6Ãr“Üè !á*±üÔú°$Fy¬’ F@ÃpWpmÃ×KÓ ôõ¨‰$aß„áµÇû4w‘Æ;(•¥õùˆç,Žf'ý;²Göï“KyÇÀ9d{&²§i š‘ˆÂù(ůÈe€yˆàí¬G­üS³Ül<]ormƒKÍ•‹ý’“M¹gÍÍd–W|ȇZt~„YLúüožj¥ò©Ï<Ü·¬)üdÌä¤Eÿó÷Ë š¼?¾W˜~X›ÿó Ó—”ÿßBÉOwOØ–V£þSFJ~[ívã5×ËLŸ*9,Üæ=Sß¶´‡YümŠ›S,pû:œâË)î?¬ÿâøƒ*Œ…ø†ãï¾ïoSü ‰¾Fg¢ªž¨jóîNñøw—XŒX tóÍW²2‚ÒÌ‹|úá|÷Ì÷sÓWæ{Îs1ˆ¾d? šñ19”•££ Ø b@'û)§ö9‘ºI¡+nÓû¶»ÀaBµ²fæ+_†lG2ã¦íÍ‚E|ÖO¢…£èŽMFi4ˈ©ýí4æ;C"ôW–•…iÑ Ý)gÈ`g8aûd$²€ŒÚ›ø†/È`°¸ËZ¦iÑi|}'t<ÉÕ<¦‡¨?c§ˆÑ]äe;Çýу˜Ú¤(¦DUÛ3A"ù-›(ïuÿu“€tÓ3øL‚‹¦sw€u…>‡åMàgp ïŽ}URôû¯m®ïuŠŒ¢ˆ³R\)æÐxYbgŸ×÷›ë=ÙŠ@…ÐØîÿA~ýÞÒ¹}Mqޝ‘}ÕäWOåÆY^W…r¾{ Ä}ªbzUY’PñU÷S骗“Úgã`<,qˆ9g¾Sr À·âtPð,›þ ùµDR¾fOyéHF[ªçáañ xà’^,áÌÓ!µÏaF(È}Œ·Ò£WñŒùÎø¿Ž’üÕÀ”©ÞÈ€ôôlœJÿ‡É!CAíRóJÅëÃF¤ÂèFÚéfˆ¶M4é$,Ÿœ¼. F©;¿?UX TïE#‰ÇmÙŸˆ„€ß ìàL ð€ ÒÆ³OÝ- ³LjH-œþÉ—@=öÛc«€!]L‹B€ù½ŒÑjŸP*Øa+à—Z+É£‚l˜c áÙŸc Ÿè"~k§±BêЬí,6Æ…8£}…3©ˆwºB ¾¸Ê *2Dˉ–ÉFy áÅÙÛŸc7KaMæHŒsg\ŸBNÍñr[Ûr"©ÖÏTÎu®8üŸŠëaU‡eUÐ7›˜7 Žógñ†ý)6ëÂL/Pã—èœòØL Ôqü뢶¾Ô†6“l:Ĉ6Š”OX´ž(CøxŽžù!"ì-½Ø¬»åä©x’vdõvŲö ÙR[ëbáÅaûòB_| 6ÃùNž§=~·Ï‚PO›\`Í™á_å²jtzÐÀ %Ø/Ël•Ó5”È­iÆ%YÝœ myäôóÒ Myfï½Ïã[Ù±¥¾Ù´T_¬HªôJR©ó ÑÆä[Œs8ŸÌ‘«SÚL‚¶{à· X pd¦Phãב€ìX—\ÐO9sªù*RÃZArÏFÜ4€ý†8·UvšuÌ¿í—üFæ2I÷…Ì…pèàwì”>ð»náþ•Ÿ-ŸLUÜJ%T©më”–‘< ^$=Ç)%Ý—œþÕþ¡¿·tJÉ"‰uº\¶´#0ež´®ÍUeÙ³ê±Í&©~š¸´«ŒUÛD ¥$UŒÞˆ™º´9ž‹ú.®BÉýZ„Ýiœ ëüx÷•¡kXmÕ6qr—ºNÜÅU^#]_žNå;‚@ ˆ®Âõ_C½=¿É "™$ÿ¯7»´µ'ðÖå½"Ùˆ÷Xþ'Ÿvð鋇«[àã_Ÿðë+TëzQæ«~ ÈU÷ßS?¸ÞïUÝ*ÛS(=‚M°{¿®à×J)Gµ»ð+„á­q¿‚ƒ>wNq!%xãuù=8êq"‰Ê•U6)€Im~EJ·¥°Ë-Št°¶‡+¯2ÇgT%unu.U4{¥4~Þæ›c@+HõbmsP¾C±©Æ§²p³'çÐÔN+ÏJëçã]Ÿã7 —`'fLíº“ÄqÍýÏ%¶Õ™+‚U»þ;±M,Öäm ob[Ø ;߇†8>ÞÊÛ”Û>¿ÚŽ·O9“7«Yóp¼zÖÔ•#ò`M5{ª¶[ÙS]dOg»ýu31`ˆ–•²¾ph‘¢¯OQ3?ÖÔC:=älÃú÷(.×#{9ÞÚ‹'n”âkùYÉÖuÆ™|ÅCÂaO]D¦áÿp»þ¥\ø¿–Ûéñèt˜!¢vÿßåvR–Ç£ë¸üæpFr8AXÎóGgJ|œ>hKP‹qöwñ´ »­ÉoV†¤3O‹´8„² }ÄVš 3Ús&Ýq'ÝѬ „Ú¦jKÈghdÔ1ŇÙKE£åññ)¾÷#Ýñ‡ªþ‡ªþñ‹ªþõX¨´Êž9 ’µ€”Ò#±«N|?žÖlCå LÐôõô’;ªÈT«ýÌ=_rO—'D¥ûWJVõwå Ìñ‡ó‡óoáã|]òiðK4;9w¶q7‡±â©,ÓA= ?¿GÔVýkkdIN$Q6ÒÄ}Õú+éŽ3ûeGjº(LÙˆŒ™ï§Dwçðyº "šrê Ú}к2Š,Ët,»Ûë™¶^SýÀ..[¢ZI¬÷º¬ƒ_‰kìFp;Ii ¹åaù´îá‘`1j­¨yvûC+ níxä„ùÏíÓØìV^¹„’O¶ô« ­yÑä.œ\**CÒH!2Ë2½Eý-:øøÿ¸ÿ~P¶¡Ì àŽÒùŒÖÄ¥ƒ7ÄsE¢ZFÒ ›gB$œœôsð~|íÞtZ3Þ¦Ó¿oà§íÙÞC‡‘F5ähÉ:Z4miEÅ(†…!™®í”‚N!'$G‘Kè×+q¦,ÖuX´†¨ØØ^{¶žö•®ºë²J¼O£'Ð"#&Ìå2Ø| Á]¸ÎŒ—Ï"#‘SÏ8ãvTØ:M`(Yè "aøô ?ó÷Ïxél«€¢x·lKC‹§°¯Qo‚ÜÖãOŽðÉ‚lÛ¦ÿ€ðN!¼òÐKä=e>ÃÒñ1]Š×o˜¿¥EÚý=Tm`².åû/¡Êô@!_±å ùá׿Äðp—¼»Z†ýP•>Á¥yiüéƒnwNí%¿@ª±0¼¤ƒÔÝ%U_Ž }C/³Ø&™ÌAÐé~{ÉïÀmqT»Ž­ ]>Géļ˜‹8³r¾8œÍJ,æçÐãëíÁý8)8«SÀb‹êŽ„=Gn B•ÛNDž\ß™ÜDó®~F‡ RªÀ• ¢ÿñl"³ÙñˆŽ¿ìØT>9ý!É aߤpé"¶ÌZ,P5 øk ^»áÞ¼i _íÕªqljfµH«Å<§(Ñ9ZÈ5Né¸r@obŠ®g!®ÓȲïtóÀVõœ‹Ý­ƒ KÅïsˆkxm7Ý—7²q€¢QéjÒç•ý@ø¹I‚—Oø0>ÞÍ•4þS¬•an³ox ¶¸|ÇÇ[溿 Ò6ˆž „§¢’ ^ŒkšaLšÁŒPòB_ú‡â ÓM7Mô솕þ—ÙgK°mÅã{†ô!˜„žê¯kÔ% Qµ?ê·dúJGn`)iʰÀœžÓ6ò'26yر :ÃOUÜG—t倯ýkhÀ°)‘¨Lgë¡j餾B{ª°1ìMõ @Y·wò,w†7vá½è¿ÛŸ‰£Ü«€X)ÛP¾Ò<ëMüú€¹"¼Ø“e:“d˜/¡óÛ’¦Ã+xŒ#)Óþö+fè~¤_„jåÈ= •§rñÐNƒCätù‡,ZßfZàŸ…W¬W2ÛŠ:@Ÿ¤ ÛÕ– ÞÁRè6ÈC0&ð_Ÿüzü’ñä†òüiÔÚžRê7¹J&†ðyNoÂËö²9ÅÍ™øn„ בœ§™6ɹØš@(»Ö>?[A”:­)™»Pô¹¯÷vGIí±Ó¨€˜ÔÆíŠáTž³¨=Ñ9vNµª1.뤧J£¹p'[k?ÎäБ®Ýü˜UÇC!ššŒ\Ï%Íà:?1)7!]~ÓœâM2F9küEúh Öóó'½ÔŸløÐ\3v¿?â5ßÓ]oÈ~À6\çõ»Ê‚Z±­?ú¯ˆqñÑhˆB8ªáÔŽ%ÈRç¸=P¨.Ôßx5—m̈xe÷H. ¹-^Ü wbò±‡ËeÏ\ø¸¬Wz‰².èÑrVò\ì;R¡ª‹£V4ÙÅðx¢ §îÏñgsË´»UX7¢‚^[þiY_é–‹5ø:’Oœ;8R÷•öUú}pèîôfÓ¸wÚ’m a¸Ä—€‚Ô3Õ˜çÜÆµÙÍ‹ªN#úž´\¹¡ë0œ¢©ù^–ö‘Ñ›‰~æ£i@‹âoñ"²êfb;šÆš]O6¶¹†b– žgR.3·•x»Xc׃4>DÔ&=ãÊ@Ò8Œë)‚ÝzLòv<ÐÉ\ÓÔQ'${p«Æý·Ô\$9[‚óv|)qµŒ÷—+L›¦¢C]ï}ò{õ#P,L{y;5g´ÊÝüþHž×1M3ß$ÝŃãÁj£Í?ïÏq¤‚ùŒÝÙÂãj^7Ó†Uß|L¹šiá÷ÍòƼ$ò £u£@€¸ßËJO÷:qA£‹D«àWsíß›^ë•ö+¾™7/ótÊû‡}²qØ_q3©à6UEöUJŸbi^`Ûc‡âõH/]ZíÏ&çM8ZG?î¼ò~u/3üs‹ÙŸ¶¬Ï©>CiœËòL5dŽ;£è™‚ó ímrÞ]¦kk”“›Þ8ÓÏØLöêèhÚu¹G˜âÌØLU’üN% îLÙÊ£ æWØg@ 6‰ÿ)צP|¼2H3ìÝ”ýxé!Âê}3)§«éͨr ¦B˜•óüéx›j¦,ãòÔ ­*wÆóÓ²W4#{=á®Ée;ÚOsdëä3žæÐ÷FàÔØ³5b<<ÚÎ}¡­¿‡ zˆ’~dJ<:h_~|<ÜBÛQ²ØnW5±ÚÛz*A‡~À˜Yï¶$_ÛäÎq¥«ø KJ™Ë<Ä W¦N¿Úm+ä4·‚KœŠà=N©¨bxfÈmÉüóõüße=ñËzÖml­úXX¹²N<ò²šÝÇå#¯K´áÚ,? –@¤æ²6V¶RD@×c… ÅO©vk}Ïf·ò½±Þ¬è+ú`EÉœƒtñNïáˆ²Žøß ÈæúÌ€wad¯¦½}:Ù&—bg—Û-“¼®-²ƒ/ lµ)ÿXÏÿUÖÕ"<âz÷ÙÍ Í.gºÌ!Èa"s±ù9ú dq-4SÃ=5 ƒ·µÞÊo]Ö3à/qXÂàEÇ)Át¤Kî¸×ûú¾ùËUj…ïsXÕ.°Tø@3™«9DþOänï¡¡,ËÉ5×247wrÍ,Kègƒk†Ì%qLAåæšÍI/>¯®¹>¡¸:Mj)?×÷ç$øsüœàkz•ÉÙ.i˜Ñ²‚ 8Âìyݵh-ý˜ Æ„ê@*{Y9iG4g¨vSIaoÓ‹¼†°šlQMôvK|^ß3rŽwýb4Q5#Ézp •ÜâF„°yÝ{p + g)¡ÌÑ‘õwï{‰E]ðÕ?—×å°É´@±íJ•äúžSâ¿=X¬NÛ»i­§[¡å´MW?j>5˜q¡oŸ3(£Kèú¶Æüt…Pb¥ÓwIÒ€ÎhB½öågÑLÄ$¸µñ°V=µH§Ý—E³õ9þ(´ÜJh,)Ä!ÖúÐ`ášûIDS¨–Ö$®DxÀ‡ AdLÓÍæ‰Å;g5czÆn³c\x[aE;™ƒ£÷ÌQÞ´›e¿s”?Ÿ&^}‹wM÷Ý.LØ) ¯¼îısÖ±<—œor#U… ·Í$ ¨¼ÿ„‹Óqm꟩çÌG¥“ÜLJQÆoi†¦²å%À0*žX›; ÏûÔÃôp(®€ê¯€ê×_€êCÁ¸Ýÿ/Aõ[Pýü+P}KÏ߀êAõ·˜ú[Hý%¤þR ©ßBê·ú-¤~ ©ßBê·ú-¤~ ©ŸÑ ©ï¾êBê›zõꛀú& ¾ ¨ŸÔ¯êwõ§€úK@ý-žþ¾…ÓÓ#—Á·ð:“tOqãpP|xê²#púù;œžcx[Á"…8[G”JHå\,òíåÊ—MZj´ýºŒSÚjù~y„Š ¶GÐÖ> !Ð@Èí¹£d U­‡Öª?C¾ù·~¼×¡%ók¾U¶w˜…¯ÐßßßüºÓÏñÇÏ:‚'þ|8¨ƒÔFóxwäÄæægŒë‚ØÁºÂ÷ž·N~è¸Ð{·…y;ª‹¿tÐ"—a;ì€Éf¢b8…Veô¥&²`É—"mHˆ×£?>T~Úø2'æ‚áÜY³ÆC|˜“_äžvéWt‰—õP_0P^Jœ .Bðe’ëE“\ÚƒéVÄNš&ùÇ¥%Õ•†4å.¡¯.Où5}ž‡ÓòÄ;À锟b Ns:§xõH&ƒÿ¶©æãv]B¸vAld*œÜb½ÕKƒ÷ýÁ°äºZ8¸]^vcTëÜšÆXÜrÍ@ÙdQÉÖ…=]°Ó=@éíp?†~zìÔÝnʃ‚ ¡|#–ú¶VämbáÚv‹%Y ë!¨ÕžÂu= åkŸè»œz2G–ªæÆdËÒ ª­ðã‰Ñ¥‘€8ÈõÕö‰o«%XKŸ1¸7l_Húwâã[fDKGâ€mZŒ”D×F‚Wì;ÍÝ(;4½&MAòIø’[_µ#Òc}bk§Ésœä+ØÝœï¸?Þ]ºnÁ9²k.œVBš¦p1—ßù€ ½4+O¯Îöð£‚&|aŒ€Ô–,YZ–iè2?‘ Ä{¨= KŠ=è|“£X§#H®cÄ¢šz„í?—#ìéëÕ=‚ìƒ&±lS—J*Óùðï©‹4YË{+PGüö+¢µ¢§” 2©Ë#Ì\àöþFî·¼ ²`熄n±8ÌËGöXë;<¯ºße Óñ N0V?‚ªyŽB²‚Èædé {qàíÔñ{ëiÝVZnS·5'6bèq·ÞKÞÄá”ÛÓròG§Á°BR‚Šˆz.·ÈAÌ÷Iø²ô“–— î¥s [Á„žÕ®.f~Œ×Çó¿Á§Ï|Šó#ÿÖ9Â+´×Ùî¢Ó͘©à­®x„²9l²+wO@éæŠ%­u^s2Q±{Cü%R ýÚ¡Bùè¿Òå„è kà ÐCõÑÌXÙ Sm†aRxY¸–ºk8 œŠ]@æu‰^&[Ë‘[šâåù³Ä„ÏKq£Á„¢<8µ^áùñU(å¶ðs2…Ë·õ#9Å !@Ý\8§wÒÙ‡h%Å÷Nl4uLŠð¤B&ÓÎf#ÇÇÓì’ÄŲ³Ûf¸w Þv“ú51’Ã&J?i„P¸w$&ÝàD‹û™†| ¬ðýÂúù`s ù|P½'\€ ‘½Ã?Ùe'vim b»bŽiª(C8jÑïm1¦üâ+­Wf°Û*÷42\¼ë+}Ó^Kê M¬q‹®\­@^—ððÖ˜ðûKQ9ÚVã(Rj|¸±:qü~Ó½HKÿšMøóåòNß庵é°"Ä«þüy ‰DkçðlMX!µ6Œ…~½éNÎÜ›«ïJõû.¾ÝoµÉ² ]à4Ú9åÌжXBÐi“ãòæµÒe|ÝçÒF/M4¸ïºÛÛ[·]ϼî9çžóÎ;çÜæߎµ–A:…E7ówxíyϹ?7ûfûË9ùŒÙR+y%ÜŠSªEXl&ž­â†Q 3c"#F»—WòTž—¯‡¸+€b øûÚ(GòW÷q)õdüê:¦= ±ÐzhE_ÎÑÔtn9o‡î#K¯²®ïó0Ì@š°Üã\ô÷ 3Ñv:¬°L·È÷sñιh®‹T«‚L­2L¿‹5jï<›GcÐMÞŽGa2lY1ý¹3ìîaOpžå\Óô{O»÷Cz ñ¼«ò³ OÔ÷ÒÖ,Ƨ‚^!oÒ$ÝjL÷TÇe¤s=x ›,Lر[ý[:ý2—F((Æ'†'ÆÞ΂± ÀxvAäþ—•ÝK”MF`ïïÿêˆßH<4ùS§ÍIÕÒcÀï>˜–a*±û³f¬Þü»ãÒç?äœ,â²k,éŠÍ¦UÚˆ1UN“.&.{®äÏý£ úÊYÄZUw«[_Ûsr»…ª3¸±¨ç1<‹ùÙ¸ (£‰xƒ*$VuZ¿Y"–u~ñ&…{1¯[PÄ\v×¼“z"ÈzPB[ìÃјCª×’8ºKͺ6ÁæÆ5Ž ž"?¯±Lh¥­; }sØEº=‚žYS.òN”>·wÝ1·‡ë1ÎKZGLÑ$ÉLɃ õpæºç<©ñJÿìGéŒùm¥¾ç «V•ôè`¨ƒ$ÜìÃ2^Íü©&nÚ÷įXèyO›ò“Ф4ê NHEóú&â2^¼@Eb{ü&ª<Íåšæf-èe¤§¾Œ!˜Ç&åÅéÓóöIÜÒ‰pd¸ò”›¨OdBVvú=wö¬5‰›F:%«ÎOlÜ£¥B3ðLó™MÉý\ô³ÿÇìÿ1ûÌþÿ+³?¿šýë¯Ì~û+³ñê_0û+f¿ÅìŸ1û#fÄì·ÿ-fÿk9¿»dê+ûK˜}±Œ¶:Š{SåÛ¨ ÿz?Û.ðÚÇ.jþÇ.Bù¯¯­þMà×_Ã4ÞFÚ[½ÃzUqxC¥›Ý]Âé{­Öž>¶½|l{ùØöö±íÓǶÝ—mCBø¼³oÍ®gà<òYIMo 6•«•†·—mwkG‹ß«–6‹Ç¶ª¬Z9øôË jQ#þ·þ2L¿¾M)q7Û®zQi0òØ6ª»Þ÷×'¥Þzpí5á¿6bÕ‹ì½ÞMf|<뛂ù­]|áyÆÓBã.y+4Þ[Èÿ/ÎðzUUÃyUÅ ç¡Öåø›ŸãxàMa±êó×ßú|;=Î䊿 6ÊLNØùíÕÜaÔmEÁS-ܯ°v‚¤ ¸Ô’â56óœp*W²`Ëkø3?®!›av³ °ƒ™t*‹žÖèóý:2O¯¥Ó®‹w_r-`[ÍÚëoc>$³­\ »H‰×½üi™M¥ëos[Kð'@i¦~F’“z êB>®Àªg1A–GÂç™õKdÒ×O<ÿ»?ñøðZ˜ŒÐȳ8òl¾<«§ŸÙàËg;\idÆ8³€t~]©Ïʽ\ÉÑ^å÷{Ü–&èêÏlü6ߘÙÓº1xŠÔ´ß+yY_g¥Ãj±¡”£ðdÀzSÙãÈ]ãá5ô¥cW®ë+ý½@ ¥2e~àë‰0êúù¼Œâq×’õÀè!R o¼,7Ÿ"¼õ›GœîNHña¸Oé‹î–õÞ5sâòa—HøÛïýÔzÁ²ÖYyRµâz BËíÒü\ÁiÁ±HiD`žQv m9oÁi£¶Ó%jèH±å˜!øâ+5Sœ–¡!øzæ±ìÏá³iÆñ®ÙUØ3Y¨gÒ°4|jþA æ N뢆ô°rGU<œØ”¯ÊJUf¶Ä»­Á”‚ïFèD=pÈK Â¡¾v¯å¬ËGø\%×»òz{øÔr¾òUì¿D]!³x‡ª¸C«Gr9]Ç ¾ùúTsR™Ç%¥ðôpd)ƒNÝ®¡°Ïâ½â nJªIv rØ•-V†èÈtÂlùõ{§ðSÌãy?<rAsL ¢éêÕäGÈß󡽿/á‡h‹Ö•ˆ ñ‚ ®w·úmß‚êî•R²×ùV±Þf~(à_zF€À…—Ìe‡ÉãQºf¯U¶.nkp‚– §´Î¥O°-럦rjéOm'ب¾ÂòðÕiJõB޶‹)q^fÙN•ô@xÔî9oúÈíþHg:Šn S}z8éâ…V gÒ¶Œ9ÜDÜ…fÊi˜”t#à—Ë‘ˆH›Ý"Jö-åU„ªÍ™*†òp9)jAž&˜N“O!˜Ò—šc¤.oʬ­wAfB¶ làÏ^ó“üÏqRÐø´ú½kX3]?WÕX¢„`“ ¹éäô–P$äk—]æJ'„ÃJEI4„G_‰ªtôš1«c{GY¥*´ç'/~ Pçÿ&<Éï7¦/å`œB,élU$üžV¯ <‡szûš?g ÑDèBÞÝy}* ‹j*¹¼-G58Ç;%2ü‡ ŽÑ"I „Kt.cršƒÏ\´÷C¶ÎÎÚa§¸„²õ¨_Jñ±ÍŠÐQ‚ÁžŒ:±ãPž³}D'pÅT Чþj >d}¤ÑáŠXjqÕXžžu8ÉWþ—;®ƒ*<îÌ!ñÖo½üî%j/Æúõ¹õ¼—!‘¼)·£Ü· ~B7ÍOÏ2'˜Æ“ž—›ç´€ÎË€§­K€„S.°ÄU ¡ »ZK§<Râ (Í.*–ÛÀë˼HÚ)ïã€Ø5¥.À€4RÀ¸Š<`7Ûõ²Ië ]uÈ„dÔBÒÞµ ‚È—Èj¤ Û•Üákb3_ƒ,Jµn¥’àC|Eg>v4Ù…òïé¿ ßÍûJgò×Ô‹…wLÑ€…¢€ Ö`à2ò;k9½0‚ ²lK“X”n£^Ïü|æ÷+‰{ÉXâýVÞ]>í¤Ëï&þn4änÃK û²ÈÙº=¥^Ó;žÏò­C„x¥ù&q«7ù°ÌCo¯kÙ\«¨¼åÜN|E+/²_þ¼ªƒ¯ôj§Ýn5Ë"Óy²5µMRô+ò/U9^fžèkOûÔ*ydÝ\ž útdÑ7©+ÆËòß)ÆIùYŸtúÉšî<š(iA#!–3•ÊEjìg_óµ7òqv¡ä*˜SÿN.Ì8Ѳe72…óÂ:Au½è!§ô˜Ú•†–͸©º°€é OÃú¢?Ú#NÊ%Aå@··Î”‰ýû¥UÃ_‡^ûÁòn<þåq{ §U]Ù‹‚³û›et«¼~²²"MTÂ)»]–Pó˜Ö}7 õ1.¨ÂÍÒ²›½q+á;$Ùá±—ÃÒº-ã #oi½ú.G?—ôÇæÿ±ùlþ›ÿÓæ5#Ï‘$Qõí¯^V Læùñà¤ÞññÙéÁ¬¤uÿ”fÒÓU€Zݦ¥—Åè15.°Ûÿɾ2æûì@¿(YD4ˆäïmŽ l¬»•DÔ©IZA²e”Ø#!ÊOò5Èû¨mõ¸â„S6Öö+ÀÀ´ e¯ÚM‚ c•Kù/ßs$«&+pªÂ°-…Ðz$,-­€Æñ!?è²Ou‹.)-ôP(Ts¡`¹‚=¿“ˆ7Sx±4Ók“V9RÿNe‚.ì2¤UÃäKHFú¶Ý3Pâ#äYLó»)Àð1ôÐÅš§³½tæGK3XW4¾žÚé˜,„¿ŽhPÏqjÛD¶¹Ûè¶ ”é뙟¿Y‡¿ò~ŒËïïN“ý$£*H®àcáQ^Ïy-£Ar¿X~?¯§v sc‡Èß>>õÐÎ$s.u.sw|ïö à¥\GþA´]!VÝajÐüâK“ÿ[~Ö|t£»?Þý‘4 £„íªz$Å‚92žlw4äöùÕkûæ{B#lo+)äf&ò¾adÞŠ©ñeÏæ·ÅÚp¸­<ÄæÙ¿u Ùª÷>Ô¥%>zedh¡#Ë(ùSóþ«yÿU•ñ¶:=’ÊÑ=KãXÊ?"6¯h?Tnüæ3Áw,óѼnjK#¬9•V$-Eo€¢ÇÆî£_(ˬE 㻎ái ªÍ¬Ùç5LåœÏ¼/SnÏ‘×M@·ÈUâgvQ+%¯¶ÞCù¸ÏW?ù \œ$ôq)åš:’„ƨ•Ëò+ >lª5?G؃1~‡éè[ÖÚ-ÆÌΉrA†òÊQÛsÔf÷4m9®À;¢AÑ€õF¶.ç–.<#š{Rß§1¶YCyŠ ØñÓ1ìmÈøÝ̼Œ¢Ò:®¸*+®Ê´òàŒ¾â§þ ©Î‘n)€dWàŸ[¸$õœÓ½X dþÓõ›ñ·¦V.•(ûM5Z—‰ß%_yûùZ•Æþ iö|mþ²Cñ}°qXª°vñíÖN(qÃõ|m.ƒ%îáê*½ º 1“íü¬=Ú8á2¦×ç°ñ5YûCî$Å\¥<ÊŸ¸d‘¸>BãÞDî©Þ™3ý¸è’CÀ´q7´æ“:f×Óâý«©R:ÚRÂѶb\žv8} DO¹Ý8³-€×¦ÛF¤ÉŽce ç»|=Epš+³ˆ:'˜ 5Œ¡¾"ãcí‚Óõ Ùî‚]idšª(Œ­¥|QËJuQ"wOBÛ2N8ð§BOÓyÍõ¢3ÌEhùgœïGUc-Ù¹C({%äÙ‹îšì¨Ù›k^ÊrÕ"ík[¬ñyœ*mT®C=‹íáM b±U…¿ÚÑ:»jˆ”¡#{Vçäz·åƒä­Ê×… Ð }þÄíÝ$B6 ãéq$}Ø S°4n!ùˆ Lõüî`éœösðBQWÌÁ£ðyטÙZÁ«¢†ÆžÛ¯ðmño¢¸¨âFš× i0œNÒj8òŠƒ0(çõÆ87l÷¦@YY/êÚµ2ÓÙm {Ù"\.ÃmzöY¦·¤µ¤FRògˆÌϸrzàJmÍtÄ<æŠrF ìDf+*Êvx¶ÕÛº ÈE"¶Çô>²¸Ñ3©AÓˆIÝyPâz ™€Už:xUî „ÃBؽX0U½Þä¦ 4]oZ¾À¥Þÿ xUWM)%¬_¼öé¡™èê¬ pà{&qÓ·Ö‘ (9}k—î)»zÿhwë]”1?§÷oÕ;þø>ÔZ·"^+”…ÂH-}¦Õ ¿Vd¢ ›^gèJ\´PF*² /vMŽõu¢ç²nR¶a®œ[c™Õ¥TžU)·ÝM·Ùîy ôY·¸ìK;ŸMV·Þ¸²ºð>=´ÝG†_;dÙ\i‘Ó*w!ê:_E׿¾Ö)·êð¦ hri8ÔÒ×…öòº@#F¨üžMóëiùîä7mË÷¶6¿§Y€ÝÍFìÃLÍ"Q[xhaî‹îÔ•j^¸Ü‹tRã5‚[àÓJð5Ø…a>¸¾ÚøõþîðÁïífUu'dÛݰŒxaÔÓF…ëÜß:8FìáàGž© ?Y™ð ¨K—çžáû¬„_©¸¾›{Š)ª#´„ðsÏìùfþãZ>Ãæì—“ËóVnõϲ¢ÀlĈþ3òÍÊ}êø*ù²<\ÿʽÂF[‰UÑ;¦5õ~º%’è¼¢0^ÉèØ§Ãt®|Åo­Ä íZÓ ‡B€ÝC¼©–r Ñ»\ߺ©ÁÓY\Áiôò[€=‡bo†šÊRŸŠ}Ÿ#µìr[rxT `mEžÂ0öRNK¢Y™±M¶‡0t(V¨û&«`˜†m÷Ç»Û~øñùÑõȬ€k¬ƒõ‘Å)õrmhD±s"†—Òß²6¢Jv?)Óä±cy`'7*/7èÊZy}ç${ОáR ‹ÙªqYÔ¨±¯_[¹NªM½ªZ’_ªþ—ct;HrN,å>AzyzjŸoÌI*'½/í´“3ZoCkÄ$q‡$¯#$6;í‹~µ`ªÞCÓB‘x=$¬ý_çù·ëŸSw¡VÄí^Þîåí6owÿÃÛþ˜ jKªd¨Å³›ù,/2K:¼Â ×nCzóæÊšÙ÷¿7¹¾\îÓV‚|É™×bs¯Ìãø«y<ÍðÓ dwOVFËcByZ‡©wɃޯ$C €úöÂж­M¶ð“¥}^êŒL…ðGtñ}ÕÔ0Q_EüÃhã‘H"ág šù™Ã&ãà¤ËŒnUærz üßé5ðç©ÿ¿yêýÇSyêû¿øÔû?õÔ¿îNÛˆÓy.0M¶ó hŒ¬è6s9òºŸùßy&Êu;Ï#N„\Ö¬êw–ö…»ÓçéôóÈÞžÎ3ÝÌËúçúøÝ‘k(7ì~IXE ¥%…aJ3Ê-ð}W@VR£Ùj¯ÓɪŠr•H^§w+ÒEû<Ñ„¡Aƒ¸k¨‘Œš¦J;÷õ¾¬oËŒâƒ~šxÀUËÃëáAŸíFªà :K”¹›oõR&1ß“Z'ÎÙù“"ûV£˗^i§;ãÁNJ&xE{mfo#ân¡æÝ[é0Îé™[‡ óÈH)׈\ÖâðÂ%¸|Žïuy|ƒ­-”5ÏÍPµKß±ÎÚKœÅeÍüç0OÏ‹3‡yÏaÞr˜ ¦®´ç¯Ïª ®ÃÜtÓe­æ2‹™>^·yi0áÁR üw9âò^kÊQg%'Ú#‚Àk¸%jl¡‘|Ù‘—õ$ô’ÅŒ£!¬BPô»r/óûF<«X_²Ìhg}¼XLç½MáÔXx…ÏðŒ,±õ |÷[îqêo‚¦±«YO•]º# d¼ÚŒ´÷X¿UëU!Ã׉|nµÇNQË(C%H¼ñª)ò·øÅÆ_v¬ ‹~þV3ùõR·¢FÎ^ƒ® ¢÷÷ëóï󹚟LJß;ù°2ß|4I´#XÅñ£çum/Ô ¿0'§Ù½wƒ R±G.¹þ¨uß^d \u!~49íž¿ªËªzêû2¿Ÿ"õ½²Ú/:8½eÕ_¨»;¥}f†G^wçìÈ–ÝÆßöáõ­ôÁØC<óÍ[ 9x¾³üN]u:éï˼£_:ðG¾>àŽ9Þ#ßîwŠLQéÁ¼‡+fî?…–ƒàݽYMj#¿ÎìHÕ•Â4e)Ñ7-˜S'eD•pQÒ~ɯèüɪì‹*Äqúýzè²þ ‰…¦Ú³<¯ƒ 30/¯ˆ\ ¹bSÅôThˆkØ•#.Ak ‚Óª“^V5hO×ÓI$ã·S|ÛÂÈ÷uÕÌf¿\¼÷ÐÓûÐÝpî}îî±ú’ŽWŸpµøÎß™†á/+dµ7ë±ptÆG¯GŸÏúq-ì-R9 ãOøNuÙ8}W>orXð¹ŽDo\bÙÓØwq\_>ë뇂X»ò 0 GzÉä¬a“yYm|ãÓRŽÌåÕ9‡G{®b¾šÙ«6{½Ǻ¬ÙrÝËÎ#¯ûÎ} Qu=Éc9ί÷Aÿ„“O7ea¸ÉÕ]¹Ú\|»£¯Zs³åfBV½ƒœ­k¸ 7ÿjaÔ·ýÇ•kâ!ÿ™…1½/ #7ªÆû2Þd*0uöÎ;3]¢8Ãã¼B·½_”«^ùrQ½>XW¶¾~¿Ž²KcPî"ùªÓ,)Ô“ h¶ä&¸$c‡¢|êŸMÝ_¢HN_ÈJÆbÉ&ÙË–¾[𠪙`ƒ—¯{~^Ó€†øûÊkÝ!ü°9»ŸG7à3³e¹k .âûG‡ºƒ·¬Ò ”•†°ºš›ÓWÛzƶ±uZCu{2*ã_Y_#Íg¸¬3µó)¼³*u| xß?Ò_rK3!` ®SÎå¶è¾%Ç•×Yì¨N%9”©ËWi D¾âBÞKª{¬ðªH·‰ífÒÉÙ¹[b³ì¬E(×í½go–UÕ8;ÆáM Úì‚P×¶<#¶yqwÓR`:¨2ÿ+W妷ÆC,ž9³çGZU2a_¢ĘÔì/’Þ3à7tåöòK&{ß`­v$u¦¸(MM¦a¡tz¬Ê3ó(çŒBÑÂ%P/Q-«MótBÙ5R´Öxì&ÅAȳ ýÞVrí,VUâ+ÊbnûÖ(SEžl`*AÂÕ#_mPËx˜L¼5è— +(Û tŸNµnâ))k¬È­u¢çÒøx‹àP|ò•ÙiF,mRJu§Öø½óÎÀnN+Æü|ç÷©÷”P;qÙ‹fÜÔjÀ{FÀs–Ç@!HdKˆ¸“º ó# ‡€QÐ,2­×gè Ñ|fŠiFò…âQïŸc MÕI¼âMþpßÚcPC±‚’O­¤ä˜W×!Hõx—ù³z‹Cø6Њ %á ùH¿ÄvÐ)1Rõû[pj®è›rnB8›hèyÈôxŸ¼õ—g€‰WêWš¾j±ª¡_Ð/M½îepó@¸ýÛWȤæêÙ:>·ÞÊ ÕŸÎO?­§ZO¨ÍÒ„):1…µàd{°Xi8 †yÌ,ÊCLYðyL]̲铑þÅö^õø k·dü÷îyFW„Dæ~À’ÂÙìí (ò¾·pu3hÁ5ÖVŸ7B'¥ 4Mò4o¼ÂÉ7ÓÖÒ XȤ]díÙÓòìr‡-!õ¿L»^Œ¡œ=ý0»½ÂhO£§×Rhyä¢¡Ñ ¬êç2t ~c€×™Q   ['hS ¿Ø P**¸Íb[KI¯2ýmÍa¡¦ìwÞ 6³IÈS‰ÉKðߥÌÅ‘ë9zÐ_´iʼnÊx5 éDfŠaŠ›¥ª„=¡¿gUe÷4‰[?xÈy¢•«˜ìj-¡Tˆþ:Í)ïnŸaKG Œ!–Hs0–’dW¯d›÷™µ™ZœŸ9.@-V£)Ï>Ý£Ño»jÆýÔ ¢-OøNÝŒe-2@öKÖØ–ÖS¥L»é²ä},`BeM·çÓõ‹ËDÐÖ¸j©ÝÀM/ú:Vj¬)Ñ=`RtÁ‘óÆÓ9´›_%š!M$8O“ë—7±9°ŒPÿ„×õˆZ|¾‚<ˆˆ g爂I@ËC£B‡%#/N2’À>dü®A¸5×ç Iç‹|â‹þϬ¬zޝ©vÁ+5#¸@„Š®hJDŒºªd7Š.µB³:ñ»«Óh18ä*x½Í"+\ÔŒ)àÞnÇSl¯¯ÄÓ8(jøÓÍT*’ô ÿqʳªYÄGÏB·òZo©"Dv@DçÇÓ>ŽBÈ!têLƒ‡‘íGˆ#xYG¶e¿1-Ðè‡2 öÌ&·Šža¸`êOa¼CóŠ~í¡_•àAJy@Z¥éÍ‚OY×§¬Êíÿ# ~Š$Èd⣞ï¯G¾w|?n9"L·=ÑïþüÍYÄ. ãùyFVéüëûã=|ï€YàÖ3 ü\Šapj/µ4TW˜7êWË‹‚ à2[óôe%ýSŽØ­¢þÜïB´Ä3Ów¶)oŸM=f¨49EjtzŽñ}~>ë£å`’]¥TÆÅº C0‡!+}—ê)⿉ ,V4 ÃÖ>ô Ò ¸%uÝxnÏï[U…[_¬2ç*†à ò´lÑmÚÒÿ‚f þwî\ímþ¤„ñéØ˜iiÉâ€tºsHÜ®tGê“ØêãkbÑïöè`Öý„—†ëò¡ø¾)«fYRtaÏóÿßkc(Ã}ìå»Ðþo¬Ëùžê'ÓE‘ïšÂÿ?¯+bˆ[* ý?¦ØD‹äQJyħæï”جfÐ è¸r ñÍBcš-?Ýf+ºø ï¹ÄÓ Ù§qÊ º]ªÔç·ÅÛ®ý7+šà£ð…„ke&ï°CŽ@”I 6Âaz”ìÔ/ ú…Îøí=›&(0¨½I…k¡S^üseÈë/u{ˆ5?½4J©êFÈø˜Qù9?ÞÝöö‹|’€"á°YWt=¼¯hsñ@ÙipãÞK•¿Þ·ÖJú&ó`ç—}•ý‘{5ËPå’ýx ý¸-,5ØîÃ)ôŒpq”RËë²à¹u¦«iœ‡ùNLt#YQÉ}½wõÛ|6É–§ûë:âëÏ/‡‚k aoóÐËü™˜)¥$gy˜ï™b$>(øBm<ž É<ƒgSÓ˜ |$;—4Œ²tµ3Îû3]*ßÅX¦Æ6¸Ñ­c¢—é,ý}yÛ#ת.PÕŸâñV§q?îýQlè¿»çð ]¤&CYÛÃ<éÃÚu¾‡§ ´=¥EQ×_¶…\õ˜ýÁ²—ÊÄ7¾/%Pú¿b —Ž\áéâ3 .Äc1Azý!¤ÃfXÞB-ÂLd>ŒüøôõUxºê*eõE(vƒ¨ë@z„«€Î§™Ê—÷”à>%¼Ïd@¦xšl€ôÈFKò€|u70¼¤¯Á}‰á¨ÀøÊ§"Â7aE”;›ÈæÙ䨉õ¯`yK{‹G}kDÆ¥ŠÚRSRf­3!A+yÒ)jýþ. 盌ýi#déVû~(,ß[8•ÏÊXðÿe~VN¹8.õ:ÚÝOºÁW‡§’«ï @f]NÔFÒöe/¿Oݸ›-š$wÅê÷¦ÇÎ\f\æ2‘8ÞÛO…žŸ”ãráW{ßÀwUû&¬€õ€A_KØÓ%yräñÙU€b-uÒ2±¸ÛìÉû•ä}9ag˜‘÷4‹‡H¯o^¯Š.IÊ(¹øv†”Ñ»{—õ”´Ù@˜€¾ÌÆfs•=˜HâœÒ€º’ŸU0, 9QXÞ‘œ¥(u’ã¡4û‹ÚúÚ#êøñ±ÏHþ>Da‰»Àêfhew’c€\NìBSŒk”Ì vÝüüäÔ¾¼7ìeT0 R½ó;rÈ­½¯ç>å4Y]1Vï–„—Úr48ŸÒõt÷§bâXñvCµ;ô|üv­gÚÂÒwäaK|ßwâŒbü`¨‹=S©uëhzBöšæ¦)ˆíÏ;~ÏrJ#›IÏÇ~Sö†RuqÌÄŠn³õK Æ_c\ d`cõnÏžxÛjàéUœÊ¡’A9=•ºÅQ« ˢÔîëÐ|ÎÎÄ|bÎ`î`Ì ƒGlaÑ_=¤×ó4"AýíBcºù;¨þíóI¶MŽ;¸ôhtLƒst[£ê_O<-Åöœ "v\ë¨(ÉšE*:ö͈ =øù@ÀoAXˆÞe9l9 ,«³…/p„v½¿Lïz}‡ž²d0D*è;p‚ƒ%*2=\9fœÁ¦DLê¥WcëGUÈhnϪ³Ô•¼P1±¾R®ák£±|‘ß;‡çÐ0û–ó,%2õã2xýK×éŒnÑ¥öŒJ GÜ;©’= ?0åK<P”ZR—õä¾5rÀ)ó³dñWò$Âü ûš¥'C÷°Aâ}®ÿ{­¿!v“0©c >e~*&>ˆ/¦X!ŽÊ›¸œ¦÷‡H#4»õß Cj%ž¡Ó]-£$é¥K É%Q*åâ o8íOI*͵iÝSšÒç =Â&R¸,·¿‘èQö=h³’îïr*«´5–Т¶J dFø4ñ]¡Ž¾2£ŠÓ±Ýá[“.²>ÂǯyZ¶mžÊsR WÑãb·¬¦ZæLšZMXÏ-J΂”H*!p¢Ãs[U¼M¢)ìzžoϰ6;Dnåø[¤°Ì¬3™Û¨EÐçmðP£zê,ö8Þ5] W› ÷ ÷åU€øñµÑÁ°¨¬ä.ñd"(á.C/“4à–&6¼ßÐ΢›âdèïE(M¼ŸÔ){ âàz#µ ªqåwÿf sˆgt. FP¡¤´ƒpBb)ôŸ·Ä’ØU%ÎdPy*šÚ×ðÖ’3&oê¨àóÖº8%!«õßÎÔÓ5LçA£nõAzÁzv ªë=ƒ‘™ŸÏ퀆ç0yªd;[½Ö ¹èCœÁežMŒéaz¨<õæÙïúH5ß‹Äþ•\IýîÖPàÏÐ…¡‘ˆcöò6Ë”ýÒ^dB§Ô¢¨üîúˆ¾-IÒ³ç+Qýõñ®ÙY‚ÐÙÍm ERNæà5Ì ”24¥ \VïýE­?ƒšýw‡™5¦vqY¢8ïg(“|ŠmAÞOÀOe†Õ3[ÑwÄ)ϘCQÍ0³ €3CGÒÊûAÒcvÀދޛ)5›ˆPFúB¤ógU}ʇ¡+—ˆÏ~yó´ÏØw8ÈëÛF7* pßÂÈœÁ!M êöŸÙf4gŠo#0êgœšͲ “žÂ¼fûÒL]S°¥)VÆ¡Yyš¿¦ûR4F(å†ôÉF¿ów×ù9Vúøk5·”IÆ´ä¹»ï»-¨Í§ñÅîɺÌ'u§5_Ìs÷¹ŒÀÿ‡ÕŠÇq=þ†ExÜËW-ß:šÑ"£–rOØw<Br?z–<Í#õ˜•‡­#%y†Kë»o²+öšeá¯RÃ8Yv£RÝ®ÕiÄMŠÏ"‘·­¢ÓDQ ÚD`n”<^ÑèxM‹\%þ\N¸Iý7¥nògaðPQ9NÒO•‚߇lA Ìu¬/²I2–¦25RõàÊ[/»t½º™ªn冧(°jð³B//–*ì›%,W6„Tò&³!²êxˆBV» ÉlUN戋0uqn¨HG†³IÙ–ÁÂNNŒyÿ—-®¶Ž†«ÁÚÒÄâÎ3z2“è–N°x'åâ‚4èùú6½ûV·ä‚Iȋ烧wäÓp6ãI"ßz®G@Ǩ¦=êÜásÏ@¥fJùÞ7Ø–ohz°–à ˜è:Å*>DÃúz¥ÔqÊFD°—øô©Är2—=mê¤<˜îp8z¸Kª Ü‹(Êq+Y°/ŸÃ³Ó+"cŠÓQØ´ÍÉ#rXEÙäÆn%ó»Oy¡C«{+,ÝÐÅÍÈM!*û–^Å3Žô ÖÅ:Ìm§¹í² ;Ý)lN‹ÜÕ;8Ô‹‡ÑäL¢Ü™ƒÙ>­ ,â°>á2ouä´Å‚|3x æQéå:ßw1s3Þã™z¤¶ÿfBH´¦¹î#”‚4o²Z”ƒÒu¯â¥Sp.¡ÐJq©×óëó õà!wó*K]×TËŸ¨r)cœ),™*'XÅÛ à2§­/q°È;þ‡~$ï3“!äœêp›š è$⌨ÄFøéÑXU4]Ç­'‰cyÈ’{³PšT®f¿«k𴇓OÂðÄ M_=d‹34¤#.ä0ÎÉ|J¬ìjâÄ#‡./“ˆ†1îrá’Å:÷¼R®ªUtª”Ð"—äMÕ€·˜À†¯¤xh˶FâZAÊÒí`gkP©;}Ç‚ÙÁºš½½}‹éîé »fnAjN䪅¸¹È<Õ9•%]6¾ŒIÑ1aò_žÓpö¡k^¡sZØ€ÞY'bÄÇœu8ѸWeu,ΈfPmq yÒ¤ e¦aã‘‚ÐOÔ]«3A€¿Þb›ëªt6¡kAAƒ—¹MΩº—Ê žgÏñ˜ýkj’íFQ6…LKlò½·–Û­ê¶Xßãã!œ’Î8¤CÚ>tkаµ§¤ÀzOâl§ÅçÌâJ©Õ £åýf•^ÿòù.ˤÆÔ,r¶˜Èñ£æ<'Üi,1>ÚŠ2˜5°"Sñè• ìÇÁc'NJBàó?¢"VaÞïŠy:V¾–s­PŽjdJ$„ˆYâ‚uc:Hö¼HÀ”à Né–ÿxJe˜æJGpU(õœ²qÃAXÙŠ ?R ¿ÞêkÌòxy8ùC*/¬©PoËç<‰¿Æ§ß>Í´Ô”Sª¶nM:ãìñû‡eºÚå" x ôCP!¿_ÑÉÌõ}KµL>Ãîqo‘«b§•~ &ćŸ½ŽÏ²/åd -’%¤ÚïFðu‰58DNÝ û >(Ž™èÖsº÷õInkl Ûpš"’å:ÔßapûÑ0º-$c¾z ‰)¢ÚüàáÆ!=Ý"]ðÒ€Ð[3$¨bJëón‰„ûzÐf—,m»vá2 Àìd¬·ÂngÒBOö¿Þš9iN÷©ò?øx‘FW¾]Fíˆ÷7"ÂéPo…\4éùÛsû ŽÞžfÈ8“§¤¶þ9ßV~ ÛY æ»1UG»·‡ƒ-P­Jt FÖ>ÞòülRÁ6‹š î„ ãb›þ íñcK -ïc$ -o“o·²#à!¦9æ€<ô}©iâ‰ö$OéìÚG`Bj^¡TÞGð3)¶e2²Ü<³ûã­X~IÄßúÀü <Õ+•Ž#n“7žŽ'¤l-Âo|HXοÞcòë|?#ðQ’$È…ŸæÃÕÝ_zŽz×ÊxhÆ*÷ÁÕz²›ËI‰®¶Ù»¡õ÷¼/9~‡¡G¿Sç™FRäu²ðŽ`eŸ¿³ã¿myŒÂA[F‘2DûHtañ†œ øKúì­ôûÊiOÄbyøü|ÊáUâ'N磚^ÅM ÂG ì¼.0käã[¬—þ‘G²ã½¬25b"Ÿ˜A_™íx ®¿!;.”ï*T¸r"v܃ez{ZÑ~:T( “Ö? ÌÒ¯ŸnÐë©q%x#ê/òèT3imDÁàÀå4tb%Z¶¶‡âÆO†!.j®œûúzºàöáÉ5;"4ø–Ž ÖÔ!ðL 7—ém#òW°§M„Â+ sFÚNaÚ²öŽØEEðäËŸmklÀs „»ÂE^6†¹ýÜKÂìe´îfØæ;°³"ì@Å:šxôì±CúÕŠ@K‰¡‰K K p°ØiW“‰>"Aa•à¶Hpg]î²+q½ó³}®: 7Ýô'óX×u¹Î6`eàËÕÿ&v1Ð- d1ù#9½ôÛÂŽÜ÷× ò4Ò"Wžàqò ] ždÌÂã\ϲU·ZÉ ò>ñ…êÀ†n©¥$<zÚ¾Øqÿ–eD}[&h²·xÙ9ýåøo!f-è»ù»zìÛš7q³è„ôdž¦@5B°Ù>ÉÛSˆ‡Éç-›,Tüœ7Å ã–0@ÒàÑ2Øq„˜T0 8„³DOúšm”§xe‹7•—:kg—|y¢FÁ Ðð9CuЯ”- G´ŠÖÉ!háCq£Œ“ãB T*+æ4uç`1½ïp€¾êö¤¶¿•™:êW XµXž¾R!aQ“x÷€òd·¿Ó TÕ]¤÷öL²ßûÃ# wè¸>å z$OZl¬x•‘œ ÖýVÖ$‘ÛSé!x†‡" Ž#~¥gÝóñ—q6æ‡-Á"0d<)/Щ4ôliÕBQoãtÊH]„ñ.ËPÅ6aÝ‚‘€èS”,xª—“êŽÓj3¸à¿+§eʨ,ÿY‡ÜìM®öÔÀlR¤ƒ>é‘)àžæá so3¿WB~¹“ß½õ`›[+-¤æ´c ¯jyEò]hé õd{X·’=RÌØ4PVâ!õýŠ×Ò×£´ tð ¸,${œÄ…L£‹]éÓ#Í6Nüý64KÊÞöÛœ„© JrÂ^÷ g'ã7ˆír:ö~ñ.ÆC¿³É¡N¡Š$_Ïgþ¬›/Å’¢È¼¬Æ ûóWÊn~8ci׃…!×Е“ NELÖAçWtÄÄÛ{ä¡ÏPß=Û3˜A<‚"_.”Œ§KŠŸìÞØù¡h ÆK\TAN%ãCìP+ʃ ù)uB»è"@F4LEµqš‘G­qE¯F\ðaçÐJ8mkLo`6<¾FûL:wvË­Rã;{«dXz2‚õ^¾3@—iïÒçJ¾<³Kš×-jŸ”ä K¬ý¦çÏ Ö𴅲ߥн¢`[Ѓ®Æ@ŸÇñ$X¥éƒ.¹Êa³%7I×?|+ªÐæn÷ø €ÿ÷Ý®ùDlÐذÆÀ {´õ±<”-ÛÃ%Ã.ç™=‰tõtäÀ¾O!G]úåý!FàÈÍ“ õx=_¡[¸ƒe´2 HIïP¯ò;^æþ{È2Æ‘§ÉÄTŽL¿•q=ï@[nñr06ÿI@O—–?°ük€Êû¯ÿôÿ¿ýÉBy#NÆS« †×%Ò¥vÍ1 Í÷Tg5­yÕ²ãõ7U-?¿R”›ü£I–$ã;?‘:¾ÉòMI•lÄö…œï(ŠoÜáC`º°¶ fC%¹Í“ønu¹Ñ8’·˜àÓÏÛfðçý\Ë÷½$¸FQIþEèÚ KµÚsålHàÛ=†© qäIŽÅ1©´ÅœÍÞ<¹nq{p–Ž\Ö SpDiâ³&)–K}½· ùR¸ ‚~—;ôÜÇ÷%ÇÛ'ÔÑWË0 .0ÅJòâò™áe€0ï@䆖`ª~‡ðÛôpHt±!0zaf‚e›¼’1 Ø2ÐØŸ#=¼SlÄvk_(ÜzÚÇ}¤©¶ ö-ú¯d=Á„…Að´re6-ÖGN)åô¦{ý´^© gY¼TŽy F¬W¥¯ä“]1ÅaŸVÅ/WRÎ’lÏäÕäÙ²Gœ¯#Î óúÈï–³„h7 ÛˆKh6@0Ÿ$ÑSi1ü“ UMMšY& u´°¾[Õ+ð]§Übùõ)k2“¼ÊÌnØ|kN–~×ýî3 XÂŒü•Ø6ª€8­~Ûº’vO. ëÎ\‰çψ&ž‘ { ‡ŸoS“jëü.ó–d«L•2n¾;RQIh ìýE_qU“ü¯¬)Ñ„7露´ÂKÒ1÷ÇÓ"a£!\oüN£ªiJ`Hê)ækÍéŽ4>¢‘ñ¡h<«à§˜k­Ì^4%—%i·Îî* ¥6Qvt[õyøµÎŒ·µ  Jnƒ±è)µºëIoknÈJ¦7,zd#ZMTÒVzaÚ%‚Cè±NÜù²-2wVæ–TA‹ÙdÍ _Šð®û—6ñe!È5Ôq1—¤æ/ãFáRÔ2jïIù§ÅÁ¶0on~¤˜âJ:Ë{‰ö{ɬ2·pþæÕåm\f…Ù@yIáû ÞI Ö;•Z­Sèw]ÑÞïá›l²)Éa]0Ædï´*ó@ôt„¹IàŸ®âíÊ8yÀ*XV:àŒ^øšÃÉŸ“i*Џ½žDž¥YøÉi}‰r=ŽcdìjL¨ë™¾¢q2x;+ó/fúùc`þ¡ù;é>XQ`sCŽ™³sâRÈgRÔÙ\ÆH>Ä‚Yé)}³Òóãq˜>¶¼Ê9}úê -²¢ƒ8àÙèiÄ·`÷D…É_¨ò$‚JŸÒüÉUž"þ×çkùämçûÛ"µjã.± [ÎÂiOÿÂ#õ° ®šu7Ê•ôÔ¾Mª‡S)6¤Ë×I’wSU-Úã$Í7R?åM\®¼r /}›k~DI=Š0#ñ!Êë\”X®;R)€£Vï’á}ZËÃÓ”¢å2]ÐB—£ŒÚ¼vî»VíÜá ¦(U)þ–-juåVH1½¶Ðµï²,ŒÌÿB#ówÛ µoLHÊ…Ãð“ï4HkÁÞÚ)=AÝ8Si‘»ôîÇ‘.z“ЪJˆ‚k2u¸3'æ™rä¥ò®èÜÇûú¾ßÐ)ºo»îÎôÐê2ùqB–œ—ð=qG—b®W ƒ€æêBOµtê1 Ub´DÖ†?” ý°!²„‚¨3ÌçZ¾£n\fÃ+»Êz¥ûï%î Çx!ÕS¦ú¢Ì„ÞÙEÿŠˆ/Ëo§)T M½²‚–YÜO #«Ž¨€$Ãù&¯Ôäœ)™€{@å_WP|ùÚºð‰ƒŠNÃa²ìÑâäÝ]©Kv2„‡ÑT oIy“S8ØžÏDý¯=ÿäþäþN~àiþcšÿƒLó×þ?صÿc+þØŠÿ$[qk+NûIhZ"éK¯ÏöÉͪ½$F0œÀÎì9gáãœ-DVöÉek‚ëÏ6ø³ þc·Áß92ç²É8£7¯ø¯7gË»âˆRõÁó 9y}{Ò<""gNȧ Ýhψ™H]ƇEêéÄO¥§ûx.Rþ ®¥% ûö és}<¹‡›©„…: •Û_,2$d{ÂU]âSŠa~ôŽe $–:ü¨§I#uZ§¢‡4^êÂ"'Ø>>y[.Q©F¢j×âTÒ¿[[8äÒÞKòf³áAPÕW4=¤ °b¢IÈ yx~Q!´Bp|¼åö Žôt‹ªGa–ß?ó÷åkÔû½{/ˆ¯&wU.É­—ÄŠ.+ñÈ©¥ ÈÃ÷aMÕ­õ<Õ²-ìšC<ÒŒˆCŸÑX´ô¤²ävü ÙûvwžFÂÇd_îÍ:c÷­”KPDÊn¥¯÷óª=R§þ=Ô^M/Nø5Î]’‡ë]o?äö§—b¸×ø üíÕ>B•‚º‰ˆV°ÅQç”~‡ºX# »O»¬¸À¯ÉN.k´û>°äoE§Pù%e° p5“Mù tâmÒâpô²&ûü‰nC1™+Hñ0eôe§ppú™÷쀪NNÜéEL¹XÊs§ýÏMá Ñ:ºÒßò’J(öŸáŠ~Ÿ™²#GØ6ì·b…EÆhNWò&[ÉVS™‚#:=zMz-« Ýý'Gy«OuÆÆ“•Ãú®VÓ™Õ”^ÛØøuew‹¦›AáÍÔE§p~,f÷þ˜Æ%­ËI/î•×·0Ñ>«‹³l±kÄÌUm²æ_± õì~­Ó[fÎ)Šÿ!U®ð¬>lÄ:;QF½ýÝ.dîw\aB¥ìè\ö_ºl׎Ú¸ Ư‹þÿ6ì¹£¨mßáÒØ0Ëš¾ì´3;ÍH£&¼vÚéNS¾83§­vš§J*$‚Óí7Ö?Iq×S»ÙiµXj§Íì´ós§uwZw§5©gn´—§úKï« |E±\ʦö€¯ô’ýõó[KC»\^Šÿª%‡²×yNC»chw 튡]ÒÞzä±á»÷‡Cj‘ ‡ Ë‰´s"]žHÓÌIphH;'ÒðD¢É¢ÔÑS‹ÈXÄmiõ—|1P¡fû"aÎõæûÔÔεs@…©Æëšìj¹5Bts‘Å ­­‰ fªao/ ¢zŸc^vŒ'?«¬¬á=ö¨_ºe^,‚W¤ð!>ö ‰nv,’t–˜¨2IK“ô%k—/C+¿NïøIÕuËL”qÐÞ ôSràebâÊJ‘%È à¶ñÚ)¶€;ùóôY2EÕ)?lùöÉð4‘æ+ˆ‹j«C}yÆ.½¦ÓÓ¿6bø0èG6Áh8[·WQ—ÀXov¹Ó¦žæN§*ÜsÜÙ#ükxl“^`¨íÕ®K¾¸x8Hi Ýç[ö‹M­Ä<ôÀX”ö;Þú5ŒK­C4¯;@kõlЄÜ>¤pú‡Ú<ÈíÕÁB¬ÀG=ÒŠ¤4s‘Å<ü>:XÃ6o5³E*¢Ø3Ô»Y‚ÙdˆOD†ºÚ¼åµŽöë±ÐA­Þ7fžá\+TJg}¿ˆ»õ{µIÐòš¼ ˆuºIÕ‡0`ÀiYàPbaU)tè¹GAŒ›¼¸e'`3—¨›úcÖ²Ö¨(nviŽÅ®éÕ£¬‰¬M"êûz¯bî.Ûk§¼†>c—‘LQe¸I^ÓåðBw«Í.›b4×2*aÛZV%Á7èpÂêúft}9¦j‰²\Ú£”ƒœo›.s¾ÞF²t=dO,6ÈfÓ\ˆiÕWÌ ÁSýÏÂGS ëBiÞ[eÀ’¦Ø!^££¼¹Ú߯tÒzM÷?*ºÕÛ~é-AÂûÁHÃw‹³ŠïN ÑÝi§Yy·¸ M»>Ɖ±ýâr×x*(7:b³þ„‰'Lìû¡pRV‚kØL½<üõÈ%õ“¿»ïã/b&nÌÑÍÀã?* šÏsÒˤézBHL›“‹Ê:'5¡@Ô[–Dzô…P\”BMúý þîiDýUo Ú,6xV ¯ïtõdz ›C¹p´œV-m…00´#ß>†hãÛè9ôºCÜS=EEÜÈ7'± ÂêJÖbz’-cÊÓùR wx€U œßߢ¿Fjxå­¤ÝRM}uHn å´n3ÉÕØògN…1·RØ€”å†ÌtêÒv¢¡[Ñn}ãBw–&‚µˆþbé¦Ò±³;}V»÷û¹ÝCäš„Xk$˜9»W^«!ftzX Ü©p ŽÃº\Š ›PO%²"ˆ¶WŒCa´%­¬ÝR,½¾üÿ¯ø Iz¼Wßøâ/ Ñ!ø úOîœîš¿íG\ÿŠ1þ¾±í®¤ÆÛs°½ÃD¯î#вÿD‚ù~<‡ÃÖ5‚µóRj²«˜H«ú›W˧´M)a„nZùg´> Ï.ejY>CùtE7Åm±—½·Uao>%ïÓ§[Su™6C'U­a•š³-ÂsgÕg×WÙ0ÆŽ©ŒvE?Y©‰þ”OzObù0Ê{ª¢ù|¯n…F’®l3ð+y#ÙÎtÚ3´=ߥ¢ŠCM[™çC¦Ä±Õ~6ÑÝ”,h]}í ÍJZþHZ>iôv~¦é1D2솼v8‹4uÕMƒð_?åH¦s#‰õëÉnÒ0¿®ìB”º"'fïVµãÖ¨q’0ñ39)ËŽ4×9V¹ë*ûÿíßu‹a5¾òtŸQ¨ëòÄð`ÜÊû‘T3GÆ{=â!—&VØ‹«e}_Ã#o„ƒÌZÈwxár@vMÓ×~*)»P?=ã;žñ0Ïû›‡¼þÚCžš°üašO}KöV¶3y˜sæßß´˜#$_¯à/z*1š<–ʃï{¥6SÞõØmôÓ#wAšÙôؼÜéSˆÞàäîš%/½"Ôå.•ŸèäGrÈ»¡ìR¸‘4q7—\ï‰Ù¹Ø÷ýÃío¿»ý×§Û?d[ÞyVU/ê£Oòqû}ÞÐ5ãY‡g=ÓÇß__ü}!-ðîZGò):O[Ÿéˆ r­ZñjDzIR¾Ç¸Ý §®% ±šäSZðF-0ÂÕœEœƒ'—à™ä¢¶÷cIÏÏÄþ™3–~Ã+Á]-¢„-Ü õg´ Ãbþ®yê´ôÇÆÔ÷l"ô"}áMË ÛJÇoÚO¼¢6Š ªœJ•þXBü^½¿ÇÁV¤¡êDZéI=©‚>]êE§þ‘÷¼ÿ¸(ÿ¬‹bóÏÉäÕÓ¼qQjjK.£ã¢0ñ'›±2˜6šj2VÏ~“~ Séêrr«¡6'óN µI?V8SKŸìÉJíY™Kƒû?屇]öèÆÝ¯õ˜2ÞðfÊFüº·Óõr™Œ¹¬ŽG›xçä¯vt²8éœZ1æ{b½'Æ{`»­ðm,÷eÕv Yþo0Üë¿ÅpóH]:nÝã=þÙ¢ÿäéþÂäT)Êd2rr\ïQŸýÖg?£—}®àŸýÒUÁù ¡[rrÄg¿â=`˜ç7jæñã^![½Q3÷?FÍ ¸ŠÏÔÌù$¸(Xy._^ÐeL‘˽ï/.Ò?‚Ò\ñ&F 4zä/À8ÿC,оŸá±8N¾Ç×ÿnêÂé…¶„g]néÂAïn–¡ð ¶éTkjITáÂ]ºpR¥)è=ãàxz†c“G~{1I[sèã$çx³¦à²å›Xz=ø‰ˆ_´Ïo+ë„@bf 1íCHLÿÓ‰éÄL÷‹»Gþ Þæ²¯r¾)^ïÔ®Óå“vó·Óšì¶{ZÚÇÚÙ$®j}Æ¿Ópú‘MAFãÌz6µ¨o;L ¦©ðdDZùú’_jA?,­+.öüÔ“ÝÉfïôÃúaýpý°´,èn-K3R\eð°ä¡k^Ç'Aq˜iD ôÃúa›<”»½ºÏÈþ‡C k§ÝW}䥰‡¯ÕžÛ îp±ùðxÎÀ²¢–u’e¶s>9äÛ¿ó·C µ7óéC©B%‘Èäpr8AkøR¢OÓb¾q8lôÒž:Ò o$׉aD/øˆlæ°^"”‡&ߦU‡¥”Ú÷°†NkÃÀlJ#N¸IÇÏãû64sDs„÷á)wŒž#|}?gRý§H% †;GôÌ}äˆÞчGôÐ0¸L †2uR[%»{`ïØ©“AÆ­SÃëØVØúùV%aÒeN¶^ã÷‚HŸ®²²µ€‘{3Ëïs*9•tWø¢G5Ôôàp´TP{yðÈÊ÷#‡£Vƒú$®c–ÉÍ:³=Ç{7Z£ÇKpáTóGO—´3›Úzh"¯÷¦^ñc&˜y¡Ý'ºòä¾Ìןþ÷7ºÚŽ/õ2hôÛ ÁRvŸÒO5¬w)ù¬û‹X¶Þ1Kë;€¦-‡ 1ãeëe £b ;@Aù ãf¶çÁ»õ-/§å²ªøu[Zfˆ^<ŠõKߺ%²©JÏH,wq Î…þA$û·]÷—‘ÊnîéJÊuû0s yiŠš¦èúÍÍ·)ݳ\?µðŒ^H÷TŠžB÷f røÏ2T›bï¯7¹-Ö/œÓJ1êö- <•®K Šmž·‰ÚuøØV ¶«%^î•Ѿ® -Öz5Î: €f×L41`Ûv”•.Lw¤9”î–ofö&ðáÌ\uC>tÆÛuÝüÌÓ{˜^<¢à_+’äM³þâ«¶xùƒÃ-ljÌOóaÝѰ"&T. µ€ã4ðBažþ}O~CÂø¾ö²®#j5Ì ÊOéϧ“ÖA…y¼u§o«b9"ìc߃6OŠÚsÙQÍþú’ð7%"þö÷²ÿ €# Å¥Àp„Ç< rÁn-¹jÃèˆrcÃîKT=@´òýv õ|-Ôˆt …]]–b—^Óhô5 ‰èiuÝ!ýØûÑžW†vÉš‚«{cå–ƒåðõþØbžÑºŽû¦#´^ ñNÂ'«äI$í/ ¥ HΜïµT`™X9Æ #PoÝB~É š zhBjÔ D ö÷ÅIbÇUÒpزGIöƒ¿`ƒ–¿]W†áZ*V\´ ÛbZaé6ac÷%ÈñÞ9èŸë=2C•Kœâj¸¶&Rõ-ŽF•Ìë¸I,ryçæØŠØÙÓF“Bx8×'›¾fÆVOó¶R´M0Ò6–Nòê*¯ù lûÝ2æÞÒf‹÷NΚ¹ØÒi•ÈöÚh©·WËÌnKÓEŒ%¶*®WÐÌT¶nß“êÌ4êwîš«íd0œº>G×Þpé W[¾Ûš÷õKõò1£]i¦WQìß p ¨(®¬Íª™)x¼µII±×J{áܼ² ßÍè–kJ²èfï¾›ÛÍôC«Î*^r!àD¸Ö^Iá¿ZpMmd›f»_\áË•ñ ò´”S8…ïl¡oל…[Ønr&&‰õzZ´”·©\2 ÕÌÒU5]TÓ55\RÃÊðÈ鼃•HCçRMpx¹ò^náºxø‡V.¹·3÷ZÕ¾nìl[¾Ó¹)ºÍ4WÂÜÑÐ}ÇÜŽ‡*ÞûËgQñjV_!1þº‰aaÙPA r¼ÜÏHóÛ .n2ICµ”=ÞNO»‹c­Öa9=- öÇx3Å3xDûýJyMT2’›W”ÜÌH¥BÖðæéV6eÀ×›1ᆠn"ŠT´8:iÐÒjRýôT†âS“o핈tª_o„·jÛó´•0›ofóÍl¾ù×›ÏBqÁ+ºˆÍ®àÁ¹°¦Å» x–É©rYޤרƒqX:{p³/g€Å^ëùƒC¯b'ö`{B®ìÁð%k}†b™´ÜÝPîaþWìù«=¯='^ð_9@õ™“¡GbœU]ñˆ/±ot-©#é´NUØŒaež= Âi„ {e鉭‡Pp|CKÞ¢•Žì;CÿEÓ‹ÍÔ EÆJÔ’–L&‡ð)lÝk‚î“çr3í$ÌrÌoÛZ‚åYvå˜ ½Ðãð°Ö¬ò6tlb¶¸|Ç€öˆdÙŸX†µÛB‚°éîé úLf6N¸M1EI˜½Ý%E3‡° ¨ãâÍ>ÝŸ­`Ð<Žlî»Õžl¡îuä:”IO.×=]6*?œ6{Ëz>­†ŽI–¢jV/–qqE+îíÉZ/übôÿ)1ú{|‘²f|dŒ&÷TÆ ¢Ú-×Ú|힯ïÒhjŽ’±ýig“:Ͱ~ÑKž-:“JÕãŒ_ÇÄÖjºU‹BçÉŽÑâAå€*“Ù(NÓÅ NlÇ×~„ÚäcºÌÙgº©_©¥°‘ƒªFÈÇËP~š”òSÿ µºæ,¿O•ãÂá)§ÿ³çþ0)‹y òêëLOë¡&œSSL ,Lj6¥ãÅS<5†tDÃxÏH1l³èxp ´(êHñZ»¤v…¯°$¬^A+,U¥õ…³å<¨w‰ÎbÕÿב,è0›Ç‘kؤ1ÒU §’™„$‘“m=ÅsHòÈùrZF]CâùôüÉNü9“¯)ˆÂ~¼G¾´át!×¢­µMQ3zYul&®u×ÒÙuÙd§#š¡uèôé6œb=bkËÂ9¯Ð§)QZðFË‘å“vœú–8•¶yé-ÄXiwߎ>žîz=A ÖfÇúìPŒ–Éa®V*ÁvOCMŠæK° ¬²+~#%žËºo4ãØS#{ ìÛf_K~î9MV•µ‘>iÃ2º'|Þ‘„:¾GSPZýø+ɨ©G¥äž0Ñþ‘jã¶H%·²¦ ŠhÑûß°^»•F0m ÍØµ×‘™Ë<î|`+™ï˜Ã4ôoQS%!³vÆÔÃH ‘í²JŸÅ¦ån{¦§À½ÖµnA–î<“×>‚üý)âÐ?³rÒ­¶ŸJ½ õŒª|’„‘~gH!î&ûžHùy÷‡=kNŸ`|ç{$œÙêQ¿œAÎLʃ|¥ª>ƒøÔ¦Ñl²äã[ë†qЂ£5+ÆçÕ2 ©ë×ó=K¬Š@ç=NŸ;t¨ë#t[â¸Cgâ®:äH•|„ø0"Bbs=£MQ• ì÷ñïáËÊýþ]þÌ€%³zÏÛ’Á-©¼ m¿ôóÐ8ÁÇ{WpÙC±îP$ÎýÎ}÷ìé£^*·m‹òLÀGyÜçèãÑ@F®ÐEl¾eÚ±ràŸ¿¯¼+¡Å ©ñy‚·tÅ#÷q[‡' 𲋂Å"c­ÚÂÁ0îÖÜÿ`ÂêñŸ"ù N·*#ó#¢Òwr-Ù›ÞSËa?MsR]j`ŽoÊ>u1lÛiû>ºóÓ+õ‡@Œ‡±/âWç‰ÏL2'T‰W7GðÂk&Œš+Ôâkå܇!j³HÖÌ]¥(Òð~üæ % ¦~€`žÍÛç‚RSODÃÃ1°EÙ©ëJ£ütŠ<Ç¥HØ>ÂsG᩵nű ™`T-Öù *ogõM0xŒ+…꺪²qѲ/Cÿø^¹¾¸füÝ„‘¶­|^K,ß Ôøœºª3«óHÁ¦¹3[‡âkÒJÝ9Øì•ÜÂ¥¡æÈë“71ž4“¬ïË`u kF}—÷£z¬ØdQžå¯^r²)^\oÒhH!1ò-òWœÕc%Oen „f ooÍ÷È÷ó(ðƒ†É)ýŸÐ0>ìùDcA|…d";[Ÿf}[^åoý@•b—Æ­Q×Qæ·?ÕsëB;qÃ[‰¸S³d]2Èý}jgt!PÓºÁ”…¬á©£3<­ÊïªÔøâòÃ/‡ÈKNšŠ+¹’9áÿåw¼è®-= 6A}húdžqmn˜ ;P+¨ŒÂ¯wˆDqÅû½èÍ,G–å™e9°>,Û("§o¢jz{Õ[ípúj»ÐQ;~‹÷a»Òïl(÷OÔTtÎÔb[ì$û+쟀ؑK‡LX奧bÞ„ûè`Y< Ü/¨Œf=LÄ¿îÅë:Ÿà®‡ t¤EG½ž1 óck8Îv<™ZàeÃnƒgi*CËs«] H™¼è& âp§o7>É®…©º7F€Ó™ã᩺NW¹*œOA V-Ä YƱÖg²¼—ð7B|Ìw>ïÙÒøæ=c_¹ËAm q:ü³‰#µ¦[rä­nŠÚloKi[!Ûd!ؤž>Ÿ·ØÜb¢Ÿ¿¼Õëß*ù›ë/G¨oõGrš‘ºùÛ‹ää:èN–õü\,ÔÐ(.c‡•‹Gí·Å³Â+ù‹Gƒ¦·‰ÝÆFF$F»Ô?c¬_7záÓ•û»>Äñ·}ˆŸ¾Âø+_¡ÿŒ³,½lOYµ²ÚË,5™–˘žvIG î·.ºx6ãþ~÷÷_zêæFÁf…ȵ!æ˜îÿô¼pþ¸¸ïG¨V}‰‹Þʘ¹ßªE„È/¤á³"ÿà`”Í¿Ì Gþöºè²òà ‰dgð›3¬ØÇcûçüÜõ»ŸÛUšã^ÉÔ/æóÓÏÅ˶˜çßñsƒ/›û¯üÜyü ~î%ðÍA½¾ø·Ûô&&&Èûy$Ÿo±œ´g½îfŠˆ¾FˬZÒ{ü øCt×ßð3u…¹~w7`†üCw£iXw”"þccÎê¼zûþÆÁ³½È)}ú#záóÕ œ~2ë5þh-[WÖý›#ºtD‡  éˆ Qêí7G” îv§žo´7©´xûÐ&œ1I!zŠJq}’*Z*¤,™²+<‹v|ŽžA]‹"šDµwÄ6Û}óÃ?¼l[–Þlš‡„KÛéÙD-€A‹BHmvD!¤Î!žyWð¹ ÌidqŒXÞ‰5ä…çÂ>ÔýC×{ü…ë½rÿÏÄîÖ3Vém)­÷–=õ´Ô¥£¤|´ òþ¬]ÞfNwýÕ~ÆÕz‡s©aŽO{„ÐR!hñqÛÊ븄ÚNņœM D†…K6.uQRøãý±{ÿœHÉuâ-XWmBþCƒŸ.çXha%…—îÁöÊ·ˆèÛm—"Ãï3@¦à²ôÝ£ˆEäN¯œÚ2N‡åŽðu×¶'p¹=ãïçFá-Ë öß:HûÛµòßK˜Æ¤Þ‚Zù}‚²$‘{Jy?¢•e^—ˆÃi=À:ÛαSö&ªMMdS¡ Y‡¨áw2ÏÞþ¬]Š9Üzè¤L9ª#Ý…K0d‡Ð>¾¬Ëî9Þ§¿‹yÀ©7„!¸ÚWúªš1 0ò¤}Å–y¾>¬M¼€LoLr=ÈW3k.èÄìyÊg]@êð†pÏ¢depþÜð²É Ú˜ ¢D‰ü/ÇÙýiÓCÂÓì†!l(샳¬©góð¶:B-Í.s<òC?ÙV–=€›ï¼ŽË4ª­Ã¤É¢üTùGÝÕ´¶ŒE¦Õý@^‚£»ÂV8ùûrPÑê_>qÝÖjÖ6ó)¢Üš4¡™sFú|»žè–<]g©ï"YÞ9=Í 4åBÁz)ŠÆ=6s„Q>R)ìYÇ+•º3nÒ<âá?ë÷Q6ôò}¨À³ŽM¾ôüI˜õ×Ûuìu³žŸuŒËžõ{&äjÖ´]dɈãRàZ.ßC¼ØÅê Ñëï7ïÆêEˆ»±j]½t:9FZN4CÐ.ÞdxħjV_J\9·aÂ:ŸbX„–ðIWsõ–>Š8ÿ*)4(ϖݭȬÞߦ-“šø>¿­0Ç ïF&þÌ¥Ó3¸— P·±B6ë…Ißו)qu „­á^{f\¼îŒ—ÖáDÔ K \—9ÙuB-I[Âø»Cv]y—[þÄÆT#ãú;hN³Š5t ¾(÷åÙ«®GU“Eþ{¦d3%tKÖ”ón=Æ~`e1º6;„‹<¿sI‚‘Q}º æ3ˆôΨ 3_Sÿ[msáªÃD›XR–]j¸%‰Ýd(ëBg@¶^þPÿJÁüH3ðþd,8_O’ž/I†TÌ Ýš.¶®ÁãúÌG+¯Å›ÙŸÝßθÿÖCu¼ÕŸgåçYåó[²¥6eÿ8 s°ô€öÊnU¶÷*6„ËdÎõã L M‰ gpÈÇñ6N…È:’¨®I/ÜK !³|ܽa&ù]ñÒ)¿ïô!]^Áe…H–÷õ5-:ç/q8FO;´Ž[=Q•Ùn~¾Ìº®ê„Y[À¼=»óXïñ²Æ ?qH- )MpB .v!ˆ×bTRð¿à×9!8`ö …­gM[De8…Rn⪾¦E›)IŒªöšÊCp^¨ˆWv'ÑvÌÿ6{¼=ìÿ…nôÛM¾î1ýZñ˜Ú§›ï³Ë8ë’öd02M±+ÝäõÃM|«õÑM>øûõÃM–SðŠ‹ô¸ì^¢f–.ò›¢ *qÇ ÌQÒÅ[½¢„(Íô×{Ílö™Í>³ÙSÚâçp¸Üíü}}¤á|»}w޾;GߣïÎÑwçè»sôÝ9ú®}çϰt„¨P™ÇÂvk·æpi§æpZ˜‡Ss85‡Ss¸4‡KsØ¢¬æé»“I;“æ©œŠøÅC@š¡PJ8r²Þ; 3ÔèVsÂ>VæMªr°’-¸;÷ƒŽ»³ãîì¸;$¤œú3Z®h OXeÀûmûpOÍK¿óöv‚hhRø!SŽxüœ°_Òvj¾çT’D)’2ÜÃ=1ÜS-X ÷ÆpŸØí³­_fçaS¼ð$gŒvÛ ¯¬6$€2ÛgÌöÌÚõîÐS‰ß§9lÚ!£ERvhäB2¸W€ñ†ª®º0}¯@<ÐûŠƒØÿÁU<ŽÏm%é6÷=³¸Œ;ª@+¬¿c´6Bƒ"ˆ°"lÑD"[Ý™–‰—‰ÈRÏc~Qå¾Tˆ³]ìª|ëÏæ+Ok¯§Ñí)ÆêøB‰Fmumi妨H˜X*Og€E¦ÓCnY {i«MzŠ1¦ò¶uB¾ù"üWœ® ‘ÏÀÊÍ©kv)EÔ>mé0í a²"a!G¤Í %êa×Ç[Ó=3õ!›tµÛ2‹J^ÂèPe òéÒ ›xj—\Œ-CjXIföÞáWnù,§¦åQM‘<ÐÂtîaâQ®¼]ã-fÒú’:˜%Äa:¤¥iK Û Qšº˜»F± ÌÁ{滣Z‰÷ç©q s(ê§ú¸85o(<-tE4»xÇSM ™Q¨õ¼Ç{ECq áøÔJ¼©Jú-ô)û¥ˆË·sŸ©Á ‡:g0¦.ó•Õ-o9žñˆl숈Yž·ˆ[fá%ä’p‰+ x¢”{\S³ä N ¬#"'Ÿ…\ùPèðVèÐä‚s?h’[gÑ=ž!7™~n‡i“zl-,I»(Èå‚вø[÷½Ò;œ‡Öá[ c “D‡8”8?Çöè; IVY“mf$J È3ÝÖâ“k¾u׺²ØG’«·AKF}šýëûW $3Œ·ùð›¦@ ) ë\ÉÓJN4Oûägs¬·¯Á÷™É9³/âpàJ´ü”QQß¿öÐæ¯üñ>Ô¬¨¼™IB^ý™¼\Ù™#õLg3®@ZÕÀbt—h£¼ù7`le ~ï]I ÷àÚ_ã׺øµã~GÃJ¿\Û¤]޾@Ö®¿†¬õ¿€¬¥©U|õ‡• –…æòß×Ã7˜4óŸ„IGMvïHžœtÜa…iÔZÀ?1]]²OìoOÁ³ó{þcÌ/œ­+§Ò_a~ø$àßÿæ7XßÒØ'Ø^Xм9täõd¿m­gjæL)æV ÷xV(ß *œÍY_{4Ñ`d<… ,‹šÓÅÀ áÊbVHXc•;Nƒ‡Tpuê°üº‡Ê54\¬×Ó¶‚É)$#l:óQ¼ŽúÝe:F®Øve-Hé%”käºÍ„? b)Ý•m‘'¿<£†K€RxÎÂ^;:]ñ;ê͔ƞ@O%ÈlŸHp9ËX³¥±ý"Ñ‚mäÉcô,‰??EÑ#< _–Ò¯åiÂZıõ´Ù&€S~[©«¬ çJPBGìc.è늡ø@›Cd`Ê@7§0ÝGŠòÀÑ?‘ÕïÆ¸£9Ô‚&².òö€öÖ݃í^A.%çLÞ9 Î+¡j›ªÀkž¼ÝŠ×£·×{d:AÚ|DÀ3ä€%öšrKOW„J#ÃQ)“S©$þ¿ŒìÇ·özð“0™î¬d%l{â{XãË‹nF.¨Ve\¨œ×p[Ý¥ÄMɶջGðÑ’Üѱ:Y ·Kœº!=Ûhoêñ6‘Ù ïoËwÃ%ˆÜþb(aèZw¥ûŽ¥UCzÃ?MŽ¿î‹‡´…ßý¯ÞÕ·ÿ1­ÛAb_v0IóçŸ3ŠD¡ù—s&fhH°§RÄm¿þõ9ؤE ªÊŽ[å3¬Çeó{¢Ñò •I¥ÓzkÕ¬Çé͈®Ëv{ÖäZ÷÷¤|?Ž~.á°ÀÜKc¾ŸÃçãxôܼ×{ó~ŸöO»Ð~›ÚÊ“íßWùù/Î{ #‰x¸,Ý2ã§©—ÌNâ¥Vé[º†pnÞ—É+´Ï ¼èíÖ%KþÇŸâfŸºüíôÝ;éí M@¤¹D{Fþ½(©ÉJÈÓ‹¤¬¹¹Ù†ž+•zª3kFb†$YÝ_*™6wt"*üyFð–ï!*»© }…°:õ¡z>U—ª¤ÿä‘—Cp!ÃÿjºÞ/Š«§÷!¡:c—vûåÇúËq€Aâ×›Ýû×eQãEêW¤¿©Ã›9¾Òåòuæx¾Ô²ã¢†Wq*¯ˆ™ºŽ¯ÿ¨G@Þîýœ­;ÿ˜ù«‰ô=sýëÊÐüi(ë£úW‚ü=ðMD5ìÞQÊ|s˜#ªwÛ·f¶)‡gDËíËX–ñ…Zú•õX*¥’ BÊ#¤aηÛmõBjà|—~*¥¤fáÔO¶Þvá¾G’5ïa«N½m’´©ÛÉpõާœW¸ý8u/•Áé;àd­+“—¥!*ÈÛç˜bzÍ]s¨²ài•™4±Ýõѯ©>X'°êÚ,ãQß fjÍØ™|Èe$0öiŸÚ¾×vÜþc¼[…¿Ð™úñS¡ëɸPØïñ‡†Ùauà_ÂÃ2øÝ/n½Áæ#Jåð|÷o^Å¥á}ÆpÝÂ3þ¼è†I®ªtÁuKFÞë.AT ½å÷i¿—ÂÛ#óSQÄï•ÂÛðç‘!Þ:¥Aò~aL‘h-”b1 \×ürK¸è7]Ê×MKž×­igq‡¨Ù¯dIÒUúÕiäã!zq—Ô­î¨^ã³x”"•íÎ Ýïdk†@("V®öÐ3[Ò zÚÆñsZà lA¡…÷U‡h=©žô „ø§°l õkÁØŠ‡ÌÂS›;s`Nù)§B&—X­RÎÀM%ˆÃö»Uví½Ø]Ÿ ì4Üi} ¦ƒÀøx÷$|7¸E€¶§®Þ-hµ¨Ù8eÐSö°ÜiýñâNp…/ÛÍ©>Þ†HCIJË?ù"·©Aü:è7B0'<ü ÷Å)y£¡|[©9Tl)†6ýi/+…áè‘Mç\O$uà¨Ó©àøÄ fŽúXÔ¤©§÷þ).²MöË µ“‰ >˜ÜÈa¤Ç6hu» ŸöÛÎøæv*ØŽÜ%¶œC¤jž _IPîÜä¶q%ÍÉHC_Ê)ÞÊleTpy±¶ŒŸ-·l›%¬í2ÁŠÔjÇHËFXÂŒYûG*“-î"‰-eøÛ‹º²Xêbzܲn8ߢ9Ê ¦±œØÄë™ [&cסa–)ùIŠ– -(D☠™uJV‰Œh\òt˜#Ø8Ë„~ø¿`pöm]Ï)ûFRõGlPþ§=¢}Ó² R h®®ÔËòþu= ·„Z.õWé·B©ÖŸM{B•¯,NâiiÙb?°f¾´#-3×ó5«Œ¨“ë±eÂýLiÌ- þ[ªóé+€Ó9+°Ÿ>†Ã˜ÖX| Ómóº“L* ­ðï!XXCs’«ééá§bíJÔ:“NÆ" CoÌÑl º?vÒµ<5GÓ”Ú&]Y˜ýƒ?:b<‚þŸ±,·ž=!Âñ¾¢êÆ6kÓÒ¤/°¸n&-Ø3äÚ‡ª¥KßäAÜý3í*!WÓ|-˽û6¨à’«Ù°~Å}ßçãÇ'¥t\‚ª¢¦Åɺ\JÙŠ*&Ê@‰\Ô™L]âÉA+6Œ)1UJo±K_€]p>ð§–ZG W^Ðw7‰¤²<ûŠ ²AT³}Îjƒs)1=LÜþ4ú>vâT+ûÈ®œQm”ÔÆ-/Ä¢² òëóNÄŸ"t39*ä¥ë„ž#~+…Ž®©À´¡/b%â”0›nšS¿#çá´ž<§­ø> àòÇZˆn…’éßt±.Óâ˶‚ 0µŒ…>¿=ùýÿöÉŸõäA,MzÓЯPÙ3U D«æT ›Û­¬þ–gwY¼UJüYû³¬±”ýWŠãJYòrY –w aN·bŠAœJçsYß®4‚§sˆ3›lì0¨ŽÔ{Ñ{ý¯®¸þŸ»â.ÉbIÒiÊž[®¶Å‰]VŠ*Ö‡”&ÖÒ3}åýL8Æ~¥$²žáDàWBÇb4§,8î ñ?Žçgïħê©Ç}$Æ7¡§_!¶æíë ù,õÄNI·œ,³z‹YR?/'ÝÏ{z?SSf&H<&;Há"ÉëÌüûJNªDTX¶èÎ(¥åHÿËK$÷Ñ•£<„S£5^K‘lŠ õñª8‹š\`z<3¶D/XPCU‡ZBÏÏrÀ ꨳNaÙë;G$ÙU©L€n‹ï˜« @ÒZ8×í{R­m)ž’_¨¥Í¤£×]â6ÿ¸UG°¨ ¼…ÞjwaÀ+Lõ`›ÊyùåS4I¢½Íoûþ¯¦âÙKby xË©NÙ"QmٌʤÐ×o"¹n=žnYËP‹Â]´g 8Ü?ÜoË;•~®¹Þcí¨¿û™_½ºübËo¶üjËïJÊ“7·{có%,#cK僰®›Á¹Æ3ØÓ ƒé.ŠMB_Ñ|Æ;çG“FÉU$sǧO‘’rŽƒÀ¤¹4Ò$ î£÷¸… vrW ù­™¿[}¾ÿöy«ç­ý#f²6gûxZÒ¿××0¤' ØÆU )a8ÜœD­õÛÓ{#ïÔÌ¥í>‰¡¾yyE¤ŽÒ„¸5U~¦‡uXV€*VZ‰>7I-L¥Ó×l½9õœ w‘Ϊ^?M†+˜´‘݄חWÚè+¤t<qù¯žZ5 c"^¦F¸2GbFôG‡\cr=f!Sˆ¨ÙÀÅ{¡ÚÌEÂ<8òjV¾_„<ÝqÓÛô¤ujÝ„£ÔW-NÀêÅ¿êääï™FsÈÈûñ9õú†´ñº |_!ë¸Ô㦒 ´Œ«§ 2òJn”Ïi¾æ *œ²ñ/¤ÅèþŠŒØ‹ž—¯É­?7n^§{G¶qe@€4œ}ÝVOP‘/ëóšÖÁàž±£è&žV¢0Í7$ Ti“12ÊÁ©wÙ i@¯Ý¦ZA³åïN[t”ú~ÙeYAÓö9¤r»ºŒ$Ç'fAFº V¢o“Û%3PÞ³Å?¿eÌèLÐJE”jn<$+E’ÔćÓJëê~FcíÊ9£‚œÌ?‹ðß»á)þY„ÿp~ÍÚS¦ñ°©©3ÉV$pmÛú\®EØVþcú »s§¢‡¿ÓžÜÀrE‚#‡'ÅZ!s2òYõ[òk®V½Of4€ïG\cñ{œª·iÌ×§#©¾áúD ó‘½f…"B@Q¬-רױtK_í™ »¥_¹CúVu'UŠPê-•†^¨5+{¦uYÿ;6J»º±²k©ÿÑN-.û¶cÖ¬X±Æ*£Õ“F—׬O­’yZ•â÷Îüs Ô+úHÏ)~>§ï‡æƒb¯·º@>Ù×!`q5F¬ò4·rƒÔ÷ÁçóóB{Ô=U¤WµÏªŒž²Xëóy]Ÿ‰LÇÁ*¥+w³J+wå+ :²‹ÙiͺâSùÇTþ1•ÿ Leÿc*ÿ;Lå×b×lG¹”/rqÄnŽ;†s\±œ´ïæ>Ã-ÄBÇv•Ž3®ØMÿ¼)ÿÍ*…ûÚ ¾sÛùòEhp³JѸ¬»C„‰Æ\™~ohBG =FÔï á.šÑ; D‰æ*õ:È鯖2 òçã  §4Öé*ÛÒÿ<µ¥²ªÜRÛ¡O§¶t%/µn•è÷aì³ménÚÒÝgFmèîÚÐݵ¡»kCùýêJÑ´¡»iCy]ÚÙ].ïîœöÐ†î¡ ÝKxôÞÚÐ}jC÷© ݧ6”×õù§6tomèžÚÐ=´¡»-^¯[º.mè:}Âk·ôºYkÓ^Ù²~­Î•^i•,_Öè¶U&dN ÐÀÚø!¾Ãr(ò·è’×Èäü RUÏA­nÑ~Ê…³eÔ)òéÉ|´<«¬Ùdq›?*•P£–)EšÓ7Œxõ$,åËwëmœ¦à÷ ‘õ2åbJ]¯æŠWsÄ«éñjz¼š¯¦Å«‰uÅ{y{5”i¿x5·ÞOÏß7$ðj‚¼ª×7>x5§^MÓ«±ÅÆT`¬!ðŽœë96âÕôlǯfüðjÎx5óñj®Ç«iW3¯f=^ÍŠW“.ŠåªáÕ,v"´OÛMÞõTêB ËL4šXk&ó(%PåKÏÌž–o¥³Ò ¿9JW¥+RÏ8ã(í8J;ŽÒŠ£Ôã(]q”b¾Ãå×aòzu”F¥#ŽÒŽ£tÄQRs¬;ŽRpyõž8JÓÏ_W¥#ŽÒG©ÅQq”"M‚¼ÃEZGéøŽÒS¨Tjê÷ýú„¬o6›kK(GG-jj&&ÚÖç‘Aåùn³¢ÇM¶Jâ–£t#.Bu²«!8ðž”wÊIh|›á¨æ ±Yk…qÙÚ›ùíS(šGz§pJ|–JU‚‡èQe¥Aµf‚ʹ,?Öe–ð“j÷ƒ¥¬Ö·Š´h—©wüÎá VÈ4´õ%¼ ’Ò¸ÿøôÿUŸ¾þf„K×ÚóüH*>xñíR;-kž ºn{Õ Sß¡ŽŠ?aê=LåÜNßJ­,’æO¯¹?AØ¿-_%¹ÜöⓤþE5ÁH˜º-É|nïaN X€¨_'lIÌü ìþ‹Ýsª Ä ¹µA—×w>Þ™ïcU?JU‰Ücð¼×Ãÿ~qœuLçó3èRC™Q•±ƒ·Ri‹¶vJé9 ¾|k8P¨5¦€–`¨wn…јøöàžâÅç’–4£x:o“ß䇑®ú–Ðê¤Hò ×%¢Â³r$×- yÝ"¡ªDÅ] ,ºN€k¢h¶ÚøøÙ’¦ŽšðsЦHuZQ3·lNÅ×ÊÿYóÿ•5OK"šA©ï62¯=-Ô©=ýÇ ú/»A®k 3mF-™×:–i[2¾¹A'B@w±Ð2$<þqƒþ;Ü ôšTÇp¡jƒ]üŸwÚ¶æQ¢UƹN@ 9r«ÿ¾ÜêÊÄÒ-¨£¹¸6 Ê&FäMk’v7K°›™ƒ}Ÿ¯K™µ$/þÉÓþ‹yÚs'ã ТXnY˜ÖèÓÙÞl‘þ$uÀ׿y \˜§yÓŸ³á¿ZÉí 3P<µ:€Ø"š¼‚lÂÞÂÛ§=OS¿{uÊŽ=\ôñð÷PhÕÆÛ“™£N—.BòÉ*% žÛÜFQåB>Z¯’yGpUšß§ñV8?·<%HM;îòÉÞãé$öÕ¾å_Öƒ8 Hmý<þx‹ÿUoqÚL²ìïïEœ.)ð8RÅ ÿ:Œ©Ï*N($cTqfTHf”i¨ è•TpÙо–ÇY:}Îá±ÌÑò„nž‘Ü=Ä›ÕÃgªm²¾ì»¹zP_¶‘2º~¯µT‡fªC¢»aYœv< Luè佯ÂÝ:?«C§Õ¡XJ”5.&¸ìÑ'Ÿh´OCù‡þ®¼Æþ›a,O¾åß6Œ‰ ãõ©èðÍ0—ÀÎ{0nëzÆwHGÔ£âímöW¸ý,ñHh_ö¦ª-B-=.¦[eË.…šö'gtFîqºK1Ï[ºˆ×2: ØFÎÄzKÏuÛQæ‚>XÃŽ=5áÛ£hËtÙ>ušò›åØ#Þ¤^Ýa‰ó‹¯4K¯+ª·yA,ózG·× B ïÞÏå|‡ÜaÂ]–*î87‘ƒëÑ/³j®w¤¶W µm‡ÌPî§r¯ü¼ÉVš6_õ~Ç‘ÿ³Ô‡ºd:“k{®«ø"58mïëšžo½å–ǽõ$—"TxUoËÌzÌõ£—ä4žåéÌÑ%¦{eÌlóY“hSô~.ç›-ï^)¤õ ’­ÎäíDžÎãÊÅYœNâp£Z0œÁé.ço;}§³w;y|DMnsò¸„q|^ÒÏ% ?öÈ‡ÍØÅ¥«¸Œ¢ÐH¶:öètý±@ṾϸòÀêçí Ñ1d×zÀwtƒšwÀçÑr¬M;}ØÏõ) M§ôW”ÄçGyÔ#—¥4.[§á©øô#±\x¾ÿ’FÆÓîî›zWD@x½ÓôdßÔÇßïkùú´¯;\N…Í‘€æVÍâJ{…Ú7=õmÄKü> ¶4í¡µ–$S~ØÂÇÃ5^Æs±+•1ü06•sÈÅŒãóâºâvMEÓG‡yª9ž²‰ðè›ib8ÉmÖAÜU†ä ¯Â’6qjºjsÔüi3Ñ÷Çý¾‚o ÉäìЄc§6±k/m¢22Ò‹Ë‹M<µ‰S›h¯Ü¡MÌN½flâ›Øcgl"¿^Wp?—ó}'GׯÝÙÉ#;ÙgwkvOŸìöÌ]îò馇 }1µ×¶;Ùݹܬ;â9>Ò»e'牷gÜÙÉí/vrö{NŠ1²“gvrÏN¾²“ž:cÚ÷ÈN>³“gvò™<²“cš#÷c·e§Õ<³“Grwvr®ïïj«ýÔã“ñs% 4œ›Ù•E d Þ›.[š ÄuçÓœx^7õnDSM¿<ëʉ^gšSTh†ñ»¾J— ¶qýƒ;R¥Ì”вf{¾÷4]Òtâçl•H—åTý¡Ž:<»ZV‘ªm½0ДG¯`•[[IMààC_KhÇsA¿;)‡ÓÊ22¤Ñ¤A‰ Ï×-fË(Ò¡üö)mÙÃ\í×õƒVš§_bÍ2jUÍ G@>b$t¶×Ó®÷õýGzxÿƒN}z NÙïãs8®¿X ÿÉ.ëÿ†„W×x¨É<”2œû­€uÑܹ\Ï%½~&úT¶ŒBš…õêøx7¢Ø¶ƒÇgí;>«—÷ Ö¶W”S¸†ã¹ ï0Ü©Šã¡ëCBlÆÕÉ©¢ræ,Òß²»Äa‘iE§Ž^²Ö}K±áìöD¦œPÛäHµüÚÔ×W”ÌOÅßp“º`¨Ý7J$Æ›îSS»¼òq—¢*•ô¿†=mNJ(ß,‚I„}P&<?lfä«—¢0ÛÞ¶‘ÏñE¹9%‹'UM±:•œˆ#õÈ."Ä@írûûG"§ô5iYJä²Z:×Ð9<‡ÍÓ>s¶ÿm¨Æm€+é3iE`ɼмBè¾&㳜!®fÜ‘<¹"ÙØ¸òLÚi¹nû[—bŒ(š 6;Œ,¸Ú[ùŽ.dŽõêBÁýí®•\âSÎòÊ{æŒçvø©BÑb5ò4f¥ ûrç~ÓÔàiAE ó{¬†8cd6ÇÂI:½Nc¨.*z¡x©ÒÏL•̵·Nf–^’ò’ʹ(5°SýÏlï2Ëö4`ÈCôbJò y¼ W`zN¥B.ú ¦_éüÈY.M9ýY½ªøX,¦åÅ#¥/fcîpÜzer ÜJ=ñ3Éûxú…œB£þ—ü/#û»ß‡a‡›œŸª¾Ý†öyÙ|ÒiÑt¿”ùƒ|R‡ˆ(QülÖZ/âOŒÇÍe¨W³:ÈD"ÓEÄ— ÜRÅhjVâ­F«j{«WMŒ¤˜qH¥EN®ïÝX‰zÊ)ié2t¤ýœ‚‰D±M'˜¾žé÷‚ÜÎÊÆhÏZzÓ·÷S W¡yXéÅ/-æ*ΫžŠŽŸÌ°ñ@ñ8? ›‚´ÝÞÆ!0t¤6ê2—à<–n4ÜÒíÎÖKIÞ?>ТUrÕphúÓQòAæŸlâT©M„ˆjRoeÓnöËmz b#‡No,³8VÂÛÉ‹ë1¶™äôý¯ÛïGAÙaÙ›ó`¸5[ÛZV½g G†s[2oÙI-¥QÅ1ÿ ö¿GªmÉCÜÉ#9Ü~®³€1Kjd§^¬œÛî’—^SíÛ‰‘þ×ŽŽ²‘3©ý9?ÐHtH¦y¼á.MÞ–Ç·]5š ™Õ¢|Ö¸™[᪲}Õðqª_sDe¿Ö©YAw$JoÊ3´Ú‹8ñíYt©BzZ¯¤WÑÐQ.ÛNl=T±\2Å.FÀݦbŸß`aŸIÃËqx·¿ÏÒ™¯??zMö»dÌdQÉL'"$£r®öñˆ“6uèjÏ©¬5WVÝ´‡ëmûªª'Üžc“s%R³[MÓÓÝr©hg½"ÂxÚvÚ I0a›§1¾WÓ"‹Lº·§PS³ ¹gŠ ¤Ô°µ€8h—X”ç©‚óhpϵ;rG÷pXÅA…t§êc厫ãƒ~W¦øÈ÷LñίLñaa“øù ÖA¼=v".Æ÷[Ú‹\áLå · Ú–®XTy4*Òmö­TéJ©êæ÷‚ÊQ›ÄjšUc[T >³íËê&ô]œÏñppÅ*©û(šs=V¾¶ð+YÙÍeÄèXØ6üi®Œ¯¯Ÿ-†&íÓùµ¶]\ ç_¬tNoi‘„rþ´YÐL‘íÔ¨¾9‚Ü’)H •Ť$ºàõòô°AOú²¡¹¿ZÍXaÁ× ¤Õã¡=›Né»ÅøhYÖÖ ñÖ¢ÍR?ÍÐÙ@f ‡8$XŽôˤ]âýÁ‹~N#hò™´/sÇõpë—Ïñ¾sœÜ1· Ú±|–§°¤ÖɯÓMÂ8÷ïOïéSyßöCíÄoM9 àúñyÛ $épÅMùÎf5Ç!˜Æ:½eªU.¶Ü,é¶vŽÏéR¢rûÎKËÊtÍŸÓåAyúÞà48êTkÏl.Bi÷ÎÑ o³}¢I®« Çúm]Õz*N|õ áC_§=žþu¡O}ÉsþÅB‡‘ÜŒ±Áþ+”øcß]1C=¢úŸwåñf%u¥Fª_/pdŒ]ÕµZÊtMo—ôvEŸ.è´ýã‰f÷ƒt¸?RXMíc2ÉånñtXËB{uß.äÓu|¹ŒOWñvO×pOê¿§BÀ•Ïý4€1ïŸîúϼ²ƒGvpófmÂ<Åå,ëªxI°ÞàðÍ/ø—Á’½}yŠºJ\J‹‹ÜsnÚ¼D4ŸŠÙ_ öïìà#iÛ{'êU¬Ù~„æñµˆ‰+žÌt ÏSý_zÄrW¢v^'áº0•pvèBpÌèRÿ\׿ô8V ñS‘aû´Æë¹Efj•Dñ‚Kb—½}&3¿ò·PÛÇ¿í1Òé]?RyÜmä  TX ®Çm<ûh&jÉ #réë¿{™ìª3ñ2ªÙ&!;ð¯^é3ÆU_”w* Næï#î_ڋؽa©„«åËëÊÌÆãóí¬ Ðöœ%1ôëBoWÅ=z¤Öb•F¬ÒÌ .gm:kÇ‹ž“7ÓM|2m{§­ñ¥:L„bLÍewîÎÛÍyº7S”\ÎÆòh=³þLÇãÒï¿0Mÿ; |ŠKmò›Ú}>½enø¥LÅL¥ÓÌ–)âåJVæeÑn,[ ÒW Íú×¢¡ÃõkÁ5Á$£Zžp²<Ü ½'}âá¯Q¸ž4{£fŸ˜¢PUœ–-cµ¿XÓ׎I ¢wæV˪\ÉŠç†G¦wV¼%+ÂM7Ûà‘þž!•øë¶ít]B2mÛsÛã¹ï‘¬¸·þtMFÖ}~ËŠOS¦ûú‘Ú°HôóÖAçÕʾò··ÞWóì©ã‡a;½u8¡y¨¥“$ÓÍ­×K*»Ö(W³7úa^{g¸˜O —uŠöàr©„&…9½û÷Ò¼}1¼3€G_s;Í)èÓ)€ê0FüïŽ 1éƟ› Õãr“0¼u»ëAÁÈ >¼®ŒÈÉj"ÿV÷ݪûˆ9MÒn­ÐNªg:øîKpÙvg?iÙ§°‘B©Ø[B¦ºÞf)|Êyêe×bh¬V>8ÓC ¨‘ÆÝN!2õÀ÷öz ñ/órE°×ÔŠ6GæËs±Þƒþ¾¬‰ºêì°ô  ÀH¹®&mÏÊ׺„Bй“«yíßžKˆ#±žC“æbóž[/àr¾ÞÁ*ëê4ƒK¢´î'=¶¬l0STúŽ BNeܰâÑ6©CÆó 0á3“Çÿ¶t|ËнÌÈ‚àï;pí‹™¨h#ÀôíYJÅ$aÍ9'‰_—‰0Z1]b½k·<Á8~½rý³¦““—†èÉȯßD6VìV#—ItÔ‰ÚÊ‘(Ú’åöpÊ.×´ ±º9AZͦ 6Örl+þF$³ýÌ:¸¾;%©pÎa‚éŽÔEÒÄ-"€uÈy7?i&•»ù|*ß&òÁ½7ï½ýý{oïßþ‹kûV#ãùµšA²(º[e·GOõ4¹çaäÍ÷ËàdµÂÑ™ÒWC»Ÿ+œŠIj³¥í qøÊ,§Õ éþ‰RÞ?ÀÞ×yãE@“ïÄ^Ñ {y̤Tग़hæc_ºz¯&–ëÕ“³ Ä«úŸòóí]½Î`Dë -÷©²J½æÓª$VŸž¶ ¯õyu?ŸÅÿæ'f#hðE6Å.`5ykf¸Tâ(Nkžìòïðj1s·s]?ßžÜ<‹BÈÀ°:xV€ŽÎ`BÏ`B· Ð×ú¼®ç³Â6ÜqShêw8ç‡kw‹Òt$ªWËŸ Øàtë×u‚ì¦u<¸ë#ô'Ši‡è€gí ø4!–XÖKº¼ýâètk6lš¾IÉr^%€t°ýyrþň?¿ÓI™Ù­_Â_þ|ZRçÏRÜ> Ò@µÝæ.'<, žO)˜¦Ù>5Þ×ðs!×U´Q-å9:dÞ­2KW¸ój™gšV°GÔ§òˆ„´M3³Ë,rèÀ§}ênw[° §f˜ ïKú*ÿ4ð u¼È eø±nfšÎÑ*8ß#ë©ÚÉð÷V_»ß¿ý÷Wß”kWjKtÏ¥ì\š“<¹CP*&‡ºQ-Ü,ž™¢XñlfÖ«Bç,ºÀSñ—u*°.yßê·TÁäàC§Mé×û‚~^#BœlþB»øJ÷RÍê!óaõ:ÑýzÎðÊt,qõs»|îö6!Æ7÷ i©É"?¢DK%ׇí)Š¢‡ótÈ:@Õñw{ZÝâÈ“f=­Ät&6%Û‚ñv L+Ñ;eÏr"Îxá§ ÕúñC÷¸&Ð^ãO 4©›a uÌ|Í­ýw{:£ëmt7Äö–-½õtìwе¹ÂÄÿÒÀOç4 Ç³%kÎÀ¥ëç^%ò xJÛøsœµê5Ö6úäpe{®óÛµ—§Ñƒ–—vAŠ$ª¼#œwèªÎÃHš±@Öá[×ïÁ™+qò>àkê³ÐÙâ†.Q1ä.¶ç‹^Ú“º,;Ò£ùÙ–©Ïuþ·Ÿ·My†BË6ßyÎÂgO³ûã ÒåÊ»?š¾ìV#¹ðWë”=I¿Ã¡¡àf•ÂJ·XRáÃJI¦`Î+‹R?’#°…tË™ùo_À·@;§[:bcí÷·YGËïÿ;>~†µ0[ÖÄ­+˜Ëyûßññeô§9,ÔJzËáp¡–ÒÑ2œÙVB'õäék $"FXúKαÛõø°_! Ú"PÓÅ e™3~yËÅòt ž±Pª/ÿJ\Ïâ1kfÇ¿-*@ZÇ“ª:Ñ:£N¹j¡zo«Ñïn•±ÈlÆSz›¶½cœ< äÈâ^?êÓ‡iAU§÷‡r‹—îÿîLJgÚ\9³C×õ üÊ£ë.ðë¿?Œ¢ÂsfÜ9#ÕMål< ±kI¹D»¼ÌÍmÎçR­á4ψt »Èþ£ë"‹Vý”w¹ÊÊ¢ÌÓæšÉãÅ{b°Uørí»¥3cp°¼*õzÎõ„ß+%Ž-+d6±g8…˜Á…sZ”Üj³´*†”ÒÙ¼^;ˆ.ì$K·³¢ Õ(‘^l¢¡žA‘[.T]ÀBA¨Ž)[/ë˜ø0SP­Ñݸ8Câ2žXÔåÞR…{”Ýjw¤±²gÿ± Ec8HZJcWªq‰³øâ«2=p[ÞÇêô¸¤é®J!`š²AX>Bk|^hé£ý ” bÙ”ø;ÂïÙª+Yz®aù}Úvãǧ„ÊÂŒjY‰óq…(.ϦNbÞ´$÷6|¾\û²HQ–9Ø™3œ-%*ܶä¥IÜí ô:-å‘ o1O=æ‹ÿÅ9¹ï=ž”Ñçœ.>Æ8ÏÀ÷w&`¾’¢=£„AúU Â4{šù™"jq²zæ«ëøŒ´jFÅ"ß{\Q·xÆ[Í3Ô*J¢DRš‚ÙZÔ+kïñ¸2nlÅ<„öò>õŒPñ]¾½¾d! ÊA(ucN‚ý|~ªïî¨y <¬b$ïÐàÍ:˜ÍlølÚŸÙ¼Æâg4S…õ{u$N-ËVåe£á=3ãúïw û}mr¸vêùOi?>ï¤ÏPÀÏ3¼?ûbÐoâìDð+{P6ŽÇ-δÅLÿ.ÏHÀpö (™ÛõŠ7òx!+¡ët®UÜ<ÅÓb»ö縨¿ÑrU˜³+%æ/²“kçÜjOwíÛ¹B[ˆœ_Ƈîa/ T³sž ç åPGMÅš™ë ¤¯j&ø Ê—§yªò²{´/@¹ &j¯/¯cû<Q¿?ÇzÎ-ϹÖÞ´¼ü.ø-©6ò-½^¼Â²3-I²þp­U§Ášq¦%~¿öSÏÍÞ'0:R/ŸW®¥×,ëq/¹ç¤•Ö2P):ŒfpösI¦‰º.=‘Ë0ËBè’Qª¼ ÷×<åß 5"žs×} âË„Á Ü£í†s Ïá}+A›·¼+‚ô­’|=ƒI©ya[I_‘ƺ½ÎÒ6éR.fïÉ|lϤ•Fýð I|rf0¯WK„´¬ö²{xª(I>úY¬€ä¾"‹°[ªìГ ŽÓ1¤yýÅR®åPã:ÛƒêõeiŒ¤þ)6×Ò[R«_æî·mÔú—k|?éÌSFËËtr†|÷óÓž*ü}}¾ù—y&¦}Ë/oÕXJ bqêDžÙE¿}4>^­LÔÏ[ÈXT²óé·éC¯îCHL,²ï¦zZ?›–ž·ð {ý…½Šç{äâ%yþ휅ìcÛŒ<ÃÒ2¿X0U¤ƒõ ëXÇd TŸ\XêíßW&&,æiÒîû»/ß}ý­w7Û³°xóxÞîáÿ³÷Ž ûæñ(t¨¨]ÿ×õ Ê÷×åE®ü=ýÖ~û­Ë7nÉ̉_‘N[x‹mþ›.ãyç|P>–cì´Ý™‹ë/æ¢ÒÃ5ªÿãƒñ² NOËÏB¯ß.ª€~2wÿêÆTª?Rpœ ýǾþúæÿë³ûzcÿêój‘7j.Þ¦Édv•L<áüµ;™ý/%ë#ù`y§õ²Þ€ñ¡ŠŒÍx¾s>ÅÔú¤ózÏv+ªòãSëÏÇ×Úòcëí¾²\ÕïÊ}tøïEü[A5—™\%–q”%\…Ì?ÈïœeFùáEñò ÁÏ+,Œ{RI:DÑ5k œæÛƒoPÿéÜŸóÕ;ZFc$+RFå°g¨°zpõm*³%|Ï/û¹ÐÆ…nqp´d¥6ºÐQë*w¸,© Ë›ÔôÊ´*éIÊçU1ÄB/´„„¶ª^u&ªÜ™¾t =ߦ¦4óÌë©°'‹žZʰ[Du 8]¯z˜Õ€2ÿWjȯde_Ͱ žÐ²huÏ,4S¬ Al?_÷zjK§¦µEV¦³~Îè99Rµú‹kSn°ñácŪ¤ýsæ¾øK´`mjÝã9æpÁ䃟‚éšÐóx»b$4ë$ -É•Óñ’¸»®šóKǃÃj›—Ÿ®ZϨr PjÿQÖý‰,c?^ ]×?y{gRîßÀÄÉïwp|Øüë«“Ø"vÇ#"©÷é,V@wÝÿÇ7Ç9}`S¢Uøÿ±÷fI’ëHÒîs,ÆEˆ‰ö¿±¦ŸH÷Ȫ>§*«o÷ß)’é¦tçb0بln—­P¿Zúµ¡ˆx5¶ ¯B桎[©®EyZ^ê/S^ä{Q¼4+“ :r%ǵ#(º°¦fK½*ÁÔ’‘Ø}¿ä$T©Z4ácÊÓSUn<4™/û5|Š68 5Üʤö?àU4¬±Ú5¢ñZsþŸn,=¿æc5‡G&a•åÂy¼lN”®b—¨ŸåwÿNsÆ,­ õ$»˜ê>ŸR0¼äÄ8I¶y»,ØVêíÇ[f‚´Gmq¢ãý{/CJ»¶« *óα[þO¼_åþ­Ž7nÈ1UŽm/¢|Nÿ1ì2MØ yèñä†Ui®ù7;D¾feˆ¬ej±ÿèU]—ú£ bÓ?_YÁÉ䣋Æk¥I{vÕrfDæÿ©÷É’äÝ)k%¤ÚYÚÛÇi! þXð¦×µV½çµÖ"P³lˆS-˜P;M{^t-.H®jgmä]ä-ýb?zy?zñ=ˆó<Æ=tö9±ù$…2ö_ö|×z;»,ânßòS‡“m%÷=ò¤ÉâÑú­¶©–«&Á͈‰E¹ååPXño‘EïÙd$¿BO+y÷í=)ôÕŽï«Ð²Âé¦Çeõ¾„»K9óe¼[“iREð,XõÓiðÇK õ9-=¼ZÍÐÛrl½ï¯{ZýÙ:oW^lYÒöåxõì2P×­ã½S…"¤Ö_´ÌéXæÐ¨fáDÖœ1‘#Í2®’ý¹+y[¾Å ÈŠ!éÅî6r¥ ǻؼ,Ƴv°ñI6#½Þx„îfÂ+œE£&Ö¥3Ä$¨hÀ·ÝIñõ”c5‡]HøÚH^xY.eµ¨(p*]K™öغeÂEcD{¦æÆQ¥Ã*œÊžõûëSüSçãöãžÔ™tEE5Ý}c·wpÛ¯‹]ÙÁ®“Îä=PŸø.´ú*ÿ¦Â`]•å⢗r¶q¼‘¤ÀÙh#lLž­Ü½õs˜~qÊÓvàìÒñóÖ‹¾¬˜,Dò¡êš´'©6Ç£K,t¥Ö+[釮®éÜ&— ‡& büX]K#…÷R/8Ûùca¨,© ºì|wá\9–“×5g¶œ?Yýû´*!{$®Bù¦í€ýa¥k$ÕÖƒ^™ÃÅy[b¾ŒåKª”.ìŸ.ÒEU4F]˜Ä By6 ‹ŒìU¥/b2T-/ ©.þ«]E*/;k:€£¼~ùL_^YJýÐóíÇúߤ;Ô/SA9h GDIî¿ØÇ­FD.¹MÅ•#ªÝb@t½lÚ^¶H0ÈÕø£‘4T¯gß'^§SÅl¹Aúamæíq©Û){n—¼(/ÿ"¹ŽTú’ õbö³Ž;1‡üÀ†éq™ô¢UD1%±™ÄÔ( ÇäÁdï˜Úc’ £ðE}ø:ɽ߾ìâ)!¶âþ‰?]o¦©xdp嵈£—³”–·:oá_§æóå}õ©eï°?fíAÅæéʆچLKúrç§ø™¯;1}Å9¶3\O9j©®Ký›Mþ©{z¾Ý3+ñhm Á‰Š¦÷_¾0¹p^¸õ‘®ß0%àù›/´Ë#n(‘Ç%áB±fä_’-KáJ *ë*Âô—Þ] †k»n74¹â^ÖúVgwFIúýݺ4¾?»ÝUËz¸xÕ¯,úöÞ3É ¿ü¾™ß?;—Êýýl€ëoö¼†k’jn®±£ÇåzÛq7Æ Uˆ{÷ŸýgïéDÚÈIŠlʃ"Ô·xÍè•Ùa0;|Ï 3½9^~tÕÓ]õrW ut2Óf{ é⠋δ®L²®¸;:ÓTê“bÔ¡ùáÂn¨hÄ‘÷ýW³Û¢è½ç:½Á'_p¿àŽß¬|-I«3 [›+½‰؃½¦={ñ§v­‡2;5Šƒ\ÊN- òà•ÆsÞDÆí~öôl⨌fé’¼74iXµÉ9¼˜õ j;yóo¾¥ÊݦʯãPIÙc­s»?º YÃäù‹W.Žv}Õ®ƒÚçß¬.²:$½l΀Ut…¨{q#®2®"¿ ­P_ûömE”eRÞêD~É»9$å¹áеWü•–=ÿ~—iÕÉ":› Õ^jÉc¿âóö£ÉsM¡óklµ§nµÓ`m»Ëýƒqã[šî.§b¹œ†E"AôÑË>FCóð·_mÇ:÷bKô"{Ö`–„¿”ÞŸöi­>_øJ,’qüýýdƆ«§èÀUóa·„{¤ÁÓ”¼ì«v4çvÀª0µ6[^6•Í ÎªÔ\¬?Ð¥ª‰îÕqiêìNàȨ±FÜ{å±Dñ?x‘µ`0 ¶tÑ@û³[žT3¹ùCϧfê?šÉ¹=+<Ÿ·ãpÁ!\«Ò•é=¬d/r¤ër<Ú…Ó|qPZ9,H­¤èÛIººP06<ëå…ØIÄQœ Ø\L¨=±Ú¿\©.z·F¹ý·UƒÑ1Ù ©v)âÌÄ)ŠÄ rKFsÜŽ{y$]D]_ohITÐïø¢<^“&ŽDt¯¥“¾dø‹V×HfþQt%“Œ­¼îÍEÞ㪠qW¦Äzc3¸}¡µÑLßMQ[l/a±"‘Ñ"¶©àӬגYG%]·£‹Rô!Í„¨élŸ‹‘_Ò‰Í%“õ«ó #½­ïvVž‰[s+.ï©ß_!™©ÛÍkx â¼ çné“4)?þ׿g9…çÍbƒCò©†ú`ÿ}ZwMz4ñÝm&UHCbÐVHŠ@TŽ+uBõ6¾’5@ ^0XˆëUk›ïGò4÷÷¿½«œØ^.ú•)õ^n*ü¨7u1°¤6YlËÅ%ÑýUˆÄiZù$Ah¹)ò€Iþ"éûQ)¶btš6-²|î_*McœTŸýÓ=GÙ‚L‰-|jâleS™ßz’þ/ÿýÕõ9“N=ŸÝƈrî·uwƒ⟉–>7Íß<ûìjÏÏÏójÑSb˜)gaÙnˆü:£wž“4͇~T“¤ô_é`”ÆÐ摊2IŽRŠï´Ú÷ÙZJ DÜL€ý­nC [b´_ŠÏš?î +^Jq‘Iq©Çi³KÅ_cpoº^—U¢¦çe%c7½ Q%óÛ^óš°Ë]Í#óÉë”:«ÊCÛ)‚.W5­°½Tô æÒ… 1;R¾ù¶²‰ºj´ÊÕs¡Ë”´µ}tÆŠç°jýHU¬€s)TϾ_ããÁóµy*=Ð뷮уŸ(:‘½aX×(Ù·sü/lÚ¨ai§ ù¨ Üçd(ënÛE7,ײpÅlÐ%Ÿ«nŒ¾¼Þ'„â:0¤Ô¾­¡4R ¼]O”ê.]ŽË¤œÁ§¦N‰ “9ùÙÿ»ŸD¾0 ÿâEly™%S øå âÉv§ºþ\úº2ŠÈÝZûG‚˜B0UI[uOgd;櫎%qî‡ÙišÅãÁÎL³Òé™\‰nÚ×gmÐÿéf7u'¬ÿ­©ûϦæ}»QÝåÎê<Ù·.÷­é¾Å"š®õl¢»/ÉOøœŸ} ™8»M]wè¥êJ~¾¢þñŠæÿÚWTÝôEËl‘KÑβ*±/Ãʘ2 ©Pç¹[…Ë÷é{5Ãðœ+ʼn P£pœTÇÅ îÛy_ø|«™ðÀ:iÃd:\&á$ ŽSÅ+M ™è+1y*!ƹºeÅ*g ¼µÃÅÇ}uNû’½þÚµm+ibüû¦ÞWXâ]Ø-|þ””öÂàtØ“D™¼#9½4ieù}IïõÌáu¢¾É{mMž´ ¨]d‚]”ï¼X¥$F}kjCµ¥Ö)AÔÒ#ÚØ[ð<ÐH;SµFq‚%{î¥Tu'ªß‹àñU=hºãÄ»ÍáÅœ.z]Ú—/&…¬.æ[z4ѦZbVšÎ¯âAã\÷É…7‰2vÄc1fp ¬˜”}©êò—=ò;O¬!Sð¨¶û›\)ø}I‹Œ|G&z·eÏ--m }ƒt :¸n”ô‡”GgG‡c{ö˜J|¸ÐIœãk•^‡3˜oujÞÅxIÉÚY}.ì•rñð{”6Oz¡ÓzŽ®ü%Òÿtœ8n=“uSzn)¥e³ŽNyºõ†—c\­ÛÓü2m|lX¶Ðú¨ÆÊØÆN"´‰ÏrÓ.B~{§î5še\Ϻhì1-;–O™¸¤šZÙGñG‰ª ]VæÁ{ë4eçm:¾Í…2 éP¼í,D/×8æ²AĉE§êä5Q ˜Jb®*—^(‚ìÅÍ%Èì*-iôée'lu·át]•ì]“Òdöä,ün‰°‹ü‹#. sÊL(ëA^ƒHKL«{\øxjù3gÿî9»6ô^/{ô³TR|¥mžÓW“þÝÕŸwó—Þ¿+ê4iŠ’–% ¤2ÙÜwA:¶ÜÙ§Ï^¢Ÿeƒ¢JAC¼NªøHWûü.)¤Æ¦ ÷QÝfoU!0A•Þg“—äü|’vÍ÷'ùûWÔ\[¡îxØŸJЦ›YŠªÄõþh¬¥Ý¦Ê1Éáã+çp|÷vkùw›æùÀ¿j¢~¾·nqy¿rbÝWŒb™æÀcãô̢͇!æ íåæXX[ÛÚJµb§²b@¹2ý|"MÜA&A ݆¾z’h'oË º~?p.¦æD{ ƒTí|Û[N© ¯MãÇýÜDEN¯MOçþí}^[Ù1ŠÏü¿wÉL$)¸²éÐbË稠ú7ž/¾½º|~¹V¼ó5q*hìÌ”®ÿ³S.f%“Ÿg¤ñŒú¯ž1ÿüüÊ[WÖM:pÿ'9CÛôzØè×þÒùï_üâlÏû¨ ÝBi•t6œ×ÊÉ2M¡|þÕûˆóF)ÕJ³JþM11unJÌѹ)7Ü7=RI¶¤Sª°¸s§7Õ8ZÃi&Ñÿë΋ͥ×ÚT§¬×¦8r})H’è¡=Á¡¯ó°\¿»—•¬DvÚae½O£?näth̵6ý 7Ò܈~·Á‰§j¦ÀæT›@•o£péQ¸•>üv3Óò¸©ðclŠ åð¶}ò@µ›ø’üÂòÛ Äjðyõ»(»|FkS3]d :|™>¸í…d7…’}¶oŠ®ïÚZZöÜ”J`róažíÌÜDw8Æ#Ã{ˆ™B4â3”²Ç•Dm~7=­*‹ËqS½ƒ8kG…¤èm+/ \´q´aÆÐwNÇ&„£¡·ÝVsµ·Å ͺì–‘,v6œi;[l·Uu—‘êÔ{ÚÆžŽjXò‹½ü I8UÇkZ_›®EM¤–$„†Òí¬¨NQ–~?ëDÓ{áíå å–¸Q”9;Ò‰<‘V”"Ö ‡V¶hÀ´Æ’SHs‚àEþdY¢%v£ƒy©>d' /Š|âKõ¥B6—ü{ÃBuÐbÍ;öÔЈ*R£ü©‘/µšñyNˤ~ä„ÈRêÄ]Ù£¬¾ž´²íPÖ¨67³CºÚެœoVÖ“ÄÀXKˆ©“bätPê@ò 19T»J5«†êi°áÑÒ¬FwDå´:ýBÙCbΉâáò&Ó£_ÌðNÚ£;Jg†E_mµ§¢Î­4’NwÚîqY½Oj~bQ—%ù0õ÷ãÙG¹¹J }±/œtW‹MxQҔÌ'šyàs"íMÚ¿eG¬hx%,Š0±I¡û#åÉà´ÐU¤QÕ»£:Ô¡z–SW&§PxWÇÈ”ªå»*RŒ›è½rÌÈ-+…X~†%îQÓ$MvÒ‚¾IÚWñÁC?ðŒFyY@‰S%½á€,¬ ó¡R+ñнDÚ5 J™<^}ê âŠOIvéá—›v<yûÜôT¦ÇÙù;%_+ù³<ËËcej+›Œw#¸îÅeä[§P‰òãÍ™8Â!´è›ãÒsRîåùÕ N¦¾‚T¤vñRù1ì'šd›ÞŒÖ°SŠäI^*9Ƭ–±ó%gQ(=Fý“úÛWÃiõ »ÌL%!Ó·Æ´#ÓuŽ/þ¬Ç#?9t¦d¥¦“«ç©¿Ä£Ë=ÑñÉ¥¼}¥b8Í „üJ¹xJ‹}¼(5V¡º›Ô‹ñCÖ¤IMeWêÅ\g¥ïM_êCÙïú¥h§¾”·D列™q¥qJÍ6.nbLt©â#ßœü…›¾­b¥•8…î±ýbºî¶@*ïn£ž»ó² =Gœgè- ûpcŽrÙx`-5XŸÒ†öS­>øjha»OÕíÅÛíZÑç ËæÐÉtë…·>*Ç5㸕˜}¾?oùß~ËM!ÝΦ$,'ÅN &×./¿ð›¬ìߟ…s¤æN”ŠC!ˆ¯Ô&ƒ¹öjŽR9¾¨YɹÅkÍn\úô­¨Òmýñ–U^ä´â” !KÉ÷Iä¼y¨Àü÷KTÈ !bhmxtõCSR—&ð¤1šùH•q0ÛÄ·• {,k ªWîâsqfÞ‰žìzt_êYhƒ^D˜|¦õ•ŒÒYM¤G,?<Ï”ºý %:î{ý¦Ÿ.~‡}Ñdp©…LIÁhë„S…ÛjÕØaÙÞ´â½lÿAµï[I=@ðÅ&ëã­-ûÇ(ò˜=ÚIiÓì” Ud_áGÉçq=àËß¶†+NýúôðR_µº“;KrŒí¦þúé§Ò7*Ï{A¤º04>L¬Iƒœr|(6{ì=åU†QÅG·Û»øºlAc—?±'©‚–+¼ˆ[?ö<å0’Gñ» ð®‘,[9è´C¶%-ШväV/‹À:övµ‘3¦ØåíP쀠‡n¶G8³¹8Š” ƒf·³A³a³¯v>¨ïá*vLÇ@]ëf'›™ŠoщÓ%z–ÎÆA×½(åÝÄE¹ õ†"¨ž– ‰Åb§3²D_Tt‰³#(E—yiãeÃJU «oéÇ v†”czŒ›fÀ˜¬{»#g¡_~ÝöšÚM»ÔHIWŠ=¦¶or‹Rº„ú6r|í7ç´óø¡‡ºƒÜö¡Tù ^;>$~2¿Ü#‰T¯'yT«¬qR*.±®ó•Ãé0›ÿ•_©2<¾?¤AœžúDYðlÛEá\ÇÆ*ËÌûW“ç¥ìÏT«.Ç®¡L %XšÊÄì8’03á³òãlž>è‡Ý[Ç6Ç¿áJ¥XÎh#Nh\kbtkl¶¤vj°?¯sú®Oß5ÎVÃqv(ȳ׸#¥Vƒ_íû JF|`V–’…¾¨HäûÑ£í‚åg»E']šü8Ï?ü¡ü#Hb/§;>ëçh@ÄRåƒN±kY {É:i •ˆ ùÔɵʛÿé ±Ò.à^º 'ŠU¯Ù Pï_ÚŸ×L¼k׌A„Ô‰“Ȳ»W ”âm·¶#ÅSÖ²oɰÕ…0py±]Åâ~\¤GšøÀ(ÌÁ@+tððáÐ=—ô$šÊ×]É“™ªX¥À É–hÞªªÓŠDÇÃ%pûT§(Ú‘kb›žàB’òd\w/Nv'Q‘:e[¡ÏJ%;ôµè`Ò‡¥ã#Ö4Åæ¤{èÊZ2¥CV·Ñ gVªfö%·QÁíP&®f×õwR\.¾U<¢»Úõeä—^·4ÂŽ@)ra%To9µ¦®ÎZGú£0x/§È´?¥²Ûâå®B^ÎKÕ:uüâDûi™ùد¢9Íî©í´f ÅŽt23K)Ý]·;±ö9RH€Ý‰á>È 1ñ.¼&Î)Çf´ž;d»Æñÿ´þž)36¹ø¨‰L¥ > ;«Ñ¨^­›M‹ÖóHùÓàs·_ä@çÌîY]Ï.…_Á©HÁˆ’\D -ðÅÛAVÞ¦©L5ùô¤øûKÿã¦só)EÈRÜè=’ ¤Él~íxO'á+® /Q^S,áø(cœÙùC~© ·Ç*sØ€Ôí[yf×+î{©^'V'®ô¸2“¹\àPª¸À3I€“µTÓÛ6Íô4|úzYè(΂…¸%÷P»Zh¸¢'>ƒ w©ƒ+Ã}äX>ÈþFጉ l\·—M…,Â"Þ`û§Øküþ‹èÇ'- DtÝnÕocpúŠÚ\ÛcS*‹‘®•9°â¹:^þcKÆVƹ¼¸[·.Iv“ï3æR‘ûÔî·$Å覉›´µ6-y!ÓÀ}8CÖû&ƒøqˆ­ úáSºŒÞ6õ˜Hÿᣕ£ŸÕ \ᳬÁGÙ‚·ÆÀ¡ôeòÎÒsk—5ˆ€-šÕ0¥P$ÎNÎÃÎ .|§°íT û•Ò/Ù©‡ñ³ÈìÛºIæ¾¥éW—>\µŒ}k%}š·ô™£¦1U¾XÃ)NäU;µD4íÍÒy€©2_iÛ»Ó¢“D-¼}9ùƒ¢þ›­DyGo6 4×YÉá½RCÖ‚x+ÑÂxÒpßñ»s§=w²úóÝuIÎE´‘Â;ìTDÏT…˜~œâÔè)¢qc-+HÄ"zºF|ËZñ—·¦Üœoçói…“nËõ(>nœÚ=·²&ï”Ú=ŽF™„âÏóÇ)ÎŽHÔw–w§3p¡‚NŽ“—Ó†ëe„íSމ¸‚µ’^!¤vE"µŸoù‘Öï=—ào^kEš‹¤‡ÝšÂ4¡qÑ ]ÔU)–~÷r çÀ½\,‚[ýEÕŽ¿~‡yMß‚oH]•^ufîÇ~š·¢åµ—"RCëjx¥_ÇK>«‚¼×ÌгAøµO¥ ê/}ÔÊø[§~å6˜TP¬„YyàªxïbÁ ÿ^Õ¼;ÖžX‹e@ÅU,l™ÄÚâe·³ŒRª"îÏ<Ç×ßÏsüÏó³™ÿe>â°]žl5Š7ŲgJˆ±NiYË¥¢±(ðR%½³fucŠÙ…ëÉ\g?yUN5­dÙ*g«#…âD”ì^ÜaEò™Ë«·_˜êÊ|]§,ŸI³5ÏIQXÜa+¾L®ÖJÕÜŸÚIt’è‘Íf‡MæG!Ù6‘ìÿiÒme¿e )a Wgï¨r.<ô¦2eÅn(³ÍŒÒè?UófGÇЬEù¹a¯RöܽÐ}ÊYüc¯JŒè«ßI÷߇Q80)GgÿòðžhY]ë\Žæ©NÖßv€™ ûeòžÎy¢ÏÐÜQð&Ñëüx zåäôäZ•BÈ«äÖõ96ÆWÀ«„A¡¢Äe•”NV”: /ÛAî|±C•^¿~B™&¤ Ãõ¼ÚŸäç³wòÃ5]9dþµ c£ÒM„$®Ã›ä…›G”"ˆðk‹MV”8V<1þiDš[ãþ¸[¼@à_¿–Çlë&2ãå½:—>YR^.ÅüúP¡gËÑ~ÎjA¹„\,Oš„sÇxõñâH‘ÿ—ÃÅ _03Raš”ÿÔ~óCå±”ëÚ®×ÊtáŸæ­}ÜnõT™`”õºØåªxãŒÓMkÜ®øêãÅæ°Ã¿°¸]•÷. ÙµNîWŠ¹Ì¼7–-ó>~-[ýû¼¿ta(¸­É.¦¥mîD™ä”ÉrýÅk*V´å§ÐíÛÑPÃ5œüB›)“¥s»š”Æ‹oèq”¼—ÔÛáúônlZ½uÙ©9‚ÓfvXnvúþáßÅ"6×Ì$r"±Ôâl‹€È…*mGâ ÿtþ¼Ýn_¶®ü+±W¤‘äšÓ«½ý»“_)¿Vø…/ŽË/<õâv›=Ûš“ÄèxÌßßÕäP¨Iœ-4I•È„Î1;ZêVB£í[‹A1l!çZþب;j”𚉉fd2Áè¤UU"×! èEYÄEn±©_à‚Û(aÕ¼é>>œ#óT¸_ÞÉÇÛÎ\]’¬!<3h_‘pÐyÀäÝæãzÛÅoKÂÿXkyÛ·?xj½ØÑIʱˋÿôO}kïÞ‰—‘a8RZYõ’JyÙpI±ÂB¹Â5gÚR)Øã¸å£°Õï+NÞâµqr2äŽOª~¢8_øÇKçtîr¶º¾ä!~ßßõ50oM})v·K;ª8…r¦ ŒlÔ}QÊ¿V~æ-1¯Lá¼ôM‰Šƒ ½qUż섽rÓJG‰{xå ý/~óÜÊõEâ?¦óê˜\E4ÇJ#¹ˆí’Ù™Ãs¥\?Ž­sW$Œö?¼ÃÌ8Sì]’>Y=±.T««ÆIô>S7þËRW}ÒÂùå”zuR=¤¸xrÒá*TTQðLE(oŠå;M°Í¸Ö§0¥2*êp$;0q‰Ž_•Ê*ï¶_m(™÷³Éˉ'•ªR¬89MÂVµS#t_§Tºˆó?_?ëíñ+ªQ´ÁI]h£‹?õœ€%SK¾‡D„+]oÌ(ú&>n¯Çdö]OþC&/9)ôMÓ.ߪšÕ‹ ‚ÍéÔÿœfäg›Xaç—ʺhåÄúã”7Íí/¿ÔMOÔ/”^'× É”ÍÊYušOñqW¤8÷ÕX_qÎÙѶYÁŸŸËÎ\J ™$CuåøÌo Bœ–üùüñ£¾TB«yø.dvÁa÷}fz;ˆN»ê]X4dú´‡ÌÙaÓÑ9V±ì{¶Sñõ’ák ·+ÙzôåŠ5†u¾w¹ªôïkÅÚ!É` ­rw0oSË»|OhC‡M€Ê2…Û)ÕVÙ‰gxÜa“¶ë~‹ºËƒÖ›X)U5Eœ¸ÍhŽ¡îÓí&Ûí@Ò•h¤«Yã5MöCÊÏ|Ò@A>6-ãÊù²ÄûVLgøA4)/üÛ×Ħ/_ÞÝוͼmÚ”ßå0i㔅¤³OúÂÜä"Ò)ji²Ñ CÔSHÒ$4ÜuÊN¤@<15ÖO‡î}fÜ—»ße•Ή“E|;¢†¾Ü <±ŒuÖü;ã£qâTéëÇù[¿üˆ¦ZJ0µcqÓz•½¼H[a£Š”`C!yj•Óm¶ÜâI@B¡{å™d¦Cá2U®àÈ•+Yü•4æçÖP.ˆ\©ºWè2ÖÙT(“ó&Å~ýᛕ†¨–Ö‚þ•YnmÖ…¼XrLú}{áÝȰXýw¡ŠêÄ…Uë¿ì,‡9‹Yi*[´v“ìDú—31¤tä8ùɅЪ€¥7ð&[Í<˜zóŽÞý^'P %S‰[ÐÓ»YCÁ¨ÝÈ!>ü§%™H…K²ú÷²ÈFÛ˜º4¦8ð¼;2©I\M¶j´y3ïú•C,F$ÉD¹¤€  )ÌH$œïH´4{Fx#Z‘ãKuRÉIƒÍºè´òóÀÑ~¤|U-ØVoÌqÛíø º"Tˆ²ÎdÑEbüÓ~KWp¼¼€›3šÉ8€O£^RImBõÀN¿ð‡öÁšÎÌŒÖÑΣ[û×C×ö–ew+»¢QÂ÷´²µæZ›£ëš}¬,V0ËÅ÷Š;^q b-vúFQÆ=¦}Ç©sBK¤¼ÄJßôªž™‹d¶Ñ k$ a•½ è…¹˜hÿôÙßÕgK&àU¶Ä/ê9áØ¯~ÙðV"´ùècÕNþJ­:ÜNK•v8“³\ûz¯µUl¿>¡'fr±U„ˉkFq]UÒç1yÞáÐÃý•8¿´Û;(àè¤Äg»^ë¥Þ1p¦ã!1!¹ ¶&ÏËyФI|’™`" ×f™ø|„‰XòtÒ49{Q[µ¼«ùT·•Æn|y+"Ï9EéÅý«ig†lè©:ÞådíNÓˆ+ek?ÙŸ–a?e[L+ö)¥*;†íNÕf–®7‡”L/ÒÎ|_™QÎî¼oN5ÑÒù ÇLt£ýÏàüMƒóòÄXÒj†Uì}ÑaµívE4Õ+[, C¦:!¥¤¶sé‹ÿ¼¾ß%èt¿ ÇC“n ÷Lí¼•2Çsà@cI-B„=­ÍΑ¿Ã;+ͪðÅ6³;ÊDìY ’ˆ·…_ÄÂØy²:¢fÔáT‡çÕÓÓ[nù-±ÓÓ[÷ôV<½ô,Ê\Gr—©%üÂÖt"†žèí|ñÚâM7fOMg }–Üj³è@Ó“þBËW2ñ@z@ºú*nŦ[»;~‘L{ú÷ïšždœPe¢kZdçÊ2ÚrĹ$¼6RÛq¸ÿ(Ùž·¸#{¿ÕK§¥…Ó•Y¡U~å„O¯Ô¿÷½BšZFñ¬zÑ,©kÙv‡ruƒB`ØB šƒ/D^¥]¥_ê­}y&–ïb,ÐX陉™•reû£P&oɰ¨|@Ïa‘ ¥1!ËSÚÐípÏ^<¨Ô*z÷ÑVÚ- UŽÈf¢iÝ(×ÖO*ÒBsLW¢…†ž¨›ç?ü»þ¼£ßòŽ´ö03y¹' ÂÄ>á¾g‹É¶Æ‰°ï–Úíî/OÁ…øßP­˜$ع8>+úVܖ뾯·{mî]êaû£«ª“@<¸ËÔÓe þR ¨Ê´:èTÉ7»ü±¾v&üôwOwÀpÅ—nya<,ÿû>h6¢›vûW(9[&ûÈ >ö›¸Ñ>I•¤ >VŸSáçÒï îð&×Jcã¸÷J71ë¤U{8x÷àÙ·ôciiûÙšr©à¼xß'^^DøÓ~Z.JÚÚ¹‚N¬‹¥`bè¸ÉΕ#9”711 2M[JŠën·?Ãý7 ˜Qô©Ù«®Œ‹ÊÉu–62¹L+¬`’Ò )¥¸öZqÚ$†N£K;b‹p³å!d'âiYUá´)R…êwßçóÞ#»ë¥YÄ%ȧ¶H×NëREk8ø Íáΰ¯‡ðÚ¤†MpñÛ,d¨´a ±¶šGä`ÿØîù®[ó"[ϽЩ‘Ÿ,¤µhˆ&z€ÅQúèNÉÄ?ýwtöéwÓÐx©Cºôzû~a|81užrœ ¿¾å‡ýP«w«««AÇöNÞËŠ[ªþ:¥Špc¹_¤(&ø9ˆ†“·5q!(—•›…—Óª1™^L¸Î\U²"SõH.VG˜^ÚäÅÒ4YÞµ®/]öÚä:ø·u:Í–v‡–“@cö\XÒ³¦„EsWK¾åv>r†¯Ü Nö€xx_3Ù¬+`ii ¸Q}ÞŒT²ny¤UÿL·êÅ&K’ˆäcÓ‘,©[hjµ(~ EI\Äf¤ÅVGanùy/“d’Wp/ññ#Å-Œì ÝïTèÂ6·OJ¨OÞY!Ç*««-Hä˰ÇF¨3ä*ê•b¬Û‹KC»0û{AÒ›Hzrt‚žèµû’rìuK~ÃÚá‡äõg\ýžÊIð'ùL¯¯L¾_)|ÈaLÖ Ì!Ê{9ŽødâÖ:€Y˜uº°¶7ËÛÃoÿtB •,ÁRmÁSv¨æÜEö§ÿ·ü7ÎMÕö#)²7ÚÌCêž©Ów·ÉB½­8Ë[<îð>#ýŽlu’Zìdz«•$ äOÈ$—ÃÄ´6wÛã‡e$„¶[Ûƒo…èZÖ¬àûAÂèåÐ1›Z–&S :m“phu³‡åÎx×J† Cm isÓæ°È32U4â"4ïèþ[û»ÖX¿º¹ ¹þxƒ ‹•lÞ¤¬Ë¢BaüúÚ¬}ñ8œ‹fj‹˜3d¢Zœ¨X&¯C>¥šE¥Ÿ¶v(\Öú–£9;Ѻ›…Œ’I5@ŠéáŽzx€h Ø4tÙ™èâzlP3’«<Ô+‡]ª`TŠZŸ$&5ÿ_”­†‘zr2­¬?³õïê½é &ÕiÇcG‘¬mX;í¡\D—=-«¾•‚tW—˜LÍRù3I÷›Þe©ï?Sßm¼07ïBå|1Ô ´»ìtD*Ù{÷Ôˆ+’@äúI•Sª9·”Ê:öÛFnäfËÕÊĈp$ª¨ÅŽK¾ºj%±š–££uN+9ÚnX\CêBW¨"f]_uVxÙ6IÝ B¦Äv¹„(3nþBþŸ©‚?1§f(iófµ£"MýŸ±ñ[ƧÁy¾º¨bpô ÅžRYwàñ¶Ûe)YÙ5é9Kœ|÷'k•YnÚ Mº+»zÒLA¾a+’¦DUÎ/Û„†7V°wÛˆºE\yü!ê^7éè.²9·¼s¢Ëb¢ˆ,²ù’_óÔŽðÒI®“&NsiþÃíEV@ËQGÛt!’É“•ýÆ*Û¨ØEþˆ.¿­ƒ×Â\CÆ„B…íƒ$sÇÁ[ÀÒ°¬qÀ¨8U`uíÜj£%“éô¬e*c¦5y™±®³S-®ç*U›’·-;ˆÌÜg.Ô1 ±Kˆ[+þ§kü>º´t7íVFw[Åe¢›ïÜÉ."c”Ûã—JÐy`BÞpšóÉ+¶ŽÃ:¦ÉÄ–j†®Þ°ì·Ëh,‡…£ò"Pf†æä2 É¢â%›žEü¯Xž•L/»i·àK ë…™ÝfL¹`{^ƒð?M-´<ÒìÑ›¿y{õº²ºÚô£Ðï[ž'Ë3æІ†²g’{μƒ!pV×^¦’B”—³Ð ©ÐÄáeù°o¹©àAÇ-Šv+ö»÷IÚôׯ]?Xʇëa™vÂ?<ë5ÏzÓz¼j’nCË ªž$—íÁ²ÝÞTjÅ UW‚ZÚWÞ˶6Œ˜/±eªh$$S©à'8mnæv5 ÓuÖÆAööãDƒ£0õêJÐ8ÞÇWôf’?3õïÕ·Ùž zÜ~ ÕŠa´>Q)^ â|ÉÆ©`5BPµMoóÈÜ2rüDñv2Ÿ¸è¤ƒ¥¶û6o·yëÁ¦3W³d»½ú’tB6ô-$l¦›†¿,Õ,ÿ…^yh¥XêÍëú£Ùúí=ËêB›a¯¶gÖØQwÌ¥J„Cƒ÷Ù•>©UÏ>¿T·D%¯‰sÒªÕÕ¾žÅÕ¸¶Í!îçØäûW>Éd¿2Ù¯Lö+QjISãRìÚw7¹4Õám³’bÊåLçù‰„*cUr9 pTÒŽÓË4šŽ¯]Û¬Pߥ¢NY- ™á ¥¦ÿtÌß4å]v-Ÿ7íÎÉ&“+‹! wèø»Zßè`GoÍe%ï²æ¶§gù²3—îƒ2±ªê`”8cIÕîiZöýC“‰Sº²Ì –ƒGG •QÂneºc ²—\I°W1­V[úª•cj‰>þt¬ßµ!Ž…ÍѶYì¬àEîí«oý&þÈ ƒp¢Jvw«7«Õ›Öש´QN)§Õ›õ¡òi·ûa!_ÁJÈ­½KÀ'úv•ÄœOprʧ„Jß³ ˆrž÷˜­*¹N–ZYEÀx™X‘ËO–0RëD4\ÖˆiW¹«ºïêOŸü=FÿÓºíí…U‘œUÿöƲ¹üOÒ ŸxM~òšt0¹ú5*äUÐøëmL7¾åoÞXž/Ù–lÛ–MŸÚíLÛ¸b¯ÀµÂZŠkÚ¡ýRõS< ';¤‚´Q6¤E¼ôÌ‹X‚åÀœ,¸IµjSoL.ŽYß‹d Ó­h›«ÔéM]í¿— wÌMíOÖj’í¿˜dO&ÙºƒÄûmDzL²õc’íždÛ[¦I¶=&ÙÜ}”Ç$Û<Éf¼ö}kŸql*f¸ *­¢À@Ó3ü"cç~¨†˜B-zªHÉ ëùÖºçÊò1ƒwÏàÃN\ÞNiÏ਺7ÿ3xUЦLuv0Vtá€pºïÑ!?}jà\ÊV”ñìkç¶RÒPõ²®áa6»Ëÿ13ý>ßßÃÕýðD?ìnkãÑV¹^v·Õ–ç´t°è?Y™0Ì´;jƒYU“üåèŒËŸŸù I˜¦M^Wot¼‰t¢ ž¤t•Â"‘†ZS"Ê'x7¿º;³}bœÀUÙ°•ÕæLoõ<å^t¶ÉJ³Xñ–U /e{6ò? ñ’`¾´Ú˜†ã:~ëÛ^Á¶WxB)¤QÃÉCÚ±Ú–ñsœDêÏVî÷¥qÊH¸ÅƒÕ¤óž ]é ïÖeZ¿vÑÓ1¾2ÝBq •‹#uÖeŠ Ž7®!¤Ù>ÖøŒªwmG ’ôNhiŽÜQ4›ô]ƒäî'[¸I§Ú%K6M‚&±ynlÿðöòо,8µwÓh¼ï“)Tn+¸êfÝØ%ú ÈøJG¿ûý'î8r68‰ž»¾.v˜Þõ²òðØÓJŠ ¾îÇW1ÃOŽÅ‰°+Ë\}9`¡84÷ÒJYZõš}èOp$­~—§…VéT£«ì»Õ÷ó ЭޓûDyeã¯û²‚ŠÎ/ Üá®U<ï q™¼}àBœnÂDÿ²a ­´ ¶N~r%™¼_ N”hvÀî·Ò܂ͱ:ç—4‹Õ^ñZOþ¸ˆýG´mçM£IPCeÊn„U§aCQí rHPgÚÅ—±f$]™D÷~æIÁ¥|ÝþdÝÖ†á-ç°µá,žIìGãxÍknÒÏ NžŽÆ^¼y ÛåAŽ‘DÕ…£9‚*dö튉ñw2Wfeè‚þN þ©¯[÷Ç4ü½±+Ô›ª’¨+õÉ8Ûs9¾vœNóþЩ²éÊék¸¼×<­Ø;¿vYöŽ#ëîŸÝÞâÝ"{·(¿gK»Áœ¶’}öÛ¶Iô[:÷Ä‘V[Ùw-|—6ºÎô§fœjcÜÑ:vn ZöÁuŠ‚j‹òŸÞ÷ÛìfÛã/©zOõÛ¯Þà)ZK“ÂIOì£XÁ²›. äà_;c„Ü ìm˜òÒÁRÇ·SVšGN¨|z®›Ê¨Ï踽›5ýk»rK»b¹8ÎS/Óe™Àqi½íd¢˜­¼Í½Üuµ?¬{øXX›y10£íµ—å܃|sg'@Û3¢±…Õp•Aí´å²SŽMúüo"Õêo!»Ãõj×—Z]ÃS¢2ÆØ~k`¥úòÿÎW]ANÍÕ36rÞ;¾•ñ–í¡eèžóåÓlcnÍpcŒß9Uòº\Ø 'ó¬¸Ð‚$^VÍÝ›.švË §=å®á9}¤\oFéñp@Zv¦ó@ÞÏBFáã"SŠx\îWµ ®=z¤Èì· [•-‘vE¯hä+‘àñ¬Úkž–¹aŠã¸È;P'hl0µØ¯²÷¹aõ>ï„@Vé$ô'ÿYSøIîà ٿ¶/benF7v^ãÁA.m]¥é»('[iÙ™™·çyw S_–p¸þí7jIçä>E9WMRB§€ü-¡k ÚH®’·@úâ;u¬ä+ÚØrÎ_ûÿc¿g¦WtþZ–E"n«=ôÌÎIiü‘ßÿ*‰Ž†ñiŸ67«ùù` ºpÈUÚ¢ •q&º‡“\Ý…ª;{±Áb%]ò˜¨êN¼‹¯$žŠ!‡ìâ—5W  ieÊ+‰,qê?óÜïËÊCº#1j·Ž–‡¦x ‰X.—5¸“«”§äÎf ú*}g`h¡˜ûâ:g{ï*l+/¡‘Ö¹j3”†£ˆ@ÇÒXñÙVF÷Té7«}'á0â«Ï!W G”§³«¡4Qª­Ð©ªÐÓévÀ3Cv—w¤Wsæ(ú¼¾Ï; ®ô¥%ŽRºÖúuWæº÷ç=G±ûHtãa+ëð}*U,÷¢0Ò‰ùé«ÓÆö;¦ú$V”µÛ±Æ´|\ƒIÝ£±9D#Þ} µ3ª#ÓÑÒ xÂþå ðÅN{á—¢ÚÙ©ñœa^–IU”O2 › ¹Æ¢+ª²&)l}1 صvÈ?Ãüß·…Ö¯]+TŽ(ÃvKÛ0£;Ë…ü$uÐòT®È‡Uч3‚8?ë¸ò#‘l~ŽídRôÃ8×I>­AÌÀ ú#³…úÿ˜þAº#AÞB½‹wÁ^3åFN&)õù+£^\NøB©7çØÊ0eoozF;üß@³ '†.6UÅîÝj“…ú€!J ?*axªq¦¾?Ýú7Y9d‡Š ªü¡+¦V[É¡yѵ+·BÙkÏ’ªë×£´9¡"‚kqi%45Ãûë‹§Øÿ¥tw ¶ké* ßÛÿF÷¡ @{ð„@ivƒ¡ó{R÷À;‚‰ã"yGmR’vj¡w-ÖÃ:_«V¼Ù-ʧÞôpÛ8Ƶ°{ÔŠ§âhãŽò*Ó{UÚd±Ùáaáà¶2JË޻žsõ{âoË ê\†“rÄuÀUvê Åâ‹ü±pÎÒb«³NT‰2%2ë’,ÖF×á+ž¦YšÓÆ-›¡=Ñ“•ôÝq±’µHês,0ÎŽ»˜”—õõö÷'áºi·`´°+’â°kÏes©N+Þ?–¥åg¼îeérãqû2wZà žˆSä½ S«v´%ÇàtZÜ“¤\ê…¬/ANÂ'> ™=½ªçÈLRCÉúg4üFùÅýxYíqØÀSlÑÄ| OÌl4i*ÃJ§s,+H×i‘ùé?9.VZjÂÄHJ粑JÅ/¶J§·BÃÆÍÑX0šUý1T¼fxÛÒn²ø]î–*kþ^ÈödÝ?&kŽ“Ho|eñ=]{Îô?RƒZªdš¤öG¼þmU§,"‹ÏÑ0¦ŽQP 4ѵïø(ˆ|J’É(o%.‚0Ñ‹FHÕµ¯qÓÆ¯ˆ¬ž_m6Ï$º2§OßXM¯B[¹{¢8VîÑ]—=‡l·Y€`à ´ðn½XCZlÛÝifÞD“zb›(8Cê¼Ï<‹±+>=\†wÏý:•¾èõºöo’C:Gz—8$Qâß`&s°¾&ïí+ÑÊmg8&³Ü<ØR}\ŠäIhLÓ¼»ÐIJÑØ÷iº“Ƥá¿÷vƒžªÇ$ZÕ®¹§E˜†èâí¨øáí®ª±‘'mÍÅù²Á8lŸJ_˜ãÖ°w¶‘x×57{pɇü¼ïïyÏ—ÕëÒ’Yå.ÍÓ¸D¹¸?iÔpÓ×};C„4MU†_‘”U¡Ýå-¬eÊÞË2˜ÂIê=«½CëiëÅqÛ St°o‘7±·èª¨ö¤×ßɸç×Î…ÇåuÚì%ÚðvÓ;n÷Ҥʈ¹¼Z‡¤!:éÒHú=·ÃÁ:Ï‹eP^¨ÃË"F9õ-}ÌÔšðò¾cC(Âq{vâcºñ÷Y.6I BT^©húËœ?å"*ÇχéñüÊа]³R³Õ‰S±qÑþÌ\¿©àÍ.‘=ñs¥‰ïÃÄ­.·çcÙlÕy\Ë\é^f­åYé¬kØ…aKÃpUkyþšB‹ í]¡¥$ÊOŒÓ“MewšRPI—7“<]íùúð‘YuqáE±RŒ…^Ñ—2ç`: ‡t·¡šdÃ;À‹óÈzw¡È½§/6?’qnaèÑæ·õì¢z› Œ§G*é6ù¤ãe yržjåΦÎëèt¯ ç#'¾£jƒYŽÕpb±…ßy4õ7¹ÞÕÒ?)ÿö´ûóø"Mð!!­‘êpÑ¢‹m›ÎáãÃßsâõ\­—ÓZ;epÚd}âÙµ·PÓÛ­åãÎÞB&Økßߟ~ø›úaªëM ó äÃszWn•lèE¤FÖ’+WNÀÒǯ¤´‚ÔCýË9ˆ$Ô!Ä×}¿Jû×Y€:™tO¾y¢»à&²• t9¶ñŒFM²‰¼uÈ¿]˜MC1„|p¡RR•¥ö5°t¬vVE™oÂXùNKÁ–þ>jAhd¥Q½¼Ä¸îtö1ô¤Z—m›N [§›p"UÕy(:ŸxOïŠßq †{÷÷ô꺸ÞàåY°àûû3R~“,â<:!ƒô*ôÊð—¡èÐdÆz”ãÇFqMo©*E3ËK,ˆù¦*G<߉·ez` ,ŽA¹kNÙp½µ½ãÍ è§ ³¬³u-D™ãk×~ʘô+S³ÎóCvyOfé¬XNˆOu ‡çf¥À,rÙb‘ZØ)çºÝãðÆ[ø&¹¼×ý#ˆüG|‚ it¡ìǺ²È‘_Ôš÷Ʊ]7Õdjé§#¿í„´u<”§Dÿ’5&çBáJòçEÿ>×{Âì'{ìpòÖ>&Žû ’´ ;]Éz“gˆíÎ9½ÂØfÙ±SrÜÞ’ö|Ç—8}ˆ‡Õ÷6¹Öe›Û«‹z}Ýž?¦Í*vé7ªmÃ=Äá]yÒ*i"IQV«ÐÕ?JÔÅ8$[D?¿ðPŠþSˆ -˜’"šýÃ ÉÆBظ’P›Ñ¡Õ!4Io±ªÝÿ­§XxKk»r´™2ˆG†&], !®,Û·í­SWWÇOgX¯¶]>OëTuØ]·l&Acã»_¼}mu§id±‘ã`³Á6zX[œ±ŽÊŒ`Ë^á²#ö‡wÇa‘µrò2/6jèîþ õßVå}AÊñT×y¨7õæ¡Þ¸žè$ØO/³Z¨-òYScåVÍôò==DO»X wåÑoZ/ !«íW¤ hŒ~• ¾Ò<°›ä3¸ÈŸ£²â¬7Q§?yr)it,<Ý{åÂqûÀá,bÃôå'˜I=(ÓDÅq+ÃÅò Î*Œ®T!‰ð°­Þ>Fºûï+¹\q¸”¹ Kjçe‡É%ëÈT¹[ílu²äÓÁ”)Gý·W÷s!ú³Ç2}ÿÚe… mÖ)ßÝúÅñáu!óƒCåêÓØÐ 0úý›e¹Ø²l7 âýwºjjsZÞ#ãk—h{_í¡aÒÍ;ßzRÜŒ“ØÄÉþôÏßäù` žsБ®ì@uÖÜTÚÖîûR}Ù¼Û,BiþíöVL1ª[ãw¿P¯hØm6sè,f'¤ól\_™ºåÓ±»Øûÿ™Œvx5±5±W¯ëk'ѵAJµzðç\˜nìEü‘”6žØDŠLæYÌjî*VRcÚÆ3ì:¡ê“ evzwW»„Ø“\™:b@V[jšÁÔE*Á %œŽ4B˜¾cî†mm›5mËv¡¢tìÆ"ý&/óÏØùM¶ëf;E±Kçd>V®—ôñê>^…»Û kÓª³CQÀ§³[-œC2Íp0Ãù3ïÓ.—M֤޶p»ìñó¦)*™q9ÍUÄCNÆûÄsBV+:•‚.O‡Dt6ÞÕ¬»ø‰ü¾»³ç×µrÑÑû´ò†0€Ð\JA´¼8œ¶¿ã %{¬\¬˜ÙùâF,ˆÑ¸Š,Œ5 ÐØ…Ñsá 51Vk“-ýüS ù7ކ3ClŽ›J>¾¡µ9.Lxšø&«Eõ´Zþ­6¼¬“ÈÔ˜ÇïÙù¯;Æä¨bO¶¥+‹Æ6zG"`¾ÙvG›•°¹zìîFkz³‰îwëòu{ãûÉæÃ+°âöÁdÞã°¡#¥Ðòø"A’e+¹H8çƒCÖäÚÔo\{,Ǩ­áöÁøO'þMI.ý:k³Æ(i½_‹ò†]Ö/6ã[C”1bŠõ8¾v]m/'žòªqâ fµ^¬R¯V“ûMÈËdxfž)µ\LDi§g"³IñöÂêøj“zñf°x‰*‡7{f÷Ñ ÆÕ÷;§™U©–Œº:—éSßD¢§F¼{³q·;§/”ªd¥:ùåµ2jS6d² óG¼‚º¬d›NÒÒ:Ø=§ bÕ»F·j)6¯Êåã|Ô‡S÷…Ÿo)Ö øœå|ìžøíïk§ÃE¡’›[(µÓŠsÎ?ù½›`Ø)°àÓu(h!æ=U0Á{€ð‘B)è2EUý‚ ³Ã/ñØž¤x¸š*akJÎŽ{wåA¼õªš¥wK$.mµ©¼üØ'tåÂŒnv!É%æz+HîƒÁT¹VÕ‘Eˆd£·] ùi±¾~e–Uü¤ñ».‚·ˆY§®6*¥» s/ú´ÍŸ®÷Ûì¬w=S¥;ÜܼLF¤AUE~–]y&¢¯ ~¼4‚v¦+xobŠ£{ÑE­¬µgWÉ´5~9#íüºÓÕ˜k¹5qº«n¹ o(ueÒªóõeO“iMº5’µíNºã¯äÄmëPµ‡Y¦N™Ðh/Ñïûs“oT7q*r¯ôt\¸h ÷q"‰ê=CæÒZ8m¹¬l¹Ò_ËòÊôËѪógLü¶é˜ì3ÃVßá¥´Û Ùñ7Bµ\¶j9–w¬tèo§lKôȡռ7ÕŒí.äL_<$2¶)‡IÇ9)Kµ¹¦gíà5»ÛÑœ ‹ ÛiÒóõé.½gûuË8í@)èØËeݳœÂC“æÿ´æ¾3ùKö°“ÁÖãØE±ì¯šn6&8`w-¶ïÄfÍ–²fyÆbÅD–óŽKî8bH ïBä(ß'x7ÅvÏB@ÍNÑrX¡(Z½EvÈU6ý# ý¾ÑW½ª”›vº2Bºm£Ù±5¦äCÇVÄ2“ŽK!r¡ê•‚ædUÙ.Ý'‡†Å.ÏcÜ‘ì¤$ÎðÆí÷´¿â¹‰Sݰ©(hú2Åfm^?Ø­’¢¡ŸC̼ýàû×.؉¯p”Ç[R„ËþT‚³Æö¶yÞ.4.'»ÜfmN]·*U® —‡âáí@ Ç‘eάֵ¹¸é Œºýd€žÞÔŽ¯,õsñ#éS«CÁô¿£ëlØ&H‰™¤ªõëO¶ßè]ÓìVo/5ç $&l¿U´u¡ŽU-õƒž5鱪HÓYȾ|ØÈzø7Ö‡ˆ^è›=à4„‹ôŒdë¬{!‘Ÿ„ ÑSþÌ­¿Ï>9ði–ç·ñ¡SËø6N6‡*ê½tlŒÇ½ØÏÏõ4«]“4™*תeM–v™õ6H:Ç1¢LèUúGÏž„­¡kç½5h–—†Ýžì#¾O¹Öîvâ^HšK!ª¸ÕD×vhÈw¯·ŠGî.ÝzwöBî¬)Cƒ~¿ž×ØÄöÇñNí«+˜äÜTÚ‰>½¹ÎIñy‚ú—ãþƒs>Ÿ—sÓ__Á? Ê­¬MóüI»ŒÒÓÇç/.÷wÎþž'/ô/øóùþùøüúëþþçüÓçÿ·~ý×îî{ì5ÛÌãwù>¬õ…IkÄÜôIȘ­ßý:JÛ”o£®ÆÝ>‘IwŸŠ»R˜µ»LÒé.gÊÎ|múó1óDÏ^¤ÜTÇãöž€à46Ý÷ºÿøEËñƒö~ð_´f±öíÜÏüx¢_¼€1oúã=R¨ew‚÷GùÙiJÝô7Óü¬íñ¬Í÷yýR“üó¾ðó¹°xÿzÏpkýjºøE¿ÈùUÇTékÓÏnþ‹>q«Ö~ý¿èÙ¿¼“¹;ö¯¦¿Ù;²?ÿõg®›þì<îì¿<Ù?›_v?ÿÅU~>Ðo쿜/þÞ|öwzÑ?˜KÞŸçoÍ%ÿ½>šæ¯ô³¸zþ›óÐ/îüŸu­ŸóÒßZS~Óõësÿë=ùŸ­¿ŸíõÙKÿòúü_È0ÿ|ÂÿK«á¿Þº¿sýmûÏVãÓÅ?ëòŸmû÷×Öéÿê3ü½^÷ï¬<ŸkÜçÜûo5æß›?>¥¼ÿè›øÄ¢ÿ!£ä¿¯oô+žo…Z1H¡ðx¿™ñýõW˜ By"ͶØ^°ÚÆ N%°lõý^ƆGe…Ï ¯á‹K¶ØÂ+S\¹ÉøýоRø¢®Ø›.%õú÷yƒÿ¼fÿnI®m¯pî!¾gmSœKÚ~¶ôMfŽG*Ùº)½ÜýËPPýëMö®êröhÜÎöÚôå}Ÿ2##œ<¬žDÿH™q’;ˆ¸äªßS¢éá;ÝJ!4ÅŒžT`úFBEq(¬4.õ},®Ï (˲oLyX‹j‘@â@P,å¼¹¤a×uÝd\j6ê+¯ß‰³ZµÝ¥§Ô1KÚ•‹|&Š{ûÍ}“—2·U¼eÂäéeæË6é4”é‘p:ªSŠe”<; °W"Cœ‰é¢ fCÀR'?ÉÌ-/ÈÓÊÿ§í»:ø?:”ôòêêÇ÷ÿï÷ü݈šKðÎl˜â^ä7–?ÞÍÐ;+Ö™õ©¦èL亻P_á_ cˆ(x; ]¡bKÝYg^{¾”© }ßèˆñIó0iضÊr`gù&:,åê©'‘ΊO²+¼H»ÄUœúùur/eú›&ðuª¥YÑ´úÞú7ü ihW HTÞîÒýtÇ•kAæ–ÙÝ, E8xªÐ¶JLjËe ™8õ¦ÑáBfŠûŠnpkƒ¡É]\NáÓݺ‰Ÿx=8Y@¨”¿_{ ̸y=]‘Ï—óÜ<‚Ñ_57ù‰îûòʤ0nìÎzL^Â÷¯•äO Òò3ZïRˆ¢9 ëv¾Øm²*K…[k®4*vhPO›[b‘:íÜzµï#^U}g¼”Æ#j ÷Ð+²^4;Ïj2]¢ÅD7p|Y®ÆÁ‹Î˜oâËuø·aåM_¾ 1‡%*–%Ã1y­õ1( Ø7mÊ=}múùÝú=‰´)’¦lÊ9˜îÃní¬?à ñ}.J_Éhgc—#ÔOOɞݱ“ ðë}¹“ÞZ-KÃV0qÈbpDÃ]:e‹%¤Â_/Ç)r^?~᫨Û|¾5ÙúNFŒ÷°Ú¢¯G? Ñö/ÐJ6àÕï¦Òé냅á›#_,Ü ¼Wå‡/û½Ô‰áãBq¼©ˆîã<ïÛÚ5bòmß‹E\íûœ—l9¯B}¹@õKŽµß Ô—è0@ÆMºõqUs_£J[ œt4ºã‘btU¹ÖpTˆ[­Ç·ô¿¨ßú½òŸ|eP®Ö½¤KŠ\R!Ò]7=ò|ÌWôÎòéz)Fr þüå7s(º-Ìq'¶¤I†5÷ëz>Cµ3¬¿NTJ©‰,«öUÿö+•¬yÄ<0ãê-¤#ôDÓ÷þ½ö?ƒçwÙ}/…±‡ãI6ÇN"e“ §¢?oáw¿…&ŸûÚz•ŵ;~Yê†K|´›ßí=âéÉÞñí¼1™ñþ‚´Lül¥ï­Âë{– Ú”(I Ñ®ñ˸¤~ì^u eÓÖ0®ðqÿÅ|‹+üKçyoN»J4Ä×Vq ”ò0}ñ {H;ˆo¬ 9®.vtÕiÎj„,„Ü¢Lìu”:ša*¢Û‰£s‰p!¹_8­Jˆðám+áÂ×'þ?áQûôë:–Íüé~K©L,ÃQVκ’á9ìºØ3—˰{Žb˜ƒmäiÏàÁEDØá”F‡Cˆs§k}Â9ÚíA¨ñŒ¯˜v¼Ò! ¦L×Îÿõ‹R@ÿ<öð>¶¿šBE.DÐÓišúeu×´÷£C3*….+éÏ*…[ƒº'©:p׊®V”cIùÊNxI+ùîèƒío<Ê©=q´î‰éEìë´§©ãÐYQÁñûm(™È2âû ƒüLÞ–Þþ<°3©BÈkPªû”]ÂÔƒTÓåÔYb[ÔälRCð] fÕØe7å« ¯¿ï·®½j›˜ô¾çi%¡™ˆY+¶%ø„4ÊëÆînÅ¥»ü㤶9ð·‰ÐÜF«óˆ+¿¬³ZÊñ­óB•_¶!ûk£³x‰Íù®¤œJÇ·P#Ĭ;اÆka`÷{€ÿ&êøŒêòÄáa®+sœD&Ë1“näjÅWɬÐò°É D©&!þG`u0ÑvR÷¨$ã\Xšò>öý˜é¤ð;QBö–¸Ãší)F=oGky~ÚGÙIrŽÔýÚM­.|/Õ¨ñíÞ<ú\œš+…Ί(îcõ}[EjÛ&¯¹×Dãö²[ÛKÙ_C¼nªþÒ~¸BÏÐ5…¾bÖ ŠÆ¬heÉ£rúK#;~_$Z¼Â®(¥eDÄÖ÷b'­ÈÂ:Á—Ԗߤ†fá½è+ÚzGûÇyb¥Œóx)ZB+2¶ß?ÖöàŠ©áíwMx4ÿ~pêvVž(žâ¥õ¿kÙ®ˆÊe7D? 1"æšW„XJ?Š$¹'ô ¡¯ŠqŽ_+Âw8BÛ„æú=`¥¹4$BMÖ& »6+ß»ü»¡bóm]lìbP¶piˆã½Ëí¯5êè…Ë^Ì -´Ý1pcª‰Ž W‡¼v"P‡—î,ÔFdñzz‰Iå»= úÚàÕ³òu&“¦üE:%m9ñlnŽ…A.,zf)>SG =Çwû¾T§ÙÚ¼˜¡^ÅnuêjÑÍ_蚯ü£ó+/“Ä/Šá:d .õÈP{½REýÊ”z\+E`ú\ôª‰’ù%Í硞‰–µkÂx9=ƒ:§FIqO!:¾Ñ?‹: RT]ôÐXpÔ%C`xáœØŒŒƒ^ªÖï ~Þè[ê¥M#6ÞJ)ê¥1õG/mÑ*šŠ«zi^qDzfÞBo¨nzHë®tÑK{üæ»wöPñd#•dôÒ½< ±Oáß»ü»PÆÅJbtÌva« þûAt\öŠÃº¢S½´k–ü¾~Üû÷“Ø 7ЈÑñÝ>#vþg(Ôªz©øïëëøŠïŸê…=”_¡ˆŒ{‘jÁÇ5ãx;ÔK»FÛ’!$zi[Ùó£É£X#MB|ùÑK{eÚìjë¢ë©çôÃóf[ž8ÛôÌmżøúéïðGU;ª—¶éy“Ÿ¯¤ÑKÛôÔ‰`ñ•u öÔ6Šé3 zi4¢&ÐÎ –è¥RkO¢  Óh÷<û8õɦ.ïvºßöÃs©ZCÀõóFßR/í㢗öX0VôæÒ­òÝ3d(ûî¥ãb.“·0VU/=C¨ùþÍy0—ž…¹ô¬Ý”9ô¬Ì¡ge=+s¨¾¯\êÌ¡ga¯\é‡zçšÞïÞyÚ úlÌ¡g´A¬w'sèy1‡žsèy1‡Šë_‡÷“Ì¡gg=sèùÝ{ƒ‹9tLæÐqñ†ÇÉ:BÈúîCªêïï×E»Dûî#zèG‹Þ9ÔÆa¹è1cx2ýÄiÚ¢SŽvåÞ9bÁå;…Þ94Q†`Õ<‡òó·ÙèC n\+žñ•ï^§óư­Ì¡#&äïÃ=zg ÿø^W¯^šÔ;ÕC¢w‚Džyõ¼ïó÷å9t”ƒ¾8Ô•Çò}rzUkDïÓsèXžCÏâ9ôŒucÅ[g=sèÙ™C¯Æz5æÐ«3‡^ƒ9ôÒ<òÍkE,ß”9ô ‰`†ôÁzMæPøZaî¼.æÎK½k‡Ówœ¯G˜sç5™;¯ÅÜ9cÎ ca¬°‘ÄAŠoé­1wÎÆÜ)>’JUæÎY˜;§Wôk2wÆõÅæÎ«3w^]]s©w^s繘;ωÒò¼˜;Ï+çÎKâ”T#ÅÝ]ÐBÃßì$@t…åO+%$‘A‹eÐIö¬?dϘ>U³òËžA²çDÖT(úSöŒýLäýø›¢”=—qYÙjëŽÊC²´DYp+hOÚ#{§%ÎiOš²ŽÕHæªXKã¾·ÄYLÿI³üBÒ<>$ÍÃ’fAÒ” P,iÖ‡¤Éò¥sÇR³ãayàMÒ„5§\/â9C·Rë:’æâ¹ã>ѽt?Hšó–4å¨v’èƒ g@²d8ã34zèg= Š‘d¡ð]N¢‚3tЦâ#èÿ‘Þ»÷G±Ÿ’;ªy…f9Čٗžï¶>­#‘rE™Óÿt¼Ï©‘¨©¦4¯C ÓÎÉSáÿHçúýSãÀ•'¶^‡ôK'1´*ÄE6"©s{¯DÕ)]%£Q}ãšÙîs~8A£ªÂ[úZ³dšü1ˆ3ß%Thïd›Rzéx/¤´j¿A5è ïdý?­¯’Cšãëå<ñ Y˜Ú 2ï(@dö(Òfk÷I±?"Ž$Y]˜fœZ6ÔÚŠ¨¼Ð~¨FL~ÒX³‡r™UÏ­µ¬iû¯ÿX¹¶ŽÿãʵeåÚ´rm=”kÏq Š ý…BY9íQœaFS Õš) 4)Ô¬TÿÅ©+œ£BmQ¨ÿÑ"ÿ-ò÷Òá¼°ÄiàãS¼¥möß·/í‰+¯ÌÆ1SvØPVìâZYÃù¤_ö"ñ…RU,MŠ‹½M,£‹€‚CœX\ùÀËkC®×-[/dz¥à.ÝÞá)Ï'ÕÉ≮™^ßV’çÐ÷á˜L®(׃P©õ°¥ì}Áû_¸«6Æ‘­%ndª^k8Ì-K÷ÉÖ(–òð-U ¤å€ëXüŸ°9ÿìv'Œ ﬷Á>=ØOvÞƒ½þ³Á®:¢×—÷Áì?.‡d(Áêp’"ßÙÉäß{Û!PÊGð"ä!ýòŠÓ6‡%zy¨J+ØíXp«š<£¼P;»F&³†ÔÑdöÒåûuh\ÃÑUòå@}:Œ‹p$ªþ~Ã$;pÕÒcH÷ìtvv¹Ã-ô`ûtj›š>4?ņ·P'yY•+zª–تßj¿ HÙñá˜6nÇ´èÓsyª>siïÔË9÷v¦¿f¯ÐNP_¯ŽÑ½œæ ý‹*ý5 Þà7ø}²ÉróHèÉ O}Ü%£öý !@1µÚ&2z]$=[Oýß`òS|_¦t–æoÊ&ÿžž°JO¨Ó~oüJOø[õèŸRËÿýyÿúçúó-‹Ì7Yäü‡²H³,rY™.\û YD*÷úÿ¬ÊýÛsæ‡=çßFbæ6}æ§ïð1»±›_Š™Ü9¸½×ÿ9t›2KCðŸÌY¿Žÿå†þÿì¸z·“J7hý/”AÓóJÚðó4œâ$¹*Ö¶šÎû~&ž;j—ð|¼.{ÿ…ëó„gd|W^>xâ¨]>bò Ô½º],!Fl}ÜOŸ5I¸§Ú%‹¢]$ñN·ÉZoÄ‹vÑÒË}ˆo>G=…þh¹þ5½‡¢–ÈÍ"ªê¦ÌŒ¡kºì˜ó:3M¸‰ùÌZÃÊPCîiJls% ?׳x÷sxüÏïðŽè®w\”;›4J|jƒÞ¼A/¸¾†ú–I± »«âµ‡ìº 9 q$Çù#0þÚ±.²Œ]zMªyELèw /ÊêFâlÂ'äŸIwÊO¾…¼K ”útê‰zû/63!0 ëEðµ³È4ÉꃸÅô¬pÒÆ¼óxRí’— õQÆü¼1¨ßÕËÞþqôû×ýþ3B>ÿLÞ2 _«£zd†±£Ø4ÖÏèx*_¬ˆò~ÓÏRñÚDiV.îÞêÔë¯ÊG÷îÞoÓóån~º›k{A·®îÖ§»µ·ŠÔ;TêCÝšPЋ›¢X›6cÑ­Ûž–£[w2|îÖ“nMÄjó´Ü<-WOËW¨ÓÔ­§CžˆòÓ­{vë3»uî0cO»ˆ§[/wçËÝÙ™[ yYÃ0ôÊÔ÷:sé”2Ñ`ѧ»ó ;ÇïÔ/wçÓÝÙZÕé uçæî¼Ü›»sww®îΗ»ótw¾Ü‹»s£;÷Ãݹ»;_žS‹»óåîÜÝÝYÝrHVVw®Ç×ÎlSÈ.©¶‘p̽ïu’*7‰œú¡+û#Dõ•ÎM_•¼IÁZØJ¸h윶îyP§0ôUÊ[Ù@âm5–dÑ‹V(ŽÂ•ûÞ 8JsþmãjÒ³…Ðp¢¯ ¡µ»ÄN/Õi2Rÿ$‰T V2Îä}¾ÝûðäèsWé·È{ÐaÕÝ¡Ñ=䶸¶Z´ëx\ºRx,î­ «Ï¢ÞRí¢ÈïqI¼dÚPÈz{!ô8Y‡ÚÐ÷÷ßø63µcôÛ…EcË0qÒU†2IÛ÷ßx‡' ˜‹8Üj›hHkMîßSB&þê’B1Bô§ª'>ü.N«c.„Iž4Ú^5¼bàǼãt¥ßCsATSÚµøšf±ÐG²Çèªï6ì(Ú*Å ¥üQUÒ RÉ)ëIDÂÝ´iQk:Ÿf;çñhN¸úb«|"HÇÜ|‘¹óåú´¯“b|/åÅŸPe½$ÕŽv!Ö\mâ<С™$+QLÕŠôwlËKy}¤…ë$ü¢ËKr×Z@ öû–ßsûþ'{‹’i9e$™†Ò"+sƒ¬Ë¬5¡ŽEP¹¢hœÍµ`‡ØÉÈûjä,áåô×%“÷‹ ¸Z…Ùl­\æ-Ý-‹¹á/M£ôE—~þï‹|ARçNï¤jCÅ;„š—ü«ÏüNÄ"O‚âGOѽþ·µ¶¢î}_ ÑúÑ/ºf“ ]$È)ø¿!D¿¿é¡5áÕ˜÷^•ül¯E 6-¥ž[•MÂGìWNN|9êA@g½dpœÚí†4ÁÃÝy³H±UI¡ÓÉð“IÄcKŒp÷Øð\šzÕ’Ýœ×ét ‰Û©.*Ž7¯0FÇÖâ"Kî‹Ré ¡¯IÊ«ÿ­ãBÉF44=T;3ÇÀÆàyãD!DÒ¶/{’u¬'-£~ÅÉz¡o¾”^„ä—ä¹Òñ£cÄŸ©)uß”A8â˜"%pË‘c è(‘éõt\ozÈÜ&A\éVH+-¡5ŽËñsˆâeçSÄp½ÈS's‰³»é~œ£N÷÷ÎA#5Cß䣆á¬ÙTœZHyìó¯Ùÿýˆä"Ú£µÈt.e¥ÄÓh+8ë嫈t4Ñ}ŠW)ÌNþv'÷‹NR \KßSZn¹m\:OÕúuà8ñ8¬Ä¾$‘Ie¢êtýNêzÚ¶]‘I‡&¦´MôMö±MWî„s…è.¦Òéâ Ü?^¸¾Uêã\›”Ï¥‚$§¢CÊ«$ÇÇëŒÔSS¸ôÄ’>‹Z¤rB¶i“–j.Ù,üDESä¼sX^"¿Œ6žZo+Ç+/Jcír2“Œ——ˆ@Uü®Yš:ºJŒï%§•pƒ8C}J‰wNÉqÍZ•Ë|¢Øû¸Ž; ˆ¼Ði.’Ò3v»“ñbSègótÓí%ÿöª¦&:™í(Lîg[±“ÒRœ„¨Z«¡B'þ=rùUÈg'TÓ¾ŒÄZ4yâëûª]ßoáò²›)ÿ%â%p'f×+½°ïO Î*O«³?_uý褗{sq7ù(„ EB¤‰Ì÷ñ雲\ªaÈG<ë©OçŠÈ@ª·t‘)%“•6å‡ EáóM£Wh©FÐn™L¶Å"Õù[½ r*q(‰ðBU¨"÷8¥+ Ï›ðŠQ¢À¡Û•Gvçs”zV”Q)FG¼&RÏ(—UlùÉÅkt2ïI½Ø1Jitz^d¥ë²yèûYbH¶Ê ’>O®w0+«Ee¥Ìûûsá» k³ë“2¹,«¯–½dß!El[$DVq&©CiÔ¢ÍjÒ Ü …{#¥7\Ú»†Þ7îR*⣠‘ÂÈŒ+•¨ÃºÃ“¤Ž•šbä T}ŽE"é¶p+n¢¸8Ff†v’æ¶ ”0¨ëPÄK…ÖïeX]"ÔÅÌ|MQÖ³²RÌ£¢Õu•qÉ+¬lëš#Â,lÀa*¯2цžîBx’Æø$Ùˆå‚ÒA³T·ÔñÇ I^hÿ"ZƒX ˜ŸrP±s‰Ùv{³è+áy5º–ÒŽk^ŽýÇBúVöt&Sç$QªñÃÅ uŠ4ÿŸ™Iy9“rÃ2cÒRH­Ê†PŠÈ"…äÉ[RÈ‘×.ÅÖ/òiÈêØ9åWF÷åà’“<ÕúGŠUtÜ~œ„Zßkm» ÐÀMHâòERâƒã¤9Çì¡… t‡Jq~áéX…,jSW™¼5ªrï2$­jTMR¿#}‡o‹nKêÚÛA“°LT'“q´A(m.§s?§‹\`ñ¬—‹sL2±ëzµìŽeÅ=˜Ø5Ëœ˜¤Êå] @Ó2ï‰]ÁD–hÕô´Q¦z“:tß­SÁIt8"ùdë}D²P¼÷ÙBÆž¸?‰À“ÿ…Se=mtQ’ÉCïB®Qæ‚ðÁÔ}O˶ÉBÎìc³Ú]Ãb8_~ªÑÖ’¸#c¡Zådµ;Yì.ÖºÉRG6 û˱oP?³CK"JÇ!)ó”ø©bB±Ê}ÿzNÒê«rÑa…»Xà\³¨³¼ÕiįSwÞYÚ.ïV¶Ò>w½ƒö:XEÕ¯ «~‚KºÍMžWÉ¿-„hq÷ F|RS¼Ò‚½Èb3ì®BŒÆvÿ$›†½Ù/dÚ¸ìt¢•åÅý°è¸xv²×1]èÒÝ‹{.Ü©â‡Ó,“¨~,‡XŸ¼©•­î„Êú4m}â¾ÂúŠõiÊŽÅåD;C&Ÿ…Qã2û³üâU¨¾½>•"hqm•ë`K¬Wvºv:Å ¤:ß:;7xQËöBɯB©™ùå~ÊÆ¤»èEPwOA7ß—l}rHå NÜDô"lð*žµL§äZqÎeÆ÷ž#^ÄGÙ#)%: Žt;4€:¶Ô™4€æ±F&h*ÈÑÍêa]Ïšò{á/¢Ä)j€Ü’µ€´T”¼heŒÍÔ‹Ÿ4\•0ÊKAõ-7š@—ªrå  ô¸ÒÛ‰œhÝMŠ{ÒSJw>cbÑôƒâýâIëçÆµQW$5„›”ÏB,Zš—= ¤6u-Ù¦†<8L>+›èõŠhúóWz÷9¬lõkŠÌrnŠª)‰j¸ÀEP?·‰ÎY¨ÂuqJxŽW¤Ò¯t$œcŒ¨À²(ñÍÑ¿‡üc@|¯–K7£´a$ÚŽˆñ“ê¶ð° r©zb¨Ä¥?Õsä»:‰ÁäÖeêUö°z¥kãeˆ¢_½q=¾ÐoUÄ8‹ëëÃg(Ë”Jf®šYM~¡%‘Gw÷ï›të¾OœL^5ʼ~‘Æûë£ 4ó(è§“eMXÙãÕô;•)¶›n„]8S!'õ%^çúqòüï³U{?ÆÅº }„'‹„»ïåoW8¶!#Lƒ'×ӧܼ+TNsŠ=,þ# ƒýç}I]7ð—½D™–xèÆCClüï¹³¼š/î[Qè¾ZLl$¬?¾ì)÷ªŒ‹Wg—IMÜ Í[hä&cC¶þH]> pU!‚PV_L2s‡¦Ž©ü…ÓeT£SíÊ%wzyX­­;âÝ6z÷yî=kaÓzÈ…¬bf‹›ë(Qä§`J%R°Ú9&+«;¥"Y6T‘¿6lG´ØÅf×RÕÄ;zJÎû¾É(¢#-Tg¤{¨W†z¤;ÿ»J¦ ˆTP ”òª5"Æôæ^SE!C%zɰñRZ¨à‹~JV‡ÜP›rD¿ÐŽÈ¬-ü´‚˜ÛU{8åš~^Ž}Y~|I1W0þ‡kœè”¡8”g/×6z:þ*ƒ@vþg†E&CwÆ4-]z|Qy°¿l­ò¤å}Ëå:Þ¸Rò7:šªò³KËx34d3€—¯›ëVË#òéןný§[ÿÏïÖê¨2S«ßºãrGÆP ×ýØCà¹*fVZÙµª 5å¿>.ù¹*CèàdüÚ§’rdh÷ù_¬Ô>‰ÏùX©Õ‹½ÿ«“£_6D¶½ÀØéc·d“²¼bcO«ÃXƦ޽¼]Rh0½%]^œËð6`y ªÀÁ*Q#úfÊ^KýÀVR!ª{ž¬Ï/…õÍŽ—‘öFOË«Pv×PÄÔ!‘r± pQPÂቬڱ8& ô¸*…‚°Gm$mÙ² ú•œEqíúÓfˆ™ œ$Ÿ:o?LìJ»½J;nˆØ]ö¡*dJ"︽S½Ca8[ø+ç =‚=½¨—†p®üÝö-#~ÿ8À˜V³˜¦jC;ßš£½Õ¿ù¤Å·¦ö±ÒÎÛaGö ,fq«Ö€tœ@µžj™ˆÇ\6ÜÉãd¨iâ¢,šqŽV\Ä„xuÍöš¼ø(]îÂXmŠŽ¨DA¸ÜGÝr•ÂFÂ҉µèd.’F}÷îxYM¹ZÔoÜ™U‘r‰ióÊwÖoêµµ4¶‹,ó‘\ïÂjÔQRu™Y<åm¢_Ñ_^ž1ÕŠj fw¨äÅROÛ¨†ì5è¤Ò²Ùq°‘£ìÝA†âIB—U“DDú½Ì‚ƒ´Hì;u¹/œÄð%ÍÛ#e&ž]]o°ÿÕm\Vòh8É´"¥@6*“…¥Óän£lÃeNß?è’(“õ‹+].k–ðíÄÏóö-[× SÔ¢R6p0]l‘X9Ïtj7âä¼zig_”éÕ-/F1¿ž:‡K·¨™¶þ(”ܓބnkª¯hr(ÖIeÉT))–#¤1.,ìÞùË?7Ú/1±f!ž?¾åý·*#N2Ö#ä`ÑV¦œƒ®¶°àMÛ…_QsV K*YÖ—â ÈôäM‰6‚ö‘'ÒmÇM꟡XÑЧr½H #GYÏϼ÷ßÛ(Vé‡)ÃFЇÃÝ@+ ¬Ó8•©I‹Š'Ÿ†glÔe¡ïNìoAøH2‘À'¡žËùše©zn™Ý”¥éÍv1-ÖþºÍÙAÚÀêûÖÒ±x7†Ñ¦Ã[Éd+_ŽÐ¸UûÐÕË꣩w\4v6|ÀµøŸ„(I¸ù}úš¦ü11ŸIMîj°:v:\Þî?âkqÔ02¡Lv‘Ä…´vØ)ûRÐe³NÞrs^O³ž5Ì5~-þ¾¢y‹í0,«¸ «%÷¿ òe­Óš ^q'X¥c ®¹7‚¨ßé™Zf çT×,¿S´ñfzº}pU%³ ·×ªY1iµ4™§¿âá×=Ô/RÄ×r/ ›=ØY±T†áe³¶«„AO—s±*´`žÆ,îøEâ/U½”ÊŒ~!ïc?xŽËN0—0(g³›„nO-rÒlžeŸ8ÔؤҬ[qZ¹.{t_~¸†ibš×û£'é!•²Hïo]i=–ªhÈ£"'‹aWîKôôâñß8qW)pãÀ{¢"&Øw¢Mg0U“â·mßáö.ä̆ß™'“„¤Œß8øÿÿ]o좤e§°ìÌ·egdçø×úÈ^Ô罨ó‹ûùßÒGÂ¥‹xטúb€t9dÂŽûª¡Òˆö"áæ<ÜA<»hÛ_οXQ P‘Ó¹:2×EõÊigÿ\µÂ­"Ǹ‘Ê :^Û¡б.N §WÇ_ŽÓ>šwöËôdåœÄd±Z7ko °‘Õ3V÷ÁŒÛìùÙN"©M©Ô]3lÓ;䯍¬Šrã+™Ã'^­ÒÝŽZ¹L8çm:$IØá›*ò+ƒ­þ?4Øš—¾÷Q6>„»·iL9ŸX´skö& Ô[¸[\H‚ÕÁž¦:É"þXÕ‰›ƒrôszßò¸Í4.l@«È¿:ìÿÿ•å%tþ–ÓÃ’­4)h¢©ðÂI¦‘ÍI) Žâa9–Ѿñœ‡S'Èïc!‡`¦82(6ñ÷@Á¹ØwO{Äþ³©J.˜M²ÎÈ2",3VeÆbâ’»ûŲÖ,ËI7ÕSÁUÅ#r9ïÀðHí–‘›³ûdÆ„ƒ‘.}CZë·[ÔÿkËb³Ç5ÝQ½³üí‘ÚÿÁHÕÛ67¦ #0Cë. õ>‰4$ʯ;‰¢?Y ×áo9 íÏBÂMús(çÏþTjÏW7Àß—lYûóÕÇG*Ë™ŸB"µI7Âß‹^ùùÂçªáï°LÉáÐD˜²ÓmÌ\!Ò3 `m½š«¢ˆ&Oe"U4*ÊêÀ‚º’&î fãÉçgOúÀív¡‰PvB(Ng7ŽgãÉçý%¾ï—ûXü$zÊ÷·Ã1‰Aö> Â=ïÇu€›œêïÃ7·9™W¼@;0Ò ¹ ‹_‚p¾MƒyÓWz‘`(W%Ùe š#¤Ä`rì„óM ‚øüó<µA8Å0lÐ\Çõºcÿéäïèõ^/Û›úE‚æ|ƒŸçôÐgó‹q†Í1¾àl®ô¨^ßæOÞJŠM·oûÆÍçÄtãxTÝÇÍ/G$ÝxÓÆú>¯ˆŠ>6ÝxLgÏãÉâhoj¼¦¯ºñäk÷”4ñ…Òhãæµ•›n¼YiÇ“·‚iÓ÷õ<~àËk~ç5vž;r{ƒ¼™Íñz’ä$§PÖ•$AÞFƒ“~«'I÷Çà.^†‰ÁÙŸÇÌM^CÀ…HoÐÜâ$1H«''7ÃV6Ý0M~N~ 2núÀú~\<¯†œ$™Uº à÷u$¤¿OdA!gö±!8©èFrúž—›qyNó·W£'| ìÃÉÈ­75~ïÇ“?‡ùñŽ_’æ… ñk<¨Ña W5“w¯75^•á>ž¼h¯ûŽý  Çw“|úðº¸&+¹«×›&Î&êGóƒæmçíç3½Ãþ»7ZGOdjªÄ3ÃHO¾Ïg“æ¶é_ôµvÞýËݧ çú t×êŸ÷/T&üNz¨"-ÁkÃuãâ‡%õ¤w È>n^næÞwð’FuÒÎBp|¹Ø`S<ý‹&,'­û¨ÙSyH’_r8!TMÖë‹\-õ†7{HâOÔ¬o)Q³¾xž[:O¥€Ú¸yBì6lvª~ÐFÍÚx¹QX™Êè$oƒnBàõ¾\ÞÎÆÍg¿KüÑ•XÚñ%/­X šS)¢›l°—籎Àzå±½aÉDÛ'fæ/r?6{8$áäm(ØÛwî3ê‰ð‰™o|ÈëýÒɳ^Ý·¼âªxð %dÂf/B?5«Phɨ—â%1ͺùìÏuПRÒäg!Mš×Ÿ¡E)þ³ªyý©ûI6t<ûîeñ©Õ·d†'ykÀ†Ü4ñv’vç$ ò7‡&#‰A2z$'—þ#I‚—t;y .–öï{31¸ˆ5hNPßÄ£¾q£oÏÚ#Ƶßi> w<ðæ4éè¾ü»áü;ŸÌÝÅUÍò pJý³»’9ÿ<#f'8X“‰€Ëc¯,(!}gÍù|²¼ëíÛœ3öÔ“ŽHVºŠµI¢ò¶ºN»$•›Ïã7_˜el ˆQwª‰%V@åŒLSËr+,y-¯›&^PÏnüɗ릭˜žžO’&ÞèEOk`âÓâF218™¢„SDòHbP1ŒûXrˆF&n©ŸÄ% Á æv“éJóœÄÍ•Ä`èÏ}Ìœt–sƒ$®¢vz'ú]yuЇ¿ãÍN¿ã'Ÿ m|ó݆ðÅ@u0äu½Óé½·ˆ$žü$ùÒ“ ÏàÊÄ“'ì¦7ÎýÜÇÅŸ§õͦwŽª“È Å·KgÏÈÜøæ;*¯ßüÛy’Ïë,|'k„uÞY-޹q²MË.]yòñU¸ùð€Q<¥ßk¶ƒjÚŸ7¾ùé¸ü¤Æi–6žüÇ}>q]×vÌÿY”äzPãÒ£´O^ÅÇM7Nâ´û¸ùÓn‘I7ž^šyÊ(:óÓДáϘ™o)gíO Y) ñ7fëMÀV\,¡`´!(IóÛò¡ýîÚ=|¾G03z 7al _åëM*ã§´…„‹¥¹ °ˆ/k Î =UVC ½TTÂte?N’ bµ÷1¸°Y•MÂvê¾ð»gÙ ¹C&6ÕOlÚ½*ºi/ FýÃ<˜,'pT‹\ôe’nz¢wòæìã¾ )ÒÛ—ÓŸš$ª¸ÅQoö¾HžÌxAðÜøæ¹í›%þGÍAô ÄXÌåûˆè51ö½Ùâï÷»R›å7«Ÿ¹æ–~"f±æÄ“ßÓdâÉçãO>Û8ÏÚt§°®ªŠ“xò§õB‰›Ïë_¹.$ Q‰ÎMüÌ$2‰›W®ÆqÓÄ%ž`·ëLýª+Ô&€ZÒâ—œò6ïO U(IÌŒÜf6ñ0|þÖÐ= »brÜÔøEÿaÔÌï]ËƉÛKFµTÖM7~½ãæå¡\Ï'ÿyÝg²à‡1U|+·÷NÐÄåYòÀ¼œ·òå~ofÚ‚ûM ;JKõôBÌNec|óÊ]Ô¥HW¤ÊæñÖ½©qY1tㄘÜÇÍ˨Þtãö¾ÜÇÍO,›n¼pûxò,pÏV%v"ï;qó¾¿=TszÌ!’ø2ÅŽ>Æ“ÏÞºñì½ôÊíZÓ7Ðxò•8ü7Ÿï)$àƒX äá×4»­(f*•DÍFTݺQ³œÝ#ßßôä`bÐç.ÄäšË“Mvw9`³wí˜?VHÿ†ÂJHÅé'Sçžhsû„“ggt¼S©i‹½áoþbeOšxµE;H$$Ü6­^0¾ù‚kÅÆ“wç7¯tƒýÆ“—ËÈõŽ_× -tâÉ_Xš6ž¼4~û|ðÊ”–Ï·Ÿ××IÚg”òzÐÄ;–¨æ˜æ}?û~'ïßo•w¼Q¿r¿TÊÈ,©¸÷MÀ†â&Tô»m.ân ¦)…²>k®‰0àŠ+SÀHéÐ7h.‘y@ßœAs¾»ìÁzȼ,ྠ®0åã9]£5•Ü`ƒÉ]:g‚pß-?÷ƒÉˆÊn瓨Ú04‡ªöAjß×3˜w–mK³G£ni8›ý¾/mþK™p݉ŽÔÉ{I/–2Ï–uì£)ù0È"‹ Jf'^L@»sLç.vuI ²­JÐÜÂÇP1%As*aß71ˆ” Ü…ó­‰ÁÈp3ç<±I .:A¸|á²IÛÍcæ.-WI ’/Ag”CuÝtÃöuÛ‡“w˜C·¥²ªÄJø%Î~‰èogk0¤2€3!s :»’ô†g*ó¼™ü>˜™Iâ˜AqwQ)SOê#%ÝxÖGÊãæU'©Ütã[±<,ÖÍkŒyp‚Ñjêi9B‘ÜrwÚúWûr$ž|±þ.éÆqœ¿›?ˆIÉvEf’Çû± àbïnÐ\þ>i¾Le›$Wîò娡$­Ž›8³±ñ€l¬ÏÇ‘>³ÿ¸ƒäp{‘+hPZ²Siræ'ÐEÛƒ™Qa%^ù¾"Á±ddã3!LJ“æb\}÷FƒÉ’òLພÇ9¯š$Aôáy Nzà–$AkÞ|̱î]±©Og¯X§;fÆ$FUÕðÜp²M¾¾›$Jn„ ›µfÂÉÞ¿I¢‡3ÊN–6ÞÔMg4’–ZJ?Jr£C9œ &×U;Í 9÷ƒÙ‡ÔEü3Ÿ²0ƒ¸q³U›dÙ`¨<×&GÉ7%NiŠG’QÏç18¥±YIDÎcæ2rƒ«?ED©+“Lrù,‡~ïcìÕãw¡%ÿ<å:n›ÄW,Asxþ&THÔ• ¹eg@9”žh²lnŽM|bˆÛ¸yù«œ7Ýøä¼ûø“_j-¿3¯*ع~Ùgl  HNI9÷7Í©êιAs4­ÁlhZ‘‰–,L¼D<½Ñ‚³„BT6ž¼õÈ›>ð£¼?¬~·¶Ö <ù®í¸‚âÉ+6Åp(ì¨2'ñl`m×¹¨†óÛ\zØ¡Ä)w’îó¢h}Ò}=_KŠlj\Q|¨¿ä"³Ï°1r<ð¯-wâë6j–Çy’wx*½TÚó²'Y£7n^ù»Ž›>py><ŽÃçs$M¼[õ“xò~¾«µ¬†ŠH9,'ž|¤Ën~‘¢TJ á~”ý'ñÍ;1ÁÆ3QŸ#ñäóyò:™âÀk6és7_p¯Ýtã<Ç}<ùe,©ñ¸Ö|àɇwÂ1ôÆUÑíq¼¸|2yž:Kž¼à‚/Na‘ÔxÁÃgãÉ«zi}ÐÄÛuU7’í¸nºqG«ìã‘pº=9]¶â7_>pó*)Vn<ù‰·ÇÍ£R¼ñ¤Æ•dô'Uóõ÷¼±qó9¯ìñžãø_ÇM缞ø“¯š¤O¼~O^ë‰q4²œú¦Æ•¦­ÞøæSþ½…eáÝΊû¼y‚õhãÉç}%~¯oZ·r]-¤ÒQÆïhM'ýÏ›¬“¤RIÜët„A\‡°éSG›W²ªž¼ªž”w*¼h“zãÉÍ1»v»åõOÞ÷·å‡ÃV¸Ïu߸ªš<Ž'k‹­zÐÄí„¿ñä;ïµøþöñOÜü ·ñä"oÜ|P¹”Z | ˜õ‰›OùÅ‚§ÝFF ›÷ù\ÔÄ).”.®lè"„Í-Ü«’X¸ñÉÞ×Î{é!ÕŽ¼8-½á=׳o<ùl›è#Ó´=~—xò\G~Ç—“É«§lÎj0[ƒ¶Éðsoã šóŽ­:øÅvÁó4 ‹A;7ú˜¹!“NƒS“d‚pН¼’$84}æ1¸Ür8ZÅ F3·ÜS¢ÏÅ3EJ9‹çо%ò”Ð-i>w"õ—Š:?Ë5¿œjèYìù‰«úò£Üó¦wQè„ßkDïªÝ½Ýü£Òô¯*Pï‹>jK€U7™0Šy¾*ÕWÑß—bøôÑóÆùûœ÷ç¥ó<eäû·-þ>å^Àu÷yõ'ˆïu‚â"Ëô÷;1IP¡×yHLØ/f€óò]ò-©ø{2º³¨æ9¹R‹¦0/ú2QVR]䧪v…cþ¾¨­O!¡Á1 ?›6Èþ  G¬¼þì wñg¡º©øûù2AxÕùdáÒ>šÃ`(€Ú™ ¹øõu$Ip* )ÁEùÓ³%‰$åá>•$>A8ÿ.ÜÄ=´¸F´ÿ$rÃàT#·Ó18 R~Vf©#þ¦ ŸBb¶5 ?›RIøó"ûD˜ºð÷P& >ANÎ@øûû™®™ŸÕEK^Ý_çÛ¿•™ÌéÏ©«îO%Ÿ( ó÷R/ÙŸV|ÔjÈLA½ö ||~í|(‚Qô†×ܰÙÈ?±ë·nW=6›¸š&^í:Xì-’|ß8¼"ùñ¾*òV²†¬ð‘ßçïØ t’ï0f†RX| ßÙ™Qâ••$ÁS«M3 îõ¸o©íª~ œŒ{7xÚÅ ‡N£Éf³DÖz?§ÞUK$sÌ>bN)d61øMìÓ_’ñ‘SnåçhÍå«ÞT¨²‰ß ¬_sÓ„ sZ5«œ˜çM K†OÃÓûl¾g?P#ê±ËQ ¶j|<øÐ.ø{ªî³¿¢¿£çèð]eD¯¼TÐdï9ÿžÛÁŠÓ}ܼ 7M<ŽçO¾0¤´p|]$€5I̹y .’ é$Âæp  Žué'°£0hnPÑäe»ßÇd¶ÏDµ§µ&>ÒX·›&ÞˆAÛxòÍ𦠾œ?Ïc<½‘ ›åÝòiˆ½ooßÎRF€MW¾ÿç;4¿O~:•^Ò^<´ó¸xdÞxh>ªÃçªÃÜwHÝ>nÞ[»M7îì—ûxò²(4”¨?©6cpðiHIœ®Ä`¢\ÑàHfZøtÖ<Œ¶/cƒÉʰ7rt2ˆŸ#ƒ‘­¯âG®ØÆç¢ŠF:‹dåáo\®)j65/,rO}¯ÍI]Þ 9•h«I¼¤·Ícp‘ŸúèI´Ët8i[³-M¸Êgjÿ#SÄ$ÝÆ’"Ù 9ߺÁ|g}öi}+yq%·Ëóá&Ʀ©6Ç!c0’c(uwå(cäÆy{V'ž¼ Ѭ›oˆ³ÄMW©ÆòÀÍ;síM§"ñäNÛnš¸”äç›_Ĉ˜$*!d4d=U?P¬„ùê‹Wnšë'3ÜÆ7?XÒ§w±,*hvÙ4dÜüóú·¸Rÿ\Úû‡¦iÂÛÏ““¾î¯nVÒG’ú~òh²Ž(yÐê EqÇöÖ‘>qóûwÆ÷ãû±sÅnص>ÒrÈ‚|ãu¾§²Ç}Xkt•G‡6—rûiÌM8YÄ¡„“-iúN6_FÏØ=qãÏÜ9I$hnhÚØ#ŽAÌœÈ\sFΘüYÓGÜV7Âßµ_H|¯ éR€ð7ê©àõ=ЃEF* }nä¬7NæëÊEáO„¿• @R)•ß3˜§B÷[7o¶½| ã‹ßd!]0y[f†ä}Ó„Uh܇ÍWeåsÇj†-ö.¸ï&ѫާK.OtVpÕ5+—Âûjû*¬xß×1Q<÷L’àÐ-ç18¥Ý³óÃVÔøþ²¬Býã"5ÆÚ¾œ¢YøñßM„¿U¬ºn¡–<-—Jý“d£Å+„š=Hj’uÎ÷*&8Y­éë&=Õ;÷ ú­'è>àÜ p±DÓÄ:–Ô¸ò±ž7ž|ÞMÒÄ'c÷ÍÂúf÷E}2'æÜxòÕfÆÄ“ÏQ‘øc´(¿XvWuC?¨G}2‡6£ßuÊ1œ ÅëöØÔ°|æÂºÖ[–|;ì £Y¼>hâi¤Mü6⪞}Òý=ïÇ6ž|•óÈÒ@Q™mYÁzC¨ëIhÎGñw;2HXƪ²,¦vn9iâÒÅÎ} 7ŸÇëï[§ö+5IÕêG~Š}rBüÝÊוŸ¡`Þ÷š·,LozcæäÑí£É[Ë|‹7 ÀŸˆjÂî-tN&Ý_„ÛÝÆéH‹§Ô7õë®t²n<~˜Ñ«ÍwßímÁü”X#·’…$îLZ„/І@{¦hN¢’úæäxHÔ¬*Æ5[>àäC¸ÙŸÆ.‚¹ªÊ̘9?"ÿãýYzßü{I¦`Dû¹Iv[´ê-¡iâ2‰^7ž|uý®¤qÁzþj6o#éÆñä½›ÏÛùÃ)Œ 7oè„’—mmO¾*‡Y¿éƉ öqó*)ÑoºñoÝ}?Qk6Ü$ÚqÓ>Êþyì.3©<7®öZH8yUʺnºqv«÷ñä/Ü;ò&7w¼Ã÷HjÔ “QuªIž°ºÆõE=yÃf%ÁÕ6ën±a³Ã&ü„ÍfwK8;;DÂf‰-Và÷)çj;{« –ß4çÓLYF†¦î!ó7€ÿÌ/èOŸ$Oî ËÙMÞmƒ-á—O©w¢—ùï~’óoN»ÿä@¤yÉù…é°Ë)õÿé²g3ëý,{6ßÊž]YïìeÏ®·²gx¦Þä.{óÈÂnTÍóA.In š[Coààe4'¡n>H€R£As’ÕM”ß[IÐÜ$+XÀÅœnÐÜb¦¸In¹ã.Œ&K˜ö|£x!^ÖO¾`xRò'7üO^Ñ×Çöýç]üÏy‘Ä´j ë“Aí¡Í¿$¢¿Cms$>~=ŽÀ|Oˆûó{’tÂÈû‡`‘J²mH ©žä%€G¶ÍE›V2è4[ gŸ„;?Z¢f®X„MöæQînɉ=É¥˜†Ï3þžÐ_í¼QØY—`’à¡è†<÷-#¿Î»]Ô"Ki_ã{qÌúc¥‘›¹þV‡?…DN úsȗןœªç$^žrEó§Š…M)çð÷³/QOó³EL¾²aМC=; ';›°bëŸx8EXr0l6޾¼zä·_ªu.ûi²þvçr 78Õ _/ ’Ørþ\jcÃЋ©Ñ²añ ÃjV%ÿymجónÝK±8Ëj¥©ØLÌN0çóqßøs ýÓf€ö ‰ãµ}ãæ;S÷¦÷óìãÉÏÐ\siÁHµk lj<7Ê»ö@nœ;¢÷¦×ýý6Þñ6îûÞç?´s,6‰¼ãIë^oŸß'^çý<ù^R‰ÐU’xò*ù|¿æÃçgön>Û-¿•©e7MeÇ™Q,RÅ™Ý*’–qg¢ˆŬJmhN tW‚æ&y4Ç%.ê\ûçyjÀäÒ~©\ 1î»ÒÞe¶õ2T.Ñ šóYLÄä—ÇàòB¸ÜUÒW5û–&ǽ$è;~u:ÑÊMΛl¬¼*%…¬M6XëóXµ+!-&¯‰*ÿݾîOl„BÆê§¿§zÒeПK÷½?‹zÅ«1#ôóIü~ɯ4Wµp%11j}ƒæš"I$@ÚÊ -6‘Ëj ,$ãÜP¡-W‚æ‚ô72[ZɆ&ÐÜ¡÷šò©»–’͵ø, J> ?ONEwf‚æ.,P ‰ô7°çHУ†Kj€º½çfÜôL«u%?Úf‹v•I VR—5'¶2ÇC4×/rÇMÛ ʼ”ß<Â߆Íz¢ÞT°ï;Ñýt^dÏöJV|Ùs »ïÞ4an3Þ‚Ü ð·Â%¾ù©~tSãʨWn<ùðTÒ®ªàãM9IiÝšÌ9Åf¹ü>hà±ô†F,ñäÏ|ÓûùÎÏç5ïód+e_ØçO>ïÏUÙ#ov8Œ»’Ñ ›×îk=h•Ïý=ÓÄcxJU+#–î¦eš„Ì–`4ª´È… aXEÔ­M¨’'ÜGa§4UNÖ½lb/¾ŸOÙoجl4YŸc°£­*[rÔݰY=ùFÍf»t'wwÅ%›-ëÆ“W-ŠySãMžÃÇÆ“oZö®›&>Hѱñä£ÏqÓ'Þúûqñž2º_9®œ6F—M<¬^ë¼ñä'Už6M< [R27·—“ñoÜ[¾¥ØÎe/»»¶M †B Ü¨Ù%ßT>÷Wì–¨9Ò ™$š-Á[tØ®ÈñøŒ Ä”QÌL4­+­¼úOâ š‹mã¼  dý šë ®=@eK/ š §°#? ¹ÁÌÐ`š<ê×`æ>éÖÍÑ^ÆÜ°År›ü@º=ÐS¼Ó{ž¸iâCÃæŸÐÚÞéÆãÉ—ÇyîÛÊÛ¨”[» ÷úf?%D¯šø…ø´ñäCN71*ÍWÙp²]Êå$•i„£™“9ò}üÞ`¡öb>ˆo°ô—¤7ŽëÚ}Ü|±7ãž8ßþ}Ù%I%#kh‚pv šË~‘hv“… ×X¯­7ï5 ¶ÎKÙãµc"Ó7X2ŒU°{à[º²ä…XµG¼ç<Ïe){y¾ÏÕ`¯,^Hµ¢œdTøñ®XM§?Aº E üëzñ'Êþ+óáÏæ®_5qÿ-#OcIÒ8Ð4W“wñ©áZ7&ÎÉ®LÀ”‹u2‡+ÄÜÔ°(mÔlDº YEYS€>üiHÎÉ#1 †=IQÑ·ß bµSÉãc7=°µ ÂÅ<0nМ³AnNù˜’ócë™>Ê\aßkÐ\Q¼Ñá8g¾ŠÌ8¦b!÷Ú|6}âÉ»•Ýûd$¢¯í>H­à‘8öÐKéqƒ£O);GßÍIKÛ¯E‘ú•Œëþž±dÔ°wŸ.šå”¡7 þ¾fzÊþÛCDÚß=èœJ@ð ,Þ²Ew“D©³¸6lŒyÓÄ“ñÆ7_¾vmUg줘ÆÇyŒ«´¼U¨UÄò ` bì»å}f0ÆMÀHÊ"G”µ9ÓÞ¸¯žw©’$õÆ“W±Ì¹ñ͇¸{­~ó!o|óùT‰'ßÖ~ãæUâÉã%¶ñMÇ4ªÊxòÑ[uÓÄE9o<ùI>Ø›W±öëÆ“—ªb>žÃÏåŠO>î÷oí¡ö‘UlÝxò™Ònïõ•]d×H{ëßc%ëwâtž7uM,u»Sˆ&®ˆƒyãÉK68oš¸ooãæ÷í?¯¯ Y®În«?D8ÿmªBŸ}ÃÉÆ«is“DõTuÃÉ“$Ñ|;†“uòq“ú•úËù%åzÛ cn* ‚ ºçh„ÑàR£°Ÿbúz¼º€¬²²²Y”/Uù1ÛVö{.2»Uš°|¢üNÍÒϧÝèàLH™ŒcV¡BwAôw¿ˆÔ«¤c«Fø[ižsvÒßS3¹ý9÷<[fßfbs#ºõäc­øŸfs‘jÐ 7\Šõžæ÷aàÍ:„ÉÔðRzµ ÂõÃá*™³”úȬë‰bñè7Ç¡;$]h/Ø¿R©S¤`8òÓ"Ý3Ó”b-‰AZ8AsòÂK¢ÁzîKC ªøfÙ Õµ#8Ù‡ Jpºœzë * ÅÍÉ—¯m’ uóÜ¥ “$n”÷Ÿ¤!T‚aì ƒÊæÕëÆ“¯¤‚¼©ñN¬'ß½ÜÔø ŒÓÆ“dÑz£ÊqØ¿¨»m<ùx@YC’ÍO‰'¯Ä0ãA§.·ö¸[kGܺ¨½tãçÆý àU2Λ÷uZ†×Ä3˜’Mª~ðåOÞæä'¯ ¸"CZ®%¡S+v˜¯8üÇ÷7ïó¾¶Û!Ÿ?ñ›÷ù6ž¼¯_åÞ]üý¸R½öÜÁÄXbÔí9©eЦ¬MOØÄ“—É~Ü4ñËsvâæw÷–NÙx#¥$Êa FŠóº‰0æ:C0ŸSåsÜ7àq—7¸ûéîOôWO9Ë0½D«¨€pÌý…ô•«&ITÎÇáC0lD°.š&.yñ¸ñ䇫“%•¹tý<ñ*×H"Q°b{£^›t@¾Á§¡¶ÍŒG2øAÚÒÇ¥>ßX2-5odÂß‹‘Êè¹5óK†ìP.UÉnÚg7ܳ¬½QØ<‘Ñ ñ¡[¦hOÖWQÚúÆ@Sê“8S“D;>êFÍiÜÄ µR„C“$º|þÜ`dø¢„#d4;ø=oúÀñ"¹‹·Ì¹iôúá¼7M|ØÀ˜xòƒ½PSôªµêákcÂÉ5Ö†“WÄY½ñäZî8±¸u?oÒðTâ–Âî;2MøØÕ©tÔ,÷I¥‚ã¾î~jã›·-ùlålÕì:ÙW|:¿I…Hû…úHÉÚ~Õb´›ÜŸ@Î`×aì*÷#ú»WRÑßJj„¿ÉGÂßò`П××ýÀ{ÊnɺrŒE´áCÊ!>dm§¬=ypù·Oüóßÿox³ª÷Í: šÑÍ‘’ÙÓê×8ØÀéG9wDŒ)©ÔÛÞ¦!hk÷ØÛ4iA¤PY©É*­žºMcK¹íý4W°U¹ñäO F‰ŸAéª7žü$Þyã¾:|FÙnÆ£ñ~°oMË—å Xê ÃÍÅ;]²Ù '›’Ïsßw?2ÃzÛ÷?ö}2¤Ç°Ôpxö4CŠí¸Œ™QR’sӷߢ+A4(yŠŸ—Š&ewg1¡áÑ`ƒ ‰6o¿òýûˆkQòªïïÃÉ‹$ïÓŒïím—˽{ ãŽlÌLÍ2Ér>¦çt–ùÀo^Á7†ÍÖë 5öü­Ï-‡Ž~lzã“, û¸yù»=èÆ=Mìã9mxšxLÛ#äÌæß[ùì‡ÀYÓúž>ß”BÞ&®ü¢&Í@˜GŒƒÁX•0oµ‚ßÈó•:7Íc0În. ÐJËå$Çl¢÷Û÷6“'¤½ŽŸíhºU?×óW艼¿~Ü2žL6BóÙØ¡kÖ½M¢Ý“hñ$Ú=‰NO¢¦«¾}o?qUS¾ñÍW”íÚmÎÇm„RPù{MW>òÂ$¬„‡æóxâÉçù“Ïë\Å“´ñä¥å»¸ù™z]ã¾:Ü™µßSiݰÙ|‰æ‹á…h2íù^î;Æž²Êç¼Ûßç]íE™E)EÒ*wãÉg.XO ®äñDÍÖúñ[νsóšÞx÷¼‘ÇÍGFêI¿–ç ãÉgOšøXCŒ'ŸãÁ­ÿœ@r.¸g™B¾ kû”æÏÄ›âTÎesòQ¤JF¨¹T}ž!0¹ê$hf(½8Ÿ Ñë|$» vÜ&7(ô}Œ‚d_Ä+Çà…}ì{à[-'E`ÈÉmƒæÚ"KÄ jvo0¹Âl©ª2ûñsƒn[ƒp4BTΉ~¬¨‰â¯¶‰A%FL æûóu=‰Mªù0yä ƒQ³´Ë;º 0—v±7¯œJ*tnܼâ_Uݸy2»„MGX4ÛþšÉifÛÇÍ+ÓϺiâ½X`7ž¼‹^oºqG„ìãæ•–pÞ4ñ“úð9ÆiLE¶Ï›&ÞÑl<ù•Ú®¶­÷Â#ZF•ŒoÞí'wœÉ¶–õº4q6Ò7žüaÍZRã—m£‰'ŸÏŸçY68ä}lšxÛ<ÚÔöql¥bU•¢é{B7ħ¡Êû2#ì* )ù°k{Mâæs&ÛxÎlªšûø¾ùôkÜøösäIoܼ~wã›·ªnãO¾Rº£^Ô@ñéöië%„uvãð­›Çø}ÖÝ”ÑRò3NÌŒ2^$§Ú¿5£§?7&&ßš¿î3Ý]¨¿qê‡{Lf(DŽÇd¬Ìƒî âï¤RïtŠþæÃ °1–ÄÆ³[sI&„r÷?:Yã´ñ~UÙò­c÷€»‡øUy‚){Ö©Öº(›Ù’Iþð'ˆ§+!þû`ëît2¾2ÚëDͦӕÑtÕò4j6–ïã>¯ÙãýFͦ’0oâMiØoüÉ+× O)‘Oy‘›? )oÇ•ØfâšyiÀPÝñcÀ‹\ï_½îŸ<žÅl±&á´Ó<žÍÎ_ÝÈxèFÆó•ÁøÆùñº‘A–vù}ûg¼K4c¼Ác¿Ö.b÷Ò¾Î/Ùððøæf„€‹Ó_+´<ú["–ùðß¡œù T‡k5jÁ0jü Ñ ¢‘W ¹Tü ô-`¼úaÌL×RçO $13C«§?”L•¿!•Œ3Äß]éCtJ<Ë€þŒäòðü¿Sû+¼5§’$ŒÚ‹ß“‰As*!ylø-·âœ+¹Ht@™Wp±cÑÃùº¾‹¨TylМÙ œÛFº›6 UæIgFÍ.{I5[¤«¿¿œ|I3\âæ)fºx9´Äøæ+’ÊÆŸ|EáQc* î\ÓÚ…N[ÎþòfÏû–²1÷©’&å(e£2ž<×P$¾ÂáL³Ÿ |_æó´‰+Íë¬`leɸQب!ªgÃɬ‡ïJÙÍèC~½ç® DCç}Ì𩢑 ‘‹¼µØR„ç’ÿ=Ò%œù¦y6ïO6ÔtõبÙáÙÔ¨Ùqy‘1 ÚËyÞ¨Ù‘Ù”ú½È¤Ûv½OýÆ×±N"Œ8cðõÃéymsM·›¯Ý¦W¡§zO~ŒÌÿÌE÷ÕBú@U½,d¢µžw(gïÎ6 ›ÏKa÷´¯7yéó™&w%9K ¦ªð~«=»Êe4%kLbPšËóOĶss(,êñ~i ß[þx7R“rÑ(\øÄ< ɦ¹¿¦Ü·{h &ÇÅýE3ÀömiO0ï¶H†´Ì‰ÁðÛt_ª±5røŠtÓÄ¥`ï7žüÈøÒGœéB‰¢˜››w÷‰Ë3C:g¿\àú›ÇÚÖnÜ|h’䂵qxÕ° ‘!qózÎò8¿y2&®n¾XA`|óvÕÛø“·ã8†Ú)·Ûy·+ß»§¢²rJF¸;ÚNÌÀGÇÓŸ‰èoæ;ÓçèO Æ“DbÉ0qIÝ™¤ï|'ùÎ*ó„\‘‰Í]Þã!'‘œ?ÇžTkn`dŽåð§BxÀõ÷º'f }2¿<æå•l[yy%ۯǼ¼’µ1Q³$Û¨ÙøÍãÄ›?ëÛm¼ñ.¢Z‡qý\îÑÛ²¶±d$ÑûÒ€ò”7(Nö¼ë|¢ªã%OÙë†a‹Ý6 ›Ï²ÍóS³Üãµ’Í÷2f&"Ÿež‡ŒÇ7ü= W˜$WpU¿ç% EÝÇ–˜™“i&}g8Ý¿5äûFA„ ýÌïßÜIaNýrï°}ï@füF™±;]œM]uar–TŠ0º»=‰YòÄöj!ü-g韜²Ëñ•Ÿ†Hˆš˜½G—Æpïh_úÉÖJ4ä•'®MòÒ”¹©ñæmcâ7OàEÒâµ»ò>|_¦h¯õ¸ç„BiZƒÑpIòòIºÁÍI´oGp\½÷·›‰H\nƒ„ª:oñþø“Ð~)-Å‹£ÞThþ Ñû¦RRìïmè6-Æç=µ šm¨R5Ûí¹cÔlš2>íÉ÷Ì^9€f’ühòxr?•Ò_}QÌu(Ì›OkxN¢ž@ÎOk_OØ¥}ç} çÈ+çÃÑÅ݃Á’Yä´ËÁ"ÍA»Šnˆ¿£¦þfôl79ù'z.ìäÈ·ò´©ÇÀŸézò¨'ñæz"äáz¢.æ„a•Ù8î®’x³B·<¨qIS2€o¾³“4qI¼ÆO-yl’Þx±sõ¥Rõ¥$ù@aûI¾Ù3× “#,•t‚“½C÷öv‹pIoÎëÆÍ+¢àxàæwC`nRèîØOj¸=–¨ÙÛ ±’Jæ­C¯ãÑ¡ÏöÀêy?t±£wñ&»žàsÕ¸»—:¿æOc0ñÕG¯^Fø›þ:ðÆâoRZDߣ|üßã1¾Wvöí8±ßO¾?åß@gÜœ´ùŽž©›&.»Ø.­To>oܼÍÅÆ&l¡§ý¬OT OŠ#ì—8ñäQµ=Ç”I8Y9ÝT{ܳß6Žm¹Óô¦ÆOÌ…?Ó|˜Wñyó{ÊVoÜü¾nÒ03óã.3É® Ñ#?"¼ÃGëq*–:©ëí§ á¸#EVOõÖEìgߘ¹FeH’IŠž¾ÀT¥ƒ“WJZòáø¸I€CºCc0_ó$ÂÂi©%3±}%¹ˆÍCgh0YŠ€›Ê§üó‰ÊX{Þ'1›ÝvÓ'~Ô÷ãG½»}ÞwH3åÁ¹µÂgìr0î•»Ë'5îjòÛ›‡·ò$GžÈ‡DÙù…öKå £—GˆcP„ð·üÑý‰þù+ÊêÂß“NÂökê#:~GÛß[³ÄÍó^çóqãŠÓ°‹".‚–%,烗*µßxò¡‰˜ð¤¿¾v5‡×‚Üm™U#ïCÑõ ¯Œ?Oܼïºñä1]O>Ÿ3ñýÜ~žü}ž_SÛ7Ø,éÆño¹Ã—e£éƳ/çñÝ·­!q»ì÷¸å—xò‡Û8ÛñÁ×±PœÙBcÅ9=Ôñ·Á!=Á; ¾œõ1\Ôw3šÚp†\ãKÿ8ý®~¸ÞßÕ¬¼Fï.o6O»‡˜Ô2ã^ÉttE`01g6Cü= ÓFúòè÷7}æc›¡ âŸã´u%þ›!®¿Rű[3cgº;eì<òÓ %As”QásC3ùe/”|è>nþó~ÏûVHÀÅTû•ƒÆ“Ïó&¾ù‹Ø¡¤Ç‘ïa¿¹kòÏïoÞçkèmÛª}$ffÌ2£óÉ ”–r2ÛL—¼–?‚á·y!®ºß…FÕn)·hr9ãçm|I{˜SâõPò/¸Ù·áÆ—s0=†ù  '{Z÷iÖÊZ ¿ž¬dí{4™Þä ½…ðy')Ö*àÊ—Œl0Ì÷-ž ñ÷À‚ ¢¿epOD+“þnËùo Ñ\Œ¿Û¾HÞ s’±Í` Æn«*¿­A=U ¼üÅŸ‚Î_€íþS¹ò›üx¢Å¥ü¨úðÝ”ÉÇŸü¿ wçjºHâZ¥¼®O†K‚ÑIOU‹‰‡UóüùÝÛò¸žQßòãÆ3F=¥<¤?ã¸â|(o®uH=& žÒ\¸m™Ëc€æTO¼'1(mõ>fN™’{ƒõ²7±v`$,;‰ÁŠ·M¹U‚PKÅàÆ“·rá|ÌáÊ‚êÈ9ØÉœ”¨ÙH¯®úC fýüY Šîd%¦Ð¦éÆ/kò¸y‡QlºñÊì³›o8ªmšx>ðB]K±JŠ…V7~ó‡L<7n~bŠÙ4q›#7žüå°óM+ßf½ñä‡7ÍI7N²¡û¸ùNÎM7žÑHyܼ ðÙ‘'™6Ü×M$sSƒ£´ôØ4aÍ!×}øÉ7¶Î#¡¢áN‰ä¤‰;xkãÉÛ…mÓÄ£ùË7¯ âºéoYŸ×ÇáËWsbÆü#þ@Ñ—4ñHuÔŽnÞÝꦉûú‡Ïî&Ÿ~>ÚÉÏ¿ñ›§uù¸?žÇ³^LxJ†íOá¨Y ð·B„óSH3Fø»h'“$1EiîCpråö§¡Jf'03M¹OøL¨>ÀÈ{ÙB¥åô &„4§s…6@Y Éî¬ÜBëFÍöÓŽ=ÀÉ6OB†“uºîK3ÑÁLÝ“lPëDu¬Âfu0Ñd+{”M s±šõ­„U©ë§ª´”Ìç¿)ðRQ³ÂÞ×Ï»ã[ßÝñzÞ³Xßú}=Ÿ*§îÄ“÷”Ÿ/2Wô×¼gåœsyÊ׬w˜ è¹ãmê KîûªëÕ§²“No f†žéλ;¶z-ƒÉã-,}ýÔÙ*ðÍ_Yæ<›ädãáØØ’(éX¿§˜œÛ€»Óå|åäD‡tp&(Õ¼‡Jš0Áúùå·oÚQ½ŸÚ(©Ñ®†-ö÷OØìç³l|Ó©yûànêéuÏþŽzȽÝú±n”ÍO†ùþµsøªèÕØ4q ø¡&Ù8¼²8È”fª‚ íçyŒGÎ×£»w;ÚÿýÝq¯3L”Õä1l”°Â±{Ø8vc2ŸÜ¸çYŽçO¾^oçÙ|»Þ†ñ_Çýû|ÌôˆL|{J.O>‰Ãçu”ä­ýîæòr2̰?F`6ªõ’ ÝuwýdŠïÝõͶó} œ»s“VÃo"ßTïnhg€Ž‡ €E!4‹á“(lǹÅ$ú¹*J:¦:é +[¬¿¼¿å¡¿)ïàãÔFKµ»CÂó`7½q/€O¾;&%éðHô÷2‚“–ù@“]Oðé®IŽvZê&ý‘!¡Ígþ±w>²ðœr-‡æÂqš‡Ë|ûŸ¸rµrã›ÊMoܾ²¢}óïÇûÍGq°óq›Ë[ÿÏÇK>}mOÞzâoñÝL¾â®ƒ[ͺïÃxòRt>ðäqÓû1d֦ؖŠl™÷áák8ù"ã¬7Ý8SRÏÔx‡ã)Ò§"ñícÁCl<ùvxñ4ž¼RT?¾Ÿ¼s{Þ¸ù“ôfOþjl"O~²’lüɇ—{>§Ü`û}ýü}ãÝ\|¦ìÇž#&§7ïöÌ—•o§âß‘p²VNV5Àî7ž¬úõqÃfÝÝ•ò°rwÎ=o%l6‹(l•„“Ï!ºç@ŸºÚº™°YM‘çûŒù˜9³e;2¦Çïx÷|Wòn$—T\_#nE’% þÖÞU‚¼~›*9i‡©áPJ7jÖÞfétÁÃÒRXÂ6eFúü6(é× Ãî‚I…¸Šhùëí¡ -LŸJ‡Ä'F#ú{©™üÙïïïïðÛñ8Ï('„=ÐoåA³U•»ò±òq>šwã#3ˆ$nþô:•t–›ê<Ì”¼Ã4ÙùßøóýÍ¥¼»åÞÄ.îãæÕ¼ã¦ÆCS2nØlµVsÓ„ ¥ÛGņO×IöwFº° W•ïñnò™ì7ž‹vãæ•-‹r´¹yyÏI>0n~áØx·x2K6n^¢Ê¹ñÍ;ÞbãO^¡'ü>vÒ;}ìq_'ù<™Žûõäïß¼Ÿ¯!»j¾¦B02}Bžƒ#ýÖáv7¼¹VýKE <0À` ÀÌä¥'ùêÇ—eÑ#±dtEåY­"Ù• ™¡óê%ziašáo¦GþÞ^¼9iïÙº<í•-ÑêÝòÙ’ÙâÙ³‡ÇE5thªÎ£èú߆”¯õL féú9‡ñ4Î?ôŠÅ)?)£ò?«·{µY•Nió¦‰÷tÕ3žüÀOgãÉŸžÕ“^ã¦óßÊùçI.o·ßnÉl£ï%j¶;HÚ¨Y?\lV"6@û 09â¹iâ™îAAKçæµ÷8Îo^þTsÓŸ_;»\N2=ÍSØO^6Çf#yÔŽ=—y9>”Ç&Â|hAâ©oÜ|}ÿþæ«ã7n¾Õ÷ÍÏæ·ûã븯çvÈëÈ cÍ»]²Œß<¿ßïÁïånÿóˉ\Êx* …¾1˜B6“ü*ƒoŽqM8Œ-«ß‡7Ï —kw¦¢%Ü$­¹X¾Y]b_ TÕæ†½/<Éš ‰ÃóX2~äñPçKFIÐ\Œ‹Ñ4mÝØ œ’O^ š«žv¿Â¢‹ ÞÝþŒ\jVþŽž~ùÓ¯€-¹q×M ¢RJNäH’ ÷–ÇÌqß›S9)6,ô9I â t’•ÊÜ@9nÐ\\²›†ËyWš‚㛼hìDz–Äà¥ÝF‚p*\ÑnjØro¢É´²Ùû<ÉÆU‡ UPÍ-8»ïjC?Þù Ì’ÚÏŽœÅøæ Ü4ñÓ¾ßK6 Ïëæ2˜­æ#JŒ(ñã%‡ûÍÙ7МÛÞ 9Ÿ:OV‰œhrlOЧÎÖy4ƒ“í8=¸©êµ9˜ šk4²9Iå71è4ÃÍ…i’Pm¡šÚT7¥$ëõ”‡]rx'eÄÀŸIÝÍ4ñøYyOþ9-È¿ì‡tVEÂ;$¿(TÁÌw3]sC0º#C¾=_vv¹èê—yNAfûéOC¡U<–13CNIþ’Ã5f&XmÃÒ‰†ï°þ¬îit×@¾gÙ+þÖŽ6?A4ãáïÊ5å_±4"$G–Ä’cìóD ÀÍÛíÓ<Žüìx1v‚û\ c:1CºòÄßv†3q KÐÞþ šÃ•yâëÔÁš`r>‹As\ïÂãö²K®—ãŒÀOÎb09®÷\¿Ÿ ·Vú{‰_ç=hrAôÒô\Yò<ÃÛbó°7à&»ìIÜMæû×1_$G¢qÿVõ%öéM J+rƒp¡ÞÍÏjãq¤±Sèl¬T=ï@!le£7ç¯öÓ¹¤Ù?½Ž/ǤŒOþÌHCÓÄc&‹xò±!UP€iâ®Ñ7n~bR£°Œh?l÷Ííe}Ýx#€aãɇª%u=­>p?ß>žÏëç,蟭)ô‡/ÈA‰?ùãñýýÜ_hÆŠ3ë*·ñËö&F;žM '"G»‰Qy%Œ '+åÌ&F³½ ïæŸl|7ݸ rþúþš¦æ2Q?ê'lHá~‰Á(™BŽšO w]{—ÙÑÅà‡7L¢V†6܆ŒšÒt™(lÃéòÛëóà¤ß»ïJƒÆ?jxkTD‚¯wg¸{2àñýÜÙ,ÆbS{‡2v 4“ñ Œ‰¾$“‡„™ÑÖÄŸ†Æ{3Ó*iiÙòjC]ÔŒ™ùî¿rýÒ§¡ªîN¿Ž|€$€E±ÐW¢Éj0¶M\)zxòÕÎõIfüã<‰¶h¸0ÑùÇ)Ožø×Äo>&²òÀ“ÇXNŠžâ pʲ©ñyú{Æ“ß÷eºqî‹•É¢áÙösÝ4q‡ mÜüçý$ž÷ßÏvëKO¾;ªgããd\OÜ|Ïg|àó¼Ÿç{|aÅ~¥ûÜ&5´›«NÖ¦]55š÷-ñùü&€kPþOŒ‡R·¼|jŸú-Òçoš&Äóþ)£@ú<¸AÄÔd‹ 7ÇW:%œ›óM+Çß~žwМàçwÛœdÊ»¾2B°9ZuƒòûÙ ¹ïóíOCr§Þ˜§…–A+™#tdEH÷_PΗǒÇMÀtBMƒ§$ÀWÝ?3ºÙxS×µ¿œì©˜ø*%›âœ7w*ëÞáBö8)éœ77äN” 9iB¿ŠÓ½cø8´J⊹?ž8|ܶ֟ÇC%DÓL*Ñ=ò«=®O¾³ŸßtãÓžyܼJ0_7}àe]oÇËó~’n¼á`¶ß¼&š|^ÞpÌmÇ Â©S‘¯ïÝßéi´2ߎ7|órQg7¥ÑN•K¼  †.MXo®¤œ_ëæ"SóþõA|º/DàRà½1˜ï™-‚Qõ B*oÿ}IQa3£4BÈVWškê6QJ[;—…û³&V0§Á‚¤¾3ã® ùÖ¹«…Ÿ¿²º†µò°BqSãÒÅŽO^ïò¼éÆÝ¡÷ñìàtìlZCæÒõh¨‚”wöyŸ¾~ €žoPÞK7æl,‡³Ì3›ì1ÞÝQ܉Þû §äšÏyëml{ x¹äP9 3Gú^#¤\(›.ܨ šÓVBí MøÀ»f~òµÜ´¦ÐÄœ½i}S¾òxò'š/6¡Ñ£ÜDŽ¼Ì™‚`ì‹z“® Æe$ž¥o"l')¿?ÊPìßî#âhÞû1|û1ݵÝ8óÑ}<ùaYfÜ2âçyà*ôü8Oå›?É °éþžSK>qùX•¯²emó¢ýï’j¤z3qÛ¨×øÓ¤à=p. ˆÁȧ‚Ò=§Âx>ƒ.f” ÿì®1ä¿§X*q„ õwÀ‹`Vƒæ($³ à)ûi‚æBÁ–Ÿ 19úŒÂ66É»ž4B ò`Ù´ˆ¼Ö;œýëEtÆ|æÕ=Ö|àðÊóU¯Î¼¶õ¸qóÙ%6þì"ö&­k?ƒžy·ú‰_æZwŠÝUè í:eWò42ØQ×öØ®JjX7ž|ŸþþðÅ^â¥:Ð=éÆIöp7¯ÅýxÐÌõ7þ¦‰k;xòÕÂ.¤.ùx*ey<ä*o0ü‰ŸÍÆ“÷CnÜ|>LøtfB » +àâ]ÊøÆ“oŠÒÚøæÓ3ßi¢ÆÛUz§óA_ù=ãÉ?î«Õw\÷ÕíwßOóé4“4ñ—’xÞ_âãã>ö÷}}ùÊöž|^Ïx¶ï³sÖx£&{ÓÄîmãæ{±}Ùtãù|yüüÑ.´‚ƒÁJOÌŒ´b‰Á4ªñ·ºp"ú»¡äÑßõºOä¿×ãrúûÒmП—¾ŸÖcúô`47ܸ€æ\LÚ 9ÕJ+„“;cKМÜn0¹…4-b°{¾0¨"iž\6¨äù_c`½?šÔ_Lý<Å•Pü›{λod"…_اH6Ð’ôΧ¡ÉibLŽÙ2Iå¼qóQ&5ÆBRÃçÂõϨ٨²{>.¾¯‘w'oº£Ü7†w团«‰-zØ “íöê5œl'yáM@«Æð†Í~_õº6y ¡p¸.LÅ«l‚¥#éº61xh ín4ý*©½¨N½ Œibm8ùÐÌŠOúÀù>'ϳø5šlÔí›G³¹ßšóñP‰x6’A Båõô ÞdëN6nþñ2E7Nôá}üæ™ÍÓ‘ÿ!…]P}ÇOÂ픪kÏœÉ7ïÈO¾Ù2;1¡fK†ÛѸùÏï'ïóeð+§„ÏÉR…à˜‚ô7°_{Áõºl?ÝÍØ'R'j¶9„!QØ6v+ÇI%+íÁçW¼`<¦û¥éÆ­l÷ñäñʹi´UýyžÄ¾qýNȾ¹oçAw¾­¿¸Íüž'/WmnÈË&}âž—÷q‡ÖÊÖœtã¶ëîãÞ¡·˜C®/2þy {&Jž|źáÆ×§Lu‡? IÓƒ‘Q¹Rê¶ã‰?¥;+7l¶¡’J8YåZïÞlG†ËÛÍÛl˜Ê;´Ù ½>Ñà°X˜$È“ùiï’ìG/õçåÞ×ðǽšÕžËo]Ô°0ž¨Õlw7+X2ºáý‚Ÿ*:Èž$ ƒ¥ôÄÌà˜˜˜¦éˆ¿[O£·“Þx&Ê_øÛó]~ DÍÆ’Q-Ñœ!P,®š²§¶+ïnfplö.u« GNcwŒØùPI¬s¥²·ï¹’¿çÖØÑ­¿ý,!i¾6V³½º?ó¸Ò8'¶™¿ì:¨Ç/7ˆ±á~ü[WPH–› ÙJ¼¢f›šm÷ä&v_ÚèÍ*õíCÓ³_}tŽN¬í½øº#°¡¬Ô0äv3hî"†o“•®i$h®;ÅÙÎâ¨Ün'x€æ±ðIU·`&h.Ò>ÇžbPy½ŽÍɹ¶m¸H0gÐÜ"Šð&äp<ôdF“Õ–Ý>´IÁOÂ.7žüéµ›V<›S°<Èé[³ü)­‡¼6Ãêö-ŽÜä^•\.dy)R.¶s5‰Á®íQIt³‘z¶%I´±M«á­èˆÀ Bäe’!ç{E©4W%&¹Áqì'}>7hî[2Te @sÜu‚÷3àûÇFYe¶—ÁG[*Í}ˆ„±ÅýnÙŒ×&C.=AsÙ„›‡2b¢pÖ\°Dœà#Q³6¥'š6wï½vèËqÜ(¬ +¬šõn6êȬ¾Q³ªpyßY²J]}nxó‘Áø¼oyóÕʋēW%ÝiâæãmÕõÀoþUî›|òe?ÞÁ®Çïhé½û5¾ƒù6ùÁ+Äþè-*Ðo_#‰ÑØuìc0•zLúÉ.$ÈŒûšþk›Œèqa¼¸ù¼‹Ä“÷]JÕs•˜!ÿeì_¦\sÖã8jj²µmúÀ«ûA‡'SŒùùåüVƒ‰î&Æ û>“As'¾n"óH‚pÞ8&#Úͳ~›ÉM²³$9ö¬Ï2 ¹…'  ¬rבh²áÚž-šxò~÷›Ì7{i¦ó$ºçTfqOÊR¿aÊbËlÁ¹w$ÊÜIB­<¢Çï¶@„àlLL–åzÝÇ•ý%±ÍÈ/yØÅùÚÌÇ â`ø½y]tCŠN^ÖÊó¦¯(köqó2Ü»ßRnî~ï‰;KHyß)—¶S¾ÞwÊç}씯ýˆ¨ä““óä…'){ÜtÛXÅh|¹ä…¼ /Ýý\Ik¬'nÞíB&6+±¤}ùfãæå@Tß7¯Tù¥ß¸ym}T….q ¯¾U7n_«‹:ïø`ç÷øþæñ·ñ'_îóås£ ›÷yÍçùÀíºÛËø?äú ÍZW$¢ÖÉ$U­ß 8‘z“®ù|õ@îÏ×üž±ÝÃI[‘(ÕN’Ä'(Î÷¬\'„mt»„"äÜXy܈ŒÍ÷)ü °}¢RsãHš¦ o+ù›™ÁÓsÎÝîàc|=ÇϺG·{eöÚ ìô¨¿Ç¶R²%×ÔôÜ‚\ÝŸþ¶"­=ivð4˜I„œpĨÙê’Ö‰:]E%5†Q³­Y®o’lîHsRÞ{|3x½=ö§q·÷Où›=öwë+µ‚%/¶/Í‹ƒóÉ6vïo?v >æûñW>S¹|nÓ³ð@nÓS¥y½«4áÍÞn‘¡L«DÛ[Ø5ñ]?oôfÓeºáAÈa5;6û _õýpðþ¦û{ž(6žüÉ$â[üØè·ý¶Q³-ã>,Œ¿éó4ñ±[øà%é×]·:Iåœ'úÄ­ô½mÜ|t#p(Nó¥ãŸxòÙ ‰ïtÃÔëMquw­¾²:æz¨cdçs«cŠ6'#uL¾ ¥Ú]ß ¾}~ë¡=¯‡VÐÊOæ •yÛR”’zy:¶zOnõ¦†»¶Ç7 ›:Чj´ØÖðRî‹…Y(t…ZL7>ô.îãæ§UGI7^ô®ïãÉŸï4ÒÄ÷}æ¦àšâÖ'¯R—ÊošørãÉ#©¦I ÈçÎçI|ó8Cn|óM:mÊA:ÛW?â¥ñiH5Bº13ªrüý#´A”6Åa¾ '{á¹ádIX¿ŸŸçÒûÌI›-KmTù#´0%ô̓%’y’ûõÜEÞÔ ì2ádé N6ïýãQò&+¨Øw– =8{ÊîaîQù¦²‡w{nÜ|·ýxãæÃ×íZÜ|¸Îçù“§G앧ϦS?êoã>¡Qæ4Éo¤ðæBvÁpq=ø4#$þ´É¬ý½Åê ¾66ÝÆˆµö¶'¼ÛРÜ—Ò^Ë„§/oþšší=ÈßÌÂúû‡NÉo”==â‚?ÇýîÊÎ@3ßô²V-óÎ7m™`Ý_.Ç[¯÷W/슺}€Ú¾Ÿ]Aêô,àç“­ÎÉ‘(¬?¯û†`}_²ŠúüÐ+·ÏŸìÕßàÍ_ãïRÈ5mc=~J/¯¶Á&ž¼MIcA_¿‚W[”›Ѻn|Oü¼õŽ:n¾Û’tãÍFÒoÜqoS¦W“rƒyÐO¤:×Å"D´áx¡Å/Ýp²—÷›h&ZVÈ'«Ea<‰ÐïwbõÛÍïãÆ¼Znß|ÌJ»`>[2zòÔæ÷Ì?¾3‡»ûŒï×Xr¾Kw<:™£îÑQ¶—U“õò8ÒÕu~ÙX#e÷>N“שz}ô-ú_ÞqZøcWrˆÁƒ€ð0yµu³^h6 ¯q¿Éý­‡¨óή+É›¼AŒÈËÆ<Ùà‚—£ëþ#DJ‚ ö- 3ÉþZX¦®ã†7û¼·bƒey—›Ê%7¡Ú×Q¥‡9,[<ðäå±×4q¯ù7ßýf“&.YcÜøær\^w¿ «ã7n^êåùÀ“/øhîçJ¾186~óä.ñFaŸÿî2åjo|ô¨‰?í÷ÿ/÷‘Ÿ†®Šm¥Ãˆ$A‚ÏóÜ QމÁNÀƒAs˜ã$މ`GcÐ\ˆäû(fÓ+13ïÃÊ #o÷ºé¹£ÌZL~©¤âÂÄÉX‰Œ'•-ô!&ÞmkÉãðª?-­t/^rì]7/ï»qÜ×ÝÓnãÉs¿Q¹Lf×á{x·ÜDh§[$œl?åesS^ø¥NV1y71šÏi8ëÑÕîG’H’Þ¸=§šÇ£ø¶|êË[eÃðš·Ú†Ë÷s¢3¿˜…]û:lw˜Ãv7òXòðñ3äT¶ç·‚ëûëD¯QÎÊ¢‰›§ŸÜßãå´2}ÓñÇDÑwH Ožv0ÝR‘y ÂþËó@è8q£Ébx‡óÀã9¢ÏÇÞ¤ÛÞ ˆ ë\E±™Be™\OÜü…jcãÉ_rôyµìöKxó»}£ËÌÏŸçI³é0¼›VX2H+éªèÍ…âéþbùrìñ‹…AR²óùq,As8í„‹BJû‹0K1/ ‰™$\$­¢…*ý&J`ñüPtÏ’'0ÂNó§!)·13 w¾á Ë‚îFu›È7ï-º‚pü $ÃÑ’¯ÿÐö`KüÇ&L°+œ-²ÕÙ6’nÜNQûx:I]N/aÚçÃÿþ|PãùkÏóåïýQ)èAÙ«ó×ÃÞåOžì_÷(HÞ½¿_,—ô#:•1¥ïÞì$$̉R0‰°¼Õ¾58V(¹s»ìñПM‘MÃCܯKŒWYRÑhů¦‘63_5+‹Òu£°ÚÕÌš 2Ï7Ô¬d¦~m—.îÈOCU.LWA >ó¸\ ÛÌW^Þ.ÄN@šn<Ĺþ8n¾=sÈ•^å-7/…PPïò2áÁ¦‰_îI‰'ï&ú–„db÷©wØì~X¡›cÅÌÈ'Û§0þ8¥.±ïÄøgdCâÃÂŽxHá´ì„„“;JÔdã¦?m Íã§ÇYØàÖ¦7>_ØÇ“_N’Ô¸ËÏoëË ¿nÎy,j‰¨“ã¹:`‰Øã¸#ê$æ¥Ó‘ø¹3æO"ÓÐWÃy7¦÷1¼ñ_²hÑÏø—  îqQ`S4h]™«Öø8—Æž±yf¦XMàüò¤ŠøøJ–æG®OñÅ_ƒy#£¯ÓS+A´nSKŽ˜ŒÍŠ5vÌ­ñ°ôͺ‘tp ÏܺªŸ–Ö|~1ê¹tSQj›¼³Y“éÖÍžð¨Ù¤Ìê“ý[A)8ö„T(5ó›V¼d‚V¼p~¦ò1‚›» •ö‡öžÃjyÆÝ’5×),.íSì]õöÍzý=LbòÉùИV|.íôäÖ¥ôîßÓèßÃqÚÅ¡çñäÖÓ¯Æo –I›Ûö§ööÍ­µ_·¼^>skÿÏí çη6ã ÙŠJž"’1ã©%±å@0ýséDš%Y¥›bµ·b«ÏŸ ½Nþ»¥1Ô°•Ò¨¸rŒ¡ÔA?Á#Ý¿3E›‡»éÁÈR…ŸK]„Ÿ ÃGç9Öm<'g¥¼¥¼åtØâ_8 N2…²“Šñ¼hžEç` ÖLJÁÇ÷›Å•¾Ÿ*ۚ졸‡ô²tAÐfcÖÐL)6@:2(¢´¸K0‰ÅM¯*ŽQl;bJ†eŒ˜tDS™ C%`2 F ”!«t‚o˜bdÅ$3Ìváë¡y|ð!¡TÇl:C©ðo¸¤Ò61!/w÷„RúoŸ.ÎS·ÔŠË_Ó-VyU¥DfµG*œÖ‡–(Bó°Ñ¨¨å6„XÚ*¡Tx÷äßÓÁçPê€I´c7•ž¨ñ Öe —b‘1¬¼J£rûŽP*œlï¡U%šiˆ&„‹U•ÿiIo ýTHEÕEc†­rÀ‘÷-š¥|ÓŒNÑ—ÆÄ±}_šë#lÛ—¦Äö}éÂw;V žˆ®lJ®}Ç‚TŒï,&qÀ£B>YªQ‡â™>’pÄÄFxLiîoB*nš…è^íRôbÍQ·ã±S)}H¾óRdgþÕW×ú½²)3&3²²…:fš“á|ä)zíT׈KýÒE5•ÄØÂµ(%èÏåäæ¾2+ %£Bg²©6?ïò ”{eÎ=Ãã‹y¸¡¯\¢MV1qû¢”hx¼é?¶ ŒeQÊN7šÓűÛíÄT2öö×ßf!YËÚˆäP'‰Îî/N;yÕйµ^ϤE`Ù{û½ç…ž®Nùú’XÒÃ&µnDnâ\[^>q¦O×]·Æ†Í€ó‡ !ýŠiJ¼¼?Ò&·…=OùÔǰ>Þ]µ‡æÐʹ¸´ãæ$wÛÁ³Ìgð½UréÊȫ橫¦&%—nC%³ø®Ë:Nl©k?yþ#9£¸.އøÖkÈäzýxkˆ,9µ¯§ï”îMQª¨eÑŽŒ%‹jcÉï޷‡g{j|‡|O:vú ®3¿uåyÃìhã ºŽÄy°R%£Äº›-jpÕ윥ç~ÿ²(úÒ¥-Lù~É5ò—ܺȕǶ6=(ÎžÊ Ï­_ëËØÙ“&,ò1À ‰OrUì,[sNkë‹[wyÉšã9ìׯ­9äi»¸ê²ÝìÎ(ÄËÉq»<ʇÆËŽsÙä>JUhÞ«6ï“êÊZZL ¹8]‰8 ™êš“îs‹Ënò5ðº˜åË¡Ñàgžœšo.ËÆ©y“öí\º1¼ym8SÛ%†Ç›Üúàñš§FøÅºqéÈ…ÇÚNjØòÆ â”¢ñnnÝYX&·îÏã|h ¹Q5ùGä~Ì­ŽÇ'·>8躸ô!WÑäÔŒN|%·ÆêçmmÇ:úŒ1­Ã˜ÒYX s¿ #£!,yj¼ÌX2Æ£¨÷&%]êKj6¢¦ócôHIj]—Ä’]•‡±¤M=žËúãAÊǾ+š¬°d¥3Œ¡^79±åH1Þ%¨ÔUêMyð1–„sS]%·äAצĒ*Ðý”äSt±)”¹8s9sãZŠd®ÒCÑlNÍ¢¿+½Tϳ¿4®qè#ß8^,V*ÛàMm¢¶Í¨hœæêS‡¥\hdàÐu Cm‡~ôŸ‰#îÆXP h/xžó>gEIâÆ¡PÓçŽQ~ŽžÞÔ_^~æyðˆ«~Õ‡š˜Á “JN¬Û%S8äçäø¸2¦l¸ŽÄ’ï×|Pd0îÙ8­•S*{Öëw¼]¯,yó¦ßϪ®ÒÆÖœS>úâÒ뽪,"Ñ—u8yXâ½}Õ'®ÛAë<0ˆ084W6,©ß˜6†a[Æ‚?<cêMrü¸¾üvh俞ٹäÕôåçuo¨ÑW-Xüzhº›ÌÅ¥Q“—±qu'P—W º‹ÇâÒŒq>ù¡Qícm?5ʆµÔ•ݱä©Çñ?t¹·ý9çh¸àbì–9Gü©Ï•ƒ”5œÎ ÀuC‹OBü\âÕ©?ók$øüªÆ# „Ÿ_c_V'¨B&Öc$áçˆb•„Ÿ·_é3¶ÆêG• *W¨…¾l€qŽüȺ‡àËK 8÷8w ¾Õ3¬B´²¦RâŠFOoV4¨:]Ÿ©'æúD½,YáªÎ©Ã¢°K$£½¼oÞ ‹Jâ=WKj‰:oYáQôþžTrpô[‹F¨i9BµÙr¼YÔ[œô–ŒÙ'Ö/@Ä/A,|=R'ƒ¥¾ 8~ùªBu­¦]wx2Œÿy< ÔpSó¥ÎÇ´•ö€-÷·è:´†lp*OJ!Âè®*9äfÜomÞiÅb"‹Z¾}ÙR›º‡¾ˆxWÂ0ÛN9ßREXºèhÐN„gsšwkCèc«ÏCÕ‰(c8G4¸ Û¬l2雡oN,õ}Ÿ†Rw¸!§1¬‰æ4©‰Ûk#x#2–!Þžj‰ó°‰]É3ÙúF¸´eÅñ>õ\ÜZO•iÜ«º°ä€ƒ‹i\è¶R-Ãç}®'¾´_CÉ=”ÜcC]ÍZÙ}=tq4Húüõöåõšð1pŸã‹‡Æ‹Æ.5N+Î1ܾ¸4^/̹,¯ÁÍèÒð’¬WT#ÇZ8ð[š;ÜÞEIcU£ý˜4ÛtÛv¤Ë­¹É¥«Z Û‹)úêDréö|%÷Њ2ÍáNŸý©^óó±_t€ï+oºèUÃKc;ÊÎ~ô4Ìè9Ï»vîmÄÛE ?Ò|³¡QzLDQDzï™êaýýGí0¶¬õA©<¨‡âFß)žÍ3 Õ•½T[S Jy Q‡ÃIÀW¬t;Ë÷˜r‹[OÏ­·†=Pv¡1- QtûâÖÞž¹µ÷ïïy;>ÜäÒ:i¬Á ­š3}Œ†WKC[ŸŒâuâ³%‚8jýÅB¡U´~K ƒ‘P*–‚8óp¬x}Çy7;§Oêuüô ðs‡R=.^#• l!pÛüâj7»GìkqëˆSÐ7›üFðœ•.Çè^öÁ±úR{íâb•Ó“[OCˆLNC)´Âð&žÖ826¦>*Ù.H}³æ'»É­'âA-»8‡eü}§ë²&÷eæåóùñliæ2”Š9'G~S*:‰wKHuÃÌŸKÁ·àÞ ¢ùÒ3ÐJ¹DPJù©Ñé) &)¹®Ë*†J™ŸœýóÉ(X ø¾ªñÇÁ$â•7Ð^…Ëàôè%#íp8ZÀ‰a=Cª˜Ý·šÆyÑi—rÇ…ÌbkŒ&äµ’­¶onV¼ÉßÒÜ.÷ÃÖ©QS…û%—Æ+sqk.x³s0XÞî*"é8,X¯ ñP/y-`N YøøœèBF|dÄ¿¥lÀ"ãßFXɰ¦!;à…,–«ÚˆEGâÊ$©ŽåÑzÃ`®Óžp)Æ”Šõ/žQRJÌYT2–î B)§tÎkí, â=am›䘡ÔW‚Ë`táÂs)(#½¥!Ä$¤ËP*F ú†/POC©‹‘9— ˆ È—¡ÔÍHËà­ìÁ£µÄ˜ko›Çûÿ[ãUf߬xõlqëxKTëÃ’óU¤qÞÞ%Œ¤i€€Ù°e¯=í,Ë3¦§IÊ9pN¤Š†PMc8¿Ü–ªKq]êÎ)vœ WV5ež:ÎÿܬøÐìCsk„D;7k>YÑ%—þåqãÇ|¦CGfç‹Â8ý‰ó-j²s~iŠú"TL£@èÍ|å§©Oá¿ÞZÑ=Þ/å,Ïe½Ä6dxíî µ[ý@g£è7çÇJu:ÑRqj´¡”üµ¥œÑ®¼6Ïnø9Èë¢{½amÅ1äz.nYFÖ¼ÊKÖÜZY.Ñçíìmþ1¸P“ë3}clxØÑçŸ<˜¼äõ7[dJ¢ˆúk„wmÚ)wÇÔÅ¥c²|îÎ4`m¢ðiȸu½Cª|UQ5˜Yh­ÁQ-pF<îm=4zXЦí›5—KQriDìlË&g»v¥[ËŸ!·«¢Ê¿C|ñ¾ýNßO.íÕ—“KkmòÔ|C“üÞÞØÄ[,ðUYÀݲQ íöfÅ·3eù±è­ 'YÙš—¯ŒþpnúàˆCÚäU/;œn­‚4­ü×|âyž˜q,›œ×ãæ€ž?Gp-€â9øäèçP…ë•ËÁá89@5oh89`UúÆÏüC÷øˉý‰Ž™9>G°ª¡¿"Ñ»7Çç)²ü›¡¹@ø…6=ø÷Â\»Åù¹Â‰’AèoÑ1HÍÏä$ùùR-prá5>ÀWMCˆ•ÈNC©Xy‡ž•‹ŽÞ¨ ©&ב1œxÃâ4ª‹ã¾ƒ³"÷¼*®Áe†R ¹dƒõÌS”âQÇÝn ð·ÅˆÞ±[ó“^Ù\O/¥“ýmö¤lDÓ£]Ä–Ý(mHc‘Æ:L¥˜õ—èÂÅâ_#LGç_#V}n Q%žò§Ãõ­ZcCýI%½gZaxk-*ɶѲ õ™ }á å8h¦‹#ÚÚ¹8"7õ¼ä: ½˜•OMÔ’/½KbzÇX·R/ÖF,3(ŸD02V~Jk®Õº’KwÎJHkŽ×5çâ©Gœm—Â|ã^7k®Å’K_zïbk~reÔäÖgÌ%ïxžš|›ã¢b\hqê†u1’§Žvßέoø½{‚§Ü›ß;íâß[éÒÛqÁn¼Žs;/žÍ8v.}r"ÅΡ§æJ˜[#°ÁظµÎ'¯÷xwnwÛ/ÞGù~eþÐý~|Ÿ£R5:eÉ­B<¹ìu>ùuÊêiôŒ*nO§ÿ[×ùä©Ù>ú櫸oöbãâËN,°݃±ÔÅè‚V3н¬ê=ØNc”êš“L3r¦k”…N£baÂÝajš÷ç± XñIDQP§§iv=ÚU ?/cï¶L“‚ÏXÂÆ8U‚RMÁe®l¬›ëÈyäÅÖàU^•Ë[­£ÊXµ°k*V,•Õ<:ËÝUy}ÖýTjN±ÒB%"‚ÏlòïÅ)"E„Ÿ'jrý%éwi ¾K\.ã@|müÁ´uq|fÇ•:£¹ âϳGW6rB\'ÆãÒ: Óo ð‘Q¯ûê o¿Š4>ê@°ÄÄXÄ“³$àÈØð‘C€l-^ë” þóßü?3`¸þ’`g~úüœ$«ßoõuÛjÿ­~FIÎW•2¬rʡ٠œ­2M1ÉfI“Ñ€âf‡GÆ,Ê×L‰×š'Þ8˜­Ùl[ÊdÏ·¦+(ʸȟD~»û—±Rm×_’o¬5÷'çâdlíNTJûã›à¢-h]Øšk} Î ;—.œ—\á¤èr08=e2O;ÒÆkµkJ!ªÿHCè}ˆZzWºŽºtܱ¡C³Ü¢5ÀùßQÿ7ôÅl4™F³ï1ÒÐ7I¿ŽÄ’SÑã0É —Š·ѵ¶©^SŒ¥ôs›ŒÒ»àúìpÒÝ8¤rB)‹  »Se ƒ­%ŸÝâÒh÷ä©OÈßÏmNïܹõà+­ÜŸµ®ªó ó\´R0â&kŽÖÏ\Üú=>¦¹÷on==… r€åg}Ø‹ÍÎ{lTòdl³·GòæÂÖMã§»=¬Ü·®Þ-xË;£#ÇAùÆK¾ebåð¤~²ýoOøä’ èʵšH‚y‰Ìªp\MPŠ™vbyþ˜[ág ß“è… *" -wª§À›gög‰îBŸÉgÊm|ÇoXƒžý¢¨z4ïƒËKs½âW=¸ ÕÁþ…×baE}¤áX~¬‰“9e£rÀ™¿®SÌ¿â»ÿ’ >œ?k ÷BóJ¢Y´}U2Ö «}殣½Ã3·Áí“IðÔ¾1pÚòê­ËEžº•O¸oƒÓºà:5¤9ÑöM.Í5#ÏÅ¥áv1·ï[w®›n¾ô…Ó¢‹Çµiµøí¥EjÍ¥ϧ,nPfWòÔ˜]7.×éXÛOÝâ};Öc>ö›:¢NoÇùÐu¬óì\1÷cn {¼q9âßûõ’†mo¼åõ\÷ïv|¦1åPI{±ËpÕ¤’ˆÖèYs»Õr˜Î[jê:tËý¸¨êÍGECÞ~ $Ø$âçYä/ñ3ŸIŸ‰O¬\ŠïHl‰{ØKÆ•‰j…Têö|UC¨‘YÜçôA^U…Ö×®º‰¸n^¿nÁFçŒ4¬- åÆ%âÈVaHÁT±A[|ü]ÜJÕ¬ â¹Uˆã‚ ÇÇz°·ÌõÜù¹œ*'ü\d~fþn0¤{hzŒbÄÖ.¥J—iÈTÄ€ô3 uËEöF¶FWò²ÄX;ÆÖákLY) ©bÖ}¯6†O²Ó¨Xs”prÙ­k0¦ê2‚'æRéQ”ŒaÁ{.…æ1 Wuîo¿Ozçæ:"¼Fkb|_‰N¾&“è™ó¯Ðɹ”ÎX_||ƒl‰(|s³(‰oøs€u7ÃjGèº 9 ³\.C«Ç7­n½ÆãÀ ŸÎ:ß›KŽ‹$·îJkžZñìhM É¥5æÝh‹[;’PZñÂTx|¡|®û¼,¹ïðdŒjôë/½ä ÄÕ>Â(yj&Krêÿ³ለùG¯Ç„S1i£ñuŽ•l͌і5;øÊ¥¾sÌB™ØMx#žGÔe†©â& Jùå, V°wE3O†)»zš¤ôLÌT9*ރï4E¯KÓú˜jÉA„4¦tßIl©Œm,¯² 枉OhÕŽŠ>φRº¯Rº½„q¾ßzÏ&èw­is`)S5Τ•»lÜÑ2•Ò÷W˜Sß°ä)¿:cëÁÖ|rëXͬï\Zcæ fo­‡;͵bÛÜZ[S-êêó àr#kŽ7žmñÔšÏa‹EJ»&#µe“7¾%ÉtépAUä#¼ÅéŒÑ…HHsçÒCŲ¹ul§ðuCÓwxë1Ò´¤#¹uø7ÍÅSë-Jrk½%ôþN¾ƒÆÛ›vnVî6nÇ%›\Çåëãëò¾}sxÑÌK¡·„Ë>ŽÃÛÏûÍûG·ÀÉ!&[Þl®`46.]èŸvç ±—éÐòô)¬2ù [ª\3v1ws…S•MnZL¿ß6·.8ßU–Y7úž$·Vá–yl¿¶õ«ì¯[M­7¯É­•g»ò^æy?æÒË EιtÓÄäÒѹXßW¸‚uôV~rkþî:9‰}AØF1zŒA]pP–TCEPJm\δŒ—1W‡HB›8}!¸ÿèÑÀ5|0pEágýÈŸ±8Æb¯\5¾ë´Bð‹ük®å=©Õ´êw}£Ç3õ SÚ¯+ª ï_âºCL¢0^‚ç  åÝún×Î.o6†G¥dç„^Gl³êêâ~?+·èù8©Ã§vÛŦjX.û„—w¸ÀÈVds§Q ÎÓ”1ŒqœžiR“m?Á‹íIA*x<¤Y°¾ û•ÕÑ*=øÜðý:Ëý ¢÷êÜݧ¸7ý¥Òëp†"ÉÍÍT„“òbæ­N«ÊK²L@]µú¸†ºÌ,zXì×)§z,»qLšÝÒ©'O0íâõ>éÔ7.Tdx\ªCÎÅ{ZðpR0>pëý\¶jÊ.Yrë÷é¢âx%z,n×§e³âQÔižEóZ»èMž¼ž›ý®yWӘƹl6OÄÜÚ÷ EyE;çgÖ}¤fHÔšÜÁß±¼§¬9òÊâÖ7³kÚäƒÐg:u“mrÅkÉôÔƒyâT^Áò탛÷ïÍ·ý!k¦ñ¸,¶n,Yè+j,Ç:óËR¼(Ëžt˜”zÕP‡ÿ 5~Œ" ß—M‰ŠéD‹%žnvKâÖÈòÁ8L-ñBºÍeÍ_Ì­_lßóÕë÷_Œ!9¼žå_L—=„$"ÎTÕ_#zC+%EdhB8Âýuï<¦ÅÉ(tñÄ|)'=gøš¯©¥Ç×RU¾ÑP<±<Þ8Ž‹Ý+ ¹ÞtùYãÅZáñvìmJ„bkm³âoëK†ƒ†Pd…»:íÆ©=P6êµè¿oÆ<üáê¶ë¢>ç²ÉéA»Ò¥#“¯H@µ:Ñë…ÉšÇ ÄøÓ菉¸´ö‡7×’„«ìxã~uø}rëƒÇ‘\ieqë¡K>/ŸG•®ïüæo2]µè½¬y´ QÜŠ[Ç‹µóܬ9sÇâÒ¸uÙä:þLïóËyðƒ/FÏÊ™c4‚7´¥&Ûë2„q/^À«§:%¡TûRöäÚÌÕÚ¡©%ë{7ö5uúÚ¬0º‹RNÉùÄœ‡›V"g”Û$m¨@2U²³€—IÚð^Xç¾yôX¸î4†éUsÝ©:&óØr›N£òy­ó><.9¯µv¨²òÚ Ii*SUQtv£Í\Ñt®÷nã…H„×»fª‚zCPª*B5`Œƒ_ô§«hûGEÚ9Jd³`;ö´v0šD·ŒVO«†R'›®2³ì_±!Œwa ç4†ïÄëAœÆ™ê¢#îEÿM+¾Ö^êÄ‹»”~y<”|(Cí9 ¥¶­\ ãÏb¸©Éy n…QŠNб!ìôN”ÂRºwÁ0·ÉЧç´ç|üNP «MC)9´tŸa¡ÊbI"×V~ÆS:mÄ:^M9‰Ê»™ªã¹SgKæ9eYA+æøÂ û7‡XÍɳêl[ J1ûÞûóÂm1ÿLôH¦úBÜ*†–£áPe=²j+Þ4ônnÎÝܬyç›ûäÖn1h;`¸ÈvÎÙJk~ †R—5±Onfèε †ÒV­¸?ÿ@?ï¨1 ¥ØÏ5”RE,˜Õò{}œ±+1ÕsªË:^U Èš{7ù}”^x@Tƒ^Û­§Tþà[ v_YRná ¯/½›±ëoI§åÍòÍŠÓò¥8h 9#ØiRϽ ò•ï*Ýå•5m1æ™ê¹w…¨|‹ËÌF—ý&À¤´Â‡!U^x@+Þ”?ݪ0ÝŽáàփǑÜzàù]¿/?¶C+^9FŸÜ/¿êfͧ~gn-¿S¼LÛuÒùoœÚ¿O­íøºªSçÔõ—¦ÿÎö}i<Óe¿¾U¾ËÙ.95Fš#ŸœzÝdj^&\exñËb4*¡¦(¥Œ¾:pi Õ{McXiRϽ ò wÛe#glF°ã ©Þö®¯ð½Mþ@-Aªx7Š–„*^”;Aª¸ ãF*—ö4¥¤¯Èöå*§Vçbgec眃Ou½¬àF7.ÞtcéaRÉ0áÚ0bšÔ'®¦ÑsN¾ ^¿…TªV~å3ÆÿãÿŒñÿ»ÇøQã¡6=2„ýc5Ç䞎dn=ÞþG›Aãó|òóüÅöÅ1ï¬-nÕõ®ÍŠÃ¬,nîX·ÒV“æëâÖC-€´æ'¯Mrëùå€-ödµ‡+¿s<4ž¯Ø†¹t‘ùâÚ7–ÝÞ¿Ok´oGšæ7.Óh‹§Öý_÷Ÿ×­LOC»0(ߢ”8qYͶÇ< x‹[_t¡/òILíôäÖ…î˹۵?^¼Å©uÑø{e6eÆœ»£Æ’ ‘ΓJƤÕk£’põ¨Wš‹pÊ'”:±ÎŸ¡ÔI÷–¤’ê{[jgù(qôîñ¨eãІťQo6¹n{Øy­»q«`Ú¹jõ¢Æ2ÖêÚõ¶ÔÚO¹˜ pÐÿToU»¯âU ÆrRÁ_hQËÊøF¦Švľ¸¡zöeߪTéûþ¥¶G¥ŽöدŽJˆé’È™y •“}íœúãgiáÒ$¬*½ßó"™ý¢Å-ÿšŠás´Q‡ R»ª’5WÓ;¹u´¾n—V\õArëC‡¶;¯:Ž›/{ႉÀ'ײÉ„dºt¸Î–¾¬ùqäë 4eåxð]ÈŽ{çl›Ã&šmMþNç+—âD[ˆÐªã˜¼*íb°÷k"lk¥ƒ áÖ{àzQú¦¢=`D×,ЊX&x­}ìpì=ŒÄiÓ—Ü‚«f9v¾-ô5N+ŽöëXvãž ìt.ör)¸ŠìÎÇ[úÐ4:¼­ÜîYßnÖv|uÛÖÅ›EMŸ ©œÝD¹°^þ–¶€™§¡”î› ïâµ–qmÏÛ…Ü25^òžè~émÄJçÒ3<ºK°¢–ˆ¶«‰Cô “î÷°1E=›…1Â!wÛ9OzK–ÔTj®¤Ç#H­mãkâô;îSûø_ŽâŒà¨Ž”Õæ²æPp-.­) Æ’È;‹JÒ7š…ýŽ#Ÿ¾ ÜxUÊHrø&”Š—uô cÈ¥¹FëW÷b#ˆ°ÝÐê€på‘°EºáÀÚØN£òQÓòÂÁÎÑôUŽwÎ-¡Tã”XB+‹!•vë«ÈžXòhA*̧jËn±¶dè*nÛä]]§K7z§ ÓvÌ•þÎSNlMn}æ|I¾Üƨo ©.Ž) Já]J3”ÊLÇFCæìÌÑæÒÃoÌÄ­á•Tò{™kWFÖ•y}˜™t.ºÇºÿ7œ¢±CÛ86`#x£`5¤ŠIñ¦—fƒåÞÓ 3ßM5®8õ^‰Ë†0<:Æö¢‚¸8ü£ÒŸLJ-èSи7©cÐ^'§i(Â…Và ½Y)MС¼P˜ÝùCnÞñ§¡BÅ ©¢ùvC©Áפ6„Zä]P ó‘΄T­aA©Æ÷FRUèõN‰#²%!U¥×œ aQ3]ujä³ú·! ?»aF1P{w\Z%숟Ù$á犙'Ñé˜|Ã:å(4ÒbO5”šìïÛžì¬ JaÆ·F‡ »ð@ˆæù¼œZ-"óÔ,É·>ñÖ´àab jÉH<žæÖÛþa7Žýu†ãR†“&)%·Žb|lß·>4=Ñ6¹Ž+Ó­õ&­ßç#žºð=»nœnÕÅ9™[±ŠæÀé'ÆÜâ5=?£tk»tú(éÔ×w¥*›ÕT*g&Ù‚VU]/Fëî1“eÉ­+|v—nIn훡ÂcÝ,Ý<óÔ,’KcD|•A’.µ˜•»|[½Ç<¢Waîž:Ø7 ¯ÛŠcnT_Ü:¦kR$­9¯òâÖÖ.ZÖS½JßsƒT±0* Gž”-`L•k‰–šÃf±ï±'AaOkÍ{ÙÉjPæ\©ˆÎ4T4ïŽe¹~§!Õ`¥+cˆƒL£âµä_£Á€1L¡à ¨ŒÍßïÉ9×2„ãÞÓ¤Æ|˜Âh‰ç×úK‡é¿ µ²¥@Ô/6¥hX½DL¢ˆ³È[]±xKÞ€´Æün¦¦Ç2‚Ü:"¿®k¢« ˜—&6æóÆ©*©=ï´Ê„ŠÆÿ÷–c$ò8 Ieg=6~¤ð¼ÄbdƒËu8\DÉb#ÈІRå…`çÂß‚RœôÎg- ¥„h4ƒRy$³XÙSŠ 1Ÿ 4ÔÙ wu¹ðò‘ò ¥p YÌI!â¤E8Õšà3KD®` Ó³\Š!1ʺ.z]’0…ÏÍ0[·‚t0H•Mê‰iÂÑÜeŸPN«î¾"ÈÅÊ2r8¼Ò¼,íÉ…‰lÍcb*ŽY\:¦¾ÎÜhÐ&ÇUD6²5Ç;꺸uŒ Ö÷²XÁë};æ> óí¨áf<á<ƒ°K]½£o] A)]AL¤˜†Rñþ¸×ÝÄ|ü\p²À3¤Šî&?Ðñbš9'í0bœ#B‰;2Zré›çŸ6#¨ ì-¹µ®OÚH·Åï׌%œäû®ËšG.Õ¤#ðM?Žß<–)[ºu ùÁãí>ïÇ·ký>ï·óCÑ4Ûø·æ|áñÛ9ÞG2ׇÓ'Ž?,îɉå!“[Çâ‰qëÌ­}½Ì­u].¶ozûÁ»ýHÓ4XÀÑQK´ßÇnÅñ6¥-n ÷ø±ìÎu…2½­'ne`äê‰1"B„ T ]w'Ï1S±VGí,Ü£Ã'(ÅÔ0Wtu³T´„Qã²e!ôãXªùñâså"ò–WKŸ‹o573²ŠÍ{ÙÓ:±X*Æar6<ê3yTõÄè%ŽTðK›áÚ;ðù”º±sÂ&×\B©Æ²!„ìi(5ýOFðä© T´XŽ; ¡^… JÅ›Æc7EΚuu¤Ò…¿o<·V[?°Öܹ>(áæ ¥ S_Äy¥5®Xž4S)§ä|Ã%ëû×YÏŠžÓëÊú#06®Ï×n.®ô·~(€Xe!¯Ð—"fPÇ{!¬wHŸ± ¾åÏ Jé~Ÿ\÷dæ:‘×fRIgAá̙̊ÜqÀ‘óïå¹òï¨\òWJ‰¢)c‹Ëˆz¿ÂyT<È^ñŒEä©û틦ÔrÊ|^·ÛwxUÏ›A±è5Åú/ŒH WRKV)Ñ90Õ1†ù&LFs2M #(wšó?Ä<”a(­©CGÜ5Ÿc;Æüo^ÞÎPzÐýyØ Zߊbœ‰—¬¯ûNR÷°òaZñè¤ày€1ö¨¥´Œ‹!•®)ú“C£Ûe1ö¾x¦»äNx»ÀûìÓM©óôÅá-Ã‰Ü /‚7¬ã×¹&ß+bý7®ZÇA4_GBªðRéÝF0^·jhUÝrÇi}EFMÄö=1 ´èÁâô6+ï:+ˆ[cðm>l®HÔŽÅ­áÑT¶9R:JHMëIM§ãÅ­;`t:­[Ý*SËŽ«›'úäûˆäKû`È¥ó`¹ó›Þèc>ªñ-gSJLÁ¾m¬|eãÔƒ]§Á 6„“˜eÖ7·¬dÈܦMÏö‹½ žôŸ”zî]0z85ÌŠGíW2h°å™ªhÌ „R•ùe™€¯¥ž§.8î·ì¢[¡ìňÀ ßkØ`.ÄÁåøæÔ熷ƒ"|SˆðùEÌê\mfÆ-F»Tň)åлRQÉÁ×I)cÈ$÷Ù,ON_JJ#hemW2œæð²†ô! z*ð‘ãÔ—‹½A)M4 ´²'ìWN>ýAÍî”:KP†°h^¡TᤞÂVu‘Wä€Oñ‚ð0Öï­ôóÎL gKý\PŠ›FG*ÔûºL¢)ŸQ_v^SÊp«@HOQJf—¦™¨\¨á AúA8æÄk|’“³½¿¸¢éØ>ã Á¸>ú˜…’Ÿ¹N‚?—Eô™帅ÁNÞk'Ñå6ágnhxJ]&{®ØšóÞµqjÆ_¯Ë®H­Í¶ÂQÌ•*‰ÉŸwš ^K¡@,\ú(!ºã RÁûeAªv>¶I¥iõບ¦(H…E­¤â䦄T•ùÀPЇ‹¬Ë‘ަÕÝM÷¼¤ò‘Ñø+מfU?‡ûL}ÀêcÉ›ª›ø¼{ &tj0§fksËÒE¡ §ÎL‡ç@Ó2å?‹Ñ¤äÒÞ¹µ+_Y¨ävlÅ‹gùŠ[z-k>YŽ%·ÖläÒµ]9†cŠm}pjÿÞÜÚÛ©,ÍŠÎ'gnÍý|z2ŸžLž>î#DâýXÁ«?C˸§6°£64ƒÉTyuö/}sžV«¤!åëH–¢œ}ÙE¯þL½8áá uT:x‹Ôe}$ü±qêSå“lrmÜ+ÙèP0šO¥£Ž3™Õ'„aÝj¸˜®CßχIÞ.œ®måëúÿs7S‘˜áßʫȗŠÁ’‰ý¼(•ò»p œL¯ÐpŸëÝF°ðá6¤ªô±•‰6úŸ ÂátA*8‡al++sËoÚjIÃTq‰à;Þ¬¼B+î¨Òõ˜ù‘)DߌÆJ&ñͰ²c®ï n»¼.C+êãžô©¶çv7¤u)Œ%uÚ¦¾Bð’R:/\§Ý¾¾$7^–‹Q¡ŸÕ9  j„$l8w,Û"kŽ@ª“s­°ªµÓ“KcêÒøbAùÛº ÇPÃDCs^ª•.ííØ&oôÉti‡]Gìî‘Ç!n­ý­@°\.¼²²,qcõšV¸#:DRILdšËk€"“¥±žç¹lrÞû•.—ÚDz;‡¯ü–}±Ö÷QêÎÓíܸtå•[ç*íKâß;Ç`bÕØ¶kííé Z‚Nš†ÃeÓP álê2„nÖ†›:Òžìò Rµ®Müë/„Ÿ‡>Ç߸®¿ÓNzþo?4zÕºx‘&ŽØù= A›¨½½YmŒâ»3+Ž èqWÁý]üðï^ëîà6‚w†Rô¼Xµ^®âòZ_°Ü{—mõ°™ò&eV·!¼é[Z7·uöf¹–}¨tÔ‚> ¶©ƒÐn/n7GT.9±ÓÞzS)¿õ{O4µ,ò$ÕO¹õIÿuA)-lfHuÊ/•Pꤺ\Ü'žA/ÊBÿuCªx‘wZ.îTÎéRŽëlÓ,JBªÆ·c›¹L`^†uù¶kÌ Œç±¢F”*ôX/rVWÚZUx²JU8¯Þô¾éÃÎÙf#­ð¥JCTRsÙmäðNovA©!ßönŸtù”7î|çÔží'žZ¾ìÉ­åÛîßçöVJiíÓ.qskx·ìÖ>ñò-7·.ö]§WÌJ㛦üú>}å;œ¤u/òâÓ÷æ¶ã¹nM‘ç±mr”Ó}Ð<‰[ µ5}K4%K·åë‹#K•1š+*he§m¹Ÿ¹±¹­'·Ö(FréNïžäÖ]NäiÅuý’[ûúšçõ—›{réb7xÙär‡ÏôÍ=~¬R,µ ¹ðÓÕù¦× :}êjJ¶®N_A÷ªÜìôq²µŒ`¼Tí ©°Þicøz ŽLJQ´¼ì¢W¦^tœa§G¥]ö®NŸ,±lœzÐCÃ6¹6Žà7G 'mô ÓÙòÒ Í3Õ9׉ùªÜ÷~>ܤvà¯è2(•P*š†¦+„CÂäX<á z/kŽ©£çâÒ±"Ç=lò[ñ’›>ZÄ”«T›ÅÓõ¾ À µ›Et,®n#†a'§@Ä8R~‹"^ÁŸg0p¢ˆ‰½h Ш%ñUMð9~ãØÃõ FéO½×<5ãeÍáÜvm\:<ÿ±µ­xx\eqëè,^uY߸÷í˜ëFUøÅ2 Ö7Ö9 ‡Ü¾që“Ë– KÆpÚ‚TG¸å-…E“Ùå2ƒ %\)ᨔ¤ ‡¡³nVýí[&³Uy-’YuæHQ«°÷ƒn{‹Kµ`ÜLyihôn¦³IH‰%u0ø»±o- 96¥C W&¼Œ›òÅòæÆ7ÝêÆ¥}¸æûá–ùZ<‰/œ½iÚ¸µeZüDS õˆ¹5<ˆ¯K7 OÀOn¤r¢©e{à”rÉÜðÁÚé>¥ò›ƒÎ8 lL‡·ÜbïIiÇ©jo¢?õþ´\zÓ³ÈÄsŽWYs£GYoЮŭÑÐ}Z.ù©ã0·Œàµ[pôÎ7nc ­?,ß\F91Ïx?,vëè(^v±bËÁNüØ&!&Bgöwè¸d7ÌIw+Ù—?NÛ›ä^/FRÈ;ëª#nê‰yÈ?ÿ,_âm;ÿ’t×õÔg„§×_’†œAÂÏ‘»ý%A¼@}Æûd®Ãûê]ðAô2YÒ ’AÝ|E&s) ó±%IåKYa…\K*‰1"6°*ƒ€޾ú+„WGÃŒB+FzáH„‘|üV(Ì(Èñšé•/ïĨVOLX4ÛðªCPŠG/˜Šî¹R:íCDAµuÐ6”ŠÐú¹·é[¡+K}÷¬}éÍ­u••û·a^Ë<Ø1»o˜óó{î •³Öɨ˜§¸S^N^i±¼-ˆ)ÍOßtÝS2 \Ø•§ gáw!~žð’ ág="ñõžOó7%‡ŠJºá²Ó°iLˆ»’[Gk¸Ï¶¸t =÷ynœ:JÄ>ïÅ¥£"éWY\:^j÷«nœK½Éá¿G•±û]“¹»æ “ÇK—kãÖ±ÿºYó(XÚÆ­£]:7+·Žÿ×±Ysriß§@üˆŸñU Þ,ˆ¢@ˆþÂ(°ÒŠã¿·Ž¶ZÀÖ|¢YÜúfÁšV<œÄM·Ž9.ñj#­yx1¶[7œyÜ>¿xͼŸtKFÁ-nñ’;²§9u„MÅñ™KG»Irj„¸îeÍ#\÷§@üˆŸñT FÀ˜K†xn/>÷¶æ¦#ãâÖ˜Ù8—§C÷Ü:^Æ|ÊO9ð)þ`å@ àt½½ëEΘ‹ kƒôµnÜ:|ÚfoÚp*ˆA\Ûä¿ËtëØ§åôxmk"ñåc?^úõ³cn|Ó¥o\Z‡ˆ°ðúâV¸5QKí;ž,–i ¦Ï@Û&ïOž:ì|³ñ»ò´Éµ½ú¶ý¸D'ÞtÄDïl{"4}]ë[:æ ‡Oä`u ×^hÚÃp¡Ü¨®¥Âô±›+êdA©›„eP›óôE-Ãâªm<< "^¹5Ü®‡¯ëwàÖº+ámûEx¶›á„º…h7~œÏôãTµ¾Ù—ñL/\f%®6ªSL"¬¸´°íÍ‚O6‘’[OÞõÝ\›‚Õ4¹5ì¨O‹µ4*®GrëÒx}ҊdzãæÖ˜¸{=,xjú¸uÓï7 îëmž×Ÿ÷éS½}ª·OõöGªÞ¢6¸å ™'zislÖ\/#Ã?ü¬ž\: Ì›±zĆGÿá¤>úÆ¥K_cåó~r¬¹¥‡Žs ÷BÛ·òL‡î|IéóŠ6áÛçóO+ý„[—~÷½}ïV…”Üúý¼©‘Þfrkl¯Þ§Æq`íqé°íæÜYôG"ëEÅëå^6¹¾ŸéÖÚžî[x6õ‹ÞÚìG™K÷ÉóN¾é¹îjç¨È;½pq^èÿ´§Õ®¼î>î/.qûbœ†½Ú#o¦K…n—Nÿ#9¹€„Ÿcèbê/ɉ9$"ø<à”Ë¿$'ÝJ5UH)Œ…,FÄÔ_øÒ’ßHkÞäe.å'Jî{>1#zŒ{sJ ‘«?ô<¶Sç7"Ùã{]g•ø+„u²º˜DQ4þ¶q¢T`XŽF°1D‡¡ÕñGd±øÉX0U‘_*&”mx–gò\­a9v/tQX{a%T[q,†;·Æªœõi±tÌÉ-÷I_lɈd%°pJÌFµ1õ±/ÌI:³–ßÂ$ª8ª ‘5Çÿz$·nI¹Y¬JsÿØŽy‹éÛ~¬£EÛ0Àx`„ü}4!M6ù‰V½hz²µÓͽoßéÞOLi8·ýY+°êâÒS)’oœïS3¿&æ¦í· |ÓÏ[Éï7-x•×]³°óùо˜ð„^ ï'fLa¦ö¡ýšLHDÛ “ب3]Üúý>ryò+'—'ÎÅ1=“Kcâð–/¬½¿à»ç1l· F¯.ÝÈC¢¢`±)˜*ýø-Qà 1‰†ïµ{þÊ Á F”lªHÒ¦Uш5„òiƒITJû÷x<1M/OÆ$X3_Í—¾æÂ’×xPÉ‹½é¦©"ëÈ‚²Ÿ„Ÿ9ÍŽ->×Õ¢fuMrTÊû^hbDªªQX•„9V®u®ÆD¶™å|VŠ®$±>ÖŒ¦¾¶Mì`2¿°ÎdbËׇþ E Ë'ΉÆt¦ì˜Uj(Õ°Ô MEÜë}/‰pHfEnçC—îË1ÁjOCC ÓŒQñ[0ž‹…O\Ñ4±>œ²¢^nœR5©%0$ü!S81gû†@D·Æ[E¶EȈˆE±>(%¢¼£OÝ'úá„ØÜ>0%zßèw+ÁJ°Fh~ØSâTßÀªÎS ?d ác¶Ê`~áJ#rƒŒiØßRS–7{scˆ¤Z–M~2vm¦[w†Mk>=V»ÛÓu‹ã2–Œ,{ñAJú Q¨äƒ¡\oxíg-èK¡“3µô9Kò.šJaÆçتá]†/[á¸\,Jou¯4‚ñú)™‡ždÈ FÌ#“Ä(°2ËÕÎàO e(WnOn]¹FcZóÆ–fr똕†™Ó²ÉÕÉtéÁÈÝiw^Ê3½ø\6‹ o…¿–5¿´soÏ¿ºuQÃ2t{YñˆÊ§en]O†Ü^2… »nßøY¡d Ãboß0èˆî¼¬yÓÚ¶O¯RÿÖíÆßÓÏ^ź[@xlW)mrSÉtéûÖ±¬9VÅÝÒ¥]Ô­¶ƒ[«šTʪ&³Âwýî¦Á*?Ûó`|’ªËgöýnðêgƒÕƒÚRý :Y^YòO¼`áç‹/?bÌ;Ú˜0ºÿ‡“²f¢,9SF4o4‚±Bã±±ÁáÀˆa õ =†¾CèÛ“ƒ²ÂnSÄ…­Ù¢,iãú¡žxÛLò¦úÂÜú$Kn¡ƒxêXAn¶KÇxË<·Æ"½÷Æ¥c`Fó48QN:æD¡œ\:†k0nÒ§ëàìy>-&Ð|çdn¯äǧâøTŸŠãTqÔ(@ 53:­'6M4·Žw˜Hhk~ib¡¹t;4‘P6yÕB§[·5‘ÐÁûr?ç¦ûs¢¡Ï/Æø ‡*°ûm¢á­ ¯¿M4ÔÄ¡ë~›hxk¢a›hØ5Ѱ©â”5/¬¨?ǧâøTŸŠãOWqü&d~ÊËOyù·*/ÿÊeÈg Ÿk Â_²òþLRúORú­¦Õïj $ÄB7¼/ý%‰ACDŸé˜/+£Ž:TEòÅ•¨$"ÕßI%cŒ²¾+>IÇÚ®ddùx‹e*éŠÛñ¨Èû⻎mð,£'X½£é¯©O³XKH»&ÔÒ< ¹PV»vš?ÙÎE’UïÚ†ä~nü«UJ7“û-£ÐéôðNYŸy¿cH–CÛ‚¾:NXòRà8QÉK33L)gט7©äyçˆ7"…Pž gªøjÂ=ÜévÛÎF°axÃPªcPÛF¡à ¥Άp0œ TT…ב†PÇ)(åSâíà3ÂVŸŒ#—:>ÏÜßô™«Êö'G¿0Õ¢,›œ¡ VºõÉ©'iÍo¾®I.•âÜlr>+Ýz`”pÙÇ9îéЧBè¸}~õ|žuÔ=sû¾uxBkqFpër¨ø1—†'òµ¸ô92Ñu'mz×÷y0?æo>˜È"}«¹¦`ôUÚe(Å <Ób;Ùú*Ÿ¬øÉŠÿ8+bVN…EivŒlw~œÏôCÓ.Ûfw^Æ3]3aÐÙ/œQ‚X¹E¶½YD«PH&së°q» ÞÚÉÜ:,:ˆ›¿Õ‘4·¾ÕÕY¼«‹dnuݸ6+>ü;që¡ßoÜ×ÛÜZ÷)£!óãÛÑŒ 4 Æ/VZ¨©)>4|Ý«--ÔÀ…¶Yðu÷¶´‚%9q++ï$ç+—®Žr®"ܹÊ6ó‚Æk4LCC/&1VáªÊ0\6„1îˆåü¥/Ï2 a¸p+¥¢ƒPF4„º‚‚Rºä¿¯ Gó›Ù+&VŒcâK6æþjéäÖúÜï4Xq´±Ò€ìÜp²Î,Š¥8åŠìÄA+…"&\iÈ"gÒ½³Ü©˜$F³º°× ÀÅÀbº¶æáŽŒâX|×µ,‹Ùi7ÈZIkŽ5K[ܺȋ\±½Ã™/%0ÃÕF0&ËnŠ:l8SSŒò/'£Ð¥ÀßD±­L¡àå‹Ez*íÑÓâXÒšÃK»à=œÈ­nžZ—ÌÛ§Ìt[óÁ‹Kf…e'ß{ ¸DS]Eßýþ˃=æ¾V®º…%dïe5Þ”ÉÒöC¶MÎŽJÓÙ­3Ä¡-Ly ÷lš’–ˆRGçîsö-QîÀÍç™û)_wÌ,Ýh½YÅ,è½H@ ŧ'±&]DcK®–lÉ t˜ÖJ6Î1•tsÂÛ£ÔfUÐd ƒB+¡mAœ/—\á’L•sÙÔ^D¨Uºð3æü‹ðót“æàÇßž›Ë8¬H»†:8òôE©c•~ü•Wý„¸°ÐoF.½{Œiyþ»¿$ÙßFæQ `Ž„E¬@ê¯ñsŒzÞ"üÌ=ÇaáYùÂᢖª¬p×jÍ¢’ë%Þõ ¾šX*’îF»ág.ï(‚Ïü-I~ö{lv ölíÖ1˽¸5žŒc³æ§~šK·¶ödšQ"εÐ@Á —雯+3 ”ïç‘rs릡X§¾‡TX2ÆðãKWåxÄtËàXmÞ áÈi±¯0·Æøb}Ú¡6ßY·Æ°äܬ9Cu.^×ÅrèÇz<ùn}tÑ+–w•WØ¡ E¡m͵~Åâu³óÍ^(\Ÿ¶¾mïmûXíö⌯˜‘5ض‚mo¼qvU+›¯X¸%OÙý%­yEÅXO툴‹¾C,¤Ì¥<ôRxIöU6Œ²Š;ÐÀ–1&JDŸ`oz ^ÄSù0-^\ºbÍÄKûB¸dA™¢}.VÏu|…kfoÔòÞám„"»)æ¬Ü§bÌš[£ÞÙ¸uçÀàâÒÊ@ËšÆ.J.{}e¼ÔʘXÏà["Þ7Ätµ]üTŒY§[ߊ5k+Ax#*n]ìÖ¹,cÑúÁÜÜ9’.êIÌ÷jŠQ«ã_Z˜¿ŸšUæç/¬£èú0ßïUD™à‹wÌ„­ž•Ik^ð Þ|E.íôäÒÍÂSböûÙ8…âd‰¼[𦱹u„Ì9vö Û…Æ–ˆ‘¼Œ;Ôש þ§¾¬x8›ž×âÒk/Ú®¿7ÙÉH.ûµœñqßÇðÜLÀ7^b1r5Ï4`á³ÐŒ(Â/­,CúqÅ-= †ÓlÕµzn” ¯H:Û¦ÝùQŸéG]ÙÞÇÄ#äeòQñj!¢ƒû\Å<—K™ZvÅ\:&øc=®äM!ð.z[›K#œÇU6N÷0W]\í ¿—Á{F¨=ϧ|ß“ÜzrºPZs½OJî÷PU^޲ɇ¼n}sºPZq¿¹µÏ÷?\Þ¡8ýÄõˆGSÓ·–j Ä­ãUó¼6kÎ7΋[+Ÿ¤œ¾•Ü!ÁçfÍ«ªaskæƒí»ÏsøyÿkÏᱦm³½Eß°´æ·fk˜ßÛ0ž·ó®ièN·žçç9ÿ<çŸçü¿ýœÇ 7|n ¢Ë{·…ópr0¾ ÒXÊçX6¹Án­PضÑ.Çû#¯¥5”O¾é*ߊãxžŽÛ\¡±·ï[Çp®¿¸õÑÖD GÉâ–O‰­yø’D?3yYãíðM²qù³,nåh™Ë&×’F™>×õÂ{lÛù¼Ž¶yê¼¹<Öð\ܷжÉç“§žWØø]ÚäÚ^Û~ÜO7fì'†¿õYOÝž<õÁ~^rio?÷c>8ÜšéÖZŠ+¹´;úu^"íà4. ¯¦÷iV·†/PÙ¬ùÔ°ªù\ì^mÛ÷|ýÌó~é¾Eì>^‡¹´ó·yæwåãÿø8C WÎÊ¥Ú›¿é““ÜZÞ9» nwsk; ¹µá`õi?}ÚOŸöÓÖ~Šú>“‡|)åÚÖü–/¥¹ôißVÙä§ÞÓ;]zÚ·UvçXÁhK/t[‚cäÁÈúhßÙöfáûÚÙŽ2·.š¤¸Ûƒ”í)që°£>­|_9}¯¤ïëòy=–¾ª‡|\Å­1êzXú¸®ßÑÇÕן¿×‘W/Î7;îwâÖ˜|(è䩯2y>¾ÿwôbÄD¾ø.œ¸‰ßÊ¿6u•*©ì6êm?|ÁÎ…Þh‹¤û¦â·#ÄM÷†Û¨D4’#‰x™nD?¢a&ÅDZ/JÉç°&–d˜õéCQ‘Á/3Š×wb¿Ä«5væ/%pôÚŠ ªÂI†TÑó¡TdÃüùRñ ²€ o S´½U²†‰Iþ+Ä’y/¦•²1D¢m(f'ýp1Ã.Ôæh½Öyà…·ñÒÇbE¶ƒ.–¨ÊàžÕ—MN‹uK—޼¶eͱpÖXܺÐurÙ®Öž‚²Fë­:i¸='ï#³AZg,Žç[ñ¬ùù;io÷•Ån6,ðÿuƒOÿ5Cá´¨”3±Œé‰ÒžÅ!™·_OÙw[òŒÅ«½þÝÎuõ}—|Í­}7÷«¹]UFv¾és³íÃâ2¦¡,l-ž¶L—×ÏI¯bK6eÎe'/Þs#¦UóÌD©˜·õ×HMšö³Iãû8ƒ›[O%_\z2 ØâÖ]ubÖÑu¿ž' ÍŽ©Qh*?)‰Aèi-kM…õxÂÁë¼¶««{ ž:|VBG\ä‹¿ ¿›©É.¶ænÝ&—>Y².+>ø‚5¹õ 75B½£öà-v–ILé_çÖì“]Q¦…nÅDÈï‘PJ%¦ ‹L•~(öüu1)m˜ßðu›„åÔù‹è+†Ï¸-¦’}྘JbQÄkQÊ8*„•ÄıõåÔãy]áÁö*sáð€6 –,‘=àì4*ÕËŠÒØiVE+ë–åþµ·=b3Ý© Ÿr[Ò×­ˆ:ÕLêyœ¤pÀHFų ÿn¯Áp±Qr§!¬,K+âæ¥B”í©jD]ÏŸcQ©ÜƒŒ`ÇIJEö¾›‘—ÃPŠ.×ÿ”Ÿç\öáç9’§FŸ;­9}/ÏÅSWä>ÛÅ /[ópÎĬEcÊëfæ,±ŠÎÚTʨ £0 ¯ö(§ìz.kÌ–Y¦¦ÄA¦Ohѳxð‚¤O(uýÍ'´ë¢Å±îγÔyÑØªEÑõÌýu-FÑàæ/&¥C”ÒÙÆÌRÿX›¢Pž$“`ÎTæÍŒÍ\[ô;.rv^É­Ñ}C°Hqi®èxnœÓÏá†âÔèÞÀmÅ|›>àâÒŽoMݰ[6†ÿ+ÝŸÒšk:|rëA÷§´æSQ”Í¥›¦Û&÷JŽN·žtJ+îã7·Öù±0Syó4¢Ëæ\ç\Ù¹<ß/Âv¹4waï¢òSá|*œO…ó©pþˆŽý`ù1öô—¥5÷{$séxoþ˜¶É»¢/;ÝZWZóKÑ—Í­oEa¶Ý8¢2oé˜ÁHHyÜ>¿r<ÏÇúPÅhn}Šj® æòK&·.Šþ´¸‚CuUä¶æ•ë§ÂùT8Ÿ çSáüm*œ[Q˜sÞ…–I±Íy ZÅ\MçL›¼)š³Ó­ÙêSÎ~ÊÙO9û)gÿ6å,ö'é@`GÙç3/°ì( »óØÛžÍ X7cbÝt ¸é °ø´ŒÜ–Œ"GÖa³æÊܺÈ ­¹ÂP%·–ËåféRp+’°¸uU¸«Í:l–þ»ÂmÝ_Ïp[wÞ!Ìü–¥«cY¥Ýùq>Ó¡år•vãQ¨íéÐtÉÂT™xt¹Êr‘Û-øµb·]_ŠE¾Y¸ÖÉ5ÎÜZñ*ö c“‹[W¹È¥mcœ±ÉíZ×6—ºk³-]ë–KÞµt_.xËo»ÞæÖºOÿ¡¦Dc‚•L¾"Àþ¡¿BXþ4£@.exæ·â5!¶j•[>ýµü6)<˜ê±0e™ ƒ`kÞõ&ÝÜqÿûâÖ'/DÚ9–ݶ?¥ž¡¬óqH’ZÙT²³Ž1•ÔÉEçüä@_•ŸTZóøÎ°cß™ºaq3yê©Õe×ëÇ΀Ô;x^É¥ñò+A‹K³Ö½—®—ây˜KÇKì8ëÅ¥ëóû©«Bl$—ÆjÞëx–>ÇÿÐz©Žýé:x?q|hIøºø:‰/Íßç}Ð}Y×? iLõEq¶# ؘQÄÓqvG›p)>G´Æ±TÀÝWrêI¯ e®ÌLa¤d쌈ÀIÅxIì"÷DŠ@ž×†)׎ÑoPÁ¡rÌB§Ì˶ÊŸŸ¹µN$êAMçÐßÔÐÙ\CƒN@v-çT躆þ<äk>5Ôgn}kÈÏV‘M®Å­c*| ù¥5o+r ¸uÓ ŽÛçWúó|¬J€CÒXÿgn¼iHp…*àПBÜ+´yË•R½B*‡Å7EûMW•m+GP†ïÄ\î½uHÇé*y%ûPv¬©j…õ]Éhh_ë»–¨ØæV5HGçh¯2v@µ…nQýì q)ŸÂ†sêŠ:yqk®Û¢ÃxÄmÀ3ãCkz²#6΂P±¹q/XøsËFóÐæãË<òÕц£­!ÂÏ ¯Ü§Œ¥ËÊ·|ž2ÿþì äB‰tá’úKRåM ‚Ï7!šRr±Gù&^Ù¬xQ¹jn¦ÚfÍ£ÞiÇâ©Ã–e£ßZïŸÛ18¤S0 g0Àpô̆0òKK(õºIßuA:DJuf šh¿°Ytø¯P\gf£í°t ã¡nzj»‡b Ç.Ñ–ãb‰ÒäËÀä©o+iÍá™:ÖÕIítsé›®iÍ/ÆjKžZ­KoÇw†ºÝiL.Úî–õÉ!¾Å­y¼h1GMRØp‡×{ë‹ïºo<5÷Å­/=5ܮϯbÄàXû³Æ“56nÍ–VrkWÞ?ß·¡ ÈÜ:æPÀË×Üš“q×v¤±&ýYb¨ã:GzBcš–°å#d‹JNfGÃ{Ñ—ˆŽÕ¹°¤6ej©ý¢ÿÌZ½èvé KjS¦’Ú/V@ƒÇ3Ï k(l<4f ì\ú²^;†DAg¥Ã1ôÑéØõ ýüÂyšQ\ŒLëãÌ{tò÷¶ðŒ»Ÿçs‹Ï[÷Ù|ÓzvpÌ™G¼ê›íÖ˜ÁXª¸µâ.+ÏËÑ·nÒ*–bÐक¾ !/‡E Æ·4º^¼Púž ?n>ë×#j™¤%Çû£;ñ&]} •(`ш+&Ñ8ÖF&0i u|+jfŒADíI‚šñþÚËM–‡./fGR Í4“žl;ÆB#³ÄiR¡ÃxJ V6„ˆÒ†8ÄQ¡Û1¢ß–9ÖÊ…3!hmYa W™Zo6æ& vñs#ɧè/¢Y\›"Bkç[ª‡Ž †I%eéÜŠxê¢ü+kŽÞtËKÂóÕå´âÕV€P̹:y¤ Jqÿ%J¥kŸqF÷›åUœCen(ÅMûêl— Ú¤jÞêRÕ™ª!ÇJ5^d) ¦-H#¨Ei¥b<ÿ U40ÛÁùfÑsaa]Ò¢RY*~´™Ê­¼.éöséoŽBI´œ£†ÅEª\J´’Jˆ9oC¨‘Ip“:F9àûúºNJ ·(¡gÝJ9ox?üFTøßì`¦ ÇÓ–%~ug¿ÏE%ˆ¡.KeŠÞ[m}HTw[váïúHÕ•‹ ™YN¦ ÍϯB½Ÿ)O6–Õlš =øÙMÖ¼²Üz/ûdãìf‡‰Ê3ÂÅxõ.FñºL¯£2¢À éð´Û émIœ¸èü+oÝ^• ™ÄÀ«tý%ŠÞÂQÅ$âòÏ\X¥èã«n¹ô=~¬ÊiÌ®_X±0] ág Dû/ J<~®ÜgÃÖá`=¶ï[‡Ëʨ—î'Ïܺ3´ÂâÒX=²/+/ÎþÏ·Á~wëîÓZû´Ö>­µ¿qkíïX›}Z¨Ÿê_¹…eÆ«Õ÷ ¾jZcD:l+ÙÚM[ó«g[\Ïxìí3¢ôi£|Ú(Ÿ6ʧòi£|Ú(Ÿ6Ê?n£„ õ…ûž‚3&8 Ã{§Q]tÁ¶07£·Ë†oú½`ª˜Û‹X±ˆ"~„á2=¤Š*èuš†©pÔ„R:ÀN§qÆ×V½Mîþ˜p·?1Ñ £O˜í7Ÿ¯üv~l¶¾Ù?¸§=Þ¶÷¶ýði¼èào¿u„ÿÊ67N6nÍ®·uC4Õ´â'½%·Æ<ñsãÒ>îΙ߬¬›¢j"Á&·Ò­'·—Vü”Û»¹õÉë±[ÎÚð}OÝŸÇéý7NL›\£‘™.]9¡/mòJÿ·L—.|½ƒÈãQVàîÈ&Ž™+uK¶Ž›ynVË*ÌÅ­µÓeÅup:=z^?„ÿp'!‚?G;Ë~txIÆÔLÛ3òJ¯ŽY6»qÌTÙÒ©gÐt®u¯Wt/%"mrÎtYéÖÇ·YpìÏHü§Ñöi´}mŸFÛ§Ñöi´ýCÖ¨"/ÔXm*²Ñɉ3¶æá å²É¥žÜºp»±lå©QWÏÊÜÉ¥Ã'2Z¶Ç@ä–NͰdËnü˜ÏôЗÂÕù¼bâ1‚MèüÓŠ†AKn½7­ù@ø´Å­ßÏÛZÑí’[34ÚâÒh¢Þ‹[c‰^:j fBõF}:9àkkîï›[{{ºo1¸§qâºn§uøÄi'ßtßnjfɰµ1.bcF÷†ðb[\P*·±Veš€Ñú¸C)¸ ‚£M‡@¡Gžl†ÐQ@Q^L],sk]dmNÇ5)=­±7æäÔQÙló tPºÄ>îë?جW7÷—â¥]l$ØÞlm ÞjmO5”i…±4ù‘Ô2âïV<Þ7’<¢Ä£Ú°¢bD±‰†kÅB§iôN- O(…æÊ2„Ñ“\ ý>ý5Â)§HLá“a+:úbß%àkOß-U,w± ŒàëbÁ@A©×@kO†ðuI®–P 7a£’¸ÄWbË(ó/YÁÝ1µŠJâοbèKešÕÅøE6¢J²°e»œi’ž![Ä„¨šÓÙЦoÜZ?I.Ý'ÝÜ:2üµséåzlÛ·Ž+ƒHœâÒQµÄ3·® ’ÜADÂF–Ûy×MÚ¹4,"¡*Ö#sr ž…x$vÊ×úK?feî&bžñíÝá¿DX/TˆŸo4ãõ—¤Å-ágÜZ÷p0;ñ^¦Íx7Ä–‘’&)Ã$Â*ØQêK é(ä¬óws+üt­¹¬¹Ê•äÖajj³ÁUa-eTJ(iODf²azêi¥q©Ê"³k샽€ç7 ¹§iÜCg¯'nT Åi?àÀM‰i&†RÜ­ ”ö ¡ßÓ‘9Ζp©±Ý©u+zÙ)»†Tʸ‚ÎÆÈ¥ÎžÍKD}‡Ñœ¼]Ðů˚ãW[ºõžaú¯¨ÂÐ…º£8æÅ4¢xß) kÉe=ô³i8E6yE »Ò¥Of¢´æƒ½zÄ2 n=Øo_Üš™2KzYÄËf¡…à–n]9?D•ØÎǺ«z2·îŠB‘\º©¶3·n ´•œú>\¿¡N=Y¿ýºøÿeMñ©>•§RøT ÿ•J ýrE˜(»è†'#X*§~ßöÑÓLðÞŸ°=ù<wP\柒ðS~J¿lIø«fr¡x+O§eÌà¢Y0æh­´œÖuØ,è€Lƒºá…g“0æk­´ªw1{«Éaï‚S–4Ý <¥*< ¥°zõ‘¦zJ—ÂsxJWÌÞ:8m‹ÆŽŸN“âõYSº.xm JE{»µ4„º„‚RºæšŠé® 5P·)íÇfÇä¼-¡ºB Ðî¡¶tê¡PE¡C Ä=,O[5ß n&É­µÔøf‚!Ì­§*î–!=‚Í­Ãmª•‡e‚ÊæÖQ·„7CZñË¿·¾ôûÍ2Ô€®·y^Þ§b„+œ]^fñÕË¡¿$Z=“Ÿ/Ôž•qX?3¤Ÿd¹üW_éᕘ,<äÝ@ˆ5Ëꂹ†X§‰iL±Þæ™P²ª†•Œ«p¬ïJ"´Æµ(eîZtIøwÒCNn8g}Öé©ß ·™.={4hɘ€êˆT2 ¤Q¥ÄÕ\–ŒÅ¤á»C*‰9usQÊ8‘WÑs³›~p¸B7[Á*zB©Ž[A®eo(u³¥)£åîéÌ-(óû° ¡SPÊg„KŒìˆ¼Æû=#";FnÁ¹ß(ZÿÅ6ù”ç¾Ó¥£Ý Ùä'—éÖº‡i͵|wrë‹Ã&i7®A™íû¥ãÖùÝ÷ãt$ogQÊKwBT2ÆÇ‘ùî.ï¨Àrí#ec.ÖÊ·ÿÃâc­1ho9æâ•Ùhÿeñq?‹JT[ñ1ÿµâã|ç^|ä2ˆY|Ôgññ–Ïïù\w$oÔwQ‘Áå1¢Vm9LPêfçðn;,•]ÅÛ=Jõ$‡v³¾òÂqÂë<þÄô¼!ÀÏß…^ipû‰Îk韑ÀÇÓ„Ÿ+¯Gü%‰ BM$?ãúÒ!ÀX"ˆhVvº^ª°œ‘kJÕqÇÅ(nÜn! Ly½Ì¤¼Ç©ðH³c‡SÑçÞó’᤾áA­cÊV·ªF%[¨u™£°ÒBu6ÖeŒÚJƒº*&a´ÙVZe¨<´hÀ}N°ù.œ¬³[p¶ËK²u¶LÀ-21 6×ý7ÈÄÙ’ð3¯º:jl1º‚Zhjˆ©ý¥æ §ƒJébcvG•öd¹i¢C³wž8ZÆ[:ôP‹ÕvãèméU+¥Å…—´¯ëzóòݼlËä|¹šPŠ×͆0:¿qÕD-1e­ÎÍŠÇM‹ bn]ÔM+^ÕÊ5·®jí¦ojåš[7ý~³œä¨klž×\÷æS,ý/‹¥‹oh´óuytã„1“õn ©¢xtÄ})ÇÛïM1q§q^G„ d5¶¯[£ ulV¼q ¹uïjòÊ&yuK—Ž(žá´fkÁAñÊJ™é•Áœá¢a‰¶­¹tÑDœÌÒåZ3aoÚ^òâé-Ï«ˆéb˜©R8a¥]{‰çó° Ö}¯œàtå<€±Œ5`’ˆµß½™çf'ˆbðt—‰#Ò3ùºöUj¾|ü+Ä.¤˜Dd,ÿÅh|iáÔ©¿B7†B‰øùÆp»?ÃsI?Æg2αoÏ·ŸKsiÌÇhëÁÒxaÌüŠì&jéÂÄ‹Q¶Â1t,À~Oô†ŒáŒÿxá/D×ôÁ$”Mó~û·Uƒˆÿ‚Ž"ˆ,,y±xJlMoçüueŽÍŸÑ˜ÆheÛ°dÅ[’4¢ÜcÖ˜£š©o4¥æÝëªY¾]c˼ֲY>³ÜUf.á籊/7]íÐs[òä`§¨ëLDáɯNVž}½{ý±u„K‰SW/ôÜeU0SJL™™ë€(u\pœÖöiµÛùCÎþÀ©çxãšf|0ßã½Eˆ×±xZóŠ¡ÊÅ­Õ ¶ÅLÃús;æ¸e陊ö˜y¦›s ÀJ—îªBl“7N#Êtéq`jÚ²œÁˆaò6–MÎü¹Ò¥§Þ#Ù&ç+Ä•nÝù"mª(E…=þBaß“A >—[&rŽqãøÚ¬9:4}qktçfÍ CD'—FF­Ë&gŒè•.}(è†íÆßÓ©‚»/KŽH¯J¯|&Ã:L†á[& ÂSwC)¬8l£B‹9Á‚Rƒaèe¸Ûýhq4Ú¿G©Â†ˆŽQ¥-›¼?yê°õÍòuÏÃ&×öîçö#ï"|€«0‘«SL,Ù]B8%_=f^uÈyÑšEä8ʰØfÒPð:°1d¶V’Fm2ßG›ŠG‘ÃÑ„¶<ôaIûÛ©léw6ÍÏ”ãXh’"æÇK ôy*î}òÔÇ“[£^¸·ö]Jk ï²qjDæ/ëîZçÝÇK,ºÛñeVï½Yó‹ÝæäÒü;—Mιï+Ýzln‡Û÷œ+ÍSëépiéÒ×¥mÜDÒ÷yèøÌS«¤3Oí’®(ú@a±¤°‚G ¶•Å(^÷©ûküŒòÒ„/VºãqúŒúG„ŸÊ„ŸyÚÛê¹ ÛfQ7L tey‡N0£Æ ‚R1»óΟK *eoU£*¯?ëÍ⸷K97\J¶fKóÆÜd¾å‰þØá¿BîÔßèPÔÁ aÀÍŒâUÆüC}s8€ç—â\˜‹ŽžÓÄ›Œ`„Ãf|ÃbsÓådêÝ/2—.QWSÓÖá o§^ ±ÑâK{<¾¯÷Ó&)ЉR<#´àU ±·\²õÉg—Ï1oƧ úTŸ‚êT1§B£¥9ÅsPOïçéý<½ÿ†§wÐ(F%"4W[ðÄ®!P6†FvU„]¸¯4C½C»4‚ñÂì^0U Y‡«VåábR¡ÕÁA™‘s ÞÖcP†Pªå˜÷É¢aû©ázÛ²ùàôÅ­nVü85L/n­@˜Ë’ßZ%TXR'nsïLFZ—ò…c†ÛSYj›ü~òÔ7GÄVÍËÝ&×öæÛöãaƘꡱXNÆ’«/^u<¸5Æ\ê>S{ûi“OŽáfºuå˜jri7üON:OÈ…c ¶âá6f·4 ÅI#þü¹Yó›cµÉ¥OE5·5Ïûsä˜/µî+\´®íxuæÖÎÖæ™Í•}?uç°îÄ›xzÓgÓxê‘vç9 HéÔ·¦ýØ.Îi@++štjZÐ¥é?—œ'—å ¤UӀĭ‡\˜6K.¯®äÖ·¦-»Þ˜‹[ŸrÝ,=Nåejn=íojkoTÿÎn©öDÕï7ËiASÓ‚Ä­uŸ>m?][G¼.¾þÔô®5ËK3/3 ŠnÆ6 =“i\HOsòd7Ì™+™šÈš™×«'cj¦'cdÃÇPŠ>ÆË`}=N³”Ò\»e´n;ædJi–Ý2˜bÙ8'“P*nIkiu¥rÆÝïªx*|ÖY°ðåà¸w ?è% ÞhKÆøNYF4‚0k`Ë1¸8’Œè ‡xS©³Ñ70êìd¯¿á°LÁ([Ù’¤ߢ—G3êÜì…{.ž«¿„›5³.—S 1Ùä]®‡s5Ô /t&_™ý»Ý7Ü*¹|Oˆp{eÖVøëÅ­éOŸ<5»’Þe£q¹óÆ·˜ì™ÜzÀþÁ‹øñÆkµÄ„%!½¯k¾ßâʈïh¦û{ˆØÞ·nr©l‚så£óG‹—4å/å{‹W4w½5%¯ ̽ úh•>ZªÞm6Úݤ?qÅ[²µœXÒg*œ'ÎSR.Pi†ÌLÊùáÑŸæ©àr)É¢[à‚x¹¶ÂïfC©W×óïé¸%õ4“à|~›Ê¹Ç¯/×e —,•1ÄDÞL£ —»+¡T„ˆ¹„zUð\I^WßDPÑ’òkfKá팶Z»êJÛÁüVß4æ¶D^4—ƃrlß—ÆÊ©÷¶}i:oß—†»üùÀˆwÞ0×Ë”2†ÀŽ©¢ŽO&U1SÍŒêuy×Þ—‚3è:”~çp©«Qw4(¼d¡„SÛ‚TÜ4ÿ uÎb×N5¥%ªaOdw]ƒYp¿tîÎâÌ¿úŠàúA¿³)3&3²²Åõõ`QwN…ðý'•ÔE5•Œ‚>É¢”a®óA9O¾¯ÌJ…@4ɨÃ1áhÎ eÁ—Ø÷SÇÄM¼ô6—.Z5ÔÜ:NeôKǃ'羨“>ì„`NgyÐe¨ay•pJÂ|ø’†*›¡¦¹Í4‚þ†RŒ´fCxs޼ â-Œ4GÎÝs,†aå“à=ðí©á·©éI•vãX‰eK‡ž|Óèãöùóy>Ö§*ä5]Y¶rnQ…5¨ïhÆÇµt—묹õq¦«,Ý6È£|öO1ü)†?Åð§FÜÖq[Ù2í,ld# Ž† Xiæ”&z…O~s«É¥±ç§ðù>ŸÂçSø¼røµ^Ižì/2<Ž_ s<¼VÚPd¦–›ðRظÓ “¥åñX6y‘ó˜Ó­ß §]tê‰wÆÑ"{õrcèú†‰/-xù…0 ÔÅ÷ÂiàO'Ÿ9B), ;7ƒé|£+8··½e3xéÛ×[â¼Âº 1j 'ŠƒÓ_cÚ.œYl7'–-á×7»q8·léÔ•Î.ˆÓÉQY:µØ™eYðxï}ÕÅ­OÆ=Þ-¸¦€&·ž ›¶[r;£˜[ßrf±µ“Ê-çqëë–3˲à÷¿·¾õûÍ"›®·y^ݧÿcÊÑðÊûTšÊYá*7S¹Â ¼+°Qøª÷-#LÇ¢’1Ù7Þ÷, 1Ï}Yá¡W»¢’ƒu·L ´iR„”ÞíëÙ~û²¨·ïÄt¾ï!°œ1àyaáDCª3BEÈa[á ‹eÆ/_Oy¨WS°îð¬4ÇJÝ 75Pê|ìA[iØrû®CÛhÈX6ó^”2ÖÛl-©ä8¹å«Š¥6cÉŠ˜ïX›SÔòíË–ÚÔ­åi_·"²#וœX°Ú*Â&ÆÊC ‰¾ÌÝ3MŠ»µ!ô±Õç¡êD”1œ#^;ž-ÍÊ&1îü͉êìû> ¥îXá5aŧN“š¸½6‚±öçHHÅ7êgÚÄá 3·dë8ͺYñˆpwž‹[멲1Õj¯Æ’(¶1 ÝVªe¬©:××?‹¡ä*­—ŽF†È•…›¿'üöëíË«‘D¸º›ºÓºcŒ@ßYªÁe³€ÙšÓE®/.S\s[^˜›ÑõâuZ­î¡f3]LV3Z.'ØÒÖ¼–F´·ê¥±ÇcÛŽ4­[ƒÜº ‘²ÚÚЈ7¾·Á¥Û³—ñÐqŸ¼Ý<ûzñó±_¸ÝWÞ„uÑÉwí(‹:ON\©Ì¸–;Ll©íKâ0¶G5N{VDmUDèO¼WæXߥ1@[ñXÁ Ž¡âÖÑbƒo’­ù¥Y¥æÖ÷šMêÎ<Û/Ãï5ë´Êý¾×Íš7¹ñ›[wÍ*õùèü¢]»Ÿu8(íûÖ^¢'¹t¬zlâÖˆFÒ6N­á:ˆžŠ5à§ÃOOX¸G¡^aÍáÎ+ò@tbÐ%H#øº¥ƒz–­m*XiJÖ¿¶ÂñPŸÜRC{¦*¾¼¨ds…T²1"ORʦ˜o¦”Û¡‰Z„£:ùصÔ*G´“[GÏólÍ,¹´3l“Ÿ|"2]º3Pî×LJ§b;NëxðšÍܺ ·®ó²öcm¾4Îûóhnßû7_:nxØ2\òœú‰bôÿ4“83xaÊè:gºñUNkù^F°£½n(þ´uÂ¸É JE¸¦üKT5à&ñÌô *ÄŸò>n5¿‚8XöY°¾Ë1·>÷˜‹sñ)¯"si³*ió{èÛÅ¥1¦ƒõ\´_ç0ç,óÔêcÅsŒàêL]¼e@±¶TIlÙ±îÎf@Qÿ‰-¥uQŸ§°OkËSëTé e»¸N½«QQ¾Ê‹ïkO0ˆöÙÕ·—MæÒh‡”'¦7ä7f9Sc'mÃÔ5ÖµŸ KßÏC¤¼»ÏÃ6è<¦|+_·lŠGVϪO]:—¶YW4Î1štp6Á3”xBL1È4Î%¨šC Xä sJÁJ¦n\êæƒƒ³ 8<² àà¤A)¼,ƒ1¤Ê)„Rƒs&–ÁÒÁ)„R'§UÚb¢øe(5kÙ†0Æyâ„R· òx}U5äò”ø J|%>ƒŸA‰ß”@pIL¡mVx[Ûs´y¥s´yhJ«ìÆ9Ú¼Ò9Ú\5ú¯)£çTÖ•N}jJ«íâœòºÒ©/Mymšò:4åU¯X6K~kÊ«¹ôPGÉ6¹'Š;ÝZS{ÓŠŸz•dnoW0UsY¾Ðõ6·ö}úŒ}Æ‹þéñ¢_=þþq dÆ_üˆ‚h[úKÒñŸ„ŸG^IÖ$$iZŸp`Î(ÁÄ}ŽGèkbbÿ…&!ž”>Ò’^¨?’AÝô –!‹.ÏJ’òu·Žò%ääÒ•ë·¡(ϸŽè¶ñW9{˜Q0Šº Ðúø­P˜"­8ñš“Q5®;aHÕ^9a,(Å£LU¹\,•Nû•ÇbZŽ!UALC©×%èëçRܦo…®4æuµu‡RûÒ›[ë*+÷˜޼–y°£y;Ìùù=wN„—1£bžBÛóròJ‹åm‰™­pîðM×=%³à:E™§ |Ü1Ê6´|î1;7?뉯÷|˜¸)<wŒ"pL‹aލ\¸tsP˰¡'G”&ï(¢ŸŒ4‚¬1M¶X –¬‚RÑK‰%Ndc5~7¯#VMÁìÊX*ÂFp¢6¤ÂÓÔ–F¬ð#©åñf«ÚCoI+g7ú«VN†,T\òuâD`8ô’:·"žº°khkŽª¦å%áùêr Z©U¤:òÄ8heÕl(Åý JéÚ JiÓÞXÅ9`I„šPŠ›öÕÙ.€’B¡÷ªq IA©Æ‹,U¹¨·!`<@wB©ê”…*V’kª.<}ñ`–4‚1r¼Ò¤êù0ªZbœrýE«áÆnÈ$°~)Ê8\dº|D]¼D‹—ój}BmŒL‚›Ô1öΊ“~^:)©J·0A)ú˜JéÒä)6ƒ!¦ŠÖ>Åu+ËšWº&·Þ¼ÆØ8£ø†(Ž_¾š.g5£¸0ÄiD#Òái·Ñ:ú¥· $޽þ Řê¡! ‹Wûü»û/Q§s™Dbz(ð4èòò‚!8šþv:€Z¾iä¶n"á_#ìù¢ƒR4ùß±Ïò‡øŒCü•Ç!~·ùŸíºÙÿl7;·>ü÷ÑÍûÝìý·Ïnö°1»õUžE6Ú;‡Ž7­cqk8Ö`bï7Vyp ‰Å"ÃïpqkmÎ<µvÓõ)V™pV¤'äú ”XÊp'\öZœrѵH}vKØã‰õ+¬ä!v×PBGµB³Ãï‹ïR-3‘t‹ø.wÚ·!Š-Çò8†ŠÞù‹‘#'îÂÿ¢'¯¯=‡LÈž#&ÿq·‘–·á*fLŸ®s©Ü»’ê>ú†kÐÁƒbûHÅŸffÒ7·…§V¤‡3ðµ¬y½àɕܺòQ\Ö¼Á³qqépòÚmLÉÀªU~tùA)~*3a=¦ÓnÍ^Ð>—<qëQà»–<õ€Çdêó€³cëô–\ß“ŽòaÌ¥Qþìû‘ßé}ûÖÞo^Ÿº.Ú£49ÐÅÛs(å«Òþ.;¥fŠ SGCxÏÕÒ*H¦V9û[ûåpŸËê,ËOÜÓÏ@Íç¥û_¥ƒt=eµªõå=Å Jø*g‚@v?3 0®Lréˆ~ôÂt¦_s0¾„áFK6\w~?¿o­Í½n­ =yQŒœ·Öæ’[s÷kÂg[Ù*zp]&T¹oãƒM¡…)/›©kDFeè©öCð®;ÛLÉ—~ìô9Î"(¥¡A)ûs0(†óïc(Hìõ¼£¿Ï‘ °u!ÊöWèø1XÃÒÚPêÆ+C*üè+ÏÑÁÇ莡Μ'¦SáÑ…­€˜ ©¤Qɧ5tA_\z0ë.+Ï9·îíicYø~;õ®JA“§m ùܯJ)ôÕßJ9FõCX–Çs`K²>©dRÉóIS¾ ˜}Ÿ«èÉ1ª_Ž`í#W cÔî1Z÷}øÿõàZªÕ“3Ò2Ódf1—žœÝ<5çÔ¤¾Zˆh'É5<µú‰É­ Z„‹[Ïí[{¿™éœ•”;?C€Ÿ!ÀÏà?\CònKhL>Û"n« íЗ`Æcµj›8Ê»èªGÔSg2qJNS°¾•ã©ú¡Uˆ°^(ÚuÌ­})&-Æ©Éßr^b¾ X/A…¸ÎL]ÿ4‚hk'”BAkƒ»qæ®i¹OB*L5¿ñ†9zï¢^6¶ƒlcì¨'”Šqª¸Ñ2† óà4*,_™FåùsA\¼Ê=óÀt( 6v^±Èr÷ðgœ³®ÆIî¬iOUk´â“!Š“[G¶G¸1[ñ3ˆó7·\…ôaƒÇä­v/nîm¸ù¶âŠ£ŸÜºrÙ³eÅÑ‘‹[ÇZmè÷(ß`eÉG,­ù8ä. ní×ý¶æÓ!Ÿ7w€¸ÞÚ/…#ñ'½µJBÎ £PõmÆgSˆBÏpGf&Vµ+xvñ39yÙ,y\ãºqiå|® ]mÛú“S—'·ÆŠ±cqkÍ+‹p°‘§Z¬u÷/æ!üáâÔoßO­íÚ·®ƒÏß|im/¹5÷K|õÙvžÇ¨¿e“ÇÒÄ×–nA»ŸtJn5ævkÞŸ×Æ­ã ÐÜìÆ±zì–ý:Þ¾·Ï/†#öó´î@àÞ¸ô«øêÑ‚4·n•Ç—\ºÆ~¯Å¥1á~e´Écœ2´Ë Ì‡,ò Ûë§|ÐôÀïhÏÊGÅ{ÔÁ a€1´˜*2† S$/¼op˜îôW(†h®)&ѸޗWýBŽ ZÈ$8^©¿Bžb::ÍÕ Øhr(܃§©%VÛk›5GäÍ[£w[–Íõ¾Þ¶c>ØQÆ’µÏájŒ±qëÊ‘2ñ¥'Z@‹[3úVŒŠž†/.(unVü:õ=që<.Ùä<.vêÔy;[ž×²æ“ßO.ý~<æ>nÿ±NÚ¶ë>ô Ó\ºÓÛlqéîsÜxhŸOaO9Büt„éA·‹FppÝÈ¥¸ü™y-_eýX½m_†ðuMÃoŒBR—»È‰Q\ÍY-þÌ 3nO\¾ÍÊÑÐ m+A«XØáL(¥ƒŽyÏJé:]žy´wâ†^r'¼®,­ù¥%'Ì¥#n –˜8ÖRà]KK8Ýšïv–5Ÿ_kɉ]Ç;œºÙ×ë™®UÙ–ÍÇíó‹¶ûùXG}9¶ï[;l{réX5e¼¸u´—bP=¹tÔ½ðp”wTùOOèÔútþ‡?^o÷Ó•ù·veþ£X-Zê146–sYó‹=œäÒÑ|AA6yçv3Ý:jOàÓøô>=€?H@õÖ`û4 ¤Qm¹ØG3µDHb‡*ÞùTãÖ\YÿÓèý ÿo ¢÷æèfê{sö½¹ûÞ ~o.¿7§ß›ÙïÍñ÷æú{3þ½¹ÿÞxï&¼w'~t7X󆬆á_¸W­ÞØJi““Î0ÍÙvãí:éÔá=6»x»Ç#úBL§hòõXY+nÞ&Gcy·æ¯Ó»æÆ­_õ/¼\–׿ˆnlnþÛqÑ6 ×|ŽÅ­#vpÜÃÍ‚GÝ9ÛâÖÑØ`›¿×ïÀ­oý~³mŽ¼ÞæyýuŸþ©NÁoö,>…OgáÓYøtþ¯ ðôNXÄÊiô¸‰²Gü÷-: )›Ý8âÂoéÔŒ¥ØÁXéŒËŒÆ}@6² ¥:v¿ âFLŽ9L-1„%—¥.籸5"ç—‡%¿Ü ¹tÕœ-[ó¦ß™[7ý~³äºÆÉ­uo>Ý«O÷êã]õyIòñ®úŸxW]U^D¶jÌßV<î9¢M‰[#œ÷²æ]ïÌ­‹öóy§ðé&|º Ÿn ›€ žƒ“›gž}YsŒ|néÖ~S`+~j³Â’]®9Ú1›4 Åe¡Œ)^J”¹0%–ÈFdGYsw`Ì­k¿´“óílG<²8Í(_|1嘳ºe:!¿Á¿BhÒ˜QD Bÿs:"?$³x»˜E{D¼†„PÑ:l«Gè«é/ or`ݨ8¹®KûvîÂ}¢®LJé ‰jÅÇÎ*KPR{ 7[œé`o%úN˜»LcÚ/ôE¥Pµ-#X±v—!#ÔØÄ….ï?Œõqé¯V8õ-Ýç´G ½¥C7úI§âk¨]ŽeÍ1g,nUETæ“Wïª5‰õo„-.Vbëð¤‹6³¹5ڦѧ‡œ¯îûA _È”2HÖø•ÇκR%yœ¸åq«¼ßG…äßò3zÔ"ü<ÑÈÀÇùuÈ…—nwN8®¨ÑiŽõ¶të¦Ð¢¶æ‡™æÒá‘?æ*Õ\úùiàƒ;ýh£?_çjPÈ04‚¨J½®Sþêèý˜IܘËÁp¿:n>J[QnÏiVˆã*C† b¾ù‰iv1i]?My² ÷—-_+'…Ãéä⨂T¯¶*Ú`‚T{Û(UÌÅh R &‚R±3¦5 Q ËóvUÌ Åì|~yf¬(¹”5W±å„®n«ºHµ0¸5º×ç²Éc;mK—Žö*GÙ‡ðž^öã±MN§ä•¾4Úž>_Þáx¢©©¢.Žþ/h~GÇJCeæÀgô¾b Ø&* =@ÌåZŸœCCÎÓ݈"¾Ï%%Qnñ¨„tè<*L‹?1<‹eÆÅuI+^8®’Ü÷ò\6¹2t¦;ƒ3cûšðjDŽê÷v¡BéÈÞSûÇø•ï ÆÁ—Ó,æÇ9jçeòÇÔrfe"æh6Ç0[Œ?Ú¶ñ´äS°¹t¥ÓOÚüÞýL·.åÍŽ_oǼpJÿâÒQ÷E𬡡&¨b ײYkFUT·VpºeÅ£UÃKæÖ ~š6¹ßéÖ…ÃB¶…C£{=ÿ¨ Ug¨ÞÅìöG¯Š¥HgáQ†z«:iÍ­õ¹ßi‚Æ16‚NÖU§±s¸ÓX,:‡ÓdÈÔ}vL™ä-D,ì¬Î´^9ÍŽi›5ïS½ç½N”ÆñÈÎ[½ä¦ÞQS»òV»rò0·vï ?>È—zˆËv¬ó›ê—ݽxK–]2wp)ð÷Ù_pÊÞ9¨hYºÌÛ:tÙáo YRýºÅÚéæ©uɼýì )ÝÖ<»Næo]¬´ƒ |>Ó˜ê*ú~ì÷¿râÊ"¾)Ì^¦;¡Âꪕ,­ÎfÚä eÓÙ­3¼ùžÍ˜òàúÞ¾–<°¼@§4V¼nq7Sçì[¢Ü›Ï3߯AôxGÁð,™?ÆPTý92Õó"æÈȱ—X¾ ”¿(1}9~1*£‚&KZ ­xUDZ¿|O$tl±­ùåpÔ¸ODzhÅ$ð8_f\øåO§Ç¨%–·;|”(–®¯•iõ´+ï^ô½8qKBLõ8 ¥à9‡ú‚Öøà¼LÞu-ËV{Ó°=›6¹½rœn}¢½Zõ9&p|´\m0ÌȆ'Eôg¯k3öT5¢gΨÜeÀ®x)'‚ÏoJ(ÜW ”œqó4tø®˜i“³;°Ò­‡œ\lO> ïÛÙ8œ-úf« ¹ôÉ1´ù½[ׯCwÅU[Ž.5lãî.ˆr*£kƒ\£¿B¸$ññÆÒ ü M#¶ùâ¥%E4úâüd ºúyá÷ìŠ:¬„ãl D-‰×›Ë¾º}¥IEŒþ¶ !”K(±Lý׈mJ¥Pt¸âÙø¨/øÜÈòÄ|ié ÕÕ«è§F9™Ñ·BÙ#ÊØäÔQ–Ö²Ý:iøža-qig‰ä{AVàépÎ*T±˜–º©%\áø¦[D—èxOç ÌWÌ6Ÿ¦Ú§©öiªýùšj¯¢ëç†óIeÑÃuµpäæ×¶‡Qܺ\·&lÊšGÜH¸ËŠ[‡’¢ÁÐÛüÇv纾÷d溿æÒáf¸skŸOriŸÏ_¹iŠ¥H°n­iŽQêÙ6.í‹ož7…7!ª9,r|ÜZuxð¦›[Ç  (Éš{?æÖ>.m÷â=‹ ßuÑ”—:öAXk'Ÿ¦õ§iýiZšÖœ¦5^§~kR¿¸ü¸¬y4“TìrÙkiÔ1»ožùVsR+—_!Ę@æòôÇ"„tzhò¡å‹_qëó~rkŸOri÷MÏŽ˜ªËk]88ÃKótyh¢ëˆ5çàÄOÇIOCªÉYj2‚Úº ”ŽC‹‘+sa ò²«ÁÖ³ 7ýéò|º<Ÿ.Ï_ºËó—î\ ls9ð  ¥Ýx»ÎG:5 -»x»Ç#Zˆš5Šþ[yZrJn­C›¢ç:·î 0´Y*ê dn=(­ø©ÀBæÖ§ mÖŠü;ðÿo€#]ï p$­ûôéÅ|z1Ÿ^̧óêÅ4Æé(Š!‚x˜$.»q†!Zé–¨ìvq¶˜V:5[.Wt ] ÜÐ/ÎrXðFC©»_±‰Øh”BP¹F&ð³µ ïÛÍ2QgÇÆÜ:J¨Ö6+^ý;qëªßo–ˆtuÍ­uWþÅîID2ðß½{"¾º'lE<Æ $¡6 ˜š¶¨’È´g6`mļ:®Ò,+V¬]kú^ÿx­ß×ͬõkkÆ!4­Ý{hý¼ªõôÌëÛZ¿ím­_îKbéÓSKŸ¯‰êN)Zy%¬e“ó™½2x.\é^þ½])S¯Ö+¼¤Ö鵩?¶0+ J¡Iòû; å³—éžç£7ºwWÿ{­òìNq=ä{G:ý{Ïšq~®ÖÛ´k{[­Wkç&/¿±Zoùÿ¬Ö[Ÿ¶yµÞáEzóƒWëU>̃ÌnkÝî—¬OHY#•>³†Žªê»/,­'oÃ|õ`þûL‘ žkäú™··5rÏ·5r¯·5r»ÖÈ­okäÖó¹ÚoÞjß@å‰÷þë£_+» g¼ rüûxŽnü%Ç}þC6ÅñÿÿÍÌ·‘Ë_öeYÈd‡WÃO€ja¸¾W}ÈzpUÇÇc¹ÛO×øÓ5þv£hc:ëò¸tÑp\)¯kŽ'h%¸ó—\ºÒÙߨº¼á’ø|Ã'^E=ñ‘x¾á‰‹ŠšîÙÁ® /(UÇRUÎO0Ôl÷£cŽ™ ëêJ=w”—g z`]VDHG ã€kЀlSu™2p´Ð-=Î`*9ѺOû6áTI¿ÄãÒ˜† XL}Z# R9‘!D §5ÆBåј4•^BÑ. ”RW5 !{¬1«•GÛ/ÈW§ð嵬ù5к]\úRŽIk~ µ¸t4ºv{v~ÿõ2'®J‰+Ž0 ò‰{|@Êà–  GñÏ2,„füy¬»¤«¿¸õŦ¬øÒ•MZk¯›?¯›ÿf¯›#ƒÕ ^n ¬Ü˜Y|ʳÔéÖÖw/;7Ô±¥KǼßá¬÷ykúé~º†Ÿ·¦„·¦qÕ›^#1*óAOG[sTœ[ºtÄ3 ?Éþ '7**å@l¿ÿM`¼|Œ,´4IôÙŠþš\óÃT*®¡Ie ƒ'½o! C‰¨$.ý5*hK)…ï]O›#ºÌJ«¸uhõE‘ÆÊ¢èµÂ•FAf ¥Úþ¹Œ`Äà ­ [°4á±ß~.¨k+HÅ‹€°Q1k ƒ?Å»AÅ="ËØXßs7Œò0}2Ny0 \–½÷®Ç¥s³XlÙ\:^8”õc.M d@séˆÛaqêˆto›‘D覒8u4)êÚÊC#Ö~®K ŽD³õ•Š r J½òåe#†Ê4“¬PÓÙ,ˆ€EºI:ˆÉFNB¨†· ”ÆA¼Éý•K@Ô+yêh÷¶lrE[ÊtiD̸—5Gìç[G0D4 e“+xd¦;˜äÁýÛšGé~¬g¥0¼¢q.kÞ*¹õí¥0dÍ#ŽPL2O­ëw3æVèñº'x7gkΰ֋[Z»ÃVkåŒÅ­}þÞŽæÃæq¤5o©¹¾I{K7§Ž¶x¼âE¬%ÜÃ;mÓÒEO=ž<53õâÒñxzý¶”ö~8¾u\ï|iþ.Ö7aó¼¯ÙzhÎËŠÇÖp·Ž|ÌîA{òqª{ n})|‚òݺ?¼/™/ò9c¾QÝ’ÙTÙ/K:—„Kv—E.ªTŽD ¶‚© ñ¥q‚øW ežè8½:yVl`RÅ*@+ð‰&.ïå¿$ˆ.F[a=ôêz40„ñ9"+6ý¡«‡(^-’é¿B¯Žh “I\Çú'ïÈc­2Š×³ñÚ?ÿ ô}“–‰ ça¯p Ö_³XDgŠÍ˜Îùö[1lœG¢CÀä~n¨‚¯/ÆØR›]s9´ÈË‚R#6„3¥ḇVÁÁ Ä(œ hÎ +ud »9ŒÓÁ|ôç˽¬9‚AÖµå^ÚéæÒhWS€¨³)ÿ鬆{Þ&SË«±7Ic:_¹°ž‰SN¾Äír_jx'§û=Êf‰ã•¬1ØÚ6K|à)J*‰¡ß–6J 9¿mĺ¸_Ù±"ߌ-[ñІL#ŠrKlù²hj¦!­_|ç),ùÚ+Ú¡íF(·•*üJK.v§_‘ŸäÒyÜŸ1¾Ïßÿ~ŒOË°Ý mž“˜M-*égDx=;|V°äÝK 7¤%Huqµ;Am^PJG¢u>Mƒm8A©“®¨‚VCÅÅgìò3vù»üŒ]þ‹c—ŸaÄ?Å0âgëï6Œõfú 3ý•†™Â«Ñò…ÅÀti7ìötêë–]<Ûíéб‚.úr²À‚{:tÌ^ˆbÔvãppO§n @ÃÌûñ43IÊÓ’wLnÝ`p³àQ D7ËÜú* ´¸,ø}(ðŸ¸õÍë¸[\·Ã/zÞ®¿ïÓgXð3,øü¸Â}†ÉþNÃd]Aã"Fø¿¡ ‹¶GpÅ-ZAÓ.Î Ã+š“*oa¼oñf“q@¶¹ ¥h1M@vò†©%FõÔlÙd—–¡Å­‹C-.ËŠ} ½X–®+Ô"­xÛC/¶¥›C-.Ë–¯®±¹µïÍgÈï3ä÷òû ùý·†üžcc/ãß}Äh^zŽ8Ip”ã9r˜Ã‰ÛX×süëmˆìmøŒcjomÏÑ·ÇÝsðî9¢÷ôûŒ|ýO¸5äùëüåPægØìß:lö:÷ˆûc¬ý1þþ  Ý?FóŸãýÏwëMÁóÍÁó}ÂóÃgtï&¾`ÑŽÿFÜèàâ‚nI&¾Þÿì˜ì/_x~j?µŸÚÏ@íg öO=Pë‚ÅkÇ(Ü"CG¨Û(”7 >¢_r,nÑ/®Ýšż4—ŽöÃ,Ë&/è'­té(½ÆÖ<™½/n¯[;Ý”iKj»/?tþ¾½mï|û¶Sî'·Ž>úƒK—·ýYW‰æÒGlow!•Ž*9úþÉ¥£^>W¯Ò³ô@ÅÑúLC£q¯, (ý™y¤!Œ"ê•w¥0ßô®ióV²u#±¤•-¢²'NÙ9.äÃõaêÅuç œdØh“,ªˆýxË cÈ3S’DŒ©¥ÉS/õçîžWøíX%1Ž«»+¬D0êêë®ËJfμg¨£m…DáÃ÷ƒL" ³,L(ZÀDüÜxè$øÜ4ðÌ_Ça÷wùk",¾[“Y`e —€zP·bÃm,[_Púž7 ᣲЖ5FëõZÉÖ_gÌeͯ¢ˆ©âÒõðö®}ågiäå0‡ËÎéÒ5Z³ÿZ›–o³£r‹ŽVKµàVÿÙ.kÃ_¶.ÝüS¶ž«ñ÷O7ßjä°ñ>hÓõw\ñ‡ÍõžWº5¬ô¯šóˆ6÷åïlVþÍÅßè–¼÷b|™~´¬ÕâÞ[æo-ö÷–ü{ûé—Mí÷&ù³A¼0ø–>潄5·ž÷úÞ/·:~túýÛÝš÷îÏ[·è½±øë¾Þ¯ZœÈ¸{ÃÿÑxôþ¨íüøÅïioÿª¡ìßù%óæý+­ç‰ ¸¬¼ºR nÕZ\õ’Ûío5YßšªÿûV}×9Ói ¯DqEÄ­ÃêÚüOz{óýWÍûO³þÓ¬ÿS5ëW!3æjk»®¢j5Ã%ÔZÿÙÊë¨g°÷؃x´ý·ÞÀÞWø—ÚÍ:h¶ôíÅÚj¸QŒøþ’¨ù ¢ÏÜC ÊG ¨ŠS墨d”ÁÚ*š²”CM.QÉ12è(e¼áÑ"§ ’^öÐñX±/¾køBð,áÆ‹7$ø+5å+s‰¥ˆ}zׄñR—?&œüÁ|~u®Ÿlç"É… ×6$÷sã_´ðòBLbì·ŒB¤Ó8\|æýŽüNS¯c¹Ñçè¯DÆð•Í¢§4ª×~z´ªeN˜XE7Þ@ÑøÓ–:›1#:²[QÍ J˜l,¸ŽZJëáÅ‹j¶¹1)í.š>ì°¾¾‹å /j[óx}SÔ¡-צþöýX nr•^¯—E wà$·ŽùÙ;·>ãôÚÆ¥½ý´æñ°ž—ŽfgÝŽËÚÇm8xƒ\œ§NQ¨ue“õmœn}q{iÅãÖÌkqë¦ë±Yð¼â©Çó8½ÿ(”¯¶lòÊùå™N.ˆá‚@“´ar¹©^Iåþ-?Ç‹Ï%cøzZ_-§IÅ ,i¯Ž—z‚RÚ‘ ¡ŽE{W¶Ö“¦Çœe/׫TK4‹a[w´³ï-ïqY-o~æp•G­îg=t$ByŸ¬ºVëúëô¨›Y ô˜hqƒÊ‚P[s<ü &½ âÁ™P Ñ­¯J¢5°¾+Ù¶t;,s×¢Kv忾×ûñ¦Vóƒ—ã›­o–­æ§=Þ¶w=uœÛE'ôt­£]ØÚܸttKwnÝ8dqio?­8²VYܺҋqiwDŸð¤ÅWöÀe 9_ÔiRœL`£)¥ˆ‡ÜL-ñмôÍŠç½OÍ{ÉE˜ùx¬UÝT/‰‘„‹ sHBF,:e3“¨<3Â$8/a¬aiˆH/ ¦ªáó€é³ßœñ]p­Ä(ÎûògŒ{€xö]¸¿oôÁss‰%¹/„ļà‡ÜàðW¯e£Õк¡†]fÂC{¢‚RÞ}6‚Á°äÊ=lÜŒNQW/ç;e*A+žŸ Ï–§òÖ€Vá2]ü”ûÓ4þ[6Ë`øœÁ×—^‹Z^‡ô§^þ/ÕË¿§ ÿ޶bxpcbsBXskd¥ãø”Ÿ2à×e@ ”5úˆ±ÏTÙ§°5Û(wWöE¤Ã­qîVüТ%æÒQïi’6ùNuO®,2µòˆ¹u¿ŸÜÚ'“\ZKT¾övÒ+1fr½ŽÌJ&è£åáõ«Pt:o-!•zž2‚Ú´ ”B‹ìÇÁŽû‚TÑ[<C+núS*ÿ¡Jeô¢xŒWþè1p2­xì+aIG¥–!¼Æ[*†y_…»Œ f&VzËÞšvŽ;urFbréèÕìÜÚç`n­ƒÕù>;.´lÏ|M/¥ã”ÒáÁ šmøÎ."rò¤T\¤™†P›”ÒAhc߃¦È)`WS‘ñÁ(´á²f|eüC5#È^3Ƭ«×ãS¡b.æIDD΢'¸¨e<ߘqîî¯ü÷à ¦y&”âv ¥¸Ç8"z¿Ç æÎ¢ã{l_\¿PŠk®LØ€¯Â{m¸*ËÁº‚³Ç:\äW…(k^9ùsqéè¶e¢Ë÷‹׋aI6êÐ/+̽ڌ€Ã·-o-†Ç÷-ÿvoD­…ÉÕ1©ùÔD ŸÊšÇ ‚ðŽO.}*[¤yhñfÉÜ:fÍí¶~¿{Æþú ”˜G˜ 1¡¨PÑ¥ÄÍsK0pn›qVÇ:û‘ú…ŒaH¥Jiw‘w0YùFö‹€m<̱¾cKì–¬ñ¦õç­­ ¶Zç¯<€0ñw}×ðþóè¼u6÷·>ÚÿB¿jý+éÁ|nÍW¥¼6,ü{J„ÁÙ¶J'Úös{©ø[¬ê‚üºwñOõ2~ÙkyëÚ<ú;{›4 ©¬¡Qü¬NmÍ£ZFå/n]™C—5o¬ö’KÇÃÝú>Šò,Ó].Ÿxáˆ4—f º¬pCm”RY>º2hø¤ódÅ­¦f.žz¨N—öÔþxÞÆ¹}O:žÊh;$—Æ#¼ïG:Úûö­½ß¼x¾FººÛc{|ÁÑb¢ñšj¢œ *^sôÅ Xô$ƒR©´÷dùÀøÙï¢Ù%rÁ£mùý(«pSQwâv}Fÿ–#‹ˆNS¿ºææÈ ÆNd7…-úB´ÿeo÷x¤SßxQ¿ÔÇókï&`¼»¦¡TŒ-Ö±@z†J]8±e†ÓΆRñv0¼-ÒŒ·¡œV¿ ª{"äÿ2XàÈ_ôv¥ ‹u6 î+jní;ñ,üC ~^É| Î_œ–Åð¨'#Þ»aœ¸ï±˜TƒËÂMb&µlœXf#¯ëJµì'g?ÈˆŽŽþ‡±å€“DÑÙ®é–'grÙˆNÅh¶œð´HcqùbŠÌÀ ¦<VÔ í÷d—ÍiWx•˜Y܉$*<¼c¬) ÇØRô­#àV½6+ºáYmn^űYò(øò&Žð^#sãÒÑ°Š³Ïãðqè}..—EÜZW±O×kœ•³3jOnÝð*àX\šaL·ïK·¦×æÒMS×—FxÔ+yêÎù{Éw)ï¼-Æ÷ §#[óðRü¾¶¤ÓŒmb¾ËÔ”gË=榚'‹éH¬£²h2QëF)+ïJbkŒ?m±V®WÒK5éjåÕ_ZǪܵrŸr•î²s‡¡Æzäžš *<9ŸÆ«Å/êÖÁn)ìxãz±gg›ß ã÷àQÆ9ýµ¿5½–¿n÷ný»›c« ëeKgºxjoßÛéì~çþ6;8+é[ñÒÈ­™Á—Ýx¸ Ä0@Œ#ÂkPÓ WÐ6¦¢&éKç2Á ^WD­Œ1Öh#ö& õ‡ÆÚÝ¥-.ÍÐ[×âÒ`s’;|Rå¶_éÇcá‡ã·â©ãÅÙµŽ3ug$àäÖƒ¯y’[ǽ;—Ž<ÐËÆ­+ µä©&yãK—çYö™g÷°aY£’[†ÏJ.—CÛv¬}»ƒ"Gð³•aüÁ)xvî=A Þ3Ý×fÍýÐî|n¯lÔ 1{ê};æ1fVÅ­£Ò¹ËfÅ«'ncXšD»óz>Ó¡£–¡ãO:$çƒ[O4ÿ’§xX?¯Nþ¯N¿¨1®Qì6¦9Âs#íâõjtè¬_îe7^U 9údŒÕ‹û)E8ž[!%6KÎÖðâÖƒç¹Yì7¢9`‰FrëêÎiÅ‹b6˜[GkN—¯ôÛIn]íÿb+ÞnýNÜ:z¦ŠqoËØºÞæyýÕärõâê'l¶»þÑØP¯ÞfÜþ …ÈPøèø²°'  ÏIýUGs  I&Á9üúKÝRtƒI´é®ò0Ši?Ä$:ºŽúKÅe7“ˆ:¢¿Dщ&~ ¦ˆBÞˆŸÑèè!ŠÇÅÀÇúuKóc43ø»C”Ñ ‹HäõJC#ú}JMöm/¾ž¾Ù ºØ–7¤ÂËÞr¿:ŠÂW•‚R:eA*]d²†³s©» *©ßLs8ö­£UÞŽµiëxÇŽ°É¥öqÌSWö“ïºòùŽ^\L^çÜ–‹«Œ [rÚz~9å¹É37ek>Ό nÍ}`‘×èKêÈ×™‘çnÞ7k^Ð…Ü1¦R5z?™Rì²%¶>؃\œú™•œÍ˜‡&ƒÅý<5µQî?a‡f2:Ùz*$’­x- ™$nÛvÞÎSÊpaêÐóú|PùO%¿hœ sÅpîý› NšÛ*)ˆ9¯fUCNF°{)Ò” BÓÆîB´¡cŽênK˜ví&`AÅPª²ƒ.³`”ö:ÓíÛ6DŠ%¡TCŸËPj cf(Å£6\ç€çO®1l êz n×rF»è›‹Å•ÒæN#oK¯n(åK˜–8bïG,êlŒeÀtÅ;•ŠR,*‰Ð×¢”ãVQJø¥ÝI%u I)c˜$Z"¢’ñh]ëÈ,áÃt&N]üv_ܺ*V¿¹uܪ^6. §È{ãK—u».yzk"Ý£÷]·ñ }7ùƒ˜€=€x<£Åÿ=‘9lDô.)è:ÿ$ÎBì™P(¯á?¢%Ÿ¨ß£F‹~ÃâÒ> sk¥ºÐìéFœ°Qm/Žþ J¡#û²ÆíVŒy%[ŸÜÖ:Jõdï†D–ÌÝÊ¿ÊÜXJíæh@Qx,Àþ§mòè›KW,€Û—fߣlœ:†0Nj.ó,Ûö¥Ù¹7.]´˜—xjׯw~ïëäßåuÎëªïézä×õ‚Ç,.¸¹ØQZ' ÃG¹æ”ð=oËfB¼Sx|#Á5~|ð~~l-¼xF~#6«§Xð«Òy¦Âû;Ú†ëƒS­â• ñLc9¯ü)‡jÄü†æÐõ{û i&¬CÝ–ýlu Z-mn) ü›ôÛºTòß\I+­xoœ"`nÝÌ}·mkE®¨vÌ­cq«zmVÜ•—¹u´üº‰VKbyŒTa‘~#ÓeB®Å•,’jýÅUÏ$.ÔÕÆ–d‚E¾°èY~XI± ¸çwLÐRŒÅ¼òC¼Å~ZåÚ¿“ÄÛ‰IÞ˜ú…ºðfÆ_,8$¢Ï|+|)nÚÐ .½ìئ¨×ºGœBÕ$¢’cê¼(¥KmSÉÁm„ô9ä ¾ë:V€±ÄbJÛ¢ ÒPPÚoFõªå±Ð¤1¥w]_ vN7¾Âs”…ªÞŒ‘QT¼ÏÁo±L'šÅíD§LF0F•#ÖáÉ€‘gªÆRóxîšHÇægõй}¦Tµã=zB¾Uçñ5,Óô8†fhÅë‹Y‡UCÆL5w2 þvåJ»#8GZD[ÆùV‚U;?Gíèñ3³¾¾©môQ¸!¡Íã(ƺȺ‰/ôtuÝ4ñã1ò™AVUï®þ+s){+ ±Ø ¦3½>¼xŒ&üÌ`­ìï·ßåûCvƒhCÑãŸÒÌHK‘!.òxcx,µ‡bTtÅ›þYؼ±µJ¸´Éué2]úâ´– Ú¨˜¼¯neò²N4J¡Ë×?å8¥ÌSÛB9Ιpû~ê(TÊúþC—µ=Ÿ7ß^k»ÒÞùv]óz‰?ôÀÛMŒ'6×Á¸hz BÁÔe:ÈýÖ)oì?®þžXæðŽ0ަP3¨„Ò1s½3v¹žÙÎï““•í@*btç&ô ²ÜжkZß>Ô7Ë„œPçƒh‡Å³n»¾y¿}#A/?>x?ï[ËÎ^«[ŠA¿Ôh ލd0aîv í”2進 fe«zû ”“sXV‚ÁjÝå‡Lñ¹ä7 ޝµZ->àjýÕÖ2)æ ‰¸’L0 ÑL~XIE­Çõ¼Å8÷Kê+‰ã:æÛèˆïÊÙü0ýÞÍ伉k¥m3…ÛL›ødk>“­ùú`YñèþDcn!»¶lr÷ßò ïY~%øéðuBëË¿µ­ó &ñUVqlàðý¡Ç-9>ß,XF¸²~f„ŠÂŒ"Ϋé¯Ó¹H§XŠÂ¸QðwÐêžXþ{A(x€3- X_‚rî_~ÿV/ù->aåi gW>Ó­OéóÏ·ti\ºl~ï~¦ïºL»>áîð2Êõ‰ŸyÅãÜÒç5îp­ %£‹P$èI%£ÿ¯ŸM)}M%)ÿZ»³ÆÚÊeñ]Wzûû¶ì[Þ%®â¡ÐÔÜzîœxû6|¿ÖqãÚA÷7γ‹[s¨áaq™:v™Ü:ްÏewŽå­·tÄ b±ž6¿‡@ K"ÊMDÂà4yøZ§æë¦Ä¹§çñi}Ù–xjõâøGê ï…)'âÌEHú5j÷áˆz9¹5Z¸e³äh™•nM/¯²YóÁPΚ Snf-x†ËˆâeÄHl^×2¦:cKwZsž!S#tà‰(ã1ÂWÛnÍo8T,.Ý9Ö<˜8[sëÆÌžk¨ÿb;æqÕÚØŽÓû«V7+^8*™Ü}…k³æ…íöäÒ[;i“ó®tkÝa´õé'2q5ÿŠa¡L‘è˜Ç‘k§?~+Ô0·PÌ‚‹°Nf…pùÅ;ñø Ga[ñ[~ˆæÖ¸VçfÍÏ<¹õÀëq,¸ps€¥Ümݯ´æ7òÜâÒñÒ%î·­9¢ÕŸ‹[Ç=‚¯®íâ8ÿ-׃çÙVî _†˜„nœ˜î¢n¯0<…9(rí¢%’ÀO£ÅYôº²êÙ?7LÉRio«¤@ _˜æö¸ù,ó\$¾}*óP@äÈ7Rïíª¹6UÚh:aY#¼‘îôHº1d„¿"¿V›Kã™÷ÉXc­’í~ŒµJöùk•Œ÷GÇ6K9ªæ;‰JöùØpê³>ã¡1h6Ñ{Åø!bßú+„uKZ2 LbÒ® ÃQ³¡°@DÄX”‘v;iSbÞS ÞSú\øìp­ãq[„¸â²˜DA­šflßÐ÷ˆxÇc·Ÿó|îBèÕ¿÷ƒd±Üì2¹úü­Ž ^Ñ@ŠÖEñ÷—BŒ&o„‚Ç6ÊZ‚FÇN$¡;*&Á»÷zVúÉ×q]Ë$w¼d—M~j!1§[‡7ÄnÅ#¤,ÆïÅ­#VüØ­yL&¼6ný€¹Yó‹áó’[+½Ûç¹öó´>9Ugqé±yi¥rz5_réÇq-nžó^V|Ò‰ˆ73‹·‹ ä çã6î3RHæ6åŸ9åà4­—£RGP²vyÑjFœ[o¹´œ‘Yè¶|¬-H"GotÉœAºOiû¤˜Õ™\“bâh×Où™ID8©#»Å;Ë]³‹N¥%[“j &²ŸÂµ¦;3uZsé7—Žø‰c³É;3s¦[ŸÌ$iÍ/fæäÖ73uÚG&ßÓ]né}Ü>¿ƸŸ§4Vý¾KÆŠ‘ÃM)/=¢’Q¥b¼‰TRžq2ù_­0¨ûáÞfÌ}©”ÿ^Ùû«Šä_.o $ö‹zèY±ñ£ýñ[oE˯+ß®þ÷7 þõzkÜ~ç_¶õÍ2ÁÎ!™b>(µ-»¾9Þ¾‘n[ÓûyßÚJh×ΔC&1Ó$šðá;èHE÷‘õÁ)•^#+¡Êç÷Ò0¶?¬”*¯‘ü†@ žÓÁœâ#Í„<ô©ñíõaØ;âÇÖ2é¼5vIIp#Ï{û°’. k¯ï˜„k FPó¸t%åÙ1·”>â¢ð?•óÃ`ã˜v;‡èÚÓ­'G´ÓŠ7ÎOKn³êµÙ¶üaî{qëpT¬m³âÃN+NHðž÷3!“¼`áN‹!oŒŠ_ûµL’×ûOØ{ùEÊ?}ëCœr:ÏeëÀ^|Î%/º¥Ë˜Îã‘j9Û›Õ¶Ÿ1 bdly(‡Ç ÉV #85½òZ”eDß Ž®’`}`JÌ/×dbpé­­±Žß©’•ÏYÚƒ¥ÀûFÌcêH<æÖÞi“7™.MÿÞ¼n¾^8Œc>Žî˜ytðz¥[:æŽâQßÌ<é›iRaÚÜMÀ O¶!|i/ËžäJ»ÒÙ¼6AøÅÔò-·š*OûZ`õ’‰–5msk_ÃO7ã?ÐÍø—š¼Ÿa¦Ï0Ó_n˜ £®ñÚîtÂÒ´æ7œ\—žsHmÍ1ùgK·>Û›=½LÓ¼ÞäÖòÉW6—âÄPN4¼ÏºYr,ï7¾ôƒ[{Èzô´‚s£GÔnÉOÎINn­ÌŸV1ËÊâÖ1õÞ ¶âñdc2Œ¸µÏ;­¸ÏÛ×î±ù2$—öýø4p? ÜO÷ßÀ=ðn¶Nùsìvãí|¦·SEçXvçýz¦wúÄh¦ÖÀ’EþzØàwI7)ÎQÆLæù´Í®‹[Wͺ|ØÊè1NšÜº°*\V<²¿¼>À­ëPƒhYðˆÚRëâÖCâ»÷õ6Ïë¯ãûË6°è•E‹;‡^K¶;ïã™ÞåzµÍn³<¶ôÁi¬%¼‘"7Á’—ôÆÛìàìЂâKÜ£7‹ x<ÞäÖð+ì›É🷆7ÛnŵJzrkDÞh›x«ž)SÚÒð{Ú¢°M|ÒÈóúë>ýe+øò£‚/ÿ ‚w¡{¢Ð­˜ã‡¿BÈ‚‡YŠá¿B.^f)¢Õ&³ÁÙ÷´ 9øßþ'õÙØ¨¬‰Ïgc#Ní~Nµ>ÛÛÙMב?opß› ˜‡’<žsÄØ·¾YãäF~60έ1Pm&¦d‹âX˜ÒÇOçVÎp¸ß@…Ëz»Á"vÒíO†9áÙÀ8Ÿ Œx(/ŽúÑÀ`ÿeÔ½Q1Z¡ØŽaº"öí "ÿÖÀèjRôG£ÿfƒ "Ÿ1êf%´Šë÷ÿ¯ œŸ•gYxÄC]ñf³Öº~³ÖúUáó{Š ¡¿Ï"A,EÜ$™ ^eOã´-ø¿³Eè®U‡¢ÙJO×½eɈ¸¶[z²ì;Ÿu(¥-ƒ^¿á˜_{YÜzp¸egõ¯s[Ü7•NrA*^}k ˜Ë¯dù>Þ‹â_»-_ã2²HR„õ-/ÿ%AO_„Ÿ•#üÅ©På4£WeŸ£T»Eø™{ÆùNâ„ÎcRô☦W› ùO‰gõ°‰0˜#^ž,߇v£Ýƒðó… 5"øÌß’äçØhÃüœ˜£¤Ð NøàMƒºe³6{¼[òÔ°,iÍ1¨9ëâ©+Ö¶]<~Ë.Ü÷)óF)ù#á%¼öß0§r{Õ`ËÉh:y‚]:·ë‚X×É‘ÙäÒq<œ‰í ¥r]ßTÜNís±z®ã+\AùèZÞ;|4ãc!³x+‹!Gï/–GŽ8¶É;þeºõ„/ß²âç¾äÖQ‘ŒÝšwøð-n=àË·¬ù ߾ŭOøúåqûüÚùq>êŒÜ®¢#›–“SsMFÂT™†<1ô`ZŽ}–¡¿ºf> b<· æ¶sŒhõŒMF8W„+û8æ: J§Ãµm?Ó¡ÞåìœzŽ7>0÷ Ónºc®ZL‰7OkÎQîÅ­ÇC5ÈjªÐí˜7¾I]ÕH3Ïts dº4ÞŸl69×VºôP')í©XÑKƲÉOtéWºt¼!hsÙäåËatª¦çSÓ{ ÓÃè!^8!çÐ_!Œ·ôd˜¾W1¦Ó`À«á K6úó§<¿²¡Ííx'÷Ë! °Ó©m& ¥X64†<%IÜ8™û(»Ï|~ùà†9~>jz³v Í’ØGÉÚ¤ÜÿZ{ûÓ ý5CÿS½“ÿJÛö=ÊâvC†ý³/:à oßHpÕ28ÞÛÖ2áò:›™’@^—ˆ8Y20¢|P·J)S!`·U¼\ÈJ9¦B&:A Ú!rdׇ•âsÉoÈtû ÇÔŸ[[I—œQWR’)ŸÊõa%ÉUuûŽ \ÛÏí’úJò¸Ô(\G|Ìíˆç)ÿïú>õ@ osö”!3å=´®ø§âCžŠ ¹ÙÉ@ô‡·Ž6ˆ ik~ÉÞ\zŠ )›ü–?¼Ó¥}ö¶æyòy›Übéû~í—?IÞ¢ßXÈ¿mØâ­÷ôÛ¬¿YÓ}¯¨Ù…zVàÿÿ®ÕïíR™ÿF×ê½Kõébü»¿ÝôuqØÎíC}³LpÝš)C¦m&ôãí zýñ!WczÛZ&tWº™’ÀuÇ¥¹"—f„\ž ²>(ej½…L0˜ªc·J9Uµf‚Áp˜2Åç’ß0pU¶>¸ªý¹µLBaÅIIš‹ïü°’\ç®ï˜Wy\¾’£¨ÒÍ”:â›ÕcÄ›xéƒ i2„†ve¢%‚!FZY¡ÔÀUã%—.ªùl“sÊÈJ—®ªmÍ3 šVüÀ÷\Ÿ ~@|©0«1Ô\sæELâ ýæ[uÐ_ª“ýË®ðïïa^R}^RýGþk/©ÎÉ—/Mk Å j9sÍ!E‰u{Ž•n­h[óÊí&—Æ6óónæónæÏÖÁû?tœþÇž¿Ç`û¿£wúèâ fãh­¤ÓoLdÍ»\ûÌ­á!З÷ aÉqjM§ÿÈ Þ4:í¢ì çÝv<8ucI™|~ål†R^ ¥¿Ñ^ì"2D¬(vó°D-9!{ÿÖqÜÇÜŽKÚÇNÃÚ ­öÝÈÙ85ãwã¸|Hyž=JlóL¿n¹ue žöæç÷íˆ#˜d<è©O”ØæËŠº¤%·®®0e“_t°wºõ¤ ²mSÀÓxXÚØ¬¸—•4·F<ʬ¹ÂÌ.nÍ‘åp«„ý@yöj†ú+TáüjF_U¶Y:M2¹Ø®p®½{ðͰ±eã²,>nžòÂæXM»JÚ9³x·+¬zSP\•Óä9–ê£ðAa"Þóà$+ž÷–XÒÇþv*ÛA¶â ¬ëG¶J]ÝÉÌÊ †”ö±n^øƒ^¹œ’¬|9DZ~SpZ2º}¬ÝhÁ&™†÷…øùÂñðóµïK‡¡2Kp)Ä¾à ¼(JÃÜx§nC88iTPêdñ,#8Úž&5ÆÃ\¿ú¹`Á,T§IqõÍü˶:”ŒÌUR]|êd L/u•V–Ô±úÈ8åÈŠˆÊîJ(ÅoNô£û„Å—_[â_’(”.'H;ºÓb>w1”Rv¶!DÕ}J5V¬6„ž÷O(õ– ™S|ò 3kŸM0¼7úa(ÕÙC“1xœF¥‚Z¦è;‘s ©ô;=Á,Lù­äbi°*&Wx¬ØTûªj¾èíÅÁ‰‰7ú ‡þ’`hY„Ÿ'‰ƒ³PºN4ÁÙÁ•5ǰűxêÂÞ²í¥Âû};âá‚ ¡GÁvcÖ]÷Ñ ­C̶Áœ)Ý~s˜;V…«ZAŽ2žNYã\ªrÉÖÑ*¨e³â~˜Í­õð#šq‹NÎwG7ùûÕì´âž ¥n•¥¡y°.F8Eñäb|=s~Ä~ãmIf\ç.æšjHK#7¶î.­òE¶­yÁKk¶lÈÿ{o–$Iodé>ÇbBÄ0Ù°ÿÝÐ3¨Â<v“UuÙd1D2]ý|ð°àPH;=¹4Å/.B|F%Û¶èûÛ,xø`⚸õ@ØÕÍ€F¨.tc[ì™°!ÅzÔñ`ûÔÿ§^V<ânwqéÚ‹¶ëß],T’Kç~m/VcÞGiŠŽ›™”ª¯®n…££E(…!Žl¢z½þ”ë]ŒëšIý<‡?0õÞ)ýOÞf±ïÈŒ'£LÀŸ eÅbG Ø%!Š›ÁWlÀPÕû¹b‚–¨wž«l0*]­X§áàÑÁŸÀ“6Å­Ñ÷y°r0é‹×¹»ÃŸB“å™zùôÙ8æùS²}Ÿiv(‘QÜÑÂ5…à×ë+ú9z±0€ˆ˜Ôá‹'#5µe&Áì`ƒ]asB£5|厨6¶æÈCw±Ý¥žœ:–7þÉ2Iy€N”âax#ž¥Èà‹6‚=•mc¶ŒÞš¶ÔǰJ×4¶D+gí9øÁáÚÆÒ™.¾i\¹ü½ôÒšµ¯äÒÀVþNzû}Œ’+Û)¿‘QèxŬt”ÊxÌdü}ìÃHã¡ÜM2t½8e"ëĹÉ$kkKi™û&] ÐÀç¸gnÓ1J²£à=´Oë5̈*ª°åß·âï[ñ÷­øÏ{+FƒfbÎxpª²ãžeÍ#¿B-€[‡Çèµ[q¼UïâÒè Ž·îãP æòê‹P‘磿ªá(n½‡;·öù$—ÖqG•û‹KA\cãÒ>Nóã}çÒ’[Çô¸½˜[3nDòÔƒ]\ɭï|m¼4\·“—öµJ¾¶òÅÇíó:0"­8¼~gKn ÅênQþiVÏZœ÷ZéæÖñ*ƒk’~—ÛÑ«Î<õñÁ¥µ=d­ðÛŽ‰BQZÞ|á/kÉ%†ŒqƒJbåõ·Úv88E j›¼£ñVéÒ§Îß6¹Þ+™¾½gT+¦‡ñwË÷¡Œ ¼x¿¸`N*Ä,H…~£åûmÆºØ ¥ºq™RÂI5+ÃaMŸBr&µ¹P~ü.ÐÅÈÈ$N¸ÇñS(j‰Ï!&ñóனO!ôÝ-1‰háÜþ$BÝÕ)XH¢ !&=C)tŽ­Í6ô‰5M¶Å¤Æp–ç .o¶âžŽdžÓ“ô<Øšë¹ÑUÓeõÞDkçÜ¨Š°Î©ñ(q“Q4¯í¶!NöR Å¿á§QäÁL‘ˆèPe³r!³BV&´zý’Ê[q–VvG^΂Zç‡WËV÷¬`×ÍXQR­‰/-ÜgLgy¶kæD%·V¹ZV<šBhˆ[/6­ÒšOÎÐ(^:ÖA ¼}É/ýÍFЧ"šgæ#¶ý8ã;ªHÑsaÂèwó'ÉÄj¡^)µ° ©ÞÇdÈÃÖ>°]¼ÈôI£)ß§ºs[Á(8TôX(ÅLêá¼·Ÿ¿ÄÄ,ò¹?“ñ­í4*Ì ¾l’Þ J TËãñg2uè(M*Š&[h™;M «¦že“33è×Û¯à’kx±%ô=Ê$\Çž¶Ø‚BÏÊ ÿ2¯#/`B*ý þ<ª'CMUq2„MKeJÅ-e±OB*L½Ôg¢†‡^)Q˜?iÖ†üL#8cz \"&{‘NN ü^¥^¿”ÒVPfÈbÁÜpaH<;iµuA)c Ž©¡cià^·>è4‘\þÚOqëAíâÒŠ+‘Üúà„†äÒqµã2·îš”\º«7¹4‹ÚQ·ww´Ñ»ÿ§ä¿8Ü´Ê€…ïÝaD1Øåo= ˈB%—ÍR·îwË2E ‹;ŒìE½Ü'y©+Ô69»Å*]ïQÖ|1/`ê¥^LÐ1¦äÒønympx»«ÍÖœ Å¥½ÜžùÄ»¨Ò¥}.5Y®*nÿ¼_˜Çªcˆ—xT­ñ‚x¶Œ#ž×òãšû÷ÎPy umtí² b)3uÇë¥Ëò“å)¦#DU#¦ÚGÅ}hŒbàN +ÎaVP)„æAÙ+k>èv=)£Ëa²AS=È¿4†Q¸5až½–\óOk Ùš/-fžziB½ìýüõvn¯o5¢%—Õ®ç<žwÞš²âMÍskøôÍšÇíç(~»9nˆ·åé÷i“Ó× Òå{ðq<ÅÌÚ¸»‹c__³lò…1³J—þ<s7–fc}óT½?sko×<5;«Ò&?ê…÷!ï :¦Žä»ÞŸZÛ —9ð+ïŠI¬»BüZDÏkWOv2 ÌmÌ?¢àßzGÜkÞ å+¿…´âÑǦQ(pë!¿…´æGO.=½&™lr£gºµÆÓÓšk|=¹µüò|t~ѱ½Ÿ§õ!?së·_ׯ©âmŽäÖá‰?†äÔð¢Ó8;oÅ;Ã~:[ŽÌ«c˜œ ƒÅÜϤ’î1’JŽ[3ìE)Ñ×w'•DÝù¢’˜ÈèV˜2ÉñŸÃŸBx-™QL̦à§Óñ&1KÁ¹ô ÍëÃvF…J›œa•.­Wi“«•—éÒ˜à87«ñïyëzÛšsX²¸µ.QÃÂöqŽÐo,™' šŠá||f¹ ñm“ØE‰øÉZTZóEÌäÖ‹oZÞ­ÑŠDcoH"äˆbñ;™ø³ˆ/9¨©GA#WÙäòÿÊtµ›–Í.pl® e¦[?ìK+®ÅU’[7.^ÖüT€¹5ǰñ›±]âè„«½¹uçwóÔº.É¥}þyëtË4ƒ¼ög­ý8k8Ó;“G'ä¢3 ýyµ2YZs-¹›\:|áQ$›|ªëtë“•Š´æ|H.}ªóßvçèYÙÒ¡ûþ|Ü>¿È¸ûùXc˜xû½5êM}ãÒ4¹‹[7Õ°’SÇ(ä9mL'# åÓŽbO½Ëó™…|{~›2¿M™ß¦Ì¿GSæö²µ†šVÖØí¶¸Ú±¥ÄhÓwië—ÏñþE¬ÝõñEûùckNh–‘©”^ÝMÑsØÉÁj®ÝV_¼îÛÍ%Û2Á {í¶ú¢”¦ÕÝ2ÁàØu×Lñ¹ä/ ´8ËöE‹ÇüÅÖœù¦ìª…ß¼„ÛýZÔí|%y™úÉ©%Qê¸|%-æö>âãª#Žš%Ö]›^_Íëªm6¸Cw˜[/­«–ÖÜë©™KŸZ=Æ6¹VÉtéË«Îyý5q.1Ø*!Áy?ü˜ø‚!Ž–—Y^L&“’äõþí0ø—ì0øëëoÿ¿WÇÿ[ͺ¿·9÷¶þÝÞ£­ƒâû€[JÚþ2 _ŸÆ’ˆD…yJ´Éá ±ÿ Á1þøâïÇÆ*U¾¥$hZŸ,ÊÉ‹-5¬ç†¨\ðYÉ/J|ÍV‚V銖ê‹RâÍíýL0ÀR_óÙ¾dŠÏ%a0ôZ«/M¯Ý?·–I‡_²™dK«Eþ´­„É—oþ@:u¢Í#ò5l^X5SèX׫8–›‹©l^´›ù±úèiRçÀ+ÖFðÁ{Õ ïÊÛÆ+™:êf…AFkÃ6SËLmª¬ï+ ¦Æ»6"œÆ‹Õܺ.ñJ_ã?¿¯îŸÖÇöÛÍðÛÍðÛÍ𿬛á·ô/ÙŠ¼=5Ï3r5E6§ÐŠŸ!vœn·è|ÊšZàÏ\úâæ~ ÿÛ+ÿ¾…¿-ûÿ·£wÿÄÚgj<­l71­y„y9¶t鸺ç´1]ܨ¨TçrCµuáO'*úɹ—>¨¯ø "ðᨯœŸÍÀˆÙŒ<ËŸ?;°Ž¯ü ý–[`3³iŠnÇJ¸}Ü…6zÂï8^&˜(ͯ?wÍé8GüJ§ç«9 _#=îÔD\’Á6d¬©+cxbI¥‹²”Ó¥¢º¦ 9¥°PôÄÒ$‡¡Tg4ÁÎ@ã *…bp–nïsãÖsé¨#Ï3±äÍ:Ÿ©dŒkœWRI?›¿¬?!~þâK(mrÎr¯té8 <«²É»²°Ó¥ãìWYsŸðÃx.¨Õ£–Ê¿[µRköKrφ‰Z^/k~]¨ö&·¾8q¸¬x<èQþ˜[cd~•MÙqnéÒQ9Œ2ß6¹ýâ.uœŸg^9–Eù)¹•×e /´ñœF…¿÷v~¬1*KW%ïZ‹åX&¬/Íîd0„²æ—³¸ux|¯ÍšÇåo—Æ\ã§ìƽ¢‘Ó©.SÚã–>¸”š­ù±ôwæÒÊVe͵ÿäÔÎn*­¢  ŸýCŸ7&}ð;\ð'Hô4-~çò$6fÑåVIT\ÍŸBýàêá`˘ñÓ¨ï)±ªÂPc[ý mÃçüH(…m…¿z¼ÃfQvbxŠJN6ÅŒ-‡ aË¡uXq\¬ÝÉQÐ&!Êw,/K$šZvöݤæÎ’JêPPÑxõ£š VVµ%þùo”²öï£ã¯Ìõ(Êé <ôÚŸ6å"×ÜZE5âŸÎs{fõ,&/ ›ÏŽŸ>[¨nGìQœÒÇa¤l—Ü>éÎjnÏÜZÓš;|”¹t“[«mr¹³fºµÜZÓšËÍ5¹µÂLåù8ŒÖzŸ§õ¥°RæÖ—Ý\Í¥O»¹:Þ¬ô)wÖävo•»«­¸ÂÏúyt… Oª^Š~ºvà§¢Ÿݯ7Gp|WznÅߪàBŸX¢‹Ð ha¥Ë»àª¯ók±ëF\Ûï­£¹úÆ¥®í.n*ÇØ8õCÇoÓsxn¯D¾õœ¡üçóÄçí·Óë·Óë·Óë·Óë·ÓëŸßéõ?ÕÑðÛyöÛyö¯Òy¶8åøV¤õ&Y㘀ÝîJ¶vÀq[óçT¸4Vmøíêùíêùíêùíêùíêùíêùíêù§wõ°"²ê‰ÉÑŸ!#ÿ(ì¥Þ¡ä7¼Ô§ádëûøíÜøÏî܈Y77_8´—æÚÔ§Ä/מ@ÀiÉe“ÿäêŸò.“)Š…ï»§‰mc¹Ì£JK|iëÏýøŽºó<€ÃáîEF}QJÜh”ÉN0è8è{û’):½ú…@3h¤„½Ñâ‰:qÌžì´ù^­°åÏåÐ:šhÀYŽ7¶Ô¬aãMîX2ÿ…1£ˆ¯ço¸"þüd[ó¦dæÖ÷žVÜÛÿíûíûíûës7’JƒÙ¶¾%uQ=;¢ÈB‰ýRVÜÈ­jÓñg‡XÂçÕ#öüÙ#&„ÝýŸºé®I.ªµÂ²“îÒ:eßÃXG†ÝþU?×(óÝ]cëîŠ0Ii>;Áœ*™RÄ–ˆ¼&û²ÔÕ$üîKî³×Ü­¦¾6A÷ÚëV¬JmµÂx]güGz ³ ¤ªÍ~Ð×^%ôUù§öNž 'S»£ÝÜxž¢–è¸:–qÊ›5ÕßΕÎϞʭÿpëPÜú‘Ï/öÛ¡¡Ò›rc~qJ<4÷ÜÓâN›üÆ#•É”·äýox¹5ÖAÓŠ¯“uOsëˆ+W>­xÔþ4mÜz8xR~É÷"å/þ|›9%Úh(ò5'µ¹óÚ¬ùÉ:hZóõ‘n=XÍKkÞ?Ò¥m½s½Ò?yê“'’ܺ^GäÖ|yÅ»åF70^»+¢)ý’ïw6_ÒÑ2¸³öçÊ ¨¥7%œ’ûý/Ž=¨®R÷L÷èoŒ|ޱº:«Êî:Ћû;jð¿hÔà·?ø·?ø·?øß¦?ø×•ñוñ_¥Ïõjl˵x¾«Z#öfär-«¼-Ý:¢‡É™rç÷LßJ¹\†Œ¨U åôëùÛcøëùÛ©õÛ©õÛ©õëùOt‰¼ô]´‹£}aÅ£à¨dɨ„Гrƒó°_%üñ"Bš<ú¸DÆÝEŸIŒ=D‘ÏÎí‹S"–4âÆ:Á€Ý&÷þeKÁ+{ÿ"ýuü’).j1ê‰u§›£¸9ŽŸfó•fu¾mtC®ã½³´-é©Õ@¢1ÓÓæ¯~®Bn!Fm'ÛÑp–#µB¬ôü­•Ω#ëë‡:ü)ÏÅcF¡ãÓ鱑ˌk ²ð\OBhަø«2Q·q?´7dž—›¸‹KG@_ôÚ˜KGàáhç%—fPݧ¸5‹©í”¾ayó4u´ºìVáùûl0Dg`W1ŠŽªE¼‹ówÑ6XfK ~¿âkÜ쟳‹µµºÆ4‚V*#´ò¡;Œ4Oúà9ûR^tx¤Ò~ãø¨ÝG_/VŞ͊GPü¹¥[GŸôÓ6+}ÌñŠ5·ö"Û¦D“ë{l QÞdJcGvýÂà`¯nZñè;Vœ!Øä÷GºõÉô´æë#ÝZ=ñQ'’5Ó?¹t”‚q"æÖ.N’K»PšòÖ*§Wȃ,=R媊Ñp*‰–o8±ÁcÈ×9 r£N©Ýê8"·  r“+À`wy%äFR»ÕqÔßjc1œñ<õ>ª»Î»üG³ãÖP; ôE ·\NŒ¥9¼p—-œÃ·å¥·•­ñA„ w)Tt’¯¨9èShì)%Êhü~ÿ[£ 1Ñ•BqFÐh|èWñøüˆþˆŸW<¾GàˆÇŸD ±Í½áuya dù$ε¯„.CŒaDÔU4Á±[Â;"“ŠN‘iA(õ ³RŒâá÷“}t}[‘šbCöP…ùxŠ[c¹_tÔG¬üð Ç lQÌ›gT}Û¢?{{XD¦‰mxle½eA*ûiÈè':”tè¥;‹§€õQM‰iiȰ+ºG*&™A`œ”½Þ,q/ ‚½JMdC©èÒº Ri›qçjwo(¥?ÐÙø<¢Ç¨ ÕÏã5„RºÕ†Pº!ðc7>å:njӊ£z¶¥[ÇÐØÓ6+ŽegVqëî…ðê‹RšÆS3ÁࢩRänX¿ ¨ó²Izãu%“ôz%J-¼‰lç+MŠY9âæaKzSI—ÂY,²Œ¥l~^1Hz£Û¼i/‡ÀØ”pîˆû›u£5E7ß7=©¤7%œ;â~ó¸èæ|ò,ý¤ê èÍ’o ]îWMo¯¿ë{b{}ïß¼òüß®æùímŽÿn5oÀM¤ÿC㈵zÝ¢WßìUÅ×ÏßÍ(ÁW;ʰNx5-ÔÞÕ“¨çþPñð8¶tëéýñæ­©ç_\úf˜žÊÖ¼øl÷èäË3_®õŽ}¿…]Ix½¯~efÁÀÿû;YInuKެ¢üÂV¥Am&PÔœ2µ#0‰…_ì2}“|Ëëˆ)õjìÒ‹J†0òD2‰÷ûì¯ßÏH2ƒˆ0ôê÷CïKO‹À`›íêÁÚ8É¥uýØæï®wºu4îv{÷¿ÞŽy ©Å°drér¹¸Äj®ÓhÉË‚‡SŠFþÀ­chlÞ›?8ZŸ\^ýL[ÜÇïtïõ…Ò^ÈsŸÛIž"óظ4ú£Ï²æ§úŸÍ­Wû~Ýx½bF?ïKûø"4vÚqžp87kƒ\{ºõÍÂ7­xôóÞ­¸uTÚçµYñèW¾ÎâÖËÓ°mW.êƒ|jný™Ÿ“+ßû:Á£Dý÷÷vý¬}}ƒ?QŸUßø»>«)&ïúlª>Ëgð£>û‚RúÕDY ¨\p]µ¹9^â()ßM£?Û5Uâ¶É"ï¿Qù¯õ)úMù}bœøliw|Ýïä UDÄXü­ýY?¸Öųĥ<éúšÜ:ìUûý/Ö§|Kþ¬×ð ^›w5éUuzÕ­þÞšˆó…òF»Ú?£~2蟬gÏ#PŠÙ·Ÿ…ºwvE{ÖÔþ‘>÷²Á6ŽûxëàÖ«éwÿ¯j%ÿ ¥¬+l{Eóÿ^ò¾«yªî•ÂWEñU‘|U1_ÕνVº×V÷ ì«0wîúx |¾–öçŒo•b_ŒM{îÅQýT+൤’QQŠ—¨)e,Lž#¦’q|­~œz½ã¥;¼¸GçxðW]ÀZ{²¢ÝÞ”F¥IÔ'mEÛ×±¥Y5ù¥Ò6ÍU¯h;§9EaÈ­!,éO…伊I½“4\ ïdT—Òb™¨ð¤ %¾T¡m“ßÒN¿ßéóã÷Q;BM/ ÝÈCáèÎa?9yŽâ©×›§þ¹×áÙ\ÚÛÏý˜‡KÖµ¥[Ç_ÛqYû¸£P¿9 4àÀÇ»6+evԈͭc1½Ø^ZóxI=·ÖõH+îëgž×¿§ö+«Þ³¬x ç®QÜΦp´5ÿi¤ŽKGïÔdÉ8û$®g,„™hnvçp$ÜÒNù¡¾ß<|ŸãA6·¾âþ÷ÍŠGXêg·öq¦÷ùDaüp,h§ž³•MÞy™.î\Çܬ®ÇçuðßùwÑý§q;žU{ÒÒõA¸ÁTá„q¤êð 󟯅מö #8QHJEÇáÜÍÊâÆP %Ñ€Ïj´f”‡°hUmCƒõJ[ñ-¾ðâO×ñš5ï±¶—‹§î(Ým‹·Z)+÷’‡S{Bbʘ—Óë,éäž›J _š“Mû §ÒØ>¨­ñÅ ¨SSâ }1bÞuŒ·ž\:šˆ¯‹'Íc½·‹:ÔÐE»Ðr-æb<_w1Šx:’IéÐ¥t¶ñXùµY! åI2 æLeÞÌØÈµ‘§b †¢©±N†º¸uÔ§1Žk^𮏵µ¦G-:Hîmû橹¾<õ~œ­–wÁw)l¯¬Ü®»ô•µW.üjFÆa$ym†pÒÙXPê§Ð˜ùIÄ*‘˜Ä8vƒ¾%úrõ2„~þ2†5e¥QÙE8' J:xQ¡0|ž¾p‚V–® °¤ü™Y©sÚ˜qúáÍMÝœ¤ã-SâÕÛ“Ju‘ˆJbÊÎ]”Rÿ;É-‹UhA¨©~2*œsLÁøÉ2XÌ{~aA„ecxp.Ò¤.”W2á<òÀYzŒ+àÂRÁ©äÁîcMÔ½îJݹZÅCܦŠÃ6¤ÒºÂÜøçÜŠ ”öBW;&›zQ0}h¬¼ÚFqiôƒÛï¥á?^²æÒ }‡Ûï¥ÃFñºá.Wš^”2¦©Â59™T'ídTpÖO– ]Ëu(óÉ#BG(JÇÎ lôäÊ.<… ©¸i~ MUʹSŠXœ¶ùêxfËk£•y)² b)£ŸÖ Ú“ ,n°ÜÈP¯8~ m“+h%^šcÓJ7·Ž<É+û¤âßè®Y>yêñæÒ|¢ïäÖÞ~YóÉÉiÉ¥oÖ?’[û¸£(¾èCŠ[´ Û³YóG½»æÒ±lI;Ë&?ùÎtëë‹ËÁØŠûú™çõ?>ŽSû†øu—M~òzdºõPo¹­x´GÆÆ­;ë…*©\DEõùÁoöÌ%—Æ:ëgÙäj#•.­Ý¦5×áép\ü²ÀÍ’i/Á~þ¥½_š‚yû}Ô~{,þU{,~[T¿-ªÿðÕ}ìæ=ÙÅVÔ=_túmîü+4w~+ÒÿQé—Æm þÔÖbößIO„ÎàyA-Æþ;«N£âõ[¥ú­RýV©~«Tÿ‚Uªø ÆË"`EooÃxš­yÄSˆBÑÜ: îk·âQ´wqéð.„Û«lñ÷Ø>/ŒEp¥Ù'Ç7㎙[çÍ­}>É¥uÜQyÀþ––˦~ˆ©LÐ>NóŽ˜F“8¢òb+ž¿·öö|ߢby”j(·>p}“§>qýŠK;Dý¨1ŠÆx8Ò:5 l ¯[…½˜*3¡£N‰à³¶ât.*¾æÖyeÉ'óC<Ɉ¯ô“†ÛÂõÙù9뺚[ûº{{¹ý…a’²âÞž¹u”4ϵYs—¯{ž÷÷Ûýi€þû4I0÷ç¢KF´f£‡'IÖ¡DOú9FIoíôäÒáq^¿-ñÿ¬–x8ÅL.7d==5¹§«þd^\ÙGÕfO‡Žl­Hº ‚¾ñ¨Èì釯îÊÅQÞj‚r{Zó‡Ÿ\z;nØäš&œéÖ>oÛ¨^¯ë@+[ÏvþÖhÈŸ›Ýø3Þé;61-“9ùTö_‰ªïSÖ<:iøJgíôäÒÞŸžjxA/5ðûέ{zP§¾y½“K«ô¸é¯“â#Üo„4› ÓOcy B©pRøiÇÙÆAFZÔ²Ž½,ù‰Z|^C_³ÐqÍSwŒV—Ž— ´·þÜOj§ëÚåqéw¿f¿ ÿR ýŠ0d mæ ýˆ5ô³Å´É£VzméÖ'[EiÅc:X¼ïÌ­Ÿ†Ú­y ËÜ·Ž9×f7­â=}0àFLçÊãöùEke?Ok ‹=—^Œ3ŸÜ:¦iÁ•×\sKîâÖ‡¿~;u~;uþ'¦F);7e³¦Ç1mr>†•n}áq,+®Ç0¹utª¬Ýšó1,nÍDZìÆÇx§CóqÍãöùéñLn­Ç³¸´ÏäÖz<‹KëñLn­Ç5­øEɨM®MôÜ•Ü,Û꿃ſMÔÿ¨Áâˆ4o¡­“õÇ:7+>8™(¹uôĬݚ³m\\:Ê ¹Ùä£Êª¹ë‰ÃÊn_ôaïçcÝ„¸*.öQ/.ŽOÜ“±"ÈCrj„ÚÂ83£9]×±¬¸®_rk]DzæêƒHî> ^Ç´Éyý*Ýš×±¬ùÂu-n½4‹Éç£óÓuMn­ëZ\Ú×Õ\Ú—UXÒÕ”R—XÆ7âäu÷õÏ?%ÿ\ÿߨÞuÍQÅ1δµp­.Ab(æ/ÚÂn.#ÚxA(mú¯Ö‚Ù@þ;ZÆ{ë÷ƒ½ÍyB×ÞHw[°qáA©†WYá¦åu‹ï`löÀÅz¾QJ×” ÂÓóý£¦„åç‡Ûá§ŒðÌõ딋›™JuÔ]6HµÃTßíÛG goý¶ŒÿW´ŒÑSÌêm.¿›È±oî’‚;Ž•;bóQ•Œ siå²â±v¦E‹[GÌî8©´æA¯‹K¯ëm§~¿ݼ¾8%"§ŸcK0¨4¿8%–¸ö?äQ ªGŽg¯³J.½Ã¹Í8{ü¾×¾é{½·oíýæUô5ñeÎÒË%ecᚘú˜ü¹­q„3?¶dj¾Bδŵ¤w¦Kß\¾%šLßWýÝ<õÉ`úÉ­nÏïðý¿H—@6#Oôª½[ä£Ýþ×mg«wóôÝ‚ý‹VjµìZö¯dYRäB® T¸V e?´¡y§~o &ƒv¨h9.…%­~‡êkpÈÒöbá`ôD/?#ãŸKðAõÍà¿ê8ø«îƒ½ßÀ} Ùï-ýd¬º{R»/¤Nİ”\: ‘¶ÿ^ú@ÎÛûc¾šä{¿J”¼¸™±í°PÏÖÝD½¯¯þ H”0m£Ê'£Ÿêí¯ú›ý`ŸýeŸýfM´­éÏ^¥ÿ{wR¼ Nžà…½_a¶æ³é…k.ýÓÜF™o›üä«&Ó­ûÛÆò$'»+T¡Î/J‰—Ì9¶ƒ|–ê‹RŽÅ÷d=m~Pc1¡ó¨³Ï³6—Ž%¯âEjžúæ Õ:±Æ‹<ª+ë,žZ‰äÖ_ÜÉ¥¶ýÚ¾µ÷›WÏ×D—9 —iÍWTú`¯gbê›ËL&–ŽÜ¿oZ:޶׎©/ V%;$’«‡Ý|™ïü>ÿü½µ6w¾ëÏC‹‘5¾ë“[ksÉ­µû—~Ê¿³¿&O[—%2È9²¬{uôF ˆÁõE=r·I4êˆ£Û ìE)'#¥É4<.ê•êe GÖ?Î_M´ÁÊ.4ð>6-Š˜EQé2¾«Ïg;èäj¡&·F¯Þ,»Ø7äßuÕye>¨å³ÃǨk¢Î© >a×2Oká<Ð7]¼…:TqøkÇ=MN>íhRÚN9 b_ÿÍ;ΩOÍÀa¶Å'º+igêwú,=ÑÚ¨Ã|7_ÿ}zÖњƲÙOuG„Žù±ñÝ<õ`wF^¦M{x°Ï¼¬yâÖèRݸ5ã’­< ¼$¾ÆÅðçi‰'Úw3±õŒ%üým“w´÷æÃ†Jº…mÌÑÉ­;O"¹õ8ÔŠ·F¿úö{ëÁ{T\:|¥Ã¿ÞÜúâ¯äÖÌ·o¿ßuVöyFþ‹í{?yþ39J•wJ~Ö·Ê~}¥u=}³|wÐlz[ªËØ2ÞOÝqKä룰¤²{¼0±œZgoŽËKcÉs¾(¥ck?¢YöjÓè—ÚŠdIÍ绤ÞJlç!籃ý€y3ð^é™AH¿3 ñ•VàjSÉ)G šXN@ÍD,ƒžv~yå‡íÇ¢¸ qTÆ”Ÿ‡‘<ª¼Ñ¯mn=Ëí*ÛÙnÊßݪ†¿·~×±³7MØèmÛ.Öˆ°ðQTÇ‘Ö'!IÍ­cp§•5oX0çÞ¸5gÊØ×ðõbmÀr<Ì`q‚¬‚²9¡£Ü9š7+I¶É}”ª'y¯Ú¼O*þlðU‹Ëj.ÝNNïI.ÍÖÔ³qj´¢žK7ű,N±à“Só&íÛ¹ucä.²œ©OڇǛÜújUv·ÆPk߸tck5¹uc·Â›Gz⼓[ãfâÖó}œ/U‡è~Â{¬£U”û1·ŽkýœÅ­z2—Ž_ÄMNÍÒçNnBkÔv¬£9¡2¦t–Âìç†^Ì(ËKÆ5Q[2– _¥è´ñ&%cLyÂ’Ú£èÔlr?R’˜³· KNz˜$–œì y=—ý)û‰Õ‚KöÓ}Ã.%»Ô¥®R?hʃˆ±$VÀîUrKF©Ÿ±ä^ ŸŒ8Ò=ñJKKÚc¢Á(.ÝQêi“O›N·¾Tèȩ́÷æ(`>=ùtñ)ÈÒÈ¥Õd'xd¯VCGÖCŸB mFNí½ÇØ}p–ŸCÂÜòéŸå¯5áa°’Xí•xÀÆ]Ö|²Î—Üz5V\Í­OÖÅÒâÁ]l¿V–Ú7B‰•ê$‡" ‹JNŽÆ™Jêä¢ñÞÀh5>˜*k¿‰Gðäh’5Ú"ñZOoÒëN[üÆ|„¬ôÙu½*ÿÖXkk|Xs|rkƒIGn´­Q!cBqÖÅ¥ûû÷©;«ŸÅ¥ÑÈiž†ùûñ¿tÔ÷¼?]ï§#þù]×Å×I¼4ÿ>ïƒîK]ÿ ¬¾ôzTŒ¢BžŒ"ž0þŽ6a)>G´ÆQh>³’S_˜ÁäÌ•™)&§ÅÓŽõb€Kb¹'Òx¶04kLY;†Ï‹ • d:e^¶*|~æÖ<‘(Qá;šbX Ý* ž¸g¶‰F(*Ù:N³oV¼uì?¹µž*Ó‡ÝÛÆ’?ÿï™Æ¾Y•j9à(–O|Y %w[>¹Ûöl§jåûw½ý¸F_ýùÝ!P€=ã fkŽÚÿ=‹KcÔMZY^ƒ?6£KÃKR#–+ÛÊ]®Ë»æ·‘zi¬ ¼\JcǶéh(°…c. ß‘m(Ø:z¯Úîo/=Þ#¤/‹©íæÙŸ¬Ý'?_ûE&stꢓïÛQntö£çjæQËÆ_bKm×X‡±½\$ñrïwÎÈwŽÊ•zÎ';9NöiD±‡“¬qWÝÉÖó¦¶5W×Irw¥¨k&³Š³ÒI§"•§,qùfømKý¶¥~ÛR¿m©ÿù¶T;Ô°.纇7mñ!WW§CŸaÒn|<ë•>伊Õ˜þ'5ÛÛ’ŸoTÜúÔº eÁ£÷>Š[ãñï/ËuKãüVqk ž›Šolnñxñ—ahý¸õÔßoÜ×Û<¯?ïÓ?ÜöíÃ]EÁˆ6Ý…í¦M~cÿ•.=Oî×6ù…ãªtéX/´Ï²É'Ã~eºõ­0U¶Å±øá–a½bM…ìó0Ùs!s”˜£Ò%D-ÃbåØÍ’ßÈÅ­ožáfÁ£¼Vqë¦+¸Yp_éöqåu‡þ;½1b00RÒ·Q÷#­yôl`ÞQ§ÿ¼u¦‹[϶Té}FiT‹Ã‚R—Ji@DÐÃ#> ¼´ó||üÂ)±”;¾ÇëQ óÇ.ø]vÎØë‡’ø)„úÜ…ÿ6ÖB¤g ‚ålKÔ9·ZŒ"".ÄXŒÌÄÚ诿%Ò)¥i’Ü1Ó©¢vòø%|lQ9C­e2 {¿ç"íÌ0îè²2·Š˜ÖœÞÅ¥§ãFÈ&oŒo‘éÖƒq.ÒnS&¶ôÁÁ ÄÁÈóÑùµù>Ok„KŠ[òJ®.=xEŒäÖ ^U÷Æ©é)kÞƒÙùqfu|²)×ñPóUüa5]©OÓ8ùöGáNlÙû‹RyˆWMfÎ/SP—^žt§<¦¡ÔÒH0¡”‡‰u8˜æ£#æ'I4çŽ<“øÞ_ÊF¬sÚàÏaŸtç@pÊ._òÃGÓ“A0üCš ž¯¿%BLªeFiþ]t#FQ½=ù·áƒb>ØKÓU£pplÓTÓŠcNÔ,n}sL»¬¹¦Ù&—ŽAÛ¹ÙäôɪtkM·M»q¯étE±`È2ŸÎï\ïó±>5ý6¹t”i«·^:¾äÒ“^?É­=²i+~Éõ·y­µÊJ⼿¿o¼ÿÐ7B· ezè‡Ê´Åo¶Ò_–qJmw>žõJ§V\ÔxsE;z ZT+7K~±:™Üúbµr³à¨ðÅ­ýw 7æZÅ­£¡5Η¿º<·Žø·èF±¿ýwâÖ·þ~³à¾ÞæyýyŸ~ßÿßèº8ÿîR ŽbJvã쬨thÍ@N»qLÞÒ©¼Co6j£Ïü‰• ø ¸ JEüÅ~l& –®ej‰¦8·ÍvµóúulÜ:šgm³âp¼‹[×flV<†d¶vŒÒ]¿Yp_cskÝ›ß×èï5úO{þå û¿üz|½Ï_ïøW% \ø8ýB> ±½óI›üZ\ÿÊéÖ««aÔß¼=Ö<¸4¼Ë¯ß·ÁÿÆ·Bö+t=5ÀekŽÐ[ºôCÇCÓ“•zû»Ê6¼*0p„é-«lr¹ðfº4\†ÍÊEwrFDZsôÏÝ·æ(J ç#¨Ñ‹ ±úæÜ1âÓ?YT Q{r ©bJÆk;ÜîÉžàäֺɥ}Ú1É1u¸wçì×Cß ;ZÜz xBòÔödžt3ÆœOÎÆi¤¿ü;qëí¸`7ŽãŠ x£?oW ÄW$ùÇí3÷ñ™¯ãÈßkÿ˜û=7níý‰ûúîÙ+ö-™`Oý½Yó‡õŽäÒñ i£lrŸŸÓÏ?® ¯‚¦ ¶i&÷3ŠéŒDüŽÌn‚ï˜o‚ïQ;ò†ôýÙv‡ï˜ùA€¯ÊEähåïS¡ÔÒÅ%”Â"¾—¡TŒéûqH…:Ò0”rR´bñH#8è½A:ÍqŠMÂx²xá’͹]Rý€s9^ÛX gË Î1ƒ3“³¡ÃmA,ô¢¡ü9F™jóғIݘò¬¿…{nÞ†¾& ¥¢ÈÉÏDcm)#ãdб58”ݦ¥ôÓY ÛÂbŸ˜â¥bÛ<¹5p¯²ÉR¢Ò¥†eHkŽYH³¸õÍG«)jêcoCï×fÍÔLŠKk0íÎçŽóÕy¶)/‘ºšžfÎ)^òJn­ã6ÏóàñÅnTÚ8mㆽ^tÊMHØ£‡iLÓ]•Ø2J„3]]u½…óòÃè(›\%~ž?ƒ'`R(eöü¼x—ç2“Ž|„ô<ñqÁä¢(8öªŒl+æ8^ô ïâ©O¡xœïV ® œ¼™ˆ‡Ô^‰–ßšFŒ¬€þÜ«ôÝò¸Œ%£ª‡.˜¦ƒs’pž%býÔO%u=ê xÌžžÇàc:å¶ÀÍÞa¯‰÷@?sqåò(NÜô“wV«!ÉòÎÝj"Q¿ÿÎ?^hòSg{‰IDÑûø“(.C¼ À$~^B¨㓨ÑqMG÷°_'`CèØ6¢–(îÇfÍñänÜ:žÞÞÊÆ}BgÌÇvÌá x¢d÷b/!JÌ17k®7Jré“ÁóÒ&¿ÐqSéÖ7Ï3zšÜ^0y¬Å¥Oº’¼ùª"ÿÅ[¾:f$ãL¶„Pk'¤ŠG!¥‡ oè3!• Ù˜‰^åïJéT^«,GIw0ïô…»¢¾¹ða¿¸Üs6ð§,zè%· nêgAKNf3.ÍZòÎ;g¥°EL,©ý-vé5uåD³?º3Ѷ[צ¶oÌ­½cjß>µKÒŠ7½YÍ­½´ây:>ïWÇÕµ¾uÄP@|Û(~ÌÜZ^ôæ©=…ÙÜšhLvˆYJh\½²âè¸ß¸5º}޲É/8gVºtž‡lrÖ#[xõyä>âÉ­umÌSë|’ûü0@±1{ðÕˆuÎÒš_ /žœºŽKí€ä c •nÍãmç£î3†~Á¸2‚Rˆ[G{fö²ÉuÜ™îóàñ¡ }sb jã˜Ð7kîÆ§¹'¶Ü¨§M®×}¦Kæ•Ýùs¾Ó¾òQÁ°g-vì#¶‹mòתҩ½Ü^rî/Ÿ#?÷‹BeÅã·{ºõu¨ŸC6¹¶‘éÒ7ûHÒ&÷y:½¿Ï÷çÕ´ØqÄÎ’¸§2dk!¾ž˜ÔDï¢àɾÇȹ£úÿÅ :¼cLdáè’Èe÷Oó×$¾òhtd<ô“ï)äéŽQ¾ÓŒ.‚ïÚÃPÛ‹3ö~žËÕ“AðÏ…(´—páz÷ÏE޼gŸ‹•Á¥G¼lá”™P IŸBoS2Š‹­Ák®·↠‚Fti´Ý9?8Hrr!¨—Ãs3­xŒ’ KCÜúÖTHÛõNWgV&ªRA{Ó#6í¥ÊEU‹pºtD_›ÍßÑ{¨¸u'û¹–çP#;Ñ2¶Œè// 5éy!²bå°w¹—!„c‹³ÔÏ™IÄ´Ì2d!J&õónoXµiC©ŸG?¦òÈžœ"zjBj&K^hBø\tºQ ÖYKéŠRñjEæR\ÿ<žÖ¸Å0m&R5N‘+ ª{`(‰Aüc³ÂòCà1äN3ÏðÐR2û%¶Dt&]qÓ'tD×Cœ½±å‰ŽgcK_Yš˜ÌÉcr:aYñèŘ£¸uÞ!ß@qßH,¿0áÁ7 ÐÞ\/äÖZeÍÙÁZ\ºq"mòÎB¦[k{Zó¸QÇÆ¥;#$¤MNçÔJ—þ¼žæºîz•Qù Õ}Þ²Áµ•4{ÉvŒímÕXjG¥„L¢µí­FóBü޳1|#±íοŽòaú·ük",LÙ“YÄ;*_U€zclï/¿?]yÃñåYó¼9ÀÜ8·§±|;ô)¤õ|ļÀÒ˯l:@ñ%×ÞÿÅ6 Œ%ô•aî:É&âøÐSLêjrÚäà-{å5ueÍㄞ[ë`úrL({Æêéî/ÍÐÇÛï¥1Є˜xæÔèŽN9séhÀÂO<¹üO¢'>z¸“Kcõú}êA‚ä»nµ=Ÿwwðv¥½=ò^×5¯£øK¯ºÉ¾éy}¹ ÆŠ16¹œHȱ¿„TÔïeКyå?"eÐüãæpíÅG´8žgÊñäØmí“1—öAßîÜ‘ÖuÉÁÛÜzÒÁÛ<õMïäÖŠ¾:¯èð­²Á6ù“`L—Îã’M®ãê‰Eô®‡ƒýجùÇÅO®í%ÿ8޼)ºð矷öþÄ}}÷L÷ÝCî¼]ݶæSßæÖçW®òܶßù<ÌSëºôÓ¾½]ðfÑ—t™QÄ”—.ÄïýáKÎÜ£ EWß{çÛ„ß×¶;|—ßy|åN±½4N=„RëÈÙyã°š£r|ª(8g+8Èä6S±KžF'V*nÍ ©t’AðRæ­Ô-Böé~Rë1ž.xòå||U)è"Òo挰½êeˆ¥lpí9oh`æ >5¦)6ìáïÿMÜÂñú;#Dã3£à|=~:þ:É,0ÕH/þ‚Ï+íá~à%qkþ {:Ÿ(QI产(% Õ$ç˜%¥Ä_m´ä¤ñ±à°‡ÞpæÖ£ëw|"_n PÊ'™¼—k‡¾ú$úÎCÒýп#/LÏ«5~o^Ñëà"ÚJtK<ôI·G~ÇÛ*:¹2Ýb#kû+’èâºLð=ÚD?²Ã¾/It—]œûÓ†Ó«A&‚v>ôEþ9Á¨:s}kÀTÑÏö°Õ™ê§ž¤4›‚?7~K uÃåA³>f|©Ën½i[:t—§‚mþîÒÂ1æ¥cQ'­3ÒuYôæÀxgšÒ¿†ë’%”Ò•°I›ŽB¡?PámrmΆR ;bCˆ’ê4”B,¿2„:AŸºi~eìðf‡SÔìl…:ï‹RŒÙÚ(öØ›Øù½Þé7_¢Ñ3’6yלD§KG7ó5Ë&¯›™ÂLYj¨™ ÇðŸúöÏíç§^ÛÑIbJ÷F)}Ítd:’É~bcI­ìꕯz |‡öé›[û2š_nlcí .‘ƒþfÅô;üI„¶É“ÀÂl^y¡•37èí6æZC*tÞ—¡þk!ÿ8üÀ@¶7)k‰ûIÍ3o¡¶‚ñ±ó½!,Þ“Œâ}Œ‚|WJéð²´lìwmÝLbUR[ ïÕLB9N ‚…y¹]ú®" æË‡>(t9g:ºdÖa6Ø÷òüºwøÌWYŸÅžÞ9xÛŒ#/ª2G˜#¯}^ôVÏÇsSEp¿ë)õÓ¨W_ð‡gï _Êš¶W8Cß?I›½*8ýS¾¨vÿtpÛ:œvæË3©$rE/J9è'žD©ã†¶O«Ý^Èk¾pjŒ,ì\¯¨ãQÕçÖÔ©£xZsu5$·^êS’í](Û1ǵh¥û£‘ ñL7—c]¦K#ˆÄf“h8]z©«%íƒA48 bC6ùI'¶L—þc„Ã\s2ÝzÒ÷ùê_ßý+¾ÑŒöb»þâ,V êJ —„oŒ¡júÉÃâ IÇÆ¥‡z´Ì­»c“§æ˜`‚]n*3†±ŸÔXƒû+Îew;‚ÝÛ&ÏSö U]Š(lÙ‹ÿ}Ì4‚Ï‚éIÁ»C$ÁûÆtý¥nØb÷ÉXô3‰!5ôô$·žœÝŸÖœ¥Å¥cf_hÛ亙nÝQ*[—‘k˜Š[%½Þ¼¤÷âÖo~Q#þxœï¢Ì©¾[óÉÂ2¹õ;3˜zëÎ#’KÜíõ>¨¼º 'Ç@ÓšGùlÜ«#­ÍŠßÌéÉ­c"@tɦ5¿èò›Ü𢬸C¯ºäÖaç|[p:õDÏ$“F13ÕÙt¿í`Ï^ôÝ'·+WÁ´]Ä\AÙÜ:®Ù±Yq¹¿‹[/z”5÷}2—Îû¥LåÌ‚1׫¸5†êÎ*$T(0×`ìíÂô),kÁy4i.ôåŠQ éL†)†FZ±Ð UÑã6´lŽ¡oo°?6aŠà gmDÒo’´;G'Á–.Ǽ‰Xªìð€™DWؼSU€sÖ‘ú´.z˜ŒW)®G1ª¥pCe÷õ‰NB~ M¾ÝÉ$b†‚?›z——4ö2•ì£f?—çàu„tìüzaŽETrÙq78á} A8J›I0wØ`WØÆa†uèÂѬ[ó®Ù;Xœø.íôäÔ;.d’ò(Å3BS‰ó"bßÇȱYŽýçª>·¬µ’ï—üÉ kÅMaýQm]|“—žªPÙ&?UÛwºu¹RÑš¬Ê%—_K›œý6•n}HoîYWy>>Õ§ÇøôÆ­£%ƒ¾'[q„︋[_|ó•¿9û(¹õÍ 0eÍíMknm¯ÏͦWç£FýÛŠI·ƒ*/ Îx'Å­'ï¶Ñ‡Š~æÒñ]qÔa“ÓɽҭoÍN´÷}2Ïû¦ûѧî«ï/[Åç;˜§V~p'çÐ8mtóâülÍІâÖ|\lDÑ:(l™%ìcvÞö)5euaI=¯~öõ°3ðÇmœòäLQcË“¾‰%^µžV·RUŽ>Ô‡EOnI6ùÓ­µ •ö,ÙõPyêÒÈ»2·ö&Ùý…pvB8ršdQgÉ”‰òAUh’ýœe¥´|Ep3Þ§õnÓK —†/Õ"8¦·cpòtƒZs7\§Òn¶›5¹áJ·ñU«Üí¿›ê3—>8Á¥þŽ=-p5‹N äÒ}Ê]W69=¸+]z°¬I›¼1+fºõÃŽÃx6™ªi ÕȘ€§¡U‚uXy…”=þÜyØñ±¡íôÞU‚ãi·Šxd•¶¥[æ+Cÿs+æêLC|#Ìf¶vº¹õ¤szrkÎ0yqkà›÷‡ŽÃü¹¼×ë2{pÙL@\ …ªýVì>‚˜£û̲™_å[áß¾Ÿ}S{#üÇÞg#}ÃQþÁBëQ÷ùÆš’¶æŒÆPܺaWeÍä’âÔÑÞûÆÀÆÑj$$ˆu‰1Tæƒx|ý…Onû¢”óB°…J0ˆˆ Ïþg\ʱ'œ“OX%DÍãß™ à››ö¾—F³4‚€ÝÌ*aÏãmUèà­¹õÙñ¢¬ùÐ0º¹µ÷ok®ãqÊ5 ¡œvúXªŠ—ÉÍ Ò¾àhA,§Üí~PÊ…&` üdKC)¶ÑGsÒï:\ØÊx,çFi)(¥¾#A5†!ã:Âo-*PXµï‹¡­ ÜõDè­¼þ¼.œÊ¸1ĺ¹è ö$¤Ò¦Õ·ŠÕP¢À§DÌŠóâ¥TÀ Zñyºè}«š>h6‚ì12”¢K‚MÁ1ö´‘ûónõ“E¡^azwéX udÜ­ÿœ§§ 6Žù:“òiòòðÊET¢$ñýD(Ð"ß ‹r%‚ˆÏ6vÓ8ÃÜÎkÎd|‡ë:øðÍ\ïÌ,ÝYÜs@ÚÃãôÄ ÑPõÉ.K2©ÉŒc¤ÃeÎŒb«£aâ¾F؈ËPêFýs%µ<ñ~y.qFèéi˜o›x°‚–ÉÖ*YÓn£i[úIo«oôhóòñòx¢åÊlðg>ãš>Œñ:ŒÔÍ9>³®3ù+¯ÇÐl= ÷—ÖPÓ mö„Œ£ž1*&™A )òUËͯ¿^Èüo-Ô4ÏVs>ÿXÈ\sâ3ÝZ1²´ü‰Z^[ÁT~”µÂ¯øÇBÿ³ ÿŒ¯÷Â?Òÿr ÿ踢;òŸ²ðnÜ?¼ð3ÌçÂ?·æyÚŠGßÕµŠ[.ü“Üç÷¹ð® ¼ßþ(; ¥øŒJéÅg¨w#¦qí/»7”Ò°´P†ö ‹%ÈëõèóËýxÍŸ@×À»…„BëÙ€å›*^eG¶©Ø]†¥á€hÁ _^§Á8?ôâŒPÔ\ÍUPÛ4Ò†å.Éé".„—ÈX+‚Å,ÚÉI#ÇVfÓQûËkõs_(èG©B­¹&܈ÿšpÛVÈ^Ð×AÕkâu‡&;&/.Û¡i˜'Ü” %1÷øI*Oº$H%áey¥DüÍ«¨$ÆêÇ©×û0^º³£í9ÏÎIVôÀbTN£êt-I+Jn§Y¡36­=¿¯ÇǾЄÄÜþpµ’%ý©œF÷‡™Ôû8IO†5£âÙ±Óã+"ð†Ó-åMCˆñc9P<©Ðn)HAgþytH´ÜƒŒàÃû1jLâÖËqïV<<|ç]Ü:j‘Ïܬù‰¼WÜ:ºòÖÛ‚ß¼yuþp7·Ž®¶x;¦5Ÿ¨·Ì«iÅã^Î[Ÿ¬e–÷ódžÏ—ž§ÆÁ¥¨¨uLE6¶Œ&y¯[_Ͼ‰”|^OJí€Ø1þb¾Erê?H­óÛáÿ:ŠKc¯UaÍã½·›:h•v1ÀœÃ~2bÏ×])|VmĦ›:‰J8Ë×,{Q°²¼×+µŸ3†e®öïô˜œi¬ìíWp_ùô;Òo˜x9¨¸Áaîúj›!œ'«„R±d}~ñÍ.&1ŽÝD‡1ç,÷2‡]nPë£1ìlÊ)ê@/²¡”4ä`16½8ì4Šê£B2É’ògf¥ÂŸ”Æ [Eïw܉ðT·EС͂‡O±q뛾šiŽ‹¹õE_DzærgHn­‰ÇiÅÃ_5†šÌSËïUÙ–+gœ´w{Û“½¼üo.ç=жÉ·éÖñÊ›5—¯sò'ýxQJØ&/^¦Û—ç‡2(ŠP,|sÑÎñæÖkã©ÏÛ×+Ú²˜èÒTjÉ&§¯d¥S#¸BNÐ×þ3ÝúÒø {C¸È–Îy´²ÉÇGúxçOm‡>´êmiµ}k΋s6—n^€)95]ÌžâҜкý^.Kç «'á{;HÊè8 JiŽ`^k]iý1mó7T¨ç%K¥µª}àóÉ㇠, ÿ®Î…#àB)–Š›æ§ÐT,î”bb¡{BO4˜uÅ®æeY¿{ä,¥õÁú8&¨0fñËâZ…ß­‹¯™è}—ñ^ÁLt…©£¼Ä¦’ò@LJ §©óEcl”!h ¡&ƒº‰Q¡g²ÿ’×yx·O =••Õ}[³Ès‘ÈG¶i™c.ß¾¸ à“Ö/Ów®É}³=_VNµÄ,V[üÔ%¯ ·<:m…ã_OQJL±Õ`(,ñù {8¢ãø;ÃlY±Ëcû~Ô2‚?—.‚TÓPlè}ÿ¹`ܨÚ4UÌÎ '­’0±²HŸBFÀÄ(¢Â×ô)ã=ã³Ð.ð§>gîï„7øÏ+ëF½o'éfR^ïZ–ô™\…‹L*£/ÓûþóÏóqÓ­gw`ãP’X)®Ëà¬õÀ'Ý ó­»¡”²šÏi`„óg³WeY*^8Lßr%ºÕènÊ1üâ”pê{öƒ™ëãËC·38®d‚A¸ÌÐ?íùL91Ò†‘ŽkÖñÕq)!vZ¥˜ ¶C:Š-/˜Iÿ+ÛL¸1JÒ*%Ad7¬/eë„p­AÈR%XGÆÄt*[sÃ&·~ð(”½äEÔ8´#nfº7»q„!ÝÒ¡ãb,^ÉéßZ–‚WË òª8%/¨J=ócw6†p9ˆ¦Ç}¤Zœfgj9àÓ`“tà}•©–ÃŽ¶¤FÀúAKî8¥b†KêY5¶Ô“íÞƒaäX¬Í¾çïñ€c#þÜÅå¿ï‚'—/”ºá´_m».y…%uD¦>@‘®¹~«-=|Üô zô|ŠZæÓùüñØò)Å‹&Ó¹fN´Žˆ,àâ{é…$áw` –Üýĸgç á²]Þ2‚ámQiTááˆYÆ0†E‡Ó¨àuœfƒ?7nK{†Ï ŸF:/]6¿”óz¹À©ˆ™^R~+úÃ^ð»Ò0¼ƒÚü÷4µÄ„ˆ¹Ùäã+#‚ÎMÇns²æá"¡nqkøvaÕ¦ÎÚD´…"êf6†< §é”t4ïó\Ž7ÁÐtÝ7¤Š:ý: ­x,‚RÚ-†œrH»3¼Îeͱ¦ÆÚ¸4Þ‹wYwƒ|nÇsÀ·íH?\Ù†3?0’vmÛzoÚ»ò¥×%‡/lÿ°LýyJâ>õûÖöÒ äÛ}'·Fˆ¨c·âeVrk¯ú›Öüd@ìäÒX=jÕñdÖÓq'÷ùй¡¸´&v×yI_œR\úâµ(.­ë‘×3÷û>.ÞºŸlzžú$91–BÂï½3PN|’ ŽŠq|ß‘غXÛ5ÒµIžºcê&_/M¾·{cî{ê{ÌZtäìëx—PÔóˆ%âk˧‡ðwnU›“Ë"„-Q°-or°õðuøqÖ£Þ5w‹1aUE®5Åp[á[½›eù¸–›‰²£ïiRºêQbcÁÛoÔÐWó'üì†DÔèf/#¨q³‹-ËS柋´ÉûGzi7iûë’?Þ×&Vø“;>ÛµG~Mö“IÄ{ÆŸˆ×ôþK¡Æå>:\H°ŠWç¥Sˆ¯õE {$¶<û°eH¹NË4¶Ä|©^Fô9Ãá($O,`Ã)[Ô2Ôõ^èkgÑÎÂJn=9-¹õbm'yj•ÿÜ›Ç;Ûn¬cS/.ÝÛ—Vüæ´;ÿL×$bæsiç!\Wdè>2_„B^0´¢çpô­ü©(~J}¸# 5¾ÞðàÌÏCE<–Ñv@ Ò/‹³ùÓQÃU‚„ßïØ‚>AEøý§”¿’ _@„}œâ§Hœ0Ng£ãÀQÒ4åP© kYeK¥PI‰õ]ü ÒwD´Ü¿ï‰ûßFP!º§%©%L‰=nøP%dìfÐó “Rtº‹G ¸&ñS$¼)Íñ=|Ÿjü:6Öö”†Rà,“,û* q|8d&S0º*­Ë{RƒrÑÂÁ$ùN×V¼óm‹wø£W:õI_•´æKó1‡CÓ©Óu(8lröœWºõÃú_Zq·yžïá%‰óóëè§ž#àƒó†TŸÇg¬Ó@”=ñ7XûHH¥°ª†T:A÷¬-Æ–Šž>7êd°KA)t'\ ¥x‹Cúso:áࢽŽÓ½Ž å}â*F×úÍhß7×Wh=àD¾0”zÇ|oSÐè†Ç‡”0g˜ñs;¿1Áå1e6xѯgãÔÑóëd.qO“‡nôû3?‚á§¾0Ý‘SÓâòó¶âlH¾¹&z#{Ó'É@㗄ߣ£äÐ' ¢Šè;{ c áäYŒ\Ša·â1È·ÎâÖð-[›5Ÿ\\8¹´°Mk~1>irë‹oÓÆåÚgkž…û~¬=¯Ëš/orë¯V4}N5J[àXÂ3­ø`ŒÔäÖƒž®eÍ´Ó\z.x‹¦M~qºF¦K‡çñyoÖç¡ãÇò¬‹v·#ÖÎi»5àYZ\:ªJZšp* øÉX¶ÉS7x–}Þ¿K+ÃÆáY€ ›?ÅÆýç½"å°E2¨‡]2dñüV’ÔgvwO<ꢒγùløY 'oYrô>a9%rk¬Ÿú¬ÍŠ7æåäÖáâà…Àï±ñy¬¸5=ªóxt-±î)Ær}œÖÊ É­užþû¼7‹÷ÚÜÚÛ˼¥<ã¼ižšy“nQ88ò9.~~%bx23 .œ`ƒ€3ýõ·BaøòÍéË,ŠQ!`ðHHAVA)æÁTs©”8À$¤Š(5õwRíጒÃ=9¡º¦41k+çÆ¨5"ÿøi°Vfå{#z©šÞù™è-XæüþùT‘²îeFÅg‘ òäeãËËñ‡N­§~'f1èLëwR„õåÝâ÷˜»‰ð»^qñó™o3ÞknŠ/°<-€*£Ã÷Á\´Q™m'†006Ó¬Ð}Ja˜# ¡m¼ø€G§¡Ÿ2<-mù¬R¡Àe…ÖˆL-«þóÏ$‡g&; ±HZ£{çWzIª—¾8W«`[çVÄS7ÙškIn_ž¯.— ¯vŒGÁé•qÕ.–‚RšÃH(¥k/(¥M{cCƒn¥‚RÜ´¯Îvæ³S-É¥K¥Å°4´íŸ¯TƒY*<ã[AÁö|iî.VÝ jð×Ò§Pç"Mª³¡A ïü–F°_{šT?_FµÀŸKº}v¹²ÞfœûWΣòùÀ)\gM¥¸ž´ ¡6F&ÁM걃mô:)©NÿUA):ÃJéÒä)ÿÁsph}qýÝß7<[M%£Lo½,1"'­¤’ðâ|FÙ¸8•ª+¯eg9=˜~€6«u³wõy"¤_‹$ ›Ï¶¾÷§þ‘D‰×Eø=¦]ú$áà¾Çø÷©O’ègZt‚â(Ð…:Âêɨ뉟pk‰*•~‘ÖaÊ·ti48Zî{>á¦QŽ«³×1N\ù™Çvêü+ƒ]w1 ÅU©9w ˆ/1 yTëoñV¸Ù Þl1ïHh…%ìe±ZÒ*˜ ÷_vÇW{'_uÑÐuDm|_­¹YqÔ¯Wqk¸¸ö·½¤'&}>rÄ‘Œ&E;§dldS{a²Ïlä¯ÂÎ5dªŸŽœ‘Žä֘ɾ[¼-Ÿ?¶c>®ëµkDBˆQŠhÌ\õwS±Ò&?8LÞ1ŠaítsïÇÛwº÷3¸aqé8÷µmÏzrz`òMwEا‹ë·[¾é÷­äﱎÛv?¬#\T\¿âÔ¾+€·0ïg»+À¶xÜúGµ«•:ÓÅ­?ï## ݬõº>Öú‹Ñ/séhkîùÂÚû #Óî{±`4N¸²‘It,6\ªúõ·Dó”Å$âeüÔîùWf2³¦”K.‹$mZeÞ²ˆòÐn+%­ýw<žˆ&Nøn“•2<7楣‹ÞXò^/*ysš9ö7Ú†÷‘ÜZ¥™y–n,µ*¯0Ïa)ŸgçÔQjcJurê|Åp$ŽïȆ²Ÿ„ß;œkù¢Å÷^ýž|èòFE~3èã=M›|1RH¦[ߨ`•_ «äÖˆ¸[ó…ŠUq묲æ*\Å­/TÀò¸}~‘÷ó´ŽJ"‰˜K#—]Å­5\\:Í»¸tÇz„OÚäˆ`õ¨Rôê×Þ_Zí<ó¥¦7zÍh=ªÔp©‚¾¯+ß³Y)Q%%ú{69Ô¥ëª[Ûï­ÆŽInA÷Æ›†µOøÍ™[c¡¢¨nŽ“ÑæVÔ'Qñecz J¡C´ŒÂ~Ã3Ä*bIL}ÝG!Eï°4ì§ÊÃwK#8Õj°Ú&(#Ø1]ØP*<\zÂp ¥çL%•DV¾[F÷E~’a½•nj…¨Þù)†¢=Ó¬nà6¢šçbly"ОMÒx¡mVèˆ ®Lƒ[ëO’K¶‡“[c}´Kw:È$·Fõè..Ý1£¸5ôEl.Í’ýÍí]·siØÐÊ_ÊQÈ\Õ†¾fz’ë“«ý˜IÀC7Íyž­q’ >‰ž‡¯ƒË‹Òü{ù“sâEøý@„¼‡‹Ù‰÷2èÒˆ°%–hH“ôæ$ŽÉá—¾ÕUŸ±ö¿»¶v¾®õq•5WùÜ+>®·g–û 쵓!˜‘†/ªSO+ß^|5M®rœáýKCîÁiÚŸÜ·ØÖ¼h”ÙàbЂy&”ân¥´m #+“Mræõ¦Öv§êV̶S(6R)ã :#—:{ÇiŒÚ…¢3ÒòdÀÖ¼Ó£,¹õžaæï¨*4®¥u{Œù Q|î”Ç„ÕÝ£ í‡þ°•MÞÑ™TéÒ'3QZó%o‚!ÏDëÅ‘ÁâÖª|¸¤wá‘E¼l*ôC*.Ý9™vã¸ý[:´÷›•ÿ.ŽïظµŽûÖ$zŠYhŠçuÓõÍë¢óÕõÀ6ŽÈܼ“ç‘Pª¡î(hņ›ó>ã ~vxÓ_ÇPŠ[1”Òþôwf~ùd/úL J¹¬(ðÂpª¡ÃQ\\óy)Z.É|ŸúΜKÂïÊ¿‰ ØO&±8LbM >p§|¨Ü ¾î¿àwýiƒOƒGÍ1G¶q=U(KÍùý‚[?A°}|åðïµu¬:På«.#úmoлХ¬)²ÈþHW#³Z‰˜QˆuBĈBäÀU âÄ5! ”‹BŤÉ#)%=ï‰%Ùº|(Û˜,#F-™–bb! ½¶¢Uá'mRµŒ*(¥Fr0H…åšÎt6á[çáHEĺŢœÆãO¡x8¸‡)¡”…â¤R4zp“¯Ì¡Ðv ûÅ FÆ¥ȳǀz;Ù¬FÓU+Ã&ïlÿdº4–eÍ;x“[ǵè÷fÕü0+â5ŠâRúQ‡ðÎçÊlÖÙCQ “§~èNŸ'íí6†gÂz€Nš4•r&–1»5_Y\±í#o‡3ƨÇyFŒ"üòãá«ï»ä»hní»¹_ÍíªâJßìøèC«¢¿„Æ4êó­°%BŸ•!ÅRR½[âÕ……²/Þ{#¦qÜQ‰R1oëÓˆ¡:”BÁ"wìKà nnPŒÛZ_œáPܚͼ:1ëÁhû ßwžpÓ0›ò“ò‘„žV1=¦º‘ÑE1Î{»ººâ©§.uT, O_=” ÷:„X‚C×ãO¡Žuâ1ÓÌB)Åj yL·c1ûÀoÊó”G*íQP »¼9:ºÒïSqâ3Àƒ•, øýAxK}¹SõÛŸÃÞ\œIÝï:Ü=ݨ—r—Úï´¨, <×–ŸiØZßþJàA/*¿ÿ<–?´Ì=—¼_¨SòS/hN!š 僎¥Æ°Gbœu„;)$±ÿ%…¶éͨ‰ÀfئÎSófž –²4¤‚—‹_¸û:pTÚ]É»FØ5Ùh¡uÖ°ØÝa+ž?¯êqàD;þ޵qVyŠK/V­Ò&ç|³J·¾1VõÎݾt«D(bö¦ÖÐ슗ͭð¯‹[O¾ÌSóÕòâSVã—ÉçX1~‚¹õÒ¬kNž¼£S{ Öd,‰Þ³Y×|¿Å]Q¯íwuKn=Ôtk»i5ß°•!Í¿"¶ô1Ùˆæ®u>?64M©XDé“ûÍ$ЦÇí»p¢MåÅ»°%'f%–ô™ ç‰ó”” Tš)v/™Tæzs`.ÎKsùÒŠGH5Ìù·Æ* c³æNîqb®z6yç¸y¦[«ã;íÆûýNïš¿4æv>:?Ïñ3·Æ\Êí÷Ö1X#sé(ñ´l,—J’ê¸ONý°ëKÆóãg¾à”9+ôÖð+ê7 Áo‚ß0¿aþž0ÿÀ°/uŠp è¹Ó˜b±Ç vírÀ 51åùDóÆîmrîÑ•Fp¼Ò¤ÖËÜõç„(%»¡Ôà«ÓFp ÓÙPŠ+¥1‘ ¯5<†ÑÅQ2‰˜á¬‚“Óœ€ô}¡Tá§Ñ÷¼R(ƆùYHçÀˆÅ9¹2Dw#^Yº†çè“F± ©ÞÕðx¥Ii`cPβfoFÓŠcbõ]Üz°71mò®¢ËéÖ$I‹ Õ¼³Y–MnÏg§KŸ¼Ii“«pÌtë Ç=dô˜¬žç­óIn]ø®1û°ßðâ ‚‘ÁWY69kÌu<Ò™.n}Ó›&­9æbÅ¥1à×X¶øä0A¦K7pÉ&W³)Ó¥5à–6ùÉ{”éÒCÍ!߯¼ÿºßð׿í`Õì{”!DÁ“P*"]ùs,áüÝ2‚š^,(…Å5 BíÅ‚€5ÆÌ(þ( 9tÇÒTå¢Ê›Ü"Øãà  Æ‹)惨âØFæ}C©FÏ }Ý eN&qqB« Jê×ß éâ‹éNð2{KèøF•îгœZA*L È“nõ7º''O]÷n&b< ¥ê îúÉ…jVÂTh)dÛí¤Yç¥V/(¥Ìýn=4£2¸2vòÔòUOnÍ–M.{s“[ûµmnÍœ†~Ù‰£‘Ûy”_ש”ó¥”Éø4é©`>Ð *ßL¸ž.ºT„ªCñŒð’e»b>Ø&ïïäÎŇÆUVødEÙTýÁ{›Û—gãÚI+ ƒf&¤:¯—QE£Ž«'ÄT†‚T'ÃkA6„öàåóX4Ÿ!”öW;ZkW¸:'‡u¢uО‘âî?®sÃrwÚâ½a™.ߌ²É›†T.õ 6ÊšŸìÓKn}Ê#­xœôXÅ­ãÑU%Pgàà¼56oˆS«¬LžÚÍ,qëͧöî=ø4¾°fÁ,ø°×–Œ"æ~ðƒ:®oÏc·âÅ”òyœ|þP< Æ1£ÀÖEð][zï±Ã1‚¨MY¨÷r±Ø ŸzÖ£mA_3,¤ú|ù=½r©亱«–Œ":|ëŠòjó‚RÚüݾÔóó¼êÀ+Ùĸ¿“¤.¼3lõŒ¾5°NæuÜÜ Ãkýq¬}ðð9y=–×f0Y]›× xrënm[q”9½¸õä(íÎõ–Èt¼M:¶˜TÈ~BL´5~ q½Î«õú<ü{ïÇÛµ,ØIùÍ'¹µ2„§¯përĨ¢²tàižòšg|ÞÁ$PONF1.g}±÷iÜ=5CäT‹f º‰[Ÿšdk~q†DrëG:[óx˜1_]Ü:^ çÁÊ)ŠîÃ/Ák³âƒÃ‚É­gSŸlr_¦û|užîÛ22ÕÆ©»žoñ]ÛïóFç›ßgžçÍQ7T\ÀŽˆ2„Xró¸L-ë dÍ›¦ºš[cü»•õ™úwá§ »ü}qL²§1<­à£uîi‚R²íÏÝ=ùèÞüá9Ò^Xì%ªHg©krÝ´„7³¢ŸŸ&šâŽxÑWÁ‡‘T©8™ÔÆKç9J;’1dTH§Qé;‡ß›þá |”jpž”ÒÁ úTx†:#ž ®*†² pÌ4Q`rm±Z´÷: JqšMBÞ§é¾½î¢îïVdèÈHZo¡¿ âLvLJépmyy*TuF‡O¶±/T™ÌÎ/fÊ“Ê21ùÿálš« ájÌý¢–˜“[Æôz§JêYÑWn8Æž ¨"£ˆÒ¾%‚øy ‡—Ò;¥Ã8Ãp>piª‰4‹¨êC€ÃwDü1½ùáD>ÞDüŽÉútAÅBˆ¬ÆÌÐi40 Žý+ ØDµMˆB)C†%OR4¸æá‚/ÖÒ4­7Ä¡¸Þh[ö+‰x€<_\\·˜t‰i*Zø 2gD4«ï‡Ýžð¬Š•ÍÐG”_œr!{{ŠÉy~~Y\º/,H}î_”+/G 3 àÐÇgè›Q»µX3&ÀD¹n»'|7µ£ü‹ߘ±²Y&t8ÖåÞRçœ`àðåd›ðE£ïtOÍä‹K‡ßÚxŠ[‡OâÆàÇB¤ïpu=t!*!ÁÇ_¤æcz4m£?]Ý\'<ÜBZ'侜R;×áÅâa߈‡©œT;QBFåßûÊR‡otJ »ÆÛ‚:ë&·^pð/kÎk]\:/„lòŸãˆ–X¦[ë”Ѳ|Ð×ñþÍ¥á8Ý·ßK£o¢¿ìª1ª¹´Cñí£—ü?6%º÷¾~[§dajtûÏSÇ–à雜:zr¾÷½JÇ{éû9Š[MϼOk?⬓¯÷á?W7{³óp“úÇëÜ©ÔzýtÑí~µ„Rçõ5kWR'#åRlÄÖ„v²cÔ¢®ÇzþŠô´£–­x8!£¸õ’#XÚâlUTzóÓ•d#TüT+Å|Ó\‘ýÖQuci/#¨€kãt_C×8FO(Cr“ÚÈAw!Aª‹5‰Q4~èäÔêmèší’þÉ¥AÍ­3£r|ˆ·p2”‚ ˜¦È¤.oÂ3ý½e.zgí†ût¡éBuŒì@ÿ¯åÍõÊ›TóúÍ›ÿì¼ùï^8þO=[oŽ2Ë|¼xÆ_¼xüÆáCí±2‚z*ýÜ"ËëSHOùµ=~zN®©Ù‚ƒïÃLº½©?ßÜ®q¼*$[ûxw¿zw¿xwûRðù“Ž™}˜>ê‚3‰`L±f{>¿/†Š ³ŠhºqÛH­"$ƒ?“12³Ó§ù¹Ôh?6ÖX¹SšÔ}¢<’I:Ë S%ч}$¶ô½2ö­ã•3Íø­*aø‡ø„y1LS­£`IZÚ0uG€ÏâÖ‹A“K#Ê]ßôÁ:²yZs.*W\ƒÿgÙK7$ÆÕ¸5¿Ø&+.“'{Ïœ2¹ì#¯„®ÑÔ 2 ^›P;7Z`O!£âÖÁ©’§¾Ñ¶(.ˆ†› TµšÆÁLXV¼ùwâÖy\¶æò‹Š £jR3;–5ÿ¸¶æ:¾äÏû8êšëZÇþú±mÇÚû÷=ßî1ÚAh>hßcnÖ|黹µ¢†¦÷y˜çùòº|ÖaP•p±SåMïÛøH¸‹=ìÙŒçe ’¦æÓÒ +¶4+¥ ZÝzŸjèbN ê4º÷Úš#l[ƒÿkŨ—orhì-MRîÛ‰R<-ÐI¿ø‹ï1O¬–ºPWØ Uq†R<׋îßëÛ¦gªÅ ‚R ¦$èÐJ‹×–P ¬ÝP ­ó™JSPŠÑGRI&í^wImט=iE':3‘òÑ€’ma¸øUêÔÈb#Ðnއ•ê`a]m5^ù'mqŸ‹Ó¡ó,¶|7®Êoºº.½¿‚c|iÄÿHe‘Í$ǦÃ÷2ܱ¿YSiÄø3'Iqœ–€X:|ÀWþ5¿sO˜¢ÎŸð ôýŠ+LÂï1)Ñ„ßÇÁ ¿èôŬ˜ð;™WIyí̼յ8ž|Ý1=cÛC²×ãbTñœ2 ×ÁjtŒ›&ø~!>±>ѽ½ÿÉ…’[†—ù‰IXüscp\>|w¦SdšcH?Q‹ {½L[tZ ×}aK,!ÝvÓ´ê§a["’Än˜Y»\éˆ-'©¤Åt´+±ä…i×Ü™&4Z Ÿj>ízD/9>›´á<)dèç6µ„§ÚÊ~ˆG)öôâÖð eÍ#oß[zjö࢛šõ¦o–Ã3݆њ–¡|l *¨ªÒpò:]š÷™ž †+>x­x€‚>\Kôx-Ö "ÙL ኘI´[Åë͇¶1DÁƒ•U*-ájCö0ʳŽü¹ã)ç÷;^ÎQ¡ç|ÁÑü‹%IYs:Ò—FÄ££lr¾ñ¡U§cöd%/¹õþ÷â©ãõ–ûÑvwÇQpkN…}ñÐÛv°?¬’³ø9·ã°†×ÏQÜÑov.…§cý­éøË7 ý ‘°È´¬¹âš—nróO+®¸œÉ­5Ѿ¬ùAGéäÔÑH…—ì‹Ç 5>þLö]z6.7鯭šŠK7F?N©ìYø:‹f¦VÈdÉ‹ÒFáÌÐÃu/O]Õ Q­~„1J»¬¬’8â{+üY¨'Ïtñ¸zè …à¬O!,AÈO¬¼ƒ_}O} EÇ? ˜YÉù]ã0Þî…,¤Ÿ{Ë„î !”ÂDùƒ]Ú¨iË1q1Î7§©^v犆œéМÁ_ÖüøH—îÊè¶ÉÕ=žéÒ¸ï.ûC-1޲8Ic.˜–Z6ñE§¢L–Ö‰¥5GY<Š[kLíeå§ÿJO}1KZ‡ÅpÏ!k.­!“äÖhâlÛ±ÖöèüçŽ©êŸ xí½o=ô|h•—N¶Ö½|ô&'0 îü¤!ŒkL #”RÖ”Tî,^íÚ{ãa(ÅÝ ú ¸‡˜†7—7±òó²³*©`áØ×ÓbÎGB©±²Ûs%DœÜï3ÓÞÐ*^ ¥º~ R=è3£Ø‹‘$1hi>•;(EFõöœþ$ê\5ˆßg=âS„õ{r~Gh³xçÑ¿üFo"ã@ßuÓ›3ýÎ/IˆÚcrkM8Õ;q±ÍÀæÛµYñhøDÐÜú¦jYqM!Ln­ó(«©†:,SëâËYÎÖœNAÅ¥ly”M®óÌtŸ·Î'jîÇ—çêôM´âM&ÌŒ|…¼ÎDG©w‰ßÈ, ª­‹¾”|1cXPN“¢£»àc§K@ª›cÀ2<Ž=íÀ —3Ï‘WrqX÷[sE€¯ŒÓs%¤šÕíÝCT;—¡T´:û•†PWBPJ'Ý5Mb©.ÌL[ 9üʈ8uÁ³³ðr§ã­O’¦yO ¶)…¬@7Õd,þXË„¸o滋 ñ&Âï+œ}ùN¢üŠQ\‚„‡ná÷˜@ß}t:pUÿypX¾èÙ â]¬¯‘Œâç²Ç“)“õ•›Óªh’2çfªåä,cËñ¥Îûgû¼+ÕrÈm#­9ç—îrL¶M~¨Žàô£ê®C .`®:²ë³¸]eÍ–m3tJÃãÞ¸5]4ôL=¯4¿hä@§Á¡×KP3›»°ô7ænË ­œ‹‡á¾áäÔœ,³ñÔ“ÍAñÒ,ÄòΟºÔ« É­sÿ²É}<7gSÕñv–9_±-™Oùi–Çjõ‘—E3÷.õì)Û~òÔœ—6¹²@¦Kfßze ,Ëzbü£ðMHÅËcè‹ÅË€hSYéAô³Î'?ó¸ò´&Ð'·>ŽNý¨z+,ùô7¥¼×‹J†¡ÂëDyžú÷ ÷ñ†óÇû wþ ½á<žö~ÙþïÃa í_¼áÌ[ÿxÃõÿ§o¸©ŽOø9p¢ z-’»SÕæÖðŸ|ØÑ/- œê`Mkîséh ·£lòGøjœœ`—û7·Î¿7ß¶‡PmÞ¶«)µ/¾ÄÏûÍ1Pàíøzøz©?¹5ÿ]¨¥¤“GÑ?ÒªAs°¥nnëü›Ý¸ûrŸí~è8òÉË7:ßnÉ­o:A¦M®ãÎtŸ‡ïùXóp©òYóøà©U#³5÷£inýùHg̓ì84È¡õ`±>t›eÍʘ{0fhf³ð¼5øBnÍè1s³æ|1—Žnc”M®A·aÒškð%¹m<8#›|r&÷¯Ašk¾ËÚe‡y–%*#ö2馇)^Ñ;×d>Ô®w~rž_v®5Ò9~~i=Ô /Ö ¥˜Í éÿWÕ áS~âéúæÃ%nd£K.™ÄúR´ ôLjÐ ¾÷i’6= J•DÙ:[.ÃȘú¿°åÁË—V|ªÓÜ::¡±‘­øPùfnÝ·NntJ›ËgÑ3²"55leÍ»Zp‡|笱fä½qj¬æÔ1U ª„Üæ9œiO¢‚RúsÆׇӨ¼ã c2'âªE|~P/.Ž€_£À¼õ)ÂÅ´öÆ®eŽ™fü!mæõ§>cžþ+ |w°uDÊ1·æXòÔ‹‚äÒê%Ïz©føhÌÁ\ºößÕÃj®ý³c¹+(^whK™¦—äÔ íà[rêíˆçIŸ3_‘M­•QêýÌ™æSvèµ§Çë“[/)H›ÜAëœný‘Åe•…Ç&ZK¸`™µ Jñòúbñ2¨ø™ÁÈp¸(? ‘7Ju†“D'ÉöÔê)Uˆâ.h×›[£è—>Î7·>Ž~‡îý®cÕA RÉw‹ŒâÒ0)žA>IzÆä[Ö"?ñí\¨Œ!H°ð‘Ô‘KáuGµ8;Z†0ƒœ4åÍ…hL#Ò9^6\ˆhp6÷+ ié!ñ Dw-=µí\³8=ùý焱² "ÆÒCë½ø4tÞ¥4׸ìÿܦ ZRÚ‚Ça¹$“à‚‡Ö8b†ŸÒ«âÐÆú8÷4”òÕJKôqký$q눈 ¨T^k…ë' ­Ÿ$n±fÛ¸õ¡õ’¼_ë¦õ’Ì7G÷¾úI)-ÁTòYZ&ŠÔR§5ühù½Æ+)j9ÚN¥à?þTÙ4t{’[¯ó30W`A¨„^êl ©ô Ä%áJPƒk.-.Ã$#Ê ‚ >ñSTøp‰( =åArÅ'¬àÔµ¢“¹´ÂÜÚG™çíœ\ ŠeXiw®åæÕÔ²€»é¢sÑ/ÄVúŽBÙVøŠ(X)ò˜Õ…ó4¤ºyeü“(žÞp^œr_ˆEâ¿›(êlÊí8úô|sé4¤Tsiržt ?ÔPWÝ:½[ÏâSsw¢» sš±nÓÓœQ¼Œ(þi¥ƒo£úQ» ¯™ÐíØÛeIÆÂHí“õÉŒïÈPø¶Å‰"#R´¿ø¹°Jj__ª˜¡¨H7´æêàæÒѧ4޲ÉÏrþûYð0²>äÚO,un'X»†iní*&ýaë–q¿ãË\7ë³—¡Ú³÷nn¬š!ú ©¢Z­i /†-ãá½Òˆ®ˆãw$¶ŒèpãL#zÞ 'lyòo7TuiÑ¿¬gû§¾`YföàZz.p]07Lëÿ­àÿëUð_bÿ«_b˜–ý,™ÿ¥_b>èÏ—ØÇKéV@ÛÏöB¦<+½`ÿhÌ(!›Gƒ’6›Sjn™g³ŒÍ¶?ß_fjÙ~¼Í­ÿ8³·óßý^åvÑÝÏck ¿u5~Áÿ¢1Lþn {³ŸmðÜÝ» þï×¢û­hükU4üFppLùÓ' ‹jÛø2tÈøøC í+…‚!¬øiÄÂG)*‰0Ÿ…ðFs ÿ³Lr ´§û^iµöŒ Ôð.ü4º°m¥@<˜¥ÏAµ÷?$Q@w~çY7Æ‘À;êÄHm¼ídcÊOA©Ÿ?ÿži ^{ˮӟ¼ <Ř\Œ…”è¢ñóãûJH…aø™ Kñ<ådû ʤ!T GPqA©Å•h­NDÛ0,¾1s•Ížë´š…˜篙œñ|M3‰pˆòU¤PŠ™ÕáÅp+¤ÐžA9¶÷™—9GGy¨ŠåWÆSÜSë7›ÜÓ§.}&^„׋î‚ë”éÒqûf“Óá¼Ò©8âI›¿{èå§÷‘/ži³«³’¥±\äQÖÜ‹I™§æÅƒ+e£Ã‚¿gœƒ{h·>ØQZÖœÃOÅ­Ü/¶ƒ:Á¹‡þ'?S3í|§›§>ycÃ'•®7u‰¶qéùÁgñ®EçèÛ }{ûÉkø;óÜ÷ï›\×C×!ßÛÕ„âÌÜëu_Ul+¯d.P¡¢‡Ñ:TdáÀ'kÏX6h¡Z”VXSH[cDì|Ù¦%C°UWDf¼;juø^_œ£iÏÚcÚ—í?Ì/Néˆ*?‘ß¿á«s£N?Ø-øÄz%‰)ï¥&g~QB¼·ç†¥Ï‡ï÷ú¢]ÃÄÒqÜQžïöµ§Ô)s ¾wX÷°vdÿ¬[›ò@ þuÚøu¾ñYG—wV.ÂçÜrFjÕI_œn¦h?ìüdkñæÖÊA¹]í7îWQª†ªë½*íX6ˆŒ#ðiÍY‰,N“"¦fêÂ=‘—H·×”.ôÒ8PjûT3#¢€9èÍbrDï F[œº/>øiÍåW˜ÜzªJ¾iXá'®ãÊýåq×ñ1ŽTqþžclÅ©á°vï¿§öupœìQ`ßçeŽÕ(ÛΩó¸ü´×ã±DÉ„“…Q%túT‚@fœÌo;øùEøcÄŠ7Ì´ðÎ8R93‰¦džŠÂû;ü좃ëddÆoLOͶDqk–qÅ·2/®*!w^â¥ç‹—žÊ&úsÞ”a_žK7÷ðf–5¥DÄ‚'Í¢wéÇ„§QI¸ñ+Ž@C+®yÆqf!@¥D´¤Ïú©þ’ÔÍV/,9¶ý¼qjôLÝÅS{xÅç´i:ñáRwõkéW×ÇÆ^´'´óâV^êgãy[Í//wß6Å,bjå+ÇÓyëê8+Oö1ì¯Ý›!+NÆ*»8{š„˜½‘i¡´¼ˆÌâ“èôéeOFGrÖstV§”ñ¤º;d¥x€†:\‹6†âd°UWPŠoJC©Åê– •B»ñ(=H*q^¹O)í SˆQt |mè~‘¼N‚Pêf»Û†PÕeA)M¶³!<Ùy¤+íëÞph‚V¯_Ji+œøüʼnvPèøîîê¶í©:½UmxÑáqW†kO&”Šñüƒes¯´´â¤NC*–M†Te8Óªç6Øây)‘fHñ'z1f ¥@DÀQ{s8ÂA¸ŠKyî™[OÌ㢜\å")¥Úªè¬g\9q/:y‘çµQÊÆ4’Rvt–'•ì̃I%×o-F+)¥ÎñfðÜî±¾œ6„ቻJé.øÏõÄJÁã93ëåé<ߣî‹ïÛs¨W^6yçSŸéÖ*ãÒš_ê(7§îŠÛm[¼óÅéÖ7”i‹3LM¥»ÎPm²9¹çªÔ²æ=Ýó§ö55©`ãÔ*›“o‹æÖ7ºßŠ[ë™Èíz¿]w[q¼˜¯âÖ˜ôÔ^–|q»yž:ŸoZq &ÎâÖÛ~h͵}_Oß]w¿Pà>®í ËÅa ­Á2f/kðµ"¹5ÝÓbU¹õõŠ&Ö<üA0¤in}À¥w?¯XþÑŽçñâÖº,³~…ïËT*œwÇ{KÜòÄBJÅ­uE’Kç™ëi=ª¼Q¶;ׄÄLG°Tñ¥Íßée›Üšîøi1O´}1Êß*›|²y›éÒ»=Óæï"ƒîÜš¨&GÎ}Œ¥‚}¶m:ä4£ˆrýÑ«tØFQw®â©éX\Ëê¶âÖáýs£ïîÔµÀŒuÝë´â—'níãJ+îã Oˆ¦ŠÔÉV÷P[œÖü#·›ûøÌ×Çqäï•ûc»ÑÔHníý‰çS*çÿÉÞq¼œãv=¼T–ZÖ$±dT½úL¼I8ñ9Û(; …ï?LòDÿ|ß©æú [Æ9HIñ¸¤É,ÖúŸ»{gbácµ|42(+ìDç™/˜³/™c7ùAÊWblú€ó*cÌÍšÓ¡µ¸µ2uZqgóÌdÊŒ Ýin(‚˜IÄ›îNÁx¹Dü>>;ÉÀäÜÞM+_µ!}§¯7ï—[êtLùBÊÁåXg (uê}@(µjŸP*¦8ÓP*æ>!ÈTÚäÀlrë…ùñÅ­OVC“[Ó1¯¸ôäRëÉ­cà]õ!\š%C£Í§îK¶éëÞþ>&ôÞµ´_ë¾ø†úÖ:_´æ“Ž‘Î9P¼*Ùî\ñq2=CÀ·²ÉªÅ ýø¿Ôjºj-ý£V£NûL—¾Ô±d›üP-ÆéÖ=k5ÈçT«cºUâ/N‰`Ý‘¥2Á óX}Q †sNîhíúy´™€µÜW%HÃqE—²Ûm ü¤³g¦K7÷m¹¯Ñüa†L—ÆУ¬9â5Ìâ©'"0lgäS&tÌPØtÂãµ#jü7zT41]Ö8—{F%[·Ðm³â~|Ì­õ¸Å2LƒÈ'¤;ï„Rܳ –k¼p¬ƒ­¦®ú˜lòC­$§[?j5ÉF+¶³ŠÁzŸ¬ù¸ÕJ2·nj5M¶nµf5qÔ´¡^jâ˜[ët’Kû°·÷BlgÛMàMêÇ3#“#a*öÒž:UB©µ´¶ï‘í¶#«DÉ¥ãõ+‡Ía§À‹C]ÞYlGXµ#†êå]íhZñË¿·Îã’MÞ¶vÃàpÐÉÒyÈ Ëõzòûoîã3_Ç‘¿W~ˆíöcãÖÞŸxæKæC?ÞgèÕùC Ùä~™n­öbZóðÊ>7^ú¨2}‡¼*ØS-ÕӚߪP›ß£‚-ìõ¾K?­ª#Ç ´d®`ß[{±‚ˆßÇdßÑ`‚ïXe@DßUÁ¾³‚÷¿ÞªPŽîÇ#"ã † (5›jÈ„Thbœ†RCñ7­.ÔÿOg÷b›ZáòÅòüËr½þô2ÖK¤ÞFʆÊ^*‘]Z«Æâš]UõôÖ=ìX"PŸ‹Jv…Ç1¥|cšJâ}|¥ ³ím“x°ì¦[–®ÙLÓðÀ0Ü”¶Ò´Ü*~‹Í^ܺó¯7VŸ=ÄŸLúfƒþ!@ü޾¸"Ê ù|Ì–$øŽþU}çqhg|оüZñ%ÊS´ªËÀë6çv¸¼l<ýpà‡ö +F(‚2£ÂyC©èo¡” à« ¥¢ñw§! ßöèB'”Bi#ýÔçm(ËfÇ:˜2„˜ŸpJÅ|¹9ÒFýïZ†R˜Ïso¦«78ÎLÔ]›ãxYò—¬¸õÃ%æ6Ûå°0ô€´ÌôZûÈÏ]ˇ‘Žnx÷ž2d”û¡é…è4©ñ2ü¥ÊªòlH…ˆº':¡žæƒð"¿ú‰TÓ  { 㴯Ǝ9óíøF††÷“±¥†Œ-'¶)Íë#•z8­UŒ"¢ÙÊM=H0çö ÔÑŒ"^ø«LßO¡ŸŠÃñ•S{+2^ÙwÂÅ‚Rƒ*C¨ã¬£Ï½i×ÑU÷˜I4®Ï$F¡Ë Á 4»–îí#¿ˆ=?ïS'Äw8t¢èÏ1?9í)n’ ÷&B¡»¦¼s|æYÂÉËë£Ò‘óSèˆz±ÿV‰éJ‚¥r=ÓÎB»ÑÐÄߣ21ä)çà“>¢’ˆÊ[¿•„ÿóH*9õþ4¥œj’›®t¿Û7œ:\j¶ÃxéÎ÷¦ƒâañ® 8N#EK4³ˆ}zׄÑäòXh¿hþÉñÞÂÁŠNÜxe¿Ï×]^ó¾ :17Înr<ßy·½uÜɯíþåMEõCÞƒ—Iw#C9 nŠWvMœœ<.#¸Î=MJKRÙÝ^ÃÙ7jk†Rlv Z騩t€pÛ91#07)&¥Ýˆù×òñ5Ì+Þàœ›ô6k—ØB¯¶R$Ú† [F°½Ò¨Nº{ÈÞ¯4©“ê|ÁåMGæ»PÑ+P}¡Žqb쥌Ñâ‡æxvÕ¯v.ñs<6|§u¹—i ö{O Å);6‚ã•&Åæµ !B=<†Rȶ¬wÜùÒ›œ iCˆÙ3ÃP*&.sÝ÷0†|mœ&Åɧ³J¨g¬ŒüÿRšvT³^lXzJ NZµTOŸ Ôƒ|-£+ðþs_3‹ ªp¡žVJNÐÙùN?ñŸwøÎRéÈ}œ<.‰iÑW$×t3ˆ‡ï 1>“J¡ˆ£iò¡Åå׆ü×®DS¡ ? =þzä.>…pµŒ¿–SÚîþ?®:%ïN4n+Œ§Z'ŠZ¢®‘T !¦é£—Þ×wKOñäÖÑþ;¯Íš·òH?¯Ôh6^grkL¼ŠWvZq­K—ÜÚW'­øÉA±äÖuwT´´?®¡`ø Wš¡×nÆ¥îõ*˜ç7¤ ?Þh–çK÷œ¿ÖÌd=õ.lX"`ˆóaóc51TÙÔkÎ/NA8aŒ.fŠI¿>¿ÄVl1Û¹}q Ž=A@Óþ®ƒa]8'ùQÿȶx×ÇüÁ0–6&ú6½«Òù'äQÞÇÆbÙÉœ‡!ÝäÖ'Â%O­ù¸É¥Víä@Ý`å[Žd9%û[daí-úÎÖíô#M› CÖºtþÀ Kû´Í„<ºõy¸>¡Ê+¾¤ì‘‡X¿Ä]Hn­ÉãyXÖ}ÑÉ­»¦ì›[æ¸×yoç?tÃà”[Ào{Ê“âê·öyØšŸŠènn­óSFfe»ÉWÓ¹›²«Ö.*ÙÕ0¥jˆJޱu;Þ–qˆ£¶+9%<©‚†ÇðôF)§.ЍdÌë¿êá•\ h*é'ß;ב…Fžÿå+ÔÏ÷}Räûo¶gÃÇŒïÛ­{†Äö üÞÙÇqóB³䵞D%»ûdïºÐœFRÉá¢;O>àå-©5Q:œ'iŸ‡Ê¡=¡©ΧÈ)nºxÇåÆÈÏ7œö†‚ª/NÑ[‚ÀÀ¾ÚþE)#ãZ[‚As¼Šü’)ÏÖö CÇ]_”M-„ÂGôXñ)~¦$ˆ—Ãsm \5·ƒºly©uí#W¢åçƒ(âÖ~/ àî³¶–tŒ¾ð“a.!fÝ»‰Bâ`” QËx.0—Ö\sÉgŽË}k‘V<‚ >£¸uøn̶Yñž±)•óÍ:ÙÎJI0¼ô„­|2%A^S®Üz!v(»4GYá#;IK–élX~nAË&ç^,–ÖGQÊhË_½(¥Ž4©Üû1¶ÖŠJ橱”Ðzó®¾–ûI›<úî+mòã~§[c|–5o¼È©Ž8ð*·íwÒú}LîÀÀpxJ`Q‹˜~—%_¯™Ø2BÂ]i’ÞÈÓ™*ù g“ôæº8N¥ûh‘Õ;¦06MM<¯ S´,“J̼/JÉâ5!U²Â|y2%¯¯†YOŽ“·•ù11¥ŽÓTÒ'…8«2±óôùÞ¤Æuó͈÷ߨ3$PLf9ĸÝÙz軇±{ c³ñ¡É›|±åkPJK†áçΞ-‡þ™Ê#Òô¢«"\eº_Ý=ßç…Öš¥3„â— Jví• ce*9øêJJ‰¢UTN}µáÔízÆ®#WÞÑð½¾òSè@L 3ŠãrúbTE1 [¸ã l$ª@ ä#KÑ.¥ÀyÉ rëšk­Sô– ÔaÅ1³Òñ£1‹g¬4d}Oƒ+ñY!IŒ/c.€æ‹r&D÷âÒ\Uï).ié3—Ë6&¬¯âÒ9á}ãÐŽT'ž ÜÖö_:j¡‹n1C1 ÒŸB“ãbÜ€ß?…&Öæ6£˜<6ŒRÐ÷•S^0ŠdK½~Ť|j²¤ØƒO;¼S§æ[¶²ÂˆXpµ|°Žr4,ž‹ÒÆÊ6 ]_6„=–$» ¥:ÞAe¿QfK(ç§2„fEJýÔ꓈£kSµî~Ë>ÌfÉ¥ÇÁ`<æÖC«.§ ?\z(šòÎñôÝ÷{ûÒã9_ÇóÒzb"ü@u†KÏ2¦è›*lñuAéØÿèƒnZ7Òòäéøh¨SŸB8Ÿiv«•ü:XÁ{° WóàˆãµnzÛñQÓ3&Á;,DÁû쌜ٽqà&éÉ¢"ª<0€µ®„Rçé06€TZ¦Ö nPi 1Š—iRpRLH59Ó_PŠ%&æÌ­,LßÐ ÀÂÜå<Ç¥ôÓû‹î‹¼9uWÎ=Ç ¹ŒÌæg"Ÿ™[yÑy6ó4³NÝ.Ú§|ðt2‹^/(Yo× úü­)üÖ~k ¿5…ߚ¯¦=²UUx]ç?ª Çߪ*ìµ€Olícl7›üÃäʼnPŒ™d24µ+S bë1'«ÆA‡÷JˆkÝ•[At=Dßã–@Пñq\I:"êDZg’ ¿èˆp=&æ¿XC³Â’¾>~Ÿ ÿÌ|Óðwû­öüÿXíqñó®Øþ­JÎÿ@eæÏy¯Ù}›MÐk6B˜r-™m.Fξ ¶Ÿ·iɦf¸ˆß_šÆÂTÉ;å'¾ú;ù¢Ë1gÉšÃgü(¾iêý{&© ¶6êt(u%àpÓØïqÌеMî³N·ÖLÜ´žq{hf.Cà•>yÄæÖöËò”uú'·ö1ß®`Ó²*èckÛ,Íeis.Ë£{üÌ"í‹>>`é‹}º·Ï¹¢: Ûõ~aöð…ɇ>…à„7Í(àe“ÎWx<°­Ö‡–œXd§“±ôàçEg\èèŽÒý‰»Ýy—›Ю„7Kþ´Nx<èå”7ƒ+§­„“é1‰ä~¸ #G°1Wq·àœ=_ÜúÂpiÙ¯írl—!^¶;ÇœÏ /ÂâÒX‚m¿¬Öã;›§öù˜oçÇíËëXý"æ}y]ö­£|ĬÔ?@æHk®°eÉ¥o•¶É¹ªÒ­Ÿ·ÕÊñâïHB[œÇWéÒíV5L69J*Ýz¢Œô7¢÷œªÌœˆ¬/N‰áÃXz¦Žlæ/•Ò˜ï0Y9åj뇛 cÒW'ShÑç´•ðp\¤~a°½Ñd3!ÖŽŠIEN°Ž»“6l“w.á”éÖ¼¶óò‰®?JcK0Ðð&#‹Ç–0vylÖÇötë©5·^t|Kn³&âÂX»øŸ¬ƒ—žtxó¸6úLnÝG¦ög­ýú­ãÍk÷XZB3Ï_o?£ÅâŽ7ÿB˦j§Ý ¯Ò®¹˜§fÇoN¿WÎÝØÑݱß2¶ôÆŒ-}Hœ‚Â×¾ßôœl%Á³Ë)목’$Ÿ¦}Öì½Í©e]äs^¬¶¼äë<´/ãaù(_»ß‹~WY™E£K@È*A²¨qyÀçü¯§mž|ý|©5¾|e6Øi¦UÓ¢l¢)½J"aDgÓ¡µQ] aYOc:škx!Çu¹ Ì28cÔ! ¥ä—%³Á•g[§‰¨N 1Ëõ A©á˜ý€R‹5 A)µaþžMN‹¾d¢ûÅ"™Q¦/¶£ÏÆ"ßV8ÜU~®œ©¤/dZâqÚ%òùòxÎÙã Ï.—:¸E%±ç*J‰ïI*yªÎ¿ÑXS®ÙÕUXúzøF6·~@<õ!§>ñÔM.€æ©kÔ<õÒr9æÖ7=i“—¦ƒ©yé(W}šž¼<[øÉßðDSqÊ+ÝÖ<æðÜcãÒXMõ,‹ýÏí˜ÇýÂ|ÁC1rØ â£Lk»>øú‹ã÷ùäþ: ÞoZóGsœÌ¥£ƒzl6ù©†«Ó¥/V}ÓÆSïü©7€­¸×Û1Ïuy ]ÙZ—g1°LrjôKÀÓŸÓXþE?Ú¡O!L˜føÃŽ~«IƒÓQŒ›Ä’x¦žÄ)QÊÕqùx8m‹j÷”aã‹N¶ÑÐ…1ä)(‰âf³W&ϧÀ£ðAÅâM-lÿÃVØÒ×ü}*y Á ìk fÎ;霡œkÆl–šYL’féɧ2ÂÓ|£p\¨ê}³Æh#ªu³E¥:+›øôÂÚ.·YH©Œ§°(6¾±Î[T›'ÞòÅ¥}(æÖ>Ôü;o‡µ¿+óÝ™•…¡êM£³îñ™W2+¹ˆØŠ†oF|A?ÕÌwEô)^êá:ÕSÆ*Ò†!™1MQYE=zý”Ž\[¼ÛêsëŸýhç.3Ø‹èì媢ÔqU¯ ÷£Ý^Èk¾{­¯õÁÇH³—§Í¸âiÍYO/n½Ôƒ%«lÇ×¢•Æ}¼ŠgºùÉ"6Ó¥çT lòÁ¢7Ó¥Ýw˜Vþ¬Ñçè>Hô9š³ø¬té?¢ü™7fŠL·V‰Š©¶la|Ïñçv’ßt—N~k]°ãë~Ï¿‹þ ³Ò­áÛ}ê!»üˆ=f—žÿüâ‡ÅÛRL°BáûËŸòŽ™,‘±ë‹R¢í WW'LNò‰1Öpâî îèëM™úâ5*AäÙrg¹“üƒ“×¥ x8#ʨ»³Ó“ž²¸t<Ñr3·F‘Ø6.Š2çî~k4ò{p°s%|þ…µ¶ˆ®? ZlðÔ­u‚ATC12*ë„Ü—Sjç:¼è½C3Êù¨vâ„}¯OßóˆoÆYnª3ó>¶¶îê 5·êL5·žê|5ßôs|\©íŠ]¼Çè#ÎÝkëLµ?ÙYœÜZç‘Ö\­ªäwuÞÞôMG-ÿyøHü[S¼iD6 —¦µug’=•’À‹m&øQȲÎe§ËÊwL¯}4Äã sÆô:íNrèûP8‘Ƹt\×%ÇâøýoÂýÑw¡êPø7³x—Ðï’¹JP–œ¾I¯L‚›?XÂf‰í’]kææ›Õo^¾aÿ²;#Æ]¹þ:Ý‹}’`}}ÇÐ奯ÜÃJ%ú™ú‘<µ+æÖX°qû½u”Æí*n 7úí÷»îtK‰ÕÏ£ˆ¥Aˆ•¢”ã” &Vôf”©Ø¡Ô©î7o™ó½!Xsõ·öËRÖÜ'›\ZgñzŸÈQ:–b¡tœ†h ðç#ÂäùÈÂç6”Z¾ÇôÿáVòâJµ{‡RÍñ¾œ¯ 5s¿G1´Dø}>ŒÌ„|ˆïÌ¥‹1Š@øK~jz3Áw^’üî•3få†xîʯÎÏ\~¶mËútÖÈ M– sN1ß.-.JD#ˆ…ÉRý䫃¢%æWMÀ¤ºc`’æv¾l„ßâu—Ùé–ˆc³£"ÀD‘ÚL¿6‰g§Õ_JÄÁ‘I "?¼¨»ôsõ+`ÑÍÛÔ’1°®²æmÊumú£>/Œ¿ØŽ9fEíppzüi¯µ†Uâ|6cËÎð¢eÜÂ¥ÖéÒâ{‡Žž2Û…?&qÞP†lÑQæQ/]óÔ¬ &O}*ˆŽ¹µó‘¹t•v¯å®ø$ˆ±µÌÃe¶WžF ºàô+…U’]ÎBÊ3L×_bjÑÌÌ¢ÜÇü•¼¨ ÄøjinÔƒ1 0ˆ(Ý[1©èÇZLüBˆÕÙõI€ÎñÙþ˜_›¢&Òñ•@Ñ4KŒÇŒ½kLJ–Â;õõ§òpéøø5Â_>øŠüú$Qó» "—½–Á̧P0†?…&[œdôºÒ'‘ú<É$ŸFm^¦H`º¹>‰¼L2˜Ä‰.lM\Q¬ÿw}!V=Ö"ì¼[0„唪”´ÆX’oV²uTB˜O½çŒËÆÚUrë±ÔY°Þ|êwëà^ãrw<¦6ÁÁà7p‹²ÎtñÔë~¶;jîžÞ9Y6‹—¶ýnºßYÜÚ.o»ÝÎOùË7ÇP·Š÷¡É{èF5ü„W°ʼnɇú$Šì1Ì$Ãú¬ ¼wÅ$<õ6„èPÌ‚%ÂQlPêýËkßÊåN°b=cÖþL¶^i+)=ªÊ&¿·{šye²#+yiŽø^|æE‚*Qúõ“cX’¨³.ËÕ‹7ÛÕÍØÙHëWJŸ˜pIĬ’ɳÇõ1”ˆ»hcvcŠ0â-„hÇ6á¦MŽxÂoöþHo/ǨíÑT™ž'ç +6·†7ýU6^_Gûc;É£J‚ÈâÖX[hm\Z}÷É­q­Ž—fsúÀñp…«ö¾EÇõÒï[Èß³Ñ?6NÝ£»Õsê¼¾ñ¸Ñ)5y u4¿Í(ÐW“SHÞKÔÑß)&].-··®xMŒ)Ã-H´ÛgFÁƒe†ÓVÁÞFl±õÌðlRJ"“à¡ÔcíÇ1ÿ /¶ØáEmf—ê,),!SL‚›b‡¤.º5b•µÃÉK®R>ýE%QœÔŸzÃiLû—–<õú´M®"'Ó·"¨¯¢†‹i’û”õ¦à™³¬PÁÁ[Ε©/8õ¢Æ5º˜@Ñà”†+Œ/­L„)hR‡z¥ú´Ï[D…|¸ý›õ›@±hÈiBñp@ÆæDl°÷Ÿ r ÍejÉÑõ^6ùÅæ@¦K/wÆ0üšÇ½åiÄX5?ìG ;¨dÄpÂNáÙë5-É;¬E­eõà4 mr„.¼+Ý–YÖ|ðÄ“[ÇHB'FI÷&Æk~ ŒüÔ@ê¯dñ6}òSƒ¥lõl‘ì‹Jb½™(üQ«ì_\ÜÃVXQ[/VÓn¯AX¢i¯­C²ÿÒT’'f¨Óä %|Ÿ®]Áµ³ódÍŒ&éÁ¿uªäOõëñg2n^Il[ˆQLJþ|Åh®k<k·Â?)e”÷¬_qŸ˜4rá1nêÀ8crk@bwå<¦®%8À¥C¯8òf¿K±#£ˆ`È••…—umß¿òäOš~u³Kh«,qÌ™š-©ä@=ÿ,+Ü;;ÕD%»Ê`oÛ‘ÞçÕzÎdÉÄ$Þ‰×o+k•?œ1€$ø—bïœe;·ær/¨Æ^Ðà |Á\Œ äàf2o8ïô¯\)nm?l½ðBÀ «ã=œ+‚q.4&Úª/Naˆ¾£m)&ÑÕϸ5š½€ž·Æ‹åÏa|5æ6­ˆ„\ˆn¢ññÔƒ.ä¶Å;—±j¬Jb^á7Ù8m .^JQ¿¿o‹‹=ü$Âê©§˜Ä|ƒŸBj¥’I„ßܪONàÒh œhóÂS‡“g9YöÉÉHl`€ŽÒXÁöòrcìPÖôB/8Ñw9òÚsw~ðÐ]±Zmófèæˆ§FD¾#mÝTÞäS3S ãhKÔ¬óŒœE^çîŸ6_‚Oü †–Gçµ³Ežxꈽ·ñÔ‡Z=™•3³îÓóéE&Ñæ—Jö#Eôuå'#6‹Q0)3^ꚇ¿!œ9îÌæi“k˜/Ó¥·ÇŽ!£ìúv³«Ö|Ó¬=rFà ¯oYñÅý'·¾Ô#mk¯Äq·>ù8–åªV•Fp1ൠÔþôññÊCÁï1‘*mb®m‘©”ÈìwÙÂ×;‹êiÖçàƒwç|æà|Øõ|VÆúFh¯¢ÐáföÜi“gáí$žKœ_Þ=ÞËmê•På¼6ð±¿|𠶪ÛßÞÙçÄÂ1¹ìëò'H¼©ø£oü¸±:ÇqCôôê3–œà÷½üú$á8˜Q-Á# 4Ä9â;°'¶qøê5¶v¼ÀäÒ1Ç—ñ Ì©OíYÅ¥a1À¼q!Ü·Ÿúx^ÇóÒ΂“&xœcX³§1¢û¨TKøàÞ…-yH¹-K Õ%UDç¨éRµ›ÁA¥êr7~òäÚ2“ˆlö$ƒÐ–ȶSLáßE gÕùPiY«:÷1ò²ÅtíÌ*:DC+þ‰f¡ýºÂ Ýß™½IôBºB *þ… PˆÝM²è6Žïƒ “àSäç’ã+Fbô ü»Œù}bu}‚ð Iø'âõ¸$M ¨èÄ£·è€Éü¯ÇãV£Y¹3ó†²Î¿ßãéê‘XO\˜ŸñÖM1˜Í­›¢0'—îŠÃlnÝUaJ.],qʹ¶íOàÿð“ô×Ðßÿ$ýuyð÷ ï‡íó ÜÒÿÜ‘9QõQ«ù^ÏÃä‡üÁÒpsÓ5÷€¯|?oçeÞ7ÈP7Õ›wÑê4>y¤¯§“ïC3ÒÆòt6qJ×j[ŠI»>¿DÐÔÇL¥¾8åè›cb;4¯Ž}*L9¼áК¯VÙJð2ù‹ ¼sÚL˜tÍóÞRçœ PŠùõ®¤˜§xpÞbrk.I<5(.}jþ-"ùÇÓß>¦þfB‚¿°ö£fªùÝpR­›ëƒÙ5AY6j†rÿœ¡¬Ã\î sRíÄ û^Ÿ¾g_Ò?¬_š„ÈýÅ­¹$AˆuÓ¬Esk.IP|ÓÏñq¥¶+Öu»z:Cà¿ìI÷X¸ë&·öyØšsI‚âÖ:¿*ç_VE_UÖwUö³ŠûYiø³ÞÉReÃãÙ*­®Ëª\šŒžXStæ«ê '¢±qé¸ÈW+n=4s1¹ôÔLGsë,)œP@åÁßh9ü£-ˆ­`~UÏ“n¯ã¿Õˆùhì|´Þu¾mËßÑA¡ Íúœ*~ñºÊ‡ïx¹¨Ê‡¯xÃü_ÞáøK½Ãùýßó®J)^v|ÁíOðÒKë„çðɞء0`ùÅ —rRþ@ÓÍâ6³ð‘ÐùÅ™ZÇ.1\P?•ŒŽ2ÌԥĈÙT2Ì}¾¨$ý,'û§ú’pjõ]6ùÄ,ÂJ—FpËV6yì}ãÖ,²¨Æpú¥éÅ9µ|ñ·Ö<ÕxóGy “:/sê²`wNk~«€7·Þö5¶ë³nÚæ÷V¨ŸÅ­}]Ì­}þy}}_† xïÏZûñu÷}w~ù]">пKޝÿ¿–ô No?5¿þÆ:x[É#ß@|)Ÿ~mkE»®© ®Swõ×Â&ÎŽµ¥[sºmZ¬ÞKOª>²æh­[74‰à¨9Û7+˪4#`xêÅr$¹µN'¹´ûàBÛÚ̶—šj}iظ /MÇ$” Ï"ô‰³ƒs813K¾iÉ¥oµ{’[w@æ©•¦Èüp¼±mÅ/·Îã²’¹ŽkÒ­§)(ý®ÍšÜSsŸùú8Žü½îñd÷CqkïO<óšó–jˆXÓL>XîÞÖüFXÜZsYÒŠû<Ìó|}]èGôÕYÍ$43›L“ÄÙcÄžIð]>c$øÇU}Ç8Ž6ï_ÃGlqÆ‹üK‘ë—¡”²nB(ç`þD®w‘!^'ÝPÊÍ"A*­¹°Á8U `˜¡háUË»æ»Û±ÃÅfòu÷aoæ'ÄOø,#x!“R]ì0–&îðd¥6n~„às»™}´]KÊÜG*>Ã6„K;Õó­ƒ:QâêŠ8ÐP=c¼þ|úÖÍ[‘Ó“gÞÄÅJüÎ&ÑáO3ø÷%µÂb7wYq¬hþ|1„¦„JJ²?Í~¡P‡?ãú¢Km4OõüËšìš/n=ßvhîÝçvÌÁ9áýÁPÞ³{,k~j.¦¹5ë,e7~º´_ :ÏYp“Ý9&ÊoéПǓ¿ãqcšÊõÙU§°MÎÑ•J÷hËÇñøw>îÙŽ†bNó®ý™[{»æ©oj²ÉYœú>ä}™êŒ7Oýñ{km ×/Oh¼è½ÎÚż Y ¾ ñóy#@Γ„ßãÕˆ‚è½p—y#®¯í²ø²‘Zéñ«‡f¤N> Ó^Ïͱ6õ~Àâ—z‚ê©Âó¤|ï:Œ¥ºòéàp‡_L%5YÈT3Äë·’Þng™¸×3’8Xa £PÄï“óÂHð=<"üŽê´Éà½E)ÝyÓñ½}ݹQîBûfD”ß7ÁW$/S.ŒVWMA*D%1{óI*9äkJ‰«VÛ•t÷–©ûÂa Sܦ;Ÿþžã”(¸[++Ži•,ùp ô¡;vøHøxdÈ´äx±PϵŸŽ”Ü× åÔîsÁЗC9ða“QD‡ù¥ÀPnnd’ƒÇô/>àœ©£;4X>›§¹(nÍ#ÉSO–=É7½_r_b9Ï%·þ)ž»°¤Æ‡“R¢`y Ks¶ð¹#µÏ-ÿN›¡ûfš‚½ ¦EûøShatÔŒWÚŸDèn&ñº;¼Í:bˆø}j’è©ç”OÈc‚'ÂïcË4üŽþÿº3íEÁЮ™ÃEüM3_è†É8; ¥à–P . þ»“nòhþåù!w*¼—wóÐ Ï ©%‹‡GïðþªlÊ*˜[òðþ{çÒÌIÌ;Ê•ŸªD|•šÑäüŒ@]ú€Žþ¤h_ü&¸ê댪ºúNÕYæ¾ÒvŽBJaúØ•†p¨Ä$”štC\p•£8éÀ$#ÆÁ K)‰Œâç9»a¦q²tLJžœ\GC@×e&ÅYo›5Fõ¿R)Ç]uü1G›þ(jÙâ_l˜ê€y$b¯ãÆú”_X„qÏO~çà•brë§3Ö:Õø`øS mú3~ 6ˆ0#q›ÌQÈ\óë´Æ×«4öÌI.ÈL1[åDüe°t L Ø9‹ÒüMDi|]Üqt®®3]ÔÏ“F‹= 9zk ÅCýù»+ V÷ôZ_ ݯƒFLÐŒ˜w¢¨êêvà¸3%£ ¯ÍŠ·®–¶¸5ÊιYñ®^skxõÍšs$«¸4ÒxÊ&Ÿê tº5®<|'ë¹»Øz”ºr¶? föŸ(†­xÉ­xáü€ç3^k†TÚúD»úJ±nÞÁ^;[sBqiŸâÔàjÄ<¼9òÄq[ó‹=9˜={–vzrkÚ=_öqu¢©Ä.ï‘¡6ÝÆ­/5žÐ«¨×~¿¶í/¯±qkíß×-¯—ÏßÜZç½'ñJBŒ),ˆ2˪{ÂT÷-iB öQr¡YŸb.*I³Xíè³i_ªºåŸ !jyCîÕiT¨¦%”BKB)°R,gÍà¸Áñ$8TÇÈá¼7ncÏÆ¥cdmŒâÖ1¦v³gèU1†zÄkFréÏß[k{?·悿΃8Â+©$u%FvmoŒàRùpi  ,;MŠçài+‹^Pùà6Ö&ùຼÌr‹å&U`*Ö% G騡ËÄ£î¬Qe٠Ë¡R# ¢Cs«WÌåÆm;c‰ JM®4sý »³fq&”âÚ…‘U.ô¤G¦F˜îX[^V8‚øþÜSIz鵲Р(ÂÅÎÖ¼±žcܲ†Ãå 9‚“y}¥.¹aPúO…SrCcõú1/¤ ÅÁhìDß'Bæ‹I}댾ãiXZm#e‹x‘ƒ’KþÞš›C±­i䘊†`\WYóÁE‰“[OÖJk>Z¾ø¦õʇx»ÖûvÌáÁ]± !¢à¨*·ý¡•Ài{ÍϾçÆo­èØ(L¶xÇj•n²ðÏÑqÄÄ5^зߧ^ïßçyèøb„òºj;¹ŸâÐQïî·^ €öâê¾Ç|ÅäÒá%5DÛÀó9_çÇý‰c?ýã8ú¶ÿÁ¨q¿°nETêï[{¿æÖ<®g–7ãuÿ™ ÍÙ(ʧ̞҈>xo¶8–_ÑïáO;½7ÂðÄ=òH¤>Kã‰«š©’ ÈCVçr8ÛDK"„… (•Yº±ìÛÿXkyÚÛéâ5é«ì»p0GÞ5=MºëUX¸ð¸°~¸J•tÛ{ãw »Á%ì.Ô½üþXÂŽø¿´„–O|˜EÛ[6Fwäá|qäGgÏ”(¿öC*ªñ†mj:Nªlýg~>XÀö÷Rf=Kám½³¨òÁÃJX;¹–üXg®¸õª@òÔ+¬·^8'ÄCܽ…ãŽÞ`Ü€´â'.]ÇE[œÇÕNW.éSU [óçÂÜÇg~}Gþ^ÏIìUskïOÜùr{>»Â¢õ‹Ýô¹VUVÜúT`²´æ>?óëu]þÖ±«KêK¼XÈ"¥Šœo…\?¸¦F£§“£Ð.é1Qºæ[ÑÃÀPеÍ2pjboVTBÂ%>)ZçGF0^íIXª6 Eó ˜äŒÄç„4C*LŠ>"hBô¿¡Þ>þÜ“ˆœve­µk°sŽØ•['KÕî0ÇxiàcÒ_~É¥ÿøƒ7+ˆó‘‹¹–º¬l3áR^È”lC§Í„œå…Ö6’¿É$Ô3¼PÉŒzPFÃ:6kÞ8†\Ú³bëK¦,.:W¿8Øq^'ZeÊ¿ø#EkY¡º›qpû_ä ¾¿ ûd°’ ±°–¦+Aàæši žro —¦•U‚@މܶw~° .&”œœÎ„’R:NÁ­ é*œ–Ë¥ Z©¨’WÒ¦P¹çàG­.¨¡΂nF7»}v<ÏÜ4ÆÁ9­è”ÿ¦ü:o„Uù¹f$üîÓˆqß*«]H³ ÄFΡ†RA¦ Ü·]ÔgqžeOÝB**]šv´ÄñêilãU¤Y®4¦‹½h±šìOεR¢¨å­-Þ¥Gyû…¬UŸAð²á÷ÈÞõÙ:G–Eø=vuù“dmœß1^¬O’¾q~úäÖsä•x0‚Ç—L¿6ÆSÉ´oÅ9EÏiãÚ‡ÉSc¥Ä>Ëf‚JÔL°·:õd“ŸšÈätéèÓ×m>tž‚¢ÞM=ÏŸ›6žÌ}5—Ž–8ÜËe“3ì¥oºŸe£Ío½oÇv]Ë ›S{¿æÖ<®­LgÙµ¹.šóýÓ†|“RÆÓw•Ô‹¤qZhô²!‹ ú"ç ö“é{xØòà úD„ñUÅ>>Eð ˆvâ‚ÏÏ7Cà|ÇdY£ˆ‡£ëÓµuu€YaŒg¦áyíìSŹ(8͉qM¿—m…£¡z¤’¹?[a¯4**©£É[ï¬ÑØGYL%´²b¾Î¿oeø¹­/­+;qÝFP¡ª©¢º2ÙuÀH£Zlmذüˆ.œŸbGÆž©N“Òœw†ôzP+uÇ ™ÏÄPçŃö&¹­(“èØFPóõ ©WŽe?5© ks›>?õ W•âüŽ^£-¾Dm£- Î|ÔIÖ϶ßõß™Ù{U [>;Ußˬ«ä‚ÎRì©ögY—,(èÞÆm~»"@ yŠbv(Žï´![˜$$Á'µ Ù¢_\„#Åì”…uq›þ@_x{àGýI.}Dß>#Ó:Þg;gµmjrʾ!•†ý 52ÈžA)t3çÏ¥ûF ¥úûu<¼‹îÙyà!n|‘IÜêý&“àfuê wÔÆ8’žÈ$ØÙ!&Á|G®Â7œ³>ц¤Œcä¨Þ²PJ±P1jΚ=ª­l%e¦1Å<¹g¦Ä¿³Œ©ºžÅ>8ë¯#8ÏY\~d·Æ„øm;¥¾ñ6óc2ɵ>=éÁÁŸÄ’£Új;ÈÆŽ.q¯sã9–~è½YÜšn€iÍýí)kþp:]qëõÅ K²âÎóÔΣW–®5©°Ä$j5â”l?&–tÆ [êâcå^Æ\NÃ"Å,“ºP9Ø2×:]z5×½ùE–#ÓX—SÚåù á˜1ìuà//4U3á>Ñ¡‚¯Cæñ«àg¹`yÐå¿\-E}¤ŠW\w7‰>Ã…á—ðBÇÁÂN“š/sÃLúçÈòýÍiR¾Õ6ã ÍÏol†T:ÀÍ-8qá¡¿BÚ<™÷EaAöÏúuR<ÃãèNlÜ“¡Âr'”bpýR*6„1å͉¤¢RÑ¡êsá¹îŸïœ›ª³:o/Â=y܃1·e± +º¢]U©<E88–ëšHM&…qÞY†p š7”ꘫac-È‹Ý91‘yÓ«–\˜}&ãÉK¡3´bW€U1£‚@φ%§:Ï…-½óvd…Œö^§¿EÚäluWºôvŒ¨êGX)Õ`<Í„P1=‚VhåZÅfð°0ËGTã 9úÉßG L^³˜¯>X¤5çúb‰%s¯í…çÃQ1Ó'‡MÜ„‹÷o#È2W™]l|÷“`bFálmìfzêbu¼ï(†Øî%‹hÁ×MDá{‰©¼Eu’Y ¼¢ºÐ-q^ùÂ!€qw à#®?âÎèúßµ–ë+œ AUÁѪœª0²bŽk%ý8fh}Fû‚I0.ÂÏ ‘>òïè¯_‘,Þ¼þÕÀ5›É“ËuêöÃ] 껸owñOÕ¼†ÿ’ôàóCo%"‰Ï=8Cfªd\›s³Âñ¬¹9&Œ¦Íɇ^SŸía„pQ#ë鮫Iƒ°$ïßiÍù˜UØ_ƒkZcÂØÜ¬yÌ{ÓLä—vúÎÇ¡Wqë¨ížÍ&×$ÞL·ŽýlÖ\“m“KOú7¦MÞ@Ï–n}p-æ´âQÇ(N ¸u¼k’r—ó!¹.Yrk:Á¢?š=è¨$:=RÊšG%ºsé(ñí.›yXÉ­£{3)ON`÷Û‰C+vÒ’£'êlÉ­;–Fß­¸Ïß<óþ“.†.v7‹Mrëhˆµâ©/Crk{íœ#Ò˜ÓÜZçŸÜù¡ód|6ùaïw•š5É(Ðâ)ÃÁ£ nAMh1tèC>M;€;Ëã€Ì_EŸÖ•»±z×'a©<.ŸÀüòú¹:R-B¶‰µåbä²^™Qªv®—ULØù¹ýnçr-|úçÕïxÕ6·>X)ì:ìõÁ/Ù3s"ïaÖÆ¦ª›××ܾJ5{SJ5Î^EÝC.ãQˆ5a¾èÜÀ'Z||Xâ#Š|²Â9Y@½°Q&ôï Ø >1(zAùÒ‰iYˆÈC+Œ>…'©äb·½L¼4+ú­—fìzî ûñãˤht·§°: ?#ù ËSrëÁº‘›Í7Ìýå_¿Áèi£x¹EmI‘ëÒFzŸù=„Úêνj‰Î½¤R}èþiì3l;oжYqÄœ_\QgÓéù'n=¸é´É/¾s=|*`Èc¸{®·Ö¸nrëÁvlqéÁŒÅ¥QS=Å­/ÆæNn}ì×ú>ßǹë¾íÇç‹Iw·ö~н2+_2ŸÄ­ý{å{^—ÌÄ?F³÷UàŒŽ|2¤ˆ;e¦1Œ÷#ÓJ=e bب)8T°² õ//Ã÷ÕÃÛ8åÊ·ò£èð` °ävˆŠ{O·Y‰9õ…½†ÐñKò4øSÜ›ˆÍžÓ÷Ð ißûƒ‘Da½ž}ðd…©X™y¼¤™–m¤Tù7¥‚ÐcÕMáäÞòƒ99¸€žÚ/- “òòçRÚ¦‡C3¢ê9wÌC °8aã[ X"›ÍwPÍ·Ö–æúñNnõÁ)1³àé{‚@L"×\—oÅóÅbé“zïíƒS²D8²¨»o‡û¼xTÉ­"›—†SÙ(n}Š·rc¾y8•cNFÌGŠûÕÜúóûÖÞžs©ÎýQ´ÙwŸPü¥uæ« hŸiàƒ›ë“É|wöþÚâ 2veÌ«(.­…ÄŠKÇéÆPhriœÌñqr‡lÿà½NáY/4k"°Jœdw~®w:´ÏÃÖœ3‹[óüà ¹ eM'FñªU«?8ð†ÏkUk.À.Ñ?Ïf-LÇÁ?iÑ›Pj°=aCØéÍ)(…§~Ãz©þ+tÌ-…‚n.låœè)mœ/scë&~$dŸ"ÒìU¸Î%4Q‘dBa¹oÁ™88 ûR5®«TPÃ¥hÍWFWŠÇÞ9ÓÞðu0”º*& áƒð,†TÚ‘÷gˆcñ޵阩1J-¼›A0{…(˜ñYVNW­Q†ðgŒ¿ê›‹s{œ&ÅÀ6‚7—óхѵC¦ìa—Òn©´‡ºZù>÷b8\BuÂÊ TB›tj1•š–™V˜]œ†MÍM<ðçe„T.göêK–Ïû!Š6¦Ûl\>w•‚Дû7 |8ïHiŸß ðÿ›žןŸ×ß'ÂÿìÍDN(ÀZæ1˚ǛËyn\z¢Œû¥Œ«–ŸoŠeÀ°ýãÃÍž ´m3Á€×ö!Sû뿊·SäS}yOôm¨Jµ!|x*‚RÑêœGm”÷»™ZÖÑxßâ:†P‰è“yäë¼Ç•FGjK*‰9íX^óÉ~áÀQÕ[²õç•5_ÌšäÖáM’Í8 kéGÚÔð­°äÄš]E%¹‰_OÒëý$¥Ô–L-ÿéIz½Ÿ¤×þ$õ™¨¼gn4µW1å’ʼ&¾D\^ܵhÕ¼’\;f±«ídHü%Á"Ÿ&øl†pþëœ ‰y“‡Éš{9zsëG®I¶ÉŸ/:â;oÉ×¶8ùTº4<.†Ç†¦’ ÐÐTcÛäìÍ®téÏóÊïÝœ¦š\ÚùQhúUû÷vÍ­cî1%‡KM„rkŒèÁ„ÊàÉÂK¢–ñðC„³´æÜrqiíÝî ·ç…tÄÞµ<1²kHõ>6åOˆ¡Ï銟cÐÐzs?ÿ S!ꡌ»n’›Án v œÓÆØæuJE0Ù8eÁ cφR7âØÆXðyJÅ¢½§!ŒþåsJÁ·ûNC¨³”R¾ ØWÜô8øÁ<_Wë);cÒˆZjT¬¬ðIŸæ CÃG —5÷kn=ÔÁ6¹JzÖzQiÓLbö­n‘œEFq vÐ6:ÙLtâŽf‚ÏZèŠg˜¹‚,ÓϵáKÁ…êµ\fCSš7J÷Ò™‘S‡þ’àf¹íjÛ:§¡s¢aC1‹;ƆpÒ±HP*¦MÆ"È2„èn> ¥TµÈÞœ÷%(õp>½ŒaÇõyxÙ¤œF(ű†KʈÚrñZK¹Í­9ÜvçØÎ–>›ÜªŽÍŠGæ·Žû3ªª´â]‹¦DDú¾i§›[t¶gæd¢ÉM•%ØÒS(…-9é5â®…³!œ.§¢ªË&çm]éԈŽmñIw˜L·¾éü™ÖœÃœÅ¥£H>wÙ£í½¥Cùä>| žKQÑOTÂeÅÝ}ãÖ¨jÇfÅæÖÎG—™,k“î}É­u|É}¼:]cÝ#KúÆ8y®¦–Ï~k£ª ïR¹h´¸Î€;X~+ox{ŠDb–aI´¼ßhU'Ú[ú¦5®-³ïtö<ŽƒÁet÷çO„kšÙccmÇI“S‘ùTFØ¡žFp0g ©&„óoÄ…øü-Y¼ÅŸ¨ŸÇ@ŸHÌiiI%c&K»‹Rb!žT GŒ¤’ñúÔv-£æØ6‘:ÖÑC ÜkÔf^ZO*8ÁvÖ 7Û-ްå·SÓyµ¶R:ê´F̵1ÁÜwìó“ôyE-pkXZîZë*Cж6zóC’Mô2¢hÈ?‰-£ 9Ҙ³åLlq‡ONÕ9ôY¡àŽõlcà Ji∌à¥åÍD-ßGkš'…•PuÙ‹Ëi%·fTèä»Û÷r;á/>8b#æÖ¶xž§®kÞxhŒ¨4üJHàŸº å¥Î¤‹Â¥%nö×"ô†lò[5³Ó¥§&DØš‡cB[ÅSsncÚ F´´Éõ»L·^ôÆBÇlÐâÝ­Š¹Yq……Kn-‡§²æzÍ¥;»Ó&g NDíòñê8“KŸü­Ì¥Ñ3¹Š[_ì ,nÍ®ÂäÖÊ—ä™O<ÿÜn<¦ß<ʣýûˆ«¬ýçïé2WÛ±5?6#¹õ’Û“­¹|í“[ó·Y·¨øfP€pÆ¡XF*·í¯指6’[3¨s+kŽzqë¨Ï¢ýlk-ŸõO}Â7 S‘NöÝh¡*ªÛ0´¾>&ƒD˜ûg†d÷}bë¥rHo}Ûû-¹Ð[llùsý¯™Tj"\œ¡Ô¸ý^2ä@¬¾RÃA/B&QpÑÃ×92þaÏ4fÜÙšûb›çÅ÷Å–ý(;_ãX/ž^O2 õ„Y1S ©t¤‚>nÏOÕL¦Æ@q­…´aùðs×:(³T(ì§ýñüâñžÅ¹yMKà~Lk~«³Å\ÑD®²;×ì«L‡C˜&|Øn!S¶tèûP='»q 5léÐqó šlr\Vº|ÛzÊÛ¾8¦ˆléCSîï»lr¾Vºõ¥zÞvãë#}5=èé…îpöÀqŒX÷ ò}%“â]ÂòÂo“è—ܦВºðPxêb»P°â¬ZJÕ‰ª¼ `hΡgž4‚ˆ½ÚnSK„9Å-iwdq9ð—nëm»©ŸÛ1_ôï~Ø€GCSä–XçL¦H ëÀ†L!{áGŠIŽúCï[ƒxìs>2œRHbÉÎ’™Vøâë£)%®ÞQVøä©dÔ¹=   ͳŽËy7ÜŒ·žŠren­6gqkŸ¾NEþšèkëc³âh`>Å­1Ë£o–ÝIëHnczÎÍšG]Ù7n}³´{¿y| tS¯þu91‹_Þȳ°äT‰J+ŽnšUÜñb6kÞ ¹õÁgAZq<öî0?åSÂw&˜½ü[7ð8 SwQmòµC—=•¶¨?[+KŒfã™T2rþ¹ËFPÁ™Pª¡¼§9½öÅ«d£0s5F1 &“àm‹ÙˆÃYeROÅåäÙ˜Só÷£ÞÆÛÛY”RÊY²¯šKÔòÚáeÔ]Áðz(Ä4ÉÍÐ3pÁ&ÁçqTµÄϘÔ,ÂÏ××-Ÿ.u›^ëÏsË´”XB+|ò÷)ÐfÑn¾IÝ aCøpÐ_P ïãN+üpœ<©%ƒ‹¦v†o$9îðÎ~vtc«çKÓýHØÙ=ÎÕE¬ÆÍh¸„RчõÅ%i.¬Þ‚9o&[b£D<¦ëwÎKus­-Ë¿§Etù3Úé7þÄL¤ã"ÒçÎöÿ…ÜâçÖx€ø âõèâª}a5¿“3s:Ý—|xœ3©æK¢QuÛÌe§JÞÈ7•ºØ±«uBýÝÜ”xiNôÉï[ÇZQLãõ ‹‚J;Ý<5 Ork.ªŽ‘ÌÕÄ$ÞL…% !lò[ƒ "B €C©“³(e YbœFõ¾- yç">fáÄkug¢ ÐP‡ËcA—ùÃû‰œ·‹‡ù‘IR]VlÙMÙL-Ù¹þlV¼ ¹6Š[7?QmGºQ½Ò­óiqÔ÷2Öܺ?on­¡áâÒÚ¾²ˆùå*ÌÕ*+T\¼s¦âýmé/Ix}N~¾xæ2áùùS¼~(Ä‘¥PŒ§þ7ºùZL|ÛA“è0H•q^ÂVÒ—¾øð¨ÄÄZ2‚ðÝJ(ut4Îñ×%Ñ)–ÑÒ_¸-ì?$a’ð3Ï}]|ýoî.-C•ÑP îÞi ž{Ò‰Ûbù/s§%"FÍ º§Î„TŠ4gè`t#*cCª8‹ÈtC¨pn=ëçR‹o—€T';ºKÝ÷kcÝ[ÙM¯ì„Šnu÷`ša¬À’I(»6d Ž!$›dSb1qÒqÑØÏ{³æ Ó‹KGeÚ6¿÷pµ‡äÖëÃêܤ®²ÉfOVºõ@Ìd„Bщ"h—Þ“§~>ø“œñ‹3¦¡òÅ<óIçÿ°ÿ >k‹ŽX-cçM!Xú(žšóª‹[;@ž] Ë·ãœÓŠßSß·Þ vãq\ñ”Szñ:§5ÿ¸.æ>>ó<^G~_× û›·Þö‡ëîòäòñðš °ñÍ@eðÈ“MÞ™¯™nÝ™¿»íc;?óó•/q?Úeî7é¯[¶»zRÝËê‹1´ýÌ×[ÿ36Kηê&û»´ÖC/.¾´½ÖˆöàJ¼ôÉÛ=mò‹M³L—öömwÏ=½<¾:§Î½窻p»RÞ·Cðáj'—Æûò¹iV»ÉÓš{¿¹5_¬ËЇ÷F#Ä­ïflÖ×Óׯ8{Sø{5 ö¬a]È™6±âe²ã¹;HÖÐfñÔºøYÆë÷j€è˜¼·¼aòƺ9£Ç¦©?æ¾ýˆóã´X? í°CIÐÝ"¢Ï-Þš‡æ£³íßÄTÝÂORÉ¡ŽQSJ/8"*‰Û•líµáÔîK0ßuŸùó(ÉSþcl.÷[Ífù¶^ÜZ>«/Ûø4m…%ñ|ÜöX»zîæñl'+Iÿ®U˜2O6:–nŽõM¬ò|è¯Pã²fQaÜ@¯Èp—zfÌ¥ùÂólüÉ]óa%.Íñ€mûÒÈ›gçÒzg6OŒíx^qÊè±29´ìÍåfÅq öÝK³f™o^[Íœ¼ñË,´àÄj1 ,âŸJàäW²›‘O–ËJ|][ª4Æ«8©Ç]¯G|Qò½hÑŽí¾¥€÷Œ?Ox“î›^ßÔ6½DL¡Lx«˜µ½Lk—_èɲ‡º%˜¿y™\ºöø„¨ÉÔýž¥ƒ—ÉuKË '¦”Æ»KÄïÆD;¬ø’ŸµL¹ ÐÏvÄçèkh— ÑÚ8>7|†[çD`Ê¡zZ} ħ:èM)5*¢ôsWÍìÆ”÷ß›Mî)NÏÙ“Œ”Ü:\VÖSÜ:æ¹qé8á~m\:¢ µ};Ò°Ç·ýÀZ©%óÑ_qC@R‘‡D¥†j piº8DùmXœûÞ¬x¸é„ ¦¹uLÇ:çfÅzáØÜšIg[ ž‚šß0x&¯Œ­ϨÛièðòšˆç5á5s¨âá’v±´xS™JF„‰«¾+yΊ?q!¨wD|H:+ÅÍÐ ?£¤”árçb+Œ0fõýÍQVpÛYã,â›:îÛF/9}õ0@ ®›HŸyƒÆÞ¬ßŽußpÏÃDKA‰‰ÉêbÜ=‘ûÂ-…ßqôß\9XV˜[ g6¸­ÒqL‹ÞšÞ5U%‚ØR™§½ió¹ ­$L¥íÇ|ÑïðÞ‹à#‚ –¨;7+ÞN\žäÖΟ´æ>GséKKÖÇXÚ Û/MùèOÙ3dw¥S‡{гÙâˆf¼¥w­ö0”P˜ ñ' a¼ÀÞÃP*:èÆ±@FR5”zpbeÐôÐs‡P*¦ Íi#ˆñüó6µŒÊz̵Yñ6õ3q먞´âÎWsk_Õ¡ïÇ=@@)ú˜ç°7CὫi€T²ó¥H&ºé/N àŠÅ¶š¨òþ²(V!‹V£°ä¯Ã0oõ,n}à,0ëPKì¯-$“ lñà3 Ù¹-oÍóõ;#Œ–$ƒà®ø×éX¥+ă¨NÖíáxc¼H¯<æòÚÐ9ÉOòªÔ承hKˆïàBlû¼ëâPr—ê¸éü!HÕ—t#”Šöä,HuÑQÅÔ2z‘ë R¢MW{³l3‡¬´é;öÀŒ7ù£¾myxÀ9Ï„ë/{†UG½ÚñxÔô§ÀóùÙÝœ¯ú_]îÅ•Pù!ûâ ¸ŸépýbFžíwÁE³ÝøÖ\½m—nš_V\ TL°>6NýßÏ‹7÷/nÛO}Ò!ù®›"gFí;õþr½­y‡ÌΩÑW¨œ6g¼Ln×ùåützò]ß,BÏr]`–7~¾c±~èli(£×vAZeLe”˜·šïBÝòt^¸ßN/÷†¬ D)‡úÞD%‡®¥)eܶϋ62Û7œº×a¼tŸþytYŸö’J7šçØâïÓÑÈJŽà†òŸòaÀ¥cããá‡þ ÁDz›Qlתu_Æ×o‰ÆÉqX,+†ÏxÿÊѱŽå뇖¶äÌr2ŠhÒk6îÍÜ~«z<#¥„‡,ø¯dØ!ã@%ŒrxÄu*cT)>¾š¿&ÖÃaFÁ‹G”Ÿ¹P²™Ñ÷œ×g[sü›—¾TíE CMÃ;³‹K£gæ*n­Þžä»FðÕÚ^ ³]·^5Ìî|âùcýÌÇâP Ö—‰Ë›Üz~åz5ÁSÇUض“úá±aXèÇ>œ%8N¶-ÎïUºt—lò{¾Rz5ô”Öüã:&×ñ%G]_]WìïÙ¸µ÷'îò•å‰>ñ°ˆ4•óج9ÝÑ‹[뚥÷y˜§V¾œh胞©1Õ¨ âáv-AËÞcäK M!$·‚¨…g:tæÞ!Ðð$=·xÃag‚@cøÆ^w„ï40fqéæ«!n‘¸õ—†óÄj§F£%kÍ¥¹lîΩ¹ÞÇÜøÔœ#øc–œ ÁM+œ×`ÃÔºFƒó1"Üm´0N8 JE㦾ȎX}?Bùœ©”f(…Ž Cª‘IÄ(ÓìÑ|Ô[áÙô—$º!Ú½t+î_+‡©æ HÄ£sè¯Pþ«ñ,6êö?dÐÙhÐmÿL´äëÒU6yßÞ#¯Ò8œ£ìTkLÞiÍ£ÁšPâÞžï"SåŒNÕY’,w)©Ö²¥¢£¤úÉ{~Ÿ1.¼Qí3¹µ†ªmwÞ·Sò)~®”\ ¸L—övlw~°׫ðóN£ˆ ®4dþçâc½B×0˜ÍÞæñ&ÅÝô·PãÜ}¦ T$Çÿ¯ÅµJëÁûksÜŠFúŒ6ôè3JÑï`F{¨£HŸa’öJïÀJRÊÌŒ‰õQ¹J+†Ö•¨gŸÑÆTZþ÷EûMìÿ©hbqcÜœ¼qëf;æ×ÿR¨®?ÅÜúKKñ¹¶ˆ]¾Ó^q¹ò€t|ëÞ*:Õp“.σsýwÎõgk‹Õ¥áS¼4:tßéý$ê/ý'â{ýäõõ7’×׉H^M(Æ.óHîöõàK°'æWCÞ}§R7ýùþW„]ìþ¦™±BħBûÃŒ¢k1™T׬ˆ Þh+£o‡9Po†á¤¹^qÖ±CÄô½9ÒY2*“+·òDl›.zîY*žÍ­ ÕÏ ÈÜ6Jõ󸜣 ÕŠè†R˜ãÏù—ù.WÇ\ÇNG2ŽS7ø©_¯“²Æ›nº=²ss„¯âÖoq–M~sP-Ó¥—ƒ=aCI—7Ò_’Ÿv"ú|Ñ9‚†Ì#ÒôShXå@!)Ê\x÷FˆN2D1¢X¥•!ãQ éÐyTŸè\k’ìÕ²Ç#q·îM½T²ÉU7dºë ÖÎæâœ<[F©aGöyœî £¯'¯`ŒÜeÀTйfÄ8gš¬.ç‘E…È%äÂXˆ«Ô¬*ÅSÇôÆSãÍúýØxU­*<ä!_îý¹ÈNw×Iºp›¹ZòS±ßq úõ«æ7nx£IZòli–UÁAßOZᒿB‰˜?²ÂI%oÎÙöˆLX{m;4gµWéÖ}ÓºŸWìוü‡‡å¿úü§+û …æD¤ÄÌã¤ÑtÞ¾ ¥ »?óögs amÎî‰ö]¸7•) .û:%Áɱ„DD[>\ ÇXt;Ù>(¾€Ç–`ÐO­Û>8¥c¹›-A ÉÛ³>8 ô-Áà°c}`JŒ„~£ÇFëÍä7~¥8¸pE&Dî±tÒøi™E× ŒéÅu-ÙN°IÊÈž™*ù³ëèÏ‘I:°ÚX¦Z¢Å„μvFgщÊ.ê0cÉŸ‡dü6)å@ÐŒ¤’¬²¶p8³Ç) ”ð:9ÑÉ?Sf{aJ§©¥N*š)Ñ©âk¥ §äöGkÏJ÷ÿÅ7¹ÿâoZ[ë[ëÿ'[ëhMG+ê>ݪ­«üNò!®§úØ€ÿ/Õ¼DÇÖñF4©&g>„›š\c–M~¡ñQéÒ˜ºò”M¾Ô0tº5üFÒˆÆó`¬Ä–3b¡û¯X¸ !`*¨ÃRÛ˜.nî8ðât²3g(º ¨•²‰Ðyæ.ÈcëÛ&óp¯ú‚_Öü½E?åh[E6:;ÅSë2L Í8ÏÅ¥}Øæ/ÝŽ?ô4Ù×Û=MÒXY}ëi²F»qû¾õµÞ=YÖ:®¿OпOпOÐÿÒOй0õuNj˜QfÁ‰y ©&¢áé/Ñà4o2‰N_D`Cú÷L#ÈuæRaÊ z³¼æ<èÄVw ýˆÌ[àOg4bi‚'º &— KC³¾/ì2¾)ËŒ†:PÂGL¿ûys‹N˜ƒÐsioNw”ú9þè`“!œÖ³”Ò~ÒòP¼snÙB0?ù,"“P¦‘9#;ç‰å1扅'•!üùwVšÔ»¤â®K(…µ:¬”ç DJM,-›PŠ?¯kÂI¥‹WœOÚÇðúµ w÷§Æã?µ±Å„·S¸`ÈíãаèÁ€0ð@<žâÖºÃÓš{AQóÔðSÅÌTœœñ7ú”ÊD5x}%Áç“]{2@QfEììiiÀž˜nDžg­L§_1rA,ódI®O|r¦ÌŽêy錌|zqübRQ•ÒϾTç'Q¨ÆŒOËŽ`x•!ŒÇ$(…›þ+Äù8bQmú¯Ñ‚áJ3áJŠ'Yÿ¢“_ ;"¡g‘Já"'”Z_Š=°Î<Ï…e³Ä(´71ï››Ò9ó‹Î*z^í+Ú2'ÅSwúÔ$—l&·t-»qxµoé7ÛjŒQmnÝ‘“íÙ‡„nŸï^Š×¥¥YÏ«ã¯óÇŸ‚Rº us³ü†#ÄÓ¶›WÎãÆ’ó‹áK/´º¢¨#rX{Š[ccmV\NhÉ­óhnÖÙ‹Ñþ†¦ÅuŽ¥£ŠCÃnãÖXÓÔ·ÎîœWnßÜÚÛ7·Öþ·|C~äù·.ÿ5sÖ“æej±–‰.¬þþ¹s$ ÷ ©âëJ(õÎs]ev– ŠŸúz_: ”í¼Gte]égÅ¡ý6ÆËÞ/cê9ù÷[ÏÛŽ­mjþÙV=®­•–-ºkkß©¸·_-ÄW òÕ¶|µ7÷æèÞLÝ[®¯ví«Å«&ãÚŠÿr“q¦Â­3Fq/ŒT–]!í7ÇbëÞ2¯oˆ=,Dè]hpÕ»Jk>JËÜz"–RYs†O*n¯pœ¯ÑDãFŽ@ö=ÎN‰Áè~ʃéÕöêfb²ºT4©üIÑ{þì)ÑúÜÊÜ-³+O• 7á”ÚVÃøá³ýÆùž) ]˜Lˆ®­Õ·¬øsÚ¿¿0ì~…Çk\PCªÏï¦öÆ:úŒ/t’……³AZr¸JÃmм¨ÿpý2eâa½}Ãà][lÔµ†ª…˜Où«j ¸ž¯­Ú‘ÂJîeçó¥®d\rªxíž©b¢ÿÑZ)jª»Å®V<Šóïû @ìÕ¢÷&„3,²º¹FYWÅÖ<:e¢6·†b/kŽþ°oÙSóç/ú9¦5nœ¾6.õå¶R‡˜û÷ñ›#x[ÛÎKz¨¡š¶8" UÊr€[aç ë{¾¸Þ©:Ã÷¬¿ŠxÕ×àÄû‹>¶1\TÖü†Fqi8Ë&æÉØÒ­µ¯‡®{æcòýÆ¡o>¡“§^ïïçyðø0SÛÐvr?ÅyQo®ghn '†sãÒ'§á—>”"··o¿—Þ ­ZÖȳhšj‰ß÷Æ­½}skM RC÷—ß›Õxx½Eî]dïvýîÁ©cѱ.:áÔ¹êÆð9gß úuf¥­*¼#0]>Äý$ò³·:ñöŽ.–Öнü¡ÿéÝÜx÷Îý±ëw_Þÿ©.;Œ­e#mqêãw›kºlmEë Πd˜‹ˆ ÿô_¡Œ>Ì$Æüª¿BmOÉ^¶Í´Ëódò{B1t:8ú©ñΨB0k[¯,Ç-›¤x±¼3Õ2"¬2¢áJwço»¢o¢/KSÙŠG5Ž}ÝÕÏÓøVƒð)¶æƒ^oÉS+tŒí©9ŸÛ1¿éàð)Ç×½eÕÄ@l>½<[Ñ”Œ¿ êÅ Y ¥xÉã~r¿ ¦># baʸUž¢–Ú—¨¤Ä[ÄÈ ׳cIÎ ÌÝKž\5i2.ìƒÑÇŽ“†Rãâ\!Á‰þ@عßý»¨Œ0‡c—±¤øò_!F84£ˆ×ÊžÆãe™6MéùÒR Zá¡Équ¥¼¨b=Õ+9*ž#áÍ·Y¥Q|/—Ô6¯×þ­³~"úûÍ%Ž¥"ÞkÂx”`L7p^ùM.9oc8½> Ò¨~ªE¬õAcˆ`#™FµàWFPOPJ6JU^s2‹õ¥U:[‰öE_WB)WK¤[%5³ÄdQAÍ™†ŽÒw+ÆÕÂ̤¢­ÛwÓè{9 JM„VÙ  &•s›¼<ƒ±“J5N*×Iñ˜ë²žlãÉeó>Kµ/µ%4»€£l¹ðc$ÎH[§õ7“§¾¾¸$³¹ô`¿KrkÏU}ø(‹N®˜‹ŠÇhi“ã-yUºµ+­¸Ž‹ý>êÑB)WÝl›¼óû™Nýëxü=·¿ïº?¶Õ·íXGKÐÞ¯ôÅÎÉâÒxb/­óÑ£7ÄíKk}RiQ]A)5: Ù Aëä_kþõÜ*ãïéZÏÏŠzVó¼µv¶æQa§1"ÇÀÜa&Õ4‘M*‹È„R±çNH…ýI˜ ýTñ¬»4~Ë7zAªWóÉm“+ôo¦;°Ü£m“+‚ÇR²äÃH¤R7}äâˆ~ÈEí›÷šŒ!_¹œ&ÅŸÛdh§µË»ý• e°Ž¥àÒn›lXF£q¸C"²æŠjžAT;n0]Ÿ1 úÔíŸÜÕÁÍæÖpß¶³ici?øwý>NsŒ—Fsõ)k~rè+ù¦í^îÒY„ÄS«èù{ÞŽÓmÍ}^É¥Ý9Óš;?b$úiuÝò:]•OÐ>_…À~^ÁgnV ^¼íÀµ4¤ºLGPªsøZP «¤êr4¤Šƒ¼sïR­í{—¢‡˜"(ìûÔñà*ž ©T)¦÷³•_•'¯çÎk¸JSÀ)n4ºq¿Ü6‚1íäX ©t{û.oè`yÿ\ÁRþù6ÝîÖ‹®¶[Úq|’¾Â£ön~ ÉlÁ朆UEŽŠ%2{~IgÓM¾ìUä¶‘w}ºTxÏJç.ûÇJçþ¨t.ú{ÍÈéy”s!ýâœ&uíæ!|Âñ­Œ`xµ„Rg=ëÇ S¸#NÑeX*¦m𩣤òQ×þùù¶évnÊ¥å8 ÃI«] SéáF0Vdm ¥'—7 ={8Ú7ÇÆ©c2V߸t´¹¼BÜkI]p ðJ9àk×Ò£ÑÖüÒ÷Ì¥·ã‚Ýx×OæÆäxL$»ÂÄI•|_eB—h&wï/ó²c'wB)í„Ð¥å‹4= #šËëÑØ¾þühÜtŒÁ棱½4{)ÜŠùhýüz4}>²öG›ƒý¬Ò¦²sÄZÑ£s{´Ò“Dwéë|ëѼÙýn¿®ßûÿã#sÕù¾™ý™½ò Æ^µNÖ2â©u®¥²ÖÚ[‰¿[“QE>¾«ˆ ±ÒÄ~0”Zô·•T1¼÷r§!”—ÓOBª‹-A©ý¡}ÿé¡}¿Ú+!ÓùM)°RÑëGŒ‚-!Õ6ªf°VP>¦¥¢Ûr{vSÅLk%¤BòØŸëp}ù¹ÏçóÙ:`nü±É ørñŠb*ýÜž>*¯õb”¤ÿû!'Úçü+´X•ˆQÄNšþ ¡;ù4£X)ØÌ¼Þ¿ŠÎÀÃ)èalðcìXs£)Úæ¸Òìçžö£Nö(Ëláò¢kP;ÇÑ=;<¾§¶„R¬¥ ¥OÉPŠ^ІR:A)5O]ç<‰‘‰0 {ˆI¨Ž·)Ÿ§L›—`U»*í ­XJud¸f<–Âýò¯ÐÅ‘q±ãW2œl©^‹A`zˆÆL*y©ÛFT³‚ï¢O6G{mWRZ;å*Ýð%õ“³O€_¨o¦nzy4·îz 3·Æ²)çÆ­yÀÉSôó­9›Ã¼t Æúô8Hר¡¤éò½X‰ÑØÖdtXÝ(¦%ŒÍŒ(˜Q½J¡Ð7xc »¡T4,î4„QȹòQ@©xVp}BôÜ\ÓÔ2® ¦™¤G˜ÍUÜ:ºpÆØ¬xç¤üäÖš¥ß/ íB,;#n={Š6K¾‰Å­²s·ä.ˆjhÝIÃ"nÝ;‹½À{…v»&ëí+…dì[nÈkd``„¯®‚TìŒ8u7ª°a§çÚU VŒž*Úý6”ªùM©Î¾!ÃR? ¯„|KÕë©ß £Nª4q¬žEcÈ×§Ix/´¹óUr[n‹ÐÝU‚Rt=€Ã牬²QFá…3û¥"_tÒ†7¦-–‚€²‡0®Õ3R¡—âtVÚ­êdƒ¡˜å€¹ë|áI£+æN#ر?C© ¯Ƈ¾Z´'¾UV<º¬Ÿ«¸uœÌœ›5_è2(n­ÑiÍtp—ÆxÉQvçXfK×B1ì.¸ÙêâI3ÄdáÒ‹ï)É­•-ÉŸWö8/™‰g ©¼ Nqj(=\ ¨ Z±¬¹p²0{`w¼+ÁØÆ­;~¼WQ¦1¼Ñ²tš¹mOtïE%*uÁ¡Sm1ŸxJE÷”ìTœL`¥4A*ønË!mbÛ¨LÙ?m*‰Éí=©dÒÇS\”òR'”¨äÅ…“JÆò:Û†S#âÕÜø¦ñ:¸j° †1ªÁËðª—韋½c¬t˸/‰%yHÞ”TÃDˆ‚PF– ©N¹JmyÌ¥KG¿‹[ãm­mœÚG*¼m©ü-^îÖ~v|ñ_x;ÜòÂ]Б‘˜lÐ]BtØ‚V·B Ð…ûÁÀ.BC+Þ†R¼s82/ðã‹SÍù—cVKHžè= ºÝÁðÅe²i–_•9MAžçPð;¹Òô¯\ÿaZñÙ±iÔy2‚'CwR…+ù=ÒŒ×-@è*3Z…#Í«r…×Í«¢VP½GÁhÅoJ³Ýe"¶sTtßNdÑ{ ýØ|ôišM£MÚÂ÷x¥Jò ­ìÍ í ´’)uP'§¸À³ côI.n}ñ-Ï<µ^¶“[ãý¡ðL»MúäÁߘòãË’ÞÔ<ÒÂg_ÊTrñ·i‰µSï^G3Ñ4qA¨ ?×K=u±™i‡0ø|lZj£¸t4×¢I–\zпø¦£Ÿk;ñÔZ:½øQǨ‹¬—D„éVÄzÚã…mKwŸÉè›Ýx;ÞéÐ:½ÏgüŸžý¯6»íp55l·ÚvemûzÊgí°QJ·Ôp¨ªÄoÊ¢jôóÕÈèXWObSJ/ÀjJyóµÀTòæ 9C(Ýäb›jócÿz£lm§)þ6¡XÅþ¹9øÑf|·$ßÏÂ-GçáœtµªÆ*¿bH…–oB©ùªœ¥ô$4ÔSÚ5‹öV”#¢žoõto_ ܇'ÜÉÏPT2üô±ü§(åàû¾©$^—ê»’ƒü;m ͸mW2^2Ñ¿CºKÜÄú2}ÞN•¼ž=M*ÌB/bL~DÈÌ<A', ½}‡½³óñÎÓ¡ÒiD…w£ ÇÓ­q ÁghäX-‘±'&•ìš,r:w[œÙð¿‹[_šÞižúR€(ý>¼½1™§¶ÃI¢âÑͼ¶íZc›ÏfÍ&%—tôçÒÕ7Š%×öÒ÷Ì­?¿ŸúäTn[s•‹ä©éÓ›ÖnÚìOàzÑ'ÜœÏæÖyœâ©u19Órº¡9¿“[/6 “[sê)[·½Žóf_[òÔï óÔ é[ÜZËl$ßôv_e~FÇ&Qû8¤µ—k–ò›ý†šÈÆo‚RQ=;Äú*ñƒ+!UÔ[÷0”ÂËß‘ªq<1o^˜cß­Iw¿`)TN:SUY@|ÃäÔÖý™D(«Ð¬WáãÈÙDÓϵ˜ç"#دÏjÐuGæ¦Ç«¢¥ÊÀ£æ×7 ÛÏê½wÁ¨´ú“ ysØDÚhþ \’ŸØZõZul…îl‘c,êËÒ/1Hyx:F ¸td6w²æ1:­v ¸u§wvÃc¦‘ÛFúÎCçm ›\ûññçqé<ý=greÛ®5ZuÛv­ûÇyXw:u—ÎózàMËUŠzþf¤Ž+9º˜¯cãÔôeáQ}m×ÍÖœ«¡·–®ß±]gÏÜšßÇdID–Åíu·îò O.íøžæï³cÿťѰyÞ¼1.>礉[kýµâÒhnǹëðò–7=&•""Œöcn OôµqéΓ[w–ïâÒÇpm\‹ ÷âÖ.'æ.¾>Yùú(½±vDñyøZz•ôÍ!œZ7'‚P ¸þÓµž!•¶$(¥úú9ûñ {z8†“² •*Tß2u«4ÊqQk[‘ŒK颗ð–+Žné¼åUõ1Â'ÆÐ&ý·0äÍHî&bò=1:¤¿BºÄÅîýB‡ièšxý–HaÖÈ$&nºü‹FßȼÔàà‹þ uN%£PÈK2‰Xïqù/Qcÿ™æ·–¤‰¡”ºd]0 ^+Ý!¨’à†—9ÁÉIl†Rœ‚$c8ñ´q1¡zÿ\ r|ÞÅÂn½‹J>ô¯—A¢-:Žø›óõSSo‡·^8ê 'þæÉ«¬yÌÞÁ¼séɹ`i]À?·“ÿÒËå¥CzÔ±s©ž¼ÞzÚ#AÜzªºM.=åF”\z¹"n}µ÷÷­/Í5KnÝÞǹk8Yi»yþj™%¿ßûšçëùë¹qÒú½ÊVV/œNê:ˆ Ž GCª›‘ª ³«Do ©P¦s›R*Ì®ÆYAñÎWÊW²?¯ò©;Lå–HÑÉ3~P´õT£ä»Ð¶€Üúfæ%·V¸öü½·¯^Ô´äx9¾K†9ŽÝ Ôú˜`%H¯N³JE©oJaÆâc(Ý—c%¤:ùæ!(¥ÙɆš«ÌYð2‚MÓ×õâÇóç±DŽ$·>˜£æ»–-¹ugû÷¹}Îø,k>˜ÅÉ­;*ÒŠ{msë8=Eè"—Žùþ}ëÉïÉ­'®—žzK.¥¹oûµ>ZE§_¬«Y Ž§è&ÛH\º«Øš[Þ¦ü¹·Íô6‚Ì6ÑeU…TfÐ/j6C©[}"‚T×¹S ¥óIH¥Å¥Næœ!Õb¶ Ju†MsžÞ£vÖ*Õ¿DÚâ‰^8[¦£8zmí½!‚RZ‡Kưcv¬Ó¨:»ße 9ÞiRï6‚\+'øGçì ßï¨Re áÆiT¸òh&Ò Ã}íLš’Ú™¶äó'´bÞœì$?Ù—{±»RF0âTšF¬gšãO?'\Œò'(Óœ'/ ¯·ñE6øvë&XmHÜ:šÏnÉuu KFSòio'Ja2à•Fà Œ((…pËF¹é|è»Òï>ÊëVP»•³ŠÐŠ9‘s~àÉš¨òv8_iÓƒ!¸giü•sO“:ïÝ\í?7œˆìc(uÖ•7¨CÞvt¼,ùÐóÙ<+:å¡I:\§v.êf'†Œ JЇxã=߆eåýsÁ“aq¥â´~Z;2†t¿qUÌ?*g˜%—nA©[]¨³†]>iyûJ±µcãJŒQI(5äæ'C8Õ¿E(5ù|µ!ŒÊãì†Rïâ'¨ª,èêAäóÞÊyÆH&6¡lU^>ï¥~Øv¶»ôaÿ¨Œ`G©4”:P”}^,猴!#¿9JE¹™µÅß$Œ wû9Õ©ÑÌÎÚ€AR¢->›á…Kå4ª‡áEd ÅÔiTÍ16d+*L&K£¡¹Ên¼ßïtêž …ùë´”}?»5÷g…szúq2f–sS|%hœ²ÐÃv²ÂoqSI-Èh£j€a…¥¨É†»vA%”ÒïvÂÃ×%Ƙl1åkJ…we¬"AcÈðâN£Zlð/øK¾C) +Ò+Š/Cø>´ò H{sžÉ8¶tkDÄš/ËV.ƒ"Æ)cB¥“-—ßh‚Z1`´œœÃŽ<ˆ.B…©”òVÒå¤sþϾMþq®š¡Ôè;”ÂàÚ™×ÑþºVx–vÇ[¤.SY¶Ú›[¿¸t;oObÉèµ}†ÕÅk†4‚'Ð J)‹m/•³ŸJÙO׬ö>Ùã|sëãô•ñ5d6”b~ J)kÙ‹¡Þ õôÇÆôæÓ즘T&ÊgLòRO Æ´=VÍ~dÄûI+®²6ùá‘J—^GõIµí{Ñ–i÷–.}2ŠgÚä1"Ö·tëQ!¹ÂëYÇ›Ç'žºñmÉÖ\Ù‘ÜZ~²k3ž&ô‹‰6‚šƒ$(Åìµ!Ô%8U$´iþNÐj0;açƒQiTˆ”Ùm 'ž¨‹]Nè|‡uŒÏJ½¾)¥­`â=F§¸!«ì4ÜEøIC)uSÊ"|B) LÍ4‚ AcH…AÚÇÆðDl,§Iq†œ ¡ÎVPJùrÓ×àfÏÖç¶Œ K»h~Œ>eó&âMu±Sízlbµ2pÿêØ ÔÇ1b*w¦IéØÏ•Ó2úáÝžûÞ-˜Ã9õA)ÿîà›ûûʆ'(¥¥&=d5F-èkúqÉ6ŽßÚÇ‹*¾#Á¥@½˜w ;xï²ÉÇWÆE@ºuÿJŸÃÑ“?Ó/vƒ#E-¯©Ä©‡Å mKµ·mòÁ¡òL·¾¾¸¤¨­ùÛ'¹ô©Î?ÛäC·¥Ó­—n^[sßâæÖì—oa’áyÛïª$7 Ž0Ê£¸5ÞïÍŠ;?Ì­ø¼„Z-¾¸4êŸsãÒ¨{ž[û|Ä·óSOjCo†«´:Ø7³§óÀ»¼ò¥ ,*úݶ͋ó±zg§FÜði×L&réC³œ’KãÍ­ÇñÚîÍ®ˆgÈ9ŽT=[¥|®7µ<^¸tך[óÞÕ‡ª×0ª[y4‚V7*VAM• W, xNŽJÂm’ÓÍwG¬v¼(×ô¼öïæ’ s•Ö·ŠTV;0^¹?)œgíén¥Wíߦ‡/vÿ¯v˜ &F;ÎÃF.ʧ¡B˜6‚¸wûej‰*Àñ4Åõc}©¢ •ÂtÓËF0jy­N!Ô7÷A_¨Îˆ8—ÕmPPP MµÕÓúle²õy¥%¿óçþ>¬øínö3áè캙6‚ýò1ëDBéX¹ T¼  8C©è PÇ*AÔpR€1>L©~¾Ž!½¢Ù;´¨lòK5¥Ó¯ªI×(›|pÖD¦[G¹Ý­9Ã×·ÖM˜vãý~§wÍɆ[ç†ít$㡼êË’ñ‹ëI*‰.£»(%Úç#©ä÷M~GÅ£ÑʵPu%—²AT2*DÈ¥Œfèª KŸ1©d¼¤¯«(e4€‘YÌ;5*š^lÒÌ~A©8º+àÅ +HÕu7Òvù2M*nº•†PÇ)(¥s¸'V£‰ë‚~±±Œ(~þrùšX‡·Ã7¯ Œñ‘ôÂëñ·f~sfø7ljÅr0-!U¬jq›QÄ‚<+D¬'0Œ(¸¦®Dì<4ýù5ßÑ#ò³“»þâ5ôÇœB-Ö–éi#àmK(õ³ñˉ°"ê)&Ñ9_ñó‰xpb^GzÑ<\<ë±§IK>¬J•\¨Óm’­S-ò¼¬ùÅ3Nn¹tmÖüaV&·~õyÌ:±ô½‰däÄö]ÉX\è**Y–Xú`ÉJ.}Þ(2¦±0'ëÆÌêËWþ\1~~žüŒÐ00ˆØr%•Ô’Lÿ™ïFŸ#{ýš‚•ÙàZ{šçM6‚'ßf¥nºö=p:x8óó8¾š˜¡En|íÊ Ô½úKrb¶3 ?s-QDDå(ñ¶ãI_G¬0`[x§’pæ¸ËÆKK¥Þžëyä•:uSçDÓÜORI„2¨CÞeCø°¡n;2 ?³[‰D]Lðöažï™ÁM1^y^c^¹âN×ì2sîì:7v!VÇyèo¡–LâçäØ3]1‰ÐÂr DÇŽ.ºöÁ½£3¤!Œ'f"ß©wõI»ã8e¸>ï¯}rkå>óhî,Ñ}¦R–V¡ 4Î[Ó&JiA© R=¼?É(ày£¿"ÙÇç $üÌ J’——nÎ÷å~8‚~²GÑeôWè|^³ÀZÔUøK¢•[@ø«ñòGõun“ªâÓµôà¹^ 2jhN¶(F5ùÊyÖ¯„(òGš¾'MtOñÏ™üZI¸©ÙëïÅ{Ï|èåþk*+}£!¸¥lÛÖV?R¹A±}ë!ÖÙc·µÈUÌ…”5G÷õ]ܺq¡¨²ä¸(#±ä=ü6£1`OÃÔùÅðDZ!«tž5ßœtwn=¶>0p·HyÄèzbïôqÓUàNH¥ãôÁòðÆÊþa4 ±MCªÉÎ0AmZPJ¡éøÛ——t)…HT§¡·ŒþDyèqpSÞºi‹óÕ¿Ò¡ã—¥Ý8V‚ØÒ©O:Ê5ôÙESœA:GÛ ×ž0”º°û2µ*‹`­Ñ'V¦Ë—é: ¥.ŽÙâÂ݆RwºêØcç„S¢~ ¿ÅPW¦_•™G㜷¾ žãíâbtÛuØÆch©ïï±Rš!Ut\¼wñ¦5|ôþ‡=ηœŸŒÓ/«ÍÆKt´tãðê›Ç»öQܺ«#­y× ©¹t»ßö§~Á÷îÑï{–n­’K,©‹a#ø³òùæÈg¨º^ñs]”[¹ Dn$#ŠS™ DÇ•ˆâ§bHŸÏ…•N±Þñd+<èCheͱ Ðܸôìê¨Íë¤üÏ|T~9Ÿ½è¥ŽëAˆ•áíK£c?é2 dÌŒ^3†²£ó##ÖR¤Ò&¥´/ÿ@?_,êb~èÌõðÙ™&`×ø¡Ôà4CFétšcöËÄ;ÁÃnÑqÙ¢™X0– hrÔáâ©.y°m¡‡ÅwÍ»ë˜**¥hgÉ^ì[5¤ºè¸X13Ç—WE W ªÅ€ª2†'Ï[i§s¡3´egøÊ-kdœ¥^AÓoÂmë:Õ%?Ê&?ß<õÉfÁËDzÙäÚÞøØ¾¼*FæaÔ! %`æÒU<õxsëœ'níí§5_l†$·>øj”\Zǯ›—^,úµx–y¼")Ø´¡SâЛ—­ylwlÜÚ#0eÁ}æy¹xY±þÚ]GË£µT•RYEOŒ<Š»·aŒ,¤%ïža$nÓ)ÆÚ­¹ÇÌ­o v”oœ˜Üºq QÙ÷û­Ù>Ÿß=^ç“:Þ×ö}ë˜ü‚À[æÒ˜>v·–{ñVΧ†8çà€o4F¨dôes>çt1Ëš3’oqë[£K¶âʹäÖÊÁ²‡‡Ì–Þ5ˆ¨™ÆÇåSvR)/¥”‘†T§¢J) ©”Ÿ2‚ß”uæ?œ|pàªò±JÇ(þ%‰:¦‹ðstÏ¡U#¶P_IR§âYÐF§lLO&” óœ»99Ýò Z+51È QqØÍ?²ÿ`0Šã0´‚ÓòöEΰA°û…@Wˆù…¹ú]Ž~t mÃuJ-: ز§ÕPŠ÷µ áÉMA)D™/#xÃ5Üj;‡³%xsZ)ÄôÇ!Mú¸(ç B) ¥˜=M1À¹lžQ†Q-“J)ïùWˆ}yb¼8\çáF¡eÜ=¼ ¥ñ Á×cËÆ™Ó6¦;OlÉ Ú6¢ƒªùÌ”úA7Ù´ÈNUëÎ 98^†àƒàÒJ7OM'ŤÚóÛÑA‹ûÊ\zröwqi cíÛ±>¾¸~†ö“ÛÑ~’oáQÅS¯¯\gÜz°–Hn-ÇÞÛ¾ï_·¸Ë$Ë+fbÚSBÝ„WO,©‰±¢Rh“¬Qߥ„Ç|ôÒáo4Ë£kCî2‚áÚÝ[ å9¸iЛ¨mki´Çê‘ÕV8šBôã¸9ÕZF°3*Ž Ü|4Ú ïŸ ª[EPêâ\awǰåhHur¶›ŒàäÄZA)4ý³o¦±£ñH#xÒ›Å? ÒÆ4›±ò¨78;»@Ój¹Âý0[‘Çþóµ³eÄ7òÆ`øÅ«)(…ØJùM)Eo6¤ºégH…‡aý\ªcÎ)*L±½SKôZü²%¦ê$•º¡Éêâü:+­[5;8F¯þösð¯2ÁFß;òµÐñ€ì×7OÖC†T'‡ülkA)U'\< ãQôBFUlkÌF>Bè÷¦™l,Éutçhz欯Œýš\Z_—Ù¨Ÿ J¥ÔÄaGÆ“v)•¹4ÐŽw™äÔXaÍ©¹ ÷Y\ºiòâÔh†G¥b.×—}¿©y#š¿4F€Ya^»j?æÖp²¼7.ç‘eqkx:]—Ö8Mqéx5B—¢¸uTáØïÃÆ»Ï7S<µÏãæƒùä«t®®›\:J3‚òˆ[Ã^Uxg!µ“®5i“{ûN·ž(eÍ}\ú¾Ï³³÷´¸ôP£ÃÜÚ…=¹´{«xp ªqvKή‡âÒy\²ÉÙQéÖ<^ÕEª„xçÚ€±¢xèJbóì„ëöד'ÖáBã›Ñ7+¢mͪ7|óÞv5Åúi±Ï(ú2MjpθŒ`ÃÀh„³àšUæêb< dz •F³|ÙMÆðÁã4*:}?i…£3®õ¤)ù”zg˜2ÓyJ¨£´šì §Ô9Æ ð…Xñzqõ|+¾F*úU .:’ëá‰E™¿b• …$sd2ÁU±Ó¨´Ã…ŠÒiTÞÑòìq«ù*‡R:A*íV7òÄ=v® BM<¢ S!³ Ë6Cƒ¨W¬±A:æÎ­ÝÆ6§Žá Ek²'ÁTÀ晉RMB8`†Rˆt6ÒvøZJÕû} "ÀR¦I]|C¾ßp™‹±gB*Džm ©N>­^Û´âþ´W,õ‚¾X…쥞“q€R<2thÏc»XŠÁ•V¼©udn ß„g³æ£|ÆóÖhO¯}ÕÚr×KVÿ#|5Ì¥G{sëðr ݹá;¸³¶¿óã¨í™çþ<×i|œ—Ž7&·4vc0þ©iÙ¶æáì}m\á GÙä 1ª*]ñé[YsW˜æYv¤.Û0ø×vÄãÐÎa“”½úN”j|¬ RÅ¡^ÓPJ5¤•jOÂÆ–¦+V@C=;{„ÐÜÌ“ä O2 •/¶.~Ö8.ä,ôŠ¥ß9uîâP„Œ ²é6´¢‡óbSïþÊøs•%Æ£öL*‰I9‡ÍÅÉfŽøNS0ET¢|D›çȯ¦\_Š:gµ8S9²#*MÁxˆAªèغϗÁtâÿ±Œ«ÒRé€eü•(õ©°¦Õ Ñs+RgÏHï̼ÙÏc¨À†×D8—3Ѽcʇ±Z‡låqn¢¯÷†[}yæâ­„§‘×B»ýúâ’özo³5÷’áÉ©r—CŸœîÎ×Þüš¹õåiñâÖ1\zì>ӶݦnèH-.}Ýïý[ç~ζWòÎ~yÆ‚OÍÄY<µ¶½qêñÞ~žŸÎkhñˆD·ôúàñ@߸¹´+ ú¿Û—×f<ÙõÖC#£æÖãTÕ`.“ÊÆ¶}k²4·µ~n\:üúv<Öˆcûl\ZžÉ­Ãew?¯]k¡2ìÏùäýLgŽü5O­ßëº>]þ¬¯òr[#²×V ¬ãÅù97n­wÂ,6¥Q´]íöqT,QÊÛÕ¡êÐtQQ¿d«zϵ'ëËíéÁ՜ەÏ©è$¹C)ÕȆª´Y…{›_Û:±.zY4/•nEÕÏRÅ z'+ V7ËBfO Re…OÕE¢’SÕËÁÁ”1…F?]BÄjk†Rq‡!Œ ¡b†:‚H¬Ñ=mÝ*¥¢T–ÙàÒŠe§•Ó¥.Fu‹FÅ<è¹7åFŽî’´äá*µ%KÆj`m¦!Œ¡¦EÜ›•Ò¥0Q/ý”76{Z¢«µ„ë•F…™ËF}IÓÔ’QßFYóè48¶tëN÷ÿ¨¬&Ü{xœF×Öl}³æ1Eýܸt¸›MW÷ÙÒ­ŽûÙ­ùÍEç“KG¿ðÓË&·ègK·ŽWqùaí¼Ÿ2rñ dbÆtYðÙ:ÏâÖ˜8rlVÜùažZù=ohº¼=(þÅ­ã8Ÿâ©cÞt߸µÎ'y_·Ššn!ß;„V 9cHŸ‰ÃPJ¥øUƒÀ5 åäÖƒÝÉ¥ã2<3±¤j)tìÞgÔ,Þľ!Ÿ!õhò÷P<÷¸&âvI]÷ J¯»MJQ]Y‹øçÜ´OAÕä¼öÊ£ÑÁå•wÍ£+Ž‘ ÑÓ9æ(F…îî 5J Köãõ%¤Ž{ÛÔQlé54)ÔRì¼ÝNLsÞ“%;×eÙ6¡Ÿÿò!°1kÊÞð&§¡ÍÞtß’%Ñ&éû&ô“ÿÄ!ôý ~l´.ÊEó6¥:Bñ×ÏõýãO—¯ŽaÛ;y%…ø¹HEwf"¡Gõû6‚áÛÍ%.JÅ”è{Øb6„Eןh©y±™ï×Raù«ÑÙ$@„Ç)f‹[DAyèòí3·ngú‚[G%¸ÚÆ¥Åv0—v8 á=œÅU”òa˜»7¾Žwô زãÒPjeçà¼Ò%ÓêV¤C:Ë:MŠl†UXƒP*O餽©"Žc­Íš_ìÖJ.­ý§M>4ëtk…­Hk®)[É­ÕÝ–vã¨Â·ôÐ^ZÑÇíóCdšsãÒK‘JÌ­£K4ʉ¹õT´’äÒC±HÌ¥ŸÇå¨ë‘®ØÁK©#ŒÉTTØYã!/r'[c$§—5¿åi.Š÷äÔ¤[qB9I3j„ýÉãIõ\ ¥8ú!UØCgÚQFCœ†ð<ÔÃ!›x1ÀW&KÛ‰3½:B¯Ã‹äà4GB«Î ‘‚©¶ŸKé„&çEEÇì•Û”ÒþÐôCÿÀ”+Á¤+ùfÁ'½Ž’[#ÇÚ¬yÓë¹t<„¯»lrùÿfºõÁQæ´â].æÖ]¡ÝÓŠ7¹Z˜[ë*”÷Eä%v!bÑh˜w:ðÒ ÏøSU‚­ùÕ?xßlÿ°ªjv›ß×ö’K?ŒÑï¿ðüU²Ž¥¯â©7—Æê«ðg!·ööËš— ¹ý>NÎ;0·öqo… …ÈùhžšùÕqQ:»‚ cæ³°ääta¬u>Ù+šóÏÿšš Ì¡S_Щ0dˆUÿ”5×&=À­Iw·wÕ”ñzhn­•Óš‡/ úë».Gçùê=M.ÀQÅSû|Ì­}Ü~=TsCòÍ¥}|æÖ:N¬¥ÃÈÖs–±¼!¡C¬ÚtÍ…Õ;feͧ~gn=õûÍ’+»“[kÚžÂR Ñ8ØAZÖœ!ŠK£.ØìÆãòìéÔl§›â4E Ø-ù¥8©æÖ—ŠMYðÓ¯ì†V4‚²âŠDÜZ1 ÊŠ£7ð.n7^„Ê‚?õ;pk8´—å»ÌoóÊ^§[o@ ±LAÄ?È4ÎY{—ï ;Ød{Gî¶8}Â+'\ÖÉ(±ñ x¸,HÛÂPäÓ"U\Ý~lí%C)–Û2hRñÌ¥NfU„¡¸ÙϪ©œTã—Aõ˜?_âOÜyqBáÔ£ææ°oZñ˜¢iOÎó)»ù*›üæ##Ó­¹˜ïËbœasîÃKêD7z0×(›übÏc¦[3eYñ8®SµÐzJgº¸5ÜéO¾4ÁËRΆ‘§÷S6ù¥—A§KŸZÄ6¹Î#Ó¥—‡ƒ< µñAßœŒÐÏó!—„qm¼ÕÚ„+‚}$OžÞnÑz< skgCZó“ïtÉ¥•Ñž;ù¼‡`œ;§ƒOJñô }²< mM PÞô;0,5¶Üsév.GŽW§ç] Í­]óîP©÷v|Õ]: ÊåÕR)ÖUC)U¤ŽÞ< +’V¼ëU¹kèÇ:Ó=$$Ÿ.w¸ÅWs¸{¨ “\úze—Ý8žQ[:ô-#ÛÇ8ž~¨áØG×Tœ!ŸZñ¥h2æÖÛqÚ/•ˆäÖŸç-muóô_Ÿ¼nÉ¥áb|·ž ‚ÚìáudÛF1•ÓŠûûæÖÞž®[ô‘ò’ÀD8]Î\ÃÁjÌ­í!n­âqñUƒœê§¸wÃÕÆãig(źԆ+Ó܆R:ð2œ¸ÝØ?ßÙ‚W߇.ÝþTæW«Ü2O­\Ööróv£5öÖœœZcr¶æ>*er^î ͺh‚5FÏÀߘ9n›üÖ+±Ó¥Q޲ÉÙ[WéÖ £[Öœ½uÅ­\¸¬9#·fðá<î<¿ã}>Ö{ñ’Kc‰ƒhΈ[·‡½xÅÕ«w³¿.¹4«R=y–œõ»À;_69ó¯Ò¥•i“«W4Ó­—zmÍÕ+šÜšùXöªªMýIäŽØ ÞSwžßñ>k竹´³UXÒ™jJé,•œì0•ÉË å¾*Žž%ïõŒº'”ß_ÕSzléÖÇ•±;¿VöË¢»–2ÚÖ‹³ªú©6bp]ªÕÅ­#ªÄI]¤bíĤ–à;9Ze ŽhQ·FôòðŽTN8¢úÕ”qí¥›fù'?kô„÷‡yÓIžºŸÄ¥qÒ¸ÿÌU.¦ïO_1jF™¼åŒ¢ÑôW*ÎAZsy|'·V9߃wõ½‚¡_÷‘ï3óþqZŸ<´â>~skŸ_Óè×dß³[XÒ™-ºE\X½(¥3ZTÒÙlJùq’:Då¸2Vùi#ÈL4”RÍí œPC©”‡~42ãœ&Å(6„:NA)ŸÒß>Éÿf}’3ÇÔj“ye7>ÎþJ‡Ž{ãiew~µwú¥†ö ªá¾F‡?|>쥾ÇslÜ:"¶—ÇòYÜ::YŽûeùð?ø>dn!3æ©ìPt¾G™Kž9iÍ瑯±àÖóHÿ«ôÃZ­²;¹µ. —^Ÿ«¬#®Zã&9‹[GßŸÂÆçZL‡oÖ[c*þQÖüÔêR橵Ëãñ ÿþ“KßX5—î^^DÜ:nr¼Xhw¸ ìÇß7+îì2·v¶d Úw¶ÞìaÔàÎ¥5MKõû0´âaú ¹sD0ã–çôf¥<úÖÔ{nöb¯AêÁa¢äÒˆÊu–Gh¹žXC`wBô‰<†RÑI¯z§ßøî5†EãÁ»ÖÉ•|"`^[e“_<ÆL—F šÍšÃÃð.nؽöëí9Ì3”g_vª1©±@ZZóã#]º_u§M Ûþi;æ“ÑŠK£F¡çÜØ±úaƒÅ»ëfÙ!·ssk,™µ[óެâÖŠÀ–V«þ®âÖóÖãX6ùÁóÈtiD²ÞóYçíï™§Ö÷•ù½¬ÒÞžyæ«ò³+ :iQn6›¯wkçÒñƒ~lYs4›¶të(//»Ôü±s/¤”Üz+‘Ÿ˜¹Í´¶Yñ¸ÚÆ­áîmV<šŸèQ·žêͰMîãwºu\ÿ¹Ùƒåís;æƒ#âÉ­±jå*›|¨*vºôÁuʯ©¹ƒÉ­y|Q==ˆÈ28›yk31Á6Ó¤b‘v¥¼½¼ UtôÐ÷—6ñÍGw&KÇlñÑËšGË_ 1€[ÿ*Àæ*èÊ Ã`â>nQKç&&×Íÿ½˜‹Qkª‹Vüµ¹ô{´-é »¼©â±±Òž(ÔN“š ðÝÕe0õ„5G‡ÎØø¬Ì5Ëæû±_w´yinÿÒ®Õy󂥚r­âÖ±âFbd“Ëí2Ó­o·²æF|Ì¥¯‰‚œvãQÜ÷tê“Mtç–/¯óû<”™íIæß™§v™é©ñãKãÚœ=ƒ2kkŽ‘À[cšÉÚ¬8B±>Å­»j&Û,û*ÓÉ¥õû>øä@¨lœßnÁᆻqëxuŠi[ó9ÞéÖóü°Úþ¯í˜«Ã(Ó­®-†fÜeá|sˆ­¬yÃ=Y\úâ}œ6ù»½Ò¥=­¹Ï^ù¿9ÿãЇºï-Å  Lž i\ñ” ðsBXÏ,bU¹±í\ú‰µÛ憩ãÈnø/Äøfàˆbn#ÑU¯„RŒ§n#«É¤ºcaºÛÆp R¹Ó¤N° ¡ŽSP*Ï餽ˆ£Eˆ,Hk~1J|rií?mò£¬tkE‘Ok~áü‹[?Œ ŸvãÑU´§‡~x5ò¸}~]~?ëÖ>¶ï[GHwŒ1‹[#ÚýظtD—;9¸t” ö¤¾Ž*Yàx·«cà&–Gœcûà”°WÿH¸è%ñÕ—6Ëà‘{²d¬J·oÅ¿zíïu$>€½©x KÃþ:PŸŸéµ1~7=FKÎäÖaÇõæ¡£›|Ã’ðr8Pó4Dƒºÿlß“ò{i7þ™z²´¥ÝyÔh{:ôňOiÍoö`%—^š^c›¼Ó:Ó­kÓ´æ>—ÇÀÙÆ­#£1,e+Ž»ò.n}±Ö/+Žº³¸ul+®KZs…JnyßޜúO;>»†¬£5TÖ\ÃbÉ¥§¦²Ù&g¤ÂJ·¾yþiÍö(&—þÌÿäºN˜fvÑ¢œ©Ü™§vyõùø¼®s듼=}c½¾ÁUDF.4ÒW~iÿ²ð¸_©ñ`‰Ç[tYÊnx½S×ÍYcl/c%NÜÛf}h¾éy·Æª·Ûê¬&ž:|ÁŸ#9„Tu<´Æ¹x‹’S÷¬íúZ®?’WR’†úýÞ’’`×kl$+ÉœÇhN1ÈËok>Q'–dvr1Yº=À¢ª>®íƒS°¿_)ø+Õp‚«?8é_1€kÛÚ{#¹ýüŽ7{ö²sßÊg7ÞvçjŽÉ&WýúÚòdßH¬Ü¾J7/”ƒmû¼T÷…júFd—ׇ¾Q¯/H‡i‡wø$c#ÞGØLˆ¿v^;ý÷w½wóϽ_§J3/§±jSþIlÙÜ{’IÔˆž*Éí úN|Û‡h??ìÓ@)fBƒ7Ä7#¬êi3 Ï-%ÁOîhÍÚL@a~¶”§2(äg£êF¯EÂû¬ž<™g) žSùUœ„e¸"s3)Éï+QIªŸâI…iPŒï¾¯ŒSÇ ÌpVBêqè •:–vÂpNHß8*¡tdû,nõQé&¿O®uðÐ_‡wpà$Ÿ=É$Ï'“v‚ŒÈ¼Wvn›ë¾>I´KT®3qUâUàî›u~òËÃÝ7K«kR­²€8¥JŒÊÔˆu×8€ÕÙñ@‰»L0ÈãpJñØÖíÚ66y}êV¯âä§\Þuïû±¡å†íw~÷@LýöÁIÞC%%¹úç‡X†‹>·®T}pR,J޽gR’åë[2Ée¸’²”»õÛ7ÀÇ-³wa–´ú°T|rcõÁIÞó@ÅÜè_ƒË0ð uí)—tK8\ÚJ08Ôºw’(Há·› -tÏ8!ÁÇO6ÀâÚÁåÙë‚ûègèe+A»«o$Ðrëç^Àr7™ô&c/<.ï’†KU…GÔ7^Vl3áfõ_)Q’c¦•m%è!SßH0?²-†o¡W†î§ó®¼q¶*]²¯jÕ²õw5œº}TÜ©{ï6uÞ Þ¥èf]Þ·€ïŽð£øÖºðx~“]7i7ŽJhÿ@ô×GÙWB[íßhòµù^«ì+!Úv¯oüœÙš›Ýš¥ç7æ_Û°}%4ÅLÊo<<Ò´{B“»N~ƒ+¥ŸÌÛWòaÿ@tQ^›}%<çû Ï©ÇÌÚ./ÚÃLLû>9}»æu¿6› ÊX¦´M¦}%<çû ЋǴšlç±…½>ìC¿$e‡¨·p·ÌŽá¬TJ‚sò*¤uê¼¢*%A´jƒÖ ¨¿Ú]) âÚo‹„gÿ­bjćµÞ6ò8e»&¼zñ&³¸lÓ°zaV¢iühKÅF?îÚÿó]à:7»'<çû ˜mwà:Ç“2 +Þ0×ËüÀ¥ŠLÔ2lÄÒ+ªÛÅØ’·Ùf°šˆ²AØòdÖm¦1¾®–°eØ5wôÞ~´fJ],oŠÈ’ 1yÐQŒålÅQ¹úºJgúñþ~4†ÞM´ØG¾«ðÕË (¤³ì+ÍÆýñ@;Ÿ²¯¾jnß ˜j‹êüâRž½ò!­øâ»@rëýðçö½¥Â•ÜÚç/üùÌ6ã•‚Fz8ãVŠÉ¼¾ÔÒ÷‡wÒñ|~¡ÉPÖèÁ¤¸XXr£«w­>TÒÃgtý¼ˆ¿“IIrï*1à 'Gd‡‹‡u¼÷œ÷Æ­ÝI"n­âvi‘éƒW7ìùìT¯Æ–uC¬™ôQ›SØRÇ¿/0÷­¸·<ÝÌ?ãÙ’’àïØ¯C’ÈŽgßžÀçKëÊÇÌfWWs.Ú¬õa~X&ÜŸß0ˆ×·y–;÷JI0ú¯ë¶– ›[JlörÏÉðºz©=¾}PÊhm x b9šü ”x¯±% 0_mû)>™ü†ú¶·qsýik™4bÏ®•¸ˆ zE'Þ*)>\ÇþôEÜ[žfVN &?[Jw˳¦ŒqÛ‡C»WÛ £7¡H‹Z¢!PÆôÖ&,‰²ºŽ´Åoü‚AÓRÛ¶™€»Oëž~+Xí?ûLðâ¬ÂR}Õ½my˜ ³9úhnFf¥u¯r}`Š–XOî%×Õ2I+¬¥ÛM)q9zš€TcÜrZâ‹Ýí\‹œ~›_’êƒS:Wd¯¼‰÷þÁ)g] Í ýJ {cZ‡=è‘CGþ5[¯4«ëmc÷u¼·`×Zƒ!›šG~3ŠÚÔåZùE«mlf¹ñ¡G‘ÇPåO†).–“O+~©F6·F¯nÛ¬¹ÌjGÅÛQ}pJÔEcO0ø}µ3åç«ýÙ¿apèUÏV< ÒÙÊîü3½Ómí[óÞh7þ™=d;s-Ó?¹õÁI.í‹lní"‘wlŽ&¹ˆ:¥ /ËêvÛÅ æ›2o­ÊBfB8´‰‰Jß×±± kN}sý¡ïi—ž5±’ ]@¢¬'!•¶!èÍsghEÜUkxy>ì¬ïå÷ÅáŠñÞ ¥6îqVÝ~£ Uø"ƒˆÑ‘þ2l” ²–Œ²_0•VÏhgm…_ÙÎÇwb3I%ãJmTr`CI%ãßF%ãÊ å‹/âˆF+ SŽ'¶æK…/¹ôR•Öü`”\:^Pw½çŠ›ƒK+…~žÅ­»^ÒŠcú(níòÓcn“ó pÓ§5|nÜúàCÙÖùç|ÉóÒñúü½x2OÍcÛ¾uœÇ~<Ö³ªV-ýù{>?_äÌ—,§ZõK§à®Ô=ê¶í8ïó[>Ø>t‚A»¾j¨±ØÉý\wÚLÀ‡Ùß +Ÿ}su³Î¾'n*6e+¶öÎìœÒ/ö?|]…;B„‰Fñ¸7.­á§öy™[çÑG» óø…ÍE'ä1:%V×Y¾„Ç2Mùd£ü¼’æ^Äk¯:.m4;anä†!UTÚ÷e(•;hz–w¤rG·Ž p]Å­ãÚÍ^6ù-ϧK_j^ØšG1ÂÓÈ][ַꈸRWÛ6ð+ÁàÖm)tUÙR =\ @Á[qT‘Ýs·âÎ5skçŽíGîâš\ƒ‹­T?¤»Œ §ä¡™ú@yè‰l}ôÚ²°¥ö{ªoòâÈæÍ‰2‚Ô ¥&kOšèíyèjºÊrdÀPã虘i/tÑU²4»¡±è÷‰Åô¾½œN¤)õ6l¼Ém–:¯¨Y,WÅmh[–Ú1^ÕÑ£?Ѳæ}~<•PÔ¾¥DßåyÖ¹úñj‹ Ù¶N`§Õ–’ÀÇ‘Ö >e¿/ðTãmªqÄçÝÔkÆU6ÜÐGKâÚþþB&<ꮈé\ô°˜²î,·ÉSo. ϳ³¸uî`ûà  U‚GÔN¶2ÁÀGŸ>S¯½S•ìž#ÚÈ»ôH ¼ÃhÜSÚ^M•`uJGýVs1ê,Œˆ£O“ƒPÉ¥§Fkb2[”hØXŒßMÆÏq:r„Å7âƒpj~àó·ïí}îóäËXÅcÿ´Œüãâ•ÔüÒ¢õxÅáŒÖ‡OAúŒR¹7Ñ61Ç®*YÿPG6.R=|1Ì¿Ì$øT0+U?–Òé8úƒ_cBÚUtpáÊ9ºByj õ¦D´™U§¥Óa[›GÿÔÆ­½÷´âÚ»òØW‘צq¡˜¨ ÞM¡F`…/vŽbu½1K+91%"»Ì/®¾vq½¤A7¬8€ä©7—Æšˆ˜_Bníí—5ç[dqéx;u\©}ØèZæ-ŒÑåxÌ­~Vf”©¥2JqòZNÄà-L©M™Jz¿þ6ÁÒѬv¢ ^Â’Ô¦a®ðükš¬qJ-bp?´ñÂ^Šã%£6!á°ú/cÀ.ÖÁÆ’hŸa½¡où–´Óê7dáMÑ™íNkïΞïŠîÚ»ÆØ4·£QôЛRËñâynI—Û¿“›_cûI¼·$œ‚âÒï"š·<Ó°üÍþ!R¦^r2Á€oŒããÃP¯œJfõ]ÜkKOÝ0Y¨¾o}еËÚ9š9)žÚß÷xŸ3-Ð)xhÈ—tP\#3Ê Ö(·†Õ÷æárfòÿÖR` ÝŒZìN5å°Q¬Ã^Ïä©ÑJºåÝ6Vê÷ÆðAûmŠœç6kÚ$Ƈ³¿8Ö mš¢ÜÞ³¶ô]ÓsÝœ2í¤óJÉ}¿>äQû»è†eÖ^MŒ*Îiõ°×FPêaï»;NL«k^Cís·æ§^*Ì­޳¥G©:¶/$@Gø³ÙL8ÕNËöžxïŠÎ`–Œè ž·á‰7I§QEÎecÈn§I]ÌNÁó•öº ‹/až<2C)uAÎmï9ëãô2%:ð°ˆ œ3¸Ë4yþÒ$ñkãÖèðš›Ýø}¼ÓÑsÅÌH›¼óý<Ó­OdsYñGu­¹õ£‘õ´‡nafŸ¹5ßZNæ%ó…à|¢³R è3Á‡ÌCù¸]/m?ÂbrÆ"VëSÜ:‚ûô[Ÿ D²:– ½0¬æa „le‡VÐq²µw²Ù®`˜ñ;ÄbæRh³íº«_GÚN0|ýo>ÐÚIÖüàä„äÒ±ÈÛE÷„‡ˆÀɾï®hÍ †ñ·®ÒãVt%skEp´MQ_Ö–n}T4Yð˜Óù†;Ñg­íÄXÛñ·ÆŠÅsãÒk(*’ø®û¶Ýý¼ôöB.íý8û3ÛµœfZqç£yjå×1¡ôb4¤ˆ¬ [ñ¦•Ì­·ü›jßdHÿ±å¯µòSW gà!„u˜ewìØõN>çÒ\'³žáCY[p)#si¬Pµ}ßúô"%“¡¤ºèÆl€ŽZÉÜÚÛ7·öþý=m'B(9”Tp뵤`‡äÒ¾I’û¦ñÅäÅÖ=fÝÛ-á[‰Ek_Ñí½ÊÛV‚;ñwŠÍ)f«PŸýb=ݽbºúeÍ ó‡é±§¥ˆíÈú7ÍÀ’×§ÑÚfi:i0V¥Ô¢ŠpF ‘ÆðÀr•N“º¸8$&žEŒ"#8~`˜ k®xÙ+.PŠÓõÄ(®é@Dñ͈7—¼´ÜgÉjZCªXÂ*F;ÒŒhŒáA(µ»OÆðäy+ít.Ä)Úœ{ÖÈ8K™‰XÜŠCú\»±ŸÊŠ7E5·ÆšeçfÍE$¹5ç9î|tE¦·ÆÓ`”MžËçbµŸNÔRHTJ×"«8Y"±Ôëö4#l ‹ÆÄª>Pc`ýwÃÅœ&ua¥z™ˆñÆ6.îoÁ¨~Ý S!0Ž+V.Pêâºãd¶+DñÍînùpéw.~vÁÏÖVBª‹QtË<ù(”ŠºâçÊÊÆÃøÎ4© ösÜrÈYÊLDHÿN¿S®žt²‰“V|°”$·v)J+Žˆ€Ÿ¶giC)|8¾2ä%ÎØÂ²ÉOé¡6ÓùN7·žZb"WÞ`¬W>’§on=U.Ì­½ý´æKmsëƒe)¹´Ž;ªâu¿š.ˆŸV+‘¬âÖÁ|mÖüúH¿Š?çÛ®-ûÌ3ûu™CÛsQV¾“aÑXóÔãÍ­§V^1·VqŠ5¹8­Ž¹Á³µÔ&*¥{*ËUÖjåïU.ûVî]Î?z¾£²"^jcGÝËw®Õ‹[Ùc•5Ø•\úÑôÛÅdöôe·¯ÞêC¥àÐŽý+IN÷VêgãD >54ÿÇ*IÃ=Ûw’´/…QÉN:äPSIIò0êC&é˜áŠ14z=5¨­wÒâ3¯SòýºuMÀ@æ¡t9cÓ%iÿðÈýái[‚A¿Ôûóúðh€³ 2Á ©§¬>(%rñÞ Цíœ2ùÆ_ 394ÇÖ÷wÓ øÝì¶Ë™äÉ5•”Óm"·µÞIž‰ý<ˆ~Šgí9ì¹1±ñ¼-]ó&§_Ú¾š#úIØl}s;žG'oן?HÞå¤bnMgÙ²æKS&Í­/ù‚Ùn|}¤/M˜œs³;W<æ½Ïì•íÞói¤Y&%YºÎ•”dê‚ã®8Õ•ß.û-­õùáò £õ6•”d¨ÜÕ‡Lò¾*)‰‡N]%ñðhFoU¨2aEY) N{¬Úf­Û%SÈív·œ±·Xˆœ`NÖ¶YóSRy3ä øÀ+)ORgðû–ÚËt:ŹZà¡K¨ß"è_Zó. së¦^KÛ.Šû•n0KÏnÍÇGº4œ“VÙätH«tkÍHŽ^YŒ;ý“[ôH.í+anW#SS-£ôýÙ÷™IxŒŒ=É䶃_~¨¤(ûóÚ¿“Å¢ï2éÒÓ¹’L¼Á„à$¹¶;†Qvמ”·×±'%q&TRf‹Î”¡†¼oWæX<ž-éEæµ'%y˜-[’ üuáOû:Ó5¶S~°WPË`ýE{}PcVáçJJ²`~Ȥ±wYsÎ^Ü®ðmÿ DáŠ>('0®V»·N‘·s%tM°¨{Ê%F0ëdtmø+ߦ–íeÍéI¸%$8õa› ŒšsWŠšwO[ yìþÆë¬b(›G¿x #®i(•‡ÃÐ7|~Ø‹ÝÖX·â*nnÚs³â^ÙÉÜk*²æ1úøÅ¥ãñ0ôdD÷…9‚½­J·Žµê¢>­x< #\˜¹u¬Y—VüäÉ­µ dYñ ˆ§“¹õÃÞ´âÞ†yn3–¾Œf¶æ“ƒ4É­×õH›üFhÂJ—¾¸ÞYZó›÷QrëX³.ÖŒˆî©~c-ˆ8&¬ñðs’[G/Oô™[ÇàVçÚ.½oÆB–8©qù¶äÖÞž¹µöïãòqúwy¼ÞŽösr‡‹kg_Ìè2X]hqeIB)DA3­±o'çmäÛFöãöÂzdûÑÄ®KŸg¨¿I}f?w‰ ”FæŠÝ¥N|ö"v,H.kã}·îJïß‹qÑq—ÆR*íH›㕳ҭ'+ï´æYZ±4ìüà¹æéŒ,Nc \ÅŠa¶ÃbyéðŸ%µä2^wYó(œá`n­=¦5בüy´}HÇ%(¥#xó\y®ym| cRÕÉp8ÑëÃͱX’-'‘M~€ŸÃf±\Ñqð¡î”øƒ»Ež±¸=•’ Ñeíe‘ÐÙPËë°WÛà“ó#’[O>ÿx~í}žã.žúDȃú¾5'dK~ƒ±¾'V‚ü>9xó}^oÍ/8!ÁD˱l&¬Ïo$8ÑÜ+»'D7ìëše÷„,þF½¼Š VùþHzt(óÜ?¼’ÂùâýÖ”QTæÖãluþŠW~+[Oµ)ÑÔƒãOn<“jwÞ‹/#úêšÚGñÔ ®`uÙ­}ù!¯|@Éý¹ã÷5½5—d'†¡ÔƒåÊD¯bB©x¤ö{3/zíJÅ­Ói0`1à (Û8Ó>ìY”Šáä17c÷ç8 QK¸Sõûe›œ1ãô’[cnÀÛ‚wÍ40·VëÝ’Ÿ¸Ñ{Óᇿ×]ƒDá0Áçp?Å@?ŒÒ¯-…C:ú­æþñC²èN‰ 0“ë‹=(xÿz¯šešî¹©â #!¶Ä ká&•<”ÃÖXêT:)Óüe¿¶ üp@RÊx È04†âg8*z°ÎÊ䢯&‚б`Ù·/®ø‹V>þK§mÂÏX^AÂHÆâõ7À.+ÔøxâõLÄ{sàç½,‰ ¤éÜ0×£ôñ.(¥ÌÀ0lôlGã3x±v ~³“Üúa0­x”LZ·œ˜ñ²ê¢ÁŠÄáG05¼<ݽ6.íã6ßÏ£†þ¶s\ïíYZ59õs½6#“;Ç]”òÖâ½¢’÷à’ÓT‹  ⤣•e«_6†\!ÈiTñ@ø)n2†\ÍÏiRtˆ²äj£†T'WÑ–)ÍÛJƒšx'8øfÔ¸h£þY\’ãî¸7ýEjçá¨AÄ»!‚ÎØL·M@©Î,)ƒ÷@æZ塲9:Ƈ:ȱ«¸&mmVüáyÉ­­·ž¶82aK§fLux ¨Û|ØÕ°,93½¸µï¥²àÑÀ¾ŽâÖð<è›_ZOÖÜïª×fÅO–ÒäÖ‘¥ýÙ¬øå߉[_ú}Zqç·y^_ü¿uÒÿù:é„¿Üï¿ á‹â¾;õ—äç€â) ÂÏ¡é/I¸0v~ŽŽ„CI°è¦ˆ>G‘‹~á 3ëÔtisZÒýàÉ ´h¼ YL§¨$©x·uàï GßË=‹J^¼¢Xí@ ôÆÝC…:–f˜4:m”´¿~+†~Qþ˜=xŨœÄRÅÒ« ^0U¼O¥Òi¸—*¼ëwRŒh“ŠÛô¥PNcf÷¨+”ÚYon­\VéÃÃe-Ëà‰·s~þ,¤?¯gg¥Q±L¡ßufv2§Åò²Ä(ž9yÑuMÉ,±U¦#Œ;¯2?#Â?ëA;1ï–nêúÒ‚ Cqè`¶X=ìüÖd skv§–WQJnêo½­·Ð%j^ìC-ù¡.si·ù~ªîø;m'ª½}{Ö¨öîS?×k3’Qï©r¥DMWß•Dw[-±þ}mþçµ]Œôcæˆq¡m'Ê´¡ÔDÁÞLC…¥ÙPêBQßLÇ å=öþså0Èw ƒš_nêÈoúpy,úŠ~®e± ©æ-(5Çþs©ü)΂RƒCN†T¥YjAˆaºK8è`…Õ‰5Ÿ#xnYñ¸ÌZrf– Ÿ=U—|ð§1 ë{WœÉ¢Ó }í²æ½søÉÜË­÷VöØÞçv’c­Ò­µÌQrëÅi1É­£Rض¿k,\%ÿá“’M¼Ê ómúwü~ÇPXe—u,8:ÚµqjçGòÔ\O s»úÈüÎü·¾Ç KÞy𼃯zý¢ˌ¢£ªKÑóý["LL÷o%¸²¼×5T®nÿÖ(n L‘ˆHv= ÆwÞ¿âI‰iÙ£`\Ó4ëöF(xl:à<ÌrŒâۓЊ·`„Õé3!•ï Ó ÷éI0Ë0¼ºè`Þµ,¸2/}_†\ÂTrýã·Ú¶æÖ¥MN¯¦J—Ž'ÄÚlrU?™îêHÕÏVíD³Íœ'Îùù»~ÏNåMð÷qño~\´wq Î0¶æì±§¸4gƒõâÒÑ[<Žm;Ò\]nÛŽµæ›§Ž·žíx^º¯ú} ŽÐ«uÒ{®ieëè¿Èþ qköKœo‹ùQÑLL,ÓEƾËÜfYn8h?ci>6Þüpä£ìäXñOiX1³“…ÐJ^f˜>ÙÁø ÔMOsë¡«—\:¾ñ9¹ôнWœ]s÷¶kܳÅSÇÈÕvt¸¦Ôær³â¨=öÝKÇÚ“¬U/W| ‘¥nûdÏGÿR?ê»òéšB6q›fÚ…7–ûälq±›;™,¥·J.JéYÛ“PÛHlo;m¥ôoëàßÚ:x«Ë…Ò÷ÎÇ §’]¿aü{IþÍ ¶Éq t‰qq<}dÍc Ço4ÞbíôäÒxa¦#¦éž|>^Ü{æÖƒ[¦Û-,Z–G¼”QS(nèçó©­Cu.O½¬øy¿²Æºö¢íú{á#Ù{qéܯíÅÞ¯÷QšÆ–Ι”ªó)Ç¿F =ùJ¡ˆšnÚÄ\¨ëõS’è O°ЛɤÞù׈ošJQ·MûÂH.pçüYŒÆœ› ÈB.F±¸Ò³ X¼^# Œª–kZgLБ¥bJŠmcgû{¦lÅÔF$]lÓî\Aƒ2=´‹½‰GÈlòQ1·þV_ÿÖê+j!EÒjêíÇ‚˜´‰—ZvN–ƨÛQ6ySYqºõõ¶¨0ÛèÝ”5G_"‚F#3¼÷ûÁ^“;¡”΃P*×ÛÍã¹T±5¼ç¡Â‰{ï¡·‘ŒiL?ŒNzcÉÎò\xA‡FJÂÿõÒË“-ytƒíéÖ‚^XÙäòÎtéO§|sL&¸6g}é¸Ò×,›üD?]¥Kc|a–MΞ¯JWO&b´´Å£'ùÞÒKŸ­Œ(nü'±åÍÙ•ÉÊÔvä*¸µžie7Þç;úd3ß»åît©#úÞ‡û( ´ã­+µäÖÚzì‘Ï^¼ èY$“ˆ<;Ì(¢‹òôo%::’A཮™QÄs/“4Û)&ÑäçCFæ¨ÂÎBŽ™(¨Dl9éÉolÙX[[: ‡±e\þ<_ý n Á²]?`nLÃr‡CËšǑcüP\ºˆ69Bm驵_ÕG¹m7ë˜ m¶S…Åâï#ìßú»°ÊÃÏÝ«UØý%ùi¿S„Ÿ;œ^J3X+@~|ý%™XÑCŸÝ`¦úl´&9B˜¬4¦r3¶lXÙÖ&)'»gª¥ÆÓF‘U|Á~”5ïr[3·ž|5H›|qL-Ó¥1ml '^úô¡þtþ<õ;i§—ÖþÐe‹ézl¥>\Ø¥ìà“^#–²Æ]ñÙœlùvOYs­g˜Ü:«âÞ¶M~£Z¬té‹Qí3¢³(´3ËÖ<ÑÀ©˜d•TF=êò…Ww /G ”®W›¯uãÞ$|9Ÿ'.|dþÇ}$ŒaºË$µ%øe oÈßµ¼wxÅË4ï1ÞŸªX€øYý$ø>~á”ñÐÃ總ú1Ä‚ç` Æ‹ÐOc!&Ð ‰…"¾çJFÅÔ®4q¨Çû·D±LÍ(0Þ™ßnW¾8Ø©¢žx|ð:^”„Û'¡3"Ó×÷Ý0?âÓD}39Íïzô|¯ÍškV~rk5žÓŠÇޘĭ'gôí–|0~Lrë¸àýeÁÑŸØðL@¤q,8þ°_¶õ²ækëÜÕÌUv7Çï6úÃ~mG<¶÷¬÷öÛïwYs¬÷rn\:F™Ñ÷|}üÎ\J>¿ÜŸxêKÇÉ™;uÜ>sëÆ)É¥gdfD“hXE³­¼µqëÏïKçö\ÎU®ów⩹4äŽ4a$s»þ]^Màèájïrp·,ÅÙÎ×ûäÒÞŸË•¯•Ã^üdmˆ²™\ZçQ\ZnPÅ¥áÖ·ûÓ÷¯<ÖPOÂ+=Û‡þ’èõá^õ*q°7l±ZRK€Þ¬¦’”õPžšÄ¢’‹Ïؤ”ˆr•t÷•âÕ5‹ï:z=Ï2® Ö>^C…ðœ¹ÌRÄ>½k¸Hü1áÅ\ï¯^õ“í\$ÙUÛÜÏMC [íÚzh×~É(tà@:=:w’à3¯·~ÆkÉ>^Á#/kdæ>³K¦qº=þªëq²l ´¨é”g‡^6Ȇ.ÂÜåÔ+¾¨äR&ˆJ®Kecº×ùùÐ…ËT2ò=׳ʆzmú¥ãTõsÆZŽ÷LJ`µºz­Ì¥;–[=Ò&zªõJ·Ž:÷lµÓÜ[4Ý6JßåèBxö#ìZñ clÆ”>ßÎQê÷˯þB¬µaFÏ=bÐõ7Ñ!ŸfAt¡9S3Ì(ÃKû®‰tlþqfÒ@w—(Ủ H‚7‘q|^–{;†ahÅë‹ìQÍëõ]ya람‚¿ÅZ.ðo¸–~FYóʼn\É­uùËšNQO.­â»j²ñ ž^rÉ¥Ù};ŠK3ˆCÛ8u?Yf’Kã<Û¶}ix}ÏÆ¥1Ÿ°¶Ÿǵñ]Ëm€C†Ì'ÿ.ó9ó•ß«ªÈu£«! ´ Í(än ÄÏ óhDð™õ“¹¹3 Uf¬¸Kš¾&¾fõnÝp #Ã*òº\‰¸þ\Y©†÷8ÿ•^„ø÷åõwýG^cóú¿¼þ†Òëï*¯¿ðÀ@G44ö®¯D|HÆ9q•`2‹‡k¯øfÁ5êF‘àañsäÃ-ÂϼûHpg]™¤Ÿà<¸cÝ@a_•}„°Ý®º£Š}¸]ìnWƒÝ²c©ûzUṪWÚfÅÑ${FòÔ^o¶æh¾`ùMñÔöµ-®ø±.Ì )óA)¹X—<ØkS¸9¬^Ð-/¶eóç¨và–!ÖX°]Å¥ãxƱqé̈Áf_ü¿rç¶ÂS袒寂( ô96ÖÏ:iÇ8àQ|PËg‡Q_[ñBáGý)F¨jBü̹”$üÌòº° ‰¾ ÂÏu—¯_÷÷ÚîïÇ…=òúøúi‘Á…‘C:n+Ô÷Г{|mŸóaȰÔÑa&…9.'.rüìb`’}ôœ(Zñ×Ê‘wˆx‘»æöml)Ü$à•Àò¦íßÜFó©´WÓcküŸˆŸyâ$ü¬Ó0°NÿOz¸ÙÒÀŒAë“éæÒ›„Æ’úÊ6Œ’J5¼Ü— W•ÛPJ¾Ê6‚3­ ¥&=• ˆ8í™&¥…—œ p„‰JY'ܺYðN×äÖg^V#ZqëÁŲæò²LnÍ\Ø-ødôÿäÖØVYÎðïtëż‹ûËýUƒeç:“JbùÔ26¹áÔ±iM×ñH;çÁ/®cëzVú”ë|réK}æÖ½XŠ—†Àð…šç¥Ö¡QH÷͆ZêòÙ {rš7{J)[òò ¦g¿ñ\Ö`ÿû<îoð¸ÿcÁãþçÜÇþÎKo׳t-z¹ž™¾]Ï’Þõú¥åû\“{ÉÆSÿÏz-ýÉÛçíô³yÉÌgW¯ãy¹+ýåeüé •ùð…âÉQû¤þäô¯úýÑßî·KB ¼ýýÞÔr»|ÿ»´þ7{]ýKžSryÂŒÌKÓ/wYïV<ºÆàûѸð)%–9MSqê.MÂ…®­û‹CjýyE‚"Á<~Fœþ"èÀëW$oû$ü|³Næ˜=·™”93S|^_¯—Ö±Än/Žüž™IŽ¿C 8\|mhw]è.+~«yjnˆ­lòèÕ^[:5^Ч¼&ã-ÒÇxýÅ¡ãQ8w.Ì»Š[G‘‹1skŸ§yž·ÎÇ¿÷ö£_¶Í¥åJ“6ù`l·L§n†1e“»,;=˶†]”/yáùý·>”ÇÎÇM÷{¡i²8îM“oZ^e»9P•|Ý:ü² ëv» ìz~¢°'1rÆÇÇTDNóÈéŠÛ‘*¬’SÁ2¼=Jo6o1Œõ¬º½,& þˆƒXðeW7|^«/‘ùèî×7µ Ö b)˜ñ¿¦9bOúÌ[Ÿ·^†_Ýpñ†Í›úË>lx,oÍ5%Š[cõŒ6ŠKcœ÷¸‹K÷hé=Ûv¤1Ä~mÛ‘Fœ0ôÿŠonD9¬gùó|óf”]MÚÙ·Ö©å×­í}[Îüá¨~TM?‡w ‡×H(nökšQ„S1 ÜÐ8 œ%°MGX9qE{¢b|“Ü¢”ŽM›Ì ˜q|+@|ÀüW¨qHOŒâbwk»Tƒ«0\ìTüИc¶që®Hrio\š¢Ûv¤1·ì|Š[œ{f^š£gqŸüü¯^u4‚Q¥µ„V:¯:¿çKóŠÖ“Ûá|7Ì¸É Há¥/¿)¥£© €õVe½…V{"ÛÖƒ2“À¢y))|­õu¯ÕÙoOH¥s2,Å7ÜØ&ËÀ…ŠCWt¿âÊŠF“x&©õ+#ø¨¹KH…Füac8Y“(J“0d®œ±;83Œ æ‹¢RD,+MJâ•'³âAêx|Ú¤ŽA{Åó Ýn, ã|iLãÆy®Â”þ7aÆN÷ ™Ä©²æˆ{²¥[<¥´â¨LQòȭѱ¬²É,Ó¥£pͲæÑx9žâÖƒ}ØuYÇ+­Ýªʽs«Yƒ¸npqU1Sp`ˆ8µé¿*zàa{‡Ãô~EØ4ŒÞÄ›ô‹é6†ìn}ø ‘ª”ºËR‰&ý×É$"ÌZó_"=wÈ$‡“m9ý€Ýó‹“’´µˈbÂa*…(W™ÇKò^•&¥îCıδT õ{Ñ4¢ˆŸpk5¤Ò5 Ó¥bHE3*vò'¤b„Þ‚©¢E¤ËÀ^@Ž£Ñ@*¥C”âáúJ"¯ô}1ÿZ›ŽF5Ûs~Áw,ŠöÒpiëÛ÷¥› ÍO¿œÝzö˜S7D¾ž/Ž˜:óâÒK“ÔÄS_ýuœ/XGQ¯£òÕ[õ¥¾aÚ‡#ßi7~÷íûõ=¼Ýnœs1é.P'ÓÕ"R‡_–3á~m?u @Ÿy+£u¸£ƒÊ&gñªtéܼ¬¹6Ÿ7¢î<¼0÷²¾/Oì²Ä?ÿp-D%/ú§~X$¶~Ôå–<ÖtkÛ¾‘é’¼uvŽ¡˜9‘GcݘƒÉ­uŠè «íä~v~]Y’[oEu¯;în\‹3kVb&¶g½¢*‡£|ɰ]vV‹]¬:ðàó¾I¾…}‹w†ýšt팿ö}³ŒŠO~¦Ï+CŽ úÍÄŒlRV8žiGQIõ ¸#e²Ñ‡pP´ì€þøöÐ úâè‚1eŒkôŠgÆõ:)¡‡'ÄÏ'ÆOø—$j§ËŸ"Ôg}?¿Ãß®m;83Ÿ!­èOàœ•(ÙàѧåÓùÈÞäË3dÌ¥O^Ù´w+‹í¨±IWš7µ¼w¸w5Ã<ô%wÛäjŠeº4²w•7¨UXýóx§’5î\#Ò©X¾aÙäw°žEB-Ûq1`‰¯Ï‰¡QŠ[sV}qëΖɫŸYŠyž<Ìã"‡þ ¡cvšQ´‡Ó9–*ÌPE´zYs½Ò%·Öˆ—mf¬ò Ó`⳯Kžƒ¸5Ë$^Š=J`»‡ØæKsÍÉQ\ºãÕ¨—Æøs3siŽŽmÛ‘F¼ãÚ¸tüC&ËßÓZCöÉwíü=ºov7ò¡-.ííq ÍQ—Ç¿3O­ßû2¸¨ú2¡õâ2ÑåzýØO¡šƒRe1&,5úV¾Ð—Â1ŠÁ©;dÞõ §X—Q0 ì±Ý|¤ÜGe! ^\D=ZXÍ’ð3«G~ΞiWÚY[·í¦½œ£WÎ;'ã..¡Mú¡3*ú.öt’]ÙíÙ3ŠxŽj-„Ñ4˜g2ˆˆå*£ÃÅ êg3 œq~¢!ªZÌòÂðÓäD¾uŠ–ŒÖ†i«¿Ä5¡¦¢ÂmØóŸ#/wÎJgª)[w…ý§“—fÓµŽ"õ¶ßÔS½îæÖƒñÌ’[Ë%Â#<ÑÚjKŽ1ã,kîó»ÝØñ{Lã³Ï\:öÍÅIcM݇'§$—Fšx¯I>ô^34øXœ“ÃÔʼ·8Œ¡£Õ¶ÏK÷Uç›çÉ9“eÉ=H›s*­£»KÏП¼_ਦxtY olÖœÎHÅ¥Oº¾§ÍïÑS}Üê’{ä¡6¢;‡îožZN̯íÇk†ž<¶æ'ï—Þ·Öü’×wòMïÞäè|Б‡wXskŸy拎£oæÇ>¨n.íí™[{ÿþž·ƒ2x·Æ“hmœâgÛÊ5àæÚ8µË‰ï¿º$ÍÜ-·º_ScP·>èi_œúᘽ±ä̓k•=ÈM+êÉäÖܹÍ,ÕFlÑÕýJÅðÆyÛj´Yif»#D‡ÓÞPJ¾A‚öZè‰ÜaÃÞ« úã£Ù~ì.xú]˜A4ÄM#’ŽÅ~GÈC*û4Mvfr`寽)f¥pŠ„RÚ–¾rycÖ…wÁеªŠh«€Öx=¨ðÀQ…—·+ö®U¬Yñn(¸>òQÏgæÙåG¨˜õ‡þ’L.ºv*ž½þ¡XW ?br7náº?"\€íÄwbäú`0h¼¦‹«­]¹ºšVVj³°å‘ë/ií5Rú dª¥üCÒ^È͇#H2¦XzíºKÒiñ)›œ>û•.½Ôê_ô¸ÑvÆ‹b/‹­yÃþžü]j§'÷÷×W,FûðùŸ-ñs©×R–ò£’­Çrà“5G+z·§jôíÈ&—'T¦KGAùcJ½ïJAÝÑy«êþÖý<°J%ë2ÕbDªiSªÂ‘Tõ×b/£Êüÿ2ª Fó8j50Ç<¢ ̲;G?ê–~°xŽUvçm½Óµ|ØŒÆèÂòOàaLJÕdUlÏÜ:,Ùì!¯B w‰[GÏ⌕ <žUÜ:ü@Öù²àQL1,nm±u¿,xÔGXGZÜúÔï7;ž-¿“[ó:Å\'¾qÙfc¸ð §QE£2œfh6xœ{Z¨mS°­=Îb¸„ƒfò‚-^'Á‡GPêá*s°-‰5£¥¢^RõD3ØÔŠ "(5˜=eÆ+NtàJÍׯP9((¥,ÿ×â/ýÿÃ5 ë4.¾Á¡”GŒüÈ#Û£ToéбD¹ºÎ§W ç]YéC«O½Ðn]ï[úÁ¨O,…²É]Hn½P†ã9¦ƒ†/Ó0K4¶d(ua÷›qÈõX Ô2,Îm³à‘ýQØ[7åÝfÁÇí#Ïumþ-îkÿõ|“Ò}ì^eÿ’;ٟݽþº=ýv{úëÝø?önüßí˜øosAüù­ñýG³¸æ,»óã|§CߨËn¼­w:ªV´ñfO{©p©…°Yt55È­£Ãq¤5¿y¼É­ÙŠ*+ϼg·ŽH8XŸ¢,8£Å­#KT iÅ£,£WUÜsLΗÏ–ßæÖºNÿäAøŸrC|à¦÷ÓªùÆ:ä}è/Iô­}ŸBÍ3éhÃٌވ3Åñõ½’Iýœ÷·~/“käB i.øYÌÈ^)÷f&^k0½ˆB“4†ewŽãÞÒÛv|Þ®÷õý~Ö祱$qëshæÒK!Ì­oû¾5|5gixÆÍäY’_w¯n7L”ÅhS¯‹± [<9ž¥¿B‚ÿè¯Ð³ÐøW³µ~vÇ¿Bš™è-7ä±Ò­°%}ãæt„wŠ0B2„hÐ4C)œú¸ÒG+JûH¶Ö2šiã®QTÆ}3É#G‡§)<ø]Ónñ*gž:Þ?lÓw´¹õ÷’ÝtjöOrkÇ]Ok~¤Kã-h–MÞ>Ò­í×çŸï:ï´âñÝã)›\ç™éÔê I:=bŽDª›>²u„ÚËçj É—\n-€´â1®ÐFqk„°¼ß¶ÑÇg—Üš³W^¶ñÞÆèÃñ•»³µ×Y5§Aó‡!c¥b;ù—A°Ì$~îâï™Æ°±#ƒ“KÙ'/ÐÙßV^“ôP6·¾Xíí¶±;Š«¥™[ÓæeiÍ|;Næ©1§kã›>öïoç1ûö=m'ºT÷íYãu|n\N*Ûv¬D#¹t¼fíûÖçÅJ}Mù¤O0¡KáV&ô>ñsÑÂÕ•~"ß§™•®® /9.òðxÆ£Tƒð³6@$Á©ÚÅ·.­TÇ9LñLÿRv8WÀb(ØŸUÉÛâ;^F^壱™à3·FÂÏÚ5{õ&Z.«Urd!ù¦|I¼4Û6Å­éaÆ ,7¾‹z &Ò d‰lòó#]ÚÇe›œï•.­ãM¯AïßÛ5OÝèPmžº¡èìœú¨ç(=½#|Aðvr?âÖ~Ê™[#ÚÞ,OE½Aå÷¬ýýÚÏÓŠ§¾ñÔ/n}aÄMµRÔ<ƒÐ£Ó9½z‹¡XËN¾Ô J¹­BcÈÒÜÙ|Ä[h´¡p¡ ¥¸[C÷à:âRKMU…Ljí°)ûBw ¿s"Üô}FFð¤ç” ºGZš ¥$ŽtLÆ+ã4)vGÀYný7_!®„Rt´âQêx€7Î\nf±<þ éHÈ|XMj›‚w³ÒæuÆð½Ó ‚<ñ®ù¢ÔSaPÌ¥‡Þ§1Æn8Š›gº}Ê„ß/nÍWвQÜûïí˜Ï[Ý'yÔ8ªC-Ü¡iQP]¸¢V‡§Ï Ã¥<¯\t–׎OM«Ð¤Gž£¸õÉù´É]7;}¯«GYôœ4–¤±6+Ž%lÏâÖè}¸ÊšÇ›n8$·î¼°Éû=ÿ°äñ€o.ý}ÑŸè»ËƒïYz˜ïzžeÍU¿·æ~ÒšÇm­)öàÖ!kl÷óÁqn“Yý˜ÚÜ&ý[ñ¦-Èö¯ a8 '£€ŸC²“!s:RL2ƒ@‰€cÕä†W•yÊ,Ôb(¥ŸÛ$÷žæ¨J<Ñy×ùæÙJ)äv‹u|Z ön¶ñå÷³¹5&‡]oë(ïýظ5._ÖÆ»¢Û›³;°ÊÒUt“G}ùu³ûkÞFß7%u³/PP îšùs©‹SX¥.ú“Ê»”­L©ÉÞ@Ar—ÿÅñ,!º€ºr¼ó.ß›íߨ Å ƒÏf( ;{&5öv俵ŠIûÙää4\çÕ UÊÖ ½Òl­ÐùçV($]1jcö2c£ÒB=œå)S0¦üU&¢¿¥Ý0<Ü·dê¥`$¶æš•Üšc“ú'çna:ÝnlÉPêñ‹[GS¼–¤5¿9Š’\ è<x@hß–7[_É¥Ù…|oœÉàa .M»>øúÚ¿Àª§Û¢Ã]àgm>VGQ¨}Vs"Ä­0£ˆ·JV8ˆzâ3Ù*(ðÔ¡Ö’[ó±YÜš{ªß«"óï\1º¢UÅŠ13ôÇqü1¢Z\3MRÖ™*9ù<“1l´["~ütî9õƒJæ…TVû:úBäÙêì£ìŒQܯ­;—v—Üužê­ô„~ä¡9G߸µâ#™[û1fžµ³ú§‡¦è#$Ç⌥cqÖç(l9Ð`©ƒ+ÍõÛÌ­u°ú^næà(dþÜ:žà}ãÖõt!/^‚>fžÒÅ@B¦’ñ(ù¹º¦’[ß•œ¨b*9ï")¥.uRÊÁÇàF¿;é|S„3ÅjRÊÁ,IJÙ™¦’ݪzþß^Ö¥Óm+¢Yß»Yà“:Y« JE(ªŸ”)÷S¥…ŠniõNÿÆ;ÁiR| D¼ö±ã衟„ ûô )¥Jq1tñ£3Vð£GÓhi’þ|ëZ‰ã¦D[O?¶5ïì*OnýsÃ2ÇóC¦¨9Sß0€[QÑhl?i’r)Wç“Ibh\ëÏ£Oýú¶¥¶c|Åø>WŒ#}Gÿ”Œ`äÍ‘P ÇŸ†ð§¬}?ÝP •–ÿᆎ™Â€V„XeD3§Ä+ç˜UhÈ?lùO:~aÔ9¹õÂQ·þyn”ÊÅ ±›DeåƒZÆO¢Ñ{÷}Ô8Þ•du« Jé®ò÷º½Mþ@ 2†vÅ`šÚ“¯>ÃÎQ1¥Q±7AŒâdºK8O½k®çâQ8dü.’bCx±§]Pêf 7›Åx8 ËÉÞxÜ9ªi6´mbÎe®dé~níÔ¹}3!Œ„]N'çwAõnªç_¿·M|p(“¥?cÊñ‘¾ÎÍn¡rv·¾9N“Öüä»\rë“ûÔÁc¤fù¤mO<,ïÇéÏJâç“€žHxufz­ž­/óúS_&aŒ^¢¾mÃB)Åð®ÊE¤ô66ØëÇÊ*#ŠÌ9["¨Fš¤KÍ:¥.5ëxÐ$uÖ*5sºÂ¨í ÀL£ÂౡZp­Ó>½®Z?óëøÞEœ^WŠ×ÅgºpF£Fbºªi·Åd_™Ä ã™Dx0À-ºaPxØ‹lÆ.åýkÚú_:Ìd§´7Š^yî].ö£ìÎÑa±¥÷©vìf§âHa à|[„LjtÓ8Ð"Uu¥ J°ª«Ñ Jñp}ð:¨Épfpèk_Z Á&!F/3-Ô»BTëovTŒ‘ÙWmSjÖhÛ-g8ñi™‹´æ7:îŠKwÅõ¶MÞ.7^‘5ù Aª_%ÒŠG5¯0æÒ|¥]i‹ë¸3Ýçáˆï¼dy —f£˜§Öñ™çñò8ªRQ-¢7öÄÖrèõ­œ7ºªtWÓ~úd5¯’檩œ U=ÿΧû;Ÿn~ýO÷ßq>Ýßy^çyýçõwž×6Ïë_œÐu#Êá‰HW1!bè/ÉÂk3 ?ÏpÂéþÊëÈÓ¢Šœ”:Ùõc0=<~nÕÅecË<ÙÌ”:émC}ç2”ºØ¯oCˆïÇPêa´CÆìÖ˜½Ç/Ž6TûœÏ+kàr‚gÍúÄ ‹÷«msmC)îÉPûÕöôC0­ñêàÍŠ¾\á;¡F*¥\lF|—ü)ÊëJ(5èdCøs/bÊÁ)¥4A+´ ©X(Å(X£>ûžt“ü^t ý>Ÿ´æÑù½®âÒqOß»lŠjn}>œg•6¶×~oÇ<:Ÿ;³ŽëçTzÙ:î˜(#ús©¿çLl‰®¨2¦?‡Öš¿ìR€®ù^”2Fa¿ûQ˜²?V¡‰þÕ+¡•¶ä3Í3œ_Å­QXîâÖ?õÐ÷ܶc='¶û“¹ßì¼û^ÃÆp 3ÝiR7®ã¸åð$µŒâ†¾Ü´â }¶G%$h*€iàãΔ:3¬¢ÈXe ­N.Ýèç’Ü:"¡¦7æâßR×-ü¢dÍ£oóÜÒ­±"ø¹Yrïß¼ŽOÁÜ境÷N-ã…ÏäÒÞ¿¹µÛ¿y ÌŒßÙšÃ=;+â”tUvõ,µè»¢ïÔ&ŽZa¥·}qŠÚJ~ÍQSóëzžéA†Ñ§ecx£/ÔiT~xÐòàæz°sŠÓÉ–žµ"|øò@^Ï_m¦uN}¹/íà&?žpÌ;ÝS¾íbödû;Ý{›hówº÷ßéÞ§{ÿ7žîýzºqô‰Ð}ñd×Ù•F°/ûã_J1“¿eD!çæ¸ Ä‚ðc¼ÅM~¼ðÜ©Ïq~DúÌP¹DüŒÎoô]<tCð¶L¯¼{‰Qà ÷læjÚž¼xŸÝ4ï®{G¿F®\ÔËš#Èïwpë®Øí;ŸgnÞ£|Ño›Û,yä¸ÿÖw› IËˬlý¤wß2ØßyC-Ãn}@*ù„Rñ@ÁvAª<Óó#Íenܺ² srn9šY“ØHM+zeó‰{àº8ÊëÍÝ©’q³÷ÍF—þ–L-—¸º$'m[[I­RÄ4ôü¹„n²¿QþFhÿ+³Õ¹'ûdÐî‹¶-Fd7އŖީ“h]=ió{Š0šÜúàëzZlkþÚNñ//Å¥=#ÒšãI׋§æ­†ùv¬qbkK„Èj #¡FB.vw–9FÞ…p{_ÉøÚƒµP±ÏÃÑ(I·õHÕõN=ØÈD®Úæ÷îwú®W+›œ«=e2'ð¼sAßÁ¢Z• PÊ= õ.øG‘ÚrÁhñG âƒþ†vWSß›|áI›üR³Ó¥›69Ç3*]úÔ>m“ßx¨té‹^öi“³ UéÖ¼KÊ2°§C߇<Ótwí×{µ7_-ïZÇÈëÁìË«‚ßaÈ¡»p®í{*¢ˆa€Š‘§¯yƒ¢’XÒb¥Ä³âN*©wî¤z!¯;´dÛöÚòP°"5ùàé_¾eôãO ‘!@&ü»ÐM#x˜…u²›AJi†Të‚§„·ò`h@{1|ØÑ32‰ÃCà¦M¬éãG5¡Ñm2Ê&¿äaáté(mz_‡Ýy¿Þé¡á2ËŠ?S“ 0•ž÷z¸FÜ¥îp ‹ªS«ÒËräH¹ºò×J*u©’¹"g1¿à„zò/ÑàJªdá>Êþ¼q%”êô•iXÄèãç‚ÑG}×ñ`w«q\Ê3‰êœ€1^°³¯K+êÝ_‰ü^©´oB+WfÌ@aæ1ÛÍ(‡ G¸)ìMežg7£ ¥4Y’°TLø1¤ÒíY}ÿÜ›¤ÂZ  ¥: ¼ ”òîq? Š ??[‰r ‹é ƒ‹ÜÜ…òƒ~ëxí!SaÉèˆ Ö”2Þë1‚#Jù“£86TêjL¯~ÏG(?ÿ°nä)|¾ÓïAósáv3üc‚ÃY”ž¢”˜àP[Ìù׉bÈeŠÃ`"MšI§“1 RÅ€¤ÿ±I©Љ«Ç¿FõU Ÿ9,GcÈ—û¶^›½ÞXª;½¾²ç±(%ú7*¼Ò¾·ßKþT¸»Ì[Íï!+n­ƒOn­ã|÷N<öÛ<%\ê@rpèñÕ;q~ijèÖ;rðEòÕ;qÆÎÖŸ`'WÝ V±Ì&¾ ßþ˜ø6pYŽ JpŒy0‰ëÛI=Ê0énk‰I ˜²—íÁÐpt{Gãñ€b xaÙ(ú‘Ò-PêÄ=i#x3„ T÷vœ>®S.<¶<Œ]‹¨Ä´uy1Õ2º'ZÓKF܆ÊE¸ÝÀÃhÙïˆFKFÂKF:,ýXÅn ¥¼%Ÿižù!#siŸ»¸u´Ýç¶ë®V|ìî„'ºÉœévt?†Rðí:Ó4y5zò0jò0šò,²oÓFJH¿®‹w¦$ð™Á/BsäoÀXUæÖôêIn}°ù“ÜúPà¦äÔ:©„%5¸L)U¡$Õ™Õ…Åþ–HKÅÍ,¶IOV%'ûÍmå-(U-€0†ª¬´Mþ@ A+¶4¦-6:¨°²ëtÂ%¢PCÄŒ-ô¸Œ¥•r1­9§V—>X›¤Mîm;ý(Ÿq8Uå}±¿FÛä×Gº4VÉݬù¥íš[_¶¿5êaníãLKîóiètjUš‡Z÷æÖ>OsëµåÓÍ:‘X¢yuìœí_TtäÖtŒZwPË‹Ý*©‡üóÄÓŠ_Š˜an0É«¬y¬Á¦žpk·l7ÎÅ”*«’»¡|t­¡üs½¨ZrÂ!Lmñ½¾µªÙ× O¼ŸOz…j"Ëá¿B“NdŠŸ…¿Z¾/{Bà%гWMÆ"Õø£)ÜCüäÔÕKÓ>¢ÿÝÄ‘©ym™I°Aaƒ]asœ*¬÷jǦU&NJï§&£iš‚u<^ߨo)“”èD)žÆ¿#Ða2~¬ð²vŠbx'¶ŒÕvÛnè´Ä~\aK¼Ú Cbñ­“@FéLß4r.¿/½è¬Ú9¹è@[ߓ޾YìTÞÈ(t¼bV:J¼åèeØçÄÄ.g­$“l¶-e¶¨•É^ñ,[–>nÆûáce‹åL_^v¯§q6Ñ‚þÙ)czñv•B´¤ÛFp1‡¥ð ˜6‚C./œZ‹‰Õèåj„©¶oJi+˜ƒYômh5_:½mázÙØ&ˆAÍI‡-,厉eiqë&”šÈݗᵓ!lL=ÉXôíu û¡çÆý3•¬ñMcIoÓ˜2s‡ØšÌ¢Ì:‚Ì:k–£Ä–ÈX”41¾¿ñóÍñ. }ޏ@„ãÝÝ ½yߘ8¾¦ÿrшF> ?ŸxÕå_lGŸ¹ýpÊÆªô #ä1[9ÿ!“?¿; VùÆ rä® ¡Ê” K/Ê¢HÅ€L¸Ï‚R}ƒV7âJé< uVF"”¡ìc¤xõ1¶?õ1bîbBªêeø§nFŽ<š¹sc®˜ŒàÉ»TÐêŸ:•>èáÌž¥bÙÍ$¤^Ëø¹7¼õ+EódíÝW­\€Á,:Š3'/•K7º”5'ˆKV™Ÿèâ(+>ÔI…‰wi§›[£Çï)+®<4–tÄ} •7I“]3™Õ¢ÛÏDG®giòÔí‹A ÄSû°ÌKã ³Á1Ÿý°çÜMóü"Ä]%¶ŒE§®Ýà}J#¡Â–>+ÑK=´Â–y°eïúñïÎѼþ[yà›:‡Ò'ïOLæoeáÜ4ÖRõ“ë*¥.SC¾Eü°Ü¡‰I+¼ÔŸ`l½¬ÕÕÖï´ì6ÓÏ}üƒµ‡±¤ÊZbÉ_;}Þ?ÞúY/,‰Þž4‚ïîÛ‚¨O2-jõa#89Î#(5X÷Ê:ÔɆîÂI!ð×4´z}SJ[Áô¿›ýã¼ÏnÿºéÌ*Fqqj˜Ì‰¸äq¼ßeU¥XH¢ÎS$J5‹´ \Ÿ¥ÎZqÃÎÉ8AŸÚGËc ËÂ8X XRõ—ìÑk :?üW¨¡cNŒ‚Áœô+LÞÈ”|z#ºDº|O^½¿ §þ§Ný»d§Æßÿ.Ùù,Ùùßl Èy B”´“ÞÍAyâÈ9r¸6>êe•­9Û:Å¥±™Oi“ë%0Ó­Z@eћ֑ÛFó± ¥iLCØáÅa(ÅÕr)õCþõ¼p7ƒÖÊCEaË•ÃX‘Œè¥_Øò}¦ÎŸ›3Dp ÞÆ¢>~ žE–O—k•c\d¼õÁ{¹qE“0oh~…–܆Á$úÌø×ˆ…K)*iZLåëêb(Q¥@tFNPáÙÊÖuîEJêÞÙ'䆦IU©¢Ã®é¯Ñ‘8&ðsS ç»é33‹„Ÿ™p¸c+ w¾V¿2NÝ5³ÝÜzñ˜ÜzÍ}³¾Hr"ÊZ·-Í;h†Rޯʃ–ÇxØnuar­¥»qšî7¯÷(CˆžÈËPêâÜÁ“{†Rs77çC¾.øÐÝ‚‡§~¸Ò‹EÆtèXØòÿcïM“$Ùq«Ñß¹˜4sN>ìc/q€U·u%µú©õ•YU"Îa„;ÎÀN[L‰d9KÉTA¼œ³dò*ݘ*þ’âceƒÑV¼±\øJ’ǹ TºGxèb˜Ï-ÚPH6QTÊ™lÂp^\E â8H?|Ø ãà¡ï*(#^=¾åÍæÉ¾6|?©7oÚâ—< ¦¥½7¢1奄Rz^[‚ ¢s¾åä.Ð÷XÉ7E›K™ü :Ó…C ½6™†ÿ•L)§I#v &ÕE°ýw–Ug7¦ˆÒ¥«hQûTgè篠³žˆ3â|Í?&:OåHf·×©)ó ·R ³uiI F¶J$+SJ§^ˆ( yœÀ ëÙ*XšÚqM^x ï› {J0 E’Ä<§•4ÏY¼ñrÑIšG»7Þøf5±¼¸žƒÄu6~¿®î›/…Å]4!&‹ÅÚO-"’h±ˆŠ ')4.tBóëNΙ"  ‚[Íîzí@¼<>3ïø›» ²Š(Ž`hÈ"'×Ú$…ç&FÚš&i‘ûÕ:Ií»âþC²†úcÓ‚ˆ7ß“¼µ1DVÁ鬟 ÓJœˆ ¢¦hq(L¦tQµßÉ¡÷oENê}Mé–.ðuÖëÊ׳¿G½¦úú­£ÑSMh!Ä t´pq¦ªâ¨s‘ ‰OŸ­ûݪÝud—Á}?us§ûAn: 최0UøÎ¿d°õ"Ÿ¡0Ö_¥òeòB8çmŸ9ö4Á°—,ú‰&ϦwÍS9íØ++óÆëÔôW¼±vítÙEç >¸|ºFÿ((´…hÒ RÈYáïtÅx —þšêP?(… <†›þšâ®‚R07mù2·ö@Ä^Ü)”H–»¬™*x"Çf±¥y'm¸.{…ŸÏÆvØi£K”˜Ézص^äþ¸:Mˆ«ù 3ClÏ›7†¾í(iþ¤>5ùÄ´ò‹ éZ]à„ùöu+ð¶6CÌ]èFèòRŠ[q1£ˆHMb=LužG΂•ϨiC¸°¤ËøÚ}+>iþÊßs hS¶~Oœ×aìêÎØzÈ$ùÈÌÈDÎÇa»pDùº=Ñ Òˆ×fÙºÔokîÕÎ'禳zõŒÁ cé+;j“Dü¾8^–]¾m¬^=¿~Ëëf­rmÄ!k³š;Û2Ÿ@³úì},â°åû…WGX`/Æ@‹§ãùv’2ÝÒ‰ùnK³Ð=øa”ø8ÛøÖä¡Ä÷6 >Z¼ÛÅ7â¶Iò—BÛ7¾tnuɮ辎æ` À°«l›‰ó]¼1ÌxIðQ—õ;ðÆS¿ß$w3TÞæýžš\Q:ÄàjÞ¬ NÍÉ Nõkf ea—l™XÞÛw Ãa%I´¸éa(ö’ˆÅèLŠ(ÂÉMG¥áHBD0àŠYd×O"#,Tr°zµ 7{/é)ĤÓÁ?ù¶àOv¦Ç°6œž"±bO’H?—(rÜ{PcD¼|Þ|zB(,:Š–‘¨¢²H˜dïç4¢ÅCÌ%Lr„ršÐ…d!’N.&‰NvëEF{¯4 †EcäÀÆÎf­¿¨Æ†Ì‹á3òßÎÓÍ¢õ.TQSV ¶èð…Ts)ÔY$%0 °Ôú« U̬êjqhæ“õįïOíO''?öæ¿þK{óaKÂHpñ"⤤Ñ,ŠŒ7WiŒy³Hnt—-¸“›*‘åÆû°§?ˆ,‹Ç·¥wØÖû[Ç¡¶â&nv Ø"Rè>Ëçcý'V"….6ß ùô&…X`%‚T™^¯ÖKøc'ñÇNâÿI; DçÅÀ1¸¤éœV¦Üxª´¥O.mR%í–N|rzglj🔜F—$qô¢žqôÌ£SÆ¢›>sž˜1ÂÛR|tãã)ÞXWIi^wc$´=$ÿÃ>‘>B—BÉXQ#ò0x|Žï52ûÌûÇhL7­;â(¦ÛNMªH¶Î³»$Èæ¸Cº¬ƒZ ng ¢ on¹'-ÈðpéXû}±ë•ƒ¬9~ã~“~Ó¬_º‡®MN`5ž N€Uôd˜x*~2‹#'9'×eŽ`Â+gÈKñ‘1K\WÁëk¾bǵڳRÄüå2)utô3¥èСõJM8yœ]Ê[ò}‘ä›LSb9‰SÑOcë~x!Išî ¹o¼´Ô± bmÈJÜÒüx4:‰745GÐB\!óÓ7?ðx󯾮ù¼®=E¬ìù%“¿eø{&£Ž™c²œ¼ñÅéF–ï‘ÏrN)§¡n¼1œžMŠG|†Y¼ñ´ŠYÒüRÀróÆPa_›ïç1o¬çÂq ½6 8))ÏsoŒ%q/™|¯¡ÿìÛ{¹aÀ]rÂýóó:æ]“w½V}­ëòýcÈÇYæ‰qŽußê°óQõCïÝõ"Ûê›ÛIÖcׇžíï×oÌú®®A]Šº+“êɤxÏ+ꎪ‘­Øunÿh(‹.’Sû…ˆ4µh]%ÍãÔÇQ¼qxˆãP-IóÑD/~»"Æ'·9“7Ölïä”_æt0°ÉÁ$6Xf ®u&y§ QÃ×ÙÆ¤ëk45GÐ1cgtî?ö0{©ûŽ•Ù‡î”²Á”ÊïqìÂäe¤«ëqQ˜7>ž›Ö2uß'u˜šDy.upï©I:Jû9¨Ö—xkÅEn:òžâùøŽ¼.…g8ävë#uÖ›4óê66^øf”ç’¢7ÿrä'à e:17îï”õ½ÐÉ>/Å¢ÓŒ™ÌÛæ:Z•¥y(nž·¯?yã‡kˆ]v ¯tãç>_üPðóÆ8Q"PJñPnéÆŠ¥®5Žì‹)QlrEvÔÞ¢£¥µ7žæ“7^Uª×õÆ‹]| ƒ±Šºy‡b'4$I FgŽ},IÓ²Šu*¡ÖÒôMO;§ª2kº/¬?žâ…¡ð¹¯äÝ5'ï®Z]p^/¯hóž])Ö˜4)Ð%͇K%‚d·Üà&ŽQq• Ï>mPæÝ€Íçýø{½„|êŽÅÖÎr'çÉ·H€S|ýs÷Û†Îø$øƒÚÂA¿çþ.wpí_;8€5nÛNÀ÷N[ )påN|V÷î›;8ìÕk'ÇÎ1sS‰¥íÊ1—Þ¬=iA„2vª?z¹{ìI ½¿)䋿8­J¥—ëQ‰ã¦'Ž‘=O*khÌ„sW ‘OíI#‹ÃÂäDï4¢øTâbÿʼn±„Hl4Eý‡a‘hÄñÌâŒÜëÉrŠÀüé’ʃ©BŠt)•¥î™{p š4¡ÿ󥯇âÜã-qH|“1²xãX wIó1_[zâE‹-ËЙÇõ`Xs•L¾óÜŠLŽ–ÙJšW—äwÜ>ž7® ˜^2ùIGåL/|¶fõd¦Qp#é„|apzÌ&æCc:Ëâ¹×™ œéâ_8lI0°tèÇ”ûöš%“çï*]øàH”2ùXàíéÄ]'}š7†žô<_’üÄŸÅw\³?ÔóWú'o|à·Å8ð<Ÿ3Ú4"ÜhT%ÅcOã(Þ8ž1º”âC©sméÆ'£•,‡yléÄŒGTï[õ"¬mÚ³•»0Êûó}lïÁM%›¦šÚOÏˬçí~À `õjŽ üB1N ñx s<[wðÈ`q<.£«˜#¸ˇ?Ã@IÍ${«›3 Ó‚P+-iAxRôú¶ ÁŒì$B·«rx“…âêÝ¡FEÔžKîà–â»J×¼±óciÞ†8™_aÝV£IÞýª]„¾uýìg²â»#PEO›Ói›Ó;ÿÎ ÿU)¯XM{ø¦=jØý†4û”|%Œëý…¡uý¸lÓÚʦµŒ^•5ÛÄÎÝN¶•åkÈ /[¹Å¬PY½ö²½[É"eC/#RH–©Ž›õ‹ÉÞ*`[½µG]ö}‘KY þjø2|™¾ù\xÎã‡1­ 7m‰›x½-t׫ëŽ{eÕxñƨÞÛùvkÿI¼ñpü8Ió0Ÿ:‹O|rGe¯GCVɽŽ99Ù®áXQ?ß=LñóHNºÀEy­]0h΄u«hÃ1û(ö:¤óŸ6B„±E ³ˆ2+”Þ(œéâ]d泈YtÁŸŒ&;;<ª9Ý_œ‘îÚŸ/õ0Ì‚ˆ#ÐuYª¯°e]öðø?¸‡ÓD+¥y¨ŸÖ¶‚%ÔºbD¡_,ÍcbGÍ'O< &‡qªi¢+!òâó‰:¹›$!òBô¸¿n öYÅEÕûnuÓƒ«?ªè,zX}øxb…î[›´c%ÅñQ)¡ÚÀ£3¬›oïÜ5bŸ‰àã˜Vàþ²Åkرæ±HVû:Nl4 –HV›?N5l< ]BìA·´CV ‡Æàƒ+é—<Ø_Y[ÒWÁÈÖµIѺ¶YBßÛËœ¡žŸ¡¨D.øzfü#¢ÐçߤâIÿÚáyk(¢”¢Od.ÙÓŽyÖõ³R?è ÂÆÆ´±ôÕK›t~©ª¦ ù`"óaã6r\dœ%»xfnÛE±—‰‰oKÀGœQXµ±{Óé:S˜œô儸*|sÇ%yá_º–Ç÷÷ßÅutÓ†°§O–pÆ©OO]Rð™ïNKô״Q9FSî«:Ùì<ÅïxïqÔ™úºØŠÃ@4ÄX=Äé$….jÅD ¹Ï!™]”n"Mã)ÏXPK˜ÙC{Fd… @<¹µ×øVz ’,bq‹[äx=Qºu=\Dcc<ª\ï)ÍÇ:s`7·‹vzòÂã–­ž®Ÿ¶ž÷+)^£Vò‘ «d~O²“Nã‘”QÔT\u5Al^%Es—4YÁ“3–”¦£·¼¶dááËŒ|ä@ù*[Ùrˆ6<ï¯z#8+R("/ŠY­"Yç¥ÜÛŽÉwB+ƒ©{|€ÙOK½¯-Ášö-AšLd &b=‚lT‰˜G‡ÑA&ˆˆëu0¼Ï-AD(þ‘íL¹g3;¶ðWîWåÙ9Þµ£¥0۠ຓtÛH¹óØóÜÒžmk›Ë/þÓÉøÐóå‡Wãc[]q w½½½ÄËãØ¬ô18›S7¯c1›Û1º¾ô¦E\ªS¤GÙu,mwV6¢ÞBJ^1/•·Ê¬ýFóñ©ùð=þÕGYòŸæŸçô4µææÄbnsg…$ U\¹­ <õ€t‡GO²‚› ®ƒŒ+œ3üBœ*xS)ô¿Äo–ǺÚq–H&ÒˆùÜêÚ«zJÕ“ÅÒ…ñP%˜1^Ø$Eðv²%}SRo'[r¬\¢²¦¹\òÁ2‡´½90ã‰9ËMÅ•„È‹V"<œN Ìt†þŠZƒœµ[ÄFúIå/z‡º!`ÜV’°mÉ Ò™Û"YDIï™j†}G ³³>Ó†öCdqÌ_wA=wz.C½&i:rôŒJ6{Bh•4¯­¬äcFÛž”4íœj`z$i> ó8Š7† h–Lž3‚J¿r‡“1¤b|y¨‹IÀТ–æçÏ( ‡ñÆ«! yJó§N˜4oÓáMÂ/ã䨄$îƒ9H鄈®ÌÅc1§‡ÛŠPõ؈Â1êX4v(ÏM’þ¹”¨bcUr_%E«&›ŒÁ¼_›—æ3|U»ìòŸƒ× yazÎŒ”ɇuâQ|â¨ÏžOÝ߆ûæ£ÎÂ郿˷5ô?yaè6Þx7oìüe-P[õë=ãùµŸ¦>Rü«OSï'wH µ×ê&O3ÓˆtÜññ&éÜë´®G©ù&Šà[ç6¿F'vm¼02_›…V¡oüFß®ó»ƒÑá:¹Œ? Êý`ô~•ØF?“6Œitþ5»[‡¿êªÓËW±„8½Ï¢ +sü±jRR]•ÍHWús,úóõ÷EçÂ…CÇoÏŸÃ;²ÛðŠ 'FÀìÄÉ ”µ~¦M-ó`,7hˆ7±Ð€icËk%Ÿþú^~ß¼´˜™nê¤K"lx=:rôHЍ¾Ø©TŸ«äo þþH¿K?Ï’æD`K7^³æØ0*Ytžú¼Žxè9ž+yãØÊFpKóP?Å'>Qkb^¼tô =l¾ç*Iºcõw$mtß¡0I)>êPTóƱxŠAìO¨X ÁÅHN³X4ð{)Í#ã(Þ«P*kNÚ @;8ô`“M:k‹7v¶,ÍŸ|/É+Û¨?1 ËÞŸ:U,QüÕ¡é&{f¸ØÌ‡·`ÿR0Ã%% ûUq<Ø{¬·éb–ÿKÊ䯯kKz„NR,ÆT"à<š,œ¾ø{¶ñ™OU‡¬Ãª›ÉŸÛú Ç4DßV;8)éw“¥il)®j ‰øKVÃ5vÃ?jÇüö;ðÆ(è+nçäž"G’D'M|Dñ!D ùt5,¸.Läyþ-<Í„xí,Cµãl¡jyjqœ—«´>ЧÃLeÀWŸóù£ô*ùJX§Bß´Âõ%$s,ðS~XJ8Áøâr ¤ø»SÃgÞø†'L ³wÌL >´º”ØØï¾'5†ßØŒ)ü7ì9wû›gÒ(Å{“¯„(^—M£Ñ Q¯¢atU¬`”P‘DØvÛ^Fâ#Ϻ†ùEls!^¦º²‡Šù^2‰°1‡ìläë)^¸IõU¼°‚‰åó%^a?š´ 5À`r:Kõ…dò ÇUéÂÛ³Aš‡nwŸXæù»ÂQ×Í‘–J«Åq@¤r,ÒùW¾üÌ©—VN¬ KÀy‚ >ô–¥&ÖPÔÍ»O Ãâæ¿ pó“U ’Òa‹ ÉÓBäÉÅI!:‰YÜûW,Hbßfaˆ0¿_<ë4)ÔÐyŠÒ£ˆôƒÉZiÑÓûâNà%ìBôzi™DÔi_d!òæËIäìÊ\$³ûÐGôѦãOw¥ÐËÏeŠLzhÌ"Ã÷ƒHÚú"¬ˆñ’'C%$o¼¨ÎJÞxÑThçÓzç:çu|ó‡&.æ…ŽÛ¦Mp¾Xì8±0| Amñ…T÷âˆSùWT4 i˜(4.s'ïùº$¥h¾žd·-²Îñðýcò…/–¢_-'Mòë}3s%Òyäu`ý%–å9e&ÈfR•ãðÕÂs*ðˆ}ß)DʨË$Ññ|)اO.PÓÀK$N±>M é-AÏ®%gc0^N¡ˆ-ÁI ÅænþÕÿeÉnkiU0R˜\¸µÓˆ~ºÂ%£Ñ+ÓÞ¤P¼õ$…TŠ&‰T`."Eó™ïYo}bۤЌ½š¼¨Ï?Ï"…F¨0ô’Õ3j[P¤g”[u¸fÖ5’wëPcŠ$=z&w;j“Y«Ý X»ŸØì1Ø„ÉNl0=ÉŸ›¦ð9ìšÇeaª÷-¡Óœã^æ„B©|ú/)íD“ö¿\ \Äp]C a Í D°áßhª;Ìg ‘®ÔXèE¡Lh@¿GR¯¯ñWÑ»|qiÿ$ðsÑüÌ{Ðü9ÝÁ„W‚$Í{N³†pØ—å}™ÅÃÊñ.>q£e¯%º…û×ë˜íãÁý2žsÉÄöâá7)hŽkÃHÒ†?Ç[¤à8ìƒDZ1S‚ãôAÛÝS“Nc§›ß0myÅ'f·ŸØÏ¹4ù2Ÿ¸¾³]Ö>U;q¹T¯ï 9—ª¬kø¾j¢¤¤k³Lx× r¬Vd\çP•(H±JêZÕÜòmAë‹´úË¿”æ×óN7yŸo ¾ýȶñÂ?•ý%{,–hxK¶”äÕë˜v'Ä>‡n]2Õo ²' @Æ-ŸXlq«+éÜ™¾†Ž±µæ&7þnïtèÂÊ1¥ù[.Xw´;…ü¼ªï±JVÂõù Q­%+Á™÷Œ™Iš_4¨B_ï,ycf2ygZ9©w¤wâwé:“u…÷ùÕµjÀ^ÑòWת)þÓµj¾¿/÷{íŽIPIl¼ý˜Ìo^Oç± °v‘þWX¾§°ÓÀK´!Ý—ÖöµŽRÉô”ä±±î”/þ3ýîå3GzóºÁärFÁõ«Ë™yì,n鿺œé{¡5QøBºœçÓ…{–<ݨ[8Šë:¸sF*«Š™à‰aú ‰9·&'„µr ‘tÝ¢ç§s#gPæÓ“ø%S\Á²\ì•Ó-É8ƒ!ÚI8üŒ7v=Ö{²ÏÔõµ“D|bqB* vˆ-ý|:E’\ ½MŽàíIŽ·EðñÄ{=»{ÆVేVöhøÕ.ã1E ˜×à`·eŠ`q¡mF̦n.%ê u›8a5vß92ÒÎuÌ‹¹!<ôÃàæ‡0N°éƒ=&íž„~r‘އÈ+êÁpEÅQD‡9‚Ÿ¬"GN¸ýð0'E©õZgÞ»Wлxcœ™r¾$ylÅÏÙþâ:âI“\WìnJå#yc®z’Æ6Eð“.šÐÁuyrµ»xc9õ”ïü˜7>©ú/)ÞÏŸº€S ©³cú†Í oz•ݰK7)¤ªpɈµäM é>P†5õIUúapͦɸìa“ésJóзn¼±ËÚÒeíïetã;®†ÉC´îùjn¬d§þœ÷οb.-ð‚Çç°¿ú«ÔPK›áçP{œXÙÇôíüàáØ½Ë?Å ?Àq;¼m~yV:îÖiV78^HÅ-aòƼÉiD'¼$DÂz¸›‚EÓ°ÀdŒñ$¢ )Dba‡ÑœÆO¬œ‰3b®E )ƒº¦2¡Û²$oØ‘²üø—Ì _Y,5ùù©SφÁÏ´À…†—ÓÒz•EËWá1t}»Zð3_6ó»µwI 3ž˜É´B´a¬*gOaÖvˆ6ĉ'%ÄÚkBôæDñLöÝ8Àº“Úët4Dî÷/ܵ¶5ŸxRya~ïëg~ÿ+ߤé÷’Ü´µd}¯§_=_­¾/NWÂeQ X;\ø”YWùp»YñÀ9ú»™“ÙÌŠ¡‡ÇkSO3ùý¿xtK r\܈›hbîG!rq$¹¥·0-Äáä"˜­F ÿ¬ßVÌÆÐòõ–'/µç—Ë$?ž÷mŒq2âö;ãKÓó´FÆ~âv 3Ââ`<6Lóç^xAoðU´ü2v£Z/úÒ&øH‹a9ž ÅÅž˜hÃË X¥ òË6¸rïänŒUÉÒf⫦‰jÜ:‹ôbÔ›å³i¹u¾~+Š•8ò|qE‡cä·[Š•ÀjYbozö‹3æý·¤”¥t™…jÓÏß—¾ñ¹y~N ¼íæÌÊ»¬ T‘Å ô/Å%ž‹ŽHã¡eéœk“&k{zà°)›Üù¶ÞéÀ'cD!Xå‰áÙ$LJ1¨PòÆòñ’‡‰©ØÎS§ŸÌCÆÃ«¿eðaö¬â#˜vÂ-ÅGUEÐñƱ]ƒÖ&ÁÇÌE¿o<ôûM‚wy›Ïò×{Bpb–ŒI­Asãï«hÁ~½XAÄ™Þ`^›fGÊâoš0fº0v¦7™¼ºõLw7¯n½ßxVªâà„ Ïš2ùeQéÂs²X&¿P+Ýøa]J¹ñÚ+ÍtÅð:s©~òH*Šñ Û¹Q E …¢ Å£þ™zð`›ˆª|ðñņœòm³fº0 oò¨³ßëwàýV¶Á–s¾5öCåú ^}÷Ü{¸±a m.–”Õ¢ø9 žMgަǘ6ÆIìoŒæÔžâ…£šš/ŒQó¹‹î2OL^&>sû~bÆÂèà¾$·|m–ÉÏtaørnQñ&·¯¡_“4¦-«« ç=¹ØgÎú"€*~^Ô™ñÍ#`!]ξ1:î{S˜='­òDžôƒ)AÓ½X_I†EŸ*8äÍ9ø5ºüb|¥: æèúŠÈ{ñN"€2#…¹gO¡»ÎXÛrùyd@nlXØI°4&uƒ þ¦ÂN/^ÞÃúÿèŠbÀùJÑa¦H¶Cý”©‚gø\>%Í/ú¢%oì{Zšïœw$oܰþ¶Hö‚—qÖ?ÕÇâU?ê»’7nrñÈë ûúÎsqsµn–ëÊ%ü阿¯%ô+GçÞ_5‘5S¼±_­ùĪƒE¨E¹–hcㅪ߼6™|ÌAï-Ý8¬¼®Mnu~™ž1œ!þ+ªÓ,˜œ@£ZZÂ$,NËåK ž¼œå`A!9’B ßêÚ̱„Èâ…wíi"‰þcX‚E—NŠÑÏâáro¼n)}…¸õõ¦Ó÷ü»ä7<¶ï㊧xã~)4Ä#»‘;xyõ+yc7ͱIñºNòƾc‹«Ë% JRKózÞäjN6 >ê]ïţ̯Mš§›\ìp.´Ó?yãûÍ'öû1oÜ57§AÓ@Ø#ºñá@µä7/ìò2_åçr¹¿Žžª„"‰bÚy&) =Ì„Y•]‡I éÒnj§'oßÚ‡õL㬮мñÉÉ«–%oìZ¨nN—­vÁ†a"¼wxåëq8½ýË¥O$G}DÀµÓg¸ÒÆSÃiAüôtÆñ‘¿Ðï@ÄÕÍWÝ›Œ“Å ð¢xd"¶ê"^ÂŒ óãO¹:ψoéqãÃçÅIøég`"6x´›‹MLÂ$ëqŒè ˆÈi$…`m2-DN(Ršái!N\‡I!mXˆdŒ8@»n³â/ì¥&/üÐ"Ý´`xެb@ðJVPÏ×Lœ…H³|¨ñ¡‰”LþÂÆQ¥ Ãö¹•L¾s«0Ó…aãt•4ï~h#†ðgðææqræ ëćä…oyIZš¿™%“jéN[r¸"cVq¸®K˜äã4c£×uS ´¹tòŽvá­Ý¸Ýg9¥4_Ã)yã_Š’æ£øÛÆ #öþSr㑟-ØÃ²d´D ÓX÷YšCÉql¼°ªUIóºòÄ®nX?Îs+'=ò…°}äÏ£^/:<œ(§¿ nÓ@‚Ÿ¡zõ_0ÏR®~è3|f‡…¹ÔUIDéÄE…qïmN`ÀîƒMõ=… T/ƒ6 |ÛÛ•¤ÉE̓H!\+Vø0ä¼à[´h¡–¬ L Š6ê„Djžùê:â™´¬¢CŸIŒ8è^‘hÖ=Ã()š7KVPYáÙ½Åz•Á-%éŸÿ÷ÆÖý;~ëÁI„ÅòÔaf½î§K¹ë6o¬.ß/Ò#:^±ze÷Æžüš§C¡´#ûŽW×õ#?F]7ب¦Á ²~è/é§Àìº*:éànÜûà²Y¬ üâŸdì¶¾+¸h‰œ¬\T#Çw±‚¶«p&^v³øw9Ö±Gïð{ ¥:ÏP&…—¹qOßšd£ûR’ ¹ÝËþÕ«~²=‹ -#ê‚û³ñïðlmÏÖþÊ”qPz¼õ%ÛÌCŸù¾õ³Mñ¡7xäkíëOÝø³n ðp‡„žÕ«äÎç;Æã÷Î-w5fKoth„=H»h3KÉñ!1#õaSâCF>v‰ün¢›7¹ú[‚dk`ÞøÑnxIðS»èæÃv få)Å/ÿN¼ñÒï7 ÞåmÞXï)c<>.¾}Ež7¯´@q\Ø\yœ{Z …‚¶(²­=­aˆÁ«ì|““/lÊ–"tc|9"…YòP 2ÌyhÍCým§!HÆ0j’BƒÅSbЀ{P›¤PØ€¬;I• H!ùßëEáª6¾pêßÃ?p°>a1?<sa „>‡.ÿö_Rá¨Ö"ÐOzdã/©pgKœÀ¸Üè—©ÈJà&–ÙúKJ‡‘XØtÒ_R8dÁÌûIñMñ34 V&> K>öŸR æGL^On8F”” »åð´ !¥"t"I¡‹{Ë$åÂ^Añ:ˆîi&‰pÂÒy_å¢!j²I!=²H"Ÿ 5¸vÒt$¢bïòÙ¡Î>7+ˆ b«/#ÆÙQ—6f´›gã…NÉ|âXðõºÎ w:C`“!ì6N¦å…Úð€Î?¿œð¬,¹0óR–æ#´ø8Š7æ=°Ä’@¡òÉÈçm>/k¾Ñl£á4Ï|3Ú_øf˜—;C¦Û½á‘ï…dòŸéöÉhoyÝòÍXòÍ4óY>\^ºܯ߸¼üpy)w›Æ3i¾ýOpÞù¸Œá?pßÉgtÙ¨,ðd\¿!:Ýí'C/¼x—8T‡û,VïÒ„Óy•4 é-ݸQ ÌÛ„€ƒœ¹Žf¥~-ùštûäßæá¯PÄaôbã|,*ÂÁ#.›–0›7$-h]2E=¼tßd¨ ¦x•‹“¥$E¾-Xíâ­Á7£„œ@ãà@ŽÀþFà>üĽüĽ¼îȽüí@íþvd67ßXy:ã3½Ÿñ“­&ÉD/¼þõoéÀ§¾äí ׿~ã Gòí §Æ¨Vxá@5¶c·4øoyõí+²Íž_f /¿„c÷K ˜÷î—pË/a™âç5—Ö~ ÎN Q“š D œÒñ€M„†¤‹êv8G7¹ƒ×Ú¿—À¤Åd¾u¿]†ƒ½¾¾ý 1Õ Äyöüt¹#ÃzþúÕf&+z“ÞàP|9 újhnÍY±‚¾»YÁ)´3a|š8‰ß±¬Ó0gr‰ ÐáSÒ†0¼ŽùÂVP)'Ra-NIvÒ2Ù¼‡~;W.Ò;:J΂’7Æá~GÉäLƒ*ݘ®Na66O9l6ÎWçylÒüƒN¿xáð_›L~AVéÆ\•4z¸{ã,´JŠ?:á˜7ÛÞ¹åÛχð.Ûs۩Ǽq´”°ìJ^8F=DfoÜ:%O KÎóÙÊ_å¾è™2yz3Tº0”5›L¾}ñÔy§ÓÀü]G¹¢ƒYdJñž¥™Ï™ó‰Ý±’ž9/ÎâÌ»žîò¸²>bl sÅ[ 7MNKš—ëÜ55Î ;=ya=?ssï,8ݯ¤xÄ<‹7îÒ,¥ß“«xãèUÀ_2yú&Wºðâ½R&/ÌL7æÎLÉâá±¥g O—³Ê5VOXˆ7Vy!ò%¼mÖCrФ0Ë>Ë$Aúm!Ž'•…"r8ÌÄê/T ب'€S~Ì ÄêáLŽ@÷k>zò[£æÑÍúyMòÑrñ£‘#{köÝ.•l{ls®›9îd\òúWŸà>Ç?9Š¿Ç\sì­ À{eMOix L˜%á"’¢á8p&+ˆu)p^¹•WIÓÜ‚ó—ó[tr)ëŒ_.-;QœŠ¾5Qyg:yìköâbh{XãSEgy­’¸>-λ¾.víäe »«QpÆæˆ„š”4å}´â¡S%“ï8V°Ò‰aÄwµ”/þ9ÕzÕ#^ê Ž3¥y¶Ÿ/ÜaõpTc³ ëÐ$y¾Ž×°ô—ø6’5Ô»â%2uÒåÎW6Ô8‘tO=ã«CpkÕ&<ôÚ1zÄ ôáœó,>qÌæÆ Ãí)Þ8fŒçv}ãhÝÏ[‚èGç(Þ3¿íûƘù/œíX3Aú†½_ñ¡ìcãCKò¼®Kìþá(wõÁa®c“æÃzpç/KóΗú§­_š¨û˜aà  ŸIÞØýù½ÿ‘‚ ¿Ÿ-_ó:’æÃ›°õŽQ'â­¦,ùœ|®ÂÚSOÞxÒCÆoÅ7|RˆŒEÏ-ÿÈB…m£)‚ñ¹J€SØnqŽå}Á|¤:‘îØÆ~Þý÷ƒ™HØ™u"Z˜DØIB{&rI!Û´ ÅG1‘4b6Øp‡; Ùpfu±‚Ê¢X!eñ€1× KÛ8;)_ƒdÝ7\—Ì,\g—ÿŠ9¿–éøxáX.þ%£gEß ûz>úK†Ù £ÏÈkV UW†9÷úxÑ|#ù ¹ñ‹í<.ý¶~νþ‹ßÚë{ñ¯öàßGûFLévd¾·÷}Œcàzv)‘þžâcfšP$ãÅ+ý“OÜÐßO1fК\Œj¶*>¾]½{ìåÌal3 LçΗÎKæÈç¹CØ2ÝÉ N.“%TLK³‚‹‹Ódûæ¦ðT&Œ±HšÅïžæë¾ŒŽ¶ÍÃ®Ä ÐÍÜ’d§½¦Ó6x¤'"LYÁÎÐù%…bÚ'£DÀ¢Ÿw¢L2 &3¢ºŠ_ 24ZòÆïÛ%ñ·Ì†mñà x/ŒÐ"ð³Hð#ƒ‘Øâ=LJJYçËåji\WšZ²ŽÑn5yá®×œü´šžË°ä…û¢š§x©}´|+^ê׺~â³½òóÂðŠÅI€ˆM€>l¶×ÙÄÆ’d=kC!K$›Ùi5ùÆc¾ùÄúÝ)Øbø¬ëRÑI!ˆ…9‚Wf•Î쬲5Çb‘¦Û>²“G¼¨Ê‰/|PªRé9•á*,xh¤ß±ë@—ÁÐó›=j·÷lÇlÖ±¿ù»p€ó/™‰í2üŒSOõ— 6ðÄðs;花P°_8Ë<öeÈè3ÊûÂá?½>Îf[ ÿ@IöFhÎä€B?Ñn rá:Å áœÓv§Š'è¿Å "ö;…Ã: ûCŒCŠþæ°{<- ]ï¯ßŠ Á57ÎÔDzg G4xL‡I"ÛZˆbîE&ꨌBzìãAäv“Dô1)ÔÔw>î»m¸¦_…JšÇÔJì¢7o¬RVíƒMëZÖÁ‰µ–y~þ¬dò҈X§`¥;³8YÒâòµhã·çK×;%g€‚­:Íî¹MQü|ÑG ?«‰Àý*[ë/…úl8–¨ãÄ©J:M‘bÄÇ\CGêÁ6Yx*:•hAM üã¼I§i@òÆ“föÉÇòöÞxcÅ©J>ñýâoýŠ60y‘¯=¾¸ ÂéÝc²~:=¬ÎˆŽ9‚"pÁ‚§1œ‡¥#vîV¼qìÂá5Ióaˆ³{óÂ]íØ2¿÷Ð0ùÄ´³ÎLfîBŸ½±´mÐCîOdåeÛ®!ÓXPÝEú¥›6Ô4qÀà~!9L6Sˆ»+Œ)‹³¹XžÚ@LÄ$q­·a|Й <ôˆ¸-вCQªà‚±¹E²4mËTÁ>iaE‘lƒQ{½<;o|ðÆ÷EÆ<“Dx¾ú{Ješœ¦0.â!Ç TXsxi(;¦(<™¶E³Ÿà@f?»AïŸo%qg8h¾*e•yôëð;Ó·n7¯ö’íövËî ÷…>á AK{•4}I›OŒ¦K:Éä1?j•nŒT{Ió§6³Í£‰Ÿ%ÍF”Ø{§´ÜÏÎfkŸorÕ¿iuhÝ‹šÈjÝyysa·¯¹`.Ôr!'~ÉW%rÆMˆä%WÅÏëˆGh¶±þÙý@^Ö·_øÙˆ7>´O*>ñÁ=¾â £Ê™OìªgÞx°ö&/¯íyöç» gG'Þxr‚»Wý½i8~æ7­ºq ²a”…PL¤ ß|²:î޴ồ7«ì™6|wòɺóþ'wÚW6Ø× ý‚Q„ï)ËgûzÏÄ~§³YS¡Ô ­—¢è5‰Ú{ß×ø½éÿÿŒ&â,ÿ‰³\öŒÿ Îòß‹óK㜒†Eè÷HŠà'£‡)‚°KŠ c#X=o ›R¹äÂU—_El‚" ãÒRt˜M|Ã}Zô†eÅŠõ³Y8Çé>΋bã&©=µí‹í¡%18X„%GÀGE,ü©Bºpòÿ’ayŠqÙ".°¸†ˆ"@dà'9ÅÿŒš B]|EGÇ/s¾bèÄ#eœsÚÖÌXäs$yYÄ? 4iZð¡é±r^Éñ0èÉ rðëI 6œ U×0|]™…¢ëgV•õn_ïiWG¢—J^Ú½cû¾0' cã‰]­^<Â8NÙȲÆžZuÖãÑ?]†}¾žøÂl/P¤Ý½ ÒÅ,Ú=õmã &¤ÎÍâØwÑpƬ`¸ÜJW‹ÑP/Û¬«‚½9'‡ ),Ä›ªf{Ñ:ϬàOuü^»$M±‚a&J’>8š™dÇ€Üñ a6š¶7'¶-w#îUt-•ŠŠlyGM€5Ôö×1€Ãâ×cÇ~ ನcûñçÀc?jš¨¿y àõú­¨ßc¯ýÀ˹Žìnÿ'•ûï\çšÈ|éPvü%ƒ Ìðó Ï)FXP˜Àú™……)~Ž¥àð߃¤õ+2ÌÉC#EYt#AlzH&-mo&Ó9¥Ï1Ú&ÇÖ1… +5ÝÛW›pÀ‚Y¬Pôró0)tÚTÜ%Kwh£Î"©÷7I$+t “'º:§ÅìŸN¶!L.L¦FT9 Qdä3K%KS¥óˆ›+<„bEØ©óÅwYópvñÆÐJŒâ£ÙßNô çÌ·QRü¤Ñ]òÆSùL)Þ×7om4_–æ•/DN¦/vÞ,ϹóÉeޏ3üƒ‚[¯×oMEç—A,SW Ç`$YŠ\É}ÇžŒAÚ[Âøü \íÍƳ<Åã-öâ}?]·jkÊΣæ<4âN~Çpÿ¥>•N_4ŠEøhó‰]Ío8¾£ýÒ†)-;±D¾–Ycß›ßòðMwTF8F­‹¸p¢ )~f'9N{jëµs¼0ö {}߸£Öâ…ûä *yaèD¨„¼ð ~Û|â)e™ù÷U¿·t\}¶SyÁØM{TZáaüÁc|;¶«çeáµ´Ñ1“Ôé°Î 4 Q­mÜÍW†f­U¯Y¬ñE‹ùÄWÿ%ÍËD{çßœ¤Ïsy+=1ÂŽ”æá5ŠçáòTXÇy¿–æçN8+—2vzò…£ÃOÞ5gÉäiâ^éÂ]LÊäuÿLös!|iwtr¨:håSR<üGñÆ~[%Åë„™ä;Ç×’ÅÇ(¼§sK‡m]Œ"+v¿”âõ<É#0ëñ’|n>O~?ßëÀô¦xaçÖ£aMJŸ—¸¢mP˜e] °br}[ˆkˆ=µÐ=)‰œÀ|ÿe,Í „ò~&G€8ËætíŸÇŠÀ7Ž›±a R¬¡ŸW´¡­£w+Ös›%R™ðlŒ‡!³«û))‘[îâ?{‚äi?[éÂêI< k¼VZlBj¯1Ô4D³ rœœÔÐRüÀÎùu÷ªçÍè–§ƃŽ%ÈžCäIõ×aƒ„ñÄ.O¨ê-H"JÎcRkèÙy–ÙÓ-DNN>MÁ©þJAR{"…×ÄIF?Wi@œžIí×éüua˧(ðDÉuVÌM‹{lϦUÎY¼ðC»ØŽUFó7/ýƒu–x|>a‘Ï¿d¢R‰ÀǰþÄÏÛû>Eð3ÜuüLélšv’‡I¡8øsa)‹:•à„}7Κ1/ühÕ ZǶúr—.PSò“+­Á³Åƒºø.E ©>šTíTÕë{-©‡‰µwl¶\îOBÜ µ<ãö„š´ñI“ï”É7~7Ó…c‰0ç’ÉK_éÂ>S;e£êçuÌ»ŽšÏ:«º³Ó[– ÷©m’|ÍÌÉ犒›Lþ–[¸Ó…¥íN™üóE·W§ {6k™<]Ì+]»ä­dòV'•.µá~J&¯If¦¨´^rÊà+†À;¿¹Å‹£bRŠ¿3eòz™î÷£÷1™!ÊöÔàe™ü¤:3Ó…?ïkþ¢ª®ò#ì|û¾¾ÞP{5oÜ?øl×Þ;Wùœ\ÁT9Iš?U7’FûØ¥x·ó/|aZõ0 DS ¹®Y,¼pΤ q¼O ³MwmˆNCŹP‡òÔã¢caoª®ç„bݤ"W%)ôê¨Õ‡³ƒæÈÁq%L!V6w 9dÞ±ù6Ëö¢îôm/[ óùÚöÞÖý͸uÞUüM°šb?£þ•MÂõo³IØ¢þ),ÍGÔ¿ aè÷ë‰ÿƒ`5Á‚`3t`Iç¿¢: OA—†Bít׺‡¥yz‡Tº±_ÅK†£b´Æea¶Ó<`cMFU£Hò¡ŠËRù¨™½›3J:©8›ÌÖÛKäÙ¼Gvoå AJáÌN+™ úõmêœ0b¨,óæâû$ßXTÔ›ƒº®Õ;3P¡#pyñÝtÆ2ÇxËŠ(õ¬º¶ÆHàŒ2çØ"0>_ïŒïÈ“ïp”Õ _Á·èŒŸ"Ï‘9â—ôPª½0"ñKÛßÒþÖ”›¬„¿µ9Q[˦ÈþàOÿô§úÓ?ý û'„>@H€N•ÀThKó]¡HÌ7‡*‘L¾Q‰™éÄ88ãj)_ñd¨ˆä…C9€ÓÅG°ØŸH^ø¤ëò.§Â@ÙfÞxžï߇2ï<6^x+O†|˜ Í1û¹ñƒ‡/JZ…L'_˜ïãa舡r • lÞ,͆„HÞØù²4ï|©žd½àýcæÍV»)¤ƒyc¿wó{=xø>àKZ½¥Ð›„Ëz¨3[ߤxßÇ|â“!',Í;¿S®óƒÊÖ¼žù¼¯ò±ñ™?k!áJ/%eÌÈŸ¾ñ¾žùĺc”†P'NçË|ò¾žycßÿó¼*é‡xøûç»·4¯S1’7¾N!åÆ#¼Â–>¤öĹJ[kOåãï̃êEèÅ„‰×Xÿêùòò'j꟨©¢¦þ/šú'šçןhž¢yþ‰æÙsùÙÿ^ÔÎÿ‰YÛ!Xu*–ÎÊâáYûqZÛùZ:$Ö³Ÿ''.E üåEóŸ'(š¦FñÆÝA;×£J‹Å=löóTZTZ#€b½òP׺èP‘<1Î:ꙌÑgÅé‹ÉC† ÑÎëd(8v¸lŒ‡øæw K†æitÕôåò²âG;å,ež˜‡<èš`HɘY³’”]©ÉB5%òèúúçžx¼¯é[ˆþ:€ðãP•¿O |Ÿú>â¬*œ´@YÕ Tèä\¼¬’~Ôµˆ£®¥k Á2ù—ùç(<ô§ì £~míiœny¸uýŠ­/æo´C9°Éæ¿däÔ ¦ë!à¥uBã¿¢pçeŽþÑKP3ŸT BÆBcçO²m“â1kz®ä ³mY&ßèK¿Çí1æîy6÷Hsq‘µ,ü 8¦™nftÜúâÊÌäÉéqŠ{ô„We±¾u*MaìÌÒ fèåsþ/ÙhvýdOÉCfjªìæ» U¦M¼¼rhÁ`Òî}ì±Í º¶‰\ò}+¸zê ´Y0«zên‚|ÖÌÂqlÏü ><áô2õ—Ì…¸¤dò348º¸ у+ çòýp¬âªÁä ïH³± µÕP˜MRü¼`âE†ŸÙúÈàB•¤Ÿà9xc5 ‡ßÊî:õ_Ûmú·Üú{'Õ-Ê<©nm¼ñÆo[4íÎí‚ü·Žµ“ºëCûå‡ýïlpýÕæËç& 6oö#áϱ¿»!öW;P¿ìX}îd}îxý~'êS×ø«RY¿Ûફþ+vœÞz»|U¡Î_¢#ü³•Ø¿Sóþýã ?–k¿Ñg»Ø6=ï篷ûþbOò·úa¨`­wɆ5ŒT{JóþÓybôÂNOÞV\7ó‹ØN,‹»l13Ú$øÁ½¶ääyì,Öç#iC˜í• ­m«ùÑÖ‘UÚ—”â1‹¼‹®»èºþ´€½xἯåõÈnÏ¥YxÍÍd‰"2ßῦ0ßu ‚[„âzý”LhÂלà’Ú(“Š^cóz´FÔ /8î}hé}n"È…Å8‚Åã,ÀÝt Ep³S´‡• ×-èÌ1øŸ«d,~¹„Yø’uAWÛ”;‰Õ–~ôªöÎsÈbrÆäö…Òš“Æ0ìnTN.j¹Ø5až1sÖÏb4ùÅŒ|rø-8oybåiòhè+¨f8â—»ÅÏ/ÿõ÷2G¼G_^ÎÔzG¬ 2lÖ£§3mŒîaãû¶Ä¼0ÌDÚž•©g½¹ Kž¸ëÀÁä…¡]¿·ï‡!ðþPÆë~Á w†¨ÀˆÛ4Ò*t˜/+~Œ¡îɼº…€ í£ž ßš…Hüd™P`[NÅ vÞòŸ(¨5Wr‘·¬=³¿Cß"yðn³± 2ÞP¨Û ñTͤ ]=«B:´«¢ ƒ›UVåÄiŽ@u¿Z¡´ŽÙ T`äT8 T~7':¹:ÊlÖås‰¡°…8Þ/:«‰Ðå&†}i`÷´DTuß¡€†š¹oR<<˜ù.íŸ0ªûušMÔéißéÞ%rAgqÛñþ݇‘ÁÞŽ{5|FÔvý…5ñëWd°o†Ÿo< z–æ…Ð/±ÅÃçg‹éfŒà*½äuÿþ:â{£‘VG¸‡ÎÇŽVŠPÏMЇò,ÞÛ%­dòÚòÊtâÜꋺªç#ªÉÕ_<0bï¼0 ï*Þ›Þ­xc?§ù|n=ïë‡Kl/|0àqÊ䇶5œN …šŽÆ–ˆy×e§gÝf]v¹ä{|èµ¼ñ¡2v9n8Êoo M±ªÑV¥{±â·¶7„,øj:ü²+ëÖ\PwIP´Ã >Ð=} ¤R9 Jó|íEÑu=B_öÝ­­½[#˜ý«Ù­Äø™MŸ3˜ÈoBÓP…Ý93*¿Rš†…A§„Wñžþa¾ÈÁàæ’¢Ú H¢Á#æ—‚ø|„õ—9F@‚eW!&™à±0G–râ6þá¿v"_ÚÐ?„zûLa‹ØL#B ZsøÖ"aV™¤Ð¢aÃ;…ÁË vwZˆÄ¼ H"ZÊ”‰yn’D8=… åýs‘Ëá¹ }°í Œf>1b%ÍzÇ&o<´M)~iõlÞQPæ&ÅŸ €”¼ñ¥íKóMê^Å'æ¬1¥ùê¢xNX}FXÓ®©#bˆ7Žç:_’<ÄâyL9c‚©èýŃêviþÆ.wñŠޛ2ùÉýÒL7æl®¤ø~¿ÓaWÁ}säÛååbþÌÕ;*’øÊ¿žó‡SPݳjz‘ƒÊ€X«I©³ÕeŸc(BÙ³ËJi~*ÒºycÅLiûŠ[zbV9¶a¡}æÆwŠÆ³7WsîäØ×‰"øì*_ý Û_¶Gf°ê©ëë«»@õ2ì^ŽáøŠS™üW¶„—9žï}r ¨å7ZÁà6Þ¸kÞ˜¼p˜hàu›Æ¡÷OmÏãÿ5Š7޹Þ,¾ð ‰5æ›’t%ÞŸE$f2I#=W=ßÃÃûkåwc> ó1º:$i>dòR f<_:¼UEoÀ â"'Ëœ@‹•e¾J¿k}]WÂt,I"=“ÉBÔÞaËuàÂ|Aotã¬ï«þ=¬öÿÔሿ?@õØONíŽQŒä¿úÅ?Gý;EüÇ× Ã¿;ø?sîðï€áßÊùWgCþzŠ$ÎJpi4Œ=¾¶¨§ìð2:¯@ÃæÃWÃRàÂDë´UzO)úaP™n9j‚Rš_ŽŠ!ÞxR±Ÿ2ùŽç¨tá¡(~§Nÿä±µ»×aÕ¡±´IãCž—ÓæAá)^¸{¢”Öëú‰›æeæwŒ‘üD; µÎ:ãåRš®×íñ?.yp—â¡UX4¥3…HXf™ˆÓΫFD|½Qã|êÀO‰ßãÔT‹çÅ9dòÂãd‘'/<—½µâ…1•=¶ë ì³O<¯ñº¾ñ¼×+?/žª4þA$C8Þ*]Vü<›&˜â…çɰ0ù¹:ü·÷"5÷"ˆ‹ÓB$b!>E&ze‹4œ¦·2 Ô#±Äürý>Áà~«ÃÞò=¿@€íËäØ"²¡dKVý›Ôãêû …Taݤ/•wÀ¹àÉÐ…X帹ëbÛ,[?Û¢ÏE‘;ÎÞÌæe nLœº,y2Ï\‚ž¯òq/új¹Ûw¶·)–\Gëý±2¹Ûr·Ö<¯P·RÝŽ–•¿]¨ÿÏ|ª«þ3FýwǨñ !<¿ŽQâþ‹cÔý1FÝÿ1êú£®ÿ`ŒcÔøÇcÔ&;F]ÿä1êú÷g^½ûüÉÕ7•Zîýy±„?--”!)_Ý|²1=p<\i#ûóš¿‹4ôg):ïÎöôW×çð­ˆ’§A[¾ÎJ%üYw‡Ò%åk,MÖEËR{ÏföÆúžÍˆ{Ífü½mǹ‘ãÌQõÙ†Sßñùu ÷HŽFõ&¯¡óùupu³™äÞC¦¸}ÀÒ;¿+2‡˜mÕå·ATúg ¢9bþ21xu.ÿá0ú÷†Ëë¿4\ö<‰žúø‹;O>µ°un®šNܤöEŒåÑSß0ôbú=Žœ„z#Ö²ÑRb0:dõ+ÞV¼1Šà*iGÔÜŇåž%ÍŸÒ@™OÌŠU¹Ììõ{½h˜½]–ÛCôGƒÎ=ù¥qÍ…¤2£V}Ù0‹½Ì2hÅØ­¸äØ«4I„8ù…ü2a$‰|àxVjn)LN„PA§÷¦9誠¿…–„ˆIââ˜xôF°D¡2kĆþ"Yyj:ÕŽ›Ú†§H6ôx³R èìI‘ìmo¿~õ¿ðÄÏ‹òˆ:“<ÏWƒºy$59‹r•1_ƒê|’‰ØÀ¼A*Z >æÂ£·¼J&r÷Añ3=ªÉð³¼¥ùÞ˜of8ß_ |²¾š_XgqFތҀçFÏ×v@½YÁ)g±‚Þ»»ïÝ­bmæ!ºŒJdÑa~Ç}åÏc‚Óî)ͬúïvÑ<Ò¼qÝWÉäú•J'ÆoT4Éü^Dò[Oñ‰;*jf2spcóŽöz¢xQrOZ~ã.Ÿx5س\tPê)Ä]vbì  LOA'Ä3Ô“ˆIâ"8 Ç«SNN1êݨ ÅNî8U0L1îf£öF[mØqš‹E² ?ßËùÞøãâ¾(`4I„ç«¿'Çý™œÀ‘+°æw :h΀•}r 5O7Èp†B×z0üFu‡~VLA¾ƒ«6õAä¦þt(¶vKuÏá:yaoR&ïÝÚÅ•ròÂ@OñÂãd`áâ…O®öÌ'¾¸]›üŽcé1ufíb­Ñåò²âç<ß·ž0·á#ž!¶ñ-DŸ‚‰Ÿ\Iòã0óZ=´iN@7 GàK=<ä]÷„=‹9·,ÎkÉ ˜Ì'w8HŒíƶÅ)œ¹&gº[7Ì¢¸\ù¾]tŸßGþJ§¦®ªÎ:îæì6Oï¶ìJ_]h/›E1³÷Ä×+Tá?•×¾^¡òÒPü*ï`(庙á¼^N¼´Õb~Ç}åÏqÈî×+TM38¬\VÄÇÿû*™ü©aÅ駆•KÝØ¥aEß{n #âO+3GŠŒ®·v¶+?†•7D¨Ö‹~4¬¨|¬ Q"ÆšžBœB0E± PJ‚\x{0Ú†}?2¼Á½RŠ.™Þ'V–‡Çó%-ÙSÊRq®A ³ëTÏOÚ02J$;4|ø}L +¼qþnb´Ð5Çr¡ X_Œ!â×7È ð{*a¾UAs¬ëˆì€”h.t~V”Lµ‰Ø/­‚F(FâýU‘[ðùùÊhøÈà‰§áå’ôÛð+ký+·ñï­<ûµ°ŸKé8&- $DÂö‚+¢Þ)mîf÷?ý g˜¡þøÉ²Æ“DïoFôþø'"º´¾)RHW‰3ž¿YÃäØV ‘“‘pã41M$QoTŠ\ôņãçƒN€. â…±É;Δù½ðé>®âßðøÊë†*bª#èwÉäÄV¨tá®MuKó0S=Š7>è%—2ùÍÖ–NüÐq_¬^X!½¼vÓ1šÅ÷ÐÓ˜‚Œ}i„&ýFM6™ˆÄC“&D~{4‚Á;ŒÁ%ïü’ƒåÆ÷wr§.bþX=ù–º´Ï+(šÅUÉÀòÎ[fÕà+/^gy=[Î…ý„Ê[à &-³§zÃN4±B,ft’ÍÕ^/Œœ_%â\}=pÕªþ‚w´ÆÞÚŸ#ÄãÂq Rj§JÂ);)D²ñ2¼í‰0`døyŠœ›IŒ oY2üë2xo ÈÂn ?ó›îóhC¨þЂä¤âD¤P,æ•BäD{1)ÔnÃBäu¤I¢~í¤"®ôê9Ü©§p=Q» 3ÜP®ídÌ%¯Õ^Ò<,vè\HžØéÅ _3— ú L!#Nå.ÁÇü'ú3o<è‚SìÁ1Ì´!̧JLí ÃEi›œvÙ‡¡C4_¦XM9r¯Á+õÉ ‰ó#Xõ_‡ÇŽnkøÚðÎßM®Xâoz)—TÏSõ;iAD@ ‹”¤÷ Ì :–fJÒ‹õ"ic˜H®M²¶ýró8s»Ž±hÊ;À=fÕlà•/f“5Â$+Æ+TûV-^¡ÚÏ_BµëPíb?BµŸ¿®?ë ¡ÚÏmýYaÊÍ Îþºpb¸ ÔE^¸ÿíÀéóukAª7šÐ·~áxV±Â$/ÜO6ycÙ€ ,âÉP¼CEÁ0yŠpP¾¸ÇEí,z4x)Ì’æá›ôo|É_ÑÒ<ÂYléÆ7ä¤D§r@³4O“ŒÍ±L[´­e~Zk¸H2›‰Udùx.R>~Ì&æ3Xº2„GžÌ 2ò“¤ÐIg ‘1aú»D )ƒ"=íX»ÉYÎoÐT›Û»%è-W‹ÇoÜYˆírnÝ諽“¯–õ·¤øc½Ó…ñ$?e™ª*éÂY; ø1 %Nø¨Vçýí,—GàÆvXÐúYnži¥Ý6¬½Í‘{œæe³ã›¯OžA0óúüù¯Í Rµ±7M”’'Ο¹v»U¨¸„õb”§bÒ:ú¦ÇýÙÐÉ<Îܑ휚(}t`ˆ®þ(û+½ÇØ…|îpëíT-„vÌB$7•/zú ÜV)t2lÉEaœdùs#`8AŽÙ®= â ï[KÓw2Ù¸}ÈÁ2ú¼Lò:Úñ[û>˜È›ÏtñذlÅ/nt@"Fˆç±ñÜ ÿ¼|Ñí}ó€7USú[ëkK$ºFœF¥ÂVIêEˆ4â{œ2›X4¼?1]5)4PD é­ŠÒ¥}±¦ í/„)ÄKã„*C/ì»—‹Qm$mx„yRŠd/8•0ný}Z$ë²Sj–óˆß¦Ë¢E˜zÖ!S EB ‘Ð?I„%4ñãç$#REr(%™®Ô÷…îÆ‹$â yI"gWÖmûÓœ>’#€IPr|®µ[ŸÏÎb]ƒ™©I¡0y]EÅÔhš¨A"-Hvs)ª‡ü{Ùô!´?íö‘k4ÀS.N’æƒÉïMXv“ïÑ3±JgDP"ùød»ë.Nˆ¹i¨›?¨{üµ/ JàBå_QFäxÄ ü¬·¾§þšZ˜Š(… 5ÿ˜èq;Òø8ð| øç¿`b80ÃÏŒb¡¿dú—‚˜œþ–…ˆóŽAªW,¢¾[‘D|³âôšñ~UÆ,1L>ô—í—?'eð(0‰BWÄåyk²Æ%c´|ØÙšâÆ¡I!M‹̱›ð`½œH#]E¤¤?+º$ÃEÎ嫈4âýöq»lð5´?çÞÅŽén8‡súãX€ì¢¢[?üWÔÔb¶[ç¡PUþËC‡¬Í´¦$Ž5GpC¥Š5ðƒzJÂêJºùè³nÚŒHˆ¼hH!ÒèDû°ÐÍ®üöâp'Ðän)uÍÃ×Ð/Äqè»ü+j šþ’RÏLNàg¾ƒV ᢖ¦pH`”7ªÁÕKv¯Áá$Í+B/N¨i÷†9h%/üЖO"YÞ̉B|°ÑRXå˜(…Œ %Àb‡òNÚ°qó¯6éúøŠ6 ©É]3¤vÈÉÇÆ gºø £äòû±¿Wa—ä¢kB}Oxû>ÂÀ±¨#P~Å)—j)lü¾__‘^ÙâVÆIëÒûJûËã6yÑ»_¤ÐÃ-h‰†3¦€G&YæÃè+FóÆ‹J³˜"_YCUŸEq†&RH¹)¤Œb±c›mì9Û×Á‹6ñm!’7>¸ù¾KòRä%/Lõ´ä£{E(š:PJÝ/yçOº‹äÃF¶î“e©2LÞø¢v1ùÄ̯âÒ›ÌRËÜ æ½pVð}DŒ\b­ÍMbSâÚ¤ø¿1›oŒ>d”4©[+Þ8Z`ÌÅ,Í’0B_ ‡:²‰ È“ Ó"jfRV£ÚàfbJóM6“É C‹r–tÏë˜Ç p·ÔÄÎì•,Ä X–(E€{íäÔëc[=ѰE t‰<㧆a· sÉ[¾ýlª-Å£»wòƨÿíØ¤x<ù–nkíg•LžA.*ÝØ&C®‘ª‚ÊvÊ(S"á_©ŒSŠÿ|Úü¾/«ïg$¶øä—ü’/Ü€ýëÀ‘´!æØEÜé5)ôŠ™oÒLJ‹5TA ±Ð9´Û´aé9S$;0 ÌRd¡~°‚ö© 5 ¤š¦¿¤`y’u›>¯füj懌Ämíºá´‚{«ç—ݨ“VW[4mH “jÙ´&謭ã»,¡ÍÊSpRÏî Μàáº:Xob¼ÃÌÉíIzA‚¡àáŽßÒæ\-²Që3'ÍêrkcëÒ†{;?G=æðìøBø&:·-”y¸ïŒ#¥1`›I³;Üä¢yÏçeÌÇľ*æ…QÏ1 òÜyácÉ \÷IÌ IŒ<±ó{(^Ivý¬º)äù¦9WÕ¢G팎*¦]I Ê|iûòàžvÛ«çhÎê^ÑF=—Ø,öW}¿Û= šð4'+Fsʘ¸¶M Ç–Õ×Ñ×ø9ªE~g2RéWf‚Ÿ âæê;~[}óî¯r|µ)fÎæ?„TÛ­>"¶uþ•BäÚ˜‹6/ÃBtiN!`U´(î~%EýT·ƒ©× !Xo%͇3U4-Ñ‚Š )!RWiÔùƒ¾EYÙÈ›GŠÃ¹Ń˜¸aµÊëü’쟻€€&@ ªêÁåÈ“œã¨OÿLÛ`k#§¦ýN€ëªä ü~’cTv²ø5 ÌçýZ„¹Ïµñ˜—àHYñç6+8ΟZöñŠ_šè¡“Æ©P=ùÄð‹«ë¿0¼ÚÞª•#4ÚSR4G™b Gz{6)š§E&+¸ “*©Wª,–È‚‰4ô9³ôf ˆ/Ì;Dßÿœ®š7T_âhçïºêu)tŠU˜‚Ø:¯¢Tc‹o+ËùçBß×Q¬`„³ÛhÃX8÷ú–¯Á×ðs+ˆÅBÃsE¸õD¹)ŸCYpé/tr$Üß…r¥ÓÔ™±óqï¾Ý™œ€Žyãd)UFÐ)j_zˆ[ÚÈ“ãô¤±&ø1Nl’•B0it/käý»„ÈŸl£•<+¼QL£rô|ô÷¦»9~DF q3ÐB$oârÆ™š‘§˜{;OŒ±ðîõ^„Qgží} ‡ýçŽâ…axÐâ…]?’ßë‹] Ÿ,!”h”ÉO‡êpæ»— ©AV¤PkVµQšÆ#w%ïº2É®µðP/g™¼tš™nÌž 3¥ŽùÉØT(‚5Áà0_b Ó_kÊê.ø{]/ÚÞ¶—âF|Õ¹ Ù`Ȭ ží¿€VäK†_þèÜO,XIà#Õä>N#ªˆ¥ö:{ѳï,ЃÉ…Ižä¢$¶—‚Îl‚dR4«— tÁWJõ0 /Ö_vl3Œä"Â)À*É9 >ÎÜXµØDæ5΋h“÷ý.B/Ô÷nÿÛÓFaƘê„Á›vwymã½¶[4BJ~Ù(i¡?*žk\œml^ºŒ%%XòVŠÝ¯ë'땟–3Ï öóiÝœ×Õsúz8?v°Ž bäÃe™¼vd2ݘÚÕ”p§üå*d¬k¬±³¤ùÉ­„˜Æ|%Åc3à*Þ8Æld)>Ãs{V×!Õ­ä]×XVpŽgq@Ã!ya¸tŒ’æ¡S½Š7–¦Ì×íÏ’„ö†,“gž+ÝXú”â/ú;&o|ÙÒÇÒ¼Ê'ya•ßÐ|ˆ!“éñÜÛ¹Iñ'¿’7>9f—4O+—â½ñár]ÐÁ„ÏU‘Lž{l•.ŒÀ¥«äÆ·s½Òù|Î7æLÈÆD(©ÃEÁâ>9‚˜ÚŠ‘—¸ì4=Ž/T@? 'Âä ÊK!„|þÜHÍNÅÝÚK ktiÊDÖH Ñã¢øްÍÊh–Ø|bM’7¯q®°·ft]ßW«åä;·“7îôIzó Øâ…cr€‰´`Ý&rOžŸãåæõùÄëÃyK‚q–†&øÈÃÍÊ›ÀÃM9‘BÚ±° ÙÄÛ‚8)ÆÔ”æ/tòÆwé°‡í*Þ ¼µIñ~ æó¥Øºì¢Áëe^Ü_ ¥wÓ¤ÐI³U“B4§)¤B)¤²ì´Ó‡é ×ú.`¹È=I‘B“Vg$£€ÎˤžÁ‚¤žA§Ã~[lX­Hˆ|h:+’(še»,LòQœ–¹fäsošÛüè9¶±HcûÐã8¶yìÉyçIcÕüÃóŽîÉbÌÄûâ9O—ç˜",zL qUb!òZÝä–V$Lã››\д!,):&Ø%+jzËB¼XkE Õøä³c 8œ“DðÖÌo ]œƒùü¹Ü„D -nç›$Òƒ3Šg×0$ÿ03€Êk0”Ýôß lÎHð35™üK&Î%=Åð3ìïý Í‚¸W–àøúNÎè§ÆáÀI»Ä6¶ŸÏ—6“Ÿö×Ì'¦’9¥yÌá6޸ɮf—ƒ¢k÷Ÿ=¢ðAÓ…’äNÇM >´R»ÙžôZõ’M½¿)”U%Uѹ§4o+ÔF½La§›îò.U§{k}ÓbÅZ§¯±’7~¤2OiÞK ó—v§ÚèýÛÉ%7&Wý«¸#9Lž$ ýš-ÍãüÊöæ±Ûn“tÉGYlé,>3öDT °È¡m¸Hœ­…si±(ˆÃ;E²4fËTÁ“*ˆ”~–A¦vY×k-šJn:"Öw¡ÎÍF‘Bk"…Ô0ý‚ä6á†I6!Û§60‚¯+ëVÒ‚ï/ªMwée]Oõ#Ó†¼»ö1êBuƒû²Þ6I¤F¤ÇI¾×r°ñ÷z]Œ—fÊŽ>îÿÝñsAŒ©•,bð>&÷Slû¿»¬ö½ZAn³x³÷*öÃ>ÀìÛ>@ì‡}€Ù÷N±Ù]æÌ„w¯W6^¸ñâÍíèð_Qèm’ëe€äÝX¦C7“ Â=à‹º¥ ±ñW Ȧ9,5º|ɸì„ZäÒ^—¤y¼ÕP%/“¿í]ÆŸ–Ö%Û·°õÇ]¼Ð¾þö·ëU‚ú:õøg¾ ÌªøÄ8±øÄ>Ó± ]G\-.úË eRÍvºµÀÝLµŽ5õeNCf7§!³›Ó€y™ÓÙíÔÒA9TU]ãëݽÌ^õí·††"îGþôPz¨?=Ô¿]^1…¼èƒ +µ³—4ðZcã…ãþk•4ÚMEAo<ùRîüEZÄ\ê|¼‡¾â%à¹q# ʈn 6ïwhgÃÒ¼òá è!Â7h/¤›'é…ƒ kIèÃ&¢;#ÆI!]E¤îwòìÊ×ôS—CçòSD é*"x¿ÿ•ÓŠG!¡Ö{ò…–4?X±’7^¬)7j†-]§§£ÂoçhÎ… Q¼ø“ÿ™‰¬£áÙKß¡¿dpŠ‚~–•hÛçÛïr~Í—9€ÁC“©3V:v]Í%€ò•B$Êm#—]P==ƒ' ÕVXqÚQþ—omlþè¾_ô>©«=sÚ+éÛs2&zŸÇAŒ¦òg9ÙŸ×ëÑôHMa SšoÞÀ1/ µ"whº\Q<¿+‡™}’úι'­Çë[‚°î©ï Æ}lQB=sC—ýæÅM§'Â/鯹í÷|ÙÑ:¡Ÿ¼h>©žpúªUBÏó¢uÓ‰¥Þzñ'mxBÏ¥(¦];°|‚¥¤ùƒæ3ÉT–”™Í#‹‡¨¡L¬…ä…oíc…b9”+1V_ìx¸…¥ù‡jËä…}¼žùÉ{fº°óp3Ô®Ñkr~9¨=yáØ‚ý“ùÂÌ·øÄÊß^îò9…‚l—{x¦ä…3_’É3_qú4çt÷ö8 ¦N™<˰Ò‘"¥ùë‹ÁæoZ!¸~ÈO AÐô%ÍO¶‘äÍxSn<Ÿ§Òï¬g®O²¸µ³?¿öÅ—©x)grÐY§8hȾÿöÐfìCÅ/,¡WS7§%ªX£P¢Ð.“˜We…ܾŽÊN…Wñ¯³©ºéªˆÕ—}¸g|ísÁbí¦c–ó/™ ‘,Åàs´5ýŽÇ›?bóJ©M­ŸÿÌq¾·;_Z?ò4‘ôº÷ a¥icnÒl¼0œw^˜QѨƒV¬W”;ŒÊNÆ×Åã‹ÍÀt°o×ôµäÉk^˜ŽAçÆË¡ç¼e™oþ–e>÷+‹žç»hŒK.ù7úÿa'úFÏìËåeÅCÂbãFnqöq·Ée}•)¬”ÍÄŰ'.D~#®¸ŠL;×Q¬iâ"Òh~ƒL<ð'G¤ _%.)Nn.?O'ÖËði1-È"¹8ž eâùú©«fÒ‚¬ÈK†ÿT€¨î‹<ßï³Þû’½œÏÖ·œ%nª!n[+ô¬µä Pè»!6v5gRn4ÎoæÇ%®–§Í€¹bÇhøœ¯oÌ6#vê’AÛÏÏØtÑ_0êÀð3b6FmƒeDÿb¼ü ë™CqÈžÿ2Ì%B‡àSðôlvCŸrÁôV8¢#‡·àC¿ƒSÐùø¹~ˆ¨0±#hˆOUÒѹCT#}½ÄC^µR݈Àwè¯(ú% ÏV5ÅêhbÿÖpÉÁVäÐ,VÒô ‰±‰.¾s rç±¥tá Ò†ãxIð÷ÍL >ˆÖ<´;eñΫh…\L–PÙÙB†ÍÃÉæû‹íI6F„Ä:÷Ù!Çñæ‡Î¢ƒoФx?˜ù׃ÂðU2ùI}ìƒ&ûãJzƒclµ¢ÉŒt™€‹jrë~\Jõ¦ëº£®'à ¨¯ëÇõÚËDñNoˆ Fí!Á'ê,~<ÑIàcxöˆàGš#¹«Jb•ï&‰£t÷,•Š„¢ôIJa¨ªðfI1ÖøðgæM ‹§<Ù·×¶¿ÆÍWûŸïœýòÿô ÷ÖF]8q?^ÙxaÅÔ–¿Ø;Òš¯½©.kĵ`E8ÕL;ÝEÃÑh“Ý–—[º±LrBNôæKg36g¼5‰WüŒíûÒ«|8X§Ü÷­´7rÐÑnw°F¦T¼WçTñþeÛ†fŒµmÓ¾³áŸ²á±>6<¶WñÚðxoZ|ìeT2÷,¶oš× ¾¨žÔFÿØÂh/>ñjùp¯­žÚþxmyiÕ>’@s$ss£Þ‚¾®+UÕÛ·«TÁRG‡6Ò6½¢WæJhÖŽžR¯X íS kÖ+Áç§–³yûÔÂ~.»¼yȬ°f[ïÉo­öu|¶Áܲ:?Z¨äoÕ¡ÿê€hð^Ñ@ü& Úñõ›€h$=qç× ·¢ñá7¾X±:^ßÿˆ/f–t¢ŸèO|±v|±››Óˆo‡Ã‹ä"øã—Q,ñç¨÷9:þfÔz¶Ëþ²3oÞƒÞoä—èoŽCw|ÑVˆçÏñ‹©Ì•_úË)ÇùžrØäx›ðI™¥º“´à{²¨ÉÑ{ÆôšT½ç§ù>FùÓ%KümGQï¡ì(Þãök,öÿ¶Ã´¹}6ú»¡Û¯ë5ãÍè\¤ê7­‰tDrA!òÀ1‚!"nBBÙc'MŒŒ¥¨oµ´xÃç²Hv²vÎ8æ ï·Îöý†R;?8åç!¾q¤´D„nhÝùµ¦¨¦îykZ7-öÏzÍev뢣Ko›¨X…`Þ¸S‰^Ò¼t†É O –æ¡ÊXÅ'ÖBË÷Í—áe‘yakQ¼qƒG=—ñø²ùÂÙ]c»~Uò…£F…µÁÂdq9|ø¯¨K{×´Fˆ”Ãhå&¥êUÑbd ‘P›%)ñJz ’p,NRh ’˜þ’êØ·'ðnV"Ùò²ÖÝ?9¸~me/Ê_.šˆ·Å­ &WÕäCù;®’ÉOªä38â}r•2¿wÓp(ya8ÄF˜ï›S.ycæ—ö8Þ¤Œ(%ÀÊÓôádh˜ŒÝ|avhÚ0¶8¯býœ¢ýX[U«G½a³iY¼Ý]ÍÖÅ„êu§aóÓµl]—0ú­±ÑÄŒfïè„vƒf Ÿ¼ªú°¬FjKj>zweÙ¿Ùó‡~]1ûd«‘09àZyOœ¦@à$p0ãÒ_Qpò¹Ä P)¦¿¤0âʹ«%žG¹{¸­é(Ë#CèzÔ<±†TYmÒ|sÀñÆ}}U“FC,Ù¯c>¶0 H‰ k$5Òä¹þ5_¸,ºóL <øåè _ÔÆËuÝRüíï‰7Î|I&Ï|Áù’ÓÓ9ò¹Jš×Ú%ù; z_ù1ï|ûû.7Wß®c<Ǽ0ZÿÎ O?ãÆöó4ÄB'Nã·ÑRˆŒeåÉŽè*ÄU9­;sE1|¹ÿq¤ ïÓäO™ž·95¥©XüÁ@!žŸÙа:Q“;|k%iÄ0I£0 =“R¦/ZwéyÞ¤~ çWÙàɪܹïz³ƒñ¢•[—K ?ÃÛšËdº*mŸçÿ‘ØßÎ4!E…Й·DR4½X‡1•xJ«˜'æÖR&µˆIYúì÷4o cáfñbÏʨo®À*ÀŠp×þ}ò¨ÄÛ'¾è¸v2JÎÙ÷LH˜…ÆDñè7H³+Ù ¤Íÿ¬¯‘NÈog1ð-é½=òЖó§gÌmªá¤Uˆ*ŸtË=žÌÜäÌ.âânOáÎÈzˆíË®›ûSp>uòüÙ*Ñ\–õ¡JÎKÉÏyoVìóüªRQ]ÓÛ—íÆÝ…)!÷C{-%äZ?‹•Êm±RJÐõó—+È#T ±‚±r»ÿìûB3ŠùÈOý~Rˆ„gã•$Ñ…ÙF+):šã÷Ïô4Ћ†-Š-yáƒsó‰­¨“÷ û€áVòÆrO*^qc+ÿ/ŒÂÔuóéÏâŽ^Ø÷9l­—….~ÃàTÁT˜pª¦bÝÏ,ZÑùë†-e³î ¢w•YµÕÿ¨orã·æ·z­WEUÃs{Po«¹qèèØ.‹ÙZüfÀ–æ§Þìeƒ±Ó“7n_ y·”ÏçËç>À.Æ2y½©L÷›Óu,“×ýd÷P÷ÑHò…÷¢fåâ¡õÏ” Ê‘Ôyó`pã÷,ArQ3/Rè§d¿7!å=&†&…~ ð{” ‰ÐI Å-ÿ’ŠR¸Í Ä¡Sù—TƒšAœ@ãÎÅ@@:²‘Í—Óú:¼®]€UügÓ†ƒnXb›tÆ¢ -®,´w‚C3Ó†¯7gÎvWÕÝŒ¿Í-ä’â/F†JÞ8ïáëŠÇ¢nç…ußX¢C5¨l• •YþàjïÏ=Dè©ñâ}4éD`Ž»„HNM Å8ã¿: þúêÉ  âø/)ž{-N ´p›x¬…^H$QCݶyÀ¸Í¤¦C%@>ŒBŽ N Ÿ¦N„v»ië°°"¾›|Dl½+AÛ¯D°·<(N«pVýX³/wžQý”¢N†·ükŠ G¥H# S~þ-Š'Ä*…¾%hXM'^£Ð† KÏâ1ÌâÕ#úwz:8$c « “öþFT×§LZ·›z‚©}6_›4¯ÉGòƒvÊä•ýL÷ãhƒ6%2ïÇ~ØLŸñqØÌn|bØÒž½ %jСW‚ (×÷þIDäì;Ê2»%Qx‘×-AÊvwyz&_9º±ô#×eÜݵó}Ã=G{™üæåµþª£ñzÔ„Õ"TÝ=òk°÷P¡éO òÍjZ¡iI|õ”ÿêÓi_uØÃ5Šƒ?^_ TUGÿz”îv¬è8v‹UAíÏHh¥ÉhWJÑ<"%I!t‚úÆ9cs—ÃÉDÕù‚ÃŒ>O˜ô’ágxûé/~æƒó–±Ï‡ÞûWÈÑ>Ì,wfÒ‚¿žÏ&çÄœ/Œ2½KÚ67¯Ãu›æ¦¬à¹“§)¸7tÜŽæ×¿¢š~' éD†A'DâzýÖ”L%ÈÙn>ÊØ Â&í%Æö;Þ™”³{ÉÌ»›Ü\ÁNÒ< œfñÂéj‰c[e'³%>FÇ7ÝÏWna¶1µœbeIšpPÝhVpÐî'YAž7œwOØëò¾[Ó:Z´aS ˜”–ø›1ž°Í‘œÂÿ‘çâ=lÙ¨7ÃÓRô¤W²„±£©ªD)Z¦—fi¦MïÀ†µ­@ï’d!& õ{KӺ˱¶ f¡뫊Ö‹m#gKóÆä`º3 m7ìò r;fâô˜A˜õ•€;ôæx†¶9U9sžþ gŸy.ž~æ4öð·l ]¬e©K—=$ÍϬYHâ {Ëû å-+Èò©Ub¯þ¢ eÏëoù¬?Ùä.äËüõz™¿6ƒË‡ÍÏ êÓ•å·Ö¯êEö;úQÑøØ¶«Ú@ˆ=§ììHž Ün!ØWÒ†?¹‹ªg!6ÖÇHÚpÒÀBìx§ÆöÓJ‘ldgVª`#l,gú™jÈî7šG“ö¤ý2}!ΓI£SrJ²\@ÈmFÏ”;.#玹2ID—´d…|~1JP{—·ß˜•·ß¸7Ù‰gwoj{7!3é¦=t3ìû À¹"¿GÀ"æBPàÂ8a~Ù ¾j¦Yt‚ ž‚±îUaÓ"þ² üsÅOd® Œá{ïÞ‚þÅËa˜ýH/~y Ú¶‘é~ãÈeŽ@j¸Jñ9‚m×ûðeKþ_8óŸ>”ÎÇÛw’ÆÞ'ÖX\ßɸoçõ¼éÓyä´ªÒ‚j<"[µM•_ß×Sä<µ¡í.O^èÄ:§½ï ¿Ù—É¢s«üeãþ ?Áê0³:º†”ë…¡Þýe)öciö=û14ûžFšu/•YfÂøxeã…ÿ»ÓH»‚ü7¦‘ûèžSNÀÍÖkò °øµµs±#±Uõ5ÕÆG“‘£ýu|4ÙCMfjRj^/æÒnòª¤—ªåο&¥{“n¿6õÏ.!,‘i„†‚Öåò²âaÁ…êh^¶~9Ó2-«§ŠCdçø|iAã¡`§úGÐ`¡„ùWÔ@t(sˆÈ÷áý%ÔσEnÞ˜Q úÆ{‹öOÉ Æ^«xâÑÜï˜×3ÀU°o|´W~^8z¬¯ O¸r‘Hš¿Õw>ð}göãéb±^E(*ò“õ[` )Dâ'Yè-Ò7§Ï[¦ê‘šÁ/×ïœnA ×‰ˆ:neª^âÐR|UZ'׸v8¿ÚµÕ܇ë,E”­ú<º[Ãú¢y?ší?1¿~ͬߓímbJ€ÝÒ¶ÔP ôzůN«– ®ôn­*i½0-IÜO¹[S‹V/a\Pjð¿_Œ× {ë?ÃÔ?}˜ó®ajä¡’5L‰û3Lý‡©û¡æÝÁ?a'”|wéɪKPÿ”|õô»e“áyCs´ X’¢Ã¬uÞ6xoÒ´îà ‰d·‘ ïw4‘ÄíÓ¹}"bnŸ‚ˆ{MAȽ0q¯LÜk@Q;} 9æöAÍÜ>¨¹÷þ«^ýs®ð1Àé09?H(ï¬m&aó ~ËUIµä?3¼þ«M•:¿©­ ­Aó÷Cü_Œ¤ÿ£#æÍM-L ÞýÅ Þrn5KˆuìQ,!v·›âÆV¬ —ø·÷´¼ä?ùXæwÜžúyG¡Ÿœ2²dÂy@E W/ ÃZ(jýµI_9äþéä~¼é©å:ŸWo„û€„&,‡\] ŒG€Øæ oâ]{È øÝ#H,BÃÐ×GÛ‰´i˜´1>2E€Ó rpMN覻4!~ßAÄ @ü³“v˜áúЮʂ$„-YÃØß;Kˆ…¸hÃSªD ³“;¸¦ Úþ9S$Û‘C×&Õ’ä;Û›ÔEøì¾O‡{›8‚ξCçNjxà7Äð{zk|­jæ hò|r§2*Zƒ"‘ >cF%†Ÿann†Ökg½N~fÈR2ü̪ ª(¬~`d…þ¯ ó&}õÆfÔ=Óù¿óæŸ# !v Æ§5 $&ØêÌOáùÉwÚŽgºðâÒ oZw‹ (ŦB~{ÞÔè?Y8¯¸kz^(#ujwá¶7^ƒ)¨j)È ”“Cž•å2âÐx}ÑÊÕA'2ÂS$…ÈÆfmVv×)ÌÂ(¨hC8ФËÅÝHFF„ݦH–F¥†~Cz3Éÿô/ÏF ê"xö¼ÏßYq4Šý²‘åÆoˆÓ×ñ=¿4¼AÕHq ðΧâµT—ùK—Y\¢Ú?fޝŠà2‰à2‰àâõ˜×_lÆÉ{'@Ã`ñÞ ÐBƼp¿<«7O yŸo>ð¯ë'Öz0ùc=ÀP–S¶º\^vÚÖýãöÂ8Í\ÙÇÝ¢-þ+ ‘?ÌÄÅà2Ê¥oÄG’…ÞÙ=´›¿ej´|$m¬å=ÆÎa§ ³sT dXr¬ ð€7GЊGœâa-~A/|mî6¢ÞŠ€l#îog¼ð4ùuô¿=ÆoGñÛÑc¼FMdÌ Âà°o™þÈÆ ·-@ÕÍÑƒŠ dMAk`áƒÑC¼ñ<5:œüÐèáôñ=|ÓºÛßÚ‰%k]C0Ÿ¥Ÿ1šNŽçW¢Í’RdÀDûw K2,Œx Ñš‘AœÏ„™¦gŠ›…É®ÑC‰‚F¼f›– ¢ ¡yK!–§á]¦ Ãæìœ%Ćáñ(è7”£Çý1z4Žþ5!/’7ä~È™ybñÔ_PýË^%ÀIùÖ8°°JŠKÀá*ö=™×ðÑsøP°i­r ý—áãCÛì—ÍÜ2›¿mýˆ¥¹ÂGwÓ6QBädð“D“ó^‹$qy¦µ]„eÂë+ ú…´ ËF“D:ùÎB$ç/&5›y`ïKÅ Hâé†ÿ’»= | Áå¿'- ;×Ac„Çà4%ÐàS3:}½àÈ€é¾|æÉð3ó&SDqÔñÚˤÐÅ™¾H!˜­Ýùóç+czž~Û ³ÚÇ㟋‚­~³©û¡Ae)«xEÈ®I"¬®’Bx–…¹.Í%Õ¸ï\ræT‹ÚñƘ߬’æçTÏ€(Û‰hP\’| À[²  }\ê—N™Æí¤ TpOIÓ ñù3‡/„Šê°_SÒ°ƒ¬ÔËSîCvþ×VŒ*óª¦]WšÜ‹XF.Äd1Iñ sôd'ÀfÀf‚æÃæÁúÏvѰWëÑôóqÀ  ¼ î¡¿¢xäŸ9‚p½ýw‰ºèTJ!r¢?6)4 â¶0 ÊLâ!p«Ê´ƒ1oSú'ú®Y®UbÊÔ¿\Äü`œÝ¿!ó— ä8po¼´W•RüOÉ ¶iÁ¡%·$ÍÓÈ“D˜°URg–³ØÌºyâhì+Ÿ¼¤xŸBaÞ86Á`ã&i~±ÿJÞø¤[zÊèe÷ïYŠ=L‚ÅT~ÑC÷Bϼ °ç¡‰ iCF¶0ëCDE²‡L!ö z Nñ(œéâ+ßù}ãþå“>áîç´}k>±¿÷$5S·Oqʯ8#éÍÕPÑþøýË ¶¦÷OÖ?þOE“ýÝ3ü0:ÏiŠÑu§ ‰#}†I!øX^&4´wX‹ê³R4âD½Uò¥ÇºitJ‚9ÕÇyÒ_Œs'ÆCEa€\æ¦J {n1’#àDôi7Gãq”4ߤB3o ½ô*‰åKž”GJóöÑ,^M„;Ë*K'¼±ª)Ç"å úGz–‡Vj7 ‘=D…?D¨R)ŠŒ^ixý|·(ÙC†–˜n2—"é"îºá,ñ}ß<>îŠâº›xcè®âÎ[“®zfæ¡Ï¸úúGŸ·Z¬êëS­’B,±)†Ù²Að£êüÔvhnwªíüà*––YJ*Eñ…=øjWÒJaì(¼ô/Ø´:³QPBtêÙ%y™Î$/Œó¯’ù½GS³?¥÷bP› Âp ÜøA•J):ÉèóùGDÇÛÂÜÛ ±P\>ˆ†U{+A2\+M(¶;G ’'Ž¡5)ÿ5…ÈfN!à¢ÛBQÉǵº„C•ODÃ@,M?xãÊ%˜ÆÝ½óÑßÛ#ï÷)FmôN!R7Q>tgäûpƒÄ!*S ’˜)?&…àb ²”¦97:yÇØ“İx`aºn™|ÓÊÑéÆ2\ Õƒƒ :ǹ‰ ¡ñF9ÜÐ/1¡siË*‘8wæEyøl6Éìš2Ýx±q¦¬fÈßëú{Ñöj6]Z¨ÍCAš¼VEðíÕœ„clkf± B—k^¶C˜mŠv³N~o戳êÇ ²_ÌÎ_KY|Wg§FÔÇVrçûs¼Ò‰cVÏùãÄàCÉ8!%ÉÇZªo¼ñÅ|l|Œp‰o5ª_/ úº£xãˆÄ 3–’à/ª ’7Žê õ–¥øÛ¿o|ë÷›äfŽÊÛ|–?ßShacÑ^˜ NÌg¶"ã•èáyEÆ»ª4 m‘d¼½Jë mï2¦¡“¹ñÆ"@ÛEˆÓÓM MÐg!òÁ{1I´<‹„I®º&Äò)äÉu»H¡ˆ‰NuI¡H!•¹zøðÞ#ZÏQ04Ìtb£Ü‹eÍõ%«ßCÅŠ…F¹ñg{§ޝˆù ûÿÌ´¾u:…2î„ÀŠ.ϋƀ.×”â¡Ç9Š7–6eòRÉfºqØtŽ’X r1ÃÝË+­ýÓ¼1¶>®’æcÞ'¯?òƲ©½ôfÎŘK×Tä§,…žÍ¿V±LQ`»‹*Ûíâ¹Í„0†6V Æ*06I>tR8:B¼1•µ³¤yÄÁÜÒ±V|Jš ·°S2o<´y{"?bä½ß $:bnn &ø|ÉŽ¹wÇ>6O,’L¾!ªq¥K’Ò|Tñ/|T=Êz©z¡€¿O-'– ¡H^8ªEñ—?ãqD(ŽöóÄO4ì+Iú‹`Ud {D–â}oóÆÎk J'*ºí4·¡m®›Tèa!ޤR¨—“È‘•šÞÑ4ð2Œ>oWÄ×o.ØP*,£›±¿³¯öäväæâÆk³0×^U!UW7ŒnY=±}P›Ubš ÆÎcµ]èH™Çð-®«E7źK ]Oûå2æ±_{Tº1$wÝÞ˜vÖ;/|pÃ3ۣ›N<.?~Qóìúëëuzœl>½ïªñÆZ’øwB—ÄËnhþr¨\š`ŒVÖ¿*7ê¹Äf±¿¶'~1—:hYÓ5µ4' r6åaÆÄí¶> JßÍÈmŽ ­Ê8Ñ$sìjüñ‹|Ø„œaÎG[JœÌªznÒ|ØÜxá›æ)“Ÿœ fº1½;Jš¿8YLÞ8t'}“õÚ–8¦ÊP)ß~¾óx?qØ2¬íûƱY}ã…§ògÞ84sl<1â;L ³±¤?k¿Ä¯þU‰ß{Y´%n0Ñ€¢r¦'…˽+\TJT¸ÐºÁb ·w‡ŽS >cÅt¥è²[?¼}|½àANÅ9x*7£$D†NòÔz¼k%9‚˜ yE]㸨a»ÕûýŒSçcŽà†1Œ(‚=÷üÌï Xö’â¶³óF,´’ç³ØÌ A’¾hñU1ò…/]/yáKf,;–µ6ùMZ ý‹xc [wÉäiŽQéÂ1E|c'<´T¸V ‘ÜŠ;ÍÖ¹ÊÖžŠÏó ¬´]Íù•‘xû–cœÚw–4¯"º[ù¤ý*ÒHÇ/q¯ÍÇ/il#)¤ÖqqPÃy“Búš!š˜ Â-^­\E'´dz¥grYèÙý­w§0# zÈè|.ýæêÅŸ»ÈU©ü²-¡Ú–$íM¨MH¢Îð-$Ów˜‚•b ‘?÷ç1GpÒ“HBÜÄd)öXîn¤$r7<þâ-œSà¡ú@‚öü.sBгÏMš>y˜S Æx–ýS]ΣXÇ„\\X)Ã̉¸W¾ê Ot¶‘ÇŽ=ú™2ƒ…¾¾8#ÆëÏȉȎýð_­Ø¦Ÿñ/‰VT¢›Ž Œk²:¡fÅ®½0>^…qg\ž5©ãܯ‚ Óð×æÇŸWkŒQ!a(‡øÝè'5l2I*)¾ÑÝ,ycÇ1M)ªÿ7î4F+iÞ[æ…½i™üüâ¹ON7^د -õ¸\ÏÕ'‹ºØM˜T§q~Ù“t\‰Xd"XpnPÙ† jIäSô1îxÚÁ‘4¯G(^Ø8§v|m°.^7¥yúâðÂNOÞ˜£alé¥> >ZÜ…Øy†E<Þ¼ñuè{«¬á05òõ‹'öõÍëþ.·,/?¿yc=ÿ }9,âÌàÆ*!òúU¬ =$)ÌF~b\m¸àš«¿âÜ5‘ÍnŒ¹,·x·Ÿ‹ ÍÑHa2ê`¥ñ° “B8 I!viBèÙDýÔ„oõ$êTHàsëÅðsC\Îz$tº~$פ|£|ãƒ&u¡îÀ–í(’–‰&…B­~l"Èx»°L)4ãނ䢥H¡ÅÃH,No«`†¤P,}沉ý…äPl Í‘‚$öÇ–I¡Ø,÷&°ÕwÐðW¬!v±Æñ’ä xc™²Kòw? ÞŸ_¶y0²ä6?s›‡ú*‘›¯Ÿ™j}×xukĦþ:á®Í% û·-HB#׊ä~zíѾK/ÐÎ$1.ÔWmß#V0*ðsK˜·[pRq×U”¥¸K%ï­¸SÆ.g]î’ØÔ ÕþE›n[ýÚ–¼´él¹ñØÀÚÒ‰¹¹Ú„'ÇÞg쉶]€<±ÛiRèäFl ìhÇzâZf CâÙ6 ¾±]$o¯ªYKñ]Õæá03^üèù;ðÆC¿ß$x—±ù,s¾›è·à ‰oCWuY˜änµÓˆÞ›Ç&¹5é4!m:K$o¬Ò:mŒâõ}Ãþ9&ïê»q3s—ào¼ ¤Y‡Jð;x9&…X%‚ä#‹#` ù/­ ØuÊA2<°€‰z~?H!9¢¡üÿÚQͽ£ªS¹)r—À[$÷ìŽê~wT„ý|wTç­£ºÞÕµwTCEYÕø‡ÕýkGÕêð4â( L¿%7ž¾+•ŒgxJn<Ʀ-½k(ƪEÃÿÅlq@+äI‘B±_no)@Ò,Ã$lùo ‘÷‘£{ØL…AÜ)ŽÝ9R(NÁý™X¨_Š•Óu˜5D…™ã%3àȵŠ7Ö›ø©'ߨØB‹´«ÄF^Qœã³-F?3@؉@ˆŒÍ@ºÃ‚MÛ¢ÃÂìhØÂi„˜§Æ¹=!ƽ‹Æï5“Š@NWŠ"בOº=âx‘p÷ü†ò™¤PLk« „b »’b®MÖ3D9³,cºÛ³hLneyŬ16æVGÉþ\!Ž^”‰]ºiRÈE˜’ô8¹£sfº† !AGwìf°#YAìÿßÅ.ébÍÂeçIVPM¶åYÈj³è!CerWÎ c=– ¢Cu]YN/om¼q¼ªÙ6^8ÞV6¾ðw«Lî¸åã¨n~G4Ñk|“~›üAì…Gmi F.ß*‡…ØÇôŠ$ˆJtè/W!Pªkøm îjÍ>q®tñÂÎ…ycç2çë\hWj²Ù‚YßT£öH˜ü£²pÇßñÅ ^MŽ SExrW+÷óƒjÓyp/6*7^؆ÞÉÛð{ݼ,ROv$/Œ5{LD“'ÆÁEÏþ}bÊョ…Äþ°‰çó*šFÜ6ýG‹~…üýniž¥Ê ±ÎÞo¬ÓR&¯í¶L~¬Çð]ëv÷›ÆöÎøxhadöub?tô´½Œo#f¢9ÌDü5‚;4¸¦ ~†Êíçt…ºOqvIîÀêwRøüÓŸ¾=?_èiÅàs(…|',ªåœ¢›`±G–[&WÑ‚, ³®ËI ª!`ø+NΈjÛ)È…êp!"æÈDLw1õšÝ ºÆ¢Š’ŸGš%LJ‡àDÁÎf'u¸¦ ±”¬fr¦ 5¥{@Ïž³?×UÕÑä.7óׄºˆoÈ;D¨†3I!OþEÅ’8ΊáíâòÕ»‘íÄ壷bà?ub'ïÓçd`IqôV>µ+ä¸sõʰÅß# 3¾9;æß>kúp†&Y(ÚÒ {Víÿ‚€i=æ¸w}n&°;1ögà(ži5ÿ%sÅ~…|žp á_1È…x~†°þ‚aÆÈ(«ƒ*”p*ú!âÏ<ëoD @ap/'–Äú 9Á§@>žv¹P¯&ŽÃ·B ˆO¸9­”yò‡' Ý!>aç XÔ+U(‰0á›ý|ýzˆ”lqò°(Yád`+óòÌ#.ÄqñûC¤î73”À~ýÄÿÁ!Ru4õk;I]6jQ§ÆmóÆ·71çß9Zeº0Vºçv׺ÌSóeêõРzm¼vOýÐ ùx‰CS)È]ôÅ= !I@Ä»­Öƒ2líÇu²'–)e®YÁ0=S˜Å1‚+iCvf;L¶Ç=qˆdÅ0‹_Åž¼q“âÏ¿&ÔEtCß‘é’$bñ诨ƒš~r\qª|õn ÔÄÑöK§|ÛOùÚ9û¿Œä:7tîzå ¬’=Ò”ŒA[>(£QtUF!¿ã-³([=ÛO²Ü\ùÿ­d|†éxñxGöøþñò¯—•`}ÿO8—ÐïM5Õ¶ú†®•jW60¶¬¿:ûç_ïýsZüÆû'7Zhp|¿¤éXæìÉÆ²SþÅ;ççËO¬ààÑ!/?!šîw±„[VÇxÁTÓþ'–àY¹b2È%“)äÆÿ•‚ñö_¯c>4îhy¾þ^–ëÍKI‡%ý¾ŸrlÑu,wª¦-Ž-ôžH™ü!§o/×Ûá±ÞVÉä—Yœ.|ɸË2ùCXN7攋 ü:ƒ¼ú+ÊG¿‘ÓÑo 3Èp™@dîÁYlZÑ‚ƒ¶¦ ãv}&>™]gS6Sæ „!uz…XÄà¶ …I>™’nÌp%òÑ5}Ýî]¸¢?ò*ØŒ`”­Ìøƒ(w+9ƒÁ˜^ð^¡ŽñõoäÍá:spnq°{ýt%ü­—•Úêžs4s‡]b3üœC̶?¶ý.÷ÇX'ÄŒ¥ŽyöLGÐrs }:áJB/c#*xëÅÔt²×’ 0¿üúÖÆæîûE;´õóì7ätàât`ËÜ¡Ýç펂˜–m¹6¤gžÞ³üZ½g~^¯GÓ#Á pÌ’æ›j^òÂ:®¯¬toôÊÊ‹¿æÜ³Çãõ-AXCÔw£âw=,¡½O»€\˜ÿG±þk®Ãª°i¨Mè'/šOª'œ¾j•Pül£uÓ‰/8/žÖÉ<{Éf{°«A[>Kš?nõ»âýܤâ*`ˆ%€Á.±¬ó’ŽÝ1LÍÚWž1Žï‹)Í?ì“öuòzæ'ï™éÂÎÇÅx°zžð‰-^ø”r*ùÂÌ·øÄÊß^î°dù¿$ø–Å g¾$“g¾bf‹ø8`ê–nb“ɳ +Ýøä²?¥ù “§âoùF¨~@‘G%9œç,ÍOéoÌË.åÆóy*ØùÎzæúÄúùÄP¼é7űf”¥L& É°Å!“³í·¤ØQ¦ RèÕÔÍÉM¬Ñ%·ÄÐ̼*+Oi7up4ݨ.TVL¯ÑŸ›&qmoƒ±;˜ÒüM÷«äyNSIòpèSp“1 Çd"ܰJn|¿ßéÀ“nZù»—™7Ž(?kû¾qïX}ã…×]îepHÍé/ìšb)>|cÎY}:_¢_^ö”î9UÃ5”|¸~¬X5,u:dÂÈ Û¯Ò(ÚOó+cÃðÓûÇâ‘÷ÇH{`+89ÁÅ–,b|‡¯Ô‰½[ ‘×=Q“D×ɭД¢o8pÇ/ÞM P ßpÅÞȳS/RèIrC׋:_wÐUÆ‹y¿=£•µ 8p{²„±!–ðbÏ“îñí=Ý$6Ó×8t‘b ?¾l¨Kµx¨À™žè"/ø(›$Â&ò0yÁÆÀiB¼¯Ign¼óª'QÍp•°±¨z'™üæ…`wß?ƒ¿H!8—Ÿ%“îÜÚÏdã o¹¤y…>H^¸ ¼¿”É/Zòdºñƒýÿ’âÃ>å<‹7†¡K ³ñÞzÑ‚'œh,ÌF¡J5 ‰Ë­q59þ<Ò&PŠÆ0k({É>VfNðãMÞΟ]GòéèfÞSi9´Ym{ø{¢?~½}yÄÊn#oSš¸ŸYT>V¬a“G¢iÁ(Ч^ŠáÁ!,‹CðÐ2x/¥‘¥¥*­êîšýÐôÅ b²ÔS$úFD¾1l¯I!îÕâL©žiáÙÛ“â^‚H£yy¿‰mØãg–‚ÜÐÑ6rË ~gsþ×ÙðìiB'-÷-H†)bœ6Ñí}h2”1 y‡ÓÞ¤ÑÄ\¤Ÿ³oœôxòE]ÌNJó‹NÉ/mª¤ó]žâû­ã’;q¢õ¥VBðuèõ§m+$ú™7¶Z.%[ÇçeÜhدøXƶ8´œ»‹FƶcdŒ±+­–yáPuÄ1#>úÆ ãóS¼±BT/Œ(¥•ÿ†E³®›Oþ|ß÷ð2T/! ]ü†ùŸU ~øMýÞxã‹a¶Í'nšíš'Æ,;|mÄcùtíR¼E2Ÿ‡$¼ð5tñÆ[å>Ù˜CÑ:Žgãzœú½1·‹/ÌFÅ>¦ik£Þ&Ë¢Ÿ*ÞØù²4_ùB£ÎçÑýaÒõ¸oÎNYtb·Mó{›½îjn.°¢}²«•U ûXc»=¤j¦9]ãìóŽƒû~êÙwûò™Ô >¨.²N«§Ï»{fò°UÛQ«$ð‘g¨‚àGØ6Ôxëmuò·÷VÛ{oµNß÷VÏ< |ß[­ÓÀ÷½UšL½÷V…±*Ú÷V7ܨB¬³jã•|_%^GÖ–ˆ wƒó—μ]憴¡ÞϧÍÇomA`3ÒµZ“|Ù˜<_u­°O¢•4߼ܬ‹ÑRìÑö4!:;¤LVýÍf¨ÆË¬gV{eå/ÍgœÅD²5HR†ßç.lÐwr¨ÏZМÑÒçþ°ôio‹ ´j¿Ý´Í£ÜoëÌwýnöâ1ÉN5¼lÀBìXŒ«'Ú&Šf1 Wê¿Çc- }Ö×[WE !tÒ’€¯EEí˜ùr xPÝ–¯oh áYd‘ìÂÁÝ™jH/" ±z_býöøÚÜÙö\¾bòTý© lŠU…¡!\[”¦·Z%Œú0/m9†VæÙ!ý.êËÆ86×3O “Íã(^±yp4‰yáè[¶ë'Æ.ù,~ÇŠë¿GtQŒczÓæ7¾æ õõGCQòľ½ùÞ/»cÇ×ôõOßçÀD—ßBL¸IÎ7ž2Û1o~sû¾q‚3*ñÆá0„“Ä'ftèv/dvÑÙ«§090¼)‰:ºä` JcÖ'“Äų̈uÌ·<ëo–ÏÓ&ŸjËVßOLÛÓºŽ°bñŒó‚I˜T #îf£S…’hCzÜX˜Ö TÑ‚áG$Š•g¨C9{¡3u¸ùÄ[IÉ^G¸îƒÂt&B>ˆ#¸¦ãôê|ü†8~/ëk…ª.É u¥tdãÆ™£ UãŸ8^ësûdPüÌIÉðóåƒ}Ñv.ˆØu×±ô‡XAu}w‡kø‚:…w°…ˆÂùyyk!Ýr+þ•ÕÃULõÊ<×^×nçÔ²Õ»W€\Ã=®ºcœ¤»¨}x4°“½²XÁ0„‚{ªfÛ„1énuÁ˜‘[«,aLž¾UÀÇx±†ÿKSûpX|xÀ·©øúÍòçá®Ée¶z(“‡‡Ïüb0Å™.>ñ¢4Îû(N^òÆ:Á>ycÄBÙ®c³—Y÷D™Èò/yásó!B~…l¼°Ÿ“…ëò”õ(„¸Ç6ûRBhoåLA»œ\½_FL2G+ˆ\eàXÔ„Z°V…eˆi^˜>ÆW­V„QjðÃàaëõ^ÜLIAa°Z²†ýR˜}ÔV´á‚é‹…YgB´áè>ñ^G·’åi­†~8“f{A}e˜×C0spXV}uùëâø=µ3·ºS†ñºÔÚnØ…’ÁçûdÌ30ø @3øïÐßág¸DŠáçsÐñ'Z [1ÿŠš¬Dä¶Ö^¤Bð‰‚†`¦x Þ?79Ð6œ&tî×4âÒd¡c(››1[ñ£>BM«"é* MùF‡kO¶„µµ˜ðOd‡¬Þú¤yânòJˆl4«K’FJˆ–5JŠžÃs²„Ý5’¢gçAͬ>ˆª–,áEMXJÑ'×QIßÞpá!G؈Ʀø¡¿¢`ärš#À†q¯kêZèó0ÚKú8 ëLÞ˜ñ{IóˆmÔŠ7Žê×FIñTî])“opþ–H¶Ó¦l"š‘žk6v}ttc)tn¯‹+„‹ `˨[+”dòÆCf–æ…gl¯FÑ‹7þ|DóŒ[Zé‰UDq¿sÕm·l%1ÅþçÞ0D\p}ã_QVÅÉŒ=Áä‰;zý×oEMè»’˜œ^¦€×Ïë·¤”±Ù°;â§øJàô#FMŽhaùe1Ä¥Ú.B¤lXÍ&d'V‹`‚c+ î<š#€¶)óG lúúº;Î %EÿôßçU¬àÉiEJÑ?œ˜(Çã–Vü¡*9ùÄGô¦rL_Ê‹8ˆ¥yY¥%o¬SRšwÕ7oœMãB-dÃR›—ÝPë[Þ¸Ž9"9¼sÑ1®ìö 8.tþhÕµûvM !ú­…«Kd¿×yv0{Nw Ç»áC±«q;B q¸UÝÞw¯O+O‹ýëCÉŒÁÁGøáó–ŒÖã϶ýΖfæx+þu:ÎKàÆvÿŠ‚¯Å•ÜäÚ—p,ÜZ_YÚKX_yà=Ž“¶þä½E/©ð Ó¢×’É?° Ášª÷Â8:iÃŽùã+s‹¨WÑ‚Çþ˜5„9K²‚ºmÒ/|×\L3R,!ïë'דŽC‚¤ù~µWº1tGí.iæã[ú _%“GìJ&¼XÝRŠ^ˆÔ—¬àOvnWtN¶—²¿;½ÎÀ4ÇÆ Í EÁøq˜#€5JÃI‘°“#‹Fq&¿íNÒˆžÏ~&=ÌK¨Ÿør“F‡I›I!}3+z ÌäÌ Dw&Gà¢Ç0ËÉEÎÏQ /jVS3$ÇùÒ=›éÃ32Ÿ¯qlÜ8ªm»½ñRt©+–vl}ê¿Ðsa÷]L—9$z2ü¼èBq©—Æ¢¦‹ÀÇ«:ö!2ÛÛÑC˜õ…åäìïDïk 8Vu5ï®Zl 7êwFKa6CšbûíØðEŒ­¦˜)4©Q¸¶Ii~Ð<¥És'q¦‹OLK ÎN³µvÚkm¼%YnÊ$oìëX&¯ûù9ü\¾_zÓm÷× »îÚ!~v)Í7XÑ@¼°Ó“Žay(x ”"´Fo‹‹”æ.J’Ʋö*™¼<Õ2]xÊ8Í2ùë#]#þSÒ|W¾Ì+°\Iñp¤ØÒG’⡨ xcºÍ±Iñ—Ôxæ/ͨRZÝ7kCuWø³>'Ïz?°˜¼!¥g¤”ç%ÁÆŽKÞx nÔ&ÀÆ)sXw‘6¤n ²Øl¸“6äq’×&Í7áöæ]óÌgMd ËÛ©ÄðßI^¸_ÜLH^8ïãß»åDH·˜Ž™7öõœø¾~‚Ùp&8d‰ÂÊ ÿŠš:Ù]ì¤1ÌD=ºü7V1T×}ß)DNÌ•M ÌÃùWTGÐ0qîcu/\‚¹pw°õÆ<®•tâÎ;yã8 åØxc÷:îÍußFôáŸ@íöIƒŸ“¦f)‚\ 'Žç§Ÿ)ÀqÄEð1ÞhLB1á”B S8Û":ŸfRˆK$qŽ™?bÙàìz¼`Y6Œ‡§“K˜•–Ë´`Š?S$KCçL5<8_N)øîâ1k^›}[º±Î*iž¥WÏ\1-§î:rÅø¤µ¦eŒí×Ë$-¨–õwN Õý”¢ãBã‹LFቓ Š\Ü¿‘H—/_Èkí‚ç¿\i-€¹½`ƒÑË&¸ÉªÍÒ†˜Ì­]p—›à¦ ­&†WÓz}?›¿âhÄ–É«·’ä±;´­MÞ8zÉÈJòÆ´3«ëû¾8mÂM@uŸŸÜö´8ª•`ÙsàØÜ7h˜Žo¬©oJñ8šà,ÞX、ùÉÊ”¼ñgmRec-ºùnƒÏ/žg&k:q³m)“g!·i‘\[[J[nh¼ŒïÓQWÕ3eÈn ®Ì<=»ÔŠd,)zN™ëäBØý4‹˜+}ûš½¤é‰XIþòë[ç&'†ÃK‹mÈÎU4a´èÐÙ™ü|–äqäô(Þ8æOPKFz¯§îônT}°†÷NÞ¦æ¦CÝ…Ðo…Û#åÎ㨇-½ëˆï'4¤NuoܨšH »àë×ë˜G…[<Æ7Œ¦Þ±{m¼±ŸG¼p>;A×ö;Kó¨Û}„#´Kä·ZÛSª’Q$‹.ªfYŒ‡Ñ¾jÂx¹¦žïúÌohfXèþÚëÛìIc3ß´ NR¼ò\Ç_;ùŒ&ÞÏ|—„̳ý^×Ösštfäÿ£©†/qÖ•ËäßìÛÜV†1ôª9ô>{Éä»L–œn¼>äóñ=Kñ0ƒZuß¼¬g-“§ùS¥Oyø”ÄòžNGòÆ02¼URÇy^Ç| òºhÂʾÏ"×±§ ©>JˆÄJûHÖ°ÉXÉ´m—ã›þÆ¢DUXùîš¶TüÞ ”;rÊ (~Ž«Ýbø™„Lí£¬HYÓ¶£µáKeŸª±ñ¶mÅ ·ûƒ¿¿ò”òO‘‹GÉäá*P¸#@p“]s+^˜þGwý^8zi7Oìëÿ3N%¯gýÚâú êñd p´oNqÛéΛS\Åç4ëÌ0¯Áü3 Ÿ#ž€Lÿ뇔gR t–úÿØIåáþÓ?†® FF?‡UΡ¿dpÞž|æÉ úË0èû¯ç{(„©¿3]?|Ÿ7G´N†¶´°N脱9¢ ûîæ„¢ÒÎ3ÙÂÏþeC•#ŠÞMS•óµ5 б™\ÿÒŒ\óLGiëïß’ q {£§\¶ÝQq+9Ñ—Ð F2 ¯ :¢š˜$Â/'Gæ@Û綯¨¶ôÍBaA' J›Ù’$‚}Й$QhhG]”ˆÇÉ q½È+Ÿd#W>L’ž/D”äWT~(1h‰›_¯Þ 9–¥ÎOîÚA–Hõ‹«!ÚÖyšg€àÇÖ$ð‘­ŒíM:YüH[&øˆ-|`|âV>ï/ùØþK¦±>=2.pÒ§;÷÷ïD1`£I½ìS¢}É_/K ÃK'€Ð²™ÃŃ^æ ÑÏ#sM¬«(³¼/¿rO€QßÌ`ë 9‚ƃßÄÀU?³`•L“Ÿ_ŽxSϰ’H ^G¼DÐÊíœ5 §|¾2¢aH¨l5tøË¯omlþè9_´â!‡)ÃvCX6t’Þ3wp…Tô}:îpÏvgþJŠwGÞó~k1¤uÐE;÷Æ{®êe#bÇËó|}/¿/Kƒ£n“3”ú~b9Ê$o ^ü†w¶fÇ—üëë*„rÅ6K¨ò ûbÝ\”÷ñ¢Ï%¼ž+x=ïŸêÂK§¨S$»¨…YyÆ: *î(¹óc¼ÓµÁ‰jÃ'Vq@ëøäKô;V=r[Ë ÛX5¾9¿Ò-‡×»JÅSÿHVP/׬ 6jžb QÁ7VðŠÕ·3†¦gËÆŽ-Ò¼s•÷}§Ù–×AA 5m?¦4–ZE…Ïw×_!¶‹›œìÌ­õßjîgl=I„mE2u¡ 6”ÝÆ™’嵪y0Ë«{MÆÿG4émd‘“#b®Ub‹n•´„H†ƒ„%ÏJtT‰“ú™Œk{ap½›ÑvÚU¼ñÛaòÂâ'{×â…á²ó—ú(óÆÃk/|{%~ÇшNî$†ä(¬û˜7扈I6x¿æE&}É&¼iO®Ž°aÃåïMÔÅEBFä<†Óù?9±9žèºâ|kfäÀI³ú­®*ŽHõA¤k«…kŽj« «±køúº®ª¹¬Õåýú¶b·û_LéܯacH{JÜH\Þ\;óH¸¨p›Ï,ahži3Y2`‹Ð²èØßò—ó[Ú¢L¹áãÒb£ ‡†¤õ#ÓÉùÓ›7ÆIųäÒŽ¡¾×¹±¨’ù` Ÿ|Ly€±íÁ]¼ù¨(·ÀXLŸ,Ûä‰cv [rËIsÈÑî×óØ}Cänñ‰—œ£– àÌGQ_’3ñ;}žP~W6™­ÌŠÏöq­xcèÔFñ‰‡ªŠiÃí›S*Ö̇xcÄáÚxcȾò1~^ß7͹[k%IO¿kÚxª‹K™|t…álDú‰SëoxgE&’7î|ˆäßoòÆp2Ù¾o<øŽŠF®Q¼qìð†s”yã›;ÞÉï8ÜËüœ' ñò>ùü3y´î†\üÂsÄîgñÂ*O¿,¿h–Ÿ¤ qJÕ´!Æ¡zㆠ“´ ª;µc´“à 3ê·L žóź©˜6vÍ>P—î(“Dy¾{Ìê9±;;ÕကS7¢#¼“OóèÄÌ cOà,Þ8TàëÙxáq­xãÞ>xáÆzs¶ ŸaÖ׆^ÿÜ$ùXúLhÈÇ4ùMiží§xãˆ-rmR| _¯»xãÆú\Ò<ó_¼°ž/Û°ÛøA{“lcÙÙVÔgu­gålo)zhmlW|ÂPE†Ëà!kWÖ9œÄ97I³ó/‹E5l£èS •w6’oÔþ'oÜdÿfÙ‡–Uúž¶yçûêw}7{³I*ìBÅDÍ ÖÍjÞ‘Ææ]¼0 ®V¼p“gqñÄpÔŒZo^JÀ¨%É·ÉáÑV­j‡Žb:º9e÷ÖÑØxãê®Mš?5W1oü08zJñ³É¦J¼1¼«×&Í+ÿÉ ûùñæÊ…{WàË\ÐÃé}o *ʈG=¥~° 6Ó‚—½9r Ü‚NZPª[I¶¢›Ö[Y‹³–³6f¯à^c^VÔVÔVÔVÔVÔÿ+êpœŠ•k,¹°msè½P¿°B¬tãXYîR|¬(ár Þ8êÙÚ¥ù‰nñƱumÒü©zkÞ8FÊw>ß}½ž3qØ(ÆJ?yá8¾⯆ü/|žÔ<˜7ŽNIñ&~>VÔÿC+ê©•ì­˜$+^Ëä5:fºñ­ ¹¥øÉhBÉÃÛ`—æiÈX¼ñ–’ßïw:ðMïçÛÏ×î÷óc¡±}ß ™^¼ñ¡ü%OŒZ M„˜ éûœVÎVÎVÎVÎVÎÿ¼•sv­îj»ZîŸõ?{E+†“]˜NÃÄJÁrãÇõ¼Ò#(%Œ-%7~ T:ñB¾’æ#ŒâÎ;~åO1ã0“x¿”³½%yETLÞ8P­—n%÷Q¼ñ}â9w +ØU¼ñÃr,I®×HÞ8–ÒSKjJñ.oóÆùžþh@þh@þh@þh@þ¹˜M4šý7NjŒ`¹ñ®x•<\Õrãdz^éÄý:ÎÁáUúït', ><ø#¶’yã{¢ß.)>æ”qyc׃”æö³É?ìw79.†vF-Þšœq—4«xãp.çKM«QÞÉó=ýјüOhLþ¬äÿ¬äÿjíö±ÐûXþ½‰ÿ—Öd4ÿg5ÿƒZ , ºèê6ÿ}Èâ;Zi¥#äü&7¾#äC¥w…„@¸¡¨‡ºÅG.;í-É/ù˜7æ ºKð(ÆU¼qÌúq NIð1úŽâ–¸½$ø¨µ8(N¼q˜_!$EIð«~Þxé÷›ïò6ŸåÏ÷ÄPÿ½¶©o™üɰ™.|*„åÆ#¢ê–N|¡ÜKïsO'~ð~oNûœlE'†ï¥߸JÞ8|ÿt*¥%ù‹aD’7¾øœ›3Žâ»Êq“ࣷ:ïâ£å±Iñ.oóÆzOÿ4MÙÀ‰Mç¤ð0£@Š ÍèLnø…!¢Iö™%7µ/èo“mšÄ&-ýÓ¥ƒS,ÍO®E“7Æ© ³xã“kÄ”è×/׿„Þ!ì×+K‚CÁQÄ NnîšÔÃ…Rå¤eiÓé•Â0¥ùøvAo·1t$Ç™|âh¾>Cóº7^¶ÜVFø Òu½”ƈZ¶)EŒÜxS¢#²[Û”ˆNv¬îïï'î\/<ú[I“øxåÿ…±vÓýT¾ÎEø•‹ËI|aþ>߃ÞK•ÿ‰‰>õö¦b Æèæ¢uÀëþáI\ür›d!¶#JÓØ‡Ÿ•œX!ST¹²25Fʧ‹Ö~7Óq‹¼Yè¹Ñ„uc„RÇ¡~œ™ÅVýŸÏ¼±c¿È!¾nkÞüoÜpÔXßxⶤ"3/ #$O†Ìó¬ûG¾^¼pôÌpK€‘Ä#90À!¥ù›n É #ÂR/™|‡Ê­ÒŒ&Jš¿a$R¼p,ïC¯c™¼òŸéÆz^¼¸ßÉÆ±ÿ?óvº–O¤Ëƒ¥ƒZÁØ7 (ö4,D6ÌëMÅnÈ&Îßü\dlYþÌ M]Ö4Óë{ƒ înr(HæœoLû˜’âÃ/yãÆ°®%Å´'I^8ö4îÃ"ÙæD¢Xý®*O>­¾"Òˆßü¨º¬ž&‰\f$XtØŽB%ê‘äÄ Í$ÑC³ åÜÓ„î{OûÍÏMr_Ò¤ÐÉW,81—ìêúK’´K^X‘íR&U}m釸”â•9ÓÎë|ÚÂø¸„è›6ffcð¹,LÒ$ÜiD'7Ç|gOœÏ¶ž$…˜É1„&o ¨º,DR'eRˆ;C$c§6,ÚH ÉVÏ‚¤‰ ÝúOXDœîeRè]Eª¶ªâ=Ücg¹Uy~÷¸ÿ²ãáßoL¦¾›|Ž¥ÐÒ_¥žÅósÄ7òß×Ù%æç·Ã ?ŸˆŠ¥8këñ=w¡š‰£SDÅ:*IÓÇËf*a¬—ÖQ’4scRy‹§ÈÇFciv›ág~i2ª\(ÌÇÉ@E)†Ÿ¯/F½:›˜J+‚©éo8I“Y9ô7ˆXÄtü¼¿U2|ç~² Æ/E"úŽ…â™¬`\à'&C­ðdQhB/ATâ“ß™&äßMFêü­èh¼'Wy"c÷v,“Bˆˆò¤ 99s)Ó¸³§ÙéÞ%Rè@7 ’Ž9…fØsY˜¤¾ÙiBã%Öë+"¯W‘vîkᄃS³õ§!“¾Ð{T²pÓ^Šeò×Úuº°ŒÄR&¿ÐãUº0,®’ýÂ-½KgˆìʧžØ›å~¨×“£F<~ .w’F¬þæ†hQÇ‚´Ï…)Çu—3·Š|ýÏ‚dlDëlµŸˆ.Žh¼¹+.I!ýnqF±h? =öÝQG/Rh0¬œ„ÈácMR3»#I˜5“BЦœ)DÒ {qïfÑÁòä‘„ÉSh§=z·"#í1)ÄÓ»§ï¤ËèÉD±`N΃cÌ\@ô$DvL,M »Ì_~.r±.™$м îï¤%š/í‹°—’¼pìÇž¥yø@Ìâ#_ñRRŠÛã…ˆ7† ͹Ió o®Á´ò‹\ãp*4eñô„¨táØš›4;ÜŠ”>ñƒ÷èûæ}²|”ŸÄ,?D”ŒŸaW¶ˆqv€¤yœ¼‹Pæ‰i³Ëþ×!UÙzŠFþ¢¦8`T\R±ç[ºRâüóƈN»KñÑ1‰7F›߸LÞ¸Ñx±¤øƒÍ"yãcfy¼Ê%¿×>~7UNœiV=wý6O\åH¾0Ë],N½¸ô<¸?XҼ̟’7–~6%ù(B¬4I >ôó° yÓYA¤ª¢I^-Rè|ÜSl†¾"Òˆß|wîîÕI ¹k!iä¦e [B)±IòÚOž6'Q‹%ë{÷+ÝZï—¿¿ŽøöÈÂ4yé*c™…XÖS'8#²»:û&Åët”äß½¤xÌWVñÆm‰S&ïü;ÝøÀøl‰|Cõô¾Žy(²#É7Yó+:°eòMÊ{§ Ÿì]«ÜX^ìáž7VþtÔ t1Š0ñ°#²4OCâei™R<ìÃzñƘ@ß›ƒ˜«xch…gÉä¹H­ôç÷õ9yÕ{•Â1ë ô(æU¾ótË’ˆ‹–@S¤^E¤ÐI½„H…@0I´ÖKÜ¿û¹H;;Mˆ Ä}Ä6`Ô~ë+RmRî}"‰nšK˜¼ôÇeí‚$iÄwïonèÄ¡°7Õzh )D*Ê´H¡ÅÍ ¢æÀ)Rhr¶eÁÛºV’Òï`!«ƒ‹žÌ80–âcÓ¦tâÍJS&ï¸NžÔÁ¦L^~W™n¬}ÊK«(Æ'ô0˜õ[šÇ!´çÆ KM^ò~/¿ÿ¹šuza¬.¬5Çê‹Ûß«?ÊâÎ 3]¸Ýš=J&ÿpŽ™é¶6)“—ž,Ó…÷Sn<¼¬¶ô®ƒláç—ù¯rÙŸï—çGýyêýøwæ»~ùû;>7ó3éŽ:·ÕSæ)Ï‹&nâi{wmr•éÛhÅû\Ñ”n®÷æ…ýûhŽñ:«è§ÅBÓU©„ƒ§)I˜ít‰5-H#'‹dc%ýTª!Í8K’[‡©½›“Fl0;ŠÚ3WIóÐÈŽF`‘^ï°µ4Ÿå€²ÊT³þ–®~H/Ìê8©Fg6Sˆ¤¾Ã$QŒekY˜0ýsšÐ$š/ò~¥ =¸ƒÉ“zo‘B'µ…"éý`RèA![¼ØgˆÂæÏ•‚$Œ8§I¡XÉÿt™$ö'"… T.AFÏ1£%kÏTlìZš¿áY¼1ß`Iñ~Ó8_ó¦Î£Ect ó;SÊä³xãñ5lû: :$-¶Kš§3QñÂPØJ&¿¤?pº±ž#å*]Ú³=§±ŸO>{±ÝüÀ/ÇmÞ8:ymR<özþ?öÞ4YnXǺýíÁœ±S3ÿ‰½Än*í[¯ê«öV9Â>Ƚ˜©†¢(ŠÁ[G»k›5Wïkrë›1iÅ5æ˜ÜZ+Žì1²¼·V9ó oz',ž9»Åu88Æf»óït_·qnÛ ßØüUSëéàdÇš«,žzbþ{qk?¯Í¥u6x‘áàVøôÇ jZóɉÉ­uXiÅuXGÓÆ~8Ÿ{‡TÇPЇeèƒÔι¨êj×ÁæÒÛë §‘WŒ=–t[™ó¦V¨g )U£ªQ³8æü­é$Ù5¾)åù+›1|0oà­4*ЇóÚ 7u¼àñýs)mZãäˇsµw8½iÔ3÷/W37k)™‚˜U›iZ‘`Þ‹ÃniÇéF—7¦ý Vg.øÊ~]šlfyóÁ¾"«2Š3×´~#*â÷«šSÍÌÑß|lÍKÿœ«ìÖ]o,_AíDc1Ì xج\t†‹s´‚;JÀ‡ÓÉ(øšé/Èç]øì"ü|£‰¬¿ 1<Q1}×™GþMÒ¯âŸÏ1ÏâÔß$ý.Þá’z-ÿ%¹6ŽÏ'Vç_¬+ÎÏp˜Ö_èÑ"ü|ÁHIp^"øÌóå’Àô´štJ —sãÔ1¹óšew~Ìw:4ûkÊaÉ›…4†\ÝÜiZëýî6†áèXiRp.LC£±GB©.€iQQ'”zC+ÝZí€Ý6¾Èp‰wqë̼͎-“¢Œ6tcî*V„¾ßÜznß·VYÇ-£5Ð1-¦hÙî®=[ú¡ÎÊyoÖüÁq—Ž9ËÅ•Ýyïtè‹Îi7Ž%[:ôÍšóå¡“_ó ÄÝrð<æÆ­γ¬ùó•þ_ýmáÆ4^陟ÊwU`ª¹"E#%ll¨ ¶l¶jer½ªö;]I ¥8ñ͆°k¤„PªÃe3ÊXÄi”ÂËf᣽ÝV¼aÝÅØÒu¢pU‘(éS/Gk{êÅS³{¢¸5'k·v•h.íª¯Ájo·£‡z•ÛF)cPUsši…<[’J~þo*ÂD¸[Ñ“^™j=£ìÆá0¾¥C‡C¬¶”O‘)eDgç΄S~®µÿšÍ?Pùÿt„a?¡çµq눬qoÜz F‹¹_Ý]hÛOX«i‘\ZMåɺC‹‡ùüßÌAµ-MêB-fC¨˜B‚Rpt{Ò^¨d ©àÒpÙ²’ršÔºÞ†0F0Ûi(GÙ' áÃLJ ÔC§óͨôG6Цd¦GÏM´—Æð„í×Û6Žp´¹u]RÚâ¼Ä‹fÞ’º“oºïß§÷¨Q_—„a‡|çùô»øð”)ØÆž†˜Êx,Ëlð¸÷´ËJ WD¦à±ö´ƒ.«Ûlð˜{ZŸ&M8ã@ÿ’Ðá„„Ÿá&”.O3zlâsüBdy~ÆÓ(ÿÆÍó¹³ð‘nùO¡Ÿ)ÀÏôèÌ¿rc}~¦ƒ§þ‚Ä|ç)ÂÏ.EþýáàCáçÆgäfF¨0þÖëòz#†äN¾‰DÌë‡}H2¦cˆ#ìôyOíôäÒX7aqF8cÚ(¼ËhiäŠxðÒŠZ"ìŸʚNjZ4ÍÌwÝ®²XœéBÏ!¾—Ö|(î³¹õ„UÜŒ•£L’¼9žoHáwK#xsÆ…¡ÔC§(åÔ×Ï;ÉiTѸº¦á'OÕ$‹4ªÉŽzÁÁ[ZPj°½j#ØèÖ8¸ V4§°ìøâœ˜‡×£äÖÎhñÔÌpL|C¢Q‘aµvIÚ[.š1:œÜú–ëãfÁ/¾ž%·ì½O[œÇSéCëX`‚•mòÅã:—\…¹º+\ˆ1u]<õÄ KÅK¿¶cíýÄ<¸‡¾}¸°äÃÖ#ÜžPÝÖñ§o\:zf#Ÿ5;ó!^^ÂkÀ<5W*+÷ó3‹[çα_DEW‡<¢£Ê¥;­8–Å­32¶lò·Y¥KcZûS6ùÉ'q¦[ëz»ŠSÕ–ÇmžçÁãc˜àÅ)ñÑ0Js³âÎYÅ­ã±”kmãÖW¯J+>¼‰xê[K—¸<¨äq›çyðø"nQ›µíFØ2’mn…Ï…“….UPH¦– Ž1°ÑËîü¸ÞéÇU7YÚó~̺ù²’âjY9¥5çÒVÅ¥;NOçãJmz9šÿÒ“ Y¤sL+®5;qCE]ÚéÉS7P[ÄÆhò²j—_ëxá5·¾x£—¾™WÉ­ou·æñåqØ‹tNNµ–œì0LJ¹‚ÆÔRg“c9¤ÒpÄ”BBøõ%”ŠP³+ &¨¤ŠK~—á‘~ý\P'çDÉ\ðßd…Ó¤ù#h =ÃT*j”q•ÄL›Ao«èÇŠ!ûN&ÁÏvõM@ªè»Ë6L´2”B½4јRÎU1TÔÓš«q•\z°nO›üPÄI§[ÓÕ¥,Ïþ“-ò*#ÈóVNt$æ¦ø¥Ä)ïíË–ÑF¿¶ÝiÜýŠ*~xþ+t|m“¸1³P‰ÒTˆŸãúÎ2dOìÌ(–j6fºZJÊk7êöὡc$“À -Eõë™ùð"—¿Y?ÍK.,ÖN7O=¸n‚-œVâå|àî..­ ÛÉ­åiY\Z£ZÉS¨ŸjÿÖv½Ñq4Þ¯³£X2¢¦ÏR†Á(j©3øZñÔûä{Âhç^ ©cbÊø+ôXMu†ÇõUGúýsAž\&JÆò8þk†5⻩"§I úL¤¢Ë›!V>8¬msÆÌÏ ëÐÞh‰%¤Šî›« áuñ+„RXʾ á‰P‡Y„µVtõ´æ¬‡ŠK+6BÚäôœªt늣,ÏþAØÞ4‚8ßëP)ÏMáK…%gTP¦)Y_Õî´mªãöŽqE­ä¿Dõ‘˜D¬¦š‰>í†ÃˆŸá_,î¨DÑÐÊ€é2‰Yñjéöὡc$³øOïÑålŸ¨þ£G/f©Õ|ÓýÞ¸5W…/n}£!·}„‹\îϺ³õŸÜÚû×÷¼:¢©äÔÑq„ILÄ’X¥¾,ñ(·C’Œ7 {@G*etˆ(Î (e̯£(å⌠B Ì¢D>=ZðóÑ[PrëÉüM¾iÌ07·>™ßÞn¬I¸ÔaÛv¾i¬Úçã°Öþý½Ü—ã,.=¯âÖ–½}ßk5nÇeoysÛŽõÒ<ÅäÒèTÙŽÓzhþÓ¿º\¯¯r½þÊõõßS®×»\¯ÿ·r}½Ë5Æ^åšòRfšR~•kB—k绯C#GObt],gˆ¬ÞçÆ7z“[³|·^êÁÔvc:ʸqÈÅ­Õ‡‘Ça­ýû{¹yY\:B ¬«¸utìß·Æ¢pÛqY#Ò¶ëè%‰i:É¥;C$·nì(ú[¯ü­WþOÕ+*÷¾1¶›®Ó ñXFaÉ»iª²(eô? ¢“bPÆ¡kA!PJ;QÉ¥UªE%QEÔw%çõÚ®$Æ—&JKTŸ‹‰¹úwš‚ýØÓú‘[‘¬maA‹5-¸0`)ÎÔAt•ÈC9{UÎÎÄ’™³Ço9{%•Ìœ=þ˜³ÇsöøcÎÌÙãŸ$gµ\F9ñ¦=T‰[Ç3u–¹tÖqâ{‡:Ñ\:u¨¸uëÚ¶c=úûûÖý|oߺë$Þ°+ó5Bsá|Ón‹¾néÐÞž­ù¶ý¹×Û»Ç÷»H¿7îãjKöß’ý¿¸ds¿­e<5ãºD«ÑÜz0vGrk·J“o­ÔÕ7.Ý—ZÉâÖq¼kÛŽukïï[G‡ß¾}ëÃþ-²^Œh½ÇÐCœ¯lqæk¥[{{¶æÛö³|ªÜ7¾i‡9µ÷‡Ep0òç¦wÂ?Ã$<žÆiR\#Âæd̆¥_Ü A#᱓pK9²ƒÃ7ÂËE …ç4޲8=SÊøe{l¢ri'ˆ/¥5?䇓\ñ@ï²<ðü¾sÜ÷WqkDÅ{6k>ø÷SE¯: ë<ót6¬Žf(u0t+B|MzN`¸¦q³iÅfþ*n‡Žà­eÉï¯tkNŽF\·»oéß¼4gnÍ4Å¥‡âPš[;»’;û˜1rœ½¸J©ÐfÁÒåÂÚWÈ.TÀˆ"›Fž ¥:¶¸Az‹ ÖžØtŒ¹ö2‚×+ê½w…8¸£ÁK…ÇFðÁAR½÷nÈtT¡‹qø‚Rð‰ÈmJµ”Bï~B)µö ¢{ VsBªƒ/wI)UÌEŽ_š¥šðs¸ ˆð3¢ r`ñºR˜–MOÔr‡3¥Œ1¨ø‚¨äâí›T£ ¹e* w¹ú®äÉWº¤”ˆ°Ú“¾dó!ùxå#(u¾àYð~Áh.ð©"(¥G[&TzŽRaPþ°1¼9PiRô„3”ê¨ ¥8/Ú$„ã\¦1Vâþ©èE¢º„TxøõÍ2@Ÿ¡”êA×6È‚‹ñ»â*g^є﫥/Ÿz¢˜RžlŽ'¥d¹déŽ ýñ0ü…&"+Å™Æñ™àsÜ ‡‰?÷ỄŸO:{!è,v%cŠ Q‹í“ðs+¢Ï¬´¸……Êf!â@e²‰?79Å"|l×J<ôÛ*k~f Ç¡Ú+ .û•¶¸‚MfºƒOFë(›ß{~qóÒðûGWÙ@—~£ Þo}k¥osiŸ§yž7ϧ#ÂéA/»Ø?<ù¯²ækm&·Vˆ²âz|Eõ¿;ŒÆÃøÏÂh<¯07ãgÜ £q¿Âh`Æ@š=ŒWYºà͵Šéj—vã(_[:tŒ•bù:[ú¤Â]8ÊCZñ‹ã›Y²¼ø8Ì¥½¿­¼3X,ËCqi—ï׿ÿíø®àåã±MÞ¸bW¦[w:M§5oyßàyƒŠ¿1Ìf:ßSÚQP ñsÒ¢æ6£ˆ‡Îu”™Š½®†bRÑe{îÑw7GPj0|ŽŒàdÜA©©d}Ç F±x$6`ˆ$šLꜹ¾r}EMA©¸;ÝtGxïš«„º/æ»5Ÿrø7·^œ¨‘vã·†QñÖŒ%†¡Ûy×°ãå‰[ûøÌóxyòð=o§#àÍÉ[‚·æpÕñ„M™îóãqðFb±[sÄ[æƒÙåötèXF1ÆlÍ}>æÖ>èoð”ɈnLưÇÓuK·¶Sƒ­¹Ï'¹ÏOÇÛŸf€]_ܶq÷ýæ䯛)ω[ïs²ˆmg“¬½’B݃.i Â'?Ó ¼ðã6:1§,à¡ÍÞØŠ¡jÞ4„ &FÑxefàD M1)µÜÌ›ç?¥æäø› áºøB©Åu“Êdî‰Q(¯÷*!ªLÎ[Å­5)/yêQëV³VQUÕí€x>#ï=snúPµ’Ü:F/¶ï§fäív¸.øR¡ê3O½j=¹õóõýWÕ¹mßU¨Ž¯ã±¨ØƒÕhK¤5gøÍâÒ>^Ûäš)›éÒ:ú{qæ8Ú'h4Ÿ›5s¼6n}`Ö_YqE´Onm'ï×Û‹Gàµqë‹ïÙöò#m{”¹M6ܺÞ1;žWLºÔZ´æç¯¶ötéx$Œ³lr=Ê3ÝúΩ”­«·£“šÕœ¶×°Òžn-¿¯²W}¬7«Ž;·°Sv}qÛþÅ騄‘¨Cë|Ü$Áh©ªß¶Š[ϦɵnÚHÇ£õž—v¾ù÷Þ~Ž ï£ÆÝžXOQ%ü|É7¹LT1Ÿ[¥kJ…‹B{ ¥¢÷ü¦w>vÇéŸ{Ó„VMƒÀ¸㦛Î+ áâð± ”¶"cØPÍ8Ê;òë‡îTÃ÷ÅPG¶téÐÕ†Á#Ìî?Ë$k¯$(öõÙ$ÄX™†¾[ÄàåˆÊt!=ÿ~Høî7~¾qÒù—º ðñÁqç߆Rñ3E$Â\çn6ô¶JutºØô¶J 4ÞL@æ•s6ú /m¹¹õçf°!D÷ïe(f¾Ì~€¨O ¥RÀ;Ò¦'jRC)¾XǸr"¶ÂŸR!ÜÇm(ýOMlH3_pú–0Ô]ÃË€, ë- ƒPIV+ÎÏóá\DLS$ÁRpâø §ý¹´¶ÃèþL/þ5Ñ—>÷Gc ‹BÄÈ6–ÕKŽ~þy͜ȵŸº1/F…î_?=S$>¥ªû/"=½2Šy°f:\képö¿:´ÚžtÿùWèŒYXf+¥NÙ·}6g89UšTŽ’{ï†N"G5xRð¿KCx^“cŸ'†ôc×½á”ö.¥\—–•ŒÞßþZ) ï°ì}.+Œ»¢(¥ÜÓ>¯Wêymn+<y¹Àc“<g}Ü—È_Ô ú+Ó‹ÃñˆÔêSÿô2¢Ÿú0ª-cËkáâÛ˜>è]K,y_ìp£IúùRd”S%?¦-cNËÚ$z¨.›¢\m'S%[Ãâ;i“s'•nýÙ\[›å™çÆ­?M¿,d»ñq¿Ó»úâVÎó†ÕÅžÁèý¶!ŒáÂ3¡T¼$¯2‚lìRòœ 1DÅši‹K¦Þ¹Hêé´7LÕ^êf¬4A)t½—j^ P†ðÂ3ÁP ï¼ey7RéN÷è›ì€Ѝ«MáMö2UMÜߪáµäÇ+â=|MüÑbê´â1ö™ÅSJá<ÊšG –Côv½ŸÆ§wrk•q>5ð8Ðó©aÜçÔ®Í c饢”Ûƒ‡IÂ|Ô¡ßüT%ÿ rü9ÛfÅ#fÀ½q륵Îw{ÓÍíç·Ž5ÑŸÊžÌ.ïßÜZÇçg0£cýþ{ºoéÖŸG¶¦5ÿÔSr&·Ž& Ýkpx™þÍ¥6{’[:üäÒ‡NO¯jŠÅ Ô`ëŒKÑÑ­í*HÅmܘqž°h|~n$ýAt$~·’ÓÙFàöˆrWÚñÔ*” ›…ÅÊ@‡Öé%·öé«*ù;skî'zoQéˆÃ1«sè3OD'ŽLÐ7ñ+¾ˆð3_;>õÁ:ë>&úëPÃË<Úœ&µðì°¼ñ€1¤Š1ªÁ 1\xt9J­î“FˆžˆJ‘àS²Ú·ªt׳͖-´ô4ÖÓ×[·]Õ’eÓ­Zçüð3çÅEÿlN½ÄEy·ã$!Џ›ûm#ÖbG)ƒ}Ðø+ÂÙê›þÅËÒ¾nüBSåå!D/ÝŸ?¥ä§ùo<ÿß¿"i÷çº9üDs ¥r°²¸Ÿ²â‘Û³°ä×ðHCøy…þùœŽ T¼4õaãlîù’Õ‡•~7éì89EC«-Û$Œ‹• #ÿ·áî§Q\)S¦`ãëŸÒB! ÂicÈé4ªÙÓ¦`ü ÒÐßtð`l7DZ'CGsÛìÆgrKwJø…Únœñ)+zÂ/rßoø»çIÜ>Gzžµ_›Ë™ X f–ãÄ—ßÙãUŸ\¶‰¦`¥ÙmUQÿé>x’³NáD|3ÞVL%ÑgÞìüN~Æ@-‹™J"ý/cÀîÀôŒè´?9\F0ªËJ“¨F·1œ3sU8¢Ÿ—!#œ&åÙõ4 1jži|à˜ŽL ø£³(|$¶´ëñï.vØÃy@áÔe#H'cC©«‚Ú>|¡”BPÔ™†óÞz3µäÁ÷fÍã•åÚ¸tŒM!äšlò›ÛÍô]_›½é§¿;.H÷`-a.TxGh†R'½ ¥˜µ‚Îh…UÆ­œÍŒEZÃjuß´àƒÎ5É­ÆEËn\ýH™~pÀeàF“Íï=(7Å­eÞh›rhÊžçïìÛOî þ×wBý¡‡ïÕÈ®ÁÿÚ®ªÿÝ u5¹ëA}5Ûo½ï-ô¯fûŸ[öP¯&øÞDW“þ÷¦þ¿ØÈÇd¨©†ß©ŽÄ57{° †£lØS#”e³ «`“[«€ÿ'ô^¢Fòùäñ›KcÎæQv?ßñe}þu¼ÿŒ½£Î<ó›u}ZónRÅ¥Õ•%³]yk%mrú/Tº5£i—£]Oqëxþß}³âQñ?íÿh¯/†qR‡¦÷1·ù¦Ûµqé(`š^ n »pîðû„“ˉóÃôë´æÃÎ'—žšÆm»ó£¿Óå 0ænÍ'Ÿ£É­u~ÿkz¿}w-ΈƒEˆº´â˜Œð·ÏžÑ7+þÜÏUÜ:æ¹c³æ¦Q—¾9(mòÅI³™.ýÈI5-ƒéPZœ-Éä7cdº´£O›\Ì™ný|ýÇä½[;BNÚâŽÅàtêɉÿ[G+ðBƒ®IOæðO+3q¡Ä­á2wlÖ\®îÉ¥»t•M¾~y‘ ¦Scv)æë0è½Ó¿yéöÅ¥#9Í·Ž‚rnéá t¬ÛŠ_Kq#Å­¯.Ý¿¸YÉ¥õHû;Zô?Zħ˜ŸNš/™vnÁEFñ]Ÿ›ÝùøJ·FSë¿z”*j lx°™Íø¶âÑì˜GñÔ7ã,Øš#ÂܶëýðÎ/ní\0¯W:ê7œ:ov0Jš­9ð—Þ^5`“ëb9iNµê®±Yñx¥[·«†lÚÅ6FÓ°¹u£³¤ó)óÍû7?ëÿµöýßUÜ|nþä’ó¯qÅùGÃÿ<㕼1¶7~{wG[eK·F…pnÖœSØ‹[Gu>ÐÑæþûo.­õ§’[*ÀÉ¥¹`UoßÞû7æÆÝ‰¥>õ ¢R#†Xm&¹´¶ƒQÆúbéõ¤!Œ.µ ¥¢Årµ4„Þ¸híÛÇ–É:r\aãÐ:÷äÖΛ†°Ó´mû¹5÷ƒHÔ¢‚û$Ýþ ©tª‚Î æÀŸ«]PJÝé³ì:ç áIÒm gT+mx~u47mÙv2¤ wÉ>m Ç”Fåþ`çI©“ø…ëè—“¦=7w¯Î—£çî º{ˆ¾|F_N¥owÓ—êËEuw^}ygþ“:{þõDøŸã‰ð»oñÝjÅ­Dµþþä³à®Éì4QgÈŸ}Ü5¡®ˆìzÈ®nw}«ãòù>ä€:ÞsŒx“ˆáÈ 1É‘3ßÄS÷÷÷wXŠæÖ“$½ÝÉø{cr–TñM÷cãÒÞ~OÛ‰"³VqëÁ™òÅ¥Ÿ0¹5žÛqY7í3¹áÐ Asi,¶§tÆeüýotôã×ßè裣ÿWDGw½“õâÂF'&â~ GŽ‚hÑ«óÀ©”| ΊEW<ƒÉ`ÅY@©paÂrÅ„Tû¸6xaYñÑ RáΛ;´º­-£1,±˜Tgù”ê kHåMž¹×0:°óKaÎ[B(Æ:3Tä³hõvNtå„Pª&s§M®°³™n=ÙÓ›VüàÄkúgôÒ™.žZǃ•p+‡^é¹D§lrk9}çjçÛNr¿×W—vºyj7ú¦8†¥˜±òÙ•Öa8ç³q¢?0zî/v¢ï-^ߦzêÍgöÔãñf.ê8ÚOâ/}ê¸æ¥åç·ãLŽ¡ì^\çp•Íï)ÄuòM#zÔb„°Òº>É­y]}¼>þv±zO~¹ºçï’çv¸ŸâÖ>®x½¯ë–×C¼´ÎWåÎ7‰7µìèÈBšÚ…x«zý|×KÖÑ _cãÔª£Œ%5ȸSô,È’TÃðûï¼UUrY’óNgIÏœP eOòåêérý5b9Äh§¦Œ^ÿ%‰&üág¶ç¹";n_?3R4\2ŠOCþÍh¹x ˆ¥ˆçŠÌǵ§Å}É>Klû>æ§zÎý›ng§Ñ…W;„¤?QÆ3 7£¬p<¡Ðd¶FLx–È>ýõ½ü¾¹â•dºuWàˆ¹»·ÃX,¶iÍ'}âJ=Fý¬nníí[{?1”…È€âÖñ莦uré¸?ÇÆ7Ș˜'/߇—¢ß…7©Nw< âDà^¦æ—n¹c0n˜±%–}–|4x]Œ%}qYëŠW^°š–¼wxÁ¿ƒÃÙ°G|›f±s˜»÷÷”'{„PóWäP rÓ™“¹XYã`æã,õ¨×.ÌáþæH¢Ï¼çð7³`ÀéÛ‹1ó&šøóLþ¡†«>Ò½_Nþ$qjæø|¢{E¢Ö5ÇçÏáçÔß$胥ë§åCïúüdnœŸ1Ú«¿ ìSÁJúLN’ŸÙsMU9„9çnÖ-ŽG¸¡Ôƒ†™ ¡†Ã¥"’T¬()#HÏC© KTxG/´j°J ¼¤î°ùT.¶î¼iN0”be-hÕøL…•2©P§Åãâ—Wˆ¿óÜÌŒB>ñrá‰c·æg†ÊSôH'ûÛ}HeD¸%¶ —µQ†ÔgB*Å[A‰ndÿÝ1÷„®hÙÃ%-ZÝ7.è@—\”‚ˆ'‘Trp¸¿lâ§½R!ùºPVøBoakz:¾ì!Ÿæxô'·æ³îe“Á ùxtÉ7£Ö¥Sn0ĬœE¢%Ñ!ilÃb­°dã£,KŠd¤û]®î­¸ 6±ºÖ……×›[oü¥#s\œ#¦N[UìÓš_l4$—ž Ÿ“Ö<ª}x™Š§ŽæUý—'Ÿ~³oÖüâ‹Hré»ÖÉaŒ8¢ˆ=Å­£ Š8~¼œ8ήU;§pýHžš‘=‹[?¼>ñ’¿¿¥ðίݲÅ/|¯Ò¥·ã‚Ý8ÆTó¼x>1ƈë—\údßæÎ¡/…Ç5·F|áµqkOæ÷zwnwÛ/&@øzeùÐõ~}ŸxaKn½ä:µsÙû|óû”¥_dôù\’øšÜFÞ’¾9ØPÓ3ýõŒŸW¶ Ù*UÓ/P½——,ä&kŽ…‡žâÖËã7²æãý…S~*æƒÆîÄÕl8ìÙ6&4"òSÜ]kGm:F/>ùÑ8.eKA·DÉ[/¾iuT¦>HÌ~Ûm{´i%bPÏð=Ž ß‘ecà-™®± ¢D#^o)&™A 'æ“9袞qPŸ\2”Zè 1”ZX©/!•¶=÷#w÷†Rú.¨²H'*h…œYèÎZŒ¸âVÊ¿DŸ<ˆ×ä…¿÷ž°vתí¹89ù­ƒßeŵhUrëÆ)¦eÅ1Ö4Š[¶yÒšOôV&–Œr5½­ñÄÀÞZtüMídaÉ /ï á‹gÊ›½°i…?µÂç‘•”ò<8 o›³Ñ+•ž¶³¬0‹yRKöžôîÎC×ÑÂÍ‚kpÑ“‰ªQPêyÁ¨”Gþ=+n²Ï_,»•Ƭí)-7 #†Y™™Då]¨t²¨ÎØŸŵ#÷§rÙ0s|5öшQ|î¥DŸÿ…(PÖ1å9²á„gäz4Ôgnýp¼,y\Ùèš7·>1ßynV“/6nÏÌpóJkÎPäÅ¥£…3–m“sI¥[/EVèxÂäýrr’Hrë“‹³—¾®>yjåŸyjåcÞ§ucÆêÅ¥µÿ3ÞL>ñ3ÞnbEÁÎI»%çy·Öyîïô4=Q}œ›5g+ô„'ÃYÚéÉ­‡æ < ªzñúhväΡÑF߸õé ¬KÓÒÏ+·_œÚÛ7·Öþ·|C~äù‹§ÖùË=ìÓ|¹ÃÀg1`ûÅUÁD%á•Æ1’[bËZÏ¿b®çH³NÄ:iè¹ÿ\(f&4†'öê4ªpã;R­ý»‚R®¥T3 66/Yøî£úÜ│ˆ˜¬¦É&Z»Vh4£‡r¥ÄÚ8§i*4 d¢™;o61àpû)6‡þ’ ÆÍáçØÏ¥¿xW~ýŠ„ §‰ðóa­¡© òñ‚=6k>/™K‡ÃËnµ4ÊoÛ§ËðB(rŒÐ^Ì_„÷>ÎÍŠGÕ­¹5âl´²ÉõBšéÔR=zÅ(RŸuNb;ïáŽÅ}‹K#ó®âÖžtiníó4ÏóÖùø÷Þ~㼸âÒQò5uS½ÍùªSéÔ±’oe“»,;=ËöÒ:ó%¯ãÃ)É­å±óqÓýë^È1‹| 7¶c;ÛÍx“¯[‡_vaÝn—ìÌÚî"I¼W•ܽFBIŒÃUa•Ä€[yIo6o1ùyäíeÀ6fçjñóâ‚c&óÑݯoj¬ÄR0~Ñ•ÖU>óÇçÓ)ïÃ~U}£µêêÛOÍ|zñéæÖ|=±ô¹åþÖüõ¬%{â—=¬“/Ú6‘ä„™ Æ<)Ζ gìîq±¢pØrFÀiîeÓ1채¨9dLáúúàÔ²®éæ'ÞÈhú΃õbùW£¤BüŒ(:!Ï[ŸÞáË€M¼!šIunAFŽE|ò\©"¸RO(õ9ÚèY6Ûò¶´eÌ™XwZáî¡7ãÔ·¾~¿8ìºs§:{p\ó«‹ûÞÕžät ßö&ŠdçÖÇû ŽýXxØÈŠƒøm§âp™Š+•œ¼aÛy~Ûyžäu3¿µÿ:hòÒ¯¿o}Þ¸Nñüý¹èvHƒ“ÖÜ:V0Åê–zI8.]ª?ØuoßÛ¾oþÏ\ËJf§ç±'†¢­à‘ºVZ$YÆðλ#Ò¤n5uѵ*î£;o.ÃõÛý ŒôVw e¸6ï7‹nŽßnÿê¬k¹ö<»¾Šÿõ.QyxÖí©*ÿº‹KG××s$–ŒgÊS‘ôÃT4Ÿ™™GfÓZñ[Nê(ÃSeq§F\dÍýRvãÞŽÓ­1´YðÎ{&¹u§+önOµ,¢¢0·¾õî°[ÁuIn=Jï3P6n}-ݳ›ýª€Æï·tqW [1B7˜J¡ ee³Ê¬.GqgëàEONÝTDöí0 Ô¾_”·˜qwíÇOÍõ¥géó‘£ùúS…û*²x«„ë<&6Å(MŒÑvLÖrÂ]]6† ÓÄœ&ÅnÁ}†T¸/ӌܨ4¨‰îŠƒžlO"݃Èo£g÷¦¿H¥—+‘æ…\›ßkà JufI®»\믑§ÉãømÉ™-Å­—<—Ë‚wçÎÊ×ZNøQ>m|(ãÌ­‡²p³àS™in=•Ÿ›_õ;pë¥ßoÜùmžùÈ™JqxÔj6D¿Ê&¯|Lw(>M ³Ýx\·=šK–-Ž:aK§~p}1‘S‚å̳LÚnÅcØE¸Á­'cî–üâ-‘ÜúâynÖ‘f¹f¸tW>n<ÞMâeßÜNc³g…HÄïÄ­uþÖfÿ•µÙ8YÚ<\&ÅÔiÛÇÉïéÔ,Íe‹G¾ìéÔ÷/.üÉÒ>Ô•ÀéÐoÛ5íÕ‹srÁRé~üöŸœ¥¸¸õõÛÿšþ|·*›Ÿšžln=5]<­øòï<\zé÷›w~›[ë:Uí׳öóÓˆéÅ÷ZðŸïiuê)eûý´:¿žVCO)Ûï§Õøw>­ºžR¶~Z)¿Í­uþ>}þ¹ž>3^ôãùqÆpìGv„I+wAª¼-s[Ðñ¯mjóY<‘J®ý+ ô³>¼Rn]¼¹M 9Â3leÍ1O¾—ŽCÀ⨲Éc´æ¼*Ý:*´¾ÊŠ»‚Œø[ÁScaùãÍo½]žôJ8%Q`ªæ£Yó)7hskm&­¸w¾mÑí/ópˆÛؤï$À¤tP‚>Äm׌ž~üâmö=Õc„è6-UÄ êÝFŒûs \Îò¢m<¦)ù•ç÷‘yY…T?‹¼ø¹¶¿UÊ2!A7¥¼ËßG¯ãfævޜׇß[Î.‹îµmM—J‹@GÇ :š:»ŸNöŸêœêê`'Œ¨{O6sFÿW6p¥Á3;ÓnŸ×¢6ìÉ¢MÜÔ±ådéOC-^Ö·_m?>Ä+Îcêvò°†øÅ™&ˆT#kÎ5ÆŸ·5þÔCkeZóÅ.ñä֓ͱ´æÍÉ­Ù¿YV|¨OÇÜ£C_6x¿ßéÖp}ÞV]ãƒaÁØ‘:ÕE¨Uãê_àÎÌðlíœw7Ñ>5§î0ß2_šc€m»(Ô¾x¯‹…‹À‹[Ü{ 'ißzšâó³5Û+÷ë8ÑÓ„(¬³tg¯—¹rAgÿ(ŠEÁ#ÇBZª›sd u—(MJ­SqÙ3ÛÔ3+.¹ÐGbÉÈÙçI*©#©$ï_ï*ê<Ë+¨+Óˆ#×â…ŒnC?7: #ž¨ŒàÁÍ+Ñò wûy¤5÷&Í­ÃÂ{z³ÁµÙˆÂuåÉ9ŒèFnI-U¡Æ{Àç5=aÆN-±bËP+P–ÛšL·ÆÈ^³ù¦öçŽi ‹ÖÜ:Z©1cã¡£°aÉ0¡“!kÛ}ÄH“IÚÞ™*‰à£‡MRü¨gªåçdÏ+i<ˆb&»°d,{š>מø ]ðsG¶È‚ˆvzÆßkû3ã¹"‰Å=ú/Ò»Ž Ð*,§i'ªàt…-;³h3±RFöw¾*óãuÛ‹mŸÌ޲{Zýû7.æJÚWBx¢í_€ȸx'ü¹éÕY{}YpeR%$`~½,zæ•RtåÚn‘0œNI0”¥»mzÂ1s’`*wËЯûo×ÜÀÒ6vÛ%G蔺&¼zŒ¥»ðòÂ’‰EGÙJ8U²òQ¨Ï«ì+EtÿÁÅ‚žvOx®÷ \xĘ„«êâ]1&¯ÝŠ·CtB‚øDz[&\:ìLIpñŒwË›ìTæ8%AW¾î ãäåÌ”±òâš›uB^§$ÐÕÃ#ÝevÎÔl,[ó»«ÝTM9|^ôØÓR ›†æÐ×à¿CZç}^¿è[ ú_˜t"N"ñsÿª¿B4 ­¸J[ÑÅðkX-ƒ¾q(ÅcÙFðÖø!f?6†ƒSnùMTcù3¤²³¡T§çŸ!•PSÖŒó£Hqî‘¡wÇŸeö>ø6œ\8»6ù—ÝÒÑé!ÂÏa9øWd„ïÚÀ¼Éðfô7EðyáIÂÏs*/¥Ä¸5m[kp:àÁò0ô‡‹ñ½oéòEMn­‹߬‰Ho61¸NÏžMa ×â,øî ç¶5ƒwùºW‚=s" •uß8µ~¶å°u1B/²8î9×àgùÁ)ø&fbÔ‡-ÅÛÊo$èçפh!ìJ0@îί=§~îcK0À)õþõá¦Óë¬L0®6÷7gM¼¿ap­ ì)®2ÃP‡ž¬:dz'„ÓS–9$4á-ïUÄu•¶„Ìj=n¶¤|©$½7‡Âv«ô½¡ÌÎ×ùˆèá°6ï-(ù•´þøTÈswæÀµzq¹ D\ÀRüŸm£E~tC)ŒT?i Æ*ÏáO³Á£ïi]AÇL#xÓIQ ^n7¾#ôJô.ž "kXê¸JñTè7{0:ÒPøÚ°…W«°qŽ-Ýzþr0ü´h˜>Ö1·Îè̶æêcOnÝa¾¬y¼Bœ§†Û7G gç#â:G£±¿Ì¥1Úw—MNoˆJ·VS0¹uxÌÎÍšGßå¹qëèL;^–üü5Ä Ðh®b×yì“5¢R¤Ý¸ç¼9½+"™ÏŸÖ¼¶Û0P|Û?xêµøŽMGGôέFޏrÖ#»#ìy6kþ0nré(ŽXÄ^6¹¶ŸéÖÚ?¦ƒ9ˆ“‚w ^/ïä—¢#›_}WQqa“ÇðÇØÒ­cØå~Ûàp>‹§Ž÷ºQÖ~wòM#hü³¹ö>œ‚ SæÖ­$O­ãIníó`°¯xÁáœÛ(Ç»5Þξqëèë^›o›ã*nÞ6clvãZè(Ó[‹G–m~ïaèÒäÖ³‚€)B4Ë‘&1%·æèuòÔÊ—äÎ' Ô#‚icµŒÚ}n|ÓÇþ}kyŠ$·¾ð\¨óÖùÄpL6kîó6—Îã’MîãºY?¢þ ~ÊÞÖ|±|%·fh ²æ]>áæÒ±ÿ§·†7ÁجyÔ¯}ãÖáJß6k~èwæÒ—|ÔÓê~ÉûÉ\Ú¿ÇP0Ÿ3¨—;ëÞ¬¹¢€'·^¬Ón<êË=šóÒÕz«?Æ¥úÝ\Úû7O­ãÎßûyº=7Àëù’õ>¼¯OÌœƒAYr?wÌkûS‘z§’Ãó1èks³âèt¼Š[w=§ÓšûøÌëxynö¸äç±øþ|^|ÇÊiEzGÁ´âM÷¹5šIc³íÝ}O{:×FC\’ðÌtÚJÑQ@Ðj¡ÌJѳß㹈ŽÝûJ-Maé‹M½|¤øÑ®GI8,Ê÷P¯ewÁ‰•ì ¥>Wùð_£poɈ‡ÁYá%Ѭx;ó<™½j—/ ü¨/C)ƯL#HoC©xÅô_!F“è1ê“ÆqÏ2 *ÞFõrçSû¥ÇÕ–k‚ÌØ‡¡¨G¼d…ÆágæI~F†áûìô;üŠïwoQb¡¯žØ6SŠÛ76ìœ]w²!<@PJ—RF0\‹ô>ùVƒË‡¡qŠ1™îp…Nk—™£xêù²X<ñPpDf°Ÿô InÃ^c–5×Üû*n}+”¼­9&u=Å¥‚¿lq`©tiì«Wþø¼'Ý¥ÓšëŽIn!›¾Ù¬ƒy³orfYQÐU'rà†{šŒ¡œ¦•FÕÙžvv×å­ËV÷ˆî&"–—yzˆ Í:£þŒÜ–1ŒqÔ­±d†Tý  ÔbkÞ†0ræ†R^”J†°+ðÎô¬y,ë>­F†0^ g®&zòTd O4rœFÅeþZZa4°Ï¤–ÇÒÀ’l¸÷ß7’¼38'=¼Ç/.­4ñ~„uÀÍSÇYÌ[ß &l.õÚÙ^ËvåÅv"=©mÅ—â™[û¸ÒŠû¸°UG» ÇãóJ+>ü}qëïã1÷qûû™Ÿ Sܺ±¡’ûµî|LnÍžµ‡Öùh‹†Uqû$ºcÓš#/oyØÔ y”ÜzòÁîí<ì ÎÝÉ ß\õËTÒ÷áÉÈÄJ“âmÈ~S¾”`oQHŽV<5ë´âÒ‹/„É­}2X“«×É~skÿΙäLTæÀ=r"lÌLx´Œ tj\˜µè– W°2„‹9E8ãùoxŸ¢1›•!kýŨ0Š’Æpa,ÞiRX¯Å“‰ ¡µ‹kZò®0næ¥Ù ¶Ñ.¸î„¾ƒµ§'ŽðVØr£”ÚRíFÆnâñ·®Ü€7_ÔoÂ)Ù7ߊóÆ£ç¼ÊšVSŒi•vzò^-8Ëš;Í3¿™ÿ1/"B)ôÍDTÒÝ€Â/a&¶Ä¤·Ý CMaÂÙ/†4eDÏ|oÁU—ÌTá]ÇÁç×¥—úž­™QÔ×þ=éíûZ¯sÔýaH¥ã´âaê~áÀïOÆ^š ÆÑ2†ùZFpb=Ó€¡؈‚+“_iMׯ±¥Au¾R§%¥w4jŠ–ŠI1¦Ø‚‹Ôß(ÊeͽB¹5 [Ùâ\ø]Ïëð8×Ì ri3N+­Ï~'–|øngCOSø.錢rÅúyŒ-TVÇùÖ[)ÝYÁ›[_ìu­SNä~dý}o/ü0¢p pÛï9fîœ÷…õ¥4ÏKÌíjÕßâ… X,…²ŒÒo.p V!’ð.¸vˆ.ÄL“:ÕØ!W•4”‚UB„æN(¥²i#Øb9ö„T,¾ÛnÔ¼ í`C©ýUZëýæ«4E8b÷2„ƒs“¥:À6‚¨ŽJÁç· ¡óTË*8áQ•Vüf=ŸÜúQkÁV¦Î;¹uD+†¶5KÞ„âÖZ$gÈ' ;ŸÃq —%ïêZ7·Æ„È [Llî\è-æx¥¿Øµ—Üz)víÎ1!dKGÈ3…`ѹ¡™6{û1·öïÍ­s;úž·Ÿ9Š[#Àâ,n}hÂuòC¯›|%Â,%ÜÁ+-Zr§non}ŠMníë—Ü×Ó×É×…ù×5¦ ÆÛVÉ@‚§ ÕຠTD¾ÍÞœ v0Þ-û*e £´Ò¤.ªk‡ÚŸ G¦Åi\OnšF0N _„T®$l/-F(ÅÊ¥©wÀ;Íg–­¹MOnwõUÖ3ö7n­‚Qûñ³sæ‘!4žCèäxl ¢¼:ÊOA=5_Gщ))Ñh5”š N(Åc1¤Òn³ ûüt^®ôrŽ'ÆöXÜý ¿Ooô¥ÇóU6ùøÅ•Ÿ.Ì]69ß*ÝúÁ ]Ú“^Nx.Œ«¬ù©´¸{úØ F¾9Øš<µÎG­{ó™ti#­ð-ÇDSJíyú· þM[ª$·1y¯ÃXgbü: øËŠ‹l½•ß;Ù5‡©!¶æZš£¸ôÁ€è2¢rÒÔžRÄS~cúÞvF:A™RÚñs£ÇUÇ! Ÿÿ G¦m’ñ¨ÇlsRI]=dHw¾l™Ô÷cžÕ5w³Q‡Ü{ÚfÅ5±¦éq\š‘’[ëe³MÍÜuú7·ö•3·özØS}Íìü-jiÓãiè,ܾJÅ­œ1¨(â/¥@o#™ü3Ì$|ŽÄ$ð Ø½…›³mVvú°eLùøzTåb/t:‡<¨qå©£%Uð_ßñWE£ÏýÄ’ï£(:ôÞ¬TKæä똟<³®¥¬ºBØâo›-Î0Ì•ža™£à¥Ý9ÃÔâÍ*÷ãß›KO­³an¥!¶ï[;‹Ì­;F#JVn¯7e·û¼^?ÚÂךþ¦Ý{cyË<¯KB^úPG»;ÎÅ}ç:=ïð¯;Þw¬îèxŠ#(R<ÑнÜVÁã—º°©Ýúla´2ü—¨c.·˜—iqiVÉÔ7È$ø½A âÙ59Ïxõ„RX|5¡”NÍP'ʳðqc?d¯Š_…ÿ OÇ‹/ìxÞŠ¼–|f^<ßÉÁ|ÙŠ=¢,_OÌï'埞—ø•÷õõø{?#ÿýOÁÜÎy;'kD}Úç¯ÇåûúzÆÆÀm,_ÔP¨u‰}ÁxIòÙùž±ÿàÎüýYûž¹ÿðYûo|æÚþ£VÕwkêï3úï3úÿÖ3:ïàïVô׳öûüõ¬þýYþýŒÿj ü}F›á‰§ú¯‹ÿèîÏoe7†m¾´Ë^˜(`(õ1qS•y辟QËAG(™¤t‡ÍTIƳIÚàãš©’ñعӈ¢ëñ4•âÂ{ÁþŠ»âDʈaÕ)ú½ }Ú½eˆÜþ˜R˜ÁEüy6~Öžš–¥ÅƒÓÖ9IÉšOÖrŒ´ÞÓ»Ÿ·Æ¾£¶ƒµåGíÏÖ\Ë’&·†Oâ³Yslš[³{eru –´ '’Ít>ŽñUA©S£ä2„F‘Pêf,IBŽhúÒláš»êkz(4 A)¹¬x—Ϲ¹5|²æƒK9$OM'š´rðÀü†¸·míhshZ‡¸5&NŒ»lò¨ZÆ–.Q`cˆÉ6ùÍ!ªL—>úÖÖ<*ÔiâÖ1u.*+[q8¸„븵‡Yò|3™/Šé.»–z$7k¾èÕ’Üzé»iÅO:4%·>é(„Ulû>L¤ãM.íý›[ë¸éyW£êpÞ § óÔƒ£ëÉ¥1ì¹mÇÚ7÷úª¾yjý.+ W*.'¦žDM:6à§É(¢íà¿QAþRÐ˲¤ð…,H‰aÑÍä# 6Bªü¡v……ÏÑ# ¦ pn^D#–Iº°‘L•ŒweÍ]ð’[kmYq?KnïD› n÷pÌ>ç*ZIi7ÎAÒJÏAÒëÞìÄè ‡aâá‘¢È+N¾mr¶++ÝšUoYñ('Ý!Î×Úéæ»†÷Dfå~=+¹ôdS²¸ô©ê13E™7¦¶ñMkióʪÊ:d••Ë ¿k妻!Õ8÷[n¬¼}t?¼Jkœ/¼Þœš<Ï4¦]ó¸…-u)mDG­Œ-zLç©*Y¸òÝåB3jÔ~scð€ŸoùØäó‘m¶qÂÓ¯¡FǸ9?à0+c‡ÛÛ!ïç‘Ø1u¶A"I'÷yìHÇ£Ícx ~ÅåvXYp )æù^lÅJMüœŒB[$Ú6Ÿ¿ñö†ÕñÊ‚ÿ4ÿÞÉ¿âìÆ"a‡ z·Ðà‡>±ò/?žˆñtã"cê†þ`²âK†ø36 €3ñètêìZŠm[qû ›[ÇT¢q•Mßâ[×À\zÒ·µ,+½K3° €¬y4.£ '—F0û+3foöûýÜu˜–ëE-驳cjå ìMG•ÁØú”ð96L‰ùy«í¸á5‹~Í–p´áüÍ}·êîÜ/¬lÄÜQ©ƒ>L†PªyÂgMU«%~Díuâ.`Õ†J€Ÿœ—Iø9z¾§?OâÇ;ox»3£Pæ‰9+‘yãEð~0®ŠÎ/¾HRñ@Äòx±>jc·Wö¢ð|[O9UmÞ£­·¾á¡`“­ê¦…Ä¢‹Ý}|bmÍcÏ3ζéñ²xÕùÃvÌ÷j±øbrÑ’‡üÉnÉä©/&—¾8¶‘Ü:Úhí7ôƒîJŒqG¦éA°æ‹“É“[û¸ÒŠû¸t±`£èè%mòή™L·¾0„ZVÜÇmžúAïiZs·¦ÍôožZùŸß·šð%íëÕX«$OÍï¿ c¸ ¹°bl’]Ðñý½p2ÁVX÷Âëï»\nÅÚåÊ<5}ŸS7öÔ!”ÏêÅ­‡®iþ^¦µqim?ú5Áƒ6ˆ«&(…ˆó3!Wk¸“JÒoÌÁ¢§6A‡ÍC Œkgí(Ìb$¤Âu¬T1ñæn¡°’áâ}ﮥÂéOÃý•ªo’¦ÄeôeñeÃêUã]'®3o+UÏ÷V/«U5îûoN=Cu¤!Äcê8M-›ìÓšÃOà)nA‡VÖ\ÓÊ’[ßË·Å4ÖÛý|6KÞÞÄæÖp9GÙäƒÎ#™.œže“wvˆgú¦ÑÂÔ‰®f‹“>eÈâ½Q¼³[L¤¡ƒWJIdÑÒÿ¥˜Écâ]I†©<~d¡ƒ`‡ž ÷£NË2ð Œ"öÓÒNNÔè‡õ6£m5rÓÞƒ —ršo>ÁÅÕê>üư!l%ce ¼j2ìCþ%B§½›Ó v 6Ãk2‚\-6!f¿°­Ì>g¡”~'hÅŸë+ÊÅè9É¿Dî£bðOHcˆÖ_¦I5„Ø´d OCªOÝ©%÷ˆ‰…¾aI*‰×f‰’£_‰­ñØzfÙä§\¹œ.}«œÚ&礴J§f„ì£lDž»I®·£¬9\Íî:«o€œÀ57,“±ûÆ­cNØ–c’XT†ŠJ¢y£”‘Û$£*Ü ”.V¥û ±Ag±)¦hgZQÄ¢È4*T0úK§W~f¤ŒÛö‡•u”›–ÌÅÙèv;ö}˜ž†th)qaK,Ëu¥1Åê©-±%¼ Ó˜ê¢u€ÍNöé}mÄTõŒ¨kT*Þ  ÖDéÅ­'Ÿ®Å­é”ú:0èC³ÊU[¡öp寂íÂ7üâf{?Ò¢ºsh¾wä#Õb?zìèD,°‰€æöÁ)1ÅïÞ b•5t…ËZ–ò÷M9å@q¼Ñ¨øiì´;p æ¹Ù Œg˜Pïž^OݫƳI®‰ ’X0³•5ô'v*% =ËXiP÷cÞª“úÚÌŒ)¾gíÅž™òZ?tfUîiq%,Îò­×™@Õnü ¯XMö¹ Aè{ñ$‹°²ñkÌÕ3´!<9ATP*†™ô‡@ÛÒgîݛ֎b!£+'z«uÑxÉï#ºàÅw•‡à–n Çۧƥݹ4¬4kgŒÉ¿ç¹Zq2f8,#4qWØ¡ô­¸5<_¯²‡§ÿÍ¢ÔN?4Íó`Å8d íÛ&ç´…J—ÞŽÖ\CmuüÒ>mçíˆ`zWοæÅîÜ9ù|që£&Ю?N˜ý§ÊþaŽ,"OÇ3ã¡ 'õ¶´æìž×Æ¥¾ÞØ‚7uàeÍûÃ(4Å©_=úsnÅ%sv»˜[GßK¼Q˜§Öù˜Kçq»¸øò¡v¾xÓDù·Ö€IWÛòK盼4ÛÌ­1ë¸Wþe~é8ï­#4òiËkDWÙ¸µo× Y#ð<àt¨úP ›«¬ùÍ(ÉS¯—Eµý{²æÑðGTqï×ß›ôÍH›üà÷3]aÇWYñ‡/cÆ›T'Ïê†Q×Þà QIÌyC~ÿF_Šœjfþ:ùø'“¿FÂç(E‚ÍÀ¯˜ù 6„Ž™O(õ>jÇÌç‰i?ÚrnòÌ EbOˆ—üLC»Is¯:ìáÊô ¿ Ú%2Liè~ÂãÓ†0®3ÜúøîK=»ˆB1ÖVt`«ùBìu—!Œq­žPJ?—1dÄ §Iq·Þ·²x¥&—/”‚OX2ˆX¢R.Ö_U/:–DïLA*4rÒ®W{)Ë4š“ËGœ^EBÜ·4©¨0®„R^K(ÅÓã-¡{·“þ‚ðäI”¯ûPŒÙÆJmõºW¡ËNºbJ-¬TbcøÙc%ADoTO#ÆÌsR*>íhY«WÍå"^wÁ¸ Ré\}f<ì*÷Šæ§u"=ȰTÜbH2wís!G,öc¥4Æìhy°<àVÜ:ÆG/n­HÅ­y&OÍFyqiÍH5–<éòíÊ£qÖš[û8ò’ð %¦Œ€=Ñ3eœšÙæëæ'PW̨¼žŽ!uþbdRqëé(œâÖ.:9ŸëbÐFSKúð%¶¾Ú;ßœ­Ï…Ä’ƒóIKvÎÍ1¶dAÁƒl~•A+ÿâ»ô 0?1&½Y´Oו\,´e‰£ó¤ ÕtL1[Òökm ês3ýŒ£¬è§òÞÒ :Ãþ¥M:ü7q~ÿiC„ðdŒ¬ÿyíÏfA£Ír¤ôý« ^µ·j-AWlœ‡ëúÜkö¼ïYp³«rPj×~è«…£öOl1b»nŒ ^eÍ=õÆÜÁî͊îw—ÆÓ&éͨ¶Nµ¤¿²MRdËTÉiOÙä{iôõík˜[S¸i‰6Æ ζ pSª…è² ©Ç”Ê\ì™:7ƒçÌ×7;¿¥úP6[âÆ.r_­œ‰aÌë.k·£µYñshj±¸uÌòÑ+‡ÊÅñx~6n­aÑ š|îrz›ûÉw}œ/NÝàWSÜš1r»ƒÃøu¾æÖ<,.ûç+ *hÌ]ºèkk¾äÊmžúxÛkÊék;âÝ<Ï´ùý›ëQ$—f`À£¸4_c·ïKÓOimÜ^Z¹w¨¦W4Së¨Ý 1EæTÏÇÉß”¿8½8¹5z¯ÍŠÇ¸ÄÚÒ­oÎ>Ìýçñè8~;.í¯q(¸Î§Î®YÅBgAIŒÓ;ð^Œ–ìÙ)KÅå(*‰úrl˜{5´ÒÜ1Ž&äNµ=SKßxÄ)—úÜ/Œmžè ŒBý%úÜÈ×m&Aï#Œ`ÌŸËÐagC¼ÅZ…ã.Å4A)-‚ðFÅ ’Ÿâ#ëI(™#!Õø<¨Â‘PJÛ ·U¬&Íý½¡  éë:94­ñx§JržyYb朡ò‘>ÒŠžšç§Çh>>]™[«ÎrÝàÇ¥³æù8f•äÖª»FM ÆÉ#ÁõÉŽÊäÒºdú¹·Í²‹A^;ÌÈ1ëgm–ü g`r鯾—´æ1›3Ãì´Ò‡†È}³dú—Öab%ÑxXb0+®Œ„T*ö‚V,ýuÅ…øë‡á‰ßN£šìÿ‘1¤Ã¯Ó¨à`6l õàWšÔÁçÑÃ8!J{C©O@A+vùÕcI;ïÇêG>(0zŠÎŒ›^‹£úiÍí™\úàý6ùù•nݾ85¼0¶í¤^½â‚þkF¥þaÑmìä=–ò5Öó§Q Ü,.­?­?gûüa3Å/ b™KcöUÖ2Dcl¡áýˆX!ݾÑâøŸ1ˆ>G¹ô¢Nš*Û6†Ô(¡êvg÷lZó(+ý(žZ÷íýüy;⸆FOc‚Y¸¦5¾ !`KZñæÑVqëÆBPÖ|òUÿâ\Äñ¿9ÃÛ´MÞYØ2½ë|Oq7šòާÎfÞ;²Éë®L—þ>swæW4¢Ðÿ|¨î•Ý8^¶t¾B|O~¯Å¥;GäÓºê4Këçqèx]Œ,1é˜g,Ù†æ$µ:Ñ@ߤÀL# ôƒ¡+¼%“ˆè43…>£ÀT’Ü8÷]^?ƒå?óù¾)M{1¥xü6‚ç‰dÜ-'íœY x[Æ–Ìßý¶~ÝöÈENxˆ,ÛîóÀ›|Õü²ïñíÎçzÉ9!ËKž((yã2F{ê7’s½nvÉŘܠ:d´Ý ,¸Á±cu™I`´×ŒbaN7?G¼»$ø}¥· >Ã@„ŸG¯Ýé3 ™vÆÏ#wâCaUifÁ&³ed^E»Ø7‰®- j¼#8›àIT³öŠZö÷—SG {çÖëV7»¸õ©F‘¹õÅŠ4¹õ¥FMréxŠ=³ø¦a—šC7,Î4Ik>èÝWœŸ±^sšüV +3ZpÉ=çDáJ|¶=ùZxêǾ¸¡ÃÖ'•Vj2¤Œãa¯-*…Ò1¤šîÏø•1y–¯2|´1íJ}ü·¶æƒ&É­;ØAŽÃ]ø@Í› •´æX¬é).=¾èL ˆ1dR ¾LøÎ®ä©Oú2$·>Ù*.O‰ˆC°qh¹víÛVnqiÌ|Ý¿/}kÐc²Ñ—<õBbk~r"Ãι4âÐE¹=~žº.ª¥OiÍçñN—vþqÑ+6¬_×ÕÖÜ#HÉ=¢$W [óÓåI|×Êž¿¸ó+yéW¾9?¦Bsk©u€P>ÖñÆÓŒS”“[{yÌü½´¶3/ΣÆu]ß߯¿Ë_–OvØ¥5oKå±8õÅûÃÖÜ÷‰¹õÅÅ´ûý†ûqéxt_æ}(¾ë«ê½­¾;ßôä2ÑkU­7_5§äy¾ê[I4®¤’k¾ËžêرÕQY'±lù\wÀÚ!C½³ÊÂöìÚ+b¼;ñ¥ N£jÌ—5;×›O{›i“kè=Ó¥£À,ýÍïœ;}4ÙnS Þ_ì„›ì™Û6)jé#ð‰é€ßE¥¸‡- ôsÒùå3Ü z¼Îý0äé»ßÃìPao«Îï¡W©’¼®8$šò„/¼Œi¬Jtc=ªÆÓùYˆºôóyîmfa1ôŸX‰ŒP ï4£ôòL÷Sì/ˆ9}1ÁPêsÜäGPjbõ$C)µ`Ãç•—á(ß3k +//5ÒãîYX¹)J?¦¤(?è·Ž¥ÍP6yùÚÒ¥d}Û>(%|;â]Ñ\Ú—ÊVøZ¸rSw‡K»º>hoöy ZŠˆ'+ÜpŸ+RSäŠôàp–±äà€16†¦E]¯ßšw $.é= w9A$¦þ>îÇœÕWzœü¿ÜÀëŨ.¡”ò NL’ðTC¹Íìz¾xi½ñ&?OŠ™¦ g› 3ѹÅY ÃýhÕÖg–E@û–X2º4®4E'œµ2UòsÚóJ³ÑcOÓ¬áŽ1A©N*†NΧ°$c>½<†ÒæF)cV Üz…S+Ì3O.Ï}Çè¯skáOÓÑ+ðÿtT2†\íÐiT³‹®pðh#TU!èj„¿‹….1†ÉKuÒJû”Òúú9+MÕÇY=ó&wž:ÇUªåäÁklûLNB¤ºb™PâÄÄEþšô™$“ÀíÕl;{¥0¿s¥‘Ð…WH†rñklÓtÕ'mwHÓ©[×6ù©f¬Ó¥¾¯¥5?§:b\Š3©$²áne…ãź÷ÂÖx™|Ê&?‘ÿ•.Y]­ÑÇäQÎæ•ò•ñê„£ý<êÄ-/–Ê5eó5g/ Xtf _ÒEÐm±¸býÄÔ\1‰‰ˆÅ„3ƒÅÀ¬=1 îcÁñHä c$NÝ4sÔ|׈×!níòo¾ßóÌíænuW<Ý1ì|ÁMxB)L´¾“Z*¾’±¥« aIÕì:;á_äÍ«ïN{æq¨‹ â< ñóäì öÕás¯“žö…f ÇÎ }Œ—lü%‰Öf²xeáî0=ëú·ê.2¶˜8‰ú/¶ˆ¿B˜C0Ä$&ux4oï΋%“è\û›NBî­@ ¦ºsXÔ4îC¸^òÔš¨eÌÇÙpêIoõäÖQ"¦÷ˆqmJáEéLH54•NjrnšŸ*{BèmªóÔ:m7wÛ4އ€ËËNÜÞÓNž¦ Ô\¿Žü«yí——9,â&þ¹m6Èúk_ÿ”ž£¸5ܼ‹§÷Ø?2·r+5·žŒ›Üz2òFqé©1·ä¥Q8r}rºûxÓšc†ý–žšnÅiÍ]ë’[ߜќÖüÔ¸º¹µ¾ñ”‹+´ÎŒ>ðÜeDµ`±eØKcÚäQ,,ù.=I}\Jµ¼n•Àû]ù5“À¿æØÙ‘%K¬ÊÙ•…›UÃ4„™V”qUû³  Žš™ê£žÑJhùÎQþ+ô ‰+Fo]ý:9_ƒL"¹ež ÛÛ+„È>ÑE…‰7§ˆt¬+N&¡c%óã¸0•r1óèæéÚ6¬¼L-4>ÞÓŠwM=5·rL±5ÇÖ§¸5f«¬ùÉŠ ¹u 4#¾&-×/¾œÃ9ÂV|h`ÚÜýÜÏfÅ<»·ÆÒgÙäjdgzi¼ DÕŒÐ~÷/.±Íi¦2¦ˆ=Õ KÆÅêeD'§[FÇV·–MÎÁJ—Ž‘\è¶sãjõf:u®·’뮜¿¼,ÖÛ²5;(®fL.Ž–-ŽÛ¶k³æm»‹[/ŽÌ–?9É2¹5^œ{Ùä:žL—þ>^ÿäÄê7?ôR~mV|2]rk/Ë•V´æÖñÏŠKw†­Hníñôð›=èÊ24ŸƒãâæÒßß·Ööà%0W=Ø¥i]“ݸ^|õûÜŽø}É9]Üá!ZYq¯y¿ÎÏõ|>7ôœ@¼â >ò'ß™Úno¿#Œ“¨äçw?¼‘Ž{…¥Ãåðçêi‹ëIéÒñÊÑÒ$ÕsB‰‹+>é§y›êöûæ©ù³¼u÷égMaUQ[¡îè|51O­<¹´jêz\¹ ðÚç¦ÛÃûWsE-™˜/-r~‘©ØÙ†x{š,GøhŠ!•æÑy:Ý£à¿*ŸN¶¥Ž‘æ¤gú…£Œ!kH§IuÉ|t··)x·<ðʬ äí" VÜÇ•TªÑ›NÔêpw>¨”ŽºŽãøýïÛ‡Þãz+Ndÿ’Lô»’ð3œçõ—C‘"ü-ûCIz¾ þŒ+óyÎ\ˆµyË¿ÍIõ¢F·úS êá#U†,ÊF%I!‹½\paÅO*yqÅ©¸%±±ñôÐ_!Æ*4£À yÓ†wìë·Baº·7§cu²dTÃZ„Tá1¼ JñèSuú…Qé´?õñu¤Š®÷úTcÿ˜¡zËØû®K¡œnš€›WÏÚYon­\Véã‚§(kY£3"øü]:H9^kFÅ258àáìdN‹åeÑŠ=/º®)™CÑd™Ž¸6¼Ê@üŒx."ü¬[$¾>ón`à¦T5Ý\1¾"lÅÒeÍ??§|£fi§'—߬±p‰•):Q(.UGî²ÇJ[:tœœ{e7>žã•N=TÒçuÓ',Ï?­xŒø(l=¸ô~Üsmß{¸šIqëïó¦Fˆ¯çJn Ÿ*¯6§fÔËQ\šñKO\qé8š7ç¤Mîn§[k{ºnÑþš˜ÒÅ•sŠKG‡vŸßô¨ëŸÚå#|Ýàsxð¼-f¼,9çX·¾Qv >´b‹¹už‡lò® £ùC:äGri矹µóÝÛËísÖpZsoÏ<õõö72÷qe¾û|´¿.ß9¬9ÈÉñÉ¥áû½]k•¦80M}+˜?²ÎÍŠcÚÌQÜ:*¤x)MKΉßWrëßÎwãÈßÏ'}1±=‚»Ùšc”YÜúaÝ”6ùBÛ¤Ò©áÜqÎÊwWÌnt¬7Ž>â­ ÃJ}ãÒª-UIæ¯ünw"CUi×^³8 t(>cß±®QìÝ£VOµØb‚ßõ`¿4ï`øRó¯YÀuo î(çÛ^è×Ù“%ו_Bþý⬬#ÉýÚ-FQsoêG¢»ü…®ýCIÖàäÍ©dñöôàU‘á¡Ð‹Ë¨3eŸ¥ç…Ù^ð 1¤:å²A#xó)(…é•—àÍ Ý7§žÀŒïoªIgX®Qúʸ½•íwã~©…)x1~J„÷¾Ó.¸Ž‹QÀ9u¤‹&Å2¢ˆ)‚Y…†,~ÝŒ(|ê2d1¸¯ ÈÏXÅŸY^ß|m‰ì¡‡ÓÃAQ«‰êÃ*úü†FÍÃúK‹w )å×iÜ>ÏÈÔè^ij‹m`7y$s“Æ’Ü´Îâ}ü¡ø4òiKéÊv¼"ØC§aœaƒ¡t7J±àwŒ†LzDà ˆ­ê´É«Ätk._XV|tù‰[+€FYq8ûÅ­ñ¤½6+ާä]ÜzqÉå·]¿oÇ|)úé‹Ç“„þ„´šž½ÿÞü¥£…ÅÞ#V^âý K"Þᆩ'§Ë§Ǫ7OñÔõJk~u…Ÿp LÚéÉ¥o>u¢Æ™l@-·{vˆš!¡ÔÁÞÀ4ˆjŠÕz ¥ÂÛ/ÿuºi’IÄò£Œ ãjR5.E‘V8&` 6='[ÀGmFñT“QèÇÛUÂAn+¯ dnŒ9Ø%#s8-9‚´=¹5¯ê,kŽ6×έÙø¶ž;¼ÊšÃŽ/>d¤ C/ûSÎÚ¶;oÇ;½10ǧlÍp«ªuyœâÖ>skïÏç›çá|£wÇP¿Îÿº¿Î{«UòN“NrëƒÉ¥Uëd±c‘YoÊÈáÚ´Ó‹!h7v|ñ*‹®t¾ŽùIåG“°+UOѨ½ér‰Îøè)j¥I!„RÑSx&”ºÐ‚òï¼ÑÈÿ5ërb&µÚvÅäP¢4*=% ÙÖˆãÇT>Î8BãúÜnŒìÞ¼h7ËÙÖˆª¶”¿"£‚R'ß¾e éæà4XùÜž\c×>ìù;A˜õ‚j+掴1-ajCˆ OÓP*š½jŸù•ÉRh(5é‹ð¨áЀ-–€8“§¾äÕnn)»ÇÚ̽¸5†Zw+>åan=ÙÏQV¼+`“¹5–?Ý­8|D4^HJÿæÒbuK> ÕaJyÓeÃTR/©Êa–5"d™Ç d0@].Ÿ š`FCÙ$¡å÷¶$1ˆÈb<<>ñâq…U[ÊÞ\øTP*FÁž†RØþ }J`¥HLöƒb–û¡;p¿ø&ŸV#WqëððT)¦5ð²]\:zÆäÝÁ(ž¬Á3qri§¹u1¥ÏÆ8ÏNG­½ù~òý–GaÝÕŸg¾i}µ5UýŸáŠŽ•Q ¥X ]x±u…|Їf% …92·©••bÔ›d¾è˜¼‘¼ ü8SßÛ0à1=ù@„o»ÿEgô-ÄϹÃu‰nUíá*C ‹^ BH4¾ô@ +ŒÙ\'¢ E W*UÖ‚RZ® jþ ÃàÙÓ·`+„Z2g‡X–ŠŽüÚŠ¿B¸+x¤t­>só‰qŒÍt¾öÇ ˆ¡ÔƒÒiCx2$… ÔÉ÷SÁƒ†TÑB—!3ÄiT:_x›MÍ0ÖÔZZñþ•nÝÙÞ*+>8­.¹µâö¦Ý8&ŠméÔúPÜù1Ÿ‡t¡ë—\æî‘ªÓ!BFp`"¡|ƒúË"ÞÌd¨QIÌW6K¼8º³íK#˜±ä’c²mâ¯TÌ'ö£á‡K2©Ëò%Çß²=ùT2¶Ô–Ë€.õl [¢ºí+ÐCÎn·†”î[Ï[s^ÑâÒß0Ò&g×l¥[/x Ö‰;#tÉ}\Ú_–0mË XóåÉåÎig‡®C,×îùÑ6KªÉîpðm©™Zêà›y0#K[Ú ‡‰sÇx°E-ÝÙʶ š)ë×µ³ ^ÃíIfE—8C)´bõ3mQÒ"Rp¦Q}¿1ϼ’¥}òqy|Ÿ½øKoWByIàwâ” SžKb­ªQ·•¤K“ocßå¸O?_ºàvâ©yà#*$j|dÍ…$þ1üˆñ|~'†³U øvÓmægåë!™Õ¸Ÿ¨ª¶Ñ‡Æ®IÎ=EG¶šÒµº‰Ð†«.,ÌMFxuË[ ù+úÕðÊ&¿¶†§t áED6¹¦”dºô© l¶Éõ“éÒ˜~–Ýxw¤ÛÖSÃQ¸Å¥›ÆOö[iUB{-R)ߥ”Ñþ~΋`¨°^º@„R“/¦ƒcGðÁ<Ù€<6ˆ7Ò×7¥´Gmœð?Љ™áB٥ɭzM*ª1p7Øâñ_1ôÁ_¦VaÖnH5í'ó^úiªV‹÷£®&:DéÖ5bɶYñCÁã"z7‚P×µOÍk¬"®+猡ۡaú“ÿØbri­¡^\úzÔñk.µÏ®í÷ÞþänZq„e›Å­5ɪ¬øR÷¨sG««e.Únǵ¥³ãÛû‘5÷öûAÜ_sú50•f¸J5´©’J"lNaËN¯yEÁ“¡iAõUCIx ŽÍ sûYD¿‹&±åM—ö–`K*…ey RaÙ©„RŸû½úan•¾ªûökñ2£Âûix׃\dš4eô±û¯Yîtm;ùü!×h’ƀªTÉ¥ÁuÛä{™.=Õè±MN·¿J·æŒÎ½ß+m×`ªÏ8ý‡+ Æ€fK‹{ç¼è“ZÜ:ìš/ŒI™ç/Å4œ|cOSöÂŒk£œøbêÊ‹vŒˆülA]?Û1”Œ‡„Oà‚¹Þ§y9ŠÃõÂÖm|qéöµëþk>$wZšKg.*íà“,^6·¿n}ž»aõ{ãªÊ˜Æ²§³öý±×ñ;¥Ôoâê4öÓÜNšq µs’Qà³¶ôÅ×cËò‰î¬¢Ça䑉b°æ6“@Œ=ÿêí"£@H¤4†%ËiT‡Ê a®Xua©#¥xpT†Tëâê“„R +õ&¤ÂûhAÆV3¤šXqÅPj²‡Ä*ºi*#‘O/$¡ÎžÔѹ¨Çë¼ ¹V£a®ï'ÏÑGïwœîú•÷ß–†Š!ÞLòvFØ „R“ÕBÝW~CÌJõGV9¾¥Î#ïÞ/ºA´Wýœ•‡ïÜ˵‹z¼ ÝŠdÃ(6±bêÏÖbN†0¦âa~xø?’1ä,ûx¥Z-Ó¥bû÷¹BÇ£*ÄVxýj„bw¾qs¿Ú¡×4Ÿp!꬚£Cêgì–xpÝT2î!„°%›TR»3•ü®Ù…u„®îyô{N7 ­‡…Ë±ŠµÎÜ43‚ÙäʉOVkz8ú–Ó ©›X·÷®>Y«QïKöØ&ÿZëk¹®ù¯\´KßðVµÞÖõ¦ï5º~[Åkmë{½Vã£Ñ÷‡­Ì—Ìþ>½äÒ\eª¸5]ð6nÝÚ‹ïúà·V~ùµ±Urìß>·DØòÚ®ÃÔbj¿çðï‹©qßÛœ‹ÈÕ¤>Å áÈî3©$úB4—='Ôçdä·%ãeåJjÉas“÷åŸÌ·l«½¿,ÝÛ›¿tÓæáÎOè‡ SëtÖWBŒÕì Öp5Áëmò¸sq¡•.íPî…‰Í×~Ö{¿×{wÉñaÛ¿·ëÇʤt lGÝgèE**úLÐú“Ž"Y*çGÈ’>ëlæ 3ÊvÓÀå· ?˜4X”s›¦¡Êƒ³¼”j9Øjéôú`ןþ&,9é7]–øódFðžÒJ7·–XZó耾·të‹®óiÍÕãÜúæl²â˜ƒz·~8è“Çé|Ô½šÜ:*•yl\Z£$•ÒÎÆøMYˆ}Þæ©™ïUáôÅ×4ô²âõÉ­}Ûšw¹%'·fPûåö\¡Æ³ìóv{j¼bpZÔ²ÁÙõN,‰° ˜…׎‡®Ÿr'(u³cC¨åC¥vrÚb(ìn¦–˜yˆž[qÄR¾‹[Gƒr®ÍŠkþÀàt ÌiZôUžiãŽë ©¢ÁÂ`¦a F~WÝsm†h¥…Ò-(c8P6œ&ňPCPJ×á½Ï£"S.ï²G$¥-z¨ÐâR›Y#­° ‰iÊ3}ïy,‹Þ@ÞwZq·=Ì­8­¹ÝåÌwwºñ¼8#à³Ôv¤]D|' vžaÁ¬&5ú_gqkŸ¯¸î·“/DI)ؘJb°%•Ä9Õ*‰ — ­Ê5üªg±lM)×y}uyµ³qâFŒî^7ÁÝJg\v7§Ø z7Ô’TcBGkQTù÷ï‹ vuíˆ[ßî‘Ýyx‰ïéÐÏËbT§rýê^0ùXɘm§ÎILjfÚà* OoóÔ:ŸäÛù)¼ Pû¸|ñ|àã_nuiÈ0q¡Ì€A‡cA~ß "ŠdÏ­cW÷òˆIð‰“ ‚óôÌ(â ±JlÎu¤º0SÚPêÔŒlB) Å—êÀ,C¸æž&­ôíï¤ïóf1û9ÿ aÚŽ…‚Ö#ø½“ÞÌj!Z‰¡\ˆð¬Ÿ,CMË‚bê)€+±å1é0/CŠp-±%&A`©QºaªS-ö0©´Æ“US)šª îëB黨h”ìmO“òzÌ2Ï~.¨`‚­Á.ý†/>%öc´÷‚¢Â’ƒ!do½–ÂäÇ9(å#"´âIý°á8ÿþĽŸ”¦ó0+o:{ÖãyW·]Þ·¡;M "}ÄÆÉZ6yê…¬)níS6·¾1 ‘¿÷öËŠcáÛ£¸õä0CYqŽÍ&¶ÄÀéµýè §œ×ëË“Ãïˆzæ»ËwUã´,ñ˜ù¾kÌÃÉT޽=zùѶü5óÔ|8$Om‡'i?L09ôÚxi|?Öè F,Ú¯6q¨†R W¦–'§*[Â=­Œ¨sPØRù+êÌw·‚Tzœ”Š®|%”ÂÀRA*=š8ª:Ë÷²hJÞ·ñJGtbP?FV2ª¡Ÿþ¡ê³0Ü î)–}ßZªDUy·nhÝê?|åÎÇ.ÅxÎÂ_‹aAЃù†<˜¤”'OJTJ÷çc>ö"(ü ÂC.É·¡Ôà (cÈŽn§©Û»1€€­¿ÄÇRɃí7ôT4¼Æ| îâ­c#øüÒ¢Þ€T:HAÅè|.¬_šî'(¥¥T ¥x,‚>2½cûäc ¶oܺëÝvã '\éÝñ±†lrµý2]:úZÏ©qŽ«Ò¿yêç—¢1—Fpç§ŽÏç…y~kãÔ½M%UŒL%UÆ8~7ø€½,¥iÍ»f˜[«K.­rÝä’»ñ×’KŸìœKžš3þ¾)ü}Søû¦ðö¦ð·Yù·Yù¿³Yy°xÐÿ3:î~VBË15ªòçàZ{õTÌæž—“BsƒÍ$?žÕ|QÓ&î»›îùMõWSü9Nr‘M>9{ Ó©1ì}ٲɯöþ¾Úß»¾.lçQÞê,µ5F|¥Rº×>rÍ”Áç¦jú1¬"ó3 ®>ÁÉÏ·œ?éžiL8Çi‡©&nQ†¥Ò¿5ׯ¸f|•§èÚL#ˆða ¥àV¦Ñ`…vý%BÈ3Šˆl€AÕ›®Ì îPçÈÇ×H¥Ü”RÎêw±väU?öªV@ˆ-M*êü+Ä ±áIJÿšcKàŒL̺ɤ7£B½œP ±‹àP¯). GRÒ†§dÔ‚¢–hJ•Õ›£±åê\éB&bÈoAP¥BPÊ€e1¼}î€Yãéd~^ar€DÖø Ó¿SÏ@˜½òúÎÐî%½#—G7ðßî¿ÿmÝÿí$è É*œõ9ë8?]ô ןAyyyyÿQ¼¿ý­û[ÿö·þgô·þ[Þ£ÿ#^ŽÿÕmŠAÇÒIçºÉYÃ6‚¬, I,JØe³ÁOm³¥E\“Å&4½/†j³!|F¶mO=µhB Jé¨}<@mS¡Ý"<*â;F¿é(tç4+À‡ÞzÑ´†¥M-Ѷ~ò§ÜúEiA)µ­ [z~þ J…³æ§Ø"öT7”ZœiH…C)¬J´¬0§¢í0²îQûž&5T7”A¼GvRJuºdÙbU„ËPJÓäªgÚ ZuÅj ”êˆþü ++ÁYs¥vìQIE«²! G¬uf$+*¼þÅM>èÔ…§¨Þÿ¢wkãÔŒº<õRcÒÜú䨀ŸÛg[¼¬xgdÀäÖ³ÄËŠc®Ù,n¥lšøÚÒ¿ø¦áf»}Ÿ¯&Zt-2óoÌý“ÉKÓ4b›Üåt´b#^èšõÖô-Ñ”¬9ü]©Îf•êDÏž†Vý—ƒ¯5ûÑ;´-æ=˜[w>>“K#ÈýSÜ‹sŸ›Wþ%·vþšgþ”+.­Ú(mòíÍéÒË[µXjUrß'ÿ¾Oþ}Ÿüû>ùïïBý7´zÿõMV=£õp^šŠÇ)M 9WFðqÜ·]=ÝjƒhâËt“ðé¦IÊÌN¤Š ¸O7”Š© çc(5x‚R:A©< Âjÿ¸4Òy´qëÉ“aHÑ'92ço-ÿ·–ÿ[Ëÿ­åÿgÖò[¥«zz«l³îkÙÔGÕÖ\ߣ¢çbýbË–._«lòµÒ­üÊŽ_\¤ðk;ÉgJáà1µ¬Í¡v&¤Â›â]&jTö¢ù¯’I žëëPöCÚí¡ÉàíØ¸tºXdwþ®9•»e¸ÞÞv­—5Ç|ÎqléÞž~Yö|Gæ+ïá¿BñV6’QÄt·G]ÿ-Û¦ñʸ\4¹8r­ ›¢'já'Å«‘¬UÎóªyç;‹/†6ÖìGBDN¸’ZF˜ÓUFtMÕ:Ä–‹w¡(–û½[îyš žÖœ,M‡*­ßÌ~d‹8z`×F)µ ]ߺޗôõæÞ•¹µ&–ߎtœYLt.b«ïE"®ƒ’þçÿoÎ~‹ðAŒ9¡—RDZYñ¸î-ÝziºûfÁ±ÄíÆ­£/Ë ÝÐùÀ²³gñÔ:>/ó–ÇËã¨ÊýzW<­ÔbÃ]Ôj!*‡NºÑb LáݬqÉ–J9Ù¯™VX[6•Ô~ÿÛý'|JyâXs¥²ŽûoèíÁ—åN7[•X]üØÍݬ»L4C™îý”5×4߈ž6PœÃ=.òc7±P"w.èC9øÞCóu|J{æÉ¦ÈÅáÒx»üd¡ Ep;2½Ã4t6Oö³ÇuÄØ ­xä=¢‰[G}ö²QUžl`ŠuZóÆß%§Ž‹ô92,±qü¶á›×=)eÜ*ã²1ì’VÖ‚ÆhoŒd(í ­8¥[ЪcÞ·!x ¥0Œ78Ôrc"9ê< R½¿)¥­ÄzÐXíP¥]ÁafjЕC4Ú÷%C!œ`]í¿É¢R*1ÿ]î?º“ÿQüo­ˆ¿Û¥Õ~ùnÏίöðüíâ¯öówûú»Ýý[ûü»ý®výÓMµ~ÿÔB~?·þõO¯÷³åû‘óõ\úzj}=̾žx_ÏïÇä÷Ãck²¿šñ|ûÿ{½¼_Þï_¯_/%¯Gbñ6VÐC¡ñlÅãFÅz3âÖëVUÙäÑtléÒÑÀ|v{©ïðk;æ~x$÷ÃD ?ãb5>\ºcŠOÅÊ4·Îãôñ‰Ç9<[ºµ;Fz~èxþ½ïèÿ­ï¯ß+ÿG½Wþ[<{Ô&¬ÛÅ\Í3=lûÀü|×Ó~q>#š3í_°7ž Œ³}ß:ÊÇSXòâÊ*I%Ôß §‹ sî,–iÌmI-®6XðÎ ë+¹©q§!û4nDlã¤!»0{rL.ûW „g¤1<Ñ+ì4©avmyb:óÇž«nâÕ×T’½¨×ËîjX Ö‰»Žå Œ-/)¤M¼Þ©ÕóÚlâÉidw P2 ¬(ë¿BC b¹s+ú˜^Lèë`š’•nbKQaK–2^K¬£5݉:˜Fwµ œwÇXL”PÚHñ”þ65þ65þ65þ65þ65þ65þ‰šÿ3»ãÈ£[a¢g-îø• ×@~ôK2ªÿmL âá09 râF® Í_;—ŽëÚ¸ôbßOrk-ùP¼4z.Ì­#KmûÖð&ØŽÏgí\0·ŽÙz6.=ØTÜšw[¿µÎ;s;3ÿs)”yaùüR'£ ”r:‹—GÓ7[8¶oúB¥VvãÇx§,/ÞµÝù1ßéÐÏ×q8ÏoéÖá25ïÍnËæÎ¯ô?pëC…†×x°Ì« "¡J}êµèá”ú”¼«¤úl"f J1†kB*Ýk6‚p)IHõ):÷S7'ÕçÒ<õM©*-áý? ãc•££w¼É®X”ÖVkRGÁŸäÖ™>¿¾ßÑ¢©íD©ýØšO.¶žÜz²«2–Ó‰³¶þXhí'f-8b¤oGÐkóÎÙÊ:*ÒÑ7.53"¬š[ó$µ³¨>‡³”Ž+!U´§Ú0´Šn×ü¹Q‹ÙPž˜íI(¢¯šÐj©ÂÒ¼½ÉGtæ—yê[ùYÜù‹üÞ9´F…’KǺÎðW·Ž÷¬ôË‘œhR †íÍgLÚäþ¾Ó¥1fô”M>Yî.•OëLo_ßçqu=‰Ëp#¿bíò‚“6ù‰l­téÉ|NkçülÛ÷ï°„ñSVÜçmžùðè]>­ùdQõõóõÁ“ý:[ûþÉûe»ŸÚµå»¯· Ù¬‰þ Ì::°Ò·ŒàÄP¡ÕÉf9 \+?m‘p_þ\’ðŒæZISžx˜”ÝxlkO‡îx˜”5WË;¹ôdeŸvçá>º§CÒÇ›çne¯oZpéùÆ3i¯,Œ(„篧²Lj1$™¡”Ý¿«œPÊÅ]à,õ_PŠ?øÜá{‰å­ò¾”ÚnÄÎî”ðJ¨ŸÎ—ŽücIª’ã’õ[ñTñÅs—ÿÆZãG[ ŽÖÆF)‘Rf¼¿#+üùÆOtCœª¶pHÛ“Kª1?¦\ͱz{¾ø“·×vv}nG5k÷_ø¤9ÞôÈòè„ð¬+*yà}«($ªÚ„T{fPâÂaú؆ùö‡þ !°ú• ¢!ݹYb8•ŒÖz™þúN~—ø¢uRÊÌ^YcºcgªäYçœÚYÊ{‡·¡Ô\L#”pGðáëôsAÔ ©¶ jÌne ®„r]åe/>\¤nFݧZh—ZnSÏ[së†Þf£Ñ(ÛRÙS“UER5©œê†œZV—Ù mCª‹m—(dñì?§ìbÓ5­ùó•.}¹“[6ù`S;Ó­YèËš«)ŸÜÚmQÛâÏ~ø:¬õ”E‹ÞZMäÔœYÜÚõKñ­Þ9¶ šx‚œjB&w“RMá¼@n*³¿±¸´OÓÛ¢ˆø¦ƒMáC/5…Í­—šÂÉ­ÕÎã¶žl '·öyÔeˆlWQ:Ùr=ÙœõÍ Hõþ¦‹ ËÞ`ã6ÂI\y× úƬÛ4²a¨Åƒ×ǹñÒí¹ªÞa-ÔŸÖP*¦ØT %¥§¡!kQÝãy’8eÞéÛ­;oØ4ÇožçÕFu׋x¶UÝEã6- ù!S4BUß0ã÷”ß¾€ÑVµÙ¢’“-IŒØÙš_šé–\®™m³uÿ¾s ÆgºçèÉ6¿÷p]rkÍUú<À"ûïèç@›îgi…£9üx‰©Ñ¬]çfůÈàUÜ:|@¢ZNÛßßËï‹2è'š)É¥?ñólçpbºßoy ŽN¢ù$·FgÒÙÊšÇËâÅ­ãeq\[ÉsI¼y/¾•äÒºvèüìüêj¿Ã×Ä<µó¬Î¶³åñt„b¿ÔBûýg%”Š6Ç™PjÐíC¿‹aŽú5 Ù§–›… ¾ i¼ ü´*&”.b¾O}1uóö•¼__~ÕýÉN:ÞŒ¾ :2óÚ¸õ§*zQ²ãÅØTüY”ŒRÙ6lÝXZ“K·›¥Üܺ÷÷­ãm62&®²ëy%­ùTü²í¬×ØÎÖÛqzc’V1È4&q>¥3}~}¿³ê‘Eä0ެ³¨dŒ¬íGÖ‡æö&÷\_î&·æAhgÑ=½8f0®„T1J0‡¡ÕÁ…t¬Rk—¯î÷eu‘ÖÏUHU/z*¸TKñuÀPŠ]^†R7‡Kµ,ÿƒý«áà÷9A©è߸ò›RÑ|©[Dj±ÓÚjqÌÝJ瀞¡~>[©"·ž+¼d†HG;è ]øñå´ßý’'·djÕð¾Ô'hø6‘Üú{ëæ:ß0å€_Öd0îæ{;EÑMNVWåJžiJl)n³ŸóÜò9jœ/ I-<¸“R†ogô‚[Ç cLeH.ý¹‘~ƶqk°Üž6ÿÉݾ•¿üz”ËsãÒ÷l/¯Ö*·Y¾]þ#LØxŠ[p=6—ŽûègŽäÖ°Ñ ÊÃ>é8OןÖòd,ãà¶µ\Ñ+󖌜ë£rD2s†õ.é9Góú;¿>ßÖ#áç+ ?ã=L„ŸQ„Dð9º®!$—!~¾q;a¤.ùlüŵ·|b*F’17[þô+À›£ºFP:„ÇPbd,Ñh7=qÊèÏJcîz 4þ£¡ ¸8_ß6Êtßåì¼t¶ùµØI[§f(¼–m•ãÚ¾×qäA¢ìŸ›[ 3‘Ä­ç‰{%­ùâ³ ^M~_}¢ì£S2|ÕÌ­¯÷Rrë¸2qœæÖ¹Þ«¹¿oníßåyê¼û‰ª¦.’´.–K-Šðg›U)Þ¹ 0h—·Ý™¬«òdz@PjÜz`PMÆYF{öï%o€ÂÒáØxБpq8óäW+#Ç»„Rx©LC±a[B©Æã¹CÅTúÊ„·Ö^éЃþËe—øM/àÝ6>.³Ì6yûJ·ž¸’œ¼wù…±ý&¿äÖ'Çä‹KG,‚hÚïºmß·ÆŠówíÏç­ CÉ­gS[[Üz² —žjƒ'·æ„œäÖ>¿ÌOí7K<5¯\™ú¹ÍVgž$·Ž‡;æn‹[뺬x÷ïÄ­KmZóãÖø–¸u¼l)-9œ#¹u×-UVü7·¾YŽÊŠ_ÌëäÖp<¼Êš£ÆnÅ­ãú„/~ZñÉ÷´äÖ½wlV|ð='¹u׌CÓ¨.¢ LØò“YÏ•&©n§õ‡A«WÆãظ5ÆÚK>ØhÒG»Ò¶}›âÁû°Øb=9YóS Msë<&Ysd÷vÌ©y¬Y|/N4zýM›œNЕN=¾Û?q>•.ÝÙN›>~•L9u#úiQ†óõ©çƒrTZÏKA)=½5×êªÎµ )†}4”Â3+ËŠ. ¯gæ§« å_VÓYý¬¯êZ×ß×5nû®ïÅäÛIwÀÒ7¿gn-'¨´æçQ/CÁ­ñùܬøÅ@É­l–¼8ÀãÄêê(ï|H¾k¯^ n­ú!ùõª':ç ±ßð`\žym֜ͅâÒ>,[ó¦~skGlPõ•µYÏÅ;f¯ƒâÎ8îâ›èÅv„ÞRÙØ”zØB‘ĘDŒš‘Zr×SÖÜ_së|ÌÊ~=¦ÕÍŠ›¡ÓÙØ;ÕOVOŸ(ªWUöØýùßžê÷üSý÷xÂw×üwý16þ‡®ùï.zÏÖÑZ8¿uÍ¿ºèï¯ô»ø÷4Ç;ÝÚ³†vûÇ.ý§‡~Ž<žß‡¦^ƒ$ÿoC4:ÔÛm›þ*ª¡$Ž_†k{¥K{ÈÈ6¹&,z?óP;ÏC?ÛЩK€Q8séïãÉïýKCd뽆EÝy/óYlË|îã‚ÛÖÎN¬‹™zö |}¾BЊû*h¡áÄ%¾é³ï!WÎÄ–>œ›aèòïhÆ– Ù²¼È)î¸ð+ ù^ŒÍUÌ÷Ã~-\©N6«ó¸}¶æÖ˜}27.­W‡âÖŠNòÔƒÅ7¹4útWqëpÊOg®„‡¶óAOÒ•f•×ý,(Çë×Õ)øÜ{Ú³e÷mí§×Ø&çœõJ—Fp™U6¿÷à&ï/næÔÖ JabhB+-½~üÂL¯¿_¬!•¶"hÅý±±âìt>ZqÓˆ+ +a{°ÀîC ëK¨×_÷ÑáÖß|ªÏÇܚö/{hb AÍ¥½_Ûä>îþ>÷ª'§öh©ù?=Uõ²°ÂÅ>üyüúß=ƆTÛçÊgüÖ£>ü:þ4¨Y§tÔ%™|ˆ1úÇÁwñvUƒ§÷kp4ªš¾éL?Þ߇[;Á3l)–Ø¥˜c²ÉÕ%~ˆã)éÇûûQ`,‘·h9ýs÷²æ>®7Ûã‹+<6 ?ÜËë×ν8‚¶óM××Þ®Ú‹réá÷á»tRKv^e–¦^ÜQri]Š-ݘ|br@L•IóÀ—,ŽALÊGBcØ‘ßN“âÑqZÓB½€¾ÄË&Ù=¶”Xîåu0ú›åSÞ\óÐdů«iîR—GúUž77ï,M*•ˆæµ—Bk}_¥,êg®üÉt¤’Q™ÇoL-ÅŸ»+NÝàUBp´äÒ*àÚÕÉ&U΄Th C+Æ ”Òjcá²ÉëâtãHEW|ïVŠûCíq×Õq®›oW©}qßsìW+ {}qµ%Õ>&—ŽöÜCj»ì»VŸèÎk\Œ÷%—¾Ôï}+D`\2DÀQh@ÛäÚo¦[ÏŠ[kÞXwô÷OÇonÍóër¢DžGÝ8IÐØ÷eRÉÁÉ>¦’Ÿ½>xÀX[C¹cÄ“þ¶à7«¥äÔy@²;ÎWò“Ç™¹¬EE1²€žbÛÉ'†¿—Öüau–\úûàͳ§X<{˜uò[éPÍÎóSÁý™·@YñÎW‡äÖ“>{iÍ5÷¸¶¯F}´',0ª›ä*l™nÝXé¤9sýyÝLy³!8 ¿§BîïçeñÍÁËÑ’ÑÔýædz¾'$…ÔÔ¶´;÷ª¦N_ŒKœ]ë°_Ç;=tW+Ívçóy§ËUŠzüÎçýNÇÛÒ]uÖç?‹[o\Î[Æ_¾\1›—Ûº»hJ)—­àDЧh¿¾"Âx‡Q%d[8ž[*^«n¾JÚÆÊÇ•R+C¥Ý0è8ÒKM=É¥#úe¼ê%—Žz>Å­ÕkQ\Á†öïo£=oÆãÔg…Ømp; ˜[¿¼íî·£B¼%·VÁÂ\êèLFïæbvÿ+|¶Ö¯·Ï–uû•>YÇxsølméÿ‘>[óP ÞÒÑi¹Ê¢ÏÖz|ñQ|sG4wáI÷:´$wÎBÂXºb%”ú':ÂO÷‡ßt¼º7(Õ÷[JÕWÿ ¥øz•j`™÷„Tº1c ÐR¹ºvد¼½­X| áde=žüa*lš.c ¹~Ñ…Rö;hd¦SÿKáG·G¥¢C]OÙÉőɎ¼I.­.ŸäÖé–gþå–—ÜZß»§ÔÁù Ò‡]¢Å¥ºxOÍÆFŒõ’ož¹µNŽ¥gx9žW©ì DF(eÇMAt÷ïN‹žž×—S 1ÇÍ­ÙmTaý¨6Ûj¿N·&loó+å*.csuÍ*ë¹ßÕýëVþºõU5üöÕ#¯¤xÙ9ØÃ|pØÅ†4Þ$gR)ôøŽ4˽ÃÑUbHu«÷¼©÷ºÉyËŽzéšGߊ sdK6Ž”å8Ê÷FDuüÑ|;ù2ÉžŠŸµYaÌÝØ(%¢”‰—€?l8BwhÅÒ¡Û n‡ª'–žG¾¤ù›¯Ô닯|¹ûYßtÛù¦›ç¨úÔ¯¶_«Ñ:Ö{ëkS/<ž7¥¼xqõëBá(6+ìã‹øÈ--t¸Æ"Ìþ‰~mÕ£YÏ2=Úþúüçø 5ùׇà¯|†ËärïÑSåd×>±äÅÿÝ~ÐI*ùЗ`·QQã6•œšsR–ýÅû×0æ‰çLø;Ñ’6ùPœ•.=ÙÅ•6yø/<[ºôâË‹ãu\p 7—öþ&^­æÀØ6¶z¥OHÕ1Òmc8ã0Ó¨Â÷ûÌi+ ­SC«›AKzôãHÊ𢡴 A+îé oùž¸bÆ’ÜüÿÀAè=› ='ºAHøùF÷ ?î”ûüÛ©öoéTCƒ53íæT|É¡ÚfÃý?Û]\îx¼;¾¥Ü|K@+H¥8…†©®d:E1Ÿ°NT#ß(] hÆMI Ü]2bÜ;¦6Ž!lö Û^|Ü Jù4i yšZh`¨Öã½?nìoà{àúSàúŸ×#¸Ðõ<Ù‘Œ^å$Õ/‰>£Šžè†èšæ7Iô[c­ê7׿¾—ñõ&þ}ùOz™ýøûò÷$ßAþ{›ˆhÙw†G…]Ó-h9uª},…ÙÌ?^EÚÜEþíÏ}ú â— º½–MÝíóï\6ÕÛ—{Óo˦šË“ãÅ#›#´ØY6¿'O{9ÕÐûrªrS[E)ùO˜nîÿ¯‹©2lù@M— AªJçÅT—ÕMŸC)9Hpc^L•ƒ¥‚Rp o†VêeÌÅTŸ_¹ÈæÜø–»ÿx1Õöæº*tVÛùõ‹n cãÒXÄT²èù|äŸ3˜…¶Éý}§›ÚS6ùÚS½Kgº¸µŽ+æ ÔbªZÔ þM²ÉµHj¦KÿÃÅT''ëÂB#ŒÔù¥]rÉèò{"·þíxÌ}ܯ‚Ýî’žãZuw¼¸ô§\íX2 Çþ°+Þ䯻0¹påÅóEæÉo/«¿›¿ïµÿŠ÷ZMM7–ÔâUQ”¼ÐoNì%Güªd×Ý[îß7³ÿö7³_ÿ€·¥Î!u,¾þ‹ Ÿ¶Í 7z!˜R"îMoAËœÎ_\N“õnZU…/ñâI¾Dø_$àϱ¥… 0Ñâï‘ð³^Ð|?lwËS÷¸oM}iÀ=aw˜¨÷ZáöëE)z£ÌxGV¸aé®ä¤×$ŒŸ7.*—V<Œ§^‡Î«t¦Ï¯ï÷l[EŸ Ö-c{‘¶øðò¾J‡Ž/ß²ÉoÄW¯të!=~ã°yš>mÅœJn=y\É­'cNí|¾3yxý걇ùv|<ÿžVó1÷°¦c%¬QTh¶¬¶öœÈäÒXïjnÜš—N;C¹½¸ÕJH…¯š¡ÕÁ5t¬R¤5òV÷öý;xí_eÅ}|æu>'‹RZsOôöméÛôþ?ë:%—v>j-ã˜ÑÜØó÷Ø6Ä[-…'àY†ðb× ¢þ”árâïŸ ^t2¤ ovMÁ/êâšd±ªNB©¹˜F(5&çðwFòç4‚±\È(HõÊA„ì© y4PÄŒt5©“àÑWå)y¿¾k‰ oÆ_ð÷ Ö¼*ÖñÅ©ãUzÃ’a¼ðëQO2×¢›<ó9¤§Òqÿòºwgªh·µ‚PφŒBY$eɰò;ág~óBìÔËÓ]KKLIÍœ½E´lm]\€¶¾IÂÏ„ˆQÃ>ktÏs½xAÄä\šÀø$–|à/Æ¿Év;3‰Â!äÎùËëŸW÷øÎ¥ãõÝâæÒKìÌ­½1Š—nšuÇîwé‹®êÉ­úb;>ŸµsÁÜzt K˜Kv„—Üwqkwævfþs;óÔWêx ¥tò°Z ¦ôÍ΃í›>5ìd»q OméË ‡—dwŽáž-=‡—žÍnü;ÃHK}ëëk¸Šo¢¸x—\‹ ˜j ¿‚ÅÏW°øÎ`ñ‚ÝKÂ_wB©9~i6°G!ß;±ìsGTU†>ÀRZc·¾4¹u´Q‹)V¨AS,Uqp=÷~·ÆRlwÙ·[O–ï´ÛtO‡Æ:ák;>N¶óq–5Ð;Zœz?î°ÉöÀÖùJû¼ÓÆô~嬸À=~%·ŽãÀxLZó† _\:.åjYÄâúЪE¯ôÔNO.­íºJU!áRžYÏR ºÓR †3¤ªÚ‘ÕÔfÿÅx™Û½²° œ äà PÔiŸ|Ã⇠ގvÕéüP ·ùmS°”—º Y¢×*Ó <Ô‰øÑ¿„Èë 7'CøÙD\mA©{u`‡l_¼ZnžM0q\Þ[/æbä˜;fÏa!#;»ý‡”Íæ¯næçmÑiÖÞéÖ­û¼-8Å­/u“o6»Ý[qkœ\[ð<;bIf*ÞýèO>Ôo¼sé9‹K 2›[®ÓR9ÿÎñ¼`”__–ô¦&×£M½ïšªžÜZ!¿“[c¨êÚ¸õqòÔ.]æÒß碜ô)©,±…7YŸ”J½¡îp–ìG®¯;Bðsþ±|¢ Tã D@ö-R—oûÓµq¶˜¼ùè¯wUqßxÞ¾ |5ŽS½Ó ý‘|Ó\„×\ZWíâ;¢‰dt-CNqš¦Ž4…í’5ƬþÂ¥oü8ô³M³’ŒÃÐ>TÙ Z±®ŒR¹è+ý‡3J9E3‹•åï Ù51¡”6$(¥]þ~*•›ö›öÿdMû~¥ÿ‰[oÜKNöÄ»¼ùéZ?¢‹ÃæiÍò£|5µÓ“[;à[Ísj~Þ¤¯ÔnÁ£$·Ž«3ÎÍŠ7FLna"bqôâùö þjM¯«{êá«’Ÿùô°#°¸täü±‡µö“¿w¾"ŒÐµm×šÛ‹ÈÆ s9x\>óÒ'¶æÖÑ—±ŽâÖ^ ÍÖ|é1fnÔ;·îm/]7—Â@¶[b^Þ¥¢¾Æñ»äÖ]ïNÉ¥cùì>‹§féCÇx°ºt»°ëç:*ÍÿÀ—æÿ²—¤½P¥±_/_μ>ßGþ¾ü}ùïxyØÈǪµ¦GŒ1…iÏöÚqÌäÿ©¯#ŒNÛ°xrç²Éxx’9 r¿W\Gb„^앜Z.›¶è¼cÅØ5Dܵj2ùƒ Ò¥Ï¥1/Yó¥\5·ÖúÂ:xŒ˜-Ÿ´Œ!_Oä÷éÞ£†C6¤ ̘yDåךÛ~º¥›¡2‚ê/tïÑÍš‘fïRš™&Å.¥:ÓGï M>0,W–gËre<9q‹ýÌ›tÍy¥[;úLZq¬›s—~èЦœrê›JÝ| J)ÃóògiSññÍ£«|+ä°¥³Èçî²ó{N) ~zMï›ëÛ}Vàþ}s¼VléÐz!Nk>¾Ò¥qò;×C!Ó¡éµZvãñº´§CcQ„4EñR©|±ë|}CÚôr­TÊ}ü›láQ¢$Šðôø<±d6ø©˜·´Éf•BÊòàÎ|]í:Õh3õÓK6l÷ Î'^ÈÜHýâ~ñÎU§ŸV7Uré«i*lÞ|KSi½0ó‘•G˜ÖüÖ‹³¹ô÷ñ˜ÏC wvD@û|0½’®¸È·Ïu;gñ\íLùÀ+ÍÄºÈ®Ý s!®¤’lÊ^§^yWÙã‹C·7ßõ‹KûôÌóty½ËñF >FÇØ:ˈ6yP [~®c‘³1íôG2–ôÄ+˜<æqmm“³¦å›à*éâÖÊÓy`5ÞèÂyØã´š MGQÊxÅZ³Œé¡>!aI,œ¸¶© ¬5#¢E´mD9³ÞTêcÖØ `‹ #!ÕA—›ƒ5xô˜«¯µÂú {¾1"¥ðèM-yùmB¡ÈŒ-/v¨$–¼8°Xòcñ x¢:[Hèꊙ$¶ÉÏ(œ•,ÉRY–XÛ6•ôžá z×®sWâ©UròûÖ*¡y÷VmwyD;‰h% ƒ½Í-i栉ϯ²aù2 vvNßgÄÉO#ŠéŒUÒ”úESªxºèðvPéÒ,ܘsñqV–X+2$¶Ö¥²ærSK.}±I=õm½ŽöâÖë Oóâbe‹±ÿ×À †à§ vBª†Þº4‚ðUOHu ;mq©UïO,õu~Õ’ƒe7¾ú;=4¢ˆŽ²;_Ç;šoleÍ98R\ú¸”…×?¿Ò­•å“SƒJکɺo.=ëû©á–~·>1ŒºÝŽ"ÎóšDû»¸tc¾¸´b/&·vv'·VY–ü:IªŽm>šý°}W\Z+ƒç¹XìN+nÝðîPçnísf‰TQ<Ðÿ•*v}C©8Îu„ÂÁª„n¨óâ$ 7”Ú~€ø+7½²ÐؽŠoáZ2w¬™+n»íË羡f_ëí@4_†;ÿ1>Ðu^ Kmß´ê&¸=>€¡Í=@‚R G$¤ú 8VJùÕ•kÇèµö ­^?ÐÛ-ßëö\-ú9á:˜µkµ ÝÏÍVŽ^Áõî­IýùÊïWñïÜ|5׋pgîs«§@î\²ÂV•L…sª_<|5ËlbëÉþ‹Ýz$üع5ë³²â.É­ÑßõlÖ|mýaOi,vþ”Ý9úɶãüR>5…%JQþ¹qi…¡(. ¿ôíû©vl˜oš]ÌæÒK±AÌ­o×<>¿B×·nìðÈó±æy0j¯¸ ƒP “@ç‚*1ÙæÀ‘ÉŒ/(¥Ä ã÷éûŠAy ­.®/A'Ü8#ç­¨¤—¯H¬NÓ¸Ó6níÂR|+DÇÌC€s'.ɼ J-TN‚Rãq儺†j hö+•ÎîÔÞ<ÈŽ ‹½¸µmKN=r8rë¡`;1²³4ððg/Cx" ’¡ÔÂ$tÁ“ ÛÉ’ÐØÃ‹—›ñ–Q Œ­/‚äÖëaÿ\ŸÚ©¢)zpÒS%/vt3ºZ¬ƒüÌ‚TŸwߨò/ôU}çóîc¸3y;{Aª÷7½mnt ÀÔpNu6 úJðºøri=Ÿqj$5­ùó•.GàQ6¹Þo3ÝšLYsvY·®ì¡-þãmôçìiȮوâ@H¶ˆ1'Çóû‡d+&QÌ(õw~ÿ,Ž42úÌØÄûíÏ:lÈàCdDs&›ÿÆ“åë‡d<¡<¯t°ö_?ˆ1ð|ì@Ãìgö²æŸ†ÎOËÍZ"ù, Õ4W7­p¸ž´¢’áÆCpñfXBëfà qkM¶6¶ÌMêÛÒ˜E ÿË8É Ã6?MìŸqnV|~¥[Žê§=›=þ¼sgÞçÖýÁ`3ùsa“Kß痾痾û—Ž™†/.}µ7·v¾˜g>é|â<´)¾¿Žv•Îóæµüܼ¿Òh¢ô‚”¾N.FJå ».ÏÑ7–‚7ï&ܹëVÈõ@ ¡! ¼› âN»A|òù;|žq Ö†~Ð×úë§*©Xæcæ&õ©V~S*L´Mà121É’{×1€À½¥Ž*–ÄñxŸ¹¦·Äo ô,q’Š>s?u‹¿oíxð#–éQƒ}í¶æ߬wžNÆ]£!á…rà&CÝo›\·|¦KÃÏo”M~Ð+%^%Ÿm?þ½yêÎÑ Ûä:ÏL—Ž‘¨Ÿ°Mîrû÷œ/1$±OZßï,ßX®+€v7B„b; ¥Â0³Md–2Y4óÜ×Äë:ıò˜>ŸâÖhú¬â©&17,½Ù5ˆzTº¹uø\Ȧ)˜.W¢¡Ÿ#ƒ¼·íêw橵Ÿ¿O—›Kw.ÿU\Úe/¹´ó)œà&ÔËÆ[ÔÐú»†›Ñõ¥pCÛí ÆKÏó¶zÄôþâÖ§¶³ÙÎóÇþÌ­½ßÝnÇÍóh¢GìS°`Í­Ï{ç̇ùâ•O,W9UQ†i•YÎLgÒžÉÞXïïŠÄ™wrøº÷zÓ «©{i;½•_éÖë^Å­‘¾Þ:&øŸWÙäí+ÝZ×"íÆãšíé¡îâ)»sÝÒ¡;³%íÆ±ˆ*].R_*ëÉ¥áQÀóâ=}ñž;u/˜§¦Û@Yqo×<5·‘»\úEçFÜlÔM7ë$sëÜ^ZqÿÔ’÷ %6Z<Ñ/Ü<ñI0®@Á½\ôIúðCØ‹ÁNÞ|;óý¼öãÇtS~ÝçÆ¥#_îí<¬/=òü¤}½Ýqëy8ù<4·^ò*0·þ\_<ç’[k´>ÛZÇër±ä'’åÁÏûLÖÉæÖZ©,íÎã¼öth–±<Ï®çy̆ө±6œ¹´ó#·¯í¢WëüóýríõÃQõAç³åGñÙИF¬º¤aÍcáy¼…÷ô&;߀Œ-;£F¥!=jò)r?û'›Oç{o°Âó£UÔŒ¡}° ãÀ=pé±ÚFYãùë>·TÊS]Ú¶ÆÇþîÝ9˜¡#÷ ¢ÝiT߇à/-ކ˜Rêè?ßÁkHÅšö+"n¯kãO½>zñiwÁÐ7œÉØòàÒ^峫 T©ê+ý ¾ÓŸ‹?W•Ï•cKl\i þ\{ÚÇ|´•qîð¶íïs4!Ëœ=æÖŸ þsmÜúŒx5: 5¨ƪߙ§æ~"»ÑÜmhæþt~Ž8l·þ&ù¡Ï4~ôÒ¡â~^;ŒÂΟq¸qëÎ{V%Çy]·ßϽßb³ÿV–yk²¸k)0v=ONa “˜¸ ‰~ØH‚¨ø:?ø¤üAüܧ¼Ð7cS©ÉqÁKoÍ„Ra.ÿ<*A„ÊR5‘–˜‘o 2±ä’mIOBnv°U3'3ºÌàf\›cül†Ýš ¥>Fj‡Ç+í0”Úàû|Ÿú†yÒªô“KG´áÞ‹[Ÿ“.¹tô¤DLk¾õ´¬§ô硌{ÌÜ:Î%îµäÒQ­VÜzܪ ew÷øžÝy¯'—î® 4Žó\ªh/Þ9.ZTÊæS÷˜hçü¥ÅÍï'UÌü>J­‹Sí¥°l£¡•ŽPJãýbÆ ›"Ï,\ò>7J©£SñÑ Í¢Í”pFC`YtxGÇIZa$Ý(%ÞÒ Óî÷-7ÖnáØ9¼Óéc×õW(&FýEF>oøqZá†M'¥D»´ÌxGVaÖ6Jy.º­p4zïRbÖ梭˜šãmÅU¼dT!†R[ènXÑ,œF´aoQPë]L#”§sE$òC$°ÖH›Ü'ëtŸÞ„ÌF£[Û×;ñÍ­åe\Gºóé³áÉ9gc½èXY@‡öà†ßûñ~]Ú\øÊKRÊèhZE%#0ü³QHl¼¶ ¯(q<èûŒé§s|1 ~ûBÈÖx_^ô1‡39¡¿/F¡ÍžZt»þº 'âñóMusuRÎË|v—÷|YôblÇFppôJÆÀ* F}‡ËU%¥Œa©QTr"ÐzQI.…lZòžU” ÆÇ5•ĬŠ:lh¬ñÐê8;­³ :s&5¶üKµ¨Ô»1lx½ÊRïÆ0!"S'”Â}¹›Ÿ;›‚ï†Â«1ù>0ù"0õ*1õî`lùþ²^%¼õ§ZÝ‹—úG—†\:Zׯ­£9ÏíwÚ–KÅ­£9:¶ï[Ç~lß·ŽÖ½&IÑšO b·V¼ëäÒ¸Àwqk‹äÒ­±Q»‹Y]x8É)ù6ò÷­¾î;Sm{᎙ —¶O¢}aKüÌïÄ߯9‰ñR¾@1½¦)F5)±Ì,k“«c”Ìܺ³w7­¸ÏѼÎ]=Ù,ë¾ò}Èå4Uû¥_¢E­t?Eóo¤ì‹Ë‡9Ž4¦p*ê‰-UŠmLŸ>©ýReTîùB1–3eP<—|ô%·Fx†‘¿y’­¯ú¬9:fÛÆ¥¿Î=©<`%q®žœ­q [­eÉ1ÏÄ–ììLl)gÙ 7ï®»òSM¸édjY1Š›™dwºþ¬ÛâB#‡&2B)'³’LB½ŒdšHf#ÈwiC*Ü_ÃP ÏÐÆ vÑüÿGVsgÖUe“Ë}*Ó©û34´@›üÖÂPN·>qÜÖàþxÐÙ‘ŠdI•«†–LKküÈyY7pÞð¬AŠKÃê*nwÐíûÖƒþ‘/ÞôýÖ¾8×^êφ)yÒ†T>?}%7ÐÐxÜñ¡ýauW ¼á]!8iŽú9i× K¢Tœ§’¦áÞùú=aÒ¹Ó²»/-9Ê–XòàãÉØòàd’Ä’ŸcŽ{߆㻭ز߼Œ%c<Œåàÿ)›œ®ÿ•.íx8æÖ‹m Ö{nû¡%xqõ ´ó¦ÕÆca´„T'/Œ`¬üs©à_I/´Â7W!HJy³½,}™ˆõÞ‚ðóÞ‚äÃy\^Dr9¸Ìî·èDz5‡OÖÔUh¥3]<õ…ž¥´â1wõç®ôÔƒýL¶Å0¥S>m­Ñèö*.~ñ7·¾oÍ´ß4}´Ý<ÿàÇÆ¥c6|Ä­=ÓßÜ:–-yqk¯÷—ù{2@rkå«ã³Öqùê~_V iý\…T%ð¢oŒKµÔ ïXC©‹ A©3 Kµ,ÿÑÑŒ§"º8¥¢]rå7¥¢Ï²n)5¢ ©¢y¹ýœJçPÞg,EUªÈ­gŒ†-x’ú}F¨´ aE-a¡qø:µÁ·½ø§%|yö|°JÅ‘bQ½jaøñ’'È*k~êuä|sIúb@’´oês:µf\¤5_zÏ7—¾Z ˘7¸_WºõÅ@di‹ãµjK‡Ž€fð¢¿qÜŽá% ï`ê'0—æbEmãÔ ‘—·ïKc1 X€)yéxp˜—æV\:ª<ÛñÁ[nÔu2O}ðÖ4O;âÖ7ÛëÉ¥}ÞßåbïÿÉu\™& —ÿ³ìƽæ—Ó¡±Žî•Îs—lK†Öϱ|õ~™uywníËŽp)è§c&ûÄS³-ZœïûXXˆÜ:.?bÖ%§fÔèÚ¾5BžÛ÷¥}{ư΃?ŒiƒÑe…£z£Qh~WUøA+‘ËøEÝy…S+¢ÒDy;cL˜N¶è0"”B½:wÓ#+A)¬˜†0²ûN(Õðš¿À({¥à¿™€u ç•J§µA¼î`4#LT§¥°ïâH-ÕçLT”ŠAšÌGgà RèëbèY9q%c Sª¶£UŠ‹$%¤Ò ikp çÉx¸#<¤¸tW'wqéCJyP’•ä1jÏÊØ,N²(9qä[žP±è&cAfuáŒ6ÓO?~+Ùæqš?ý.. »Î·?0˜R\úŠ­&wáé©‚Ý! ßÎ]AçRõ½ø®Ûö}k]täiå<<„ó¡+žcÞõþºö'B-„çWXsëŦŸkAU’—ú7½UWÝY%.+_ÿé øÓϲÂc6šRÂD…6Ñà>7ÙØ[,œ:Š Æ&­`>é¥bfž:ÞYŸú~ꨊÇQÚûñöÍ­õý‹nøh¶]¿8ßOŒ‚ç&D¡Sû:_ô"¡Å9°¸5FTÒrþ¢¡Ô:‘³i…#ÄEAªc²¹h Ú1W­%µîXSn”Ý9ê\º¹£Ö|èµkÚäÑ >·të°×f/Æ6ýÞNò îÝ/Ž `´´ù=¾S—Và¸4ÜîvÛßß³5Cé ‚Ðä1ãj2O1XéÖùûùÞ®·sñQ‹–|ôZÝjšï¶Ñ9h´»¸ôl \f›ü`ÇJ¦[ǵ‹*rÉscßÿ˜ÅSó)6¹óÇé֬˚3_êÌŸƒ!ù=kŸÕ7íUùž\«†¶²æqëc²¹¸5ü^ª2´UX¾ý&¶äJÆ–—˜2–Ô­šÒ»ö.Í¥Ãmß—våP›µ·käàU%ðU"¿sêÚJàþ½‡ñ·¯›Ã¤C+œ¤5\;µ¸t§³JÚä|…ªtë‹§ó⺃ݚÜ5ÇÚ¸µk”ŸY¡ô 7‰Z+^U"ð¦yêÆa[si×tæYó©&Êß{ûXaÛ5êÞ†Éðpáóó¨w“J»Þ5ÕÇ úøÔƒU¿Êk˜×®¡uÀ§’žW«ç»»ïÿüün|:·÷ó»ýþüFh@z]Þ(â’]D-OÍ2äpg®Ð1Ú69«Hô‡ µ"Kš[k¬>­¹#¹µŽ¯Ÿ§ò Ãc-ÍöTR&0ª‹ Ÿô7»óKöÞ´Ï|?ÞVùyðYÛú›7£¯âÖQÛ=Oqk_Wm "`Ê&Q‰J>|‘2Ýe ÕbÅûM}¾HŸ¬ø’KÇUT`â©Ñ3ØŠ[þÞnf²4¹ô-‡óÔÜe¹/Éžõs»¤û%›_zUÑÈ¢ÃáêâÒSIÑ¿›‚Âd0¬k+rÖpÔ÷óùD“a~ÞwBFØïÇŸïÇ¿¥ñöÆ»tG˜‚;mŒùý©Qož¡?>T¾TüM¶”àSwU“HFô`ܪl= –³çQQgäÉIéL/}ðíÉß·Æ›ëfÍ'C¦MÞ‘u•.¾‚ C+C/äÖèxE©³ŸÙìË£»S·îÉusôhæ³'ÍýW®+—œ(ì2¦(‡k¦ŒIQ(þ¶æÓîvæÒZŠ+-Öºoõ=ôZµâZ;Š[_ (™ÜÝÎOqi¼´ËsÛÍãP-ž\Zû™ZmæBiôg2·v&§>ùÐ3–Œz$âJz1Ù¡Aïý;Þ‚3¼_õ‰sqi¦2W~EFpʳҔòAßÿæW°H\OJ…ã@̲ΠŸ©sâ•Þ_GÖlLGߥ`8侀ñ‚CF`I´›IDæa&áLÓÊWÌ´7”òxì:,eV§cŸžMë4ÙšŸì(.›ulv¾¿g+ŽÿQùÈæ÷/ŽZ×(V™Å¥1d0ŽSãÖèÛv¤ã% + ¹ã@D ¨³ŽËºõ×q¦îJnݹÍý¼´vlæÛLŽ[zãÝsæ£9²s-T×)ÆÉˆ¬ûájY´Æ‡âM8Ù:šslöy/¿/ÞÔ|0·ŽÌ€¯‹íHWä×vÌöçÍ¥‘¶æm$GỎ¼FÍÚºäâž©$Fpj’˜ð~&•¼Ò”2Öhê•Å’.f¦”º*ˆ¿…¦ÅƒÇË«žE•H>0¿âÙ85™¶zØzŒ/œô¨fêtfоùÃР&.!§^_së·G¿ù‰¦sÇ0RÃCÈ6¹¢!gºµ¶“69ïîJ—Öq¼3/ÚCï§Žu®ÓæóÜWÃùÙšëüüðËÜ<^ÏDk\›?ëZ}ãÔ¸Ƕyé8ŒçÚ0$Ì|SžÂ3ŠJbÎHKüÖ¹­ÁÕuõ£AW¢ÈÜ‹×OjA*ý@PJkxþ [R¯(fÚ†˜”ö†oè·ÊÞ²u/Ãxš,>lžª;³%Ž…õªYÇúË+’¾(^vÅN#ì¨éÖe#ˆçÒ*õÛ Ç³oäv:<>àf³AªÖ·]Y1Ž¿!UCYÉýSqyÔ‚œW~3*ƒà­ÉÛ9°³Yp„˜8‹[/5HÓšŸpt*n­ Í’×ù‘[3ÐAK…Q§}qéÞ¯âÒË©ÍäÖ˜?rmùîüþæÖþytC! }çŠK/Î/¬ë*®ö¾qi_wo·ËÝ^Ë«¸5rÛ¾Ÿºsü2Ïš3Š[ûxµç–K—C•¿xÅ¿¶ü²öý`ž÷‡Ê½Ëû8Ô”üº_Ì;=¢“[wú½¾lðF§½äÖÍ35þ?ö¾,ÉrGö;f©qÿ{>"²»¦[Ýý*Í2ÂHŠ#‚*æYKX ^•H•Ç™ŽÑ7- ÛM,Ó€3yc}œìcÝf,¿–FE¯Ü:c X‰jPöp'þ‹M˜ \Tœ¯²´“À”ÉSµqß ¶ö„Á¦ å'Ï_d{ã‡åC͇îc¶pãPžøâ_×(¼.ÀzM „ãÙsx‘Bð ˜гãgÞnÄÙ£H#¦KoÀÞ¹5<"D"R(°Ü¨Rˆº‘BŠ™†ã Oì帓4˜€ŠÒû0 ‡©)OöË<2oŒ–í|ðÎSäqçu†tDÉ «e-^ø ­­³¥ÜmU|”L^×g¸ñÆ"”Òü*ÕÏ%^ØáÉ+^qÈåÊ3ÔàÛrጧ¤x˜æ®ÅkËoJóXµêÏç}Ðë­%‹Wº3ܘФx-Ò¾Ÿ¿ï¸ŸßÙØu&ëH«C+÷°„•ÄI+E¬ìŒ’¢±¡±„p±˜~¡¾?At¸‹v ÛØ.ì\‚ÔeÉû¶°u¸o¼ÌŸx=Ïyà»Åüª×¿hn¿šãÉŽÌ!¥ Dæd 1).VùÑXBÔ”bcÇqÐÉnu£á”Ea‡¹9øéØšÑy±„<'ÅA¥Æë ¢#zkc řդ I–ßvO;‡7µD±)’Gw%)tÁÑŒï‹)è¨Û)Dƨ H¡ž¢˜ÝÎTå:Ë̳HqøÄ¶Ÿ >“9~ÀϧŠ:&ËaŒ2ö"‰x½8=vÅ©<Ô-/éGáÁÕ¨]u»°j'…Ü7®ÞÉb~j#UTàc/Œ-h‡EccXZŽ}WÙâÃé³Ïq‡yákãÏ2ƒ9ÚõƱèwî/Œ ’æc¬+=÷ÝŸ2›püœrç„yc}ìâ…§l’7^¸¯%Óo¬tgŽ×ˆ/¢ì›œYœ8ˆòWȘé[NgW²øÕ1VøêÝb³Ëâ±#ª…o´.LÙxìrjáÄ"•óf®âÑ&‹l­i×½ù¾å†J™•Ê—1´snm¼1GóÉ«t&o ‹‡­ñÂ’7Öl¼xaÕŘ­,˜}qêû¥©1¥è-7É΃[nNYyœ+w…œÐO›…g´p7ÚùCÆÉ\Q_pl‰¶…›–y`?ÄpèMAb2ž¤PŸs”y Ï1)Ÿ¬M¬GOH!$“í_=¶Ü옦4RÍ’$ŠIulä")3î+óÑø t¹8èX9ï¼öb‰vx¶ÍoCôIɹI¤ïæ§áhÀUk gñÆóÐÒ‹yc.d¤¡,VPq䛕±Yœ\€Prâ•Æ±èšSAVuá„?°å{É6?¨8KÞ8ä~<åàF­¯ÙxãðùõÚrãb¾=Ê< »sW>覎µ)ÞxBµ›¼±}}¹GÍZ½@÷P¼p|s¶X{PÛsŒ«?€êˆýÁ¤"*çâf’á ¿­.yü}A±Ïߦç%A•ï‚Å_ ©Ûu¤“‚ '·Á¤L^Ša JÅýƒâQçH•ÿ£óm#y3exavqXæ^uˆMªÌ)’uÌZ=—_ÿ”Î{/ñMçÝÔÛƒzíñ“Î{ë;l›öV”÷ñK‡­’ôŲèåxÃÚTë$™üö‹Þ@n|«|[6~,Ïp¸3Þe«X‘~Œ“Ìç8IÏL~>[Ôä_-jÖïÞ¢¶ë¿5ÆïëÙ˜l Ìê­+ãu?âx±àÝó‘"@æ,âhëÉ×XÛŠ‘ø÷Š“ùÇ ÔÙVŽôœ¿sEi>W”f_QzÊ¿Ki¼öÖPÍ¥Æã5^Ÿ÷_¿ò¬§KÖÖ²"|ã¡>㟟çÌ&šçôùÌÐù¾,IR(W.çë ̹^aãÈŸ4öÉw•ýòTÙö¸®²OŸBO•ý&µãýRÙß›*Ÿ‹öí¡Ê_R•OE´I¡¥TùK¢½Tù‹‘¬Wì´ÿŽþp9’$:ŽÒåo‰š.{ëòeLþÔå“4¢Öǯâû°bµ6]oêòÅÓå_ºüõÉ£]‘çÁGû3´±H8YhïÅg¸x­êol]¼¥u÷¯ç˜?ÕÿKtÛ7í_a×*}~œ+?ñÆÐµíízÙÈê>îBY+~ÖÉ›OýÕv­¬ ïtb^Øï1Ÿïu±Ò“¼°ãítû9zÏ\f.@¹‡»h ¤yÇ;ùL‡Ö\,;¿UÆÎ_æWÌ ¹Ís>ßk¾Åc¬çƒ9Ö'ùà@ðÁŸÔ•ãˆióÂ0;Ôf”˜8ïtõLˆ-“×õn<ñKŠ´ÅÃÙó*œáâ+^‡Æ®‘_‹”îp»h)þâÞèäo®ƒ¥4/JÔ3Á+±ÊC¦Ï2ùƒ–».üŽyÇÛåäQ>ÎB¢}ñšä9Kç~Ì&?îg8ÖúÔN˜Ïöð~~?g¥¿Ê§ê¡Ê-ü,nöÇx4ëËâåFÑÁ€'·X¥$--’Ù·%ј³–²†cÔ’âSÉ#þ›²Hò¥èŒ¡“M¥§Ò„å¡ï\Š6–§„Ù;Ž6 Ûç㘠qh¸2HhÀáoн+ E>Ô‘?é×–LÕçûîEf ØíþÕ8¢o*b²ûS¼w½q,Zͳtd©;ŸŸMŸSÅ ÃÌ? â ØÙàëG°äÿ+°ñß ÀF3ôZÙ ìifÃ.óÿ¤Ø7ïMPÊo`^¸dŸòm&> ¼lømù6ü2Ÿßåõ``ÅbƒÓî’Æžð³Ý/ü7†íÍæˆÃ‚â…£íúÄÝ0lox‡"§xcÇ÷e–åÏRåog3[¼0v¶rk¼Ñ„¾øýi0™¼›95{:}TͧÚq½vޘʮ‡D³§&Ù|6ÑnÊw/É|_ 1ùO.ЬFÔê‹Èl&ÛãÖwÜ­õöúÄþëºKÈ~Å bšUí¿ VQÌ>UÔ¹¥š{â'?_áo“×—ÕÞ˘ïiñ§O£¯÷(]hQ¢‡Í×JE#‹}‘ãGÃÁõe8( lœè†ƒ3+/]s.Ï?г /c%Ä^Ò ”àßž:v‡Ç”CÎÊfØ«-ÿîG9àQ/þŽÛ#Ü“…Πçâƒ?\ PM.é.ç÷׊ÇÄm†kʨÖ+ñ÷ç¨r+™Éc´E×p{ˆhS·=ŸÉ™];ªee1F's4þÒÄOéôûŽî07;Îâ;ÞïÆ ¿ã9{íR‘Ïê€z€ëh“£e“WAKŽuU»Øì§‹n;lOàí>–δ]¦W6Sš—ã´â…aúq¤œÚsþ~Nò7—À2܇ìçJYdÈÖxcÅ;yá|.Ý.Üp%mø×\SІ«Ì½±€8MÜ¿¢ì­€œkžD8å`ö)Xó#ùyŽpIgÙ\ŠŠGð<¼ŽbIL¼0N"ˆ9@òò6éí9Ât´5^gª,É'^¸«­xá0ŠÚÛõ‰Oî1oŒ¥Ã­}}רQ‡&Q^Àf¥;Ó/Þé6ïçéþhnø›X¯oŸW4Ò|´Ï ¨’OóÊí}ùÛ˜ô—Â'2©öILT’B38Š#)aI&Ú³†Ÿ–¥]+ä:£"¦X± (úpïXåÎPg^%-ˆåò‘´¡Û–èïîGÛò ySfy,í npù’Ý?‰ðËÉáƹm©Õ^¸;§å‰6¤éLÒÆ(«KñÂÛº>°¯§¯ûºÏ˜kŒ®WÞg¬,“ç'Ê`BEV‚d<ºÂ„6]¢Çùµ8U­½Æ'>-kkF‰Ý|f9b)Ÿ Ï×Ìþ@m½NÄ‚#}è›N˜ÅÀS¯ÄŃWÔ…&÷Ùðr‰'c§M”$Ú§qL>Kš_dÕ˜¼0ÔZGJ¸IÖ°?'y5\n|±~*ÆNÔäclRñÏçè<°YV,´jGHÇËæÞXú[ %þ…% ä.Y¬¿”mŠ… LàîgCwa(¶Á’IÉâ%Uw&BÛ†JÝÀ©ýK5~É ã"Xјßj‡ê'¦µËÖxbœ³o,ƒ+ó‰áNgi¼ñÅnemÝÏAˉ<_l¨›YÔÍX® wº3ýkÝ·ÅçóxX±“¿ i¤ùhPeh³ÞtÒÌa—·7KóX;üdFòÂq¬ÌƒÆhã§ëYšß­Ù‰7æñkfW5C¢ ?m?:¶Ó]ÙUµV¡„¯2ªr¸ õs˜PV¤ÑÊÌöcV5px‰+Žj«_¸²9ÓB8Õ½ª˜adârMˆ#݇Y!5›:Ãj6GÀ«³È|®B÷ά֥%ãåWgPö6,~DLo~matî_QÊ3s0 K3µç½¢pÜŽ(þWïjÞ÷AãÛ.1¶Æ f@ñ /í9ÆÈ°öã›ýH^ççÀz´ó¡%ÌrŒ“´ –°ŽLÌviÀæªèDc×ß(ÞXV–ůÒo8³Œ™I‘½Ñ¶l ÕÚšÄñ;æÛÂ䇌F“·)‡_ÉÃþh¼ð¤%Tñ“«#Å £ž7fyM^8›(ñ‰•ßyßÔ¸¹5…wÏ ÞËÌ éƒ’T£´}¢c)]I„Ý3I¢Ž2LEê÷¥H Hb|Q“@ï­žIô¨L¢Âºî®æPÍ#JT3i ÐÆsÆ´6žØƒÇ%³ÈycÖe>ÊÜNtfÊœIÉ Oœ™µf© =îF8*Wi6v)V{¥æˆY¢n„m·?•zÆê Y,âœfÎÔ©ËAýÃÆ¯Z DÛ“U³ž©Ç¶&šÓ†ÊaÓÆûÞä/Ï #œg3p,BŒªãêWŽ9’àŽ)ppli`Â…GdI˜åáèWÒ‚±0ê5 ³ºî¤¸"JcI^OyœjŠ$:v‹ÐŽóôo.´Á&ÍÒüÁµ¯â…n‰I‰­‹Ë÷ç$A©[<ñ†33ΔyŒ&îâ…§¶ÌL_Üò™—xÎz­?—?_&KX[YŠÎìjÅ ªt&æ‡ç±ÉKU…Ã5«8GcðäÕHœÇ“v6_U|Õ°šÙ²sŠLy?éû•kK•VÙÍ\6Eùaoup¢/ä°íöv‰§ˆ9ÊMG‘L¢é11Žl;$PÔsU» ‰ºÔ"‰ô^Ž µâf¦.›»XR»Ñ¾c´³9’n]I&RK,ÖpnR“6Ôp]¬FÇSŸR—JŠ­òpà{¸Év‹|UJ”5Ï¡Í?ŸM:˜Ðæ­¦¢ G‡”R´áHZø3èÀÀ-ÿÎ5±1"{cö+'IaáC$Í2É&ôüfk&¥¹)•Tüý\LhËpŒúZaø{õñ?­'Œ’õ„Ùxá×z‚õsز³¬)ͧ‚ÌÏñý¾Þ|ÞO÷_Å c”u4^Øújó©Ç–Kœ©š›øZgظŠp>×N©mJ^xœ4[(^f —vã›.µ‰øojóoµ‰ù·ÚÄü[mbþ­6!ÿ]m"Þx£5gdȹ‡}‹ çÇ£Èÿb.¹=¦§PŽæ ‘†o(G“Š”lg‘D?Ï%ë3?çÛ*[¤‹šsj¶Æ—–¢ñÆX$#ŸØÓxóߦõòxâ~qáÁÇWV^Z‹Ó5*›lŽJLûd´8ŸªÚô%o|ÊùCòÆ\V¨Ì2V&ýͪ–ý¥j‘Ð%ƒT©ÇÌø©j™ÿ¥ªÅÓó,¹}¶ŽD.Uf•…f ™“žA«9@CP³j"*«‹þí\{åòqε…Ý|°msÓEÍ€*O›?_M_ðøµ¸~ÉD"3øûÓi†è LÛ£<âÜKÒŸwžE}>йøwÅo{)F‰/:á ¥_CæÀV<2ü{‡Q,ÅpD©ã~¸Q]¨R Ñ-9]‡³2`°J×DçÁ~ÄRôçáK#â³m÷Cr¸y6ȹ¶kÉ{±×ßp»ËW/É cÁìaÒ¶Ï—Û?h 6^ÖoO“¸‡y_Ûmí°N"3²ígë² #t¼¬Y—q¸ûW$Gð².¿dÚ´-)D^Øó”$ѧtï¶¢yT|iƒÕ–ECÕw/0bÚ‚%ï]ʳ×sÌãdÒ²U+¼°ÏûŒoN¤“§”jŠ¿Jm¾¶’ÉkÀô°Õ¡íÙW·ú"Œž°H"(  H›·f-Æ«‘ׯ‡µØå2ñ?bìóÇ>¥ìþ;”(ŸeÎð¿Îåaë¶Ô"Z™Å-YÓEÙ°„—Ð~/IYóÍ·1^¶D?™ÖUëóƒ…Ýò²°ëftOÓº‡íÝOV^Í4ÌìÛ<æiCó[K®Ÿ-º~k÷˜Çýdîö;ƒ¶§õ›îþØøü–YÝ4ç»ÉÎ˸õ's¾næ÷6üYäyŒñ6’ý­íÛØÖF¸§­Ó϶Gàx@¤ÍO†QÕ±«Ê.1f›¦PSs¨Õ#¼Uf‰iÑ\z€ˆçý”SÊû1/ ­×^¼qLr¶õ!Á/\¡Ì¨Và Õl2>£ÔMÓœm6¼ê˜Àˆq¼tÊÇ˨¼­ú>®Æ¯p]PáÆÔÐ¥„m¶TöV™ÅCm‚m¼z¯Ÿk‹­dòò“áÆT“”Ÿy-¾á¯1*>™iCµ~ï?¨ÎÏ£dÌ»¶µ®k|Ô™£hÁð$·}éPy¸QPæ/쇙o˜‘ñ}|fq³xcLã¶¥ñÄߊG–Ÿ,»W ´Q« GIó;Wœ‹7\=L©ÕÄ÷sÌCi{>òíàÜ•»ÑÀ»¶ßuþ>+ÚÉ ûu± pkAà^êµ)µqáB”ycÌ"Ï»¤ùX8·âáõõ¨ç;¹1 ^×âO®ê/ŒÞâi|Záh^Øé¤÷<èîæªÛšB$_ míèk Ëœ3èƒóöc)r¡ Êû´µûL’(â¼q~~r{óE`g‘B|ƒI¡ç‹ø0ô ŠÙ¼Ì:g¢ÐRl™!§£®^u¿kè<$kÄüucæFï–ªya¬ÿh·&ycYf£c|=¯X%ݱJŠ 4f—Eæ9î=–Ô6ăŠ^4ëO^½Îñê…Žì®ðÒzØ šÙ¯¡_21Ô8Ìàï8ûò/œ¥ô»È¨ídø÷û1þŠáÅ䮡²w G#¡Üݶï})éX;)’è†ý®`ZÄÈ0±©þÌÅÎ] ÿøô L ¢"ûKQ4r=lþz"qê; î$…NgˆºXšü"",œI)‚zޏ¡$9òµBèv“FÔFˆRÌ*³5`Yàš­Ó•¾ûñ`÷ßOŸYï+ê‚iX-ä^‚î}ö5¾M-0ÊÕ þ)Ã,HF¾\I ­p¬r¤k–×™¬!Önî&'ÌgßI~9žáÆ‹–O®¯„—žpp°E¿½[˜õݦóeØÂuÇ7ï—¿^zsí7_ciþæQñÂQ‚cÁþ!·ž#rñ;4áÙ2¯»½ðežý}$OŒøžWJ.°­ßž_ü†.ªxãK qæ…a‚”4¿j«€yãU a–¡šºŽïÏ1Mgñ‰e«³ZL-áa!1¥x,T¶pc?'åñŒ .VzÝX86¡4/ìx˜Ïxñ}.¼ÑÝî­DoIÖc̳hB—IÕvVðOuŽêJŠ@-k0Nõ]9âÈæ@ÞÈ6“BÅ&‰Ü~ÄTâó”‰-!8úJÑÈýL !L¤Ð€-»E’#ºÇ ZáÏo熇z&„He™¢" ãû¼]äÅŠi’'¡ k‡±ÊK˜ÜaŒ±c9l{ >sb{˜½édѬ í`EAÚº,˜Ú›ޱÙyf¡¬TŠâø®w&ƒâÙÃìÏ–Ì'ùÉ\pˆ®Þ’¹ð{4^î½1Pü_Y$U\á 7¿£²^ùáþj©e¦c´¨g+Ì?d†_§Iòõ´xá‹ÛÄ0…C{F¯øCÛKЇ-ÖÐ> ;ܼ1¼¢ž%ͯ³µ‹íº7o¼\OÞxy]ßò#ÛAü·‹d:@´4?v.û&/ÌiìV2¨êEûtpîéHíŸä“¶z²®pò‰ãÝÑçHïoãpc};ŇrÏûê=ä±ÑáÜÉXãâ3å‰>ý{ž‘wÞâxß‹~Š\ÃÓãRJó˜ ¶pãƒÆ0)£ù‹ç½Ÿ“e¬Fħ<*.¥ù¹k \ñ ïdwÿˆob=×ÏÉøù}7N²ˆ’ ]µß“Òüx… o—+Ë-$»¶¯ýLi>ºHxíMž˜ro2tçÏ!ïx'Ÿé`ü¢Z ¡êŽë®°€êRüé˜ÅÃîÞäBù~Žy¬"mŇéIÃÜØ™ÆcÔ¢0ÞþuÞ-DàÓOu±áý^Q4¤3G›®Ù>®l=VÄXʱ6vÝí­ä+ú«§œ?<†<åþâwÉ“Ï lȘ_ö÷×ë>¶}Qw£uþ:ÙzÇÇOÞX‰L0Ÿ&ºbÍ/Åoê­q¦cрў„m\ÑÄù¡}Y{ÈZŸ}_yÌؘ̻ßè^,yãðÉpŒ&Å¿ªƒùh¿`µ3àµ<ôÖj´ù8_¶kGml°ÝOìǘß5&ý´ñK] „ 7 ¨÷cÀ²p€t_¯âNêÚÙ’#¸ Æ( ä@×Ü9fá³°»¾É}ÃÙ8"îå+iv{„møtkû{²DüÈ—ÌeZETlCÓ6²P¹™V^ØvgÆ `©<ïZq>¢l$ H|ÕQmtµ¥ä8 ‘ú˜lëÝÆãûLœtàší¬««ÇΚ¿³aøÔÝ”¹³Q±XÐä¼®$¹AU.Ž%ü‚ŸzîSÄ4=ª·8‚xø‡ g W Â@úŽ[?"¸"BJs'©Å´–çÎk楿?ËŸF)Æ>7Nß¼×öâ úüóŽÂ¡ß Ú°z11’sÓ¶éuñç ùUü3jÝâ_œªÑâÌ8† ùkÒÎ(ú4œJ~Œ’æc¬3÷Æ Gùjò^ù¸×cD_ù…Rnd)4©ßŸ#>jk{pèD¿¨)jVn ˜Å+ót{ò¯ÇÒ’ ±€¡¥] 4©ªŽåYì2M|bƳUñsaݾõþ¢8äéö¾OcBƒþ~®š–r(H¤ûDºQ@s€AõäB+ƒ¯o^üÊ×$OŒo0ö&Y†òºèµqØ¢Áù©†R¼ñêA³xc ¾;/ìx›Ït¼Þ‹A÷Vïv kî»$©+^øPø±ççþ Öý)Åï‡âq¼xÅ+ÃïPèbI~ú¯É>L¼1¬½ïF²M3IĆŠ{ÏÕü³'þB:…Þ¡3+Ûbø[m4Ÿ ¦EmÊÊu€%{Л±È¨,ppOû,Ó‚6£ó·q¡­Ê 8ß[FqööNÏÙ8ëwì%“§yA… Ÿ\‰J™×±‚ãìíXEó{|¿ùÄ+,\RšŸv "Þ–1K“æ§<² ;—œkæ/Ø"]÷ë9™Û™ùŸO¡Ì‹› V´Z"…ô|»>¡¬üR6:_>ÖJÙxl¸háÀ<¢¤øÀ’7ýðñ‡/4’Ã!ê–_x:"Öß÷&¡F|áóÉ'Æ0ì.ÞxƒµVwŽóxÐ qâ¼iá×Cý –±ë™Äe{ò §¼±^.ÚP1Ei>iÂusfz&Y(êšI¢°Ö˜I i1J¤Ð†ñZ’D›íD©Q± 9±Ò¤ÐÄX.I¢8÷¬]ITÕb¹]- x¬àß’çž/ZˆŒ…¬­H¢íâ‰>&Ï_8aYaB4óÒX`úˆ†“U?¥ùð6°w^8ª=üÄ)7ƒ#ú0ÏÀ®oZ:Á«÷v•ìü;<ð6ž¼qÈí~Ê…©†_Åw^ËšÉË-ÀC.>ìqm¼±lc»Ÿ¹AZY¶ î>CÇi"'wm?xám+^xÞì”̇Œ‰k~©çÊLøºXÐÚ´WÇ „]Ü@Ç–¼ñ¼´¡Ë¼ñ†+ùĪ×É »4š7~§E9©4¸`ËŒñŠºmRhÂ|-I¢Oª°s›¤Zƒ+Ïçý&àsÑ)ÕÅþï¦uK—hY÷Û—¡%„#”µIÒ®¦«Båã#_…XdZ0šöe³0;×($lùùWŽ–çÊqJñÆ;Æ1É«˜Œ!3ÌÁݬ´Â=Šæß{òÆøû~Å´k1Áì{mÒ馢ä)~ãu)Éî [¿WÏÛho—2yú ®pㅇʥ¿r,yal×],”Ê5‡)K}§cî˜8…°úظ{a¯eÊÄs7ÄÚxã ÏO §^7À°~±4n)>ß÷ºáד~òÂØÑøÄÑ­\[]oì÷Î %4ŸÛÞÞ84#8ä¾x—àÎ÷’Žëô>ÇgÊI[æ›K”ò}.2¤Â‰aX ã/™PÀd€@t7w ‘؇´&Û ô4fa¶›,QŒ9bm„Âä ‡"… íð9#˜Ðò‡qÆÊŸûLaÖ“Ó‚z†D²Ò×8TpKc q3ão7ŽW˾ƒ¼0ô£xc¸o9_øn4á¦Ý`¦)[¶èn?̑Ƒ,LzÌ'ž9Â^u´:°óÝ“mHK™SCª;O“áƒ[ô-Åûýæ3>Šïز¤†84­ÜžÐ/ݱö nYº£ûÐÝõè›æU®|£ví\*»\œÝ½·Ú†½S–ûã ±Š‡3ö$EÇrÊÙXBèß- ìúö²Xkä\J-€ž'/ÍçÕxã0Úè¼qèôçt|·8-õú͉þOv8{”¥&Ú¦¤¢fn¦Ћ$ÀsèMà¬y|+6ÛƒŽ †EaZ`N@V…%EoøÉ ®øT1«:¿?A4t%tžfÞ’Þw/%ćÀÚïNûPÌCbþQ$Q(ßI ŽÑx_X`šÇ(D´µH¢GšBn›#P®«<Êö«`ŒvæŠÀŸ¼ý€ý!ì…Ìào\H‚âIqy(N#‘¼Ž ÿæ³èš›"°A"–7áYR2ùÜjcÂ…n>17ëäóO:^Êð|®øÓ[Ì ‡Œ¶c ò‡ö{6mÌÁÝ/ŒóŒ[¼Œ£Ýœí9‰=à›O¬tú}*UxV”‹ä…'·)'ŸxÐ)XÆÛXñõsc:Ïñ†Oó‰ÙW<Œùþ¹rãK¸ óÊ|LÞ³ŸóÁ;ßqDZ7HGJóêË“¾¥F·4±)áñòWGÆ^é³LþøÅãæ.üŽyÇÛßOß7¼(ôïlìz•|¯gñ­2>ú>Šwt K>e…B¬d>=ú-X ‰7^húciþ^Á†Ž6ñ+j/ש‹Ácý…–…zïIpvŠà¿Œÿæ®àl7(K’fˉ¡7h¼1v§¬%“?éâ$Ã…ãËéˆ[nqrcò¯NaT‰¡áÝ~”4¿h‹˜yalûCKÊ⇷ø­X@4VVL¸–ŽAxJñÎFó㒯쾠í¾`=ôùýºê7,O©r’È«æ²6.ÐÅc¯,D^HI¢wD;™ ,Þwºø¹Rˆ «÷%I¡=æÍ£IÒØ/V¬`li8S ‘ƒºKÑ+]hš\ÙRY‚?|{’DÌà°j^±^ÈÁH|…Õ˦n,î–øp;êüýü ø±†êÑ ?År¬ÐÀC“,¸ûߎæT1Ý÷äø•ô œÊ"ev–¬¯+³Ä•¢Wà›ÛÐÏý—\„Ée+ÉX¨0¡Á ŠÄÂáíz@g"An¯Ì`ŸXLjóÑŸðÉH‚~Z¶SþÜÇÞa²Ñn7ºã”æî’F£9mìðäG5ròÒ6¥'œc-iÝíY¼ñÙå0†¶S㓪1k©pòro|©«K)>ö¿-KñÂpHVÊÎÃej '–âeÊçÇäЀ¨­%ÍO¾¿xá1hjEavÕц«å,#AËõ~ˆXy±YPœò‰™,%'yc½iSĤ{ü–LóÒQ>ygÓQôø§¶žŸÒo¥ô–ôAtæßï5º§­æ{…µj\’ýçÏñ¿[:uÿªØÐ‰£æ§ 'Ìc6±7ÞXñÐs³Z«'o¬÷¸ýQ‹Ãˆ³È.T ‰îøØ)Íoœq$oì*ci^Uë¢ÒX ÒŽþÔÑû¢¯AåŸÕªým.ï2@‹Í^s&‡´:À± ‡hfuÌjÆrËA¡fY9¬£­Ãö”÷e-Å&¢'{œ{È/}c1D—[úz^·/ “µ«(þýù­·é9ä_ù %#„Sñíñý%Ñ dˆÀ] ~LÜx yþ†òG “Ø}ä îtŠb&„Ûà*MÔ#V^a!…ÿzà±ÒSl]o¼?øÄûñ|Žñ®IÁ¦÷aŸ ™`¹mÞø}½±Ÿ—üÑ¿±éç§òÍ}QËlTòT8ôµÌò[gV*ôQýáÚG–¸ÌÝçÄœ0„µç˜Úr%"ª8ÕÐ#ÑI£I"8ÑÚ,L²š;LÖ˃ªÝ­Üáåœ@øc2E€¸ùň'£¤‡„gFýÂÑ<"…è5‰_3±¿ƒš hR6>Òr½¸d¦«(D. m!I ïs’4y_… î«6˜HŠŽsõŠÂ^mKY,Çvð¤xB-;7îž9¨<=à©oI:±N(£>Œk'p–½ÊÖdò ïÍpáxÍv—4C¯Žâ£Vì£Iòv€ºb ¥áò(”üM£sÔ_I7—³ 6Ö활L¶UKùŠÁ$eOÞ}f´ ºGõ$H;’O¬'’O¼ÒðÁ¼ñ!…Ž bPšÛ¥LÞÏq¸ð*_/–ÉóýŽw¦Óż°ÓO”ØÌ¸Ã<&Ïâ„beL³ U:ŪP*—u+Ÿz ¹uÇ\€í”(5ZØù)FÁ„Å0‘“‚ËyI C#—s4ZðbN›NÌ%×ÌiÕwÝeVP¯ˆdŠ19é™þ5m÷–¬Ñ…Ÿ¿æ\õɶ† ª¾ê|>\´!cã‹ô%üavuGñô+øª[Óü›Q,È¡$[­µ'ÌGKê¹]0ehâåÉ ·7)ž!.ZSKˆŒÕÐ%9€•N5-È]g ȧÛç- î Ñ¶¤y¿brvœô¹ôâ_RŸt9€Ãkxý~Œt†(xX>Ä pÆ–¿8Ù‚æ×äbwÊ]¿ ´C-æÎðéw¢nÃ~tÅk)=ya¨ëo Ùž{³‰…ßô¥³€«&òŽDâIJÞX‘Ò8NOÑ+Š ¤LÙuNA Mþ~Å PBÇm7„­&pœG’Búü«73-ñëúÛíäÂX ƒ-X”ÉÞš²™Ƥ{}õ­Ì¯Z¶u¸ñà¤<¥ùm“ÆO¼qè•¢ ·4¯ÉòÆaÑñ¶=ÊŒùoeæŸ,“™~ñ™n¥ç/-“ðÕ䯮œý> ]q{ȳcÌz­{t“YŸ!HîØÁ+Ž š‡Á3eNGFÞèïãÂhÞ8«ÈÁö- .°)3ºÜbwÚ€™5œÐz˜5dÁNV¥ÿ~¾N¸U™o5ôo©¨§Ž<äñ¢V?w®¬š®“ëé>‘B¼ÚùÐjcɧ§(` ;½Q¤ òQ¬³Üý [ì˜9ü †Ï%£w,PJ[è½-F‘E稗+]þ0øLÏ3?ÏŠ-åá⌶ÓèA£«Q'\ø› jŒptÍüõé뱼Ɠ{p”âM~’¦å·9ƒ£xkã0¤yøB˜ÅwK–ý¾EËøa¦(UdQ—KD¥ «›ýHÙiÞƒÙëĘ0'NÏæm˜Ó*Ë™"…œÖ‰ŠÌ»õܤ°ßOfï\ìþiª&%°wüx¡"bΖ¤Ðš~°°BÄÏîü{ä'Θ Â8fŽhúï‡4}jÑïÆ Ñq¤L~ØàBáÆÑŲl˜0ž°÷;hª2–"C°&)D½E ìG€ÉÝ)³D>óªxÖv<$õ²²2/<#ëVa(ŒÈoT—™ÜØHæCœô–dðÆŠÜTºùe!±q³hAxO+ýÁœ™Ê«]Çhñ“Ìv¸?Ó wÝŒ ,š宲UœÐ¶6ŽàóûUeAEh£büßô嵟«B´gƒ"ÇÒü¢QIòÆ6´ë#·«F~ßõm$X=çŽÜ‘x÷§u¿Í^K"ûxf°X!÷–¦'.ÊP@õ,È×Ý^‡;?´´ôàǃà¿=ò¼ž{<›˜W›òjj^ÅóÍ»†´9ŸxRU’¼ðÁM»ÉǪÊFw6®†ùê9ŠOiÞÕż«ÍÎFîÕTd2ÿé=Ûs±ïqtbkK”¼0¶r7Þ8þÖ:+þ6îÃLûË9ŽÞè\wciX—¡‚Õp ½2Ë|ÉЖM=[~nÀþ–†ë¿o¡\ÍD ±>=,V—íQ•X±ª=pŽ©½p1pqR1¶ö ktèt¢—ý¼hÇ0V $Í©1’xãykìŸ3“Æ0?Ím4Ä);yµsa1gÆž¿Ž=…Y´+ãA¯¼ çÈ¥pwïÉ í6¶fÅÉûWíHîoior\‚”ï´ËNÞØQ2ßðã9-hÇ` ±T0u¼Ïd ‡‡r2yab™J“BSZH )ûù…øñ`ß]ÅEǺeø«+혎ÅZx‹õÚí ŸqÕ«%_±œTAf¢Š~Ñ#õ{q¾b;N7í)ÍóhÄ£ñÄÛEß“)ÍoÜ噼ñA/ßÉwr"ò<°ò+t3ü*ï)ÍGÄáÃÍ|È%¿bcòÄ|s®ü¸ï²;öõáKµ.„âòJVðd—‘lÁ/[ÒqWÇçóÐeäïÀêb±%àÚ“.Ëh^ÌÎñÌuÂÎpÌ *ê¯eâ˜ú#ƒ’Áüxi¥­˜ürd&¿Q–Ãü¨±«zé$\ÌÃúå‹' -¯bžAu³ uTV^3t 'ö dò3Teyømj%Msù«_M| ÖÆäMìï÷š`¶µ'™`í퉸ZÊßçÙÇ™E,Ké„,B**:!¢¦Â¿êIÔ¸çÆ¹j_pí…M’ñ=üG…è³Ô$â°•P†d€‰Ø~û09hP:å„.l"óïÛÂ,ÔBq‹hÁhÀç5Ršç žkñÂгøŽ.FN`=³ÅBtÅík_;0ŠÎßK¨¬5+X¹!¾åÛæoz| ùïtŠŽÊ4*ËL#ܓד·ó‘O‚zùÃ>‰¯ÓFƒûNi~›Ü˜˜¼p$ŠO•4¿Ñ5zòÆû­H‰ïøhÏ+ò6\vGÎãœñ8 ¯[^ñÕõzþ°”×äí…g¬Ðu½qì Dþ˜ÆYÛl<11Œ§öº^8Óçë…•pŠÆ<Ñ3Å2o8ÓÅGõ‰²KÚ "&|ƒ á¨e@Æuy½.}cO‘´ñA‡Á5àŒúÆ™ $èQ˜.vÙdˆÊA] ß<öí¶Ý¡ôÁ’4¬>Nž2ž=Á‚؆*3_GϘÁè%‡Î4™”b 7®[çM¯´ö*BJ͸ä¤èâ®:¦4ÿH¦øy:á[ð´5üµ”ìü\ŸáÐ%ð芔ó>hŽ11›”ì<Ìs[xàØp7ÙyåÓÂáÇbÁý–^gÐg¸ ȧÎ_…ìü˜Ïp›9‡¶Ù²óÚ˜˜á“úrX¥l|£¾q£ç{~Ÿ“£ÿª¨¹¸¬ YR\-˜\†ú ÝœhÁðÅSÏõ™ ÚaÃàI!lÂzTè,NNm±¼²¦ ©—ŠÒùO$wªzE íì2,DÒvÞ$QDîØ,LîØ9Lˆ;,V. KïQax_˜¬ìa umôØ|7!ß-w aÊ7Ö&IËž+iã•:¡’æéG xa™|¥LžÛp*\xr'ZÊ乫Â;>›äzîÛá­"Ö:Cç±âl…cKŽv5¢ì-³VTæ3Å ­ï£Øc±K®mWYëƒw„Ú`Wþ®ÿÛѤ®ßu¿e>7×äÖ×Û¶FêæCú"¿Ü/3ŸX_Ò2#åT–-²çë>Xä^%ó¹KHòÆ“«´Ðk ü¥/¶ä^gñ‰¹Aºxã pDxÒ>Žnº¨*iþB[\¼0¼I%½X 'v:,ÍÔ¢&o¬ôÁR•†E02Å6¹dc`ºÞMîÜR1ièFÖ ŸŽZNiúSâk(Eëͯ_Ó_É|ÃK¿^X±7-¨Tè%±{騍!]&IF¸H¬àÔúzJÒ‘~;#èt;ÍA’5tïV´:¹•ý$šC/Uã”â'[•äåm²dñØ{×Â[ß:d´ÉëÔe%o¬>_ šq Vhw>$xΛŠ7žØQÒ¼ÓoÞXéÌnÌÝÓªÒf)Þñ6ßñ¾—ì¼Ç7îà œÔp‹ˆwŠ‚I^ ‘,?&…&ÏXP¨ö$‰¨Ö6)^x¶"‰ÆF÷YŠl,bi^ØÃ' "9Ò@X»x€†°žå=Ô@>aѪbJñØ”»oŒåË­Iñ~ùÄŽ­|Ð)j'˜&…”9Ë/C¡—á’Fx4|jX²ÓAÈÊýˆA 9b2gt‘ i™IMÒØl<9wü©µèu-Èa0oŠàFOnîó‘†R°¶œ)Èݰ£à¹h-7S­àZC ã£°-;ÇUgÆÀDŽñÃ<4VÛø  V1üûB†ò—Ì­#vQ÷P@Qg]œÎ†7à“¥3Þ%…È m±I¢›6"az›,«<·íyÕ>>.åZí&ZþäiŠ$ç½(›§³ ¿¢¢î…¯FŠº®¥K¤’Ž>|°ƒEkryI´’jYÍïØÆŒ¦ 7ªJ¬j×…Ì”CjÝi~ª#Êû…_Ï©„¬w(<Âì︘…»¿ 5dqI!Vz±Ö* ˜A|Âü8L6ÐJ`—Uä8‚ÉAM‰ ßòHŠàù•É©°€¨d°6møl´{ÆDk³(2ìä3èÄ–wì¡Hn_ZˆöÝbB)Y,¬À©ÞT=ÊYè¹5*¦lô¾Ç#^ã6ä^ÊF/Ë3xÑcN竳ž=³\/a2GΫ§”¦nôÊ`ãUÔÇó:Kócy¾ÆÝøÑL݇C?±ï?òÎ9¥º8`4Î'‹O¬7Ç„yãNèq'+xyAVP9ÅcicÑ: b´JÀ³{õŽ (b{ˆÈd*#*tÅ:v ¢9eãì{-Þ8Ò|âq2à–÷]48Á„ŸÝ2N¢4í‡88qt’WIózùI]øÅ½8g &5ox½Q´¢nÕ¢Çy '¶ñi7Ix帓5Œzp–‹ÓÙŠ6ܡڭРm,ÙžMŠ‡Û±«xc˜|&ÉÏEº#ñÆp?C5KóÐÆ4ÞŽäö’_±;lõyK´@WIÓ”EJ¸ÉpÔR´2Ƭóiò^ËWöe°³“ÙÑ”!OXò—Tx¸Ì „»E±LˆsÁÇ¿9H>ãWœl¯¹à&p"<4M‚Ü—žÐôo…–_39‚h°É9*€J9ÔsæørQŒ©o9säûE…â2'Ã8ýŠÚ¨û$'ÀÍÔúÅ985âpº?±ó¨Û>4,eŒ¸p+”yã¡CmSšW‘4-¨ÂÇC?ôdí-^å{Èu-°cg>ckgºÎÏq#g>=5‚—rß/tÇ‚$C›‚žQ‚¤ê•H!&Ôe‡ÅêQ‚ônÅä?¢5ÿS=ÿÑê™­õÏõè7 ÿßÒà¯øC~üPñÏä®øÃ¾†¨†?«á«n>«ï£jÇ2OÕw¡¬«j.D>Ú¡g™lÕ¾:ÃãÏïc ñ˜š·±‡ñ{l!~.Ô*ר‚øûØÂüõ[O®¥ŒYil£}9ÌŸÞ¶om$[?‹÷ˆÀ´ Ê`x3¡ÓXínG p8B^UæЙ ¦¶–ÕŒÚI^IÒ8ñ XÁGm¤Éø‰SdWÌH›Øç:1­Jã¶±!Ýä2#ìšaª(!ÊŽ+iØÄ/%Ä.\~4m‡ím%'º¦=žZįØ%-¿xú‘xáze^‡e˳ñÆHi?±H yC%'R(üåîk’D¯bÀÂÂà2ê²­²üˆºüðPwpî08Š$'ðK14Ú1Á¿ãvn+¸¾ ±'Ý3iA•ÀõKæ†xŒ¥iXÌT(a¬²E-}zµb×_K»%P´E_8RˆÒׄÍàƒüâ88Çâ„j5Ãw*o¤Ê(v•¿2+zvÊa2aQ,Ÿe¨÷æ#E²§‰ÄöãÉÒ*%C 5T s”%iÃOA¼ó×Ü!·udöðß­_s“›vÅU[¸»ßÚ¡LÚð]`m-œxÕÐͲñQÓŒ£…E×´¦¿oðÆƒÆ$Å Ç3ûs»³â…U8“7va6o¼Éœ9yáTZ™7ö»ÓÙ–Ü£±[9~Íï¬Â‘¼q„­ó™kË_´JˆúýL­KŠdQ‹ñBŽ*³ü’saV1Í*תæ8«)ÊÎÞÜiqoØ£Âm7)G.Æp—9²JW€ÕPq ê2‚˜=îM–0»bfA «¼A]ýÀ®ÅG«}íý©üý÷g‚ži^Å®ºvUpòƺþ’Òd`ªq§¨ÇeŠ >Àg ¼5!·bp ƒþºgJó«6vë…PË\O)g/0k0oÇDW,àæéòÛ1±¾iNE^³¤ùKûÙ{lôv?V‰dv IQøpN=TÀÂɕҴŽÏ`ã{°‹÷[&/+;'Ï7oìûúwòɵã¬÷¶÷O$úóxi^ùKj…ZPœ@ Ëï$׋[‡H a—îz”,Z‘‚S œ~ÎÄÏ£hÁK;èÄDüˆízÓ€J¦Y%:Ò„>–fQËYD_¤c/¶%j ÿ:`Mt¡D_&Ž_— =oâ 'Wöq1~Dì8mŽ¿¢¢m9×â„dz¡_Qðªäq.vkÇkGt˜_ѧŒó£pvñWØ×¤$½óˆD³‚[4pû™ÒtܳU(!NnÙGJÓ‘-K…ލ|ÑþJ6 ‡ …YX$a¦ì4– Z0dŽŒX'vÿAϯ°0‹Ûw҆ѹœ)«åPÀ›ÛNã\ÝX³#î"cb5Œª,ÍoÄä–ØáÉ cã?Fæ–mÓ9&¶–]MŠOl02oær8ÔR||Ÿ³ñÂ1›ßÖ%e^Û¯³ñÆ7NÉJ[ÉnŸÑ>Jš«—nSïënéU:bLÚyc(êoÛHcncÞÞä—âWnUOÞ8âcáä…Âe^x…Û…«ðçÚ/l‹, `þ–á‘Þ!&b²ðEŸ^ 1Ó ìqs€p( ¾pŽxaÿƒŒ%±c{ãÄ¥‘¥-lÛP¬ó ‰‚ޏ¼$™8ƒu}Jn¶rR’„r'¾ 6[‡¼è\{ê\yÊÆÃca Œã‹fÉäW”ê Æà,i>¶%G©7oŒ­Æ{Éä]ºn÷Mº”_L‡yã…\í>ãU;½Sš¥ˆ³ñ ݤ¤ìü9žá' D¦J0e¨‡éœ$jEñƺ?ÓÃÚŠ“#¯«ñ™^ñÙª°•ÈÊ=ÒÎÖ/¥x·†æc8}¤L^­q•—¯XÉÙ²•u©vùwGéh©;•P'ëîãO§ûÿ}§ã:ºæ™H}ÙÌÑþˆ,¦®ëÎ/ÙþpÈÂÓ;+€D¬.àuùG…ø”í ±·[ ò Ù‘Ÿí HÔ6Ûrò³Ö&¦>pýá¡O^!ɬ,•W;¿xìGYK™7?s…˜ˆÒ{Ÿ%4¨mW˜,¡dO f§ß»þ¨ ËÌÅ2Ð_“AÉìË_<*»îç¨LøÛ¨Ì×ý•ý•ý•ý•ýKFe›L„7¹ï‚[Å8ŒÖ2ùƒÖ. G<{Éäw´V.¼ßxÊä7´b.÷ÚäAž×QÒ|¢ôðÄ ò)Óët Ÿo¼Ð%yá0"™Çž¼ñ µ7ìhÄ Oõ É ã›†‡ya¸èZÖÆÓùÑ•xÀqÛ„©‘†¿ýÅO+RHh8ÖQOb]ÑŠe€q ®¥xãèdá(Ó¼°b‹«|3VŽw…4âZ[€ ¬4EgŸ!Édß E¨Ž(fÿý=(ß¾‡)6-¨#ûÊv*eçß~¼ÐKTÊä”ù 'Þ"'Ã߯dñ“e>Ã…/-•Ҽ˶ù¬ Ú®’æ'ÒQ¼ñ*wæú K)F^gñÆñÅ£ž§lü9žáÀ+Ê{Jøý¼ˆ£õp`ÝŸéQ]Žöóºoìô‰w›¢6¤ è=LÇàní ªá£ƒŠA'z´?*HÓ¿zÖ›e4ËòÀ¬÷ï ç ¦f=Ú[æüHCú?è?è?è?è?è?è?è?èÿÌ ôLç×ÑÑÆ…çÁÞ®ýÁaÌD«ƒÝúC!p|>Z€‰}g+ZdˆF0u…ˆÍƒ™ü#C4Ú©+DLtò/ÔýŠ›§² O«?!*qí0üd^]èÌUÄûRö€èÌW¸Ð©•ìð´Ð¯ ¡±?O1;ý%£'kdF@óÖЧ˜¼¦‚Äl‹š›?–ÿ+–ñJÃ2þhXþhXþ—jXv%uŒƒ£ ÝG|˜ ÿÿqTˆ‰m?Ye2ÄÄvÐëso'‡ŠÉ ã–ØDk^x‹éßv5^øäpÂ|âÁaÁ¶h¬Ymü:XàëjþÖ© Ju|}Jdî8¤fhFébc·_œc”…nļñ͹RIòÇBÓ/óÆÇ§âÅNi~áÜ©xc}XΙŽÉQTJóc{†Gcú)ˆ•^¥ãœOÞøàà"ycx#ß‹7Æ KñÆ:º>½°ŠÀqr´ú¬“£ù’ã»zxàƒ£ù”És_áÂ1Zƒ:QÒüÆQ|òÆ“£ù”É;ÿnÌQ{IŽ~“7Å/Œ“Aî&Ís_¼ñ‚†§¤ø•ƒãäcö°/M6þ8žáÀœ TzXžŽÁaañ™^ñYî=ÚÏ1}áüêåè0ƒŠA/z´?j¸©±éÿOjꪮ7TG縹ÚK7®¿Õlçl*?…'^–ž‘å$â™2<öƒÂGd¨ñ°#G¸ñ؆ªà&ApÄiÇÀ&ÉcûÖ¼“¸ñy">›bi¹þ¬}'½oOí;á¦"diz¡öÝ¡KªÙ­_‡ö]ôÂ)C)69Õ´l46«W(”¬¿¤Z¥ì4­-.'Qû®Œ¸ùAp¢Ýb‘ìä„Ò¡†õë…º½BuøØ¡Ñ9ÊæŽ=Î_rÄIi~sº%vxò¨?¡ÔâQ7+FOðm2à–Ð4Ql°[“ŠÍ1{’BЊ$ú ³ïµH ‘QÌ–ÆÆ ýÐor7÷޹”+RåäM„j¼+Àó–¥xã¨_G«^Æ1Ü®Æ «>UÊ©æ\I«©lJ<92u@bGÛsƨ²,¿¤`Ôrýú²s#]’Ì%Ýc“ÔA:"IBQpÒÀ5ì›4ë–â¯EvñÆ1´‡ÝÒ¼5ì×KÃ>¥ ›/ û%ºøÄ—4ì’q/4èkê©{÷pãu“æ|¡¦{«F¥ß¼qŒ¯»Iç“Ò?ågçöÌ|žyc?7¯7–fÞü[Soþ­©7ŸšúúÆâ…Õœ'ŸÍ;Zû©£J!£›Ãlo”Lþ’JÙáÆkª–)Í/R=›†‹”³¤yœe¼oƒ.¨–%“÷gw¸ñ"•³¥?ÿ!UìÒṪT¸í>ãPùYµ i~Hõl^x¹¤Z–ì´´D)>œ][ñÆù<Éäå–5Ãõ^Ë“®Þ^‘7¾º÷d…be– ¹¡c2)Ä!”…ɘ°W‡^á‡ßulÍÍ}¬c”4?¹:¼q4Ù³ÉäOº>Ëpá÷xмúµècèqcÑì Aœ;eRì“Í©‡VÂÄf:½àäâdo’ˆïËñåcV±—ô¬â쳊½ð¡Y…dòVuf»ìbÉâ– ^6ŒÇû<¹víñ¯£«ÁáÙïwŽ ÿX²üÿnɧábaÀ‹â —~ ‘ÑÅI mwúK$©y†c3ñUò½2ž¯•qGo¡3DEH‚d\½“B7 ©~Em|CŒ‰&}Åú:êÒZ4aÚ xÞ4N]€ÆÛHaðVªÓ/\‡Æº”âc4}Íâ1Ï%“¿ÐW¸p¦C2y¦KÛøOæñ‰’aŽGå!sD)§˜E戔.“N%c¯ÇttÒÙ¦ß)„·ÑÝúÀ} { ‘N¾‘-¬È•V5ëñÃâœ)¾-Q) áõmDáŸæHar„ 1Q"—GQtÛG “û#LiKh} †ã»%áá€ÆÇ#†.ñ„ÍJ˜±¶ÒT:Ÿã÷$OœµP|ÕRÕZuàJŠšd‘Bn˜Å&T/:»|uõßÌlä ²äËÜÆ¼ñ{Lñ6ÃIþµÑ)ÌrìÔÆRÇûu¿7Éùn¼ó6ëIB´4Õù½N3ÁþfàóÍè¿2éþ½m÷aôœ ²¦ eI N‹%Hâ8Æ$…¢¡š%Hjp-RHƒë?[üÇÿ¥­ ¹1á÷{¾oUø7.¢ÿÇmpȾîï ïï N¿'ïeóïeóï É¿68˜OuÖv¤"Fú•äŸ;’í<(^XÚéÞ»'RuôÞ<á€o{'þlmø³µáǦÈ,çwFDö®þÑøw8ʇ"|AïýgÑ„ßà¢×_8‹~à "…Ý´ÁihÑÍ„¼Ï§”SQœKkÞ8Ô[qj¸eòTvW¸p¦C2y¥KÏúy8v&¥âŽuÍ-ÎV5·z%dßjn˜5E~ZˆÄ©Åæô. r|¬cÁòíÆëÿ'ÇëÿÆ­ÅÏ*¸âœï$y ¼I!¨ÖJÄÞ×$…t¥Ï®$‰#»’:yØŽ„HMÖEzmåÀÜÔ⽺t“êø”ßtxé8j˜¾BwÈÛÛ2¤xèÑ×âaÙt–4¾Š×Q¼ñÅ¡|Jó±Ûëâ…ìë)’ɯ§ªpãøš1V¶4ïôo\¿( Û¤­QJÍijæ¹t¤°?[=õÇŸ­ž?nõ|žó$:;&³g’B7ì¨S€Ü8)´ñh°$1DIR(š¯=…H(â’ «û#…Io¶r¨qxp‰‚å{WV¼veÕR­–6UkËä­%t¸ñ aeJó­Åã˜Ê£IñÑõ/wñÆuÉ)ÍŸRr›7ޱÄ\KšÏ âÌ8–Š>ݧiÁÜcfiz†uÖÎeä'è¯ímÉ¿¶·¯ímzŒ>ô{‹^–‘÷=|Û ÷g?Ü¿?œ÷µiMüÛ~·÷¾¸÷~9§ßûÚâdŠ(•Þÿ–R|œt7ÞØûèRŠw¼Ì+~öÏýgû¡J´â:bY'ÎfN)~¥eXòÆ+ΊN!vá<Ë´àsÖ«ÉÆsχ˜Ý¯¸¢n¾¸tµ_<°ó£…£Øzñ~_ØÙR+† 8FúàaÔˆ&/–‡jkobŸi.>ñä¹ÑÉ oÔl¤Lž6tn[ »[»xcìä[›4?°þ]¼pœï½%“×P*ßC«péìcœU支±O ïþ’¿ùQöûn졚eòŠOlØ÷F΋c•(.)ûqÜGñÆ›¢n™|tcw ~'7yfKè·tŽí'!7 :Ä(¾â2öŒ¶ðiSY›Ä¢ðy¥0ë¢iÚ%õYgÌEy´š¦ËL7x²´,´8X5ð¾×¢ãdèå()Z5̬áÁúg)ÚÕ2ÂãæžFL™˜¸FŸ´ÀÁÈb 'v½ÆAÉQ„1f½±Ï`ÕîÌUšŠU›<ã.ß,ö:u—hÁØ·½ðÊ·1Æ‹zÞWpp¶yㅪ”±a9Kã×p4‚ì€~t3mÆÑÍZ˜u>ˆ6T.­ÏÜ Ö9¡7É,Unˆ6d¦< ÙêÂv¿ ß-y½ø«NñnDÝÈþ§Í£ÿ*gøÙ ¼]îÿ3ûÀ¹3ÿ6ƒsÀ÷)œC¾Íá2䛋¼]4˜©QþLŸ“ÁÔhÀÍè;TŽ24þø±sý;½.F&BµsÈ]ÏW Ióé®g¼ÜõÐcWÊä¯_t×ãpaŒ#ö’æ±ßÿ.¾a¸w¬Û/ºy”XÞ/z{´=2ï¤W%z0çØk£Ïº”âá9¢…Ç’ãCúz*ÖJŠËØ£ñÆ!#>]‚§÷“â…7:ÒHÙùc>Ãjûšå‡>éÕg©mˆQü¶êÛž¼±úP–Ú!·B—ü§­%“¿°ÕµÂ×ü«ÝXžÂJ›yã·5ó±¦ñð¯vü¦9þ›>dùõô¯öîC–ßô!Ë?߇ØoZöë}…y÷)æß}Ì«ïñûc¥ú’¿³oÉ1Tôù˜Xk쑼Ç.|vñ±ó‰w¤§ÆhÂ*ù>øöTDõxkr[¼±âåëüœHßœÅçZølOؼĢe(Σœ¸ÅˆÝ|âhÃèf?‹Ž&u)Úð€.fĘ{ešC§6¼Ñ.yãèE·â+RÉ;’ŠœŸë¼‰-ÆŸæ…aÝ¿ŸXïWìëʱ$·›—z9•¹ÃâÛa@náÕë„]vˆ¨Ó’LZý…Óc¸FOVˆžY£‘'ûOkÀI…Iz&R€Þ'!uˆÞ(ï²ÍYÚ¿JŸÄj*åKŸéPÛ=sàaÙÔœQáJ-Öß)M‡VñªPB*,÷”^îgðr§>ó›Ê2L›×.JG9’6|*4Í6ÍeóO—*åû©Aå#cÎùuÐk/6pA÷h(ä–u˜H¯y–â±Óe®É§†ÔR®ŽßÏ1ïA¤ùò®b/ ôR_¡OXaŠP4Q(Ó×$…ìâ˜äÓűÝ«"=Ù§dÔôªŒHò&r5U9 ðª©ø\5åP/?E>ÈÉØžY“ó&ô•3 =^W8ó¯qÿs>0Z“î&^Mû£¥GWQoÄÂ¥h(xØR‹¦ft6)z žðÏ\ø–SóÂ+±S&¿Jyåpãò‘zU¤ P‚M¬âL‹×³R&è$ÕÛjnã+)>»@ñ‰ÕIå[gÝ7‡²3Œ ª{0Ÿx…ýcIó1o˜Ž9ƒt”Î$eNò¾??†2yýž}±áÉ5{Ü­pô>¤î§3môœ£lÎ ÿ¿š®ÝÿÅt ŽzOªDBQ·¾‘!)/7Ä»þºÜ$ÙÒ”?¨HÞ8b˦)ÍïXo)^x.,)ƒçô¥Ê¼±ï÷{ŽŒ÷„Mç÷éÄkºñž†|›®¼¦1o•eòïiÑkúôž^½§]ïéÙ{úöžÖ½§ߦ‡ïiãkzùž~¾§¥¯ ôžÆ~›Þþfü[•ïCÕÛ§Ûÿ¦iÖ¹<§YƘVm¯iÖ¦iÕùšfÝ4 ÖÖðYŠß—gÃh 7ÓG“æw´ÚÅ Ç"ßuÿ«¦wùlÜüCpµfÏÍÙƒø’ÚÇŽ‰ÆHþ‰”ÅCïXÁ .yÁ!̆ [Éd§¸õAü!ö%Íë,Šä £'l÷Ÿt(š2ù=a…ËxÊ‹<Œò¶’ɯXÑ­pãJ5¥ùÁaIòÆ<ü ýÊbéåRŠüØ–âKšwþ˜7Vþa$A[HLÅó¯Aê)Í+ý»ÎYß7óÍùÍüŸg®’ǤÛÑxãï+Þ˜e°xc>½þ¼åäþQÍp¹nV(,‹g ’¡l¨0!E,LÒÍ®Ãv:¹ÿ£ø£økõ7Ör€ÐG0ä>ßúˆó7úñ×ñÒGôÿ£úˆû_¦øyÆcónÿŠmá݃¿&¾FÑ_±Û%Náo2_±ÎÁߢ¾âèG‡8QÞù[Ô×g†‘!Â=ë¦ß¢âê –~Œ×·@Àõé÷¿Ø¯Ñ¿h%†E`‰$ïtÓîejI9ܾjÈ!Ùù˜ËõðÀÐŒÜ%;¿ÜÏð…nnblž²óÒ‡pv—s¿:É)_ÕZU×íNÑXÕiÝœ×I$y÷ ›ùI-{yÁ<¦FG’Çè©…c”¤)‘eç—ûŽQҦёdç—ù Ç(éÒèH²ó=µð…V žÑS Ç(iÓèH²óËý Ç(ijt$ÙyŒžZø*Ç${—ŸË3£§¡ûääãüÅLÝJ$‡)_avÇA·D‘œòe 'w[ŠÆrÊ—¡œÜ]œÔQ4–S¾ åänpR78å+–S¾ åän㤎¢±œòe('w“³:ŠÆbÊ—_ô ƒ9™D’wº™áÓ™ê\ß²nÌ¥Õ‘ÍMÐívª¹w «èÏ*D¬³m’b·F‡Þ æü›š•«~–Ç¢B lj2 ´l|¨ó{8ð·qKñ±HÖÃ/:¼IÙøUNŽCj£jž%;E¸¼®šxI6+¢-Žy÷’_Žgø¢E;^Z6˜Þ42™ïù}ô©w@O›×rc=Œñxä1mïcØ"ɯµ‡:/¬ÑHùwTà—vu#Ec¿Ö½‡ kžc³è,ê^…²¾îq¯EcqS…Ž¿$û%×° ¤Ÿe‹Æ~­=0Prí)Šôƪ½Ð„+g옭ߺY R6^–ܾ0_©)l< Z Žåšs)Ùx®:W¸MåÆY²ó«Žòvø* ô+–Ç}-xÐïTÊÆÓP¬Â1aÜKv;Z8L]VäoÊÎC;ÐÂ×Kšµ×8bãÂ¥ùu©ªº¡?êý­zÿFæF#3¹Ö?±=˜=ÿ•ìÖècù£êÿPõÿÑÿïÓÿNcùÓÒÌ*Ïïë2aø®P£Ê†E°åàɉ7®Ý'o¼Óˆ6¥ùƒjËäè' R,Íßî1Lb+?åx²èO$b?“C'õn)Ebp6Vp—Ó‡”¤/Ýc—„'}"ÀI$HÞRèÏf/Ùùõx†¯GÙÂ[v>Œ¥zø¢•\Ø%Hv^û2<0VzGÉÆÃÔ»…¯®*×’òÁë`¸ _˜áãÜJv~9Ÿáð)Bãµ”_gøj«Î­ÉÆÇÉB=|pÅkÈ‘œÅ,´,;S$÷µŽxÀ|É¢±_°ôÏPÀè0FŠÆ~£‡†G¯-Ec¿ÆÝC½ñ°èì×8zè—NdßJ46¢ÓBÇ•AŠÆFB[(!L­R»ô0.ÈÃ>œÚï°ÿÓ7L5®³xãu{òÆ µØÉ‡mÏ•Îuë]‚öÅb ádúH)Úo8¹» +%ðH-”„H·‹b³™tógùj>Â+¼H“ýŒ\b LNàŒ#¦qBzï¤éàœ¸OE ©”»ÄÊP5FÙhí¬,Zü¿½ÅÿSÆÿ×”q|!Œ£¶'~óa­ºó‰’S÷ OæÒüÐ}æ½|c)F‚¡o¼~ÞrNaöP m®²Öf'×~M†ýj ³Z.B‘CqÙ‘éQ0®N®pº˜¬à§XwVV¨K>1sV婸S.¤h¨™|b¼åj°4F)dÚD )i" •ƒÙxP‘z ø›8é¢F‚,Š@Ðsà„ñDÄqÁ€5I#ÕNeFCeŠ*>W±B÷¹— ù‰H¬·’#ØiŒ*Aîˆã#L4JµˆVtóðÒ… >­û‘0¶o[oB)n™<#TáÂ;•Ê)“ß³3\6ì%ÍŸü ÉË?PJó±{+ZõiotŒJÏ;YÁ±Ò >¥iXÔV(a Ø–«¤éû×>[(áÃl “ç/uº#Ú©™‘yp=\¤ÐÉͶ"ož/Rè3d ÍÚm*ØÝ‚–?v7Iˆ¼i6'R(K„¤i+²Ac‘B|³I"¿iº`þéÏ¶Ë þ†ênˆqÝí…´‘A[€ãDHa%AޝQXb§àB»Èû~Ê»÷â|’ä£7ÄVIó+}mÇ^äó(¸ÒÚ;iÁu¡bg±~ì¢ÖA´`´—·•'ö×Q)²j÷´xc¥0ùžbdwà»VJµ¤¯_ýbÁÊ3J(p.~"‰2mÏ|ÑK3²NÌÁ帋æ/á|ðÀé§±Ú‚$àn“B«Î9·4½°Ïà†±2g k¢¨ Ç‹–æãÞ˜1›Ŏ)ªÕ<2öŒšI¢P}E¿ER‡ÖÜ&…`…“W aõŒy†(Úlá9ò°ÿɬ³Ñ‚á2ÚdKÒ#tìK²‚Ô0tIG+ˆj°”4­á4vNpX}Óóæ¼K<™s"…>EèÚSlš“j+ ‘“»ÅD )&7Ö+ *®–íGËjå¡ùÄê”,“•¡V4W=‰gìÌÂ9q@PÒ†á¡í,VÐk©¼È€£ÏÑhBçzÒþÌag-3L£,ûFÓ?Ùž~é(€/püa¹×Ëö:é7™ƒç!CàâÆU#.eutIÒð¦*UÂ,–°ÅF2yš=V¸°4©)¿¢ÃªpbZvÇ"åØòízªØéý×…—ôyXˆŒýºÛn!rçÖR‘BXÚ˜"×"…¼óSÈü„b ±séNÚð#O4Ì·¤äJŽ€_;¿-?=÷SÒ‡Õ/(¹m‹)Þ.Š@oaE;Û¤“{dK¾´oíÅ{’*ì9-ú\TÕ©FTúVºË˜ÇhÎþ.¼kèii^F”ÉÇrÕ8›ïDš7ŽD¡KéÌ`â=—ÿaŠß/½ÀSyðV-¼4†oåÈæÂ.Ý …Ù´à¶rŸm °áyvœI´ÉjÂáPÁ•>«%’•‰³Cmñ<è-s£ÿ“‹³Ï•¾œ’|^lèG™6Ž‘KÝœv9ÅJÅI´! ã_­ZúQÍõ“‚æoÕÓHü¨Xzi”J¡‡¢Hà¡ày(€>QUˆõâ„€ž¸·„Ÿà¥Z¬`^Å®Ië*(Îð¨OL]š8l ˜l¿° ânšñÆ»¦–æq<ÔU¼qŒ3pĦ¤ùÛzFñÂФ_[ÊäÑšn¬¹GJó¡í‡1ºxcé8KŠ¿vÝ'Þ.ÀhÅiÕ34DŇeWçês’7^¸£ÇïÉ÷Â7ö]R|^/Þ˜f]šç{Nª ïâÀp=,LrPà0 üý%M«˜@³rQµ7~Ig#Ò( W^)¤èˆÒ›£ÙÝX¼q"-„H!½‘јËúW)ž±M>17)'oŒµÇ³¤yX÷4Þe{”Lþ€5P… à q/™<·ËT¸ðÉoÖ%VÖ/EMŸÞÕã¬ËõØ8r «üÜyŸùÄ«W«Ä£¨ŽâÃ7ñÛÂéàl–ÖT–âó9âµTPR¼Þ¯ägò ÝNavƒÖÍ¬ÐÆÕç’¤¡ë)Vpá"ø¤i,\q(ˆTÞ6hRK}-+š¼¼mk“äYAäyŽÅ,i À^¼1¤¥ÉåW:ç„”â7Ù•›7ŽÂŠ™¿¥xEóùUùµÐ`Ák܉҅†n4Þ8ºÎ;¿Ìgþ)_2]ŠïåÉÓÝ>,Æ—I¡É/¢ Æ¼Üø´ “l(¦f#›ÊWkrpíwçJôÎ"/´€<<¼X·iRHo†{CìCÀí|ŠH¡Ý+¬ÌYÙU‰±‡4qž4 g‹\“å5‘Ÿq*{ùs·šÄÀÅmW¥]ÕßîÅï´¬Ni>t¦±HaÞøRÿjiþæ6ya˜áÈ^'ÍGŸ~^n¬#PSš×JòƱ ºMм>ïâa2$kº*MV7y(ªÅ¯û“7Æ93kñÆñmc®÷ä{/miH¹©¯×õâÇ´ k0”æýžS+.‹9?’„Èç]]f ³XšWI9©gÚÉB 1M EßF·B …´øCRHïž,ì“Í“ž"RHï‹C¤`¶>•0V¹ <²»É¸I´!ϳ0UoKVúü£¤èÇ[$+xßšÖ[‚æx¤hc4·{}«Ÿ¾áã¿¿ý«Œ|+Cï²eü® ßêÊ«©ný_o+þòºü»¶e}”µÀf_ ò£éVYç’ù*Š*¾îDÿÐ#dßáÊC²ª*Éÿ·-†Û%÷"ŒºêO—iËwY—0yã°‚Ö¼2ù› 0.Œí}GÉä5¿ÍpÏwWO§L~ÈŒÖáÂh+ö’ÉsWQ…Y6)ÅŸ,€fw]%Úp“æžÂ¬Ê°X¡ø n·CŠ^öl·U@W|›/*e¾Pœ@^¼D¤P8#ƒÎjªÌÞ¾µhÉ/¯pa(ÇGÉä¹¹°Â'fqrÜÄP2ZÓ%* ªycœx¶o=A´ÎÉ û=æ…Ã5:ç×d–û=æó½Š×Ôê6ö¬m £ú¤TÚî55X…¦‹¯»¤ùS†Ó濺v²^Ï1¯ï=o±†¨-¾ÕR‹ÿÖR‹Ï–Zé4ŸéÖhú~”c5ÁfÿËÙcêGÕ•âl‘IÿW-ò5[ƒ|=*öïBgk 1»ŒÃ(L² s˜Z´WküjèÖ‚j37¿$Øì˜$RtD éÍhw·Ÿã|ƒÞWÕPÀ>++Xt%Zq»ÖÐMí C¹º+(%_JÑ´ëLV0zìe+)úÿmKÍðuZ˜ŒÄ]&49”‰MI í˜Y¦ yé†Ó[ú5¸;àôsÑs§›i‘ §ŒçltY>rW.Avp0º3EpÀ•Š)ÄBÞ8±M+"º ÿÞ3:hÅâÃ/üèqÌ¿O 0¢¹ol]±¥ù›4yáÇ–‘å,>®Ù®¶UD§Œ’æaÙÞxcXÞMŠ¿|Ÿxã¨]ç ç©ëhf¤ÓVcІ18Õ>=L°r̺.E.S×E'4 }%I£¨ôÓBdÔcwõä×ýÉ/l¢’7ŽçGæKæSXfÜ]’ÏëÅ'ަp)Íû=Ñžm>8ô)D®òÍ.Ö0K¬¥y•ì“ÛdzÐÜ@¤ÐÁ9¡I!ÆH¤Þ=oéâx;Ÿ"R¨YņfqÞ25™´ë’0»²M0-8èäY"Ùù ­vEíóÍô³)5A‚n¯Þ-C$Ü7Žæ6K&ßV—¶Yx—²Ó2ùƒ&y. ´·…£1l¼»‘ÿI&?ñ<>{kxùeÇ”â}_ø¢À/šÀJj)ÞØñŸXñpIþ©„?jÀ»f¼jзö®yÆßZ¶ùláRЇCã³xãí>^üä{’Îü•ìü½>Ùßn©¾·_­m{6x6ñÕ^>Q¡gO¾áÈÓìå)DÆ wûK[ùŸ†y+ý›^.ë–êO†^šiu̼±ëFJóŒV“&TII:*Î<õ ‹»4!¶Ø¼[I •Ö$ù!M Åa– É/ªÿ¯Ak]œkZ…ýŠfÑÙN£1ÿaHö7ŽÌ$~@>FŽ`òï>šëc½ü*iÖÆ$æGäGJc$µþ¢sä® qn 2_þÿí´UFôù±¹v¶žG=ÈI»€(f˜TNÎc) |RÄ´kÙÜÛ—½xcTÞ»¤ùµ!iÁ‹zž”¢o”ýd ¡ÅZÏ”¦éG,CÕ*¦½Ã `²‚±©ä(Aò‚©I!*OG\˜:ßL‘9”ˆå2i˜™ei^™•FrAÁÙ¦9‚ƒÎ—¡ãPTDè­¦ù³LÞN†ï¥ÿË*úÇrM€¨jÑ­[ñÆÑ¯vÞØ+ýæ›Ày¸<¹tÁbüj´¯kèãñ$E÷þY‡ü_¸ª€:/ÓïÑ]œ‰Bã”Á—VäâP–#9¡‹ã ‘qT‡ôª[éYÏ"Ùp½8“N[|ükîóê¯m7k´Ÿðfg!6KÊ.ôk-ň§ÎpCEä觸ò„rŒŒ³O™#ñÈSº¼Š,Y#ï¿8œ ó‚Ïçüb1˜{F€œ_8ol.ˆrßü‘B|íPüe9ÎâÑò¬%͇²)]¬…/N?Sš¿±£#iB|5=iRƒþ|1»˜wBÍ“Rtw=°%T-¹ÙÀ7]\ e’3Ÿ°. gn¶¹"WMÓÅf¶YšWöê¸4Ûe¯¿l"½ Ø„cŠ€±'¤÷Ú~ûcùÛwØI¬°œV œÅ{Ë’¥ùC“xóÆÑžgIó7w $/Œþp¿S&§µk…OZw¥4>x/ÞX“®’â/ß'Þºw.™?7 4žÉ#M7Ædp+Þx¹ž¾&XÌ®KÛD,7úšàÅb o[ÃÚÚ•»BÛïÉh‡9ð‡™œ@Ì—ó^E®sÑ´eC‘YKÍkI'ÄÞ ³íe8bV‡OôžGñÆpüÙxc,’7^Ø­úSæ§ÅNÆ.ÉçõâG¬=¥y¿ç¤Kº©]Í)D®:YS¬aV2KóªŒpÎIç„;Ú„•Cã …B}²\I 1F"…ôn´– íçó)"…ô¾¿ÂÚŽÕLÕ £ª!¦âÎè̇ç´Ñ¤ùXŽûÌÇîùþ_¼W%Ìç*ElyÄp^Ò|XÅc"ÞX~IRšGŽŽâí—ÄÒ||ñ•Î=8ª¤‘ç‹vþªææ˜ÅcøÞxc÷¬çf>_.Ëæ[™_öâóý(©Ô”`Äê Þ2&t"—²5åþ?&öàÈø`<8^6Itr·®„H=þ|l.WLô0¸˜Ù¸±v$I´SM-ÒÈ£zåK–Oåw8@'xÉ—úQÒ|è¢çY¼ðÐþnË䯡üV¸ñA󦔿÷5Ý€7²¬³4ð]¼0·×”þfz¾˜¼MçØ— Q>“BáI ª „ȃûîE }Ú¹­„HÚµ˜Zq¬¥Ɉ¨¶€‡âAÈ;”‹ܸ£C¬Ðà±"—›»æH…j÷Я¨»ñHño4ú%óÉU)/ý ’=t€€¨OÚ¾`IŽdीBäÉ""R«®‹…Hž¥yš5ÄàwiÒ<üìÅ?,9ïâ]xÌ÷Âô)<Н’”[³¢”e‰bùbî0_¢£9ø!@I ÛÑQ4kW’BQ·ón#4èIa"I¹Øqky¦ãýY$4ë%H®ô,RhØÂäøµŸ6XloWŠèñO®º­)DB/æ48E1öŸ%HêJ‘B"a!’ŽžV†F÷ÕÉ@Ê3’FÊ“D¡®»*aHƒÍ.ïÄ—ÃLÀ¥*K¡xhŸ—â…£´,ôiÍ>8äÑ6¼gã¹u4eò«F ^¹e8¥ùXiÜo¼Ðnª$yèÛ±ïXÖiÆ—P$o¬-Ü™÷/nwŸxÊäwĻ…ýKóÚ |bÆ#­ÈWœy·W>™7v~'OŒ‘FãQï—¥å‹ÒëüPzõY§Ö ]H²)R*Ù°yøü~û{tªå?ÅîO±û‡‹Ý³Œ­½Œ­æxA{æ<ýkÒ,`1ßeFÀþijñ²ñã8áÀÇÔ¾2ÉÆÃ·{ ÷ùmsŽ’§{Å ¾è“Gò_2pû’îúKúMÈÎÇBn?˜ß_[ŠÎžë#®¢¶_ùÛ¸/­¢6ŸÁ¿ûŠ X†}áˆàÏ]úíÜTÿ Ç4[ŠÎžë#ôd ö%—›‡kŽ|J/oÙø}}†ï/Cµô§þ©ƒ®cY-ÂÜ,3!£Ìððõ’‡£»~P…ôµ¥èl”ä0ôþmêH†Â.ývî ëˆûÒY«‡;2 (Öª¶=×Gè©ãÆÂ0Ų󱗸‡3K6>T‚=|_eSñ×ÔÍP\‡Æé@I€SÇâÈ(M(¢5‹"ÖQX èņE‘PeX ¸`Ü,ŠÄ€ ÖÊsX7TØÐÊÚÉF£IhÁ<ªeaÓcÙx49-œ˜ùW²xT­>dŽ ý0¡sŸJã¬?YÏN~÷ƒÅá@hÌéã€GŠF£‡Ñ›ÙצßFk ÇlŸìàOQÚÍÇß±`ÀŸ"¢ö˜¿cÌÇŸ"âRóè3£Öm<×G vÉ/ìÚ-;®.›.4W)¿¯Ïpàë/«VCÎG±˜†“Áv6Ù–·³ ‡ŸÚmdÙxt-8´ÕØ9%Ùxt5-øÖ -–GWÖ‡þqÂ÷ eçéÁ©Âã—²ñÖì:ܧ`¢É±lü8ÎG81ó·dñ¨X-Xî12ßóûœ®hiUÓ6×»Á*ÊøæBEÆ«ÂV­$Ñ +D‘+€) ›~hK-Qd¸¤¨°@ð57,Š GG袽¸D‘qC…Áéfx3e£a.Ђi> ßG–§oœ 'fþ•,«-|½š€N¿Žð#½ÁÍ“á?ò6ÆA!ÉÙ$nˆ<£Ò7Drãl!ã¤ÏõË"¹±·€ça‘Ü8[È`ÓÖÿëŒÕÿÉü¹×En£‡mlÑb„E’ûìa;-…±b:õá6¾ …BèŽÙ©öz•lðÆÛþXûô'£Ó/~MWžl5«%†lcb=ë[»Þ6Ö0VhG]ŠWÄgŽ7î4ô+Y|”»,c‰”Ç.†ŒµwÉÆãä¶íMŒš,u²‡ÞpBè²óq_^éB'eã#^=X¶:)ÏF¬Â'b)¶¯…ü.ÅÎ\Êk‘d¤¼Â©ÍIY´¿‚BbÜp”,:f;-ïh¶š²è0”h¡ˆl\Ž”þÜÓCF.KÉ¢ó Ì@´ZE¢Íʰ@Ÿ,½–EÑÊÄùʬßn“¬ª(Û-­3¬VF¿iŠÆ{}`pS áÆõû”EÇjN ½<Û%‹¾÷G(àõË'Ú]“éXdíÁXœ]Ù*Yv§kµpàñHV¦þd°iAؘÝE Æ:lËBÃ…¶(b‰b¡îÎ ÂÙ´™™B0ßh÷ÑÅ;oHq¶Û%|% þMy²„ÈC½Žw' îZÍô=GÙ"Ê íÜ ~^{ŠÆÂn£Báߞ¢±vý¨Pš,и.eçcdÒÃ7|¬’¬‡ÏL˜÷l#Ù/s: ™ sã§joŠÎÛPbˆîúâSê,ÅcýV_{Î…¹°Kñ¡ˆñÞ®O<ñ¼,aj8îGyoï•·ÈÆãà•>t€E¼'eçañÖÂqâúxÅGå7Ò±µòjìøf¹TùiåõÄßÙß/ya×ó½¾]gÖ«G}¼Îj²Þ3>I›s2 qÌN‡—oòÆÐÅl%“_X·3\xòô›”æ#ïá²^¼±NYN)þ#&ó˜K%ÂÑè8·\b¹”¶ØWºC.¸Ã¶@ÕnAã«û0kˆCƒbÚ›R¥€™3鎧:ðÂ=ç$ý×,kª½‰½¿4ÂLi>Ú*´#æ…á²'êRdû€a²š46àûÑxaôÛKJ|6ï\÷Nvï\l'8J4îsü}ñxñÆÔ¹o¼¿xc¿WÏõ{á¹å›qèJàÉÁ¼prî-~Æè÷[:ŒwΈ‹Æ®Ž­}aÈùâç¯ô‰þà×VtÿãùGå¿Î·ûö½Äà þ8OŒ ­^ù|ÓÌ·xbü ŶŸx£…›%ü¡O|%è³,“ç`+yhªöïÏIž‹ƒÅïX¬ø:\|¦ƒß%Áó{ºÌCÑÙÒm 9(C¡Ûñ¶7^ èßž/^Ž~“7V¾Ç‚ƒÎxDtu™iÁO-m¬Pˆ…æ£áŠt`ÊÀé,›5Ió‹6Ó%OLIgÊâ5ÜÏpãЭMš?PÃF’¼ð1üÓÆË›‰vãÉ7<—&Å-ÍÆrFÔ2XÜlT <þ‹ß´ mÞxÛ¿ÿ¿0“†è.™¼ž›áƒÛëRú» ]kiÞßÉùuЇNIgñÆ»—ƒÍ ïT“/Œ WñÆXˆhÏ1v~ç÷kß.Cœ>§éÏš íqր䫆 Ïcž˜užü!ÝöÞxc–÷âw꾓7fžo<ä—Æxa‹”¼%ù¨¸´`ôÓŸ‚a!’m I!š#CÙ¸ñ¬ÀŸí«…Hxòº}ƒ:ò3I!½!Š çvR5~˜4âÇ´mÝ–$üo`%™²ÓpSÓ‚·åÙ`n{ã9Ý2ßð\œΖo“Dw¬‰¶µ¼]hgvÄÄ­g©,·%@J#R( )ö$7Ž E Au§ ©·‹ŠÚ¼_&]‡ 9Xðœçí&©p1I³ªÕÂ$­éFtqÀë†'iÄ’dRåJ¥LåQeõV纺Kî=86Ç'%ùÒQ¼1æv1„°4‡y`®h¾a4²–Ò­…–c-™¼Çü7æ2!|³„ÎÝáUs(Èì$Õ)&ß:ËGz÷ê$qRÝ%Üú‹ÇÐDc=džWQòÆ—ôM%Á;Þæ¿J¯–C£3Ý»4¿kŽbÞX¶D)oPûý9Ç«ó­“ÏïÒ¾7v$s oܰ—¢]aȉpAy=(¤yã¸n`œ5±‚}£¥ÙÖ&Íc­7Þ^ò Œõhi~†¾ei¼ñ¢÷èùqÜùªôĺ’ùÄ+†¥Å;=æ…ç빙ʷö¾ÌGØÅR>¿âåìZ<ñç×l¼qhó®ÆÇðy¢W kƒ¨[”“ñJiþ|… ·xA6ñÚhsï ']lËѤù×÷J^ñKþxÆ#y}?<·?ǸÞÇïîrVåfÞìñ&lO~Ï”æ?÷ê¬GòÆ7ó7¥x§Ã|¦«ò¶4òö‰âvo¶”ÛU¼0Ö+t·Âðf±'޳FÓo–Îù¦ý%Ç)Åk3N‹=‹ØÈÕž/ 9ïjTÎCa€|oú |—ä‰C_Åúdž˜Gb·çCgsuž8òcž7V> §Ÿ¾Ï9—ÇóŸj/³œ¹<ÊþÇÓtOÛ!ï6ÉÒ¤æ°îí=ùSÿö˜V×`ÿ/Qe€;~•׃}­¥yÔ—ýÉCÕ!™|L,–n|&þÆý>´Î‰5|ɼN äW¾“2­‹nÚ4ï&Í/(Å ã8ylai|Ã=¤º¥=+ˆTylèO3ÀOÚc@µM˜)“ß^áÆó—¸-ÅÃwA” }ÒÄ2oL^8šš>ðIþæûS™7^ŸE¢ì¢_Umn6[+ Œ-Íóô¿£ñ»†i u ßËcOÏ_t¾±4Þ˜E¨óÄ,BÅ £ ;±'vBƒÇü‡jzk2ùýn¼ýâ´¥x,÷n6Ά/™›š7^9üÎø1?3ž)Íˤ=ya?Ç2y½/ó«åg¸õØø½¨¿9in¯’æ§¾WòÂSßëÔóOåÌ$1á4o¬÷'ßðÎe“!7÷Yš¿Ög|a*±”4ÒçIò cŸcWÃúþV¹q|ÿ¨—{ãwwCâý<ó‰¯!^ßÇé4ŸXéÉòçr¥r·J¯·núVÒüÊî3ybž½º¤Ìë5•æž2Ò›³cµsɳ}Ìò¨ò‰îtŸÉc‘|¯ëc rª= ¯¥.½'ùÄ-þ0õP>»=òÑ(÷v:ÛYµ»îrzW³O~× í¤óN«V­çÔS²„—{C²‚W½ˆ ²¨†¹ZV0H% c©ÌePVtUÈY¤W cqo¨®â/Z¯‰\¸äÑžs&Ý4I¿a’^áÂQ‚í 8dòƒ‰Ìp㋾”Çž†noÁÇ,Ùy( Zø&­·]Aîú@ÒÚ¦ïƒÇÍ÷ƒÈÏñ”àÙJo¬ ˆ]ÂpŸù‘¼±Üd=$\ð3¿“7ÖwB ºqÀ …Ò¾Ë>ÃR| âc"eÞÆz[“æcb:o|b@#‰¡Ed|¯”~«Ï†nÞ8&°]&ïÕ‡;}Š7¼3O”+ÿʸ³4OãÀâ¯ÜÛ=½dòJO†38' ¸J§É;~Å;¾»Œ(dxÍõH¾ž«÷(ßây˜‘Gå§qlJZΖÿÂ1’¹ÛõÆþ>ºßÏžF$)ÅcóÝ„‚kÉÂ7Ÿxg¼-C£c,¹Q&yãã¦=QòÆã‘Ï3ÖûŽï|N¾G|âø®'§ÌÎ`À¼ñ=)Í_¼>ya?Ï2ùƒæl.œïÕN—0ª„ÇÓ …RñÆŠ_òޝâÈÍ|˜pŸë­IóÚ•“¼±¶çt >|[m7¾ß|¯Œ?ó=–â‹ëÞæqnÅùäm„lÞøà uòÆT oìrÐx`æ?;Æè¶a©Îíy"?)laBýî¥}sóžY¨ëôÎ3Ô—’†7³£‚C/3×’æ½HnÞ8Ü Ñû(b óe¾Ywoþ{ÿ?Zò5ùV(Û.ºQÁ&ïóÌÌ4T~ÍŸ\í>U‘˜I­ætS·®ì (+1¦•»ö@ÞJÒ]ìZôî·Á{'÷5È{#á;)I¡ƒQI)Z®ìÌÚÝÝ»ø†ß¿ÑÊ1L)ÐyQ&Ÿ%HáÆð;KšWR“7-zL[,“_x]†ÛǶ½òÕ±›‘òËü°žßí%ïïàH;±þ¨ûüÈ­D8Ã]œÿ¯ çGRÑù,húæï⬒`¨=åUÓWð×С,ãLrMVçŽ2÷n*:öâV“ºd,|ô~)ýW±kÒºJVji€)¶ÙeDÏž(ÐÈìb !Wî_@ó7§äaÉÝøÀ›ZÑ‚S›žúÅÜéÒ 9Dcÿ1rû+rÚ­xâ'Ù¾íÀòzñî¢u~>D þzzoL<:©Cù·.ІZàã^¨»˜Ø¯K”2`ÿå#qÇ"3€íÉ3*c-¡×ó!ß°ŽÛP×nTÒýEé ×$~P½z(3 @ç.³¥Æ3róØúS”h牢Ïþˆ‹ DDá;‰î&bœ2â \ê$ÂÍû•"é{åuâ1cØ-’ï  _k ’¡óÝ“Šs ñJå­ÈgN÷¢’xE/•_Ö!?}ê^42‡ÅWŽ;ÿÝe·¾hFžiÌŸâð?TþýMÀï‹Ã­My«V BçƒÆÚ"Ôxb…"ðó°~mÀ hI‚ÞbYùódH¸j¼¶fp-‡¼q„ÉVÕ×ùy¼¡/_UC Å1 ZOÇ|Žì™ÍCÎχ æõå Ò34Å[ñŠg™N|qUòÁÏÚ™Ò“;V”mðñ!œÉ<:,¾*̾`övþZô#" ë)ŠÇ‘Þ_8Ï‹²Ó0·lÁ?ƒ‰%†;¶ÇÝ<5ýóVRqRÓš¢@αõð¸“;°%"åç–Í qØá€šÔ$ÑM„"a 7’šÚ@ qç6óðmð Ãuínÿ¥þº7f)1p3E÷#8e†8!%Á™C·ù .÷–S@ü:Ç´GÛÆ§\·I¡3ªËÂä&ôihhARï)¤˜a‡nlV%"N1Ú¹ÂÒüÂaµr:ᎻÅ=¾›HìÈßþ0d‚z‚ÕK ’'m¼D \­±yA;`’H/’0¹ÃðÝaDŠà GaqÂJÒ¤uvIó'³*yáM+C–ÉÓ ¯Â…w¹š±ì|š²f ÷‹[}’ðýxÝÅÇé>Š7‰OæOªOåûœ«ÎzšÎ¨P‚…ïl1Õ~†¸ºeƒý:¬ØãœÿŽ‹‰bø÷ç%×¢_2¡Ø6Q‘ ÷Laòóò Æ=k“'B˜ľôQRôçcõPÁO¿¹Ÿ•”ÐÜyBªþF'%†O¿q¦Ž!9:†äü…â{CBô:†„dl$XyN !!ü~ ‰xèio •W?†D¼Óm>sé’‹{Kó#‰¹‚R4®¯›®7½Ó‡¶X’ÖÑ4f}RM+…Hm#Rè\8¢©ãrD…ž1ôö&u.ÂÚ)=G ‘íXŸ#Ofégè܇óû¾¶-ÝÉÌ…™R’<ÜtŽ 7Æ 9ŽU´ôÊtdÛ,ÞXîQRš‡­ÇQ¼1Ù’>Uç `Ü›7Îçˆ7¾g®Rò¿¾¥î3ŸÏY´ßÎ2ùíq=o#—¼±·p%òûAS÷ÁS84O|~Öl î_2GÙO·.Wø˜WÉ6Ç­Šª¹ZìÕ„=­M“’»Y6OmØkDø(võäi*«$ÍCu<‹7Ž“ºöf±™ìLÚP¯–0ëW8bŸÌعçžR7 ò‘Xl_[|>=ß=M¨³ÚM'žœN'o|Œ'ÖõS* óÆÔ'Ÿ~]FFÉK$µ„YCêœZĽˆEÑâ…WmüÍoXÐNÞX)*Ì‹sg©l-Íû=æQ^K˜ulMÒECJñ›U ¤·EßB1vŠ£ä{Ì'{jÜç«s‰\‚Èf bdÅ:aŠª/Ò#\ ù²MšŽEC©EÃÙIl™_¾Áà¡lEF|¾œo3Mh¾XA¬ÛÜhC±¥"ìwë$¯âýêäe³«!€yc/%eÔ|ÿfS{d—e~/XR^éºçšRFo¥é1»¹– clíÅ'4,Ëd +;~\n:J¦W,½'y¿ãÇ&Í;¾æ…W,)Ík=Ëôsy+#íD9R濯•ý“5ö g‰oõUü?Y]Ña7Tmz¨HC?Ótæ«ùÄÎßß?>¸/þ\ôb€µcLuDê—ŽPkAIq%m·;)̆‚ ¾/H~ÚƒÅ¿æ æOV(–ã¿Ö#eòqˆ \g*Ü8òZ^U!Íï1cm¼1V8›ù>ñÆqâϤ2üÄsÉ[NÀ †J¾±‚1§+’haQñãóuqlÐè’|^/>ñ+KJó|Kè?Ãï¸gB­öù$üå"@2 „¾´Ä«˜ƒèjã{¾Ì×½ˆkà8Í(&äøRtíïå#D é]ð¦€]6`Anû“ßðÄ[Ñ„8Wäx\|Pp‰‰P×ÞšFü© *Èÿ Â#úX|U¦ëÀ#18>y•zìs¯§¨6¹²áf=^ÆÑ¯ô q«žÜ?Ö“wuze!=p¦ýñ®Ë¯:Í¾Ï 6¾hÕ›R|Xñ´xãÜ‹V<ºÓµxcÅ.¥yø˜™ÅÇ^;¹+¡È%§yãX¹—Çû±šÀVÊô« ËÔk=vçÑ]I'þŒ ŠÊŒñ5z ¼Kˆ‘yc ¡/)VpÄêÛVÁQÉÇì|þÁ8ȸձP¡ŒQ¬áÔãD|ІˆÃïjáßPùûS«ñj/ÕþÙ=kð³’³qúÞd½š´wS÷j¿5™ï¦ÔøÝâ‡ÖRÆ{ì$Íϸ¿ RôV7v Ä NÉ,nf(aØ€°»Ô‰‰_y U†G)‰å,KóŠJòÆŽjV0V8Ì¿‡U'ö»¾Tí„Û/·3™{Ìá¬Rª ntUT“Ÿc—lRpß‚Z˼q¬Ë¯íúÄ»¶ºÉVÓôS'âÎ¥w:~Oò~ïÊ…Ù”É+¾.¬÷)Å»Óò†üG§•‘v¢)ó¯ð¯ëϨ ÙÜ}r•f&˜Ü,Ûfå„ÙÌ'ùÿFcá¾z¡GûÿÍ KFÙÉzõ¹úÏÿÑþóßÛŒÿ®aVÙx ™aM(SFkÛL 5Çk#4FývîBÂËh±*mZÍÀÆ£ÎKA?‹„aëõ¸øRÌæ0ÔµÇ¤Š¨A5º¢¡T íM¶Qî‘f”& ´„òx0 ?/™`j«Ü#˜.w ;7už±Žä·§(7œYcÍgo‹S0‚ÈnlæˆÏ¾¨÷¸Øõ5—&ÔYÆŸ°P[ˆ=¢Êޤ :jì|Ô£hÁK˨–¢oîÏ-Z¸Ê@/HŒÈ8Œ\`H6lè‚ÝУIñƒ CÉÇ®Bx‚•4Ÿ[ÐÅã8³ñàa!ØÂc/IǺޕÂü»’¨H;ƒZAŸÅ¾ªŒá;MɿӮ¼Qe2ýªj™Á¼ÙŸJt~9~Ød‰Ø,ø –ã·­J5<.Zb«@²€~«ç¬¢«Z¼kÐ#í§kÑà`*kÖ,îÑ*Äê²Nò¸—$·Ë[tt: Pœ•|”ͽNÅ®=)EëùbõVå}› =6‹cµ‹V÷ðLØ$øUÓóÆË®Z&)cæeIÞþ*!Æ j»åýkNyGÒ™ÌÄ<[HGÅÍhKRÔRŽM91o¼i¶aÞÎUZE7v…V³íçü½­>ÏÏ1öû3g‘gî¾L¿»³G?áÌYٯϡÌe®V7ú[/— s†)CãáŸÈ\#MB¶ÛBäÅʺbD:: Gdb qlÜYR´ú¤ùàR(üDÆ%)d“²Ý"ü¦m´ —†,°N»KŠ»±Ø'Þ˜¶GÉÎc‚¼ÑMñÇÄ 3ò…óÆzŸ2I9øÊ…x¸Ÿ½–4½ÑvÅ¡‚WáJ’f¦%+ÈüÕóµ¯O$ÚIº5¢´¦Á‘z‘–æe”›¼1LÁš4¯©’÷ Up~0Rvþà€±Æ £/ÉF/tèÌ2p]Lû7‘BJžH'V‰@ý‹âÕ_³¬OÞx¡½,ìÀ>÷G¾ËTÊRôçegc!-cÎL÷ÙʧÌðñ(†ëÁ¤üÅe£u(ÍNx9)þÍG*3”Q›ül,U±9_ ‘—”)“ã#{L'Öé)Í_TVÀžqQB‹Df Ýr‘î Ù[Ø c ›!¬L Nx”6k8iÝ GŒa^€ÝMkÏu”?+8Љ¼ñc´²ñ´êÕőـšvïÉV<Ìë}Êm}Šwf¢>ûégÉä·MûÌn¼Ù“¥xf]Ò‚ÎçXé§nhç³¾F’Bú€f õµ?EfFp—¬Y’ÒsHñ'”ŸÁU:v|Hˆ›2äfPlEY»ÀÁA… I!Fkƒ1tTŸSÏ%ÿço~‡wáﯥ"v#-ù¡(ž)HF3e &Î{¢ƒ¾ÀEºèº¼ì‹š¾$)¤ûHñöø rb±±ÅÿI ñ)&…ø>œ?ô š0N«(=‚œŸÇwE3uz¯ËÉ ð©8hc^¤Íڒ棅Õ1°à¯©O!iþ–ùšyaŽ®”G7ÐÂÝ-`ÄjÙx´šÄj¨{pÛšH!¥P¤Ó«tpTr<Þc;*óeW5ØTÒgÇͦÀÒ|ôųñÆÎ—–?hB”®››@4J¸0¾GàˆÌ÷)^l"?6ß.Š@vmPQg5P~)/7®gB£‡í¡ÒÈZ†Òì,8›Žý,¸Sµ¶7ÓŠA ‰y$mø©/§Í…yªX!I,)“ܵ—áÆÑ£é°Hó¡ <o¼s.\RüåûÄŸòÖ#‰Õ”«e75¦'Ekè‰Ëvkn¶Ðß­CL,Å£+ÜÏäÑUΫdã‡æ C-ü8«5oŒ®RSAd^ñËpaÅFphÓeÅ:¨-!ò¢5<Î ã7Ó‰aKóJ€n׳ߡèCv&ǹI&­Fg…c!ãhR¼<1™Ô‡âyÐY5}¤Ì£HAP¬ 6ô+ÕõÈ–.ôík—äózñ‰ci³0«—@Ÿ? ÂÐôsÙëó+ÊmÀ] dÑ"¨ªK¼Ú‰pîG]?íf®IªþŽuRgîªÝ)ýÍbq``qàʈҋüQóã»0üiÄþŽFìOþŸ,Ã8ŽQS¬Áù/ÔÉ–æw-²›7¾¤Á°4º÷¥… CÅ6·”‡'Ó¬Ý=)¶}ºÐfó(f"…”B‘N¯ÒÁ-=ãñÛŽ›O[r¸Õ:¸)wR…×u—4¯'É;_Zþ _Pº ÆÀVú•#Ëû2GàˆÌ÷)^ZšÙpTïE +k”m°«?­âjºB)¼žd)…"Šy=Alöæ®4J±qRßY‚CúKÑ;y“ÜØÎ¥4 GJxÀk°$âä¾{”4¿sWJó' ÉŸÒÀZš‡ÊY¼ñMË€’ä±Ó§“7†w×­KñRm&o,(ð­w¥Ë׳dã÷Q²ýú˜`í±’¦vtg¨ Ï±³ý™mŒõ„#…H¨•’¢ª H§‘aBñP[´îYìKíôb£ÅîZ˜=dÇ!Úe-…XHÑÑÒc:»SŠ6ä#¿«îCA™×¨¢¢¿°8iG°Bã³&m(½¢„Ùõpƒ²ï‰j$H^˜øŠ#¸ –Ö/˜½þ-~€©¼ñPmŽ© ëƒM{8„9S˜ÍÂK:Ë&³ƒâûd¨áÉ¥Ó”æ±"~oŒƒ-FIór/ž¼14Æ{Iñ7GO¦µGB¤U $…Bur)rÞ Õ8ɧþ×éÎôªx˜d)±*.K€iA=ʬ ßûÒàÿ¨Ùo+YT7T³\9*jü >ƒ¡ØuÂE‰ Š÷ÏP\ÁA p‰pà6ƒ¦àcZ·åMØòzÒBÌGÓ˺xãØËAÌ û9óy¤\ȳ^Ê}#z·In‡_ÌfŒ,ÍÃêk-Þ8c¾Ã«Z„™ÔÙIX•ß4Š…Ò‘¤Ð'`IðyÓ~˜ã¯¨CtqÌ{þšZ …(ƒ07?Q ½‚o&ªw C­_T2ù±k«pã6‡^:è…Inö}¤Â’äçڽ„>\ü+*–‹†9˜Üž¾7T5{{©¤i|sÑÑu CÁ#ñ‰OnCMé4:mæs‰°îösáþæÊç+Z å»YAèsæ#Îûš‚¨3My"N(¦É„ ú’*:Ø1Ú¹º0 Š‘¹…¹¯sô0@<,ÌÂ/`²DtT|§ôEѪÍb WnN³09aûê0¢Ø@Š.éÆtºÞXøÅ¿™2JS¬;ܪðFüŠ:¡æï³Á“x6Hp‚~e¹Lœ¶ÜmÛ#'Çž¦f[šßiÊõÏ6­ ñù~½ÏÏý]»ù7¶—îx¢!d¬šeÁ³ë!Ç\E ¸a-ódý€õÛn+8ñÆÎBó[ëMÿîeXF¢åV™ÿÂTû‡àoéΓè|Ç#LhCé ¿rW–%"“FºO¤nÿ¹7üw5Í‹ ÷I©–2¥ùE/yáÇNu] m¤bÀ[ÄnL¸…Ô:.[õi½oë|T‡û~ñÆãÁ?ðƒß)­çÏ®÷Õ×¾ºàgƒn¿tfIï¶ I·Õ¬aÆÈÒ|ô‰G 7ΘïÑâÌ` XWîw#öÅf{Û–hÒ;ŸÐ ŠY ³ mL òð79šì+ˆ@9õ·c7p¾È-û(ÑÆ8…r=R&¯3Üçji迳Sƒ¦ÿ„{Úbw*„LÆÑ(k ³CSy²DŸPpòX‰^ÚÛ%“·‘F,«­[b ß#ùÄQMﳤSëTšOa?7úÑqåó¯Î¯ó.Þ*Ïx¯^2?ØÁn›³Hy#Rˆz6qacS_\bÓ½ e÷ìeÛÞÌgcèãñü5ó…çödamy+xÌÇëor„g^Ø F=æÙ°ü¶áy7Pï†ëÕ,ü… ÐJ'¬G0øH!íÊeR(–Sü+J±T£¬f²}âmâôŒÇÍÏfÞ݈º˜[DéÁžCȲŽ_5E’ϰjS¿7´QrBç›Ê¡sö.Jñ‰]X’ŸÞ%Ÿóê]b-cTb•p‘BŸ™2ÎÎ$)L0&+èVô»½Õ½~î"ko²†*¦ U8ÖQCƒ{òeäŒ>Ư;Ù„Ž°hC½EWéçìèÑ¡øÓ©&ó“gõWȯôoíÜì{m°€;1É*®Ü,‚ÃD3Ü8ât4)~¥±Î@Än íEY¨Î.^x¹_¼ñë9ÆzOö«ù¾§xáWÿü›nüÕˆÇ9ð®Hâ«"©0#oÌ-fÉëÀÍ›ÆVU>u[ëCŠ_¹ê–¼qëÆ Åçó³û&În¼uç½›ÿ6 PáòíŽ>,n¯âcØ_—X¯ssö8û’÷Ëë^¼±Ë¢ù,›,“ÙE F›ž"Y}ë@!µHnÃHN6¿nÈÜd[@úÕB¼Ú‘góòjtžíÇchÁ‡kè¡7)rÿýˆÅ­ŽH!¥ûïi‚mÙ£}{6¦UœŸ£®°ŠøÂ19³!NJ)Ì~þã*Ñ‚ð ½X$Û÷F …oÞD¾”‰É[ !Ghàô«#íCnŠØÒ#¤­±-IpPùÚD:s@¤Öº—&‚ŒÊº™ÂI&§Eúºå}\Ø0 Š©6†G>A¾ùÁï êDòÆ1pƒËWIó¡¼³xaöõÅC;ÇuA…)ä(‹Í8f”ÕÁœR„¬<ïN'Œ¢0¤ cÏVc•;i ³ uí¦õ-$’eOã@"%> °ËËPm%?JÕªb/k ³÷¦RFZ0FÈûb‘,<d Ð>ò¥sÜýCHfýnGF”dFÛѽ¹—TgÙÂ÷LÚ3¼cI™<Ü _nlÕTt5Ð+®¿xîõ…,.)£É»xãɳ×%ÌšøHZ>çš¡v‹„dò·1-fê>a?ëk>ßñê¼1ÎG4o<Õïµxãz=/º†ët.9wÄnkg…¶Õ—`§ÀšE[^×gùìÙ¢¿hO‹‚ûו¿¤VmÍ'^Qï$9x3) °áµ,ZVÛPçnÌ"E ~2þÅ\×™ù±»ûI*™f•èH`è.1”X}‘BŽ½Ø–¨v*ì“pOü3êdü4¾‰7œÔTãbüˆˆ‚vèWÔÉ,9ôq –¸ð+jÎ"+õ°÷a¹Z¡B?eìs7Ùùƒr\ sñÓ¬ï-ƒ£dç}.†Ã±ßö¦¹eç¯ñ ¿¸^¶J¥Ï}¹?®gøÁÊ´s ¬\Ù+O2o̯²Hu¸qTÊÙ$GIßž#›«Çž2¯¿¹I>yaœÊS†äWŽç:è^TÙQþD Å£ôæó6Â{õ¾³àJ J ³›öK‰6¤­[Ò‚§,E¸bˆBUo6dé“zÈ“æ÷ë¤*Òø¦j®xãíÉ'ŽAÅÖdã£;ëá:^.–?Ç3ü´ ÙÚdã±S±…?ªXÕ©QɬlPò~ª™ØlV#ªO!÷x+Ë´ë7ËþŸFÿ?©ÑŸKš€Ã &ú³ÉÆÏù ¼©â[v>ŠjT=®×Q²ócy†ÆQgÉί×3“#N€Rv{t[øÐÖ4Þ’G;Ô‡[’Y²ós>Ã';‘¿)‹…¾ÑºtÝ{¾ëûÀ»õüS9ÿ£*'´¨4‘ÂrSrbav+â/‰PÇ3Üxá*.û.ªk%ÍÓUÎóµzMì*…ÛsI®è`3éõ`·­š«~E…¯ƒuGÇYk#&¶2`Oê:{¨é~5CÏŸâeºb!ô=$û{| ~caÛ.ÒˆwðÅ:Ÿs*ŸÎËÂ,ŽÈÊÀBס_Q¡€EmŒfR: ôo$²ãäæ¿zŒÙöÔ9žt‹»éŠ©Ð;ª¤Ú;.¶ð$z³BÓ%ÖYÒ|o§Z»…EˆÓÂ¬êœØB_\Dü‚#7_)ROyÞ}þx€ãFò‘‚óÑ~ ]¿¥ëâ"åªàTÓ-MŠE§èCÌïÚöi™ü%‡ÃpX™p(ª¯»k—ùú0b¸Ì‹¨7~…_5içºüð'mÉ?©:àh•q¦ —ZúB©geNž>/lå.l× ³êsï³YáÑáJ<áL¡xcHã²N›;¿L>ÿÜd,Á-I~.ÌyóÆSký)ÍOævòÆ~¿¥yÇG_¢§é6ßò¡ÑŽ]À»$ô/®l<·•lÒý”œ¯V0y¶ÏÖ$ixp*VðU0’¦à d‘š·”è-—âX·F Â6Z,á¦úá‹üˆöáƒîå!ÊG£X¡ðªZ‚®—ÚI_}¶dŸ'Ô£èÜÊ&b]BÕ'<“z7%¢ÕàLÙyïÌ.”ÈÂÄoö‰n¯zg+ÞNóÆ1wÅ7%hlàL’(Ë­%Ù('kc_¥ïÁšç|aûf<%Ë—Yá,¤âOÅö—Ð6Ã?Ko®@&ô³Er—þoŠåßWÒ^-Rk_ì3_¾ZQ‚WkkÈ4âûŒjœ†\Þ[&ïFÎáÆ^G¶4¿z‹ÀF^8™ÆÏµº-—MêÞ%7inA¯`áwh~Ú‚/ÞX‘P ÿ©Ôÿ\áþ»š–MùFÙ·¦Ü¼>eÏ57ÉØ=ðwµf®ˆªyºGì«ñʾHŸßêÕ_M6wžŽú=ñ1 T}/üî÷’—kÇê…áàm¶þPø[(~£Ê´2WØçPGÜ"Ý¡C=®ï#ñ8®õ‹»èBÎýѦ4Ÿùõ›ºÓzü½˜>‘:ÜŸhâØ‹Onß›[°<{ š[Âoí­é•ÞM2Xx×Y—ñ?kmßŲA8÷$1ZÝχ„]üüU¤Ð櫊2Ç”ºRÝT}ä«]ù[T†Ž+Ûöˆ Þ¤â€3'Š“yÔÉýÕV‡Ïçɸ¥0y}@³úÈ*Ó™-à]–ÿ£GðÕç¨Ü<›w|58Ü5hÜŸƒ¾dîÏA·KÉ»sdqÉñPûr`…ïËŸ9X¢8⻞JtA›’õ-pÍ—]hµ=¾®„Y7ßd{c¾[¸Õ¿WI*ÔzÛÓ€º9ö޶§Pæ˜ùú>––殇TÙœ‹¦ßÃñ5œákªãóäPu!'…ÂðnÙxc7•æ…³It?̼…USc UOÕgfFU×ùèZß½mõÀ¯é«Ì?kÝïG]¬Â¯ªËÂônzIªšxÿ¬49ÿ© fSöjeÅâƒÍ 5~j;ß«¥ËÉ}>Êq,a>Ê™0mZ¹¡ò3G°?VÚgKO—¤Y0ùÜ}{vuîß]dŽ8>ø>,þ1䊚[þ×hÐ4 õþ*ôû÷Ñ y½ìÂÑhÖoP²'º[ãr=•`žÕÿÙ>¨Ñ`2ž6¯VKô¯¬.õeþ»AÛõ´]¿´]ÿâAô «—þíà){ëÞ›o¯^|ûï{qÅ[}м9!Å´ú£íÕG={·ßõÆ:d(q©£ßS7·’¨Ú]’ÆÞÈbÃgYT:Kѱ|Q$P }É:õ ‹Jfáje‡#°x4|±M “8·iÏ@Ãá¯9¿h¿vq9Çñâpìsè—Œ^FJ€qCëpͤʶ͔ÅG£»µpaœUu•4¿«Œ›7ÆTñ()žG³M${ÚCÞ瓼±®4¿­ãHâå$‘µã2kè'¤4¯7MìlgþiA{Ïò‘ ”¢#+wµç àê±C¶h‡,›¹CɤéÝ/CåìïÔ4@ÒôýË'"”g“Ü%M{Rï`áIw)“5Ån<ÑGÝE ÏìÖ`T”Ò<»—â’âÏ™n÷¡g „C¥³IÒÜ •¬ œ}Œ&ËÞõ.VPßÅ¥?ÖÚhØ'š,%‹>Ç#4à¡©Y/ø÷™>ŸíŠ©W«Ä¸¼»,JVïhCÕ”B€‹eÅÜØè—Ì!µ1œÑRi§¡Ö}•e 6á ÂåÞ´‰Ò8`¥+òV$|äñ}:ñÑØ8™¡ÛBKó1ÞÚO ¾KɼNçL$ß0ްµ„#TNÔè&R2ù…ïÉpc­cA[…rœ•JØCV–yõ+µæ•+l šÃ“Φ-MîòS k[zÔ>1kìNãÓ†;œ}5Qþƒ–§|Ö]æåD©î~?§}8žU¼ÕbvËtâ–Ûá Ô‹RÔE:!Šd¸aVÜEÎ%Å »™”/ûÉ3~vÙ·ÈÒ¬ËàÇÒR´à&;±&/6pGcß͟諺I‹¦S;¹KSk%ЇV*{—¦<}Í%3Œ3Ñœ€=& d8–Ã@%ú[(‚n™ínMš¿™!É î.H™üÁ#Ã/Z¸¥#Çmoš‰F\®&Icb{¶o’¡mòƒs<ø8Á9çk¾f0–ÉŸŽU¸ñù‹–÷%ÉoÔfɵna‡›7^ñèGËâïÎt´øã(§#&/W㣶i9jT^*§ÍÄD.×ãjÃ8›hƒ/3V(Oæ=˜ÒürñÆ;¿gç…×­„YÌ-Ì4›“)ü†7†7÷¨oìX+__úÖS;xü¿§øô÷¦4ÏïP¼ñª@M¹Õû9”ÁéI‹×hR4:ãѤh,AK‡'WIÓ<˜)C?]M(ÅTÜqŠYÌÒNªSRš_Xü“Žm6™¼6§d¸ðNÛþ8é _¦ƒ^`Fž’ôç†ý,V'q/M’޳I÷bcÔCè,A‡«ˆýLVp.4‹+)úâYBf W`a’ÇW8L§º§y «7)Ä#áªùhŸŒß*iAÌ&’5dÆ&«|fr²&Y'£Ç’æ¹_¼ñBw)ÅGåE:ÄGžmg“æíIÏ<1>ȶ¥,~•zÊá¡Z+Éä÷W¸°‹»‹¥‹#N$ÜŸüÀ`±xá Îµdò;Ím3\¾×’½G\®'ß[‡¼¯a7~Þ8Úûæ¯ÂÆ}ph*!rðÚ"o´þaƒj‘ä>{OÓ†ú¤Âžd¢£H£<&¤PvíëÕÉëë~º*)¤Lƒ›S šÚ*§Ùov‚Ë÷¡­ÎdÇ3©|öN"yÆFuŒ×á1| ‘PÛ$Évó£ËØÙ#@w‰¬LRHS‘B˜VTOÉþ½U“}%æ:þhÒüÆ­KÉ{c)Þ>¿v,Äœ+t懶Zš¦¯Ž ¹óTÒô­_…^šÝZšæY*µf6);‰Š½½ÿö‘¦k­_i:äúâ×ì÷s é)¦§ŽØIeÇ…éí¾7Zp‡†Æ¬ ¾ˆYAç}Œûw$I^L°Ž‘’ô¤>Þ¬`FÆRô•§gpç6 oÐ ™â»M*&z‰gÏ™³*`.ûªóÁ†\®§T|{¸1kÏUñÉœë±tb/ÕK"Ñw&t¾gÚƒÖ÷2-8tÑ›DtuçãóÔWÕ·v<žóæwï<ý)ïßßæýÍZ®½òò™ÃßJjOÜOÙðÎãWžýô)¨ü~?r]-DÆ^M=¶tx+²ï)M£r.l ­ùKbOæ¬ûö†c>ˆ3œ(Í#4°ÁBù³òˆ~卨–¿Ç0)”©Ð¥=öûòó=–g8Çî‘çwÆ=iae™éÌA]¤v–!ÞØ¯>Z{q,² ¬âTö[©úÞ6þ\í_ùj£ÞõiùVt_û7³éIZ˜œâdºµdç—õ:{Øâ-);?ƒar¸Q»oY´üÜ;ôRñ9®’E‡¶…^Ô‚á^Ë¢ãžzYM¸”,ú^¡÷ª]M6zy_œê¦l|¬ÚôðÀ§ÖõÑùA8d£Ö+:f Ïôw¨šn5¯±µM³†¼jñC¶0†õvŸýšÃ|][Anó)?üv<‚·#ã±?FåóúéÑzT‰"¹d>².²£Àp®þjW!ŸXÝ’yã=Ôi³i‡pHѾ–4Eû:Š7v‘ï*s:ÇHÞØUJa–¹0O£ã­dò‹< 8\øýeòQ­XÔ.ìpó‰Þ3áIF›Ž&KÆê3`µþÈs˜¶äÙÔY&ϼ«pâJŸò?ó} ,i^×§$ïçÖ󜯲 Îëõ\¥Ö°mÊÆX/<¹I·xáMÖÖæ7Ú­olkj?×:ωc:’7^_×Ç*ÆXÜÁ©Ô13ÙK©åP»ûÙÎ0‹*Š5æ‘‚d컓mH;C´ HÒp°« 梫˜F­ì½SŠ¿¥§-ˆ­ «…Ȱ(‹îÃîdà&xJ– ‰Î!I¡A—¥%EǸ¥±„°‚IëïÇ÷'ˆ^v4Þ8R˜6H³"f’(TWÉ ¬|…âgF«ÒX@ìïK’èÞèšOÐ㣠$*Ü Úî>͸~É|.08\’¿ XPH¨Ð°˜°³w Ç/kLËäiÔ\áÆ¶Ò´–ú*ëOc‡›O¼³E>lE:P[0Ö‚›!IóŽ—yc ¾—&ͨÝ~l¸9I‡YA]Vœj\ä¨&fR"fß%šÏ=ƒɃ:w‘B'û ‘ªA"]­i U2Ö.'ˆÈéÚø…ao2éJǘO,Wó–CJ‹¼_Ò¼jýDŽn”±8ò•ìü;<ÚO¸¹)üv?ÃÇü#Öó,;µ…¾s(€íÈå†ò å¾öùKÊ0茋¥{‡ ¥nVOgÿ'Ë"$¨ÆZ<ÜkÑ„z¨Y¿ÃÏί¶Ò†Ò_+¥ù s‹â…{œŽ½øC[ÍwÜâjëÓXa!m1ÔÀ÷Z0ö_4a–MHÒ‚8Üi$mˆ=˜|õPî‘T(Õ¢={¼”ºWr%e•…›ŽÖÖe›¨6׺*t›¶ònSê6ZÝ[š§Åþ•|Ç_ëšÒ|Èý|Ðûó-_RÂV$8kÔ™wájó$ÌnÜL!¶Ðî_QqˆÛçÉ9šzò^ïñ{uQy{ ÙnMšWálè…Œ“É$ÍGÊa~/þ‰-Ì"û–ÕÖÇK* W´¹áM9q"{°ì¹e¬ôȈ¬ØB ‘®?ÚiANèͨ¾0E“•RØAß%ÄNtf…>@c!ArÀI‘I¡ˆÚ•¢È°ãŽWSj©|`ç-™üÈúÄpáaSuIóñÙ?χqú’Ûœ842ðâF@ ¬n€¿“$:]‘Fìáü"½âBo*oÃWüµWbÚx“8àÖE¿I…黢†#¼qÂÝÕ9‚£R`Ðn5br09t¯žZœQÜJÒh§!>ªDÔûS†kIm[¾†O¿ž,:þ ¥ÚÿF«*‘¬VjÈä owa‡'o¬âd>±Ša+>Q0²Üd=aP,Ì:R|ù“Í 2ÎT»Vœ)Ok¡7îƒIYô±=Bj_}Ê¢;+x2{R6z9žÁ/n¶À·oLµõ¦Ž±Ë 'r YÁmÑÒ­¤èpv+ˆÐÙ$éóˆ¦$YÁ“ ˆ.ƒfÖ&+èïÑ’‚XªØ&ß‹ñ‚Fâ:TY?ÅpŠÄæŒTkâðv”‹]g,´¯ÂlØvÖGªRArÅKLµÄEi*2"‰ÙJÑ…6)e+],|^Ùx¥lE \/…Ãö‡À^»Ïu: õû·6Ïx/üþÜæÆ;ycÇãßVxÀL¨ ËzÅ]çü¬ÏùÊ,";²¾¢R×·OïFÍEf<ðæú'òYEVyÛwV|ùµj{ÒÏÊ/VPï|U×w5~W÷gOV]è³Ï+îÑ»þwì·ÄÑz{…¨Ñp¿¢G5%=¹ï!OõI¢5îrè¾¶Ž¬ÆK 5s¨º/÷žî½Ú««mÝtïŸ_½ö«oõüïÁkàðãè¢ê’ŠKJ6®U…⪉á\xò¦®sêD ³'sb…vÌÚ,Dn;Ê|¬ž³¤y¸¯ÛŠ7ÆBÇRÒ| Õ/êÒWˆÃc”JK牌#c'Éa¨Ç22yƻ•='Ÿg^3<1ãMÚB“]Yîri£äÅå1/FžwÂS¶U)I‡‚»XÁL ¤ ËP"BÇ©ðüM¢|-ãYvþz£U˜j]$¤Ÿ|yûšøJþŠ-rŸ©§E^^tË{3§÷5I!•A‘U0Ñš±´ã¯gf˜iB=ȬŸ«íÚûšuñh5éúÈø~žwÊ/£ÆèdU­*úø>Y‘–_v'zRÀ)ßÂd¢ Cž<Éq£Î›kVé iä"hZдZÆeU‰æ!a$ÃEn¨«N­ œ[òÆ!ßá‡^2þsûN1MãíOºEoËΣ€ÓÎ<ûÍ"í†E·Æ mQâ ̉å°b !Ñ"l0…_)0‰>Om{’+CóÑÍ­,¸MBKÒp`r%+ËO"}§¯ yÖƒ`Êî`ã³¢Ùùˆ¦£íä ú7=éMbÑNØa5„üÉ“¿+z3Œ®âdœ £ŽÁnkÿÅÀ'°Ppߺ ©Èà¼ê‘ÓS*NŒ=dÄ"Þ8&Nu¹¡Þiö£hbD€Ã±ÙÃæÅÒüέxÉ;J–楋VRaŒ€þ Bd!fš.$ˆHÇ#©ùjä·ò˜OÐÖŽÐy{ONv”4 #cO¾ãoK´æÇ="ãÉ+1æšô×…3#N!òºµ E’ˆ–ŸgJÑá'0¾•XÁ[‹Af½6¤ÂàGcwÃ_àæp8™¿¤´M•œÀç!ÑPÜ35ý¾WT:d'c»›+°—2ø^¿%µøí^ø)Ïß<Çüý ÞE _cùéñ2[$™ã!6_‚彃ŠÊý•·¢®"p>Äþý^QøpÜIv—¥Õ©ja™X¡Èß/ã©Ñ¯_´ŒÃþ\´`xQ9eÎ Ù%úÛKÅCî/^‘Nl¹þæ9k%Ò±ñGÔÇ«XªPÁÙK=±›¡žªU>n຾gÂÆñOT­G¦mK¦??p|—‰óx¼û<]¾\2ò{VÊïëW£¶è‡1Ä»(Šäžç dO¶ÂãˆDc¿Æè¡€¡bš)ûeÔ,xð˜"ÑØ/¸ÍЀ±¼ž–(:ûË \ç/,½6¢ÓBÒkÑXtûJÈîÛ¢Ø8[¸E"´ú ûç0üË¿±&ixáø³†0"^4±†Jæ…瓞Å.*‡ä&“ˆ«ÉÎëŽ]r(fÙùõ~†¯\Â÷^²óë|†¯ü¢ð³oÙùuy†¯üòCËÞC«áɯó¾òY¿”_ïgxàÁô§ìü¸žáãÒ·ï²ñÛò ßhë #0í{œ§dóÅ ûã›O¼É,&wUsfs=žŸ¼žEx¯ÛDû5æ³ ²ˆF.½WÁ›åÔ÷¸ˆeQœ4 Uûã&*zX"M®äyÝo¦ U"Stà‹Øf1Îf S¿¢bÎôéP’ÃQ2õ›îÌÍâH&¿oøGx¼ÁÒ<ÆûK…wϳ43.çƒ>f>-ÜypS­“ê Kó4Úžü±Ñ/Û´0;.æ–ØDG¾Žƨ{qÈ ¿ñ°Ö…–OóâUó‰ýÎcT¼Q¶n©'-AÓª»‚ǪᎥy»£xãøû¸Jš×YYÉ ‡7âT Ê|cÕáԚǼ¨ñÆó¾^ü :]I Û¸Ñ F9Z:‰#©N“BÐÆEi–41 ‹<.%¦4ÏX$-ØÒòH“? \M_œVËƹ6špgô’6†­ËY¼1v°t^øÔ€Ã|Ãý­‚w,Î+x«„¤?·-¥é¨”ÅŽƒNq)Dn ˆ5Ä9É)ÄF™ -[tCWçn<Œ¿¢è=Tœ¾â6KŠp6œ¬àÔ^6KÓüX*¨/zÄ-­øH ÷çÆ/™‹›©4ÃS.’¡Ä€9mðÅ:…Áx¬ÅªŽª=øÄQâ…'öho<7z¿8|Á)…;­®#þ’¦‡¼o8ØØ‘²4¯HlBÑÆ(=,{Š#`²Ñz(Ýâ„K‘B›ƒ½ ¦£'<ЧLþâßNŒíMò©ŒÁª¯»¼¶$>ñä3ò>b!Úxcd9ž«÷îªAoÉämQ7äRØw4W4-KÖµCÖ¥GƒÊK‰ÆÂÑN…ÒïÎú‹ç Iv>™n7¾*²_è@·”ëú ¯Îâ;+Rì…FµR…z‘†¼%Òµ1ï%Ô„u4)„mªÃ¤P”ˆûJ’ÈêrÖgyÑ‚¼‡¥^õaJyxrgí\UJž2égU°0ú–&Í_}$ŸøÌJ€ö`es‘ýHÚ[õî‘2yŒ®— 7Þ¹)ÏÀ:4Ìrã¨äSˆŒR(>DÅ¡ õK*f›987mR4r XBž“…õ¸µH´ãLË¢ã¸ßpÓäÆÙ äG\yú±dòÔ 'îqx\wO ÌÅ+ ñ¹¾æÈ+¥¦3á$š«®Qê?èf‘ÛsFqìï’¤PìÑühÑÔ}rþtÌ¢1®ØK£ziúãjËF/Ç3x‘Ï”Y¯tq·ÅqFÅ8—Csa§ åDmn):‹#îϤ9Åžt¥@"f ò˜Ù?3÷Q ³ú?«ù©>KÕªªÆØðz°˜ÄPöŠ½Ì‘I%HîÜ1#R(6]_)D¨ÝLAávå̽ò £P·Ð„±±eã²ÎD>yÈÈV´áÄ&Ød bÏŽÖ ôˆ/c0e@ÒÎ$ *‹Ü'Ï_W’BN€Ø–Zú‡=ÙU.t®SÿÖ3Hù|™îÁšëå[ñ+êÓ‹l§~Ei¡)¹V3ù+jŽ" ý°è›†ló£¯<¸JÂì.eo“C{|p˜¬ b™ôÝ't¨éÄãÉ'æƒ3†Ž™§ø5Õ‡äÉ•bc¼T’¢»+AÈ‹2ªÐº•4¯Û’ ÷G°šSÑ]Uî8 MZpã8Á¬ Î ù]ýýŸ¼pþ.¿«Êßß7Ûëý"Õ1¥yÄGš/Œ.½¡-Ï—°Ú]¶¶Ï¼{òÔuF}6o®¢[ãó™¯K†nñ­9Îo2Ž•dD•ƲÄZ|ÃÏû$î× £ï‡ÇÒ|¿jÓ|“þ}à°H`Ÿ©üX&­¤¿LZœoÜ·Ÿw>¶ZSë9;ŠÅB•É3ÛHBÏ|ˆVn}Wþd£{ŸH¡ÁQ]¤|jæ$‰†>`Tœ¸ÐëàR$"Kó«Bǘ7–¯rIóZÊ󇚸`é–Òü¢!óÆy?‡®Ao->±=¯“Iù»½o{O¸¹¢µ ÄßGü‹˜‚Œø—'wØË) Í[ŠÎò‡NTXˆçUc)D¿±4?çÏŠÇëguyÙQ°¥¯#± ~Õ2<+S~v½‡XßY?}fx»ÃûÅzªÞÅïÄC™WóƺNB¬.Öµ"õ¸gaÝ??Dûfù=ü‘È‘Údù^8×¢§p›ß9Ž¢#ñ ÚÕÜl¿1ì'U3E"ú¼eç§GúÄÐL˜«[6þÚoÉ—††PQ,‹F|òJÅ¡Œ“‘²h¸Vj@Äó%‹Žß´Ô€— –EãDÈJ½èGŽƒ $;Ö ž,ëâ´Xv~~¤/ ì ‚Îrÿ^úœZóعÞ‚~q‘‰FN·´‰Øñ¬Oˆ$_/TI#pîÃ"¹kn)ؤ¦uqÉb¤OÎ"±´jYô5ßR¯Y¯gÉ¢cÞR1!ŸñŽ)=m÷d`-ΧlüüH>ù…¶Ó ÞéÜggÖr„¿-½8e:÷¬Q(8ÆdmŽŠÿ ±±v±_‹:ñÆÛƒßð»°Ã×]Ž Í…=ã ûúÙÁþV¬!$bÑÆ;×™·_§"ùídK,Zw9îwaðš±Gž—‡˜Î|5¿zH¬C¾îâW‘íÆòq¶–XAÜòyOºfnù”ÿ¼X¢\õž~ÿ×3ßÓo/vãù¢ëvö»¨ ]ÄñãÕ-!‹ì“.þ¾Ÿß»u£ ™?Îÿ’»k&“¬'·+?]ÍfU°M³Ð(ÒðÒ‚¨¥è“/°Èi Ö0ÈF¡íö_+ˆÊ9öPFuôòä\R<|$oŒÂP„l<–„Bí„ùå—sJ:!3aVPÏbù°äôþË&‡,t³Ìþ¶JB¢û˜*a¶Q²ñXš ÒNt3Ÿ»5oìü™7V>NN¤±ðo_¦¹ÉÆ3jT¥+[)ÍÃÚ4/ììªÚ yBáo—…Éð7X2M(ú«½IÕ/³†¬Œ²û®4cGÞØI)ô(A%*;Îñ£5Uí‰Æ£˜°]Œ¸ŸORô·dÏ¡Jо¨˜›%\DzÑc»¥zy¾D‘+bjÌ\dZtäÝr˜Ò;‰ô*óèÁ–þU]‘Bá ÃSŸâ‡Ÿ|éíJ!26ÞOI ©ª–|Ñ {Q‘ÏÈ_|sRº/9?„ùÀX‚÷Ó—“à]±ÕxC!Ï›¿ÓŸ5yãkÈ~%)ž³°É@&ÌÎk/ÙxF¨jf\†ƒªÂ+pϽ𱨙‰?šóßY|¿ÅJŒ–ó‹…Ñšp,žÈ ý™Óˆ2?’¦a ^*ÙXÙÔ-õTLx×;ÕIh#‡›¤š­Ð2f|•†ùßÄÕ›láZÌ™´è“Ò‹<'1æDà(™ü®‰£Ó…¡/%í¯-gÑÐŒõ 5Æ–…¢ _L)HòX“èúÇ‘¿„ñ‡U(ÖðÃX¶­Iñ8‘w/iþà––ä£`³¤yt5£xá1qD·LFÍ£ÒC…Œ†R¼†Çä5ŒrkШ÷Æù¸Mfyèý͇Ë3è»ÈÂAu+!‹I …æUBäÁÓlÍb¦–BlDZÿ\Ó†0M)ÌZ•ýЬürÞ“ë±4?8[HÞx•ÕÍÒünk[å„·¤øðãÝ‹¼8!OI:^e/VÇei’ôØèx#VphÄÁmÃû¯Õñå뻘ø]ùéÃ>‹#Gؼˆâœ¯½ÚQl Ù"`:['L«åÆç¹ÎlÖ:æY""\žèY0ÃWQL4"cå®Â›NùZL šª8£Ûox_ª»ü1睊þÞáfI†÷éEN8Ö£ú2umz?±~ÛK.Ó3g‡MsËÒâ5°ŸÕ“>zP¸ãÁjçJÎ&SzJñðl?Š7†j65)~¨ƒ3o¼pË¿+:T2-}få~\_X÷ËKX’ï;7O<üoÞ8öW^7z¯ÜäU¾ËÆZœÒü¢…LóÆXﺚ$+Çž´`(9Ë–‚äÎýÆ"…vŽH$­”¼+ \ñnŠV¬ŠÏsñƽ*ªZès?yãÇ}¬€Y1ë¼ñ¢žÃ%ªÀqs­ÎãP¬Õ½ "ÎŹ›lá&ìè¡hC~[ ‘8ϲ¾;PÔpEv„סH-–iDÌ€…I„íÎ4"f¼*šòƯœFíøza¾§Ç¾IÁE r°öO‹IÃï¬þ<1+þÉoöÌ‘4ï6oì·Y"Bõ9ÂgM‘ý6K^¬îÄÙη¯íú‡ÄSÔ‹”þ-iò¿¤®0îâpBöb‘d·×J\hªH–ïæD¢Ç«‘U'«Lß&MžÞ©¦³ ¹p"Èﮊ±ê¨Î™Û“É:ŒVK ’Øàœf°lQìŒ9‘h„r´•4½~(ÊS g•»BŒ‘3/QšaLƒ›˜ycßRoÇ™™Li1ëëÕŒá‰wZ˜Å±}™XèÜõ¯(aZÞ">Q\*öÀ’êN)>±³g^x ÚKñƤ¹Ì眅4K´!ä¬ü¹ìùa²<œeHÅ©:Š‹ ]_åX0þÉæ·õäY§5íûêøƒoû|S}Óõ­n%ú¿ âYtþ.ÅGñáH5ñÆ[ )GI„  Èg¨[–æc £ñÂðÀŸJ&¥}µtáÊŽ£dò‹ö9]xŽSü–’ÉÇBñÙÒ…cIí*Zð¥”|b6h :ŒpŸ;§ãªßòVè¤s0>/šöö/8ÝA¬Ñ‰³¸ù¯Ÿ¡GB]Ê: ooÖÐOÝ2 ·ü‚#¶Œ Dmˆ˜}fçõÆ ¢Š%I䊔BX& øÀoðMÿŠr»"™­Ì͇âÑöö¨œ±c'"U½ çóUHä••rBN€:õŸ¿å-D éY°yÂBµ²ƒG‘mw~ÝX ö¢ ãeô‹wŠYdzìuíÅ9š+Š¿a8.~÷FïÞèÝý»{#:7³¯P2[³TÿxŒŠÀc^] ë.êºÜ³áǺ÷…žë·z#E~áÖÉ(°£ÁpÎ8’6²˜R$»Âtž©‚0«¥H– )Sãó/:`ue·³ª’,)E£“™Ï¢…Qwö.ÅGçNæ7…[´ŒNga€#z@Iš‡ÐÑxáøæÇ(™üŒîºÒ…ÑÙL%“_P •.½ŠÂñ@&/ϾLçv¹ :¡©ÉÁÉtó‘¯.Ö­Pàò3Óm~h]ЙZ¾P¢ ãÈ ÿëÇè©ÑÅœY ôõÍúá¢[^f…_Zéü³–GiZ—„¯ìs²†ƒ+‹6æ.Jú¤øø9ZŸxc¬{³dã±[èâ3°ña¢ÃDÅÃÌ},%“Wþ2]Xù€»ÒÁPô®X ‘§ŒÞáA2n.À¢;Öæõú¹îýL…{ÆÆ×DTYÉäeøÊtc½7¹¦³V E êƒc@ïß+‰#Ð^¤ ¬(V½L²‚îN²[P3W·¾Ÿ‡ /'O¬Ô¿¢Ü¹^5ø(¼ØR]风U4Ž„ÎAªþþÜgQü[Ù¥¿ù@Œ< ôxæ D éAÙnÝ¢0:ŒüNù=ý}ߣÆ{Ôø‡ŒïNãv—¶À,tlgò¥¤yxNŇëÒz•4MåKµ^‰¹oMÙyl/jéÀZÒLÙxŒƒÃ#f ÔŠ½'RHo(Òï«÷ 'ùr{Î,·xóƈƒEwmvÁ¦í‹c¡¥y&jÞØåÒʇ+ß|/"¹s‚bW¶8? O›Ôó”¯P¨,ì³~!Š@7VѨØà}üxüÐQ¼ˆä2v­úí¹*xp(Ní+xÈQØR´Âå$mìGYŠEl¨'KD0ô®a”Jä“qŠ…"Dr %kñÂxÃ%ùÄ€S÷I ÿ©ññ§?E~–ÌÝ,ºoc¬Ç;{™}—§hÂ:.8Š7Æ‹Ÿ%Íc7/ì—£(v†wG¦ ú•çˆpóh%­„"üqœ ìº,ú~Hw~}'ŸÒmþyj÷vL¸ßÜ´àãÍ—gø#«$à>µmU¼ú,÷Ê××ò©ÊËSf$¾VaòßÔàßSbùý '˜l%Å3hÄ™|âkºýoÁæÇh<ñýu³êu½ï•9@@Ì­¤ø²y c²ÚxcÿlQnj*@°ïÛÑÄÃ"±;;>&IJñŒ¶UéŒá5}ð¨,ÉÆ#ªKg”ÿÐ&’§7¥{·ÁMÔ²ñ‹Ü£œ ›ôQ2ù‹¿ËtáCù³l<òÕÒ‰/¾ÊâñÞ-áoT¾–G¹¶tâÐvè$‹•*L±”+gA’߯{zàØàZ¢³ÇyK… ìBÏ3ŠÎ"„|¥ž,qíAÑÙs¿¥ž,îÏ‘"Ù‹?rªàÁ\ItV¾1N¼øÂ)¿_÷ty.ò "ÉÎGAöôñ¤>6bÖvU6¶¾%);?Í÷ô‰ŸGøH6þZnÉ›”Ë¢Ïý–zº¾J­/âT•5~kiúú8+x(W–E_Ë-õZ4âÏM=Í÷d)ß  &ÙùyÜÓuZÏ?Î2’ÇË3òáEe7вt®Öàî6-Z9=-v]ð³”(2æ]™¤pÝǰHî-åâœëØ,’‹=g™^îtb—Hî-EA[öÃ"¹ëj)³Ì-J”Î{jü?Ó蘲óèkZú,'WŸÇÃØªm¯Ó#§Jv~:ïé9@M ¦•ph?’eÑ׸¥z“í±•,Z\zÑȉßZ}[êåíxGÉ¢#7-qGYÒ)=÷dÉ«µì|dOæ‡yȨ×' :eç§óžŽ0©²K6>‚µähhì#e£¯qKÅ9ðÜJŸ²èØÏÑRê ¹”E_ã– aæ*eÑ‘›– È6^²èé¼'Þ¸c"eçc}O>êCDAçYª¥ °[ÌÌëÕ©«" í{EqNà˜ü¯™î2fUt^ü·(ØbBw¡ˆŒ`ÑÈOùü(‘G˜n­¥hlx¬´TÀˆ²¥h,~T©Ÿ>»ùJÑXd§R7l°h,ÆüJDôµýÂÖKÖ ­#íÑ’_–{:{âöœ”STO¬¥±”瓞6ö©dçã òžX>Ï);¿ëépvQþ,;?{:ðÅ÷OÙøe¹§ÃÎòµ¼ñátÜÓn…u¹ç÷à³adš¹çfh›{t`ódžÆrä‚Í¢ðŸRù‰N0׉>@å"V¦¾¾GL% g¬JܹƒD¢±ÑkµTÀð¨ßR4?ªT@ºFY4Ù©TBtá)ŠÅ‹Vê'B¶ %:ûyôD ãݵý:]ÛÉ½Ë Šp²]Z¹,=m‘ÈlÑHFwf¤t]µì4¢w·ä‰c÷‚Ó·%;?­÷tÅèÁï-;?í÷ôÀ+s—²ó8C¡¥ÏÚJ©Øò_–{:Ž-^¹ëÛ²óŠXŸécU­9²°õ=æßìÈÜ7¹ûÛ‡îâ¶ðx­Éÿ’º0##Å¿/„!Ëcß ÷’@ƒÙÅ „~2׿AaŸó)N`…B˜ÿ‚¢Ƀ­µí3~ž¯•¼qª°‹W¼ðÐÑ)æ!Û}(‚§D& ˆ8'EÖ’¢yce fí¼‹Qd ŠÈ†æÅ¤Ððañá2•Ä8:‰W#">Øœ¤¾òÊÓ+ý(p“e5k¹ŸYXexç­gó/26ñŽ„O:Ö*–«’…—Á}B–É#,{ñ‰WyäðEŽŠ»vM)D¾.U§¨0J^÷›ü¯¨–gqðßåíáã€oz€&»–à£-m†û¡ãÏKòðé.ZpeƒÍ›øÕÛ+/kÃÊ¢ïg>,d?o´ NÐ+ˆ9ÏÈâTYõì:G“ïd¶ÃíþÎÛœ¹¡ß»JWÅ*N(ªVr±À¿¹ÉU3ô²š5„D@VÕ7ŠÕ„»õBÆ&µ‡-™$Z‡ôÝÆâ °ú‡Þ+ÞrLwùâa@ß-òjöÛf­þWÔ -™Iy#Q¹^ݯ1šÁˆƒ°Hÿ±ˆ œéâ#ÈèM|^rö»’5ÄI×Ñi„üÅJäÖiGöK»š^¾kÒ«{9åw#¿áßcÒË,žëíRÁKËöb/ÖídqŠÐžtâhÜ×qãQÆqVãµ'¯ŒmÎzä9| wêaûUÑf “EѮۭà×íñUÌÒÛòVþŸ‹ÊguÿTµÿÜé ÇHñÆQÔØíb^Ø9N^Xy £ †x-—ˆ¤èså­Ä “œ¥p»‘›¹vÓÛçÙ÷Ûg0ÿ¹Ü?pÈu»ó²…+Ï{úãȺ•qV' r vQЪîU²Ñ!4ëwC}3Ç[“Úx FQ!p|Ç£ôí°»#-¹NŠ¢¥/ô(I±Ò¦3ÕXë‡)“?,ÂéÖšøÊXÏè;•.¼Z¥ж'j·1æKšçúâZ2Ü3"îãÆUµ’â/šÿ’^¡ )“§Ce& *®mIÒ¯ ÄTÚ¬`¯\9Ï7ö:ç~#å4–Ðð”¡ZâWËZRô¦M³6¼WÑ5áÆ>pBFÔÇ ZǰéO/6k‚áI)ž>JI â¨Ý¹$i½˜Y¿§^,J {Nê~«ÃS[šŸÁ8ô˼±Î•K™<½X*ØeBQìÌeªà£˜õT¼*;/‚~1$ä`.þ- ßÝ)?~+GW0”w/_Øl/|Ñ‚QŸØJ W:÷Ìj²‚‹ y«Kn{º–wzv­º5aµB­ÇØÏ<¾)܇Ój9ùÃ4×å‰wV€¼^x¹ÓK±Ø(ÄW Q H¶o¬‡$/<Æ~ã!·­2áßë~1+—ydGýHŠ`Q¤õä°Ÿ|ÜYA|Õ…Žªî¼Éó^Vy~ø}.HIð¾>;Y\±1É´àòꛎ«ê«}3^­«h\J!rçf2‘Bc‚ ÿŠÂÎ]sá*ÄR$ÿóHkÄY‹Uœ‘»Xlµ`rM&…踹§LZÕ"“]M\-$Õç’3Šá‚u‘ÿ’ {3¾ 61ç"…*çN Zi׿db«Ø$†s£m r*5q.C—=S¯øÖ«Þ:$Š€yš!aÅ&·XYÀvE‘rº%INTèöOÔŒL±Êp1ÈpJóÚ®Q¼ð:?äöý}Ìëä›â…q2;Gº“Á;.u©Ó™Rt¬ŽÈC6a-î…ý(ó‰ùH´'(/* §›7Ö¾¢ägmš8ñ‚Q¹½ºùz.ó•|b¼Fû„¡ß„M~;#’H¢, }æ,:.ЙåA£¬4&Uf ¶¶é´ÎßÚ̳»RoöîÅß½ø»ÿ½xÜ+Œ#ì·~DÃkq©‹Ûó‚{­Dsm-yc!•2y®^Vº0&DMš×ü+yãóÌìØÆC¿ÏŸRš2ùÁçgú¸çÛ2y½ÖiEGŽägãmÊßñ¼6^Øù€Ë³l¤8 ã ÝÕÒ|x”£ÃoŒ}®[É0Få9 í>æ7îîMÞØß9¥xwç3óu1o–ù¼©6‹åþй¥›'Π(’·ÿ´ÓéýÀ@ )“×¾•L7>1wÄ9>ˆ æô'o¼(¾³øÄ´iÃ`VÄ“9›…Ù‰kÛ¦'/uÎ#äUæÜ:êuoЂ«,å¦ïÉã¸I´ò¨Vn>j6þ,®¾®Þ÷A¿è÷ý X²9“À1%6p6¾aøˆÎõ?p¨âí>‰× €ûz×2"Íï7^•)óa¬çë<‰Ç=…“àÆéEò ã„3óÂØÒÙxãgÌZ$»k[¼R3³¤ £×-ˆÍ4ENðÍÁqj2/Á¹øtãÄþRóÂN¯Æ û…ä•«üÆz e+s‰ÅÿdÐ.&…¢ó<Ï"éÜv.ôÒ ypÚ$R(V‡Iôjòí.B;­Ã&‰¶‹aH mZI´Í<:…KJ17䆌)ÇÌOïZ¤Ôõ‰eÊKÞ˜Oê÷å÷óý6©p¼Ï“/¬eß¼Þxæ´}—kìÆ!{Ž`гˬpþNÒ|¨šËQ|bÝ?ß'ÊhÔ{¥ÐÓ0yc8lMŠÇAcsñÆ»ASŠ_©ö&o¼ÒãWžYl<¶K%]âº4iþdÉ'/šm.™¼¾`¦ »&,ḑŽïˆæl>±òg>ó«|¨½ÀbÍv#avÒØZ0–Hvýp,޽Áåüȵ3­ãQ~P—&I¿T£±‚ ÍA%IëIf õ@,,m|Ø„6è’&ÔsÍ:wʬã[¼ mm­R­Qßê­A¾5ȨùëvÄÑ'Ýg" % ³èÖ‘´ LÇ1ôzf‰šPnVÐ_Ç¿]v©¹º…YsªTÃù¢>M‘¬Œ³Nœ.êÂÉžÒ…•j¸JT‘•ú` çT Ï'|l¸â†œ¬8v‡-ÍGÁž^VIa&ü)iÃ0…D_r…“ìã&f]Dgub]qm¿´ £Õ-‹??2NÒ…3O’ɬFUº1óÌS;÷j…½õ]{â̇kñeÓüqUKV»F…}ë o½á­7üd½cü§AîVTýíüF7^-â…iºŸ>Rúä xr°kŠ×o|ÿÞ×Áb]Ï1®û_hqxyr¹`k¼É(>1ŸUÒ¼ók~ª 4û^2¯Óû$o¼6…¢•ÇF¯¤¸§hPzéÇ\¬ÆIÓ†‹6*4÷ŒåÇy/iÞÏžqlq âØ,ÿ¸Z´ž•÷¨G¶5F±;åj¼1eÚOÖM/“{ÂÕ)t%©Løh$Ož$l’(Îæ˜Sì 7ÇS˜-DªxEº°ñ.X¹‰œè¼GÈù!±×x£ß„yãWºF ±¥y&møª³Ñ=J˜l‡'-x/‰bÙ ` <©µà7Éë†všpûïrv—IVü©-'¾oJóÓ#}*~È“ý7š\6Ia7Eìì[òëûeÍÄ}j~@&¾5‚·FðÖ~¶%Á4Â%f’+– ””â1)XŠÆÚïv¦ÌëF[3ÞÎÄóÊ‚IÞxºóÆ8Nï°HvpâªÌÄàƒM·§ün”ÇÄ|Çwóî`ÞÌa{^69ÉEÆ·©øÄC óâ¯pD)Þø€)'¯ÃÙFÜ憎iÃ]YÝÕXk¾öSt]»ë´–4ýꎮ–*xpH‚äÆ@¼¡ÿ/\ ¾¤`&Mk娩‚,Õ’¤•³‚.–³1Ze©;ãåÌÜúQRü%5ϼñ%õÜzÇËÖxãëñãçãž6ÓÊŒ^²ÑËüD³Ùœqâà…Ó¬P¸½îW ‘< Õ$‘¦'Q@Q\X²?5Þxâ´5yá¬óâ³îªÎªhl‹(bKŠðBC>“<+³"˜çðã‹Ì—Gµ·”æ/šA“Ž>+’æä(ùÄÛ]"äÞøzñé”Ië¤r|bW W´ŽeqÄÜ‹~Ü!”Ið •€äq]“Éoi†`º±¸”æ/:`%/¼ê™-Ÿx~˜<¤ð€O¬ÝÞÉ»˜7VHþÑ üXÂ…³¶EG2åS3WâÛÐ×ûëi‘(ÝËôÕ¤ñj×çõ+W èo9Xcâ SšŸ¹Ó,yá±zÃÔy4–Î_™*¸xŠÊV£¥æ2k.§Ü–®›o3”ycW)Å{ ŸúhëiÓ—Õ>ycåÃ|Ëžçö™}Ûw~I}X¾º{ 2zcw_Ù÷«ÛÒè’cc¼Õã·züVúJþBïÍ6Gzøm%ÍG¿¶N>4¶4§õQ¼±ãåâÙ±°GÏQvyWã…#NÎ: agýÎVpëÜGã/œ÷Ñï½Ý*'™Û°hY.^NJSÉä]žNÆð¾k™ÿªïå+>±î7I5™¤#OòyO)g¯âgnr()Þê¡ùT•OKó~ŸÈK|#œ¤6”‡+¥yV¼¯'Æc5l]¿ó;eº±êCJñªØl1mªªœÑ­¥?SLÞø‘óˆ ¹m-ÿÄœ_Œ»<Ç×ëÜN)æ#ˆØXo{Û HE¶Ÿ¨Š5|Ékë,Lgg^˜M£w|DVÎÁ($.)‚s½=RRý6[0ŠO¢ÒB´ßjÃ1ªáª!º¡©A¾uµ·®öÖÕ~º3ÑŽBe(žÁkÑ®-Í/^aЊ€qþN¼±=k6Oäîáf˜P°B1¹~u$ON×E á³¹‹¨Œ›–.øñcGÕrº·$}¶ ÷Ã)D^<ûp:?Ά°EO¤Ñ21¤…‹€ï¬'š5d6-FS§À°„§Õ’©xc‡¬Oi>:âÎ/w óõõ>æcÈïéÆÙ ÚÒ¼tÐäíѪ¾3ßÛïY<ð¾ßyã]Ø:ë̈8( ýµxcçÃ|æKù #wŠ] pª!ŸØ÷3o¬çW{‘ãŒÛ“¥yëÎæcŸŽ"êdDÞà±$ÐÒoÔž%O:³¤LÞï‡eÆ‹¼C§0‹Ã´¤ ÇIEœ"ÙýCnÞ$L{MÃæOz9ÞäÁöÇMÆâ¿D¯Åò: "¢Ù•t‡#…ÙI=!ŽöÄAsÒíLiÞÈ“÷†òø¨]Æ)S J»y„>*Ýxa¾’7Fß½xcl?_xV¡,:4ùo¥¾ágáázß3yáè»Öö{c—GòÆ÷r=µ“ºÙËû¦{! û#EÌš‹+"až0S ’±–W€™ ǵ6è+)¦v‰¯ÔrÜÞo-ïpm)L:«\9/Ndï¹2ÍiE .ÜÄdAw‘ûDêÕEîCª£¥~"¸Ò¡Ï´áj?Õ}½ÉÆséÌ ²½¸$\[Ë…é*r¢ A™ÄœƒfxPç°7C#ºÑæ‹Î çN±¹áy¹óÆ1&Ïë­¿àrŒú“ÞŸ­[>GµñlšèöÖ8ÞÇ[ãøohš7b-píqf„NWD í £'R.iK²†¯‚¸ê®BóÒo d“ûååLìïz¦ˆN,5Š#8O?û÷•ªU=±ªNx?ze£i"5-ÇO߯]"l ¿@òƺÏMba¢=¯?ßÙsÙ¨ä”ÛdòbíÄ(¸apB'#iÞnɧ[Æv“‹µ€Ç}’Ÿ9 OÞXûéE°ÍtS“2yÙx–C¦ya§›O¬ûû9«69$/ŒÝ•íyÆ›Íßæ Ós“Ë”ۭ΀o˜-Lå˜å,•ÌÒ¼—¼ïsHµ“¼=¯¾'ô¢óŠìš¬ ô¼þq'gjIÕc¶Œ`U9î¼Ãbìo¼<ø¥xþžcxÞ'ŸÓxcZH¾µ°ˆ_Ï×Ñ»†xýï±ÿŸ;öcëì3-—Øx¿–LžöbhçÐ3]¼ñKžkXgŸ´ÎVH[$D*ø„H¡cË`׿yÂ_D³z½Pº['Y:%E¿êTž:1%ܸ9BBä‰Y Ö׎Âl/’(Ö`á^E'p>Ѭ!³¹äs'eT‰u.^Âh×G¿­^|bE÷-^8ä²ÝùE¾¢ã(Þx箿ä;Æ ­ßóÝÚq,%E¿jIÔC³†¬þ)E¿Æžã,¶Á¹É¢±eãÈ{‹ÞjºÓ€;ìÿÅ^®Êé¤`vr à½ÊÇBcá¦õ!ÇØ¸º4?s)?yãIëG–âéæ™MRŽûuy½øEÎ¥áDº/-¿Î‡yáõÁ¯Åû~ýþý9Æó¥÷o ¨ÝÇxV9%/ ;ÉÞ°\2̧$ÏîäáúŒ¤–âOyš7Ö ‘]Þ Gv)Åkm0yãCN–æ¥+&Ÿxc™[:_κuGêyœ˜ãÝ9ÜWå)û6÷}ð÷Zªïɾ‰ÝÆ[Ùú«G}‰oUš».“˲Z‡]ï˲ëo-Ë®·5UÁk/{úv^‡¦µXp=˲ŽöšË¯Â‰°6¾áu¯ÛnŒÓµ}ä‘᡽ÊìíàYâ<ë¸KÍßd•-¸¡Ú#ý,ëWtÊV ‚~_oW»îhck£°ÙLäLjh"ÿ6MýoÕ¿£„é]2ka‡kÉ #\@tjÉïeÝuŸÄ8·$…^…xE­²Í‘$ºÙóv9jÌô®¹Öäöî¼±—óÆÕŸApn-/sIŠàèÏr®ØÅ&¹µ¾ð«Bà^‹ÝUˆþUÛ7ï½°ê—ª[6;7Ëëþ{t fG xëþU(þmcÂ?ÓzóëöjœžšçŸØáƼ0ôþu)^˜>rWã‰é·5þ”ª$ã~òÂ^Å×p»}¤=xaXª*Ÿ7åxi‡Fªj×]š¿îù2ÎçÏÔצ•n—¹ÖžoM÷ÊFNìX/í¡4})øR ºPŽþ[:Iš=ínWOН?y‘ô¦ˆfP?'R¸“ž°û¹.¬´±]õî €záz³Hu›àßø»ÿÙ›ð6û3„6 òˇ7¶íg ±ad\FÒ†cñ©4ÇÜØùž*¹X.€é·çƒÞÈÆtÆ…b «ItâùüOj–:«ú\JˆÜ2jóH¤4“:ÞAY±í1+½Ã·â…­ç3‰FÐ×unü©݉Pó >05^{ÂÎä/ZhO^®ckñcÛôU^¬±ÒXnÚpW÷î« ã«*w.,ßLR4Vvöbåsqdð[Þif(ƒ¢ 1µI–èU–QyE íœè˜Ô´‡Ÿvݽkò<ª–'©(—û‘¤+Vµ5’¸K yGVwWs± '.h™œ¹{Õ´áŒEk†ZRUG´ß-¨¹"º¢®l]Q²"ù+´&—ªöèþáÊöø±-;.MCX~“ávKVs葬`n¯Û¶×Ô¯Sv\±‚«‡¯¦´ŸÚN³o¼É©$ù†×½nKÃÆÊ ×+]{gÅze8ÿ£xá§a+¯ƒé¡ X…/x˜ô‡òiø|Å2v7ýˆ:íX¿ÑóÆÒ´.ÃÁÅ(¼¼-Í+GñÂÊKÊä.'fº±‡“ŒmãßtÇÓöà…'¹U%/ã„åÂeÊÇ<’zϾïº7¥~b8ñ$ÓS;Ø!7ìõò¾ÖÎjEÛlGÕ¯m¶#ЍµÛNHz¬và\‡o猪ua„9à‘­bÝ«6æoXmÞ“û÷ˆõ±~öšêŒ€—¶³jó¬÷Ðfä·è L2úÆÅ·Úк̖üÖÅ ë˜ùäwMÀ“·§'’ï8ª•6þ£gMBäÎɳH!„Ÿ%EÇî³¥± iªôKÞ¹¥'YÂ]Õ“Þé£Þyà0Ìåv`• ÎRÐÚêtrA7…Y3K§1™f,Íoô‰1-ˆP‡sIÑÛqK5ü±†QôÅ …ù',$j/ªU"X}¼D­ë9³5äb®L9Ç$…^âÚwíÚæbŠQr8_p¬í±ûÖVÐ 1G/ FâxŸ'ðÿ±ãqtû´9Ë™ñ GñÆ &’7F•½ñÂÑõÅßæuôfñÂë¥aP¼±b‚%o¼=òÙ±¼ñçaÁ ÇÛ ®ÚoÔè1*O¢.t *Ú[Ïø&  ¡ÓÏ w±pç¬ÔÑv4ÓÊM/ {µÄ2ú Äå8¹â˜¼ðÜö¥2áûbÇmæéÁ&\:k´ X]õ M”³¼'ŽÅ‚œ ™¢hȤ]Œ³h–vѲÙaëXE옵H"¾f Ã]úè,Ü´fŽÒºFwð76Ý0W½pæ=œy—ï|~ÝlݬC:(ðèÍŽUþ=ž½Ç³ÄxÆm†Ú;oÚùv–ì¼;t§íøÛ›4gŽQ|âE¦I¯ò?ï#>dÛ¾s¥›Wä·u“8SQÌÇšú´Ý$x{›7\ú,A¿Û°PõÜmìz·á•j•Y·¶ ÜžâÓGñØH¯¥=OXÏ-¹0Õ=—fÃÇi^’6œvD”–Hvãú­7Q¹6 RÑlFŠm'Éý mëúŽJpUšÐÊøï$Ç"ÿ¸ÉÃûÌ o’ {ìėݱ3.K;¾{Cáq6“B1ù Û©IØ,3MˆÇá­M’v®L#úÀÒ¤ÚÔó6æÕ†~]åà›]²ùî, ~¯÷0øÿÃà¯Û£CAPåýåL`JÑû$KÓ» k)—õå0‘Òü.oµä…÷Krá²âNݯgÖ‰ÿá™u«F{IÛúåÌ:ù'#HeŒêt&ê(x~[Éœa#è–yaŸÒ|Ô|±on¥˜[ŠŸ¸I†§¡…3]|bå?¯7–%@8ËÛÒâ×õ1ó¸2I”MãÌbªí‰ÛŒ™_Æœœ?¿vþZÌë~ÉGËšÒ¼òÕëê•ë¦ÌšÍË‘ò¸C|èVyŒá^Ø*‰ñlUÔ¼°CçÕfnÇŽåAŒ®Ü®â[£ßY¼dv/Ä‘×"( ì–¢ÕŒÍ\tê:˜iEå2„I¡á€|;"ÝÆfF&7l!Ƥyë?'Š€2ùALŠà¤+?ÎYZ¼û õªWoð[Sxk ?[Sx5<œï:>¢½G)¿C¢&zM“„I$Ñuè>M['áÌ4£#ÒsE é¹è'WlÈ8Û¼.g¤u#³‚~èÂEcš"øXš ¼y×üB#p¦ «L k3QŒf’X& ù4YÂßñ›ûˆç¡Wt¶Þ©h |ÈzOò5†G‹)䙸¥hÏæSŠ^iIIzliLJûÎF±‚0~¬%EãCÍEw› <¿Íæ,Ów žU@× ZA••dÈú±oü|'ó‹Ôò]…]$/mIFªˆèf™¼vin²O²¬šo8–Ÿ$’¥î½i–€Ö3s ì©0\eÄkÃPñƃ£‹%B½|só:S:xü°ºaÁGŒ—$áØââ…½ÑÉ2ù¡ØN7Þ>¶˜†Xçx,sÑþ@1ÇÙêjctáˆÆ(iÞoc¾½ß:n}݃`Nâ /š8ûzcŽ«‰]špÚ‹ï8&ÜÛAáÊ>ügÉ íG'è'´ÓýuçÙÏ&…;S¢íò&)ÜŒˆ÷¼UßV½ÿmó‹ëF§M¾¶[µ^Š>­{ôj¸ÞVò6¨£1ŸX‰}Üš`MVðÚnœàÅEôd§ê¥`çàŽG6“BN10)¤Ø$ü÷d ¹+YîæºÚï .ZIŽ<ùmºòCpÐHBŠà¸n«Ì(¦4by]Y€:†ŒÆÅì}­ë¼õ¿Vÿ8âa³í`¹•û*ÑÐBfêºB™¸ßáöQ.z!é£FcMZp‰3‹d òdù q vGD)ð)“g$¥;ß÷™.Þ8C®[ŠŸiv¯ì¨^{“âcôÖR+xãP¸Î«IóC&öSÓ· c•ÒüÊå‚äWúw >Fþ¥ñˆÝåÂë±L4)N[ñÆð >š$Ï8Ðgòƈ½Ž’ÉGÕžZº0Ɔ½¾ïÊ)hÖƒ”âqüù\¼1”&Í;ÚAò ¯4bÔ‘ã-ÜXãnìºóÆC8ËYå§ïp]£ƒ ´Ç®e Ëä/Ìá*]ø [rJóçH\#Œ9ÿÙ¤xøRÅ c9åœROÕ Ò…}3Ë¼Ž–ûèöÎWÐç á´¾åk³M^ØÅa>±ŠQ]×À¦îÞ,H®+}ýI mKn¡ÞŠÜqFiD#ÕH 7‘LCñ1w»ýL2…–-d·$)Ä›½ÕÞ¿2žð£>+«èÁf£•l]Žt•Å‘‰¢3Þb“àO &Y-XIÜ,ww ±qüÂÊú«,÷£†s öf ïôTtlŠüSz¢G‡>Zìÿ\CÕ¿­3x¯±ýì„:¿|0©Î•á7’³1IÅ.kÙzlÚ´ß ›5–æ £xaÛÛxcx¯×}šò“7FˆÛ£xãU–´ämYÔÕÌ?ψkùÃ:Êe¼ìV±VóÕ…°qcÎK ©üE∵±'-˜ÅXŸã¤òXßÁhÚû‡bPö$y¼B2Öw„x/vâBèiS0~â./ˆâ—¹AHÇ4Ñê±è¤~Ð^ p]}/J¼ûúw_ÿ³=/¹ÞÃÀL1Û€µP‚$=¦mL"ÂA«#I¡WÉ!Pkhu*j[t 1å2-¨»›ÜsýiÆ9”ƒÛ©¼µÎ¡UH¿¦Ùð¬Û âàJCè,• e²ö<î^öºyÜ1\ –¶·QǶ½ŠÆCCTßó8è¼Çî}Ïãøøc{[>;FpÑç¶FFVÉÍ‚\;®« ÏëzûUn†¬›%\>xNÒ„V “„áëJÚ•ÈñYÁ¤~á*©ĺˆƒÅ«"]ìÙ.ÎØ„lu;Í&Ü?òؤ«Xí4Ô-6ûkÊÇx[o—'Žqb­Gß0Âhò÷¾½Ûok¬*;ÙúÌ›XÃãì¬:µ«=üP÷ûžÀ‘_>[ÛÖ{è~Ýï¡û'ÝhÏX‚Ã’ƒ;÷O¤/:8%K(µDøbj·ÓHoÙéüÍýªó._ãÑãÖbaˆÌš>ï½£¥yO ²÷Þ¶{ïiŒ^t+éÞÔ";Y•؃ÍnrtVÈî‘:TÓe"{rJÑZ MörØ^<:&@Ä/m\Ñ¿%“,l¬·PH4OEïÜxcÄ>Å),É #Sã…?ø,/»äcA¿¿ñ®‘&ù†×öþ8Ýl­çäû ;Mv^”Ñ„“ßRáa`cóÂ*O;aì²iµ_Ð:¦i«7z ÝŽw{J_î=`¾Ì÷€ù³LVíyaX`Öλ|õwºÊ‹Åêe1­jØ=_Òü¢±Å¼ñBoî”CÕã>vCšnwô¾B³„»ëd ³¬‡Òú£Æð-¸,ß–ïoާµ˜¯…l¸3Ÿ‰‘¾Î7žéæ/i[öÁ‡'ø8çõE‹ž8‘)ÞxV,¾ãµ=o•eu·ë}„mñšNy Ë|OåÜ:5ž8ß ÏD§ˆeËâ5m8ÝXÁóå¤á`TÀÕÆlå=yadÍËq·xáZ]ñ›ƻÆôëΪ+¨Pø Ó\ñÂÇuÏÇë^ïïûçó].{ã׿J.~Ñ8=7^Î6ׇSÊßMEŸÖ><¦q°ì\ô¸5?œT<Ôy„®¡Ê´à7VP/ic7Bwvºõ¬úØéK}à£kT燎´Ñk-ItzÏŽ4ßòÑm¸*fU]¤Z«Ù¹Y®4\©³»‡|ëMo½é­7ýtÿŽN*Û”°Ï"܆M -Ü•ÝÄöü¹È˜JMuoCûzùó%~4^XVëò3æÆÊ”±5jݾÞ?yut™V˜aÌÙ T:gy%eõðuíz.}Ëž¼ðám0Þ>#>ÄÞ.#Œ)ôVòØdö¸ßç”KúTW„ûz=[ö\¬ ý8ýã/¢‚’Úpçe·¹ñ[ã/FZݧ~à ÆÛtÏOÇë^¿÷ýµ“Ò¼Ë#eã±G³¥ORÌ Oêä³|…UÎp·ííÒßÍÒüÅm õ]…õ=Kš‡Å±h ±Ž²¥Ì«xîZ²ƒþkúm^YcÉeO’¨~H¶Á°ÅV>iÿªÊk´ñ b“DëÅÓ¥ô`¢öüÃÅ-dGWöÒ";¨¥H‡¸dT3÷çDŠtiR‡Oýž"s#®³ýšàê&8v™Á¹õÏFâ˜Z¹æ‡¹æê¡³—O-4Ì/é‘ìûÎêßÊå[¹üç*—tC;äȦØF÷*¥ì1êE­‰o4_…aï>ŠO¼ÞGäµñ%’ô¡ô¸ãeù¸y1ûœÜ[„i;òµû/šƒvçñ^´;ܼ*´£ßßx{x$žïùïµÍÏS9ø9Š3å’å$þ†Ï,÷ü.­üa%âáóí8÷¹Î·¯+‰¸Ûû4kˆ›¯vX=ÎÙDž$û÷UÞðszž¿ÿXúëäPëÚXµ´ Î.Ú™Š å GtLt6|NEzÿhÒ„(õFcîàRk4 Êô×°]¬Äv`Ùm—¤4pâ[%Ã:5•ta¬²„ßäòõzóÇ&¿Êý3y»ƒj{„yã<ºÛ¼ñ|ç;^éóӛ喱 çΕ+ŽkA(Ûxc´Íë^PãÊ‚úªVd¯w Ľ¿Õ·ºñÏP7~Ý®qf^¸Îq)èÇHió…ÆÛ¢â>®$Û=]|âi¾IíõBH' ϲڛ7^´dÞxØþâåCag#&gn}rqG3Ë#IXNŽ$‰¢TUJðÉ=ðzï$щCƒø¯¨,³U_IM÷þødaÓ[‹\Ò)çî éu»ƒH¾£É}(ô´¥~"¸ž:ÎhµÏTVIçKïc~Þ½ô»—þù½4Ü .z/Šó÷7o¼°Muž˜>y\_W4Äy­û¥4Ï¥Üâ…wVŸ”汇/ÞXSÚ”¡föëRŠÇDk¤aʼn³ˆ§+>¥ùFÓâiƒÜÇןÇ7÷/ž±)*}îáŸ%óº‹1sMÂtº3øE ða%B¡¤¿Ð­.yãö‘)‹ÇGŽŽ ao8Ns+ÀÞxcçC|bͳ'Ž#:—)zx§X®ž _[±‚0bw)ZZÒÆ\{àjùÙÓí·4¿<Ò§»\ä¾´h:/aö¸§n¹þÚWnôÕ^áʽ Ëœ/œ€_þâv‰d÷Îf±«Dáqµ²ñ;›^7é â×IÚÆt{[ý¬jxk Q@Žn¹_/ŒŠ:o]]´„Ä ²Q¼¥xl‰¿Š7ŽÃ3›0» 0°½2Æ\Ä2‰9²îli¶«xãÞ„ìü.CL82µÀ›¤ñÆ ºQ¼±ó'ÞØùˆ‰ø¨Û´Ç\ šô-ÌN,Ó‚‹¶€Q$«ˆˆNŒ>~«Îe‚ˆ…‘@Ñ{Sý|â z‚Ää Og‘BÛÀi^IFçQi—•é.µå‹ÇA•{þIÚ÷ÄT@ N±ØÒ6yã‹n©)“×o3}U8Ƀ²®ã0\¼ð¤aw4ÔãT”M×4‰O@ëRòÆØE¾4i^ï—¼ßWï)ëÜ­Q¨?äCvôë…oóý=¡b‡Cmy~3&aIñp‡ºŠ7ue-!V¸M.ÃÞKˆõ'm…a”L^ë\ºñ"˘yã‘{Ë8ò¥áI‹½T’É4…JÎ|I&ÏQ¿Ò™_¿_½ï,bñ‰‡üuÌo´9&o¼ñ»Ýx.ÊÍ ¨CÞø¤—<±Ë%¿ƒËIïZÓEw/Ìie„²}ÉP¨(­…a©à­Ãkqò¬[û^8?õHÚp—UÉ´à¶Ê`EÚ­–ËE6=Õ8l×¶`¼¢ÃKÞ-¯]o¬¬cI`¾êÍž|bþ΢òRA|éIôç{ôþïÑÿ'þ× ï#fèÜÑYlBZ D\ä€Q4&Ò§³°Ý„èä㌸GÀ¤Éã`¸4’BÏ·93|•H¢˜c•0‰³)Ññ¯\n˘Øâ÷$ÏCÖÏÛûcÙrÜ q¸„(^5}1‡Ì¦KñÆ6¤4ÑD›¼0¢[¯%“gqUº°óc™×éYÉ7¼sÊ®1CV%˽F§y.Þ8¼ŸÇTÒü.7¹äž’'=ªªÉH&OkP¥¯ZíP~Ú×ówaþÛw‚¡C÷éùvP“°Œ…ö}š×V¼q¬ ÌWñ¾¯ùÊïžkA·z’õÆ×é}Ôe|S«Qç0¨:½ÇÚ÷XûkíNrAG²q^¿Éü)ÿ£À§›sIÞ;ÐqÝÉõN?»aÒŠÖSšÜÆŠãÙä wJÍpèMò~WéÆ ï ½Vüzx/óý=í/%ž.Ë}5;+½gò~o¾»]ØoÅ63—|ÃóU|bõÇɳÿf܉E~¥3û÷X%I)öà¥xãÌ—¥yý6£Ð­ÂôI½Ióí»¯ü%Ýó‘ü¢ï50“/¾áµž“õ¥×á±U+0þX’gì“+ycÔáunÒ¼ßÃüú(—t(8i¢’]¢ªŸåCõä*Ç¢Y¡áEA,7’”çY$¢“׃ˆbA¡-ÙŘÚH"69eÃwCYµ0!ÚCâHÚp¬ÙM€kö¢ óµ}õ¼ße<ïyÝu|ùu~y׎?ïû/uøªŽ§äÿ3õÔy*i~åd%ycøMœ,Á?UXq¦¡xïX¯äåïµÎê bjŠ\¢ ':,7šXÆó䞎Æ;×l†ƒ{_íi/!òu«kI´Ð)NB¤òh2Þ'ËÇå·pé.yc•×iCôÝÊû¤Ãô(Þ×,MÚn¡%.¥øMVÜ™›&fök3N´L¡ÎŽË"§2Ë]&OÌ¢4¡XT˜Slrƒ\>”«ýHR_G¤>D4 ùì_b~ÐÀ³ª—ycéÛ˜‹ãäÜMsó®â)ͪlæ/Y~-ÅÏTq“7Îç[š—þ¯ ܺdL4 ±aЕj8´î$!6n¿®IΗÏ4¹Îüì÷;¸.ðCçi’Ǫõt6^«Øýzáè®§å–`ç`’Ó¾:u8Å c¯ÃUÙHÌÇcEfkœ;.óÙÑé9ª‡ªdªª’ {ëµ$Íûx•äצ…6™ü”ë#LoØÚñJÇŒ¨·/MŠ?9teï¹Ò;–×&ý}ùÏßé:ß¿ç{•¦6èsˆX4ñ½Bš7†Æ¾4I~–Û¢yc,Îk“‡Œ´x¿'âð.7>ø’~ÞÇØùY¤{,ÜÍÆƒ”—&Íë=“žµöe™åá÷lïçYÙ±´^}ÕÒÆ¿ý~š[ï­ÞÚ¿ò˜KÍZ–¹ñÂ~OóùÞ|Ÿ›ão5Mü¶„äW* ìKšŸX=“ÎîE2y™ô3ÝXÝ ¬çÛw2Æk ‰R|*âŸÝVªqVßÌKyšF[ŸŒ:5i^ÆóämLß>èX/ÙxîĬtïàD¾ýÎÀbœ9Ž¢¥²˜µ# %÷úÍ\’—*•4¡neÖPÏõo|‹)f{j–#@4ããÑö™Ô3ÿC'lÿ¶ómöýÙfßå?ßÖÒv˜Ç ÛÖ"üÃm-ôºó‹6¥pºˆh ų3ò¾„ÈmµçØ1%šÜVBäÆy²ÉD\›åF<én]*^øÒÀ2yv"•.uyâ†3˺nûà&/óÄØ4¼kýàÄFi9—»r K^8~{5™ü*/5§ ç{J&¯ÿ{~.}!í<‚ì¼öeº°¼‡íD|ŽÛ÷¾îÕ¡ÂÇmi8¦Ñ1™ álûLKëJ§·“fß½™éMÊJoZp‘Yt‡KÏKŽ|œ…È×ÿ0ç‹$z½Ö:D½ªdÌËE í¯}/’èu5ºS ’¯«aÌ%)ôªD$zuïí.BëëyG’B¯N^Ï]Á,Ö_Zõ‰½= ^LáÁö)…ÉÓ]§ ½Þ¯ ¼¦_zcbýüU±÷­ÈDìD m±¢ÚovÕó’¶¥H¢û•BºË|~È >ÊìUâû\$‘î"ÒOàó¢M¬Ê¹n©Ct(¿m÷tèY¯/†­†’ߦ{ú¦õ>ì·lüzÜÓWª~ <²%;¿î÷ô•뚥$o¼½äœ|!%þ¤¥»»9×’ß¶{úÆùå8šl<úÏ–¾sm}9¦Vîþ>3y`}î5:ë¬Îj0¨Ç_“ì¯ÝŸo|þ[aù/zuMôTÅÜb¡Ð2žÏWÃA©ä…ÕâR&¯W¦ÃL¹³km6ëK{BÍ NëG†°Wìy®­š˜Æ«n¯XüÈw•ÁêâI5QP“…Èhô•&d“åzÈo’®¨Üç{/<·N…衹åñàíÊu>øSü…Äâ…§æ„1Í…çMKmâM@Ì~®ä†•ÕŸPÏe¾Fãåjvíe™OìýÔů²ÆkI0yâ¬BWtjÜkÄE¦Nò×ùrûÜSl%t–Úý+o ¦‰z¶ßùJ‘­^£c?}úãEqÑïiL½rÃ*jÐüõñ&×ëö@"½çƬù.‡O¸×Øsý×Í|þµþ{†„\á¹vnI ñ\Æ$‰¢®ÕÏ…^¢–Ž)ÑÄÃp¹ÐîI4ÝDtõxa`ÿ²0 '*7‰L&BHƒ?å‘àþû¶Ö Æë–#˜ºmwëÝQ56=‚ëýCµ’[gòÏ4£ü½˜}†‚à0ž­xãU[³’ÆayWñÆ›ô˜ä…ã#޹ñ…±×<eŽ/83³$C;;O“B¦UBäE»¼ÉDíeðÜUëØ@ÅV=&#ô‘W‘³Í•a!œ|¸Éc§ÇÑI"¬LùöõÚð×ðÇ{-öÝ]¾»ËÿFwyÐ' »=&íúx=¡Ó¹HšìÎ6oÒµèMî¤ÌrÒ«6½Ü¡`á’ñ(Å \vÌçkrЦn–P™«çÐ-ëö¹ý"ycöb•ß‹ùr>%‹_Ór’£a1Qoh™×É\›¼ñ³¼Tž§VnÍŸsås>x¥­jžäo~·”0»èãŠ6Ô–5¬{ÃÖKß„EÑꋆÉh-Þ]À(þ†GÏwŽ[n n„3mˆC·¦¢{‰|SAÈq§G“s}@T-çÐÒ¼«¡ycû¨§l|Tsç.§ëz®ý{EfõuµTµ­6ÊÝKoœ† lŸ-ÚÀTô®ö¯¯ã†¯µ©ˆLf¯¡Š–/zi†š×Â>Î|*÷àa)Ûo|Ïí Ër1;û:Õ‚÷3o¬Q!{s÷Òêź`¥HK(RÓ‚ØBq&mèÓ4!>úeVèÐ@*’Ååï…dí0I‹~±%ƒ¤Ð¦­¤$…¶«=µe‰¡êÕ½G•RY{Ý)«»›P÷°ÌzvŒèî7.‘¿uý·®ÿÖõ¶iDÝõlebSl9—&Íxûöïn×Õ°Øq>µ:·Ý¤y(O¼k)É2¯»ØŸ'o¼¶ÆÆnÄûß®’¢7ÏZD7ÜßÖ§DƸ9*ãYS“,œ6U™Îöºí.õt ÚÆ !6,÷Sí}0ÄQ¾GÉ}e+=¸¶ av“}I´a,Èî%Š cVK„Ÿà¥À7•¬épJÑíjÐÆð :›Ô(õ¼yœ-wÔSn ›eãáÛÒ$†ÁŠßxì–oéÞ=+ÊN=+?–Éo´‘fºð3Z­yxoÅ'fSOy®÷ërŸ‚øK£÷*= ÞÆr®Š–Ûå¹j$ŇÅ%ÔÛ&FƒÿÍÏœˆ— ®AØeh;[ºxáÌ¿xcŽæ•^ïKã\]WœóÓóï™<±ŸùjŒlfÙ¼FÛ†ôëN1ÞÃä{˜ü‡“¿n£cÐy¶xÖ†û4 ÆÒüA~kÃa2ü$ß0BØm ~¶Ë>ãÑè¼±ò‘¼ó¥|lš0øúð‹êÿç}ôœèk±e’KFȳxãh‡<`iþÒ<ñb‹¾dò˜™ŽJ7žè€ð óŸß×ã.½Çol7>¹w1¥xœ}soŒ“{ºïò0oìréùô^HÙSÒ¾²Êî3Ζ^˜Ó5KñXˆ›‹O¼k»©¤ù—Dl‰ãQ U½6zÌ\rÁD¸èĘê.ÅÏš'/ »ÂÞxáÌ­ù†c;„3,V¹0Šœ¸_Êä¯î6pºðÊ•±”Ék'J¦×aî‹¡ò¶\:ŠÔÚä¯\§öûø>ù;ÖæzžŸ/ \òÒ<þ·xc÷É»÷p¯qÒ!è¤ÓÏ¡èÇ$…^Áy&)¤Z#RhæÆ FÒPpME…“ÑQ$Ñ´õ§]r¹Gpý™ÊÏvúܤ««º*©ê0Âo­ƒS‡r¼µ£·vôÕŽòl8µÚ‘ïI¢¹ìIw¸`Ó‚÷.p戽 sFÎÙÐ醋ƒH¡Áx8&.H¦¼MÑ×e*¼¤&Y†¬¹¦ö|¡°]Ÿu%QŒ]•)¡¨XÚˆqLF!äιècƵ^*>ñøÈS`À†n<Îaf‘™v f²D|‘S%³V‘üŠ­vH#’c(’n~ëR|”v‹7g‚})™¼bgºplHÄ¡u– >q¬Ú¸h)>  ¸ËpÚ¡ì-Tf—QÒªñõÆ9·Fìëû«¯T¹"O¦í„:>æ–ECøªIÎZ÷4-ø’€G9G¥SÔ[cxk ÿ\aeq¬ïĹ'¥øÄ=šR·äKK,S“¢Ã¶¸kH[ä˜y*Ýž™.Ao|lÒÛ#»~_§×ª›ãg¯±èÚS4vÆ©@™J˜¾òbáUQ©†³Ì¬ç5 ¿(o^n’¯{~•eâ MÜãëæ6íÞ€äJRIòˆ§:QaÄó„+]Êhb¹;ç{jÍÐï›Rüe%V¼±ï“Ò¼ž/_rܸgEØ ²Óµù/yáx)ÒOžÞÅ•î }³öÉÏ J? i*æåWÒ¼¿ƒyc§õñ=ÈÿºŠ4¾Ú8ÔËÉ)~Mšè1‹7ž¤ZŠwk3Ÿ­o’…ÒÒÓIõdæ³ç:eµ³<>è+~¿ùìÔ1êWyWõƒºë[ƒ}k°ÿP ö×ízšsRXVYß̯üR%Íså>é„¢Þ†>$ÏW~cPâ f¾5;Ô¶ÛèçÛÙé»ëiCœ°±%mø’ˆdÈ…Ôþz‘ñFî8±Ë¬àã‚~À…cKcP—AUÞäf¤¤•&2ÑÉqâøàQgô ŠŽâlÂ쬫D ê•>¢Ä‹~+°ZñäUå=‚)žW‘DþÞfõ\E\´ŠæVF˜_äÚ¹ð®ï¡â=T¼‡ŠŸ=TÄyÑÔ ,Ñr×&Å{ƒ»yヽƒ…ÙIfaÑ‚;uF‰dW@Çò˜ªq=£ø¶¾çCñ9•º8]Iž˜k@Wñ”ëƒ_¹6ÔïÓ0Œ0y,7N3Å$9kWâ¼o WУxcÅ䉟÷7†óÍP¶Ö–½žÝþ:º]~q}IßÎ|Þ^¯·IÿG€ð Ø ñó™PßÔ¬¿ô* û,kØÂÓR–¬eѰ±4yÉû“¥’Ê@O5¼8 X:·ÊÖü®Þ&yaÙro †Î7¬3‘ÅÇ¡Q×™¾Ž-ˆs¸Î|ÇC'9Î\°$ÍÍ(kÒÆœ{Î%“go½lö*°ä<¬xáyÜyc„³7^fµµñ³4–ä­Á<®7^çûý×ížŸŽ±éSï9h¬çøý…gm¸ñÊïÔîc ¹?ø=ËÓË_g¯uvÔS/Ãï·« wZy“ܵգUvìÃ]?l÷Ï60gÈ/7µ/<ŸU²Y",¡÷xøßãáOwú†)Òq,Žsr@é¸Ï+»v³„×'$p(Ò`ír-K¹}¹˜ìóyÉÃ%io¼p¬FÝxáE»×“oøUz°ûe}•XÃhµÅ yûýrÖ8­ž0^$yažÔ15)>¦F[ã_Ÿ«ÙkN¤¶I ð•jè">ïìÊ• §jÑ.{âEãŠÂiK˜]¨·Ö°ÚÍ<±ß;¥ùY#~ò©ê-Hoåzãñ;_¯òݤ·lÛí:c†Iè×KoÒRy}?/ÒéÝ“'ö÷¥uzÆÅthŸŠiãM®‡–ɯ\Q=/)ZÞôjæ7ê]Å orÝL^k’£ñ›VoüÌnÊ'hoŒ¯–ÆkÑÀ|âG>;FôT½¿ïŸÏw¹k/蟸«ÐÉ ‡‡¢´šv9ë3åWÛéi*:¡UQцkj^×hpô֦愞h:‹6ÔâmïÝŸ-wzÉÎñÖǽ‘¡ÉŽ[†\Y\™VvnÕ¦j+oûÂ[ŸzëSÿeàEÿ˸ˆhzsã…·¥íñZÛu “É ‡o#4T²R,ì”æ!µ­¾q¾¯yãX ôrtÈ|¾Ü«åÓu-e8ŠÌsÕäf¬î´xáI.4É c«sX3Þ¥š7Þ×/¼Ÿ·l^î|ǰ¤»ðtÿÛó·Â.¤sËõYÃú£¾€‹|íîÝmN™5×f¼I­:ûWr¨—Lú|sa'‹vsÂÒ4+[Ë'3öȾ`h¥6\oON¨{#ß§,ZS« æ³âžZ3o¼°â™O¼b¥§ø†çvŸÄ*°äŸ(Þ%‡èõ½A)ÿ»é’Þåæ•¼°5ÌüŸ*õ¶’æżxaå‡;¦§‡ídtþ#ùÄ“4çäm#“ μñ¼;^÷zß?Ÿïr†<¼ó»?x-ÜŽµñÂ*gD>F侞C :YµoÖ9³®‘ª ž;î¼Z‡×º?öQ°IøzuÀ·Ñ{u¨f Ùu^È®ÈmŠ¿fiöÕ[-Qp•Bh)úú€Æe–p–C“¥if0Sù6@îÂÈkÉÎÒ…Ê"v‹t rËpÎ?³?èƒCªs߉޷øVß àOß&·.ö€¤O(=7’_íÉ¡<óÂØ)o[ñÏgâÙAâwÙÇüÑ6da0È|ºÌMû蓘öšV›*9Ã×õAß½ô»—~÷Ò?{š¾i)g£?zŒm”4¿Q¡.^øØ4ç“4êu->1•þ”Ñôë,Ås^KHCKFÐÈQRˆÍÜ‘6 µ,avaeÚVÓµdò“ÖeÖÔ‹9þð)“_>„ÒéĈ 1£`¯£^àâTB‚äëãîE Å,cI!ò%N‘"á´zÇe»òÕÏÃ]H¾ ]ÊYÚ¢_ï¬o`ˆùëYRô`¹$m<ä+›RüÊ/’¼±¶c–4/ …óèšsjš™<1‚,¦Á¹¿+ñ£H rE§wƒr3MÑÞºÓJ™èD4^“Bú,8viõ[õÁ´ +KVo76Þ?5r ”¯®á“¸L ~Ò.feŸp{ý±Fôî×$2L¼¤ˆË?ÙŠÁ1ËL¸ô”–€¬!ææ”òÆãú3åóQJ¹=â¸'´·6ý|ë-ŸËw»ôÒ[¾ˆùÛõ.ZçS¼ñó}xÿ¹Èûë½xÿó~½ðçv£™o™Í"¸åþYš¿‘Ëü~~Ýû[¾¿~‡çÔêߣËÿä»Ü?sV€ׄokÄ#¡·‡ñ¬Œß7Œ{ ûŸ%”7=¾/Ÿ¼Ok–âùQcݾþø™ùYŸëöBø.ŸßÞ¸á‚Û¿zÒÁñQœîÁKBþ¤5ì9™5ðää ¯=»3[]Ã’ÄÊ6«¼–HˆÙ ÿpJ¯?òÛŸj_’^½açJ|ÇUs–c¼òÎ#Ä â)˸·^ßD¶o8ÏLÚay/LÏÄâ±dÐú‰£®û¶ˆ|‡LÁ‡vV¾ýÎT¦üÖÝGÉþ”ó¸ñ­ÆX6ú<~WÈ[ŽÎé–ÐkYÖ¶Æ«Rrcë™VeÁNßÚÄòìÏ&{5±û²Ô&îÕ©|»á½ éª[ üAÙûÛGÙgåQBV²øò’ÉÏËïøù=–¼";‰Öù(Ù=”`>óòÍmÏç×]FçUýR:>,ø›R:§{éп¦Ú§2ýü"MYFuï×ö¥_éßÿÛþgi ƒj~£ÿï^f½òsº'u¿ém>?«ûž®ƒˆ¿õ!G«>êK{'ëjeþvýt×iÌÑqÚ.ó/ù×Ê‹ùöõÝW¬Õ“´Ž%?î7y÷×ͼŸ_+ƒû ó_F¯o†u})5k§úêó(øì=ÄÞûŽGÍ«{äok<2üÜ:{kUÌ˽šdµX2ýÉ÷¡¦Æ¥«!¦ï=AÿÑ—:¤ºö¥µ:èLxùæ6çãkÖpbøyc¿Š·ï|)œó^(}1ö'[¯|²çæ>JüÞÞâw+÷©ÃŸP¹žŠUïn ÈûWU-{è?­LèÅ-}þ1=óÏvú|Ùy<>çߦ||Ó¿<ú•g¯tŸ|7ký“êÊw ëë ÿìwJÉèjÉümÇóP6Üñü¹Âµ›¿Yaùùüûú¬o'óúö·jYO |O½¾Ñ_*Æ­²ý¡™äØ毗3Û®ÕÆ”jkã^Ÿj‰ÿ2ÕÚ®{O§™óšj=+Ö—*÷œj}_»ÿæ ù7Îí~×—ýÏMßécéùüƒ¾¯¶™ÞŸüM×ùÈgß¿Uÿ¤¦õÅuïð¾7@ýimÝÕzý&-“·êüóÐßÚoýÝ ÿkÌþ-óáM…tÅýQ|¨÷ùæ7­é‡ãþ÷ªÃ¯¯|S1~0à¶R`·£tÙ')âoí½M‚žMìGMí[ËÎÿa€ùßþ§»…%< °Uæãs‡oågx4PˆÜ^÷o‰†ëq[š÷-͇zähÖm×™A©¶‰¾ árþfÇö1"jÙBŸûf!rÄG_çÆ¶Ûm˜O½„ÊCyûb!22®òÖ0d,ÿ—páùG/Ú0 '~li¾ž³‰¹Z£¶½ÞÉ2ùu 2½a¼mýá”—Œ÷¾%|¹ª…ÎÊu¾q.X|["Ã#î3\ßD'Æ8 £ÉH±ßÑW¾Œ#«7™×1æ!T!åUùûej9íä{ŽÍÈqbŒTÝÆÓ’O­çïM-¶•p§ËOʢÿ¦¥î¬®áß”²hUq§†7€;·lt´´–0>Õ+W)‹>Æ-5 îš,:ʳ¥ŒZú*Ë”~á-8üp®*b ÌR^_8ªßâsއ†Ëþ%Çy6>¼Cþbžµ5%>ÿª-ÊQ±R’ǹæSÒ‚#¥Y<å&IR(¦yN!2œbF’BÙ7뼊6ÜTrÁV­ÇMÌ.Ú×-ÚðÕùÅ–] ±±ÍbJ–è¢WU>†§ÃÕ¬åê\3Wü‹‡• ÿö²ÜÜõ†j×ꫪ6êë롟Pžwv–èIFIñðÜ<“ 1aüÜ1:¯Óëÿ× öúØä ¯ÍlÜ|Æ' ëá⼎~õågˆË›û®:Ñ¿Æ!¸E™(þíÿE ~ýûÊq¨¼|pK‹Ík ~^yñÊa”ÆÈóŸ®ÀÒ|(Xˆ˜_Cx«½J—ð³/;«šNÔâ‰ç´‡ýþ¼Éx‘×'Tˆ,ÐLÈ#*ö›D4ÍøA±‚ MR½ÖGXТs‹.+*(| ·âσ̯±3²ñÆGîÐVC=?¥xt«SñÆÎ—¥ùcIòÆ™ß×dzG6$ÆÑÉA‡ô"…‹}]L -¯f=%P£#ÇEE'–)ú &œh3QPeůmLw“Bá|"ôøØC>é“ß*“…qW”dòˆ·±UºñP<Œèž'2ˆ·A\Ó"ÇζMRè5îLþWÔëÞQ¨ä"ñ)ôÛ×@²µ‡ZšÖä=èø±˜%o¼k‹¦¥ßÑïfÞ‡àMÅë¾Þ;gÝŸÙ*:aô4bÊR‘yæ+9öÚoÌ¢Q™ˆ¦¢†#(]xIJncY¬ šè’Ÿ]µeŶ^"øÊ.v½¦®ý4+W•«®Œº!u5ˆKž¡šá¹¢—;k…d«{G[¹ÚÕ„Åö*ˆ—šþŸÜgB¤PÌá°s ä'N›™)Í_3pl¶ ~y©;æÏ ›T¦(ÛµCý‰®!¥ù˜”Æ–¨{£à†ý¨è£7{ÊOnõãvæ¨Z–¦gîÎËdc×4ËäWÔŒJÖ§{µüÝ宀%‚ËŽH9E/‚~†MëCܹ×mÛ õ+çüÙBõùb‰›¸IuÇì9rV  |¨>d˜Õjø[°íaøx$_ó²Vq„üq²2~=¶‘@õµõ™Éîa‚•jÜÚ>dçaÝ0KÌú<¸Q4¥ùì{ÄGù®[ÉG_g>ûliÛJš‡F@[ðÂÙ·5¾÷u? &¹ ;ñ¥‹ÆbôVÉÆÏjl^SUú®–}_“X…™KWM¢¬š.âï«è³‡ù==M/]÷ø.åOLë,Í>;bñ·º¤ãªy^Ln0sê¬ ¶kE%8J†î8Sí+ˆãg2_μF]ÕÙlm­/Pÿ€¸È°„Ÿ0;<Ç>ó¶ÛƾŽ]ÿ ŸõõQŸŸõüÙ¾´—g;z¶·g{|¶Ógü s;ÕüõQãÃx´2ö°yc£ya×cVôÍÜ8ûèïH®ØÿiRHýÛ·Ýܽ»{Ýþs©ÁŒðÙ &z]K%ŒQ?†¼ƒ“:û³¯éUㆠ: æ,ËNRoÁWºõV§<;•/ž:#¾ãþV‡ŠÕ±$EGOh,Mo±ÀR©„8«ó,iú€&‘©„çõKé8ô7ä&w&7PÒü·’â…—§S&ÏC +ÝXQ["d΃u¬'iÍì:K&áÞÒ…#ß×(Ùùõº§+ß¾o>¾çCx‰ úu%o¼\Û-ÆË%W­”¿ö{z`,üoŇ٠Vÿ“Æ9)W'àç23`qtùci¼ñãzcßžåÛ­z²:6ÍÌõQ¼±ŸcÞXùŒBAUíØR˜<#bu¦ má9”B$£À&k81ô’k6«ô‚ó¶’ªéSø°&+8&yQ’ôL'³‚Xþ9›$ýÊÇ>+¨Üu ï°ÈU ½:›}Ka2Š¿Ò„6,[$©®Ji@¯ŽxF?x÷ng¹±K>P¤‘œ¹TAæê…ÉÌr¾÷Î-YuïÒ}1\vK˜]óTœBט¢Èsîi@œ® ï òñuá6#!rýБ …ðó"õÕúÌi+”[ayÄØ ¯tJ)·çêø¢áÉýlKšß8H%oÌ%Ñ’Åóþ•îãŽéOGÿµ:N×QIJÒçNÉ ú KÓ šNÌò“Lz§Ÿk& «˜cmNWðC˜9¥!/Çáâ·£¥>ßÅWí[g U z\ÞþØJ˜aä´a8î%ÄFû‚'*iÃÐyæfFâ3-¸œ MVÈá²S€Üxü€H¡n¬"ᇜ¤Ýr]wqàËöåÛ™GͽSb|ú17)þäH”¼q|‹˜CZ&¿`¤ªta´q}‹µætl‡?‹7öïÍ'ö}tï³±)^8úZÄE7/Þ‚7^w9år‘ï¼Ù©v4ižLñÂáÏr%“×ý3ÝXÏæ‡iýB»ôBÿ£’æÙ'oÌIxÉÆoë=ïÇ|W_Å> ZÓ¼5żñèþŸÀüâ3•ˆÎ'|óSܱN`R(f$g ’1ÂÏI á”ÕEÆþÀðÙO!:á>ó9J&/ß½LÞÌ1¥yÇ“„ôRØ'Ì6>;ÂAÕËx»…¹KñûþÚâ}Kó8{l/ì|àÜ…ı|®œÎž¢«êb³ð «TÀ»n,ËÛf*¡L¶üƃV–¬’IkgNК#Nïy&ŸøùÛñÁ3”b¹Hëz=¦Ó‚±cˬ`ô9ÈKå!.ö£'Ž5'×Ê0-IRHõ’d«¬ˆœ7ëi§‚?Y"ÞÆ¤Ø> ŽadcS¸ö«À~lÁHøj¸ôÿŒ*åëªWMÚ÷]%IǪ×0dVpÅÊã‘Òtüf­TÂýšKJÓ±\DñÂh2Ø…à\ÎZbn!ú•!wG1qåþ1ÿQ)Ñ>Ö½_’Ìëx 5‰„|U§$¡Ò‰/v}H¬Lð‡*Ùøë¸§Ã¹=‚ê’ÉϨՕ.ÖÑp·4ÿª%¨õæ—¨ [Éä]»nÌ#)Jº–Ÿ|óƱÄv¶ßÏâƒ8ÁDôNh2™bbÝ6™L1±îw :Ax=¨*&/¼F—¾¯Å #rÍ«ò/|P0Ÿx¡Z°NÒ5«G*hþ£ºÿ‰mª’’AŸï Y:N)‚ºa&öÁ ä6ŠP6ê…Sê ƒn˜Mê§ÌP%Z‚ˆyâ V8e: JT‚ˆõÒT:ÿ¨”w»BzËWë­?2å„*Ñ®0¡™tû£§¨I·Kf}þÐ:ª¬4§Þ^M,žW²'„.q»DÄv‰Èò–JÆí «zCÜ>ZA𬆿ØõG%]f.v¸ñ5™”Ì®.8ëìÉÑp;9 -)þZ M$o|q2]’üK¶GñÆû«gŽ ¥ù‰“ëâ©>§\8©ÞÕì”æ—õžn£mxäûê=ŽqçwjŸÉ‡SJ„÷2oŒ]ÑSñÆ =a«oV±œB†Áóàt¯dãï²§ÃÏ’Ó½”ÉsšWé¡ο*QJó+§yÉN÷R&ïòwº1§u%ý8=JÞxá4¯xáØ&—VKóœæoë=ëñ1¨UƒZý±R N™<µøJÞ8v¤LžZ|¥ G”ž×óSš‡Æ|Ÿxc>SR«?NŽä)Íç==ñŒrÊ÷õ{,ç7ޱôh¼ñDí>yáý¢voÞx?¹•,yáý vŸ¼ð~Po.žx_©?Gˆõ”] "¶KÊ}¦$1K¹Ï›'V¢«=ÕxP»OÞxP»/^X¹Ý6©ÚÕχîÃh7ùGÕ‰JJšÑ|—HÈ·uJ* sP¥‡<ã˜ÀWÊ䩪WºpØS^WÊ䩪Wºp¨ø[&™<í0•N|\TÙ-“wvzVxªæ%ÍSÅ-ÞxA‡U¼1Uö’âªêÉGŒÈ‡)ÍS…/Þ˜*{É p4”ž¬ßçû¨ÁžTá‹7öû¹¡»caGÑôJk‹dÖöG&•3?5ª²{û£’¤5ËYÊvÙWê'¥ &“Š9ùˆú£Œ:²µÅ)/9-Êsý‘Iµâ¤b>¢þ¨$-²äj§—77Þ$¥x/­™O|ðΖÉki/Û^¶Ñ(µé‰Ù7¸#)=ÄúÊÁŸxŽPó +Ï–9‘Òœ6°šûx¢”óü´0ceÍn#ª¥­«iL;ºíḭ́—%må÷z@®,Öj¤—Ü,sÝR/âÅh--YKh!ÛK´¹°}ýu ÛhEgÊǶSmÔåûZ¶õî°j;•pQ7oi:f,g¥råzKÙééº'–m÷ËÚuØmç.j±zIÚð¾²m¶-a÷ ®ûR:o‰ãOäà î¢þ¦þPÊ%óp&˜¸Tz)ÅcÙxÌÉçR¹åLù¼y·[óÆnß\Qœ¾Yy|¬Lj-"üGÂ6]+™»V8ÍO =»Ó3;¹Vn ×u—+ƒ$!â“ycßÇ2y>¯V:Ûs®¾2jÌ÷¬ë…¸2Ê’ZŽŽbk+šÆá¬´îMŠ¥}lÅÏ o\<ñxð£ó«û¤°úrÑ€Ùm.™ü‰÷®tã9×ø(ÅÇä A©Ä‡Ò5@Kñc× xã/k€æ´8iíÏò¹8ý` ÐüŸX<–ÇZ^3ãßÖôæ¶&hþ¹FøX;ôón+÷S­þáµÁý¶6X=ÍŠž,V¹ÆÉ¶Ì/s;Áñ_÷&½Îeïä‹ö_ó]un g€³Iól ØñÈøY-Ûb+³Ê„=Üõæû§ ý2{>k6ÏqÒüCCºkN­Åe ¤VðÊïÈ{Ì~ٿܘ­ôäåÝôcþcLz·íÞÙ-'ù‡®•üCÇ3ÿÔíÒ{îG:œž;BË2ùó±JGb9ÒAP|¼ßhéÆlÃ)Äæ°E:G9ôÇ)4æáT Ã´a™–ÉkØÍtá‚=äŠß:$GlÂÉk¬_í´®IJ'þÚµ)áËXùU³„UrÐ>·ú"ÆØÀ§2ÜJ¹¡¬H …¸Ð)ÇBlU.bóõUlû¥Ÿàåõýê/Ì×ðïþŸ5ÂÇŽ®Ø¦÷¥Šÿªô+á‹®/>ûíN3Mˆ¾ùm ø½¦€Ø…xv–ù§)À|šÂÅwj<ñÀȺÞ8ÔÌ¥ÞjÚ¿RMû¡)à1oÿñ<]õ-á/ótó¬§Õ0ûã©»{§‡þÇet[þÕž¿9V_ï­aÿØ­aÜ`Ôö~Àe³h¢¨s’B3d)„>#ÑôÊç")DN ÷ò›%¼©€ÿæ%Ø£ÍIÃ<묞’4•HAà*ðÜÐydè(ìtó‰9,åu*‡,¥ä[fêA÷-3É?¶Ì$ÿØ2S¼°Þ§ û¶í'¿Ìs×¾lúùoïÉA„¾“A‚gÚ²Ì]šBì¼püvZJšÇî¾­xã‹1þ¶n×tßé&üe§›¯ûY;ݬŒ­ÜcøEI{îx{î„óû#¬ø†C£­É÷KþÈà`|Þ”ÁÁJÜŠ7^è´—¼ñL§½ä=È&/ìAÙ¼oö ï-`Öùæ?¯óýmcH€Ñª«ªoòÂØœÜ®O¬nÊ|v[êŽâ¾ ½'įJ\N„µ)„(%D¾*É\$Ž%La2<‚*;l,Tñ5ff‡¾|ã 82ᓱ,%ÍnáNÞØ£¤eò ÐÎþ²ÓEÄ‚#9ö¤<æs¬iè¬&­œ+Gz„âGØšiNR}ïæ³•üÖÍgûÝ|~ä“_ýõŒyÆün.×W7—·’þUÒöÛÅ.DÓåfžš4¹>x…ý[GÉZât¶ˆ'"a6ú>„¿$mȃ6Sˆ]©š6\qžh ± ƒ›6äçH!6Ø]É EÔèñ'„·ÁQ–ž¨ºÉ'^C3¥ùQ˜Š7¾dŸ·ÃY·âØK6>4–ž &fQ£d^wàÌÞâ£× mðP¸tFÿBŒM7oÌhhæ ³×.Þx ÂWñÆœØo¼#rWñÆúÉû»ð{d¾±l© ÚyTh™N’7ž¨Òïo¼¢|Š7V6?/J"œJæâqZëÒxá­Wºå+–÷°bù>8˜iªlP˜ Ûv¨q¢ bì¦ «ä•´á̈¥˜²DTÁ "Œ>"M¬!FÅ-é«þŸøÐ©ä\9ŒXÂèìtmÒ¼b[&/ìQÈ2y–I¥ {tò}"få>g>\`_¬â¿Z]ÂOk`~‘‡9ó¿m%üÛweü`þUÕI5€µíG³»?¶+á=]û§N×.Æ»‰qpú8“$8nqÜXàíÎ'Žn¢óÆ­ýµIëð‰¤_Í™,€²)¡ ^-á,j|8ãJþ²îAú9Ž}ŽdŸcÅ7kÌd%éîL|éE¾t8Ùký¨_ûÝÙßÝ7aÉç ­èäHSUËFŸë-õT•ØGÉ¢¯é–ªx†Œ)Ùèé‘<鸮°AZv~^îéÀ‡|g,c@¦ëM\w“ðÍÛ>pj¸hÁ§kt‰ÐÓkä5YÁ°Òî£IÒÇθªbcN·_M’fù&+¨ò¯[FZýŽgD¹Ü#þ//¹¿{.‰ÿ²\$þËr‘ø/ËEæŸËEâSÞØ¿ç`ÿÊ9ØïÝÂú4¿·7Í?Xó‹ìawŽ3ÅS©¬T[$â=ü~]S¹þ¢Iþ•òË,÷«ÂøP.¿juÔØÕìï^µü¢jnR&·»ªyPÕt*!¦Ê£¤é+¼¼*•P'`¤4M£L% Q5ÍoŒ•ítãßR5—»|ªšK©š;éH™ªæÙR÷]*枪¦Žb9+æùýj’´UÍó­jþ…Kî‹OžJÃ5š½¤ù;œ’7†«ÇܤøÌ—øt-Ùy¢KʧG”øçbÂsñG¾¯Åû÷æuŸ›Oã|}uc6ïû9Ý8-$“g¾Þ*ñ¿T%ž.­-³ã‹5âè,ÈbÅ5â$‘6|h@ɪé9Õpè|,('Òf¤¿ü ÛëÛUæ_¤c•š„ŽM²PT/_Áüƒ¯~Ø×.Ezc‡e"Y¢XÂÕÁ‰Û\ä¯?§ù‘"±54I#æê«­E­”Ï<ñ©Jï´‹í6ÝtgÑ©;óµ|¯ËKJøf}I)¿œ»ùßm¬]dƒ¢½~«ÁÝ|z0ìUòçÁõÿçï<Èûz˧²`>] bÛÒäÓ#Áüs9¹ö:Í8øöÀq„e3ö:³'¬ûâÀÙ“sTʱr£sÊä¹ù(øË ü@³tš¥d)žGÏÉ4²¥¤yçμ±s[¢b|i¹ŽÜ5Z0zk³†r9R·¢Næà«"£0÷$‰"ÛjafÌLb—l!Ry)Tʼn™ÄKB‘åq¦)Mo<ŒÏ©„¹ÿBÒô‰[¦žR,MÓ·’…ãX²µÉÎÏãž>Ë‹Ìçj.t˜gNLcþv“³"\E âdÙµIÒq¦gK\¸VP’ôàyáf× J’VùšôGù·ùfåÊz¼?8½{OGþ¥Ó‘̲>=¦×_Fví­AÿÊâ㧆²¸~w(‹•z[ýñ%”…~™PÞsâ<ìWkŠò§‡–”IB3²‚¤·’ôžÐ8¥ ‹¥Â]1ñ_âe8¹?ÚÒÃcƒ½éûÞÖ/k';mûwk'û\;9¹>r~·vr~³vòÜoëÚãý¶Æ.¿j¯?õöñÕH÷0ÞÙ¨GûZØ™;ß76¿K~]ç’¯Cµ‡ðÇÿ àñ%ÐÇ#ÈSeKþ©Š<<“<–<›<Ÿ<¢<§| ¬r=®\÷À,ÏÀ-Ï€.xÏ8}_â÷ý ÎßUÞ›ª;=TÝŸG®½ñ#÷\aÈxq’Ïä½âüJ>Vnþö1æªí}èüÁ Љo÷ ó+@ç´t·˜o-æCÆðãn1?žã^²ÊªS Ëb^!14”õX}A(¬bFO-cÙ}Û¯xlnéÆ_¶ýŠ×Xsbá™:Š÷öÖßÚÓûe‹/³õÍ^Þå¶—wÑÚ¾âóñ |Ee=‡S×tÕà ©ãÜöÂïÃá 8¹Eøþ°Äôÿ‚ˆëLóï‡ .¹R°ä˜k,ϳ”_T,'<´©/Q×!W=ÉgœFó=BÂfqß¡<*Õp.'`sÎY£ô)ùs‘<áÿZ±%ü(LÝß.U÷¨öÿ©JÿCåðóÅجŸ“0Ïàî3·Ç„î1ë{Ì SÅÇ|ò1Û|LB3ÕÇ<ö1½}Ìßyß¡ÞþûyÿBMêé‘yc÷ÑÞÆ1rÇÈlùñæ‘öÛ箓êܽ…#»ô“&ïóևǭM jà[(|Ìþ~“Ï÷c±á#œìê´4X•»¾Ëf?²w}™ÆwãÍ c¹pƒáyaœ(÷êß-MŒô™JxÈtniz@‡ÈTB´ËuOiz…v’©„ÛÅæfÙéWë»%>س@pÆßBóç§BEPö|ø~‰}QÉžŒ~ õW1!‚fºJ3e÷°·?œÂ£iGKIfddÆüÃI‹ÓJJf–nÚþGÍ77̤Y'­µ$3Ó錘Z†&•xŠùg’BX(1)¤j.Ò•5zÄb6ÖÌy>3ÖÚB³L~"Ž›„zg¼Ú0%>ñLu *= ž…¼®»Äp*õļ±ïc™¼ž7Iåéωß'o¬÷4/Ácʼñ‚Sæ÷â…¡–XÝš #b ”æ'¨Å oüÉ íœ7oÃ_`”Á«Ÿ‡JgŒÇ ÂXÿ´$wÆéÃäÇ¥µÔ”â¡FíÅŸþæ–âq¦ùT¼ñ.5Ù2yÕ£L7ÖšiJ×7©Íæq*aûqÄçÇ<ÞÒüJµ9yã‰ênÊÆË==ðªz—rcžVO=Z:¦-ú}¾ê_|ÓP×’Æû÷?[9ˆwûrû;,aœì1üâG“:ßÓq;÷`Xæuq(Á^4áx §>èj±ßȸކ®¶Y]ó™}f+³Ã›­°…%MÇ)è-•Ãm“Eïç-Py‡fæ™&™h —È$‰¨ßš o½ºR("§²¡éÃ¨ð …øƒT5¬cP7HZp’fšzßnVHÊjª±}4„B1ÓgýdKØ?ÑÚ‡ž˜eò§Bu;]x=dû’4ïѼñÆ9uIwœìHQ0eƇ°½1eãqlWK>„Ïç¯ç>Þ7yXœŠ…+i YÄN0‘¿È?úo”ÅL:dzª¤dRçœïeª +VëÁ»h̳H]/UgÑ­ ¨îÃч'ÍÖRýuÞR1´Æœ*´·cø?Þ1üß¶ê¹êK,´åã·c É9Oï°óùq;dê‹Ç²øÜ¾Ó”½ñÄâË1>É8®ÉEÝ·߿ͿïëÆ^™yR>vh$ÿœÞñº;Ãð¹éM´+mî…3¶;½÷ê‰VvÝæ5¯YŠðK½æ2ÔÑ‘S“"XáòmÎ07‚$ÿÜâ„/›©ÅgñªØÌ ë<Ó‚;·!:_v„ˆÿfû8þuûA~ä^ú×F{»~ün·Óq_ƒß®AŒí j' ÖÐÎÎú¸ëÞR|Q¯­xãØg€’æ7î9JÞøT¼iËäu¾W¦or½™‰’|bª–4ïî>Ö^En¡#¾ c3GpÒ|\\ †I _yå5«þúW”ŸµlòÆ<8–…“QDø/)>\zâôGóª9Âö[æu±)f4^›dt Úç–0äçöÍB¤Ê)"…ëŒ÷ä·`îtwÌ…exEœkÓ‚1f[Ò†~%ÑùºÙÛ)àíðr P›zÇkþ‹—ø‡ãVö‰_\¥œðÕÕÊ)ß;“_]óÍ[kV^þö3ì¾zJ¸}¿"ÿ>[ö­ý\ÍhãÒûþºóN§¡fH‹í¼§©±Í@B7é¬ÓîO8_Ë%´·Ù·nÀ}Ì"ü¿Ü€ÿº3ËßJà¿Q üÑ!ÀchByQ†kǶ&pŽ2قщë"ßGOÞiF3  +iÂðõw±D˜n ,?Æ ÙõªÏ5p¿NH÷Àéô‰Fùµª÷âØÇ{qì„âïZó:@ŽÈp=©ñ<ÂòÜ4¤ã«æôe1Cøi‰Ï„/¦øLùb‹/uà±– µ„¯j—d*—÷%šÿ¶±ÿ½”øï\Jü»yÂf=è¼½®tC iÞøûÅŸ¿$ Æ&FúŒn'&!øÃ Ià`âN¾Åé×\J®|üPéY’§ë×Å Òr¤4=šµä0¤=dIizá¸îTBÚCFJÓ+Çu§ NÏ-ÃJOö8/kIŒë‹Fð#·„Ù]C¶hË#·Dc=+6‹‰½mq¿s7¿ 瑱Û=ݼñuh\ŸNW`qT‚‰¨ß'”b"<¿5N(ŜˮöáØÅÁqB¼pœçÎqB¼pœ1ÌQͼð~hô;5 ÏtéF{‰qåðè1Ìõg]]N:"}.GJó/¿%ó!§õ.×(´[²àà)ïq°ë(Œ”8¼âc9aÉ÷(Ùùi»§§Ü0-Zš?¨‰%ßqŒ–±Yd¦?÷Š}r”7~Úïéž?õü¾j׊#$ý>’ÉÓùrVïµú(Þ8z²éhéu=îgÞ-y)Ùø5 é-8jú¶”ìüõHwp¯CGÁEbÂfE£ÁM?Ñ¢˜¼pXjcvaYü!^òØŠmKóQ>±OÔ¼±Ë­Kì.å,*yc•;,[ˆÏbv`̃Íc#ÊY²ñCXœ¬ú›²óÛ#Xv?7ëë[ñÂØrÑxc¿‡ëso'óRùöuñ»½½§±¿·ùþý§ãþݦñ…/ìïÍvï~òÙɨSq§ôëtVí¢ˆ¦ Öˆºkifá«xaWö3eò+ï›éÆm¨ÿÛ…:É1xJûP÷ñÆÑ2÷³¤ùˆG¶LÅÇÚ—³ ÍÃJ×xa؆Ö-eòrÔÉtãhð°•4§¹xãx¿åjR<"-íÅGÑÅNîй—“ºô¦µC|xóÂǃ7ƶ½£ñÂmùù?wãOIñ¾Þ¼±âN§4¯çÐaŠÛ“ãùóB}%eò´8Vº°ë¥y×èv{*cL¢±§_¬áàGØ™3o¬L  Ά!RHÏý½m0ü…3$¶Å C„²¼%Ðcº]AWio¦’¼%ÀÛ¢_"&æ¡GXÞb»ôíŠYCìçÞä-Çõ+ßzÂ=,ï ó:ݯsXõ}·8”ô+@„uä8JÞèõÞ® ±Ó…%eO˜¿²]A+˯Õkþ¡ê†Ú”õîàkÅÛ£V½æŸ¡AZÆ"–B³o¯Ò=®âÈs¿%“¿cÀéÂaL ‹‡eòXJj &½ë3 W² ÁFuEaaLJ—Ì„Xm›])I ZK:aÃ[¥$±ÊŒt†”fTêˆJÊLòÂǃ7Ž©ç3/¼ûEý |r,x ¦´¥ò'NI"¬´ûÖ¤ô4¬N\Z²9mÎ2yU˜LvŰ|V¬)œiÑQ¤wÔUtâ¡z „F(ƒ™ ¬ŒDx4a^yCцzüÿtkûÖçA?›Ol³Í?ž)–Z8‡2¥ˆk†U b 9=x.…~F É þéá°2BD‘BaŸÁ(Iar…ñL#pM· Õ)I!èL¨¶1*¼2¶r÷XS˜\áæ4"çšÂ$Þ!ÌwÑl7,ìGˉâ1);¿I#æÅ$›/ S›Ï0€™|5Ûc¤Hv‰uJ| Õûœ"Ù¨Þ•HôÒÁXÂI7N ´‹â„¢j9æ ,ýæÅ Æð‰ÏcZXU%ù¬:ªJÇ夹êdýá”èØÎž`bЦU "\cÖúy´gÕ3œ`"ÆÌ«•`Œm×ÿvWQÍýÞW,Õöذô¡]ßÕ´ |mšãb˜ $Šüœ{Ú'®FG-Qäç<õD@z÷X4ösÞz*`,®)û9=õs¦mIªfꢇÌ­§¾Ê`ÛS4ösžz*`Äb?R4ösî‰@;¾¾?‚¿¾aîñ7­‡þMæs.þ.¾Û®“‰Ê„¯®äU\ü·¨(¤L ßkÕ¿EEÁgJ€]'ÿ-*®Î”[k׿Eų3µ%ìð‡E#£ÚUÚ'ݽu&ëØ:?¨4 M…‰ø†4q⨤͢‘pÚË´ ¥«NE†»[¥ÚgÌ%Š ¸J „¡.E‘3½¸”èä<_¢ÈøA¥Òj™D‘óu¶´ù¢‡|¼ e§§ýžŒ +Œb˜²ó°(·ô™–dXOý‡ƒòÆ£¡&ŽÄG‰$£ÉUZ ×À°í)ŠD;®ÄO¹€íKŠÆ¢‡¨Ô€±Â S2Dg£Š·TÀ›Ecñ£JÔžloÍ.ö+w™ú©=v‡)û9÷Ä@áó³¥(Òþ@[¡A•Há)w‡¨¼ðáK6^Nç™®EÚ¨V)?k‘Úé %~¡Â¦l|TÖž òGÉÎÏ×tKŽéáÑdãñ»–¼hAÙ²ñpfméÀˆo¶•ìü´ßÓaldhÓ”£YOŸÙ&¢áT¹ûûÌÉÏS5•ÙÝÚ|fï&? ãFdžuÓQ”¦lÎÈTA˜Ž›Œ-°èÅ÷¤Ñ3,GIñ±B#¦=Šó\²ñ°+¶tàX~:FÉÆ£þµtàXö8æ’ÇïZ:ðEU?e㑯–Ž8%á˜mNòÆÛqÅéX¶ärXÊÎcy§¥GÿÁ—ýªÏÙ>ŸÛ5À’Øù!ûêÛY‰l¯A¨2þ¨ùñõn£¸xf_H±†Ûô%Ïœýè ~XAïóok ¿«¤^W}.t§€•5sØê.Ž?s+öweÚ}•á—¶LZ%ö{«Œ~­üëmÚ-ýâñ~WíÚ8­948˜Tdk³‚aþ€—™XÂX—šêZÁX9b±€¡ùÏWeÂ8œxîrlÐ^“šÍñúPÑUn%ÅÎI#Y~ÛÝÏ í‚m4~3’šÍéÞ|FLÞY²mZY` ‚»*fI±sÑ›æü›,Ÿƒ•) »);¿Ì÷ô…ufWÉÎÏË=}¦qœ[ÉÎOû==pÔ¬ó(Ùùi½§û¬ïX铼ñÐË[:ôï…Ê–±¯§Ï¬d°ñ[v~™ïéˬm`W“Ë=}0¼œd\îù}ä<ÿ|ªÂj‘掳p¸È)¼ñ¦ào–æwÙåÌG0U8ûHš¿p’@Ò„Œó4¥4GgÏ•*ˆ[IÑ69$+¸Ñù¾$éS¿+x0"],Å/:Êûa6®Ö¦ì¶ÉüuÅÏë7¶©ùæwŠ`üü® Ñ=Œ.WTy±XÃ0¸†•_R´ŸpÐ {r‘ Q ‘n¡b³Áº!Z>rL b-€l¨ »9#ŽÝ1 ÜˆÒsƒtG,eßA”M ›ÊÆO%4Vþ”$çdy –ÃWÄ)X'Kq³IžŽUf`?á¾`+Þx£Í2¥y9¢$o8"ï–æq Í(^Õz)“êtœ•nNyËRÒ¼úÊäcÒ=ïMŠ?¹á)yc4AÁR8']å².ÙyõÕ™årÈf&Ùùi½§O\ÝÒó ÏÓ'+8šžµ½_®ý–NÇÎ ¿·ì|ü®§c¬Kv~Zïéº!ŲóR3˜rK6^Š`¦_š¿nø¾tÚŒúÌo™¼ñ¼Ýyãé„U8yãfP~ÿ¬p#?›$Ÿ×‹OýVäAÒ¼Ÿƒ"F,ŸxÊÅÆ#!rÆAÓ§YÃl™–æÕ‚CÑy‰ÙUK¤¼­÷$…˜#‘Bz6ލ†fŒŸ«º^¹h·çó²=d»Ùù½þ>êÂÅ~\—†©.ÅÏ+¦§ÉÏt¹()~:´ÍC¼ñ´Ð®œÒü„øÅG,’}¶èlÖªÄ@ BYÌpÏ1v*-îO:ÙBåXin()~c`¦ä·EsKóÒᓎMöË(™ü€t¥G{=š5¥½xãpÖ CmJñ§ÌAæox/yrSßã‡Ã[xf†%ÀDÞ¼±v`o¼`ÇAò‰UîÉû;¨|uF ·^iKÔ²ÝåD?˜U[uV£Ä:¦$eñ¨ë-ø•§u4™üÂøÝ™n|à‘›[wŒÃ˜ÃDHx7k®˜¼Ê5yc•÷Λó.U1yc}'ø^Ðmân9:K&¿k«’Ó¢¤x?Ǽ±ò…9äÐÆ†hÓ—~—rh#Äà{Zf¹\Ô1šÌòRù‘7fyñ¹K>ßÏ3_xÐ\(yËßòÎïíþú=Ìgɼ/ ŸÅs#©Ë…[Ön꣭Sš??¸1ļ1×âJŠS(܅ć<æ»ÄÁÝ®h¡7¬ÚŸ¹ŽY[ —â;–m€¼ñЖEóÆ!7è—¨WØP²á̃ô,Í_~ÎNÿSúìMŠ?èÝ’¼ñAýº¤ùƒ~É ŸÔùR&¯òÈtc:¶”,>tžN¼ó¤èá;Ó£žDÿ°ïMšŸ|0yáƒ6§”ÉïÐ**]xçbJÊäµU2Óy~\Ä,ãæ§?yã•ÁͯÔÉ’7^¹ŽP8®_o)>êëÙxã8¢kíÒ¼úä…Õ¯T{w;f€’âݯ›ïx%;ïñÂéÆO6.â¬Æ_¤ƒ%yD^®äa:G“æwÔÓº¯Ÿ³RÏJÞØù2_ãçÎÖ &¸HÇ8Ïò°4¿ HDñÆ5NRš§žýî²i¿s|YàËcÞxå’YòÆ´À=y?òýGç…}?óy>¿ô™E_ÇwóœÃo<³SšŸäËb^}ÄR¼ñ¡ïžÒ¼ôÍä…w¾_ÊÎÇz=}—»öNÛñ}ÈéO¾áíl¼±í8æù}›¿ŽÐ›T³xcéwæK/ôu¾çxæsÎǹÜ5{_b´Ž¨ÔÓœB$½ìL qªn!G<9ɉ5įŸ8æTǕҼŸßF4¹(¥‹•LB$Ôõs5k˜5ØÒ¼júÁȵÙ&-‘B;]'L 1G"…ôìq¥Øœw)¤çaç«TæY;ø?3¥y(ËwZ1˜°“bÇ^ÛJ"ˆ±ghÞñÁ-5@û™»c´#l= )v-ZWÁ58XGRìZ4Pâø¸P–FXY„d$Z—»6šWÅàVõÖÔš"k\\JÚ÷ÌJVp* -I/‹ÕÜí&é|K¶×Ø„yn*6…cнé\62ýñL?CÞ)ƒ û8S¼ºù0 >S¤Ð†óp,Db'q’B¯{ŸSˆ|M¯§ä`¬^-ÄÁÓ3É„Ñg])Ìb?ÿ”´!NP(!öôH"ÞÈœÏjiX!S—BóÚI¡é` )C²ïœ:±‹8Y]JR€GJÓ£Œ99ÝãáÑUá_2ú²¤ü™õ %nß~G$ç žé5{¹DøÜMáo>Ÿ ÿæÃbÈ÷Fý”þæ#Í^CµÎ’bç¢yÕÂ`Òˆ'‹m{S±sÑ•b‚~¼N<\>bµ\& !µý—ÃzÑxì^ÑüT´ ¶Þo²Rœ—‘.UX¨P åbŸL 1"×JŸ¥»¡Ëk y=x>µ°n¢×ð[*78´/ k«Ø‚ÏEðÏIGpˆ¸N¼ 7j{k¶ØØ[»g¢Ðº6äKñEê'†ü`,0ü‹#7™U’™qeh¦+¾èáà»ãÆ–ÓªiA|´õv±Ž¼$U)I!8]•«Ô#KÒ+ös&+¸nÚ!e)3‚b 9ʧP‘¸Ä ê§°>l˜ ¨?X×¹m)ü•XŠþeÞ(ôØÆ .êg¯Z2ÅÄ2E¼ºNìX³¥ª‰ŠÒSDú™ÈP|»ÏPp#à œsãª?œ‚MÍÇÑDà£r÷oþ¡”ØÃc´Là䎫d÷yèó¢jø§ ¦…v"DÔ`ÐU¼ñÆ1ötÞX/œ¼q¾VæÍYpî±’ºù¾§‹§H¡yí¤[’I!5W~Õk5|kFÒÊ·o(#Æh &fÔä­ÿ¡ÕœJpUªÊÆ*âŽÞ¸èYIÕ+#fOï×aßýÀîŠè¹¢y1Ñ9®³(Ä(Drœ{užÜT°jš°ˆ28>&3ñ'ŸN‚óQ1#Ð,!oDN€àj†XÁ¹!¯ýÎ_»ƒÈ™äÙåÇíêy–Üçĺ|åÖè·žñÖ3ÞzÆ[Ïxëo=ã­gü;ô ¸Rq°b€€¢!÷OÍa\{¿‹”ë,ñcÝ{R'‘ û †LúEÃê=}I؆ٮì&ÍU^N†f6Å>íœÍ†ïÁ\®ÂŠÞœÒ1ºÜ‘Ò¼Ÿ¯´sMä ‹Ó’B$iO³†Y,Í«¦Dͧç"WNpiDu“DÊ‘H!={Èù>º‹H!=Ïõ˜•<>B¼÷åX´+G®"…°¤u#ùk„ÁËŸ«)Íšh¼ÛÇ»}ü/¶‘m!„ÎG”\1uA«HZËþf r?¢‹£(ë}åSú”)/Ç‹7ÆÝAvè có¼7÷±c{à¹Õ¼ñâØâ–É+™.¬|À÷îÂò¯W'sõKäÉ Ø…úRøŒ·éÄΰ¥y½€~®{?SãW³_kŸR&¿Â—,“ã¥B=KIšß/YA}ì˜@lÒ|¶Õ¬!£öV¾2ŸÊ÷ïºÉµÉÿnçê±&«)ÍoÜú‘¼q4í¥Ióáµx4^xÑáð–¼÷tà‹[Sv~Ū1QQå“"RHo(ÒïëI¹—ûsÖíÎc¡oÇwCP•‹¯ Ï~IÑ1piìSa—J+Ô ½>|up:3ì?âtq~šò´Â…U—“áߺ© E¶r£ÚJÏÝ\pNæÙÄ™ÓRˆk²7ñâ°ŸÓAÔÍ×­%´!NWÀýü ý¾’Š­bÞøýÈüáþh½ñÆ<¹:Ñó”϶ ‰g"YÃÌ‘¥yíMÞ8s¾q{µG'±™åj¤QÌ4–$…FL bØØÍñ_QC‘#`Ùó_SÜ/¡¦Ñ« 1 OÀ^•”ŸÇ=}–2œ¤$;?m÷ô‰†©YG=Íò}M~šïéµÑrdÙxt¼•Œµ»¼Ó$=Í÷ä‰ p¶ì|dª§^ì&eçåÞé²ÎëÚdãc¿MO¾ê£ØV¦Àà i¥ŒtÄKÙùø=}å“nÙùXÞ})ý3-ÞÛ¾FÊÆ_×-®­òŽ·l4‚”µä‰zóÞdçqpK>US-šÜÒInV”zã—åžìtqšÙA]2‡‹6F„ã}O™<‚ñl•n¼iãf4Tâü·§$7Z"RèuÃÉÿŠ {ÅbŽ€›þýÛôþÕC%M_“–7:2 CIœ÷äÇM×&ýŽ~7ó‰tµõ;aß7‚íÀaœ÷W¶:-ˆÍLbµo¥çy›óVñ˜OšÊDœç°âBm¯/© "¾¿Ûb¶Ù턃쨒ù¤ÇŸû^˜¦/éJç¦ÏS”WñYマ¨ç+7»—€+ëM`"…ö³ü@“ØH”iB'ëŽ58} 7ü,Ü¡:1bLDÊHi>J|Þ‹7Ï­}+™ü¤ËN'朧xcÈ=sç¼2Ä‚H!gYl¾söú­üí¶(mã§N'„ÙyMÚðUc®¥ vŒIK˜8°™Ô·H–㫉ôòS}sÉG>Ìq“¦/§ã†CéE$Éäíæuºq˜_ÑqeœÒa?–Sç¥IñØ}o<ZÊÂ,bS¯I rgè•7Áö ֔ū7G˜¿-ñÐú¥ùı~5Î’~i¿¬ùÄzƒ¿ö}ÆÉ÷w¾Š/ŒmÑæa¶èùÖõº_ŒhçæRréˆ5\§Î ­“/‰¬º±ªi£d8AA@Ý…àH ™|ä|jéÂCi-“g‰Tº0,ùS“» ƒºoJñ8?›'—?ö™Ï*. ‘Ñã”J“@ðÚ=-DBiÜn,ú-S“¿µÊmþ˜ÚÀ¬áò>LšvÇœ•Õ•š+I_\â–™ûÛ y’H´W&…¬Á¤1g¦#ߤEÑ”ÜÜôuMw}ê‹v³íwíÆx;„;£kŒŽæjnX+GÉ[Š?r2yclGŸKšÇiœGã…uJ'xFB4É¥³ðû™QŠ&wÛtª€£â®)²ÐgF·¢-ä 2³R|%ͯW`YΫ³5^Ø'DhjÃ)­¿PRSŠ×‰Éû>)ÅëyžË»jP«ö¬½©Ósg—mΜ%íŒ*ˆRCWD„y8¸üÜ%ùãç%7V¸†”æyB@xÅ1d€ÂF"xu祕™O¬¹XòÆ1ø0ŒB ÄZUhv²«Ÿ”ů µåtá̗ãŠ×1˜É'f~³ÂdÅRó‰n.yã*]ñ…Y~æ…ýžæ…ó=³«bªâB÷’®}•‘M'\?¬äÎÅNü¦ïM9›°®*–0/­_T·GÎͺÞßå±ÓvãwÕ¯íQß¶¬wèdHGxë¬Çæ £þÿu£þh£¾¼žÍàoX<êóïß3ê«@=Ê©¸ÐvÝT"ìL?rÔ'‚ø•$Qo5`{”«}ô1ò9nó[ÞÆíßcÛ€:Ôl8$ðÛøß°mØ–±\Ͷ1kênéyðþËÛ6 ¢®Mçi6Šõ‹%ã‹¥ãiù¢KÌ_‹Ú}ÖqÐîñ1é_Q6nˆ“qcûÐi‘ªÐêÛo{åР³XîïgËÈBƒ÷Ztá‡e¤ñÞ2rdÍ(Ùx…4ºYFü|˧e$ù_Ü2²rñ¶FÖÝ’6„3Í”tBNÂò‹ãó/½à¼bsa‹ÎšF€qavÝ!ÀÀ±$7XwXY/NŠ]Ö®BW3ò,™Yß\Ï­æ„ׯÆõžþÓ¿×N~>Æ’ó{;9䢞r©±d°_üÕÇ’¿ÄN>îcPi./vòå?J¶>”lßÚÉéíw ¶ŒÛŸ ž½´ï—½¹ñ©Q@|â•À8ëˆíë¾®ÛÛ÷_o4˜9*fPaÍL{ê08qX¾/WñÆ—,ß)ÉÃTýƒxã J´ÔÆœ÷0é_QÐíWqðvXÚ½èbÙ.:t|<þí™á>—4?Ó{¶xá™>sVþ‚3Jª±ØY5I½9ƒa9)êýuØVÔ£1ËŒ~±¾Y&ËÐ0÷.2â Ÿl²Å ï—†¯êNrPçºPIóMßÉ_e¢ï÷3ïç­±oåRò@^l›o4±r—¼sË\Œ™Æù“®ÝM’ß9ü%o¬í#cÁ2g©–4¿aþZ¥®ÒTiô*ŽnÀWÓé•ÉÃP>7Þx U'Ÿx…]dÈNµ«¸&œu­‹Ç}›§)­Ò…/ËäiO©taç×ååçû¾æv¹±|«ÜÈóÞ÷ï±Kn~«ï•ßÕßæ‹?ؘqn¹ycµ s ƒÉÀn•' A ³QÃ~%ÚðKrï/L êÇ:Iœý :rl'7ý{;º®MƒkéÚsêÚ[×µeÀƒí}IEyË;•^àëxkÏ¿’öüÍüû¶¨2Ñ©šåç xÌgSOíÁ£lˆÖœ=(©Ûüu]~d :þ üzWàÓü­-È <•Åùz(ð þ;¹ù·ø0Y_­²?øâÿ^÷KÞØ¦|+ðÆ6ßxÍèé8ãëž3¿˜µƒÆð«Øš¦þdð±L~ÈÇÂé§ü ,áòv¡gÀu)É£Ð|å…µ%DçâÄÄTËûü#YÂè|ÇU²+‘ç^呲xž©Vé,Q–ΰ_?†v-BFÜè!zºîÒs¥–þu5ÝË_å €®2±mþ9:1áÉY‚À‚ˆù%Ðg÷ßÞ»q½_w¢Ý/œùš´3wF»ÅsâÞM’— ž¼1ç’]’—ïNòÆ»ÔÒ’äU.¡sR òC•´¡M'Ä7»ÍyDnrœ,c£GÎ:N«0Gµè¦{JG]ºrºde…ʶWY« ™tfu?=ªšÈj\Óõë»k×w×ü¾ê»ëMß}[‹ÿgõÝEi@ÿïÿ㩈@%mathgl-2.1.3.1/fonts/STIX_i.vfm0000664000175000017500000163157512142400471015675 0ustar balakinbalakin‹/EùISTIX_i.vfmìýËŽ.K’¤‹c?Å8ÂínöÇä€Ó‚7€ òLøö4ùD<"Öά>ÍêêîìÌ…ªÜ¾",~ÿÝí¢QQÕÿÕŸÿçÿçÿãþó÷¿ÿßþþ7ÿ§ÿÇÿéÿý?ýßÿ·ÿóÿôÿ¿ýÿ×ÿÏÿùÿüçÿõúÿü¹ûúóÿòÿÿþ¿þ¯ÿŸ?ÿпûú_·§¶?GÏxþhíÏZŸ?ûþóþ§þYZ}žûÛþg]÷oÛŸgþÙ¶~]Gý£?[+÷–]ÿlüyß÷Ï'¿ßçÏû£.÷÷sÝ¿¿·8ú©ß{Ï?KÕ¿ï7Ì?î=G÷§ùç<ë9º×ý›^þ¬å~õý%Ÿ^gþÑ´®?Ëóì?«>ÜOyþÐߦyŸJã™w òTeÞÿñº_uÝ¡ög¿sQîôqŸXPçý’û(ó¾äýD¿oÈóÎVú}xšþ,ãþ^|ö½ÿè“¿¿[Ƹ¿åFãN n¾;ò÷ó¹¿y¤û•e>õÏÁ Ìzÿþxàù³¬{—Á”œ»>÷7 hÊ5 [­ºú£¼s^Níç#¯½îcÝï(zé]î—ß{p+M—Ûõ¹·ê Ì»|õ.ÌÔ­v?÷^ïrß ­Étµ}îë,ø¼ þÜ/o Ü‹uo5î'–nuúñûÊLàÝnënÖûœv?q¸W·þà~¢?wöÿ˜kt_ãܽ3ôëÞž?îjê×÷S§³ ÷×w±ïÊ¿}¿Ê½ûÓï¼ï;ßÇûsm Œ» ³ÿ9Ÿ;wzšög)ÜêìúÇ]P½T׬Ü-Óu³»wæúAo{תß9;N»wŸßm¨/›÷TLm«Úר÷…öŸë®Õ]]ïÀÖËßêÜù¼‡ô4-ëzе›—nÕÖÚÜÏêV÷<ÞïäZz¿+üÇý¾CÇõ>¯x1ÿX>ÚwE»6­¦¼:îwtMÞŸwæûÔÔëC‹´ï¡[­û±u8å~ù%=ÒýÄ>UҢܞúÇýÓ1xó{пù÷ßÇЭºÎùcâ\roªÇ’@wCMM⺻èí7×›¾\ŸXón¶í7¿[øž‹ûíEëvÅÎÜÜ3šiëkö½jýc{ÝÏý–}§ôh Ï+ý&÷YŸ¡õÔÀ:w`xÇŸS§ãN^¹ùn¸íU×Á¨÷ß’Oãn¹ûåy÷u_æ¾ød`=÷Ë÷û&³ßuÒ³ßI(ó휩ûü9¯”àݯ¼ÛôNt×]ÆÀéw è Ýu¼;â>‚æNÛ¨0s߉«úu½ââ¾ð×ßßÇðß×YÿºS¿üh‡ê×í °ãÞ%…·oÓu÷ÉÖ)’Îc"CîÀÝéÇç[K}îý÷÷K¶;m«Ü7Ѿí¹ûöpRÿ¼‡j]Aªëwß^1î{Ý¿îwÞ[ßI—òæÞlv請ƒïÑD Ý×¾¯¼Ö=Ž[ßß÷ÝÓåñŠë,/ Œ¢¥£uÝÏN¼³Š¬³l îw×f Ñ^]â‘ûçãá/ÊX÷Nwdñt™WزSÖ}Ù?´Cõ™»´wQ¤ù¸ºkÿ¡-˾jKôþCß´«ÆÊóÎé¹Èsz´óîž±`¾j¸Ý=1¹rõŽHÈ#ŠN¿ tô çôûÜ¥½ q¦æ¢IÕH%IÂioÜcÖöî»"°é #÷—gßå¸Gá*Íz4âYˆxžÁ±-š9 y+h2Ÿ²,g-[O·=C÷>O“E -\WÕÐA.Hç?WÅè³w¬Ý=ýG‘z×À}í;ý÷¬éeî $P©ÞzÓç܉Öv™ýž¯;Ty|-Þ»û­¬ÍW®¡S%êu×Z9zw¨_A{‘Tª4È5 æŸ ì®Û ¦a6ô|fÝîžÿ; 2”®ØxWk­¦Oªô×]ôÎßÌ)©Zf}øÎç=2‰æ”˜*ÑOÚwÖ$%%Üæ=*÷A¦·í½Ùšª¹·ô¹ÝÚIõ.’DõÜ]Woßëþ¥-‹foí™éÓ»CÛDƒ¹ù¥ŸïKk‹{Äu²®`÷tI†Vm‰žõ[k 4¤Ë¤ÃT®ÏÖÕÊ<ÆaHrüI𣱮s§³qǪ¯ûØ®õ\ ±OZñJg$ÔL¡cuŽœÓÇõ…¢¿fÖ÷ÑC÷õÿD×Lã{ð,v—ð²)§Y¹gÛÿX×iÐPŒ9Lñ‚ q‡¦Ó}ý¯!½‰>uo'Qs_hHèêàÈ8”j¹cóјE›t‰tH‘x¸^÷Ô„ â™µ+Ø®YY¯Ô¿š:F¬ÁúÚïÿØíaÈs"¥½&õ¢Ï5M×®·]­±qì9ÜùªßC2›b•áq· ‡ÚÖ÷VBÂý‘1ò‡î•¥¡gøîñ0$»¾miÝõv}¦×¸ÿ¬×¿"QzÉTÞÇïÒMüëi,^pí¤kwWi±û]E’¡·ï[N»0wHJ§ö#ú”VŽÇ‹Àvå=šèýe¤\Çec¤Ü'¹&Éj¯ ½ i€.Þ¡-‘²_•|ï(ØÙrãn¹­o{±GÍH0ØÉÂîù¥)[â9¯x×àëçÜë]ÜÜ;¸»DÀÞù¤äËÓ ü]éß%tvNð¦&£¶lèD;£à¼-îÝ)Ô[ƨ•óuu°ðÑà:ôžÑõbݯì½v‚SÝ—ì²àî?®VjZÃãÙ¹|5‰¨GC(ü 6úÒ.N"ç*4-n›¥Oíƒåt‡Ž”±Òw Àb‘Ú®úÔ—÷×F ¾ï¨ ;V@’rã..ðñÝ,w‰¤…õ)É{›û7ú®{”Ÿ;TŒžè»†¥¾ëjÈy‡ª?uçzH^Êól €M§N.ä£;îjÍzÄá{v )“m4ôÎûÞôÄ‘^˜òn%R›ìÆ;4í‡hH:…™Úrkï™É»S5{&ÿS~qÑ·ÁË|=¿*0@J¶ëÛ¹ƒÍ°á½ë7ìT-‹”‡¹ï·ÖÆ=»Jüz&whð)í„u®D_ ­©OÛºŸºöº¥ ÀäûâBu&2ÉEOÜÉ9ú”­ù¬»éO¢¹,6uȱ×yŒkˆÝ Ô¹/ p-øÊr_ÛBÓ“V§mëÌhÿôÙõÊÕ8ŸTÚÐ×cÌ5uÃf°} :¸ìëêæ;ômÐ^ÕPl³ÞÁëÀÜÁ€Û÷–Go¶¥ÉZÌY¹Oí~x‹¯qq îë)ï”wŒ³~d]·˜³Â>ìG¾»Ý¸¥ž¼r£þHísË+Ôï©—©ƒ{ ±&m&èQ4Äáµò'²Ð ú«Aµ—›Åèõ2–uÂuÍb„¡mìê5m»1¢¸d¬¤ý¨‹Ðßxm¬^ÊHÀ_IÓ4d+—öÚ;´®l-çFí]|ëÙhwBÉÄ•tÂiª@ÇÎÁoñõö2Îï Þ{Œ¥€cüãû7U6£`ã_к‘5A62XÙÈc2[½~é«^1 X  íÖ…k*¯‚Â?“I¨©ìýÕW÷íØr=[/˜Ø›$Ù+ãÚ ú¶l}›d´ ¬+&µ¦2ßîç¾\Ai!&+séIâöÈÑoh$‰Îyž¾ð|=f;‘óS¸?ÚkÌ6¶®tàÃ;(s£ O s}ïºm°Ì»´÷_sVߨ§NߨÕ·ñ=1];šoì…!‡G¤Ï»,”Xî°”Õ Ž2ãÿÌQ$†FâCk25õ±+Áõ˜Ö:šêT]e'Ë ’úõ)aÕš‰9§„ìˆUøM&ëîZ×Róõ’5¶åìÉà ¡÷Ú²:´úvÛÝšòSðpèSk"ÃëšåzÊù¥‡û•°ÖÃWè- ùªÍ˜=󰣃ÂÊ/èÄ[ðÖÃâÍoåŠ'-†yñ£¬/w£¯†òÑ'‹@á6_Eo:ñaì <ŒRy,!²ÖWcùbÕnØŽú×¼2á~ÛùwÙ57|ò®æÝ0«ÌRpf»v …”î†VSàOÖ.ÕºGP7õ†Ñß °[¸î¹Õç^?ù¾ãy·Ká­»™4èSPÐ5ÞZ·°B“÷ˆy‡Î£ÇÜÞºÚ,£±Q«€*=‰uÐP(r=„ïÐÕ4dÞbʻlj*t?µ­ƒ$›Ž"˜rî×QxOâ¹3î“<Önwhê@Ë‚»_t—X}£ïö£èPÛ‰55!Öl÷ Km§¾›l\cÞ¯¼Ÿ+þü•°ˆBˆv"·àÌ;„-®Óz7æ¶Óº¯JÕ§$<¯×ìwCƒKTƒÇek¬Z¥_cüÎÅ|‹¨ÎPØfßM¢¡"‹Z– 4ûæ$ï.ª¿Ù ¨ã*u½j¾Có y‚¢½c÷U¯÷dRÜɺ}”3â‘_잃.  ùŽž’»åÅÞ%;˜ÈJI9¯Ëx‡Ö Š )G ·ë¼mÝñs+bP5“ÚÈ[¶Ñ]‡Mæì£Ï9آ麺á¾Bo ìî0qÒž¾ÏÒ¿W®Éùx¸v Œ‘öR:†Œq,•óÜCöG¾t„ø Å·`+ônU%kB.ATÏb>ÇŸGò¸â·ëò u³UàšhH̘Q^ÏR…ºßôø¼Õ{ZôúT¹3ýÇxæ—8®9—ÙP²ßÁׇºo,M®X¼œhE±%‚+8º%ƒÚÉ#€¯ÌêÑyP^ûЦçñB¾w.†XµEçUÿ÷¯v‹ ¼ÒfëÛ^4K÷œëy%]çãˆèÔ©Û‹¨G2<ïPbäUÔ‡‡ ù’¦³¨W¨[cIOè+ôÎ|‚ÙÜYVŒïòQˆõÁ}²þêÆZ®¯VÄ{yl:ë^Cò›5ÁÐúÜDblmýcâ:r²â')aAqyÆ&ëe2hœÜk'Ü'æ!ïéÕ×ÉDoÜQ!MLöGÞìS±rÃ?Cƒ÷¨Ü;~ùW’gZmëÏØ[Ÿ«¼ÜÑ-1²ô¹9º†Ú—À>:“ÆS´ïf$žŽý©Æóï%³Œ×N¿[iVOä.<ã—wu÷KÃ̸CW:Ý!ÇP´‘Ϫ¬,)¦E4ø.ÚC@œºç\ßù.ºo¯½{}ÊëÉMû)ÚuwCHhÉõ¹íZ'S¡Ã)6ÍkŸ«SdJ)8â2Í¿?Ý3a”ªÎò¸vŒvd fsgû®S5~rõÓ5þé/¯Ÿ@#B-É›Âß˼­á^ɇ¸ƒÂjŽ6ß¾»nÒÄW„ }n (äš ëáB¹Cçå:(NGÜ©IiŠ÷%I3´ÎS0u ­;Ëwª¥:›èN„þ1€­Ä"“ug~‹ÄÕ£/e]áu‡d÷M‰Òûžwt…3ê†sàJŒ)«Qw¾þaÕ®”=q?¹` ‚4wˆµk†j`UÜãé¹_³Å™¸O(ΘÛ:)ddéS² ä»*Ž OAàÓιC2j•@,Ø7úTWÐõѼ©X!Úû°kfHT­ÙmI6ÝGÂáà&â”5‹P¾_\0×êômÚ ~³{~+¾³¨…ˆ×õ%ò8¶¿­ÊìU^ Û¿÷‹mq_gôŠÙ;$L¤@H bû-MU߯†»÷–ŒÑNºfŒ(~Þ:}/ Mˆžv`&Ü;˜«Òp´ïPX7÷cW•74dmƒ[(çPÖ£x´w [Éú2Ù±îJi3Žþê†y}zKþ÷ñï3\g˜7»Âšm~‡D•8^ LÀ0fQñÕ;$× [CñÒÇŸÚ×®»C2{1M¯—5p¡îÐâ%G½ï§è’tRø÷†óy„9›ÕášÚ÷q©„*ˆóŠÌº«{;)BWLQ› g–`Ÿ«ÔîÊ ÿ¹R°é»,BøÔ>~xír}J¢’s,–u‰N­>5‘à Á0“lV å [zi¥&Ù|WLúou‡/Ú}–‰·É¢,ít,‚ûî÷½´)8€Wü ÓÐ5¨ïNÇ.g8r“µÇäôþ!½¨'”y; ƒƒ^É«mšà€è…[¤üŸëmë ­DÖ4ë>øiWáèAÄ×°¤œ{ ±õw‰îŒ¬éA­À–[cVø7w0ÔkÁ…ü Pûz"|ð°¯ÔD_Y¦ï½µZÂ_G*º¡I)ýFšJ›ò@³ÓQìwBïm ciÝÅk®‹8ÉìåÑdß;ç¹_Â)UhùQYL%½~Ç…™b?éÊ;t¥:ǾKŸü!)Ë$ˆ@ɕޖiÍ×Õv0c›¨±÷ OÁ«àï{ó]óáÅÔ…5°/ô„D7æ!6$ý»ŠŒzß.{ú—c{7eżC×üüC3'bbDe™ŸrýrÄñÒˆT#Í,Üaþ!! ~GÄrSÈ` ¡X¥|H¤2 2o5v/„W±{yÚòÓU=øgAÀàš«ÂT‚ø_w†®–¼C!Ô‹}Œ=ÁPw·Õ¯×­Ð¸’YI$Ðþ­DoõºK®Ëâ¡ðÕW|ø”Ü怒xæp‡º©“Mj_Cæaéô ¶sødo†´›Œó®ÊÊ{(+r³^¡$jXèRjÁ$ q7Û£/S äzfwà jô0 z¬´ÆL§¥À„UðäNÓyÊý¸C£î]çè…Çt'·Õ˜ w >w¨}-‰òX’ëäÜ3"FŽôÑSHGC½¾û?X‚êÝÍFC›!E]È%¸3¡¡ç¸ZNϱ_ÍZ”й^ñ•ê"ð4ƒ–¢{¾áÕÄ÷9Š\Ö.=¼¬‡õôM'áÃòšî…"v¨F‡;Ø^Þ³_&µ¸mÞ¼cJ0o$F5Sþ­«wÎ˼^0 #ëŽw·Šh]¾öü˜æÑß!öN­/_~ E`%:ïV-ú”'ãîÔ«zÿ¸Cre4‡3¿†Âí$­ÀZ?‰Qè8öd¥’µÝ@èšÅ«;ÔôÎu½”úë›LÔ;$„RLD )Î>eó*&*ꃆÎËR_× ±ez-†«vŽ d "=†â‹•O]Ÿôí¢ðç—Ô&àÚúÚmÍaª«³–ˆ¾aiš(À]|âuEfÓöÛiãë9$Úü1 ƒ?$ÍÈõШ@Rx©U¦é¹‚Z¶â8‚Ûe¿]µXtÃýÕÖ¸"½|MT¾Ë¡ÌØ» q tËÎCò*¸ ëz«Þ÷ƒEžo©@Ö&0\øcE¸ŽÀ¡âÀžî9ÿ»ctH“@Ü2ÿýkˆ1I$÷€‡‘W}-É ‰°;+G‚‡÷ÛÏ•™X þúÛFîø¤Gvòòþ¹&PNH%ÿˆÞß2ÍGž37Õý(]cƒ”&¥æÜÒç ×hïû+ØÇw…äÓ„d>‹kdb+íÙˆzã»&»ƒ( }Uð]7%ÜÄ+ÑÏ¥‚ß÷SÖ«—ÝÇ0ÝêêTÑÐN¨-z»«ðªãéCÎñ ±å.àî§ÙiÚCX²Ö±ß5Ö¢¢×´ŠJêÛ/jcJCSÆ‹òp|hH`:{ûZÜJÊ‘»®y¿CPT„WÊŸB‚ÑE(5i¹uŒå&Þ9¼z㻳îKÛ²4îÈ$KQCR #K{w)øNL_glMáÿÚYƒà4cBúî˜ìegæLâzvyײÕJc¯Ç·@þ;fS‚Ê“xØG⸈Ì͘ …Às§ƒâ3tXï¨f ãªÞœŽoÜ“¢ ú ëY÷=Žoµ+¦ž7¡ÿNjÔ²”»3NBUgþ¥¬îÊ›-ݸ3¦ûk/Þ1ô>ww¦æÎBT¶è•›ÛÉœwÏ3ç þ’ÛgL}CÉSO/•Z4Ãm¶ª°ˆ2%P™-ò”•¶¢¿~äuÜQ펆p·“Ý+ŒÉ,Ìú£ÆRQ÷€¨ô™D‹4v÷¹c-Ž€œˆfë¬#ks˜pT ¡óÜu`9Þy¹Ö[#ÎwÇGngvôkdL›Cc‹(¦œ!>×w¬³Š2 $Êqê¬èû¯>aVÇl#H†=¥m£Ï‘ºõÀ&º–ØtFW‚£"Ap*€‘è$-hLÇÊ”›kp…|#‹Ji_ÏyIôÊ$À.Àà*™Áh÷¬k-7s×àt-Ž–Tf9ˆ¹kþ˜ÍV§ÅŽÂœ”‰Ð'A¥l`áhtyT›kËx¶º_àgÂB'‚8„°}Úà šƒ3«Flqrv< ­æz ôkákÀüZPo¯êh¸ê]”>'ÈÛöšív¿‹Ï6rNÙóÈ)ù¢hÃE#çje.V«$2ëpá<ÎÔÝa›Õåc”&£k#ÁïÙ&’ª‚ ž@¬4áD‘X0ÜP’S‰òJlÔ'C$‘÷t͵²M›³!×{RöÚûÉA] ’JNM $8 *–rœtç!ü.â¯&BNã,$=å˜,x—Žö\sÆÕ#– ç¾ Óàäô’tüÔVòQ9Ë…1„w#K‘jzª­8qÁÚé¦ÙÉ\ÝÄ«—ÏÙùì”9°Ñg}ëa§ˆ¬?å=ÝápÜd;M³’vî°ˆ²Ð§¶4¢+pÜûuuTÏ¢~gÉ`Y¡öˆó¦ Ï~Ó“¯M"B»†Ä†ÙJŽü"õ’¡»6»¦(€‡äÑ0tWf×0e<$ Cw›mGDN†ä[0ÔõÅÑf6ïTtF˜ƒRöô á%ÀLä0(‘¿u¬¿I•—d|„*m¥32HʾàkÊßöl¶«LpHÊî7¡qð@âãxPÿ®™ðÉw.zúµö· ^»zîöæôå€ã÷Løf:¥CÙõ¶÷]¢Ëù®wí‡èª–ä:ú­@iô¹5¡š]eœÞA1o@# OL&3¹¹]$É3ÜÙ„†H½L EieB€[†J(\Rø5·ž*ã‚Q{“ò@E´XQÞ÷›~†—§Œ]I¡¥l–­Ð,R†êÌG¡o"<ÍÆ'dPuXÚxéð( ¦f‡œI Å5«_:¿˜˜ÖÇ]q··j£rDeè R¤Hó榡%y'7DªLCåkH'ÝC‚êàák1ÖxÇùÈè¾CóOQ`Ñ †:ŸZBoo’›»eà?^G©v&ûz3|êî5ü_©ø…Ó}uXPwHs§ÛK?PPà*K`‹å(©!ØórøîfÐ.ƒB ”ã,W JXî—Éçz^­Ê׺C UÈArT•4Ä\ÉÔÓ0¤¥cˆç¸·÷«I‚æÕªxmwhèÕ4"Ò!~ÑH‹ñ“¨ƒ›O©4Xá×».uûs'K&¿`fÈ ­¸‹¸ÿœ™~жˆ˜ßƒÛ$–;Èé¾§MD8¬nj{¸Ià¨\—¬çâ5{TNû”2ÕðïáÏbŽ’™®z¬Ž,ë”â8ò«:’þîؚÈ—ä&J((<¢aa?ª„ƒ–)”¸Ñ7¯Æì [„¨çRÎ Zü:l¼”ø.òµ0u¶ý’Æ¥_¶˜JÓYüÞB´ß¯¥3ŽÞ)ÍâÒ]¡ &éî8E$ukTf!eÖ=šúfý[&ÕL(B%z—2[5èô(Í ¬…‡2Töá‚V¶É‚Ó\jn䯦Øè¿À;Bû°‹ÜéOwÃ[¹ß˜išëÎi—ñá’ÂBq@Ù©ý˜¸s·ô˜ÜzSW5c¶2E…¯:Nƒ¼ûJ].—ÐÞÐ`ë|R8&ª”EŽèÖUƒçÏ·âDH*P@e)t[R½¡w€ìê“‹2N~ôBƒS"caz—|ç4R§0§ŽÏª.vÒ) ³9àk7B„o 7†'ò)l'b—5pÆvlEƒªä¤|0)5sœ’Õ•ñJè®3H°ú:Ê#ÖÈ5q•‡R¸U' ¦3h±¢ïjœFJE£8Oq„TÒ£ÄÂ#ç‚?ðQDŠPŒk³uF·ï«gšBøÄC& ¢ÁãVHÃheßa­ö‘—ê;ëë®ì”{t–>}ö÷ë^[ÞR¿S¸ è½·ÆVœ¯´ØMEœ¼z½‘&dÉ^±;Ñqi¯Þwc2ò½×¶™®?fR%7œÍµõ{Ú§Þ£¹BÙ}>¥½#šÍ%9T ¢ÚÝ“0*Ô}†õûpx•´±¦C‘^ çÈZÓ‰ßâ/¥/>ÍÁ{e_h¶¤ðS3Š#Èñ[²ø¬öê!+J^‰^ ›ï 8°ñ\+KaÂR¾&³*‘ï=Š:ýݱÊHz´fòS\ âôòΕœºg,Wh¸¢ËsõîY²Yžu ½"ûa³g©UÁaqÏ•ušÊìZv×}*ݼ‘:Ò‰²fßn>¬è•8L‹Ü?o=O¼ü£ÌT {¶¨oí†ÏŠB©°ïóã¥êC¸€’82“Ž4»K®íÉ _s|4Î \Ñkú(nÓ«'l‘K·âŸ-{ðHÅóQl´º_ ån"¶G}§‹PeÌ|ñ9¾u9£Íqß¡rNÜ:‡\¼œê,g1’U‚áýã¡Û6}îZû×…xÊ)¾Ã“Ù2_ùµ3!$Ј>¦áò½q«ªÑ°Ta‚MÐêÙî{:Ì®DÑYèûÓºù`1 y6›9i™2 ; £tº9Xáém|oÞ¡="ÁxÍÆg³¿&£8Ù<÷"úÜ[¦Œ¼Ç©8ˆŸ[A?œ¿ôÞz‚1‰^s(¦×Û+½`²Nt›!‹¹[çkP¹Vïàæ nO›8ð8 wðˆwÜk˜HÝíÁœQ¨ëšR¤#¼u}äD©l–ümbXNÊéuìï íY뱦QÔ†lŒÍ¤¢‰Šð9¦Öë×AVUY4N1Ä®€~7Ã磮Ó?Úþ8ÏGß»}Œù±ÚÇ,üÿý‘ô¢ß·öÑÏGÝíþ÷~öèãe}´ú±ô;nñ9>Æùø¼w)ú÷.÷×û|ð=÷oýÊ/kùï)WÝÿÕ;>>Šn[ÎGéýãNßÇõgî7=Œ5}tß÷çÓ>®¬¹×û<÷6wJï3Ü»?÷qŸÍÏ× »ãóã ·{½?·{¿]?®ž¼÷Óµrÿ«uï÷í{½¿¿ÿ¾ä½Ö{¿ûÌ÷MÛ<ãÁ{-÷ îïŸû­ÜǸ2ëcßoз1züé:¸k»Ó¨oiç~Û¼O£7½O~Mº{]÷z4÷Û{žæ¾Õ¸?÷{¿>ý´mùçºýõñÓ–îû”ûs¹×ûæ×Ź×;[ëÞç©ÌÖ¹_¯Ù~ºÓ_YÆû¿ûWzâ:'O\×≯2扯žâ›®þ剫æñ>±þNO|- ž°Þ¹Ò_«É?ë î_…Ç×;3ÜGoRt<ñÝ¢Ž¥ßýöù1«öÁ‘{÷ûÜdzIÊûv:’ ZŠö!A×õée±Á†ù›Oqíl£+еî'9›Щ:wš¾YªpŸùîÆùפz®B»‹8½˜ì­ûjÏdh/V€YÙ׿EôÇ'‰ªÙÒÉ”¤Õ÷>š¨;‘åa!¯¯zÇ}ŠZ“$Þ<Ê5u¸/)2Œ=«©ÓVÔyÒ¢éûGEV]gƒEª’§ú½ƒd™6ÐÝHMûVß#É/»·%öYù$\’H{}?Ö‘`EëS¬9º¤Ëã [‘’8º„6‹Þ¯±±yϽ¾Þ÷ç†Ö¿f›‹k6bë…CÐî=ôl:H×%²T}$Ù_G¾»[?hžX Éy4â½æOϪ9“V“¼¸s|½§oÉÕ«õ„$ÝýìÒ<óAšŒfy¶8às3í+iŽÉ·m+Ížôo‰|ÕïçDF#¡¤yîÌWÉw½Í5ô7•{ÝÕÑ¡ÑÛK/HÂMv‘ÄˆÄ ×ûfí0kè雙߯dzÍ+hû*i©ßKWµ»£›îÃÎìžá{ 7÷ï>‹õ9ן«¥ÝÖ›gN¢çζL"Rk­Y@ Þ¯¸Ât±Œ Jç߯ÖßËü@in¦Y;ZϦ{ê¨O¾ÓZxÞY6ˆÞ­Èæº+È|l»x>~ö-/›EÒýÞ£KºßÓô>û/ïsÅ¥4I×é‘e1ÞÏ6NzGX ï´r¼E§µú™[<‰áÅ+IH­‹:˜‚Ï…†ýÔy¼+öÙÝ÷DiGÞÇë÷ÕOÿz*­œ6ÈÂ>¬Ú„ ­Ä¾ÖžGÂU[EU[oXr.IËëĬ؇¤ÆBëôKÜ—aIƒb+Ù‡R!RQ÷TTNE±$’dº¢WBÐõ‹Rê’sÇ;J»ðî -|“¼Ñ²Kyhµ¤´ƒ§Ï3WÉûš+–QÁrÔl²£·V{ZÙÝ—Bù!&òHS‹2”¥$™§ï>ßÏõËŠËzÕ‚K$Þõ–]æåîVœ%‹n©Ò|Tîw-ÉD^OéÝ[(¿ù¡$™ª]¾¬¼ºìŒÿcÙ‰®¨ìH”úÝR…}YBpm¶7¿®z¿Ùù; Ú…MF‰vßöîl»YñZENŒæTÏ3jŒŒìVý½ž mF¯uK#Œ˜ný†:œü›µÑ}µ+˜ÏÇ:lë°ÙY7ÍMÓÉ•ÞÓ˜¤Ìèö…N± é5½~š)yÉ\I;Íû]k0l—tÕôsòô¼šãbãEï 9‘¥ÊU[Sgb.ïdÙrHÕI\1¼4èOtýà Ø§fÚ{ !s£b œ°ûå÷´, YÙ²á¹j2j‘wÆ>Šü³[abèÁ6\C'1MC‡_ëúi÷F7Ñþ”ÙÖäÿIlI@ ™›]³8ì:±Ézœ$-‚\±bá{ä|,YdýÉõÞ„ú;)CÉ ”ÎQ±µ§ŸË²ø,q’vÙº\8‰ÙÇÆÛÂÒÓrKÊIJÊA#fã°i±;§Gº_!'IÓ+¹2eä¡Î¼.ÍoP7¾Ê}ìÉÉ!¡y•óüû©»%?ñfdjQ5‘÷Æw;Þ£vÿ%I‹Ñ&×|XÊg¯ÖÌÚ/g3=mÅŽ‘F/ñ!ë°ñ+y†¡n­) oÃ~bó¡ñ5ÍÛ‹í£).L]ç~÷¨È"<ÜÑŸÚýzýÑ}R93hÜ-sãóž­=V¸Å§V¿ê}võÖîÔÎÝrO€D×–À÷‰”ßã'i™´ÓuæAgJ·áÝt¦Ñ¶Ù°‹4þå8,´rJgQ*‡ó¶íë>Õ2»IöÈžn–%³^žX!’Q ö z Zžè{öÃ&ix•m„-͵ñ{¾g[¯`Kkcé JJKºË¹’µ…Qp€¤“£È’ŠM^¥?ºeI‹|fOèy$[täN>¶½pÍòþø*yYw¼ôíŒ|o3—­>ŽÜÉ‘ûBWFlíÛ;ó®«lsý^{YÚÛ+ùóàãJ¬ tü$o›-#Ð}N÷]ÍúX,:$ëtü$l´®’\ØêÇ'P²x¾Ñ#÷^ºýÄÑ*Éļû·ðž¿Á’J H৔Ŕ€‘þ@ýÀiÑð½ñÄùм¤IxIÀ’».Ý(óæ¿ZFY¹¬7X²¦<“{û+{îêÖŸ²6°C¤>åòÝŽ¦~u/ºëý;ÕÒ·Õ:OÞc±ùÙð@´ñuÕ>>Àä\f¹…S6ô}Y¡>§o<}Óïïké.n·ñuþq§C"ÓFV–”$·¸ÆÒ½#7_¨´|§PpìÊÇfŽ4î'ÎØ'›a!)±zA\†7²¤áú¸ÜI¨"»orÌ4¡2“‡µüòëvÀ²û :Ü`c÷/‚:~W.K ý¥Œ9yzxIA"ÿk„CkˆN›øés`®Õ³k³ 1šz,÷a ˜÷û+|:%mÖ_í:±øYæš1­xßA׋ýsceÎÍ¢IRIˆ%vw‘v¢4)IüÙx­OG ´4SƳôWc´ï÷`íÀœ}O5²ú>²áqà "š!œš–fÈ6ngZdç¡Hu->}(Të*H@‹&«Øâ÷rÀ‹ežœN7Éj2rèuÎÏã+KùXAÆÁs\’–ãíÃHÀfsN£$ÚÞÏ£A§ž£x¦ŠÃÚ`N «¸Ù·lË‹31´‡ ì™ƒqàêMá`ÃclÅÕ"èÐòsÆ%ñô÷še!Z˜ehWŽÝ1 œþ’ŸDÆÈ dŽ0°í»AK!®Å0رåê ·'ë’€.ÄH-6ˆ {â%Ø»ŽX½s–ƒ¬ùÈIÙi•‚ 9ñìÔúú¯õ±aoÍúIkŒÁ¹pzë1d%Þ4$Ù*ËqO¨Ku„V7\¦q‘v›ípÔ¶{$jeEßk^ïÒ ùéŽöÉ6v„-[ZþÅL kÍà³õ;€ Y­z¬)¢³í#ËPC]j`—0æ†Ùc»›ƒªåÖ2,›Ú0˜<Ó¶œd-“þp‘NyN ¤aCFr¶ÚÁ(†é1Dš7 +²…îÙÛ>†2Kï×Ë£_Ñ2È l¿i ¬&þi;íãÇákÄ)óbí3Ðt:QàZwE4#l–Âö “³ŠÃÀI|ÀâP× Á’tÅ’NF G¢:¯Ö@Í{C¾E7’¦Sûx¿ò¡×j”Ø=¶°7L[`šr ³žë°õ´mîÖX—Hi °ÇÀï´Û†Æ7Ä#w—X.ìãËÎöàA Ó³cµÝ»ÿ¸VË)[ðÇ%Žáú‹ú) #ž|“ƒ^‰cË.FâÄð|;Ã+CÍ@FÞT4=ªÌ†ýv¬—xˆ ¯eH‚Éfò-ª™7úÌÞW¼)=CBx×Û×Ù"Ôü œ-ômpŽz÷|Ù…^¯ ÂƒMjZZQ èH¡ô‡$ÒãðÝ&;Ztéò£€!­Þ‘Q DQÙ©2ߤWeÿÈÒ %€.6Õðcääë tÃ3ìšà•À‰²¨ý –ðæ»I‡i`aú1ÝX·ÀY¹ô9Ù]€´ÙðkÆÜ„„o´ƒ8ˆÛ~Ó°âBBqµ?50èïÒž用=H ÏGS ¯…p?ðžÚ(z€GiP,‡õ½°Üg¸E÷‰ÞQüÇ1:ì¬D_ºµ÷~ ùé&ÆF89h“=}̤aŸWâ<Ö Ó†2£Z76ÜÀæ¸W7ºB$6Ž:\œ½~D3嬿c á§#¹DL„Ðóý|æÒ££á3XmÜÿèÑÇli ÎdÉ|†¢Q`7x¢^S; l¦[F²åî|8?‘·Û@qÕ×Fô’ƒ*ÓzÛ]GU{-ˆ`§TÇ®a¤oaØ1lËÄW0»o!Æýò}îž9S`,ö©\Ôc.‰6ÙófŠgLv¥=ÅáU– Å%©~v½G<2`fÞ Q` žøÈ/N«¹=?ü®znjŠ Ï®13¦ÂE€7ÐÁ­[„ŸLP°;àÿ{0p½èX\Í»…Ýó í9þxDk#lÛnþç䵟œ’â„iÞxní!–Ü^ˆœ³-w§‚·Õ90g ¶ígÁ@;V'oG;ô8î©GxT…#£W“Ĩ1Y…É+«†0%)M¼ªpW´ÕìþÏ”ò®‹¦·;äÌ_m×h‹q¼»@aôûR†æïÉ™¸N:úÂZÛ~}­ÃÑMŠo9ÃT!ü‹‘·fZ‰——sÙQ€M«, 1F" J•Ž$BÇnü½šƒC„EòFÒJ|NéæÏ![ÄÚÕ«õõµ?EÄ2þ…î˜v-±ÆÈêÊriµå'éçÎÏ“¿üy"Ý?öØFÍúß¶”[ÿÇò‚°ÕòøÌ߯|>w?&Äl1[FÌ“Î}¬Q±½[XôëO@Í6þ â}˜ýs¼TÍ.³«á³âÿ­ˆ kÎ:¨™l7¼xöp•âj6šM£fÓ¨Ù0jÖŒšÝû€šý7ñD*}Èz‰·ÑèrS‡Ñ1¾ðR™/Rÿ&×{‘aþÓê:ÆŽ¹ ÷R¾Ý]®¾y¾Šon~âÆúï§­ØjMŠMû€•ÈLîŽïÌ+Ñ‚ù¢Éº,£o9 ápðk×ïóéOè+ªðOîöéħYþÚ*zˆ_Ôp¦$RëùËé ï~~{Àœå IJ'A5*VL¦ošæ#3j Ä……¥k+ÖtSKÌÌvŒú®(^¬Š×¨Õ’íÇï¡èƒÍЫ’ ;?Ï–@â6éL¦j7†¤«â"y¬ Æzï速ö&Ù¥'É“xòccâ+0V=W ]%Ì âþæ%A&x¬¬%Ö5à63&Þt[b ú7¸^â1Š4ÇÒk‚¾¬Q3É¢´˜ÙØä(ÐjÝ¡gD‘Âv*ŽI‘×'”!“ .$î9ƒ¹2f/f„Òëxæå°Y‰×;.S­¡|U›¢¿6Fr< ¡ù.Ç;<_ïñ+íKÓ %cCkÂõ÷žA°m›íjÙ(ðáýâ_t‡\Xò¶Ãe±OÞ‰Ë.-=R/ኈG#•,¥~Ì¥áýÇ H'ö}ø;¶s7IÔ<ïf˜Wv`ØPðt ø,¼˜eý½Vÿ¡³¼„ðAó¹iÄ{ôŒØ¥Ç0!P‡9C­0c¿ÇÄ…³ÉŠ—ÝYK87õÛ9—›ÿØá´Á`8Û«&µÓÓíD7ƒœííñý„Ý‹Œ“M-ñ>üÛ­@8ÇîÕ‘ÊÑŒ Œj*N×N“e‚ jy÷¨(Tám«¢I@½,RW¡ƒLt””ì¿ÒNµyoáÇqó–°¹Ù  ÖíoEžÁË»yÓÄÁ% Í'¡O˜Ÿ÷îü ¾¿ÿS ¡+aЙÄÉ7ÙÈÄüëˆ*NÖðÂÛ×&æži:è:L–ؘ6R'Á=¨g%lí#hø‰Êô;+ÁÁ6û_FoÚmóKœÖ7ruE+ §~Åâ›qba³:" 1­øX ûãÝa°ÕM€ð™æXº§`Žk_lSì°µ[(7?µkð)‹”nУI{°ª^’LQ^ê¶¥0ÚRÚä) Œ-ö/Øiµm-åI4‰Ùƒ+-§lÃì?Ÿ) Àý2ê÷—Z“.S“ŠË/½z¦žIÚpèœô‘ö¦hj`¢¼_ egZÒQ1©¨8ÿ'É  Nd·)jl2h‡&³6ÞÞ1Q¯_%gˆÌãˆPð’Ûà(xwH¡“k0!Žƒ‘„MÍð¼š.,× zÏÌ|õ勵:ˆ”?#)`dk}SÏÃ$@ÄC+¼ƒs*ŠqóZã^›@ýÚ¸åÍ'’ ó朋Ég÷Ö>׈㸴?Ÿ¾¯û¹lëY›{ $6\ñp»ašÕÔË@"ˆÎ©ƒØöÒ‰æÐ“µ†è> ÛCÔìaP“…É_Ù¡TS´À+Sˆ”GT[uØIÛK¨ÁÇO-ë‚ßuŸY\Z[’‰ž¤ Ó+*z:g%‘@Îê(9³Ígù$E 8%À÷æcAïkX}àÚ‹Zÿí€ÑÜU’¢pB<_N?ë ¢Ç,Ù[eåL}XûN–«õ[²9U1”PÙa»›8ìÀI!ß[#àa@'xÖ¶Y"ý/Bä8õÐ7LÆæié-Ý ÕÉ¾É üUˆL„ˆVÁ¹Áœ ˜27ÌLÛ´‰È~<&aLû‘]¾d1¤É©ß¦óËÀ†_9ñ窰‹÷R EB­®3Ôf#D~½|·Iµl;6€•£ý°Êw’ÏÝt¶Zð¡¶ÎIáÝ•{öðpOÿe¦F±k#Q!—È„†3Hû|PbP·ó3ŠM¸ -ØH#Ë÷Uxp] šqJ%5*DŸbÀ.¿DO÷¦³µ8Œk—­ÝcUš VrtøpE›G9ƒÒN‡PŽSp€Â,@ëK—2žoh®:ͨmsrEß ßH[·h¡ÝjƵ Mb?¨ýõ¹FŒÁ™G`…ù.íµ¼ùßBV’÷"OבÑs³#QÚYûëR=Çl°–|¨Þ²Áœ_PúÉs~3°PÈ“}?ȶ”F¸YÆ#˜¶ D  E]òßb,Wªœ@§Ã\öÉ%Ið)l—?ì–a0X{²Ah0Ão9TO–9÷ŒÃT{3÷†=^Ò&­ëÏôgÕ€R1å=†/ˆBíÄk¼ÑjOZ†.qj3BÐ-+¬é É_Y%ÐjíåWÙNZ—Ùy,¼€eLö,¼dùIB“ œt§É¼qˆ“õAeN¢ σç}¯xOaô4çØ4 g=Xm#ßå*ý?Œ¢Ï÷ø5ÈÈc6Ó²®–¥eŽ^+Fry¯˜–"j2¦gbœÉ4ÏÓ¾hó’“g—4™¬Gš I–kô0lóØÇ¬ÈVð”’Q›d$Ò²=]Åœ^«õ¨[-Tðƒªï3bøìp*«³ùšMªÚ£ö§ï=¹-%!3KyZ2¯:ˆƒ)Sëp*ý?ߟë“ïÈéŬ«– ¸ RZúâp0~OZU‹l 2aæuÒp‡ß«3Ô·¹KPVaî;áÚ€Uð3 wR7´Æ )QsÿÄ6¿’àµó$_?jsïðã}úÏaXÀ»©Çp6|!›ªšõ/Ö1 Ó%œ¼¶½§ïbŒ×¶ÒD¾WŒÈî Û†VŠ!Z´ðq?W R­íàÈBy¬ì’öK›–þSDô°¤ê$1;¯m2%‹ýºHÅ%Š%É¿!,C ø4¿H “0+™|ùó)V²eInò™ˆˆ <ž’‡Ï@·|4– '´ †®õ ÅÿZ)žOiØŒwÃ2L2™¦]ø^ë¿r$5”PøŠB2ò_ߘÈ-¡Ý*Ùö8•çG Ï®ä9Kâ^Õ HŠÙцå³"ÛÖü{f ­£µæ³ÅÀÌu;¢ÌêæƒâÑxIÙbýqd]«Z†´ÖÌÎÛÉùŽcÃr~–Õ<—„íí†êÕ”c€„’• |‹ö±íÔ,g}–· 󜟪µe¤<\ F$Í¿)N;¶ïÿ–d{;E²Ø–Ʀ#¯-éèÊ_ÎéµÇØ¥bŠ÷JµÁ‚O•$ѩǜ7²£µ h6b©ÙÓí»M|·áÔÄ1ÛÖàU»Ú57®œä÷Þ‘Ò±~‘EAÍýo‹¤õ_V’SŠÒ\Qšëï*Í¿.–à-J3×WHãÿ}¥i¢lðÁjN,O€äBZçïJ™å‡bæ[ uj&±² ¼}/¿õ+K#â;'SÆk-1ù¦Åã“\õó¢WÎr0z&´˜M ôü)ð“:\þf…ÅÉR"ÔĪV˜¦ÿ*) N+Ìßh_ —·Þÿé2PŸ'ç4’<]n¢süAšIü_žÑ¸T-ù$Õ¯F!¶ü$)Ò4=•È Õ¥^•®†½9cq¥§B„Ýÿ‚¹³U§kR䡚¾oª“†)s³M À™É¤Û¦â¹¼Ê‰óg Gyëü<ß[N»mÁ„ß·üµ¸†UA§Z3¶w60v¿Y ßøú¶L‡¤i ¿¤|î.Ù'›çÙ†œÃëÎ+k¡pè `Á=ž¬mYPl¯O~º2E8vߦ¹K¢IpÄǼv¹—÷í^vнœ$ü¾ÐUybKÖ¯5+ÞVréALP?Ç–‡wK¡ )ƒšøü[(CðÀ0íÂázÇÛÑ™n«’eu~œž}r}s=½êæúü±:AÅbå–OÌ{ÂUŽßÙZñ¹çºwxÑ%IM–ü) ×àî˜É†Õƒcâéùo–éÿ¯i±^*æE×–ü};èûïá¤V„ð]hN$S‰Ü7öØŒ}\€ë°mN.ªløâõ%¿“ÝáÌaö°6‚œì àE|Šâp²ªy‚PMÖÅ|G¸¬Å}Šö·¬€péb$DC¢p„…¯¢€c—fÖ:‹CÛŒ ËKZ Bs!vÒkù!+ZdÅþ’”GØæ·Û[ñÎæ ‡q4ËŠùŸ)+¾ßòWY¡S ï“TIÕÓØ@$&À~ê…ZñU$EÚ”Jå´ÅŸkoÚ­€czxÖO"õ¤³B•®¡ÐÖ§ L5W<*xÓŸ"®Îø”m¥šHËaÉÏéĭϪ>ašHŒX…~VóŸÝ!ÎÏáJŸÓd™Ïeʪ ?耒¶£â@¦º~N—>gžš|$73Œû)“@Y݇—|Ü~|ݨ*ɤOg°ŠQ?H¥YíÃe\ íPÓ¢ËßV«•B)ȶÝ#¹‡uÜ ÔV‚ IN}Iîö#2jR·iëÓ™#Åq8CäÆ*Ð>œCÔGê9ñÝ,»AdjÛ-‘ÝŒ©õ¹’VꟊD‰íGÔ哲k^¸ËTˆóÏH`á-×PX°¾å÷Ø7‘¼ÛQª–ø'ø1:q$‹Ü”iè-#³6¶Óp4Ý)›Pº†ôbÁGÊ>.xæ‚”gÅuºÕsO!Ëb,ÑÅIZLûŽ„±tÌq´ioo—ªzøqÓ¦=É”Bú@¤ <{¿[j‡óïÿ{¬à/‡• ¾Æ|óeòËa؈g³Ï³<Ã4 pÚö‡1Cÿ·¸ŽTâĨ{ƒ]/á1““ΩYžZ2LµVäúL›ÜÚ©Ì€ÿŽ_WSVÄUÌGp] pοá#Ô喇äJ‰GN¼»;Ø 4{JÖ¥Œ QM´ž‚ ÎÙãJ’‡ù<œžK¿ÇÒ^•PVøìIzÃú´÷UÊô)N¾!¬ØV_ÇÌ„ã r6ìcA ŠÕ`&pujgqÖêW²Ìãj$Ç¿…ÏJJoñ {¸ø^„Ä;ÕòóÖá°ö-Ï–„)\<Òus¡K Öv„«;ÀѳÓS#®›iÝ–œä»îÑaîò}w )D²0&yxJ×Ôn7"Ëĉ.¥DàšZÂ=(¼7INÜ™?ânÃ)±ð€ìÆ›6ŠVˆƒ¤Nz Mõ6å¶ÃÌÃñ,Åß°B‘ךð$û„ÓcάϔGi=e'KJu= œ4ÃàؘÃõWÈvh$©ÉOzÙ‘#a¸ÇâQ“5K]H,bà{—Gä5U D‡íÓ¥•>S8ó³83R¿ÞÒ[r—Îwõ5È…X?›¥Ù%$ÐHiØM• 7ÌÜí¦ª+êl¯,»Ejd·´ö}Šö‘k3êcÆíå8Oà!WÅ n:w'Pß9>v%E;$’8Ó¦ž¤ W³Ç(æ:}d©;ðU×´4@ '8ÏtLu.<Ž9ƒW.#ëÈĽ_?#Ü:Oøk þÚMãf‚ô¿òÅî_\¶™ýp1í{TÇ#GÊÈŽjBÇ(ö¤F&uW§¬6VU"8ê#ØžšƒÒ// ±1ƒiÍ`»æ¸{nzž»¦62×ZÃsŒ¹¼GlÈð×(ŽUR1±Zç§­œ1³’#+é’‰ßóDØ–Ë^ëe%[V²e¿.µ:üCtH»Ì[\Û‘{¬ròZdÞð”UÚ› òƒIS,öp˜‡ôc–-µÝ¦?üw£{'êµKå:”À(ÀQf.ÅO2©-“yæ÷U \Lûâ×lãÔn…}”åøNiÙù*O ¬úq4Å ™ºLÊue£¬ˆ+˜ ?¢ÿÄv=áÅ„=>AIY ¦©„&ô¤TqŒ™Š]ö`ŠaÚ ÿc8@¢œ~¸Ÿ¶½`Öšÿ‚cJ_ ò;¢€Õ±¼æ’ŬñH¡¥M|è4'*öä²lR»KEuÒ|§Wt_axÔI~1‹È•SŠùŽµØ©¯¤ °•©-NÍœ¦òC˜A…—)#¦8OÇJ6жù¤½– ùïµ:åºçËLQIØ`n­YicÁ?¦‚ØÚO±Ág&ÊçjXl3yWíIÑ9×S£he8·[*¬ä6¥T¾*b¤Kɉ +C›¨D¿–XùºhY_„EëZ›ÓªIk‡êH) Çdx-+ÓäX1uNбk0Åvµƒ'™€ˆœ¢SzÊÂt‘¹£ d;-vpú‚DF·4½mP¬'p×qH½?.l 4^< ªv†¸6ÊXä<édOGt—Ëž«¨(ªè—èOØ%®E´¿C\# >k~|µ³x^<îÀ¼ó`þ>?˜œN¤X¡ÙìËeäþÂÆcgàXQAbG”2Q±Å`ãj\¢ØF1 ù™×Ðõtð ¡›7VSUS߃A\¨gª,R!d [(ûÕ%M@sv²¶ñ ²ãJÊŸSÈ¡3œÒa8ÜÒBy/3&Õ0°ãî!ãPã-]*î6ËR³„ßs­AæSèD1?†Ë1íZ¯=(Šó©„gƒdK Ö¦Tê†TÃ|yÚÞYtIÔçã­<‹DE[_¯¿Ó)'_’ã*.Å;ŠÁ#]»båùï€TãƒÖ$‹‡œKò8^ ù0C“ŽIgÛ<7LhèÝHt7—mì©:ß è†5âÒI,5â§¾la›¤æÝ‚bž)õ}×18ŽÀº$åV{¨SVWX¼MkW¾\6è±'±;Ž£Pór§ÖeêHN³å¡û>©ãXòs}«Î KèFß—û%#ëÊé7þå.Í®4dƒýà…z/¾à§ ‘YsMâñËïû¤îÉÄî%“Eî&ÒÒ(HÐã:_íqšµ)̶ðàaR›Ç wN@w Þ­UvrFð=Þs_0”5¾ÃUÁª“y„H ú ½Ý™…7~…80R]òJ[ÇPŒes’¢s&¦³¶<. tRîѤácŽ…ôŸqW©¬Q©¡ˆãÔõ0Õ;)¤.6S:G“ݵZ•4Ã먞ÇôªM^‘}[£|aš˜†Š £Ã{TôÔBvܤH³åý“â–÷¬Ü9%ìF ÁíâR?l›Y†ú˜Þ1¹øùœžepú‹>\Ýì}¯_RÈ—ÀrQ»TÑèNG¤‡Dn‡µ('Q\@ *Rò`¹Ä¨ÀˆÓlæ r3(×g$+õ±©ˆ²·\Y¥ª;¤gh`%ª¢”v:D„Ïd¦;ûz$ÉÑ.ïDÀ·ž„ˆ%(D6SúxìG]•ÔBŠ*r¶ÍsíΤ02¸Zy\ë òIµMM ¥P¶ÃãUn®NÑ,FàG(Ï!E'„\h_XfçÃMN¸ J ÙË­=Wå$§öU%_z~›1HÉ•—_G+¯]JEyR\ ðÅL´žÂ,˜å:‚ÛÙAH í²a`ß²ŸÁ!$7àŠQnjäI‰ª—˜RSUµþµÏlrŸ‰ãS_£]j²™RÿÝàœþãÌ*×*NPŸ©( öMÀìÔ0uÞÏÏòKØwµ8u˜ÞZï|ñlÍã0±?©4±)¶ÿ{$vK°<VIf R4vdÆ'ùŒÔan? P4ïâå´ “H&Zvnq¡·rx"6åïd‹TÌTe<¢)ÒÝóýøéàá§k1È Êâ Õ“l•·ºë[7–'Ú-Öæõ (Ãò)×ínO⚟XU8€|TÈE™ÿA߈‡@»ÿÆÁ ‘(fß¹OñŸE"1øYß3 ÎË'Aë iàS´ja§*] O?«Â·;ZW(D`îIS‘n"¿ä©T·MkˆÏBˆ_Ó\U‹¡úø-)ç½MçÒ«#Ú{Ö¯æe¥$‚õ$‰ß¸‰ë°T6«9íi¨EN¦ñÒfZ °ÕgnQ³&(i‹  6ãÈ{ùfN§ð†þþ«­Õ¶€t‘Úæ¨Ötæ.åƒÌF¬É.&šúXˆâÙ®<ߨß(ºÍÞm2c¾%«›ª`Õ•À_šYÅn„`ÌáÇœˆ”FÄ7£ÏažÁ'üv¯%D ¥1½™à/wÀãæÑ£™µêª·NZÁ½ý³ÁUßmHw×zNHÒ‹˜ÒèÏ´Rå1‹“!ŠQ¢7loÙ¨JEPáý3Uý?{ýz—¿–«iB‰ d]J’l3>hÉÈØbÕî)éÌo›Ïé™,) á °ÝkPÎ/çÈ¥WøÛé'· o{u8ŒÀÙ4˜?Œ¿€1_0°Ó´1þó¿V¥µGÚÂás˜¯3ÁûÀ÷ˆQ×R³¾†[IVôŠÊ¶WéÆ`$ÒHþa*O°»åÚÆÃUDî#ló;Žô%µÿ¿î-Ex¡Èب!9\ú€µðá€*R"³ŽƒÎ~Šõ b4À”$1 ry"Ö*ŸP=¨Õ‡ñÎ^qðÐ<*¸X“Y…²DO£"dW©#†{µ­‚F£,`q·3­å0™oú«¦#ÌÂ/‹ó›Ë± HËGœÑ×d:ö'×@œ©5§ÇWé®úX¿%ѪÃúNfݦEî$ÃnÓ¡Ðjozhð1G8àRvãN³kZ`ä˜xÃ[fFm«x0l ¨XóÉÐ €áØþr¶Ä‰L¤i¦ÈJ7æ’Ü%×Pï.=Jä?2> ËÖ[~E¦¸‘©1‰G©!”.WY1 º¦(@Rld×ÐÝÍÄ×Áóóðù÷ù(îò1­B Ö•·+ÈÂl/ŒeFê/W½ÛV…Ç6‘”Ô¨¯?y|°Ãª[!YaÝ7ÓÃØü$Pàx1_cM§oÙ'&·lhñ`±V&žï?ÜÉÌm»Ÿè$±w?eÔŠñ«ŸÅäÕMæO)»Y+.Û9…? ±-ýØÆÖßJsÉæ‚¸k …]Í7®÷©f eÌvlh}'T](ÔñI*ïà6<EÈÿÂ[.q÷Ýžk%#Ô·žR¹„ ÂŒu÷‡°7ëHvóŽ4 —ýøgWÎN츅Kßë„•®]4³«Ðü‡ïgíì¢<Ÿïf­ñ^Íæybã”@)eÈJ±4‡Áæ ÒŠ8P…lpí‰ãòߨizÇŽtÛMÊã~„TÈuI@¦O Ó0ؾ ù…çRD,o•P’ÍQ3{¥D$«€&4 º×€Iñ_f'ÖC1>±¸^H»š%P ‡ØýtJè§«}šüë‚b  †t ÉåÚÛ‹ª šäéìÈÔU!|á’ÚÃUyz’©Mã>Z!¼šimü1ôðýS«__#=£Ñd2l iØÀes¬–bÇ.Ñ0á‡Õjná š‘Yô½sЖýÉŽR‹r %rr‡Çì,'w™ÇóI¶éc¸¿9€AuKÇ[?œìDT3ø¡È5Q:)ØÂ'  yíL°oÒåò5©ˆ”ŠˆIâOã†(@[ÓÑm.sþƒt ëŽaƒmª':lµ>ÑÜÝ­'%HÈ?d2%º« DnVä8ÄŽûו´×c¨)Ë໣ÝDža‡u¦Q£¾…ëpateítŽ=æ בʆi¼ ›TÛm»J½:žõ•×RÓ¶¥‹ÝÔä§P‹4PzKÅ=àë“J#1¦ý|ƒ¹X>(lRbm1¼§3L̶OnÆŽÕócÇz3›`ȼ›o;6öö–QN„#Nb¸×“Ëðý)UE1s™1Ë´ì„™’r5]d –í<\øGæpjp?¤¢z¢IfcµþsÞOMP}ÚX}“K{ͯ€U5L‰/>Æî+×øè5Á¯'Lûé™¶YäΔÒ:@ íF¥qÈ0y”¤‘€?ª“€Fœ˜‚=íý¶·Çp†q Ù®¾­zç[òœ›+¶ ϶Žî›êÁÃ| h•¬¼dŒè¸,OÔwgŠÇ ¶;¢ÿÓi£Ÿ0‰ÀsõI.ÓÙËùÞ$âà‹Ë‘’<Û²`ºFcÒOB8^€ñÅÑAÚ©]è¼!Á”ÇiZÞiA®;-ìd"Ó'rZÓó1{¼:+¥¦ô·áðæ/>ñ¹„ó1âç=9=ç#à8±ë÷|HF[÷¸“@É´#ó±Ã‹t·e'wûºÅeL=[ó'¨GX–:ËBh¹¾FŠI~«e×BÜ”º8ö ËÛí–Úݵ àY=Ažì¯‚ej6ëÊ;_Ý^Æøø*¬Û\Qê‹XÑ’3©å©–•̳Oç@ö·Io³þŒ¤+E¢(ƒã/9|O`5Ú§é¸yB¤½¦,híL\™UzívFÜöÆÈ·Þû¡°ýc«Ã­®ÍV ˜;éqá RŠÕ>\*wð'Ãqõ|¬:ÜÖÐÈŽIrX.˜Û4!Ì|%t• g¨QqE’·ýõb¿bo¶£0AšŸî šP_+aEbì0vIlz¦a‚Vòœ×—[3G2¿üЮbQèØPÓVƒzSÈ[p äÓGáÓ‰… {U/Š#<ÝÕ[÷–„°mÈø ÿ!/æTR“Vàï°š…-ÇWØfú“iÑÜc´™f“J;),ÄQ„UPÈ‘1§·bzØÃt_ÜAF\DZ¥æäú\3sâùp»Ù—ú˜ˆ5D±/Ò¿ã\y¯¿–¶¯ïõØuþ¾ÚùÁ|0ˆ–g4q ÈÉ$Hã¯ñ…%Œífi† :–]u¹Åj¶ˆ6Ç2úÓô09¤ÇQpÍáž×CíÇP§ÿÑ€D¾¯ÕÍ3Òª¼¾ÇÉíî!øÃC½%Ei†{’Óòh AÊ]‰|b|šþix—òÊÆò¼8qK†pO·ˆKV°°§3ŽÜKPú¢l˜AÅÑÜôÓd(ÆÁ‘^¿ CI÷f»˜Šã1¶­“Q…8‰8•ңƌëF“Ãû­•…LÒ¾Kl~5S¨$DÊqx{‹ 37ö?öI)ˆ7CªXÆÛ_9³ž¸4Á÷‰ øå~m|Z‚€ ±FB¹=ÄŒ- u®Ó·+…|¡3•]†ƒ®&7>G8ê»ÎÝ?høn†)T®-™ìeI%Ù˜Z½ó$T”2@ŸdgÃM]—O·•@û ¸}qN~ü#ñsÿÛÞéxŸÞ3IÐæ6ƒ‘€âþGËPê"~¾âD¢b‘ž0§n™h£fv;³Ý®­)j÷²ƒÚVHÎómwö44ôT]a¨!6ûãñi:n5GŘÍæ=@Ä0<ÎîâjP¸Æ’¹Ì΋BÔñÓk¤ÞŸFq1ªqK6Gµyàö¦Ò®1Ú³)«)’5‡Û!€˜)ËáLšNN¶5¿Ý›(Äf9jW* …;ú…þËÂ_¨F¿‘Í4Û¸Ur¿ó¸>15Wb†yßÜ€kå÷˜;ÉÛÁMìÃU¿™J'<Š“$R KÈìV(KNŽ=å¡l$> ­ž»·³˜Åùcdº¥…†Œ(ë˜Àøà4¿uqŠjÝYìö„àšj.M5hJAZÅ&÷YXº“*lÖÞQSê›ûƒÚZ £N¾<Û—oãüÚOs wXŽÄ=Û¡bžÑÖ$ÁÐ&F0œÄmqc±Î¤d8ŒSÞŠºÕž*4€™PŸ_Åz7k®[ŠÍg3á¤êT— ±ú]ûWÇO×>öÕ<ú(Ì´‹á÷;¥áë–†X¾º÷,µs‡+Uµ”ÇV¼ƒ7Þb;Ê>â‹ucÝn5sŒñ̦/É£¬/äÝÌ<ª¦ð;zaÇåáà щ¤ ã>Aƒ>Gz - Rˆým,eHJ+´œý»L3‘.3pÜçq!ÈœÃ:Þš{ y‹Ìùoè–ßÀÏq†Pw…Ë¿ƒ·y MVGoÞêÓÍ2¨Íûí•n{¥ó"U3‘Ê}hhX ‘ º/j›ø; Y,…šÖC~„i2œNìݯ[Ú –>Å:R]„œl‚,<`sã“qá·‡4è5 ±Ák~Áo {mu¦6i{Œóe^f{LN-—cµd%•JË.ì2Z±öWôµ[Hµe~ò6k™qíܘâ 5Lb3-Ý\&zðH5ðšG Pcø@ru?Cvhfí›åŸŠÈ®"ú„¨V­§“qÚG{­v~"ûbý­×i¢w7WO‡†z=¡å-3ªI®§ Œµ©½Â’Ï$B².7õÕ¡PË.)r¥×ý1‹càØwÛ?€Ò™áH: «Øí+!EÖ`Õ¨Pøº$fN÷: LGÏÏê¼)­d§FÜ6¹˜¼&öø^Œ+ÌѦÎL…8—¾(îMH1ƒäö;Ó¹^Ó¥M–ñ5h0 ÚM¶×g7y”ìFàw’!v¬„]ŸóAÆRzö ÀÙìÿÒØ#„·“ø±)L˜¦Å Éßá~Çâé#T˜åãÛ+öN@‘ËÀÇ Çžã#¸âQ¸ÿå²@þØ>Yõõ#ÓÆßCYXyc‰v\Ò‚ÿ,a‡;‚óÕ¨Th.æ‡Ãœvƒ¸Ù[i‡¶m¯#ÎK0MÚFùºz‹…Ga~|̳f+,øõ0'dØ›~œiô/¸˜|­Ç^dbA¶$“‰ øI²O3Ũ—Ú©3‘â€3¤×X£o`]ÓBtzsš?ÿ¤˜ @êþTÔ©Cø…‘c^úgø_ýDÞôx¡/²J,å"k4C°ýØÃgíž)‚2Ýæá×äç`Yg$LàEþ 4W0¦þ¬ñ÷–¦ç-ÅthEF½†f®Ì6êB„27‰åä¹Ä®É€S3}Û)›H&Ú¯”4"*‰°ÁtX=&M*xç X»¬3›¯øÔÿ·ƒSîéM· §ü!”š»2ÅëqnË4Ía.k¸+Õu jzãú¾_‹= OJ*YVW#$,™õ¶B"Ë)僕鯤ÂaJPjЂŸ?‰~Ò4ð^@¶>á+›4ë´@j|êÀX´5¸:¿>xù®dÚŒ€¡Í†K²QmIb{ÞÙ;ŸŠºÙs^-Uã³;b`c5ü&0‰o°ÀÜWÿ#¢`^ñ s¬@Ñ‘½iûÜŒ[áZû<œtŠ}|UÌ(Ë®K ¨ë2ÒÊ¿Ép8I &…!jÇ_€³7olD8ö° ûº[ôʾƒ„†Û…@ ªzL5CÀnï\TL´8”§&~v/ö¸—`çw% ™yÇÚ6&­ë±1[»ãí–¾>ÔHãS yG‡"Á:BÔ˜½Öt¸ûoä®ÙM¯jw,w­}©öêO¦uó\ê0èvI о;n‹ƒÆïaþ|Ú jØa{ƒøU³Ì>)Ì_áÙŠvâÃù¹°öD̦ªéÙ¢‘Èîð†ˆ’Nï%þ¤š ]GŠ÷øˆ£û šÕÂÍÖ·è‹M tõ’iM((ËÌ”²MLn¬”r•qÝ¢Ê^ý4ù‚H*îâ:¶àô¡,¾Æ·~®ï¨Qptlüó|ïÀöFŸÞ¨ÔŒáaˆ>ê½#0ËÂtAl2§#œŽèL`ˆmªk^6¶W’IêþäÆÀ©&¨oÅßÙ$Ä»ŽþNˆÓ7s×/¦Sw·{øúDÚ¹¶v2£Ù ‘ îÒÙnù‹í˜ÆG¨aª;!ÊÉŠ}ÿ9`ú¤µýäï¨ñ×@wF3®M bï™z’_b8èñÔ8VULB6#Ñ™=ŸÎœ ¶Û¯›¿‚›/c%ÔÞšùäºyáùQÆ×ÇŠÅÅýš“¹9KÛÅ%AùY/Ü\'ì3ÌúÏbÓg\DóDêr­¨?Öpvê)H(¤×Y¤PTºR¶§¡lÚù•´«;~Ãíò 3U*‚o8SRLÑoGÞa¼gB«€ŠÙ Ó͸Y÷.Ѧƣ£Ø/.aà˜’²Ø›3AºÅ† [nGŠ9)ŸÐìdªÙ_¶HKëÍó^ømO»öùd½rèÝÍ~'!ŵÁ ÑÈ)‡×JÙøæ„™FÅÚ/O®´/²b)AvS\¢ŸÐ2J c`Æ 8_-Þ›‘z8e‡ŒLM/Ué#ÚâpþޏgÁIDõeDzK´ì‘9½!¶µ‹ÃFvÂ?£±Ož«Ø1ß!ó>v«x7 ç0Ã~ßNÔeU÷›™¶o£8ó„qã†Õ·cuCgJG'gfGù®\_[†,FèÈ ªÕRìs8¶E/ÕøÊ»'ãóõ¡‹Ã¼ÐðfŒ3EJ¨‹nš]SY.ë†êKù³ç5llà×>^ïí©Y€#E,‡¡üqºlQ“T7ÉÚo{e)?ë|›äòî &_4ÏMŸ0?<Ñ4¦[\eÃ9 ÎàI§+Žš´¯ÛP P¯Gé'X¿IÏŧÙaÆ© Ñ¡žiuf%‹)e«ÂUŸœwb‡Q‚ÀÄaK6ðÇO]ç±Ñr¾„Øô^üDˆæX9âSašéøôÈ )¿d½Q>‚^2æ>®ËÁ,V£­xòùy$ø>žó>»ƒü¬-Ù`,ƒ ü4W @ü«ƒ«kö˜é: ¥”XLy>·Óbâôt“Á§a±êE7dŒÍ‚Fu€–'¢¶_‚³ûµÐ±Íö‚<™¥•.æ#×7^ V»œL.ø ?âMyíN[»:¼¡ÿ1ðúÝúƒrVCuØ‹„ªcÄF ne²x¾¡2bïo½f­~*‚:cÿÓüÓg±c –7Ÿ×LåLªKÀc Jþ0ÄÜ?Þ¢‘¿O%h±– $¿^Øò½ÙIðI<·Ì'èoxÍüÏþ¥¯Æ‚±]ÇKy˜_ "©£oÛu†“w—{ˆ˜õNèl}­ ÁûÒŠ|¨Í‰ð,áˆÛÊÄÎö4'Í4ÅöÍðÚyGà7Ã+ß¶»÷ ² ÞÓ J¶\ýÔhã øØý—pÚ>ÜÚ¬¶°oé„@7!ÒmöÔ„Õ¼œ[L—¡MI ïÏÝ:úk¦(l%UÍœå f–eè¶s¼¹*0þÜF#Ù¡”:ûp£ ãn½‰Žm&` kÀI±Å˜¢:¶¶_\â|g³÷DÌY…Ð =µmÿìäüI‡ x£Ç·ã!Ýœ#ž®hÑ~é8lhN˦7ÔY£7º“ 7œˆŸ–«ñ0ˆ¢Í|+Ž‚¥Á'6Yæ»Ñš³Šzb¼P{·Ë¬™â;Ù`Æî†Sp©N9(›C©6ê2»!’{ÚOÿÜŒéÑas¹?uÀzнSÒu–èþ' ]ÖËwã(Èk0t§TRmö‡kð9ñ–Y£j'g˜2Ó©Í;u@t[êÄyì%ë¾2vÙ@€q‘Ùî’Àˆ’Õ·Œöl ‰}ŒÀ†$YŽ¡8æK×{ùÖyÆ×SýZ•º]$©¶NŽIxí±­ÐÞâ‘)ïiu˜ÝžèÇ ùÖ {›u}Õø8©Eù8u‘ÓÅsByÁÔnõmåážÜíq_ °– ­Û·IÑ­ ‰A5õKì _¤¼ÉCÛž ©ð1qŽm>7FI©@u+ŽÉS]h¥qÇÛÈ#}=zùºTì*….êôm÷Ü>Î,@LÇ]3sÍM;s|ÃÔFh–^)ƒ‘ôàçSµ†0°3(Ú‹ÕF5¿<ÿ7h¼ˆNˆÆF›cЯš{LÍÖm01\ãÔÔBJßq'‰–/º <³âwkÔW]îkû•ûÞ\¹R§âð'MFwê ¯ÜNíÛçíšøíêJœ“¢õ|¹º?É“lŽówœbôúH\"-&eãÇ<©ÜèSø¬7ýgÇ?-‰Ý’í2Ç'¢iu'ú8úF»7[8ÁGÜ'ˆ>6_ Np¨8±Açh¹óˆ)ð™þ|½Á/ïë wU"4Ëchb‡ÇÉxÿJ·@ë2“6ûR·Nb(^H érœ¬9È6@09ÕµDï;!Îèܦ0 ïÛ,ÌÏ¡i9ò8IñØÏÙn;¡IA eçN¸ ªÑ|L" äÓi—ôë „HáT|&ñH5¥ ¡ÎOxÙæºõ£éòtü0¥€¦xŸžË'ñ1|¯0[6ys„ûñv€èç*T7]¼"Á‚È µ¦vîÍ@ŒÃ|Õg§=O:GÛ(*ŽÒ4¥Aà-x,'dmȘ Àíxõ;…$–½v¢Ù¥†Cg_µ8Ñ{ÍÇ›ì9ÂCJK­éZ¤ü^‡;Õ¶iE"‡ãqE¶š4^Ú3%5Ûh¼Íi]·”"ÏÏʵrÛ¶:.WÒc+¥éQMÓ#~v%Û°CA3X¥ûö¤N4òÎi©¶NjI¨i2bƒåÂVÃX/ÁÖvšD¤ðåNSˆ7™BIæ:¡4¼¬êÊâôXKûÂö ó„¡™ßO#[¤ã×´¤¬õ+]ŸÊuÓ0$í”Jž Þ.·"YÎt—C8+Ñ;±¡pˆÇ4ƒuÅÑh?f3éx˜ŒÐÆù~¬Ÿ>ñLHY&é2ì;É9:tèj+uïósq èJæ¨4*Ï< UëçáóÑØ·îx#ƒÄ‡YêôNb|º|-Ï3Î×ó¹—Ǽà§þÆ'q Ù3œ/„±dðõuûƒàøq5Øfi›Ø× +»§-…µÓoVãh­æ§À1ÈSýÒ• Öu¡!þ–®êÛÁwê.7‡a¼ùž¯â¨—OÐM®Ø6p Ò ¾œùÅ­c6Yho­ñJu^¬PrïÅ›¦½ô‹õ<Í9eƒèª¯hÙר½•&ò{DÅ4œ¥jh«ÓŒˆ¦$Ú"ÌÐÈ—ñR8íØq†@’f3â:´4ÜŸƒ¯S)%\Ï[jzxSäÊß`·.÷¦hî–ÞÒ`†öaÕ²‚¦DÝ!ad‰T·Ÿ¤{“ô][ÚÆtð} ‹t#Õ!®€/#V:D—ÍZ©ÙÝlzjÃ<«¹Ú91(èsÿø$“yn§Îƒ/㩲àêMØæhüåÞ>ÝU»I)ŽN¨$ —ÜÒ3¾d@QÕåËHÛs%&ªÞ+¢:oÇ=ÇÜJÒ`O·;—ï]®^åØÐøøêèü>ÿOk… ŸÓft· Ó“…F…ˆíÒ¿¨ºó9¼UÇ©'Ç¿#ñô#ìÝô%µÒIj{ÐeDý0Ç„äcW\¶(9÷o=ˆnǘT0ðÑáGoŠýMÊaU!t¶…Ã$LÍØ{úùX‡¿dpø8,®ÃN ;þë˜ù"s«§:RsTúŒ\“»«ç;vJ *ÉZçjçÅé0).O}ÓdzŠùtׯw;eü‘îÝ?ÿšÞÄûIiÙeæMF{²^­ì¨  _×IΊœIŽŒúâl¹ƒ‹|íR¯õ±ô9&cSÔÏÀ‚ +ƒ£Y‡7ûÛuÅNÆ@ ‘&²/ÔmÄxÛÖrä(ÎÔš/’¼B8_R%‚bG¯G_e~|à| n‡â¿:­žØ_5.Aþ— Ãx+@¤äØr==é§ÎþTà;Åü”c¼Ây¢Oº/ÃüåñE\žHmذͥJn3üÁê`1¡ãðŠÃ-;þžw‘ë”™¢NPiﺒªɲûÑ`ÔôïÊJ/6äy~Ð!G’³S#GÒKÚËÛ wï1´åÒÕ+Ã(¥¬ºË•ÓXÒ`$1‹ùÖFöçºjR^û”Ä¿­Žÿ`«š îÑ“ŠíÛ×iÍ_£hð†N2oVÿÞRqš¿RÛ˜áps]þîÛÒY^´.4iq'Þ)ÍÒZ„ 0{Šu: ö©ÇØœÇzp!f6Ëbúd‡h[udÉ›‘X¼¹Ö${T'¬ØY›î ¼ ž•$I”t #dÍ´ÖTEp⌮o}¢¢ù4ÂPÐ~‹BW/€ƒø¶Ù ±N.9—®6q>\ŒÔ’ mSÝyCöÇãÅ;6KpDMdMY¦éî‰T¹Æ…¸Ö`Eò%JR¦¨ÿøÆá s»Êf\àc®–þ^Öa#ü¦»é§å©ÀǪéâÞÝs |¯ú攺|ÜuáË‘©.=õ>Ü/»väFÊx´4¾,nºŒQ“صk¿äçÇ}ÒãH ¼É ×Í–OÏŽ&FHüY0çãMVhÞÜË‚V#嘿MÂÎg§Ô½ÿûüzÈKH”ÄvwfÊÎU¿ë½8Ÿ¿~]C»Ì<ÃŒåå‚vr‹ò K=•4{ºJ¹Á:ç…zPÓULËúQÝëM‹âĤ'zsžœwÀÇ[0nÛ’4µaag•TgwçmŠÂKï jž'Å ]Hñ•Õ%pËyràµ1WêÛ4:H¥Õâöv®üê"'½uží)æ$šOwÀ„ßk;v­ˆåÎ#Óøòt‡œáÖšlBWéyœ[Åd–”zªæž“›’¼F—fÛÞÿpÐ#cQ¾z8™‰b&ƒàøˆÝÝ@œP£Î,^“Ó»ªD^™†½É‡žØÉ»†7püswÝ/›e¬+•:ýKOŠlïE`…ùZA`e”qÐú¼Åͦìf-JÚÂÕ…‚è18a6oó¦Æq%[¡$åz…Œ½ãòÇàÝyÕ9_XåÛöÒ[»ÔÖw·\„maøŒpÛ¥Óa_TWâhrÜ;Õ~÷ n.Z*˜ÉJL;9yS¹Ò%Uõ´ 1Uª}‰!ÒÔföš}Ìž‚]Ç£P‚uEùÙXâkÒïÅAõܨ‰l†2¿#¥úÚ–VŠšº*¼]<¢ÙÍ&]OG,'¦Šõ­"º,Òˆ:ÈØeíèCKe¸êÝnõÀ4ª <¡¬:˜±ÑOùŒ¯”ÌÝCÿ°ßâ¼Fü¢à ¹ëo]kÏbþS'O±5r¡ŽyŠüÂìaâ1NÝ”Ê[f±qXR'¡˜ÕF«kXºb·r1jݺiExgŸÄñ#x_wòøp5Xø›†Ë?Þ†.¡Â¼Ã0©Mâ¿’-HÈݾA·1•ö¹Í–÷Ë·:N2G58Nùé`y®Î ìN´ß&LÂÞ%ç¤-d‡Ê‰šKA;?(ñ6J—ÓØÎ⬾Ø'9eºÎr½&3ݬ†×Ö¿DJ7'9VDx¶IÁ"àÓ¹&Å„§¹˜y€Z€Kßë5¹äX* že2ƒŽ£ô†-f„ö¿¶u/‰¬&ä°\@‚‹Z\—‚âoOšºír¡'ª -R Ž韆+éµý6ÁH%îã4@w¦qú¤À'` ÜÌäÇCm¸ýxß'‹{ä¸OM¨f;skxK¬qu®¢M0YËÐsM±S ºIo…ƒÄ‚¦£*DÞîò÷£^=È “¨Š“ü¾çºøX¥æ¥}J7ˆ/|„•áü9Fþì'×îß#¨U:M27Ží¶¸îåÙ†Ó¸TÑ÷v(Ù]ùÑV¡/|—f_®âð«’G§ÒƒUv¨V´í±-nÔ¦ÞÇÓôÛeõ»„šfæ%,¾2}w`Væ‘–¢b´º'ª¯'HajϘ§r6:SÂì5þœ)HJ Á¼‡R2ªzp –™“KF:-Þª0í-¨±YÓ;á‹M%šF%iÛ׋¥g7£\WdsOÖ`³ä ÇWcüL êÏå;”KmÐn¦ynÔÉ“åòoTM›îâ¹½¾"ó©!ÄäoiþFa“õágŒ’Ž;®³%OÌ}c¼µZŒ³fÏŸŸ•«Aj÷¯w§U¸Çe!ž¤ZW7°ÜoËn’nx”õ$yëÇ5‡]¹i^©Oª,‰BbuZ1»É™÷`ÇÄ.¢kqMCƲµ^›«9öùy‹ ÑÓ6Ñ|çðÙwŠf›Õ’@´}ÅT2ÈÐ=Ϧ‰ªÉo¨¯œü^ øVÃ#nA>R‰g&AëÁwu¯FÁ¿Ç”áã.(Õ–;*`x|Û²NÓZÎru«^L¸÷;LGG¿Þå—V'¿¬µ\Šþ^ã^Òö 9‚¼ZÏ«GIª•Yg¤‰5—ø*+<ëšÜƒ¹H¾ÕJªƒÃÚºïcS®¦Mp.´Û-5 >˜ö¢7L¸Ð˜A=^æÇl£mnù4¯jÄ}LÞHvÅ­Ü©1¡?™ˆ«JªÅgª0 Û£ÅýoÚãönŽ6ZÊŒŸ·iÜ{Û‹±},y\+ØDjIs]9ä#ׯ>CÒV·j†¼cVKÇ‘Ìþx[ºt‚%ìëyBhOÊ ëè8ÁÝO$íI[,iK´“Ø_µkVzkîdþpMæO/¹±¤},i_&+º›‘Éïá•ô³b[i:£àfÜò÷=žT~ÿiÐÊSÁV²P?®XOšïýøÃjdØntÉ¿ØÆˆ×!5…Û™EæV3±F4[×ß}ðù{×v•Ã(ä¿Ù";[¤e‹LçLQ¶¦GIGY?pž¸×Ø+[ÄÔ ’»ÌÀzªë|o‘ów·Hû¾þÜ"5‰:¥g‹”(ã'[¤d‹8ÂøµEj‹~þ²5Ê_¶Fl—?øÚQ6ð/~l‰‘$³¯­°~Ø:«ÿßÚ ÕðWCÏ;'Ï0ü_¶ôÅIF Æf rKSB—7°Dפò Õ€%ÈT´ÓŠä)Ò#qëµî‰ÃX”ï­×àøSF•¨e{Ã닊Y rHÿƒªñ-ÍjBÓÓD£,ú›“°HÒôè}Ÿä8bØ%¶5sǮ︀Ӯgï?¡oEWápüB•¥å‰çM£”z°tòù……SÜ£[*„^|îÃ^j0[3«[úa"»{JT–P¿ˆßQ_¶ˆa9—¦%ñÏü?17Œ“æ:-…ú€‹[Pó!Ò“ÌÏ.©ÁÏÝ'Œ‚Z¿³Ô:ÏþH›ãÄᧈÓXíp™ø°6¤4]¥‘[ñý3Bà ¯œ¼¹-ghr„hVäèhbKd5¡*¢+1uknß*­¼,~¶Ùâd¸ÜšxÑKtE4Å1¬°Àt…YQÌ4x‚ò3³¶1Uà¾'bŽDý˜àí=ý¯"púEO—)› iF~8ÝËôî¿/ÿ×?”üw"g’?§O#Qùé§3ØÎ%M¸-G¨9Uâ¸âbðF ‡Ù½å\ܔР-NiI:`¡g^sìú³¤ßëI ?Iÿe{åü„ßw#ÏÎ&¯¤¿S DO,2ms~ÔX!ÝdøÏît^="?'Ê„,]{PŸƒÈ8\½rÙLUMSñÕñ¤Ýf¸Úk'¥¿¸ï‡¬°€Ž/íº.ÂT4XþÿZ¶Ål[‚À—/s’Xü 9‹3ñëv¨ÉS¬)Âízß®Ú@ø¸$CìqƘù0öf`Lí¸‹ËÕj\:?ÏœQiî¼Çã¼GÁt\ØíoOª3$ï±'ï1ÏGôžÐµª©™×=Žæch|B®ÓÏfûªºY&ÌÇ&û&¾Ü»í ƒ&³w|¶Ó$¾~þâjöpLŠ='B$ý׫Xù“ˆ¹+†QzÌ­{»7F?“ŒDÄÁ Ád'ƒJ•÷¢„D-ÑäqsÈAkøOqY@2ÅŠ s<.‘þ–ì!åv€’êzÚ…Çê‰ÚÍâšBÅìê["%- Ú›¤h)œü¤7ËŽ‹C:ìüÅµÑ ¸1 CamõŒfOŽeFáÀP«N- ÅH¼z¢Ý Dû¸f1WÉá¹êM~Îï…û÷.œð~\÷‘“¥2å<'‚…­€@#q¸ß'å¿hµó°ÓäÖ!'^¡)™£:JªÊw}Èÿâ*Q6ÌõceALÞÓ ºƒrFj¤6ˆ:uÿ\ލŒigf ÓõwÅÏõUdíPg¬9æ1šYC#U-F¢“#µ>GsšÑ %7àÖ3 Ü꾦mŽbó(s%G¼a~ê$(=_#…|Àšë÷Iÿwo<éLR-L;ä†î)Î?¦‹Ý `1ÿ,›i¤<Éf ¢çÇH?WC®£Œï¤ ôØ—Tú®þYß'»@ß_œí>jÿz¾_É÷‹ß)b4><³¼]¤‘z³`ß&u£Ÿæ•é™åp¨´éº¹¾l*ýLDÕÏÀß?vª,ÂÎ3sýLŽíï×ßSDZ=ßïMùl:ø¾ª“@šh3Ñfw³`rØùY‘¥4ˆæï‘–†s†ú™dÂ;~l£Þ† D§ËÌb/™ŸO=¡¿ï~ž]¿žï—Åk–¤²Q† dŒOó0gua‘™¢s³æçzÓÄ ¹IMsEsí Ñ;ïÿŽØœRÊ“áå*¼5aÕí(¬72-$­Î 4-§›áŸãq¸•xiç5Ä÷ùŽˆ¤5´ésCñâÄNQ¼d”¬œIÒ䎧sžªFõ™Ç+–s’Ø<8•*Ë>¦vÎd €O©´]ȶq*à G`À©Ô êxù0[t]®ˆ N…J¯VÀñ¾;%ðªÛÝúòÕý ÎÍpÉÃØ—kÊé˜a„~‚É™œÎsÃÚ†Щsâ^± <—#âùÐÿ5jl8¿`0ÓÄÀÅ›ké%¾lôˆK—î6—¶%ok:šo,¢FÏ›H'ÑQ1I}L‡Ö¼?†Ù8 ÜÂ¥½ ŽŒÀq,ݹ¶`¹CIuIŒçd_:ÙÍ)ÛñŠÏ‰‹¦½óû•Rhé· ÏfYl´j%!6§Þšª-k¤4®ïçÞðÎô¯oוTdr¢™ëBjù±™B<ÕŸ!إκ%¶8 …‚!é`Ìðÿœ¡EêSx˜TYR–RsCV§ÛkÁöF°½loÛ a„ÃÛ…£ßï Ç Àöz°½l¯ÛSœ‹T™i›\†K"]Åú~oþß›ÿ¿ê懣šì $ú)ÆGw4@éÁO»‰±Kèß›ô¿±„V¸ ×6Ð^´×íÉôŸ®K3RfÔP_7´wí òƒÿjƒŸéÎ3D<ÆŠ¿¡¼@{ºÿcÜHß;þ~ÚËóý‚6ì@{›»“€öVÒ ´÷âä_Pß4´'td˜À ´WíÕ@{Ýõ@{zA{3ÐÞ ´§ï/nê ´·ÿÚû}äÿºyZ›H» ÊVL&¹oò+ÊWtÎ&“<Û™ú3é:H¬àWÈÃéi6àÖ,ü Æ—éì‘zýÛ¨Þèw³'_SÈ@ú÷$™i¿™9®Ô£˜xRlT‘l›9kƒ}¤ ŸTŠ¥¸ˆ¹úïC6†ÿ›o+-Œa“ìÍOL7Û´x›r (ÐÑØ»ËÙ °Fž0|’ë«U|Fò[HæÇ3A²ÓÄù,Ü0„ñþ¦wÕ€>Þ1€¹n§aô®°H)0 fZ#ÚK\¹z5+9f;üMû÷êüeutÆ{ºŠ0k¡P’Îàc¥¸úï=ÿ¿¼çµgSt#,RÓäUMç%”¤™&ó³ŠMW`À´ eŠ“0-ôs5Gw¤‰êH)¹A>ÄBMsÿÇ5×÷S¸b£¦¿Ÿï‡iA”Ï%€1‡0oš'Ôhxlþ:_nÇæ$Ô¡x¿ÑÚè™ù9dF’ 0wôyWÝM"ŸjvBß®8„i‘çû½óþ“;B4Ó6B™á‰upx¸]ÑÑ. =m]ìb²ÕE )Ж‚ºÍÅ).-h$ú2=´ŸX®…Àüõžêd*t8÷מΦ×?¶U’ò$iÖ9^ž†šb ã#MÞ™°Â„ ĵj•æ²îÀýkŒn»ˆðv ar °<ßt¸Ôò <àC„å©m±w®Ï×v8NÚíQ˜I3%DBZxwÏÁ>‰„ÐÝ*´1ÒJ:cɉ:&ßbÒº« _÷$ ÷ôdïÃU¡ ªjå©d6x›‰(<¦ÅPZs…Õï Ñœc÷à4Óh¶ÁÐE†ëc@Ÿ‘®ÖUrd¸Œ›é6ÇQä–ËXM![Åþ>tmêþ7ÿ ¡m;à<\ c¤¡€Ù ïõ@§QÈlT3qÕôýäPmÓifè5bQgµpóÕ5ƒE§!È[\îÏt™e: iDÁ6]W¢R¸pÅÑ¢æ„èA›Åú7tš¾-|ð}]å+q¯˜­ÏS=E'AÙ’:ÕÇÛËWwVˆòìÓ§½Ô$!9ѱÓäÿ-§ý)PÊ8ãÛÅõœhDêßl½g~7¹g±ÍpH´Ò>bç¿pݵï9Wô¾T ›p"¦ºþ«J¿dR/rRAJØâÃiŽŸ>üŸ‰äVwÕ.U6‡ÞZÙÄÆ¦Û1£šÁmÛC~ þ¡ãÔû'ú›xRÐé9}]±±ûkâ NysÜ!ñý '÷‰%jr˜fÿ¯6«òÊ»å“BÆHŠÉ/®\´¢4«%cЦ‡|›“lïÉ:@M —ÜñS«š¼ÃjvnI¯ * ÂXÉeI»'-ûöy£¨ј‘¨ï4æçé$Ѷì·D~Þ·üeKƨùp6Gon.D¤•BÇN• øjÐ\,‹‚%‰N M=ê lžg§†@ùH×H,#O©“¼©/ –ê>£»'–FÄMŸütmS´ÒE•[Rª¤ë(Ä;xJ»äí¢éæ\ןÀõÇp½NîXÎ ËUkÇvž4pýÉeO|U`ùeε€_×ÏPrçßÂô¿÷Ü?÷žë5,âU3NAzvJÑ1Þî¿EÉï‘ö=bâ3È4×E–œ4ì ñYJ~"å*ôd°æ”`±õè¸VB!LøQº•¶Ë(ÌZ|UÚyÚÂÃK È‘L6ƒ×ñêtÿâ´r,·"ô/–Ú1E‘ò &B j^e,·f"´-µéç/®Z‰å¶B„†?ûØ’Å72ZF–[óójåÿj¹ý>;ÿÜgGe=Ù{hº½Ë*F0 <® Ùt&©Ü3Ò}=ß‚h´ªiöþ¢1ƒh¬Ñx<¾M=åyàÉóý,™ü® yËRÛ'Ó^ìcåü¼”‚[=Ü~•Ïô9àg˜‚¡¿~p„âü<® ;—‘Ùaƒ,ÝÎ3¿Ï÷ûýëœ#â-™ÜéðK=.3 Õ”:ý‡šÈÚ%Åà MéNÔd4Ÿmd~ƒ$M¯ ¹íò{{æ»=™÷‘ÝUÝ¢:›€ìeMKsöòqéN|¦Ë¬„lÛî® ¥ÚÝY‰QÛÇRJägImì`z§. ìJxŸlJZ7XÞ”#›2°ÜÛ·¹ð¤7åbƒQœ9äiúY£¢UIЧ(w=”;þþ|mÖ_6%›ÃéÖºBÉ«) @Qìz7WK¢˜Own‘7é“Mz²Iƒ-l»A”¯‡ï8ñ~ù†ÅøNÎîsªÆÈ-½šÉârîÐÞ¥=»ôPß Xö³RÓÜ)WO“ éÍ-$;ái—RÑQê©e¤«ÚNÓEz`“¦· * óïiÿøL•€¬´ŒÊÖûˆØ"Z€ˆý "!)z0vBY"ö_€ˆ bˆp^¯bš®6 ñ·†ÿx jÊúºÒÆJÃåá\†2tõNñ߸& $êêp8»ŽÆcNàq5—Æpg‡šëê‹…šp8ÉÔ,pßb¤rÊñt£ïÓ¸¬0÷êê 4°N!Yº~õÔ3 d‚Ë Á÷¦ü ‹ó¸CL¬¥vEq ›8V6÷î_ Þ·Úc9ÛžêM2j¿­uh£XyZŠþºÊÕC7)…–éHØ]óèU¾7—aKÒ»Kn±Û6)–5æðC¨#¥À+GKê$}ñ&u‘gbÀ— §JóŽF¸ÈH§ šjùyeÙ-µþC¿wòïüÿÿNfê ž$ì¶®®|ÜÇàÉß‚º¿wÞï÷ï¡'¼ÁÞàop‡7¸Âœá ŽüÜ[ÜÊ䤷š@y ”VâV†7ØÃá ÎðWxƒ;nçoð„7xþ–7¨t#»•N γ[žàIJðÎÏ+¼Á™Àß oðÍ3Ÿá ÎðWxƒ;¼Á3âVޏ•v;ù~ÜÊ·òoyƒ¿OçïÓùï8ª( G:rÚÂéò‘ØÇjÏÔTY©©²RSeÚÂÑß™<‹’Ú*gqM•“ëL­•è¡çøï Vþ.(ÓÞú^«ý viuÚ«½=·0d·¶0zº‡™ÐròTåÂì6!WzLmOZ¸żðÁRßv¥øŠ\¬‹ZàÚÂ+œÜr–ÇP ÄNª¡ù}’Í;¶]®6œd1*7’_ë`/t[ƒYSbµ}¤7UzšTj':ÛU±éAÿáÞòßbö)eZ}À÷tEÓÊS7­ÆGªÿ’±êäi⥼(øÓöI¤ø{š¥0¾]Aã˽x8Ú*Ià­˜Nãw9øÕIT¼eyʀߧÿÝVè§6=Nˆ‹÷òP'j8Ç ž0íu]5‘ë0ŸÉ]ª~ͺ†CÔÍË%Ÿêû-œŸ‚â¡\<í§“{[]Oª»âì{wK?¾f縤•<¥²åÕw»\!n³À½ü´l¾æ„ej Píð–°h¶`1ûƒ¸-˜Æÿ-O˜Òµ+ëgÐÌÌ…áê~Ãé¥Ó•™SÛìÓnFT-ÊU€¢â dçówÛý‚ª .¼˜ï)Ö6í.]ò´…‰Ý¨'kV«šæp#Ø#)ܵ‰ö•ÔŽÒ¨¯2åJµ­ÅÉ«Ÿ®‘6)µF^ë'mƒ«ËϺ%ƒHÅêIÅÍ?ú;Tß”÷SY¿î41ù®AÉ|:G¨]ò'õõÓ”b¸ç2¿WÖ«>JA|eԪ˱eÙÒÔBM–çÎÍV Ñ}’««*tFuÔy¼Í.ž“¿æÍh9¯üÝ•\`¾Ä“¬ÞªÊÜB¥³NRt§šI€ÂQ9Kµœ¢D›HRY'%>M)F>ÔÉž¶4ꊊFHT‚c¬á~—´OB•»~ ›ýYÞúêdWjILçs°ST“ßwe¬iãHÇ8ù“btÕÖ£ë4;øF»JÆ;£„†Cïî³”<Ùiã\Ü6 ‘‘2JTeM>M“Nß`~ÇBÆìžâÌÅöŒn@íçäø0ø¸6ß ™D‘ “`Á÷BLScÎéä§pLÙƒnrÓ°.]\8¾›Ë¢¨ð¡ÆÃrOÚk›bf-8?Þ¶…X­Às qR}q¸ùX°h§sR¯»4ŸÐø´ø¤J¶PFÈh“§;œffàv¡‡aÓQ6| M“Õ£ÀFc'Ñuî¸jŠ,lRix‰BZ‡ÚžŸ-.ãÙ ©¨¥hzªÞwS­ ö®ëžŸó‘Bt½­ø«kšô41â®Ï[~»üîI UÚþT‚žßmZ—jN ÷µzü±ÉKÝbÙV'J®þZ™“Ùk'I$&¡rfÞ¤šô(î7«[Ò•>‰4,y>Þ>¡Ò£®ç¾h<[?hE%‹~ÐntÙ}¾:ÔSõ1»cýAç®f3Zwø]µq9+€w}¸ûz²uÈ:wD‘m0ê×Ëýʵ^_‘0óÏšýÅæüçúè FÊÍA0½-ÕFÖ>¼ïãCŸÊžô½Q“Êì¹Jõ×@ÝØ O2}ª·#ÝKK2~ºÿGw9¥‡¦6 Bn¦›Žë¯¸Öÿ¡mq·Ù–Ô”%eÒÝQG›N†?éUŸí#ç•®.˜;ë1àÒYó¸ôÍ' žÚ/.ºùø€¦põߨ4ü¬Žƒ9úôi™øé¤? pÉuˆÍD™$ƒ¦ëÈa=VÇmhr)R%v­ˆÑ<+ÄÔT!v³9Y-u P·”O€ú&›:o£¡æjM­hýûdü>ÿ8'C¦*ºc%ŒÝÒŽ R+`Ƈ†h‚Ëúß;úyG»Aµuä²Ó¯5ÎÙvBƒù H€ÉÜ™dZW“J¦m4ïü媸Øéj¨éH- ¬£tj3ÂÓ8‰[ 1d7²`H¡ÑïS樥Ä6ôšiò §«4*?5O\g·Y³›¼Ø4ƒófòUC¨ Zw©øÆFtN¹;ì=IÃ5fêÂü¿OøïþxÂaHˆ?¼«¸Uñp?-ù'ÓE¬(T÷8ÉÛõj²Àv²Àf`¬Mzã#/ÿ['3 èFvo4×…ìi˜àÚ?_Ï÷K­LóRHrOA’áé^0m‰8þ™S«>LÂuwNõN‚¼§:áƒéôoS­Ø8Í.ž§¬Ypw‡|¿ð÷æºDïóý>õ¿Oý?è©uè> Ç%1‰ˆg»KKвfºT?SdGonÃú$fšzKŸà’²—5I˜ito,¦ÁBsAÆáR$*ÿ½b˜åûù~ÝPþù› 3t1r¼·¤(‰¦ï ½xåg·_\é¹ÕÜÕ¬š«iÆáá \‹¢_w-ÚõŒfW‹tXü}}Kräù~Ÿúß§þôÔ7[¸æm^´ä4“~w©ý‘p™bòÀ¬FK/Uín¹? ì~`¨kéïô,šÎ¦ów% uz¶âùpgÓ•3àm¤@Sn?ãÈ€Ù,¤ GSÞG[³šìlœÙÜ0ã¼á¯5¡Œ3s•¶^Nœnég ?€ðãt *ŠTŸ«¤’8.\ÖÁð¹\Ða R^ˆBÁJ PE`ÌA0Ê"QŠ',Jé:ÝGA1¶óŒe¢÷Â_qd…çÏ×{üzܺ¿w8‚ÃêB‡7Ϧ¦Ú9˜ºŽ@1ùkk¿å*Þn;ë­ËÀ/>R±‰æïÍ=xÝ#šnRÍ´‡·±¤RlX’íËÅ]àuYæÃ¿|h]ìñC“Pô¬1ùÓ®WafºarÀí1gtà…uðUƒ2PŽ;•0•&Ÿ}Ò ÂPôP<§eÑÜ”"TÅQ'í­ã½J@s˜ãàMO´ì±%«0;ºÐárâ%Ì „©>\Ì›tîn|SûG"l»ÐÖè±/«™`Ïlóqhi$Q7³æJ«IWèE1·Óû)ͼ—Ë/W1Þ‚‡$Å6§vñ³\»XÁÅãR®]ü4‡Oâ¥H’¯B½bKO@ü8Û-®Ç1T×&Çž0eŸ®XÌç¬Ì(S¼NÊKv–hA÷ëR¾­¯ˆï¦Š m¥ï6 ŸVw –NåÝ1nÊ?)SL»iºà*ªp­ÚÊN×(.Ž•FÆDp(pÙòvŽ3Ò󩸻¤öF‚ŒŸïð\âÄÝR!Ý[/T®<»Û~ÇÎÂã›ñ¡êrn„<¥³å;ØÏÔ-“ÉÒ2!P´ìÊž€Üù´—íœ-ºfÁÑ¢Ûkê¡P™æIH5÷knøwµMÁý¨‹Rü t~ =,ÝŽ¿ƒƒ®–Ãgw ¤•@á´pD?ï„pw?ËÄ>Öp=þÇz’.eœåöaƒCð+Ñ[Å3Ùòí;¾v… ~§+:H±èæøÞJ¯lY‹g»鸪 “–hbèßKaƱ]ÊÂÄ–_±Þò”P+ŠEn¯–q“&ã™1È¢«­ÞšØ;‹«‰®–`Llsæ UliPLŸ '³}Ôµ‡þ 0üLbs!l\Ú~1h*ÛÝV¥´¤k^÷@ ¸xE'h^„6úNñ×,‚¶ÿ{t•odÞn§jo覒\ ¬&š¥ZAPî¾D˦©ÌÒiˆÅ6‰+Ãlö¶ÃîÛ݃ lçØé3¢†rº1@žL¹6°?Goéb—[òÍôƒ:aýŽ‘±Û(¸¿|˜í–òĺJÉuú÷µ'îaµ‰Í×OªŽQØi›Åhû½»þÙv=*?bõ)i”êO´…M|©9¾¤]õ[æü³ïŠ’¦.à²ååKl3M@h‰<¼nÏÏÙ%övR·aÜbVó"ÛŒvRa*eÜù|#ºÝ,.þ~Mýz¾Ÿ~ ‰Än°‚û¸Dëq<Éò²}1Êø™\¬©àdå$¼ŽØÌÃE¡ÿŠß4ûSÍæù¥0Ÿƒèv³’ApÉ=_Ï÷ûäü3Ÿb )EŒ-XœãJJn ±ŽÖê í{Üdü¸µ †ât½1Š|É Ô>uBB3ï=¶Ãä'âñW©|§{¹Ô^¨´ÝEË€\€?ð%˜ŽPÖp§¿àqè¿,ÔÝÊMáÛî­îÑv‘E„©ée/4í8Æà€fÎMÌÖN>¼G» ÛÄùm†ž°2¥.&T¿¼³ƒÑÞùËk­`¿™Äƒ.”©É”)ÆVERxùŽê-pÖé.æn®X´–ôïNÊû˜žh\Û¼@V–¶Ú)µüï~NâÍO˜­¡vÓz¨svÍö+Ø]`Çú°æ'Þe-šwÍx ÏßÚ_¿×ô¿pM+ò‰Ôc¶E¡'Îè6±z†Sh3ýû\ý¯¬b "—¤Ð¬IS+âíóµœ2ýÓp¢\wÑŠn¶»(Q·‚Õ˜p«ŽúÖÆË9·ã-Ǫ›/”rÑŒóý@¿è¹Ãï€]W6Wý$tiû%ìôcíÑ_)eJ•–'¦LL+Lš7HmxèAJ¯¸"“T<æFKˆˆ\Žóõ|¿·æ¨x Sp¬UÀ€¾‚Q÷3Ã’¡dwIh29ÆØÌ^8d¿¬·+$E‘ö…j ²¡®Y·lAqà¾Ø`OM<ãIÂÕbF€©ˆgT‡ÖΓxÆ2ÔŽ;xT‡ fÂRÕ0[^íW›ù|—$'.é\M67º«ÁšÄEalt‡ù:xö ÿ½ûïÈÞpÌ…„¥íô-âN2—RìL#-œ°sÜQ'<ýA bÏXwáDlãØÅä?‰I¬Xz%±“„Ù6°,ñ?Û’Š•‘êA´IEšQ”!Jø°Ð˜‹ŸÜ1/ycüË\RG¨Ã@ÍLÀ&Ë!¾=&ž‘ƒvDÁñ€à6ÈÙÆRùYô=é0AŽI“tŠ=Ár׆ˆw¥éÿ_iÅ8§kroß$Y(¨Ç„”Æü^׿’-œ™¬+m¼á° Nš/”⤭d×jÁj‚ ©ÐËswWb"úB_äÎæU¨Šî¦û(§Â9s¿BšËe® pñC+×ê Žæ¦¦Îòl.{mOð`ûHÃGÄØT<¦M2ùê“דœXmçsÓRK$•ê`Tãˆ'ž/¦º{óë÷úø\íø]‚/|&„÷±£Hº)#yÙÆz¼ãeµT>< pö½­$év­ å€¸f$±"»Óôi§sùüohiJ¸,¹T'åQ[Pšä>ÁÙ)È”lÁêÊÙR„ƒ—1§V5 .’sšãøÕqóˆ Îjf¥^ÒC³6vì Ï/&–’Õ¬Ue°K´jW8šÁƒ8/Jg´û’¨ˆÓ—&Û×L E¾•hj-‚ûGËZ$¦FH–Ã2Nö<‰¸A)‘;$hŠ}í'1€ž@bBTˆ¸€¢1€‘$sýüØßœ9Ћit⯼ï_”Y2s¤ÄsE™ +3ª¨gZܿ̿Qf”+8êªH=‰85˜"Cë¿­âlÓäwî©èÚUæþÏSeY}ÈÕ«ÿwU™ÙHàæÈ»i%B„*HdIcOÂïØ?ÒB%âgZjWÛµvì?tã5¥A¤ÏVç AÅ5ˆÚ¥&ݕ݇z…å—Û0àRß9q µþ•+aª­€ãÇþè~q­™8ÀN ™–'9l;þèöÎtÍ1«©žÂîÄfrfÒ·Ž¿õCﬦå´è1€$¢ë‡a&Œc¿eÍ?ùŽxÒR¬«b`aªžä^옦°ž»¹žÛT>›ª=¦êˆ©Úcªž˜ª+¦jr1öŒ©º¢åv 4›ªT <øD˜ªbK¿&*WçX­š¶ûmªö˜ª-&jª×(ážšš`S5¿ž»'À†pÞ&y7À&k hÇ `oc²®¿ÍÑø}Bþ‰NÈßFÈF"dÆùÊijù¹=‰¥TGIŽ˜E"eÿ9²‘Ÿõ}DÈÆF„¬'BVÿYýÁ((®½ð3B–‡/æãùK„l$BV!+‰Õ¿DÈv"dÉqÈóý>5ÿ¬§üæ NÃ8‘§òOæÏN3ÀÒù•^›~Sªi–å-@¬”ÑxðãÿðÚªÙËç­«ÿ¨¾lñÍšòw¤G³Z6Ö  ?žM;`zcp…é[hO÷lsgBÈ ñ7Ì#oÏOD‘ ßt0Ö ¡V‘ 0ˆîвR2h£æH³ÏMØñüàš¢=ãÃ5‚¾9¤$Ý£Ä~ÌhÌ`7Ð5-‰tú£>ƒó&[L©$½rñðâ“%85Ø©ÕÑöÎü4Ÿ‚­¸Ã=‡ yþ˜©t²jPÄDÇ ’J'#•Nz*ôT:OP]¨P÷Å¿ÕR,¦½]#Zðåpà6¨? dgzõÅüUúV/p@µ)\lÔe‡yg.·mF®=sI†„·6Õ†`5l_CetS„±ÜÓz¶t£Èºb4 š/ýfàOŸ%#»†Ì°`­꫆í²+ñ”U5Ñ¡%ArtH#0~¯“@ û< ³]@‘ÔÙ²”b°Q“Œ^àL47ĪÅ%·ÄKégSëvÃX‰ª:ž;”HŠ˜¸kµ9äÌš™6ÈÆGRôNÝqλðÍ bO ‚!Hoí•ØÉO`ó{•˜­ô8cVº5‚! ¿Ö/ç”ôPÇ|È@ÖÇì­ËWÍxÏ™æg <½½º•y9Þ½-h€=Í ä|4šÅRäŸbÿn)¯éЋY[ÌŠò篗TµÈã}@O9X~²ùU|¹&Ùù³±½«ëOs øGK^ô{­TuàÈo¦ä~ò£Seº'‡Y?«æÙæHCƒ¤î÷g…êØµ¬<¯”8à S3Ȕھ'ä2Ó©j‹ô-/âyÁ “@ýïí^êc„Z÷¼¢YÇrâE²ãŒ2R:j¤tT{*„öRV)ù9]ÞI6¹ß{l ÛGg…æ[BûMÌ$[:·Kf¶Ô‘ê¡ä¦b›ËŒŸï‡û ×e"£>d0Lº“m s±õ„ §ñ–Hiu¦TMµ73"}оÉsaF¦G&]*Ãñ}ðØÁL+û÷ù~k¼ßïŸCã)ý~¹Ô6q> û¯ªB!þpS×^ ï_1ÓI\úMí •`÷¤aüøƒÎÃýÅžõ~Ò&ãκ< EðŸâlžâ•yL°ä›`6µ ú°÷30­USR8 ¬?ïViz¦é`nD}ÏH÷ó6“竽©bÚ¤®ƒºüâÐ<ŒÇf>WÙÊÓÔÛN€²~ü®+õ»®Ô?F]©¿f)¨b\ùº:‡‹š‰ ¿E¿O$4Õ÷)4jÝM;K«—5ócÑ fOâ?èg…÷Fz(ëï…yî(±î§ÓêëÛM¢Ç9Q]ªDpÆrI+ÊëÉH~&ò4äBeõ¸ ï è§ï÷[DýQÿ˜"Ê ž ¸Ô‹"˜§³÷èPt\r»dîeJÇžž¶“6žôq’ÌýÖëûu&¹¸' ³heF]2-ò)Aœ7Ì–ûýçˆL-þÖøtdÿ³^T…Å.ú ¡ã³ç÷št‡è¡>0šÅí¢»P£<—$ö(®ûÕÜœ¨ÁýLu†Oºh» ’ükÝ[/þ9ÜŸNöo[.F&]ð‰³ùn‘k>©0n;¹Ñ±Éµ{?uûÙ\Ðï¥ +®?~+ŠWQüë Ûæ­¬zl7Á2´3ßl7‘h>qšº·ú²YÙ†•û~f-¶›Î˜¶›ðÏðÃ>‹…ó'uÍòF‡Û‘»ÐçúwÁüßJà¿‚(®XÙF&%îéäfU@§ÃC¸Ê×9ƒ´{,q´ÍvÍ&iW‘m>f¤ÝÓ#í¤K¦¤Ð¤Ý0)!µ¹;ToÎ×áÕy¹B*;9ºÃí«ûãè÷*tõ£Ï4ºF¹&(•º«Ï5pÐâN˜Z®ê Y ö÷A@…!>'Ìæêê ¾ 8§qœãœ<:-6›7iM‘"J+SzÆåßh£N„bxS+iDZT(«"%z|" Åí.w’ÄÉ©.©»FØv‹ö/’–B …  vh/ˆðW-]þ‰+Ú\.–U`|¥8ouV(éäpçÄ~’ðU–æ#¶Lïƒh¾à”ÿœTÑ ï!ÚîÈ¢Qó}¦µd,6ËSœðcÆ’»Žjj+E½„Ö¸èڔК$O'*/ ÿ§ˆ¡þëb%PòvF¸Me„ôvñLªt™ÒØh”12Í.ºÎ£üvÅ«Pú"Å6“·,•àü´úë®:Ÿ$œ— Gˆ%•/ƒ®# ‡9ç=ÓgJK°v(hÿVìíêØA³žo E©0»Îqu-E¡®šÇ»‚Ǫ•Õ%ÿÿ-0#{vøhå‡ì™?b¯Ìyó®ñnÂ&õë¹™a4fHlK‡ãÚŒ)óE”¨9;¢×Dö•†>åìÊéF>ÛÙ+\9Æ`hè³C7Ô+&\¥2¯Îþ¨Éþ0Ì|ãðíã»YÓy+ŒdŸ{?**¥ô´d‡_Âá—´î.Æá-$œÌ>s*vw0å×H?øQ~­ïºkƒ±DÊF€òRêO€øEôQmw¼ð\Qçq¼?ƒ$ôsBGAS1r{í–yn?òSªóSŠƒ$„Æ”ùž©@áõB‚2d8€üæF½"Rõ¿ì‡åVÜý1›³ ²ÖK>l ÙÊ>Q”PgßÖ‰Ð"*w’ò;݃¢8ÁÑTëq¸oU§Èޱ6L´ú^Ì LŒc³Ng•Ïê¹Ôô°”ü%|Gwœ\Ý8Q>&Èp1 –ö¬­=_u¯%Y;e&Ô‰o3ÓJÄÑ9+n ,k bÓ§¦Õ ñt*áÔÑÓ°¬›tLµfè\$—»øë.uù‹f¨Ö Ï/ša[°Vk†ƒf¨Ï¿¡ †Ð«Šé¨ë?W3¨&*šaF3”C3ì\SF|ÕH3$›+p_TÌžÊ'ÝÁAX¶ú®öWm1ˆéKÒ±½mþÛÚ¢þÐ=ÚbÿЃnjìîáqÅe´Å´±úO%éµWºÂÑrϧÿ߯j4kG;ƒÂ×çê>9¹»µ¶—§æYjÂ;ä#.ޤTÕÊõ·føÖ íWÍ0¢ÖÍàv~äxÒšïáœòu¡?F@˜®Pv$’Ûa'µDï„@ÈŠ·•bÊ!¯–’·|^ïe'B.g_E[]šø1éè±2‚Oy§à˜‘î×” !ê® ßÙqÎ<(ñÀˆžã(Ÿ—Ò\¡vº ÌKÛD^v;ÏTŽ~ô J9Pža³¸¦l¬r{D§(¯Û6L' ÷¥]UÖp¡|Ðu¼Ù}#ÛâX¼k—ŠË¾,lÜ_Ó‡¹?ÇÇW¿Êî^ˆ8R‹3ŸLqðýœ«tâf>;<™5—Ô»›¸§bª {ã z‹ÕBäqŸÎööþå®O×@„–¯ MÃÁ…´¿:OxÞïu;ÖŒz§ú¾K ÿî9ãâ^ÿã÷œù•1š\¥¯«URËõ·(ú-ŠþÛ‰¢u ™@;¡H ¶FƒHI4Ô±˜ÚöxøY‡¶¹YH I`¾7÷ƒ.Œò©DÝ)u±FÚŠÚØFêÓUÚºžC^ÕvÑB}¶2Ñ¢“ûþÿÄ¢±¦™y.Û6`ßܸ{†£ÝÌѦ‚ÇN.êä© ÙÍp´k8ÚïÕ–¹‰9ÚÏP!$¬Ã¯R9p´s´wÊr>9q¹ßoQý[Tÿ·ÕòÓèz,šw`3,Ú‹JèÝ™¡ü,Or%Ю9"ÐŽ(ìöKúñœõ$(°Õy™`L ]ëM ¾;Ð."QžWÏ÷[DÿS‹è¶Ótk&²þÒ­¸ˆ=õ~iºìl¥¨ÓJQ§•¢N+EVŠ:íu:#M·Fšn¥ W‰¬§ R›ÉÆOQ§£Ò ZJåa+"W\ã³9â“’¤‚&ªOÑñC>xuãûŽ bƒ6Þ'@ÂØém¿¦sÅ¥´È:êAê„r_ºsW7©¸Ä4ÂI’_fYö¹j‚â àâs9«›¿SŽ `í¡ÒpJúÿ~JPWW© jql~+F%ðeeü(Ý«O9hšM ¦[~BêDí¤À8DíwþNŲ†Á:ˆT¯h;× |Esž¾ÿ“• Õ“ÖA “ÁaùöÊ× õ3¿ÔÏ:¨ŸÔKV±BYw•ÚQRbCZ}vÊÂiåŽ%$)EÇÁijÞñ¬YBau?Îô¹°QóŸbžå_,ŠýÁã”Ñ üpè½Ô#“ƒF=œH%Wª È|™²I¯§.ããæ4¦?0“ðs™ì”fj¾Òg‰‹j&9©èÔk­_ïò«ˆmhêxé€Uû»nÝYñiEÊí[4‡ëÀ‚ üpöy˜TD@˟ͱäÍöN‹•bJ"‡“NI•g@[¿v qÌTáiù ycY“ó~¾ÞãW¬Sÿ¹J®Ô2›¯|÷IT—µÛ¶êKó-¡Y®%œ&½waïIf@¬¦©¼€,—…èÕ]†¶ŒO&¥Ø8;üÿ†4$¶ †I+œ+&ô ‰nÓèöÝØ•¶ÒPT[@¬ÉU  LRªÑi*½ÉT¯ü”¯A=:S½Ù+/NQl|’©\A»Rœˆáú¦y×@*N2EàóàZKñqî’OMÜèHƒÊ5—Ô).JÇr›$Hph®© AÏêCQ³82ÒÕôTŸxë¡N›˜ÚG}Åô«àä™s¢¾3Qß±S¬ Qßž¨ïHÔW!J9êK^Š;Qßí¨o/ŽúöêÐEo¹ïo…þ[¡ÿVèÿÚ ½§P‘‹·=)ÞVB 8!Ìo«)ÞÖB 8!œÒû½Ì¯"n&ìÒ2džo{bP´Zˆ+Ä€b@ò6¿ ‰C‚dxŒ#†ÃcN$ì® }K°J ?SÆt‚åÂIPu%’ÿƒ‹ê{ÉcÝæh1P&Ýq´ÑtŽ¡p÷$ÿ›ÃÀ9çëù~¿ ˆßÄ¿²¡À ´—^ƒI¸“‰ m%Mž'´•'´•ÚJs¼oº „´•·ÆßæÞÝLÓVÒ¢¤ DIˆš&¤Ž¯çSšø'/é°¨CŬq¥Ù”NyB¨(+U†9µŸD•+1Tˆ$éÚ!¹äR‰Ã¡¿s çSB¹*†©ß+øtÂŽ9–}tKÙž3µ/¡ãqP.ùÇð‰™Ïv£„B—…¶#ݤˆ¦Þï/‘‘ßöÓoûéŸÕ~úm‹ü¶E~Û"ÿʶˆPOªÖ ª è ,T½³Ä–к&ôIélŒè@ezMô'L¶ÐwÓ,«ñýŒØÅÇÆÁ†‚%N˜¥‘•8KTÀ¯:f@[¡'Ä™tÎ.®.à¢Y!¦˜M±¦9GÛõÖùç.k¾qÄ(ŒDµÑ\©åÏ»Ò4L›âÊ&*% „®Ðˆ]”‹ªÔž™!ät4'ºI+®lðX“RQá­lЋTÌ£¢ÇL…ù]àgq€fX 3¬¦8ÀüKq€õ£8@˜`;ôh_Åtád!SSüß(CAýWÚOû¹³Ë%Fe‚4sÅxÏ%\0H{z„:ÝMÑ–¶UQŠS`Ô¤ÅyµÊ“Ü–}¸ØÂðY×܇¾^hÖªËíµ5e›QêLðòV°Qý¡™êšúLWÏ¥P²_ê¯gëƒÎ„)’ (žâ”òÇ4®l÷óâç»zËlíH}“3’åS“z?,²gxCì š1¨d‡Ëɹ0À@B§¥/5§6™ø3¦-#Ò÷l¼Fæ»[î™cÄÏÒd^¤T¬®Ç¿ÓSQx}£!° ¤RÝÎü§$ÆaýV—:Q»zý<\ì@RRBF‰÷t{Õ‡Ó¥R¤A—òŒ$Ho/¬›â–°ér6½JZÿavng´ÊaPã„ûNÔ‹ mIfIRÌŒ†qS`×.Ûð‹©P µªÍlW|X¦øQÿ¹*À[A&fÇ'w©ú³/%ðN’¶Ñ±"%õÚ¾ÃòwÚÁÁjÅNX<ÏÇ[{¾bB!m_ }óP®Ž÷{èÌSJÝÇ@úXÊÆ©éî¥-ßbÆR˜·á‚üUœáߨÖùúŽÿ8Ñjgâ1ÂØ· ŽPöKß}|ý©©—Wæ3‘ú|¸WAÉ£ÎïãRs³Á )ô[2Ø6ð±'¾»Š”NÂ=É8=N,E1 J;EkS¬àäMŸjh¢¥P©Ÿµ`È9vï»ÎçñO¶1WØ'ôj¸£\Eð§CNGDJ*|Úë;(%‘Þñ“ùÚésZÐ]9wꛤà ¶ºþ+Ê=TñmpŠÿÂh¿ »Ùü›~º÷»åW .ò4(Èꢂ’[Wí‚Zlã[‹¤¡åÜ¡{”¤X¦›ñNª:UC[ò0ó‚\puñJ»Ûö®×n¶‹Üý KϤêB[}®h©Õ¬‚>Ðc›UëO?§ÞìÓÂÓb,i›¡,‡á¿w`‰‰À®­ö^+E äušEð¢ëÎñ×Ïñôéëï†ÍàÜ”øå$—äþKÎËâb“£Ø€V]'Ϭ´© 3Î;\¤¬t€RÙÜ…45wA–©RÛ…–#äÂäjXTLî@3n:ÿvãÏ´÷šÆ¥ÓäͶ•ks¬‡q©¯>ÓzJ‰*MÜo÷Ÿp2NîJ(ü±á.>Ͷöï£üy”«!øêÊ©QXßëï}úŸTÄËÔF)`(” ¦@8(–R°Rj; ]¥P±ß\˜‡ª}B·¥ +ù~?êä —%ì$ Ñ}œ³“é^¿R%ú²c)¦’ñÌô\)&1}¿ßç?Tº?S9ŽË¡ë¨Ež^£=‰`RI÷µÏ2N‹¤Ó üÝTüÏ¥9è—¾6§xÕodú÷ø gjFÿ÷.bÒºn„ úM4Ik¾ˆþÐ5‘ÄQuÚKkÏá>{ËmövºìɆ£ËžcY¤“¦Ëñ6ô5s—=…:>»Cí k“ŽMÑX7y$é—Éq“GÝ0õã&Ç=·cÛuqí{TæÊ¬ÿbáMP.s†`sNv‰Èhû p„êt%ÍÏBqªíP„˜¸c€®xëï¡<4ÃršÌ‘âN²“^ŠÅZ¡`Ìïçûq ¦˜ ÚîŸ$Ô:ê†Ãý ‡wéô.UÔCåTïÒ’^N(÷.]î )"\véÎ.]Ù¥3»td—ê¬P¸x—Rde·V¤¶éñ6=Þ¦z÷a„‰b¯wë¬D@Ù 4è8ÏF»^ s¿Rñß“ÑçüÑûÑ–‰nøêH:Í |l$¢"ú°Ç¥¤þŽˆN©sí÷"ºZDW‹èçýü—‰è]2iš:,óhÁ+C™“«QÄSyeô  í?ØAûï/z~µæŒôÑí¢œ¸úû‰Ë©ðÙ€Ó0h-¯Ÿ—¹œ:r›…SúÄbyøY\LäÈñßãæos7…uâño–¹ž<³ ™.ç|=ßoSä¿Ôù}þSç`”ÄRÆó}ú½\Ä1ƒ³4xL¸ê©‚\·v79‰å`ÅÙ>#L-(¬’[Åôl€sQþj ËìÁGH ü£žô×vD.þ¥„®.®s@7ŸTÄvËqŸšîÏ„ü½Qï#m=XæP³ƒÊüRxàÅÍëè,‡>ä…Bß3]ž¤*Ê”Ù^Å¥ØÅ3“ajÐE\¹EX=(cŽOŸ‰N¬D'–[Úô4ÞLÐz°^Ô9ù­þþ“êo÷W.´o¹0þ E»ÓíÄÍP‚)¥ÐI¹…ö´©ø"ëì¼ÅÝ{êoøåa†Ñ”Tîü7UÝ:²Ïv_¡lÙdYùø‰xìhóº{ÌÂÅZ»“x\½MBX.›KKQêm‹õ¹‘è¢Cq\îw®<–|(]z(­$Þf^î­[‡0ýQ]úÐ/ ø?¢ßhÏ7]RR¢U´ÒïȽîIS¤@›d'-l­ïn%ˆ>¥ˆª™KÓ|Ø:]'Ö=yNÒ·ÂÑ Gvð}¤u¥o $(óó>ŸÃìe¬ï«¶ÚJ@û8 M[ÁRR ±ëNØ\rˆkqqCɇÇs‡úƲ^,to€QM¡¬ûxz¦øE¼Î‡öwíÞ¶#ªÄù¯‚9j6H-ª£ÿJ%lɵAÃuŠ£…™N6’¢ðï-=àí‹ø”8þñ+<E嘿äT*wÅ)0s,_Õ¦mJ!},£þPÇ3¤è± “A0ØoC¾†ð§w@ãø»Y«+Cu;z«k¡¸ÒA„0.®¥“¨IéçD$Íl‹]‰…7 d“O¡½œX§ò)ÉŠ[4V>…9ŽW¡9tc#×.õâ} xéXÙ0kŽ >V=þ‡»ã°¶`e¤ÉšÐ4Œš< ÍíßË£À†E¸çZëw¯JQQ‹…ŸIm¯åÎGؼT¤[|"DȦ•Ý á*2B·¦ÉÔ²!CÎÆj)°aâö· ŠÙØßoSµebÐÙ_—Ã#iáõ¤t·¼ƒ¦qrÕAíñDúÛf*žðŒa ›Ê\@*˜ØîÓwòßb;¯˜¢o–µSÑuÕh)Üj??€öù‘$,˜ØÛ{»>ß25||»ŒðymY™ö¦T1¦˜]QìšS-n¸Vÿ[ž$5‡&ÌK‹¼+·b¦ó2&>É#4ÛnZ&¥N½;sÏzš*kÖÉ>¸ÏV:f¬%ÍCÝ>0Ê©KÅÚBÂ4Ö¿dq`F:0OwmÇÆyÙá–/N‹$ÅEÏû°>/[`ÖS£^ä}8ad‡‡dV’Éóøæ)©¡ùˆpxd 0ì¿éÅ1ìkíõ}%Õiš¿ÿ„ÏZ\'ošR`ëVÖ¼YúÔÕ{L™(i×$ìÚÉ>ÆGŽCð†º™Þæ•ð‡ÌO«82pðÁdü¨U¯›o‘#ÓBFísb¦µÐˆFhDöH1׎½{èÈ9ÍRjD¥µ™†6~ kbwÃ_)0å‹{zÅZx$Ó%ü–ÏÌy>œ{ñið™ô5W©œ†´ž£hÿ _¢$5¥LÖ”&y†žb +Þ‘Lœ„eäQ.«‰á*ÈÚï©°¯†Ùý¤Y5ÒðMäÅ QÇtì‹,~Â-lŽEN‹Ä‹yùµ¿\ m=A¿®§']¬üRfü€ã´_(€‚@ݾû[íÀcŽdÛ¡›‘„@î‡I<\¡ËY؈g_4ƒw¹dy7|Òùáö^:œÃÉi°®ŠÉf~´sŠT+Ûmûì G«èæ ›eX¨é—;œ°RÒ¡AÊÎçäÚͶ<ÎŒ#iriC›QŒ²ºú Sd†´õ´H”íE’ygЋ®ÉÞ±üw>x20 ‚ɯě€D˜JªÙdžžâ˜å0T2+µ¼‘õÛÊOs²œê‚0™æ½9Ѩy?àÁ”sÝì½·¹ã)åu–Ý0‚î(ÍMÄÍÕ‚Œ«¨¡,¥Ð+Ý'){Þ¢ƒíCî«'kþð~ vH5[•'¤gm«÷À´¤€iÜù×µ¶£¬ü_°ÿérxœœÇ¾BêÙ–¢Ô»ÎQqÂ>eObf#‘™OK·Z~иî´úñ6ŠÓ7[êVÛPº 5ÌïÌkBHÈaT@_úF|‚kÿÛhâ ÛÙÙ$ VØÎëï²ö6€ýÝ]²…íœë‹¯Âvþû $Ä }iÇ1OGÉö_•Ñ÷üHyÙ“l A‘…ÕUµ`Êî郎‰º.'ZRÚ^¾[q s¥¥¥¹=®”qÐuŸ”»Õß/—½ÅÜq(§I$³õ౤¿ªÑ\2£±ŠP»M¨5“–„ÒMج:1Óײ\¯e¹cY E[NÃDzܱ,W,ËËrزÄå 7»bÕ~0 `6ÒgêãŠ½ÑØj SV;.Y·8±þÀ{ÌKJü₵˜.G>JLÑ¿š˜¿%ÛmÉ_^Höð®Âí`÷þÛaT_jÛµ—ÛQ15µ›ºýú¶ÙK(Ú4CðýÓ9ŸÓÍ$¶õI~¼<òƒ¿É2“€<6P_Þ?œ­róîù;îûoùø-ŸÆÿ–vVm*¡[¯Ô”${wín›  ¯{ªu%Uþ¡woÙÊàøÇYÒ¤ºµ<ßÕ\D¿¦üp~OÃÃlR@ÑAÍßiÚÀ"v‘l&,gªÅü>¯ÿõì‚q™Æò“(ÂWY59r¦ó›ëO“iJ¶f½²*~P—3\ÝDþ?SíÄEz7–ÐÓjª×“«CŸDwZG´îcÚ!˜8.þ@”G‘0â½ÝÆU†ÔH2Ÿü5 í,j¥Èàc?ð·Ìúo+³ºWàI‡“·mâ ÙÇùF‹†Ñþf¤©Dwt‡ÏS¡¥Jõøãä9úµ š8!yè;B…­É…!ÇùâÏ¿Ï÷[ÖüW•5TÞjYQ§©š¦lÒf>Ž`o0"‚}G¦R«#ù½P&š©qùÇ)˜n¼bà²#âçâûs…ÝlÇÏ÷oˆíû®1Ýu‘ û»gP³l(–  õå—V—£i溴0’è\M¿:Œih›<šw’<ÚºÄáuö Ÿ-Fm%Õ)FÜ’Çõ£H¯Ïÿbúx ¡ñü»…Æ1ŠDF;| §`@fkεþ•ÌÖ(åÃ>qƒâAÿ…‡µü‡uç°šÔæCêŸ)¿ËïKŽ8´Š˜QŽèp.‹ÉÄÛ¼ ´MRU²€8Óp'­&¾Ïqý{çê>_ÄÆóú79Çæ,ü§ÎñàìReb:¦CýÍiîœæýëiv‘/oÌìmN—jïòoÐúžÐú\]Ä¥N¨|ÞJÛçÚl§®ÐøfªÑˆÏVSYh»qI"¯ ª)%µ–T<˜Žl"W·—J[R,TçywŸZÔ—vdWy²áÂLÄÓ?¬†ýßâ}£¼Ed !£¨™‚Ô¦°cÏHå£ +¬íåh¤(63 T'€©7cyOÞZ6‘[¬wù[±64±Þ"ÃÈâ] E-Nw†§@'^zaÔïaëT#Œ¤I¦ÞË4ؤ÷uú÷ªXO<õøï»Ó¡ôfËV‘²œ峪ÉWŠÉî\gƉ¥¢ †ÕÄô†õù4g-õ“RVÉoÜÌéèÞqÝ9lüL3ü´(Û¤ƒšÚJÄ„ˆ§ÍŸÄ¡ŽÉšü^'ÎdÖu¦`,=.²€Ðêæ©´,‰K¼1”Š@–Zèa0ÒõÊÑuŒ 6¼·¥fB­¸\Ò„õ&‹rz¶Æv–=u ôd5. ÞeÙàùŽ.²´AïW9 b‚G Ý…â I¯¯mÑ­=úx{ΰ×M†eîFùayüoÇ [±ÀÞØDb2Ò±©±ÍkWTï`>–ãÿAry\ž`ú/‘ñO*áŽRž`»<ÁÝyY ³(öù_*ลn”>)´5SŒT¬ŒÇñ=J?N7#Ć.3êÑhpÐÑLv ÅfLJˆÇ¬çLJo¯ƒÓŒŠ‚ÌŽ@hPR@fO@4й/$™Ç8ÑÞnn&Èì6”¹…mÛÈl7šW %‹KšOœ‘ëLÎtÝFYQ‘d+|¿P¡FÙ\mNrwgcí3‚´‘‹SÞŽ.Â9þYæ·†ø¯¤!Þ¢¶Îh©†Úšý¥/ùÞ_¨†VÙ_=û«e•°ƒµÇÛëxw¥¢íöÞÚÞZ)g›j¶'û*ElKŠØš$ ï7ElË[ÄÖ¹Œu9KK¦RJØÎ¿³™~+žßŠçJñü–nÿ-ìßNô0[\Ÿ44è š–7"û¸´Dà‹‹ßââH\üZõØ”ký…ûÑš)lŒÎˆP `žÔ è°\ä†7¤ˆ.<BQ<ÎáÖçØŒ¬‡PŠnsºSâüMv€›¡Å/ PöNx?[¯öóË é¥ÂA38ÝšW¤¥´~Ëêð{ØäfmQò›/uB»^»y¦–\/¡†ïæe¤Îm³M]`;kß².fÑRx›Z!fš M¸p™”±¡ä041Ï4€1|S‹?¾´ø¸»ÚòβñÊϧl¸Çœ>ímýª‡õ¬½­'L­_Îk öq†G8’ÚÛŒ’íÆÞ&®QÌd),q|õ‰eo#kRÅŽyvÛû¶¬š> Tà¦?ÌÓÌ´–ÔvÿHÍhg£@¸gÕ>MoÓÞV¼/…2°[Äòþ²·{0‚V*¦[÷ôÒ„½¾…'ŽVóÔADë©ÖÔ€¥Ø0”о‹d¥â“ƒšùÓÈÞ0{˜Ù®_ê¼eŸ¦µ'1j;íq»ü9/ナÇPE›IÓâ >ÑéÙð· Àþ fúK®o’½ÊÊ ºfÕßTÞ<%Ðétºúseð¨ã-“súoÕØü™ëÛSjÓEÿª…–œÍ¤ü&ë,Äèfè9Ñ)W[¤ÁÂ6ã~ù<–œánÛí@e%§,±ánÌ™|/*IŸT‘ößÐ^l¹*TMÑ„ÈvR‘’#ÂiqР8ΧóGm{_üKôÁtºîqvhTé/úIáÀA~»ŠÕáÔ(æPþpzì‰áÿ‹VäHßeùcÄÙ’ú³º‡•ÌgÂâ®ñ:“ó§eOÆK' ju´׃2ÓÇé¾4Ë`FN@ˆþˆó›þN.ÛµÞÿ;èóúoèób=NQ{/\M#9²944|púbd@µ·@Žƒ NS¥´~j†úî§RBª+AñR{rZŸ¤Ùo}’É‘N§²&y–Öéš$¢H¹Àm`&yÊduê×´Û<øƒ9Â7‘jQ±R>%+j5òܸûé PH+δø¤+Är&ksvû_ç†Ö@ÁƒFv²ŠVˆälInRù!j¿ P®¨Úœþ!;>ÒÄ¢ºv0T#¬ù8Â|LGW•Xš•k!®ozIë!Ì™#f‚8¡b!´†qj£b þ¶¸ÜáJ%g:å´¯·üE¾éT-)vË¥ii/C(®»/Sl*ÃSkZ£èYÿì½ëräÊ‘tû»¦ÌWïÿb§c-G‘Ü[s¾ÑŒ4ºµ™ÔØÅf“U@fd„‡»ÇÐY'FÓ”ýòÙm“%zàè²ÐvˆíRqJE 3~D‡·›ómÞº©•â8Çát g=<&“$–Á ‹x?ÝÏ  aˆåi]‡ž3W[®;Ò‹%Ú¤CéÒoÒÍÅ„ÁQSÇBë`3zoN6Û]±\…­ƒ‡&áLÅÓ}9ÛãvHËÁ¯˜„ú¬Ù4¤/¼<,l²Ã8M¿a)o%NÅ_¶BbV>ØÏTß…öe˜±šç)[Ãî—æ\l*ž!Ë7ï¦Ã LÛYŽ-†æ¿nuA¸ÆÐÕ«Ù<èÈV½Æ_oŒvò;0œEa-„Ê9tÊ%º­îöŒšëPÒÝRR =Ïû)7¿5.ü\»ëhH0úþƒ¢À’¥>± ³á^~Œ¥Ze²ååìZ'ŒÄ.cäz]¾‹¬¡!2¦Á¦:ø;–Ñ2ש»5@E5ådbü%ZÇ9朘*Årwy´3{gÄöï¨ôo•¦VŽ¡sŠÜŠi  nÑ@ Þúík˜xjOI¼O D¦ ­™kh1Û"’yIwK¢¨¯¤ Ìb ÂëÖQÎ×òçþŽ’ÿ9Q²G/.||©®XÑ.–è˜U¸^yÁ­žëé׋ÞQßwŠ^H×p6 ’õ>†Ú¢áó~·ß‡½ã:mýþ¼ò6,íO|£ˆ˜çà=Í* Â?¥šÔ”‹z/ó”jRÓ/êw¼_ïe.©&ðxun ™îÆå÷—ÇÊïˆüo‘£"} DÞÖûo·ÃCùË„¦ÁUtšÆÔõWÆ’"=\Ð4š*æ©q2ì¸mô´Ð5þȉÞcp£ŽÆ{« êU¸c}ïÊ  G¥ cÊ8ñXUaá4ÎúÙ^ï©”ôÅš’q(ïDpÙÒ<êF‹äG‹Œéáíê;¨ˆ ìÌ­'q$ܯìžbô 3i‡üTN‚[ Ÿ ¦ÌL=>úWÈÜ·@ý M€ê”ë Ø…C?Œ:¯˜‘DÔ@ÁI4§á¹3n6M7‡,Çî!9~ž{DÈrë¼H–‡q›æ[ƒÌsòóy +mÇi\Æ¢hØ¡ä±9QnëWü »é§Ê€Rµf ­; ß&º%†æ«ÍÌ”Á3áæ¾GLoôÆ‘€ûÖo«œ‰îû¥V´@¶  ¶.GÕÔÀ FÏ`Y,+©¢ˆO¡ËüÑÕJÿ8q¸~gÎWe-éüµ¦sf\šZpÁ«_ïÜÆRÕV?õߊœt2Åy;Y¤zÞ·VTü=ã RÎ[ÕçBôy*-ië@½°«ü=ö‘Wv> ñ(퇊°RÒ¥‹¡KØD.ܹEQ6‡µ3Ww‡Ö”FTlçý®Ëè²n—ñºMµvQŒkiáVý½Ì¸)åp9î–i=Èe=wù‹„ƒ^U¥—ö‰œ„œ'˜ÃÝÀø•ÂuZU6è‹ma¬¾ t¶hN“ÕÕš0ó†qRÖ[(ô-ÈwÃà#G™Úùˆ!$‹sØã ¹tSÇ[^¡Ë7ÇàÞ™=È7˜ÃÑ38˜,Ôœ›# û‡¡ÝÇ™#ë¶gê”/aÞÁxîCÛâÁŒmƒ)³Üê÷TNWù Ž'‘޵äû‘ ÜŸÏñã³Ý¥0ñËg#m×zßt͈M¹á”*€Ó‰Ã’uˬËå}¼}ëºÌÅàr%Á^±@¢Ï!1‘hï_ÒÄhe°‡­D¹ÞXµ$WXöÛ‰Éúþ©rЯÉõo2. 'Â^8}5Õ͘‡>hhWO],h®¨¤W[¡>f”‡ËfØDpU:˜i!ãsGi‘™2uó"¼ ‘£.B?¦‹dda-Z4ùº[ µ>©<¤$Á ,ùà£+*Èhâa›ªÛ½X¢w½ú— í¼÷²O­|ݦäfùÒ¡³Kš~Î5½“1Yâ~Ø5z’òaîÇ×oMkGHÝu{£,ZD=6à=ÌH³¹nKu?!æßöMêIoAÔQ{Å1Ïšöc»"7Ú‘-ýc4W”ـņµƒmé´ yù}(:º ñFƒ­ TY”¶¢ä‡¶z´%¡­ž?ù­¨Äp ½(4áÞLleQÚÜ>üC)ÌPw¢YÉÂëÐkêÆ"µ6«¥¦[QêÉ´¿£,ëòô6²ÁUË£}¯£ƒ\ ,©På ®Åí0°¸š’/²FWÈî‹EôºòÝ2¨R`¼T·ú'v¹ýUÁ¤¸-ú¸šPQô•ê£~gG¿r„ÓõF±×Rü)]C*¸bS~Ÿ)ï3eºÑp§]Nm©•®·µƒ{Ê®¥±Ç.Ç«à]5ª6û 9ìZºv-ÍUÊÀ·–&¶åЃM£v-“mUv–'Ž‚µ™Øö dÙB3vº¸ÊôSŸZHŽnŸ¿`õóû`ú?˜~G¿ßÑïÿ2£F{Þ+DÀ¦|+µ3#ãÓnég,Ý~ší@ó#庄ܱ£Ò°±u¨C¨&’ˆÀ? ²$û“Å]­(ø¬umvFf æŒ[5ÍL–!Q† ¼lF>3º,•¹+Ý Yv'N¡æú¹Ä¦Ë–!ÿa:ðÿ¯mpÙ­MÒtÂþÏ@K'@ ;— nÝZ 7ØéÞb8óø _ò|“_0LþíŸBèÏ*¬„CÀátÝrÿj¿S×OèƒdÍtœåàŽì 6 óLÄ<íMx£Áj›µ²‚úðÌI*3Ü2¦Zµ8ƒÃÜzв½×jjÎÿGLÝõ.xk!ÓÔ:9oXRŸideà m“ŠÖ—1ƒî[-ÑÂõ.—*ó8*ò<ÚÕ(0g><ÝKÁr.óg~ÈíX(ZÃŒNêi£8ò¨‡CÝoá{ø÷MÐ?¶CÀÙ+ŽÕÚ®'TV‘ð‚O‘„š*3¿ëPñ0³’@ÛÈ"MÒ j/+®^v9½O;.'Ûœï¯ð¸Ë$eŠÎ0œ\–ÓBBÙg¹é͵óu à+÷ÙÕþ{ â[BÝÏZ³wÖ7&–ó¡2‚%Kö÷“£Kp>p­)樾[[zaÝ~-Ëú+g ÂŽ”ÖN¶€X+Û(í ºÉ"Î ©·ÊÊÌ ÁÍ¡c9Þ»óž¦=¡ $§Ì^ž5/ÜôOtFÕ6Ò‡qËXŽ ¨j˜KG*ëèeY]ï¥4êŽÙãr+Özlëø¸x·ÞàЇ™ ÍÄž˜Ò=jÄ±Í„Ä¯Ãæ°ãŽ}zˆ2èjÛu…aŒÿí8ÂFþC£øŸÌø}6ü>þUφÒÛ1§ráz_å-†µ”S{˜[µe]xfìÏëß1üw ÿ߯pØ)|ˆ[«?_cDä„CÙÝD¼ôCGu³tŒý…Ž”Í»G Ý@¹[C;Æ”›¹Hq°5‘Ï%¤»>s³ïoÓWœp÷h_|ûÛ•ÄÇåŽÌÆB*žªé¯LcrÖ\l0ˆ{ŒÍcâCÏ”ƒ z)d=í‚Χ«,š²Eª|8$Jd\ª™S’ ¿Ë§’6r­¿÷z~ߌ뇀¶?/Tºåñh>2Ÿ¥`÷ûpþ—>œo:úµð§ï$½ÓÖiÎâÝxÐU$ØŽP«Á]Nÿ¬ £î»oG»€ug´d3ŸG‘òÝñÉ¿.÷96MͱæaÉñõÕ¾×»ýqªï·Øûè=.ÿݯo&<Ìn¸¨}ÈG+ygïÏåÞO`š ]+Î=ÙÓKú){¿gOׇÀã°s­?N„îõM±eÇsG: IåÂ`„ÿj™ýK0¿³“¿[vœ[5ÿL‰°eô;Ìþk‡Ùÿìh…Óƒgs¦>÷©¡­#nB‘¨Î•ëï(ó»úÔ@ÿ³–„–\å¼Å5û°ªC¿Þí±S'më ©èÖK 4b‚P·µVÖxÆpÓGü5SáÔ×®¸ ¶ÛÉívveG§YÙÑp²e…áeD¥i„~~Ë,ˆò†Œåù|#ç: Ÿ–4èêIƒjq°g†iPe|Ëú‘4¨ê·™BFuæ:-}UkJ ±m3VÔ¢’Û,ùZHbè £ÅéŸé¸C`Ùn+ѯ÷¡šÁöL¥÷êl”oÆ7jœÏ`½fPÁÉõÈÀŒåu8¤mà}d`·Z‡ýÓR=^KJýló_¹ Ù#ÜÞÃ~z=ÚâA1Mµûi&V0µ+BÖ”ÊÛ ô\ág8ýëÎ×/¯[–7lphʾ>½#4Âca1,¨«;q*cª8X‚^ŽQIt×Kÿ ØçË)äT¯]Ã=KKóRÁ)¥ç ¼í…"†Ü·Ú÷/f0šùåkî±în1ŒTFTc3'ûk»½¶»k»¹vöÖÎÖZñâœÙX#ûªg_µì«gÐt°…·™Ç3”ú~=ƒ±²Ÿ0ûÔ8+v!¿îÒõl¦ãÙLíÙLõO¯xožJÛj3Ýî¥Ó­´ÝIË´ÜGËmT• î5l¦ )ûª½ô+{Æt wS0æ4K`°Å2%éòê¹CŽÇ„©»‡Ö3)G‰³1]ü8åÊw°vÑR+¥ß6ŒÿÓmò/G~Q›!J$ñ)Âõì¢DO¢”DhŸpøï*™®çõ2™$Ä -äI5ToÉ4þ è³Þªg&ùÌ(W®Lòٙ䣄½î¥“|tMSîvË:Ég:¹g;Κ>ÙŠÔI>3“|îÔjW&ùèJêŸM¾ì$Ÿ+“|Ô¨ å3"ß‘ä\™à£OßWŠÙÒ|ÍðŠ˜às©ÃûìõJë1³.§ldðºþc#A„›P©‰ü2r–׿w¤øWÞåÅ!œ‰¨0µ1’›ÿêàðS€(pµ@tÎ?EˆuhUXKàsíÍÂÀÔ¢alj`8žïqú¸"æe¤B]¬æŠûßÐôb?NÚáABÉ£9fáõ žÞ¨«i›Öœ EGKÍz8~¦°ÎúXèÄøÈ'5#nÝ% ™^êúŒ\¼©GÞ3¶½ ×ü\º(ª“²Ž87¯¯IYß7ûCçF«ëÚ_²6Í+n§kI¥,Ý.bÁ B¥„ÊÄ8øœµb/¿>ãŒ:oÏ™UA³¦—r1WÕçeòv´}}i6Tç æCõ>=mëçàå]PbñEâ :/>¸[øÒ]tÞ¹ì ßg­¯lèSgÅN×fÈjê&÷ëã4}ñªmÏñ.=FðxÅT—©'LÔÅÁQ'iò·ëÊ|È-'·®SnuÏÞõ žÙ ÊPÝCÕŒû©‰éäð+¾*PãÍõëd‘Íoñ üb1iÑ­£¡~+ÛE¿ ØË©b×ÐJ2æ”×'¸oà".·4[I·[pZi{Å$—ÉqD\`± õÔ*óÑ-"ƒâ ´rJæ(.b¬&Þÿ£"+hÐ>Ï‹ÆK!]U >E¯Ú°øu+ï>ŠMO&µºîîå)JË–é` CE^ÕCøµöëNÒìµ:µ²ÙGäÛR‘Xïçø™øÊçættðg?ãÎS‡%¶Ç·‘‰Ê”+´CÐÎx´‘y]¸ ù…AŽù t÷Óðßwx}½ŽÁ yÀ+éÐÛl6_®kýx4ÐK;£Ì"­ÕBÅ´`¼4îJÇ[­ý¾Ó8ˆê·ßGò\¼ fòÞ“%V‰yïio‚ü·ü Øë¿OÆß'ãÿêd1¹1¹ìÊÕñúÌøùGþ¿WäG2ƒIÕàzdz"×ßîw„û_F¸.—Ÿór9‰yño :×¥agmrè#9uãïk{cà¹/sû6 önœDC <«ï‹Cß©'6tÚE•'ï»Òœfî^öNØÑÕÈ•ów®ý;âþÝsíòWñWÿÌPƒB¹¸!=¾¡Ñ áqæÖHnL!-³ÿЦ{%Ãï‘h¢7Îà“7}D+ÖT ÝUj·õÅG4?ï÷ðûøßµz{Ê´?^ÍshKê–*Ú´V9DsÀ¹Œý©yÂzEbW_ë£dgñŠÔÈfêRGP»T‡pÒösåýýtój¾ç’®õÉoT/‡'­Ú%ÅÕ:¤&Õë¢ç¬Kå*ÇSùúaôyùžë5RòaDÒ忯{É=È.à5‘¾·3#ßs¿óþ~W¿«¿ëqUX S=b×Ç(¡­Â"³iÀP ™¾‹zÝ¢ŸÇjº˜F;‘n{, ß¨ø|&bVs¢º-Å÷ò&ásÒ£ü>zSG|èŠ'—÷÷ã=Ÿ'| ÍuQi»¾—z¼Zá‡þ”¾e|'§î·Ìß™©F~³‹ç°òðß3—ìHõT˜5»K×-,Á£/­óþ~­¿ÖÿÝÑ ° WøŒ÷[:#eÔ=¥áw1pð|»ãù¶õ|íÛQyÓFÕó­ÿÏ·ëËëí#uß9°+€'ΪVV·FßÅ­]»T{=Ɔá÷T5n%¶aicìÝcôÝW®’Jjé`øÝT™ãÒú»‚û}$þ½Ä3¾ãGÔä-¾ã-¾ã=¾ã=*ò¾Ã@_*züÆ£|ÀÓýÆkæ4Þ{æªßx»ôç´úƒ±.§îó^ŠŒÐãv3â7>lÄ|(#¾ãC$„¯÷ùmÈÅ­*£Çwúá•Æ KÈk|Ç}ÇQýÓä÷Ôü¿|ª}o;£r"ÕcÖÞ)dáX€÷p« xs§ø¼SµÇÓÞ_oCêÝ=I߸ÊFΰäŒÿZºWp•_ÁÄß3.ÿ>ÍÿµOóþ\³Ëë­^¦Ø²'ðÌ»Ëöz5µÒùúV¿òæ4(ÿºxç].Zh¾[”%ðzëÀ|Eðº€CÛ©]pø–L‹Ì[ ‹øÛkܘøÕÌ.‘~5¬x ¦á¯îw&æ=ÀøÕ%éƒ7´ùÕµ¸ØÀõ±— ¸©›.Ž~7ãåS±K̰Šá.þom`Ì·×Z-+wy9³ —þÕ:>Ù”zy¯ñÄã߇üïCþ¯<ä7gTÅïëëZç[M,ïjlØi.I|ÌL¨^ŒŸ[8ˆø\×.¤TOµªÑ:?B£„¹~.u ^¼)tnf-ÿº§'ßå4ã:ã~­œÚÖ¿nýí¸JVèCÄEœšÜOfãJÞà²^zòõå÷­P>V•Ú…ehóâW×Û:y';7õg‹j§Etbi‚a6'±<©Â{bm¡ý¸ÒÁ¾< ‹\n.Ÿ^W¾Î@n#Ë3bü2(03¶«rÔÒX³E”e‡æó¨P/oÞè˸GÝÝÙTÍ(p;× qFßn‡×Ó$S¿²CA'îpô  ȆëíÛ©ט(Q1î4ÜÕrj„ ÂÆü&$½™Ïü>õ¶8^º6#¹?rR†*! •Ö[Ò@¤_:ÏSKÅŠ£°©'*^WliÎäByâø[äê-YÜÆ•ÔÈ[µÛ/\¡'û”&»åÊÌ/¦ÓlÇ"ÔaDï³Ä>²îƒš¾oÂtSŠ«{4ê¡ 3½<Þ¡1ûÊ´‰æªRJ‚ñáÔ‰¹Â°º¥¾‡> ÔT+®ÏJv6Óìþ8f¤!)- ùŠÖ~¿®*&m—jÛzLÝÞž%•fçÜïœÃµâc3&)8»ÓTê’Çó`\8+öÇÎE,‡Ü–C5·­”uM.»ÃôÆÊx)u¬Õ\9Cöì4C4e´3†mk¬¦Ú’Xö(Úçòë«€ Ìñš n>\ ¸ÐN=±…ìÿkl5RðúqE`ž4Ûc¼4]Å€µËù—ÿßå‚ê·y¸‡R©<æ ¸˜úö}*qq9U T·¤¶£+.WÁiøÇµÝíÔ̺íÕŒ¯£b>"ˆ?vlVÌ›n#"ÁàrûaötmÎ;j€¯ïÔKn£Î™ìµ±˜½¬’» •2ÎØ<(µVpJà¼?S*\ ^‹/ns¾âåѨ7ÁkwfC®Fmä;.¨õ‡’ÞúµÆ'_±±:yõ¦gL7N%¢=Š×wãT¥ÂûN²¦JÊm_c2wéèn‘¨WîÍäF¾¥~:¦ àFýëñâ­ü®Â×›rbòcÞ(úô‰C‘©°t)*j1$€á…y6JÜã‘ówu´7¥ôHÅÈð_7ô·òäzlœmZå}|gˆ¹ò-ýZ—ÖÛó°òwSV\[ëßÖê­Kr£=¹<–}Ý7-øÌ¿—®±P8•¡k©s¶V\&&òuÌ>&Bˆ®5á”fýAi½£€:OÇHVðëËaG…p›ºGÅÿ¨ˆlà°Î†šTtýÜ–~4¶¨•HÉŠíÌëJ1*ŽÐÿ6J®®¾ µ$cÎnÛO·ß?±{°HaLZjËzýù¥éö¤JüûçýýŒägzí™—\=ðš¹Z {¡` ‡9"¥è}a’Ýæ=Óƒ¯½Nt°‘NÔÒ®ßyûhPÄNÞ#K½’†Âuêõt$[@ãû+Ê ÄzÜÿú7‡kí²æY rxJ×>õ>'C›ìÅ+È]eˆ °W¥AHc}"v»X“ŠÞ|ØoÛ»ÞÀ>›feKƒ¯àÔéïHaÞSâÅ_»ÔGš@&¡ÂÁ¿¾¹bãÏ~ v„9]vkÇzˆÆewÆewFÕ23¬uÆewfXḛ̈Vî+I95ÚÃɰÖöÌó92·G—]\{ϸOœÁK.vk‡šŒ/ÈrŽ™óW‘öü¨Òcz—ÀU¯¤ôºÎ3¬°1E«${½Â#ƒ§VdÔíÛéUþ—_õÐ.Ҭʧø&wýõ}1Jj^¨Üª–Xú{ê ñ®ŒÏ/»ÅoOž.VÝ`Ô“žG¼f´›±‹ýŒ»lʘ9ò=m&_Âê†cwòï&x6W3húÈuqOÞýÌÕâØqŽÂïŠa…Ì kª7£N_×Ú½{ì*ãvhÀC ÛæŒ÷+i=ZûŸ.¸öZf’ÒÑGM딜ðq#Ù/rf\f“öÌ&í0Ý3›´g6iÏlҞ٤ÌTs¨æÐl»h8)VNŠ•“bz2@û'>¯›'EzDÝÓ¢>ÑŠß"Q÷ð¤`°f2(N†‘“bæõÊI±rRìœÏûû½õÿ3¶þ-ºÐ¢æn–ô—nËnlÛT/§CAÝ…öiíÈÆCõºäçÌ×=$Ê`’#ë®Þ:&];äiæÁï¯ï¿eã=ïï?(DxzÛYÅ"£÷$ƒ™1öïtgkïë÷–ýÙ²ÿS¯¯Ãœ÷ß*è­Ïjálê¢éH`úç.‹7§WÃÍçÆÖo}•ÝZ™ñXi±Ro.Usu¶|ÕiX,›P¿M–Òè°Ë˜½C|å°´·0|¾“.ƒ}ŽèP«â¡7ÛD[Ç¡ïBÀ¡!¿e;èìÙ¾¡²Â» ²-¨Z†(ê­nUaçbCS¦Õ3"N‡/â–F1Ð'6¤Dª!wc“˜,é äâtõq…Â1ì~C†lšâlÑœ}"-ž& ÷¾ê9¤M‘¥BÜ[8zt+®àl›} CyÉ ‚S÷§ú„óAlæçsý8»¦¥‘ãéO5ÈËŽ€n!#g˜ƒ¼7°7ý¬½YÔ2^×{®Ês`'ÝË Ê³ÀÝ"Õë´--c…µ0´âè¶hLêzˆr^¶¤y¾¶ é´×<£•·Ì'¹ý`Hï va< "ÔßPªÂǦUÑÙ¾]¿qè2à Š<à¡Ûì|-#¬èn¤kÌD'æ%«òÆÇfgÇfüWËd¥:Fª…õÒÅb tºÓ¶z±»ƒFƒ~3@ðæ(/Ä‘¡Sö°ÚÓ¼®]o«ƴ݆sjÁ§¼H€@nÞn>]4@‡7`Àm-RI®°àå›r°lÛOÿ®*ìù™õµL’cøÌf¯áZˆFýåÝÓW‹ÉiÕQ¼7zð3aé¬tË×±';5'„wÚ‹|­`æöv„9L3[>ÚõbCqªÝ‘ Õà61­:X§ ß7¥8Ñë©6é¸ó3WÚR ~Ϥµ¥#oO^Ãg»ÌB€t»--Ò›[E=€þu}9’V‹sŽC6j%wû…ÝI‘„úå?Ðù­£BíSjVE UÆz×”&pé@½9ß þÐÂó”gíÃYév­OJäBÉé6^gôÿD0’Õ®AÖáè´Ó®&¾MØì mEé=n¹·Ì¼«uQëĪ»>VÖÑNðcÍÚ·åz ã±]븥µ¨R­'Fä+SïØNó-æ ÍÀ \Aó¶eÈï©`ºu#._í &'g?Õ>»Zö™°>;» V˜(ÄGQš\5\—›*Mø‚]LX$ûÞk Ï´2"ÌÚ­Ãu)P³…“¸€^ë³ÊA ‡0¸?sj5§O.â-.^ÓÍyÜ&ãRÑY.ì9°—÷²Â8çϨħ>Ã6Ë´¤ý§*û¢½°uuö¡q‚Ö·.³[ÑeÌûõ}Óê—yý%^$7õ¸<àA6iÛÞ`épºxNÕÞÚ=©æ•|(íð㎣TϽñë•ZÔi×W³¨xfÅ×о˜kÌqüu¹l8]Õ1ªç†/å 5!ˆúÁ6ý3]c›Þw’á¤À¿þ„äó¦[¶}Y£1è¥éÿXßþÎ̉b•UýÆÓ·š_•CtÆÞéS]ÚPög&¬ó–‹Ftu=ü©Òðo…÷É+y{Ëd©Î\¾L½Ú²çÈ«øV²øœƃ3Pû‘j,g ¼×rú™ók]òÞ!¦MÏ*ÃCJe÷3YþTÒÆÏ9ã~Ns˜@Ö^§c“¿?ìˆÒþ'¡’?ñ?3aIHØŸõzög-Ç®M[ý^DžË³dBW©bok ·UûLHŸr”+.d½âvÛàŒ­"³.ŠÍ‹õL,ªïöГ’Hb㬼{ÎPK9\“÷¤vÛÂ9TÝЙ\_ɜơîõÉÞÆ2‰›dvu¶SõSsÃÐÁª{p\±ø3'aËUÙõ_O'E¨J°«_ur‚ýÚ,¿"Ñ-Ù´––ÑÝ~LÚ ,$:·LÙF éʲίlxŽp]vìu*)ê#üChžºI—ö¶^6¢†’ªž\§Yxø¾rƒCµžxNe ÷;æ1«+Z¬õxî¯\oÉ0§äªN‹p9™Ó f† “,_w±:-T%Å!Á˜á0÷•äUi²§ÑÈnœI‰§*˜Ã0è5Stpž²ò¦ÐÍ!ó¾§Gc8¢—²­&9Ô#=ó€g$d‹ÇAýR +}cÜñòxÂ;^Ò-u0íöÉd„Jvq >Ÿ*eU}ׯX}%;ñ´î"9-K¡î`eP¿¶Øi´ ¨i·^ÓNLEVx KXÁÞÏðƒó‰>ÿÀ÷Ð)¼Â÷fÁuðýZY—@Ãeã’Žc}[iËÏÐ1š{:ÎI=´]ìϯkºµäï|_òIêŽÐ š 5K‰áAÀŽE•£6G¶[t¬‡Ÿ²ºüÍÿTA+®*ÝÞ~°óx 2áøk+Êä‘®g¥!¤à†¶‰là.@z× »- Å¦Ì p‚Âå¡@‘ ×gXðÝÐSÌ’Ä@Ã{&o£`½ýÊJj?L«,¡šÓ8x ‡=5mKM{Q®òqç*;†Ðßåý·x|A©Š"¤>¨§^`œã[x”ýƒ)%srù“¿¥~ÕG-#íK².ÎÐF™¿þ½üàTíƒòÔ!º6R1‹µàŸ±zêé@åÆte\0+¢NE¢‹Sær¾^tî«ä€Ðä‡iÐÑKæ%OˆOÞb‰Êyb^8¶”Œš5\~ŽH˜4gÜåd’®â•³,P QÍœRÿ<—¤5(‰8Èßq=kò{wþž\và„y®yd«³¹éxK®³Ü{¸­Q÷N¯]zõÖwjqåìÕÃú‘\ª>ו£ŠáÔð<ÆCÌ)H¹NCï)/½ý ½ÝÊ“ÊñÒí´¨¥òžGÄ´’×)`è® ®TöAxÇ*fpùõ“ ¶—þ-pÖEOá>,ûNói‚ø"©¯XÒ Ñ#8´Døã¤?ìkz¢”b3Íú #ø×|Ð}_„¿ÖÒ0]uÒ²yÂxó.Uªþp¬¤«wÈÞ¼-ÂùwW W¿•dìH26 Üåªm26IŒkjF•]4RD§G¾S[ú0‡÷ûº%Sï“Ï´`?†lQƒ`ÈLÖ˜`N†3&º.µÛ0D¹h¹/dö+•ëR§Þca¸’+œaÙ’|P¾µ¾™ž!Cîó)¿C’‹ã¢©(öFu‘Š•ž¼Öae§[…X´•MC©4kT²Oìb•Mò¨æ÷ QR5먟yª˜§]-5…dœ?{ÆRßdQPùrzó¨›FªíûŒ2­û3º÷m‰úRÿ=UÊØÝ>ŽÚýe¾¸Bšn"›—kp›KUh†mE‚ü+ã‘ñùë>ÜR¼†˜ÎVSÒG™È:ÜÀfM®ÝÐFõlÉÝMükÍÐþênPwmñ¶r"/ü„»ƒ.ùK8s—¨×v®6!æÊÐhò¹žÆYžB]o-±q€-.Zá Œœñ?«† ÑäÔs–T‚B“`íºlþªø›êÏþñ¢=.öâMD:ÿÉ/Ø£¬6f6aÝgÕBÈK  ¯ Í´¡s mÁ³‡ë)Ë–ÈVÀEð™.'QŒ\²TŸö£Íy™=áz)4Á\ŽdP1#@fmµ =äñ÷Ýl©2)ÁS1í*`ù¹Ãìi »"#€ŽFSá)üw>íÆ*¹f}ÕÃ7O§â41í±—»šä-ˆÀÈ%>×-tiÑÓ¾­÷w« Ú&ñSëSZ¦•¾áàÝ‘µjüº'Þzt cTÝIWñ>½‚A¡VG󙬚ZëRDy¤ñÓ,#¼.nrÏl«úA ÒÝ^¶WqF®BµøXt}X«ÒË: ÑH³žþ2¨©…UÝ|`²©oARrÓ<= ‘“h]¤uÈ´eãÎuÒ¶AvQj9î!ùiA¾¢²aŽ“íÄi¸yŒÏGEvµUér1"Ü âÇAÚ¯ÏçúѪzP‘­Y>ý9“ð¹wT§‘ ÝQ†§^Eܱ"úð`¦Nf¹°øúeÜ·®¶žžÀ£Ù…p6žQ‘xMº!*Êû¡#ØTxõ(ÂØx޽£³ úW\ræÑ®gœÌpÞ (^ÃïùÐÍù±Ùô\;RÜw=RyR`d &#Ÿœs÷m˜ÐãëËœkÐÝ U¨¬vˆNÝÛ7û™}Ûí[.Ì“ÃâR1Jgñí’¦ §ö¾lÐ\ßzcf+Ä¿+ùÌ[Œ›ç·Îã^½î¯9«¥›kèuNÁiŠ{hsë¿Áô Ù›X¾›-Q‡òéúˆ¼A'Ïh¿Ê§Z$ Ô.+|Çþþ>¿ÏÖ~H( ˜{xƒb‡¢áÀ`u # éÔà2\Ló…7ºÛŸ~e‚2Rç_oÛͶ3µuGKiÝg¬eoI®¹. ™ÒZ*¡x¥£’{‘Co#ëïMwÖQ]¡\¯K8²²¾ÊSNRf|”Xù{;K³C+K?4\0™¾-ôêT‚Ò +ÿ²s6þ·³46Qà*ÒR©üMn”#@]Y/¡^O ©bõ=N×3vý«Mt›™Jw£Ñ±Ôvå12³žÆÉÒŒ"§4;Í>šG•øô>J¨S¡û‰˜54ë™áõîQ輑朴8¡ø&MÎofåLV}‘ć2¡f„®Øt˜]œ,ˆµþ1s…þ=‡%ýi§-U–`-¸â 9£_âˆM[•Nûe˪ƒž¡\ßâŠg £+fשípCh±~Ç¡\nÚʢݴ´[bpÒó×ØÌ¡ºðŠà© qÅ‹ÎÑe®föâaóÿé6ÿí†ò¯é†ò÷ð6›ôE,š+"ÜÆæ†¬„ùÕêq¨Z§gŠLJ[ï¤EÝ®8µêþU?ï<|}Eþ_r¬S«ÑUÒ«ò2+"þ¡?¯ã¿_ÓffEõ‚’«i_†©4ú¬-<ÎHü帘hvèoÆ”™Ïû­ŸMжýy…ç§cöÛFä_ÒFäÿíöïM“愉3…ÓŒ¥®æáé(NJÈ+¬ÓŽÕ¡¯ÅˆáˆŒ×•ùnyÈJq‰ÞÇxM½3ý^k-6ÉdÚ*œW>™Ñ+`<ûdBÉû„¤{ÅâÐ|.ê¹+Wž\o¦"Sœ¶¿7T*ÀßÙÒu·uZÛ¯ë¶ë²möS O/ƒC„Ò,ÃC¡‘„#©.œÈåk€µ›÷ F-ݬàðõå_Ÿ.:`:•F”H½Hm‹Ø•72IºÌíèØ_©dѱ)kúaúHvZéjðfžXpÒðª:ÊnOÆÐö)IˆÔ3Ó};VYוº«òÍ[·[^#$‘BĿؒ‘ß+Õ_Ý™•×ŒÇ Æ{zá‘ç"î~ +<ÎÆáG»ŸqÐ[ñú3šÔäÄ0‚%0šåÄ[­¿>Á›Ká^ærðlmºãxºÃÆûò°w¯Rl“œÁ ðºu—†…êN×¹Žâ:ùªiBãDb-}dOm,¶èÐ}E1}˜2·lœŽ{¨êC#²•…ÕzZI1»Î›ˆ…§ôh°ž:Á”\pšM-éw•šâ‚óê7ÁíR}Þ`[<ðAD:•Œ¶¤<šw`ÕéYFnP[ÿôN{)D5cCž$¡!”YXV„_zÛ=íµ)^·Ã‰XvôIÆ~ÝSä*6i)ž@u.ݶOcgOu¸oÐÎe¿äîø§i£Ë·­ þ V±ï ”÷x~c6m>Í€v×rUÐŒÌi=ø«s¯]veNuþLÖÆ-Uu”0½‚vÀz•Cü‘övkø‚»â¦ÍC–%ï lÐÑŠ3¤ò–&=nÕ¯#¬¾aÀ¼¥@2Aô{+Ï(Œ ®"ÂnX\µDÛ’HÓ<ð¾Áˆ„)BSü$Ö£°9͵Ä+Ó `Ò;cûøÿû›ïò™åwA ºè5)Ž=:tœý¾üAU™\¦ûðáZ:žò#L•î ®Üû~NkZîìí(ëÃ}~éò<¬Ï ®ø@4by×ù²j¹å ÀX>Õÿ8Àêë)Oey˜Dñõ¿)#¶#Ûjb¨üžvæw~¿m·Xñ©î„Ú)ÔÆGÚèÚÑñ gTT!y a‰z´/¹]w¥‚XÞGt0ÒÑlÌYP5iØÝbOŠ%ËíqÁL 6ÔŠ’*\×9³o˜iÑíkói.±Ãîf(¤üi^²Íq íÛ&°¿"HÀŒÛÎþ­IZ;÷ùQ×U2>éßÝR&9)+jV² {ë†3[·Èƒõ <3Ú;r3€Ë÷xæ¹ûSælC­8#/]hÍÀ™ðŽQ³ö®ó²Ò,T'nï¥{c„¼Í÷ïHì˺ëkw~ãù¼+N_„д;:$Á~%º–•.Ô.Nø0ÎS¦r´ùgDhÆ{¨¶Šñ2`ÓËúŠ•>²{õ•u‘ózC±Ê¥±ümWïôç{º=Þ?xS0#Ì­ˆÚ'~}» ,úÑú<á ôÕ1BÝÊØ-˜BHÅ}môK›8îDýtND‹¡9 'ù6¹•ê¹Bñôdîqc‚>BŸG˜Ï~¸ŸVóç‡J4Å—í)_=$„óÃEA 1­šiXu/u3·Tô–!÷v •”IUMŠ”jôPâ„%C&Ò=ŒË¢”â鯆9ù8í²{at¥$çýȳ—)üÃnÜô p^»´Ò î7Mu>x“5$%`%ÅJ Ï€¬“$fÍ3ú–ýw˜ÒúÅøKØ{Û-¼£¯jþýÉz=μ)¤_WÑ*=Ì€MÓ’Ê<¢GrjÈe"AB±Ò·D§†ÜaÈ‚ÿßL@œ¢Ç$‹!ƒAÆú•©!’[eíÏûû95äò=Ÿvë…lÕ«¡Ù(ÍÇŠy¹«˜‚IšSCn»ý3¿kÒ&C-‚ÝÀ zKëȺË:¡û¿¤Ü85äúÓ{†;ºs¤±»  ®ƒAb«ƒ«®Aô—i£“ª‚@~0B‰Fÿ÷Îuùuf5È(àû {ÝÑj¡O1ë¥j»~¦ä;~±=vb=~b^²\q4/·.iO“{…æ†+PÜëñ!a«*h| ) OI”ÉŠ±#}#OçD8¸Èƒ ÊhfdW¾…Ž¢Ûˆo¶ãa«Ø{Zàª;ó%!I 4TâŠhCÖD J+—Fãrñvʺ¶Îë Ò"a…·¬5G©÷´”‰v;Ç=ø_èwØTá9F™ž£š *ÂöЧ÷i‹Îï%÷WbüއOJõc"Я#…ù–]üº¾bì%_mrØÜðæ*Ø[3ï#Ïô¾œYg4°fRO[ÓÜÑ#!H÷§]£cÐÒ”á{òö5X=˜¿¤ÿµ51Á;keÊtã­wµÒJée? 3ž]™»B!iYí¯ÍUÞ]õìʳ˫žÒåÙµðâjxM/ ˆæ,“²W+Dç>¼Ö>­¯?=ŒË‘f•âÙ5" êš H»ó¹´.Å¢V4Ã1Ã0ç/†Œ™ak¼*ÎEKFLèƒõMpÓ„½·$B3yŽý[w?“oxdK"Lä˜xÈÆ(»´Þ-®Þâò)§L šõþ$FG4AÒl²3<ß3*Z#Ýê~f4uÔnð½ªÌ]B|‚ï6oªŸ{Œ©«ôC\‚ãØ`1NÜé &à~š:IW4MÝ÷kT‚úó9~¦6ÁüVuø—†.þ(Û¯‡œ:efÒˆ:MÏðäk%>—ê#;y(1®>Ö é%àž–•FTà³ÞßâÑŠòìûôïýtONg ©—Aî×úaTž–"nþ(lÜ™‚ oÅëvm\Æ{A/¥s`7WÎÎÍgL›)•[Lh\ß!¹ì!àÿÈHž 3]^Ò˜:»c¦XÑ3ô1ãú¨¯WüEWTÚÓ¡(®cú¯qòñe_’hJšÖòÃ…Ÿ9YÅ5‘<ÕiR7\rç2€ ?V&œ7ô ÌT?$MmÅÅ]¶=ªŸ© Ó )+¶¢—ZÝ:‡+ØŠìÐx¹ñªùx YãJYÕS{ÈþöÙ¹-n”Çý!ÿÿ`ÈARWº3s#ꈩUÊÍY}ÃMT£_aáI'Ç›uê§;?ìw¸cÑA?YÒ¨µ6oNÿº4”3pᔟ¼å–S¯œº4jÔòO?ÞÖøªü™áA ]iÂs ö#ï>ZÙZö3ËýÇR+öSùª ŒiåibÉ8çZ…=T†Q‰em¯Ë!_¼Î@ÜÓ!_ìyúŠù§”«C¾<˜OçmžÒë¬]|Û¸`ºíºê‘±‚|œ€ƒÿD°Ø•ˆòçõupTñB‰©êcÜ0rß*×?<#‚rÜ%¤Ûä}*ÚPŠ—Mþ!thU? ÊuÈÿ[ò?Y,½ˆí–ÑSãCþ¯ œè ÊÒþFêx‰ “+ñ´)àºUz„Ø~2û,€HpY«ýÐU xãz)‘Mÿ±—ðæ¯X Ú¯:µªžÌ˜Ú  Õ·{ñÖ]ú­ËT^½óòÞ_&˜¦òźZÔűQÏä¾ÒIia¼/G=Ý)Ô»­e}L$&©÷¿óµŸ $Ë~~lµ¬åQs쨈¶ $ö[sùpBÔëZf@gžæÔ£Ë¹Yè`|eæ×ØA»yv×ûâ7týO]ÃÎÑߺ‡5E~:ÛWkdÏôzvè$ H¥ÇAÁÍ?"~‹;Q“LN?ÀhÞÒf¡'ÇmR[곦 =ýÃÃÿ¾ž"ßszku¥½YÀš™äï¯tQîÓÖCÕe—(§®Åõ88Vï(ýlé‰ ã›xA÷·Œý‚›bz ƒHØlù¾¨¬=½ñ…a•4v–íæG^©ñF¢M˾áÔ`S7]yY·-l"ág(µ™ˆkjJ@hRÿ» ØÜçÙ‘‰·ÛS ârãNU€ºÅÑhàÂF®µZ³K ¡6éQµ³™˜€—–àÂ8Ëݯ ÑŸãú“)Sû¶öð›Ë›¤ðɦV@80,ζã/†ÛԯܠÀr¼ø÷Ïì™cª{ qÿNzÖÄ®TËt³ÔôÚõãJÕFÒÓÑ$Î2îæ¢BRvXÁ®®3*DìÏ=–ØQçùY¾Hƒ¬B–œ˜]:‘á¤XøJ[¿ãiŸö£i]tž<»Œ¨{Ïï»g$µöˆ9&nw€Üùúx*ÁÉQНXvõ¶ ¾^Q]éÕ¯™™{3â‘‚×Â!·â9¿]nƒ2¾ÞqWC=rŠºJ¹kµ{¡¹ ç}+ÌH2*?%¦ êÑq¿Òþ´=Û¥Df\îÖ¬„·˜gMñîÚ»i+¡ÎsÏŸYdŽ!ÍX<Ü´©Žf¹ˆGgJpÛ1w€X¢O…ªéžº„Ï%G¢I=/G$·mÛžpÁ#{·²Ïîc5ní•zÆy¯òjZJáÓå-²¿Vh;Ä¿öF’_=]Ë3Ì,£‡·™UJœal£íR»_SÆ™:“ì{±š7B© ѹ¸<|QNôä¿ qE–²Õó£8b@ñ _Õ=#a{O`ècT#ÂvËmT,õeÿó²LAZ~†Hvõ¨»Ï/àuÅ•¤æ²4º¾W†Z÷¢ˆ<¼õ—§ [KBØAÇËy¢Á¨Æ‚•l¸Æ"¸uÖ,õjS¹^ãªÐOˆ½µ¬O[)¼Yšú}õ† ãɤ>;ùݬ[zê—¦¹’5¿½•*/nrWoÄn¶Üëa¦»OÙ‡pŒ1}ª¥wÛ¼g"j„¯–5 ?6©p .¡v3³³ò•ÿ,ËÔ_;¾¬ONÿ+‚¿­µh׬VéÌ`CŸ5 GÙå<Äßê¿O­Ý†"ÃݬÓˤ7HFq"… ptˆûŠi–²{ö¹¿Ú%ûÉkÚ·§·¿±%ž§c¬ž$3uŸ÷ýÓb~iî×mª?gô€?³Ãë™ÔÁ`Q³·™UÜHGÁÊ—­[‹ }ÁÝ—Íz²FZg˜;×a"Mfyù¡ûi½<­ŒûA)–þ0]Ÿ§âí`¤Ô 3IÞH[Þj?ߌ/Ó!´©2ರ6-lâÿö õ3>î[å÷;dniê(Ÿ‘ ×W≀º my7×3qDÛÍGÕYç'2Î!Ý]mC&2oŒfN þ†>Hjß¼éÖ݉cüÂf3þm’½CwÈOp μßÖ„d:IäaYõŽóÂûv¯‚î¥9¼·Ì°¢Ì#¶›Ž¸!Àÿ»ì”Âz£kÂ0ç¡Þsd‡=+IƬ—ŒÛj¹‰¤òØ54xKtòžàÖ¼©Ò>¿Uô‰éYÞv×’1+àê.²ï¥®F©I¨2éUn\ÿà ç«"À-ÃQ‹ë-“ít^ȸ5|$‡¼ÍIiÝœ3™wØ Síþ¥Å)y«Aw:òƒébwøÅPD3{"çChЍ´ZêšM´² ö1mB¼¯ï?@DÃÓÒ½ô¥R P«[‰r&µ¬ÿǶ"6‹°àЍ Îæ¥éÆ3fåó— â³”ætÚLW@…Œ¦)>µÉ+kqšŸß»‘¿J2¨ª±É¾"¬ø¶þ[x.Cû™PÞ¨ y+¾ð¤Ït“Ó2GM¼Ï~;ržÃ€‘+F“ºðÂì°‰-›d§J‘K`üôæU8¸´pÜébOM ôp9r«ú'‹·bJO#äM?EÚE† ;7óæžó mk¯HBà[jþV)¨€ SRñ¦2šÚA½¢·d“½ýºÿÃ}é#7lÌhÛ[߃BÕ©3–o&cÁ»´ÎÃT›Õ€'ƒý²ù¨ÊïôœŽÈŠ£¾ •fu^Á¿‡qäÖfz•¶ä‘£‡Z+ûPüuP¾Ïb­.bÙ©]Qé²øõþ:óöÃ-Ðаž`ë§µèx‚¬E1Ç×e›b#e€@}™M–5³d»ÍUv_RžÚaߟòð)Òý—ŸrÿÓS†Ey‚,’ ‘ˆ×æœ-ÈìüÙDF;7c 0ÕEoýûeÈDqñ”àDP¾/Ó˜êy<[¤‘U Œ ¥AÆäP ¤”— -þöGìØƒ°ËºÙ‚YýWÝû¿r…î”ï‘@ìœòH8gi~Ü¡«€ÒV¨ŒÓyÝ KµÿF ñÌ?ƒ¸œÙ'd G®SºÏŠ%Vñä3*µP–¶Òx¼ù´6¥áÄݸ}èS›='lEñÂ^ÔŽÁ÷ˆì­W½ç§bF[Eˆu°âí'ÐÌ+ñfà’( ².Ö°/hh/<º*ÅOéR‘éçx+ÐIphfP¡x-ËÀÇnQhwI·|Míà]NRA”šHê­n:n%·l¥~Y¶8«Ðöί+ @ó Þe™MÞ8í¿Ð8rd“µ–õ<ä>RgN—=¼n°Ž Ð×CÄJ+ùáwÏt¾†ÑW,å¢>ÿÛ®¼¾m@ô22užSEheövÀZ”%iÜžù´QbÛ.AÍn>DµãY‘~]ÒSƒ's4Ÿ¼«S®ÁeîA”ê…Œ,Äí¹»Ò„ñ¼£Y¢qf,“Bs—&¸#¶ÖòÔ9xkͲ†Bÿ÷éÌÅò4g[UX³fœÖ;Úb»eµŒ³b׎!}AO›KqNjÕJ”Ђ¤1䫳PB»è1©òjORV† Tæàrá ¨!âõ†×õµ°Ñ];Ú2wÀW‹8Þú¶lSVÁr±Û|Ki¿7ÄD„¸àÊû GÝ•I„îî ûå'{e Xht&Ry=CB®3m‚f3ð~‘&èð—_¤d|Êˆá ¤iˆüz¤­•¬õÈ®õy$Õ’‹Yz;êÄ©L˜¸yϦ®ÕõÞŽsÊ–£Ä!{ñjS £'Öö>P¢ÁÏÆ×«Ë’‡Ä {{ÈRA=Åõþõ¾¶Œéá¯<ü–‡/¢®E‡-©ži4˜GñðínŽëÛÿþððwþþÃÃróáOWýšyø×ýðú?èáÿ'Ħ)²Óé"6yØüÅØ 3ܺ×Hku&Ï»?1 Ö2ªq"sÈØnΟbiÒQ»|½ÂÖb÷AšS/ÀišSÛmfÂütX¼ÂÞGè_›ÏS2îAßT¿Oß ÅQFÝÅfÌ!êõe+Ÿ©.—f.V°—Ðï©ÊÖŠæÙv†·y†õƒp9ašl˜ð[˜ætU\Y™í¡ìu©rðÏÆ»B+žjq” €vh„ÇÎŽœ)ËÜI”+—`7< ÀÊG‰%pß%òÍlá;gÓòùWòÕ‹¬"n‚±òúÌßßҵñÌL"1ÕÜÍh^°o¯ÔY ×^ÐÚ‘Ê”7ÉÝÅ·Üe"Ͳ6Áíä‘VDqäi;I²Ô£|ÑFè×öƒ“D|‡ru$dÝùðéLļìñ0 m%¡˜‡µ%BHha„4{ã-ï­e²*Ó0Â*LjÒyCtÇТ¾U ‚û‚¨¶˜¨¬ðåîÐåÚÐY×@PÀàzõ Âï´V÷Õ#ÿŠq¦]Þ\‹Kký³b¬áÜ>]ÁÙÌvÙÌ{úðè ö.6 Â)o®¾§xsøÖ¯^ϻ¤µxs#Î+¾sôûçfL6ë÷–õn¦£Æ°ozÚØ©ßÙçÛD}Å ãqâ]ÊTx}=‰+öêŸ ¹ô‡ÂJc„¸u‰Z×o™N™ä;¤{›žXÊálØiZ.t[kâ@ÀÄ#ÔÅäÌóªy5Z|:¶){‹3Ê|ƒ/§ª±+ïüœK.>¦NMñˆ9‰ÁtK²±E¥”PÔŠY|ZûZ‡éinù6Cz €‚w#óc×»Ë }ÐÄj’U'MÂåêh‚Žçò»6ËyÚ.) +tv·Ã¦hÇ ¨~½j¼RAØ\,EtzÇã:;´nXdà>Û\vùa3lS£ÞzµBLÑÎ;:U.ÄϦÔA3s² ÷ÇN°yjÔˆ[cϧÃEgl³Jæ^ç\ùÕø\ú®oœÚD|â2ĽÀg|å*Oh:þ׿|fPfŒ^d™ÓYcÐñ·Ný(?hÂÄë¯ßÃqt×Ó„þÓ8²D¨ô·þ?Ü—z‘Ý:dðß?hNTTM°Ÿz5|z%SRp(¶rΤzhV[áq…Ò¦&:š›_ݤ{¦Õ6)LÔ%]ì (üOb`à(ÄOçŠ0àV|ÈÒ7#¥R€ÉYOìöafÜ$LizRr*Œ°Ë‚û°½v$)²A½x¹çÓÕÇ‘m/›å­RDcÓŠºÓ 3…2ÕïÌbãÒ›O—vô>Ü_Õñ ÓËA1(­‰1Ë„ëmŸ³îûÖÕ¯á‚Õ~®Mú1³  +¹ 3Ħ"†×ÏT7©‘ͶÂ6 Øþ—ªÖ?wS:"wï~”¡=¶Vúº…–tK"¾M—J¸‰0o—º‰³]¨t+mÏžéÌùùLàòfûxx§ ‰´Ml䃿Ä…óêÞT_ãWÃA[sà`_Ï‚÷t¬r{'Ø(u òhnvð2á8YÊ’©>.¿6ÝIÈø¶œz@>ŠXª(Ú×[ª;Y†Ø^¯'P]á$¦­] ©ÕZxÒfÓxžžYu3gXŽ4`» »ºÃçâÙô÷¾­ë)Tñ#ª˜6µV€Ó‹BÌÚŽÜgÏæŒG(r¥B`e‚4ÐöÅv,Ä•Œ\Ðé­ù²g ûø„jŪ@pÜë‰ß©ÃÉ b>Cëéx}æ¯ E§x$<üÄöXCŽúñ îùÓX¶dS!:vÉéû»Fš]Â^f+’Ñ%ëê9è\Ñùl‡ŸW"¾­.1Ý~Ò-lE!9á d6ƒa0¿žÊé—ö“”ëO¤6‹vŦä&—]Љ¡2èA –pþv{ˆXð}á]ô;©J½7 2èÛu§â‚¾TwîEšê<”)m±ÒÝQ›ô-»Ö uN_¥z-FѺ½hM?ϧÓiËzÛßZãÓê;T(ù—FUós¨1Hq+ Õï¶K½¼9v¡¡5¼@¨oÑ8æzòòíÀ eü‡5¨ ÖC6#“öJ¿³Îl›cJ?†^ð¯(&Sœå,¹¼8sÿÕÇìÂ_¦:x3øH;ÔuÜÚ”IÎòh‡*ÀîÚœgë`ÉË"Îü„ƒ$àókO9ZªÖ¦Cµò´cǽ”În•$Pì™ äC˜¯¿Û8g`äm‘Z úƒ“ûÅ|ƒpÀú|ä´ßªèVt Û±×[ߺY«[p”óÇÕºÊð#š}t 3º…"-º…ÝÂÝÂÎ\Öžù Wæ'H±@Ñþ9—lÃëX+F·—uúm À–4맞ѣetÕ0üÒür„0*ðXµhÅkGÓf)ö̳ç_Æœú6 ÔyEùâz†áM¹`o çþ6H¬<À–£‡‰pÓDêN£‰uÚ~¯×ÿæzÝvŠ$FYkQ6N»D-dïÀçñ [ÖŸ³‡ N!Q#T™új°=àîWÌA˜xx<Æì—=“Óö4WMĺéÛ{?ϧ½àðÉÈR“18»:3Ì·#Åp¸ø¦‘÷öYæ#__*M¿¦bâÑ&ã ™CQiÅNýe8;§Ç7GÇD>Ó€`19Õ5Öâþ!»þV,®Ÿf#êÞ~zæYØl±Ìn¿Io9çH´‘×=£ÀðëºyÀ´¿l©z-B+TóÓDv@©êé2d@œ‡×´É Lò<áøyÛ^çâþÒý;Ù%ÃÀFÑ};¢xõnwCu'î÷‹?Ë–€ å71ÇvÍÇÊeIi\ë5_g¦ûR…ÎÀí$¥ïöX+ꯈ KxKªÊ·úÐN‹Ve\½æ×2m.S¿%C£Õ£>_8r|cÒ° É*æs•`y1?ÄoÌ0…çipzÏÃÿ§dhjÿ\´"€»cÝ ã}¼’·ßªo뢉{Dà–:ì¨xÍá„QZ³ßÜ€9;À?+J€ Df#|ŠôÀl‚'/“\pH%¥ pÚëÉvÉW¢¸„É€û~=ÓµFî ‰`¡ççn¿¾ÂV˜#äCë ®Ié7O»;§,×ódãIB)xêjz£¨£h!ÝûEIC êIƒÚ“q Ü–d‘3<ªcÿ&ƒÙU¶¢g ‹ð*ZT‹M– –íwè&Þ Ðàz¹´€¼” —ËóÒFuƒIeè÷´ÖœfñSöÝrmFð~yÌSÚ@ÒÙ¹Jè°÷¬Ã£´ù?˜t:ë PõߦäG¸xaG(ûMÚˆ¹ã NÄ*¿œF„ÄLtÊ—gJò¡±³ {jEU׊u)“,ô ±Â*¸ïYèÓn˜‰½÷™Ð®×aÌ>žÒzZZ_\Nyó î.Žçm¸$ø‡¸-’?feŽYk¤ÜK‰ï1@ØQC=#Y;(¹ë°¯~¼˜VB^°ysïlÚÜYßÁý<%\𠨤¸ ËÃ/½ŠŸ=ê»2mÈ*,u{ .ÿ›{?d×OfK`j¹V¼™3DŒTˆ°L°‘ D9e­þS=Ê|LJ Ö-B%gïzHzœ9W ¿¼—^Œ¢¡ôÐÈÏ¡=ãkF‰ú¿ ­­ш)³Ç<ƒ*¹™7·é5L†8ʰ8–}ðD!æ=<Ãëwȉ`Q9¿öͨ7sûò¦ã}²æ˜×£~ý×­'C•c=-–¡K³§5zß®¡ÅgžqÓ”ã26»¼+k½›&Ââ/—0××S²h:¦<çGï•|h¥]ÄîV&äBJ\Ù™-“)gÎ!ÓÅ¡ÒeX¹úÏ…” ÒTjR,ZïçÊuùõH+œùpà‡mi’~ѯª^Ë‚Íx’uüÊMeÇ•£ì¶1p³Ž­,¡’Ó3iÔµó/oD\ÙÒ€>¤×¶ŸY. îl?‚w!1e¸£Ë†ÑÖÿhÏ„Ü ÂÓ»bS—œq{§Î¥í·óJ7z£·ïàÍIšfÕ¢£Ä…âSÊv–Ró[›éÍûTi\3P1”œ ÕU@ØX³/œhß%ØkãÒ¼ÖMÒ¼/IF;ä3äƒÛ<2»…ú†œ©kê-֛͑µ¨Ú?o€ˆù‘3Þ6ÖgòÚ²ãp+nŒÆñâ‹1§_Òù¶±3¬ü+Ô‰Ë~„ŠùX‘4ó#;Õ¡·v«/9“ëÎ!mÙIáÔmÕ8\ɺyCN÷›.3 ]mD`/C£ƒzPCƒ,=¶.|’­3ò«+¼ãÛÆFÕ$ðÝQB1ižZZ^MVo䪂‡€Ô4åîÑ¢êVÝÝ”ñødXš}ê2+1Àú ç¦Ñ7švÖ9æA~ø}Å#y9ÕšÆ|‘ˆìBç¹½©@ËY§V§vd–cfšwl3ÈÛCW …GGshjsÌé¢tVTZ´Ù éKDÄ{j”Sül)žŠ‚ g„ˆ¿ÿb ¼W¼æUò/ç¼ërñlaE‡þNšLáqºêÐÝóæ¬^g(õÞ[ÙM:ŠPò¨lO‡¶ÿ£¶×ý­äøOØXhpÏÿ¬ý…Ť’8¦ŸŽÚ£m¾¹!Až°êìe¯áÅà ë:ÇWW:^_¶ÀÛbxݪ?NÜ/pód SMxáTr"ÅYþ¼½Ö™fò’‹Õc5›ù¿º!¬ÕP6éÓî¨%€F%œpµ;§äUÚ‘’œ’øé ^qºªèÃ/8òQ)@X)ZŸ_Ðýú’˜‰!ºårƒB Ç5S°™‚ì-dàC2¤Š éÝNê˹íØ}Ô'«~(ƒû®;|»ðùN#,™§ëÔÞ©üíži=®¤jh#²Ð˜:½rÉçØ=Øà;‹Ì)ë”-Êt“ ¯©«ì™ &Œ›¶åáøðŽ"ÙÉC>%í‘ïúLtÜŽy«•ì¤< JŠÌ%öëñ#sZø2Bòkº¯·`ÜfXºƒ>~÷´b¤¸A_=c÷3#Õ¦cW`œÛΠ¢Â´OÝ·æ3ª. FÑžN¢µ¥‚z}y ÛU{isvH;Õ¬mê}6ý–¥ö7Rß3£lxh*¢P•eÀlH?¦×¥ÜûSháf­\¤dÜWûCÑð€¬Ô†°Xž‘ù„ŠÙlØà¹pë—hž›«L¥yð lö·bJ«¬H¤ž$ñx+xEÖÒ[Ö Ì:p?{Oktå-âþÎ<.›y©n_¾ÓU|·øØ¼‹?PUEz£X~ãÓzD‘°Ó]<Ÿöâ÷œ·­Ê;޾㎷o•ã#å B 6]íÝB¢b¸ÀRu]6.Þ3.ã(!÷JV+YÅt|f9ÞFh—O«öL¦çe,ÿ*à"ÚÐ#W‹%àVÂKïßè s§0¢ÚabÊ!¸oÓù0NðÓ¨ÓY½¡ØÍ¼IC$p»Í[©ô²xFì*m8¦!'†;{Åuáv÷çƒÓ‹~: 8µÏð3²¨½^Ï ƒO—;Ów=¿mv©BpBÓ—Yæ-Ë<&T¡£ï€ç®ñÑ>wek §ý-¾œ.ïÓÕ}Q9«sd×31þ\ÊÁñ|èåqÆ0âx9š}êçÁÐÚCÚmÄ e†äw…ôwFõç¯å^Ì@ŽæË×#DÄÞ³¸$Ap.øèC+š¦º[þ¶±ßÛ6ðë!l%*1žÆ:÷èÙ%øf/ib¶ëôï9kñÉþr¯ÊŽÔØê0Zê^5ã^µã^å&ïÀ ‡qßÃw%0àVdÁ¿Ñ%"k(vsRk®k•=‘÷©¼àQ«oÌ‹O´H#m5…عFÂê”·Cæõaû‚ÝéX‹ž1¾ú"IÚq›×ÚgÍ•åëÃëÌ3ÆÓñ!pÞý˜»¤oðôÄ2‰-´Ÿ¶ÞbŸT6´Ÿ¢V8/›Ö]Ã1ÿ˜ù³9õœ¾¹°å¥åä'úsá<.œ¸äGBªùç”¶T cª­£.sÇô|'ÑãÐ5çâ¨;3xà3 çŒAÜEW™ÿt‰¼çëkÂÿå{MŸe§TrÆôæü¸MT£ó•¹Åå†ô,éŽJF ÞMÏà^‰Ðl«šOÈ Ã:gÀáeÉa+{é"­²ö"·Ž¸;ÆdE>WZOE´¨l_–`JnA}´¶e" ©ü”7êGþ†à2#áP°0z8™çë3axªšÁªþŽ©AÍvÂõUgkj7¯ŽŠœm©8õ!)eT ¹T{úß¶ Å%\r•2S¯âÊW<2mÕu½/¦ÔLD¨#Ly¡k‡9ÜŸÖcÚ$Á¡‡ði˜~¢Ü£{Ô†60^à@ÑÖèMÉ/œ¹¾”ÆCŒ›ü´‡?>ó´`~6iD;߃áuôì3ø¶È÷üa”ÍÌ, Y¶‡MÇ»}ã›ç©Ôʺ[dQq_Q᜞s/†Òj~!¿E†Ç`Ô†OæDDI)×sX¿‘Ô¤ÇwT&=ºz=ŽyE²Ma[L”åH¤ËÇáhÃSsiòÍC¿É·Íˆð®@ƤÀ>xè'†EÜ &4;U•è€^¥1yìÐ[¶«¦ô€‚ç-HmèÑó¡ÁÀ× ÕÇG*Ëé&hã™[QšžÏp¯nN*ûc\xwwœò=¹OLª­ÖãöüæZpÉ–êÄD[&±M]„vÜ)"8.Hí4ß24{b„ÔðaŸN|§› ?E tFÆ'ÖÜ;ÒiÑ{j©Ýdò|¨;Ââ¡/Ndøþÿ€â£ïÃ’áßHÙ+\j©^‚e $šß‹ð+ [¶ÇÑå ˆÕÝb¦ÃôvÇà!Nf-£võ†MMÅ]uú)$ý+õÖzÌ{þcsvë{ù{]¤uâ¦X„~}±ÉQ˨a耎˜Ô ¡™Ü‚Õ`£G8ðà~JíðyÂh@|EˆòQc$¼;ïãäÆ@;ïŸÞZ>ÒjK¿©‹û»0\ºÀ2 \»/Œ|¿urøÌ^!LP‡Ÿ”z ò¹½a"ÒÖË-S 8Üb¨’™apºªû4/§ï Sã}ɲLdzß1ðƒÑZ7¹GÙ5¦E6°€I±O 7ã¹~p“Ɖ;sÒ2vÅ}Nœòó”QËzí^¡‡&½Ç?Àn[ò äØSt(,õ6˜IÕÀ ¹5þZ[a)²53·Ó^÷Àžî]OŒ|Ž×'3o÷÷ÿHØ{;ª£sºe>*-TpñüAñ v刜4òð^99Ê}ÍrÐɳgŒìžÎmQqš¹5ѰÊ×ý Õ€H,®×g¶Ô6ñµ]¸%ÔŒém¶Ø—YŸ.}YÏâ›9\÷´}»ã!·u&¿t‡ž0DèÏQ÷Ék¾À,üËêPV׳Ã)yK­WÝ¿kº*l¬T_0âðò‹VF{¦^áÕT?}‚©kÇt)\5·¡b6B×D6vçJµAotÖ‰võüä¸[BÖšO ¦é·4LÀÿâ\íPf¥E\*>@¦ ¡%%DDÑÇC?©´ðS”c’HÈ áÚuâz 0Îìeþr3×…R&«õ±¹z pW0Ž›Þ‡Š øX—Á‹©iÂ)]Ü~0MWGÖCFޤ£û?eÕ¸`²lŽZš~º&I-J<Ï•®ñKo<³û.½Ãgü<âö}-Íó÷¶ýK€Nôø:Î `<¥ö0†¬GÁO¹ £B—ÙBZ"ïüP'zÈD}vb¾Yø8¾µ' ŠàãÕDY:â‹D`Ð~…º õ[ÇÊ/l6‰ÆÎ¨<šÓÚdpù~q€·ÐfIR¤ÿQ×ëHU·•ÚL}£¹#še¶"gÔ}„²í° sZìW˜ÀëúÂ.O_ÜÉÈÄì—æP™ýâp RWÅVc4€û@½#Êê.Ê¥í§â´Ãd2‰êt´Ì˜‡6z›ÅPdÎ$Âӿ뉙Ôî-Ub»¿uÓîG¤ã¿‡Â…9=ý:[hš“_V€©í©ÙWŠ'nÌiÆUßÉw¶c’:$ ¦;Í镲ùLS`‹eÐ+§%u~yñô¤¡ÿèÇ7*ÂÑ"ƒüv¦ÕW>í/v0>÷ÙȺ]Ù9ä5+ª}vYOã ý¾ŸíÌ–üj×Oï~Zz1€PxG–tÛ„e—Á¤ZÑ»+¿°6°É®Ø œ¡&©ê@W|ŸEÝ¢nÉk«BœÔ²5 Š^ͤ“]šIZ-D¼¯ø¥• Daà&û˜˜V ðLiþ±¤Ç¿õ’fE]NÏ)o¬¾YäK „ŸxC}{§ j¶Q)èæYÝ`"ˆôõ@Fw>Ý6&…;ÓÑ“ûl HîCIÖ9S]>D9ù·Å.pˆg¾E²/§<õ‰du$µA{zT!íõÌ”$Π†Ú˜²5œ`Po/„Ð雟V¼±›H¿i‰Tî´TŽÖk m£G8ðq` Ù-ê8ÒÇ™‘žN{ß¾r(-“šïjã’qFMuˆ’>£®´_h]¥5ü==ãX~±±ÿ,ÏôÏÝQõ>%õí‚á~ïŸ5ñ%f‰xv[ÝŽßc[X_à@Çqx–Iñ(=š}×ÚS•Z½éš …ÁD€QDœ*¿^™¥¶å¯¾¶ü³)¥zÆ+è’6BƒŠ"`ñEà•‹a”ýV ·é¸µ(õ;‡|9 øgÓ憷`ž†žZËý‘³0EØÞ »¶¾÷Œïé­g¶&”vGûÁQtÞû vöj€r§õ×´gé’cguå“ÇÎO‡þ8ÚŸ ¸oÝ"Qô±Ê”ÚeÞfË€¸ÿ¤ˆóë`^jæEÔ;;mÄi èž™2³ÄÝ$7ã”C@ÙAÓžõmaA¡ºÅszì8üô÷¬¨ûÏ+‹~#0Otv2–ª¢É^vÊ$™;§eÄ·¨€ªàæº"$Û{WLõ£®+T_8_¤Ë0ÜC¬"×±^à`D7à1/ûF™Yèmz®òi²]‘×Ò{€¨M–Òýí{ºÎ`:Ù¢{egqâýrG¯s;ÁÆg®GÈÏ=ŸYÉ1ù‘µçØâ½X–·A-s&N)Uö¬åhxXœoz1Á)G€ìÚ¡Ï)£xÑ8c³úóÄ ¬øOøé•ãÉ Ÿ+HSJyç”dM§pÒgF‡5Wt$‘jª È\ðƒ¼…oUR\Ú2KüÊϸðM-êú™÷³­+V*4ºÈ£é+ó[là¼u;æ‡[´>1 N&ê,\\êǃ¿¥Ì¯Ç¶¥u›P6;jtƒgƒ¤·eû˜‡¸‘`TÒÇ™94–(ÛF<"oÏÙªá#<«õÝM;Ø´ge’ô°÷ 7¬Í—qÑQ-Óôl‡Î³d¼÷XŒ‘ò C·Üœ4o‹ SIä=¼‡ÄŽ×?݆ì|ní£ºJ²èzSëɦåºD÷}ªXq—¼ÙyØ+fY”zûM\‡˜0<ç)Ë ¬9£+«•s«fFRÊjWFW^JöêÂË1Du¨¬3ã]ɈËeïŽÝÈû9$%‚hE™ZD5Â!­8`v:ê5ȼ ŠK{XêùH/þúG6óÈÚÿ‘­°8´s­GÖï?<²ž‡¹cq·@ÕybCü{M/èMz6@g˜ŠÂT^{Rq“ç2?´Ëå!NÅcX\ÖCÜ"Ëã”:PÖ/Ø¢<ÄÀŒZx.ç@T7—…tùWâÈüÑ+sIgˆóMZ<£Ybr>º²dzÖwÎëäk#þß=¯ë6ðꟖ?Û{Eœ~rVr]iB…q‡AoÛݱ\bMëë­¹çí8ah$ײéo¿(‹FaÙ5'ÞŠÁQ:ÛWêyN‹.0×ShXíôõÅ_xœàŸéœ7Šò7¿´¬…kI 'CM¯Þö“Þ ÑÞIQ<,<>ÉÓüø íÞøEbdrKu Q(áØÓ`Œÿºƒdu[¯ŠÉºWÚ uŸznð¯;ø×ÌïiòuŽÒ@pDÞ×då6¿rÇüðŠcÞ)~ôΨ…7Nüex™ÝŒÛN» V«w0…:ªAëË7‡!|,¿ÿÝóÞ|Üú)â ïíÇh@o&N¿ñq{ÏǺL†ïì‡Ù„Cãa$¼€Û¾Í`fà=×÷é;bø0ŽLG¾Gtj†þHqŠIËJӨˣ2?ÄdMa×ûTrøŽÈ"b½ ¦§(Ç›RW¥%W~À~< p3P'“†ÚóUáõhï®dwtØ¡#·ðÑæ[iZ/B7¿ÌÉs HiBÐx«á{ÊuÂâå¶[Î ïØ·òvBžÖ,#Ô‚q yö«»kÈ;ò®„¼XÁ\j»9¿p²Ó fÌ#Ã?_cs’ÏŒ€‡~m.¹¦çJMÔ{#ÎmÕb¿Ä**[šQ8¯"ñŽ º}S¼ì\Pp^lµ |ÿã×€?ÇÌ•J´†k îµFT;/X ¼×>Ó8·ì/‡`ÚùÁÔvW,ÙÄëOçÚíàó§I­åòýé˜Èjq¤˜ ‰:ðnÚ6äN™@ÖR˜1¼mN·JÉs×q?S†ä®9¬ï®Ø˜œr([\h±Z9¬Í­ÿÚ§,±’0Yœ! µ0q2½äÔ>Ú«P·¼‰z?F‘ÑC\_S«êSÅò¯…€|YÁ[šõ¯'I \l­þ`E‹ÊMª+pžâõ€×Ê$ŒO¶8|½yNƒÙÅN×a(É1]êò–(§w&¥ÒêîÐrVwäy{@ÞC)î¯_q¥7rÆÚNå6ùe8®PVaµ6µà(ĹúõÛ³àfîsÕl±2º @‘Á.Ò™ødørÑo7Ñ~Ô×Ô‡C‹—K”àQSÒNêÏÅW#H1jYr!MÇŸþ8ÿ<øÙ |>ª¢P™{€Ò.åÇ¡‚Fw®óø¡¢r€Ö—΋rÈuÎÓ2BÕßU›Á¦Ãƒ=evc ³t³ÓÔnRh"_›Òf:Ïn?)l³c>†©’Uâ¸3Äѧ` pÕ`%öÁG^d2<Äe¤!˜øÑªr$±$g UþIrÀBÔv-Ø>ê›XÝXsjÿcuzÈzž&; ßîö!šâMÍ0W—À„¦Sl²²dÐmu¹B\ò}QÀñQhî—C¡@W’Ћ_~I‡CƒSÏ»®[L…+®¢Ïõ¼ _ˆë2ð³Öµ…SóI¥Ùét{‚,©~u  ¢žO¨m‚ƺx’ÓÜ/G’ ²ÓªqâÊr]¢(¸NUdÁ¡ñÔK\3ÀÝègÀfýä×/×Ò¸Áâ–;~«€œQxž-¸aðí¯wâÈá>r\0.™¤¬6:3xâ€Fà&h¥#!X<Œ‡ã ŸÛiªÍU¢2þ^wcÕãñ13åçÖ·`v¼tž5'ˤ˜•1v;N´g$L¸÷ˆÁ)Òÿu,€÷úŒ“uì4ÂA´­ƒ#sPƒÅÁ ­ ŽÉœk–8âZ›µ&Ë{棰v¹rkÆ7—ø&µÌѲÕlÃ(Q:äðÛV‡,Æ(lÖ™6…‹ˆMËp”ˆ;wËÖM£S§p®ع%zƒ*¯‡­3„ÃbrûEÑ·Í|‡íX¦<2­ÃËä8» ›ÖŸì©“Ý«ÓØ^æ…i-ê¢ì˜ž§dw~z„IÞãŽ05ªd…GÞû ”{[}£QM„¼r©§ D§ñN¯/p܈ü¶ÞÁÏÅå»t›èjÄI4œÿÕ–†?¯LŽ‚í —ýM$_9õÁy±êWõÄ0DŠ´ïôÇ’¤;Ôz¿œÑÁ(Њ¶ºiN­óá&½*–Š1ã2#tÂNË3–ò#Tx|ÿ5€Ëàp—Àr.x—oVd™–) ª¢qy%yüLx&ï;…7¿óí3w¯ú¬Pj¼ ‰µLs¸ ¦.Š.O>öð=Ý0PëNÑwÀÇ )rn"Ä2EPÉ̯Á’˜A¾£V¹ô+€ÔM£Í‹T±ÙüLè¶Tðk³«*^bGuÏdó·D}/®Ï,Q'"F¦×çC$M3b§1ŠÏŒE;j÷–\-ŠyQØ]/²œzbÁ""Ë„›QË _Fàt¾w_ë {áY81„™ä©“,iÂÝ6œòûµ1W€iÜÜW§ôf]µ€^®‡Šdš×+ WËo'¶0©¥BÃRÞ­/œ«Ñ]+¸ÈûhKĈ­-ãúñ#;qä^ ƪ¡¼7ͤúmÚLS€ OÏn¸ ›þãø© Û삆¶ñ¤ ‚¯ùç•Sø)˜\¥û(WÀ¸dG²Ô™‰G‚JNÜõý–á ö®B yB4Ú3I÷:ÂO«œxÿ€á?ÀÚŸÖµÂy¡ÞÜê k|Ù«®hp£\àƒ×[”ƒþ’/¡@Džóf|8Ãx(Ä ß3ÒóÓ÷Èk ‘‹ª“AG`ýÃùžõzƱ'Ò< ?#@zg$ðM$™Ï³´™Žg"Ÿ0Üšk ‹‡S;)8<¼š_WOáã0EGJÛ«aRJ¾ÏDƒ¦ßÇC[p!±? «V8ü'Ð 2TÝ…x›¬¡¹í7Ó$Í•~4jª¥’ñXUNåÍØäl=š”Í ÙHêOñ¹{ÈaÆ·ºúd!OÙ--3m$sl©¼×ÖC8qeŠt¼ßÙžK}uùÈ·ÍYv†cjÖŠžÑ’9Ì[FF[ñˆlt›Í/Å}2€j»øgKE6‚ヌPWÓõ,»[ê˼½Z*.mÖ Üœ;䕦]#3uYÚf[Û’PHu¸ýEØ\Öï›zÉüR¶É¬­ËT"²tD@_¤;ópûÌPÆtà§ßG}¯ÙÁA…Rˆqx0n§³œLÀ!;=ä®#:ä²À¶Ã@ À#ª¥; CÇa×ÿjIïé„´.Ln±kÆl­KO}ÈIEŒo¢;Ž÷ii/Ü]Aò¯gJÐõ8wØ#Ç{‡£¶_PÏé!ô RKD\Òʶ9æ);(¼´‡ `,|ÆkKD@hS§øŠ>0HLˇÉP“ŠÝóJ›¿ç8àsަµi£â%Bê·p¥CxÙ l ðßÒ—–È!ïŒG±£´LìÀ2ñ­¯\dxº~¸M‚hô²msÛJê1ƒ—ô¥Ï¾qçŠbTÀᎦóHë®­ø4MÓbœ§Äè Q\EÞµT öÙP=þL¹!£Öp+:¸—#hu0дh. –µ;°ï㳪Ðb²5` \iJ´t'î´¨0ñ=±õNü*“*NEÃpKÉ®Ÿ¶ñ;)„»ÀRRe7õZiµd€–¸gBZì{\<|_:ý’DðZЙó1ä|šÇzã0MúÙáJ\qdè!l1¿4¹3ô¸y…Gî 󑛞/Ãìÿ«[Ó-{IýÓTJ'-㾦¶SU‘‡K×'“Z…()ÛÎå¾§ãÄÖ};²¥ZntÛ·»¥bSWg¼y‹ÏÛúާ"Ú‰›a]iCÔÖ\¥Ù®{ÚnË5ʢსé!|I&¢G×YŸ¾Läòt¾ä]*£)¶ÄDžëÝÔM¢ëÕ»g}.904ÚˆÓÇã¦ZÇc¥Ö0£š£»ª¹PWƒŒ”šòõ­:Äí Šë÷‘Gš{lXFÜèÕTO,iúñâ:ü›¯6r½%È:è—ñcJwÀú´‹Q¿Ÿ éï-«—ªñt¥@Knï%—oŽs½>XI‚¸6¶'Z¤–ú3$kº&&n;ŽËh?t¥rÇr¯9Ë@öfU&Òõ 1”Ø-&ÑÒ•·Bdä1Ï »›–½SJ€3ÄmÏJæ7-Sfv¤Êº3œ…Êp‰¦CMi¿§¼ÏÏP‰t#ŠDñ™åÍlo ‡Ml]ã@hË[æé¸,®ðdlª±…€hN¿¶Í©%cÄÛÎäññ%X õ<3˜9-êNœþî/õç’᳨ 9”ëˆcSè‹RlA˜òvÊÌÔ\*Bú°ž±Øhó­ÿÿ<ÝóótõVK’¼_Ñ®4O¹ÚÄ<Ý­®ï"w<ä<%ÌÈ{:«‰5µõë®7³Ï¤v Îx“<“8{{w†Ê¿ž ¸PxÚ-lúÛ‘ˆ«nñô¸´·º|z”K¿0zÛ˜ upä®ì$ V᥿XáB¬¾u õm”-³ žÎX Í¡³šÞ˜Z3jeÙþÔ£xò÷N︡ÏÖ0ûP©ú¡^å<õATŠ k/û‰€]´™Ù˵ËaæÆŒk:ȉŠKL°Õ”oƒöFÚ°©zå!ŸA1O ÞH?±ã§ŽRËï•RÞÌUEïýЧðžó}Á3©”*ê`2ØlÍ¢®;“îdOæ¯é°ßVRF)5ªJeÀ0›éÙ¿D5ÓÙ¤ì}Óy<À1©‰Té/­ÀpŽzë¥-IÛ¢£+Hà­5F¬åzÔ,º]aX¥‡ŽÁ‡-51Up,É®ÛCm‹Ù%XûØ•'„Ž:p–25ý§¤hÚÅð¬JìÚQÕ~;ŸÊ†dƒîˆ£xñ1JÂû~t|ŸëöûзÖQ9rU¥ð>%˜Qz‘jµèž9ÂŒf|hÎÜ–šñzwåvU¢íË‹ƒ<÷ñ0äІghGZ!bÜcyO«î·» é»–'‘Od¦ oœ%üÞSQ@S¾÷H+ù.v»µ3Ó„áTŠÁÌ3è+dŒ;ÁábÒMÍ mª´ éu<òŽóú2À‰Ãv/à`~òÕ%5ÁQÔÿ‡"«æ8nÜiZ×è3|ÈÙŒN²³ÁÀU!ݶà¦j·aöW‡3vº¦ q~)F¤HfO| *b†Ï›úabñø÷b qH‚,×vÎDqóY`†) ¿f*¢‚Ó ÷ÉÔ™s©J¦Êò§£Ìâ®{Œ54lI²¼ }-A¸ŒÕó–þdAƒðŒ+V ¨™› þý¬²¦¦,H‰ÃQGX5þûg%Šøw~„O± †à?²z 4Ò&¯Àú·«ŒÕ™÷g¶iT9È t¬‘ÈOÅeiýVÓ±€B¡Êš¡Sz>ëý%”Øþw}ºšœŸ…„9`vH½ç+íåK‘ÑòšéCì/áÓGðôÀ̶?zŒ€î>Ý!Íͽâ# ŸVŽ£Ÿïér*é5žê]n§KNNfÃî|`ràöŠkz„(ÌùÒЦ9Çk’ýÒL<Ø,"+~šævêm©µ·¤ƒ™ó-Ú ÈíIŒ»À3…ˆÆ«Rþ=öø·Þ%CI¤v@§Æo× ¼z²„Ȩ»ø%A€SÚžªüº2ÂsG;ÐÕv`qdóQäËš·{¶ŽÎ<†ËŠD½K‚ÛLË€œ ë"¶ÉÃwÊÇyxèmߨJlÎŒÂsPÆMêóÍ<Å<-sœ·‘ýq>Ú¦oëtXŠolÑó…MX}'Œ CJˆ“ìWl‘V“j_Ô“ÅQ§ZD^#ûÙ¾‚kë:2øKWOƒÓSàNŒ‰ˆèQ[Úbp"I®ô0ƒÍÓrÉÙ°) /Ùvç~ÆÛ>±Ìo< O—êÔ{Å!g˜ñ³:›¶l÷®>ÖnzŠ•©¦jZ5£}]g ¼©Àš²w‡cIÍ8\í9†ÛS¿p/÷(iÛŽ1®õ•íÈÅòI“>¼Ã]ÀŠ*¨ÓvvˆMú3œ¦EÓa¸}*Ñ•CÙv©{¨nh?t-%éôóÁKˆoQp–š¢j 8'VnÖÍ×pí7b5#|šDËDñ–“Ë×»M&5&ó›Öä’C[3íÇ %²ÜMFšZ: w ú‘0àQ”Ú'?CÈÓYuŽ¡ ™!Є^p‘O‚ú¹¹á‹q‡„¥TŽ·ç #Üc  &Ó…C$“¾õ‘:ØsTéVÇÌœÑ,öϵçÆÑ3êö¯âºx¢]~p\2‡d0®gj1OÂ…¶¹Çvä6@~Îâ3ZH˜qJ …=ÁîÞiÑÿY ÙÃ…í¯¶°=Ýõ:lÎ:ÏFàð±³rB&ÒV³V¥úéýTÕâ‹çbe„”±3åƒüô—gRÙT—î×™¨`õ 3žO;t‰î¹ÂN]Î —ƒæ¨â;M ë8U4¨Ž - ïp™~±*Åq92Ýv­[ú¯—O)¬ÀRÒ4٠ʯ%æ}ß@Ú;ð¬Ú6*-4ÿ'ôÄ,ÖR%3aKO‘æ·¶&Z¸¼¡QNÊ–7S_kµœ«©(â®%WeÙ:8Jî=Úç}ý©¦¼óc±xìÔIPQÌpÍ쯄%† w¸E+LÖÓÔâÔ# Åò_G`{4ãÛ›k>]…û Tn NØVÐÖï¡0d{› f†Ä×ÀWQƒÍ¨%ßãQap›'4 ‹Õp¥g¸Óp2œÙhaÙ4Ä¿ÙB¨8?Ý¿3Zœ4ý¢ndqÛÐ=Œ‰’ËžçÇÄ/‘GÙ´‹oüT¦@í¹÷è´„$1¸§‰s NUÉñåÌ < Ç;cSo)¶·¯^ªWKÖÝËÖð¾ÄB‹ÛÄ Q’ÛýyúÅÇ(€U–þ6LýñÒc°ÇŒAzŠtœ[PŽÇ…âŠ@txt¹ñqgõÞf»—Ræ8,y¼C`Ÿº#¾¶›S뻳Ud™Á‡Ô“ã´Œ¹ú‡Õ»ôŠ|¤eÓN’°nR‰:øÌÔ$qn,_§3ÊÖBêð²aãŸM!1sýD¸Cc:BQ¬‡CÝý±uk:AËÇÖŒÝîÛ}¾Ä"<ÿøp¿=`þ|„fwšÄËV¼ëuÅ•©?=.z!ü‡Í‰3®Lô¸Î`¼q ÅX÷›vfOCõtÐy¨ÕYÇ%"í¯í©‡¯¿RûŽ0±£èØ¡CZÈÁm}Îa-lâëõÌÙÄ,•ð|€Ð˜ñŸ©/”ERבÛÒ"ië¿e?°¿Õ{V^†Ïh É9ÏðŸcW°””VB²á”mˆLÔ¨<ìOý÷uwë?˜fW¼lÚÇD€z?cK0½çŽ5ç?h\î;z2zx­0<3fÓÔÍø–Jn5º”§I«’nMwrµT“OI*gAÞ =#z÷á‚ó8ÿg|Rf¨¼w€?ÜÏ€ØÃÙß_°tßø$höÝu/°ÐoJV8Š×+¶Èá·TOpp–F2o711’2àÂÙ'ã©›ÖÈ%í¢GãPø~æ?†$´oÿÑüñp~A<ï@(ãÙlŸ]7òWríæbAYב™*½ª"Êa‚E-»e çõ2ÓOTÖÚ‰$¾;]Š[ÂU×ÓnE˜M›x*†ê>T]W<:Tje×û¨ÞéØíëù8™^b{ûó §BjÞ‡˜þ‰tNv®3銾!páÂ~Ë”„Rw„ì1Àåx=o:ÞýWLÊ upŠâ´ÿu'säÏï½®õWv2iµK¬h<U¢Þ@ôÙ¿[œÿ-Î`¾;+§eÉŒ,™D^î3™µ¾î9?yÊïéÿIƒ´~ÙRç˜â*áÔ‹ÑÆ3éŸÃÐ5ݪ©á$,œò¼Ç7—Óæ¥ª¡™¡ xÉQ¦~R˜ËßË‘V jÖp6q©ÝO{Uyß?(sä@VsŒ" ”¯_Ï…h¾ÉåôbŸÍ†’jè½ðÅiCs‰°3ˆLGË#50-D†Œ3À8*B1]éy|··©×+@t]k UM€™«Ã9/Ö@Ø4ùœÓ=Oü˜—%-¥u¦(»²Ö±û^3|‡5e@ptïÂH½ì(~yÞ>t5½˜‰ÝÓ»Ÿ±ëéðè¡„»\“ý(Òqꔆu‰IX6ˆt•Ô¡×^Ö¦[ýÆPnHXSžóCnk’}UUoœïÓJbË4’}{ •ì¹(ÇsÃ&«¦sËaýÖ^¬ÄT–àÄN†€2GÏùoµ±žFòÞn, ¬4DLüßÜXÚöNýH§F¤ÒÆê#€–~O»4 }»_Nµ¸3lÏoïrÑüZ^ïX2ÞÿŒiÛPç—üïdž:þõ6ÔvCm•Εõ󌞮¡ èK4“Ì—â¬"Þ¥éÏåDI‰Ì7Â) ÏrÁû÷ÐT£¨žC«×›þ (åp2–OÆÿxfÀ;´1]_‹‘šé€îºÅï3ÜÃôãÞŒ<­ԇ‰{›1÷rP7lõ(ÏäæŽiumcK µÕ ^,½g·f+w8÷K¡²ž\°zk/H¹‰?õ«çXØ\1¤„±À½ÿÊL>ñÉxy6S_®ruÿ­âØ“ 0fÒ–°`Fìýõy‚_„*þ•'¸Q÷ü›ä R@¨X‹”Ö´;ï4‹êȹ,j»LÚšs¡ó›v7ç†Ð>õ£ªW8&4yd<£úw„æ?Iþÿs”óŸ0´þ{…Ô'99INÈJJ¸w5K09b2\ÂC§q0ºÞök«¸ä§o•¸ØÇÒÑÈuêíC¦›(Û¼µÍ«k°ïâ*:ýÍʹP›>ìíT§Z7DšªÃ@hîoYQϧmí%P…Âr8<‚Øz¿tŸ½Ø—Ð;œ×êÌX¾rƒø —½ýjHhW®Óî:hÛ-q"ã}{b¬ÍKÍÿ/L5 N9ÓÖj1B)æÈ“wZ\áô¦Ú {‹WåMÒ>$—ÜÑÚ†ò…nNåŸë°ÿj}Wý8žëL/WÇœw/ëOöF³û7"Í@¿œÚå™ìO.U²SïîoìKn„ûÈ^ Õ㥶PãDM_Û¶¹ïuçëöQô*:âQ”™aÌÓ=‚©hàƒWQ“pûÖ᢮ĪHîS$‹óADÀcYÛK¼'ú+ÔÄfô  Së„Q´´‚kÒŸGÒ€jóòéÍ`®7+SõrID´¨yT—$hGì¥"ÏîQá±÷¡:ÿt‹\&δ®—æâœÂx†“ÞZ¨ÿ éwjMŽ×g¢ ìÄøäP Bç Ú3=æc†Î2Ò½½¯ðêÆß¹¥ŸY·§"ÑPÈ O á9õoZö¦Ý¡¡•øßh‡Ç×[ÿ^”Ú–†AdÈh—Œö[aÕ ñ* X“Ѷ.Iü›ÖŠÅâ|¦Ã¶Wfµ¢×\v«%7¿Íp«®siËô…wÏ<yá/$¸±-íIjGÚÎ4¤¡Y<ºÔ¸£2ç*34ßêM>¢Ú)àk…¥Ö½Ïx”îx”–‚¼0ºK§°8pY•ìšñ5 Bhz”vXßSm€Ù4ÛãïªíRU‘‹¦m úÎ'2áfX{ª øÇU·,ñÈÚPµ¼–óâçûlBfadÊ}DÜD.ä›væ”,Ç/g:¶¯¢£p¯Ê ëþ0²œ¦j®Z|k:iÝ)”?¨€Ùmw1úùwÞi‘Cà‹ ×b?; –*´>ׇN·ýç°C<àõe‘$jx<8;ßÞ6³ Ëñ‚.³Ç¼~):' =Ó‹æóëU}@ÕŒu³oKèbAvÓ’Û„öÄ BAº5D¹]ÿpàáØ,ñœmKµí´Ïx¯g¸ôR:yÒk†Ò´¬“` $ÂU«îtÕPGfs[#aLÖme‚¿ÌãKRÄßê>ÇÏûÄÑýÏ|Ÿ®¿ê>ýÏwjû—Ø©Õý¼„WýuíXL¢Üut®!Z²¦o{M-9¹É®­chQÒ”ãº:‚Õ„l×!õjÁ~«M+½bÇÊëb,€‹ñõï‰Äb^JyTHÙæ÷Wâ:}”‹ñK·‘¦ÜDê¨ß?ä#-ýÕçm Ž«Ò¬…R9j-¦Z´ññDÿ©3ó²ÉÖvi%$ò\¥£T25£Ñ@ÂZ½îž×M›£*ÐC¹qGÊJÙX|JáåêG"êÖˈzP±yF<Êeq€=PÅä½C Û\¿‰!9/žŽ¼ðT*(¦>,+% íƒÆKŸä(yL›ÊZaáÔ}KY–^¾]Ø ÒO FEœ‚2³¬~òˆ+ÜÛó[SV䊑ËZY_[~ñÚ2@W õ÷õæWÆoÕ‘Ro¿Ö%¯Ñ¨.Ö#ë·™°®jý6µ®¼.:'¥ù³~ý÷Ïû#[šìž¹ÔxÔ©[·øü´ƒ´fÑœòN)1Ý‹»“Ö$¢¶Z>Ë)ëKŽÓrc,Ãp/|¹Ò‘öuö~Í,JžíV7Q‰Ó°€ÇÛù´b`ìi.4'Oë,¦“B‚Ü߯Òf½¶;ëxjìO%L,>Ô:–Ö¹ò•Ì2dªIKn¶dy=”gcž~´è'í\~¬¦íkÚ¼ÃýÆ|>ƒUñÃû)Ôò†õ]TK¿öÅéµ¾aN—¥Rædÿ¦Ðº[ÄeqåË2æ4nC—b›%n³lfM¹™ÉŽg¸ ¤á¢8k鮪¥]6Uøù‡ )©mô‘¶'šbWLtñ[íÄ&®ÇBN­X=I)]ÚýaÏ%µ A^D®Ÿ< ÉalRßéÆ9}F&ÙG´&RN9`3‹•¯?M#F\ïP)—?Ÿƒýøø˜þ·žÖø=­ö¯ù´Zæ)Ý3 “‡Ædžñíá‰üùoJÍÊ¥Êß*.‰}ŒVOëÌ©ðÄëY¶#¼¯K . ›Lç>9ÉS·©çÐ¶ÃÆ ¶ïjˆ•),žq‹5C‹%ƒ"Í¥>‰3ÓgÈ{êÆ èëãyÒÒ¡¹VÈí®®4­Wœ"5}ÒÞa«¸¯›Þ ±n|0f2ž*4‡dffÒ tˉ×9#é­IMFÌJÓóØåœ §X€ÚŒ˜>’Û›™9­4h€ƒ¿wèȹêç #ó€€pZ®]Å<íNôSIF¥x(üyFM†9?—‰{G§Éèãùõk]†ýtøê‹ ?ÄŠ©+"*ñ²ãþØõt\ÍF¿Â6Ÿ‡áä¶b¥M±ZéŒpè"Ô8¨Sj©Ã ukCm/ Üöt„ZJ«E5¾£‡úGH¥ªÄù™¼3éõ¤~G GÐR Àפ†eªÅ²–æÇxœPgè_YAè¶|ÝŸWŽ÷CíòL«”s¡È®hV„ÑuJ[Z’˜4YZÃò›ÌB9!:ó¼†ãã§ CX³˜h¶}“’5w9a"M¤mW#܉‚M:3ùižÆŒ¸f$`Ô4p}0+«ÀóÔQžíõ¸„}Ü©Rº ]búó\ÊZ1·ü𵟘ÉW¤¥é ã¨âõ¶ÔÊd• ÛäŒB!”ÛÏjëúŒi€÷ùÒ±[Ù‘sÅ£(šDïœAëi!.O—KôÕCRå6´]r Iå ­-Ó6 !ÅWs²Jˆ‘Ù •I~+‰%2Ýš¹S 1ëtV³éæÜ]æ7°ß ¥àÉâ…TAí¸ü眀§ ñ¿HVh œÒ=“Á¢f€Tᇰ Ô?çÈôÔJÃæ~ÅV´sôE±H‘)DN{«ER7Ü!ô¿/Wv±kÑIÔÀ룔êYЉ<^Ù?ôÉñh¾ëå$0‹P…|Ê –$¥ËbºžEqœù‹r¹?ñ/®"õR[ÆëvÅÚ;–Þ•ëçäd_v!€‘ H___b•ç.ß¹«®—RéZ ˆlabeÎ0iÝMÇ?ÁæjÞiõ\èx"ø²à! sˆGe> ìÌr#Œ[ÖAŒ5»cî¶}ĵ„ºy‡Ü~™³Îëó¯Ð÷ÔG+"»œþ°Ž#[.ÞÜ!7 tf­m[}ÏøÉíÒàuáõ÷¥£©âp7gêéOe'Lö8xÝ3±¼—[w¢ý”³ŠÄy»¡z(<õmî3Îß>5Ǿ(åžiT½^ÎYmQÌá®ä pâ"u‚ª˜ï¯÷¹ôÊÀ kìàzJ9ù{ä2âÏLxÞPJÏ꼤HžùœH™Ò'¦O¨Àˆ×ó‘d ¤Ý0pêâYºüù,gðzÒÝÔŒìÙ- -ñðThûóþ~‚ˆË÷<œ X¹&y܃ÖÕÑDîp˧›².‰ÞL ʪ€á,Ã÷ŒKX 12ŒôÆçñuooÄèubø–^èÈNÏû«Xý®\#†­xs;§76 Ûé²Å†¢É·àûªùÃÔ»ïÔÕŠþìY‚iÈ£­Šž7‘¥áAýzH$·SœdÀNàTìyHYÔ‰}Äq;îðAiòœq Þ¦³(êö‘¶®#UÔ§³q&ÚV¹‡³Öå„’mqiAÎ4HÒ¢¨P®õ©›±û  ­ÅWqb#©–÷¥•Ç-÷ò2¬5QwðTǬ ÈéuHUa¿ÇLoÄIÒýs¹ï n˜ÖµôÉW¦§lë1úì×:í0 žÄ3Ý/ÉtÉkåVFäjG‡Ç“Û­D•C%ÙÁ¥ô6^ËL‰ÙmgEá? ¤Í]£2ÄquG0eXjs›ç®=‡ŽB$=Æ{ª£–‰ÒMÈ›‘Ø…\æ½wÄ•÷SÁow:ì;•½#¨ªë±ÉXOˆ—ØKÆî)\SþÙ,¨¦é%†Úšy‚âŠxÌ(æØ=Ã&/}ȹžžÅW˜éÁgöñuÅ`Ù"„MÓŠ+é´àë]£Bb%D&ʇŠQLÝŒ†Wý`´ÃS_êú=Ôy70Ÿ+ïòsA}8Avô¨¥}PÛɧJ¤§äá™Q©7Ñ‹áåFuÅðx}>à‰‚G›Çtó0ï3¸› •öªñ⼜ÄsêÀ>|ØØ² ¹v ^ð§ ¢:rUUß5ÓöÓP ¹3s>gƒ„ªU¬Ry}ØX,bÜý5)<—Ó!a* ™ M¦BÃëR¨Í—Ö96ÝË[ïÖD6™å)D¼ŽÌA+‚ágR[fÚb6{·TæSÈ-káî:cÕ_æè‰¢ÜzÝc¤èL…©ñæÔe6g¬HP’ ý”0‹aYÕ¿­¿Û¢Iµí®—¶Â¶pôÁ =푹9îlÛ3yË ed¦‚#kíf­_uŽ`Y@¶mC6Mîʽ—j¼È Ó:Màâ>×­Å/aÿˆqÆ¿R”æ¶Ó4ذÃdž+ÈÁ AöcwºeÅýåýD$ ýâÀUÑd‚M@¬›íãÜˑͱh E>o/R´h ®VnÑU÷é¾áôF˜ñŽp 2ñ»%7u$ÖõÕva0‘ÕýÈ$WàñṦyæà€%<ÂÏà †ëF꼩}(¶@ÕH»¨è42b×°RRI"ñ8J õnNqUÛËä÷éA‡˜¶ \7É\êêYtu\V©cåsÙ=¬³o^R+úëþnßiÖÑiÒy ¬_V#·Õó›j‡Ô&ÇHŸ‚uåú§4•Ú"› _0Ô?ÅŒdJ·ÕdhdÑ„y²ÉðÒBãæU¦_)XSìÕɃ–_ØÂh AP|µ*¬®2 B–`°Ðp¦ò¸Ócèë‘€¥‡?"Áè>1–2/!^©}=Ô>(6K8¸_YîqíqBåëp<–ôøÓ„ÇiIÓ÷QIbé7ÎŽÃÝjñU:߭Сðå\†%6d“q1íP‘ÆSÝ^wO9c·ÊòLQŽ´&éJ3æA/Ír¦>n˜È6ÿPMÕŠ¥M2-MMžq”°õgå{x0Ï@Ò3íŠaø£o¸®8i,ÛSg 9r UToC¡éŠ`Èáê¡€ •T½Ùåãëç·kdTCç0ŠÜRšÑf:ct5[—ï3löpé"q˜jãp/Ë8…PNAëÊN<‘¡r@)b°È\!j?´V’¼i. Õ‡ÏkºU‡.T”D îðNfp™NÎKæ*¯ ï¹í{Ì;TÃG …©®PDg;Ĺ!³uM…l ›¥¼Ï+äÇò ZFܳºDXv”*ó(yôp Ä'îAWØÏØÖ— ùŽw…`«[L£g¼ú0ˆWX=¦ û¬Ædš¯‡ñªxÎçÏñ‡tw‡q¶­¦ÏçOžMê–®±F»$2Y¿¤N9ÌÜ#×$ë»]šw_ÙF—72å¼}à»ÇxYxP|¯Èž°æU.wY Ì+2:©þ¿ê²g“ï?ü÷¤©ú"f㎴¤']J*M€&bÇëu&}É÷Ÿù÷y{JE'©û\ëö7¥Zi)ù™ºêÜ€ú9Ž¿5¥y!=Jg73 ݽ’‚ÓoɨbÔC¬}ôêOQ…8ôwÉqÛê –M4Kj¬Ð®ôž¹‡C ü®ÚÙÑG¼tð·>·­WÁd^r<·eú©SÔá æå¸VËdŒF§e:pù‰ù–ªÔ!àm>wK¯°C&…ÀÓ·”[¢jÏ秆…£ÖY’öÖ´HäŽÎ ß™U±tÄ™ö'd°æ¤SdŸýŸþ6Ö ˜‘kLÃ%TöAõqx\B¹öÊ4ŽÃù¬¶j]CÛdxÞÁ6…ð n+C(î§…ð¥ê4;¤§v¤ÒX¶öºl­Jö(Æ‘*KÆÑº¨u|É•Œ AÜ«N‰—[ý\T̆ˆË»q'0jÈ[¼ºùåõK;¿ÔÀpû[nÈ”ýš¹å 9? ¿î-}®]쳎¬ÙÄg«”{oˆé.hN;ÀÆZAœÂõ[ƒŽ›såÑ[:˜ÛˆÆv†eß,+ÞÇѲÿ¿]Äó º#´Äž8ÐlºÿÇ×þ×xò¤ä§Öùóþ¯½åŸíøp€UTË gßê1¦>·?kƒƒz¹Oucã:PÇm-vºþ‘k„/l*–Ë—~uE¶feŠª@‰SAx½ŸL·ßYiï(ΙT _œÅI™Þ3âLûmb]YìÉàXNXúÕÈWáG“6/ò™eëùt? oXh»%©LoºÛwŽk‘t­„ìñn—Ü”ñDô¶ÓTYÏ•×- †ÒÎañ°\ô×ÿÿ!Ùþ‹C2Í™C0,ˆçtœJ6Îþýüéºf—~žšS–K…À™Rkn᡹ÃÐ ¼3süoçQáW SFn’byÃÓ82á¢Z¤çs]a£:»¾Y~"¸¾ì>ÊyÔ`6|8§f„8|§”ì,5SžÄ!gs rº÷G„Q¤cëØò}ˆøužÀð½vVoÜÖg¾E ³,cnK=зmF|¯ó{HâòØ.öý³i™ÑFXUŸ: Z¸ò½K±ÿiCÞ/âR{ †2§žVÈF¾µX)ì´iÓ‚ƒñÔ––ÆX éíf³gÁVb3·wrîð<ö#ìCù¦Rä›èT¨¶~¬Ö¸EyØXašÛzwÖøzr„'I ÔyÔð’&[ÈTXu;ÇS}†€¶ݯ"ô¡1dÆ„¯Z³ä }¡¶nz¾Íæãé èñpšýv3ý™N ¬€úxÛ›2?|†³ˆâ¶K’F½¤ŽÛØzÚߦæ[Ll[DÀ2@؉øD¡\ðag\šêLtS7–JSĸž6}$¢ß0¥‹@DW§E1uÙ˜‘8œ¦ÃøzGŠkÁÆ„#óŠK>ê­…®Žþ2\ÿ0ím„S™Ê¾Íãž`M×H?’ÀÏ$ð±È®ƒÓ`,ÔÈŸ»å¶”Óå>BÔ9lÛßÉê'žø”¤£<¥Ü£ê½‰÷ƒ“²3«XVµ¨=ðŸY V^Ð. 5a€Šmw šâò>ž(æ8Ž{LËìGT½låñŒ–Ê̶K!j¬/U¿õlìêò›‰uS;æb`‚+‚£^8ù.i`ým¥|ïw'ÄñQñØñÒ—Z,˜ ±ù *ügþÆ3㙞¹Ò•z„‡~#þ«%z¬wš7Û}RQrj¶{½€ÄŠÖ§#甉Š,ñøÒPþ9ZT0õ’Î|qòjÁTëýV•ÖTʵ?87J„Ñ*`d3ÉÖ)5¥¥íßTXq=gð¨YI#É£øÚzÍ€…áÀ¿t´¬ÓÀTq†Ä^àÇ´ÉýúÀz’èœ%Míœ}÷è}G0Èéª,<ʾaU-U†'¢GÚé[Âaýù¤.õ|:Ý!sÓ&mÆ+î+!2Cò¿‚ù#ÔŠ[ë›{˜zw˜ŸÒÈ\ž‰i3–6ØIdPì%Hƒƒ<÷5Y 1Þ¡Üç[›&p½Ã2Ãþ­s‘ëš|þÖ ”¢…ðÞvx MêMâ-ú Y¶>8^¬Ûý?Ó.e¡$Øöö&»Ò–¾ë¶Ê£Š¿L“¡M™"TPœ¾„$waÛa=,¸/¾eK{w&pZ­PQ3œÖ Š‹sG ĎɸW‘ñã"–V_Xª`%™}æþ ¹gÌ={fñíDíùóȬ×ÇŸb`Ù‰ ñ8ÚçÒ{,.-(\åñf@¼oÌŸóGÀüG¦5T×/Àü ˜Ïˆd÷ƒ“žE^oECÙ#šS¶}Ó«+ýtžÉÉÈ&Ðt ðÊ_†|#vӼʟBùñ;ìBùćoˆSË%-®ÂAVf |n²Ì~r3Pþ ”¿åï37tÊÏʵŽáxP™ã.¥ák ýH¿ éÓ8–?ÈhÒ‡bqëI3 ¤Ÿd˜^þ±£¡ðß°J×3ä!þÌ*=…ôÅ:ijes©@ÁØnˆi¢.$ 8L„8êz[>ííR>e ã‹]QiïØè;‚¢Øád&}³*¸Ïˆ´«.ÞxÙ]ç©F8¾­§pµ¦¿cÈ|ëÔTŠ"H [ËeiGqI­`j<¡=ÌÌñø\#©bFFU_M=·r¤8ÙåVÞšWª‰g6Ç•`ðñXV;­H q¤»$Äœy-3ÈèŽGñþ:ƾŸf)øz°áaˆj‘<}fgN3‹>ö5§Ú´Nµ®n4û|E×Yþ8Õ(]e³&PÎ~É3LžDFæÅÎÞ¹ZÑ—§ƒÄõ0[¸Òiöð˜o,ëfLn§u·¶(H†QLÝH¦ìî¨BÁA¢—¥&¡Ù­ßVt}þªÜPvë¥÷ßÐð?¶jfþÅíí®Ë«nBÃMhøø›@Ã@²Š°1ï£Ý|pg° €1k'šƒLX!ÞÆÇã'¢þ«eZ*ÇGQ˜êjÐãÑÄ@å­ÉÑwP˜շ0øž3„r„Åvù×ôv¸r½#Ù;ìŒÓm>=’À§Zò2|)RO ž30GÄWÄê±Ç’ú/å é[!ê{bSPœ:L”{‘¡Ä½…äÏ7 §ÚÂç+lbcÓú›vþ|bÓ06…†}|4vðsö'‹êÍ>V·u¤uœ‰Öécõô±È¯$làÒzôýëÚíhqª@²¸ˆ½öÖ/{íg'§°Ÿœ|%Ír8Kž«´Ñ!TšÖ”-–”åc©¶D2?Î÷çþK9}³E­Ç“ÓÉéGrú\¯H”Ÿ© ÛŽ%Oìâì^™~L°§Ü,^o-—`‡6a°¦&éÉå{ÜlQ^Œ±Žpí Û5T ÌZׯ˜»¾ 6Nð<_[¶g¬ ¤ùƸÃä*­ƒh*iN¨]'“Zijé|s|¸°4Aæ]!q!½4ÿOïú¿"&ò`;,d˜Ü˜Ø¯Àz:|}ÝŸËB>)À=˜Ôg'õ¹ôЯ’–¢â\†—ÍG‡™AJk„!… ùö}¾ÅlÚ•?›Í¹ úQE¬`Jl›e’¬ùÌÅ'ùÔ®Ȭ°ÕÙP ÉÕO ð*ÌqoÊð0\sþz³¥qÀó­?¥Ä:úÕ‰r¹Çœí†K“•¥åʶxÚ‹(Nq7ZÝg ¹)+pMq}I†N;’ó2òP¾¹²¤¤Åìú˜G´wוk*æ3iÇNR½´£~»ì9&ºfã@–iÉ…wZ·qѺsžz|š~~ÅÌzÖfY'k;Ò¾]¤5Tß] üçÍ¡§EHµ–ÜÀú¾Cÿ»r¸N3cQîl}]ñ‹n_×xÏøBzºJ-ø'”=ž–Α’M9 ü¸®3ÌïÛÓvB”¢”CwÔT§ŠÑ%#8èúN…4ÙÑû'w—’z’ÜÞìK’–þI 2Ò  Pì¹ x™õ-Û¼¶l:ðNÁÚZiúM $ºõë+Wlv›–-½529G[–GO’œ!þð‹\¹þ<øèþÙ’ôgáD}ÝÅ ly‘Ù¶$€ÿ¬ÉÈ®ÆØ~Ç‘©c°Šn%˜ô­:ðlÝÑyJÕœIÈg¦Ú® ýûͤÿͤÿ0é÷cÿØýiØñ6«°¸X´nÍKj<ÞVêµ¶%^WiSùLñæßš¶0'JÙðê&ڵ뭮C f/õó•æ¼®ßwÆðý5ªÏ¯÷÷cŽ‚䯡°¸l½çZ‹.üà=bˆ³ÏtàiÝÊèÄ•1bÌ *HfØ^a+0ËŠçzùïhÕ­V²Èë;.ÌZ¾Ÿ>?ïïwaû»°ýë Ûï"¤¶‰WŒ¹Xèc»Ð˱uÝéB?|íЬörhÖôÔæ¬Ôvˆ±9ëï19]È5tëФU'¤ i«ßw(®X!¬>?ïï§r´¹9/Jåykéü¶<áʼno@ÝvŒÖvvC½ç|Q-æM\¼ç‘Œ`tÆ`àœã†9 ¿ï‘âûŸNnÞ ®ä€§8úg†ÉJŽ8-†Z”‹4ÝîùP+"¿oјU5gh ¤Æ©t3JêÒÃtŽ@9±QÝæ]—ÙD§®îÂ×°ùÕ)Áê?®ÏÿÙ•œ‘†j«ÚÃF%¯3 ûÔ9C6­«œÅä°ŠÏPaX1ý±DWÓ^Yc+0ßÚ3P……Ñ ±Šÿ;³±5Z~‹Ì¼m“m_o qû·²^qãy»ú[Öxvg¿×Û~›TÞ,Žn"wË©v>oc»kjɈ­]>sÄînÇìüäfÕ&þõd/-n¶X“~?3oû $³fnó¼KV?£KîhÏ+æ”DGš•‡.ˆýñâÁ(7>$CPÏ9øIÉkÛ1u0ø!ë-ÉÀÉZÚŠÑ—º> "lÒèvw<ü‡N³Ì'þõÓí|ÜW°´ûåôÜf:Œ¡Aû²©ºb)òà˸c«ªc&e6êBEou*i© àˆ§•ÝÓI¥Þߦ7- ŸtšŽì¹BúË{ã̈Å×ã{ÜâÕoí³ÄïôPº-s¬QšÝ²I°†‰úˆª7šì~§ç4œT3|$=–ŽÀ'âãá¿:xöO/C û8—c{¸ãx½õªCÖÃ{¸ýÙ,2d ¾<=±‹Èz0E6{3°\ªXjËwû ·ffÿ•qÉže%×½ZýGY­ïJ ”ÚwßgÆÍÄJHjI±¨ÞÝjKŽfåÁõ³õö–б»¢üA;õÑ~@8©lì1&jn™àÇøª­Îì‰óry¹ÇvlåS{×ûŒèb:ì1T´B18m™»Æ:kO¹xÕéJ¬Ø–ªÂ]¥*)=ƒÖ.ÂÃ-/ö’Üq&—¼”|-â4«ˆMg3¥7i5>Ù5ݲé‘#º”¦¢¯%6¹%¢2¼ab9å¬}JÄÍÙ€ ÄQQÅ|³HrA‹£¸†oÔ£au˜u8åÖ½lÿõÈ¡eúÜÃ.xl˜D±–_ïn 3C¸‘‡ë›ŒðWéÙ¤i:¿j`»†8o=þ£¹Æß¬ mIK·v`óùbEG¼Fñ̓­þfù|åöž¼O?ì{YÓ¿û ³ŒÒn¾ÅüjÛñoÛÞÅ5f{Þb,žÑQ±›T ‡·ÎªžÏ[—ƒE_Âê-~õcìŠòú¨>Ün”´*QÄ èQ6ÎkX(ðQú7NÈÌ¡·pæw£!¥=^ ¿uá;]ø•è÷P¨¶SŸdû´õP±ÿyËïŽ9Êmôk±ÌRY}‰ÔgÊ3×ãíC¥ñÜ5,™FA(W¨çfw­ï#ŠÓi–‹ÏÜRy*%Ø9a­+íÒÿÚ7}šËž6­ìªÞA77ŠÐûr&Vö©uOùÐLiÎÞCYŽá: ¯|™£Ÿ/‡L¹,oRó:.k‹]íZì¡=wóÔýøé⬽“çmN¤ÝFÚe¤Õ©{IºÖU©;‘±îáש=QøÇš5¼çáÜ*gx¡äb½ó²wq}´¿~ÃI<š²ïD“ Ôáý©Ì-I^V0‚žv=•Á·£ÝäOè{Óô'¸Äx(ì[,€_ß6/©x§½‹JÔ÷ñ¸´GOr·˜"í7óºËþná•óFæýõƾ¿Ùqfëø3œºÔ”lÜ;ýƒ!“ Å qLãæ–„`Y‘t™EÎ]O\ìz¢Q¿€õÝÆÃÃ+¾?š\Wd"[Ó‚K,,ÅËî'¬ÅBFîà8g|iî°gh]š5ðš94ÒWø~pƒ¸ñ¬œ ;¯OñX~ÿ´ùÊ¿ÞßïÚøwmüWÔÆk†'¬÷§Ó•VÞazù•R,ÙhNÄHñ»kfÆ’&#8>óÖìŠ\~¿"$çL¿úLì:û×Ó=\ê—OùÍœ—ŒüPwˆ€ƒW8Úv øû•X8Ra¯¨V{®wnë+f;^^GV×”Bcl˜ »’—ÅÚô&Ó?lYbƺ$“¶—íGgREüúí ß×} ªËÅÜ&f?Õ‘û¦M^ô'A^¹VL·³®0 ªÔƒ7ãàêçÕÞ®ßy0Å 6Ú{}-ân©w‘ëàe[ð€¨DÓ²iûäà»%chô*à ÒÜ5âV³§U`·lAñÖƒí¬‚<Æ]Â}òéĽ?uˆµ'öž¡"=³IˆÝ 7Žߪ˶™,©| ædÙc$ 6)‰-]-F‹à±v[ÒÅ:—šPexǧbú3\×ͤh‰\¾îe<:i{ä·}Œ‹·È‡­ÇŠ¿3?¶Jô”¢õ9y. ýèAïô„È)-‚¨µ!UÌjbÕ†¤뵬صPà,PMú:bùºâ\ñ®ðvNK³»QZ1 m™ä¾›·‘ÌN<%!°Ñ4I¼ÍŽ®WXÞþK&¼4¦/ΔÉ4[ÝV›“›mìjâC\~LŒ—||6i;ZÏT¦v ž·óÇÔ<ž¦¬žq‚ 'ë§gÆ.„Dk§\;¡frƒÞb0$ÚÐðõøc49ó­›gñ¶¸ªDT€ùÑ„2“Ŷí"ø¯ø]Õ,—·õ™áx¥ o½‹ÁûvÁ\H¾_ÏãTUÇ`’•HwJasNúµÈªVozEr†ÝC>d5|ä'-¼EÕž›ØuåÀÅ%“"u€ ¬ÏPåJJj œºßøP¦©çáüFE£¢ÿ¨(¶úëã´?û—…g(¯Æ›Îgp+ð(Іž-&KD3…Ñ ëྠv’šÞˆ€2.À8×ή³*XF}„ölT}q\|¼¥‚Ac¢‹D÷®ñ“dM5¾„­KR`puÈóSqå}ŠU¼OUgoD·¯+/A¸3™¦Éïßr=ß¡¿=àÞÛC礩£«ÆZ^4¨ß•QÝ•…%øf'%Ñ/+Ôq'ãÌñù×u„¼cúÞŠLÞ€¡5þS0ô=,%ßÝÖã›d¨r}7‚ )‰ŽL{n òBž^‰šÊ_«jáß¾D–V:éISE€¡4ÒaFU¼Ä2ˆ[iãW…↦7<ÆBź>ŠcÚU䉎j-ºɾ3œÔÓxÏp›n ¡ÖLeý-¶ü€PMCÇ&Z68ïxü†äCòÿ¼¼Ùúõ¸Ò¤×¢ºYóP¼j°3š€D¨ß&ŒòÍ*¨x<Ír=#5 ¹ôã'T|ûˆQ4œá¥¢j“AŠÙfËa×f≸ÿHͳ’ÆÚ©×·¨À$בúk¦ˆýÔÒås@$¿´P!¥»åúÖ9ëÐ3'VÐK˜¦øäŸ!4—„(ÔŸq¯«HU¥\Áo·ïFI™ĹMí Wå;¼âéD,fuNóë¥_©`l’œ&‹¬žœE¨¬xŠÌ|¸ßŽÿu£ãhq69ý¬A(F òPЇ®ùýÃmrDôÀëKxý~Åõåô€=McO"ä¨e E7xÇO;0¾ÎIÃir`@±ÁÔê0¿¸Qu™µøëï*ŠŠCm3l@Íðpw¦[ƒÇ­ˆÌ¦›rßÒÉz¼@M•±¢) LÜHØèc$Åe[†¸+ˆèmÙ:ŰlßÌÓ¡o~È%áïOù*„<èk‡i|-â}çº …[.!à¶Ñ¡Š2ïY¶ 3ŽMqÉ©2¡[Íölœ³©®ñ˜¶^2Í•áa‰]@¼cê75$F޵®TB¥ÿ¦yOòTŒ2Ôrk˜“s‹õV FbJ³Éåxë-Uÿ\Ç“½ô(¶ºY˜‘µŽùDöÅCŽÓÊ­- ¤Ýòn,¥Ö'1‹ª3é]\î%M]-.ÉΙÃyØää½à_2†ð‹ÐH?†Ÿ*wÿ}rËÞÂ’os‚­±ãæ1VºxR™h‹ŸxŠð×ë1²ÁÐÏC!­YÆ%8.VP}pJ5ÒÕEó†Ë¾êp:77ÿ „þkW_yHw¼? ºW4Âø“có»8&=,5þ½°E¹öÿm œ â¤ǪôÐÙ¦ê|P~íþÞ~¥à[Yë»IóÞç#S Ô)Á ¦æ¢Ì» “ ±¾ö›Â!&·dA“Áƒ´Îðe¬ˆmv&¸5[²3i“OÖZü- UWÝ[ž^S?2T“°Ë“(#QÇ·?#óŒ‰ Ý¶€DÓÆHJ€a\†ämfšþ¡œû;­¢•õæ`8çf™þ:<hÕuh×a]U³¿yò±4µÛ<ª¡Ó]!f7{iYÇ·gîì¡O VÐ%.[A âçtáX'à¨Õ\^·MO+ìi¶•ôVö4¡ª¥ëÞ˜VÕ`¡F˜“äõtŽÒ¨ç°ýùÎàu¯ ÕJ6ªm±µâ!sš ü.Èÿ r¥8'žŸ^ÏÇpbè€Ï à8"Uk „ÑSÕ—­çÌ"³§|8 ¯ÝL¸<——ÄzJ²½Ëפý§ÝFúaÍu¹,˜s•~?ÙqÓ§æa Æ\… güÒ’û™åP´àI¥pt´ý qÑ5Çøøqßs |Ò¯ÇÝá;ÎÉZöÁËÎÓxê^qâC,ü92{rÄc‰ý½â÷ÌœÝ<ãÃ~¦3ÅšåG|Aª§ÌŠ}ŽÙIœmËœŒ&OÇ—­VaHøÓ½û0ì/M9TWqLµ­Ê‰Ù} ¡¥ÆÍ¼¢‚oñXBóe|˜R^Eçå+v‹Ÿž©‡Iά먃WÈãú|°5];bµ’\vá„3­ô™–V$=ä’æ¹âØL§2g­.s‰ÐK<æc¶Ë©öα •ñëì¬íö~‰Ñfº¿L‰‚ÀˆlÌ4W:t²¬)ެŒçƒ­|Ïó½ÃŽsKQ|¹ ?z6R‚Ö%“j/uB4Ÿ9L®T:ã̹k€&†ÃŠoQ–I´j×ÇŠêÖO£Ù*éS‡ƒ˜Þ°}síi§æn•º5 ÎÓ‰ GÆ\•7­ÕÃ>kA ¢(J÷$s½Ö=¨›ws+}¹U•êV'`ìÇÁ÷ˆŸA+k ¨ ûa½R2Öή4àô >¤H€Ü@6{¸–2~<‹Ó­ÿ3éÖXwIÅ~Ãù¥™!,ï\Ç‚VÊãˆÔ‰&£¡Üi˜ÔW„öÉðc=cãJ$”†ùŽ|¨à0’kCÀ“ $xù3©ZO²Èeêó´:LS»ÕÝÒ'\OMÖŽu kynO+ÎxÙO4l‡;¬Ë!f¢Ìvy(¶8Ú'á‚'ábÜvÞ°‡Çüý)!vŽÈ ¹+ISþÊf)Þ´Õ&ñÞ+ êŒly™ð.ê¶WrÄ kh]][cÄo+±y¥ZOA6µûÓÏ&ÿ¶ÃÄ`$`Ò+ñ5}ØR¤•ñª²áQ§·ëœ TìHü–òtwO2¦@uݹqç°¥ÊÄ)3ñC{—´¦‡½–©7Gæf­u¶³™ãNÚ¤öÀÑ,‰Ê]Þ$#·W8§öÉW|£ï8©¾Ã|/c )Ø,n6O23ócÉ®ˆ²ç)±Áƒmy°·}âzÀ¦f*—žîØ7:ún“­U‘iëVÓô®Î6=€Â'›‚Ä ·yK²Îˆ|DKwÌoúüãr=¥¶²¡C¾Q~šš<=:I}ÚWrÈá_†V³&––ùrã¸~ê«•æ2²è“Ä`4òu\° ê¬ }-DøúfŠÉ·tÀ[LæŠ G;åÓs¹ìœ™Bäøe€V~’¥ì•hÖÜYÔ<ÀÊÌèöÉOÌShdç £ Ð_o‹êÅ(ݹÜ=[|ŽüÇÉ×+è½muáÖÛ£N’Ây´ÎH/{°•4)QãôÙŸ¦±HDšÐàÙ§‹2MõXv¢Ä££–† N-«Ïw6=ïöäÞC;'aÔ„µš^m}I‰Ó¤¯ éôŽPZÇ”“a¢öìüÈ»¼ÄÛÚü”‘$—ð ï!ð/s÷Šø[Ý‹<ƒ3ÿŸ_|Á–<ú0^SkŸf‘u¦óµaæf-~¼7ÈÛÜž1 dŒMÊœ ÛŠ©æµã9k¥à‚€Ë%í¿‡‰`íõ;„áPV 펤+ýækäX?ŽËÚžtá°Ëª|=Ú¶M7ñdý=U­áÕÌÍ3×"`hí\[¨2%*Ýñ¡ETØœŸÚV{DƧ*`ÊÛØ2‹†d"’¬ª{OHÿý¾›ESXŠkš}e÷r Ú¶XN:yüâvÈñ8ÂÀÄòaç Q¦f1êT3‡)¸ÍtΘ8R,ªñЙS5þ–³Š=œQCœxÊï@LÛ ²„¾}µôÆ›Z®O¹©eðÔ«ÛÄC¤w8A[þ _q4eDœ("1¾Ë÷×Ûù.°ÃÚ\™‹c89þÅm7ügöö5.q²¤#p®Ø§ÍëuýÎ3ïÁÜð "A2ÞRµ A½úûžñ¼ŸuÞßïï?µÀûYC)ub”é¢^s#–’™ôÞœ ×@lç‰K®Ý宺Ü—»Š™«{§^ÄMWápY@0’äÌ,óç}ßZO³î‰»§£Õ¬JüakM=Ìñ 8Ì'øûJdè¹µ–Ä’öwjœïŸ2mÙJXo~>¯·[ëa„€Nù¼¿ß͹£æÜO«Â˜"ܱ„É8Ús•A,a®XÂ\É .Û¹HZÓuQµ¥)‚ÞÓ2øÈ@V,aŠ&‚ÛÙ7&íoS„ßAüË¡«ÉñEÙb°³*güWfDÑ+FE3þ+3þ+3þ+#>#þ+=þ+=þ+-FE12퇤ˆßÅçïâówñùÏP|þ¨KbÀ±ù>ZÆ£ ¬×agÏÜš¦7†áX‡fwüN½æÊ0s{ÅIöŽdëÔi÷áQ… óº¥¯wD?tÚÖŠcë Æ®¥S”fn#’%ç\ž ûŸí{ÑG¾ÔláÑzED„{h6 J©þéÚÒéÌúI»Š}èdPB˺tˆF%B2UòxYƨI–ÎöØ!†E.m'B2Vv¼t¾rÄ)¾2ËŒ^ ú5ÝOÈ/Vоt®y_=®3?]Í/ 9°æÅ² ˜;…ç’Ã=n¼ù,m;­.9,aáȆْ©±"ðÁØÉ/öIí8Þæ[AîùÉ™ºÝ:@þ!ô¼D™ØEörÈÚ&-æ{‘}˜M›Ä¤Ñ´çs€°Ü—)¿[rNÅÄ:@úŒIÙŒIÙN*gê4bÊ Y§€ƒe#'õóŽ#HæÃ?·ýt¦*†K¶#À‹·¾ïG• Ë¡gÀ€. Ã0Xç|æ@·¯VÙSï_+L€ˆzb ‰Ö3%ŽÛ§¸•bŽäÔŒëü1?;©îsr|qg(¼°HÖ¿…A|]6(= cŸ+Sm#õ6¥–¤f³5× o툿3|¹º Â(£¾=~ÿäÀF£­´Ÿ|ÌØÎcúì]!'>’É›9p3>Ì¥«4»$”5 ±IÜldT×ëÜ~šckk¹E:-6OKSQd„åuYn^äÀÐï*-*Íż҅}aÕQºRŒ16dÉX„N''ÍοKÄ ™¸±—²ëNù¥R{‹ Ï9l^0-Q Nâ3j¥¨ŽÊLˆÄ1¦ýG|è  ~;‹ÿgñSgñã§³ø¶¦dËtÒJôÒŽÂ:þè_Îâ­å¿Ïü3ÛæcE|gþÞqõs/ÇM0hǵœ3òæ÷áœ3 $$~&çVéÉ™YpY=ÔHo\Ï—£,f*œ9L²*±šÓÑ}µFfÿik?*Η¯ÐÓÿ¯ÄŽ}‚ä ZªeN:ùàùýp²š^Lj'Ç î»×‡'öë ™þ GóÊÑr«BP‚õÈmÈoaeâa_˜Öá7ï:-IÃ+2¿®;ôªÞ•oÎ û cýEFýâ™áµ\{h$-TÈi÷!Ì ±)I¥{×3Dѳ*ÁuŽâLDhþ3õ¸¶È{BÊ1ÿ êD©†|{jfèè®ÕÐ궨Aé0y,a¦3;˜;a€]õo墨O?ì MçPõYkCà*¨šó¡ößDüÚËÑ”xGͼó ç·:õæ¸Û+JÈmóþô0ÅöÐJ ÷¦wž7ºì òÍBbïÐhDá Σáú:ò(ïˆ5ênmš8c¹#êŠ?Úõ /Á¶O˜ùIV»SrHc1²¢8~‘˜ ‡§Pš#¨[0¤ÎX¬þLŠ4 ˜?çZ’]èß_Òõ깞⠕€¾Y=·$hQmè÷4ùáÎÎ; a}ްïí…Üéë ¿¦š©Ïpyú_‚—´€_·ò†uj×î …*ENÞ8–|²…ni@m¿äµ„£-ñjJÍè†êÊ“ëC9è|>ßbêoí'OëË…þ½2¯H`†u1/³™ÉTÙ_ß| ¬CÝç$‰=¹R´Rkü–i:ó?{²výÕÈmƆ>¡ËY"^Å­ë7Ôž;<̤=¥Ñ{˜zÐaµC#%¡ã÷Y·_1 ñ"8W†íÃ4œ±ù‘&•ñÅ•f  1­ÝqjN„˜H£)¿ì½>›ü ^ t©'°9^a°Î1MGÎÜ¥ QµØö£#0žã±Û2áá^1&¤²hÞx´Öñ~‡HŸ¾¢ÙG!âÀ+p31`äÁah\úшKW¤‰]Kêp‰ I3q2$&]ƒTŒ„Ö3’÷1ú–½“ë^’bìÙ+ìûµn€|ƒ\é=~4t.¢œªèëÙÆP’žGO`Y’uOy.DqX|íÝR?&Åy6i@ý¢÷e÷ó©Q‹Ö[ Þ¡TåW¶ð^Œkwݤݩ€¶o%¤<þ1æ½ÁøZ@ÌßÕ ߢ;ÅØØ¦²#ªlÖ]³|~þ¯_ÃFX3˜÷ô£èƒèéȯ!ÊaCôûH•Ó¬n¯SôèsÆéM›Ìyë t8Eb+}]wA ·ðIZ¦‡·°é¾ý·É…Åáä#Ý*Ý/ÚïÂ?É{@;‡†GeÓÍ´­÷1®˜½P&Å—…Çð¦˜J‰ÞòßÂÉC+ÊzS†™qÖiÏó”Í6Tì‰íÕÝ¿OHR5/»¸[®Ê©„+~p âwžË¿—Ó¦ýÚ‚"&:Ÿ‡à›Š{²ÃèµÜÒÚ3eÓ´ºIÿE#mÚ5åAPRå³orø›¡¤s¨¥Ÿößí2iaÂÌtmpNȹQ±îÏ*f)ÒÓ%ï)™´Éûúh?þãünEÚð2ˆÐA’#«ÃzcžßÍÒOmð²±C_{P¼!‘]ïŒMNÅ‘’Ãõiί®ësñ#QˆÛS†«GG½ŽÏSÅ:D÷#`nàizã·Ã‚Ï€“0 G[ ÛíÒQüL±´NÍC]'FTf˜_l(M)×êˆ×ýâ½Í†ß ‡ÐWí·ÍUþÃíÿáQô®GœÿX6ö›Q“XjÕÍ„sQÕîßš<¢¢l„H„$ÔíÄSHTAv—é›Å´c'þ^p&WÜí»ÿx4B¿^Ú *þzÏÿP4¶~Á†¦Ø½Ö;ÈjÐÓûyV¯Üsèþ+±N¶ÿíjðº#‘žêk—‡‰&ðMß‚+Ô¤Ë<ÇŠðé—Iƒ»=nè?¼,1#"×x®×ÆžxœdÕØþŽwvžó•Æ3šÓβ¤Ùj¶þ4—@>4×ÔÊ2'mžóüÐ!ÚtÚE§ªïÎò?F®vy. çÛv?¿Ç­Áq‚Bd·´zæÙ„‘K&ë^’ènP)Ý^™R0­’¹‘Q’]ò>!ˆ¢ÇÖ6\œ%:H¸Ž\جL<“ï­;Â[iÜ˓Д~[]ª„ŒùHË »·ˆ‘\ äÁOâB~ÁÍ­“mÙF®Õà ÎYÍŸPGÕÅ‹•e†î²§žº=¶J‹A¬'Ô¢‚™ÖŸšî.Í•ÞÒ • öúùÅ?ê½S+þö4g^ò˜.ï©ý\ˆ{M$£ɨ†iÝAÆ¡YSˆd(×hÀ™Ñ¿ž¶Ï+^µÔ&:caÄö2ÞB£´‘ø¸àNUUª[åÞ%ì×g¼•¦d6UÕXZòŒhί ²ôÃlRJ×ø4 µfoþ4Uä#š?SÂeF¸=ü¨Ü¼”Qðú\\,÷0³qO³F2Ù!a ñþ-¤´Cxú,n1ºµ3S‰ÝTŸIEä+I³°Ùù}hÅå5CX&‘ð›N³ ‡,iHp…*4»À 3Åoy ¶ªþÞ- å„öe‰Y×¥Ë-ÈÌ¥*ˆï©œâ9í{ÞT>1qÒr"ýåDúêCšN¤/æo½ÿ–×ÅâÚÖrL¤/X`Jf"}½î&ÌÉó%êºé±K›_N¤¿ýþz?ìœõ&ÒŸ™H¿HëЭg"}¡:h'·ég^—ñéo'ÒW"13~ØEp"ýå„yÄ—ÎZ`}½—Þ¯ë÷ñN¤ß™Hïû#¤Vúq>ãÂ/¯C΂ÊùªEx;‡ÎÄé{áL ˜Ë¿'‘|Lbèæj'‡þ‚³Ì#p¼¥Ã漯D)å,µ¦¤†JX´hÆðá²‚çæ€; š6áæf:Ú’Ñëª>ð¨7e«U}iÅt¥uyVCéú¾ép=ã—Qh[jË!­–ñ.ørÔ£8e]‰Í6‘„I–ýnÖÏïKú¨%4þ£‹qt†[e›ÅQ½žšàjÀÞhVÿ{þóz ÞÄ‹Xí} ÷*?†\jP„‚ÝŸNþ͆”q4\˜¯u' o©[Èø©hÆÌ»¦©ùÔA6¿oúòà9ƒþ8ë¯ñ9jݽƒä2˜ðT›4¤Ž©ng 03sF('¯Êyj0¼p›¾Œ†[õU emûì†J>Yµ_—®Ùs×Õ Î*ïÇžx| _×”àñrãÀ»¾B¸ãigÍm•}Z§Xerå ?¦.&¸þYG[†²1’AÚ¨ÞÒ°È<&>‹y‘»?ƒŽ®·YhÌ·,=hüôý”'åÕ±Ò‡$óø¹ Ð§†¾ÝF'hÌÕÅq’Ëâä(•Š4©uÛÖØ‡:¢M´û•aä-¯³^‹ùó}dUEW;dÿÕgä:(DŠ5™-í±¯ÒYï•*ø4=j›kA÷WÓ¨jN  h Œ„è÷*÷˜‚r)©)!º€Ý#!_Pvì`©²C¥Q3Ó H :s?X”‡v —#½Šðë.àÌïÀÛñ‘ô#”`¥9’wéüÛ %¶e)™–y4¬ð3ô‰e —Ùž&#ÀwxVe[Ú‚SpPOÁz žWåiùnœis^ÚJÑ_™I_¬…‰bw¬p&Ä­£ý*€¿SÁ”‚_AY©Wd•pôQ¢8©þqÚ×É…ûÕ­q‹¿œ|Ó/z •ZR1-3{·&Ñm‰Nö8ªõô¡)]*å4Ážá÷ÞjíGö'[|«&ºÕFϘ;1þ°âS»ÓgRzãl=æÚÀ®-1~(ñîOe‹ÚÊ2Ïn- ìc¤k5/`9 #ÅéMÀB½·±º–a7%)^µ*<9×™?`Mª]ø]®Kã†'ž¥r‰Š°ò¯HDÎàhwKᣂdäŸûgس?ÇçÒ¡-sHS¸L)‹ÚìÎÐàðTü<[RÀ™JåÑ@6CZ ä³ Ð.œ=6»DjÚÒѬìfìÈ9˜çkBpÚʸ̋y—rCmJV4¾ãå\”;yÖôÈkZ¥Bk©ÐZ*´F]"÷Ú>^WŵÙãUìÜZ§ÀÖ¥*g-ʼnÚ]7^C¾üÕMiÌBý5ÿTœõ§ø©Èt+QP d+ʧ€¬b*#·x]ÅV=˜*¾2GyáXgqÆë £@LqÖSœUd¦ Üy}¦à¬ßܲ,(Ÿâñˆb4"®]v!xJ)ifB xÊ•LôгÌeˆ”\ÝNl…á40+W¬=ÿ*ÖG D’ÚŽÄ=…ø(qA‰¯š÷Œ+0Ötï’©( Kc"P-h’§|×úÏŠ‘•§4Ä;ºÂâƒÑÇ„êó†7Î0™»ÚXˈz¸3Þ¤–¼©@b»æ¸ -Õ-§½q(ƒ— ¸JÉD@âh²mAÜDlÁÍ—=ë§Àðj…'4õ/ÑDÖâ]ô…K@¶Ër 7(•80NÀsûŠ!V"²E. ,Ò¸§dÅô'êNdØÃ!mõ×ý˜¯ü€!î#–ä——3R˜â %úö ˜§Ÿ’ë°ëôÑ,ÓmèÖ@ä<e!SÉÂF©s/1`r¦CßJ¸;1»Í&$Öõªýõíò°Æ0ûå37(KZà•{#hÃ2Ð¥ÃX@ÇZœA¿¾H2É9\ÒT0Â÷IOéæûÚõö·ïèØy_SÞ ÄP]¼ì=Û dé )ðÍ$à¥8ŠÒç¸r´ÞÈ<è9­d†[É™„„Àeçêס/ÅxD0-åt!N3’Á©¤åxéã.°7ͪÄi몧ñëÞýºÇU+úV:OvH\DÏKùôÚ®üÕíÌÎX!0Ì|Æ´eड‘qeg\îŒL·zcg\Ù—;C\„ÅvS°“xö\–¨â‡S›.vÆtglwÆ­‹b{¥±õ§ÑÝðà¤ÌRæU/‰1³3¶;ƒ¬»{–9ŸkÆ¿'–ô®A¡Ïsä9æZq˜28â·3e4%ö6èÞÕ¯ár'Ñ»¹mà²ãZŽçz"ßó“5þR~²<8Ž;ù‰(.ì’ÃRê1âàèJ‹¶Gä¸d®øþb×:ue˼èl“½3pêr1Iâ°\Pö¢Ãý¦éŸx¼-ô°+‚"FFt2ÆB±>PGzB’cæõ¬[SÇVg™ÃèZ›âsé;³YŽëP_·Du™ ®m7Èóþôœ/@¸Y "z™þ ÖSžWQï x¯6-VÚ™¹µ>µ§1ªpÒG™´Ì!«ªq˜¡ïMIqˆøY³›†øl<†B 3±¹ÿ ì²ýsö¿ƒõ °#‚µ/P¸ýýAáþæÀÒfF1-( 7ÄýÒúý¿ o…!(<)¾Â÷ŽÿúÅ[dàÝøëAáŒi;Â)Y†*ëH» ë­5ý™ê­ú=Ï(°æH#ÆG‚Ñ99Œö`bÙ¤ð„60W²{qZèOÍ0ÇTTKk¹gbkÎÿÓàüupL>vÊ›–òf¤¼é)oÚÊ›­ø«§ÌA”e£Þ„•ÿWA­ÖB9FÏÜ8§ü‰SS9qßµ‡¤ùúˆèXâLGw O4M@èøž-2g’!4u*bËÔ…/¶yüÁrõOÂ>ä¡Iðp( 0éýšù™L° {N%[=“»œy°rÝ/í½B1ZúS°»¡ìl@XvßPN› ÉånÝ;˜”Ã$Á©.bVžH°C8Œ}zäŒÅV¤Fu{Þ+0Ä-€ÔTé˧ðt]‚¤€¡§~œC™,½Êt+ mlÉJyF‡ßÀ—´7WÀаÈôÐŽ¥Ã@Þî °˜ž¦‘ î Àô0}˜>LŸ¦ëëda¦w€ér0­÷<LϘî~½Æˆ§TXͶt.òºíSÁŒwi@ðÎA©s­ÃéóESKö˜¬#é†ü™\{Èè •RÚ³çÖÕÂJT5„xlháY`c6íp›ÜÄ´GâK2>uÄX¢‡[O(5y¿ÞÐåj™*éäó¡&Ø ÌŠžLŠð4­­Í¿Óƒç}--š@È…ÇÈã1ø›¶ŽXÁæUÕúd2É)ZNzÛëÔs“V÷¥P}! [¾Æ)+6gú"\®àz½t’Y9p£ ¶˜ÂNy™y×Zµ’ª¸:$¬Š"•ûùêï«W·šö`g0”jÍ ¹i«"ótdÕ‚©\5qÌYï³È‚ëê\—ÜŸu¹{Wxk+ç+žkë´!i“+ò.Ü'n8`(MnÙÉóòsÌK¯ +A*²ùþÚ=‹\$Ïá6'Ñå*×þìÄäñµóÎHPÈŸ»Ÿë‘hzæ:³më2¡°D“<§$óâ.õ² tÈ’_éñýÒ’5ÓìæÿY´¿¢,hfž ¨ï¿* îÿ²,˜ˆ7{•æÆ‹¹¥ ÂåàÐ6ox ×Ô¶C0&^à ƒj€o…Ûˆ©ie{JÓj^#¢Ï½Ÿÿ@8•ÀqHÿú…§É2¹ê^O)ïXÿnÀ¹4ÅKó ë”û€ë¾Ç9¾:±Že˲oŸ¯´EO5î—MGb÷Lóp‰*ÏmþOdhV¦]‹7Oë”:Î4Ëï•ë¹>´&°¢¦€´ÅžIûÅ!žî,äHôÌjô7ÀÜ«„¶çÁ*€½‹°\r7ÿhúu=È™Ì,ý{Çû›®±¦/Bv˜`§Iš©hÂ÷æ'UÛ­î¥N^À¢¢£Ó–¤Ÿ‹Üg°§ OŸ’ãS"¶;%b?B¥Zòûàû- Wê~\y/™iâTQÙ¨Œ©yš1{—NÿÏû3¢ò{~k+4óî¼ÛUŠ9¥ó§lGî÷Ç|Ûéòví9<ïê3¡ÐYf:Úˆ¤E…©¶o‘ì'ŽqÅÝLO dgÇ‚xRX—šÂMáüFS8þ@SX_ØIª#é ·WvéwšÂÎÈ.;RÌi±…ƒÚ]_u-,ÞÞYi±ØBc²Ò¶î`Kd¹¦´ñ:@!Ý9Ix/·“™_º KÏô7ZY‡uM©§vÌq€a:{§öÜ8˜+–L fJ4Y©³˜@Þ`:hµeÇ2ìf„÷g|°ŠâAÁ HRVÊ Õ’ßÛ«ÿõÔÊì«1ádSpŒ¤%„#‘U‰V°U„“`”²w#»ãW‡]Û±­P¤KZ¯’¼±š²ÕW³ª×ǵõ]üoàR´·~ºœ ´wÊöèö"¼r͆¦d·H—EŃÀ¶ho]h²Z#ö WJoâÍ5…•’ð¥Ãk?”ü|%| …ó:a¼§möÍ“€°´{«NîQ¸ŠàûPr=ZÀ#ö‹ð'-Ø>*×>$#ïƒ"ÇH?#¥ß±/î}¢CÙ(äîTw÷¾§páç íª& KáÃLêOáÁJÈL{f>Æýp¢›ËIJ½S!¢˜G¢˜Â{ããT^°ŸŒv2Œ`]B½çC\ˆPDàMØie®²CÑÀp•N¬U¡žXzBÕJš’ V(V…ÖNáê´Î´=Z¯ßE+‡V§²z*Ѻñ†²K¯RùÐZ„´‡7˳ X3LÞ^GUØÙÁ‚¯.QT¦¡ë€Âü E¶§Nþ% æÔaWDªÑyÎ*Ú’ASÉf±‹å,ü†|Œ§)Àù r. ^æ%v´ü½PéTV¸™8Ê_ì=/2ŽÖ$@SU{´iBZDâD…@L•JÌF*%v¬éW÷ÝU[8çM!· ÉSþ™üUágÎf©§ b^ð%ŠÕÕ 'ùf ë¾¶©gÞ'égržO[ŠÝ\ˆB– î2W F‹-V… BVq“ÿ)ôqÅ”_øS´kΑäû5Vœ+Îÿ(„¤8Õÿ6„DY¬bû²<1ã&œŽfºŠLè\ÊýW?þ«[:4{%§Aȼ¼AIò[ö·žì¯Ÿ–ÔiÉÄU(>3É,\Ã4†d| Í¿Ùù]öé÷H°¢iþ>Š/22NÈì+Dít@¸9 \6 e#úÿ37~æÆßš_¢‰´XK@•ãÙGÚ¬ Êäs| '°Q•T¿;êbŠ[9(È3¥ã8RÙÌàÐV}Ù ÝvOwZÑ€>ÁU3û®ÒŠ»!öz¥—ÓŠq=_PiE§)ÃgTZ1Òƒ–òQZqCµ'iÅÉõ%è!û+­( #]J+6Ò©‚nYŒAiÅpp­Õ¢´bqZ±:­8œV\N+ê„l¬CÃøšuÆ•VŒ´\™÷yüào~ð7?øLªþ1åMÓ4ºIZ K‚&$ÚÚ²þ¦<ƒ)¯`Ê«0å•u·ðùáµþcÊ»ÛÑE!ÙCÐ ‚ÂÐ"wnp™> ô9[2EÐaÐékD…}ÇŽ‡[ο'5^H{ü„…œ¡‰E (GIæ¤8²ÄGº¸Hš^‡ž‚rUõzl}`EáÇ"X™œGü5‰2tJÀnÒ ’‡bGñ5ʲa2ˆ –#É'"Tº¹Mv„S{°c.€pPìJ Á,þÍ$ÐqϨ/Ùœ‡ºKÿ®˜g–ŒâPùÊ Œ¥bj'}ͤȅ¶  bi¨.Ь¬uýè´iDÊ…i£Ww8Ûóæž ¹×}3šEöæþp²BK¸ˆ·ÄÁ¦C?Œ #ÆzÅ UPA‡ìwƒ¶>mØŠA ìYs6'´Õ-EdÌNšËÜœ¦Î5rµèȵo™ò–6lMìF`ô/Øä·ä¥|f'//@¦ Ó¿%/›×E2@fý ™rÆç¯p»çßsà6r¿¸øJ×I©Oésý‹êÒó”/M°UÖÎÀ< W‡t¡’©Bô™íú ÷ü«ÅÞ°p÷_à`”œ•¡Û{WiºÇÂ=p˜ú—îÿÝ ÿ7¤ÔèNµˆhL¢u]Ïf*/‹-{±U/¶lš1¤¹ÿ%9Å(—Å"[¿Zµõ7äÐwת퇢²Þ(*‹¦ýuÈ6ñ‰üé´Îç”6«Â7ˆÓyøñâÂW /`¢Ò«Ú?O¤}PÊ:“!¿S_¾º¦°a÷ùá=W 7³p3+¶°b%çT%Ó¯*UÅÂu鯑¼pÛ0”å þx r‘ÌKHER˜Ø©¹¶Hì5‚Ÿ ´”þï–\Èa!—å” vÙçñ³5ÏBTH}Ür  tvß›PéÛ$t¾ÀY¾ZË'1x,‹ä¡Ú’hßNàÚ=3¾³&­RÈT0Š”óoN†þëÉ0qÅšŠ¿QºU^Nƒ8“Îá:"4Ëй¶ 7)ù¾…ÄìýOÙ>kùªJ/SUÇR©¾…ÑÚQëË%d©‰}УS†´qxƒ³¶³ ÎYµS¯½ºš[ƒ?…nËÖ®×Lr’{S¨anËâçŒD†Ü¢bbŸl<þ¦ Ïx¨Åº-óT·%­S'4„©R`Ð7X¤“6Á±Â"ž â~8@$MNª-tÍÏaqÂÔ©¹]£vÿrXOâ_–>Ù ž6G¹“ª5ž¯Ò6„jŒÁÙ¾ÁD0\Ó¿«F«2Š„8œJŠp„6þ©3ìo–Q”´²v(E?$ƒœ©’%–¶ä蓲­ƒdôò);´’¡@„ýq`(ÙNuPõ–t‰C}"QûBIŠÍ·ÿ÷3BÖÿFH·8ó6#¤üÄ Û`~¢žM"/'<˜UÃ@^ +þmËT$éíˆÊªRÇÉÇo£ýDœA„.êwÅB•n8UšˆI"!'û² 5 "0ž‘ 5ö [¨Ùb `2L èYUUŠûø0a×ï¯'­€‹íY—1Œý]æVûãø¯í:m}´YŽT ‰2ŠIä÷ÕvpÑyÅW¤›Á¸æ¾b$ ÆUPôÒqX;‘ÂCG‚QÌ¥ ¶X`YJc¯œ|? §“•5®¦€ªN&@x—B¬ÈO`×éÖ 2[»wUŽ£–›ñ IÚ‰ø×~ìn*Xb­W õItÊÎØ÷ò@ò‡²Öd›•È%ù¿iã7e/³g°›‹Þ¶˜±mà`Hinxwrq€‹È©ˆÎTùODKOqæ§-ĵÃțԗðnªR¾Â:奙S/RAUâ©2l†`ÔF³Ãç“^ïDûh5ð AHTñ‡OñK•Ÿwè>%¯i⛥ߦ˜Û½?l/OÌg%çˆMN‡¿UqáÞQ¿Çò’¥.˜îDˆ1©‘[BÝÉÄ,ÒÕ òTÙ8eš*¥+Ä*ï’yPDþ󻌅r¼AyY(ƒ£¹¼R"HHzUCã ©»uÌoÝ ñªjZ ¼m•±èKr™C¡5=-ä\j¶¹ŸÈ¹ Ò>pAtÛ1¥îÖw«*@ÇÈ rÒ+cÒ¼*!¡ÐU;ÙÂ_6y^YƒfÔï¡oÕCߺ\«ô;Wµ~qU Ï×JSÿWõp­òÇï¸V­žýe>­` X0ÕYl1Or²…WµÃ+©,ÛlkEQHݪãÚåÅ9£|DÝ 0K¥à-Ž7ªy@0eœ yœõ>b5³Ž:Yså° q<•1ÇIÓ«P7¬œ(0Æâú/úÞ¶ÐêÓU‹_šHº-*}/Êt-” wAØXˆ/bTÝLOT_;!ÙK„ꇎPi²†&l™:•ª¿LÎHI #Ca9 ŒLöØ¿U±Èêð•íKÒŠÚ¾*8Uבr±¤L¾¥dnJ–ÕÂSkV D·©¥9‚]Ôi–ö4m²Í™Ço,¤ÖçvuÒÙ½FcþµÕŸ¶ jÖIJãœévlC'v¯^ɘÐF† "m8<¶A›N¦($ÙÃJœßç(oûuš…ïÄ€TZ\ANOÊÕ%kSÒ@ ŠÉ9ob`úþ›ï¯ï€6« èû7kMùûË™<­`¦ÙpgïÞÅŠ:ÊK’9  [e÷®å=+EŸØ½ÊÐaÛ4­:•WÒOPg§v¢ÄÙµ‰/Ê‘ˆ<#“uª G9A¤ÑöGr_‡dʶ¾½­»¨]ž¥Ôca!ë ©àTÞÎñ³³¯›þQÌÿ‰v=Imi_—É]•YâÁ+¼$¡Î’yPŸëu‰)vÄ»¬ÙÏiS„ª•§éà*6't„Ä1`–,IÁøM%ƒ„Üé?µoÎlRUo.Ó°äîðLøY ?+á?`%´)i´%VSW‰í¥ NϨÇL'@L/Ù‡§'ÓšbÈ®éyûD;$殳 T18ê߸¸„]ÎÓƒùÃ5S&„“EèÜN¼:•1ZÉm%œFh—äP‚Ñjšës[vFQ,"¬” £5ðì[çø‚{±ÐTú&ÏiÏq£NÁB 9ûèÍ&#œ¥™ua¿¨‚Jå…+aU Mçpë!@UÌÓí2H`CÒÍÙöú¥‰7°Uå™ ·Õ³ž¬â0±·Ýt­H—²h„ÌV´3Éžc/9tR™ }?+ <ýÞ~ÆÃ-¦Ê©—êän¬Ížä½š ÿõS’TŠ×GÆy’yQMÜMªIn£DÖª¶• Ó‚tñc—ÞiÂY*ÒŠXV*ÄÞ:¬wŠ ¦ýýig )캺SiŽ+©ÜL©â’¸ :–bië?žíkþÐþùßáÍûJÎL½ƒ’“ˆ-IíâBýŽ5/[2"ª®5µºìÉšïfͳæA›* +1ýßo4 ä·-FÌ(©J%¶/%@&‘Ú(æßW­Š½’HoÚI›ÐÃÚXΟª¡4î‹#&„¿L êÄ9±)Ѷ…Ö¤Âò¦q)]°‚&À¦² ªt¢!Î,vU¿8ÏD#3&M i:Àb„ìÄÖÞÖ'G‚n‰p.åœìÓ“½|›ìÔ¢/÷Ï?1Ù×ßœìû7JDãQ@Hžì>Oó(NE¦´·dyÿ $´|üµâ´ÑE¹ý‹“}} Êx&;âíôfCE$ç¥íVRgå«ÚÖ/0 ºQÉà¢SgœíO¤š‰ Æ,ãje"¥H©ðo6B²²Ò§Ð‚vm…ÕÞdH ­~s6³³SÅŒåFÿÁØŽ`,y&Â\V  ·V×Ñ”dÑV¼;"‡SøÓ]¿ -I«\€W¯8BjXY.°ÖÍ„ê¥jˆ’+ÈdŽ("6®µ¸+‰=á8U•œŒºæt"H]Šû–qÒÀˆÅö—û’ªÎÂÄÒt^4þ"á$"àÄNSEXt M`vNqSŠ3Cǯ¬R1•ÑÏ ü4¨¼"FZ2é"¡Û$>~'tÎTÊJžþ)Hk‘ÒUˆ¡—À(.^\ŠŸ ÓF”¶­Ì¿‚B][f„LΉ˜ù¹"#-¤Û?¨KNrO>Àç7üî¤JÎÚ˜_¨„Rä`*©³žÓPG²cÕ*¦žøI¯1Ó^<ë[Ô šÎ«¡kmp; â˜VL/«yϲûœ*«äd&ä/8jûv+ï?IÞeПí°Âš–QTdPHÀ­Z¸*>N†\0޼¬*—ÚRéU«ÆAñqô6²›Ö9d4½ú23)}|/>v«0—@ƨb¢ˆý“(Æ™>1p±«hG˜"mÖ ¦M¿Hx[2”ð:ÊU@Â" LÕГ9u‹›Ö#F†âÌ̘¦Ó9öÙ‰êÉÑͨÒA>@Eòle®ÅŸNY€´˜Ý-ÂïzÏÉ ì3¼"»/2ÅãÏ0]73á•3‹%3Y9Ò‚K˜-NÜ 2›ÉÀˉÁJïŸ §Z8¤+yZå®åOXÍ%å:Ï/N– éi‚³möiÇ…”#e€¿öÄZ™*”àSx¥iPbW´#N‘R)N¬Â*¢QYäHÕ¥°ÏDÍ.™–uß/PMèd§™ þZÐQŽ‚· äãGNPAH!) Àh¹xw²RE(l•Û«"ù¡ }VX%£YìùÔ//? õ ³Eæ Љ/Î2&•±–1y:[°Ì$m¡‹-´" ·8=âqÁÆ` •§ Sk 2YiX]² ÁKÇê;Z®‡²¾‚n6BhÇ I>õí`½QŸ[‚f’éáôa9BÐmšÉÓþÜBÆNd×Õ‘‘@‚(ö±¥¬ÅCÉ6ªÿ|(h)^X@ZUkôCZ¬lÿ]['4ÌííîƒZ!ú˜ŽPDÙ¦sd"ÂÔp^BþnQé·"ÖBUÖY¼e9ÇC®0¤Uä}t*È}â,óâÍ_|ïBLT[Æ"rAìM?¡%ä@R¼“ì´§ÛÛ6[š~*δ'í«Ò¶lI,\×’B2bÂIHº­[ivqɺ¶ XÍÔkY€*e‘Q¦;VKÃivw¦‘¶>£YÉš[رxÖëA>ã¸G¹Ýw¿1Q›â ¡²ƒö‚VÉ‘hG$ª¯A[gVø¹:C’E>lˆíü$Ze‰m5£0@Á`sˆÕ)B^Q±'êKA¼zaíÃýnw6:i‚~elkƈ Þj ¢.€u”uÚ¥§Rs ýO)Ǫ*ü!zÃË”šŒJß_ÙðÍt_«ïE…¤®•%C•éPsÐ!I1,_ÿMÃ>û…r·Áå} Ží!öÃL´RŠfð‚Š¤JB¤Z™™&ÈB¸‹u˜|¾‡bœC³.|…¸¼ƒ»Õæß祾ë)g¨QÅ6™Ç ‰tfÃjÛYüä3ãT=(STÓÚŠö´ùÝÆ²12Õffr¸‰v-‹Ñlê Ë l9SŸN[SÒrñÝä6¸nH¢ ‹Üf…ËŒ+œðµây&}'Éa’ Z:Å%^€}îšðoçÄšlMË S¶ÉضUP„ÕÂÖÜ-Ü~éGnôƺ­Öž|–+gí05÷„Ê[¢õ j£]]'•2– W«P¨ü [¥û£ý«Œ·¸Éør‚pŶ†ŸZ>ÄQPîðU¬(ÙÈ·êtˆïÈÁ9E€ð!›FöE#4œ]'i IÚøUå‰#¢…‰ 墆-m3òdÇJKð¡mPUˆ5àÅìlèªñ†jjs0n9-p õN8±ÜUX4ŸZbIÉÁfø+)ÒÅx‹ ©'"ùJBGÚÉy)sDÒ»`ô£¸Zð2{f)÷“‘Ý,'½¿Ô”ã tlòUšu %¨‘ð…Ò¨+êĹÐ6ç,ÌüãâÅ…Q&ãm6àH—xÁÏÔ&¤än!6ÐÑ#Ì àµ(c¥,7M†ü…·máJ›“y©²³ñþ2¹Îß1½!çˆI ¬¥›«Œ>……²¨9"LâS™<) ®)誀§–0 ‰*I(skrÄ®Çu˿8`l‚XœÈ*Xçç‡}à{MÎÇÔù"¬5†ðʈbU‡€9‘ÃHgœÝÒ娗 †Vp{q›• )„ÒX´…èXÆÚW32D«‘ïRر6‡»u%ÎÚ©/‹l﯒c\¬(vÍ•Ñ7P†D›îÔ¼œìÌž­ÕŽRô䀌²‰Šx’C@‡Ø†%T¶‰ì ìºÃ2v°±Äåj"þn²O/g¼tÒ¸5(§ø× B%Û¥ê:Q4Á:2Ü2ƒ¸óŽs“v‘NsÕ~Òøؾ<; âE0¬+ž­%;Ó"WXO«± §x6Zœ%»ïzÓMÜÄ­|ŸgTC`Ôì9‡S¸òš  S ´+XŸ¦‚ *Ý=<•é+ìÂU£˜_ìd U Igž¬ä}żíd»<Þ&Åd%½ý\>†Š|¡üA0ÚY¡À3qþÌBLÕ|;ñšSG4\VÁÆP/š:®°òZ>šïì_˜Ö»ê Ju¯UÈk‚)c¯œõg’þLÒÿüIú%ðÉÇFHßEö&¦™ÈUÍz°ø‡O"}évr‚£ËkjÀDmAIvÁÄ¡ÛSüMÜf,†à ÒÃÓ)\Ak .Y—BDD¥ÞQPAQŽ3šîT-7¬Þ„™jÉ(%ÿå )*ûÆE)ŠÕÁÈnU8u®ô  p#z¯9»¼Ç²Ö%9óBôNoXáÞâK‹ðÞ(ûZ˜œ„K»Š®(à f"œý*ÚQ̹§”EýC<™xDme9@!ïÎ3Å+ʇå›8Ä“yÈv|ùÔ&V7xBV^Ï'¼Kb¯xÎÀAWΤ’Aï@ì,|¤1`?šújðHŒ’­ÑØÆ™ÂË…8câ(cnœæ²u²l0U´­m36L»”—ÚÀ­ÇHŽ•4¶ËzP,ÙÞ,Šäî×›ÙNEÏT±žÂw‹cñúa+î%‡6Ð&ZÓT„ñaÌóü#ÏJY«©"GJ1…°!Õ`çw %‰“§ãêU´{¾DÁWϸ„Ø¡ÅÜ{9á%r¿üIÖG“ŽuèYâ8OùŸ¡Ô˜cÓb¬ˆÈZ{F2Êq)fÇTðMDo1àÚžÈË É/•‹›O‚xv!q²¨ èMÃÏ/“FÉ_€Â‹ùyf-•nB!v‰"ñ) p“âñCB€¢„&#Áhà‰fd8†vhÎùH Úˆàû „Eq•åáÊõ„HAœAe—Hhâ’G/»¨Ê‘pIVЦêm _äÉãïŠ$ÜV¸à8fÖŒ| ËI«êuÒv´k#í¢¾$ß8ñõ””p¢\à"R)Ñ¿Syz!^X•¿¨<¨ "jœo¬aíƒòÌ!:™zLÆ*E²ßOFMÙÓHHË )ˆAéœýPù¾˜„±_fØgn)¼BF}Ñ­Š˜•½Z@+gBš&dÀØe %ío¯&;âåÚ!TU8 Y”¾¦b ƒpíd[Õ{.nŸÚ±öb6 늹BÔÑå‘å™ë>Q9¾žm‘c·ª´05žõ+ 6­FŽtLdGUÅÍ•|ŠXoBnïG¼D†>÷:M°s};êu´4Š¥ý3¾ëà1€A¥Ñ|ªû“]ð&Vªaë2³¤ÛŸE'ÈÔ€¦ÚƒØN<‘jºóâó^d‰°3µR´ðˆo&¤:&3ɱ×é{%2É„d(ìуw&d(x¸?¤ ‡»¦’4²„€œn+N}Ò—¼!ÇÞœcO΃Lï‰'’Y΃´·<p=rì±ßäAà6ˆ¡h„ññ“cWé輜ŽvÄbçl[ Äá¨H.lR qRæ|M/â5d„JýpðXœï7á=®Õ¤ô*±àƒ:×Äi@E\YE>Ú66-çÙÏó|Wx)¦ý8à“0ÒøÊ_²&'}œGbÑdžÞ¸(oNT2“4åW:¶Ö%3áŒëÚÅЕjSÇÂKIy[:å3Š)%z/Q‹öxr’…9¹*É¿¥âuÄ|d5;ž¯M|¡ö@Yà ª‡ Vqùb©cêMîÈ4”[1Ùc„Ц뒇)«p¹]Žä¶¹ÛpÆÐtP„sI8'‰ý×%ƒÍI슯J ÊÞ}ܰøbÍÛauJ´°Rí¹Í0cQŠjl(›   ËŒ{¯†=Ç üLv%m(h… e}5 [T¬~´¹Ê²Ê&5• T\è&9Ó}qrR[A©!³ié0#>\àR™a9÷…YnSl ‰74Ozo³/¡Èg©ŽÚíA:€HÉÆR`¦xïð‘ÓŒ 0.ŒÒ.ïyÕúÅ5ü6§ì.¦Ö 7ÉáÏu -‘ÆD‹ŠQÄøU]Tœ¨0!_![[%jµ¹^( V¥ò¢XLõW@ 뇪@ÂÓ¬!$ é~ñoÑDøwÁÑ$5Õ×–<äKªÞŸï(ƒ1L™ˆÇ|¨ºØRþn+ò±ÂŽ&ÒfšáÚi,jÆB[°°sÞ·MÛEÞ Xä]æl,~Õ:2†5p'Θh±»F‰¶Ì*aÃXJó*æ·ãŽòåÊ2ĉ-XÂRŽ©¤F¤Ÿ X›©¼éF„’õBÒ’³’S×À3 ‰7LÔR#“Bo)'p|K6/'› f‡×é¿UmÔª¶°G±¾Ég¼;ý~ö¤MLlß4¯f8ÑmgO'áyíÚâìô9‹‰Be;Î6ˆÖp¶r6;yªºHZ² ùY(8›7åä\jAgþʤ?Yݯr'Ì9wäA¶òrpq…%‚b걄B¦T‚·Š¹ 5?œ(<Â: .3 @J­hÇH7M@)vƒÇî0TÆ0a¹ÚH${xVÊã \ÁÑtиþŽçÝŒäTå¢í‹Ûƒ˜*m¹ÎDò[y¹JUˆRg95"rࣩiËsÄÊúz–z¶F‡/ƒ¦w°‘§jd\­ŠJ†^£¶9ØTžØØ7Ãù/ccû—m‘wÙ뜪ƒ¹I¾ i,Ñ›¡Lùûˆ.+z*/¹)Ø+4Z&ÆÒ`_,Æf‚i¯ípùÂÊ(ÕËÏ0Åjܦj™¸‘"Îfåг+›´ÞÓµ„@Q£y7OSœ–”U1VüŰbT5süJøT… ;L,²GÅõÓŠ…Ù¤ë¸yëj‹qžR§[‹–4~¥=ÖtT‘ WÅ„QurÁœõô"A¯âCy„²û‚RûB¿ü_À´žm9ae¹‡ùS!‘ AäD"—.´È {91Å;Ñ%…Ùå|ÈÆ¢#˜÷Â; #eJ .&ø+cÙ«b/iÄo ‚ŸÒŠ“L=Ö0ÑÃVT@p¥CŒ&Ÿ[…€!Aû™r2>^ñƒ„ÕÌÁ‚EÉN+î„7¯%F‘ô8cúòyûÈ0ºIñ+õ#íÅœâˆÿ|ÒQ|ýõ¹“½â­ÂÒ@ÀãÓ8û#r+\ÀWœx/ Ä´Šß˜Š •z@d%‚b/R§ÑÛC_Z¸¸æ`”9q ÖßÎŽîó®±^LȦ»66 cOJF®›q—Ò£-X¯JƒjµðN «îga­Ï"Œó°ø-6ÜH߆U‚ÊËÖy—б2ìÅëÁ „Fñ‹j°K¶ö4èwIé(¼Ñ§rr—‘–òñ ~´Íõx´à¦rþ’ãDñÖÛaOxík;zÛŠŒ ¤f¥ü˜(›Æ?bqø€¶s§ý‹r=lCkÿ˜ð2²mÝ÷<ý7O¥ûó†e”âÔž^DÚŸ 5³ÿœ?—ÿý6Íp‚¦à9ê´ÎIîM+Œœ›žýÖɯ¶lVë2±ÂÓd˜ÔkÐwM—Q”RéÔäÍm; 2Eó©ûqL]—aÇ›¾¡lj¿Ê˜žÝ“L§æŽØÕŠøÉ£êEÔNà ÷'ð`Õ±›_†sjï¨ ' kµg´¼å„Û¤€*KòíG[äÄêz!5»ý>»ã ÄiùªªqßÍÒ})¨ œ ï^ ³ÃÜ2’³6Ö8_dI„ó¸ÊdQð[2(ð㥛 @ŸÊå±³ªqT8¢æ‘É•8^ì7šËÉ›yøLteO(±Ì r–Á¢‡™´Í/ó™ôÌWœ8úcù¾bìm :¡z—ËäQãØçVéçä[œA›\Ìöæ Bx?m®%?1 #uaޤöAT¦ ^ ,Z…I«,_c—ÂV9K—®ëM¼>á3щS4:ôTåQAà¤ÒŠDå_åx!77ô 2¢_Âtée‚ƒX˜ý.#$zWlÀò•¦Ùé™;ëb 1/Ù—Lçc“˜Ý$F¬Ã‡hr“zcX.6“G{{17OÊá:Ÿ]}I8*BªÖp å=N®p/ßB c×$×Ê¿*=NÂX? Bá m”·@ó!;>˜‚‘DfË Vl’O¨Ì¶üÂî–Ÿ·ÐPrò»…®ü¹aÃ÷ ëöüÁ®ü`WþS°+8cøŽÈŽYúo4iÃ|9 ª}*¬ÙJ2õÕð_JþG]¶O—êÓ¥ût>]ðp(|”ˆ0ët>]ˆƒorb ÿYæ%ÊòŽa³&N—Å.P8]*§Kæt!À¾És9 ºñ¡äæ'õšØj:VjEäc/ê8ˆ³,ÊñÊ/Óy"óSyUÉ’VÀ«¿Ú&ÜÚPê¹#cp ¼w„%X î25_¸Ëà“÷rü®ôbfmD[ÊUr&+‰Ò$.@DL”Mâ¹°P&5ó¦4Õlâ5Ô»Ìxák¾º¢Ò/˜•’nSô Õ•–pÐϺýY·?ëö?nÝfE‰cɽxR8Š eˆ¨ÏúÊEÜ0pQ?Ä@ÔË*L¯Nq¢0HÕÆ‚™|ÒŸ(C½bН¾¥ S]œDäRÁ0m²P•¦Å0¤X¦¡í÷Êt ƒr#NÝ¢bDä#ñ+\‹϶ö¬Ø\aÃd=É^˜Iu«v*‰c£‡ ÷U­ÙOå|éæL›I%œ,¸öªÑtÒ¥ÙnR67YrË×ÇQS'?ï¥ÉÕ+ÿ“h4¾Xq,Ç“ÃÚÕ[‘p!a aq¼KéškLÚm¾ITûÒ°æe“."UƹÈ/gçD¸±hji§ŸVœ©©sQÌÀ.Í`Å/k^ø"¼7Ë(Ks@¦`ÞµÚðíeÿV7Ø6ívÒ¬WðÚ&ác‡±,…?4(ô,_L„(—/'x%ÊpS¨{“µµ'Ç;õPÙˆˆãÄÊÆûd',óAéM#ÃwZèéØê夃v<ûKͪ’Xw2–ñŸAˆ í¡õCu$—/)ü)ûó»jædœÅˆ^¹?塯Ílð†‘™É¸N ¦ f¦P(˨ß-·L3Ó×üef& wÔå<|ä(Q¼Ù”¸$Ïg‚¯hN¼åT'9Õòqb0“Ãf]ç‰r5 œ@ç ™XµÒ&r3©¹­F4§Ø”,QH»j¨©xʇáÁÖÑšíÃé—E„žË_ŧ$`rb+ÜÊbQ ÅiÇÀÒ&!“OJ ÏaÐOŒ¥ìþ–. P"bem²vt Íù°æ‹,ª>è8VØ¢J βRŽGR¬hÇô~yÁ@‚)êÕ±¹ M[ШB-ÐMbMœê ŠÀs]Ëz´+x4 ÍDŒm&bèòQ%¢’«á®‡ü³þ¡õ°UH ¡ÿèU18~˜¤N#„¹ N&2Ê M£öæ2££6ñKÁê«AØËM–‹í¿d l‚U öœüÓ„ðÓtÛ˜cÛA•E±­I™í)K4wCíѾ–¤”>× f.‚ áHv¤åEó_1¤¦‰ÓDIèBvw‰S iH6þ,屎•=]Å)Ì!!’â­åeùv‘½ü€€·”"Ñôýpu0‘p€9è6wÓ¤OÉEþ§\Ù2"ûÈíì²0.–ªæ‰JU!Þu>¾Æ³“„OTÏI„Uľ©í0¶ü&º|Ó½ÚòÕú K{•LÚ´S‘[È2:Ó(ø½´÷ÉeŠ]M Æ‰Î ˆ+õÒðãD íFÎ))í¬ÂV·—®ÃÌŠ1tƒÌ6ù¢ù–Kž¼8T2©|(Í!éf5¾îsÁE#U*<{ ÌÝû š‹{4ŠíKg_´¡oÚS!LQ ó˜ºÁ$Ýè®ÞÝÖ‹þ`øübÐ^î$T!˜M…\lA„OºŸ¤$é²bø° ˧²p+š/Ê>Œ‹ÈЦ{RáðÛ€ÂÆ>i¥Ø>â@žOêĬ;¶R±ãUàÏJŒ·JVU"uCgÝPõ‡P‘ãÒ1ƒdòÂÕJŸ(l á³´Ó¾Dy)äð’ æx‚$)s¾²îÃO•»ªÃûEBê%í^«rl¥¢LÅꔃ®ðšô¯¥ö$ûT{Jo£r‘-­sfN5‡´‚eP»œÔXªU/«Ø†ì ˆ(øÝŠUqÜšW \Yáê‚d¼±'?SÝôG¡êÿ'…ª¯Š…. ¾ð-²«:PŠ4¹"¬*™ußÔ¯ù­à²à1Ö±NgÁ4·ùŽI©´*HîFDXÐ)NÕj‘g½®R1‰ë‘¹áëû‹ê”ûVi„žÌI†Žîêú«F M÷®Hq½dAOW2h²Jíœä’l“ŽÕI êàBïT I¼e½.ýãŽS$i_Ÿt»)þ…g®ÖØÕÜÏw-ŠŠé‘Yè:bw*¾Ð$Ô×°ïå:†ÛÀÈT!©ùҪƗ]:7/ ROË£wW)áÞ…u+y¨Hî|Q“t¥› †/Tá %ó…ŠùBv¨„èâîñÁ¢ 89ߺk>ˆ ñƒ/dŽxC~bX³KE˨¯Ð³#²¼_:K·ág±%'Yàb€JËþ,¸¬@°áÊœŒQõ °¬ }á‹’y#›çôrðüåÚâ/éD~~òÄóz…xR©'é/ *MN‘©’©©$øþnŸ4ÉT¥Šã«»ÂÛB ‹#’º·Ò5[¿a¹û÷Xnñw_Xn>Ø»!;aaˆ´e`‡õ¶µ* V ~4Cÿ»4C¿lò.X¥4™¬9 ¹1 ´1¤[5´)›Š¿'LiËdždó¶1Ž*¬t½¹f¸úNâ ÛZ©Þæê¨MÆ„-›Ý…/:`Kiwˆßu•\­üe¢ÃÎw"Ëô^ÉÓ‰àŠ¼"L'ÀŠ"XË-Ї¿¾)yÖ™I¼‹O· ûœ›Ÿ÷å·Š… ­Ë$A!5š\¥ŠoU´Ä Ë6.ÕØeµ\§L¡'8ò¤Ò> )XW™½wÞ0Ø1f)Ÿ~*›6ÁzÄ\C:#LÄeÈŒõd1~Þ%͉ùq²Â„s:º#62 ÏèÔ'@n0I;йâjr£‡ÛÂ!I]¸Ši(¢rÂèIÓÉ ž;úÙ™ä„`èæm)®iÉËwŠì ±%‚R±ûFÇ.•”nìˆèÄ„‡³˜;ÛìºÌÞ'Á+$΄ ç±Ývϸ2¬œ!ã[¿« jÔYŠMOÀÖ°.™Œå9M8|-Q'>öšèÓ Å 8I9¶-%T_â-^P¨S^åL â¿qß”*Qæ56͈Qét¯øªÞ¯Ã~T±§—ÌÄä8‡Ž/Ôm }Á"†r2ö3©PnÁù"5ÚHÅä†z¡\áN)BPUÍ*šäˆjŠ5‚6œ`>E©§³ªÞ}Ówà–6ùÅÝoÓÇà÷ÌIJL³!¦ww°„RÇÕÉýíIú|áf/3á×­ Ê&¾±ÕÜ­tT,­y¨ºJ—üŠL¥ ‹œP=õ!e€ñI¸¥ò4—MoſƷPôt»a±ýžd¨â65ª–:Ò¤~¶H.Oõ¯Ä£uC6ÞµBp*ö½õ쪜ÓEæ~„^„=F¬^ƽ„½|}­²OùÑ=Ø8Å”Ÿoo`l&;¡uG»vÕ.îhORµ<ù o/’ÆÕGŠä˜/ Í›Æ ‘Õ«~ê(⣛Å×Á64¦ÂyÜÀ â9ïóœÛÛs>Y¨Øôá òÞǼ”ì47› ÛwÅ$úþ˜S»þEØð÷gãý„3‘„À”^Çói8>Q5=¥†×ÓpÂ'jŠP„‹3ñxÐÆßÙv_îνœo’übÿU—¼w ÝRì‚e[Éjk¶DwÞýM•­Z¥ÍÀžéÏœ¾†ø}ãå¢ÅµÄéÝ/váâóãqTjüœë{ûâ^`DÅùÔÈ‘+ˆ; (!8pBý@„$ÿ¢ˆ‘BZÀèé™ÑHgQv'l’ â¸ëXŠ£!}xð’ÚØ`%^-›.ù=Œ•†Kð&Ѽ†”—X:á¥à> 1åÇxE6.œµYx }P¼›N—-O…Ÿô½ø†—ßd0ᯨ$­H€±+½öá÷ÛK²ßÌÁW,sþD¼¾„çúV¢ü%¨;†"…^‹b ßlØ R¦[?OÕ¨¦ 9ÂÂØx>_Bwo#k+ª¶ €Qìk* JlRcpìËON?65¥T;‘‹H4pœlÌFÙÃ¥:…Z( JªËrÎ$ôˆ)ôÈœ’&-3µB;k7ñ‚ðŒ~3/af¥#‡E,ÁVÆVÚ@H)ˆiM•J씢¢/ñÔsé_chF‰ý°}ü÷°åÿ\6ŸýJo$„R´9OpâØZS¨D|LmÌôz“Aôb¿Œ{%¼*¬-WeQ:‚%²±.ÎWÕÀ0Ñ©ìÔCŒ|N®{pWb¡}³ L¹Yø<>mpˆu‰Ô«öa§Ü§SD!½fp¦RªA 6J¦ ’¢T×jD„®ppOks:#¾ä#dÆ·N´X›TYÓNÂKks;—þemnëlø *¯ù¬µJ`@Ï]¬Zl4:áuE–9½Š« *ͤu/•HùX}:Íä÷ï'*ç4”K ”ÃøÈNHÂÛ!ûdU“+`æ€ÆÍs¿œØkÿšô‘s™ÐcB¾e/‰WJšBxÂE³zI-‹ÙÕa U#ý†îÎÑ ×Ás>(–Ä®“³º‚(“‰-A*ð*¨+ÇßM¥ÑcV &0(O5ÉhV³;ˆ²˜¸°êä.›ÓËÀoß%²H…·BÏÔj¥£T…t¡R›Š€(ëéÑ.³ÁÂ*LX‰éÍ]w±z)ï^iô-\¸?þ¶(Vsȼü2—xÁçü11WÑå«ô1@x¶õ2Ï™çß„Ìû6ïÈœR‚PêPnf µÅF¾p»µü-z£i ØªõYÊ‘sÓ¯|üV£¯¥#©ÅÜWp¹Ë™@RëG‰øG‰ø¿A‰ø‹s`V¶ 2­ˆ& gþ¨j,Q‰*¸°Ö#,cÀiùÃk­Y„[îæ€·0Î z[å€Q@åÿŽVLPëH wM‡LD@ÒÂßcã%¾ŽÜÀpù`9¿ “JbJN¦ÿÈÉüÊÉ|±,jòR¯È$Ri’0 QªÒòIh©ë [<ìÛè^ìýŠãư¡Y#Øæ¿œºÉ¸é*®.ùšmõü‚ÊF”=jdlÕOd˜6NDЏñ¦Â{TŸÓ ^¶CLŠ´'jQçX@ÿ ˆ|%HØ~ê¸|üÈ ü ™¥…øŽ%¶GvǬÛ[‘6IÙ¯&Á¥º\¨lÅkÔ‰Š3§t[^h;Å–9½W ‡ßˆ÷ ’ô”X°$_“G>å6ù‚— a¿*—WMVði–ã9ãúµf ølì‡ «“Ù‰½"ƒÿøï.²!VÊÖ=%æE[Ü:kUœM•o ÞUµ]PÙõT˜¼Ë2k¶²[q3Þ€øÊrÈ ß‚„ag§ëdQó&¡;€É=ü²¡†Õшä]ù)ËUªð|\±(±UÒ«,˜ê4»ZEãgys:nTŸlO6ì…W' ÈDCYB®÷,™©Xø– bÃÍO[Š7æí’2Í5áñ[ú ÔOüذå'Ñ 9Ãë_F£@ƒnµN@ÚËäv îCµg¥éh¨-9ó§"Þ†ËÇÃUÆ•È"fäôí{2R’[ÆäS}–bØõDOK7Þˆ£aÆ$'fâÂuIìêé?ô…7ézûŽÍVu•ÈtSO1¦Í:dbfÊ#dT…r¬6ávs Ùà•™õs&à³`̇€QÓ½ô¯ú¿Ãï]Óææ0®±>²ö ±;(òG†!r¯pjÔnhCˆÜâI +öMÙ-vÊ-IzKâÄa^ÁÊ!ïÉ-!Ü0²Ûṙ…°ÎU=d·fÈÂÒ&͘n:R׳Éþq±ØAÖŸ–‰ÓOÚf“ß,aÁ D°‰E‚MÙÆ©tبGÍY#!7É9è « ¹¢Äqxb~gŠÄÆéR$Z+›w­`HÅ0 C*™¹Àˆ@ƒ$D Sœ•BÆ"JU³š¦žoS–£v¯É0Ÿ¯ûRßÊ@¢TÝ¥ñôyø+ý׳ޥîÂÛMŸ™®ù„]6D~Òx ë[Ð'v´j«è¤ s0á*]À}3ÍÏŠ„™jê1†Òß ‰Œ9ÀXyc(tÜØè•`6–…ìÊV)["·[þD–ÑÙ{ Ü*ûÿË[ÌÊØO:Hµ„u†=Ö•%ÄŸ›¤Œ4oëÞ Ñ›lŽ82 ¤EêP6˜”ÊäÓѬHJ’á„çô¢’ì‹t鋇úÔ¡€@Åa•šKº¿Ê)ÆF݉óË ‹³¶ÈÅPéÌ ^ÞµIG—;ÃÅ˦PóHõÙlñ{áø”,Y¬Â9-5T' €Èâ ^;¥¼|ñ0U¡/£: N‹©bßM[ìúrÂïÙ5öMø‚Zß(Ö©•DÉ!ÑG·ÕÖA¤‹Û»´Ê"I[Dˆ‚{$bT¸á•¶¦a€Ýaì bx | '¯Ø{2A¤ÙŠ™ªJ& +€ES9Ueñ=< x¤u¿M_cÛÚ‘(P·uoÔWÆ£+,ÅP^®ý¹/_v’¦¬ rËÆ×ìèøÜ&62ÅöbÁSÙñ»lp€à$Û€¤I°ZÙ¸F«ÐþD¨PvfÆÚ¦îòÖá#¸B3¾òKÄàši=!É¡ŒûÖÁ^M¯ÎN&tlž8A»ÁBþvÅE64Ë2§g6²yažé¹ý‘Z6ò¡§|Ò ™ÇÇX&U ¢lʼn[do^¯€f¾Ø­i{jÌz¥ü|»D¶¾[É÷;ñ‘nQbTÊoY^ß·Y?£ÙV©nÿÚ 0«ZœÍÖNÄ-(ÐŒ-ãÛ‘ä6LB¼&ˆ4€4Ù‰”ûÆkÅ ïXßÖ{ÄÿL% S'&a*„3—·X Tê€,dM’|ý¬]œì| -)ÓÖM*êŽ"2’tö–n±„e§6!]£¶¤‚hŠj¥ ¶]xÙü7—'·W’Âï€_¼®¢ OR…pÑw±¤„TZÜbmN ·GWX4áB+ÿ%aFPí “]ß&NÚÊlêG,R&}˜f~ ·\¦ÞÐÆ×TÅ ¿Â{ÆÆ':’Èþˆà‹$aú}ÆË‡¡”1[M³¡æõÁË.œàXE§ÀFZnåKäƒ,eÉéÁbAã–<ýͼ€a? ©®€WÁÙ•½€'ÛßÓSHÂ:¼Ø/±»|¿@d/Ú¦ÕR$KŠÐšú/(Ê/[8¦Ì.Î7aŸó2Ð8'úeÊÔDôˆ’0“©\mD)ox§VpˆvWÎñ^Ì0kôúoôû1íIDwFœåD¿oÄ¢´—H•‘ôŽ2ŠO ¢%jT_ÎÍ3âí2G­&Áñ6GÊ›’ºÃÓz𢰮¸Øi9•Þ5]ÂKÆÐm·Ë\ýU̬ÚCå±ËãÆC E†e6SõFÖôKÈd5ĸׂâúTDC"mXþOÀÉ6%*” aÅ9ÿ·×øÆ ­~jF2õ}ˆ&kB(•31An$vœòîtʤrü˜ š•uŽ<Á"ÆÄ¾WöŠè©Ô¸|Àã?·é/Àãã7àq¹Ûƒ?b7€ØÕY‚‚’Ä7 ~~Ãà_ô½^í²<†á̤œM˜ç5³q)jn‰gÚ¾¹å.q¯ XƒåïVˆèšû™Vê) ·údéÂÅû$ÇzȾôNÚ 7@s½“ìßHSr|r$·æj­tg½oÄ<âz´ˆE|Fò1“X!M¢ÝÆÖ½ñ‰»ÖJðÒ§¢^@õBª­ ìhQ\]k$Zô.zØþf\UÚ*¹¥º¨Ä‚T`…ñH¹aƒa•=¾û7_wóu«VÞi ÀO„ì§ nw–È%‘U=·8ÚÅäÕþi°ÛìnA.Ukbé0w½¢•¨ÜÚŒãÜŽ\»Â5R}"$‹ÃRtíÙ!7tìña`Á€“)×añUÁƒšGg1 !S0ôX2/Yu•Ì‹"©<´Ê5¯U‡Ól¹ß¡ xe²\$áfú&øÍ|€àÁˆ%8×4q#âL–J1ãȯǞ{„%ÕBLíaîÆë“{Ö…šÜÚóÑËÄ̦mŒÇÙ hÖâ÷uF´Ÿ=þgÿý¯Tf!Ì­d6 å¦÷Â' J‡XÒ±±Äû°2ê+|šu&`9w"û± ¨BL’ý¨³!|µºÌ¦ 'ÙÏ^ÿ³×ÿïÞë#4Ò#Ñ{³B ÁjöìTOS:ö<Ò;Mü«N$ûbÏ‘SKdNKb.í%M™¯IˆD{/ðîî Pì­Úƒ ¿ßk÷“îõ}Bn ߸KqÍaêõBV»[¯«gÐuMe‹‹®A…Ý5–®Qçk'©׿ 84æÐ߇Oc"{\s¼Þ ¿ß+Šº_ßÏùõs~ýöüâœBÔUý¶ÉAl­vž«C⊏„œÑDÞ(óÞ‚'U'z=‚_±ñ5ÇãçAõW%wâõxoWðŒ¿×ùéëû*?e<èŽìšsq"¾÷T‹>ÂßÍþÜ,(TvT9ô$+÷а3ñ³n1Q;i mèyD\WüáMz>òøõšÎäŸ3ùß™¬ï¢ØÚV«sm@ØSŒ-v,­PŒMçhtÚ"¿*Bò£$´±²èJV:´)Æ&æœ+­“´G¾MÈRPÀi!A:sŸ˜d…MR€ëÁ9KÌÊŠŠõÆ¿PÌL4K†I»kèßLòÅ ³4fÙæ ÖD}'ð§*Ã!¶šÀ ‹)4«ÓÚì ÊâXÝ@œDúIÇYñ±¦T^{ZÁ8ÊäehæÈ‰]M©ï ®6ù´C›4X2@$Œ×Á1ª\k7Ä¡_X¤Öó4|"G«4ÿÚÖêX?Xá'Å&Ty0ƒ­k¾sÕßZä‚—ßßxù s%]­ˆXªcO@èˆ-jÂÄ)‰ìKCÉXg&h¶]~ëpÁ'¸|©kÊÏØt sɪ ÞÄFŽ UQà2 uÐGI®*{þBù6ˆ&0OHf¼$˜I é-(†¬˜}£&ç B@¼;BrB©bÌH(D•—·Ø1!ç&Ä‹È1¦Æt˜1ÙªªÂ±æ†“›™1ûcàŘ£|t±bÄ*J€éD‹é9FžuC,Bm/Àoï€ÀQµéØ.†Ï’D#y(¤m욪ÿ¹8™VýxD3[œØ*Nz‹[Qø;±`2A~ä@[ÐÌdÁfÊWwUι¡5+Hm+†,aîÞ¡…‘Š¢IÞB?TïÒ4H ©Eo€$Ž U±GM5’8æeÃpËë}Fç4‘…O‡.áï½*“gŠé(õCet„ŽS‹²¶À˸䎣 ¹úíÅpÐ"H°m†×x³ZK™ûœìÂâ!â$HTˆªÊ24ëVG€),´ÁÔªR9±wf¬.½÷”,¹`²ò¦U_Ʊ-*ŽÍ1ë3|zKûV¢”íI}¦.º‚€L°å}Uf6¬&í9ȸI)öÂ¥RàùÁ&&Œù­ (Àó)C@{j´ JªöÜØË7´4IŒTßo1Sºu–Lk0øWÏAUL˜ÍÕì)‘‘³¥!\>ö i-½¤_4Uòfѳ´Òqe×9Ø•T H¾S›)Å ATÜbĪ E†#Ñ-@y•Åœ¢zĦ£|b˜šjTß vÒ`¾T¥Q_”ª~i ‘ÉÚ ÿRë‹’-æ™ÑË:'ç^å7–wµ|™Ð©³˜ï{¿(Á!ü•”Šì JQs¨Éd@QçecN2ŠAïGck“á1r³æI«ôL¼O5P¸mOBòLš!Ù&f±&›×dóšL^“…µ”º)ÝkòŠIÚÔçlÎ{Ödòšôû¬djÍôZ,^‹ãm-5ÒýÖýAÅZ4ДÜì0Ž”BêW6b­¬£šìæ/lÑ{¥ÅV€G¶“­7í¸?Ä>_P„\›¹w¢®‚S…­–sž÷M%Ù’ÿö„ ayÆÉžr³çlU)ñ\ÁJHr^®  [`ŸËdb`,þïí?_u† I@°¢MÄ!3Ÿ‰ñ)黫–š²°Õö2ŒQÍ+ \H¨ìà•;RHâ`|w…ç2PÁV‡CE­;¤áÝò×̣k^OMõe¤ÈF7µi¯½n¨ò…öÚ°ÉJ5õÂNBN¯Ëèh &ãž&é l ì/±F§*€ :Ö%Y.TÙ|S,=ϨPûc ­º$y„l”Ì_Ù±ÙFÑû&‘¼êXê[J" Ï0ç’30¹^oR!aóßyç0ca­×r*܆˜ÑHÈ>SAÍ…ÍÅš•†ä¶ü/üìe𥮔ó Ñ …,Ìi,¶Éã3^âo8‘¡/¡áÁü¿zš|™BP’… åDk¯Ùó[È«¯Ì³"ˆÿW¬ÜLVòôŽº¼».òd*jU¯ O1CþkQS%4=ù³“7»`ïé@ÒôJ†*¼;jÿuV¶ø€pÞšþžœ< ZE…ip@ŧW@ˆAº†Ú¥Ä‚æ#YÝ®’Ê Åžº‘Ò@8`C"²ì†<¥Ü¤8]L*ÜPÐaâ‹ežxž«„»ûê3d>}3Aô9'«kz«O";63$Ãu¬®öY†#ã©ýLÐÊØþ —KiŽ™$U·eQTÃ'•µîIEGm…ay žIwXîÄß=±:1=í~õíÄjœ *¹½¾äþdkìäâ\Fqb5ŸXÃ'ÖàÄÚÉ'W÷‰µ]x­øÄ¢4K‘ÍÓÞN¬ùíĪo'ìE²¯†p†z[pÒÉ•,µ°}rÍ¿8¹êß8¹\0=gcEÁÊè×>ÉfƒéÕV{ï'X¾6¥r¦:¹¶õÝÒדëd ¶'žýö‰5|b9BЛO,<]N¬í rˆl儨—ä¨Qn}?¹öß9¹¬ËM%:4Pb–ìí 3'[vY,ÅÃÕ“†¹8Û‹D°2…2rq寧4q;¨%ñ+f‹ŽiHû*½õ²õ={=’4ñ^‡íóµÏ;½7b;Òì÷Š{ƒ¯îͤÅ`®.â3 Î\W¹’.¾Õ«8$7Tàin©´lÕøøKhÈ$¸"S¹Ñ^*Ì»O¸|Ï¿›ür¸õd“¤h M2Âù«YW8iQÕ™p»‚zȨ»²ZE 0Ê(ëÁ¬H"SŒœBÊ"ÞŸ›úd¦¾]ZWXý³1³m ¹-}|CU/P¤’¨d«tQ×);¢èJ†N"w8^[úŤ¿Ryq)ù4äÕâýù°©OŽx%×!F®ª›eô[tÅæ)JTÒ¤½ŠCâT¼!iAÕÒæÜnRÂA3C4g9Å·ÌJç)„²p8µè Öa¨hsP°ê€hÖlR[ÜrS]•È4(…†Ê ID±RŽÐW·P{·#û^ž¸¹Ë½WmÆØ %¨Ë¡ÐŒÒžÝ‰¿ÚîÏn¤2¥§+õAWnÌvì”,uzã‹5¨á¥fý”ø\€ø€=–Ž£: [-³EÓpú7ñlæ…»Xˆª¯ÅShlƘ—Saq¯B@HGA¶mP™óâBKk˜¿!¸ï  +uƒÑx¤rânO\c¹Ük<Íä*g%tE•xñQ…­r›i‹ïOKÆSåÎÉ)R IŒE\®Ø¿ƒ#áY¢‘zQÜ+ÅàHåvk/mB!i9báðaYÔ8†Ç“ȇº°Á¢)™”1+tí›ãPÇ™RqKRÂZùÚ¿rÂ-€Ybó·äò›Â<™¦°Z¬Žk’‡olÁÙžls áVáXìF)k‚¡øO,DJFî@0Ÿ†ñu®êýJÇæ|áNF ¬¶Ñ¥ð>`µˆs}nX‘ŒíŠ­~NÙ"iê}6úœ€XL#×l'ѵbïĈÌßÈ(ŒÂ•õ3ÄìŒí’;?w~ÈÄŒ#˜;?œ–;×þþ}fâ;NȆÝ汸ócpçGÙ1w¾Oî| úãÎ÷Âïˆ=ˆPëUš[Ýô©;ß% *;ÊI•èþü<Ý‘™tçÏUýìÌ?;óÏÎü³3ÿìÌÿi;óû•îÊÕïÂßYw~)Šú±{üÜ bÎ/”–ê_|¬¬;¿¤;ûÙQ³‘¬Ì_V\^•ÌjÜùe5ž5¸óËÁµ d®XçQè]Nu„ȸó»pçwáΟkÿò}ÒQ[㟿[Ïߢʳw~)ÔgºîüÊè‘Ìx'U.F8ûB Ew~ Ïú¹RÜ•ýüvÌùø¯P6• ×úù•w“î¹*• –l‡zH ƾàô®\Ç’7Y(k&‰5([ëÀ4ñºb8Ð Â[&:ZÅ«.>±¢#U-øæ¨6Ä,k¯ +Ê7j$uà fr¨X¡ò­Û&Ê„l‹Ø‚#B£4PÊU&PÑq€kåc ˆ’½n#E‹ÂV›¸*f’5]¡lSÞ7xUžìx³(l#(¼KXHÍÁc–EH“ÊëMµ“+…•B—)²ÿªC'T¤$2ÖCUE‘Ûø¹!`¤-q¨XäPÝÀÑ9ÿ…©PrH,±wî;‡p|í¹#a–kèj A±Dàpíx÷Y•®¸•ÕRµPéÞ)3£GYÑ• §ŒÅK0ŽWÑŠ‘©Ör&òê–X?LbÂ/| i*K²:€¯Z²)QKžÍ S;Hƒ©ÝŒ3öIG3†[4a#’èl{Q'Д%OšÞdªf„nÖpNNíÒýÔf¤Â; ÔóBW{¹äê§÷úeÁêv\­D¢x"¥!”%g§áŒHÙâ[" ¹¬@±h™ÜD×(Œõ³œ‹:‰xzuýá%†¸ú‚Šb‘=ofÄl÷:Ó•Ä2BAÒ‰Jù ±T¹ïÂ3ÛéÒ‰ï×l¢€Ì?Õ5ƒ*~±•‰rÏ’½ƒÛ#1ùÅy®Ö ©Y€^ÂÛúYÊ(­ B‚Ên ¿ÿVí(´¦þõ)Cã‹ð)­å]64À¶@¤´A¶ µúÔ—^VßÑb+­'1½NË%ç,î¾ZS}Æ‘StyŽ•hP ƒlÖ ¤ê_8T*b¦{‰4!º_//èI/ü˜Ç^?!xdÄC,w"ÛÎÒTº¶qò…ˤ$­ö¦Fi`ª‹Àü¤‡–\mMŽýad SG»Ö÷,–«ùJíEEº*gȘW£*Ã=¬&I«h¤aÏWýûù!²êCRG&e—ýçY¯o;TIòs{ßl„­ñi‰V1“Vxª¢«zÃc—¿"d×ÐV0:d’á%<*©ÉQÈŒĶ\1yNiÖØ9>å'…¨’Õ‡„ˆš|ž˜3ŽÅ¸* ¾%<¡YÝ6–ö¬§Ì7+‘ƒYÈPèïôµ¶[€:c31Ç"S4&)È1Àý?KßkÙ׊ uÃJ‘>QC»‚ÂÔSÉ%¸UY¿Kz$ˆC*†M÷T“N2KÃeÕM‘Õ1¤—ñùšÌ±!KîóB¢:õP ¨/ìK§‹Uù9ÜŽý5žTì[ß2­ŠI Q¨šãD•ÖüXâJæÙ.uf”}˜¯švûxоcÃ’¥#GNq9R¯ån±å&“HG„Z«@Jƒz-ú&ŽmRðIÔH.AâèQª|“‚•Nu´yŠv* ™²9„Jån…h8Ö¼4¸i¬™Tl™ë¤L®(³Ûº¦JA›Ùàïy9°‡øË¸H F¤-á+ ¬d´¡·Ó‡À°Ø¢8PǺRŒ’IUêEtÑO3Åñ>$·6ŠÿÍɈÎòÉQ‘Ü(¸-õd¾#±Væ™D3àÒ ¶J¹H|)¡Õ ò&A7 QUÛÖ’8YŽrÄ(ÚSäR¾@óHm=$üô¼²¦Kc»4'i™¿¿ÍðÅA4:+›ð§Â% •~¥_·*¸-¸’B\BýÔŒŒ¿~ä9Åš7˜+Úk™dƒƒåæu“F;¹ 2Q2ƳÀÝ^ª@äÌw™+Ý ø ±0Öœd)-TžÕ-žŠ VS‚D¬Ùœ{Ì mfTèô¾±÷vër5ÈœCZhå©ú ñÖ¾ú‹„ÖwRõAê`·„IõŠ‚,­a]´E:„±º¸y 8ÔsÞ‹(ôäN7k`7?¢&ëNwñ …R¥’Ü1Yˆâ¡?ÓT\aêmeøªøÙF²7VMïÑ:I…&ŽYÕK›Fµ]Ó!Ó%úcžFÿ~ï¡6¾SWÕÖ){ÑååGTS˜%vÚ”ÀaXúÿñ­XRù­üé–öwlÔ‹|€,àD‘d¼½ !ˆoÂýà Ÿ»ÉQÀÑ­4F=Gµã%‡!iÌÅ‘PA(#=m¥/¤¬‡±Wƒ ô&3Éá/„ÖYØ@…¯­Ï›úÛÀ›Ž{¤~'ÕÓ,ó­b¾üâûÝ!“6cá¬K¨^Ò·ŠÂ[¯ž¨~¼¦J%v¤åG 1,_4zEk‰N%‰6jMOêÂ/i2‡í®¼‹T%Mµ|cs;EkÈPLšéÕ–ˆLâUÌ’¯a/}8”” Ì·A¿`p b¾ËIÑå‹8LN¬†Â–^ßü~Kg¥{}ß™;µb†+øo#:©ûÚ†«?ȘQL¬èšD=n0Ë•ÏØGýœ×ÐìHˆ8 Ϋ¾bºÈš P'ýÙûúšo­ïl·\ר¸DŸ¢|@ö=õ-åŽJQwÊ©htVL²øM—*žL ‹•™P=ŽÄ*6¿¹Vg›G1¨éÛ˜|‰Ý·Ñ8¯èm6ñÝFU©?lÉ «ÒÜncåkiú¶©¼Èôm¬ø™{æë¹×÷H¤Õ¿— ÁS}¡0]¯7øŒéÏt¹b1øÀŸiz&Zqëº\Ü{¯Bc×ô”E¦Q¯o~_Ó5s=çú¾–«ð`þA+lh:›e¤˜À¼º°Ópß”X ÑûÂ^ÐÌiÝ u¾S@Œôû¬h“ç¦~ܧò½9v׺¯Ç×çB b4uWOä¦xP*à„ì=R>D$ ±Ø5­IÂÛE?láNè—_.Å÷Zˆ蔊wŠ7¨˜ŠëÔr/÷º¾î ¯…¢ª¹0à E92aõæ ê­FB>è%Iצ? *aQºâîÇVªÐ*EG[_]´êBÒÕGÄž3Nwœk‹Ó]çL,Cœ3ÑÿÀ¾v˜WŠ0eΙÁá+Èïp?Ιx½CÒ9ÓÆÀya3öðynñ9ÞÕ]l;qü æî¾±Î›ß×É­#b)- ÄçÅb;"Dá䮉÷¯¡Ó­'ûñtc¼xÌ S‰+éT¡éÝpäç½’çm±¯¾ÔÝ, ×8 Ÿ6´Fº>…ö®KWUÿ MvaË¢—èBÄUPMéï©£BÙ)T“ˆ–ÆBü¶¼¯."ÚJApz]Jód ô÷ÓÙ õ“ IÄÇůKYE—â û¾¿&d]m¸IŠU½5c{°>‘µƒk–Ôx“«¬ÈHÀc¤ÌóÅU…qPº0óÎŒ,~g£§øZÄ<ãâÎÅ~?÷ú8÷t¿{ò ï¾ã­ú–k¤@bÖ¥dI¹Þ†.7N¿éºá‘í'_;‘¶oM:7+~g“7æáûâÎÅ¢i6O#“Þ¦±o:ŒÛmµ5ð¯BÛnÌ6Fe²9r…Sr¾±™ÇFqÜñâ‘2 ¹‹Üš‹ÞAlE!÷Ö™ªÃ)£‹×>e„P’ÒøJl.R`K9B>¨ \Ø¡Tó£jÉ7ì„÷m>$Û’qº3; R{±‡YJ@D2("uÿLŠA÷aÚ ¨ ¢އ(:ƒâ´qügꛫÒíªTÞ¸,$ðD ­¬¥4æ@$ì7.Êy÷Ô¿ì哞\OUè¢ØÑÆsMx®”¨UâLE ác]gðÍ)dõ‰>™n‰i·IuF¶gvX½Jû¾›]èáÑlÊê[6‹Š‹)r&½¬äµ–ùPpC1" “ž_îðæuÐþ/‰9—Ê;(ˆæ‘rG´uÈ·0M©.fZØCªG\;AWÀû ’äºHÝMõ%Í¡©/¥_h„ _ZM÷@ï9/¿†û˜ÛË 0¯‰OúB˜å4|(>JL‰†E$WÕTÌb†­8q%=/ê 6Ý1… òåçmw±=È$oT) 㯠žfÅ.ÈLyŠrš¬Ú¹‡¦²¨Ýp$àrñg¯R¶Laúx´›²-{©ÔÄ´÷£ Ê %ÜãL3bt¿ }"à˪|U]–ZÛöùÇ#pø¶UC( eñ;•LÐ"!&Œ®»¢ø$I¸:Q¬áB4 ‹ˆZ{[O¥6ÐßsÝ/2e¶”#<Ø’e~à0QÈ…ò+ÀréJe§7áC^¤9^_i Íe`Ûb^´åît­eêÐDHi)»W«ñqØhE7njtÅŒ1W³¹ÌÕr‹Dè‰ÍÝϧ˜¹ÚØÆÐTÜš¾òZfÕ(À—‰´Á^›ÒT.|H°T³dY›Þ_ïKöIé†N¦i!3G̉°ÖbfDÐrpŸãþ©5ÕN3³à·i† ³pÅ{·¢PeDABÆ“è`æ º /¦à Ö Q.B‘$1ý¾ŽÓ+€f \±–k¾_,ΗuYnJ–J@‹ÞÏDfÌV>z©"ðŸ%yd«Ë½.Íé CÆv ‡Ø º¹‘5£c¡¨]È”„;& †˜Æ¡~€Šw{06¼u r2‰úÏFJC´’óU[™ŠìM…ø…Š"wX•IvJç(?à¦3X†Õîé:uëOõOÅ¡:iZ)@â°Kj£YÁQ®TÒ‘ßWÿÕa'#' Ì$rß‚j¯­J5‘ó#R°,º‘rÐ&þ[T(Q­õl0˜èøùy9¢/ %À kcñÀ…Š|xØÓÙ- b¤0†‚‚EɤK–PŸ»Ãhž4‹9 %S¡•k±Y˜ø-™R‰À÷Òf4%-b¦·04ó¨7u-žPöꢇI¿ºv3ÿSyV), È.Kõ¼×f™(V‡Ä)•2ÅFUËÀ"j/}IStÃ5ªÒ°|ßàmO”E¢Š9 ›×ªèàMõäûd6D&¤Tºí,½‘Y_ÉY¾vîµ™N:íãÝ$ Úí …c”ŒώˆÚðb\¿Ïür öeu˜—Ëk¿º/Ô^âR‚pN™6­Pö®\ð†ÅK2RêÂïh÷‘8Oÿ ü,4&ˆIæ™òi”ž-BЋb ÑƤéÆÜpŠÞÏx?‡58L  fe†…2fe E ò³a Åñ“!TH˜¢ Ô„ED:p%ìáÃåœG!B1*Ø…¡£mÜÏý²”§ão"îmåSšœä®“¿ê˜5›îRѼñ8vø&ÕM•Œ†ÃÃoËf\\:˜Ÿd5  í”LΠÜÑ:Dëf|(ª•Žy&¢jíj±”!XÂÚX䂨$l£‰fˆÊt¨JkoRkèvpÅÒØˆÒ\þKª-°µUnL©õFº[zz›þÑ”ùa¢ßTÙ; –†r b wÛ—„’ö–5‘r6í»S¹i$I5È^HûÈ ÔÕ–¬ÒÛÕ©¶ŸTw´“÷ f¸à¬´c|÷‚]©ÒÐᦊ*Û´›Nr²Wä4bd†'¤Jšª’üRAª×Šñ%«ÊæR¨0#ž¬ä‚öx=û.ž®êTe]˜ àaÎM3s¢XÔ,9w >8¬N‘fA!*«‡JðƒXû ×ðe'ÀÏV9ÀŽuµ oø©³EÉý-ˆ­ò%¶ïOV*úáA8úR†{$·Û15‹iûñ‹Çµã{&B¤j[¶B|ãáJ´j‘b|÷"°  dT›Ú :´‰0ðzgñ÷„"½‚áÍÓhúÌî0©D —ëgI6M_Ð3U6CÌ*ß"¥Sd#EÔ!VŸp8Cœí%4‚Š&æF”¨*ƒéîV9pÍÊŒê³HÎÕQ *lˆe ,M H„Iw-Æfj±À¥äV³ÐY²ü©ÇUñt¿I‘ZL¨`º ¯-Àrª;PI& ä ì@fâ'Š/T¶OáÿÓVñ†±……Ná &-”Eôz4UT‹, Å­:ÌúOqBfÚ  ‘’ÒŒáéÉò¬¤ÎåbéçîA,3¸lÓ ÞéjëNÒ&‹{0¶©rp¿Pñ,` ÂñŽýŠè0ÊA<¯ªž¹vÛÌêǧí6©úªÎÅ lOK:UÙqï°:gíf U%ídM LL£m¦T"Üu).×ìN·‚Žf[…‹ß¦ûLnñå¸Îo®g¦¢»XðQIêŠÍõnyΩšãS`øP–…@Ò¼eSL³à|SàžNhÈÚuá ‘:åò!uZ©&H_&Xà^ª0 ^È¡½ÆyFRcá0ÙB°ëè‘Ek%»8CåÔrVC¤Ä ÐK˜ØŠäfL¡L‹ R°`»R ›ŒŽ¶Xe³.¹Pí(L¡¤ÂÓñ9ñlâôsýWºAt- ¤ôYØÜû 5˾ˆ`¨ðF8N û¦+vNCý¯h€]öO§Vü^EçMELD¡YŠø4«…S¸j³Jf3*_˜â²úÙ2ùl×`Àš©t¹þÁÅ+÷©"u”Å´IMìimf-碦™<¬6Çê Ö1‘ÞÈ"›”P&êO&yrBÃfÂÖãÊ×0îD+iÒÈ`~g0» BàreïOLÛŒ=ÜÏ9s¼Vç@rd@)#§nÉâì›%PÉá õp¬"kYàÇtTé‚IB›Íp!4‘“¥?˜¢Dé€d"K¥G¯Â2Íz[ƒVî‡Ôbq)…ö»¾,CªR¡ "A bcÊ, D2b’ر";UðMTXôúNaõLð£ÃÚÞä¤üÙBö£64,©b윊¼I Éhʆ­{S±­U¨»ƒ_¨ÝFFŸ”`±)Ê;mûš(v,M©Ìõ+ €•3À^N° Dµrér«$«T)Ø]ÄS ¿k° Åy£¼Ì• -QFß 8p¬2)tK/|¬Üp®"îô‘mu'?¼òHÑÚ|hX%®(à’°eïXbå‘…ÑWùVJäŸB ª Ò>¨jMüIÚ°†*þØAéë «æíòy*Ìž+Õ!9‘ V ìöw *½¡mqÃâèPdÐÞÙò›J_Iz›7úa<© #5Öòì8«ÜólxC‘±£VGB¦¯à ˜qñœ¥‚ù†Y&N*pg³Ô¤àcp´%jÝK—KÆ~•¬äç÷™å ªÅv·rþv¤ç{¢Îº¬LaG>NKP®ÓKàì—¾­t»E‹Åj¡«…¸}¨¸»±o~³o„,ZÃÙ•!.œLzÔ-bš^«ò%#É@õ—Á_Ëè>tmýa §ªÐ±'QnŠNs+Ƭv>¦d£UM®Ùðj\űؑÒÖXJT-Üö]C7„3*p±¸[ª±ñõ÷LŠQ1®"°FïHd»û$:,Ö~è†ÕcµÀîíAà0~U±5”¤ “£uÞ'ññ‘M”dl‡y#¥‚ó¥á4ëûrÍ O’ò˜ì‰£#"7´´ãœáü¡ª·¯E•ðÐF”¯Ä“æR!m$ "²…BÁ¦PlT×X#ˆ]E´Ê¡ ‡¨GáôÅuù…rzÛ¶Ù LÐP‹àCs²'l"E•ØuɹÊΙ¶ðcò&ðòÚ@_“1(? Ôã-“'åŽQÈæªjçú¾læƒ œ-ÈR|^öŠKô‘¡ƒ"Ö™¨…ˆjÝàŸYDÖ£²›x(âèNvmá *|ÊÈÍÛd£˜œ0—‘©X é02Tø>2OǶ¶>Z¸¨D:Rqëåæ+&i˜K'¯M½š-/žµÙÔx"ôˆŽš¢8ƒ>PQµ'¦(r;Gd:5f]`Ù¿Ó^R¥‚¼÷î¼¶j1¹µÁ7UºG,R¤"ù!²âÀK“í!¼¥ÔG‹ò¡¯å§oq‘¥¾0D>ž²µ6?4‘¥«1Å2Vù©­ˆ¡8)„ibÝd/f.– Þ‹P\T‘9Y#èÁJnÈD¬ZÄaå®*HuŽ*‹©ªU&—œÁ«Žy´ â Â@àY…V!åÖò7Õâ|™ÙlEš8 ‡„}fÊS%„¯VfˆÀL¥r_Mž~lÛ‚›Âzáeóf·ØÅ8\º“ü<ÇJF:&ãûÄÒR4ŠÝ`*,+ŠG¬[áL'ѸPiXT…trÇI<¨ šåün…ë‡)žº[ÓQ∵ï"§‡ÿM®?¯“³V‚h“Bf×þ8ZùìdìÀºnãÊ R¾üVNJ…ïàÞ¶‚¹Ìn¥«çÓfˆœªÔ!ä z²Ê+IŸa*l¦}E«A( ÒaÍå×…ë¢Êj‹V©êþ´ÒÓCQ]@/b…z×§BI=›¶±] ÆZÚ@’2-½#qÓ­‘рļ»&ŠZÕïIO¢C™ß~}ó`{Lðxß (ZV&§”w2¦‹‹ð꾇iÒ!µõ0UV¬+ ÞÍJf¤Rà|éV ¸1z·øYj¼l·ƒ“¼ ¦ßvWc¾,d´zâ„èÕ(ùJ«ëÔ**@/ɲÑó\÷—ZQ4¢š‹)†Ñ1yÎà`„r-‡ˆ¼(ç™|BOvêƒSˆ¦¿ã)'"H"Vöbв9P·Öš™À(DsÜvU @4xpD‡7ºf˧ ôű샬‰rŒ@cº[„/«ªÖ±È„IgøÔ‡¨ðHôänAƒo–@“9­g½‰‘,8=7›üUn[«ÃZ%¬§*Ⱥ¨é¸u˜Ë\ªüï9¡óß=¡7'´~]‘ ?¤~²Õ" 2ËqÜ®²‰ ó×ñû¥e`çJ¯[Ô×RYèxê]ÎuÓŒŽwW,Ðô„ŒÆCøj A^TÑñ u|3J-x`þêåGi )Â#û­-Kè7È3 ãvÁ3#ˆÓ­X¥˜È“TWÆ!®Ž:W¤›#-=¶£ŸÚúÃ9TΙ˜€<˧ˋÛõˆÁøEüSz!Ír_øcÃ8"nqs[H\Dï°´»sgB—i+öMß”§Q«šÛd,3ገfõ>AlÅ’S´¬·¾ñP&K¢oÍèJïÈ“‡ˆ]ܸîJÔJQ„Í$X`Ö™’„/ä9á);9ØBZ?”ߊ0‡Ù:R+ ³±BŽ©Þš•MVó^†`âU’ûüRßœ{¥ ²|6ÔX~òbX8s Hm&ÁȉéÇb\>™ ‘ꯡé£ã¯¥G½;+)¾Éd4*·ÐþÅ@sB[1ðáz+Nd[ÕI·,#g!R= 9 àqí±Ñ7$ÿIÛEl¬™%ùNÞ‘2ÁWäÃu±ïWÊ¥óš,•£HD)éÀ©€\½a´–©/쬉F]~–ŠHUç•ËWž+‹%¦2´Ãklf‰ .ª¤þл „7%9uzË"E‚¬%h»Íqs¹ý×”,õñ7=†¹uŒMµq{âð¶}7Ñ»À>&œ²Ýêá '¬gA¨¢PÏ@ DõI'O»À_¢öhq{´ëÈ… ‡œ°µ\Xm‚é[_ÜJ9½Îš6…n^ &_Ô=ËÍ€'m[“ˆ–b˹ýS’JÍ"'a´e‰¼L¤»°Å7QY”MÞq,,BÝà œ]ÕÔxA6`¡ÂÀ„mQ !"©Ý¸‘©‹P¸äÈ Ž »H•tDETM4Püð¸ÉS8Ô‹ ÙS`×*V$ã»’;bØT‚΂Œ¤й(MîAp$‡†T|v¢x¢¨?ÙP,G1Ñs(M•ÛŸ0HO2¨T„Â.µB‚t*š8* ‘Übì隆%ŽœËQ~#ÖC¼w¬Ç“vZ„³D$8kÂÊÀ^mh%Œ¨±-9ĉ Ý{"ˆ ]!n~*á Ÿª+tǶ·Á2ìesµ8IÈù.4¼5x½3lóÝÖÊF)3>ÌC #@%“±@«§ˆÔ&ñxÓÔº"3•l4.çTTÞÆÁ¥4íbLçáÙ1!×½Z>eí(¢ ˆëêÜÜàó¼{¶[Y’ÑnÖ…xXÏ'<´µ >2 ‘ ;Èö Ófûq?-/wÄfbžÅJš à«Ë] ,¹ß$'¬ÜoÜiÜÉew2Ë~k‚@dþQ8‚Tó½—³Û„’„±-ÙAàIr+3™\HCÐö¤Gë41S¤$”ÈŒmÔ¼CKåEeÍÿì,¬KpkÖëÙ.k5±êxìdG%æ¦âsë‘Ì ŠÝLîét¶µ7µ EÍéÙëJ¨\Ìê$¹Œ.0bÂi†!°@á,œÉJׇú\‘þÛàä"ù¤°Îrà\§pltTÃ%£q¶»$„ÓÂÉRØ#–¸²D]hÀ8!6 2ÉØN6tgGíbè ŠÞ'é´v¥ ¢6i  !¢âh“:Ú$6Bl€ÊH*\ÙTªWA3ýkK™0X9ÔŠAÙ½k¶ ‚mo‰Ô‹fó@¸¡Z¦ï¨n‰Éš®à*¥Æ±%T (§7l{¡˜•ò‹›Â Ê‚å”@t‘úS)d?(ž. @f&Ò¤1YIp0!) Ý)³x!4-à(9U.ÖÛ΃>¨€õ‘v”j‘~ÚâWÌ/•˜Ç>œÚérVÕÇ…ó fµœpH@Ïb6Ë®Js©ÈVrDÖ2ðÀbDbqâ¬rB€“b?š,U]-\ºT±&QúdýÂ=Ãæ*ÈS†+§­v×°o„Á–é ´ åc–²RjŽÓn»¡*Ø7HµMïAÚ2YŸá5S(ÔCK¼ÈËŽ nãÞ¢š×‘°“&)vs&N)!vâñ]ò]ZšÒ(Aø.¿\ ‚ ˆ¶F 1ÎÔâ Ę@}À‡co[E“ÐñEªÀ :µ%ªõçTb"®¡™+ Ìßjí.©oéÙð:T1ΗˆVKiƒëB*IÇ%›ôIÈ€×¶iI®¢)Óu™.ï©­sQ?¬ïÒÉF¢|Á—ûJ«ª(øVˆÕͤkÁê^P§5gà¿ èkíÑÉ7Ñë.9 ÉžC¥^¨2ý®0Ho&>ñvÜÇraOð…:ld–#,"#®ú*ÐìQ7áXÿ+4-Þ1 Y¨rÑ´Ž5UL¶ƒ^(í<Íl/¦oAÄŠÿ¶1ì…a¾p…#ù0Ó ìÑ ±A'áT—u‹€9 |d߈Ÿ¶uq˪r³h³sk…q^jkÅ„#“ë]âK1ææ­<Ë·ˆLƲ‰fMŒ(.2°Œ —|p{ŸDÉטœß³XDLO³ƒ±š,6‡ž¥€­‰¯ôðÌE«U´è6}ô 6lIGÖPã7¤ðN²S(…턃"y#—W‚⃶ʤš‹àT/\×~"P€áð@1‡q?œåBÔ±£•@=7q64<}5-ê Õ±8 ß8dÍ¡A~œ‹ssƒë±hŸŒ„€ Uâ™v`¤_9Ëç´jÖ]/Øèß³gš¯ó$ “¦‰Åw1Ùæ:îIØhøä1&ð°CÚÙGä×É¥š¨šê&l0q\YrðU¬’ƒ°9器¹ ¡äš*ydY(À«âÉB$~ÅúZ¯á£J Q;õ°4󤶑d† ,i¬ú&ýД`ÿ*KãÛ–.M`øà6+{&§ÈãÑû#J;Y&z‚l”ªü6´‚xc„ö  t`]E(ùæ1)4Vô‚Ô"ÔGÍ©_®:Œx靨öT—«SlŽª²‘¦e8Ö»Ì&Í‚…#zÔIèãôâzæQh²—½ûHŽ…Èkz#Ï@,’„g¡=ªC±sÝx}‘ŸXCúéËT[ÀilÇ©“2^³ÀÂ;õ?9B‚“wf$Â#–s!¬Øvv¾ЦR•WõDTJ]K"ÌØê‚½ÀƤìEjEJcèˆ ¨rðYI™¢ót5©á¤=HæuÌÍ«‘\ò` Û¾mO 2Ä18\(Å*NbÑê_®‚lƒg¨ý˜à'…7†¢'<;¤²ô|œbN·b[˜×—ϹÃÌ/ œ«àA–}”Q`ÅÜS´U{ú¶ðvPÔÈvcV_ãÅH,ºèòyd OüÉaó…·Ný’Ï^*uxÎþB¨ÿ–ñƘôØM~šÖ¨³SƳ)ïUtÐeؼ2J†uCÝAo7Qž)^ïÕ™EKº ·öFóVôF)Ú+áy„ÔW# qÚoǬ&r€98^?'€¯Û(ŤPôWh£áÚÃ5]¿ì,#Ãûb1ÀtË5lTÉi •°T²æµå4¾$QÚXÐÌùvé:4¼ŵFÍ@~F­9,‰Ð¼†[^ÿ©û”ÂÛZx‹`€»êˆ¿Š”f^ñ•^*HÕ$õW±öÔ+[–ꨃ‰ñ^Ng«èšF¯òmêF`'"Įծ_OÒ 'ËpbT…¥£uÑk7·1á15É,gÓgûfòy'§± L•¡—f9/¢£7ÑÙ‡œõ)9"Yè: ,h¿c!P<ÅEÞ´Ah³OLÝÚî—{“jJÝÓ(„P‡Ì °ta>³‚çž²ÂÇÕÁu—ÿƒ—Üœæ¬ ’(»3`Œ‘ÅÛÒæ4ÍuQŽ/‘Ù0èõ §í çŠ~ wÔLDöUQE¬>$ƦSô5Ö#‚Ì"VЬ2ç‘ò$e ±â-3jDªä¶ˆþ+檘7ò’ᧆ=“ f†-ìQÉ­! ØÏ¼MŒÆFžo–¢¬Û¼âAÌÓd<+ý¿Î­4‹i iPdÚÈÙƒ=6äq§pè’ÕâÖaxòÔCŒb9žœ“÷öäø«n¥HUq@•᪾œùb•áØ§´ŽÁ´É%;ª¡Fͱé:ùj  :Dž°õöÜÑЃB3»qF!ŠåCN(º´ ĸþÈ—óe…'H&ÅÒe ¨4 ætB¹9!…672üÕ¬Õ:}BÎ åg…(rsz„Ôsø®’`KdÜ6¼72#Úi-0§‰5@Ä”ÙT9¬Ù&ÅÏ©~PJ«E@VþµiÉÏV;D ØÈL-P-dr—ƒìdêåç@¡ÞÑÏÔücSS6aƒfwþ°ÛVs凜Ìóodëšw4éñ°tÇOeˆyr¢¦¸@´”£Ôƒlš>n8v6ÜÕà†LnÑC±É©"OœHž‡,߉¶b³&¡ê:BÒ”WqBQËÙÞd ¸"ó&;NvIÝFñÜ ÓÙE¯Dú¥^ÝÀÛÂ6 :Ó‡1DWŽÞe¢™4ÖUÙ`tBd´Ovð×?ñ>Fárt–QOFP¹: ¶0ź¶bà3ŠáûÚî Ð.m‡Ê4‡±»™Øl»”|E€íµKqN²5‘Šé±ÌÖ¶7´)33 [KE¢˜=\qlµÝ‰®jPimÞ+èÒꔉLVrEÚ³_sf—ü˜ôcòüùós?ÿiÙ|›¶ ru¢D%÷2±&o«Í”nBnŠ15â\²Û#î+L=ÜmÑ {L‡ÛüŸ0û‚äÇ+|îÓèuÑEâ+d’7’ñ$¦¬ã\å†û›#¡ µÁÁðùË!ËÕ¯¶òýÑ[£ hHÝšì»8íãÈ?f×ëÞ?Sô'í»Mµ:¤ì¶;ÑáëPÌÔ»}¸lÛIVTL´• YÊãqÊ®£càOá362×Ùf‡°ÎFËÆ>®pŸçór¬e#·.Z¯jV€{ÿŠçhŽÙd«Ë J™Ø»ãš:^ÉcN8œ¿ÑïÖ=ÝU—ˆ·³Kkût}sq*Ö¯~vÐ*é¸8 r)ŽeXjÐz&Õ26’˜ùËÚg«¨1‰ÐãhÁuþæg…ÿI¿[õzçÛ®ãyT‰Rƒ€¥â7ÙD½–›HG‰R7l/N ÅÞŒ¤e»O'ôU’›Âæd™oŸÍë #ÇáEšsC}*Ò¤@A$@Ü—X©*ª›È™ÉŠd] ‘Íe;µ ;µQ¤C³àCƆÒѹ$ mdNü'šî²pAד––AÄšË1¯ cÄ ú½M?óùOžXGt&6LBG»yñî]`þj*v ˜â$)«“É»<ìÛ¿SqæåïdÆãÄSí¢n€Á*y¿%O½+{Ðݶ¸·“¨Õmg¼Øúªœžšœ3ÿÜC¨ËÙ-M`" :Œ `U½—N‘áSd˜ƒ-=E®Ex<¶“ºÕÑçÂ"Ârì|—„UúÕz Ù¢Ü: 9¸u9m<šTÃqV”-'ÖŠ”1/ÖægïÿÃ{s†­÷§Õ\óƒ7 ÖG³õÑm}`Ðx\\´ ð!˜/ ¾RWÙ‰ÿÍü©Pžà7ü5RQ¼¾3Xä¶dIˆäí½h…j¥lÍ FÜa׎81Å1Fý,¥´ÁWÌd¸mdn]µþ¤°©Û1ðÉ”“ÅÝ °©M§<+nüšnz”=ÄnqÙC\öç/"ù ¨ñ‘›HLVÕ-¢Úl ›x»æÃ6²!ÙUAî„ôáÏ2ýƒËÔ'œ¦ñiËò”d¹UÓXÚAÛN¿ìdÍ:& jmYH˜PТÂlJ2‘NQd*±7 8žÒ•â.hË2„óPûÝjÞY¶¡SPçª*R€SUíTU;U…9ÚÄò–éê HœÂùJDCc‰°º~%¡Î$Ô&së†Èüø™_ÎÞøm»}KÂò2*èªd+Ê8XcÄœ†b£AȸØi”9p/³FO»=Ÿ&›O­8ýòo/ï‹Ø®öU³îµF«}ò亮FR6* U½çXB¹Á’Ôz‘ü ëgõþÉðÊöªMùiuc2«×¢I¬&RÀ„_†’Sާ?©ÝÄa)\WÜÊzbqKX°å7tŽB |Çj²âÄIåäãÔUÞ4a‹]CÁ,¡Þ+ )‹xc*l\1E­…ÒØlš’Fq쟩õ熼Þà+n FM­F B*ˆ…Èy§ü£ 3,m%\¿ È/H¦)(÷í\ÑaýdØÖÚU';°"n‚µ,\¦áœÔØMGìÖ[ÄÎS·:ÿÙ¼ûžœlƒßUÂp%ëõÀŽ7¶X˜äbœ°qÈÊÉ7Hsèw~ø@…Ð:6é6Æ XGeûÐtd3½äµ>b–eXgígÂÿR/åãVlžÀ Ùe¦-Ÿ­¼‚-•}”›(žðÓÝä^I[H_½ϵYù­t†'$XMõç6[dÆ“ýbõüVîVÞZ„•·Ûþ„—Vv°­”ß„•™øïîoaålqAEî"sö,Îññp’‹(^¯†¢Ò½¦Îvð†ÚL¾RFK#T©eÁÎìsl“ºt#¸F^O†ÊÝ”yÒ–S>(Ígl¾•èq«¸“Õ"M’,Ua7lSÍœŸåø§È'rZH?”ážØ³±Œb³öN¶K™Â‚R &JªCòbÆ‹i0Æ,oÖù£Ìa°ª¸fg·“Ut“ …1x¤‚P’]8tBë¦woNÑ«@ ÇvÚ›ºB¯eìmEžp&V­{±)¶ãÖ¿§J½œ§:ÇœzÕù׎Sã¥Xí•“½Kz‹îÿLá?9…';µÜ¢Æ£¤¬¶wðÒž¶P$#ç¡–ÙÉQÔ·ÛÌxr/™Ã/•¼vÙš¥œRŠ Ý¦‰Mq:’›lt¾¶ïjÈðIÉ+v¶Ì‡2M¯ˆÍóÕ6‘bHÀ}ƒ¼ò™jpÀ+f~'„TúÿZÞä“7÷d7‚™ZöižM’›;G7Ä™¯BÆ8Cš‹OAŽáê"¹R±ÏgS§,‰6ûùcsýÛò,ª²pZÙ\˶–!Æ{;zoÕSÕþ®àÌÉg@·NÊ}?mYrMÛFÍ€.x{ÕäAM ‰ ÈØòe§æŽ„S k3éY›9ÓûF ÅÿÙÊš×: ¡mëè@5 í¦0öš6ûºw£ú)ŠwËFâ/ùÉÂjW) »º0 8<åêxÀ [ígBÿq¯¹Y×~ålø2²2ÒiÕ»è^NÙ%Èì}K•¬º<ÔÉDÚ\ÒJX¾áÖíÔ‚QhäÉ0°H†³é^ß/™šŽV4x± å´`:dªï„!Cpå($‹U¿4æÀXâ î‰ÇªsE„v“Ó‰ÓP_ë5ž,1µ|m?“ôOF «MÕ ´ý pª˜¹TÊ“OÕl˜pD±Ãfrˆ TŒMé!VÇü™°Å‡ÿ ­¼Ý T¹|O ƒ`†A0¿ÌR Q·Ó6‘óÙ“<;”w8eˆ­$Ƚ<èÄ~Z ˆqM©ßeÞs> ¡uÏÛV×2Aã’Ò«3 <ßÝ.À+VUf=IÖ;–pr&!›½“g7¦:\ȉg‹ ˆc²I2‹ÇàºêŸº-æå<¥é7E>¾þ ÔJžœÊæ?¨¹|ÐwƒLtÇ;©¦»W#ôääu @ª½fë‚ÆrÝ:11i}× Æ‹ï òäF²w–íŒK%ÃâI§è™ì?»fÍ`U¹B¶@“* þp,ÿ»ŽL§¢\ Ðy2²£NÃGe7+¦Ò[‹[h˜ÆjCPS‚Úêýã«ó´OÍ-¶-¦‚p…NÅ |Çwkqik’oÐIêEÁ _çÃ8g tNBh;©:MùÝüœÔ_Nl´–ZFd#8©»ÛlòÌrk°Ï68SA ãæ,Cð¯žÜÙ'·#Õk9½ôýä¶,†ÓÞœØø\„ÿLÅ’~9õŸøÙŸSѶ¹E_0XÍÊn„z•3É¢Ò²ˆUÈÎèTc\LXnh½ªmvlão8u<ôàY1<-Z1õ‹¥* ºšˆºå±ÒȲk¬eã#9 ¨ì‚´R  Ù[ÓŒ˜" Q3û¤Ô€3¨9Ù§Ó–ŽN¨Ä †ãñ7VfâF®C:Ún(êŠN}&³n"„&Íf3pSVJò8ÙØµ‡NÔwÈåÉE²sšÌ:ÊÈ,(•¥77NeZ°4~?nªÎɆãÐ>‹¹Ùm*›ÎóÈÅtÚr¤€F·šßáfÌçnjÃ4DbuïÜ'R µ‰Tžq|?4¡?BÃg! zY„d…ª=•\gª€ó™"ŽAx”«ôÙ pð8ãUúiœ EædMuÌêõ8鋊‹é,šl}3ÚGzŒ=<öÒÁ$ZÍ‹KÎŽ€fÓ’;Ü ðÊ?‡Í¿¹êÓðr &¢S@ð<Ìî¶€·M֪ܧœ!kI–su®{XÜÕ—AeöPB ø.ÚÀõÍág+w+ˆÜ6ì†f ÂâJÇk6Lç ·õ3ªR7Ü ç(å$©úÓrD$©_Q ¡~P–Tµî@µ̺§ÎÙö»–‘‡°0­]0à ±|Ë)^¾..ï{ TÍ„;N0§«’aÔWËœ9 膊/—ê…Å|ÃXßþý»øoÇÛ\]ïòwœó P}3:’]«mž»f½8V3ýÍ9UZ\ÞöKŠï¶þ¼›ƒ¥´Ú{XY[âxú{«°C‚[¤™µˆwS¦z»hxhÀc¨ÑTcþ`Jþ- yžګOk^žnzaO·¢2Õ>P«@Åû c…WSsª²ÁEQSkODÓQ9fs,D°ZÆHÚ=vƒØåR«fªá¼Ó.öjO|{ÏN†¤%G#¦Ÿ2Lª eXÂx˜úàgìØø^¨ÍD°ôr?™™“F=t8ÎÌ•nó9ºø¥ ?FÐŦ’³qJ$&L ?xõMæ^ôÊ¢i°I\ã7µ]´Œ–Œ¢rf»ôíÌ}cèuè©ÿ,¥SæÞp¦ oš,%l^ó@ ð¬kßæíÖ¨ÊXk™?rJ6Ú¸¦R¡… ‚) \ƒ¶3Õ³wkËã`Ö0 @Us¡ê‚ÈO{Iúããá‘@±R)_  ¨GRñ ©Duâ²’.À`âïJ{CܨT½Ü€›ô«³;ú{4ûL&E§‡ßy‚œG÷MÕ#Èœ]F‚Ž,È€*ÆQîoxÊ ž2Á¬Äê·ÝD8Ý\ÈMLÍD\Báy?SQñŠ98Oh™¸™ “ù@škÿA&üûü›nˆM~ZAmÓbvYF.åðÐm¨ˆX%´Å V¢ÚÜFqà‹+9 3ç†OXíåà{:÷€Îvš'ù‘Ÿ)ô'ó¥$ ¹¼›õö„HrCvAºC*€ÌÖé Y…L¨]x’e2!&;˜ü©ëÝx°ABMÞ†"惰ã"™—]†€Ú©@ר ËqD]S} ñ Õˆ/W–xó†êïûï°mÊ@Ã¥FgÂãhfª-?¯W™YT‡É$$niDçãš§ÕS¦qn‚tTÿÖ4Ð1anhǬTÔMâÊýƒR˰W!æl2 Û"ÓïI¦K¤uÆxp{:Õ f“æT¼ªG®iÚ<Ñ-úbºiñ,kQ5§0èd¬u?ªšÓ`:ÀƒY€9uðÒÕŠ…ñ|A´·¢]òL'uq‹d.þ¼ø²êud$~gw^ü›@íòe’s{ùÒ6ðôb¿€¼ô°GÐͤ:˜áaÏ`ÁÀ/á]Fî6pÈÚ.ƒkÑ>Ôx®0*ܼ…iUu§ÕbrÅæT¡Ï(·}k`m0çû~¹À¨tZŒíÃÇ:ÔÑõñˆv‹:àýTWΊ¸˜|.K“󮺚ëãQÙ)Æþ%€P®FËh‡e÷‰øU(íP_Æ#t¥|O¿)ÏnÝ®’.›¬edˆP-ÉÎ(%é\¶¢-NÑܪš£èT¬,E»Äm>ŠQñ³Åèõx*¬£Ø«Öè^£¨ë£¡ ÓÅÆeë‰. î`;´–öðá¼I®Ȫ‚P9la¸[Ú%îym~à…ÃUšGÀÕtÃhúŽ´õ)}~GRcHÁh,&Ïİààî¬Í†4N1þZŸe×H_ ºPìËÖHÊÜ­Ùaê$ò® ‡¤*Þ$—K· Â)•¢ÒèŽp«x¸ï‡Ø±70ÂØÞp9Åe¾eü¾äÙÓWÛ{wùY´ÞÑÆú‹ÚÆ8Æއ!Њé+Ë9·yBNû›ÈòÉæÑ's¼Œ^uŽ‘jlö²2a%„p+Œ©ÖßdwÔÄõ}qp j[  Ðs g  Ï{VéÁr”ò–L÷½N…‚Á"‰ûc¡‰kÍÇD JQÜKäLzvïíRE+l<`"UŒXðñ LMyË:¢ÛÄ7ù8pâ9gòDÄ3“±¼€´4Š#sŽc"Ñ g1Îp"xÝRR-.åÛzL†>¿®“eÛBÕÉ'g6ãÐBR$±Ä¸äR à1áÖàùÓþ§,•i".ÉŒl]^™­®URl¹(1n †#x€–^µuArf*©½úÁ²ÿiÿvúè)¬\ާÂ_&,¯(^ƒÀpÈ ÊÔ$›’Ç¿,˜•:Ö¶¾êÿ|¼éóÖýܯÇ÷d…Màg:.ºƒÖb`ƒ€PÀ£¡Ð–­d&ÿLÀ¡ ÊàøÍÓmìvk:Œ¿Pš«D)Ñ]b× | FWÑÏAYpí ö_×´ÿ™ù^Âý³©¨„$“v*~Ž—ÕL;>´@®Ix?>Ç·ãsà 8Yˆ dzþA¨ýÙü$pÃÁÃ\ç!¿lŠ÷ùŒ5Ý” ƒhç#©ù|Tc.1ÐEµ¬AfF¾“ù²±X…Ìlfz+}X&_'poÒÖ]ÎË,6ö…ˆàuYú󱇗$§®« _/nÕQ,d‘•Ùë95¥Ü88Õ£NÏ©òÎ9±Y5noDû;)!ŸO7 ?û“ßÍ=½A}«cæÝé#§’$rerkA¨U¿{ŠI+Åè°&C-b28/þæçÓð»V®MÑõÈÇ‹›Äæ›÷Ð[2£6úYƒºBOõ¡°1"Þ¦ù¨èà~‹¥8;š]vJˆÊh…Í÷”îHhãÕFí@¬ ÈNKÐfŽ»*xË“I(hßÖûJèàTækÏ÷øzà2é!ŽÙ\ËÒÓöŦÍäÑH@Ö„ y‰ŸUr·;°@â‰@°Í×Y…ÃsSŸ•ìó%Dç!ï7¹¯C¤.7œßGŠÚyx/fü…ËœÅK ^ÿàô¹/Õ¥J‘$u[ÈÕHò¤vsA³ó2…{­u‚S¬^ óâÑ“¼¼e' ß ž+06¤(b*M¼qqì“jN Çšãn"æLÌûø\kv ‡1-‘a®©äÒ›6ò9¿@ÇÇÅp‰ô›S7<‘Ãañœ”m“^FKÍOUFa˜³c]±F4ž› ÁM¤wõ»ÄñdȳR‹aõ—«k¸½ã˜$<ú'¬\%Û7s!³!BŒ´Ddúa§ýq­>\4Ã=¤ü’ ¤d³ë]FWm,gU²AæÙb¯‚3*_oÌš1Î î& µ¨8pÔàphC²¸&Ã-ßICâÞñÎ|+S.‹»B?S ¸;Pœµ(«1g)è¹C}F޽™jö(D&>âCè&‰{³*G\Oãæmä˜bú U½¹…Ô—sxñ¤ Õô/ŽpT‡ÿ*Ð(µÊ»å·Ðzyòqæj¹5ž&ùGj¤´è-¡9e °y« ¶'VÍç½Y8(.ªª¦”nŽy‘ŒËÎÆðÕOáÏoÅØ« ›«U!ó³X|'²SŒÁ’Þ;·w,$žò£ß§wÝÆ”S1µeIþ´ ?‹­¹Ý¦’Z•!{zfOG©0øÄ(ΕG—@Ó¿7§ª«‘í!Y±®Ô:˜°ž\Vjsž.â‹è±‚Ö’?.¶ Á•Œ¿Ú€Æ MŠaxP'"$"nÅæ©.¯Ž¡¸†çˆ€ô¢|;¼Í9ØK¦n'‡I2ßd±ô¢TßÛµã^ßÏ’ú£2ǯjC¢*æØ£!KÄìÙ[†z¼®ÖÓ½ëjImúc¸­Žï¾Õìº$†;~&Æ»^(-Ò亮»8O?oó„ʧíçñZ4E‰#ÅŠþnÉðËÜ£”¸C‚g9½bâFŠvç,Uf°ˆØ4ÔUwL¡Kz!|™˜LŸçÊ 3ßñsÅWþœû“ Bqa3Ú:ïñŸˆlÛvÉí²«Üû‘›8®r¸Î„ôÔ•0Oé÷ãqÛ+’‚yãz½zåèx4BwÙóØ*Êú7 ±º¨B+÷ú~VÜ¥^ÃF SãÖdÚê,HæPéh?õ­>`x_Åa5ÃÉ’è¡Ëâ›:XªqJH$fevT`GP€Ìí àD…i“j¯ ÐèXŽËhNB¬º2"¯²ìA¯°øˆÎìSàAyâKr²e"bµ´Š6ïÂK_ì; Ô&š-^‡½¬ÑH`¤CrÝV3ujt ý$Sl<œäŠáW¾:ôÐNv/áæÆUøÛ(”`ñbiY$²YÔàK?‹èÏ&Qºã.­"Ši·ÊÆYIVâ Rlš´—»`Ûäâjüwg¢Zƒ¢ÚŠ£ÚTóâlWÞfY#AÂr³ž¸½œpÄç”7šûÀ“ÑLX`v X¥\Ú°­ëÔDMÆ v\ë"^啪 Qüóœv:Üì‡^9ÐcYüLÏ?ʆ³æS»QòmMزº:’fšÕ™Ô/o-qþṲ̂Z­¶ówÝï!¾nXJÇ«ÆG]M+U^*ný{q½Ê1dŒˆ5d@e%Ão8‹BdÎe›ñÍ!­Sn¬;dÚÛ“í×5Œ'Ô:Íæ[þ]I}`œ‹Â³¿nr¢±ôœÓÌþ~Z0®óRNÛ8ªû¦K©¡Nç’iß6ÏaÚŽ”–ÁiĈ)Å^éG,Ò¥Dƒ,Û¢Š\ÂP-N¢’ƒã¢q2Éík„)Q¡lHkv`¼îVâ‰ÝÚãrÔ„V;± ÖïG‘?²êoq‘"ã$tp†¬y{0vÅÀEÝíf]wÐsœ‹RËq( *¾eÈ=Ú6WåXš@6¼cKÖ¤c‰hS/8­XM&º5CöÇtF¶pªË‘„c)ÈEXOa™k È3¢8ÍQÅ Gµ‚-Q¹Ö°¤µº@‘ül4¨º­¼?®0àíägµdé~˰ƒUܲ'yÁ·Ãß!L!ÝÑï4]Š[AÖno·hÃpž“-ì€øž¶"Á6OZ.iõkÛT`»’#èYTв3?íh{ ÷P9lÔ¿ú;(´9ùNÃÐõs‡w¢Áµ•Á¤W¶âdÊ¢ufÉÜF# §3xÊÂo®O¨æEìÊSQn‡¬*ÇÇšоm<ÃÁQ2GÂ4TwÚ}ßémù¥Îv4gýš30¬¡Â°ÍáØFÖ îå"ssaú6å‡aÓ¦»¤oÇ5ýk>Çë\ÿߟ­E’»!“@ê°á* 0§î¶¹±H[6Ngžéà<”œ† Gбð÷Š*`":‘&¸ˆb(òƒ{j,äÞïõýâ‹WŸN¡rýýa]F¶åd^¶1XË\ ÉMOJŒÐ›s¼©Çþ‹ÀuE]‹qO{¹• :æsj¹F9b\ßÏDý“§¨µ›pçLR¼ã’ËG¨X³°XÑD&“ÁfÙ˜m嬷sØ1iLÇUÒ)9¸“}bhò£¶Â“O€íˆ»C&JW€Ðê1T±–s¼ç?¾ÇW¾ˆ¥^¿¤óØé îdwÚ·ô&·ªrµ¢Kvp'Ù îDB6¤;1qÍ9ÕR&J¡ÄG!ò›¿ ˆNfà”7N1`šüŒœbÚÚгI°uÞÊ(¸š¨u2åO þ.:ÍÈt>-sQ]¢Ò”AGŽžÔ*l–c@®Qµ^t! ¯d«²úŽ»VÀÕ?ËøãhÙ¯FÖ8ç)Êw/ÅM²íÈÇ„±rKùÀlˆX~QK {fH‹Œ&¯Îx,†“?¥²7~¶ CËcLËÐMäéÎõÿŠÊÇhT{Ê0.O4U6ÂMEn™#ä6§¼Beó§ ”5RlKÃ’zöðR~‘ãÂhgççì]ÆÔª`‡¨‹ OrÔg1lÌl> ¢¼ÙPIÂ6/|ñ³cí¹‘3=ítO„šq¾ñ{Ò »\:¶AgÔ§.ü~ý‰´þÙeVœuÝRæT”C“®¶àÃÈgYOˆfÙ._,4}†§‘™_2§i»€|k®è=;9 ”×›b‹êÛµ'Éx|ÝA‘¾”4t¾]Õò@SîÔÌŹ9PWX  ¯ Ô™h ¹,‡Æì+j¬`†n'E—¯c9ôµìÅVÙ*ŠáçBA×y±?“úO›€çAéa͇_°lûÇÏÓcÓ㳃M®KJ¼†2HƒKj±,üínk{LsMºìœè¼Æ&™Ð,Ðèc©öQð½tV~-¸eÊÄÿа8Á³¹§6ÚÃXƒ2…xÒ´hÒr4qyûŒu zýÝ^æ]xçvTNç†Ò/æeÈÁ?ð^Îz=øyx+ÃçpåŽi.ò¦… ¢ Yã‹g˜‰á’±dŽh^*¨s°‡2j‰jŽu[‡³þ¢ò‡!* "IÚ&@vRᦇ+° ã“„zÀù. ¨ˆa£iVöIAîpñ{qûÉwd‘H|K6IØwHGX£rîôq1ÄŠîUZaFÚƒŸx*Z|aÎÓ>sw›O`¨7kKJS`/1c݈™œ1œÚtXÁñÔþ¶=h[ ç§m¡Ø_RV´x9î·eYMª$ï%†8ø»džôt²“úgÙd¶Æùã÷üáà¹e’)÷»øÞXOåÇ…±Fmd0^ŸÖõ1²5j0žÃS†29?ÂjågUöØvbqË¡Žf˜|bR©‚Mã|¸\Á ÄJ׃ãN;?Ð噼>†©#Àú7@ÁnÞúûϦ巙Qšè : Áõääú‰Ý%ç«[§ý”›lnßøÝñÃ{¾:ôSýª}§j™åj >–b„:Cm¡83ØðË?íð¡¿ËhÔ:ȱÊNhÕ¸Ó-T¾†¼+º:¦ÄThZü:½ˆUê¦<ÁóiCW+Ò–V­AtʤþdÂþ0÷±NOF°,dvÀ&j2:“¢3¦Ò‚ocÄÇÂG“¦{‘UOÌNë’ÇOàÙAsSèO§‹O„@¾ØðEÀ®¸56d̚פï-­}b©”kFP¶Ì÷AxÊzËtÈ0ÆyÔ’øÝù ÀÏfœ J€ß\®iàÿ0=b°à/aRžÖ²ýð w²á¶ð²¦Óâéö昧õJà8"c R^hÉæ÷$ìÃHo{—Ɇe"Î,G`;¾¼Á Ã]Ø ÝA‘Ž É?L˜žóãaÔ’FÔlNï6»ìͧ=¡„jÈË8uÊI³VŸÙ§ê9}ê®e|BÆDÒ Å·²‰q-ðÏŸs`‘ø^àw)ƶ3TQÚµË0cÆŽ‚E—LU³E«: Ë*º×,Æ ÐFC*`ò±„Û(O<§w¬7ŠÂüxµnt;WÛ?}Üâkmì<Ý6¦¬`§S›ÄXdÕ¶YQåÆ  KŸ S%æ³eeŠ¥s3eñobû‚0Uæg5ô3Átz20\€Ã8šx™­’â¤N$d*]—âQŽÿ—SK…Ì ek»Ò¢?+üO®pàDƒ‘ÄËM¹-\9­ìÜÌt^WÝüÐX^ñäµ/ v8˜) Ã"&> ¦ÁN°Òê›ÃæEulb:5È1+gJŸee %­Šmße[¸Û6&¾CIªÉß§)×F—É® ÅÂfaaw‚†’®â©$_ÐF¸Å|nœ§š¯·ÈÔñq´4‹íSì`@”ÙÎ5d3ln\ýÄn³ÛÆì¶1ylÌõÍÇaºq4r?mï²Ù¾ ÀžtsÊã&L‚êØyìþíóH’ ߦm§àîp°·[á¨[³2<’7«=_¹vÓ§–Qmw“±Þæ¶|˜V¸ƒìÚóûÇ•1À&_¶ÌÏfñG7 Gü[2")ýÏ.¡RÉšŠœx´Ü %Ù²]TØâ4@.»hq)çÞœ{ïÉòÙÕÛ¸&Œ'|†§Áb[Tðx?:™ˆlRÉIÎõ'û­MfžKhÀá°Éݺ‹¦ô^R®yÖrPP÷È“UNÿb§<&V3¨E›È66Àc?‚ªÎîK¢ ”›tS]‡MÈÞÐcÙTÄUÉ¡¸ÉF ÔìÅoÁ¢˜öN€¿ÂbRÌ/cþIÄ$¹NÄöTš„͇¬ÿøxJ™ >R -U X¦¡“±Ë‚%ˉߕŸŸ9xàê/ÄURó<_ÚÌfsix>°úÉ9~2A¼²4ÊÇŽ¤-C5 U¼ù §ÏêÒ(R{‡.ÆgO;É-ùôÅ®×é¬z[ (‹rØÌt¢>6»—±âÒžìB¹Pý󚔩4/ ²ï€ þ¹lnšKÈ‹™glfZ –‘ÑpáµÕXâ¾”sGË!׎¸²:P“)Žä̹‡Gãl¾äv—LŽG&ÇÚIY½Þýc«UÞ¬ÎÂÒ)D!¹â—‡<ý³,þ(˜³sæ,#'1Wßµž¸ÑArq3•HÌ–h,xnò4ã"žaÑAÔ=m 'Œ¢~r;¾Ìf£)¹†MÃXòõ}ÏÔ[öÉrýM,MTZNÞ'H‚ e,:“·žI—møZs¦90+îg@m®Á Qq†£¨Avñ‚v/®MÔi¢ûu >oïKÎÂçCz2é¶z¡)ó9Õ1O·½yøå=ó‘9Ýö÷Ÿà?ûÝ%÷?í÷×ý¸ïßÿ¯Þýø>ÿóýþò |ÿõ_>ÿŸùÿµïÿ/_]”¤˜x¯¯§É_åt•û’×Ó0yãø!.(²Óò—¥çë‰tùAŒwûÌ*]—£Êà8‹Tyý¶‹oxÚß|ÓóNoóTþ Û{å÷‡ì@ñiïÕÞ~w÷HÓÖ¿õçŽBë˜ãŠy_›¿<¤Ëi}˜€ëÞ–þ—‹ûuò\M­¿qƒ¦oÐ|¾î×ßøu:µ}Û¿ž¿ùn3ßö_›!¾e¿Ý—~3?ÎMùÝÅ•š·ý>á77Î-ùíïÿ™qnÉo¯¥>sü·»Â?9MÎÜþW¾÷¯“èÌûß½Û_ï7gÎÿös~ùNr6ü~ÿøçv¸f6ý­½åÛ7ú§ö–þjßïÎ?2ßþö™ú_Ý—þòÚÿ‘}êŸ:iþØžõûwÿ/Ìè¿:™¹i¿Î×øìþk ç_8~™Ëÿ•{ügÏØæÿÕûüÕþñ÷ïðålù6â?ô-þ¹ø_9‘~yj¿ìÇÿ•ûùOn(¿±ÿÏã÷Šùï›#D‰ˆÊPthÀŸ_ã XÐ @‹f…çV˜MªñºÃýÂë‘>xˆ›÷‹Lâ}êQÝY¤£ë23áðG0#îËé\£º«iÝu¸m‰W3"J×÷9ËšTšÊg;…Äjq÷"NAðø;}߸ޥ;Û2ȰºIW« U†Æ%ŒŠÁ E×¹à~~ÒKñ¬Wˆ>^Ÿ_ë“ÿók¿Êg?b‰¯“æó_­žb¶Å¬èÉ¿óùL^Yï?¤Ï×›Þ'óË1=?¿Êkûãsúçk3þôs|~Žkº~~TL»ñ9þyÛÔ_ñzåocl~Êò{îxÏøi3¨«ú¼ñ¯ˆ=¾FÌàÏÇöjñ;uÄ/ò’¦ôç·Œ‹úü°øœÏ«ÿ|‡HƒÖî» 8¢OºM+é>Eæâµˆè¼(C•¹ ñ(^Ù,%~Ⱦ¨Ðáw²o?(lªoÐôuÏôW±’ãÖnXŠúÄ\uÏ"&ö’Î\Ö=Š[óyQ««7õó†Mî×àÎ îÖLܬéËZ‹û!Ü9ÜÄ­Š8/-ÍÀ¼”ÉbÚD4MJ?‹ÛN€,¹ ¥0Cb½F,3ÖW¬ÇX+±^ëŽõð9 ?h¬‹º§Öm¬ø½¦õ=Ü/šû±ncmƺÕßÅû*ï×õZü^¬[Å>—çóQ¶oš›÷Ôk\K$Ö"n‘Ðø¬¸ÞHŒ´ªu×Ú„Â/Z·íóƺØld¤ëoô=+%OZuÝT›kW¢'±?8«\=õXìPêa±rç]ÀQ€íbÀ…è¤Ç?¯3’Çõ#¢ÝŸë8Ò Zfñü>N¬ñ˜Ñ^ŸÛËG35f &ñç}é9Ç|héüÐüR¬ÍÒvþJë=>’_Šwæ‡å¿úÜžüÃY˜É{ËŽßýüy/·ñ˜€ñÚ-ªw‹Ä.¡ÿâµáÝ¢°[,ï ŸR?ÇÑŽ‘|uK›YæÝâ¶½ú<»…—@ܺWìܛ˚h^ݺÁÐÅÆnøy-ŸÏ?nÝç§Kœ¸[(H;Êp»Ië…ØN’¥8ÏX\\R?©tGxôá•ç¿á:T ¶’ ÂdÂÅ1 D!é¨ËWÓyóp$@Ûkd&bªj;g%€%×iºDóiÔ¢PÀTSëO†¦óÅù¤#×[²[“1\ýR‰££±£8 WAÖ,«"× ¤*“%šÜžºQÖ¾V[H‚n'C;KûW··€®awX¹PŠ[ÄúB6S¤w¡{bß4¡ÜÄdçy…/»¤'ò/qîW2TMUw¢_Li€ÔÌìm¥y¼ºõÒ¬ÏÔ$дÇéžìn;„LXµ•öÉ~:ñ ƒ(à$…òK±_Ǿ9¤„îv3øV×9)%m*vÊç½h=;Ÿ´•Ak °p«ŽÇ&ù§„DÎÑM’žù ã”("/|n½Ûß½ýÊ‘o?†¾!Nk=°®u ÔmˆãB$a3DôŠÖ·?¶ò©õÇcX<†Ù0e¦Ìâ¶oÌÄø:âCËpo”²‹Ç$ó.c6ª;,ó/¦æ6 pÊœŒ°×šn»>úrJðXxm¹8ØL$ÛµÍD6®6ÖÿK™È×ç {ësƒQ´&öÂê½w{{f;‹]!£`žm>Æû~¯Ý}Ý}ÓoÚ„|¶ùq¶yí÷ÉûýÙç»Ûìý¾y¿ŸÞï³÷ûéý~x¿ŸlãÓ{|ü¾öûæý¾z¿#gsvjãÿéÛ›z|¶6~Cq¤ÆßTöóþ¡?;ªƒ+y7ážì­ðÞ‡ÎèNŒ6á³%[øÞ& Ñý‚ýê‚ùF/v7C8Ù’Y…d‡©¾¦1±·&Ÿ wgÖÙÁuö»3w¤„Uß±´ˆ¹¡:…-#Äb.Gþ2¶©KœjmQ—2L¡6ÜNoÚŽF³›F»´E„ú/mç÷*[Hl9­¡"³K[ ^͕ԛØÓ ) ô4¯ÅñF[ÐðV {‰ù7^ÏÍ[Òð–„I[yì*Á ÔùŠ+•”‡ wÔ[Òúãþx ¢ tHXØüˆml~Uçâó d{Yެäy Æ5/¥}~Xx°’G—k»íÚ.·ñÀíþââbèËÅß]Üú¸¸+¼ x$ [}^Ä\øòuT`ê·ìû¬y%µÓãôŽãÉëQº`âK&kÖ•hË®È^b,ör‘½-qD7ã·°Ï’VV›Ú†ÑýºüÌ",V¬vÈá[‡û9Ce}Æ;à4¢Æ&ÛçÇÄo|>™w¯ª­ü;y C?v˜.S'ÇnoþÑ>¿]˜‘qʱuöfgvp©Íû_l«‰_Iò6cÏš8çY#[†~ ÄKì¼, c2Úp ;ïÖÑÖhÝ[Ÿ4•>Oð÷î6.v›XMj߀ëh'¿Ößn!Øèsäœûä¨À µ+ ð=`AñY!9»+_…õ¦S" Lß\Ž~Æa ÆÉ±0˜¨,ˆïn dt,ÎkãëïØiËS¿«ÀE'f¦¿Í€ÁšœBr)XÒõy1â{+Ðx1aã~ƒ6$I¡`Ætp%îuÿ2ä?¶£È®ptÝ: §û¶5 ¡Ë¸oõXpbâú…RÝÇ!ÁA¬¦É"ÔŠÐ\½þ>ŸâLŽJqY[á è9…ƒ× xÓBüü½Éý}žÓÖ=‰Ež€:rÒDñsV@H÷Zyçxae滞‡€yÕï‰  ç!kª;¸µìú}Ý«êUžNJºü‹ðc‚ü˜ ÿ3&ˆõ%A Ã5jhξ ³¾Ì¶iÊ:D>pÅ«¨€¶bl ]ŽÕ;'Ú˜íV„ƒèëØ:ŒÇ1Bê/–Ʀ÷Moo¦7Ž63¾¨åôlxéÆUŸ˜“cF8/^”É1G_rÅÂË”Éñ9ãdrD¡V;’ryeräm“£WËAÿ—„—Yôd²àßR¸¶%a…2…6ê€J]??:<µ$ÑeèŽ^ìwŸ“iJ,žý5,‚x\]+úE4›­/Ö•M>ÖØç—S•>'Y²„çfÝ:öäШ_;@ät ?S>Yá¤V¥ÀljËÏ»Þc•— Ví’=&åç÷éqêÀZýéöÓŒ‰É§ìCv›ôm/·ø…móûq’ÅI¤ìs´8 ÔfÆÇt[÷÷¡Ï x´þ^þlâ4è\«ZÝ7|Gù³Ó~¬B{˪ŒK§™N xáÿNÌÇ¥ŒjIo1¯¥ÏÊ:Y”ÞþÖžqbímÜýØáeÆïËca|Èjy^w?R!VÄnÛä²À.7ÑÜÞñ|_wK»í¯ª(ô¼~úœ¶O{Ɖ=㎉étK·}×}}{>§M¸<:=Î}½BþÇZuÿ|¿3~úç¾d«ƒžûwîÛ¿ýLDýŽ»g}w?Øëyw½E¹·Tð âãŠ)áìó¯F>÷Ö±÷ùW;öúñc¬µáXÚ'ÖÏQc:û_ÄÙtÆõóP‚‰±{„Ÿ§~Áÿjäó¼HÐd²ü¯"†é~ü¸u}üË@ÀåÏ0?˽¹ÿÆÈÐÍ93ଘóäæ[©ŸöŒ³C=ãîGÈn—§}WÄéíuúU»Š¤OF}{ýûøéVÚ?ý°9ßÿôcÅ‹–{Z’wüôKòŽsÆÝÿ­Ôgüô36ÝÓžñ$øw?ìà”žñÓOÇn;ãî'G÷ï8}›ýgØÝ}è$ƒP½œ»m箼µg§åwN‡æÝ¾·º¾¼Nç@Û·3çõïã§Ï±vÇO¿÷¯¿úÝÜßÛz¼Ù‰=ã§_™Üwüô+ŽË3î¾¶ý´w|™¸¯ŸþÐC{ÆO¿‘Yºã§ïZ/wÜýlŽó?}W¸5VLzóËàA]xôt)°õÖÞqÿÞ}Ýý²\²Ãíïþ½3~úË”©ÓžñA:òŽ»¯hÇg¿ó6Ò}®®Ÿýöaç"ný–úËí¯åëë§ß,ZsÚ;îß»¯»ß©[rÛ3¾Œ½:ãîׄatÚû{»›€êñÓ·!u]¤Ÿ>wµtôó}RçNúΞ‹½wô\ü¹(Ƚ8ßãûáîWßìûå|SD¤z»9§/úâÛÍŽ´O’›“ž1õÎ;ÝÇv¾‰ËßÒ/úKÂÏ'o´¬ë0ŸöŒ»Èøw_¦ti·½¿û åáwßÑÈÓÞñl¢óúéßrônϸ¾úŒß¾)lç{ ÔŸïqÚ3.êzzÆO_:bùiïx§|ü}ýô«„Xžq÷c_ ¿ñŒŸþ-±äöŒ'"šwüôeFv•ÿ[ýíå¯Ã§[d‹zÔ½0€ Å {‹ÌÖ¢r×"/ömÐ=þQ‚ °%áz[†??@‡GÝݘï·=Ãíã}ôtáQ>­†¥“óÎçOÕ£¡ðyRžÁ?ã6ŒIÓû6ŒEdæ©Û<1š36?ÖóŠ:ŸO^µëi<†%|^¢¥UÓm<è[éA÷:É‹§õýö­ìT÷åïã§ÖÅ¿ëÈ*M1)„ÀX R‰‰[òmßÇ«ªµ?¯«Ÿ VÞöŽ'R·÷u÷‹¡aü-„3äk¸7Oëñá Ä?ý0~k{k=¾p}ïøéËÎZo­ÇÏ÷?ãîßï®#ÖeûuŸ»ãJç¾½~úÙûÞêFàœ>ÁÛ3~ûBÞ¬·}d*HÎAÓ¶îöŽÏën·SCo·ç}N{dž<¯»®ã|îy?ïGJ‚¬÷çæçq¾ïÙ¯}¿î>*¦î`¶·m÷ô½LϦ«ÞY§g®”.¶w# …å!~ŽØS÷¿ŒH Ô#ü¦ò8ÿj$RtÐ[þêýw"Tà~¾_Ì cþVô"¢ÕŸïw;|äˆ×|TyÀ¢ÃåzˆŽ¿ædg2ž‡¿N¶;‰\+åÀ—"©‡{[g ¯wüôñNO{ÆcáõŒŸ~xbë½ûËûÜqëóºûßmÙ3NF_l\õ•í²6J|ïØ ¥¿Bìò¶g\§e|!7àæùíïOñŒ»2ŽüשOŒüªPf’>?ã§otØißǨõþºâé$‡OûŒ#XÎë§_d~Z+Ÿ4ŸñÓ·‹ü´gü̆3~ú‰ü¡@Ñ'¢‰©\èiï8 Èçu÷2œO{ljF?¯ÓW„tÛ>ã9FÞ(9™ž@ñ¦óø[t]ºGßïÇÏçùýñå¹¶]ð]žñÓ?Ÿ[ŸÏWØù8çå”{W?v£°ï¸ûÊWηq÷•ïú6>Ì ðzÆoŸüë3~úþ~wÜ}Ïì÷D &¹Ä@yk—äÜÈwüô‘Àko­Ç‹Õ6ÎøéòíOëñó=Îøíó½‘pDü£•”p{Ú;ÎQü¼îþÉéßÜ~{‹à§güôÏzðû€Ÿ$bÿ¹ÁãîŸë‹¯Ü&šA¹_ƹ§¨ˆñÓ÷¼ú2þþÜ<~Ÿër9v%Ïóôó;ã·ï]ùŒŸ¾wç;Ï>vö¿;þôc^w”:øVeªÒiÎ ¸÷ó=-Ç}zöàݱ½CŸóåœ>W"Ï“…v@ì/r;ÊCÜöŒÙD†Øí鯿ö©‡O· q{~~þhwÔ=ð¾a œAz±q¼nsã»=¯Ñ‹ûù·œ´Š´XÞZê€}ÝÕRózû˯£îEPjÜA÷ÂfJÏ ½ÏÑåÉÆZ’]˜Zömï8$Ãçu÷'„£Û* ä=:ïÛžñê²ÍÏ8}¡9c}VrÔª6'•6®Ò£ôÎ×ñ »Ÿß5fÚu×ßï Ÿ¾¿Gà&ž‘äy;:F·e8í¥{/ÑíÖ5ÞY–i_³lÑžq™Èý?}—EyZggÓ’³k·îwýÒ?÷õöÏóóóºï{þþ¼Ÿ—ŠRdA³”r9Ãîž5yÖàY¢¬Å3ß=_½LÎ7¿ëœ?zb±¶[mÉ<–EûròCÚ•'¤\¨Š;J/NŸW»ƒCy¸ûái,aˆ;ÚeÁ¾õ {ß~õtýFYeUà0YøŠawwÐu<ÆÏ~oÿš{\…Š™—×!AïŒÑÑ;x„wóÇtÜâNÔìóž~€gLþÞCtN¹ƒØ± íYÏyºƒî…ÍqþõjlŸ1wx§ñ â=wžŸçÖ¢íGåüŒk—ÍÏëy~x¨Ô)+öýÓz¼snÞñÓ×YYÞZûsïøé/¾Æ—6¿_áÚ;1ÎõÝñs½\‡Öew -;®–Æ×qõû£HÚßûxúû¸úS¡žgÜ}_ç?}ß׬›ì˜ Z‘RŒžžlØ÷æŠöq‡O7àùiÆ V†9êáÓ=³ÑÍ­ ©Ï«îN­†ÓÜц¾òyõtý‡‘_‡¹ã´cíO{ÇÀÞû:ýq ëçöŽ'&÷õÓ«¤§þsýò>w¼1”âG‚—"Kõ¶ ÌúŒº;Çõ4 ~šlýt¯ Zt~îÍëtO À¦’Qí¤R$¸ž×3î~|Š–3î¾À‡aŒžq÷…Œ·qúuù¼ãî7‡x<~ûªõõüþ—~Ü|ÿ}u­³v”ùÎûº¯8Ýzû|÷EIKo×áþùüó¾÷sQógÜýIøê¶wÜéÈûºûÚ¬‹ãžùyDC@ó3êîùåûGϰBóo/ç·k9ïé7;;Àyþî²xÂEüúµÏ\=‰ÿ)ÔœŸ^TŃî…'X{¬¬—éáA÷¤fyÝÓ!vÝã-¼ŸöeŒŽÛç çªîƱIÞˆ©< íÏ`îë§_¨ÜöŽ›¹{_w¿BݺíoɹŸ~´#}mc¼#uyÇo¿èY¿·Çi®»¾µå€G°çôÏUyÄÏï¹~_ÚçMûŽ$”§ÿ·õøÂï¹ã§ŽÄÞoíŸÚ¸ŸñÓ‡™N‰ëçºÎ÷>ã·ïë;ã÷z}çùÞÃóà ±®·ƒÄíÀ…ÂÆß~AÓöŽ»ïsJ¶tì|`&.E¯öŒŸ?»÷ö¶µ=ïs^?öÒ·ŸÊóñ÷Û&B†”­\›¼ ©pð®ÂmÌJáÜöŒ³•?ã§ŸÙªoûŒ xûözsYM¢ôIØÞûú÷ñÓ®+?㧯,ÆÛÊH÷·ÖãyæñÓÏÆÝq÷åk¶güôS5^ë´Ï¸¤“ß^§Ÿ8"ï8ýÈþ¼½»BÎ¥+G~>£tä`^èÁÀ¿ï ü´F 厺ï9nãÁˆYÞ1:r‰ü/eÝùSyñ¯{н  |š]§aÐõÅ=èždÂýïꆺêwò‡J\è_%ÍcÑ)àá9¾yþ‘~ÎBz÷§=ãavKmÙã§ÿ'éqåA":çñÓW,  %¡“s»øà3èž›Ý;×ãÑ{yþ~ÚçA*+«û|ψ÷ "`>Ð~PÜNsF;Z"u/X Ÿ{Œ"€® º·tþû_†Dˆÿ|2 žžäÆüï NÃ)…›ÚÓÓá>}Uç¥øŠ«%e7§ûi»øy==£§ÛÄk¼íÔÈmÆï¸ßIFÜñÛ/¼jb@vjõi=vÈlÏøéŸ÷9íÇVy^?}_ÇÓ :ȃäW>I 'ÇÔWš;?㧯ì*(¢÷[ÖxøÓOËpXÚåmøô%Ú“¾´Ù)7®æŒŸ¾¯v–¸wÓáÓõ‡ŸÑs‰¾âû„øåóVžAg~}ŸIßfr+[û„8fѯéiÏx˜j«½»ŸÉÕ<­Çå†õgÜý°ÀbÝÓ¼~þÑÛ‹Kûx8zgÐ=¼˜Ó0¸pP=è^ØyŸÇi<8Äž=ƒîu¶Çʆ« N%Ô·6Æ;è;~úþïo­ÇOAÆ3~ 4Î ÷öŒït!θûsÞãiï8è›çu÷¹í6l{ÝöWÝŠ·×é#P! ªZT¯°s½µgóñwÿûý<ãç¾ûs8àú/×yÇ•BÞokÑ}UGz_£§o?ô.i÷u„®§½ãN¢Ü×Ýï~¿ÓÞñ,êóºûòÆæÓžñ ­øŽŸ¾"f‰LDn²û%¿·gô5•ßûÓ?¯ßñÓ¹¡†4-… Î}}o7rý¶Ï¸æÞÛëê 4“žöŽg‡(ó׿)¡„ÒAœªŽªbõgüôcßSe0Ÿ~ü³<¿wÞ§YÅó¶:(?ã§_]Ãå¶ýømüôMo¾í÷÷¼¯»_ °?¯û¾œûQ–‘ùйõ~ñ¬îø[_ŸwÆOƒØ»ã§V‘4G¶d¾‹"öŽmùÏë§®ë´g¼Ù5<ã§ïë5•_‡R)ïíñÛŸJe?ãd(@À%hÀÌO{LJîÁóºûvÆmï¸ÝÛûúé7ϩӞñNJþŽŸþ@ôm³/ŸëÚPÞÆÝ_<«güô»¾çwÿ|ÿ3~ïÇùž"ú¶3–)óåk«qôŸñÓçü|ZÇ8Íwÿì'güôÏ~#Q¿ùÌÛ3¯Ïøé‹è9žñÓ» "?g?¨$(‹kùÜö޳×=¯Ÿ>öÁÓzü¼ÿ?ýóù“)̵C'w_¤ÌþŒŸ¾ZÈ‘¥‚Ðó…2ë­=ãÛ䎟þTôû½Íf*q=güô}½Ù(ìì{~Α;îþùü3~û¾îûwç}`}=ã§öës¾ó¬P莟~D9ûÛøéŸý÷Œ»öÙ{®rÎêNP?r_ç·áWŒ;œwÏ÷NØïœÿ¿Œ¿Ù£¼_žgžù|nh"n«oãô¥í*óŒŸþ±×º"ÄÊÛ…mó øŒAªž×Oÿ|þiÏ8²#ÏøéŸë|ûüòf'»òØË×N.Í¢-«Ö>ÞmSwff¿Ÿ>çßÓ>ãÕßóºú÷û»®j~?ößiÏ8Y£güô‹ÖÇ{Ë8Ïè?}lýÇþ´Ýy\Á3~ú×åƒ-¡B´[X(¹—÷ì~b xÆO¿ýýëNà&,‰ \›tßûm<ÈÂ=ƒô6„7gsè¼æ~ïe¿?}—´òz#ö‚Žõ|OqŸòÇZùní«°ÁgRPÅ­ûG:ÿž±ôÄ/ÒÓ“”ÆøÚzc~yÙÝh¤&KG¢¥§ÿ9ãj¿~¤?‚иt.ª8N¯û/#"$y¤úºÂnîØç=¯t)O|þßCt:ºÁn<–Cõò¼¢ŽôDêmâ¾ÿ­#”Wû¤â#Á¾¥9ƒˆŸ×èe”#ݼŠt[)öÿ•¯NlÇ&. É5…~úg ż}§}¾’x; ”ÄÃèç_F"¸sFôs/Ÿ=Ò>úŽ}Qú—×>¿ÖéëG]cÖ%È€Ó¿ém$ù²<Â%ê"UR%Qº¹R°Õ£§;—‡…áIúAj÷_å«>îpGÔZþW3.¹¯«Ôî¿‘Á TüüùÕx B‡ÅHWµFøùÓ&ŠYÆ¿ Q¸î~ô¿™#¨­ÐãßÏ¿"L÷õãÒ|¾ÿJÇ Ÿa~òù7K›Fîî°›MÖ%Ó|ÇO¿3Z]Jós6‰µ3nãÁÄ3tÃ`à¨TvTUGÃCÓÒ ƒªQyÝ‹/{þõXîgÌÂþ×Cbåž1w­¾ ƒŠ¥ÜF{5BBõ6 *puÆèÄÇ?îW Kÿ8•ÝQÐ*Ð\8z²ŸÜxLëö¼Â"® ¹ñXÜìûŠ:q¦zéCóD`=‰L~eí§=ãÂã˜5TÊÓ?¯ŸñÓOv|:fèm-ô·ä¬º=ãÅ¢ÔÒ•›Oÿ¼~Ç›y#ó¡Ú•ôŒŸÏ?¯Ÿ¾¿gµ<ƒÒç®p­`Âm=.q<ã§ŸøÎ·õxÙ(ÜñÓW°Qüq·g|ºšç?ýIúw_ Nõ¹oGäñÜßÓÞñmêäyÝýóù§=ãál‡w¯Ïýs]ýp5¼Æ½ªÏ°»çªÏðéûêϬð䜴Ϩ»R7Þwôv+²Â¾}O¼3ÅyÀYÄgõjQ2ñYZ„bOs±æÓý6L†3K«ìöÎk žž¯ÓxPvÖ3HOõZoÃ`ø©éŒ¹£bÀ§a,VDtšÁÙ%›S Yå¶gýjǟצÌV?ý2ž‰œ‹àvÆO¦¯ã§/9ö÷ñÓÿöû·ïïw®£Zø§¯ãïýLdRÏ1>·™€Öò·öŒoãî×ùµ½¿÷}|jáõvû>.M¾·×`mÈ·}ÿþºúßæÏïß^wÿÌã;¯˜Oòèç3oOÿ¬ÎgÜ«u–cR€ðª ÔÖÛ(Ý!?á¥;phî(Ý!àg”.ŸæUÊú5ùBCü¼dR1ÂÏJùy„Ÿµ;z„ŸëáO“šö4Š6—»úÙ 2ÛÃÌNÁ³[ »½òmÏø_¯ÏX@E±÷xÉct†·H*ÕG ¤…d ¸lþ;Ücº!ÏÀö¹™„–4NãA%ªî {|úm”šôt‹.^ƒ×hÞ»NŠôˆ h<Ù:¯»Ÿ)gs[kO,ˆ—™_’÷Êþu<ú%èXÌ m5(oO{Æ+ìŒ;~ú ÕðÛÞñÁïÝ×Ý?Ÿ{Ú;nžûºû¾nÜ)‹Vè–WrÇÝ×ÊœûŽŸ¾‚¥©¼¿÷cæ7¼@=¹ŸsÚ3^HÞñÓ?Ÿ?I[œ÷¿ŸÇO£îŽŸ¾Rcõ?}a/AGEœE«;)¼ ¤Š‡oÿۯ߾ß.<3´³2´wÚöŒOáoû6^”I^W#z~Û;Þäz=¯ÓGš¶Þöïæœ×OùH›öGBˆ ?Æûøàƒ<­ÇÏuñÓ?ßï ž"˜±=eêzk=ŒÙü6~úßo­Ç¥Í4žñÓoàÎOãÑâ\©‡O·HÛï6u% –õéß×=~úgæŸq÷ïÊðÛß·m"{Þaw½ïžQïÂÞbÙTÙ1Ï 7~ïõÈ8ŸA÷t2ÞAz[Ñ -ëê=Ü—3®ŸÃÚáç!!Fø9bòÅÿz¤EœÔãúùó‰Œì~®ûáç0>"8ó‡s‹~~~…õ‡“isB~Œèçâ³Eö4‡ÞÝ¿É_Ù=`õ{sˆ¦¾)÷èñÚ—F‘ƒRÔÎ#.ö„ªDÕx}ï¥Óx0OŽ‹3ꮨ#=íÿ\êo£ê 5ëm=ª\Ýz^=}Ÿ·=ãG­øŒ»/•Åñö)õÄo,éñÛ÷-¸¿ûýíêî÷Áý¹=î ZÊ"ZÃt 8võ¿ ®Ú×Ï¡¬Wüo¨6ì/Åwކ QÚmËÌ®O:=^òë^õ£ï[ºwKŠq÷¨׳y¸ÛÛßów …Ž;|ºŠ„¦ç·O_ŠúŒŸþrd6ž­¸¹ù9{k{Z‹ˆ­ìbátÿ¾îñ§ï÷—(æ‚3äà˜r§=ãÝÉ?ýÏE7ëmî(æ¢À*«>ýûºÇO¿œ}Øí÷·¾¯»ï»r¾Å½kàŽß¾¿ý¹Žâ'ðõêÏèçÁ+r£ôά¡9ƒ«`Qóš{L6ï±Làirÿ«œŸõ ÑÏMYïºúùdãÇámøü3àT+ÿüXT‘VÿÐOÎb.ÿôÞýá\g ¿øçì­9ߟµá²üX–^HžÃžâR|ÄŸu ¬= éhpưª<µ;z»¶ÜN›™ûl<í/ÈBÝñÓ72à¶÷÷ÖÌ¿ýfû´g\šŸ+r±¯NÁá'Ú£÷ýkzøÜ‹ 5KBÛéþ7‚NÛ£FÜQÕŽqJŽUòªÊBϯAz;t“,<û”L»õ´g\@vÂÃÅq=ú˜°wüô}Sîߟqÿ4¬ª×šÈŬ˜Óxôó\—«Á¨{ ËŠFÈ¢òíï=è¯è¯R¬:Û Ø=·wܧûºûJÜ÷§=ãÍï?ýf…àÛvÑC µÀOsFÏ8Ãç¾ø‹tãŸü˜ÞÏ[ÿ\³Òj±­YU¸(¸Un{ÇUW7=¯Ÿþ×k<£çzø~a¾à¹ÍÜsÉ×ÞÙEghgñ˜;LÆrŠ‹‹G OõÊÞÇ;ñ …é=~ûâk¾Ÿ~³tðYôÁÏQ~s)Ît[GœXŒÇOŸâÁùiϸßÿŽŸ¾?ÿ~î]òlV‘QÛÞ#„ëó?k­3 ÙލVÌA1=ê6[G@¿¯ÐiD¢Ý0ÆgxˆŽ÷§ÓpAº¸ûÎ.xnàYØg÷óÂ®Ž •…9B‘¶ü¥/}‚]žq÷å羟~ÙãËû<ý!Îöù¼Î%ˆ-ß‘œϨ»Û2W=Ý8ÈŠw¾Èéû œ èB«¨Tú£w. ··b)7™yì"6É(1“Ð<Ž ·Ú!ŒÓºa?ã·ßµ^h2vLÒml‚Çoÿ„FÎï?¡’xŸ\dÜ=ñìÌãm=îðê?ýó1§=ãþ˜P€üÔ –cÞA÷¸‚3x®ÇÑx’xó.Éy<œu¾ƒô„¯ô¿gHåÏ+î( q›ŠW'*ðm<()ýÓ‰…ÞÏÿ2"ç—ùYƈÿõHÒöÀ¸~z ßgÄÿ2kx™Ï@j¿bTµÐRü{†‡åwlü3Ýît$™sÇOÿL¿JÐù—i{ÆO?n‡¢Õ?ýdÞ”ûþ"w茺»ì}{ôvy JŸ}iÈ—Ðõ?}m*íiïx#–|_w¹zßiÏø@ã÷ŽŸ~Pb&f¥€¦¤‰¦ëÓžñØ VÆo›æàöŒ[@ã¹.÷ïëw_%!ïöŽ:'½½~ú¢­§½ãõaóóúé#cxw¼³žïwÆOÿÜý^y~ÿì”güô¥„Yžöî¨ÞAeyNó$›$@7u~ú Ÿ®2ïOãQ¥ê>ÝfhÍmÙŒ¾¾‡½ýœ?=_ê|‰3~ú>â¿ýªdÃs §Ï%Ü ‹½‰½¬#×+h!ë@ŸÛ3¾\V錻ÿ,¤ò'ÛwaÝ÷?wöú3~šažÐy@ÜzÕB{[7g½x{ `¯óÊoÈH×,«B_àIÝ08hò {½7L¿žA÷‚ƒ:n”FIŸgôtU9p¶·Ý‘ókEEºvU¢üˆþed WË?GÝÉì µôcøz²Æ$GÝÐ@’lIzkÏx=é©téíŸ×Ïøí[¢ò~¡ÔêùZOëñ ÇþyŸÓžñ+Ë'?ã§ïëà)ÒnÞi<Ø (Q„ûô"£ú º·‘¨‰e‚î|Asæú´²þi导µš¡=~úqtÍôÖz¯¯e››—güôï¼<ãÏ<ÍBäh“%›J²òi=º ûíõÓOd´ž–ñs¿Ïø½ÿá çöŽ#qÏë§ßmÛœñÓOT‡ªxÐç÷ïûyüôÏü8ÏÕÏë>Ïûþ~ßXSýísOÿ¬û3~÷ßï Š"[>álwøë.âáÛ÷Ó<‘7©¯ûoq>À‡”Ï1Ťώï½]b e’²’B‘ª:ÿ"’s†õc£>ìùwÅŽ™NQHRÕLü/1äæ~îª vÿ}QVwx„Ÿ§KüËÈ¢š¤FøyÉGñ¿Ùª‰ë?Få’}þÕ€ªGÒ×Bèß§ ý|ÆÝQÉäôÞh0N&|Lx;*¢ï­Æ‡×güôI÷¶s…@çñÓ—`ÿÚd¼¤÷pÆO?ZËo­à<”Å?ý ‚ài=Þ¦ÿn<¶•@B8OëñˆsÊÍóøéwb‚Oëñáï}ÆOøû¿·ø—îë?ýéûûÞ6ƒ<:ö,¡õa)ù×[ãAP§gP½ƒŽÍ…í¼¤ÎrËCt&¼37XB΀õu¨k_ÿÖƒ²Ú4»Íì3š3ƒí¼fv›Ik¦µMñÙJƒÃÆ {þ;_Ÿ*Û 1Ä<¢Ÿ‡XlÑÏC,¶ç[íó¥ËV’:²¼*n©gÍ#úùKZF‚µæáøÑ¥ø|¼gT?VƒšèlþzI¾,F|‰ºˆŸ¥ý¿li7`€ïAÞ–¿ŒG¿Cz=Ãýp` ¢êÏ/¿°WZ>=ÿjï—c[äFäótY錹§04¿éÞvP±Ý\ÎèéªíãBøÔòiÕ— OíçKœïèQuësõzz¿ã×·à$|V)€½:bïû½‰Aq ï {­€V¿M FêøŽÑ‰Áxoº|öüö’{Ú}Þ‡F‹‰ßb [Ðëù7ʋźg@?n(ï¿] ó•=âN4½¿71ø¹Ã¼Æt/+ºÿÖ¼Ý6º±ÄüÞøÎŠ=l%èaa¶xJâ6œöŒ[éùŽŸ>*¾O{ÆÞkÓº=®<:?¥<íÏè(G>âfGW9_Ý„;Þpì`)9à7]D+Xô[«q)…¿µgÜA³;~ú‘ÌSlÜ­Ç…>Ì펟þ/e¥Î¸¤åÞÊJ~09 ÕÃÉ£˽_·õ¸âIå?ýïß댓Ï÷uÿû}9÷O±¢ôŒŸ~¬VU^ôøé«€ÅÛ}<}9¤CÉié}„ê€7žá¿ý$<á¿ýoïsûþUyUÜç¬[¾Oëÿ"ß2߯Oÿ\×iϸ¯KõDZØ9:ã·ïë¸ãçºüyž§qÈHžwÜ|ÆOZAòŒ¿÷Ë3ßoßëá¾o˜ ÙqÆÚŸñÛwIœ3~úgÝÞë{_ÇõmÜýs½‰v2l€8VÞZ•ØÉvgüôÏõÞöŒC xÆç|é{ Tÿå`®÷ý茻 „^žñÓ ª™ÿ{ïš$9Ï\iþ®Å¤q!Hîc~.î`ÔûÍ´FRKÝJ³ªô8"xp86kÞ5~·š „É'É­ãá¥5Ÿ sœåªOÇ»_·‡¥ñÀZ4ÊOÎoƒ~‚—৸u^ Ùäº@ÞÏsäòÏrc¡» qôPwFEkŠâí5¥ÅKÓcx tP¼ý˜¬^u‘nn¹¼_›5#;7.}1²]ÚäNq•n­î3eŸÌNè}Š[w§%OíuÄ÷õâüÌ­}ž‡8Ø„#+Z·4¦÷H7W`É[åÒŠ_t™Jn ßÊíûÖQìOÙäêÍtéÈÕ}³É‡?¢¨9·›ï›ž\zè÷æÖßÛ±ö~"K4ëãÝ9ÊL„nÅ­ãflV Ü+¹õDÏ^/kƒWÑGjn7>:ûl“_\Á&Ó©OÌÛYi“lödºµ¢ë3TìÁ"^QF0§ÒVœ‹¾ôäÖpSGYóð¢Ñ„Zp麾ÆÌy½óx¼WæÖ® T(¨ÌpYNg“ë¨a€½ 6€œ9 ¥"HÄ‘‰à©m&ñɵñ"+#ˆ9‚ ¥"~ S°%ÆXXQÉÏ,dKŒqö‘T2œ1ÿ:4©Œuz³1\è¯ušÔä›lZ/È¥Ú×X’¿ÍBå‚G¶›ß¶WY”Ö\­¼äÖOOÆT‡ý{œô·ßáûÖ:,†Nÿ:Œ|4sÎOEZñ© ÑæÖŽÇ}³âíÞÒ­ÏCÙSÖÐ[c¥èQ¶±Gæ¯í˜7xdåÃîÓˆ<CêYHH½³ñg¹­Žfly0/$nê–á­®œð®O²rT¥˜\ZõH>¸|T£²ª½ f Ÿu4i¢Ss·á…¿$á®´Dø9|µ›þ’LtMŸr~ƒ˜ðµ7¢@?©þN,oÂd2¸A,Daáßvp¸¯ÄXéH럋7,?‹[£”`§VçÝjœ½sè¯ã|›QÐ? ¯ sùG“Ĩ6!U´}æ AhVÁRO)Åøˆþä=¹ßóõÃS¦¿`÷Fskyáø¾R\zÊg-yé5^µòؼQÝ6Þ*D¸yixÕÄòº7úUÇÄ;£ Of‹ä[YYàþºå:RÉý(2 ÖDi€™çø‘€†ºõ}üAè/~þaè } ŸÆ–£”mZŒíéyÙŸ”¼Λ:p<ö'ÝšâøÃõ õ [3”ƒyø6Oow}Y²MN 4¥l7ý‰L)¹[nnrRß1µ|†Ûâ4¢@p¥üZ×Ô2¬-êcãB£>D®—Çu4öó±5﹘¹õ¡èêœÙ¸:çùœzAì*¡TŒAmç¡'£Ðù^Œ:I=¿¡šfWÝx•C” øOÊ&o|ãÌtiùi¤ŽòC“¦Ï«¬ùÒT óÔœ5–6ùÅ7ÛL§^-W6¿µìYéÖxŸýeqwõµX„éà}C8–ƒÁàlÍ9är—Îù¶æ´ñ·F\Šc³Moμæy{òvp}—ð”E“ú”[¬­y¸×µ[G}ºÛKØßÛÇëE¼ZEt]¬qx¡!ňݭxj¹Õ›§¾ØSœ\ >ïÙE·ùÑ4DsiDa¿®´Å®W¥K#¤æYÖÜ+˜çÊÂJ;/ Žm•MN—àJ—öu²MN—âJ—ÖõËûñpÝ˼þ²É„ïªtëïã4oÚgrig^gç3=Îñz·,†ÝЭÀáÄ–mÆ–Ñ]¶ìtpÏ'”Oâ›Zê7h8£§©½óµ¬yôV-nïU=¿›mÛsšÏUþNå@ózJÖ*''HÇ•¿·Ör¤Æ’aQìyXF‹Q°Œ¦`-†!d~ÆTY—íüÌɪãâs¬°íïðó¦wÇ“sﵘk'óªÍpöª¥ªzB¦ÈgFÏž¦¬n mq&©Œ zhfR˸“wš¤7æ(ÁÃî‰ÖÝÍS?zÖN&êY¸Ä÷zù·ÆÚZ—îz²M~+Πӭ_›ÒšŸ\L5¹5®n/kÇÑ·të8‡¨êlÅOðx’[cðÎ뤺'¹t<ÿpCõ8·õÄ=Nný½}kí?^?¦f߈J=Ì(tŸÅòæóî&}ß|ÑlÚ€6-&­hÅf;šÕ¤ßàFç3…•ÌË2긡Nó/&-˜I|Ú¥?WÁLãÜUŽÄ/JÙÞ"©¤¨¤z¾øìLt œ¸â°³±ÒšŒÆXœ:z¸âÅÛvç¨a¶têy¹ôÆ?u¶É/iïÿz§›[Mn™\ñnFgœ'×Hk>￸´·“Öü@ÏBqiV?á•è^_{>UK=ª½ú¶·Ý­]çOŒÇøø*¼4·‡Q*¾vDJXM…¦Òl‘² Æ·1¥Ôõõvð ø³-zsò7Ö9”âŠq» ¸EÅP*â û¯–ë1“ˆF¦ÿÁUÜL"¼ ÿÒ‹£ïR—_Éå7¿‰ˆ;|§¹õÙÞ6ž­­ôÚŽxŒ™ÃæúÇ–UfŽWÃì*. È럎QÉ• ½™»MkŸ£h0Oýè¥FödgÛÀЧ›5¿äãožºáÑ W…[Ó¢bêl·—G ‚-Ýúä Ri“?ZUéÒ‹®~¹[¿ªð §„ŸÌ“Øòâô2cËÅ)+Æ–'ÜçêéÄo¾õì:÷-.‡jž7N7©ÍO™Ÿ9SI‹©¤ŽTåxC2“è%“P)BF¡§HåJgÆ“K+LD|ÉŸñsç~AôyâŸak误†~=jâ,.½£ô\Û)ÓoVùæ©£Ep^—†m_¼ÑÆ›ÚÎC‡¶ÆÎµ<5¼ â¥ÿÕôÈã"O}yôN7þ#gŽþ¥5Ç„âg³ä]ë(š[w…rJ›üþJ—ž~³ñ~½=iæÖX3ì86Nh©$W¤öÎöuòÔï|ô¨ÎA|Ó§²•4kn«¸´³eŽû^ÕI˜Vü¤Ãsrë‹/èiÍQø?—V#©ì¥¾Ý¯í˜/õ>'—Ö²bœsoNtçÄ\ó(Òeͬf—þ{þš¹g›G¦ãÃr_»ÅâQ_Û1Wxóšw&½X×y)æ*–LhïýIcч}ò±Û<7óÔÜ~TUñ¦ÁQfþ+cœËLâÀ@„ VU¼_¿ê /F€rKÑmèüÔÝBEXRGg*¹ï‰›‹À:}˜QpÅU1 F‘0£ˆÜêês8*ä)ÿáúEmúgøýqøx䯽ÙxÖ_¡Æƒ£xUuD® ]½dIÖròx<ºz²Ãôª²¾PyàJô]{Nºi-Dí±ú¢ð’’cœ•“À,.¶C`È8 HHÁ!mÄ®öçÈŠèÄiÈ0µ»Ó†ÀuE)áU±QJ®"V”²³C0)å@þ¤’‹ h=Þšˆqâ™.ïXëܸ´7‹ÈL£Ëÿ{;Éñþ}Âŕ̈́[Õ÷¥êýR3¼Ï¥êÿR3A¯DKƒ4²±œŽ¿¶cß®m?Öh*c@`©™ ôðµˆîqkÚöÅé·²O¾{ jWò¡fKƒœáƒfBuB—‰Ž#‹<µŽß×Õ×QŸ»¸4^)ÁœºãÝmû¾´¯wòÔïû=Zƒ«åë¥ñjˆjùªþ‡xH” àÉ?ÌFˆðÖVqi8òîÜúà8ƒyêöÅ­û|skTÿ·FhqÇž¶ïi笼²ÊŠcöC¼Š[#´÷e“ÆAÎtkM{ñƒöu|1<ÛFgÚ÷;ýØŽËÖ<ЍçÙŽO:K/qQíÎý¸ÅSwM‘³ÝÎÅÊÍþ'CY¼ˆ§V±”¥-jl~Œ¥ÂÏX­M„ŸÏ?Í_ÁÇóÏ–»œû¼Wå^enôÚ"Ðh¼Øž-síiÀVj¢'¬ŒXxseʤGÄBxq[Ñè8Œ ¤q¦oêƒCU‰5rõ©²»ˆ“1Œ¢ÒaÆ%m/„K5”ŠDŸ4†7}g•F…vŸ –è}fã0²ÂѪÿÙ á{DSðÄüoC)dký5b„R(ô0̃à ó wqv$×°‰êÃÃÔšè|¿ŠÑy.%Šy"þ+Ô‡BŒ Ž4¼ ¯ßêÎð²“ó•é—=¨gÓɾ–Ä’ƒÎS“ƒêY¾Îˆ•w¿4fÛFxPsé1Œ'¹tô§Ähdq†vfvsi<×¶}kÔÖ3yjÞ¾‹ïú8ò÷ô‚¡Oí¹íFÚá¼’;¼WgL›âŽqÃÝsnÁØî¿î»xêKóÌ­/õe»"³üp18 ¤m€ɱم„zè Q#ß®ÀÔ,$’ËA·#‚¿!㈤lšúhJÉÙÀE)£Gô¼¶qH¡ö¬›ì»›0ŽC·‰7ˆw+ƒ zÂqtV9É¥Ñ%ÕŒ¹4rG·¹5â¢Ê·Œ\u}¼ÿ=çÆ©áÅÓ¶ï[ëuäõO­ßçõöõU:mȉ½†‡þ aÄã4£@¨¾bE³\½|{hùd„z?ˆ+±¿wM¤cóõÜ}ZX×™JGRÛ@ä¡ç|%S¨@£ðaD}ÀäaIðœš5Mí-‡H&¡êŒþBüŒ¡c~Fq~îòÐE; Ÿå ‹áÈr{Þê’|6üì ÆRwqýÖåbu N?9’h±ŠIœ8hüâúufôG–‡2b}t3 ,}Æ¿BÑžš‡&B´4îµäWö©ýúÎõ¦×_¯­Ûëêþ¦BÉÀs¯àw¾Äf,‚|™-­ÖƺÞ:šx ü׌Pó×ÌÕV\šÆÆO½ÄÒS¾¸´’ÌSO½´šïºo¿ÿë%ÖÜ/±×ÖÁ3R{?ìgñ,›c»L××Kìµ½ÄVþû%v©åö°h(ۺסüª¿BŒ©"&qôŒÂÿ Ý8î×o…¢ŒdWá…ðèDW6ÜÛaxj\ÄÜZÇg,É-¾Ã“оxdxÈÂÇðÉ#Bù1PÌñIÅg¾Š“ì¯åÿì½èë˜ôؘåÿ%ºõÖˆŸQ'ê/É…¢‹„Ÿ¹Ð ÿ’\Se@|>±Šÿ’`“ˆGÊ™Ïú‡Q]+ŸÞ`PW=»ë´:—¦–è/ŽÀÉδ"ø+ÄÕõÌ((¬¶õà%÷P{Y4õ Ÿ}íYzëÁ.Î΃ɥ—֙ЧÂ)yÿuäì^_Ûlº¼¸|„Eðùó÷œE>x?æK21eâu9ÌŒÒøSCD„Rþ0ø‰ÄOkõLóÁ søÑWв[îž÷f? ”‘Çße$ÐM7h–‘ø<8+ I.MÂÏë¬ð/É…žv)pÄY† Óe‡$z—ÚÅN¦¦qyYbö÷¬Ä©±ê“¶øàŸ›Þ­æÒ˜Æï æÒÀܾ/MÿãcãÔx¯‰©xÉ¥=]<õâh[ò]÷í÷:/LÑ^wqiøV(Ú¸´÷C>ØŸvÝÛuZ:×]ˇ™ºŽ™®§=õ©‰ŽǯWÁØsÜ)Q˃£ÇÆ©áìñ·îœ“•ÜzÐÙ'¹5œŒfqiå0cg8e%ÿÚYS– ©¢rXÅ .ÆtГ£ÔÛQô_Ãu¡ÐGh.°0gLºD˜ð—«!\Mú^"t–l)é p8>c]pÝ|W^÷³Vn QiD£’þPó¾­¹Çr/ùàX#ïÞÉSãýn–5wxLÌ·Öô×´æa’[£/a•‡ïØó$·†Å‹[Ç$kŽ¸Ù½¸µFËŠOŽÈ$·ÖuG‹p1†[—˜Ù`žZ¥ÌS? ‘hNðcÖõÌë8ê?­8F/6k¥ ¢ß‹[ûxm“3ºg¥Kë<ê~›ÜWUýa¯I±.Z]Ä¢ˆ‹ºÇ~P/½>DÊç˜~àÄâ8Ù´¹PÊ'ÿþœcK08°Üì³}PJ´ã~Σ âfüàÝ/?dJt2ßû7°àäf“/,~YéÒg´,gYóÏãüJ·Žež¾YñòKŽ­¬ð'ãü`ÑtaëÏM =ã:Ðÿì'f\źŸ\ÔFô“³ãLD¥îXÕï²ļ°i(1+~6ñâ1eòú:FÙäù9éèó#ç៵ÙäqŸötéO‘ùseÅæwÝÉ­cŒçèdÍ?ßùY[ºõš<àúà”Èóר pŽ˜ßåNù¼¼ü`dA6–ÅâO}PJøý\­ "¢åã1ùƒSbÝ×]’ ëÈ™¢¾¾±•hPú6äíâZ±ÉSÇÝ6.W:Å7:2Ÿ/ú¯t1þákÿÏ“P*rRKCˆòá2”êò waú ‡#aŒ²ƒð£FV'&ØðW½¦ôþ‹jàSÖÈìßdk[69ßÿ'ÇèÑN÷ëçÞÍïЕIˆîmfiÿFïC"ãAÃ%|ŒcÏÐÚz†âNO#¨óe“;¼±Ó[¶Í!AÖ\³á’[ÃSn•iðóèÉ­›`áñ†ž¡[=@SƲÉo„¨téÜžlrm?o³»u´?sëÜ®r—ê‚[=å~UåUËWU¿ß¾" »iͱÜÝSÜú³›s¥I=Ÿ³R%;£ãÐÄëñš_[Œòž\:º<ªÁ¶nZrx"áÝZÁ\ͣцž¥[¥^[ñSèæÖŠ$TVëˆ1kJáçF)Oz=&Nýpâg8»G9«¡kRãlÍã%"ÊSô¶ÔN/.}aè¡1÷v ¿|_¬äýQ‰ç“HÏãm1‡ÿ¶#·/²€.9ù^zÍSsBSòÔ7×UJ.­x¤>[Äwë|º‚„5Ç+ÚÆ­®³‘V1ÝFOn=Ðs–Mþ°G!Ó¥;3-bo¬X|ÁœD¥Kÿµø‚ycÑkñ…;¯kÞ'Œmu_d‹_¼Æ™.ý}œæðYÝÒ­}ž¨ÒP1öÇy…°Þ’s§D•Ž+\è¨g3 mœŒB»ðív¶xSîŒ{Éç ƒ½žG[ñ®)®æ©£ÿ™iÍ9{ðÙ8µŸÀä~"³XO=á ‹F!ÂʰØÌtqëûzaÉ[žrY¨¨‰„\·¾c©¸ô÷EÊ“ŸôœK.=4);¹ô ërqi‚'}9ÙÕÎU¾Ä$TC‘QÌÆ%áÕ%‚§®š üŒxR"ú¬ b]#3æ µC„Ÿîܤ÷…­î‘ªÝ«Ìý~úõT/tñŸG¼M£2ñ_É(x“¾³‹õ[1Ì5½ùÇ©œîQØjG#8åZ0­Tª—^iºuT ¡a:'Qp¶”Åç*åÞñ9ʧö:óh0ëºèêàÆˆ7M»cÔÑÆ €ñâǃ¤–gÏa»¦? .¶?« •6$¥o~ÊÁŸž†eE¸Zèô§¨õ÷tàqÈñ_ÀŒL¡‰›¸èÔM*së¡Åî’[³/>ÎÁ°b˜—L@'§lò¡¾_§êäŒGÑ69£(U:5WÀ:Ò&Ðó©ôÔŒBÑ“°”VÜ[˜¡Ñûέ}>âÖ>n/·ãëh^1'1V1å‰'¥ƒï›˜”#kîPxfèJc=ÌÙŠ[_”M¾4*êt듞6iÍuÿs> ѵâÖÚO‡/¬<0`ަ¿0¹õÅe–^¶3"ììOqë¥÷p´6ø®;g›‹n·nˆ“6WÇáëŸûÙú0îµéÏÙïÛ8ó¾b)›èîëÁ€Kжæ˜Ò~l\ZãweÅFÈI.ý×ùù|tþxCÖTЋe –µMÎaJ—ÎÇ^69û‡ñóo6oަŠ#ôñh?Ñ=£øÃ1Ü‹µã0r(l¹˜Øri0CØ8ìp/!øä—F@ÿ«¸50ݾoM•”Q o_–ü:I¨¾¤-„óÕ]ŠëUj½ ŒdázÁӘ껢RÑ»ÊzãYð«"PÁPš3"œ_VVQ%^Z÷xy ŽÅi|“i£Tý`”ŠŽ¢‘Æsª¼'ï‚ý‹I!ã—ë*JÙ8šP2:µîs£”1ªz8n㡹fç‹ç¥ýksëïÍX£ mãÖèü9®âÒ˜šw´âÒC#É¥Ñés§FGйŠKã7X{[ÖöøâgŒÄ”}G˜Å°8jÇËP*Žè“Õ¥bsw~SÊ ûZ{½c]cÎRáh#—ýð1‰¿ô]vç˜&‰) õ°2Ìš|´àóH&áÜGFAo3Š˜øñ3ò–?¯ËÝ^þŒEˆEøyŽÚ¦w§ç]š"˜òd øSFÖP*Ü`ü×ð‚³Î”˜ºwn¸tS±øúÕ¾]²x3³çѶ¦þÝl¡‘I\Œý~á\™òB'+F£Ò퓈aA.†7M¿–žšCv¾tºö›¿æ‚´âÒ¹xMò¯ =Éh¾¶“‰ïâ»îõû†xáºç{Û¸õs¾çÀHãµÿÞW†¢FaÔ÷­}\Í¥œTý^ÍñªãÊtŸ±~^üÖ9æ™[?µšïµiåmû 0•RÖMÃãÙó¬RÝèvƒàééÜxà Ͷث¶z][óæoæÒº€ç±T=)bÞgžâÒ¬ÏäÖŽ0pâÒ˜~ôâÒÝVœz^ô¥L.=ožcò]÷í÷>¿¨É ÜKnß·ö~:CºåuõöÌSÛ—Š¹ÚY^ÙÙ—+/ç¥òCU†ê=6.¿ýpùaSa¨²òV,¦˜ã‚βýÞÓ€íMYsØùÅùÖmýÍ9ubçKö.»‡#w½—5_òÏMNÅú®¯Í×׺âûiFÂb€SSÉ[3ˆE%£U²ôÉ6 ‚O¾ [·[#Òæ»îõ=mƇm*©“œ‹Á90بÅÖÎÔð=—檱e£>¸Ï¿6#ì[9åí—éaÇÀ§¸tt€ãA4—f¸ˆ¾q»ƒsÉ„äÒƒµÛö­Gm'õPXˆäÒ˜Ò_ÇÿÒ}Û®O¿s8¹´÷ÃiIGÞ…¼ºâ¥ùûÈ¢¨ÝüùÑ0—ÖåÎËèË<øÜ+3*§jêÌbS>Š‘ÆÅ€øö¡ÉPÄ ˤ”7ƒÛ,vômAøæ`}RÊx™¿{šÅ¡¥ q²Æ1~ÓïJ¶>ÝÈ—M~êù÷Ô*롹¦\•›Ý9çÆðyãÕô©¼ø`¹6µ {Ö4ƒld±ØÒgã£óÑÏcÛû®pŒU¨îž÷q–ó+¡JMy@^—ŽÃ"ä8T1Òšw”'wqéŽh›}ø®´4½P6¹ß7á:­y¦›ëýL 4/Dqé¸e¶“?'[WæÖg|g²ÊaσÏóÅQÖhʘl]!' yí¦Öuðqû¼ÆªãŽMû¼xòºåõ¢5l‡ó·®l+›|© qºµÜjÖPt)æ‹3™rr,ZÎT¿IlêöÞ®³´®/sçX»¤;‹qk¾Ç_Å¥‡VtN.=¥8õP ”âÔ\-ã,n}è½_T|ŸwÞŒô`º)üø6ÐÊŠ‡ßÜPà[ɥƨë:Êz¥¾N7¹´æÑ®Wñ‚;S:Ù8%Ý…K"tqæ&ºAi|¼¬ð…æJRÊÜ’¬±6¬/ûbqG9Êø¸ÈVë?G‡Šðù‡ þˆK³ÈÞF¥‡¦ _*ÚÝ5kN ‡Ë}´Rš‹&m£’ÖøîHžúx^ÇùÒ}Û®óB\†(ÂÍ­µápÎUžòïÌ­õûÌ3Ê#™·²|iôÑɲÅóKÍ(PŒ]bœ»oF¡’̇ ¾/(…©›õQñiâ&YÈÑÅP÷Þy¶gi£¢h5Ã¥½*ìf{͆ðáK†àãWŽ…×˜´˜rmÁÔ!ñdøicId gŽ£„Âp»¸tGÉø$·ÎXâ/‚¬9î·ædÛÓ ó|¤.F´”Ò•ä„yÔ®˜2Žªƒ±Q:ƒ–Š)‚é}“àÑñór!ÿ*UG³Õ1V>£§iß©Qc³€Lâ@Ü ø:`"Q­]MG1™5Œ%u$¦’ÛVó,b‡ÈÆ€_ÝæE6/æJe"iÊç#—iLfBÏ g4ô|_ÛîeÅÙsX‡gŽÛœ;ö¼yS ¤˜n פŸóükëÂ1ŸKw‰RÆ,ÇY¿±¼5)É›²¾ÙO]\Ú'ÈQ"ΤÿÑÓ › ÏÄ”×äÒ¾`ÆÖÓ›Õaê~ñ¼ó²èrpq_ ×Âsð'b‹ÍÂÖmqˆëâDÔ+&±pä>ýA KGn,}Nž(zX8‰‹]{+â j<™Pš•VS÷"GqÎLÏï‰ó%º½~ÖT¾Çü²ýïíˆ7­6Xœ‹->ÛñÅt"Ä6iºØã¥áÿ¹siŸO̼˜Ÿ¼Øy9„Këú1Ý_·B8u^|ÅÜØÎ!Ž=ÍÇ®qOŒì!Z–ì`Yrëhî\:¼iÐæ·îZÆÛ=X3œ/h©}DC“ÀÃÎá`Ÿ¤‡ÙÍêw Ì‚…«HŸÉSwÎENnÝøFœÜ^Bׯ¥'vpë(…æ¶}i¼6Õ×%– 7G£ofJ ·ÝäX‚¡Tìs¥!ô6 ¥´?¹ßt¯¹‰2ìy,‚udE*c?þà˜G×_’h@ý ! ,Œ ¿Bð‹`§]¼}JÅI%£€¿B²ð_¯$©X×îL#Èõž ¥>XŒ´Ë>Sîét§lˆzajÙ !­pfX䙓%G‹ÎŒPJ?#“ÀU¨tÐ>zjÅ”{Œåâeq·æZöŸÔÇŒ;–\úâ$Ûä‹ãž™n½ª®1“ß8åÔb˼_œSw—Ý7e¿ïº­¹r¾žÏ¹žßäÖÜ]]+_Ó‹Ó|“[‡½¶kèt_ˇ t ö¦^¬„TÑ».C©ØîµåOf>ý\Њ›vVD.Ñ÷ã!n0œ"µž2d+f…%£r}¡ÊEppZ@¸¯p}瑱¸e1ïÇ‘_×/Îhä¼üAOê˜æ¿B]±ŸÀ$¢c@#ˆ)Š+Ôî0@hešPDÝuê¯È¥ Ñ?§?s=П‹¬ ñZ! x¢ïY‚ávù— 26ÇÏÄüxsE3†|b¨ŽYü°É¥NöLŽR£åï:–™ê¬ k£¨dLÕÆ1¶„@ÑCe?)U”9óJ/Ó¯ß ò–ጴŧ¡+”JÚ䟘L—F®¾ÊšãÕÉç¾R£F¸w.}ó1ļ$¹åàú-zþ¦5¿8õ5¹µ·ck®ýåöý;ß'sëí¾Œ×|3¹Õ£/ ¦T~Èüiíüb.½¶aÓá¤lN¢ÏÎåM½â'# ¸aiÍn ºkÌ¥¿r_RÝk§JžìA)«¬üõ5礓ÞòõsiÿôZ"üÌ; ‚Ï''¿3v2ŠÀÈ“Ï|rë¥yž¶ÉWMËté‹‘bñ`Òm”%_C RV“¤7nÝ9ë&­¹×<Ÿ‡Ý›ŸJ)÷έŠZ*÷‰JñÚt5â"˰¼ºõNh+~0I{†Þ!©žÜúf£SÑÅ,ÑVaÄ/+~±Ü:öq®ÍŠßõ2·¾]{O}ÖùM‡yj6*’[¯¯ïçyèøòºé:u½Ï˜[cRøØ¸µ®…yjÎÖ*.íãµÍï ^ó´G@â-ýԻǩIþmOÿæÖÌoÉS똒[ÓCË÷?=&É­3ßD%†7&„æê‚ÜÐ ¥š¡Ë8`Þmßã/L]¼›;â†ÿª©ŽRŠHo…ú+„>Åñ½R)­ Ê»O!Ç žèlÑ¥ï2Ã=¬ÒÚ­¶ º¨háõ°*ÙzN²ˆÔtýµóî×A´³>ųãÊ]è‘Q„ÎG†l¡¾\¨ÞøY„Ÿy‘у©¬XÈ ï‰BîµñköýTщö©¢èzä$!W÷‹ÃÞþaÕ@3 ÎA·I8^iP^ Õq<®^×NÖ¼iAÛä©ÝÕæ.6MÅbZÅŠ¹u÷ÚìÆãjìé‹Ó„ñØ7'"FÌUF<¹6+ü¹á?gQɱä«e+¬Â6-ñäKWÜHõ”Hžs£”|FWqgyŠ·7©%n³é&ÖF)uÞ IDGJh…Õ8 ¥´KLXR3«×6Ƨ4·¾9!)ùTõ¡ÓËÍPzkŠ5–×DÉÆ–®Šä¦3:%'C]iÍõíÙ8ucZó†w…âÒyŽôVCäLÄ'½÷£¬ù¢óWrkúN¾m«ãÃÔùGný¡'ã˜[û8Ìó¸¸?¬X>ét5£w-¯¸uÌUšOqk,×ë{ÚNmß×s;?ü“}©ŸÃB7n¿ÒÅÃw±à.Å$1x4÷´Á‹ÔÆ0üÃ+MŠ?·1<ÿŒ‚R^̲± ’ϧ^B«Î _4‚:S2 ^.‚\ôda­rÄE[¥,Yc°®`uí ¥óÐ 8g8ç`BȪݽ "¨õðg!íŠÒ…¼ký(–]©ÒSEyä±~–B2EË.BYñ›ï¤Æ’7G¨±ðÐiÅæÄmš’Î2¦ìi¦R¢Ïó¯Ñ}lë<(äÂ{% ÙݸB.ÄÍ]ü Ûû†‡7ï‹á“_ì»H+޵JÎ+yêhÛ 36ùCŸCúÜ?›fºyêt$Ê(YÇ^‡Ž²æéÝ‹[k‘û²âqñÓk°î•vzrë¥×ÅiCðt5·§ !—ù3”ŠYù—èd›“LâóLþŒ4†ôV¾Ôcµ* omnVüdÕÜÚ—ÔÖÜ—Ð5zÂôø™ZƆ §ÖÎ+ùdîí!—îCïæÒM¯¿æÖί˜r¯8[7”b–1tbîÀZ~¨óq&”R^tA–ÐŒÁR4õ{'ŸËù˜à3 *r~ºm£Ãç¢ãõÁˆâúãjäAå-ôQï§Wå‘„‚Šèügƒ«A¸ZÕ‡ˆö¾>áƒQ™óC¦ÄHî³C æ0¯Q¢s(w¾ü±âB&$€ßP«”øÜ”J°^Z‚ⳕO{ ‰›;Ó’þÜojýÃe ïíƒSà­Ôö”$Ý«Aä‡p Ã‡¿·—I3×¢|žœrŽ *$çÜ”²æá8Ê×2ĶKÝÐÛš\º)í‹ÃÅgK‡ØÒœeÙäÑt+]ú¤CwZsÌOŸÅ­'ÊŠcžÌ]ÜZñeÅû©`0âÖ1K+ê£Å°Uk9x"þyÚä'ýÀ2Ýšñ6Êš?˜ÏS\Z+ØE÷üÈ|?'§h·Œ½gníã6·öñù÷Þþ`„Œ´Éó/Ó­éÐ]ÜZï&›%×»FrkÍ|:.Ä!ØÏÛÇ!Ží=—Îã:ø.•û©íÅÌclˇùØÜ:ü³ž?z>*_Ù]‡yÄÜCDÛ÷œŸà«>ÎâÒ1„í±¼Õ-õòg*“3¬\ÿ‚σ©Q" JEQÙNC«ý×ÚîØ÷‚€™ ¥ð—;UÙ˜¥"©¥"‹¦­°ŠÙYñµJ2áÌöýWIXqœ{’IÕ®\¾HxhŸ*33ɵH¦$xTÍd‚À½àªZ ·ÿéüvÄ7 øÀ]ùÙ þúIo´~ëÅÿ½ŒW™®g'ëͪb]/î•0jeÕ‹Xoáâå*Þ¯ð§À'‘ÿpaƸÉ2 Ë' è/Iô¦ øcL Y8‡yâhPÇcf+ܸή†U´~¢I"Hµ.Î&zh£C^ál£Œ üõÓÒ’ñ7ç®›Zö?­Œ(:y1 pù3"‰à3/ÿ&ÉËÇsÒÅÅÅÀRÑwpþK²iù:õùFþá–ÉÙŽ=~Zj ëa¹Ø- ?c¿"<†ÁK‘‹éJtöž>º8rº)«¯ÁÝrmÖüBbJû¦› 0¢U*å8„d92WÉÒ“#uió{Fôc º5½ cŒ˜!‹[?ožÛÌÉ¥çÒöÌ­µŸçR·óÚFåVrkT-O+›\£Y™.Ý=ZåQ.sUU™.lgÙä™n=øy³X²u©_PC1¾|Òí¬8–—ìÅ­óºÈ&׫¼2`æ8u1'·öq˜çqqqÉæÍÁ©Å¾ç¾ÁP˜ìqZ13 ú1ÐN´µè-‰í¹Æ0cÓã­w/J ËhkŽ•®âÖÍã²ÈÒ÷ßÛGoL¼=/õœœêéXö®·F§üÆSŸUñ°¹ümÊš³õVœzh ÛÇ÷ý{íÒÏvÒq-®cãÒ>NŸÏ×ÙÙ<³·³sç+¯ïO^Oñíú¢{Ã×5¯sãø½xêûÈ1pëÅ·äÖ‘µ-=‹£ç‹[óû]á†é„~ê‘îo=ÕýkníwsißG󼯼îMóBÚðÇL¿Ë»¸µßÞïud×>hͰ2dv€KÞJŤµïb\·ˆPò`I“èy=P¯Zaf„ â4$”Ò6çOiwo(¥Ä’l#/YôЄV'c/Ðj¬L‚Æ—;f»ä ÌÚ•DÏXQIïPԒǦ_j³"é/P´M¢E|pIt¾›|Êðú+„.3 ÇcNI&½™æ¬%”‚ƒX< †ìázp É6ùâŠL—¾é¿’6ùäør¦Kk=Ö´É]V3ÝZý»i7úž͇±fÿãlõðHòÜ“Rú]¢x†BnZZO¨Š{Up|ŸÛãœ9º¾»¼o`b㱄 ž‚i(¥³e ÜÔœF%¿$C¾V:Mjâµsáð“Àò/ƒˆó/ÉÅÁ*"‰sÉøWhòmLÇþ+ĹßDœÙµIø9þÖÌþâ$øqbÊ ÿ’Œ?Zsnù3Æþï)Ï÷¸‰\ç]ÅmÏ‹üËnc¼yM8ŸœÏfÎãëfˆ]pѲX#©”©ÎšFß)ù…%—Ö¯ŒkÇkä¹ñÜyBuäœÄ}qR¸d¦\¿·M>ø»L—FÄ‹UvãpO§fØ«²ÅƒmKgL¶÷*p;GÌì-úd$޶…µ Þºf*•%¿rÔÜš¡Àv Ž¥26nH×Ë‚ûz›[û>9[2Ïè×s˜f<§*·"eTç˜Òò}(Y«l&Ìå!+¥$ˆÂÈ#ikÿ&ãA¯JIÀsÿÐ(H0Ð5N. DNYÛ7l3!ÞŽãõ0S úƒh+i_ ÏýþôçÿÓê(ÞΘJQmÿ±–é¤üyØq!jùƒáÇ^¬7_ˆß›IŒƒŠfÿ¢ÿïd;o±OSPêæ½Œ`TåkZ]Á팀‚>æ54ƒbdt†d6Ñõ–”ë/»ùÅ(nö%zíˆv°Md+Œ¨=¥|ÏfÐ*ܴЂ{Ø-oní=š{ÜjtJ„.-¡Zûiþ+3·¡„OŽFYï6”â5Q¾ñÖ–M%u,yß+'DÆÆØk&%Óù+“Lòi«¤| ýˆFo^ŒÝ^·8ìèTK› Þc¦$8(Ò:!˧$P±¬ô.ȨÎN6yW%âtéÅ¥ Ó&ïU¹ ]úRÀ!ÛäŒz_éÖŒä^¶8+‘JrÛÄJõ¶Ge±¥SÓµžl°Rñ ‚eÁ»ã[‹[w®k²[.Y{Tå‚.eéÁHBeÅ}½Í­uŸ*78ßÜì1T‰£"jÞ¯BI.(zðª”΢_E}|#Â*Vâsk RTÒóv…[Ì;Ÿ?GmƒÏt‡Óâ€ïïU½Mè ?¼ÆŒ·.{Ñ|f-S­ö{É&ê„sºt\йÙüžWêñ|iþ.f õa“´±M‰T7߯d£4NC)¬;·k0ÔãÖØÃfníc5Ïc×1ç5<³«–$—Ö=`X–¡÷ß¡ÒQ\šÎúõ}kø·Æh.ÍeDïSc 9Þ‡’Ssêç¶iŒÄí\Ý_×Q|××ö{t+Íú†m<~ôÞ-Žp%—öïÌ­½]ý>âÜr={ýNÖ#kÏÆ¥1iúj›ŸðÉH,9"±tn}Êia¡é\v–ŸÃ±¥[çÎe͹—ŽºŽ}…ãHC6fö?Ý©˜dö(úP[ò#Äå‹+ý©¢Ç¬ Ô‚;Kt·`üuþÑè}ôÚR]x©OHµèØ,(åM/L–×¾àå°¡pWÓ´ž—WЧ‚Cgò‰±úººùp¥~"Uê9=¯ñö70Ïí4“ Ápï·!lœ])(…:¨Œ&`ò¾ JñÆbU£+ÏÁÇ'šÒ™”83'r¥ê€,Ü™G]3d–UVTy’å žÛXv½5è€Ü×Õ¸0×—©üKA{‘I— ¼#Ê’Þ'4£b¸ÍdP7W.5Óz¾Š.á-§Ö¢”Ë€×[«í‹?ðï@ýbÁ¨ç,žú`=e‹¥d.ÕGcã½j¢ÞŠ[·K sëV‘Ú†k1 ¤f–hJíÄ'ƒ•DX–pHHÜÚ'až'å‹ÐPÔñuQç×E[yñéYøÉ 1ÐÊ0 13¢ÑÐàó©ŒþºQZüAL<Â$úÜ ¸eìQßãonô‹š ôƳ“S†ð™q¥zgì ¼ìs\¿ !f&¤ŠÕ&øÇ ^ú„ñÎXþÏööjLËÀGô2&ÊÀ«YtMœè84´šX›ZPJ§"èÃQóyå®°~Æêî~¤ñ™´2–rÝÅÇ‹óÑB8rê¯ÖIFqÆ øcp`R9?‡7é¿õuÎ1D¡Ç+ƒ·UYá‹}漣 ´dƒÃ¡G_¦Y~o·8œn´>™(›øÑˆ¢“¥jÒšcôsä>;ýöùÎTò”“¨¤.\ø°ìg^Äxéá¿f㳈JE8g­×ÁQO5×)­9§(ÄiptSÚéÉ©¹üQ§î…‘Ö©A_Ùã²léüÕvlÍã1š[ºtÇÉ)'ûÃ\8v¹È$=sPç™%£¯¦IÊ)w™jI¿Ä’º3žÃ1nŽÂb‘€Csì*¹õâàiÚäôÔªtéS£™¶æ“m¶äÖ8Þ«¬¹Bˆ$·ÖºiÍc~DïÅ¥;â\Ó[ #„ycèä”ÜåÞ,ný½éÜïÍ÷–8¿x¥9#³„:+³ åÂꤖf˜T2^ƶïJjžÖÍÕlE©Ž.|S¾£$¶ìÈM/ÌÕ}±ö|ÓŽyN…-Ï2Ì›>ºè=áð@&FËÖÞêÿ`1•E-uÆ|„êdös½7ÍA¤âÖŠíÔ~&üÌìÏ=¿Š[{;x鉖Š0,3´¤+`•Š$1 ¸n}]ª“6Fv+¯šð2-nMµ²æ…Ý‹[Çû~c{˜E·Ž×{n\º³˜Kn}¸†³Å<Ørræ€`Dn ¥&ú{Ó ¯ûc&”Ò”1ìXfÆiTámĬ1¶­»^ 9BßW0 ä‚(ÐN®(5‹ÃÍ- !•,D&‚-ÑPXšBPŠÛ£`|×1Yà=,ÀÌ­/I›|©ÇéÖÆ/ÊŠcèj·ÆÌñÝn|öwºÝ~OUbˆpÙÕ¹âºÒÕ¡ø˜å/”Õä•õ£j-²ñU­·2žz ·Ûï‚Í×Z÷!&Tå"fŸ¬E|ÑU±£é£&O¼Õrb«ˆ•w6ÌÜ*QëÅ1‰5¿âá~Ü Ä™±ˆlxÌ©9‡ÿ ñIÜXg·+þ g¶)°Ì£ù3Sãò©Y$­9Ú¯3²-Ê^*„×µ5žxê vº¹ôÃø2Iy°N¤ºñžÊ¿>aªNß\ýê…$XJêJ(³ã÷ƽ±qû-N ]ÌvÚ®Œ fNxŸTÚ[<—ÜÈÚŸÉ©ñ‚VÚ¡”6?9gÿÛÙ·æCn¹éY;=ùT£{ÉCRÖ÷>ú,n}ËÓ\:·‹•%쟌Gîi¢–7ÜÓL…šU ¡¸™ØÛ2â·Jt± F&Éwi2\XäRC)ºòJì4Õu/r„ØÓéȘұ.±¥Î/7’?Fñ¸Ù:»Ðô±³!c!*SÇÀÑ–U$'_m2bÝÍü]Åõ‚UQÊÉmô€÷¿7a¿PPh³W ¾ÒEMp╼¯RLÚ¿‡l‰mb€þ\hÃ] ©FÃð‹`*,R&ãXŸ…pB¨;|m¿ãä¬"Bi›Û‘!4L°Ô((…˜Ç ¥tÎó°©n¼ü:Gå¬M#¨ëL&Á;¯jÆ¡¸À«Ó¹ÙGGùž­{•Ö\C'¾ñ¹ýÞ|×^ õÒhylß·ö±eѧ¢/·\j=œ‹Ì¥ãáñ$¯§—þ‡§Èÿ±r¤JB×z*UX« MÃF×ÆÌ¸"‡ô7oê¾1O­ë–¿£nvs}ܺ–â+ÝZéÒš/NîJnˆY«lòþ§BL®Òð7?Ê&¿þp¥Ó¥»:šÂe1*cB]iÈ0.™ºËb=†ø¨{¤r\P*^*ÖãB#ç‡Á•žüKÄ âg-z ÑÔE» Õ[[e…¯¡l,+ŒYÝ[²5ŠÌ«lò»:÷NÏÑÓçèN¥K7V‘±ÍGëãÈHnÒ †—ÜOÌYÚ9Õ9ÙÜZClÉS{;ÊEð¢=¾9…)uñL}åu#x³x—oº#)>×—!§T>ìM²2­¬¹2íâ`ÜÅ ¨Ø¨Ä{_d:š=´á¯·«¶ô—„q*„$ŒÎ…qÃÅãÔA|îå#€Ü?sÇ ³b) À=K,šÞ·E<´Xa† ûÁg¾ æG‰ß£î¬î»b®þp©6©7„¿uÌ}:éªeídaKùüÙ ‡+` `˜RÆúqá½i+0÷0¹AÆbÒ!îÇö̤T'¶¥N­¨(HÁ«zž·Uó98ö–1—`Œ¦£Ña J…ˆŸµ‰‡ãeâƒoOõ—(Üíà+pûsx«­Dñ®Š W'&Òbn‰?cO$ÞkìHa·o¶$oÄuο@<71 ´±ó/—íþ ð(13ØÏÐa"øÂUXŠõô´ÂŠ›d*¹)͉±8½áÑ{>Í¿¶IúhPвÓ;ÆÖ¸)Š„“71´ÓÆ#ØÚ_›I>é)Xó˜n-Gü‹ã‡2¦ZôÚØ2:»®4I1}0©>™fÝ6q&ß¿dŽÁÇŸ¶2–¹êÅ­se×/æîKºªuvòr(Ysô'ÍâÖøçãÐþ9€p¤-~pöB¦K_Jk¤«¸u´*G+k®û–ÜZ÷u|e‡§ø²rTÒ 1æÖ_÷ß4WÓ"¶<ýæ.›\-Ó•ÉøsÞá¼ÝœÊE&qòµ™L‚¥ ÞINÙ‹sJ6k~ß_Ü¿ÄÙl£lJ%ß´÷—üܶkf=^ù;?éÖ]ºÿ¯’apªT4¤V•2’q57*‰¹U|Hª0SÁìEò«£Çá¢cŠ[Ÿ=šÍ­«¦´sóÇŸÚ†…?¡ø/@¸YH?ìjþ pÝêjù™{QöfÄÆ(Á•/­¹ýF߉Ôp߸ôçJÆôæˆ Fx¼>[¼˜^,ÖÒšËÍ€Ëܯҧ_pÅ­‡ümÍ»ÊKÿÞÛ?Ÿ?¹hÆu•ÖïÂõYõÑò3J+å‚Ï‹[·CúøâSú‘Ý4^Ìž·î´phÀÄ•‡X)n—öq™×ñë|°øMg!‡M<Ž»ìîQ5O=h£ŒAˆO¯gžZûÉó›¯ëAØ»ò…óAriŸ¯yj]E†ÍLéLjžše`qkå“ä®g™°d½e z`LEFðñ\ïÎB5+Ó_i ù,8MO†<Rš¯hÿb}ÁT'›š¦’7gù[2œ2'œPñ£Ž¢•Fpa‘`1 ±È|óÉéY”J¤º8É#-©ÈPÒ‡Ûn-j~e )¤î+™„Î-K4•`‘YoS6ùâ)“)§º¶mœ3S)¿'Rú[ ’»MUÛ®P .`™'YW°Ú8²îàÇ(÷¥Q œŠ€ ¿?½Èß ðñ“ìZ V&GF:°_Ã_nΟqUˆ™C kê)¸P9æó‰%5Õû~Á‹ãý‚RXv‹áÚ1<ò3¿~L¦õç AŸOMòÍ¿;0抿$±c~Dææ_‚¤ÀFØÔ¾wv¡ bCØè<õ×çþõS%¦lmèÒÞ„—b»´¸0D ÛF¼F¯ nÑGo€ø©À¥¼FAþ`˜åÏmñCjn[ÖŽ}wØ5”§ÓDåéC¤B´º¼…RÒÏŸK©›ÀêB‰s¾ #®ù‚Ó?¦ÀÀ|*eWgÏäÖî·Æ=ؾŸš3*ò{ÞÎ3ÞÛ³vU̵°`R£—é†0¬.3 äEþÆ0G ¬õþ²æó‹O¸<§±›ù÷öõ»u¼¹ÒŠu‹KǼž[öõæÒ˜×³siDzÚ¹4æ:oÇcí{Ã’Q\í¸ Z¡5”Ò=”âý`À²7 ŸœCÚ ‹‰Áñ¥¿"rûaʼn¹Óü+45z6ó"¸ÿ.EKøƒ5.‹æFð¶•Ÿ&è—-ÄZ“èÌmqýM¢9¥§?ßð©8Ü¥…þ :Þo&ú æž&ÏËÃFp± e(E—4›Ïö÷Ï O¸J]ôeÆ¥ÞÜ>狱m¦ Û3ÇyÅ$:È(t‡r%K‡+Ëçƒ&‰àóÝ|qº•†Ì¾ÕןÝÓšI×ö½(âùH†ÃqƒÛ<¦Ÿ„R )huMÎÀÏFI(m.ع»7”Òæàjµº;GF²í¥ÂY» ¡NŸLbqXI™‡Ù¥ò nž³"g,ÔÄRö,gª¤¦"pŽ‚YGpG%uv]˜}pýY…•Ä)¯W6 Ç+M+Hô=Óò*9ctöÿÑõ.æi6øNìµÝL¶';\låy¢ŸctgeˆdA*/òÌŸ{¯=`Dëð6e  ¥Q]œ´"㯰ÓÖ°Ô±ÒÐ3úýsA¾ù{£¡h–†Ãœ³¥˜¦ÑGgl™b}O8òõ»j×Äô¿´ð°(,ïí•D8è+%ÂL2’CÁ+Z‡C–#„Ø@ÕÑÕÖ¡5ï2þÅumš³Ên³j·t_è(‹¥Ý.»ú¢³¬p· ©°55^eÍ1©ã(n9×fÅ ÌSËi@eŒ ²¡N@‡ærHe”Ê/V&®h” aà,¹Ç“õ‚#Þ=ü:ªA)Ô0§ q=¡{m8¯âýsÁx¿º¹Áý¤:Ñ)i˜Š¯ ·&2f: Ù;{:ó ¥x}MxÂXqgÁ¬ü¹ G¹i±OQyMPŠ tŸ›O*¼[ÆM„Yɬâ9L-Α?€ZmÁh8¦ëïøç¯ïnª×/¼M$3¶d¡œØ²¿±e,ÓSÆôx§JÆã‹][ž> aI:Óáý1ú†¹ §ê€s³Å£ÚÓ©O´kÊškóÉ­½{n'êç›Q3ÏÚ»dôÕÃ+Çôæ+)ß‚M)£oé©ã“l‹ufbi®U¶6.±†«NÓaª KÆ#¾A¨XIvl’W™Ë«5æ×ƒÃ}mX’×ÄÔR™šjOÔž½cJÅ Zj¯ùËŽö5 (ß°L­ø†[=%Ìh¢R[ çɤYôõtîI&qãkOsÙ¾]W2‹¹wÔýhÆÈöc)mX›b™ç$Ï‘Ÿê;]Ý?ÖG1×élÛÏ· Ž‚gãÖ=“Ònœ±O*±gX¯–=9 èk;æãæpkri+†Ç¤¬9ž¬»¸õ@'MÒñ‡+G+u¨•¬¦( Ü¡‰~«c?lÚ”Ý8B¬léãx]^ïúÃÀAæÔy¥Ô)9.½¯£ù:6k~¡¸+nýüÉHX÷]žÒgqke³²æ:ÿä¾:O­9ä‹¡“Cû|ÄSó¸_99ñ¡ëœÊ*qE CJ¬ìIøy).áO~n\¾ˆAC± Áb œOðYs¸ü=òtÆåC ³¡w3 âã,=©Âé?2æÅ5®‡Yr2‚Š®Oy…úK‚O~ÆAè/w€8 NŸ@Ð Dw¸ý„cq$üüÉå'ÿH#F!)?¢+SõÚë'Ô¼h‡6÷â> Ã…¾Ó¨.–Þ2‚‹¯[‚RÊL¨ nvQÝ\Cv]iѸA;ÚÁTJ´šP2†:&¥é(´ûÁgN3z‹¬yãkSrëFG·²â1hö:=Ð… ’Ô’€qé÷FR{'‹ïjXöI®Ñ[–¸äQÔòúsmêÁëLnoª—F’1õ¤"c7’Ô6¹®t¦[óŠFAro©o*…!2~æB¢‡ƒr1s4=XÄðóÔšD?ùÅ VmEä#^’ð!‰REÆôbH_œÅäßbø= cnºÑGÄ\þ^ñÆ{àáñ¢!²Z=\ßLß<0Ç$ŸSŸÐöyñGáfçZn1Ь‘F0Êòd\ÌM†¬ó¬‹I1iÿÞ`d~ž6:hZÙä;3]A»Ÿ²Éu8Ýš5Ñkúä)÷T¼È&—›[¦K/6ÝÒ&W‡N¦[«ïŒ³ŠYfæ³¢{Ê-_êõÇ+qÛ¬ø­®së›/ªeÍ/iriüv”M®÷ŽL·V×[Úã=qK‡f}^á¼cºC ³ÂÑeqá—X›FðäKš Ô™ËÞŽk‡ëØÓ :vÂÅQÔ.çÏ„ŠŒqz%9LAÖVøówgrý@Њ›V˜4>·ù JñyÔ¹ûlé˜YëÒ æ ÏæˆZ,h)9ô^ªž¾éo~s¦BriL>ÊšsjzbÉxRç³Yb¸I%QàÜ›ÆZŠ'ßÚ(b‡;ŠMžùŽ ¯R>$Ñ(Æ[ó.÷CsëΰeÅSófÄ¥±úã´Izq<ûfŸÁ}°DݳYq›In=ÏÛ²£ãQ¯Š¸5óv«‹ñ½ó¼8Ou<;’ÕØxê¡rÓÜúT§¬¹µŽCOQnÇû1·ÆÒ¤­¸õPÆèœSwzéÖÛ‚«Ó>¹õR²­ù¥fséxRñF$»s„iÜÒç×ñz*†ùì™a•g˜I ¥»ŸMSÒgÖØÒOŠŸ?8|HNNEß@þRß$Ä"Pu`–XºéÚl¼ŽœßÛ0Åj:u–aỹÙAÇ4¬_n.c>Ñ’–Œî+̓Hè+ÇTµ´Ä}ø)*¹¸V· DïFã¾X“‹K_pÊ6º51†® ‘¯4‚£˜¯T*˜û±zn¦I¹‹ÿ~Aº:JM¾©”¹®ìÕÜú¸±:g\ T ³N~ž2¢Ñ­ú<ðü|n+_0Ѽ¸¼ªÚ.´« Ù ÃÓ·v.Ù0iq¥5>°ÌS¦RÆ^ÃÓ†F°ãbñÍåìþxu¼ ±RÚY‰’ž¸o+ŒeÝ[aë†ÎÖþaK‰p/¯o<ì$øÁrðªTo¶hÎü’¼Y¹\t¹‘Rš!ÕâÐ/üMº³.KÓÆp¡XL0¹õÉ`eÅ[aãÖ“‹ãà¤y·nôWñ¯Š'Pp2ÿ Á ¡;É*Bõ+i¸EaqbKL¿-# 5Ζ®ãy%¤Ò¬O—]TxCj ©ôhcñ¦¾0˜Õ¸tGcôJ(n:ò›Ù‘•­N”܆Rqð§¼6Ù[6'ÂæÏÙK.ú4,}qDüæ§ØŠG¸µk·vßqZóh'_—·©±ÊÆùêšÈÑûXœ¢)(Fyf/»ñætJ§–#VZqoß<ÏÝÇåãÕqù|òºù:y>[…Ÿ‰ŽÖy¥­ïߨe ÷Y›vº¹·£µþhœ›ë †+ç8Ÿ[Gι7.­¥\’[c|V+œt›aàŽ÷ñ'U†»¸u—¬yŒ‘µqko^Ÿº.½íœº9hˆ¹´ ,¢ÃûP¿'/ÙØ¾/}ÑÓ%uÌÇ C®Ö“Ü: þ±¶ßKk;ußøÜg0séö0O™[c^Â}o\ó·?œñnÄ€ñ• #rC}›8uc™|J¥ ¯¾«˜x{1·ÖnŒ%uL¯ÿhzDÉÓ¯4¢7»sD¥´.øWˆAA+ô´¾Yq ¹µO‹7öÞ|*Š[ÇÂÞái#ãfˆŽ]Ø!‰O›|ÆÆÃ Î'ZœÞÃ’íg¥ì“1[ ¥Ð‰[†°ÁwÒPÊ“eÑù‘êÀØj ºÊ³L»Ó€Åì|nꥴŒîê"&óÉÁ[È žHVsÓé‹mHuþϺ„¤t¿îÄ¥—ê …Aíº¦)ÙbÎxB©pÏ¿@(Pn1 ” æmÊÛÍu¦Ÿ© ”ŽNÐÇzí›æÆ0–¾ RE1w¤Â sB©×¥Ìk¨<¦ ìÜ8_jž/H5¯¤ŠÈÖ¤šÏ R½ohÞ±ƒ×,íÎñ³¥ß¬ÚÑ´“-.ÎL—¾éŽ—ÖéGqë‹î(eűôòYÜzi¦Ë©&éö¸`µ¢CG¥‡¢ÚMXé©(sëïí[{ÿÞŸ©ƒC>y¥c÷Z*š#qècÉ1 L[¢`‘!¤òƒ„7ƒÙ¼Ñª:Q\Ìï“þ÷ÛCЇÖÜz*=¹ôEúú™UVª ¥Ä@yÔŽláczçIÏ´\ּˇÏÜZ•¶Ñ߸a1÷i³à—FHÍ­Ù_Qvãóx§Oy*…^Ô,Ñi×è±3¢Æ‰þ˜´âg©%·>ØŸRÖüĵ)n} 6+KŽZ0æYˆ[#âumœ:Ý´âðÙìÛ£}Ö8|KZq¯ghn퀰iÅç—$·þë¾o|ïô¥s–÷.L­ü„©º¿×îaf+¾äçšžqÒ¹[s¹M&·ÖqÍïgGǑόkÛŸó-zè|2¿Ùîě煩ažÿ kè/ æÖŠà3g<ð¯^‡ÄñùAˆ8þÁlq|ŽÆö…±ŸzAÉè394Vþðtœ›(>F9È?Ò³$ÅG¬ã¤¿"Q.šãóɨþø›“á;ÂEB.GÉHX°‹º üÌ¿ø7ÉšÅ<_Ö©¿ ± ‚(ê/>ðÒ“è6ð&Eã!JË?ˆŸˆ? 8„íÇÇ8ÍÓ'GÿL|ì8DýÅyî¿Ñ™sÌ-ÊrJ<ìQ:ð2…ÊQt2ö­©$Y›­¹Ñ­fl}r™ï²âŠk—Ü:ESßlr{ª;Ýší÷†•èÎ0¼’ìs'Oýõ}k” ûv¤Æ™>µ¨H45éDSLF0òÆ*Hubù\þšÏÕ%Ƶ›&.Qi?Åa4 uË"BQÞM0:÷ Q0´– Ùƒ'ÄŒ*zçe“ðöìy¥âAe麪ÎW4¦]רX²1⎌)‹ÓWÁòÐÓœˆ¾æŒÌ¥¢Ãg°qI§ð‚;[?ÒoÍtéËsZeÍÃñ }x1Óï)ܾqë†çAçÑxO˜ l+Þg>š[wÍt´5ÇLÑ^ÜZûM›œÇ7bÅÀ‰‘M^–Å­cähm\Zsi“[OÎl%2ú†œG¬“ŸÒŠÇy9’[OOl±÷q˜Kçqº³ÎQ)¬»¸µ÷/žZǹZß÷öòz(78È’maŒúmÉÍ]¥1t•¶8ʆ-=ôÀ û“vç1<²§S³?§ìÆõ²›éÐwÞå稓Ûn>^‘$•«á·ÏNÁRˆ/…Áœ0(Gy2 Û¸·´† 8ùަ`8ûUZ(l6£ Si¡N¾sÊüœ`%U%C¦²ì¦gÜí)?üÚyëscŸþ’À!½–‘l&ž íNTªJÆèµáfo–l6`—¢#¢@Ö°kçwvTºc2†, œFÅÛè{¤ÛÈlðº:Þ‡o|bûÿ%‰^Ã)ÂÏð¥_|/0†€ÍÏSöd#m4¦l½°d4fÒÉykm:¹Ek]м„M—³igZsÍCÁú"wéÑTŠK|~·íÒs¿Þß<˜Õ:¬9(^Ê’?~y‹,r'·ŽÆ{däÒaYúÆ©G¼Áׯ©‡÷i.=.º•%—áþÕ¶ïK¥oÛöw5…®Gø¼â%Âû1·ŽsˆúÝÜ:Å£l.Õb,"`ný}?ò~ù~&§F;iãÖch²mǤºh‚´ñ*V…¸Ð§E;*›FNp ¥ýfe1?¡Ë37Y›ŠH•¢UrÖÁ*çÇé(¡>Vˆ÷Ââò»­Z«17û)ÇÖœk3WÃYcË=¾ËÊU°ù)äS§WÅñdriéÂT•ŒÕÕà ¿#Ë%=j›ã°¾%Oaø4ö€oîÄÆ¡¯EÏéËK–¬;Mg×íÏ3Ò:M㊬GôuÆ,Z›@ñ D(&§Çä‡<~&"²ý<Ûß8ãpë›MÐ ‚1ÂÖ\S­’[G¯2Âþü,xvÿœÏ’b)²KˆŸ.²ëuwtÌL©x0ÇÓØbe³%}oÖ<œL¢ü4·Æ*Gß>8%|ã›™`Ð1dm2e`â-¢¬iÏÙY[±Ž±5ê­]›(ítséÉq‘´Éã1ظõXùŠ<ôü‚ÇYg½®5g¡Éíª —¿›nGW+­Èõ$¤jê1”:ô^«þ¹7-(Å™¿I-̶Küä\¼yæo¦šn;E©â© ¥ÂÙ¨…öØéXÚàGØñ~ÅB)µqSIÈâGÏüÅàZíL#xÁ_Àêb·ŒaÜÕ#Ó¨nöÈ>ìR”B‹cÚøðurY÷áðY·É*kÞX§ÁÛ`ÓNOn}sŽŸmñX^wnéÒ;W1á>¶—±‹Gn#ꣶŒw­–&éAç;[­ØúõmÓ‰W‘¤Táp¤1¤C‘Ó¨:_9eô|éÁ”òÆ“/fGÇ ôXxÎÓš£çšs f?KGµˆªÜœ:Ë¥,ŸT][tÈੇõ;êÜ.²¶­L’wnrkÝÜäÒ¾±æy£ß·Ðùq²–Nn=õÒ—\Z77~;ü–vö­X5·f'_qiçKskåOÛ«ÿsq¾öíkÿÑ{sÖ#1(nÍbº¸´Šq¸ˆ<<ÿ¡ XcžÅ­#äãlÅS_˜Š­.„ÂŒŽùÆž+ôõ%§ÆÀ@¼6%·Oþâ¥O $ÔïµýhS«Cmx@‘àCPš[‡ëÅx[ðhDÂ-BÜv~ñù‡Ë‘±¤˜ˆÕ]¿ŸZËÜú<9 ekîÇÏÜúû±õcèÇÒ×=«ŽþqóŠÊÕEW²ö§Eù³¸B¾`¼NªðàAøy=’Q`Ú4`Î`‚•ïÑ.N5®ëÅ¢¢¾ºÚ™˜w­£Ã‚“s—£âÓþn›^ÁÔhsk›-ë)Õœ»“ÜZk¥Àûp•ä÷ˆ>Ñj¦vd³´æñ¯„è¥J;ÝÜåHdÙ‰A¦1™WêYÜ:\®¢‰d›œ­þJ—n‡˜¬yŒÌQ\îQó,ëóÎóu:µ_×­±ÿÙ×/­¸–üJ.íë`›å׬tk_ÇÆRŸjƒÙ _,ø3æ­õu—ÏÅY²Ñ›FÛ@¯ýÈ=ÙbâÿLlYÙJÖüæ4˜ä©5WÁAéÏ…É IÉ­Õ[X\ƒúׯ7ݶí§VÕ—\1 ¶ýùxûèËŠw5MÌ­¢ÛÛ$=þ´¶¥J˜Ïi#ê»#\q‹q—†Ã"oŸÊÏ/®­_Å­'G‚‹KGµ0¶í[ëùÌ,äF§úùõm?¬TT æ´z×' Sè0ð2¦Ž¯´âá’úÜÅ­½XXZq\²Q\]œÍ&)¯on|rH3ÎÖ‹JhŽë¼JGS _Å­Ãǯȶæ'ß®’K_œUQŒvã—¥ð\ J Ì °1ÄÄçL“Â,4„:AÁ:ݱê˜ÎiÈc£E=ÓóÈ-ó®Ë˜.ö¸[N••âìZHºoÖœó4‹[wN¡I»ñu½Ó5ëk(ë*ËbjÏXeÍOy™›[/Æ”Ik~ÉÕÃÜYÇfÅ1ìÝŠ[ß.;kÎOœyžÏK5œj?«Ê<žÏ€¶¹˜ÌÊ›Å"zãab±ÃðĹzQɇówó¶ KžTXùa±ZF÷¦ö}½d "a]ߑߑߑÿ¨F{™zeLС¨4´â˜wÜŠ[wNGL›\.=™.=øRž69c'Tºõý'W|Æv¼<óÔ·~ëï[ß[„y%®žîM°ÉùdUºtnÏÇ(®W¿ä©åÍ|q¾7Ws]ªÕô²MNAA7Lt„ÕÓ kni:ª/cÖN7O}À¯#¯ƒÎ¯áxŸäÖq|(×’S×q·nÛõl“1¢IùÚŸt4÷ëlÇOymžœ(±qè›NeÉÍSµŠ3!2Oß®+Þ$Ž[sEòÔ:¾ä>^oN|E¬Ú‹##æ©á]jœ§«¾úäÖÞÜÅÚ-ŽF“…0>#lyªð¶ŒNºQß¶TkÁØr´—ô èÀKâËQrÉЇé’÷±¥Ô–DS`ä·-ÙB8_˜F-Œ)»¶mÙvÑXÒnóÆ’a·#ÈãÕ3^¼4ž‘hqÞUÞμ¦gTy,Ÿ?K˜Ú~ÿ†:º²i°¸:ðE-—úõ»f~51Ã2rk³â‡šäæÒè]#mr,ôº¥[‡'´¢ôÂN],£z—5ü=†ëàl£¾>C©›=顳! l—©eÜå¡H5´â:†äÖcÚiÍuìQºÅª`eÝ0”Ò Jé|ÊÝL­LˆleÅÑ>GrktéöVÖ|ÑG­ÞJ‡÷›ãÅ¿óEç-ˆ‹ƒ½Ë&^ô1Ëdim$­yXÆ5·ÖAàMâdCvܲýË7/š¹µB¯ì–¼q»ÉÛûy0ÏçCùÞ¿÷M‰ô§æö^}ÞÛÅös üîçÇÛMŸBnïD˜3Ö¸‹÷¬C€Ÿãoô7DÓJÏ&,#ÄØ˜Æ:^òPoÜfƒŸ×+Yòä;"]Â/·¥ö¶qÄñjøÞ§÷qsÌ"Shœ%Ýë“E¢øÉñ’äÖSþ>æÒ1Ô¾aIô_4Á‹WÞª5Vé¶Æ ’ÉÖ˜´| ÓCiádߨáÊé›âÖ1ÛsÞeÍjà,nAê0-›<ª…µ¥[?pªÏãhºAªQ6yçP¦SÃ+ò±IÊW 'REI÷”ÆðÀÔ §QÅpU?Ø?xC©Åè‚R˜p&¤ŠI ;éÂé£`˜_PJ?À:ÝÎU{ô:6+ƒçѶ±5Gƒé(.j½lñ˜ðnéÒ˜fÞË&Öܽ¥[O bëûx}æ©·œ1"JxçÜCûü²n­ë…v[Çà=ÚoXùÞ¸´lsë¯|{$ïí9òÑøhý)ß>mZ"æa‡¤Œ){’9c#¬nnàyõˆ‰8;–ù{KkŒ½’­ÃáwìÖüá kriœY+»s¬0¹¥#6ãä »­y8Œ÷§þ²1mb¯ùm“_Ì¿™.Õyϲæ×dÉan­~9´e Úâ"ëùI[»ÅS#*̱qiݬ²âr’Ln=ØÇÐÖÆP¤ÜøïÁý»'§óÁ½qj88Ć,ù¡˜•æÒ7ÃT••·Û÷vÌ/ös$·öù§5_ M’Üš}-ťסç[ÜÚ÷c»þ¾OtÐôýçJSˆðuîùB:ž­$ +Ž «Ò­{Ót4Ûä‹§3]:œWã6ù`£0Ó­O›sK×Ïž‡‡Ñ¶|ßÛì±åWsëx©Z­ìYõ®‡¹5VV;ËæuÔuÅŠZ˜°·ñ¡ë®iJzæ§öɘï'7o›7[„YîÉ {aSJD²¹l bÄiT‹6‹o+'»Œ0núJéw‚Vü¹~‡E[þœF±ëº¡œfËê‚TƒíYC¾;Mª³úm|Ú•ö†Ršq$H¥µiuïtcÌYlª¸t6pÝäbLÅW…)í|gÈÙ¤æÖ§fŸšo!qÍ­/„yÍNÅö=ûÓV<ÞE☶٠Ð'1ÊšGÃðÙ¸ôT÷º¹uĬܿo æ±mß:Þ%ǵqéX g?.똅9æÔìʺÒ&n3.LÊ-¢1`Á˜Q°s™3Ê óïÏÄ*½ÑÃÝ„4‚aâ•`·'2áæêÖ°®¯/ÄäÌþúà”…€"[‚AÌþÃç‡-å™_ßÀª*š‡±.ÌëŒâñößBx/L~mŸ»þ$øéµµ>kG¶¤Ñͺ3Œ–Åéµ´úÎó‡ËÏ“AÅ+ÕôßÈY𻇠Ö+5’ˆù•“ “Ã0xê6‚X…éÜaã¹=œN?´u0âMý]è`¹òp(>ïcC7¾uãœ×vÈ"ndRþ Å…X (8n.n³ßF0:"åôß_*ÖHÊ-jxyI(Ås7Ì+ñ9{߀¸À/¢‹ƒ+á»È;ݥŨÐY\Œp2>ÎzZù€ê‘¬Çz¡È×y=á´i Uä+ *^èÖacUÚÈ4©OÑ[Òµ Ž?w1ˆhæÜ£,éÀ¢U< N•0¬ŸÐ9\f¢ÎûÞ¦1b ¿(,ãu6Fö^?eUžrÿrª…ÅþŽŽóÄj6I-uôÞž$š`™n- Yt¯rã-Ť«†ºÔÛN¯ÛÁñ. qÒb0¡ •~nCx ÇÉÊ{åqûˆ£¢KFÁeçÄ$tÅt7y9”[šAGÅ¡M$üÅûW³yJEæ ªSr”ºà·¡R@%žÿ(ÞÆt±¸•yc¾JÇÃ¥û•«lÎ!¶‰'K=j|ù|óÉ•d[Á8£lüYX]"¦ú£žE_­ðùp¹eQI¬gÉX’ù‰yóç_[ŽÕÕÏU”òáJv2·2ýÚ‚°”y1çæçï½ÇÚï(—…­íÞl¬TÚþÞŒ¸N-ÆÕ§ÞãâÏ´oÎNôŸs¦®tòÒ'n›üšïtë( V/k™!Æàï®CF6‡b·Ž›×Ê&×yfºu„M‰ [óh0`âu]—Ïñ{ãÔ1™âGþäÔ¡ô§ÏSGÚO[—žœ_Ç!­ãAØ—Vû÷ù™§žožºŸÔæÒ˜s´äÖ ušv§Îì$ÞäþyjN°Hn}r"FrëôÖõö¥ñG?çèþÔ#“™œÔÒÿÙÙœó"3eæ2·FT†4Aç¥c›*ždZóÁ1YøÔµcÓ:HóÔ:‰FoQŽ[ë]û™·›°öcžÇ£ãËߟœÁ”Û±?ØÖ<üHVvÛN×^èÆLƉQ£/²É'[¨téS±¢l£3Y3³8Å#câ±È±ŠKc¹ïq¤Íï=Œ’™<õÍÐÃy^_ç³÷ÐrzqÜXá ‹Yǘ¢ïn‡Ï±qÉTÓøRTp¤RèØÀFë/!}Kl Ûî·z;BR<µzlÍ£O#$¾o­tsktxL´†±T³  m<µ6Ca*k©s2´p}žlÐu¶ñÙ?Ó~éó…иX­iâ;qÊŸ{ÀMðsDÔZKˆŸµq,xÓOAÄZœØ1÷NiZA9b eÜùü)‡ZŒù ‚[K"Û&?q53™òê FcÇ ˜hòÇÚn“«b_gBª÷7¥´•u ºïyÁ„Z¡•¶)(Åýùîó~ë‚VÜ´OÉçr0Ønbig+Ûä]öTºô‰lyfvuvv6õ£–dó:ÞÊÏ™µ¡èdC`q² CeÍ1}nœúbäO™üš wbI>È£,¼,ºË¿&;wªí°EpRúúV0Ñs#·öR5š‚M¸&Kk>Q¤—Î*D6¿w1¨GrkÝFN ‹z²i¶Ê6--j‰Ð“Xµ×VÜu¬¹µêਂq >9ƒRiÇ‚>¶cÿŠÎø†RœD»ÃIÓ«Š|U|÷õÀ_{ä'nkŽ×‘sãÔ‹dò[Zã,ñ¡n×Gݲ²È$¹ËLnìëNnùYkãÒðF=7.ƒcߎug†¹5âÌâ©—BL_|õL~³_ÃöÅ~¿ÒXuºO½Ô!‹Øìb¿…¹u“»g}jPÆÜZûkö¤×vr?æÒ1úÒÒÄ,ë½]<[ó+5Gqk_$ t,Y gÌõ¶à[x¥nz÷Þ­ùøâÖŠÂ O¤ìß_ÜÚÇ7¯/½Þç=éfþÚ^êùÅ¥}™œ¾gªcTfÍÌ(þÒõ@ûAÖ`±)å©þIQÉóx ’pI¯-Hv ˜ˆJjRJLŠs{Nº²=X£[P2¾BÎèѶ,=ñ""@C.æ4):íÙÆãz˜Qpì~³¤ß7´Toà§|ÞÒ¤.îBG¯CËÍ ×¾ÏýÛ–(üó uZŸí§ÐùÇèÚÊö½LŽâèîzó;Êš·©,.oRÇe“ßj4nêÓ>¶Â| 0µËúZS™VÙ~Üjž—Î2ÿü*óééQÜz¨Ì÷² Ò·Ê4óÔ—Êü›áÉ2ÖvçMßo›Ûì¢67ý]æ«;7ÆÖ^e¾õø*ó7ðÄÛöÚUû˲]ÛÉýluAöiïe¾ôѾÊüö¿Ræ?ï2ßÉÖþe£¸µ.Ò<9uÆô˜phÃÜßÝŠ/zi¤5¿8ý&¹õ-÷Ûät·ªté‡M½´ÉÕ—›éÖ .9ó”G…7OÜ:æÖ®[cõÈ­[ë˜L¹3õâÖè«xÊš£xYÅ­s?²É¹ßq*1JwDêíiU„6Î2·;7N­0>eÅ}ÃÌ­Ñ×´ÙÌÌ.Ôy,ÞZU½mk¬·}5öôÐ_3ñ^||¥[ÿCSaÏöÙ$øk*ø8ÖM…û½=kw“'—öãç2Èé{Ytle\–aâ/½²pù?ÔT¥Ätû;©d6Æ«©ð¼êÉl*Œj*ÜlÅ ± o'ÑT”Œ¢M=&X<-f‡ÝôL›|2BR¦KÃ!ü)›\‘n2]zi6œmòÆe„2]Z3)¡m¿ûæÖð Å­½\Rriøƒ(òS<ÆZ;í/n­ßMÌPE)9匆ÿáàÌ$è)EhŒèEüó¼âFJió‚ÞÙ¶M1`©Cæ"ˆ…ŽXDÇV&²,ôÍ­FÐÖȉ!ôD>Ç,˜9 “ôÑ{ë…r<%SS£­»¼i¯oÓ ‡ʱ’J.¾Ø2b¥¡âWNº²1>PTǘ—xp5¬Ä”ˆþw˜J-.Jr±Aê"ÌÆãcCø0v‚ TÓí¶‰$™,á­Vvç}¼Ó;}8½ZÖyoVüd„äÖ(4ϲÉ5&›éÖ§¦_ONßìÇl A”Ü:\ÁÇY|ÓclßOÝ8-:m}Ód7>éì€i´¶;Ÿ÷;]e&g²Êš+ë$·vN»cɧÇq¤5oœ¶ÜúÐtl[qÄú^Å­/Ú"û®¿·c¾¸^Hqi߇´æÇ®êj.íû£‡»î«î³yê©iðâÖÝžËâÖ.D2_]œ—z5Mk·¾—-²æpUÝÒ­£¹_›%gÄš–ܚΥs³æ§y'—ŽpŽÏö|åsëçQùÉùP#×iÍ}æyþƒÓ·m“ó:yŽÍЋtNQH¥‚SPJå§~‡Øb-N#ˆ°žj°¹gCQ±ŒÓ.{ …5–®4 9ç4d©‡nŠUÀ´7´Z¸þ†Rô ÏõO)×ogÊ¿¯3%ŸO•÷Ê'\9å9á?¸Î4X¿Å_±%Åš…ɨà¶x¬´¤ôÍM(‹Áb€FðÀ%CªpXEXô[ÿY‹µ›MÿâÒK½äÒé@€Ð§Ø¥y#Å‘Ö:L‰­/ú÷”÷ÞÍóèx´7ænó›(4á6!CØá@c(5j°­%Ô! Jé´êÖÅ,$Þ«ü(æWuß[‰÷ ê?û+‹æpG †{^2iÚí4“’Äü=Œ†Õ‡ÍGÞ®•”þÞýØ>ž®ÑËÿƒ¸ÕùÁI7f±·J1¸‡‘mÅ/dÍ#¹µŠxéøAçcLO<©1¡¼ô#msë›3ìbŽ‚ýL †FøH'x‹N(Í#ˆ§÷gЃäçÞï‰ê&ÜtZ'äÎ’À‡—×<¯pÞ pƒ>9Tg5Ìn;;àlnnó©ænÍ?»†³Ž¹õv¾°æ KAß4ÖB¸µÂ½IÀ¸—ÝxŸë•Ý –Ý8¸oéÐ-~Êîü¼ßéç­ íGÙ‡çÈž=@iÜ;¬Õö~Þv©•znéÖ·üÉv ~ÁÓ¥¸õÍÕáÒŠk]÷äÖXÙ©¿,®›®·y^ݧ,l^ù9øå“èêÆjLŽ^K„QGßóÏùÉ­ãœÏÚ8uì{Û÷¥Ãgc£¸t¼¡¯ãÜ8uø¾¸4CÒÌSǼèsÑå÷¼Ø=µžü‰ à›½üè\«¸u‹ý÷ÍškûÉ¥½ÿϽÂu Ì›%ØyÝoíã3ߎ÷á¼*ÌhA)!üK‚H¶"üÜáÏÉ¿$1[u0ú”˜hºQЉ„‘ ”lC†Ñ#ˆO9qùo“cuGd§‘Öœ‘ygqëC12¦ËŽ•ýŠÎ¬6Ì(:bÅ2ÎòЇ“Œ Ë9Ö©"’L´û©†b=–zJqô7ìù¢'÷{¾~xÊôìÞhn-/ÜÉ “\ZýÅK¯ñ:¨•Çæê¶ñV L¢ÏKë&–×—5V»õÑ…'³à›neeûë–ëHu&wLŠò’ô;?2Ïð#38?þ ‡ À?P*ÂÏ?˜íç/ás˜ÌQÊ6­qâØÕÞOJÞ çMx¼ŠžáNñjÂ8ügãÒñP]c㛾®â© Šú½·?Qà”5‚¦mÜ:&*ŒÍŠG‹ë^ˆ[Ç4Ùã,nq>_|düÚŽu´lm¿ÖÇ|—õ™óÙ8u¤ó¿ßoÁ÷[ðýw*øü`úAÅ ÿGýÝÑ Ýá –œlò;&ž•.sVXPœo>¸ÝL·^_ÿ- ~ ˆßâ¿Q gã`꩸¹çÚ­ùý献„äÔ1ØqbÑ Úäñj„‘h¥§þ<þÑo=¨Á#ÚÕµ[ñv·Ž¥ø®k³â…0FÄÍ­çÍãH+~F<Ô«¸õÉ–ßË"–XŒoÅ­ch|Ý›GÁØ1tpjÀŒ×[×Ñ?ߗ̼¯¿ýoAÿŸRзȷÄE¾ŽX}á¿b›ü’ŽûÞ6­tsëÏ·V8 —”X19ϰ³qëãÍ­#·­«¸ut­Û÷­½ß(«ÈÇõÍ­ý»èÒŠÛ¢ç:Þèp]ÌS¯/.íëõ[qng^M—¦ºŠÿ– ±QT`kYäs~Y­6¶[óÊŠgÁ/žDôm¶ÍºB‰Ð®³¸5F7ÏÍ’ÃËOkŸ˜6@ݱ”õµYñX§ô˜Å­›~¿[Äðl8®äÖaÌu³‡íܸõÇ"ÀëfƒÇ­‰BØÜ:ìü²³d£¡îuxs‰š"*ÒxÏQvçí|§CŸØnÙ÷ùNïŒë†ý*"«)êi䃗çù·¾•U7Û¸˜$âÖ ßÞö ëØyÌâÖaËf·èBš¸ÿÉ­# èº6+>OýNÜ:lü~·Á}½Í­uŸ~¿ ‹ß7ÈÿFo¨#]g"¢ñ¥êÚ ®Ž€çÉ­cö<βÉ;߸2]:¢¾Ed»óNgâóQß6ZOvQÉ&ÿlwEöwºuøí"r‡­øŠhˆ ¾ßàÖañ&¹q¼q^ü]?ùF-ÐTì÷ŸV<.uÌ6·övl“w¦Kû8¢‚¯q——5Ÿ·Œayö[G@ÏãÚ¬x,ÅÐÎâÖyž¶:}/óCTèá à|c›œÇ c+Ö¤]Å­¿ï§¯¿îOŒ¥œ÷ö{ïgã©#yê©ã©ãÀ÷µ½¸ÞìAèêi¸˜_“K;¿šïù¸«ƒeT.¾©ûº&—ööÌ­µÿß ò·‚ü­ ÿU{È‚òR…É‚++,lá¸Æ‡ca>Å¡¿$è{Yò.Fdü%‰×«i‚Ï‘|ù—daí¥UþÜ¿Cò¹QЂðsTŠc=iIáäU¨5B#ÃËÞv2²Î×VÌÎcŽS7-L‡Eìùªg|ÑCKÔabnUZ…ï‹—Ý-Ýá¨BÛú{>ñÒËJuÔÅx? 7¢Çü+Äàžfðý>07´ÒõǬ(£n’5Ù‰®8µ%Ç+‚ ö;¥ '€³¨dÌùÙ¨¤ç¬[#œÐUÜ:æ-m—Ò1o+‚[›[Gl‚ñ\§Žù]ó¨ýZÇd牷Asê‰ Ðuᬣ„å ÄSãµýÔ°Çßoæã"¦ÏÌíÙš£¿÷/íý0ŠÞ€{>Ê -½—6yÑÇ–N›×[6¹¯¿Ó­}”1œô,ø0}Ù¢ØÂʶÏûræ÷ÅO„õ<“[Ÿ^HöîòaQ:¦wO}qÉç7´Ñã¹óI§¿¨€ŠK_œ÷øâRo´Ûâ‚ûÍãOí5o}{§»ÅhÇìu>Öýf¬•äÒÎ6ç¡,Ë”_êiŽ¡xYóÎŒá”i.=±(ÀU6¹Âj"nj§›§Ö [sg;skg×Ü¿¶ïÅw+nß·ÆòôkãÒk3IÍ¥Q?˜‚&:àÇ«lÂóqšQ ïG˜j¬ Mø·`'C3ZNÆMà—´1L¢MF…›|T‹g©¬§pÅa7ÌïJ (<¸6ÒÀÒ‡‚T®ë]ó©FC£€Õþ àãQ­|ü‰Æ•?£䶆Ä· ’jŠ4ß ÕfaŽz&üÌ„íCM 5=Ð訚”ÕzÖ¨æª]jaÒ[KNð#`×T\QËŽ·ŸÝ(Ö{Ä‹z¨—D$»ãH,ÉuβæxçžÅ­`.Zâ,Šý†ie¥-~(«Ó¥Ñ°žeÅøä”FNÙ¤ÎtñÔ>>Îá-D¸t¬R€à^ù¡’-TPß1é¹v?d³·-) >´ûûÃdH„q¯¤"f¼ä‡L¤‹æ8øU’®ïdR’ëf$øv1Ò=<éÃ^ dŸÖüs51É%¹ôb4ü²æ\¯ ¸tÁÚl~61åäD„ìäà:æµK“Ä„%Ãÿÿ2E8˹?ˆý+*y̧Ôüc=q:Cª˜eð$´:vhÅ}ê:*õs¡6yð-äÂ{Úç1¢Ð#›Ï"`=©Ú–gG§…:©¸á($œ:ÏÚ8µ$­9ÖÀ¸Ð¾FsN:ŸÑäÒ~¶ó÷㵉U—ú|v6ã¢ý’Ö<š†ŠßFN=ÂÇsUi‹³é[éÖgz;Ý+`é8l“_ÒSÇw½ÓÍ­ûuÑ>D$†›os”5öàØ¹´·“ÖœóE‹Kë8x ÚvÞüMqëý'·>û.¹µóÁƒØ#ñ†^Úê·‘<ùÚ$(…‰¿i 1ñ3Ó ¢EØï|ìôÄbœ5`Ô É(ôc›`Ú|Ö†*Nô8ºäZ)(X£kÀu¦dÌ'ÜjTËXjE—Ê"ÉÉE[KfQÕ°ÄJôrÄœµŽ¹«ÇÜ?8…kúm (Ïâ¬óC¦på”í±¤ Ârç¥D$šŸ¹%ÄùϳÙä\3%¦‘c’Ý5d¹Jqéïï[{{®a²fñvÌ­¹Ÿ:Ð<@-‹²¥ˆlÕ˜?T’MÙ¾c²^³N_µiVÙpsáÁZ¯{=›öö²˜ÍâU¡&ÝôP“ÈMtšF.žwzc~š¸uÌíô séèAÄü´äÔ±Z6†xÌ¥cN¦A$§Žº—Æ e—†Ï@8¿áÕ–Ñ´0ï,läìCœwfžúk;©µŸxåÀPQ—3äàõHk>9ï,¹õv\°ǪèÉFpËŒ¾>þBܸ‰>;45%bû¥ì3Ùµ¤¡·â@‹ ‘(Ì­Ç¥æÒÞjriD›y¶í7„tªýè{: ®?]TR\éQÈP§ê¡5gÌ‘Ü:¼>±Ü»,êýí{¶æ¬ÓÏâÒá]†n0Í¥Éô›žcæ©£r:¯Kö/î®·óÍC‡÷›#t¼Uw„þàî·Ž‹<µŽ?oÆRÜÆx)}6k¾îÞ–¼·ùJ·Fèyx_üþJ—Æ8Á±í×Û‹k3’[c‹ãØ85–÷EL4sêŽXjOñÔï|ô(:‚ã=•­¤¾q—v¶¬Ói5ÙÔÜzh²©¹õ_¼&£¾¶cÝÙўܺÏ÷qYwM>M®É§ƒsÜ~[5¿­šßVÍo«æ·UóÛªùmÕüg·j\ëf-Ü4³ÜÓ›f?Mî·²âp ŽyâÖ¬íGYó“ÛMná¹±Tïoíÿ[ûÿÖþ¿µÿoíÿ[ûÿÖþÿɵÿÔ¬ÌÉÙ¦ŸpŽÍš{Ò‚¹ô©Ù˜¶;ïó}*ü1KµËÎ/ ¾8k6¹µfÏî6ö{ ÍšU˜éŽÖGÛì¨Y¬˜ý*ž³_‡f½Úzö«gÍŠ[wÍžM+noÇ,n=ôûÝjmX—y^Þ§ßÖÑoëè·uôÛ:úmýiuEèŠ"Ð=`·Lœ”inýhR¦­øpÔqë¨UböPZñé¨âÖÍþzÞQ0û_:è؊/G pØé¥ßï6øåhâÖ—zv<Â/µ³¸5Â2·m,nå!¹õbˆÝ‚+Äokö¿´5ÛåGľ©èÂ?¸5b« >¶95p:¶ïK7GML®èŠë’ÿ‘¸tx³¾9uÃQÏâÒq\ aj'Nþ=aUY§?1òWÜú‚RYsm?¹´÷?t]§°ÃF ¸sh_òíxã8NL*Àt¿uø¯PÇz(bXñIÊšʼn)¡ü+„UF¯dKql%ÒþÛÆ,s¨)<þÀœà`)š©ÄŸlví¿¡ü<@±h –hC+ù½‰â ³˜6þjp° il…³Ú*.›a{V\ +j¹F›qçÒ.~æ©þJ¾ë¾ý^§ó!–ð0§Æ¬£ÈòæÒÞxL;ô ®ËDþÒÑDÌ®í2fú©ã°æöšV¿ÃôšpÆág¬¨$¢ÏÓ™1ñ뙈ðóŠÇÌÌGÎ?¼m_…WL»Ùz;Õ*‰þ‡î Bhn=ü0¹õ¤_aþ^ۿʵÙä'FÞ+Ýz`¾¬ø)ÿEskû[&w9w½¹õïíXONµ+. „í¸¬Ã¯2Æ&’ScŠÙ3~Ëßrç·ÜÙÊ?ùœDë,Næcc4ç®0ñ¶É#¨ V¡Sºu®ò¼ù5ßëˆX?·Ú9¿Ïçïóùû|V» ±78,B_ìíµM®˜Ž™nýð¹K»ñè-ÞÓC£7|”Ý9BxméõÕøv+ûâ}¾Ó»c NÌ{ˆÞЍÏ )ìü²àS£ æÖ ’ú²½a§ÖR·½ö»=Ø¡rª½n½twÜ×{}]ݧÏ̃6FÖÄõJ»óv¾ÓÕIzb–£íÆû|§‡Žvæîœ%‰[ZÇ£ » ÞØk‘Ü:lŒŽìüæñ&·~p½ÊŠ£4Å­£7 ]÷¶âñ¾ï™æÖ‘?âz¦Q%¿‡"”€ôÔïw{ÌºÞæÖyŸ~ë›ßúæ·¾Éö ¿Û±($îTX'béˆ{Kþ0‚:æö\×s‡í2jÄáØòmÈȨío[ ·§Áãl%¤š7;ûøxJDg1/óÍ.F\vŸBžÊ|Ý®âÒ:¤ðYG`ëÏM_¶ó6”Š… #Úb¨-¡Ô‰`ü+û9Ì$"ú/†.Ì$0q¤‰ñ<ÿŠü4Í$:ºnyÉ…C麈úîö% _^~?Œ+q‰ðsôé>"ú<˜i±Y|vî½Þ¹·#.ƒJbØ.Æ’Ÿ3­yŒ›»Xáðu® œ+ ‹#¦ÌÆ­c†ên®-ü×vÄcœƒëÐ3¿`Ü-òÍâ’™¤YÜŒú¾µÏ+óÏs±Ó;¹´ó3Š'ÆÝÀøâ×qš7lš§ÎýÄ$|Œ_r{ù=qk,K^X2L 5|N‘¢øœ ¿î²æ“-ŸäÖê§Ýe“? fätéÅêÀ»ÕæGmÝÆ)o΋5¶¼¸8±±%zÁëÛ–g¸µ0ü€F¹âîDäz6.ª£¸õÍÉ7Ýu àÒyj“N*~\™JêM%uYJ0H]”vŽ!?ä0¥Ç^̺„w.V.çZ¬uê©àùûéͧR¹‘£€;±ØLÇrz»ñ¼/ˆ[#dØ*kã1PšÜúæâ3¶K‹ÓD»ýÚlò“‹Ëdºt¼?E¿ªmòK!Œ.…‡­8Þƒ¢`·†½ÆÛo³Bí÷vý®7ßuD„ËïKÇvÆÆ­ÞÆŒ³×».†&‹~ÔX4ÂÖüÒb±8F8£¤vº¹4¼´CÆEÉÓx<óÚŸâ©ç›K‡SK´ûÍ­#OEX¯âÔÞ/F]ÏYÇõÍ­ý»xßDh•‹ËB̧å8gñ˜Y'' pëx¿8ûfÍŸ¯ti__ÝgŒæÇ,Þ‹úfÅzl·FÌÞk³â>óo|~"†}Y{Ôá¿DÑ\[BüŒf¿þ’\ —„Ÿ'jç_’ AÐDðùTÐ62¸*a º–?ŒÖܰl,1‚úô•8õÓp7l‹”ÚófC9æ"Ò=ê ÿ¹4\¨¢Mb.ÛE sé(Ã-©8u%Œz¾¸ô¼^ÛIq‘ZçK÷í÷:/ÙAM#.=£]±iÍ¥½òã×½]§¥sÝõÍm]£®c¦“—æö¢îãMÇ{I¼µ¤–r¹§nŒ´”ÜZ”’[:p$·Ö2 É¥•ÌᔕükgÍÉBªˆ²»ŠA] J¨!'þÎ}D ôµ }„v€gŒOQ4ɧ?¯?êÅ9øñ'!÷³*樃ÂáøŒuÁu7.¶á2¯ûY|)ÊË­5 £”$·>åÅÜúP”—äŠòò(Ê‹¸uÄEÂ|ãäÔý^o.¾ZK­0FÑhå¥%Ζ¢¦Äègøƒ!úÌõ¶×¡ÑÔUÜÞ}³æ^Bͼ–Tã¨çTôE‰Ú­óM_û÷·ã}èK„àWáê…mt©À‡KÖKt*<äÖ(;îä©OÆ´Mk>Ù2Mn×}—5o <–Ü÷j•ÿ»xLÍ­at°Œþâˆ>t]e“GvléÒûöÂî|²W3®ÝÍ8Ìá÷3JbÕ‘–f§nrk²¹µM¿÷¾¢mÓˆEЮJ’ o¾–F0J„[?Ó9 4«þ5·3…âSØÇ3Œ¿F'‚ý)E"ú4J@ËÁ>ñå¿BÑußÌ$>?üe£(-(Õâ̆°á1j(QQ _Ô=ÂE%yy’JòÚéP±€nžŸ a<4Q¯ ö†[êÌTòS\Ûóu3|õ¼¦¿è‡˜\q°£oK6¿§€ É¥Qçâ­’v¢çþ|m:2b8Œ®Kõ¶â០fqkø±Ž—÷òëÚö¯‘ßmÿˆ"&ŽîÔ>ŠKû²ÙˆÆ‹l„y¶ô%W!çBÊ…›nïoÌßWBgxhÙ÷G5ÓÈ/n}ä¥ùXÜZ<ôûÚ¾"t¤5‘ÜZ1ҊߊØanšæ,n}Í/.}ïíX/ÕÄæÖk¾Ëz)‚Gr;4—ø·Æú­±~k¬ßë·ÆúwÖXU¢ª„=!J.FÀT†AtÛäSóœn½æVÂo\[É¥#<ùoÉþ[²ÿ–ì¿%ûoÉþï,Ù£+-cb§Æ‚Òšß3—Žõ©¯U6¹Æº2}ûzÊÆœ§à1'êÚ­xŒ` LÜ:Þab,,-9âû`lŒÜ½€ ³_²~·nŠ–¸Û®1ûõ›o¾ëóܾ/=ù(Š[÷®…¿5Üo ÷[ÃýÖpÿ“k8,²upà<”o9Ø&_Ò‹ð©•n.™»á0Ž´Q9Êk¼=·>ÞܺqúäÖË‚—ö~)Ç×7O­ßÑ!@¡wµ Úwk‡ŠÖŠ[ÇôôsnV<†à ný ­ùù•.íû1Ïrˆâ"®_ß¹µÎÇ|??8Ü刀µ’­Ý­F€jDüÇ´„nÍ" ‹Ù —f)Øn5ê–ŽÙ ]³dwÞç;z°¥Ô5[ahVÂÐl„Ý‚ŸZÀÙÜš7ïeÛÞ²ÏHçl„´n±û³öÙ çf=‹A³Ì­±ÚðµÙm~×·Y'šõàÙ9ëaÖõ6Ïë¨ïà·…ôÛBúm!ý¶þ'·[c1Pìü²Î*˜:—ÜZ.Š»u€¼†ÚµqlÓÞmFÄÁ²ßÒ7ȽìAÇgÜ1·ÆPäµYòyøwS.šÔh1­s³â¯ÑÉ­ÃÆ$„ݪBˆó.ný ’ÙÆ•îNÌA·Fà£/«Uçέ²ú÷µTNÎÙ‹ñ×èçàÌ‘§¸5ÖN,n%‘_ß>ÀíŠíWÄ:§ªaxZ@l"f’ Zç®vÝ1ØøÃ㉲5³Ôƒ¾6õù)Ü”þ„;îù禓³ YÌo™$ÕL*­ðÁY?\§´—ö¯Œ%±v¤`4Õ’Iœðb“ÑGà+®ÜxÐv9³Ùš{â«ô}l’UúÔŠÛ¶æ1Åqëèª y[óF_ÆäÖ* Ó6û@Ò]ÀÜë鎥ýTã#|Yv¤MήºJ—ÎíÉ&×öó~úFÆMy¶û-íã0·Öþ´4ðdóB®ø„ex°~oÇ<®]ïµë¸îM«ÍC133'•ÔMð—Xf«£Ð"&Å|Š|¬vÊ/²’0£š‹ÊÏ4b>öh-Þa;#2žtñNn}²]]\:•è"J.ý}¿’GòÙÒ¥518¹µò+*W4® ü˜æ}ÐõwᇓÌgx»×ã¨{ígÚ•¢žáò°Ö PË^ò2Ê‘þb^ïó‘§õ’ç³­ùg´¹u“µ­xœÄs·Þ=·¯cãç—çô§õüò´¶þþ¾5·¯Î(ã6ãä§Œ`8R\ ¥"V±ÿ¡5ó4‡"#`i«A —Ž)”ýjß.YœvLÕ”ˆI͉0u}ŠI\Œ™΀þö Y œ¬ÅâCK&±°ÔwWù{k^¿b&¹úºuCÑØŠK×ÄVó÷ÄÖâž<_ÛIq#Û]|×½~9”è´™¼[w¥¾P'—ŽàºX7§BRw¼>lS$¥}\¯‰À ± ¥}"4´+Óý}Va/ÍùâÖñ¢Û7n­œÇ 3ÙðÁûŒiUÆôн(RãæÒó¢)ÑrÉ¢$¦¾¾&Ü_“GnM·>†&˜M¹åÀtg¨©}ò¦«âå~`-äxße·Ž"âXû©ß}îكi|êW ÖQPJQXÒ?,©”Þ§­ñç©j[*¥,Wìà¸ê¼Ú ©î˜dÁÓÒ¹ñÀ±DüŨÖ î ckÞØ,.­ xKí1µË½¬›Kσ½TæÖˆ²Ã/æÒ³³E‘\ší£SÏ‹ïïÉ¥çÍsL¾ë¾ýÞçwªÇÛÜzq¾irkï§s8,¯«·gžš¿÷ÓäGM‘/W^ÎKå–ª*ÕCz\]oø¡öC®BXeô=_›ø­í~k»ßÚî?¤¶û­u~kÿ£jßQÿ{fDý‹Úý_¹÷ÿ'Öú]+ôàÌC3ƒÙ|vÍPºõÒL[óG³»Í¥ñÄ<¿­ßÖÆokã·µñÛÚøŸÜÚøßÿŽ‹È]!Y³à;hk®u “K?Z¿Ðvç}¾Ó¡OE6Ó¬‚p¤„a—ï ­¹"0'·Öú…»m\Q¾…âÖaåB•öàð5} Å­O­/˜¶— | Å­—Ö/L+~iÝBsëK¿ß­|úè[(ž×¿Éýc–U£›‡ìÎá²¥CŸrÿ°5_r1·ÖºMKël-­§µ´ŽÖn;GFè¾cn­ˆ[iÅ/E`3·¾´ŽVZñ[ëg™[ßZç*­ø£õ³Ì­ŸSn<›=8z”¿sÄ5¸óœrãÙ,Üyt½Í­uŸ~[u¿­ºßVÝo«î·U÷Ûªûß8r_…?X¹M›CIÂ7pˆðóÉðx±°i¬¹xÑy9|²ãá–1 oßG+ãGi¸B_|¶žYY¯·¾™%°í€<‚í=¸*¦’CVšJFÔM86Gm¦ö®Šk×_»´nÏýÚéKÇõ´ÿ=OÍþ&Öº¾b_WJØòs×LjuÚ[` cß™¡&Öˆšœï4TtÀŠGˆ½î;rk,³ AYMÛÁò¼Ç(kŽE,<ãzJ:Ù8åDðBá’*}ç&ø!Á¯rŒÍ Ç ‹¥Ì-ÉkÃú²/w4>›Cm4í£ MüçÍ­ã:%·ÖDíäÖ\²~ïí3ìaYñÁEÚ’[c©Ø±YóÆ.ÖäÒ‘Aâžš[GÃiçÖm½·cÝ Å\úxÞÇe0•ÏÆ©±BÄCÏs††g„Âå@µk8Wµ»¸4¬Vqi×örÓàÔÌwÊé‹\Á·§»Ä¥Ç#‡?sk|·Ž?u„•ÝŽó¥û¶]?s7_’[k?C¡ëóÙõïÌ­õû|6õ,æ3œåx´…úQe¸–÷6£hXµUL‚ûfª1\ êû‚Rpޮ⊊¥7ÉÊäD£D÷Þy¶÷Ì;™—¢àþh•öª –Vç8¹ I¸9rq\®<k˜ÇCŠUqÄwýÌí÷þ½7‹[sVKqé(TÎmÖ˜Xö¼8µŽsÉ=<¶ Ÿg}Ç6¹æÊÅ9ÇvÜHWzrÿaÍÓO6 U^Ê«ÆÖ\á,.‹Ôr¥sê69»%¹´/gqi=·æ©ãý¨×ö_º3Lm<Ãeö@×ÊèGYs”!Áõò´ÓÍ­û(›üøJ§æ2ï+mñŽåßm“;{Éæv#´3ZâÖ[6dãdªyx¿¯«4—ìˆr&œ]#1+ˆ:ªºäÒZ²>yêS+>ˆ§¾0%4ïíÇ”KÌí–5Ç2ê·î:·´âÇÃíã»oz !Qœ:ò–¬÷}¿èì›ùÃÖ<–yÎâÒu\´É£¡ÓÜòø¤u\«RE¾f÷ƒ iÅoÎðLníãOKîóÌÇ×­÷'^ûçv³xXzww1’ÖüøJ—ÆñβÉUœfº‹WW¨;c;®#t»“Êsq'¯ÃÙ^‹áí¶(eg÷•i¯®c£’*:S«¨:êb´ëuœD˜Ð{lÇ>t íe–¿ñ©bø·*ëÍ$´C2Š˜FíŸòsÔØþ?ã%BDŸŸmãø|pRl{-%ÏmsG<Æ¿ž#=g.×Uì?l¸ÔÍÒD¥ÈO¼NÆD¥Ÿ¯ÿsÿðüùùdØï”ù`|ÀµÙLÀæû–’âZ¼÷Ææ#øú§¥óó)E~>%RÚWÂçÅéõèÏÿ§mvçó{ç±O¼s[Ê"€þë”ò8b ÃùàŸ>ÿ:âÉ·f#øÓñ“™Øú§ÇËÿ§ôÙ>8iàZ®-)ÉGý)··>ü½ÁLŠÃÅœÈÉ…8-B õŠG§îó$–ü\…› Ä2Dæ\’èsIšàç‘þ‰v+ ÎÏŒ‚—SˆÂ—ÍgPç„{Ñž-) oí½'™dæ¯$“+®ñø|ñ˜óó`i€¸‘®²™?qJ‚‹l^ ùh9寇/&þ`FÎqKE·ÅÏu¿>TZÓÙ 5otÿ€´<‹LK¢+€ áÄÔ:-ž5 Ô윋'(å% »½#*œ«ŒàéŘO¯ò‡Ö¾LtvþõsÂÛ6ÍãôQ J?m½àªÔTÚ¦7pŒ=mpv£Êÿyì0fì»Cw>Z’?­ atí÷„RqÿVÃóÏUIŸk¿òoÄFøú%Y”£Œ§•zÇ”ü‹Áž4¦1Âs¥ÂÉ—!Œš{&”Š.ÿ5Òªº8Q}ƒÌ?Â÷t´:ô˜µšˆâ“=žBÊifTÊ…ŸÛ€öÅú£Q²£˜—ܾ'¥|e'õjÝÒs¦1\žJ¢¸¹béíEOïKˆ‚‡„~µ“ƒýä¸R›5ÇŒÜgãÒh´²âxƒO;0ìÜbÂtóä°§[ã½`mÖ|aX»¸5CÎ”Ýø:ÞéÐt¢+»óû+ýÖ;Æíà“ôâ/½OÊšGŸM¸`haÓNONݰ¼P«íœ7†¿s¶É9œQéÒXSt–5¿4Ngn~^V}‰]Kºäs„óÛ~˜Ž ‘QƒËgß[¥KkX"mrö Vº5ãuåqæ±é8ý2‘OO714­¹ßÜ:bî ÿAÖÜçííûw~Ì_ºçýÌVO¼O†6·Žh%÷öýÔÆ'Ä¥obl ]øYÄ™V ÷ÃÖ|bkqëÆî¶´â¨âÖW“IÊX ™* ?Œ4IuÙ*w%GuEá b衵¾ñÜ—%Ö6M%sÓa7r[þ±¹õ¡ÏæÒxï*4]~skÿ. E‚*)ÜôufPáîòaN^Í-·Î¢Yúœ_-:¶ñÔ¤DÇÂÍ)zS÷#¬¬9gã–Oê¡izÅ¥/ö}Ú&_ô×Êtëp&ˆæ„ H%¿qÊ©ÿÄ–Qb†ã’°åÄêšiLOÇ™‚épÁÿv$¶ŒqÐYÆT5“±d÷–IÚqG3U2¢Pi’vx—L%É£›+kîs²5çY4.ƒ‰^ú‹-&–z²Éé$VéÒß»M~(.IW Î]ï˜ÓÙÓšÇPŽÃ<õ ïù´>^ÔÇfÅu|•9‰£dš·ærŸ•iîÌ:-(zß`cD(^sëÆq“[Ç¨ËØ¾oNWñð&§Æ-zÉ­m§Æxãþ}év3œD»Š Z!…6z`v~ГfbÜ\ú{;ÖÞOLAÏÒƒQ­¨}° ²mr«tëí¸`7~À׊ëK~ž‹Øu×_½'DoÆ’@¡¿BðF9Ñp–¼T¸%£€—H²˜SIRáFx¦ _½+¡Ôç:^=àĺSêÁµÔcÿytú+Îg¡´â_^~æ…ËÇo²Šmƒ 𴿨áÅ`MÏQÚéæÒÑ=ëÂê2ã‚))žý˜Ä¿m†R½Û¥n¾; Jy¿xÂÂ#èô†eˆp œÀKÄ=Ɉáµ-zX‘ãx‰(æõÁ m9Ëš,ÃT&E‹‹ ÁÑX]Ÿeã%ýN(õÒU¦Ž?=ÿEÑý˜IÌ ÛúsT•ÄÊFPJ?#“À•ï”)ßÂóy¢,W,F‡'¤Š#+¿)é5êZðDõsA+nÚ§#Ò÷]ãéI`'›ŒáùoJ“Š7ÿM—/SâUìS˜¢,½1öŒ¤7Ku¡ßÄPêBÛÊ„-çDšÓ8 ‚¼ôË,n}qœ?ù¦[Û¸µ#˜ù÷Þ~C ]V5:ÒÏäÖd÷Ü›5ï¬A’KG 5޹5"ëmß·ŽclÛ·¾TÓ%wÍ×ÞÇeelGqi¸Ãôë·F¨Öâ»AøÝL”D“òÿgíñÕhËÚä+ë?ÿk›*“ÿUûðÝ.Lû¯Ú½ßíÝs;õ«nÐqü_\+~½¼ä‹Ïûçë=èûméý.õõ†õõöý–öõîFY/‹ÿ×TÍÿw¾ÿ½Çæûç¿x?ýz/ý{?ü/m.½Û8j÷¼ZDïVÒ«!õnd±ºøíŸÙlú«yõwsIÕvVã1Âq4Q4†àp׊æ‚lr,+qVºõåèòíÅá.¿»˜š®4ë·ùðÛ|øm>ü6~›¿Í‡ßæÃÿ͇¸Øá¡ é†ða96›œ“±+]úâä¼´É;'žeºtÜÌklV3-®y6ù äJ§îZ#Á69Vƒº*Ý:Êɸz¿>zÿ¦ ò`×çÌexzÇ÷Ónü<Þ页æ.»ó˜A³§Cs‰,G×­·‡ö>Þö”oÞ¹sëS ­øÍ%¥’[Ã÷îܬøÃÆArëÇ ¶jD(:†¹õ8º [q„‡º‹[7ý~³à¾ÞæyýyŸ~û~}úþÛ¼7ÿúôýúôýKŸ>”ÀX@ŒÍJÌBÉ-k~*n…¹u,*µnZñ¸Y«·Ž˜„—M5÷‡9_á÷÷|è{g›o·Ï¥?CGe‹öøž­y<ýظ´› ¶ÑÞÀb²“alÍñªÀ ‡í•ùâDTÛä]3N·ÆÆf͵ýäÖÚä6\#_f>µ5ï ü–Üz¢©“VÇ™ù:ó»¸Ï3çïq»7büSM@Ò”¼†|ŸÇúSÒ\¯/ÂÏ ¯Nü ÂûI¢<üL\£O#EGhÆûعmì3Þ°zÿ`Ö;ÅB¼%" ìJ„»U+¢&L̆eÔÔeÍ;‘å~FI„¾ÿ8 IG˜š¸AýmÃïºê{iž³·Æ«õ½YsvrŸ†;NjǕ'¢§<zÎÙ0³£q´d¶TJæ½ K£>Ž+Ëç®?÷SPjEÀý„R «ž¼øÍk+Æ5¨¡Yö•̃ÅAâ’ã31t£Õuݪ‰ºº¤X‚Ø&Ç«g«tkD&½ÊšÇD|LŽ7‰ÔN7·ŽËqªî'÷‹˜U¨ImÅ#:x‡ºÈ¨óxÍ­}žC d× ­oÖœƒ+Å­Õ³`‹þš›¶]o Ïåܸµjó´G°ë-šþ`8G‹ãCÂÀnãÍ3üÙQÜ:žltGŠ[ß[OÉÁgš1j'ÓÒŠÇ Ññ·Þ vãq\yu?»º•Ì­5UÜzp[æ©§ZDæÖ¾o½ÎÓ<Ï[ç³ç ·´ÎÜÚùiˈÊï9_ëqÕ#jêWAÊM-Ù±aœZNt‡DÇ V-ŠÕ&F" #B:ŠOóì‡Í|˜ Avm?…èì ©nF –1Œ˜Æ#Ó¨.Æ–Ù¾RŒ‚1©omDú;ùWe¢d Ià"e¯WB¿§üìîg&”Џ·VÛä!ðïÙp´Q| y1ŠÅ àdëÊË5,.ÆÜÖÙSè"Dc ác?åöÁ¯+a¬vYiPˆ›{Ù$Œ–i¥Q!À 13éÅ$x!Ä$|ð9âÌþD-nGW\}PÊdÜñJ0˜ƒ¡–·J‘1÷otÔÙ}û)¹pû†@$|6›üBŒòvÄK'Ÿ2Úf~nÜúûûÒÚžŸ%>(þ•hmD;ɣ̣‹ÆÄ±7¶™4qqKyuÑlŒ¨‘áÆ’Uñ8ÄÔ+7Fr‹¹!´ôà1­ªIURç ×¥X^æúLns(.Í©Otlß—Ž•ˆë“œ‘äÆS\còsÛ¾tÌÐ{}_¢Mzò5!:àйv´·=øtЕÖÜúb$»´â¹}qkï?BnÆd¬m€Ë›nÞ/ÞëøÌ÷ãã˜S¡ž9tÒàn¼YqMÂ3–DHmŒqÇ]—B«þ³{Ñ”lï˘b`³™J]¨Xø×èÆ>ÃùÄ'´Ü0d ‰oqG8ÿ‰m}ÃÛ÷ÅðÉc)ÉQV¼cªç•<õÍÀ˶É¢ðB5}¥™nžrÛwѳ>4ŠÐ»Þ£eÍ{““[7µáÒŠc‘–‹ûÀôÐ¥v¯z¥Í­—Ú€Mc­ñ ‰›ö”!D,å„Rf1ÿ!”­™;l ã¼9·lÑ_Í«67+~òU=¹µ/©­¹/¡y^ꇯ¶;_G^çc}?ZqkÔ÷FÇøYÜZ—>Ÿ=azüL-cÃ…Skç•|2w¶×É¥£ë®Ÿ—nW¶{Á­_Ô]‹ÅúÕJ1Ë:1w ¶´ê|œ ¥”A%ôÃ1àDÓ&‹ DµÁgUäüt=þÚÆ§}Y"SODíUTÞB·àþxêqUA—Qç«*ꮻ˯É|Óå%·>#;¹µÜÌßkûšþ’6ùb,»L·žV|ÙOÜ:–³uÔWpéó~ß:üÄÆ¶}ë³U´ÙgÓQgíÇeåsÇÆÏwðžß:ì·û­Ã~ë°ß:ì?¼s›eîàL¥Xž ïCSÑbÝ4øÜÒ& ætë³muÁÆï3­M­M€iÇ£ýý–õ¿eýoYÿ[Öÿ–õÿÑe=fX>ŒÕ’ÇÍ™©iÍÎHM.ãªXGVvç1×hO‡>9sõ”3` q#_u y÷ú_šÏdnÍ5¿_6C&ŒâÖaŸóm1o†NuÉ­±úñÙ^3\á+n}‘ÓŠGØüNÜúÑï7›3c1£vÔÌX\Õ•Y¼~»ÿê}ô«Lø«Ìø~Üþ­Ýwqìb:‹ë¯bý»Øÿ®¾ªÿô2Ìü»:ùǺÿ»ðÕzøç&Æ¿§tü»ø_*+öÃûwdïf „¯ñw¹ñWyò¯ê¸ÿœºí_7CþEsÄü«:@ØŠ‡#\dbüÔvçÑ„ÚÓ5óÄlwa;ötèΰ3ô£vor6ÞmðÎù{É­Ã/1DÓŠÎhOn­6uYs…AI.‹.ÇØƒmr…ùÈt‡9žÅÖ| #"n½ŽÛÈ1‡™cãÖWòÐæÿOo+ÿ¶5ÿK›5,_ö÷•ý=æõjó~õy½qçÿkíšjAÅý¿²t =Çd—§ ¡–*¬…ËÛ½ŒÀÞô÷&”úìeæ_¡ƒWŽ n¥ú ‘×I"»,|ŽÓ½éE×釗ÝÎŽ_óÔíáà§¹u8°íûÖ˜°|·ŸÅñlœ:Æ\gm^2"·/KÞ ã’1gæ³Õ‹3¡1Q¨íæoÆß”°ìJ#ÈmRiáVÙ1TÞƒ[JéXëÈb·ð×¥ÇE'ÉÏù}†„>Çò× Þç§>cnáaCÆï i# .Ø6dt*£¿p äš5h…³Ðš†R˜7sÛ²}ë4ª‡ƒ2‚7­¥ðÜ­?S™`ÆŠë&ñ™'/B¡3ýdª¥ïóÚAçÇI óÏ©_ècT¹ñtú7~Æ7?•ÜâX;f´ê -V<òükÄ©™J‘àèÂÆÐf‹]ø/Є?˜.†þ é6’Õ=½½; /rô¡Å HQŸŽqêÉf¨n°rÞcÎ*÷X¨˜<½}åZÎ4ÿµêž¦¿ž©xr^sÚ+¿½òàžE_yvËÅ•+ÿ²&sÜ_”Ÿ÷L¹eYÝïï: ÿsðÿ•4ÖÌŒÑØciMME«H¾éãÚ¸4VŽnÅ­›&äï½ýÉ^´æZ¡,¹õÁQҴ䈂‰²äÖ Ñ5ŽâÒô˜Ú¾/(#ãÞ85LŽ«¸4×Ò<7NæmŒê&§¾¹8ö?TÈ[u­ÛõO…Ÿ~ïÍ-FZû§Z÷ TD CYÄᆮá Zã˜>ýœ•l}M]‹ùâáüL¯2€K‡‡fØß²ù·lþ-›ÿýeóÿÿBãµx`é¬@Ñ]и2qÚ3Q¥CÇŒ½ç,›|±¯7Ó¥#ÿÞWÙäŠñ”éÖc¥Ýøù¼Ó¡öM…oÍ¥¾®èƒBŸ×ñ¶îÛ:7nÑ£ï)­¹Cíš[ß ½këP»KØÅ­ùÅn×M×Û<¯¿îÓîü‡=ü‘ÅГ'»ãóx'Ÿt¢FG^ÚŸÏ;ýdô¦¸˜˜çÕ¨&,n&à-JݸF›ùÀ¨B>_”:™Kl‡ ¥[6„q³Ç2”‹rKCx3t– ÔÍß•ùØ{×eÉUckûw_ÌŒ:Ýÿ}5N ª^Þ¯ýmo{-[Ý3kŒ©z1C­•æ2жùõ{CÝ/õ¯êœZÊ@=ûàÑŒ&p[<ýÞI·öò e‹šªYéÖ»û{c‹oš«TéÑ]}ÖyüÌ0Þ9ñÒ>¿DêŠöyú–;ð!jVèË:”Ê3ƒþѶ«_¾5Õ»§%w‡!G¾¹'Mÿ:¬yC·Â6ÿ^QµëweÃO½ƒ[£.Á>aÛpö/ƒ—vþÌÏ$ïÛr«:5¸"ûÉžåÆ¸‡â¥WG-kž«í«’í®¢ÑŠjn]ÛKn@Ö爂äs¾“9x Ð'ÈçuZƒGßìúT‡|.VvëÝäYÔA¸8t¨Òò:U•‹7tMÜì(ÃKcôÉÄ£s=Âs?r¶›¹ ¯Ô˜qæøþ´Å1ÃïœÒ­s\±á9.¿t2.l’e’W|‘Oo4Úçù¯‘žš‰m˜÷¼èÁ祱ð%‹A©8s”œ|n.gíØðæY,Ðï®äî°v±á¨> ¶¶ª_¾tÒío ‹±)ªƒM¢Ú?‹ÿæl|‚¥6Õ´yqü«²è<#_C ö˜˜¾§&…Y»rƒE ;4.ÇÛµ1l8#è«Ö.nôâ×XpÐ j1¹C‹ÕmM‹Ð…—ÞŸ¼´Ö¥\zÃ(i„‘5Î~q›´VÎ2<œyt~ǵ|œÝöÞž¶kFdsA#n8G>ÛïZ´®Ò£/-^WÖ<÷#<:÷ƒÁÐôâPÄýCÁÑbÃ7! ƘÔc‹ûü+}ºx=€3Œè¡Eí±k¶æð§¢%½k½â²Å‘o¤[ã¼Ï6ÙS–ÃŽ¶a‹Zw¹Ò­/·)b‹_Œ 8Ò­Y]†5Ïu ¯ëìûQûÍyä¸Ù[0_?_—â“F«2<Ú#ô‹G/֩ɤÖêŒ+[®ˆ1Þù4ó«YüÝü?¿šÉÑËÓ]`föhn›³À¸Gztšë±á‡¦›f ÔcØâ(Gï)Ýšc1—a‹Ÿl–tkÎô´…MeuF*ÊñÐê¸_ŠG3baë_ ew(skuÜßÏ¿îiÝÇè´f(”óù}k¶VïáNðPíy²;ÔÉd7øú$<« .ê¤?Vôö+=Úûß×Úh> áÑ9¾ðéx}«6ë!¾g1dª­˜®òdæ|eñF¿˜k,­û‚Ü>ÿw?=~LÿÒ鳎Ví}¹Ÿå”>›«¶ÆWÂ)GÇySNœp…[éÒô[ È¶܃é+ÝzUCµkr•ø8£ùŠ¿æ+n:%EJ’ð‡Ãpú}élÇO1†§¬wnÎÀ’¾x¡¹ò¾ºÙɺˌ˜ÌH±ÈÄa³9pÛÁ†žiä(4lÃ]hpjÛÁ‡b7DñÜ—˜­Þ=?½Ý‡ÿŠLŽñ‡çüÎ_#f\ôì>ˆÏ½¼ øQ›ÐgíxU¿ÎöK±çpD1dM£­„$8&y‹ã>LøÙ§o££áåQš]ay}gsßß7Õÿø¦zKÊ·¤ü'””×=ÂÚ0<Îáp6áÑ—Ãá„Ošáp­‘ÁÖcú}¶Ÿiš±á‹(·fÄèkØâ WéÖÇáð8æÑ“3?šcC¦íGïHYÜzoÏãŠÞ=²øâð8 ù¾‘þJo¤ºk¹‹^*øßTlmê†`aóà\Ûâ&²ôèßÂp˜_ÇWé¶:¬Çû&|ß„ï›ðm3ü–Ðo›áÿWIÙ´2CÙU­l¸WÜÞ ºhm‹w»p¯rñÊ…Û캵e·ìiWl¬9'í¯ƒG£¹n“5¿7»pÍ£1y]&»Ù…{Ú…{Ø…{Öb¶r©+×úM×¹&íoÓõóu Ÿ5þe¸|ùÐ/rÙ†G¯«ô_ò †þv‹mî7ºÝodŽEK.5Ô?íôðh¬%¸»šÃþ¡ÅýF§úƒŠ[c×Ì£9'k›xw¿Ñ­~#óèì—‹·\×8®o^Ú¿Ã4ø®—\õ÷¤Ÿçšùí~Ÿpëcs?mq_ßJöõuæälößt÷ÛØw$žJ·Æq³ÿÊvæýz¦÷é|²Ýì?UÚ~èßšÎ[Óyk:ÿäšÎß&ìú f•¨Ìvæ 6¥ïZ‡”aÂ^æ&ì¹ò×à»Ã‚…Gï.ü&»Ë?£0aæÑ¿… 3?ׯ0aÖ¼øËdׯ0aÛW˜°­Âƒ=Äðb f}û÷“}† Ûþ8LØ[U tõ¯° ³”0J×õäûòLO˜¥„Qº÷ßÃ/Íé³”0J²ßá—FzÂ,%Œíoá—FºÂ/ù÷±Wø¥‘®0KžR;s†[šÒ9뫦Ùôu6«¢YLI»Ö‚/sq0ü$1T\âÌfC¢Ã¬> ;ž_sÁ¯@«­skŒàç$1.ÛÐêcއüܱ¥˜Ä'ÓãHbÈ>×ø,$ñù»¯³9Ù¦[§$+Þ¼Ér”/W¢¾d0·ìVp5ÓHZ<¡¶ìªpÎ*rçÊ£ØëÞ®c²ŒÉE‘âÑùÆh"±æÔºÖ8N±¬9žc//HŠœÒkÞvÿÎ<n™¾<¬æí¿²D!y4®]Û'kÎ%ÛàÑhùnçÊß,}s´ëlÉM#ÂüÄÍ?õןëz ® –¯Eà ‘_ê3Þà!üŒx7Ñç“å ?Ãkæ?Òœ|í¿š.ý©bïúcàG’ÈŸîT0ø°sâïE·g|®z,QzŸ¡œÀ›.<´j×ÅK¶›kÊͶ›ÇNœ¿ŸÒøö±½ðý+=ڇ͵0O½ß÷¹ßpL½š÷;ôêãŠÝÇ¿z-ÏÕÓäV1.Ë‚åß+kžã ·®ãD¦c ¸{D»¯wx4¶¼Ì£1Óùñ½¦9oI/®žÌÁ­õú— G5‚=ôæÑœ¼sýæø1’îªpëmùâÖÎGÉ~¹­z¬’U­>ŒJ-—&.–B aû¥u‚·Ú¢Eef¼öO5K©OÕNbLs ŒëŠh.†MÑ]y5©‘ƒK [f‚ñ¢ ^ˆ,ܪªº!+•&U3‘3÷XØ{ µôÎ×OxqxŸ¸5]ôçàѬ*_Óï•5Ævbe85wl7“Y^`ØðÅïÛpëÜ­ºÔΊ¾Æ)åzÖ,½êoÿZÍôâfÍK½”éÂ:™˜‚¹æošGmÌ«w‚Å¡JÕª©Ý§eâÝ> ”ï²aî¹²…7âŸeÚ?Ù3€Xfÿó0à îõ:ðjy©K)t’Œèk\:%bx´K:½´ô¢Â mS†^ÄPl¼Å—ÌÚï¬T+DS(ò6“ã$¿z­Qèåæ_:*ÀÂ)TÞ>…ö?^?G2Äxüõ`;¿=Þý¸é5àt*¹=°jï=Öâ ÿ^‹³ÿµ8óçX'¬y*¯ g]±ðÍÐ÷ç÷­¹FÍc-ÎææÍ»'ûX‹3<úÏkqfûæÑÙ?ö˸ȷ×â¼ÇÚ›Å·éø–¯µ8u¿…¿ŸÚîÏá¿&vh(Aⳟü5bLåÍÌ °5…¹WÈQ|;Öl5ág›©?МS+ éµ8wÿ-B?…¹×¡¸¸þð¡"ÿÜ|çLæàó4¥Yq.äcxÈ÷h¥I&1ª ?¸Ó‰h¥×˜.õ4³?Øþ‹Uú3ÌBE´™…j“f¾CñäpÅéKEª"ÕØšßv [^Œ÷¯¿A Od1r¿gØ•µŽbø{ψ+ |êFÓ¶WïÁ¿Ûz\)ïtßfxÚ³þ‹³ó/e„ÅsʧÜÒúS¬²•¹2LžFpc @+Nx/c¸0DR gÒúïÅìz3X¹þŠ(ÈŽ‰î¬õy^ô*UäNôæöâ6׫W!S6|Ñ,•âÖSÀ‰þ±¾"'w“ËÄkàSrÌuž,ær.ßÍá{ç¼ ãz Êþ6ŒiNÀ8rSÍ2&ÔG_;Ò~û©YСg&Eç ‘Ì]ƒZr éA)YSs4›MUS×è2b™í|þšç>+霾ÇQ!î>á¢4§f„â ­>Yýñ¸HVŒ:^ÐÊÛä¤èÚÝZùæ9îŽo‡¡ZUÃúôÅ,Ô&HæQvyÐ7/YѾ­ % *ç[¥Z:8€¢„m Bå$ T ÿ-tüB‹Ñ)•¸˜‚í‘Fµêö&Óê*%càM–õTk wŸxôîãÇxÍäÇxN}z y~Ÿí/c ¸;ô´ÎêéäæÑ˜õéõUeÃW ·>š’›Gï÷óûÑ >m?šk|Ÿ·F}d>®è~x yøáä‚üÖOÞúÉ[?yë'oýä­Ÿ¼õ“¿¿~’÷g½OÛí5t›üÍËþ "]bF{€ˆ&ï,+Z“t¬wOæ‰ ¿ìÇ ·nŽ:ÿ¾Çß÷øûßãï{ü}¿ïñä=¾{€äî›@ÚÎ|_žéY3á¼&;ñ¬¹têËSuš× õ2°×ò´YOtŸyôí®“åW­%Q½õÒ·^úÖKßzé[/}ë¥o½ôèÿ:´,4 ~öC!ÀÐÒ'>éåœxô®þ®âÑ»ú¿ê÷Þ¾'•-~8 QÒ£»ûŸbÍ{ú¯úÔuó4kü¹u»žßn^U±¸5GT·æ˜¬é¸¢·]ý_Åw‡àYå¯óuÙlU÷Ü…ëß¶á È–›®Ä°ÂƒÂŠZrAÎk²ÆŸ¼ÃÐ?wv8£•õr>2M³€ðz8åFäøÌØp®.³ ½i´ê°æ‹V:*n½j…2›¢§Þ‚—‡ 'H5רº'kîIÅ£Mô˜-9ǽ/ƒG³˜­/Æ÷vÂëâø÷(a‘½M¼t£vðhå¯Á£}²Ì¼êíd?áѸñ÷:x´Ÿ”`¼šìH̼†³=<¯k„G«Þ3løÉJÍàÖ(Ÿ9¥Ëvæ˜î5§÷¯ã¥8ÃQ(Ã:Ï(“Za´(†‘š–TÐàÈ<)yòàè!áv~ÎñKS°¡E0,ò“PÏ(ûIÞöïm„b,fÉ!šÛÓ‚ ˜Œž·¾1°ó,l‰1œg™ÏëôçóNø|úY5VVøóõŸ{PËÏü¹Ú‚³›æ–"6‚Õ\ÐjÓƒkh…œrœe =SÂÐj“Úf¸^sšŒÕ5›"Ъóp'ÃÀÌìV®‹ï¼ŸÂïŽO^ü¹‡1E³òæì“ŸûŠÊ3­‹««êí"Ÿ\cC±ÆX³ã;·üœÑ‹nÛ` ×]Fª$öŠú¹ŒáƘI|*È?˜Škú9ÊO±Y‰–ÈÜ[Ö[Gî ŽFŽAómú0¥Ü××7¸¹³^ª\‹åScë\ÁÃÆðÒËåTEÝÊiRÇñKáqp޲.—Rë1ªß$MÊ?· T!iRÞ­sBî_=B>)ŸF*~j|>Èñ&ô ƒº]û¨Ú&G~ô½k†ˆZbŸSÖƒu¹i*ú•Ï+§!YHáR?hä­œëõÓBô™ûñgà?§ŠZïªõ>ÆßEkMæ/€¶& ÏÚ£7ðÓ™µx?uMÓÈŽ¼8¨Ôç•ÈòÊPŠËqÖ7­d÷#Ð eZ!~æq×ùätêL©à Lê:U¯3£º5×"0Òo¢àÒ›†Ï/ýÙé©iÇtqbÁ„ÛÕÂm›l¸—Ù-ííE×vͽÖÉj÷ [Õ\Þʶ¸Üž#ÝšCÔ&[¼+JW¥[_^ì+¶ø¡ïm°õHýÿÔ™;ç$›—ÆPúeðÒXaŸxt×ûâѹ^áÖ¹.áÑ9ÿú]¶Ó5ÅÀÇ}©ÅÁ•9]-æéDû4Xÿ԰£CäcÆ&O?߇‘ŒSQ¦èŠb§¥à@½b8?ãøú½!WrPJÅ…ÿíž•CfÁ"†5TÆŒZ\”#¬lñ>&Ï1Ý—ö˜l8ß×^%ëXJoX 3’ÍKŸ,[W‡G·¶qâfñèî)k±ÅÕÒéÖ‡<ëe‹kdÆH·ÎñÄ×qG2ǧãåÂM½¬ùªþõâÑ«8*k¾©½xôæ`eÍÛåß%p˜uóï'«ñ¾ÒáѾCZHÀ–ýõ‡ÆKÄΜ÷”Î…þVÞ‰²3ßïgºã“pÜ·+ˆéÒ^ËÓîª]q{áÑÍQBg[«êµÁ£»äͶëíÇñ áÑ»çõLVã)‡F¿È²NÖüÌïÌ£ÏÌ6ã+x0<:ùìOÓ/ñú __áë+ü·ù QÿqÕúó830"ÿŠpUF}Þ¼üî¯,— /Ú§³«"Ñ9¾#Hbź»þË+áä±  ˆ•òwõ²ç/ÑʆãÖ3æcx4âat|Ø4ÎbÕ2œ‹ÿÑÒÂ$6‡âA—ö‘q­íbR­õ_m|QŠq¿¯‚Rmc˜½‚CÝC­:Ńq?&ºk¿ûã‡#ŸÍpËFkkuáv]˜âÖ]»Á‡>Úã Ž:¶lÔ·M·ªAµº4ºjfuÝW𠔈“¦ /±ižnåÈ××-÷‘úL>Oé‚?+±­›€>*Ïè£28>²Ï[@U 7ÑçŸÆð—øFƒM÷De=´¼p?®âѸÔ:ÏD|Z!ô|ÍOVݺäeŸ¨ÜŒó„ð¨›ÿŠà…¿9‘b»þkÄ·|Ÿ‰h…\Å$àÄ\ʈ1ìh1«ƒ/¬˾™@+Tü·2†7’±¥²^%?÷.+ÓÈÍ9"Öxõ¨Ð1‹­‘“ÎçÜ?wbßýWD—NDŸu‘×î‡RfLÑ}/[¼«œ­ôhŒa-Û6œ'£—ƒSF'=ÜúÖ˜´Ü&ßBÞŒÍ Ÿs”YÅ…Ûæ¤ôɆoªT/m—jNÑ—‚.És:õÒÞ¿ù8ž£†f¢ÈÐ*‡T†V¨Pµú¦ÚNG}Ó*ׇ—à|Þ³a!ÞÛ$èÖkO6fÊzêªD r*$Á]IxË#;6ÅðlOV6˜îÅ‘ji¿hYáÎúcQËn‡Ëçs`æÛA%w?ñ ½È8ä¨hÔqŒàÎáÇV¨œÃ¬‚Ÿ Ö_! h6³@qý¥0•ã\|f‚Vþ™˜ìÀ¥ƒŸp,¥ÎèpcÞr¨ÆClxÿU+Ü£AmÝ©‹£@íOÇÉ:–ËüÐ@ôJf¶Ç5Vò—ìþ/Y÷k‘ ¬î®1–ý¾ë±áÎþz=ç~~‹GkwãZåšž¬±}r縆Iϵ¼Yud\.*Žú”ÂpQ° ¶{NùS™Ï?7ŒÒ¦“™Kü}<Ä+MSÕ=ŒØ6H1©¼/ür1TˆE¬žr;ÜÕº x)B¶l–Ýð88IÝ3˜<À•ð´²^xtË÷²yïŒ µ·~þÖÏßúù?µ~Ž«;êpµp<ö§æÊ@вáˆDº·epkD{ì‰RÖüsYwœfxôç·;Wöh²¨,0—aÇ=YóO´3kšG£kŽÑ²âUçÅ<šÎ¿s6ðr MOÃ1¬¯zŠ:ü±á¹.>?Tweq=úÄ­9‹e<Ú×k\Ÿ7Žƒhóhï§Ž3ÇåóyÛSo{êmO½í©·=õ¶§ÞöÔN{ C—LñâÈIv÷°á˜Œx/ƒGs‚ö1l8.Û9ñh¬‹„'-¶xãÈÓ‘n<Ž[Ô Å\iI0kqs`LîÆIuì\§ö €ðhN⿇ Ïv£q>h•ņgÿÙߪëªÁmðÒ¸Ž}ðhï¿î‹¯7ƒFÝgñèæýŒëäëâëø¶Ÿí_” Kþ>Ú¿fÏö/FÚßZ ñ‡ãH $|Xö ë‹õsŒüÙæ I»ÁŠŒŒFfl¹òu\TêsšKþÎíó?l}þ_´¯ŸMø?h×¾¦aºÀ¹RRþžÄfsëøßЊx6×ùáÞ0{x7ðhÿà*^M“¶Ø#ß&k~bðí1xôþõ¥M*å“GÐÁ5¾a°#—0öI>$s1MþÁ‰‹~-rúÓ¯Á­sðáãd|÷àæimÓ ÛJ(P‡’”>&\¼Äc@Gu ž°J¨&¥€Ýð÷•µB­0ºb‚’'¼ŽæE¿';q‹™Ò7y~ÚÌ­1zñ/äÈÑåšúUØ{ä›öG¾­×+ð¿÷ \YœOT²iÀJYc¬$sÍöÊJx?|‘[óÅ´¾Î…×¹ðå\øÃv0Úo?^«ô§ËÀ²dúMͨFb¤›æÕBýqLW§Fþ ¯Âí07Îø”óp3Æé°ýºêïÓå@ö?z6¬Dä¿åqà‚’ã ×ÉçP®‡PŒSŸR%í§(wEèÏ>'B=ŽÃÇË#üjÇÞšw&èf°ÓÒ(V'O̳ù,˜+ÍËØ0FrW/k ‰Dl8—R;^º+9ãƒR°pë6IØ8y‡ó ò¡Rºªÿ‘®ã/OZÉo‡ÌpÀ<ž±/¿Ì·Ûæé´ûǼ6ãžN£–7C¹Y[Å€NíV«xtòdx´ó–}øñêz¬U²¢Í%“P9,)#ï)«Ò.…[ý6)²»¼Öë'ßNÙQPúæUBô—c¶n²ïwU \(^ú“Þ–‰Gc{ÓvJïªäúÎ(;§p²èM~(ˆÉ¶¯Åú¯e ‰§§¬;öÓO/fõô”ªJ™C›!Uͪú•.«–c˜¼CËÞ¡ŽacˆIN˜fl¹²Œ)š9æh“ö5 /}ó™AËË™5,OæQÁÌ£1‰yæÖŒæ•@a‹_^æ$éÑ Gu ?^_áÑð4yâ0m8Žc›Ò£q¬Ùš¯%°ÜÅ£¹Ü1¦Q¡ÔGõ¢®“®ÏàÖ˜p‰!÷á¥á›¾ý½ýhïE̪åŸo`Â[ “ð}6«›¯»[ôyóñn^VoÀ›6³bÅÿ´Â®h AüÓâÒ,ä«lq¬µyp‚”&š~ÿÝ9ÿø“ëný Øø–×gôª-þä ÞJ‘ØØ ¿qmÞ¤P0 Þ» |“ðÎay­Nö‡ù¯ÐÎI[fh“õ2†\z”%úÏQiOµ«‡ÅëES±“ LsÌö Ô#·ü%99CJDŸuLø™—{e3ìT|ßÈÀû2<WöÚ‡-ÞØk7Ò­O5a³µö5s‡5‡Ÿc›xô¦ˆ–eÃs¸áuø:lΈ<ÇÞµUÓHç>S+]›Í½³\|ñK®_µÈüy¾ÈmÀ—ý7ÒI/}©9¢X'ªés!úCíƒaÍyTËàÑ W|LÖœ3n¯Á£/×ê÷îÏ>¿îã/½8”ˆyôñõý:_]7_§Í­ãðèMƒGûZ„—îªZ·ÎñÆÖ÷TuvâûõLßݽª·Qõ6ªþÇFUs€Ô–«—Á–ø¾<Ó˜µ)lìÌ9KfJß=LðPdy.ˆ|)€,íµ<-¹Ï}(pïlÁoÇІeu}²8/öb}¼ְ웘,ùªQƒÅ£ñ¦Åí,k¾åwæÑ›?Ùæïx\áuý}ŸÞFðÛþt¾­Ñ·5ú¶FÿK[£osò/ÑU…®£t%±« ¬mñuQë1éÖxo°«Ë¶ø¾ª«+éÑh!÷ŸµUÅ2U¨ë¶çõ°§ÖÖ¯8…8ìáMø{|cÛîVñèÕžß·5÷¶æþ$­¹·uð¶þ­aA¹Â=W–ãǰÆ—^+jÉè,Ën³ëüm#ƒoŠéÓ¼à9&má}ZÜ,TЗFîBu¡xiU«¸~Ã¥ÙçíÚ¦ý‹í¥‘‡³×ñtñ¡µ=ÄúÙÜ«È%íŽÕ¼”ݸˆ’Ÿ‡xŸ.±¥¯¿i¶Ã_0°-^’,Åh¿­`p8ÃbÙÏ­ Õ®™Á™ãÌY‚ë/çâ«*ù+´bòy˜rí’¿F˜ý½Œ»ÄÊåRw§l8¦y¬F³k¶¨ÈyZæc;æ9‚ l8Öa Õ…+sX¯nU·Fd>œèd*¬–„º;*\ÐÙmÙp|FÕ(¼´êªewÅÙm ¸5ÙpÔ'ŒÊ¼ôʺ$‚µà¿©¹Žz%V°Ö¼ëE\<šaÎÎa‹ß,ÝGº5^æ`Ù­6ÇÐ_œ'C\O5¾by*~Bp$‰ëGîœ<.OýËú¸pÔµosë:Ôðºq¾Œ!µæ)Ë3jéc µô‘ú1PþÇÂÑÛf±©Þ+fáRDLÂO?‘Ë•Mq8Hø™±ëLôyÓ~Iü¹óŸÿ~¸Þˆ>ÿ`J-ZDù¶»ù°¹yáfGøµ¹ùáôèÃÍØðmÓï­áÒȼ<´~¸ýtå)õC ³qù;ľX8¦åïªÀ1¬I YpB½ÿ1xHgµKK9mÀ•Û;Þ§˜}}Éñâ!ã6ÂÇ=Ò °¯b¡È¯ò|Trtï®®Úâ…‰Úô×f·D@Œƒ–ëæ.#t2ô‡(|>6bc@lúé³9‰>ë"3ðó k ôÌE$ÅONCõúCP”Rñ°§¿‡|ÿý.f±j:·MÁöH£Zøâ:äÂõGUª®m¸ªXÇà¥wWåmWWYWWÝ˦*«÷Gñh®uLvâ¸s:4ámžy/GÓÅŠ$+…±ÆŸΠ¦–(PË/kìAYa8jÔ”xŸ– =*¹s5v†6ÚTMu¼ï™F*$•é$qZEþH' ú‘D,͵`ԡŲ­¼KΆ\9V‹MDþì<K¨.mðî&ŽO¯6#™­9´e]'G¦¹t¨ Á"où9ᣋ gØ xk‹K×1– Ï áÖuŽ*7‘Þùfù¼ZPß+~Øc}Øc>Ûu*Œ‚‚ù”'±ûÎáywó®{u@MîÉqi¨ukGd\óh,Å„æÑ˜¬³oã{ÞÎØ~®çt~,ø;ãçÀ¥ÇBÛYF ßÉ»îÈ:S’âUÞ¿ÅÙax1›Š³s¡@Lš•~¸ÿjZyYG:(ëùÌÃ+Åj1†>S1 ]ƒ)‚RôTír$E[¥*;œG‡>jø»jje‹ïrWº5nVÚ‹-~ðVtëæï„G£Õgkwò~ ½ªò3ìÉ<¿m'œ®à)=šŽÉÉßs¤K³ÖŠmÄž :‰chË>qéú}w“‹}UÛtpk/óâÖ<Ïûëüï:ÿ–ε[](žøh– ¿]Ë—æN´—]ç”n]ça[|õ±$=Zç×nÍ÷£û‹]¾ø2Ox´Ž[5ÕqTÍÌîçÏ^J´”x]½õ˜<_ yy±"é—VU.RÁKå$5UYXHÝÉ•5W0å#hZv¸]¶f¶£ø­‚úá”h§Ä:QI„ ¾'º—hþ®¤FÛóÎè'-χէ„õJ>½—Äž™Å—uœBŠ9=4ÛÄ­}H—Ãd‘§dy8L69L­°4uþ1s˜JÀümËì0!+ïÈÅ–™Mgç±ä¯{Ã,èÎõ%caât_Dwú’E.¯¾Ìrn¬‰>³ÛÄÄŸ[Úl›š$Sóq£ÓÞý᩻ݾ FŸOqkÍ Þ† oêt+ݯ§eérþ¾sŒæéÛ^ù…Ï6òÍ¡J@å#kx:­;ßÎyU¾ËyzÄRqëäg:—;“Öߎ3¼œLÅãÉô~Ð,^ïÚ^}Ïá¡YgúÇÜi¿¹6½×Êíds,·SÎÙçòºþÙ»í;ôomFoŒ`­d9luñ_£•ý¡êîw;·kØó¾MTòó¬`ï]}}°jÈêñ.Ýä¡Ü:[-nÝTMÛWçØ¿çÃØ8lPKo¤É²2ÀaçsŽöAl8ïºfu-ËÁ{Ó÷bÃYv.ûàÖXâ„ká}ÑÆï›«òá¥9O䜸5íúÅWYû¤Š³Œ=8_ãÁ97F‹Œ´«ù¿GtÖq5ûÒ¬}üu3Î sà»'Îu®îÉŠ³3¥Gsôtlñë+ݺgÀxö›í©c><ÛÃ<•Á»çÅÜjÅ¿Ýz×°å⥟ùèöÈ 8xðÓd+ë•?ŽÁ­“-Çé¬:eŸÖ°æ»F:ƪ |…Û†³AzOÜÚC}†uuÿ{;áY£¸5¦FÝZ¾IAÊ/•Ûè}H¯ œ$æŠò~ nÍÁƒ\ð¶xŽ'éãø° ÙÞ×ïÛ ?´¬YñèCà Æyé|ø»{}îÏšûC ½»ôÝ—i»æ¥µ}4;9ïôüuhÜÌ’¿F+׬0³€¿øŠQ-ðñ[£k‡Ih¤ß/.Û¶¨›€ËˆŠm.Ádlé£ µœ÷¤Í!ùÖÂ$¸8Èff¡ãa|÷ù3GBç”ÙöÇUËÏø£V øq©_g³p÷ø¯Ñªƒ5“x¼ê„ò.Ìë¥J2—lhÎÂCp),,{ŽÁ£[¾çGÝ%Ì6Þõ~qù‘—îómK/ˆgu5à9,:ÖüÒŒ¦`KŒ£Üè¯@5ÓJ·+´äÂ6¡\òe µ‚_áôß K 6É3rkùîEãµiÄ..?D¥¨¶ü%Á¶Ú¼á–Íçbää±b ¶kŽ™l嘗†'#m‹ß‡®AwÁ}O:ÃøÄK#o eµÙ«Ôæw6|½í51f‡ü1YsŽê”o-uë¤ÆXc´ V¯Bƒ—¹&›ÝòJ^Ðêäºþ+¤åçÌ,´¸VLàB JE.ÑUª~¡—5ßÕo_<:—46<—0¼.õ­7ZìÌñù’$¯\”}<ºi‚pñh¼¹–y´/}=5~Âüø…Fb×öÎG>Êɸ¦RÜ­µmŸ¸õêñóáÑɯtsómÅ1Ò\¨+ÐJY&0H¹ÙkÏC]³ •ó‚a2³„`Ö¤éܪ8‘ø\Î;„ŸUŒ"çgóãïm`œ5'™ìIp{r »‚£Û6¼—yÖyY¿Ï³ïä©·¥ô¶”Þ–ÒÛRz[JoKém)ýO-%ÜÚfß гWðz oðJnƒGsèÆ1lq¬@ºNéÖx©brëyËrñÎU¡j×ɆïèMjƒGc<úÂcÃ?gͨVáÑ(–°¿Øâ›¶[éÒ\<³ñbsð–8îaÃs]|~ë­óCKdogñ¡?×i™x´¯W]Ÿœ7¼ì}<úöïëxu\9Ÿ·eû¶lÿ[Z¶ÿe(¼¼ðâEƒé<ü^† g½ø<º+ÚӰ樬-çàѨÿcÜà­1XZãÒà~–ˆ±æè:CÎ Æ«›ëˆÆšw½›‹G7Åò+Ž?ëÁæÑ\s~/[×é>jÁ6<×Åç§P &¡ûÒh˜}ðh_¯×Áògt°T¦Uf¤‡ëjšG7ßüÊ<Î,•É^OÄë‰x=¯'âõD¼žˆ×ñÏôD`ôùîI0ŠÿÜÏ:vâŒ'=¥KßjÑ—œñª§ôîRy_Ò‚_4êU…ãd<ëÙ’#&Ã=ñèO¶Þû'6üâñ}3žõ°æè“æ#eí–þ°æ¤wžƒGÃóзɊc=zýN<–ž„É*wx´ïÓëYx= ÿ-ž…·I÷'lÒýw¹{4Él祩 Ý šÎYgᛃ§'=úpÐô؉ãþÏéÔ—‚§Ÿr¾¯¨e¢ÏöZž–üVPôâÑ·.³MPu¸—£/O,kŽ)>í<¢‚1VœÁÏPŒšG£¸áÔϲæëáß™G¯þýd›×\âõÎ}z=¯§àõ¼ž‚×Sðz þO<ñ|nÁ>.þûHÿ[ím½\ögCþ“1FÛ]Âí}1y žÎ %…Y|Ë0Ôÿþó.ü¹gJE~05*6¸¾6'GcÊè·ï§‘Ò» «\Þñ!)˜Ë÷=²$‚RÓ9bl‰_A[r«{áHߒЖHý¸ï &›-Œàñƒ‰ïŸ»üãžYsœÑ¹ ýÉ ?ŒZ[’ò¹ö?|’’ðÉö?ˆ2>T PÿçÒ¬Ì,Ëð)4~ömðÒ:øâu2>ÈŽS]Y¹äI|òë'NVB@JRÆAê˜êVÖ«ß&¥@vç ^Y­~:ßfÝmf›³MÙIÙhpëOûô§¯ƒGÃîÉïvÉ[&2ùÝDf¿›€áw(¿ÛzÏþ»½.šnóðºÉÇr;hüëuùßz]rÅQài·Ë·COVJ‡]¿·ÚÜ–jsÇ„~òóÏz lÙ¼¼I÷‚Aý×6ûs~óîf3þ¹¿£ŸÇ•$#ÆHâŬâ’TÔù@«ø&l ñömÃo!egF<‚v{  cûÓ%à­‚¸¬8²ßæÑX¸€ïŠéƒS>öƒ^$!àì*¨Ç‡JÙTr¿î²?£»¬ó•Í—æ¡WÄ3™ytrTxå0çœýæû•@æ¬ýÐK¸ TþHÊÈ9Ê(|ò¯mgl”•PMÊ:Ž/‡Ü1;äŽ?tÈéý0Þ?¿CîÐ$¿‹6ÖùÖO[Uˆ`Ë”ŸW;jŒŸ†êÞÛªãJå7¦c‹ÚêXŸ¶.žÇ}lÁÐJ[Ss”ÝUÆ^sѬ«þzª^OÕë©z=U¯§êõT½cZþ¹cZþMËTü—{ Þ±ïØŒ·±ùŽÍøWÍhM«rè\ÆÐ#[|Õ„ÇJ·ÆJÇššÒŸäÛ”ðË =÷µÜ¼ Ôç¸/¬Öª¡‰6dŸïâ '$Aïÿc†ù‡•BEFß"²¦ ëŽV0Jÿ64òå2aÉÏiZLwÕ*ZFûҷ᥷'·æbŒÕèUŠ/¿j1u1¹á~‹-Û¦tk‡¤.ŽU$¶‰[s½Y.§-[ürlñ¤GŸZ‰—>ÑúÈ•e«å<5GþÕ|¥èÎkU<ú{ûÑÙöW÷NƒjƶÎþý½ÜqÞJ>ˆŒïˆàÎŒ…x´Rf4LÖTÖcµ^C[:}{C¼N‚Vð4ÝeY ¬4)Vëbð€¡$Ùv­¢mkŒJûÏdŸëÑ¢U}´b¶öß ¹œ"á‡-I®l±h~ZyŠ{Ñë[±Ï㵂„šO˜ˆ–$&1}N+VEú4“@My/£Ûðø­ïŒ.;¼<%¼côº— íž5lÙä=ã äU4-;ïÁ­1e/ˆâÖ IŽy\áÖp— copi4X˜ÙíùœÓö£Q¹ÇZôæ¥wõ‹Ÿ5nŠ1æœKL»±æâŽÈóáÖX$ÍÄÁ¥³{z_î6ÝßwóÒØV[F9·ôQž¦¼…;î¶²æ^ײxô®ÅÓ‡5Ïöã½–Í»ór—F9^¶øm}ûóýL/­õ4ú¡%¸×çÇÕ[Z›¸5WÕ™¾Ý´æ@ñèæwTí×ûcSðž¸õ÷÷£³=x×ÉÓ—ç¾x´¯Wxi]/æ´)óL*ÛžäyÖ³èg“"Σ¨•K@))>S`ºlÅeâTß® «”¬e‹²ÄŽúRÒ£Ï.kŽF*gM§éqSö‘úTSn¤\]X úÁµ?ص¿#F/ÿ ï{8?ïtÀÛè¼@å oó¯zÀ ò‹Üì6éè"ã*'?ð”5Æð ÔïA£P§¥ÛHPj:\Ÿ ÞÎð;}Nu 4¯Û0†¼:eÑä>Êä›râܸ¤¼).øÅÆ`>Ÿü'ÂϺú[¤.ŸÎÉ—ãd§Í§6û9ÿa4f~¾¸LˆþšhËâü¬=¢êÚð¢ý<÷CÁ›è3÷k¢chºuAÑ+Á »]V¯{O7@Y —©“ §kf`Iö>oÃwþH•äÌómØàU½J¶ÆóÊe$lë{§jà»N•Ž p8;àâ.}?ym·)_·æ uâÑÞGõ’C]Ã¥¸n=BšÜ°²sÚ—16íú»Ì£9P£ Ë,}ý¾súØÐB9ìÛí¿òm+Í…&&^zç™2K×àî6íÉmâÒm•Ž}ð¾M¿÷~ør½§ã°>Ü­QÜ:Ç™óÉù&;‡WöNvÞäPÈý©ëi>]_:­r]ë:¯ZÖͼôµÔºäÑpv +‡Gsd×”^ÅÑýÅ£õ}žËâsZÝeÄ<'N­s<ç¶OÜ:÷1¼î«®;Úµ,NQG§ý*vg¾lÏtêöä)žÙ²ž¶ýՋů)¿_ü†Ö?¾›Qìz›ÐozHCzf†Tý*,¸Q?\µC-×s|H ‡J¢×|¤„À;þÃ7P}¨$ 븦¤">p¥9¸O§¬í’râ¼Z+[œ‡´ŒtkWÖ‚Swseíd… þG¬·‡AhwAU‡+1ÒU¸Ól6¼T Uû[±ˆúEW#Ú§¾C†Vü<¾©Õà4þiêÆý¡«e®a‹/¿Ž)•ªÁÕ1YQ”ïm@ËOžÓëXe‘ß¶^YF¿Ïáb”ËV´äºq€KíÌÒ;™¢ò@eº€–;tª¢}å‰at¢†¯Š^éÑÍNÛØp´Õ½ö‡œ°Ö\(ù5qÕ½ýé$s‹rvy}?}¯•—”ÛvÖšŸo”q~á¾þÜןûús_îëÏ}ý¹¯?÷õçþ³ý¹mézë À·ƒÜƆŸúÐ9×1lq®të]Ál»ƒââ5½3û)nYs,о·V<ƒÿƆcåÒuâÑ»ƒÿÆwpàJ·ÆÜÆX_'\Rú£csýr]|~ZAÛ 8¼´ƒ‡GûzÕõÉõØ¢§xts°å:^WÏë7ýæ¯ßüõ›ÿYüæhD+Nëîৃ ÇšŸ‹ƒ ›GÍA…mÃb~âÑ ¿Žrð¸^–…sºy»œ ²áˬà·ƒ(ï ÜwW6Æ’½pkží„Gˆ]Ö<ûÏþÖÃöv£rjŒb;úàÑÞÿ¸/§ãç+Ífãçæ:ùºø:¾ý"o¿ÈÛ/òö‹¼ý"o¿ÈÛ/òïéyû'Þþ‰·âíŸxû'Þþ‰·âíŸø ÷Oô¦%zWhzxDṈ-®ü#=z·Ÿ?vp.0¥KŸZ2àÎtí®¥î®%&+~i)€âÑ—–˜,÷‹[rµâÑm9¸$À°ækwóh8Ýû2YsT£ÏsðhLfDóº¬9¼Aüytóï'Kžëûôö7¼ý oÃÛßðçéo ÿ[¡z½ýp4}Û™ïË3ÑóGÍ·9C”NéÔ›¢êr0£ê³7ÖþükyÚ]q-?<öºž–QõGÕ7Æl*zŸbÃoGÕ·¾GÓ·5g=“QõGÕ_Uq4ýaU©ß)ª¾õêßOVÜ×»x´îÓÛðö¼ýoÿÁÛðö¼ýÿéýÿÕnÙ¿BßÉßò ÿ-ñßôþ£>Ä/ßÞo>¿oßà·ïðÛ§øí{üöM~û,¿úˆ~ëKùîcùê‹ùî«ùîÃù­¯ç»/è»è»/黯é»ꫯê»/ë»ë·¾°××ÿíëÿÍþ›|øÎãž}ÿûŒ¿|Ë¿ùœ¿|Ñß}Pÿ*ßúßëëÿ'ùâÿ>t®»ÂõW>/zDVü‘?(bʆ^{}æÖAÝ÷éC¥lŒF>}Ã˵`P`%l®lŒ•²xÁú†*,ˆ”>}`=è·VI +…ç”TDÑÖùƒ“ðþ°œ¤"ªøìëôáÀ–ÙVG}˜J »ÈÙ È>ã+¢ŽÔ§³´Æ °]n­“ß¾/Ë6. Šþ äí%lGžžœØðÝ-‘ð}´LØlÝ]íüœÌµ®S)~¨J_ÜÚ§ÈãD¸Õ ùÎÞgó)žóóqÿ7gxûYÞ~–·Ÿåígùõ³`6߯—D€?»'¾1ºÛ¶(ÐýЪ_RWÞ5ßÁ¶ø•U}U™åR MסsuÛâ¨X¶)Ý3å®eØðÏÿ¾ïƒGàžýf{9þðÒ:¿ÕÑíP5¨~ã: ›V ŽuVÎcðh޾X&Že?¶‰[;ZrÙâ;û«Fzô↱óI¥óèƒN‡‘¯¢•ÿÞþ£·ÿèí?zûÞþ£·ÿèí?úé?¯û¯êã\½auãëoõ7á8ÑXæ8|û|9– ÇlÖ£MܺÙ3k»³c†Íô31œù¦¥ô¨’Dqð^Ȉ¡‘»Yð}cö¹pK¥Hà÷2b¸¾>„;G–ý:‘àã^”ŽéeêšèK-dÞ¡Zü×HÚÂ$8­¸Ç²º”‚ãXËr]í‚V=,“érÀ YÖøBÞáj’;Ñ S/®š7讽Âe$ÓwEùÞÄà—ÌÛEµnôdl>žepëF'É1¸5#›¬Ó÷­",mpkDFi\\º³#h|?£”e$|ÖÛô{ŸÚ>bæÖù˜sÆÃ¥³rÌ5¿WÞþºNæÍÉ Z2×q\Wññ}móÓoµ÷üoQGœmxrsñän:ð:Æš7.3Ò£ËgáÊÊüÉõX8,‰…a “€Í1 T†Öú­Äæ5ÝÞ±Kkƒ¢A5…‘Š[£$æ"ƒáÖ\|k‰—® [Üz»xƒÃK#ÃOÇóЛ^,Z³L߯í™é[Åo$ì•‚P%$Ðb¢Ïô,˜øsŸŠJ~þé,/IôùK̡ʖ?´´ÛÖµô›mñÏžã§Ò£w-ÝV6—.“ «èRé—R/û(“ìbSñ?ÞkÈh(bÏaÛ›Ä籄âó°ó}.$u±I&…Öò¦aIœõ6íÙúB§õøzéUå$=ñ÷>ñS¾Øâê¨äLVzˆ­1Û¡÷ÁK»ÕöÞÙÏÇ!#5rñÅÌJoQP‹ÖμQ­ŸÝra¿‚QÞCNý»»\‘ÕQóè~xNN¿³È­ËW—Ǽ´/+ÝKU@ô^` ËuæÑh¶8´ íÌQsœÓ7 )Öšt²õ=:;&Íw›ýûmOŽ#<:Ù'ÜÚ¹ ýžZJOQi¸šå>ÙðMC²ûÒI/nÓêê ¥õÐ}2¡(ã#Ùu2Q{ ‚#µnY̦cì*Ãø­ÝǵÄrÞ±á9Þ߯‘,A?W¦Ë½q #ÆÕàéØŽRJ:æïq §Pq XPí0jA¯‰a*KA+oƒð×ÚÝZùxe·ºdXB½ŒÚù±1Ô)˜YèÂärrÞåÞ>¨å¦Qm¡–Ù¡i¤ŽÍ¿ôf—‹¬n¿jOð00Kc x/Ç_#v«…Ypèa]·Jz2«Ëâ´ZY}ÿ< ð\îEýžlñƒ%ÔH·†Çg[\]À#Ýš¿íÃ_Ùé0Ò£åÄvâxÔçô¦& ²üx ”ýw® 8K{QÉœbpJ®Í¼O›¶öŠŠ5,ãÊT^LÖ¶8êçlÉ;=šÑïaÃO÷a„GߪÁø5ãWÌÖ§b¤ ­f©Öåw‹s Gûtn¿>[¶ÖîÜþj'?ÚÎsãºÌ­é£>Z½NöÑêèßnõ~o"Cݸº®ûq¢«Öf^ºÿÒz÷¶Å5‡k?ãäÚ“VÍ €zg›t:2Óú‰ˆ«#hG‡)¹‚zɆ7.ëÔ'.ÍFt¬9žþ9=šƒãÖ}ØðœpøÿMÃë«ÿ}ðÏþDoàç:Ô—Ué/ùåu˜d»þs|ÉBýP·þnËÿo}µÝì—kËýGï(œã¡¯Áƒ s+ãk˜õ÷ùµþß­ACÿËÝõô=ÝdÚÓ¯öt½ýÅßÞœ*d­¿½?Ã+¤vøàÒØÖãx­ËIñ7_mõ”êÿWΉÌ 7ÀÈö³ÿ·Üß Ný\ÿ@ÿæ:BZÎßv{¾¼ç/K[3ýmgß^”à±ßáðèì<ö»‘þ[#ùoøþ/}ƒ?ÿ€ ß®ïÓ/׈ÛöÅ­ãø“µùŸ®¤å‘s¾\J‚¿¹”mÿo—Ào®ƒo—B.Cv=¹¿œ}‡ûëu,¼Ž…×±ð:þDŽ…¼]Ú#Řy4.)ýñä(wq½2ôªø›Ž‚£ª8-ùk´q§™Dg³I“Žêç&ñÉaGþ­öFÒ›ƒUÊ Õüø-Ñèÿ@T#¾…ÿ ï?øó=çßH~2âuĨš¹þ¶‰Á7vjnlgr kŨÿoKáh V9·V­{ú¾5.0ÚƒKc0S»g~U JÖºÍK£önO9ù¬·é÷>-բ׉Kk,ð>¸uöCîJG£¿+—Iü¡ëüq+}÷qDk{ÊbÝ-u4›Dô9µðãQ ß“1ù9µð㻎ðb#OvN¥½í}¶ænlF.—±Å?9tmSºuƒí“½Ä1 eŸlñ“ˉŒtk ea¥Ù¶øÍeEFºõѸçû©ê¯Q×X1‹ÞUpVjçŽEt ç¯C†îƒÂ!‡—-†1ŸÆ3Ðçus}Æ0nŽáQÏñùê¯æ¹øÀ?9#àѹÇ%#Œ80ÂTƒô¸;Åbg|b;Ìçë/‘jßf¼Vþkäã'qew9ÝUT§¶«Ž/§\ssnÍ;:ÕͰ»áFó¶ Z­< GDÃ3TÐ ¥sý5Be£«›þ‹ùFýñC®ÂÏ8é+7Ïjûé!MoY|¿;øÃ­átÝ6ç˜'M >äÏm¨I“:µŽ˜ â¨|³ ŽDŒà­z…¡ü0Pû ¹V-jÒ¢‘t­ËdÍ‘ómðhúÏÉšcÖ=ü `àkä `8)®˜FhEwrA+ºõòVž5xØ.v• ç×þK¡„÷I;=ÜšµÁÝ3Åè“ö± vº¶ÁK_O^ºyæY¸5òèÝÎ~q1à›õq}ó¡õ;¿{ßËvœ×œÛýÌø)©âGeËÎù¥.–«¤F‰ç7ßô=ö·mø¶ ÿãÛ†ˆ(½ðíΡ¨Wh$]Ë<ÿ­‘¾5Ò·Fú§®‘b` ¦sÞZ/V´äæè ï‹ò}Q¾/Êÿɉ ç!”k3`Æ>ÖV.Žq€žéOMïÔ1lñUNÉJ·^O­Á|ÚÂkƵ«o­í\Ö^7ôÞ…Gs-„{ØpLq\'Î}ì/¶øªíVºôziç²¹N—ž• ÏuñùÝZ*eoÆC/\‚ºx´/׸<>m8=û2x4:÷ðû:\VNç­Ú¼U›·jó©ÚÜr“ŠùÂ…_–ÃCs0 ­v/Ý#Øé³JšÆ¡-,ä¸,ñ­’tÂÐ%N§Ò½ nMçÃæ\.‡œÑÕ&Ý=Ú,¶xçtk8Ã<ÀÖÕ®mkì‹ásk6ïÙý¡ºæäFeI]“º síÔ1æ êþ7UÎù}ÎAMü3¿Ó5îiz¥Ÿ˜¿£øAÞ½¡ÏŇ¾“¯ "òß6~/õ]ß3F4Àu¢’‚)|ÕrïMÍïå«Zkô·kµóuZ±ìY»ü£ú÷\ ÷vÞÊðbe˜Â~ Žõù{˜è³ó³†êsî×1ç$µŸôK~TíšàQÑþ?Œm…¬§á<ˆØZ6‘M0J1<šaY—6pJ;Œd$0ÜÇrO*U››Qx æ³34t?—å§_ƒGçàãsˆVâ¿<‰…¡cÖ)! %)ã uLˆú¹+—"‰¤< µ¬í™íû¯ê“e¯Ô]ÐJ7Ú0Šù/ñttž½¿hu:ÊW«~]ªÐLQª3aŽ˜›Lÿ@špKÖÞ ‘•ËwÈ“JOHÿ>¶¸"cŒtkäc—µ¸HéY0‰c ËÞ€mJ§Æp4Ž=±¸ºGFºô®îõ·&‘'PßdÅUÏ<úÔ”ˆÉ’#bô1ñhL•À]ž,y®wx´ïSš;›š;Ë£¹#…é¼bÝÜYçæj„¨õÞæÎ¢ŽÓ–Gs‡ãG¥ºÝùû¬g'å (îîQxÔë«â‡=Ðìd“À(î_Þª<šès]½êðë£Nï_­NN'ÿhj<Ú":¹Gj°m´•Ÿ-'Á4O¶Å$¿I$»©Ïì*ˆâ~Û­v—L6†§"þŽR«é½õ¹{÷=µ(åŽSQ”[¹©Õá&ʧAûkõ¬•´k¤F ¨Èy¥­Òª’ d»¶Ò¤>'[Ûr&d¥I©ÒË(d×/JËùæï&ü¬FufÕ,û©ó<óæòëQ¿0Ú6|÷Ë5ˆ{¼Á7¾·‘¥P5[”ºè¢/Fuqæp±-Žì?yèòlîÿ¿œ7?kþmvßmvG`ú(‰>ãïøƒ ¤ôÑè#þ»Û™ÃÉ]$úŒAç¿=¯¾øÊï~°õ<¤8P9Óë5â÷G%¾ýo“ëOÓäú?ë@˜U¬eL‡5FsTé5lq͈éчüøeçšÑSº´fTËo¿p‚;8ì¾-+~s{ƒGkôïlÉñø^mðèSkJÏ–üÒZÏÅ£/­ù<[rŒiC…;<}›¬8xéwâѰì@˜¬VÇñõö}z;Þ…·Cá/Ò¡ðx«ÿÕLÄÆÕÿ4.™vÍ&p×”è½Tg´ÿ@+„ž¾†ü< ç€V*H§½s\-§ ÕƩ۔êw`ŽeÕz}]•'lð£v®Ñ'cˆ)­(Õ©Pža™1›@dã‘&Åáe8ž³¦¹ZYYaDAiƒZîš[㋨+dh•~Š.Ä¥#X䚉üd¿¥˜Ä¦w˜7l–ÛÂûº {)W4¦0—y;lª‚rg†u<<:®€ ¿èÉéèÌ·ªo\Z£YŠcbÜÆÅßÖ¥X8 hÙY€µÜ5ò?ÔR¢¢–>BïYY¦òŠ¡£îµï†òŠÇPw®þw!ÈYÙš·ûzðèq!b‡/zN—ÖI쫱¿uãl>Å­HéܺqúÆ:¸5Žaa£yž˜_\º_ŠçQÜÕûùxz›~Ÿë„8^÷Ä£QEõ¹¸uö“ë_×[ßû?kSÕ…Í…‡Ý¶ñ¤è¹áz›ÿX…~¸'~¯Ðÿ›\æ“3éê® ½ÜKûïú¿¤“éŸÐ?0×ýÿ£ºÊ/íJý®ÚüþG•úýÿw¥¾Õ_¢á¼nOþä26»MMâ49wr£/'*ª÷‡Fyp¢.l›¢7†gôJµ¤?ÞkÛâ(8´†ƒ¿0¾²öé¢b¡M±hS}Õ=x?\Ô&ß([ ^Ds¤@gJ›ìœp_Ï/Üv^ßë8Š:³æ±êXïƒëuòC[¾?,»=èë5%ÙбmÓ‡õôJ¿o°’øAŒnƒ˜ô¦åääØ /žO¥mñEåH·æôôƒ\m…/ úEñtbÂf›¸ôFÇÒlH9)ü. 'ÚµsԵР£¹” WExðhEÚyÚ巃Ǿ §‚ ‡x‚9xëlwœTö£í¢ úDZË~ Ùù²– æâ(WñÈqº¶áèwÉÚ[÷¤uµž¹¢vŸ”9Àd—)áý±-sR‘ÕYs$ÉS;’Lò¤cÝ‹kUò™E—^È6¦§weyb-Ñ­ŒiŠãHSïð‡¿Öð‡ cƒ ý Ò ØâïÃH—ÖbÜKÙÁöu¤[ã¸Ñ(Š8§HOéÔ›âv–8îÜ.}sÜë°ƒsm“)ÎSÆòØx¿6ÆrtÌ”3“¿yV¾™-ù©ã-Í ôþ°ä¹ÞáѾOUéÙ'_=Ý~Ø»×¥r§¢ßE´ó»§Šu£ãE_o~¿éÿÐøGý—XÚiùÅn^z,FŒËN¢À­üa.}ÞÙhð_‘‹ç ÕÅúÜ®‰ð3F÷±¶_|&˜´Ï±b&ùÜ5ä­)~À¦pÐ?Ãâá>Ã$îÆú+‚ò;„ŸñÞYüW—Ë—C§÷9‚óyQD›3"ú¼±Èæc4ª¦›w@¯gþ  ÏÅ:.ºqèPÑ/ð‘ Ñ6О©r¶¸AùÙé© ÿ«—Æ&.-¯jñU«— Ý€TŒ9AIF}íƒJrhùt’(‡÷sPÉ¡÷웜»[ŠÇáÛ¤¤»Ø6EoEˆXÚS‘a‹[£éMŸF¸5jði„G³;þžâ…ËðûÄ¥7noú~ôr<Žç¡Q×;ˆ›Î=m/ÞÙ]ÍÖ¢£®ùkÆ1Ý99Cf½+ÐJ×Äù&wÚ[µô±Ô}9휑TÏ™òW%…ÔÓ6’êÌ#е`1Âü¼ý¸yˆþ°•=VJE¢lªìHJ;MåL^Â䨫lðž8ÕNŽ>µ‚EYsµåïÌ£QC„§”“¿´hª?gýz§¤"x;p˜Ïø¤ƒï©kJ*²ãTöuúÀ’u|ù<¦¤"µœ ü hNã¥p÷‰G¯òõ×ÙG7U%¿.Ë6]–ýÐØx´TOOÕkǰśgÅ%=úÔrçeÃñêÚ'n]§b[|×"ê•íSäèï®™»-Ü3?Öé|­sܼ•»ÊŸPI- ØPIö¡t .íÓ?5‰=@ *P$ź+ÉP ÛÔx°äLšTŽZ&peYš4+ éSFᕳsø JÑÀ¡pÔ†V:@´50h=Ì«œ·}¢–p ô»0+;B oCM\åúÒùul8hYY‰[·®½l¬5£ÁÓ½–NÏ’…\ì(\´‘n ‡UŸl}oWÏU¶ïßÁ§|Ó·6(†•(uiÝ Ctt´=Ð L]ƒæU¤V­c ¯c÷1×5Ük‰e ²ÜÚ÷cæ8HòòÐIF—oƒ[Ãi‰ªgx4»RàÀ ·Þ¸´Û5qém•rðÛ]/h{L󱮿½·f¯7…Ïúœ~ßÝ žßq䱜²\oŽTÖQíó»ðèl׿‡ó¯¯úm8""¬÷Ä­WÏxÖ\Ó [ö[£µ/V8˜|Û¼Ô=YsóË”];· ×^Ø$èZ³Ia—2b\@£®RJ £`oÛ¸d\Ñò7(…†ë€Vp@ËÏÍþ>Ï‚QJ ÔÉák¥ÐﷴʦùžÎ¾ •~€ Äk—×0§¢¡ø‡F>ª–\z¸Êß( J}nÁ5¶Î®—df…žƃ¶äÔÔ‚V\umAßWC+ÝX:åÏ:‡ŸiÉdRáʜ̕~Tá®<š7CeYgE—'UÞð¹eÿç§‹~)5=ÿA[ ágN,Î߯Á Ó¯DØ0Ñg´ƒ¹Àª ;G·1UÄ[`WUÄÊ58Â$ð°µÁ(ÖÍ™#RKmÐ:bI°¥ÖŽš°$ ˆ)© wáHï’‘ò”8ÎjÞ7×±[Æø«k›¸4×tólYðë·í„s‘¥eœãЛ·¿ÕP'rŽÍ¿«í¬«‡,™G¯·W ·ær'mðÒ íÊ®r\EÞüx}¬Knêê,*¹»Ì .½=yô¥iï¼Uº.µs%Ûóñ~îjJú8¦£|f$Ž­ÚäÎ=OrxéÅÃÌt­šlaŒ…ùÊZbü WË ³Î[¿Í0È‚óû}’±ÅÛWº5¶õ°ÊJ?ÆlÃOÖz—F]¹*€x4ºC™Éˆ7:eö=ˆ]5†ò·í„¯>¶OÎÏçÙá6ëÅâuõœÛÕsm»ß™‹û­Û¤oLx4ÞR[6µ޲5®‘±æqÙFüLv5Äš_S'¯á¼¾Ãß¿8„3Tòûë:åÌ‘÷±WŸYó "Tð9˃Ճ{Øâ¨¶)=ZNìaÍ]趬—ôðÒr‰Ù(+\¬1ùp¬t±Çš£ÚÏÁ£/ ÝÖüÖ\¬âÑìáŸmøÁÎ’Á£µŸ†–MוÖ}âÑ>Ÿð:?7Î9e+ú²8aløåŠy¸u®[lq „éѺî\œð¼GÎKwRñh_ñ:^½²ŸÛ‹‡‹.¶%÷@I £,þ„Ý• W)SÝTW÷ôÛêýn×c8ÔÊYcòªn\ŠµÈ•}$±Æ˜1 ”® Kª½„Õáh_]ý¨ê YÔÕñSXÒ» ôqæIEØØà]+‹&ÕÒý1e…½ßЕ259 ÀÚ5ÂIÌ“gë{®©±†wÊWÇäkü|›>ó+¬û±æéz ë„ÉBÎ;Z=Ù/ÙÓe=nUlé1«·CUôöôËÖobŽª‘ÿ5J 1p.Ÿ¦f˜ÅN×%ÿ±ë¤˜†¯þkÄ!°[˜ÃꯑÖú “XW…5²ñ„)¥¦OïœOzþúž<ÍC^žó6ÐÕPTÒ³“Cÿx–òÐuhÒ•uåå Ž¦ïÞ SÍNÞ<;Y=ÃÅ­¹0öÒ&¾{v²f0nQ¶k/^º{6rø¬·é÷¿ÍNÏìäsZ7¾•Î~´.¼g'»…©Ët~ÍN>§ÙÉÛ¸ŒÙÉólem¯ãKcòÎÅùÕÖ®×É,¼‚–ÌviÑøé·F|Ÿ¯a‡è>ÑêœççìM'å6x´/ØR[|<†fá}éÈø±nSGÄ^„Æî\=©ü¬éˆ"óÔD̯Äàé#0WvÔï¨I¾¸våàÖ˜®‡"'<šöœ~Ÿí#öñlÃÑÌ>&nYµí¶8ä{J—Ö8À¥x4Ê»'—Þ™yÚNô†¹lç9qiÔzæãŠÆKqß‹[3ìËq•-~jÀEy——ú°ÐxÀ÷òñŸlï¿7ÃŽ0UEÎÛ#§EêaÑD[ÑÏûUL 'Уº¢˜Ô¥!&µåÒšË) ˜UVÜS/bÜÝkºÝr"‡—^ä0ÅìâvÚ1Þ&¾ —ø¶Í ×Ä£½?o—£av §KÜ´¤w’“ÝKÃÒ3“¯“ÊEØTRæ">.jÿºhG]|…×þäˆ A4vw„°›ðÒxi!)e”ê7ίdßyÈíi®Ú2÷èïé7WäÍçÓób×#Ÿy¨<›]î~9añI³)nÝTÎÆÌVø ë÷Ù~g¹6løªò£xô¢r¤¬ùêr.<Øk<“¦\máy;Ñ KÅr¸4ÆÇÏÇ ç׿(¾x]Cå[ch©U#ì°(ǵŒb Ï@+gÃd æ•‹º¥šMA Ï|¤èäg~€ýtsˆÛt”>j¯CöW®?<* ÏŠÃÔ,þß5ûN5ãYqT柵ýG;àÑ4x´æVÅ£¡ñl‰`¾µÝΊöé ±Å=\¡Ò­ÏŒN¨•âq ã‡G+TBÀ‘±ãƒSvc¨„€ç\i~ÈȆ߷VI}ˈ±J i}PF’4Lß Y=†a|X<Ês8˜l$…Ôvêl40#5Ö*ܺ{*yqëžñ Ï˲M—%¡W7n`$ôvL6\c·nš÷P¶¸F6Œtë:Ûâô0Ò£}Š›æQpD¸+]N6s÷²è|£}Üæ6î¶Ê߆¦áû¶&ÞÖÄÛšø×·&þ<µ\MÖè;^¼[ÁKä ­8œñó†(k¬1óE%1`o;ŠZ"‚§èÙïj©Èîû°›*/ß 離)áÑxÁ®œwckÎÊG»ŠGcþûom3LÞc⃣ósuרñ®ÁâVk+9?+„ôYo5Îچ澵#&°³&’4+Íq‹dD¾=Ð*Glcx°Vh¥ÓØ4EuÓøwÔ›8þMp(d”òþa+ëíYx{þC*XeÏÀ¿ºgáîþ¯Ð9X—tXóKY x4.7óÅšŸ‰Ji鋘E¦¨Q”5Çëîƒðhv ^“ýl«_¿o'½í<š½×°Åb¤[£R…K‹Û‰ì·¨Wbpëü>ÇÝwÖDǬ^4E³Î3zÕ8ŒâÑ>†L…U„œcÇk§¬yÛÂÇ<E{ÜcÃ}¯Š[×yØïç2Ò£}~ ¡´r„…"xlŽØ1qêœOx´ŽûmC½m¨· õ_܆B—1æÍcpæªcp æBkŽx½ðKqÇ9ÙpäÌ9Ýúó²îûôýh Lëǰᘧ°ßƒGïXÖë¾·Ž‚“Ì£ñàðòXs¼¼z<õTUb¨C!¼œƒGç÷9nLKÜ5!Œê|¢q}ûÄ£»êxóùSûüÙ><´@0FOq–Ò9Ùð®:dñhl·MÖ¼+v`ñèœGÙðÃZís~X ‡]|;_@[BA=ø6ΧxÎOÇý¶½Þ¶×tÛë·Éß×.ùÏo±m.}Zxuˆa\®Ù®ꊀvƒG«”zXð®I`Å£l§?,9†©ÞËàÑ,Bî‡%?4s£xtæI–5÷ËţР¿Ÿ,9Æ¿2¼¦y4÷ù´ä¨Â,ÛàÑ·'E”Gþàu5¦mûÓ®›§ %—ÎÝão›ãms¼mŽ}›ƒŽq#;PZ,ª7[ò›üàÑ7 ƇÇ“qïƒG3œ_ØÕÑK1΃ ³à¦¿F«&µ›It.n¢¿F ˜YLâ±›jÇXØÖë³Q0žùUÆ[Îl«Êõ¥}{PâmºÎ¡’+#^*¹rFÒ ’û+Ge[r÷d½àÒ©l¿U¶×»p´*×ûàÖª\/ƒ[Êöñ7*ÛÇWeûzl¿4¼“ÛØþCo[±\acÂ÷é´­±4ÙçûÑ©<×eIeÚ•ï™O•ñÁ­Sù.þ¬ŒÊ¿ö«FÀÌÓ8ôJjOëá,µi?Â^_W •³üÀ—¦H·ÿ5Z97ßÌbÑoe0—ß1ó[#LAmk˜ÚçÿPE]ÇWuImññä?˜…÷¥#ãs­5¤œ\ëIUáÀÏi¬Ïê¢/œ/ªJë4ö«.mr“sÃè£uä§äYßœ«§BOÛTò§WÊjiþ^ŠÐñü¥!*kýÖŠM›ñ»ËËAµú•DUZ¦ì³BqhžÍ³B!èúÃù«éOÀþk3ÑG¾Jó·³BQ¿‘f˜}~ôõ¸½ÖUU1L¦· Ç/lã%¦8æ†Q~‰)îç—˜`Nžg6UòrAò™W´9°ûR~®úã¦ÅlÕ“ÀžüC:`ÐǪ+®E®¼±Ž|V½ïoÕŽÿÞZrS˜óaÃ=¥´¸õ­x-#}®m_ƒWÓ÷Ä­E”E¥y4ÃÓNÛ±f…|†åÕêÞ­m:†“ùoÍœ|?Í”‹Í”4KÖG³¤š'ë³yò·ÚHw[I;Í™è Ô³7Xç ¶{+D¡Óö} ºÏýò}bÈøe@Õµ·Em½U>º%…äÚHŸ›†„ó¯Úþ›‰>wŽâ_‘³9·?Ӹň±ÓZ 5ß´~Ÿí/šOZÖœ eƒGã"µk²á‹æ‰·>4Ÿªxô~?y4FÎÛ‰Þ7Í7-nšÝ|\ÑýÔ|ÓâÒ¨áqž©mq¼`Ø2s¦¸TùPŽs†÷ÓPñ¿]Ö|­ZŠÂã;Õ#vjýý5’'zb›B/ò£3b™@̬E»ÕìîU(K¯öÝÆ†{"/DôDÔÑÄÕSGhà Ywq<0뤇[{¡C›¢:Ø$J]têoÎÆg!XjcM\Ç¿z ‹Î3ò5´PßãÄô½vM¬]¹AðóìŒP ÿº·kcxª2û”òÞ…êjZKÝ bå=ZycÛ¾8TVW\D4yöÙ†+̈\Y}褗Vì¶uØÜûsáwŠGÓ×·®í²†z*xçk.nšï[3Äôýè[}.êp%ö)—F·ä¢pët·O·ìïOQþ·Ó.FWšÜ\ìŸ/½k]Žâ“^׉G{œIý>Û_؆ÖœKmíƒGsQšk²á+än Çv_FUfþ~tó¸˜âÖô‘Ÿ·ÞîçqEs|M›¸4—Ò€3ɶøªA°õ&J­Ão ¿,ý"…94È‚+_,š•ƒWW¶(¾h=‹âÒëíÙ7õa¤h–Îô ƒkõBI8÷¬C‘IAørx*!àð–éÖå-~ÛZ%ížž3’Šìk¦ ׇ$uOÞIEZ&ìÔ¶>Ï¥ÕDä$©íäl8?Gá49O·x´¦óŒ³îž‰ü¼,ÛtYšW†hšÏÃ)Áí¶¸fñŒôhÍçÖæ¯}ðè:•Øp¯tQ<Ú§Ø4‡‘ûwÛc}òè㜸uŽûuÙ¼.›×eóŸä²ù'¸ X–3v·ÞjØm” ÷;¬¸uÏ+«>TŠ_nãͯ°JØòî©IY½~Q%ðú 4š_i¿o­’–¼À*©È’7Ðøà¤;¯¶¤`vÙ~Ñaž-W1›ÎY,^ôwöîÓÙE7½ÕŠGç¥V |9°ªÉA_Þe·ç‚Ö”PB½·­ôòŠñ«mÑ4UÓÈ:ü²ášÀ:¸µO ÇöyM\z¯]zMÐê8 údt¤¯·ëõv½Þ®×Ûõz»^o×ëíúóx»þ!oËÛ*}[¥o«ô?ªUÚU7˜vuìÎØpÄÛY—Á­1Û–å¶Å»ª&=zu€Ô·ýmR¼MŠ·Iñ6)Þ&ÅÛ¤øOjR`- vcv—c¨3PE¬9fé¡î^ÍæþÔç´³)=s5`ÿ±¦Œòˆ¬êžSåè¢'kÜm·²\\h]´‚Ñî*â—ï¥{Q<s°8µÄ6¯-.öúury*䦓РÇ:œ¨:x%ûÒIî:ì²Å}¼•ný¹^÷R¦¾å³ ¶ÄݽÖ‘Ïk[Tc*5òò4 O÷‹K–é¦sþ{¶V[5_•o·În8e…«{#WàŠKÑ’Þ™qio”6¿{©Ž€‰"ûdùBØ¥fïC'½¸uW^-ëÌÀÙ>[Ÿ¸us™íf‘Vôi¤ *¡–Ÿœ‡â0´kÕÚOQ¼LÊ›éh]åÛBClÅ$š*mb˜ | SƒT*ªs9·@«Î’› tùPö\(Çõ×ñ –b>çÃÆwF UÓ«ª K¼KˆMá@Q3Þ³E¬ñ§ÆÇ’9´$žÁÛa ýÏM„c]¾5Ñ~>µ¾Ý¾CŽ%P—gº.…©?ïpø7G×; Z©u²–`Õ/M@ÙYK”BÓaüÎ 9alÚÊÛô±ø\}"R:²ù^Ó])*¹ªâlÉVéøv$W帶ô“Ð8Yuál›æ12TÙ‰·ã™N­wì°gˆCßðÚO~nÍ)ÇàÑ›šyƒ[;U«"KÅÃàÖŒ5uÑ—j¹ƒ[çÉ(>ž”v>°ïT_´¯yšê-««ß‰êÿ »¡O:œ† oÍ6¸52 œ1±Å=[®Ò­?ÕÞî÷ ¹õ­lmSN›«¥.MƒˆÁvú×ï ¯U^C)ÖvÊ®\¥0iRœÕ»Ä`6fËehåßå1±=ߘþ(uÉ¿(ÅS¹çwçü0ZU~…äÀ˜ÈÏ©Ä^œ(E׸+ÞŠÓ¤r¸2ðn•f¥s84ñͰœÐÍ™äCᨣt€y³¸èdiYÕ3WÇò&vÅÁµ ˜#‘—vO?5¿ùšlx“³tpë¦0¤±ˆåµjza‹Ì5bÎû£JYÄÎEØeÌ6µØ³³lžÁ•T|§A%WÞéA%Wz‚•Ì9^ŒsÑåpµ2f0’¨¶uùÅ84Û¯Ÿk¤Ia,H+cØ8’²hdãTË2¦ UVÔŠë†ùäC”ÛׯK·q 1üõ›¢4a‘ÑÀRý.µqÞp6æýqâpÁRm¯ƒ˜·sÔ¥uÑFÃDìüÚ8ÓÝÌBY· ï÷t­ru„9œt¢’p¦Ÿ,Ö— ?„êØé±lx¿JØ<º+°æQ‹¸QH‡¬]=’9<$Y/òóîÆ»C¨xt—Sºl8úèÖ3^ý~5ÇÌ]Â3þ­|gpJ˜€×=»¹7O|5Ïu ¯ëÌX_˰Ÿ¢›ƒÎ¿¾–ÛvéÒŸ4žÛá˜ۀ‚îþŽ&.‚¢Ÿ ÁW£s:áÑ9^í½ûY8ÒYÜÔJùÙ9Ø™S _¼×ñþp3xPJ™„Š+š¢§Üêl µ„½ÁѬr nn­ªÍØL4o)ZžÅ)€à>qégv™^?õZ1ht §s°«¨Ÿ4b<Ø0 ¿5Ä$µ’Èk‹¡bh¢ÏÕ±_a;²Ã¶Cd Û‘ ˜Úß]¾âÏ8Up§Lba”¾‰®Î£¹×ȨÏýIýÑ“4u© cÜ âÏ ƒ¸2¦‡W¼qä}ð·1¦¨IrØ£yiø~V†V«ׯŽPlʯ.·A"šL}#¶²öW¥¬؆}$°¯iú­ºÆr“¢Ž;G gÁå‘ùÜ7?àÙ~~X<‚”ƒ *©ÈŠÑøTÕ‡Í~ß`%ñçNüåzæþ2W›½’ÌïüÚãÁÅYi ·+^šqà¶lê¯Âú¾?A›Íd/Å­ :½&ìW üX™¥S®ÁC±nsR®ËçH{N ©'u$åYöÃø?hlzN Ô Å‡&‰±å‰ñ¿[LhÊã’*—žþ?èy ÿ9úë?¶¹>;"œ•›)=:7µŒhce½p¤ný_¾÷å»[ï»»ï«÷äŸ4áºòÿ7úÿÞÎûyІŽîgþŽ®z¤ôÜqŽÖñ7û‰Æ»°^°~¡6F¡S¯'kºðQctWl8$Ýô!’GstÖU¼ôî© ±áýrÄ<š ‡kØpT„P£ Fy´%cÍQ‹Å@¨ðhZ×­¶EÑÙ™‚ú5£è=Oü¢y¤[ÏÛƒyW׮ݥ§ñfc1ÐÊñ\C‡n~A›Gçãshþ}öÅçÁÆŒSñ*ÉjS tCÅkÕÏ|È!‡ÿÉEä‰OEKþ ÒäS§X,œpƒ†è®î¥&Ò‘¿F3 ÌÔiÃnjZqfJAÆW]Q޵f%~ÑH¸wú –ºLøÙ§o££á­\yOÞ¶æÈ·û$Ýò=?zz4uºyxœOÞ:í[§}ë´oö­Óþ½uZ ÍÙÙ½øya#‡·aÃ,Q½ n­õë(;øçA¤ƒ*éÑ cNbq;Z¬>€ N¨C¯“ Ç+Íù`÷°á²NÜšó¿p¥mï:ÿJ·>°šÉ5l®ÓŽa<÷°á¾.9?<>²8®sâÖˆEºL¼´®W]Ÿœ7ŽCøÃ£[±>sœ9®:Ï· ò_Óiì_”‘0™¡¬9hX^4.aXq.)| ÆÕcÂî'Q–U6·V´ _4À ºÛ°b’%gÌ4µ,Í¡\÷dÅk;æÑZE¹÷_ûÛ»­º(n}h¨[ñhïÜ_o°ûž´©¬s¼eÃ^bpë]ë;î÷“G30Æ´hN{˜®_´¯ב8Üæ;ÝVííÉ£1­¨xt׺Å£»Öɨß{ûûÉëR¶x×ñTztãqkÞ/¯gaþ²k™¸5ç7L<ºµçv¢Rç´Æµmsß\[âUëcž8êØ(cÍÇþüû­ýR‰Œþ‰]Á# £8•Éø\÷j…fíâ¿ƒí®Š)ÍêÒäñÎis˜èùxÜxlðªIµäÚ¿1ž,‚Wš/eñ~M›Ö cÿÓYYê¨rÇtà:à°¨•ñª¥tÛÇ‘ä°u ¹¹?mõ»Ñ¶8ÞÑË”nÝw¿ûlÃéi¹Þ§³¬9çlöÁ£ù† ?ÈÆµ>ôÛ}C+»ˆ›Z¿‹ÿaÕáOIn&Á2f+ƒ¹íñ[#çGïšK½Óqãž®Z—Hœï˰á˜ï„.<úò«=6œMÎ{ðÒ''põ®)–}—SŒ¡PŽU6¼£hÄ-*.}ø˜cÃ;\/¨ ²iŒ&ºªßßßo•ÖÅ­÷[N¯ØU½ë÷퇃ÁŠ[ãmqÌÜšUÌõÉ¡åüÁ­×'¯óÜT-­ã·Þ‘Ÿ¦ëëR÷½k–ò¸þÉÑβeÍÂv*#¢9­ù¤q[¹Ïuÿ̇Öþ;Ê64°¾\_X»åŒy4,³%G¾¼ïÁ£á‡ë-6œ Ö­¾?ò±òçàί·BQ·Îñë óoNÒNÑPEAŠŠ ;›UæÖ÷ÌEÈ6]']7Úãxr8¡Ù´['.M»OΚ¹#Ê‘*Å‹˜:'Ö#á²Y{JEð*ïa ÿ[oM‰~3‘_¯z餪¢ªhª8y/§êåz‚+KUMr >Æ‹Dë”AŽôW„óqƒ,дÖÌ@<¥ì¬Ï7b|YÀ¡½•1ìšÜ-&9W“!ƒ£¡„¦e•!£Ë˜“å7jå¯ ¥4®/Œ€p"¨,¢f+#Ö4çKH‚³¼·3ÔÃ+…¹ïð_^PóËŽíÎÏ>EÜšóifu«+ÒÆAæ>eup$E~ ¥.­¥lðªêy%—V·aä{3ÅYî<GÁ¹¶á‡¼[Å£áW=+79k9›ä»ð\áñÁ\sðh¼œ9ù1¶øÆ}tkdLì³9ôjïKý5Û<ÓO4ŠS˜ï¢VŸëxÕ_³U=º¦QììÆ”s¿{áHåÚ2¢ÎÙun9§:—¿9â ±Én3ÚRaã’Õôíýìe »ö¨s¶È%DÆÛ9G’Õs쑱 mÃwŸRqëÝÊetë÷í˜3 Ì2qëÝ9²l¾çÆÄá9ÆùݹØûn}ûcÃO…,¸õÉ¥L0–ÑÐg„ü¾XÅÑ7²N<šaü'KçÂlÇ îΑƒy¶Ü§„žß«^zãoŠ—¾Ø?5¸5žõé* Ó³xªŽW6œuÁ‰G3 í9¬9ܲ›]µ|@­G`îÃw?U¥[o:βŒ&}08/ûc‹ëéÖ¹~±ÅWÛ«tk_׺O\Pb÷ÅvpuuŒtëïã _5ž§xtÎS­LFནù׈”ÉMýÞp¦-ü»jÐGÏ‘YxãbÞEnw²Å“jgÚK=O2¹ç1Öë}´{¤—¦k§— ßT1 #‘Kç ,ž'²Š%óÒ~[âí‰rÙÅf¥›G_ç[Â`„k*.d8øb<š‘׉[_¤:y…0ÜšþÁeâÖp)œóv¬SÒÑ„¿,¸ŠYø %&¡5E„ô™=¥&úŒZêjâÏŠŒ§ ñóÏ¥y úü£ {i¸ö®ÁîŒ*-ßäàÑ·†¹¾5ì­~ŸícÀÃlÍ9¬ì<ƒ%Pó/žáiáÖŸ"ŠÃÙ£×õ‹[/×s;ÑŒ„|NÜzYŸÇeM_,[>âÑìF‡›$Öœkàu{}¯Y£ψ_á~VªôIéëRu×àžC‘+çne'v¤Z¢1Œ‡X}oÁørsÉÔòR;ܱqoù.ozàüWˆãœV3‹Kï{›†NÄ‹klíª×p•‰kXsûÊ‚ã:ÓnÕI›¯äÍ£ð}:øÕ½âŒÄ†@Yðir@¬ù&?eñh´bÛ6YóoxJ€e²>ù®aq¾«9TÓHºz¨Gy5Þòë.£Xq`¿yô©Ñ+eÃÑÚâ€óèË^òæ÷⺜¹5ÇÊ[ÙïÇ3ú¢—ª,‡Ó»…-À²áMþ‘âÖð=1Ü¡m}¯k?Å­9:§MÙÀ·7×/<Ú×1¿Ûü<þ¾ß‰3Èÿ”Îå(6L­ïiÏàÑ‹÷ëó­ëçëUÛÛ5vïw†°³ù¶=Ó75š~ζ¸|¥#ÝšKEÃÎÇ;§SŸôµ ~±‘7¸5œRttØÎ¼¥SËWÈg~I*̆¸ªøA‘£¸8v‹1Žåqäl¢âÑ»]Å'½®vc°~Ÿí/¬Ÿk¾«3­x4f7 c³l¸Æ nqú}<ºÝÏïGsLÙ´ýh4ÎÛ9qkŽ5›Ž+zó ®âÒh¸kP—Ç€…¯·%;§'Ç:b,»Év•?w›¬8CöÁ£Q2ý`ðØøP)XÙk›¿a€À˜.ô”p&fçøà¬Ž³µ)!à@hZÔŽëÃ~;èï[«¤³ø*©¤Ž £Œœž#‰D¯ù;! 1?9)+ÔsÃ~PMž’Bj;9ìjÓ÷Ÿ»OÜšÁ¯‰G¯Žü¼,ÛtY>yáçЋøçT\êœxYs <¯Á£;¶|O6üó=FÆ ·®S±-ŽHÅË”íSÄqâ͈˜Ã»-C‡O<ú8'íã~=R¯GêõH½©×#õz¤^”æÑ9î|¯¶“ë­ë£R„ÓU2ˆLl8b­šäK¿†5®EgÚ<út8TÛâ‡Ã²&=zWT„²á¾ÿµ¿ƒ¡¬ƒG{?évèMsú€µ¬9'pƒGsÂÖú´œ–Š.îÁ£M€å™Bà , ç¯!ìöSÛs;ÑCß^¸µ##FÛŠ3CÃ¥WFC¾ÊGðqM/^¿ˆ]0]]\aZ;"ù¯ùç¤øq­?{¥ø/n”¼D ‡`$ !âÏÇ@kAˆªµ‡ð³~Œs¢g€!3—ü%@¨.k|ô†T©âúÐâiàÏGbž0.ËæǦPÄÆ»¹¸Ê³TNÖsâÖ·Zb6¡—¦Êkë¢bÁ]N5…ˆ{Ùk¾þy÷¬wµŠG7Mù.¾¹ßgû¨Â8ª«¶kíßa6-ZÛ¢¹Çðn×lÍÑVÅk4<m^êå‹wëÛvÒ ox?õ&ˈ —‹»K‹`¼uqëWø8~Ÿš,Œ¶{ÊíížöþÆ'®xé&‹véµãÍïÂK{?ïXóÉXó‘ú#ßÑ÷s]ãùËóVÜ:ù*¼´ó«zõð§0/­*ÞàÑ~‹Ç¦ç‡÷ÙÊû…!‹ÙÆPa¡¥.ùGmUæ$Í%PŽüƪkL²ñS\!º†`©½‡E-/5­ƒ#éa•ãp× çM££Œ!ü°Å, ÙFlǤ=¾Ðè´tš¡F‰£Ñ+ê ´Ìá® Œ…WMÞDF>V1 Ÿ[½9ü¦hš´P¶øÅ×@%Kz"BÙ`Ž@©’uò¶ùÖýëA-u…êE•™ò¤ÞÉz=/õŽÖG¼_­ùªåûT¯þOi£¿?Û Œnúk àÇíWÕøõýX7uesùÌ<òÇóC^wÒëNzÝI¯;éu'½î¤×ô_îNB ‹òbýPçâ~­e‹c¡'¾rñ б᷶[ܺa\ßq¿n”×òºQþb1‹¿´SÜ/tŸŸßëü‹úö¡mŸšœ™ÄÑé_³øàÔöDê=R°p=!5œÔ€R³ùÍ=ÿÿrÒëïo·Õeû/râ§f™(\xu¦æ6jl~¦ææ÷¯_ǯ[þÒ÷é{‡ô½¾ì×—ýéû/҇ªcbÈ¡Ý!‰d‹cÑ(ÆPqzô÷bKæˆrÁß™G£BLû'ðä½Cú^ÆëÃx}ï¾wHß_oHß¿)îæû޿ث̻œ¿"ˆéÛMô7†¾º,Ø•ù¹ÈêœjÚ2;ãòÿÖý8ì 3¦]¯§u']AæÑxÃUTöH'ØênM4Îåd Yò‘‚E‡Ø3[•s´»»BbÍ1ĪoƒG¯‡ú?ˆïv©…[/é!³­ïñF•Ú¤ðd«Ûžõ±ökÉ_£“˘Yp©öa<ß a€A_nÃRS¾¬ÓÇâ$‰…•½úŠwsr9†A)q°ŒEh*‰¨¦ç1QJxd=.BTò<(ÑÞEÛïpØÔ]«ÏGç×áÑß›‰nx&e]] ¸5‚‡¢ÍTÜÏ(b·n§âÞ.%àùÛpkþfëÆÓ._\ÁN±:½/ c‰.¿è'9­pDG ´Âæ®ú¦#zN*×Ú2טûä¹ …²OÇdþÐ×°3ï;[% ÿ®ò1fyÿU/å5ß³ðƒaæ§D™Û™Ô×ÄÎ[ÝÕ»ºd„`—÷afq÷z¬—8o”¡ӳʮ櫩C=ÐìHœ8Þj•p®îHœ/{Ÿ¿À•î˜õó!)°Ñ焼ùïÉßÕµŒá®è"Ž®tóY÷eú¾5\¦3NZT²gM¥„Ti=>TÒê¾æ‘²uw6ç…0Þþ—Z^~êŸß%÷„*ýëEáóbnл”ÙM¯á”ä,&Ö¦ýüÜÚ—5÷»38¯\½Am W¿7M#W¿>^Ý—À3Ä÷¦î9é½ÝÙ†,HÀXB¬¹œ“¨>²{×C¶68>Ãû–£òíÚÕ‰(Å÷çtâPp½£íi(åeãä¡<6êd{›fÀ]¦?`ÏÏá¨itð:ÿ&¿nvÏšGóÒOß/ —Ý5¾—íÐ10m/:Ž’Í}oë•.<ŒàÂr#PêÓ¼ô'õ9c~¼Xù/úÓo¤ùÈÔ Ðæ¯/Þ¿xgZ¢M$|ÿÚ¾w|í÷РO¬Ø0¸5:pf½_ÜÚ+A n½·/n*Ü|<ѹ¡èNÝé8å­?´ò=4ÌåíÒc¬JÒªz‘Ŧz‘˜ÅÖ«`.±©^d&‘¢xÕrc|ãq͕ԀƧ,®øTBÀ’Ðø ”ÛõžpëËuŠXãS•˜PËC5›@ÕƒUg¬’&8)ôâû›Rû9C+¿û²ûì×u›ÂÖy·– w…§¸õÞTeÉ;»Þé~WW-¤ª%¬älãm_oso)ou¿Çu~Õu»öߌiÊV»tj¬Ž´¡ÜƵ TÍÿmw¾íÎ?I»Óž1 5„f¯œÈì™ýq"S{¢aa.e²xÉ’ÓMO/ebŽ%MXÙqztK¿àþà±ÇþCñhô(Ðê\rš~þþµµé}gÕXCŸÕU2×§ª³¹ˆ~§º¸jà$ر>ª ã_gÿÜúõßW§Ö™é£¢èì!N%”B×èQq^å½Þ»?ò§§ÝÞ\aª(c–Çá‡ÒÚ·üVžÿVž¿*ÈË/OÞ^¿ªÅf®##/êÏTQÆ3ÃÕܰœ,z0Àäº'ŭ/­HV¶ø§Úçtk,E³OßFÙƒõVb‹#gÞSºõîMe±½ã÷í„ã ³ï·ÆØdÚØâ(ÙÛ”nÁ:ÈÖ±x‹¬•ÑŠGç÷uܫΠõð뚸5ß}âÖˆÂR¦¸uοi6ô wü½óeÃ/Å®-n W Öh‰-¾;ælÒ÷›–ça[oö6¥Gûü[öâø¢Ý¾ø6Î'¼ÎOÇý¶ßþí·Mkq>Ûo†Ïö›á³En˜ö9Ë7§ùNcá¡b~r‡üq¯Ñ¡ _HEHÿªº8†m-Ë[ÿŸëân2Æžø¼ê¼Ã£}9‹[sm̉GsHg[Þºþÿi]Ÿ£f–å»Aú|V‹>ŸÙ`k¼‰&l‰QšÓ~þ°ªÿì}~6Êu$öΊó\žê×SÝ{®“ϵôGþáŸfïtçÀ1 VÞÊnçœfžÂþí¶´>ž ”gãþ&ü>-ËjÅפø‘n]5Ó4¨ÂÓ ú5×°û¿mÄø4þ¡FŒ¯÷܈ š1Fs#&7qjõ½íšG»æŸØŽø‡Û0oýí®¿ýÖFô™';%GxM%Cô©8ÿ¦z ×"Ò©Aý?êÖh…@þqè6K°c/‰1uË>á¡WôüjÞ®†Ùyhêq+j–þ áÁû´ƒÄ,ì×:ùSÊE´¼Ž5‚ƒ¾n3‹ÏYÞzZ»ú´Š3Ƴ/…£WÎÔ_æì:.Rbn1µØ‰‡C@sþžàâÖè½™¶S @TaÂg½ß+óiATÌ=(ýùÌ Üš‹g_û8kÎ_XÆ÷£s\µ¦jîÚ4\}pëW¥çûj`?ø¥!¢}^áÑMëUvÎS†Þ4öCÁî˜PŒÃæB2¨4–B¯6]®¢%Wn‹»Üjï¨Fw¬<[óO¡±£JÍY‚˰ÅQñnSz4†XôaÑ [5¬|ß'[vÒ­±>±‡oÓÇàÚkJ—æ’d( m‹ö±ã¥”ôhØ~=-8Ê1œ?ò;Æ6×õ»ž|ÒûvOß·ÆvâøfH—¦æÛ†< á˜/Á}ðhÎ"›¾Z%b_çwŸ<íå»7N7;®2†/÷@+T«0&6øÆXç‘*™}ÆsÎôH•ôa^+ Ê•ÎRU7»4Ò§cäsÓ£ƒÇ Þìª.Ll8ê¸}ºpѾ€ûr¸í»»ÙÙî-n­öö^<ûG¬¸uG0rd²pkríž¹t?7¶/‹[÷KçX|ÖÛôûœÚÝÇ1x4¦¤ÞÓ÷£³ŸÏñ5N{ôuÍöÂKë÷ð!ôkg“¹c2Ú4œèmŽ5÷ÜNÞáÕŒNzqi¬FßoŸ#¯£ ¶å÷>xéþäÑèsîÛàÑX‹°Mßö~cFÜu\ß¼ŽÏ¿kxÝòwð|ÐóEß˰â'ïÝàÑ·öWÖœk®ïƒGcÁ혬yîGxtîÚ@x™¹@ƒ¯YñèœOøt~<î|/ÛqAYv½\àû­”W–_Gy¬ê±;ýþw•Ïõ9¿öRÿÊË1/KWf\×ÙæÖeÇ ¾ŸÃM4KÚ  žä¿F]uW±^ÙŸ5ݪ¾ñyÒgÌV(ÂÏÒYú(úmÀ8ßÝ‹pr£yãäÓHPQbGF§±cÓæ —aJ³Â¼«k‰1<4)*ÐJes ^ü÷×ÏwöZ ç¬K¤®_÷Ód+5Í{/Ñé¶7³Ð|z3 ß!6oMzÀ’÷+»•–aÍÓR4¶ü¼™>Ç©¿AZb1r¿gØ•µŽbø{ψ`öuÞöê=øc[+åîÛlueÛUÍùcO~0œrÇ©® ÌÄpÜÎ)M½ #¸q¤d [e ù¶,(uoö¦¡+›Ùõf¤ ýA¨‰5„Ÿ/>zHõ*UÄßT€ÎŽêŠrhZ__fkŽòã¸Fq]†-¾¨ø¨ôh×£bÑ9v*úª e‹œµ>Ò­OU;Ê¿X™ósÃqλ Õ§ˆã’—ÕêdŒÏ@+癃Nžd§'´ò8›RF£~Ú€V¬)•tö³PÆÏ¦´ÚˆiUãHLĘL¨çÆæ¹Ô“X8¥b•²*U7:´q@—;¨dÇÊßµT‡mh$ß©ƒZr+†R6¸ ¦×ösþ>ÔLU¦èÂB¥R-ÍYäßb¬•&‰CÚÿ-tpJ±S,šbrØl4*M5x¥¯³ôu–þ3¥¯SîuÊý¥œrÃÙ‚Úw>¿UP`}-ÝÛJý:g^çÌëœy3ÿ“sæÏÒªÿj=¸MñÕÖù—7SþÉN‹ÿ°Fíßhzþ¥›q¨ƒêc·EÜlƒ£ÑM]yüÑ }ƒocðm ¾Á·1ø6¿{Þq)8r qpë>— ͆²æh¶ œ F¬ð똬ùç–s¤Ux4<¨l¶0€i]«Fp +Žé_{kÅ£y)ÐRÖü¼y¼Å£‘µP ß/m7<>Œ‹õujô§%¶®Ÿ¯‹Ï#çN óé‡þTöeâѾ^ãúøzà8ú2xtoÔuœ9®œÏÛxïoãým¼¿÷·ñþ6Þÿµw ŠÀ#N™RØèÖ–aÃQÏÁ8<ƒz¶¸ª³#Ý1QË 4ÝqN4ÆdS”æ±á§&¨æËô6ӌΉG7‡'ˆ-®V#Ýõ”c/›ëÄ6&2žm]¿\ŸÂ?Ñ¢ª{·ÁK»UíëU×ÇçG”ƒ>Ì£›÷3Ž×Ç—óy½-¯·åõ¶¼Þ–×Ûòz[þ>oËgWû¦I¹˜'§éÛdÍ1½!-£qkÎmØpÖ¹ûàÑìÊ¿‡9¦í`:É¡ð{¦«`¨gl8¼\BÉ<ºa§cØpz)ì5ÆJUR0qê¥ñwX>fofŠywXþe¿f®ãÜçáíŒíù{7ì=x´¸ßcõüD4X§å|Å•Ó}ŠG,½8“%Çš˜X'<ºÎ3ÖçáïÕ}?/M7ª|c[üÒ´#pÌSŒ>q?Úॿîg®îÏ/Ý>¾ŸýL¼4‚Q…GÃ[Øúã8øýl>‡_Ê·˜>…üj^:ù5|ÎÇl;ÞšgŠü€³®k¸t¶^ÚûŸ¯¿~ß|ó<äùðu|½i¯7íõ¦½Þ´×›özÓ^oڿԛƩ<,rTâTŸvOÖ¼) ]ñhŒ“aìÛðõöÔóèÅcnbgެ†Þ7ø˜ãwnAMcÃ1m™?<šáôÚ°á\2mçi“[Óîדs‘žÎß1¸Ï­ºHçjÙ÷?¬ùiŸIxt¶[|áqtkÖ,ç~þêT Íô¶yÙάn­y“Ö\y}XiR»¢xtg¬ÏÃß«û¾ßÜÎÈ7¶ÅuÜàMðèýòvÌKÝO_ÿº?hv¯ÓﳟâC7ÖTÌ£ÏÕÇ“ãð÷½½ÕÓîñH3h¼£Û=¸uòkø#s…&Õgµdß5®kqël?¼ô=‚cùúë¾t_g_§z>r}_oéë-}½¥¯·ôõ–¾ÞÒ¿Ç[ÚMŒ õ`A—UËyÍœ뾜ƒ—nŒ6x4ì9~_Û?<¦*6¼ÑK8xôƱ\Ú7-SQiÔ¢Š[cÔÚ£±¢cÔï³ýÆë8løjor¸õ–`E N´þ^å{J·F–F`åðh¸ÆÜʼh8ÙÎkâÖxç㲦WùìÅ£áþá»XsFæ`™ªûP÷eÑļ×Ûøz_oãëm|½¯·ñõ6þk½\DcÓ¸zŽ cû©M|ÒË9ñh½Ï¾Õœ¨ßgûx9Þ“5g°Ë}ðhˆGÏjÙpTßï‰[£yì͹Ó÷£Ñ$™y4zPY× ·Æº'm:k–‚—0<šKѺóú ;p¬ŽwiîŠbVTÊ¥ʧo`ëu¹§IY..i±¡?xmŸXâZc38æÏ<:^'£ƒD̈/ž‰“À ߟ•SXP‡’”ql>&¬Óðƒ…-ñ´£Ï¯J¥J¨½$¥@Ž#å`ú4n'¡– …Ÿ¶ÆõEõ¯¸5¯û(•Ræn÷£ÿ$’+ŽOÝ*–Ù··UÛF³h›¸5¶Ö—Á£qÏÑjüòv×ëÁø¸†º¨¯ðu¾nÀ× øŸâü|f6öÛ^>¿./Rzå[ú;ñ.exéUeõÞ]VNùòæûè'Äûä4ïi‹Åõ+»ö0c„ &ÿ Là­5&e÷b¼Œ†7o[Ò¨ì,'¥!FÑ4)97ç“Zë: <$jÁ¡gÚãZùV}ëPý ËF¢>ƒ¯“ÑA¢@b5ì8T/B»J5''¨cJÊ8HÆŽ±²Uù¶²ij£I)㨯&kÛ)^X:þáÂö!Ë¿<°t*#f¹é!¿&œ2ÀØ’¨6pôº«q[Üš÷úžløç{m™x4ÀùûÑ«êsß_]Aï÷ßrèÿ±W•¸ûױбӑdk|ªIYTòZÙh98Bõ{ ÆŒòs *ÉãÞʨݳ²që6Ù™/\'WЧ°|pèSbÃ}’Á‘9›]ŽÝ6µ÷Yë¨v |òÝË>L#û9S«®±(ÑÌRæôìBŒ[YËÇk¸]#=‹Sѱr>8] lñŠGwøôw¼,¸lð»/‹Ý²áœß?{¸õÆ ·NV3#á®ä‚ê¶Å÷ƒÙ¢qÆØ¥ǯ‰Wz¸÷…Z7`pëËõÄXóÝk$„G#N\S+Áøü·qþΘ 7¶Øq=tþáCû:ä¸s^(†sü÷2霗®C]·º^²áÈîÞ‘ÿÞWÙo¾Ú¶/Þü\í·®bÛù摯öº¯ußaé üdaê Ñ8ÒÁ]ÕTC«CRm wU‚­ä\Šéì^|þÜðÔ#Èî]jç*K¥Ô0Æúàèx¬t±ËÅáÎ3 s$ßš`h¥«`˜k¢FÕl~Ó?0´ò¦}Ä9Å‹UŒ@+5EsnV:)8{Nú̹Ôw±(T ÒÁ¹åT«²üª´ÛÿüöÝImãÙÀÎËW8²Ó¯Y8r{âÈOýñ&ty¦Zî—w!¹ç€Œ-ÑÁ}ø\ŠŸ‹-^5³óÔ°ƒÓ9¥Kïlÿ îÍÎîµõóÂf—ÛJ‡K¨äÚ”Š^r¾Èß*‰’ÿÇg¹¢»q™6a½"C­ÇÄ­9‹ë§Í^ -ñˆOêSCáH˜@I]eôØòXÍݦué–º&¡‘á‹V»›á®EçšJ÷D¥´¡ÀHïµ~¹ñõoü7LCŠB£äˆ>Ae4S«[#“nô(TÒÌ"¶™I\÷Ä,.¹ÀñØ}î«Ë¦ÏsýÉÒaÈgaVÏ[yÃޔʼϫ¹ˆ?ÿŒïlv¼ý v{©˜ÛÔ§å“ÉεÐ𪕢 u ;qìkN¯Zé¶NÖ­ ¯íŒtÏà ·npfbdl8Ÿ¬kðèFwdLQ÷l&Õ³.RÂÒ Ê·mƒ]ê8Rt¥•8U›ÒÛò¸2º"ùžÇø—®+e÷»Ö;Ø;ÆEéʆŸ,î¾UG-kÎU¼÷Á£Í† ÷ùÏõðybq=öÒÝšéwè5ôà^Rçc^ºûM·jvnÌæšI»Ê?ça ×ЈSËÞçóÁÑA©óâѬ[áúÏOŸ€›ÅÊ/B.ÚQÑݽÊÓ³ø¯ÞéÍDŸwV%Ö3qò6ŹÌóLè©çÍÞmY†Fíù9÷îC{DñèËÏëªå¤Ñèiô­³9lj‰ÎäµµDÉÇŒi] î]í2šƒÁ¦>4zúؽC¯S3/íK‘+öu¥Œ#?·òèE£xëj Šœ;Ó¸Æ*Ztgy¨uºkΜ‹ù¦æÑ[w'vÕS.Z6os¼áèé%“\²kŒ…ð숫ܤNÊKóL†5>é+*Y[² ö†ýå\,í¨ûfr Nô6m7yáRi_<ÚûiMq„*OåwáÑþ}åç‘Ê[U¾ B„jUÊ–<‘=LY„5?0 Ô z~ká’,‡¡¿ohuqR=FR~š9Ê8XóPó2Ûâ§`•}ËVöŒCMޱðh:bŽÛ§¢ÂuçHç¹äIÚ­J90›k’(±—Ívÿ²áG× nÍug—aÃ7:| [¢O«ß“fŽÔ’#m¯É¿4"ÕR ìpF9™Jü"/Ðzª1´r¾½m8]©ÛàÑð£ð/kŽÙË«‘[c@$—c¦)zªkš¹áTÃUSãF†5G‹™*<MœûiÕ’»Ýl4f?Ål}1¾·^Ç¿ïêÛ¸FîÄK7àÅ£w^˜Á£} ¤qŽíd?áѸñh†G7w(o«½noÓ q<í¡&ö0Ö`„aÃO:n·¦Ûùvæý|¦÷¯ã¥8Ív†užQ& ´:<ÂÇ´äÆÅvƒ#ó¤äIȃ£‡„OÆ ýœã—þ¦`Ã0q`‘9uNö“¼íßÛEZ¹ª»öaÁÑÊH áÖ9†䯖h¿e0H>¥MÄmXá]­ƒZ‡rµ'f7MO2œF&Ñ&hµéÁ5´b%ý,sŽ.ø« •]RÛ QƒiVëUj‚]ƒY ­:w2¬"Ëmg89ñà,åµÀ`A ¶G'õ=Œ)üF˜ÄŠï^Q¹`¦uquU½]ä“kl(ÖxÃè½±sËc%9ÇA6ø³[vª9U{Å Ã?0“øAWy[Êš~ŽòÚG¢%2÷Ö‡5ÆÖ‘û‚£5²ï˜?L)÷õõ n*œ'. r`cxéårj•Ó¥è®<4ƒlKÖE±tõ˜ÀƒåaÒ¤üs›@Hš”wëœûWYàf2‹—ÉŒj4ö'ÙZñu®²ÅÛ]qm˜1"\#­œO«}]œ GÕ§í+3^¿~­‚íÇÛ}²oCömȾ Y?MòÄx¹˜%Šê/"ÇÞQ½ŸÒ©7õ*—x¿ïGºôθ½+:PWÕyÁaw÷ ÄŠÜÞàÑxíÝKÎÕ¶ÚàÑèükÇÃ’_ê.Î_Ìòœ,9'¡œƒGcîªùeÅ9[ô¼ŠGÃâ÷³%Ïõ¯ë¯û„‰*²œñ»·kØâ+¯ÇHÞ½JZìà¸Þsºô©øË˜ä©N¼u°<¬¸ïñè‹÷c¶Ü/kœŸy4Šë#QcÍ?OH?¯Á£1ÙÉ3ðeÍQdÁ#|ˆ8†eÍ1sí¼nþýdÉs½Ã£}ŸþwÛŸ¦z>íœKƒDboŽ0¼3Vâàø‹²œ}}m!tõÌõ`K´éPe¶d¡›Âwâ¬`ÜL¸õÆšÇ]<º¥à6hΗ gyšƒÙup¤Ž=&ÔgHwú©ÖàJó³>¨ä¦þÁ‘GY8²ÑiùÀ;sÎ|SÁ‘°÷ßì†ã ŽäAÒ½û£Š7\¬èÅ©¿…à;If5ÎmèúŽüJ…‡ÔÉç›f©Ö¡äÍý, žgCyÞvÍÀ¥ï ^—}@+tòLÐrå%(* Ï|2º"ã¨NÅJ°1­/Ÿ5m·Éý…߯˜jã™ô³æópáÃ3Ô,±¥F¹ÁeÏ·s< … ^Žuß4ñdXÏéV|ÖÁ£hðhªßgû+Ç5kŽÂ¹íƒG#N#ÆÌ” W| Á­ˆS=Ì£1Vgþ~ôæñ$áѨ›±ã&Üšqw¦ãŠæš{mpk†éØÎ²ÅW¬©GIÊþky«ÃÿÕa”?l.jâÃïÁ&aÙÁÙtœÒå‚PS½ìÄÕTéÔ››Ò±g“{J§ÆíÛ°g“~J§îþ}ìÄù»)z·Ë%vâÝÕ¥¤KÛåRvpž÷”N}Øå;q^×)]Z.™¿H3廚<²K²•=Koõù­>¿Õç·úüVŸÿÕçõ¼Üù+WÑÊi\ç°3ß—g:‹’ES»bg¾ßÏôÝ‹¦`DÞ¦!Ø+Þ·ìµ<í®Q0Ü^x4ìu=-ù­ã-nÝGÓ³-®Áø#=ZÓ8‡5Ç”9dŒðèC}Le‹{êe¥Gû÷“Õb0¾ÞáѹOouû?³ºý©ÖÑû«¨¶;‡Smò–ÚßÜ•ôèÅÞÕXsŒ”ãïÌ£W¯àðz]ßjã[m|«oµñÏQm䍯f§EÓÐhzm‹smºe¤GwGÅŽ ç˜Â{pëKÎÎ?ªý ¢À÷#ˬ|ùâ¯Ã'…ð3cÿä¯/Ùø•HWd}æãËJ+F@¬´®Ñí8òæ 7eŒ}Ÿ¬1bHüRð¨KÓª±éì"<ºöµeÞßg7Ÿ"þS¿Ô_#n¾[4MãëH´k˜ãInj¢–+ÇÅÏ´ó`ök¢’·†`.­®>…¡^Ó2a‹Žjs”“Ä|Þ‘0‡!FWM–äÂP×°Åñ¬Sº5ó}XtÀ!Ž ?žŽ…­¶{ðY³@Åv0T©1XHN¿x鮡žæ¥s>áÑ>Ù>—…\FñXî ¿<¸µoGnZÜI Ü|Fï­?š$®Ï›í¿A;CØ;E y^þ;›I¡X~yå4˜nºÍVÞ¼aq.#Í ÃGë¯×U³è{6†ô©ó®Ñ=¢´'Œbû8PŠõº0 LŠÜƒ$°0–¿$'§ô‰è³î€ ?ór£áºyU–¯]ÅQñh\Ùk¶xÓÜÐJ·ÆÈƒ“‡³: ª^»+_;Ú3êÖÄ£9={6<‡^‡¯ÃfÌ9ö®­šF:÷™ZéÚ «°eÐd.â´úðÒ·õýä(ŽÏcðèMQ† ¿Hnp릘Se‹ã2ßSzôíéã±á×ipkÖ8.E"B×+ÊááGwVlñEÝP•ÍéPç°øn×T-tQ kÞ„¢xtWTÕaõ$Êàֻޅ‘—ÎO#­¶\¯góÒ«®oxé#­·Îu ·®ó?4—¤±âzÊ2~ÖdÉL|ðhG@-kî‘ãÅ£/Í)6|åêFX쇑˜r|}Š—öq‡Ïçѯq_rž¾¯œ¼Îëys¤¡bB^ƒ—v³xô*‡?£gM÷åTíxpël/¼´÷Ÿû·\–ÎòbWä¥/½¼Š[g?•or>®}¿ôâðáÖžKÇòiÛ>þ÷åi·}ú~x´ÊÕaͽŸ*ö]ܳ#ñ^† w¼úâÖ£<•-^åîÍ•Z>Eœ¿èú\ Fñ­˜w<_໊v,ã¾2z¨–hãø¸ ®¡xĈ¡5qI f|ÓÔ,óW8x ós1Øv‘#EYÙpd3ΦT¤–Ò‡nuñhµc‹Ô6;îÙšÓs¡J­» ä€c¯˜¹_ZNwcäV”g©Ï_ŠIÜêöѽ‰Ý¹f¨·ÕŽ-V¾eÍ,x1‰euË…½ð'ö:Ïhµd¶ÁK«ñ´rzþt=sÂëúùû¾mu3ú§p´/cx´/s¶'‡‹Ò³ï*u8Á™K¢õa7Íǃ·m„aÍ9Ñù<.É}6|—˵x4F3àPÖüЈ„âчÚÚŸj<Fwj±á˜Ïtî:bÑ£ÂQð¼÷mâÖíþú~tS òðÒ.b¹swNæFéÎÉåÛlÍ9êá<ºŽË¶¸Ž‹1ã[ŸÎ_ç5x´k8áÖ9¾ðq¼:ŽºïÎGÉ7œ €·±‹™÷æxpꦘøÅ£‹Ïù¾–î—·ä…W±á)f«Ør1†mj»7Ʊºøv<úP(ÚðèGx´÷׸ˆæî1¶fÓ›oXso.Í•ËdÃ5/cpëÕÎ.¾™ºÞiYœÃwUéÒ ±Ÿe‹ã7ë>Ò£½ßaÍ}|Uþ¤ÅýÁ;±¬ùžÚ†y4»'[Ü¿J·>åW(;sF šÒ§ëC¿ˆƒd(‚ût˘v†/µjrJØ" ÀQPÊo(›‚}ÉI“z¼ìò"Ôk./p¿°óD©ÖàjÅç ¸¦Š€j|«¡G½ÙM‚¥{0p=äÆ#BÑ=qëí`¯~Ùâ Ã+tkôÀ# Ql¸ãêÞ9Ø Æ«ß´@‰Æ¨H-“àn憰é}ë©.|CÃj­pšÇl^+m^»ê¼:"õùÜM¼soY'6š“„e-?ë¡}Z1‚ˆÇý9HC+8gî^F°!ÞSA+-ʹ•5Fl&Žá\i-÷6Ÿªó–Þ3ˆÆ8>ÓcÍO± æÂ'}Øâ*ØGºôX€\¶¾wÛ•n­0ËtV:Þcœ °å¡· K'l˜+õ^t$b±Õ²áMîÈâ¥u"—Ý=Ëìk;á—Éqz9xôíÒ²¸4ý‰ÛÌ£5q\¤h…{™Woon³¡v4¸uοV·Îqï k)õÎñÇÖ›¹©35¼ôÂÛ°ýù½²áç×~Îê îÇ1l8k4ûàÑ º¦” àºó>ŽsYsûû‹GË͚M¬9W<¹FM5¨²áS ¹¯“>=¸aóŠ/›:·¹$êl'·àœ¾èÆÁeÍ/G渼c²á§IÞxÜÚß—âºî#=÷A×·¶S¿óý:õ”j½e<ìæõ°§0ÈÃÎ(×(ÊdB¹äÔ(è"¹ÞÙ0¡ ÃÛ¶\ä+w¡}aü F"ù+Ä¡T‹™Å­}Çz†ÙwÃ8| LJïf•2Ý´ä>I¿Wt?# ½6üBÍK·^ú®p¬d¹ßE>Û‘1“WƼª8Ÿ öcç°t<‹c›Å©ž#©Ï)rˆ½˜®$Z†%W÷¨gÏÖÌrãë¥YáS¦aE°øÉFIÙâñ•ÁúÐh õ>xi]‘Ø{WߢšmE-/œ•ÞX~ŒEkgÞ({Ïv\l,{²òr(Q9(x×0¨ðè~xNN¿«Ã:—¯.yi_VÉÂÀ»õPny´Ã>—ù¶>Ó7 geia[ß»õ6.íåbðü­/ìãÉq„G'û„[;·ÑÙ{Û±‰BÊ#ÞʆsYЫv_:éÅ­sZœ‘k‡î¦¦g©7¶š'‰s+j©è˜X‰á^Æ¡¢¼fÈRÛð®õl°ˆÝYªEKj"oÙ?ÙÊV¨cùîh9 râÑðèŸõòä¥ûtÙNö3ñ#ï’ùûÖŒ™Ùþ¾V¹ÞPçiÍ9óù[û:°¨dC>G ˆcK³¬9‡¨žƒGï7ÝÇ„vÍd1µÂ “ùÔ²æíÁ#݇Y87gú­Þ£?°±Üiy“ ÷‰ o¬<³RÑÖÒIY;Ýös¢Cö-•W NùšÇËçñÒy3yuÑ=ŸËˆ”«üY ƒFâ.—]÷šÚ´áÌWË/Û=†Nzx鮯&Ih² 8ºn J§Ò­ BrÁçµÀb¸ç‚RðÉLß”úTw9Ò­Ï*›æÅÙÃ<3—þKuWd缌!ƒ<(…{˜¿A¨Ÿ»—Fs&j@7cT‡[{…ÕÁ£QNÛ)Ýk@¶Š»KÁ9îxØæX—èýÇe[\ÇŶ(‡†ú6³ÉÑ/ÝFÛÕ÷r\ÝC†°fùêÕµž¯•>ñ“íGºte/Ûú"Ø­}ðÒÊž;†q{0›ÀWCÉ ”b³wØ68'‘äh¼×Ñ1î“ «ž_OYœâô†[sÝoÙ=óQšnösÜšs¨Žkâ§-(²ÊàÒÄ0mÇZ+ LÜšußs|Öçô{V>ûøÝêYš‹&’m ¾OÜ:¿ Îvýû•ë­_ãw¶áë®YTÅ­Ù–?×Éšw. XØòs×Å EÄà_·Ím’{²æMkH®Û†{/\âšSÙ<aõÄZã{ù5%JÝ»V´áLè…^m3+Î…;†\9 7ЊÍÇa·C‹Ç Z±^:@•wf.Yêqéó³Î5çaZ2wE¸îoCžK=¥¹)yëéÚûé]qMøÄ牪'Ž9·b,oA_CRÎKe˜¥%Æ KœÎ¬ñ qr(I«Ìœ€š©“.ÎP.h¥‡½ÕPîIÂòxüol8^ʽÝ´ïaͳŸðhÎz_¦ô|_óøÇñEË3ÿä—íñÅŸWÿ:Ï>ÎwSã ¶_û7/½ÈãRß·æÚØìî£ËÅU^®l}–-¼ix%[ׯmÃ1Gm[§Y{§<‰Ý½’¤ë=Œ `gA),m¡?¨eó#‡åç/žÌé7ÒW«Ÿè#0׸ðÆa­KÃõH£ú¯ý.håS1̉ñ¨ás̾—¸\óùÔ¨c}ö#Âϧ ƒ}Ò"øÜ8ëÊŸõ`n·BAБr³â%rkêÒ¯m„Ûö÷ô›‹õø|ÆðÓ}>9͈ðÅçÞ2.XìÓX)|¤Sj< 1+7êÆé*À•³¦óïiï`žÒ<—êÕðæ±%ÀôØšPð» Xš.9Ý„«¨]ÅAc‹/8’tiT±jŶøu9ºÎÍ9ŽÑ•n>´&mŒãÙ9¦ö_6ü䀚Á­9ÔvâÑ€ãaϴ᛺B|q?^Ô¨ãÝ{ÆÇ§k2EYsVY¯Á£}^e‹¯’;Ò£}½Ð=³ØK«òÉ9°“%_5h¨x4ÜÑÛ9YóÍûFwÆ4”5oZضxt»Øm4l¸¯Wñ\?]xB4À·±QEµ?üÇ Vηe‹ç¾&}ÜG«]=ø{;á´rMÜzÑPágþP¾‘KtÚßíýqÕµ™¯ãQþT~倦cäÓhZ”NìF8Çùú* >4TdŠ»ÎÏF ü˜MïüÈ tµ<]®³e·É/ gmӼѲá‹k¬±ÅO­óVéÒ.¿Þe‹_òÕV¹phx;ž%³/k~ª?°x4úó.#¶¸·_éÒßÇ9ŽOÞƒK·ó®äÖ¾l˜ƒ‡r¯.ê¶ÌFv…™áüôíÍ6<úzò~?Íy §çgô'§>¾xôõµìÏÛOf¨Lpðk޹ç”=íÄÏÎPã1±ÔÉJ èlÉ3xôÊ^†aÍ]£âÑ‹:‡ïȸûQ<š«Á±PÖÞN}*né°êìþm;á§zs·æÂ•ûÓ’«i[ùâÐøûŽYž8†²áçWº5²$ˆØâÞ~¥¯Ïýg;•O}9ߺŽÆ;s\¿9Zƒ†5?4îªx4æ2ÁÍW6|eÞÜû†{0¶¸Ö­éÑ;G„vΚ]t¾œ¥&ÜàÖ‡f<>Tßy;¦r ç£xž+=g©¥r“J‘ ö”ú.ÐS¢¦få”5v®mੲÑßµž{ú~i×ëwÒ+KÊ£lq޵¿Gz´ƒ£” ÷jöÅ£qQ8qȶ¸F½Œtk×™Ë?Ù¯0Ò­·æÞ*\B­Ö“;Ï2b ìTÌêV\»BT y®»”œœVÓВ>ùšg݈ášüWH ¤Ïµh!¬>;àPY7$n‡õ±|å•‘nÍðKû°á§;l£º2bB½¥àÈ=}‹±áà•=€­“{™¬9[3ûàѵ=ÛâÞ~'»ß” ƒ-»ó”q¤îàÑŸâÛùE-ý›Æ†Å®Y °œ…}¾©¹Ö2°4gyvßßÛl»·¾{ÿáûOq÷ªG#·c¿^çîy楽¿E¿Ñ¥æ9sœQ`>oÏ3ÔŸù»Ã}\—º‹”]ïªÙ’/ý8¸5—f9‡-Þ44°Ò­T‹-®Y#Ýz÷À¸ØâMÑ8*ÝÚsý›ú‡Ýê'£vp¼QYóü>¼´ÇÉÄÏöõUþjÉ_áÑ÷Ïqå8¼½:~5ÌËo:ïJ·fƒ~²Åw]×JÖ˜aͽšlñèÍ9ʆw @,­’n<‡yN}=˜Ÿ—‘¯+¿š?ò÷ž7AÞz\ŠÞz+^Þ­é1›càt¼™FŽ7šm¸ßh‡Æ|2åÁ™÷@Ï}‰ùhà…d„ûŸÏ+‡CªôW ¡Ÿ ¸Éïü5â[u:ħĽ øQ›Ðgíøsðð m¿Û ÷Ɇ¬u½<÷–‚=7[Œ÷aÂÏ>} ,ïY½‡uøãip)æ§ *DõšÒëA~à§ 3<ïÏ¿;&”ÃJ¸¤'œÈ„vnr+lÙá@ÅøaÛ÷FLe—'^ho±Ò1c¦³æ¯ašè3»7³Ì5zJå/”¸Ç#ˆââÍÎo›bxêÏc$þŒYœhmÈ⺮Ȫ?ê›sLËñW±DØU{å3檅$ÐÍà9j»"ÙÝ-«j«ÉZíJ/gìà «é#ÝÎÑ~ αYçàÑŒ¤±î!­Å£¶b6|Óø³âÑxx®ëaÅ5nzpküóÄÐáùìŠáˆÔú°3çª)ÝAnØûh[ß»ùyãá¯ÙÖaá:@Áùµâ›Ç£‡—¾5p²Ýž”pzlœ{bÃá1ß&½§ï#ÖN± ep-ÙNÏÃsIâÌ£nƒ—¾‡‹ÿžt.™3ß÷öþ¯+¬1<¹|/±¾f^:Ã=ÐÏ<ã¿N64Gc\WNWJÏ«)'_Sýˆ1Ä·u]ÝûPJ3´š. ­±ö¬=e§|§bŒ~fÁrÓÒý°ÉrpÄÄ¥=n7<:Ó8£áEYÔùÒÜ9Äév±Î–œµØmðèé¸2G6œÛíê쇳}qëGøt\ô:LÅ‹…L\¯ îñµLÖ<ÅDxtŠÖê¶ê·Gf…Z¦Ì1.íƒð§×Ú}ÔkBÊo ¿òj`ÙŸ÷1-–½Á+wkÅ£wLÅH/óè¼¢ëmŸ×?V¸x¦0TºP*%à‡[Ã2>I ЇVg«©¯Æq¡ tb{©<Œ6\ç2xô~`ÛWÙðãP=£¸5íÒ‡=9±ö·ÍŸZ±µd°Óm+küyö}PI¬,ñɲ§ :U„] ocx«jh…:<&Ûrvï¦ Ø&Úzq˲x´ö€Æ¦ßv¶‹9·¬—ô±ZùàQ€öÍ“Fw-UÀñVp^sÑ[뤷f ø e"|´§Þk—&£ØÂżÞVù}l°w³«9”³[é;Œ1ôð8s8\ÉÁöÙ÷ѵÞS ”÷`˜ýic"Î58vu­Ž€5¸ôwæ\]Ì#Ýš]Îç°á›ZµÅ£=÷ãaíÔÁ½\9á›±¯ùHèµö³>“Ьž>’BŽåÓH 8ð>}åÍÝæ„|H Jr•€À'ìœÂÖÉ>%0;Íœ²¹­1RЬ10>Œ¤îË4¾²°p:¦¤ëÖE)ëb®Š·pëÚÇ0®‡_3GeŸÊFæèîfhpëz²tá~mÇœë^àõ[\Zc ÷±]ÛÛ(£1&okƒGïªÕ­㸣}ÜUÖx¿.CÆy\jÎzìâ°æp^ô‰G¯«GAÄNœcA§ôhzª1–ôªÇ{\/ñ¡}ÝòPñy­+SËüˆN"­”…J ^ÎbVy‰Fesþ%¢.Õ/Ê’bæ´9KøN†¡£@K9Z9¬’_4õ²Ó™vÜœ (õ{(eË¢”¿*xSòãùlà`UCofTiËšóä×»xô¾øR-Ó@·+—ºZʆo Œ1Ò£7(mXóõd)ly©À²1‘9°J6ÅvmkúÉð%ÑÕ;” ‹Öe¤ÿ–P5ÈcJ( ârJ0à(µ¹³ñF«"·”°¥ì]ýJÙ8V”Þ»cÖœ“g––—Ôõ€§zÐ ­ÜùÁF§\øÂâ?Ô\\Q@¹ˆ^þŠpL¶LÁøn3R½çûúuœbøÛf¤>wÿÍ™ú Óž÷ݡҧ±ãœR$Æñí!<ÜülÐ?Šà×…ü™C}þܹ|d_ŸÿPoìI°yÜ'”þCOô/z ô‘qnsRº]œ{P·ÙÊA—sa¤º¨z¸Šf–缤ÚõP''ÙVcsÀ]¦?`ÏÏdá¦+ÿ&¿v÷`x4/ôôýÒ·Að÷²»=·‘¨#c37£A›¿,QÞœù|b©~dä·5ÆH±ü“âÈþ˜‘V&ðfs¯-µä[LQ†óIšÄý+«hÑûàeRi¯/Þ¿¸VÑ•lÓ ß¿¶ïßq—‰{]Vº‹[£klæÑ :>së½që½}ñ6*ùóñD'GÀ³ýË~íqÍm!qºÑðw3DUìÄÑÛ?§¯œ}ÌŠyløåÒ[¹ˆ™K™Å·±ÖÙ3)6ÿ{o–$¹®cí>Ç`ÂLìÔÌb7°€òÈ]ÿ©ªsª»Û,Ó¡õÑC®†")ÇÞh•FÅ·ò:\å¹È/oÚtþ>‚<¢ñ óÀ(/¾-˜JºUØ­×þªí]‹›gnåIò në>EïÖGO¨ˆâ.”©\²¡Ô¾°¨âÇ/ÏF[¯ZGœdyVÛíÊ $j@n²TÀ'J…nÕt¿k웣ˆ÷[ñjýc5çê¡W=õªºöŠñw…´UV{íµÕm¿k£ª®¶êk«Úþ×TQ.¥y1àm›F%ýâŒO0Õ‘Mø±UXIò¡33 á_Í´á01›i”ÊXO£ ‰ØÚð,kaC[‚K;=yj…]@ø²]ðt»Ù½›Üš!“§¾áXYÜZ^ö>¾y•—½‚OÅK!V"Ó¥ONˆNk~iN–¹už‡lòÆÐ‰™nÍóóõÀû1šU‡æ`9,…ô¥ðQÉ¥£Ç¸mûI}k%íי™ ùGÛÇ<Û> ÎÉ­}\ÿζOãüYW&ªa­T„ºMÂDÐÍ—ÃîKe&ž€¼ùÎľٟ-Øè…ˆšb"Ô.:®ÊòUÔP*jT]p+€sÌJÙÙ(\•Ÿµï— !©A Ä8õ'fLM1‰‹}{æ3å…,NVŒâd<2‰-P´ /cb:ßb¨HakLnoõuk,œÛZqitôÄ=JN Ÿ¿gm\ºÏ×~RG¬Ûvßu¯¿“l˜¶21 ™Üú¡jré˜ ‰Éµ>éÞyÀ\ÚÇ•ûAH­æ0¯Kû¸2Ýßç /~s ãÐÒ‡äÖ!œŠ[+ç1C÷¦‰ð°1±iÄWBOÕ@ Ñ¤)CÊ]ð>„ÝèºÕ‰gn=î-ö=Ïàç¿û¹vŒZ„¥*:zdjXC©Éÿ´ÆkËTJÿ¦­qÿºÛ–J©CðÛ;ÏžgŠÓæÅ x:B:7x<,ä= *Œ@øÂØš#òÃvá¬u–ih_+‚,Ä„èãŠ6”¹utÚÅÃxsßÖN/.—ú)[œÞÙ+¾ÅR+  SvÓG·tkL¯X›5?plÅ¥1f•MÞ0=¢Ò¥Ñ#}—MöÜÒ¥'ƒ]—íòk?æƒÓG’[Æ;|Yðò¼/˜RÒë¾Ù&¿>Ò¥1êv–ÝyìO‡Öïû¼ò|ã~e“¼N™.ùY6yä¶¥KG•}e“Çt•µ¥[Ä.kysçÖ‘—ʧ~>Â1«‹[ŸZ¶ÅÜS6®âÖϧ7tN‡AÿóõÒœ§µê9‘Æò*m{Τý…ÅT—>óÔ<>—Æ.ªU û0ò0/Õ{jꨣâÞíW ®$T‰«Ž¿yëUt¢WþÔ§ˆæ 0b!T?…¦<ÜÀf6ì¾›?‰¢Es q{`ÈZ„Ã×áãÁô'-'®Ç }&QÜ–åíþ–lÀÄ{â‰À5ñ¸™å[šT8݇ "æJ±®°¡ÿûÏ \… ¥.ÎÛÇ¥†37ÿz¾ØúÂú;—™ý«Ä$>BŒBw¨ÉW !Ô±ˆ1§°§w‹^Ø›-^ðùi½ÅvÊ?§°Áɬu&ƒ¸àgº!ô…fí»éôµ¯×•Ò®¾›ûð•Åk¹*ñåü ¸åŽ‹ŸîO9GŒ2„^=†Rhý¦Dí ï‡úD„Ùþ̇ûWà"lcÑ=¤| ™J¢o6®è}Ó«»ñE³1ƒKÖü`×fréxÉD []‘ ?cãË„k S:è„}q>òDwËRä€ÉÆ6žçp&³Œ¨O@زc!™4¦~­ã•çŸÖ|}ePÌ;ÃeÐIgÀŸ<‚þS(æAùâš0c+¾|ÓÄ­—'ÌØš7²äÒ1ÖÔzÙ伕nÝÒµ¬yÓsýÇ$˜íäõ0NLu(*É…wò’HâÊ`ŽÚ…Ë6à•‰Â4dèVc޳“®í{ˆÖŠª'†ë¦^ÄMBü7B©›A' ­b:pK(¥}žŒ­Ÿ{C)ý–®Rèp8…ÑK¡%•†P§O& “…$‹Å*kUH¹ÈejÔ6e(ÂL•<Æ×áÏdh§9 "ªúL„(ÅN‘ˆ~¿2 Ç+m(˜õ^8+è<óÅĘ :뿹p]&Òš‡G ÛŸÚ`–\p]0¥Zð’à§PüÌ5Ä$b¦Å©øOp—s÷àͰ5‡}î7nÈ;ѱˆ€ÌÒ™.n­xÄ]3FÿâM”aí¼tE3Ä’íB؇ÕyÚ…WÜ⚸ p¯E`SlÌçs#’šüp+)I8 s­oTÒ [Èö‘'ìši+!îî¨kŒÐ­²æp3tŒŸ¦q[ߣäÖÑÉ9fñS1Fôw¾¬M˜cy†òýäð8Z±m”ŽQ·nÛHaÛq9d‹s2w¥KßôeJ›œñ§+]úâô–´É&ƒWºtž².ÓÅóTzÌù|ë Q¡@G'¾ŒUý8^|!<×ÒfÞ“×–b#è8ÙWÂóñ…‡…bH‘C¿çós•ÞŸ[›ÍxÑÂR) .í#­òÀRg¢sާb!lbŒÅãõà yNIàSȯæÎ¬,¥2å]nÍÇÅc”"|ËÃJ)<¨ –mŸ†›š§¡” ä‹nð=<ûÂíàØŠ±u–@¶æçŸÜZ%•÷sÒ‘8Z/Jyqù+SI÷%›Râ,j¿’:·Så*<::ª¿ãeÌÜÚåðùQ>»<ÎZZµ²ÿÎ<µ~§,ÿ³Wuü]›ïQù°Ä¨©äÃÊëÇœðšŒîƒIèÛ¾ø9¨±`ØL$Ž"-·[c2âYÜz1ö7æªÝв€m‹RÑ7Þ9…`ÏÒËCÞâÖÑá„ya²ÉcZCßÒ¥›G–dÅ£øÁг¸u”›©²í›kxdÙ›+X/ÆJnªèÈÆ›Bøu dÜè•”Œ9+Ñ9E(õУ[Æ‹Ý8íÒ-þ’­1âNí½éW؆ø-í‹ë«Û’cívÇÄâÂÖô#On­åÓšû†›§fF‰i˜qz²•Ÿ*¹´×ÜZçÃÌœ¹üÐ'@d.n£ž†,&æcÅvßõº,¢–y5dóªù¬c¬ê’ Vå[ÕΩF¨4O­ðÉ­.¡í¿÷þµiZs?&æÖ¾ iÅõföw¶V¶G„C!¶¿7¯Ø º'g°-v®^˜äa#8Ù=,(Å;¢O"º­‹Ið–‘áVGÈb—E™u”µ:üzè.EÓ,CˆÕfoC©x =ü)„)mf18äO¸xãèûJ#øsa¾gCŦWÔƒšKŒâF?¤ÅW"Ì›árX»ÁÛÛW°É?œ—>Ð]Žx%&Øæ_’p›{Õç3ÞñMn_l”F_„ú2ÂŒœ\º+üIqixÎOÎ%MIntxp\ Èz6¢C3¸…-Gòw 'Œ÷·ààÄ<ÖXÜZx’§Ö^Ã!®ÛsËÒᨸ´÷'^z¾¾WûYܺãÒ—Ö%Kn½ñÏ–îKlžV<:éplâÖ1áûÙ­x»ßéÖ®»ñ¡ÂnWqkýâ>Šš:ù‡A}J:cg>aKšÏ¦žF<»Y(Ti໇ ê zã¼òyÓÃöÐóŸâç9ÞÉ/B¡?ÀR`7â—r7’ZÚ3ÊÌÐźG ¬FR0ugÅÜú~cÉÊñÄ0ÿ\ýÇU6¹~#Ó¥c !§eÍ£ÿ0~ÅÜúR7âíˆO÷ûïÅS|ßšA™·ýH³Ëjû=~ÕqYsɤY×ÊÇïó–Õeê{\Uk£4:Àá©´5×`wqéxYhOÙ䧜ۜ.§‰=(hׯ:L¹štÚä1fpléÒWkO›|pê^¦[ŸrYµ5¿é”œºËAÆvçXIlKªtui•w_×Ũ É­}~æÖ¾.×&¯Ÿ¯›yjŽÛ—FѰqé‡1LŒ%sයéÈ'­+4+ÆÍòûk˜DälÒ'@<çÒXŠóù¹­Í"Œí…*šŸ"ñ†hŽípPú$‰¾“%ÂíkÈ·‘Cðß¡>°J§?~ÞÒ­cóÁññ“ |cn£Ý‘ŸcäWå?1ºóÑ¥õ}Æ –;{¾×ÄâÜi3ÓcªžS +çÞ¬&Hž•’€s߈ê$R.„4øFWý¡¹€œèoØf‚&†WŠALŒ˜N¶¯„˜`¸úÖEÅûÀ£ÄÁ÷;»åÔ/-#ø­Ø¢–ßÝá*jãæ ’÷nã ¢¿Ä‘QoÇ1Eø\†R{òØ"®Ì4´’¯ý…ñ¬ýÑÕ\8Ò cñâJ•|Põå'PC£SŒâæk±µxòïžV8Žfm”ò#žøóP£ÿ¾"£rÉ­ý‹æþ î˾a–Ì·œ~èîóÝ’Ål‘ÛPÂ'G#ˆ¬wJñš(ßøNkϦ’:–¼ï•"cG)XII0y¶Ý{’I>m•”¤QLŠÌþèq‹ÃþÉ*e3Á¿˜) Š´NȲÃ) Tì`í:D ‹ÙpýL›<Æ’Ï-Ý:†éBÛŠËYÍXòdà:%Ÿ|tP>ùdé9›÷ëÉÒäåž*j²üRyñÏÖeé0wbvº­yÿ:áXlnªm³âáþísëx{Gdž­ùÏïhérëX glVüˆåbŸâÖGtÐîÖ¼¤SG' ÷Gn% úÚ8u<£8?sé¸Ê'âšSÇhóB·u¼yA'opÎÄhz´B£äÏfÅãNG«ÕÜÐk³âßzm<5*yS¨xÊ&gíJ·f'^YñÁÈñ¥o½yZs}réìá•M U^[ºõâ»UÌ}AèHëp>7. ·âÍšº:'·ÆØ_ÃXK¸ÅÖïëw’ÇÆ©#"þ]<õ·Úˆ ±:%`?ˆ”>6.ýù}kïO×3šsœæÌLRë¦Àhiý=ÝmóºûºÛ?wv).ÝÒŒ•…èÊâÖát06›<޲oéÒpN~Ê&×]Ètë…xýÅùE·çÆ­Þ›q¼iÉ£{a§ŠÜzàêŽÍš_Œ›ŸÜúAüú}"[îÇ%íg?¹Ë>ãÁáN†e¿;èÑ"(Ê áTN›W q–Á˜s¸ˆúB”S$­©í…M"ðõ-*¹Þ?+éU_M%Ÿ÷!>y6yl᥽UÃLBׇŒÂ§7<&1µÚçB&¡3š§²®²²³prkâY@¨`ð£åG¦Ñ#- 6k=B‹ñ’"žÞÓÆ0¢àŸExÜI “ÖˆÅF,„(|Xü1E\<}’`•UnÃYGŸ$ðKa_V8+p’b'àæö nòÙý…MxƒpóaE¸¯OŒÜzx;LÞ[Þè0ÇV¸|àsH‡µh bÚøèú$ÁËÐ’x0mšŸB…^è“A 9ªð&NF‡Ø4d ïûfR sb#ýïWB©Ÿr!œgd85cܪÝ)_KD-» x[á&Ï:Ór ÆÀåÅXB#œLÖÒ' / ·y‘1,l•xÝYꘖMÏVvPºõ`¥›Ö'C·™×zi§›K?ôömÒ-ÄÍ@LîGѺ/öËrQ qkL®Þ¬yç¼ôä©Yå)êRpìíÔSë÷ÅëxÎ|¹ ¯ŽcÇ×Ñ ¥.Δºé4#(åëe:Fr–w,C„{ëÞzþ’Œ˜fJ ã²1q">ŽŤ}!´çÊŽÈi(Ÿ±Z¨¬ñÍ¥ÎzçÊçX{À–8Þ¨VQÉ)/”eWaäÛ¢”KO<,Sž£Ø1Ɔpa*Œ¡Ôšôî•i_%œŸDœ\#&1žõ{‹ÎŒPJF&?V ÒAO8Ý8;=ºº÷{·æ”…Ó2b–QÇ[M.dx<¥cô^»´É3>°Ò3ôr“§H^ã¦ÆÈŽSNý'¶ÌûÅýº»ñútoöó®Ûš+èëùœëùMnÍŸ«kåkzi¼ÁÜš5O]C§ûZ>¨I±â4ýÿÏ„TƒNR‚R±ßkËŸÌ|úsA+îÚY¹Dß?ÐIŒ/ÎB{ÊEGL1*ת\Q] “ŸN hGA(îYÌ?ÃãX³V܈~ ¯„akãÍkK·Zù!­xçÈFrkôxœe“7ÎÆðþcJÓu|¶ÉON-Ärsgé“«K%OÝÌ#>‹#(1Ez¬²Xø™”Sã˰ÉoDr­tiïßÖ<â9´»xjŸ÷£ãÊã¸ÊÝÇïóÞ¸5\VÌSߺ>u]ð}í/ «øÝ†ê8þŒ˜É¥1Ísã©yý’ï×3®ïâ "¬1¨9²$kã×Q'û8RsU²:>kç­¶“a¹°’ÈS\Úù̼òó‚“œiæBå:®äÒÞ¿¹µ?Û¯ý͇¡÷'ïÂn]mãÒ¾^æÖº^ˆñ´Ø§¸¢¿áæôé]rö"·æôéâÖa×ö÷ÚÿO…¿Æf“‡«ÊÚÒ­¦u—5éîÏÆ¥á"}·þy}qk4|·ýX¯8®íw­£I±—uLÏ?ÇÆ©ÜUí~÷³#>ËUùö3¿º¸Uáe4š|ìÿaÔ±CŸ$¿ávÇŒb~’àHM°Íni~’hN"qu<ô)_÷aFÑè,qaR£B=Ÿ´¤t6]I­áäueý½x=ÚÒ­ñ†p›%çBE‰%¹ôÞËÌ_»f×ÏkšcÅkZáƒõùFQ½ÿ\ÒŽPG5yüÚ‡yGc½mœÚ×(ÿN»mXm¾(åâûLbkõÙ&wîÁ©õæÖQ&ÆÚÅ©1]ÿ¨SµžË˧žˆVT'm}FhxGˆ§>Ækÿ©a~lw²þSð+ïÏÖï{•ßG˜‹£®µõŠu$0…®ÃÅ4Ó£îZÅSÃŽ>hfã“åö˜û÷¥µ–† 7†«Âùwó¸ÄSëø3ï`Ü®³õÝë|¬ÑÕëï­'סüus¶m¬x;ÐL¦5Ÿ®Ì¥çÉî´ÉùV˜÷W÷5ÓmÍÝ>M.íýäïXs&û‹‡ÆäœQÜaJÏK»žK.½8ñdÞj€…VÇ«ªB†^fxh:ÆF¢‰Ê]øoÁ$‡0´œœ›Â/igáëß“QðåÃŒ"^ GsÕGáú¡n óû€R˜¼½ BÑ-Å­ãDà´âò r5WW]½~×\: ãm’ˆÆ[Љw1ÛäjÀeº´ÞÒš/¾Ë o‘#¤áÝ6.ýyÞ>nŸ:R·³>kXWJÖ>ïÇÆ¥OŽ)¤]œŸ.mÍñNÝplôåë^«Ðâ{²É;‡ 2Ý36k®ý'·ÖïGÞá@ã|æÌ§¶æá™Õ6nÍyœiuœ™¯3¿‹û<óïü=îKE ÚpŠ^?}’pñ®¹,ñhìÉHQ²éz„éÅ‹O9~}ö²æ]Ã?'ú¤vºyjF†ÄT²æ‹pÁeȰ²^2©·"Á‰)r1üyߥmRÅPæÅÞœ?„¡‘Ȳ9t²quÓ°(Ñ|³uÒÉ8ÝÚM'¹8:s!“!I­Ë!^rM!MÉkxaìäÂZâŠp¼úáý$Qž@þˆ&®Ñ÷ôÚ€ñ}ìÜ7~3j÷˜IªD6ˆ(Ð DŸáÏjÀª_šY£‰*êœ)kÞ韨á\KDâÌK.(ßt#ûÛ¢Ïðªï¥ï|YOn'ã iÍuØÉ}:ì<g,WãDé˜63Ï̆™o4Ó2•Ó^îÂÒèšAW%×(ô/\žÜ¯yŽPœ†kx:þÈõìðâ7¯­›ô¾@€°§ÌF9î™CÊãî‚T qšxàMé‰%±£è‹@ß„¨ÐfO#ˆÞæ„Rq%7C¾„R±¾±?ú—3?-8õ,Í%G††c•<9l&(¥s·ÑÈÚIgB)]³|>²¾°¯’®áO¹ú± ̇D9ˆ4ó²Ö'ŸãUSc”b³äja¤8ß#¹ô<Ø;k[ü¦Z¦KG âše“Ÿêmpº´[¶ÉåÕ—éÖÄÅ­:¶ósËÉÜZ-®l)©äR¶T‚[×cø-d¼p¤RÄëGÏT·nèõHžšçXïýOõHÙšs¤¥¸uÜ£{³âˆü·ׯ`æÖMyÿ¾uLÛþ­Õ”ܺ÷qYGOPÔUÉ©1¢¥®ŸJàÄ”«zFW)+Þù¸%·>ši7ލ[:²Ü¢WÙ› Ÿû1ç:,³¸4²Ø™Æ”+¢˜j}”è§Ñg¢‰_JÀ”Ñ# &R(JLÛ,1WYä¼ê¡8˜ñý”zÕR;Â’ªè*Š ŸˆpV†.¹iµsA)r;cŶ[VܺëöÚšÆrOný²z:a“7ôÛVºtŒ×ÆÓh›<Æ%Ÿ-]úd¨Ü¨ˆñ”Zcòw+n¨ý.›|²O:Ó©£´ŸÑ· [ßãüáâÒ[ž R1ðð7•€ÎÒÔÈÒã¨ßñßGŸsìWçÍÖ™w9©¤NÂ_Š2ˆA;ŽdÊ9bÎGÌ9ˆCÉå"È~“WCËF#ðÁÙšXg¡©L$©_hÄxJ‘@PV1œB,‹sšqB1k&ºŒ²ùDç OÖ«¾iÍßò*. ù>Ò&Ÿ 2‘éÒõdÑ&׸ÏçB+M_F WÀ)¼¸ºð£˜tÎŒRØÞ³€ÝN¸w}‘?(D¡½ JÓ1ƒÑ8wnÝÐå™|×щ‘ÜzppÁŸûç yYó®ÄâÖ]ŠeÅ£uŽNqkœÝQÜ:^\:ºk÷ýXcðå*nØôÛqY‡ƒ1º6Í©§ÄáÎGÓç¼ßõ`4©\º0ü(± ¤>£”¿ï·@¿%f÷eý%·ái%‚í‹3@¸#I–¢6}Pc]Ÿœý.üX|OÒv„ŠÖ ?dÝÅGc)‚õ*8iH!x¢‹D¸4{¯’§>e9‚…¶Òug¼…²ÇßoééͺïÏ|}¤ïÞ¸šé#AÔ3_Þ¿kŸ‡íwKË‹/mSàt…4Î<æ|YôâÝõ½´â>>sé<ΓµlÇj«ëmn=WzH¹¨BÇ„Ë×÷Þ2=­¹"“$w8”G¯¿²æKžæÖ(éîú]¼§Åy%—îÇ—V>röómåcå¬*…¤:èo˜ê³Ú£çQû ’ð¯ô¹qÀ ®hiÍå2œ\!KZÚä˜f9+Ýú'ƒÅ„]S_bá¼â|Õ‘Iºø,8Õ’aKNÖÈùµÜ‹îâYÿ®~8ÕûIcˆØ°™F…ÞÞÍ ë×M%u.…&ïÔùuç§Ðµ§HD€E|½i&Sšüi´ "Fž·™@$q2Æ?´ëDÑÑ RéjúÚðòi'ú3í„ÌâÀ2 ÆÁ3×zL%Ñ+^t“ ៈS»Ä2·VIÄJ… –úCd†î¥±é®M÷k2x±8µ cºÚ`壿lË8fTû‡ÐïGkÝÎý˜R}Ì[s¡žâ›v«´ÏMkå²ü{ïÿàòwiÅãmþÓâÖðT½7kÞ8ï6¹4‡9Š[çý}ëÁÉÝÅ¥ÃSf\—îÏû¸¬c®Ö§FÀÉ~¥M®·Ój"à©›^”$Añ¼Ü5åýïHGÚø;ÒÆß‘6þ‹#mükƒ^ äx¸ D;/¶ÃGK0ÊŠßo,‰ÑñÝÃ\ˆ'Ľ¸ÔX øÉм³nœD%³ÁhnVÚ‰¥ž°V+¿¢¾WA©ù2÷þ\0\Múc_œ ½ò¥t,h?NZÕˆ» ¶c é‘ßáãIß±ç a^Šù¦O:¶÷ïp›«oò¯^“p{z8ûðöŒQõóÔh{\ì8ÿKŸ:Y¤•hqFŒÅb_ÔÆØ^€ûÍëÆ™iÍöjo [{¢[Ù¶8c™Uº´ü8Ò&¿Ð%ψòC×,~®âÒ]žÏ¶Å9æVéÖ|ï@Èïð ™܇½®·uT®s·>ù®˜ÖÜÇkníãö~ôÞ“ÇakÞ8VXÖ|afɋߊëöÌ|ÛÊ(—ÒŠŸ¬!’[ãÚ=›Gìˆ-Ý3ƒžÍŠ£Þ‹[kFRZó:Vqë&Ûä¬ÏtåßÏ¿Ïû¯÷Íä~ÿä~çà}Ëþߦ…>’[;¿šg>V¾u±ëbÖgníßQ ‘ºl¯¿¸õ96¾éóúàÖõÚÜò óIñÒAj.ýè±–Téo*©ºÃUƒj U(Yv-”©ëNqb%a#‹›ãa˜l–C¼vžùIäÁ,0wý\ aA3‰h|ô2„Q! ¥4TF—kŸœ™ôb˜9NÄíA"H¸@¼"ÜÞËtD²çö©xñʤ:J¥;™D”ñÓfc,_µ`ÉãµIÊž‹5¡”o‹ .¾¿qÄ+yx‹i¹‹ëeóa”Òžec–ÀëWoÿjçòÓX²Àëe‘YJu4$l#}K(u`iƒ4€ [†R8ÐË$Œ:¿ÒžËW\Õ´-œOîº[о¡Ô‰¡ë÷¼™¼úÙº¸ÖX´Åíä=u¯"ÈU .©hu•ï"6G9Ñ îÁhÙŒ¤b˜K!ÅÛ}™ÅÐ÷sJÁ;o–!Äœ®„RXĺ áb÷ T Úå'd6“ÃhÈ"¨jB©CϺŠÀ}ˆb7†Zù)Â8¢äؾ:ƒ«êP+—=BIÚòí±-+Ì{¼l#&@,/B(ƒª­Û¶¯DØÖ¡_y!T1šôщ¨¥ÄXScñ‰clV<7X·×—è˜J+>X‰%·ŽÛð¬ÍŠOº|'·žj¼¤5¿ØhH.¥=;ÂÕ*zžÄó,ˆ™'G&–äu£IŠ5BÏLM ¯\›ªoïN¥ÇIÐjâ‘‘1äCé½ù ½W=ƶ³Ð{c£|<ɆÇ+ X¦‰Qˆ_.¨Ãzô•õñÍRXO±N<ïÔ¥fê†mqG4µcŽ à-ÎXN¼GaÉ*ÂPÜ5É¥õ'·öcÏiÍ7Þ?Õ~¡!›Qèñ•!Ûž_l²œt-ŒŸŒVåì:¤.¯¦ÎWª$œDÓ .ãï=ŸSóH%5ËNCj»]^ºw Ü¢¸8.ãýiG—Þ/L)/µèM)ÅÇŠþðfT?—þª’BÜÓV'k­°)ÉSO¼Ô ¼  QδÈS_|rÒšG¨–{K·FÙ36+Žð5³¸5Âh¬ÍŠçyˆ[ãIœ›÷õÀà5Æ£šB9ùShpØkäè2è+”Šž¿ÍÆKÛ‘P*†K[À‡q‚È(»PзוžÚŒ ÕýI‚e¼êóz‡+‰`[96sØñEGË"Îyú¦2èÀ<‹ÁHÏ©sÖx?m|Sß•šêÕê¨x‡†RGãÛfYrx­†W‡¸uTØîJczù/ˆ-OµÄl± `ÿ܉i ™íó±-ßýÙœ0_ìOÈté©èL¶æ‹ŽûÉ­}°¶æXáÞNFZ'ãìŒÕÁL#æóa’ÔÏ]Á*£4‚ºÛo(¯¼{ІÁ1 ~ o\>ï@ù)„§ÁL"ÞÖõFÌçù>m€nÄ0¡¸VŸŸ"ñî`Îmc8Å» Ö' ¼YÔ cnÞv€hŽÙ‚ÕÇè™|ÓcÍâ©'×UI.áÞö“Z3Á†zœÌµ8¹õÉÑÕ´æKß3·Æ>}-tP;AÜ"J¡Åt1y#y>¢ûéb2º»q'ô ýí@Ünr8XÊÀÆTq!-cPü(#z(?~0àž­iNNÚ~ý½ ³.­“ãØæ«+JVÚä—üqœ.mwx[óÆÆwS´&k¾¦ì\ú¦›KZßeÝÝäÖþ{ω–ù⬤©U®¹h™8ÆËôcxm@Žç+ÝåB¬ØÈðæ´}~ q´"¼unöþ¢·MÁðÆ ­D4„X1ÑŒâFdùðDgÛïÔk©¹õ©AÛäã+Çõ5]0|¡ç*Ó‡^@xŸÊŠGØ7nÝåÞ`kîÃ5ÏÚڰT÷rE÷ÔXñCã¿“vzrëû–#Ù…)‚#zjÜaó`DuK“šœŽdCŽO•&u²ÈFðÁë—˜T·_ kß1ø@e娂RßOÂþ:è‡ÓÉ´=ðÖrJm0ÏU9™F5ðÚf#ØÙ,…0[êOrËð=MkÎ|4ó0c^î}³G÷É–}h´ÄyGy!ÎâÖ>¾S¿{r$‡øm³â—ûÓÅ­¯[®)¶â7û7’[ß~µ›ÚÖqùüÍSó3¹õùñý<_WÝž×I×'¹õ¥1ñÔº'É­«?K.:Td$·ö3ÈU.PÌ8 Ü8‰É]†Rƒ~f2†FÏ4©Æl‚T=£¶-¿é½–zš=ïDMf® 1Š|zñ¨ùÁ»Ð¶1Dïl¦Qh6Û®‹å/¡Ô:¸ÖÄá%'°º-ß#¥b’ýSF¯¬d¥X¾°F¹Y+¾j!2T´"ãÃÒ;Úð»mBH¿ÔÓÞ¼¬ÊoWè.UXª$Tv«ì7™¥|Œ\¹ Á ìÂ`âݼ~Èð§z O-Ï=†‚ÙëSMEÎNW*¥ ]‚˜»qÀ9?FNÞžÏcô£Ò0=±Žž´Æh£•l=§*OÙW\©g³g½/£?é qÏbn"§ËÑF t×áùÈ,;òð%“‰0?U‹N à'B"qDŒýÑIx`ŠóHdáÅ&¦„~½c]Äâ¾bc i÷M(odRkô‡Þ’L¢ )€=7*éæÄƒí;I¢N]›å¼í?ìM)ðçfÐ’¿ð™`S¿Ü ü«QÔf‚À…§ìØ7œrÀE}K×ìµÿ…A¼‘ŸmO89a¡lðÙP gþ‘5gAO½Ô8“m³Þ?°Z‹­+æ®áEqkxÿŸ›Ýx´[÷ôS%*8që¡J9­9û*£¿ @Qc⺋KÇñ~Geb›<òû¬ãÏë¥ó¿æÁÇ»V¢»SÇÖüô:‚âÖÑùäN(XqGþ5·‹þÖGåõÂü•K˜|øÚÀêZ˜§pnIIà”:Õù€æ3Þ’W‹x?¾vy ÅãM{ì×Vþr$€l@üÚxÞ;ƒáq"ÑÌå2+)ÉÉ©C•TäÀœ…-E xÆ?4ˆh#cK¨ ¦„jL@ÊDÖÁ›Xm(%¦NDY“ WLA’7œ’w7SÞ÷ ¤¼a¾O™¤V7‚!Âmßü¤msÓÊ´É­‡Â«,„/Ž‹ÀÎ~ßHqëÒ4·ï[GTœÕë{Ú§Žo;ÔÐt%ä$ë«zó,ô°'·VCéϦf‹e-P–<^æçÆ¥]8Øš«°†UØŒX¢´ÂìC)W!„TþqV¬~ÙòþÑ>Ñ~ëP÷Š®Ê­lO¨P­¬f€š.7°þ77°z~*/=œ‰h…ÃÞ>°Ø¡™]ÈmŽWÔ'Õÿí F5@óóþý” G—Ò**é"&­ðgó„xr`ÙåXIô$›JºÐ«ÂË£1@€©$¦¯µ²ÆŠ”ÉÒˆjÑËš£s¨—†3æs§MŽ0ìg¥[£µr•5×’§É­£³Àë%ö¿* SrÊ,ñR~Ÿï¢üÌ»õŸ,™áœËÎÖ‰6”Ö’Ñ ¾rÛbp^è{’:ï0#q´böùꈼ­»´æXêÀ5¸´Ó“[G…!¥žŽÑóyw´*#úyŒn—_²XU7¹õĨ{òÔ £ð±ÖSŒvO¬ƒsÀâw7 ~1–Xrë<.Ùä:®Åu/ò:LFHžZÇa¾Fýu=2¿)Ÿ%·ŽhîÝ'n­ëû±ôÛ³è0 cˆ…Å3MŠ·ÛÆý6™Fuž\z°qM¼ÃîZ(5­:\fd•3É$˜g]ýå ÔûÅé¯^x~7Cœ±u:lš½Jº¼‘ÎøºnÊü¹É’UëÔnÇDëNrˆû;z9ææ$—>]µŠ§~ʲu^à¦gu."þË&——a¦KŸ›7õ³}mY<õÉ[]ŠyˆêA[A—nõ‹§~iòxš¼¹ó|d“ÓÙ)¯‹u¦‹KGSëL“”®N¤ŠÜO¡"cx «9 õý¤ëZ§ƒË`•Ÿm„ùÅAgqë†ÁéÚuÞÚʼnay‹?¹µÿ./Ie%„7MnÝÑæ.n}äj^Ú6ó×­å-C4c ¨Èš7¶O’[G·¯ʲՀÎxÓ¦ÆË†ÕÂiŽÛù(ó-ó!qHh”ý ¶æX­¼·~Œ©OE8ÏLgâcÔ±5NšJ,éüaìì¢Ü£\s0¢…) !FÈ—¡\Šüi„x;N¡@5Ö÷ÂRß9×}AphØäè—uPüÅpˆÎIø˜4ÏÖ¥mòÛmz¥[_š°ak®‰D,[éEç°âÒƒp`ŽQ?V…͘xY¿Ë&§‹J¥Ëeå`d›ß»äîjžZ?ó祿ÕKÆö…Kº|ýì>¼· ÙÉBwýË“ü89ïJÁÕ:¦P°öj[‘&n½äkn=ذHn­S±ÅŠºÛ‰J6M[) Ù4`Ã7_:¹Àµ°¤®šóy=]N7â©ýãæ>65•2ÿ+_+ßç=ã-D]ƒÞÎU4Âñ®¯4¦—*•Z§#^*.m¸è=ú€þùþͨ¸SÛ?5ß4‘ -V¦~HLŠ¿‡ýp÷üò€¯ÿO&ϘnC„ž '@0¾ ?E"86 é¥mqmsb>Ix$:\ eTý&GŒ‚Hãí‹«´3¼Š¶yV$ÜÖþšÂþå}>åIgû¸ücà³Añ£¼eü°4nÚÉÀÃÎÀeÍ'<‘^üáòFèÛ¶ÍïѺ¸ôà`qéÁ~½´‹žù½xàFYo¨`‹"mrg¦û¼?Î+ùgæg©¨w.[sôYÍS^‡äù»ô¸„Ål¶¤5Ç={Š[G½½v+Ž|øÈ‘½½µ–I‡öÐ7ë´Ìyôû™?¬uÜï0£ñm6º®v­ûÜÚ÷;MñGýwæÖü©ùããáÄ /_OòÔ¨zqëΠ@Ca*bƒœu’S{æ¥ùûy}}ýu]+ œ'—äÙòSjÕC/îür|ä³ãw~sxÖÖ®Åáá·ÕæÖïÚÙ4†£Ô¶Ô:wlëOxß “Âëß9=¹\3Ýz°Ñ™\ú}0ù-ιH,s‚ÉV¾Ï;!2†c§ªœ)³:Þ«åñYg Fm9^u'g*`õòWeï_©Jñz\9ÏD¯j{«ÕY%Wµ¿7æÏeíØU_þªÅ÷ÊTuö^íîqVÓùùàò¼þŒh2( ™šüX õÕkLx€/Rx7Ä_ÍF0œ†¢fµd/ÀU6ù§ҥq?fÚ=ç =Oí:Aèçåó¼7HöæÃÅx h )>O¾6¹¡§Ã\ºžž¿hNêhóìt6YT»hRQ…Ó1 éâÛ2@?åÅa€m,öýØa˜ëaŠ‘fŒvÆlŽ‹ž¯'ÜÄÚCwXA8˜£ ŒrÞŠ1Œ¥nüÕ_G}æØ>t'£ˆiþ‰~rsnól<Žw(±³çÿlEF,Z™19m\¦ØØS†/uÇ…Œ·} ùE/! ·ùó$ØÖO¡£ôbÕÔðÊÁ¹ÉSÏ7O=©'½9›æ56¬`ÙÊ&—w¦Ëû`Õk›ßÃ̲§¸5b¶²ÝC°+g¦ü½›oB¨<;¯ÿõ¤5ŽìrJ¶F\ñ»lòEïP_Ÿœ¿gžÏïçAúä}2h÷œ¸¡;, jn­“Jn=89‘~ ìKñ²z˜°žÖü†—~qéx_~®²É/µœ.¯Æpò‘M®¿ËtiOÊÏ)ûærÍtjL†?Ÿ´Å§†nÍa¶²æ7‡’[?ªËë­ëI‰cãÖ3ÇD†=¶å¦Ê º™ uŽyŸ¬—fTݬBà¾w"nJÚš/¡4·Ž¸;ØŠû!6·öCïïyÿ°ëƒ/vl»lru†gºtkšM¢‚ÜéŸ<µÎ! ~jÕ ˆÅ»ƒùéCJ2‚]ó}¥¢o«Œáúr7Z*UøL„{§P¼«UAª_¶kÈ{©²!¹´ÊŽh*þœž”öu±Íj(Å2KPÊe“k×½F}¸ðBGk\Ì3`ܡŶO)¥REôìY “ã¯.ÚǽYóFqéK:ló{'%—>éçˆÉµQG1YÙµoV]«¸õZÊú«Æv,çf½en=õhø÷1‘öù}üÉ'еJ—¾ý )›œn€•ný è·e›n ¬÷ÕgyT4¾R!°¥ÖïãZÁÇ›w5Ó<µî«yÞgÝ?ÿ½÷ï ]9áË|ñü2]ú`6¹†-3ÝšçVÖüP·“9uÔ?%·LÒïŸN”Z,ܵø£ƒNq¼³ÓŒókâÖŽd›¼sfL¦SãYÅ{ m}OårrëÎ6Hf|ehïÇ<÷Ëï³ñsÒ^ìsÃx¼­¹—t7·>õzm›K¿ß¬7Í­£|›wÙä§ü¥´ô«3,œVqëN¿†ä©?öcýyþ‡"y¥ý¨Çâ"e½{oÇ'þj7̲É×ÖÞ˜›î¸êeÅ]Ïa9©õ®×îûmQÏrs·î| )+>üwâÖ³©ž•Mîz¸}ÔÃ<Þ‡c‡;YÏ•M¼WŽ»¾ø2Öü®Ê|»ZŠýª*¯ªòú‹ªòúW•mÄgú—mÃ϶ägó£-Êu”W>Ö¯ªy{Ü®ºUEØfÕ-w;së““'ÓšgU)nÒylö³JwÕûU{êªùWþïk ÏÉÅ™±ýâPPÚ;‡®z»Š[»ß2­9k›âÖSCÌ‚ô2æÐ™¸u—¬¸ï·yÝÞ×ÚŸ÷j(‘®„´Oí×ü¥OÏv¼™.þú¾†„bhi©\9™gÓš_SCwâÖ1­`íÖüÑÔ¡¡¼McApqi M ^s»Ïºæ©u\ù}kÏàôƒ–Ç¢EL Cû~›[ó¾c(CstŸœŠÜS\Z“[OžG¬ÞÌ¡¹ƒýã:ßâÒÞŸ¹µ~?¯£¯³®ß¯&îçóûÙ¤Mî&í²)ígS7Ó¥?›²Nÿä©?šÄŸMg—û{S÷(û‡¦îñnê^eÿÐÔ½ö6-æÌ °³7u+õjS×Í£lV©õ?­©û&n»u°7]FÔ³rèÙö³ëg›s/ÔÂq3H¹“k•Ǿ0Ÿy¥ÄÀiB©Ÿ‚å{3„ߘPj°1-#ˆvYîóiÈ<²›‘†úYZ!I "¦^jrP{ˆÇ©FçµaMܶYó(là³*n}<ò ܬùy~pÎni³l~OnöÉS_lTÙÞôþÜOò[ÏâÝÕx³vúÆ¡ X™[ão”MÞ¶ÆÚØô¡F­x-{ºõ9Jï|ÑO%¹µž•>ècRc=C"Ùàºù¥©¾Ö™.ž1ºGí':äîU¿g›üRãÌéÒ€¡ÑdÍ1+c·žêNK«ŠåäKaZsøñlûq:ú®FÙc>ò–~hl.Ò²;‡ãÝ–Þû@YÇ™ÇçóÔqmÇ ‡ysk¹†'·V~OníçÃÏ!‚°Ñne…ËÞTNˆgYãÎjÍ©”žÐj[øº^©§ã?[¡ÒÜÛEN•<ðueDzA)Yú$Ь·…й‹ãÂ7› x›I#ˆ~áyšZ:w§5÷Ó%±¾Ð˜Œ¿ýö'ÉÏó·–·®àÃé €r“““etäöFP‡Ú¹Òæ„èM °…T„(Þ»#Ã!ˆðpx:Cžƒë!2+VG™Ñt£˜±¾û Vü[ ¥Æ“$¤b¡¬4™)äÔFLroŠ£òôÚm&,]¨”ƒK¹¦Ý¢U²ºs­Wï)OÅš ¯³Æ‚!ØjÑb¼o³áoÄu8%± lïeãxà®ÿ±›LàF8Wl«‡Xp¾º“ZNv!%N½8F½ˆ;þXÃTÝ<רºÙ Ð\š %§æôœµqjÌâÖš4é»×ÉÜìÿÂ06Ö.<ÞZ} É­ýûyQ¤aû§;"}&—Öcòæ+/rî׿«0fÉ­/MÕK.}û¥÷T7<žäq§!„w¦IE>ŽâšF0–©MFu`[O+Ú±m&R*׳#‹Åå÷בð¸2×nù8D?ö¤$·žŽJ2Éb"“’dQ2n­I}i j™¹·„ŸRÅ‘J¬sr)Ús¨TŠUk¯{³NX>z§$ˆýˆ²”Ö yNIàC¯Ÿõqœ S…Î8òædŽ÷qß¾¨°{>ìˆk]ÓßôÝÝQ]eͱ2q/n}hEâÚPJCIŠÊE)I¢_þ»!.ª7*iðNnß1ÁªÈ½ÕƃpCëKÙä© §<È$˜`„èTgÃ%;Gaéϯ[{wq‰Oæûó‡WËTÒ;¶ÔOëo£˜ONý­pÔTç•T5†d…¹”rRÊK)£‡ƒÁ!àɯteû&¡T1þ:¸†/Ù¡Å}ÕŸ‰äJÌ 9ôÊÆ‹ùL(Á“F0&Ñ”âxÃ!ĪÚz]oc¶âhŸŽÄ–ƒ-e®oyÀ{OFP?/h…£ÐîàâPè3Q"ŽÄˆB»Í#áè@´§E_†…1ƒànGüål°&Ü çÚ16k¹KcÀå)kÞè'—ã£Å³Ù?µxŽb‹GñßÕâùU“ÖðÙP´­y¶ Ä­Üç)›Ü-§S-×g[Ü-$§—†kÂa˃ó†·<Ä÷ôWËÃühyœï–Çùµ<°*TGl,.zûq@æ1h€F«¸ugtÚFo—_Ùã÷¼ÿ¿·ØÈÌãò÷Ì­O_˜w˨.˜[P»~þ 5å _ý´¿jJñWM9þñ™+"Ò Û:©d€Nx4›_ŠÓ= ©Pb–>­1F~ïJ¶ŽÑÝ(XN9Œ¬lhÝÅ­1ps–M®žÅLW1Ðät,[¼sâq¦K XFd?Þ![sk¯¹µ{ p×WBcA„œ‡OSk¥°’« ÕXбŸüÁˆ–7RñF¬tI€™°ÄÜä}EääÚ0X¨&–&£`^¢PfÁxá­ù[èkÒün[óS\æÖ1^|ÍÍŠ/9³™[O9†MißNÝÆä©?¾o­ý ¬ìñàÑeñÂùåiÍÝK¼ˆyé ÎtÉ¥«–¢-®ë•éžÓV× ^ç`Uq]„Â:-£·þ§Co_´'=C“K÷ŒO).Í<¼íGe“âg2ø3u¿9C¤¸ôÔŒñÔX »öóÒZQ±Ña5Þ{4ÑÜTîX=Ï=å½ÍbY%o6ˆ^XGŠìS¸éDÛv]%}}±0FOž¯xiSf”ÌH¼vÅ¥‘]y4äÀÛ2hrëŽ{“¶?eûz[pŽïe†ÏŒþÉ­õw~Ppo#²úEmk>émšÜzê<Òšóš—þôÿÅ­zÍÜ:^“{SLìO# 'É'±%ý1Òˆ¢:[F<ÉÙË&÷X°Ó­9ÆTÇÍíK]¤ŽK7ÌMÓMÔ~yÑo`cú ¼¼)•w‘»Ž~˜kV²µk–üd­ ÑX± iÍou’˜KGPÚXÌ&iôaÌ+S%ß§“t?éV!ÓÅ­+›fWIåªÅÓÙ6œt‰‘éLJ²^ØÚ¨¤ð^<+;Zï_`ìRƒS#/iK{kÇÑ,ÞŠRÆû âãû¡ðCÂ~¤:ëðÒØ&uØëƒsêÛ·ýüÌ¥qvqÉãøãVÌGz·æ1¾~mÜúgX8ÏÖüÀ‹sqé›ïë>ûº4p1Ní?÷Ųä^Yý!\o®}1¤‹gfJG{¯Íš³î).îÅŠÈ »sGop:¢4¨×Í¿ÞrX œµo§u¸E·–«HrkýΔ¢÷ãß1·FÀ”VÜ«t¨¯çÜÎÏÇožš/ìùûx1ß®k,Ç<¶Ù`7ßËÓŠÃKd·žì,+îŸ1·ŽËt¼-¹ÏŸ)h¬®ñ¾£ï´¹êÁ¹ññÅ¥äÍ­O¾Ù¤5§ëLqéhØav­ìÎM4ÓçÇ=S ­ä³ç£“…N>3Y?±^zîWµ%ùœjˆRfó@t˜¶W£ÁMt¾õ»R бEb&¸„wGÍNK¨FDåÙé­ëûKo³š!#}Ý“-Æh‡RM÷ŠêeøFû‚'ª}ñZr§!Ä#× ¥¼N¥ ¡~€N«l±s÷$ú)î' ’ˆüµÐñ×ä+o+Œ¨rVN#”Ò¥‘ñ¥¹ñôJÈ=þ*ÿBÿâ¢Â‹±K—?Ant|pû×aƒþÔ(×Y êÁcž‡ùãIJ҇?InÌ~ˆ|Ð%-ÔMDÑÕÍþŒ:z—G¿ûYÜZzeÍ\¡¸ôR &[óf[bÉ8qÎêÅ—.ýÀÝ8•Æô”o°%_%Ò˜Fý}–ôï [N„šågâogi.ø–ì_ð­5£ÐÅ—1ÄÓ”iT¼g\ް;º×éâ-žÇ­ô˜¿ î^]a÷Æ­Ã%= ÖäÒŠPû¹ñ|äþꉵ*ØNßâÒ(`7níý›[û÷á?òü|¾æ©±dܹYqĪßÒ­óxmÍÍe/r]HK¨-}uhsEý†éؤ܌æ´?AÂåÕ„Û±xÜòïÆ¾+¾~ŒÅ:¶£I©O̧¬Ïï©¢_gÅŠ‡a Ur³Êp¹¬ú2‹uÿ ÕÿléíÚ&–‰ë\Ýh¤Zq DÜæ·YœÜ·2BQœmÈØóeC†Û6;Öâ‹&Á@©O’xy1Áödß‹ŒXœš.În@Ñ|`Æ*zõyÔ†C©ÍPêbÓRFðäè„¡Ô € ¡6Á›ƒ‚R1Ó£é=>ø@ÑiDPJ§"èãQ?˜¯2£-}’`Ú°·y/q÷ ÙÿG€MÝŸ+Ú<7š<>l ‹/\¼ì.ü¸Ídg<žFúË4gÓ®cŽÝÃYœXö@õZ‘nÌ„”‚+FÂöp}jB©yN†—ŽG¹Ï.æûFOÖ`ßuÓÊá/>éÙoüäÖ7J½âÖžRå¿÷þ¾¦ïJn¯ºÇ³YqŒV\Å­á¢pçýÓ²Ýü’`þÍÇw™QqÇžWx|Ýõì,uðŽjÛp|ó8yï ª‘\šoŸÇfÅ1så)n@dgZç§‘^m*“Í-CàÁa^Ñ’Ï'†ÊË «XÔF&5ù]=z KïÐðÎß’D~Y&`¿GßR â§Ã•$f\s»XÞÕQ ‚â#¢ìJݰÌîbòw[u WxÝþÆ ÎÀ—–3l<_Zº·yWjîI&ËëÕfR’uþúsï°A3ÎIIò†eRÝÂßwî× S6Í+ªÑ©º’ºòº¢ªœXu!J.VFn§Æ[:†C°2²­yD©ÀsÌ5õR;Ýܺi1ÚÉš:Ö¼¿±W>>¢–š³%œr}yÁYc-ꌀÆ–z͹_'›ïãaƒ’| Ô—M%½+õÉ)¢ig¯¸Nð}×ë|¶• Œ ÙM bTL:÷ï]˜~ƒ˜³st~궇›nqë÷áä©O,+©ºË’UE>4ŸÕçÃæ‡ð#óÿ~(¤} \<ÇÍ ¾ùýT™™:šÊëÚJXéΈUÆJÃevk5¦fþÿ»åõ£åõÏk1—O4g0¦ÿ«Ûx^Îv¾¿%÷;•^µ’× Y¾¯ýÞ¹²jÊúFEB&X«Éj“î¬.ÒŠO‡;·7‡¾m“_ø™L¦D$”y¥Ý0kâL}0 ý wöov“È[êE¥8QEL³Vèù俦:¾t…Y߃'÷%õ7Õú«FÃäàŠLüÁuÙ¢? ¥àOÛøÄ:JQüAðÀûƒÓ¤Øisq<-æ^]èâÐGdð©¼Òñ”Ëè3â_Ƽ¾à¿6Ò€-Äõ¢Ðâ“2b\L)¹&Ø5Ò,EÔÚ`\ ã;f!Ûß+‡*žÍ¬ãã:‰]_7#Å9ò/• wóme»ÏÆ(ØóD±4LÒÙIïƒ[hêÄ#ÈõË0oê)Cذøˆ¡ã m&à°P†RQQæ'Ð'^"n£ØÐ'V{ý z‡M°­+?<‹¤_Å•qè‹PÇ‹åzxŸ^<5kÜä©å˜|÷Üxz~|Oûq”#áÊ poäŸ{¶tŽdŽ‹Ù×b¤Ëuø“$¦] `óÆbnù©'‚@O žžð+FœØÞö ŽHsŒ²ÉÃë~ãÖKo›|ðï2]:bi¢I,»qÄïÝÒ©cŽý½Ùâ#\.·tè+æìße7>îó•N½ØDŠéˆX*«“G(¢ãyYò q‘‹[_Œ“»Yð˜ï{nܺs~ünÁ}½Í­uŸt»™¢]áB( ¤£žo>¼?ó™ùV+œôß?¹ð.ÜjÙP²¶ ¢¨ä9vs܃ðE†¤”7;ŽTü%7ÇÉM°}r˜[G¸VvT½»êpCãºöÍMú^ps`r"ç)Fg¿?I†˜I–†›c ·!æ¥âW¦í¬})ú±˜=BÄ$x:DMî[kùG=ׯ‹Lúà%<c1ñ dÈ÷_¿4ìG®»s³½—”ò¶Ï–¨NüA,EC(¸¶ëk‹ d=Îþ#Ñ”VìTB¸=ºHÑMkNÒEwåƒpÕýq’–}R5áêâ”mö„sxWo ¹õ±Ë—5Ç$÷?¬~¢KÎvãã8^éÔôö)[<^ ÷tjÝØ´æó#]zhèÚ{*Cø{æ©õý(‘âÕbée†y”Z\ŒSP*^œ¯„RºeœoÓJé” |ÿb_B=kû"Å£µI‰ø„퉟ɉÌ;QvÂWw I q~$ƒ€§–·ÔÏ"ØÖj ïŸ&‘Õì#~~öáØx™`pG5¢¸ñ —Yp]+Qг§y)ñ=lðš8>¾iŠœÇeaˆ)¹l+ïD;뤜•ž¤’7}ãM%Ã%úI%å&–”Ò¿n*y¾w‘ j'/}·¼Žº-¼btŒˆ’°âM˜I()÷0+q›K®’pó/L¸ ?níÛhµ‰pû{²%®¨.w˜h}ê¼}Yto°jž†+Àä Á‡nÖ‚TQV]— Ö–¾ ­Ø!aóÐ)úá!ÒŽWÚH÷épxé_\I„‡Ëcܦ&ð›T^õ£ËÅ…nPx5E3ÛѰ8ÜÖ€WvøÞݬ©õÚË +hŧӦà;­Î-;8>w¼§Ã-C[ó°íƒ³…ë`§7fã5º9¢îL+Ž.›³lòn#•.½Ø •6yûH·>ÙDH»ñÖÞé¡£[¬Ñ=zÎí¸£³s>Å­£æGà~Yópö\]×óÞ®Ó`Ë<­xþžlòºŽL·v«µ!¢Uî/ÿ^ЇWÜ£(ç±qjÿnCÇȪãúäÖþ;=4Zì÷ó™Žþ‘«r’d8ü6 ÁÔłʼH˜A\ì£JâˆÖ¬Ä¾3 þŒËG¶,Býs, ð;(äÐ0Yó¾À×Ü×"¯ ®iñÔ𺽋K» 2·Î§:o®nBÊ_,1Ðüð7»ÏÐ*H+ÃÌç,.ý`8—Ÿf7¢»b*\GÞ àÕz@t®›QD?º>¨§:"¦7{}ÞW%ÆõˆÙ1"ÐëË~[ÓC!…%®!x£Õmn¶KQƒ@UâØ¿;ÔáÑ÷4š7éq}Ù·,b¨¡/á=yw¢,.Kz>{Õ?I¸7’Ú®}é/øækEW¬dé V•*±€Ý1Q(ÄäX ÏPßÇ ã‹ü ŽÖ‘7;çµé“„Í’)@A¨wèiš: æ±Yó…% ŠKgv“ÍïùÝ×\³3ï­Ôr)¥wè´æþ¾¹µ–»N»ó•¾8ƒ8^×Ú°E%áÆ–”’!]¯ÄÖÑÃð}1ÄV@¥ïMáv8VÙLð_8ÁÚiLý;ð»¹1‡±‹ÉÎBcÉ…VjRKíYTÒ{Î"U…å-y¿°~ÀTR>eiy So×P -ø’ ÌÕÜ62i6‘ ÓOîäw2ɤžíJÊ+žßI¢»Õ0¡®Œ˜$<Ñkôí¹ŠÙi’g“II|6OTÊ?9=Bö=˜ˆÚ<±tîÓ õ#y ùŒ(ÎìHžZEx>³zõûØ&j";}ìØlË’Þ}oðJÝ|ßÒ9FÜÀ{Õ©Ê Ç«ìU©’Ñã·(-ñÅõóL%/®†ˇÞ艇ÃõÃÇ£Ìs²±td¢eD2¿Ž4¦h´VªåÃ…JdD§šo–’xÒ¸‡Ì0Œ-chb]6IÕnuª¤NZÆÔW&ëy·nv¶©(G!®e^Ý\ËvÚ CàDDøkô즌€<ü}@©•Ž~'î=¹ŽîÏÍ–1<èü§4©† ScPíÄ\‚Á) ŒÂšn‚V>)! ‘þô°3‚{Ós€ýJ'œŸUFôç,Ï™&).r&RMD²1ììTUÔÔ-á䀩Ҩ~j¶ËŸFlè)åö[}Þò™‹×û¨/•°mÁvLSk"ܾ'‡Û™Óäxö7á6cª({0fGç‹Z<Ѷɻ¦ê:Ý:FXûf7ލ?[úâðZ@iÍ9á&'*ÀŽsfè,8†š[œG–\Z™Ý ó‹k²3ÖfW¬³aFÁ^Z›õ¥06F Ëzn+d”l»(KŒ…d‹Jvжæà='x0ü5ãú ~ã ‰79¡4Ê´²}Ü1÷CV˜ãÉE)'——ŸXK¬O¹Ÿû;¤)ùÝ”‹ÍþΘaÞ#’ÖÚPA›&vt#ª ü\6CÈf‡¡¦x¥á2Èq4ù)î=Åä’ëøúé& JéÏÈ$øÇ¾Î¾‰úƒÄ·##`èíÀã«öE(œxÝŠSÌ8Wâ˳Vçú°÷TskÅvO«{¡ P2uƒæv1q‚¼ÎñjÚ¶LÇŠ—Ý¢”ÑÂ}Ê`‚\~'¿KüóØœ;¥<ÂÊcû-8Ávar_ ¥ðR–P*Z&WÁF/Ü“‰E¯ê*óê‰æÅ|}7Ü\òÂêR¾ÿ¤d¬a£=踔|mu¶Yt±t»Ù ñw3óOÍÌBòßÕ`}µíþK›žC³=÷*ÿ³YÀðÛ3ÕÐûCSòÕâ|µB·Ö›ÃvV‹Ïm½ñÇöcÓ”€­áh±ýa··^ÿn%þ§Z‰ÿkú}hIúã+ÏßmÅóøËVÊ[+¯¶âúÝÒS#‘ϱgÆÂùÕÜ4žsÛ‰õ-ßY·ý½ÿûíÈ_MC·€d5Íÿ{[‡ÕÂê5á’š‡ù‘`Ðõúf[è£é÷ÇÆÐç;²ÉGχºC~õÙ¼ºiTg†g _Œ#rõamÆ0¡¸èÃ3n§©,:p£¬’F(ö¢’ûaži&}79©]Ðòs¿Å£¡°Ó”°Â«e?œ˜ÉÒc*&Ÿ¬yç(ÿ&VC¨ð®ÈüXÒ‚!5ޤ’º8]ÑaQzÇÍí cÏø4;4÷”T* µhÚÂ}¼#‘!˜’ÉÖ<žU9ß!“´Ó“Scèë¨SÓŽ³“Á\Òî—eKG8+íÇÖ\oÔÉ¥ó8}20iC‹ò`þ"MR½S%Ÿl’rît¦Zö/Fã–ôñÈK?5²vŠîêLÂ<‘é›Ëœ&ñw2É$þ¸ÜðÍ›2nÞ¼q³°..­è{É­µò]Úä Îþ•.õFfYói'qk\›«¬9B7žÅ­Ã·òجyx|z‘ƒ£4¦KÇ9Å=‘p&PÛÇÜ~³¸õç~¤ów1åAý­å#hPr鉵íû±8¦nÄMm[Bïñx°Ð{¸‡?×v‹•P ÿÔ) ôkq¿Ù9'ÿ8“Šè}è´‹±:6 >á\Üz¡©ZÖ|âù~qëùñ»±?D_Å­1h47.­0mÉ­ªæÒãy^ÜzÄÜÞ97NMÛ>x498¦85mÿàaÛðbŸœ:sÄÃv_ýî~\÷¦L&m>ò*’»H¸1!­ø¦×ÇþVý^–˜ùH=|DÌ­±œï*›œQ¥[Óƒ ¬¸|¥’[#vûn7ŽuF¶tèõŹxž.¶¶z/ wq4|®Kgiï2»ËG± øÚpR“+\%%—\XnTÒdô¯ú –Ñc\HmdJŒa?mû†ÁÝéIx! ù±ã3%Á¤¿b& ø8Ú–’äôÚ]§]o§bˆý))‰þ\;­Ñ6v6`b¨9™—®êfòþÏF1ºù.÷‰Uí£a¤Q»š¼÷X{C±jÏf›Û,jÛ¨¡¦V\—ÿŠ››8¾[Ë_veƒ8ñɈj?¿$cj§î ¦ÖJ7·>9Ÿ(¨ã ЧN®xz1!e‰óœýØÎ4¦± ëܬyd¼¼¾!TÚéÉ¥ãNÏúºdøµQJŸÎn/L¹ûf¸PÉצ՗­óÚ©¼‰n«æõ–"ø–Ë!k„ÁºÓšc‰ÊrÄ$“ÎIÇO++މ:‹ü¤3]k§'—ÆüÄ-+ ÓSY&­¸ƒ%š[{?¶æú½á9PQPOtàÅPˆ©%Â7&=9ØpuÄí„ònΘ!¤oYh!!²\Uo"dìñ±! _£#¡AR-ôòcÉ 5ø¹²Áð§PÀ…Ï™F°¡ë)!U;è;*÷7¬Öù—z눗¤>›%V.JëoŸ_x“1¥lŒÜ!ƒˆý÷.ÌÑþŽz˜E¯)'O_PŠëŠZMF죢ãÛ¸P«%¤úÙ¼¶¿£:Ñ÷“JûÔ±è\u"áBÌ#ÛnáU7Ë7Ý’A[Ì LlÉ'a,zÌtßòìñBšÖ¼ãñ-nÍù²Ç‹±îlþN+ïû໾ÎíûÒ˜ ½}ßÚ9å`x‰8=üþgÎ2Æ‘µ3{J¿òxߟ¸/•Ì¿éoù¸ 󭸸ÙÔ©LyØÎݾb2ä[Z•ÔPßo_Àôš¶%ÀÉ1&Û¼6PL´t+Á€­ˆgÛØSbVÒë'۰ߌ¼ÿí’L.GÚͤ$WçuªêŠUFÞëözØñ|gè*ò`'ÇÅZçbËïBÌ@} ±y¶1ŒËü¸ÜØûÒ®oB{CÁ¨S7µ£lÍÛQ˜ÌŸ]£l…6ÍC5GØpz979ìC;Ý\¡2/›¤<öxåŒgq-}@¶æ1úˆÕÚÍ¥£wÙ›Å{퇳GRgºxê›üa(fuLd¾ÄlUÚšc})úàûÖ?.®ñäpkÇÚ²~¨ñþ=‹§æP\ýÝ¡—)íW׸ ˃¶lT‹e7>Îw:4«ß²æÕp^—üý½ù®¯sû¾ôÅj7¹µÍÜÚ×ÕÜHÛý¶žž+.ýyã»kÛÞWñ©!ü=iÿNÞoÝWÝçÊçÌß ‚ߊ[‡]óÍ—,úþ=Ó¨1È=µá¤ånLJ‚…ß±jž7²ˆr©ƒÞmÏtT…©*tKJr±â­¤"32*EàPŒümJ¨ ¦DôŒï§U‚,:ì^Xl‡Í˜J0¸õþåF¦ø*×WòºûRÖ…s)]IJƒå, ³|ˆ]ëáU¢Êe°avü>¹\1bCé“„+é‘pË^ꓬ·£WéÐ' ÖóávŒ¨þÕMÆÐ#c0CZó¨Šâ *¹tc¡g‹`Jx–dtK¸“qÞ±(ºû¿J:ˆ§¨$º¿GRI”AgRIFM*‰0+uÖÇ&©×ßêqa"Š+ A\蔢ˆ@ðw¢Á9¡üõåxn¾|ÅÛËã1Ys¡£¸uãxAÙ×à×~ÌQÀÌK7N,“}ÿ†<ùð³-k®U+ŠKGÇ•öbH«Ïã1¿X5$·F¬ªñÚïJ1]ó{;Çßéû>ÿ~ž§xê›ý'æ™ûåzsi]T{÷Q÷í±;B{Æ`6ž:,ÖœgÕ’Oa>]â©}ýý”= ~ÇäóÖ çsϤÍÛ(_ªDhpßkCˆÛô›!á6‹“xÕl4.=„ô×(DöËy¶¼¬z–õ £¹Â±¢vÓå}­ç¤3)fy¾reé§¿°ä͹’2‚¯©¡g8#òn2`´'qcÌS«Íc.ݼšßã:ñ<Óî(L¡#CŸwYsy™%·^òN³MÎÌSéÒòðJ›ü’_¤Ó¥;=_ÐÛÜÙFD58OÓ˜wÑÎÅ.L©ÑÆwÑiT–k‘Ë”ºû7Cx!P„¡TtÔûSÌ$"À6^ÌàCõ Ó?œŸ$QÞ~ID+çñ§P 8Ü¡·« þº®¨òW;-/´u ß=kãÒÕɭuƒ´[gé ‡!•âçù¼>6ÎËŸð5;9`#CÆ9»FÞ3 ™âí™Qé9j¬“±& ?iº–YÀ„v Œ‹v2º¶ß‡Ë3ãÙàüxK ¸Í›¯;¦[É{…w€£J™^”«‰£ÌÃ[‹¬ðÍ)Ö‰­ñ"q•M~—ƒÒ©°ž¶ø…J—޾Æ(X–_Tt´>sk4‚ïâÖ1z·Vin.üÌ­£ÅxnŸZûYÅÍ’ÜUx»ÆÇªÜEJ‘Ä”.þE-U ¸è@¹°9‹®XÍ+:(ÒF±}'”:¤vˆgñ1”ÂÀ~OcÕJ£Š!úžÆ°¡š•,u&úÓmÑŽK(>þ$zð>@Ä툿†yî‘Ñâ®-€ŒØÐd¤@\ô©‹cÈté¡`kùüsT¾ëǹMN⿌ÃDïCdζTse¶G5èÐðñ¢û‰¿ïH§_ä üçA7ù˜;Ùz°YšÖ‘í·të(Íâ$lÍuŒÉ­ãŠÅÃokîs=9ç¼åt±sÅØòbÃŽ5¨‰G¢0$_À[.^BcÉÉQJÂÁž÷©7Æ<5G‹ozî¼´Ïù9v)'ͤ÷{ÿ-K!×nŧ\ Ì­§ 4Û¦»—çÅÝ+t½¹µòæð™ Ž7û2•lÍã÷FI\zFK)Z<²ù½“¯sÉO¿îon 2Ûþ¬'G¤“[£©ö“::·×Æ­Ï®òÙ\:òyôGØšŸrå{qÛYסùzÑ? ®Ÿõ‰ã*.íëŽ0¿ZÐ\{S³Ì¥±ÈÍyl\Ú¿#žZÇUù1sëoªo½©Þ~¯7¥3Öh·ËfÐé0­÷ËÓï¢ñüy¹ûóq™{Ùgä-×ñÐud(JYYò©5ƒÌ­'Ú⽬ùá°OæÒk4„Šø‰Ö'DïnƒÖ£áêo­lrw¦ûwžÚ&à&H Îy¡mþ÷¾¹`€”ÒFª¹`ÓðÕÆ™JÚ¹˜S6zÜec <òg¼ø¤%îs6!UÇb»Y¿ÿ^¸s"úNÙÏd+Ü9•}£èÒ¿ìAKJÙ10mós#Ÿó÷~…1wü*l‘ÍY6ùÃlšéÖÏb³à˜³4Õ“4Ø¡·µƒ#ˆÉ­?¾oû»Õ¥¬¹_f“KcUôãI›¼s1Ó­—Ú1¶æS¿e¾ëxlžA©‰q–?¸VXr¡«ÁÆt*,£°eÄÂíõ ÞõC_½´ÉùS™ É•Õ{Ú · §îôF? ÙïΗö+ Ãp¾Š÷y©(Ì$t2dÒ>¯ýVûôÇÌ ºMzþŽË]è%ôC'ê¾wÚzðáu6¾è‹N÷ÌŽ÷u³5Ǻµqi=eãb7NùÁÜ:Þ|G}?õzÏKÇÛ`ŒeĨ†¾Ÿû¯ü§üèëàüK·žX ¯ëþ=¬”¹ÿÝ@a¢qð•ê´Ž){™dÒŠ%r’“’4(23ɤqÄ÷Ú“Dš^Ó1jÁ€¦ˆ_l•`·ÝjÚbØ™ßõ˜>ª3a)th&”jèø6”B JWës;Y('”’ È) ¸ãÄP–Ñß½“è—ô³ùCyåýõl©.­‡Ì™ßGg7†*“¬§và ŸñO¶íŸÏ 0ø·€¶éìŠoÿäÌsèo⃺é§`3Ê}@Ãu š[ñ®IÂÝíçˆøasÚ1¯1‹Ó§ÈÅ5˜@eÒŒ˜»•/\eÎW_ ºue€uF“#YÚž«¶Ìk.m¯QÿD_KÛ'Ú üÁ5âØ¾ðXñ“äÆÅ&áöÍ!z°ˆØœˆÁÇÐÉé´»D„KË!À±2Åè4XÃgb,f¡Yxc•¬zŒ-c.¡Á·#ÈÆQܺ1(OYñE(ž‰ÏëMS믢ý­çã×qrÙÁL“Ô,ø‚‡/ÉcÌVxaô¹¨$Öç–Á»ûþ§¶Û…\;¦ÔÏÃ}õ1Æ)£ÄJ#È%ý ¥ä*QN¿ÿ\}Ÿ¡pyx”Œ¶Œ/ó.f~æúОÄ0ÔßÕßÕ¿YP=œ–ú,§EEÝ9#¡Êséy³‹˜&)³lÚÉg”œ1O*]:‹$Eæ'£ e:µÎCÿŒ]¿ý­N$0×v ïr¸]^e…]Œ™f!>/´šçókÉO¾½ëõûIïÚ –@k¦ñmåð§z™’Q\GÁZqï¿%ztí08~”¬ ˆÂÃM+Ž˜e³ÕéHGLÞvüÚyèë½qjþzŽÚoŒÊ–ÁSA˜È¥oŽÎ$O}p²<>kŸ÷;¹†¡ÅSkø+Ú¿ŸÇïãF ·¾q긃pÂMNÍ*jmÙƒ:³ žå̼oby+ÛÁ›è{ŒIÿB܆ûb7¶N¢Õ'ï‹3¹@Vf’¼©Z¬ÍS=bv§‹¶õ«]ñwõwõ¯mZ»9ÊŸcØð.»Q¬É÷㸠pºLÛRŠ\œÜS™„%r0Hé¤$éÑÎÜÈ$,ªÒŸ­Áîc]˜Ÿ[\‘OžWŸz"[ìõ,ôx5Ó©>_"þÑ—‡¬{ÿâ%"õÇkÃûåâó͆ǔcÜnÛ‹þjë× á=Ó-5¦|{ÌBÞoüYÍÒ‚F·ÁÏ^ %Ñorô²Â\‰4©dç\¦krBƒ5 ó£·á½µ ±Ñ¹%%áºNmÛÈüãE·­á§ˆPKƒ •”3ÒÚždî9·ƒ–R˜);öo8å88»¬ˆÂ½¹k#SâΟ{¾éf*y³kAè‰êŒ¡ø)Ä[%FÇ&}ÝèVŠB2í`,g²‘°<ìÆ&oZqE­4vË<ÈŸÊÊ_ñ_æóT#E«öà†Ÿ¿f¥ÈØ’¥£ãrÿgb)tQ+k­ë.ñqt«}D¢–ðœ¦Rp¾r$89 S¨;"m“knR¦[˜SV<¦Õ†—¹4<Õ¯¾qé›S(uM'FÝ„5­yäÍÖ‹[kÄ<­¹~/¹µW4/°ÇÜZÇGÇ öWç4bLùõõÚ8&`mécʳ¿•Íïɹ9¹5 Àº¾¼ny]s‹ÆÑÑçTÙ÷þNïr,x޲ÉÇü9]:ÆŸ[vç Ñ–é‚£Hk~ËQÙ\èOÙÏth:gæƒâL”J *\T:ñYçC^RÜ.o¬e€,7°—4Æjmë×EÙlk~6ÖhÉ¥—ªÛä¨ÏJ·^¨–d|®j›ÙÇ»Q¦á59JÏçD}¡côùp=Cªxé§¡UCãG5D ²ä•ñù®¬Ñ¹®y6Ç[9¢–þ#ᔼ\Ñ*ÆB UÁ¿MÉø¨ìpdú|Õodõ›jÒw¥óQ}ÖPï:í³nï$”BeæþâßG-f®§Lç ÝòiúOWIUäOƉ¢áتë_E½ùa¥K»¨·Ýù^HW»UQƒM;”Y•Yߪâî?W‰¿ªÌñQ•Žw•›%Ž¿÷YU–D¾9zùl;˜¡¢Ñm é¬mÅc„8ÞÔ²*”ΪÚVÜ÷ÍÜÚñÔÿÇT÷ßUç^ufÜØëðKÝóõR6ÉüúchÚèg¾ÏÖ)¨®æö Ç(u&ä†RæàÛS&̡רצþ=|{ʃ®x¿Û†R|éØ¿’ä¸õ:‘ï$t™¼¾Ã0Y|¿uŠB±Æ 8²n(¸\ºv ¤ Üã/›*¿Þxô&„©ÜðBfÐ<1g+?FLG'·Îôëãûáë½ ÛÃ9ht~˜¹“[/zÒ™§~è\œ\QAt΋Ýïxp™omV<Ú*ã#nÇek®ã‚§ìQ×§ë)¹´Ã<‹¿‡¿‚Š Ëêᜠ[süÍÆ­u=ÓšGÃB½/ô¨µÖ}ò~ ¥<[ñ‡N¸Æ’÷Á ‡A ^‹HÛl.úòdvâe¹X­Ýœã{3Ì¡ áÃZ‚RXŠ¡"hŸØ}%Kc…±«¬9Ö\ÙÒ­£¨ÄjK²¸J÷ïý˜+¤rë¸ÚÏ*k>™“‹K;Š;¢žs(Í úL§5Ÿ|Ë..À^WÚûùb‡£~2ŠŽl/«E¡_?i®CS$YMÚÆôÉ; !p†Ròw”)¨uò”†L¡ —|°']¸'ç‹JÉÇMPGÆŸEëCñ40^„ÙŸc³æ]ØæÖó‹ñÒl7Þ¶ë“¿£¿7Oݾ<³—ßoï,`¾ß̖ЭäÝó·ÐV8µöçÍ͈F«(þ^Øá9Vڟ˯g¯]˜pÐpÒà‹\—÷þŽ[Šþ —tùCá‡lÍQ…œ—GþÝjQŒ_û1_r5·¶k­­9B÷›ë­4Öéâ¼Þ†˜ mN¼›ÍâÖx7y^6çØ`‚¸u4k°l¬¹'m˜§î>’µG9„ãRl‘ßeÍ‘ŸŽâÖp Ú,‚NöºÁæyÃïx—/L÷F)#tçØ°µŽ!¯ª¯fä–×ò¡1ksë¡ÉˆeÅáTz·î·œ¦mÅ5Áùæf´ ¸¨¤’ SŽÄÖ¬/j'Öx¯ÊÚÖ¾ Åuu’û†`*r޵1< oik¿]¢›ä€Öª{™‰¢–Ø{ ¾Wò…œ#Å…É.qCÞéf˜ü:Ä$ôƒfüõa±C ‡Vö;RD=yšQDª%ÄmFËá*ª&?€p;ÞUýWÞÆ¯ê¸_9à8ÀÒQE%…~ŸÈGV…§±â’)—) "pü¹O*–üàd±æ‰ÂTÄ%9ui2¹uüÝØ¸5²ÀÆ­5^|«^|«’»ªbµ^\¡½Ð‹„(Z/a)ß¶GëäîPÚ‹K×á.úis¯'\4%Ùп/¸Ýß™ré;ƒƒ&c­TL;¹~[ÿòä³#ÃMñlœñ­Çˆ¶ÎDgàtk­oÖ<šðDŠ+7ó æþÄ­•½Œß¹m(ä+C þÝBrZó¨(cdÙÜ:&ö“¼4.ÆÏ¾OnÆé=r17µdùdlyqÌÒØ2bÜèÖp¾Ñ©^D6„^éÂVX;0•ôî L/U³þ=⩽ث¹uç<Ðä©uhÂ’>ˆè±?Ð?èÉÐf:v1)^†gÍG€UL9þÂ4°‹Ëýúñƒ!C€# þ=>I°†¹ ¶1ÖÛ‹~» ÜFß™·Ñ¾5Áö`Á Âí~9ÜÑ‘Û,Û»dΛå›7ØWežk¥öâÖ~ Ì­•­³u!%žÅçͽԌ¹tîW¶–žafÚïÆôRYÃû¯œ‘|†f´ ༰5ÇZ<­'·†SBËšcÔè*n {¼ìsýÞðÅh¹;¥—Ê¥O#LßáÆÂ¬˜‰±3„œÁ'ÀY›—?Vÿø>ÀÂ^1þùX^UÀ›©±‰§¹KÙÉ¿¨C‡ÇDlÿ”º_˜¸C$Ñäà2ŸÊ×J_âŸs‡Š5¸ãŠ6\J!Š3ï6tÃ;ïçÆ]úÂÉûŠÑÆ9ÊŠ/ùÓ˜[OnKë|èüÅ^ÒÆ.Œ?FɎ逕b0Õ)› Ñ‹zŸ[‚¼ÍàÎv ~r¸G|Çf«!ŽÆ–@ðù'¸Ó;Ìòu¹ º›ZæþÄkÿ:‚¼.•Õu‹kÉ9oœ– s}])Â5Å,º0eâ{ù±Í?ÿ©™±– WÚ=ôIe¢hlrGü$@l}alëW0ïš7©#¼‰¼ÍmÍû¥ÆãÁ4ëv¨U&n}ØcÝîä{.1_+±—ÁLƒÛš«Ç—áÒÎM?z{·F»¹•5GƒQŸû_rµ·ößù8óø.ö¦ØÜ-¢µYõZ‡£x¼ï)p*"òôU㪷Þm;?¾'kŽ›¶tëèš]»G—L/níãlÙ!>Þƒ5Ä™\zúµZ<µ­Þ"ó¼tÞ;÷~wžz¨ÿµ³¿6³Ÿ²£yf×G½ÝæÖÊæÖºï/)®ÌÅeàWAvR=|e’1džwšžy\a]pìødA)zç&¥DçO\bKt¸kž­ßr}?ËÆòÉ(b†ò‘Fì‚ëù©™’L3¤ WÞhÔÚ’ê€ %}¸}"v.ŠD•…D:V2 ›Ë®,³x9ËŠO” ‰%5‡¡,ñB<¤¤’>ϼıúN)u…\$fQÊ<ÉÆÛ%W6N°‰ž›,ÑýfᡇÔ5¹jWU¡/ºÿ<ˆ"O/#YaTW1Ž#l ?¬Mkî%Í?—Ç´=Þ_³õUé‡-,ž683þÐŒ{[ñŽöW<)š!éâ¥/LÚ‰8o3V¬‹É+ƒv1à˜Å7ã0Ïãâï!°Bäb=µáy-¶â±¨‡ºðÁ­u=ÓšGöŒ:Âë.$¹lÔ÷ÒrQõ_)'¯L%d¹W)¿ÊÆ_à’~¤™«] (7‡»%.|£ã±çú`ÈÅ™4à!~ïI&ì Ù72 NÓ¸ pmŸ-A:~ð¦+^Ê.Íì]zi³5Ÿì4·ž§œmlÅ£ápkäç^¥nnݸp§Žo°ùPÜ:îà*ž:²Þv¾Ö&æO4­1ìÂN+=A^c§ÔE×¥å.bÆf ú½¡4憩«V³§9Û*:±bš4æ"xoÏ™OÈÖã}ãÒ>ïÇé'^Óîü¿ZigóÌ8ÌHñš<9#ƒ~brtH‡× P3Ñ2³€mò%¿0§K+ Å ÅøwŽN¡; áE×A©‹KpØ$„ÓS¦ádx ‹5^]äò~&”ºÓÍé¾òÈø³uÇ8LˆWÄÕ_¶iÑ!:?‘[ÃE'VÓš7ý7ßôžòwöÃ%—ö4ßïôÙÇ*ú¯ÁR‘³åè¨ '!Üú*r©É|¾4W47Ð <þ´ÃLry؇HÇ Æq%Ö|•dÂŽí¶%%‰é£Ï¹§`D "žš$êWµW3Áàן$ÐN1³e¾ˆ§‚:Å ÷ê”úHÕ(U‘ø2ÕMòô~ÝV`y漕í§Y ø†¡ƒy—¸U3¹5æÐD‡Ÿ¬p…Ÿ£ÆkÑaõˆÛTÆôƒ--“SGô‚ožpn8‰ÓuÎ-) nD¼’zyÃdø8Ô|Hë„îÞ) ´/tjF¯bÃô§ïYŸK¤˜s;:¦?IŽèÞ:êÖ6¹·cè(*›Ž…¡¾á3Úä¨ %ÜŽ4±4º›Æ(+“ÀÏ¢”—:£¶>©ãüµ sg óÌPÎ(i×àEÄÞ SïDâÖóÐ;¬ù8ÕšO}¢u…u ñÉ•¢ÛvâÝÒV<â8"øµ¸õ­4lÍFnN.=Ž?ºÒ&÷ù9=Ï—çõìè\‘«Þc¸µÏÇ<ÏOÇíïy?шÅLÄ¥9$]ß·Ž1HÍ¥ÞûÆ©9aã* [4Oí£¨Þœ`¥ýxŠ[ûRŸŒažV<òçQÜ::š°&¯­ùÌe[É­O¶xÖêøy‚.Ð\‚UÁ7õN=‘/Æ}éÜÜzè[<õUïÜàÖ·z+ýœz^z–M~ëÙéÒÑK9¯²É‡ÞÝ.ç!›üл»Ó­y~*û yF§¹>E¸ð¹ÖÝ;ohÌxé$…ëŸåµ&b¢ŒÇfÅU¤SÆ›ê¥O¡~°¡&¢(wsgYðóXbÄÇ ¥Ÿ3rMn¼’žû/Ÿûã ýÙ@L"šs³™p©E)7_dÓ¾Pïß Ðè7¢SÀ…Íßø•àdsªRD{‡.Õß ©8}Ì>øLªÇx|ß6*ÉW8¯šžR]½¬r¿§³kÆíùm¼‡ÙPFrí£táü€ ¼Ñ‹Øøl›\Ù.õÕgÙ䜑WéÒXK¨oö¤Ž³c³æãѰ¸¹5½ë0QcWÑts ÏPÐçëó˜šT„† F¼«¦aùºJß ñFŠhpš~$‰æéU»°æ èGçS¼±#¦ØÉ9ñg~"2FÌD"£ˆ¬QŒ"rE±+ç•×þ$ößµèÈöbc1 &™¯Ñ­¨éE¸ ïTöýÑib¨gp¼ Ôû›S£+¥à×då[±¿Í(jMLŠ+J](ûJÑ=Ñ?šJQGsÉÛÇSkÖÆ7}ž·^òÂ0·Žwæ£ö'~´Ê‰É¥ï§â<ç¦õûù=íçâÂôÉ­cEžcû¾µ¿|ü¸½ ›KÃü ]÷›¯[öüà~¸¶ã´öÓ…ýžÛïîÇunºÉs\ÚÅ’Š¡“}¥Q8¯Å Ç¥Îf¸«á¯lƒâ¤Z·s¤ò*˼¹ÿœ^ëP¿£Øxۙ߳58Ši,‰wC¼Ów¦J(,09ÆEî›HÓš\þ;¹´~ãyÓ›ž*¢Rˆ¾; ¥¢‹èÎÝHipÜPC匭 èH 'g&xæÝâÛÂÍ|Á_~î»nXàý¬+ä37OÝ4éUÜ:<·×öýÔl”úDtK#+?¬ùúØ?#Bq'ñÔ\-£¸õùÁ­ç·ܺ}péõq<ÖÊÈm:<ÂÔˆÇCó¸’’8¸B%™ SÈôHÍ(¨B%ä†Rºb(d‚AÏ` ûÆÓ2GV‚3ž3DfôBÞÉS££w·ViŸ\ÚÅøÈ™¿?/ú&¬1BQ8ú’QÄ,Í~›Q\œÄ!Fθ‡÷Wb`þtœï¤Çoæ2£@‹ÔˆâäPˆÞJôH‹.£p#Ô¸O×' CÛú|Šð• ÁßE·°ŽUgA$1Ð%HÄí`©"ØŽÎÞ8Dx…bUÓ‡³EÐW‘_á&c°¨p4ùVá!6¡©æž&u±ò“<’@PªaR›ÍÀ(ËûÏ £~%”ºØB<Ñ'ð‰‚{ö2„}xɃÙSÁ1`táô„TáDuëSºÞw„ùs¢R;¿¼¬<£——fJnÊ£¸µV2Ön·KÄQ-ØØú_ŒâÆl  á[«mh! + D ˆø\;ZyÜóö›¯Ç[·únîÃwl°e¢µñ”Ï·\w]yoþþfÛ~G¶Ä½k¶µ°5OwkÞ4Þõ:’Zéæ©£û¨Œ÷ýQiò7ζ¶<Æ×‘ŸfíKîÞ‡EŒÙúLÄx`J‘à›  ÖfM(Õ<”Ùz]ó¼D¾ýÅhVÞg†?…ÙŒbbä#ààr‚RQU—á<ÁÏ¿Œ1ŽÄ–±o­c‡)­þúÂŒ¹Ä–|@’J2¶[RÊ«g€`ëKc©É©‡C+äiè¬0£©¨$ǘ“Rê(}N™•ãŒ)u!|8:F¨°ìè|4L…Õ'hÒðçæ½ÿÞ‘x&Þ î;‘ß!“ÐÉ“•Ðj\´qhB¹&AlüP·¹µ¡)ÄæÝèËDoðý’‡œ’„SÇΰ<¹tÓc`nÝNùº˜K7Ö8Å¥±…f°ôM;ÝÜZëÀ—öÅJ^¯=||0sÒ‡…ë!¤!l\ÕT ƒ~ú4ŠÊn:E"ª_FßÁ—3`\¿J“:bˆÞŸ@׺âvD8þ䣄'…„Ûü¾ò<3û`D1 ÆÊ“èÞÞ—ðDD†{óp¡om™2¦QŠDj,hXìOÖ7⽓¼=¼öñòпAONj[ó ‡“\z0žˆíkÅÅu¾ùâHzìÓÖ!ç(nݯBÖ6.úΦàF;Û¶8KôÑå³%­«’§íÓA°€U|×HÀ?ó^ô+¾Æ–Ž»¹ávä]Gõ?1VylæÖCý æ©ÙSe­çŸÎQÜZ¿ã'ˆŸ-—`.Tõ0«ÌRv1ìÒÿ–w¦‹Ñ9õþ…Eôjš`NŒ&7^c…$N¸lIl¯û×ÎxLsî Ž4Çs ﯢëmĆŠõšä·®Ï·¨ÿÄÛŽÆo@ñyîèŒ7À«Þ¦ ¢­oAð,þoI\ýxrÜ%šh·¢ó¥: ­UqëÉx2¦ÙS”*jšGŸ‰X˜+…‚Q›mºFžêo¢“ödó¹)È$Â0-M»µ5ŸŒüW ¥ˆ´Ó“[³í‰ —–7‡O(«‹²ä ¦r&·® lË øû{>΋Ó|wÞtœÇóæhÌh¿§‹åyèø‹KG7ÑÓŠ[GÏ4^aÌ¥£¸Ÿ¬áº&T ãàÝãÚ¸ôç÷­µ?—1žÐôºÓø*óæÒpÛ¸œÈÅ“[³è*n­û—Ü÷“×ß¹é@Ã_™Ê†0Ú/—‹1}‚ÜÂRñ†m>󈦢Qýl ÚF&ÂmŒë‹p{}ñ釷= •d¡±ä`ª¸'¾GºÏ™·¶g!º0œË°.ÊO¬!ýeŒÍXÙ|ù ¼- °Í—~Š`9*ql#:C2v›Ya?£vé ˆ$ŠOtõ}PÇ{¾7\øIWÂÛ':.I¸ÎW}Ôº³‰p{¡C? B¼Q wT'唃˜XÔçA'\#^Žœ2â®n$sëÆ‘üäÈ$=ÿN]ѺÄ6`'_@ĤÐ0¾lo— JaÆh³ô1‰æ!6vrí\§‚®/”u'$úŒéÂÐúËF;#,â…Û2ªUèï畼ïÔ´$ö¥±œñ:Ù·ãÅ©µ3cIÿ2J·TÎßälNÝ0¸óKüѯ˜[÷/­þ=‡2Œbj£Pt«*( ß툭u¤Þ#â”?Ì{ŽÂ’?)j~ÓMn%‰£ñþœy㌹qkºŠ$O͹JÅ­9¥§¸´4Ÿí^?ا:7¤ kQ†0ÃwB©˜Þ7ÓÀ¡€4Z12¦Š©˜X2ŸfH¥šF1ŒË'7›adÑwƒ)0ÇöÙfž ™ÏV§’ç?,È_¼¹[¬³c&®Å(bôbïãäïã &š­á-âÐiÈ*ALXÌí§‹p»ÃaŸ$áBî]koçös1‰(°›?…ÐÇÁà>1»!Îh¦¦Zã€7£$Àͅ굨vw úÑöömãogq ØÉ€<Bcº…až®M#Àú¹qkÆ)á+Ö¢£tá‡uŒ‰NxýMDžš¤›Ö&~—àп†AÅp3Vü8ø)`¢¢lgÜ_K›œÏL¥K«–H»s,)ÆXµ– ýººš'7'{mš¿¯0‚R:xAŸBÇŒÿvhï¶L¼} `9 ;ˆi×سw±œ¿n´s ¹I‡Œ¼Œ»ÿëšG6>ÚÆ¥#K´‘lÍcbرsiDb?6ýk÷ïýì||üNT]A_ló{7'o&—n";0ua«Ê‹£ÁÂbk>†+¹õx¾Jv2hͯý˜#ÈËS¿ët°i“û¼œ.íÀÛ¶>?WæÑÌÂÈ…xk¤ËÆ «Æ¹}"Ä;ñÉ$ V¦ÁIS»ôiA.&›`óÅZÂiRˆlžÆ4~ºµÄ–zmDÑ%yד*©«ïMyÐõç,Cˆ€ìBž»ÒÛâ®N¾Âæ=½!ýw_×pøËˆ˜»ÓO Jé üÃüE¾‡m¦é½¶Ò¤®Ãj‡Eˆ¡² àƒÎYC©žU''iÆ*rC+¥ _Û&0ɳҥãm<öc›\—éÒŠ4Ê&Ÿ 4ïtë›m´äãàäSsëqD£çÙlqLDÝÒ©&ØæyùùŽjÿÞ®‡õéI­(‡]gÈ)¢£DfÈoäŽCŸBÕ]f÷Áå0Û1>§û,zr§Vú£øùuþ¹±÷HhbsÉŽÉ寷©äÉ¡=SId“3©åÇŽS¯©–ö‘AÖ}w¾~r×®†pšx÷@ßÔ|›í;ù]âßûìrx–õ·t¾'¥D®‰ðÑ™ÐèçöoÅ=æÖZl.ó1 BÑQ6 úu©LÔù”V“WAzj"ifi-õX\zº°0—ƪ\×;Ã]•ñÆ£püV…ˆ“ÄŒõç­Jt·Ö[gq馗±äÒ•/ŽU-T˜˜[Gÿï¾ÿMsÑ!ýýàkz¢ 1·öþšÞÅ)üwæ/}×M×Mvæ¨R É_7ø¸L ˆév+Ë .ƒÃà‚þ>¡».RéÉ”r&ñ$‚õ((‹ûlu— ¸}ºQùwË*$Tf¨l:éò|qYŽ“›dozð Juω’ޱíYT’Íï™8õñæ/}eÅâÏ2ÙLZÜ ÏÊ™ ë¯ùIy’g(päÜŒsÁT'Æs2FOÛ6"&ÌòÜü±o8%މϱ'\ZÍzÛpJ÷|}C &EÇ¥ŒÙüîL¹Ï÷?@àdè܇¢¼áÅp¬Ì­×¾¡”{¯-Á€1¤ú¾¡Åe¬ƒ¼.¹ñJ‰âäý•ãÚ®<ÖÆmÎäǽgûWR TçtÒF”¶çéõø(p0‚9ÕCàÌŸ) ÎŒ9¬­Æ¡ìÍÇßëMñ±õ¼ž =ózÊPTv8?Ýr#¿ÒD¨ÙL{øVwi ðAí«ÎùÈTÀ1,¶€q%„ ç»èÕÒžèÖ1”:R? áOºÆLï‘J?$cÈ8XN£ÒNŒÝDn;íUY†sû ¥:_{d y&ň|VºmK(ÅoÖÕ}V^VïS;ÃÂ5 ¥àN‘*ÜgFB©ŸŒs"K1ÔAÃø<ÊÓ·ˆ(Pêµ4dÜ'œc8Åóð®…(t}›Ï¯ü¹ÿÓUx”Óy)TS½êñ­~Ï:_WÓ`û% ÷NlÙ9?±d£…)•^OÊëWM©—™1”äXVaêˆr‡",Aqµ{PJÄ3ÉŸÙŠ6©³£_bÑÂjjßZvƒUYn( ¾Ò:.ª Ê[,Õ™„ºI±»™”1ÀÍ–xÛPÒã“N1€'Ù‡5GTäY\õIcˆ¼x/sú'·Ž1“ˆµ(,ã±N‘)%Ze¥äJKïlÂ6¾ºË˜¼e‰)ã)¿/›¤?%ëÍ 1÷mU‰ –CÑl“Gs@ë˜ÂAsONÎ’ˆZ/­8&ÆâÒØfôG$šu·öñøïv?¹ÿ‡“_Ú¡x«þYëÆ\œÜZ§ãÝêÞ‡çÂu¥ŒYYp 6…ŒGæE)£ûä®Ã—ôÅ~¦ ]ZÑB'|Q˘võ•Œn‡v¶Žiáç»!@•¤“…wÙï²±Ú&jÜÉ G– .’T’“ùt|æ×]jO¦’þY—3Y¬äÙ(á}v[™à ©0× œ°а "±Ioj¯6ÇnèúG”©–H=Öœ“EdY­kpŽ”ï€n»0¢Œà:Œ-äüJ#Š(kœBˆP;’QZ²‰#ê¢DØ!´Î4¢*~²ØñíãÝ\|ÿCE„Óúži ;öç4ª(Ü~ÒeŸýD¡;gBÔmW7µDømí²Éã]enéÒˆßx Lsì'¼ÕbR«/…¨%ƒ¢‹ZÅžî„R¼†TÛˆ•on?¢¾c¬ÚÖ\û÷ëÐ×ñÆC+ Çó•Tòæû­LÁ»oIp¯ûŽÎéÛáx¦z°1Ùfƒ}¼ª×7Ù«×"8¼5ò‡¼_Æžy’[ûR™[ûR¡ÞÇâYl †Iyú–bð;˜¾S&9œÎƒûg&qæÈ„Ÿ’@;U¾Ô-W†n ä5ÀÍ©;5Éï6Ž~Û{£” Ýí47böþÚqâ't:FIEù‘ o®í‡lÍ1Èúl\Sþ/¾3íB:ÓÅScvÞfÕÜC§ üÑÅ­±2dzqë[õ§÷'ÉJÛþ­uyqb9¶‰*üªK'™êzŠRê~qAhtR/vp~#¦¼¬ðÅÕäL%Xð,+ŒÈbGaëq³¡62n]Û¤þ\qÆøÝ t=÷FjÙ5ÃZز=|G’ŒQÿèÓ–1=Æ+Õ’y0iÛs¨%›\ cá´ù~Ë'%ëϼ>ùLIÐØe•  ½mÇö'Iktö­ŒÉ²%žëwñ“ä÷_%É=7‡Aw¹ÈÕÆkÃI\,ªmIIF7éŸIµ<ˆ“ЏÈÊ’ûx•ܯ"<ÃÇœµÕ»–B˜ë¯›s­Ÿ©U‘Ìõ2Á6î¾?;3ê¯H0…^„Û A{8[7ô4Ñí¸Œàê…¤Z\šºŒÞ`û8Ë /CJJy3BIZᅎ碔Œ”ˆ vG¯æ(º¸L\ZóîëQN,Ž”:–‹A’¹t;a6âà³3±²d¸=i‹/-ßætií'mòø½±¥Kë8Šþ…~L¿¸F¶âƒ`'—þ}œúžÏGÁ©FžÐ÷ÍVü¤ßrrë«ãú¥M®ãÎtŸ‡Ž¯k9;-!ÈžŽ^6yç¢M™n}âz—5g¾¾qéèBé«lò Çt_žg¸(ÒbRôÁ(Kîüežù s€Ûf;çP~~Ïù7Âȹ„ÜzȯÂû-íý3+ß*_ÇÂV£sI@,•mÚ>Nn­ó4Ïó®ãÄïÄýOžGZóÅØ›É­G2ÒšÇR)Ñ”0—†³tïi“ûéwz–ç—ÖßÙ¿ÅÂ!ËT,šžù%WT†U.q2Œ `~:…¡˜ÊΈ#Ó0Èì=“p›¥,·ùî?çü|BNxÜÀY³ûÎw!B÷(íÛúY-gŒ½E1q^ñ²..ý°(czs7Q) p­4„' JÅØÁuÙjÔ;^¶4,€ jsë8‹d“se‡J—Ž€lò¡•œ¾éãªÜpýÎ W憵çŒRÌ®O§ÃÿÅŒ"^“QyÒ.ÖÖ†T‹Ážm8Ø#xi“óÁ«ôVmõ›ÓòNº¼ û«ïF¸¤ö&œòüÂêR\k>Ke诓MÎ5\+]kºZaA¶¸VEÈt鈒ˆp¿²ÉOØ•nýÀG¿¬xôäOqë(ØŽ¾Yó ]që ¾ì/ ~Ë¡-*´Qù*~;ÞhÌ­#ª ÞÌ­cê@/žZ×=¹´¯¯÷»çw-7à’àϰ OP[qì§—ÎçO6¹žST´sm¿£¿7·vAcž ¢Ìf™ã_yQr²åg*¹¾ÖöX"¿z~$ôxù‰ð¯»øK.í?û,•Yúûy_ŽX-x,»êO¢Î±2ŠæÇÏíD”®ïGŸ±œá¥O¸¶ c›°$Ü^(ìE°½¾0?ÃÌK„Ûsiâù÷ÔöÏU°IÅ=à=xó?9«ã⤴æˆzrn\zÑiª¬ù`JnÝ1‰M-´%?\bÇK7¸„ÏâÒxm@÷º¸4–j·ääÔqžXs(¹t\¾^ßO½úëx^ºsˆÓæ/œ÷gž:¯—~O߇kûs—Æ«Á~¼Òy\“l]•¡¸Ëˆ"D{aË>9¾NcŠN…™XóÓÒmŒDéTÉ›=t©}|úæÖ÷¡¬á¿—ö~”MØwB?Â^ñ㕽t8þóŸœ&_° Rz¦ý„ÇŒ‡–Oª—XV …Tžê¼·TÄ_A)ÄÍHCxq‚ŒA[õ r`ê46W”Jø€DHÁØ"½ˆ.ilv|WŸð´Scs N‹Äçúr‘åÁG¾ÍçÑÏkØŽøû ö>Ø ŽAxJzÃ)—¼ÝÌ¥q™Ö(+<°vâZÏf 3ß‘œ#ËÂCïHHååFèU®4zŸiý' ka…Ñá1œ®ÓÖØw¾®ÜÝ ‡%.Š×M-¹m³¥ÏÈ_ÓN‘Kª¥ç¸ËNO¼'Ä%JJ†³¢’^2tn‰ñ$ôä=ìßÀÝÜ6ìCçè0TJNv×¶‘Ix„¢ÆÍ¤$s¸—Í™„¸NÏ,+C¨»"(k>±Žñ›o§—áWÙâEA„M’MN/þJ—Žòö¼ÊšcÜ‘˜ƒbÝÄ\!DâYt°3d8úO¡×Ýaà].Ž_£¸µ÷c›|°W?Ó‡ 4FkÝ)ûça§ÖÏåeÃxôQ—ÉÖ\Ëps©ÚU.§Ïv¹tY|™ wòP* ÁmÅö%— ×i»ó(ä÷tjöÈ•5—_”?K¿gžÚ×Áß÷õø¼:ÿSogiÍ9黸µ´¤5§oZqi,,v•Ý8¢ÔléÔª£ßYÞߘÍE·¥äÖ°ãƒÙóƒomr?Æ|<Ù1ÞGÖUg8¥H–™”ÄÅDÖï*£ 7—eú}.=¹8s±©¹ÕVZó¡@PÉ¥ãIÙ˜ÆR£=)U´—>0uÂ)¨6Ž4“ýï·¦hÛ ‡#ÆHÕ×ü!”!ü¹Åg2Šðg½õ)rD8¶/^õ‹oÉR7›‹‚R˜û´´Æ½Á '“­ãEüš«ë'µ{¢÷/‹éeý€‹™Dœú{°¯²KÃ÷™<5^¥{Yóx¥xæÒ}øGÚü¢Ê]ÅS\X!S£¿ÿÉ…&c,®¬xôQß«¸õGnLîã1Ïã›*ù”‡˜[˜¿òèÒG12ÇL›<®7ü³”.ÑÙßÓÅFG-F«n”1EÕ! •êô0 2I9:ž©rû~ýÞN9½4S!}°ƒñz'TJ˜Aè@Å|Øs˜ͺílkbþ×£¡Nà›.©¸W;lcn®·Ñé.¢íÁ@ü9lÜ¥~ëB¬^~úXâîƒPùm¦Â\íîNœ¸.‰‹–Ì5ÌEzÈô"Ÿr®fX/X*âÞìwóÖT¾Ùš#æô–.ý°å"“”cHN¤º9kTÆð@8§Qiy!Cž€Ó¨TBá÷à»h;ÙOp—1ÅQaË‚6¦\ÍÅTk»D! ÏDòR(bŒk¥Á$D’~Êb…f3ŠË”ëäÆÐ ·/Dšæ\,†Çíá&¾ &xa MÆN2|W„ÇÝu‡A„¤ÎIxŠ5Á¿¢Ð¸Ýƒ$£¶=9—9­¹‡aÌ­1±p³Éïô»¸¾a6¹l¢¯ÞCX¬FqÃ¥pÈïrÈß’Ýk+së‹}8iÍÑàÞÒ­5Ð1§î –œ‡"4Ý›½Ô?¤Xqë<œÔG£TI?y²< Ÿ\É­ób9‹2S2»ˆÀ›9ñ¢lk~rÄ8¹õÅ‘ô´æº1É­},ÎÎ@ZŒ,¹õ°c„¹Ýfè£ùælM7ySs®Sò´â8—V\ZÍ2IÙ{ìDª›ï*2z¤øpšQÀãÑ߆ðîó¤|ÒG–’K»ü6·þ,¿ÍóæÊf½À›Zй83žz18ÜTÀ Ì`Ñ„V\øsLüŠ€n#ˆî-ܳo;%¶c˜¿éSH§G怈ÃÇOŸ>_àîÏÆ{Äó›8Ó^ô½¹é²d51½R* ú#ÿ:Nò̰ŒÞ‡eFÁi„&å&/bz"úu4Ñ«Iý²·nËý·>å—V|Ò{&¹5"Œ.߯;ò¦5ÇËSÜúäd‚´æ¨uWqi¬K÷ô´Éu8™n­ÃÅå OG^¹}Ž_lÅÕ!¹uçd¿²âã#ÝzÈù'­øäù$·7‚p(²MÞÀ&Ó­éÕYç¥ãU6H¾g‹sû;äød8Û䜊*]:‚Åu²}zv( oYó“ûKN=†½µ-Î…“*ÝúÜ¢-º …0VnF¡RŽØã‹ÁÕA:GqiÆ$ëÅ¥3ï).ͰîÛ~¤ñ~×ׯ¥Ç{?©gÏK£'ƒW ù&ŽÔrx†¯ñ]/ÎÓU—<Õ5g,yªKbÃHkÛN$u "Ì<Ÿ<_ñÔ:&WEª¦Tù&ø& Nƒ«‚Eƒ2`Ã+ä—æÁ†:ü)/——ÅÏÌ©O§cJ°Å…  üòë¬X½Î^e¦®£º¥Ý,Ó3zz°LÅLl™EO}ݺ)bWqjìþÅ¥yïׯ©Ù­ø·nG¾4 ¡¾i¼NwèçœC¹›wYq6—+ÝzÈ)­y´ÿ7,É7¸4ì#$¨S‹<¤¹Dš¾NJ‰–VÖßâi$¥ôYxNÖ GrëûR7¹´/&F©ù`0²ä¡O!ú›Qp}›=û̶墲Âó|S_‚ö²ÀºN¦›\{®EAŸ»-[ê8)™ÿ眊¦×·(y—f££—ƒ=tÉ¥qÃ#þIòëËñçé±k.yö~’§ÆóYûÙ5<¥õ÷ƒëM–î eór/§mŠpõ‡ˆ¶O<‹¬,¸}ÖCÌ'5Ìág]):pgx?[y.äU`µ²S]¿1S³÷q¹Îm#“½.*Å@liű—5’[Óã.+Þ17R¸b44™XÅ­À~2Ï÷²pß>à˜lküÀ7¥’­#ḻYŸo^œ vÏž¤ïVʶ“Øé+!-m[‚ÁDàÇé,0!„VYFÝÀ{bÅ#*·s¤I:з©4ˆðÆìiÄ艪ˆ“ç+#v²¿ 'ç8E<¢¾ñØžq­Õ»Ü8Õž]Å­—ê²Éç×'pºô©ê#? >]ÌtrÒCÚGcoK†¼#mâw"ýß1‡À6i»_‰ñ¢'÷uщ¾Ô…}÷²É9 TéÖ‰J;Ø¡©ýçïˆcÙK„–1§öáÕß]òSäLŸäÒ>ŽÚ«Fƾ_™Ó™×Ü:x¨Š[‡«Öx¶›$훩L‘ ~ò€Ÿ‘´ÄpÛnI%]<Ø>o™,íÒ¥Á'-œ #Ïc°^^)I<Ó;“L0gþ•”$¼ÙQ°á,oúë3öal¬çm‘ÀE:®JIG)[ >ÈýWÖó¾Æê”‚Ö=ÑóŠg·_ dzÊGÝ î?ITæ¹V1íbÝž‹sL‘´C±9cI6¹fJeºt´EÆQvãø»-zª=f»ñq>¯tèÅ)³i7>®ë•NÍ[e‹‡ËØž}²Ó§aÙ’î ˜Gƒ©ÜÏË’?œHšÜ:fÄÝ/;àÇknÝÑ.]/ îëmn­û”Ÿq—{вkóŽqÁí²PeIÖ€Y%F†Äš8ì.fÏ ÞZø>MŽy["؆£©>I÷Ò‚f Bu±ÃçâH?†GšaÇH·Ó¤îÝÊ&g–¯té(®ï§lò[£N—z ·5¾Ï›¹7=å<‘Vüä-½80±ØC¼èÜk¨Øœ76Cª“]i‚Vºê„RºÀú,ÆñÐõ ¡»Ú|,RE«¡ÔD=g(ÅÃUÀà\aç¡O!4–#Ã`ÖÕPc ¥4L·Ø9Es›Vèl7ƒ­$·¾è´“ÜZ7 ¹µ" æîï/Çæo*æñ5(°(å@H²¤–tóè^ ’¥¢šQ…ãòåF&·¼²æ"Ühçg’"º2ºl&4G’qJ‚(!àÌØ9ÝA_ÀxÄ=ÒÖ® 'ppéܱ¹µö/osß\È4NUžý^2¡¾Qœ9Å`;ã…'«îïZqé¼K“T¥}¶ŒIÇÞ3m¸¥QI&hËÄã‘II®®¾œ;dô³kKJ’9"“’8Gd^Ú²/œg3ÛJãïâÖ.Xr;¼ÁYe½Ecô•ð*ÛÉ\o¸JÐÏg|Ë¿r®.vf%‡ãUáð*GN®Ú)õI±>YÃfqÁ½ƒ†ŒëšQ ‘bC×E#ŠNWOºRÄÿˆp[UyÔ:ÎŽút§:‰ûMy2óxQH.?”T’I)‘«ëB–¦_¦Ãî½Ö{­…­á?ô´âÒØí}oüÜüÇÆU“Z+É¥¹NòU\þÔ϶ŸM³×ZïÓ:oµŠÌ¥/:ˆ&·öï€7~\µ?ó—>ñ@À Ëî…yYÅSs\¨E3²^yÇë~›QÀDÝcì>¹fæ=m;Wµ5¤Š>BÌ0£YXüïõÓB:¶rd¦‡JOFð·>D ?,Õƒ¦d€¾¹F.ÒÜ®óÊ#%ô9‡Ïæ3ÉùðݱÆ*%’"Eb…€\*•…“Ѐ¶)“LS,j¾@=*¾8¿¡ËÉ6TcrÒaæÜXŸ)Ëà/ªèŽÿw߬9gA—>¹¾[ZóxùYgñÔ\ù¶,G%1¸v¯²É5—éÒш;e›ß{ÐÃ[Ü:Î1ÎuÁg§Î[çcžºó7Í­®Ç—\ž1)nõ¾0!.Íi"­¸4þÇ‹©¹4\¨íûҘ꣹´ïxòÌ @‡Åj1%á¡óJŒë>e“Çß\g¥§Ö[qì!cÊŠ‡Sòu·ö}·‡ÏT+n=åÚvãhméZÙÅžmrí;Ó¥}ÞOÌÐã†&Áv%¸q|¦y±‡ÖUb¼™‡ºAÍ·Œ<µFS˜»ƒx7c³”º9øæÖ£eͺ’$—Æ´–§lrºÏTºtø‰Åhœmr.Ï]éÖ'bþ”5¿9ï/¹ôäØMÚGT‚=ºÉUF×1¯3¯cq_W^¯*llY(}”ÝþßÜȤ$‰ç–”ã}lI&Ñ e¾Ê:À¤ê—øùÝük×ù®..¼IßèÌÆ4E²{»1DŒJú¢«9› O)¦ JEtvD„m|Itì 26±‚ud²ô²gެ9º ®â©å¶o{jºÂç~ijä‚7EŒ°bÀO‘Š5‹“Pè¬dÄ<ãÂ*]Üá6/ug@½<á‡YéÖ'}#üŒ£âþî¨Mc¤Ù†¯üÕÔ{Tª¥vìÊ ¨ ‚0_¬¡‡ ~,BÏO¡®¡_2 #f¼¡<ü)„Ù É(|ji;×칸0'‰ÅxZÕLs–5Ç*ÞãÍ5Í34&ÌÒ™.žÑ;Ž´Éñêµ¥[;…­yt\E_´Ž,òlluqu¢¼\ÊFìæ|ƒ•»†c‹®YÜzòAµ1EW.•&`E¬:\¾YóóbŒ¹õ©`ÚiÅÑ伊[#Øö™—¥.SÜÒµY_æ¹É­£‘ð²âè¶Š[O5.Ubn¿Ïý—öy‹§¾=#Ö\úæ Ú7o¸h,%—öMÚ,y¼Ñ?·Ž*âÞ¸tÞ|=þ[Q1ÞtàIš×F%ÙW—T’ù#©¤rOÌÙà‹Ê÷÷<´úÓU8¢’YÄÙ £¼Rå¢Z%\jÐJ›øû|¥î¿c+ÌC "ïD; µ„VR`(¥ÚNЇÇ_ŽÈ‹‘áúüç‰(6‚ !òRmå«×c“Ѓ~Â7PE´Ke0‹½øp¡ŒÂ6³ç–}ÛT³€ ¶Éê.øM_0´¤t¡2“©˜fùì*×ÍWÙ®ÏY‘£ÃÜ- 5aÔìú•§m=ñWA'žEÚùuÞeŠ~¤f©ØÊ˜r9räú‹#¶×öT [¶zÈ®’î¥ISî;¶<³0Þ«¿l+óª ©fMÙø+ZcP0Õë©3Ö þ7UÁ‘µ[‹Î42„‹Óã¥~2ÙÌO¡Å|O¶þÊö·n àªNG·Ž‡‹½ÌÑQ.*¯ßqöI!_b’RÆd¾´šôf(Œe&¥QÊÄóm,½°.tíÄö¹ßüaÇÝ>oÞéFn›n[ºu ËÎU6¹kh§»½Ðð±­šôAŒñ¸Gšç„{3¦<ëÄ’?Ont÷ȘÆPô“PJ‰Ê0ºkº¥™µ¤˜û¶ ãOõÉ«Ijy¾k@J={YóåcŠgï/j±W•÷®ÿw®Eýöçwë?¼bÿ±–€[üeà!Û5˜ÚÆ–Td`ÒÇ–"Þ Xw sqÍëJà ÑŰ>D,ûÈ^÷Û>sÕ<,%$ÀlÆãm™ðØÝ)¸7¾GçØ°¤ÇÚ¾‘àáš i€™±X—D) “z]e+áÞ¼¯×µðËŽw9ÛLðõÊ”Z×6t©ÿ™Ý9÷Òüsziþ¢7åÝïòê‹yuÖ쭴Ϧ۫cæ_Ú#slöO=2Ç¢GF=-Ÿ/tª¦Üîý«–óg;yžœš<#`ûÏãpÁY§¨$æ˜&•TıÄÖñ¸E§;Ê–p3[t¾Šßÿ+m%è/ò Öî@2¦þ ÅÓ=ïÄ– Ó¥’ZjÏ¢’ÚsÕõªÅÉgÇúSËGþ²‰yñüíXB,ŒîSSG¼‘IËG+€bÉïdR¬k<ÛF&ùŠWRÝ­Ž Àp3_rÃÎú/“’øl*)Iž»2ÜðÊ›¸õÿ«ëcÏá{—Å‹o]É?»&Ì­.æãõí“§ÖßùÝÃOhöŠö‰úÉÿèºü·ÞeÕôtS4[yýóýÅÛëŸ_Týº¦w1¾C`P×Ý¥cb6é<õ Šýwô ¾ß?þ\{ѧü~It¢¥îË¿Uâþ©äýËûýçûþ?®¦ù‹|ø¥ƒú‚ŸÉG5¡ò.™²8¥Q¶g´”„’ö²õaþ#×›Ù:®ÿ{,>û€tÑí”Ö–AèëX¿%b7EèØ+MÁ0­4D›BpmÁÁJs`ºTwDêÞ "Æœÿ #WzAuzµ4†Ï׺* *ê†{Ø6FWšT×ÒÖ4†˜ðžiT:ÀŸ¢?Vϼý{ÞpÈMCÈÀâ†R\vÎÆWÐiRpIJ¥0ç)aªøf]Ýgåe­}bg“]¸‚Rè×ÿ¾!ŸßÀåõ1pyýÅÀåõÿóËËUæk0r›dŸT’-†j^ F^*,ÿUT j¬+ã¼í`¯æÏ>À·ç{lm5€L©~+!%"·µÂÖÑY§‘\:ÞSñ æÒˆ÷Ïêû‹Ñ®?öíþ§û|TQ±­‚ÎLjò ±^VOÄ/o›î_\°b¼õ`¯âúG‹ëÖ€zXÉ­u\â¥u>ƒ­>,|­0ï?¹4®Û(žZ69w¯ãõß™ç~õ;>Ÿ¯®G÷BÛ¾ÿyßÅ­u~É­}=2_[?âžÏÄå+•ÜzÈõ5­¸ú·’[;_¥Wþ‹–¸æ "·L.x*È8}X•m˜Z"ß8 Ëcµ—&¼q°•Î@èv’!Üèáqá§RHBÇJ&¡sSXÎ,:ƙӄhÅgçÄ+aÉÉ’µ¬ðƒ :I)ó?8C sz±íÎ×Çþõwq%wÍ.ªâÒ1«jçÖà³si¼äí\:†_\ƒ¶ã±Æëwqk7¢’K»±”÷Á÷å„EÖˆ®9Ý8rC†5.kc6ŠÙ>^˜ïù_û²ƒuâôöóOû —Im(åA¬^ ˆ<Ï´Éã‘dº4ÆH¹ìêß“5 hü¯{/‹ê‡û{€ÞÂkXŸÿ]ïeøuò÷{Ù¯÷2ÞWÞÌUïOh·c2¤·qç°™=ªâ¸¬š‚‹†LWYóÆþ’âÒŽµe+î¢Ãü×ûد÷µÏ÷¸÷ûÞ¸"DT‰èŒbó(lͧV̽œ¥nnÝéµ!•f§›ÝÎ;\v ÇcãÖ“@“§Žˆ Q &–U<”èpÆš#e¢_ÄpÔ‘Ü:Rc $­xì;&Šš[oç»ñŽ}¿¯«Ï|;^L­ö}X•D#ˆ‹¯Ø’ƒƒkæÖ¾ÎiÍ#²Èq·Ö} —…E””O}æy\ü>â¯pö& ùŸ¯á%ZFôŠÎÏJ•üÌËùµ'þ¬°¤~‘‹‡Ÿ'z#¥Äò& ¥bl¥Œ _Ð'ÃÃtVWŒ0]›u‚ÏÓ y5°?W7pê·’<Šd“73Ìôæà†r‘MþÓì}¶dÊ…Øã†Tát2¯Í Ê?ŽQLê[>ši…鸚T²ae¯¨Ò÷?û•R$B×f’ Âõ¶¿Û“ÿìö$«!?|~~5ßäb¡ëå0õH¶8}÷+Ýš]ùûy<¬¯“[ßÿÆñbs;?œ¿ÚÉ¥Ù°oÖœÎyÅ­é0Wvã°cOŸZ}W¾a´½Ò&»]^éXqTyΟç¥Î^åc[sOê‹÷Äw¶>qÞÉ­õôÆu[l^l5µ›€'g¥N¬#’†páÝv{8cJÛ¤ò¨ÌG‘®}‰YáûYl£ VÉžW¿“«Ä J-¾ Éž 4”Š…®gÁQ ¥øåØFhô’J¹t“dø_Ü‚‹ 8‹Ñžmú$‰ÎÇÛ–¡ã§HTÊ{'ÀücWALH«Ïùy¨dÿÎW/óuPÌkëR øS/ÃÜG§Gç»—!VhÀæÃª €ÛêeH›C ?¦}ü¯êeø÷¼~ô~¶µ?:àg·íÏ>6…7FÇ[—V¶·!ì_°¥"V›?…´8Å(àáÏÏíé á³ó÷KÁÿã¥àçÁ½xßãÛ“EÜnOú7ÆZ¦’XªmmV˜+æ&¥<ùÆ #¨\"è<à ‘‡0 !•o›V¦¾‡¾µjäbù(ž:Þ4¶ï[«šŠ›…¿ФlW£Úíðp2Â"dw¸ÎÊØàÂh~RIÈ5•äáêàøÓÊûÈï|4²Má¶‚Û(è¶W6×¼®‡ñn”-\·`ÕÂý©ºçͪa ›7DßøÊ¯N¶/3ªhÍ­ÇP*|²b¦¡TÁ‘ß”ÒïEÏÄÏ Zò¨_Ï£ þyúçs¥Ôþ´'>ÓÌevÚùký²Šè`ëçÑÝeŒ4ЄOíD«a™êç&.Ã<­~ŽnEôqÁRýòÎbÈoÂõ<ö"hÅ]וˆµßÖÙ¯LjtrŸ„NØŠÚ%X.Fßµ4¥ýœ|)'ŠZêÎ…geÄækáN£“7c–5g´þï»»´Ó“[7Ä<ÌCŒï½ÊfÁ£pŒGÊÜÚû±MÎßã /§ÆóU?ƱYòöÈ Tܺa%Ÿ{³æ¼ ‹[_˜ZUV.‡ E.lßÒm‹sm¶J§æÌÀ²Å1æ¼¥—¾_ÓÆâ¼Ï•Ü~Ïó²äÌeÅãòÖȲâ¸òz,†^H»_§=ÝZË…£œ§S8îVÇ™eÍ›ü)’KÞßäg†'éZ˧‚ß—F<ÊVÜÚÇgn­ã¨ë ó»x.iÍãÚaTqë¨sÚ³Yóhß—^t‘O»óu½Ó¡O^ïE/ƒJÿäÖ“ÏGrkNæóýÇ+õÃø1pùM[<òåžNÝ1R¶8òå–^ºo¿«ý s…“§fŒ³âÒQáÁçLÜÚå]®UzaHè3ÿ›cÒc+'SóùQy¯º Ìþ#.DõcUX9k¢â^8Ì*DTd»¦g•û®£ãï:lÞUµÓ^Uõ{gï_ø¨">jÕ'Úë«MaöjSüªZ0êÖÊ~V-±‡?U-Éÿ‹ªÿÞ»Vý¬l÷ŸGèö¨³±fhÔál­®ÙÒoÈ+Ñ¢\š3ͤµŠ[Ÿ±z`C[!¦ºÅ»ÚÂé ~/­x´5Ð"níýØš/6n’[û8¼ŸÈ{};[ñ#«',ùÎu§–XZñ(Œ¸B7ºñ¼£lÅÚ\ Aã£ýµéL·Ö•FÀAOµuÐOt¡sA6y,èzoéÖ?W ¦9¤5ãèÖÄõïÆ=Vqë:ŒãHn}âŽ%·öq›[ûø|~™ã&‹sk_ç<ç(縺ùwýWuû»M„¥·^m/s.î~ÕÙ¿êri×ýÿâ:ý¯ÛŸmý]žOû´-}}Ì?Ú”Ÿux¶>êþÏ6Á¯¶ÃGÛâ³ÍñÙ6ùÕv¹?Ú4Ö>οj+ü¿Úï¶ÉÿÕ¶Dò¶3ï÷ó¿ö]àŸÕFúã;ÒëÝi§ÚÙ`ÐqümTÖªOTîbŽÈt?x¼”ý´ d UO*MêÂßÙžìÿ”Ò¢Ì6'^bÞìÝìÇy2`¼Óʬåˆð†R\…ǦàÏÓ¿¥Iýü­~o?²ó†â«p^Y0ãÜÍZì­K(u±·BS_æÇŸ žlsDç —RŸÉhÿÉ­c8j^e“¦[s=>,Yƒñѯ…9Ì!É­Ñ›wA:ÌŒÖß5ö‡¦vºyj–èÉ­uE“oWXeô¼6×~‰¬' J)' *—1Ï ®‘1è Œã>Órκá™]¶÷‘†P9^PJHÔ5ÆDÓ;Öžñ´ÉšcÚO”°É©óÚo–¼Á9¯¸´ï‘ïqŒÈÄ] aÖ<ޝ_—Ž•!´Ä7-Ïãóø± ×⪉’Ž_ÚûMž¿£ýÞì„Å¢°@‹Êv㽿Ó;_}–GMÞØÏtëXP»ovãm¼ÓKÞu–-~¡[µÒ¥£…xö²Éÿ.Ó¥£%¹î²É;Ž«Ò­/ôc–Ýxïït´äãú®²;ïÏ;½s^ÅBNöu÷ý9Ð"βÅeRØW£|§û쇉Ï[g÷Œ‹å*ãñNÁ*ûS'cØ_iRk7³ÿáÏ—¦ñ«ô¼_§# ‡ˆJÇ_ŽÐtû`ðP1),= ¥â|Ê.Ô…(èÃ[ Ÿ†Rðž™ ©â58QËpJ‹'M?¢=hï‚R‹­."Æœ;Œ—®ÿbHãUGý9•N*¾Òïüý¡/³¿)5Ðà ¥2™W ¥øM,,,¼cÝ>yî$·†×è±Yq„¯[Å­'›˜iwÞ>Ò¡µÔMÚ÷öNïËœjªO5ÑŠ/¬šîi±®ëÁ}æÖb>6kÞT ›[3r@¼i ×è²Å,ç§–X·HTêæbI‚R7#õÅŒ,tÝD<-sÈzK6¹ËéÖ ®¬9»ö¿x;¼¿´â7³’[ãi¹6»ñÏôƒ£ø{Ûóõr, â¶-s9áFÈѧ[_(Ën<Þ”öôÆ^ø©7xØ#ÞÌ–Þ9©aêÍÙÆÙPÙNe‰KÞD7TºÁ*òT"ÖåöÔåSÈ|G|É dÂĺgc¨ËЊ¾ R˜á9¡Îacx¢W&ÔùRÑÌ#”Rf)i(/–rGÜHL‡·Æ´‘§lò‹9<ӭçhmVü`À¶äÒp´J“4Ãf&RÝ´–1”¿Ò¨tŽ2¼^iÑAÍkƒ‘ÿ¥ž‚¥u±ÆnÍ®:fÂÅsšzÁóÍ=¯WÙü^ º¯KÑ•®^Úwç¶sÿ¿ït~ùÏíÉvî­öîÃÞˆ´æ÷ñN·¾®k>4ÓVK·âÖ¾¾ÑtÐ;¯«®_òë›\¤OqkçâäÎÕšškeO<ÿ"Å¥ýý‡½xyýòº‰ï×q×y†zpš~d{>¹¥r®!•|º]nÈb†W3”t¡´ò»%š®ÎyÀ4IJz™†x¼r4ŒìWiè€Ç±ØŒ©/•þ©¼HÌ*‰®^ ñ~ ~&‰gÖüœˆe´ªlò]uîȧ[¹Nwç`±ìÂíUð½KÃ*I?JÖ¨'_%®5—@p1Øöbð]`¾KÑwA-¸x<Ð]7{²°Ok¯Áã,n²{³æœf\ÜšÅêËžëûÏG^<í›(:Ò¯*³ˆ!ÿ]Ĉ1Ÿ™ ™î³"[EºW¨#oG³ãWçÐÚ¯ý'çkt¥Kûøv?êÓ?t„Sû²˜§æå‰ìÀäÒXo8ª˜Ÿæ‘!•w%šR?ç‚Å+oÞW,ŽzoV|=Ûâ©wéø¸øÙ*¿)a ¡32\Lãâ)Mn}± Î<5=‹[óBà”;µ›:¿&Ül]Qïï§Öþ¢Ê€õõˆî¬¸ßæÖÚ_rkÿ~^=G¾^Ÿò¿kšÿÒš&3»nŠoª ‘,dÔ.óóħ+†®ýIwɦgSúÞšÜÆ°,ÇoFù£‰žápè½ùrãD)ö$î@„Åß`(ÕÛ!;_Zý¼ÔÄk!æúvC©I×tA©¦¨$ˆ‰ ÑŸâÒ1C#Âÿ¿2b䜳xêãÅ_zÎü½¦)ÊQ!¦¹4£Çظ¼\±2R+. Gð~—wÝ¡P‘àÖ';òü­õ°Ž'µ®GÓ$t²·–û+k>0g¥8u¼¼EÓÖ÷&c%§Fk82pþ®öw16TZswfOƈt6-+ÞwºµoÏøäžØàtiß¶‹·}©‡ñÔ«û¹K4[RI¨¾’J¦?(¥ž¯¤’“ËV§ŽŽ¨Y;yé9óÏóÜè@1–ŒF–x–d¯\«c Ì߯Øt=w¨fCÛ&_Ôƒ®ã©nnÅyØ[ŽxX˜ÖãÍŒAÛÍ¥ã™ïÛ÷­Q¶âÖÑóVåGåÃOžZ—ùqöëïÒš_*÷3·ê%½¬9zFqëÏëâë àµqj¼DÖ×%ý´ˆª¬„ëH/J‰%jÇ’®&¦’¼/¹¾Ù°{ž‚žô3OŽ Ä€C{ÏÇÆp(ZÓÔw­…!iü•È+!UüMKç·ëãÏOÆ’wt2^0cŸJé¨ ¥t€í`ÀpóúA)í:Êñxý{Pžè×e :fœ&51a#È€b†RÕõ‚'[@M®>¦[Ü"ÌSœWòÔƒ¬;_ê ŨæÖ=)‹³¥;ÿ?öÎ,IrXDz߱˜0' ûßXîPžùº^]Õf™¿Gî)Š"p—>!1ðÃ3Eèic沑™âܾ'k*λ¸5Róí–¼kÆ–¯äÞþ¾µ_\C2íÎαsçÔñœæ´$âÒ i¯SG;séxÓEf¢äÔxŽoÇkÕôØ×#ÀÂ1‹Kço둆ûRï§öõx®æùy´Ã¯ëJHåS$šòÁ¤%÷“Me¥Ô ŸfA*­GÐÛࣙË8Dr3­`ï¹C)m¿Ã¨ëÊÐ^, †TšPÆFã@†RƒC«7N—œ÷.Þ$eûk™ÔØ×bÈ-láÏ]ak}l•$7k˜;1Ñê>™ô(ÆÝ#b7zûÆU|ט:ËܚϛâÒ®ÚÌ­³*ëðËäGòóxYðÅß'_ësêï9·=ۘъÁÁÉì_¶³ªd2'rëqt½ùØš/4‹[óò—5çCº¸ôçñ&çyé˜féLî æÖ>Nóí¸×G•}Ö£1o@ßž¬©ü¨V“‚OóhŠDKàĞȬž-’I€ñJ¬Me éGáeTëWCŽ@z™Ô×o”¾ƒíÄ–£Õ«©U{ݳõ£¼ƒ=ÛXÛñ›hÁY+v×J› ´SÔÅ‹ÚÍQÁ“®Q†T)n6 |^ì¡´¤“¡ü™èÞ¤üÎM}}'6‚ê ”RgŠ aŒìGcŽP /e3à…çŠ!¢ ÒÆ›åÌeR~gC¨ã”Òab€üÆ„B MüèC¶!¼YG¨LHi™ •¼ÃÊÃ÷ˆxè±{ñØ,ù£ÞFaÉ{aØJæâ){_}A]h—¾Ò¿evGï_Zsy[—îôsOÛø øc=æylq*Üê‘-ˆ~?»wÖç.né#ÏÍŠwvš&·Æ4“k³æô¯ã’Fý~óq×ùÊýæq„«òv8’¨ö6J•âN)U˜¢•N'ð Õ]渱‡“ý\É­cH­­´âkÉ­Ñ!ymV˜Çs|¡–‰d¼ !ŸbÛ¬xçÜPÉ­#wŽ’gÓŠG.¾u·Ž wÌÍê||®Ç<Ïàtâí§íÜzqÿ’[ŸtYIn}ÉEææ£9Z嘀„5BY󛮣ɥs¿d“s¿àBªN :­sâ­²æ]QpæÖS­aÛ÷û½¼Ói~j|„vã}¾—ã¸yBŒÏOÉbÎ/A«‰nRC)NLe(5Ð)°CºkŽ'¡TGÏÜc:ÍñŽvö4‚ËÊÛ²{W(Z=î1ÖýÑ58™Q®¬økƒ¹õàÄ]eÍ•Ã%¹tW:.së¨q"4&­8¦ŸZÅ­½ÿ¶ÉïåÖ“ë;ò,޳o_#.ͯûÜéGÖeH…’r¾Jÿ¹ŸèXºéä³â²䋜!nÝ4þʃzÖPª³u0Õ{ˆò¯Ðßy–5ïì’Ã- D¯Ð]ã…É¥õ~eë“·¸©åbÍŸ?’ÖJ‘Íõu89q«àïRÅ úO &cÈSëe:Ñ<‹Q6˜ñ°·µÝ6†MÉŽ¹LŠA6‚šøS ÞÎi dKñ²íPàhŠÑõAÐýB(œ­8F¿gqk q›÷…5·FZ±»ìdÁüc=æð0Ú P¨ƒ%¹^ëÁ§}òÒÞ. œ ’ šæ¨Éhû£ÙÂÉa]¦–jçfŽçæÖƒi?Ӛ눵z¤<™Ñï0”Â\¹¹—Rè/H½?¤Ò±b:éè¥DvN›€RÚž ”ö¬JKD´Ï&¥EAvYW¬t_b;È×%,îÆ„1\Xwôl±û`l? ”Âðð°Ä€L3”rÛ!D'Ãi(}Ï‹„1<9F­eRa&|vPÃLW TÎÍšcÒW:£y`íåÉ©u¦b‘¨NðŠAT‹¦%Ž[Dm‰[wU|eÅãBݽ¸uôV±Yó;_È¥;[Ai“Æ çrëÉ&zZóe¨¸5#Jv;Ôi=5Ϩ4ØÀË¿­KG%uŒ[D¥$O­óžÜ×ÁO1_æ[^ó*iÅ£WglÅÄ:÷Wvçp~Ù–Có8T,tË ŸýahÅ— A¿z¸x¡çñf6ÍÅÜOQÊç|SÊç~SI ØN}È:¹5“$·Žž§IÁ°1í‰v³í oÓ—¡Ôɹ±¥T_xÛq]åºo2u<£Ò{×@ZUC¢ŒÙ º„Ë‚æðŽøˆgÕbëxÌ»¬x\«¹uG¿÷I÷ àˆ‰cl ·£åæáë~nË­£É¬Yû^ØÛriM7|²cfà=ôÐ{¦¬y;˜€ÊÜ:úS0œ,›\¯X¹œúá\â<šƒnP‹W4]ËŠÇYzŽâÖH1|–5ùµqit㌖¶xãáçréS x[Ÿ¦Ógw;ÛpñäiÑá]<º›óbZ1° ”OSïÉçmrkÍÉ^û©ýñqÜÊI A`攸Ê&`Èc[Nœ×öÅ×ó^ݱ¿ m>ôBöÐÞÇÛ.F2`»æÖaïûmMÎyw“[‡}ÖÛ‚?l~%·~”|¨,øÉÔåÉ­‘„¨•5¿9øžÜ‘dÇË’ë|'·æuâ³—Ýa(¿ñ9ŸÍÎ*ÇÈŒy«OΜèOM+~+Ù©¹µ#gã‹ÛÃH›ãI1u¥-m³¹-—ÆØì(k~*žî5£tXäZÙøI÷hü®+â®3=2±}ÛäƒÝp¹\Úë±M>¸ß¹\ÚûÝ’±Ý˜ä^¶'17 Þ–ÞäÅ­›_FË‚Ç`?¥âÖyœ²>Žæ6ÊCW*y—Ûäƒ9W§ÇI|j‚[^OŸ]tS÷Qß÷v6n6§yê¥ý©ýÀ÷µ¾LÖ='_›P^“Kç}:ÿ,Ç‹a#ºUcô;C>¯É¥½>sko?¯ƒ¯Ë¥až§¼?t9HÀpôýúîiÄ®¯oŽ¢afI.3¤j1;Ì“†ß@.[|þùÅ}ê/ÀwÌc"³ÊœOÁŸþŽ™9D-¶ò=oí FôtLú‘fü%‘­ßèy‰IÊšƒézÒ’Ç·ñŠ%,;ÈVøŠ¼“Jž1ÏÍñ¤5¾p4œaèF otû5UòÔÚaó<îÙŠ™€‘•ã9¿â45SKï‚pîweDBöhsþlpå%µôª„-µÝÏ2£U1n€…K—+*÷…×õµÆ-fsªË‘[Ô²ÅED(‡lòx¾÷m¹5ßFÒFÙ;F$›üd–¾\.=†ôÉo>·r¹4" ޲æ'{¢“[#óÉõ²àïë¸ofÏÇ“bXê~ ¥¢Ñ}&”Š6YŒ¾‡3à¤G)f€ˆ¦3ÞeÍ£­z+ÏÖ½J{yréÅëL`xu4Žâ©×›§>X÷&—Ž©9"À­½Ý8×÷]ûõÉ­ý»CÓ~ ÀÓ1m[ñ¨L”—Ï0iLéunVÜç×ÜZç××~÷ñ>¶ÕµYõv¶)Í¥™'«§}ñy¿—Ï:ž\¯·ï²æ2Ÿ÷Уi^<$¸Ø¦?–òtmÜú¸6nÍt¦Å­>Óó÷^W^1[ó]ÆÅ©™ìL[œ£…µ\ú¦#Mrk¼Ñnß·ÆÛÑÆ­×qm\úR™äÒ‘5bŒâÒxA¿Râmþ2]®_/P£±s¨ø¦íû©{>“[w6üû\ÿÂÉ-k®T2É­LYñƒîÉ¥£_%N¶¹5]ÊžO}ÿøà*:éh.Jeœ§fðÍØø¡‹qñìË&‡ç37Bæâ•!rµ4‚ Å1|ÔMG]š‹±i'ƒdcƒ=—Iáuú²D<ËHH…ã»ýsí„6«ÄÓa0Ÿ;wÐÊqQŒ¾ÔñÉïD*34Úôäjìõ‘1¼¾8e4—IéMNû©}a£‚p&aÕý(ÅÐ=AMQ$Žp[Cº"ž%ÁhCGµ •Ï* Ç1«owâñ•I†Ð¬è/ÍWÞ¹ñGc¡—+¹4ÎÊx6~êqÆì8Å¥v1˜§Ž–ÿÅw=Ïü}žUÌ{·~t “S{;ä­®f^%ñ—^uÕ|¼\ é0"*'Dƒ§5o ^NnÍë-­uåeÔÕ•Òd¾‚Ra˜4Ç0bq†RÁ&‚bÙ”t›4¤šL„.(¥#ŒŽ!LŒ†ÝïL‰»Áèô檭¸ûøsVæ Ù°Ž„RÌßûœLïs"‡£Ì‹ò"ôË Ý±†¥9|JÎÓ&r;NŒG.FòR…Úè ¥:’Cz-¥úå•E–˜ W ÌDhÅUçõŽì‹×ûõO­NîƒÐŸÈ!¯²´Ÿ o'§}iÜEÉ0Ly¤!Œfà\†Rá†Üoà ì^&ÕáœiøÛ÷Ï£ìrÖ„ªRé~ŒÁ£.oÌ—‹È³U<µÒp™Kë8}Ø<&]]¡“)í}Ï¿oöªz(‚Ú¦M„©q’BøaÒ;ÚËJmæz}eff„¶bwo>MGú†ÐŠ{&ˆ +¸U:BlL+­Å©Ny³x!mGlx:’«¦1¨7¼LŠÛkèZÀ„À4šèI+ò†¼4˜ÄJAp‚R{­e 5Ô8. 4y³°‘ÖüÐk6˜óy©‰0 C)j¨@YE¸2øÅ1!T/˜ —À‡+t~Ô†£²ƒ© ©NWþ‹íè‹ëÒå2ckÃë*n­á޲æ½Vát«ý€!ʼnÆsqé8§cçÖS·•xêI׫C£·KÕaÙç¾}ó‘™™žHÜz0Mqé¡öLriŸGskŒjén•Ë­•8"­ùxšâÒ¨¯WÙG#d_>˜‘qŽíúäõÖõËã>ÑüIQf“K«ç¢¸t¿¾^y¦®›95ÆÔV¯r-å>úc¢uèû8ïkñ¼yº À¼êNA+V³nmÕó:ž~‚R¼‡ ¥Ø «‚ªªÂfE\-öUúå ‚’F¶¹¢’Ë}J¹Í\k,C©Å±^ÁÉÙ¥£¿e¦'lüš1,©Èpª0}î&àWht°0\l¡‘M¥£¬9Ò¶u„o®¹J{yréˆÀZSçA\ûyIk~Ð2¹t”¨5lò[_²KÞœ!…Æô¡¿¨¢0®Í`¸c¡™!cÈ/£º_žƒf¡ ­“„¢èռී”òñë§(%æ±;‹JbJÌ‘85\ò»B»¨Õ.º°]ŽöF3–J?À°ÕMOþ /¡Hð{lÖü箈ÇZré˜ wô²É'&¾¯åÖ ÅeÍÃõ¯oÜúÖœJwÍ­dŽÈ‹²Æ£ïá#e3­ù‰ã(NÇ¿æ•vç8/Ûrž'4 8mçœV˜kèÙ¸ôu±ï;¹utì^ÅSëx’ûø´ß¾7ãÞÝïáÝNzë`>ÛäÒ¹¿²Éµ¿ºwUû\¬0L%oÎ(kšr`"Ö¼ý­U=èÇ^3˦ïyV’Š~c]›‹x£o÷™n^g³S¦F“~?›þ©9¾G/,ýsZCʘ†kzBŠHŠñsßÃE“é½0˜ï}`V°øN¼•)CH¼‡SÌ VÉE£G„-.Î`í´æ 4—>îÍ™mlü¬OZÙo9£›5o›3Û™º9 HÜš-ÏfÅ#‚½oÜúÖTxiÍ#“K_|`¡ßªË±^gLý•ÖÜ¿7·†ÏÄQ6¹ˆ¿çÿÿéùãÆi‹®;íŽ5ŸJ.F´ÇÁ¨(ÛÏç½|:ÍîeÆz`¾¸c7óaæŽf(æzv3ٛΙÒ4ë\¨0÷¹öþ$”zX·™Î¥~JÝt•1ä¼LŠ¿ÛL|.¥túûeG~f»óÙÞË¡é©]vãóy/ŸìšCÞGùC"á‰ò%0{Ôf§\YgÛ¸õÍÙ2v«mqkØû|[L=pŽ’[G/8ÂmÅ;½-“[G7ðÓ7+qý)n=ôûÝ÷ù6·Öub‡ê¢³"’ññ/ &_áçδøK‚ˆ/´L§Ä„#š&Ó_dÊÑb2¼©Aœh‚ò/f…_æ¤Ã•¬ykôENn ¿tö‘GMÏaF=ú+„²aFÞ]HÊ‹·AýrɨC@ ©âš…º U¸ _gÁRO)ù”±“z£‹Û]¯jædØ.ؽÒ\[ž¸Å“\ZSÎ/}Ž×N¹o^©./ÕÀ¸užž5±<ï8­ªÑ•щ'³ÀIò¥¬"p\rí©Žä§rB}Õ˜6²ð#Ë<?²€ðãw¼Úðã7†Eøù›“wèKø¦¼õ›¼™Xì~Û)÷¿97n=ÑÕUÖ\î…É¥o?(e“_èįåÖVNn­¹ÓzøyéwÛ\ŽSÃîDZYqGŠšgä(ËI äyò©Ì1c–5÷ÏÍS?ôÚ´ÍÍpõ*6ºk[„੺Ú+ª¼\5¨Ü »I® †ÏWgÛé„}¹õÉdq»E3uw›[‡½×ÛvöîÓ‡PÜ9s·í‚àÄAâÖÈUÛ7+ލ§VÜ:êªçجøbÖäÖÑKû—VüÔq›[Ÿ:þÝ"è@çÕÜúÒùÝí¤K/†áYÇ‘¿.ð_æi%ágŽ76ææghZ¸}‡þ !ßËdf$;¢äô0E)Òã$•Œ”ÖÛ,éiØ:Z"O­œÖáq+¸öÚ¸µ¿®òç†_úƒ^`[sL$׎äÖˆ5A.Ú°ãõ˜cêd$­·Æ»–¢Ú¿Ç/»Å­Ã®ëÍ5§ñˆÆCré°È¼µñɤ,1(V\º1›ÝDNÍQÛÍý·ÖþG±ƒÏº­õ³YóçR¯µmSXÉx-·îó‘~Þ\ù:“[G 4¹]¯+Ì­QËÇÆ©1Bœ§Žsx›§~—£t„EðçS\½%í,.írYÇÃ~ WYñ›ïÑÉ¥‡&$±ÍïÝa(®‡G#iÙ÷ÇzÄ9 À±qjf¡:ñf0{vatc %y+kÞèÜúPà¼mrï—{ûìž|Y¸`¾×cNÛ?xgnŸs½×‹Ø2–Õ7oÛöTÕ;qG®÷”–µÖ2Ðb Ñ­b6Ò¤%dñæp§Á¤ïßE¥„l‘ëë°@Ø©°¥÷iLhƒÝƔڻ¤ÚY¬~?:Ì#†Ù1 ‹¨´+dÜ¡&ÃŽž1dô‰(¸ FÚ“½ú¹ïz$—öcA!‰UŸŒ ŸšG‰¶mŽ ³¸u$j„™­¹CÌ­›\ mͶ “S?|bK>J(.Cxs>lA)$¾<Ò¶  8+LVõSØÖc´6òLAýLPêâ$Ý2†\¥‹!Z›xƒpè:ñ§õlÍg¯êV7<Þ-Ž«e'¢ùq…ϲæxàKgczÖwÄêÃaNfcÜ>šDP^&7j2ø™Y0L…Fì‰F¸—P ƒ@²Möj^Õή7¥[ä¼ß ´fµ]ÌH²æ»Ù6óŒ!ç'rq^x<¼¥Ùh´ð °áÞZE‹ÜF0<5ñè¤Â °1\q*¼ˆ‚q6dpï­÷Nã|}ð‰žÉ塬–ÔòÀ E)#Ï^¼f[#ctÍjö íG ·˜KÏÆÐksëÙ–\ñÀ53§ÆŒ)‘o9¹4r¼Ô÷Swž”ä»îõû<®Èßøl\:F Ѭõö¤½ðxˆç±'ñ]?tðˆf»Ïc-OÍõu¥œÅ£™ê¢—¤¬¹Ëvò¬=Ø[S–œéøk¹u–~[sÝ (Š*¸1#Œ&¡9,ÒÍ›Qpªf1‰¨›+æ@£‰•h{50“gƒS/ æÒpõsid&@D‹¸´Ï`qé“;Ì­£aºïÏKw¹á`ŽßÏõ‰§ö•õ•ò• {»ÖduzÁ‹WŸé|KÂÏš¡äõæû´§USgUø÷¡)𨠰ÙIG >úÍ­—š¶æê„JNý°ÏI&©žîO†$Lú,Î'¡Tÿòl#G~Á’ ¥n¾êØ2äÒêRÇ‘úˆÙ8XlÐêg‚RÓ2ȪÚñý²Þ÷ÖFØŠ÷ö¸Ðó%o7VŸY½†íœ¨ï‰ ~09¥ø—޳"üLjΰ‚–BÈíwFK!¦`'ù×ˑƌâFÏ ÿ a¶›+&Ÿ9Ë yÿ¶±5t葬ٓÒ'Í¥Ä1®¾ÿ†ráÚË Fý$ïU行#îàýžËˆíäÒÌj}—†#Û¾:éÑÅ1Üä—Ñ<|_O.dIÅSã=ú)¾ë¾ý^ÇÞ‰¨^’SÃíXÅ¥½ô¶=õÈóD^š¿Gk?¹|j?¬¹>Ô&¨}¶ˆ4¿€ä‹È^ûܵϬ¿Ö>óŸ©}®Wísee²Õ>Rì·!¼Ùí-(u³IeCx±#\PJUEW74kvyËêg‚Vì—ñšUûàVEÌ Î ƒX÷mÞ-¼á|£©x¼ÂÄÛþDÔͰ¢Ö7ÛØ"æ—üU²›½Ì„ñ$>õר9Xvžš|”áˆK$Ž/fx¥gæw‹g*ÒŸ¯²æðu|ô¼^¥7ažáYÖ|*Û«¹uWÆ-[s¼q\Å­1eèYV<:_œ IÏ¥a'ý%£ƒ 3ù.ö¿#K¢mò;µ\z__Ø£°.2oòäÖÞsko¯3kÌO½óÍ€P¤ô¤ü©»"É¡©%rú¦1ÅÂH…Ä‹†V‘£o¸ÐªXj‹*ÈRÜEä$Ètó÷à ái£¬D&"^JFôUTòBÍ»Ä}A[+CÈíŠQD-»ÒÝšïEåoœ½Ê}ZñèØº[qiúúö´ù½pê@Y—ŽÊ=¢Kl1ˆ¹k=ÐCy.Ð|¹7+¾èÇ™ÜÚý›afäåööÎ*¿m†âxHõQ\Z×!èÉ¡cK_CU¾Ù]I芻8ðJ« º€ªô¡caœœ‘ )•PômÍ;\É­Yó–ׯy·ʬŸÖ|².¹tW¨´¹ugVï²æ]¿3—F™8Ê&Wfþ\n}°Í}óy×8ä‹·¨™ÖØ?öâÔ̬–67•ÿY8Yè8)ýÉÔ‡fGYó¡‚žÜz½íÅÊ£ã*kŽhºÆ¸ùN§2¦äœÅ­Ù”<µö;¹´÷ÏÛÍãáþáá¤én0)ŠÌF\¬„Ju-Â[n&IXµB[aN>Z”rvÎÜBs2þþU˜£ ûÊí{çÔånI6&ŠÙñ©  K6ÅVK6 ºKúÐoN7ÛƒÇYD˜\;/q¨ä¥1Ûô‹Sw´ù7.U 2³áJ²ôLE!¦Gßß(n9`ž±Yñ“¥"¹u8!¹²¬ù`Û=¹5ÞKVYóƒÓ.$—îJj[|rþÅ\n=q^'Æ’ÃáûD¿èTbö´æò -.}2q{Ú£Cq[NÍ»°¬ùàyNnÝØ)˜V|1+WrëÅ,]eÍù”)nÍ1ø²âzt$·V9¨r©rë;Ë<µÏ»¿¿_‡…>:õÔq`6®+™&Ò1“?gS“hJ›DFÑä\GFÑ‚ÁŒ¢ô #£#gÏh,ÆY‹ØšG ¡?[-#­ê%‚Ε;®Ã¸2¯VcÂϪÅTêfë}gßž ~J$—ÖA$÷AigÿÜk5¨÷Ü{4¸×¶½¿ Á=ëÏÁ½¿÷¨=W’÷ο îÿÚÁ½þÜ£ŠaÓð?äôý·Á½ûÿ2¸×Ù×_ƒ{\eÕ¹º·T'ç½ã§–ï™|ôé ‹§æäôÛè*ü_úC=„ê›î‘HÅÄ—+²¡ìH.§³÷×½ì ås¿Ø–dyÀ¸ô͈tzgʳÒ6ù)w2º¦îìcIn=AÖüÄÐabIm9­pT/HR¹<:ØŽOjåŸJœè 7ƒˆ‰ÍŒøùDn~æå"ág\ž®dx5ïLî lÍÃo>[7¦åL®á‘X ö-¶èÉú§¢¹¦ãP§ƒlò\ósnÏe¸à…F&Fç"r—Fð¤Ç˜ ÔÅ 2†ƒÉ^Fu³çZÆð@,¸—I1ÖâÆŒ$75FUþ‰GÞ©¿$3=IÄt*K…Ї3Ä$ftˆù¯PgÓ ŸÇÍGC~Ž¿õí¤ïù:ý£úK¢þ¤/NóðÀl‘_šÇãFoýM„äi^b‘bÅuŒn[a–ij™u|\ 1$—4²8GþRK”c5yß?ô·+ìÆ¥õ+ãÚð9òØxìÜ ¡ÚóÅaÒ…Ê\4ž2„œÙPªÑ›« ¢*‘.×P*êéü „ !~ŽH¶©¿7›µÛÏHâÙê_ñó«äšô«8ëÇqüçþçþçþçþ ÎÍÊ™5o$*¼ý4ÊTg9Œ¶ÁÖÐ8C{C{C{ÿƒC{ÿ}±¥˜z‰jÐbgjCZIckzÈ™sZ†pVЋ¾,Ùæ—2K’N·Ø®c£”Üì’ ºßÑÉ¥ °Ÿ SQ4æ£@_âû‘»Hoå† ½­y×ìkæÖrÊ»8ãøIÇ ›ž2‚ØTB©xØþÅn%£pâRÈvWôêFò¶[nÔtN›\Qj¹\ZÓ¶¦E¾½…ŽWЄ’ñ7¶œ_œáز3œ±eôs]ÛÊ;ñM-õ›¦‰ 1MÃ^®eÍÑW§^sê¼7Û¶û4ï«üêñÒª'0`xä~åïÄ­1_aaÉ0rp‚³Ÿ<¬£Å(äïÎá<ÅÝZ/FŠrnžúŽ>Æ›ñŸ¿é ÂÏßHJoŸO1?Ìëi†£×SªO(yÏèÒ½Îë…¶ùÙS}ÐN·xÎL-åE]ùNå¸l6d˜ ÝH®w6bî´„bÑ•RæÊ(½£vÓ;ÖÐvHJÙ‘½(eGc¿(eÇ”+E)‡&ð¥Ä²ÊDÁá/¶ÔÍk9yŒ-rlß\‰¤ó\F!ޱ\Ž!£k?yLTÈ´KCÔh´¶–vd¬Ú{=æ‘ {ߎ5¼-QsLQàåÏ”&¹5mûàvÞoÍQ¼S¯SÃŽçÍcšQŒ0w„ÀÔû‘ûEžZûy+Ÿ:ߘd๋KÃmCÃæÔœo~û¾´ÏwòÔïë&¯&¸¨‡ÿŸ/£4ÏâÒ{1@£EūРyéçËÝEñ•C„ŸÑÔáçN·e~¦›(WQ#iou0ˆæìùñÝ#.\â»þ’Äe6çç~!Y¿Œ˜ßì´ì÷EZ®†¯,÷Ç+Ìí#É<½<*‚…ÈeþâTC¬<ñæAÙ0•@QJ( 2Å$õ ^Êebn=”Û$¹´×š\z(6!ׯ ùÜŽ¾§Ý`ïqQI­d(np2Np*2ÂÖ¼O%T·Žé5Ø6¥m¼¾gkŽK”rqéqu +±‰—ßLdbž:Ʃ׵qéûTí±óF«˜á䓽e1üâƒ½Š¨5¢isÜníyjí^ ”9ÕÎÏfÍc^@¸„Øv9gÎ×rkÎQò”M~,߬ÈÿšÛõú”PEܺ{´/¹ª4%TI®„*] TÌS¿ËÑ£¦RS>«æ8AåSÉ€åSQ±¬Ãñ¨^•ÒŠ/åI1·¾”÷ÃÖ|)JréSyTÒ^zÃýXù©wðäÒ§ò©4æSAž•x“íΣBkŽVºÇÄ¥_þ0p3÷þxyíòšìyà?Öc~*鵦­ãR>•ëЛú¶=ilïdN׬$µ^ñÔʧ2˜¢¤3yÊ@K—…šR¨0O ÅÁD*4p3¾_¿ŠaáȧBF4þÑ rŠ%ÿ©¶Ñ7/,©½3•Ü·ÄÕ!Éÿ0£h'S¨ ziApB3 dÿÒgfýÒ!36°ú>Ç[‰>ùk¯)WøW¨qgÅ(^:"? ýxÉšL5›n]ÝÙâÁõ<Èç…ê?D_OÏû91kϸ85îèiºP Ja0É4dSV¼×`Ê×Á\‡%ÒîgbÉ©@w[sÌAwÜÅ¥‘ 1è>/ïç{£FÈXa&¡©Ë&ÆúÇÇéˆêþdpô6<«°¤öÄTr[k…ßwÕœº˜Â !ì¶æáiqŽK»óÙ½ØYd_i6vp—+/³8q{Ò) ‘®™¼î¼„ïñiÈ0w ¤ö÷ìM'nE5gCtÉä9á—àJv¨³êÐ_!&o2£èp’¶ŒÑѨN©¢´ÄøŠŒ ƒ~ ¥"ûÞÍdáA–[á[/ ߣ¹‹îKéA¹Ú‹.nuM›¹8ô¹Šâ'³ÊN2¸¸ÂöRri¼•F׆¹t¬YeÌ¥"µGqiÄÌS3À¤¾o=5ERò]÷í÷:®ybâÒIÖÆ©½ð¨ïã <ê5Ÿ'ñ—Ž·ö›/L>u^Éëû\_÷c"ûùf•‘­~~–æä.Ý'‡¼Òй^Ë­ÿ(gæ,,ü.õ7ê71 ôq73Šh˜ÂÅŒÓgæo)º9Õç8”Ö c¾ofèÈ4—nÃ]@âÒh#Ù‹¹º<|b“K‡3$²9œ¨žëµ?/Ý»:`g~ÿÝ1»mÏ6«¡­Ã÷vEÈ2Ð!ÂÏý¬‹gŸçVUέä>Ô ßwžØw—oVM¬Œ\² a-äÚG÷¼ë„i?TWÃõ|Y¿Ùþ“²8û¶œ÷ê#Ä¿;q€~ïm1b_Áüdc¾‚ùçÌŸiæ–v€?sʉ…ž¯õ—,kÏBgKþýÈBqþ™…Âù¸|þ+ä0ÿc‹ùÿÙ;$h{Ž' tfƒ†Ì2¯1ÿãϱðƒZ:™B¥Xpâ…þÊÃÀs§]ýM‹ð›Åà¿[?cŽ*w1p)­xxÜ1‰/¹uø§Æ0gYó©ÎsëÆ@ÓGï`=ýpk¾gYsµ÷CÓŸ×v¸þâÒÑ©³së‹¡éÅ¥Ã}oA}„K|¢·ŽŽé™µM.–Ë¥ÑXe“k»¹ÜšûÅXùîâîkì±M>8Μ˥'“¤MÞá$WË­/œ§²âQV”®Ü:<C7Ý Ð}²"9Zrk%ç2O­‘¿äÒ>~skg–«èËu =¶O[¼ãz×rkîW®ÇåN¿û‡)&“¬ eT;Þ\¨#LAŒ¹?ô×Ë’¨‰Q,ø¶ñ¯PCn2&Y‹>Õs7s~ü¶}ÍÍ+­!p#Žâ/¯ïÆYÕ’Rr_†ïíUWr°5ß}ßʱ&l ¸8'ÛÜZáÛ÷¥ªtŒ+ÇÚà hqé®83ñÔè[Šïºo¿×a!¨¯QæÔ-8VqioϷϯ–‡7D¼§â7ç¡¿Bhò.3 Ä!°³':Ä®žáFuÓòÎ,Èì#¯ r®÷¦‰´oþ±î»˜i`%¤ÒžÔ:¢oôf’q0 UbÞ äÉÝ ’à1ǰ÷äÐSLB2ŠÅ×i ~ž8@~ŽWœG„Ÿ;û¨@ø™/þ{–ëó†ð,É{Ã÷¼2ªº~»æüŠ­©8„·ËOrÅ|ÿò—È¿±üó±,ÿâuþK¢_þÛG³ü5ê!¾‚qºÿ%ÂS]ˆŸñÐ_f»!áç‰a\þ%¹ð|^H§À¿$¾€æè¹¼ÃÃfT×™Q1Á "†þ.FµNy–‘–ø ΃ ®'3lã¯PÄöᮣ@ —£Öõ _ýPQ4õ¸Ôë-KoC1Å™Ÿ^ŠÉ¥‡<’KëHèwx}1 CÏí×~r!?éΔœÚû¥sŽëpÁÝDŸ/ i'‰iÛp=æS2á}÷:F˜ÜŒ"žÕ3¿15ÖI(uq†zÁHŠ ‚T“Ùl[þŽd~irÈÄ”2"‹úF)5%HRJf~J*9é‚‘r©î0N}ºE¤¯K£µnâÖqá¶â–…ïx]ò#¿_¾ü‡F$ôKûòKßÏ KÞIá1 z1“ìøàƒ3ºÏ¶Yq”yj”¾‘6yg×*kÖ+HÔ$ÂÏ™˜úàÇoÖ$ß­Õ=Í7Ìá[_KTÜró¼6ûn Ž<þ¬#nºß³ŽÄgtaè/IôKv~žÊ¯ôÅi«:Ój&š.4dð¼D×÷ƒŸ0Ñwtô²ÄhÛG‡°pê1ާ½lñÁ“qË™gÙÛSNÙæÒœzo—æHüö}iúɧF[>2Ã%—ž×k=©O'ßuß~¯ãŠ´ñ®“\z¢zÅ¥½òý¤7‚ÏÓ©cݵ|í¯Qç1—ënO­Ä7SLêõ3É´¤–Ý ŒScàã)nÝo þ‰[ºÿ&·Ž×—5‹K«„»À©(ù×.š3ІTñp8‹AŃyåP’/¸FŠ™QàƒSh5oÀ5’|õ¹Õ3ªU5B´¡ú^#tÖýë¨ÂîøˆuÂu5òTeÝ÷BXÅ`šhgmɇn¢Îg2@|ìÜ/²19ƒn쓤¸ë&9sëÆ±©âÒŽŽ´5;î7‡S{Ý|üð†<¶´7®#¥á¾tO}áÁ—Üz²5ÜÚ§¹ñ¥‡“í»üµ»½ì‹/Ca8uqø5¼Ÿö{´ä1†¿/·nÖ¾¬/z~·îH%ÖäKŸ·MÞNâÖú>Ÿ&¤ÿøÐ?¬9ríÍâÖ]N+¶Éé3_Ë¥S¥Ý9Ü:4,m¹Ÿ‰w +ösç“Égr¹tn×ëõ÷´~_mÇ×Éë±Îýðþ¿ö{|p­ÿúüþA{^o~ªSøÜ×#¡Æ§®w–yüÿ:Jý§:J½&ÑúÏr”:ÿâ(õ/Îzò×ùYþó§ëùt” '¯¹O^ó¡¼'LyO¦òžaå=Ìk^˜0QÇ›~:JÍ¿:J½'¬á¹ûO™?æ×Qê¿›£Ô?tüø›`r„3ígØDñÿùaõÁ}Ñ?ƒ*þ™`ŠÎ¨ÑÁ 5ÿ !ýZlúëå˜ÃŒb!ý;ÿ 5ÜŸfxñºÓ ¾"è+RùOš¾S˜V꣨dô?¥Œ¶ý»”Ѫ?®Â©/¸S´pAB؉¤®pxAaYs¼-„—§~•öòäÖGÚ 0‡œ½yK"¯µ[Ï{_øÐ¼¿þ϶ÎÄx+í›5~ÞÅ­ãWÊŠÇÛSTPæÒˆäž½ìÕ5¡ÊÄ DZóxËŠý6·^tl-+>éæ“ÜZç]®HFån`fÒHžz Mœ<õ£¤^æŽ}e"­<Ÿyé¤[V.1›5–Sôë›[{m“+]k.—ÖqÔõ>¸¾îiÅ›’?˜[î§9”½¸µŽ³®3¯›ËcšÔ±÷Nc­9faê¹@Ý%íû2­xþNÜ©Wï7׌ÍÃoÏÌýò}˜Ü÷å*ï=ðÔ]Þ©r¼²ƒ‰Î¥çKcÞ½¶ŠKc^¿ívµöêÿ81‚)‰lÅ#Vù˜Å­oÿ²âªÖ’§~X½Ùš»ÚC‡ØSÕcž^ñÔ:Íx¤èYÇ|Æp¥ˆ>?tûÁƒèÉÈ‚Ñÿ>«:é‡%³ŠuÕªª“U Á£¾Ð[!êæÒÈ7·qkôGwqitnë·æ¤«¸uty2 ô™JG[ä·N.Ý*žÖƒkãÒð÷ø giwBú{âûï0½¢ì‹Wn“?œ’^L*JÉØ²²HûŒš[û $÷ Ûùú‹º‡cC'ÕøW¨#O©z0ºš‚lãa޾”U\ZÛH¬MnÛÒ yˆDüÌA²EØ3güCߢ†[0¼d ãzŽRõƒQ ³#¦1¤;¢·äM\pÏJ ¿<¯¢”ÑSx…Œ~®¨°“R"çgo‰Ësªn[~]~^Ú¿6·þ\5ÞÏ7nÍ2{—†W«&I/׃ïrã9ŠKã‘x­S££dÅ¥ñ›(}¶æ°Çç+hÄ«žN¨†»&^ßúe({tC©XÝß”B3÷ç |®%}ޱÍÁ:uôµí“øKßewcL䇡EzŒ ³¦^5 ’I¸ô‘QÐSÄŒ"á‡r` ”(OQdÆa#£ÿ1‘ Ôk’»œ¾õP‡™mNëzpJ+Ž -Ì"hÅZ_Њ{iH¥ò¶¼ïSw^g÷Éŧ ¦ ëi6:Ø—®ÞÎÁvg1DDœfd1îê׊‰#[ F†L!#ïJÓ53äç*’7ùôkûÞ9̺wÔnI†wà cR/¦úJ,ðˆ4–t*cç";4®âØ:›ÝHû|m|ÓÈ_›¼4&€}ñK9~Ç›?Îý˳€A˜›å}6j³óV|ÊëÞÜz2‡YYqu¬&—î½¢m“‡gËÕj¹õ©×4[óx½ègqëá|l²Éé_Ë­ÎëDFÜå ž11¿ ¼ƒÒš+]riDw¬²ÇD¯Ûrj¥#JkÞ5&mn} û¤lϱnLôjnÏÏfÍÙq^\érÊŸp&¬åÖ,Y.]nug%Oíóîr¼_‡µÕŸï?YwZà}ÈŒ„KL‚ýæfª©™/Ï­«n{[óhÕ)ù/«i×}°7‰+×v¥îÇh¨8¨TéR¹îœÔwVäÉ¥}æÖÚY85twÉ;ZWNw|^׉¾"Y±ªþ^Ìôv¢e]1ú³Ç—2m _GçG”̉+›œþìµ\ÚÑöâ -„;¹5loo|qdÅû£'wÐlšëV£Å::©r T£§˜àÉ ©åÀÌ;6I'ZO¹TRYcã‹Á «v>­pLznTq›ºqÊÓÃ|ç'ƽ,k‰™›Üœ:¯š­6ýÇz¶~žºˆŽ¸ò¢¤5לˆ1ièS{¹¹uã!À©Ò½èeS€V{k&Q~ŠK÷“Υũûå±JqiÚãƒË¯XjsK[©7Í­õˆ‹¿tßÖëÓ›)PÝËeNWáü¾—£7è*.Í1ØK×þ³zÆ8 B8rŸÖ\óË&÷|³[Þ¶Å;“ÕçréK]6¶‹×:\¸à£JcªÙ¨-9·`QøS–ômA“TUçŸ}ð2ŽpÓhZ´»¸µr…š—Öµ3O}¢×±¸tžWqëE_¤ÐÞYm7÷ËÜZå ¹µÊÉÄ<÷#×;‘â,žzâÉ”ÜúV|¹¹uô¢Æ~{½ÞÓÖq¤öv\Îòøy>²è «¸ôK›Î6æÚF|×SO$ÖBªQÅüþF{^+bnbòÁPâC0‰od3 Tw3І.$3 ¸Ï$£C¥VÏ>Kýd‰[îN(¥U•øtbGÜqêƒõâÖÌLÜÚ5/¼þZ®'7C,ùSÅÄ#‘‰¢a~{‰ÄÉíÈƳ?f#”š)ÉÍ`-xŒêm;¬¨¨^(™Ù‹á£ªµkµ‚R˜s÷6”l$èÊû\û:øù›mŠuÔ3§oÏ&4ü8Êy ¼.Ôá¿D4âg8 è/I¤‹¹Eø9Z]IèÏ-‚ÏÈ’«¿÷!Ç©XÚ4a)<³8¸`Kz+ÿÔÏžÐM:NæÃ³ñùëäáx\Úªö#êQ~æ~€ðsnqaÄ8Áñ&¼tJi…Ñmаù¥îZê†Xɳ¬vžÈ±oûðIõù}ó[™r=ÒhF×nåòOn}hðұëŽþ7 šó˜ý-QK9(‹JÉç?0Ï>¥ÉS·÷ ±¾øˆ«% 7®gãÒ:œ-‰)ú2ýBr¾nF×¢ƒ¹Âlèq»ûckÞýø·î|û·ÅKŒò õ˜Ø&¿c´½SNÌlâgªß$¶ e›ây–ÖùE°Þ§Ï`[„)ÕçKWV\z ¿å‹K…C§ ,®Lü÷©‘qëÃy¦šŸÒîÉwÝ·õúÀÉí)n­í Ç/ùç5O­ßûêâxy<G¬¨™dTtHH…ޤž*žIp%´Š™Êeƒ…"¿ÓìiºfA(<®‚P^i¼xÏÜQƒXÞ)!‘Ñ+Å{I· ™v9d¾¾óÇç‡_ä^¦ÏúÎ7c’8#ï¹0G–B—RXäÐiÌëtãYsrrGb¥±e3ŠKQǦ± ïÃŽYzèQ’Ö¼Óó6¹5FãGYs$ê9à߯ԼÅ­q)£†ÏåŸÜZÞ5æ©cÏ’[_NÎýüØ¿äÖÝäy|Ôᡱ½äÔCó©aì±óiì+è©§’µ—›[wunØŠçöÄS缉SÅÌKªý8þéß“÷qËÁœ:×w¹Y¥„nÏóÚ_ëŽÎ”Vë‘ö~`ö®›Á'hÊ/:ô'·F/àö}kÌ«ަ'îƒp*‡„¼ ’ÛŸCcÉ­ñ„mÉS‡Ý׋'2Þû³skVNÉ­ñTÅ­cÌy_µ÷·Ù—þ>îâÒÞ¾xjí/sÊE^Í,Ïæ©}¾Í­u}öû‡åûf³?¹4i÷ûíÊñܼùDk^ð³ÌBu &Òh~æQøAéÛݵ|¸ŸâÖ~8š[ë!¨úוò…6C*ERÌëä§U ‡þ´œÐP>ç¹? ”~À#ãcüºê óøY—e¤:É×T÷BÞ*3¾ë^e|¼ŠG­Ï-:zà‰¤àZ¥gAØñt„1šœè`À«á`÷ÄÇׇºQ†y –¡Ttýì™ ¡Ö)(•; WφBç*ÌÓ¢K¹~ãì\'¼Í ®QˆŸO<ÈHø™ÏMÜ‹Ï|–àYQO‡§ÿfOþÍžüÿ}öäh-¯Á\²«ËΫ¬÷«íÜ:cæÛ6ŽL-ÍŸ»”:lt‚íö`:Ä¥}pk¤k\o{(GéÑ‹[Gæ«óÚ¬øí߉[߃¿O+þ4î—¹uX¤Rج¼ÔpÜÉ­lÜ7»E`Ñ@¦.skØùa;Ó­hƒF=ZÎaÃE7GÙ·õ^ú§ò^˜z[6yÃvj¹uçvn„¥ì=Q`ç‡í(ÄúÌ­‘,tnV3iÝÅ­£Ž<ÛfÍ\ŸâÒÑýt®²æ|ôâÖaÏëm‘ ç¨ß!uŠôÒïw{Ì:ßÉ­uþ5ÙÉ݃¿~݃ÿ£ÜƒÝ#ÿƒÜ#ý¬ý¬ÿ7ûYÿÜhÑ„E‹n°%c»ó¶ÞË•p>Ze7Þç{yç¤áhq„‹É Û,Zaç‡ þlI˜[‡ÅnÁ/>¡“[ßlQ¤%ïHþ0“[Ç«Z†iÅÛŧ¹uØózÛƒ@ù;¼vKwý~·˜¬ZçÛÜZ×)< Òjœ-LÛk|&—Ã)•-À´;ïó½\qe I»N\¯Ü²óÃטFrk¤c˜›5g‹ª¸4Zt­lòç©–[?8_eÅ£¼)é¸õb 0mr¶,k¹µ~¿ÛcÖù6·öuú×zÛºëÿÝý~ÂÇð§éòÝàÎÂ]'¯•iq3]Lê‘“8 î.Sˆœl½¬yçð\rkäÞeÍ×£ñqëóFß_Zó[ýËæÖÊ~V<35DËàÛ<†àë]†4nМÔE»ð@ŸÍô”<‘ IPêDjWþŠj*™Ä@òPÁŸ{äòßð¤hØ£ï³ ªq3 ]eüy0‚BÎÏ3úÄTÈAº\0èÑœK6òyÁ¤DؾmÄP½Be°k>ˆxA.do Ûä‡:½øŠnn£ äì¿P^ãWß«LÂçÙ 6t*ù†mî€FsÊ6L”ÁÙnÊ<‚R?ïëOþBÃi‰ItŽNÙ° ­ÂïV†ð©3”Òa{çøH½^ôB/þ÷öUI¢íèuâÓrm+mð·°Œ­1¶ÄËφ%·¿RøóÖÝ8°{°÷‡•kFÇl/£Ðc¾Ž>âÁÃÈ‹K‡¡³5<¯bœ«ãÚPJ¥@Ðe<¯.Œ¯¸|¾æµå^¶3W´[‹[+CZrtî÷;¹uÄ)Dú”²æoÒÅ­.}Óc3mòŽöt-—†_+›<ô®m¹5‡Ö¼ø8´‹Ì竬¹ožz±{Ù6·Ãõ»Dm )=Œ-»F×…%1CFKl釄±Ÿ¬óT_«Šf¥¬ÇÍ«`ßu×êfcÁñCy«âe-Ün9ÍÇäžS¹Üü+t!\ÿƘ?_¸Ó“|cB„wÁ_’ØïïSH©¼gA„`ô(^Œéê·ˆ‘ýÁÖüdá®ðµ‡O²8#‰%yp2¦7}:D¥ ûL£ Ž“#Wç˜{ ›¡y2¶æQÎK÷Æì¶ù=$•XÅ­‘%â.‹ÿs=ÉñÌ|àâoL,¥ªõ¸ËšûûæÖƒ ˆ^Öo‡v¢)së磸4ò›\e“Ókµ–[Ç;7»qÌw²-‡žµèû?¹ý“Ïç²â×ä94·ŽsýziÍå›\úæ)Ïo^‡û}Þs¿´=Ÿ__G½¬âÖÍÛâÖƒëÊë´éseÏ»ÄåØÜZå5Z¹}Ú!ýd‚¡Ô…ž{C*Ý&‚RwÃsx{²ŠPe’µÌwÖB‹Ýïd?uÍ£DÑÏü “Öâ/Hô3˜ó3¤ý!¼Ø”ŠãÍ¿Dê7“˜J=L#¨yáPõBœrðFLÄxÊ&g—g-·¦ÛTYñ“<É­ÑuºYuós+k>×TV»·venž•»*s¯?÷‹û Æ‹õ]ÄRÁ"aÝÆ­çUÙŒLnÝØlLk®æbréHÿ³sëÅI4ÊŠcòÃ[ÏU>3wÛ8'Ï,.Ý©ð½PÿûR³S®Ç²Éý{/·ŽÀuÂ&×ú³»bPÍÖЫÔÙIÚùÄÀð°1d+Á˨&_Ôd c·k^åÒÒWÜ˨¢Øþ<îløP¼8N.cȇ¿—•ZhnFÝpС#s5A‹…—2‰‹Ãdzí.“ñÑ[Œâdu2 5Ä(Næ)£X˜Ò°ŽqåyDZK×ko/ïçCG]]9©eUB²É;Ÿ6¹\ZÝÄH•xóí”ßOYÓ;Ò½w⦴j ÛÏØ‡ä¬A£>GWÔw6œ ¸êC-‰Ló±ïõ•$=>ÐK™ ';9Øv¼Êšw¶³âöèz&Ð{˜£c/ÍêõùÜN¡N]rký>¹µÖ“P_ tÝ…SÆ«°¨ÔVXîîÛJ7ÎÃÅ]øs]Ñ´æ?‡õ5­¹u§S9þÞ|ý±ŽäÊçkõ0Ò(jò´;ÆÕ¾š~SeÍÙ¯Sܺ³yïíæv›Ú¹?ÒqëÜÛ÷­å>“ÜÚEÄ<‹’Ò5æñK[Í{si<Ú·íZG³ûØ×#íóé"¬Brû¹âC¯fûþÍVûµõ»Šx4ã¿ñˆ8që1 ýûº7› ¢Wùc½$Áú)H×fsÁÉ[²–è6NëycÏ"huEînËUËk‰"—äQiWã­èäà>zWÑ{¸[svk—†{ÅY6ù‰¾ÑZn½y‘>­¸îåäÖºõ;K"!ÉùP\¤ôŽ'(ŧy,îô¤Àk÷‰ÐŠ«ÖSI`ñ(B3 ¾rœz .¿›çèwqë%'I[óÁfYréÉ9Ó&×ô6¹Üz~pë®æ™­x8Wö[©f“­ù¡æš¹´SÊ,M!‘GxÚ8 mrÿÞË­»œQm“OõªBõƒV•7ò{Ÿ6ñЊԤ4‚蚆R ¨Œá@Í˨ЕÚl Y"¼LŠ9›£/Þ\LWóAâN?õ—=‡ÄÏÙü^ú+DÌ`LbFeà¿BŽdDøðK„ŸãoýÁ;=’~þ_hý%‰V¾ ?£u|OåˆêàFŠRýM—2—Xä_vÚêoÖÄ76yÓ¥ªÌ:>.†XŒ­'²8GþRKxu¢qÐ5Í:›r™KëWƵásä±ñعBµç ïÏpþ ÷Gº ?e•¥DPJ±Ùe&«ÂQˤ"X!ÿizF ~ÆãP1AÖëg$ñxõ¯øùUrM"0ÀœAƒõ”'õl¡²ÉYåÕrëS¹9lÍYå·>PÅ•RTâÖ×üàÒ—¦‡L+~ò5¹õÉ*©¬9«ÂâÒ‹ož·^l=QàÔ ­­¹nn½ä–o›\/¶.e,B?…ê¼}[å·*¹­Æä­]œÑDœèÈ‹NtBx„wC)¸e7Cz”yY©Ø©Ëñ(ûWh£ £ì4hŒè ´â^ ú¸ƒ§jÐF¿ÞŸ6Q|ŽòÛM(”jäb„DÔðì]‘ŒNëu$¤ÂpæiÃU†'ú³­ƒ".L¢3F‘ô#$+%2¾ÛQ¸ÝeÐ:ëŸ?6m D‚—œ„ùfŽ»L¤€‘—äÖüËšßl*£ÕÔ{rÕöÍS{?Ì·ýºØÄÇ€ 꾅ס艑þó›JÅ|ù¯ÆÍ$~®üå¿H:T#gUŒ–röíQèêâ¯È­Çàw¯Ïö[O}Ÿi˜¾{–:׉Q\ÌÀVl°àü…Êë¤ß¬'®Á­"Fò.‚Ϻ'ºŸÜá A‚Ïü-‰>s ¨ Ðã6ÙÔJ½ŸÖ¼±i›\z0SÚä›¶¹Üz°)›Ö¼« k.Ýï7·Ž gM2AkNÔâÒ˜¤•M>ÙäÍåÒ‡²ß Í®©PÏ~è•A6¹ïå©™Q2mr®sÍ\tåPµúlÍ£Z<7n½äälk½”q¥“KÇ»1zºlucžHgcª;ñ¶ûÖàøœvÚ<Â;·O:4Æ+Xó‹~÷É­ß;cêCÎ#ã‘èÖ×ÍΪ‘ïŒE‰dsÝew>Û{9ÆuÓÈØî|>ïåS“„C×MC¿ß‹‰—63QÄš¥nÎd¸™ø´Ì‘ù¥&ZÜÌpécj ûo‹ÑME/›[7úº—u”³'nÝõûÝö§Înrk^LÜh;øÜˆ³Ÿvçš1—Ov[ÅÙ/»ñù¼—OùÐàê²Só”x²¿ÍNŽc}É­†îvò­ûkn ãηLJ5úSÜzjbËÝöGþúWqkÌAÑ7+~úwâÖ§~¿[Œ”ë|›[ë:é©ÂB‹h_7™¸/jjªåôj3¡Qä¦L6aÔ„Pã×oö×oö×oö×oö×oö¿Ðoöÿ_¿Íhþ-vÄß#ÿDBW<È¢jÓÇ›/B úþÈÀ cؾ¾¼´¯½F«¿D1ý-sÝ =Âɨ~Nd¼bl‚;üSÇÛ(ˆ>cc"Ú0Æ—=3ÂÅž¥Í—.k}iyÿÐ'[!aµü“[«ö3·>9Š[ãmñä_Œµ?¬ý#;7nÝ_¼ô{=¥¹L]ádÑôÂìfì:zÙà7ý ’[£û³mÖœM²âÒy²ÉyØ%CA[#÷Ï|Ûßs¿~×û:¢çÿâ`Õd7ÍD3ÍVƒFtá®A¥UËÍ­£’× Mä„b²Ú›É_#±ëf§Â¿âÍ8¹u4§_ÿÅ…S™[Ã}þÚ,yŒrG¨[×5åú®ã·M>Z˧ÒÙy;Z¯¿=ÖH×èíQçvÑ3ÚᜃZ8j68°Úš+´6¹4f?ËšãQ¾qkMˆ²Ûà>/æ¥F*›ÜûŸû%Gi ˆ%öîëA”ÜZ?óa¹8ºzI.íÓ¥b£ÎLQƾâÔxpÝÛ÷¥‘îØ¾o­âŠ”em[·“\:¢30$n(Ž£¸´jrc×üûcà§Š:¿/΋ZönïwbɨÊ[ÏuXÆÓ.žÆ’zxÚâ÷OõþÔ†%¿áⵟ¹Á72ÇûS.øî]ŽB^bðÝå|Ó'¢å‹ý†æ}yÊ&×r.WB—“6y<¸ç]Ë­Q(7›÷p…%õë¸üüü^ZVO#vÑY‹4ÔÀ²­1Rm×RÉÉÑ´ÂÚSßU¼[üç<’0Âi™PŠ{.F¡½d‹ÀmŽGëdk—dóÅÍ€¡av6»¢à…ϨŒàÃnWAªh¾Å ÛÓÐêÄÍ-sÑà¢Ï† a<éî•Ã8ìZéL aXªå7} ÜÁ¦—ä…MÓ3­ùEðäÖìC)+®Ä†É­Ñ Ëb…ÅÞ¼VklÉž(ãM¢üˆBÁå„üM¹áôбHÆ´ÖdkŽsãÖØF¬[~rgË/‰¦ä…ñw¥&ü¥t ášöZñ›>ª‡ÅÃG7äè4ÃG ‰Šù³ÐðSBÓXrHx.czMº[ [b ÊÅn¾‰Ýpqê±+hFu7oÝKÂ’>áýxæã‹ Lޱ]]KâGÕ¡ž'°;BÎ(xº‘|Wò^ó÷ø °î Ý]šbž3ð„Ÿ¸ZÛKC ÒÕ ¥0þí¿Bð5“ˆnÿy½t^ãõ}Àañbv¬´âÑxŒásëp¸ê›M®ýÎå>g—·rV×ÝûÅíýÆISýÆI?_¿qÒÒ¿qÒ¿qÒ¿qÒ¿qÒÿ[ã¤ÿ•qºÑ£·â¥8^òЉƿ$ë’#É÷Ôçhë5{UmØ­à7Ú ¥.ËÆS³%”jjËÙ&¾PEÖbéhŽÍ³¬9fÜÅ­£vδp:ZôBÁ²æð_hIt$]×¶Àà|J˜¼$|-.ÖË )ô7þX²ƒøi.Hш}_ 0â­üÜ 73÷·æþF>ò£l-¸8ÌRß0ˆ8¶Ëæ‚ÜŠ—$Ð~„›Á_pœ¶èœ»šMRìA-µüùí¹ÒˆæþŠ×þëHc¬û;ã>ÂB•(!#Á¼L*ªÃ–Fðl_ 19ò3Cʈ$&}î&’ÀÑœo ß½ &&Á¯£tâfÇ{ZB6‚Q°kUç¾bA«kÿŠÎ¥øƒè’øÆìg/&__ÎükÓŒ¬¤Vè€Þ¬y4ç—ƒNyæqö£¨dã‘8åñ³ãOâ”ÚYcï;öË_ò:\+˜g-ởZW×x4WrúЇi¤Û½YñcKGqséHõ¬i iÍ;jÖâÔLm·ò‰”O¨ÉÔÎiÍk¾äÖ§²Lk9Bî[{»¶âÞ¿z"úI¨BÒŠ»F7·FJÞ»lr>ØHa3DåŸÈ7‹gæ ÄgÚJ,|º–…š(2dhݸAƒ–ŽFŽ\4]q°LºzrÞKp…üÍò›ÿä7ÿÉoþ“ßü'çoþ“ßü'ÿËóŸüƒüpw¬椗Áœ·>œžM<‚Iç“¿{Tgàž›8Ár·5GŒå]Üúd²æ´É9Ûn-—¾9ñGZqï¦yê†eóptx7_çåþ¹÷Â:F›^žûµÐ²«BNk~ò='yjöõýŸž\çÀÈ}7£¸8Ô-&u±OÎPê@ׄ ÔÊÇy!°ÿBËcÍ!áöµü·Ž|'<òoxJÝO0L¼gD¡”!ãª88Æ2´f·àÛiÅ­áÄxm–<òpó%ˆÜiçnůΒon¹žÏÍ2>ãõ˜Ç ˆsk_ù´æƒÂÉ¥UBr?|bÞïmÿ¬‘Ñh·F¢É§xêƒaÔyœÖ:μ󟜅ѻJ²„.݈ÀûÓËv?&·î˜_+yjf=Êßg)оK²;[§Î§LgIÔJ.]¢V^¿,o¹½Ó˜Þ\O,éɪeLám¼Íd …i¾}ÆÍg%ã+d#Ûæ ¤Ò2CªŸ³y¢¶Ç¸¦Ì…hÂóbâB©h¿œ»9Ù¯;¯„RÜŽþ á-ÉŒB;ç¢Èr¦]Í{§ntc»¬¨ ©Œ¨Ìóªþ|ÿ¨›Ô7q£FœØ1Âï ™ø9G#á`ã6”B.ý ÏÑŸEgW‚ø¬€$zk"ÒñÁ‹fþ]èçc_Ø÷Ôg­AH¡M^=®çcûbèŒ3²¸Oýu~ ?~zb7®¾¯-·¦ãƒ‹ãy-ËÖóç–>Ùþ×Ñ^áÍTßñ}´¤ÖߥC{Í!ÆßøBç%ß½©«¼_ÐãÝíwi+~Ð-¹t:Ë_Ð 5¢ •öDÐûÅfÁ¿üªG·ƒ¬ÝcâÛh*!°æ‘Ú¸õÏ „ðÒF/]Q©Izü—(’È7!~F"††‚2rùä`³`TW¤ˆºÍŒêýk+®äÂí‡ßj9‘ʼn–>¯ØQ|œôµ£Á]ÏÒÑ׆Þj:ËÅÇlÄ{ÖCsæ¡å!+¸çE§÷ôäø€’†àõô´Â—.•)åÅVÄnÚŸû@¬]ìƒÒF½>QËÁ¡Q©Ážm¬¶24jOÇŒœã µ<ÄS»€š[gAÜ·øl³;nÉq«#ŸˆÌî¸E²;nÙ+qÉú‡—£\ß”o¯Êrµ”*øòFÛ½Õø÷O'ûݽþïî oͯÍݱó凿{æÇGùÌÅs&¾îf“±Á‘Ó¦¬ù‰—rØ8O©·å³—Vɲ£Õrk•÷´âÇɭñp˜/KNÏ’<®H» Ÿ†SË—mzÉ?x*k%¨Ÿ@;GÙä-GÁ³YOŽ‚ÛFÍçé9å)o.íßyöG§ÄZîgrgr·Ž™Ž'þ-#Ê’ŸJ,.NˆLM®ýËåÞ_í‡Ë‚ÿN\tbÙž| /\?Ûä á.µ\úQ§£­y ôQ<õÄ«2òp5¶ÓðÆ)&ãµÞÖ Š|x ‹Ç°ù}ÕrëhÌÍšŸ“[Ã¥óÂ(¼(Puíå×\Ú¿7Ïõy=ñ¢woåÝë1·Öv²Ð}È»g+_ÒþiW]çÉ7ã´æ¾Þæ©O=bd³|Ðˬê“m;wÿ¨ªrE~ ^T}nCxÑ PPêa?Œ ³MSË׶Ú«ŒÿFüFü÷ˆù—E~ã7þ¥ø 4{ßi»ã޾qëÆçFré;^K¶ï[#âìÙtÄ_ÌâiÅOÍ an¸Œ£¬¹ŸsæÖ~žaBŒ©*ú Àk7¹µÐÇ¿B(¸¦/âNü\ËG¹:~æ†#¤ú¢"˜^CŒ9ý…(&ßL¦_P‚a"ø¬Ã—áÞ0'‰n%ÞjÜ}ߌº²ºîøí‚dÇtž# áÃ-(Õä]kk¬t8¹ØÓèe“7zh’-ND2ñ†îy^z(‹¬y»ÞË­›ÒÊ`Œû sìÐŽ—5¾ðFR‹­?öÝ|1Lrëë½OŹ/'#Ç‹£ûë¹ ­xU}xâN^tNQÆÓèG—Ô µ õôÒödzzuÍý‰Q¿:ٔ蕸òšäâOn½X™'·Žíg]+úÙÅce»€TÊqnIÒ‡ *É}Ñp4MáBˆóþ‚Íë6“à>Ü3‰7 t1=xúJi„VrXäTrrŽñ›3à‰) ¥pËîfûx›5þ}ì&²?üQUL~^ÅOFËÓ ÐJ{-(¥ô†¸jîKDWÝv•F¼†þ’<11‚>_pÃå_ÞŽ$üüs:ŸSu³ê6ŒYâu!š"F.ˆ,8˜+FÁ=$ÒÞ2®ƒV ÁCSY“àࢧ0>!ßê契÷ú1ÇgîÿŠ 7¶PhW²Ð ®@##øøà­”É–+»ŠEüÁ@¶R•B—PøÑWÍÔ^ۈ΅ˆ'HÓ¯j1®+#-æZFç²1ü9¶\Ÿ£Îo· ·¯šžâÙç«`ƒ}xsH~çлhz4Ä [bŒ>f–ôÁ¾’‘ßÌ>^›üFî±qÿ¿’‘ ÄëÆÛSÀ “‘#KÑ¢ß+³_vt¤5¼¿“[Çu~6k~0üÐã(ËÅ¥uIè-ÖØ(~Hä86ë÷@¶¸Ì­Ã‘ nš¤n›^*›ã*;Õiù^‰)f‰-cpê*C}ÿèj•œNþ+ËÇLB7þMfBq,O³¹±öUâ³1ÿŠ $QŸYÄùwŸEÜ)ÑåÿÌ÷ÍGï¥ôÑLn=äáj›üB£¼–Kç%’5ǬOqëÅìÍ—83-r?’[»‹§VùWùËÚ`.#Š“îQ ×ØU ]îUª5a›ê—c+qÜk—¸ÿ ¼[ø¤¸WIf1étÿOgxù‡cŸM:óO þ;‡7á´ÝÕåÄ™˜xLÖüИ’gî´Ž×Í*dsÖš{gKY6/Ÿ5Á›-A)ÿÞÖ¸±c![kóºûˆ·Ñ>Ôý;Èð;Èð?aáw<á=ž@7´>nÙxüí¼sœY7ÄS3¸§ø­ Vlu!*Õ}»íêÿŽÓcn½n_ØŠŸ×{¹5²w\e“߬cs¹ô~Ü÷ñæ}åþ¸vý¯ê/ß={T[¢ë¾¡ãárGkÀ†!C)$<õ_#:¢j »¦ø÷Õ˶÷¿½ºäÔe×Ñ˸wÜ툟÷.¸½ÃNÄw1Æ@$.´¦ÐäÔÀ¼ ˜z눲gN?³õÖÁ±K¯gýœìÔ3õ'G¢í{·Ž“h_Êë½Üú F'kO鋚˜òdÛ­¹#85F§£"`¼ü>ËPj²{SÆ¡?^F¥íÈòIçeTÚÁ8ùYøfmÇ´c¶Ä½»•Ä]96K<fï¥ýV›ýW·³›3)ÞÅ­}õâ ¿W·cKïƒð&/¾_ìO=9Z7ÆnNöl®Z&…dBeO¦L”ZèS²™ì>zÿ\prúÜŸc‰[1ªÖ‡ïjOB*íµàv ±ƒ\K®³3Bjð)&(5؇eHõ¾pVXvc%Œ†ãe±û/ ÜŸEð~‚‡M±}ÁV¼>ï(Þ+h aŠV¤yÐ$°!Ä„9ÝP*?;&cÈêÏËJ­ÓFó¿.wÉýx¢3¸ýÁ±¼·šMŠ{í)Ñt ÜA´ NÎô 6Q|¾áú-B¡‰C5ûÅ 파 Âü„T£ô¤íXåýšºÝ"ü…@—€þb¢ Íï.CÆTvF¬7d< üûÇ97|ÎÏ®ŒŽÄ}¤Q“—œô†s3™[³ë¦¬ù݇x~h.úܾyjï‡ù¶_­A+@süÆ3H¢9’F•svS©xÁ½üWÃXfñ²î¿Ì‘ Üî‡Ó t›Qèêâ¯È­\'ß½>sö–õÔ÷çpaSi™pÀ£ÐXX±Á‚7ò{*¯Sõ0F ¡Of(ï"ø¬{‚C’t†yEð™¿%ÑgnN@—š•È¿Ñ nk·å¹q륗[óÁÁ¤âÒ1°Ð®Íª`œL &cª’p+ò7ZÏ6σðÎ=v¤9¸!e·MkoŽUÜú½3¦>á<2‰Šž Ц®CscV@ªU9ª®yÕ2¨F|óçM¯›N7%ÓµpàæzP¦Íÿ1ýnrFÀ>¯‚è3¦éÀA"NåÁÏñê7üWG'¿.]¹…}÷²æx·¾‹[có(»ó{¼—»‰èöŽæ1¦—æ“袕ìtr3N핚[kåCµmÂJ§JÐ §¸«U‡º¥3Íp \ã&áSÚ1 <úW8úÞzBFaF×Ã,5Ñä7ƒx0°×û¸‘cb»xÏþ^ÅV&: ½Zè*ަ4æ£Ç[þ …¹¶¿pàjÉ$¸yäæ-Äš‚.åeÅñÅ¥‡Ü9mó{È¥wßõÕÊÂ}óøc=É‘{dp~1tÒŸèúâüm»×àUrkÍâšÖ|Ñ'+¹5ç±IJ‹\j÷È(,©>1èX‘_ϵ‰§Ö±æ÷¥;ßrRûÜ +Þµ}OZßWqó^ioLS2噊¦”JmôÁÉÄ…Dß<5‹{rëÆÈÐäÒ*®©•\°7\¼ó5z’Mº¦“!½)9XóÔºêyÊ™P²)ÿònÁ'ŸöÉ­p]vã÷|/OÝ9@ÇK¯¹U¹U4þ4¤+Í}vmÎæú󧤛œ^CþR £9Šá£ŠÆ æ¯oçþAK"éĽà ¦kƒOF~È%á'4öoLm®KOÿÛª¼dœhÌ|Ï3wÏögçÒ1Ú//æÖ‘²Aó=qÅ‘OcÖ¶Z2ÇsÁŸ÷t.éH²-0ˆkm:ÍFÀÞ˜xÝÌàH„¦x¿†•j™ r$' MðÉH|C)nVpÛ‰Ÿ-è+úùP Ö¢®U?ï+ßwÌËeI%Ä×b¿ïxŸ±;#]PäiႇGCv!ï1R<>컳:Ñã(ó°ó.ÅΕFðF›¡Ôƒ÷B<:[¤ßs¢/ž–4`H Ÿ×›ÍNß™ÃOb}È%«Ê唫”C‡]$‘ì:#7Ré/ÈÏ¡|/~ޏüwÒ{‡ @áŒñø¯:ÉÜ[{’çþ{hwñ0ŠÆq» ÐûbÁç.Aúª nêéùM©Ö´”ç@]h. JÁÓ4¡ž©š˜71 j/C8™NPª³+P¦qÔ妥ãEk ¥bdMªËEFe (¿ß“žLhƇ<'d·1Eš²;±åÞ“4¤ýa纰%Z(d¸€O–É7ˆªO.Ýøì0O=Ùõ‘ÜÚy!¼^Ù¢[yrk ÌK£sî(žšû•WÌIh¥CÍëÈ®k̶kÚõ%wH2I!ˆÁ„Ãy3Àâ.—PÜx¼Ù€ñ¶¢PV>2Þ yÎtuªªê`mñô †…lQéÆðDîŽn¶Wk£Z”Uä…^ùËØè+âIos }†oµþ uú,‘ItÌþª¿BÝ$p£ÐSçÖËxs<‘¢›»´É5Ñk¹õ”×¾­ù`— §ÍIíåæÖÑõÅÜoßx’<üãÔã õ9Z®ÑtŸÉ¤àƒCCÎ:Á |vÎrÕK`ë\®ßñ*‘à3.‰N¥[ȨùÉ$ØÌb“›>>ŸyÞölЧÿÌä nÝÕëùsÁOy{v4ÄЋLR¹ x©$’»¦IÊ·Ø\j‰®4¤ð4¾r©eÜy˜ 9önÑÜ_NB-|²SÜ”R“m¥õ·NÏQ•”¾C×™f(=ùÇŒƒ™L—c›âBeÄ'Ï%†P”2‡ÖÜž´æÒç£@Ùä×—óËr¹õ ÿAZóƒÝÉ¥—†~l“ëŒår÷Ä_|%·MÎaùÈhÉÉ:2æE½xù¯P#>fq“Œ2€ì0”ŠŠ2Úp2‚Pá5.VfÚ Áy²“ìÂ4ÔV\&(u#gÚ@Lóƒ ¨è¸ºÜygk>éÓ~ò¦öòäÖ|?¨õÓïªÖg»ñxxîËCÇmIÄm÷ïÅÅØyh–N4>ñ-cÉ‹#ç‰%O¾e[òüÍCÓýG§‚Üw+Þåˆln­|×eÍoz$&·f•PV\SÖ$·Ffå·%ç]—»¯ÝŠQòðõ–ôiγ¬3‚„v{7cøFIµÒî<~¶/íÂak¾ÔmžZ…KÓw1Mß¶skí_4¸q#ã9#×ß3¡”n3A)ÜmŒ+f‹‚dOF¡UˆIicü†~«Ž…ž+®\²ješ˜RUÏölȇA=ÿÕüACk¥¼åEï¶å£nWQK50ôS¯—yTõ˜‚ ffÙŸq¦Ñ_so žh#!b(sæ¸KcÈV«—QÉó—.ÁDÑE^¿jâÀ€ž’»¹svYáû|ÑûÜÍV˜‡‰©ž@Ùã~së£}ðVcÃLM6¶È~§uùÖåwZ—ÿ§ÓºDçä;#Ú[‘sú8l ŽqoËBEçól68ǾŒ3µFÞ5›‚ëØ—-:Ì"a½ìŽ×ó^ ½‘':ø/8» Lã…ތͼ°&C© ‰Ø6³fQ†Rá¬ý¬4„è:¸ ¥Nž$BÇóuVuâ1QÂÃ'_¬5ÆÁæ·MÎÞZn}²1˜vãðZÞ–Cß8i;Öä,8™aïãmÁu’[?Lc·ÛàѨš£¸u´zo+s#ijÍÜ:Ò1"½›-y¼kÜ[#ÛþÑ6+Ž*ï.nÝôûÍ‚û|›[ë:ýû¦AúuÑüuÑüuÑüuÑüg\4£ºˆÃÉŠqõޝG¼—ù`…ŸË­Õwvãñ Ø—/½^"ÆÎÃ|ÀÞÇÛ.ÞÐXŸ¹uØû~ÛÅ·MV¤æÖ—€›Åϲ¸õPżYð'€Ÿ¢¸ut)Èß„V|]ú¸u# ¦¯,¸Ï·¹µ¯Ó¯KížK-¦2Чï`Û ãò‚Ý9:¶åÐKS!Ùni×·åÐ'n†›MË› Λ“ën& Û†R7ʸ !"ú†¡ÔÃÒcCˆî¸M-1OÌqlV¼±ï6¹uäbWð´âÑ–‘ÓSMKwý~³à>»æÖº*ÿEÏ¿ÉYûÿ&cüúMÆøõ›Œñ[2F8~4ÆBOD<­øMÉUÜ:Žá›5Ÿt0InÑs³âÑç‚كĭ££òÅ¥##>\ómÅ—yÌ­×bÆæ´æq|ׯ¥cƃè ‡Tl,&eG Úäþ½—[‡Oh?Ê&×úÿéd˜¿¯ù¿¯ù¿¯ù¿¯ùÿÌk~Tbc¨¼ÃFáÚm×ëk_·^¬´ÓšËË0¹õÁÊ9­xøƒF¥ln=æ—Žææ¦LjÿÆ­ã]ân›5?X‰'—ÆÆ2Òšw4¶‹Kìñˆzœ=&7í£[qÿÞ<×1ˆ^”M®õÿº±þº±þÏwc±›çfl1úÝð¦1¼éœªeTh,Ä@¬pL‘òµl¬WË.Úè@À¼²æªÏ’[>À*?е5ø"löóÝó0¢À4"w²ï-fTïs ¨ÓM)ì`Tj:ï(wÐ||,—O´¹ÙGú}¹R b¬×vçýy/D<ÊÏ#mñ¨øç¶\:ÂAÑ’M~k¢§ZK¡ã2câ;ôÌÄþÇENn+cÑð·Özó‚·ç}ám“åÖ§ôùÁ¯å×ëz çhò¸ç¢£ÇÄ„‡âÖ-z†žâ‘`c&¿‹‡BhßVI€×HnïêñpIkÃ1Æen¥õ”&æõòOníÈÜZ7RjßͺAãVÆÄQëE·ý©§´â1¬2GÙ䜘¸–Kßl4¤M®vX.·Va¸¼NµêÐ3¥ëV<&ÎWqë?öS<¼ÇvÖ>μîÞ¾·çò¯ríã6Ïó¦óˆϬHsƒÕWÒè5;s¡ºÒ¶¿'Ç#G2‰~:C+‚ó cMGMœ;Ž®iÈ×Öª“¸H³,#׆'# Õät-6„ž‡P*Þ²Ž4†ô5ñ²Tñ˜•‘›ùûç‚Êeá'ÜÃ#%/hŽô1p#‰üB·oÀ˜R¢÷,æ âçh¤ÎÃfÑñ .úK²z!‚Ï+\ ê~Îù2FÆ…¬Ò 3•h) ?ã;ñÌXšüœUÍwA A©:B‹#!p}ñ²Tzÿ]Ïþ»}ÕøñÀ>¹ôªÌ^ê2¤RF†v¼!^rõ¸9jnßfÍs³Š§èˆ@Œ£\0KPc›ÏÖ\“Š'·ŽLñb«ÉÇÝÁ'n¶+<.dÍ}|æÖyüº=|>Å8Ü eÍ1òq>Å¥9œ0Ê&蜩奙aÒVçédGcZó<_µü.¿'n®/mû¾5®ÝQ6ùëVË¥‘ æ)nù]®Vܺ÷t§À;_Ó»à'·Öïè(@äšè¹(+ŽtqgÙäLBUË¥Õ^H›œ7g-—òm¶M¾¾˜ÔË­™–¯¬8\Rfqë)ÇGD‘qûñ÷t„š[³½•<5]b‹[GçàSë=ÔÁêó˜\ÕÎ*žzj°Û×Å×A.pÉíÇu›§FVÒûÅ¡/Î,pi´é/O #zú-„Ø÷˳Y=Þ+1õ£€7zÞà^lž_×J³âêYõ õ“‡¯_̵RœÚ'Šé×Z¶ÐøA+¢N‡Ž€'Ë57tªññ”CDhã«ÿ¡¿$¡áç…ôIR@luT£»Áe1Fq'”š»‰ÛvS¡«¬yt9L¸˜NºôD­h  ­~!hŽ4¤Òy[Þwî:Z;8Ø“¡6…Á¹³:ýtÞö\ð sÅÄÑ>ÇF!£óJƒžíóücÉ1eìÊí{çb:„µ[’'½CvR)}Kb’ÉQXîÛJ$u蜽…ïECóR£ š§Ö-¼twÐlk/Ý÷õï::BÃ[+ÆDbü¢ñÚGGqéè:‰ßˆ§?Êg”5otÊJn}0-YZñxŘ—¹5}wfYóÅÄÐÉ­»'Ó&ï:^n}¼­Ï¿JHrk— äÖêÅ€oãØTÌ&cpqÉm“$¬®åÖ'?§5gr¿âÔÓ×P¶øÍ±¿\nýà¦/+Þîû·vH+n[ðú“5Ç W³¸5œíúfÅ1sV+n-§À²âÑ•M\skĬ]›5¿1À^Ü:Fx{í§Êù„sÝv|Ö1™@œ›äÒÍá:Ò:_õ\hô¾Ég‚æ.2£h“@$“+¡'P<Ùœ¬ÂËkUufk~Ndu'ízîçâkZ¹¶+(us,KPJ•¹!•ëô ž#Hù€J.íƒ0·ÖÎòÀùýù»_1×\¼Rõ`ÐóϧÇÜäôÀ•›.\w»^ÅSi™!UÌ¯Ž¼ÿܹÎ^šIà•{Ý3:?»efRÏÜè^/—{Fö±µ_lÀÆÚ–PÄ`©w5_…wFñSc݉(t°Üg¥š©Ymå•%½{âÒ S¬´ÉáyÕrk¸â·²æz‘{T„øËÓÄ‘ål…M©DÆmõñkK¯\yà¶ÏVÓ_€HUÛô9êvý%Á4 Þ§xKLÛÍ$"/«>cÜ:c_¸Å܃ JÉBÜ·‹Îb²¸í.6¤G*.ƒˆ×¸¡0 áWÑŽÖ8‡¶ÉÏåÔ%{ZÚâŽrµÜš/iãñ÷햫‹­x§»/œê"ÙJìöb@"¬xibóÔÏ—ÖñävsµläHYT6Š7ÔäÖS#™âÖOxrë3ø¦ŒVHœaÓx#Švƒ°¥<•ËNºy½Wbª©‡-YlDcj‹{d!¡Rù©Ks!–É—¨¬øÐ`¯¹µw?C|p8¢¸´]Ë]¹þÉúj¼/µŠ‚kÂH+þªsy/󾿣‚„Ÿõ¤ØëtÝ>|ð3oCæFfº£¸P RœÅS7·Î$½âÖ'_¢’[_—š âÖ˜Ôw[¿ô ·ž›c¢7]†0"‰A”4„á»Uˤ~̳ýlË•êIñÓæ>ò/&6hbqN¿W Ï&þ… :0ÿ§ !æeL(‰ÄFÃ(ôµLjŸ!‡J^?ìöÿ—õwÇÇ¥î§íÈØ­5å*Ú×¶¢øž¤V =L­bXu¥|ôÚl #ø49ZRÝ©á_£{¢%ôô“X(Îb3¶&ÄÏtŸœ|‰r9›šîÖÖÜå‘sS5T¸7`Ç´ÇÇ÷C‡KêùÂ=0îk£”*ó;å¨<:ÎE-9L8š”Ⴝ—ß3 aôÁ5P ýmÛ_ ¥ '£/¸žÆßÀZLÏS’!³;å“é¤%º4ç-ìú°üª³enÝå–d+®©ô’[Ç8fLô”V¡³¸õÁ¤i6¤q¼1Ný0Fª‚î#A:÷ó øòÈ„æàA`¡%bRQsŒ­¨²èÂE¤ï\ƒJšUœšöøàí1ß<ÞZ>ªâÔrÀ´ÎïO4} S^¸?“JjJ‹ÄÖ7Ç ‹—†/µyjÆEø„Å„Vxá]ž¹H cfÏf‰µç¦’š÷¼¬°ÏÖC/îpB³ýг8õ ÷˜è+ß5©tDu„^¹5·óºÏn–ƶє(¹ïö㦽.%Ò ¶Df‚2¢ª…ü”æ#˜—ªUKB- cIø…œ¦R ÿ‹‡ìÉw÷0ôZ´!zÙ'”B7ým#¸4øG(åíÑjëzÚëÿ°=ÅêÖÇ­ÓðªÖV×HÝÌbɘ%±Ãzþªå„Á´è BO5C€Ëü°žB'ÿÊ,¶Qܧã­aè?5¡EvxÿØ6:ÎûKhÝrz ªÆ–:õ®|sg¥0—'ŒŒŠóün*Sê/5i˜6ìÞ™D¯ïgÔÌ ¤Zb‰ÛÜ™Äãå»!‘Š™DÆì§—ÜÓ³ì¸*Wõ9~î­k«Ò ,mß¼$¦øx󼪄ó¬ÿY„n¥vƒJžÕ¿ò½R½³1¡Ñ–W(^~ðQé‹ðàA:?ïYžË“±÷›ñìþªlaý•Dì#£ÕG¢«lXŸ9²Þ©³,£=ÕÓlô~-ܲ¥9“ ¶ÛÆÉÖ"õµ/ló´S¯U£n;zò=þ¼Ð'$¡p6„ц­Üp¹áÀ°/FÚKå;ò®pµ¿ ÚþM ÚªlT¡úÏK®¦áN¾÷NQ†® #ŠedQôr Ä;I™XTb^€ÊŽCQ(ßgóSBåèoݳN-ž3ÁýxbñXÀ«,)šû7<Ç9e¨ŽIrÛ/\†`A¼É ÿT@ë.*©¶´ÄÑ ×,QI$í@’Ya†ä'µDòzøÏÆëFÃïCßè·õ‚OUt”jI‚¡‰`ÓzÁBCá®% 0ýªZâúàE7®ÝÜ%‰Ù¡1œ¼íE´bS Ø1‰1Ûx-2Yš™¶NSú¢´†Û,JÙãµ> ýYÿXÆï×Bzi8ÏÓ+¾î–o©­ùãW qif¿Ó&_thÉåÒhå›á¥è]Xô HkŽ´yÛrëxEŒñOÛä'âÄj¹t,CÌ“ÀYþÇ~m5·^Èî©Vš[s‘GaÏ=ƒhÑß ¤v»îÚ¼YqßÑδõ‚IdáÏž…:G´€øþ½ÕeGĆØ÷}n–<QßבÜ:ºÌõÌZòS~£_Ö ¢~CùÁKâ.‰·œ‰Ïö?–ì ~š üì8ÒÓ䟇s¦{Áˆ›¨ë&:ÜÄ™ç‘Úô([ .¾Æ×7 ¢Ð½l.È­xIíÇG†`Rœ¶p ¸šMRìA-µ¼0#ºhî¯xí¿ŽTw¶n鸼״|8€-(…KƒéŽõ¾$#6Š€Åbë©‘|[säŸzŠ[Ç‹‚dlÅïù^ný(ÎVœ5GrëžÞ²æÑ)/>æÖƒxysDW&‚‹þÒïy2Bî{(@¿—ÌÅÄ–]/cúólYwaÉ(5Q©âI™'Ì»ùf€õ7:÷™™Y2wŠÆ4¡×Ò”Úõ˜§)÷Eû ˜*ž¸+©ÕOуש`xÄÁ½®Ý“¾^ýܸtc”}rkå C×ÎiíÍ>ZçñÒ¬—övÌk?Fº#'¡×ãí$—vÁ1·Vò£±.ÞÊgñëùëÛÝuÂÏÅ¿Ùí1^!Ïžêƒöãk8ŽËÊ‹À,OLCæ—ËKq¿sʧÈFìÂ#]K(GdÈâÝí¨Ýô޵/ûí‚RÒ²(e Ý¥üÙ?Ô㦔ƒ „L%q»ñÍvÜ 9 w(ó\.>§| Í¥ó\xGíOâμa¶æÈ”ÝŽäÖáïcÙˆ8Ú¿gkŽ)Û¶íXcd æq?”#ËËcÞ Œ[Ó¶Þh±ÏÄnˆÕX§†ÁúÈ#Ä-Z¶ñîéýÈý"O­ý÷yÆÖä <ž:ÿÒpR|Žä©#ÔíÙ¯—4rÕmë±ÎrðdœÆP’Ûx•L.‡Ô=+5\ÚŽíûÒ¾ÎÉS¿ËËÃ0x»Çà‹tƒÇÜY\:‹n0ÞNC$üŒIÞDø¹s„Ÿ9tÅÕÀWþëȓ틾øÚ+í473Ò0<™bîbFθie“G÷ô¾ÜºaF4¦Ld:Øc×=Ë$,Â4ã÷£¸5úWæfÅãÿØ–[£_dmV<Þ>ÛQÜú³<$×õÉåÒ—ýÙiU¾ô½v4%/a¹py0OýàM¹0$ܸיØ:\ÍàÜœ¥F¥+Êßǽ“öÞe©QiPiÁ¨À©Û[gB¸¨'”ŠöÂe…'¦öeV›‘rª»Ú4å¹òÈr韉·‘i¹èÅQ.¼Ÿ$¥ì|=JJ9ðàÊ3IgíaœP{0´£¬°רzÛyºù´pªã{1QóÉ -Ó]1ŠåEý‹{„òî$~µ—µè»öf #@ˆ°ìôH¥!D‡ðe(Ã9+ÿÝt(#“¸&ÓQÒžt´Ò¦µ±è^ ¥Â1ìDë½*x,U†TÚÂùÚ,7äÓå3ŠUûò-Åf^Öt®Á0ÉdÈyGZp„DÐê‰%;Ýž’BáUa£’˜ÝôÏGp ŠHêñ˜l´ÈVŽH­x*©†lòþ±Üú~Y<¼‘„s)ù‡¬yttߣ¸t¼V¡U&[üV´­—K£ó”ïäèÐÇ<rT+ Üúó¸Ì£òöÔ¶cÓ>/ZïÃ÷R<çÛ¬ÍY{u·ò•F¢ )Ù±Yq8û_Å­/F§¤¨|ïäÖѾíÏSÖ/œ«¸õI´²ÅáUþsËuÜ9ÂRÊʯZé ˆPâˆ]^8]°?vÁ\»ê‚QŒ N¶H­ËïE»´©} k~pÖÀäÒƒ±j2IÏmŒ/Zìbȵä÷äŽ÷¾B8É©½žâu”x¾oo÷Ú^Çh!»®è„n ŸpIèz³¬DØÓ÷ºruTsªíÆ*ªó *ï´áAf+¬£Š§ «+ä¸<œmkÜœ@U‹­}'ÚšëZÌ>™÷„ž^bRšÒ_¤Ò> JyÛynò¼òƒ¦ ýnrÓRÿÉ÷³Yóè³]ׯ¥cÀåÚmçuú\yÁ–m¹uǰ̽ð ñ¼¾’ä`Çq<iž./»–<éÂd*©ÖòšÖŽÉ£4­ùõs xFŠ[ßLQ”69¹XòÖ¶ÄÚQSï·Ž*4Ôh±ðs…1 ÏF)upzwìÌoY‡ødd]bJm?eÈâ|³Š:äõ%žÚaçæ†ã gqëÎ`¹âÖ|ùIžz¡§¾xidriMŒO^9“ÐÎ<˦¯Ž½Ì­uØiÍo>æ“KûtœòÅ;ÄðNz—´)\´º5ó–ÍëuEãÉ{2€šû ôeÕ®¨Û%^{]/˼Ly»ù.kðŒdD) 4º+é¹^yYóg)£±ä4üûaÔD³áÐn7þŽÍêó ÛCòÔt£Jk>Øa\Öüfhri¸nŒ²É•Þ!—[Ó=¦¬9ë§âÒí@hÜPJM]Ç ›œ±Mµ\úó¸ò{dqiŸo×ëƒÌ,›\k¹œúáH‚LRöÔ{!ÕÍÇ‚ÌþoËn ܆¥Ìï¶/ ÕqؼƾìBžï®\©‹•ËÉ^Âï•F°Ã× W§Äƒ¾sC©p\ëôCßýTÐ ‘ÖC uä>9k‹IÍ÷ßçÖµ37N_RJõçJRëî|àÔKÇZ¾±ÞeoFJ=ÀN{;Š ¤Êó¤ÞBžnæµ\A„Vfw”\ `B”¾üYTÇnFßÕP*ÞLó¯Ð$ b×…WwC&˜÷2¥›?…9oµ“‚R<̬0²Zt-iœÚ5]riÕ¬9QifÅëò¼d^J]mÒaî׃éqo†\è/æ>€OÂw(ÂÎXA©Žô7ž]š>“m4úŒÑâÃÔHy*kÞì&*n=ä6j;íŽ}ÓÜÖü´·¸µò`¤5¿Ùe’\šór±ëúá%9qüpx—Œþ™ÇŒâA/þ‚ܘő„Ÿ#/ÿPßÈPL€<ŧ§ú?³™Áuñó‰ò•Æe! }ÙG¢TÌ©š`#yj_ñ óT¦]+aI¤Œ½Ðæ ÏûØõ‚ê— ••P]–Íx~ÇMØ:œ}:<1g¼$8#ä%–<sI¸ 4¤ÁäÕyƒµ„ jæozdkI}xþXÄ×:6Ö"}è,b¯Ù7ÎY-чoRÆ1åŽyO½$Áó=ÛO âA¤éh`Í[øãÅ¥£æ|lL£c¹Ý¦R¯§Eú‚LL$y#»’*-°+Å]Gút( œdÚ -’â~³tDÅdÔþ;$Ôt2âÜØR!‹2Iñ²˜ ©^!¾Ž F§JÁ˜Æá량MæÅ(Þ±Éd\­#…ušuÇÃeFÊná–¯ÚŽ\¡ˆû1—ÆHN 3Û"þñøs=âyz%õ3—{ó¼TØþW6c¾L^žºä/Ýž,V,H.yÿ PÙ5„nŽ×í£Š&Nß©¿FÊ/Á%kük¤l\"q ÷=oµwøG‘¾¸£ètϤ3 bœŒ(.TŠù7Z”ï_ ^„0¤zØ—òd?  tr©âÁ0š¡ÔÍÊO㬓™ªÂ€ÆþÁHåÝäþ9ÕFWp¦¬9#€õ›po·öòäÒÑÿ}3l ƒã“Ã90lžúdÿu~bL:§ýÌý‹žµû.k>è›Ü£Vk³â^¿¹µ·j¿à6˸Zñ]ßÏÆ­µÞäÖMÿäÒ‹½kÉ­×§ž/îóí"ėꤒq’úHœáGqk]T³¹(C)o¡3‡ê…çbÞ ºõ9õÊJË¥~^=x%”™80úf#ž„RZ§6„ ¢ ¥¸ý5ZðÔ íÙ¾òxiÈ#C¤ˆÖ ø›ä|ŠŸêŒ®NktÔiB“à h¤k%ë'Ö!ã@ØÖWCæÕÛ"¬FaO?µ1ÿDó#^ý=¹ _5u±qVivû⯠¦ ÿ¯ÍŠÄ.q½ÄµÍóà„q\%'¸œH¶åßC3}/~Æ”§úk’™+¯‘µ£ÑIçœ=ã´Dè•pi¦)üZ‰âúç l1<¼ÆÙXç²¼ÙM"(õÐaOFCƒ©%½=²É«ÝÎå~ϸP!¥5ì8Mn™Ôî²pûX죋;ÝÖüa¥ž\3¼Ui“‡›ð¸kù®ߣÐk÷ôÎ1Š–ÆÞö£°¤†ÝmQxbhFV!:ôDWÁÅH’¨ùºæg$—^|ÇMn­i7’[{ß4üàÑÒÄ­¼±G>¾.ºøþõÔùÙÖ~=ŸSqÏrþ>~cýÆÔ«ð9Ü. .Ì¥Lq_>P–/Dt ¸ÏóÐ_¡(’“ƒdѵd7ÃN5š‰pQÉŸ–½6*Ùùnil­‰ƒ’§f3¾G^퇼ڙ™ÏÜ:ˆ• kŹÔÍ¥£«l·á@Žè†õ˜Ç¬ÌÇ~ç,pÖ‰”?Ž›-÷³)húÅo¾²ûØŽSz\šüÈ\ZçÁã£ö/þ›^m E°Š©u܈ž0—w½ØZ»Ø=È™\cÀ}S…’pˆIa0Wêõ[!8ž53ŠŽþôR­Á «ËÎÛéL¶Úέ#îܬø_÷»¸uÔRQüÓŠÏð ŸÅ­géÚ¬xä$ÁD,âÖ‘Ê3SÚŠÃ÷~·>õûÝ¿&÷ËÜ:lœÁÝìUÀq›[‡]ãmÁ£GvnÜ:jñ þÓÂÊ"ppÿ¨¿xŸXR¥ÉÔÍÒ­dðòcЬaF¡´›dÎÁ­+OB9ô¹ÃyPÅ–ý/ä§ÃÏðqyè˜úb_y?ý,Ó㋌b¢+DážF" í$r!ǃü¢+†ZZsWžÅ¥ñ†íÙÐ?餚Üúd‡ðË¢Éþ±sçðJ.}²ó(×ëoªvܹÒOã)÷ÃúÒ ˜y馷b6l˜GªöÃÈÖÚŸÈ>~Ò•n·ÜïÆfÍíâÒk (§ÝyŸïåÐ E=z;Æo:ª Øùa;Á±¾âÖ'ªž—Å{äÀþš[£¿#l¶âñ{ÌâÖõZ›Gi/nùšáNl+®#ø¸õÐïw‹Aoó<ÿ¾N*7û“S¹®ã¥'X˜Þ³±øj%²Žï;˜Lq6†Êñ|i¢dF`¡\rÒ¢ÿŠ™ŠònÌ gÒ²æÈœ°/@ÊikAC¾Ã³¾‘ F,Çn½ƒ›cÖ’1ú²^04ÉK ½âqìn$†‰öÇwfŒÄ‚ȳ¸ê iÅWcr\sëˆVÑlò´æ+47. ÀÖfw~]ïåÐé!r‡ó½ã«ËIýô˜/櫈âüP‹”Y#ú¿ïäW¼¤Àäh0îñ Ì0…þÅ«¬yÔÔ ·Æ]q–5ôªÙRGq¸îâÒxzœOrk¼­á9$k~5¹ ˆ[{†¶}¦¶àS¯¥æÖ(Às³â(¶½¸5¦™eÍ/½G™§>Þöò{Øä{–¸uôÒÕ{Û™:—‹[ÇêàÁqÐ/ Q)&¿1ê]Ö "¹Ã³jutèÌ4¦çD cKŒ2¶ÍŠã• °¤ægLëB¥Y~Óf!T¡tar¡Q!šƒNÇSÙ("V³é¦ï¼“[7ÌYac¯-‘+UXÒÇ@“Ô»ª¥yD<¼áò>óò’íŠñ:°‚;x!ÝÜVåå"“¼‘sQU®;ü´ÑóåFxyRʘ5z¤“BF{æÚ)dô”Üû$Yâ³D«„œ'of¤øàT§É¥‘Ê,œ·Ì¥£hŸiré8ÕÑO.ÿëÜ85ÞÀûUÖüòþÎ9 ó)êSPitÿö˰T# J=,$‚Rx·`:]¾ÞRú®Ž×p!Eõ½í“ø¾³•}ñ7;øß?àaä—‘ÖÝL s›¡ñ…ƒŒ=±·ºâ„ø‰Eø‰µDøy^ÛZ½A5YÔq›åfÆÇ÷ó÷î ¾¢E†Nn©7}ÐUñ­Ïâ ú³þ’tÌ€HÒ5ÕâM—M1ÎŨ%Hû”†Œ“?Fd6üÞÿ²¯¤ç†7£:ú—¿0yû£¦ãÇïy”ãK)œÀ ¸Õp›A¡¤y8«¯©$¦ AH¯za¤£¹7Û(.fí±6NíL.Ý1QpñÔøÝ•Eøù»&¢sàøB^_c ÛÈ) ½äÖ?¯Y˜cO|××µqëŸ×´è‡óïsýѵ[ó¨k·Ž\"c³â‘Õ=VâÖ?׿D‡¶¸u¤kzqéŸòóZõŒßmÛµŽ†Ö¾_Ö{|6Ng¤M>˜EC·øUÕ€g”¸á^¿ùø¼æÛž+¿fCúp^eQ©8«C…NöÁIÄÈÅÑl é‘èeòOœŒüî-¸íÊ?§¤iÍ3_ÜZq'²˜’úAÑ֜ɶ÷õï›KŸÏ'ß‹£‘6Š[cæ¯ÚÏ<™:ã^}^~t¦E»ÞUqWwη–ܺ7—Æôb˜Š•6yGkÚË­O&ŠJk®Vvrk ô²æÈ[»-·nCK²âŒù~’[ã­am§/jHÍeô:ýæQsŒíô[çúd“{ýŠr`ņð2€Hâô««äC S zóæŒ³+ÅfLRËëd …oJÞuÚSIî'çŸæ<ê´—FÜlÉ18ò\]š—š©‹ïÍš+Åpréx/:U¹Ìƒ@n´¶ÆÒ[çRʋǖ֘í•\*ù 5R–øçåuµ¨$g#L“ðZû²‹íèûÒ\ì„À³Î…%u4¦’>íRªa$öŒ<)1¼˜TrF’À¢’¨ôŠJ¢/~§³öÅTòcÇýÓŽÄá†Tápå¿DL!&7í;J(K¦!–%-*Ì eI„5WR- Ôah¡},7—VÊH$ÜÆlò.¨ ¯²æ1{ߨ¸µ×“Ö|*á¶ùÌÛ`›y¸ä›[Çü²xc·ŽŠM3qkWàC Ã]qrkÿNÅ+‚´NŒÅœ­PÖ\ɸRí ‘\îV~dÿtÅĤS)8ìº1¼ZÝú#ð =I¡ aZ^€ñ„"n0.ÂÁÔ=Æ×2A+NŒÆäAôħ8HÉMQ¬¯™$>×NùÈ^í_¼4‹ãs~q~Üòߌ&D"VQK¼²¶Ä¨°1V¨ùÙ©´")~3r}wýºpr‰øùBêiüކ©>r¯±¿Z†iÇã M…)РâäŒÉSsˆ#yêÅhÑÉg†¸1l×֜àť£_)9lÍã=Ä‹Kwå$´Íï=l$Oýà[N`ý(;=-“§Öñ$÷ñi¿ý=¯'Ï£¹ÏÏO¸÷cιµ]L‘Øòà  ±äâK¦±%|è9¸ÜöSÂC-.,Wqkø¯nß·Ž>sÔÝFI)?vEÒ;ª/i I+ ¥ÔB†TèòYy‡ø.ŠöòJcªïŠJݬ?l½©x< …æ$ž|̤56qc¿æ„s˜t4ŠfKž:.è’MÞ±àåÒJΚÖ\w¤·WûÓØF7—övZÞéã«·á´æ'³7%·>•b,­9'j-.½ÔÁ‹éG?àÊÞµ}sëžõ´Ç{?}þ½¯ß<õb~^7i]×ðÚA®?Tî¿ãÍ=²“K{Öê'9³bÉ­ÿ<>ŸwÿÍÀÜ_¼X³Ã¡JÖ¸q˜1[»¶5W5Œ¼-f†×–› NÃT±}C‡ k;^¯*„yPº¨>h8Š+Ž>í‡ÿ Å|šQÄêúë娇Ì(gKÀ_!$¹’±Ðè¼,ÓÙ˜ÒW¤¶ïÌõ¢s98¥(etQ씲¡¿¨$35šJ¢;fÛ ëÁi޹ù¶¡™y$¶nxW?‹KÇj`Ú\™ƒÑmNÍ`;—Fâéâ©á+÷ßu¯ßû°ýù´Z¯4]ùVqio'º>ÂÏ .š×³&ñÔÚ^¼]m§±–‹§ÖúPôX²ºK„Ÿ;š‡$ú<éꎋÏßì¼áçovvò½=;8É0:†ï£Ã…¦/ £èœÑI“`qyTy-ÄXŠ‹pÞXfĹ„ø9:3OýmzEÐO¤ô‹…_Œ‰#nýîRhá²ÏCÐò@¤(å0¢”·®Œqj:½rŒóecÔað>•ä Ã™ØAl­¾nÖq˜KcLõÙyËâÊb¯üíÖp7}Šïº×ïó ßÙ6.ý09brioüf%Š­×g¾ë‡²ûI¬“*žß×úPÞTÐ:;ñAø™~ƒ*§zcB«*?ã*Q„9ą̀K¾[<ewûmy㣾hi7Þç{94Ý2»ÜháÃÕeç‡ílx¯¶s뛾h»…74Ýc“[‡=ÛÛÂ#eÊwLÜ:,|Å6{°é4skLùwmVüôïÄ­å&[VÜçÛÜZשÉg 9íé;XvãÊ¥ŸËQ9Òw0íÎû|/ïŒ%ZœP+.×ÏÝW%Ì|™ŽÔ^±&C)º nñG<(ûÚ¿0ìÙÞVsœ­c·ÿA †-M.?ÁäÖò,+>º~'n=ôûݳαyžs^U{ª¯a·AŽ•‡“#ßwdÈ&ú„S=#·þ’L&ö#Áç±~Ï©€¿ØoƒfºH}‡À¶"øÍ8 ×~Ž'/‰?3îW‰0`ôí¿$Q]]"ü|¡£GIâšàó‰/ÿª—†'‚Ö™ñm;$íÖ¼Ãßþ|‡ç󆂷OÈ‹35ûŽf'à®õ¹a#Šh=>É(ã .òº1¹ò1¾ Ð4?^¤”Šý¾8úŸ8µÒzÝõW«¢¾K·æ%£¹?‹JNvÒ™J†_ÿUT’;È óJë“ '·ò5ÓuâÅŒŽc¶O³qr.ŠäÒÑ €äÒíæŒÉ¥ñ~~ÌSó½6®‰<.w?_å¸Ôj½ïÏKwŽmÅ0E¸YblÉëóð…4¬æÝMŽÌ`Œk(N\¯¹Fç:´sj—ƒpi¤[÷?÷G¼öÏûëß»µ¦òäóîë24++½ÂˆF*ft8é2È´:¢–Q)<¥Œ¤;¥ŒÄÇF)ãezÿ.å‚GMRÉ›]Þ‰Sw{X3ýfˆ™Û÷¤§½®ü}kxÛz¥açg¢jÌ “\CRϛ㠹Ÿ:¥è‹™hçf˜‰äÎSO…ù}f]¨ð@W£ T^+î¾/†Q"ü,¹4†RŽKÇü¸wÌ¥cæ‰rÒ;7=äÁƒýÕ¡„ï²Üæê¯JÕ|½ývF”9| \ìâ­éͽxèÝ‹¬R¬ :¼#’K#ÍF:ÑÉló¢R¾wð׈ 7-¡Øï7UHSG$ƒˆþ¢žŒ¡ªYQt¾QŠQt¼^FM7ÑH`–¶æ¿ x OÓ!7¢È4ð=EôùBÄ[ô¢ó7ÚOøÛéÇ-3R|îÌò‹¿$‘îá瘣6ÿ‚pHø™{ŽÖ\4q0„ŽÖÜ*#È×iC*lM‰ðêÍû:tD=™³ãÖ¤Bwqi&™nÅ¥ÃÓñ†æÖ¾ùÅK/zàÃ#ÿ’mÛrñ]?¬ôàËãßçrñ×ï[í·kÂ/Ú&ic¼—JvíʘvQ)õ}È—{ÂP/÷„=ù×S&!ÄÏ(j,‡,,¾Î* èí牟7ç¥&ÕÉn»®Ê`ycɸ)žRN¼,¥Œô5ÇF%›L¢–ð.JysÄ.qj6ÁÐ/¾“ð]A„ *UÙ¡H:íYÖ½.wqk œ­²âóÛÉ­§ÒI§5Gö‘VÜúd´^ZseQOn­Í´â|úÕrëŒBÁOÄ(Â8…‚ÏOS¡àˆÄ¾’Aü{BÁµVm[ž{U>aòBø‚ñfÃD˜¶®w1”Ê¿$˜-˜aDò|:ðw¾ØD‹ãÙmN:ÚÌ®´¬ysêEsén›¤-†Ê0Õ@¾W=àú$*Ùðä=[c¾ÕV_·Ž&=\ŸÌ¥Ñ({v.Ý4“½xêÁ¿ä»îû™PªÌÉÔWÅ¥µäÖQKÞÛ™´î-]–êe»¹>­ÿV¸˜¹õÃŽ™äÒýhrÅÒñKû¸£p)½j8ÁÞÜŽ­ù:ßËS_L¾({)æás=âLv}lçïÜb(¶óh­ßçï¼þ‹st¿;Aw³äÒ˜ÞðîÅ¥+qÎK_x9•j¬’Z»UõâtßcbðÎy„Âÿ/ÃpƒZ·Ö#ÞÜõF ÞsÎ!ÌZªõ%—övÍ­µ_w ç8`PW瀬¹5"]¯²ù=µR“[~Žwô°=l©õ|Ù&?ÑLªåÒ“™´É—:ú¼Üš÷hYñˆ[‰–¸¹õbð[YqŸó®<õ<åñJ£´·ŽgÔ¹kÌOuÖuÎëþæ¥õ;¼}¡Ü—Ë(þ !qÂiF1èò-ƒh›5_?N¶ø,µZ‡Ò(“J!ojlÊ5X5·¤Ù‰‰^ &î5“Ðñ‘QpUùìÂS =iŨøÌyõ”Àÿ>™êªìrP8; ð~˜Õa€LÌ6‰Ÿás¯ƒþï0ÐSš[Ñ&¼3|¤#ž3º ú¥˜Ìû‹S€˜—Žþ†ä©’[/_ß®úÓM‘‘–œÓ¢·Æ(<Ò‘ØŠëѕ܉ißÜÇan­ãŽï ÝÅ©ô§Ó\˜oúÅS+MFrk¥ÍðïsýJ‹‘ÖÜé0Ì­›ÒbØŠÿC¤·0·žJ“an=×—žý½ëq3M†¹õXïý²Ž¾ãçÙ85¦ÂzFÚäi3ê1àò¢òÁfæ»ÉVœšx{虂Ñh-wøHnôà<³¢RÈ*Z0:ˆÐ$”ŠÀé¿Bçé~®3Å¢GžŒ`4:¢-Õ0çMíïäH޹twß]ZEø{—»>Õ7‚ð*.mŸ)Wev©Pc¬§·j«^{” ]¯ñ6`n¯˜ý(¾ëÎ!Xz¿ùøtâÖ]®Å©½ýäÖ¹ÿ/R—7ŸÏ«¹õO¾¯Â”Ã1tÂÖìC‹‰€”ïo:£‘˜ÖKã»p€ZÙ‡Ô(Ö—ŽV9Bò“+Ý;2íß—vW€;¹²kà|m÷¥ûöûÃÕ]”¦§¸´×çã÷÷ý½bþý ðœp›àç“ké/ˆö‚È»ÄÝí˜|6Æ„êgeFdÈn‘|ñ€/SÙâ MËZ}†·Ù½­?zm'­y4¯[ÿlçj›Ý8"`¶åÐ?Û;ÙaŽð‹£—ÑÍ3Ñì–5aÖ¸“KÇMÖÖ>·Ž¶UÌM`»ñu°çlu¦Æ\ð–ddIqéŸføº6n£¯¨L̩à ‰Üe‹w\‡Z.çï®ï§Žb¸ßÚçåäõÆs=ÕL16n½p½‹[ŸLŸ\úsýy´}_Çüž~‡H¶ˆžóímÁ”—âÒy²Éu1d~0nw!ûäõN.íë-¾—ƒ§qßG¾?èÓSV\ëKn×§Ýeͽ_!÷Ûd»YÌãñŸ\ÚÛ1·ö} /$Šz”µ»£œ%·öúÌ­½}ÏëWÛê Ýç¬åT"ÎroØ­|Žçƒ×fw¡¹ÙãfQãƒѨòb ö`¸iü%yÐÒœMïÈ‹àQîa{{à˜§§Ž†ým“kà¶Æ^FÒÇýb·ù÷1Z ÿÏm¤*þž/v¢m»êÇ–Ú‡n¬½q¡ÆÔ©[{>ÆÚŸÿà±öö1Ö¾é^¿ÿg]Ÿ>½_ƒá÷Sdw±BÉ—+DÏÐ}ó’‘.u³æwÌuÖ6.Þç“¶#Ìùøc=æ˜o¶üY¦Ø¥5ž= Í­ñ˜XKmÏÆt=„RçEuíðBÔ¶ÚeÖ ‡x¯ùÆ<»¾:jßkIëO 'r¬Ödn?÷q¼˜š8¬ÉtËÛ“h†!±NN îÈ:~©ˆÂú®oRù¬ª²p5n®4ì×áJĤ0rÆûuk~|“<Ø…×γê)}>é8‹Íãó@_ľ …¾ ƒ}A‹}AËN~ìšD„>S@ÒÒUíî;e¸Ç¥Ä³t£”?§2¼’Rž¬ÇM%£ùzly¸¶/—>qdžï)%Ž­Î?ŠKÃ9°­âÒìÚ¾/=.ö+W?“3ñ%—>9¸hžúR¾5ó]÷í÷:®òeW·¹2.&tH.íí+7Ú}mç‰ü­Ý•>ë<ærò·¾àZÁ\à3!%ñýU"ʯ¿'áâ–EŒa®bª<Ì8ÃŽª®A+W™õ5õ5êîqé}Û¬³³"RÍäÊÏu­ªÍ¿zO1ÑQ܈l@N•øK‚ÉûLð9R„5ý%‰ì.žpÙÛ˜æUu5‚pã@ýR~91'›c_sã!G‡÷@Ü ýÒnßÛ–S«[*-y®WÜ)ÒBÛæ÷ä÷pÔbèŸûŸÁpѪ‹ô½gžœ4ÝQ¼¾‘;ftÀG“Q’QÁ[çHHãAÑÑ#H5:2»%,õ”êÚì ‘(Ìù‚ü=\Xsm«{¥¹¶¼:óÉKGgWn\’û°.Ž\ðhy"IJüÄSý¸.a*@d8î'By¢Eu0÷?òfP0”|~d&@~Ä£'Éb„%ñs˜,é,Î缑ö[ʤ;þœŸ îÈõUɾ_E)j„s§”¢`‹Rœ§8©$ ÔŽQ¦«pê[Áx$Â99¢…ï;>sÖÕ<8L 2ó!Zª'Îg³ÔvÞ¿7ÅÊf¢øN÷ysë¦ÁÅ´Ž@¸äÖh{Ÿþ°nk_o~Ë!áz6.œ*»w«´NœÏÏËiÈèp WÒ3‰A„Ç;•Øu7˜O°ËCÆ4FÈ‘ɘ3g_eŠ6$)Ë¥M¯õLK(ûs©—k[‡àD–-C)î0ÿ ¡V7£ÐAöN :3Üt@¾@YsLº»Š[Gd”[ó‹A•É­oUø/;}ʲ˜|F»|FÃ<Q2Ò]ÓÙ&÷az¹µ'ÚžñV0ðúÕÑ9׎݊w™[¿Êƒ©ÞåÁçBÇž÷œîA¤ø~M ݔ/:'aÆèæ6Ù‚õÿu†õõž„#{pé}MÂ@‡Œx&¥5—£å‹‡ÆdOÝÓ¾×c½{]!͘㪬?ëž‹ÙbH¯ÕÙ‘t§CÍt±wB䙥8 Üyî4íüà|gÈÎå¥1²6a -§}ÖéÀ߲ƉÏÌhpìãñWû×êè/¦z`~kÔà¨Ëa·5”ÇÉGØ¥¥Ñ…ý»’?gò(Z2>–ît¼NnÝ•®s §ø©h‡²ààYeÍç%ÇpqëE·¡´æp»Ú–[£rì›ä¾e. w©y¦MŽÒ¸jyj5Aò8}Ü‹îž/®XŒk;©›ú%Q®»sÁã•Yî×ãb‘@;“ÀM: ö,é‹1OhZDoØÉœ)%#ˆñ‚„R?;»òïõ¥i€ú-&¡}â_¡ÉÌäyyvà§ÝZÙÉPf8„­»¬ùRÅn¾k<[d“_H¹SË¥æŒKkcWk[nnÀ Á ]ôº‡kl?ÔkÙ˜X±¬£—5Gv»§¸õ˜o×;úõ?×cþÐß9õÍ×ä¶ÉårœË5¨/,x4Ñ&Çä¾ÅS·&·0Y¸t-|/ÎxZqÌó­JóÅÆ‹Ÿ$eÅ/³$·Îþ[ó›3!äúõ»í¸¼_œHƒûÝ‘ù~—2>ÿÞ¥Z¥8˜ZœQìx§Â„–“N°Â–ÊØ’E- ©Ë© bÛS¡ôgug£2½àHUœÚØ< ´ ^òÔ“¾¸ÒŽ™‘—†¨$çV­Òl\­o+¥öÊU°âÀt¢É$ú^ÛH¨î;ùþµeg:Q}f QþŸœÈjuïöyu{ê *ÚGªO]‘êìÿNpö;ÁÙgÛzkCÿNpöõße‚³¿N°¤•þ÷I×ì{¥5FªÀ«[w„ÈØì´á%!z’S˜P9×áßblº(et&¥ü9¯áèš”²Ãó§(ƒ=I…KŸô¾E6qö@йoÐ=í|ë¶4a.ÝNÎz’\ºLåWüV«é¡Ç­¸5œõ"ÀÈ\z|pëa^séxâ#,Ö\aÉÛþX3_WÛ8uι´qεÄtæ©'㻓ïºo¿×ù‡«Ü³qiüÞ´æv³ãvâÍ…3LÖBd‹ONÍwçcãÔ™úÛÜ©¿uŠKëºq¼_c+Gò´}iµÔžVåìµ¼}è‘wÇvï`Úñ…»÷fÞŒë­Î/E%ð¸1£˜:“`†o3 …)I ÉgFáqò@ü¼ü†´UhßkÂxòö ÐÕ¶aé¬+l#‘éøÛz¼$‰ï}K‘$ ÍãÆÁ‹ÊHÔ’›ÇÄÆ¡ ÛËEE¯?Õ;Ù{„P(ŒÔ—%¿à£^Üz}1)–¬N8Þ‹ïÍšãi¿¾nF_. hð Q JUˆâã§–^ów´g$‘E¿ ãñ—$&Øž"ü¬sL…$ ð™EwÕ}å¹òÝkþÒ˜OçÂÇ®söMG… sЇ÷Ã6#ª1¶¬áåñlkæoΫ\3|yc¼«YÐ]º›Ï ?Oºú©:ÆÐèó÷èyè¯0“S¨‡ircõ]ì&‰ ÛœÔ2®óÚ¨$_B[£{iã©—{¾%!mнçŸäÖ éiÍ‘«µâà G®—J°÷¹s>Vqi4°âíÎû­ý„E"‘‡Š<Îã”—NÌ¥uP™Ú?æ,êÉS‡]×›/EÜ­öÁÝ ¢O.-W×ò÷–ÿ;}¿¹ÝÚ/òÔŸç'’À7VCHo˜–TÛrk¼aC?o>>–[ÏGe÷WÍ­Q×Ç|¿^m¶oš«ˆÛÓ<÷.^xinÇÇï)L}ጭ[g ré†àˆZµ‹}\Š‹M„D"òž…˜3@L"\cnÄÞ¯ß õƒ·bxŸ¾¶wL±–XR{g*¹o‰«CØß0£@†Å.&ñ$O}JBúŒ”„> x5AþLý Ÿ18.€Š]‹® ¨U’QÌûKUR?%¸E# ídlÝDô¶‹&b2eÍ££°Ãç@\š3]eÍO û™[#ú‡•Ãÿk=æ's—ŽîØsÕz}MÝm;‡>G¡öÃúR°•yiîß ¯A I"ZÚû!žZûãýØïlÅbÆ-ôždƳ÷S )´$Çg…‹)BѺ‚ÎŹ<ð9žÞÁÜñJÇ aQ·±Yf0n˜Jº¥-Þ0éU-—Ž~Ís³É™e¸;{Ln÷Æ[Õ‹‡>˜|¯ø¦Ã7¤¡='.ð€kظ(©0ŸVéù3¤Ã‰`Ɇñ´¢”a¦Ž ø@Í×¥#¹5›Àgqé¡ô¸É¥‡fi*N8ïgçÒxE›ÉSÏ©WAñ]w:v? ¯ZrëU‰$Á­×óÁ­Û›§îôOn=?¸´ü³r?´ŸìnÛŽ_Ž“G}ßÚç#÷ÛëÓ¬RˆÂjM¯µŠ²šçfÅ£ül\¯·óJ›ß{˜Â«¸õ… ioúÓÒ -©†³’Zwå*ÈsÇÁÌ¿5¦mò‡iRr¹4{Ys8 ÎâÖhi\e“³£º–KcÈõ¬ýðþºil.Mà›³7`ÄýÞ›Èn‹ßÌ*ôj_=›È˜ÏhÐ] Y$•f¢¸ôçú͵Ùöñù¸Ìwݶó’çq[o~á?'u¶?˜5!¹õÁ™¡Ê’ÓÝéNn·µc³‹ÞŸë1¾$x÷›K×»ÉÄë/?v¸?¡s’zù.å´M~³5—Kç…‘5ŽŠýÂ¥Ö…=T w&<•¶oê,3·îL­˜6yŒ>ÛréÁ¼7iÍ}üæÖ>΃ñGûË¢»?й©¥†¸´v:J7î’œUa;Æ÷‹w÷wåÁ%ßô9¶ïy=t*nÝ0œPܺaÆ.¾óe8Ì¡×hp–‹j®ª} öÄ»y~f󨝀~E„Êk› ˆïÖÛ»¯ß½ý.>Пü³–è_À9øLÇOž49‰ô ¤Ï~“hôðøÜW¡FŸ1Šx²ßþKt1#>ž˜Ë°3ÄŽ–!àÁѲæÇõ^.©ëÓ¸-"öCaa˜Y¯Áõ)`çÃÿbW¢Ôωe‚R'æ3éÃIm•eö`ècriLË,’âƒóøw¹<¿Ïf¢yj½&$·Ž¬ù£Ö“úäôÉ­ñöÝ9æpïšíiÍVt1ýVj/7O}á5&­¹·ïíæö:¿—\ZÍðäÖÑŒjÛ\:Ë /.+¯ÙP‚Ù¡® ¤Ò{îâ©/´ÏŠKÇ Lß¾o}2  ]º“QèCïJäck>˜/¹µ÷Ë6ygf.—Öþ"Õ#üV5ˆŽèŽ^Ö³—µâÖšÇ>­¸§æ¹·>™X\6[ÇÓ1§ß]Ë?xiæ «ïK#UäUÚwáO€÷Sqë(ìè~·özü=¯Ç7Ÿ¹µoNœÏVç1€ÇÆ­Õ KînvuMÅlH8~FÜÀÂw³3.b¢vs똅«•!훨–˜ys¤1Õ®[žòÜ·5× ykTK·šŸ÷/Ž ž¶’[Ãï|^eÍã,gqë<£²æñ¸x¶+Úgn¥y‹‘øÆ–?e­¥íƒh¶G°#òA—!Œ'^2 þ؆Œë÷­ÞÐêò<ú¼.¿Üqî°®Ò«¼Õ}\•›*;=,ù\cë'dJ”‘M踘ö5ÑɶÜ:3¨ÐþÔn÷>“ÈÚHÛ&:iæ üŒL ݆ }wFx<Ùˆ)ëæÜ]kÁm³»Ö2Ù¤¿z8N%w“5—=,9a Œt’[;U¨Œiæk¶<˜©“²NÙóbLJúJS?†÷ÃAõFñC…à½s™Q ðLAEâJ±Y*“ &дK¥Ko£óâïøôùKCÍI)#&|;Õ’ /Ji'ÎJ*í„(e^SáºÆ¼–³Æ³u›íàó¥òv]Å¥‘£ =[âÒ(Wáœé{qaÅ­ñnTû“úº”_B|×}û}–a«§Æ$X²—öv3Öð:Îó$^Z¿?¦Ò9 ,ÁÀŒ^'ÜáÅNùÆÇhF“æb+æ@¿Ðß2µ]ÖìAòfzÍÔ‹K3˜p—®ŒFæŸì û™ÑH|ׯŒFª0Ÿc‹®^©™F}Ûžô;£Ñ]uVÌâ»~ÖV!«öñr&!Fm ßûoó3.Oùo·sâµG`Ì?Ïü5¿†«ØW1Ò4‰LõqÕm×ûïsèôs(HL‰ÆïDvNp' @/n}:1­9˜`£é˜úb‚ÉäÒHÈ|—M~0ád.·æW4œP2—òMÇ@Drë (kÿ?÷{ã7Ýž™0Ó ú¤c`í¾7.=ûûûÖÉø¬Ï ûlÅÉýÄ­»øÙЇ3ç¹-·nLð7–5jº@tð!a£¬yô·¶qé¸û1%kÞ•HÓÜÝ@³ìÆ‘pó·=ôÛúÕ:”£•·ffGnWsêø.s»’[LÚ7N1òã.›¼)·«—K#ýö}ëHQ´ßÚ·äR.Öu(7ªr¢&·žìÛOní­æÎýú±þ¬"´}W!ù=þî¿ }‰¹ŸOZ!mìTºØÝ‚ßL›\:O•lržªþ(m¬ŸŽ~ê%W:YÕfæ{-‡t²¿íàÿ=íàßI¸~'á¿“pýNÂõõ; ×ÿ®I¸~giÒ,M¿“‘eËÿ‡“‘ým²§41Ô_'ÂL¹á¢ò}c®€ÇA˜×üf®|þ©æ¾MôùBlW\v¤ïFª6þ%x8 0>ÿ¬þêúKÉÄ~†s¯ÿ‚pHø™ûá½HcŽ„oúº¦<Ò,ñÄ0®þ‚`g ðQ3Ê 6tSzFôd8Ã%—nˆ(mÅ¥Û­Ð:sëÁ–¬yéÅAyd¶ Ã$“°ú+ÄöEg s?•BâQb­ÅêÆ6ùÁé\n­ÉN^ö¾js_ÅõÂüælÎ`.¯ÇË#ÉÔ3Š[O¾È—^j–™[k¿óøMN#$“´!¸3—JÜ6¦?7þ}'•jc–<î/å ÄÙ¿Ý‘ûä_ Þ1DüŒûF×Y—1z¦.:ڒɤ~ÎÖÝm“vä[X¼A¿ÌìŸ?'„Y/¨ŒèS—ÆÔ=¥Œ7öö¢!£×r_äô´ñÂ¥'+²Œª,õ.ÓÖè(ÛÊ´5š%QžÍ¥Ç57N=4APqj¦ =_Ñì#yj?ªÍwÝ·ßëxñ&ûl\zN§1§þÜnSmŽø®^ûoÝžñÚk;‚V]PŽ¡>è°ƒmÛõ!k†+ãMÜ×o_ŽÀÑýû{æ„ùÝLA©f,è|ñÀGnU!§>>Aç%XU°YY±’ò“B“¸TìbîÆ<Ö‡þ’ ¥¯?ã ë/ bsEøy %ÿ’0õÈT.UL1I”$å'ã®ök«ËÏM}˶¤?M÷ë(u¿–á=u¶?~]\r)|ýFßá…9ðWÓŒ¢óšçºî½Cê‰0ͬÛ7 InYº³Eýær¡}¶µ[«)Y\ZG¤¹Ì¢íXcÞ.Þgï;™„ ¹´ö qoîRL=XgÄh"TEl*¢æá!0þRk$”ú)ÄÈ"#-ýþ$¤š8À4Sé&õÉüÒÉ!]SÊ£}¥üYwdxJJ©ö¤©;²ç(1…\m¨æ#N½”Ä__Î#r2ž¸uÃ=Ÿ"‹ÑñºxG~?ÚÈxzëJoY”{ýæzÑwÆ4ïaÌŽƒ#°ãƒ‡¤I+î#2O­ù¸„lZóh]"êôCnË‚;yꥋck¯N,À"nlî²æ¸¸Wqëƒ(ÒŠ7,ö$·†|E÷ƒs}ࢿ88‘6yt;[ºô¾½çyó©—ZL<1#KÜ$”:8ÕÌ´ôÀ¸Rrk²¹µMï}¡çBFì·ò÷©$©h=¶4‚ -Å?Ó9D9õiýp ÅÄšÒü4âã öóF¸õÅŽ Lú­¥øSyÝL"ú9GB„L(•ž4„1 3éóЉ_Ôòd}ÇTR‘·L• ×N‡™âÉó“!Œ‡‘~nú˜Jvtj'•üm:\ÛóxzåÌ9Zñ‹½É¥Ñ+„q·\¦ô;û ˜KspêI‹žÅ¶^ÛṜNA ÙŠ/N´In½85i·]Q›:zé½ÿƒöýc Šx¼ôzÅ¥}ÙlDOö[ú’«s!åÂM7Èw7æÏ+Á3İ<Öëe ¯“{³æŠÍT\lÊŽUþ uk|ÉÕ‡ñ]„ß#T;š0dêÄ¢@¾·qß/‡w˜¢ñ¾ªd^ãD:Ø:Ìõbôú½‹A=7ëÿÉܧQû_925ó!cÔ¶w–}´T0Ü›EÇê©å¾ÙþtßÔš”çî¾É¡³è»›6‚ám††¡ÔÓØph? ÝÞY£U| Åm÷pö½›ùçŸ76NZÉ ‡Yoºøb¿7J¹:› Eëh6˜²m¨[¸ô¥NhUúØ¥ñ°Ve*ÙðTÔ­#w#°¤¹tÓL./6öd«'ÍÅ j·Ö1j´sk”ƒ/NƒÊûR® ë@WRsj”]¯%^5xUêÈáÉ¥Ïãç½Ä«4\Vk¿/Ý·¿×Åhqì—žËA´Å¥½:ñ¬*]Ð˼që‡=ûÅ©éüs&·ö}(nÝÔSþÈâáqf&zÊ õ¥÷ÐS™,Óoõ”ï¿ïr†ÚJYŸŸyj‡¤Q¤y . Ik=®#K²Ÿ®E¸VÆï}Húfeü®‚‡¥K˜Ãå“]IQ>è¹p?`—‹;Núõ“ w³aú|öÃL:- ðǧÓãŽ$£˜êÀO!,Gý$k\C!J¾4¨êçO¤¶ßÌù¢“«¬¾QÊC0M)‹ëešR×Ë4¥œ MœšŽÀŒ(Ã÷fŒÓÀÃQvdÍc.„c½"òÍx¥·ö?9‡Fé€ëg7?Ys¼,îâÖpÈ~ʮ럷cþÈM%ÞA1ü"ï݈›Gר‹[ÇvLoN+~³IÜúäÜŽ´ÁÂõ­©»¬9"JôâÖƒ~iÍ1Ðs·ÖuDzäƘY¼Â¯¾që…¶FrkÄÅ­)zÖõÌë¸,¦¬ø`·DÚäËté<^Yóð ÷0óÔ<¼ßrê÷}O+>öef¾þã8Í+²uüÒ:ϺϺoÊp×DiFŠÊç,­ø3Ô[(nÁ¤YÖ17ÏSçs5Þc ê?/]ÏèFöá¥æÈÓQ\š}EcãÔ>ˆâÒö÷IåɸkT'ï‹´z«¬x4WŽYÜÓô¯ÍŠ»ð2·7-2Kk®B-SÇ×9{¤¸4ºr¶›ií“ÝLx_ ìpß¿ÿOöMÁC7îkU=ëY¶ª,h'”&…CpŒÕÈjèÂÔ2^Žwš¤7üï0ð¸®M7¬{–ÜzÐã.a§guFë·«ûÕܺ7—Æ’¬Å¥MŸ³§Ò­OÖ&Óš# ×(n=ì+d_ñxÏ÷-ÝZ+x§g­îIn ‹±ÏY»ÒuÒõIn=y.ÉSOÄSNný½}kíü. 1ÖŽå<Ä(tŸÅòæóî&}ß| qÚ´§H±?Ñ£Kê]œpŠÃ gÞÎÚVçr6|p¢Þ{JÅ­ùI„×Lâ÷! Ÿ?ÁÁuE¸ìJ&~QʆÒ,©¤¨¤z¾øì u×àI_rˆ¾6+í°~—æòŒwÚ⌛TéÖ }¶¹Næ:Ùä·ôÒþïwº¹u´³Uk ôÈDá>é 4²æŸ·sio'­y£ÃpriÛ"ÏvÞ<ßâÖö òo¥—ÛwâÖ.…&CªdéóÍ­ýw˜Þ†ËIxÝ7”R®tgnlGa ”˜)–¦ ü7“MÊi ÔFA+{ÂxÝ6ÝÄx;¨­?4mSØA‘qßÅ¥} æÖý>Þ\¥õÆ­¹ø×U\W'7æÒôÞ¸4&2\uZÖñ‚Ž—mqjÔî4-ÖüVwЋ7Úß7íå®Lª]ü‘`©¬”Š&þ= ¥°zÆsç=ôµgìÞõÃ%cïí˜Ä÷cœ­ì‹Ÿ•©œ›.,yžôâòî X”‘_×¶Ê(èîµQJÝê®F=:#䨛I0ŠQ`b˜'MÓîíI ¾(ÄïÆEHøM_~_½¶êêi@Ì8®ÞéÎÕþlL¸ ™J¬«ÙÆ0æ=JÅ,§ÓŸB§jy`áÞ·ÒFíw(2çSÇ‹I+­¸t÷´Ê´ôÜÉßiÚ"{É;¶551a×Q«D Ú\\O+n=4!O<õdŸZrk<“Gñ]÷®%ɶãöyˆ[cqBŒ ™ßj”h¢œ¹uÿÍ›Ôéy›×ÕÜ:¢E^…)ÑKëç[{±ä©áß¡i‰\H¼—æòƒOqiÌ“h«¸4\Ú¶iôÎûï¥'ÍS¯óµß—îÛßž²COÖäÒÞžÏß¿÷ïòº¤¾s;äÖ'G™’[–vÉÇË]£®»´®=%º»¨)\—îœW\º³Ô}󳞺©5 ïÞ˜e|&”ê7#MJéÑ´âÞÕÇI±úâ•ÐêvPÒóIÅý](Û1/äçÆbÅü™?—1¾>±}xΘXBÀïÆÙô ¢£ ò!ñp¹ÃÀXq^:–™zpœñý`xž®‹KMŽ'F¹Ñ"áô¬1fYcøýÙ"â•0Š‘uÿ¹s¸H LÃn·ÌβÍèö»muD†>>î[yÃTvºŽv8²‰[w×§Ä­;Ý>‹Kû…µVÛÉýˆ§ž O#ªOTêf£Ï†ð¢‡Š ”Öo©càÆ;ßki…u}M%u™£ahûÚ° ›Â†T“Ã9.¿«\æ{%ß~ÏSåäU+y0Çß~PŸpÅà×|aøI‚þ~Z\×'Éâ´}’Źb4CŸXÚY©˜µs£9£€~J´¤Qº“QÅ"SŸMëV~ÿuòÅ0Ü«Ž Þ&üÎã 9éy¥=²ƒôòl^Ï<Ô|tbI%oúùÈø@Þ k³ûþµFÆ­‰«M‹Wº÷¨ä/lÐÿX½È-7­ùô¿Rçê_‰æ9¯] Ñ&¬*"2Ý]W?ï‚ø:u uwÞ§¬/ºÃ’[³Eˆ‘òCc˜tèSl“@)}p%Öx„EèœÎ–ÖüÐèurj„ÿ¿ZÙx¡ ƒ—”lr,ÐQÉ’tÉÕòBz9ÖäÒü«©þõpbeÕ–Õ¨äÒã}Wqé(éé~zꡉÉ¥‡fº§æÚÓ«¸t\ôÝšK×Ê“â»îÛv}­øÅÜÚûiš|á{é¿3OÍ¿Ï{¥›àôΨÊ@ˆj”L MEC+t7¤ºé$(h%EªÌ¼ù¦TQ‚΂Tqs¯Ú7:¸€…Tç –O„æGw$Ÿ=&d8äO¼‚¯Ÿ»iñ6Òw…!;ü“½·øŒñá sT6t6½.Ë>?Ö|œ3t/gÆ}ômvœ]v¨Å÷â5§.Þw6ï9u@x9Éh*GIˆ$ÐelCëUdŠÅɟŬþlQtuì¯h»>¶óØÙ<4Qo‹¶«i{狜‘Wl™óe8G©Â*‹gº8Â(âÖÚ,¦€Œ?C¾$'ª®ÄÖ5™ÈÜ“‰¶y'£§®„æß!Õ7üGB÷1oú‚pŸ4ÔŠK#¢À¾éwÂmÍ„¼ˆâ»~8ð|9FÊüb\1 fšôNôG>>QñK;v7åyÁßѶþ­ü|Î4¦˜µ”ÊÏó»“R.Ä0(JËIÍR.ΗHJy¢²™”²üG‰ßNÎM×ç} bV7x!%0ë'…îˆ.8žoÿã!>ÓŸFÛßüiH^þ4éPìjôZn\Úëž•ƒ35£dogÌ–<¿™më¢+Éîà JþîÈ,Ù—»#ó¦ûö÷82‹§#s—#óýÒÞ¹aïëçå ü_Zƒ³÷ÌüöbŸ_ú‚CøÞèÇÁ ‡goºm¿Î¹¿…G&7{­¯„‹}lÄÌÍxþâ-²¥˜,Ì3z%™ ÖSÍJبíõ×Ó¬;Uä<å<7X‹ÿÇè£èúˆÐ䌄Îe& ©âýä/¥n:áûôç,œ ¥“ÓPª»q (ÅÁ?ŒqDá?ØW-]tTØš£M{·FáµYñÆÈ’¢ÙS®þ‹¯ „~³í,€õ3ÿZ]Wm[KÝÝ£ì¤çë×FD#?™(uÓKa‡Ç¢4wy „Ñy’JFa;“JÆ3…Ys¤’÷Y¯³ ”:’¤” «ëÇÖX_n;Œ—îõç:é†XŒ…%¹Ê[îÛ2w '¢ßmÉ2èŸB Ý}bh$mùå>Ô¬eÚšßr;WÓÔ‡–ÃttSëÁÅb‡&5 M{ÅšºFñÆQ­âW¹üFWë«©N9{š†ï2£ÿZ 6©ÆÁx+4þ ×´HH…x«6†¼ÈJ¢ˆ>É‘&ïZÏ:x4cl%U\® Ó›vÊSYm£“ÈŠªofæ°-æ=è¿J›üÖ‚ÂN—†Çî*›\Q^3]ÚWß֜׺#þR—ÛC…äÒC!¸Í­G“?Ÿ¹4}ŸFqéy2sãÒýÍSÃẎó¥{ý}e]³—ŽóÀòsâÒÞÏÐ|ž|$¼=óÔüû¼ŒÎ¿¸š~ðü`ús™ÈÂñh« ¤ÂögB*½» ©ô^ˇÚFK‰J“ÁkP©ØáCâ›7þRÐn¿‹¾ÞA~Õ¹HR¤¢{TñŽmaŸ"Bk¥D-õMœéÙ(e¬ÜÐ^tµ¼Î\w‡ãåX®³¸d6U5 "Ze`ª›±&` }½¸§ÜE<ù¥ s¾éÉE”ŸRòLŠRbØtÛpj>ͱPK3E¡ÿ"¬B{½4ñãío.§(å’S3Ür/.íR6:ÌGõÂgŸîSa`PÝ2…t“drév}qévŸòb—n¨š¶-ÓQ;óé0&ëù1Åéux™REXʳJÝÌ›‚Rhø=Ož›¤Ï ¡£«,OK/Æv%·Ž‘Ì•‘|’©”2>&ŠC¥@(óMÎ÷‰¥RàˆNx~ E$ÉÓŒxÝÆ¿XX‚ÀP*VXI#K)hýú3Ux ¢ÅNƒ°á##¹ý(æ™l4¤à&¥\ÑRÞ(åÂTôy2¥\Xñ¶"5^çlï²7Lõɹ­É¥é y—Ží n. _ÌXB'9õ¼â ¸4æÆO}±i“|×}û{ךtvN.½Ö¡PÞµ÷¾ è]×éÌaÌÔ$?Þ×1ÓÉKs{Ì‚Î{G2É(0 ÙÙWï˜eF1cI“Q„±c‡\9ØiΙßٟòß»•eœÙ«üC^KŸf&p&éô´q`Ù*±v€ûÃïW¥b¾+]oÔù•ŠùO•Šù•Šù•Šù®TÜÿG*ýøªTèóT]©8U©0—öQ÷þóZ“®F«¸5ÜúïâÒ˜Òv\É­;¦+ÌâÒžY™lcJµ¹ [G+*$È—Ú·,f±XcaþUغ-gÿï(£ë èœÅùï…ÿ=}E.ü¼Á$.ôdèSˆ~ðb1Ÿºéӈ築îußb¨#ÅXH‡s]’[ÍÍ0·†³,G£›Óþ#P„‹´¨ý„%;:!lŠÎøE+‘ê:ˆ†UG8o†0*WB©†ÈO¡xf¦EtÓ~n›„Œªà4*ú3ØÀE”+Ó´V–øAœQ~ ¡»Wˆß/T²IøýD•„ß‘9™™A¹ÈìƒÉ˜ÏßÅ^0[óÉŠÉ­ñÖÙmOÍi9¶âÁN*+H#lke©›îÓ½¦M-•¿ú`¾ÂTØÉþDT±5‡SõƭâÙì`¸ùˆ¬bn85CÛü(”ðàÛÀÖ\ ý%·Öqx{y|qwŽ…tÛÅÆÅós˜Ùb"Q„@¨Ç¨B.dÓÉ%›vŒõ²Yñ±å ð× D|NZóvš_8ýÜÜÅlëະÙG}Q¡4¶Îå¦eÅ9g¤¸5Â<÷«lrå‰L—F|©ºœ0^÷¹l/„sãÖß§eƒÊ};/믫’×\×ÒXÒ¥¥pž(³pcÉ¥RÑY`»XÀY×ÂùQÏ‘Ëåz8õPòUÔX%^#zï©8éò'º͸£$0~ÞêvhzŠ^ä6¢µcKzçØ$Øl¦R"Ðr;Ó&Ÿ×;Ýz0CZs,賊[G þÙ¬ùíaLséGè­g#îÂL½¡Ï"nСïâ üŽ`SÆ ξF7‚шÍösd Eç;G†lrò¾¶s½ØúQ„ aºÕŠA=+ bT¾¤¢¥'ãq* JuŒÎ—„×fÚ×pÊÔF0¼m.ú04÷ð6ïWrëÆy­æ©ûý:œ—F´BŒóBvÞÛIJGK+Z™KGwåµmÇÚ'^ÆÑš%Ö•†pÐÀ4%V·1EdöƒC:£TC©ßbåÃGüº¶'šÏª¨”ŽNPŠGF?Ø7cÒñb…1†ÔSmjé‡×ãMDýÿ.lÉ@‰-ŒiÞ,éð®N“þi¶æð±{Ø3‡)ŽÖñ›»¸4×µi‹‡=¶téˆÞwßeÍ#¬.–·œ6œÖ¼qØ/¹µ—üu™¼´ÀÈÅËi7ŽÙs[:4|쮲Ɇã*ÚûÅH(‡aTUV/CØ œ Û&ã­ºŠJFDÑ–Y“yr NJAì׌âÆ\«4<0¢è«_Ñ®–÷{——9­¸ºÅ“[Ç46¬` k.·›äÖ½\eÅãÊaOqéèËÄ”mqë©Ð³™k/ÆÊÜm›<Ê™=ºŽ‹6÷pÎzrkïG–‡¸ä-óÞêQó#åGL9AÙ„9Àe” 0–N|ñeU¹$ü}ùÞûËU½õøýcW> ŠO?~¶œ¬'*sºë-. ó síǵ!>YzuõzëõbɆ* Q”û» OúB°òiFˆ‚É"pb)âO¹tÃXø•6yôçE†uºuT£Å0O«ôožš«Ä&OÝQ=-. ×VÖ°ìO+‡ý·öß™[£És·Fس‹ýÔçÍp<¬;0&=qjïÆÜZ‡Ýo†¼9gäa£OPÊ›Mɯö1ݨÔꮲɵ†iÜ?ÄÑö*°‡Âƒ&—vVñÔÈcgÙ æÊFeri„…ŒîAÙ⺎™.­ëŒÙ¾˜Ã}(ÃØØò@dâ”.bm”2Ü^GQɆ|E)ò%U|¾þ“3‘ר4¾y­uOàZ>‡É©±~WŒi˜K£¡‡ååÍ¥ÓÕþþy»Ú³|K¾ë>òïó8Ÿ»žà Är,¹ÚkÒßûuÞȼWúçåUkªÂ®µ¿¨JF«^׫®Ÿxjm7ÙY ß¬;KÂÆHý†öðŒíW×R‡6“ÓšŸ\~+¹µË»´âë+ÝÚ奸»|\_|E¿èÁ“È ƒˆ_¹P/ï?]?À·:{¡ùõƒÀ'"üþAûFˆßÃÛ[•öÛU¢è~4£`Kßï ¿l&;¶õ ýžÐ›jœ¦-ØÔEÏÛ%¸Ý¼£kGz3…9\8ªàÄ"z虞è¸þ «çºH4]?CHU } 5x63‚ÌSê·HF͵# Y¼ª+I*Ü~WÂ3ø ¥nv›ÛFïóM«BAbµSËîUþdý« ͧ¤’˜‡ò[Üý–¿Á‰ö^ôí“Qpi)"}GV~’ð “è;îEdLÖ¼X}‚ǤͤCk3¢ š*CLð}²‡Ü&VÀ"ÑqòØ$a'Ÿ÷ƒ…JrëhŠôâÒˆñp­´Éo¾Ÿ2Ý::Ïãeok~2K'·Ž²c­²æÑ€¿zqëÁNë—½Qu“¥IꦱséÈó°ñ­gF0¤ºiIЊµ"o…ªöÁçFÏ”§Ç^T™k‘!Ñ|=e…ïòg•œb/+ŒÈE%—…‡å;ư¨ä‰žJ,=¿%Ö$H#x2#R-9\Ý¿üýšŸBèt3“`ä¢Å8s>xž™¡ÿŒL¬rB…ˆ Nl·âÖñNÕ´ p\§žÍ÷(/4t±Dë“PŠUA)oW4w£Ý^l<éýôûþÞ]ïƒkæQhwžÑ)ë©ÒwYsÌW¾Š[£;ñ.›œÞÿ•®Ù±½x?Úæl.è‘6ùù•.5=,Úa\¯}q´ÞˆtA„|y:: eu}Qt²úû=GYŸB¨^œf‡ÏB¨:âÔï-—«cC.„ïžèíc¨íèkÅRiÅÃAÓÎÅ­c ­¹AkþèwæÒ‹:"ýãâ?šï|p•ÛäqŒÏªtk¬o÷lVÜÇkn­óÌýúæë¦'·¾8Z˜ÜZÇå¿wftækð-DгÙú•† Î{ɤr. *»t(B\øŒÁNž“°¢¦ù›'.t}&|—žü$âñ;›A$±É2>Šäbqkä±»¬¹Ws7O­z…·«Uçã<á>.[œ¼Ò¥£‚uÞe“«(Íté“-à´æ‹žRÉ­'§I§M®¢6Ó]ô²(F­12‘ÿÜ,1|³Î²Â·:ÓŒ­UÌlű8Ï(nJÍèe“sY¥[kÇÅ.Ð3zV”—ý„êôuqôV}½NãI<×Áx]Ìi#ˆ°™&u±N ^ ¿¯Ž›¸Œ âÁ˜Ö¸q´6“­¡k©씋åµÇŸ ñ&‹Ž ,‰~¤ì1¿Í‹Q(¥ºŠ·«£ÑQ`à3ºØmÍ'¸’§x3¦Åƒ<ÿÜŽy4mã·æÒX.>ò¹lòÚ@SéÖuÉ´æê¦OnÏòxÊš/6VÒšŸM®ÂâÖ'kÊeÅ/¼æÖ~ÆÓŠë˜UtáÛy£­Œ²ÐÖ|ªÚj.ÞŠ§lþîêòr—Æøu§ª:ß ïí$®N(‹9 4‹gº¹Þ[™.ý}™ów¼¼Ý•ÞÙeË>sé®Q?³|Jýxê!×SÊ+.èë¯ëÚÕ¥ùÛ_E2`BòˆòïQ\6dQî#ŠwICv!ª±ÂÅS„—P·›~;mOÛúd?þŒ<ÚºpåY,VâÅùÑFt²¾blùŠb–ÃdWbË fØ$¥[»ïF݃oqñÒïß§ÎíMúhkg¸b ¡ÚÃëŒ7}q*Û©ôw‚Vüs^\]V”ùOîÌׯ}…z:ôTpv±GóÇŸ$1HfÂï}ú“„=ß¿™G_/ŽZ‚è{äMV&¢¼ŽxþCu±2„±øQ¥I-¼§õI„z‡™ÄÀ·>‰¢¿~™ID×^™‚qçõcªfÝŒòa[¼UO*Ò¥/V—Òš£uàeмl© Oqë踎H ¿$æ‰\ôY”DÁß ¥¢ 8oA>^ÍÔÒûJkÞ8Z”ÜZÇÊ`FŸº+0ÁÖ\×,¹5Ö™îiá»´®?~ç{u>t‰$·ößëZûêçqz»kj«¸uôË,®äŽö¥ÅëVZsnrëÛ^›£ ¦ž=*Ü—˜÷¬-ò¡A§ÂD7)4¾6LÐ8m5ž6ô8ê‘æCKÂïÊñDÛSÐóy®'9Õ‡%ÖAë(ZkGX, m‹Ì1™.íÊ‹­yäx,ÜíÔN7—FgÇKPFrVA<.þš(ˆø³„õÙèôKúe÷QüÞÆÏЧ^£âøŽØfÑm} G­éè6dú]ƒôy!¼ÿRP'Þ±HBÇëuÜÓFìòê.è° ñÞœ˜gQcºt\PÌV^(ªeLQù?[" ZÑÎUE¥¢cµÙpÝ„¯¿äýB'èÓô¾º–åZÅ­‡' Ë&¿ÙÉéÒSsâl“«S=ÓÝɾ^nÅ9¤SéÖ§œ¯õ,è™A)vm<µÎ/Çð|¾ Xê*. Æ¡¦û$ÖØF°æò3ÇÛT™×™õA^™jԋݫÞõ»ØÁ î2[Ãü ¾8·4¿žh*ó=jħ?Aà )Âï“aq¯™£¸¼~ÖÀúwŸ7gs/}íª¢ú À¥¨‰ùýÎúù}">S„ß¹_~’üfªO~ÇqÒ5,.Ç©ã’ç!ñ çÈ ‰S‚äÉñ –¶âíŠÙëX·ÚÆtb¢—©F»Óþ¾,ÑuH(>Ɉã”ï¿&ÃýE›aª­ÑdßRZóÑÕz·–eZ󯱉‡ÕGˈ_¹ÔØò€cÔb᥆fgŒ ¡¼?í Â?—1ä.ä:4önhÅÝ ú ¸¬­ª®I¿põÛ8õÄ„ÛâÖ …wñMßsã»î˜ŒÉ¨6‘}OLí·¹øêÐOø™l¡mê4©ÁÕŠdL;ýŒ-»|tÒÊÿñ9^éÖÁLβæŠÛ¸õÄ3ÅÏd£4©xÒæYÖÜ×Ü<ïZyiGþÞ=!æèí@S?J¥'ž›y"÷ÄÐ^Â…2ßP EjBTÌJÅÞò“(^/·™DÌ5™i án‰¬Zõ,ÜKb±Ëh^Øš#† –·n«·ÅJgÑ©xbH7mòŽæL¥KGJÎqΛ e“ØZ‡m.‡×ÙC?šbe„—È]XÒYTÔÒ9´9" 6Ñäc, Ê K6͹Õiêô&ª½¬9&e—V‹/mTºþi;ÉÙö¬ôMÿ¾ºÃ!¾#"ýã++®IÒÉ­]-Êšßh‡—îôÆK»ó¹ÞéÐl?Æb±XÜÜç¡–LriŸyßýÎ~ÎÖʦƒ}I1߬sVC¬N,H¥ÇE0Ÿ¡|j0‘ §?=·)(ÅýåûÚ/èà i…á“p—¾5Žkl­b'­¸‹'TA#§{/þ{óÔz5çï­U„úU¬—¬ßÁªÆ±ÿ•>TY DÍ`{¦?Ý/KI7Ž}eï¨Î¹!Ë‚\t¼à¶Â~{‘ô›k&†oÑÏ¥¨úL‚ Bâˆ3„î;|vÎhðPŒÍçE`~E÷d̾¸´U.”"âï«™ð;¿FÅzP yýVγ ÕŠ¹þ$šƒÃ5`s e Ñ+™iTÇdç3aŒ9TÔuË'í 5ÎAg9¸dkN9‰ÓŠ|ì’Kc dÚ$]èr"œâZšóþ{At>ð^ž\—! ætYáç|¥J>Ïnúšú›H>øäÞÄ‘1~¯8ª#3!•ŽIP*·#&¨ûözµ(1ûó¥#+ÞwYóE‰y­æÖ×­Q/ß,{Bk?æÖÚŸ®£®j´ÿ¢ÖK(Ä{%¤’o”!ÕyíÛ”:9 ª‡[ðý“©Qiþ5‚VOþÞ®Q¨Éá8Ì©J+Uxˆ[ca/k~È©Ê\:šõQç¶MŽ©Æº/QIWºúµw}ï¿—öýºé#Ý.Î÷Bi€Asiyj<êœOaÇzóÐOeµâÖ°ý‹÷Ú¿¹µ7·KŸ¢÷öZqœ¬ýKÓo”5W™Xe%&óbeNhކÐê–Ä"7I-r_RI,]GÃ2'8Êí•:Úv0´ù+Lr**‰CŒ™Pìùù¡_¾² àWÆzUÅë+Êê€G ïpÄã' w64¤9ø6ƒd¡†—"¼÷0Gk…ï4¿~®N„?±â|œÃ ñ;~š9q/Aé»ä‹/a½œùêÆ ñ3P%Ž»¯%±Ò9&.#‘ƒðShÑožLbÅaûSˆž1Dø>Q‘ð{„åËÔÜc(‘€_ÑO£O ý‰ð{COICïúKT—Î4†':à^–ÊiÇþK•м,»gÏÅHFqsK—ƒ0¾Èºrâ ×òž„R„‡–öË&ãÍsGóÙ6@±Ú†(äõ$ÜØ†YäeáùžPŠáaÒb½³„R¼ðÓ°î÷Q _VÀ2kfˆZ©¬ziÔŸÉ@ø:Ëà$Ä4†å=LÅ#+¹5œœÛf7¾Ú;zª:0Øi‚ùiFÁ<µÏÜÚǧßy;ñÓ‹K+ƒ;¿¼r’€Ž¾?C©½=›e–šœ,rj°Ú2„;”r-F†PÞ^ìU‡%2X“ân}ÜCF¼WÏ?:‚4VÖ¼q(1¹5ÜVZgøñ§lü0‹;«2s*ÒâQG»ÿÖØëfè'—ò3ʈú„-'^É$Õñ/öpžyónm…OºO%¥ú~ó:å}N+®xªÉ­'×ÕJ›üäýÉtéhu!볟:Ó¿yêå'Š[7.¡¶Ý߸o T÷=5ÊÃ^×Ù×U÷ão}ùo}ùo}ùo}ùo}ù©¾œ¯¿&ôÚ‰ì4é„ÛˆYA†3HHϳ?â¦fŠ\¦lb–Cÿ­Ð`€{ªÞ,éõ|”51‹ÅiVø½5žå{ãÒQNõ^69+]:r˳ʊ£ý¸’[#ØÆ^dÍ#Ó5‹[Ãÿ—5תÉS\ämûûo.ýûýÞ°ä©-ëµ[÷ÞÍ­=c’[ëÍ­&Ÿ¬OƒQšý¾…6#x!„{B*D Ù àƒ`(…io6ÊÃï?T®‡"Ž0ù UFJ+þÐ ¹µ^¬eɇx·F("ÔzlÍofùäÒW!íÎQäné(—xÛ¦Ýù¼ßéS úØ¡øÙ€|øFŽ3ŸFÁNlC*:ªÚ" @¦QEvÐktr8'²Åñ¨8` ¦âéæ~§öƒI’Â2-¹µG”ÍSœ¯ižZç£í:ž˜2Mî.µ\Ì­µ{¸ßt/ˆp+ÏÉ8l¢’ÕoÓ‹k<^t­7¼µB1b5MÌ:ê×D%z2Š“kÀIDOÊY&á<ö4(.™f(µó\n Š âÓ±w2‚Æéd%u~µ‘ücTC7 ÌÉ¡IKjÚ&gW Ÿ,ZŠj1Ãy–¹¶ÜZ¿n^üŽ©Í«÷b¶# V,ènÂ|ª¾ÓØ’Š ÆÚò™FìD£r(I Icÿ^§hŸ-¶à…ñfíPêA©b(uÓQ#ª5lZŒ#·iH¥­Jiœ¾½ÝßíÆ_Ì2„<1 ^˜(:MÞää÷´W 5Ó¯fA¥5×ûÆ÷#÷ã¿7·–Wdré¥z¯¹µï¯ï{tÚFro“ ôÊjÒÝM¯)‚ëø‡Ì-­K'Q/Q¾8—[:;)ürÅoÖ"áw¬"a‚ï±öñ4Á÷ˆ"yé;ÞC >ÁQ”ŽQŠŸ±X‡±¾÷èK²ƒ?O&QÅ"Wþ4Âh‡S$¢Y&áo£Kƒºù<ñ±ræç£€Y_Xr,<<ÑÜÅgÓ%Fx\ÕS>xH, Ÿ$7ê#㇑¾ ÐOá÷uÐ;]×|€U¼[¸1ê&ÉÔ}É‹N‚ Žc.Ä5ŒH‚O9zëbDÁ†ë&UMÒˆé6(‰ Õ^}ú¸«Bºå‹ÅWÎXúŠ#šƒð…qc¢sÆŸBÈôÉ(" û,#È`A†R1Ç!Íd¯ÙPˆ›´âñ¢Bx]bÉpU;ô)¯®L±¸Ù÷‡e+°dÖóNmÍ1-ÿ(n1ší÷>…;êÐE%¹³è8g#:êÇ;NÊž¬$/d0QÉ?®…°.£évUƒ¢©ÖÕ†Õí™VœQôMS_ê~Q^ã!âkóú‰°äƒ–?“ÑW[I7¦CòÓ¨c-V&à;ÕôIÂ>}~×G~‚ĸvweÏ4žfÕÖñuû¿ó/ãî.­ˆ•¤¢®˜FsZ <FñÈ-êçg¬Ý“Fðb”ºÐ°MCø`UYC©›¾Ê}A/v¥^ôj¶!ü­yV†hÆfI¹º¯s¯²ëÍ.TL"aìbïR0ù[ya&甪lSñ÷°õÃTäÙ?pq”¡œÛi+¬PÆ/:iZ¦ 7²ßýÈÛÍÆ-rmI´vË–qYsŽ9—v“;{ ÄmzëM°Fí¤£É†W^Ièrö§Þ~bz²ßGÆ$N“â»2‹“H¢š…µhLãb["øÍ±ÙGW`¾ÒëÊ|ݸ­÷g¾é|Ýóî^]É!¾©¸ô:H[áßmœ[ªäDá!ƒ¥¥ö?µ­k£fMg˽ë7º$CÝpR„A[)zYiÌúÏQ)ýçøó*Šx5d"%÷cÑì{0ßÎØç¡ÖÏÆ(xp7×ʾoÆÁçÏýÇØ0Æ“8M~Pµ3àZIkgª=¯ M>ÚGe/Vio^BAªxƒa*t5JňúÅ®èkƒPöÚþ*†äÏmÓ+'hÌÕ¤tkG²M~°C4Ó¥£ñ´Î²É'.v¥Kë¡OkŽð{½¸5V W7«,žï—†,ü†z2©§1N” æã°cõ~Ra7¡Tøñ3Šë@~°`ú$âñûyx¼‘Aœ3›î‰TϲÂxñlÉÖá(„ βɦҩ1\3zÚârÀÊtéFƧºëh}æÖÑg‡ ÍâÖQ,¬UÚ9Õ9ÙÜqµ¶¿Oíí\7D½¡=¾9‰%uñL}åu#x³x—ï‘Q޽’ÁJ3ÔIg1QË̤¶æÊ´ètú[D‚†ë?I.”]p»j"A¼‡LGÌÍs“ˆŽ¡OÅa!Ê@-ÏÏãO!dîpÔñÁáH^G¢ïÒwDMCKk%Âç~ŽB¯_Q̚ϟ5ÉñiÔ­Õ¿X_¸øâ¾°ä€>….ô=mŒPcÚ°òˆžû˜f|/UH8§U7skt'ÜeÍ1úÒYîÁIóB‹îç.kŽeë'êÞ¨@Y;ÝÜúà”մɘjWj†áÿõž‹) ö.(±_ÌB¨Ù9EõºbÓwÅ£ˆ²Õ6¼)B•!†TÚr¼R/æ µ8ô*¾žTî¯á>nŒ« q,˜1ü:ËB[óξTt¯YÚéÉ¥£<¼ZÚ¼Ûˆ667N †©Í­½]Œ_p¶»éŸylðT]ò³ýRò÷ÑAUT2–HE-OF’šAôµ‰9ýW™þðUêèÞqÏM•É@¨}Ã’p-íÈNr:‚ ýa¼âIgФ’Ìq2Z îM˜Ÿúv"ˆ+Tg2{“ÏTL2ƒÏ‘¯P­L—@^Aª’ èdÝVêbÝöb5V-N?4¤:´ú¦ Õq°n{¹ŒºíźídþdžÇ)è£V£ŽZ瀅nö»û¥æfÃt{ªU’/öAÿ/äUgc¢ÉFý4.|ؘŠðÉN7hÔÈi/8= ŠÎæ†R<4<ôÎãÆ,Ònƒ3[:´ÆÒnÜqÄZßöã¿7—¾Ù!“Üú¦ß@qiç`çì,°ÔK. Ÿ¹ýa–ž|°ŠKûñÞùxœô:Ä›¥ù^J …ÌG9‹’î~‡93ÿ1ofÙè7ŸÊDß*Ú¯×s1tÃbíùBŸËÑuçïö÷¶¼øÆ"ê"p—=0ýwE?ãg˜xýËã½ÆŽ.Ö4òáóêÏç‡mû®O.­I|+ÂoC1ü¹½íÇ!Ú¶µL«Ø€¾k¯2ÏOî›à­ÍèòŸI©"€ãï_REŸÿj†RgÇhƒ T,©ßc÷‡C~:’+žƒ¬0JèU”®4ôÏÀz!F\<äk›¤‘QP½!´ôºŽ²Æ‡z§rHkÎõH‹ñÐöÇf’ÃͲN$ÓÝ'îêÝpL%£Úp΢”ºŽ}É9ÓxÆCï3éPXyaKvùÛ$4âDªƒ.D4˜ßr~ý½ ŸŒ{jé'øS{!_së¡qOÛä¼ç•.׿]Ö|®FãPc®w‡öß4g̶øÍÜL—VÃ1mr^ìJ—Ž×õÂ&WŽÈtçæ˜q¨¡úh<ƒ#k³âQE FÜú}ÿ“úª]žÇuã`˜mr]´L·þœwØ·;ª%·™Äb_ ™Ä^ĺì] ¥Ó5NsØÅŠH‚¹[F½ø‹¶c‚¢ ‹[cĺ·äÖQ¦5¶£Á­?Ñ…ú<É­?Xš/%|ú|o*Á?cØQ¦|ÖÁÃÎ~Yè{ÿy|zHFË6ü%]¸Wžb^A‡L¸ÐËëïõ¼Žÿ>žM¬n:¥‘óû˜êBpR¡a¯"E„è,Ë:£ÍÁƒË) ¡¯QþDÆaocS"ŒÈ¢ù—PêD¬P~ 1®©˜„ûÞhá•u¥½¡U4ÅRE$¦ÇŒ"¦ f ƒâîZÌëÓE.ôˆð;s‘‘)§<8ôŸ?^†&¹5¯²ÉéGSéÒè+Äá ÃŠ¡â2؆Š{RKtŸk³â>Ró¡=÷·Ûµ9ó³x“sÁâöÌÛ*Áû~žÙñ©•y·é„Ú§OœÞò×ä–¿žüðì O~ØÚ5ùêvÁÃÖoà‰ïÈO±h:é¡„:º^PR_ð¡ ´Wlc؆÷5ÏG×äþ¹Ã–›0£`H„ðeàé k:/} a­™'„OÝW€0.D]–íê¤éð'ã+|O½¿R¯Â'cýšJžxTv |ý(1é&çfçÁ^SÛüõqå‹J6¬#øpxØ›ª_‘—fÏlýÞš%Fê|võ,'·n襨¿ß4¶Ãzlæ*_RãíÂkò E"„@§«·Œ`C†HHµå‹D?“…øŒÜ1*&GÊnK méÐì.kÎQ7İÀrŠDhïˆqažÚÇaníýéwÞNçõLn­š{rkçóÌ;È“]s¢Þ&ܸ BˆÌ,hõ ‡“ë—úöèÚRi+‚RÜ_¾{\*àIrkøn¬Íš?œýž\:^×U6¹ªÐ™nÍ‹]Öüf÷~rk5Q0´ .; <9ò–]|茼~¸|й´Þ›¬­ªšÚ^U‚{luàòÌÖÈÉYTª¥s¨_!¾²z«gõe)rv„ñ[nw¨ºì‡~ºÕd4%§IÑSÖ†ðAßµjŽ1,%kÊõh2‘²Ñy+­1:ÛFtYDt!ˆèH¼’˜­õ òÕÑ-2Êšc*]/nµà˜ñ’vh2²f¶Š[Ç´´5Ó˜.ô¡É{ªR‹†v…­ Ÿ|è“[OÍ+L+>4¬fn¦Íúb|oÇÜ'ï¿ïöà8yqiWò’[«©ý:ŽUÇq0g¢É>Õ-qßoÜS„ÌsÊPl·½íÔp¢çÑ=­tž‡­¹Æÿ½*+¬æz^çfÍv'%ÔÅÀnÛâ>O§oçAfXefC«‹s0E-û¥Æ±¥Ÿ? ~€â!‰ŠÎÙöÄ4¶aã?ˆîjŒ¡;¹´“…-Îã¡ñ>ñÜi»¨xMïZFpÅŸåaIaÎÔÑˇýST2z–ãRÓÄ´¨¸QèY.+üð/©~SоâV”ä}œQ>ð¸P„ñ»|f@ø½óÙÆ'ɇ¯DŸ–jƒë•¶JmðA a(Õx”iéVXÉÖ|Q|bÙsÓÆ Ãè¯ÿ}nÊfÂPw}¦ÄÚ÷*[ ±£Èù‹¿Wøî›uB¸ªE?s¦$ˆ›x›uþô¬košFÔ·XØ’Ù@o·hXߨä„ÿŒ f;NŽÞK)ÍPŠò2¼Ï= S P´Èv5p ¥<×S†P¡ñ¥˜CuB:½’·[ª›ÏRCß©_N~Ý?^r? ÷ ½£ÅÉ/™„Œýf’Iø g4 /¡kdqø&†j>T#› QŒ D¦\è7´I|c©?c«“¿=wx>^> TLrºÓ.û¬4ªXÆÃŸBœn)&ÁÜf#ØP]Pªqƒ ‹31Šß†Òçô'È¡&~¿àiÂâ…|'ú'1’ü~_&øŽ^õ&$117©áÒå;Èq°XCé4¢ðßÓˆacÕûÝråÁy—MÞèí“éÒ‡üglÅQµ_:¹u{8bQVãÇrý^giÌ è—Æ”ÅC ëˆ#¤†|6àÞ)8%Få?·5F<¼Úzjí{Ó¦t5p ¡¿÷ƒv/´ñ.g]Ok9¤ÕuÐùéü¹”Æ™›áb9E)Ñ5½Ñ#GHæ½µÄN4s9àÓ·–œõDØÈhéÍ6K£);‹§nlâNzÁN­:3éôWV®6½¸uLTÄG.^l¾8Z›éÖêL+îÓ1ÏÓꟲ5×éM,tõñ‹i§?…tum¿ÏRX×BÔwD›WXWÜW2¯(yÌHœjŽ·1ÜŽ‡ZÖ|p•º¼#vÌ× :+’KG¿Cß~oE“ž[ëÎ{» x úÆSk?ñ¤8§…u4·~ä^c»s8néÃ!ºzÚâôÓ­ti5°Çà RS‚Ù‘66#åñH*K£ùS(¶ú˜Q„#-fHÃÞ\ùc©[.Zy§–v<7n}É]+­8ºæ·téyПÆ6oíV\z<”ÄÑÝÛÕòU2·öñš[/w‹±˜¯î;¾ˆËŠ%·îpÜ·Ù(Æ*íþ£ìÎ}œŽ“æÉš; h³p``_Œ& ~FB)ÝRA)ÞRŽˆd¢²ƒŒBÛ“âÞTq:òUQ5©ªRq½fV›¾~w0ôÏ3¶êh#¼®¸ôïEø\ÇöÊ’ÎW׫r©é?ðmª¤$l¶-É$k™UÍzç¤Q¥dU·R²Òz_¿­­©jªëäë–'èÉVØð#̂ϸ3C¾“õ®Õk4_Ù®*égŒAK§/-õƒ9Ê^ è2i¬çr}kÔ1¹Ãp:Òá@§ÃÓp¸qÒ¡ñõ(}P£ßˆlÒ"æF 2¥1Œ dÖ§Nö06Ñ£ +á¤ÄOî_q 'fJ-.À‡Hkú™˜ÇJÂï‘_¢"Œ!€¯ƒµY~bqçújÞ‹A¸´<ŒJ9lûÁ¥ÎË5JD ÄøôJ(5Ùâ‹g÷æ±ûäòÄ×nîóG•‹~Êꘔ&¥Ý+X&š|¨Ÿš‹e+ÇþVÜú ³JÚäý‡+GXL=^¼‡Bõ®ÍG¤‹‚T'»õÊ’†cv1*ö§½Y2ä¯ bLCwUB*”]³~9Q(ø/lL¬=±%Ï#±$X¿[nGÞ_gð¦GþE¼¦GÊQë2„ ]Ub¡lÈ0à}¨`TLêûïÛµyYÕÉîË›–ÜÍójÖ°n˜6¹û‚î>à‡u=Û=ìÔÚÓ¥ÇÔXŽlü.iÍÕOŸ\úd:­¹çíš§np‡Ž± UNà…‹–jqÞ½ Ô<ôÖ»½9ôÓÊ&?¹»L—–?AÚ䇙éÖFK»ñ5ÞéKÞdZÜ1×h5?wºÏ©Ê÷v}{.,B  ‰NvÄk$”Z,+ ©–âRùR>?Z|­o(¥?èì°S>×íô­ã‹ö¡Ï8‹„, 8™ÀaçòU‚ÿèC‡SÉG=¦–*%…S»uééâRí|cÉÉv¶±e RÞ+±åðìÙÒœàa^–o•øæÒ^¦üL†‹¬|ç \ïT¿_ùÿÇ_úÍY¨á;k?zùãõÎmÖâgO‡«#®±D©òwi¡¿K ý[Zèï*—P)þ½„ʉ¹8¸„(AÏCíàüâ”asO«wõGn…IþÞ”Rb^Ð}o hžÛ¦Ãyñ”}¾8kjÌÙݸõºß‡h}ޝCuè“Ñ~7±¯“Vø½b‡—9ùZ‹f_¿ãßÂ1Ñ’Ñlë=žð®•Œ1íç(k¬]œ*ùÛ‚ÌÏ×’/b'GÎñù^•&N[þàÍRi@*­ô"(¥µ` ©´’Œ¡Ö•yÝ+¦}/ãó½ºäzQgÝû±MZGÏ^tyxI®¥ó(&Aäó‚Rô9•y-Ó·òð†u§ˆJ|Îí¶ù~]/Æ.Ãí¦Sùq7µÎ'£òZpýÓ49æƒùP™”äÏ¿ª'šOòŸ« až_ô„Æ©,>Þp;Ù¹uÜÆcãÖœÀ]Ü:ö¾6.íçák=-ÒóZÀ絨ÏkÕŸ÷z@¯%‚^‹½úZuèkm¢¯•‹”ÿq½ ýIÇ9¾žxdg²^ZH­Ù÷ ï…$¢#÷Ìu(¬øŒÚ°PËa#xòmaH…7*²ôáTŸ;zíx€†ïÉ'^Q?¹1]6:‹ ©Nú JiZY'¹¢’ÐÖÛÜþ‰Iæl;ŒÞÄºÒ £kê,Jù0R\RÊ艾¶ßJ¶¤sÖC©j`ûÔn¶ve¿î‹ NMiTÞ‰ÛÕÜŒÿЊ·ÐJ9‡ùs¿¢:ykÁ£èSïÌ´âá¨×7nýbmnVs¥ÎâÖá]w<›‡‹Ý,nºú¹Yñ®Ýܺ)æ§­ùÁ…6’[œ5ª¬å‹«_‰ÖiŠ)^j˜ÒÕCäO!†•6S×CØÒßÈPjâÁ—AE\ý+MÒƒU§RÆxßwgÕ3Áu»3Ý·Ÿ·57ëC@Ó¶(e¿æÆ¥óøô;oã^\Z™ÆxËP•»ôptÂPŠ~I;œÎ@ín©áÝ' áÅ®A)=#2džá< ô-aÐehÅÝ ú ¦ú–†¶‡ú–®l÷ÒŠG¿¾æ;±oéú}KÌðÏdß ²¸³*3's3æR(<£óhÜ|ªƒƒòÄSõ¢ìL˜û©è½)skï*›éêÀÖŸåÆ5Šk›lTCÑw´SzÜ`ËrtŽ•Å\×îÒq{|EÊòÞJ¡"X†·÷á8 ¡GÙÊà±£ùô2„ˆœ˜PêÔrx Ì}c†VèÐ0”Zèå1”Ò6áÝ›»{C)ýAÇ’•™³”•¥¢² !OALçÍ “в–²Z>|òg™™yºèùHë©G…4Kô÷Kãoüoüoüoüoüoüoüoü?¨ þ›#/T¡8'åóì”s ŠZc,4N¡¾(E>i•`Ó¬Ïk³æÎ°ÑuÙéüÓ«ÂÙ¡¸u‡³Ã‹[G/ù¦_Û·þ>®/85§´î•`€YûQÄÂÒØâÖZI+üªfµô«5ô¦¢ïÛªš²ò> =âþ¹óóU Ë&@ÏÏWKa`ñR%½Y)5:¥Xû6¤Rý\Ð5xÖî U×]+¤}5¾ªÍ¶^ðünÎepkü½Úƒ¯ã»5ùÕÄ|7D¿š©_×ï&îWXÙ0S•+• ÿÍÆKxƒÆû>\&°¸ï‚“AYóޏÅ­ à—5G€¶øsFoŠi-nÒ†H¥IÁIÀæÝ°Ì=qn6Òx·=²žÄ×ÎÁxt4QcŸ IQ×g».N‡>YœòÁm r’L*’%L&U™Ã²æŸû ê¡Åcí+ñ¿Þe «Kñ@备ñ(ñÔ㇋n‰/zÄûïTwm ‹ÃÉú·(V0·V¬²â˜6¼Š[£ÙË&¿¾Ò¥}¸¶É9ÆWéÒ:-§¬ ßtšó U´<Ÿž†P—C0/OÁ½V28Ü;ÞÖ<&•dâMÇväê“‹iR#çt;šÑï²¾‡¾§É}å:ûâ‘ Pöö4RûkômŽé„ˆÔ±8t]V\!°“[{7¶æˆq´¥[ûpwû}îG|ßï÷ï¡§~—-ʘD±0CÕF¯r:Y<-åÄ¢E)¿Oߘéáڈ͵ۘ½lÅ/.5–kítóÔnËÒÁþÂb0xî4‚^¾PjÀÍ‹ŸBždqí2n\„wÁjë4‚˜=–PJ:V0© ÌKIöu™ ­""ËÊ?·B¼®'‚n• nÖóJñþ™”· Y6psBfÅÝe͵"Grëðu8{Yó©XðX¹•Öý..ÝèM‘yn7Oå™´äÇ&·övÊŠkÌ´aFé% ‡+ÓÎGÎØý¿iD}‰„óŠÅãÚî²Ìïm8Ë*?úOó¦0 YmÒZ›Ì‹­‹¨‹¬<Ê È<¬%²àÈ®Ån[B9] Jùe@c¨W{µxÑã¶1dKÕiTCÍjCŸÓt´<”¼gº‹ïP?Rz˜x¶7æÿùyq^™æØ‰Qh½n1Š‹9WŒBÔÅ(0¿ÓÛ“ˆ¾|e­÷a¯Ç•^š×½›“åS¥I] )¥É¿„^àHꤗµŒ×)|ý¹¡æï JÑSúFG<2{y+2vSKtGDuÅÖ|¨ÛÐÜz°F ;£›…ØóFÚØ¦áqÖ!!’z_—FŸÜf“/,ò$Ün1VW`gLÃÒU(î2KÉ ÀøVTñ9ü)¤w™D83ù3î ßX •†å£¼î”-•°#}Ǭ{~o?zGµþ£‹ŽîùdÈó"ø®Ç"ÖÚA•— E†ÿ–DåÆd´•è[ÔŸ‘ð;6S\ìȳU«µMΠ•N Ï@-퇗˜yËQžb„¢•Fñ,nÊ˃¹÷Ìú“/1ÜÃ{³â“SD“[{;¶æÞ_fç%gXíÏ<÷Ïí"\Ýd§lÓbàZµéîE£:‹å$ˆ-üòÒˆú’ [F§x»Ëê!xoÃOŸÿ©obÄ.Û&Sk“¾9¾è¾)z †«bbÖD·ÄIJEC“ Ó Ÿ˜6 3JᥒP ķ!ŒFk2‰hg¦»0kÄû®FLž†<ñê+Jyb]QÊ ±SI®Á—gÌHÒ}¾vîóçyèZùO:. ?“¡­ç$Šx úsC}Oa,&ô®a¦¶“ÞL .ž ¥–u2”j¸äˆ‘ô[r,ªxbÒ^œ±#(ÅÛ¢O¡Žþº6?;"_uŒOZuDï”:P£2¤òN}û¹;ìÇGÎ_è÷õ¨ò!T¿€^{|#ò¯a¿•ùJû[úO_j{¨ý­ý©¹BópÃwа*#²×’¶ŠÎ«ê³UŒþV€þV€þ©ôß›´ÿöÛ$Ž÷ˆ‘®ËyœÒAÂ¥2Éã;¦ó“Î\%ê‰ÈZú+¸X‰ø;WŠÚ ¿cd*r$‚^„X,í‰ê(˜4!‹ßïÃ^:ù7(aéî‚.5v"²–'³.݈«bnI±c³ä:…%oöYØL˜ïMß @èDV3ëÌâÖè)ºÊšÇæÎ^<õļº:1ïÇÜZûÓaù åb#(uàR!ÈÂc(u>û6¥°ÐÚýs•zú×hq‚E#¸©Î÷æðÝèýl¬í¥!¼àKh(ua¦’ÍbÀ ÷Ÿ ÂÙ$¡”²>…Ðm&Á¬ˆu*0BÑ,z“OÆ4ž¿s– ‹³¦e÷çøÚˆ)»ë«ð”®SÓFŽS?ןµ¯çΜߘ>¸§M~Ð_$Ó­ÎÁ{YÍíÛ¯€¨¯“fÏa tÓ]ä\Ûä¬Ò¥ß[OêcWª•‡ï®îŽU³>I¦Jÿ-MHø%“~É¿bÉG‚ï,ùHø="êkgÄp€ø nx–ø‹ÌÖÿAF\ß1èjøNBãÛäú¸~T‘uXBëÈY~³„f©²y Ñ ËÕj¤¿9&ÞõKw¹d™[kI„´æ'&—æ¢ÔwÚâ…O¥K#+e“3ÈB¥KÃÍð(›\9%Ó¥§-:ìbþ±Æ!ÙÏVùŽâÖßAðÌ1Ïú)n­Ý²–4Ñû _Xé`Ôç ¦5¾1†åD(W mI5ñt’€Rz:¢ò&ܾ1Ü㲉)õЙúIÕƒë¿ñ&B²&¶DwCR)¬Ÿ}ò Ý¢ÂâƒßQ‘ŸÉ,/–DXPº±…¯À´ÝFðâ0¹!ÕÅ‚È&ž»–ÛÎ}Ãuz¥Œ>—Þ}ÚzŒ3ô`˜ F¬ŠJ‹öôž•Ô"ó‚ï%çQ牂ÂÃãÞwñÔS•~ñÔ>9si߯ã»<þú¶£“2öe}䤃ðAFeìé¾[y yí\¤1Ë;ÿë­ä·”^.,õäé¹ü  ñ{4‘³×Ü>o¥é“½œI» Ñ$mÄ0)Ç)?ˆˆ»ý$´:oxÐŒ2Ål©¸71 mB?×£]™P MÔ6˜xáyýÓ¥ ÙEm ’_±†‡?I¢QßÏúŽ5¢~о‚"&]Á]S»á´‘AŒ.÷ìôܸt,Gs¤1Åbc=±dD¾ôg26ý”Dqc?…¢àm]L"Â( ˜CÄï‘×ô½8€_#TfÓEÞ¾cHBDÃð~áw]áÎÀ`‘‘àæ×ŠJ§Ã0Á/Þ´¡+)S)áC‚Åèh“ÙnK·?2Äœ]¼ÖN7O­rÂ7Ú7xʇÅÖ|é6›[{;¶Éµ?ÿÞ,3Ö–ÁN½g¢lnåžZYó¶Ô–d7oiúõ%·Æâ 7î fÒ `8Ý5¹µŠ¢´æqXs·VQæí¸ rI¢òœRÅz¿>•‰×Tqé¡¢7¹tÔ[Z/n­b>^ð ;Y»xeÈî<ªª{zè›Piwޱ–-}1Úç@8?õØEž;òîãmœ±=sëˆà¨áVZñðÈŠã5·Ì‚eÍdÝâÒ˜ÿw”MþàѨtéÅuáÒšÇ “Z”ÜúÔßo–\×;¹õóõù‘yP÷©¬­×´²xVOôžÌêA¼ÇŒiÇ—Ç2¾Gqk,:t–5ïô£ø-à?±Öz{~‹ø´Izsí5§ÞÛâlñœÈ×Çõƒø2·/­cB–6Ö_,fÎaJtòœõ‹´™08“°RhI¸´{Âs¿}bYí:Š×Oöës!–0σˆ¦)úž—ö½3—žïͤŽåž¢«öî˜øˆ—ýb«¿³Ýø”oŒÓ¡½=[s̘œÅ­cn*–«—MNÆÖ8úá\ì‡ëè%•<8ÑݸtxKÝÅS¿7žZ;×Î.†hz8éÙG åÙ¿ÿyúæv M.Ý8½9^\ ûRF›ÈØmÿâ$,œ×î-) —7ïÛ—\ŠûÏ f¾ ú±>~cøM¸Íš;º>Ö~¥ž\úа=Ö¼Xt Ÿ#f–Ø„K.ííäö̵¿,pTÐäþÌsÿEÅ$·ŽQŸ]°\¥pꈥ0îâ©åE%lÉ¡±xÛ}¢ðf´—ä©c.õ½qç‰LÈLòºƒè¨Í[=Òý•”äà´è-É$ËÊL2qùó³ïKìûÄï4¢èÿ½–-ãêiD]Ð [êå€åw3}¯¬ik®¸ÄÅ¥8:mÜ õüaXÖ|Ê‹$¹´o*MÒ‹ó€j)—d’°ê5y8Tvã¨KoéЪХݸ_æ­oûñß›oZaÿó¤áRßä¹ ní.Ssk_\󼨼¸ùPéuoþlÓˆŸ·*ll;åK'KEñÔ,ý®‹e>ÏøÀ÷pâ&}&Dá÷¢ŠoíaX˜Ç/õ¢Ú__u’Y2Gæ# '‚KUT]Èï]½‡³®‘ouU6.t+è(º¹¤>IèFÂï þÀú$Aü¹˜%¢¯Xyž+£ù{ç ^ÖE ñA_§³ áâœkA©ˆ“•ŸDŒç-&1"Ê?‰:zÿÄ$.h)S0^¤Û!¨žŸ÷ìø±ñ¦®§·òT\wYs„€:²`=¥'}þ’[Ã%“Ë=‡½ I^ÓFð¦ç— T¬ÒÕRA¬åµš©¥÷•Ö¼©ëÒÜZÇ:†Á‰žSÄo {Ì7·>®ä¥cÔ«mܺÓ1D_ÛŸjÊÛš+ÒLrk®w]VüŽ4Oqë‹Q2“[ã)Ý~o}E¥mûÖŠß“Ü:Æž÷㲎©3clœA£0ä×Ô¯¯"s°Ë4­¹òfrkx#ö´ #@׿sÞokæU›àß+O;¯*/çqz»X¡·ÆÒ¤ð¯@1å,†œ.mÍu¸É­ïCÞß¶3=EåY%Š$îKÌ{ÖY8aÆ7—ž€ÆWôZûøŽR 9ªè¼½4cwA©’…h+mz–›Ubf‘ˆò®ÿþJ­›¡…¤¦Ê¿Ð¿Íöê #ð´!»àî(Dq!À`~¶úÿŒ]K©â2u ’Å’8C×]γ²Â çxqœMŠEÉajYG=ûƒÞÕÇ}¬è¨fPT Os±!ü½O*Õ·¿G¨¨sCœíÂeN+UNH6`ƒ~ Dï &w"|Jo ÒX«Ó·–0ª¥#¡&ÁùSèÌ$¸·Î¢+üÚ0«Ñü6n­ñª´Éüý*]§¾Ê&ïúçtköΖõ¿Sµù¦Ã»¬Ù¹ª«ÑŽž_šéñÔ:o×4­}þp¾ÈnØìÿÌ/Nú(.}ê8mÍ/ÕH“oz·>ïïíì×ëÈÄO‘Û cÒ–Ü´ÆS^¼{ãZÅ$ù®áU«µH&|¨4YÊFþo†T˜.š¦àÝö4¨ƒÁvù,0£G©vO›„'”FÕ0ccˆG0Ó¨¸#C ¦8±eÚ8•)Z´‚R|´ÄôœáS1¡òA¿&“ÐfY¶T¡ÃÀÍQ°U™ G|çHç´›–E2K7–} U4~²!ÁOñ'BOàëÌ;Sô`0ÆÀïqxqà¡Ò—¿> à'´%€¯üÉ|1•#Þñ‡?¬hìPã«¶ƒO¬T$Ìï߀r?Xv±_eÍ<š%'yÓ“]TêfñaC]ö˜äsʇPžÎ'ëÓšOî¶JKÓg>¹µœwÒ&oœâä¿Ïí«Ø^0*›¹ýâÒ£xÉS_´=êóxýwæ¹]íGçãóÍëhwå‹ÌâÖ>?sk_ƒÕ^å6çOãÒ|•—v61·Vv€ŸÏá‰^–³Ñì/v9 JaýÒeS0…J å¿Ý.ä²Á¢èðÂTÏ%ß·‘Ôòâ VbINñdzL_¸pÇ"©eYºŠe- c64b uctÁ¶’,®©âչ޲*¾y@†’>Üßææ£Âñaµ€ßu @:1—cY~ô]H+õÙ§°dç“SV˜!ë“RæIÊ ö«äu¡äåq±™¥*³#ß |MÌ|Wà+ {j–û(Üù Âð|¦æ×ðßÕ+ _×O¾²ð5^VøËOŒ5ýD5¾aèžY6‹Sd ϯõyV~¿mO:° Zh•báVÄ™ñý“Ÿ ñ‚?õ©ßðù¢˜xñÓˆãJ‘8àáÌO¢ç'"~ê#õ*QÔ~Øû×ü»p†ñÕw9ˈ«ÑÆÿq®\wæ)ûµ=:Ò»¾ãYF‰6/½)eűaK,y£Â¡O!ÌÔ§TŸ‰æ)‡£q¬#fä'tð”È|~xëÐw'•PÄšøY hÅVžjÏRðp@!]U^NmVFð¦û°wI¥!›œU” eãU”1ªœ T[.Ãì£Ðø¼TÕ¯r| ÕJ̯Н£ ´ú›*àNNúŽZ½n ñô=Ü·{Üt§¦øE"ÈtÀ‚ÔZ¯h™@Ìa"ÊNõ–}4a{_Ú!ÁÒk›³ràýÔåø88>íÎcë{ú¢Ã¦¯¦Ý¸üî3úb‰ri ‰‹ °÷ñ¶Z¢—ž3æÖ7½Ðv ï¸%¯:që°Ïz[…^€w˜¹µFev ÍxÆ¿Gm¤ú¾mV¼ùïÄ­›þ~³à¾ÞæÖºOOK3»dpes˜‚ëØÓäÁ„ÁaÙĺ̙l=q›"'Åø½nÃÜÇn¸¾olÉPŠn¶6„á«;‡¡ÔâyÙb˜á6”ŠpzÇ‘†ð¢?­ T„;ÚfÞÝPêæß• ¨ë(è«j‡hÌ‚À•郋\Ur-¬à¾½ŒMï¢íÅcáÏ„ÃÆçŸÉï—{Ác/m&\ð%™•’_÷fp^tCÉ”§ÆÓ·/ÞÐ:þ4FÛ9bn¿°Í„N_½JIÐàrS6xñU‚õ¯¾<Š·îÓ?˜ÀMO|Ä ¡[Hßë„àÊF8'¼Ë¥x*óèÎjÓæ–<¼ÛÛýŸt¾Ú’’œÊY•”$ºLÊçÒO*\doàCÏF`ñƒü²¥É lÿU¡Ÿ°ý‹Ó²4É´$*‰Ð„@?ÓV彬yç*OÉ­±αYq„^]Å­‡|AÓGEaK‡ŽuLÚUvãhRmé\Ÿ¤i™Ù×ÚV»ˆ»¡,Ì# ëÏf>Œ+(…¥µîÍò ¥¸Êgœ†.¯h^mÝ•=T–¡• •JaªÒC¯'® ê,ýUÚGÙ1ç¿0MÁšÂb„·ðÐÀhß°dSß¹±»ìïty@(*IÄÈ» [^™Ð9÷ë´ý –>AbhkŠè;çâ“„O8'wM‹ð{¹ ¾=ÎN+ ´€k¦>‰nöˆ’I0О>‰¸v ¿_‰«OFÔ#Qt½è!Õ§Häds~ÿݦ>N­t/ƒüŠs£×ÆA™›uqNï”M~pè'Ó¥ON¥KkîI“­üÔN7O=é]ã ˆÚ/”Ï‘6Ž™òÒ9Gi§'÷ñë<µ })¦hCZÜ:ÞKˆÕ!žZŽÕæ©u>Ú®r3Mî.5}:“[k÷p\Š70ü±kžfÍçÇâ’Ç{žç:êù Ÿ¹xN¢A «÷äÒ Ø™v磞AG^û:c¬`»ÏM}4aíiYááÉXGÎ"£nï#NnWŸ©ÎÐG†Qqƒ52A¬€•Pj2~ŠŒ –Ù ç¼–B)fP¾:š¸š­p*6B8ÜeÍ#s%·FáÓ7+Ž0báíñ`dÏ!´1oÝÜZÁ÷r·Ó+è’Ó@Zñ›y.¹µ·c›üQˆÕ-¯Œ«ögžûçvgäíhë…gbl³OÆtÉM¯žÇÇ5ƒ¡Dœ\ú8u¼:ŸÔ:(.†*/[&#H‡@C)̆O#‹ï!>E³PJ2ªDãÔ$Ü»©ªÀ°Ti“Ó®Ò[Õñö—5Ç2wõ.d'ÔçÆ¥M6ræ¿§êwzHv»8éõ9sio'·g®ýM är0»a^p”Ì2¦ýëŒ%Çó°“Ô—H©–}çÓžì=ymÃðÄø^þ©o \¤öMJ{“y±u}‘y£u‡"@Ûè®sbRëdŽFˆÑ®í¥Ã/ |Û#š´äì›%þc¿0½™2UÓ0ô@m×ÖwA„/Hµ_£‰†m ƒ?\ Ž5§Ø› Õ!B+‰ ”vê»|pq’hÐ΢’Þ.I-uñOê^\ù—ÚìÝßþ:-ŠŒSB~ îèØSäraÞÔLz3)ø%”jì(à]Òˆ?Ïf“«Ÿ-Ó¥áj4Ê&W¿P¦Kkí´ÉÕœéÖ'Þ”e7Žè¾[:ôŇ&4;ïPˆ#ƒ_—VÆÿÿ76Â…ÀËŠqcOˆÂâÿLl•¾Xy‘ôäê^«¸ÒÉgðä(ÖâÂn’›F02[Aª¸¶þ4ŠfA¦H,iµ¥¿ÿVÈcn*‰ï:®»ÓÕ*áÝea…Ÿ³´–º*.Ý8"™69KàJ—Ft•ç25Wrk€¾Ž²æX¾l·Fµ¨—5þš¾ñÔt§'oÛßsé§ôÄ’§¶CN㬭{ïæÖQÈœGq먤îÜAÕNVŒ9\Œè'c7‚¦ñ$¤º..$˜æä4Õu”|Ð(¿ÿ\P¹¡ð¯ê2qFJ+Ž1¦»¸õsªÿÈ–ïw:´¦{+6Ñ:óƒÄÇ0ܰÏ|e;=x ©OÔÆð„·«Ó¨b¨æ`¤»èµEÜT´ãµ<-ñ©¦†T·&ѧY6”|8³¨,°ŽÈÔ˜GÖó‰Ñtä³oT’‡oê³á‘ö‹ew\z„æ€;þܸ5}E’ï]JæÖƒ!Aü÷¹ý“Îi͇Bk˜[w…ذi Q—2·þÍSk"[Ïõþ½õì b.s«Ðu*n=Öû¸¬±ÆÍØ85ߺW6»ÙwsбŒàÅ× !ÕÅ1ÛÝ´,¶l…£ò‚˜ ¢”ÇÖ0¶ó ’^>˜‚Rñ~=§¡•ºÝ¥ÀcäÄX«Ù/þUÜ’7MĬb—ú}æÞ¼°¯ˆ†¯£ºz6ŽhјÆ%ª@?Ý1#ÉI­2yxetöº2¸‡«ݧ8ž‡PA ßߨâô+ß z=Üœrá²Ë••é7»õÑZèV_ w§I=(öm¬p(Fë8Ÿ´¦ xœ‰”QwYãuúð»z,8uТ¹„ÅÁ^õvÑi1flÍñâïÅ­Î_(;TŒ*¯ˆ[‡WNt9ɘ..i·4ºÔ…ž÷mÅ'ÛÉ­§ÜkÒŠ£Ž·j}Ùúb|oÇÜ'ï¿ï£¼KÆÎ¥Cþظµ†_DZê8bV5"x_¬¹â~¿mp{–˜ï¾nˆb²Yܼƒsë<[sžGs«‡¥*\•®s³æR)®!Å’¶-îótúvÞ Öûy2³0“Z1%)lé'ÅO‚ xH0¹;í÷?tpüôzšÂA‘V/ :§v²°%=’ñ>ñÜigÚ|(.æP*ücWþR*\ÏËP (%”Zò¥•ÓßÛ¬”ñûàË8|W¡‡O’p^ŽÂ H"ŒÔ×+m%”Ú ûR ¥2­±†Æ2Ùz¢ÀŸtåçÌó¶þ}´>\“ˆ”2VjBï8LTÑ"+Ãsº¬px®b<_”rÑ5Üb*ÀP ÍO„g9i3^ÍsK1ˆ)1M¶Îm’~‘ #ÌhY'´K>ÚNI~ ±¬hZ'œòóv‚µ7M#ê« lÉ«¡á¢CãIGAy NV㤔f(Åñi™ Þçžvs޳Ûâ? ¥ìY#si„‘O„R|H”ÜyÂÏ>öN“ŽÏ³”¯ˆRáñ2íAmÁ0?ÐÜúPàrsiMUŠšñÐo “mQî›5?xÜÜZ>Úi7~\ïôƒÁè™®íäñëø6NÍãÃïœpQ0Ãq¯—ÇñÎâÖ1ly¶²æ±ˆçu·Ž¾³è³5à‡†—fàù£l”v'Àà:gkñÊ™DÜËS´ÍŠÃc¿·ö}ôýîשîû‘íÁcºûž/¬›ÆõÓŠ €˜\úá¬î12õM­Â›¼ Tg£q»­¸]˜g·ÝnëXWs—W—Í·¡.ƒNK—IE‡ Õ“·ÂSÅ,‚< î—kŒ®!Þ?ž´‘ñnŒ.E)»ô)‡ÎéŸeqOlŠO!VvÄ(èY¡ OD13S»Q“Àªv ž ^¿¢ÐßÇ´#²bÒÝáO’ë'1¾bQÐü\Ú<ö‹cxØ:UwÑM¿rC:¥EcåLå´cÿ%ük5ÇŠÏõÃøöOYâ¨Õ8²ôýX>xÁϲ¯­¤”¨Ë\6;dh ŸçÞcQ‹8v*ª3a©õ$,µm“êë ¢`þ8~áxßwQÊx>™•Ùfc6']· x"nbÂ}áyü-btS„RôµýMÛÅÂ|Ûè»B£µÉFpaÈ'¦BõTJ+ŠybÈ‚ùFà2(¶âp[»‹[£›°mv㫽ӗ&B ÌïÀ,<Öž¦hIgñÔ>>skŸ~çí4v$—ÖÕ6öÅÝ=xÍC©Òj¿g™&ÝÑðºC\©èƒ³!DS¦IéÙ´!ÔãW 1ðÕìÃPЊ»ôAp¨MFmùh\L€MkŽÊàܸ4ÖU]›Ýx³ã*5v‡Ž™Pj!®bÂßc“ÿYŠSÙlo,+eH…A•¾Ò7z_d²uãœ;˜²¿Øè¤ê|² ¥Âó8Ï•b ¢“™/ƒ¶ÏçÊ…«¡¥/¨Že»ÎíÛòÁ±¯•½Y·*e›YÕCÔÄ4¢pÏX‰-[q2Ip©7’ ¨y·¶Â'=…“Rž'ßG0SØÿ4Æ.T7Ý>Ï4br¼èPj$£@àšŸHp®‹˜ ñ­&¨ RE7ETeŽå% ÕîÀb‡ò^àîÞPJ°0× ïƒ.¼ OÙòÄ$xa||C´˜[rkeìäÖÎø¾½þ³“24IìTÉÞýúL¶Qô(. }ÅÌïÛL‹^—I8^i [Ñaê3*²èÚ8tÇâž}Ìùþ\é"ÆÈ“KûUož¯~½óõfÅ»ôq0—ÏðwÄRáwÄ`á÷½nÀïàõ„2£|?OzºùÐUu£jªP²º¹kD?X"q`šÏomü²Œ^¢þJ!ʺÒ‡â©+Ù:šk;·>¿~oý0ÿ$O=ᵪƒiô ïììÙ-g†˜*Om‘1]®äÖh`"§¸4F4·íX£{lÛ‘Æ0X8ï™KGÕ eóÔò2Î3Ôñ:ÌÎ=ƒÉ!FÛUú’;rri]1_Ù§ó- gѼܒ‹í“¤”‹½7I%„ØÔ’ë“&•ÄRÝE)u¤<¢ûô,•C„ß1÷öaSÐÝŒž=O§ſÒö°Š„ØÃ<ÄG Ibˆ`ExÄÃì=ïä‹£ÃIwþ°S؃ÓÏgk®Ë“\:<‡bµí<:ÂÆèÅ­ºægNwÎ÷qÈ&ŸënUÀÙÊšÇðd[Å¥Ãá/eów軋[7ÍŽö“0-ºœê:Z3>Ýö{é†ëc{¢¨ýd Ä,Yu‡ü'Ì­µ^EqiØöÅm<};G?«:oÓe'ò„ïO¸é‡ÏÄ÷ýMî{™Ç-­ãÁúÈápèEÿL‡ÃëË> ‘÷ÍÜz0]ÑIg cË!¿´´qRüÊY@·6¹õ ûEmUú­s`Ð{±elS*=›ø4Ò¹žZŠýyf™Ã Ž$üŽåßEø}aB ¿c.œ¿%άÎ̃óOA„³ó/µYÏs³Âxß•¼Y_LK Ïò«°õ©¹¶æ1L?v.}wõx_ˆ!‚Rú¾ŠgºxL>¹¶tkmW« “p¡bŠ)ßì°'T`A©ïÓtôÎQ}QÉçÒ"MÉ § ?ôµãè¶„JÉ™ö´¹á[ü´æòÈO.}kz€mþN½çÉ­}Ín¾ô}Í¿yj÷Ê_¼W¾g“a/‹KŸô[I›œ-öðí¹é•gsÈŽûÇùïLÕáiÌO¡v0dEÃL4}rÂV¶;ÓΓ?o^-¤É§ wf¦½¡Uã²T‚T~À¥z‚_šoÆêçÿ·²É¯|¦KÏ¡X²æ®Z½±ß?uÔ/¢3&¹ôÁ—aÅ“wÈY‚óÖÊŠk†Frio'·g®ýU.Po˜÷—Üûçv£Ù„I1™›o=+æÒƒ“qÌSG;"‚à ögŒ®qŽ~ò4¢p%z[ô’†Ô·F8ïÔ¥Iei‘¯ßÛpf¯Ñ<ü©3ÃÅž˜Ú¤´7™7Y7O7×y¼Ù Q™÷YשMCç[kBVrëuü¤?:ÚqÒ§\¬Í­|lÛ¾õÉ{R\úRIhk~jFËλí•çSùÂosjŸ_•¦*%Kk>9w)¹õÒãÍ;ïJnVð¨>ï?ϳ÷/½Ê¾øUEˆŠ¿ƒáWïŸbzå%xýÖg Îp£ˆ¸~]7:pzt|çè»ÿjtÿB0ճƧHþ`õbð‹‚/ÿßwœÀ‘÷ïqv&üŽe —BmåÏ(¸ÒB2<@'w{òëRÏ@·Éßà/ò§ n¯þ‹´ÂwTÏŠRžœÓ’V8šŒ«¨¤&Ý¥ÕpÂñ0CdìÈ ƒ^ýècFç?…:.½æŒò¥9ý"ÐàÔJ{²æ^4×\z e“X2 º&ËÌ?6-<0rÔY £ã³³5 Ó“g/í#µ5?éôœÜZg0k®ŽcÈå+¹ô¸8ˆ›\zMV¥Í­ó4½]îov‰&DRʆ=7Jù{ŠçØ(eÃdË¢”>ì˜Ò=èj1+ÞŸBtŸ0£@ð oÉè%ðÌÖª¼Òìó]c,^Ør"§1Çg*`üYÚéÉ¥;oü g²áÃ>úbTk ø­¡T9è.£•zqž«´UÙˆË`›¼±2’éÖ>8[svÊ•c´?séÜ.*8+Ó'!,¹Ɔ“R. =¸e1*Æ»®›Jf1˜‡\*DS#efhG˜5ÅÀ*7(TØøçˆBˆ¹uÛºh0¤ÒSÇ%Á³ìf©.F‡s ½¸F“'´¨oÀWŒëO ô­{Cü-ÏKa˜<É<º.¤ž‘ã¬,YW¤dnãSÄL—¬ŠùŠá{G¯ ,‘ÆžJôÑO}’\,¹Aø­r}bYxtþ$‰Þ\~‡Ït<8¿OdÇL#x0¾” Ôv`BRñ;–áóç…™,ûù€ðlÑ ~(6ÈäXAëe‹s¶W¥KŸìrM›¿£ßØ›?ˆœŠŽ.Yóy°^jnÝÛ­zäýâ\ô´xiNˆ Ç"L¡Ä¨z„õF˜x™„ÁN+¥ê—˜˜›†Ñö*Ñrð¹Î'LNZJ“ê,dL1y¸Ž¿|½ Ô‘pS "…Þ ï¤Ðcec‘Ô‘P*êwC†yÙMJi‚Tqwâ]@^s2Œ9ª—!›n(…¾÷4†^©N£â~øY¨Ï-ï…ÇÓÍäò5!´j¬IùiÀr0ÎüeÇ5ÞRÑåè›,+ܰÚAÝ^ʦ‘)=Îå]ý¶X/ûgLôRÓéÒ~BóÉáñǶÅ1‹^‘*÷¥9ã*kŽ9f­¸5úé6äÚ’¿pJú…[¢ö}'¶d¨¢Váä°F$‡ Ÿh~ç/IT£ðÅ Ñ·ò—úµ„Œÿ î¡ú„~~ÃuyŒòã€;%Ðw®ZËûåë‹ÀÜØŽƒ~U~¨¬÷y?ôˆ:†].·5¿T?‡†ï]­WzriôT­²èód'3“KO Ý›§¦×mmOÚûs¯=´¨¶æε¸4òñQÖÇ£ã oÚC»Q!Œ²c׫¬ù¡á7tô¯Ò_ëô§Ž%¨£µdk>5¯Ñܺs6­ycìîäÖ=ÓŠ;Œ”¹5#²òy@jÊãCCWYó(ÜŽ-ÝzßÞó!¨¾¥ïZ}áØŽïï‡yÞå#skwG¨L8îNzñÝioDOjy²ú%cú,¶£c›©>ÜÐê·€ëÅÃ¥þXUU=‹FL‡áz•Ž›;ðÞµéèRÄúWñ€Ç›8^>ñÖ·5‹/E±J=ä»\z±[- =ôˆwõ´É»e3ݺ³¿3­ùPàsë¹wn¿sÄlsküö)k~s?¹5¦Ý›%÷u4Ïëêëøp¼R´Ü4¿ÑÖœž;§7ÇäÒ⚎?·#V‹úxmÔ ‡f„-·yØ8:QîׯøçâpaêÅ­uÓËŠÇüxŠ[o™%¢×õ*ÓŠ_ 3—\z¢Dìiówá8°Fqé¨ZÅÈ­í~½èAÇ(=c›eÅk=É­€v (Òfgмyâ/­‚O¸ ØG“̆0Þ Ñ•Óé{e•QóJé •VX9ÂTÒƒôμ%YDèÑ×{Ëï|_©LcaF§‹2„‹šJ##vF%Ü)²í6d,;…\¸¾ßõ¦ôö®Tkרõk×<ìÁÞþ?rsÐ÷æ žñxµ62, u%£Šwî\6‚7Ù¥´î«Œ†àz[lfxÞ<QIÖ°fô¡ÂlkÞ4ˆ—`®M;Ý\ÚÛ—õ±ðšÔr¢ÖV$­b½ ,81až«>÷â©ç›Kó%u¦MŽU¨ŸJ·¾Ôú±5ÇÀÞ*n½.½Ê&g7y¥KÃ-ù(kŽÚ^/nç–µn:¦çÝÛϬ#cFƒ(¹´Þ­É­µyç¥Ê=kfæ“¢»…!Uî“J:!Ñ"†¿/ WÃL ! 9‘!‹é&øþ~P€"¸90?Xµ¾sÐDŸ$‘Kˆ$âR<þŠ(d·'¿Ö$âvkÃÜ-8Šð»Šßq¬Ú¨ö¦Í=œÃ‚èñ‡FÆáâf+ŽöÄ¥y)WéÆÑ­âÖc^ÆØÝâ1ž(d‹Y<5#yWW»y)Ó‰ÁäòË0ßü4Ž[{?æÖ>.?.n"RÒu—MNϤJ—Îã’MÎãB„èèj\ô× ç+)| zbË)÷„´ìYGWð]Ft°)™¿ŽCAx-ÿ•'ŽP-mãÒº…i“sòj¥[+ D3÷unl¹¥¾8Ç1­°B'¶~èÏŸ6ùÃf:5B6ÁŸîÒˆ¾ù-g §KGKåàÔ>î:Z‡¹õTÄsë© `í7‚ßæÖã–¶ø®×Ún9ï±®’o±çœ½3‚igýÔ “&Ò"‚]¦QÅû¿Ù`Yµ^Ñ eqJ¡ Ò§G ”BÂ-w‚-lÇȸ¤.ƒT¶øYrc~c•Æ5{1^I²°®þا u)qØùÅ'¬õ7çªa;?eï²1},:¬0„ÒËš»–œ:fëðkóõ³hÒÄ æ#`®o¸Ø™JF¥™šT2¼tŸ•T2JD:ZkU7év«Fm¾ë^¿Óf|ئ’:©¸Gc˜<#/µ¨eøGÆ [ŒÂ?lœÅnxñ> þ‹.pÛäGTéÒ½}YΘp”¹ËšGãï>‹§>Øóñh?X+k½Óî]ð[:´ÏÏÖübSrk¹£Kêº+ƒ;ãšçÕÅÅÆØkTo´FÑ ÇïÓ¶5Çt+nõŠ˜t—Vüæ¡&·¾¯¹lñ˜¿§C?œôžv㸠[:uGÏbÝ6ÝŸgriŸ¹³…²³W^n]f=JzÎÐ-NǸS.¸ŒhÈE)m~áÉp ‚R';wl£*–ÒÄSª›#‹2‚ð ¹JxRdä{ü°‘`#xÓåýP†ºúˆ8õ¢N,ÖòæŸûX¸8qÚÍ™”h^ˆZ±p¨b‘¢Dÿvൗزÿxõs`Ë–‹-9u!±%æ§Œ"è1(.z¬ÜÖÓJt}*kÞxDÉ©u•ûiÐý “aɲä1¹ ­J·Æ’K±i[sÄù¼Š[sš²ébÔ¼‡!1ð·Óµ/sëS!^Ì­1\1‹Û3ÉÛË“ÕÉù÷æÖÚ^S´Š¦41:Ή)£â³A¨x|7F…“Lh¹èŸÖGN)Æì`åFÛäÁ‘*]:Q6w#zCbIyfy>jg|Š>íàsnÇFÉ3@ýthHá?òmÚä7—éÖ2nYñÁ)ªÉ­oòËMn™£¸5"Åo ~£uSÜšué— Ï݉qaô (³ƒ3OÌK/Wri_/sk]xøF©¯íd¦/ÍLï|Å<ÇçL» X*EUÂvM¾€3”8{ª7÷'bÜú.¢¿Œo͆ +ëI *`#6ÏŸ#S(0Ç7 bQæ¡é NnUìÔÙ¯:).Ôžç'•ó¹QÊAbŠR>\,Ų́™{móL÷š1tÜ(.­Íâ7aõÝï|SI8#·;±5:LÛ(.ŵqê¦^ri\riÔÃFU'†ÂSo?¹ttä®V¾<~ÔTŸ7¿·›„œÃl†ˆ&ü>àçÌÜ…ïGe7|ý`}‰œtƒîº‰ÑÃV4#~Ps·3~€qåuNDËïŸü~?¸ôI^üo>}ÀŸ=§ü€O¸š#þÏ|јVÁ?SríYÖ|)2‹¹5BÏn\š V·fHv*TÈâEÝQaášP K]–!<0Þ W3/¿â°ü‰K‡Ä<ÔSó01tµBjz%·Ž¾Ùç.n­Ç:¹µ.IÔ¢/®q´_PYá[B¢’ï[|Oº²Æ7XÒ¹C¡ÐµSoOÔRŽ‚¢R8üS{ñ.¢BL‚æ7vÒôaÊÃâ#§Í9¿™dá+)!:úmÌÖ¹¥Ô>ùœåó÷Á’(Œ,Œ%©ïîψ>&À 2<çF:ÂÁh·bUÐÑΤÚ'¿*¤½Þ…˜ñøÃ5º1Ž•ÅÅ“ŽžŠ…Yˆ÷vp9ÙhlÓ¶/ÞdÇ|Åc [séÅáø7çšì 1§^X쬶o½â7¿ßù ˆWÁ‰ôL·5Çú³qimçóºz{æ©ù÷yßò>F§Í±YFŠÄïû.›œpÂérFŸtôÙŒ¢³Î[ÿþ~]cãÔ±Ôκ®äÖXç>6N ñ¥0ƒS#†ëæ„›—Ž’òÍ©£H_²NMaT.Ú©Ü-Þ|‘7Gqë脸žÍškûÉ¥½ÿèrÁºÀq}M”>ßÚÇg¾ïïq ê¢ÖÐ mÐ;^Vø¢'IRJô²ö4'«‰_[‘ç,J‰NÏžæTlMd5>­f¨dë˜Fx´²É—º§—º«­‡ú™Íw=6»óÝSóžÇC§òâƒÝîSãñY*®“4¶ôÙøè|ôóØö¾kÕ¢ã³îž÷!jQŠJMκÄÚT˜èºXÝvy'kŽP1…À\ºãÚf#Ã-¯¢'mr?÷XSSû뵿}Ê/S¶ö?ä­$ÿÌÔگ˗7RÜŠ§vùÅãÊãt¹$kÎ^¨+¹ueÙä§:­n-w3L`:ò>äù‰§žóÅS‡Å 9Úîk¿+ß[ù^CŸgDZÇ[åò³KfõÀ]ð¼Ô‘†?8Õvêw'B>ïøóÇo7Õë/¼¶ [Nöˆ[ö7¶lÑ%•Æôx§J.u[ [.°äR$q„oÆ\kÈ%§Å´Å?^íOéÔ‹=,i͵ùäÖÞ=·½7'­Ú»dôÈs£Xøâ.JÙñ©ã“¤ãÀ¶ i ^je-ré®±UŸ¦5|‘ K†wèO-±…8u†”¼ÊX½éTÇùÁ~‘è¶I,Ékbj9è‹Wq<_?ÐÍñl”Š2´Ô^ó/;zóô7ú4;ص:à S&¨zÐD«? þq“K0ig}g‘?’IÜD…Û›x1|D–6³ˆ|f&õþc)m˜›ŠusFÜ“›§B}ÿäßI`߃¥Šâ¡)ØÓbeÚÃP*Æçïe#ˆ*NO(Åj3áÝðþsÁ‹o –=í S݇>yÆJÇôÓ8ŸN?Tؘå¾Ûýmkžo_ÆHH»qŽbUz¾}1–g«Z××vÌ1†×v¬9; •5Gáq·Ž5'®4IçG9•2_"0EñN[öxPoª±ovããx§ãueºùñ;F•,NWêâÛ Ú1èzÁêc³æJôâÖëiÅozÞ&·Ö“TÖ\çŸÜ×CçyqŒr¨½3$wíóOÍãÆ±tÎä ‹,zµ¿tçˆvrkÌ•Ý~oÝ%>¹uøÞŽgãÒ’KsÆyýÞkŠbò·¼¸5•?‚¼crwZñG&æÖñvnÖ\ÛOn­ýßž]Ø5§£‰óæ};>sk<+ŽŽ ÆþÖ÷‘Še¡ KF{ñZº0@')Íœ%̸+Ø´Ê-t¼b†R=<.á¤X´½J0”X;øôJÕ{‘µ Lšƒi‹Åᢳf¾ùä,þ“ž’[GôoÜ:ìµý=·þþY¶x4ŒÏ-Ý:‚Ü›Ç:"Oqëèíõ7—ŽN[_ó½ëh˜c‚¹t4Ü÷ã²FÃ~nœþ¿¿ùÛ0ÿÛ0ÿ?Ú0φïWGÝwGÞÞÑ÷Òß‚_»ÿfïߎ‚ÿØŽ‚ÿôÝÿªƒû«cúÏëѱý¯þþì@ÿêXÿê€ÿß=°òïwñ=“ï(°.ïB¥0œG&bRð]]Ü:ÞÑׯ7ÏKrk.áT¯íëYN›<Æé×–n½PΕ5?4Þo.Sÿ´N1¸tŒ£î¿·ŽLKNõ9®·¬ïÇerZë$“S#Qÿ/× þ§Žÿ,õß¿}¢ûDÿö‰þíýŸìýwû?ÿvþí0ü¿³ÃðßêrEÆ^î×ߎ‹ÿ‡;.–µ˜è}ŽÆØ]vã1·iO§¦WWÙâóy^éÐáÑ=wŒ¸³Ùµ>»-8¹·FãôyYò‡Ç›Üú÷8Âis³àѹyÝÅ­g4.—«ˆõéÅ­Ñèì›?ýwâÖ±p¢)ÙŠûz›[ï÷éoGÓߎ¦¿M;šþަx¹Dùv"<ó…r¼lqÎe­tèΉi7>Ÿç•N=QÎGÜ«ÕäÑÏ@ô{ôãeÉçÎ&·^(Çw U’{·ŽH(ã|Y𨞠ò$nGÑÑ´Yð‡sŠ“[Çñ,4­æþ;rkŒ/ˉ1ºÞæyýyŸþÝŽÁ˜í†y˜ÇÙnC³ß†fÇ%_Ç;šù½ìƱúÓ–:Ò䉋ŠéÍ9ɰ÷ñ¶K3ÜÖÆ­£"|ß›5¿q¼Å­]¶%Û,æÖˆ¸•©´âezrk¼;ÚfÅû­¿·îúûÍ‚ûz›[ë>ýí½úÛ{õ·÷êoïÕ_¾¿};èþkwÐÅ¢«Ì‹u˜ÆWÜúùyÅŠ2sÆ:yâÖ TVýgý÷:~ã™Ç¼‡Sâ¢}ÞÉS#Öý(nÝÙ/. Å»¶Ÿö¾qéã|sépãܹuƒ§Ý7͵xÓcj^¸k®knV<:ãæš[GÃ,¦5×ö“[kÿ¿ðÂÍ蘲³Ów¾ÎíøÌ­uQÁ×X2kà“SzEøÁ*´Ä÷ɘŸ7/C„Û•1•Ë%B1GiD€¾øfÀÊiÒñdEo’¹õ­÷aS 6-³ó°{YTRAÌL%±žÃQ›°ö®Šk×_»´ŽàCûN_Ýè}š‡ž§&žZ—ÂWìëJ [vĽ2µÂ­Ë-°WÃwf(JøPHxöZ¶²%.Wrk.¿}”m|‹F7‚TÚš#Š K¹¸ž’N6N9€¸äeJ榅µùnÆè.+|q$SÊÜ’¬±6¬ûbqGS7ë8EïlS/¥¸5Ü’Ú]\:V_A/§¹t¼C:9õ\[·8õpOŒ¹4"·«¸5~;’§>ž×q¾tß¶ë¼pë cn­ý §á¾+OùïÌ­õ÷™g”G2oeù‚!–£Ê‹q¹Å("‹ ñˆ¥Á(ÛŒB%™Aý^P*ª½#*>MÜ$ ¹Õ±\šz¦•7`{–6*ŠÎ–~pèÊ@ØÎëçu ÍOúpÕº…ÒQB?oËŽ‚G½âÖ [_v0ë÷vÌì+ÿ~²‹ Ë¾Ž§|¸“[/¼Ú‹[ë8"ÚÙ¸j;Þ¹õ`\rë°³×qG(ñkmÇ/kŽ1É^ܺ3>RYqFmÅ¥ãZEŒTš¤±ÒüÁÀ(¹Þk×ÂçÛ‚Ç^·>YïNk~¡YZ\z°Ú‘vç`OŸ_vã“9Ü3f0C&ÚJ}&Ou¶q·Fi²ýÞ:¢Ý¨¸&—><FÜ:Z£sÛ¾4¢cÕÏ%Ѱ;ï‘\Âßóæª“› È.MC©³rl½MB)í/:Ú;£»ü0ý{‹`Ùà*Šá¡¡Ž`€§àP üd]]J…Å©òƒj°ª/82e¨¾Ã¨¼UšT»Smp¢2”š? ¾”µ36·æB{ŸßëöûãOôyÙ ÿ Ÿß:©dô…>MDþ{bËßßôÍ…ݘJöèŒNl6ú£“êó´Í:!úªú¬ëßíýæ6Óß}dz`,ùk¢€O³8ˆ˜Ã(û@ߌaæ83Qò·DÁFiL}ºÂ)yÚ õÉÐÈÏÉMÛš÷¯ôì$ŒJ‘Œ)š8©ÔÍ2 õßr Ë…#È‚/ÉFKlvC)o¥gïÙì¹ÍNŸ >.z@ ¥¸[A÷аøçÃÿ,FØû(€ÞGáþ>ì½þœWbɸƒWšßVÐçþ3 +§;»ê^øG±Ö"W¢ë2ÖWˆŽZÁ9±•ŒÛ‰ª‰mä¼õ½ SŸ¯°ež¶òDï\Hd¡³¼,1ª”E%1©òÞ¬ð糖†ˆ\´£æóWɦbKEš¨w*_¢†Rè™ISv,Ù”×BÒGè#ðÇÁùfúÆ|_?¼[™áBdÅ^[NU3ÅÇÁÃrÅ f(ú£¨%<ø7Ì>¥XÃÁ§¹¤‚aÊ&«•𩘩†–¹la÷¯ßZÞÌ  q¬ÇsO5<1ô#k¾Ø¯Ø´¾Qê¹äæ&n­ºHZs¯†û½y{±œæ©ftZñ‹+â%—ŽÊ!V2’ÍßÉ#yjÕer¿Ú^¿xj–YåèVSŠ˜¢™V¼sL7¹uçørYs]‡äÒÞ¿ëHÑÏ<8Kxh8ZóC}æÒx[ÙäêkÌtë¸ßk³â§úXÍ­O!u>Éô/žú`ßnriç¿=¿íù,¯ƒÏO«Z¡òæYÛsáK‘6ùâ}ÎtéëÖyÉ&¿ä.étéS•TsëÓâ‹+m%·žê€H{!’ïÛ1Ÿô¥(.-_´É;Zë•.½m”…ïÁ‘ƒ2Å¥ý÷yܪ»c<£m\k#_—ÖÚ̯óíó^ < ¾*Q.ÎþlV<ÆquĤ×â´æz®’KçyÈ&ïðg©tk_ø‰E/z‡dÕÕ•Úçcníóiˆíî\+ãXÛÆ*ò©~ßPŸ>ÊsAðL…|0ŽiHõû<|f°ªQD$ʶÒ\¨„¼ÿVðŠÐÝgBªpÀˆVᯙW¦Qýü'–Ʀ‰ºW‘Šš· ”þNLJêhTц ¾ÇA]&ø~iœºN«ù´"rÝ`Ýäîü?I< &ø~bñ:~Šü&ÇW> "P¯(¾â(#òÁ‰¡N|jÕöüÎÃÑwDÃ@VÔ°ô7ü`ï²áß…gß¿“58Ã}K·Ž±ÏÈpiÅ''·þ ÂýâÏz§?îò¦ÛV÷ÆèßxÆ6 ~ëÙ5·Æj…k³æô+nÍé1»šÞ­âÖ{^_ÜÿªKøzÎ=›Å¥—ºøÍSëüÍ·ëᲆ÷Ï÷Õe¤¹5Ç|ë8¬µÿð<è¼?ëLµöÝS|qbmrëɉ®i“«”éÒ™mïü÷SeÿÈÅyøŽ·5ïz‡øx¬uÌ­Ç©º¥¬y_ª[NÕñÕ-õnO{TS+œeÝó`o1î“­¹üQ“K‡Wë–Þ¯¶çã2O­ók‡ê–]uË©:¥m¯:ç±sép¡@ÝQ6¹®C¦K{ÿwSê¨:¤ëŽY‡d]ˆuKqëeBÝÑÖ¼«.iÞ³麣ë˜ä§êRN·¦¿~æ“LÿæÖWú 0_Y3ÿÁw¶q¥$M¼.k~ÐWKu<›Ö膹õ%÷C[s¸%Ú‡´Ó'ëÇrÁ¶8ÜTºôðêãÛjã‡&Ï·«¸õä¤wï7÷ããòñ¤ÖùÍ[Åä7®*qoÖ|áŠKG¹ßÙ亙.­ýŒ¬òií\÷·›5_éëJnÍÕ(ÊšômM~¤On—/.lrùgú”Ï/ç]8Ÿ8ý›—^ò-6·vþ3糺:¿ÎkSùù«|ÜŸßF€¿m¢¿m¢ÿ¬m¢=®¸ƒ¹Nk•5çÇâÒï´É—Fñ.å¢õàs?´ãá*?²Å;ûš2]úf}­ìÉUy¾¶“#çׯ¥/•—¶ÉYÿªtéx¿µQJ4ø ïpqkÿ}wS$½Ér(¹ô}ê}h.}ßù>Íó?Gÿ)/Ôèóyèž°Í’ßôqL.õaÌ)”M®¹e™.ç!›ü@>­tk_ÔÃ;]þ±àãbý®xižøv~~ÞÐõo¼ÈÍŸVFp ™nHÝÏ}”5žhËg*åïÀ­A”2:®gÃŽæ¼’ 0Z¶Ò,6ç_,ø{М¤ŠV«šÛgþäŠÿiT1An×a°º×À  ½¯?hú@éït|h?ßXa^ßÃóü2ÁwœBÛO«ù´àÏ%F໸–?I¢¡k‚ï±P}Ó§Èïõ3ޝ:¬¦¾,ÐѬ­&=¢/`¢Ãeà3šð&]næ":ÄÉåÃ9†à ƒªŸVF0×®ý´T1ú×Yãf*åìœü!*ù[ª|æf );•™vm–CRlÄü·úòÁTfqëX¯(† ÓŠ²Nré7Šü’ö:‘›¢š(¹tþ½;œsœ0>£Î…*õ*HÕ9uöuÚ-O«*À’±ÏN#/á‚TSd cy•L¢àñÚý^†B<¸ÊŘ& ¢‚R}û¥¿ÿíJúÛ•ô{Wª8rX¡æpZÚ[ñÒòw²æp?ßҭ㥄‚ÕV|qM¸äÖ‹S˜ËškºIrëÆ*FTí.5ãn6=7®,9§y—Ž*óXe“³Ê_éÖ'ò_YsO 5·¦÷âËœò‹øu®"†eÁô—äÖœ ”<5Ï¿x]¬ªý¾º iníé¼>Ž}zï`Õ=V’ÆTÙɦy4gÓ’³y½’[s̾Ys:ë—Îüx¿ó©~÷/»@óÌçœÌ9èžúÑr¾ŸÕö„ß/(a¢T&†ÄThW‘‚Uà5S>ÒFMäÄú¶±>grkÔöûfÅÕ[‘Üzñ–¤M>ØrÎtéiß3Ùä‘,*]—z–5V¢ZöàÖð{{6kÞ°~iqéF£´gO@¥³åÏVKÚ£øÛÒ©ãïÇfÍ'ZŸÅ­ÙkV–üaãÔXò¡'” áÍ`’‚Rh\4„‘u) ¼ ÏÍv´µâ]z`P<Æ';î6HµýÒŠ[iXDv˄Τæ©êwKΠòðèwò¦»¼›K‡{Sw¸“Îiútæ96+ŽÅí®âÖå@Yqt™žÅ­ú²ÅºÆ11Ø:ÒQ—HnMÿéôçÞø—¶-Ý:¼øœyþþû}¿<.së‡epZseê‡ûØîÉë<ûÛ’Çd€¾qê}y>ø]œÇõuž×v~ìÞ÷Ïíš[sÊdÙâ–©tj†É(»óíw·‡wMËÛù‘¿·êèvBþºi'Ú;eÁ£NƒÐOâÖq³[sMEMn}±Û!­9‡Š[«;]ÈÌÇ1$~ùs·É;ë0™.=ô®¶Mîówz]œg¸5¸ôlV@së‚«qYÆ}ÐЉ¹õÍ®ýÝ’³Ì+n}I_oþïtë‡]„eÍçW:õ8W¶8ä«téh»ìÿ6NïðJ£Öä­´Å£xÝÓ¡5Ä“×ýl¦™š²5Ÿ ›en=9 ¬¬¸ËSó,_Ynbÿxé¸t<ÉS^Û,Xîd~5·V¾Äzñ7˽˜¹¿7hÍ£ÏaçÖ~oc†ÚÕ4ÝîØ¸µöç÷–+MT²8Ô••°´âx6Zqëßû¤ÑÐg§¼™*ù[IÆPMRg™jÉZ¡è¤{aÓj­°Q·Ì¿’5Ÿ"xý}ho'¡ÂØ4ñÍeϯߟÚGT²^ü”ýÚŽV ·ÀÇ"ͬg—öyê2ì§¿U-ÙÍ™”Š:R}UÁ]µn«k¯ª„ÿÕ³Wñ Ž)5ž?k:Y³™[M!Ÿp—´|¢UsE#ÙÑyg­ßËò{7®ü¹1­÷÷`®£¾Ï!ÂïáN=HèÁYŽq?Â+?£%tàÚp^¾wNç'IŒ˜ð;\²ô ÿ7~X*YŸ êá÷‰µ¦õ ‚ñ~çúÎú$‰‚Ç„ßÑñ¬O¸´]„ßO,ú¬O\b^n\â'æ –æç73E –ù¤<1ÅÃP*:N[BÌhø-ŠD-aG[ðßÜ×éLø™%ÃFÇÕ†åæ2ŽÎùèG‚…9¶ÏûùúÅS'ŠJŒ5DóûÀ.+bËf'2*ýIÇúÕ6ßij’mPªuލÈÈòŽîTC)åqAô'„â“-Ø“^÷M?®—}Ø[º°4VY¿Ë&Wñ”éÖ õ´[ðˆϤ¹5 FÙäÞdN—¾Nu ˆ[c°,^7·øz§'·–ƒ‘yêCݶ›ƒÖq·§ïëÙ¬¸œ4’[ÇT`ÌT+  ¯öj¹¶­‘š ØÆ&ëx5`Š ÖÓ$ìô$UZç@ÔàøÚ ×, ‡F¥E&d 6å•ö¨ «õßßxªïÀÉÖ·úlÅÛ¡¾ qëFϘ²æŒ±T\º«¹n›|r¶O¦[3¨GYqÝ”äÖ¾iΔδ¨v›5çLZ¼${ÛtTU¿¸4‚‹õëÝìoÌôeÝÌjæ‹[£yÍq•jæyÿÍ[G×뙺~ïí™{Þ¶ù»¥înÍS7ƒï§Hn=}'¹µ›éæ{³}½ùRó}^o>/URî§æuÉãF³zÉŽ/ÎB«šáç¦÷fûùÒ9$ÓÞ”"PøË±vÂ×j%”ê“Óecš‚Tc¿6†œ÷ë4)½I#xc’œ!ÕDEĦà;mÐ1/ö cÈixN£:K#CLðË4)Æý±I¨ ÐJ›t¿8Wš‚èÏ4¨*cÌïyåF•,u†V7Gí¥"˜’;YÔy‚(b#;S²Südœ¯äÖÿÔ©rý÷;Uôv¯‚ùÇÓj>Ó)Ó¥Ã÷ ,²ˆPéÐt˜+îW¦[wFÇõzuRí×ëàŒÇ© ¸˜/ ÍøŠŠ[£Ãã)›üÖ?§K_êè°MηJ¥[?ê$²¿»:‹Ä­c€>¶æ<–âÒÏ‘>C1OÉGv1Ýú”>_œ:3¹5;jÖfÅ£ãQÄ­#_´¾YóUqiÌ'<Ë&WÇY¦[OuÊlö–_YtÎø­××OƤxîÍŠv¼%·vçPZqç³ìLª|‡·¾-êm2ÆóæÒc_üÈ·|Ó ¬ÐÇVUNk>èX±×*Ú½Õ&Èã-ŒÎŒØæ}m¿·Ö÷p¨‚g$FÿØj(+×v£’ÑwÐ^¶sÈlì©%û±Yâåú‘¬1ÁfjóÜëW£Å¿bËÆF¿hV¹ÕCõÛÔ‡:wq¯î„Rÿ®šG^©DÏvE²½ˆ¢•Ñ·±rcÚ´¡ÔÉÐP„V|sÄK$ÆKâ. ”õ÷ÅÇ5Ý.¦µ¯µù` ©ú·6~ršJ[Û~¬ó8¢ Îí£åÓÝðwæÒz@nÑõF•^¥a­ûïúý÷öžÚNîßÇ#WÃäÖ‹QÉ­Õg`œ]¸y=BˆˆËù‘çro›tqJö ¨ËÂ]þ#aKî »;¶Þ§«C‹]ìSûïÝgVmï6FY–2,u\µQm’u÷ð¨(z :JUˆZŒß4i‰gF¥•Œ¾éx•Û _pL*yÑ÷¯,qt)÷«°5€¾-¦¤Ã÷'–ø^ \p1—LÁ§mI¿âaW¥L27x‰¦UÁm‹Æ%Þ§=fÙÂè(©T\e^@¡NÝ—\S;¼^:ÓfÒÞ?[E¬°›pp9ŽDáýùì&b‘QͤB¨l& ¦º&”:QŠ¥!¼bŠlB© þ‚iKÙ#ÅMGÕ2±æÁoNDñ\8±2ÑCYÙLj!Êðn£Bx½0'%o7ãM•D1;fÀÚ=?G! îf±ì3“I-zR– ®ËgB© >ÁiÃÓt%”ºÙä)óaü#E‘yvs`VÒeDŸáDV†•ö%IE”ØÝhÚ_ô«àþŽ?XÄ¡>ƒ¬ŸÄøŠ™Ðùy3î5¾.¸/ë3æn ð;Ãåç>§¿‡õåOÆ^"á÷ó¦óó–C_<>ùy £ëà÷ø\m7º·Z%I5ŽZ”D„©†Õƒ:|u08EG¼þÓŠG-që¹¹bÎG [c• ÝÊíà{;ÉOÎâÊtiÌv¸Ëš/05·>s>O%.ÊÅàpñÞ¬9Âôq¶l<‘©áê}·–kbë,…¥BäùÅ¥½sk_þ=gtÔvlÉч2lê×ßwÑœw»cnå…=Îc¨ý~mÜšk¢¤Ý9 néqÔ;Ó9ÄkK·îˆØYVÓg ¿(ia—®7f‘<Å7Xäæ©µýäÞŸ¶?5ã©ÇH SŠ[{ÿiŽÿ¨wD;F6;íxÞZë)—Žëx_—{}qhz(&OÍÈûÅ­u~É¥užMÛ„s^ ]HKÞÎB1·îxÑÌÍŠwÎ'Kn Çÿ±YqŸ‡yjžwÄ£ÄBâÏÒã\Ã)mò‰X¥KÇÜJ¬÷$kî|mníçAÛ‰Q¬o69$¹´¯Ãqþ¤‘"ØoÎkÊ8ÿæÖÊW/¾ß7ñ¼¯·bן蚮û©ûgžZ¥²¹µJçÌÇ.Ç\þ%/ùzqõ¢ 7&à6†·Û@ÇÇFPe´`–Ø*¡ý~ñ{@ЯQ{90 aªw§¬9§LŽÉ¦ŒÂ1<…-'B¦åð¾©TǤAôç&¤Š‚ã“&aœ[¥Q±’>ê~ëF¸À² xÁ”ÄóÙþòM¥:f«JE#é(HAp89ã¸åÜ~1/¶V69]˜*]Zk†¥½=Âà b¶æˆÿÌkäêáT&Ä¥x ?y”¢T>AÉßsœ–TRçgl­óÀ²jôX´€ã¡e‰£»`¥ÌC”5Æ1f.ž ~=‡r¯­9&Ö­âÖ]uŠ´â#“xfcÓ¾Þã¥}]Sûþé~åvý÷ÞžŸ“s‡&:ïÂ’~&ý úÕÌåwåW>çÍ+sjšÑ©1á´É9v|ضåÀÑz–<¹4PQv)šJáµ—F0 ¾‘Pj ž¢ |ÍJÅô;}®Iÿû‰¨³›Å´û‚’LÃxÛTU Dô(xxÅb’Q.wæË²Äˆó]Tr2·¦Ž6aA*Å”HKÊuš|$RJ"Ó_ëÀ'nÖ¶ˆ…Ÿf@[óõÐÿ#ù¦£ƒ>mT¦£ý‘ǧ¬ygA“Üz°Rž'ãÓ@Ÿ^QIt^ê<øÌÃ|ŠO ueÍO>]É­O>ÕeÅŸ¾srD¢´OVÜZ'•ÇÜÇéíšk{zx®ƒO÷¥5ßSú‰Ì'ЪžDåvfe?>s_¡ç«¼Ë·»Æ`ÜnqkUí—jOÌW}ÿoëýoëýoëýoëýoëýoëýoëýoëýoëýoëýoëýoëýoëýoëýoëýµõþt^™§ó)~ϰ=°Ö’ŽDÊI<:ýµœÆ …1¥r!ã¥5ŒX•<53nÚŧøFT§¬ùɧ9¹5pÏ:)Ÿ碒:è¼Ò:¸ÊÃOñÓ”wmÍ>]É­Î*K~G=žÃògÓ>YsiŸ”/޹3·ë¿çöüð ³*ž%ÎÓK,é'ÒO T>‰ÎíÊÊ—žn¹¯Ðø*ïþ7õÙEÉo}++˜Ï³Ihß²™Q`YúÛFlðì0mE‚)Q+ŒÖmÌ>ü½ ˜œø¦!£¡>«Â©]5½KnX$(¥íëH½}á\œ‡/¥(m†ŠÙöÀÙ Ý{yE¤tÑŒ@«á²àd?Û‹OÔ»\£É­'‚K·æ\¢—Æ4óÍ‚÷¯tkν)+ŽˆC«¸uL5…G§­ù^œâÒç“A`Í·<¹õb`Ÿ²âöG4·ÆL¾«¬¹²Drke™‡?‰%.ç^>-!ôFÕá“lSpÌ= «‡¤i^âmlP*æ×ø"ŠEõÖAÐ>ôÉ6¤ÒÓ„ÏB"S #0`ñQºïÒ¯WQ&á;­Ó›¾?e#÷,u³gaÕþ´±¶oZ—AÐWÃO¡žÐÉ‚ãU~è„ûo1Éø`9<ÓŠ{U:ó\¥Ž¾ñeÍ£×7n½0ߢ¬ù`ÎLnÝ‘‹Ëš3‚hqkNë(+ŽþÐ^ܺkZCZsú[#çcÕWú趦P*æÖß¿·ÖönFk|èö‹iU+ {b ©0PZcïÖÉ©y˜ÚÝ}½öJ#ˆ"òLH…E™×nNNæ< JM•¼š‚Ë‘žX¡¢¸t\ ”´âÖ(ý¶ß[Çû}‚¶âίæ™/™ß>üñÏ“Y没/©dgQejyÄE¯|L©ÝE¯vôºÅ“;O¯ntˆ §J„ßé­Oè 4ç÷ !£ù)­Zs|×éÉéä0S|ñjî÷Føynv{þ¿_ñw¬¶¢ÿѿǿg‰IÓ±¨ã@CLYák¢‡Ö³øy`?‘Ã#]Ü:âÍ|NÆ;äAñGÓ4UNr2œWÜ yÆz±ý<µBÂfhZó뇫Úèï½SÆŽIJÉN‹¢”!ΓRF?µQÊhƒmG/™3¸¦í.Ä…‹Pÿ¶æH9’[wd£–6&û쿳5ëyíDZ]cp#¦\Žú{,o°FrkÚöÅ-Žyã1©/&óϵqjX 1oƒK¨<ìÌãÈã"O­ã÷uñuÃ;òÙ¬¯ûR´’äÔÑÕ?4äþªoÉ]‹)¢ë.ëßa°­Ò­»û¼ßÜ_TƒžKÇd.ÄøKNÝ£z}l¿—þÎ'ÑÇÙ+]<•­¤QK±séÌ–>}]6Ôh·Ëgx¸œ7ûÎýŒe6O­Ëw0ç«þÂÜD3Šð$˜út:Ÿ£8QóSHÅŒDôÉ®ÇF0æå] ¥¢®…FÇÉD]|ˆ~—]ÆÒë%£ÿKatb؉ð;Bˆð;âR‹ðûÂÕäfâkÇ: =â mÿ]îF®P¦Aÿ>Vˆ—š‘ú$Áz"øþ»?t‰Ä§V+¿ô’ûm?ñS++Š_^"òb™æd¦jýVø!3)¾F€Ò‘QEñõ÷>]Ÿ"QÀ›ã{L@úL¥ïÀÒߘ°÷{a1™Ÿ ƒ+<€ðûÄÚ üLrÎâ'– ?—>1ðÃ*™>ñ…—žD·7 Òâ%ŽyOø€Œl"ͯqšËŸ q.øŠ¸ þÄyî£3ǹéÞà®è¦½îóäý´ŠFæùl–N-E%£6õ”!\Þº2†˜Më$ˆ+foóbñBóâæÖºÂÿ0r¤±e”³~m!3Ð÷!|fÛ ÷í×’8KF |×.-uò'£QD1ëøDëpuø Ö‚þ©QEtêȚNjhž—¾µ=ÙˆÅýh²æˆpîÛ¿¿~ïýë- AÙÇ‹~O‡ŽQÁK-·“¡`ðýb·•yêxÈ®ëeÁ y·þãúˆû:.úС…ƒ–%½7Ò&ç„óJ—þ>žüŽ{2ˆ}›œU‰.ѱaJ…±µ÷滯¤¿2õ6¹‹ÎÆDÌcŽÒžhæ$¤ŠçÅŸB3ªõfãÚMœX FF0¼\f>¥x>ãú#F) Ùƒ׌ ÃÀ—MBl1Ó¨´7¬¤¾p ¸@‡§‡mñÆžáL—¾ØœÖu8NŒgË7Òy|™t}ÿáO÷Î(«cô2´º1 ÙPJ§ ”žD?[|ŒðØÁŽ‹umïQÑz­ò#´Ñ¢ú‰‹3‰à;k6$Y×›©ßþ?xêsê/ ôo`~’p.Š]„³½ô{LX..êp¢ûª—5Ÿ\|!¹u\¦Ð¶æpŠyŠ[G¥ûf[öC—Ïüs+Âìci¥*­Õ¢¬H#Ç’L‚}I2bè.Ænx‘pœò–*‰J¤/Ñ?lÂgs½é•{‘­xLb‘²¾QÈpÜ‰à ¦’¼¢áMµ¸tïÔrFÅ(¸3)î«/  ‡±ßð.ÁMi{ØSžOÞà/ëâÔxz¯k;zj4À¯¹qjDỎíÜòüýÖž~ÚõÅ¥Ïùõ÷3·Q)Æ:ëð]Ln=y~æÒ rý¾ô7§ü;mgÍñÚžõŠ7{üŽ}“á/…NN¸'ØFíÿJ(Å<­O¢¸t+hE-?Â0ÀÞ_Ö|~qëóËšoÿ¦Žeý’[ÓG°¸4|u7nï…—Ž.³—Žú/.þþûñHçºðˆ¯p‚‰û‹µHS¡Uh(¥;%(Å›²&Æc×@æN’IÌíóÞ“eÀ:‰O¥Xôð± –â)¶nv?ü–ºŸ• B›XÑñø{ ¿9î÷3F–Ê€]Ñ¡lDáÒˆÁ “¤¸[9ŸáLÝ>1œnG¶æñ~ÑÞâpiê¨\·ÖñeÉú#6ÃòXþ;†>Š“´æ®/<—Q?7}¢Ÿ0¹õ`G[Úä g˜ŸÛçÅ¥ýw>Î<>F.*+Ž5zÎâÖÖ5g1|EH¾è"@s÷ ÐÅ;‡>¿ìxÿ.­8Šù-ÝkGìÖ|¡R_œ:31tÊI×Ðñ&—ž¬&O-Ûq'Ï+Ï{ãØîÏýqÿÈ·÷–ÿœÍSŸtyO.íü`n­û¾.N]ZÑÈ€Wýƒ>²â7ƒÑ&·Ž×ã¹Ên<òÿžŽçAçqhÇ…îÊøAØTA¨3Zâm˜ZÂù6N„%O¼Ï~Ï/:¡ÎßB-zì&ƾÒƨh2ŠxAiÄ0s.öÅZ*M c8GYR¡¤7z-³Ðdi)D¡c%“й¹(Ë"ŒËŠO,3–tLÁ´Â»M)óäeÙ㛩’¼B.!³dêÞÆ»Ã/’Q¯ ¼ŒøF`‰¯·V¸„¹ãb$”Š* ™Äï– AðU§í´XʾÇ0Ú¸¶Ú±œÖêð§ºåÍ(b°ièÓé]ª·G;\Sâ±À§Pkð£Wœq§‰Ñ­‘?‘Êß\1¥l‰U”²cÊLRÉÞÝ JJÉ…•‹RFwv8ç§f½^Ûä •.­óÈL§Ò–™'mò~•þÈëâ}œÉ1¨WºµÏ3îa `õ¯íú'—öy‹—æuÌüàûȱåëÁµA’[ë!On­‡=3ýÅi¡™ùmÍc¼­ß›5¿éÞ–\ZÁŸÓ&Wá•éÖ' §´.äT¨ù8÷‡ö¾ßü–³ÈµšÖÑ;î\Ú…*^4zà ¨¾£ê(¢ïôøzÂwtåàëñsÔSèu!•\'v]ÞufwT©×êþфٻ:l–FSÃå*‚Ù¿ò8m°¸¯ÀO£®f R(âÐVA­Ÿ,èÕ”JsP:ÜæÂÂ×õ*k®•Ë0¶r[Å`Z¸‰¦äñaª?\dæ %§5öÉx6.Ýx m£û:jIWYó®ÓíKëÊŤáÎâ‰mˆ[‡E›p³%|BÌ¥‡Ö³´MŽ5Ë{¥[k"mò‰Ò·Ò¥'ƒ¤Íß]˜¸Y\3C[Yó®™§ñ·š’„õ,›_ßz™w¬ø5.×Q69¯kÞŸ¼_÷×ÇT¹%õɾ崿>nséô‘MJ©7µä±}çbôùÊí:>ïvöÇú3¯úØó¼ùw:ò6ÿ3î0ó!ÚM˜Ð?m êN“:1je#Èp† ‡gµZÚÄ~(Ï×ù}—yº:C)»þ k]gÞw¾ä'ƒšÌýÖ1¢†E—d“+ÌS¦KG8žµÙ£ccK‡¾q˜e7~<ït¹°ÆI–ݸïü©™Þ6Nû¡w3³ö{Õïê÷äø»s½·s®8ž¯ãhùÐXRïæ ¨¹µÃ\zßÂë`îñÍ05çÆ­û­0K¶ä¹îpUu~C+Z ƒÝû»!s‡sî~LMD¥xf°®£ìÆÇ¼_顱 _ÜÙc.Ç–NýÐ7=íÆÑŠÝÒC7-mf»óóy§C/µŒÚÅ@H°Ïñ¶à Û+n}"xPYñ“Ç›Üú¤oHYñȉpÝ·¾tÓŠûz__×_÷)Æ|ÆÅv6Î÷f@ž—¿y’[ß öµÛSŽSk·Ö¼ŽÝbG NÏ;¹u8LÁñ+­xÜŸhÛ˜[7–eÅ»æ~˜[wýýfÁ’[GmäX/ >9ˆžÜz¶ 2—üdÏ`rëùïeÁõr½µ%sÛÃLVKÛ0gJ!^س›óÂpO=ŸJiÒpŠ®á£y5¸42‚Xíû2”Š©jl¯ÉÄU¸ ¥NN ²|p†Tˆr·l /œ˜Ó¤.\âÍÄ<€Ž‹%(æ~™Nqɧª3 ¥& ÷¼ÍGɱqëÆË\V¼s–Zrë΋]Ö\W?¹ôÐí°MÎÜSéÒ“>­ùâEOn½ô÷›®Çq%·Öì®Í‚‡sÒy·•œÝž¬q⺚[‡½¿,8ûÙÃ[öâc‘ÎU›=× Oˆ¹uØçyÛSÖØ¸5gŽí–%ÞÅ’ÍÜúÑ€LÚK%{œÌ­£¯%WZqônÝÅ­›þ~³,ñ.=çâÖQ¯@`ײ,ñTX˜[£~p¿íI×^”XÉ­Êìe]z=jØÅ² 3òŽ·µ³ú¹séuèÍ*›üÔÖéÖß iÅ£.7ïâÖ§f󥿴آ¹õåp“¶â1~¿·¾õ÷›e ‰oÈäÖÑ\@ ÉVoØc¨ü?USª Õ„6«~~<É­/Õ6{ªÆ„éZ4CwE7ã'Ãùñeu”b…`3'fŒñùHéLTEHÃìȧÇÓ7™§õ’ö»Z˜zxY,M•z*ôlðzšþ¼ž¨#ÉÙžœù)(“¦Žµ™A‡„81A©‹/ûÍœ˜;¸Â _ÿ› ¨—Ä[ÂMÎtþ6u?1?]Ô:ÞJŒç§´ «V‚@t½}ðôûË;%zEt.pUù=Å8ÜðF²->é™éÒ˜âr–5o|'—ž§%Ø&wîYò |Å÷;™ÎX2FÎK9kfÞˆ‘V<Ž9à :~q—uBf§|e¦#Ÿ¨×C¤'Ž)Þ=“†CûðÀÿö¿ý·ûßÜŸÖÝA«þZvœ¶M«_ÁÜz1ŽmÚä'{“2]: k³ÉÕþÍtkvŽ•Ýøñ¼Óµ$÷Ô4HÚ«¶„Þi¦·Sç€8~-:­~W¿'Çß뽯(ÿ:ž¯ãÐõý£ÓS!ÿèï<ÿÔ;wïä™]˜[ßåÖÛ¹õoÙ/ºuˆVjõ™Þ¼–2Œž×J[—óZG¼õÍE]ÆÓPÌ­}•Í¥ó*MÎétSŸ·^šha+žÛ¯»Ä»üÕI«,㬟cÌÚ13âŒX´§úøKÛŠ?x o?Hpÿ>‘l3Á›v‚uØð´Ý-A[ŽùdÜ2G%ý0ûe,j­Ö¿gûJIpjeØÓ†çÔí‘<5ë7‚´Æ‹&ì'|ó˜_œ’Ë]¯¼«Þx…KÙÉ@1ÑNü Æ1¾Ç÷Eþ`!æLJ_žö¶Mý> Ë唿_îù¶ ç[‡›RüfþÏ}lV Ñjü Ú–RDûñsÝ›uB»ý·JIдÝ"¡_<ÂLI_¢6µ[$`:á8*%A|yÚÛ2ááå®”/û×—ÎU>\ ~øËb¿h©ùí ’îsK2‰±íðX°­„“§V¿HÀS,ë„sñfJ‚X²ø>6ë„kñ6eJ‚ȱ׽Y'࡚½RÜÚÆn‘ð,¡SÄš8Ò´Jˆö$¯ƒRàËÓÞ– ~~2%Ÿ£÷$=º]vøžùNÉšß¾•âÖ7ïRSž8Èg·xNe˜‰õø-ea=“Œh¬íŽç‹ØK¾ß» ºfýÑu§Œö>Òˆž“‡#l–a;l‚FØRÌ ¶ Ë%Ém- ×ÐØòä¥|Ùà ®5¢3ý+“V£EiÍQ{k/>é^y½hÛÓR`;rWÔÏð>Þ‡âp#‡‹£­ùA×Òä©§<ŸÖ#ñ)j ‚)ž·¾‘óËnkmé“Ç…‡íÆ Ap°ˆH·Ùà'&“[ŸŠ„·VNÀZD>¿´æ³Ö—þÞ¯9\i·ôÔ:îÁJ%Úeñ´Æ Â’1orû±eT4gÊèò8¶Lu? ­PåLHmÊc$µô¾t@>Ü~éÖ K*ôebÿ…2Á†C:Ï[ Í'|5Æ¿¹`î—™ΰ?†Rá&{¬Íà´QÑ܇ö‰5‚`õ ÀÙæ¹YñÁð#É­ìnmÖ|Ð*¹µ²qÚ‘Ž„ÈîÚ>ŽkÖñé¼uiКžÛ³ªg×yz{ù êÙÛž]rþQ+ÚËAK'[s¸WqiÚñ²1ûÞŽxÇ$ö±mŸš+ådbO 9嘺œŠÚzsé*gÄI)SjIÓlïð5>p²A‡{u§ë,§7õÔWºšëøØ4ty^§$ùyó‚…Ñ“n¹rˆ¾ Ï‚#w®²/Ïüxu®äˆ:R|áªZ€Ð_¿ÓõÅü#O6bÄ”Pêç¿·3V¸bÈw¨$Úg Þî߈gŠêÉI÷Ÿßë+ÉäAe|íƒó}JðU$!€g¾³Èþ=ÖéÄ}Ò<[]ýt/êÖ°]QcõÇuëZÖ½ÿx¥ü±ÅuëWtü¾6žçŠ.‚ß×aŠÿ™TKFü´1Å¡Ž`I\âuÇ6×™ô×û\tù>)cK^Ȧ+ß¼—x%øž$%àgwÏGÚZrÖAJ@Í7¼®É:m­šÑ㔀úã:Þ– 7/©Sn^älW­Ð†›Ó)nÓË&=gZßxpW”¹²f•y•5cÃov'ÚûË~½]]Ô1ÚÇ}W. îòóâKÆvìþÞëYßÔ>ºN³ŽðP·ƒÎ¿&…øç~}欃¼zÿ=×!RRŠv®u%c¸cFÓ¨jpéZlONn” þCxs>… T£O”¹¹v6A 4ÌOâìðªClÛÓÖü`L°pkø/Þ“¯Z‡Ü3>Ö¶æ›¶=ëÁ²R^ºrlmÃ7êò[ÀvÒFÚÀ­kLz›lx=ˆsJ—®þΚýakŽ·Æ`é9YñMßÐEc Ö+ÃZ…G¯O懵 E§gf#X£Ü{ •o+\#Ü穃ûd}:IøZÛ1±Íëin}pr£y4C7·~Øu*Éɂ5óŒk•Ý“¯7é:›[ç¼lÍu^Þ—½õñ­…fží¦5ÒP]ç~m_Üë¯n³þȼÎdÊœu<8Öä<|^æÖ 2Qsj®÷º†[× rD}ñ’]x>š©mKÞÛ“[ŸÌœ±æ:ÎÍ€„yklsk*âÑ.æä,£]F˜[«¬Ððâ›l.ì ©¼+QKNQ;«$ îðû ”Ü7JL°(H|'6šTz¸ô~¿¹5ÂNomÃå0téú¤.“ ×Ìö¤÷L÷ÕwÙðE.ÆN§fccm®÷.éÒUÕ¯9Œ3[>t¿7½-mk±™0 vñÙÕÌᎪ°¶bëCPêF(º*ª¿9º:ÿ[H‡'“ÐébEmUoÆÂ˜Ý¶ÆU/^:Urãk¬Áç$Kãk´¶ gÛ¾Ó­ø4×è jÎM¼µâ‡g{ky6Y;C:ÆK_ ãj­ý\˜U¨{¿ßŠ(KÌjÉ @¬±‚5s1 "œV}3¹(<ØcÅ1cóhnlëφ¸²íÀÔ¢_µ¨ì ·Úï£ áÎxÏ{{¨üEù7šJ~žž°¯âªè0h|‰ª\!“@VÎIñ4”$(¥}TÿH6Ô™‘}œµ ÔÆnIQ+¶¾ª% C\V]šîÉ¡”ÛJjOzñt50è¿~q‘4¬RñûŒ¬È(UÝ£`U‚J)Åd÷e:;Ÿ¶æié`7–(®2FjhYÌc‘ÅJi†V˯½o·o—ns8ø}1ÐÞ‰ŸG‡Þ[s¬'ÛX² »g²Æõ"S²t½ 5˜e;s¿@NýÞ`ãà ¬¬rLV¼"hT§‡¹õE’Xóê½Ú¹¦Ñv郑íÂ¥«ÂðÏ´ÙN£máÒ¾õvä± 2É(…9fRïŸSyßUoù3 Üú¤þVYZñz€ÇÕÜþï¯Ñ¹6·.lj{¶â5L~ŽæÖõ•ºg+^ΟsºuõúÝ“5¯žµ9Ý1Ýf+Ž˜ÄkséŠvRçgÛ|ÇuwºtÝ¿ën^yrLéÒó‹„µ@&¿yåá²¼dÊc0Ö¼>D5WŒGëQ›Sãÿûêrµ><Ž£ò7Vü⢠áÖÞ­xŽ—óÓyø¼à‘Ìy ØÎïX¸ß9¿kûû]Ó;¶Ñ§äîBÃ…A Táë×S©ÛX{C•¯úà0€ùÁ…O£¥æÖ5ÿw¢P*Ö »”Çê¯ ^47ëŒ2†¬‘9êu†ûi\ÞÂÄIt–õÁ}ƒ·‡ Nf}´½p¾‚R;+„6‚ V'H¥Õ[d wF®R•øe åÀ 4)yqøÆ/<7Œ.// ‰¡úÌŠµŠÙÈx^t<ùE¨$wÿ`JG­tžåרõtK+¸¥NMU×ðQžJêßh¨ê; ¼ïÆÂåò.廦ïUÊt–Õ届º”¾ü’ó‹‘J™êh+^š©¢ý¤f~nô ?Ýz+LgõÅš¯ì]:Ñ«y·.{|ðƒ^«W Ñ´Ç@Héj´˜:y¶5¯XëËÄ­½[q¯v޵œ±/Lr®þ”íV´îgæ:ñhÓ"wMjG°,NÅ –“»¹µŽîãêxç`´þsðx'¬,mÍ«!\+•ílGW˜½gâÖÕ=QKÜÛšW@¡sâÒVù¸¦çíçïó·ÎùMùà8úù# ïÓõèüÂ¥NL ·>˜ÏŽúÌ­}=>Oóh=ïpk=w?h=,·Œ7A¥¢ÿ©Fä#¢¿«ÐÒ¿$³…Õ@ý7yÈo ¦ü¾Ñ:ÀÈǪ©…uŽ×Þ6œ½0X@ª*úÖÓïÀ­5¿­øÂOg¸t¹ÆT¯G!ëDÙU„üp<ö6'm¾°»8éÒ'§ldž/xÀ.}èå²5ß9g9ÜzØHÖñLöæÖÇÊÚŠWáP™Âܺl½Ô³= Û¬pÓ­yaÖNöyqHKמô»EüFñÖGõaK–·ê†ïɆŒxÜÌd‡ Ù‚[ˆ‚Þsw¬éÁOdR¥uz±æ‡ü"Í¥}ÚCOãmáIòßË“¥~ÿ íˆ@Ä¿kðYÿ0R@\;Â…pb+‚£"¸«yk¬ÙN"8­¾¶wÐXíãg24œ`+ ¬¹õÐr¨¶áZ+(éÒøZœmÃ=¡ÚéÒ9_Ùðõ#Ýš×±cñÇ c€Uªì§Ö}±5ZÂÕÜÆ—¶á'G&]Zîmù¿ÆËÁës?âXédáP¾žùRêK­XâÑ'' †[Ÿ»\æÌ¥á&¶ã>®˜Þ%ã÷#¸¯¿¶ RÁe$FpçàÐÎ`®‘':µC)s"²Æ<¯ê”.¯¾çf5FÜc¸b VJ…áAÛWc¦!ÕF_ŠXR]‘¡/Ð'/kÌžõóàHŠ3[2™¸u•vû’‡Þ™€5Òdëú*`F»3‰ôµòe5·>yâ‹–Ñÿ÷vp½€pë©PàKj®ý$]:ÇŸtÙZ³Õ~¦:~¸ÏGçn]_ÈrJÆ,µ»¹u XUÖSùïÏÁ'¶ÖÏ:ëéAø˜éݰŒyn½É{ÖÜÚ—§7¥&p5µ ÆÐŒ©Ó©àmŠá»›aAjLüà žŒàŽUŸ ¥p—c¹·¡Ã‰à|ŠIèäR«ÚòŒv¥ÍÖü¹µ¾û±á®7ðÃY+¢«þFüÆ”|Þ˜ÐÇ ÜoÎeÐz¢ûˆÁ‹@©£Ç6‚ܵ¡”NƒµUÖS«%y›ðïjSŠðo‘O“çPÑÚÇÎÌÊXK [sÄ}zš[£¥;[ñšg»ŽæÖõ"Ü{[ó•ñ‹Ã­«Æ8´l8{ò:Q¾Ÿµm’gçk¬¹WÌ´ÆÜ¼1qYsE”·Nõ_6œ_§N·V3!çËóòõT±²¹&É ˆ?hù£é¯%ßl×Ü4p õ4ÕÙªLü³•ªÖßÃ(Ó•O`kämÍ#gJ·^·ûü}?æªÓ‡[c"ÁH_ø¨ðæ7— '¡X0Plf¹À»)åÊZm°5‚?oÍ­7…P«¼¢tŠš»¾¡ ˆüiýúÝ3]ª.Qºº:6~®Â'”¿'Jù|Ü\Ÿ)ìòÁ}랇ö•¿øÝwà¢Ï†³ª·²>åbkŽao:?b:ŒµÓÃ¥7:c´õ×v¶æz2X\Å×Âíqgcͱ]’·}oÆð˜¸4&°?±¹î›¾‰áÑt{îßI{¿;}æF^Á3ÎÆ’õ¯M-ÙóÍDT¿^Á*¥Ÿ†TÚŒ ¢¤5¤:éX,ã{÷þ}è ç ¤ZÒ/ü…Þ땃4À«êY…9Y8®ù¤ËW3ÜšcÍ­/äï·B"¬â¢ M9Þ¤ðËÜÚÇçvÞϦ)âáÒ¾á¾;µÚât³¦{¾)¯£b“Í”Ëp›R–yÞôÉÑü2àXz«¼â˜V5Þ‘ô óÒèâý²T#hàóUó ãßFᔥÞYUÐߟ l‚*7ÆúgÐЪz6©t.‚>3v§#m^¿GÂΚ̒š²pp+GÇ1cë´Ã(ÖZ7¯ ÙÅqx1*¿ñ¶Æ;Þø¤Rªð¹èÌà.é×ßï6n_Ê%—¿*à—Zíz„S_ZòÊlcoÍ%"úwk÷5ÌýæU§@=BÜzQ€A[qôæ-Ü ÜÔ[s¬½|5·®¦` ÌÇŠ£ïaÇà%Ö’¶VïséUKi< ÚWUËò¤JËým‹#ÛÚÜzõR¶â:ÞkÿÇ“P–ÙVÇl 6_ttˆ DJºt¹nÞ£m¸šÛI·._»é¾ú>è>U°­ªª/u=ÕOhn]ïD¹ªšKïÕ€ '´Íw>÷¤KßlßÅ^ÉØ@ò™¬ù¢ü:h­n­|mn­÷áêknÿÀ¸ÂɨkýÔ•€bmvýK²cxnw/>D ›Ueã+ø·^õ+¬¦,ŸFµ¶à:bÈPù7‚¸9=NFì¨A§P`ž£þ%y´°ÃséïáË΀ôEðôÅ vtQ 8GIàŠîéÂuÃæ[•{18èÁ»K±i¨L¢"¢adôÆ-f4áßÞ´ª——ê’ÿ-pe "Ÿ6†èFOšT×OŒ ÆŸQ;à’"<Ð §ÙPÊQñz[I ðxykDí{P‰Ü‡"¼otIn~áå·®dõ`؆Ÿøàvºô­‰¶æUP[sk¿Ü7û›ØGc½&nÍIDÍ­¯(¿¯sªYüù¬9&LÜq¹fk>>Ò¥Ñ?ÊhŠÕXJú'ÞyÞæÖU€«¹µ Ïwáv羃)XZë`g¼bÅE45—F̳õŠmþ ÛéÒζæÊG}>:ÎÁˆûáÖ;'Ć[c2å6qéŸZS}#mD‡–϶l'KÂÏñn,©WÅØ’/V ¯²°³½ÖOߊ‹6üf@¨¤[Ã5êjÎVC§KW? zOdÃ5Dšti¿à~~Áý@ÃSÖ—=Å+[Í¥ýÌó€øÀÐñvÙõ‹ã·}8µ÷gžýëøý;ïǵsiÕNЦoëîGþ­b“Èe( OþŸ\n›;å;¤;™zˆë)zõ\êªügi›Ê€ßGU>R¹Òé»r†‰WõNo§¢Üm)‡«ÂŽÖÐÖÜúäXIløÎûN—®¿×§íÄ]™r:Ê]¸{œ±ÍT>;]º²ê:ÙóQù¹¡³§­øÍHæUÔ3R<ÂÆ_‹ÿ¹6®ä\„c©lýKrcŠ2IþοU[AøÔ ¡id 6P ë:Ç"¨\ è¬dx6V½ä'á1ПقózItí¸:õÅ®µhXuÙêhþ“à¹[L€lí£1Ç¿7¶á°À"‚³pZõ’‰02a&±?H ¬1ÿ#Pªf…ì1†Þ:§QqpRææ†å™CV¾gCÿŠ Ò—8þæ½"Ñ}«›µâÕ»à•ÎIÚ ã¬Úš£^~6·>¨7vp˜`Å"´wž>{µŠ+F°nw Ô ÝêùÕ ¢šûXÚ ¦™: ”„ ¨+‚ 1‹&ó›÷ªCè17~¤¾ï¼Õ|&°O§þÃoÂ÷x«®K(…Á…u²À5VƒÏ:©äXµ J,16o´·ƒ±·+&±m³÷ö¶3ßîwúÆÅÞ mÃw}ßœ.½if´møù‘n­ݱâõ]­Ê¹µßik¾}¤K/ d+¾iÑ@sk|;×ÙŠ#"éÞÜzaP¬8zwÎ#Ü:¹ßÖüà·>ÜZo WIÇá“Zœ­Þ3ÓùÚT q8c74ì ©jVÿ¥jýpŠÄqpÂ%!Ê¥¤QÕ¬¶'ÆðÀ«¨—FoK5˜¯AŽJ1¾¾ ¡Ž èã-è~³ñ¹èè<‚ÞΟL½ä_"–bÕö¿B,W°¬Nu‘U-°hß6Yq|£ÖæÖw¿&+^ƒÜÛÞÜÚgmÍQíÍ¥kÄkw ÷x£²Wý^±æõ\÷æÖƒÏ(Ö¼r~¤æÒUmÛÊsعýêêY¬¸¦3…[ RŒxSº«uæÖ®Þ™G×½Ÿ¸5fÅ^Í¥±ðÃÓܺ‚¯ç=Yñ‹Ù5ÜÚ¥³yJk–ΩÆU¬ <UçlÃéìÐéҫ˱َ+J4—¾é:ÔV^Ë óžmò‹òÁY}ƒ?o­÷×Û“G¯\¸!Üz•w¹Ž›ãhOø|“Ÿ\Ýu5YÕâ¼G+[nycÕ¢{£¡~'¯0.·lÏrséÁ ùêc«Ç…üð¸ÐÏ´y¸´«Hæ©2¹jå*QªJª:…[kμ¹õ&7É\æx_® 1i¬|¤©äwHï–«^¯:j‚¬0£ªŒè®XÀ7©Â+aö[¬8š•[ÛðzCÿÖ2é îãæÑúãV­k]m…ƒƒ‡•±bÅqå{§[oZj²­ø­†Õñ_ǵvº¹õᬌ›ŸóWÔhk>Tml¿F;=\Ú×y°Í:шñ k€'Öü ;BBœ>늆p—F êÉšƒ=Í¥}ÿó̵RbÒ­õür|?´ÖIx´¯Ó\Ú×Y~‚û|ýºžpk…¶4¦#nòáÃYƒèÕº¶Øæ®±Ó¥¯³Ðë=‚ï¬b‡[;ß(;Ÿû=¨‰ö»œz0I|µÃÜa§@ô‘û¹óI¨¿O6d€ª|7¡¸pPþ‹@!>PZ á‚`óXZ†awC©‡îg6„«–µ\U½Ž ¯†ßÄ­7:_Æš»,2OÙ¤6Ô@¢ê™×èc lµŸ†¾x^YãÓ+ƒ±Lœº®®æ-KVWÙºÇd,Cª›®(‚Rz*†T?y¸&±âV±ƒK_0_ÆF´¦@ßI”Z5-cÈX¼NSdÞºÐAæMC©šÓ»Åtr8 êÁ4þ[ó$w¬O~ú_Fç#áßx(Ê·âÑß5jk¿‘·u,üJ碯Lq0§ñ¤õNb:…ï8_Üw!)2”Íþ(‚UT)Êe]üIµ]m«*´JÕ “ü Çh!þâÖÿ¢Ð¨y…»ÿ¹0H¿/tðœè$£Ük¸‰ÿþýˆðoîD{ %¢çÀgzñ_ê§ZEø÷†áEý 2иÀŸUÿà)ðožöŠâÑD²ŒÍhk¾Ög{9š[W½ó™ìú¤Øž÷¾-ïti,Öðd7õâÁ¡‘šBbÚñÒTRGHnaVÐO¥¸w=t<å’ƒQ»ªIëž9Û‰ÏËŸwOÜwïõ!¯ ƒÎyµ4cÅ+÷céÊ¥;Ë1éôå½=æ"Nvç2 ¨ÀU?\z§_lsëQ½?io×ìŸìÇÇ1—®ŠŠ¼)Á­á½~5—†û.¢£‘[××ïGS ×ÜVecË÷Æ‘žë®G¸?ztËÇ#¶fÀôÚZÙ }Û5m“ÁèÚŠWyWþæÖ˜{LÖœÛæÒ5D†Ùð ÝN·ö¸ô½ßºµÎb¶á'c%º¦÷–C“m¸¯ßé¹›œ¤¸:φoB5GŸ†R˜É[Õ-EX±XØÐ“f¬¥PÉ¡‘[a„Ú±àNyQD+yÂ%oÌ 8³©Ÿ2yã `¬ùÊx\‡âcXŸ«»vÌ¥OÎ5=V~íq½Ÿxµ1cg^g7§—ö~lÍñmÒ­uˆPW/<Àw,|¹M–ü@Àû'ܺÏ[VçåíN„0¸0á¹ÞŽsp€4Ö|§ è¹Óí1­É»¹õ`|‘Øp=‡¤[²Æ¾‹N¶ÞÓ­­¸în?5?E¾.yx’|Ç08h†Š\Õ­}Ÿ¸´óŒyòóŒ?Tþ0±”y}§YuÖc†ªzã>ªItêèc—üŽëúWõ' ‚ž׌ jPT®èpU¾eRÝìvv nI¹“)âæ|1ø¬9…‚ËbØ€!'QTûâò¿&×Õ¼þFò\íH†ÃÓ'£8ªP ‚ KšŇ]! ]žîäëîQ`"õ"&QÍŒ%ŒÓpKÓ» >ÁßÞ·lEf÷!ð‰ ½©V¬%fcx¡Þë4)D͉„¿" À?ÎÏlæaáQÛpú›tº4:GζæÃX­ôÜZ+½ÆÓÖ»/¿Šf8½[¢6Ò[G£oôVí쀿쮠®ìc·®ò˜¬8æ75Üs¡ñfÉš×'5ֶܽæ'cU‡[ßœ¼þ`Ö|_×sÒ§ÔÅa®¦ï£8Ðc4·®‡[møŽðö.Ná£møñ‘n½*þ¯­¹o —ÆÂØO[qLÉ\Hád…@_mw¾8‚RUK=ÚÂë½Ô:žÈþ¡’èq˜ì‰Æ7FŒ¶û¥€  Oºõ†ñ”æÖÚ­õK?¿‰[£Ç;\ÚÇA õfµôìüÒ–<ùå`Až¦plÍ£éÆníã™çø:^ž·ž¿ö—çêç|³‹Ö<Úï±¹µÞóã +Æ¥FOñÃÚÜz£;¨y4›%f ßrkR³b¸uÅF´"Ùðïc§Kç8²á:.fPÒ­ŠÕ?\ÚçÞz‡‘¸µÊ‡pk=÷AŒ—iÿ:~¸ôðBÛâÖXLôš¸4çí¥Ôson]5–꥙,xõŽÍ6œN)nMÏŽ¶â.ï1ÆÔö‰KW¹vÒ®º™á°€qavß¶¯PÔZ&ÜšnmB5Ó©’*SdBWLÓIªägÉ“Í4KçÅ/|A°–­8–Ó]÷pëßók²â¾SæÖ¾cùb½¿PŠêýÙ[y\Ûb¹¿@)®ñCXmÉ0 xõßmIUàvùÏßVX~9jî;ï÷:b oÆwG•<Ši‚TåL¯óó†sxùPâ¥ܱ,¤¡ÂíÇÖ»|Jñ8ü—Œ!&¡“K%«FþV93¿i#\a[»ÝšæõýÅÌy¥[_ôr5¿åéj~{4ÍÕ5‡«ú¶+dOux,÷‡Ø‘>˜&en Ÿ{²äâP5·fl̳­ù噌âÖ;—͈5×ò"áÒ˜‘«¥/`/NÁ |÷ÕÖüähHt¹,ÃÁSÜÖ|çˆu¸µ+ݶáã—tº´óMΗçåë©YÞ»Ú¤C(¿ծ r#ƒ­ 5c«©ÊmSÑ㻨·oª„]Kí2™.¬]Æ«„Ò·#uÜÔ¥X×J‹­'µ,6Lz©:˜Ëô÷,WǶÆú>3—Fà™[+îATº hDº·Þ8ù?Üzc0ÁæÒõî\Óö“FŒä©Ÿ4™óRYóúûÍ­áh¸·5ÇXË3ñÖóý ¯ÑšgâÖÈÏ»F=%ÞâE,òL Ô *ÈãÉÛC(uè^JlãJéi•ž2ѲOÎ¥AÔZYó…“fÃ¥1% }Îô>°Æ3CkÖv¶æX³ã^šK³§³>+‡®g«ë‰%<ÎÑOsëZ±¬>íáÒ˜,;^“jωSŸˆñÔÜNUë˜85BYÖÃÁ8¸Bka Ã!±æ»žMœИ›cÅ«!½ž#ÜÚ÷)Ön®Sº´ïžcU,Ïõý\mͱ>æ”/¬7]§­9qÍ£Gî¯_Ü÷+¼õë¾ù~`þÖÕּƖޮ¦ÖpÎ û­1ùzL¿—Ö~ê}ªï‹OÏ?ù/ù“¾ð±æhØï/މðX§cĆû=rºõª÷h}¿O°ßœÞ˼oâ³æW[¥ßTê¡”š8ôÂó·Öù5§~Þ…¯$Šå;Tòº_YÐE ,Š"UΊÊb¹!ë•ß£âæ¬p]¯ÙüaÃGèb"—ªWδ8Ö%›Ò£1{®mñn1{¸õ¡84±æ Ã(5—–sb[Îý­¨¯3£­šÃ}šJíëó6„ÕÉÜPê§ù_#ø8…¢µÿ:xD™ê~зò{Ä*”´\Ð!mHUÏŸ3Ã~³jñ›Qϰö ªþ•Ò ïù°õíÖ :ۭꚊGX ­45¶hg¥™#k9Ë $¿Ùµ¹KïüúH—F$’­møøH·~Ø+îë4Ïuë:Ç©®VÖ¥ ]®æÒ>_óh]'"œml¡«Y™Â¥½?óOÇßèü_Ç[?êOf)íãîç¡Iƒnê‚‚1°v˜‡†îDu¼x‡KïŒ2~¡ý×éÒõUxî¶á\«Ó¥O×bd³Ý /ÖæÒ'÷´=QOÆ8pƒ»::N@«~šr£Š5¿5­Â\:÷G6|aû6éÖºy~~>skK6žý|óüÅ­—Už¸ôÀ,½ë ‰µì·dcßA[b PÉ14Jc+¬=[ëȘ˿±[wá€wú5qkUåÍ­/@`.~ù\°ð¨úL5­9¿=Üús?Ö>Ž÷뜛éãYë8˜ò¼âº&G˜nÝ\ºžÊ1që‹O+ÜZ9¶­¸s¼yހϜ¿Ãc#o@¬¸‚£…[WITž(¶álÙvº´Jü” )ATrä` ³W…n´áóI·Fgÿhk^¹±lÅ­F4Ö|ÑàŸ¹õˆŸm5xˆ¸l÷!Žõ54'ÀÜzûÅ Hþ½¸~wt•=°^—$¨‘á¶â ˆn½c~mŒh9ÑÞK°%HQׯ„S{U§R c¥+_ø©P_ö¯ïÂÿU¾ ë¿ö]øKÿßßz±L[{Ø a}j…%N<ªv̪¥â¿K¡ÙŠ£ô4·Þ€Í6üiŸé-ÇæA ¥ôá#´âGΕ—z"`q®­8"¸®Í­+P"äÈš;ò¢¹4‚d`–f‚˜WoÓ¶wºõÁ9]±æ˜ ¼4·F`Ò-¶šhèû­§xmmÍÏ}Óý˜tû?¹µ—ÇòhJ‡…cÍË+s[›[W÷>Ûš£6ñ4—ÆJµÛŽ•ôŽN—v mÛœ%yÎgáôÐzÿ±Î|¸´®Ë’ßê¬q«ÌF3'RUO¤ÿBŽI‹÷dIßôPÊó6°ˆxµ¬ƒÃaÛÄ¥WzЇ[W?ÆÒ:GÑî%µuÍxªhzU¬1þúzZñòÈt•¼±‹Õ¾0éÝS˜©%HÅ='+Ã:£ÿ1þð熟•šÎj,³ïæ;åiÀªáêêfÍcÙYÆTd¹µ·Ç:Œûn½jyÖói–Ö¨¯Í£+Â&T=KN•üiÍ]WLèÆå­~¾7 1Å‘Q´%7á¿aVCvÕÃÐ 2¦7×Ñ•ª’a¬6† Ü"FU³µÆmcxr"Ò¨ê†Ö+€’äÄüÆM}¦â£É†sf§K£“l²á Gûn­l#͹‡·Æª]ûô0<+Vü¡CV¸ô¦@½¶áƒÛ&ÝZÇ gØÝN—Öyç<æóÝŸ<Õrü;8S, ‚™àf>¨Õ…ÌíÝ‚ ¸­öÂ]Þl»±Jž~H¿±Ã~¨š ë‡k¾s6ûî˜ ÒêÒ·^Í:Ö¼|"—‰KW¯ézÞ±á.œn­7=™H™#™ ¨§¯Ãçgnw6·>ÔÕѾøu¼k1ý9êý„R!tÙbcxru¥I ®U"#X#ªz©à˜ ¸am§Qa‘¡¬k€YB¿ÏAÌ ”ªêR`J{C« 3× ¥XÔù$øsõ‚ÉèNGÃeåg›ã€Uâ`4èQ©šÌžâëÏìÉÇÞ¥²J`Îè~~qµ—ßQ¢Øš/,ÕÂ¥«saÙmB[VÃR«*†TXr\±ÁC$Yz°Už|@w í>ÙÄ[šr´&©”5ƒ`Ó¿al(‰.Ì,wÑcz©G-«‰gÕ±“=©¶Ÿ«‘%]Z=¼±¯ÕÈFsk-¾Ðó%éÒZ˜)·Õ·sç€A¬ùÉžàpëGδ¶âÙ¿¸µ_EÓÐ4z/r„œÝ°>“ëHUÞ2¿·AL ”Bæ°Á8ÙŽ :5o‘FpåZ«úº2‚˜Õ(ŬÇVxc 3%Vé®úMª¬Æäxsid¦}âÒÛ©ÀæÒhÊÝ—®×ô˜÷oÍæY¸õ¡ßš[_ .ÀíVFõŒVåQsézëý‹¿ô†Ê*° þmc3¨Ü·rçÐ=‘5×þr~~ÝÑ\—ÆÊ5góh^ÇŽe鸇ÎÁвƒèå²á|!;]zÐ1Ö|£×zE GG4VD«{.}²CAO7ÆïÂ²Š žk¾³Õn­ýÄšëx}u¿u¼p_ûÍý9èûak~0ò ó­±*Ýhn½+xH¬ø¦ #æÒ+¾_±áX}ëtkE؉5Çz{siß~~|.yn>ÿûÔÏ&}óÖ5àníûežûÇûÔKò¿¹5ß—*ˆOú™Tç]­AU%±Ä?¥3ºaD)·…f¶ÆUŒÂ—IÉÖ›Û¡²æõ†)Ýçsµ5¯j˱6·¾ÑëÓt²Dç’¬9âî^ õ{3\œÙ³/1‚µ´Ð©àïÕ¿Bú¨è3ÂN½§ùVÇL `McKÖùŒ-ñѼƒ-uJ¾&|š¯¾6Ûpövºtv'kŽujFsëK±¾kÞl8<ò=’(h¥_êöéËÎÄ<2?b?Úš»YÕûS-Jú3‡>Ùbn}³³?ÞÏšVskfÃ7_ûãSX½K ´BG[sÆ7i.ùuOÛðÊBÇ”nÍIomÍùÁmn]‰«¯;÷aà¼Ã­u=á¹>ž7'Æ=Ý@'üÚ\Ú•󮬰2£=ºÙê©ûK©}຿ lhýaEö>'·7|.ǬS“N Ü$ F䩸qÀï?Ö4û…‘Klè_ĘáßX9Øÿ’ ùToHÑRŒQœ¿Ø‘x ëô`È—º/·‡‘¼9N#Š›QSlÀ°·EõÓÔ(Ñ‘Á¢õfYŒ¼‚¨*2Í®kN‚Bÿ‰"¸øRxb F‰ˆ$°J…®Ûè™.Ÿ+‚2ÖËÆ;-D±ïêVfè> Üw£ù‰¬( X±CŸ?*ÉÇdÅ1•ìlnVÙ5Yqt²LÜzU`SÛð›K¤®ìÙŽF˜Ë«¹5F€ï¶æ»¿)âÖ2Ys,;2q뛑!bÅ1Égmnyçûhk޹åKsëjÑîw[óòA9Ø@ˆ© A¸°€SÂê¶¡\1ý¯Ðq3˜ÄÏ{¾ø_£ ¡®Wvž£[låb7ÕŽ5GˆÜ§¹5S;b}õ|þØy]ñ¹Å˜úú…-u¼Oãâ$ƒüÚ}©k[óÕ ô«nl²"Õ½iMÖ£fwsiÌÎ8—ØpÌY;Ýzhv‰­¹Î'ÜZç[ͬ׉xtGÃö'6|eó#éÖð‡8Ûšc‰‰[ïôªjרXïBµ¾×˜níó6—ÎyW¢W3¬³òˆ¹µcníóRå3y7yUdÃëýº§tk•à¶7{ÅþØùÍÚTî»ï3¾ Óó±®êÕ5séÁÑõæÒcÑý6—K?gsÛÁÚJjq?yt˜ðo–þ$þ ð°Ñq8€ÝÊÈòmÉÑe°uº5jЈj+~)ž¦¹uuÝU£ÕÖ¼òÕµ6·ÞT÷ ?ÔÅåtêê¼D÷›­k=W±î±mjC¬åô×X_çz¦U†˜Kh^þoË”nÚùÕÖüf-'\zךQ¶áö=¥[_ô‰Œ5¿$Ü\ÙL”¶ùBŸÅ¤KN,ïÚÜgíÍ\za>\º²áÙ»‘|Øó­¦t¿5@ù†Rü]Rµü‚ÓậøÉ©pk|’Ö¶áë/.·âtéáùö²‡‹ê”Ûg×LVðŽ•Ž6áÑFX›[k¨/ÜšU‡C.–vÄŠ×de ˆ[U]'+®ý‡[cät™¬9Ï«_;¾^~-ûyñ9` ÛOË)¶'QB©áƒFP¥T®rCU +hŸþQ­Eø÷O%ê&ø{¿Ar±Fx'Rü‰qý+‚°œâøÃúWí?ñË«Å(ø*C:–7Å=ü/b‹ðïûÐx;GÖŠ`ç"øû^§d1©×œcmqýKrÿbœÞsñßh°£óñOêßr®ô¿ôÖiŽ¿ç«PêÝÛð¦êAø¡„èowÅ"'V¶85“ðŒˆÞj(UŸ*ÿ+„ùHfè¼õ¿ÿÞÕ;©AY€„3›±oöÌ9VS£¾\–ˆ’~5–F÷ÑcßtÁ¬S› \Ùc§£Ûe3ÓA·†õJÜ#±àÅcúSUâëƒKT·Ž+¼"ìq¨dùäÞ1U«ÁþØ…ùÎZ—/<7¢¦5£íÎîèšüÒÖÜ˽šK#çºÆ†××än]á_4¸ƒÆ ÝÙŽk4‚çÅN·=h’J Õ¶ÏÅ ¤Up¡®|±§$Ö\žáÒæÐÞ±ÍW-ªátiÌ89êc§ß7ìÆ1êXóåx§KÃ/¿ê º;Ñç*|qkßm? =]?Íã§þø›‡ÿ­I~mkÌ£¢ŠVk¸Ó¥jñ1E¬™¡Ѝ“ck¶Æ™4)LµhcXcêF…ãè_!†«“ÐÉéyQˆ|pJíjÈPðÞ ¤ªà ‹F`>ÛŠuíªÎKª- %o|ŠòXë;¿3`çëq[¯Ë—V6Ú/®3ãôdñÎ.œ3í1à°OZ˘ǒx\=áÖ Œp·5G‡õÚÜZ…M²µ³«Î÷¼yýçŘcçÃñXóë|§[&ؙcíW‰vº¹5¦oïÓñy¯Îû㼬ïãƒKûzª»¡ŽçtŸŸ¹ôq±¬7·®Üεr*çňV۱ƛ&ô:Ù:;“ çγ›dÝÛAßHyg`¸ín(Å×BPJ»ñ½LѨ"1ÜZÏÀ¿ŠúŠø³JaöS šzRÕïäŸCßÃ÷vBå9p‡A¼¿ØÞ¢¾êkC(ê«^¼qdO«–Ve¢%k¢}C©ª„Q¹†àaÀ&wèõè»?özS*©pãƒöSŸJ} »Î¡ú*&©²z§Z•*ú«Bþ#$öÃ)“ð9ØÐ¨†¿¥­x%ïÅH6]“¬y5ä«óÀÜzØGǾ9â+‡4Â¥W ×Ú†££wJ·®¡ª'Æ´‚ü ~±%f¢Å ºš—=¦Áàɹ›Z1ÌÊdH/<ÌÅûàaûŽàψáöAÿ_R*Lj6†ÕHÜ“&UC©GŒ`ÍC^¥~þÄL Á͹©ÁaÄx‰ï‹Ë_óJßÕ"[¥ÊËt´!ÄÐs Ôè˜<†#Œ‚¿º9ºVu¬‡»qŽlð…q«N–žžl8ŸÖIÜzËe›> 2†<¾Ó4֧㌓݈%vÓùcÓ|*Xs¿pæÖ;ÐÚŠûE„×üñ«<0§¨­xMtÓªÔàÖÎo¶áZv+éÖ«Üëmº/Öº?~kùJêÅÆèåñµpR¥Ű5/o<èÚø¤×»¹õ¦ b~X~H‡àÚŠßÞ^ÜúæÜ ¶â:ïpkŸ7Ü…¹*]Ó7Ìj+>Xʇ[zÊ·¯Ì¨8¨àÖºÞ¶æ+üÉšKÞGßgÝ?Œ¹^¦¹Šëõ0”ÂTÂ@)VÚÄ«<œ+#¸ñDO–…—¾\.=DÂï¿Ò¨ªŽ¥Ýøøù-sšÔ‚;›ßÊ)ŸŸHQ8Ã_Á– ÏÆÆ”“«L¥8¯fŸï‡îN¶Ä&e®©ÜÓ‡Ö¯SŠ,¶ƒª5Û®jaèL µäüäPÉõáJí¦”f_‡Jn˜ýÓ”rC5¥)%<Ð&, GwŸ†uU}5Ž@$ô=ó¿Bº_!/¦&»ßœ“…Å.‡e¿‡•~'…û–èçh3J ú… J Vd0k»8«µŸá$Іðç¡ÿ¾¥ÐIcXõ1NÖüâµù늼9À CnmVNúüyÁ›nC†ñJĨ½¬7ºÑ‹Û”º?å]õ‚­×ë‰b5ÀÚ‡l¸÷ítïíYØýÏ…«r ì¼*KK2 úZgû¼3—y4‚{bͽþœ°¤† ð¯FFI4HZ§ƒáA QL¿”ÊEW<Ù£|ƒÕ§/µ!äÎ ¥Ê5ÿUž}Ì(j½Zµ˜ÆwßÜíQ”ĭ?Ÿ@) ÏupÒó£ŽÀ}Jݯì,¥œk(¥Hh…ùTõ F¿ T£*R˜6½7cÉë³aÝ6**MÈ(ô^ŠIñEÆärge@"‰\æ"ÎY·²ÛŽ»ÖYñcU8qëª^Â}M6||¤K›»¶= §IÄ3ÆÕ7¦7‘ÎXg‚JdùÐm50v³—=Ô'e]=?ËŽ†Í­«Þ¾í6¦åÕºRð°Ù‚§™û¨ûêTÁ­G¶qÓ±©J&g`ÎOdœÙ_ÊÁø{üýà6ò_ŠÇÒI<—NM–˜Ae^,ØvæŸé —tåÒ©Z÷Ú|åÌ›¤[Æ ÇðüÂÆ<íQ/C ˪’à¬N8 dÖP›´ÓÍ­}4skuÕðM®ÚK!‹GûQx{i=„Rº1óá|û.šK£'᜸ôÎïX¸õNç÷÷:õ5·>9>Žu5†Ekÿç–ÄšûwæÖp]mÍ}|]§ïrúÜ}ýÖÕ¥¸/Í£ÆÔO—ϼ»è‰g½£'NÈ~Iªsçh¨l#èLTNÇWŒ ò™ ”OÈ™‘Ûú~çþé>W ÝF·k?ˆâL(Ås/gÌߌ¾|2ŠìCV͵+Œª×U`Ò‡2iR¿xoC8ÅÂPŠY6‚;ýß°4÷În±Mõ“MZóª sóî©‹Õ•Œ9§÷‹#:¢+2Ò|°ÍöÀ|on½š†)k®¹ÓáÖ˜ið´ ×õ$Ýק멊ÀŽj1‘SeI1£ìØB£u‰¶á˜â;¥K£½¼·îƒ·~ÔÉå[©[¨˜&ÍìGsÕéýhÃý¨õäq‘¾/æÜüDæ¼wȉ{ePôc•Á*`ΆTÛ>L@3÷÷d®Û+H…8ºXqtuBmè_£á%ð¯wÀ_VK¸ÖŽ]€ñíŸBÌ!«©%&ÜKÛpMØIºô¡ùtæÖ7ݦcÍQ!Ý›[×ë‹u[pvƒÝZ\&RLW,Qs̨t }Cx±ü™ö·q9IÅÕª”Cw,3L踆þ%99agI·¡™/BÜŸ³†ÊG÷„JU/Jg0©í~A*çÈ}ÎRÚD÷9ªkþó˜?ë;]º‹.Úæ,ÊüÌá¯áÜ)F¥ì)&u¤í±ßºqº‰$ø›¿'áß<Šon¿b«Þ”‡äzñ×Xs\Dµ¸Â©3ãÌvgõçýˆ#°Ñ”n">©<Ÿ>¿€¶/^MêGqj¤;ýQ;Kç±ÊÞ6|EOW§·Æ¬"ïÿâŒ!ôVŒ»¹5ß]·ÞàÌØçi}àmjn­ëB|‰ú&q2í†Ñ«{²æš%éó‹^9ügníó]˜a1/ßVͺ3·þ<®ùÆÚJ¸µÎ{¬ Fîˆkû§š[û¾‹OÏi=Òê«»ÃùÍX§}ÃX° :J×Ðh娶ËGŽÔRL5·ÖË~uèøx¶g×Í6|e 'éÔèâÛmL«ì¹¸Ô{M½åOeÙ ¥0ÂwJ½~.å}Wšá ‘èG$áßåÓ°˜àoHˆBgDfWH”CÎA¹nݯæîSÐ si 1£–'.€ðgtL]³™æœÛš9»Z WÝ‚L%áßÊRDÌWDÊczÆUÊiê*f§"„ ËaC)ôì´!D=0PªÂû_¡…»dõýù=ltþ;jW…‹fDý>c1=/P Ø1êƒÑ{Øð÷æß‹æm^§gá‚dFîþÌçôûÌùæ=šÃlÊUÊbÛ¥sp©ô.ýžÁŽô|d?²ê¹Ù%hj½ªûÕVü9^É’uØ]ÿz‹û×"‚?u8w¡îœŠ‚$ôÉšž(*.éYèOy^>-Sz4¦¬X󺜡—\:Ç·Õùz;]®E7·j5¢Q~ä¿Ñ¸•ÆFO¨äïóî'7ÿQÕŸ¼>ýá¤íøÜ&d;MÎϤŸRéw ÐuRH­±Òé'áÀµ’z’Bö:ƒñÌ8é'£þ®[ÔI!È9ÿá¤õßß+éã=ëd6v&!¯‰ã[t<áÖŒ 0b³ÝýN·®ÚÍoyÂÁšãÁ­j#¿÷«¹­x­\Ų°dEÄ|®ŸºÐï{1”ú©aÿ~ß_½±¤~êüdì{cž{¥{d½ò‘%×J3³½½´3{gXåÁl¸ÓQ¼Ú xN.‡k®Îçpi/æE½ÍR|J·rh‰¯å¯ÐN—Îñmu¾ÞçS™íÒX»íÍhHÖ›V_4·ætÍɆߌ֓téš6©*$¬9â¹.Í£å>ZükW#k¶Ù†ëz’îëÛé«`ûÇu;ýãú7óÅ4Y6‡áÃ`Î1–N—.Ò1Ùp]OÒ¥uÞµ®íÅ00»'lÇri:C)Œ¬ÄT…òú¥lCˆ¹fõ^õ¯HÝsþgþ½Þ¿"Aeï²!ÃàÂc£_ž ÄÀ^ÔÑB:-É€ÕØãmDñ>„XÝÆ¤@ð¬àþXí±j_¥­s6·ÆØÊÞvæçúN/]í(„S“ ßÑ¡ÖéÒ;ÓØ³´³q¿1úCmk.××pëzaî»­¸¯Ï¼¯—×é›ÏÛî³ÍIé`u²Œ W=(=‡çcªÞê`É¡ïíJÏ“˜2³›*ë3_£…€Ž­Eíêº?K[ó÷žCå\ëTI”`kÛp?m¶>ÏŒ!u‡ü²éõâycŽÿÅÖf­aëj7Å’ÃEø^­ÿ¸Ns¹~¨ŒHÞÖ\aÒ²½Ów [5—>•ÇgŽx¿!šKûù8¯ïSþ¯aû‡~»°7â¿®wcɃ՛½"­Ö\Äç¿B›Ñïë™X©òÏž¨e…ÂVåVºDÎÉëYvåMµ9j¨ ò¶ê ˆ^U™[W,ÜÑF¥Øí!`ËÁ>NSÞS*ôéß  n3J¡@#ÐýÁz¡~Ç¢ë :ÔY#$ÑÉbX†ìO¿VL»lİ7§Pð8:‚‚p§ü×ñGV6Úi¼Ý®0‚ AˆN¶l¹ø×hKf'xÜ?¼o5¢ùíð“—‹–Ã’ ßOÐéÖ'—U5¿¹Úy¸4ö…éy´Í•Õ’.]åo\µýÌ’æY3ÏžO›ÙÂ×®kF-<ß i8;Ýé×¶â¬ßƒ%ëë=.A=CA)?Ê›‘6¸9*Âsvÿªµ}­Ì£¸òǾøÉñ'Œ½Ô¯Èõ¤b÷tëóm‡ö_ƒÆc²æC±\Â¥‡f—zÿ £2\ø>qiŸ·¯ß÷GA©_]Gì¼i.½©¬—FÖ¼k.ÐÏAÚ÷5–“Þ`+;ÎVN]p ·‹ð²ªSaZL¸5½Ñ^vcÙ ¯öpë.okþqþ8¯µ­¯Õ­?knoéÝÜzÿØžÿƒõPßùò‘½?øÝùv(ê ·Ÿ÷·®“V¾²NþU~ýiÕ'½L®Ýî²Â–û¢º™°$ªˆO°dÞYbËõæPj°æôÔ0æ:mMÉ€UK°$bS-½Éj³NçmYv:ƒœïÆ®¾.\¨7WjN—Ë/_^Î7w.ñuq îoUá[UøVþ7U¶U35°†i€XÊDܺZ²ÏÏëÎA¦š™pÑ%KxWé©n巶᪠N½aNêÛœCÕ.]Eør·Uü`ýûÖÖ+˜< ¶±²+Šè:Ísݼºg­=Sô’‹U¬øÍʱáì£ìtéGáëlÅlwon=zñž¬¹®-ÜúÖ0·®ß}ubÃUâ%]úóº²?ËÍ¥}_°ÐïÁ¡t¸Ä*…Kû>™[û¾û9úùûy_ôŒ†OIåÙ‹kæÈ˜bòÒl¹ÓáÅX2ï±¥_%¸í£­_S>ŒÝ}*$wî÷s ÖøÚå¶è¶}?ªßê÷£úOT±~Pµ~ªÍgŸa>¡¬ð¶pò!üdTAž“ƒ)ÝtøÑÞXXolc­k°ÎšƒcÍ­O:Ë9†–÷»sð%Ö³v§ôh•S¶æ‡>Š?®ÑI·®Â¬“÷u˜[ûºá¸®îeÄ`û0ÜúÕVÍ1mlon]Ř‹%Çô<­ëC:ÔáIk~¢ß¶¹u½¢{Ÿç¡¶ñ¡>péS±–s½Ò1¶L\Ú÷ÿ÷þ÷S‘òeÍ«0Fˆ"í[õÌ*­•5ÿ¾¸‡åi´‚áLç-níç`­óß8è ?ñeëýÅ6G¾žÒ9Òîü'ÎüÈ%mT™-¯µEÞD²ÍåŸté:?|uegŽ>©)}9?— «VõJaÀ¢B” ú«1eôýÄ„jB½S%O;mÀXàÆXuV±æ7{EÂ¥ýÄmÃÝ«æt÷º1Ç`8beÌÄx×y„ç¼6ÅZXX:èž[CÏÏ2aJ]¤©¥®5¿]XeÒlD÷ó•j¹ì‘tS3¶Xcº«(l¹Ðí¾–g'bë[^•âÑ»y”7“‡±ö÷ÚŸ —Ý*㿵Âo­ð[+ü§k…\TtcÙ\Ù¿ÞVÜÁ¡Ì­·MSRlÍçÜKÂ÷}ik¬éI–ö|[óg¼Ó­»rê¢|²Þ¯x´o.€Ÿ¨Fðô|M|s+|Ëàs~ ´oö-Ðþñ ^M¨nts?ªÙÊÛ[áÕÓ¼ž“F²±%–2Pñ¥¿†eñl¾é§K£érMöfé`Ó36\niIŸtU¥Ðô`(ïÔhÞZçíí­}~ãÏ`š¹õNomÍáòs5·¾41&V¼"à`ñ8Nÿ‰Nº¸µ¯Ó|¾/uîÖ>oßGï÷ðy}œ9º&níç+ŽšòÕÜ:ÙãD³—Mi-'ƒ~ÞóCï/íçt±O¶^÷çšû9ú9+³­ÕÙÔYž´*àë–¬–Ø=Sã–x‹cÍÏ-N8àÖ·fhÙ†sñ¹N´hQÍÔhûâƒ3=6Íó„Û³à³5_é°Î¶×h­ûaÉÔûd}ßz% é=¬mpjç3Yñ›ÎCáÖvt·5¯Žôýnn}p”=6œsüûæuÛ9L|ÖÛhný¹kÇûõýžïó¬}œã3“Ï{—½¹t)ÕÈéƒê†[¬1WQIª$f¢Üm…}(ck²*Uˆ~À±ÛËÞY²ÂOÿ×=²ÞPL,”ÖU8w%÷a( saô¢ºn8ur!Vq¿XW[X˜ `ޝëÓÜú3›;·{û]c|<ÛðÕ”âãj=ÿnLÛëÞ¡gž–5”E^•²ákªâ4¸ïÙ†ë0I÷au9>†´çÓªò°œø“G•Aôî}k.ߚ˷æòO×\Sj8î”ÛÍÉHdmÅ/.Û.í6§m¶»¹ümøíåp?Ú®ÒpWžy4ƒÛšWY{O§‹<§ b”ÜÜÚ—ÉŸe/ƒk}‹¢oQô-ŠþéFÔÉAáídg–O„›¥­x`¯SºõεèdLzå ¶ÜþÇáq.Œ¶h\ “\Ik˜¾p,ÝËKlcªµß-O„H¶ U×S-¡È›ó^«ûç¤ûm[smïÝX:YXò`‘Xó]¾æÖC]k¶á'=-’n=øÞcÕ÷>!ç)Ÿ­câÒZå<Üèj®ÀÆÞߪPÊìŒå„Ù 5¶â;ÃÃ¥áu¡–t¬6×q“nÍ‚"w¿z3ﵟ’m8º;º÷GÛ|ëŽv[¦ûe»«ÃÚ÷ÃÖ mt<>ÖÖ ½4^¹Ûp†ãëté‹Ò±Ùîf3<\ºìÎ :¨ïš³¶É¿JvæÛòNßä¼m?®²æCñÂÍ£zñØV,Ày;[óšS­¹`‡qÍw‡ó>mó]*\ŠiD']Üš¢u²âræ·^õ›Xó‹Y5—F¤ü§ÏÇ×s¹[Å\sÄ–éü¥Ë·æ™¶·öõêþô}¡ûxséKƒ(æÖÎæÖÎgr*¤Ü—MÉpku-‰GßòU3·®"¢·ûKã/‹òg¬øù\Üû1·öqüQÑWDŸç~çê”.âÑ*e®SÝ CÃ6;ž\sk•‚á.µÔ©ß~—~»;’û•+Rú¸Võè[KþÖ’¿µäº–¬@èGš¸š—+>Ê6ÜSR϶á;ê}.]ýÃ{[8ðWîÒZ?¶æ¨ËT§)b9rJQEõªnÂ6–TX¸¶SÖNŒ­‘—ŸÉŠû¤VÖ·‘Í/õW%*V¼ò>¾7ÙXoœ­×\z¸r§ý,êuÎñdÅWÍ]0·FkɆ³_¿Ó­Oz`rú>éNïÍ©1¹¡Çh³]M¸ÇÌEqk­~ž÷t^>NøÇy„KŸ\÷0܃”‘ê>àSt`¸½>ƒÍ­?¶·ÖþêƒËÉ dzNV’bùTw§KšÐ`kŽ ¢‚%è“ÉŠ¢z£Âía¡û|s.fñ¥‹i²æöÊ1·¾]ë’kfÛCqëꎖ¶æpìß;ß:¿~rký³(÷D%†‚–¶Ï¥³âø¾ÞæzI—Îý’ ¯Ñ9=Ýg?߇\¿ ÁpŠ*ì\h¹J¡¦÷<åÀ£Y«ºÎÜç——dÂù9ßù<ýüõþ8¸ør™7¶o÷â·âô­8ý;TœÐIU§0ânM¤ƒßZì`¢4–^¶5ß9În­ºÇ­G¬r¸b½ŸZn€Æ]%Õà–D/  úÇ»öi,=ðj<Í¥Çà„™æÔ˜Z„Qñè]ªÑÕ„ÜYNc…ël74IJìo×ñè’÷æ—ìñÁ·"cQ–÷ÁÝá©)®í’.íóµ W†¤;*ƒ®Cûég©g®ÊìÉÉRáÒUYÇ´½4BÓ\Gsi_gŽ—¼È¼W+¹#ûùúñ wVb&©§}%Ç9/ GòYçØ>7Ý‹Ü{ßÝ»ªÿÁaã¡ïEáå ¶<ù¢KVßB•ŒÂ–~çŒ%Kê ¶TXQcË:›iß’RH¥žëµCO·ÝwÈ/ÝÁRåû™þ~¦¿Ÿéú3íÕÉj»¸Û‘@A”Ñ$ ¿5æÃæL,œ½WŽÃœûÄ©·…îšÙîõûñÁ5swyÞ\±Ëè3\1MëwtÝDSúa$t7kn2+Üús?Ö>®æRW@ó!¬½­0–tp&ä ÒJïÔÜàSãצØÜX ­iÙpÇ¥qºµzbl±ÇÉ…°¸…l¸zX’n}gÝ1ì¿rû¸úülÍ7y®ÆŠ;ü¡¹µ²B¬ùа”¹ôgVËvãœ&ŸÑŸY9‹ß.º·aã› PÔ€4ì¤ÞpëÊ*Ë1YóÁá¹pëEavÌ¥1_¥¿“?p$G²-••(©º‰öaï³ØÖ|ãC ·®OÛÒ6œÝ.] Õ/£møÆ¸I·ÞÙ¯šñ3Åz¨‡‡±@[ñZW##âҟוíªÐ}î‰Kë¾d?~ø>Ûd®k„kÙ&íôpkgeeßoóÜ?§*{w5ªûl»ÕÍ'Í .Í¥WEM0·®OH=§XGW8Ð.óïÌþ‘¹SH¨p·V×P^k½þ} -Rå’éþ2ësøa|T„6Šå¢r«æ@‘Z–ï¾û´Â–Þ9̽ôÏéQ‹©Ö-jŽ²á ·O:5rúòÄ6_ÕQîtéê<ÅÄ7Y_O~NÆÚ3úµ/\÷…ü­V|«ßjÅ?^­¨¶nuŒœêÁšk¬9ÜEv~ÆW}–­ý{ðh–µÍ­Cku <Þ´Þ/¾k²ª¢vÚ~¶G`'¬Ln½¹‘+ŽÉ·®øOŒé`ÍÀX²\25ö]Ù«»BoôpˆgD\ Wäv˜KWŸíþ±]¬øÍOm?º!{ÉÃáyiÿ><ú~§×‡B#^C1Nf½Â uþ=5ǘ¸º½ÿC}eÈwÎ?Ö¼<84cÑïíû¾ð:“ë˜ÍèP—\‰p-G°å¥/Æ’ðÖëm¹±ll¹y xOwÂÆO=ë=Â’ˆÓ[[.!5–ô˜ é{L°æ¡T/ ¢eò,áOk~²’ö⚃X”º _¥Þûáñè­÷§þûpë©l[η^—×ùrˆš¿ËN? _Œ¼`~Qÿ¿¿5¥oMé[SúçkJåиÊkẰ´Œé¦`OÆ’5Ac¶l*;1eQ6¦D¸ªm´5GÅÕÜz_OKÖ+?,—F+oL–c½?²SX5gn?'kÎ1¤‡ê7·mŽrrJ§Ö˜È¦ŠÆžÇkŽuÖzÓœšý[¬9Ç]:Ýz;4c[/ÌßöcŽJÈÓéÖ˜#ç8îW§o,ía~d`ñÍ5w_o~Ûn\ÇUeªû>î?®+\ç…ÁTŒc\ø]î¯x?>ïæ~þç-„S¯ª§„G³]’ãZ#ÌÄ­‡æP” ÙÆùœèGû¸.sމ-ßßùªÞŒ'qÙN<ú8^<úPô¦p|qE8¨W‰!ºÉ;Àøv%a“¿ž¬âî}ìäòDkN¨†K­)]‹7¶®jڙͺ¼9Pn*nX! Vý´~±öN$=Ødü{B¤%¬ãÃî4®—s¿,ø)Û‰Û3Îéô «áÀÑÖüÑ>Ì­1¹ýî¬U]¨‡_ßÛXqM» ·þãüÍÌ4in­ëWVîãk¿>ïéþ¬Ï'÷ý[?¸b)ÝÛcy›C¬áÒU5ÂÔh}¦O]\Ì­]tûáWß3X„·fQò­Ú~«¶ßªí?]µÅøÝÊ9j\Ò‡k}.Z­“eê°Â”X‡ã²æpy¾UTœ“^UÛ4_§Úç>Ù¹¨9_Ößœ™CsÉ·¶Í»v9ëÂXr×:Ì_Z7 ÝPáZÁfÓD¶ÁZàz{}‘ãÅÙÍ·NüüµÕóP[UMж®ï¯µUñz'^µUi¬‡2þEmõ_Õ>?j±·j±9 ?ÿǵRœÛTÛÍñÅ­už¹ß¯û?Ýç?j‘ŸµÉý£6)=ØB¨I” 丽Óííʨ.>=ÿœ‡xŸ—j»—<²pþV[ݦÚêúë][í|Cϯ+ûëÚêóQ[=_<ºìöQE©.KtNÖU•câwBp3xàl]åÚÚš£ªñL\ú ×Zîs\V]ÕzÞU-Ÿªn×G•îj›* ÛðáÖŸçîû`îëöu^œxŒP‘óuŠ¿®oçÄ {%¯KŠSá©ì…«ÖÒ‹£]8òlLï0áOï0ãï0áOï0áï°ïïbý[ƒûÖà¾5¸º‡ÙÜXº¡tjh\Í£7S™SÛí9îÏášÝtÇ||4†'ÎU§K_êN² göètéó”ך¬ùa×qkt՘܆‰š•mVÚÀg_šc¬ôîtë]û³5×þíu|.b78±ÞT»É{GÔó…-wŪ‹5¿<§S­†º¹ôIW¸ØpÝ”¤Sûâ“J}¢'§ñ#gxë¡uiOÙKƒ•¶æ;3†3Ÿ3'¦ä/K®íí÷è7×qvù¬ÁжæCƒ¹áÒ“/í_½1&8ë?›÷ëÃY ~Þ{l¼Ãª”UÇåºMzüÒúWÀ’?ù­b^ôÒ†3ãý+ ¡ÆŠc(wJ·v†±5wÆK†rFd†ãŠ1rÄ¿9ᢎÕÖœÕÓæÖê ±ç¥˜ïÿµ1=Y' –”÷¦n…S?¨å®›-l©»Š¡ÿ·•ÜÔaÃ¥kø¿¦e…Kc¢ó²6—æz&Nù¾?Ï¿¹ôà¤_óhLq—ÆÊ}ž/½œ¹ñUYÝ~èe=¼Îf¸5Ï« õÎ:û‹)cèÁê¡x3çi;þ1/ûæúæ—]úfäæè¤R¶ªÔÔ{”·Ð¥–ÞÒo…ô[!ýVHÿé )ÆûêS…f(çZaÐvoýJß'Í–g¬ùEï!cIÇ4H¨ƒÝDŒ€ “yÄ'¸×mL\úÑ‹×ØÙÃ`ºá­1†7Ôõ24mçDpiÍ¥éY7íGºÜ¿9àm¾ÉãO€áöT%O”Or›$ܦL(ÉÚþÖX­ ¼{cÊM}}Æ’›zƒÕé·Ã¿ö[˜·TÜÚ=‰*¤]²¯ÌŸÁ’𘺃-,¡w"‰/NÊ©[/ ¡Ô}¾¾ÚMU5—;W¨W·ì3:'ŸSŽßî.–>Š£ï.þÉpñÛÅ'‹ÓoÍõ[sýÖ\ÿéšë¶yÖÚP‡ÌÅÙ4¦›Â½SbðZ58wy³~÷XøÙ&½°fòâ-jbœÒ‰¨•5p‰Ážg²æõ ¸&nÍaŸÙ’ûxæÖ+{b§óÚFôûúè6Ï5‚Ö_‰ºŠ¨¢ç[¯ 7Ñ\zcçD¸õvè£o.pÓ~¬3@íʇšÖ`Íg½Ýý{ô#ŠF:ÖI_›ü—|“ÿ¹äêñ6–¬_ÖÒO±Ä:²©´ž;B».òéVH\7³À¥}hóœ"wMÝûa~üòÌðèƒþïæz2þ™ä”Š*E??Ê…ÝÆ”yêÓƒ»{+¯Ô£ÈXd·üylÍa÷¾OgnÛ¯ú”NÍk¨ÑÕLõÝ9zÇEšï—ÞÐ1m/]ûA_H85Ž¿-§æužWT¯‡ÃéáÖ ‡UÌ_ºÊ}ÿÞ÷ã¦Ã~¸5ú2–éxÒZ´áãu>áYIIÇñ}ñ}ÃTé{ʡα›:b§2%3:¿¡ª¾õŒo=ãß žáyϘ_­†'Î_œ|.=§~ô=•5÷duáy¦ûÚÖóâÕYøš¾LÕ”™ÛžÜEÍÂõ8ðIÑô¦Á@ß4¦øô-O°$VèA8p}w®C}éöbq3Rß“Ze J\zÛÙÔ´å ‚Ë/†K=cÃ+I·F ¯µ­¹{zÍÓó{¢ÆhM"1v3új~»¯Ÿç›?jnk À\!ª+#œšÍó1ñ³» ¶íƒo}?Åûþ2Esé}¼ö½¿Ï?úàXø¬·éyé|póó•N>ðóÔóÉv£”8“-ªÚ[£´…Gûñ…OZC(|¼|¬X/h›»´·Wöp¶‚›ö6Yg7ŒGìáÑõÆŽ'væ 3ÞÁd<&ÜÛoó»‡Þúõž_ºH ôÖ–¯›¹çÅö++ü’|ã^C¹‡z:Ì¥9D{4—îà(æÁQÂï_¯à-áærsèvŸ:ÐÐaH¿´^oSz¯ó|éí–ƒãÈ~ÞÁdFë<²)¦Åpì‹c²ÍQc›Ò[?/KîGm>?úí‘Ds· Kþ'#’°¾“ˆ$”p°»‘„êÇÌ•„Mýð?zœ‡\úo»߸RÑèÂôÛIö­¼~+¯ÿ•ׇMytšÔ(õCYx$býBëƒÝÌ¥«@Ãzv;=”zÚÖÕ\zÅTº£¹ôê*D85ÜC«ÀWÁý¨ Ÿ> k7úPàOsëCUµðI×ãÌõò:H‹Ø6g¡Ó©UÀÇ6G÷Þ”NýðCKŽŽ ý 볯_‘úk¤l§ƒ¹ïCß'òho_Ëöâ~»îõŠ¿pºzpýš"¶XbÑ:„þ”]Ï_‰# wƒ>„%»îŽØpåP8aÉê•!£^;7Ýô\}BÙôa'OÜ¿:vߪ™Ú3ÏÁ½‚ßfßµœƒ»OW‚gÿ;½s²áÚhy'¥õ.:¦Dnýƒí†ÈvãݱëôB.„ÛòŠW!YV_~”Ÿ¥ƒßj¿õ×þý¶¿íßoû¿Ç·^ Ì8\PŽÅ¶æì8šGꎖ/_/´>ˆ-÷˳¼ªAø¨C[ê>Uäl,LÊæ-´µlÍÑ~N\kS,mO®¥ñÇ~ÂéÔÀÛ²÷ñs{Öž­^ûÍ]b;æEÕ—†ÆõÀŒ5ÝYöœ„<ïn5Œ­«çíRŸ³ô®Yö/~Éü]?øÚ÷#0Xã2Í:~ÎC\1›Kë¼Øù øËóqoBöUKbªÜ)h³º,ÆÄ7}ɶ©?èÒÐÌÖÛÕ,ÅUêÜ…"Dּޣº*ÖIŸ4'öÉŠ£nv6·^ùÎÚ„ú¯¯  1aUÆÉæÖÛþæÖ›ºæ. uùÜ »™[Ë·>Ü2çÄ'½ÝÓ½˜ŸÅóÁõÌÊbâÒk¢Ón/:ÒÁ9z~éü: [ê‰Oe^285¶¬w™_XRå×Å_sñ%&¥Ë×+½Íýo÷œõùFø(SêÆ¿ ãDyþŽå}«Lß*Ó¿A•içt¾¡¶Ç?áN/²æg—¼ùƒÇÆ+gÅ`‰ºú6_ã&>Sb±æ3¸µfŽ;ÆÑ¥N‹[…tbÝÒlvsiFßœb+Y×¼‹uŠ…d ;>¸}=ú|¢Çþ:îKowÿÞ×¥ÁœæÒ›>d9ž´³p.ç‹\Ó}i…yXFßÇ9}úÂ+c_Ý\4þ&~ÊGÉ’yƲƃŽQªaau¶åÏ}‹£I­Ž4±±BÎíP4Ní/Û‰GïÏ‹GïêèºèãŠý/{®-|ÖÓ=ÉöóÕÌ¡k;¬*j.í7$ÜoLÕJç7ëP'‰âþ¼ø5mQ x{@emlyz°$æWÁ–Ão;±%º·Î`K4Ÿ¶Æ’,ô[Vœ!~Œ{ ÷14âÖ¨í,Í­}NáÖ¼„.*®çÛCó­n|«ÿÕ ~p:G :‡°ZVÁ“áTBn‚6dÍë“sLÜzǪô6¦•Gr‘X WŒËÞšôósïè…ÆôdƒÍØ’ ÚLjœ‡clY9ùà"•Ñž¤³_åÔkn]þK×Ñ6¼¶¸u»\}øè¤‹[ó¬9¹fÀ[‰kä]üÛš{HießL1)Ý<š;Ùϳ©F¤ãźvÆAsk®­·´5÷ì]óÌæUf´MfüØùΞXóZ\{™¸õ¡õöbÅk¦ø1ç7ä åF fáݹթø’±â·b‹›KçnÊ6ïž2î_¿sæ0f¦ø~8¿Îï‡óŸþp2Ì{ÏV´Ä4³þÖ€ƒuÒ=a}±&n+^3úžlùhEVãµhœ²£U¹°öùâ­Éšëb­ÕM8Yòñ‹³fwEÑßh1³ônμ\Åä¦wý•nn½¯ŒX58•«u!rÕ% Yó]¾áÖ¡šÑ—¼þ¹sôq/“ÞzƾLÖî¥kHæÒ.x¯í°Àý9qé긞·]íPèU\±ÿ‘"«[×6œMöN—ö~lÍ}žæÖç³)ìnÎKÖ¼òĶæÒå•°ÁýZ6|e8ç¤K;è¹ K]'»Ì¥Zíh.½zQ–ðKƒH4j®Á-‡1·Æ˜Lï?Úùr¡£æ†‰n7íö¼-¸ÂP¯ÏQéñïm‡}bt|qëÕ•¤¼Žezï¶MVïg¬8ÞÝéýµÎyÚšŸéçë:WMSêòÄåPóÕïöÒÛ·Öù«´s‰a¦¥1%:]êí–d´å£1¥×C1þXÅøcy¬.g×UMÎîêŠSñ|ÑùFÏ×ùÙå™òû»½Sž~«vߪݷj÷Wí®»ÄŒ¤*\~¶R»Æt¡\^ôà¤ãý•:ÖøÉÝ÷$Ë£F±á¯wþºÕ™‹eÃm‰®¡‰E%½ [c¨H½!Îâ§à¾®ÀHÜÔç¢Ãä²Ötò¢çEMÕõ‚Žšµ}w‹Kc‘>|OÅ}gõ;Á ÕÐ)¡ð¨°®;hÐÛÜŽ%çÕÖ¼&9<[skO¬¹2Y¸´ÏÃVUw©’Ú¾¾XÍJÖ¼:V.…ŠE§‚´ÓÍ­«Kàæ ðAØø$ª£ãÙÛˆâû´[þÜ{kCŠŽ¸å2¶¬À¹5çMÆc'ê‘p—A¼Å A똸µÏ×<ç3óÞµWôòMǶ<ß§dy(2‹°åÏc¨œ08pQOê²ïÓ2Ybml*é]ù©•çw ‹ù鯒s â%Ü•×ÞÖ¼Ê1qkçrÿŸ\þ±ó]ÝlÍ^h¸õ¡åïbÍYsGGR]{uT=,Ïð„cÅñ Ø›K;—Ú†+7g{´0Ö>žm¸\¯wN˜líæ¯¹´ ]q8üéýÙšûw9ž÷«ã /þ|&n…ÿYUÏ#n­Ã…Kk·ÎcΉ?y¿FmD1$רrc¦¶ÕGÀØòç®;&Tmo§RV1†Ù2+ æŸÇuï1¡Ë;Uò¢g¤L¨Êl§úãøþï,9ó•”®ökú¦Zû™ó¼ûjx¦ß ñ·Bü­ÿã⛑E\˜þÇ}㣯“ ÿ‘M¡GTF­W_§ç|Ò¦¯Smð‡Fé3@ÄkN;>¸Ž¶ÏÖœ¯osë‹%ÖdÉuS­5cv²ä;gÓFO7qûÜnÍöX¹^Ò›}zk~1Òk¸uÕ|Ök²âõú‰[ßš4Kc:kÁؽ3ûÛbåâSéîÀÝØQ{*N­ù®»pwà·½Ö¿ïǼªiû’›à¹‰²æè°¼å«¥¼ÔJ7·Þ×ÇÖ|,Š$néagÛ‰s´µÓ©«ö|L×£G_W¬8ÚçtÝ»FX}Þ´ÙÎÇÄ¥}Ý`Öì´•çóŒS”èW°ä;çd#ÍßÞånÍFlrŽsÌ6Þ9ËzûÈqÖXÉqâÖˆ:íßÚÅ…rNw1{ºèúÒ\Ãúh.½:jv8õê¨ÙáÔ,¶¦ýX»KÙ9ù³‹9×á.ãwq÷î2>º¸“vqùêZu_ê„)ÿ·t­®ïZÝÿ'ºV¾.¶”­”’;ãÖÞ¿õÈo=ò[ü§ë‘Œã¾ceN.B§ Ã¶æèô84¼»OZþIæÖ›Ê\Ûðß›ü>û_ÞDZöï(dôùÎç¹Oç{«&aý k ã·¾º'¿²ðo}~Øýµ][sùX­«ÖI;qÞX5V|Òô…2—^8ln]+\gâÒ:ßæ>ÿGµ+Ÿßò:϶âU[Áb‡âÖ¾±æCµsißgD–’çù §:‡B›Cc»½¹õÊkln­ücní|’ßoø _˜­ø¦s2¦Ï^¬9|÷îé¼§ý?ŒÝƒ ÿkÀåÑŽ¸±æ7òvs雳!bÃ/v`%z¾¯egŽˆÔ;gÖîGõ­Áüm…Ñz™ð¤Ï§mxU¶)Ýzg/RìÌ{¡^zÚOuçêÛBoin­‹™päè­Lwÿ6I¤ÕV•«ê£Ä™È†sĦӭy%µšÏÃà^ô:h÷`|VÓU¾±J•¬e7öÓº0Ä#¶¼ø¤lDn~½à§ø€•)ï [.ž[ÂKÇo{WÂѺÙÜšw® zŒ•t·Dkt_&kÎ!*Œç,[kMÑàòÕW¿X~ÑÂ¥}<ó_Ç«Û28}‹‰àZ®‰[ŸW¾Ù«n}«o]ÅÛt}ºŽðë4·þܵ£ Ä쥾NÃbÂ’Þ›qîªî¦9Ÿµe*éC8»(3›ôKꬮ—5%›J,ÄÄÝ¿õ÷oýý[ÿçëïë£Yî«úYžcºr>F°¦gÔ°/¦ÉÑf³EŪÊ{ô¢®ñhºJ4·Þèsn½ëxæÖ¡ —>å)¿JÄeØéÞ)ŸæÒþ½yö÷±ktÝÍ\zS\±pë…ñ±Fü<¥Wuó™[×¾—­¹õÆ|Ø\z¨AcknØpiØ£ï‹@œ¦0š[ã»9qëòÉ­"Þܺ]ë´kßÌ&ºdçóïÚöÅ ß©•];oO2™k$äG–ø„mKã¡ÉFç/¯†Œ+?547ß|xN¾–é2—^ξ —ÆY¡çÍœÚWÑ\º<Ò¦ýD¯Çë|^ºÞýr/Â]RÿBî’¹õç]ôöu/Ö‰KÃ}énnÞ“é8Ö(•®æÖ˜ÄñLœ=&ë=]ÿ¢‰ºîÊI¥uîhûlk[sÅ ·®ð²OV|gŽ ·v˜ü%!Âðô†¾O Ÿ,‰*ã[CYäƒÁ&FBmúõ–DgÂÚFÁþ`Ke×¼´~I™›ÿ¬23¢éÖ8¯a÷\¸5º—¯i{e ÿ.Ï‚÷Þ!Öë5“o½—ìM|á|ƒæÒ:Z/ù«ÙB«dÉ_éʾ۴„¯uC {‡K/®ÓšÏuÚy?Ò^& K KïÇû¸³Þîþ}®ŸÙ£¹ô°¿±'íã€o}_s¿Ä_úÈ}É}Ãü£»Ÿž_W=ÅUIK¾W©­·Â…² íC¢ß*Ý·J÷h•îÿÀs çæ4ü{¨=zÿ’gñ+yW·ïkó§¹õ­)ªð²Ùäm³)ŒâÙ\zÛ{{i똸¢èxá9þÇq¥}on½,¯óyéíÎmx®ôW¬0àè‡nG¶ÍOf9›íýÊ24ß%/óù] ÷wI} áçÅ€ÜÍ¥÷í½½õ®àáÒÇÇùXïå{^º¾cºþìßÇ7·^4¨.½LƒµÄäÿêO —Kœî³bžZuIUï¼³¸åþ˹‚éý‰XeÓ ±hnߓEv¼q¿FýEÝúÉW6ók0¿.ß(Rßoä÷ùïðTVÁ,äl(çBÒîŸãn¼Óõû–Ë âÓIï,¬Ã­Oȱæ*dío0q Ùhèßû ­ýäøvb]û"×=¿»Y†ßÓ^[Öë´¡’Ïñ:CI¬ÕÙû•DDÌÑTr‘û­OÞÑ¥÷‰K—3ðrN\Z7uÃÈÀ¡ 9Rï“5¯²^Í­WŽH´Ý1JðÇ~̉Ã<:x/ʵnç«C›s­[;z-˜YkKß †’«,ÞtÛt–3ßç³Ñqsœ•õNùæ]öé=^»ÁrâÑ·<҆s‹ú2™Ðá<n‹æ«¹õ&Ÿ0Ù­Ê÷óùc?溫㺺ÕL}³bn½ÉµÌÜzc^l.=èÌnVö´ëš‹ÈàâÖçÎZš¹õÉøsÍ'½ÝÓ~}ùru —öq¡E!·]<š¿w¦œîævïÁ“D}v ËrcID†¿:ÃKîŠ ;áµß¬Î–ÎÞ.o#å¡âbØ’^w/l{¾ñ9íç«Ðfž¬â¬´0¸g^k¿zAU:ºè\¾u¸oî[‡û÷¨ÃCãâÀœàË¥¾Í=vsÌ6ÛÝ43—®’h£³-kƒÿcRÌdÅý{óìï’o` €kÅ'ίsºxŽÏã®ZW‚~|û8ÑfªFÖù×G[“m8ˆšá§Øœ}IÖ{²õµ[ÿ²=9®§þ<Ÿð•_·æÒøŸm«³9ïÃUÏåµóè}}oo½«n”ëôsc-¾¹õ¦¾™}_vÍî܇¦–mœKÆŠž("n,w°$œ y”ãÝ{Ô϶æpPQ9BNMoû«my/c&œ?mÃ,4Ôé­áØâLkîß™[× xî)“K¯” —ÖÍN\|/ xé;›¸û·ºIXûë¸ûª ÞlD¼ãñï¼U•JÜ}j8ü¬Óq­µ mÇÝ—Æêµ½Ÿè:—ú;ñø¥Ç{€—FmÖÇósåqȯ<ÿ“g•4z—£m}}PŠÑõ!Ë £çÓüŠmþ|ìŸû«éÓø’ǃÊãt—ª‡³gÕñ?ö¬zX%ó~ú¼õªZëüÇ©êâþ:óö4Û_üs™8†ÿ]æMnÙÛdgŽê5cŠäþ ú„·¾øí• Wfp²$ ö§­±\p}’¯“Û?8' ®Žk .]GÇÄ¥WNk.IvÓq­oVÕr3|s–-m ri¸™ÍÛS;Sᥙ{gµŠn¸×ÎÆ·ïh.½©7º¹ôBkóhõR7—F¥gkn¸>Ÿè¿œ÷oq×>Ï—ÞnÃÕûÏñÅ­ë|×câ«F%ÕÅ%níu›So·ý±Ö4;0Öz»Êm®çªçœÂ╹›¿ U¿0  ºÞÞÕ°íhùzRÒõ•×»´„t˜;ò¿UoUç[Õùw¨ê WÉÅ_Wvâ¸3Zâ'@›K_Œ{³}ýÇ~ÌÑ¿rMœš–'Ü:í|÷'ˆ³3li.Íάµ¹4füÏ|Ö£­9=ð§ë¨ly]òÆšÎ?šÑúº­yk"-Úÿ'Ïõñ|†)z0ýŠXS‰Ö#XÒç(œSFûv²â¹äECÔ G_Þ§bŠÈdcË1%1áJôUýFë¶}^¨¯š9bô¡½µ°äàL§`ktþf³ùú*‡¿#ßïÈ÷;òOGN͹:,æÓÄzæÔÉð^æÖuJuú±æUb\ öµ?“Þ° yôÊx!±á7C$]zck.'úpëÁ‚¶­xÕvoŽÎ——FëUcüâÑtuik>ÔÉjníA0ô‡îÏyh˜^ÖÜ÷ÛNºxtEŒ©žT=W?÷<·ƒ}ò¾³'j6Dó·>7tHÇμ‚,ÏéÐì›ok~’…OúÜû¾øþ¡^0ñh¯yΟçëö¢…õœî³¹uw™¶>1Öníû^ù³ö»kâ¯c®ü’ô)_ÝÓy„+ÿ¡Çe×ÀèÃÓÊÃáÖ:sk¯&ºÔãvsÌm»53V¼¦2Õ}5·F˜m²æUÔ.·^%VÜÏ7Û+½ø>íߺî &çÛ6ÇÍ”í÷ùfÀ"LäÁøš&©Åškæ)‚È>“vúýÖ5w¤¥ÇºvN4 ·>8a+ÜšŸ¨ÏâUjÖŸÑáp+²e85]ïæÖ˜CØÛ·öy‰ÏçýÌùÃùEÇ ·æy•Ç×Aä,(´Mö{²â ½žÂ¥}?s_g~ïthçW??çíƒoùÛÜùZùÌß_þø>Hï n‘ÀûmÁÕ& ·>5’h;ñ <§[ï¿óx÷>×nÍ?Õûà|›û§ëžËã³ßßoíþ[»ÿÖîÿéÚ}fæc0Œn9,UmÅËKâ˜Ò¥7-Æa^ÝÙÇÝéÖ•-jø!–žŸû ¿ØÍnÖÑû½N1Ç2qéªMmûÄ­·_\ŽÐçg­ó;TcGóª)´­s|Ùp¿B³¨ò€iô+G]lÍ1Ýž•Éu<­nníÛ+îÛ¥Ãú0˜»0‚-YØa˜Ï`Éz,÷c3SôÝØÖgRº·Õâ)Æ–×!ÍÃä~ˆq§æÒŠiìè’Ïkò™¤;ÑŒ­/Õ—Ã¥Ñ'¸OܺJÖušÛ&]~M'ÍIyˆN½Ëùoðšáì.}Óg(Üúf@£æÒð_›ö?iß\šË>r¬oFo&ÝçÉëÑþo9š¿ø© L;ß.·‡Ú› šì`¿/—wñùYkp+ס¶ªÎ?×a¾ hr¿½½&Úû¸¿[9¿XñjÏlWsë¡6k¬83·æÖsÉq„Í­}ÚÎûÁgªŸ£uŸ¿îÏ|_ç|•÷‚ÙoÂÉô9á\Þ…_½Õd޼§%µ+SK¿RÚcÕŠë9áš[WrMXrüzÖø5Žw©ƒ¿áÑš6cn­C×,LA­biãý©.¸¶â7§Y†[¿KƒÐõ]VHÖ{³ž“•£ìG‘"ª‚ý•+ßöê!ä˜ÿÖ<š—žKÓ)ë¶æ¦kߨR7tÆKïeLvâèXžÒ¡}ŸÍ­wN7ó÷]Ÿ}×ýâúÅVGg<*]¥ ×·Z¯ë®ð[÷m>|›ßæÃ?Ý|@Í Aî_^4»fæÅzº#f}5·F'ÈÃABF;‘~Xá >YÞØšWGÒ¾5éµíÌ1ˆ·ÑI³j/}ƒ–XsœÇy4—þ³wâ×ñq¼ÉÁ²>õƒKè¬zņïìXMºô¥·ÍÖ|—+¹5:hŽÉ>êŒüØOøÐÿN—†sÛÚ6Ûi_áÒ—ªô'ò Sèà¹ÂÉ9V|—s–¹õ~ÊYÌV|¨é`nýG'Ÿù ‹‹——ìTçô>&KΪónÍÈ|gÛpß§û~\ê,•}ñ9;ÿëý0÷û£|cž|äüáãæx[¡áÒ•W°ô©l¸òbÒ¥ýžßk;ϼf|¡Í­ý¼Íóü÷v‚·}9ú½ ?ß°æy®|Žy¿¨cÀ¾M\ºîáXš[g2Àôžú}Æ¢Ú/tL|!Í­yœÜ'—ºßœ¿è’ó­Å|k1ßZÌ?]‹Á<úkA3k\¼ÕHŽ%gàRuÎÔ›*tñÖõ˜¾ ÿ?ì ¨¦Ý¹´ WÄΤ[\ë.vL×Ä­Ïîl8Ͼ¾uÓyL¼ôJשæÖû{{kŸ_~ïû§ŽÛp_Ò­E&ùÂΑ홬y9¾Ü·ÞÔÉ¢8@»¿¯ûZšcããüÆt^Š´šãxÿæ“Þçí­Õæ=ä°y2a¡ñs™¬9è6—Vþ‰5G'ØÑgŒ·y~ÝGÃ(ÌfZÑ}Þ¿{C)ÍIó”DpGDì`ËŸ/æD©t?Ù£êk‚Ö–‹Ù9Â!l ¥~²Òu·Y]ÏçÏy 8$»;è¯V³¡Œ%Þ²§i$ŸA°už‘¸× º÷·F¼Í>XNå–ŸŸ±ÝþxkD}£rmXt]—¸LWjUÏtéœBå\ÔO>Ã~B1 èTëTËŸ·ü¼Úˆ"¾I§ZVGè2Kþäúk2¦ Öe2¥ZyÊ2 Ÿ}NS>uݳäôr¨¦ô­Ï~ë³ßúì?Ü+§Â}ìðyPŠÇ†l¥&ÝZ½a±â;Çå7ŸŒvºyôÊÉ)Ï£^ƒSùwç¸Eì9õ&LÜúÖüXq_‡¹5Z÷×dö}îǼîײL¿×ý«Ù*û¼_iïwS‚¯Û×ÞÚ.ýàÖî¶4·–»zløI/n½i ¹õ"sêõ‘ÓÆÃ¶ÃªûùŸ4†e{?Š·íãmò[°5_u­Æµ¼&fâ\±Y“óɬbézO¶Æ’;Ã±Ä ûÉ[£¤}Úš;Gø`^£’{[ŸiÊÅÎkB)*~hJ‰Ó­Ö/κ*zøBâ•n-ß“o:/.·Æ³—ç2X7·>?¶·ÖyÔ4mùS F_õh{ð~=&îíÌ¥Oj´ ¿ÙŽIºõ΀Œ±â‡¦ˆ˜[ðo+^mÅÁM„³Þ=eeâ;ëž÷‘Öïò3F®•n½púvsi zš[ûxúýüÞ±÷\=Éh.Ó}–5LjÀ6qiLü;&»ËŸé@Ûª­8îÝÚÜz×ßc›¦"í¯Ì­ý{óìOûy8s½ ×x·ŸÇh®•x­‡ôø _žiÿLçtüæÑÎwæÉ¯ºs¾™ò\ÍŸ!{þb÷7·FÍøÅÕï°œ·Öu„ûú²l2.uGnq\ÔÖeͱ¦ù•ß÷þÎL@çê?Ö'¾ø%{|ðƒ×1qkÖ š[׫p¿84¾íëtžÔl‰^Üï¶ôyæ:Äg½¯ÓöÖ›JñSS›Mm^{¢þx&¾kâ¾Ó¥çýïë´ÝýNæq}˜H_¯^ݣʀæÖ[±á'[ÓI—†¯)'h"||­«±áãXÆT2Q…ðbM&ÜÚKm}ѺØpkÿ¾2ÌÊ)7ÛÍ÷ÝÔ’ÅÙ¥¶b ž­SiLÕi4–¬ÈgÓýƒ„ [6î±0ÓÚÉŸØZ½BáÖÃŒ\æ°e@}MVÂW/cº©í,l© 7ãKöPëqçhתI°c¶GÔú)}SK ŽÄ¶ß¼ Ã3Ç¿7·ÞÑrk¾«%w«¥¥^ iߣpß³*o+[¾î¡,Fv&½h…o½rt(ÜÚûgØ…ê)ÄÚY›äöÆòd®qµ’ï—¬²–,¥ó6³*Êâõœ¬8¦Ô,Í¥½ŸìoæÛúN‡ùLY¥ä1Yb¬©/eÑ¥,ï+ÔmJ)³²ŸLkkîR`ÊÔc™róT!v¡J!egìG±çWÄteWÖ\|L†GîÏøxïtœ'ü]ËwNÀþþø;uгá[ÿÖÆ¿µñº6þzk«Ýý`žacN;ü¹”û™¨ä‰êG*‚”+§¥H¹²ÿ5¼CµðDÝU+TeÊ_ÐcâÖ+½¯ÍgpRæÖ:¼±æ@-ò¶vŒ5‚{À_]Ó{Ì¥s¶Ù_ïв3Ö¸”ÖçESòù–G[áŸòÿ™¨¥¾,¶Æúö-~T=½ÙKik®ë·Æõ“ùþ¡}·¾õöÓSñCËk|nëû¹²K|Æ{rK˧X½aÕ!,flSçs½XÎà”ߊÚxËÌ­µocÉsZ¤qeðF¯îu™¬y…ÄÀz§æÒzˆ6¢UÈÌO^2Óõl·WN8ôõ>éƒÅ¿÷­¹µÏÙÜÚç¶É§¬ìÂV³ø²¼ÓŽQŒ±µ ‡îtë[¾m¶æŠàæÒå'8ζáÇŒ’.e'޶á;—tkNjm+^oW—¹õ©EÓb›ã1¥Sk‚oìÄ—ó­ñ‹Üw?Õ”]r¹$ì–kÊÁÎá£ßZÙ·Vö­•ýÓµ²òª„è÷ÒrŽÁ2Û nŒg¨¥x·Î(+¼mDëS°<Á–'ÝmLýHXòpÖ_¾…ÑEêü÷™B­ð³5ŒÂ¤CA)zªLj}¶>D9Ê gO÷Á8²tžmkª×½JU)‰µÃÞ«p¤.¨;êŠ*mŒlVíë³¹õ®Ï…m¶{Þé³öª»*P;+:/LÉj©†ºq´Ü ôcïZý'Æ–º•¢¾±ºïsmg×¾A¾]Ê>Î6?¯÷5Ú˜®è –´¿oœ€IïªßLÎÀP(ˆ }á Nõø´5¯îŒ™[r¤›ì¦Õº·sæÖtZknM'·~š:§é8›"4/íPòŒIë8~‚¯ãLO:úVﳟ¸µž|}JÑo¤¡•rì9Çd'>ÎwúPå%l'>Öwúà4ÕqM6œ?:]º†®Ñ6\ŽémÚÿ¬}^æÕsçëðyTÁTÍçDÁ÷ùYó¼0²lÓý ›™y4ª;÷Ä­Y— >5¡ß\ñÞ¦í­7:,4—F—)§ ¢£Ïaö0F½Lœšì'.ŽÂ§†{úÌ¥¹þÅ3qj¸ÕnGsi¸Y޽¹õò¼öóÒŠW†ß{ÿuü¡ó[çô­º»¹µ"ç‡[ë~†[û~çyê 5·G§ëõœ -66|­‚,ùpߔґfmYWN*%B;.môñ'Uòf÷n,ñOUV‘μ6,Æ=Žh»{àž#¨=Ìh¡SaÉz¯°dýøÅq­Ú5Ј —æj¶{¸5§¾\§öþkp“ã:ü'·öï|Öº(žm¯B Òã¤ÎÛ•·oIõ,Â]Z|+nߊ۷âöOWÜ0UË#]i¹=ƒ»¢õežR-,­bzcŽép‰iØëƒ³š¶ffÿÒ³¸çýHW¦Ëĥᕿ7·®†ø>š¿4«Wpi<<$‰­d=™K©’¯K;fü°þö\ÞvHÚrpÁol¹ýòŠMêK¤\q‚-W €LÜ…æÖ}ñõ”ÝPC@ ÙëÍû–ÙšÖ0û–J—Ý>¬¼s^û1‡½>ø%»÷~+¸È`Íßœpi ·Þî>émý8ïµÏÛÇ+W+…žbØç1RCæ7ðÔ éõ+ë`–›­ùÐèx¸Ñ_o_èÁwÔ©–VìòÞìî±õÑ/zcÖâÃÊD9Œîgsk_йµOÙ—î[³Hë­z?ʽ³”yu—í×·ð­|«ÿ|53å[sËh?&>écLÜú 7@¸õ©Y„Ú¯" mZü­¹4ÜÆÏ‰[ó·ô¨Žy6›ÆªŽzÛðƒÞ Ë£6ýž85êÁ«¬Àᾡ.}«;ÁÖ|ŽÑ¸O‘ˆïÉŠ#’îšì[7å=°á¦ü>Ý7tGM¿ûäÑ¾ßæÒãR'»¸õðŒ4•ÖN·ækn/ÌÒÜu¸}²Í‘w¦tjuÍ„K/tH ·^ÿ2œzÕ¤ sëÕ>áyºÏz삹ÙÄ®7§ºÁ\©Pô0è…uÖæÒ+ãä„G¨„Ïú˜ÒiŸÉ*ŸçwÞÞ|ÿŨÙN·¦?Ü‹êæƒOó†ñF4ì+"8º&k¾£¨Cw!¸µÓï÷ö5ÀYݬ'½€|®wÚcyócQä±½yô¤·þ¹žƒy>ûÉq&}½¹õò‹‘ÐÌ¥nßÜzpÊMîûüœŽõÍ¡7LLnn½±~òâïûqM¼õû¸Ò>/—“õ\«œ›¶cþ‡ýäS~IyªrÓåèÉÓËÀ<ˆç„¹VæÑœ nY±Wskç“Xq|·æÖšàÝ\ú3ÿ%_ozŸfî÷kæÒyOØÕøÇû>ë“c[—.?Ì[kÆr¸µ:Ë­¹zJs냞ã¸ÑŽ¿pkþs“ªÚV¾¿ˆŠò(Ú—-ùCÏhcɇþ2×öþ)&i×m¤C –]¨MmÍÑ;'.}¨gÔ6\Û9ü±^uý[Ûš×g¸ÂˆçxÒIöùèü}^õ)«°¾¶á'Ÿ’.íȶáÕ|NéÖ+^ɶæ ^å~Tº¿+;²cý_§[s¿sΟjú@ĆËasaчgâÔ«çJùþ_¬nä9ÅŠ£ŸþlníýØŠ÷ñtþš3ØUŸ·8ª„3—NÕÄ\×£ëó}G¼Ê]‘}®~ÖÕ>ωK×cšvÓšQ»-/­ª¯ïØ™ ”!©MËœßöò·½üm/ÿóíeFá:"ÖU}çmÍQ?¹ô©ˆ0“5‡ƒÛÌwά`»¥rÔÆöN}¬Ð5Ý6ÜðN·–/FÛi»™[×TsE)Y1ïaDDfqºõÇ}0¯ùžî“5âúo“5×GÐzçø#ê:ç´?ëC³A­9®ÛûµÖþ½_Ïû­ìXû3·öqrŸxßðÑÐêêùˆàž|¯s½óu.|I~b_·ÝMíR[s^ú´Wz¸õ©áv~sš>_38aÆŽxÛr®“¸µ÷cþte`»ûwÊáÉ·ÊÇ—†ÓQ:áÊÀ…`Í¥å+ûæOß/óè•ý5áÖ+û’^¼¬úP¥ᠺ6·FäésâÒ•çªØrDGD’›ÚTâÖ‡†ÞÃ[¿öÝÇA%¨ÎçÓu;ÿ˜Ó1öu_ u?:æ~Ây{óCïÚ5æÒ( ׉KWÍ ßQsi¼ƒÏÄ©1ÛGmW´_£¶¿ö}!¦@µ£ö¥½ì¡npB5·~Ô8Ùð%Ç{¿7·>ØONíóÄõkÍæç!=>øÁ² ž«µÓíåò±ºfaÔªØ'æÖ˜å0š[Ãý˜8u»hÝÿn×ýNÑÅû=õõ­Z÷ОÎÿ~?Ì£9,Üú`C-Üzg»6vâÇx§C_YܺìÞ徿 ›’÷Ëå±ÞCs¿GÊÇßÚú·¶þ­­ÿãµõ›Ý?ˆ¥ç•Ù*ÇÄ’³›Š¾XW2z°3·>Üp·‡øyÉýÐ5>i­J×öê^:­ÑAÏgi,€p´5G Œ%L¥µzh¸uE9Q­1(««îpwÕ˜¸´ï“¹µïc~OW¾Þ­ø!gO[ó›mö³3fä`FtÁÕqk‹mÅ‘%'nýyÜðS‘E.­óö}BMܵðÍ´5?VM]áæh§‡[/è Š«=´b*F-£yô‚hsj?Oó<ßÏ|aýñüsµ¯km}ékf.íü¤÷!ï‹ó»®¯Ÿ+çn7—^4ýK¼õ©¼ïü | ß}¿¢ß¯è÷+úOE±jUů¬(5F¦©±æ›V3·V,•¶âˆ‰¹7·–kºí¦•>÷c¾aíË-¿çrèôÙ(gÂæÔõ;°péEÿç<̶”Šôd;Y’WÉŽÉ‹^IK:Ç— ïãã¼IxËùÇšW»c¹š[cðdok¾÷  ¸uùÕžWÛpEΨ×uQ-a¥/E¹µÐ˜®ckSb™¡*©lÍ«ª°Ò•bÒ°ç?õ»ûm1JÛe{ñËÑjÌ¥1B·´Õâ¢ì'|åÉMâMÁòÐë›/×;Ýzѧ7Ö\áJ©:û‰mΪ`§[³³¶í®€¬ïý4 Ü+žë–Íö'Ï1œ¡m´ˆ*Öš#,ÎÖéÖðz]ãô‚As8gŸ i;óí#ÝÁ˜žÑ6œ!î;Ýzau%ÖÜço.½ªš—í-·ð¾Þß>îœÔë%_Ûf;Í ·^0{sî6æ¿1ßGßgqÎ\&Ný |ç¹ý±ŸW`ÝN·®ß¼¸´ÏÎ"˜Ù£ç…åŸæÖ.Í­U8v¾óùj¾S¸õ.÷xsk.­ØÜšïoÞë”C*ož%ÁDÖåIñ%<•u“ìBmc¯¬1%’Ö#X’ƒð½µ$J·éÈ’XC`:¤dÙgzmüé6ç±½âPNݯŸ²w¾Ýùfó»ø­YkÖßšõ?]³æ4«£d¨[ýü\hDñiGœäñË_|‡l_X•tP@m1LwÐ] ¶âˆÖ=¥[;Td¬ø¦ah„rçЊª*é×e²;†*I}lÍ}¾á9ÿ#ÓriÍåKõºNºìrb‹¹õйµöãóÌùŸ˜½®¦NÒ­å¶+^1LÄ­O6‘ÚŠ—ë>që²p•ŸìNy,På yÖõÉÀ—ß\º&ì 4¦/®ßåþ׳Ú×<×p?g߯ΤÈ~Ά–×ù–Õã×y9ŽRk°%¼+{'–›>ËÆ’~›’ñ•¡ý3óè 3£Xýž{5U!ˆuïåͿͣUM·5¿Õcö¨gÕÚéáÔ¦Nr~ÁÖãWV¼÷¶æª=„[{?±æ‹Ö60§ÎyÔ‹â•…Ð+|³ª+ŽžÅ³¹t2šlx}ÔæAéÖʨpR¼¦ûìóÈùè8Þ.Û‹kÜ-ÜZ¡7ÚŠ»Y¸©­œ9§š7.ý¹½µ÷Wç¹î¯û—ëX§Þo峨~Î~~*ßõaªç”éýN(צøNqÏbî[³û f·Ð3eáÉI9µóè[Ž$¶âõÕÙ¯æÖp„Ù'»÷d¤câÖX´a™¬ùÅ!péjoßGÛ™× =ÂH/}]›ŽÂ­u-æÑë/‡Z&_ã|¯âoøß¾F|j4 åçtßo{ì $¸4·¾äÛk~+ûšK×ë„·S6üÖœ9§KÛ)~Læ³fÒ¬onK>°VÌn.0umК³"ßÜúfÅ,vâçúN?å'UßñùU<žé¾›OÏq¸4ª]Ý-;‡rdØV¼F¬÷‰[c.¡¾§¨è•Dÿö2Yñ¼ºâÖ›¾¶áÜ®ÏÓçÅâ¨íhO€ck>ësik^Ï k`ÙÊ'U×cÞ×7O58²¿£ï'Vzœô}NÛ[Ëð`EB«5ƧÎö”Õœn=ïÿ>›g†¹µŽëýúøÇ–í×­Ÿëº3ôÓ¿ª}ô§ÊŸ.åßZÉÿEµ’ï×õßýëêuPz.ôÍ8‰K#Ø2qëM3ÙÅ£oV §õ X<÷c^×`Ó40¯C@¿u UÉpÉŠÛ³Ò|ï¯[S'¿Uú*r6­¸Vú ·Îý¹Vgè,jò©¯d¬9K]úb“^á3n-y”Þ·]—+k›{›¸õà>ÃÇä1qkÌ&gñŠi½U”"&Ñ…ûÕVüà¨]¸uÕTµv=lø&¯rùþY']Ü4÷ÉŠû<Í­}ÛO£ó—òU¸´¯Ã<׫ëÇ9>°«b›qvl¸ ’n}ÁO±­¹j˜áíµÏcʆ«w,éÖº>œ¯Êüpk•Ãáî0лv»÷Ïïïòz[û}3—ö{årä\dßÓpi !ì—ÆlsâÒzM|Òu^Ù¯Ž{¨\É÷rúÞ½¾ÓÓwëø†ÖüÖ²¿µìƒZöÏW¶^R-û\?L3¶”ïu,9Vžpk:ºì!‡‡æ$ ÚÐÙÖeÇÚܺüÏ+ïÙš×GHŒeê(c>ß¶ä?7xÌ\úó|²Î;Ûûöøxº^]'<ŸÑ\š³—æÒœe8íGz…_ûÊ™À—f_ž1<ÞÖüúäcÚŸ­ù´ÿlÿÈÞüÎyà~lôxäg¸m“Þ"ñ…ŸôsM˜²¾ÿ ëj\zchèyüâzn¶Ç—×Ä'=ži¿«†®7æ¥pë 3_ÜZ ÌfÈ[Q¸zÈ›¯o.]/Ý‹KWdž—Æ ×s²æ+=xÃ¥Ëû CôâÖ~WÂ¥ý.…K{ebsk¼Û'Çöª—úp=“õþØpÖS:]ÚÏÝ6|Qd\§KoCïœßAMªFÆ+s™Z*ë-ï,èl×ðJÕê™0euÏï2e5?î©´ÄÙÔû÷\Ùw/:ILX1¶”·ž±eÝž1Ù‰£Z6¥»š¶·^8Dë·Ò·]·û[=ûVϾճºz††ý[ÈÃ)ßx«Ã­9¤½©»hhDC)Õ¨GãÍÖüÐ޹õÉNÛ“¿éí–÷~wv~ÅÎüÞßéÐ˯{žy}€–@ÜzHç<æó[>øÒ÷#ÜúÂ=[/æ<½¹5ìþÁwí眸4ìýÁo6ªÏé¸Ö'+cÍU9[èóf}ïéFgTå9ÏìÀêA¶ä ¼Â­áÖ5–¶áƒ÷'éÒÕ©µ?“]e7M®µÇ3Ò­q?¦çàç’íü|f==Ïéù"x¸5ÝÒ›[ë½ðûã÷k(>m¸îEÒ­w~}c'^×>§Co|Îõµç”þÉ']ªpkOþÖóݘ“l͇ohŒí“¾Øñin}ȳÅ6\5þ¤[ßKÑÖ\¡b§P2O!k^îgñƒ­/WDmÍ]Û`ïIÏéwk¬9pNùVùJù;÷Å÷Í×ãNÇ;¶7?ÜÙ{LÜZaÂ[³QÖ×GÍY/Í5 !N RÑÅqáyïœeÒÖ\•æpk?w[q?7|CvÖbÄ‹ ãpiÇ<šç7°ŽÝRÂe(´§­¸¿!æÖz^m'ŽÐ-SúN÷‘U®3´'íç~Ìë9ÌéÖÈ\ð›!V7Ýÿ0áѼÎð\·®Çù0Çáþû¾ú>Ÿ¶rÝåüÃêì·Vþ­•kåÿx­ÃÚ¬ýÑñèV7›­¸™…[—Ÿ)ôÉš_~ —ÆóÒ_öåÏý„sµú›Ý tˆª‹[ûzÌs}½o~ŸÌ­5sãÑ}ÕV´0CÞØš_žZì8ÔrµŠmN—NçÂj9ØN]¼S:µË–7pÝx¶.ïÐB>šG³ìknÍÀzÍ­Õ*›ù¦xÛÇöÒ Ien-×™ðëusÞ)·OMÊ2—öu¸¼vy>èvõ­~k…ßZá?]+d›^^Õ®6ß8›Kc‰ñki~hjÇ¡‘˜‰Cc$ç˜ö/íãL¿çS¿›,¹ú­wõÑØ6§#k§SkšIeÕá>Òñ§mÂ¥ªÏÜúÑ~lÅõÕ˜[z«bÍ7~¥Â­už±æºLyY8sLScX»4oÍë4ïëæõh:¦Ý²¶Î¾OS ^ª<Ü¡ËQÂOû±ÞØÏcÞÚç%ÍëÀ 7–—¹°ýs]¬yõu!‡¹´úÀ^vcØÞ ¡µÄ­•ŸcÃé¬ÙérÞT>'ó:–;ªÚ0–µzÚštÖm.ýy]áç/†³rºtî gâ>`Y#ŸmÍ®‡KgÿÓ~yÿ,ÒFÕTêúådÙÜšïZx´ÏÏÜZçþS­¼~*¤ æ½Ûšr*0·öyÙšë¼}¨#å°, öy˜[óxˆ6}ü‚+uM¿gª¨%fWÓØÖ|¹ÞéÑjšÖwº¾ŸƒáòLV|can½©Óm¶à nºÒC$ÚéáÖ*ˆmÃ}]N·vÓúÐ\o.<Ì£OxÛ6·Vs:ÜZÁáÒ(Y›[kÑŸ¶æìÜnn½ ÙÖ\Úq´Í­UH6—ÆÀ‹<¾Ë»´¼mëüwU~&K.¯Ópë]zÿàÚ¸µ¯ý$ÿh`.\zèÜf^ºª‚c:Ok_ò±r™sʕɽYsØ7—®{5ÿ.g¤Yh·5ßñ=hnÍïPÏS>8€|Ý©ÐÓŠWàœníux²ø=ÞéÖ÷)BÙgýû~Ä]ÛÞ¼î½y×_½ÎÐ6i]O¸¯ïVceƒfå7¡)0ÑV|¹ßéÖ‹E±æjäú|s]»5é÷ç·~ï§µŽoÓ C$à;¿ëÍ­Ï_^—ƒ\ºÛÒÜë­r¸z¦ýè8áÖêú5^ÙÍ.­Eíå˜ÐZÏ'ÜÖÏMÏÃ\ M„ã¤m.G§¤[«¼Kù£òFåžÖÓýÑ»4s®tµS¸ôIgœðèã—×5f‘Îõ]\Ÿ¿^ë„ÂzÈ‹åh¸uµ;¼®º4G=vJ‡ÞøïôSóêyø¾ù~ëþb½îý‘3Êì|"þrFÙšKûý1ï÷IïIÞ[—ƒ,_Ï÷Q“©©¾£räÛjù¶Z¾­–¼Õ²+8ö®àÝ'ƒ{Çš,Ù­±bødÕ•øÇ~Ì/Î7 ìj®ÚþëwÖ>?-OÚj.õBl“5ç<ãæÒ5çŠ ½X5©–ÛÛbr3ýŸcZSoØwUEÛñجZâÛö~z[QIL¶“Ö²Mâñ‘dD÷3mœ{’?ÕÔg2¦‹~$,ù“+´Ô3&ÊšJR-7Ü4SŽ·KÖ«Ùð N;ÝšY¿zc‚vѼ¶…ŽmÉk8dN·f܆g²æ,^šKW0÷Enœ›¾”å&í|+^_f|QÅ­³ïW\ûGÉY]÷C½¦Õº,WbÛpµ,«gºZ>ÑJ7·Æˆ»­9¦#œÍ£oµdd͵Øç˜ô–xàÖŽóÇùŠopt܆‡Å&·^¯ÿÅÌ“/”|ßê™WßßXñš»[Eµ¹uå=D¡µ5_4×לšN ëT.±¼ñvæ­µýT´<ÃÏÀ +ê~ `\õ¸1YóMëϘK¯Ü ?1ÛµÓ¥NnËÊ•3k ®¹õ®ÿÍ­½¹õ©uff¾ÒÅ­fÀNZç‡zñÊ6Ö¨z5,műîÌÒÜúÙY ĚߨÏ6§îë^>¸Ýõ4»s q“5÷À—¹µhÇšû:Í­y=}Ÿ|ßvµ…ÌíwsðMÜ:o#\â®~[?¹µç·Ü¥€Þî|ýµ\ £¿æþê³ÔüÖí¿uûoÝþ¯Û׈ëÊžàUotÖÂDÄPñóIE–öùH?^š+oo±æ,±7ö*¢V½å<{0ÿØŠÃÁ./‡z€W} †zlÆ‹#r½·æÒèÙ<§í·÷ù…Ï‘yw,Nƒ‘{õZ<ËlHë ¾5–ÜŸ_O›Ðzu¯Nµäø4¢e(~-|~j…ðl¦1½t^Æ’Õá7[Ÿþyþ’³ƒšé¢ä ýl}ãG1¡Ë/UPªäÆ"36¼ ‚mJ—^uhÛð#ýI—^tÓlg~lïôC¹Õ6m®|štiåôd­¬¥T«¯z¨ª½ÑÜúÄ(RskŽÁ7·^Ñf©ž8¸VMðå5†üÜÚÚ{˯ïsþ™éM/‚`ÉwFš(\I:ÕA&¼<9ýë‹4°*%á9¬ÌG}˜‹ƒiì¸VÇýø°›:Ä×kâÖÓñµšI8–^_ùŸW“BæÔÌÍ\ß…5 ©bhìrÞ&®"œj=›K¯v §F—'|£Ä¥]˜~«Hß*Ò·ŠôW‘TFU• •¬|©m‰«ÑøUßÉÇ·FA£ÃÓ\¤•<á›EÔà ÁÀÌw‡yÒ E¶S¸' aqÙ£µÓÃ¥þ†G¨÷S+:e×1YqtSMéÖõ“5ÇܬkâÒs¨àKs½vÚ¡‹W֜߂^¡»ÛÔ¡QYÙ6|Åñ;]úcÿæ>¿7ç«óóSÑã8è£ë§thèKØúâ,©¶âº:®VJ! ßkáó¶â¸sksé†ÞÕùåÄNluþ¦1þ ÷úŸGø.#?œ °I0ø±ùIÖ³wŠ£L <µKçtýÁ½½íŸ‡úã¼}l'LWmüçUû¸Ÿí_™¿¶—ÎyŠ[^Ïßöïë2m/í“þ8ù?ž2]•3Àû,ßã?xÄÿ23üí'ìëõ<&û?õ\Þù?Ît¯ü-Ó9a¾ìùòçÛôç]žh?ùó?Î9ÉAŸüóYüåöüë—õ_=Èêqý-£ýOe¸×ãýMÿ»ßœ€ß­‡©å~e«šPf°¸++j «¥ÜÎ…í—ß\ïÒN øù7éçsa‹„úÚò¼•Päñã¨WÛûzó[·uâ³îÌ{ͪPɲáÖ»ã¾ä=ÝR—Eô‘;8öçüÃ¥³1e—ôغ¬ÃRÙÛGÙ§íþ~—¼‡¤d™>ÒŸÏÂ'•”ÿ`ïçˆ}Åía%ÌÙÆöÅ×y6^PK;f 4š§„9³%ÓÍ|${sÙW½MÖ3½<Ý1Ù×çÏk´ÖÛðÞ£ýÚãûeòfï÷ñ_=â+öõ:]ÓØ¦Ü dÃ÷çÅgýçCñ.3¦²ÈÉ¢–¯ãüˇ͑É9ëã•à›1á?onà_o&¾nÑ}½æG&üçƒI B9#ÏgA3僿HÎr©áLå‹õÿ¨ÜA×suñêÂÔ÷ÛÜÏs~..EÌçRÅ¥í\&ÏùË|ÞÞÚû3ÿ¬¡å!ÿåüý”sþS&°Ná!þùòCýëùë)çüÇŸ™Â%‡ùçgí¯5K?¯õ£þáç.þ*/f;e¿—óNÆ»˜šË5wÂï7å_昿äœO>‡>?*zñߥÃü£ÏÇál÷™æìè“ð·ã¯ûYßÙrþÖXÿ~‚þ¼3øºüíç}g¦¯Œõï÷ÇçÏg÷/ëˆÿ¥ä¿RCyµ2þªfTÀæòb._þÕûÿG•.÷ÿ'5Ž«oÅ'_ÿÊ…ÿ¯—'×Gyò~ªÿ5”¿•8ï’æ³ zg—¿5sÿ×ë4{Éþųø£n:Uc_u–wIôQ#q›é?߸ø×U ÿµšÿÂÉþ÷bïp†}eÐù›4}?[/þç xç®ýZ¢ýq]zkׄß¹½55¦§öÌg=ÿî_WâÿÚN{ç³?rà»öGõ{®”ÿ7çÏÿæÖáêÿ§º1þÚ…äñ¿(ç>„×Áÿ,X?Nuªüµ›ä±VöÙŸõQþ½?ë½’~|äÏ?^™ûwÿ©ÇôßZ ýw7þ¹Ïúÿ|uó?ΘV7ÏêæŸoÕP;øk ãÿ€jÃß2Èß¿ÈóËÒÓc¶ó[b>¿úŸ˜Ï·öooÝ_;‰þ}9ÿ|(þÏ.'Žíçê—úãçF]·ÀºÎœ?)?â¬[9öé¤Ôý~æ-êîŸ?;ÝpïÓAêž/û”Pïè²vÊ T^H‚õÏI`Œ÷g/û¯D<Óò_—%ý}¿©õo”Û=ýá”mÔM˜SBêYÕ žþcúãÏý%ißëUÎÑ/ߪßðèÒýî?–··œäp[§?œ²â>O φû^οáècì¼Ípð6wJïs'Xß¼ï÷‚_“µ~¼wý‡SŽ?RBŽ7júÃIûÊÞI!ULrUþXõÇŸ;L?¢ò—«O•yå#£ê Ü;mÍËë€ÇʾͺÆàÏæÒåͰcªí‹ç/„r_ÚÚ†ÿOœ.­¨k±æ{yÅíÍ­5ñ¢­x¹JU=skL–ß&+^eü5¥[W¿X¹Ã•kñ͉õ~%uŸFÛðŸíÜ‚éÖå*5[óŸß¡ä6—®û$·åKµéyÂl™¸õOá}=Í­}ÞæÖ>?ÿÞû¯òôÞÛ†ÿä›íœÒ­ëùl·.W´çeÉËoqæÖ•oN¸–༊ùº}âØß3qi×¾\àåWù|< ò}¬ù} ¿“¿o} _‡[Ãsm;óñ¼Óaq`â¬ùö _‡[¯òwløŽ|ÝéÒ˜È4Ú†oÈ×n½(°‚-9&']nüXnyÝyïxv< [ñr~.ÿsëŸÄ¾ÍÖ|G~on}"ÿWž©|ëç‰{{/Í­ŠÌÊïÍ­uÞæ¹ŸïýõrŸ¬ù¢|eNsݶpkÜ뺇±Í+¿ÏéÔ'òÿxvœ×x.äó>¾ò³8÷÷LÜÚçu`Ÿ}ïß|:^݃pëò¯<ú=q>÷û‘|¥|„øä[sëë½óS•?c_´”ç&_?qiÆ€Ÿö#]>’g/Ôéw±ÒÅ ¹tÝ¢úl™[—'kº?‹þüùsX½õY¸«>Tí/VþÌ£«‚¸ööÑ:McI_Dðþú˜å¨ùˆ}|¼ôq*GùºyáÒ5ù´|Â’ŠÎo*ùS_>–\_*>]áq‚€¯85Ž®ƒT% SŠ’‚*Ù:ÿ*„5ÃcN2I °korüºoÕ„œ¢Z¢¹å*¤©dÕÚ¯*y餫ð“k«Êÿs“.Ô¯ÓÈ÷Æ‘Úóàóef¨J} ¡ÔÉû+h…‡"&¡Ç5懇(2}ªm›ª&DÊ—’:‰Ôà§:½®dJ2A»frè±LI&ÝÀrìƒülsjZ$É­¤që;Áàöù?|V¿ŸƒðÙù,;ÁàŸx§ý[ï¬þ?“?”{NÒ.µ]+ÙUs­]µtÕ†Ò&êv”=s -.5zÒ~í¦®Û§sc­ãWû´šuõˆk‚uúãÜ+2°ÿpÊqé‘uJÈâ,ô³ÝsËîÌmåü;ñzGçôÛ¹jÙæ?œrúZðÇ9“×&ç|µ¯«ÖmÀC·ÀCy§ÜÓÞW61?úÉé,-k¾ú69!ŒíóJB›p}¦¤­è8æ?œ„ÑVÚ_Õ²À&ƒ™WF¯ði(Å’zo+¼â ¥¬‰GÿúVì,RdrƒtÝø˜/¿.¶Y^²CÿÔ§æg ýýS%©K²!D@ËÇPªrøyÅþ<þŸF‘n æ Õ ñíÜ>ÔFQ¾ìÓ†–è Ù8}q‡wÕ«Lo¬©3æÖ5Mr¯P¶áí€N—Æ›§­ù¦Å<úD…}ZõtTйêëܞɊ×Ô£gmn=_OÙ™×TÌú²UXŽ ñƒvøà}™8×£ÚlÀŒ¢Já­àñKÍr@)Öœg;tT­´)§p=ýjY×àºûyp2ÚdÉ«U~MÜúBÎh+^=õÆÔþ«ådk®÷g>é:ä(å â˜™*n}Vú´}ôúΙÑ{J­wõĘK?œ¤Wsê:j¢ò>8‘=áÖšôg}±En]­Ä=LháWè„ñä@[r„O¹î>/é>/[sžW_Ÿ¯W“ _üÝ?ø®û7&n½ª§læk?÷pçæ ®¸v1„áÍ05Xà ܚ³”Ã_z™ø¬·n}pÆ\eûêÕêa¹Û6×û”të­õ‹ï(vš[+¤Îlí^æ~^ah¢_œï\skß¿ûO~ÞïthÞW„­ëuxÑš{¹îÍ£k5°gâÖU¸¬·.;>¸tå»pk?sê<,Ç0Ï×<úàßæÖ5¼®ùé¡@èŸÒüZ&Lyj <[cí$ÉÒ>ˆwæ}«ó`ÆŠâ‰ÿ…-çÆ’.¦…§Ò[“W3¡ófÇ1û,Æ[£H\'n½"Rj_¿µœD^·ëÎ¥!"tÕ3j<‰5ïß³mÍ(ªÿFk¦+ŠôÍxÇ ~Þíêü”«ªc'Q! âÚÖ¸šS*åççÐßÌÔˆ\CtMÈV7zJ·î°}ðSC½_Žl°'4ܺzÿ*€‹¹µj¬®W…›U\ Ö„SÏGÏÚlè¥Ó šÝôK’IÚ)I qƒ…­ªõšÛÙa’B|P7IÏ…}iˆæ§àÿkN¨ŸWc¡ÿHÊ©Ž‡l!poêxp‚Á>•uþÃ)ê·ègQS4$E[õ:ДQNmœ|Ùý…T @R žÙ¡[úépS×ó¹z0ÛmâËà™þÀ>«áQ«µÿPʹèA8Á·Ý]‡ìª®{²¿÷w:4z –ù§œîKx÷!lŸ›ìð¥¾.9ý×{‹ ¿¿Sæ¾ ¾GUZ,Êí虼Ú&a»”û“b€wçõ^y[Û$ÔÍ«ì¿#+mÈLómAd23ªßC·ËöÑÍø<žy®ÓÇΞçœrºHRÈõÇM’¡:3†x› ¯ß9ç>庤œ*œ`p+#'Áà¶oÞàK/ì®7¸zŒ’ðù“ÜéAŠòyÙø–6dt÷¢øãy‚¢÷ ”¬C®ú—Ÿ¿&U~©±ÇZ¤z8ƒbì ©±#tÓ©¾‚‡ñ=ªö¬XÐI·¾ùìˆs€„Z”ûGßÅÚÜÚû‰÷ñ*P'âyØeC‹)6Ü_l§»oãã|²Ý…Z~si]O-ÎU•‰©ÕŒï¹¨d½8GL(//©’õžŒ˜PE®pªäO©´øß°Ÿ%ITVð¿Bå¹A×5›ÀÓõ6g„•U;Ö7wÔöjXöB­]4âÖ§ºhbÍo5ÌÍ­éçͯ.æÖÕµ„5lÍkúš¸ôO# wÛl÷°¡n]/_ õìüß8ƈدpƒ³_/¼NáÖÕ ÇÒà¶íç~Ìk8u.²c‘ÂSöFC»­ùëlnÍŽ“¶æìÀh.]}¬û˜´5ô^!gè*1xý/nýL|Òuœ™CË!vâÇúN‡^ŸšKWQ9sk_¿¯#Ï­ï3¹´¯ß÷Û÷yôÜÄ­—ýƒSor0·®†0ŽNí|…ŽE$Z‚cÚ/Ë–!gQrëc“%+·f$²Ù’s@«¹uuàÉ6ˆàØéÔêØ‹5?9ÆÞš€7Ü?æß5ÔÍ­OŸ¸^ÁÉ÷3÷UÜ¿÷þnu8ÉV<³1¦ý¸œös“»JŽ?ïóøÛô%Ðwâ'‹ž³ïeü"Ú?¢°ÏÉØZçÜOãý©ûÃCÁŸJx ,ýi´5WX§péjC^úwbN¹2ÞÂ6­ŒGf–9Mj»4ö=?ôéá».²:´™^¶XqŒ“lÍ­ë冣‰lø¥ñ§_ï—m8?rõ²ŸÌ‡º÷ÏAäë@)¬œÛ†°úü—@©êÃó¿F70˜"¡‘ ™…fú­Ð>ÿVƒ¬©(éÅÞà †óP*Ê«»ž©˜TåÕŸK”RÕWPJÝ4@ÔàpeÕ7w´¾Ÿçþñ÷+ÑŸKùYèêy*ðG·a»ÝëžÛ¤sÛu|ýÓÿYÿôuù_ôOgßÑ”@W£ËNæòGÇr%h{“ªA0o}s>væ÷Gºµª–s>ï9)ƒñé)åº?¶hð|üÑ·qÁ¢&t°gþêï$ö×ÍŽò!xtc›ÿpÒWC'…ÀUþpùÃI¼ ´=n,ì‡êϪik7¸sâÒp*Z÷é¤ÐåhÚB z î§mnÑiÿþüÑwO7ëºëëžåã´ø×l£„¨ÕÆ ¶âpÂ{š[Ã!뚬øÏ Y cJÞÅï\ƒï\ƒÿ—çü+·Ý?Ý{ǯc”Y1ÎÒ•[µî³/b ×ÈsÕQùxo·†‡ÂÑ6ü@‡G§K?j¸Ûšßò0fÇ ¾Ak`Ÿ¬y=“G¿ÛÚÜ:×#®ëÛÚXÜfžî9\Ø1æÖ=ˇ\ú9Üá}÷³où<íøÍÜZ3GÌ£5%\3pN̪/!ºß®³+~®ÚNÜ:çek®óš¯Ï׿\÷-|s뮘7<Ö¶NÜZÏ=ÜZù¢übÊ¢+ f.ËÌ<šÝ^Í­7ø ½xô6ñYW·­¾‚XÒú¦½?,8‡%š[ïÒûg‡Bskúµ5¿ÐmÐÜú–¾?øC?Àpë§õ'?ï~÷}-ß™zNUëªçx°{¯íÄ+¿ÌéÛùç}Ëv®eð‹‚¢øàŒ«ª Sb!é½mãjÍÉÐè":Ú†?pDêtéÝc²æ‡»¿Ä­ÿ¸ æ'±š[ë&úâ|­ôGzá=¼Ç´µ%=X‚%]L O¥÷>ú>.»¬œR­Žå¾[kt)ÜšŽ½ïÇwçÒPI¯zF!ÂÔ°D›•ëkÜa?/Iy1ÛýTèAÔâwŒFì’DU«ÆTõÀÖ¸úe¦TÈÏÏa0¾™]#R­ýsV©8ýh;ݺÀþÁÕš™–óÆlSø–>]וFß[-à`.íºðÿ4?w¢ ­úº¡¥º²Ó w³=M~΄[4ï ÝïIróܸôQ$©‰;+þ2ïm¨$$©çÏ9éc²Ý5ýñž¢·b[x-½'Ò]á–šH'ú1‘NÔéÐ Ëž^O¤»!xÉÏ‹(ùÞ8ò;‘ÎIÿN¤SþPî©3.gvã©{νS©ºÚ¥jåç<ÚQûON»û¯L®ûvöÿSýé¿Þ1ó—þë…ïƌؕŸ?œÂœ5% 8¹›_ÕNj‚ÚÂ9'…àë<æ$“ä¿Î»!ÚæÖ¨gR”GÍ-~ÈE%/–%¦’ø ÿœ9>œÿsïP$ÿÔ'M-?6¶ä®¾ƒßÁ‚ÿ§ þ»›0+Ǫkeo-Ï ß_[âZÁþ÷*ù—"Ó ü§ P«¶§|[C®"Öüðª†ÃÒX;=Üzeïq5ü…EÚØÄ~mÃéwÔéÒÞ­9†ÖæÑ:4€u|ï7CÖ;'Wf{ëϵÒë›[ãÉ»‡â`Ç…÷oø_¡zŸ0Š®/1÷Ü9îXî¿Îù°’>ú™~“=Æë˜°uum z-kŽ©PÛ+=Øóé“m^8szëãeÁ.ë|ªG¸úʧ q˜ÆÙܺRõ1ÅŠE=¾âÖc•^?øI. GÒ¥íÌëYÍéÐŒ©ÔÖ|cor¸´ïç­XP7i÷Zµ˜­ùEÓpk¼¤ûdwÚÏý˜c6lyU-¼ÞGC@ 省ùþÐAº95lnÌüàu†[œOøÊ{.­ûrTû{¯ó;q¨g>ë烗ÞuþæÖqi;qÜ)š#Í­×¾6ßú~÷ý_õÜÌ¥ÏëÍ­ëMÞωKìü ·v¾Ž;¦±[t¸Ž—%g,±æÖí²mÎѯN‡Îû­|îóø<¯¼z—_ÜvýàSy3•C,gX½{#5»ùšz¥á;z,So$5{#—‘ú*°¬œéq~b›O§â Ã\¦¶á :;]ZŸûÄ!u+¨Û6JhÀOöÔÆq‹Æ› °S&Ý ‹-LJ•·üó¼8µ†3c›c¸oJ§>ñÅkÛœ³ÓQ+¦vqqØ.µXq;˜ÇñàäŒÛp }&ýyXd›ë%©!ªFuŸs‰1¿®N¢xªK2ì§¼QT›»zîcIŽ RÞŠàb+\µ¹£)eWôZ«‘Šƒj¬?üd3LŸY~!pJ9…´!D)(50(†¼@©¹ÎÓ¨*EIÙdo³Ñbú­+Tÿªð_¹îü÷9ß|{²ÿ_íÉλÃãçÍ=÷.Aà“¶œo*ü]!{UÄŽÝžöÛœê8tßf÷‡²gï¿Ð»ýÿûÿqØ”|rmathgl-2.1.3.1/fonts/STIX_bi.vfm0000664000175000017500000162043512142400471016030 0ustar balakinbalakin‹/EùISTIX_bi.vfmìý;“%K’¤ ¿"ˆ>Cú~ ‹, ¼ ,ÚÀÌÐ4½4ÓÈþûþXì¸Ç›UÙ5YUYYNUy-üØy˜©©ŠŠ°°°üß~þ¯ÿíÿï?ÿŸÿ¯ÿùÿýÿø_þ÷ÿåÿø/ÿõÿþßþëÿüßÿËÿôßþûÿúóû/ÿçÏÓöÏÿÏýÿýÿ·ÿóçý{œÿ©­9Î:Zo?zÿÙVW–Ÿ£ý¬íÞ1~ôñ³ïøßüy×Ï/÷Rïú÷¾ã?ëz^ïçüè‹×O|W¼xy}žò#^›µþ¬£ÿì÷Ä«7þW«~öüœ;¾¦õŸëŒ8V¹+~#Þsvüïçí%~'^oë¶£ülmèG¯~[ïo;~{T¿o,ñ¸Ä8q÷øw£‹ª+~¸–æô^OœŠë9ñƦK;?õú¨úÁ»ôåcµŸM—;Ú(?ÆäGâôŒƒîoŒß³x¿.~j4ø¢ÑÖ±¹ ½çûg÷.)Æ»ÎÓ~®Â‰ï¿ØøØ.ñ&~ø–õcNÄןºíxråǬœØñ“'.akœf?ñ‰¼í¸â×Z‡NœÑ~ÌΉ©süŒ?ãÄ‹?¸*ÝÈ?—¾jµ˜Ó;†©õתË]K?îç}«ž÷øyt¹k—8±}Uñ‰YÖÏ­ËÝ-î| f›îI¿±×ŠO\NÄÕ´¯jàú>{ýˆÁÑ3Ú?[\üO=ÕƒöcU^ŽO¸ŠÁË1 âi=ïŽçÝ­¶«?£ÔÎ9º.ˆÁÐ}Æ$¯5.¸è±W>³bÞ¬ùsÄ%͵øàЉÛWœXœ¸•ø÷Õ=Üø–ksbköÅEéWFiµüˆ!1 â|_ñvMÀQ–~þò‰£{ŒI«§8j™åG|‡Nè÷rŒ³ž1”úªxmÔ/­1MÙøD N‹;oŒ;ÑWÆÂ»ýØ^Ù1—†&³ähwƉñL„˜{åçÔ$é5î|ÏçªÆò1NŒ?¾ô«±–ãbLÖÍÝq"n®ÔŸ1šãÆ–NÄÄUùÎã[f‰ßºÁ±Vüøõt ¸A-µqãÎwö3¾q¶Ýx_5S×ã;á‰Kmš†º“¹ãW´"4ð÷ç\½ø3k„y KÔãn®¬L<÷ªÙ;–TýLLµyãßšcO˜üL|Ç*3ïxˆÇ]Ûb5 }Õ‘9¾ù˜Ú«Ý᛹'ŽÇ1$žêÏ£{<;ìg,ýxLí%»05*·öÃ5–@¬¾øªxžq"néǵukš ÖfÄÀlj–féõÓW·wûçûcÆùý7æO|«È:º÷°%æýë%_sâŠ/ÇLÐGe<Ž^?Xá8Öåîgå¯_×'ªîÀ¦-îu—íá›e·8¦­°8ÂÄ÷éDÕf¢‡‚y‘¡èZE?SWŒyqÕ§bšìy=Mf\‘>Õ¸´¸ðx:KÇ8³b­‡ù÷÷ Í}×À.ëêjLˆxâñèÖOͧ˜ûíüдÒ@Æú:}VÜsê–ÏÄgâaèâŒf 3>³ÂNȎφ.Î?–?³X+eÆF§3—u;ãÏŸ’sK!¶'_ÝÕ½éºc[Œ««õÙ1b7l‡Ý¯>c;üŽv0sï°¨±¿úQhóŽ {ØmºF(þb³ßÙZGgŽÆ[ÛEœ‰÷ÞóV[rŒûÕx´ÅŒ9²‹qj}ÝöeÇ]ÝÎÑó»'6ñ3‡çWÙ•=D+|}ʶOÛL‰½’_1éâTóŒÐ¬*3æþ±âªãv›'¿µµgkëÍW§×®ï)7€¾yµÛ‘Ü‹†[?Æ]mjö±7í qLýXÅ+n8Ÿ¹œ9¾¾v¾n±ˆdÂ[YlÇ«sWq§º=pí ld+¶ÑøÂå'¥ù£UÄ®¸úÕ°çþTåiÄÞ[ü¯0a=®pÙNËMªçz÷Z±vô¹ùì³1fñD|jj u÷q_W>ÕáþÖ”;T×NÇ@j¬5ŸÔS^ïý9î¿zƒSÔô…W6Ü6TCs'ÎíØ-hàj,õ£¯”½Ñ–±öŽm©nÏ\œ»˜.LÐux*qµ#–ƒöÏÚ|‰gk]íþ¸Y]«˜OÄœŽ#¯ÏhÞÚ¡“X÷Û9‹aó§îàwŠi§íœ9<·8¥•Û à¶†o[4qä9yßA ÅÝ|êrjã:Åûx’1~q§<SÏÀdî"'±¹,7 >÷Õ]¦ž#.Ýf®iBà!ì–~D§0µá®ÈçˆSC–á¦C3±Ï6;œNyW—s0årk“Þ±ãê ÷ç©£Có$¶Y]Fürf_ÑXhFÆ„—E¹6l2‹±æes'o˜ÿ˜÷vYÞñ5šøÊ˜:-öº÷)¹‰œºmêSí})ì·šûžðŠZñˆ`ÇbËÕïjú•XqÒ†^[÷Ž gÿ­ôðý?O1\:%köC6íAkNǃñ[]_¸ŸýA“i°äxëSvõ´¶¼Cýã(.ˆSvö´ôwlœ ƒÆ4ï˜S‡Ÿk£æô˜Xqª~žÂuàÔúT{ÿÖòáµyy­öt5 KE錩k”߯IÅe'þ’ó~fÕ€ÄÖ÷ƒ7V¦àÄVª+Yï+¹EׯŸ‹½T§¶o-Þ[ú!'†J§Îç)yu>uõ\ªD—6ñ°Ð"`Ñ]7ˆ¶¬˜úÉŠg"ëÒ ¯•˜Hq[Ÿ‹hE§§â£1‘Ž—ã 7"fOËÝ%\Ž˜.D›º·ˆŸõ9ï.ò=âÁ·œÊ7vœ_Nžñœ ÷FWšÑ_\LÕÐý]™’8•{LìŸñ¬4ÇKÇ6ruò|995ÒZáׄ…w|9¹ ŠN-žžcSµ?zÒÛ׺=¹J1Z<2•1Ýô›•ã6Èi ×RáEœb!ôþyj…MæÔKŸöYõg8$¾ì†ò  Çx‡SàÝðj‘Å9»J±ÑÆï»87\Q}£ôÞ»'î=2rŠujêSc;‹/Ö´M,äâŤ%ŠÍ!vŽ6ì*iïë[ε$nZ§*nYíŠÛ¯ž¬°‰gãÑ]m$[ó¦°$Gÿ<;ŸOU…Ñm¤+2¦"í%UÑrü^|\I„ƒu†+LRœ\y2¾jÈë½úÎn}§·`E5)ÄÜоÛÃnÆ©óxLñÐb®ë.KD¢úÔõÍÉÂ…oÿü\¸Äqr–/'#^È“áÎÇ—N‹3\è"ç2Œa˜Ü8Õü¹˜„ááhëŽ'wÑÉžO\6UWã/%Îl‰h-ÄÆÐøGܹÌÀÌ™¢/]S›¾Õ˜ìá8µ™A¥Î¸ó¡q #c–ÊÅy‰)uõ©#×D Š]0FjËsâ1\í¸qÙ¹bc¨6›ÖC +_¹¼ùȳÙCÛHÓÒmºõU?mÄVÔ¯'·&Ëzo?áÝUÿ#~Aw·rõˆ)ЍXññýÐ?¿vô‡æ‘ŒNyL8¥X^àXí ׃®4!;aòõxpÀâÔæSœÂÒ½µu>ëŽü-Â7y~Ïo]9¯ü–\ŽmÛžhZÝfĦ)ê‹ñÎ2€•âÜÀßÄ\]È~o? ÿО­SikÅ_¹<«ð½´îñø!JÎbl–E—âêX´s,}êhÛ#BìZ›bqP³¶=$rÜʔǦ;ˆ{Ñü˜LŸ05p€+7*žâEõr‰“eP» Û)é½Ä¯U~¦R'W¡šÂÐ .¹bø~´ûìÌ:ÉäuˆÇ£ &ÝYÅ4Š1ðßÙ5äP]csº®£Ì"‰YÅ—&BÍ^tö®SƒOé›G¿ž÷±Fdý×ì<ã衲~®·£/ ÷—y^æØõæ_6´Vkƒ’±Ñƒ”Ë'¬¿\ç8%¦]o>²pSŽÅí•篇JÄ÷0¹\¶µX\qª4Ñ)V¸~ Qø…>E^a â:%p*¦·AÿØD"°ÂªëÎŒüèéÌÊRÍ+¬X{ÞP@޼Ѧ°JLÙÓÛ‚NÅÇ;5b«Ža°ZxKœnÑ…ïÅ9íÆ—ÅÉåxcô}EøþS¡Gü§ ñˆèB–†˜ÛŽˆgýèõY=‚<Ö¢Ïmm‘=AyM£)Ç&n\­nBNèÖì<'n\.­¼>vµºì=Ü0Ž?ØøìOÄoÌçÔ=úµi‡P{Z„ŠlÂ[GàGO,G«9üñ•§"ŠŽSÛŸRfD§ª`ï–3øÔi hø¬j@SO;&YxB/b~iƒfñŸxlyjO²7;µço… KGÕ}µöžtGˆ¤†xÄü‹‹ovðeÖÏè:t*\ýÊAxß×.ZÛ8CIŒ°ö¹ãBn7¯+téòdÙ÷unhk×U+U#Òìáë*¯F¥(Â;\:u¼ …Ò2R:ÕùÊÃ2ñ`KË:"®S®­<ûÇ(€Üúµ˜#ñ¹Î¤Òth¿†T”tëÞu0¦"І3¥ïýIÝŒ¢‘Ôî1n!¯7žPCO¸ø©E<¢OÙÂê”l‡=¾{ø­´¯…GTÁí"É×Ó¼rNkWJûÈí Æ‚s¾yÛœ•…ßõ"Œy³IÃÅÉ0jqrd`l²ôwâØ…çÕ‡15Ý],øÆŸá-×[\K ááÙÇöW4*Ù%b«Ç³S›_Ë8n=VHG8ja³ãTÆÂ:K÷ó;¥ŸŠÏ hˆSGseæ®#L„ì÷Še^Ÿûp¸jË,NÊoë+ƒ­öpÖÁexŸX•å$§c lÐZXC¸L_¹+煕ӽ͡Mi= AÜ÷Çhœd¯™Ã(<@Gȱ¦''×;–WÖ騬í‹Ùï`#ž&!ÎË_}òñRbneƒ|mÆ>úÚ½„KÖM ó¸?cäX7G'¦Ç´ŸÑÑ@ ß²q²9‰§‹ÖP)~É¡ù² 2É= ä(o!?D —¥ ÖÃéÙ1]âÓ§½ìX›Úz#&Ñæ”™DÍIͲ‹-TÓl{ Šu8.±> C³›"ïï¶tw· eœòk).°;żcƉc`7EY·«ü¼ûJöã-¨ë·¶ðn•|™ZÁ¸)œ:Fb·×=ãÓ1ׯ;aqJ~?KŠ4ˆ«AhЊ<ìI±›]Mˆâù1”øè±´¢ê·²ˆ£´'×6‹’ÕÚe6x\†q qÍr´­ó•'–ÅAë\ŠOiö]!ïl ¬AØ)h®pû%ELÊb†È§“Ó}6Å)Ñ+ªîvVݨnû(­§žýBÙá êÆÉµõkò¯lÃÄê·9YãÞ í¹±¸åÉO!KžéÂÛÑŒÜ an Å3›Âø°è‚…´„§ü[Öò‰$®S‘ö¤œì z’'ì¼]b6˜ì'ö‹¸”þ„ÿB‘p29øGòÇ0¤’»îD‘Ê™²Ã#Èò¿ãúx‘ÄÀGX³p&œÿj‚ã×È…Çb3‚(tK@ÃÀy ã¬ò8†H+Pˆ./Ì4©ñ;2Úx¶N)Äáëä›i~‘ÒSë VåJx 퇞ÓYÎX%énDzŽÏÍòä‰âä(pd4Ž<ŸYž}^8•|<@£Ø;N>û¼² s%öË<ž÷LÀWS`’`2ÜÂo¦‡¬ç=å4ÉbÄœÃ>—ƒ—XRs מ °‰k&ÁS®²8Ý· j²>•%€j«¦`?nB³;NéáLÝOÝ-6Š]#=í¾*Oûv¥v•ù"R×§fËy»áŽë· A êaŒ¶N%è7qºâCYû;.rzŽÐΚAžžú’e(xÀ1Ç^²ðÉöc}fÇgl/0FùêSÚM»Ü¶¹IÝÀ–ƒ³J‘ð?ªÝ¢»•x[‚Úð)í^€&'6ô85ÅÁ㉑gWu!Gî`v9ÃKçâ$›@XÆ­ òcúm¥”e4î•ÿ¿È,¼–&F; (ÐzÉz…ÉUé¸:@'6EšüÊ‘À’¯ñ¦öêU ˆ 9v³ô;Õ"S®4yœÛ›! $œë8ÕZÀd7:úÆØÃâ:êSÄ \ÔÄats ×–ÝϘhÝhOÄX‹q2y1.| m‡pè÷„T=ʘ3ÎHİÄ)-ð)BJÌ&º=Ã8%ÜK§.AœRà,Ü>ï;æË\Jø6qßJŠu$3/$V´¹¿ß(?È_l=p=Ô8Ö Nv3ô`‹`ç ~ÄãZÍàD…ÆBf€ð0b}’Íß?Ö2Œ'…=Å^(gÈ”¿Ê˜é.c‘ë5 Æ8÷C1ªšF¦)G§îÒ)ïu[;O%¼¡x¸?DbC’h$v-UÈ„áQÊßÓVc1¡Mu(wqªÉ£ÓhÇÍÆ ig?\+Ha‹~?FMx¦/dÈ5Ðþ¬I¦m’l‚üÃð¡4“: ^³5îDŽ0PYÕºëm„鯲5ì„~Ëa…ˆE]|=»:eÚd²´Ï Y7úükX†dùßZV2Z™“SJ^/2 q± &Ž`9Í"}Né·¦þË)Ük´Œ5âÆÂ…!ª“GT¾Öæ?# ¤¢._áŠF1®qˆ$8BÙ%šò´ÖâÛåòèSrÐ~ȧU£íh‰aéùÜ^¹Øl?eI{ Åâ×Lc+—â<98qJ µõNˆ¦æ}GŸ‹ŸKz¥œ^öCeâTe‰k¸äÙd´&¨tÍö[–ü­°x}kÒÍÌSë Æk ¡Ó©ñ@¶kâ. L™QñÄý‚&àêêÔ°laõE ‹S2 ðn#”Ô§`M]†ÝL#]¾f‚Xú Rt|*LºWw-åιŒðgâ¾t“‰±÷®ËÐWÇ©êS±°I_3PKûââ`Æh, ½‚+¾qJô5ÁU?TR_x°¿:~[œš,%1ñbzOˆ‰ÉoÉb=S0Å~¿mr¦À˜†#¼v'î:¹¹³ÃÉ-–Ьltá±ùòu“ *Bª\œ:š¨;g‡Èt£tgaÉ‹Ÿ•›–%ØW¡—œ¦"žÅ Ÿ'Î'+u²2úࢤÖÖD¹9ÅÔ=\c,.ÑåâTƒFóS¦ØÃ¹mr© *éÐ)‰¾óLèÀÁ'Åól~Ö­¦4€bË®j¶Ó°+<’f 뤅 ©‚ž¿Â€oˆ›«dA1<±bSx´Â¿5¢Ê\ŒÝË¡P #6„c@Žñ¦Ú½µKcMb T[¡€q1·>v2bVaº‰Ût·=œ¶XøïSSÆðö'’ÛåS1D? Y ZÒϱé\Cô¢æj»ÎS8ÐK§” XéR‹GYªkí øìëšÇûJÄôìz:çÇþ¢øC6D^ŠC9ž8EŠ…‹¯Bª&é€p¸ìjB‘ÐBaCò Ú˜"×÷‰#•þìfWè*S¡k4ÈÃÍW×tugÃTSab(šÌ¯-ÇY¬¢.œVâ7µ>Œ¬ÜQmÒM ×îfaÆÆ±e‚Ù‚b¿¨úBÉÐÓD(ºŠÀvKŒåÀñSÊ[(îÖAs•'NúZÝ•oû±ö÷!Rœt±•EJ6J/'pk/²»=nÐ8Ùþ|Ä“d>•[’­ez™A¿Eçò'„ø+ZÞ»\¸3íZM!Ð?”³3Ä]:!²Û­ûá«oÅS¬ï85ô™óªÃÞƒŽÊ±(UŸºa~Ã2“ë7•Æýqáàäø*n'{$¼@çêC§ß“Z ±ë[{_Ç”Ï7ÆÄŽëT'M§…ÅÇã„lssç·b\…9äÞLYh04É<C›ãU)ë$¤VywÒs# AœÚµ>ÜÎêé¡o×î9<†½äéi˜ µãÔ}x÷±{™L§„ Ü€þSÆf)DTtÊåŒSí¡ÑÇ)¦¼N ‰pè÷ÒD”ý s¬©­à¦‰h§„³h%‡ÃçæÃ™ßÄ­šmŠÀõ)AÒÐâb¹àбQj;½ /Pˆ7r¹þ]áyk[SÀÉsµøºo™é+ιòyYGz´"b‹_®|ñáÊËÈeD±OÑ~Y99#l¸ãÙöuR93ŸŒp?®sô']·…qK¼¨"-tØ•ŠÌ×1hÒ#Ó#ÕÚ‘éSD.­BÉdwÆ»gßj–YœšzÚr”•H’ÍÊ7”R¹ìŽCC¸¯<"în(½s‡7| ó¹•/ñÌ~\PÇëVk“N«†Ynr\0ŸRJ‘O‘%»T"]ó)s S¢¿ÜÙß4ùÂê–7Fó©FÒ§t…$bãáÆÅ‹QÓ€‚NA!Q<]]†&Y×6.W#ʉ ºpj+ÒÎ|ä ýdxp” $VHÿž¢-SÿŠ“K£˜Ž2‰¤jw? mÁzB«·²Š¢Ã ˆXb}ĩʫh öã'ZVS(ÍÁLèoZi‚àuÊHb<îSå? RÅ"ö•€›¡%±]§¸|Ï"_†R|²ë[Ü6 …O‡20NEd£/TØSý4aÀ¤šÚÒ4˜?ðs( ˜‰Ø 9u8ãâTißò‡ÈNžZ ¢yâkj“îîÈüÊLÏÈŽ¢»;"HÉI˜1O”»}'ìëQ?—ª)ÄÕà/³5).Їœ"}c, ÕF•r”¡Â>ÒÝ1¥uj©ˆo?Kµ¥>UÀËÍŠ#S¬q-½˜dHág&¸Ç¶ª@\g˜ª‚ØäqÆ.:¥ú:¼‰ÿ›C×§Ì»:ÑûXj‡Ì‰zÑBâ”C›®Ë›døt J}QØ ÂEOgìð‹sr½U‘òS¼/¨@#ô¹‡ï«ŸÓú‘ áÙéœÐö´³Àõù å”kwã(™ç4ÇÃÔÏ$N ‚0…ˆÚ¨"⺶žÙÉH{—2Dñ´ãœré0N¸jzôq.¾ŸsÞ˜–€Ê0‘ñ “s÷©F‹Uºàqõ³…vR²šnE ü²[qTÙ¤sõÙÂÎÆ’Šf±…NT±‰H0¨–I¥fLÈLÆ9Ð&ãÙÀ‘‚<ÎQ…füSÏ¡óZ\hÍÝï\QXãÅQÕ5Åd?2‡èv>i£Ra ;HÂ…’!š‡™’Û<ÄvrÄæ{ÓëZª~š¶‹áÀ©^©$@ÖO?Љ»D¾qN>Èe’e5eO.à-=C%8Pj -g•A³§¥‘½ð€¯ “J1ež7\5Ý7ÿˆsT”áù¡+,\ìRU<ˆb¤ÝEÜ´Ø…)ÊÍŽ·ù[7øôU%×M›uU™¨sÂâ¨Óˆ!ˆ+ÌRç.ç*‘ѰáÌWF‹vÙõdÑ¥L…•˜„+Ö)&áîËú˜™ÖÉ\DuF‰Ù3U~IÝŽŠ¼ì±^W‚ kL72üŠ p߯Uç&WªH«ŠhÈz¿y‹"oÝaåW ¯ª¹âj8úlCáÆæZÎãJ†§OD­s××ò®‹¹bÎψáSUö ˜ºÎxüd÷ „“8§ô.ÞdøôÆ"b;**Z+Z¸ p늨¨h«âIP–ÊþuŸ&uËןîx€•TœaÊÉ( `uvú¬JÚÎT®Uq!Ÿ<¹ö˜Œ Ýdk.6ÀOÅ ÷å2à@€—q¤ˆ>]8i ã8œP (¥ð_¹ØdŸã¬ª!âŸ1N¤(W5T¬©!О§-ò¶ ÐÝE™Yqq^œ”êÎÙÍÚ¹÷Zb ªÛR’ëpJŒh’#FÙ‰\FgT;´:)œ¹§ßã²6UÀpGÐÛÁ¬)p*C°©š2{ûˆ‘¨»Jœ¼pÉ€ø¢GÔ0![+ŽêœÜþbÙÅX—3CÄ0d—/>þb¤tÀgû—‹^'‹ˆÄàª|:Ÿ¸ÖF禽ô‘tz~=­c8Ì$dŠŸÄAbº&6¶íüW W í_Æ’Ç$€P'O~±&ù¾,!]õ‰ú2õYp7`)NªLµ>yKÜj²'¿ ‹ñýùÙ)^Ã¥:@ ‰ñÌX6ÖmöaœŒaÓɯcuÎ5“0 [å†ÞsV¿{qÀô #F+|ú+Y“ÛÓ G¬g~x‚ŒáDÙŽ¼l%Í–óì°ï)NØœ|F‹Àýž•6%ħ=ZЇšÚX†Ç٪ѾL­1÷ÊÑZ$”ÅW/D•†/#<=ˆ–³«ðÝ ¬/lèC®Î… H©ðº¹ØâÆ´øùˆ›fµ—xìö<âö —XÄÕ å‡AèôúrÙlÞ#ä:^ÙNÎv¾Û).Nr-Ç«XÈâ>ãVRòžü˺mKj›i4{ؤ&G¤íqú2 ú3`œ²Cúòî!éÏ€A µ—®=D;ŠN÷ÏÕÚ:LsMÉ:ðéñåÂ;'Bìynõ˜]Šeàq‹!´&ºçˆM¾úZ߇:ìDÏ!S¡AˆE8ò±®ô"™Cб 9iÓïçÌoÃÊ–úeD‡îåsz6ÕqϱµzÝŒ\”Ue¤Ç&ƒ ‹àýÕ³× …gÓ7>7¦hÌÒ ™Ýñ,HýîÜkågÛ¼\Ö|›Íp!+5³ôÎ$ëËÄ^­œ¼f¡ð:ýL0ø¼Àþp†gçÈ Ö‰°.ø´ªtú~yŒë>d~¡˜úòY>oJGP  Ü«I^5ìñŽ*§ç¸æmxß§DUâ”2oòÿõ©Å)—aq‡tê|9% §0:·}9%Z§:6­¯ç”Ê›8E’[›ÕF^TˆðÉS$žËùì΃“ŒÝ¾_O®çä1ùÃן®!N^˜í(´d•½NO— äc‘i¡hŒóäáÛjmØ7\3Ìí€TÎÃ.l™úàm*°“ãªóJoIÀÎ2" ÁpK*mŒ~?"–ø˜ó#ŒïÇŠ¿Zÿ8å#~áãì;>nùØü{MˆwÆ»ÆÑ?ÆÔçãßñ™9â3zO¼ý|¼–>ú:±ßêØpâ„~"þÖÆßÏχkߟÿvý/>5ã]§Æ«ñÝñå1~-¾;6Žˆã÷ÊG8zqŒ¿w‰o‹¯ŠÏGl_Çø|¸ê>V½—ÙnûGlrñ¹8êó5^_ñùRãØ>Â7Ž×ã÷ã·bÏŠëˆcóõ„û—ßâ}ºó±ãס׻~óp›½Ç]wnïÆ%0¦ÅÇ­Ë‹·ÅW„OÇ—CVüLñ±ë¨Ÿ×1~vèsñ¾?·âüŠa™:vR—»·C¼?.¯,_v nÿë7 i\Kx@û\Sï â£/ Y¼ÃN¥n½®ÛÕo}®pMk¨±CrM/rM]¿­!¾…kjºç¸¦°!~$zÊ›ÿÓ8è8ýޯ׬ßî=~£Tg<¦¯ÇõêÈc×ën5=ôºÆ›cn~Ü¿P G düðkûÐâ{†®•ëjâÆ4+wòŠ~„#gêÚñ߯tÖ…_Žºy}™æ%ǘËú©sŠŸÞ•‡qMü»xÎÄÀ6æM¼¿nj¬kV¢^ß±âŠcx4-â49Ûôû~/]TãrㆵàâÝ]—oí]_­A¨Ì˾6k>\ ¦±§yŒoÕÒ¼žGñ]Cã{/G–K×e÷<–×/ϬÇ<ˆ×{<׈¨¸–àÖ¿õ µÇ`©5Í¿x†’cßàf—,Ýí¹sM6¿fF¬Mâ¸øB™‡«0–ÖѪ+|¢i¼ôkqE²÷#n[¿ÿ¨z¼ºb=Ó¦s˜ p˜°ù¸R]»¬\»LŒø”Þü׿p……Ó…UcP½tõ\Ž,]‹)¦¥Ëúhå5 M–¥‰á•¯w5]@Œ\m­–x’ñÄÂsã^X9Aæn¬¾¸M}_×g¯áøO¸]­ÆÍˆ„—É÷ô0p­7žN“UÒoÄ…‡ïÊj‰`Ä+PF3­ÙÓüzÓ|Ìž¦­ZÁ£§ßc–i¼cfE@ÄÄfÅÌò,jyÔlÑä×}MÏ&Ý_™XAyfŒf@\¿&Äóq\Xˈã¨U^™­­Ë‚]Æ­‡µyîóëlš[®säµùX7Y±Âµh¼<[«kµ¸_^—õÓµ[XÍ«ÁXNÏfÍö˜T­¤EÖ=js=:jeÉzz[Œ°úãh¨&s0Îê‚âÆb#‘Á]ˆÿJÕkÇ•bâÍ5úl‘ ›ªµªh±8Z¬ÓÕ3«nåÊ;wÒmŽâ'ÂÅðñø 3Š:¯=bvF­i¤4ëâ²zÜUc/[LjݳM3/Ì•þ–½ÑSéòd¦öºÆv=t½q}/]ÜǯOK{œlÐÔÞ™#(#§m$¾Rk¡éÙ0Å´,‹îÝÛküJŒ÷á¾6kãâ.h[Óèεfؼ4[ãÉmíè‡MAS©I>‹'Óö—Öãaa2ËjßÃm5mwZ˜Ä©Z4מ†¼nçÙÂÇnyo¼Šˆ:ù­±¦J\ Af·å„×D]‹]¢Ë]¸‹­Q^ »‹v„¸m:qé³äƒçÙL åKÃö*¾9ÂÍ8ê¡Ê~ÅÌø“…—NÄæF èú5 bWÐ’Þš”ë}åšš“ì¹xk²늟–>=fqÙñ™0üÛ.յѩúUíœÓƨêô,®Æÿ²È4õeÈ<åÓPéç;¬VŽ/ê—‰ ,§Â¾cgñf†F³ëɳ,>Žy­vd:NËeú„;ŸËãj>ÏO.&cÇœMÛiÄT\~“£ OÞÈÌœ¾<‰ŸëûzÍ3fZ\îˆK ã0âËûÒ4™ø­òWfe5ð+ØÑq˜-óðh·ŸôÍÕ‡÷¦é«ïYì;¹c-&6vû(Çz·ÏcÛ,ƒÆêÞì!ZØf9æEžC:ÔòpõýEžØÂ*Tí×Úï4Ú+X’vž4¸u{ÏÒ>mGáLÉkµó¤ß¯œÓLÅ«ké•j°SÉÿô@ñ@5á§=ÖXžZ‚z°jÛ†ËkÔoÊ~,ÛpöQe}åk¯Ô{d!uŸÛN›¼Ígì—q]×VAîe<ƒx<11â§âß[þ ¦f²kÊõTЄñjT„òZö_âÍ 1|×ã”– ;ðÒ}ûc«Zñ^—Û{5žpü¡½>.$n)ž<ÕÅívhRy º \ÀtÓ‰ˆØÄ+áGÙ½ž‹˜E³—¥dˆR¢h>êo=­çšv±Ø¦i”o¢y¤·Ë°tûE2AU Eæ6æÓ׊–Huä©m¨áhs”ë=%þ ÕÙ)?~+ŒÅA«²p ·º¶ùÇ1b¯˜Ýñí¯øÁXà1hGÞ¶›¸ãø·žêñ8hõüô8]hMÔÙñŸ´ˆ+CÄ©-A>ƒ"¤ªmÇö\<ŠZ:ÞˆBF6 z°ÓŽkt)õkeò‹a!âS4N±K\ØKáPÜPL ýU™RÛ÷ïxÉŠÈg횯þe4Ö À:svÂëùb‰ÆûŸf5îF÷M2I÷ãÐÚâÉv!Ëò)Êi}ÒîûÔ/üÝJÄ(†µ†Þ˜s"9ænïC”ÇÝm˜ÉàÛê½2 ZãZ¬ñÎ3 ÜSà%£Ž!¿x1µ¢Më²fˆRµµjzËÛ‘ºÞÆ0êÓóHSÆžHØÏTÞö°Ût"¢ÉorÄX^°ºÞiߣy­8E>‰6ù4åñm¯ -QÙ,æÐL¿³³üx¿6x–×¶—m+Ïzº^~;—'{†ÃV–ïÊM~Ù¯•7 "!/­ØëzŒ\t ì·6A™ =‡é‘Ç}}ßZˆ¸&òµc\*ö»ÛþOO2#Ð^ž&Z¼ZK×±ûFMà…ý$f}å±û¢òÙâ¡Ê(Ž?šÝbê…ÇéÌñ3î¡YngšßÃ^§Üm–ˆ†œXÎ/þ¯¡ú«ÿ‚[^ã˜:jïK<Ø€¸C]^Xd9'2tóÃÖ¨þØ2c}5 4Iu ÚE¢TG­òçeÍAiO¢˜™GÑu€ÞœÜZ(ú¼¥Ù á-˜À^…Ь™!ƒ¡8f w\=kfÆnJi6]Ÿ8Ÿ®‚ü¼Á’E“ÅÕÔ}¿ŽÉ)Ó†„ÿ[vD2L†}qM¸™LGT»z ÒvBÅnÁ±K°Ò8#hµÙ²ÈSÙl(Uh†30º"EÇ&üú(*Dw—ìGl°¸ìÀrªJ['¦x15ßc‰/6£"âcÙõ&¨«úÙ÷–>«äåÐ*‡×=_] c²Án®åÔØÉrãͼ<4{OÌŽœUÉ "=yÐòJ•Û6+äCžˆ ãc åU,yüë‚§/<””e7°Hå’ ‹’âü®…WL¹6(œ¦þWk,“¶2†ÏÞ£cc U¬™Æê°OW_ Ó…è7ˆM¾¶Žr±&.Æ%7;²[€t‹=C÷žLuªTv_KÇ‘LYŒÑÅÈ2°Å]e}@! Ó‹tWñì±ÅÒ`ÂÈEюô9º ˜3ñéÍÆ(àÛ?€,AüC“§ÈâË9¸3·EÈŠæŽ2„Ê-WæŽ^qn…¡ZëpÑrØFtcxždU )jp{yµÀ€ñæ¯7I£dÚ÷7-†@K‰¨÷ært :•Æ€AÎJàÄýi@±ôô%Ó«L†|:ß T»,>Þ"ËÆƒ¬ÃEj-þ¡Ç%B¿6Ë#tg}‰™Xã“™@ 3 Óà‡[Ùém[§1UšWYû¼»ß&1±Ðó#áOl1 c®\‹ÀUþy oÞŠQøFϰúá|kü4ë gØ·£ÕfÑS6- ‹ÞÚlL‹=üê0Ïw9ã†8iaNFc:ê}˜Íž¹p{ƒ¤ˆ5gNfø´Ïè»äê½%ÇZAT[Æ`å]/@a®±,4f»ìÍq&€y—ÿ4€`–ŒÇÜ“H¿ógÌoxin.)bYÿs,L˜0p§ŽÓÅ©>¡}í0È´2=å3WOv[˜L”ù@YJ¾š_ºdìÐö<ýÁ°«7-?‘B|GìËwl²Õº a6`d.Û¥óšËN·.SNqlâÇb#hn·žxòÁ§ƒ|‚o ê¹¾_2öl¦Ì4²=ˉ?úí°Ÿ%{°#J§á·’‚~Ù—‘ÑÙŽ¥/·D;†RAÝ.!¬Í9ῼ¸åðBÖ˜Ð6Ó¼>fHšè¹L'ã[wÃv‚ÖÚµ¸m@Lù¨ôn5Ħe²íàPœæîÈñ!ñ¿’T°¼à5CU÷¾û¥=Àsp¹éê’&UæI¥ÜŠgW¹µO};êÑ è;Jê”Dõ±×«sŘ7ûvèÇw{¨¶Æ:IÉê»±Ÿ-Mmù…÷>‘”¸Œ5ç—s‰Äm$Þ æu'&ì:ÿÝ<sµ¤RhRçý~`/Ò óŸ)€‰8ÍÞ—ÝöI993s`¤?ì€ð¬ù_aiõj÷B[¿“À™¢'KkòiqÈb•çEh0ϺùY“ìõ WZ|9Ë4ü÷~rÓ1fÐÏ6M7ˆ‰gÉÕ{Ac?ŒËžÏfFS™4Hl ¯\¾¸i¶É†ú£, ½pñªü¨^l¶e‡,>-«9§ÚrÚ«\x‡<ëÕËúúêkóýÓ_íÂ^_Ÿ§ü­™Si$®×’éÎu´X´îŽ'ö1þÈb÷_òpL£»Oz¡y3eŒÕ©+Îë‡{^Èï {‘Wè€3rÌå2†±ˆß “ºd–ðmðæåUT|Þ}ä-™[x¥tÌ<¨AUXçq!>ÕÆoïN‘§`q™¼ ¸4¹mç ö–ÎQdú’âÁ½Ø¸ÎxóKé`=ŒÿHc¯@šDþðTõJè°Ÿf+¯ÝÌÛ‚ÖÖ wâˆöYò°ÿH¹ë\ GÙÌÏCõ/ûÛÆóåùS„ÀÚaCÖR†R:Ïpòšîg£f7“nà2nñGâr=ƒ:åMÁÑÀgAjBm p2/¯ê—é˜ÆšPý|_ÀÙ¦#߈Ípâ·«˜o pçN·§r×Ü ;ÌOv;YAµÕIf€ÚkŠ%€…±Òú/;Ü0Û´?9ÑaRÃuítЮ;ï±>´±ÊÔ•dTrE}`[!¢GÍ’jjº£ÌM‚¥“X­Ÿ{¯þMÄ9œ4ÅÈ&IKœ+yFO‚·? ä¸ä ¯×,ø|’Ä„~²ó:Ù”¬æfÖ2aj‚’£˜„ ZÐfCóŒ‡sL¹á'~i*ó¼Äö*ø£Õ9ÐÂ¥™ œ<´…BhD<æëñàqåÇ`Å­,)gJÒºiæëŒ$Ø CGˉ/Çhûºäé¬*ÑÝbó‘3Yz$•Ks°:ÚE|4ÁË$GCQß°…Ãt`íšü] q  3å4KM˪ ûO¶nâ±îN­¬ŒåD€8Øag×iÎ.]»·Ä³ä­Ø?·ãÿ–þ=ö¤²àÐÕLÿ'n5‘_—{W>[—š œ xAä¼e:§ë,(VØ<÷Γ»ƒf«U¹½àCmP¸Þ¦=t37’?ìÚ)}V.`1ŽFb¿'R‘17n_IȬ¹çÓ‰äžé©5Ã`¬>íýÝ0˜¹ª‹ý»ï¤Y#P¨ôTD^ë&ˆÃs-IÍ$¡aÛÇï(K\ãi¦–@c"[\sõ'%³Ÿ„,.ƒÊµ›ÀÝ—C,ƒž÷3{…gI¤°ëÆu`&7IZ}»30=“5féµLwÍd}×\«,Umú­`âÌ|¹2ËïT‚KQܯn°¡ËÃsS6fÛ.^ ¦ÿ››Ý*­›~Ý´Ç\Ý_]ðT`¤­LXɇӳ›"Y bD…àÂV·Ë’ާ­úØ+¶!º cÔöžì<ï`,¬ý¸fŸáÅ»ràe|az£x¡yèÓ.Ns^[W)  qEà™ÍôO–/HÇâ×ñ”(P2 ×^á! 06Aˆ Ølžã×´¯lañ˜Ê #»9ð…  k•›¡vL*VÌ Á :Ížµ?Ô%nÙÞ.»-†ÿ¢œÂÜ2·\Póvɬ6øìš&GˆÛCQXŸæz˜_m€öÉ4Vsä`m;Ê`Of@‹|'?LGÙ‘ëù3¬EÜLñPøÊöx²"pܽ ‰sfÉ­{yÑbù¶c¼1sëvÕ"a.‹x˜w]}¾5›VÁô³}T›B*Dÿ&ÀÄë Žjmrî›«ÄØ?ìÇ^aìÇ=§¹°ê©¥_¯ŽGÖÂ1µ¨²;ÃëÞOí"«¾4rq}öØû³7hê"^çÃè°ÿË|s®ŒÓáÃI¤ÄU…›Ã4ó‘té úñ™$㜠¸†é¨4×Þ˜é–E§%ã/çàq$ïäýI†âpØÓ\¾À“Ïr² ä°›Ÿ¼üÛi¶ OžpðØcÔ|ò36…g¹Ñ›Éu( VÙ¼ŒÚk²…AHšó·l'9“I*\vf6|ÃJlR3gåCxíÅE¾ò 8ƒ´ºï·"ˆ,)—e§Š‰õgxOVd€ÞÄ{š]öš™°»ýÌå¾~@5tx xò€SíuØ!ÿV>(ZƒÆc0'˜ßâq»At3…’l`â•«F_—üÈàŠ²F—;_%õBr¤R‰Öˆjf(©¨¯F%A¤]V—¦ÀÙï+«Âì_6—ÑT—ßUÇžÕ*Cí!¾áÒ !“2É´ÃÈ/\h¨ÂŸfb{fH2ãBµ4S.XáF‹¹dlæ(ax³$¬Þœ‰2ò&•çØ`¬ƒPm£ÔÜè̽ÏÁÄÉiWŠÑe²¹ÍP U…@ÁŽ Ñ&{$ßš bPâY-Kór‰œ)G‚/ŠI´II,g§/‘Ý¢B©´±àÈ»sI®Kqö{båÝïÕÆ9Si;!„áoÖådnº}råÀ]Njº@ò)I<šŽ6oʉ`ó¿‘ŒF(™”0SžÒÍ/OêoÂŽa×¶$›«è|¸ èÏAXû¦õü3¬âZ}']º Ľ;f¨oÐô4uªq9Ǹ #ά8f9ܧ`î‹NÈCúÕqYHˆâJí<™a¡˜¶€¡l¶úݳÃ5pÈÕ–ÐÔHsxʪi*½;’YbmÚ§5ÎQ4´íÒ^é/è)êý 0g½_Óul/ ­ŽZƒÖ ±@^ðÑP j ­Z $¾Êuæ.¯éV#X)+˜‚ë"ï»Dö-Vm¦Íö`›ÝÒf[fém³åˆ¬ÌÎö&zY.‘°+“½2Cÿi²›MvÇÛ.d4cb²”´N¾ãË‹ý増•8@hÿݧFXnW¿Ózác#œš(ÄŒìÉæÞó÷ðyïN~ÚÍŠ†.kP†KY-èvŒÂ/E°Û¿ltWzB;šÇK®Ÿ f= fš)ec[Ó§w¢Ä/Ç›Å0«s\”Uþ)c;ïŸÛ樤¢Z(Ea9M²Á÷34fÕ+8+x¬ìüoÍøÚŽÇð-½ ¦¦‡ÕÞRàg³·î´6x¤ÐÆtê£o£•–Û©®´Œð|tªa$ÈîëJ€ÞÁñœžy5Ë칑ÂÒ-ùÍ|Lfôp»l<éóàèÀ¦é”n±fOœN‚_ŽþÝß$ Ð! åpÍ™Žw©ËI]¾r’ÜÙÉŒWó “O°M^ȃ%OÝ(|] ’\z" ÚåJ†#36'3ËæìKÂyÖ—S§ê"`„#u¯¨ºö~ÜlÁ’ ‘™jR´šk×Üz&Zý Ê0Æcóýro_•ï{g¡{f¼ÕʪM6P•ìCE` Q~§ÜXC3ƒ%În’h—¼Ù^›ñèsn{ Éì"ÉDq^ iîäŽæäl§[áp š—ŒÞêr \+V¿•Ú Év[Þ–P A³2$ûî])¢W’*ºˆÍ-sÓm®ZÚ~öb£ ËŽ5ÂÀàŠcvJ´”ÏD'eKË©‹v8 *£\j0_¤IÈX1ƒ™ËÿÌ¡ÿ >Žg.gAˆ Í3+¦ûA(\Ü&W´\×ÁQt6‰…[-éë|¡©æ¦x&!©5"lǸ_ŽÝÅÑ “×á'ñm³ƒ¦]dd‰GÒ,Npîô‹ÉÖ¦·8†~Uf[‰¼aq9ŒfH!«™XX‰îàŒX3ݲß™¾ejºµeIq» ž!¨W§2úì¬ýˆòZKeÊ',™½­³:}œ”Ÿ>‡‡–Òæé[/¸æ¦Ä8™ÈŠ þ.¨PöÄ]txx¢Ìá¤RF¶gÙ±LþÑ4Ì{v}Xåo’ØÍ?v¦—ŒÇ°ã3‘V‚ÚûFê?óN IÈýIR.[e7—€EØ­Ëdu1E 3m9 %c¡Kæ5OΤÌ,<Ø6Øt·öÑHN;™n‚½‘³Én˜s­Ûd¨Û¾$ëŠñëá°¹7×±Ödw9ã`I#2Yñ+L^›Ãï±ÕÀ0s‡ IŸYLgJkúôC7Ÿ±Y°¸’àä³ë®z´u §xä´{™ÊzË-PH-¹ÕíöÆzŽÂ£Úù’ÎR´ShsZᣔð°)o6,R0‡×ñÔCÞ&š&žDÀj›0RÂÒ©Ò™ëÛïƒpØL5ûê~º#¯Ç6åØŒßZ#•' UkdÖ£Ùc¼))²2è„+QÓ籄¦«uª¹oaPb¸¬”è9rMïC§RLÓrÛ’& Óü"-3Ø´½3&E»­¼8?H ©%ácùz3ó«¯0pØýµTÖ“¯îŸÇ>S·òk'ó×+i>+yËÂv}=H’źœÆI·{g!µ9Ç‚c§œoËyKN?4€â¼öH1’*Å~¦ël.7§°§!ÌðL æ^ HŒº®Ýó':’*Úmùz>UDH,O _úX¸ÏŸÚ½ö¨âKýzÊ­f’tf‚ Iæw-dÏ#sðá)pñqs)¶M³n\6>në¬Ý<À4Ð #Í‘ %…oæ#NIQÌÃðr«Ïÿ+Öõ,H²¤MŠW¢Œ0l¬×qÁ”¥ç¶×R>…ìE¿ŠÔ§%¦Âåôê2yÛW8)X¼M¦ÚfšbÄÃ!Øë´¢ɨi4k¸\¹wsÄaiXŋNJÙÕœƒO僠dÄ•«Æ|k+­e&6ê«&k4¸áתÝ:Îü¸´§öIqª“$Îm£·)EÜŸ;û¥:'~‹ªFú"h5ÍžŒn`¯áBnÁDY*Xtdb‡áÅŠ‰{e´ -”iP¯¿[¸88wD”üÖe…4R©¤Yï͆å*ë՚üOPkV_<ÃÔzò$sjz™GϤ®4î©j2èlA˜ /¨¹/ ¯—+òÜ<àÓEì›bnç­å8gºlqæ’ˆxÉqpÓ,aôÊµî˜øejÚËŒ‚ÆÔÇ— ˜¬Ú¾ ÒÍ|í™Àis Ur ø1S‹r@ú蔬(Éæ)”ëC sñ„—µÂ“oÓ›í6+–Û¤.t3j2“”áñ>ƒføI+eb!ÜÉ^ÒJ%dfÕ"tõílåuq·~³èÚiä +v\ÍxA·Ôš¿˜OY¤`1YË1Y»Å¢©ÎÿjËn ˜Ôϵ¤¿7/?Ä7—-RM0C³P¢÷dí–é&©`µšžó¾g‰×m,—‰T²)ÁÅ(Æ:Ñ1k©!Òx ÐW^F6P7°ÈAË ‰•”hǹ¨9*Þ¼†·äeMÝ“¹ó…d¿au¥”Ý‚1§w´á­½w´'ÃVX> °ÌçùÚŽŠi„.TµQWlÕ¶ky;çËdÉ"ÌéÑ»z—¸¦èøy Z§ý¼µ%mW“Þ·ø«"ØÅX¨ÀI°š¤'èbI؉®8íÏŸ%jceÚßlE·[y,Vø,®ŠA²’.@¸¦ÈP¹©L\¼¯ÉÎoß=¥j½¿=½›\ÐêÔ©[Š+QÒJä㑾¿wZ×°¢gb¶âr×)}à ¿ ’¼ú¹¿í÷þ¶¼¿•÷޲Æçdz5îBŠ”ö·âíÍJœ/ƒébÚ':O1A;ÔsâH§LzèÉ×ÞÎ"Rª6!nª¯ÿ 3FkNf1ˆ\©[aL£ŒÛ]$ÉC*š h ç–_IX]ÿƆŒ†¥%¢›6à-Ûž‘±%–NŠÅãf@¹vY·” ѵ»‚Þ츘ؔÍÑ“±ëž¢‹^¬++¤YpàÀýÂ\,ém¼൒¨»v-‹Ô${ìê֯I?Õ ¼ìVV<°D)šÝ4±©á1¼L‹ÂBHjHg¿„ÌÝIFu!å°Äk@wGÀX`ð½BðÐÛ¾~Ïy¾ã>_núÁëiTá‹<ÃŒ‰cÅ pÍôQhmæÃô—ê¡ûÑjÒ'd–Ì„° õ69£XÑúf¸ëxa)\Öts]HÁ«$jIbé ñ֗ËÓQc/:ä4G≲êI9šë€Ô̰LnŒaoóBŸÎ¢ÀlxšÆ¥Ð¡e³P­ŒKnÒãœNš ƒÍ`ŽÇ%ŒnŽèzš÷³»·Oöô¡Ä£$U\^Aûˆ¾’RîRÌ‘žîXùûlP—¿)HÀluÁaù šû¸î×Â"Ó5þÌA|ú˜ˆC ÇÛ.É«Àß÷”È} Z ´:;÷¢€CüN5€6W.‰»6½@>«Nê˜mj6eTg{#éNÎBüJGªQ¤ 9¬-C´–aÅì×°˜4šîÏ}µ‘¥§-rœÉÞ¯©v-f×+»`¨éYüm¸$~šGFþ¬9¯\ÛÈ)ë’k—Ñï̹Y qôúqp·µÚº+jðYº Ž$¾Éªï/rž“jÖE úf 0©Û‚®ôM_èBéòû›J(×l| –Wâœ_Rª%L»U*ùXÅq:âî–ij®¬k++賊Æuö6·é§ÓÛKÇj7vÙxUc”ùK¶(ƒÍÛeäúñ:ÛÊÌá—ÐŽF¶FQ‰,•,ÖMEÓ½d›¦«^âMwØvyž'‚L Ìg\÷Î×’=¬–ÌZêTÆÈ\’±¥éuÌ,”áín<$…½D…]%=Ca ˱¯\ yñ—ÔÔËE¶¾rJTh³xþMu˜´Pð×fMžëH7øq‹§Æ1ÅV`æ–O2öÉ©‚G §¾]¸ši–‘àÌx•¬Íà‰ÕðçŠOk,L¿8­¯¡­zY†m‘ÄíÙ )¥âŠQ”ªåHéLKGÒ ƒ r³Ù$¤"Ž¥™Zâ;àM%«á¯·sâÙT°aí^û½®Á€‘RA$›éS!^ÛtÖg:‡µíÛ'Mà:‘E;Êå­YÿËL¶ÜuÑÅu2˜p„è.|dʃJ¦ì]^eÍjÃWn׸¸ ÓrR‡f¹ôÍpØÍX4_ï‰tG’!×m³ûÌÿ¥8r³Ž~w<ŒK{†%$x”›m˜îYŽI¯Uhè}@"ÞåË®ùJwÏ­* I›ãþ5;7[BZwQ¦bªÁþ4á(©ræÂpm Û¤(p±àŒïn2cèÃ=Ít\ìQÜ"sÜpåu6¢{ÝòI³íºÏ„9—ûºÿ&ºNÝB£Õ~CVs!ŽtIupž¯Ó&‰[ñŒâÿÈ…o÷íÛMHW‡Ÿ_w;¤_É!:ûB¡ñ°ù z˜²FqÍ2W‹¿É¨Ñ@eªÇoä:9=7;qQK\?K?>h©R62‘l\.Æ|_ÚÊG€ÌÅ6\déF¹GðûÈé@d75ìœOýôØ/£-ËR5˸ßrŒ·Ì·'.a~£Í:ÙÀ_!u£Ö/4QÛJ{í3fQ‚çͬî;ŒZÜèšî»9¶=ß#—Iºš7]nºbV;ÛË⦼qY@ô5Â×~DÀPÆ0tR*´^{‘˜x³“œžzÏ߯õ¹ì‡ÖLD€¿N°Ñí~½,\é½OaÌ!Ç'â0RҿΨ“ÅcÇéI7î3NhôiHêª{ü]Ý|…h`Œw!øõœ²5ôifQÕ´¨í’^fÕÌYE ¸žYuRá%/V[†æ„ÓÕÕ4…:Oê3³Ú»~ª¥•ÔH=3‰”Ãá{ñz#Ò°Ö)ªy,ÅU3¸Ò$=Ãvá}b;*9.Ì>)×gÌ5aàšÀ—‰Ôk+ZâVKtɱ C6÷i¥Àÿ’÷}Fæç«jˆ¼<¿"d‰8÷¸ S¶eá ær5oö'?ú¤k “N3 Ž}GœöÔõ¹¡ÌÌë'v²¤·±©v¬Ð‚ŸK6.)ïÍj“y ÊÃKe`ð§*Ò܇^ ÃoÒzíÝòzž\gªy%´ROÃôôíœWIÊþpKóÌ·‚h¿Úg:ÿˆs‘Îý/ö9w6ó£5‘¥å– z ´ø¿°¥­/[=$'#½åéiù“ÆAUö*Gd»3dæ5õÞ_`6]NÊÍ +%Bu&]ë5\¦¶Ù-…9œÙ?¦]Ê· "@6©òè€@³ñÛØæfíÔÍbõˆ·kTƲÀлÞK똑:¸I`•ˆv1,œ‚îúÈUOÉc(¦FÎàft^R‚‰o™&¹.ææ½;ÝG\Ìf)Æj +Îãd}ÐI(‰îDvhíV&¼—…HOÈÒ”yn ÁWÚ!•EŸ‰ˆØýj¶†óî÷Hx÷³ÎÚ4†6íãÓó‚<µ‚•$““®A‘Òå|®|äí&´ö Ó’ðaŸn lz+…1KzšÛ ¹î–fD_¯í‹:= î%-=Íb Y×<[‡¢…÷g¹w}tŠºcUwNlÖÛ©Y Ø _›æâ(ø²Ûί!3(y]I=$ܲ2d¤ŠîXylVî)–Û{ÒDzã0;sÃrÇ7JÉíÈÂw›ÔÕt£”ù®?`½mW㾌#½¼âV‚U°´Ä)ÝæõTNÃ9Ü6§£þƒ¹LØ+B”Öj)+çÌ ™³\+KHÞ¾D_® ª¢W ¹ÙŒô¸}•Œ¾Î—èËÿ£©u5Q€å3Skräw7÷‘УûÇHôÂý?f¦yѲMá[þ!†`2ɦ³[Òju|„›Ø?²½Zê.½4;·vÒXý$‰»uwA™9œÆþYøgfYåÌJŸéý¯Ž\™$l™G ÍAû“í¦†Öu`NÀ6þ°eY^½_4ºOU+ ÒÂËÀЪ¥‹Dª»±È=è,Z´ì¥X>V–Ù¸”öPsrZúI5k#&«H±&›Õ ­æ$®sPd™5\sûpÇŃŠâqM(¸þñgº È}ãr$av3),ËNÍ[i_³ê¶Ì±ôÜ(ªŸÉÉÐ{0eó}sôߥÕ:AŸù´îÊìû‘–g‰iÖ†©NkU—¨U3)0.’Aåä¼Î»vmYÈC¯§Cš,Uf‚kö¹Ù‹0@h~ « …ÜÞI–,ƒƒôrs—C•c39 ˆÎôx Í mXÖåé)h†ìNRsy0*“H“’2 T¾P»t­J Ç»h!xª3NÃk¦j–Ÿȶä¨tï7.4!Íes‹Åâ>4&S› ’{RÙŸ¬™{Vvb±þÒBÇ»7 nãøt£ÒN·0=¡œž@ÂÎùÅ6±0dSÌPæ`Ø`XËÅõˆ³-S¡¢fqÂÑ'/D(¸žÏÅ®7ÿÑiÐùy¬ìG¼“à±.ƒ ð[2A£õø€J)å«×DÄAÊI¦†õr÷2º}غÊÊt·áBho¹7QêyÞ®ót€AèØrØìAèÚN&ÊL&Êð¾¤xvR@æû襽éIG–%œ‰¶S£†K-SL1³Ìx]ûáµ£[±ç¤î9f‘@“ û_ç(ˆWñÒ¾v«ÁwU÷ŽÓ-'`õÈOPO>-S ó¥m¹½å¼"Æ Ìáé°…y#Ìwï-w?šœ@y‹ö¶ö 2‘ Â-£`z!匽VFM8ÝäKcMô™D)4bÊ>¦IíƒËW]Ë.–7éaóK‹Vä” hBWs<§Q_ż5kÒI½fz¦¦TŸ,Õ±ÑÖpMøà$ýŠó¢Ù5¥¦"ÓûÉ“î‡ Z? }7ëJñ¥vFoªƒüp\®¸³˜LMY)çÀ»‰¬ªR”i _“°™Û xº¹7׆^·¨?nN~\k €ÇÿSäÜó´ž°µ†šñ݉»¤¡Äù°â*EwClZɇš< ³HÜlû)]³HÝÛ4w¯:F<¶ùbÐsPVz§ýŠcÍå´_ÿÈŽ”Ã.p¶g¢oÙ!ÛæF@Òj®¥@hlP‡Éž6óHç‹îè︶ ’mZƒ–ë1/tÙ1œ†“Ì@Í–2Ašþ¢”e9ÓF5ܶ;åÍ}ªÉGÎm±?I"364³.ì6ì™ÍÕ“º¿XsSë—S–Ëñ0© 7=õP°r„h2£ç[5áÑ-Ú­_R±¹úŠÚ*øµ/⼕hb†Ë®8&0±Ì:­hj|ÈK>&“l‡ÿÈoZ¬þ‰ëo‘â“Ðû5R¬ޱš]ˆaUdHšæ%Ô¯.rwÀÆÄqÉ+|…¾Ló|¦+o–‘¡eS¹ R/ ÓIôdâžeÊÔ]3pòæ^³Rë0¶K¶æ»Cî2ÆA`ÙyÇ›ZN¶”5qÿÏ„kKœÄ.ƒ™˜O¦y$¢çëÄ'¯çã+† ¹–¬6ã{‚²æT/›o5ÃhÿZÍç)í›é4×/#H¾’¼’CÑÒ±lI©~bô Ên×ôw¡“´q•šxý}ÆyÿÉé>“´_<ÊH{œÏŸ°xÎñ†Í_¢{¶ddPxV®Cr¶g(Öoø²ºÁ—Üt·™é®“F>‹úGæ.¶ãaÇÙæ%–d%â­`ž¬±ðr x ÜÚEôý âß2½®ä;èùƒh‰ÊA+ùbüXæ¨YoN8©˜$uš-n8³¹¤ ’-æhþ#z¤Ç°xÿ(¼‡"'¯Wƒ…n)M,ÍÞ2(lÁT^þ0ì-ã»»ë%·Í7DÝ–$M›î÷¡Éîž>>Äß‘ã.®ÔNE°µ–§³N ÑÂrãÏTéŸTýb„—Ý¥aßÒ #9Ól›lš°Ç˜Lºˆ`–8ÏÓýp³`ÓrÃÓãp0 Ú4ß:{;­Lµã³Rpõ"œxQzeF³‘X½h‘€àÌÅÄ´§Ðq˜o2Pm ˜‹b]ãf·ÿå^ɚ̞åRlGÚÓA¹+€¦ÁÄã®É9õáyÔ¤ŸôÌÒiZT;í(Yþ$Åu绳 ^z׈é2C3°­#›ÙÁÔ$É“Ö'ùƒ8®C:®ÖÚ.B“Al8;Ú¦‹ãîN8:Y;§8ËsLÖ]®ü7•‘hމ.¶é¸¢ &½Pûä§•§„ã]³±²Bƒ´¾!Îa.Z Hª¿9is³\¯vuÝRñÿôÈW‚4Ëut¤ìõD“›Ï'M ˜wýB~ ¢«)’¾s¿w¹¨åМÜv«Pz4Nêÿ%ãkSMvEUE$–vS™iñ=cG1c·Q_´sQFx-uQp^ö³ÆÌ!øËä7Imàfñp]æ_óéœ7Rµ÷ÓPDÞñAtÈ@×t>CDŽĭˆJgèíHÂFhyÁ-ïSËç²Îñp5N|1Ê©¥ŠToO×KÏE?v2âAH%“!ëQ>xÒéÙ'kÍ8)Dm#=k.H£Ð˺‹™GöZ/­ºv’¶3%qßÇ‘ÑvóçÊΣ¡R: ¯¬ó›8ÝN‚Ì"]×*è„hÓí6i§Ð²·§ö2Ám’—R‚{d˺‘½h)K´¥¹ÂFÔ`¢ÎeuL³9)¥HᩚútÚƒ·N`7G½%AÈã;Ó½ÀÉJ‹ŸÑ*Éß"­U]€miŒÜ£³‚师ó8:“‘ ¥Ùã‡ÍV}xB7ÉM-+…ºßï¢Èó¾®_ÖïtšúøÛïIžª]²£@Á#«9†÷Æš|–bA92d#ë}VËo=Ìfƒ©I™‰ $ôTÜ`w°%÷¿Íd“¹ÎóIT¬Ig8;+È­³®_iÖX†›ÇúÈ|@ªž=RÔÏæÛqr§¥–5ˆ(ªð7°mJþñ+¦`Û‹ÖsÎà®L¦¸Sº±„æw6·ƒ~h ñ—uu©W>÷óÕÑDw”¨{ÎÝfáÍ‘£éñ×-LÛ{6ÉìZEÛ‘–´n‹Åö¬Üî-C~­áA,¼ŸMÕŽ÷Φ¨Y‚À]*¥!h—R‹2¥)³ä²nÙ¶HαÜÅ1 ‡µ»B§[üè:ÜçøåQdŸåjwŠc ƒ­¦Ìô"·MíZ}úï5 áY¿8irY?·qži™9|  ô¢lï݆,BPžìÒÃöȨ­Ús$ðÉÍÄ€Ù³ñ¾hAZSï‘íç§®pKÒ|Ìn—ôíV‡¹õ3Úý…È–Õ¿ÇÅ8Y.壙W Ò¼ÛZ²¹žƒî\Á_Ïu¼Å’€lµ§È™O9JÖAOš2eJŸËkæà1‹¥Ú9 ªPtMfºY„ƒéL¢ÀÊpeeVo'¥…\ÿM 0«nfÚs¯¿ŒNvl„JH{—ælN5õ8@ùv­àÕ;K‹%ûñpP?]^G¨ƒp˜ìÒ)‰Œ ?,¡Åýg¹:áx Á¸cLš7¨„´§ô@w`˜ux~üá]õ†8n%¡/[¨p )€Z³DÕ\‰:›A±wtñ„ RE²û\rµ ™h5œ\9)§<è Ø¬/1\ÂFj Ô¸KFŸúËcA@ñØLÒ V\g‡4\»Óް›eUæ5‰´Çܵc9¸‹»7-`w‚ ¶ÛòI‡%{Û²^~»øyg¤²²øu:·éo™ëÛööéМ"4j²t‘°¼[1]X0Ý1²¤vœŸÙ/—c¸ž|ÁKmí™2Ù‘m ¨kÍ™D̺‹r]“°¨hhÛ¢‘é£)GfI§'pOʯ[Þw·z4;kvòÍ& jä‡zÊddóÝÇòš—+äÆ Æ‹Ü†þ¦®÷°ìfuOMß¾3¾YêÙìöã34iÖFkIÜèÃU¨ cr¸VŠ/ºˆn¤¬òµªòvŠÕÝH©@…a­»^öÇäÎô6'-Ræ DžKú¨f_S]²¶½åc|TBFÖ9e§ _K@c5ƒKܦ"©{2bœžnÛØº´î•3.Ó†üMiKÏÒ–æ„0Tù '‡¡°’>‘…N=¹“?ºËX&>¶‰íœIcKÈ^·f!—PRRܸu‘% tÎX–§MJj<£g’WõKç/ª*'Uaii"ënnÉnÛpº‹ ŦYl“g¼½¹~+I„ ÇtÝj8Ê!ý£ßЛõ‰ dõ›Ç…i2ÏÏ%ýâþ®¾›Ýè>Œqöv“˜Pº3àðÓ†`Ðé»ùµ`¥Ç\M¨€g»ngáâ>œˆ$³ ÃÁ@ Á.-¡ ýô¦+oæz9§0<ïÑ8¦ýÊÿÝW|M”˜§\UIÅ'QùêÊ¥iŒgT}Oo>¤p†-…Ä7¡MÔý , þHÛ•y íÆI¿ãAÙ.,ÜfÆ-E—# :ÔÀÈÕ#;v¸o×Õý¯0˜ÃEC÷ðî&[€7/þ«ji|G£î—­›—7 °§×€ eßÝkèZÀb¥êzö\=¦‚XF½>LŒéUž×Óe»ÛüM2{’ˆÀŠ«;¢6X¶áw>²?-à(ôÉò Š~qêc–(ðû˜I ð"†ÔÛ7Iô ?–¬ôl)R=q€÷) x¢ÒyÍÇéÒ‚„óojÞæ‘×wr‚wV‘ow½ªItà}™ˆèÙ yÝäÑßÉÉÇü\ÔìÞúñ‰çrq@ßl(Zr¨ZbÂöЗ'o3Gõ~&Ï£ô{)lù)Ì;ŸÛŒHÒ6#+.×ùRÕéKËF6EõM‹…šy²üRæ1ëÉZÖßó÷NŠ—¾—ú|#9¤~¦Ã6ÐâîtÙ‘Pê.ðû¥Ã[w¨ÐM•® K fà4).©.7\(çù)«IC0²z9ôÜ3/4‚”§Y†C¶ë„¯ 9õQë€Ôž¼ÁŒä[²P=|¦¦Y±;¢æÍÚÈ宑m?ÇT¶Ùî%ôY_\šŒ6—K¢Û£NyMÀ{]IŒ›ùï™E]ˆ—³y6"«}?ÈûP“Ú“ÇQœkîxòYƵ]óíOümý (Í ÎÎ\¾>ê·“V‡ÆçIó•f˼›ÌcÓ—ü»–Ðk{°öö«óêÞ,-. Ç颜Ùwyœî‡‘C µÌÈT€7šª=¥#I™hå4û4Z®îuTgžëìÑZìÍ£}‡KÒñ«–[zÔd;I5WÁ-€ÕÚŲmå“’¯'ÈcÍZuBæÉÄb|²õM š5ks‹ÅBÖS#àêYŒÝÊbª›ÕÇÿêÙH€’~OÝ×±fö»ñ¬ž¸úp‰·Ùí€Ùú$&Ú*¯lT-G£f}Q1§¤'öÅyx îI6œùZÇ-yLZxH #›ãUL·nvØ:3½¾øñQlÌÈäÅý2…‰Aœ¯„œ‘ДcÓЀ˜Ö™ )ì‚Y¯ÓÛú„?Ëå·³mo§ýnê ¶¬÷Èž:ö•W–µ–ÏìàÈÚyažÄ}$žüß?ÔÑe,‹O;r]æ‘ põ÷ÑâXÏ¡ú;ÞGò$í9èU¹ÚNÒ¨z$ K½5o®•Áš55jöVÆcK$ä´írÉ,™Ë´e’0í¦á±;>27ˆîLÒÀ¿S÷+×rìV˰k7 )†•%°f¢¯ÄiÆãY†ÒÚ6´l‹âëÅ £¸?çÝÝ[uÝßéܻŧœq¹F×¢ÿ¶ —±͘DÓ¬_7ßòxÚí©¹a×ß;I¥E”“Ú#ejÙyô¬¶aZ›Ãã°‚v¤=e‰(Õƒ†ñ™lH¹+¹ˆò&ÎÈêÔÇÑéŸu -3êèÚ¡>¨uvL"NaÊíäpY_‚éNã>æ~˜ÉÛ“ì{œÆ©éœ° Ô4nÕ¿ëßãq¡¹HÞÊu+©ÅYl‹L1^°£ |Âiغå´áù_·³r^ÆŒ&L6Äø‰/hUÖã®À%;0Aj2?‰ EEÅ|7#‰›XÕ‘Ž}Iæ‰"ËÅJ#ûFf…SsãûžÙ³f ·âiM¶q¸¡+ž@[ ÁµÏlæÓó6£(ª´W>‚·–Måø»X.LÈrÕ×¾œUY²;I¼ÇUÐù¸É +¬‰m§ˆÖ2éVÚÑ66“A8œ ?²õϱ`•¥Ž£ëƒ+UXªÕþx%í^/nëŽÑ³~˜J ‡’a3$mŠp}ÄÃR;¬&)yØæz6rc¦˜ ³“©ör/ISîÉmWBiXysÇ[L£ï´k]› ‚+´( ZL-Óñ~9V)~'˪0µ^6„ÙÌý•eÖ.O÷Z¦W¬ îk‡w<ä»tza™&þ ?Ãz öfõß´êÈò‹BŸ7†¨’»° ÎÜrÒÉœ¹öYæÚ] D8He[Í9k³GúGÓ !ÝA ³[$‰å­±niFˆ,îW÷‹Û<3½ø›SàPc‡1/ÈVnô“ï:ôî‘Ý×è·m «Ê,úà4kq¹éÌHÎguµüÎêqMËá ¼rÑU§Ùå*âgîqYöM)hŽŽ5³vu³ÔÝåµ£f;•íæÊ`2¨Ý™Ôj&™ûȼž^®.‡+óyòÛÛÎòóf±?#X”‡/s.9f{á×2y-d¤ýÌ)|AÏÚnÈz]3$a$úí,ßMt;³}$WGÖ¯]'Ó<.¨ðÅÚ?ÉÊ_žæÉ“i@L—-Ã5#ÝèÈïìæœéÐ@áb¶HõYè07/"P}•Lš¶ ·«ƒ jaòjõ寡Y˜\Ji»º)Ôzj†ŸòHÙñžÚ-Ÿ;p¥ÈEË#Ú…Õ”qXίžõûVKl¶9_êFµõ’Ø›À/æµ¾oôdš]³Õx —)‹ÅDÂkáqÙz‰Õ˜ðä9 ìªèGDu¼åé¢îØÓAx]ŸÙÊ]¡7ÁcI¨k—æº7¢5e¨ýìþ½RÆ"hui=zY°™ˆÉÔ¡béëèý¸xýXê@A®eÂ_ž¾›{öÑ.7鬟pŠ£%/t·Ï#eÅéM çÌkRÞuˆ–K7~g‡)ë›Q.«gÅÎ, %hN<;wÝXwõì¥lv ^ócX¯{™|ª.Öª)IJ>ÇñG70í.t´Zßy遼HÞ»gþªY3{ÒÕlÏL 9Ьë†j3oÈñúu¹¼ÃŽùÃmÝÕ÷- À蟷xe5èxõt¾GdÔá\à…¤tö#º±ºúdî[Ís¼Ã<µúñÛ•¤e+bC¦ÓÎ~3…„äT^×Ãç8ß“çï–ÛÁ°vãÿî@'õM†ÓlÛî0¸]´q@ÔéÈeTLXÒÎâ_Ü ê¬¾7eeÍ ©d¥UÖìî St“—^òŠ))¿®Õ‰nRãxPo€ÃnÅJ 7ÔhÈÅ­¡>ìåHÍš=óf‰ý¯Ò-+Ó%ž¡n?S’Ï»ñß[²‚\˜ì´‹y)¦Ã|"ßÕ¡¸¬ ‡ÇL C®Ëðþ²•¡3¨–‘q‹©QFRÝuG†°õGV¢QŽ–åß8Vå°xlÍÛqš¼'‰ˆu =ÖB—g™RCYŽ®"½9L£fgöYÁ4Ò¾á~¤;²œf]Ö×Þ6‰Çò!㕚G“¨¨óhFˆµ)Ö²H ¡vqSÛëZôo¦J»ªËä½£‡ò7­'¯)n9²~P“Çd¢WM÷”ãM¢9ô½cs˜½|É‹ûú˜ÃjYsq†ó‹Ý&Üäð/þõ æ$è(Ÿæ²Ò^¿òøÈZ“éN"ûÙ¯t¡qRÚaz¡[|ÑPór{ÞåÝÃÜ0çÀaY›l½ŒDég*㧇š¤0D¼‡õHÇ|·T\V@4¡€®Ú°­ô0¯7½kìèºoRÍÖ4qLVû#™{ü$',íîŠM=ÐGmÞOr8.èÉb÷“D ]ÆJŸáXŸÇëzÓÄø‘óe6å³,ù,ulÙx†åþþ k>ÃlùqüðÚoÏÄp1•g9ƒ¿›Cí$ˆƒ7£$Y)é5JêÓö;—ΗaíQBKqyçuÒwVÖº&N?{̪]Îa mt¬D.R”Uw R&…øÚ ³—ïLYÙsdP)ŸT\kÿÚ•§d(èT…´1OR³bs¤ êH%€MdçšóØÛqUÏt@ï#‰§æÊ‹¸ô”¸³Ù EÑ=ךcܱ–èý¾¥fLMü ÉÛÎíB75xº í€É­ˆn¹jäöÄ™ê»ß8Sº+©ù…qÎ^$àLu%Îä‚‚Ô¼>HÚÞQh!ãŠôjýôø¥ikœwŠÍýZ¨¿©“çèõ»TÅ ÕäGý[xì|¥»N‚1õ¤û9ëú6ƒË¢mägæÁ˜JffwbL%1¦’aïNŒ©~vþYYÁ˜Š[9»x0¹8HmÏôëMÄT¦ %Œ œÇ< á&-Mµ`Ñ—ÜtÙ°Á'm°ÁLUÛyýÍÏäÖ'é1É¿¼'³®æŸ›#ﳃ–›RËù²‘Yf)üô±ÁÛÚ9wd žÔÔîçG*£%#½$EåAlèfÙø©–™ÐÂ.¼‘¥¦Xšº›ì_N «©ƒp~ãÁÈN}› ÏZ/øxýô¢j&„#i˜Û6ó•úW_©>Ó™£¯ê2£—k?ûÆ9Ô·kô.:Æ?™É·œ.ŽÖëïîAù~ªM´ÔÔ„y³²L`DÖw¾²å$˜Åuû®zžÒ´€‚&kµ’£•SêºôvZ6…yeCÚAëïa®Ë+ûi{²„?®å¯§+ƒºËµîÍÔ³R8î2N=Ë­Zº¹Çøü§(`&»ŽE ø{¥¼MÖCPÕT­'×²é¡ ÎF"8¿³Úé¸lë¹>­âY]×±ª“™ dV°N33¾[lQ³ (¦`ôø[³F‰fWQ­êÙ¼Ââ}™Õš×hó¼®2˜Ç¶o’Žß\ǯÁÖp±¤Å’Uq]úçš-^š9èιUD »¥MdêSþÔ•¬äç4«ø‘S6âvì/—ámx¼Åíbµn4¡Ž%)\Û ˜¤³Ã*rWy‚Rl Ï °y“Y‚vnqÅ‘ÓÜ…i¤<™zçg™]ùFΙ9°>r<õgç¨$ïÔÆÏSã,‚û„é¨çà.«8#° ¤Vž¿6ÊE þå¹Êº/¤m Ïö¹=·L%®5š#«E¥¥¾o}?ÇásTÏóëW®Ô‰äùjýT—ØÌc¢à÷ºù¿°n¾Ç꯫_‰-¢…™Ø²e×]ó5å=".eÒ+ög¤R´y¼çÍÌ`ÎÌùÌDýVjj¯lºÊ>";T]¸³(GÞØ-|SA¡¤“7áiJjÐXèd˜EÈ}(•Ógv‹ž+ËŸà¹MØËþ7‘Q–tˆIº“0¿R/³;)ÄQu*Ý™mýž˜úÇó¸ €ë§ÀfŸÇÁм*Ø/{õ}+e—ú¬+UW1«pfÎÑ÷Ýù>þžÎöÏaÏÞ÷/q£]³ùûùÌ©ù÷kèzf_߯ë`òšï¥£Îl鲊÷˜UÜ ¹Á¤Ë½BçyÖb>¯kY.NÐ5s~´K~"®Z¸fæXs},çõûÃP’®ù¹¾o[ø/Ü{äÛQƒ=üœä›«ç6Ùj.çgúü­¹‡^à´O‡<äHì*}ÉÔ¼Xݤ®Õ-M°”Ÿ2ÊXIç&r£âpí[tû¦ÏõýJ&’½ØÈ •ë»L®_øÚ* ›VÜöÃù[dl˜J¯˜ëÁµ‰%»B[%WÌ5r}˜h?»I3[sL€ü8+èý°4Tñõ}ÏÉéœ4F«ùšÙM¥Ž‚?$gV«™HoŸGb§sÝÂE‹®wý~«‰|m nëb2"Œ*ˆiÅuëÀÊ/Ê­¡jH}BÞ[G ‚:ñ²°—9 Îê~Ò!€û^€ÉÑ(` 1Áï'<‡”h§ÕÄrÙ° Æí]qf0™ÅµÇ|3ïŒÕñuaêzQë›ætÙä$ÂU‹Xêg¥ È,ïÃ4…ëkÈ_Ã[ìæT&-¹©®ŠîvYÓÇ·F×F,Ìâ!¯•¿~ÍM±ÜAi:Á–Lù±\îc&ÚfÉMë¸Å¢óc;k>©z—v¦ëÆuqâH¬ì}&acf¢™ŒæÓËl7ºqåÜô©v±á ¥cçÜÌtÈÌd¡÷(ïÓŠ»¦H#-ÛnÀ†¤ïË{}ç±™’Ú)•AmÃÓ…¾ Z\×2èà5²*ÍyÚDqh‹×‡›¹ÉæŒTÀv\ÿ,¬é ‰Òm––’f¬éú5¹§Ô¢ÊÔmÙ“Ú%gËi3 .ŒÄ§0õk3s¾ËH7rE‡¬¢Ã±[8KOõ•‚ÿ€B’\<ÆÑ œ Af°8[5}âå¢õk"ƒ›®×ë–Ä•Ü?|†`ÐÌþ4zìË]F‚BTV!ß8\’ A0iæŽôJ¶~ot ±âÁk»ÜI$ýˆCs¼ZQ«(ÉVÙ¦I4ó‰HÝ5³£kÚo×ÞάÅ5 Ò4‹Tra—ê––ïˆ1t…àH—dŒæÉ0}ç$ɩʀ@q`ušp›ë×ÝP-I2òåEÄVeú¯az"5Í®|3™ex©»aøÀ•B׬ùÒéì¦HÔõ,.wïöëb*б¶]´m¹·–FÇÇ,Ö¢óC¦è5ƒu³Ãnso– ¡*éšâbqV»ÇÖ¢H.ø´ûÙïJ~‰õ)Ï6ÿ&ÊoWÝŒ¤HªÏ÷n*’à:²fJQË[³lT?\ÄÜ©i¸7”éˆSCŠÒ0”VpÓh†åãvÉ#ÍÌÔtwÝÞsåÄYYß œ8v‡^%¸øÝÜnàD…ÇI\h€Ýß\þïYÿ=ëÿuf=€àëIðµ'ø:|í_ë·MþžÿV6y9tÇaÈp$d82L¨T)¹ìäfȰ'dØ2Ü &\¦¿ GB† Nkv\ ¶„ gB†Ã¡®gö÷õý c¬?@†;!ÓáLȰ&dx2\ æûIV» Ôׄ wB†+!ÓaMÈp&dx2Ü€ ×ï×ü½‚¿Wð¿Î ÞÞ?`É;Ìo¦®îºöEYþÁ+B¾{X¨¿EWJRöj&õ­jr5+½gr׌§‰ŒáÀk«0(7„€ß’†ÏtïïCÒó¬Vƨ=ð'g}Ò[2×ôw1=‚Y_- „4'ÃMW\޾]>„°)êV.:¬âP®z°+:$}dAAQi‡áÂÀi¾Öô Ѽì4µu‘²%:§µ.áé™ãàé°'|Ê@f×Õ¨8Ãb¢ ;– ˜×Úä°næ¨TA‰ÀSr$Èézz"Ò0§ Dµ²áðÊÃÕ\å‹3,ÃþÇÜú÷cûKí¡”˜Ê2Ié˜N‹¤šÇvzú÷¢øXšüËx²½‰LH®ô6æc“œÀ¬-˜5mTñû¯ó—ª†2Åu¦„ÀÌΰdqõŒd(»³—•®0¬Ÿ×'ûÛ?/îk¦¨tÒy¯™½|J×ÙK¸çÕ²ü=Ó½Î^Ò6îxÁëÎ^ržæÐé‰y0åì%müÚÊL²ItÍ\Ïü¼¾ïù÷×Í¿m %=›‡Û{¾ùåþž• …•ìZ“ ð[ÙÓÊ–í~ïõ5E)¡¾ ˆ Ù ?]7ñ»f¯mpu«”ÂÕf°­,>=Yº9‘LÛ¬ÛÈR³v1YéÜyäLŸ~qº´~™„¼Ú8¿f •¸šÍ5ü_æÉL—õáOsø›;¦1OîÖlYËJÙšu;p7‘.w{x”®\¢Æèo ‡vël{ ¡ºK Q Èê§¥ÿ¦ K9×Ýr~0~¦÷" Q¤…“¤ÏuÏáRAºŽãL¡ïµSÎý¢èv €BuÝÚŸhL˜‰µÿ˶r+•àñ*µ_a0‹ ªŽËÖrìcZ)×UU$–!]{µÉÜúƒDµ¢¸ÿ+s}™ÉGðd]]*DÒ‡Ú"üÝ*a…K.|¸oÊÛöÉd ,MvËP-#ZÎ)O§ýKÑdvš$£…ôüµPÚÃYj5]¸•¿­#S«Ý]±ôÓÒñÜ”&à~jú¿LîeÑ1MíÔæWŽóÐ]ßÉîA¾ÓBD˜ÓŠkJ‡­éÙÔ„ZÅE<fË)3ª¬€æ²Q7Ô*ŒV³t1T}sØRW¡¤Š²UÝ Ù¯iÄ! %Ã¥ä‚Û~ß݃ò?ñ)ä5íi'I{,áKBYŽî~!Wdò°îˆ){“<|œó‚Hav’‡™¢É•KÇŸiòpû<ü=õþ¡§< ¦œ¡ö^z¯9%ÇMH~ˆßÖé?Óù~¼ÿÐ÷Ï}Éž¾äþ ¾äüú’'}Éù_²ÿÁ—¬ð%Û?ãK¶¿Î—”^Ñ´d¬rZÐ[½Ö>äøsò–ô!oú#}Èý‹ùfæÞ¼n¥=®+„ñýÞ˜FúÎÝé³é­ Æûk¦˜`üîô¥‡SAãáZŒC>e럘ÇNÖ½~P'Etÿ,ÝRœ"J ÏŽª¤º&Ý3)!PÔ–KéT ‡ê÷3vÈÌ›¹ÎßJ! Ñx?c{œÆÒ÷ÍdôÍf}Hç÷‡»‘"ÊëûÞqþÓ˜$‡ræiÓÌÁ?bïÝ%¦­¦Ba}Z4Utçø3ƒù–ª·Ê÷*É?ËÆ@Œt·rfVǃ;-·bbZa&¬Wèî6×­ ŠUv ˆ¥ˆ‰×jMå'y™^$‘ƒ±J3“°ýêmh)@êï<Ù·52Žk˜E»ƒ··Œÿé£ËÊmÈNKVõìA8Š‚ðõ¶gO£[GÉæJVrèiîΧQndöÇêoœÃ›Eq(©™eÁõQè@å¡Îʺ²ƒ†9;;b`ºu(Ó´4×½›M­ƒ–" ^ªB–Ãæþ†–éƒÁ‰ªàu[ Ss~®¯ó³y~¢ò¢5(Äê @Àü”Tó³äü\9?—ïed³'@áåÂ7Ý…ã)>R˜ )œ„JB =!…LDi›`Rd"ŠâO?)Œ,äÈž6r[Q‘Ôµœ£!…–Bù‹Â,=Aº/GÀº~y™9s1Íí˜òñîÎTÏÒ! ÑXWƒ.¿Ó êØÓeõÈð°{v:(èË»ÁüE+R«­+ÆXœFæ zò½è€¢¯’™YËÌÜ”YРÅb:YÉ ·¨–‘ ‡mØ·±C ºE™46ëó¯ŠÒÛÝQ ×ÔÚ9ÖÔ¡7×0Zg’µGv‡é¬«Ÿ”½AƒGRPYû’%cVôš†é‡.,à#‹ôða ³¼\°Á4w1ý§Þ#HïU3eä´Ë[õj°½õeý÷…pݽ…ÝJM½{„$@‹<¼,<;ÎHš½gÎ(Fiâ~€bÌ¿€b”D1êPŒù+б“£¸îPŒ‘(ÆüŠQC1¾gû÷lÿÛÎöß“ýà$÷ƾ>‹5¿mð÷¬ü×µÁwfú*V ™d_ã3AšžDË${Í${É${É${É${Í${Ë${߀f’}e™ó^€® @{ ¿—#w¾v&d¬ë´dšeÌ× ûA¹Éyï 6˜ñå´dÚ€ª‚dXÌßhÉ´gº3u€Êï€. y}ß+÷{åþ+®ÜQÓ{š¹¯ìôžvzOï (ÅÊ–öžZzOÛÞÓ-™ª™ªé=ôžVzO;½§ÞÓø“ŠLè—/GÍvŒ¼O¢üáø‡ŽÛ|Í’ÝÖ²ñ q÷°L™âjxÙ V\Ë€v¼¹´cÅHÆ÷æø^׉ùx­Ø]ÕïåbUÍX ‡9'9ƺ~j¨}èÓÓQf#Âî)5ÜUš½ÓÕ¼ ºSv~P³SªŽ©(üps]7Ú];ÿ[]]­ÇO—¸ò‘½—‘nêÔó¡,c ›ejü¶?°iÔcÌ8Öó€yU³(¶Ù7¡h5 ¯)Ø–PUB°ŒkB=ƒqÐZã¦8Ö6c9¡Ñ¿é/ Ï~:ñNå¹ÑéÔM$[é²a+ºÇÐúZú.Ñ(µcê3Úè;è œŽ3ß÷•š•xŽk­·­QIž1rÿÂ-þä-µ/l‘/¤‘T“Tõ·a—/*Õ‹)HæÉòüÎ.ÿ•ÒE+³ÁSÂÙ䣞4ðþI Gõ~R3ÁËñeÚ¬èe}Øšm!Ó–Rw4‰Ë#ا ý‹>Æg’îׇ‹½é¨Êcž±m›žy?Žytu6¬-›t»#Rve~~/ª€;5ü/j„³EƒìðZnÙ M:êj]’û’8)=ŸUt;könöAwýXËþ…¬¹^¡„X*ûֲϯ¤ØÿèØóÅz¯j‚%b¯Ô·×CsN/׿f~.ø¸±Äï|qú=½ 4ÏW©¦Ü3zðÅ‚* ~Y¶öºf™‚i_&+…Ïý¹1}x%<R D8ŽŽìJÓÖ%#Z(üxgâ·Êˆ°¬ì ݦQëiN KWgIÀ¬ÙëÚ–Ztuã Â*›Ñf6#Ü4El°Í¹§žød;•m¸x-~ƒš´ÂÚEpÍdSj„òOP?±-²€-k¶=5EùªµéP>lûo¼4¡Ø&Kë­f@‡êú‘¢š ¾«ån³]ÊÆ’/T PJê틘ÍYXQ’ê= Êþ²æˆ^âôƒ39Ôô¸¦{ÑqM<“ã!¿Ö¦¦Ñj¶‘³Bö¶ºõÌRšfxYZ¯Ã©›dëâ¢?Hy¦mÔÊÂ÷Ò¸¬ä–¬mx"§ô»fYFÉ^s>©¼IêY*šh_/k?µHqÓVI> â]ÑôoxSBíàf‡œY?©‘-Ô{†‰ŒÁE Ê.XqçÏ’ò¹©uÚÝTõÀìE†ï[=ñ Œ;_ùË&S’ÌJ—ÍamP:§LoJ´es³ê<’Ú1à ƒ+–ê‡û3ãò£ÚmžÅؾò?6RÜÙÕòx䙯W^Än¶ñôÞ¦-öp]Äü>©²>½-—טÛÞwöËÝÞñ‘Âꔹ¡6àî(láÃV » ™´û‘‚3£eŽ)CJÎm›] |rEw÷Á¦é`Ïè¤gµ’ãP¦j–ohR8«±ÜRUñKuþŠÎp”wœÔ‡Oa/ÜÉŽ ‚zO‘õzõG“"(Ph~¡¥LsC%—›X @ƒ´F½¼)Èc7Õ³ÝtŒPÎe%~zB­÷Œä€Þ24TYj†@z­Ú|,F¬€C#Éè–¬$¬;¤ë=C½bh³æµMw§ã YnnðµˆÆŠý#¯¿uÚ]£»ÓòJrË¥[ü†‹[$Ù"Ž?t/ý^)ß+åïg¥Èñ QÂ1B,å B ä$„ÑÙ ¿mÿ÷ŒþûÑß³ñ{6þýÌÆ_¸X¨žõì1Wá˜Qè%°²úÙ8n7ŸÁÛ¨–S 0l¦úßÈ¢pŠÃ§£ˆn.¼;²wA#0¥?æ08A@ÛKüd¡O1o®ÀÝÕT+!›mä„›èÎ4óü®¥ÍÜuû(þÊuØal×*]šÞnœ5iͪ;r–ŠÔÐA÷’±nÓ]§ÁÒtþ&çd»˜oîéž ZØt×:.í!üiŽ— gfqz7$boL–IïW49u ¯3³…WÏ’2ªÙ0é‰Þ°p•–Ï ˆÞóh ü\Ü/õ‡×|#&KéL,V·ÓPîžYum6»³ ß0Ú”7W¸À¥a°BVRÛ’Ž¹‡€Mô½ÆÞ *ÔD~b¼¯ï{ÿ¶ªŸVÕPõI¨%[±œ<c=”æÖìoT²`†ö6RR ­QhºW’=ŸæxãSÃsççéX=ÑèäûÁ‰2ÖüäzhäëûeNiÆ÷Œ)WÂìÇôÑ!ü‰>qîݬNÙèo¨‚µú5ó·Ü4Ðóž{Á /¬½ e’¡Ù¸gõ7Ï,_–I½Öx`wÉëû^õß«þïtÕ£×éúí–”úæÅtÆž–¬ñõè;8«ƒ^½w'vÄœ›àfS8 ¡·òíñ%‡údõµ¤7 Y¡´´Ð:– ¢³Msç=À¬½=FAü¼sÑ¿¯ûWkÐS8ôðpzuwœŽÃqÛ±“mÈn*ûû$J tÄ„R`t÷T}n™àsÍ“F˜½Îé^#¸ÐêL䓈Р_™ƒ=ö/¹N%5ÖZ˰…»'¡(öh˜°ëŽ©Xø¹¦á7”"¡ÖÈ Z5öÊl| £ñ.÷1è¸;¸u-¹òª&ygû(¸ÇÑmé UMÆ—Z#Å-)-û2(ÿ²¦°;’’¼4¥Š'&g«Ø >4«‹R®èlV—wlÔ˜{Ÿ6Óƒ:Œ %iý¸>@}ßΖ¶ô"‘ŠÒ ¦É£«?ð&¯SŽxæÇÍHfZŸéïÂ#<&ÍPàPýÔHsSáŠldŠ)Š4H5Ñð}Y‚";O»µÖ»>xÈÞÁèPq7/*ý7#ùFg[y8ú2òÈ“6i;ûTÍm c§÷XàèNÌûãiÍ|3íX-dLƒhÚ&ZȘ?i;kcúv£"g9ã³SÍØ¦Ì”÷eî™¶DøØcm§~Q3Vú4¹ R)Vn±[BÙ¦[ÆâÅ2M¼EyM:?ÏHW¼h~j'¶¦’üݤåªE“»éaLÛY¡Ó±eµ¬ºØV³¥;BàÀ¹ìIš]„Ö/Éëƒy;´²p‰½z€ô’yÚ†›3NJ­º· NÕ n"NWuj ú5ëݾR|òøõÍèNgd°3"  Ú6Ån™I -›ú§ëû™þKŸ)ꇙ²x7ZÝ:záhíëìȦjÙNè{ìÿcïäòygW- CŒ2tÿ¹í®`–0éè  @1µgÃ÷^l5þ”“¹E”±´í†QÇIeU»Å€Íï‹ùeßËþcïljwú¸5›^÷+ì¥N7§›³Ý¶éÓ-ò:ãò 2È+}¾Îã'””ͨIóoöuH‹“9È"²ñ»¯ó=ÿŦ@Þ×› /#Mžr²Æ°ð}ÑZî( wËâõrÄ*p50.Ù¯ƒàì!½E•Ô<æü&}Oö³…7¿Ó‡Ðà]—$âŸé52 ÇW¹>¯úW6ÉNŽª} úËq÷Û[¡ßà° B¥ÎfŒÖÇËH¸Ó{Lk­ÑJ÷Ge)+uoA(Z.f2OÐ %xÏÅX z‰AQy6²’òÐиòFéœÂÈ9wÁð¶SÝЩWÕ‹ íãÆ\(èÀUsHñr¢É™¢aUh.O”dÆ4,ΰ+*aænKè°t+ $’ºj½WIÀ‘Ž ýäqM 6>™z$È[AÜq^f¸ˆ@?ª²Âÿ¹ýq—H$g¤¤eÐäaF Ù½‚L«Y®êÂ2«²X0†D"X¨s½&™¦Öôˆï™ç9(2Ð$U²&0Ýå„&Í-xÕEgÍE›}ô¼tmñ ·µ~4¯¯ûë¹|ÖK1Ó™ªåb¦AÙË_já°F£«b›EB_uü(šÀÛČΧÈ)'Fšžû–ÛÞ䨉®1 ÏUõinƒu¼ÄÓ%xm:îyî7kGN–_:§RÝ]ƇÔòãŠ×¹w̰ë±Í…rL‰‘Óâ78.õiU1Mµg ”§¨Sm(w?ŠiòŽž¢G!¼›`VO̦!Á4ÔŸ³å Z:…«KM,;éÝÄûþM,»I,Kú„´k»:í¬<Œ2w$Asf™+4 ÷•h@vÌ+f”  ÷‹«é޳Ó”†n½o3Éœ4`+}˜d:)ÙSõ Fe:ÅÝ)áÉôÚNðž,´©Æù¡…xŠaJŸ Õê›^8O×L A;5cx7O^ÎsÎd_ B­=禱ÝÔT|îs9›‹í§÷¹ûÜ|ßÜ/¾Î;»ÓL}èVØÖN¤ï$»sQs§k2~zlý#¥­,Kÿ"-kЉHüÝà_øY¬…ð;cf¨ ‹7¦âZg’›íóKÁY¦ ³Û ËLÈܶ“Û]Ëmîïäÿžiÿ@3íoðOˆ  ñý4ÿ‘žæ¯‘¡‘ 7‡«Éêéþ¬/0¿Ân ñdLƒpz>Sm|YOË$»š$½R©Ö)Ä;Hbe`¶VnÐÊ7ýsA­¯ëJ—Îê:N«ü2j(©?°g•µ×ªA~­8›]My¬Ùp¹žeª# UŸ§IƯ<+­zåÝTøx„•Škš~åUos¥—åïxdÎj¡j]­É¹n~„:&©—‚ ‹Âé&S!Y6ƒµ’P²$PH׋)ë­À¤µÌõ« MÅw;„Q¯Ç² LišTwY›×˜±«ê>WœÕ™/™_VÞ2õד۩ýž¤çϬãά£‹ À)NɬcK¼¢§ ÈHA“‚ V´a‰c°Õ¥È“¢IÊ=v ‚Ìù=c¦íT»ª0ÓjÌt3ÝŽVn%u¸ü}ÉÊ|ˆœØ¶Œ ŠXÛy@ˆÕ“ozÝœ{ÒØ»éëZ9ÕtvP« _Xw|³hŽ[ Á9«ê SÌcP.»”ª¡ ,˜ :îÆ»9åM|¨€_ie§¶ ó«»^–˜ª<3xÝЦ™vqB¤£¤npâ(eMšK’8ôe☾Śù°‹¯[M_örx\H‡Dì…t†Èµ"^•F+Ž« GÒ=*<¢<¨~PŒ#š±QG©ÊI/ZIv÷ÞQ©%YÔJE~U±¢xK×j­*¸.Á´`êôkD“9vª¢ê«¦J+Û£œÚ‹…_éìƒf®0-Ejþˆ$6‹µVUS+’öF UÑ_gÑïóÉN‚)qŒd-ÇÓ@Óþµ|äN Ÿ Ò[Š‚lQ°þÄîÉLO5Qáϰ3–­xK K‹–&³B1:Ôƒ‡§e1dj‘ëÍðá‚y…ÂõaU ³A¨ÝnƘ¦‘ ì‘t¯ÍyÈôbiˆ£åjWqŸ4‡k/µ8ùPÉx}& t}0ƒ‰¸<”n Â#VOÙ¦Ù"4¤a#)%g“,„3|éÉ‚`™!™áì6Áfiårn¸&´Áp­‘¤øDŒ˜Ò=Ë)—‰*yß¿¬Äf ÇöÁAÖêN`^]ÓŽånçÓ²œry#Ýï' 7Læ„ð«º-T‡_VàMIÿ™n6È+Hùxûdîk^ ªÔªB˜ nÉÀ¬ázá…Æõæ?úqéïsŒˆד•Ç5|…Õ)cx]$[ü_ߤ7-5j`i©©%NGåâ„•UÖ\éX®Kg;{1a°&®#!⃷2™•ÃX^¢Ä2ð®Ð}²iÃJ%¿f1ê÷g-·Âs•ÇIÍ‹“8Zåu{é©MCÿ”ŸB3ÙY^šžZ±§vüûi©žtì¡;iÇ ÿM­fŸ½–.ZϼÅHmówJf|¹°¯îŽ)¸ˆa%ñÍyŠT ?颭tѲ±¡•é3?†.ZK­%5¸·ÌS¤‹6ÓE[ÙüðdÞ⦋VÒEËîoÏõ}ï]ß{×ßÇÞEos´ò(oŽ…éã/3U¾fv¡AJ¤{þòž+Ý i]ø¿ÕˆyMµµ‰HyÏÒˆ )î8%†l+$ݖȘÓÂô]Š.òÄ‘¦GiC@>úîÔ[ñµg„(Í 6/Üâÿ1Ö`Ñ”?ä‰Ý?·gwêípVÚ·ÐFjø ÙˆÉàG8ÃmAwÝtsx–«Âßr¯RNõ?¨*ôP/é[é?ŒRŸîùL§y4|½œ50sØVMXËŠy])9õ|艼 ÓÔóYAæÜÖ1š×AøûxlHÔJÈˤ#’‚g§Ç5½V|]y4µd•ÏBYGÁœèwhÐóÇ-õÛPýõ†ª”Ì[Yµ"õ;²‘KGȈ±¼ÉËÓÈÑé.¤ñàô7§ûjÿ<*¯Y3­Zµx_©('P2ÿ2òoD’äJm8ïn-iÏßôÛ‚þ]ZпÆú¨ªÅt‹W5½é%_™(ûí¯ád´¤‡ FBµLeZѪÓ%­:…C`ÚÝtgPÂÀ{†Þ,ÐTæè˜d÷Zn¤ôBôwå1¾kZˆ]VªM’ÿ­Eþ¢9G!b}Îj^Íâ^"Σ[Ы£ïåz‡—,g·ýSç¡=ótñÞ`^‹FWßvxç~ôŸË’õæ)(m`=µ×¿h\î)¨,†¦ Âg¦`qS*™M9…Û/˜tžŠÚÃx}y*j¤4õ4d5•yy)^BùÍÜT-qwq ˆ™‰Ør¥WÂk|"KG~äOƒ,ˆ,ùzf+é œO^‰,,õs‘=>ªÙy<£xý8R–eÕøa5[OËÚÈcÌ+7-«\YV¥¼dY±xP?VÆÐê`ê*5: ÊÅ]n¾4…@ÉU–»U4›ÜÍÓ¹¯]pUw3¥Óª é·'4±Ð“qe_ÇU¬].—›ÌÌbwú^’ÛÛylðŽfEA1ëÂõÃÒí”Í£91Üß0‹ÅÇ0n0†»¿ŽiáKýFG…NKÕ"ÇÈ'£×t—â«’Phܺ.MŒæžš×TÊeáPj_±ã†;x{7£4~4þß|AÑ •Ë*ž .nLåW2x’‹`¥Ö,tWö›Ù¡DÊÊߙ٠à]ɽÜÚ³¦spíÉC&XÓn«:ÙLé/Ni·l꥙‚¬Õ]5©T—ã=3Ÿ¶ƒ›xäY7hœbª¸jqŒôQ,ÓéÞµÝGÑÏ‹ÃlÁF3>Šóx#‰úÀc£ôÎÎY‡I¾o¸l•À!ë¹î'o—ÒЖ·¾ÎãÏ2Ó¼TÝÏýÞ‡t¥CBšÅæáŸ‘®HW® ¬KW:û¡Å—«ðEhq˜Ê–•bA-™‰–®IÒÞ–®l–®LöºìÇŽ.ÏþøS K…±@y×PbCæKÿí¥,SÀèO¥,S¨è«”%ñ„þ«ïv¢Ì]?ãwµË|3À Ö²lð{µ ë’ãã-]Ú94óÄ…½öBr[QÊqqàº|´Kí¼Ê‚a•Žñÿ•Åü+…G´‘R_èýmñ¾-Þ_¶xxáÃMËI$.9qË”·Geë¸È·aú6LŸ†©(‚òUMùB/!CIÎÛ$˜©¸LŒ©îèaf;ß™•¯j5N@¹Ž22*Ø¢]µ]ÉÉ4Öû³Agó9»Ïëû9¿Ì¶šÛZºžçú¾ á·!ü'\¿“ÒÛ:€4žfFäöOêb-§«Äç¨aU®læD¾`{ýj„”îÎü1éqÍÜm^jS=ÓéŒ\ŒDBÀžKû"òmz¿MïÓ+œp§¨–”•ùõJ´l9O|²¿£àoSøÏù„×jD·Ë<`èâ¿õµð’ËÛ)üŽV¿-Ó¯NáMË4·-ÐJËTÒ2í´L=£Öó»er31S¾I`kìþ Pu±ÜÂ|Ú;ºº s˜nÚªYC—ô©Ùg‡¬LË×hi¥ÏŠt žF'=#‰ ûöðŒ˜ï¨c†#¯ZÖf•Sº~4ft3Ù<Ó‰Ò ý#õP·åî*¡ÝB a7'mœ²A&5žÉ  GÁüå$ …Û3nd£¨Ø+PæÅ¥w4Rލ[«…Šé„Ôxj'Ž»ÑwôF¢÷Mø9Ä»I‘ÓÄq`~½qׯéÆÎ£ôѯCÒ=“|õ˜Zv»÷âqˆêˆ“L--ÊfÂ09œñ‘fžŽéÿÃW”LYr8·¤ñ‹êН—Ù1hû‰ðŠ2ÀTÎÓY£5 "ër0¶…ôT÷ñf­ù½™¦™¦Ú^ßy‹¿$}†™ÁªH.ØQ¯vÕ…˜Á”ÇL_m‰Ê£!‘Îg%dÝ0õÍ‚ndê¶Eà˜²'¹O£1Á¢­ìø®ñÉÁÁu2•z'¬lv¦LnÚ¡òEVa|ä(¤½#‹«m_»K¼/–Ÿ”‰i“C¶‰ü9ÓׄY 3öKÊd¿S&Ë)“ÂÕ°MÜ=•NQ´p e2¨õÐc'eR2íáŒÉÆRËOˆÉ2Mô- ëEl“‡·¹ï‹²{ 6÷íN2T3gëgka?Ä ò‹<ÐúAVž{Kº4ÚõUQ¨Eü;ò¡¬‡‡³By–Rµ~Öƒ¶‚›V‡ZÒ…²“ÿ6¡e ˜zi­¨Œ sïºMbÏVX nÐ6Ìbߎ°J…U®%Œ×€Úm76)S¡“Ü6}[=Mn”n·e'KT€J†§#3\³œ«[dàd:·å.Ðrè¹ ŒÜfÎýÕ¾h1ndÙfî+w»Àvšù_ݾ‹f²Ý:¿=kD¶_\˜Ÿ_Ÿ™sÆ3’ý‡&œÞ‡:­Òm㇥é§}Yìž)h&¹u4›™êÍŽÌ;&æ˜(£©t´Õ>¦EØY…îÿEîþå£yãhl»}¸†KnRÑ5¸Û¤iæàT xJÝì†~s6ŒÜ¶«öx:4t‹4µ´+T§MèO†äEî -w…–»BË]!§•Š2±Õr“ÿ£&ö?ò.òKýˆ¡6M„Q§ßÖúïÂZ£¸¤`‘ÚB.Úm‡ÿ»{9¹»·dÖŒ$X8f„ÇþðÚ“ÇŽÅÿƒÏݳ>‹eGÆE¥ ,’è™Ë"lKL-[È,£ïYu¼*0Mü—&×´ ­k¯ºë[ÑÁ¶ä·ø8–‡ÁPNÄ|»iIèËÜäôo¸)fyL/¹Ît‚Üý8VÈvq¬ <_Ô”lkÞèf‡Á:6Ë L3‰º?ü–AÇ"‹{3˜©9—šÝ,iâ’eŸ5ö’üÍܪ(ñ±!Fc¿vè(é[~Õ4¶jËé!ÃýDEmà`…çû c|Òß4ÆÛ.:¥Ú®Nï ²:¿ÞS® rª¬Ê®MêÁîbè|Úp ,*™¶Z1>r)ÇupøKÞéWª²ÙYëæ;uÓŸï&=ãfgñ?È;»š?¯*GqÅ”±‘±R¼›º1ðçU^.2˜Ê Q¿„ÞÓÞ„ß®Q~Ž)»5¹Òž÷˜móçå"“÷ßù6®'üùëßÑþ#þÛ0~Æ-ø²ÚÀ'Ünª jV”¬6˜YmвÚ`dµAÍjƒøˆ›Ïô`Ÿ#Õ=« FVtÏâ Œä[™ü”C`ö$pµAÂÉ­ÿ^mðm²ÿ±L¶“ù Ë@R_îúv~‚¤¾T>ä«Rztü·’úTòw,I}1Úh¶RœÔX¬¤¾zçhÂÉ”+®Áº€$©¯¿µ’u~! ©´¼¯ïÛD›è}­<‘[Qe2~[œÁí㇠¾hÙŠjf+ªš­¨²Ç1@ßgrÀÍVTY;ÏìmÌC·¢z4Oj§\RËÚüx_ß·Iþ6Éð¦ý2[_·)ÀeX-ìEíèF@9WI zÑ‹©ÀÞïOQÚÊÚùе=úSMe“ò:.ÚzÑâh£.ÏŸãpe“j èôbEÄ‹ÞMlºËµ„0 ?iÒßDyŠòôÙè5ë~u§)Ké–"–yzÙGyç·Ùÿ6ûk³ÿ÷d<µ cÊk!5ëËTê÷¶‹ÅrÍç’V|}V|}V|Eý£ö+ÏŠ·y(.›zÁ#÷Šo¹â[®ø–+¾åŠ×­apr¥×\é5WzÍ•^‘þ¹fä¨ÌH5ÓKꕽ™^íæ±û|u8#æ #P¹mî$÷-‹þØÇïMæŸÙdþ|±osûmnÿu¼lDD—ôÝ1 ¶ûÖå™:² ûýÆŽÿc¤¿;6f«|1&) eº›¬‘eOY%¢ÕËž¶S†BØÞG冯ˆêaÈ“A¡ç'Å£Ó7Ú2dÓKƬ»jV ê¸:jª÷ÔkÉçÁx“8¤®«‹èØô¸¸˜šVžcÎpW·DÉnœÚ1ãr®›=¢ˆ¿t9¥L÷Ž Ž`³»þa6Z9[}‹ r>­í´úWjõÚŇF:K’5–mÎ~ˆüQv rHI‚G1’."IW ª§#" r©ž™‰Å7Óãî& zŸ Æ'‰ÅÙºŒ$ÎC2;ZÌU¡eZ4b±‚â•wËšƒ¾£z_O}Iu–:ï÷×&)/úüÀJè<$„ðªÕ^Éßy¡%ÜìŠJ¦O÷%VÈ9nöÆ»ÀÕ•¼µú*³7£ß¹BÕ¬Žp«¡KT¤¢Oo>¡÷! ç Wü ¶Æ O ÜVT4‘B dÑkÙm‡|g¿jG˜L÷Ýk¢Äæ^Êîýü…F¼Ÿ~ãOîÉ…ø@HoWÊ+§e¢À —t?¦Ë…h+šÞŸ:f¿A™h¢æ]\{ܵíóÊ@ú ‰¤c¤ðÉäWI~ÿ¶P¡\$ŒqMãGgY‚6­o¢þ_)hè§ÀAO™‚æç„ÖTk‡Í‡  é'vÜC]çDèY;óôμ Ÿkå¡Fqx§=r4t¿è¯ÊÖ£swRoû¦íö’G‡6mš•ËÁܳÛÍ@GX!iR-#$s‡ìhš;ôp†Š—ñq Gíç’;/íï.5-ÔÎñ¦´E{.Q"5;,m¦-p"²Q25»35{š+S³–6c]ß'³ñ>{š½™šMi³•ÒfבŽî5+Ï©ÙCj ©Ùó[jö{{ÿÞÞÿãmï7¥"’’ë–à;%äWÊ즣MÙ‹ ­ d †Ë€8ë›s¥ÇÓ r¸åáq!‡³¾Ö”ÓsÖ75æ Äºl†¬oI¹ºþDcîÛ¿øö/¾ý‹oÿâ/û5y×ÅøÚ•àìä¬ä¬ä¬äˆw ez’GpS  & % '`$@”±æÝÁ´øçá²' ™Gð\ß·?ñíOü‡ö'þ#ê|ûßþ÷ÿðí?üþƒžÛ«Ñë^Ul© û¢LªÃ$ï´LÜ›eðô~Rפ˜“ñ¢µ)rJnƬ'MTzXøQòdd_­´ý}±ž•?؉[V[ïÅGÿ’•ÆØmm,óoÜéèyîJÝcŽüÅÀpþ¹Çã›sgŽb©ƒr¶ßÊ·‡òÙC¡Ÿ:Í HQuVïÊ*V&­<²3Y+¥ Ç2X•}q±nö ¹Î‹·”›@.E5D3Rú¦øæ¦èEJQÞ<}LÇ÷Q¥î+·o¸QÅÛ·.å$'J{Ž(GÇËßÅ5NÏÖ7J·¿]퇥à &µ…&º÷‹îо)·ehJ×ëÆyÓG‘¨Îû צøjQÀLu’LÕSû`Cë9˜¨Ž• Ô k×Õ)Ï˃‘+EUü€§½úåÖ˜:&[ÉÀd¶b{<1§ƒ4 p• Ñ±B+Hì¶51äÛ5a'äüygå—2OPæk=r>Hsµœ“å÷¹Ø /Éšm{ŒÔºÑFâÝnÙ (|c! Ë…ŽÜE«†èÇ—æË"í-ºû"„¥‹’µrt|T—RH!ßtú‚Ôõ Õ«WiLXL£K]ö Œ¾$§>W³G%_fä~z-—àöžéŒìÑ™MωLí=öÙ.ñ?nïy=ï»3•h—lh…#Ìzù×íÔäƒÃüY°»›eêgKÚ», „©¦Ë£ÔÏ5,­dq0àPÄêf…!ÑÚ½ãP›’¯Ë†!e•1Ž’Sè.Ôe‹ëÖ>ç³Íàl!Ì4ÌqÁÂTò(ÑªØøZZ$HBÙä~¼›27e¦ßA£ù™iT&Jw¡ÃŠy¯gÙÙit|Öû×@ʧ¤„Á[þÝ߇ñÞ±ƒßGé÷m7¡ùû2î+»é‚4Ƀ:ÿŒº™±ëOŒû6Ïs¹1Òb^(€Ñ-Œó½€ŸüŸgÇX™{ßýS CÓdçtù·ÙQö¯; òM´lÞ¥Àêr(ó#ªò5ŠŽKƒ5Pu°ìÌœIñz,U…jêOƶúÍ©)ó—%Æî‚èù͵‡‹qžñ ¯e¾O‡´Tx㣂ïG2¼át²Å+Ø0Îü­‹ìöÜõut 'à,æ'‰ï¤@D‘¢‚`lÛdzDZ•š5±Šµœ& q¦%%t]äA÷ïõʨ¥b—`µV¢WÚn&rpYƒÿ«ÝfºFjE ›é$Å»MµÚÓ\÷ŽØ×FœJ‡î«ZS_­aÞJ¬ÙÖ²H =5ý}øªô5¨[°Ò×IÙ]BPm]:Ð0ß” Ü$¾ g ÅÙp! ‘³EàGŽÛßwMÓÆ‹‚˜ÇÀ_o» ñ4üFÖK#I[©éßçzW]'Ëôm"§[ÙxZ€¸[«®ZF®¾2 –庋‹ÖÐëqæ.5Mª€W3[¹ã‘Þ¬¾YY™¹åJ·ó.Ü=ZÆ4yòfFÇ*™B€ÏBe˨¶Ø¿åÔí¨yØé/•±j·Cwþ# eƒêI›éYx14ªšÌ—Eë5Þ³Ñ?–mŸN±™â  ÅBy×M¾®á_ÀCÃÎúãÄ ¸¶=›l&æá°©+€µD‡kðN=A.Ä2lÚ%;çù:4”¨ 7h³͋ۉ·-{Û>·äÚ¥Ovsí¨ë°3乿7Žú^¸yá6kÿú¿¯ýæ¦ÿV¨ó=Oÿ…óT‘ÔZáç;%7¨9ÛîF\_—ù‘K¦ë&MP ìjÈéF¬}Y^F³:Ó]ïC ž¤äÖióEÛøÂ×ŰÞÌ=hy´õnMÌ>)oMòãVÄåþ.¥ô½|þÒòAÈ ΖÛÒœJ+?X¡ bO<îAº,Ç?íÝ©ÆO;‹Õ<Ïó_Í Æ.™õz#ÛæmAK*±õü[{Ö²óªM‹4‰ÙÖ~'‚~/æáb^õéÐJ£Ž·¤XÊtt§¢õ¢;‘¾,žG·Ee?H?»½ÁbžùúRjôÞä«!#ßË‘¤JÇɬL§Ȩ¨2œÇ»è3*Š\¸RÝd—:࿞5åÜÝèƒÒaR.ë¯*ÆJwÑL¸gw(P'ïø¾úO¸Ðÿl ÂÍU¹2Û"dK`v‚õÈw¯¥ÊBѯ_û X eÅžOy8`d €IM÷ÔsgVñ¢·% Éî§DH<«jy}¹´¯¦`æ|'ÛóJóFÏJ\Šå "óI™ $ñ‹çò³¡ãu®‰ÆÊ,uÍ*jH‡,—f‡þA—çëÃÈ…wP°UvǾ?)Q €\ÿÉ-—bˆ¹„9úCÅØôFIõ…“¢ a“È "ÙðÑìŽl ±l«™ÑKðM>²ÎOû0äUŠkج”’m,¦Û•¹™ A>Iv¿Ó'4 •Ðï¶®ßW–¥?¸¾5‹Ý‡`:ã‚}iéù';#¼P“VNÇaÑ3þ×­_A¦ÙÈ4:Ó‹j´¾øà#y¨p—&óá…ÔIã‡Çÿ¹ÿš3ìQé/(¥¦ÂœdIñåtô)úòh‹®<ý­–Å´8á‡M¼ºk‚­(®³Ú;ëP¢&T$­&mòZ¡mª™ºr+¯—¦7˜*D#WƒG<ÔOÎ’Ü›\•¼?x¦í;ý›l9¿ŒâßÄAû‘cTœc [iN@L™IL¹IL9¿«Â´k!,$i!K›JiYK.MêÜÔÄôÜdÛ=Ç>óšyXš[ͨ=€IIÔ¥˜ ìcseÍuª‰¬€¨È4Ÿì²ÃmƒÜhÒ‘Ý5âÒ´A)ñ´ÙǦ7Zí¿¦%Ú^f‘ëgs•æÚÃY¬,Iºo°:ûf‡ é6pJ|X#Ò_Ð`BBœG{R3ÙØô]ÃaCÕ>«VבqÕÄHä·‡!†f™Ñi¬Ø²'Ô-­LY ‹ÈÓ)ù·á™î4s-ÏnëM‡ÁBCHo‰ÀÖeyÒFqÒôDFÊërz] ÎvÇIíe›½l²‘< ½Ó²ÞÀ\¿a5`6ׯÞm®_£Û\¿fš?EÄþÇʰI¢™Xi0`¥ýм%Þ£pjÙJKŽOVš“ Öß;ߨ÷èß´eif1.e§_(ÎnB싚Âïeþæ Ž¬î„JÔ!êÖç²oší×N»­P»­'k»ûfŽ€®a ¨c³å RÕ¡‹ ªCÐyrH¤ÐZVutÓL©æPþY´SæíÎªŽšUgxeUGËªŽæª}þAè¾×½›êò©ê¨YÕ1Nî˜?ÌØ£ ²Q€M¹BJLÒÀ®?h]Ų?åñE©y™næG§™,h+΋2€øíÇüKR›†Äos;µ‰æ§æ˜¨P ‡ÉΤ¼göÉÐz†ÕX‰Šh Ë·‰!o†ßH/^·íÒԡ߇#pÄWií¡E—ÄÈ -÷´UœìÝ eÑŠˆ4à®I©¬FzŽM³%\Çö :ñèóˆdPð' ÆýËycêïú,4¬b˜h«¿k»,‘9ðc•ñg7/7üA…ŠêYMÁ°ÛkNQ¯4Fh®^ÆÙÉé>Ûš q8¾[Âòb D°˜®A€s7‚à ¼¾ó¼¬\5 ‘>x‹¦á“Qi„O< K *Vó‡y—ÅW.tÉ™¿ì›]c,SˆM¸×0’NòÎð ¦_TDuõ] jõÎÁ0Qc´aQ(Áê`4‡gz+‰É\\^û.;¡ï_ý0öfËç JA¨«<çôdŠiY¸˜¸s»åñâ̬EC a/¶U¬¼jzÝÕLf«‡S-W;µÄ =þ™Úð5"!0Û@¢ó10ªrȆø¼w[Èa¬«TYži=­k?m^K¥ßë]~ÚÐ9>†±M  CŸIgÃ.ÏÉ18¡6¶Þ–ú½ÓÇé6Ìyè: ¯P4fþÓ~PO?hÛª%ý =ÿ“~½1JÇ uØtªý±`5É骴 ï°4HüœÏ#Bf•i%­“¬HI:g6×äjÌþNFôåâŠ÷£Á¶0´¯h6èI¸øb6Èm×l¨PYQsþãdޙ̇í|’ÖŠ0¦²þ%\g}Áuª€ÉV¼èyÀET'føL‹Ïßø²ñµ§Ÿ’¾J+ËO£=üd‡…Ï ´õ€+õgìx&µ³+Ä>ì›2Ï-«7]pYi<ºä<º?gÉö+ÈSyúòô_@ÆÎQW\Â.a{œ«VÓ%„­ýTÙã6d-}I—ðd-}:ÚªþnÚŸÛ+Ð“Û ¯›i™µôzýî,Ð,VRNêÂSK?ŸZúõÔÒ¯§¢p=^ázJègº…dq®j:†çO*è¿íÊ¿µ]yi¦2ûª'ßÈçDL°ªY!^5šx´`ÚjÚQ÷Ëz§×0”¦(A3®0ß^ËpˆgÛë™Ìµâ™¶ržmO3Ýdó$cöLhË8žjý&¦'Z@_(K#ß&ëoh²zæëÈ5¢ÍU‰ŠþI‘MÀÒ1Í„sª³Xè¾?xIÍ4gqíÓJ ˆ•5M‚,…‘ â.RW­+8¬4ÓµF5GËqÝÄ•¢¨t¸Ð”ß±ª½ÈßôÖB /\7uJÕ×®ûéÃö…Òä¿mÕ¿£ô»žþìÑWT³¸ó¥i¤bŽCQÍ~Õ«§;Ô!.lwƒ˜îü7Õ«¥DÄy=†ÖFÖÎëY>*ïFJÝ=Û82i˜nà @ºdo«È(|?¾Óñ°'°-t¶3¼çXÖ·;p¸lqTÅdD£×Åš`/‚V†Ëp²ÄŽò(  p"ìí.YmÝ© !P”öaºðLÛŽÂcŠíŠÏ÷æ:»žR&=¿¿Uh¨{Ÿ†x7;;äõ}[šOKã¦4Õ I¦ÁHl¯“ÅʕȻ‡¥Æ‹ÜN®ƒ¡È°µÍaãïîóô®¿I? Ã¿Ï Û%³&e!+o>×÷íÓüí|VYÍU6¾¬2ã¡Z„P˜eÞ‰ž‹n×$§ìhÃ*3܄ˆÅG:«¬»ƒÒvãUöçbƒm@ã¸Ñ¢2+†1a–Cì&4ÝÜÚò3éÓ2éóO¯É?&}j.¿–˯äò{¤¬ÜÙËð¯_~g>”/dÎÀ×¶«Ut{‹|Šâ þáÚþß}€r–·ÏYÊýÌïñëü¾_æ7sîËüîÆë܎ʲNI­•ÒPÓùß<ÿ—çÿü ªƒ –f–ö¼J?-ÐfçX91!Ãl@—ÕÚPpbžÕ0? \ÖÃù`†~.†Îb,pÏìóbhûar$øx|TÕ1Žô4ø¨‚":[%øˆ ðű|NšÌÀÇ•àã¼ÀMR CFg|ìÝàc¯7ü>ÊPþI·¬‘;È1ݵ…ÆT¤¦Z+[çME•„´4CW%ù{·ASÍTj8&Û!k¹I\ÒmVâ$Ù¶ ó(†n„öðBGÀš" XD™×µC•Lоͥ!żíãþc*aF®¡ø–å±[jÔs±|‚nØ%GNr’ÓGJŒ¶/Ù€Èî”Ôë–k®™£w“›aŽÌôgÈy4;NHüí’lAÙgß4*×Mi[#7¢0PI4…€;åÐKTÒ£N+0“ûôö‹~]ù½¥˜fȵ\W¦å9KÒˆ¾È¤gjîHÒÔ09ÍÊãÙkO ²í‹Á6¨&«îê´ðÀ¸)DPRˆà|"ðÿÚÉ|aʈ9mb½)¾Õ$ ò‹-eÕȹm„ x,™{`j¦Ŷ,©4]›Òº×ÍÉ›cj©¹¨5 Sk:9q Z Fi9í¹¬¢•Úi”sÄqIµÈ—rß[vYåOÝsµy&c¢‰¤ì‰FUɱ°‚yšXÅ$¯V ¬ Ž‘‰(MªÕþDÃéŽc§XÆøƒXFe»±×òˆc¬cV›jaýËnMï×…\˜eÅ2ùÜÙ\_ž½ÊAk ÈÔ$-z˜]}Ú7’ûm¤ÿíôÌIwŸ9×BÉÊ9‡,#\‹“„’ã9Çô4ÿÒsn$¡¤™P¯X‹%Ç3î˜Q²Í(Ùf”϶““í&£Ä<‘V“øÜ²¢Œ¹ÖRI{H%í™tí™t5'Ý}PéœrãOX%ß;Â÷Žð÷¶#È0àßÞšý1«[ûŽ’²‘)‰x—'η¿ûïeJ;JN‹%JË[Mïâä7Á^u+ÜGã˜îLß~é·ú;·Bݸ¸ÇcS!< }£a-‚ž*ÍPzm ì»ú]åq º"—W€úe¤ì[Y¿Û% Ë0ÿrÃìŒ)h‚ÕŠÝFøÑ~q+–5«ÅÒâ´‚À‰Þ·¬¬‹½ÙÄÜÅ%ª|”¡20ö«„$ËPDE]YabVªrÏ#K(‹íCðî¥2œiТŸcÚ –öñ2ÄÌÊÆW/ÃÑú§z9È^qÄÛ½ uIX€æeH"³$©»f²²º€³ƒ‘xBôÖð4/Côð`Azu@3Ù»›±Ø²àz·\Ö^~¨^/KÒÝ+£ôðfò–!ІÛܺ¶\YÓ Çy!ºõ2Ò©…6½i¼­EU,Íi`õ³µ¦¤ÅüòzlÇëÑdÃc1nÍãêõØ›×cï.ÎêÝë‘<-H^çùˆ‹–$†î7˜A¦HU¯ÃëQ„JJ%‹×£²1Ç¥()™>¬¸—Z”ÍR:®d)$s^Fž¤È&ëQs™Rj9ÊáRǘ1Ë%žÙ¤à¸”H–uµ\e-±X™®êl‹~Ì5å7M‡¬lùG«ŒÀÀhæÔs•å)²Þ`1è"¤šÑïVAÖÒC‹­ÐꌞŽIîéiô\Qúqj(+=ä×!éVB†F}‘d¨€Å…Ðæ©aiYÎQŸ(´œŒ`Dö]O%¤"•k¢\}+â‹ú @hŸŠô+£å•%R‚?›þW³·ƒ²}qE–‚¨¸_*ri”ÊÅMõúróB{ÍX¦>äZX*Nƒré¢ð¾¨øEch0¶k·¾ÃòÍí¤J³!&O8ýI5Ñÿô/©žA¶Œ’#õPkZ?²Ätå?Êù„Õšôýrò•ÒŸZÓâZS¦ÓÈÓ™%¦Ý%¦ºù•š6*1uí’nW`~u‰is‰ét‰iå‘pÅKÓÑ%¦ÍWG9ŽF|=Q qá}µãfpk-Ë]i “é–jzýSE†;ôÖ ÍÅþwçþX=•éQÚ?ïÍ 7(w%Ùö¬Æ¦’údr½#ö(q?©9–›bû÷wêqv.Ãütg0GòVª)IÐ}DÿAÁ£N×´áúÑšµ©4 ¸´fa|«™ífÍj«)Y‰B¯Q03½STx@VŸt"¸ÎÇèóš–¸òYX›ä{ŒtMõ.,DË4]êè¢ÂОvq_n¼§ù(É»å%Ë»·c6Œá~3xT‹‚îRQ] w5­o €ž2­ÿ—ÿ9 ÆŒ„Œ•<­*îÓšÂÅ$îYÙÎ=뢵OᛣìÛ>oî—În$Ø“’öÄb€zï1Fqër‚°?oçÄÅcÈý7öÃÕˆÍR°ó'«2Ù6 °a-Yšd™Óæj†kC˜5N5Ën/sœ ¤ÈäÊà·ÈÛ»#«ÙLÏ”;Ôj ã¹° -_)÷Bó¼îxŽbð¶6õpõÏõ¾ecNâPKi€x>Çâðæ©Žòàã9L;Á@ÌÊ¿e¡‹±:ž'@ÉîþQAñÛ4ýC›¦ìáíÂY H¸BlÛÖèÜÁGè Eøl¡,h³G|=²wwýrD²à6šŒ²x?½Á‚NçýÈäßz=ï…ÞàÕ¿ƒ/ùGIÈo£ùd4¡CÓnna$U*= åÚ§Ͳ¶»ð™ ¢Ñai(÷>QrQVÀkuQÖ·XV³*çU¬Ü³§×çšYxÖ‚Z×l”TÓ€«@i:dŸÓÔj$ÃrnÙî‡ *g»nƒDÄ«âr8—¯­,_;\›&Â*®ëœÐöæÿŸ½wMŽI’ns1!ØÿÆnÚ9Š ™UÓwz¦úëÇP¤;Q|Gîæfjªj¼6<ÉrÈÿKÚq-±Œ9Â]n¢D´¦“XÞ(—´L¨*ØÖ»O|\rž"!m…åŽéÔ¶ò¼ÖKÖ×Cƒa‰ü–µÞ;ÓsfñŒo¾ýãnkç;Êê!jï{ GuÜ¢6>|)L;dzÃðc°†œyø²‡Äíø¥üäÓÿÉGC=©ŠÂe]u ý&$YηXœmåz önüõë.hÀC›bµŒàEï°#!ìNÅøŒBÈ£åáäÁº³`%F²³ºšeRâÎ%¦ÈÛâzýX ‰“ 4þÛ:ÞÏL£P\–Cæ¹6£Åt€¨þ,':iv}s÷ãVàÇT«äð‹nw¦:®X:`iLÔ\1½®l€¡PÙáÞß]ë,F¾¹é0ÅAp/=1ôuvO¾Dµ^Â=¯̹ÎÒ"¿ÆŒðÔv®J¡sѰú˜ ‹ÄÓ(º7voc¬®@\7fÓr(x|Ùýˆ‡ÃÂm(įK½êûÊÊõåaн³ý¬ªõ3ëHV_µ¾ ô ¾r~¾E\­hDq=üùJ! /…ûÒ{` 5«‰£-RMÊÁ ÐGmf†+JµÛ¸Oyé‡AkºÞn9¯fº -ê(ÖЭgá]r’ÒT¯kÅBm]#G´X#m¢6Üf®Ó”¥V7W”û ­È>2ßùnqÆšFgš@KH“È.c£j×5Ÿ…Ä›SÙOµ£/Zʾ3z"`¬¢=Ä/³ÿQh”ÝBÝíOVu5O³bxf§¶“@¡°©Ÿx!ãÌ‘KÛWí©»½ßÝ·òòÑ“¹Ÿ1P—m°å9ÔASØ},£æ ß~‘·ôXOvf•Ú»4všê¢Š-•,|Œ ˆ«=ù˜¦¡ŒpM}œqöž_ÖÜH-DZ¶C¹ZEç¼oÝÉãp@ }SÖƒË Œ6`«=ë^ý#ß(æb^7ª¡ãa L-%úL’ÚÉ~‚‡’çÔðo‰´ØúU“âÐå‹¢‚\æ­ N'âõÚ“kfh®JóFмÀ郶§Ž²´,i %ZÖ=]¾Ð—;rë(>lg·SµÏtÖL-Ì_o9MÉ¥õAËGœ£vYi¬Sßzë‡â î}ˆ!Ó-ÇôI¶ô²©4ãþaªs “G_Ááû’°ð:yF/Oáš°Ò‰àuR5Ö¤3c›a€±$90çh+Û°R ÞCZÒï‹ S1¸"Ķü§xZº=x½Éh¡ßOÑ´ Ö¢ø²xº-ž~½è÷¿î#ô£{éýQSvîOí™'òm_2|~žñ•]cL±e„„Ð2¢‘¡»‘3¾R×ZECH|QO¿ny·%–øÎZéj¤–.Iä¡D¼KE#ýE¾óÝTRÅ¡Æ9“¬³Š!S=1…ÝR9Ð{édÖ™mèšÔˆò¶U2¼óêC2ÚV'55µã¾þŒºµCÝRRÉž¾)#®ËëaR­º¦E]sdláe2”|qØDvú¾Nt€áuý©Íñm-ýé±9¶«8í-£8.ŸK›cT.Ì><4؃‰IB0Y:>`ÿmñˬ,GjñWÐ>ÕJfêÍèò§iµÍâZ=×[EBšü$mSô¹é£,€]½ýøpf| üán•§†~÷üc]d„};5“V,;rËŽcöìä‘,R «.Íaµ´Ûõ.F#Pô¤Ø *êFc<Ȫ?-òê)ItuåÒª›zú„‰iÓ²«Õ\ K4§Mo±þ´Úl¯ÁJê!Œ m®p·cpZ>NáÐÓ$bƒ¹i°v£ò!¼âÉÝ9!‘t%|Òm>µ}Ôþóˆýgãl»”竲Xéó㟿ñèÃiÎXŠOýõ¾…G/¯>ýŸóènóßâÑ?Üæýp›ÿ.BýŸ°›ÂîOØýËÃ.F·Ð*Xz•µ®Å·TVkÇZ¿vY­âs´×RKXKgdG±Á^î/~c­ì"õ£+Ð-ýEŠubƒ¬ ¯ûëõì¯WÏd’Wl^7×rk]ÙXGöUs[¾ÜWsO½ZöÔkÄÛõ“æw˜ŸØþÿ:¶WÍ£â3©'è‚Z?=Â/?ŸþEüO ú ÿÁ±j.z6ÆîGc‡>YôÞï¡™D¢ÉÿóhÂD‚K3Œ•YÝÐ;®ÐA Œ½ ¶ˆE+x·¤ƒXZ˦À,E/m‹gW7¦¢Q€l¢&ó7Šy¬?F'»^¹ÔYTkS8‘0»³þýu#î:XOÚ«q“€©¯öë†CýJß+¬Y­ª§†Q<ñç“X>šð2>‚EÝaýw{¨ FƒÔUâ[þûyìbLÞܲjßrh¡yš;;ß1EhÚŸÀaÜO׊þƒ­Éëse]G L€îÀþ0fz®B*@ÿ—»&D#3ްϵ ñw™£à…c8 “TšFEf®± yLÅñUkÿ‹¢ÛGò„ „M‹îŽFkà”=Ám +5[8`ðƒÓˆKO·ÍéªÓf—Òk—\ ÂØÓÅŒÍqñ´.9^`áÄÓÀù¾xY±”+ê€<ë¿"yWTK“†)N}™î/ÖÁ©à@‚ÃÀZØwE÷‹ö°^.…+&3¶7b\>Uk¨w1‘é̬mêaöø€_¸• ÎÀVDà:¾+"ãS ‘Vb:‰±oà¤1¸Åc¥2˜èÇ®ëŸ2µœeò]µ- «íýúqMH:Æì…ÆúÎX“.¤ Cªª¼¹ã j±}®RÿΜ\žC…Ývg¹ŠëNŒ ¾•0ñÅSÕ’Ÿúa¦EtÀ~C簻ѪÔ«í9×kLÜ®ï UŸ‘ʸÌ>ÍN« !¾‡iÃPÂß'ÖüÄûŸxÿð¤r°TŽ˜-Scƒ½?gý6íç',ÿ„å¿ ,;¶ºÉ${³¾Ä^·ÔY®Õ€«ÏïC‹º!Re•…e`ø1 Áã‘–erx0IU»IÕ üæž~¨Z×ßâõýUÅ$õö²˜ùµµÏ²:P‘Q2`ZKMœ”¦)Æt¥KéëtᾘVRL‹R÷5Õ1˜Ùc·(7¤¿™«C5s𙝛{üÚð>Ï‘óçù9Gþšsä¿›1²‚ï—Dò¢ŠoI^òüèËŸ.ßeZ4åVý¼ W1!“Ö.'”ǯœÉ^$†¡¶âûa`¸/ãÂðÙ9ÙN1¯XàD¸Ûñ{xmFÄ«¼Ù ƃ¥‘1dtˆÿflÒm `ÜYÅ&´ÃŸTô¦ÍŠ"á!ƒ¼B³mŠ9Ç­KÏ U­¹Æår¡BåèÈäÓˆ”‰<Ë£Óá'Éø”dÔt:˜®OW°ÒMD݃Þ/ë¦zÝ\¯™zéO$?õÒÏ9÷ŸqÎý¯[?¡ì§^ú+ê%ÜeÑT)þÖÊ¢bOFÔB.©kEÜýP–ÚdFI+3ªÒª2£ù”Ló)™ÅR›ém5q$+"½jrI‹œ(Ù¥T´H´S'])“î§J"aJÈ41âWTbä4©ÏGGŠ£Ãâ¨Â0‰Ñ•âh'évpûê:RPƒFŠ#=ß×ο±Ñª¨ƒ$Ç[}ÛÉ:ÕÜ\\^œ %æ€êŽ«t‘Eoç:³úVp´Ó¯½ì_3~¤$÷c§²ìÛÝ?¶ê¬ò*š l# R•[LF ð5úPVîÆ8qê§Î´ž:žk}p‡|ð/¼%ù®žÔÙ–ÙÝ;+fZcOKìâ€Ôq±]-óñ?IyÝŸêú)®½¼¶i4,yOY1¯‘ÒúeB|gPóxHkVMOE½RPŸ©§ï”Óñ;IºIÎfÅdÁd½lkéiþ<­¤G¸-ÖÑY) aÛY¥ŽýC¢µm@fãœ_/_%ØÅTÒèuÆœ:SA£:†ã¢u׿*ž6±õÂH³ÅÝ»*"PýnN§`>W¦fNepu”Þé  üؘ‚§&Ž'ëñŽéú+—ŠDNuÞÈê%DÕíᘭ—õQ>üÝ™º,ýHw(eè6eË;[. ûHóöþ#Å㟱þ…"€£Ež‘"ƒ(͵îÏuæ¹ÎØ¥™cÔéÝáØz÷¹ú@W–ÊÁsõb¾–^=¬ùʪð†âìß‘/@J¨99Æ3&¤Žø!°ˆ¯·ÌKC"*o ô›™»x1â‹Ù? !õºþ²øëGMþg˜õ›Ì%çoÔšÿ£³l¨d¢lÿËe"¥žëÅ]ƒ$•%üO;—O “ß->šVHOŠB ;ÝÄ»ÿÿ­2ïb¸µÝ÷ï[£I‘_°fc… ¹5šRv}è•­±«Î }k^F†V¯ÇÒ©ïúK¿ï—ûx_ÿv@é9(ŠSaä:RžüI@©bª@§›KM±XðÖn \Š3õa]8+Š HQʳ¸VÁ5õbåû¦jF _ªŽ.Æ ~5ð´ËÜ¡'ULynõw‹·¨ O™@­<¥Ḑ§“-¨¹ŒZAÉê‚›W“]†F1µéJRƒËÇíµF7¹€«)g[(Úëq©ûÑH¦ŠˆŸs‰Î/õ“\+þÕ×Ë!öpœÑ‚†×y½Uÿ¯ýû¡8Yø3ò­âVÌ#"Å®XR‘âˆîˆoî—+þ¹ÊqÇ­üÏÜžq|Ŭ ™Á$še:Ï»¿ýHtoGð }yKÂWxCå@%?"ãô g8óèÔI!Û>5&ERˆMØ)m£­-‹8¦|m¥_ßBá¹áMÄãÀÍth™€-ÂÔÎðˆ¼ºi$7Tãä·dy]d\ÏåñddkC„•ÒBlŠ=‰G< cPÖê©OÖµàuB}YŒÒ*I¨ WFþp:jó¡'ܯåvzëJ°EŒDÏÈ’YÕÈ9™}·Á ÇýE•ÿVœÍ–†³¦ø¬°2ˆÏsǯˆÓ%ÂQz7†hMV?×Zy-‚Àú¾ÒÃõç(Tz ‚ud‚Ç¥«äKÙQaahŒ'˜0t“-Ô*è:œ5¸Ï\3?å%]‚ç0;+~P³^âlko»´È@ï|jõ¹c-ºÒ;+¾{-D¹èàïŒÈÙÑu·˜CÍïïŠKÄT&Lá÷|zû<àYׇ²ð­ƒÆøˆvj-„mi²W À6«| õö+.ÂI êZLçZÑøÑ6‹³Gˆ{€•Ös²º!ÔÚX™zŽTù}8=”8~nú+wá¼õß›áD'´. ëámîÎæ)ìt8 ¾ò·~]•0{"û?Öôˆ7ßÑh®ÍG“ÞKp‹)¢ô%TeìQÕ#öˆfyQpNiÈ0ñÚý@ÝþÂÔõס}!V´ÒkÁ¶pÌwx©™__Á­ ”MwÀ·b.W¶š!yâxüfÓ\U§ßW›æ_)Bd ¿^‘mèPûÖëÑcƒØÿ¤>ú9 ~Ž‚¿ô(¨õxKyÃQÒeÉîÿèqÿó~bÞ_óðWÌ 8|ë¾TšO`ý‹ïcÁgC7…•……ïc}m¹©ï#ãÈ/T ï+é¾ úòÉÀ÷±¾ÿ0']?fÒô|Œ/äé ;öÊûǧò'ÿÄâ\,Æ'©º Y]ˆ¸(B[¬&­&øw¤vHûÒj²Åjr˜~§S>S*¹ÒÒ VÒg¬&‡V“[/÷X¡ÚÒó‰D!Ÿ-Eu}üÁjòçø9$þªC¢°‘Ûe†‘Ra4W “ð޼Á„°A™ùa\_ïÁšFJ…íðûàS\b=¿^ÆQ…%1-w€Á *ã9 1§úú™ï¿ìÈózòú¾/ÿ"°h‘³Û£,¸Õ»(Ìk·»–‘vE»Z³5Ã=™Wé ï‰¾èsÐêµ_™ÔÚ4›h>b6µ4“‹×󼾟ƒìç ûd(» ê@®ð¢ öóŒrìÐÿ²>Fi¦‡r#NŒë0˜2=¦•ŸÇ˃°Œ©Ÿ,à©&Œ+D°ñÁ$”¾¾ïε; ºË%§fž1üÛ!ü.žxJ¿=tó¶&[˜‘õO¿æ¡Ç×mªûvбa§wC+‡^FÝÚ™ÖŠ‚ôNÝóú~ÛŸÃöpØ2æ+ ƒªÄDÀ:\«cºŠXXfÓµ|–—"b.½t;œxiFPFΚH ï§á n×í°5ÃÊn9LZÿ.w8sŒHÑzmÕ#äà§é³iæCÕ3=üøÒð4ü1± 97&ÒÂßú  ^Ì…ÛÝÂ_÷`?!á§ ü9<ÿ¡‡g—0ÊwCÜ9âc}écüzÅÇ¢ëƒM¥6¥÷F~íXËeêxÆöëëûÓcW‡;.þ¾ög®h™ÈÒãüر8Ghd½bd}ùDû#ëPŠIÄe4²Þ1²Þ1²vT<Ž”;û–è­‘õÍk{´ˆ?gáÏYø8 ë7zuúYñZÊ;kt)·µä^¹ã/†,“® 7®§¤ÜJý^¤ve¤µˆ{¯éTšòÐòzøy" ÄCL¿Ùž§lïñ÷”Ÿ#êçˆÊÕÚÇ{6CH䯮þà¡'úÒúþ%•An-è¢ÆûÞQ®¦`“ð‹ãaÓß™Ï Y¸:—ÕÛ@Ü:8Ÿ^[yNmÇâ7¹d/ØgRp¡y/Ùõ/Ô'—¯¡èÀ·*V_ƒêÀIÚækxæÐVqõx Eëâ5ܼ†¢±Ãë}Äž^ ¾8ͳã‡7btM2àz›‰Â‘>ÜñkÙñ—ÖsµL^qNbÇWÀ›ž/ìx®X˘L™óÞÎa»CKçiÈv"Éts í Tösøý~ÿÃoNgöÌS‡˲MŒ×—o}#gqõwç“á·qWxcÅúcdÛÞXqoWRXnÃr+8çýy…Bo²¸9{Ðà£áËèôZ`µÔîXcßõ}žIò Óò€':=gš´Ræ¾×ûefîÊYå÷A²è޼e¶|ª™×úìòðò¸²wusØ Ï¸¢Ø2ˆã’OÔ®ÌÚÌôè;|¥Û!6LoiÒ(A€B“íŒÉèD¸™Ñᾦ÷¥îæâ9-±ëäiËù‰Œ®ñˆS&éHžÊ[|q;ëì1â-ŽŸûÖPa›Ÿgq!Ñ:ÿ`ýÑ‚)—.í„í¼¹g(çÐQHOŽŸŒ6‚æÅ›)ÕÊˆŠ«œ .„Óªµt~ Pˆ0"¥ÛBÛ|«Býyy>è·]h<¯¨T¹‹åvZ`Ñv;ÔvŽ[¸¡¾}å©ýÈT×ê9 Ã„EwA2/;{|Ï–1ÛÏs{õͪÇ nGÚk+¡&ó „Ýœ *5×Au cEgQ- bÑÕk‡k À|B¡šK¤k4êe55PXUâ›hFxs”]Êë—•2ñVlxØœg"CF&öDŽm$)ï ðÓ;2ëüCAê ÷¥/ ÒEà¯ÉõHRNt õÔ T,>ÿ­srÊ[¯·Ñô-W> ôq_.ùÉkF ÑÓ± zÖ³ ·ãŸèŠ×èÞz=Ïëû‰óÿ9q¾íLó¼Ìº™æéw MË4Ïé@¦zÞ20.¼9¦e MÏ@šžiž+Ó'­'vž®Ï:V™'îaa¢UEluexØõFgè`Ö†½Ž/A;Aü¸ ê‡#äYR¤Þ‡Âö¨•w›ðñéAÈ)FeuB ê÷Xv¿^ïô ENwï×÷Ÿ¶Á׈ÎéPÿÔEáë,Ä >t€18$äbI¼ý ÉSeSeAÕ®#O:üz! §~1•S°ië÷1 çOA¢1£¿úòú~vþêÎ/À `oähýõÃXv];7z¬¼Z,÷âQû¿÷júÙÿQûׯ‹‡¶°¨˜N»Åœ¢J´ ¾^cý-ëš„fBÚâuuueµ,á_x¹-Ã\ò[­>øe)ðÉSÑy€_–ÿesfzZ2ó’ÆÈÄqNÕe~?n€lå»['‹Ê+ë˜`Mh” ·–ÀÛr–IÀÝcf0UÝ9’ø1TªŽ+p^àdmžªMD35€Cü¾f˜$…Ñî ùiÃäpÒ.tÌ9CÓÔÁ€]ÍTÞi¬9]ÖUJ0o¦ {]Ì Œ¸,Nª¸Åëä‰4&Öø¬nϼn°mà̻mÇÜEñöÁ`*`#IJ›¨—„9î Ó•“s1|¹ŠÛ[·©Çi§9†Éí ®'[Ÿ/†Âua”óUt4a¢ ÙÙ†+ÀÒ)k†9-yçßKí§¦È•ÙÙîK®·n&å™ ³fH3%ùõ7ð#l²5ÃÛòÛN{ß´ÿ¤©›J±c;VKø–@ùøÙ†8`é²ê žñÂË; ´Ü¼óÖª1ÞÀ±<»jaböÆÏâL÷jÚ¾âátá4ÃæNÖ9S‡ én¿e×NsêöW¦2õ+®9§Ø%òÏGUžGÅÆ%´–V@@þFÕ±ïÅô/°©IeÒRå]Énº¹©ÕiAYÇ ©wkK²ñí@ïtÇ5·`¼º7¸±¿¤{Ô}°å¡o6øXݶjè ’1@—LJ{îµ¾ …±skkyÚ]€c@3¦–*J¢A{±ÿÓí¬§üëOüŠ çˆ; þ?&e9œhTHþH£t´ÜH[Á¬ö%Å¥6*îwWÜð®Àz·¾˜^]Þ Šhì’Ó6g‡C6²‹nwÕ¥ÇÛ=ï’—Æï«C厓^K/7fsNIZqµ±ï±qÞö­©u=ž¦È²U’–Œ£¦NÇ‹awrá«ÂÇØƒî _þÌN^+ÿ?ü¾ùxÅê³ÿL«qºðÝ1ªüƒ#žCWF‰¶¼ð›±^'Æ å>cu`äŸñð¢õU?_¼‡´¶T™¢}³¡µO¸ì=1o}Õß'rëmFŸ¨yVʰEÊxrhµå@0§N“`Ûøü­È p³Jž¨o©Ùæ,%NN·{³Bu˜ó”ìS?W[hú$]d+×Ï×jŸªEGøYƒsûÄÙÒ·íÇ…*óÃ9™¨tgg%†Ï‘d—޵³ë.ÒxÕ ¯Š0¾\üuTΞd{Ä#çò÷v“iĹ\c-}ä8€‹uØpHÞ3ºýB㙦@•ÏõÚn;üÅ<„m Íû¤_à,åì×õtÖ¶ul(ys32ÖçôwpÜÞÚâõnÕN’Ø¥©€ZèVëïð^ûh=ŠÇ loŠA\oñ$®`LÓέÃdäÛcÚÄÓ¢U­Ž¦Ø¹nÛ¢wCâyšqÚÀá¾ ùÄd«Fäu„>S×ʸý÷îëmd¡å/ù¥ô±þ¡/¨œÉŸKfºçò(.Ô•-Ôò*}Èz–mû’´\óù‘ !8}Ÿf9\«‰MîŸü½,®e¶5¨N®ö¹–6”Gæ^4ýHo¶l®fñ†×£—ººzŒÂì ‹C¼=ˆ°2„<ôÂçôÊ¡blÁ%aÀÜY?u€¢»“ [¶(—´Æb8qô§'LÚ1$ªEâE˜½#v§”µ¥ ÉIaº5TSw9]p©'Ó8èýÖ©_§ÓáÒµ¨Úñm“Ѹø¥N àú¼RÔ3¾’푟„û¡Ÿf<ãcg¶æŠ›ù´ê¬mW'ÍboÝæzt '‡òÃáYO=_p0SP =’¦íyB†p§àU… zŒ]³:êý:C[~þ°…ë€\³/ÏÆÁ"gyhK=>®pUgð-ü,ñi+ŒU¾Q3jŽmH²¾×lOµÆÁ1¹ ° Üå×ãiƒ¾1dàüp Sª?Ýý]¥Ið²*6K/.¼QUÃûã=¼†\²žèi|®½ûë?·úkPI½,×xÀÉÙ³+´ÔSó²÷ÊŒÕ[XÝ=»|îËßKnwÏ„I×L­-ª”,]O†m1F¸‹u6ÐáÎFrí÷1¥7+ë“a½Ü·zƒõÑ'}åÞ8¤¤Õgb ò‰»‰g3w¬\{ˆ¾N!¬i¯:­Èhø¬×Õ>°¬OQ|OHÚ'F—D ¯áûr¹_ò̱(©ØZË ÙØ¯ø„€´«ûF1BÞÜn˯íZ´žÂÆ^ô©þfƉ“™ì™’F e¾¼Õᦺfúô‡GÔµ~¢>ê¡+Í1gdÃT¤—×}›¿kOç3Ðk4ÄâKÒ®8ÕAç ã©s`تˆ$¬ð(·ÄJm”1[©V €t¸nãe^NÆX;ýþNªAɌݙ ¶¾bÄ-êÎþï=©Ö?\Qc©.#èüÜЫó­Ûypæ‹z0×¢«'iá@¶aˆ8å®à*—©ÝE60µ×«³æzL@åÝU$ÿ2ΫK)’2=1þ>joÃø´Ò°<”e;il3\øÒí¯e@±TímA¸%Hpx÷3‡¸ü÷FÏ4Ê|˜š×ç!žÍA_ǃ´G¨[¸Ö©´íJ™Y!´…ÏÓ]²¬y'ë:’u]_².ÿßSpÃ)mR°dùÝÝ¿EzRžLmÚq©¥YÇ× ÔXÉÄ´üÅDöTgð°Í€Ç’†0âÞHÉÔLÏ„§—|Q4§‹¿5OÃÌdËíÔU¥£™à[šiíŸf©…𦠶)I–öKÐÜÜsdü&ë}éé‹¢!pšøó„=2~€'¾)ÐÇ´Q¿à¥e6[gq™Ï‡nÐeÆ1¡m- 7Ca¸’PŒï›äù*7Hi/¸“âæÇÅ·9-SfÚó Ï(ÓR&PiHø8-§#vêdžró®~§D¡#y¼Î‹™8'éð½_ZmRN¼Ë†x03WB.‡ÿXqž3¶SO¡Jû÷ᘜ.óðiCÉÃF~a][ °•áTö{‘[ÈS²YÄÙbÆJKa1áZT|¯:)`E_ô©2×A  æßDXÞ!MíSBò~ˆÉFÀy[„AÊ»fÈx·d>*÷EíÀ*èý½*ØàiïA¤“¡Åˆ›ÑHúK¨Ð½:h*,š NR–¡ÞØÍ,   ÖÍ«¤½6ÄÉ­öA•&3,HÌÐ[ºŠ“P­7ÀÒ ºµá®+ éVËxD(D¤÷‚ºŒ)–=eBKÙ0,#¦2éaSæ2æûëœÎœaÖÇ@員ΔÙ2*£ÞQ õûùxK_æT;¼Ú æõýÆì5ª2ïÚ 3ºò‰aï¶‚TcôÎ@’‘A5œ‚ÁOpõ_u8 ŠT¾VGˆ<òéŸwÊ.ºŽJ\Û9¹³L­ª´»NÅZ.d½“À|Àí‘ÌÇóÈ`á .8‚´$Èugà¨MD0Oèã3‹´+©B—‘ÏÜ<—ÃåμRæ1÷,³‰XlœŒ?¾xJ™‘tª 7Ïäft!Qÿâ/Ç÷ê)+Ñeç(YIãëzõ¹){OÏMY"cü ²,VP›y>¨ëií‰Ös1uc¹+†€W>š´·YÿäùDy|kM¯‘J;C0ø#½ %ãè„vWrx9Tª4pyJœŽÔ€§?§‘Q¯Í×õp¡WŠ;v|GY{%õs7@m郦 úB$ÙÕ‚aNYÅý_¯¼ºR¯ARýb½m¾öBÍ; OÑ™n€D[çœðzšå¡Ì°,$¡ªÔ«¶“o»Ø€Íœ Ñu£Y}ç?aºÕ_÷À7ý2Ÿu¨â°³þåFvÕ>k²0¸åVá3gvíÖa¬ØÞ«S‰’U !Š™ƒE¬8ØmÏè†>ƒ÷ïYÅJŒ(uG׿䢉Ÿa\ÁŠÏd=XñLûëV|+ÞÁŠÃ ;¬ê¬ò¤~:üLëÏiÑ7¬êð”LpŠ]´Ëô¸N–_ë”>2 *ída©±COæócfòffòùm}ÚãlXsÉœ˜Û¦hcVä:´XMj1ä;˜êjg®-š¼Ò.;ÖZù¸áU6ZˆÌ}óq¡MåL·$nШ•ùyeA»¦Nwe‘°p¡XüÝÕE¬VW Xš…fôðuUR\wÄk‰l-UB+Æ–kÚˆeüЊCÝý„èÇáãßÉáã¿ã«ü0‹Ë,¦KÝCÜx…²vIB¶§lÅ„;ÆŠZx :«š…Þü7¥ÒÐ#d±Â€€txÈA[»%#Ikk¡¶ @¡wãe·DçÔ>GóBæi²†‚wÉ“àëT_[R5•`~ç¡,ewx%cØ€~Lt¨ëuÕï8`¿ ¼Ù‹‰™ÂA°¹À®˜ Wù=ã—}ºÞp§GÏ–¸y­èPÒMj)3l¢#Ÿ\ÌÎf&¥ý ˆ¤$, RÕ¯ßZ9SÛOÐüð+<Ù(ªÌñ ?«g{ðkiݤ¢"SO¢:{2Ù­¾”û„UàˆØž ,Bù¦¢¢ATà/Èø•ã®äì+¢ ©&Ö˜àk>ó‡o CŽÏu%_>{gË·ˆ)ˆDe%p D½‚ÅZu¦Ú,±ý™â?-»T/nKÓM«ÞLŽDf/qßÚ4º£¼Ïs[_b­Å _l-hzõõ æXƒÆèÏ÷ÃL>LOayS¿Ä‘ŠUG0.]Ý>ÑÝ.ù¯g·Ã§Ö„w­zGC¼j­`áx¹6Фï/ÿ?<ª_G¿©ËIŽqS1¡ X”R( ÎÉ¡ö^â†+‰'\”.ÿêáqlípI­ùù¸ézt™GBfek`/×ì´_Â|¾ÓT…A‹úÀ<š¡zõà)øù,Ç$lé§m-,ªÂQéûÙ mÁ†!IqÍÀ]‚lê+Œ•Sú‹×cdØÿla†3B ÆÔ2å*PÑ Â|´*·ù ‘ŽÆ¼ñÅÝ­,ê–eu†NBòßÌøšO‘|™¹i¾tAJ>­æ´I#5»¼Á|,®toX-‚Ãé4Y›êƒ‰ñ,ÿz®N˜Ÿò—[{’‚#^=µ>˜R_êËÝLÆ/ÙÕõщó(½9»?60¥AÎshÑô¶­ îþìüÑà0äêÛŽ °I 8òïÖFÚ×Üm¾ûÇ·ØÏ7]ní¾¢s^Ú-ÕBõ1ôèëÄlióbÈ–4)–J„«Ò½c7*5#¤@äÝ¥ì¡pgVïž ¸öR¦°}ÑûäàãBf–Ü´ xÏßÄþqŸ·¹l!UqLÓŸ²®kiqI·èg,.*ë? ’õý@¯èJn™¨ÎSɼÞûBãœ\ʵœuöé|½6íjâH5(ìy}ß‚g”ôÒ=sþþ[€Õ°ã­k¶U¥9‚IZF×9èŒðq£ðä{“ïgrų¥ÓZ |\̤"YÈ’=M¹÷AS•… \¸¿4÷–v7­;çîËüN³—â`ú' óP³w‘‹àÕ­ñ·Œ*q(™—¡çÌ®’uäÖÒ*ˉÊ@n9ô†°¤·—÷ó"ù¿ y¸Ê¡÷(©i¿ª8’­E÷h•]•âH6ƒ»9X¡ÁtîímŽ_û§¥SÙk¥„SÖö@­X_˜®ƒ¢6V}ÝÞtBªöoæxƒhœÆÄZ,ŽH2Fû‘tÞLjLNÈÒã›ù‘Üíê–5 ¢³_Qùiu¯ßVå=åÆÞÌr¯'!e€”£Qb™Ì$–œO9–Ââ• äbD6hošD¢Û£ÌtÚ鸫Ÿ‚ ‚õ—zf­ÇÒ mòð9’¦'i…ÒÂx˜Ôxù$þBRfH²˜*Ó–øéº} Cçì?t~Å¡%åU"Â>­3¿†ˆu=YÍ7/ ¤ !ËÈÕIôvMÊýŽÐüKΗړTÖô€|Œ x‡ç÷«äncöÍÙ8à Ñ™^–pÌÆ9åæ#ø½lqн]™³"›X™³2'¨/¦@µ¨¯Ìî9ò³vHoIIzC__óÎ,›üî:õ!̲i3ÞÏ,½$½Ùöe™µÃß’6HgºgÖNÄp4O¶bf1cPÚ<¤FtÙ=ˆç2k'¯ï»éåkÁÃM] “¹x"±xaá¼P£\B¬ujA/™)DäpClØ4u•¹¾±Ôz^Õ*<Œ@5¬1¥9mº«­\¢@ Û«õåµïgÚÞ?¯CÛ4€ý-d œWiå©c-€ C!]šBåp[ï¡råJ<¢ë¨ºùצù™V&N ÞT¢„c†Ö‡™SÒŸ¦ÄŒ®+ÿÔÁËêBÚmõø«PÿÓPË­7F²ëîµ2§Îj\I`¯8TÛR£b®r£óƒG𘱦ô‰Õ)—år!ü±CY:ka vèà1G‡”Q…*àñ«uŠ ÆÉËeŒ¨Ñ-íù~g„†DL}K\e¦Mž€l:#,Èþå¼£îÜ–ŸÀšz{hÛK s¤d›É¨ò¬#N}Ì'ƸÿŒÉXiŒ…¼šµ9SnÌ©°eWƤFŽÖCåˆD«¢h¸ÚW§‚ §û}_Óທº"ȱå;õY¬ÖŪ,–¬îÀ{Ž–ÇÙÉÚÊ{náGx“ý­”¬å=7òsÛzaªÞdV¦\YðdßJÙb¤lÊ„P xÅ!ͬ0ñÁ“2jsÞ7æüiü¤õî>Ö¤SÇ„³Ò§…øaƒj#ñÆg)¤#WOËôˆŒ%0AÅ–3ºIjæAœ{^÷ïÙ(¬£[ ˜Luì ãô±KÓ èb§Ü[ó…¯ÂaÉzŽÄ†® G‚ÃÕÚÞxdý¿½˜iÛ’axÇËŠ°g„oUÄ>ü¬`CUæ=vjS™õæ)UŽê/ÚlŠ x_£¥Z¦|(& t¥§€¬èð’ZØ#¥³C#2o&·@ëôR(‰# ’f:[ë‚XºÚ_ª§o*§dTˆ;Ý zÒ¿Öéô±á¦V|8Õ.ÿúÿí̗΋jXÊå3XÆ­_ªò”ÃÌ Ò•îdÚÅ+™`8¨œø— ÄÈø.:—n#ÃÞޱß+ gèýÏxĪdË™%Ɍҵ©ˆEÊÎë‹t<-özÂŒº•AGDÀ%ýÿT«Í £Š¨¤‘WˆäÉl0œŠn¬*‚mÅ€éÁs†Kã©qÎÈb™Sïy ¢` p¨˜…ëmÚu†!°Zmw!öfz‹1R´˜Z{ð;l¢ôïw¬âL¥Î|€§b‡ënè'pdV¤éð€¾®T+éuøÅ‡.´’Lc=„{»^ýÐ8¨¶¸Ä=ä4K·m83†!Sýûçhf\WÌS‰?Ï Ñ’ÐÿHÚ~ƒYµU¢¬üã²@U²Î4.%Má¥ízu¿® »~(;­xTPža(û«H¡+R8­0I–-z«ÊÆ6gÆ€Œ¾ñÎÚÚ¾—yÄö@—~¤-»j½ýæºi˜I—·§^µÍ§] œV=wè LwòÌ)zé´Z_î?œV éþEa:‡£ŠpZ-ÇøÝM̧RœC¾ÄB+tyêµ(ŸZº2\½Iœ0ð¿­>žÙ´,ÔTB¥ð…x¡Ç€^ 8Ôîf7½³dá”úR[¯/wç$g:á÷^#«X€QóàÊV’XAW¹÷,¶·y;ð£ê¦%Ó4÷¹•IàsŅ㿞" x§eœØ®áø§µ¬Ä@’‚‘ûJ>}*1Í:´qPÓ•Q‚Jsê‰ÌYÔuÇ?€.bj~~0G¬:¬ML”¯]ªõÑzÝ9¥n‰åXŒ¬•n[Hð”ï:&}s¾‹=쿈[mÛí=Ó!ÑÔî›Àˆ¨A†.ënÑB¦ E°ú†ä 5±‘-¯~©U_ëÑ¿úWjûš~`Ó02¡ú®ÐÕñ†ÿÂq—–,> Þ[ø4Ÿ)h€ï9¤(Pãßâ"?ýøÌ7îàÕ…/Wµ@é[Û?yö´‰áÙ_¡€‚IWvÆR¤º ­?¯W{ßÁªizƒ}oÑêW \Ý2d©ÈªfÛ mcl&ïä?+Œ^NuîŒ*צ MP(9÷[ úDÄËç£öA˜}1m8ýïÌ3gÊX+¹†…e \™u­·B½æÈ·RÕízà€5º¨lH4`˜6CÙ¹ ²Õw¾$A”ûÉ–•s(°¾•gw¹£κ1·|$Ú2˶’¥)v÷ýL ²x#WB¼IL/ÚYuƒ¶}ßÀõ÷°îS*{,[ñi97³öpBü3¶ÔªH;h…b³¡˜gI¡Þö“Ni& ¥ˆ²•ɵKñSã°±Eà™Ž:¢ÌËðu…Bp?n ßöò¿Ÿ¯& ²˜mÄÒ¹=¦·ñåú !zä•}ü¹K¼ÄŒ9Îî@ìß;ˆÄøM±¿ Æý]Áhc\Òܦ|ôÖy‘u&€p¸}™E½¬;v m|ò¾ðÊÙé,¸R3[»”[¯&k4þõkíwÞêðcü½ ;YÄý™²ä<ÊÓFÚ !ªž‹õ#§!ÜC߯BÆuòm'ž¸ÆlXÞ«G>î#DÎz¿Gý¦W'áø¬•ƒ»íØ_+ö¾eí”Bgº·ëçæHæ>$Ÿ©ß7ÔU·Sr‡ì¶ÙÜS9¸ÒW˜1×g2Øé+íÉr—¨ddùõNÓ,´±_j«³|{<¯,ßœ˜©C-W“4)·µg)Ë=$¦mâÛ®ÞÍæÚÈœVRØZpC<]G6q/5'õ6}-_CÈamCp8lŽÖÃæP5[×®ÓCƒ;Óø“/ÿÈ €A±š.9ž—YÊ-ÖÀÚBÂ"ÚŽ(ò>¿°ŽÑâ’˜¼åöÍãIEk °Ë‘uöåF{Æo,‘Ÿö5™Ã’¦KIµ’)CÓcKüÛ›‹K×ÑŽhrÛÒä]fb¬½ì©ã%TñæÐçµ+ù§âüΩ8áTÐ=ëÿuçƒ|#çUž±<êã#Aùý´‡IÝ´éù””*©bÄ>§ç©Þ!W<…« áç-~/8o(6›'w_ÇýJhÊfÕ ‹?Àx¦5úLõF4Ï» 9®%üîrÈ­“BÅžFDL0%ÄSHBE 9$¸Î/¡Ì‡KkŠBr ÈFH(ÒŒź9µ`X8ro®x |йxû2Èó“aq¾òÄ/«‡:—¶œ¢"ZXÛÙ¾¯™\³·ËM@|B»ø×–1Ÿ¡ì!­€{ÔêÍgÄcKs$èzüÔ€kR÷‹ýsƒ¡8õYiJ½æM׊ªô7‡0/I„=úÞ õ¯h, ×áãØ$dûŒÖ  âÈ©ñ3ˆ÷¢~à·² Húµq>7ŽÈÍ÷„ok¢2¨õº d…µgh=€Öí2bÁŠü?º«ÿ]w“eNÉû”`y¯Ôå+YdÖí&%q}©kx™/¼\]*Æ)oì±ZôØKñ»äÚ<¨¯&±ß™í“@æy1DâB'+BÞAT»c[Õ´ÝÖÞÚ IiÄü cõX€m-'ÇÙ¢Ó~kœZ†ñqìðÑ·W,Âd¼8ââv¾ï×¶s[Y?ýÎX^ó·›Þôu–öUÊòÚ.íÇ-÷S{ìÉ뚸 ßJ‰#¦A&ý·ÖWÏÈ!¢…]mا¢AF+W=­¶DDà ’ («ø aýÖèùI]-Žwn%Un!8|室9áLqºûûõ};+»]åT׎N{²ÊK ]t4Áë© w6nŠü€º@\±¶k;θVuø’O{€×l•O~bÛ·A¯ÄÔ’êœJঔnqïgjKS ' £_Óy8|¹Þ–Ÿ¤î¸ˆú6<þþEä•(íC£ûó'ô HB¿þ؉ÒýŠcÅq¥¥«°ç¯|u·»x§eãmÙÈÜòY©GžñJ¹©‡f˜¦uü^¦‘JO½Óôÿ®#ëír½~MQp~ô™ ¼=´ÞÀóP:»ï©×Ñø—–.½0 Lä´ »ãÓÅRÛZ¯LÙ'dÖWˆ²w¼¦§tÛçLÊï@ʧÛß%Ï¿ÑS„wåaô—†J“tUN™Ó UÆÍ£;ªîÞ‘@LªR²c7£»3–ÞØ2ª9Dıp³K§EÁü6ºåt `¦“( Xg¸¶aZæÊŸõ­ˆ^JHCHÅëu‹Báì" rÚ$¥c„ àŒ»‡d‘ÁüçÞÃ4¦ÕÐiïPüz©!=0|B±õò0hRAcL̈|¥‡Ó ëuæ-5CŒîÃ>Î6É„<”Êûiˆ©IÒ[qùž0òAíb«LIàñϦžzÈa sD.qcô]‹=ÎŒ—ÏeO$f`Ñ‘^jplÊÀnÆð‡HÚ²ø$PžÁÜ33\×Ð#t˜Ûýt„!ÒFö×ÈþÊ;ŽI í†@ =„–BÑò²ç7Å–ï[ƒŒŒ,¶ qÄW¦bãÎÌ8šÍÑ¡vÆunÊùßfõ„ÌÄFCâ–·º~ò¨“—ú…¿zÇ…9£SR=¶1êN¸Ð[Ö]yšBT;#“>yó-Uöm–rì#ƒ tæ­¶ÏÌHìÊ¥itÍùZ†ÁFŸêýž+?£ÝlgøåçÖúí`Ó¼ ¿­)9j+sÉVl÷q*leëP!‚’a0C ÅRO•F¡¢Å²QÇ£};Þ¶| ­SHkÏkƒöä±<ÒzÇ;Þ4ì¹[q2ô¹`Ø(PÀoTü£ «Ç›­ÊýZýÐ;¤´ßÞôC_›¨âg'Þ¬ýKÎÖ|ÊÃ#6ôØg\)#D½Rk_=tDy­#h¼ççÿë{þ…þwQhûÄF|VÑnáÊ&.ÓnŸâ–LÊ$Þ§ìl› 9ï:z~*QL¯´Ô$ŸJ(íJOp“œ¬É’‘j4÷9£¹ Œ—8) S 07¬†jjV“D”·RO§ˆMŽi”é,! ½)þrÎÓúW=WüŽFí%‘e€¿ GÁiÈö2-å\6¥ÜDŌē˕…,á·?²R27'qVfõ#…c{óUd‡º÷̬EÖ)¿Åÿ7!®3C†vèÖëãW9ºð–1j 3j½¹–Náô}ZétDG DCÛÇËV‹0hóÒÏÆü€•“aãЕwÕïÕÖá,{°—s#^7&¨Þþýo¦õŠ ©„ÎÙMÛP]èÊ·d®Fïc‰‹ë×Oþ©… †icx¹<Öº f<dr,½Zâ€&ÂfÀ úüzË·“°G×Y¬ ºMÉ–éPÉíyŬåøxXz“á½è5áwx¸Õ—qR¹1AÜU}4qi}éw_2V:§Vù17âºì¼ÀÞ1תG39Âu¤a=z§!ˆ½Tñ 2!Ff^8:áÑVͨ=Dd_…UUü¶NÔZOR‚$`SÈÚ†&Ž6 ê‡5L=B“CAŠ]„[˜[æ5ô[Sÿe&”-ëcÛYˆ*ÒüR¡¡¢ø×Ÿ}þb’0 ãq'4áo]+5.€™x+ó¤ÄN/2¯ãëÇá ¯m¹¦·k€ó˜O[´Vó)mq}ŠŒá£±Œ›FJ´O"Ú*=çw¨Ò²ZØì㙞¡~ãE~³ ‹§V;§•-wy uæHýz§ó:fýÇÂZTÂ6 PŽ¢×£/Êo¥T‚@騰’^¬ œM°ân‰Å“î¦Ýp,ú#=úî,z YÊ#Ar¦56ðý·8âxrœœz-ÃéèÓQ5ø ‚F&æXCåï·ª]NÉû™Ãk ÉÙÉ=W^Ëv ¾G°éI$×Åz&Ö~ä›K›r²8*@Tj8iH4-ëÅMvf$%ŠXb– fuíé€_Ê5±{ºY7BÇ»Ka½ŸJÅæC8¸ÓY 01ëœOF@5½…˜Å؈m§qž [â”=Æp—ºE£”¶Î#]Wè©æËØ\í»á8 Åuxñ“åï²µZ ¸™€i9ªUÍnáU³•´§zæP€¿´ynŽo¬xØ™Þ8üÛÚ§QY6C -q­¡µ`p¬rµ~ôZñÜq!Ø )•\SÀóßótaŒ<¼çÈÀN}|˜&NõƒÎëÝÊÉŠ"!]65¨Ñµ/†Þ‡î•®”w¬Ìr e³ŽÕóäï‚hf¹~¾Šj®Rʤûví­D %ƒïF ä;v÷—¤°F\ÃÉŒÊuD›Z$®ŒLÇ´ÖñeÓŸ²z_¸Êaa zðU¦µp›`t˜á*Ñë²±\xQ‡WÿVåk¥Z‘è¢#RM¦KS2-ÖKÌ–½H‰™”ÔÙ‰AMvˆÀm­ 6ï€8?`'w »~à¸Np%¹®»ôŠáÃ0+yÚ"¾Œô©ßÉ”G•üÙå4͵t²O¡ô¤ ‚*nn ä'Nû©*#FRÔO‰Ìð~D6– ~Š<^›ßÏdÝvÛ²<ˆt´ %ÒÔår,Ù9ß™;ƒ/Ý@™Øµ|$8>L^Ì„Ì5I PôbæÆ´tsØŸ|çÅ©NMÿ‘š2£¶©:]Ü2íÎ;¤Æ/mdúT›«9•%ëçÔ%Ì`£Šð O×KÄ×õ·_'„ŠÊTÃá’׳ ›¥1ñJ.U Êù+žÝ´i02v›»Cg©¶Ê…’¾lËN­Ép´"¼ägÚ$v¶Õ™Ë4¨*iÃñD¥é²]GËÚ™»lS*Ya}ö+ãº&G›SºZ@O÷é²gö9Fá ™Ð—8º&ÅBØZÃt³(9ÈlÕ“4Ï¥9J¼C\SyuVC$Þ-¼*mÛë×-Õ-Ó#*̆æMU‘KmýÅß[ª|—e¾7tr [ï’ÍPï6àŒ«j7ñê‚ET¿ìgÌ0w™\à¬Ðéïøƒçïwù¼ŸQ·ûAò7»½éÅj¾€À/¼ƒHÀ )7÷5BOë!\mu¸ðz¯ú]šu sö!/Ò„ÒŠ *3»O/ÏF;øb-i—m¤9È&Aïqo|ykÿ‡{»Y–ÏHó›í;ÐKp,]-¦ Ï·Ø®m_1é#ºX¶?‘€:ãÅ„€ØC±º÷•±ø(öÓq:(ë+»8Ñ?ÕIœ¤ ®5 ¶ 'é®!w ÞX‡½l¨¡Ò­BŸõ|Ä $od€¢²¢¢R•sªóÊ@2¶\Pé Ò°-.é1T/ÀFçÇ6›sÂÁ3ð^0f¬ÑOÇ(kÈJëHÒ(rIZÛr¶®+%MæýÎûgûýl¿×íW%o¯)*è=€;·vº±jUõ»äûûÛ¯ Žº‡cÉŸ^¼$_½‹ &Žâ]×Ê[aÄmKþtýŸËÑ·Ýû¿ïÿÁóMùW_BJŒ ¦ޝŸ@&s‹ã¨£Ç}|‹™zK3nF½Ï[ €eExü;Î ”-ÿøxدp1F´•”×2´°² ZRwæ;°——«ôÈîH_[¨öâ»nåL¶’œ3",Õîwè½Ã)ÝZ#öT§PWnq¯ÛÏ39g¸n¥$øçL¦>|òC±#­õÛÓ«M^o¯ö»™Çeâ¦%G}³ƒÏÍó š¶Ó¦mæ>½N›7}ŠôCWÏ/gûñö땪SðÇè)€.1+$§’iIÏù¥%M¦¹Î¼»Ç E±Ôþ‘2´cÅûdmô^Ãl¥ SO¶ê~ÐTªÖqP¬ƒ x>½×3b`¦‚¡TÙÄç¡|²7à3«Ó•˜]ÛæqgþîéV´Ò—,F¡!Ò“Ž¸2+‡‚8.ÞwqWzöŒ\®gO7d‡ù‰œ‘åö¸•è¨ìŠZä´!n—dKœÈÜÍž¨.*>¨cn¦M 9Ç{ÌÈd¼Æô¾T­Ç]½Åh¦t´ØŽÃ¥>V”H‚hv?8HØhGº•b^L5㉲æöNgjr‹ï>óç4ÒDÍÓé’GÜGá»m÷ ; ý)›Î`W`[[†q7­Ðº%ê·R+Ó„õ{ût8sŽÆ#OØ™ŠAÜÌÊA!–çpþöîŽIC-è[8ÓaCnyŠb~¨wÓýž~^Ê~4P†-óÑÉØ£6ˆ‡³d½‹jMÔA¢¾ºJ¼¬dGAè¾ýzífœ¥›R™ÓMømhíñ®ßíŽp€Ò;‡ã/4åš3ÆÌhv€ÛÐ0WF‡9y¤3Ì\žòRGUÐZÕ^Ïp¿O^ê2Tg®Øˆ…ô€s“ïÒ¤ ñ´ÚO?Ϥ é\ЯF”ÍP _÷Æ>-²?Ȫÿhºj²{ÇÐ}0±Z§(‡Ì½L²·ÃT¸ü¾âÞ®Ðl(ÌÛõ©÷j Ÿ¢¶;ä鱆UÝé±Ú­|¯ý™ßݯ/}ŒéAz…@yê Ãè¶Êr:)ì™¶=*Üž4dÉü‘w™d×hÀISÜ/vvÀe¯mÿe+¶Ëv€£L€@F"Óã°F CµÅ†^òÃf ì³&€É5f–/FÉmÇš‡«=2}ë–Øm­¨8Aºäþqk"š²|Æ4!†Ç¾²19Pœæ°÷åhÎָᦅSÏé²År›z²ÃÆÿƒˆúaGlñÃIÞí8òoSm–Šg\UkMB©Hm'Ÿ±XÂ6LgÀfÞbhÛæØc'\œÊ@Ih ÀyâòîUËß×CK¨fŒ¾uôaÓCÁm\l¾­g¸Ç°IEøžñQ=G«+Í>ñPC´Ô¦ì’ÙqÌ´¬.ƒoS(NmFÀ€å «êns¼ßBÙ}ìHN¤O[MîîŸ@Âu>¢‹h¡ð·h"ÞƒO®0ȧßû‚G^×·ñš—”á{D2uú¨~b[B£êíÅi ÚBÕU¼«Kë Ô~Æš¨ŸµlkqÉÇBˆîp.O\Ÿ#ĸÔÅÙ¬1µø‰òr¦§"ËD 7mxJ<™oªÓÀG·s»´j4~¨ƘØ3¥Iž9u‚Z É+Ê›‚ñ_ÏñÆ…û;WXë`‡Èy3ó”˜}‡ÏŒçt‹œ@’SMnµg¬¿3²kB®ÜÞÇê¿Wˆe3 ëþ›¥VšL¾XLyˆæñíãQ/½¥ G ÷+?{¼I#ªÂ‡f&•+ʸÏÛÈÈqûp4(2$U"=gü²E÷R»Y—–nvàLéÊa3S4ÃÊúbmbÈ諉–«isò„Šå>:Õ²‡ѽ¿gn‹•HÒ0ÓÈ83\b!„SUm[6Ý[Õ(ä>dÓ´8¯z®{¯«s¬â`²°Gê@*øK*™pUetÒ‹k}êE™þ•ƒâØÔŒ¹óŒÆ9Ø h|§3§£Xì}©Ç;âŽE–f!Që5Ös“jQ{‰:dêžã×ü¾ßoÆÇ¯bBÆäò.ž n½:±o»adÕ·Sg¢ypÁýÛQ×ù܈U7yÆ9«’žZ­Q2&«|)¶$ê_š¾—‡Üû›‹Çi`^cPúè˜ÞÄ|†ªY]a§_Ÿ×)Å•1]ÈÈ(œàIíç°A®Ÿ2?vËB@tSZOJ×ÂOÅËH|IÍ‚¾Åt+ÝáŠðhÃóþ7|†°f‘DÌô%Ìž¦×œµxmFÇ¡L£G8ˆ6¾†}©§‚DüñŸ³ä+ˆL^SYr¿;¸/xÛCŽØ&`‡ãï ˆlX¡Úõtž>ÁÓ9° ÂaÐA2ðO?•ž¼½‘Šh:^½ù¸í43.‘ŒCŸ ð”+2‡Ûº ”R ñ™x×ß\±öh䎅d ?M’ÿÃ*Æò‡.u/ºL‹±x^‡ßp޹ʵ „VŸC Co&/0dÇÃT´=‰ÏîÞøˆôoy»–gê²/µ"Z¼óZwø»RÉ;Í´×+ŽŸ‡µ6 _äÌËî$¹ÝcÝ¹ì “$ SmÇ´u×.àZCQxJ’Ex8S[oâ%[~Äfd¥”Ûùø²ÖïöFæcŒ”§–[!ƒ^áê3n.²á:µÊÀ1Êd¸\à3–çÔ­UÏC×8Äêk¹Œ ìEV €s’$PnáMð»¢S¿ñéÞá#¯¶ÝöÞý VæiËoŒÊ¿vÖ‚ ¿Ñfâ©” µznz‡¨áõ$8™„‰µJŸá9^&>NªüÆ-\¸3yR~ã¿ßøWܰÈê•bíȾ›Ž~˜:„--S(#™«Ë[—õ¼³ž—ÍÄFÿëºÆ O>„Äê­®ÏÈ®¯Î+}‡äkôÇz®NM$8Z:’Wz‚µ´c®]Í­d/\AÐ1a0oPMÚLW—-}F©¶SìóuTvmÑ0ÐÈʼnÀÌ¥ Õ h;æÖSÆ_A Ø~BÕM’$ª¾?·ˆSr½chDá/¤À1¿+QºÔL¸­wéŒ6×Ç3ÞƒÞÅõØl¨&¥¨¢ët ÓïÐxúÄ4—܇Œ*40 \Ú=ÿâ,±–ˆµu`2ª¢¿ç%”"m¦§ù²m݆i¼]AbP•²âû‰ª*@?É -3ZE‹Â\¾.ÎLlÖ®8ŸvëŸø:ŒìøJ¤A´/0éÔ›gIÏAèx¬4ÔCÙíá“Y÷\Ö7•¿Þ¾o&Qø.÷ç}q Žè‘ëøŽ8ÌÃ-Ö3³.Q.˜}iûß#;ú6 Ò‰þõ¹éÐgtþ¾~bü~¬/ë'–Q´žwèwÛ Ó¢/ãªø(/£À!)wtT*Ûû²Žàs¢5ñ³91\Ì[½ ÈÛ‘M‹Aìô¼àwÏ‘äz^= ¥ÔŒ )‹ð¶ßÌM=$p9$ý¹zÖÔKrxÀöoÞáf\ Œ_;ݤ·vC=TKÑh™7Ný=´éš£j×ôî¬ßi{]Ú¨lÙ\žà™®2|Ò1Ebdгv%9¶¢Ì§2‹u{N ‡“#¢må+3 ¥Uªâ%‚Ò»£ÄLÿ%>X·¤ æwßh«~àz…ÐaýuXÀP¬œÒ1æÔ¹ÔÙ‹/ªÏ#Í×z}ðOè ñnèPË”{m;ëÌÕ*âö&‡ÔûB^½F;Úîfb/ï¿ÈY8›@.„ˆ2˜àóÔ©ÚvÅöÌ Ùiï¼ÇÐmÓ'²e‹`Ķ )׫¾£¾¡X^t.蘱#°Ü› 6ª¹è\¥Ê¸}m§’}”72^úÒÄ’w‰~Ýä~˜0žt% óÛ*¢¢÷s~a£e¦ù8¢ ÷t2…[ÁmâCš°C9ÞÑñ ø² F\ kqŠÃÔÁÈ¡Ö>Þãé†k#Uð¶Å_ù°‚›ì‘;EIÔ½¼2EìµM¼_ù.ˆ> —Ïó0^V*µµvaúõm «Åý,Þz)õ[«J™aQ}™o[íÜùœÏœ\ßúQ!¬ïÇø°ô>Ÿô#8ÕÑSQôœ"W¯ â#Ęzç6° †sMí6î sªôi>ÉWÆIWN>´ÇàÇÝû•9ÓÝ%LP}Ì霬=ÁéX+‡ Ü­GÍb°x ¬bÍÁ”—‹ ;â5ÏM‡‚ÁX¨ºl[X¿¯BDj„ÉxY„Ç™(3NûP@XG@{¤²$Ç®2¬¥äwU6îˆÈ®÷HP‰æF/•¹B*înŸ†Îª0ÕâY×U§ñ¼­'ÅäšÏ<‘öU!XœØú¸ÄnkVÖqgéøƒ:žñÀÀá™`CMTçÀ¾‹g”D:m‘øéDp°¿*œY¡º¨®¦‰Ñì&ÏPÖpP¡.õ|›q=åZáŸq×w¤imôh(xTž ³Ê GnùùÃÉ!#|/f•f‹DaºŒê);¹JÉê¹`0?œV¼|ü8À@ÉܳÛi ,ÝSG`[-·-—Ô.–S}%[3в¶Â –,›O--jb‹ Ì%‚pËpuB† &Õ]FÆ:¯T¤=Yq`£3!¶*•Cõ¶ã}ÉÝßÌÝ[þSäIGxœ¤ •MìÃ`IOí¥yFm‰©?Žæºu1,ql÷Æ›:5h@kû ô©o{8Ý70áa1ƒ3ƒÝ–Jd]ÓíXç÷­Ór¸HÓ¼U²öúpöìáº3®ê¾C;9Tùà)¤¸Ž”ÞÂþ®%¾@fUq ƒƒ\1JýI8Ø E7~_–˜Ýß+ ùµžýþ’0˜Û|¢yýÁL±³ Ñâ² uo ¤2˜oÛ€—üeò=iõ¶äåúèž)9»A§Å¹98·õ˜Ÿ÷ˤo4cñ1Wxb©÷Æ…”¤—ÉíÈ‘­Ò íÄ¥—úŠ^CŰƌó»>Þ“xF,Æ ×Ïá -gÙ¬¨™¢¼´·2¡˜~w­Ï;›±’i4[ß=ÀîrÆÁcú¶m|¤ûêö묔QÈEiÏ®´gž!,±ó!¤naûCv¶ïÄŸká¡ë„å‘XÛ!PòL¯ÃDçqK»¿µÓ¤™¨ £b÷3ªÌ¤.Œã-å!kæ1|‹x²a9è›Ë²†q½6cSˆ ö‰Ï•,tyÀáÛëmø¼qÁh \ZÐ ´¼Ã¤eChéhÈPgÝüáÁ`2¸?Lµ¡/|¦p)("5´àÍÝ>ɸO,Ñ/Bà…ê©Ò›å#äD—nĤ”ubLö æ3/w²n6F+ªR~`4a°b{]Jê½Ë—ø™`ñˆZ:˜í6zÒÚ!è ts?×.L¼žKaÓÏ)ýá3|s}±d2N¦ìÏ¥ yÛè?íÂÜIršd…g˜Ôeû›œãN Ò4µ ’æ)ŒªõÂØÊeZ3¶ôqÊÞW:y·‚]̺fÒ+ŒBùRó«%EÈÄtÛ™-¦ —º¿„›ô´™A„/t´Ðì!o¢4u'>Õ ôa®OØœf«–ßwPBl_áv/#Òá|kÒGÒ>Ð… 7ÉÓî T1q;SgSšŠˆ.&öm :åÆ_Ljr"t}‡“õ|ÛM™TºYS‹mÃ2Žƒ„þ´z‡²zÎê»^#‹G阂Ž# ¥£%(G\…úøT'ªó•¼àQT áÅBïg<=Áµ2uçsÁ7OSGÏ.íãj†éÁñX¨>-`ás¾/G&0 m›Êjz)ƒ‰¿e²ÊvïÍœ†—Lj¥¾Ð„ãCçêÇéQ4 ºŽØ­¹ñ»ö‘zýtÑ4¾Èívˆ^ô+g”êðë¡‘z‰Mqg—³O¸0d3X$ ¯ã¼ëðcàtÓê±s®ŸØ«-Òóþx¦Aê—Àål8ÒC÷~ÔºÇ?Z¯ß_oæ”q&“Z°N]t‡^UÝ3„è–½:2üÇj¿=ÿ±Ðîx€Ó93¢ÍÇN‘,Ú‹—?.‘X¥ÄHõo3\ßS!Á+Ò©×Êw‚lÛndŸ‡xšÓå{ 8ØòÙnÅ‚Dà~j¹Bÿû8 gˆ¾m>ÿqÝcm—œp`æ•ÏìÀß:¡´+0sk i‡s¯ÛÛû\³C @Ìpƃ·ô-Ès?Õ¤/÷VKpûî3»þRyrI9s«å$ÚÏpåƒï1£·+'&翹V-0é°œaµ²¬á•F'ìÐëÛŒ¡H^ÍÒ»®”õöN{LpÐ$[¾†Ç1>Žjïïøûk„àtµž¡Ø†R[:“Ë%ÒPÏ™Œ+Uv9Á°òknú¼äŒUt€ OËrçy…Ë‘&oË-Š–sg¬${Ù=º7+QÂ+Ûh^é"çúò†“ÉM¶}øÌaãÙ0Àº}J½§ÖXÎH?½µë9ÌÔÁp¨9Ø×.\Ü/çóù8†¬*Ø—Äê¶5¨<ðŽ+:Þ°N[;m•ïá 6‡@ÐtŤÔL„é«ù6@3 uo5x]· õt¡^Y§‡jPxbµNGÖéÌ:µêÅ2½]¥©©™¸eõ­²JOW)*ÏPµMèÖÞä…6[ªužž”4˜.ôœ—…)±B Ù— ­ãYö¯˜Úl¼‹­RYwMp’™ÏOŸÉýœ#èM΀ÍûcYµg}µ÷Šc nÏ4•Œ@È p ñHE\Éa”Äíâß‚Z…k]Oï7¥ÆÌRëÂù´³—÷ÆÙqR°A|WÏ£B»Ù!  pÒ²mévä0Ë Þv©¨ÿÐ7â¼ßÄdŽ–ú2{ÀݪhX¯fÔVÝçWÕK9Uÿ\òˆÚ3Éì¦Ñw|gìM8ûSû¨A]rBûÄAëˆÌrgZLÕ±[®øŒ©9£! šÌ@øvÅœÂs“&».Ñ`ÜÍ2›,þ¸2/âÆ7 û;¤ÆvΈê;rr¨¤—ŸJE©vN‰YݺÓtÚ­crd@è瘠Ü,¼¦8—¢;£gfFÒP¶o[/$ÖŒ÷Íœ”§c•A-xPm¬3l UbHÙ´Ù` ¤ €ÿ6ùÐQ ÷–LÖ×áÏ  qÞáâ‰ÌæÒƒ²ºö'¥•ñŒ§‘uß áYQOÚè¥;jcWÊŒ¡ wiS{^i¦¿¦-+Ò)z4*h‘èÄûcâuQéŠ3Zå<wß!1ËL[+fÜý‘÷+øåçë¿#nt¶U£§h¥“$߇ÇhÓ̳8Pñ“Â_*®XÜøÖ—žÓ×Êv9S»OÝy b,SLwÚ.ûŠ5('‡fÚ½ç Œ.ãT¾éhß~Ž^ÔCƒå Â`ÇŒV‚ïZ¢Z‹bqj´ˆO~áÚÓ­Ï—õMÙ¹¾ ¬‹ƒ»,JÆ-­j "r{Š„Ãúü”ð43$ODËÖ9æ sd|R“«üÕ€¬;}2ÅÚûá™›—ôÝSbGÐ3²¸¢ ;gÜz4*xì®p¨™®A‰V— §°‡­ˆHÙVŽNâmWÁpbiDÎíIãPgDx8ÜÅCÖÉŠà‰û9ïÑÜ_v!Cæ꿺ô³G«²*¦àyÄRD”x"q3U©5Ì;« ˜ßË|‚ÐéYæ„¢Àv¼#Ÿ[’wvFÝw¹û/%xélO+[8>µ03™+ëïÕ)Ð\äëk:UÖœúz^ŠÙî(©Ž(©Žù¥¥Ìyååþ¾*a&ª |L,S5O®ÉR5؇|I :+ÔÄÕm‘ã…¨@‚§ž:£¡\ñA-ëE4];±¸¹6©Þ8AÐ_;ýø” ÆZ¢o?5“i-Ú±5E­5UvÛ@Þ vÎz\ #Ç¢øð)aŒ³ï¬ám=!»œŒ©vØ[ úÑx>þëip7VÆv mkˆW›Þ¶ÕPä¾½f˜ˆÓá‚¶3}’­ÖñŸùÆCÑ•k‘*b­}°ïþ̃íZe4,1¯÷äµXbÖ¶»ÊGGötþêö]*9ä:^J9j"Ùä•ÅÁñ1!“9ã|&ü|àŽ~ σÕj¥«ÀûçνÈ<‚¤ç]5ÆûTvzå« Ðò h¾4Ízñ‰=FŽ/×4]N†ß¯ó“-ŧz¤‘x²vg5wËZ§Rµs½%êdÌ6&ûÇ3é&â—(4M6»>ë!rÜ«â`S0%Ýb¸_VOMéËP¨i6×C^!‘¸Â1ˆ.iFt“#v|»Öª;‡DÏ:ÖìTIhPbáT¡ºítQëè¬=ÓaZΟòzùùúÙ:öºÝÓÊíHÝJ>žê¢~®ªžfG‹™ºsZ wÏ3,†˜”,s†Gc©¹Ml8’™H–ª¥já\­Á¤Õ8432ÕÎÖœ+ÔA§nıy ¿¼íO¥*hºrLtÝlÚ&Òã'«ö-ø—»ØÏ+jÔèD%²Ï)ºZæˆËmÂH<ƒZ])YÓBÃKád‘êñê3sï*‘Ö¾¯À©Ë§E/ßGÒã‰Ê2ê;½/³k¯ù¾H«ÍMo«ÓkÏ!£ä 2uôOÕvŸ|’xtñúÒ¢K”ÂÖ<£e9âHnV—hQßÃÙ•°­¶ôÖ¼º ŠáKpÖ› LyPŠ]Gþ×Û|SKÕ€ÜKFG zÐÌŸ¡X%ªß¹"2Ö¥Õ+ #¯6.óù/Ù7²RRh)ôÜH½Õ¬É›"žDÓ2ó­òÓ‹"ü€”¶Ú:#1i¥Œ¹hãV«E¦'ý³o¬zÅ„—b™>>UJ@ú]k¹Q¿št»ë)ݽz7"u)*‡4•2Ï Øq|ϾÁt[uèÌÚ.‡4õ‘úžaùžÖT8>ì€>[kR‘+Ž×ãP1í5†JÄñßÔ¥Öð¹ÆD늽ˆ÷«;K ÚR½Sï‘UUµCEèë¾ÆF„›&DEeûøý;¼bFkŠÃPDê-À32PíR’Øž¼»q}ÆšgZgj!´žy#&f4/´”°—bšZ_éã¹mHÿ&‚PZeh›i MÀ¯Z“Ó…¸-/€3Š ƒ|!8ÀÐ÷ؤMmµF†FÔ3¿ll”3*ê˜:ý{#Î ¨ëõ_^‹>P÷[ƒ@Ê RóT¬¸tIJöqûÝà „¢Ó£ÐÓ–§ê!×[iÇñ)pΜ*>†i{ ô[æI¯ 9Œd(øê@¡­£†„û|sê0;£&Lõé~X©·ûÝq_¨åž¾H‰ñ¯8’©PÉ ¾¸q†¹!KÛQ/¨ór~8còêÇn‰ÑZñH£‰††q+Ø›Ñpµßú­çƒ5—§éÛŠú »r·÷»ûv¸Ð‹úëœ$~G9EOíדw·g€[!FX…éwÅÈîñU eá©ví˜ks ¶Ìls⻽6 TÓÙ»¬Új-“C…Æõ`½µõ-mÇ Oˆm5¥óä°9Ö#ðf c½Øn¯Ã2áË4Ëÿ£?ãt4J0MоDGT‹·ð’jÆ8˜y³Ëj-Ò鮇ÉщÂiB,ŸPBK›Ò‚l:ž… ýhÞ܈_mÜîÕRgiTGòúwoj…ĸfOˆ/xJÄÜfÍ/rÅå­Òí2¹õ?VEõã¼ÁkH^éß¡5úÐnÿÝ\úµëN…ò4È{¼ñZ榘}á+OÇxÇðõíÄ”äne\ÄL/ú1 &ñìȵ aÛšc$Í…o°»JK—$îJR7ÎŒ›‰‚´û‘Ö´ªSË×~CèñÂͰ.ΰ‰ iæ3‰Ãظ‘Ç49êùp^ÒMѶ’ÆA Þ@w(Héÿ"‚?ÅZß®¯WLãn§šÁêJ0 Ë·²{(MÅg‡gŠãîƒù†.uÎÐŒîΟFtÙ²N^ÓavÜJ0 Yðçb_ùZÌãΘÇ1ØCŽDüÇD€Io- i\ôH4ì9%|n}2høi@ÒÒ‘--þÙ£GÑ>Áœ·Új7,XxS6¦FBð® Í(ÉuýYÜ xßÚo]ÏŸ~¥?=ì7L›ï`÷Gl;r§Ù“VGDnI>C·LFJN{ì4=ª‘GvÐà{79`«k4‡Œ M;k¥­Ó”~ê’ׯedm²†µq]¿¤UmÒEa¹²ÝYÖáïê>«9€»Q´®rµàVo‘¯ÙC‹ûWŒ+.Ž—MÁšZwÕ¤cî(M>›¤[ÞwVÍ43éÙ:tÜa«vÞÔ¹]qk¹8Þ:7"ÜŠG®@ëZÖâZ³ŽÀabR!k¨XýÌU¿”…£Ü)š­ÃŒå¸Íj¡2¼ÛÎð%y ž2ÓªË=±eÀcM€[àB&™«Š»o%#[:&. ºŠ Ú+ʨC>}páçÚÞ~¨g!‡ËV]¦ˆÜº)'ŽTq…1`ÚÖâ±°6¿»Bà“¸d˜ï0P7"¸²­3 ìËÞ¾ÎØ¿,ÑFl·ùþÚY{«æÜ+OÙ&fY»L> Ö]o­~|Üi+í!GqÏö~}޽9\ò0Ï»l–nÆr·¨è'*\ëFù²ˆPØè×®ZçT}Ê6)NF#E«4|Íp¢äÕ[0\¡|VˆZSRÁ¤Ä!¶Ž¿íÔ,Øi—õSÛÏÑc¢‹¼”+G֭܃)J°0CZ/~Í9J¼´øø!µÓ«³{ÇáK•%_ÇÊDÞ¡=ÅâNöc‡+ñŒú=øy³L9°Üy†Ïo6Ád:=DƒÀÓl”lÖQ-b·ŠËÒÍÙF×2¦ü–M¼?„86vrzùž~í²>aw ÎioGÁfȳ9ï†Ê£e¦wZ¦ÝÑr⾕Ãi\ó3{É0¤}Hðö€€2­m[攓B²RÅ(a:D Ó‡­îsŽòd¥Iènrr÷ÎÃÚÿÛ~ÿozó¦?¹é÷—›¾?lû^¼Ì©¶€ö0¯ýzÓOoú™›~þá¦_±ž±g.ÔÌ̓þSGã×lÛµì¶PµZ‰ƒN)y¶‘ºz†H|y”#Üî#ÁÆàŽÔö6­^¾Vþoª _mZ¼‹Ûc™Öq÷ùcfñL~~(Ö§gúùåÝáwMVç'ï¬Û"]ãÌõ” Ž|@y^ƒƒN;øFqŽŽ±‡ƒ×¢¹#7Åòh™nrÀ_*‹¨pÐ-Þ¿Sr23B¸ª3ºÿî»bÉÍšNBK¹#s­¶]—.uÅêé~Þ°AÚN|ª {™Ôï)úb.º{MÁùJ[aÜUrk¬À,a˜:ê“eÆ´H\«¨¬²Ð²" pˆOØ.ºÎgáÄW$!¥E»NŸK*Q¢+áBÃ|js D'¶ŠC(…nå\M¾#›s JÏ©…ÂZÈ8–£;‘‹*ü*ÚÌ4«fw¹pôâã0ƒòP}šoØ=©h߇Ê^¿í”SW¿³ò1 '“pHõÈl¢†Ý=b’Œ‹”e=´Â—¶‘0ún-Hu‘ëÓyäçÇÛ2;³"ɉé 4#àÊP‚Jì4eg,'QuÞ ¨!ÁVr)Ía ÒQM*û›[µ2‘ùÌñYÇyìãg¶ÍœÒ1çØ¹†¦ u2ÝÒ-äÊ4'œŸ›Õÿ4àÌñ~ ·òq¡[¾4øìÛt‚4þ«µÙNù9Òm›½É—* ê† ¶ÓL"ÕC•¤Shs¯:Xz¯:6 jçìû“u³†}î!*£·Yõ†ëÑ6Âö„æ,Ü ©$s5ÀS{‹PÑ„̈$§‹à´Ö©Ù64C­UnDØÓÞ°@6-ûâj§Gc·Î•ëYŽùÉÍUÛBµÃwZHâŽáÎ$É{ZS‡ÝÔƒda)¿„ ºæqŸB½ÏÿÖrR¹i£·mKêv‡ê,¬mVpHäÚ3”îmÙZ³ýlP‘ê/Vh½Yg¤Ýz×N¦̵Kí†f~‹pðzºTï÷Ì’peaÓµZF‡¬¥ZÓõþAF¨âNÉœ¨Z†“„~l˜ÃæÇ7c§¤z#?[‘œ-ÓfâÁ¥tÖ‰ž’ta\‘êèÞ¥8Œ0†¶ìF @{7‘Y‘¶‹W×>éêŽL5=_¶ð¤Â4»#24ÁHñi[{ MòVt·ø4ùeöAHˆíUË)V/•“ǽC—F®§_uD­óF6%ïÓ:h°Î§|'ä "ÎPÄ1¢ò¾íöœ²—¢ŒÓÖ CÜðÕ®˜Í„Àw¥í€ß¡N`¤)ZÙàÅ_Æ—zŽÌ"½>IMSl’\›…]ýiDµ•Ö´xÞ¨4\&¶··†Óö!Q©!>1¤“{x§Ëá±ùVÉ,Ca©kE@úQw'دû~l?ö<œ‡N¡EÎp›ŠB‰?ÔÖ`÷sén¡¢Ê³Ç5 Ç‡Œÿu³ .À²Þ'e²gæ:ÂÒYÊ9–{ð½÷7Üa~X cc à@±Ødñ={D:Á–P/¯*¾V÷ø’Êùfû$)`‹s,òé:d“³¢åhZšñk÷NÛ©-MÅ6_j&Äì+G\öR©’?0-æíL8>8*¬¯Ð.¦ì?ùeóz_ =^FÆÀÀg*¨äßdض²®O·§K<Дà2m‹C50/À:†%³M@áó±?îW Œn¿¿ F°ôo]7F¤… 8¤KêϺֈ>¡ŒÙÃCBÕi%C‹äýúžcAìƒ×Ù$ó=÷•ûø„>–¨é#_ïRà Ôm¹¨:Ü2=tîúþýÿ©‰Ñ¬s¶~?"íæ×YK‡¯'3îù}ß„ˆÙÛ`Û¬™´;fO ćRÕÕ 7|\GÒÆÝ•\¶™ü3¶¡ —[YˆÜV+´Š *—R-íÕêoVk)}$Gym8æ.9±^fçÀ>Ó”"¡Þòж)9Ê÷­´Ã%R“ŸZ¤4¸~°†C‹ãŠx÷6Äê ú¤8SãþÐ^ÓA¹|Û«8E €t¶˜w…Kx]JÙkZÝC½¥LÌØÓ2·Mí‹¿Wm»¢'Äf‹í™H5½³ëT¯ÈšIÜ6Ž»g[OeZ¡3â)Ql}I€þF„j˜üŒlŸfdnž,õPŠ¿:§—gjm'BÔÎØnm:Ê)7lÁ_4ÅÅ•Ýp›…»o«`çl§Þá—ˆæÖ?À шíFxÉ8PFø{ŒÈ ¦Ì´šdߎÊn¸{D'§T‰\˜šCòœ:x6tÏ„[3¶ÆÁn×kž-ðS(²aÑ ä ßËwÅk—Ap^ŸõOs(Õjöæq‘©óžÆñÖÈWÜm(WšÉkÁá”ïVä4·Æ%ÖY–ÿÖUø?z.ÅâzrêsÊÁŒaÉmiVöÞ!‘6o8ÓÌÍÿ@Z`†Vv8•]Oëû©ó M¨õŒtê¶‹yGÔù›I}4*sû|ï+ýµ#×gÖím5ùòz<~z*„¶#’ ÷–iÒ¸8û<ЯWD­Y' q&Ó'Å>?1“dNWùôŸK£û×}I vKKVv¹Ñ8ÎÁû—ÈB`åHD©D Ú¥äS2¡…ˆŽ`ôMNÉ~L±G4RßÍCn´ gì¢Ï;µ±-L|G{p­Ó‚R‡§ÍrðŒ·¸Æ–S»ÜyS©Ëœ±æQbçÏÑö0Яã#ˆ BN=jÄK„ÌÞYU¦«oé—Fܘa²³§ÐZ òZÆuÑà:£uÀ5^ùó33AÒý&e §ü˜7iÛw“úm—y92Á‚6/S(xÇCH¹¾U´TâãKÕ”f%m+ÞãZÔ“hukÂë¡,´÷ð÷ÛšðÒj&™-Ä–n-EÝPAjÈÓ÷öˆhezƒyO)»+–aIçõõ5¢0?Òň8H,ÐܱR 6Q(Ûp{¡d<ðǼHokÖ—ž§mÛl±ÉÓqïúÖZÊc €§rˆ8:@L(†ŽSô^t‚h¶v 6د„ fÄ‘—IégiÝð"4i¨ðp½7‰ÓªÌ«ùS‡Õ,JÆ™`wKâà”[Äo>Ï×¾pzªc)âå¶q´§™¦óœÇµšFy/IŽ:3SŠº7¯ìç;ô“3 ö©EQ¬. Ö`÷Ûi݉Ì*ž{œPònÙÔ(ª»b†(€Öb_Ã2‘¯|XF´’X&4%M…â´Bµ²ôtÛvõàg‚éÕë Üõ}¡ï,ô•…Þ³Ð×±Ðå;´$²<ô?[èVË—“Nk¥ï }¡`ÇçuÈKž£çÿGšR§ÝJì6=„f\´ùøe>>Ì%Ö¢\­GB–NEº¥Ó€žu±: vŠåi·eiqÅõO7æ‘鳄;ÍÆÌ}½Â­¾îÐ:¯/ý@¹8TžWš —^}U=š;’ÔÚ˜SU¬™oc±÷¿M@°ñF°#a4®¯©º07–Mu`–ÓÀaŽ)ºð¯zšúŒCæ蘌—wûèÏ<QÙbQÌI¾ñ:¼µQÝu–aà%Õ%ëvÛž¤FPFºà4.ˆÿæ·m꫽ŒôOŠ5dJñ„Æýyýö¤ô)àëÞyCh4"—«Å'5?;·¬˜„ÎÓc ÿ@c{cx‘ œ¨9á{þ'…ñ !¯òºHã˜ßž””OŒìÀý òWá:>|\ôÝOyJĘH1ßëõËü‰ ð­Vü*£m ‘•ÓLâ{“õ—¨•-9Á׬K¤EÚR·üÈúùzÌ…ZlyØ#éRyÓõ´vc5AQ+Ї¾Ö RØñ×ù6õEäÔkÊD©êò&¿e±Øl˜ÉXèÛ@xdè4)ÕÙlðÎ%úœ±àÈC9näL‡Û=‡Œtì»ðx©ëJQ{åº[ôýدf¯á¥´áyêNÏ>à.{âmÊï¥Iÿ“’ä»û–£z_Ž?ϹÎßr®3KîúñþVÎŃ‹wÏ’“zp9Tí’ÿø}}[ú#¯cý¶ôÛsé_y#K? òáë¹…€à£†zú§Gâ" -Ђ*¾Áñ}(liuwÍ‚²¡ ÌL™;û£¤Î†!í™nÄí‘qvWKˆ‰ËHÏ*;l©É/²gV5®ÜÕÛôÁ3üMÙ‘óŸ("ӾȊôzòҤ0‹„aq$¹—ˆ‰Û”v­p¯k©i÷þÐ-4ž¡!fD²œ8› È ÷Z¤p™åA¢4{Ìo)Ž:*ê[&έ'JÝ>Äìt"è®7²’ËÙ%«`°šóÕszä¬)@Æ£.šà5ä“÷ A@)$… ôIÀG6ÊHå5Âý|£3Ž-l”žÒzª¯üv§Üî”kþa…V0&4.ýž ¯Ðz:4õ*wŽ]ÑxäÖAg)+mSX¬±3ÕÇaCi³¡)ŠPïvŠÃò0&"v-Љ¾—H©`ó­"]™-c#ªü:c`ÚéR_1Frv$Ž'*¹ågè°+ý†)îï?¸7•~_·-ºƘ圀†CHæ/c/Þ9G"êòín’Èë{ð0I„&/™Ñ§IÆ6˜×›¦©‡ykWõÎM~‡–-C»gÜt /ok ]ŹvDµÚà]Ï ùv\‡hòfÞIü…±V9hƒ8h&E\ˆÄñ§æä¨åL&«L˜Ôz…ÀÂØ•항™p6çÿ€fb§¦h4ò 1rË^À„vèÈšÙãO$6ˆêÉÕ-²@Ø?4»‚r°Î¬ Û&œ¨+!ñáÂ#±Ö»ëóõý ™ÿ}4“Ù1÷ÛµPFºˆ±’Ã.y¹3’k¾ùÅF°n”`ÏÇCòÀ32êÖ œh úv6[¤†|C¤ÙåOÍRA ÿÅN§n<çÝ6Z-‚oè‰ûû‰Êªº¸¥@œQ¨Î¬â#M;ÀRµÛ'\qìÀSg|œJ7âê=9i·Ú>ú3²öt×w-M+0 X2s1i|¦ü| Ö×—å^w¸f$ã=ï™$Ü3I¸ÇY¡G©Ø{‚–$ÊÒ@Zj;Oäµgy8B1ˆÁÅBZ±*Èê¹øµÜ~qâñÊ/¹±ÿ-©;ÚÒœôæéŸÂ;´©YÂFô,2ˆÇñÔÎ:]T†ÀN8 +ÀPÛ‘i¬þþÿµß—‘S1óýÞsÏÚƒ®fš YõH8f¬)¤*p´3î#ÞHlkY è¹ØlUqa‚¾»tOâ%yêþx†0€†¢n„!srÉé Õ“¡:• œ¦ ÔÈg´ÇMùÌj^¦#ÄæZͰ& ôvpv-ŒºcM¯xRí»G| =úè™1t+cõ¶€gÏlµEž:‹ý'w8¯å·0úÒq:âðs½/ O븃yŸ>-ãárG]jÀõðó€GÝr¹edDQ©»Œþ$Lz·«#K¾Œ×˽z­Ú#O¾…‡ì‰Ó2èìÖYéR4-Š‹i¿ÅõÒ0NGÄø$Í]u/Èy€ëñSÓìߟŠo§ ¼³³±¾Až;L÷9= Oz'œ¦K´b2W.^w–=cã„Zt™`Ô3bÀ@¦õAO:d5Ý›qg%]S~4yrÒ²·u•›ý$ LÂËaaA{è;…5f žê™O²²tûþ«ËXÊ£•À•Ø0XŸDm¤ÙX£tÝbÑåµð»EÑ{–JÙ/lkVÈÔÁÃB˜yŒl´ÖÚõhe¶ÇÀR‚>ÕšŒÈRC陞Ÿ‚#U0\WGÀÕpuÁGÀÕq=£\la83ZèqËòÒýmx[ƒÀõðÀ(wa{d0Íﱇwƒ8ÑY uQ/ÄÞ@ÁíÈn¾²›cÂC‹öøÛa5¾V.âèzªSL6ПV#ÿ¶¬ùãFTRk¡‘p?M"SPo½M8NYuWú«=nl]ä—Æê.ÒϘüh=ùØ/»?êVÿ%– Ò·Co­ö‘·>”"¡Áþ°NíÛ”CMŸ·_š¡f¬Ã庺òÞúŸù®#ïÈײÃqîíóöžʽ9¾Fä{ý@¾䋹$B»•Ôó$²µ=zx¾@Sø…É{|IôÃN>zü¡3Tðò$`?šÆYl±;ŸÂM˜4M௅þË[óæŸžbЧ’)¹ ·+æLѱŸSKGO«™¥©Zh?樱n=%¼:ã6‰Æx_†3.F˜NLX¶j5R óޏY˜oÄ­·h•îhÂÎOI5£±À8dj»áÒÁ¸1¦³ýa¦T#(=dÐ3Ž6BcSŠ}ã“ËÜ䙬eÄLè%«†Ú Ù™ïjçÌF3éšµÈ9eúçu$çc³DC°­’€Î s)¦¯ è}™O2²ø$æäÊt¨’¨v´'¡ÄÏgcšÏ^!õŸ9e\†ž2Ÿ%ÑgeD‚Sæég„³ÑnI$²(mÃñ$g¼sêœ9uVNk’q?S,E:tßY³ïp¥õÔßò* ¤µ¤ü u-!& \lðùï¯Oa»ƒddÚ¨y,¬÷Þdüïª{¦íô© %ÙšöÈGô¢Q×¹õ”U®ÁAóÀQä̺¬W P½Qš«ÏÇ þŽsIɆ7ï’cv©5¿4<²gv/[d s©¯â%Èð¶EVuá÷܉’©ÉŽ"»U@rˆ2¹ó ÖÜhį´ç­„Žü Q·‹ÊÜk¡@ç®Æì¤1™Òý‚ëŠçɖѤ Š0¿+Ãqù¨k 8,J9F¦ÞŽÌ.TŽ/Wf }¥>†·W‹Ö! ñŒÐœæ"Îe ä5²µ=ÌkåsínùÇûgÍþÙRÜÅ:¸ìÿ°Pþ£K’¹øDTÐ;æuÆ×ûß щ™ ,Ã0}»€ˆ€sK̸‡¶HוQâÞì·QnV‚*#ø!µœÏ§1–ºÊºKÅ$%f†WB$NÚ {Ò^¢ßÃô_Ï@Åû T|*Î)v‘÷´ÿ*Øo×Ç“Oíæ(7Î&·Ð®|ž0ž·¥ìéš¼³÷Øj!w¾µ‡ÖŬAQ;ͽºîë1;wŽÐR©JM]cÜŠ4:‰qB§3éˆ8¤*!{Â…=ù{:ºÞØåÝã¯avQ%’`©Ô!»—œ'S×*ÕáܲZ0·ô­¢ Ï|BÏSG¤|T—Ä€ ¿p021»‚Ä鹯ç`û’÷™wÀk[&)ç6ðgÓG¿óèû8øˆ¼oã(u=Ä8¨\Œú}ù÷ñößxìf(9LÔÅéAŽN'_¿qèööÅ!‹â`,\M÷FŽÎ£¤òz ¤ž[!)Ýù½š/ó9x¢!v³çUTÎ.Å:LWÞÓ[ºMœ{æ–°w#æJºÅJ›Žôײbd ªð˜`#+Ï ½Eªýu½Èƒ$¶¶ïÒìu¾ãÃßð´hŽ:°ªßø*âšYê–÷2•y—Ó"ˆ“:yê–Èð/jOÔ—§N“—iGÃö¡»á`8(ÝnÈÓë“üµSMÇ-ÉÅyžçÖ3!Ô‰C·C§FÚ•AT”àÐ~ ò>œóbÏnv‹ ®Ý.K'æ#;ô¶>f‘0ʆ@8Ù„ ¬©ÓüñæèJÏɧNúFôhonØo¹ m˜úüiò8b¡î‰áò·{Çz±Ù†cœÁ5µK?:ïßé;bJ#“ÛÛâʰ@ilÍu©Xz_‡Ö/Ī÷y—æÔv½j•ã”ÞùŽðPBjpævw_,¯¸ÊÖï•þâqIÀ÷„«á†´Õ L]jiî”.§Ìö»hZÑþÅ‘R¹™î4Òڦǧ‹˜‘æº?bbÞÅ‚ÉO(†úiëÿœjâzõÓRƒ9vXÌ0;Ëzsűd5X³ºƒG @ÇîÐpÛ³ôÀZJPq|^ÏßÀÅ´´vº[VU‰’GSìÔiËvô‹z¹½Ey)çŸR2$°9ÅÇëYü›åØ#]ïÉîFœE <-rÍÐxk!HÎyJ²”`Ñœc„®¢\Þ Ö€?ËE|¯Y]'ŽŠ}KœækJÛ¯üËcfÄ)›SóVìͮ+a\Ð7N§óºðk|H¾òXI:Í&°ÄÔ7¿R•¡Z_yh i¨yŽ]"_fA×îyzè€<m20[£‹ëÐ%AÈIIyÏOe8XK¦.Kš=¾í†®˜¦!l+,ÁÈα"8ÓI?Æå1x·ñ—ÇÙö¶ÂØi“ -¼Á±ÛJsÙø2Boñs€Ï=SZ_Ÿ×‡µÚ¿w˜î¡+k %zF¤BÌ©÷N;ã2ÖJsL¦z£mäÄ&Ù³øCChr°®#n"ä”×éS;¤çLuÕÚØVg1Öxì6¦ÆýÔ®êPÛû‚ZÛKÕÜÓ?0U‘¢4b ÉÛëèðÈ”0Ò`ÚâSõ’úŸ-é(Þ<Ìû‡9Ý|9riÁ ÿx˜Ÿßs4ïÜ*ðëa.©âô;!¨»gõ âÝœ¹GC0¢E ˜Õʪºÿô™—ì›2±;¨Ø?lïÿÓläÙ–ü.‰øbÿq9SgÝ"¦;ƒ1wÔÝ”ø¸ÈáÑÛñýQ]X<ñë˜Ø©£#ljÿ|‘§ÿPT<úӯןgÅpbÒóò¾f¬…Âl—ƺ´š¯—Pl¼zIU³×Kdä‡WŸåÐãfÝqB‘Ÿ±<õ1 ©cwXêßÇQ…9Gþþú¸þ^}¿OpÞ¼æçõýT†ÿ‡+Ão3ˆ\Ãu{\o—ëod=Ò#g‹eýA˜-ölÉræ¹´÷cOÔÇK¨™=veÝ µê÷±^k]f 4ër»´ Z¯ÏëûÑ¿Âf•›ám?»^“?âí›úµûñpVàžô=W©Æï«G·”²Õk®ïgAÎÝü¾•â„Ë ÊasÕëYŸ¯¥†‡Kãd¤¡sšé5ל2êT¬¸’‘Š…‚Òù—0UâÐb­HE »¯uµéæ1T³žÌ‡1†óˆÇâÒ‘¹*¬:”Ñ:áÔW!ØÞ¯ü[d»Ä¡dºÛÀGð¿÷'¾{iU•>+%‚#H¥æVÂùì `úWû =W)3¾T‡©‹ÐÇLö].ÓäѰ¿ï½lð¼$ •| (= „¸È,É Dæ7ÁTk¶n|Ñ®®òùeœdÉ(j䀱ýhãí––yJ+]ÎÀ’µö¤µñA®XpãŒYwÑJNÄKÏÌï¯G^{0[à~§(@æ9ÂLµhȸuqàãzŸ—b ~)Ð_†¦P¬Üžº•í`Ô8½#Ø~Ç•o§•(]Ý&íEjqࡌþ+ê4"te›¢µ„_¶K¨EdUÓy=L” •–Þæ³áˆU6¯HÏ0ñ…©†-ßI’¼ ½‘Y]xJ×ÎÈ("’‡­ròŒ"ju£)÷ÞÇÌæk–l-3h¤U*»tp ü:zHýÊ«èÚ’þžÉž’Em¤,9èd˩Ô{C~÷çΨiÂ8Œ¦Ódý}èxµlÎëýú~JñŸRüo•â ú ýuz¡ÿ®e[Q¨ xì½Ã+ õ‘ëL]Í‚GÃR™Êá²eÃø¸J” 4Åg¹ÕN·u^‡Š‘ím©  ‚\dÔñ³E[Y§¤Ø.Zöáôñi•B š¿K­Ÿ¿ÃP¸ãuøý¼®å¨“žÁg‚ž#-´åÛnw¢;d\ÏÆ†ysß"-Ø®æ‡ü_×ókÔ¤ôëˆ(Á¬Õóëo¾f‰njèÒI¨·×‘”»~R2_eç°±^ |x:H•âÌZ©8{[V¿bâ9I¼8VÂe×RðnęėÛãvÃÑtúàú’äáØw”Õð¦Bûqþ!ôŽSæîi„ÞUÎdQ™ ÷o}š½çìïÌ#8‚+Ä»ªÅ\ŒÆÃ¶ £ú™®4[‡EE)ƒ ¶J»¦GÐ%Éx›‹Ì¬Ù¥¸¥™rqçöëþÀºÿưî-¡Ù‰yr'«U“$roŒœkûr àŽ89NF¦Vsº!4:BZ·y¯×œ¡Ó£ +c¬,óÅn{y½\‘µ=&I«è ]Òˆz¿¾d­%ëVê Ò™Þ‹Y’5FrƒN¼ŠUPbÌÛcEßëf>Ñ«~j׫¬nô2âäâ ¯gd›˜¦#'EÓ^§h8eá–M¥Ã~–œöånGÙéÄËUæÄ˜å×[8eeœÊC8¦@;å~­Ä(x“Á9‡¬v4 $O½YT)äÿ=ÙÁ’qß0ÔI²øx‡ %åϤø®¢ýLÁ½55`Àdõ†Úà3åz!r¸ãåTXÂ3ghE¬‚/îd>!ü§ðÓøOë(r ¨Bõ|ÆDáU·E+~›Ú;-ˆ»ù:YQ›†¨¤ÅÝ,âËÉt¸Û»3Ʋžµ³PdÿŽT1nT¾zhÃI…Òñ&űuÆ~“ák[²+=M€F&¼Ì䉨g¤QØD+(xð}-®%‹œWO¯ïÍKiË$Ö{“˜š¼ÇÑÞ‡#âÏ |äÖ‡óà/~î–G´ã|)«•eöëµx:š¬ó³éá ÖÅFÅ|éNP§ZmHË5«7„MGWª@Ú+¨ì¡6 îuÞØOgæÜ™Á |iãûí½ œbœÀh¼·×½ 3ºi‡‰]zòÿë½ ®/•3K:"² ë-¾ZYçmì`üÎ?tî<'¼BûIåÁ«'Þñ»ëRÙÈf¼/ôå v|ŠZð3%É}òMWíEô¢¾“êL ×rT ÷è ¤2ßHÏÛãhH«Ã™9#óm–͆nrA¡úˆ,“·â°œwÃ48Pýì*ÑüŽlæ67KsŒÙ1Å”æÏ!¿íaqªlÍÕX ¸ƒ ‰s)Ûzk¹ Ë5Òv ¬žŠ¹n.”ÓM ¸ì9éÎÞòiÃmËC’lVh3•eñEëÝÌ!‡`y´\å÷·Ø((»=”YZC‘­ølîX<œ)Æ/}†Ø2¬|*»«Ééd‡DfºPlÁ1\ÔMµoUÛÏÖÚ»0†!†»ö<å¿×ÑíªÛ>‰›å¶µÎä­EŒªˆ¦J°å`ˆÝtåèc7´ªnb©œiEÓXá@RgS1pë¤=|®¤q¹LÄ e¯¶K9Q­òÛ.ÙV0ϳÑ&‰S\—íe }†ü}Ú'>íÛj‹P륲cŸúiueE[Ï·sfU^]¹o•“ö[¬II›´Ë¹ŽwVDàè*³qH‹ø¦¿yqÕº«ŸNDÛØòõ”o'ÃâNú-öJþ¡ämwtû º:?­fÐ]ùÐ4Y¥ýgÐ}Õ1ý€½¨ÏðÆIݘú˜7ßW|ܶÛÓµø©U‚?2½ÒŒØù"©v¨òâAT }KG¾÷c—]ºŒSNmå‡ å[iáu<Õþ¶õ|¶7H4œ=^ÔFжT `Së×Öõ´žb¢_Ÿ ˜?Åø_^Œ2{ÈÜ ‡7˜´â¹6M©qËü]ÌûwÍã  îå37p渽ƒ%bKÛíàGÃ:ÕJP¹]j°ÌÒ½;mÊà¤zZNt4Sþ>H§ù–¸h%|z"ß ´C3EjúžZcãË#ýЬ†´m{ª®?·‰Ð-Êá:€Z„£Í[[\}\ú£ Beå=fÎËÖâÄ•òˆÉÔe6œFàÕ2ëï‘ÑR™–Þ2ZÍ™¥3´›tòÐ',»|õ ÷•µxgÝÖ¥äŒQ.Ýj]‡–‘.xÿpB¥‰ìñE¢pƒŽ‚ Ÿ®k'qúúxO³¤íù¥ J{4`å•7pJ¶Ä·.oî÷±*’?ºç: É$Ϫßy)P§9™_ÉÒ]_(¶:Àšàô™‚%—µ}‚+Æ~šE?nZçç úî-öh{örªKæäÓ<©¬Þg¿=&©PÌ|9û÷IÕIÑž‰Ám5¨{uO”M‹a™šÓ{Á ×#|žÓ— Xîåö”œ§°a÷DCù%˜Ä(FN÷æ_!…¯kÆ ÆïBÓ~ásÙ‘§Ææ$ð¤'|y…Ôa—º~³ƒ»ÐsJ<©J`0ƒ O—mwGŸÜ©ùnvÆQK×´Íoi:ÐÖ­cªSµèÆ·tâC,g!SmÈ£ãúCÿ!Šÿ}DqÀÙ²?OéT^.ÙÕºìo˜¦ÌºîÙÞio,_ǰðu`¦Ö×ìήŽ[–ó.ÅE°áAVÏS€¢«‡zünFeæ#‘¸LëÓwá›Î@ÛË·Ñ¢=iZÏN ’«ù`sW¹ÏíšWˆ¹OòC)B–#<Ö_+Í'£„†Aý>Å¢6)î…®Gq m)M<÷Ww¯©-y¿\l2Þ4Ûàe‡3¶Ï@½L÷u9›µø¦œ©‚§$’9e‹jK¸$™Üʦh8§ ®õŽÅ_¢~Í ÄÂîšc&kT†Á­Â•gCU¯[5¬ ©ÛüÍ–a>brºu“¿±aÃD_‘‡7{HŽ6pÇý]oýž 9ÂgDÃ8ÕAÓ»Ø_$¸3CœxëJÏÀwG[“*»ç¥f¾çÇ<ÛéŸïïGœ×œJM¶´xÉï×÷S‰ýTbÿ É.ðÑ%ç§ËöÙjÅÆÖ›††JxÉxÙŠ _î#Æ"2T|9c…·ŒÓˆ/"Ó:ÃVa@qê—ø~i¿f»eaâ¸~8@©Žve×)máŠûAæoáPÒå«>»Ú]~è äo†Â®[‘ÈV´üý||»k‘ÊÆ÷_Ô¼¾ŸŽàRGð»º+æ¯HñRª´œ0ÏÛCß‘ óg&ÌŸ™0ñá¸T»b¥.áøñáØ'‹J•zÆ…õvþX6üÄÿ¿Ä²á_ÈVæ§,ý)KÊÒÿqYú­€‰ëádZßsÏ “˜€½X±O½…ÆÊHÒDzš@¹<Æ¡§· œœ†‰y×[w’•ÉY+Ý)„m &‘˜îØ»yK.¶s?b¸Þi¢w@¼KÒ‚yCY8]“®:wšŸç»+IÇòqVèfw=h<»§¾”/éÛm;3)õ¼r~g¨Ó+¢zÌT¡ç×RMv‹ ¤¹Î+2,‡÷ÉIë>fdKŸó€TrÀ)«:xª9B"ÃëºÞ¯ï»?²®âE›áÑ1ª¼ä›““T>44@`ÉmÁmˆ«ØEÉóÁŠl9ƇvùìøS8|@)Å×Uªô`CV†Œÿ€l€óÃ1YbgãÔBÅMÊ ü®â†"®ÍtõfÄÌmjIÎ@¿ 9ê oïèÇá´O˜½C…tétŠN¯×‘q¥NX¢µ²«Îó}kÙuœ=—)ÂÜ4x3ð#d“m–¦0-Ÿ“òNŒA" ¯É B1žÐ­³·*†ºâI—J(Æçù÷õ.½2cÑ×÷mY7„ꈑ’#b¶CU*ñ#4‚ø1a6CŠ¡ºm¹üƒ©ãžÁÎl*¨VF\ Ýà·ÜÞ:DnzU]¡º¬š}ÔSŒŒèî$A˜:|<“ëôù ~|ÄÚŠ°³’,¯„ œ°ÏÐå¾ÊØ=ùüm©×Ó´Â/‰52}½m?^÷Σ³WmQðÕÝc)Br1üÓˆº¥roÄ£õý[^Ø©¨‰‡ß>2ǒ˱eø-•žÎ 89uãºÉÈc–Nöš¡ý°PE?@³¤VÜÙgQä!S'òôQÄÙ>~ìÌÍËÿ¶yºä ü%™°áè‘iëÀ1²WˆÓõµe¶à\Q%xã0t"uû™ Œ#cê.¿¯eÜÆásñÎîu¨Ù9íü?@ÖCO6YÌ;„GYåÞåÃÃlÓí™ÉX¤›ˆ±ÝÉ$ìépÞÊ2Fµó~æ3@æ’!J;LÜ£ß÷ìy°‰/ûaãÞaQ¿vÁí±LÒå‰{Ñ SNißZH<øˆ üoéÃ%O=v;¨]6Ãý…Å ÇõÂ,•pÔ|M#žî±KÒ'íp0{øE†¾f"ñ{©:¸SåÚ‚cTyßJ¥4 @ÿÆ(˜Ô@LÞÿ£ài>ÿÆ(€h —ŠT¤y´À(€RW\{KÚsü‘P0ì ßE¤UµöÆŠÚÏ,—lr¨ nY¿†înG”Š òÔ’ ×e•è 1T@N­ÞBe„î²ñ !ŠAŠŽ§e*Éð6 j©Û,g·°TnÎ &ª00p¥Þž‘|G ûÌ gÀ` '¤iBƒóM#ØTÁq+欕¶èXpéœo+Ò¥C¦ð”11?žA¾§NHpløCÃóiIú<Ð) ü9Ïäè‡P¥+íËÄãó5~{=´C¨ð‡Žƒå…¡IV{¸i•¡sr_š3$ä€ß^ZÜæ—Çè)Uñ„5W´©C•Föúf[›:Ôß/ê²>4Uú‚ÕLßòü»g›¶ò-µšxƒ<Ì—ù¥ûQ‰Ä*ìymæ¶ÕÍiþÁgöä +¯)¨á9µåûVâhâþÏŽqÆæj -¼.·/†6mi¿'Id¸¯z¬\‡ÍË/ÿˆ²Žf²õ,ÀÃ2ûåXö 2 ×ËìëuŠn¿8ü–:‡_COäÔo÷xÓoŽ·ú÷Lsþ§ÌªÖ]`€jâaQ[çrw|âø?MŠÿY“¢Á?>lL3·íW¼Ø§L¡œ•Å®’¢n ƒ‘]¨oU^KÂÜïѺØ%;FæóŸ?"È€†cý1ÞPí9ÕC¯WÔ=¤g¾fZ yt¿>S%aí·Óº/¦™vt#µ2_6® ŸCÖ`8–ê[§Çí …sš°  ÙÀ:ØúlÏć°u+` ~¾ÌYi“Ô:¾v†©9×kd»0°ðԂȹ—ZÆéacæfåÔ ö<Í…§”*'nG!¼Ö¸§Å y÷ö™ í_ÇVõ&Rcø•‡¹s2²Q߯eyDcj¤&šN+ŠEÊp¸ébs"Äéà,b]pá{ÈuXyðä’×­ÐwCNgqL “‘Pl^Âp6E €72! éÒÒ‡ n;±t(„)"Fe™/¹±”Nò1*ÏüÑüQò&Žë!ñW"ÃÙSÙ} JÙ_tsDnâÄæ6î ¡è^ZE* ©¨Ô‰Yàz8\Tɳ­t/‘‚=Ås™’V17Ñ-÷Ž›»ì&íg˜Vl|QÀï÷¥Ò¹Ãit8æÔMÉ>âUuó_l© ƒ‹9îVF|ùýbÔͪ· p1…ÄpV§N¾ú÷à~ú/ Mq ej<«=й©z"î'e"”±=POD—–|C€ÔKëø¤çT\hIðÏ„¾?ñÓᬣŻv8Ú’X‰p.µõÝ3”\¦î—§F Ƴ…„Z¿pIä)O›¥Û1-f1ÝÝcç?æeôm|['ÛÚHqj®WÜ¥u¬·7gvæ[;Áy¨Æ¬Ú«9èwt×­Çò”ÞZLð«I¶]±É]ØÂÖ<¾ššÔå…"©“Eã^Š©¦_ZÒÌ ^“å{ñypî˃s2Êùôãš+s©ršUXaù$Y¼<¹XϨ–VL%\Ш%÷gE¦²ç ú4ŸT-zC¼ÔÛœ„ÃvjìÊ¥0ÔYÑÓ°¸Ž³Š'j±¡_ŠÏ×9¿€s—Sœ— öÔÆl†Í|’= ó&|ã‘/joF¯w†,‚R§hÁ•Cú¢O÷ëÂÁ‰;@Sj‹ ëií7EYA±!®ƒïCµÄ" …/Œ››#"üSñ}íãNñ«¨j%AäþeÔïåŸmwÈÏ7mX…[Q?ÞAÅr¨ÒjŽÐw®qC¤®¢P¿{ÚH8>2¶Su’VŽˆ­ (ǰméAKͶ}-·"ÑÂ<—÷öÅ ®“PˆTÿ»·ÉÝŒl¶îÖ T“07Ÿùµñr¨‰¯cõÜ«Nh--½8«W/©’Ìâ…ƒIRh™Òt¥¤¸âøÈ}¯[u…q±ÄÆCê÷Ðç¼¾*5/•ˆxž=^îô¶ÉòëÓS$-b¥)+T”&y§0áÀâÞ…|QÒ4 -†è'_Iú_—f)öîÜË›#YÍp$Ê'É;‰­Š\±'·‘óæPRAÖv'à ‡`Jðe6ö! ‚ à¡v0¥{¾bÁsF¨È:ÄíbVÇÇ;ÐeêÛ3&žKL¿è݇z÷A±pYùòj‡±©Xc`U¡¨Üümý]jønïæ}Gê"æìXÙ2ŠÊNß’áÜ©ñÊZ7ØàW{&Úɹ O3ò+;5$/›$ZÉÝŽ°ÍÉ—R¯W ª¤º$ñ6˜»]»!ž‡÷{çØgÚ$we ²Ñ£k\Nå9›µ\M82˜¥ª:´¦zGc¦â<¾0¶°]׬gº¦"ªÖ9 ÞwD*yÏø´Iƒ’Á0Ýߊ2ŒtL9^ô_ªKˆÛÀér ÊLQ§«À"Ý,’‰ÎÆHÝ.‹äf´· 8Ó©\ï·÷ Á>Ø(wE]™\Е3 J•·õâË’ o7µC• ½v¶ß²Éþš¿ðþœvÇ^i4s-–E}_•“¿®%júµ80;Ç™@ä ž[¨Ô*Õ¯m†E1\¯õ¨h¨l7y­yÚùë#–)q x¡Yk“k®h•çó˜@¶?<)ˆ þN#4ýs†Úr%çÒ@ \ŸS„­âqÝvM ^pá_Ô~õJúûRàôªý}Q¨”AØe½ß°vF&«. J£öÔH˜ý_±ãÏÜf¬ÜP“&ƒ¬+0ÚhÖÏ_ ;*vãÿÿ@§…Öá2 CíwŠZ‹$[F°{ýžëìþgPå—TûU2Õm{6ÛŒ¾qúz¾NÏýg¢|Lma¶E·ò—é/©£Æf›¼g;7p'†ù4`˜4s‡|]~‘sE)ΨfsîVSáðçѰüÚñɳ}ð9„qvŸ7=î:à%3¼p7Шa:æÖ^á\ãMžXb(¹T8ØenÚ(„pg7÷ÀŸAÊïOìôOíô+—ªø¼8–¥Tð^É_ë(áb³¢_¢œr¼žëÛ‹ÂÐ0Fh¯;àP üôúCâ•HLe¹$±aPzŒ1`л¾¤«’A”9É Hƒp‰éVòÛûk?J.*qî0Õ5{7‹§¬yÊz%K®x©¤¦.[T Ë€n·…$"ô.'€u¨m"»«m€aÉiÑòÁ<—õLš–¾°@¨FF…+uzŒ%@òñ—¸ ¡ ™Ü ¿ÆÂX ˜ ]w½$~•æ•VE‹§Ç:G´ÙrýuSKÈVs…*nÐøÄÇÍrw°dö»”ía |ïË`5Œ”_&šÀyù`=9?Íå\?Þ“†ýþp⃆F”5øLtŒ¡jõÖÞé°±ý#õÐtp’iåE„8UG±Jû§‰ò–x»½¢Ék˜Oï¶£b{â÷“U§T~Ÿýié—Œ–p>§K“2¥› ÒÆŠõ‡‰Æ´$DIŒ`ÔßæÛ³Ûù‘!&ÝHU{¨ÛßJ²}Àl´®=®rt(C®¥Ü…L¤B¯P²-”#jµ‚1Cb;i¾C}ø¤T,?w‰Ÿ3ˆ¬Ÿr¾{2Õët²üúm²üÉòg&ËL–¿›,e²|w²üyd²|ÿm²|&Ç×Ôurß‘Éòg&Ëß¿M–_™,þÉòW&Ë÷ï“åk³PeîL–™,ß~›,¿2Y~ü6Y¾g²|Ëdù‘ÉòÛÉòçñÛdùžÉò×÷Éòl\a3ÆìíO&›QÉ_ GÀØ«a°­x^KmÈ+2:»…ê‡3ôâ6U»aS¼†U}1Æ9mTªG«¹¿€¨ÝA‹,ÇQj+ÓÖfº •ý žÅ´Bq÷kéÝöW…w@„ˆã±Uri3©×:¬ÿž¥;§þùg_Ær–‹ô&O™¸T·;4ËîR,4”S&®™µ¾ï'Zž2€ýM¸è$ò”èzÖñÒ<^ZúœþK™2IYa@†Äi¥Ñ¡çR j®³hÙ¸Ùêˆvè.Ïô˺bÊ9HÏ ‘q†ã)_šòiŽ{%Å߸ñ¡cüúõ«9[t¥åüžUÉhå·¿sW•WôÈCÆí[nwŸÓ¦Q=áÛ”=z>®B•´â…46GR6ìØ¹M¼ç£|^Žà™KY‘M*R|6eÑÅðóãæQòbûÁ–;%•sô¬+aJôVÝáßCŒF9"`Øp¹¿Ò™hu¦i$g†í]¿úÌúQ©…lÔû~ª”WôB–Pö¡`¢½ê ÕÙÌÊå~2RÌɯ7níUKÝŸa)v”hDÐ>“±çÄ×Ö©ú>à`¦õÌî¬F† ¶ªcN‡7œºXo«ûÀÄë~XcP¡äé&ÖAgBíšÎD{Ëy­1Ì…è^B‰Ro’SfÒÇȬKj;½‡š¸ÓxL•„ÈÚh¹âötr.Ü…~×?Èw¨kÕ Ô¤šCpüÎ&ÚŠêGè>¢mÍŸ¥£“¦+Àü‡­¥ªÅg&¥xu2ù,[ZÝäÙ\«= C@f‘Õ»Üö}'åÞ騯Czi½ü†(„m+íqYçÇÌíˆ'3ïQ#!r Æjò}3«£ï¦z÷¶h;Í?cò¿BËqš³˜ ô=%T5ô*v/˜ê9Wµ Ÿj-bì8™ø:4¯á7°6Ú‘N'ÉDz ­PO©>€ÎŸ"è€R#!~Ý H?d NŸ}iÈ@5uû»f~'øÑAâû²Áû’PsØr KHmJç|ÝêžnúX·¦0plb8SŸ ¥né#ßòÕ+·"cî —’[t†´Ã±Å²Þ²Å‡Ô:¦ w*nöÄ4N&g½fÔ„…ç©ì[\‹ÀGs†Ž÷e`›úY©©=q¢õõå ½~;Cç—3ôVÊСFu­Y–/ÝùËÉ€Õ¨¨"ûo¥+qu==.@“"*îWô©˜âÛ”/âW¢ò^¼ÿ’x_ÇÊ‘^K“pn…sF åQÔŸ¼¢½/_‹Ø‘[s|ûþVĶ/EìüRÄFåÑfnÊ“AþÒuêxQúû¯å­ùRÄV÷4,¡/lè÷ÛWõ3%ÝLV+·æðÖXm…Ìl"e‹Þš‘[ÓrkZnÍÊ­é±ÿê©p§¨ÚŸEq&NtHt<¿Ã縄¯æ¡*™g€ ¡môy‰­Qæ´ú¼·€úú©&dJ‰2¥Ç÷?š³L T“Š›½`.zˆR[ЃÕþÖP„^ôWüaGFgb/¥ÏcÒ· ˜¼«Á«äÝaè®Ôë}e«Ëá ê÷»„'Oiö#fÌ“¬Þê€Û-æ@&Öáòf¼¯ h­·€i@½AäGŒÑEÛ€åkbš¤¿îgµtÊ—ødÌÌv or‹ïæq¿˜úf”Èšõ¹ä²yICKFúîÂ#-´&?hƬÂ%×-ç§9ç!kIÑRíAº/UNÌ›jé^Ê‹^ŽëKFæá©.‘´|/Èú¦ÇÃ2©‹hÍ ¨&nÁ“Yg3éb(õ>lÕï#Aò69\[¾Ûzæï([AK–-5{&¼ oêH{—ÇÈÇQ•ÁFq5òE‚{sÖb§‡*z" ¦».Ä”BÓ‹£1—m-öSW®sÿa±w5KÖ[EÁ„!W+¹‰ÙÁ–œ92&ÝTÓÀ¯çZ½ÐáöF>¢å"„;»™<¶)ÄØrö€¡¯ë“w»ò8û#¶ðY~OAT­s§§ ,Àe7_Ïð_dg+ÇÂáˆ>S¬ìÊu$;Û L+m%;»?‘ŽAž{ꨌ°ž“Mˆß²³™›PŽ!ÂQ8„øúõ™Îiü:üÎÓJä ]¦; ë" Òêõèrm Ƕ¸B¸VÂÂTV%àË©Ñ[éî¦;»K`àD?ªŸ.Þ¾29–Qm»Vï•K1Å(t'B²œñ¿çfÓTí]Ÿ\Hâó«ŽÅye&žý¿–TUbõù[9ܼu©©L Åý¬6ÿù øT™X{ÞÊŽeÊ­¹yhÍOjhpNº—ªïéËàì`¼¡{÷œrMQœNå‹`¼fÀ]>Û½ñ*Áä}”Eš•ØÍÙšÌxúéô‰¡9æÏŠ€U¿Gjès¤#’f”Ûè” 8µ®|­zÖ# F‘\ŸmÄKú±[F¤w}Gz3 ÅÜQf6ëŒçQÏÇ-ãßoÑ~:ô$¾v5€c~ýýSiå`_Â;¢9 ¬ã•·Aðï R ×—%eßÕ ÚßÛhë©Qvj“ë·F[üy/kÄ @TVW1 в:dU+OJí?Ô(íãÑØyÆÆ°ØvW«9 %:EÕNc¬_ (@l¡ mø´ vh`"ó®IPæÖÊÛ²™Ñ¯.‰ÝÎˈŽß=Ä"ÔCƒîã±8PŒÈ"¼¥‰B3n!æc p=te =Ž&9MiÍÍB†<[{ZwŽ XON¾v:iš=H´9J‘ ßænät§`g1f­BŒbZR¨át„“1Vló=93¤ òÍЇ»Þy¶„_õÍlé·yT@Mö @sß4—^‹†#@ó Ð|h¾4ŸÍ4ß~LãIn @3$J19€æìbÚs+œ•€é]§c ÷|\îläߘf6Ÿï)ÈŒævrg¸Tvjòd1´fk„+à<.‰ ôÆàw:¼þ}Gv{ÜQ@$¢4˜ï ‚ƒö¥Ù9ÿï4ßî ìšÒ¾é0R{,ÍnHZ„í!#ç y1Í×£?u)cÜ™sˆk5È󯧆é4E1£? Ÿ ¯²Ê©ªœû—§Å’°?9+ÈæÐÇ~ŠE°èÉ×nõò;› ¡ð[^XÙþáÏï¦Vz§Q·‡›uW ^ ó”ÅÎÇUV KÀ ÀTǸ{WÈ«ÑüZè ÂJ³¶j—K2 Ñ×á[Û¤ ¶™MØZ(ki·³žA¹Ë0¿¶¼Òúy …K üºìt=A¨•ÚÇ 5yùqWo³Gl܆j»zˆ‘§=¿ú¸ ³šÜFÀÓ¸_µ¹ë÷’áŸjÿ×´Jy±·‚ßzM¶ùB[fùQ÷·¾Ö!ÏóXcEñåúmCª™!`Æ'CŸ†ž®×³1íN±!/KüZê¬}Æý™›ô3Y÷ñ%ëž¿eÝ;èÖÌ6s}¹–uÈHXMB‰µß0áö3¸zS[¿HÁx¢öØ”"ʇáDô~$úЭ8ôá{*۫Ћ`P¡Ëé˜ ˆz4Éz*ÕŸâå¨Lµuª¢xz9O\iêÜØÄÿ¤|ÿ³ó,ÈSôTtzŠI†Ï Šð6zæV>uímÚÚS×vëÚÉtÒõŠÃ>V«dß/ ¼Õ^å6’›ÝoˆFMŽøʃÚÍ[Üü2ï#Q¾}ã¼’ÊN)†#^ãZVö4Š¢/Íh^úšCY[Ÿ=HÓ¡‡ï_9â€;ö3 ´§ÁS†!±rU>êFY ‡èeÏp \âºWs=¹Åïñ¿§]g¹H?Q¥>²dž¾ÃmÄtFÇÙÙÝÿ{ošäHŽ%ëþöÅPó°ÿ=?ú)`ddTUWwä½õúºHfÀº“F3 gPÕùCu‡ðÖ$`˜›Pìc²³±D¯*i cS5­ˆ ×FBC‘Ð ß?¦Ü/³ëfŠ+;3ÖUzó¥Šmõ+ŽÛ«F¥¹VNª“ m‹§©\¨8€óVx¬]!îNC¦ֺjŸ×ìxÃ?»{AÊvã³ýxo(«2¼ºBñBH,„äx;K7Ç$ a°”]Zb»Äó`âq[h5±àੲI§àó”8ÉBæR»¯B‘'X›Ör¾Ò{U0¼à’¨h¢T®ÞÕ®úÛÔD™ìò`•ÔÏÝÎÖ 0rÙŠLd1tPBÿ%$x8´ì~ l7È"qW”#),N¸žÌØf•ü´”é rµe¡A‰“ˆd³£ FÆŠÔKn­r…ŠA7 äΰ¶«U¹*pÊj S®­ ŒVé‹í®ÿrÄ,ž~6"Y‡FE[Nkªã¢ÖO³¡µ5°b¥¡‚5£²™‹¿ÓŒw$Z©âŽò˜¾T†¨c4ˆ˜ëë…=V”¾PåÑÚiÓL¡0Þ ë+äéiJ„bbÅ"¬àöª ˜B7–°LcFjNŸ~U»AÏ\„¾Îi&2«KòÔä*ÀJ³åB«H­p•ù0m¹/ã¸b•çfLWìY£Ûcóïü ÄPâÿ=”¸¢i ÞoKœãÍñŠ–ur$ͨfG™õi+›­XÍá/Ëóú«ø¨FºTŸÕH—j¤K5ÒEU[ê*÷'2Š£D‹ÐµbÐÙ`À<ÌêB‹8°%ìLÅvŒ"wG¨¹®è‡„mf)s'Á…6+o Zóø^±îO?ˆÌ‡³Ë~ ý ×\ÔN ,¼½é²‚dV¥Ž/ëâ-‚Û"FÇÂÜÃþ‡M£Bú+— _82ÎQ£pë¾êç" Až§«µ†cE7ŽÜGîRZášœæú4Pn°Š°XeK$!•†ÛÔ–M.’wFF6Os.«d1+²˜…5%fÀzòWàWÓK"S -ƒŽñ³f“HIoG1†Õg2€ÈÝßÒ‚AÓƒánU—“¨ N û’¢Šz¨žj—H„ˆp Në#žœ æÉD6,îRÏŽhUTzc¦ô0ˆ‚n0±8ºuD°^Œ…ΓÝEÚBÝ¥bs~Ä"PŽUùG¿ }H58"|S¡ð%Çè²úŠrÓGVX”Äf¼\Ð*ñNBš;YáÀ!îX|CùªJ ¨Ú*×¹Y†µ‡šˆ ‘ŒÇ`+l)Þò”~ÚÉi§ª˜šyÝ6± C梅UãíI²­u(Wu“lÓNèX ¯)n6Ç„*„f¨iK¤t¹[ æ¾q6”ù/%¥\Jò2~îªJ2T`ªª×Rœï[k4›=îô× ­>®œ†ÌX8ËU$1 ,Ò—§ÿËØÌÜ?¡›‘DÙ‹"½#@»ÚHÄ›²bÒU´|PºŒJî·J Äqûl½§j: óÀÚ’^¢\•i^é~ŒT…‡¹´Û¢òÙ"ñ þœÄï›y°¤T~3ÖÙW倅}^HBK™|Z«ƒ&jÄ\ZDJ ÎGޱÀ¤,RI)‘ÆÄ 5­õiv唬–瑼—¾×zˇ8ì§_ô¯L.‹Y'öÄ :òМ^ï0‡p%vQŒ¬*–L*VPúÅEk¿‚FÄJ3¼ØW²—ûxC3Cðª(ÄÖü®YZ¨AãH`ÊêS÷ a™Âr ïd)ŒE¢ZworJ}fRRS€˜â%Pà­Šºü¯£¯AY›Bô ì)Ú.I<`16LØŽ´v ︫&À:DZ‡ž‡æ‰Bü?óåg¾ü×çˇÃmY€Ôu0¯±0?FõA.Y™J.W)¹í\/„¥ê"5'„j¤Þ„?RRÒŒ´D"·‘©s¾Ž(° ¤UË:È,R#;j´Q¹‰A¡”x‘9ãLÓ3™À±Î©8c6³—ÌqôS)€õ‰@Z!ªÕ¨Žpš¼£ ‰ˆõ˜¤.Zh15«¡SÀd#Ù§haxú‹MP–éƒÚSLO¢/muŸÛir0çH¶¥}Ù‰•'õSe‡4è§Ä\Bœ% W9ñ«TƒD•í©×ŽéŠ[ÿOâmRÂZUÊŽÌ ±:…§âörþX²y2ïa%È<;Áê˜Ò“‰™2µ*7«ã5qlø¬}Rm¨ëñ !jâÆë±É =(‘ö´ÿÔ ÝÿÀ uÐneož2º <è6ÞߣµpÞuÓ¥ˆféô‘9ÿ3ÑÚËÿ¾£µÉÞ×ö?CkWôÒÂˆšˆø¸ˆ×oÌÔŽ™*8IÝþ÷ÝLí_þÎ2SQ¹U¼àà5Sc»ŠI·%Ø'vŒÖý‹ÑZm´¾ÃIê…“ZžäÈ !*ºIÇ•Œ³… eßH7ô¢£É°d³¥;Ê]ƒÐlSâi õ%uf4hÅvNÔMS!‚å‚—t#z·©&ÞÐÝrÑ™Hø‰3âøúìžòͶÃüK!‚&þw’ö«€WVÑNZ¡%J½«Xä{a#P䈊ë5]^if‰ IÚvÁqÎ:à•rSâ§hZÈd] >px0Ö(9I8ÊXOhЍ W%Ø‘\h.ô(í…L+‰C¹ÀÖ‰ߘK’qØÉ• ÎPoÖIÞ]õ¯YÚ0#;‘œTÈ6%?¾JÎéº™× ê, Déìw 4’_Å^,È"„ŸôBÃ3ÄDâØ#1Ž˜±ÊŽeì,θSIQ{­©©òÖCgº$´ºjS ½D®ÒÐ?¢Eª¶·p»…ZDkD9mé>t%;UáK§9H•v¥J%3'÷™äk’³¨C-ÖzÝFZ×óÈà?„üÞë*ðA¶œÒÒ‚Q®&}HS!2"<\Qî~$íIßE΢œÈöõ?Q¦ZþWÞY ò*J¤®² »NÜN‰á‰@U¢LTÕ…^m®ölðô£‰Bå“(t>'ÙLúU!è±ôß þC:¿ÃÓ%ÛÐôdzœ#Qøp˜(”߉Bë! ý£@O,là®tÕ/ÕYýªÁ^R™ëÀDW7Lt¹v ?XW€‰Æ=LôWú4ø”?è?úO†þ“ÿJÿ¹¼p~g<§›÷Ó¨Y_?^æ?ÈF{ ³Ú'UuXñÆBfs®Äb W8™?šг.K *P ]¾y›èJna2@ÇÀšâ&Mµp)…«9.cBA]­ñ™ÝÀéCe±³Á3g¢èP+ËP%£K+™Ç7Vþ¡?*ç ÏŒ²SÕÓn™5ƒí¨6s‚cÖ剂zÑÕ[U³!k)wšæòGóÍ|m9ïäò}ÅŽ£ÊÇ’ý‘ᱡŠ—²‘0œ>T°At}è·Ì MÚ¯ù7;$¿°+9µ‹ƒzÌäF#i#|HRa[\o:©0‰zˆŽSpOG¶&MÃØƒ^ÛéicšZ–©§í¿ƒ« é¬Øl{BÍm" BÅÉïút¦%ˆ¾‘Óca¢Š•žäçIa$H˜}¬Gë¦6@ÿ‰) ÞhfÌ lê²-›R°éëy–™µßÚ —I»±¾êÆ)¾¨Yû"É,™Íë2&XÇåé âhöÆŸ±7 $VÚ2z”\ï”—VLtqòl¤Äò«4Þ„‰ïuæ°öû¸I{› P|²âƒü›—67ÿCˆ¡‘Þç_ù 2 »<ë}7‚ðwîð[ƒÖĶˆß”0ÙF&ˆ0ÈÄBh莄ùÁ^4a;-‚ŸÅð³þcƒ€ºjaD0ŒŸÔy)µeütU™Û´á©å‚ä¦(Ã,íј"5aÝ…&äGo6|Ø(2…Ï즶ô CÒõ6þ» M„‚‚à˜„ü’±Õ¶|¼W6 *w4…¹™Ru•—¥1|¥ï(®RaŸrКM,òJ§™âÒÈÈ 5"u¦¿P.²ª'gP1÷qú²uµ’3·¤¨N..&ÑÞÐî¢Þ 8ɲ!ƒn¢3Muxš=9§Y—&_AÖì÷zˆx†ªBzõ—Ãs¬8}^“>!R“À¼§ÙÑÔS-Ù<Á/ÇW'L2ÈØU%Ö"®#I ¤üdøhm5Uôº ¶/¡·F íánù£lhš›§Ï“"^ý04œM'©÷•ªž¸t£|p·Èì É–o%âù_¤pŸò¸p}ùh+dïƸ¬;Ä›ô›ÞF~MÐÍwæwÙ¶aÙBæwúú=ó»ý•ù *Lg»Gf÷Èåa~FbdE(r›ÖÀ |к;î¢*c‰Ò=þ"‹3Ìêmòlò¼‡d&Ù-™Õ aÙ®‰» ëK´¡¢¡ÕÕõ{‚=ŠçË1/xOK`b+gfã°¤ŽÛ»E’ÿÆö6Påê`VTëT›],ƒª\E—Ì;\©®Va<l‚P!‰SmTZ‚|æˆ}q²ŽA&v˜êü3Ûÿ=Û%7%"Ï;Ñ@SX£À^rÈ\´4­§û›xZµ"¾” èÂ8oTòR7Ýż¤ØßiT·¨öUéNð¯.¶PþJAD*šH8êˆFR®ŠÔó‹úÑCqÿ‰ðEÞ* ß_v‘7šp,z¶gcêI»¸H>=t B¡qm¨¬Ð.U÷ræ/f*¸c*5"ìšF|KÙ,€÷š‡fV»š¢²–Š¡gžD‡Q#Š€õ`Ù›+*š?L4‰'Ö,ö§¶˜€2M@)ü}ì\ÝŒÖ0ã3GcW¬}P ¤¡Ó™µ6Pda‘hæ|Y+d|3tdå†U}OiÆA&±ÑYBË»Ü Å ‹"š‘ ¬BB<öÃ9…²FòÁ…ï+iIaaãàž¦,o"ØÚ¾c[NÓ¾KúKê,+ia dÙ‘Åôõ!A4’c<õš{Ê]îÛÔNv¨8ñ•ˆ^JÖŒ¾ž@É„ßXn+¨¥®†¡dÍP²|Ñ×b~‰r¤^FöÄȆ½.ó:‚9ü+Dl ªÌ²;e‡“ÀH65¡Šƒ¾æ7'¢ëÐØ [wáN*0jZxë¸T)²+á mŒ¸†ÎHldKÓ0ß³r¯¥½'l!~TÜ|Š(„Ý'©xjZ 0‘4·Âtw¨GèXÊË]Á³8ú¤'A7;4Ú@¥´ œ*T9AàÂhÄBžP…ÐA`¹ž|±*—¢& ©»Ù®&¤!/.y©HN· *¸0¹æ³v’!½*Ôhþëþ\U¢²·W#~BmdÕU~¶ÑÚ+‘>®’6(9È­PÅf‡XßO§#ÔêP0rÇ¿ÀÐvwæÐ¹´Ž œÖàHù^- J$ ©˜R¨‘2êÓ$6Çñ2¾]wh g¥­ª¹o¦”»²I.‰E©rÛS3[½Áé Þ ôµzÝ8ËR(ÆšE÷÷çIfƒüW@ë˜Äû{]4 þÊ®I²Nަl>¿8‹Ù¬‘ÅiàfkâÂÊQ´l.¡ó^ú‡û)‡Ç2A w” àrû›ï¥åñ1Ž._eé ;gAp‡ìjf`å6¹}«ðpO¹Ÿ%HFA4=ýÑX‚Kâ‚ȆjcøVl”““FºnSŸON›zÕW+'”6ýaœñP —-–´qJ?¼©UCÖ‘Œ×æ=Äß0…ù00fcÝNî–þ^_%U9a&d Q™³ÜÏýU¤r“‘֋Db³‰(.MJÆu‹‘‘ÉkZ5ñ›‰Jg ˆªøûг³iZb *¢–W5}ZÈ”ny¥aýMì/¡TbzH7??9„ˆépäo½ðuvïòìæ2°â´So”£;·Pä3M<mg§ÎíÁ0;:·»’Ýl·(tg»6(Nÿ¯ýz0siyÆ*Q¿º}7¸ ò–3—]¬¦­gób'×ñ›6ÝýÕŠ£Ø Óº–’ê‰Aâ\ è!˜dΛÙЧIŽ;D‘4íc.ha:@˜ˆÅ]Åõ­ŠµO…©d­nÅÇŠŠ¿ÊͦY£H½‰CPgÕá0"}|ÁîSXâ?â¡¢òExhýþü ‹€zÌJ ÊÚÑ!¨á«—£o6?’­ŽxxœEIaOÂ42t¹>¬[_U\”¡¥ò£2€Žæp+ΪÑp•õŒ)†žŒÉx¯À¼Í»dP "|8•?_à°_KÉ‹2Z¯¡Ds"¼II$´ÎÃìŽôûne!6'Y’¸yƒÔ ` '§#¥/àm»J:Ep!¦ » 'B¡F¹Ð¬Œ¢¼¸E޶' Š‘/ŠýIÅè"ûm®j—ñÖ)i€ôf¹ WŽD»KÐiëQfÞ]Ej¥FP)&©“ø‘pôÑ­“þ©*øO=TfuGº0Z±Ñ(¼[-*¢SA¿-…‚—¤i£Êt”{.ÚãôÛû«šD!Àe!Ž"7vE£ vjdañwy…°Æ:É%‚)Dô­²©~ÂÉÀ˜WBI¢ɲ.“o¯™ v€õÝÎü¾Â! `ã± ¤€Ö³ŒY¡5£o\Õ]h„f‹ªà,ÆHh–-gw¤­RuÁ±ŸWV­ª OªhÀ„huk¦M :S2 Y‘‘jDÝTo(ß×a âHF;£»ÈJš>Ìh„ LÁ15— ´R6w$3°6yØÅb@,e0‘ŠûÙ¯gÿ¾s´:TbRVÞ?l|ÅɺE~ùLÿ'fšÄÈ©¥‚kO H:J€Ž Õª²FsÔ¿ë„ðÒ“>êÕºkUg8dž،Ë!™PPKÚ•:¼6\mŽkñ+Zð,áP©U^èlA)°+Áȱ… ^ƘÄvꤴ'‚" ¼ ™¨³Ø”\Aó!lj;X¨…Uçó›™½ÙšŒ}UÊJ,ˆ¸qXµð '+ŹÄùP2Mƒ[2mË‘úŠM°oŠeŽTÑmcMv |,m[ûž¬a0|H ÃAHˆØ`S&ïxƒ¸ú&íµ8©~c‡Õ/ëâ–è(œòŠ´÷èû”Í4I´[Ìc“h'c,Ì2ÏAâ,ãıÍlÌûÏ¿bÿVž]A]ÙÐ[NL9;ÏÞœgíAÀ¼‘]jž›âp '‚z6ɳwçÙÇ_óì:Ê¡ÍÈߎI+(Ôœš&«EÚ w®²²9¢H¬;<€±€©,!X6h76èh,µºýÒØ‹ê/4R"¦‰(ˆbò|-®Hø“EÍ 4®N¯W§×ý½þÜ #:6À<„Yh /°ŒT’Š9xŠB%¦UBÁ£:[«q”„ ¿Ý< ÂîSÁ! ¥ervv`šhtOO(s) ¿[¸PÑmÀ´d&e%€6»“OË ¸ñ.ÿçz‚ÖçP଄Ñ`ËÐr&UéÊ£tZp€˜ÏÕYÇŸF1Ǧkw&²§GŒJÐóÍïI£ŽÜ½Sû/yI vªÕÑȇ¢5Q¼ý·÷'G+¶…ŽánÀW†¹2Ö5H:ë§ g®øåÆßp„“D{6™¤UtèUÕ™mÚrÂÚI¨(½…Œ"›Öàö[G‘WCÑ–Ó\ÈÎ(ÇÞCH³hÛ2KóÑ®’då‘?-‚|ïÁG¶Õ¼)}qƒ3b‚n< ‰µÝ­e‘½hž%J vZNP.I—À&X˜,¦7Z qû;Ötâ˜××@ì(0é‚E‘…ª«êK½âž½†`åÛ?TP*o?4ÖïNõe ½”JWNy£×–*âk ™ôRñ½edGšä¥B› ˆ×ÔËŒ¿¡nöBëî…¨Xдµ9m;ÄO™ãÕ E V¶ƒBX^¹Æë˜dvŸd‚ÎÞKˆ–êó¤*Ks’åì°P”&W &fnå/* Ô†.—<E¼í!ò¤«Ù6[ÆqÆÉÙBˆZÌtÛ°ŽæJ>'gÍ>Œû¶ky‹ìF¨:Kû–2Ëö#ä_°u"S°8Xµ ûö1„gPÌ;£w‚ŠIðG7mÙÂX Yô\Ÿ¶öü×Äï2ð±ÃWâRÇ !…¿:‰6\Tad$“«V˜¼¼¡¢@ëï(‚ê,ñÐÜ"H¦ Û1)B%¤·#æbÓG/p$W Ë’üJ£ÂI[en!ô´%nQ‘Häu€ßGŸ 194MÕ $cä‰ä…<ƒ•­jtÒQŸÀa›¢`V×è‘ë=7)§A­XuRÖïË„ÄxhÍÞæÌ´ÄžâÉaUÇioaò˜³ûÈŽ¢¤§…Ï[õ‰H~¨¬wáPa"$‡7ϸ8Þ#û\‘‚ÁëÕ(jáó»–È ]yœÅ3WIãdˆ[&nR!…ï«È™‚´¦A ð0Hµƒ(F %û`hûêdÕ¹.§¢´‹&¥ÅÿÈÚÓÂ.[3²j§†”Î}Ÿ^.V*]LàtÒ}Ùp%ÛÔU¸ù¥?hfÓph­.¢¸Ï"œÕ åoî×J",€æ†ŽoÕ«‹%;ºcï ÎSl¨q§tmÅT¥Ø›‘‡Ñj\¢b°aÔmv1ÀºÉ"§è« ¬&–›žðv;¾(°ŠN#B& ”3U¤`šœeÎ:ÐæóL¡÷ ¹t±À"~Á%xuA—^”Àæ1!0J®[•i•»TÑÁÅ +':UÙŸ1¼ñ7.ã$L`€ªö*• üžOË35•¯‚eo :¶^7x{jÂ0=Q+©j“‘a“uô¼2*òs³r§?až†EBTFÿ+ü‘h$úù’äÑ÷~'i‡—–ªxï܃×Pïï6,¹E¥ÉˆoÅI±Š8È¥C×þâûwã¢T.\tùÿý»ªj–¬œè²^Ù&ÃK…²§ôí3’¤/¡UâRšz"Õ Ý^å|ŠkÑŠÖ¾à”.ÁÃæã’§P¨«<ðâIεXØìžÿÕç1F?Ê–Ž—AÖJÇžùDÅ9aÖ*Uj#Û¾®v®eô"@˜n“Vîy™”8Ö3”Sä·ð…‡)#fêmbñIO9 GúVÿ S£§ãŠöS´w˜ØÐv̇¦s9zéf±´h7‚ÙdE¥ÊVÂjÚAÊŽsˆ+µì¦Ïi$búº…üUP¨n7[›uú¤l®&ù#ÉD*ÚíH|øÙª1›!ªæêâ¤g‚ ÚBlúSN(U3q¬}Ú!ãáB1H~³Š†|Áb9ŠŒ¹$b:%×/SFËÐl žgêÌÝ¿ÈfÌ)ÉŽ„¯ÏUåß*´ÌMý.ш;&œ(R¦ic®ÎTö$D‘!‹Ï'ÏÔ*Œ‘-“¨2ÖTƒ*?tú¼90P¡½Ö¾)£¶3Àb+ùá·$¥Hj9U[È*8j|Άq仆.P44Ñ«)¨'[ñVm¥/ Ä‚Yu´‰iMùƒ\â$´õôå{cÝ å^—6P†™°Ž<Ÿí ..ú퇘£ªœ›9ìä±Ën“†b½‰€ÏËÕR_"+NíÛ±`^ÓûŽ]~ŽßŒ÷¹5yx òÅ•¢ˆiñÂè VcìÄÕ1tØvEä=©ÃÙhR-Ò Íz a@`kvža5`½MRmH5"! †²66¦2œ‰ˆ\œlJᬇñNä/ȇtn 2-×èLXKêU"ý'NµˆÕ€µ§°1ÞŠ,ŽSžZô‘JI§î qÿ¯ÊOáiY+±€§Âb¹$Á•2n¬t”¾o¼ðxçG\  Fð?n€šˆðéaZ/ð’€ý|9 ˆ ¸I¤TCþE&ø ŠØ 0÷ËÜOæÑÉF@Ѐ8遼‡Õ ²6¦NÃjÜ@U·Š„ øì f!€ K V»|†ëBTÃB,^3t»™^[öcQ #6 Z+eqÕS.| ¤ Ú&ƒò¿zâÆÑéuѶ¦·4‘rrn#“©ìÉ'P' lôõÿFlKF«I¬y°-$°€Õaxùµü; –° qü^øZj&™ÑECvØ:šñ¥_…Lü«° ^2R–Œjµ˜ìk°<^†Ôkù˜pÀI19N‰‚üÒŽAˆí-Û\•Þ;+â%½Sñ=Æ ;ðKl—¬­Kš„ÂImàÜWËFÀ5ì¨2YAR‹ÀÂJà Ҡf³<ÖŪw±°<Œv£!ЄPÔ˜$PAŸLIžèÐ×thTlZìXêÀ·Ã{&e5Sža‚³š’Qâ­GOã`XXF"˜w ¸Ý)TV ò ûAk¶æ…â]–<‹vþËQuⵜQñ¸§òŠ×r¢øf„ È4ƒ`@°$œ’nXFúR¥Í¶ÂƒJuK=UUu—"§ ql&‘¾AXKÚiP¥Q/Æ»)Fßóoðšdá:D± )Ò¢(¤~BTˆL-ƒ~º@?CéˆÈ1¡Bi3¡T±©ºBA5•‡š 5´H"J¦@‚¬•8¤pWÓ‘Åž@Á˜Ff&äÝ$·%Ì”˜I„«¤‹Ûlê’P&D(k^¬,'4N›A‘òN’P蜚èØRqÛ¸ÙHÁêŽç ð  ÞF°nHÃãXüþ˜€vÇÜ7ù-ÃÐÑ1±9&ÇÄâ˜í(™3ˆú ¡O†NNsà÷ ŽQj»Ï‡_óå÷aïoYIšöÎíÁ‚‘_ŽryœùwçCç| b5°-,u^ñm+þiMì Úo aÒ:ªÎ‡ö%(Fœ“ó¡p>D`&wH"‘vÈDÅ|n>'TJ5¼¿‰Ç1 ž*69'6ç„D•³„ Â6¯lã`²b¶+$¹ñ%om ›¬ø‘õV5±Eå·IŽîRƒ¢ 8›ëyéï“¦è ¡Åò2/ P5M8Ëj§8?‹ëgqýg,®uWÑ:êè&œ$ÎàâÊó‘›<å©™XqòÈ¿š¦&x4+_Ö}Iò(ª¶S2Œ½@&‡±§O’¬y—±WÙ ÚÞ–TW”4ÁáÒ¯¢Làä-cO„2¹l[Æ^¸ìaä…kF^^YMÕà–ruLÔ% ‚`E…áT¨CøñîAV¨VÐd†IמøÑJ ²%–ÔÊäËà,ntD°!‹69½ZHþ‡! ôÇùvÀì;u¸¹­{UñÂ0s† ¥8“$OÒhɸ¦9¼Àj$0‚PN¯†ÏÁÆ™sNµËP¬Âwc_K]ŽÞÓÞ:¬•´ùÔƒàc:ù:@רi·õglÉRð2,ÊHn°˜•¦Q¢/6ç„¡t@¥Ízw’¸;\|äîíâwP;9 `ñ2‡«R,²!ƒˆ´Šj+/Å, Î<µ‚¶â­átKË'SôÄ•`…¿‘Ÿå5@žNìm×8Y°Ô®žBT‘’{¬©â‰˜4€ø,¬ÕDhc^0ZC”çSØ‹®¯éyb‘VO()Qd&¨jƒ‚ Ü594‹'¢¯êÔÁDü¿¼£—®^Çz¡-*Šmr§§ ‰§k Ú‚€Wõt…1ßz\ËAøêG߇Fÿ‚ʸ ŒY µ©øÅ›§+ê¢êYnß«w™¯)¿2¶;l&–œrÙ1ݤ~«M·!‹×¨ààÒÆ: Á³ætl¿ÿ”H±Þ¦œ½,”d Ú÷Û,€£R–±SY£*(B]‹ñdË–’’H¿È¼((ªc"t¤Ø[)BÿÉëù™Ñÿ›g´°˜©™ê}9ñÑ Ré>¢È°Ãí…#Üéë2ªgÐn%É<íyÃŽŸ…b‹“}qzJž7‚dù¶ÅŽEäoT‡š'U§Öd]ŠctaX+M~P™ïlÕ¾$Û/¤ê†TÍUÏY|u1Œ†‚Žšg5εõC¯`A5Ö¿òKoòÄþ%íþˆàX@ô!nýú\_ËQàýØ›ŇòäÀ¨N›JM/#~NØZÑ\°ç¤Bæ I‡~5´$sܳ$Es>õŒ¶£d‰©Ë!™áˆÉ‘¨‘KP  "²¯Óµ J[‘ƒ,Þ£‘™²ÙQ2f qµ“¦Âmèà4¶SEÍîж&ªD_Éê)9# øŠõÒÉêI/+â¥ã°Í– Cý’½ÊnâZç+~î%óßßÃ)jé“˲°êžØfpÀ: å7Lî“ ¯E ¶õFk«öüªæ[)Ÿ'¥™ŽqBŠnbù4Ù£/†/4+)*¤:Ê8N”É’`5Ьd× Ñ5Uó¥ê@±‰.÷ œ.=‚m¥ÌøßÇÚ@N)Û!äŸÿF÷5h0òe8[6®­ÿ…P$¼çûŸ*VºòüãÁÓU T¦û$-³Mp­ã»M¶wA…õ6éàbF%ÅŒé$C45†%Ëㄜ¨kÿE™(Š-mP F÷Ú5-IÑ ®œ¨ó“éšù_‰Äõ­ìót€y;°lPçœÈ›\ýkÁðÇ þV ¿®‚ºYyXýÍQgÍt!“3œiʼn˜¢R !ʆ€º]l=ea5™ÂšVØ4[±í‰ÉcØÔ›T­Éxó®Jòèå’ SÈa*¡„ïOQ"R÷ò%æ÷ìÞÚE³`Ù‰—–€“H@Sö„$—lo,[(áÀœh^M³Y GŒé$»‚2OZ’ÚX°ùý+r(™E/0o/ü e¶¥A.è¨K—b…•¯•¦ÿ}*MG‡áËÌnv¤¦ò—¨Ágû R¶i¸¹Í‹P¯ËP&Ú¿)„(w³NÖjü¹Ô¹ƒ}Òy{Ôº'¯ÇI7!(út.ïcÓB%\š¹¸ÄÅh$`Ï%ŠÓŒ‰w[ðžß7C$Ðéªe¤#oaìQ 2œ0i:ï_ ó×UBh’×S^_Ÿ(q‹à§RíŠ  á;R16FDƒ:‡YGb÷E¸÷ú†Ê½F³÷×g™CWáU¹Ã$J5ú#wõEó( 8½Þ; ¨˜#a(Îw¤­Ye’[lüoî°Ž¬}îFÊæf¦M5í m§™6ÅL›apÃ6Ó&=ÿ;« ] ”“Ž0 ß5nØ+ã.r2N–—NR‘ ¢Èu1_èn¸1úR<:wŒ¨rµB4‰ÚÏkã[¼ÄZä2äB}¾"œl4/¸¢¯Ð»,êE„± ±Ê|†Ù•”–>¹ç™¸Þ¥ŠPÒ^2ŸÊ¡…¼)ÊÏârÍ0^ÞxdÒ°gQŸvb‡F B¹įSÒAc Ê%ÆaümdçrhÏBŽÅ6&€“³,?ýDµ•d×JÓpèBküHvþïìü8STxÜîH[>BTõêD©’¸Ž‰D˜ÕnM«QÕĈA ïEÊ‘ãWÔ8}61«Y–ª©rÎFõÃõ¡åne2^ŠN/*˜ÈîØ IE„¸`(1TŽo)4.ŽNã¢T!4ò1¼udƒ-‹“­ÛÅ×§]¦âÈ@/Îl41÷¦à/°aœÅm'¤”…¶‹ CNŠî2$µ~"•O¨7#¢eg8æï‹ÙKdK Î$EG¤Çf¤ÊAt¦ËÈØ°³Vÿ*¾F@‹ï‘ m7ÖÖå \øuIÐÚ©ÙÝmf\´Ÿ ß9j›ÚƒÍU„ŒeŽ…$ê…/@@¸K2á:z-*é¢ÛâœÄVcµjá×—o)rŽ‹˜ÜÄ„A]´Aqͤ)«’ÓÞ[ìùLÍbÝÙ/ÐŒUfAõ›÷/Êf+*¨\F–nRÄ–cã–¬ ånÃýò) —È^ß `ZlZ™ÄbÛÉÃPµqÈ a.c…èŒ?ˆ%³_Å gÔµµ•é K5—Àöi ³òµúNqqà¨8b[¬®äÙ°“ë"ÈŒ8ãRAÈ!=¡5ìºMl ¢J•%†Ç©¤$ŽkƒLÕð¢^^SÁ‡&Q™ á*L‘{èÅ[XËM½û¤p¨\¢ŒŸù ª4Ä€lzÃÑ   ›¡åp[í€&5'DZ7œê2îj*Eˆl»B(•¾]CÆýK”/„ŠÇ½„ÌŠY Á íÀÑ¡™7¤W~©`"­M=vkE-WIš /$×1È-ʬŽS!úªºdÓ¹¡r§+Ô«›ØDWDB!QæM+Vù¸E„±(J¦ËÍ—× $`f$]cÑuÂm=:j”ÑõPŒQ¹‡yêl”Ô|?šµ™ÌìÑ—Ï7õäQ Á£ƒ:°ÓeVï q¬–ÒIùø¯žxã£'Ny¯®oÄ£_øžì¢#U¬{v=Óu9UäÜ_Ÿ¸œ¯m–ø —TnŸó\2S”çr©K~S¥ü¦ÄñáŠSàPóvBGIòùäúÁ!¬O=ûL9ë{AïÁŠîb¸Ý•(EPm_põnËL^j‚4*É4Åøý˜ñ8æ‰Ïˆ$È" *ÏzÙKMÔ½}§óþê7¼TiF„uØñRÏõ¡ÄQ´L`‹tN¨Œ®ÿä`« àë~À@”â™…¼ºä£bÒ,b"§DÿIJÎTÄYï-xáËÈý “§á¢™.¿„ùð7Nü9Å; ‚ĻȅZ‘€Î‚ÿ¡¿ | %b²]Ð ¦ÙøÁ¿ëK¢¨á©Ñ»…ýýwNì=TS»?xš¿>}Ÿ‹WÜbÞŸˆ{ŸÔ€C¿¤‰TL슛_#5÷k9‰D&VœÇâšuÙ¤/?‰vç‘­F<é«^2‰'ý¾ô®«ÊX Úê"1%jU#eÇÇ‚†Ä®1ù<½®`Ø"^\Ÿà aw+x±S»§(R'3 2ÃàŒFÕ6ß#ls/€à“³{NñÆn™˜B°KI„¤¶ëÒ-]0 &«ú¸£Ò„’(`Ç6#3¦·ö¼ÿãºlãwºl,Êÿ»ºlí¿¤ËF˜F®þ‡.[ýú[tÙ,Ê¥­ê7tåšfý2c=¼ò‰@ºÂ¸²ëy\/‚™ºÄß"ìÅ×u½¿†ù§ º;Ô‘Ò°¯#¢Äõ–¢Zøk!Ñ¢ô¦5Õ¿'¬Ó‚ò§9y£:?B¥¡CñuWà@wÎÄ(Î i™Bê¥1¥¦ó݉ð²Þ=ÂÙ’)˜)cX\ƒ¼¸Ž°X) èþ¹ª «‘`µ-sÆ‘î@",¤ÕQa´P¶ÒN£Æ&ÌDœëWqÐç :Ä×öC¶oζ©NÞ$X‘Àz¡;vRŸë“gcÅ‘#jÀ(>N±Ã.rê3“úì¤>‰LN˜M³ü‹Ôgù­îX²Hç¢ÁÒ<@h¾ŠŒüåNЫ^ÜMqÚ’ +%FÃÊsI:UÅI¨€çtÀ^vçò&MÌ´Šqíú˜q¨7¼zÕtŠ–qa1ñ6¨áI% [ æ¬×:âN4¹0Ä”²wAÂ̺ӧU±bžÃ“…ÃA¦ŠkÛ«Õîn¢l1ó#s™ˆ÷pÚi;ñ#‘Ã7B ‡ºÁøôK0¾;?Œ¯Æ·ÿ¼`¼XòаAÓÍ8’Úv‘Ë›*þ4LMòØíMî¢:Oü‚ðãYm¾åÀ§W`V:NÙ¿½ID"‡¹•qÌ ~Eq³H†G N&rý’‰lÚ·b97´ø4{4{½09äý U?ˆ3 ÞHÊÔÜZ‡Š?›A$+ÎLµJö™fY³Å©8sp8¬T¦8sx‘lÄ™U2„€ËìÉìIúO•=ùt}–“(SR>JžH8RQlÒÄq­XdËØ²ÅÑ#‰xI³“D¼jj¶•D|D™ ù>IÄK¥«Ów…9© Ë baŠð¤Ú‹o£ ¯ŠÜªÔð*%›‹Óö?Œ50ÊYA‰ÃŸÈˆDä1S$T¢À!CDóôõ}½ò©Ð}(€ë½Ñ]Æû Í1ך ¹:Í"!&Wö@¤š§Ë­h›®x}ÃÅÄ(åY,„ D*P§*Ô©æeBÊ7¤Ø¾:Sh¡`Ti†Li†B@‘·Ž4#.ˆT'¾è Q&é»0SOÎ50Œ[¡ˆ"ë@,Î^BEò%)LõðV‰+ÔnÊl}‘½fçza2¿ãÃò—³üyp¬‹‰-…±~O0ׂ´˜¶á*OÓ`Ÿ ÒBÒc[a›ñ6G •»ŠÝÖ‡Û eÅd,ÇÑ=Ê_ fOÑ&pðc³¬ÇÕÑ…I[rˆu ð¯JnsH©~a€nã÷¥äÐÜNE¾¨$¿å­¨²|$¹ª¥Ø+¿«2ÃÑÚû¾m=J—ô$!”©§æ"7ÚJ:rã GÝ,¥%…ž«úŒø:s^-¤­‹_É0êJ$ ž–S¥ª×·ûß›“$,€ÿc3¼}1_ýûšøªaÇî:”í(³#r2dS4#\Û8ß“ƒW|ÇuzE®i Öd׊-qž¨9ÑSÝ ëgxTPR¼¦0+¤(@(8º~Ëï®Èj" ëP‰ÖBc®¿DD´RŠd¨>f5øorNG¤«°ákC7¾Eã:ɉ‰¿Œá]œñ wKËrO˨`kÍ­¦Xgr”×s­Á§9YupË+ÕAýTõ@GP­¢<èyi~,@ ÕÇŒpÓÀ§ƒcÕ¢Ð#ûÓ¸q åªãÉ£ GŸ®ê„äV•ˆš Zguzº5êuT·xZB©Ô: ¡‹S¾dÜ.ÌÝsæû£‡¸Ôµ™½£?MW\† ì¬ ²·kêtéÌ8_ð—N€¥º t<%^x³š– ‘°÷V¥­GÈhá*6¢Âåw<õù“¥(¸·™*•ÊBWÇ)+'1Š”ÿW½yA#a™,05Ɉۯ#[Ý„AÉÄS Hkø(íd×eÁˆî¾>ÉßíGè`vmï*€™Øò–ù Üà¾OÇWžjýâß“$Þ¡‹õ^5*ðÑ8~B‹üÈÀVÞ ¥òU Ø4à8Ê䄦À<6ž,Ý`&+¨¨K'*¶ >(Ì»„4í MÈKÆÑ]$Ðf­ûÛ¤<ì¸!¾ì$EDP~¼v àxdOž+à *â$õ¬,EÔäŒÌûRl¦á¹6Akå< W,k1Šǹ©ñ¡HgàÆªôƒ®ôxfý+³Vó‚a§Lhx&ÂbðvÝ,/V·‘:& béö×Å-ؤšQøq~XáQþ|—4%…Þ¬d¤ÚlŠÔo3ŠÔ€œÒ.Ÿõ\õe‡6Ë!íƒ!°¡t}ìký¿^ÏU@EEž„àøû=$MÇö¶Ùë²6¾°“ˆK`éprž2“³PâO unÀYâBÙÕ-ˆ®$(È‚—‚¶­®œY»ÑŽ] ¤ˆ<ǾÒ:”õ%¶–ló˜ŠQѵë;4 ™Ëz 0¹´yÆFåTC¿ uŸïßHxgÖ› äÍŽŠÃZõ89ÈijB]A•«ðD·‚tŽŒŒ% “lª/*ykϸºxUèm90› Άg¥… …†hÎ7³C\›[«Ò.‰tXu0  ó¡ ÷æÔ°E¡j7T qç#drãÎ7ã#³@Äܨ±XT±Àµë€l€ ãņۈe"Ša Ù?sJ˜Ž)<Ý0…d¥Ôk…°[q*Kø¹Ùî®LêèI³eD³‹:AE(ÄMDµ¹¢… Ÿb€$Ý‹uQ©¤‚ÿß2û‡î…ïÇgzªªðeGÊ%ÝÀ¸oʸÄdj6àŒMÞ÷Vís N±+O¦ì¤-'ŒýݦrÔ[šð>ÿÿœù•‰ ½0,,šÝ´GÇ–‹­Äek•ÄP (mçÛ±z†ˆ_4H/l*3­õeyð·j5Heþ÷ªÕlj61ýtˆ8Õ[¬ùpGD!;à®Ãøt6fQ˪™Ö«IÂf ÅÒ(¬}ýÍ>_®<Ùiù›¿ý@á6¾–ÉW«£ÂåCM“èΟ.«ƒÁˆåŸœ?,m¼ŸÊáÈv'ã1x©¾û4ÇPÚ$f3»Â°Èn >.ýž$6MVŸ”ÿíe~ŠÌJÞÙõ,• Wî˜$ßH!›ˆ­V™ô•jqo˜ ΃©÷ÓªÜ(Rq$bvÚØ ‹åh—12h‰(‡)¦YW•‚.i£*Mc¤;Ú ^ëFwE}OS;g“Á›::,%’©D(ÁäÌÖ¯ðDô–¸–`æ§œ–5¡BÃH|¤D3ÑU‚¬é‹š}ˆN²eÂÂ-Dd=ûª¡ÂNM@* ¡ê`Ž©âêôaph3Ë÷™l° ƒŒ³ôMô'§Hº”:N£$/I‡¢ô$ÿ4Aêž²Y@¨&¼WÜ(ÔŠ†K§4¦ˆ*jš ©éCõCQɇ 6! 19ßhÁ†B3fÁµ‚Õ°@2m¨Àó·ãèÄNh·U0Íè°DAjg}½—ˆæ5å!ö¿Afª‹ñO]ÊîNi‹lå LÜüT¦\OûikLSO_Å“¢#MÑ’ŒÈMÇFë,ŽiÝ€8†{‹› WüFÑ™T€£R3¶he…à¿FÛ2¿6`+LiîÄÿÅÀ¶‰[}Û 6jT7Ç4puX¢*Ó³ìÇf`\á)mX:@‡2ÐMÓL€¡6TJ¼V«kºMUz#ÒlB$+2¾šJD‹Ñ~sN ŸSeøâÆ=·¢íÁý±‹xðqŽD©E>ÂÖLº1z€õ3¾ i¢§¬+®1îi%]ê£ÅûT•ŽÁò™#b$d6F‚GÖµëäÔõ uÐ'¸ªùã öºéÚLˆ¢ë(Æ3ì¯ø™ešnx,MHzrf (Ú²²dâø!!Ì"eë—³,X;Êû‘V·CÂr‚:É_“"üÖ!ßXOñK˜Œø÷¥øÊk]îIÕþ¡0\"·$“~ —HùBëì…ˆK4[ªBÂÜNy!§TÖ¦ÈÕˆ1g 7ç·ÜÏ ÝZ¨BÝÑL)š@‡¨VÅbç\®štÄTœ»QÒ´5Ö 5V—èú$NA9, “U+|8—be…ž°Íꂇ҄)(ýBBСÚìK5Pîb“Ý E£üzì<“·W^[¸Û»ƒ¿W¡€¹ƒ ’éVQ+d÷j/r|þÏN÷¿p§SÕ‡å¼âÚ~‹ÜšÂ *M ?ôz©Ë¼ ^צ¿îësãhNF¢aÂÇïÕðÏï§¾ë’ôŒ I?;ôf­5’úú¼„úQÏàλԫ¸¾_Å4c,&o—¯Ûu áëöi„¢:[×"õ%³¿,8¿³Ò³ð/zq¼%;éÒúºÆx¿¸f¹¸óz|¾árqÍçú~vïÿ‡wo½Í&\¬ÌHnQ6ìËpbZrdß)f…Ò‹a#þi…¿*Rà^]©Ug]¹\áC;¡f¥ÝTf+:鸉…ø§¾¾Í` öT‡wÄŽUds•q©p[”qiÕB! pfË–é½ëdƒ —ZìÜzDdµ”›’•œ jTèÐN}ž^ïBô³ÒŠ\ŸÖÝ;øi+d®“˜V<îØ]9M&æ4m¶‚CúœØÝØÚÇÕT«Ù7ë*©$_Gp¤#x òÖ†F8:»ÝKo€VŰ‚H7W¬k>šO†u›–:þvDÛÝ⢷±Q¦7Å:Ìð×e(ö78AàŽöàí+/§95' ˜õÚ̈քé(o˜8eOþ`nÓE××Íhnˆ¨MDTÎ DWN\=·Ú9€ºy°"“™+ â°~ÊPŠ ÈtŽ«®ƒ4Jk]J UAɤX˜¯Ow *Ä&ÚÌ”)¯ïרnÚBWøls±W7(]bŠæmðÓ2‰`’¤‹W)N¥¸8\‹u¨¨Ì’t¢™&gxDJÇ;uQPú?›K0Í%èæ s ¦¹ñVp ò?ãXeK¥©Î$R¹Ÿòe H·$Ö˜ElÅèþ”ÁŽù/oƒÍU Ó|µÂIRŸÒ®ž;”Œ%läæ„8Ll<’~¯åCÀ¹`!#Ët ¿¢Rš->"¬^™YÃEVÎì„Q††Ð'ÝœGÜ‘°ã™ï0ÚàŽHÇFiï˜ÐõìTAT£ˆqX‹¡“?©VÀ+Q,à^D7Àì/”GÅ2‡všSéÅöªXª!Ùýò`\Yj¿&†o‰^/$7£#ýöõ!c"Ò$Kur Eg¸Ë²\Ôµ) ÜÐaEôóˆÝ€¿jc@¸°ÌàÒ|°”Ⳃ)±üà"¤;ç¬:S%ü‡N3Ò2šqR¹(n§i¿þ}«L@nîNh6ð³%¿…!ÚÀ¦à:tCpõ6RÙ®ré²2 U—a‰²K[V-š,Ý(M–ŠŽÕ¢"‰(ÊôrHHÒÀ\J@`‚@DË6½(³ SýûJ¡„¼°¨¤öü½Ħ $Ý+(ޱÝ0Ñ^Î ½ÀþrCæ`Dˆ/KºvkL‘Jy5aöª\LÛW¢)L†,ê ,±iE±)çôš( ÞúÊ"/Ʀž“†KÈXÄþ¨Y„¼FA]C(…ÈÒtØM¹yBUss µæQîõ-mÃ(Ø&„P±=Ùì;|òþ†õG¡IfžÕ`F¨ŠH!Ý»Fc¿ÓŸÝ…o ýn6MêwaÑ,JæÆ‡ Ä¿Á²¦;G¢ŒîmÙ¤µ ·,¬ÓÅ2íÌøÆ&g0€*`ºRÎ û» ƒ¨š—hì°±D«—hõcT€½Ä­^¢‚IMT6Dk¡n¥Ädd=%-ÑÍ Ý,ÐMš|S"1¢åä(YYA#åuþêYs'Åv”ÿ±xñ$—¹ ïl}u¸jÅøuCÐF¾ºÑ:áNÅOgš•…N0QÖCLÑHdå/eŠH„RþÒa`#ZPMR{Ô{ŽâÖp´EºÕ*ý(¬T0¦›Šké2—w¨âª[!Ôà‡eu <íPáþTpÚ¡ªU£²çc*—uß•vý)N¹ªúµ MŒØäóJÊ1ö¦˜n›ú’¼3ÅPĵ3‰cjLìLÙj„$2häP hNô›©ðvXg.²?&vŸž‚fõÀê°+•àÀ+xß³ZL·Ã^TðM5'«ƒq6 ;ñ”ÖŒh©0(4«š‹[7KÖ·m1Ý ˜P*üV脈cב¼–9ÂÛü|Š`Ž»ÕW¶Á…~pÄ¡„)WJZÛsèõÝy£§ˆÚ¼5´¤ 2%”6ä57éA•©Ë²oaމ0¥ŠU5ªÙP‚""A¨|†t˜¹%‘c_nÔ­ Žjã…о6û2•¨>-¯8—øRñ›ã—Í<é{Åš6KÁ„‡‡²©±%É5Œ† †¾P†¹&úû¤„Y§¨ePëð9t`w²å ¤ü+C%e0œ¯’Ýb’êû†L’KlèÈŒƒIЙÆWÎÅ5„‰Y¬Õb¶¡^ wþFRÐÒëÝsè–O¨P ©ƒ´jd Ô4¯Äðj(·h ÄÚˆJõ áæ˜ã5CIUlpÀÒQ!xë+‘2)¿j.½ær¥”MiŹøhbû ‚iHo:æþà¦è<¶ r*_ ­f}mÇò±¯wKÅC,È–)7ÁK1ŽMl#MAM‹¡ƒØìÚÌLÚïÍô{mJ7 Ç4‚.8,É”f± Ø9ìW,ì‘M½‹˜ÉZ†öq,f©Gà¯WKjÒ¦j¢ÊÖD¾_~+É)¢Qv–2J;°I+Íú"R Ê$Pº*TXsjÛOÞ¬i¡Z›™û¢>™š*&©U¦CÞ ¶ ´+¦qvÓ¯éò/ñpõ¾]˜>aò*8µ,ÿ-«h³Bš¶Ž6¬R‡ ¬Šê´Oï5£ZÊà¿¢Ê$k n.ä³´;²ÏÛêTyÉ™X Èêêr²^µ_bLk?ÊÐשZ¼?!Ô*…¿ä®Ä/Ç SåÅÖ?°64­ao¸žøâo+«´(Z³‡A˜Pf-0ó³šðìÛ .V!1¬e…k)R¨ØK†ËÖ4a_Э¨ÿÀôTºñ9Ô».À¤u¼.]tx«‚1ëcÁ@Ì”êÜÅòÞK*›KD³ÈIÊÍhÒønXÿ[EÑUÜ|i|©¶!™PÞå7J²I|˜/ʇJÛQ‰Á+ ?(zèÉkÍ®hµÊh$'„cNœ÷ÅWƒsÞ‹M? ÖË| ÑD±å7z¾2ÆC1iÒ&ûnÍÞ|YBB}E'yGñmšB|qF¾:ge„ÿ÷ ¡HÑŽô›ª‰…&´‚¤dD™5XtìÛ J{MÂgd $™œBK’`KLä­Sfi{[R"Ó­¤ÆtÄ­ÀTÞÃé Ô–¤A C%}@æãJ¿þnË©½ÎQñŠªªq/õ 6G¹£Šîæ/ ÒwÏz§×©xH/ÖÛ[™´š¿`·e>»ôs%Ì\ÑÝ>JøÐÒQ3éMÅ&{PP+¡ÝºE¨ˆµ;awŠ7z‘T“·¢ßLÂ⼆Р¯%DMôz$qº¤Ô Ö8W¢ª!Ö®’õHf_gB‡R,a-›€­`›  L-á¬â’,ÕJ*Нt‚1’žÈ­R#ÚÅmC¢oƒ¢²LAÒV) ,a6‰Ÿc(öæT܈ ]C+^YrK¡ít¿ç|$²Ã*§F]i‰Sà,ª k×#Ög ç3¾ÐZ–ýb‡Öµªö‚Å%R ˆi— `_Ÿ†Œh—èœÚU2œÈ±b wÐñâ:0iÕ/—˜‚(p¿Kl ×{Pr2ì)íK*Õ¶ŒUÀ*š%1, &*\P4‚ÓSÊLݲ&qÛÐ Õ´€ÖA.ùŒÒÄžÎóÙ¨ªÀP!…å8ÕÌÑÕˆ†ÑšI½[$ûîõ‹ C³|pëÛÒ¥f~º*{ÿ•‰ lçà©Õɰô½@˜Íé@ Ñè ŠÙÚ”ˆ{"Â0努0Õ†±æÚ¤òåc2G>o£/IÖÅ€°Šä§²) vIU}1î×ûÄ7‘ B³|“ŠÒñÙPOxmŸøZÕq}™Üãˆ~ð2_9<=x=›®Sç½øe˜]ä‘#¨´ïD•õÈý³\ »Fd»Ë/m© àXŸ+ÿ63a!ÎDF}(ºl!j.iT E4¾(Iš -—oƒ9¾À·‡ò½‹¯‹ï÷`“èr?\‘‡¥Êh³%)†¾ÉWI¹#T™]—snê6>» Óè8§cà‹ ¸¢!†±ô§yÏ×ûøÊ…³xf&ËÌ`DÆÆas…&–r×HɉlIod{A³Juëزï//Lá÷î¥=%üšÇʨ'Aý¢¬,óïïÿáò¶KŠÕqý:ú”›’G÷Ê·Ÿóáç|ø9þ¯ž•ó¡ý“ó¡r>„Fp œÿr>ä{>Œó¡ÿæ|Èz€=²Ï‡íóaú|>öÿƒçÃû·Ù U§Ý€7oWÛˆ6nJ§oí–_[ßo'¼ßïwŽ/ðí^†Ìö Ô׊ü×B#gA]•˜YUÀ(z!/VY«±—4¢´Ô5 À¬vmäXvaá *ðñ>4öðø:Ep73kýõ>¾òÀgÞý‚ÝÑ}ØÚp#bˆ°ÇÚ¬Àå2²+xpl`SŽt¨Ý+²8‡°)Sï÷/}÷¾ï`dT¿ßA˜¸ïoÒo-9ÊKˆ¿ïïÁ¶µ·´Qtý#ª[¸Ê÷Ê á;U"KËm=04ª¤~@œ(\‹QSÅ’^¼_ã°†&¡9I6Æ’°–ÑÒòÜÙLžLBOVî®”1$¶§©Àl‹‰1Hˆ5B\É¡‘dt¥k 6cï» ®…ºˆÂj7ÛÒ–®`ý:G_liç*aºÄõGÛÑŠ@+›åªpy]WP:ŸHœÏArÃ-Ϩ´ntú+ Q’¡,x´®Û: {M€ãv ƒÀ}·¢ÐÒEQ4;‚ÓZr ¹(r úz_™g§ølÑH\öÒQW$KÆFAÓ®0' ´˜n ðoµÎâ%Xj¶*ã0Ô‘.éÚÓTŸØJZYº¿X$±Zs¬"-N[†ïnàÍ]´ +1àò<€ª{†( h¿iÌ“…&Q/•ß‘x "TÖ“EÒæ_U¾•Öù Mòb± ô•«@ì·¡EÖ$:–ý©*cסIpi¾D_±²ØÕÁPòûjÕ€òÈ$m›õJ;æ²´S+É™&Mì F§bF ØŸ»7 MËÛ–drU†ºQ»,o#­î£mÎGú‰ìQ°^e»–! j¼³ÜâvÆÜ¢ßš!ʯ †ª¨{”~u*‹‡Taø¨¢åRÐ{Qü[%|b¯Ø`ÖCÿÇ’Ê›â4èKbcê.ž£ .0… Œru˜Ì×AlÒچ̈́þÔZJRŽ{II!Jx°ÈŠ|)­<¼áš…r˜Eù †JP ê½@ªU¶I&ÖPZìE†íż9‘!sþÅ–’»S—4¥ÖxÀ–Qè¶½ @ÀüE•勸dò³­ª~ªJa¦ÖÃÙ—Â{¸¸|JȯÁsÊVJÕÞÙéÒrêN J Ï:(zXO ¯°qÄgE% 0+¬P¤°°R²‹QÒŠ1UD:E±kH9¹`ø‚Š=(ã”äJ謻MŒ ÜŸ¡‰OS`†„ÕS³Y¤A{kÒ—°:ú.jL¶`\ž#ѸHo56>ai83pe6Eí¦è(û•ÑnØèÔP¨8ÔÍ)² JJø4Ú`x–Ò «¨7éŒ5®^*Yü¤M ˜œV8/Ÿûœµ‹É)^Ô"–m P‘0“Åï6îX±Î„îK†jDMÅe|ÏN_¸×åMɯ¿îÎÊ|ùĽהéB¼ÖâE,èX}4[…Η>Îx+â6´mˆî&aëå6’ˆv¶RÏ1ü¶Ù+þ"““tÒ8ŸŠ—N½V·~F²³{ÅeÖÞ÷-ðÌ´V#Ó¤‘»B"E¤Š^GY8ƒ/³Ab³ƒ Ò %`H¤® IK ÃMu*Ÿ€1 î’f«+„@,ë¦J µÃ‘ýÈ,P}¹@‡~¿ŠÄ¢3+Ú Ä³)¹F¥j¡*U‹„’4]¨ÊÎVæD&q¨#°¥b´Xð½`ô?ÔQøâ” ¬"…e"S3¤ÑŽXl9aB)G:Àâ—N§¦P“—ż¤)«;^5v¨Fð÷ Y9â≮ù«"œÉP“˜U·Z]7n¤£‰ÚUtà»ÑƒïZ¥šœŠ)Dd!Jkö˜jÈâ((™Ð*Ai¤ªjü ü>¿ˆ=G¨ÓˆDDjêPú¾ýšD3üˆx(ªŸ2å<ÅÇA›.47µ‰7?nBL“Ãr ÄŠqË´Ð<\Ü}¸ÄüXˆð j…W1„ó™–NœÍùSÉ&zΤp`‰)Ö±mn:rÖ|CÆ¿u,çP2£Gp·é=¶iKÙ0z±Îp:x:p»BD¢œc™8Þç@Œºàxòþ“ÔF#v N ÚXMUD¶(Th DЀ#^ ·°³"ƈÌjG¬(+Ƚ`¸ ˆI¬´X“n8/@'6xù‚¬HäŒÀÔBO påàá·¨.E±]pV ˆ–-„A$•Z8¬HðO-æKÝV1Þfðl3İÅhCwLFŠ$KlD@qðá¹VGç…‰mYRð˜2dâ3 D‹&Y•$ã«ûÈèžDh~èˆS. º±âãe6¹Wgâœ1Þ쳂oÜT<’0Ú‰õˆAõ·mÜTp:ˆÆQ ê\×'G:ü9ÖM®'k¶=†ä\¥)±)43!€Êг äÄ»ØwëEÎNv§X:·eã&¡(ä U‚JøÕêŽc”ˆ/•ÃÔúÈzQ¤n„À n­Œ×¯Ù‡ŽH–Ä*50"òÜ¥ËÞ¸j-„Žª-|32’\+_Ç6AÑ>-¥~Ë1FØló EòHÈ#xQ ÏÕñ3â7‚£7Âé”Q8GLR+m]W¬ñò7û°>+Ñ^MÆpò±Ë‡Ì”qWn8Á‡¢„|@ëR ¬ÉgÒ‘`qXãªdÑ‘ëÅwÞâj³¸;µû`X¼°S_ðž"ªyš‚ ¿lDá½â„ý¾Rù=«\Wì–Ãè•£ä|?1[\Š×BW…´R­W¹ŸÌyùÊ®ÁH?âfHßÔƒSÑJ3 L¾Hø¾LØ|±9‡¹ðꨨ Ljç¬|õu¯ïc&&§—Yt±u*‡mòÔÍ~å…½˜( K²1yd$°à’>ÅTb4‰‡qø„ú4ÅÝ*±JÊÚ‹ŸNxÊoAXàʃP¨³Ý«ÿ˜mmd±a[%rE–-*Ó>Ì´Tw5Ãó[«|QÐ̠Ј}ÙÈ¢f3Ýj¢ãRÿ]Ë€ëmõðÊ1™À»*H­t#¯UÓÀ¬[+É%x)‚+s26†‡ ÄÛ¡À WEþ ÜÌ€D.-°{UæÏ€³ÐÐÊö¾7ti¯Ê1?åÞFå¬J=Ó™˜ŠÁ•ZˆÄ¼ Ñ—•ª_õcÑ©R³lmÒ8hçÁŒŽk ǯIIý®‡d7BBaÀ›™u!{”µ‹`äÚ#2× ±¦äÊf„ ø¢“ú‰aÃ×REp¸‚ñ!a²DùÆàÄš•9aþ¯ÚXºÒ}Î’w®HzÔÖŒµ¼"•$¯°öš ?nå_ñPc« Smº üwGß8ˆ"ÅXpI€ÃN”4„g_Zq"la`˜ ÓàòN¬‰LC¤Õ d…ÇñqTJQ‰—òÉø®Ê¡â¢.aD‡'þGxwZB1 7Ì\ÜrPÍLcJûx¹qC.T2ƒÜ¯jm¹,”>7jèt4{ ªÀŒCO»bWŽ3²ÉV¿Ðšÿó¨·Å2 ßDؚȦ+09‹Õ†Á$ š‹ó D@Q·¿±V¸V¶’`Æ|ÈNÈò ÍÈÔ‚Yh™ËmZÄŠÈJ^©@QV‘hÕÐ5²FiP 3 *²PÁ¶‹q+«l»´á3$òßIøžˆV!¦Š4˜¼ †OVé $üHX‹j Qi;,¦ Áäm¼¢qÈJdu–¬Sªeƒ£17Ð…Ì@5[L{¨ÎŽ’Fu«ŠŽÖ>âÍ™èÌËb÷Æ­Wøc…Óý(%ldáEÛò |îJAáÕSºZ¬¹ ]h,Ë,|è’ô"Õ„]·AÑÍ—ì#21bxªºMÛ¨–»¦eQë)渜•6ìJ–KL'ëWU±K¬Wö‘ˆðØbzóôÎПF¹F©˜ä™x,ÌE¸D!Üòj£@a ‰Y›FÀ\hΉ Åœ˜js ;(œ…¢ncÁZv—\~„ÉÎf/^ Ƃڕˆýo(¨†Ð™”i3ѳ梇ñÈûózE…]»D<ã…UøR«Š™+=á÷ñ¾…€«(¦…Øm\tV± èšPßdO>S1Íx4!T$u²O“wS['£U]/²GÃ>ˆ=j­öËFí€Ï‡é(:un$ §ÉoŠw¤@Åc¾(U&²”Œ¿HÿŽÖíÜÊ ·ô[le¹¢Œ|‚IbRÕ¸ ¹Ž±¹šó©#¡@˜™ÇŠ LÔ§‹Òo”•é¾Ý«µ+LHuŪJï´]¶¶„ãã‹cÕ1mãÔ\ô}$ ¥FŸÛÜrÚ†ðUSHxi\Špj ˆï6t•3–CL9éú!4T¦³ð~ÑZúSŸ‘dI~J(¡ÔÑ…é>˜`÷®‹ƒ@V,MŸ˜N \M)¹³Þœc9™ñÐ9¸Î{£ÙgVäÚVL¨•d#ÏKx‘>FóS͸T&*ãÊ÷j’˜-üJDÄá ¢ð‚‰FúÜYu€+0-‹K¥Lk1¢1ÏÒз°ææ— ^ÐmÒ9Â2»õ‹Ú¼Ê­#`ÓCÅÚÈ%û  ¬ÌÓá—É6OÐá0>Š$!<ÐNcWX-[×r ÿ…ºpõᬰº4B ê‹£ Û6 ÅÙÁ¤ª:áI¼›£¿þq-¦Š+” ((Á{÷§À³L˜ £C­!:%-F&‰ô%!%tuÕÈ(ÀIK†ïJ¸¹ÐªR(‚2â(o)Eük²=[îq¢ã%/gÐöጠ~g‹ ºUÅ5P€z€]¼Ñ6I}Q”Ibâ{êÀ§XtE\¥X0ÁÉIñý@piJ½Ìì´( †ç&ŸOQàГ0ˆº‚vIÆX8;kbuHCu«,/×ß"PÑ…”hµ(ÂRV-IûÖBh #áxu“#¥q“›i{°õ&>g²¤ŒsÊ Šÿ%íÊbK‡:ÃGë•D½ DD³o2"ÒÙ„«´ÔÓ²ÃñÖÑØz×ì6j¿ªG§ªÆ]‘ÁøNu.#·ý劫å*:hœótù¤aá ÌׇÇ,Йë…ë\ÂÅœê¸?­CÓTWL<;1ß¹– 8—â@TY ¥Y_S qy€3²§‡Å.«–æeL6U-ÛÞ‚—î!ïPŒ>Ç@e'êè@ˆ·Ù8öĵN¬ûs?eÑÑ¥A4¨ƒ^˜hDìfe2X´±=dG*¥@]]8Þé"L:õõkR5|{ö7áaÄÄw¨Z¹Ã²Y ê !€åÖ~ßíß,öŒii]‡·á«c!Tlòjó†ÂBŠL‘ U£î4ÝDÍ ½ae X/Gð Þ¤ÚªJ«62ÞŸgŠØö¶V¦µ ÙF_D¤Aje°cdÞUÞ ç"ð%SM+XtU7&Cõ”·__‹Œ”ÀY2¬u$OòAÕÁQJ£z'ÌÃF˜EAÔBÌYÑð‚_%qƒÈ572á½lH*l ˆ7¯Ê3Mçž*l.=ÇH *É®Gô†eUÀ =Ä"Õã8Ã.P³ä!õÎþ6&kWHSÑBÓº“÷/ðû”"OHl[HA²zz^/دm»0 !Ÿh@€$ÕEeÄUÁT‰IbsC¿ßý´]ec¹T |·ð ±Q…H©äÑdÕPýµ©™ÒUûr Hv˜”ªcÑ« Á{ͨF F›‹V-ÒWG\å£Öq“rSƒ‘Û§RÔaúø=©?mÙ—E y7£r.…½…QœÄÏNâÇ)k‚ „Yã6êÉ­î„v¦;ìo¼‹Þ€|j<ìÒ~]»B}‚Ôê‹Juš7Uf¨>ÓÐÐ1BëÒCÛX;’vaBŒÊF¯ïZ/þ¾÷`ƒS ~B$ÁÇ2 !,œ°¤¶?A¢I…œbåñŒ,¾*Ù„m _—R…Æ|)®;¡¬Årvb>hËÔ *=£‰'`Iøæ‚ %ëL_ó–+Õ¼ß"à U¼``}àhJË=ŽÕÊÑ£”g5¦EOâj'Ç¢< ‰Nzì4Q}¸Ê±] ÁHü?¾íÕ­×¥%Å”áàëùœuÌ–€ˆ¸DP˜0Ú-•ÀÜ©ÂX‚Õ„µš ±R]2ÙÆ[X›ˆÕÈŸR˜"!ÒNÙz7¼T¬Àî£$ngöýÈ*Z0ð$¥G‘ÝVèÕ‚Œ§fJE@tt(\¨ttt¯Fãèß §~d;ä"¼%}×X±#!] {=¬ÌÂꎫJÍ™g äŠW€<·‰®# âí°d#"X7òMòêU¦…4RÁU0ˆÍÒ²Ñ OI)tBX$n r¨Â¤*ø%ëba®(ƒ"ølÿ¢nq!u)Éx„U…Å-xhÂë/kèd´ÂD7;ò÷‹TRsJ…-ÃTaÙñHZ„)§ÀŒ½Kº—æPGn‚"¿ójõR=Þ׿\ މœ…Î]ƒ8(£Ü‘/$=›%É›%É‘¾.º—z}!»«ºŽ²@àŽa¦š»µÉKø± PÅ\iX™ŠY Ô´ŒŠí3HÍ[ H5 d¶¯xCÌ« ‚h+`lÀ' <‹/”ìàÆF$Ù«RŠòf²£Â0QpG't“š§p„[uÆYÄ*?ìÅüÊXèP'Z´pu@¨f‹rlßûv2¿,bÙhVF[@ h™ÞneÉJ>»fè‚kØÉ²>k RÒ;èË<ªn vÀðõR™¨(&#\I6Ð×Bªó4€"iX< Ô¾•ÿà“‰Ö~¶Æ¾™àZA ^¾ëÖ™Ì ¢]âÒ§=²bé³ðÛD¨™&ªL6ÝbQ˜¸„âÉ«„¶Dv\ªÁ:+›´Ê!q´7‰U¡%š9½¸m÷«È“¢ÝŸñc úsÒðà}àŸ©,,Â]äHâ#®U õ¸¿î·v#D¨ß` ]U‰r0Š 6Ä0 f`\kª,à¦`.ž±nÒ»QL ö †)>ôõ´N{‘‰AŠqè{`ŠHd¿PC@¡»80 •0M´ñ74lðƒ¡3ʼX>À ˆ–Ö½L%„×z%—"C8^.!Ü-ÌÖö9Èq´eB™!·YO“¹Çï$ÝÜ%(ºThE¡ÎŦ­ëëÒ:|ïs¥sXxÆë*˜²*‘/ÕÆà»PYtYTסղ­éÈ:‡˜æŽó\ˆ§šë$§¹®&/øIå;)Øw­D–rê-Íb\Æ]«ølûÈ.dB˜‚'Pn<[¯BŠPùã{pdb 0rSËõ0zsŒÁ¡WÀ©¡ñäüUvm ±M&×#!½CnéZ¸‹rà F¯ Ü‚)€žª­:öP9´*±‰¦œ[Ñœh*í Œ)Âá±6ÛNv…šYñ™ Pì7‘é>´„çºgõcÐ+:´2§gW!pš;‡ÖøÛ­Â¡UÿzhÕ}hÞ¥`€¶ UÏà†äH׎:!néRÛ9´6O¬§ä¥‰ž»wÞ§WT1ã̉CLNQ˜z Êy·ûß]Ò5LÒ°°UI‰¢J{³¢ªZ«C÷öYaSg­ÅÀs;¾Ä Ó3è yÎ6(´#­ò¤­{Cy™"º«–mc¢0gõi¯¦c"`L›ó4+2{MÒÎEy½ðš¶¿ɃØ$å Éi’È|É_&íÂŒg`-Ähkb|ª½5á>ÊXW:±§aƒq8 ¬ó*Šukd¼v½I†¦,š‚è7Ðy™µ×ǹ9F³òC…xß X+~g`š’,诽‹ë.–2žh¨MH7"È a¢ 6 Xé ZÛM{€öß_by@»*ØÉŽûW—Ø»HÞù ušQ9n:(Yí 9ÁÉ« ¹EÛ ¨ÞÆ:IŠÔŠyGþò…¸VR.KWgºÀYò“‚!â' Ê Kxw±—N££¶“ETßhìÃfsåØƒ[{á`ºØ½•Nolú Œ`i‚¸Ù¼•lhÓ‡G¿PTÊ¿Á›Qð¬4 ÓÅÀ, 3˜Êú}ÈÔA“_6"fÁ7iß³üu¸R»yB!ÌÚ´CL¤Üú2Òâq‹ÿÌ'<¤8dÃÆv=Jž‹SÄÊÿ‘掕®×])Dô¹Ô]AteócÿPÆ›ã,[ù˜| °éÍÉ O§ˆB|îQÔæ×z‡é ¯£fMšàÞvu! sÙ|ëpXun–eçïPi¢vÚÁù­"Ygë‘u€:A+i8Y>Q4¯^Ȱè¤8µû’&½,"ÖqVl¸•»I~ßSÝ⢀h)€yf,uæá‹‚´Š’‹‘êÝ ÷õ üð’ˆ~Çïö0ÚD6«dÌô{ÚŒ9F•vÕˆOäö$\»9&Bm¦D¨*£qþl²ã±á\!S§s%ÎEMõÃ`ÛŽ<' ?½;ªÓø™†¸ŽÖ†q½¡ßÈQ{†_€¬ÙM'jއ×(’º’Œ™Ø++ üÚ‚ôJ ‰éàL±ÖC©« Ü ®q¬÷ŒÇ4“dj†V˜þíjj ö—hÌÉŽÆ)@­’.I{s1úÝ6‚•š®ˆƒŠñâ-(:ÄèªAƒ|MGû¦Áy­Åjh<óƒ@¨Àºj Þ¬é¯:–'K6«î÷Z:<Ò©*DMãw„ã'°:aÅ7K¼%¦Ÿlˆ$ Òú/ù ²§64{aàz£¨Þ€2ì£< …À Š`…W.ÇtYbƒN=é÷{‚(¦ ¥”7lœ»`=Ú-dúpE~U’r¥µJ%ÔŠ*rV¯@Ó`[Š€žm×1›îI‚fÍ€±’ŒšÅ X€Q1ÒæºÂ ŽR+Õª_¿p#z2@ƒD4ª”ÓÄ膊¸€n)r:8Ë3YÉL™ñ¤·äÇìa¿“swb’ÆŒG»™Æa·Õn“×AÔ¤!Á ‹Õ‹0ð"ä‘õ«"–ÊÉÝü) ‰ÈÊ£y¢ÃUµ7eMs¦ 78зv0Ÿ \µJJ6b‡T–– ³Ä©½NpmZ”‚f€ðÚ†¢Èp=õ8s»¼„|ÖÎ µ[¡N7Dö_ˆM{ÆZÌzøq÷ùÍÀ?i—²8^©zJMÒé7!Æ8Rüôd\^",Vˆ}]妅4I:ÆLìHüª’üXÅ)Ù‹B1¨rËlojKu¦ˆl›â ²«*ÆKÑ÷—©ê²lB£ ´ÖÈî6 ^ê‹náiVP­æÿoë8C—‘ÁZŸˆs=¯¾8¢’¦[ä)âD…™¤Êb€¦´Å/œ¾>ÖÇ?"öbŽÝRt*Ô8¾Uðœ]9Tt$07Ùž$jëm{Én,öÕäk),ýÿ”m8HÊOJÃI½âvZU«XÚnó{S”º «Ý³ %ÔµÄñÉ ÂC¥Aeø®]ç7›ƒ,í‹â¼Øðx~©ØÞ¬Ñ(—&’y(¥†©\ qu$æUÀ2os '®>¹Íjœ5Ø|q Óz«k"5–ø†Bï'aw… ²s€\µ„EÒs™¤ _×LÛ©ppàŠ¥â·ŒiÜgý/W5ÉÁ$Á¥ƒ»BR@ypíÖä@Áò¨·ÆK¨ÉÂv'òv§gÇðìÈÏG|¤f[g£§#ùWÆá©4Ï+w ï×–|PÛŽ l¥÷–U:²t"!27¥49]³l›² §@¡-Ð)¾!ÛéÚ~Ùe,©ª˜¾vpÅáü(¹{ Žæ,|MŸ/´>A†U—?ÁåF¸–jÇY¡m•qÝÐ:ž&P5_îbG—,~®®è8áØ ‘6!p’µID²U©¦ëüzMΡаÂE<ý…:, ÅB…R¯®¹· ŽÃ‚–ì¿>íÍõ$Z)df¹\¿V¼ÿgÛúÊÿUø¿¿l÷å๛ÛL„MòÄ!öBçe)éW#“÷’tð÷Šé々~½öák÷w ( æk+ ø"CþÚ±5Ç¿á0ÇàK¿šÄ w—:¬*Jè8òëªå*]‹pÜädËѲz´ò®^ê’rÆßy ®ÛEPG\âóŠ;Û!QІdWË^9æm+rÜ ¤qÜ-Y.}1ÿóÿ¤EZ}Þ%ÔztÖÆ1š@K»^öF@èî½AAÑMPoÆüöf¡Œ_wÀîÐyõŒe©zëRŒuJ<¢¸VRõ™ÄÁò `“]ÍDkón'àT§_–­ô³´›ºÂ :ÆÞ‹wÀ&ÍÑxÛ #}àÞæ0NFEû@¸ÄSkYšáÝII“ò±ÝŸÁ0Äì@‡åáâRx–#ïŸnþ™ùvÓù(‹RNê°Œª¼‘â0i!5ÊŒmsfÂ’€µ3öí& _*wûRdÿ¤”==;if½®l:ö‡Â¬é€¢PòPJ<ì k!–ßVìÏ™!§’6•þ®3Ï÷ýÜ¡§wh˜e¦ð Å·…âG•öPËkYMí_¶ê/i]ôä´Â:àÊØM6î«p6,`ÆÈð+ˆE·a±Þ ŠñfHب‹IÔØf´=u/=M.¸·B­›% #Cñ£Z–ÕŸ=PÄ,'t ¶RuFÎÜ€»„x±š’1{ çˆØÊ"ú›Ø¢?ÏêÏnÝ™òSÚ…“lu@àždÎõ—CyøP^¸#܆P%ÓÛµ#ä¨'H‡ÅåpÙz«BM2¤¶l7想Q¬Ï–ᢷ€L¼Xå7ä&¥rP’³R™\îÜN«’ÍÒ÷–§äŸ¶VjÇLX¨ìWNR^Ô¡¸e×Ç×÷¹Í2Oj!|'Mä‚«+¥žÀ4 >5_C³8iÅí#ø°aÞ>O†UÜçáÜît0m™ì©JH×Õç8‘‹ªXdTXën÷°ÚPêäÀJûÈØlÎ tù'ðÁ›‹QÝ¿PwE7 •W‡Ý#©Ðóvªâ‘Λx­ûƒÙ;¡üý³Mÿá¥?Ošoá¡Oó#Í1ÌQHƒ% èŸTFK§Á;—µ‘ANp ÕW'G³“ŲfŒBMÇ2)æE!¬Ár#ÚXͪ§R\Ú­×'27ç{|Â1ã”âMw§ýÄ\QJ›v s‚‹Éo•àêÛð¢ß0ýUzz'A0ÂpD¬a®S8¹†aâs2•ˆíƒè䉪5´ü šKpÀJs*ŸÛ}@:Ôï zã3þØn®o,…–WZ\kQ­éq¢YMÔ“ÞÉf‡P3Îðî?³ôÏÎRQ’CÙ»¸ËBjgV´ÁÐþMûÑ•¡²—…¿W殀â(Ù1mGo iãÚ.Þ“ŠÇ­4BÜúý'qáŸPèLL]gÇOÅð:'¶m0&“S1Üä«R â!òÁ8ùÆr‹}æO@‰> ¾^U4lÓÆ^_³³A[>»dÂñk¹«Ùn«K([´PÐP¤ªÁ¡ÐÄvþD¤º—5†w´‚¼æ:Û!ä+0{È÷ã]£œ•èi?º«Ó§aö S~fc õZoYYtŽ´‹/Øe¯àþ„” Y!ŽMNâý¤i—5m |VWÒгZúŽÙ"ˆjzMo€µ‡ •­¡°Luôµ0»0ÉÃÅò}6‰ô–áå^‰”ÞðR‚·7[’Ng…¼dê®HKJy>ò$?Ÿ¬ÀÈ-»=þe<éSÆ-žŒUߨØÖm›tÛ&Ͷ‰õV½±­„·oh7h‹ [þ™¦—¾æÆ)æjG¯æCt[AF› íø¦ùQÆR£‰'\ÌÅ¢¨Ó°¥‰}6RCs\üYç wBJl‡ ¹…!ÛúË€DÑçY–¯LxÕ“;ªëЧádè5›/0;v˜ A8S¦ê"6[·ùë–Èä±nMo—0ë²U» jœ:® /rË¡D°Â3脊ŽZ!ðùs"ý]kq=mõ ÑZ$X, J1S¶ØøX‹Ýk]Ö¢ã8Õ¶ŒÖàö<~Âø­ŸPn“]BT‘×Rò Ž5Q²×Nwÿ¬ƒ¾«_¤ &òþe Õ¿¬!¤’콆ª×PÿÍ¿÷¹†ªq}]ó_‚´ZCùs «íx'r讓.EçV{[;¶Œ‰(³xíü Nþ¼c#ÔHïO›–)EöÏp~%ÃtA#É!«Í™Íà^p‘˜R€©€S•I?ñ^Ÿ$•0ÙYùT¶¾˜º¡o(Üê‚]¬Å5c§&Óñ’©ØÃ3 v.ÈSäÄ•è©(]…Íf@è•dP­íÍ#‰T]|¨º ‡ÚLü™‚›äéoN_ÚjǮر+vì»°å&Ñ¢&ÙD5•Æq´Ñ 1‹XDI¤ð75Nn\fIO>ó-õ&Þ„Uþªma]…е 0©z"q÷Z?ëîÏ®»….—2(§5MG;Þö®©ð(¾B“‘岨…/TÁ+k‘åéÐ’×Cñ.\½“*(áø^³Êíik¾t&aI Ð+Í•31I/ cM "#yÕ9µ¬êšmn¢ìfë.y6qÍû8rÕ&¯¶€yòÙ•·s³¹…­)ó×bJ±tœ"ˆÊ'#4­º]âfòØqKJº}™xž¶ âzqθQž@†¶÷lˆ¼nòІV­#7Pq¼*dF¸e2s$ã&úªe¼Ÿ“«b¥G–{¸Ð±ÿYvtÙeËáíõ´•”$HcŠ#µ*kÕ½Œ2­ ïŸ`’ƒaÒpë”×_ÎMf ÔaêÈ*Ó¾Ýh&šØSü„‚³©GÀÍ€õzÙTjZœA™\©›já\–Aàškɇdþ™k˜—­UŒéÓV¾7[qbk¶Y³ª§¥ÔKæõÄS«ceLܮ֧]$Bö Fûf[¶0ŠöÍœƒ<­÷ÓÜý{Û©ëâÖØ¡CC«Æªèsâ°ØyËxMX&¿^aË‚k1€¸ÀçÖçJo±ÿ…ö@È:s±Ö—‚‚lQváaí® ˜y‡ÍFzw~²%Éhßÿ7dIšÃ%§Õ÷6Æ}÷Óòþã'’8/µe‡.“Qe»> Û²M†30©6‡  iߊåÚxÚš ±¥ÀÀtnV‡um.Çw”ž _¯‘¶«,›H'óº:ç_ɶܧò[Ûá‚íwX¦u.Øöª³éŸ¸S2±¬2Z\ôœ`³µ]«BZ9»±N a  ÷Èõê'çoû§90Q}úTBˆí6ØA tßb^vÙ5r°6hÅÈSʈ‰'‡ªØ©*” Tmž™~VàŸ_͡炆Ž&kTìzlfÙ*•4¼Ry“$ˆ1Ÿy¼ÙÈ…~qÀ7Ï·”Ÿ¡ì"dÞ/®ÖÜ'“ÑíŒêTo’"!rÅŒ¯†v@M¡Ú-ª¬à™Ÿ¶Zóã@LŒÑŠVðÕ˜Mת1³È%p +{-ÖT± '…ŸMÅX[è²ñ–?ð˜?=w7ÏVgvCž[6ƱÕë|ZÇ@ØÍë›ËêTL/‹×5í…Ùk‹ßÓÕãNËÖNÆI©?Q®ëüÅuí·Ñthf•hšL YÊ«Îù³= æMm6…¤+ìœsÐTEÐ6³t#_¶WúÞðGrþ½±1ô/6ðnG–È[5ƒ†Û[Dñ­R¹nâÎxÿ8 $888®ÕB K è:ä÷Sñ7,’a†àZO+<&Ou¹9¹tÂK86yd+³±±ù.ó~ÞwÖ=;ÞËÓ*¾Þ2áË™ðJVQ+¡(†©MTgP,©³oàhX£Eþòm(W¢M|Â<òd k=i›®n'ã‡w(ncf=-T]âX‹ºJu™rîS¤sM”F¼×útµþdþ¼ÚŠ¢ò‰<«pî¼c+È!.«{;yNß1ì~Ž3Û ‡µd2Òƒ¼ñB)èêMTcÓ+®ó ~2ü?×÷éРP Z:á”ôì|/:½šBuGó½ßZ™XaG^†Á¨Ú–Z–àâ˜`beÂ@ñ bÖöϲ¦‚}¥ðON÷â~¦éŸ¥Ò[p¥ Ga¬w×IïC…˜oTˆ|ÅÚÖ4ÉËäˆ €_‡YtÉéÕCC®ºVñ+ð*ˆ¤ø·Â ®ÖD˜(;Ám«÷”×»@X6|€¯Í,?˜`û—u»³K†)YK=ÛdÀß%é­¬ÓmHpO'¸÷×YOi¿À«Û@\hÛòÄzŠå“èŽ,À":ÊÏ麃”h™ eZ®Ø’¤ýµÅW¨Q’¬Ø™?ëç®Åzœðt¹ÈK]J`œ³5ö´}/³ÂÒ×5w’¿Ø‚ŽQŠ GĬ.hTzÆ÷6•_ùº° C~TFNäî¹¾u•`µf);‡+Mªb-ßka±DwTô_3º¯±Œ\àQµTU¦5®kÂýžÄzRÿÒoÜ•®4YëÆ#ni¢…]áÌ>¯´ÌÌlŽ#óÅi+ã—Òá$B=®ºÃCrsŒ£Ôæ‘8_·.ÛŒrm‹û?8‹ç/gñdk@<*H[tÚõøú…™ðx6)ì*®ucˆÌ‡hÆ/5Ю¤YY¤Ú22¯cPéTÙC“<ÐÌF‹ì?ðé!®øŠð v“ãLD ¸°Ô‰ÃlLk»iRuÜœbªeq$ þZ1ÒÜ`©i›‹5ˆ;ÈË—œ®êµRqͅרÒioI¢kŠìNò1&ÆË¾P¹óÍïQÜ3¾[|•H/¢Ÿªbl赸5ÉPÐl„‡r·‡N¼½ªàåÃU‹c¾éœY«•{YO`–L¢mkÌA5¡egµ`§>Åa«Á’öPL´ÀɬFÕ e ]€ŸÎ¤ý+ÿ.P²«ª^r»ª~å–ï5ÌżÔLÚäÖD\¿h§©û¦½8ÄìlžÎ‹l$T&Û.(I9 |Þíß~ËçL΋€eûô7·DÂ`@Â$ÖñTEoŸï ÷áp£ÿÏùyí(c7¸È?sìïÉ·ï§½ÁM›å#&¼ü„Œ=Ëçåüd‡ÈÜV!È&íl‹yZNV×Z×AP°4›’ƒ¾Ûj&‡‚%B`A¢ô ?o:ﯭj®añÏ‚™cÊðm/J«&#j¼C6Ûhe?­ã²ÕLMS¨LgŽ n´@V5J ±P^:Ô”þIŸ‹éd§0m|ÿad7Âåˆ}^Ä0ß\©|°cWÑÓ¨ËËv¯ªÍ>–SÕŒìŸÄúß·›‘pÚJ~îsÉh”` ̹úÙõ³_"[Ü1—¸ª‡A›„5ÔpÙÉme¼ —ßXxÕu-ŒQ„Íæjmfë”Z-¾í›it‹Ãð,ƒDä¿hÀ‹×dö]ó6UE8ôˉFåDo.űª@ß“è/&îɸ8]9iÃ=H…Ç"7=¸NpRz`?Ëào²¬)Ûà¶foÅd\t&\ÎC[oéî'O¦ÆÚ ©=¨Cç„2TÎÊ´­XPPŽ:ã…šåàyI#ßÂ:}Øo;Á~Z¥Ô9²¬ÕÅmMoýJž’šžjÚ«UQÛñ&_B!(Á‡’X¿LG¶¤[Ê·¾¥Ü¿=MG¦#ŽCÄ:Êtf‰˜ÕmË¥+9]ì«à)F‹ž¬fXŒUÇ>Y¶í‘LN«ñ¾úÆÄÕ<¢€|š"gaqº`o, áÛIìÔîçmIÛ&‘BrCÓÖÑô7M3=­5cAõ™æ¹Û›7Ù¨”l Êz#åANõð,,TÁÃþ1 ÖQ­èS°@¨p‚X S§a#j;­áZNt8¤)D‰~oD5Q^Á ¬j—e…ä]Žçp[eÛG(öáç‘Ê+× bŸEGÀŸãT†}ùn_¾Û—4£>½E)DŠÏ˜}×\Í€%ãn@cü1êþÎ5¢ðøÌ/¨ JgS}¾ôuFD‡žʨ딑æS$7ïþ\g±årðÁý‘¨ýÍëÅ’ùÕ²q W@¬ô•Ëa(aˆyÅX~æÆŸ•5tŠ,"n½š¤m)‹dgQu}Í’Œó}:5›Å–N<%»³…‚†ýˆðºÕž'E†$Ѐ­¢€AÍu¯ëcÔuÜ…ñZ3,‘#ÓL’Êts[=ž+0«ì˜“ŠcO8‚WUGµ?ŽÆ&i«Î ÁU|†“Ÿ¢4&¾f;'AW,GÖ^Ý×b•ôÉèðþX\©ì§xÒÛvŽ|ˆô ݵÏï» 6[än»mºwâE²=…ôûe8Nœ,ú›J| KT|%x~P-Z ×"ºB®ä/WP%®^GÏËyÖ„x‡Úñ…Vwe7Þf m$µoVÿž¸= ë9yÇ·‰$·K¹.â<’¤ e*¼8åžbÅž °Ê;5¯r‹û{}î:ÙéC²âå”%wv">ÕØi$0‹QgÉ­ñ÷X-úÂ:!­·àfDŒ%9,#Q,ÑŒNΈOV_ÙOfü9 üf؈2‚ùë *—R|Šd%Ýœí]Lž#SSœÊú;\`±Ì šãÖX®.vÁx6Bô 5•XÊHÎÿŽS ÉŸUùG±fÕ"$Ⱦ]‰›¾½·ní‰âKî¿'pW×$·¡¿wÝû˰sQ³b¨ e– ¾<Ž\wvହí_~NÛ|6«ä'Ÿ§àGi3)¦Á¾õœÅ–°Š÷nàD„a‰ó¯[ʪÛWöqŽxö‚«3ñfÉkÈÂ’xÂ.›óXIü¡e¡šs6ÎqtÛ±Ú$fy° SýHKB“Ü6q@"¬?’tº~Äö@©YŒ*5¾nI½a±Y>X–JÇÆWÖn›G~€Ý.“4nå)cù,"BGê|€>VD(Ù#/ù‚Ê´‚â³›-ÚVŸ³Ê×ÿéSý³Cß ²ìí´îØZµèÔ00Íø Õ[œÊµÂ.ùë¡T?VÚnå„é:Åu,×8,Y<ˆõQ4ªb¡é\0”F’a¤ù²øYkøPhù$Ϊ¨â°´H_TY)œXCGUlVÖôÇõNÑÚX¼ ý8D}Ð6® Ç¡Ä_»ÈcÚ„¥‰ÝBu®¦âä1’Oçº-“AÔ2'—hÌœmÔ€„_ë\H”áÖ ÕÞZ¤ñð.'ÞæòÌ ë¨ÿ þ´ k/iú û¥-ûq03wKöa[žÛµ:áßSpQ ‚–'NñŠf,ßÏý<¹³O‘Z;ª9ãÓÇßbäK±èj±.xÇ[srOï9Ó%»ÐÁ ØÌ)¹FaÝ&ŸºaǧŒé[-޳H­ìÔÊ $¢ÌÉÎ :|‚>Qâ–ç'njÅ莴8Ÿ´ùu¬N‹›Uúy‚:OÆOùÅ?¾B4Svs2Ôȼ€elsc´¯âlcY<¦Å•Å[~Ô9²0 q„Ø"#©ˆ%µÛfƒLDEnâµòu¹Å™–J"‡I9q5%@af%´dm¿ùKz-¢!ÄTsæhú Ï÷7#4 x*eÊÓJŽKtÀ›±ò:q&ª8!+©DqrÂXˆÃf[Ø'®pD΂I–¸15»†¹ˆJó*Úì¬L&j Q\Ž(RÓA—KYQ–ºâ|ý!uÊŠj…>³á¿…u¡ÊO .AiSƒOB^W¼¯aoPÈ8£4cÇÜ?%¨ÿt4[ãÄJ‘cØ¿Éy8"ùÈòÄW”ÕÄÞåHž´Rýf¢±j¤5³‘*{³¬0sÓça/Ö5:×õy¾Ø9h¢¦‰óR>°»Ä¿i Û#7×)Æ$ñEŸÑi:«EΚšhÃyç9#æT7|°"¨‰6 ãx`ŸöµáH’¼Ì†šŸU:œ…v´!ÝŠ ÅgŠðº -Oú;rØ\‚KXƒ,œñýxç™g9ð„*¬ËÞ:{¢ž­Ëe*’q´v„p§cf‹g®Òƒç:ýlgó3r&{XoÇÒ£zMYæEfÛ°§©.k¢Ѓ•³]’ Å1#”áë )o}P’D…å7}Ú®·—(¾¥9»ßëD&¤s•\/®‘°–I1’¢]àt%,­ºæ–œÙ‚}qè¯36Ít¶h¯¯G^r¾Öì_~ÖOnüO“>8êm^™¤uWÁÎÊ+ÇÇr„´8þï3'» ;>˜ÝÁCßÛöÝ$d 'IynYøE(¦õçÁ?ª,Ú«>…c7ryyÀâö(2ñªæHÄÉ-ÅNÖÙmkꎮ¶eÐØ0hË3«UZãj«1ÄŸŠžh2T3õóp[ù½df†ùUÜC‘:TKº}º‹ÄÝ‹K¿ÙÏX^K*„´’2¾õY[£8®ž˜ùBÀ4¢zÕ>8“»1ÉÓËW*p7Š}Ž[ìB¤KfƒöF¡fŽÔK§l^³3ô#Ù¯&Î|xñœÛ•’Ð *ÆñQ?ËùÏ:זܼZ= R?r³<›C u=µƒqËÌ©­ÅÑþuë_Ë,oL ™¢êŠŒŒBÊ#ê¿ÜuÒÆÙ-× åY .«ëxŸ9x×6ïÊð”Å¡—Ê¡ujÙúÙ¥¢³kÊ/ð«D´Ž›·1â6Å$w}ŠN,ãÚÞo¯• PL† ’êÂíÚMdÕ›°Ú@›]+Ý(!ý}µMTË›ÿÞˆqlìL¤—²#üéëT­V¬@˜¼æØ@¾×÷³¨þ¬Zoã.+&é|IÜýf= Ÿì¨Ã*ˆ†Ôwœ QÚâ…Jkë»/#>«#Ô“hLqèÕçØ&q)Èt•Oÿ=]xÊc‘C\œ2Â[dùûϦ¡ …Ęäaªc t§ÀÎFÖ ‹lw»úm9,Pqûc#1æ`-ˆþþá}/‡Á‰ŽÎ’Û~Æ e=Ñj܆>¨zÄqŒÞ¡÷8Ì„ë¢/»Æ. Õ5µä€ ” ÐÂÏ—vÙ-‰`€¦Uë× v]̃r¯ïgñýY)I²W¼£=$ý Eiœijëìo °°ðªÅj7¸ØLR¨tQ)"ŒËÎïV»{JíÈ%1‹AhpË0Yk¹ÝÉð‚bðÙtE¥Í ¢%l*–AeÁÄíj£ŸxXÒçmvøKצtž--Ò&[`™›®7!IÔj(h±X¡EŽ1í®>¦|#¸«ôHåìŸÇ–°cÙ`œt=¥#íà•üF£–E<©Ÿuñ§A¶#s@Î…ùªÚ‚òàÀ»ÔÅ[…qÔ*ÆÔ[ÄŒ“Mˆ™ÔÛ«¼Ž”gŒÜ‡åë`-úã) ðדӵ‹˜é”W·„¤Äùå‚× }ô/sÒ7.ŽÎÝA*q€¼QV§‘m½ø9U\HDíŽ÷rÜâÔ¤ßrx£d˜A0¯¯¿"—^QuH¾sÃ(þ)ðø§7þMN .â¡uÁú¨F!ë âø %"棹-1©~`©»l• ²ù»¸Ðº¦.£X”Žžº—2 ¶óôÛ4Ë…(V•LR”ÎØù’šÄ³ÄH,–IND«­¾ÕÁ0ªu‘™ÖöjÝåþ…bõŠf±ùBGŸ¿Bó”^CäÿN>QeÇ›Óx¶En0VÊÀú"‚QŒ–%Ö)dê‰)çX,Ôì#µç¨pq­«0Pü9¥š3°ïï×N̺¬¡i°ð à©ôkñå6‡.¯GI–ä˜Ý¡â´²¨ró-Üq ¾ý®ÒJ:¹¹€æÎûÕj¹ó)[⪇Ll…H•²õg\P,i-|r *ŸÐw×u  w·1»å¤­N³JôGÕ—AÆ2ªTÂ2#ñ´õ ÿJ¸qÚW“ UиL•\{—嬀Ÿ“„±mÄTh9ýwÿž0ë>µ7ùh¡eîú78õ·jë`6ÉÜü>r‰l„YÔB7ño8¸0M²89t§DR¥ß»¤›|R¦û!!ª=‘›0@Çl–C¬“„ÁMµCR,Nmöðº÷4Wo*Í›Iw;®  T¸'Gh±ñæ0=e°ÊôûƒKzï2Ó»Œ¬“Ân¢dˆwU,¬àøìÖ 6ÙŽouS <Äâþìn ¥\éÙì%˜ü»Ž“˜Ax€DÖÙé®îÑp U×ÑIVI$žð¶âoð›ÊÞá€ç{Õ§ÖŸ¬r=!Sý¬ò¿ž? :èNHdG_ãé úX áuÎ2Íø„‰¬_QÆÍq¬£;9jZM,†Ú‚Ìöy¶ ¯W­MK;Íßetî9u+Íêcb"+(“i–Í EPºey «K—ò9åwâCX†K2T§ SÍ ‚¢Cã^ßÏ ý³ê×DDˆ=i“‡ˆQ™]ÇRQ(’ÁùI »€Œfò†²ZŽÑ™““ÁÉÖ÷J‘› <§X?®t‡VÇ2<§{&ÚëÜNùé\:׿î÷øŸNqj ?´ße§öÖßZ—ªËûkjï=’sR{œ…Ù©¼ ðo Ë%"" ~<àÚ‹”ê_·LOvÑÌvçÅP(!”'ÄU¡¶µéõN¸zOn 9Žª” ;Ðö.pàsjbcWCùTNNôT  ¤˜½ÝÑÎÆ]”a¸‚¶¿]Váˆ'ÚŠepÅþYÏöÄÁâWTŽk"JÚœøUÚ Z‰Éa§B€ÜeÖBEk^N¡IE™88`Ÿd[“Ä36§£JÓ1s;Ò½¾Ï“ÇɱuZïú‡Ž/…üa/i=Âm0СñÇ Õlµ¤róLDï9Mö9Ôîü§ ØÁQN‚:Õ1±>ÕÆ6Î±ÙØ;]臭*9€{ÅËî©Vˆ™ñÆjë|w¨Œ4ÒüºÊ·ÖŠ®¯ÁçÒFÂ@çê£ýO3ÚûönµÑÜ2²5de-ðYð+á1idUëšôGƒx*“…±š­«dKlz·ÿ“C¼væU”¨4^ýÙÿÊ`ÅØ)À3(l=•Žò*å†IÇósVÕ0T.Ñòg5«DÖ¹uUŒþ7;O~M#U‡åã•nä£\¢ ²YêÒÓ¬Ð9;é++¦ÌÃ-XN3Û²P¬þ²Åm‹–ì„&­CS}ö´íÄ÷2¶­>gò¹µm}S¬¸H|áì³rÓ¯€½IØ*­êïÃv‚*Yv>ÃÌ# åºHÛ*EPÀ*f`$36擞tqÝ«LU€Åüì6‰• å7t¡m18–°§Œp|ߊ€9;Á»ði¿Ið2cQ,Nô Öü%Ák$å)Š‘€YÃ|Ï ›y©÷" ^ é 1ÝšÚ"‹Ñ¥ë•D™›ÙaÄò¬ÃI¨òE©ËdÅ+“ÜÔ:‰|4>g}ü,±Ý“µ@»ÐÛmq‚ f™øEC@h"å1`WC°©Ý¤ÂfxÞv9AjbË£[Ý©b”²‘€ ¸¹Âú¶PO-ˆÊw¦B”«Î@‹rel€r|ûnrªTÊÆ§üãZ6¬·ñl êjD³·Á¹6#¶Ýñ]ƒ8÷t, ó–ÉPxàg#ø³(Ig€ªã5l$Gž¡5‡äª#’‰E8Œ@&„¿:†ôBfÒ/¬³ –[É >ÁËÊ ƒ¹(.z©€D‚À—%O©váŒl}[HIç$ĺ;éîf'|¨¬—óÕ¹—|Ó(aH¿$Q9³À–[„ÿ%È0LÝÎÏÕ5¹ImÌé×çƒþñþËï÷/~ýãã~ÿ êmÿõåüÏþú¿xua-¨fûÔºQ©›·}h±Ë6c ã“Ü40À¼qb†UyÚåé?ùÒ¯âªCºüù´Ï]»®b 2Qí/W£yíö7óà¼ÓÛ”Ùëö^ùý!5Ú{µ÷‡ßÝ=ý…ÛßüÅ¿¸£O¬ÿàŠNqÜgmþõ!ävÛ¿>LºýëÅýuò(·þá Zɰ ô|ÝÏßøëtŠwtûÏçÄo¾Û|ÚÿÞ 9ôßíK¿™·læo¦¨V ïé·þ·s÷䷿ÿ/fƹ%¿½Ï =Úßí ÿæ49sû¿ó½ÿ:‰Î¼ÿÝ»ýóýæÎùß}Î_¾ÓŸœ ¿ß?þ½îß™MÇÞòï_í¿;ßþñ™ú?Ý—þéµÿö©ï¤ùc{ÖoßýÏÍèuÓ>Nöëìþçο8þKçäÿäÿÙ3öß¹Çÿì}Îü_[òlù6âé[ü{3ð²Cüu?®·ýý~üïÜÏwCùumü½Ïã¿a8ý­˜ÿssä2m'V¥ –5)"òíy·nG0¢ƒÀkB‰÷]*¡9Ô–ŠHÊR,L_#ê²Íif}5ùÁßýDä¤n@<Õ(ò*¸B]ð3©êBÄ¿ºXHs´¶eÔZĸ‚½ê¢tm úц?\oƒ z󺈈¢+4šâR¾‰8] Ï¿ï¯ô EŒÇk!àXÌl}œµ¤:Ô—ÿ)’¸Š°Sì×_ßïömã|¿öúnbJäú¤ˆ$ìï¾oüëû¾‚òú¾Ë¯¾ºF¾×SïñCü±þj}ÿÐâ‡xé{.~_ãëû‘¼v|Ä÷o¬èÿü=¥_ßðõ}!ú½\ôÍûŽÅßÌÍï¬óû¼ù÷}ßG>w_䊗¾¿Ì+âš|]óR kñ¾q/õ¦–á :ÆõRR ~ŒUÂßêõˆí}¿ýÎ_ñg )°¸3Þ@r·[Â} ɳɃ’êyu®¶÷¯[C`¶ín*C³x"½»¼íåäîkÛÓ·ŠÐœ¾qÍ^(œé± } K|Ý~¢]õcÑ÷•ÄiÒc‰ÔËkÁψǢ7¤{^Ž®Æc‰/ôjH®Åô“]<”UôHbú|_çìzq‡âa¬éëÔƒ‘„MâQèÉùQD ûE„;ó0â~ð4²Gäš_ZÈK ëCO$‚é/×,±¸ï •|AÒÇ’MkMo(Ñ6Š›ë§yb3Šß_E›Pl ñ7íûžÆ&Ô ›P,ÐØ„bci¢{dmFíûZ›ãM›Q«PBZ™üMiÚŒôfÁÇf¯ñ™±ÙL½—6×HU}¯ù¹i……§6«×±Þ@ÆÔ» Íê=Z»ã:›‘®møó#l›Ø 'G8µmF‘kJ‰5]›ôÈ׫7ÙÁsA¥ñ~BH¤õ'™éŽänC!¾Š´´ˆUÐôl¾¯T¼…ï:ü¾ åg‘^Ïæõ0²dÍN;°Úוt.GÑÁ­µÏ °H#ºuœ|M1ÒÄ9ûpøãñuRñЏ+ÒÞ‘VÆc"סó)n}C¢¹4ˆÎe¦ò@:7âѹ>9WN°H좘­"øýÿ$!¬~AUPЂeaþ ¨´¨Ô*‘ðÖ¹7m[i¥Œ&™Ý˜ UzrœK1]²3 \[Cd92±#´ ¥¼¸†o.Ë)óÔŽŽÄ×÷fû‡ 2vúš½i·æ}î»7š˜ùÞ2fö^¯âÔÑK)NÉI6^œ:ñ.Ú¤¾ÿ_~×øå¯eí:Ubë±%Æy·Îæ­–c..5Þ6¾¸þ.¶§×ÒKõœ;¹ùÜኃg<ñy:x´aÇ[ôR|kÞ_‘æ®®$öèï''ä÷DŠÏþþÝ8ÆWLþî\Zÿ:z‚*ÖŠuNýa~ur” iEo¶3 ¿)ë z‘æú6ó‚Xg”CUÖÛÕØܼ•$ø )Ĭ²6eؽ–áö6 ²·–¼¢¶WTóŠæªÙ+Ì–^¬`²WRb%Åë.IlRʘHÕb²¢ú Ks›¼ ìqaYœï>}¬b³Åš ø(çÔä½´jZŒ¬Ë H8^Ü&Ywq .RÓTڽꉧޒxöZEU{ÒA"ûÌ*â™\‚e”½Œ¦æ‡—Q>†ÙY=ý˜sšÃ1ÓÆð2’i”Žî838ÖÉ^?ÑÆb[ôã·‡ß9ÖTÌSYmËVÛôªÐ‚ÊåØÛK!VVp ƒA ê1ÝšMM¯£ù¶Ž0â=㇢• &æ÷·‹2Cu2î÷UÚ<+äûDYÏ*_–Ð*(ì»öïÖ·¥¦¦ÀoTS‹¼â÷¼cy¶t\À—δØHÑájõ9è¾9:´NR³ûôã ‚ߥ_ÑŽ=!Çõï%30VÔæ´Ï+Œˆï&ÍÂ8å¿ïJ*ßóYS¶}é“g\|“¤aÁEü~ã^Iv£½ãt\¨þL³µÔdåè”ïÅVÓVJsñ$^7ÉïXø²hÂòɶ‚âiX7²šôÃ:é¸GêO>[ß(¬—°ÆbÁÅÕÎÚâ:eQ \°°ŽbáË¢Ùo²¢´°ã~5]êxß÷'’ºÑçÿûõØÞØ=ã;}ßâ×ú½¨º\ɸŸX{].\åº&nh|–®%®IsK)ŽÒPø‹ïû¨î¥¬@'ïFk5Ò´Úbƒýq‘ãš?\äþ‹‹<í"O»ÈÍ.ò–‹§É§‹¼\äùÍEŽ£iýjð6ã»f̽¬CÔ>p±oYçñ}p¬ˆß©¶3‡ãòK ¼¡œáºã gú¢FOY8ÃpÂ8Ä^¡qݵô´efVœáŠ3ÜÃ^Ã^ÿضy˜‡ÍÈü½ÀY.ìÃÂI7é%Rr‘‰+ðÕ1e^>Ík€›êF#wÖ|´VòØšÿõûÁÉ’¯UµÕÄî~öÁCiífáˆ^U ÷ë5Ö¶àoçN¥?¾ßF^{2´²9%Îia'%Ì®ø`URèqeòcV»Eì°ñÉQ ºxgÕ§Bü,ÿÔÿê¤]?N ™‡Þc‡›>%ŽP\¹|ãîψV;uæ³ÃŒU>¶OÁ_ÌÃwS'ÈâÔŠ»æhº“÷ÒI ¨Ôà{DŸ;›O¥¤ÊiøÛ8qжVìo#Iæa±—U,ò}üìÿì“¡þr2Ô_N†ñ/N†üs2üœ ÏÉl¤OÚñ!’èÊg†Úûpx4½GE þŽG’ãÃ',´×´úšËáQD3â¦ëLé€S_ª4‘ .uE'BæDÈœÕáÑäðhþOŽŽ¤ÏaeÂüÂE~Ét ¦}Éö>û7‹¥žöŽiº¢\GlÅ-ÅVð÷¶gøù3~úCÿG{Æ]­®5 1´ƒ·îõ6~úç:<~ûþ¼ó{ç}"8ò3~úÝvÂ?ý°oÆÛûœ~!òpÇO¿¬yZG”Ca=Ÿ~œ„¶ö5~ú‰¼Ò3N_*8[Åve rjãQ½·Ï2›žñÓ/ºíOû6.rÚÐí¬ ¼ÀwPÎàŽŸ¾¯ãŽ¿]—ŠŸßóû4rwüôev×güô#Z:ÞÞçôãvô·ßw9}Ûg<év?¯»¯Óh=ã§ÇS~{¿Ó/g _±u…+8 Þ¸ñ ÝFºçº|/·gØÒø÷åÓÏdÍžÖãÝÔ—3~úoä¶w!»çu ÛEÌMu²ü¾“k×Ïïÿ{µ¡güô©ŽúÞzÜUîøéÇn^ó[ëñ•ý{ë ¾W© ÖHûŒ#¸ù¼î¾"™õ<ŠWŽsý{·KgD?ûæ·í¿ùx2}žˆûçNúΞovïèý¦ËW–?¿É©|®ôôGú¼ç®ýy'ݱêý‰é+†—“ž1õî3ó3>SοtnúUò%]êø8­ŠÊü¥;Ѿ÷¿- qÞÅýj}â3~úÁUR=ÆçíÕ*¿»ŸÈçÜñÓ ?ý0gÍ«ª£xÆÝס:ŸöŒÇ!œÆ3~û„•÷®_ve<¹ïÓÅÍ„£v^£7¹ñ ù9tïýEû6ÌÌJÅÄL¿yXõ3 kñvxE¸L  [YÈÕè›e³ÛM ¾»/\Àz{Ÿåß«Ÿwo/·íwßï#ßÝÒj+ø‰ÛžñÀô·ñÓ7â£Õx%AÛ3îÄým›¯ûûÐ>ãë—×Oº?ç¾Ü˜Éù~çºÏøél×;~ú±‹Éæóïùû‰æ¾­ÛgÜŠ'÷ukÀ%´îò|×ßyüö¥ËÓŸß?}/ãïÍs±·†s÷5òùW#a4Ÿ~ŽÐK;ÿjäûM»ôãV…5p&8Cwº{‚óçƒ1¿è;¥H–S ñ\ÆYí/JG=¯Ÿ~ƒÏ÷Ñv /´ÛžqÚü˸ùÚ.£©Ùyˆç¡žñ÷~JÏøéûúîçG@.Q»±åõŒ»ÿëï?ßïíû”lnøü¼îòË÷0'rq{n9w¾]Lö;ì® –;|ºß­|›ùmþŠ ìñÛw ÿŽŸ~F¿äw?!xÆÝWÝçgØÝÏ‹9Ýs©þ¥óYqû;J/Bò =±YútÏ›p„¬ú/³ÇèðÛ¯¬Tlׂ Dm;†ˆ6z„Žúé6‹ÓCòÔ0Æ õ;ZÌÏÖè-Ô[ësbúä='ª*/.!¶rÅ>ÒÓžqm× ¦ÖŸþyýŽ»Üórê?Q)Uu¶]Ú[íWݧöŒŸþ)rÛ3>“"ßþâH;møj§ÎO{ÆË/¯Ÿ~óúÞ‡@´þܯӞq¡QÚ3~úªêSžöŒŽû?}säO{îß_Þ猃-{^§¿ÂpsG³b÷çEz–tãA¹vã º×yts›°‚ºÅq—‚’¤üå;þÖ?¢¼?n8ùn’™¼ÌÓžqèôÏøéWlñ÷Öã-bÿoãê«fÝzÚ·qÙ4o¯«_]Ú÷´w|p]´C¨’5—j¶ö4~û俞ñÓÿå}Nÿ|Žâ¦º«ø[8´ãiÏøÎêÇÑ\ÆD¯ ÌÞÞÆÝOÅG žß¹È…3~úÃ[G~*güô½Î·q1íƒeÛW¢%„ ƒÛg|*6þ¼î~IÆí¸½ãõ áèóºûª{>žöŽÝ«çõÓçyßîÆ}Ýgüø’¾>•i–º¹ÇªÁËÃn<ïëÏ9ã·Ÿ¦úwþÝùɼÓ%ðwåõ0ƒ"OyÛ3>ÈCÞq÷Ï:;íû¸6Å·×U›ÒëïîS]ñʳ?=í_Ìã;îþ¯×yÇù>w_»’rñ;É å\Szk=.Aùªg- îéŸ×Ïøé'ï9n#÷ö”yÇô§Ï\.ϸû† JÂwÀôÛïß¾áž÷óÝ÷õÝ먈ãôøvyîJ];½ »ßqyïøíû[|[y›B’ÄH_.ªÖÃʆ?£îVåÕNãÁÈŒg^d…òÓpÁ¿ü¹ýÏ‹îFúìü{Ç>¯Y†X¤‡ÓÜÑe5¿zº_K·¹£:Û%5eÊ¡»G#ƒùŒº'pÈÓ0ø½M)Ì {a(ÍÛ<ƒím^Çž¨x‚çýiïx€~_wØ&8íý½íXÿßOì?â§=7`ì°wNso ßX•§ÊÛ‡ñ[wØÝ.…Ÿ;|û¬üýhoVÉÏâ%_ûÛü:ÿž±Èq3èŽrO£Á&ŠÌt¯IXçiü~ãŽÑÑîû4ó#óØóƒRÀš:Ëå\+£§§ïöØjo6šÊéLÚ_l¨k‹aS\#öµ× (ÖÈd?} h¸=ã‹}øŽ»_{9í3¾u¾?¯»QôSn ï·~‘Ó5Ü;\›ë öŒŸ¿;ã§ïØÎmïûóù÷ûžïÑÚ£¤×ß¾Ÿ®5?ã·ŸQD?í_t¾ »ÛÅð½î¾÷£ï+ÿ6ë _wØ 8ž!:›­Ý c±[÷3Dçùx·åÓ…ŽÀOxåä3ä4gT'M'Y:ž^ô̓î…yßõ¼[À{ê3êî÷³6¾FÝåvÜQw¹Z AíŽ=)«tZ"¬õÃO_’}G÷óvÏË÷ÍU…¬<ïFsF¥Oõ¼zº3™Ù°Ö3­tÍLYº}ÐwwüöÙ4”ö‹`˜ðÙœ‹².O{Æål­ê¦’ÎîW£ëî¸û ”Öm=~®ãŒ?×Åõ¼­÷¯ãáÓ=ëÎç{–ëY¾!i.3ÊâšïãÛœW|™q÷¥Ú˜ÞÆOŸhß¿}‡|  iɲŒ­`Ð<­ÇãÿØ Îøé'dsŸ–ñºaÇœñÓ¯ËѿӞq¹ZUר‡|úçõ3~û~Ègüöù.Ï$ðÃ=ÿ|îý¼C¯ôøé+rð>î~Ãfºã§¯ÔÚ¼Ëê.§_ÇOÿ¾Ï9¬†p€hî·ñ $•÷½Ý¤LÜm­a*;ñþë±Bíž^´í£™lUUÀçëá4M+œmÃÝÏÝäÙEê‰Å¼mT’“¼•<6 Ž×òþyÆèø¯<æÜ3Œ›:‹!,Sé;î¾\üïy}ÇÝ”ôÛ†:㧯ã0lâ;N_ì®”Ÿq÷›×ßw?ˆážßñ÷¾È†@Å!¨ß~:1Ä™r_PÜñ6N¿ºnò?ý3±îø™hLÃ;¶6³æiAÝÆƒx³Ôžž_;ƒô¦€ìXÂõEÀùûþ*Úƒ§WÓcðô¾­}¡üt· ã·ßOû£ãß.‚Ä…KØÉ††%yGÝõWö¨{|å0{g~Öèc.‹ÀG÷¼‘‡ïûò©ÏÊÕªdyâX˜w®ž¹¬úbó™Kg.x®ÃEÂò¹{â=@Ù+eÚ6ò`ÍÀ`Cn=¾Mœô°»Â¬‘׫¶•¾žÝØ©·Vã€[žñÓ߯Pöm<ïÏ׳ Á5=íûxiŸ×Óœÿ¶Ëã§ aä·q÷ÅO¯Ïøé×þùû§_˜éwüôïÍôM>}¿úÞë÷uóo ¦¿wl>ÆÜ ¼už§ñ`#îêA÷*xrý{† q\^¡óíßD^Fÿ>CbçžW${ŠbŒÈr¸,aÇý¼â@ ¶âŒ»¿„í½£tÏ÷~»!C§£_Pv@xà‡¹y#1ö¼†ñÐ’=íÎB1?/»tvÉ»mà›UwDm·g|àÞúòüÙ~B<=}ÃûçƒýA £¹¸–Bw±EºðŒ»¯]yòøé_ý_нÀ hDªýŒŸþ¯¿ú~¿©5`âU8³É?˜J÷}Ý)×Ï~!wŒÊ(\dGrƒo‘¸ÛÞñDT=nQyº™ú>]¿7ÿž±Šúûý\õj/ ÷¡½|AzYдïèé®>÷¾Ä?ýó%ÚêBð^e-nëñiMî3~úb!¬·öŒ;=~ÇOº\ðëÓÜÑN1‹óª»Ý¸ZŸ.ôþÛx4Âi±ayøt}ûÝÜQðþ÷Uw}W^e™ý!q‚ð%¾·‰áï`ÐÂkÕ¨;.Ãiô¬ô {AJ(ù4Ôde2z6œYðë,ãJýø=7¦Ô1Œ¬XVÂUÇÓžñl|úw_2Îóiï8¦Áó:ýMªÅÍÅÛ:/Ò[d¶<èÞÂ_9 ƒbd”3è^Z±Q¹ñ`šþ Ò“DŒFe#bê²U7õ¶o„œîøéw”Ço{Ç‹ÒnÏëîìX³Ûû{‚ÜñÓGó ºÔ²`Eá”ñŒß~~¤ö{ßßóŽŸïíï#:K"ý¶”ÊÆŒgüô•®zo߯ãÑ¿¿ž€{›J†Y=¿§+oã*K³!j‹zWæs=R?}ù¦õ?}áŸËÛ¸û†ŒjE µHE P¤§ïöŒ‡ÿPë3~útàÓzü¼ÿ?ýûùçùû¹Šr8žöŽ 'ãu÷¥^žöŽƒç~^wÿ>Ÿ·ç™Êó|2éùHH·5ƒr}ÆÝ÷3¸ã§ó©¥·¿óûHw¥?㧯2<ãmÜ}Ë=ãŸóC%‘6Ô~&ùŒ?ýH^=ã§Ÿåw<ãîè·}çççuúþ¾wüô}?óŸפZD8ã§ΔR­§=ã@Å%§¯€]ÆoŸð¤(0¾.é(9†uÇßû¹¿Ÿ~³vÆOJ“(:”+ñ·BPñ¶g|–¸ãîËM˜O{Ç+¥ûúéû{Üöm<åÏ×S~¾Ÿ¢·é‹²T‰šÔaŸöŽ1}^·Ü¯JDöŽ÷/Š×ÝŸŽ-ŸöŽ‚w_w™Ö¤P€"&!PqÚ;Þ…´{^?ývâm=^í&ŸñÓ¯ÀKÎçkΔÍêO{ǧçØy>UuÊm?ÆËü|½Ìçºã»LÃ÷¡»8o{Ç8y^?}²ÉOëñŒÒ?ýì˜îw_±Îô´(ÓŒŸ¾R õ½=ãNóßq÷ÃmOÕNëÛ뿎ß~} 9š/în%Ÿ~Püclœ'j)d”·Öã>—îøéwü´§MwŽèýÏøéŸÏWý pwŠï—k;í?ʯgü*Áº’Óm=~®÷Œßïõö=­[ éÒ\½ã§Ö¿ÇOßë\çžÓåÇ.Á}ZÆŸßcÜý_÷½û{ƒð×wßûæµkTÚ°ÿÆ.ªWQ‰óóŒÓW—YžöŽ÷[‰×ÝÄd>íwªô¾~ú>ÏysΣsΜç~ϱ·sKóáôýüÓñë ˆÌÚØãr´b}ĹrÆÝ×sjómÜ^œŸŸd'œöûÜÏyÆ o9ò|„ÜôІ‹ã+(rmýüýýF÷?OE?áç‰âlj»V‰k„¤l.5”G9ƒî…ÀD»ÍŒÈjõ•Ðp‡—sç{{XÓÿzȗØ;\h¤;^¡7$Ìe€¤„$=¿r|ÁgÜ]E®àû[>Fšã™À؈ð¥Ó©(¡xŒŽ¾U~ÿŠù|ÓWRRdøRÍ4ý£î DHôôƒâü«>¡lFõ³¯QÿzD×øê_Ò(ŒOKÎÏHü¬÷ˆ~æ*V5… 4ŽÈgÐ=Aò‹D3¤‰B†! ôü[$Ô˜= Ôò?* Òê×ôOYjÊ÷_nóð?— ç<DV–GøùÛùßùü«)6z„Ÿ‡âÿüˈî;úqêSýo ¨°·ø9´­î¿ »{„Ÿ#^8Ÿ‹ ›] O9Úr^wüôÑ”l΂¼ÔA.¥ævJ036§vÿe¨ë¶xÌ.Ç·¦b-íº×Ðò? ƒŠÈÜA÷BGe߯ƒAoi‚ ¯ Y}匟þFIâ¶g|9=|ÆoŸâž M1$Â-< ”¡Û3^ ÜñÓïYbnÏxD‘´Cxüôû›°Èûï¯wÆï×õ×Ds"³F‡wûÓ,‡ë ÑQ³|ƺ¦‡è„ÌX^·ÑXç”3Dgáö? c&·0¤ ý¼þî2åç,’‡ü³Ž¿5?KÌ×#ççn>…*[oDºáéiϸt»ÊוÌ=ýóú»”î(w–¨*ñ‰%…lÎÈm=ÁÞ쿎ȬËÓ28ý˜güôÅGÍëiÏøùžgüô]úò¶ Á꿼Ïo˜OçÏÏmj†ÈŸñÓ—Dûûøégòö÷2Nÿ—ËZ@ºëæŒfF=|º*}ù4õ®u†Ï&ÆžöìaÚ¢<¨D‡çÔÙT;=ï-wÏp¡_φ ˜èZ¤Tôo7€ü+/ðsË_YÈß*.Zsâõ°ðáz\q¸·×o?}¶Ý'¿¾ÏŒ`?ãá?”ž”Ï»ãîûúør\þ”9Ä¿Œà%zÈ÷£ÊCâ4ë ÞPÆçûWÊ÷+ÄnÞHãRާÕp{Ƶ”ÛÛ¸ûØëü{ƾ·™y^áç€'ÿËÈK~°¾ˆv÷Ø®Dk-FÚ”)Ó-`ÓGÕ#ÖÓ?¯ŸñÓ%Þ"Í/âháÑxPäœvÝ[ó¦lóŒPçÊgнóI§½Ã‰éw_vßzïsKööú“ƒYã󺡗rüéŸ×Ïøé[¿è¶w| ü¼îþ2Ýì´w|ê¨{^w5‚G™ñåêïçuúª)óë˳=šä…áä“Î*|VŸ#•.#Q´8Ñ*Ù;îþ"¹r†ÝUñ¯Ž_·©–ŽæÊý×C("ž1uB…rù_‰,ë!~Ö—ö¿KžðûŸ12›`„Ÿ‡haí+·ª „Æm<8P)õ {ï׆ʗÅyÒí¨ÚöÓp ô»u“ À°RÀm=.rßÛë§ßê½íÏ>ÝÏëîwƒO«ê0™(eßOëq)|1'3"æ?Š#‰ÁÓã›xð~/_ïyßs=çó-[®ªñ'’¹Ë[ëñáù(o<ýóú?ý}å¶güÌÙ3~úžÓªcЉj÷©’<ͲÞáÓÍ( ßaºŸÓéõ7?¯ž.hœÛzfþò[çö( »žñÓ—÷÷v{o~×ói§Ï§ÝoR¨’€~ñ|Ú3.VK{ÆO?PJí­=ãsYû×ã§¿Ì<9íçíõÓß.-r[Æ¥Ÿ>E|ÒsÝßo=ÓÃÅ>Óý´Ï8„Žçu÷½?gÓÕ3îüÙ>}LSŠíÿ¬½’~®ŠH1ÂÏ1qI¨_=¬ÿ!oI}ýøöº~䯾½rÔþBX¾+¨Æˆ~Ö2 õÆþ5þD:°Ò¬Ž­ˆã›Œ„§º:Pož® ‘c>­Ç#S•î(½ÈTMt·ŒJs0?£§ïKºíïGþÉãÿÖ¿¿¿öçß¹/\Ô½¶û}Š,q¿·¿ì¹´óKÜ‘ï9•QÛd?*´GO7åá§O5;î>kë?ýZèÛÏ—îOuÎÛöŒ¶×;~úÎÝßöŽ'å„Å$ :šNãA!áÓ¤>Áý÷ Žl^¡#ÕÛd\œ÷¿õõƒéúàê5À[±«/lÉHÄ®©¾~J_c9g£Á·>?ö¯~ü³„äÎòºáL/Oo^Ü[1âHßUIÈ~Wã1Õ’¼/¹§ò!·ñ ¸ ]~z¼æA÷V|… ¼^^¾R‚ ôîiÏxQpÇo¿B¿íVº÷/ïsÆÅª\6¾Òۜƻ~ZK¼´>ã§?”_<ÍÍÈéœWÝ•bœ·»ço=]c/ÎðéÚÈ¿Ãî&˜gØ]ñùÓ>]n¹¶ˆmTݽ·g<{?»Wæþ½BÆeÓ®þö¾´g\ˆ–·×O_>©E]ÔÞñ"cóyÝ}q@þJœû¼þëøéâÏwüôc“0±ŠÖãª%6žñÓ”Rïo­Ç=—îøé‡‘ñiÏø™ƒz Ï3‘¤Ý”ýŒ¹£ÚfgÌŽ«Í˜;âIœ1wXxˆ fqn›è6IÎÜ3î¾*¨Î;~ûaX6ëF,+Nœq÷¥þáE·wMö Ä4hà/lüŽŸþP õŽŸ¾å îøé_ÁâÓGîW!ã3^¬#ðÓ/Vÿ½íŸÓ¥<~ú:¡ëÓ¾Ÿûy^çþqßîøéwtÜžq÷;'×3^¯b¾®ûŒŸ~µQ{ÆO¿€®@vÅt ·áÛ¾ ¿½Ûý«Ïw(yCôÏ ¿xüô“ÓçïO?™~ÇÝOª×ó Óå¢îVë7¿~ÆO?"7ï¿úg‹>Sóì$ÞÊïºKÖK°™QÑ)Qëz9·õ0eŠï¨»“,Å{ëDrv]B Ÿþ2*âÜ?Äu÷\—ïÒ÷eKf“›uÎ!pƒç]ùƒsäøñ©t–íYÖÞÖ´©šT)³ö9»ã`kB –J×eÉvKÌ•§½ãèæ<¯»ß·¸nÇrvä—÷t¢ckR\I²¿s;³ËƒîÅ éty[ Êàgнœ(©{Ú;Ì ð¼ìþ¯|Æ•TÏøé¿Ý8‘¶ !ê`ާ=ãJâÖ·q÷ïõ¼}^1ŒM¿Û„~–Èv|îÉqÇO[¸ã Ôiè¿;ýs½ç:îøéÏñÓ?ï3"Aò¯÷žöOÈÅß×ÝÈ­IŒà¾ã¥ø´,ÏéYI‘ñøy?ÿ½\ÚLxYþu†tš»=ã"SvÆvzëûõ3~úÃnæ½À<÷znëñ†8Î?}•‚ÏO{ÆØÏw_uÙê[ë<˹žÓžñæüÌw¿šàæïsî“\úô>žŒ¦'ÔxÇç ="ð1î½p€`nB?ÄëYB‘·™'.*`ƒîuG¢NëaÞôŽºë ¸ªÊýINRÒQú—‘¸ÐKhþe ‹Üû½l®é|Õ³tÎRº·à­ï]4Òm2Œ |Á0žñ§_…Ìòøé‡W·ßÞÇ}Äs£}oôíuõ¥_ZžñÓ®èpÆOÿ×)tÆÏ<ãwJöËÕÒ8¯Ÿ©u–üÙóÏÖp¶È»¥±•MÔ¸“}åã'ž&— ™3èÿÖÔôeIlºçüäiŽ¢« uWê¡zu[Œ£;~úÅ5‚nëñ8ßs}ÆO¿™}[w_Ö?ýîå­Õø@°óŽŸþØÖëxk+pmeÎøéÏ#{kÛ›zÈø¥jª{þ•1#ËC#ü\ä–Þ¥K¬Àâ^—$ÿ§;5ÀÏ¿þu”ø>¢ÿCqþ=9ƒøMðó’ú†ÿÕÈŽd@?®¸ÿ¢ÉgÄhfzoäá‹ qÝË¢E¼5»¸ßËdºt;î¿ à¯ôcí¾?ËM)[ø¹¡¿Ë¿颃0ÂÏC‘þe¤Kå ¹cŒ’Pq¾Úa ­â±úy#ÓßèßÏúýO^¿™¬h!©2Ýwðôˆ“žAzIµ½Î =UpDŸjW׆îI|07g4’áß¿äÑÓã Üx0ˆ1e©J缤1w–è üë!_cîœ+/T‹¦Âðm*Ë‚fÜÝs¹>]E_Ë#ÊL—³rN‡Ë=gZUq4𢵧ñèKÖeßawãÕ×üøåú£–!}Íó«%;‹d™aíCÇÜwй&‰whV‹I˜Ó=]µê[—L&>MJ¥vW‰†þ> T4߫װû!œ4ßYQíDâLIÝ!þ)tþýrjágÔ“î¿Ù´:þ½Kl2Ó»ôó§ÌÿÂDKÕ9èµO'ÅÎOÃ`Þü>ƒî!:wVÁGT€ùïíÁßiÝÖã½›oóïô#jþïiÏøÓxÇO?œ©2žÖã5™kæñÓ— ³øfnïx·ÈÉyýôžp]¸íóý|Ýwüô-°zæõYwÍ¢¼w¾‘^ $ßñÛÏÊ:ÜñÓ?ëêüý}ï*°&‘Æ€g`§íg”nD÷뺣·ËÖp†oßqÞ2pE, ‘”3èïÅ3 ˜,Ϧö¹™™ÒPÛF¦mïÛ0˜‰yÐ=ñŒ;-ÃŒ8ðç$ˆþ¶VX„‚n;ÈKË<9£§»áÑžÖÃÕá”kzëgÁôïøé[ Uz+±”âqÒmŸñ¢ÄÊóúé³µÞÖ–Ÿà®‘};í÷W>Ã§Ë ¹ÏB:YE2²êTžñÓ´=­&èz~ï´g¼c‡7)°0j¦Xkï¸$OŒ*É$ñTSÝ•4uoíoZýÏøéÓ'ϸû–úŠ— åçK™ tÇOÿüý¿}¿O{;ë¸öwß7᎟þ½yÕŒ KHÉógüô—ºã§_r:SæL­8èŒßþ/¿û'ïU8­‹ž:Å>­Ç»¿ã§ßŒÎ>íòQž×Ý›ÒjÏøÒëç5ž¥æ•èUobÏT¡ʳ”§aPE ï {Y! ÿ«¡*:ÇÜ‘ª÷¸¥óqÝ“þÖz¸J0⎺+UÔü´ Ëx^u70™éüë¡Ð¨gŒŽô{Ûiî Ð÷5záñZ¡ÖæÙ?ϰ»üí]ćC3Ì:}odzöo{Ƨ٨güô¡‘>í_öŒ¿÷ÓÛûø²Îeø×U⹌¶A0ö °Æ®³µ?íõ¦<ã§ïÐÃÓ2Þ6¶Û?}còôT{Çq÷ž×ÝŒapèOO+¿¾Ï¯ÔÇÑÆCƒ «v—V|ÆÝ?_ÿŒŸþùšgüô#Nüý•îøé[÷ᆵ?·-×ãp{Ç¥Ù4Ÿ×O¿¹Äßiϸj‚µgÜýª2œë¶w\éPÑ2óܯagÜýî÷ï?çÛzïraQœáÓ•A_žawÏÒðð])Ÿç[ÜŠJ +ç§_‘¼çÞéû¼;¿wßǘ‹Ûžñ$y¸gÜýéã÷´wÜçÎ}ýœKÃIýtZ ™ˆrºžÖãžHFœñÓ?·þ¶gÜè¾ÿy¿cÔñÓ÷fu7~vu‘YûëÆç°>‡ÿ±x|èS‡%¬Ø(\ßýºm ïçÇ,%dþeD¹í3¢Ÿ›ê–ûßöÕÖç_i¤uñÌÑÏM¤#tøL¶“³•ü¯‡TKlŸ1:$¸½ˆ­ïÚó‘újZ«ƒ+{ÆÔÛFµ{ÐÝàŸäñöž§œÝZîøí×öñû·>ÅÛÛßþ÷¤oÃî61šÞGÿ?öÞsIržÇÖý]S¢“¹ÿ;…e*»ß³g¶óMEtr=Ì”E‘r²›i§'ü1ÖÜ(åD–•9Þ”ã{«‡dÄ™ßc£”áÖW?åáÇ;áÊÅQ L8—JËöQô1×Áȃ냣ƒ‡ø¡Ç Ö:ÉêÊhleÁs׎. 2‹;/iô‹0ª—€ÙÑÀ¼º¿áÕòc"Ô7ú~Ò€á"üŒ7"Þ`Ü]¬a]–º p ‘Çüƒ‡Ã%Û߸£Væä Â’Ý©«…¯+@KX“oøÐ\SÈfAh±è`|q2ÖÉ7fÌ®%Ý©A~r¾ÔW¹ô©‰Smo=å lòƒí¥,O=”Ýã‚;!'B=ê ‰§è$O,¡’ÏF%;ã@Œs"᥎5­Sš³Œ1Nd2üdµmͤ)uŽÑ±ìíÈBÒí§Û’¼Ìf|—ö¹)®sµì$žz½Ê#às!šžòÏ.£k„Ù…ìmDÌ$). Gtê䋸MŸG¼êÛšßô Jn}³Ç®¬œÉ‘GÄÆ!_-K-ã… ~‹ ¯mšŒüÚ,¸¶aî…ó6ϯL .tH=/¦_p;@:tÛä·Þ'].i§e“³7ö•–ºñ˜÷ÖËnû÷Ú¯ü¿7:g³öv“þ¾i“3ÅD•K£©w–MÎwó*§žh?i_cº[yè΀úë^µ½ÞskWæY™ u½¨Rqe¤Êg(^=žñÙûmžZë‡ïïÌóŸå橹<\£®“×u4êºú¸–óP_uŒnrÇâq‰L ˜ŸBØ’ýÆ–‹1hÆ– $äLä ¶|ÙR‹ ‡Ñ“.8쌻®4`Þ-²¼3qG¶Iç <81þ<ÒÁ1 Ù>R±HìftV?›‰ÎØóƒQhc™LKP‘’…Qp Z‘6r*w™ZÌ…Ö3>ÿT‰Ë[ÈϘÒ;7ŸçW¿rAøÌ,´6› jP@„É5j[ôPv½ã’êUݪ×ÃÀ‰•1Q¢Á'»\d×Ôh0 9‰É=p¹¢À\“# Xc¾N1©ÖùZS–­7ëÄ«Føk1eø’Ù˜"#õÀÝܯT‘eôÙa(¦‘'8%7FÂkSD•VÔ«$MÉ Bí„enÁþ#¹uÜPx)÷÷G×l¬3_0†Í"ÌÍsÐWÔÖür³IÜ:×#›œë…¿÷Á1S†Þ|g·5‡3ßVnÈ„§¬9¡[qi¾Ùe½]á\¶æÚŸ‰|ìi‹~ hÆL4!Å­uX¤-þYNÍ.ëˆ(œsmœÖYHšKòúpOrD~ÔVHÆ£qëĈ¶éÖ˜¥®×B¬[ãðXqê<ÇÉG=ñÔÜuhà‘gžF£õ7FK%U˜”’]{ìÀç¤K˜Ð¾1WqëÉî‹äÖ'»V“[£þÛ–çåkÚÓ´âx®õâÖ˜Iï)#zõÇgº8Ï6ŽEcIeOË‹©³}à‹*­ùäˆurëÜ&Ys­#¹µ7‹‡Ú[å\n¢)º'Œ-uÖtòîC‡a&›ÜL³§›Q¨rÒg¬P_âgô7Šà3:# Ø=Ù00K"ñ Ï]3Š0¹m ëEÝSºáNæP@çb¼ÅuMŽê¥1ír·0–ŒæÊ9ÒLÌø^„|aó÷'/»°Çxa$lÖ6]<ê´;ÑobkÞU­¥5GêΣ¸5úS®²É“žd¹4¦eÚ¬9úšZqëKi¾^¶Áà ׉­ùÅÁæâç–t„ç^SH%}Ã3鿦gû$GznÜAMU:5¼ÏF+‹7Œã嘳ÿæJn=†ÚC1®woåÑ'c{²ÉãƒoÁ–‡u–‹§ÖòSk=!µÖãaÇFqêy[®uŒb¨ ®Ïñæ}Ž÷ÅØŽÄºøûbÄÅy¦ÍïùâÔχ,\Êi­›ºrU¤»¬»#×OöÖŠK³oxçÔA…Ç¡ùôã’—CòÔïË*++wȨƒ+‰tÐÛµcTÄÛ1·öµ}1œÌ¤\Ññtø¯ÐÀDb ÎÙ2q{Dàö[!vpšQ ãUc¯mæúùã„ô™99ºjj±KËC„ç0£ ’˜ç°c+7Շ͗ ®ÏKƒº™ó|˜sHч£xWa_9;ëntŸ³°/áNcaÉmÙ‹Iãi_…bŠú×U°õ£´T¶·+8fŸ4ï˜øýþcñæèœEœ¸4'hØØ©æ«™SO3Ó áéŽ6¨YNõð/=½=½h1¡#âmßË1gÛú,.·†#öZU} ÷J›Lý0á4 å⩵üZ.׃¾¥sÛNi<1ç¶Ò°¨I7ާÛÑyþtz9›FQʘßa§” ¡‰¾lò:y]¡>oÈ"Ñ7.íó’<õûüÞ:½Ç¥çÈ[cq;ÝÖôTªÝ·öe„a¨ápIN 2ö²/.ïa4Ò¤1ˆøOÝÑèËË^·}ô kŽÁÀ£¸µ–“6ùñÅ9’]nÍíˆÎ!VªÚíGqi’‰§†QßöSÇÁË»õ⢯uœÄS+Èv?žk¯Mñ0jtç“@Þ3 U¬dªDTÕ²OŸY“°Šþf^V^Cw]iH›ËTÁƒnóæÈ`Gâ/Cª§+Áe?ò Ì&—¦Òƒî É¥s' '¡Ûó§at HlÍÑ_7Š[7: ¦ÇL„³‰1‹˜ôÍ™k’[£gs”õöj;“[Of-Jn­åú༊)ÕMgðÇŽ50¤×fÅ5™Vrëèn‹‰CÞ¬¾ 0ÙÕYÜúãû©=y—o _ìº"±<çZÓ@Ô¥ÎoqkO•5_ˆ(ŠuMu`ˆàdçZZs<½žK{}¶çÐA•sèàÖú§ºžèŠ×^ñÒ5Å­µýÉ­¹^n]¾Í©½¸Ï†+ʃîêÁA©鈓QuçªâMÊ;ß“àr}ŸùÎÒ]È0GË"\3:ïáZNkžs›KÇ|é‘~¦,Ÿí,Ga¨Ñ]i.X²¸Ò–ÂE/†aærvÞéŽilsyqŶä©åX`k΃™” Ý’wZpø‰´lp1°œPE¿ôºÂ^mÛVî3Ë×Ç>¬üæ†?fž+Ïny\uò#¥Ƴ~^ãVò¹Ìi#3ZI€ÎãÄ6 òÓs7Ú>_¼ÏÏaÏШ{0LEžOYã¥WUJRÜrPÝ~,‰:îܱ'૪°ä¶ìÅe­U«H+Ì„¡I%ïpY¶¹™OöEˆ#Tä®…Xã9O…_àñÞõÎüÖx¼£¸42# ©*.Í¡­m9ÒLFsn\>©Þ\øì6ÒÔþ)s¨ {9÷b¨©.&Qñï¡´ìóÔül×Ê%•XÊjô<cjµîÜñÎ'Vqi­zpŠoÄ3{Ù¡¿B“·˜Q ×éZf¼»_ éi[{•JzNœmnœHeòEÃØ:Æ-ÑŽ°MŽ;0ÞË drZݯ0†ˆ®ýyÔ±²;;Ÿp°«¿yôößœ’ÍÖÜ[ežúbž;Ûâ^ìccýÜ19ñÉ$Z¢)½Ëúr‰oRê@œ_ûa*y¯ƒÉ%èPæQÂ|ºn;•ë¹ãs+ §ò±si&*¹‹K£ÚGºèíEªëí£mË‘þã²6WºÜº¬¥u[Ô…‡“¹šQèÌ“IèèR§òt"£Ð=ÈuLS/¶Ý¾í»àãwcmg;íaÝøÔíÆ{j4é¹Þò$ŒU—® _FMý­‘ä’OæüKtsâ ~îèÄà_’k©Æ Ï¿Åç b„ñ—$Ö7Lެ1› ÙÉ÷ýC^hÍwÌ@Þ´³®”ÎÆg³w)5<ªŸ«,RÈ.G<¼L")°äÀµt•ŽÎÞ­”Ò.T^eíÕu&¤º8üj¥©LRÞŒ×5µÔVŸ˜ËÔêˆJ,9G_”wÞ¾^½xøœá Ì\úPæBYï·¿·Ž¥·@YøoŽâÒ¨³bTÜAÍñ0—†ÏüÍý¶F§ïâÔóúXŽô¼“|×£œÈs¿á‹·që¨õðv.níõ4…Wúxçqßõ³8t1òR÷µ'l¹LÏX Ü“¼ë£Àyãò3¦ ØBOH^¡'>CyO-?¦Ÿ½þÁgÇÛúkv2ÖŸP‚aügÔ˜t‚˜âçù‡ÙGã¯Ñd–P4ºÄsºã‹Ù!&È ß/S¥å3¶Œ´‡#)ÞNŸÄ–ÌÏb³Q:ug)}´Ñ$³ùÙÈ“iÕ¢¦’Ä|‹ ¥ üK„)@Í$8ÙŠ`xAUU»5ñM ›pî58·Ú s)©dôzÏ4†—=’¾gªÆÎEA)]3†Pºfý·‘æü`B¦ø·‹³ù…«¡Ê¥£O㕲æ'“M%·Àé”eòmfŽã²æãÒGÛéõëZOžzñMƒ‹ÉÕ{µ::¼:O#B÷ÂIhÕȬZ²æQeNÆ®£:‘vyqëÕTÞ'¼æÁÔ¾¶ÆØ•QÅÖñ §YóèKzfqkDo¯²æ§¢ˆÌ­Ñ {ÔÞNöçQ±M~ѵ%Ë/¹Å|ì–¿wÊÛ\ÚGÅ÷)oBÝËuþ‡Ú–—ÞOlÅ×T[õÚºî<ôi“Ë7Ôñ¦¨ÝèlÑÞÚ‡µ[ú^rãÀŦæËý¥”²µ³Aög ö³¶ ¹ÇnMê³8Õ#^ÞŽþYn­„ziÅ›¾Ï7ÜcÒòÄ/n}ÀbêH$ù½™!ü¦ÓZYsN‰ñ²Áµ½É­µŸ½Ë?iðIþBlÎIµ·H\é~:ÄMÖ<.nŒ3ˆ[/…ÀÙ^JØø¹ñˆš #<9ê†>Ï@gb¬ t¦†‡$bPhë ê êç?Ç.R*ð¶Bæ•Iš²Ù›hþÜϸ÷âKn1:¬ç»éÃ0QÓÀå\ÈGà2c¼&Ê‘GY^ÊŠ?Jèhn‡åœeÍ‘[ 'Ÿ3µË‹K;¡| TC_>§iÍ1'E/n½Í «åú{ø­ÂÑ¢Çl"ÏÆ­/L¼`žºu¥³·nŽQÓúp\Rƒ`,ÆÖ<\®§¸un—¬yܓѕdžšÛ›ëÍýŸK.t$;—öDðæÛÄð8O®sT×äuaníë©}Ôuª«Þ~UçQnMóÜýª(4>ýªLqo~U·fx\‡ >+VœžV[ä¹”‘çŠ<¿7¿*Š0õôà¶ðQ—§›O§xVYº¬ÿËízµ2 ¨êQ=¶ÇxÓûYíÈo>š¾×§š}W6CåÝ÷ŸOºàõÍæ Û໢÷‘3‹) méK-F1áÆ C¸F'ÓÖÛ€qµBÝ;m¸]Ñr䘒¾…¥ÃñÁĦßá¶yÇIÕSà{³æOt"i„þ{×Çùùéï?UýùXY8Êà5óëá ÇÁî¿BáÆ—%³®ÚâÝ$!Õ?¼Ñ0ÓwÚíf+•Œ^WÚn/Ýï»è.gYcím•Ä$˜ô\6 0KÛJ\qüQCøÃ—(NFð=ï².ˆJèÞÜŸŽ\›NOTxñ»3¹5} ŸäÖ¾¸rÅÞhob4¾ñÊ;Â++ªXÄz6ë‚p’jc+I«9ï²Up~à .ë«—uAÌÙó Q•À€BÙ,ˆ—¥ï뮃™G7wN%ÛÞrò¢aí40‡xBªØÿ RÅ﯂T:‰¼ï]' âBŽNt[6½œj[qN—å—ß¾iu”›[O:§M~ÔKöºJ«ÒÉõùûZgéèx3c#‰õmL1óâLl‰Dfi’2n=KÆþ(˜QVõ&¢D“oÞ¬TŸàóVý{Þ¼Ïxó®ïÃm$ŽH^epóí||_OÙ,wè‹©7¿¯kÓþ‚ \+ä‰ñ¯!rôb_dz¸uÔñó*.Í9¤zrë\A Zànò&üQÀ?õ¥ùuÕ¹+"¬8zñÒN›<Æ{Öªrk¸^eÍ‘ý·^N²¬¹d'·FgÄúèŒXu¡Øî<ö{/Sò¹_þÞÉnÊäÒ>.uaãÖeŸ7ºúå³BH+nGóLòq+™ñ½õF\uÙúlé–ôISÕXW±.Z5\>›,hß)½œòÚ̕ƴr’–lÊ·#;0ï{fýkl‹jdÎêÓX%µMicè.˜GDïƒSï.¯Y2ÌS¯÷,Šù\Žøèôg³ÍïGKù=Ä­ÑuÕï¬4÷l\ó²ìß·æ{K­_úd¤,ßÁ5=ùÑ}½84N}¿ôÜ$É­•ç*|Äо˜SÅëMk~14¹õ¶]I)Þ‘†Bß÷~!Þc[µ·Ãßóñi±+.ÝÔ»ŸÜ½ý7®äw9é2äÀ÷³,icGW…©ttn":^¶8—]åÒ^÷…à¸-æšñWˆœfñ²~6¹IøJ\PüÛäWöˆIhbü)ûc H1‚àÑYV¼º—%½—žCÞõÞ•ï‚7ú›†rá¥)ïiÑ”ï;^_‹ae¦”ZnRÈ\«puŠÝU‰€»Gp©Gp¾´ïöä/]µ‚»°8¾f*É´7­~,ÝÚzU-Öô’ÛÊ”‰Ë+]̉nŠÕ|Á˜êòQšŸFV¤.Š[F69åR*¤%¾Ë’j­˜eGˆÄ¿µ#„•=»=N¶îàzÎnGAP#CÎø¹o Âgú5¸#$û>þÖ¢ÇË•fËçêݱј¢þ>ž¤À93¢X˜mAIb Õ„ŸéµÅ¿ 1š>†÷Vþx¾.ëøxaz7þM°QÓ ¯U_œ 5ɾ² šàs‰øÌC@ò:BûañŠ8æ%#–êgµÜ:lèsàçæþ±È2rf‘zàÊxiJÁÙ¨ !š×-©%ö¥ÌÊQÓ½Ôámð}ŒèV¾?ÄKçu¥!ŒÉP ƒqi±“135©%zÏçQ69“uT¹4_eÍ—fˆ1䢗vùÃdkíâè}Í5䤓5Æ߸u.W693ÍT¹µÖÿsb˜{ óÓ‡Áx^N¼žÇÓÐJe‚TN¶òº4N/&Ê¥5o¸ùÏâÖðS{Êʦ+sÒË¢ëcÉÏMÜ::×YÖürE/n ®c³Î¡·Øú7·Ž>uä‚“M~ò©—åÔñÞƒÌB²ÅäBÈK&/•‰±‰âÖ:¾y©ÙKKÇžŽx»84ˆ„´ÄmpbtQÉÆ+x·À':!£×>‘kµüŸÓL“<¦½™dÌ…”ÑŒÃ¤Ì²ÆØú*ÕÎLM^ÄÎg¯Õ‹4¶Æé<‹[wFïų.Y»|ãÈ£ª»Ò<ïRÝ}yÉùÐë’­SÍS;þÒ6nMßö¦WtÇœtˆÒôóÅ¥•`+yjÙü=ýòwiÅ#RygÅ­ãæFÊ)[ñƒÉˆK{?´ýÉ¥õýö‰¶pÄœª’AèR"’ Óö­¶Íõ¥ñŸo¥cU‹‡=¯¨½LU—±öÒC"Ÿþ‰°%—ïzŒ¥Í1(Få†GÁÏ.Ǩ zênöxô»$Ú;] >yyÀYŽ/'Sœ[ûÇæÖèÛ¸5ÒWl˱ƋÒª9™‹\o6Í“K#+ø¹qiÎT¼sé8ì}ÛYÌf‘›%+‡ôÞ)dçäÉ:"OÁ[­Ÿ'ü¡Iøyld˜äz½}¼Jóºü¸ mqíé,Äw££ ’xÝüe2©ŸÂ÷öEÞü¾ÄÉþo1üÒ,[d ¹3ôWˆ¯"b˜ß†“Ÿà=ýr#7GÆ4*™ë¨•Ì=9ù^×üx·Û‡œõ~‡hׯ©ñ^~¶ZÍÏ ÷%GÒ‹éTsé;ßUls-\j:½XÃ)àN›¼)bÎ[ÃÍ;¼cèh’âHzã¥ãÊòKðñ”Žö—^jjšKÓkn›GíÍônÊ}ä¾^E£Ú-©¤ÏÓäá‘u±¡²Ò iÅ {û‹whD;‰I\ïæüKtb°_Lâç"ü>ÓÎÎØiB©;@?†¬1ß»žSobþÖ–äÝ'j‰~ꢒ 9K’J¾ï CÎEî2*],æy{ù~¶ä)e(4ŸœgS)Ì¥1 ñu·F(뙼ôœLìÁ'ÒÈ'Ûß3ÖõíûÒØFÄ7 9¼Sãi׎âÒžŸµ8õÄ([­×zb¶¡mù»F/…~ïýÂHO­'õRRQsk¯§9O£[syæ»~äJOhÇ*OÍååyòyŒfý³׬‰É­çÍqDš¤‹=.•rñ@,P–~PKÝÚ¢¾ÑyÛ×^U¯ˆs»r"‡ÕÉYUÎXz®èò³uò¡|¾”…Iövñ+&¹óoÊZŠ6UËf‡H1³†¨äÙ¦ü^˜òñجùy¿Ë7Í*Á¿k¨h?–.Škþç&¦ì~Ýñjìé§ÆëZíæKÇ‘Zx騸[¢–sìTJÑ~,ÿÖ\w “Ý9zx´Ö*oN°C 6Í™âµÊ­’s”5×;èRöÚKâa>äÒèèõ}kæÅªï[cPòÙù%'à;ƒ´È¥1t'O=øÂÝ>™ÄqÔ³C‚¢w²p@U’aŽ<>¾Y}sùæzÁÒEž§.VÕyª1£X}øƒDõpÂMI§ބŸ'6ìbŽ$Ì=˜ÏÕ˜ÞwˆU–žj”2ڙϰÁ &Èxl›|ªß¯\–.6N¹8æ“Ëhp‹1•Âäm6†ˆþª-æ6btbøýGúP¿préÎNÄä»ödó1ô·D-ç½S)¤åXÞë0ðsÔ`¦±åAÚÄr°}ØšGT=£#¦_ºÕñŸŠ‘õ:Ã¥©m˜²Áe©(e4‰çF)rL¥ŒÎµmu’Ë.iÂÒC!iµU:0“ÓÌ1}Õ@´†ÝS€ÚUy4Gqk¼ÍU¯kxaçeò¾ufŽ£¸ô@òU\š¯×Æ©13zHÄ­Õ9kžyækù©‡^CÍwXÍ£zJ0 Çb'¸¹tv c³§ŽkGqkÿÞgÇgKåUÍ`–6b’Iè6$£ð &ÑèmfF×3Vhd¬¬æóuÔI:¶“9VÞÌ®\ÿ fQpå•/¦¬9ìêo¾Ø™Ä ×^Ò.7·¾ûn&"N>¥¥æ+”²w»h:àcîÒ•X27JýÍyÜc²‘㸱DŠÅ¯­=HÏç;ãϼ§ŠôWè˜ô…;”ÍüøRò…%wü÷o…âÒ.‘@å}ã~ŠÎs¯Ÿ?NȤ[>LjTÓ^,wúûÚw‰„±žpÐøy±ŠþäèCä¨ÙYTéø¯¹a꟱k»¹þ¶À|b™…™@á|é}/ÀgYs$ýjÅ¥Ùg~¦Íï!½gÿXíúcùÂ0óM1)ADþ$•Œ±˜ûð¢¬OVdÉ­½‹x?˜fæû†‹Â7<ºÅ¥ã`Þ½°´ÎYaêÜÁ<ÚsLv„T¸šgþRÿ¥FWoÙÏùÁ"œ}8¤+­p¤¼ùY¯©dx#nTò;¼aëïáï­¡.|„y=8W2ºµ¬/=༊ìjKí•×÷ÈñýÞß¿Çdè|zÛë/Ë‘£ì'·­íÅÀR¡ŒmµÒp+ÛîH{wbÞ\\8->¢)yè|(Þ›´r]Ú”ëV.³NÅuÖ9'2÷„øÃœ1É¥ás€~òçÍ1ʵª\š±Ìž—8,R?Å_ÓÃìÖD²rìS©4ð<ÞkºŠ[ÇE…™:Ì¥Îx—GØ«%–ŒÙJFs0Ý„“{~q§ñé¸9[:¡ÔäTC6„‹©.fÕK‰k%©e<âËFrFÿ5¢Ï¦J$<Ð|=ÀSï¨ëÆ69ÖU.waëeÍ­üO­m§¾A&Áïé ¹›Çkw-ãÙ×·-·3IY}"}~ISv° Sb´àiÆ–hÈ]Ì÷XÞµ¼OK¾¿,éE!Š.o]Þ³fRpøK(…$2 ¥²‚÷2œë‹YúïÓÐêbE'(¥ BPJç¾Îv7sÕ¥zUqz¸…S˜ >ó=†„Ÿ#å0Áç½æågr?:òI2èãËg£ªaÖÔ|H¹Bç’b¢/Dç…5ÿÒÿä½!ƒ¬Ÿuè$'Z ‰Oߨèõ}`4çM(¸R!mÖú=رûuiAúŒä×"üJ&üƒ0_½9—I\MÑ|§¼±ñ7š'ú¬" ›<>׎Ømž‰(.D Apɨr7†¶þmþB‚œ5õ7† çë‡$?{¡\âfæLï^V³µû.­éÜ“§Žvú³}ÏËWyZñZÂóPÖü¡ë’N‘ÏÍÀ@¸ 3æJM¼XØæÆÉ¬,²85÷í¢«6¨¿“lf »ò‚TŸ«Ž Eš6‚R[ª%,¦P‡ãâ4”ÒæôÃΔ}SÓÚ˜FΠg&¥Š—{4qhâ%ìþü=!/œ~\Ùè`„Õl|iÍãÙK¼Vrh—oPÛÅÛyÖÅikŽì Wqk/'­¸ÖìÚb˜žR2Š—v>ñÌ+Ðù(4·þYGtTÉ$UN—Jvfý1¶l ѶT’ÜÄ’>»<ðñ*‚¹¹t‚ÊŠÇ æVní•çFˆ£àܸ´¶Šu‡ê‘hdštJý\È$üÌç…>«J畬«|ÑÓÏ5žj,]”¼È}qê0Üœ‹#^Þ/Üÿbp øïé¿D“ed1qÿ`šÉ‹HŸ‘RÔW*¡@ìQWÄxÕ}Aøñ»Ó¹~ þíLA…ÎÐ4‚ñšµ”Z;Õà3ÍPŠFp„Œšœß·™•V*(Å•ÞØÑÑÃÁ!ág-€HB+Ò–ÄP(«ï2dñ‹™L þLi O›¥^g e<e™KÈP*®ÒçLcøp˜KeTÏ?Rn˺¦â ô¥•&`œúŸ [P yöž#­ñÁôÓYœúóeZ<ðøàHô²âhKžÅ­O†a¦5ˆÄx‘4O}¡>à ßͱºÆÒÚ&Gv›^åÖÈÑülÖ\ûéõX»<ù“/¼¨’{TXýtì3¶Ã6ù…w*—>™b#mò½*·æ{³üÔñ(+>èÇ,n¬¦­lríO–K{»ó¸ßùBΑöK/êäõ=òÒ<y=äå§ë)—{!ÍH-[øÐ3ÜÜZ®iÅo>£’[ß|\”Ýø:ÞåÐo³ª•UwóŽr•ÂZ •H̆¼wùuýU—ß…÷6Dô¤È.¿ž]~‡0™ÿ—ýÄ÷v'ŠowäÐ4ê°É¯œ,—žî@Ùä7Þ«\:®À‹sðé;tûuɱ!—QÕöÒk·ðœ=9ÿbc¾“QœÓ’`^1+nŸ!•6…?Ó‘aƒIxÒHô[¿$·ÞF9¢Ôðz‹Ì gB&'!Âgz­ðïÁ—£HÂ˜ÃøØuѰt2ï… 7yºŸC!³¼å¿GÓC•”±$ꌫ°ä¡A]Òæ4ïÄ–èãXi’N¤çÈRÉ þMv|q6–Yq¢2 ‹)yeæÌÎÖ³ aäºJéæ’1lžzؽ wÞ“ó1¶k{pÄv›[G¢¨·îª(Å¥á`ƒžKŸë©Ks닇äÖ>‘‡zH½¾'{J݃J­åé„+9Á ‡› Hጌֲ¾ÐøSŸ¿ýÜ<Å(.åMQlôdV¾A)|ÝŒBKíîøŠ&·¿.(5¾2ãhãÃéÀÞW‹[3–1yê㋳@îü@Ÿ,<Ì­q‰Ì\Üqb=É¥ãáêÙ5øBi­ívû:4è¾4ènk~~qšsi/Ç6¿÷p86¹´÷ÛË9ì‹âí·ööùÁ[]*¶ÄÇ%•œœe§¬°Ždbki¯QW¡.Üè°¼áíM®x…îiñ¦V*†ð[™Fƒ»@‰0Nœ÷…ÇN'£^m»ƒæ‚ß Oš߸ñnf… ´ºFÝPJ»&(¥½ðv3 XÓÔHùäÖ;¹µ«*skUm|ÆéyÇf‹ngW¶¨IóŠðsp –à?¿ºèUW&PLs?M(àÜuÚEçFã‘VÇóñ=Á‡Qú†TÑËÞ‡MSë¨!)ñ*kŽiH¯ÍŠkÒøäÖ§†OÓŠÇ1TÝn}3•JYrŒ^"ã¹5>cæ"[ó‹ïßðà#ïF¶½Úêè·Æ£û¾7{gR®zš¥]nnÆG½ë6¾Ÿpõ²!„GjB©3âcü—h5Îæ &P€4M= laËç°Që›êèîDø¾ ¦î £x0ªþâêÓ•ÂÏ^ÈT3?æþ‰\:ø¬ü$ºxµçùCÃVç/­øð{‰¸5†wzYó¥kÅÜzñ]·¬øÉw¡äÖ‘aå›5¿Ø–ÜúA¬ Þѯáýóu)žZïôºntÏæíèËɺ©in=ø,HžZݶæÖºlŸ&‡†8‹®/À6qd¥¡­PÙ~ï1…–Î󢇆þÍñ¢*Hå^e4ôÍÂ;Á×6¯X\öß ^fѲ±ËðÔÑä Ûæ”ÿfæúµ}ØK"ú÷õ‘*q¿ÖYësm› ?zVqëXÈùlÖ7« R­¶.æ{[ѳ‰‰‹Fš@ÈUrÛÅCS”}3ÍG(”ñsçxe,é\Æ5ɈEÛ!K,¾‡þÞ:|_?$c¿6ªÚ§Ä3ADõ€Z}!Bɨ¾ Øš:‹ æ9ã eŒþé/Ƀ¸C|îì;Á_~ Çç1øåp?cë#K¨8>/¶‹eÄp¦TŸu\B79xÇ6G£ü¸§dIÙKÿõëÎä–xÕî¼çšïÅc½9f ÞÊ;ssã"·Mî$€.—ÎõëÿÎÇó.:#‹ý‹ 5 _-ñÊîWwXñxígq븿bY¶Éµ¾3Ê~^IÅùjWåÒC½‰¶ši(^OèSÛòu\^ßggQYs¹C'·îìðÙmòƒ¡HˆQP¶59-a~p žîÇþ•$ø0Úç‡(ê×—fˆtQ¾ËŽú€qÙ˜£r²ickηé‘Ü­zwÑŠÃí¶Š%cý—Pð®ŽÛŸÿWÙäšT±¾ p£<þ$j˜¡m‘Ztv>È$žžæ­‘ÊBRKï³²â~0ˆö15Yáh³u:È~#rWZÅÆ\Î ¯ói…ÛùYE%FFD71Nª¾‘&]Ö/y½ù—(bD[®VйÿwØÑ¾Çà«­ð‰i»’Jž8ÚÑÇ:ÊbŽ’ƒƒó¶æþuò\²BÛ$Eö‰ÑÔi×hd‰*iDÍ­ovV&—Ž±Ì¨ÿÍ­1ÆÙÕ^Ûr´žäÖÜÉ䩵3ê|Ík~;ÅózŸñc»¨y«ô§Wú«I‹>Ë^pH0”ºë(s"ží}MË%píŒè79Åçfj¼xzJ <4=6Y0w@[—Ûsš½jâý{ Mˆò³e”z¢©j^9 z|¹š÷•žåçÅÍëWWZÖ¬B.ŒÍ+A£àÂ…rQ\ˆ4jH±rIâ³Bè¢'Z_ƒÆG=Aã§ñ‰O›ÇHôT@²Ï"z,8|Ÿh¶ÜH­‰³óh õ—hqÖ2‰ÅÐÒÑLDœè”«*úÅeIö!ÈÍ nx¾ð/\"ÐcždW}“¥¢Hz«µå74Q Æª¸ý„›`Ka1¸l2A{4‚§p1„B ˜ÿplî_§þ@#=?FÄ)[·4 ?óëüˆßÄUŠx2øh2Á‡7« •Ï$ Â]}J©t2õó¨Òðš!÷9@)mK8¶ßló©M;Ÿ„R'¯WA©‰»Ñ‡]ÇT?”â¢uˆã`èÛººðvØ^—©:î§…ï+äÑìLk¤¬1ÕVÚäÎ4îrép±ÓL*°Gz+‡F^¦QvãH(·•sª f$K»sLb°•C3ë’§3vñ€£>ò²”‰>ÌÅ0ZB©Hä5çf†z.ªúf†Ô´;?Æ»üà°S$#{.åy<ðaÛ§¿íÁÆùÐË.¹õ©'HYðH2{oåÖ膙›GðÆ­‘º½,ŸÚ:ÜæÖ:Mºu™v†©¿j„¬$N:§å£ÅUŸj}%ÿĬ)ŽgYá¸p4D)cæî6ß-b¨óauäØäP2²ŽÉ&öª\\:âm¯äCW C˜çùâøž¹uøÏ\#BÏ%&‡9]ve LìNñÔJ¿“Ö¼+´sðÖÓ—#yêð3Ž÷/Ùâ³Açï´Ü6¸ŽâÒñÊ·|qëåìy¼\oÿ¢KXrk¯'ü‘ïõçö‰[G?ÒέÏ{alšQO: #%ß OV/µDŠmC*¯¤>>Ÿ^/_NæÖó`TäL_fɹݼ„qïÔ|sÖ¤›3¯ìTݨ£®Vɇ“)å­A©ûGË[ô/¼èÞ%¸©Aoƒo=ÄR†l2YÐN²:óëf'\SºÞÚè°‰‘ÿÓÐêB„§¡C3 ¥´Ì“Y|µº7´âtgúŽl7]µeµÇ‚R72‚<ª¥˜CX§QQx±oEâ~ªÃ߃«­«,®¹“¿Ð$wÈž²lÏk/“:ŸÝ\Ï_~nxá2qÙµ]CwZa$x¹’J>šåV¨ì7®¤˜AÛ¦éž^¶(n¦°¶!ã¤6dhùi\û}øW¨ÓSL":&ùÇ@N>àúŒ9kIø1ÞÃêï}_¨Þàc\ü ÿ,H|Ê~¢V»>ÑÏÖ4g3‡Œ&žÆ’|¸ôÄ’yÌ…-/¤šµbÅPŠ)³ ¥š^?Ëeò|êŠÐ¤eʨi¨üšÆÁéù¹IÎçóô™Ý}+¹{®ŸF¬Ó1Y9þcëƒCÁض™ŠÐãsæÛ¸ßRš²£×qÀKåYÜ:Vpè·tÈNnÇÛç‡ç+.­G“1 JEuM Ä63 )?Ã59øâëšäuHÄ/ó[ k£×x8JD“ïð_1d3˜¦V1tËÁð=DŠ«g)¬­mÜÚƒxæÖŠDHn­VÀ£„0ÆSƒ´kãÔµ~Úâ\ý^¿‹^ú‚²Mî:—KŸôÈJ›¼kÅåÒ?U|`hL'³¥[î=™¯Üõµ©ÈE„e&¨ê5~|”ê¿•Ò çŒ ‡BFªqö²æG¸c’@|ßúâÕV\z1ä>­ùdh{rë¡D¶æ¡"É­á½YsŒ>êB‰®i—'ß5FÑ8Š?N:ÞF˜{´UKFÜ[QÊè)øîI-5XÁ‡­é,&–äD›nH¬y>îTU†z-àü:·ÓèÓÊÈÚëÁAßäÖÜÈ:í:m:ݹyµ]‘kv§ì`Á”]¦’r掦ĄAµû7çM‰~ÐÄÖ8óGCoíÀ “˜’¶¿qçt¯ã.L™ç+œ:ó„ûrÜT[¦Vêž$”ˆ&ÍÏÅ‹QǸ†11Ì…<2†T¯/Rpó¢ã'’P “‚Y“§¦ÿ\që…±ËâÖòörQÝŽ\`–zñÔJ*‘\Úë÷÷¼Ÿ+së<—èižØD…Æ¥Œº^*±2ÃêÌ¿B‡¿~¦hHµ7G˜CI†TÊdoHu"¡¡Ô‰·œ4‚|Ã7”â œ!Õâˉ ”Ž ”CíÿiV϶[P÷¯¹qé|nˆgûŠí%5à>=8"º ¥æØ¡ÔbúIA©ÅÈrCªEoiC)6B´­Ý9NTËqw›&ˆÑ¤ûi}éÑÝÎí¯Gw¶ÝÜvu›Ím]·ÅÔ6“»Æ0ÐÏqðÀ¤_>#ðû¶ùþR]}ZƒùsÎÛÜúdwDrëÅiÍ‘‡ ·F´ÄUּ˕ÜÜI™v.ï×qtlÍç|—~Q“ÍâyÁé­cHž¢Ž¥ÀÉ~E }> @ÄÏ:!y´|4:P¥M¾pW95š·™ 1_ìÉÌri4/gÙäS¾‚.—vÖ¿´Î¢p³ù™V|Ð×(¹5Z1WYóôy3ß| —]æMÝd#±eŒÔ—-Ã;¹µT?w®ñ‘W‹sC)ý£Ò ŸtUP…åÉúa§|³Žˆ°è­~k¥½,wºçÃÍn|ü7¿”>Ë\:=éìÙ¶qLh½•C3ŒÛ›Ëôt¹/¹O‰Ÿö*EJKwÁ{—ô-íY{ôjá5sÅ7,AæÒè5•ûÙbÇëÉЕ‘Fð¢'œ ÔŸþs¼™Nÿ:•žL™çÕ“Û‘ÆKç».†YWŒ~F&‘½Î¸uÁÉUvÇéY¸}[2kŸ·W­®fÞ-{ö8á×åwÚö¼ü[ß.°·ÿ&;‘PIEœ¹Iá²èͤ¤P3¤ŠÁ™ÅVoLqÈžÖ†>C©Þv†T:ã‚>ÿ>¹m;dái$×íùL·Æ«kã6Gǯ¬Ç]kÙ—‚!•ª÷èCQ6!;\®­¸A)-L_ÑÏ;³Âe…óQÓd­åú‘2Õêay~1¥JÂ(ï ¥ð?Mœ|öð~ße9.´ËŒ³,Q(tIî‹0ágd"â_$Þ?#Ò«7™ÄTÞ©a¶“o¦ÊšOÖTŒÞ»K:f$·FòÏáMC'°¶Æ†½ÔÂRŤüc[ãƒå,¶Öº¹Ú1¦%ÃÍþ¤Ï ²f0µÐÁÁB–P su¨”ž[ øøÍÊY“¨à±Ôø ŸeL‘2üNl‰ñÆ2¤h½)°ó•P"SÁ‘Æ4byZR©ó@NFüŠWpŽI1èÕÁ°¼éÓfPìÉÃí«gÓühîÌɃgm“ëRÊrëKЗ/1n»6za,ÈŒB7,™ï^å/×ÍÈÛ0Ï“Ï&ÎIK¼N,*‰É(çf‰/Ž&¶Žz雿™r"¹5º 6›|*¸ÔåÖwe‚¾uÁ{àcŸÌÃÅ¥óhÆ_ºŠKk}ôqð)†nå›°5gˆ_/.P±³¥5ŸÈ¹{&·žáäÚ"»qœ€­:^õïQ69OdÏŒ‹éþ;'“m/ aË×ÉÙ˜¦›œ)âªXit‚ù E–Þ<³.¶â «+h)ÖáZX[êÀ6 JiÑ~Æå³-Z÷U\šžëǬäQŠN´,1€O}É7õ%·ÖúåÛ‰Þ ¼ŠÉûe³ùŠuÉ­Ýém[Ü œ]Îá†ýÊïý¹=X¼ÍóúÕõü®îÑ‘¬Ú¼Š’ôûã P¤=|'¬¢$M¹­Ha+×Vb€@´P\ ¬º“UxQÉ þX½W—ž ¾~óò†gÒÈ»`»?|ÃØêFÒÅÂ#¢ …èã€ï^/kŽ$^[¹õÁ1ò²õ=‹Kߘÿš7†X*ÁM ÃjñG·‹HŸ‡¥ûc¥¦zjï ü­…I±ØPJ>v‹¾¶}Ó¾š[/öYœŒì¸&‰ø9^þí‘>Æ#é3ÃÌAø1ò9u41MžG[ó먹µGl'Çášä¦5_Ìx<5/Æúô=Ô7'k~òÇßõœ›}ÞßKû¨Å=Øäõæþk¢›N¿{NÒx`lų¨ÑŠOµèÍ­'gÞ,+÷Ä»¸5Úêëm‡*ºÕ‹[£¯q¼íÒèᩱaDíhVû[V<*ë^Ç#µü‘ÒnÇe+çqâþë†ÑÍÔ.Eié`û¤hã<ÃA]‰dŒæÆãPÅÄ!ø3÷‹ý• ÂøB_Ϭ_ iTEðùf¦Nf› …¸çó A?;9b1'ñ÷-¢Ïw¦;å7£ÙΙ´Òá¿ÖT‰~êsåI]&H=.Ή¦±Xíö±åŽòcôçKÇGl57+Ĭ œü:B.nzGÉž „”‚ÿÓ†0|Ì[B©‡ÙTdYw7Ó”'Þ¾m.Œ¿ måÈ^˜  Œ·¦”5Ç0ó(žú`"š“êàSÎPŠGÊPǽMÑþÇ{õæ¹Y\]}ÿ‘K»~OèxM»x;£·å¹7+® ü’[cÂÇk³æôfÚåû­=×s§îê¡A‚ÜuØÛiçÒÞ.óÜ~î—‡¤)Í­¸52zœ§Ž·0¶û´]ÒM¹ß‹SîOî¯Çö>‚Ë'E÷þžòTïÙu½ßS°ÿ:þž—ãóižçWçûfBd¥„½ƒ›PŠ‘²I%Ѩ/[b¸×UD`E÷0/¶3Øä;’r[I²Ì ¾X­,©Öc(é­ÐêµÆ¨ÚÏ„R8 ©â 3 ÖŸúÌzõf¯ssÝqé¶=fYc $T)¥÷/w^ßâ1ð—•A+WDcŠN¿QXRõVYò¨¤æ¬jRÕŸ<_ŠEÖÔÑ#€ÊžO£‰zé4¢PžxÃƒÞ Ë¥pGÜìÔÎ6æ™Ö¸ñœÅÖqb¯£¬ù çcrkì“qž»u¨Ÿçqœüw/ê¨RK¹ÌÚ‘V]·åPké,˜4¢èO:cË?\5?ú]EŽˆ7[y˜Ì~ˆ]^å`¯ÉÞ4¯9'‘FfáUØúb‹ÉvŒÏŸÓ?[ëø )Õ4ØIÔ¾ø"ƒŒ§ýM骹 äT*ÔëkËëHo¤.Çsˆ†~ã„S‚R‚Û ©àyJi™pŠ­Õ½¡”~ ²cëÁEû·rOÉ$ç¥ã$ º6óâÈ‹åúÐÌSß—ö¥~·Ýï×@2© ]°ßéi¿SßpºÅ& É›‘ª6¨ ¥ö›—•À3ù¼ÁgÖØ"øÌ*yEn?Kô`!“`«úGu“Ó©ñQÁG^àãØ‘ò)^ȃ)e§.ÇFOf*—J zž"À«a–÷¡üÊr•ø1‚·&f'”º–š¹ßù-™Lâdçîf8YþV(tV¡F7¡å®/†?JÑýÓ+”R§²ö’ÄÈñ² ­4&Nh%¿wA*@L+‰ÜŒò€kÿ³ÙÇùÜ˨ÀnÛäKuË¥§@Ë&Ÿê„t¹ôÐ[¼mr%CÍò#=(ìa OñçÏå˜7Ê'—>Ô b+Ž× L«i:|޲æµÉ­“ʘºá6 ϥ׈˜ÓÚC±ÂæÖyp|PS,ÙäÒ:X˜£VOàw GÝ0¶ŠPü¨grë~ÐŽlqôoåПû•\ÎB˜3WÝ@Î .ÜäÖgÛ¸µ¶›‡•soM‘Ý…%»|Ï…-†1 Kªr1¥âéD>hL’åŠD5ƒûyÃêfFtÉ™XÖ\\WÝ„ºYãy¢ß÷wGëû[Fðo÷>\ŒnÌã®z¨Û.†V Zò‹æK̹W9‚{U5 ­ôR‹ËýÚgõwÌ­*ØqE*u£W‚ aÒ/—„8Ñ#Í¿F½UÞWîȤò·c{Þµàx8nÛBrbÐ-ÉDùƒÝ¡DXQ5OCÈšÃ}oÝÅ¥›:Rm;¦€ûc1Æ1"¿•JÞt6•|Ò*2‹ÃD4³"py£°'£p†GÜÛq¬]nnííòéÔÙõê…S{³íúxÊ)Q‘E»%×Ó'¹´7ãµ™wm®¿Ÿ§§«¸´¶ƒN¬É1çÄ@mºãk»ÃŒ¥óNò¯¼š%¶T3ÄXÒõ•°%k&Ýî¸Ñq/éü;6‚*áû~ßE¸k*èωúpfþ ²Ðð&ágÅžó/ºæÉÐçCz O €:±ô—±b'¶„ŸFßIø™ýÁú{Ñ+1ª-îÜÙ"©°þp:`b}Ð2bxÊdU@!ý5Bºp—HDûªLBÌa™e““VÅ×!”%gHo=­ð¼_¥’«íÆÃ-Kç­«¨äM‡ãwð|ëŠQCåo+=À}©ñ8–r¡hÊ÷’s‰ §È†ô绤ˆwËSEÚ\Ÿya:ñÓè!=}šàiŽQ¡Á+DØ’} i‰Ã;|·<:Sa’ö„T˜> ܯùªÀ—$´ˆxJk®²Á·ÊÔ.O.­àè´öæ==óà“¶ç  ü@ìX-íå¤5ojÝš[{;ðzÃŽ:ÄÃ"V¸oÖü¡Driô¬e“7þ.Ë©ÇÁ7]ÛâMÇÄåÖ‰i7Ž^¤­£;l=¤ÝùùQ}}9k)ϯÎçâë`rk/ó<~·ÚS˜¥ÄŸ/MQËÅæ´±etsÜwaÉèX†wÛR|ÃúãæOŒ¯f!nYP-\§T•“)j‰¨ÚÓT 1¶7{P&]‰/ 9Â'”p°~3¤êt“aúÝkü+¤jPŒâ 3Zô•u¼¬\Œ¼“cúoöœgB)m² ”¶Î›…Õ‰±vÈšãUIð‹Ü <ðª uÊòÖÖ­¬ JÏ[ÔeªîÌ¢Œ¡ÌaÙòe#Nîº ¥–Îï–ý”‘íßT2æd»‡MÌ5Ç 0d~NKãJˆ£&•ÄS´ áÁ™ÞÈ(0ûGhùÝ›ã$ü!K”»¿¾!04Y^}È’G±ù ‰ŒåÇö!K”̺¾!€lç±îü%'³c×7NÏ”²¤1v}à fA¸ØI•^ÂGÏhLAJØø:­2)¾S ¿Zà:Ž—˜# _§¥ú³¥qà‹±-ìדÒöaNDÄmD;æ¹05€ áÏc%&”Š f!]¶¾ötYùEQøÐ"œLÝlk³æ˜’ù*.=0×m“TÞ .µ<Ñ‹š½®á×1üWÉ×/ÃT'ýyàfHwÅtOlwqkäø{Š[Ç+ æZïžDïšy 'ÿ³÷zÌ­½]ÙC©C¬ßy÷¹s:B:Üø§Ðœ"µ‚kf~× )Éó»V‡ÂÀI¥ÞWRR´â]FàdRº*ñü1('ƒ.Å:àU$§Ãü‹zäÂÕ¼ïDûìd ;»îUÖÝk9âe‘£tåÉ»îRù„¾Ùy{çùojFaºÔíº°Æ¤§×Æ¥Û£NXsë–Ÿ«SöÙ:e9H×ì´ƒ¯±YrÄ Œ+¹um¯lrn/º’0§àBï=zßïÝš_ð,,.ýp´.íÎ×ñ.WzY$'WuÄzÈ+<Ö…lÕðºj_‡©ï²€3|•LB,Ä ð/Kãb—ŽÈ&?ô§Ø¾0ž¯Ô=b¿™h­1À~©ÈND#ˆÙžJ!ÕÏQVXiÂL%/»Xë¯6Þ5Ú²æÜöà»ÂyfÁ§á{6d|E„(Âi—Ù¿é±vâÀ}?Þ' š\脳âññ6D«€s Ç›{RéoL]R˜­(åwL¼SêáFµT(¶ëu% _—N´:{|¾Õ½úíwT¸*ŠG3iôâÖ1º¹ÛœœùALhYñÉYƒJóh&O+àYX3ü^e鯔¥rnºè·ÔVú-á9œ”’‹!•. ^M¼ x1äóýè"‰•ïcsßml–³K•ŒÀ£Ý׫4däbhðÏ^¥˜²1…©$¼¢ë»’uQP^ ½üãR¹séÞ^úº0ÏOqi_yéŠù\l<Øà“Œ»ÀÔ’}`‰KbÝ1 ¢âÆÆ¿ÌÁ…èÅ3£òi ¹ÂhQ.䎤.÷ƒÁeNÖ5xôÓÏVΫ­(åɼ;mG%'‘5Æ[[RщK ’àmñ`¨fõ¢’÷YZãN7\—J^Š'²F+¥¨ä ‡.¯P‡·Ê‹~ó¦âT좒1’¶í÷†™Õî/§zňÄ97.©W‘*M69§ªréÎ\¾iÍ‘UøÁhõ\Çü'j·~8•‘¹ôçr¬½ž\îŒÎWfˆèò×'—FwÿY<µÖ! \ Ó=x_ï:îääÖ^¹µ6+º.ŽæËØKµ¼9î.cª-Z¬Ï}ÉsA†R|´êÌšÁç_‚0Ýýi#8éK'(å…Ðr‘áËüU?'˜j]ž~n²ˆ±“s+2ù¼×« æBØÊ%Ùk¡ú" Iy'OŒm|V¤È \ ýÇL›´={YCL¼þðü…÷þ…!OB*ÿL4eþž©^PI+ӱΥ/¬#T9 bÊoù dUÑè «êÇ1YËÇ~1½"ftžIQ3Ó“éaˆb2Ò½IÊysí å4ºá79z•ÜzÑI)¹µÖUÿW…#唸µïÃä¾/uÕ&—Lz7ô6¢*:7+ÜyC&¶þ¼ÙÍká±}'ÓhĬ¤ç0z! ½5ZÏžá¦IS¾Í¿f““ÕJÈ;Õ†P«”Ò†q5ìäõ‚mÕõ ™žÔúÓ·ö±}pI8Ê<÷V`ÀY9N¢‹t÷É'g}7‹’øWUÏêüúºt=µŽjÖ‘ªFO6 à¹®Òªsªôxsë{D“X6ù¥;—Kkîž´É{y³\úâ÷ðºfâOÉî2œ/’»"Z{ƨí´ì±Ëß{^kŒ¥ÝÜ™‚ÑñWeêlò#x²­((…é“îÚeí*Bö5.kþpd*¹twŽÙâq:ÚV.ÝY÷¥M~ÒË'Ë¥'¤ŒIU€{”cZ°s³â7ëîäÖ’l+~ql-¹u„¿¨Ïvç¦å0êráù‡ÑñÔôÈMn­ýIžû§íÆ*£gñv(.íí3ß·#«|ÛÏãªãY餽<ó\ׯ‹GW ]àCs#,œN‘”RÆ4úÂýùœ$ÐKÐêt¢. ®˜<êK©_h…£/îÜ(eSCx·'¾¾¯­T’ídŒäÜp.APÂÁ‘ÖÍë¹’XZùHWËî°ˆ›Ø,ùäæ'—þ\m~ÞBÅ¥µÑZŒbK1Ãzó$†³o ò¡6MæÆƒè:‹Ë. ¬›RáxK­¹§>[èsˆ$]—ÿŠa†ÞÑE­´±2IõâæÒ|ÓèÒñe勆™ƒ°¡ÿsvôÍŠÇ gVqëóâk³™ E¿·†d߬øãØqkd´Ù-y×dæÖL)³^6'†¸ŽâÖé wK~Â3ÙxÕ£ƒºÚÚlñì©P9tt–÷Uvãt6¬ržß\®Ö·0ûïéÈ‹F¼~Â;ïvrÔo¸>¼åêÌ—N*ž²µ+Ö,þ=U{訨wªÆ´#†P&nâ_¡)æ<-O I.¯ÍŠÇ݉™¸Å­Oz-¥5¬v“[OºEGuÊ)¸½!ŽIŒ+ä-oš)w©â1ŠÉ¶éWI$K¬PHkçÒsµim)í©qÜÏ]5GÒê^\N0­l~/£·Žk-ˆõ¥¹q·Eŵ›É[yÜ ¥£R…NN’I&Áë,·.×:á–Vöa>Ò½(>”vÎåÖ)’óî-n-×¹´Åp±•CGªùÖÊæ÷˜¡’ÔañƾñÐG/‹ ÿ8Jʸé³eGx&—ž×—^ö5OÝã)nCé¯åj½ˆÕ9Ë&W”,·Ön¦]ïÕ܇ï}˜Ðõy×E"ªºIÇÙ)e’tÝPVvZsÖ—Æå0Ê&ŸôÆÌri¤e“O®+Ë¥ãÆ<®²É}ì].çUcœBÌuÔ8‹ á€»Ž¡šßiyÖ=ÝÚçóý´UóëXóD,¹zÇáièé•Imé,¹áSoóø;ñV59Dc¶0³”…ò½ÚÁáΈâÁK_™ Óss®²@'{5lÀx4¿ðRù­Ô¼˜¬ 1– OØ}H|ÒŽÆ)ïù3<ð‚K¸°Ã'0‘¨PI0®?¯¥ôßK'A„ŸÃGîÒ_‘ig<5‹ ýºùp£ØR~\H› ƒ£#µ# }Y§LG‚§“Ïœ.êmWQÌr&¶<u`“T.".¥|èÄ"cã¾U(…`HïºãŸó@m¢í³‡ cž¬yسÍÚ·¸F«âžiÈ·dÄp}eÕ…&€!'ÊpÕð1ÁiÕ ©:£ÖdÂ"˨æf#ˆŽ®„RC³ñå5 1])ÒŒl