MALDIquant/0000755000176200001440000000000013466074353012164 5ustar liggesusersMALDIquant/inst/0000755000176200001440000000000013466070447013141 5ustar liggesusersMALDIquant/inst/CITATION0000644000176200001440000000165112624130232014261 0ustar liggesusersbibentry( bibtype="Article", title = "{MALDI}quant: a versatile {R} package for the analysis of mass spectrometry data", author = c(person("Sebastian", "Gibb", role=c("aut", "cre"), email="mail@sebastiangibb.de"), person("Korbinian", "Strimmer", role="ths")), volume = "28", number = "17", pages = "2270--2271", year = "2012", doi = "10.1093/bioinformatics/bts447", url = "http://bioinformatics.oxfordjournals.org/content/28/17/2270.abstract", eprint = "http://bioinformatics.oxfordjournals.org/content/28/17/2270.full.pdf+html", journal = "Bioinformatics", publisher= "Oxford University Press", key = "MALDIquant", header = "To cite the MALDIquant package in publications use:", textVersion = paste("S. Gibb and K. Strimmer. 2012.", "MALDIquant: a versatile R package for the analysis of mass spectrometry data.", "Bioinformatics 28, 2270-2271.") ) MALDIquant/inst/doc/0000755000176200001440000000000013466070447013706 5ustar liggesusersMALDIquant/inst/doc/MALDIquant-intro.R0000644000176200001440000001000013466070444017045 0ustar liggesusers## ----setup, include=FALSE, cache=FALSE----------------------------------- library("knitr") opts_chunk$set(tidy.opts=list(width.cutoff=45), tidy=FALSE, fig.align="center", fig.height=4.25, comment=NA, prompt=TRUE) ## ----env, echo=FALSE----------------------------------------------------- suppressPackageStartupMessages(library("MALDIquant")) ## ----mqsetup, eval=FALSE------------------------------------------------- # install.packages(c("MALDIquant", "MALDIquantForeign")) ## ----mqlibrary, eval=FALSE----------------------------------------------- # library("MALDIquant") ## ----mqobjects----------------------------------------------------------- s <- createMassSpectrum(mass=1:10, intensity=1:10, metaData=list(name="Spectrum1")) s ## ----mqaccess------------------------------------------------------------ mass(s) intensity(s) metaData(s) ## ----mqdataimport-------------------------------------------------------- data(fiedler2009subset) ## ----mqdataimport2------------------------------------------------------- length(fiedler2009subset) fiedler2009subset[1:2] ## ----mqqclength---------------------------------------------------------- any(sapply(fiedler2009subset, isEmpty)) table(sapply(fiedler2009subset, length)) ## ----mqqcregular--------------------------------------------------------- all(sapply(fiedler2009subset, isRegular)) ## ----mqqcplots----------------------------------------------------------- plot(fiedler2009subset[[1]]) plot(fiedler2009subset[[16]]) ## ----mqvs---------------------------------------------------------------- spectra <- transformIntensity(fiedler2009subset, method="sqrt") ## ----mqsm---------------------------------------------------------------- spectra <- smoothIntensity(spectra, method="SavitzkyGolay", halfWindowSize=10) ## ----mqve---------------------------------------------------------------- baseline <- estimateBaseline(spectra[[16]], method="SNIP", iterations=100) plot(spectra[[16]]) lines(baseline, col="red", lwd=2) ## ----mqbc---------------------------------------------------------------- spectra <- removeBaseline(spectra, method="SNIP", iterations=100) plot(spectra[[1]]) ## ----mqcb---------------------------------------------------------------- spectra <- calibrateIntensity(spectra, method="TIC") ## ----mqpa---------------------------------------------------------------- spectra <- alignSpectra(spectra, halfWindowSize=20, SNR=2, tolerance=0.002, warpingMethod="lowess") ## ----mqav1--------------------------------------------------------------- samples <- factor(sapply(spectra, function(x)metaData(x)$sampleName)) ## ----mqav2--------------------------------------------------------------- avgSpectra <- averageMassSpectra(spectra, labels=samples, method="mean") ## ----mqpd1--------------------------------------------------------------- noise <- estimateNoise(avgSpectra[[1]]) plot(avgSpectra[[1]], xlim=c(4000, 5000), ylim=c(0, 0.002)) lines(noise, col="red") lines(noise[,1], noise[, 2]*2, col="blue") ## ----mqpd2--------------------------------------------------------------- peaks <- detectPeaks(avgSpectra, method="MAD", halfWindowSize=20, SNR=2) plot(avgSpectra[[1]], xlim=c(4000, 5000), ylim=c(0, 0.002)) points(peaks[[1]], col="red", pch=4) ## ----mqpb---------------------------------------------------------------- peaks <- binPeaks(peaks, tolerance=0.002) ## ----mqfp---------------------------------------------------------------- peaks <- filterPeaks(peaks, minFrequency=0.25) ## ----mqim---------------------------------------------------------------- featureMatrix <- intensityMatrix(peaks, avgSpectra) head(featureMatrix[, 1:3]) ## ----sessioninfo, echo=FALSE, results="asis"----------------------------- toLatex(sessionInfo(), locale=FALSE) MALDIquant/inst/doc/MALDIquant-intro.Rnw0000644000176200001440000002660612624130232017420 0ustar liggesusers%\VignetteEngine{knitr} %\VignetteIndexEntry{MALDIquant: Quantitative Analysis of Mass Spectrometry Data} %\VignetteKeywords{Bioinformatics, Proteomics, Mass Spectrometry} %\VignettePackage{MALDIquant} \documentclass[12pt]{article} \usepackage{natbib} \usepackage{hyperref} \usepackage{tikz} \usepackage{bibentry} % inline bibentries \nobibliography* % no special bibliography for bibentry \newcommand{\R}{\texttt{R}} \newcommand{\CRAN}{\texttt{CRAN}} \newcommand{\Rfunction}[1]{{\texttt{#1}}} \newcommand{\Robject}[1]{{\texttt{#1}}} \newcommand{\Rpackage}[1]{{\texttt{#1}}} \newcommand{\Mq}{\Rpackage{MALDIquant}} \newcommand{\email}[1]{\href{mailto:#1}{\normalfont\texttt{#1}}} \newcommand{\workflow}{ \tikzstyle{line} = [draw, -latex] \tikzstyle{mqbox}=[rectangle, draw, text width=8.5em, text centered, minimum height=2.0em, fill=white] \begin{tikzpicture}[node distance=3.2em] % nodes \node [mqbox] (di) {Data Import}; \node [mqbox, below of=di] (qc) {Quality Control}; \node [mqbox, below of=qc] (vs) {Transformation \& Smoothing}; \node [mqbox, below of=vs] (bc) {Baseline Correction}; \node [mqbox, below of=bc] (cb) {Intensity Calibration}; \node [mqbox, below of=cb] (sa) {Spectra Alignment}; \node [mqbox, below of=sa] (pd) {Peak Detection}; \node [mqbox, below of=pd] (pb) {Peak Binning}; \node [mqbox, below of=pb] (fm) {Feature Matrix}; % edges \path [line] (di) -- (qc); \path [line] (qc) -- (vs); \path [line] (vs) -- (bc); \path [line] (bc) -- (cb); \path [line] (cb) -- (sa); \path [line] (sa) -- (pd); \path [line] (pd) -- (pb); \path [line] (pb) -- (fm); \end{tikzpicture} } \title{\Mq{}: Quantitative Analysis of Mass Spectrometry Data} \author{ Sebastian Gibb% \thanks{\email{mail@sebastiangibb.de}} } \date{\today} \begin{document} <>= library("knitr") opts_chunk$set(tidy.opts=list(width.cutoff=45), tidy=FALSE, fig.align="center", fig.height=4.25, comment=NA, prompt=TRUE) @ <>= suppressPackageStartupMessages(library("MALDIquant")) @ \maketitle \begin{abstract} \Mq{} provides a complete analysis pipeline for MALDI-TOF and other 2D mass spectrometry data.\\ This vignette describes the usage of the \Mq{} package and guides the user through a typical preprocessing workflow. \end{abstract} \clearpage \tableofcontents \section*{Foreword} \Mq{} is free and open source software for the \R{} \citep{RPROJECT} environment and under active development. If you use it, please support the project by citing it in publications: \begin{quote} \bibentry{MALDIquant} \end{quote} If you have any questions, bugs, or suggestions do not hesitate to contact me (\email{mail@sebastiangibb.de}). \\ Please visit \url{http://strimmerlab.org/software/maldiquant/}. \section{Introduction} \Mq{} comprising all steps from importing of raw data, preprocessing (e.g. baseline removal), peak detection and non-linear peak alignment to calibration of mass spectra. \Mq{} was initially developed for clinical proteomics using Matrix-Assisted Laser Desorption/Ionization (MALDI) technology. However, the algorithms implemented in \Mq{} are generic and may be equally applied to other 2D mass spectrometry data. \Mq{} was carefully designed to be independent of any specific mass spectrometry hardware. Nonetheless, a lot of open and native file formates, e.g. binary data files from Bruker flex series instruments, mzXML, mzML, etc. are supported through the associated \R{} package \Rpackage{MALDIquantForeign}. \section{Setup} After starting \R{} we could install \Mq{} and \Rpackage{MALDIquantForeign} directly from \CRAN{} using \Rfunction{install.packages}: <>= install.packages(c("MALDIquant", "MALDIquantForeign")) @ Before we can use \Mq{} we have to load the package. <>= library("MALDIquant") @ \section{MALDIquant objects} \Mq{} is written in an object-oriented programming approach and uses \R{}'s S4 objects. A spectrum is represented by an \Robject{MassSpectrum} and a list of peaks by an \Robject{MassPeaks} instance. To create such objects manually we could use \Rfunction{createMassSpectrum} and \Rfunction{createMassPeaks}. In general we do not need these functions because \Rpackage{MALDIquantForeign's} import routines will generate the \Robject{MassSpectrum}/\Robject{MassPeaks} objects. <>= s <- createMassSpectrum(mass=1:10, intensity=1:10, metaData=list(name="Spectrum1")) s @ Each \Robject{MassSpectrum}/\Robject{MassPeaks} stores the mass and intensity values of a spectrum respective of the peaks. Additionally they contain a list of metadata. To access these information we use \Rfunction{mass}, \Rfunction{intensity} and \Rfunction{metaData}. <>= mass(s) intensity(s) metaData(s) @ \section{Workflow} A Mass Spectrometry Analysis often follows the same workflow (see also Fig. \ref{fig:workflow}). After importing the raw data (see also the \Rpackage{MALDIquantForeign} package) we control the quality of the spectra and draw some plots. We apply a variance-stabilizing transformation and smoothing filter. Next we remove the chemical background using a Baseline Correction method. To compare the intensities across spectra we calibrate the intensity values (often called normalization) and the mass values (warping, alignment). Subsequently we perfom a Peak Detection and do some post processing like filtering etc. \begin{figure}[htbp] \centering \begin{small} \workflow{} \caption{MS Analysis Workflow} \label{fig:workflow} \end{small} \end{figure} \clearpage \subsection{Data Import} Normally we will use some of the import methods provided by \Rpackage{MALDIquantForeign}, e.g. \Rfunction{importBrukerFlex}, \Rfunction{importMzMl}, etc. But in this vignette we will use a small example dataset shipped with \Mq{}. This dataset is a subset of MALDI-TOF data described in \cite{Fiedler2009}. <>= data(fiedler2009subset) @ \Robject{fiedler2009subset} is a \Robject{list} of 16 \Robject{MassSpectrum} objects. The 16 spectra are 8 biological samples with 2 technical replicates. <>= length(fiedler2009subset) fiedler2009subset[1:2] @ \subsection{Quality Control} For a basic quality control we test whether all spectra contain the same number of data points and are not empty. <>= any(sapply(fiedler2009subset, isEmpty)) table(sapply(fiedler2009subset, length)) @ Subsequently we control the mass difference between each data point (should be equal or monotonically increasing) because \Mq{} is designed for profile data and not for centroided data. <>= all(sapply(fiedler2009subset, isRegular)) @ Finally we draw some plots and inspect the spectra visually. <>= plot(fiedler2009subset[[1]]) plot(fiedler2009subset[[16]]) @ \subsection{Variance Stabilization} We use the square root transformation to simplify graphical visualization and to overcome the potential dependency of the variance from the mean. <>= spectra <- transformIntensity(fiedler2009subset, method="sqrt") @ \subsection{Smoothing} Next we use a 21 point Savitzky-Golay-Filter \citep{Savitzky1964} to smooth the spectra. <>= spectra <- smoothIntensity(spectra, method="SavitzkyGolay", halfWindowSize=10) @ \subsection{Baseline Correction} Before we correct the baseline we visualize it. Here we use the SNIP algorithm \citep{Ryan1988}. <>= baseline <- estimateBaseline(spectra[[16]], method="SNIP", iterations=100) plot(spectra[[16]]) lines(baseline, col="red", lwd=2) @ If we are satisfied with our estimated baseline we remove it. <>= spectra <- removeBaseline(spectra, method="SNIP", iterations=100) plot(spectra[[1]]) @ \subsection{Intensity Calibration/Normalization} For better comparison and to overcome (very) small batch effects we equalize the intensity values using the Total-Ion-Current-Calibration (often called normalization). <>= spectra <- calibrateIntensity(spectra, method="TIC") @ \subsection{Warping/Alignment} Now we (re)calibrate the mass values. Our alignment procedure is a peak based warping algorithm. If you need a finer control or want to investigate the impact of different parameters please use \Rfunction{determineWarpingFunctions} instead of the easier \Rfunction{alignSpectra}. <>= spectra <- alignSpectra(spectra, halfWindowSize=20, SNR=2, tolerance=0.002, warpingMethod="lowess") @ Before we call the Peak Detection we want to average the technical replicates. Therefore we look for the sample name that is stored in the metadata because each technical replicate has the same sample name. <>= samples <- factor(sapply(spectra, function(x)metaData(x)$sampleName)) @ Next we use \Rfunction{averageMassSpectra} to create a mean spectrum for each biological sample. <>= avgSpectra <- averageMassSpectra(spectra, labels=samples, method="mean") @ \subsection{Peak Detection} The next crucial step is the Peak Detection. Before we perform the peak detection algorithm we estimate the noise of the spectra to get a feeling for the signal-to-noise ratio. <>= noise <- estimateNoise(avgSpectra[[1]]) plot(avgSpectra[[1]], xlim=c(4000, 5000), ylim=c(0, 0.002)) lines(noise, col="red") lines(noise[,1], noise[, 2]*2, col="blue") @ We decide to use a signal-to-noise ratio of 2 (blue line). <>= peaks <- detectPeaks(avgSpectra, method="MAD", halfWindowSize=20, SNR=2) plot(avgSpectra[[1]], xlim=c(4000, 5000), ylim=c(0, 0.002)) points(peaks[[1]], col="red", pch=4) @ \subsection{Peak Binning} After the alignment the peak positions (mass) are very similar but not identical. The binning is needed to make similar peak mass values identical. <>= peaks <- binPeaks(peaks, tolerance=0.002) @ \subsection{Feature Matrix} We choose a very low signal-to-noise ratio to keep as much features as possible. To remove some false positive peaks we remove less frequent peaks. <>= peaks <- filterPeaks(peaks, minFrequency=0.25) @ At the end of the analysis we create a feature matrix that could be used in further statistical analysis. Please note that missing values (not detected peaks) are imputed/interpolated from the corresponding spectrum. <>= featureMatrix <- intensityMatrix(peaks, avgSpectra) head(featureMatrix[, 1:3]) @ \section{Summary} We shortly described a complete example workflow of a mass spectrometry data analysis. Please note that this workflow is only an example and could not cover every use case.\\ \Mq{} provides a lot of more functions than we mentioned in this vignette. The described functions are the most used ones but they have a lot of more parameters which could/need adjust to your data (e.g. \Robject{halfWindowSize}, \Robject{SNR}, \Robject{tolerance}, etc.). That's why we suggest the user to read the manual pages of theses functions carefully.\\ We also provide more examples in the demo directory and at: \begin{quote} \url{http://strimmerlab.org/software/maldiquant/} \end{quote} Please do not hesitate to contact me (\email{mail@sebastiangibb.de}) if you have any questions. \section{Session Information} <>= toLatex(sessionInfo(), locale=FALSE) @ \bibliographystyle{apalike} \bibliography{bibliography} \end{document} MALDIquant/inst/doc/MALDIquant-intro.pdf0000644000176200001440000361642513466070447017452 0ustar liggesusers%PDF-1.5 % 73 0 obj << /Length 670 /Filter /FlateDecode >> stream xڅTMo0 W(*QNеذa([ۃ⸎$vmE(lEO%|4'5j?8.gLkPd@ڠ \1,:y!_&k&A#9 5gihs4,oC3!0Dtsf%9q0o,e]cOY" & " K '&j`M9Jj,cNc$D1:q."q0dēcJ!S4 LP.\DGKH v E. Z\Tj/{k\ o:v|O@UYo3YWG}:vmPM{j1^tMj'MqlL.\DDu4 چMէ;H.8L! =9 q0ؘdڌ *6[*NXB2'3N|>pԍۙhfߵ|y̔S:Y5'Շ$Rx,6sf¦ofb65ߦQf_w\q ^؛\<-"+ IM5>L:K^F R(fq=$i3xJk` iDv~]qٺzgqB 攂y {38F*N> endstream endobj 107 0 obj << /Length 1222 /Filter /FlateDecode >> stream xXKs6WX$Sθm:iIɬPwe\ƽX~b!6L Ƴم'hR-i,n N1RP]d$*×uc]龫f2*U(Hc0˷@<۔CW!Ԉ~4xֻ-rܵSf}v<G0Heeٗ<"{b#pp'TFgۮmC1x*Orաcmk蒆)QEdtU o~rcqL eƇXu`Kb.UM TW? 7nL|5ں3D>0ͮP%+sd?nN@{Dʨ86V§}7Wѕ+W㣅*xj;>5jyU45a_֞Cu۽; X=ƭiߑ]ˬ+Oά c"ϖ=њ@*b P%Tp|-TkG '#e^xa)fzG=BuTDnըv%o#xb6hyHXRv =˪,d4p+ٲg]'$zx!;"a@\M6ۧ#7CO+@c>=R6Y"M!\XU8UٳY^/årm>j𞎖I0`-7Brxkٯ #1QyuĔCAMnOg&= Z՛/vPf@櫬/1E WAn9$XkpE  }? endstream endobj 117 0 obj << /Length 1841 /Filter /FlateDecode >> stream xM6gK$,tiauTvX_'5K .>,Y%YIN>: lpZL&9[$S>s.TIVCݵ~{8Jޒ%s(~"pqB[u}ݮ\vA?MOåf6Eax(O%m{;&MnTf #*s<ׄЛLelnJޭzt»R)rx!7Bٷh҅C1,vAw];nWmZ|f fxVy- &&}|eS}P<2 zAW8EN]+[S?jAR뚺iw$BBXpAq g dEy[L/YQc3`ۂL3#?<}1(؞mȌrdP$| O[,? I$XSrdj%䓬D?{`/ 糓N,q]%RT n @։w[as;*w=}sk1Hy"9ip$`/dz1X1i|DptU,/! {{?viyp%= " u77Q̌%-4(ʶ~o4T k|_TW$А!0f\ג#M jdW @1\}wٷmߤ_;]QBX HUAE7$oHd[g]<*;(bj :X+o&pn`E\i#,I bҌ+ݖ"}>ezJ;mCKu*ܗ~!mДMz6+DKwvp4;Q,@C@ -] V.Ǧ PCa{H> stream xXo6_!{巨aͰ[`iX[NÕf_;RlGt 0,Hޏn7{h^|@#W$itw|ф"$IhQ`H%QF"RuY:NmSso?'p<=aII HJBD,qɬ抩>SYz2~~/Hn+9ȢlmzXM97T8l{^G Sz?/ W0_^uyAMn)O&˪6﮿\4,зS'*PeYذYhe~Iyʖ K9Tx./WìM bދ~X^< Vޢ[R5 GeOʼ9ݽd ߖT /nD` xuQ5T +/dDX.\RfJ%D ^Yz#Ō'vLٗb蹟 TĶ?2{َ S{ֶd"+ܤ+p.>H]3%>O S[wB nv׮'tBL:(?([g F "˼E V`밾q%Pl|li->M&pXsa`ʋE>BhUݔcW?FScΘ> =DӁɘ$C(M{RVH1ÄYox/ɔp6p{5ӑ )\޺ ҆? ʿ䴿 C\4`튧K0/037ZZx:wZ$& H/oO<`-.(\}ͷGoCnmȄ|Ѧ7=߯].=u15VaBӔ"Jcq5Ke\7o(SL0(Fj!&܄U P귆A0 GP^y`WSU]5VWaW0:]W8>XeEm֞:X }=`Akxttyu v^%`FMpZz`~'y5j&^{u9S*XٯeRnaPLNtԅpsCL(v8Ќ=3Ip=c3ed]5$av.;V@ywyt!ln!H \w0@1Iߝgq 25ެ A9o Z\ͱm"`zu t8 `\xtzPm]mâXB|w@>I endstream endobj 127 0 obj << /Length 1287 /Filter /FlateDecode >> stream x͘Mo6+x*@rb R @ /C݃#u_!/+^X[9}Pb0~źf;:8-VI\&&| 㒢\sym7XhY!U=6m[gգom+>׾Iە}LCpWL#v˯m~GI)H*.zڢ*`- tdcR/|Ͼwm}t*fˇM}:رo=rxdX)bۼE 溊McIjXq_W`7MQF]qO>]16R?aY0D0AD9Cd_}%hYE/(cLDck,A8P Vs:#atJM$TkŚozݓcJS'TPneZ*۬3#Daۤ@iBw0b)\CA Iє4ΦURg(]<`\`뼊PWYXF!X)& P1p,-)gb æ3 6k+:+O1?E*9@^.q#a,Ʒ}(0qs8tr!ZAҤ β&ehS\"rTna7ݨj9F,~ci79vY[8J} jʤzcQ2Hj ߿1H\K3j̑T* |.c~?oe6z:lȌcGBk > stream xX[o6~d`IJ@]eشU\IN^؎&\h XyxCGG8<&јd(8&$"2D3My!2L,~0I?kјH،cNJAç.&fHEX7( SMUj?U-L{̐0ΰ*u{UPKZ6ss?yinb+'WY#8CLݞLdL(ό5,L`5DtTo>z\}FDYJvl+Hb bD=hKR jgh0 7*6+[q E0]CRtjUӮjRѧ(0X͍ņXu֯4Wfve7QQ>緳g)'>T傈nGK£L"!nxVyL?fV˭O7i I W Su+zshO顯 HŸ?Zףs~j;! M9S+F)H/qhk:Ш05LNk_MTn{=~ڔW rtym2A;ޥSv:Zx)J"1F`'P΋4{j1m0`h[}fp]Vu8sks;ֳ)9Mkn:̻-+ZF=r6w;M3uA,GjU1DȈha?p-~p!} | _R]"9}U𥽧—}S{>Sĉ&2u_I.r_\ endstream endobj 139 0 obj << /Length 929 /Filter /FlateDecode >> stream xXK0WH؎8$r*{Ȧn)MI gq){حhY1y|.#K ЄKK-tA8g(ITȄLd08*ʢ c(NTܬk2}z ȠR8F"!(^ehDP7a$8Ȱ"-JIwnjXm;O]nem7aęˊ fkw 5ԨpvByen[]-~Ϊ4٪C]o:Ǻs6n kPfI"_-Tdy⼘Nn''%hE@H'*_IcbA<씧oW>RxC(Д gGc'nbצyIf jw6=,3SG yٔg9̢6޴{, p;Zp39רwzg^t5g .)_ wBiezđ 9CWlnTڗm_꟨&ytv"0L| Jlc`<9@@TbTI3mlUh W,wc. U*c#ޖ]'a48u IE7p]]i_Lm[⨞TP Vc^ͪ.\ʤx*)Nz8ښ,+K;sߑ6ȳْar;Y1d9X9)N8xpܕ]nˬӐo)VC}^T]>jT z W[T۸7RWh,Ҕ'4ϧO(Θ>%倯f쨝0eʹ|㐈;S4yD%\$GhQ ) endstream endobj 145 0 obj << /Length 323 /Filter /FlateDecode >> stream xڵT;o@ +<{tPʖWXH$Ɏ}gDŽ2jcF AQ*(P0k8Xg?zObDqcVp^C(N Nb0(A 7:Pmˁ ꫣSy2i].Ow[dc_Q5cbf:/药M6 PxG\z7bZNZ&ڗ(f\4~pN-r׮m>թQ,šl@rvЇoNxBxHܐF%A08whoboX endstream endobj 136 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp6IWViw/Rbuild267d31e1a6e5/MALDIquant/vignettes/figure/mqqcplots-1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 147 0 R /BBox [0 0 504 306] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 148 0 R/F3 149 0 R/F4 150 0 R>> /ExtGState << >>/ColorSpace << /sRGB 151 0 R >>>> /Length 131669 /Filter /FlateDecode >> stream x|e埧'8̼gRK A`g1^KkD"OʟY߽{?F_?_z<ϟ?5ǟ?/*?ӿVw?ʟRѭ^ZBԾPb~ @2m~ZnIzeؗrƿϥ)4QgԄ9cMhJzM!Ʋ/u!ruVJM;1ܼ:+5":1\BBP*sz3\* uV}ZB n%Us]ѭeiܭYkAVNJ[:ByRG-طi@ֳфv_͖i{"r4@9.L?}G\/QKF)K'P7w[Dd/-!DRRXӈ>j<1 AjL]--n7_.n=AUܮάEWg0.y1j gSn =_iI KmCK:|!,%ڑݪⳉ[2 C1Lu /73)Q_~j^^FFƈG'mx3ZFK֗^2jooh4r?OWz-l׮bD.SNj‹ .F| Db-?t,/}+ J!kKM?tu7LK^SהzCn^/xz]?omAau;/`zTwqlJ6j4!'Ɛqwʸ B7K !SlB()#WbΆZ48e5SFZJGtZl'{xc^4b/n3Y%c-Qwm)IH,FKq1 `QG+#imAiAꌣ7ᮖRBO&;h)څ˹ZeDY_ < X1w|^byl;nAWK6:gB~S/Bi gl bVOBDkp&JM )m .nOpWK{LnH8kNjiO!jiL 1#>O>9/F &$5zo@K@Lo䲭vL&DRj-,/Dzc 6UJMj !&Έzie]4v̷OH*'h\ Ԟ6mܮbh|u:[%Oi4B/@)A/=(NsuɨM:#n[p; ;AۿPgutTb[M !n5v3(-5/<%mu/h9Wڒޖ8On9 h痴T?5.+;gZ}'hiE:1%RN#Sdkڿ-|z#r6? ߾V lY+-#jpXpbWKWb,C jcjV)lp$Γ}ڎ5aļk>kֵQ|J=VqkX,!y6 ƹbةfb({czq.XܣlwZ [B]zX$e\ϰmHs Qd95PHÓZGqڌL*f Ll|BDIk%Ni[bKN.w#ܐ3zUci9uPZWnH5asye1;L>ӎ5gF L6GpF嫛6G`1)>0GCh Am!Lkr a2G1\umٓ0G8'z'b\!-oItǀӂ#,XAz2s9wTK{= i'i{6]eb0 K\+1} AM!!b1*#l؊'2>>A'wdFͿsu9/m{|'^C!Fnw-Έgz9Ubg҉nw׺!l7%Ԃ NXn'O Ll?uD z~YWg݈}O:3=c9f&Lnb 0bo͢dDLfb=#=r 7&.!rnwz&&j8R~%pn%]b+>WK @23q1#N.tv{5p/}:5!rdg7&6*Bs ̉)F.R iNzqrLɥ3;D-ɥR2Q/ fg 1\ afZtyUBLa-D5kAv'S>mn%J'L*'h,ML r5hTQ'lP'݌3jX_lލy@ۙX#mV>{6wW17 ΁}J2r@;Mhi+`^@Uu~HR및p2Q+8)oHKAZBa21`En*_)^n 1δLC6 f1v8"G2GALa+cY]ۑXҊ[퉝λ9!g;PWj_heЋ)p/J~+֨7N-tnYdڐNzA'psbk:!yfmjKr[|n҅F&`w,_Ϝ:(is[:@X^n|"\Oq$w>w~BPZ#p+9-",-_SMqF(#'jB N !XlӄK-4Xk:1ԟ91\W'77%=Θ9%n+~[܎~;OJ%kG_rDҹ[mR1~.!gȞi0N[BMBznl0'%ԑXKzuM!0$!nݙ:ҷĹ%#<9Y _Hyh/!0ZofDNLoҔ8MgSyY%n;s`ݷLSt6,,9g3Cg$\4#rb^ 2uA GN'kϔzAƕ:J'材O+XB,&ԅ36pDvˀ#{SWq {/_6 Nt&To[ !gfםuɬ{TõZnxY*H3[+iN:!gv>O:=uxg !/8 3jfG!gGtb,7ю4YOg|i\Sy1퐳$Ν-29;>t2fA MPBIJ#52|N4!["N֗C΂|$Z ֩o*rV<8二駧=!mvgKjB>1[EvhA;-ŬU2MgnbzR@LNy%Fb^oH=_q3>'fjEHt tzf{5Sݨ@gm ӉҦ n"׽DNpKPbO[x  AK8>{=ih_`ʷ%-pLA^>AYcpb-D=߈=o4si~e [ܙ1u_VC !gҏ3OoB(M{ۇmf@;Gʹ$%쬉'S_-uigj>qڙD8St&>JM!sI/e7k]Βޢ%ˇ}&42q AKq3GiDKNӳg0bn:MSABϳN{8SѭI u?<[Q̖[N̳1܎Uw-4n ܬ'uɬ_'ըgNd{6EzX,NeRȬ)DKiVJ;uadV:_|!Y%ٟkd: <rm3SHN3YN|!Yv9˖D/.[&/p#;y>(H%]H 'א&ZjO.ĩyrj.f|Z5Hb䱌9Azo'Y_2uƹgwb>^؉n5"]@(~ jX#&BLv.!hqnI[rf }XϙYFvž݈) XTRXDC4. !H;AtΈ9qveb-;l9 nw^!/ZA= 82sO#\s jrPZ%J q.ҪYvcifqDXR@9r1NkcG2As&uV/\v˵T!h\WL1=h[{8qܷ)M[{yS.0kϹ듉~9, |mv{sS?Ļ/{ydL}Mr'$ޘnDi2o\{˼L>Q3nR{[)мQE;jo?ÛN6¶8$ِ<毨ޔ~pRg 92m`/zLqȴsWŸL4wWۯZFlcWút<#i^i)Xw<(.r n^*'r^~+bșL{Q0r}BOleSewКk5J] !. / ]QGo>?KbfL{~%%J>?F.b VWuo/NݧG]+}yo @!h(7Nj짛+ 7[ wi=a=[!xXXP*xXo^^~]J*z1z+hG˳]\.`n+OBR~m=\mWmƃck{d|4v<KA*vY gc7G{í]%owdԼ;1O!Nʈ\v4,% X=2+]]i]CMzL'6`8M'챰FLoI9'Kڈl2-ᶸh)-q:!3Y?-^X?ؔHg0#݌O39f( {aK2ٝSv$;ͯnЅP*Ii0ϑkNӜrw$%qnsiI'MH4O;Aק5 r{?wӈ6Pg!n3&NL=@z#D'&Y$ 99=S5!5qk1]NҢJACQhE !-!JtBHݎ|bc, O{!jLB 7"-L} z"҆>ˉ> #z-di !jZBc#u0-q.9+'zRiT'ۆKxHsI|t$ *QwKA:kPcAy 䞳%,aKqA#Ӗ?KْK ,?c4 cG3\ҖEK6|$@Y"#wk圍IQpB=v8eo!h%DL[RQg)' B(f\PQ{);Km5'zCq7c38tЉ>q!Kz"g&ʈme_$ r06!0åNŶ4a68š qp#Dr&Z6#|ڲ7KeN 1%zdv\Fv䄚8#v |I-Fn=Qe V_WNt0i Ďc&tc|qf2p4dW;ݭF^vlP6Xln ];vr f5)jf@tQbN ĭr0!gV2Ίlhw5ˉy%#nBf5+\@|y-q3Su&4v51WJ30Ҁ= - v[˹ѧ-V&`I%c?LcE؆5:޺kB{^xbĺ-#nRFnwvL 7?mO?u235֡YFFv;RS|Өyw+'X9^3}}/F :N-}9݊z5mkU$l}0-!Ht˳:yYT] b ,yn";Fdea]C"U`6Py6>}gx.U}3M[wF{zgmM`ke>mT[jr*NWUhiJ;g5~'ĭő2 @#jƒ֤nۊ}jz 3YMBLq‚BGrAU% ډ̢g*slfфf63[ rf61癰b%2p#lmYg5R'lf\Ϻ k nf3`Ag+Vr f3'S_BșŶvv6y35냮^kGni} :úBm)A\"bz#VIn379A=]!װ+sgpGRH"mg"wbe0ZH.E}XvbzCr6ΰ<3{ (s-,[݌8L/ ҧ>BK8! q2δ3\ Y8хĜJWHCl냚-ޝ 4ӛJV9$}}eҦ'k2Vw&w+g7&W!,֘rcrmfbKeZ% w5b,K܌3-L.B褽c'e'm^i&qJs _>ig‰qrpՑnҪ8j2[x3YK]XM6d>?ci1:gZtbz ՄYƼ$ۆ4H;JکL2{|tQ Z*5Ο8! 1=3u9e1;w&@%SۊS3hnj %V,{MCn҆VfHu[m\G⨽#XN N]81Lsm%;1gfL g.A;;!fϴ÷`G1b{0{f=><4{/iDNԞNt/c/8Nڈe3JBsuay[GCcYfLr;vI<*+]ٷNvdllةlɉq/4AftQ˴/=Ub,+SNH~&/1åa~Q:cVYNs!~~닭28KY 'PeDNs&Yz6RL2X )B̧xNn9A"pwBf):hkG_ieA/-7dV҃JQp}AK7FSчz/1rB^p^bg*zOV !8;/{7<H'_~x ie&@(ػ+{sF!q­]ڒ}I,pq$2 /n%Q)僆eH7y+kw,3wք=n'%h='H#.Nx&= u}\%6!ʐc91 !ΝN4pݰp[T!Ym@ 7 btϓP;ytbc9iI'f5,ƛ3|h­BD?`Ӛ>IˁM;M2KtlBc4Av"dg$;7tfy Rezvboftb!Q{MJ:GZ wƜ)D7{pe9پa. P3u21Ҥ{fhLĊ)3#jWX~FT{pedjڃ++ӂv}T)X#}T2Խ~F3XQj,u6.r?9Jb9u0Dq羥3jhZ?)ωpGpyCVoVa'c+[у T{7iD~DޓQoރJ ;⃉ݲd51Ob#6ڟ_r!qY%1;\1N;x1gF&,BlkīfNiz.{l ¯kи s}$.@^5o|n1o>2J: Hd̴Xw`;A/;M%ۄN6NbyD͛.l薞pb^[.!0'eZ+t:(6cN4|n6ajBt#i+n !\BŖx:8pM|AZ,2!O: 6s6cʹI$,)Xsv93b@z5HAЄbX]:6Ez2[W!Qi1؊ui@fS%]7bXrbhHDͷxa lcD/1/cLJN,CZk  \g-y, uX#m=ѤvMiOAσKpEAǼ+ql 60-XφMS6}}v򂠉q6n%`~i,40V^t=?Rw{;qN=6nߙ -ALj%DKM4aP͞,ByrUui+f4T$2۔uɈ٦zl۔uOq[_yb^NnUJ#e~Q   k1q[ĉ> 6{!HZ8`/e0ob{҇MĔ^ìR M)Q# n#qJ[1 'sb pbOk)[u\ 5UT#JkkE y kgmV<** #jVQ9:QZ>mܨB/bsmq yIO9 YBGj勋vNB6yb1۔c>P94E Y_>w.JUTϜ6(VA8&q**uP<D2ԭ7-_q[@7d_JR/q7/#4@]RP_ҦaN>IJڬѺ3;:|5:VpFkMgy21/fi0^Ag8sY P-9!V j/9ѧ= QU3!qeJ,KdXYcʉqq;Yɺ!~S2mm 1{ z,'ƒ,'{J܈O)Av<,V3Q/nUTHkO?Y[&q(i0\(>%?b OL6 MwBeơ hɬg gc=1ǎR׳kv 7$cܜnϸ\z*.xθs*/x5!lAS ^*9/KdWPKFOJ#V<6mI qT؟,OɾuűSaO=?LVŭfK`˘<ο|ni+iqV7srB^lO q=}k{v=EZ䳧jb!n#7R bD$jzOb Xo탱ʉnWn6;kB$&tqMƵ!@KܔC Zlm Ĝ 4wDv4OEvQK;,drsb>m^Aکƌ:Rh34:yO֒C~Rgt~6i1yO6L>6,+QG[\^Aߋd9M~R;FEj3ݩ.øO563Mxw&6m8A+.L=4b#ڮsskbyjK/Qun1X~,Uϴ67q4Ͼg9*]5gt@TWg"yw+tZ=p~/a 肇 HP >h7M{kJv?z67<}x&.D Yދ$[2SoT$x)5ptlHo'pGx鿸2?+y)\wyV; iY- M~J< jā{@);F/Ź'yr,J tJ %{H[ga:h4>hH CܦВ%#n[F+@%uq:Pa'1륃+MyG9cxʪdUW]VVPOфQ ju4[g]+$ճ5<!.T>~vmXBKчOx|w0Hˆ}iR!Xmet!wkBւu[Y]=VV'bԱ֢qS6rĩӒC:ݙ4hL#Xٹsc~}9-k[A#a~nCF@x e ~2݈:H@!]tG>vnD֍c/GqJ-L6=عwA&޳t:}diϴ 'ƙn8Av4ެttfW)D[|* w=^̨ҭ_d!jKW!h9q\Y8=fJ7ϕn:1|=}~z2~={rf !/_{΋׳GzV#KrNe lۑNt+.8b3rB /88y = ͟)n+KtY3`9r5z(COsYǏqYN2Ǹ8 A醵QلKjӝYE{Ԙ^΋ Jg[H)'DKTNLqqt ё-v#Q׶_ n/!gҞ)QM}25+Sn+߄qnq;aݓX[a9Ll4zKKOXl-YO{X5o;u-YOgBY ƒN΄i@X{~֑9wT}6:L>~q{~,uDvq~.}Ȇ8Ϛz"}*ǃTx/p*})u(Rw;~yl,C d6ż,5qf`p_^UYvfDz(]lw]^̙Lێ/Nγ>>.؆Aiۆ|AeLĈI2Flvizm]  kZFX8s9(WK=e;7bw}5> ˖m3kھmG } cnW }nn1x7ݓy,S|7Y ñ~<=U,]f3Ac+CJ58[¥3^h)>nMr{T$kw%6Xqb w5b;zMD3ޝ:莞yq.X #U<iK>'HT-f,dcV^$*+V>H,[|FB'nҐduU21zkAA Fm%Qڢ6Swk&mџ㜱dĭR33u;} BL|'m{lK }Kn-.q^b$~:(Ēn;*Ҥ=r7^J#Y*F ;,i҄v}GeGAn8Fz~G~ǀ3 ;"5zWHlcCZH} gBL}=nciMیJ'i҄|b7jk%5b 7Dg 7{ sDb?8g!tb,/7b{mgFά u)2/Fs!4|[3bia#%0bK]v♔S$y3#T][ uboĞh?^q|şv|۬[s{a8ڞh%`zem؈u+im5/vO(IN gWJNTb55~iLs4q/tj4HiЄSskOXVo.v!:>ԑ.)bBtDS#SHon.> X'cIoN'FGvB^#N"n%bm[ZtD[l)Ag!gݺsmĚlx'%j bjV4אv>gXX/}}[I=}i m_S,'%iқ$8یK/481t ٍP[]25awWz6;Jv|>sf;0n#Di hݙvcڄPm'ݪ;Qz%Xҫ$?|Dt Q"Y݄}zr[,J+:!%( w&W"%?nF^8'"DT*Be^jr|yĚe{wzsacc1ħ؜J36nN@еYcYOɹ6 c,@JtzքuvSI 7cIo7;1/;Vu>ryV[:[LNiu~ mPp=Z֎^|'ǹ$?DsO{n ^|w*jz;g >W߻\>|™8kBn%约w%S|P|Ni3}ց={NtVlg*+Nωn5g7!ԥqr+Aɩ˔Ϛrb =8B!rb,6c*}AK|!AHlϞ oe8OgL2ͷw&xsE?NvzKB:PBH/DXܙcI26feH,۽t"%!%4630'ߙhtql>= KY$w;7yW3ݾ-*ߋE7{̻*v*6Tשa[%^ -!BQdT%Cle<5ڟcߐ,Cc'/NMh|1KHM0*Db< 9@Oמ *s~*!UW6 =TӻKc5;y7dTfHՙyX'dM*}g,Cڠ6HseI'Ԏԩ < lK lk;ck>=36db{|%{^v=G< zyL|0RG@a&[ֲ7vjt+SDl)_ܾN&s/OȾbȴqF ==(Q2.\z!{NP{2>c\lvٮ{Ê m ^qRVkG{dƑ>d~zjwcW}e wP>-oۣ1ޙhu묙Gco;s+ܢ|iēY/<}zڣCs_= * }FBT7ҳ@ov6mXjG| -8ѹ܏,8Xs D7P(U~uA1Jٰay Nǝbsד CK)G8 w&xghTh-wv[<wB">/xO,̕00g6ِo+e V851gŚ"5Yc'pzB=][|!p3+ _HHmx?|߲LHյ8pqi7X|.C9RTl/ZE^ u5ЪQ̳虜yqKR }ڻvG,V&dy}p,;}GE=M2ގF Nuq<,GetxAS|2YBzquxba.^C g}z62Wzz4ȋ1 /A ϯ7}hoyvK >̳Fg#;no{ljBJG:,wnsi]6i۾4WoPl =QԣH@vCoOg 錞~Og)@f]A͞z"}WQgt2j<5W`_pRw1uF74S@j_񉀣^4 츉Wឯ*6F1Z#jlQդv P3.*C+ CTsƢAjݨRj3EWʩC5 Sӝ+*!=6 3t[Lگ'd+~#UV¦ox<+ m k)Ќ2+Ȍl?y6k; CoGfmzƣ Zyq}d %hK*PdB m6H38ӠY_GeԩQYtiȄfI}'ICfbnG9d6jtEwMKpou}+2mHVSφ,^ \WV=+~vA_)סW|@j_2ݾlT|CR(s|Y H ddB6GB_eegh^ΐ;7;:zc5lݣ9bXj!M =ӝi h<Na)Ui lLז:4I[,LȖ:d̶<ߖ:6tg2 Z 'R^3/]u=dBLKOH]yeaGJdfmi6u6 D,[A KOO=o)#=ɂjX,Ж{G&Dfmz7#R0L#%2kB722k3:RszGzWq^7̄cidwSQ%vI#=GbGݏD=BlhؐJyL6{6 6Nov+(25 ktF͋0bT|C5`1F-#"2=/螫tP+O,FWK kHb܊TʋՎm +XEЇTdf@z4Rvvd7נ H9}[%#~$]WHhe0jvyHfy>qk>%1ۡ)ϤNA+؈7bKp{ʳ[=lut;i8I0a1ȄJ^'ޘ{SZr'-FFMqz6zyfMI#2гR6jsK+vő&h]XҨFs{ҔǑ"Q}bUlgGS/JtXWX9[mGe#)~#Wynr {(lM ?.`U&O4񋠷#f5Y&L|<螇L#32{z# nO^L,@+3G’#%’TlL)lmxWf&_JT$Xrtמ kҞa߸4-,9N=!2ڏx hGs< uu""~rou9g32ݓQ#LD܀Fw<_ z3>sgG䂉>gaQ&'bS%Gp-VE|X1ytkLN˳ 0%zBIj+X%f -Möl^MR]7VZutHH.FU7DԆلgS2ES'U71^=S4t&t@x!=||eqq(L&ba&XؑUġHm)GGQ.bg8c>Khwz9/*.]EKZ ͧll9]JXTtW_=gNE$[؈ )G^ lC/E*?3d74X+=<]Z܆n }tّa#+tz&|UO.-kdq9FGjo\4w(}ح'1cX6DTwlĮafc(/a&yis߹&Ʋ(Rޒw~cޅ0# ؄[0pt-5sWoܪ .\l¾}s Md摨ʻwaE]dQu|qh!GpQ޵4K%ڊGt(g@jch [@ʻU[2&oSK]jZv}8ymd,O8|͞ߘ>I9mBa|'oatQlؒ^)edVߙԆY}kRZյ:yhzyaѣѭC##1螏+#lV_x+c U뢍OаSG:GjC*VV3 [ [J\Y}.Qp+Hwf͡ٸή01ZiT*PmϫyQoH?"*E6mSRs*o/XEJa/\y{`#Y}Qd .xiϿ #=̫ƮMC=w9@OhHx+hz63wEoV_x6dfulf^/Q׶"5S3".4WEwuWQWQgPʃs޻<~ Sn{T+J`![M^vkk}ȘmoAl+3\9@䭊vDfEBKEؚ<:=׋"E]KkS]43;FS.MhiT*>]U|3pY(2W#my kW?^*QNz6ғe_p)/X9)<3 tvg zeM1clygMJ _cM/R̯96PבZh|S וz~N뼲dA ABL'D~ȁ,)CȂ`+Mb2VȯB|?,(^Ü_}d ;124w_~܇(.b|(2r<~gx.bM4\40e.E;iDM1h :`γX}Cx;#ץnR|H[굎y"N`cux( 9SD%sN{5ֱ_ܠ[ koC JdVNE-s(Aw 0(Ցΐ둎1ꆟ'"Ua]D].q@"#*pHD o/'7mV{}𗓋p%vtR 5ag&isiF..B"֏8䖫+檾⇾u1xfu;F1+2tjȕ:HbbSw׍4rؠ[X"JܠL[Ν/2ml $΀qW1W}cGn4EDŎշ"#vSbvSdVGP9&'GRdhòhߩ˃ץ-!NZodУsؑ(NZjhVSs"#t\h#OZoV5#'&R%B8xeAqFC#sv"˭#-7;ULn*fL'7Go#-r[9Z=yiȦK.*(PqzUp ;ҩ>NZYql8Z[MCh)c0NZh}2 GBQqz[ײ؂9Q0(뭒[pF>q:e9U:Ǟ&c ]4zd۟hߐ9Y.Hˍ{C ˍY*p36ćET*\dh,Ȃ Y 8B݄fY{3M-N.EFWyZGo TGP0-7 ۖ" ˭1o;W22`',7ێFa5D` "s" SȬLĥn7ڈTF!oj}aSZL 5E7n-wk.*B&)L5ڽ6Yi?piZmژT(tt'"`G S2a%2gVی02*L5Q6DΫ)v\- *mƙ_.M\StJG̹n6 7[V¿9./,{Od#2 ˎ~qC z iq!=d"ZANKzyӦ)s* S Sʹp{cDoo.BcaڠOĨ+nby}o=7[p0T#v`?T,qjG4jsmi'BV?,mFaͥȴ[f嚶^{#"mn@|0Ѡ]iԂl"d_d6Y+^nm!hZk`Ta ۬{mZe[D|$rcmM4JDmmv#WT3jSBmfd~Xf jx!5 l-mvn9R6"C vDZ8aqX196t^:{b,ܐyo]s"d4Lu(B|C i-h̻>Ĭ7F|CMCG*.oz#ahήH1t7늨XO 6Cڣ0c4PaQ48e=mmƩ mܚ5TmSS X-}t վu}`6ʂ1' })-fNEmӒ“.xCІOZ|VwVt5#z(@bK]e$2zF`?cDYgz d1~w߇"Cc}լ!ՏUzoA}"C}"db9wE(84Z!U1%t5m]g[iĦl]4צFG\*F r8y 1#Y}bSRK 닭6ZSѾ! Z紾ꚕK닝?-&rzL]F2طܚ8iKZvܺR|dH#4;']W0:{i} SF[ m {#ޟ$"y$ԭ!"#W @a}3ESJ6/mM?;Xtuꬃպvuj}9- Rz_w+dDܚFc.|dVO5~@+ЎDTN(y 2`bnoj} 4t#22\NʪADՍ<Y r*R#y(hSbnT}ژY;rYھHis%&x#sg4aڽ4tFr PUsH!9 WFQ"*C C_Qrb[] " ]#wyO4YK96ܻZ~uړDTw)n:4^o8u*KHdԏ)F L W|Pԯ'FO74!7>8|E '[nUu~-oήXo[pG_bg.2.Vigiڠ"ouKan=1"lĿ &n;!UGܧlZ-ĥĵ "ubV*v2U0Y )H66C|Y 9].B fH6ng!j?/xXPPp=Q95gi_A { H]Qf~"0TD4-ȶA5Gz-ih.}ž4#-KTDJGp?'w5?`TlDȼfCmTKyKH`W]yS"8idTm(R%r]k@7N}b?0rq9ݞc=[/"#-6;~1J'ir #Xpi$Ѐ\uąrB02'a솂0vOAG+}U8Cc[n tM{T_TgUWa, ZSCux%, b1EU^FOD6YzwEfUW:vkkVxwvg޿ +KD=i[D4:~^dVDՍ[ZP(ްC!dnX\ά -w)仃;Ɔ?IAkh!g(<VDF&l. sKg؟po.`Pmԕ^8# */.ok^ `EGB)9F0~*/B8<7ddW]V_wi]^^['3.;>9wRK'nۿ|$gd:TpʻCC B ѯ|:A% )cUpoEpb(QuG'3Ed%2'2k葅 /l#6ܿ PͧD5-h}C%2+W<)泹O?&6_)vbίk)RȭbW9qC8h8RuqMƑC^,B摟+Bz; ;R^h.Ȏkdyhؑdz@cFC;TO djlY'&;'*aAL4Iځ.сstࡈP{ kU"W!.T٤mI'6⌏MfڠY;.qw逍C=ʼtZ`P3yI7[[:G*'&m Q9[' ݪM.=d:`\QdNQ93pL7VХ9ȉ!ui2~`LEvOghd5!N0)O.2N,S5 q_ -w:)mO ݊^fo-UdZH&*hذ>dUК"TFd[C_)2Upf2LF"z[i_}'9lD0&ؚvkAGU}d[m&EULƬ~ Ti25EJRoa21Um".L&_1L#M&2@08ʖkd&ӆ1M]LdVCsH7NPa2Q3R"0m&j2 L(&oa#=,^M6ҀhXq)TH+'vRl$"ZǾ!#oȜLD(6RQ jbi76s[)ۗȂt3`.Ũ YP=VZ9wPnH5/xvAdAVL)2ʹ>)wb[Iq!mH .l$a#Ä`a3,E4]&*TAl$"ui#}"r馝"P}F0\p46eAG#ɰ6l$6J"Z!lyHS4lپ!sDmVHi .ĶU#-Em}PӴuI0(*HM;oFbQ8-ԴSӆ (S9ыF#QĂQa#ͥȴ] %B 2Q_pP W<*Q4L9Ě %2tHNAuQLQt#u Y '6{t::QD}oR2,+8ˬ,D%( ZHڠ4UHfZ ̢DHT||IofOo,84mN(Ymr4{nS*ٓi<"#wCq ̹6يI<͞f0{v ڠa0sn.Rsqha<7~89a1p7Dm4s,jv"FV̛ĺJzC*G1f=1T\uY$2kӃDiڠV"CN)Mz$DDMvfGh9K9g霳t ;Fe2'2~윁W$D~97k.sP\fσv: Qn=v B0{: ;W칑t]cvB}Cd]~Kng9육ХRm͹8μUd9'O䊌ԐY.qh+2{9k(oE?SqI;'/7^>}z9v7D[o܎Ԩ57 5QW?ЩVI;XP5EJ~K'*ogݞ[b3!\RQ- [Ї".r}*FM9$:&2+OKf)"r=X2[u̧<~AS,,ƓSFKK&؊F--\P Xh8zb2ZZ27rFABUsNU#P:$4"#oꥷj;]BQi! S#OQ! FZ2MСBߊ^"C5JDVC[0,+B1FdV-i-( M?"jEӶ" et늌YY{.>u{2 =g]&z|"T-GŞ-hjZȪ`"9d6j#dn*{2D{$m"j"W͜4tKCud CтaɰV]PLD%z^Kw-Jh.7keaEŒ!2tHuېȴucOb’9,GGBi괙{2[*Ğ 67-`xi.u#U"d>:m&R2͎ɣ-xl"d"j$sothhU04342Sfe4]RY朑'2md-?70^w`f)6Zݣ؄ ]U 0Hh?~sNB%?7]08]zEKb=Րdf`! Ҡyu *MӅ]v e-UL22t[r ueS`*C0nBڴUbVCӾ .'&t9Ȝ_ Va'P?l(tSC*hUl+B0]b6t  [v)(L 5Q!𖻤QVa &6VaŽ ӆȉ(7v].J0]84ZD:|kִx4.|al DF֕=lbta&o%~*ȮYi ڂ3M 3mx]#ҠeδU>0e0]vkR m'.:V jT~Qa\bUfGrM*k%2QV. շkumŬvf*Ube!fa:u̱B.:ȴdžªKdV8z$U.6yj NU0lV:Mhd*ɹ5FGY*fih#_|3m7a,.xu<5͂KYti VXSZ)֍#"i3f*jKDEw:Vagتe3m΄rBDd ;Val״ue2Qn >'}jP][0yk*_xEeKmVDrd,WlLlFV^K$8aMѾy H1ʥŝ97lM -O?ϭ覝Say$UVtU# dap>3;4C*SK`c&m` rC]73 H8 t_r ]þPdkh g4="et_Qs*F2{UPBoF}UtEdMCc6Elՙ7F^"Յ`P PUЎT FU0&РirVhu8Y,wkλi{$~$]R]/Kbi\44ҜF@WT*ƉAHiH]ZU#RO9yI%2햞Ɖ)RtG]"8M zO! 2\/)s="Ysj˅;ՔVd4m4 CLk!WYjTgpSQ]"u!Xs0g 54 g]p"g9&ƦȴKCWT}="# kR}bȪQX#6!RYr_&:q2~<(WNyQОRyjiڭDGB],Cz0YFذFTT^ͭȬb@dtQ,@3!ʕ *+fGJ©/=f[wN7ou©jv%ެFfu1N䠠VoH`ڸ)DfUXo}DDAJh1E kd*\ya| RzÆ5ޒڰFƐG= BQcu8q?Tn,yN;[*N֕n5r#boIV֤4Nyhzac ʖi ږ3L[7FL0JPy]QDAmlE}U8X[_'؏ +Gq6F HSFUU)Эi Y?l9yE_*ٺ7!2iK*u0 Xɝ'&O5vZ# iO2}C-Pb*!&#cF9FDF'q{#> (Qxm,uv77pihLP/GQ;"9=n\ .RMl R9>qg+~,*Y=q}UFֈ5ž3*adȫ,@Ǟ\ל=v-V%yu3%*VnY표:.?q(ֵ!!;lu"q)wFIVr!QiV.hmiUBd#{ڞŮ}xC̪~8LEn uźi t(uqdw79bx2gKWNI{#"6`@2h6jI _18io KdVG0̏?h@̉ #v?uOM&Yn|x6bB$4v?lHB'. DWjh ͆).\w?,5~i7*v3c+"gzah NӴK ZܚkkpED ~~0Y՝| GY :ۚ7n#Y'Bio8EbH+^lUnE.ŭm _rk]0"X9vF<7 n\G\4`Dn0U+/PӶdFpiV|p3u\ꪹ-w]&umm>8|A*Ȥ٥ȬF.8t6rëP!"t^Qn:E"wOdw?guw.B]~`J=*("[?Ip'YХ7]9Ϡ"% ]C?0$λw5N،_83ôg9c`hM(Xw7l{ckw,coUg;: d]~{i[ܡՈع9@d;cew񷍨` Xvv'?%3auMh? 3Ɩc`Xz1~:?Eh~84Ϋ.ܬQƹ=~Hjȴ1k\f"6;oK5;7¬p h2tݧ.ag icn;4J_M_M{l9 =_ L 7i =yYq#w :y 2E-'|Ȭ;I;>lrt6\j 'OK_^jki9[o =#Yņ{,W O 1 dlhG(7.J*ƑИ[lΆ d .*Vvz[ŴL5 V]lh9648ĆƘjHdžY[pi 'jr!ȱ4<pzC ?\ԴFr5ԥ}ЀT^v/2K}hSӚs"[Cq<Ҡ]G獣'yʀ vSg 79fu{'FU 0{`|2_S @U#"ŨS} c:s#{p!mêF"C칃`+.:]Ϟ;Wr~vzwi`]1!UXDh(*OL"C`X@nx$th' cܰ(>Bqqu} a`[z4+00â, Fq4Qa`L,7.}@VVgB8_SbX|=džN"e67Ң FxDHOl~"4ZCd^SCjETH9g *V], "*z0ʴ q3\pMRx`1^uJݫ&1}1̋~)tO\;He{ȂNBg% EHW U>WyIC}#~DV𧚡tځHhŸjv$8P Ty. _f*j/]C7ph]Z.͡ŀEeiQGА9Ңȉ&4|\`䩡\r(/-w}k.*YP^@Ŏ&R&b84퐺T Yߧ\droE'&Gy0n"rA Qu:\Ry%庆T<ٴUsF(KMVsd~cȜWdήY_X8ρ(KUt?tE?9'\\"C$ Ic72q !v"FO4D{(U|ڝCWi@=,ӖW_p:5*xm9c]{uszps:!gXD9.Uw9u ,f&ܜ9] 8Ym-j.\‘)X_"5(= :*'~0.;p ʬ#ցSPGmZx#͹Yz\ńme'^@7E0$rSӹ\"C5n ͪjgS:xDWIZMpBf?+B#{ lV cAb,E(7%իQFqrYwEh'mF䢙"r:5BR|Uh.H 3 bbCykō7o\ܜni8Hh\0?Fi'M'좉,H5[Pr]Dx1ND46:FGN"δ uM{JyT؁MCc?p(=,(N_rbQEZ_4w\\!` FM5j2rfTa$4Bd% 6U!OG?9@H8缡Fa3P0 vF^e6ses}#i ]thЖ"T2L24tkZׂ\9!s w֩8(7mFVDa'(b%BAV/@Qu֤7ή!qkYt#W=7N漺H 8EtxŬF.&o9p9W@zK6!U ,7dڭ97T,i$| JCqSѤH86UHDt3oj`}7 T6"Cu*8E0UNs2QsP6_f~>\8̂`HDcj5?im L Q/2~c![}5"mť4nڭufp}\b/67LEBn@me䭑PмR/Qϲy/ȂZ'|fG}c;6p^7QF}mX< MDFH#YF6ͪ>qXpXN#ȩTNluLvo \/I&;+346U^lBإՋ(:ɜYкȂȴGP^q!UF飛i'V:͜6(XlOS]y9:4!$mK'FcZfK'bxp˱)o-δq[i㖣A带F]-G*=7UnJ0 p%Pu*;{*o<`&:n Ҝ~Uq+ fkDF>?ױ|ЂSfӥ^z?F7mAvrcvn]vֆyr;yNyҬ%]gҳ-Sz%C_f9۽erIL,f7{&:=yq+Ndb-QrK"Yxc1 w&;J@ ݪ P&H}[zjE8sXr (!F"C6wekA#o-ɽ[`ϱ' >2g{{=WIJMjOt sڞ4Zb6=iO~TO1\>yI_p#F=iPAkRYrm(WPTaܜˡ*kA bͽ޵=Q*nOȬʳ/{?='tfeÞ+4˅y.I3!sXF.E. ɷ+_ۇzyAFbc_Abd_f,EKC^{^ͼك\ /Rr:`V1a`[ `.@- .l6;0v?* pdD%Dc~̀(*!f4cȎBdW#UY"s>Rn$m""CȬMZR97jGp y*쥈ǫFchک1LqChFC5GC׵(6iӎj4%ӱETN2}Fޚ.U@@4Pe!\1༑?v8py)n9?̱AmHW18V uF^RWV:SdZ(v8V *AΫ+es"2EUaoTUK"Gn8K'j\قDDviOFq]bѠqsbCȇNE:?v3W|C4yꎎDv FgʬP>ւu:}xYWDFiNo;p{pW)[pؑ6("m\g#7thN1w][7x\Fȹ{~cpYB_^qq rG)QC5:d1;j jFS5S Q ڧ6,.BY\,ͺl}nfRHFSkiM'|*^tmdG*gHY*E>+'}* >Yu7T休H1%OOEcwiphB=ح.wB ؐ*&#Va#?\hryYxMF^ϝÉ"eDrD~bEv`9mpr~,&[W X9  05qݎ9.=Q⋞3|DF[a/zTN2KVVޤ_TouK1f`Ϟ?Y&ȼ{9ÄrWMHdNȆ/zQ^6]dkG""jr \ QT[6 5Wc =; ="^1˅37/fxh\5bkH-KBO<,~b<:RbeD35BJU7\KG1ROML[<G0p03pF䜿RB+%ST7!ؚkG: UoRK%BXoFc!F/nO >Y,u1dx$Q(r!_z!.ٯj44T5>>M5Y]| 2Xo6RW<&58dMĐ~3r\Kf+n,(ޖBA+oK Nlvy=y^dVntY_kLg}ʍW~/>PFg}>*66qc|.Acw H%fwsήE` }<0_/~U_2}ܕ*|#+7ōzTzY(yǝ| d;`ZQP&B{28@1`=@ ǀ|{dWƬumY},l;;ʍ) 9f;.h)BxohODx?`"` ;pȠBi@]O dH!_BEO|5Z(V:p3!spW:R`cl1RP9GRsֻ/wHwꨫ _؉tq~&sW]W@* y7R13 U~UhlI :߷wš<'8*nXo\D=>&!7 ~<~GSOwD?XSrcpƔ3O8O.(!b+S0g3ϟLD<0\q0SawE kNlŃ_VY*9Ĉtoi㛝9[7._rV^}o ^_;C~uHLu; nhݠ>ܾg)BQGԬi)ݜ\\Z%rq ϴؽ+3)<쒕Qj4tih}FP>W2GzcȴCC̤MŖ5׬\:҂&ȼul|^ws}y =߬ Vn;3m}zʤ3%=g/Xf|`#?2G>ֽkug!#]xKq+2G>|t::_)Ϫ;] EF6%|tuG<{_fu^} ໡d|7N_ႏ;\zg눔jkdWdS&5bN.i>pS4K6rj#z&r?!dn 1dȴ[1p)}@γ׀f=\6;/8c ʋ9"˭^7r)ߊPPoکi7ʩ<9n V&5i] V%n~7MU0U#%"r,c]CK؏5M4Cc)w=v߬kEU!nk7N7i.iXoق[ШkE\C )X*'ykV1\CCQbM 9M!cKdI>:4b@F9uh4b-Od䩡Vz;etox˥ RDhݹZʵHkťiT\ 2m$7)ozClWY5 6MĮirk VڑoGԟ:vOV0`cᰎ,brWΖv/ G*kFĦ%\"4iMCf4rh]pX5#'"r~wýʍzOET{nuFndH)wTF[[aoi]Z~k7riDk79G9utbYu#j%'"<82'N:X k7CqO<%u =OlqsA@S\vk{J]]vB"C[A |Э&xF |%-UH1\{{H=k{Ѿ}jZjܤGPn^VI8]2bp:7Mb 8GB&Y.1FŚM& j\sv&PXDzX?iÂB1b[2b}nZ bM!WWvwuGXwHuR|UP0U 4ŚXSX)' X_RP"s6ťblM5E߭*bM1\[K IV1Q\UŚ55:Q,֬pTI~9~,q,$2kA:#7~ l3Ne^4C{`9[wM96ź3(Վ4rn0:jYuKŞz`4tȱpthι δ3;:O`'ֱ0q}7ZV3W5t푬dZC~,M;oL|Y٦K@x+؝F+P J;~VUu:fΡW*u6xH:9`͙+;G݅;͓sk@ a!>l n=;_7]KE҂XJw-v88 v-a)=Wت;ˈW؋0ҜgAJ=;\ i4j`}مPK3%ܮ/N 3Osj:ovVYv-;EN8ྟ7vFn ׮}o:y*麖n^Jwuegw%t`>2v^n'l(Z;wh(:o&xI=_P햜&ΛEI܄>hʡf00<;_8*'!ʁt<=edy_dDv۝8 A4zpsڣ=ӜJ{6`6#Ɍѓ)RCռ輦jhNkV@'?f'?GN~eGNHƀN~.Lm']K aHsv^JC0ݳ\`YHeҹFflJOs`UCFRQԨԐq|A_-Lr8R2 !V/,ڵC\~zP5(k ݤpM + Mȡ̰WjL5QwQYwNt|P;0VY:>t< Cz-/axH˿k/H6[:^ﮄuaGׅU,uS UҫTKk̥52Ηl}Lq%4v'*jfAH8_B=lfE~IKhf{jJ,꾄f7i*MjĞ1{I>pQgT' ^7#;REn2_R^!?—샣oPwTXw87/{M?[|Kjv"/ى,؇|yyTGVy4W >蓡&tc1;mX` B>]\/YdhqNc1OJz)f?QjKG/I[hޗhomY< I IUIRe#t턤MFi{l6Bwз3F/*g-,%֔ee{Otxs3% oz[2Zdah&&ilb]/|%v ⯸ч,~}Xv^ 8wq|4KMl]';d> wkb\3>hU҇G ϗ><7t#փ?QC-;ŭp JT^SOzNAЖ]g`Kv ;`@Kv e|a`, |^fypF^YXUwo@K|4T-po97cMϿ/lz:^F6 ]Vx20} aAؼsn_2s2q48P](>B{ÐeavY;IA B,#>-#.BŪ.P5   ^b0٬Qfn 80Tٴug'7r1d|ЃyJլ}e`>es|=LoX6op;>LK\Oj#og-c[w }nl:NA1}w ].9[ ζmÓ`ږt϶%}=Kw7Uc^M4M勱~Qل.N/G-Vʼ6˾ ]/Vj3gS;6kل>ٔ&tՆzYCI^{#^"R12}R}сMSo='޶wެ\XN[/#ا^Jw?ʟw޶(nʏRK v7KvN򂝩Uz/1Kvt 15zy2ʩZrڭ߹>زC~( KQ+9l^ZNSaF{Wj#7|aU<)/Β'l&#-)YeIGY##XN_R/gUX^3޵LENQvac[GɏmEC*8D Cs:j m-yI锎0;bf/yE:4\ȼԮ@_2SȼnA U0ݎ["vl6kW0ɼngG+]䘂v܅jSj9޵k*vl:ڭRI0^G躮*iȱsS6o ЪtEn*ۅ lO՗躚d?`Z z+6J;4T+b5ӦHn^7i6TY9.<2lLacb\u7 -Æ2lPςe+mTe6+t6; U˰͹}s{̀(/Xb\ (lVV LAK,Z/(X`"{r!lw&6+M遑%?^mVm!mvFYPDc36;M<ʌ'ts;Tw{8OnΓRc;6-DaU.N2ouOr_W+Q_yaQ_͂|ՕJs> fD}uU@K<\IQ_]RUjZZaՓ4׼4}%PUUV|PVEUٹup7u5p, LKVd#TZޜUD{f腞XEnB3 v*ڬ{9sM^#QmmaY]͝a,6 XƋ*#_0l,ܩj9 .̼UtPWA\Wjw%6%6 % pY3쑃h=*SÅ! ūzUT/XJpn9qO*|qX.aC]VYJ>:B䗘C/^`!iF X_Uid&/02:UJ(=E#J^ >Qx?k) ȀE0o7hUYZӿ!mv5TǪ•AU*Iۃn+Bkhh446kV{yOB_[ Q' Oա}84 aE6 [.ņ6tV[cV[qUꅕ+Uj<v[^f`֭37^ ;.,ah^:emjެ{R7Gx~vXɆѾ75G@թaN)GLgY圿qNLhS歰9\R}PfԎ*5z7~‹oz}*CihxJCtPդtQf,n.OQ8+yryvG}RХ9.ϡG.xͣB7lSRU޺ o \Yx!ˡ16VC6<)CIwz ˡb^S<(\1- |B:ˡWՂCC9rCX`rb ^8gˡ+ _0nf?i=v{E&U/Ik_V]hbGGp?cb% (KbPXc^0V<*B@ZFyG0~ʡsz Wn,Ӫ|rxC9򁍭 N۶^?`%5^ʌ6~hh.œr$ !,ʡΡ/K:ˡ1}pr XPס_PeiH;U 0&N֥;Gșy taVy23/ww濈[I 'C] F4:#za.=]X`1;5aNM):QxGbvHݝnmڍN]Ƿv=ytv|QCAUjNA{a46~ ECraHKJ"[u^&G% 0*x~)}By 5]P6 ̓Ikst7|]aA][N9h (l 9luh[^8yRAEf[޺Z Ur:m9aH费fK,FCC㡳VY J wǓf $aNШkI34BCa94BgI,iF$'GFl/7k ϡN,Cl:B<-<- . o{CVU֡ #my RYq޴hhSAa[xvig߄Qu!-퇓% Sʡr8GI~?4oHe腋'Mœy)̒C pӌC)]9 (ҖFNvxThsq.%Ȳ(ݩ'͐z XP_0 x #=i}ϒa5pNEIS"KfɀQlV`=iJ3f,y JXxxPpg;s #;96 44'M Q$͢,Y `>hX,f:KS6{Ҕt.%#ߐ6OIx13̅(K J3 ->Q6EY8 q+ME24wJs--ʗ04e#Ҕ4clX ͖%c\Y6v9 ˒WjP+h$X,n;BXm# FLg֖Qwp:Qfs6Ef˒͟ ,#-K^xRCXV,yaՃ4"iYJWU0Xgw؀ }C۳gz`&T4:Գdx܀adޞUrc6İlP ~lV =cI˒.]R+_ZJy2%cLZ ,K~C;ۇ]=K=I]q^3m xdJgi{#  [,FOH=bTdd&Uآ-z6aHtwxJ~AټY]uHvA^荒AY\{bitY FCi~Wϒ1-K:lZKnF殮lod J`۸۴IZ #_Z>yi-m˒- ^kmB%aY2TYlr߲dX02`9i%tS,ulY2ZZ mnp6ye%*ƹ3Ζ%p`n˒W\ CbCvٲd8hi1;`e0bX5mYBy996fdkڏ G7`ngagQCerLg_K>e(lY2ܷ,y!dž>@֒.;0:Z2Z2:֒GZ g߀ 頔f7tV1·Cp<[Z nY2p>ϖcBvu75Gݳ{ZӢYC׵[{J^];CbݝrYWn)V* ʠ.xT4ʢt]\_Pq_SJs͞呧/'];aA586mnsZFgIpb  `ϒ "-vN(%dԥ}›z X+4߰ ON#ȬhwrLɡ2 Ny.`!-vdWS:'08{ZT,-+ϒv￐Cesl 6aσB)||gȳܷXMxJ E7cxZ; J?ii߰8OQb4T*.|yl -_08\qhX̡4W-< :͍CVJqlɺvϒ#K+KU,-XYfXZuR2Νq]iQ YZRӢ4X yޞ]id2Ζcq+ --^U/fRKU.u6J) .>qF<3ZJwybʺrsta/8 n>=*cb<8c7*6{Z#9%zj6)Yr2-N(7=zZ XTB\A衛=tb0*,-*PUaUCHH~^͖Cji mn 6⭻пmC%H~p9eryPVu>(KyOuG&381HyyYYRWbpp^-N'WHU8P}Qy\i>3y g@-)=;υ@N@Yp4(@"TVh>tfKCsPH~C <=x'fx]&'B6Q`<Mp)vB<-֨SR ȃ"܄k)Kyp*OQ6κisuQID=!mjQD=WЮAYy04H!]pv%y^X⬑Cɞo'0`Zx l -GoAUta0Ξ ,QU's|ypQksQ4,9] bW^'+--8 8oyUq {ͱ9oluq"y!3~Aٗ  sYoXX6hw1k敷;87ϖ<R͉¡\؜faNW6La/%H1]u66=z]Xs`FJi#Q⫄QxQm>㉯H%R9>I餪zP9WAa$>\h<(-]4"œ 7[8{R*<Ҟ+\͓u\hf˃_Q,En6e;mŐ6͆<`-_ng݁v$d`G7Đ8Ny2γ_ B<yrޘy=P BXK|0m^h%'oxPw?h_497æ͛ccsl B>tqތyi{ 3ƒ8[Q8uG8 q\i(Hou)Y <#Dt&&FNUqDkP<6´pcc!NN8Xw1Yp^6R~tB\CWt0 FA$\4 8V†^9=EO@)8/z*CY09E/`v _Q+Qxp~(| es/(<";K8⓹^Pc/x9⓹ qo} UXӉ@+ƽM\͌s6E s̅ixwD SB,"fC½R@J;a:uS4T-^' &<(|Kp"&É"_9ℹ s Y} naޡ YxӪ͇6yo FLvDopcp8|GlC޲jxɪ);bSfǘ`0i3b5Fܘs&\5GVMNԵ)7 4]Ae/Bim+ږZjrٕib)VV#A8Yxl%x$-I(#KZjg'i92eLP510c&#W%ʔoY *v[pbNJAƒL X+06\!_=HeW_ @2eȪ:(iwDrIő2?ҚaL ڀU}G)nĪ1΍s0`LGJ/Ӿe6w3A(Uk}G)ncݞfL ~%#m6:*b&R4q\)ÜT/ԃ.2MVGlŧlq0F׿"Ei{D#gq؆@$:If%TveXD|XmF-*L XPBUcn J _bAqU`!,ܒUbA3XPFݩĂ+ړ!%'Ht[6XP,+e:ў\aC[B Ty.{[zD{2dAv=t/ړ+={c`0 ўĸj !<)͛!99hhO"86<=sў\UntY>ɟQy_9 `ቁ?~sr!``}Q}4As0 36{.v\"r)ùt| G&W)ewA45g"60;<7"b kÃ"̖G&M. .ڌ";b2i3Pmhn>b2yz}seJh6NNJo_ê'F,`!j7M{$\{]/|`}~A5TJYH;H}!v7:2AF#6hcq0vidz}ƒw]Š^Hv/Xx=@um LUNV)&gDVBNSdO>es*ersYh ׃«|!6gڿ(</ 7Um>UE|a }^Hn ~Daߜ}ƒ { NeᆆO^)sA/ܔnI2UAN+aK $l6W{f셋{ U5M/ vN8XVS/?Cb/, ѨfS/,`U,| mI^Xnc`[#<Ꞿ{Bڂ `:‚X /(3zg:mB?q$}=>ƺ&ba9n;+ &p3&; 3z~ B* %"\uEm^ lBNSާ{dalFp0>eOٹ_p=粐nJ`P+]ᾰQz^xϋppNK#ds i!́ȅsQI6 [id{?^;6לj>i{P{P婠#/lvJNj^l7Ob.C F5 ~A^8'/@U"LPfBiA#Gt2V`y!mp^ޞ؜(D^!:9D'mFs9/d`祉x᥶@^᥶x!lU3KdQwc%ΐ+e`  s^ΐP){8DOտBi0tAUT-/x/h0ϱ X!֔Wc jQ!WX7oa,=`Ł /9^XxSK.HB.^X_ -HBL>=ۆ!c3/l,|-p t-oh$KPf-Ĉ흪f.JݖQPwThv(F#TE#$\|_ͼLR9;<A\nJ9_ڼ{a%̻.5TmNw_8|uG;TCr*mÀm GNCb{y[4 Q?rC#OލGhLJi示=E|aލ|Yv/\,fHWlNJa6ׇpQpG󝗈>"u*{%RzE7{bIPe7!{e ځ? +3z~! ٲՅ;Mb頑( (ڵlR-[h{G];cfV vͳRԐ` vI+/|W98uUo(v>TFn !\f_;_lu$luԐe#-[]״i‰5{v_m*Ka2OFaP30-[-lͺ'wG$3DD {pt.J ae-[IG(Dq. -[͕luRֲ-IVt*VW{?-[-5541(8[|Lo@B[i63j:b2#wmdUF_8'.jޔ4OYG2`x4 aMӵu(k+I=ڤ*3<:N@p.JtEӗ8| 8+aKDDZ CTt+,*VGuβ?,(PMԐYojŵ91: 85㓞rifM+M^S}{Mu^S 3{M&|PfxzF&NZnxҜy/ {?'ň>9 b\hKPaDZ bē2 JgׯăV}v9D禪vW,XW<nصi:{"a j74{PսBބ6>M/~)_|è)͏/\~aEO` ;a?ouxJ׌MxPHE )/P _s$kՁs .. ̵dC4njެ{ mo[( ?(1]tEyCs^EOwӅ= y`/ '6@'dFiziJPex!IWOx 'rDc .^)\ 2ڿ`{Ю!KOvSC!ΫIDEh/eM#w!dw;}ln`XWQDmqF/o78g(a7=M}^ToëTt̠EB1>̋Q4 hO>~E׳`|]Q MP=X䣩nUy_^J@rue|tnp>褺h|Ѹz~m}>'[D}Ws'3џ.ߎ֒qʍ*9ynw.GxpU|,Dyw{_ ^Χ"t|n`?h)aC] sO>w~ѸV}.آ+|GO>>k2Ɖ~>Gلh$̐U}{h~ӽL]0і&5eJJ||r,Gj4iҖ2N|T4-;})Q<Ζټ r\N:^8qnO8q>|F s$ A1N܊yfڿ(Vr}$Ҏͅ`zOW*=IuRد+A1!3JzUSbFi#T]*J~] ͧ8%năQSb^5mQLxDnhubB5:mضXx0]U|ڡT\-┸pU#^(ͣVmecCda198&͓CtVJiT5yE$DQDB«PP;"$!\XMx`N%H$WE$Yx=(TԔh_xσvOCOzP +E]Ftŵ5wE".AiӍ/|TskDH=Is)H/Lo~P?ћ8kȅ '܃u'5/Bi (a (q 8!ngav%#K@W)=I.,3\~SCkunEfhBY*(S!z"Cn}Ji7lFɆڬ{B{PxVYhdm'ZydeGVYQblXN8'#;#AFA{Tthi1BǙ2<2B YR][fUn#ӌTGsn?B_P\Oj'{yR 0;r10\S:C;of_P!:|l6NADƙ8\p#PI]f <&!F10y27ʅH\Y n(auXh1rᑑyBS(lK#Q.\x*%EPB-VJڭAͶp#uJCX`' w4Gavb] 434w#*F3VuFsڒ'(V< IR>8Π/yT _dwOvhhNJF`g^c!% ]y2Bbw&[ԝyM *Vn>dB&wtP:j/j_BU+h$vDp`C3B]51!Da_HiUkB;5BFjbB0.jRP{ 1rǤgrLM19.L9FixƉly((qnፇnH׃@[k8sa)&&(O1R)& M q"܄ ySz0;9I0D=6Z,iLGh[S:]q5NA`QSupa7Q9!]9ǩ2N}Ri>J1Q蔺XxQ)=h=4_ܨnk#76 zyQS-jyf}\S_ly4 JTPO1W:'5/Mr)JTg!hh6BF2/j7>H1*>J1_PJ;@}&4/n f9g +&|r>:*pgsbܜ<)OOSawE)fݞZb@chQ3Ӣ,jj-jªUAC%E\l.u;p,ݔH+nFVZU 0{9`߬훩,DY. ̰Y@s9&{ sz‹ҍ^4)(ńApa ;& /BPR}Zb2ULHɹ7:tq^j1\4r1q^|RVڣEdN[4@;ڃ `-:v Sai|8#&+T1߀vMgkśZqͺ˃4ZJ1QBʀeP:as~SSH]HwUEukz]XHPd H 3j:]+nV2`$PpTt'Vb$hҜPEAP AApfC_0b$z:I^EArw?^VQk* *΁4x +* 9#PjF<ejL6yZQ P~5SV1$L6k*F4r=hח-9P *ŨdE9(,`Q5rɣ} 2EJkW.& wh ).bn`ckUKS]RS̅fdf#7 h ]b.mmb.lkF3l2B#mr@[DC[\)#Yide$mrpߖ-W -[A[\XoF*,< i-[b\ٲ%̖->/[R/X4_hU-  ۲%\eKe- V FE馪h)& [O+88i[xHNFrqCe1S"Sna'rUAl>Fn>ΛO擲9lNS5r*Sl),Li9%:SCR̅+݄'9BX srftN]yb)Sš:{N 3,\GeRbݕ{߮"=!);9%4OE3tC(ۃ­Vhn8w(<l})8Q6BǨΘ;crwƢ&9][aVX@Z5:)0ui䠑c# Sa XvVXԝ~ܵ30o:umZS/k‹p/xPx]o;߶tm ʹj@lum5B5t~]=ڵ0K 5t5f5V.쬛ΨW1z_Lt J+aU&ˠt£2!vә:B_Қԡr?RCo[vֿ2'eXrlu[4B Rۖwsʅ4W_ YI ʌ(#eu:%9;SdST)R(XSJl\ SZg{h3iSn'u/iSdբFkh4Ԩ[ aWZeݽ;aϠ1W^(Xrh'< gӌ?vr,ݩsS0?Sf&0crje:%`*R]ͥߒ_FpJ_@UPU~NJid݄BXu\p#VZC{Eba2D&s#o_/+SauG]?p=6<AuG&w2󜄋pHW@QF.8W~)0>%pIyp*w^NmvL'R΄y l>Fg SI$ڄՅoa_N̓pX:(\r[:D|-O"pFY㼔S 4WYs:^L"Id)DA8n>yznP&!m6(GnN|}.- =E\:Z5zgX:iR[=)V=\>)3:42_K%oKָ;Uuth ';s˶ Uhح0YDM5d>4a5h3zǛ0u(ИxQꄛ$7]]R\])ȍRכ-B}vx7Bp(AaZ,JH?8F}'%?Y領^NJJndlZFbQ9}zkޗmA2aA[[),g&]ef(R^/%_Z *9a%ǀ;c}㝱XbDJKbDBφ!Z[Hw7#R}4eߺV/mReߺٵ UM&6Jayo=l[O+VeKqVN(^LE3/\T>ܷVVp -K%3/ z%4ݍ&dn4?`6Top٪F[d1<&&a\Tcx_YT\Ԍ;kN" QOp0dPr .JE'Qu 3U 1&8 %/Ѩ  qNp?2DIx:%n g{4ݍ_pNH(&T#&l`L"NYäFbXa&)FL".$OIb*&7kX)jf A;- mхnkf~ K #яeÎe^Y AJA82L<~Q\dQߧ0# ]:ߗs/|/TQo/|{qhqxq^G9`3`ˍ`}`g5JYJI$Mȑ1lH.&acT]E$pg )ƒV1kd/ĬaYza0w|2&he%3>EKXWS-8rk| s)5nK=GȱNx ՄR s%;iHe2Bz%ǯǔqw=sVað?P#azH!K_ѿRzC0~=jį+jb0ğH7Dr\_,yc0_()elo;~=h R+]3+2~=FCEJ^8a/)pX5 ˯h"Zv=Z-ℍ0eKTT}Rjz@'{)LYcV2pd)Sɳ޻ro4%KW&.GP)"e y^LTV8iJƹ'٨}XjCXp0q"g{W"8D~ܾ"i8LvOh/\孃!!{&'.ClxRJ+Cl7U}%rZ#3)5qh㬷\Bb_(UuV$U{|_eEQ6*FǓ)㍔|4|2d~>Ϟy7Jn*Y#jRtC`=ɒR*y=uJ.دV"?81pw \I`߂E$nAm z B͢dV!q:ԪZh`YԦ@:h)Occ%v&ބ1.X5fu?\ _QR'h<LLpBHNU[#)*yOl[)C'-4a4$ j5&*F   qS:!G~.HBIBW{+ }L<8.%듿#IkJxqL;XYMe,j11/ rHlu.ԡ#瀞IBOhE9:W/ܟ UY#Y me{/W㪒ЇH評t|<]bu K|PT}kfjOgA8X<:TԵ4jaz\fzbQawxJa&>& S:0d2 c %C4,[gQwD3E9,LJN8x;륒;ؿJNj5;>atl=IIRvhLޘ&2acbΨM&kuqrhvՍ2E3d_݀$gC?†|k "yj/B*҃U"H":eW,"MőDȨRc#wB5FTQq(j|SqTrw7qꡨCQoɊU+y_%3L C ot"ߣ7ɏXh5D$"ɷhu#TDI$V q%d+q;ν's†&k}&y!&H5'l\ZT?H'Ť~i: Ng"@鄛ZՍ)!Ʀa7zJ>tPOٺN?"t w}:}:`ٺNzu:ӯ(g͒RM\Uu+%"t&.S\y{#ˑ`,t/;a:ɕ&s LZ40'S\铉9w}I-Z9CL=ݎY1, >ߧ}Mi1*p:~qbz5߃-qK[݇3z/źj`<)o<)7GZyyg}2qa Ls\yyb#1ENiM$4|evrA} \[9oB8;!)g33ܙ`&V*IXONbC?8 %/J:7j?XVCI L }Al7AAq4'ĆNk 7č)4dNjVZ`(ynº#٤3& w~Rc뿠ϩ???gEkNBn[XеP0WϩC}RjVN[9@L\1;?8O^1W6fC[_POJ%O;wN%1LN;?$-ph&߹ .JD|-X'Mó3 R@IpNXu&9NiO )V^M"8?8'ae^^$"8?Y.a()㌎3h'\pXrlt8' SYWA"8ԘƼܯIpNA!qd4t6 %a&9U-ئX1ՐxuZU SZwhĘh~Ҏz5$FtvΝҍ:M?BUb4Θ )FfެrBc'<!: eN8x^>V4dS)hȦ!ZiGG<)KnZ]ѐMqj`ѐ ~8Ž Km* ١7Cӝ:Iav 4L\" y&x=M/yss͟#)=>(]SSSgdgbjCZԩ<VExu,jt4E7O;N *9]{A!3jt q8y Dc5&!qÒ "Oࢭ FXMA^!rj]洕/BGffc'jИxA97١7;TP3I>L4,~y7aJۢC vVŷS,~p!Avx#4şEHچq*xRƒJĸTL\U=?<=zۓTbIssۓTЙxCA@ H!ĝ$OQ{:ڔj'x&X ēTyۓTb5hEӭ%q#4j&w8ZU}zh;xy`;@G$?hyMjQGZEwGEA$5/L6-;J>" ? !' 7P6HkL˾}xMe?$ Lp 쌙٢FMd,>U*j.Dv5YԦ^qOxeQه8&FX.' Ԅ{Sq$ Wyտă'Ƽ?Hp;J7Ur7|~wK=*7QH7jce9mM颴Y7SEKԨw{V%7-|kiUz.XíNk85~_ɋRgQUi G&oj_kxwtM*ik85~K7~C?cP, 2ٰ)׿- [QZ~-ClY2|?sbMi12|-&Poϱd&ƒKv4Q%7al[2|ԃ%WU_, 7j4ŽA)"dM ߔv4ݤ:9&M7iyCꓡ&o J'4vthmJVZ-juBjhԃu<`O=(:h;*rpY"tVD[9}:p :ނ-8IզVPC[ju8DEd}f}+qxgl1t"8xIH#?*>'11dbjhpװfUL<(]ݗ+voa#Vc1y-oWw6UOiMtKVy7SDjVAoWl\CgcC[S,ytC;tŠ8:6phkuLlN[9s9mZmju]>㣯}]W*:zqu:;_WEqL,ۿ)&D}p~K7֙xNTԨU=5t_͢ԪcIUɝZaU/ZU}rrgZrUT=fMZrբz!H˵ 96Dzg#L<'ZTbZrs=JIW1-iR;6I˕qULKŽxi:;xO)NJ E)ZjHӝF%Wu`Zp3T%7!=7X_汉;mr?q&nXp(z ZthC/zΠ ]ۗ)Obѷwl 1_L'],)ݔ{AfcF./$4TT7o܄-cfxr |+3U+1mVb>i=2Ih\b־Ԫ}FءsVյڗ%:&簋簢>iVZ"oֺar#jΊ(/M[EʍOߠL7I/o_ygCESZz0Qk4wV/*.mjnSnqiSj3KĆ]`NhҾ 6Zu%ZPVZĥM^;zQqiEҺV5.-vqiSۥƞPcSѢ q>†azKUEZ]{oWfuLlV<{ ]I%y6 #Zg?[ɳ~UoVmV[%yp{RvڪwAXW2&:.Eݲ ;*:ز[}}v 1S-{wĖ=*^uʔb˞Tg딮*^TqSuWP:uOZu&5:e&^ %zuT2S>AN:˻ VN[73US?:,9O u*O%٢?O:'JOd6!O4OɄ: Z5BܟlNoc+'[?獜?~ۃRϷkQhu~۷.?uk kw:(Ɔl:V/yt՟omy}VިFog?^Ɵo%o\e߸1ۧ>AqrAqt9&7-F{ZE-w&o0}e!pVrgËʒ׷gs}{*Iowuw,ԳEP>z60bn5ù P὾P ZηZ]Lwwwa݅zSVBoPX^]YQ«E sUl<+XIbUQo$JBb]"Lww]ѐ85pJ*$֕$oi%5p~ %iG]ZMj5iI3qf7[v5r.%iǮO;ؙxiG]=iG] }ZBYW{צp֧ Ԣ^AJ;>WRC齂y j}z@؍0uubv&ެ蠽5dʘ 5] ơVQ!FkQ{PkvVobVoZZZ:nVtkh%vjxx=!╬Մ9Y QZbʨ\[ cVC,QkJeZ WFMk`+֪@:ٕaj^h_6d^#\N/#lh`}|f%/U3v"t 3@o/R[J^ZabKuջA/ճrKR˱/U=U{<%/Rt WԗxCg? ǣKԴLL{:n| J^XYKUEyW5/6K}{+y.:^_7W E^"/u1bٕԔ.J de-xkTYVRNŒXbfJ- GΗF$j 0V2O Sӄ'ZtI)]:jKGR.IocU#dE.t$lE[Fiha|C/IMg/&vͼy/T }OzI-2K2kJMx.!5ZR+wVM[mj붡]%BhmtP"fwo$,ō)ƥ//]>ЙZ'M'Bo^B_Ih̻~bfF5ըov-1@G ']nk7)b>Hzݽ\b>@:L"ɢXhs/1m5?Bjv5DbR®r\ՅO%T!J(/bb'~2ç z={Zxk-zESwOMh"jUEĴ =كU%gSޢ|=tPlz#畊uy)H$gJո@IX73u8֣UGRRN3\y#y#,iyoJij` 2@飼{eDԔn=ֈK,j񌈚)ʈw5CZ)UYH kovzo@Ms!PUQ}>w)jV Ԫ>k CIGEΏko+Cu9S1Ot{VjSέV];tJg{;Jn,(M wm &͝9*,UANS>CL9ͼܵVӗxQ,yNzCɽS:'UVn*ivh1PԘyP ltont+(԰ GXtw;y RaLtCIZ*iJvXc 1ʜEmJG}}o1}'!ZH{q -~t ΁HcJ-MK:pv84N9Qʁe_١qVgީơVw[;ƇsQޢI{)JJ漢>VW@ Ȥ ƢZԜpnt'lhQq@Q}211Nfރv٠VɢeZ v`{zo"ͼ=891)ecF5&8ƹ:Z]+h]4@Z4WhE,~N9r~tVCQIͼړyiM56q8T8]k]wlJGr +vJ?.,l]E8ᒉp׮6U+h]4; J6gz*%wѩFqaSz ZE vjPa9Rq`Amez?eY.Ŷ%ASZV]'wiE,.[RCZ֦ʜA8aI7i+V~M6m;H{Hu^&<aOG/ēHވFZފF\\GZk8Z>I7:p wNk-w]\lQ[V J\\L\FNkd^;7LiA v["]ʗiFwŵ̢ŵ̒`bv٤bbj57oZfbVF[{hz 6C\ʔ.gQE5*E|PѢVZMxP8]'@r'%Z9˜Z]\`'PcSM[mz98T8PbS>)shZl'턃$"6厍wleؔ$[ޱ[.6Ԫ^Nw-66w]ɴU]&RL @7!.6eV428"j5VbSfI&R7bSsQʁ4P\Nwg'S+g']f[vNw;ݵ8V!JdBX]>#@tעOX]wv'C4f?/S͑e鎽k\]w]{:.+;4ܵ77q%M$%FX6B]|М GSKwE|ɗ/.&KG%"l/8Y/NZ {>|Ʉu&2I4Τq&3]NKi Zޯ>NdB:!^{מɄ8 7Uo%Hz$[ɔ.U9 :WNpj|pC}xrZ6_Q6]ЦVZmjovv?]́t޵ #:tAnV{2"#dDj1"sHdD*/ɈTQ//jԪ q1"_QS+lwL\ >qI >qELwԵ(UrZzITE#ly\Nfj:?icHH\NO.48v&'ITɋZ-#.()$1鮓)˜p~ yGOcN89r1'ѓ^wyLHNuAyp'1"tMx[yͺMt8ZN)/fQċesSJ?9j0vb]"*D\I@Bw_^juuP%;]4ƗxN{i iqޓ(%7؅B-.52_R:>8a!vx viݷX6o-V5ŚRt(g⠛E-ր-Ƴ)Ox [|j3.+F<RƦL3Kgl#8 Z.b->O-%?gϙ8s&s-%?,jj EHoX|"$L†>"*ēբV7sΖo%qTS@E)5Jtvǩ |7JRM6iV4fmv١'Y)L|%;,L%ɼF*o&>^ .ۈb&fQZ5c6ѨF bgQpROL'*.%G#섃pM+rJ7u a/^TTTƩi!o:dQ<7aDELi'K%R2Kly̰"uY#kf.*b&|s8a!KCX9r 9:eR8SϩFl~Ag/P2#8ᐳ!? P#w9Cl`=y=hn.aItq#ꖋ{Bt}"vq"GGG,·q>\Q1iUQ,jSz^2?7;svLG&^/wfB~~Mv2$ύ{' VjEPw~n_WIZ]jD_W#K%oTTD](".~_F"t&/ҟEn_~M~/wf c#"N)~g{ ) ` `i!}4PDH![EHߔFH!}!}_VC͏Oj"o*!}󣋰/O!KF; [jq;v .5C uȪ\Ot>߾됟4 yIɵ ϛwC?X&]*pȮq%v1!ZIC p/8[ZCޙ΢~Zm50?|c 7oJ;OC>2l8䓉\w r7UEU)/n7˻יxػݠ걎UoGhȻݠ=R2wiQԟƐE}E}ސw&1TrgHn/` bCv*j|5i5ա2y01 QSrA$ O%Ofﮯ;ri5Z/v8a  "t]Q> -9 yQHyhfx}琇 Ap-rA8맕VV;i͏8GEE|[!9?<`r!W*?jtՔ+?[?OGPi5ejdPC%EhhqLCp;S,S/Z`Vit.K5N`_Z5DQJ%ќp[CLi>`] ``fwC0R0h0ߠN-8 J*((Sc㧆Οf#ihڪh)iUi:YO#O#O?wKj>?5߫"<: 5i(??/Hߥex\ߏxk?L F18?YW?qyH~ ˳Q3ko5x~ĿM-̿Qo,ok #kZT64SvOo/OCYeh?gp'G?N{oj_r}GϞ.{;߯?g?_{_+wxd9kk?Yo(_\g3c\ gzgQ}~ޕ[Nn'7~T_ xtm#*VA<Ag] |TrӒCVᐯX%_W ϊNpI{%o~K 2q\Pe,95(q\*Pɳ^Y50<5Sgޟ=~FSEiC%<&Α˒6g9?)-ҽ~n[:rW{/\Gm^GVq8G;a]mR].o\Z㗷0{O(V{^jב3o?gPJ5Ո٢ Ƿ(lj%ރrB>mTa=\μ@N"=8YI[(l-ޓvJ rw="콼, R9 C %HS/Mx#l( hd^#t(iF0@`dv48ၳUH;[ 4rֻiQၳ" 9s_m|)h;8!NBb=e"C/j:C's u+v`|qV>:u"CV!ޓdDɻ+JgQ G\8U:ēuZ5g…b\5wu]n‰N)T8)yJ|=j5MFLaQ[N1;:en0k.Bg¢ܢ4\Vꍍߦ ݃A^է-#]JԄ]ȫ[,zՄ utU'uY ǃT#XOPEAxpVqֲ [lvXvF Aiٰ:8=#v 7̎jQо$-YQy(hV]ˋ=:HpAr{G`C71rp&>o%s=\k2]u]ffyw4e偀Y`LfY2OYV&iͤe20O9KΰqȼpiR{/9a+41VYr3oXCj*7m4lr^^O8rCOBwEiZf⺮kwXg؃҉o.WɡzG(VN UT= U)oW{͢qvKN֊?G(^,ҋXz{K sK/a= ;GO,UEybu}XvEˋGL˰yhy6ŸSJ牥}>^-gżTcQ^ܩ*IjL5 Z5{|PC-ūS{j}/>j}/>}/^^ԸK^|Iס} >Jl%=XHn*ރy& X:= Ű@eKeɝZx g /TX: A`dyo40F7bGƒ.CoĎTΓƩོXRb5jFTR͊}t#*ebQIoD%/jhcdG{Wunxu 9;#s84Nk*]ֻL< Jf;ys>CN%'C%j'C-Fi  $\Lj MxoR.W%ߘv FhuY.7Hk3cRr3/q]n\ho9zIjPA5n;{5En&5 o;%1GOK@QfQR'5= . FhV&lH|}lJr31ƍZCũՍZqԥtRj͒ͼչ)j]iM6)^>v*L]|RzrU1W94N|>cRr낳L.a0uSpSz mua*|/S\'?bNJָGGq2oKwI;JqEe6 kANAke1a绬M`>emSQ5@t.2]J"ArM B=h,jX=h;ZNi*<E)X%$:*܃JIH@Ǹ5X 6ѦW>6$4(uJGC4Bq}lJ'J>TP{}lªƢ]t 5NQۡ 5w;T^͒0hp6 E9bYrOJ5 'XcwS:A55bŋ-G^Qr3oL>Ijt]>(ܓꅻUQF5bY}.7u \TcQ/@{GZ}u>fQcS𱩤j8.7lHiMk}yC ]=>%,ƲAѡV>6-yZ#|>~Gb1)كչ}vnϮο :&l(uQFg/AɶpCN5uNpiIXt4>V쳔j5:u ك -ذ!P9֘Kk̃!0agYt'u86#vShYp(gq,XIc>Vt'.E5h8 /{jlM5MH5AárU?C8~qױ)j_vuUe,ʙx>†Հ)=*e ةFoйWYmnϊ_/BgMulc7}e٢qbbZclJƙI&|ei i ^"]ooG"Raׇ>Vցe/1ZcE({#֫AXgCU69b7ʦ#v;t*9pl=Tlº*ױb]ӉANYT12qkT (&RV, K#Y;p°XbbnA`#섃nARtRA i9)5&~d]b1ȦF5$ND̘{x%X]u:IFd/"]pRor:Gn.47 {cױG{|쑏Mx|ӑ &fC8TS ́ϛ~Ϳ?y7E|g?8x27AQ|,?((8ݠUj?Hk;hhj ·TA֘Tc6<;s?\|W~Й(PQeG,+*W~pR ۄ.:*Z ?h.wycƑq;ARҍ0k8,~7|l&W~?86&~?;Sλ҉=m܄$n. e_o5A#nɩ:&ݭLHmH2t* lnĮ vj24M)#f`?(bWJJ5Ep)6BgcFN1P7&ޕj^p0arF?4 \7`udr6a*gp Z4c(<ƖppI3@ildo`_ԭo񊺕RlX?؃bP-VA'lnt J[jdW?OVIH3pP\uf0a4Ä E`IPW߿AN3< J\ҌM3w-͈w.&(hFSoMhppH֓j32Z:όIrV55&Aݱh(ƺ}P`դS(]y7w#'{c LB,BB3 7[C{J .,J# {c +gJ'T ؔSw7{1acoXʠZAco8YY9UEQTs/ 9(ѬYԦ+ڿ {co* @l~fDff*Xwf\&9Ixjrn, |J6՗3UV ƥW%]hYi*X?>_daA˶XX),܃qiZ,쓐f8pF)p1fܥi^,n^U~L (E*Rj9^:0Wpfd1S&fܥiK*(UJRUwiZԀ-(:RƤ1-](}پr$LՃ'܄8(f`i齞T Fbi|*썻4-"wi.(E-o 5NQcoF*A1hiOEp7|nifAPNbAfol`7{#EPMUfA3s#K J($-j&ad3fWEʺc‹XfMR4-υEQ& ,Ee+4C\h2/U {cM$X=hΦ87 W9(ʹeo &)A1qPnP_cNE'F @]go8͸A*S&'>3c(ό~:ncFNEEGhj"TljSJ3Gr-ע˵hAe]g4l_Fтm8PД,nJ97P&!FVS{LJMǦcHԃ .)têELJHԓrnf0dEAPBȹw#YQ)K4csnlf'S~}_2FH0>|ɊѣHVԓҌؔ)+MVu0YQ>(#YQeՠf !TTuRB͋f, :1dAsҘ8kщocӘF?&n:$:=`)Ҍ{?fN#N)8$:#NUwӌ~i.fol .A FpPA 9i>aLӭDWw*fa1>X| ItzPf2^ထlzRgHf+܎wF2ʅQ~lz!B3LfS礑̦RЩv }Q̦b /= Tea#t֥FJi/:"TB AR4EWOPͤ2EM!Sz”ܔI&zF%ʮf)gaX?* ՗VJ6m~0 uGBe JG |?5* U65iF{e`cT.m7RoKg6K{{g$@՞]Z97NTKDPYD6l<=Z6?3,[>aӲ'IfX{?3̰6=[>a6=ŧ'zvΉ)gSO.lr~(h#J7nhOz8>~=y.B%4,J h˔aS6Tђf,3IUB3DXxeao}?蔲7V?W'R pP:)4uJH30PRI3s:}ꔢW8PX>'CMBSK3f l& AɰhZ0r)nьAYԫt_ayY74C>nC4Kr9D#@o&G9|Q4)8tfoxn!h~t Lw&P/GʌX`ot&./Ct3ICGIzp=fJk-lqr&iI'BMь dr~^']J}՗8һ\ 9(wy:& 4>XE£'pQs~î|&KZVI]Y9'MqP4Д 6q? 49Qsf8G9霓pflBr&KI976nd5943gspp$܄`nd P(s2%]3% ;0GI zPªa:ᆑsN<҅qSoe2(+4C8(}(,8'(ZRf͖V)rPԫt_i:!P7n5qf' ƹ52҃4i7s>dʌQA9ݜ QBpNd,tN39 *ضsb>'^9I#͉W+sse<.y@ףL>iB_Z"d񀪰eF߆ω<<9g4'+6| o6ɰ>B8u&?s+̄G~Mf񀲮 U93's>'H賈?Y8`4W89q\9 Gqrr=ğj9(@ad\O&Z/ ͉qLϓNJLr0RBHmYg&kzRN _Hσ OOB) XY$SNσ"NiI' 'f2}Yg d4zzeA dXI(hj)y"NPIz2pc=)\O&59hwgҢWs8YL# uIQ@'<)'C3II[S=iFpf%(t?hFlf,WIIx΄uԞ[X=^Iyp b=Ԟ'5uJp~0 z2=̴D3?9PXVy7\4 @$ oͅ3=){c\O֓، X@.O&Auf`z2h֓IypN> kBS'@2;%R'=(-z'5J:6;p@:?(R&;n&߻rjJ8 QIdw_6/AS-s2,dPN, S- ^)e4Id0%4~N9SP^BOAԻ96؜flmT?1r'~p4sIýixjxֹʍIҸL΃'ilj du^]h hh?pdz>>p'[ #N&[F;9}ل>(Z4c7'R6BgaƢJ3{ph.͢^ā"4@Ϥ<99i4q28A$dpSs2829Uxs2lNI/5ƍvsn4KzΓ`P9 ihy<@Sqn,>N>S-#0:8^7Ν30&I7p|@ HDžY|jfL!+t_hF09_j HgL>NI'N '/yoj_ Hm28eN،$<ؗLy vp F3EEE;8U9 >P' __j$a&;QqVNeJ3 7Pв 5BgS J3fXJ.JXBό67I|&L&ħQJ3u7flF'*ΤT?o$7GaOؕħD`(F$v֛WNjq3vIyźJQ-#0c00Df֞WWY~Rl0)6%F .V:b IO3' uRlCLMV:x+v\1PgxRl ħTO*WdEY BXX 2M$fb3S;e{2/Ϭ<+ ;a{bb(ۓyyf Ĭ<¦zSJ7ݿW1(Q9"g-ɼ+2ʇ#GINkY8LJƒf 1p20z Z|H!!_~.20"Hrjc,$'…DaK}H->67pr|b]%tMJ3z"|xHDlVҀE{*HmrZ}9`{I2NrZ +m/债.BeS3|S0㾜A9#RjлiƦA3Si%xtͦBY(eoDɚ.$k:8T$65N$源<&ɚ $;cDSFާJjm'kͺqJ˺ŜXuAʭSI%)8QƂ .ܧ KBO#L#ɚ)פf,%lH+wd ;PBlVrz*.=AaE){=Fʞҟʞᜓ70HXR4?))OJh2 <&I)sr2c n92b2 <&ydr)LI#Cd"Q'ad Z4cL4uh,VsH1_~!G)KFH..J1_"a7c,|^e,ϑd.Kž[2*)b1_nX5M͏ft&,ƤTo 9 fyd!( sT,6}(t,|w,,\\%.fD,6r*Wt_9 ,<+ ߝe1.F…'˄TYB,+Kąx.Tع;faq戃,EWII Zq<,&j]  Gߨ8*⌄Зb v8g$t z%1qc皰*~'8qđ@E`%)8{v L#/&Oyx$]Ipp5Fٌf$ܸ-O)(cT3A"O)8QwRT6f`M\2#l$Ғ5!)Œ0܌O)UXYXʋR?%bRv *#LzK5_LMهw;\҉o?!b;\fN}eWXFH3|cG8~w-EH)Rl0>  AIHyB0#a,EH)h,%2KA &!IiƠ'"8 0('!.*J'E`|ф4#β$A/4cь5PxQE70KpXI^RJ'.5 }lRhqc\aI ÁdX¬.'rsMRN^at7¬.xAH'WD\pcqp,K,E`9`p}a;>,ׇLd}x۟I-$/#$4l* \`Aa]e]ca'зëޞ`}x?v}C$\Bbޖ!77۲rvxUޖ4sևUy[}]~0>D!ߕ*l,&jY%;oWmIs \êD-is{_dOЗ Z !.&jYLԲ><>c>.&jY ͈hbfUY4T(]*QKAgz2dNiI{ <*3KIV #c[,Y̒FYVb)n !*B3f,]ԋT,k5T,i } +KcƗP(=zGBYwSJ3zr8FIT,9zA(8QpvoK H}7\ߓH{C_ֽlF’GFHo+E$<#H\,vT`~%[)l];Er'CHDd+%!ݟtI3wMFdv }2)t(F脛ziƢ7Eׂ/7ě]kb&}]5*rk2Mٵ&W}7\ }!p= ՚\U:7iƦt*k#Ț\Mٵ&3\iVSI#cP_y]WS|ҩh>넫>SY|ҩt6Et өTSF脛zOHI'ݟBHS)5?B2вLB!\lؔcK E/8 8J꫄)UX(Jz#1aʪ)8댓-sK\>ᆷh>W>-&LYw\oOK(Ro O`'\/Do'0 C3,_D,ax"%U_ } ~e%O U)QJj›R1iƤ~e-nx'RMa 1${"] H7y".O$2nxpe2)/^ϸKGYt_}(Wq=}ept),{=ÃzG..³~xWJ>'TR#Utp  3v }pyWIJ: ibs\9C_q=Rs.y=wz?v']ǽU䎝p ;EEYܑfȋErb.UHJk,Yzwr*rG.Vt5d1*rG6et |e[䎄8spY2sv Rew3`m:fYY6cm%cȷ6ceEds+p70dsU= sm.6O6?dli2o#ڸü6CmmPzfxem$[懌Xxm~h6n~݌uDnmƺ2o3m~ظ6y76?dlz_DK+Y'u ~Ȩ|"Ԡh[ D * CYwR/}`_\dƺkd}@S4/xR|tpE 76""\敔J5ƅ_#2ovliyH-m^^5_NNnwv{s6gݦzH)B '}pUrP/\\yaK%m-~X[a]XW҉cQJ}K_:KH3zG[iW?|_.-e "ht*跔}%AC?púNqi4tޔ`^IOH +r~x@?<բiJ~;2L򤆮4M úN?|_i úN3 Hw񝒑Hd$ >Uh12޾"h=;`9גuZi12JQwZ[T4w8/_## O:BQ=aum%#CЁu|bdBfO:BQ&Ru& zO{pVV)qf۔R 0sO'Ji۝7 =lޜz7glG˼.g]p)Z42sohQ0fᶪLq&A!\g=YG N&u\于 %CQ7f"'#N)9:բ`d]BNauN'!c%B'nA?jq.҅tE3ݮԫ9:q^ե~^t3-EAκ~^uۄN\<։:xY'M(9:u;6\TSz7nκ~XsQuogV'Z κp;bp*\ۄB:[޾ƺ"YdSNdf 2v*uoJ΅ ۩ຝ np+\ eJd$Y(IJ TVZ-EI(ۿê; h,"aߴ WQMcb I&J[l*#}d-Gm͎fWRQM )5Y}uG=i&^)E群7io7Ko7mI{7n*) M_sQһKMݥ]i n*JNp''nj4|䐝VsrՓ{'DS~[5ur'eP8! VnݤB\I 񠰮R&ސv4[<)!\,l'3Ey46PMEFdV.']ۅ.vٰj}ݾkn_Ի63ݎܒ\Urv8}xp6fpKC PMVP 9''=E›ýwSfV.Vs1:mprNp[9('=ӅܞWOo nH8 zu&ՕW%ܪ nN|jE)ঞ q n%=খp4Xuۃ(tj27~>~[IOpVB=)ܪjۓneVuOp+#Op+3Np+Op{ {[p[{[{[ٖZN,;'=ÝzOplK_]N^<-JQP nnnH8^aK+XXY(g%zOp{ f3z}&uIY.]ڡ3Cgwj4c8X;tqױv .M]١3NFqiڡ3av ]s_STJYxS3òM#ײZ,?=)ݔ'-]AYF snG8fxUJRgް7AON3ΖO4ٲnKGo) H}eEXgF'E݄?r[d'=Ood?.fFѓBbf;y?/af;y=3Xw 3/g P'g0r 3/ 0aO䌘9a4;ˀ_hp'g?f퇿 χ (a #5AAaAy‚ ;9#u_pCXWWf鵬+?-7y]'?MO.ON.E?3"[^?uj+W#rprFG + | CXX[[?5 +iJ n덂4CzW nVCXXoOo_pu‚ޫ>p}4aAVaAo/hfj7k-?Xhfo![c௯d3~?ٗ~vCX }(:a(A 7cE{#,Dڏ߷C!j? "jG#,D e폡#]/+Di QC!u?BP/EُyXm?B%1; x-"c  hB Y0í%= onToYz$g7;)eR$fa(h;> Ͱy +P7 'Eg_U/I5uYjJA*s˺ 櫤`.WfZu 3*0sw|>ZЕl5 [3H8 [P*%`2?$'uJqǼH';)SZuNLRv:8NR A8IQRvZ5VRvv9U{pêIT-S{Osf\hhIIxz;sKJBYuOղ{ZI~>j::V9AFP3d{RvdP#x<)qϩιj9N^]%4dAզh){><AY? T5BvdparK՛;뒃pglrK«Ax0PxPjhVRE7y>A(84KBu΍fUx*Y'`AD9Iyr 8xYwQZFhV-/]J]H'Fԫ='&f%ݔO3SOBI:x$[>@=:Sщfphfٲ/qI:x|KN4,|ĥMhW[Y(u(u}$GP%Ɯ %Ag]h<̡۟ReSF w}hjdEªE7 t~ݎhājYRgSu^^^pQogZf b]UiԻ9{7v{36fk͵Y4 HdI9F $.T wJm/^ i)/2|yI(W:!}3 Aoxۙx&/҉D- M$T>gs+yA6uYL^p.y%/J'+lz{e+(HSٔIO*x׃ ==3^]ޞ3[Au _T♭AgSNz,M)UNT,z8FFY=gz2Ds3=Aus|96_tM,s9<Tݠ޳{R`?G+3啞 rd}zg>; _Ux BaE)lwz觑+n1WW!"^1JGHwQޞ|N~I9ԫ{>_f(Y9͔l2No|6{eh٩9;m:{/_H馿z};j{2|b Œh䗢֝|K8%^`y/ؘM^w 6"sj%׿}:/ZW;Js9~5͸gV8Y?-׭Ji5R{IНlFx垷%qy޺uިy y޺/{}5Vp맱6-o/S =oO#ؼu_-w RԳ{>?_^ X)N/V 5Jf“z'ΉP]Ոn @^+pofkOQ~8?f_M{;ٿN).ۿ-;Wӭ_S0Pר8S_n ϻٗ4]u;WNO[wSVf?oo?|[yw-f_wޫpvx-SNiߑYxPovfn* H'N;\SwݫuP>ԕI(+ΰ^}AZԻw .oWu7_ψWw!=2^tr^s?y2{*ʵ^}vg~1uD7Qwޫ/E}\yIZB쁫\Z@E BW4*Uu}^‹P p7#"}IU=1qE V ;6;. 0VI7B2~"}U|[_͖~L‹.]Իog~=,RW9JjRW)5]n^ޏyS_yW7^nWOx6nA sPo͛B!\w9q_us  sݜ/颔z$՗0'"^Iƫw*PoJ#zE_ل8.EXwr^ū"T3UGR!@Ň_.n.R P+r|S߾/Te?_|8/Tlg2hv|_| r|z:8NϾ) ~*>LJO~W~$ye(7A~*>uZ Pj`#T%5JpSQ@:`8B# P#T@9'*M;ҍA*+X bd*h,l.,.]w'R?B#8Bo|12@JJʉԏbH*T12@T5MPG12@Uauuu``#T%£W*FY8CᘔRo_A/bd*Lb2@M&Ď/fpS}[ .5cNBLI jWn|Qg$xm )wA`SvE黯4[i^() 7"((JK Ry y:{DP)]pPwޑ9 ޑ4#'3)=W!w$yzGpP oM*vwrON;&7׸הRk\Кwq#w$My;>Rt),ש6/’LJQdRz,IAi% Jpgz.JAJxēpP A ĕT@8(a%*г1yA #(FPB%t yΈ]A Y.$TJOywrONNI֯f< sd\_ykVKAeE)]wq#-jgzF/:Q8y"*%`Bf<V}qf{'h\Нiδs 4g2>ApP ۩/ԈbB:|3諴 WDZF8K{d&yg'YgIgȡ 42k44qس${JiE5ٗ..>A%\PN}/k{`;o)6=kgcQ#oY?!"ƞ5`Pؘ])%oa;yP+~u]\Q?ygw/ϢѸ+~,g1I?y,QtJɫU ]EOW:9.Ze[gxRlbVFZسz C-*XFllƳ_/K~%=_)U_iTY'U_ި~+ȋRȭ  gYuDOL,OtRZ eRioryVYOXdbydbyBQEȔe쵬OFɐ)˪1g k,\IIIީl<\l오=yM0hg搮 "dqK)7"run$a s#$,`'Q8EȔi-↟qcu?Rn7T(C}pcd.P]wWsd!а2`k鷯ct4BY #EۗJ^F?Q8BVj7JGLg8:pat:?P 'AA)B4bwl<)-5Q=jP-v)Jp.Bf wb!< ƾzqd6C{BRAE5)5JTйuqa8i7x8ĥTktC\ hhC{R:GrLƵ{8 #9~*?C3d1qC#93dr29~˝L!S<[ԣy(gQ<2e_ea+3drG vĮZP;qrvo_.9!"o-gP/\zPX_yR:0OLiXdxL8֯۰ ] F &Y-?ԯ۰vR:1RosCV+RAaK󠂃܆Tp!F ɫWʍsy!7.67Mؐ j}}û᠔ j-rA7Ң]\gqA7:7sA]u"۰z(`~?C܆ = =-nx>۰P o_U'<0\+mHÊN86aK!# zA wwRRU`F"~o6FGB! 'q"Qo7.*HA`P42;xu:iXY9|lVjx֍tAZl!FA8 C`L#)> JHn PFiǜeҰHJR.h.He w.FR*T.R_a NX\e+=joH' Iy)a.h((a#2r$Z_%ih}\/l%k i-sFVwl$Z_邴SN{'$QW5ШWW)"J.x D F406a!l 4N5H/\P 𺠄p:Ѱ JiZ$Z_)iq..(3$a y#$sA;z-3SzX73"c;76mRJ޶((TxT+PcXy}]PLbd!/ȬRh脂cP: @z\FfPj@#t4>.†A,R%$, =:0qAn%V $ &qAW  qAf?.6 J(x\ЈI$E]P|\mlyG\m\yt9Jg gY^t#;Y^ta5.5.]y]л}]PVv/OI݂Hj4"tAQ+6664%F#QPB!qlRPpK*7˖ '/BGyk,l)-ߵLNi%@cEkY>pq(ꔖMj! ˋ&x#oĚutH ű7~oĚX؇7sV,R% ft] }7-s{jet6^Xӄڈ7b1T’ И;F G.Vۨ7$J81r |F-aC ~ d*KհCZlȝS_ʷQK;nȍ9J^uH'w$䎝$oaok4,\Ш6VLQˀlؘ .Zq[Տ[NH.RqC}d|$_7K3`vet6VI_oHfDTچTJP 'эRPKe9SJRzC*X_7[a1x1 ;Z(i;}$$ܱ;v:ּHjZ+m'HdƋ a2QhQ:NĦHjʰG邢ظN&̎NXwlɡPh\ZP '!y[uNN>CTTӰB}̎"!аB^!/|*Zo)-y#m"# Ӱ5Z mC!D! ;g Ӱ;gpAg JHw.m2왵ن|4\uӰuOʹ^4ӡV'/CL'Z\f {2: O11=F `gLN8 $"67Y!1jư肌>P\]11=R}S H~>m}get+%Q] }uVRkΑԋt '\TpQEZMes‰9/.*TPBA7£`:vWUg?ދFL(RF{[Wѷ BeioDD<#Z9b\XQo#*8}E"TH *"Ju}+oYM\A{c=P_X.g_|Ͼ=PG)B%ٳ uh )ՙgsʀ -4{T29V .6vH W**Qh|xІ-? 巄6\n{t4N֝N) + ;4  ;4ԸƝc9F]R- M/|Nd8gco#;]+ظW ?sR:˂'r{.Bl%2|Ns&&Y?OT7ƃPA[?|xpBE I$9_xpGT G=JI'/QJ:4! 4agǬ&|Z '! F1+4Ѱ  4^$qNRҷ.uX2/=JI_Cx5|ž))#r|p|aGJ[|W_XҜ;y;޳UJ'bc#vL=[%ʾƑoQ=j}B;Afc*46Jp`(UJ.J}a' [Z=rPFI? l\lf?>6\dopQK軄R*+H: 4ssA\wa~wfs6VUsz}N收E;}N0_s:}N0S;s29O6>waD9ü: *8hء0lD>waNPT*>>'S:#9 ϳ9A4{|N=>'6sN61@&-kMZN0SAN^0I˷A7iLZn[*΀h\or£ܼ#f&-[ h:99r'Ϲ({oő+a\\)<>'?9w4xRAAIx|N\sNz ܾs^<>Bvr0iI"䬌DIH^F~GI)w98RunQJR*/8YqkǰD={VP^x|N6 `߉i*(T ΀FCz|BPTpа9JsFdctbsnC/<)Ysn5 'N`s!<>'4*hT{}u|΅ s>9>GcɎϹC;>J'(T8>'\xBs1s48+ PFZ򅍰9/Q%Ƈ h::>g(8ë\ly-qv=>g'p+h9wd$P8 N`sbVX6nf?Nb'ͻBsVL6+Lw|Ίi6+ϹN TaxAt+ zht| \h{xcV\Uf+~[9EڮDNrmnq+~+ Cy[jMJs(`ixt׷=4ۃ7okx. Cpg"(:y-׹}N!Nr7Nr?'_\&B j 7Ɯ&z< 73G޼3TM4H:条 J'F;cVrxc+8ðcZMd(c+h9]D+:@hȺ\1g(խi ;#F &yn=o^x+1m^K~L?,op?y=yt!7:DV02߼ou+ )#8=vIx^dkQN9&1'шrOF,z2nO`?>g^ s /*'xW9NdfNN;df8gD'‹Lc6v'q2/OEpr /[<8'8Ե u2wj gJ7 ^}OŃs2->¹L 7 s* os,d[8il'dv2gI=34LGiz-918c?'N9#\z$_'#'8t{ѕp;7iq^4z2n?'8Lc sR\4z4 l42-ؤ 'I1 lRh6Q6-j <9=F:')54]ix*ςN{zznOO|2DI)b==Ni {9{zΩmD}pӓ$IB^.TIϹ;ԗɠtC'~NO-4:' ӝӕJIX/==*Zo0==Yn?==ݡ6 zs8'&^ѤT)yqdGszZCAJϵplƑkakȻSs-'sTεpNiXƹוJD.%>DN]ۃӹ͓%>u'%>%\|JE}taÜ;yϻ\ _81n"!4S}JhPs-*kNkytGXs-|;F>W{=з^ KP{Zѹ^ѹ^1q2+f5˽D.ݓ$ϵe_$#Xs-<b[CS}DP}*ﻃwMR/xWyk)Qy %G̪%~a$}[NXRP!FdK"'HmR!l|bVaɭJ I&(- u K~4$I&',J&K`Mƣv&PC 'MUxHB8O{X dp6vHkd D ˇ4| Q9*F6bc$3vXc lL.ZҹΝTЩ D۸c,_dH@Ni\z| #;03l+UJI&gN&l _EPA!Q-.Q8#\0UTQN$/$Q-.-|Gv_EId _Bec#JIg'BDX+NHd 9F[h-iܢ\ ~R.*X+NHd 5-TiX's]٘D|z)Q%PƯI CA81f"[?H|@'O/%҃VKdM~z)Y8aݢI[Dz4젂!"X"1 餂dDD4N5|z)Q8yL1FdklL\ *O/EA |k)R'Ӓ^ #R4jY|WE/|wQ6~CTCHNi넂۠tRjn|Uc$S_8A'3d"8PA阆! +PAAo'Q-.:NF;8D>:"t|+JiI%D>p6j | ؗ[L)c(#o-"!|F驒 ZS"5B%gcPF颔oPQ<>)5J+Q)C4o)ξƾRGFZOLqJpaDFdU'QNo  ?,Y8*xpk]bɺ RAKboF- *K,ºĒuS( Nv- pNBF jZF= "%kK"Ɠ8t9|JB9|JEX~&@fx'`/qJ}'ErB!}LB!u21F}{#$+d!-ɘ;N&FPr kpm8:lj@%KvB!Qt>F)y'R824 yDf]$ZTu2Fk1ʚ}.I\A[t;^|?@ec#ѷ5ŽMlR S P:(UJIPA*0z pF)ƀ +zXlJHƴ:|0IKN*'cUwr'y_+h*Iȭb*F_rN&DK(+|ؽҰNK:ӒxVx )J%w/ƾi{з B6#\a]N&:dccc $H%*UN6 ꃾJKj}V8wAzQ)%W 7t =PhX#$$ Kyh ]r(Zrђ+ +\A'SĜ*<^%JR aPDm.B4C IU<!lp* -9BZrW]1yDT)T I*J'f'$%'4B4@V1Bx8jq,*hE\\ŇB> gdcZ ]t N{]^EvBactRZh*-JŽD*^WIXJC2ZxQ 8wQtJA)Wi*-JTp(!-9J"J^%_pr%iLZrҒDsAj$2*h*=id=kp  ,ѫ4\k«$䳰| :t%VoV*^ӫtzXǁ(adWq JV;N@WI^ӫtFWU/B*(a/WI)yZR;h\AWUzx%Cq2:cXWɑiIKNBn0$Ѥ%DF -im~CDy-"⳰gӒN+$oW^E«J8(u^EU^EU$JH;Hx쫔^E«)^eȓP(%ѠK6H*JK*Ғ%Sn*EJFIɭ2I4 ʌ$N4ZҨq-higahhQA's>t'8P '!:y^%rkz 'FHFpő'DD*F7 '"B^!PAHI4K6hɡr"t@%rr&ȭ҉i(L%q1y^c N)xڄђFK.Z'iEK.Z NRJE"Vq.SANK:-#bJ֦bpUdȓɴ ;ë,ygg36 ^,z# p%[<,dѫ,y^%CDKj4HLM)Wnd"eȳxȳFdэ,;^ NcEFL;gE,'}bp,'ɢWdڔr8DNK: "e}FD2;I͉>FVq$!g}8 8nDqy iATZRUT$whhҒ$TpҒ4-iThI#q7D\E%[Tpqo,-E"'{sfw.{sR*$zoNNF7pцDH^8 665T)%Q Nэ4ܜhGHt IT8Xmt#.C 36H;DTpPAA_7[E`9ц Xmt#n$&$Ѥ%`_*8;iI4hI=hEEK363F~lK\ g%sI XvF#n㵎vq㌣gt#n3t#.w+]vu* 7F:N7ZG;c388hFBҒ'hhP%\AF:8F:8ڑuo}'5lId*%3I#Ȩhq7qю3vF#n$bs('ӒΧ̕ :- 7"R!TIhZ#$H$^H;::7*t#3Ѝ0!+B"a4"*QU H&FߚdB7"<݈Ѝ݈PÄXqшЍ݈D4 NWq7ʄX ;24jdȀ4-Zrq,nͿq/:Fш0Va4"t#gA72FȠ*FUɠq@6!t#ȠFHd^ Ha'B%$PA%$zo\-ࠔDp#̀A72FA72F5`t#nd ^3`uP3p/nt0xq̀C͠< C S^uP3xU2xqLyMH"w.s;sÍ(5:QQj/nTyQQ޸*5ʻEV*^(S^?Be_oHH$TPhIB"!Qލ(FFY%H"Jy7bX IhDy7”WU塆)Q*S^U(5ʻe4t#J7t#hD(5qUה:DNKTйdNK֔WbaʫNnd\: HF_I72F&d4WF&2undҍDkJZojprjNj&H9:yF25ҒJTZRdJK*ʤ%gf'$䞜hr&nd3F&HԏChQͿ N1ndPcS$rn~9t>N"D#S111F7bt#xjt#SэO1F7bb5bnFaR2UnIʤV5ލ0FDK6H4hI&э0UԪF7b<݈o$&TphhRI&lRA#QA#N1LjU&/Zxɤ֔R%[Tphqɜ{ҹ7{I$rI,+Zu1Xt#fԪLjՅ3]t#Ljc)fw1Xt#nd2IxxIvB!8,^,bVu#?~}Izg黝|w_|ߵ3Wߵv}텿o/;rs^:O`r*lW+DŽr~W?Տ?} gߦlO׎?|v>>;Mv_T]voOQk/Scojsv B_X(J,rߝ+>E~;jb?):u~1/_>luvٽunع?n~m07$ɻ7i Ē~/_/ٞ诚o/^{|r?_'醾_M_~o}/_ONOO|??˟|O_~?_?\y?]g~͙곯n@byKAliNYNҸ?bӶVZ??b endstream endobj 153 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 142 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp6IWViw/Rbuild267d31e1a6e5/MALDIquant/vignettes/figure/mqqcplots-2.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 154 0 R /BBox [0 0 504 306] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 155 0 R/F3 156 0 R/F4 157 0 R>> /ExtGState << >>/ColorSpace << /sRGB 158 0 R >>>> /Length 158636 /Filter /FlateDecode >> stream x|&=(^B%` H@3ݵֲW`Fm]__~WM?׿RJ/ү~ ?f_7^ǯb~1'Zqk`u,cۋ6b~/j7pמݑ\p+dxyDžz~5̤IοF7m guD&{ \_ӵ!>ޗK1l,QltEŰ3;2ۑ EV(d6"]]_Ր!< k/G>C I~~Q ^";p@3ݐJإ؊#SbHe! c$'$Y  g@MD4pn{5UY9 T3lɐb_nTm+S//_nې dn@qaQG>H|Y؆4P@:R1a}y ْ̧"&C]"ېy6dfRλCˑLD "^zq:B~6OM>Xa%f90K<-Gd?bhꆓj9f`܆q&OÌ 6Ty$z)|^F6r8T%R9Dך# drHÄnE_Q9Y |yod6O82$Y 3R.pMY/ ^e M?:~~H5+ھp ':-~ᒶG' EW|``VUߒ,vR(YdGVOۅ6?& [0iJfi^AV苧b0s ̤KuXօdcF lN]/vG6\T݃c6`{+!+N6Wg0[٬ݱ `~a>EG_4}J~SOG amMFv-Df#;(YR=o{e:lߢӰ92)T>P>MVaHSsD >?r! F$rDyG$3 rrL9tr'E?!{ʈyZ]f$E ;P/Cc:ٻ!lNjI usc3H3; Ⱦl/ِ]#Z|Sːjb8!̓RsV"˴ ٘}1$ɾ ]!:(n.X -vIs}ېژU]9* d !IHSCtnC,Ѿl&5)I3 pN*0.I8¼Bpen*W!A))N\W.վ: aErp p`*4rLm!<).Ӱg#'lպA!*G}u†.m\ې] |*))/C ae;\d9 +Z)^OHi#Cp>ᚆح n[@1.%V2Zwn [#^nE#))Y k6Ls IP|oA1CrN1>oFOn> ̧ G3Oյd/ֵ4zt@i6>mW+n&TQ}kO/W#$Y?<{b_8PcDxݰŗ곡2:ٖawC9GXfqh0 r f3;;k 'd4c9ag1𤬀q!ǡ#De8U=; ꏀl+f] &dŦ&3BDuKMqw~K#^vwW@*ج잀l/;>*>}D]ͻUG@t;DGc]@F,6@r=cVe iw,UG:T",-% * C|a¬䀈 H5ÀM4\ajV?`!+/mEWQ"03F@u9NG&kP/c"nM2Zwqd0ݑ GveudULoCyƣR Y  L| g} F_⾰H[8EllG*S}B^u8M5GfS4bʱvi,w%CLNQ2do ?/h@v#.<!:*bSĎ L)Cɐb@tÐ2yh "U*{ C^倨W YG cF/Gvc}GWmݓ3EXӰBX͑O1xL}2zcGOv! }=\\b-iE#!!s,0#GdA4Ȥкao1 4:b!0οr>̨MӕT$`AGiF)$C\-Dh;#1r\H?vŠ&Czq Iasq89@ʌbΆ48 vaWf kL| /(*NCvkPſcCƹ!I:T+Yy)mHIbY4C L*#إ,,FlC bHg [hꁓOc$.C*c$)8Ӑ&#"V*., "J[xݑO}GO^8* 0;ZY*8aQ;F1 wPΔac":)_^0\H msO Ĺe)۠ ʋQJ?#eGf_A7cmqb؉-&G&05aE1dJX HR-l;omچISBD ]6L9r/ +q]=AJY!SCtTo _ՉYzdaw0C͓`ѧ Æi \ogJMpu@4L(o ^n!lg]D!%lͰ: ]L2TS ImYޘِa>?gw{LJ0i 1lӐeك.-%(f;B8 ;cC˟./QHslaKCIYG>#v>I";}Z5H=-d Y@2nI!kqd<;2W~0d_65yǨ 'D7@ 5 j- 4TR_e_l\)͐ HCXȧѧ}aj38/mh} )X`ebvCeŤ ۳uDv[b!)tl$fc{g`v ȶCV~>?f2dDž]ݱfݺp˴c(Z >EXk1sBbC'/L Z88T-> -d&VZpf!aaʘhv p6d#ӎ|=%cEȈ5NFsJ{!SǪ\b`2!˛"NÚ 3{D^L^"eiߖl8 G8?EJ"2F|ۑ߽bMRȤ/r2*.:`B5*D1B8Sa9R00pdGbX^hrSC_W!/+jHeҚj HkBtf@jNs% 9PBhDwo2pe [>v(aDJ10w!{1s #j_.̆ .k}Yl`ySxz m;IU3:9.{%.PV<)_lecJ1A  "%O!y"OK@v3lN43lɆyMThðB1ې2oYQ Ez ˋH6D& " r08 +B~xg HD´! GN8=џ2n |aXrZ e8ő H6Z}11N,QƘn]` (`Q/S1i(0*%s葦ayC J*4# + c$b}P%/bzlŽC =Y֓kP/s9/u` ѽ#ܨw$ @z \`f!+/pB9d5ay~G" 8Uw$2%I Yw聃==]1kz9 X1чad_8X"_BeX8ȶZZ+&ll`ŤmG Y|,lI.$ė1}*莗# K؋aaz T^z%Y ڵa2(@H}>Ȕ?ۘ)N~꼐)c:VLvbQc1ːdrD1zva$|0j_K+sA1㇠fː^ȤbKd[Ϊ6XmiŐj`[6moBULdXafP,7GBv2 @d2C+ {:DvBŧ6 ![ mGVD{qd}$BtL c9Ȇ3A!{naO:{N )g5hJ*Q'l)+"!rV#CީTfD7j,d-rνK"ChqzFryĢ~>չc8+q>t.QĔp#bz׮. uس <^o4M|aUd0RUAS.?y 8"ra?Çh`5{grIĩ~}ȩ7'"׻'-Igи緿R3|$ZG9?ÇʥF>Ç$_ɻQol1kO[ x5%,H=2] 3^(G/qaW;<^,& JS~\0PB㼓qRz:w O?ÇW@`G>t1_GlUW\z Zuވp8R=V&/ 8qԺ/QH ZTxnlD~]G!3 lG@N4nc^'CZp:RUf43ֻiEAdcT oc=,z5cmCyI;CX"S qĪ1^5/? ^^ ^nulV8ҡZBه.o+ޖ iW8"KֽBtFVȊvniE6/ąaI'1^`ňaMps f%xw$1^`[9c@h]i0^`s4>m1^4|X/)8 B#B8ՑI!\g,8hX}^rUEXOC4Tf¥

\ ݐ0jZKoCVmB$Gv D@|#* #~ȗtaDP!&0жbؙԴZIeM gƮFv"$Ut6e_$h-Lˁ;cD@cD?U놬#.( :M FsD7ېhC͒B!3UWqyҌ < LAD+)W˴f+<) clX=0םIflo#S膡>bty\OO'PXT\!)  ?. dH, Hd!7Ƨp0ᄬlpBt 7K-BoiW$̐FGOL'$O -U0_)927aGR5]=ir#Wi u'C5OG>)VB O]D 9ѝ96J#FO"^F<X .5`8N6b?ָ#% U #+CZ3"3f3,L Mrnȹ!l2X7dG "VFD:f՚!ˋ5[x192`8pC̎,o84@ C^$e1F{y _i4I"d59p)4{v K45'TZR'Ǻ .f !{əf!e5m!e5ivcq b!+>7L QpȤ0Hպg lIygdѓjݣr!Qytm )ː^6,٬.%bD5 |~jN |~~OJnpvd6 mH;!]V@|VmXܒ i˘-00֬u_8r`2T6 _0@uƎK &,UȪ$ÌIq\w Pao3w(tCN>/`h2l|EulL [#_'Rtpk5xN>s-y!N>sLU#C.G.&Ѽ fSH{'Bwe y-pQ"#UN~Ňϯ<zo ߃[d! TRCM=f{#jNʆut!5ǜ|!,|2`wեR1OYX1n,N^X1iOOŦ("!mP-ƅ ʵ2ˀU֧I"T;2O")#؇F" (UG<) sY5CJuƔ #{X>几WЫiv4O8, @qF(VT(. z5(/}*&=3&d[WOeRng1ZX1d[`4= Y!,]SN|!܎ vEX# dkT׈" ǫ/E%p; >ep! ʻ9O#Ȏ?ɑ6>0dO OcR"|~N—ck@HRN8ʗC8}FOn VMP&CԆo58&d2"1W8%* 3XD&7bbe7;lp#~>*{" nXW_d"N^qw@D)} NT՗. #*{6GDJ-d/lRǫ/ )BZv ;J ! yd9 iڽ_Z`lpD"z'C=!OɎH㈉i2F55크,G8wA&0}ᖶcƜ"T`Rs !whzzOvD;r`2\'/G~ӅKo`"]!&;Tiϟ!y6{aGR Y@nΆ$C}(v*!5(/fHn]q(fO Ê.O—ץ B0㻘pO1 +`wdR3z9넅W+N!ߡ {'PEF~.9B 3\?Xl|sSdN*@=E4n0 g{V*|1,f6d;l<˹zbR@UHq l[@ DWk&1$ K~;x~;@N>߾.~ ۾ 3ދ‚<7gRysH!+݃ag!6ض=S!k8sv|ߋVA3)dH+ G}Jr1ؖ;!; lea6r#^E#D7e!w|iՌ*2Ց)c< isn-/>fTO9Q)Qg oGRpi>9"oIۅt"&,L*|QZy~6c d[OT icmѡRqUƲ'"²#-bHs0qd_C{V\ m؉\dXg jڱ..mّyXp2XB=˥JcycWR:NwF4L>}fIgѰBϼNۃy:FS=N'9vPE_'W i uj }"pBEx/i^\nP$Ev@q9r>c+ qKS&dAV P9/VqrkX-B^!k [ȶw~Hwa@At3TːmaT020dunH5 vn5'ؙ nC格QِsBf( >E _1|4(>gԳ!SӰ2W1laM!޸HlvCv18QÉ)xPIݡGh*a(/{89gAaBŰ# idÂn!.recW}†P/cX1T&OH?gO,6I=yaℍa#2sMZLG:o\C0 |p)؎LŔ R.Ípd#Ͱ! *%cb$9+%_ wR4|{xMIvmެP"dUw[)5  X"*gC *vblCΑ}4l|n@|n@ulsB.dOm4VJp!lq %bַ'ɩ]'B뵕i%PN$©Fc2;1d v|!mC<6E.pBܲ 'h ,Hqnp@?!KaS&,YwN nY7bk'͊oG +ɑ߽vrdU^O>kx'EdC ,|N£9i6yp :f'z'9%.q-Dg{,ŗ2 )I>C9yʶ?]o;q) ΢a3컁S伶#ĝp=M=v5_wG輦+R l1;r!؉+LNs]h8͞bMߛ"{/O SۑO8 6M9+n'9ێ4pK)gTC*U!,UFsDirvζG9O`̰h&2ȽQQGC7/z0䜹t̓%]j]X)4J6>).]7fÅ"HRtK i63pՉ)I0 ;/['uY xvPհDPBDJyoʙȗ1.Ĵ Pp2 jI!bRcqDuT?C5ӊq [(rraGfvbḐaV1ԇeAlt@J)oLiڵ`%O SsNvfʆ jƈbȆF ;TW8rpҳ#rC`2 !(PIk+ـwݗW$ߎ: M}hd: $BPhs2!7i= wfI?c\&R *co1yb)j;b0~FQ CvIRcOD&C*wCy,>HmsD&vNC69=! RHsn( L!K Ȇ *?CPgĜn<" '1Vd ȄC8l)DfNcT/{IuS w$8¡)! f>e{Xuisd edآ^ߔq,6|wTvԑ0pfu &m>j8/cM~K$ɰ)¿?8P^8 3\VOQ1bx ;P|ϘyGBtm/#y:pk2^jȔ NDivSpA8pW2|[0!kA^PuT&AH5 XĖBć]'rd;u3dۭܵՅY%B7s$nA`"; JĹn:jמO.Nq+P`V7`'⸕takui8IeÍ0wM55MYo`o iF&d |M"VM’B#Ƽ_{vN@u5( iиD CY| ;ېbךAޥk[٬Miѝ ~;]s b*X!ձ!T 󼢔wLdÁLEB@|j7p)Te_+9\ı y+U8&Q\D HeT+َTl!")lzi61;\=R0;5+/ZҶk.: }9ec 9YR¶/p[/َ)a(Cev H;3 'Sʽ ǨDžر+ Wln+CJ?#6veG>uYb'׼ **]eʨ\.<GɑOăLQ"8̬DeLGbؑ LG2HRNȸN Sݰe"V"Nf"H\ʓR0Ͷ@D6օI.͕;@-HؓjH׈^(vaKNKzu`ZSUoiL"N wVȼrY8Q7VB}7k6q8|f5H8/VC .GPqP8e N5@ӖQ3иƴe Ţ?s6̸ƽPX ~q{<䆣Z8caEXz<䶥f@anGDqۖp^\2Pܖ΋މJ}~q0b;%گi[R >XQ*l3xTRv/6k, *B4" iU&y2 YzPbo,!aRS&!xdpH73%X i 3qAJ=cp۟Ҹdپ dA97R!P"?¡"; nTPSG@vS.5E}1lsp(瑄aq()q(0Vm ;jn_mAXhG.ja C+barZPG|X*FOp)9Zj`_7nՃ-~}~2.JՋ &՞%.I*E4"[>_YiK7~J%u3Fq禁V,-;I8.)qj$}pbck=gGG,9k=v&Cb7zSevNĵ}H7^lZ^Qĵ~ 0݈;l][\يZYݞn)<̤,̔76~tds9@*afx귇cöpl1a'2ϡa2o+_ըWG/dplr{G|{/O$_lS{yZوq(qHY4hz96h <}/9mH1*ÐFuƨZؑ +SF(f=Mwqn 31 iyRCSfeHUfe\!GKgv?7Cޑ!34xɐ[A#C<D8@84}Z=Lb!Ռ^GT&5i|.0iLOTh, 4@dR*0NhƬDH (O8{[0j_7fFuwЇ1i\э+Nidy&6ߛw,/&{qo)C2:'[7|6' (#]TGV$Vˤd dQ i. n<ùsf ;aÇx f3(ӐF]Iar\>QyR3.Dt1!bBH3j'H 1Yٻ됽ȤB}YO{zbW%Ium,3I!h*`x]dN6_2l|;!A\ d[͕_'C"\'N*|zUٜG io C8û'UlG6 9Ñ//O i~P۟cu:XDhewRw@*0 "~}RH>Ȇ*½TȦ'!Vi /o qeX6֭鿝4V&3#^fcAG 3S7.lgcI5wϬ ixdw| 8tf4&9GQc}0]A7-G|rqTK2,m'EO/Ӑ)3,9d#߻GuG$K ;~eJj\fd.ZWwBlm5d6x*V5awKşVz18ѧw dpݪ2&at;ȪQZ2w( ~kgh7>FJP!ꍔ(9—kvDJvaVyqĀ$k/C4֍66y%M3 iPsfRpyn!A|t*"$#nd ԻlvQ+_ ]\!V/Gp^^/2v QeU q(_aar؉&iXvO@KSfǗCc56Y@E 7*V(0CEQ@ܨȘa蝣3UAF2L*zghyR%:,cFyqbJfP$՟Nb*F*m:Dۼ0AcqI"N<>X!)ȧ'x^nylЭ톕x LLOWˡ.~w^]ؙTLa҅]x.mV y˲߭aE9H5"X" P#J\ $㰅+_ށհ2Gȶx )g'>ErDbح-b&3xb'~Ye ÐnNQ~wBA lXu|9o923]sw\e(8exDW6ƪmyL6>=I6qk;C1[; x#ph_j)[;y,U*2[yzᖪ<~N F?vs@$clt[u[kH/~?~Ju)exe^<.N`\v[Mqkg!VO}C/^4?'%m^<BI g!4\drB[[P'_JyG.نQ-֍_yW[*3ڽ )+&6jȆ{YUʼnmCy.b] m_mIkb_]=&p` 8 08NR1[x<&bw3xc: 8owrDsx Kq<24lL9ߪarHCvy63$c, Anƥ]MD !wC~`'JXhhΔNj)O88݈6n iiM ;8%T+UKuT8(Z~h]K`!vQ2hٰT֞[2VaZ.< ! -62ᘵfc~@Q]1kzZM IvHc82nq,BpB4 ?;Jn2"3@dwGH@ZQ'"lV)@ca 82Ȫ![BdxciN ~@9Qyo 9ފW@eFFuⶾ)}nt1=Rpq.1!KLA\lH7G^mV զd+ù*Q Yݼ/;"e~B .v .Ko|z`[h$P/㨴D8 2i4;qaVS|ܷxpiuΑ;؀82*h"m0tz3FpӐFu~lL 3Dǵ"Wp\)X`eRpڅ+ `{t.sae(qexmBYR) >Tܮ*FWN 1eGf;RJwބTzD5"RJkodE $Iu92)2aex ;>DEhw)SM©ZhY/?K㋐ @ᄬpǬh1.28Ќ &ͨWl^Aӫ?8샬B3q\]8uԗY```FaAj)# ]LƇFXќ +Ff* Fى+ \ŧM(>30^O£60!&M evM]*PO+9)jH#2!凧J!eCP|zB Ce e| 3 Z,f!{}uu;ClʆJ,(n%R=:B,U7hSq=)~174- Qnv~[Q?זAl10eL#*{9D0Bfgwf/'C1:&2a͹*=tȃ(O}qcz%Y?Γ/ѝOFė1snF }{}cK{i7UVӇ>IB$/3}&K/Q^y\zmiXYٓpy`^VV}kK7?hΉť_x-;W~>ήx|?x=57rϬm_Nw]`GNَ/yc_٘Γ],}vd^rD6r^8{#+멿r<}DT5ٙ7A҇2TC2N㍅P^Ƽrp=y=ʽq':^oPwxq8 q?$ӞǛoŌ0 8.u+sr;y剀Gq:q_.oi?-Oȅ˞Vɚa/<1`/GхM[96^8E,N|hBΛ?gg-FƉz{)Ϻ7[:eϽs\DsqC>'Btg<<QSuV}e8g8o>qLq0Nq,o +zodnV{ڌ6ҋh])/Uyyo;luΔixP?>Og`0+16yfa19n,_|sw9}U9;dΓm1ݣ댜%O܄Qzs?] tK^C 7`ys;Ŵ7ww2o8'c:K{LJz̕*`}+-x:O}q'9D\O{yoR/lrjΕvŒ 23?b[Oqy!o,:ƵS ?yRӌ${>㰆՜%ωňa}x:)FH4gEgwL6~1s|0tGJ؈2nnGV$1>||L>Sʻ}|3i~jY{Q}7m:^7&WgyK8z,_c\+%.orO\&W#~y)3SyvJ?>.J=C997~?Wg 7So}oog7U/O~=JT룔[hO,oiwK|C^._y\OX ]EN-ҧ 8'ʫ?WzaۗY?:7%|?]w;;K?(7g~m8/ʷ_'5^&,3lX#n8KxޏgZ'_B/N/fn΍fU)y'FSAPJs>AJr|!}BfzY%0_ O/'?_Qf_23?g {Ӝ؛ܾYuŪ_\NKf^* yYX¿}7j/`cw2? XGJ ˿ۏ,mCsa,?XA`qH277.봏9+i|-Fp]\}w)F{ƕqWW g9J/Ӝ3s G1[}YJx>UrN}}?S_+}y978빍*C>ٹ}c;w'1޾o?,}~kToa?i/8ο ,Oq]x\1CyVdg7Wcu8+r~bX}G߮]䶝_s>}r곗OK>`7kw~aXH__OΘ/Y7BIyp9Fu{8¿YmM_V~13?߇?)3GL>5C29o¿[7KL,W,/??VNX~a p2҃?, ?X{zX_XvOkYLy/?^V{j`<VYϋ/`/o;?X;aCe*Ww7/gGI=n?.߸ =n˕vX`?L0 0 뫄<߯9"|_7s<Mqg^ܝU5E\~wyЗ"/uy}U[ a毙?wz)n;XmX>co o֧\N)ܾ{ Wzm|&+/#;Oe܎}ĘߛV߫#7sk<O1?Ls^vbG)Ʈ<տq^~ikއ0\+՞=67R#/fyrs=xInoǟqؗ?,Oη?ZǾ҇Q?WS>,c>XVy7kd7agWX?}ވy}˾lCc<ٜ!_~ַxÛ\n^nuOttGtDI}ȣ97.ߕ6 ^z^>LVoV9>槚sb7]۱O/MgK<Ƈ{#흸(=Kw|P>Xoby*Ə9Q^]wOz}Yү:>xg|D]>[j蟕>oUKKwV~J`W7=ow.tJo}~=*~ ~X/?ʞaXb>EXp`>߬NWK|J^<߬(TpW?p[9a?fyZӃ[sc~ߪ_謹X'#a*g\>]'`ɟǾNzWf;7;/b?O |u~wسw?ݺ =ʢ>7ӏjwU_k\^~Cq~åߏ8й:neR]LcͿogb\V:dz`_ĥnEC [ފsY\o}?W͉gVOv\Tox]Q)?֙D5?Tx0Â/8-xyu;=DX[l>a|⃇y۷m]<&o=ߕc>w6%FUb~|Y,O˸-Jޭ| l?޸A|}~"afgoG\=`v598;sSnaʳXTa`<#Yc=ߜOFI_6ӿ˾;~${6c}t^X/j_g?Q6yK'+SO'VȣV.z;yHɔZÞK1;ƇY|~oCoGw`VbV?'ka[[l ;c~k2^ㅩF|vz?;r;.$.s;/^yԛuM\ۇxR>mb{[r:&>^5?K?z]3{|\Wzd_mŅ+!:KPʇ+T ]Gܩ/%gm'R0+xޯV}ԐG.IOuo}҇<(~G> Z,O.?>uy3ǟq[%菳?-bmY |O}܎!^n܏|{J_~}}yd?n^F7'GVzps~.f<9H?wX7ϣ"7? 8oq~JwV{9?ϡ/7Y sܯ?\O'cO6_0POG(YUיeOh|ܙ=]>m׶ X0=K_6?,}H7g;lh߸M5m߇>Q_-]߇6ҏ/wɿímQM盉%M:_3jKvfI:J-yeUy,"pꇬZrgMJ\ؖtޚ >og}ڻD}$_Pw}!y!>ԇ}ޞ_)4 ̷Y>O+b}5*ÔW'3Y}5=Yksx>3߂5uGoMD{3տMz z`z>}[O¥m| >ϣ~ԞGw|g?`ڏ~>)Ow}}z>>^'?O-{9c~޴W 4~1~6??<ϔ\'9I@l6e~3^v;7ba/|Ô?:=^҇ljoWGvnbWqqg>ݹ>'(ΓU|Xc|nөϚJ~K\!ڣW`/[M:Wga {u=`J?UCfy`nIy:?nṅY_ 窳;oxӓC`}}*}}:_Vyl?XfOU>ا==ٴOU>YV~)?_'e8g'?H>UاjϴGŚ05N8f|@ | {Uۧb' oeM{?ګz?S7Qo=* iGr|_a,.iK-qcywd/UxxGl6xG:Tc<>c?~t㈧jQ1渏-_wx(t)ϼqr.*?^Npg9_8y9џzGI^ҾXgN΋3Gʉ')]j^>-:,oɗb_PYU~G.~߿qԇÓ {TI|h]ΒڿV2Wأ;7Pya6'L=[->a7Q?QgC}PZh?(ѾVz/?,}}=O>9,}WأEߏ9\/OhVyoa=mDuYy<= ;HƏ_}^ϧ>fV~?{X[ç|)x҇49oKGs|?gR`/auWxUXxU7x+0aaW'U ˏpaz_*}ޯ稏,}Fʿ/= }PBL)9? }ݹ}G##;}fw/N>cRWf/2gsz~ǧ0:՟2?X,y'>c~7>/(\8_vyL}e<(';wE/#+yR8?K?郋q?҇as?#;nmM}/W-yگG|ڧK_z*[xCOϿ̙emqGT5>|S`ǚ,?zx>־q^30|8yCpVry597%ќ՟7){}s<=_*I=rڟ?Shoİ7 M_/?GxyU3X/hI\'=O0Gm-ηU_j7WX߇(nQg/^X+=6m~ $/8v?|j?؟~WOy_t|8V'x9Zʃ?yf(?OS>_Ν[^_$S?4쇪Rc<)SMy_gw a=m;K,YΒ#?o?<ĘO{W;w/p^ڟUM)?}]9/Ƹy7uFrYՈ#?#J[2տ~f)|?~}Y>y'&gÌb>rX?cܨ3.Κqk`yqW;_+}Z(<,͛W]㼏,[凿Sz9#d;~'gZćj|(>4;k {m߇/qq"{\G{UyׯİG+NJ?;)tl'|g}_#Yo.[iE@_G+Cz?y|%a%oӹ C~x{ԏx=Wy|^C!΃אz}V}w|u<߇ݼ9}Y&>W3-/B[})Wk!+_o^6fޟ+OC4ogGwI܇usă/x gIb=CV{ȃx|{zY/.ޞ<0B~'_wyx]%ˆ_|1gr&3{sVM7C_Κ'*?vV{ϧ?͊rR}<>X/U?wj*u8k?s/^\)/k~~z}qs9d'ͷ<_o?oJyO;*W_:Wmr' a)}ȿk>8l|=9__>?o\nNN}gMl{7'?+/^G8i~oV7-F7&hƟԼygOtӏ?{>I|mpz_'U/cG_>"jw>qT?{|$#ُ?G;y۟=9ѯ8&8Ϟ+!ǡ7p:'g0CqTg?z̗?{~lG??S#Ϟl:<#_'WI~\Xx=yٓC7JƇ~ :ˇU>ke3;k|yFYysxoyn;R{|c?LeO7?}nxn.5wdw}k=aN1~/zȔo\~ ќ ߷?0!Kzԇyt[[|J#??n^_,2c.jD}LFk||#Y_G>]mdʏ>Wnz0~c<>t{jvaw'#5|w|^14g5?ﻏOY[_ ^g<_ uxPzywXϣyp7up}}EC>;}oq_>8fxC_X.ù=ۃ?z׷ַsa}N7|'\_X߮Ym+ֳ>왜=ֳWr>c>҃g`}GA{1^Wk2>,vSfzvj7kq^T}bZwŵ':Kh?fgg<}x{tV{U_#Y㣸=c<x6x3Xqc^=~ƳZ,qȫ8gȯ?s<`3̐W ʧת2Ux bsq,BY_<;B#^c59>M֧WuY~ s =O_<_h:&_~G5ؓگ[ߤ}(}8a~X؝%/ ķFyOlŹ+0⡷E{p>L`U<t۫b?C?b^_hҳxpqc`?Q=A~Use?~'z|- ʺH4gw#^E8!9k>ۈWIΪ_OYo>3R;mܕ_c}/U]O!o7+>~ÙXL/{7S_[(=GΙا<؟ߪZ;,ϸ<z#~Q=;W=-tM7؃-;w}n{0Sf(o`gdKչc9Wv*H繭. GvnòfZ糸SXoNY瓟'={`+uhy`=XPyf=σz *A{6k6/g#g^K?T}_Jf򫿀ޏYNP}o=,V>[ji'Tog/3 g=5//(Jİ+؃aXoe'XZ<Œj}?!֗{uV}a}׼}}yq}YX+b}Y'/g<yh޷[scv.i<ߺ1z2;9{zX_^/?=͛[xP'S^E%/?W~fy  gg7֓grVc=Y\nVLtބx*/'MG|5Dy#?Cޞ5BM[?Y,gӟZ;_Y`͇).OӜ!_y[qJ/wջ[rV}MϷxK`j>!ƗpOc< V!V7X7I˦P?0;kP׋tVP֋U^_vg| wW/]yY_ai['2^C7=eϦ?0i|yb/{,}zkz#ӹ<^o\pb7Jy:NMqs{${$G\\㪟>J/{1`?)'9X/*OkX_88)oJR`rO^'C[Oz,Ifו']cSϱz%-%7o|Q>8J?Sc]2>ؿc%ޫ r3@g|yK7SǑ,~^G~^*ޫag?6rۿW~[p~-qL~<؏=߱|;o1;_#~}K}8T]iqoɸҏ?޿^pL; XOL/N(xcyq}2߭ y{?q>1c=xY}˕1>p8k>yj({ <>wQS^wGq ./>o#g}s&.:8?a~ٜy&η9Xޏ{ٿ+{2BŹR~{u/w"k J?s? ˹{-g{P~8兽YJ/-Y{/yyߖE{X凿O y/?jwxÿ'}h_Q!oj+ngc u}ҿǼ"j~:8#pڏ_Vz/v!El/x_pߵ y(Ϊ;%~AO^Jo3朩/ggk[]3Y~wq%c}/_t8={?aorXd7x\|$*_Fy23>|X9i+?+ Vs{V~+Β甇[b/+U-9WʋT{=߮U_c}\E\a~=Ʒt3C+by+}}(/;1/d{оc~^fy~{ӟs\4^ ~O VB<YY?;߷'x>/Xsg绘z.3#~=xR"?_1xRW Շχ( >N~yW~{bXa=Rv.=wXu7s/MWK='}&+s܇r䌷'?1J{\mC鍿ʋNdسy(س,_6x[/Jw{˟O9)=,6 X3;M4~ G|^7k6 JҞk?s0J{N-/g "=UΝӾczSj2孈Obynl y:77GpVz!oazi2:,O//-tJ{N\[}sǫ3?u=7Xnω7o{߼N{q'+QJK~$s:/=$3 wVؿň8!9KFǩ}q>dyX~NVI=7#n:K,pcz+z^\ɬo+7͗Q}ZGN?aѿY LqVײַg~xV|_g~lP?~3?W \/~[9|/?x1)?sM{~F?.߬ў;ϗYCD`0=(/7Wb^aOVz_6V~'aM!9[~~y6ڟ}Ȭ~O5Q}!cM{.g Y6ʕ4ȫX=Q5ho|ҫOzy!ow.z>}[ѧ^kg?hoD>MqHj?op^JsyrJoF;/ڻ|3~޿LY߳G~D{wFzs? y^` h_ރ[ѾWwZhrxB~p(^>qʿCޭy?{;kh5m{{pC%H0揸Þ[KCޥ1e&y+n~uqgqqg㹾7XT_6X僽X_yX5o~`~`վ2ۿs/zܕ~ȻX%U{/yUA^g~tZSjyrìkj_p;5_6<m,_{}6|X=ڑo{^S~^{\X^kI>^ گ'H>^Ȯow99k7+X1`ǀ`<Ȱa,}6}}ޯ(')/575Xw'|3gWc=y#B'8o1y5,銇kΚp=;+wpމʻÿ KpoS淟@cck>w}Yt`/U>HJܟy^c}ErJe\)ߺʳXUByZ/3e`qF\p͡u;ߎߑ˩/wWXom;g}k\6? |GwuN\?7~Tz3)#ؿ%o3+zw,Oxxpf`}t&}O` }oXR0O7MZ]ٜU_ XKM}p~7JL7!o~XaWO!o_J/a}KZv?=|?Ӥ_dO{Mug߇Unh>/ӊƧ vL;_XSٽ o>?`i}6^دZ(C`'G5~c=TP4߰Ϫcm>|ߙaBϤLz*CU_{XцE? F_C&iH63>".bo}?Ч)޷|xOk3zŸB>qf}e|,Joyu,g>Ûߗ3/XΕzq?K=~MҼYeOqqħ<>kW-;_~_q<5cbS~žGY7L{L`UÔԟSc} {L nzK/>`%g]Vz>k7~2ie챓xқ>>+k=֘챹7={LEYOyB^K)ޮc~Nx|Xv^d}xOVz+cY{L 14߂5?wg1챴5^;ʃH}?k!u?Xlfy9ngKpgcП3~oߌ7⾈3^cNzOƧ/Tn߸/""Uxџ޾hq쓸b?!x*zȟC޵7_1_u_~I~ެ/c91^S~_9W}f[=a`Ř>1;X΅ {#/5zwq}SCc92oLɃL\dy~`= ?1^S^ƛgkxb22Xxٜ^ěx3`| V3L/y#M =6/Ǧ,hBی/~~oe'}ʇ?">dT^2%2|-kݬe?&9nxi%YJo{}+?K)^R:s:ϻxe<}=saoKu)΍p+KjoaykWy?֐T|>?S[[sg-_ѾJ쑿p= 0;[Y+S^_m:kz ˋx^Ga=5lxa9q,y?ǡq="V簞oXkΝOm?xo\\~T0U܇P;Yq?BA~QqBr}Rq7`><\Uדz^gO|e_B-!_+?ȫ!_Y'_;}<-<K?{뿼X?u?`|VF }'+<._ yo!NSV\Z'+hߤ<)o^_-ao yZצ룇|:7=h߶+ѾGzw^J/~z{OBޥ03(Fg/F%/X9郕8g}+{+&oE{z3ׯq_=^hca~R;hIYў' #2V7Ɠ|ow7>;>~m_O xCaeW_98sOUIioj5,+5Jz}.7e[*}L*՛S=YނH=6^LO1# JE{Kcf}u7[7]\}})mŹ>ҋ,+'x+?̿lOWyHha_)~?U>WClě=~:JaSDurw߼>zȫ=ފҟOz  Ϳq_X1Ͳ2+a`_i}I?M@'ΒwV/Y_3;) }>bW4ŸUzyVY~WSۿUYY7+Do8YP>=x͚~VYsf~OP⹆sSzƓp~XX?a;zaÞZoa0gUX?_ _?=S,=fy`_-1n1} fB)K|ѝU_ | OSiA/<О:A~g{ oE+7@=3;>ɿ+}4UCJ!WrƯ {R-_oĪU=:_Ͳq^^g_Ϊ߅ӹ16ΒC^g׿3o?_pev[Y;xN|;#=/:?] |*F~8?s~yqUzW[1Oǟ^q?c8ܙ~Kf~W)l =}*҇]S1V7x3g%x1Pղ}1Y^c-;V|_;~>sbܿ/}xPS]Zi?I?_+*DlΝx,+/E<<=+?kχͿ.*+S`)T> ?[>`7)t [O,}(/q~J~Y {Yj~J/ŋ}U~ V|T:kB>rz|?odg?|sJ{pgIS//ĚO(_fUXx?S`63/Y"^b}R4sc=_eK{Jew=}j`nF Fy<<=V~ F)S\hO%}p_8^C_Qz_j71> W orVy)/Zv,/# 'x8W1C|U_ΓAUm9+}[\_,$_ESϣ=d~?7Tf8VFXfMT=^7SugQ~ʷ==(O?b#2ۛUJx}?>sX|dS|UY`?*QaFiLg.?|?`/Xx{iYO]xVLW=@?0߇[ZɯyyWa|_V}Og|?io}A C8 ;򃇸ya3g0i2fg4(q1xRfpt7O}L6zpVga0ɿ3sLya<%Φ~O+F'!_}X-MlY=%'XJK99~a,!_*(|>KBcLu@ͼg%}bF̲mM & {rsH}bxa.Ka#Ol36yқsםՊ{ǁ)@b4N[6?dnPzOͻ'?A'=8`9y3[΋Ƹ!S~X[L'<^*nA :JbW~=ۓ?ړ)YS0檼랃|)OCm9WG>YCnmAC¡Tsc}tʻ=gDJ~yysvN,_k?B)0090'tB=g03_Uˑ$7ɨG(Aᢂ}3f,J޴b C*}RCNJ7>4J1I;}oy4J !|ƈ84[XlRjE Tf5D'9g %>̞]~QP2 zʷE2"R%y.F p~[)ӵ~ H- H#, Ѷ--KnqāGP^ܩ>Ң:>zJ GO`31GOZ`~.`7GOc¼N0䛼9NfaRu:+ vF}uɗ-_%#sSu|)}xQ8Ri>K$^?<(?DjxTeE-y{x%(sczb/,Bs9(/0h,I~lYSmIqrK]Ϊ{X@*o3/äDzﰀ$_kb7ޤHE{%:>-LyFux铳 F]1P*9yYƏ'G*IkHX N "Iz:5ϝ/T>mbP!F<9`1h͇p#`21 CznK,q-Ɛˍ!Dvh1(Y^C*S~Gb&Y?$?h{3*.Ɛ|j/pg` \of%c:}ߟb54_{[RZ/#?=z/.Iwth%}+SG}Y}XϷ3A` ukhL&7oR'+(? I9ϫ<Mg8_@yMY/g|%S~kO=1snn/dihT .xlϖ>m_^ 1>mgg}#6}xi z۴޷M{hl瓞-mCm;=啭3=Õ {iTgܴ/wW1[e}8O'e=?PQ~*/]\ilҟ=^m.men.m_m?̦=X?lC˹}Lnx"n,?EGǤ8ʃJ?xl?~x/졡W?3;3{oJo{94nއ= V|]V~ܻė)?!`:70{a?ޡì;_-;/=^?~U_>sߞ޴1qmk#IޡMG)凙COa_>lR?`\)!w˜Շ|Gq.,?/Pzp3W a|=ϧLBK <},> 2 +sCMJUϱC+Ebtd7[)/МK~Ãh~}Kx2}>ΗIyJo\ؒAa}@o7Ny}]K\,Yų߭%OER=%?Kb}G> X5T['_\p &=?ڸO[]:êgc-ù>e;O]3}9?_Jyyz?_;K.](?ֿN~Do7gM7ڤ>6h)^ ,VуoR“>-#"zCuL9"U}'eDDEcBIj) n,\ΉEX$qh_ e5V\ݲ):amX5!К*o"Xao#Лau.0NAeX L m_P4Ķ5 ruDXOR7c{o_˾Q w^oNGҝ}`F3pܨzh{[&);LL\t 70 7BGMJ73P.\a)sUXX.Ψݣ߁NW~94W~ΥJA]/k JcoIK3)DL-.a%_w]$[uঃO4.\Tݽ){& TOoFM4Ped,d6J6ڈŨz]G 8riX@'ʣ:-#iڽ@܊ J>@b={t:bzq P`/sa/0K W.H1=+XM,@I^peyƽ.@IrZԼcpAj=wG+<H >备_w@ ?@Ӽ >\q?b7.Pc>v0=\𱩿+/?*a͇~o\z|0m.g.Pcf҃[EI?J´U.@A%^ya\ߐ!_Q~y ԁӨo02GNO}9Dan:`g4}AD8HQzXPc}3.Hk N{8O X\pz>PUÅK޿H/f恈~̗V?}paypåҾYYPҾQ@D?>wc?DqU 6Xo2l局rV`Sy~ЪvcVi7*q3=3;}`w@Jz~p|޿JF29 +S=@x21ŰY~~u|]i7Jc۾=D^C6 3 _Q;x!0vUu۸J/׫B|L#./5c?#$fopzKmye;i/]i/kn|/@%r7k[PpNsY8`ae׽ !\#j;ZӁ:Ź0=D C=,UuE'4)_#ZcxYYDPS0"Z="bzrnl>D4€Y=1R=*uA 11z2,/"b*OG>0Bwp1L#UÉ`l?,}}yB3'2iyu7ꏸ1ly$+?\?MW5\!CF!ye/VlGVf}?s9!L'.p8{650J<5FKj`7Vd+ps>ϩùP^`a=,lo8`4>Cg0ƋU!U[ m׍whzx/:oP?hÁ6U+q9<9^PM (8kC[5~7YΓu7qr$2ojqrPuઈ8T9O8*}9`Z>엦\Rz(79\śg-nqr-QnQ$Ungbŋ3U)QO.37V8DȔ?{#OS8_/}37d84\(T(<#-" g8g~?{&7F0ơɹ33KVęXϞ\|`_^G~_`=cדpg}\xgr91 җU_#~Y_o>ESǟ=5!Y gr:}"":wqx|3;<øgdހPN{;{"ܯWsy\Dž<8?{/_/b~ԟ\Y_D5_"W3"x5^UU"z'#]#7n_D+'ʏ^ "z;"~`=ʏ_ {"7/Dm~$5h  ;B_,x`3=\X$#w=҈%..չ}D(8x9sd}/7/7+Cy; 7 z.!~{{~BIswV*ڏא/y*?o$ر40R/Ec8'/n$IctFR}KY L9t{v̟7hQ^\Pڿ5g Fj۱݆n:ܸUu lciCe>Wmhnh:X)!NԠԼxܱA;#hWrc,\,dH]#bx԰z_TR Q,fwyv KkB16O<=uVܱ!tёAX XYY"4(i?fæY_jP6ķAMO3΀|2FR="zĂPY'Cqae+CqMXvj z:Sݺ7#5!EiKOuɻQ} ]0ogvd#{Ek"vσׂ PbAⓘV|JqVL6uBr>=MRq3W +>S!YW(lpz#S{~FL0>,6 A/Yk$/3RڤE1؉pOdq5]m'}>x>>E3԰Ee¼(Pj;&̋bZl0/T0/Jy{Xȟywd¼PQU\640/F2a^hBbO&cOX}]ltoa8Wں-]b?ᶀ'5у@Mgج:w61,86z,a0fw/0ޝޟ8P7϶tbvubxbK~X|O綾xNLxrV}asر\)Oo`qbyqAΙo/2ʋ['|8=>NS{ԧҟj;uoWzn+=_2dNk:W!=dž=On:ӄ7m5;$Wפ[8/N\8얾În쓎ng.q}?j/'#T}ys=;trX+5Up:vR>5XaBڻg}D 7i\K@ytL{ Tϩ\rm:2߹n Xۿ{% ,So>OC5~$̨"wȔ'`RAݨ"ax{yb?*_7=qa20bMh|"h%r?{BG8m.J[֚X|uyГv4g 8PPw&ǟ *?L`<?:Y!{aw˿@Ȼ`"~#x\&mg!mNy8_Oid3OD'Bjaq28}g2 8 v* ?d!C^c(&l^{j/X_kJ_H6ɴn%G<@=mՂcZS'̆j}̖rqfnbw sZ'Bk|5V1Ȱ>4ԯf\F@U$v:]W6Qrpa_S 8D!&N1|}͌Z)^g W~wI­ԫQfճ @.yӀrw!l4}| a4 |,]w YPE Lb8J1+pKHKci:Lxsc0 T i@iY0 j%1 Pa03x_flTӀ*LӀ^!Mi@W~|Uh@ɑ;N__AL1 xr4}AA5~@5orZvXb@Cccߑ&nDaW{,YKMWʁ:ʁLUNGj1s!*``R]+P~z+fY5 A#*v4,x4`jf'O UާVG3@i zxBcr?8} }@ %؊5`tN(xծ0 xpi4<Bǖ<Me`hY`T |yǂޟ_K9}wE#Dj9@v‹8*" q{6j9 (O`|= FpKdQ؞n NA6<(3"b"D;-A_-vr mĮzvLYaih{*L²0bApPUF δEUHl# n#_F j68Y̎MM?ppfL&1{ *`A=rgirOcA g*v.ngDn"X=b1Ya1 >ix71r<ۃM^ee׌K*X+bw[O4wʹt&*bhh|<&T33+c]6S7H15,3nWt/P-nW5 "k OOp+k8Kg buP> ޽b {Z*USwYVD DJFJlŮ55Z"rwZ*ފ֍;O F[a`ymqb`F6 iTYkpNninŮ_AVH߀x$Z$zo%yq@ߩ bB{Zt]]>^icK}0{oN_']cR[Z7148*@KlW Ik #TX(h8 'O68-p*T WxjS@̧F:* W6z7EߓB-n b׀XP )՞VʵUs':V 6*#M ^#- 꿳bv#ϓMnT7A-߲'a7囍lJPD` P; vb *(i[73 5 i`]jm+77 v*A+y >a?GYQ_榀lOIQTa"ǻv J VP@e*Bwf;(F )$XY5p*TPV ;AmjMokQFS&f@uNQCIgg{ƭӽըMr Ĩpql_~rh';Okp}щE ';o-kr .9ըA&ʇŨ[n1_`V#o;6u\cSg1x'܈㖦pdy?XcSG7\ya-vqȜuW_DM+FQXWÃ"/?ġxbNvm; ҙC6fZhiތyIE怃Au EOp ̫uJ[VƤ4[Dfa.qS۴߄2ד6[ Kn1V;7DĤΝnQ)UA8fuU t A@sI}q p1w`Qw`=*(XtOQ߬(!1*ů b€ï 9UaWf G~U?2|>*N;kθy9,W# F=cξ$bwW ׂ}7̝K8tg WWA^RdM;Âh ̹A5uN}Wr*l^Rzo*lZ_R h_}>* :~dmW2h/+7y܆Y<ոJW-1_&xUp;7Br\w:rgt]gA"'0+8j9|CXwҒ+*e]a  ׭mWG{i{AA1RjmHp2mY/\k\e>BT @ =KE2U@C*tYn^ )2+46L|ָw՘c[)]U>p"h-?>huU*ltՋ+Ok ,nD v }v >8 4C;謲 u8;P][ݟ>d+A^{-0gpY~uw8o@6n\c_LC-O?ɚRR/wFՀjd-͒GdD3Zǽ #n z ipMp:;Zd (J ;{4Ճ`c{nBoޣs~VA1ݓBz;ǫfpnZo k )ɜ{Ud@V({)+0 5Ye 릜)PYA֛vY˒A_5zn^r hn*owXRA_Re:r݃2YK*KIֻ@5T6$*݃>Z:\KC"JVU鿣Tُy{#txД4ξ =z: nC?OsZ{@ #sUPlRWfuFS+]Z6jװQz݆amU˘cc[ R.Zm# [Z=dd-ju i kSZ{8ڂV?^FAC8p+oY=H_*4-yгYqjYGCm8snW7(k󆆠l U}a'0HT?ȚY v;y RAZ2@d1A֟*Y?8 ԝ/lGSa5K^ fghZZߠڥ³f;aAeGeg!M@j`gpWxˊ*Ջ+Y_j/PMtc֧V#@Iwy6:ƞTʩpJ B%;HfUeq.mSVócU =³X~ܝDFx֪n,K##VS*QlHA֮RWZA/S˅{/g})agҳ#<{gu 2.`oAFAz;K*0gS *~X[$2*.!Ŭ >)G/pR.bopvnu[2;ڕ5Yt+pY3ya;x_PR#GmH#&=kAOT>*49q``J.ڍgyjjNڍg9!Zj^'Ngw͚:Jܩ>Y{ej,7 kt{^܆ bWZ9|JPYywAV|(n&l䅣|#A6 |9{:q:Mq:. qU(+u>]ُ]~ Tu]ezPYwUZ)q){zV.eK ]ymܾU̘83&O83vj-Cb/B*83;VIg4z8B&q){Z,tB*:~ű7kXc;[Y>uc)[ K,:A1@^G .Sjt,yc |9[t<)x7rC:ANj 4OnCh8XKGl3A 'c)i]ԙ&r7;z=^/ܠBoQK楏7(wUY?WN.Oe*k_4,nc-ׯ^ju6֤sÂ՞WuI\ _8ׯZ=Q 5ňWx]>qj뿗bAǟ>ExR0`fd'nR=,JEU!;,b4|#%h(@'xDHq1R6"FJbDaD(A]p{=0 5 pe7U7ێ0hShj'7ӢrV-ָR!WG,/0YqKfq/ت9I>1r-1ƭ@.6xBuuxxMԱ^:D43*i ,F3 c4GZ4EG4S/2hf5_B˜!&_ƈ’ _Z/gj:B$$+"|Yg54+*P*<6ig6[x%q41545@Z8! ϟ ;fXN",Bj vI'52, /V<{/xҚǢEmUָjX~N5nhK һË".P#C/ LРcUqm9xLp*98[T/BaSňΔL<^2N9K2.̀8֎`UKR{OI{i#`+ ‰Ί, RNJfX7a>ŠK:v{:oCoרYm~^cX"7P{7w^:7]78sw>Z̈烟 \9f>u>|x[aČtn8bO;Ϟc87&}|xģ3, '-ó$t$ Eҧ7[qVy??Yo<77EOfd퇛0^Xh~>]$;!Y,`0g/u70b:+4xO_mE]Up XTYސz,*t |2Z@fiSxK+//"ʾ9"hjxyֈK.]jf HP!xgAvU!ûc,($9xœC_ՐRx\Y|+hgZN.%KA+ ;叕ʣPxe2Ni`pdol +|˃` + xVy4|\,q2x'4>,攷 Y9; +tN4|iX҇?}ܬ H}c[p 单v }WIqi,|O xd{j96 ̜!?-%NfLk L9O5?kAJ߉(,wdrNQ#YPٻtlU!,F [,kӧYo8sf "Y U㟇d睮>F0QCN7t#iwnF _C@cb%@5`,|K!W(1pDWRSÐc!?FÂDZ{Z-Y^FD1Q3CA}D–k!<;<1OH3zǫi- %ޤ ~4AY]`@cm1F, C8c| c|6 Ƙ&[$bIdVK2rU;vwٍ<BqJ8/KVzɪ# ?) K!kY 7V!n&>FWVaP]TT-VUAx e5Z _ܵw\/(b(TlRGꃈ"WT,pyRHuoWYEO't}o*n'K"XxYSDKn־UG+J S*ɸME*y硞.fק4"||6G6qq.haÎ B%"N5y#lZ†[Y{1&ӃaN G+ky7eO'JHw:::+ RkÚSӃaV} k@ՂW`UF0l  L:p?.}|*VV~s’#V hsAN3}R{(RU pZ5R5PvXPꢝA]RUa!^r~7lZU=#TS9yOdŲ²F@,n” XvPəZ,|՜ xMa|ǏcYYy9@A8RxOri U Kki1v׍]7^wp"8p'DŽz;8TŲ0UJKACJwND^4+I O.JԷgo]`}aY9<-dl*J#x TpZ;s~Հ=*cUCY(C,96f5%Pw>2m+5Y P: ԗY /UMpRfxj9R̍KUR~qBCe}A~T%?qEd QjG߫~1+ɰq@Y:ڎ@Y"c5NMwxpcxm^*^ en /U^꠾RՏ ~ʾ1TAvVz FᥪKܽ@x'vV TeT \xjRU~e(Y,W께avIe?2gPXk#"V.b_쀍W {B(,XR"dW=b_[K#^5jW6ľhWXB cW gX.~?K=6_Y d\YR/g/9/v'ka*Îr+[cr>i(@+'8(3Y[8*5@ ]=EyeV HkGp]Z#zb+£պf7V"ߪ8tS*pRTf5ҀLCZ,()FpRTQP5jHde3Jveue^jkg _&z;SJ+I6J,j U¤veeV44S!UX[M\-B >˸ԠcTQAT([1{膫?2W!ΚՕ9&rM#\J=7(^Z~!ƬZ[p^Ԁo(*8HTS8//1νeyx#PGހ~$bPA*kRve:RiPSYiڬPYXpèMex+Y͖|JY͑8ИUz 8T }>TVBRj^wZ3vK;?ٹ;O],6OăC,ȡT?Y4e2,(P~~hj pK5U#<晹j#AZGryqI<4v?}8XH(;ciWvҮdTdA8`+B:<2ީ~4w-UFJ.[ބniԯZKў=v>gc>1,+? J rJCHi:myBx܃Cr4 UaAM ri - \&6{ƃC'M= <8p<;27m٨HӜ3Is!5kN ͏i9yᆋ2<7>T>U)P׀YfWEy(P+l]UGʼh5N*ZŰ vVvK#,~93OP(^yZKQe_{ͮ4UH1N+8Gh*M='E~, ?T,PAtIeeVdzyC'9`8lWV-hBxB68+p+񤭼^ssBZ:c[7gD cJ a 'Է/O8 v/1+xsp[z^9ءr6rjneUf,x{mR*J,nJ_v%V4+Į%ň]K"h5KVXT XUjOLJEA,4;61֩E{մV?Q!si:G*ub*l+JZU`c×@_R6e`_Xq}bXP,n 9,ŊdzxfأTgJW _Xq}bXiWX] RXq8 XX)XHGYPF'Xqqc }ƊY=c6:ΌרؔUP `K=%rg+*Ɯ+1am$K mz8Wb%; K6}|ejAmw3eXCъ Jņ`rAwÎٰz oTlp&Q}H|7OyU;bBW[<l, ZAxV)Q;SکN6/PZ%P+"RXf"5UzZv`{ؘs\ )ŗ:+t]vmo*C圗,xHH/<>*+ ?ড়WN[ِN0hʰ5Xղ8TfPjԭp]Q Sz2B!A53~ ?)g>sQ c*xZE cb=xw') uR\2TI|EZ\3_{cS? M V!s̃u+:BwSʶ[ bP:U87A1NOp_UH8ꡱ]H/[vZ:NV!˵Y( YU;[rzṮ?Ȝ>KOY u.Ӆ [?x!N|‐z t8Mqÿp! >8j 8';ußmi^)sKOg睊Xԏ 8oi?2W;jpLr^oTG}A|~쏼 _bd1 c*P9>yPYPwh/o )lEߙ&E85ə©\G;k?OYͪ @|TH!WhϔRWQ06@L>rBA|Ji${1,O=MZrUqAYr'?t5 yb˿ o(FA:S Ȇ< S @ai?RkD"B9vZnɜ=ǕO䀠kOg {&=UsƱ2Ly!ƅCؒ%=M8GT[\iFM ; -?~),wׁ"p:w]Ǎm$:1sN<頗 >58mSz `: Kt L`A[QYSWiuL%/[9*8YG >Oނ^*H3\i[(OL&u< wn t  LG2-?tU1n8aZ߃7vG=<& Ohp˅͛UP:_kzxN Y.Ϙ3nF4w&* B ͨ1~ XG6ƀh3 "ڌkϸG)tnh3;|P9wm{4]ܣWA^+<{|aOLT'x E Sg=>VIgiȵɒ77\넃zIA|1Ԟ{ U|6+ ppR1sc%G+_'Mk}#\IG^<ܢT,tHE̷#6`2Ӽ>S.ާBfO**T?NS'!O.Rg N Q*0B;U"Sa^scFx:  5v""FC SYI;O}'3[bL7B*`]ZNJ}Vd T.|:k/ޗ*%|:>dO7(|%wKic(JI|2E4I^CɐV1JgGQQ_U~`kcԗrSEgԗ*'a^bt}zfsщeXǞf_F!r" oO|OrR=kJmMzr|Eߑ4@.slUʇjEjX8qA1'Rz9* b4l\ixSo&I/ZpdUjBWm+NܦT+.PwMEnTqh_MjGOn>bac xּ@u:0RO+}RQ3T'EqrQ/;y_cqRjj2+WZ\u[D>aUGXTլT7+7b}(mgxH'RjŒenq 2TK4ojv f%d` ℻Oz"e #(1#8XPSw? cRsTΧh`,Ҩ)c c0gÜ9Bkrz/JuljjT*צL ;N;OdE{+u' "Fxm2xmSYk cN*4BwҰY TmvRTLܘqp ]Z0obN7b!(d%¡grvP۠F6MR++dA&U8{ wBlSm'1̠6ՂzVH#5ڀ wk% 'Ny1lM+#­T,-^Qx4bkA!x[w>|#Np~"futX­cv~Z7NĬ^V`,+xa+![ N![^!t*W=JS_T4>dƠF>4OKp:[x=h79U[I}aTҔz}XXe~ a_?^3p)}; >17}|%aUUeot/VV7]RyvG[L.?XjW_/nGnt57W\o?Z~+Cԍ h^@?8d $+X x[tv&o7WaMYwl Ox-Zc7TxHf+CVp8vQ;U8ul|9[Z=Z9[zOqk< 5'"W:(tZ}U*OgN<2QFwWr<='@r4g<᷅q,BAY˜X[#ѵ߶WBZm/B>Z.&>~[P1&5u)bZp)AJ`_/0EiilYTKx7#]TFp °,_`p rZneC#uR BO.t'*p㕆 <鬢nv:vTn&}W,,<2Xu*'6:m/ua6cA;odOP*5=hmG`'̛oV^"rKD,(^"L;8|ۜ}Up UVejGS\Ny\NAo7r.S,Be]Sj!6j\\6|s>>{M͍aQC&Q'-xp/df-8ڄP&5^r'\cKe+p26Z2.2^Q=Lu.ۣ` .[9SΖ׃$s\v3W2ݩkwu ' 3kBo&Y_.5ec"=l yh݃^x/ǃBAv+p`Joλǃn<~ lW }@}eV۳ {) nK{#L \lPApr>qW/P˸'Gqr9c r3+eo,:zUARpLgyq׹)x_Z^5H#o-YΣ"BHF:1)3mch;_޶qap( _Ⱥ WM}a.xH`'eOԅT<ȏۻ`cAԞ*G!1VΫ.t 1 rZC_ G)Ԯ:/lՅ yH R p%~>qg{:دglMgt|# fΙdhof4/<`.]W? Z! ă-؟oN~|3ؘ ?m5%c=>z3v^YlQ5VVe^uBZpR3c_pZjeӃv".SiDx)S]{?uRe?E@ǧu_L-5p}Zomܩ`S]_@sp,%k@•&BodW ?8@ wKv.ÄYg8] xu}ÔCdɡ~kJ v5TFnKqKqKȥU [ksa2sC3+LOuu67tC- +a] {T>bETmW lBk6ɃwnхUUh{ ^Ӭ_0jϺ}.ܮ/(֍KWʨq>TuUH+0VUM0VegIcOTMS{8}(;^ ~кZ5r-lYnjbκN]9z̻%-oSqnS%҃.r[<.,aS{ui ,Υٓf7ti"8+dƞ7XK:fZ;'oTmLoS%(n*'\a3}uȗㆰUrU7,a`Jx˰{u  oN!ڪ α?xְ׼9 [Mha7xuχ୏.\z}N\7jG1^mbϢ??Q[4kNO!_\q]4'\'\}5no~?յߌwfxrTגDV{=Mq7[n>q:8uMǽ3t3 of7AP]FXf+\4YWfh3 'Ug<ܗ-]t DUpsCu7nTvǛ;BOLqe5pe䕡 W# /PdbW2|/.74Ugz !Q+C;B37_\s3{_xGJbUǎO$;Be!_ D$ A>$0X\>- ^ḰS| pjN]ͩ՞XM2O]2ܹcWtfF֐;9]ʙGx[XtP.(EkfROJQ^-A–S{f/Z/{4P]|‹vU'%/. /.g‹ˬ|UXB4 񢵜uU;gElGsOE׸ۢj?W 6Swx[^5,U\:a3tGp3tV(] tj Krb]_,gSte^aIn\t/Pe pa&GM+_f.^dݍ;LN# 24PhђEГ - l'OgxnaM5pidn0~ݹf<Ƌqa \3x.iIL$Ӄyׅ'=@vaIlPOHPOU]#LmC=PO^)POf] .šj^/Ƀ*POf;Swٙ ՓRq0; (zrI'O'˺dpө;I3Sܢ i!'/SyP3Bq-,4'aacU; +%E`!p#plAqwx?TO99G飙S'y}d/Å;,#{@>v>905nS5nNgbCTDUDB= ' 4(G]qΰ eeNPOn-@uhGH[BsΡ h2xif-x=LeqqCPn/]{S-XW>A0pX>ꣳ3t$C0S][ee`*)^>3tfl\~|:.LV˧5th:X:z aW5\i;Icp7'})bl?sc'ϫqH0/`WTfS!;S}tǵHX| Qd6lB]h||l:ygbX (wέK20kɿUF^rj6452&cKdUKg{;e{# +ؾ׳G)WnPB 2ٲExݽEh"A뽲h"zee(nԒ\_ee{P֎J"<W£wҨ\@a(nk3eg"k_F-EPq'Su*(5 hy[N+ 13{ev4F{?翂@|p@}{=OB!5qy/4ސh+N'Dܡ BE(O3t?q")Mq("KP 6ekyG {u+]fy"L0)pf `dHOdPP@2 ͥ+,8H" phvqܩF h9yd 6rjܹ w'eHl Ax\vAP2U1mT@ Zn( ,]Q.q+W:d Bh|痺0C8yD tٞaf,vU+ICAKWCpxg!KP+D/]' 7\!fcg.]rjMT@U;.:O@_8mwe fT: 3`ȩYr.CWsO@da,a?xb<5žݙ]x 7 q L G%AdK+C _( N?OEA/.yT=T/CX#>DA|}C!B]e!A|R憀PC Wb;C !hF@\ 2h 6rN ˆ`²etXC"ćQ (ae4Յ~Je.h|#4`xLNwf3$ ZUuv_2q< 5P@f;p!aSC+*Vb j* =yhe0Nq Ɖ34Χ'5. -Gf9wPĊ+O\̫SSk+82C3觾Xqg [&87 9PpٙSW.sRԕZ&e _ٖ:'!'!&߀{ U5.Sp&dTm¦wKÑ3e?)/L1wj drg˜Oue*l2ˌ0b?pE.q]U/99/3-/Snh{ͤL};Ó_z2nD=542#srvy^#/%n n' ,ɸj!z TRW*/yKY_${VM !PQCGjG"SyU8=$3{b}\6|SfL^&&>ȓ;~QfVL) {9y 4A~hObK.'⇆]А ?4[9`YPT>X_Fs%!M=U]"3ș'O 8O,͜ES /ȀyUHSz$.@8]hi8Z8oSЩh'<'{\8KǙ{Xe|q,^xfKwnʜ܎&?܎{hʒQC#E+ͥVGy*V4ۅ1IWͲq1cg',~_U']_%}Ng4 +78*q8/'%@LD1 8xȠq܅;78/Jd@|%C\Ob4i}/A-9?pex.sfpRI8sf+rbqvhwW`i@I'5Cx^A R5w1783.K'qpy9yTvYD184q`b:i~KrꝓKUAk0ΌVN ehqawx}xi"VͩFSU#OBBQ3U4p~'n᭚>m 'bA(2q3ءq܅jGG̙'H#bʮ9R1-A/Ճ>osq,UqQwܛ734P1әANc13'd%ќz4ͲZlǣ\5x5X~FSӡf 0U?jI㘌pЮV~T1S~T1CQK8h?(qS5Vׇhh:5C5SUW 4Χ./u5½Jy02O;Num!Axh{LהM'BL׭QżԙSwJ9ԏ9GGUH\ WiFx8cSh k3%[T*ڪ95Io̬K2TNc\NLJ嚃AIxO\U0LTM3~ҧT#As1z˶gQ?! W3ΣqU!b`"(OWSRC&2NjY?ڪuW՟ YGƈSm79Vh;Zhvӆ s`` 1j ޣV5G-Nv9YhӸ~hdCZhE3lն juQU)3cj;홽B#>PkaS(<[T19nP0 OsY\ 4;E"N9 V (4Qx<G \i90NkjiU!z-F3\izV¨p(Pg)7~)r-uʛyynêy|Rk*;a'"g z۝^{S:?qLO<*?ǃxfBT{ydD ?"#Z-=P`"Ύ(x- Ύ(83p438_zh|?"H:`e`J:$ "((!tU(CPl:|=`A!X/gF$WT NK .C)nO=*G#6D$+ʌ\odf横z?t?YwCnU q~c|RZ⻡cnhcwCz Pߺ8}_Sִ⻡Z|u[e!}(X+oB^! k~"| /bW5o=Sc==s;yVGs*_dy5{ƽw~=E!}3Yo|gY?S'8ge92ZʼjZvÚB{jF7K y3⼙f8o^܌&^!@ x#"N5 utz#&&]V29{Z gq3 s2q= f$89TE TKq"HE ؆3CDup.Q@nd@Uሳ.#8s*Ʃ+udpjBRUpjGqu.sצn(x2Ȣ'L!z|S&8 [hE nю1us)3"]weFk>"]{{:H[dc"]צHjh䕂3ͧvGk_r/3 ?AeOb t#C[FFhvqmĵvUp;AW rL\5ZXͺ_S_mwkG.0FO/ kkʼ5fJTˌ/3C5eB5kLe eF4e /3]/3=׮&x^eT/3/u>s2 *`zX{iuq;>\QAzVoP[FTHT47[nz l}YoPq/INKdj?*inf2Ω0H*in`}o|n=`nV;͎څsq~fP˾Ls*ؗy2SkQaO fUY;]jhEsqٓ&Ra_Ql}:s^)#XVE0Uc ypc!2{Rx_>_A5xס~ :oedY+.+3fx6 : anw_CnN=a2%oFř[Qz`er;luJ)ޛ'n`o`'mͲЙ>gЄ+tc:hPf0(ҀAllBuHh2@ (w :e:/:kiPf蔡.P)n:ej5tjnT+ H z ,)g>A,LT3'5dP"ǩ{.*/+DWp=CpA'p>Ky)}9dNbNb`t7lKM%]UCD̙&$2j̔5M%i}HUP"˙OQor_"DFDRY%µ/枉L/&r7P"lOܠ4F=^Vo##_5#_eGMebR{^ x1i*D[A4d#֭0H#oŀ3*m:4n9!F.0Xdg*|CĀY*0K]5p,!?D$^LX!(H ҝzRjO$M 3Dbxz9|"Q|"q3 ! - O!Y7\^0%;xb2kp; lRs;O$p wDT3[*8D֓b&_"؃OI-\!~q˞w%eF`˗9//|3\6ߣP\]3,<ܰ20'EwC0"s8A3gͪ|C!r*Du*ry%r*re!Pz=`A)S9 ۭR+xrMWCS.R=4ZbLȀ) x=,EE$S ): ngzR#tg)S4=e!X:~C0Jw1Se~Xn č}]p  0]OS`Jo zw_wkgsg }9p]dvTijw5~1#]U琺v=׸^㪯q}"vW?nw7v=Cu蔲]5T=]OӸ.[QQiEK*bN73ov6֮k滦zT{ﱍ U ? qnfGqu>Q}NⰈ  M↠I&9.3e&qUٮ>2y ɵZZ_gֿuMk֋*W_&_zϺb6һ*G Lka/:*߶ ѥ|_?XS` *AvL܀QpqU;q1_Kj5UC8)!nfve3JjqQ5F8XP8rT6F=n#fG[T} I)>FG( #.ȃm[qd:uZx! #䕜3_-!C+<,rpiǑ!w+:,#/#U !Z_˪ Ǒp-8 B7ǷЀ8AQElvZs`'<|‡_PD%- ^B<=OBh];{‚|Nw6wRkl|x0ܵJ5jΜ'uZc* Q[X Z { yUĺYYt@lU!M~n|?>s59 sε*[S{UUBxBqaP5i QKUiz qTs 樭Й[=&!nD֨&9iF  {,[֨#&#,vnM ZE&x3du%"iu%څp= 5k^Ω'&#,K܀p5T3FQeA24dD:6QM4gTz5Q6j /hoYch|W0 kMVWF:k4EՕZ\AZb'2"cӰtpUqR^4Y5`5' Vb1Ń 5.^jigeX2 /`}eh!vbѼ]z$ɏ8q~a}yu.?IsAzP~qΒ׹7 G{ Ĩ9A\~ ծsa:u.? fӮsQz;2hgreؙRٮsbu.?C[I)eU0jjGTJ:i%9y&?UכT]ܾ8eH-NwL&#)6]ZMFR_

e'AMWSjB^ P]ZSͼR# 52HjsFpOlr> 5Q4x&.ă7/ 8ZoYSSϷx 1DDzѭR /US5K7ji|HڠJ=+uī}K?NMUKsN S1#2_\MuE/nWԙ )q+/O)9TKU ԣ֩]!s/az{Jla|vȩ#L~/S`ȦGI00|y\"F\RՅ2TU<.UM KUW祪yjjf&șAڝ+؉i64c  >A٪IVHxa@VеӲZ'e_tunijXNmDމ9$֝/I 2ל%2&.q晖 j j;C@t(o0Bz4agΡ^Xivl١^_N0UPHj!."&!f!j^p jzAcD#&Aq^(BՐA/T§> R/UR TC*&:=T PbP/' JzP/ &zA5C/xA腗z*&#h zUQ/HÞ;3&Dkw;gʳz ESz ewS ^pU>BQ_腢.@/ &8y|O_腗y Jd@/xd]p?(Q/@|z ÙgRraX^ z X^x` k M^p '.@/4󂪂^xe3 .B/5G^X zWKv*jza-Q/LW}L[&) CdD?3z:U<ygIϩW O$S-syDO//Xv\`SW;S/.!SB@ ꅗ:sU+P/Ozz4l/ SPE A|>F"0UP v:CkIPq0y pU0v8  BQ-z^h腦B/T ƒQ*A(zs녊`f(у ! KB/,54e/ 2T{^d+ݩG .;3U.@/L 0T #W53u:*3GjCE0D3z; 4y^0bzzA =d K2Tf8 XAEՍBu.nk+?W*VUN95ܩ R/PTꅦLS٪W*Bqf'y+Ýxh_ʌBWf 5zTW]9u%j>](䃂2CNm^(+vo* "h^* R^p1+i**u`*KűE0aRxzS8 BR *7tR E`pWov^U=(*E7gRNb2zJ/|PPTj`h5^S3"8jg^˩S,NewΌz`{"8N*QqWO>(fߝAs^ M NT5#Q5# ׳:HIaTE쑚Sk!F$ Ugu It$F"HMe륊 Ҳ𕖁ك" }LvJng\<._WZets*L}:Qo4@nh=&VBء&!^Ž/˛}x"nw?>sOԔI&1T3'I, %J9S*"rP#!Fj=b,<>QH7+]3" \[ \<צpj Fj5q9?[7E[d%Dƿ>8ݟi!~7%AT%.MO`z4!YFh._Kriˣ٬&!}D Na} >AX>j>әV:M=KBQCtIcWIRe]АKS{. MC%A]B5IPCPN"P"Rb;AU Lݧ"PΙO) AӠ䯪bwA$NJ~rc.)Rx7(>(:K6To/5j77}|54FpDs N%}`; ;7Dvq(Nmf>1GK<Ta"MI #{eg}M> FDSVC:Z *S֤*&mgb裲#-lD4t8TD3 ]n2"2<*]SkQ2.T=e0D l#pb;D,v< k%2𔗁ǥGᣪңԣˎ4 B(RrR@ AQE`>x<]]Cv;p N]NrR撔2rR&c퇜SGhHZsSk#}j]Ly.]Z;3\Ժ~~Gy͘~. {3l %-l%S͐UEɿ$E3$iq3$U/`+XEi=L˟]SWP|KwAd+k}[/4D밫fBK ?MWr+Kf%S!Pt++E`ZM[/J&nh(A,JvC_EiE[%?U9 5H! H~vnv!Rh$wn0,j ;%QE3!qcO4j]4=5X.ًHڋ gE\}׼pf؋blڋi/J 㮕㮕i/2_۴}RkCh cS;[=neXSNI~ǟjƞ,>&? ѣa z D$ Dn7tRh ̭T@u`oPl~1ulPu4 9 c[88P1TUUNG}g*}.tL~WuҬ!&h*jh` G0FKҩ+n8E7Nj^0K0Sk쨏E7DΓd@Ի!zQo9 Qo2 XznsUAGQQ0>=!c4>Jy̘[p=Ɨ$(Ȁ* ɏ3>Jqc|p<]6>J~LQ;Wu5(쩿8=߼wk،D (Go6>JM(&p=1>JWCf,DVU/%{ g>7DYM_~QSU#ϫE7>4GQﲸD3DDCՙŐ;p̙"esGV8y{(EF _9:i(3nd@{n@VH;sHV'O~fH#zǩ#, ='OHC SnJ~J(w *nw?M7JBQD}UUՙD3D}5U͜z|WYnEdmlzA$ b<[\U8zBQ_:BewZKwf^AyBW|7Pԛ OUA Q쥪uKsK̙u$Q7&_7͐FpؑYM~& $6'?6E3vy@b1ZW$D ?ۤ5x=x7xo6۴o1TPԞ#5Qy/UG݇B{B{|O_MU,( _H24U =N_H5Wm?ae1ۏRsVzJQ_] d]\6GUͰB+EQ)ꋪ}aI! O_yEQwQ^Uzqe^A-9"9J}NOuwAoX'!=U䯔pIX)IݧW*D}S#2JQy5z*2JQyQ!pCjީU)=!?u9sU_>D.D_D7ͫ]%Ex]v^ W/uHzu(3ExQsU*zu3I=#^m4ᕃoӁ>"yv x5K`N7ͥi^o!k7zWbowM..GӮޙ[9MW.;5n!^w*p ˰ ]olaOloبGpvÀKRURPT-QkjeǷ޴wٕ8lohy/eQSիE4CԿ3 Xi2@7WuҬظ8hkp;:rٙˮnzU mUv/sx!8M5Q`^+/p̺FNQC(|y<(ED+]<*zO$zz7t2NxyMza$nnsWv;w,۹{ثt?Nݹ w ÚSYsWOuSq8:E}SY*nԒa<uxָ;Ep*b,v͙3U-˺^iVsjK4ǙS;sܚv]I6^Db!㳬Ե\snu؈Ʀm|׍j6ީy^Q;u Ĝ^GlwU3jy5kNmifx,[ݬQ-vmEۭmS[b;d^IvPjŭil77vɰ)#v3v[N`s,;:eWx]ϲjϲ eU vASa}t]λ1t9?KN+CU0X%'\LCl?"A~Dm/EdQCr vOjA28epN η!KL#Ơl7˙K=j%5jMϲCϲe gμr;qREY{cP7uAQߝ:7 3_>ˊ v!TǠw Z ˮg>\yc^l'/9+!{V*3 <˾ԝyNcJƐսaWc5_6yE{ 2̂Q _jCf"ޒagA4hDeTA{"V53Ȁ$dXfל 2kNBԳ)3%Xrj0hSƖ`0*)3" Sǔ3ީ&~9s wRԻ!-"K4ؘ/"hRԻ]TaVU5ldeU2wU;ФwC-`9sK4C?yf"K]km* UU͜P/K=A ˗3Ȁlw)3ƿV/d v:^Ud{UhrcS ?#F~nFwW4?SAN݉+*zT zЅJDHC^t; fq+ =)3]}FZvOK,N.TyEC)*] YEN%E3^#6aŰ \ Z*Vii+E4V/vFپ$vm3 C+.yUXt*"1UR|-b؄Tn&Ű >a47c_TAOC!oTDpYpre*ݬ_E_Uo٩3;e<-;ufTu9Ùw)3 9s{w>BO$y}ڻR!g*D"x!ǩW5!̫y9nr.?sW!g*DT!NiF+ q{~5E3#8%9.;^83<mlF`aͩqoFx# @flԝ8[ђ` ܊JWA2]3B< ET杫:d 0BSU1*T ˨>#pnF|D`!>#098Ed<]T 0]zf$%N"R*B,ǻK=ꈰ!2zO9}Vnh@cS5a~AD?zfQ]T!٧b]D?3U|^%]إ `/`k'f?aub 8GOo&&'أ},`ϣ'ϛu?aSׅ./t' 8v3l^>ȟb; Ƚ_9_s*bi/둊ybyF牯sy WExUxףuWcx=xU- x*zOp|;S/'w=^!%֮گ-"SuST-zx=Mzڣz__3BC7_74&Yo%̯d #W$kDuz-_{#u{-U|[;Gw'i)%uv-J߂4mbk)v97SH.QM.zE.o/vzo }joΘ?c򧉾_]ua_ߩ_y O\w>TwTw;?B:ž B7~!u _wMLWuħq+u=_0~!+o`~o`~ pu=#0So`JطPxCXA Q AhVPpo &a7Ą#fcusǘ۩E -Vlߙ"qL$C "qΚ38u}m~sf2Nλ C0Oye`3nfN]2?6'7q7s-2ZW݌ "VNe_ܡϕb;?HWϕˆp~.2M"rdp5dD$3ҝy̙Nh-הkSU|SU*#T3]g8%Hfb wS^+L|4F+pO|=p<) muY7UռtiʷjiV?jvJ|W")V/+ܻ{}3')V}.^MgIoSә#ۺy%vOoEv` oVyהoU]VTBU&al~iXyUVjSx !#޻ -Nm5(MU=oSάH=grf] 2Gd@ɜQb{u'~D9Gp$NdSޫ[ep2qRv~57#ﵞ* K) ̻ I>uD* a.@D=0? |9pSzIO/.g\eE{'qP]#'0Q K#Qݩ.;Fվ̗v{ݚ^}Wja ] Oۜ[)sK7V햒a Ӫ!?U4S[ӟh'ScU+g^. T3Nr SS9cRGj>?)W~nSN-9N8)T[CڥC'w'RcC'u~ZRjppH Cjj< /s SḰCT:4(pH}R5RˎRE3RfkK761$hSjN BU TuB⠀KmUkզUsWy1b7Z-q@Mq?q= {k25WWv6 3vL j ;|-RkՒXGpv6if_ga %Zjۓ}_OV*w9u \)N`qu^(["h񦓪S"9 ,z}< Vi:d@ogpVN&SqGŨa2qT zKծ}$և.*+.jґ}EZN/1G*OJ1eG')1mM|rz9y*]=V0Q1Ye{K#! 0*Y 0GT|QL'U{U φQ):9ZDC%V+VE_啠oi[f_z:d+;@fzH']@z2{(x*ro9roi>#ެM#'r;hsRnު|j)FV+zo.H9ҋ`G*iJU"נD*ζK̋N;{PRqRqu[h5cު[wW3(ڳ[.ʉMZ}r~ޯL+'ˋ;{3tV'y '@o=ypzkUżze{ScV^ +@W/7ћfw]HƅFUCf̽%d5@,[ck̽idzO *C~==$c4*ep*z ~OӪ|6֥RӤUqX?Ww:Y\QlPaۙΕƋ5jW\T9￲Ƚc5"p8O(\9r:׶rb'՟V׽7{mɽ)UժmU)3'٥cF5V?1j3b[OmͶm̽?bCv{[_iNN,{ hx~׽X`k{(/ÕFqVUVU%׽U9l:ޑ"}7Л R_'ڑb{Rl@o꣊zF#roiF")|zOȽedY>kI3"ٖ*_dH#5=l?l?qd[]\V#NmB=hAUHvf$ۃUҌ8TZQ3л 'rÍܻH2U 8FȽx׋*JGQVH5FH*_3n ,Z"Z+'.*_eXEUk/1z?1''[0m*2ޑ{wJ{P@_@ԶFU l ~tyusDbpO\,\tp׍V?z)ן:4Eqig2pucpThըVe3[4[-C@ozO2'~,(K% l5+VK1h4opµ*XyfR +Vjki޳hժX*a4vFLKc5((٬t^tz/N[_<{Q3{UEՙU.\/:xNh06mN`UK6\ViJG1Ye_5ܷWXiJWU~p T)z}oJj qD}\*@o<z^@qbWQLdkF'%/zHUzp-"NGzW>5pM#׍F\KyT+u.DײyҾk4p-fzɶTkGp~ްҌ7,FvͶݣx{߾k GZ~iup\KZ.تvmkeP,/ZS%mV>ȾkM~'p9yD:)/utJidSUNukEҭVN_"\G[uQ nDj̮%*'K-%iim\˅HUxBj-cG+{+%\p7.Ps^ F^SfpЍCXyE6k\#DZS&Z ֐Sk1ǣWyTqͳ*Za=o[K\kV՚ G륶p-pDZ;}zXH)7mFvmpmTeiu"YZ2^ hm^JO=jdʏHՠrbs^ʶd9֮i"ƾVٵ5n{jKkrAd=:&aiÆf=:cwTeS;7v-͍NfGmU멶̮iUdj_:xkp7WBpJk,_Ӣu٦cYl\oX/\OEs7bF$2כ3'pKULׯJ >w3>7H?*iܨ!J>tU[^\kI ^U/^ڞj N]_˩̀ٵJWmo/͈>+V?|q@/ɕ@_2 ΍XWj2F#֮Y  dk֙]K%A=-9fxڀdKKdtDdId %C3]JFd^)U-0%;>KU^6%c/$4F::i@ɗl\7ZsO諘kpUQ^4ǒ/)cb5Y\\F,XePW>7/UO58Ov Q@:4g`uɏ^+ZyJ?ɦ sH4@${-CU!@B{ Hh#V?Tj_iktdFv:UZ匳ZeO}N.Nk_FWH_FHHɈ#O;BI='dDNNFdΊdDFFd*dDudUdDJshdDFȈ*PYKWUUjժvj^*<+>Ռ H{w$F&rW!F 䐘ITe`ygͺAFF0V?` ap"VG^m@f^}׌ƚ4? |~moR C(ijE,۰m"mTei3zG,mrǖ1`,?mr.^Wj)py|+.ZZDdG^k'\g*X!q491y\*IrHq[+#㦘##;jvlvj۴y_Z#&*w0;j<F&Q.HrT5" ISVz4g|Q(1m4U_ig೫4a+PJ-m\kPV5ˠ#*fFkNh$9:vW3v/L⓲5FfU1Q?lqu#:M-1$GoN_[U.ݬjƐQթ&VTFg`528W*sҍ'ׇ=~r~jNVcT#1Nc c7wV4CY\yNոhsKhd5NZYjv9FVѪd5 Ad5*=gJӁ9F38gU>;;l1RgZ"A棿 <ы"GgUgu$tJ$.a>F9XZiσ2_i N&iO |8UAaGn1jAi 0V;QNl"B19H3 )07j]dfy I }oQLgv̎P˙!Fޢɓ52կy -5>8X27pG kG)yQ,c7X~uh'i7꼳$8I;~XT1fqvgG8I[qvXo,xm,7X2n7X,'UEqj,N[U8muI5ɇiƨf >#T[AT4DE*g *v +UCdG *DE Q1HTԼ!!]4"eyRYQQb8'Ϛfg#48$Dq:dxU#3QǫtF3xUg:5$Y9,3m> 8^2 8I3Wͧ"!W@a @ H 'n:l?qA|Fq~O'1Lw |~z;>wvzG'9ڞ*zzNR@VG@:q1s~Hx'c|^l |1oU:cusC@Ȍydj5q ܵXԦIjQJcuh`,Vg |,UV\ P {4#8kiNYb}#I|v;ϚާBP,zzN Y"YsXy:&M3Fy: NF5=9&A1fx+Vy+ūS1+ĸz j  TZz+6 s$zwF |vUs^]^`+o~+Ss5C3]3mw]`M^]AqX )tq;Kq19g \ ,q-pZ`9k;w-V`qƥMmKݥjն.6K'ǥ.R.3vK? 7w\bw8=]3q%.G\fS3.2`+\.yexU;va[N \y{y^XJwLL>.leTd`M&k|q m2m2O[Lm2p|q9M|>FFp}̐xjcXs>F]mg,pؒh.>kPϋY{c@>*vË]5㨭dͶd Y5q_\8gbNbGV]`.v79J\MK&G79JMF#q \uh.2˿Jȯ#+$d1{,&aj 38 3"flm_/=gtcz^8W {ovVvUyU~~`*uops?#>n>wܜHnN$7G p?=-.mlw;;vv߫uidܴ;([6v-R`a׌!q^QmU6wX%UJma=n>n&;JsQl]C|@Lf ѩy~Ulyl;1Fes Aoƌ2/C{ޘ^7eNs#!_=-ϥfUmUU;ғ2 7!21 AoL].CS_2Ѹ Ao.CǼ.C _H)hd|]J7zgy)kF^3K;K N@o"MZ5¼Vikb$Jn]36Z ٺf,fQF35p5%-Rϥx}~)wE<ܼt.%й\Jsڹ@fs9>x\T< js9ˑ:o> E_oW۟K ;Υz6y'\ : 7K tWMf?o\0ɿTyD=8?@ {4~υ ;rܹ(qUӾ))]Y'Iy]9|UsKd^rڭ`Ӟ{b]֕I{ !?y?xG>}ۿ+wʃzʋ|nWvtaɍ 3~]Y~x/c}טW+;~o|]0gz~e<m~_b؄y. OTkݩZ{[|VFϞlMI+y߭|.fޙ^BO]mHK5G,lCvp~ݭm7>9Sܦ@1UDl~e㯣_{|?H[w^~?d7X\_|qgl70fQw\+v՝;{~\rW$,̱'wON<8ŋ'ŗ/ޓ?߀4iI_񢼿=ct~y!ߝnߍ*ok1VM\;|c(MT;.| lܑX*''}=@N%T]outs%fƼRNUH;Bv|F-~kH'Mb:hz½1FwֻIƿ7~4rOF ]ydXw8(g !!z+XѐJsZa=_2vW!c敭 aaXu'P!\zU=*=8ZٵI9wAOɱtF3.9^QŻH]S|WѪx8 gP -Bhv@!̥ת)U;:35IpB Π pҺxWHkǎ@ZT SjGXbEZm{V';ŠkƠGX~5cR0cSliwŊĊUZi3gRGתU[^bEZXV+}H_HO+ Ve 9ZQF eUKwZrIe`V$fe $ Hi:7fJk_ikuX/mm)j#`&d05(5p59sM@`vMz羞4;GPXdeoIc4%fL?~5]__cuw㼕ތ"CM\2$Z*q.+еVF7 t:V@f4*1+0Qc=+pxΜC#}Yo ~]x`>`>`~SxP$aXvVG~wEhl @֠7D V۝a7U>V)XbapNb\&INMtVaݢG5'U5ɏ]sR]sPkw}[ U}5j{Ҿ4"6ia&M3IC7!hEoٱIC4[vlTM5ש C]sBͨY>v5+8լլD6f(`3^6f1b,TYlcnm̡4p4#Z Cf6v&d5Zz(ek.^:5cܤ57٪xކC$-G,vIUc5GUkNؼ]\6X&6ѣ7ɱ2)*Ϸ_Y5h$v}6W#'DlX ^-x%Oo!*lh3x%9uW9 ^{u_J4c+Q  "ߴgDcG ʣX^ɦfJx%2c[qЁWRJWHr5Pl# )"s? TڋUg3ط'eu (V@`A-žy'`߲}ˁ*'-ططJWc@OlT(8QP'83@Wߒ'8Fp߲:4N )d9K(#tlWIJr0X;9(+Q|Ď?IML&R^F0v U]br+@b[@ʧ, *fVͰ:sORT>yt!ʧ{f-MC*W$$9%%id 0>z#L8 p`{ " P ="O\_y z{E`$rQ˯E'JHze$X^bv"0Gcn8!wRL~G:'JzE`Vnv>*ţ?<X]:7D n{*wOovHg+y<"C-}kxPEUDmwxpC7dR3!SWm n;²Ofpie*3H3|A@GN<ܐW9xpCЁIUU 肷bzrd|R, A!ܐ!7 f%_pC9X=ubVfdL~SUdjT:5"$Z|4>t6Q<=q'  w#@d 1Z *M NvFעyΓ `i|{mW]"`1c) Wr;'_@Nv^G+:<ڦX9VMd-xN:fN <8r,lk9 w~3x;yYʠLƦ<ǭkNapGc8o,OvmkR\lw^wN̿sN{;nw1i)  \nkPkƤ- Eckդoa::ExI7ÎQ)~JծG[vP4a0'17W3T5 UGgW/No28r5\. f,̎<UFO,uﱴ/>XXm[#^whΙO-^gjk69&kTSsGy8X^ {^GՌQ98yYs9zt?I\q8(C`y9f,9WYKW(.`4p?T)yNp3t38q<͈?h3]U$$y*T*z7n8Iu= l[}p=ԯ'$MyOcKͧF#N*VUKwz7M}g`lpƪtն;O*VSџ)TI y]y۝I 'y۝K Hsx[GR!qVq R6œ4W$HJd帞Ch9t/^8c%!tzAq|E3V:JƎiVJU]EӇɊVUJǎf~>;Hk9e}vf֪Ӄ쌚FYsXg1 UG47R]g^`4[z;q(KcIȯ $:@p}O$0VPUNb/ 5 $3;_@r%ciF`,'2q(#@QSF7EeXxc] X7$^3by7Jf&U!uXKŌVB`\Lgv^͈/F~Ԍ*gRDp$"8TW25cTTcc¬јVBkecQ:J̻<WRms聱2c[qaשR0 DyuڙDzrl3SfQYmX=hϋΨmǹKO*ʐTՑ[+cu+ cU`n#Nwŷ4p(:lt"ܮ0^~^UmTqVȸ⮪0(؁c9"0{>8j[< zYW4A+6Q?OC?8W\U՛W|:p|g5+«+kzW⮚ PuvU3]6\Jg ,v~t}W\Oح[lM*#ؙIb*~Ĵ{Jqƥ'! i{EӶ+bK3G'!'!t`\jh$Y=oGg>-G$"{}ݒ R+r URرw1[< 3`mQ4UZl$mcil( Hž6(o}O3۵`PsoNqwWd%jG@c_FIUuPUGm¿bH@y1*id3f 6 z4$hY͘VţW~#Om#J\qjqJi3W ϯ򤀒+P6;D+vP}wO cUcGJ[`q =ƺ@:h\+(<.fG8bcG*OwW<"V_EҺb/mq1Y_zbb2ѯxĨi_H}3HW&i_DDS\)8}58#+@e~b's4Dg(Q鮥VU=8eQ%#KVB"޿,fEUtŞnĕymx{Ʈ=ctOKc']5+!0y^晱iH\9vA*$[ Pݛ.F#(?1bHWEUC3ғ}8mWRPݴ9@avJOzO~ӣ_*ݽAMfRFf|O*m5UjF:X4#Sգ*;LEļ|7#S87"SX8rY:BNcU|Xj# #Apŕj*Ki$=|AfL="S|Ev]>Oȋ%W6Jm&*wjŇ Z6#SmTYfQK1EUN;䊖 rzj j5ĕv^{E:9dTjgl%/O ;LmO ]_)U= Oz ;@UWJHꏪU*@UCPURuPg$PtUtGbi"T+d N4#+2&UyuEj*T[ԑDnGjر:Uͣ6#SO~|O*{酋80>6j(w7t?.эWH13F>ɫ>FW}Wu:!#xjå q5Xf\ ʸGq5]qG7qc UB;QbEZW84?Pݜ`c7FtH] +նXͺpwk4'ʟ;>>7;#a~ ~Pn#}|$WyXm+$NՃI?$M˿8ӷ)G?~T1q 'e(jTumE+ۛyנ 'oB_=g_=gArΐyb)@j*p_jJU9VdAUL`^NuH:RujY_Šoi$TwiW|hiVKz~ż|+g1vWiV6J^H"41UC5ixf+S;v>~+*fi.F&NaJt-Uc: N+}rT']X4+Yxj+ۄ^4:({ʈ]V5W3Q'r^:Tu%zĹ87;q^اJO٥S8+zOu#f(:EAW|̦+;Ea|$X=1q,WtUChiHQzbS!WqQ㯸KG@&YAlCՌ'uŝƗ*4ǒQeTbO/ d՘ŪK^1?)bTUbf|p]m,..L⩢dZy犏{⮥`Sdz@q2TN⬥~EN]YWf`GW\A諌h*UQ1:uP,UZ RT_[1(*qj@U#A U,,BJP׌#U|9EQ4'I)TJLI@P:ׁBչ U.RCTCίcR>UшV$ >PT6E7-gR<7HRrvT[/Y6VE+;1(,#h] T!5Up|: FșRiH ~l+, (PT*@QVͰVܷjPTA" ճojdʪӋS(*@D(}3!F#Pz~x_>)^(&REF૑3X5rHșjRc _G.|a$=i IK>(5wZl$IaIRf qhJ$)૑$5TZ͈TX:6hs];-ꊫ mw+hc@QY%P NCF\X}42˧T]GqE+z+zqa'%P)h_4j5j ѾүW[ Zy.Zt(1:_[QNP⨥HiePO#s.ھ@I#EwJxd 髭}*mOmT[TbK]G]q$]+[-=UhEedUULq]E4E;E|Jr=J'[)E|3qFT՞E'_k4F88Vq0CuE+6SuQZg(:>[ Upb]S%cӪ^(wŌ_ Κ%8vŝ>ͧbfثX5{8jFU)Exm-PU91myO-ReMD4(UkXz񩵀C3|:mXh3P9 @Qc?1άfGq*;l>qU:tS@Q@E~z(VZχT_1GGw- whX@N\qywI;܀y( ]N^J+W|G<]tjՌ@Qܫ"+b%^ڎw{io朗+hţt>5)(1((WmN;劘_h+ZڋH>.:(NѸlEՎq G!nWGЧ`_3왡t&jOV,GDЧG@N@Q Htftjt?`FoIFe$ѿ~mk$:M'fqImj$:-]m5$+%鉭mh$:$: N1d(z(S#،YŖރlm$:Y Kʧ=̦d6uVy>4lRqΉSEOsN8 q 5tHؤ ^ mijs ]CF6Li`S~QE(j| <76IUFMz6A>|PTS4H 8ڍT&M8('ڈ2 v TN~F*SHe2EeRJ5RR4[#:5R"#w)22k2jUZҦ.m iliP\o`#IPfS:w pJ%+8ubڙ@ewi3w[@ی ʸϺmWTIg-.$m֓kX;9w9 AE .wɿ7οISJbkCp=zq!?7a^ ClponqÕ!7h?!? µ!; ͫs濙k-h]ϣl3wjw߳w Q%We`0Yɞ~R+%㠀p A +m~.n6)U'=+7bG3ZJVl')Z-f4zaG@Q McMSeaQ9Uj6;t0M u+(fYUHmtJIO<apHog3>J߉7Jmn`'e=I#;IliJg5#v74m"<ԌlSsrSJH|28H>MONZ҉Eґ4)*W4'z';IS4({i{FmHid'i朼V@v+үW3ͮi0h+>5 Hx:qf=l7ti#U>ڑmߑm~ܛ@o,l6l-`3h|$Ksƫ树M`)Qřpr6/`s3tmJ<6TGmqllF޾66*{l>Vl.T,lN TSZڇ@8D~#nin u=$a'z@HhIyWgӍN*d`4SKzƏFcK\enzgjS ?֣_2>=W8ŀp) ‘pGܽ9j4AUcVѰq0iWE 0kơ湊s~׌-Yy}Ņu 7@)J*v Ϊf,DCyi^ܣDcGc*+.Sw{)$ij2ͧja px4祐ƙ9lʻ@*zAʃ㭌2>TY&2ܪxʌuO J((Eeu~KR$͠ufP8FzIFA< A"lv2\{Ks~VO=x+Scpm6:c!U=I\Ô< dri4i8cTqg92#`FINJGgؤ7p8R&pRYL_^Jwm{J耓F',V]_^6 prkƤH"\lr-`s#Tw*ञ_f ;K|e֝:7N/qd*8̚([lj'5F# Ԑ.uNMTq)WFqVqܿM w'UX!'''%&R'8kTkƠH/'@zkrHlUf jFz9+V6J]mOE3p3죚؜*E4:UNvv|j5H/X" T$-̠!UVDzfx*FIiN_lFzNL'5' pr򬕁WhWL'a \8)H/*#l_bppR38'5^j26H: 'bNJ/pR>M:f'h ɰEzV͈F [Tƨ'EOѪW: 8)q%dhE6#8)*A-pKUJlr0Myԫ#T TGIY5dh^>U^oOUIy4[qaZ:Jp6UZG89<_T Rzg8vW4[5K)K+ 89' IYr648ٯI'f+V'78p'7N0@zJwm><{c>ɎF'5zgJgA$द[ 8XE> ͽ|8χ#Df{&Sz ;+ i҇g Xd[RU)UOҪ38h'eA ݭN1cQdIv|VHFNjȀ+'_i/+]_8'% :$;utV1Iu|ѰH'?zl$w8181VnnJXX#pR8bI pR `h3epS[/# pR38Y([7\*K'gdH݋⬕Wzɧ91'Tyz'"7$NJ\N89iFY=prRUϋ0듓bԚfmOY'I;Z{zFc}J-M8D/Fnnbţ''9ӊͱ>R/+$DipG+gdS:(J[G#F'Xҝ h0>U^*'I8󊌕~K I8)UpF>)3~8)P:_+ZjU0R3QDUwlrNk$'"|s'\E'_S;ҶU3Z~$'U9&VdIXw4F $mN6 p2 ;; hKFv/V yvfyq w4qR'W"9[ -F#笕W*ڑc1GH _iY)}ڴ*#`U@RΉ Tۂ+Q.HjZjGRپRj_˙bʫ <‡B8O @鵴N@րF>)TW#^'pR0pRw\Vl懶Jg;SU1OuIY`|HAѪR[7>_8I*ޑ@~?-w$H0(CS_(1L $19pR5N(јh겙@U_kb6LJ*Gc0~4ʻ{4'# h`fzWɏ'Q|YӪ~D#pfN-pRN$jRZ@\ً*R>Nj|!HmƘHCf@FGhAQhTծƶh6ڮq4Q"gFҶު8Z: @>jSKn$؍ $ 䫜Xb%qRGsHY\ѴbXF#02-QV oI+$4O 860* e@O2ftdDemL :/=,*~I Hm[Z3FKk&ՌhV ʧ/F. rjW"9z߇1ceFH?AI4z$ g݆⟵JU@mO΁Aͤys fiJI42#6=hɼ9|DJ<$Nm;:JeiyDD+FZz-h:CwRylhȼ"MsDŜ$PՉ. RujU-? uTGY3"u1< )⡘(:b=UN6Fg "t|Ul)5ܽ3)򃼘6tBʀ__A^4Ϝ#3*0*t3-+ bb>dXDruALZV(H:NUy /F3gvh:^]g#1m!żQޮ3ȋ©pf{t~;KL;F/G緳V*҃Du"Ep{:7\TDߖF1? ·b6C4A"ĖAa$*y1]bZS"tig Fb3Bt3zZS$|j QF+ig#cֶ+3qr$4yRyɀFT΁17+= M3֗fg]VEUheSΪ`s>xƹ(l{?9m+Z+Va:*̰~@jSFD:iO Em(·s4؟ֈ1 UH(3~C ]lNo l$DG`H `|bWLmWrp*b  nj9(6lYRtDeH_qT&(%EvQ=f"&+"9ɹ.BT'j~/Ic2qJb)ݏt1h!⦒>3X QHyGZ#!:O5?rլ{3rإ $$io$pW)H*70[<)30u^%-jL#fg a. s~ $L?&@+iQ.uEf zJ&R1{pT8&C"g1I4v޲r\Ƥ@BO+0 \&H  YXT\$]:#S1`s=e V QId*> @$|3u $<8mIo%$Sqdm ]1a2)B $L @Br]XRYcE$Lrkg5jhd H􆄈ۆ4amhv."ܟtM[pS[Y[LqEc퓱$1 $LZ[\"|nَ?"g @dut)Z?Hb&~CH}#DV]^`# Yp ujlEM$H^5[8[iqB؁3lƄIb$p%JVX 4Hh0$b)%$Lhg΁l;[+1$L ӱ@•]$ $z_ v[t>N(Vv}H"&LFήзv;0 c ;^@°*Hsi磂T b+bͱo U<++'Ǻ$ ̱@΁:^_-ގu]$L^&ňF)YYވzg [[M'J^f,WyTrce*f}HΫ +毺7rhX$oF$,luXy;fJZY}J8W;0WĄƘ0;Y^o1!ՈJ> s9gh)Q5)XapS0} X ]C@ t cBq Y:>%V 0C$$@GA [[S܈ )(bdUЗ.)( o3EO W2݇H +@_E6N @׺KΦG[ }HVkj,&#di2 &9%9bJŢ>΂/ $L/o dA&YIneU@?'s a`\ ug+^ɣ^&M*70Uˉz՘4!nGc 9& _穬Bn=JzX$LV@ t<H8ť{dVKgaƢЗrW =\Hз鍀>rFs람 @&+k2A`.S3%sd*'ץU($􀾜߳u$e$L]w} s>@YA LI $Ċ$/crvim=t~}%' GKA`~>FHu܀$v6A 8H8i` !'79)I΀<0fy_j%C=D_syG$G[*w _G04ЗMBc2GЭnGAऒ@œ dg@)&o[L> KE+Ώ9}.c]gH]O%t& s -GA g $|c` {lVX a` Io}#9 ƠV]FHV]u7y-oSVNcQg1O7l?lƝ@jU_gcH2gߟM}ٺDY^g tժ`cB )QIo Ih6B_|Zn/8>] VÀ r#߶r6|ĢF$SX@_NJٺœGx2@;CE%p6. ɺ;>'Y޼f : 5Uك￝d+OJKm\@ߤVgɣo ps@G>tGVVzЗjYEC[8xrΏ :?Y>Ώ yNh.eef]Rg'%Y!ɀ> 0L.΂@_'՞^⍭o]FDZVΏ ԈɲM,=;3x?CԈ;KǪӢ;F},IǺ>^ÏA`gԗeil$k0\$#YÏN ~αd}|VmV51fḠ$";w\Bo^e##I5,!֭)ydF2i2GxB_X6K%hѬDrV̜,1:yM:we#i.߼&Dғ{ ]w?F}YԹnM։$gbQ@_= +@g։$+OL7P)y3Dr-r}f[k 3Y' : n YcHL CY?DbX'U ?X'J0$lȹUN"ՇnJ>Q'DRnW5"JFKN%5fH;w2#1cC>2$N։αח䐱sg8'ӡs.3>j9SXTrOo!3/gg9$jw5YJe7de1>tjKOޣO~! #K[du!)Ȼpd}c%Hg7匘 $^Y :$,Z}O0$Mz<.c ҏű}^'/.9,9|Nz䤌 wKdG,~El#[gŜ, uA%g}X1hSЛuQmuz#:Z:mdkG}cu¼΅KA} 58dXG_YWR:oKɺZ|ʬ~Ze}P#2GY9A5B=rr=GmZ0$PzĤ#ZxXܱȪ7k0Lw w,QiZE5F|נ\y#;/%w_0O\7œ},HFbqǢ &.ZneqG[;WgqGj.;Y_Xܑ:~eqGrCXI⎜#:0.;R kĺmq/,|>|*永#M=b9RdB:- |R|$*¼$M簚#(nm5a5Go?MVs; ֱc$YpY1)m18io|åννѳ㵪\`]O&#&q,.+-u Z0/9:9SVG&%<ʝycXTc ,0]Mɺj7B.7R+;L_V˅c5G+yeƤV]X͑]:'a9Kw4cF.xͱ&+j{CٙS߭fguQOVb~eƦ\WS7&7wfF-~`#wV%j>7rlDP&-;)ս\,)n,ht]5u-7:^߬Y1i9kkzפegJvԪk̬נةj̡u#[ IVgFt.WBgF8gmy%K 5JKAJKA{䮐z>b +hz\6 3HYJOɺܾ#3EdN}cFœ)Wűv[ibO>ڮ,0b^b@cزǸc[]טZ&'_. 4>6F}],ȱîOI})+G;1TQ %'MoWIbƦVS&;2+ 4m|-],0j7C$+kr9vFTeɭnߺwɒZ,xd_HY^,92]Sʊ 5}Ob@b]CǖeOlheFKʊlUVdLem"#&dEYu"ruOYxdٽ\)왯&ﰋnxˮbEFF5i#Z:I`]Fu= k9rv`GZr,\`k +u--:]K%K+FOƧ ˱KKLJ|}qxbEF ֥G.qQg`k=2 R\`]l|Y,HO;l.3`].$`G\ \*?+a/`|q b Fa-`|kC FeV#Zy5;lv`$Gև51G=.0%9Xk%)ɹU5m=J8wѹw40뒄9>,HAo.Z.b u,tQr~`]X`]S1 \<)dRV{,h`]v.5)[.ZO< {=,KA["D ϲkMlj~`%`[j=AXuT\.cc.;O,u&U| aϮ.bEL άhٹbk.B,F5Xs1)W"EVmhI#jױ"E1#.E"KrfGO>r_bk?,5q]e!"gp2:Ys)ʙKYۧ)+Njj|\㵖"-Ytn7\sN,шCǪAA5dȢ5:kMXِ@qV}Lg::R+`]> GW٢U`=G<.r#焝 sXU&xXU S?F,VUfUE>oxdƪXS.VUT XU&cc.ɡd XU1s泪⑥obwѪ׽VU,їn{Dg٠cUŠTŪyLz2 *e(*8F/;oT(VQ"(g9 ˤܒںqrv 2[oZ,H׹~|x]S7nб" 5^K";$e9v+e95.Q,vc(H/u|2 vVM r㏬YFHa5>Qr4ѪVȡO}n"SLoH{%[ujN%ibT{Wփ(rMքźjHX79NX7~%U>d-[Y7AVf% ukIBʺ$MA$nn"'M,MlY7dݣXrY|n^%`dRhQup#8ĉ*[SFބt%yȷ8a, p/bns<->x[ pKʍmpK(6(6;QAn2_[ent- 4]u p[)蚿\n9[|4\;^3po pKV~n.BWrnnFA~D S5Zx_%~:/mgg,o _dgampaan;IL7w9ܜrn~:ucn } 1nNmDp#~Ip$m%+^6F?rT5_6G^~676F VVWn?r5pj ]:+wվr=зQ07FF9x خEXS5iW7l)kV% r41t|FKϕѹr7Wι=.kWe땛ٯ'[\PmFHQ0ߪ[(g1n3q[7Y8ar]aF4Q0aaƟF9b@9ÌrIA9Caծ܀/3̀r`qČ @r) 3v6& E~ZrrٵQ0~rVf Vao3xب_c% &t^j+Մ\?i92MA~N&:5_F5=4\ {ScsΈJMO~a{F¦pgĦ_W.676",lB،sP`P~rP`o,ؓ7#@~ , l, wF>_8QpLJj!"8F/t(Xp>(Xp>e(XpC  3Ýj=G1wF[#S/}Q7b2%䶷B5}_g_}L <ojE%{|7Lsgy <#[W!oȣط`?徠zJ=G.8o}{B)? nEH=-}L}Y}G'!\{}xG'O~׍Q}iߦXG[7;s?:"[#to(;V,蘴[[S^tܪݒ^Է/k(|!?/\iO׾X|+s8 GF;鯁|ߵ~ų>ð(oKMǟ]~v/U--er =Ckd.ua`sc2r7C䮥6bc-Yt&kJ伷,~KVn> 6cm9of9Oa(N蚱fo o!c,l3q[>Kgo@_:=VPEBn-EE4HF+ 4 ?@+_fcWfgY@4KVSVnş59+m3,-K;omzS+Y4KΣikfǿ<[J_ yq~:_ {y` 5K_ /R+u@\u@<[i>,(,]tc"Y ,W|LXŏ 9֥?Ȇ+i?h\Ys1!gh+hZN/[ff6f)_JiF= -(ڐ/F,pcGR[M=j3㎼OV.4Yh Or;Un~V|E4yK"+|}2F']IAF#i4FGF;%aht( {GGX|h>>;hYOFR[ŶY)$-N7'(GȅIm*9 I$r]՛ 7r]RѸaasl#6/jUgea9Q@oKY7/jHի7Z!P縊r%wo#8jx,Gȱ>u)_E i>,I/Il^Ja'˄fA:مs#$ {*HZkMYcLZ*f?i~_s?ج?l-;Iݓz N Yނr'SRmfıקdk5=W1R***G)(*G9vw(Jko6b8zd1@ғq*8i/VMRw&+%fhZ^/uw/V 4KFq ̂FxB< {! {sjڼ{agr>ITFyUSͻhv9h`b 쑫L/[pQME5fZ*,8xFxBnNJH gaNQ#Ќ&%YN% 4[To,8xNZsf7b|u2G'Y#>Ƅ]!6\c#T+:t%f\ڹ>μ]!}e. @3 :K{9ұQ>EVShhovt,hu$Y J6oWxdEQ^ZK sݼN!\szv*ֆn^`40b3OX&kfA|cAKVgWG dൖ KfIAr Y ;6K WFQ/h>4z͒J^*u  Z%~QR@V)(,)xd)e,)T%rf`()xKjfIkuMQRJ 6墤`9()J r൞’䌒M砤U$MLqjnGb+J ը%;K 3V&F٢۱Q4`kXCHl5eK XC0XRl,)HVi됱!K cc0;r<;> r{&oHش7szy5ސ$1qC;rM%Gy6ސ0U=>FFVshk9xCBvЄzT*'voHH-%Y0ސvrН}ZE?nIdWG0u+l|l=2)K{7.Y%6eA[󹍗#SՈ13f| }eKldbegRPYKV\g)œE+Ո\s\>@V^wy@ﺞh]rfZ]EzPXe7҄8;n2;廳-JK%ϐr,86; Zئ/V|l|lH9c~7!2̓V>&2c?b3fC$tgM*"#c~9Vc~#+kE|%hBHA hOId4!Nj)G| 26Njd8I;rƌ\*SpmQ޲G$ >b+jY|2pâ|s,'{v^V,'Gv>,'3''X d)7ɕK5M5|$':^QYO.rFkJ2U(?4aA(4a9gvޯ,S,J|2@d z$E.IK哇^2Y^[+sStznDZ9 C*9~;X^MN3ޙfqE.~eOʁdu^iYeβ8}pŦ8²ghГ8ⵞwܠ8WnL#?qgz'ى_g{GىcBq 4ACN>3!CNGyCNS|?gIovO 9<ȐbX?#'=<&{TKqj(ww6u|8gC` I<p~J{[+gH78ߞc 9P$v$>8@N>0y! 0RũrSGL*xVvV{ވxh>du͵aٵ8;$ϐï I<ǐokC +7-:+wrg\8Wn>eNwsU{F%{' 늂|c I Sl9qby!yIy9vay=;_58^#+Uqb/  I<ƹelD~6jՇ^-%J|MVʉW4p\b8,v'9 {~{΃2aIiNAn Y< :n5>s场ʬ|R9om1j9 q- f|fO Y{u9LN_-E4L ECF/2%:{y2>Rjz2랂z):LOA(S^w&%'9OAQ4D5F9jy4[9)CrܸdhJ)(0>]ݭ4 wf9 (((*iDɸA7Q.ei)h4{ RZ{f((6瓕ʕc]dlӓjٺecs>YLhܪD%cs>G 8ZEv=ʅ*xEWZ<u~Wҹ|sJL¼HR4P`^3-[տ}<̫ߴ7R#U/Çy-.m5%0>u7^&%ۇyoz߼ȅxy)(Ns,ޘT0&G<9Ka^}v\$!Zra^}*Jna^JA0]!c#"ɒRudb,)dy"٩ckͫ?̫FMj<:M!jYɼ$-ePjD&*%0>goAȅH$&1 Ȝn!sc04/d 9_[ ܓ$ҢT4W?󊅜U_JGIr&:!SLKYmQr%>3sW9e:)/꣒xqڻ,U^={R?#-3*MVjC.-ӽBڵʮ\v9rl)-jQE9*ɡdx XW9>FW!q]~T*k |`|,'gʿj$^ [ J5W,Ws]W3⫔+xTlE|O̍_}F|Eo?3US!y}ƿ^"S_^!U¬ȍE8W4GVkbX*՗GYxEv%Wy\W)$^qRLUW4TMPfW_V_I%SgU+^Hu_:ںDoxxuhwd/ZXHȍO*YYQc1VAWdA_5SX5LtF|yա K>e-WTW@|Lʊ*PqUȊϛ/ʪۊWxE5i^^%xc<;Wn;^[WFx܁W*=JB.u `"+jz[[M,j/ʨlT{WolUxe@WxڕJ^rh uV{$R j\nN7^S UZJn^mzx/*^- `M^-KYtur7-B@$*U.xU;Ao#ٵ,-7v5,*H"aW9xeTָaVĄV ӀxűPZ_ 2z\ԦE+r$E@n^l5UO^ф9DgTi*^,*zy$-*xMxeK*- +v@E{ʤl]T#bÊ^ 2kj-Q923$OI z-׺dr^Br]U.*.`TUL8Wa '^ z@|s 07`ݰ:+z>P)|@T dje+νџGűEPy q* JR"z.J|TW9j4xEE@Eo.jPI?C]NTv][kyRЮ@Uj}b@0+TjJ*(ίTE%#VSwB'sxΧ&j@g*tUvW؊N:APN"+ysʹC]XGWɪ(ؗx#rrl(gLr^G&e茀*;MoP9Pd9#J_@&9ib>^Rb`eW9)[@j^T l_!Zt{UCY!zVV&PpTqi7>7>u J%9xV0e @֤S [AM7d,-dIQo|zdlW7> ʱKLe'?PekdGF#Vc7>?yE%hS;/%K *[]jQĄ5$MX5*vU(UPqbj@%+O(ܒ֩dd#@"G!J%9:(g2G^#@%9UTI< ~D+r,o|7IN[@l=مs+7ْ[]-j%++bZT7>ZԻCї+ GsMI[TF%Ge4u3*lx7>v-)v(h.o|9Tv[޸%/[( lU>z}[R47jw=]"do({I99T$*)kÖXd[2PS?]WG@ E-Gzo('[RR W{40rU]rKNw&YY{gNB%'{cUzgEM![]ϝT2{ vnӄބsJo޹N}] @MVP{yȤ@9]{'@Q@3*;ޘC;/%xc\ISI=dl-I5޹%E{T5?1?:ﮭS ]̽sK*7"(r*ɲ]̽sK*[kd޹jA%rMOUE|=s_̽u(9œ~jx}ꌠ` ?ɲW#*YyȞ3)=fI:forn5ReRX֭!#yDV#f? ;Y>P4嚅BOǎDLJO?;VA&VγJFP;+Tڢ3uvi]8v5qNǮgzj#sOtM&tYF5ڻu~G=gzVY96B92{hcO]gG)Y>+ȥʻp!SN^>bzfc4GWB?$kD1%4{T كع m]",PNb5'jCEi>%әv:Α<1ńQݝiul-Оi (wNy.eWyΫ 5ޚvvRKݟx!k]҃}@mzDi䩤 P"ȶ,=i ;[q${J!GwʭWHc-:G;X읜q!NRv<}Г^a}ƅ8s\<= -ɒ|$B\w{T"PdEA!e,x({^g{!Ž&އű!x(Mθ^+9C.MQx&dM%qަV8 W\x~-3Ž'+ר33W^ph.zشGVVK(C?㢇CA$N%qW8 ϓX\qtg!S%!գ;N![qRGV83YCoؕ"G`̏+犀x8Ry#u|0IRkg/:γX'X'nv9qHVr7;DPtfxW*&rqʱWnL'nvGUkcqѢz#uG,DO\tݸr ji^HPO{8mI A8 g)y +Y]l4g BLw uG;RD+^[]BnP}GzKtw#u|uCzqЎ[ v;[;rgobR ⛘\ ߤiH|OY9H=]t6ʑ+{g;B+Gxeu.&&,2~c+Vw7ry{3\qޡw7Dqw֡$$wY\/dǃC}`7Y{;ry#W|2&i<ۑ+>h9@q#_N; qLVkQY=rBtBCp7V!yHp7QILZ!d6WBE&Yջ#d9#FzWy#i3;_gvi/N;lEqL9_r*<7.^iz\9_h`L_a;_2egJIw.r$M; tVk h$Gn\r6%ܱqh-7.م,;Xۅ$v!I-m%E޴(n~VZ9vc/{?ރc49z֩cWn*^r' /9n~f/9u+/yD {OʍVbg{纊FܹuIӱ'm\[/9rK8c[uVVZF\L{j]ɜP{O%< N\TQGX k:V""eg{Y"e$&}|$HNr~wkHgzɡgѪ"$);Dž dWr\Tq9ېi)YYr, R!#MV$(9*6Z'غr o@=O,"Eq1966)hªNXYi2|ʿ(_TR)"IVq];6-S DF uH4ԱBKbB鍸Hl2 }jQ?Vv_ X RZ1+#^ׅD2ʍ cy&y,ND$<1gk !zvbRxDy8gojն5U|z#g R/q:3[B,5fIFD"FJ},$)SV$O%}IHt]HINjo4m=:֥B~ɗTs!Z$K{H= 4 VK[ƥ t{ qi[%]\_r qi}Dzh.ϧ$((Dr =ӄH!d dH&|+.yD+ RxF RpDz$[D2ֳu;RI RO^w"e%{uDJ"[j- S6)?2؊d:msܒ@Ho,rEnjs,ظ%&- 7EDPKVHH%^DʱNIY/ ["=ҥsMfaW 0sKV"b0]H@\ .91kc_%]:r=Gz DEchgE7 ,nj_R'Hʝ̟Hb!-8;)Y DIb(Ƕ=¢slH:#(z(Hsc=\TׅsSnH$GHy 2)C;LԈ}$zAQ)>qk][]˼r~O݁\A:6|LJlefv.BE'[I@G;(A2g(Њ9ۏ[ʛwq&S2l7vEaSU\\Z]j#c+;IuCYMqw0˂I@F,C"9-"yv6NrANKv|ɕ_/K'?4H|IߍWHh/>7(?u=ue%茔N{#KvqhXs!6${$\rd%WC_0_2G8:A=:W(.f7.E+l+&ilJ™9ۏƟNH:NNo0I;uFvxnPT l.{+a>D+$iܷ$IA@4a$NHYd$푭,o 1$G&& (KIdut@}@# 4ddee>%ho$ sd% Dzںbq hdI"ÊH\t HҦc=3$-Bv32wHҦ/id%=ӡd$i'م#j I;9~H@>A~HLJ$ɡc$c3+s{Yl+~.c=r$K^3[O&i_҅Wn,Bfel}ə\J" "+;ufeO*9ir uIAee%{&_r75pq~&ߓt>y5d욙yIu:d%]OtFHuBY[[a rr7;)ȐOONu^ɭ\+^@P>F<3K4/[K 7[Xԉ8WL(+Vd @?m = Hî:K [HÞ\*~i؅UГ[WLri+7!Ӱi1 {Q3W=4iؖcͱ=jt%WSg?EaY0dU$.B$]Z0DaȦ QBvR1,$+7gЎ+9!|\*P.y 4> BaGϭ@ɕt CFa#QBA( 9 CbK^;n_$Q2IeYrI|$M^c\v * y'Odh{,n  ?ܡA=)~Wn.I.%4Я V?xj)\/ ~51A^-^#8vD\אh"6$Z@DJNQAN@spv"_j c!"ډHvnW:y\'+7As#ڟM "iH.c 7)e ?VVA d (7) 9[2vuAgr';+wӄ}mrS+7rݼ= S|_ͬvʙWoo!=#Ώz~r~ks7F7]QoaTv5&~p~k7ڙ)gnJ~@XrKůCV+٣v3[n@ ww_Mvw;~?Ykw7չ1gdQ/y+74ofw3W~pnX{ͬvnߵ!vhwC# ܕcC ofOjaA !׏4o8i伂قrӓ?Zw_[8,&Dbp3qbXTj_Om>7^i?S61fV~kA]=m\#jÙ$AneR 9~䦠xj7i{=mkràZǥ[ownsWMn_{*Cm?nNu[O+P>xԾN7vx7t}O}۝m7Hѐ)A ;qv/_w~r|0ԧci[eA!Mn[Mvc pS=5NK>N-DžBEV45I>Z4/A7h=Kݣc痜v72N9^"aO݈(i'mZ(i]@V;por ?GV^ j]/z Ģc#;Nl+yFj{|-wóx@F9؊CJ5ٌ+J5W ۱W4RݳlƩ!f+jzEMW`?cUi%l^GV+z|{rmƩ!3N 9z`Cn⣁oGn'[̐[!z[!:ehoϵ!zs[]+hy%6Vs!۷mvdglW׶Ջ]j`zuellWSnݟn8-{glWv؏8(!t؏خ5MU+ޡ=0Wj}O T*PY*2Mp@_yzz]yzZڭ5ȩ}*aJjjE8QXWp>S8n18njt!Z^GT΍Tpx3u(X=X9 LW ԃq /\TcU. (\jIEFGѣK"zp2f=KE2 EAsbd]i! bVFA6 9%F>i1 JQ;/^ZWd1GH"\ s1%{X=ݟgnLZ+v~#]rWyZE+(_x_-o%(wɛp(oc]oc1y9 ux,-}z5GZjc,OQ͟7{e}9=uSe\G"㬓12ˎ %)uz}E!uHcK)uuz#\E0l\.Z O+-Z$R+Dbe_ԗHo WP)ٶN/\*V\¡P,ޞr$+C+Ϟ!輄ʪӕF5xtN5׾.@$tP^=Kf(ttFuPӥ+ӥ{ ޖ҇+ӥ;suH{t4]qft  cN&j СS/$0'F s`ӥPKI]93x1]:Zr:vcԡVIet'3i0g֕re]b 0',:H :41!տg?տ.h;fYJ%pێ9nՏyB7sd{|6!(HnnJ1Ƿ<[ÞaOȵHn^ZH66h@=J:q(`NpslilǜǝJ"I{9C!tNob0'|g9]syʋR {uc*7ÞNf\cN̑_ш]ɑͰޘKĄ"쉅2nǜXW+Jnb_[_Gh 5o]9$0g[3ZS'l aO̩{X#i ?Iv%S = cNp9~p<쉑оSɼ#89aO4651'ȑaNK({CsxP+=8ÞFxáz V8'}ձ][-.<˄ױ#<ѭ Q 3JuTA^9DS!KbG@^Ď =l~3}5{!j*@==;oyL1`~sbxC9AxK1.Q+9 ÞB=OZq́V5Jqڤ[qR8'tc[ঀ 1j ӊ8ci>:[zAa@pGj >IsAů-j) 3h ž9α☳dW 3i0q[VxZ*0L2 cƖY5Sa1grdS <2HZqydo,`N"s+9o#]dm2#YA^w +2ls WQ920^)5JwmYwOUT~!SYgѪ_Eu_E~#AWQ-wҪ Sbf65*xmফVAjiȵ#Cw7Ѫ=+DZUFg_=&kXS1=GFI.>o[82^;6 =] wO1.iwe1= Ex5)5QwO'kdp|8ݖ;[-r+ĺCOF.Z3dk[ѓ9T1sIj*w'|n9sY4!}X0'G4bs¢qd+1'& jsb 2?ycqZ.KoYu3á9;-6L=.~X?C#TLqqsyܞ~qcN+`x#.:֙Hxs&s[5wǜ͡9r=Pߖvǜ7fp<"\6Z,?-]yw Axo4ԚBˠs|`ΦsېfP )4{ǽNpE=o;,m*@`?s]sbB5*|dbd3sv 5e:б˔l2ew*+gj1vPg? n|oElU=Eú?2&^pydUҔlH2$EІ6, Up==e1mx`krNhky8=+Tpr!$p*G-J[fU.pJ3x  G4 1x-`0<ӭaً('c1gR+t1')p&'8CgRg<)"^ 8r_ylx4p^0~ 81ԩ/PԹaxE yM7 BIŴlJ0CQٟ^-'ez0nufMbt4?IZX4FM5e% w*IKw.lUG;6.%q;<ޓM}P~jT-]w&G+L qp(\:W:.6OOL5!OX!y>?\ܣd;Cf^3!gx^gyv:g^A'Xф9;ꗼ&uGȅ*VyY|M\WТnVn&wW\ʦ_TW>c!gg(>d dӯ|.B<Ӥr@ms#<%]^ǣ $oN>-| w}7F$7"83=rSr_F_j1)C8}'Qwƒa uI" o{5*m{)H>N:nq \;zN[ w33'w[>8W"ێ-\HA[&ny(:-EՕ+-OLg}Uhq5pFcu,*[ D 8;:KR9KGu!mq0r+^jqs+~%[ 3nm| V8<$V{hꖡ;Dw’dOxPo[!%VbhAX#xc23@fRiA&Ȅ] tPQed8!R+2 ٔz2#O5p6%U@&K&tVdZWio+2'{B:g&h 2b=Ţ882RA_<^"Z7,b7蜓D[񤜡\y 4E^4eZU;U'֔*SɔЪZ[S&\FgI,Uhۢ\Kb2&ǶLZ+ 2H"㟂 oK [VQʏmi7+VPgFq*!RIFEH)i71H׷ZW!^7*i7g*?GMAq,`/#6:5*:i7Ax'G9[W XC +%*ZubPg n\+p_9dk2s8k&w59 S1W;}M28C%jd Mn6 25 S9@P L| |ۺS'f(G8 Mɑ?_%Zd ]VPq(?h1Gfc|x||8Fw7O#AzY5)h w5WD rEP;6jFCO%c7C+|8 VA&2nsd|8P'=?d+d ɖb42ݓL v?7Tɨ1FɅbunɑHcá&E'ь ĕ#dBefq)91REɖ7&Vd =GL .ۻXԇ6量 ďiL %Mȵ[4NY rcq d I,Qm5f հ3D߭ܓ~:ML_5SnӺL LόB?T1c f ZsL 24# %2uF2 PSg$C%l:vEh|dyp"wD2?8vlaOʺvR,A4a]Gp\WP,} 4 B$c4K+㪠} H1BXǔlJ%##yG"O* g[[;WPaz gÕR.Wn v avWP\fO"E87r[Q*WRm ^#~:u޵u5Ka(>db!dJ]f%:d±VC DcW0d8 odSA6BDp)…  ] x8Ȅcw6%u+w>A&[Q3yd? d='^'gtB,mSc#!'8L@Npabę{ HP8,BNpvi91sdr @GND JEVD.@qΡ\d<]*m rT5)w(9\$PW Mk` mhorUk`7*Z , 5J#j P%N$@&Ko_J/BNRA]yYrTy}hl T v  Tyu:pdJ4>U0@&+JKZU".y܎*nVTA0;'..w;ȴh|1Bh c$rhDNr'ol Us6AjU:GFް+Qg.CdD%rm7RDE#wB@p]D*ạdw]uFTO"ty+!ty+׸&*!tU/B5uT]„4Q~]qP <2 *i"K T GXpOj|BT\.̦z呺&U%BV텡KjJ x.]*눽n"b]⫭D_.UhPRQA*T䇽UIK~P%U*ᜦĖq@G6;P7 SLK-yMhlyQ%' rT g{g'F\N*Epj8D.#{pBU wTλ*5ݵ{?oKT =,}N Sm$'IT n L=H|DnUA5rH4L uj#XUjkllM]t ;UTЪ嘁o 8)Ԫ5T5PēN SnQ;ax4WP籴8UЬ2 d9RrV KRAPkPkjC]ޭVA@PH\'-*#S2M -:S,:`UИ>sk"4'u18 ґqU&*j_*L}C"P 1P%Hm[ifnv;1 pN ]zWR :e}+KeT1ru BF"'aP%1ՓS T.URAK Z9p!!8 *0Cm*AmHZD=tY_W{;\JL}&rVN|*aB6ULԓ#M[Qv0]6]Ԩr;*awdJC=9ԓ98̏}\ uvJis(9eQɨ N]UX&Wox4B)YjRAy3*`Lo=F:o%Zm}.S1s*o(I`~ b~6%Oc=irT2sdrT2}=81S*ȃ%5K?17?0?֟#PѸU%M䶦ܑfaQJՓ#T7vNQ'c)PC=9h5f&ƚjTAssP*aW)[:e,|rRepwU Gc1/mex7xtml`0„XĄX t#ZII&>nAujc${W7!6u nWPr?tu y6d?mLueBl#0B]udWO% EFr&o4>2r-ҸrrRa;%d05,c겅CYS22=quMFnk6'%a#S\7r\dJ4M͔ch9aH9s4ԓC SZW=_)i$d] ɹ24^U/䈕cC:Bn]dyo5pq⍭Sumtq|6VAG~CFn|+eN&H>o~'|'_ ߺ/kۿu%垦"~ȾvǷ|{Gt7uVw[tuV6nXS^K?g} y~ U' [뽣KL}oj:'$Gպqo-g/8O7yz~ǚpizBI6B<$JBt3U߿W/~_/e~>/}|WϬ3<*Y3zW7~?կ?^????ɧF_o|յ~S~uS?_T?'q+MLrf OM[7yA_Zu/bX׿wg7_7 endstream endobj 5 0 obj << /Type /ObjStm /N 100 /First 796 /Length 2206 /Filter /FlateDecode >> stream xYYs~篘G!s.VdUjV$'Dd ];>_LIi ==_=LȌdYǔf S)TeZb 4HcDȴKL_hfÛg& h*줘?¾Naie0=g? X*;PgGޱ,$< @8ŚB"C"~5x$Ǣ#!(=DIaJwH FLmXR%ʹxh%IMY-G JP@#-t3t s&DG3Y~J VІՄLFhˑd3¯K| z.DYo 5VEICpX"yK,SH$V0|2\BP Ɯ. @`>HD,hF¨I+o<c[ kase" M+h{,N ̫,YYB 3-MBoX VQPi T`% 6Hx!Z$GL2cf‽iIWW;Fo~ng%On~ T~>8mUƷv;,n\7ט.cG,X<+ۯIr͢Ϛ"&9;qQVhyBY]wr em^UMO6X/^4H8nz◺e dfyNqXvg_Am9-yWTz(9,9̳nC5޴P|6˚o;-^QuA{P3d_N8,sZ;]LgHOA_-BG$oy3[J̇|Zdxy:>AH^UsF<ڮ<f7='u.~Gb/CcgJՑ BJ&qO0qeiKsQ}{b׍8;9ߛYV]nqvb<|t 99HyIZ.yYUs$LˠٲnN2g]7ݏ.gF`dC:!rt1keZq<OxGukwNNy5*$ ci¥-U0 P)ťL[4BT;ǍEN]x 9uqǹȣty"QU0/@_ׅT(9Q_"&e#[@"qiBa=XlD Kh ͹j=-8 z3`@oqS.\P P'ug=Y7y[-U!uvJ|9a?6bҲjBM瓼 YUmHeK1Hj$~fM#6*~d#Ӣ$,̓,./kq\f}&i ϗ^10Y/~-->(..r\Y'fE5oYye~AbZdm[&=dbR4̿(L& d |GL lHB4 ,2k2wdį@:r%Kso endstream endobj 161 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 169 0 obj << /Length 1048 /Filter /FlateDecode >> stream xXKs6W`r"&C3mԮ{𤖦98>$aʇ v_)28 X.x,P.G$A1MMQ1FCBS4[>Ƅy9 ?S 5|Z֕7`0g1B!!NXxЗ{lNhr^U3Ui=Y]rQҶf/r |#ߜ,NWX L]BRs',ܼDeL4~"QMD5^O>BLU]vJu0^Uj $GekUneh0iGi% jѸqNCqFh:{l}[okn, sLlx}: t0̼f!Z;yk"f)Ěvt_|#ӯt_KRUz>G,J1)"Q7gF-6;$nlm;J@zm'8'Ф92Uvw̓z Lո QĢ:-\e5{@_x-Y6Jn+mPZ(a J2 .dV A937ij2oyf8Oh{m zșzS( aTΐ&AC+_A+ÔvpO\UlfVx 661^TޑxQy1$I{Gd˹;k'ڶSL(r]CzQԺ 2tzMѰ`ݸ.~lSbr IPxhC~׿8ǭI?~f?L endstream endobj 176 0 obj << /Length 515 /Filter /FlateDecode >> stream xVKo0Īf4mBH6.K.U?xfJtU?N]Ê[OڅnDJ%pW~R1KNp)-W__tu%F` GCm9c:Qce :k"7aTM^dM!SeT٢,oz~hRJ40l[X8 ."Z `0D$ܙ/PY8טpiZ.!7꼍iI01g@Oeڷ`I Ɏ\Y$cų*uq[*h0cv9y-l5r /KkfMϺD(~*\.K@_eWK=2mr?=@jT$ =ta' ϑ,ieѐٶŽaivΰP9/JJq"a9j?\/ endstream endobj 166 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp6IWViw/Rbuild267d31e1a6e5/MALDIquant/vignettes/figure/mqve-1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 178 0 R /BBox [0 0 504 306] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 179 0 R/F3 180 0 R/F4 181 0 R>> /ExtGState << >>/ColorSpace << /sRGB 182 0 R >>>> /Length 272745 /Filter /FlateDecode >> stream xˮ%=U||@0@`҂>{eOؑAC8tϿWkֿZrk_z_?_)_篳oW?Ͽ[?mZ{__;\(O냵,5`ۃnGN祀+bK r].+JVKHj % #CH!H1VLJ(+h0ѥrkKAtT1F1,X/ 5ΈhA`q%+F01Ewb=3` mzZ!,$5; ɺنHMSj$)+`i1-Q~!eL~6z0{ 97B:g2e$32JOh:{ Pu %o_q~UѪDe]waQ8RDR`[DC14З3FD35 C0# oNF+I2 ۃr bI <`I|4̡ʔN/SG4L#d5{GpkF$|$+Hhڸ}\)V^iD_/Q\21X#"IIǧ q<2JjO i߭pDz9!&wk/"6adeH` 5?Dm+$)ӝ.}M3{Ѧ6bI\% xY7"g=hLAw>j xv@3.G!ҍg +)F6'?E,d6 4]5L>z1^h|ZPh#xKv@4L]rE'$/ϱKs4];`QRF4.L2æKI&qԀoɱH]atɧ᎞,NWecJVe]A^gK2w<%_pDEFU]i.pj\l(F$eݫD$ z%E^n&:Lؕo+| 3)GLmH;SM*#RIj^kAs@dHj_*%1=_C8UhD$)P3P[@{|mM9"kiD$ P)CԠ#er\FƎFg!^_)/i(X{@,XפhFD4?WrQaB[MKmƳT۶B$e踰x>Kś[hC%fքW@ !N%w;h̦c!_i^s2].85ceEgL7Dsl'HKuE$)w2k;[(sWf23Bh8Hy^>{;̀TQ [G7j:Bj4w|Q>#,I<5ѭE;^-U%:̀8b"EՄY5 (׈܃ 1rF@TikDowz (GT4Z5 %U5XBZ8B3G5`㩭S_\=#~mA^#sMm5J:Rnv)AsHB$ٵφQw ,lyA=G\ݜ")BT>R 3 @Ü2s$||]( =TI<Ra[)ংYs@/z$DsPMVf~{/Z`^`?H(ሬZti)Itg!ZM{@V{@=ES#T+=(9+d_tr,Tf+F k)"/[KDJ1rt^Xar<"H,a襒%gD`TAa˕4(#}EPB0{%>4! DV's@{¯: BHcw$ay}g ^&;yIM|d$= wDͦɈMjZHW+Lh`|x4mK$^&:9W2k[֡jʳ#W6#HRA`J Rf:l;H[ jla֤fʣ4AU@Hgۚ΀4|0)br@*)r2|dˆq5Jֱy.4;i; ~`ڴpƔgw]M8xj#R gjRc3ǥV`RӾp]+$ȶY S-S-}C|!kf1M~c%_Sh|6iVK*f `T#$sXƔHE++ ^܃kc [6VPcJLR&WDGB2Z$X(^9j5"kxrLҔG~1wLV e)HsW膐1zɁU#@ǘ#F}n n%5z!ѶM[ff*%C"րnw/*TdBP3!`R.L^}A A~;oGL0&5qGYhU}M[o8sPI (ў#[MGDJeBA1C e1}C:s h52.cSRike3 a%% 2eSI!%A2i"֯HpZBjkkԴ~,FzY J%T4(=&F: j|E `UV);}T1ؚ1};D̀86 NCXmZx}ϝgȘ"ti(o]8LVy0i\+mnIi/FL'f 8HJ.b xO>Vt%S#S>=8r6)`SV!r*g-JԈ,%L U3c7@&&;OfEΈ]ꌨ%c~R.׮,֘a5KV&<ʵI}a|kmAB_K(;/3^oMVtXᤐ#QA]m IFu{ooR#JMw@:N$w4ѵC.` *k(l׀B{SkŦFTpR@'lyYk_+"i),l]¾z@OJvdb}Jl vPb.Q)Rr@1jGD^AA2҆~+ƌЂcQCsDŒT3EcH5Z@f"e2011_(3L[(>:N̓aRojAWR43 o  껴3h]QtA~{mT jgAuLOF`OnP&:줐L##0&5; ^F6ÃI]+f|Phd>0+LيͅKx\`t231f%i{fIY];On7.D pɯ6YGGV[DZ+goYG?Sdz 9hâ#DF:dپpj v7LcsbUg]XfC:679ܼ\2nݎԂ[~H M5u<5Fq gцbs ͰF$)S#RHi] 5j h =yDv'zh ^H2jĦbdH2&"voسjcE$ydj& E*iM.ҾphSlrErDtŎA9¦ jrQwD~e#b˚zddGk E:./<Ҩ ؔT5эp[S.-'f R 6R3} g~; K@$Ym=`MjCt4 MGT+4yZo; &q@Zm)5*0"VIyĤJw݋{%Ղy*.$eZ7J OY l.1-dl3P5}@k(_Mf}H*[+9 ֒rDmkȌeBmkkdd&Fv{tg61>[S'Rユ0΀a$G@ʟզ6s\8[E[Ͼ;`&`X~SI=;%)Fk¦aVEwi?+7e?t"/L .YyBo* q!53}Q1ѡN\ۓLryW&{ɱy>%WAԏ^ǓSWF',+g8nLd4%L>L3ld<7ʶc (҃3}plV.+g0+Cm}%,*g07_}aw626ﰟ`YXXK~?9͌ۮ2Lqnm\/Qqaɺt aS1(pomGDE>!6k>whn=EH }iqu(Ipmʉ#| 9Z|.|a$AWrzW@:݈ҾÄ [DԎv )IFJ5mdԈݴJJ`̅ik#g֡Ӗjڲp R*sz H.szWD > )$9 @*ѭCA~kFIʜ^];ܟH ¢N/$7(KVRJY*(}}5 LVҭ4_) 6YaT*LH6_oJS+s&HF&̭;xG8VP;#"+1u=8yjj6Zj  Q#R 3hjn{98@f#ŧBU?q+6m ;PMЦY[69 h= PLVyE$e M1}GbU"-F#R ^##YvCQQ.y _U]*{va`"T1c9 =$gD lw׈JYjJd{ͼQmˠz}MRDL}ۗ#һibCUWhXTn]!Uf]ߞ[ rE|Ke-(u﯀*sF 0C1aA'A0L8(8#Qn刔jČja QVzKD*8SMՌ 0\yCaq 3I(+PmfTWt0VTN+ }rN2*)<>H1K(B4vYD8"Ű.I ( ҌҍKZP5bGb`[@ J 4it“̨;Z{/+a|_疅&+ b[^:XZ)pPW<Vv@ʬ)f22QU ="1Z_3F+5#rT3M((0p-EeuLV}<טrA 57ŐWHZD"9Մ3rTR-Q ѾU=lD z@WQ4)`")GUQ43v͞ U*Mި5VRS`ր4"r  v$zASk@T>?J5hTj)`WZF[ieQHǑΈ$s^9 )?1e-H#2LN%ahYȸ0lR\GhAkZqNx-!ar6L8aqk!s=M8uD gVuv?y˸)e)JM'!jS> :'1(OOvǺW`jj"N }`:Qnw-7`G XѼtp8z}qwMR2.@߱|EϿ#rS=ˁPkN}Y#T- ) œ2s O#`&e͏z@4VN>IdUv@ZAN9rQaN+ࠐ@48C ># ,5 }\` Œ7\jA9;E$pZ""-:uBTTz Ht " ӲK :eP""ئ-wGTWTFm}+GbcTSj#+w +4`rAkؿH_QU _H)_JTVDDƌHN47񭈼pmѻv|CR3UizzD%5MHuW.)KTpj'_8vC8$g#?_>㾐Jk)'_8HYqdn; uрz1H3VRN ;V[Įb&X rԩ巗Q)rFGm&TT H?j:ɪphP8UGԬ[!ԤfFTR 5 5R 6 ~oR;&JQ]ӅVշߟrL; v $_ {p΀;#nQI9^*mI8K{= c؎(ikQ׶fV E} Om[gLH?}!ͽV5[#5ڦHtjڼp֯ҫQeޚHIc'#MK&#|_mBwWyYƼCT h QlҖZuIQ;ޓsW=˃WA) M7,d_ H )J A 6+h^.&.2I=Ů]og9dHNpGlG缐ص#gp\6n 绞UqN+F,ݳk@g3`l]X~rM|?g zp}+ KmWRzmr9&^n7V㊏9B㊏N6@zF e,)1/L7-"xQTSu+ęmi?҂:ErpR*mT̀b\U*=zY-K|*$I U*EQ5"e_8PqQuI*FČ(%Y>S!UR4K[ۯ^P;*uQY$ЯWf񌄔,Rj.cR 2ڨ1A;H *ꃼ,r[9-úK8IYGV@$Rַhp@Ua^-QQG&;/H3"isGہ@]G>֭ o8-+Taʤ)I;)uL"u:;"*#q@UAA&#RI5 b'dk)# }pp]l_|x׿!/?uss-w\cI#EĿ& nKM#Ds +dd ȉIʖgft,Жg{DRJmzw>7ݲ&+Jʚ̀Ѵ/R]O)m gRAp\+͘"/3XprTI{Dn- )4?c6M)fBݡn?G뻈 B/!GFGU@Xc/ H[B+"Og0:ʴMҜu]:p刨:oAiBO=)-Vt } eIJ[B+"w=:HOg!nޱm)Rp)C45c&)-ẁjE$)=9"uuW= z9`RZD׃Cxҽ kFn_"Έ< P7J;v 6vY..b%H;)_Ee߶T*(H;- jDV/kqZ^)p#VP 38gOhP>{٫EϢBZ$ˆMҨ>ׅ\qKtB¡EBĮKNp$KNNI#cF;qvI㉻`>b6?,:ۮ1%)$nAm*aB"9No^fጨ}f*6y5VyvQ骮*C!`1kJk7V!z]E:Lt̼lR$!NexȳCVݴ#[@V ]83=kaa; Y7BA}o'Ճyy< 7Yu*_~,B2چ; N!ߝCv[HG{2BJ|Tp 1qbEpu5y9v..D NP:Qۺ?:G0GI䭣qЩ+,lN}`֭lqz"} CNC`l*9 S_7%K:Q! !t#,Pxkypg͞JP3=Yݲ+Av4]IեяDaƑ{-yf?I)UR֬NZNcKeAN!W`ؒ^V0o?AjnK.u|?|~0o^'T#ƏKїzإƅP3T'1gD嫀g:((Vo tؐV g@{ߧW+e!爤|$_MP)`eSm4W hsN LQXU8.I:. lߘ)^6iQ纜Qu9T1t]NH_:s"+] +c_wŤV|FTt"`(#]Qr7 y3q>"Ru/89 HB6]#*)}soKV|dFT}Tf}pV,J@*{GwAiǖ8vS*:80;G vC)/⠔+,NUDD^ 1 Z/ :ats%$,]K@GG@B̈Ó*)PXECӻwVD}k8<$;;(\H2"JV]ψ>ǁz93jT,3(@F3*}^bQԍ$sdttu$+Һu-=HwQ(PF|њqxQVp)# Ck#)>R텼'B^W7 %Ӆ} ^[w\.v,|o~ a5?h=pz\T:.6;`WCQqȳF)AZ7)P+#UHg2m9`v}+)K~Oj$U_(9 bWDA-;̀ڵF!7svyD8]kQ'pBim 1tьhFmOD5;B>B]h#UeE2"R%jҠw iߪ/Dʨ4 8Uf*7yՕ ޻]|B#wI&~-9S-5nU/Hpz:)bN a|RgSB]&yԬV'Umgj]ؼul5=B,[*$\nr> \ 1/wΓ!rt Ѻ;ٖC)  (l"'-6`^X}YO 1A/wڄ°}Iv-Qя;!xB#&Wi@ L*մ=\gw Rnf#Y'zK@;v!҂Ӷ)뎿r-/RX.w~b!tcADHrٖU2,.*,8 zF 3)`܄$BT/&fc{Bn3#erUm6-G"vHR@%m(Im4t"W7*hnTw;&~kñц ݨ3Ny<&&~cGن^"ޱ|ft\$e$_ $l[M3)#IKKR8HY9 ˭;`SFr)YnЪKJF&._lGu.lhsvoǭY;.UZ.D7aXT6a奲#8 WqZXվ[{CbnZ.ʲXDV"=naCqk'*ŕ3nM}? B$ė󓔙d`s;̭-\qp5!L>h/h/.bv^KV%&rDb<|#nn$RW |/l8(|wsy,\s=Rl'jl)Udd5C*a` ";'4{®2;\WS}e\2. l'#ݰFÐ2_2[,pM H>5I2Wu?"ŨΟS@B}FM1X$Q> Gkh+"ru!'O~Yq-` % $qM${V|zoċv=9`P3k-2RLBU#$dV"F Q@VB-c "݆T#.I+ z> 2(9o}m제h[dT[TN"z!gCm/bܶ0q 17`9o8v~kH1;h5\1WoIy~!\񷆃|24ڈReIAQrd̹EAN1d/DVTW UrjBt?YYTTn|~߃<5JD2p*XJ")H9~[_"R .SEۅԨC&)ūT8%`QҨ'bQpUA^忋%V(in EmFee]8%vGH:z 8VDe8hAݾF^ZDS$IpQHK@4[A dTk@nV C'yMx[لUa_T6wqblQ4FPŘV#J|Ec4JHF-w I!]rj5TA O2Z` iؽ#O#Bꌸm 5Ԡܠv*$RUБz͊tXE&Sg1 Ë́Xj(+d2!qoD2Z Oz jES⒌`EÉ/~҇mOEyzY}Xۑ_:Xwq"}yR~SRc7sGuEv߆>"/~x3W/p:@g/v}/rƋ=}ysȻHWͼc.Xz^crlۊ-׶˹/bbzyq20Y?0avwŴi쑗o3~okoz^ٱl_nYx MG^Om9bXHۇ'V>p/1n a\ǩ|]>n1߲qg8{TH? FH팗+b<7ka OB:G! .Oq;}<~"U9~{L>'>l_ |-/q"~p=ݲ6oN~>a ڮqAMܞ<Տ=];}Nje_s+_ o7k6}'ᶏK?-~Ƕo=xtI^'-"y۱魇ݿ]-oG.+k>guNNYJ;y_Y |[ȑ?޹u\'}%|^<<+ չ~v(W^|E-?l/{\OힹQ8Q"ɑ'))_?7yY5Y+M_v|Q8'ޗVIy?{\ȯ^|E6+q%?݊״3#Ogڵ;y˫iG.Gm /vZZd׷v]R_MzݖW<}N- [?s=ϳ~\}i\_[ĞZH]S}-m]+~wm=lg݄;MbN_j>Ti!G>k!<͞)`qӿn=Z^n/CdD֭r?ō{ʋ]e}Gaͨa,?cz؟]b\(v޴'6{Ӑ6{S=77ybXG]+W']$WǜU]%׻ *M\oB~?t[^mYoo&4"g&"7ʛ^l?|f{eȋ˦/D_^֭K2>a[ry^L}JWZxsɣG^"o/ٛ^m]GVh1S*'⇯ћijfˌ|~?_<ڈܑG5yx={"{WƧ=n}8OBE}C.m|B~,Rޮw׷15?a3+ {´BZ(Z8uOGͼϵE3IO[+r|Cߌ֕#|7E1=W:0#us!㕂16QUyFtg<ܢT ;;'7#}OKbl|r!^8?W#>-;,;b>קe|{y`/Fc˞s+ǻG}?#?M_GqlZ"3\W (;7?˿^+=#|E#k}zNOzN2߮Ww6RW}k\֟J{1)8~y;&7})7yyEts;{{ԗ^T%|qUhh{EvZ#.7>uk6[%Oߗ#/taGvi.'{4#0Y%sE=G%W)֏]^~7CǽW*?_x|۱7^f{̗~?ǟ+ZΛ >>}-/r)\nVx^K 3%,/'co)P};ϷG?^sbO㕳3v%޿a/*OcXTcLc}X=qgCWƯy^#ks/saʗ+}1fgyo{mrN|=znoWväWLFԷ<ʋ]#ȉ?4=>尗g<=eߙ79/>/^c W.7{|K3~׹^uP_SM_V?eO`o)/~~gO/{noO3ybO/H^w3ۋ}^<NZ|5rM#GCw_:?w;<~?__/]_H_k=ȯWj7!ojmm./UWkD;9?#nyf `t{ӕS?/N708{~Gud=OBBZ[?oq#}},XsB|7VF}"g??{-UzpvE.\ Dyb_O]o|cssWm}zg#6΍ʟw/,˳3FI~gp=p|gOOq{r\si> ^ߘ"{}{¿m 5x#ϰP7#ǟM۸6LN/J5ܞÞUS/y_ǃign`1mJ1?y./[}w]/^>'}O뵮LZuy}~~;Xuoމj{+z.WZi}G?Yת=՟&Oa<>{u~XOp_=u+q^UngعR{B9.p[|yPgֿWd==\O6{lu͞y>;{us+zf=.qS>+b_>埯o}W|ŸY/>/q}pQh:_噯z=߯;>o)>obl_^{G;#{&"{Zb}vEΚz侹}s˕]7H7c{8o֋}޼N}/۰ῷǯaOq{z=ק'?[/).(50y>{^^^Rq˴C}<⓾量nȑOz{)!x ;ggy5O?WNGGFFQg_ _9M{DVKۚԹ:}uX玼o1_LJYLڋs)W_9[?^?b!5>+r&oS#<aُWyeO}ُdOW%^Dꛛ/@WGR`gbĐFnW OWb{UiىY^ا?|q^w#%V? ƹ텬8)?AYk_Gc=^}l# V}>UwzcjDV}E'f~3=Hߏ/Y^ا誉)/=˯Η'}gCh3reyP-qYcb%VyX)Ӈ=:gd͟OiK(+B-XaxBf~ׇގ ,gW$lo?t(X>o9[bo->E~?}Kga6^>6'>ldONGcÓfM!A-\O%1*˃?-|*~/S__-נ꧍]^zZhV}_?N}UWhA~+_Ĕc]^*L߯s311~RQ{a僧>,QcGnj=KdѪ1^7+??Xd?T?o TQWecyl<>xY௹wzNw}iVkTMG+}*%_`woX/yO%}`T]~)z.?sTߟ>i>a=z]?~凿?筅X#玬X)Kﱿﱿ/5`Ĭ?b_Efy^zzj2_V"Q/9K>j.~{ /z]?C8Q~bSv">O]+-؏ȕԤCX?]UGWOȝG|'ēw^^f<)l&W}eߏUl'#I_I?s2+ Ul._~?ܷw?XX'Ygrٟ<^~$xWlBy#r>ٟsl}տ<| ܕz~o['Zy'payŒ0/\Os#W}gsJ "K?Y?jSyqgE|Pl,C롉='YެaĪ+ͶS??5)C)CU߳;]V#=a~k~?c['?o;5w5>5ÿTMK17ڛXl71^~Ϧ>쫕XV]߯}&?ˇPcF6fZ;a&aoXῠ_"w}Ƌ|9ˌU[rssao~E>j}i}_w'܉󅔷#W/}?c8߯_=_yy8OqpWYy*/I/ϷYzI=[+wZUzۻ>whcwY 럦`܏//۟Ǣq~O6ڛ*vǗA:{[,}༓?yw~y;WTSgov3goN\iy_?ޜ~?k\˯,w~_{X/;~}?٪>[՞Ħ}B/fGxbEV}F}7e>.3|+Ȳp>_}}NxIxU_6ڗ/j?'awڛh`u=o)Ե~yXP~$.|~X\e~>ϟVOk0_%!LtWǟ]s^޴sU^=gws_o\f}}_ߜ7=W31WR.*o;?<_by߉Ӈ}Y>>֖?Oܾ.}ۇ`wsվxC~3׿[2-g#'|X`\}5L%rdw>WL}Xm[.X֎;.czOo.o?j[Uw~1#y=yϞ}o/j;=n}|w'׹ُ_gOǞ_u˟87?{rj}Acj}|=O>3~i>k~=>,x<^;F}P?1ZdϸU48CxctS]zum/kAuZÞlzMCY?[#ĉ|_;}E.{ BaJLyBji\>,#}aP~Gc=RH/`_X,eMwkڟWY|zR^z}I=o#\]>d\T{둪_ QH='3G~zAm/Xl;rgb=r$EXe<鉬g!>]葕yO~CNbx#/ʳ0Ȫx l%}l*z$]k<3`>7dOg,~戬~g~:AfyQy?r {t91_ilG]gb'_S7˓G_׽_IL}^a^,>N;߇#|P9i/}z?ϗ>XؿVwoYZH{OOb֟؟m V3xiz51}v}_ӆ=ƃp"kۘY V#ο״[d'վ79,DJLyS'RV{y#<қzek]V5u'#^vY[z /{G{XGXUb|[Ga~xDs%dWm/;w?o/31Cc$V?T2,/){x}#71Χ|hwbq#p>KcZOIL_}OX]~wwYj؟V{bOԿƈnw5gDqFۿ#Q S1,b!^}oED^,X_J/+^^=>T{}3=؇=&{;EPF=X2S>ߺƼ'3>^,'C,.+^ V{}:5><51Ӄ}{P$SXOxZ{ߢ=Aʚ~v5 ~Ay?f]oT{;:Jdػv*_?u}@}@Zc} 1^> ?w*w"MoGگ?r~f~UW߂$x7ˏS]{oOf<Ē]~\( ==}%nbk\~%?׊<~~\6 WbS`ȕpPw>u췒Wzdc# 'SdK3~#7as;1~~s/k3bկ=%كG"O^$UE,*go?8_Vy?{x:]#Wt[m]黼/`sj_-YI=(}/^H{1(XaS_J{P/Y޴nJ} oYd,? U?X/̬jdΏn/Ô*/䝉75cyȚ/~e51oʃ Gbs }w:OFy.p?x+?̇'T?Py|.?+jN~o<3)EَE}5=P=C[b?տ>j7+}(YlodOfM!?oL7S3!?{BĪkWJ I}`}Pqaj?/;+_ۿX ~+5;OVzO=;[_X^~ɔuFۈOFp̟?ډ|GOxD{GyO!Lih7G ˊa>y?b{xI+<==_}463}VY`6f?~w{n{;~|&^>Wnr+s~sǷ/"?/3Bw-m`_EG~ٱFnw-2>~~族ߦ~?4/xߛ4'cw~w}we^V/wry.?m?OD,ϲ_Q}2S?W'z1KdU=fYs,=3@o?oe<ؔ=x=2MyHu09'bzGa0_UJ?U6e'kU^?ȅy~#;1z]|S>۟<*7jd=~NJ,}iw_Ԫ;׍kTϸOP|~Xsy3">߫yD6=zynE];Ɖp>D/ǚo4%<߱?.{[C}c}OLyW+$fyLWovL}n_l|zf;;~;Jb?.X/˻=%gF(=χ=|~>c+=!c󻸫<>~F},8+nomE>wg ⛿}t.%g߽y|"_}syUd~ Qt||+P~3^}ƌlz,>s/9\Kb N=<+?_eLMJDy`ϩ=>컭;\f~^+=Yb<}R`{ȯgdgU=[b==ۢ?_k|Է%y_{o'gwnaQofj_ۑ5Of9 |Jd/s>{޻5=zY^Y=${u={Nwq=?xO4>ZXoia|k}wX~jŦ!?[-UW]޶+}Կ|6#R})칥Xّ%aϵb*[kmXd>h߱<%}0 yjdzy]nO~+m5S=7"K?קU؏%U $kFVGc?"+w)ϩ>>}N#GJ>gk<$,#K|w:ct1N;`|X6Wb^xJgjb9=wFbʇgUo>K~2jL|5N!/J[ۉ;_fDLj_Iu>/$f^]W'Y{>^+1~9}[2xeo^{P_jM^U/n,y?y}wڟ|)}ߺ#y~{g^D6=W1X^g[dos~}SS~kw͙.oI.oW~.[hĒoy}1f m~e=wy5>ԟry5~Xvy5[Lo[KޝyY﯏%>{}f>^A^w\^Ws퉩3>wIGO{ ^67>!z?ϿYsyoo{qk1ڻ1c0Ë^=1{MԞXa%?^[,]{~zU}#}W퉬\^Wkjd{m{kcDV}^L\\Y>k0_Vz^]ޢ߬ꌬ琷&#ozRz._/|FVv#1ӧ^;1&^̟V^jNVSvb{%(tyKs]75++#3?'+`7k,3kQ^g?dʳf╾_۩<']b S]۟|wyG,8n߉6v)Y#pLpjO~_*a/>4~k<ߺ?Wwޡ_}?"pp?[3NƿC}Q>Ot006z>?3Ty|o?_~ }ߟaw0#z3?ot^m2]|KWww,yq7<8Y>gm/?/ozoW}ȪoCgG羞*ybT?쵥}<z֗TP~YNV>|Y]?{ds܉ߦm+[Z{|V?\bd=wy5ޙ˷FdǰPR}o|kMo2}پaik<}OlG۷䛰G-}+=V"oʳ~.LoCߏ؟ry5`=m+7L3Ol'>z,Pf`?tc?NgGv>Ϥg7e*IcS+X1b;~W˅ ~*蹽rߗ797,͗?**Omx) F{}S47p}3?~}zd~S'gWOQoy_7ՉĐ/a>R z]57ѱ>n';?}w>ww6/>5D}2"7\^cf>W>ȪocGL};'1=fdwg=f53c`?gUﻼ&_Y`{g~ [L3 w쉥9>ZdX?;5m'?>k=a=bͧw<߼cf{o3WbwR>h%2ڻq'.W2BuYS 1*[Wjb[KeEƟM{];w>]ީtYw|ݴVI`-׌~Ooa`*%~wzV~.a~IaX_߽?ĕnx,6{Ǥ?}on>7)3s0L$?M|{'Ry~X|:g/ǂʦ=`Y{X~_;^V+? x`m_#1߇=_%_ȃ8_`YNd_cjO=+G~׎NOj5=b|IV>?kofz^cR}L ɬ/_ޟ)T߰4/JF}/2sJoؔ/?x%ר|3?_m&'-1 u˻󝞇|ޒFK[iI>z+e7pmr/}@Ĕz7_oA.3zsI]^鳯꯻j`Sy /.U.^G{gld=_s'V'$|Dԧa|>ċПL_DVOT~߭5~}o|Q}קC!S8ܧplw~\}8|?dFyVOVCؿX|\ڑ Vz;[mDVOʳG}R>^dS ǷL83︼xLc>Z|vA&vy~2cq? w܏P^.zN?>go1:S?U0~>LyY+Vz%{򻼕k._5W{j.꿹|sgouGN˪Wwaw>6|uyϭyJ'v_픯|m'f})Cfz5oF;17\ޮ琷FV{.oUy]NŔgou~c.oa}WNdPԏX`?sy5؉(9>|x[ޙq| |71^bWo;.˻g]ޞ_~lwP"JNyy}oWx!߉s϶X{l{}^/|z߬=oj>/YLy˫⸼Jjk<=.?w`/\|VsK/~?ۗ?>QE]ޣ_)}9쫺"c:StwE{F=Y:_AlJo?p s_6o*+'x(?}%D{*w^1(={}{72쭣F,xQ?$+JJ}5VdSykUW3=;~FWpOfyWG25vH㕕Kb?q@%;x.|f{G;o۱Zjϰ4ѾUBVza>kW?|"þ'h_UW"-ؓ5x,5s|羾QZd';T]8wTg[zBa=ĔY`=?S~YDUb=kϗW(}YrP/x}K Y({\du72+'JhOk>ޟuwP^L.WIW_J*I1gkd%vL޸T*>mFcp|Xo?#5aJ+[^~5X_1?W/֯ް^uqJW}$6X޽U߻|Dx{Yi&||֟֟Zw=}쟟==ɞ\dg7<g|pdK-}?_y<./3Zb 5{U"7=qzȋ`Ch?.!%?%O}1"w_">aOꣽ!.w)+GeSc1#=K֗/XZ,/֧f<>^T+Btfd?SXX_}R4woҵ"W O'7K_NLox;>k}Ĕg#}5KL.{ȷS o|7-8_~*%rUzh,?'baOis'+ n`jS'wwS`?}5aO~OiO) V=OOd>hOп.r{۠A ~~T>4j~̿?]x2S]JVz';?{=7OsywjM1>)=w"Kb{jyО=_1P_l?;ƧXwxoo=}}]\~{o?;J#EFßJaA&dW){Ya_O_1}ȿӟ*>_?ՠ=-ף`?-}7?2Y!p?W~Gm1֣ۑ(g?iOK;>a/i~~ˏW*g?;|eʻ0S+ǰ{bya?՞~a?l?z8˷!/˷]\>;./2֣mϟ>x}v}cyGyN_/a?M^zǧi<>]w&_;^|+/%^*O3ȕ`{ ,j4筑Vy)O]qY>g}2ӢXZ31zk#?RzI^\xv_)=Id3??{|LO%pDOb?o'V~7y qe~ Vyi?9%?K% {NdGK*?6#W}M{2g>j<2oIW❾'Sa`N_sT3̯}~U{>Yc[>^;ߊlj,}Ҽ%O}Yg/1~r}2%=~|WdK_{}}Ǐ{I?a/ K׾xoWq=^NE Njߙ=}Y~O>/{|^11y|kz|[˝<!߼?%>LOzSXo {婡>/+wi2&>o%Kfy| o%zw}q?[o}|]5"m/GY>-ϨRyVO|J͉YQO\)h]+}7,{+X|>|~Q}/xRڃw~00tY|czlR\>/Y/3 ^,Ϭ|;O_ l|OӢO-# 㚏?n2Wվ]xqx}jx#^1kW{FIN:O׮oC﯏ўF{O2wx!E|"O1ǫ5PvN,o<֓.3?'IXO>/?#7g!Ǯ-b L剬yb6/jHb?缔>)Ob71}I^p>F[܏;K) oosUP ceq=^w1ؿ,a="e}_n[\/꯶Im˄|G5 &'37}R/7گ9W_KIb=鲥oFrm$󝞟>!g;-G=4WbC&sK|$V`lq=iqM.|aMߔs.M߱cHz {Gz>RzgseksCsahȋװ~IƣM_>W?nFvd~#^W0)?Y`/l+|d &9[ٌOgd_ 3 j\gOJF}?IWԾb{=Y^Cyf K,}>by`` {HN>*zɉoI}_ퟬ5CYϱ?CR{$}O~!}Y{2[2-3]#=Ž(4aMIVO_i<Oqدز_W'V{\H8~1y9q+ἜX݅8Wp>asH"3=]0 YO3#MHX$'loПh!Gi'Gi%R~o[K?L`zcyc~w;?Sz_^?u<^;1T?2 m鿅C|a}y}CC+!XCGEʳcT|lX4\/7U J {H*N{h2}?f{OTzgw=\zEc}VO?ol+Og~,.+o~yލ 2y7Se{bYv^6,8~)!}|G `l,(XbVߧ#jo6 ^ `ۡx.PJ9GByr _XaD>)փI>9փaz'O{~)/׃(/׃N,CUxjo_Yw'{}x|p+Wwdپx_?ی,}Zy Ì56,eVpߔGۑoyQx_),#^/S(_p^S!~A ]~ux<1o{Ϋ|n?V0߸b>&2g|U?`3Ϭwzxo;?xF4{??f{֝?ӜY?MXOO'VCx{w?yd2M+Ceɩ<>k?9*O-d~?珞a)z-OfģPG"=G}9kCMÞMߏ=gG/U#Ok?z1=lX̯.WǏJjC߿cGt-/[,x/}__lgJG?m?=1߇?|^^ۇ|D}B}c*NY(?{J{z{OYiFtO*xigw~LjY!;KK_|i𗖾e7Ηiy2g;W/ p>qL#4Z_Z1ި|8a7@|وe,ϗy}GʷNVXSNJ]_a5w7c~П<\6>o}x+#O^׾kI{iwޟTޝ)0x̿wٯ]w%/}>Lw2^q'VXQ>J_\YY>>c9jdƣͅ}NoV;G?hվG x) <";u .co>y O{Ykf}QNb/(|Y^<'~0 bzd7,?웱"އ|z)'zϬ,?7XX_F<kͨ4zj9jO\)Xa~\ϙ%/s)/F<x=so|'W!OfyU95j'#~e7sO>X|/G )Zb7Fi?қoߠ>/Ob5_fyjX\;1ӯo1~cJf7'|X;Ig 7x빏7ERNJ} Pe{>x 3rSV~y˃?g{Y+~`=~EV~S^>W^+w1Q?WVS(/s>Q㍷1s=%s'7/L~e.S$g%>7Sb~O/U{}K(?j|Cߴwқ|Vp!>YodOYJVbVyx %?G~OV,_7jJoaaVz38%}^p^K2w2c<mh >OO ]c/XQzMUwSz 0;z ?b>2Nd?}s#} pߨȇqCk|篅A[6omxЦzʾxГ+zϞYygֺ3K?oͯ|>Ϗ[fo}\=گ׾gg<?g|_rǛ=sK=/]/wp?{m Qe拟b`yϞ1=nx>U?&Lgsœn.>ޟOc>_<- N¿X5?U_/.J^?k_|jG|?2ޏ=~/}@<'#vOT~.Ӈ?1O1<^[H|3?(_rxfVyf;nuw"Td?<>&ﯗ>pUwlGF>UGV;VT/[LL>Uk?{.Č>Byx?#b+?g|Mgq;}ۛU~;X hl_B_r"Zد_R}Xc12,xP_< Ga[ϱ~O}*N|~[Vyɔo%/aS]V|e7da_> CBJd_zs_OcJgމ_cI c9妼-LqKx}<*og_Ob?KKK+,/mo9gJoO%Sz-'y}s?$.~&^)7qgI}D{'51i/]VzKjOjIYˬO˘{Xϱ}OB#~ I\V{oo2U('PaYW6{eȋ?d,޷k<7>@|d?wY|||EVyO|yGS̙o˿|.Vm^)zk|ϰ_&?a ޱ;k<k|<_My򇿺۱?2_M(&~}<yHߠx?cӦoG9"w__l>c_{3W,P?$^=?# ~_>;U_ᾇq3j<"K_W^Q{}zKA}0ʇYvyj_X^ܯ^> JR#zdou"ySO<ꕟG{#}Vw9#-?>W8r,}'rWz#/40^13_rS9/l,x|//}03+^nI`?y{0}hnUVjd-]32ƃo9\_蟊?\fCx?o+K<; EQ=?^{0C!?x}s?3yn]g x|1<>VX{Xox[}"b/^W歯o?HI_xOcw^_zk(}?5/ezcU_Syy{4}?#7˿-1O?]}}^?mo?d;~|<~~ }ڕS}/?Χ?dk?v};<^w|'ܕҗ?d;'_}gu?d ;kxr=<>E2'Ooix'akx<>q<1?m`?<unU7fب`]xQ~P>Y}bLxrGe;3K2|y<`>οS[>K?kE祩u?, +?_>zgzsO\>}'SO}'J<}?g~'ySS}˳c|j/~M*Sy,q{ֳ.b0sؓ=_QJyEE{~zrcy7ֿކMxbWo՞˧qF,yq~H 燬OrRP/sʊs}jo`U'Mn o~y^/;{>`^ǥ;{>X?bXXos>/=oat7y|_/xRs;1o#\ی;\FyZ|.OaQ{%<=h">oGmdG' yz9Si_6㕽+V|Hx/p:se=FԗY'XX?Ry\3_w<0oNof7gz[|{,}MoogOc5*qZ.h;_.߂<J)l)e0}10]Xdo|Pb}1>*)?L>,Q~0>blǢ~ό+I򁥟a=u; u~"FF|]'r=O^|^_?Ow=6D*#?a\v{B<|h(/e'{d*6Dc4QI~S{س2LOx<ᏜžmʗGEe{Ww?1^Ǖ@|G4~ߌö́c~f$GoH?5~h>}lh|Uj?#[_I">"y1>22zߊZ+c0~~ma=[^OWW&?Gz FZH^?~`=?϶<)?T ? 7`WG$F~?X']2^?Lh},}?rX5U}C?"Y??GL1Gxgjg|||4;`}=g]>g3OR_{Ǚ}U,YCV{xAօGo8(xH^ZE]9߿Zүcwسqg9}G|,BO&3:g48Y#q^3Ul1yzh&?8q>gq?ϳ^[Gzlv؃Zm^ef䧍0ׅW;ۙOȇ,c,H_#?S2x|O?=||#?`i'\U?G ֫G;ϊxp?i#)p6[D~N>@pܯ(" R2^> }g3}8I2.}͡Ey}۟* cRxAVK^XXwʫޫ~gn#,}g#w~۷>{oL~d)lۃ?;f>=l/;?77& x ?_&}+ſ_g,}yʃ/P>81/3c1Zp);^Kn|:/1w{YD>_2bOoU{G_KR_|OSf/OӨJWbJ*W둧S|1I}]0 U?OM;p/7y2{ư'/{8o`cB~j #R0_NK/#/rس >K8/1gƃGC;Ƭ*N=~ÿBLP9|1' /փ? ?[T?<q޲IWd_Up"{>2n-+7f{8o9?8=#p"}=&W4߁58o.G+#ogĈϒga#!h+ߊ+#~X#~ {_Am |h;cЊ0?y,/]Do_r<`qIWڃx0S>qW~o|S<hywY;7{ߪ|yZ_"}|x/!.%?k~#{\/F~ }BbBoh}2zg=Y]w?{\ǟu\K;J)s|xǿX7?R|(ua?u:k~2z7W?3~?ّr_;D>VG~ WA?~Bfck=/|}<_>/\gY?<>|oo{[x{;w]7Wc|3nOy{\u~h7f>X׺ڛ{ܩBj•S_]zW'4#pg{[|Su_=Nݗf[gtO{FH;q?HyW|exƍ ~8Z>λ.ou}y~F~x!_Q_3;g~x|G[yOxW3}&#f͸^^/>X1|xA>H"?+p!̯_HOFZ/_U0*T5ȯj~q\x3_R~_H~ g7g|8͊|;MInFF#&u7kݑᇟb3.Lz_| #c=wG~?_b}ڷFb=7Տ\ `ϤHK'W3x{eHG c}/贷/u3?{=Q/`ȗ*"_@~T>+_M_a=#q??swҏ|V3}pO'1?MECG>F~Zܯ|/L*`փ_'^qp!E|›~ wO 91lgg,|D{|D\>K=c}l6%#eCoh~}}lx{pKx+Xx+{Y}aXaGd8GE|dS?q>} a(j8/kWl|?˃}Pc}F>1'72ZO?Fl'mK,;VG_7c~ӑqQDŽ_'?>2|`SOܿ+|DOeC^Oz:o4~՟`̯J?{>:߿WgxN `75]=EQ9_=ı^47a gƃ5o8#m(lj?BŸ8#R8?kޗt<;o=XN$o5_ ?Q>^|D=OC?Գ^K>?Qx|D=?#?b7>?ԣ'YOvGϟ(G>ogK_>3~0w;1aǃ?~d/=>k২Ӝfm??Ds/)Xm~+&\;q_o|nEQ{F"hcuEnOU~FWU^ۊ|Oǟhvߟ7<~?Y3!-1ʣ?<ƫ*S-F3^-gRZjoEeE~z Eˡ)q%=SzX>LX/XEψsqw,~ Q}#;>a{EOاG C˙[B V p>Obߵ¢']1$w']yq|x%&;SQ1 1>?X{T#fNU?Ub|dOUڋ^(?~;oAO?yGG`a~;S/{) B?ڌWmF~ÿ^q"?h3wm_ox?8V}0=M~?c_Uu[_PU=A_ }*}5cU [7m""gj.,<˻LGzq[S:c}ogza=c~ϠFwMx60Xc>>'3KXk<'Q}OTDg'/3X9m+?b 2vcfW~$_`o+V? {W{v!'f<^_U8xf?WL?/ /hOAjƛeT ZO/tzb| } V߲/Yٙy~_zᔯX`XƧQ_Xi?R~#`7u²a{ M?h?t}txC~(_TxC[}63?n/n[ɋBy0%ɾ6 _%c A~_ˍ766Og~|?b٘_6  x;/` `̟`cs?߂Ԗq~#}+GъBߪꇾ~{OMxâ?8n)/p?o?mCwSgƍc>iw̟Al%0c?ߞc1>Oփ`{p㔷?n7/p|/HZy0 A ^_8xİ_x_/F_h*[AY7ތF0+m6\_.VyP{o⧮[V~ }~;k"_ ~7/CggK׃IO^n{5o;Ƨ?XG~Ͷ߉?k?oϲ_hlNyuNOWAz|pϝycW|a=_P3ĔS?៶>ꯚ_?+O"Y>kzo_]xo[ɸQ_v{03Tq6jˎx"Xpb>|BjoSLg зA=yOyZi0_s!c< t^4t>Ap>_:<7y;g{8p}?_}?3,߷ w}'ϳzk y3cG qA#/l .|S`}H{kY2@Bo_=k ߔM9G)_`c{7%oJ`KoJ} }̌>cU[Z=G{I.˸P~?}N z ,Gw>!'?6{LWxMNCd`[s!ox##/؈qv}IXX}g'~zTz(_KߙϚBjWk}{ >뤟kƧ؟j@~'`>s,X=xdF~K?R/Jެf~do+#^ }EX2x7W{O~>\=|0"ڇ?Lz~p?ǃ~? - XHy쌫 ?3h>eÿa$}x^oݬLLCGU2~m|??3iF~([ +ާD!޿F~|fϩ|;>#=#/ߣ"yշ?03gY~{ zˏ?/~=zc7"g}[ ~֣/t;︙/cE>ǭ|e\#R;;ƶxA:oK7|п8e_##`oF~+8oE>|,,98/9`Yq0ڊ|czGC|R+9~nZ8|̏OgVb'6'RmQ~-">-- u҃O|W}3no,ި<7#`̏ _Hg``S~}Lv}oaZ?`Xx`{̯DJ~2~SR9啱E<`H_I?+I_𞱩<ş}#E>%/_h~^ gxo`?3%F~q^4^8-c#_ ;B>v쟧¦/c(G>F}|̟Q/*>wp%~ cdمZQ @Ea^l{EE`!"-_'V3S` @xo?~&eתE/ x_ۭs:_xx}01>N~~=y1~ڃU?~iLs~$W~$Hzd{Lzŧxa/)Um_k>>+Eޯ`߲gY_)`oVy3 \e҇e7ՏxFR⅑Oq^c'mȟ8Y"˅ّ?q=.# ^x?F?v? % [\ cK;%.;'.vK4Z Eَ|ۑ/q2?|s\O?_ݑ/q|pG~vKǰ#_؇ZnxΎ|cz[3CgL{'}]oY|UE<)W|o=rՏx2>?0$ȯ3b}Xڏx>+7҇ʵf\(?pR|˧rؗ֯ ~*ȇmCgg5>붏'^{"f9A%;o#N}"=Я3v?'.Aهw;;K?=8*_({?՟]$}5v;\1;.Kw?\~/_|̗^}Of}TFIo"ۇ>>|9v;\+}gobwoeG~'w8jG~8p10]HSӧ {Kx?W;.;q#a/ވ+b~}ٿxƧ7Nz&уM7GN}/j?Zwڕ\7N~qޯq/༿>Gg)j~yg ~_3cK__w/ uXwU>dҋǚ+Cm1YU|b 5~+_}b&'zX帟=./vڕ4' "|w q[{|vmw>ve!:#?xx䇒5ߗ?`]j}oȟG~VWOx_17.Ox8C~BF>BAzk@~.6.σq  #~`lʯ?F0svw܍~g= ^$|`){@i<}߾<_=c}x\EzG1N{=8XͬceAN]~&g|?>Gygy`~3_7xUXB~ `|opXƓ CAӺ3n|W~_Emoq/L~6ϒHvgnj?|%my~b~H>#'&?7({o5r{!P~ agn?jGGc<ƍיϰZoa1;;o}ÿ>滫 1ߧç?p󌻾 E>땱}3xu{|!=xI~T4 Gqbw߇?y}q҇C8Sq>󰿎?wt\:?r|â-cɓq̗^/:vco=Ƈ]Xߏ#}¾[Xo>r|fYV৳k>Π%7cv’ۿ@yg|_*DBW|_O+ӷ>_|’ K^Ĕ? W|c@>aͷ=|Z_7_!z?>}>}}lq;ꯨO~>}|Âfx]]ﲧԿj/)҉ݟ0zՈz{c^Xxxx.a6^_߷ud\HoO]|ZV3+Ax~#VLF~zwc~{^OLAS#j?XYcg~|Ͼg_3i5 o>i>;V~&Ӟ3G~ ެfkd}_1Y1k/M;7!`Kw;`g1Y}p?ڃ)/? ~X?I`?[?[y^3v5|/<I?C$/"zB49^_q}p?xop<﮿!A>|}u0gd&?u=_jokҞ)_S桧!^2l!BwoXoă( G<쌱)__|z*?x?7>~[x>X:ˑ]JϷP[?{yƃu:s~}㥯xu؟k ~ [1L~aϝ;==S`O=C{vngxHGqp>"G5__SXg#/d2=@<^e)>7u./']-{X빧M~|g<|1l;7oߝ8OѓAS{[Ɠ#}_ܟ҃y'؟1ַzQ랯K\8n/|_쯥 ][oʣzh^ms&د|>x};Fz??~{~S`#u 7FƝ4׈G9={lzOr5=ȧ^pG>֎|y;vk#^kg|?\/â|#^G?]ĔgчϞ#Ϟ~sku_Ob<{5; >Uf\_Яi ~:[B:;&?c/[ЯkA0ǃ~݃gz?ٟ?<__xpG"_^{Ӎ|yȗD~~G}#5_ߑ/4>ȏf.c~tb*C~SG~9^Nyߍ刷WE8mxx7O%?_}w±.0cz;Iv>=z}|xUvk/1=#ޙߑȇwgû3{xT-}w+c`<8>3ٿȇw_kb}0`~{Ʀ>췫~G%=+Z]}WS[֏M{>ۡOۡOwx,xH_wG#;~r#]+gk}z ^YЯւ~ ~GcO~=/Y^3ELz<.HG=ޑ}Nk%Ck߿#]v;o*/_n"#ݑl^ vۇow!۵%45ڑ߮1Ҏvvk̿D\vv䷻jd9~~>* {7O{Ny~w㹼}IC-߱ޒ>7ٵvOֽ~7ǻީ<;d|v;VЧE|_=u6ʟ [wYW}#O׃/]ߣ2՝Bs?7_|g^[xpZ9kݟ?=Fy4=O{?W^:U`GT/aÏ~U#\ϏHR?;ϠQ3藾O7gNgȿqڃ>QoW~~[ DR~B4WЯX/Cy-]ПW?ۮ v̇Jme}}~ SAR{As`|67鵖ς~v!}ok>b,[~ok~[둧kV_cmߤbv=Vzp[+o/7.y\XeOp}+o7=A7~Xk_o4-ɵE~kWc>,W*}ϸ~{W2*E>|la?N7|Od/^w{$Vy^򠿓>|iS^_^q%w˞[kE8}?.o?NEX`Z>X䋓}?q7ny:xp^AJ?^¤ga~՟|A"ך_gkI{aEI{";%3?я{C}~X_?K?ez%?i.Ac2;|>CA K=}rga׃wIpg|p {|p`;%OZkQikV{׍^C?*s[w>UuJXB_S>V,}q_W93^O}Ocx$ǺޓUx5ǷXU<#>=O`Wǃ۔/Zx?m޸~'q"zpB{g٧?)O ϭ`+&8v҃S~G/>]V>؞k}4+IqMGG|}4GS}kjx!o>5ƿk)q]>'>(R{q1!m`0s3ύV S) U#K~vFZ3+U8_Q{rdx/&W/b7y5O.y>Ư:?ү~E8 c>쌧O$ߑsUZcŤj35ƗgFLLAXϖY3g_8_=oZ.k5Wz3ĸ?ww~|K,}fw||{0ᅵ;?o=`x5Uwwa3F>3zjo`ίOx^M"_Zd?E {n_xϭ﹵^z. [8C/އŗ0c>wƿwƻ_g|!}QS #>6d9Ϙ>ӓc?=?FU#^)xb_;ȿV]_̗}$=-3-1E<֯ OqǓ"ZuȿV5UN^ryw(~^>W|k;}v"Mxt|q>-yuc#:ϧG|<:OxG[}?)oO`g"Gy}[WE~w22!݄q~Ϥnķz0E[Zkӝ=qg=Xw<3xg}B[x I _Ļ!}G|gw<@ķOwk=A[c="GMY^=~E>^D3#Zu.+ȧIJa}w {kMz!G"9O*_COȿ{g^3/a?ㅑ/ȗV`O[E~?{l\&}}6'm~XN{L`Ǣg&i>A{|~Ogѻ~xv+}?ϣǚOgKgrW"=gK?nV9ۤmgķ gۃ?ķ%?ijE٫d{+~p<`}?X#8>c#?og}`{ƣ4_ǵwV'bG/5?~#pU}Aw]CC!Ez3+cL|Scx?wԞ=Vҏ{~߬ڙ+8֣?ZW"+gP~+GyS3\w?Lu,ԟIzX㻃N7AG`ܞ̿Z,oZ==A,o|:1E>x_Vיe'?Rσ`s3/iϬn#YeEe-U;x?o/_ED?F] k%U<:˪G"џWV|eU=~+qBSy_ɷX{\=P?CV2 %ϗY_DŽ˃I o}~LO},dϲOvg<~>|0=kh}O#=+j?j(cc?6ڒNgk=Cz9x_Ud{xO&{*铥0賓KP{vǒòg?쇧g<~G^X~G(Oz3^n'q7FOcgMNG|;&}5#X*GwG~37a׏7vG;q;Gx74X?7ǷY|~rMy{,zhU[%p+i?no;?ad<(OD~F~c_7åe}Z7ag{?`?/SJ___wog}ZWV{ >Ë$5701pUy_9>W҃|~X= _~kda'æ,y.+5-x3ʟӟ-͏q '`+A?9aS떟i?܉j/Mߞqg7ҋp!?5؟F51~?՞*fFVƢx<<0)[F+piؿw&=|aV?I`g~ڋǯc?!ee\I!JyV7F'oVi??_>[?y׃=1۾2wP`']lw kc|Zqn%|P&w>wX[aByི\ߒ'<ٟ~kȏ}`g8=s}/=?b-qAxڟy<qS}Sx> <8σ1<#NyEi8{Izjo~io{p#yCy6Gao|sTy?)_wQ`ߩr_xf~U^ K{"ױϑ'!:6_0{0=H aO}<?[MЯGo,Bje^:O:mg}[?b|j[J[:dc;/!o͟|!&{d}31]>o]ۃ{x7w~`oxW翧3coU~Q_zXw?_'n=^ x~7p#O{{ OGz5y=/Kx_ k0˹e{>.mpaLR}(_ۥxۚ翤{Ev~ыn{z~Y+c{tE罤Jƛޞ, u v/x3/w )O?XV{e/k}Ga_/w )x} ΫoWwaO+XO*wa_*wq쿼w{.|w?N҇]]oAzp;TIwηTvc^N`oki{׫w'Tsy 釽5{+~`ou;ܷ~US_%z<~g{+z`o%?qۇJ:= 5}J{{o}[U3c|p+}3 ob]G?WquOJ*}~ ۩؟tUkp7Mm5̸̝}E@ϖ1׍[Ȼ~Of6g{fl|}n;r }֍Ȼ71PxcS~xk} 76O8X3pxK;7 ?ï|Y̟ȏU7|ӛ#_FoZ|KOG_Ὧ?=x\o}/PyЯP}g{k7M/kq=y4aOo>s|p^+~Yp~[TTTX {;9,MY~›+}m&{KyJ^~y}UE<'ﴯXo:+g}mO1?;V| ^wש=xB}i_}?L~`o^OZ˸vCyw|^h}Z>QU'Kywޏ` }= ?G܏Z%)ᠿS8絝q^g_I/k58GJq^k*Y>/%z?tŏ)ywzċ??|BXbċx`GgXkVu_x0~~V8?~?ٮ+k% Z}?;ʭ<ɏ?GI^4?~qG܏)zp?j}܇|}(l}4F~khډ>h_?Xτ0KS`h>hOyx}5zP*X7KSTcОpyʡ\$O_%o_5ؿb=XQ\:ȏc=x ?=Ƈ7i=-I;ߊ_cYWg,c8WEp2ݤW߹{w> ;kOȗΤHK#?"ZZOY]=j&,O_~#_&)?rqg|3~TxIz/Q?/GZ`_5a_}^OCU{?foLyp=xA~T)Nj4W)gX1A_~LOW})=uߘ&N=}ҾnC{j:}лLa_]{=eٞǞS%=}xuUb~ `/ے?w]IMҏϨ^~C篒[;?Džy<𾶪}t~3_o?}O.|rH?K7~]ۃ|G>_aH?Ӓ_o~KدjKԙYH/[Iyc:)?Aog؟bҏjWo?*<'r*盥6/*GdW=%=O3~Lz<=mE{ qўb?hO[{&NMkC;xiaH7s$ zUg\EGշ,_oί&}FzV)_])PaO===?ߏ#O}0GB?>`T7{U g?#J)CzƚTo|PN}O|P {^Z`o/#~4ڃ7qēxO߯|/֧<_+_G>(_#{jAbj_?Z;}=?_T?*O:I|_:{x|z~iG~ioF.'?u#SCi"ӸǞzcO◑i0GQ?s7’=c?'﩯'ן?>~W練@<=5?x~%=RwNMϑ O"ߓߩ3n?x/ۏwOmg}⽍D??,c?GP)?[t7GE7+j_q>O_=X-Gpp/}!=9uš2{*y#"c~Eo̧xT9Η1"؏ =xվ~mc 4`z?=qPNq~Z:3ty O(5Z{0_]_+7=~$?g>cq7#pW"VQi/8/=1SqW/i}1]joP}[ᾯKߞ#?{}I/K5p^l=O秓RW>/5?;f8?=xg}ޏ~~j`b/L7KIy1_shOY)T9'leHڇSOO'b}?'}LM?=oUn{~y ;崟a?~|p'~nWSi?OT?۲[wN[ON)a?|~'S)8l/s>~.?/\X}^~ 9U{3'WK~xⷚ?j[_8ZOϕ>!+}i+J&oFFyᾑ=7r7"飧ga/o$}\~JI?|ݷV}(8ϝ0Sr`gO}1`7Zo셧q߅c>-TcaW~㾴0e8]硍Ƹ_awQ^8oO Ϣ1?י|Iy0]ð|O+?Uø~<zfl硦r*W_;/?;ENq܇qG/;qG𾴲KE j>c^He*OVMzph~| /q!I߻w^wajTfjOa?Pyq·ᖿJ>4s+n=WzaH߉Mgͩy_C:x`#ޖqUu_Ð7Qk]>#IX??aß%?^0gɟM#}=uI1^EW9Dzqv>;Lyu_W>cC~qVl؟_-rY/Z߬jo<_ߞShЏ]d/;1uøO~Mz~{׃U޸T9qO2v{YH/eQ=Ň- >޷m^s' )>|~_ld/9>Hp߶{Nu?Ɣ{9{(/]}}~Or>A~h/h/5?+S?~e?[ =K|8O7ڿ}Fʃ^3iۃI/%T}{{Cg}^{M#%_Y?pVJ7?G71 R{yǃ3 gީN{ _vbĈ,b,pp>X#Tx#&<]ߤsxs?q#Vr ks}y?6qλ?\`_;>oLʟ3㾛#[)^yY=3!_8H?ߧx[gK{xίxG+?: >|C[wW=Je= Rρ?M/(ÿ@3JE_ß^nOPƇCOҿV_ %b=fi^x"cg_fہ/T?X ?"^ڮ/&ψ$W/Tϟ}\Or\ߟ}Z?}>c-Gc-g5}5#ώxix=" cMg>o }8՟PMO ՄPM?&/jF?ff~";x%:|c>.!MC;#~-2N/o毄=ށT| ~P?EI~t?t*ԧ́T_cn.߃=СF}gE{.f|Z;ч.+>?{fy:7nNy/!~W:48Mzo~_߄|{wxw;B?:1tGuzG)/m~GG(j>/|CcM>$ |i^AeZ'Ӳn/@~et=<J?}Qcox?z7e_hozqK[s\\m}֧u~~uUW-ݯzCݧ}W>m~=`ҖWyk<&>ywqlrܧj::5^>J-? 'hͺ?YZf/<3?n?ghKOx>| ECo &]G5M_o X ʴv+G+I}o)^2Δ~{Ao~ Z &v4!Jy{^{?ßͿ]/?ǽ~ 'c/ߓǾIKnWgJˇv~Kѷ9_ˇ?)?7`»W?tҾUxO t7GxW>E_@Z -t^_ >%?X Lw!·K+|\_P~֏ޝ >ϓ> y *oҋr/D{%M|O䏳_8tǤ~ E7֏z<>_?W?~tqx\x޼ק7;_qzyf<cok@3ׇv{C7/Is7ӌx;l͡KK7cyow~f>- 4o{:f'|]_k_~; G?C./|hOx;J6 ֏ ]K Z;/yG:om_/]{_lZB?oG /N{Om+TT?*մwO~he;_iu_:f`/|x·9.oS_~i4߶>u<N*t>bsߜ=^!n+Jt>촯`|pWA΃ ~u|!·ey?y0-yz>Y_u_窯>~DdO{')~S'4ǾR#ڿ vNCq~ωғPN܏^,yt8'~I᤾|Ͽݴ΃'Wy~h|{C]tx~!ݏv>ұ>)E0^N79rb}~_.dko|{ 8OGtz\^N{'қ]Yǀ{Z_zǺ7o$4W4?t}NK^M3_F/eddg+Yfoz_3 Jc &?CKaԿ$_[!Bw=V%wW?Vzi屃b:/<՟zߖ|C?|l֛)77x75t{WRiܗۗi'N?㼑~.9o`MxM%>;Mg7x ~m2O۞M'%MO_ٿџW}o+@7wyg:gfx7x7s}eyE?7Mr݌}u~ݟ?7?7Ƒۏg>ٿr}EV@N|{d?]^{(xx7 |x7 x7m~_GUs4sg>2"~$_^F'5[/꼜ߦz6l_ }wrTes۔}IK1[wktszy>YWN }]˒+ocR~+>kt2Oǎ/ַnZHg~^9lJ=`'s!_Ap|>T}? }g|%_O oSu舷=(ǓaS6 mïy|_sv}0 l<³O5¯^*^j_o;t:E#_, f'H>dS<+x^џ~G>j_z|:"];ǀҋG>dT4xQ+ߴ ؿkn_iO˕F}{T+ #|~g}3Mr~w?SK[޲׽<Cur4Yx4>\_v_WӘgڙ_# &͗x?Ǔ?k-KX?~aw|fwg~vׄ?wWw}VYn"8h+/-05//lԷ|j/=L뾓u|j}q>|ڡC8.'#{?o|:Got״q~_O% L{%3o }ڴSbb cy /&3^‹qkxwN7ݏ~ O$-; ,C,ʹoM#_wѐ; C~><s'Kw~;߰Lk}Co_u?ߴL^g|fN}35_і w{z#C;my ,sh_3-~Gn/o#m{> o/mܿvm_?'ƏB~9h;1.Bk'}Oq[~y?Ť}Ga߃(~ ?I6iӞs:[ރdO7u6 ?z+zg>C˯|.1טoCӞ?Cz_OׇK_|Ej:/vW59=?5!_K?3y }}g{H\btKO{=<_d|B}wٻw.>tS~~_ '{_b>Ⱦy|drݡ_.ў}x˾?{oi_~u>tg~ˇ|}|Kn?K.!9 ]~};K_6>jɡƢG z׏'mhS %W_˯OzCK[ ~[[]AjhO-?7[qЇC˾^5L{}Ӟ6movh]yg}w}c|^6m\}z9!JOho9}Itiy2ѾWN ??_Ea>磉}3oC?硉}s~sm|h?Ls'JjZesޜ>Ҟod߼˾Ye߬7H/;?cMۻH_߾@k?lZmC˾-vۻeom'ӇX'˾qatoմ0o^'vOCÿ[_ٷLe2ɾoo}sdN=oȾ%[g>K}bĵ=Ͼ XI :higO,qM#:]ȧַn|orz7;]t}Фʻ>$>$ח.~ono|C_}򃆟!2~# KG}{WF%_)%}~;;~҃_O?;?|\~{WW mw>T[^VקP?x no;N~ӃߟaW_z}JoӒGdJ\Cyþ%Ӳom6MM㿹L?4yd_O6Fu?it?Y׷>o'sN~R_nOίjz~uoR(/^ <ґO̟O-ǟ|_y/-J?7+=+߲[/C? +u^۴ڦ=Vzpgs?o<HSGۓ}GmŸpa/gmόvSXo'6~i8T7-6~cϐۗ==;C;tc߶;79ٟ9/~Jg:O czS9GזCCJ9s濐T8z99D}tس9^z>yB|p< }{Iس^?+h_}E!A8\%>7]^y%v}U+?3KǷ %?W)_ߌ(xFkGyOk@yo(/{fyȞU=<p'h'~y?G{+_rgY/嬯 Ǭ ǬG^#O~u9W}}?yd$I2!>tNW|60 ~_mW[j]+j'I}‹^C?_?t:!h['_ x~+>l< tC nta|w _%#<0<x`'<5M*r{O Gn[_ ~ˏ/'r oGo>K.|Ksn_%O'~-c~ߢGfSp?-xDGy~CGv}C;zi ?/yz~כyLgAx[7ٳq) ƃ+;_'sz'{=\_g\w\`"|qҞseWq}Of~w{[M&W&Soi_XwNn: e/obN֣7}_rzC&?tuYn/7;lA ?|!7 <:|Keg*m%Mxa&1K4o?qx&m*M< VϤf ޡ xY?~]IWn3fKtgQv/mU~=wy~ e^B~«Gxٳ3~#Ux]^MZ~z.AU_x]?o yQy%uI+xZߍW]^ .Kqá~iMlҾg']W_?1l^+W_kN\Gxͅ]>^S$z?[Fy֟zGpܛ_񣴯M_OfOX?AO/O0צįA_Zx$~ۏz\Lݸ?4?tߘW,0wz8={^{և?Q\h_7^݄+hy˟"NڨO}w'gJz+YV}׷>1^/I_=*G={銗~~y~U?ao;o+!oBmZZ OtKЮ)xkQH==/F%DFdߖO z}hS=;t=4ʋ?~ ~_|BΤ+:1ğ~16Ԙ_wG~ 3\_/iEW?̧C^ ~=^_~u~[б_~gǧ~/.-5/u/?~?۾p{ӵq/?C~ /ۓ}uI}hy-/fm_Wl?~7?{}߯xI_77D /}x$yO ~>Hg!|A<>o }B|~^E[>췄bW͡C_C_׾_:5hWb~i<8 q>^v_᷶5o|҃AxwR ~'wO+#k}@x?Mk~_r{0; Py}!}ar;}aA/O}aA~/4/̌Gj9^U/{U\&9Kٯ{>NAӟ'ѸG%|',|k{UG;]']w~t/?;Fky K{;?MW^_D[:oy等|r_H}W:;eNypb*e\>4|_{5C+{es2}ߕjQWOŃy*߾'޻ ({[]~@gޥxZ!{i?+yZ}<̏߻߻׿>ɩ_^m #!OwX>Ɨhe,}^iWW;>S^[V?0~Gs}گ>̏i{;&x߂?;=w8]x~t?X'[A޷͟Ր沈gEW?uQ|W[_<_K'wbůxol޷~}k:y~{u}uo_&gˇC+yO?cE"?D +?_\wf> ?2#fE#3+~?ρnAF>?D]ÿG|U⻬o3=f5)x~to,SۨfmT߯F?ZVsT_ӑj̇?{gZ;V ٫NUkg٫֮Ǐ~٧VO}_hUo%_U⣸8GQ#Q&71!Gjm|٧Jx {(gGx`jkzWW <{¯Z"/Z>\5~oC{>N+w})¯t^5-"'|>Oy_S^@z˯?:OZ]Μu>יб?<?;536Lt8_+ъ'*Xx9Oi~gS<5h_:OU~ෘ7ky y߮f(y ~u= iS~iS׽dSt?xPy"/SۇOTqT͜GOy[1-|c}ma|ZWd oP:>CG'k?ۓ?ۓu^ʃKǿf+_O?=<8iTzj?y~>x?M|ͯ=/!?ğC^K[o>4+p}r~_W-n | cՂ?tzWOqhuO!{[LȟZ^Z,'W?OUTi? >J}Jb rւ?EB_>^y}*=_ y;]??)6?/ƛ{T&M>uh˷Whi?nZ𧘔?0]X'F{O?'<ZOև^y>y~_9Q:Ղ_qՂ_G~_d} ~xrЊ~OUTzQ*VW _ [/Gt~:Ї'^W՛g)'+>?U'4?*?!Q;?!W'L_My'ίs}Zs{[\/d>5>U?b2e=Qi|d>-e,''+iO'SAs}򟣿OG?௴ M_>YeL>U}O>}''de-y٣Ӟ=5_''xj9Y9?%?T:S|{'-п'VSHy4j/ٟV^ȿK}~߄[}5'~+~~OOwOJדnSITҿF4=h_Iا#?٧o/9s2H;yoN_dr}Zi=?)/i_!rcQ$Wom2]~s7O}g>y?e'~u>ڦu :Yt>|4)܏wK(;ͷz_yrt}]E>'93&}i:] iOy#B> /Y|w}]_ȯ;˗;tأdZ¾D< " Ǘ\ïb}v^/}pGknoײ=~I_o"DWG5݂v72t/zD.?LGgyGkx|xg|o5&J?i:JHAEn.n~O;i+_A 6Ѿ&?up~~2~a|$Q7bo=ꤿIƗ8uDۍQ(; }Q|B?{DnD~OC#bOhG<ǿG O*<=՟Ξ#9Lf|t_gyn?י}-뾮oĿa7tt_ޏA/)_ ~5_‡p|!+|ƒH  ?ƒ࿋*nec~oO(/hO^~tq{GLG%I_*>/||яw8Q;$CwH |xwH |xwH~|Y>5N,log}|xwHwxwO[xo#ߞYN/xLړxx>x>?'d??׷_~Wf^oVfWW{Yo| 4K{C緾]/cwo~Mr[7x?Eo~~C>o G[7xoՂ߄|tIcZXd'3@>?c;4ړ-_*~ww]_k}S_[O[7d-N!-C3$Z3y>C_>C>gHW!o!_!-֋cxo|?޼##-x /ҋƟ3p?:-[jzW֭pGM|<_˜2u)OOG: קk?Dtx$ꓽɴڛcu).O)ȃ_S|1>u ?9?Mu{^ Go˂/{c}9tC޸}@7;d\?a\~ {?/s>Xdom {#x}AB7Ȧ+B7.?>t7|AA?ooAzt#/ӊ{\~~tuޣ(<Ox 7)܄SȬS O!B OJ߂ ?&ˋ??>7?: N%u*Kt?(#^Mx )?P_+^u oeۀz4'#?w8!|Tٯ~B?3W/!U[% [%uF jx KE=KFȧ+~BG~= _X7"~2O/#~=z1օ'/@Ϲ//ÿx{x^B)3k?|ʯt᩷G(>>B}Q#u~5:=QOAwԂ>mZ񓌟K7?ƛiK8_ОN~!L #kGiЊ-]ЊWpXq /+:h_tWӾ~ &|s?|s;:xG:lړub<_]^u~@>Wno|3_]'o[7^V?%}kKME?z~7Worɯ;gC+(C2co=Ln_pڟvK3 n|4^dz6%C +qL)/~)J:U|i/x(t~;Yj:u{׶|}Zk>ל. _Q3S<1k߀+u~!œZ߈'u~ſ:]e_;y8l;Ow^wx<Sc cZX'7{}ߡ_؛E};N>ٛ︾ CiN}ڡݟy|s?oyϼLyBoC뾯A+hA+>ѡ_7iO uv_ݧ?>ܟAܗAس3pgp/ 2)383868Lt~#<)L3y&nxf;][:/}o-ǟnp33zAyq}dGy/Gok~?9O5x5'b}y^C{/C=hG7Lu'khZcO(:_A}2˲k?}} ɾt˾4s_f:_e_:>~߷}C _&vW3K4o$'!?X䏶]~dhmG,4Ѽ^%gW <4_A?&HmH49@@?| Z$ߧ,.#jYy~~yl~l򓿳ֳ듿;};/gٳsw{߹~M<\LJv ~҃G>?pW ~37f?84 xyϏHD xvO=|O}S?}.oF}7|#3_5!UfW /3>2ׇ_+~?_Ӄ+%yw|vzow]ow|5_#%ҷKmַ}%o}ؗ=~ƾ$^@@@طHSHOHg_n'߁'p%k_.:k?zWA5O gGsG5Gпi]?t[h~oA>=Ox#^_o1^=++RMk>ٗNe_:˾xotv~{c_?[G}ʾX?dO<>'_r=9|dO2'oٓ=9tCyȞd'I==^@v}CK z\A}t]܅= iy^ /`꾨 / _ / `Џx^/zC=n{/x?=8 ^@: H:TO)ҵ>K=ۇ_u^_+W/:8?y?Xg~8e+^?xݏ.|u5w|s>.<+< Ot#<_d_ a_o_W0/e_<WٗɾXd_ۻ=a_>,_a y>}X?݇%Wa ~Ge_W\z)"ydyEi瑞9T^2$[ؓt۾ `g+˴yEA+? =>: Wyy"}͜W&2iOIt^ȋ?^u^iO :TJ{:Ty?WN}듾:I>O2Irz_}ORiJbu^1Ux鼒iO畂kwww}՗-:罈G{>G~"G~ꬷG~G"~?wu_#~._†.>E~?:j{e\NzQ'Z ȞO |bybOoB{~F~?gx֐_C~oOSO x'}Ey׷F-߂G#~5S~U#C~{>E{by={>Ƒ -_;kjcZ{3g]||^]?׮Ok''Nu>)SCr>)S'q>z8HtZ-7? 7Oȟ-~~Ʒq>WD3utٓA~}ɞ,ʞ,7>߆w-CdO~}I6'K~z p']OG홿IozoS=^ǛU% ~^o?ﳝ/2ޛg ޛÜ_9ZnOOP~: ~n#F{n'aͷpu௒|/ ^28Ü_n/K.%w_Mt}ۓpB~x߰w'=N~w{|wMýoy۟G=7Oz_鈯(>h1ػ]>{#'_?fe3;w\.<[)_)ґØŧ?ŧx~*>/|MyMk|xCWG1&zίyZOxZ^_9z6'ҷ=~a`O{GqoZ_2(Ӈ=ػ?ۓ?k9_sm9'ɞd=?ٓ7{R>n6^>''}?GO QId?2 ?q{?Sg~=c2K?Yԯg{?+ވk"+ވ0~t/G+?.+.O\^ןk؟ ϵ\N?E#?o {],]?ﲙoeS]~S߼p<#z >큯~Xy~x}~~?'h6E?gr9O?Lu;O' o/|/> k;̏1?<>Z.>Ѣ |/շz{?Rxxiυ>u's<pƫoe ^qq{.5?xŕt7ʃWz2ފGx+ ԯa~KWog~GzĿ=w [ ~6[z_bxXۋbbs{~zO6  | C ~ ѧDĻG{LĻqg/^<ݳ"=~/ݳ"=y "=?{ًu O#=ax^_G++[.WxZo~ymv?{̏ا??{mX=3Moo7>nɈo/o/v#$' o/g/ x= =K>%~E)̏o/rķO^*翈o/^}XķF|{{^ķG|{WB硈o/)o}o^T"6"!<u~Eoo^?#=`qE^E݈o>D<{.ٻ?Ϛ_<#?/7#DxxFmӟgOG<{I?yxُ=ٛ|?/1G|3+zc?Q?Q?Q^G<{=~󡺽 )ᅯy/'^Ga/#ӿ5\zijrշ~i.߱Yv^ow^~cs?y~Wijg/F<{Wgěgigo_wD?#3#s5"~=3#3{DzϑwܦKOch|SOO}?'| wLԯƢE{:_T"k$ϱ;=Ώt !¤?ȯ٦gz??tܟYgn_m٦@x+o윧{П( R[^OF{~hpoXЯ=f?vgO=_1/ao|_ ߯?ӿ~}|HίN~H.O]~sO<^A<?ܷꔯVݷ}tjG?=wӇ[O.o~; ?5ߧ~P{>Wt|Xz/8;3^o^pqyω5{x\-=Z]a1oY ^5?Wë/=?[_^êug&ˊOc9y_|_|A[{3F7~+/|뾿R[Y^o<?oYc|P_r'~/_}|g|?x/=t3|'r0w|sXk^zQK|3|/~r}7r>w;]T*r~ }/U7\1\c~' /r]~+~O1\'OȊPޤx9.~,?=Y|hړ>Y|mwV|x'n}3|#~叏=.o5K~r_eЯѿ5WCN5۾5מ?Z(~ ^W&ω~w?G.{#Oy#s}*Uև#;ևZбg+zR>Pև_}Z ybo'l?'l'O'*]c孻yƟ懻^^ xUGuk}hQևZ:`{h}.Os~??n[Nw~{j}ph}p>g}h^\߼X?OOTs5ǧrR|]a`OG\C<*DZ/{Cǥ+>no>?Xs=l' :7ǥrsc}HNo9KSCZ<h}xĢu'E'O ?뚯{{(Bߛiޅޅޅ#~7v M~]ϋ]x0.݅&~7.~7ߺwr'e;K?>ZGfׯ['w_ZOZ-EN/>wQпI֭KnKɿ%R_/Rf_ry%ʗRK[<]|c|:OG菩*z?=g1e?e_w# w\>/Dg}(h}ph}0i}~`}ߜȗfp~a|Ӆo!;]t~ ?ÖO/#<ɏ5_1o+<ķN~kI{v>|xp-.uβ{ݯ^5_:+~ďPcYߐu^pC|2~_Kt^XNj9r~p/Q%:?4[F{8?`S\7Gu~Ö_⡓e,~:?x˟>XOy_>xx>Y]z:Y/dgeO:a>l}G(?]9d}_|&CZӯק~{ehK%K~w >`/v֯>wUP^~ҏΧ.O-yp؟xyB' {Ш__|2k_b<}ׇ]׻>=!o{C-d[%ˡ_=WoK~a^Ks>u k~Y7_L۟?{B|hȡ_vG^/e?I]\xs~υ?AFz_E}qt//N<ʼnxf=z_H?/ֿ?Ч>E~%W,?h}h[/b}0և\OK3lb=nփ>Z<ۺm.(^ݾryb2? Rqo_.IƳyJy:/Tڇɿ=| .W>_@?/<ǩO8/Dy k?>O~|<6d[? }Io<2 |ȧw<$7LE7/v1Cw|ce(cD{t^xi=xhփ>?X_zOA>i=Ȕ s?>GAZkGSkXլCC=ħZy:`宿[? ?I_<;hop^x Bv:`|2ħ.Z/OSS?S?P}Wzn}u>H/wGV?/k~dhG|F|8d׳AukYwGYF}:tXGPG6}^4N<#q^8/,OAa=>Z&*r_!7rzLz0hփz|>Tyt$փBZgb=BHyr^u^pu^߮=q>i~#q>Xԧ)_=?9ў~Gf@Fff#O~iև|K{u>HSL:8P/=?a$[?t>p_O>'P/_=:u>ȮO@o| 9l~>Ȝ̜Oֿk=X0,ڧ@),U2A ڣ`w`/叏|G|0h|0O烅~z92Ⱦ~##_q ^xjy%?顏ǛT~:Oyi=쳮q|P,b> `|(`9 p>x)4 9N-4?Sf,GBypp}:Oyy[QZzecU_-\Cz@{w˓~W"7*E/%꓿+ߋ7y`ߜ}OaǾCbUX?Fc/^[CʯK5w +J50yR? F?ї)wyьS.#G{A/P>?h/>⏺>ţA?R<χv[əg~x|oN>0_ֿgFB_?'?~44}G }ǧ?ò;_S۫`QE/՟?}'co>䇟L-/~hįZ!!^E}'a~t rSu'ptry'qt}:㥍B|za77:"Kwڟm{}/mewYҋ:]$_Ožo0G3Gn}E W??>U?}RU˚G*30y-ګFi}=f䛍G|Tʻ⣎lEyīpzfoFo]ߺeYNw7r[|JO'e//'>~''xR"+/C+/S"//~oHASOjL|!1ăjk;&1s{L-]xP|Am{)vsЧ?,.aů۲ס/Їu_Wkħ9׳I|IJ{o)_aL_+kO= O{| =_5OЏx?Ƿ G'N`D?#_o OC}ཿ?=i/x~z!X7Go<?'r˟g)_x!|w񏽅?{U{|kry___x_Mjj=|_i|-S ˡDXf~k,SKZ&5qoq:8n_}Y׋Ӭߋ6=!b=_xmxc7ݿz_zt{~=~CGSb|8_8%WN3)_8%,) 'ߗ pQS|}{>>e#)ҏ>={kR_/w{{^^qW6/n~9{i齴x{iggn(so3ƿ1+5i|1?3댏y|o` BI }+g>Vd/hNb>}eӝzeeǞzz~yS(o|{pS/|x-|xm_uGχ*{hCs{ۣ*=O=?Nyz?sPϜ3^\<7z_>G/z[{ }oA-/׎2zo?^A}~Gx_9==ڹ>e/tۯc=NO=~_=?{;:LL/x{ }8ۜMo>P|Ocf}LQǴ>1]xZ鏹|8=>V:3Wi?b?b?ˡOfSf|&333 ~ o> o oO<697 ~ o46n}~x4/4{9ff/9 o"~ ٞZW^Z[^P']r%Iػ^We/S^kثѾr{}y7_9n|߄?k7w?xy~{x3iwM< o۾/sM<枯/ oZ:wG^GggϿg>=xyx7s>Il< ~o{~>g;f{s~ ~o.{>>ןf=˞?eslWSo>?+N>.~Cw{3g{wߛf?3 ~o/5ߛf,3I{sf ~o| >%>RS]^7SL=߻\v}9'GW}x_ogys=sy7/k7sy7s_t7k7so7k7ݟ?uۣ~jgo2j跜---ӏs337sd7y7sf7=~x0ϛo}{|>??ߘcoI?/ | >oIo-yKR{);[=[K|}ix_1[zeNt_w fw ݂{ep^ n~ n~)/+31e'-Cmfw݂௟-:eb nwwo[Ewˢ[ nYeu ׭/_?|Wukb|_׭gu+|ײZx}=:8_N'gu۳-_m^߂N?}~x߽_ n~{HO%g}z l?||O;'εם_w.֓ι1~x?ng;۾D?yϷ1Sry >Q=>_F(o#,}c?i޷ہ_?o/mfsm^߂sϭϭKs+?fs+/V'[}>~n=[NO_ }^7>?Lr _> >n~-fqKy??b?w[ܒ| ~nyccbܼ=dn?/%_[c<o5r=_c?oϮ/γ 86qM|8-΋.ϧm8?_Mo߬3}=9Ms3nPqyst-3N|wў#]x_ >n&빟=wM}sg7_3!~ mj{yߦ_ٝ?W6]ᯬ'&Z >n8|>n:c&&g&3 ~ _6O|O꓿^woN}:?ߩ/%>#>}J3>Kk9J/۳KLq+;Ly5ƓY'=دֻ~GyAߺB^[9迦MgwϠ>|?$3z?~=~G)^NÈ|oDy~1 ~{}wߌ'ӾOc|XvzH/Hlc>Nqקb>z?Tc/{>vO&x(3viSozP^}k8~/~A~o9G-mݯ}z܇>u?{܇x_+mݯt_+g~W޺o}}F{tKm }K?ݷI.og~D?ݯn+_)O+}e9;{<ϸ]_v{gq{}lk_#OG]gOzwr^vӞrȡk~>?;ogܯܯ_I{uRxoW6ʿWWV_)}OڧS3>}&]}DyO_}K?e?Nseo-wW Gm`/;}8Ljs]xl=^;5wl^M| mB[}9y_}CDz+c>nt/e'5މ/,Im> }:]l=W =>5/+=ׅ?ėe??Cď5k|ܗO›i|G@~m—ZG|IKM/eYG ?jQx:qل/U]:Lع\x%~qa9ݦm_Sﯻz}Q?cj95Tګ׋C?yA=G|EyúN\'}{>{-~!~lÞ6N}??+NaO|z?ڧ~#{ mOC(Ox_y{Z|/|}>u|?ٿ_Ww~]o <?\u |/=q2;~/h^և~}7h`~=wח?ߧCO\p R`O; (͢~r/O/<_J/N%#+LF_c_gks2?f{(ӿ??U+Se>T/? 3=W#KڷWؾ+t>Z&5iw=7Og">}R}ߦta|}|ה+7໦G5=Z/W[[o5p5=›VϏVXo]N~zǸ|c ~c/_/w;wL[-{Kr^[z25f5+S`oy|y{ǟ']$]'.#쓰߈gԻ?t?;9b|yM'~S~R ߍ~Oߙ%>߯3Jtk?د}; =^GGdh?G痕&#翕,::_'f'˧?he-sYό?]Kuwv1%S-ߒ>[?ٲO]~6~گ? -SOoOT,?(~[vs\&i/&-?WW𧻿_V|D{_<ŗ|_ګn ?ۧ>/i(eŗ|R|{(rœw+|~œ7L|y˓N|yW<x~*NoЧb_œ筟[œ|xOM䍿/]~'œl_$IjX'd)>Zo *OzƷޓO,|d-'Kr_{~o_ L(#)_E E-{Q[>(Q >/E}~Hry13뽐~z/$ rx/^ȖC>z/G hO }2_z/W~z/^H^NoY0>Hr}O=zCCy~}E~Nw~Doo'?J<_zKzW\[.x`yk=XWKYzV5~;=@yaoyCϛ <+CLDzuQK׿>{~v*EC{Z׃=[-`?|?sӝ{?קv}ޟK% <'AmYAmH{zUbZw~wm/j| }_>j~+wEwx5o}uONu=9 =yAq}EYݜC}zI'vzc{=zcR<=Nyzϣ_yX&'hx?ڏ/˱Z_;h?n}؏=>x_) t5o'|~g+#>oۣV߽|)_x׉~5Qߍ~5a/ǃ##Om~uyxe]_xn~w~{> OL_m<]_Y.?+zZ}V/Czg->+8g%?Y'>k|Y Ew}Vk.ZO=V,JXWkz;Iy.?ҵxwzǓj3ij?k?Ny:3=CI7GgR_mLwO7|dz :OuuB ~t/L G1ou|?=fWŞqxS}#VgE5BN{{v }/'~{|!~D'^Z \=!>ZmYF}~~e/Ix>\<]z?49?=_x@vu-\N<'^'$$coS2T7wW?,=~t}=(-?O__-k>?ӵ^ԧ^o~/e/OKIo=M7Oq~e3>&?Ch𻡯~> ߝt=KGx ~>kğMlYG>ly|}~+|/~~oۻ_?{i۲' ~{>` Oh{{P޼vw /'=g^ ~/˟'׏~7v:o_GN~Ws~.۲_ݨOݝ~wI-s- ?ۉ_3-H\~/-{aGy.߻&ڧ)| {:/-O~/oo#r%^؇뛟҇o/S~ם =޵{|FN}G+o3 wE?_JZoϯyX-&%r.OmS>oڳ.o/<_>wd:oY'{wC|mW{~KN^b9~u?Y8|t|OE~ry>%ЧO9Ͼsq_u)}\q>rSh? O/m__=)$%.ɋ>W~O8}3'OOh}trߍ ?GOz>Ч;]~<3/˺/3$=_?3 $?㾀T>KqJ^븿ae9u|~=!,GA+./8+| /Ⱥ@I-$tI?}ByoR/>“gɡOszө/a^Yaøם&G.w}oұX?7n4ɯ~O= 8s3?{?>5߂}WrcW1*>cuS:G2)@|xR _#~+߂Z@7R_@+_h|RCG&aȊoѐ,Ȋo~1c>.o|Oy/}I}Gůu{vg!Kx '>=cNsbOR <9^~EGQOհ_5SqS&Uv'qqz;5׋}Jg5k>at[tkƟ^҉gHzz}dUW =!oOkv~oW'~i_̃yDK?Ŀ{Oh</gI_7R:uf[Zg{,'??Oa/[_Q-=ŷyD|oy%<$>)I|'!Ѿ&#J|Kķ ~w~C=O?I"->Ow+[CBa~I}Aş>ӝ./ ]z`¾/۾/^iwaz_gHWB؏tίxN?⥕x%.68Eo }&''o%Izxhh?JYOFz^7;^_kX_wk!_f_|~ezV}OR%auvJOg)XǃѼr>{DC2N<rAP^ytŗmN:]kW|YOe3_6kė}E}7^Wۧ}N}_7Y݊?_Њz߸u|ٴ_k+3>Wy>u< 3CLwy#?㕏x4>k/C_ʓz~s>5ךo t~]uoC㡼R>1c?pq_D_O%?|/uG'k]__7#N'Δw?.x5=sxTN{#..OH^g^;u~oD?p^/k<|9u{o1+7lǣszo|{Cz]9x[_Mv_<›ZOqz>O_/PN<]ߌyEEf70fa5_'՟x_yEr{:o=e_`]z?0ză-zO3zO3{4kW=L~fb̴y|87p~δG3^^{ ˋ\_ϟ"1;q^ᏱE79=C˿ky`L{G{ݿ7__/)_~i麏)apb3N?_gpZÀ?icg}L?<>#'E^ם_P'D'ߡ<e'}R˟]?u/`v_y_~=Qq)gOO>HwO҇/C{˸#+=u=i_W|>r|t/ګt:aݿN-OvOct|*;v$r㜏OFx#?S[}2^?37>|uG篷}O~+c~csO~+>:(GX(_xc~cvxoZ/o}o,|/L>ee%~C|yo~_, ;%|x>7׿ҟ;?⯔g;#++>w>>73x}<هGo~GƎg|q>c剏^^o?8CDG/ZDx";"hOD>?.Of=111s^1?3fJ|x1W3fo3xIWG^w]ʳ 99e9'|g/|x>g#|r-|?]^,|+|Gv?>w}C>{ !|v{Ϟg+|v =ϕg!^YGͲyO|Ma1$"_$1>'>;])_9=s_ ߟsy똯al'P=UWF}G:~,=sCr+P_9szm*'/|#{Gn">'@Ї3I<xH'˿u^a*r~ЏxN؇x|}r?9 Pυ?گx L F}?go$#Fr#UY(M{qG9yWȿegSG>^99~*?;==i?>/?3?xMN?c)]?JJp!|bS gl?'~G(OX?[lOY=xOCtG؞zGgGxeųq㓮x/֋AYey%efgj?>YޟNʼ7cp9 >Hh񚐉N7~7o}#NI,?5rįy#~+Oz)'|v϶~x(_=xQW=>}C>>⡢/PR?P{$QG=<S=&{a/뾝۹~ݯ}hs>>}V+>4w݇NO݇.ԯ>"}>} d݇xo>+d1O7&Zݿxwcvz,qA>g>k~y9<OOg~}zlkB%7׻~_+pa}/ ߋ/?ixyCiˊ_+Rs,9fz3g7? l}ύσ?z7<7v;䇤rN|NyW)W\<_;O~ݧˌqSS>}qRˊoWa9ẋ W;<~uTsszwnC:g)Da39o}~xo?˞/?|?\v8_}\xq)/\w8s4)f?.k?3q>s?0_1~) >R `껿^~Lm|gRL'IL/cߚLG'O'ԟOШ/ o&rOħ [r+<^.?#|>P?8|͓ |k_~99$7 ~Nǧ>CUޚ]|Awi/\;\^_|IyM.mk/ߨ./_v8<#}~z蓨+i,bs;qC?K}/Oߔp_x~_ίK~/ćIz?89/DI''x'ēIz?o!?&r9o'FE?۰>'m{e }4>;x8Q8cq;}|[ۘOIy1kL)_c(( )\oĽވU|7˲E'u<}}ģ[rS }ㆾ/;^?c#_x!7Ona,>bFY<-O^r&ܝIW#L~+o:>~8n>I2߯Z?$?/?/-KG{u_yQKG_\7[t}fYM-o}dg7ݿw_Ntˬz0>~|{|Ч>B7⾢}<>FwCϯnfI'87/';]iяi'iu_9=Cϧu}Eoh{>C{Ve}+#</ݲ/~ }K[w?دߗ~/'ƫ}3Lw/%7rAGߋ?:$$#/|_B%-}-aKا_ {4/?͏4ϝ^]_ }*rW~W'ToO!'=]_}[]3hW=>{> }z賘/O7G.wy}3 3ZWx\g>}g;_O`Vا[eJW׊c> _/q/a// ^os}l|n5^⋨M?ղW|5>Vf߇>{xI=+%?C=&?/?{xL$޳W;c}_7?!?>>Yx韕3~ƿ[}b/z9Gq ,zcz?> }R蓜~=<>H_?.|xRbG#%;3ϿxR6旧w~[m)WE%ꭈo͢ 1w$tII(/k__]zMht}MФ&(^xhʷR{C /۸$Fu&h̊Եrςtf򈲞P]]M>E:\-3߳l>wƼvs\yƼA׹Ḟ{. WJ[#Kt_eOnANSG,),@kS^PM='W'V{]h7*xWQ/ߎ=g35cF&1P#udnө-bVg`ݩ5XwMlUO(X!՝fRT-X!+R d1Qgث^W:fxt Twv-"/x}:W#]p˹b%c^j6cS&փx{{OG~¿Hu/:]x>S|ӦAZmjĺ-Ml<92ҦiSWZMl>mbwȧS!g;&i:-iE3NuHu->ĜqVSXnr~"%6'MzHtHt\"=[q/ĖhD$:i"=?K9,]-օ[\!{3K&LU e7g7;]Ђ2@/ο@eS z}A)^\ zLyZ  {zՂ^ױή:; ˕[kN&\].U\]y[j*ǹѼE|VvNtչߩX*`"P;\F lعl,;Nwp`gCd촒v*玦 ;|.|Q#_*%/ʗ)9|߶;5 8` ;``FbQQch1֠ g~fevZtY`go٩_5bwNS>cwR@;'NlYzީsĶq'Hlkz(5fV|=a[~îpĆ]V=a[a|ݹv℅ueP~ "!Vhn;@iK(/y&CQ2!^ɝA,7JrALWq@F.fr3(Ы@F2nYrg(/9!DK?!1frxPZA 2. d$%C@ox{~GaGyF'pbn'щb<\;\{ O4BO0^rNuOKRH?PuA$qd.ѥom/m4H cmr' ݺ YLЃ"Aɣ z͌vZ=Kb#06)z3AzPA McF 5 m']l?!Zy<.}A6:xՕ_d逓E20V`%24v#FHf(/_|$p_(p|je!A/s,8im:'!3gsN 89v''>$0s&sZmIv"/V)|>qU{?aU[QDUm֓])=ti;]Ir.Fr&BYUZɦMm@86j&*|w&%@o;ouLk,I3 ’–Tb%xҁH>y%m:-ImIw5^k`[Sؖ, ےm1,񖮷N$N06ؤ`$0v r+5PWƩt %kI`ӁI)s]v$0N h!@ZnKZRqicI%Oh;0ʯv%Iqq:Ef7~+g7~с-:t?m1n\/5W֗/92mie"bW lAglA^-}k^/nA^r'1cXY[HmB{G+k VKqe-! +PW)܅9{FOWL?ɥIŕZ2sem]ʹ:^ZY2Vҗ[f8qe-q^V8zyvqiK ţ*}q}ɼx]lѶѶhۆѶe^k>ZyeF•ZBrep[,d+zj"0^r'rӁdM`; MlcHڥ3)IQƦFzț8Cd>ٺR(w2|rlFb|r0Èg3 ".77-o.\J88R+%SK&˷ C]lFٌ+RzJߞ7q&1LZY1uҕMqIfx[1&3y#!yI1N#x踔#xCc1lh+=q =Ϸ2Ixc6sr׷~å0Z*.] Qc<>zl '`"U\Pm>ڧ=F1Ljm]9m9O[[5GV{ۧ-G1–Rz/Krt~JQ8sKd1JN>i`$3U=7R̙ɢ UshItASvi\Rq\GjF ?j`<=鞏{>*{>=37*~qxcmF +DFf_i!>Vk>|{>Oc\챐;m;7X_U{@qVmlY5~zY'[𬚈WxVM<,YWxTnUtTE V7˳ķoA;]!J|K^i~#*3*R 2*R 2*d jEw?]O[l 7e(s^"mk@ljy 2$EVtmWacU\EYKbKh?DӢzT)Vͥ5T!8v18k8 ʅh1e+\E۰GZ!861ZShX%$VѶJgxqWP,]Vxcp XFGhenGA%8;b?Jt䴫%g+rJyZ:g!N%pWlpiZGJtFHDOkjU[ӭVyLYW9pb9̔qZ}[ϡ[\n]xɕ~4d=+SϽ=xKcI/z&*=8x.}viӌ(k OMhg,] d(iPX\9[%2~2]fyXF{@ysGbE; teP,CBb=dI.M[pW+Ѫ̃etՠZ|hr*ͥyYe4l\FRl\Fc׳5/,ٴhry@'\S)n TWP mF9P5cQ)LkD#f2zĖ+K mpHA,4j8t "qR/E]|"ݚ%U{M5H/3ZAC7;F}ve!Pf F(@yh|OWQ{ 2m+|{~Տt;!P&!#4 '9ߐQsc1<b+bߐfY(=n'*vuqpbby7Sn}UlΫ:]12鼛SU9A90װWuLw0` `q*>I1%UAA̔O($sU]5XCmq7-T)9M2nm9]m2͹dy% qH %v? ;I$nxoWtѬ ňH(1S] /9ޮ%gBN$t| $\*%l%kxV^oW!KY%S:pKf %5։[|"~.'}"~j  ]ws>xK.⭼ҿ Hȟ N[&qKѕqWԌR\\,Wr8s׷oQp "T@Bg as3 Es.~.=|?|Fᓾ@BWڰpm aSW@BV@BO`FyE\ Г>nz^̺$ i${DBpHHA$ln d<ӱ "!,ܾ "!7R[O:5ĵ}ĵ6עZBN ZruT?$ q-z!E/I ~.$@G|BYHʏODOr5ң0}JUC=~rG1Gm2V PfH!bY|r'TX'vقHhF m d)bD$t)]KηJ(@*6t6,yGf )|Byt@©AN =sV^Vǚ\-&y>$HX~'?V1ڰ@"@B@O&'b(@ K&1 O,N'prɖt>'F |[:}~ >OxK#$ v>* 2WH\ڒȕ&V /|B΍Ib`ul'>|KQ@wr0&* 6إyod  o)*& dcձ͎qx͎ձ'<㭞'~j;[|VX>+>O |]ڒsP!'+MrDҝU br`+5;"W T%ɼKD$DWHHХb[DBzH"rնK=/Q#ە#|B-:K|ZȲ.bp2|)kOBUB_2UC~ *z#zOO8$3|Fpå;UI'a{-"aT=#U%^>"Zf/d:8VH<버H(ӍDBUyz //9_r%P]DªRJ:R]E'*A6HT^W^.:=O8$$WNpWdČvylKN^'p =$7?0Gas9%r/鿿6D­C$ Hx{j $@B_m[K~Ĩ(O(z!% 8b )8(@0WF (;#ſE`FɕG EO|76xI^"Qqv;g87Go(t{>7@ZA8$?LF0݀M @8z гnwsWGG0J0л `w@TvWw|G Â*p //yb>IUӷ?:U|E|./ _@-=b|j $d @'ko7>x+b Mǒ^A`逄_ aHcG$AHH[y^L` as|FW` ;N(<>~JH8;ܝ4\u;3oD֣^B ?ؕ~|#\$( Y>Aߠh24@Cێ@fGЌEo#dh"$wu#$t$|/Y^;%F-KGI.OW$!dp)h2 N u7NGHxI`+;97%K F> =y_ nW\_%d2}u ntD nYtDЁTgH@' }9 l<_ =LO)r%L>p/rN`SW>WL`^}%J[.V"n~'F>U(@&k.t z 'n^xIx}M$KdOl"-XE|KZJ'U9q+ʑƨm;BP1K[IDCI|KB֙U^*듐\J@@Y%O3yPU;Rj 'p-OR8إXI @_r#W }x'!L0<}1³WBߔFR,%otKb\Rlؕ. _IW}@_'4#yozUN׷d+x}[*Rgo>K#}Ud$•ўCޞCt}K]a{HCָ7QnO7TߡR,x‚K?LO2׼hZg@T Ĉ[.pYH@_ >MFRPӂW=l[LԼ1{O'<#G7.xdƂw~{zד^g>ϥp}M]>orO>WHsstʼn ɫ/h8q$Jwʼnx SO~J x}f?^, v֟Wm5}N.">Om% }D®_M.9߶%!'2p;~N']r< .TqҼ }C=ץ }==.ORB_}#^ti;ou/{t|O=Eܮ";t+0.v\FV 1&j-x!}ەc @'d~'F}Rwyu!, KZ^_5lHg۵5: 2x)q?]uy [C1G1(^{papze8Āg@GC ^WN'}. +Hp%S!5w 3"A C{7Ddb!ӵC$Hgu{}6Ȱ=4A4>۪g@z+"AH/tp+&!\zԯ *1୲VMbDyzƂkb;4paG<*6%9];=x1UycqqKcpOv}iI@\ㅓܶ'A !3>uRa̧  Xפt> IFҙVp$5]ٻĺ*U'uyylOB_hv^\,y!$0_ZrKn"tKn+.ynY>5!â7LbqEB}w?Zo;$5"5ґw{Z\wɝ~^XWe:`]KB I.mqIk5GuiGyRXW$UOGA- Xg#{KXyϥ=azn (oh,niwd/wB|#`pw u.%3b,3#-RKZf]t4Zyqt}E|y}E<|{vEs)8ȸ%W/aFϛ9E72ildTymyn_K-<ͫ㹯uiYRF7n)֒Vk}vKZOw]*n<R.9lݼ{ɴi]ՓTyr!-s Un,wSq|"}\:.\﹯2ѥQKtC]R1@C.jhLRRҨH)_¡5b>S!K2JוǽV1>E/74s|[eDbtJ"7fKFN3]N\y(:{[RCUpJ[$3Oiv8GM]ᨢ2*lUt[zhRGURÍ"84>a]&ֈW8b<ߪ-0cyԯ 3^n n{Ty}TYG)T?duf]wWg5W>Iuf݇g>bx#5ڇ붇puT{<0!!.b. yt}e2,B02yĘbT=x#WPo sy #G-!zKk"KKηz-Z}]+}xz~r [d a?SXúl+`-F-1pN~TX^fWXZHa?+(Vk"a k}q;8:nQiPb?u:w%_gk`~5~]qzIĢHUa k(|(wzhg2lɰ=Hid̞oGA܈uF҈uFsW8Db]aƕh*fg!%&Ε׹ᖐ:Uօu GJ 8r+8TbT/|~1K]58TCdvdaɯs۞~ ./Av/doALpS[lDد+2;늦 +]uU=몺UXy^t 8VƑTbcN"amJx3 4M Gʍԟ~u3wo~?U ~unEs]T:gt>pgm\zaCEkXV3iM׹hA9,VV3tp[l4@ue("S^G8:nGB9߯].i߹%t.Z/&EU| ~rΌyĨt"6:#G?:[9]~]T]џQCQMwN*, *tV#9aU!FҳAW%36a27FQt.46$6niyՆ׸d$lCkI wh0$g% p5J+Ckt qAQXkdE1LmAgpSҪy:\9 9x!tNt>w37F6Ԑ X^2=@V9B7T|?nLD"gzb=ѪJnC 1%wK]h73EFѪ?Ƞ#q><7gÁ#w\#'#^`ʇ-ȞHlx;z>Ҥ#+˥)} ]` %B=TW"[~~¥3oDzJH<{\%={%s~ m.1(Cfo)гCBtB^ʸG![QHg/JU]]0⣐2N~lL=ʇ6KcR<d <M|(R)4+.yzOx|z?2ɸO3&_bT ^x|;/^\/kceptx]e!2I2&_e12wG}1>*x K-BXŗ]||]:KSdw]yB!BX| 2o̧]M`X| T%U9f߮|_bTGz\[*O OW^/cI>.Fx 2dO&%mST߷4{>$zff}nC|t5^}G{U p*,=(~H>(&!ndT:|K~fSt22 p2͟$m+Gf$Muu&7W^// 6%ͦmIp52]CBcҽ5}AhP\|gm n4&g76pwJrN n}H]SjG%]n{n߭%p+'G<@2UʡepvhO_㕯c-q:@4y`w)^g Bpwh ~TQ-=| gfF̷L=wB}M /܈> r_>j#Ώвr5 R (M(N#ψWڿw<}?t}O{7hOWIM7 B eG?t^/{x~_ϯ^GO=NƏ\xYʝ?,˂8/_eǿq0~48ɏ.wlX\ǿi~F?ωt=tH?Yڕy!y~de8/a M1N$Ə.+/r|ĉ&N8Ən'cmhk,cqq?{f){{;d^Omϟ?Y=OxƏEj'BG7'k8?z^V'JGjiڄoі 􏿢k*GCwC{wxYu'd4~X?|Aq6~/k?㇏aȍҊ=~x['2JO~d[w_9dy|eQS%oOpr?' I7IO6?_?9/'m(xpIK[_OJ?O=5~ܟ{xqpr'Ct?ܟ ٛ!K~O?9-w}o#7<m2 bw3M|:˟> ? ?]x>z|=ρI1e5R9Pqiܯ~ KorI噋|TG]\|c|>*_i?`^hg@"ؒg>D}7O1D|Tx cuax=L>z}2ʶخ}&j>6^pg|>֋ KϛyquQ E'$>c"E>z$Eo}G|_+;T٧䩼^ୟڸcczoQta*Y EW✸g 6e_woEJpsW=}܋i(xьpR}m]W WJ'#&=%U!VW #%r;e`-M7iJR%_.&ÈFDP ' e0*#=#2+dK*m>!+Ή꾃*}Ɍg|""$'}23O< >q}b!d ANj蓦>)O ۥɸI1 w9*]n;Kbzt|eW $ v+}qÞ<$+<"9O| M ̜ٞ33Uxeףgu{>|<(@34+ٔ@)>I*}-]yި Fތ& 7Q'#H>zdDn,Ώ1u 9¥#d~ Vead7Ƣj(qQ ̏e1o~ļ!F̆Tpي@.^јR]+^#&SW4Th)ꥨIHdPT=ϚXmoiT{ۦ[ "X^2唙tt-{^G3. S|:/u7G?Hyoɨj|M=# eF>Q4+L9Rds)W_k 8HW$WFAcxa @񡞑;>3rO߮,2U5\|p0B*ؑguV$3>3ϖK#+$kL f!R;mJw8 ̣_8Ev4;yh#|G?o0{KmwD6 Y,|ǟ՞;˞J$૊Dv%r$K^*-)K<%M'=+sG קTԥ50E_rfj-\)rY-.9qҚVĨ);lJ.=̉,˗JH8c 6bX/ҶB!M,l\KJOf3 kXfa*|5-,2fۉSYt94Ɍ,.y>&Ex͢k __fa}'LO&re諮UJƵdU\Kr^4%/Ņ3(pƌ*+.9޶LQx_ܩg=_A ˆ?YX"S:ک+O-F%ot&UIg[ڒoir}Ϋ=Ő zl#%qHὊ.]zr>wf=n⋭0eMַK+ͱ+ǣ †b+,Db+l-–z){K{RįSU8 k"3ªKYF.=;pdvn5+pwpa]=3Z֒MS%3d^J7˪ͲKB_1K STXA,׸/{N Hs<2,Cv *kb^xA֥{JqR*YH*Ė2ܳ+dՔaܓG0gL'ޜA &:t×U No rmI-g r2yIf&M8C=(lCB"gZnL<9ۃ/_x"O!y_/_L ]GO/\ew*wx~|q3}폗/>_^(eJ`:+P:Ϯ C3$?yc:Oۗ<  $e/5'._TljU [͉p*oMUN7U)M7U;4~M GM WMxDxDx£Dx2S!}L(ijN8?-?.~ gco7 r8TW_o__x9{N{zj/3?]pO_? ~`HVSϷϷwiiߒ"LpHY~!=e U]LWrt9w[??{Uj|.t!Fz.~fzJɷx㻑SCsHYC1kpO0POa<sw!^C*\Co xh7k!]Ȗ9)\H?p͹n`}! +e?Sq! t9r.S깐nUp~?4f!\юB93 υts O ڝ/ZH4n'}ω?~QLo>O:NNI(yO:ήY?qwu9o}6I=^)e]HwJO57q6}[8VMVM tVs+gq{|'᤿2 <tZWVJ57/CEUGƧ- >LI^o_钆c$'#zh'Ze>w.̟]|ӹF7 M8'2ao-߷g/̳MkM!K26S7>Oiݶm Vקʖv(NJw,BZ<^BqMp R-M-!`?i}| B񸢩g[5Ӌ.F|̕BEU+Wh-mwKz}|V>W 7y"qedOVjnx\!q\qKcǣIA>Mf2oy|GKbbIfWx>br \+ +[dJy\!q\Q58h;S x\!qFo`P8qEHWOyK>WH E魏Qc(UbIBoΦVU_4W!^}n* cECm%C9M|+*:^u;*lI䥑u/ꪦWWQܔ"V~"B"Խ7{'}K}W00ԽtHa+d( ~"] 2Sd)!*jvP[j!RC< q;QUK$ZfJÕݵs7w)Ҡ+D4 ws={V#FtZr mi`Kѱ /.yNr[VZYmf nO.o[9`U^n|)ҀX\ʻʻyaw9T -hft./V"ya+B 'ZPv]+Kd]\-^Bh2. _mޞWR!IATЂKՕzFhAaDhA- Qե1B "`/"BS(BhA*(X!DS˩r "˕ Zy,hm!@9b :r]%Ѓx zg]e (;B,[%+Έ%5zTnSڎmoqo vv÷KA j!zI÷Km8|*÷IqV 9_C^։B,A8|;kץg^-W&ϼ3KϼR0μ+,/yZy6?k;C6ߡ jgwrAU1Ϡ, #UW)* + x^|W+;U'^qZ#xp9:[6+^m2qxKW8펅J^x?]'^YfՖ? R(*R%U<_IAV۞x5*L$$d$ī&1WUW -W'^5x\9җ҉W]|W]"\#x -7RW1wWVUw~u B¿x/_WNNʶ$*}Wb뙳VvD أ@@3vz h^0"Z7;i/7hL Z0rb/ Z2ixLf?g>зl/īT W^/s{[wfD TJ{.$]PEd["<`U Z#<@o9/T-iO򂭫 U @BxZ}GFOld}L_ k~,tyd UTAoʟN_5wG ր5ɑ.AC5OW1Pɰ3sWO]W2~qcg?gС$a$$+tXzݕHп+\޶\+4 wxŽ ^5W>r:x9+  O|xU4 O4.B<VXAxE'W&[y*_۪+[:)x** s|Bϕpyue!Ͽ\_䚞WQ<_wHֹ\q$÷h|bou÷J8|K2K]b÷ɰm2<|+C_u5#<|=U~x!ᕒ;.$WxBbBs+Vb!''u3r!XHzއR>|=PdؘW1M3EQyҡLuOWīIkI+$L$'*@QT%ˣ>K+8T4M+3ɣReT){P!=$^-j2jJ~ʑi \ >*4d!FK_#x^mVذdf6KXp?R-j\IE -_4-MQ8W}귾՟,oULO-\h?Ru.m]կ k^ďOhi!˷C~e]i_$Py.-1P} IY]JP5-}K 7* J$jjP]&_tC5%pw^E~*i{׋xe[>W/**ks*1C#WU#8Tt?mPu1|+}7>=| Y||1"1B6~_tonMj &^g#*_-1P֨~ '7Q+_QWk1WaL$NMj;W su÷I b|%U?|m+8TzCUoCU\y&k<^\Gn{&puzIYֈ/}t>]Piߑ+τVungr~GpggP;%*$3jQX (yĊmKt+AqPhī!߽jy?2Y$*Lу&j#@C!۟V|Udkq nܡ&ݿW|p__P51Š/Du( ء [{H㊯K*Š*`$V|6;V|V|U#_QeT_PI?z';_ ZbZy uKEnxɴE?@WG}Tuu d+jwd}.w3HS]xg!Q䖔T@M]PKc =mǴseb8kRg|M|Hv]G}nIIz+>8S+!"m pNJ/dvnI2V<aKj\ J+;ZbsvTؒ_ŖTuWidnI5Ui ;.ڒr;P2I.]50BWVgN7Nr Gƭ2 Vdn s҃%_8*=[9B /<.!q''grϼJAӰg|X=sYO2okAmT%@wҷ_y ,'IU$sgkg\Bpe^Be+@ٰ(W(3( Z&{ܪ-)Cڒ2#J nI/TA@)-)vfO$+mJ@Y T_Ts z&@-JPP9;JAډl3vn27T_TT(.YA=&!A5Yd+T(u* ^؍nxƣ>JT(xPIAld@n3=mF!A-MRW$T@g}*!yQ-" 7nIK-)1-.!yKʕ3%q S.7ޒ%1&߉[R&q2nI]=D/_zP<(:oӃY_B%uf\C[S.[pCdKޗ_2{P]:|'I^ d\.Mݷ{ 1z[QB3Lɰ-]FL"S7R{zyS垮o];z5n];/΋t n'ʸvIcd6yTʸixS28[H^㔐v/ ΋Jg}yp{;MKb΀XHLTmn2"reč{No>O8aȶ/YF󉠭xȟhtO^'PyM @;ڹ4`2G0rظv|\%;p /\R|($[q"$b!.f+,u- =#`\ '`\LUeb".439n-۷Bz _}&Gl:<T4z+4*A<dǛ@Umz#@M#@jRo÷ՖoIHI*K|̓y,3aT#@Wxh^ 1D w5o8?:ɰR(d" iR(@MTU#hȐ)&`bW s01B,Ĺ|O#,z?&}X:;>('r76.u<uOށgZ 3!H%xe+8J"4xf\< HbNBN")H-Cfo72n<w-Eb"[,H\z w 28qқ4%U| 2My"LS;iJLS&}cu/a,[ga8d+dkNr?1Kp|kga!I2IYL I^쉤Ⱥ$^&l&4L {#mzu}^܎ld4 ƚܲOmȿoeD$sy8d&Y$Y$"+c2I@&+Hd2)||eRxZX"L&OL h3)ȐVj%iL ^qdIe¤_)0.+äiٷؖDr2)º&§e$U R.}*jL)y I/c57ٯRG7$|I7p)A3'k~/ÞL H[$;| h oQn[R$$yGy CG$eGå Ip CIW3}HNMۗ!bxLIuh{.$¤EILq%JX3ަK0W3{=d;+D.ކ>9mIr-t]ui~m}^z$}bI\* /_ I~w4iS+ta>.+.=_qA_qAֵmXSq@<绱[&?J/5\:4>oYkHm6xq@o% I_OK&?k]*0]M&y%&y0E&yO$a &H=?CRG$$ﱝ$:<=%EL|OdIw CLHٷK GJK&uOL(vOZ^ao'gB&uMOR>1=cRw%S\Xc5ZdQ.q)r?3.1ϸd$qH+?JiLE9-S<_%?E^2h/a߂ߗ'ϙ=B=Ls>Ls?Fxџ*7?/9҇|j,>v_&]ΥUSҲhQg}9FrGZJUѰ1}MQIm0AX#1J};>0XkfcNٷClIŖ/+Ѳ+)l{FdXؗt]($mgV,'sV\XSkG<}3hqϹC>c,K#l%Far0;2w 8Hms`nj=]=Mrqu{dXq qu45R\0*z{4RKC#\|`:x%q6W_[FhFdR)IrH1`*g<RN^bء˥a>4kRq;=p,;rTv$(^'"}T*xt p.yBh 7]w5T]@^!z' AȽQHQZTn0~g-;PܲrHWlM|w8"Cg\m)0ԳܲF` є8Efgu`)Od$)HFҳ`*``$ X#ö,"}3)LF2d)^:0R`#otH=dəñu9 dkק #ph4#f2;l&#w0,7?'GQja3}$FD;gH#*>RW#5u[az)2|$Au#׸Kb3fg@z?#zӀfH]#ui)T*GҠGjm~N>Rճ||,#.4_tS-#! =(G('EtE#0YX kqBLQ!A픋Иf=5; \B^ ₇wf( z2I#(cJy!bB\\HH#ZE'H1`A[OIX6+%@+#°Zܜpn fT ivB[%TIF2LXH4o[y _HPjT 72GsFe$.wr [ :F*#AWm]OFBzbXpMJ))HI#*c]#%= %bӛv!}ʒ`NR\( T7]#E7#I#~xoV>R>B?&AmEd:DDST5(m\#A+î"A*G$,A`H1 dxvnSH!Wd2RSX1 &R1p'VN壓"θϸφh45;bNN&Vm1sL '62vʎl;ۜW[I@Ɲ8}޸j#5.HP4z};=]2mijWm&LOyVT@ټo7nex[HIb(264*~NQF8U:K>/ Nֲ)KL-#3LXOy9FƍqsG-v?726br+[ b(&pߔvn!};-HѷQQ 82f\Xawm!}WYηye؁To׊b+[a+le3`+;̎AlpchijRq׹shAlv"U;!4DEpr!W-w3WyQ:N}3gxA̜a1c=;ų3B_{ً{٫^_ޣTe>^ʸ}A;,׳'DG0ne>"ځG@X# e>|D:}31y'gy|Pc +ެVc؇x pw7c K`hSxj C~Lڛ?!?;sqBɀh=G9w`Pr+Y叞g@yVyB@{rseȀ%{F8$ʋob(OɴPԟ'C@#eʏoj@vWE\ \1_+ME ʋW5cE΀m|X]?þɣ_a/jT|;!? ?Yb"1~/8?/ʕu'^\U^ 8)X_>K KL8g-{Zj˞/%pq8ڛc~wȏ!ԿR[?>QNjk~:[YzgiL)$==ೱ3b_|l,ygcz!%S?C>3>sJ3L)v<);吟$/A>0L?L|g}^>ڿJ_>ڟJXQ!j^>˼!> ߠo7A~P FWߴg9-{|qqgi73ձ9|?<1/ Ox^>e_˚/"8O`,3#8Y.}d M峬w_lτx^>uϲwE\|/ዱ~f& #C>!g1փSV$j/NYV,L1}1A/|>O_]|!G|r<3句ϻ̃/gYyRPೱ|fg|fg >`SSM>dA՞\~kIp'Y ~7ȟ[<%g峒YIKJyK8Y~xhhx_=^>+B~|V+Yik>|Vښ/z՟ϊ$G¿8}~=mc>|VL2YKߗ\V~/|bgU_ G81wa/pqSCַɃWaȧ<3!~>~j?AqVmj?!?+zXkʋG2Yƿq/Ju<}ϊ7%qR/kz/˞'ʱdϾ.Xo*67߰0kFzfx_ѐ=|YGxgCpID{?+T/[F~Xo&U ef~!ǣbzz3i"LXoiz3X_&GYZOz1)=*֛1j?cb] X_j7yh}$Pr Y~"QGׯT*QOǩwo *6xW7UQV{@/#LٿGOT}Ӗ}zR~G?fwr[1F߾x3cߥ/|/QqA~ }ڟ?˗/s̹o5fػ{)? /75a~oLȦϲ!e='&>he'{S w k_{S(%@߬B_ף{fا{T{W_p{f |yg¿П FC~?(φס_!{v|nҷ߯S)=5|k:(PG'g{}`@|E{Qx列'k CB_C|JU2IaBӡN& xx&b~2K͢ la3$Iy%ԕ#qyFr+asU{QF 3R0t6XY>v%lNҏ W3aŒT/;՝=^˂9 +eI:g'O)-ՓƤe>eGbpovzAA jӕVVnBP?ElW>CPxF&ktk3r}1AKPGsuIb6"i_ ⏩($F?( &)hOdIAI "?K qbC}KnƌU*HL2A~&KҢzV?UGgSX7`ԣG䨬yN eIZ/2utWwmiQ].7*ܨp 7**Í*iҍj%WXxvnSyo3pMnT pr@)0%q*Id]3:ҹ'p1|I Ʉc- 5J gg>KR>]$R~>M01C~>P0?r8٧I S hguceB:8OʏDoJQ2GL: qPxrP(J ACF$G2YڒfK 7M0_y7#IOjv7- XČ^n+G~R|.O)t}u\7_!?Lk٧CIS^eQ\uهRRs7$.9gK.]nE4wh8zis|.^­h_[Qϡi!WQkaFۗ!K'C;'5o8 5gQo<EF{|Z}NHḤjGSSGq6ySGy/TByzwZԯx*=W]ǬVn_?ZMQ1>+ݪ\ C??F+S;,k=S-LDe}h_ƟWה|_1B?_)/AkHmY{UUh=0${UYW{UIW>ܫzҗIb>1iWR+K墤]\#%~EI%(>sQ聩~:ݢЃ9pR>ϯi?E }>C>9֏Sq\?N[IE%a +>"y䯅_WnAKُwCG?Q+!O%K_C^._?'xd_e]YvoOmEBF@5 S~Ŧy֟{\qǜ_K/~ηi_vyKUS& =!G9%U_?eꞫ/[ejP}i=˾UWK(BٟBٗ+-e?J$^ jWOJm \?N{2a =ϻPU1?*ͰW]o٤_'n f*8klQǻKWy4Ψϻ_eio9z0aT1/ٓ'=҇[?UCoa_&ycTCgUV/_a?[M/On8-Cj, <ӦbQ{/6WWͨ[s>KI]dBן+?J֋]󱿈H]֋zʾe[q9W~3t=k|j_orʙZ0ƫb?"I_̲S ([ŦԂCSjoj~#{6<,*ҏ]Es+x??#sM ֋OQYH1ez'l_3kz^eBC_cjOk2T_/jCdj?Ԃ}MPu5/ UG >3T]3CՇ&3T4:nKrQG$/G2C+C?3T=v>K_sћyfH>XCGO£QFMW_qTv49/ܑz++&嚞o<*ip4~|r {4l8#\Ehl̯U<ʮG}ҷ3 S< Tv3pH%;JF*o8zl!#R<>|0KQT_aOdj1/$o"،Gw~b|&Rq~!)}ҝ,yszIYHJtpFR4>}VIV2'Cj#Z%z8G>EdQ8*8WGmG eE%g7JUR(:rԤ1Zk[)Q)S7hTF{%S7(uDHݠTy uR)T4J:)3.}+Ru -n]as[nHlH߆?OGHczS7 鳂@j=Cj(y#NH@Ꝙ?&^bK9K^3J݉FojhJ3#(urvFyE!MH}So;&OBVk>x꙾UUƚ/_m=MS/JhkF*2z@Oc}KMg8_Lg })L<[53F(osׁ|yV_1Xf1HCE|O8[_t`(#|AF|zF3 ע@j$/}_ 9i<[1ÞYy٧}J*ƛF`ΊmL%7 [;'p~8_hrF|V*8Ԡ1^gj(gj:ߑ ˞4~J(#'H=?E}ϊ!H=t(#>y|5|4xx E3i2 yLeeG*HmSϤHmӤDÿdj>R#'\JSfȏS{ßT330=T |H5b?n #B!0K>ׇS>4^ej}r}3!a _285m1/0^cˣ,~~8ӣ`y0z>A~Wy& b}UkYJQ*jA~Q}^QT_WcTC^Qx5K{<[-ԯP_~aA*/ؾ`[]+w7IUSu_䑯b=Omoy Q +Iz4WS䫮W1:ꑽ:ft||Ǜ~|L)0k4c~? o1<ƛ1Y14I/fiMwV?"^[*xJUeKs<Na~?~8oMxӐ'3FgKy!y㵚>g>㵒/y--Z%Kbچ0V pHې&QSL#+qO6yG϶tuvIWvk_u#UIIvJ\jz!}q l \I\Z5}sKⵯE-a5p0,k_yYhVoi]܋|S1[[wލc[[1y r3aL9N4R 9U2,vnd7䫑ypu2琛,.X^MB3V<}s5r֠xt4+n5.WMsg^5⟘ytS)nj`)\5g\5˭RJUjYU "khWM/8AuWM)52Nq$$߶;K&$ $~&ɔPPrA2- $H&&-dLL)9 (cցd"ɨ$S 3I&Evz$xqpF~Jna//XOΦ (J %(LC_B/=} g^_͏-N2&C#[)"$^M92N1(E#DP Pȡ--wC)LCI{tnd^qQH})*zc =(E!L Bz2O)z2Y $2NU)w Oiږ+fNԶDP0㔩W{R9aW<T.hO 5DyU<cK<cQԗ1*FScf gJљ,Lrg35fX1󬑛9<Ř^)W co0%bSയIb4g۳ƙ*3I11U99Ugb8˫оUW)O[RO ΃d5IՀ[RIFEj w߱<>3gtqy8%?̕.P7jݜJiD˶9@O \>48>^۲ܘfRW'_8u͍7oK]y=]rU<|geѱͧN_=˥>ux#gyyTK2EqS7O<`Mݯ^<աR4U!hnڳh=I׬%[g1%ҞE^|ƖlO]^TM1 > ><<`yI $?ݰ "rG3]-~Bd.IpAU}pAUM W0fpUT5F Jl.tcP STr*aXw0 ,w0쏌3.D8ftG4 7*qeX`kw5}y'ӳ-F<*F;ӮrX=r# I#Ʉ`NfWHL\Jֳ)j +`3Y%U2X+z3YZ?6!l.(rsl\#Umff^V5Y4fѫl`wLQ5 n2,"v<.`6 %νֻ0\p~2 SSςUVIxv`>I5hBPL/~W3[t7&RWza:9ۇ->OW7iq;X|E]MJ`7Կy6֏G(_I3SRe"Oe -xYEam Vyg# W0dzc>0^8E2Ωbys6ݰfj;cUb>UBY7RdtKNV#Òt\27Wwb/I~B;<go5S\::7}_™Gq:c_=)גeL;cT6XEvVW>d!D7JY ת>d0].(, VYrUn/;N΅P.Vi3XJ_JQ)X%KD9J1'M.knɮ NW邪nrT X%ޅrPY\WYe,۝*5FMUxvnf]&*I݀.DO#{e*IU΋rq|tM$r+6'=P]\Q 6`TO\a ChkstG T?0EWot%Ї]:R;Q6=wowAmUkxZAUGT RrwE*ERqXj"UbPF>ޔQ7yMEC6Zs e dD7*5JmcDVY0UbP*CW|h SdlV]D*fYo_L_XUM.7G Jje:vT絮E3|GςUU3Y%KX%: V2XI.XYg*X%VeP'm.Umfʐ\ʪ܎*]UVz2X%RXW`*`"ÂU*Uԍ Yg*2D-*3Y`(T)VRR2X%&0X%W`f``GUReJ4d } ^W W諨` -Ur!p YEu!pNPSiBV15/ ݭ -\.dR}!ԀP?m Y`Xd5UUB} Bzg+Jzֳr;+ח$J9d``&UپuhUW`GϾ+l֗z~q<(/GX屺AM ȕc\ֵJ8]pASeU+V}zr?[s#BV KU MU)#}*I*Ub*$JV!Vʂ. uW!OVJQe*E0oӬUV JVYp-eτ`^UzVnR*lUj %r*IJ/]%xvlꁸkz uZၸz u{\e/]#\P\P(]Kz\PXKע RC}.wW`Vj *p*M2XjT%20;X`蕹 aVU4`x諨`,Uuhpg6gb|=vjxuyk#o$p֥GZgb5<y#o(x + &W@#ZvA&Xiۣr=ʐNfL.5ZF%*`ֳKpY% V)6J*3׹U,XNXWU9m#&VΓs|*%*czӒ`3,XO؏wVn9CVnpr? %w_9I{Zv*Ir$io@ _[4])]lNB׾sԍ<A0Ny_NVQ)dY%`.y:Y%FuN}&CmetN V @#I}xɶt:'MMU䶝; 8HsS*19'\.yّ`5*r;4}_V)W'dqa0j狻űe 8'%U8U&X>䜘`Zd 9'-UsJUvqlsR`NGs>4.(ESx$uN Elm, ڦX6W22e쯈mElU:ZPYK.hdHPuASMUY#U J-0o{U9Qڦm*dElmӷE6!vPP+8ԫϦ !W1-i4QR(.4 112WKc@u\hyp>Ǽ.I,ǼhcqVvc3ɿBlm.x. vvT]А X $*S8zȌu!\<J4m\$o{2-FVITnǼdu4h䑾pNLM4f:'1UFgok#! qE@O5okuo.(l.(k`vtc>}gݼMVns2۳kNol~lѢ& mPYZq~7Bp HRA#Y@#Q4U4RT4 ij@#Uq z퓿Foh!$ j67ۖ-k*XTy#5N\,jBE)!HG ʠ*AvF i$3h$1t hgȌl-*yd x#IMo+.c$ o$L7Vơ5*~7Jo$dzcF !UweըFnNFUTSy{JQmt]I#]5H#҈4>FT6$[Hn釾e*5Ŏh GF<>ݪ*"iDMFY4 4t eꥑfK#ʊ|sƔ!]PLFʚW#*FZ$ h$H @#UrmgJYhd1FJ 7b$$ >HFث-Vr{7Bϭ!?7z#iF7m j  5z#)*8+64BץFB.h$WUڎyp8'TOQ꓿K꓿VT:RTj2T4悆J+84 :Yow4L:hid{݈FRkX#Mg:ӳFQ7RFrlv.jC\TX 5~5F$H Ktb}BvlNK Qxvl{#Ś%{#)`|νG*SR3m)/5FLr~Ɨ x#S0옄Fb[>a9zl?#\ŨXDY[|[xo4fH&7 y#Cp_Y~dF ` ш*2䍨p?xvnt-CPk!l#Ƶ,kZ!l#h ֢%7+aPވ͐P4fHQS 9il;4Y;ց*fA𕺁EMQ QSh^qQ#XL5*+Ff܏ٔmVi|GGCGz>g1mZчeIǼ1A[7~́72܏Q&̠*fbTagSHB il\Ō(ݽ# v2Ȑ HWSp?/&Qi2T bmQc\޸R/T幽tFo/Feߝ6z#aF}I#ow|7 ?cI/7cߤ?÷_$ov??Q#̵o÷۟ tCISڠg_k%2wUai`uy)&] pY> a{6Z%U 5(>͆ RZ6`:{?ʦڗ;~|.N(a' |X )'NHzL̔ `9` K’9Z'<6(áJ9+)(9` ŋC(w$~zB=RB&vo꿗VW }~NHXR$Ntz%I~Bf aNO>[>TrtcN>nϜa:ш`;<*LXR K|By+  ϳ]8T?,<' `'!XT?Bo=`Qxyk_yo0=gX)Pi!,GH,gAjR_~qdRnPԷBiKrd'F ``<`F9_!50]wrzdm'F ѸB;lRUB* tT+laf'wKaɞN(JA#dWXa>vB*X T+^!0ݨwӍJ_.tN( s tB*Rߖ6GH} Sv\L;stwr\=zvwKqBWH}{2#6tB닩W( B?+#]!\?! WHGB?`:yP?T+vR^B%n R}KWH-_!շraI9c_!,)+ R}W8trվ s %U>BZc+5fBZc+qfB;!1 ͛ e BYc^as$_=~a:?FXpر\;%@~aVk ӾkBX;%۸Ctm~J iԯJ idWX sUNWH[|vdwӍa_aCXr;FCn+,?a1v0ݘwSt0;ܡ]aC~@iWXa:w aIwXopҒ]!-YҒu %]!-y|lwSaiwXm{/_!Ұ> X>BG? awXp!>v i?B.=!#R\!>;WHtaBWhw8ftB{0aB+(Xa\ ’aB -iW8+trrfaRp\aCBќ? "{~tv 'aa:%YttXx~sV+䀦3#GدGHΟ|0]{00]K?a}{p|0]?a֮<!M0 ++d(@?w8? tg FaB +TQq9WșӞ_iq#,WȉGخpa +~@N3~rq#X>Bn#FGH[\tGXpaGHЮp\_!'?p~\+֏}' vMKA'5Ώ`50#a;}+dJ50 %wHӕVBڪ}q8!_:qBNo_L/H|= <tNHx+F:dw5E0P+FXKԨ=WHla4;9t0]']!lUnw[~q0];<`B*a*#}?@=JCRޯq9+ jC;a~q0];C='_! >lG(}R}{La6GH^!7;zC;ze N;aT+wӍv0wӍqհ;<=8\~a:40Ck!lrptX>|a:8Cn>w[t #5RBZ#+5RBZ#+qRB'+w8ܡ; 3γ?`iws4λ@]\ b.y-DqaK 3;L[ހ!lVi|4NWHv)#rC*PWH[1WH[tUWH[rU?inV_!mUVծ i ZB+ZBڪՏw[#ڸBtm~a>BajwyU{p\aC;Z\!-9Ғ#_!M7@Zr+%GiyU+4;LWHZBG[~U!-i#ty4|#F)Ӎz0hwخv i9>B>ByBCj`s aLX>B8?}0/y.p\a'+L4{*WHV3aB&_aCB@Sft.L~i+)H;|ML~_`y }=:0;,WAɏ!m5_BQJ 9F5}U?aT^!ǨJr}؞+䐵V fY!l+w8>B.;WG[v#OAnaB`Bh*\!w+G[r 9ӕvV B0_!ʯ4ݼvm#W7rk LWGH[;!m~rncaN}KXz4|GhW '+,#?+a6wh!m5~#GX.׏}UphW9ɥ ?Uw?[v#,Ю&`;vO S]!YM>v9u덇{_ϙrķzl~W=N{w=xgDxqvJ|xqM|xM|xM|xM"+oW%]1xns_Tw"7E⡇%H<ύty1C|`<y1,/py/]HvW8y1!cGE骳O#]xSHnLXo,]~ո>+jokfƛYS~_3Kuoqkfj7k&_q_t55KW:k"o[TJu:pJW:ƔtR٣ԯYҽԯҕgԯY~"ȇyAJ/t%=t%=$pt%=ԯy7_375tM|]Sb~tuO7KWRj757a_CD<%"|\}Dσ F8Mp]"IW}]"IWD"H=%t5M]j"jl8ojtEMD%MȧtE&"tESDǥ&)]MzVsKۧt5ϛ&-hIWxv|JWkKպ>D=\զ7pO+]ҕ<.5t#R`x+J<%)G'D@<ҕNKJtEqK (]t`XJW7%rwyD@.+ҕKJljyD^>.5tRҭbx+.RNtM<%~M?&~GoX}^uHqv.ɧt% ..<.5t5Ojt]çt5ȧ3fJѥ}JW)]Q)]Q)]p9+"MR7 ǧtESSͧt5Oj$$]S˧t5O)gR(DžrhV)]SZrJWk)]SZǧ'ʹ_v)]Sçt咮]5\E.Qݚ.QZ)Q)圖-v͸C>3}JWg$hrOhra(r.#]]3\C)+^>+>K{K{8%ʹ.Yʹgw}%zRvD){\BDs}+g/s)|/ǁrāRI)] y]@.q4RsM+v㦓]f#gO)]QI)>WJ)I.q7\j)I)Rn9d9f-3ϑ\_(]s<.q6t5Ϟr%"].p3%>wʓS"#%a3/./xRrʛ"JW4/GJJ9SR<=˓Sތx #%)!"'% bO9\GD)Wʝ%~bG)GJJ9Sďz<x3!@Ğr3JS{ʑRΔ+NyR-eO9RRʙr)OJNy3ޖ))LR'%1=HI3JSf-eO9RRʙr)OJNy3Sr\)wʓSތR~_BJ9S;I.'x3Sr$p)OJNy]=HI)gNyRrʛqd9RRʙr)O`=HI)gʕr<.pʛ[ʞr3JSf-eO9RLR'%1{))LR'%{KSr\)I)oR#%)Wʝ7#=HI)gʕr<)9u)GJJ9S;I)oR#%)W}˓Sތ)GJJ9S;q9ANy3))LRnf䖲))t9r<)9x[#%)WʝD9=`O9RRJ\)wʓS^,)GJJ9]p)OJNy]n'`O9RRzr)OJv9Zʞr$RΔ+v9Sތ)GJJrϕr<'~aG1#~#%kzϕr~9/9͈>ϞrD9L\N_fD9ͨ/7w>H )NkC="e)/tqd5ߌK4RN8_ ;IWB+OJNy3RKS~=uH)gʕr<)px3Ζ9RRʯgN;I.x3[)GJrr)Oʯ'ތ4{J3}RJ]'>)9͈mGJJrϕr<.Ix3q}r l͓]Gv@%1#R߿wߡo̮cےr$)WJS^Mu6>oRN ;yHB}ɀ=%Y>)tǝƺx]b]G)FI)FRn w:"%ĺum[qrnu :q{uĽº]"a]GD9Lrϝ_9xgﭤ7cߛT;)p#n8}R y3]VQN9=2T >)my] ^>K=" hc.q(x(ru7{_x}4rDu4(KԎOȯ.?WeAE_>\^pzoq};_?(~3' />rD'Kx/9surt1#~_8iKt@^.q ӆ9}bNd=c?G~ cN[9Ss{s:_^8?v85\#~?5K<ݱ}n8Y|vY|{=q_/>YmS' _Δ߿>{"ʯD:=C4 1DuCtʐ/}e!~kt_cc}~=C ۥ; m{ }/tCnr QW?"?4D9Ǖ(GSq_M> .ON[v $fijӟOs(S9ۧsP6'ڸ> n>%`D̖9ӧtb(m6'D̆Mb0G6n)m\X RΝ>b1#JwD%%z`6ml_Em4cá~ġ`Zrb)`Fp 8ڈ߯F%>%ju껿OTdpOq\.]N. ./"_>x,~/ ]X}y!ԗ˃>M ѤM˃~vxa9 $^lz`KTG=%^I>}/,>rTG% 7=4DW>s?I%$]O3"/+CCtth@_}WO1?A99KD99K3(Gx/7^]h6 G|m|цӲ!wZV"~s"wD|9C"g6O ц!зwC|}?7Cs3D|}?7C=?z|~eZ"<%&"|D^M%o,~/7'fD޻,wbC.5_}ࠬ oݧx8鲃KO}&'ἩK|/&&H"D{7#&]#,M.5~df,<0$75rC8M|C8syRrʛN5gO9Rқ%NVʝD}q=')כϓSJ\-esķƢ3rﲵS79%Ox_%j͙ϝ7H-}ϑ<.|/"7K\~sZDN)m9\"Δhc)ϛ?}ތxo4Kg7ZoǙrč{E<)Fyx"J|yˑ\28S7%< I.7x3bFD )gʕm&͈mt#%RRJ|>OJipTbZaF) >%j K5͈JfXK+,Ո%wJo>98pT#7%`Rs6ydHXT-qsT#7|Δ?|h7K\,ՈcURH.qUTRJ~|F>})h|7K ,ՈwK5 je48<6\,Ո%.jo'eR[өTSԫ=ǘ}w͍ClTxf*'1fz>5g|'~jo=5 KD|2޾|),}͸ܣ0gawac[sGz>L<,,l=ϳ ̾<ŭ0QXX7ū>֎|}yVXYz^wF}˷ǷǼs$ϹϏ:ٷF[1hCc?, {91vdc˷X}k?c{ٺk?־cKD~[+g`N1G<}kM~~,}4̾ok?~KmF&/_kϏo{ϷkXoL^v}~c󳟿}#2G XY`,},},}۷Ƿ[[}ǹÑs"K?G۷uoJ"Kg }s5Z]|޾ZU:oVLjcDW?[?, KS)̅Ɂw+,L{ܑ.>Vd.>f`ǽ0T}}  DZk} K?886Kc>b&c1#"c {80>qW}ȳo\>0qn,}>TX=է0&͍}}ȣ0葧 {8q>aǾocw}MGߑWa飯ǘ}=c?ñчӷ}\Xh70`?v"G=[h+2Fz?c< y/z?c'2w1G[gg^y>b} < yFzxF-2>X`< K|"Ocw[l5>1{a1TxU}Xo.}8&[= K>.ݹ00o=AчX}#zon> cɿwYx@fz_)(L~Yxoz)̾>ju#d,G^u"cqܻFz(L>Yx#?E>Lj|7أ0hr=a>a>w KSn[om321ȣ0葧{7qMzK.w}0w Kx}ލ;Kn{4FynS%w{70D>`ƒ[nhOo={[{76K~cX{7ocOzػ}[3͍oc|yc>^|ocM{}'0mG|wcoc䟑ٷ/nhݦ}}[{rg|[#l|'g:CٷxF^xz~̅G|15]2*,}|%?׷>-nIMLjG> Kx~սs󹎗o= KGϫo=~s3zaG<%o=q K[g\z K{E>QacS[σ1[σn)},=}ks>ǜ KkE>?_x#>ZzjkKɑo;n}k{oO^чo{kҾ}ҾO}QXY {/ll郴okس?~gc{zhس?~gcKCŞ=c{bXŞ=|kس?~g=Xw̾_KGcɏ+Kx>±?"}45Gƞ-}'쏵OǒȒQd飍C~ =Zc^}xճozٗxE>ճE0hhhhK~ޑ%?S`ovI9%Ñ}M}[Zͷ?YY8XYXYYϺ|k?~0"K="K[۷%ő[9ݷso琱_d}[8[d?odcXYYKI%#KS`O7'|:>YY J~%?l,lWO\~}+(L*3177Q Ocwc̅^ݍoy{1ql|s*yx&W3/]wd6_1G. ߷/Ƚ0Fy^"\X7Qm{azVsvoT7)̾=ZGa2Fy>q sa}VI0K#Wd.>fٌos&cWam[ۼW3Fk’g7[))=q/,׍Lƒq[),׎|}c>Oc=o?"ocE[z>اo=y`>>MܛVd< mؽ(l?)̅MGaǘWas?)̅M &?QYx6}ąϋ Ø xF ߷GcØ Oߤ^ƻ)77h{1.||w5أ(-4^wSXo34hn< oVOUx>[ =Gƫ.>+g웹}}O(LƳMm| s{أ{Q}t, o㻩}3דxTxf2ޅOa/o|}o0ӷ~?b>ޅOa?؟_?cSi#.|G?/؟Gar*}c.|}| z?˷wǧ0gO1Fy#sa{3v/,}4؛o؟waNd6?ێ܍o؛1Ȼ0ތ}}}?#ԫ6:3ٛxwUxfS}0Sa#,z.||l|]jgL%?}UX|ٷ'}caȯ?Oaa޷Ws}W/,ӷZ۷:%^7Fzޛ #^G>"_[4[’yYXyK"o=s[Ϗo=/[ϋga]XY/=_'r7kGkEƒȒQc#2wy[/#, XرI受}O}Ǥz#< /§0ؗ?} OUx>[{deQgUx\䟭p/lO*<}3]6?//Cc_ƣ06* MMga§ɿm~qZapFa*l?*  ls/< < &?\ͷs{aϻ ˅oq/< 1ȫ6>}½0wW/]f[{QE^)̅ۺ'C’7'cx>ƞwQgUx#̅؏{aLz^ƻ)77$^od< ?է0oc?CTx^ƻ0l|scO>o{, oS[6c^xKq#x>ƒwpy| GMƳ*GmyWd*_Cc?ȿ",|+S #~b/1x޾1 q/< Ko؋O؋~l'r7Gƫ6F ߷ی cȳ2Fsa﮷ǽ0d< ˿)bVܟzSի.Kۣͅ^x#/E1ȧ0#L͸K0O׬Vm,y#=%?x94^~]#|^0SaL>Yx#o|0wGXofc{v wc]xvVm #7no_<0Uxzsaɿ9mݷޯ;;2޾>SܛY>eȣ0,|w6>onCk^|<| Ocɋ:Vs6!^ #۷[ah"c;oYXO؇'q/,L;#/[al}zz’nm,y#saOzcK~-iE˷?[0}{F[1>| Kq#c;8}>|L%X1y)}FE^ƒǷ/[Ηu>%/~☌%/~xm||cFgaɋ'8ƒp̾=c=?÷`lc#`l؃Gw}|}`#WكxEb=I"/c1f,yFƒ9yK^ޑ%?y,.,yy͸F~Lӷ^ƻ0l|}yf Ks#,]XoO܌{a]xī0Sw00#o Kl,y7dx%/t|/6>o|?"O廫)-}{H^<z_ƒw3}wEƣ0xF~_0}ݍo1FocŖS+_l*,_X #Wx{y)2ocX7Q #F[~?`ŦXGƧ{/6Ȼ"oSygtF~RTzwWs6ޏZMUxK^y~3oc(;4^z[3ߟbwcTx#o{on{< Kޮ{/*,Wl,y K޾#{/6>~b=:E÷Gdz2FF~{Kv#’ދo{X{q {/6#oo{0{o_{0x;}| _1|>aLxW{1F V&0&C=Wa푏1nh%~k`2o?c/z_6>%/mjP7~K1[n-2Ks#’0Ksf,yώ< KcȫaKq翇1FyK}#co#%>TxK޽"ozo=sVyGa=4FyKu#saɿo+,y%󽳰]+6Fo9ߡ.6(]= #oS’W~♍%~1c+O<|o5OK>[.4þz~sW{.K^m9:|a=^z~w_{.6aF^=?ؒwX,y\h컡=[%1Rc#2wEƒXv}ya=}Goc{L|#Gfz>wƞk7r7#m'm;6mEfcf`칦=yGd2Fy$k| mC{=71vo#oL|>ے96|"K^=$/Ȓ1 #?o{,[y[hԌ%XYVa{Vdob7ݷg}n=2־4Fƒwsdɻy}k[^÷XnwDFޒwi~0&ƒwȒwXY.4#oLc;od;s Kީ[[n,yLƒwRd~y>#o|]{%,yI[x~}b=DW~xnj2xXcɋSۏ%/? ؒK}bX~{-ۏ??cYYv-ۏ?;"#cͺio%oȒio?K޶"K6#K}aX~{=2j_ko} s->X7g }q|۷xDF^gMZYYX2k%/[ogK^>6>,ޅW\X’pa,yω<%ّ%),yϹ|F^=`Ŗ{-6K^Xщ||c=H,6cF^=oFd獽gyc=%>-y7Yl;Nd6c^{,yNJ<ɷ7[{}y|ԣ?[Ye,yc,|{k{Mm||5_zgW,mz~g%o>-yYlbKަ}ygiy#c=F_ޮϗ/2O1G^[|"c>n32#EFy#of,yFƒ94||"K^٧}$/y)2Yy|.z> Kޣͷ’0Gχo=Ƿs1z[.cɻoc,y7GWt}~б}̒*O2޾I} #P_͸na,y|i,yGK藺]]+]Wӷ?c-}$߼%iS[UXNퟎog3Fyoȫ}cY=־~}c{7cK+%{,6jc?־o{c"KޡbŖ#KޡbX>{||kc%dž=y_kcEƒȒkc?~bKޮbX{,y%oȫbX3Xok7m/׏Okco{m5w=仫16}|χpj6cyWdk=Xoog?##9k>G7|̑%/kc}[X,yY[[a-=’ht|kƒSovƒPdm|-׼Yno "cɻWdɻ}k#nݍ%ߺ%Ҿ}e,֎,yٷo4cɻFdվ־4FS:ǷuX%Ծ־xKI%Ծx־x#_,yI[ͷuYuo.cKYuٷu MO9xghxɱ%|>^ƒK^<>~L69F^{u׾Kcwd۵k?_%oȒk?_?~#_{i_%_Ȓi?_?~K"Kަ`oXj֏"_^k?g/_1K,yYX÷$/kk>2|<#K^>~ec7ƒȒh[Yco>-y׷q==2jGYn,ƒoocX%>>Xn[i,5%:%>XJޥo0|kk;ESord;Od+bO{I>3%gGy۲I>e'{ٳ䕽Lyt=K^}]ӷ4o߾5?ƒo\cCcyG7|cEC7(H#KޡyHޮy$y[K>5/-cׇc|y~yj{ǚ{i>k^쭦~y?{/I>-ƾ$|Ϛ{ ROUxb{7^x#Eƫ6>WǾO31x"͸f~aL_Oa66^xo~2ޅW/ߖ'HS= Me c= wcxFަޅ1xRwd< /c'=c.Vzge|31ȫ}Fd2W܅1}gؒwžMӷ_ǻ1|Doc_X+QoE^۷O\y~b_÷Odz0}ľ}Eoc_ŖK#Ul2|#/[c.,y7Vd2a_=ޅWT{CݍGaYx#_|%<=cVwQX4tO^ƒ/:>{SwGa2F>oD>[ ՟b#d,F^ƒ81fz_=[ؒ~`O^7#cS?}xF^SWTc,ƍ|ƞzOz’w}zS1Qd2Fy#_|ٷ?՟K~#c94^zSo=oǽ0ycOF^=oȫ=y|"cɇ_8ƒp%~ᘍ%~kRc=x&6>o=Oݷ'cr|7//z=[󳧾}}}Էo=Ϟ6F^=OZ۷'cI|yn<|yN2||#/cK>>K܍%d|32F>|oDoo둻1d,΍%Ȓym.,yi%:=z^g/z^gz^f|-0|Fƒosdɻ|[χo+y%[N[n[-#󉎇󇎧%/}/}7Sݍ"1zd\XN= Kީ1o=ӷc7Wc,|~yȫc{6|t#K>Bc?c1K>1Qd6Fȫc?Yc?=|DC~ 4kO(2iKO^g%}c?=|#Kޮ}c?Ŗ]~}kO~y_ȫ}c?X~z%_%_Ӿ~b?=oǒȒiK%oӾ~b?=Fz~z|-[oi|6>fK}쥭8Goo/[X,yYͷ9%Ȓϱ}k#9nnB>퓺o퓆;7;'-'mcwvd6|gh>0Fy #97jՍ%ޑ%,,oscWͷ[7]ߞ%}m6|k>oi_־0&ߙ"Kީ[;l, ̒wj,<4^ƻ1 |w6,l]\W^xSi oSm>n^TM΅M |c6=x>\c*l*l)lgf>Kj*<.|}7գ0x>l|sc=FySi oSon&ȷճ2ޅ1ocƣ;M |FØ Oe c.lVۣɷgaw&6g|L>}#c*i^T䛫;MɅM |,)7nƽɷɷWaw|߯9oVd< /]|3f_c*\? ݍGi6>>>Ͻ0xo[}}[KMxƧgg1O\]saӟxSi|=6>ߟ?}}џGa2%/ǘ ߷H>aTx#߉Oa6FϏtƣ0#ߊwc|S}sc<1Qi ocj.||]= 4Fyl,c<䓿OMNe}1maLObo[_߷wb#~`&[{'4[?c*<%_1fz߱K~"4Fyȧ{'4c䛑1Ozȧ{'}1Ø|y K{1|xމݍ&YXͮ{)|K}scUX[8ЭD oN!yll)e_?Ћdwy^p];Yu#q}ɱ7Ϸ!g\d%W~ W?\ψ|,[\J>#N77p}yVGzeo;\d'WϽr{/_~>e엟Wz8gvr3<{|S8ws ޟ^;O7gSol#x_o}g o6x?vrlySy4yǸjY+޿?~Lo~~}v7g!o>k9{}oo#߮}g}#~sv'ů(o ywB7<.};}G> ?w>+d'͏nd!\}Aond!l{ Fk'6dȃy b#oczN_Cn _d#Wv=v_md#^O43b!l;9.orvsXb%y676yh%Ń\7=OG7r/t?xx~{|o:~qXɶ6>_3Ond!߀A`۵oJ_/gy]K}`F_ly]ˏ,wrC/gomߟ_>_d%>߶ ޸-\\p?rv'>5=է?{~eY.~}~o`Y__rSGNVrQ?y}o_,Ϸk_1_e~ Wկrq'W9wr۫c_9O~~NVroW?=C+gW?\W~_r8 +gg?}e9W~[˲d׻e'W9y]־rvkg+˱7g/׾c\_}Wׯ_+mo\Ws߃U}zվ}e9,WvO+gO}zƸʷ89pyA~7s̷= B{<]co;<'g?C>'g?EJ~qqS_gͶ7o nq~,g'g}e9ľRO'?VXٯ>O~,O}r]J<,gx'8O~}Ep>,g'g?~q'N~8O Sri8O~}e9qrk8OΧ|j_Y>8O~d<'gSry}Oqr{p>,gGO~Χ#dG'9~Oqq>IGCO~grr?\} }{V768~m|ogܯw~_[=>mFߞ}|[t2i#gA_>ٯf~:F_~ 4FO~}Z'_'٧o#99=['g}k?yЯAG}WɃ~}to?ﬞ}Dj2'ߖt'~mMW@AF?r FFh'y'98Eq?997of߬>7Ϙ'g~3 gR{'JO;gܟ+/}}j_ e} }Z1#Okc>-4%g{ViOѧ99?}<{d?E>>}}$tGOOב?;}z߳OG[ '߳8O>d'ȯ}__C~>-ȯF> 54# ϷǝL}.dBc%y\ î}d]Lc#˺7G/kYGd%Ńx~1}FrX}VN_/rX`8ȃy۵,y"?d%Ńy~Gqv# _d#{<߮}d],N֋<~q|rq'+.d>R`8/VNߠ>;Y/6 Av#bԧaAvr\<߮FrX'/Op>a!w^lA<ݱrq'+.d'ԯQ.>_LicooCndb#S񋩟P\L:bөOSS?>.~J}T/~J}/>}F\L]LX\L}b3oP1.~ Cvb}z1~t~1w}/OOPSߤ>]Lk}h#_>}F;Yv ;oƍɱ7~jvqyp׾Wߵo,A>k8/Ve'޸_k77;YX W~{_lo޸o#˝W?_St'<Ⱦ7|{Vvr# <'+'N>cz,SGٯ>\wpٻÍ,#'+4x\\}8sF>c}*Avreemo\r'W~޸7xȍ}l c(} _p=jX>' k1οA>/؊b9(λkX6rqrQwsow]ŏq_,+η v־}WWp٧q38S/n\}:乷kX> O/~b9ίb'gy~\}Wri'W_>٧jX>O> Urivri8/O~p^_,Wvry~}yryp^_,gO>ΫjX>ΫjX>8/vr~_ox{=Oے{_|Fy4o3^}p>O|7#ϓ<"ǝ!gyL1;98cfc:-:}!W}}EG2G_GѷgEFߞ}}{'WѷgFߞ}:fndF>}5t99t~:#A>d}}-}}-퍾V}Ϝ}$_>з6WriWD'g~O4}Wă~O|\d}A'cd}b9T&{'db~2Meb_~}}f mo'gvr #>>sO}f _L_>_-}j百}jZ8Ծ3}9@}F>Ӳ@3>- ig ѧeC>F>>} %} }$Hvr1ӳ{#gE}߳"7rQ!#>=Ofdӑ_OG~{f}:k#G}-}-[vrӐ߲O 'i?OCF}Ӑd;} 2|gy=T}cO#{>T|y!g|3a3g?Fޙ}>wf3oOvG_>9opy;y5_G>oT;}r|ިDӑyl|>!_>6ײ!_>|-eC}Z8G?#G_\}Ƀ\}p^{dݫγ7rN>mooq=yfvqyj'W9 WÏq~?,WW?yqΫjX};9<8>c_WÏq~?,k|Нq^÷g:+YV;<էsr}t@wO༚3OZ3}%\%W8/qr898Ϋ?88>coWokyi3p>əg|tϰ|۲'W ˌ}l} eA>8p^p>ȕ_N>8Gq>G8WrqrQ;9(8>8hN>8Prq>q>!gndr8{|Χ} O=!c}H7ΧQq?,gQr|j_xp/QryԾc0:_t8}ۖ'4o_/t?ت72:9loe@srqr x'C'(72A>#y98Yȝ{Fd|;rX >y|.nd!6b#y~;,~~|6_;9C>ond!G+coCn߿o/l߿ym ˯6r'F'yrzpzrXȝ\'<'y ϷzbFr'F/'y]GBO6 Ao?VɕN6r\}]??J>y}kG<߮~e!qվlz=A>?j?8\d%W/,K~pz~RxNra?8JS:<~qQx]ٯ r ȃ\ W(~ 7_mz?׻e׷vOnz?ׯ\}p ޸~,ϷkP?\q}k8~[o~]|\6r'']}pߟW0}>+|<Ⱦ7|^?{`Yȝ\F.rUF~}~ɰ>.XF?x^/r'Fd'>/|wJN9>gN>y}Avr썟>}`,~~jXAkXnd~jX;9el7~kXk?Xnd!W~;YF;9~, _d#\}c8/V8nd!w^lA0~b!w^lAvr\L}:bөO׋O>#>v;Yv SQ&S>fS>FggPAǸ 38?٩S/>N}|\L}~~㹘~~_L?A?A?S>L3)ԋiL7/y3_3>v;Y/6k3o.r'+ ;9.oCnd?gl<{ >clwoCnd!W~9YF;4xmō,+ȃ[}`y=^zE_Xȝd?5^ F_w]\}Nk;~j/ŝ\}p_^_y~/vXFd{Ao,ʯ^lQ W)_n_˺y\wΓ~_O5mo}o_>j]}pUF~}_~c'?q>[+we#p}kޟ]x,ʏYYɕ< p<6gq'>/4?/8>U9vSY<_ >ryW\+>'>ڟ >n<8> >CɃyu>'O|O ++|Wq}Y8Ϛ/~0 ?o-<>7y |_ҟ 8?| q^Ǖ_N~?~}]>/$Ϋocߧ#XcW=`ΫG}<y#<>G\Sy~8Χ?\S'WO=`|?3rG3 }aoxrϿw,O{tz3}eG=`9Σ7N> Σ7\ ,WmEzrQG=o`9󫟜}QP ,g~Փ׼зѷ535ߟ~ryз5+s} n=а 7F߿yogy4wH߼7|oWF~ogO}tSh=а k\V٧z>an~Mșѷe~o~Fߖ}|[2d~2I'7I'N$;g~=BC׫u#g~dN>~=7i1c裝MF觙_Ocog_gG:9+YW! rA?}l~#trFFod.dN>72g~gA/FF>>>ș_342|;2C }BF> }"7 "4'[#O}j/g}j?NF˙A|1ռЧ{7}?V7|A>S<`K<ȞV8ҝ,|o+zb *OO>-72O>}}$;K'g~2HqAnd#}zFF}N}zNF>șO}z`>}4ʏ>m} }4h7W}4h7orr1cc_tocG2"cGgd~Eș_}F?2Gaߝ>#t#o{}:{}kA>}= >}?G䏶7Dߐ?2C'OC #7䏹7Ӑf37}}fyfg3σ3*b׼8vz_Ǽ_vdOi%4o4yq >-߲O -Jvr /ߑ_2Ǒ_2#d~G~O>>=;e>=  ѧg>= AG@mʏ>mG!9h7##fC~o[7o}-+3:m39g<̯7*?7%g#w7w̷=w;9wN>_׃%9 F;93od~FAߘo&}g#g377oro;3OoWl}j1G |9>l3'y^aX_ʏ\lliH2/s>S3o z^߷+?Jyr 'cѯ7r?Я۳O_ʏ=<98jwF>觝}5;}58i+?Z32@??șe~{e~!W~&F'g~C F1A~MN>~^֊}ș_3gExș_;Bȕ}_d>O>"w g>7r73GF}:M#W~_Gwfڧ{_Բk z _T=oO?m}ЯuroFF j/g~5[;_j/g'W|9?WAߏ}y_k~?~5ϗ߰/z^~o7G|oGZ7Ͽ7z^~Tk؏6>~ș?~觙?2Oe@?g9;Yqrqod~G!{>>Cɕz>F3@_c}z띜G?9 ʏm }CF>o7\wV;3̯NFi̯;3 rN~oWW[׾Tkؗyy/OK}_25!W~mm-۲_srm_}}% 3t2+?JG?Ji'٧o~53dy\ѷwC}k?W|9?[A?Fߚ~Яr~5?~?6Fy`}7O{}`ZFȕ}G?72pr#ߘo{7yA?Wrw/rw%_9;Ew " ?/o>?of~~3 F7+ rw`_m }șf6N> 47ЧroBF }j~/gj^?qrЯ>5ycO_맑ѧoM>M76lM3&|~˖F??ə?3Od@h{_d@>BF>>߃>!g~G}fw733tr33'|3+|6,ə|>]Otmb8~ϧkI>M#<ѧeC }Z'g~CM2!sr7iy[_rW̯#_Eə_G2d~2K+?ߑg=w?9w陿#{ѧg=w/ș__3 f~12kA5vC~{ȍ,7<~qi8?orqJ6A5nd!wrד\/6 W~lqq3<XȝWAzp{ȍ,OVAoKop#ŝ\̟7E>vmJ'\N֋+?Gd'޸j^\z\d%|v+?ˍ,[o5l?d'9_5nʏmo_5ʯ׼^nʏ^\q?ռ^vr5~|v7?5Szy~[03~|v'Wym<߮W`>-a%\5?p'z ;9k<߮yj>/ +?g~ȕɕ׿|^o|V\gg]yYɶ7e'g]?y,Nv+?w W~pʏ[y[zȃ\qk>׷r#g~|v\ߚ˃eʏYy+ɕ׳׳r+^~`!wrc>A~Tt3y+lʯ\5+B{|^^5y|UyYș񓕜\˙\q}j>/7r'wr<\q}j>\y׻7rOo[OdOoϷ+?r'W~\aW~\ʏ19;Yp#r\q>ߎ#\d%W~ rG\\q!W~33 8_^n[m\V+? v n{?3ޕO{x3~O{y-3y+?Wl{e+?W\!W~wr7o׽qȃ ۃympșp/8_5r+;/g~y<^:NrWo̯8Ϛ?y|^8Ϛ˕Y8Y8Ϛ˙/W~Wʟe?np#W_o_<^a/g5Y<^a/W~ry<^8?y|yWj>/gUx9?8?yxc>f^rr|*?9$<3<ș?ə?p818!ʏ3ϓ3h#<YȔPaSA|2э,NV]a硎|G?2yV?5yCM}V>nN|ca#?;}ܩ~y,N<>{z4}z@>J6~st`|F+?? ;m|ʏukQuy0ty]Ǹ?j. '1A_y,NV]<ș_|rXȝ?j._6q#W^VAFr'+.d'jٍ,NVŕ Ϸk.7\J6 Wy5OYȝdx+Ao\n lA+횧ˍ,~'埔R;?Fr'+b'7(o)7(o +W(Ŕ_(pb!w ;9_o|^],NVqd8Yȝ{lAvr߯nBd+W(Ŕ_(vŔSN;픷s^R~J*Uʫbʯ_)Q^&S~~A6^ɔwŔPAub)S^SA v17(祿]L'埔RIy'坱w?7;Y/6 ;9ȔQ.7(o/ +W(Ŕ_(P^By1/Fr'+ȃyW)R^S~J*UkŔ(Q^Fyb^<Ƽ/V;(?S~Ny:q1wCnd!lAvrO?)祿q1埔g^~_/sXFd'yOF6(oSFʋ,~k^yy׼\μk>cy\ѿry|__r9;Σ楣ˏk>:|\μdyk^.W^\yq5}\2пr G85yQ㚏_qɕQr9NG;q5'Σq5/3yԼ\μQq|j>N?.7dM-4o>F~=`!W~\y;غ=|eFμM:p>ɕRyq>ȕ7N8Qr r93z#g^yNμFʏA8/}ȕBμ99w9v:9vη-v=9w +/ό\yq~{,ȕ7rUrUнq~ș_q~Aμ\yʏN8?7rcoϷ#393:93nQ?'.c8;J\xy0>KNV^?w+1n1aS~w˻|=ᵽvlgn~󺝔 p =Ox;g|+Wz^Λ7'8;oP*+Ϗ2X}~NpGpaRZ;<`Ο}>  yϯ>~xyϷ Xy}||9 \wXy}~ a2\ 7;y~ +3\ uj^ՇZp;ٞ>gXy]wxp3\ nvՇgn?a0n p 7;o0n;.paߟp3\ 7'|p3\~Xx0~8Fބ y&M gț7#oFތya[ oAނ~vOxV["oEފyߐ!oüΏ|hq~tGq~t퇑#Gގy凑 @ށyN金"Dy<}x< ~Y藅~Y蓻'p&Å>\;pxvz`Mw\7𺝟Np7_ߧ׹><ze ?v]Ϯs=xnp^ p\wxm__gֹ><.pXy> p3S}w;< ~?|8 |x9G7'8v?n.pW~?_xVcp >'GI?|iV^/zXϓcz4+=OƔ_nyR~83S:ϓ7ۿyI>~}<ǿさ[Ϗ \?4z>[ϓ~>:%??ΟInyhxG}|W >z~4)yEx}>+ y"`OXgO{cWv OOq?{?Hgq{'wXy}uۤ gX7WX|JB>~c]X|jaS>~O} Xy}+.꿰xyqR> ;z>^_ V^//l߱/xV^]Tw߭>𺭾K>껰zpfoz?篾 X`PI}w +篾 +o +篾 +篾 ~ߌ}3 x~3)7sX'Zv MzҰ}fkzZXy=o-޿~;yzZX|p8[[ }q훕V^[[;ֺ zzZxm޷v5S[ |}}kanzwjS;<>nmS߅>X}xx~oV^O}V^O}V^O}V^OV^O^`۞_߽={;m{~vn\=`ր[mzOy[y|>w^]}0oZ_^Ϋ;Wsծ +Xy=?zx~;rwyvyUg{^%y +U:Wz^wyW-={^u;ovyٞW˰z^y+&6ϫ?yy6ϫxmW_oV^kdXy=QaFwy g{^3;ofwy;ooaoR߅R߅RGy~ Q= ZΫ~ +o;ٞ/Ve;_-ze;W-{>Η磾 +~ +~ +~ +;o|w7y>ΛΗ7+磾 +~ +~ +~ /~{7/磾 /~ /~ /~ +~Ǟٞy1x睞;=Ywz;|lg*Xy=a|7違w^}Yy]gy{G;yu; V^#Xy=^zy~t<ۼ;oKwy (;oˀ|zUy`kwy;owڿh;o[w7[oV^|e}qy_V^[x-^x[~?oUWw߲׫~ Wwa_yׯ~^-^-{귰z>-\vW oOxݮޟo}p;<ޟ^g.p}/[>;Np~:}np>~ '8p/Fތy -[ oAȏm[8.pa󇑷!oCކ y6mې!_c>#oGގy;vۑ#oG0;w @ށyN金w"Dމy'NȻw!? y.]Ȼw]y, p;< _}Np \7#oFތy3ț7#oFr}_H8pxvEފy+V[s:g p+`mې>?p3\ 70系  'nOY  'nzN8+}?$s}q3\ ~߿\Oxq3\ }r__WWyV^p3\` wxʗyV,\ yͬ= m m}v;>m.|[ |Z^o#o+o3\npnNλznηzλz.p~qy+ϗR 7Xy}OX|~N?>?j+;|~N7|>V^V^m` \aǿOx>#V^W;_V}>pw 7x>WN?>p[ +_3\`{y⹹k??+w?O+o?_Vf꯰V;Vb7 T>~pw x>~cWx>~y+`S'>~pOo;oR+/Ux|+n+aR>^꯰WGΰ V^/Wx;oRw㣾 QfWx>/[ X&{V3\Wo+~lw_'~kw_}Ϋy+`PW_㡾 PW>>c_}_}; V^_V^[}y꫰=_ vmޞ۞__W3| zcyV^wf;gw9y睞vy]V^w5X<5 +ߞN>vw^??Ϋ'z;}o|}~+oz~i+ \ᝯ{~;_'vϫ<=᝷{^y+U&|W}`{n7ϣfxmODmϽ {>p:<&nwU8>W8_WCu '___ xW_?Wp OxV_GU8p3\2O_7>lW' W8Vlnp|}cU8.pW}+p+XynNpWXy x* X wxmU8V^> 7𺭾 '8u5Wwx^Wg򩯖?O_*  '|']/wgnpw~:V?w~ x+>y)pOOaS KΛ}Orq?w<|)pw||)5{V*[yavOo?_)\/x7xOaP?W?>꧰ycSX<QX<Q};yOOO+> +> 'Xݏ*>y8+_y~y.;_Jw|+ z杷{~e;o+U3Wz^y |j5ϫexkWyj;o|ڄOϰz>|Qw;_|Gᝯoy~)))(|(G}>*X}T<Qx+w>Hc}tGO[}> |jΧ> |^`-fyy;oGGWwP=^(|^(|G&(}om^_%'^^_|^W>X|^o7>oNNdx^y;N(;&|^|`7Yoxs^79o4])׻ ^R^wux^ΧzD[oOoz;_~/ʗ8)c~M67Uxm^oyכ67||^oV>7Xެ|^oW޼U/z[ze^_[޲V Xyޢ|^_}xu+^_-W޺vx+^oW{}꣰z;ozGSeO}yק>^(eO}>QX>QGa?S$O>QG7y};oGSק>J^GGק> |ק>z>ϱ?OQXy>}Kx}KxJ8###.ծn%[{N;OO?}wz=i^O;N'Yy^Oyד /|;zwox=wzy=~Wv{=e;o۽v&x^OySw+Svy=-;_׼5ۼ6]yVywz=}'Ug|#x=c+?:g|^X[gV^g*3w̝7;Ηeg|Ww/{=kί +ף^G?G7>x>>> 1G1G~1G~1G#}ߘQ=ί |ףy?z?ףy_g~ijazg~ijaYqY|_ve_M|7|kwԝo:U;;;po yvmvm|v}w=;_wu;_wᝯ{=}v?xm^y3vcm?6gלsk^T>g*ϝ:WUg|wz=kοvYy^yY;ozΫ{x}Χ{x~Yʗl{O},~O},~ów\a'Λ?MXy&'swףIίIί |Q$G__G8q~Ox{Ox{O}yW}V^_x꟰z/;\N۞_Lw\=yo{<ںݕy +g{;cS<`y;o'  '|:uב#_G|}ަ78.pwx;w"Dމy'M7o"D| -[ȧQ&Mx^ogM8.?\wxFބ y&Kȗ/!_B| 2eȗ/#_F|2e+WFނy -["oEފ|*UW"_E| 5kא!_C| :u#oG~}^?^蟌蟌蛌蛌蛌蛌蛌蛌蛌蛌蛌F>sxr8.pO%Krw+xv~#_F\y3;;;;;;;;;\#_A|^,z8p;< on?Ox|(p+xx`v \wx^7Z7  gg{gn&{^os8.=v;< ۾vo]&\wx뵺o ?\ +;< ꛰v;p;<`k '8Vj7𺭾/ gnomMXy  V>=o^7op _߼n V>=WV> | \+ր'?p+`'n'Kv3\ +cwx9ur3\o?S.wx;~/VngVfwx^| p_mp|>8 V>om^7|~gx>zoo=Hp >7+MxV߄&\ +MxC}s 'X|~_KxYw~ W׿yu[}VjgVbwxʗu[}Vdg w>=O/|/|W||/u[||/ +%`T|W}NoV^OMx;_To;_T߄ UOMx>~ON_V>/Kx~9VK.x_%wK}.[|7+& M8WWX+_mpw>=o9/|zr_;cKxVfW~ OX|_t?g~y9?y9 +;|gyGϷdxg;ϳM<{~:uϳMxg{~= +;|_y~|(].KX]a+v/V$_t}/Oדt/ᝯx^WΗ=Ix˞$eG}r>ɞ$oV^CV^CV^G=KxV$GΗ_}V>[}y4]5/ u{ v+o3\`+v/%9?y9;|sM;x盞o^|.V>ϻTX<+]|oMyV>ϻvxo7< Ϸ5xo|op V>ϷX<߾noN=Q{;o|ǀ'vw>y3y 7X<9`|纽] +_|e{V/VǮηZrw}ג$nO`KW=OIx竞$|$|X}V>S}V>S}V>S}> |SS}> |TcSV^OV^OV^OV^OΗ=O˱%{~Η=?Kx˞%eOV>Or>ɞ$|$|$|$%K}r>I$WxK$< > gV>?Ix^ogɾm}p /$`Kv+`{OxV' ;߾n}mɾ^o}p+| +GK8V^p;<`>9V|>?' 7X|~O^'OI8Wh?'o'8e_X|u{>p,pa7'nV>+pڿ_}Fp+|Ox;.ΧCڿv~ᅵXWXOX\8VbW }ϝb~5>8*ο=?kߟ_گ>_ZNw꓂>)>y<]<^OW_G'W_c}|}rﯞOu}/X _?OW'Ǻ>)oIx> WX<_]I:^}~Wzw+]zoۺGV_uHxc]T_# ++`P'|>さC.xwX}<u[||f3>>ꏰX||ꏰ X||{qK*~/v~/v3|% M= _75G8aٮpUYN5n{bs'|>p;?V^oIx}r> 'X'xO~On'|>=8+~oxۿ|.x+I hm> gz$_ϫ4ɱ$ +/IV>_zO p|7  Vex$|=8.p~?|p~p3\ +_;< oNp \a~ݿo8.p|2e~op+xvE|*UW"_E|_K.pOxב#_G|:uבo @| 7o @|&M7o"D|-[ȷo!B| +Np \wx8.p#_B|2eȗ/#_F?&'8p;<`S"Owx^'8׮Sg{8.}wwx^'8y7Oxݞ<.p_ku* x:u# u`'8 x< +_8.%}8.?ruox Xxݯ '8Uwڿ|*n~U8U 7_|*Op#<~ΰe {k?vzp{+iOxNp 4{/~gzWO~pϻ_=aS__=`R_+|>^K}qh>>pU?ӫ:|`=13~^?=~ٟ~?pٟ~?tO?=~^~~S}~?_{m?/?y{D?ϏcX;Z={`g | | 6OV+_| /x;<_0 C;<_0 GaCׯa05_ׯᝯy;_y_ׯay_V>_ky~_Vl+_+|_}'峟CxK^!y}OקH^"y=ꋰy}S_wS_/;/pR_'n/W}p+|>'n/OE8V>E|Q_a7/Oy;.powxs\'8uUV>km;WWWOxNʗgVdwxVG x|~'x]+_p_<>Z3\`OX|Np[p; o}xo|.pwmtx^"+7EV>ocE8M}p"Oxk>gxk>xi>p!\+'Cx|R?3\`~wxIp~'X|>n|R?'n'C8;_~7;_~!|p+|muC8S 7ÚW'nʗ w>ݯp3\O;!|XN|R?+`~OxV?_p \a~OxV?op <>X||!\|! 7X|>^oC8VdwxVGV?=/p;~Χ!\`v;<`k~'X] 7X|^!+CV?pw \<Cx~gGXV>/p+|>_OX| ΰ|Q?|>_ g] m/}Ϗ>8|.p|a+va|Np ||A^|A߮pw x>p3|>?j|>'n7a*+χ6u+χ x>z; >u{|$V+X'xkWX|g|>sV[.p[}r?w>ݏ_pw>_pw>o_~>Xy+O'nt|VdW>'8p _A|*UWO|gF< yy5} p+x7O}>2\ 7~+?_W>#L}p;< >+_3\ 7>ؿ7  '|YV?3\ 7Vdp3\ 7^gsq(U3\ 7x{xV'S}np ΰ '|YVWXOxV3\ 7x>'8;~`dy%gX>7E}Np |{Q;_˗~npǶǿ>x{|>z \a39>8/gmA>pyg9}p}[N8ﺾo^pu}?+zy}=s=Pv=ݾ-[w}]U_zyyu^yu~Lz9oUAu>}Wu>}՟yu:/pz~/p^^y{F=8/pQߏ׿;?v^Aw^Aw:`ΫwɨΫmzyyQ}=0WyFt~iT_LF@X;9x?/6z`:u9x?7?xG՟yyQWyztˏ_~wg8<Ϋ+kAr~?P귳Yv/eٿ>;z{ٿ~kq/g~grvO2ey{?8/P?/8o~grq^Gs^G;V_:T~oPW jTW[3ٯ\W k#+;{grw=~w;t~oНW ;\GbJ u`gς< ,ϳ`^>uW^/ϳXż|~ͼ瓬{f}~ʺ'o繬{r'a~f~f~>y#󎘟;Sw{yO{r|uGry{9yka~<2?WϿ̏Ux~ wx]e~<2/F>wx]σd~<1?טϿk̏5x]c~<3?wיϻ̋ݥ#Og~<3?wיϻ̏ux]g~>|TQ#`~>|Tyw<40?:C̏NPӑg2?:C̏NPӑor<u2?:C̏NPӑo1?C]̏.POwS]|iy6<< e_zf~>/l#<|^6ye3?}AGGGߧ#~~~t+<̏+<̏+<̏+#_<|} )\Gy>#SXO>k<|S̏)#_xBy8ޟP9ޟИOHGyyxBc~?!8ޟ8ޟИOH#vv۹|};<|u뜇<|uI#O̳~}|o_'y}:~}|N:u~:~4-8ޯ38ޯ|}l_<|qkIGy>6q8ާ8ާ|}:}:ӑoq><}8><8y~by~bz~__{~_/|~b}~bo~~ O/#p<_Ó x| O~/|Kk_#_c|[#_g:n|k_#Ogy:ә30Co- og0o[7E= o07G#e|3D#Ly&g2˷z=Õ^Fp/޸k|y8_AS9W"O<1G޾_{q|W8O]f|8_{Z䫜us䩜E2Gy[䩜Gz1#^nF>בe|8x̑qQ͑qyyyQOy8Xygwsw.swFyc|9jfk/7pyyߑop޽̑op}' jF>y8A9_G8ٸCg}:.t]8_څ}G~|f92G@_}<냾_\}:->}F>>|\}>4p}ȳ>kӑgs냾OGAߧ#Aߧ^녾O# }<녾OGBߧ#ӑpw~4qbF>fCߧ뇾Olޯo=\Ϸa}5q}O5# 4#l3ޯy6waȇgu3#ίq?ב۸eFNu}3jnf0#׿.6#G{Ռ<9Ty*O*Won|O2#W?QՌ<y?2o3p\Ռ|ܿy{nz̑qjnn<M2osWs1W3@ߧy.fry>}nt1#ߢ6G~Os5#ϡyy#>65>]̑>|4Ty}t1Ws34#Oc.jnnf2oQ<̖gZiy&?>]<Ӽlۖg[myAw=GOs57s7;H~Os57s74/9b+Xb+Xby婖Zjy婖ZjU-_|M~y閧[nyl_==s17s74/gߟ~yyu~]<ˌ<>ju1Ws3w0#_c.j~zyq:u1Ws3w{zZ=_t57s73MzcFA7s74~Ou{jnnf2oQ{ӼیGx|\~hnf|?\~_35<}u3I~_s=,o 5F>t33@Yt1#?=}`ߟr>ߟr,{zO{7w=ӌ|>j~-O{yY~/6 Ō3=cӼ~F?y?ioӼ~_ݗy{"{T3~z0#{,3p5p}5p}0#ח^Ó^izzt7j/~M瓿^6izfF'I#ۤmq\g\/\o^f\;r}6~cz4umWeF\߲x}MqϦ,zq\z6iz\x}My>&<\&K-^_[\\_e\\o\\\o\\\osk I#F=<\5}p}~O@=q}Mr=i^qS^ˮ\zJq~{Z\4?zitr=b7΋~O#Gz~}ÜËÜ^9/=<^9/w|\oi\i\mFffѸ>p>i\pCq=?C?p{8<_p/GӾcqjpTC{ؾæCypT GG4OxwM#o3qiz߯uy^4B<}w {k|~8~4o0f><4tz|Ay ÌAz }^>4O݌Sp}iB~O# F

O"\/A=p}O>O#}Ffx^ ׇϯz5x^ /Ky1\>ks_kh>p=kzei<_痥9_>x^Y略!WFW><|^Y>x^zyeizyei+zye畝rO|kzd秝MΏ瓥dNґop=|<})|>YϗzddNɮ||4<4:ґs~5s=ӱ^@wΏ>O#G#OOϣ|uW|ukϣ|5p~>y8??yS9?}^9?r~y:U"_t䩜}Fq[i)t3#CGVy:|q~[k9o+糕}<84p~y4p^yt{8/<yΏ>8/<yΏ>8/<y΋>8/<p^>o8?7y|aϗ?ϗ?ϗO|>|x|zO/|*/8/F>΋˧ȳ9//9//<ȷ9//9//F΋o·ɧyyȳ8/'8'Zϗ_ϗy<<4p^>Oy4'yy_GyO4>O><yp>O>p>x5>?>yp>x5>?><ϏϏO#ytϏϏOG4p>y|y8yXp/FW·g4s䩜}^9ry:T·>}F>·>}^9;y A A΃>F·>/}^8<U8pyy8py~ty8<ӑ|΃>}F΃~8|1vy>(]u}T_O>Jw3y:}x g:n7}Xy>y>xf~/<[̏-tY̏.}>żx_y̏M&yɼxd^/5̏Mx_: ]sw4s_w}u\\//]ˌ<\o\o/y:KGչx_:u?^f~x_~jF?<չ2#_}ky95ypvX/#\3af6#Oit573qk}בr}b<>OGE9U7]t5#F7<̱^>FN#St)\y#_ӑpeF?F5<\yzN#.fӑ}iz|_u{|?u5Gs_#כF7;}g~4UӼG7ߏ~p/ߧ~p/߿~p˼~\gjn߯Z?2oui>/;mkp>~?} ';{O5;]&t3o_Ӽ7o1o,={0o_5~,&;rq>}a߿f]t1xK7ίϿr>x>fV\3ff9]<O/6c6jFCw0O|>XQ?;]͌O<efbFt73x@ϗnfNO2Ns5#<~ O>j~rxn+>zyxbfOy>庘gÌj~~]߇_w0os.f~aF65?I)afNy}afy|}bz-yy6}t1W3y>0;]<|广_^Ws3w34zyFN7s74g>jw;:=Ӽی<jw6|1s573zy}.jU<˼GNzB7s74/65;jwž<˼GN{]Ӽ|.bft72oQ\lyAIO25:]ly婖n3-}faef˃N[nyA_MO2oQ\lygXay噖gZӼ|bff˷,ϲYSy}vyGﳯ?i^m|\~NoQu57s7|1<͟ߏ_5ί\0O2nϽ2]ՌA{>?׋g볯LOs=}{&:=m>jst1W#Ì<ܟmp~jܟ0yGix?u5#粒f5[ix?u5𺛑\/~y?u1,݌e/ϕgWs3#Χӌo$yFeFF57[67F7F/<狤#zy#3^xH:LW3^ y>m3p}z5#קw3p}2GG="3#zn<~N#|~\z@_zӑs=ϝ~NG@?#Ozӑs=ϝ@?~FΏn<󣟯ύE?#O'4΋N#E?7΋~9yyﯬjs|faFOQ=)9Ӽ8~^+H/659]i^m>j?ϟyyrϟy&G~Ns570O3,z>bfi~NWs74/6<,˳,ϲ<,˳,ϲ󘋹mY>o{||1s5vϗyy|]Sfi^m>)4syy硏|]~Ӽ|1O}ae2o3x\㏿]O2#7Gb<7sz9<ӌ<ܿcFQ͌<ܿc9lq1G9#<ͱ6\oq#zӑgpXE_F>N#w.6#}F/8y:}\Oqz#Oӑs}izaF'8E>Nc=4p=Ӹcx}b9>NG|iQ#ySiFBo3N#}\?qy~4pS~tGzDž>NGB#Ozӱ>.\5p}i>p}p}p}Xty>4p>~>4p}iӿ<?~>~y}\a??~q׸C5Tyy}y }yy }y =\Qyyuc=6ףnsY\#zȳ8kȳm#zmFGGߋyc=ף#y&G="zb<1b=&y&ˌ<\<>flfFD?9 ?9 οb=_y_gp5̑gpw༻fFο#O{#Oyѿ9?8y:Gw΋>Nc9/|ϯ8<yp>}X?/Η7yp|8?>ta|y2#E7΋>NGyѿӑry*E#OyXyѿyǕӑp^q|t)[8_S8/p>qпiy88y΋>~87y΋}8ߌ<C#Cc=·}8z!;K>cT16׹na{\VU\֕ ۦr+7׹?ʈUٔܧ2<1Σ( ;r(<򍱸|c,lwŅC9<2bpaWQVe:\5 p?7|cL.ʡ|cL.7žGY {2bpa'+=<6$>6d2b+2bՕC9K1x[],ʪʩ\ʈ1#,*cʡʥ6>ʢʈQɮʥ yQeUvr(r)qGMwX 4ar(2)20YU1x\E&r)#hhdQvy E&r*#фɢy E&r(ch¸ƦM4a*2b r*r+#F EٔFT.eĨ`4a()#F!r)2hdQV]\ 0фɩ\ʭ|c&LVeSveqM#&< UٔCaM#&LvyE&r(2b &&LeQMʡ\.hhdQVeld4ar*yF^F&)a4ar*2B&*2;ɩ\ʭ&LVeSveT.Fȅ&LVeSvelKGM_0ٔ]9!r q.~\hdSvPo| M쨾dlMٕC1G՗,ʈQɦʩr+0/Y݇ʡ7F2;2/YoewT_r(r)㇪Q}Q}ɪN+r*c<.EYY|MNRF WQ}Q}ɪKTvy E]F%*#ʥg7|˪l/y ˡ.}(#ӕC9%ø˪;ٕC9FayE1*ٕC91~!kQv)r(ƯZ=ۣ|cįZ=+?~q'ȗ[elwUٔ]1xxEٔ]c(r)#(*#ٕS]ף,wʡ7]wŃ!/ٔ]r+0o؈K6elCT_r*2CeQVeĨPNel[yQ}C6eW?rMt]]5Q}ɪlw+^\RFIat]*cʡ#ܿQ}ɪ.wwʥܿQ}u.whT_+;4.G7CUٕ]ߨRnat](cQ}ɮʥ؈껌KeSvyi^r*r 8KVeSF WuɥB畅K6eW9KyuweM9vi^r+0/]dSvPFIni^2dU6PNeɭC9hy]SM>:S1>9k|}Ȧ7F|k:~/n|k:!_#&qƗC۝Rna(?/#F#r+c GY]P)u#)uwɽ]w{!.oɽ0el]wɽ].Bt](#Bt]2eK.e#\dS1} R\eK6el]|\F st]2:G%2uK\:v㛱Quwe(TۍoFA]FWUPv;uɢV)#F!2˕Kat]F%6dt]nJF%nJF%c\dJy]2˥K7.]te%c\dϥK1*..nroʵKۭ\dlk]\8KvVuwʼnKv8u.'2pqՈK-\p5v W#pdU6/ntM]wGEwKZUtS*{.wWt]}aVu9D+.?wEU]G]8`t]r~Vt]rWt]oTvD]~j=+GY> \uըD.Y>*.>*sdqFyqyuqbyq^q"wr^Wy^y|D.籜7.=ܒ銮7nr(dlF%tFM]6CMCQC%T%T#2>=u2> vU]dlwC2>suyܒ獮ۜ.e|uyܒJFCm>،Kv9`|S4._Xqj4~Alj狲}GuFt(p|_w18Q6p6t46pzv46q?F<(~}8lʞ_8&N?F$?ߊ&N>_Ώ&.[~?~-M\a46c?a 'oa7ȟuF(~M~~ MTN?F$k6~tFÏƀⴧ t;;oLjdM?C1"?st6\u0:9Dsխ.8 9DkNFkNFϵ.%7N?&#Nל Nԛsup5jt\s28x FG N?&J']78Qn͢8\^8:-qttDuQnFMN?&?WuhMe\(.qi1ܟioH~bq"\Z|x6ʼnp-e\qi1':]Ws{6J1Pn8mɸq% 2;\Q*DEQwĚ3S`'vO(D%Nl9syQ4T|Q{n#s;L?H=Fq92 fs+ &s;L01<2v ќyZc披=#cL0stkl1؜<2srmN35f#cN͙G38tyd1#+|KΙG.sNs<2֘ >E#c RuuN9-;'O^iY&sBe99碰W⨶c/}OιhL?;fOι(rEgh^飻{av9Fg^]w飻{!t>F飻{aW C׸9看kL Cט>" ڹ'rE8آ0}\Bw]sG qEa6- C7w}lQ`9⇫3}.B3}.F#~.B3}9Ӈ3}.F.tt3"mrqrErqrEqff#fqff# ͹V0ṷ0tks+ksss̭0w̭\+[RD\:Es`nV`ks+ ŵ]FKs+.V/.̭XV#rVE!t7{[V%權H?wȇ3m/n9p+Fa權B)H?ӜUQ]d%ۋH Cl/B Cl/".8o.l#uCpasŭsuq=9bS.=w_.9w_\M׸/NE1^܂O?qŮ]~ ?s{eo#x?MPTtE3:qE]q(B]q).~8N7b_@ /btËGC׈]"ĥ;Sl]'NEW܊;>Ŧ8][p~M1t;?iCCӟ[]^ nCq*Bo#>Ŧ]^*k(NEWDT6Ů0xKq+" ^W)vESevV<4B)ũ[1t[[aSCq*.~{Ks+E|vq)" ^TbSHܬˋ[#7+|ގt¡>4f[b_]w2 7 .9?mC@ť]~bS|^U+SyE#ݬyE>bSV/n|BW|^ G/@g-4Qg^\1"^z3_zO3_g-Ku:x/@ [h;kp+z3_z3_Y/}|zq}J|f9GSf3; J|f9G_?B7paP.WrR|;|J9Osp%OW|J|"Yt((܊O5{seM|!TaH@hᬳKyHRu w[!^g|ŭxؗo댘<Z8|Zl<Zx <Z3qhthswKS<Zx갡<Zꠢ<Zhuwo/:;O:M;|6^'1}Q8}UG>O#{5 GK'@ WiG> N:G> qҖK"tV8Z]|^<ρ_y\+YswY!ZgI7_O'ݬ+`&NE^ĥ՞#НĮ kĥ+UFZyŁ=nv588^s\YsO6(.nvn68Brqf W.nvnf\Y!&pqp8p§]<~nf\Y!Fpq|(B7+D.A`7.ܬ\Y%s\Dw.bv9;'s\D.vErqfhŁ}B7+.nV].يh>f,hhƲSX4Ysx 6Eq(B]xg}fhՀ}>w~i\V=z"t9"toW#{ ].W#_D!ZjOe_S}֗ {tZ_U+j}H0}4,Zj}W"FjV=֗}G_UݱZ拽p/mFj|/jl/j;lV8GfhVHԘo6RcH⨞l?ձm}|q)2_ln5ehSѫ)[[C/TjZv,܊ꭖ UGղZ+.]Vf"0_Zm! "t]@s ũ Gm! )B/BVN(4š5'.#5M+ũ~Kr@L~;s@)NEW|w#w>ŦMאkpES"쫰+P.XWV<)|(\[¾ "ty/8VETtŭxbquTtŭZ\M+ũ_ĴM+GKO)_)N![|M}Ttť2|u)vES|l>캸`{l>Mq(6v]܊GPo>hCg;3խwW+r>i_Yz'PtGp~4Mq(NEBg rYš]^*VhC1t; UV ΋UCvp*"tt`"0.Ώ;_Ss:t`#6ESn'NEWn#AW!t?)RۓUC7+oOn bf!I*uR[ejL~Uï C1}UaW{n kġNtE6"tDUaW__aCW ]wO>[_B¯ |W_]_}ۭ=/@nlo2ߟ_uQH"tewlE2)BLpwbn;Cw3_Cw3_7E2_.uW.u2)B.S |W.&\1t]Cw1meLp"t.<"t ]gg(3㊡n'Q9b~;FTο]#B"t[bGl{BTο'D|&_ {N&؛"t`.SLC #he Cw0A`FL~5L~5L~U]&L~UWWkL~eL~UWWe+cF+cFB2#UgF~ՙ0t;3_uf*.3_uf*._uf*._5fjL~՘0t_5fj~U]d4үrS4ү ۈS1tsS4үrS4ү.¯rS4үr4ү C77E#*wA#cFB2#njWeF?jTEdF?j}>/@fƍ Z߿]fdeFˌt)fF#t73hf )BM29ˌ&t S ŌCq*>? |iPS|iPM|*܊G?EAũ]^0#*l5 *k2P]슦8kr/ŭx EAũK4PI]슦x0wKq+: QP9 Q=ˌP98'S@y!t8'S@g!t:) Q̌S|Xv~eeF0(gF0(g (,.3ʲsf2B3,;gFYv~1v1heeeŧ|1#bF0B3#qnf*Dy?3Amf2>(  j3#T!Q A֙F#n~9Q9 q^c& BwqNd"tq }=Vh0\A9{`81AkV0!,cU0CNq1#hu #)̛\us|^yb.#MuEpjP.W5> "i2},..ӇA>'Br5`Psrx,. ]j qb1]1tGŁABG*.\ ߊj X\p  ":p5Hpq5ŧqvB  \+8R!tV0§A%ZW:RQI":N4TDkN\tapBbW|:lT]'.#G-S!t7q(Bk* õ#]uYiP)\lr-St٪"tt٪Ӫ,j]Uj1gU 1[pHOkҠ ]qU[Tᩖ8ge+^tRCѫYZpWTa@gekBS>%UYZ"zIbtV+%U.lWx6{I]զ,8:>^ROu:[zI-f/ISqUӪK⩆WgŮh;%U8p+uv6*V^R^w[TyTaW`é}Wsѫ+é芫ڻ.]apgg¡O: #A㧐b?lvwq(BB6U "t  MPHKq ‘+GG*tE4oGJLK‘&/l Mq(BL[b4y1 Mq(NHydGTKm|_tER#c{®]#NEW\p¦"t'#B׉]q(NEWDxHMSq)n#-S<슦8]q)n< 0ֳ1AL%nŔvΝ\I]L%)LwhຓIj:c=PH&1t͉kv"%Tb>S#1;9x#AݜNݜN!!LB9E b. ]gO;XO.x:0ә /bx.&9C9 b.x.bf㹩9)9 b.xn aay9By bx&?G+<sIAEɠ{~ʼnHݟ#Mv FBMmݡ(M w+ v Ln O$ة{B ]c'&sB7Mo-C7M%ܓ&C7M%ܓ&&IAEɠ{d9|dP=i2(4pO :O *'M%o[Cw2=LSS"A3A ]EN! -tu-tu-\LpE .&8BwQwM n&8BwSw7;CwSwС{;CP#C]C]C]u">%NA sP砄9(vzz;=%}Jn7sniA p;-%N B sۃN B ӂPfH p;=(v:z; %]Jm#7snAfHviP(vjNB ӠP4(l;^`-t'u[$8CwRd= nI=L3 ]EN] ]3} ]g :ðuZ.Hp1a] cb#\;Bw1 .1Cw3aHpSw gn1#0l/ZjEڋ-t^>l/Zjݿ5ۋև_|(^tBt^tBl/Zj7c(^tBt^tBl/:!ݿf^4Fl/#ݿ5ۋƈ"EcD11H{Qsu@%s"tF;F`T=t;U,ʠ˨ "ɨ,t'ðН Bw2 ';0F$8ƀ. csqF$j3Ψf$j3Ψf$jBQ]jbT .F塻bT .F塻bT!F"ŨVnFBw3*XfTͨVnF ڌ ͨHQ HA‚C0H8a O G: t,0ߦhӮQiר޴k޴kio57zxC6Aw{ς6UٛfÑ6UٛfM3߱)zB GAv2]# {vC3H;1[vi`g]ie# r45gh~1E)B׉]1\>K r5S ]j)q5l*qql+qqƧ g"t8"tVSD\˵S\yS ҹ+n\IXPa$8BrT\J# \IXP)B *.WroAXPaN.,,p(: b$=akiA5)ER܊Н®]'EW"nAXP!t7+ũC\G]nkiATb:?AXPaW4E.- r~®hH7,p)AXӇP./XPV=]}t0s ]|aAק۞©]~>|s "#ˇ? =,ߧ[#=KBfn{ kĮ8ߧy3-p+B%‚ !Mq(!.E<&#mOtBȉ!4).ٺP.T>|L\||˅ *v$=xϕNER8?ŦhVp*z^׿|Uxy0Y\8]q3 Sl¹p(NAhTEgIŦB9Ѝ llX\h*4]ȱ,"~L6ESSߝ` q}]+[qV)_ܟbSC1s vES]q)bYr.cYr)NEW\Hp$O)P|,p+1uiY\8]q)X\Mq(7fLV<)E<ĥŦ>)>cYE"UCG,K)l#[|q*"x#)C8] [C㙞Shi!.C^ĦhxO)\cOϹ!wCZoŧ:G0;)"lĩG<FE닪[e|MTŜu=ooŧ:[П~/>u] §kqw:O+>/K`\ص~ /6xr7ϧ].l ]dB+E HʗS1Q؁"fbv A4Hg; !ԉ[-1[^DCv; C׹Vx~oÝ"r.L\La$\ q.L\xN!ǹ0@NaNL0\ xNaM*p.s&W&3>*p a2d0@N!t0QSd #9d #9b0B2}`0B2_L!d1 )qȱ2N5vVF8wVBh#|J0|J|tJB6TG uJ㋨ә L0Lә`vZ v&iNL0;-3#La$ؙ <1#Ell4f)Ʀ1#LcF0B2#LcF0B2#LcF0LcF0)`cSB3|B1#njL066S@wݽpU/a ~Z5];ݙBvw{0`0~Ѫ|9`b3twL w'LV䀉ܛҘ&rurDN:9`"7T'L䀉Ř1`pԀ~rb 䀉Ř1`b1>g6'L8cD gЄ~rDa = g̘(%1ۮDVC":J9BN`̘(1NON(<5ɢ(13&JLƌ1cd(1$&J D1Qb0H5(1$&J %.b`!13D c0c0c(a &c &c CmQd #Acjc &$L3H &$L3H 20Ȝbè`2ҴSl>b$oId-i_La$o.%K}i2Z0|-ڗ&Ad4 $LcT0Qd>FLcT0Qd>F|  è~a/iFAZQaaTuiFAZQaaTimFAZQafT85ʾUbTj}Ũ0Hk1*LZje_Z ^AZQarbTf9,g a,g,?g aHй8 &ڽƷٗ&ɨ0o2jl}9o2 Hg_ 00o0 \ [}0g-̭qx!z`a`rx1B000ڮQ? 003 Ÿa`Z_gF.À4iԅ4dӇ4i &L1 G]a2À| &1 G]G]G]&ќr`az3ƁLjCF .nb`.n3IE0GZ˙śYZMS3u1xQw.f/bfb+tu1xQ3u1x1},vbfSwZk-g;u1ةNc5-Z,vbfY5Z,b쁭ⴾ&sfqZ_!i}=Lsf"CsH n)n)n 4CRlŐbcRlŐb.u1ؘ wbHqn?5Hz)ŐN]Qm=w&!ŝJ(d`cRܨč#lLCu1QS?&8B.TB0 d>d> d>&3/9W2w0ZcӭsN: [9雺~jZ ƒoyC0GZsZ ^ohqjAAZxsP-<9hq<9}ZxsxdP-ʃ; ['&B'S8O%ov416(66x<ظg@=fa2Mʃ7;ꁍwwAǸI@yF={nnFyqz`ݍmꁍ3ꁍۀ0cQlQlvF=vF=pz/zwΨG=pz8Q͎z/;_w޿Qy;_w|@=p znwްF=p 6ŝ7,;oXwްhS7,;oX)vF=p zog)CQz^w{Hޡ;tCޡ;w{2 ;?; ~s-z};;oIwޒhSz[$wޒ%Q 6ŝ PyKs? N=zν7 RGiQx3Dp={0~({ Kxq;/M%nQ/M%nPƛ7 o:7t(nPxӡqKƛ7 Qƛ_(n.Cp]M/ 27e(nPx.Cp]/>7~]B3 6CV;{[ՎmC>!to н~[_m(Ն߯ng25E# ?nMQW*.C#4"x}ߏQ<=#Pcq4Q>/M^U<>oqPAV(x㍃ߏ7N<?oT~qP)?QA'韏;FT~1:>B;T~SPT~SPNA;T~BM *~?nQ'^oxsox[}7Nڇ8>k5V[uO+tﭱCO;tObs0ū͙/ 7XUzbqN{D^8{B^8N\7gFX`vs:Ż o~7$X&vUW_2B"B_HW=lW=tU#ڣ*`E cg,j6,XT2l2({<)`Q#YoQAYoQ_YHoQY oQYnQȱYnQY:nQ"Y nQ@YmQmYmQYwmQYhmQ")4Ch1 !HЙ !gz$LCG|=t1;/E2!Ƽ"Ag+t'c^!4䚊; ɘW$8ɘ76E2 !Ƽ#ɘw޻`)O |"k'c>b'o(Yܬ(h;4J%7-*7-.7˃-*67-97-?C(DYf=E fEfůEu tsΘ{$sΘ{u]1t;c!E1t3\0&3\1fc4 W)c4 WiyD1U #Ƙ't3\1 ~&1f g$1HEǘ=3LcpAz$1H [ ۬@hLg2/ dFO2mbˋK rq,Ut#J2ru#J2*IKJ jf'TE*\U1+P7^%AūSѥxujd X:] *UWVI*ȫS$5WVIj@PR+Jxujd>^ZZttIFթU * UNNԀ^Z% NRǻR$_9$8կUUSz| *ȫ;A,RAկU^ƇtAVsTsY2ru52#HYRAӬd'c@ݭz|MTWWRAdkd'ŶEn+{T;9Z^{G- WaLR^8|HUr*Ej@}=d!5׾:9H WamRz!+N]d 8vK*F*kW$ ]rn^md#I.RARTn1I="c{kkUﭭVI2r%VIƀn$+]TVIP2gJ *Iyj*kW$#{j$#{jj=J62󜤂gKJ2޳Z% /VgKJRA޳Z% Y\d5YVIv2rVIƀ{V\*m9M*]U f#;b.RϥZ%YȽ~[%ad xo @yj =U b*B*{V$ŪUЋYH ŎNFPb*MƀŋU$#xjd'ŪUb*B*ȋU$5I =Bj@/VTVI.2/VNjU$;AVIƀ߼ av2q[%fPTP5bNr z.*ɿv{|ns;6yV b򥂼v_| /7R^l&Cj@/v4279AۛU#B6/c\&OЏٯFd'W#_nɗ c/;9I lp?d!jwrQSJvRA~$7y>lq8i/~A*1y򐅌 6/'Po }!BVRA$7 <&XF*h\f%I*YHAR$HART$+Fd-?9d%.?9"Y~rT#Fv2\~rT#MP5FT Hr~kD~k$A*HrT$+o[#EP5,d#歑"7ʝF{!+¼5\U#J6o~ Fl$T#뗛<*d%;=LF^n4򲒍djNO#/xO#/ N~WHr-&YJvRs<=~d#T'uևd#;b.򀪑d!A~{yYJvr<żd#ɠ=-bld'״uk${yYFvrߋ5<J*ȿe?!^}3}f}[iOVl}n}cp1[#T^{;oTtS=f| hG}?\۾rߏf7RLr#}?3룙?s~_jކ>i{#~QAh&??RA endstream endobj 184 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 187 0 obj << /Length 1070 /Filter /FlateDecode >> stream xˎ6 rЊIQ-ntf !+ӶPYPr ;6b, pFLƊh߻Nq8N8Xbˈ.u:C5/?%~Ӳv<{5?JQ]-Me[ֳcD:YZkjǢ oֹHk Y`(؇ssTgg$'_O{ <^(eY#%]n:c˄XC.<+M$Oe[ _q<l'"L+R`%X+W+R,,Io3ray3U?^$kc,CC23ݼ¯|^2<dcbiߍh>A+\za??5Oٮ7qkO< ݶcWcA9si:PeN#d 3Yڞm"Wݓ`j5ĩ;Ycn Mv5KfB#~\a`EڦBKT?~wGە3'-a) ܧ~;o ll+ek  !!;\̉;(k󀞺]օS n]mgu z[ (aWħ=^deBn_¡ ()N|# $ȾN(O(}Ijyٳse݇]{ʕu5_>Yݻڋ JxSDtmD{S B5; k\+! `+x WʴF>|@,c1 ȘhC<# endstream endobj 173 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp6IWViw/Rbuild267d31e1a6e5/MALDIquant/vignettes/figure/mqbc-1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 189 0 R /BBox [0 0 504 306] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 190 0 R/F3 191 0 R/F4 192 0 R>> /ExtGState << >>/ColorSpace << /sRGB 193 0 R >>>> /Length 159256 /Filter /FlateDecode >> stream xˮmeU_2d)% 5 @J(GZ9Km{L?¯?O?Vwz^OШO?=~O__<?~ϟuן<KRK4F-}nS _hX@hٟD;Ra^K$:F6#uK}oߝri%,SB-dR12ЈT6cAˁV$Rg_YHGTf85j4IR4zD8(Fխa품a%h"0/&o8Ah/-J mWT $D& H8,d1Ȭ& _ nOm% a>D4m٦\*c]|LyVjP^/.m^,O -;>Xը.Gų/" 7wz׌۹zB3=1?UjDiblIfaQ D]yM%۴S$La ǫj?|qzukܷ(t9G6aߜeh};fPR!R*/ymũ*k/syԾ?GH*ik4lCb;x#FG*TIw>+GDx|>%=:#~ 6w߆HG|N#FݝEX "l=ƝSB@l"m~/N$YIi֘3а,`MԿpAf#ㄔN"ƹSiA-yezզ>Ay\?@LĞndbOǥ'ǂwRԋz"y#+F]p$2b>O ;)㠭U,wRoA,)mgB5ǞSz=}_Q/%+%#Ǟ5\Dd5}Ht:!bw ۾3"bM}%:w~xKVID\No;S>;]]m!3QOvVӗ;rۙ䒨=1uP+Dʌ5-TZu-D+z1(%PanzgevI5Ҩb|[u *{f]j59${[mY{ܻ*ؒ.m1]#lKVR-3G=\@R 奦z%5f54?5wM{GgF<A=- Q?|̇ZKİzi'b,2zRhQj8|rNr6gTJp%+NWQ/5Oĺ}*N^*_QxߖպhwUpAJ3S+}Hl`I{G$g{zHJ'[*X0#һ*X,wU5m"m.DDJcRb3b^ʿӻ'Ԟ@lJ0:ʾ&J 텄uǾiy28G8[ ;q_3z9/9#Aft%lHhF-gk=S(W=-S9œ1zs:p:`HJ2i7Io߳huc})"iY5H$Kj+wuZV# ?7t+lO[nW/;ŲS YΰxɺLdyiխQBvWKs=ӈeXvNމe;K$o[zz0ٛ',Drf#0+]OvfXN1#xa/d)H-kԘhsmF%S89$pVPZ$֦c8ଠHR{%Ê>k ߴmY'$ q4g{Gaaj "qGsD⼉gn=;R[v=Ո_ƿ|LXOPf F,ck[#&k݇]#݇k[!z"QWl8b,36neD,=KbS}5"HE&D]}StmDe/G3gFe}!ƹBW.AόnzwuRJDJDQ]_3 yD#4)g_)&.Y'AVvXe&ڙ)\)iZiBL}7iD&%k$b,886svlӁDR @Mz$JjUdR8/^6@&1$b^0fD-[ynC*Ғ,VXZ8YMp:GZ;Zo#~Pe0kCW'[r a4ݳ ֔"~ ~&bXxDVvi#>}e*Ao1XD,I'2+'QJ2`{JDkX +;삞a3nv/b^vNa YJ + |Sg5y[:ꩠ/){n=?OF)4 4@#&@sM5n=6J4'ڥsB7qˠ'rG{@ZqQJ+ c{"R n;k8b{g'sX+<)$v*{"ƲƑegOKXpKw$u{?3%qf[ wHa3DVGLiİGD {ԧ$̈t'z:s*FWJnS9or):h})ߢ`Tv&-;Qc>qDz, ;L2HL{Lfw$D;{FZ]ךY6' 㜲mBfAZ-։tvgdri~?g;;>F6r\#nAݒKvEG-u b{ЬHɿi//%(Uaot&b>?w *QF(3Lft$6h^IK"7}@ZV>C:##:%wb4']#,>ogQqY YԈq/de3ͿB&3԰]1/I/02 bD kf r!^F"~Ţ_8_җqŴt6 D62u_M7|I{2an"d}l9$+SzKD){bQcg&YMcgeqDAg_LYN식'Og3nR>>KĞ[OqΖ-j9F"R-jZ:z\5|Hж}D¨_i73=F ‚@ Ti)$b>ݺH4k"aŷYia)DȽiêg" e7;5S: h<)_.9KH6 N&O,N3"mge)`|DVv잳6Aq=SKIİԖ~ SOm -/BZR"Vc N/KX( bC,>mɾUTuqԙK$*5J"Ȣ/qJ" KC '~akn">٨>Jb؝vMX:8ٗ%22Dz7:qoYDL+%)Ddz"q|[5B|7tΦ!/F=ShD?r9Ls$#dv*_zbUbM%,󦑵%-S}+%F-EL1F&]xA;a %rKX 3y1NO8HD{cS s{Okn>8{+H=ն7Щs ts3iO.re}]u~9^җ|o0Krݻۉzy}iAwϽ1Q%U6ű;"ݸ5A׸6UgبVGߵ~#u_͉uqlk|{&^:K: Oo{_ߛў\?pn Yxml4_-Pb˰Dջ* 0Cg~)8u-uɋmc>Zdz/.GV[E\7ڥ)^z)GEL dou{u<"4Γ X)ʆ:˔9 9ssH%Gت>JF5s>L b=gswjNfRR{'/R$Wm?WԆCr!uAY8@g }F[}\ D=p_SUw̱  Qfv 1{$ü Z"&j"~S+"]X퉆bW-W"2++;LJZk"M$1$vv\Jb[}áaE5 dl]\ZVf>ҐNb)=c}stRJP}Fb4m?,3TRmxը%b pYy"]Pm6Cuy#~Dt'lt3MG݊QI_i:'iwW.t3Fo-Re Hw[I9[sH.1g-^gՐȾ433W,5El) D&2crCI ,J'iDz7Y].=-k,DZ ,}Fj&3nAY &ɼ,7!5M#~yܰ[ʰYZ8wX|`$_Wu&D,m8|%ae Ld1ޕD&E FWl}JID=9/*QF˨)8[G"31/8\e&V-71g0ى.DV>ލ v-t&8wjw-SXQF1AlKx6QltAp-c$hZ] =8pĖeDS8 &>.FK:3=7#%" kiudAGmEc% AELϮH1{'b^2IH04Z"Mh'm@yb= b?CI90g8 kň) ?&-+qNz[-LRX',3B`E w [DŨ3$m2(*` "3ʼna'8Kv@b^ii[eHRq"׽6Ee/4Ly1F6hɍ;LA%Q?/[{ (AӡeH< sN/O0CV"U+Qs6N33;y"$Se =}&Q'Z M~鎸Na;D 2i_1 jQ$O N]2~|i45`o@D}YrwH,,z#ܲ#Ez9&7:'^r\:CT$C#7Ƃq]`S/-9ݳIhƹl]3b}=(&&A&%}fHYXu܏"dA8_ە7]P<7Ϝ& \>D;uyϰރ^9o"fmg=yKC9PJp>ua8b.JDMȰ]]iꉪDӨ1j,Qc1H4'cOμ`WzDv1Ӯ4w?%Ҳ/+ͼ}]"UҥGbzQH9B"-+C\wd Ds^ap|0Edy1),g=Kdd"(V|4}h.tRd_!Ld!҃gԾRK_U lYF]X6}O4I+ԙ֩O$ֻ=s#ᙣR"w]isK1dX+VnK-{j;3]OYݾ;wG,u<YsúY^LS->TIy^FZ& W${'I,V|O|5ňaa7Fd9ó7|1/mq.׺Ha; P'_Xѹk%Os1jgf[$|5ňySԧk]|^Mnmq1pzp#mk==Xph9qe͚9XjIXHm=eVr1o@RΎ=mw .K;6 =`Dej)q˜pBͿ /2oIR=>?Ě6XfuS/o i+ߤߍH87X"pG"54\R 4\ 1hcdqb7[>N"+-wY>w'V$)g3 \3lbj[)]#0G3hęr7? q8M*w8CY6g$V#w5 Q.)%[+w4sI AJms}Ǒ8(]hlɠXi!36cV$c(-K\H_v^4u8i3/ O<iЋ&rO+oZ!H:!uWh^vl ~\6\KY#)~-W8q"m+HVts%)/J*+Ұ>-p OUmu}kI {NXjs֋󎯱n9^,UV}`*~ﳎ_uQ{jN0ڲEW F_ ysqIB/6\H<.?]BeUUEާ_ b55ԌoBlb PG׋.z}^c!8j$r}n.@x`5Q~\i kW! Zxң1ź=#:47>|8]:q_p% ]7߾N~Q_\kUQUiw|5"e} FͦC5"n}x6\) ^#(sl'>x ghzm2O3 q]sTn ~ H\u t55cτ%ۇS"Qf}`@cNVZ>ځ6b X_D [JRNU{&@vK-,!V|D- /S0KnH|`0f" S1/O.DJa˵cODw=eyl_<}JNx"+G>gM0e91/y2‘߹}=1gԍ,R,c, ðr<:+ǙH/X+;ұ "u(VU$PcҜRs?"&vxG-g߻#nfvElh#,\V6ðx'4|_Q?m+~7|j ľ2vqDǖ͋D">aoq-/El=}q^}- y+="+tStMٲBTIWӃʾbO<M޿.@1s]7XTr]}2c+}2[P8qmb{ >M<~<[8BA Qfon"-߅#O€R2bi׉,uTk"+)`xN/1xe8Ag/v- TefXn[Oİ#[JB]Thn6(ɰ.FW6i6N n֕D>ȭqvdYdqYO,'j)NY$!/Fh\1)v'~d-M4%nHҫN-껪Yѝ[bVvENլi1GD;4%zND)UXH~׮X߷!w4슍H-vX+FeȯhZ bm+R'-R%(3c9/^\'u~y#+_oۤ,/36W{O/ȓTܨ&}q N(k 'ԭ|FkVOkzw[+ϖDOuU҉a&L =~IİD8qVg>ݚщVMwK/Xdҝ~zNd)"N'n{Ves}Bd9[RX_SXZqsK{bY +{`=ǐt #Kϴ.w#7| ✊]Dbk'UQ8kj' ?3}#{<QDdV~0[$)>iZyiv RﮞŲGZV>hEV"li6mEzhS^uK8iΣ>)yTc/STڗzc$Yzdh. |]g(~ϵ39R}M5c̵Q{%Hvl+YMrڡ> Xn_;ԧz.<]϶^;ԇ%3vvҴ\ORS*?p\q۶fdvG3 2:}Dg߶31Okek2dտl{Ò&pM'cҘ;Ղ!B_﵏]&E/ݶ^4`Ȟ|r #pu؋F[줆Z+_<4S9 &\ײCt +uO55\fgq:xnu=Re@mȂ3dž,P '4ͳĹ笷JZBV؆57!GpPNȒ!'0=~WBnSUܱ%-2rֵnCi܃/Pk={]Q2>މ9KxR{3MHk{;7&k^eP}Fu2}=jιE`D41}m5"x iqG.ú:#ILS3-i|b37jfhwε:u'liUe7k㖫:׳Pm&c!AQs?/pXg$d>&lVFkL~K[@vWp(44$wXWŦ G=#ZiK &zMrS>\˒p.z>宥yvS=ť^єDê/fG\y>N/f{cl9Bb~5`Cg޾_"Na Lױ;~WWBApUFv{G|fomHWnE}a۱ lMtkӞ LЀ Gں[f5)F'u(0}rxn6ک D\.!}1:ݙ=6mumYuYڵ4L=᤾psix m؞ fMhLbܰx" 98254 ~v"nΉ^<+Ⱦ<͈˿8Y^3ˮk8[h߁Ot0sTa{ST_z| 8N ~Ii-a޵faHqo6Q2`/H~D0էEzqߏ"V o%1MHq."m;6+G~DrV?%Ug-n%5Qs/R1yb$vgGVӰS]^V~U sv2n,^,k;k]>Jl>(Kaǐ_4}\1*Vml?M d[٢-*{hZ,EeCHl/85`p[[fΦ"w$pkn+OB;bz_vܜ)N7.n6u[ܢԏ(bT"OW"u<YpO æ[X^EadEW+%^b,x4'ܛv Hq@:L=K$J|`]n:HtŝX,}.RqZXk/kH"7|Un8Yl׺Y(]'u."Wo0X^l&K[!m-Itl~㿻on}ٯ K}W>K/9PԀ&y6qcj8.ˣ* vO(asLޥ 9\wRKcP)*`gKFIج]-O%Y7i>V}vJglzcbi2d[۔cs-1 (ib<1Ɓ%ڷg {nϵ1>ahph݃iԤ돕@wG:נ_F~~= u{D9#DV}~_k lYh OszG8{' ;J$b;S?wxFNq%㴏W+;^:3_m7L@d.SNtdTES8!+z'Ro+zKtIs(-MW Zpd>} -C3D:=7YAE\޼;(yOyYG3gWR>JjJΫ'@_?[45ld@@nymHIl UXľ#Yώę#{Ks15tDGCl.n`]p|jMsFbzIm8m3ŻS[%V$(mb;zĞq.R(xYvM};l_j "[T ؋d'X楉᥆ʎHD؋,#ǞveE]ؙEIbT<5av&!m;牄>;zqp'b{Y>q}DOvWXIaxF{"Qv۝_/E&3{#jDjV(aHav홊eMa$1= U1xHaG$w\h,=~[l^$S#KnO7@7+%bz"m_'R@İfڼѾ1z;GbǍ" έϊvTN{8[(؏hV;sGG$W! /-KsJDyu'`#C{NUmԭ|ܺ0wđDpAbfg8vR[$d[S9~)KIv۹5%j,ʇF8ؒq6q'$K]{ú{1l{;{n@1L5Ҳ/핦TOgl Ω8fq"w"[4I9C`zۭ3Dىgw"KLV"hL^b mCH Έ4oVgAΊuRz} L1GaI=ʷHX~4[Ǩu_Dp NHԍDLaq"YN}D7CXz)bHS&+ 8"+^+"_dl \ZO4җ l [nE"b+EKb|wic'Z,à DL}>={3^/#S>SnAҶuҲ|QcKQ] mJHƈȈyqGIS_Ks]V߻C%ڲp8=8XI㞰iűFZ3τ+5Rk}`ǒ1  ?02dVk1>ILs%N8 ]G j1mf'V.+yH՘9jQ|>gVIr/xy(0~Mgoaa45րzGs ۇˡ#}{F.ďl'N~_0ޞ6^4rsnQ-|^,B.N{_/y\T/~J뉨>$단,oQ1P\}z//VuI4Fih\Z% V`G=5s d%s`3EVj皺 9Z:Z^a%a>G#cQ6e;VN=rqu2bgݡ$jKTͣfFknn7Fm \,~MGŎm*ӹ_slL-/.;v h9jFF %~@[sG.Ul,8=WuX(<. Sp>W LʫP=Ůtgld*cހԢ *P;"E5pQwSpG@!blNbY88 Wq[^pjGJФBT/0)x$suUyg`x QU6fy8(y5$,ь=:IbfOwXyH5D׎T n^^hjэzo Y jWRǡq٠!!̰OBaBl-G/Iwg=w9<(϶'F~<ܮ[(:{BUqfF/4kr]}I޽G/G»z nWyaCC 3!3džT3T/ C#f [\wmo !\Xu<o3TB+rnQ8d(m# 1WCkDP>*j kL8߁oʨ`{LBȚ|2*S>kΨ옽&lOgPJw}CJzrTۓ>6dT XV$ۥ\lZIn@<¸!TB0oͽ8ؔ+w<IDž*tHo[T>+h$TmΚcaI܊ )W0\s)Ԑq!FԸk3P//S/[JFecMneWZF /"Ԛ>XBaa$<7/bWK-vbM鎠5K0T5JJ֠vY" OB #y. = Atn\ Ҽ@`V@}R5T;vO꤄^9mٸYFh+>{'ҍBvjvU{)%|4e,m {Pِ+T̸9<3V"V^=tTfr6)kH+_Xj#Xy-V^-BQQ1ހBqej' 9q w#zOe&F8X)'H-hBgtK٘A*4(bڅ[[TڀqšVFZ>YJGaCTo!Ao_X%᤬zKMG:󯸾9W)*bZNx(Oɨkb b}%* FJug`'ꄙve{K7lrfd6pü3V? P + 1O*V35(BkоӘc ?an ,]<N 0.)j;'%IC6lw:HI{}gd bR#!{(+5ʨiN )1ĵQ5H{xA*H@dP鮤ĝsoP mz"5LKa>i0҆>ji+ "Fu1J(Βģ pMcg3OFw2'-22f23#-[V$p?YOF} iJhWPQזsdmH> '[}0mWϓp+4OBNSp],dT!3t!-Gu?JB+QI 9(i2T(ptD>HW#&Uo ~؇*oSQtu1߉{B\T.N?9?ě:Z™93*LHi9j`\-5Fcpf:j)BE|LGq28Vkqύ}8! 0QP؆ru!H5BzU4J8VÞp-U g DOha/3j0Tb_X¥i4N(,k&d."zFEu[' #{~ p*4lf,,/BI8PTKA+ z&4tH؄'l ;Iِـ ~q**jt1^e*W\+'?ms&Ta?T`?)YAc|GJ3P qm@ET{} $(Cy!cdc0T4d̰Gl0h)>r6FPMba,B_AQ1Q $-ak]i{ 7و(1ƨa**P1Ù] ( yO2r|jF4xɑƀ=FM@M1rT!{T Y)3CԐ~ 4F*ľ0mQnJcţRhOC=TD9Cp(Qc<®):UIـ(vN1'F~t?ő1O?qL"nb(8 UlꡧAPakh!(M*xaKf'Mk=b N m]|9qLlTĕW>^< ҍ[Bv}QqV>> RLH=>!uH!5 Xܹ]@}<` n4Rʷ,ou/w0\߶PO2dҍoY|b32Rv$+6?+6l2+6fddlխp*ɡqH]Y 8VB,B B?Q T-M٘;ɾ`{o%d8GEcSq k*Y"jdH:!QMD5$S05z'aU6R$cQ 8E]Ľ GmPa/TT94 wJh;BEG!<)t=aF]%kkQ%dj VBkeTT3A7p|vnCEuzOLaԐj U-h˔QStBnCEƕQQ83* ̬$T:%uSSsC>ЧBGP,‰{qWjZ8f涙7*Vb,>фçpl`7fTQ%*| MBT[mJ}!< PpFF}l%TVM\ᬍ ($T:}3!l.~ `b9W*;vJd[DfXEswbeZTPMԶ WAIQy^wV8݋ټr22"%03B{P,Pf2G1'?>Gu"mPTcP4KŖ鎖OĦbyB}~ vyfpp:jEˁcV" Ú xX|P9ݐɄObXQ)>\<;ۑߎSx9,E<"K]DF뻑%|Cǥo5Q(8bjXP|pr<\ 1o;S)[\ŕ'}tiP-5}toGfw-Myya 9k [.X'OxYt 9q)#fȡOy 8܎ϴr (Agx>&SR@[XE&$`sh/2)RPI.WRō|7DEn r].D|rodRMD52#C7dij~!_c)#/)Xk$5.}Nx9Kjj3lh*7 yNY>\6l,U>!e|Hȉ̷S)y &MĂcXkTn S#^ui M\g\X@V!nqcBQ" ©W?6;=LjYp2I{h|CF¥vvdFrY:zp鋻uh@\TP1￈ ea4l=o!ؠ)B7 !;% oC{ ;#RrBB"CLkVn1T+\QN A[̑? onMomq9 䤋C[NTc+]uQ`o4j;]ڋLqdS֜973 Y "Geؑo8NZG![#ϩt:`Q<1TC%bu~82s]x?EBGdtN1SrU~}?|Ɣհ0~;xlč!j#)Cӏ@Cۑ[\5,nmoD$8"\G!CÑ'q8*qdR>m[[Mݩ7t\7~c͓jKTб!=!ȱCr(ːcI7Cn\Ufxɞ .#S\=48G]"CqZQ(7.h04ndǍ @vjE&;A[pFGlFč n@L{?ndpq Eg"CDV@ΔP],)6 ֟t`E/ǦUER Yܸck rdAȔyK-AxBJii}m`& b-t)ȥVXCuY PH,sD6GF>r..^sDGoD# ݣh"^i{/{O|BÚ <\GZt2鑧hZJnh󀋅:Ĝ8g罉 s 7sϋu;[1]ʍ9fFrgsOm 4ۆ)!sϥ/vb OyHDYj)6LV!GDQXD# !a2wP0;3nT!l=M~#9QzT2'"ߴ{uC6{M]6{"=D?q"~#Cj,s"Ccv|C.x,Y\tq3Cf.S FNxZ< |ŪP}A8 7. ao!\a8"Q)J77z߼9"zFqZڷ[Vqxf%w {0lqdh{JV94ˑQTo ݢ84#fG{חi+lܞRƤaԪǰ[5@6l(8CrW縈t<f٬9r8rӧ8rQȣ6DNqI[(f3\V3 vs)wqSf[ݐ6ȱT]^NV [2Cއ3 W]髰c7A.1/9K%2ZR:BƩ3: qjLd1hCwd#=" 1s>p )]-RA7Ct]wg ?q00Cy`c)9따(cn]m䄸 l貼 ٿ!}qSu黃Gno "x140 L2FZMGf_Ӑ-~q_.S>UX\Vbvd[M @"%2|1>ՙA͑-H{~Wȡ<>6\࣪N)A效bU'RH8> rCbGU|t͇pUׇ|鑗.v<^c5 *os#{K#V`!_|Þ4?:p T[Cܪ`U `A/T`'2[dd@d%}h#oˁWv_2}<^P##Oljˤ34!_戱DBTȌT ?p:.xη ^kk8ۡڀCꈶ\o*:d 2T}9$wG6߆|UQTFnT -.ZvγER ͞gӐ kj#]*NTg|]R@u@&2/R?/k8wRm&!_qO '[\$ yVR |L*nȡiT8Tg5Aޣg:`a)*QTgCnzCutlr㸀"7>IOWXBwT0߈BX" ȡͫ@T2|tEl{.>}YcXE|\LV65b{eS2WQW^DkTq9X.ۋabCxnO>ZÂPbCr8^n=h4b[1 tm[7|Oۭ#E>v9p t'|{^ c>S~L@uy(P]«.ȟeFjR?ռ~Rc#P;?ռs!T37 oRh?LIC3mbAfx`ܡFuD6Grx<\ۡ PU@k̷#'GwTRVȆ[(Tqɱlzk\rrvf KnKj!qy:[/,4֚(6 T!*u׫8S* U?*F>ϩtX9aCaŶJ[1 ,^ ,ձ/vJzy8=tz!ԨהUU 7͗:##W鲒Ԛ\ʮTuD鑧LUԒԮLX QX7DC-/7$(UcZRh& Xb#t-x> ?\G6](ykI UooghEdX˰W-PC6lh8\v VF'9k5'5<7+*82Q {w32-x% V0ccלJbX] 'S^#BJǭQ?ݐKAg\ͻ>LYse}^P+F-y8Y9vC5nk-R*)WK j S%u كi5Ԯ6CS%u__-rڢaG~ݐ';S5'|O)_B_lx ۄpqu*1wk1/'ڨ3 qA_ye&VךVqdʡyճW`G+ZQ5ȷZtDǰDCD{ +}[ђEr,|UךG~ PȯC6NҠ}.C-jI6< @š3mc20dԚ"sԃ|[|<7q(#Z^y1,ƔŭoU_dc͞&UG~6%p0&K_o!bMG~]8/2e醫:q B pD g|`f?53w]a;9VA(mP٬T(Z";2)6tzې+Cq(s(ěT|P"#U!A[c K_"޿]m Ta/А#}ZqdzFPtꎨ`ꠐo*G$ubs#(APt_? 'CP[DՑ#_RdmxU= xq(Z* ԒJC=2qm A鄔C$p̩tLYlkK\`th`(|d;[U CDBUJ8?D]~G V]rh4JgdKQ:[?p &V.ΤĪ|*7!X႞?֋Czӭyݺ2wX_OyͿ7uH]>O߮kV_ѯ 6D&NbRF˰!*fD ~!#/}4Ns«oDFSlזflBg.*NIbM\hE4spI-UjyN,%UiE7dZ=9ƽz{H7酌 rqX8n)=.uBUZ&")#ѥ4b!cJD2j lDT5O[MjP6K%.2 ؎{|(soج԰;;EM/Ғ|r= ȄӪ(6KUَ(T]{R>[*jnȑ3 2m7:T=0s͙*MUQ'7dPtaKՆ=Q*bXXaF "S7H7XRGb(U5Vk|yIE. r1嘡U8NKo ;t$b0f1b )*IMsQM^GsD}C54P9[XR!TK|U80Xm6hu+RDUV^506-GQ¼e)B[D\D!ڸΔj5L )U=vDo=ߟ ⶸUʝGZ WS/{{B5R rMMCho;T]p3tAbFQOLYZ[iؑrEuUv(~Jg:2rzO +3!t4̭|Uvc1 $@hfPZak>R^/z ǀQ =iSj)'FMXgKr4\nq7 #KC)vUQg&2K~كٲ(Ğ˖DcIdZh‚3fATQHS -UG&5D$^xƥ:5r"]Wp> MтQ1|P٬f> ) r=\/s:y 2Jb= 4"BFi54i WՖ!;%8y{*CŐ#"=Ш/Cuޡ[ ˉvYXwdd\)b-MbO\Ca/ù mu ~ _gG@:[43p ~ ~_gw)=\e)ZG"`{rsbl/*S}[QRc9ĞVȢSa2ZqDnюa0O?x Yvn۰3rH~9qdcepQ }. fXQPvB(#?(dhheV;7"Z#r\؃z9McjUGo? B̄6omπ1b vu )׸[1.U+μelq 9=ȡX{ ʼU?킐T=e$Iŏ Ǵ=D~{G̅_R#(xr2D&EB޸PVQ_R-󀍡hj,μV5-Ɠ(Ð34μӅH@.4eFm:bԅ @Npj' S e9rS^yC<8bSN ]r~^~G܀YRēXݦ 5'ۙoCpq 5 CzcA5w?i}#BXqIř( A"Sr{UjsFiv<h%7ķ:6ܬi*4`"1ԧ:2)HDK6АsNwD!p҅# (FbbKƓrMY隆sRU {aYÓod}G@aWpLvŮ8G=X_hMpܡ|kGD&^D~9{R͈`.\;r*;<=moŷAR]xTp=1rW@pYѻL*ePъ!׍]mf6];2)#crrrdFzα}Fs"up-zR9G5'pdzF@d*ړX1/`6`?5ĐۓoOsB"XՑ w7 : 2 熌y7 ;#w dձqBy㊸\*i k] bEBSo(p~##DZ3ciȖ }-վ"Ǥ^ok y{jG 8Z(UkPDLjR51uZŰb/Dy^D} `Z0P9G;۫f9w:J5"zaAd{z7:- b,+s"#{"b4ÉC3Q|wn&կ=S},KjOjlqDc7A.a\5B]6ې,/v z}3wv"r ^aoEň:ݐGВbqr۾kc夵= +5@ѼNJwb/G4n\ecx?HDLJ?p96AdFb uU3Kx?9/x3V6.3%hΥ;(vnDp뻈N3%D8!Td4k)i\:sхރy9z8/xDgNDD^Ç:ߊtgN0-~:l [bvw"C-}K/p*r"RNT_6_dn cQl|L7-VCNf3_To{dt|L:=tG~;<<: b<]_K M(^PLO[KѥMG&51`tmdmQE(q帰Tœ-1 ̅8b,T閙a#2 =h#o14|FUl0ZKх хCE_d[Dh(FV6OY[(ss&Mȴv21,o֠Z. YtG#̓CdǑߊekx~9!Ld4-!tt*w\+bXX7V.tUJudF0"TypH<5?p8o}\DsQח=O˽^M95Z˃R噆Z*m6'-CNкTF>6r9J ׽#2jepr㤅blF, ,A&ycS":l"RVz_Ak͌-EwG(D.GpQK[UR >U~##צ]V!2<*)Gm۲P#T?, J/ȋ|L5 B*|*cfStG!wH9Bh:8lpb|##f; KŤC4mzrnAYP @dc՟^ \ 2Ͻ6td|y[ .=oQmzC1ԫM?]uD,[Bn[H[[S*DyWmѷ0CFL" s"ǒ:;9#W+U |5l(RXc2)Lj 4N qӻ![2}za*]ƌؙNIi9R8aRQ^FqD1ɮG>a|II-݁҃W8QVbث 4PiC*x溑>n;<H*} F,=*6q3yÔuEy;|,89(Up}gYO d[-Uu;Dp Ԟ>~#U*5Fː[_j> Nކ2qiUU gđi|mO71! %4qKh ‹B慓=ܼp$Ʒ+ݼY%nbߊۓxRsҪ-ƹUJ.>ByyPߐFpdZ)bo JodI JsD1BH*MP#Jb pB4 G~;E ZF#=MD&,H#(dJ#l\x>uZA[)pl4]FG᧗ìeReƱ{!Uc6{׋Np;Xgzv;2.XVG4x,r>Op #Wwo)ej뛏4MC籬LU, CV!^T}"0'W蔸l& WPp\dqB7 {7zEi.[1# 2q~!#O]֡KO=VJ#\6W0]:blv9ZhngdQr[ UIEm5ktG/|q)c6u#L9֍ǑC^Dy[K3mj$`nF ~8EP=ީŰ10} o4C˰#F#W9d8_C;#O9|yp3##f5GD&7z"6n:ǡՏWdw6(d4nc>t"JϝӐOXF";O s;#(~ÊHEyRѿvp)(d0 8v+yV2qCT?o% 1[#ύdd7t[j\/lEJdypw̓T!!7XRZETԆCP=PU8ylp 7cC@Ӆ1cTfrP5?)~d}E;y4B‹ׄy{k:~ҷGlOφ%۰q}#CH'm\k3lh^}|[=%2Ƶ:"4uLG|6fݝ!3 Qo12DOڸ.|W!{0ďhj,T ;p~RGd!?k"*NQ)o<`͓jQ vg9}Yvnn d>p6Ы9~ĺ##OcNdFz}ܽT\ܦ= G' Ի' E.Rudz?;XKutnmbu녥.cnT!n_F<1r^*3-GN:eh3-G@΅o?z0_ގTGuFD ×c-5b ,[/oR×_/T%Ӊ0Ozl2']!.-O;F7LJlg a2P0p""B~5Q"6gc_De3Cṽ\)TȗG{n՟TwT{u_3;Fud}M^5 taz VdRl'q\em7mjz3Q^,ֈE{Q*8l:ok~6;Y dR\=ɶqhְy v~UCvGޘwuGGX>o~sGΏqq>_Hbϝj3 i3nwP#o"Dvκtv.o;C,zg*,g^κ䏼q]~YTd¤֧l2Oq2~n޹ȝOSg?宓?'G8w}J}GطC?N/q⨇uuyɏ1dؙ S#o;?Ɣ^d/|䍙t3bz)o1v`:㏠ؑRn#ClG;K؞"`R:?ؘzל0wdzW2 k2+a574+,Fj ^G|X2Ǜ>)v\ S~㎤B`ChӰB(s ]D;2tTҺMDkb%Sf3ȷIU/xVF78Tܶ#nbh)a"3 }2~#V/p_^A/ua9JŬ;Io^u,h܋AR~cX.ch#gZo(4_S,3{I",s"ʜFjk!/ƴB[f:=+9%_}/y+bدRAy^E4NeRzm*`؏]}nFEPnJ/2z#r9GGG.\D#|x3/)G /S0m לh74;<D@Q껋 Sk+(ׯ:2a>C61, TZY`mX*VaZ+*lGfμ5wܯyrmi+{(F: C(UR<@a& q5Bb@j=\]_],/V}ᑧ_oQXBC`.W?:|Twk|6&%6bY^A# ;^,Yu8_(hڬ!`c|PI՛h bQ ' ^APȐ(8CL@q 8Ͱ0\ | YMpj °ېy>G 4b,.܎XGGl{W3=ܫ°yh=EdK%jp/aN8U@N(o!pGk>ȒȶG:%)fr.#ŨQp#R !Hpr[z4x858`F|A1-op]z?%sDqs+B򈄑#`FqTKun+TF'&}!'}#*71;ؙԴB׋ y 70 to9=c5 ϥ\ =MGcQ-yM3l<r>(,>zp W}Gݍ ܘί5()O2iy?C<-g=J_pҿnGKRoB˝h) [U|}~x 0Y1^^ιoG?Pޟ (/a}kwۧ>E{`xG?P^=Zo,#dI~@T<<{F<;T;Q M0Tt7nGOH!] NG8 "y .v7So~ԛxMrD5~H'SLD1~SPC5gP:H1Ʊb̷FǑ|m|m4| ܨ~)HR/%?朏r.R7)Do>w W`Xo *}9:=Ezz{}TYSXD:)#6eUoqab&Gb9Ҝ799CkqJ&'_#bFo'C_sNV#Y,u'k|oFi F~͢3z% N,Jw? )'Qq“hêDiC8]u(P`cg4̅b(WCoQ}`s;~s?g·Diyj1O5܌*573Sę͍~ 2 ŤW~‘vd)j!ݰ۷FtdMc\`/$xPPNBqL*\1!6@V? (, (X@ Fdeěo&!Fj3 (&qB^9= a٘ѱXj2UyO+MNM*,qsCv^9pB$sqű%MLbe·S#6^JMG$i# &lH]j 5> 9$a}O\7CXUu>J'# nHXLG5{ynڜi:X=ʖȌa},r},5 ̇10-].XѰatQߪ}DXh`blȷ5+s`AVGaaMdF#U)|vȌX;ggEV`\.>yme|DbNF 5 !o1RqPgg:#C0oSLVDbo*.D GF iA|1NݚnJR F>bB4uz+,Y%k+,*b,ds34qCCRtxܨQ \۷ al&1C#ny6T+J1M]aᔱUVUrmSrXMD/qZSCsj10(@G渂+0@8& K˳Fӟ6em>Dt~&kzԕLlBMe-?T잽^ aV3>hZ'LXS_[>b2w[xzyߞrºXіar Z.DkC7zmc{'ņPV,Gx72\;:+5pc n,[.ƒ^-Q-L( 3 eBA1h!Id[/IeBx6{8.HIe'fz0dOÛܣ.e>,ǓP&prvnbKQ^D}uOq:rJ+a J'{8<۰R&#kCr`O:r~P1x#f ;6] YFq%g3 ;Bdz>%zqoDu9 .i ɤBSvOJv֫u蔴]dR}  %GzBNB" oOĕ!ߊwS<]DkÌoGOt9R"ʪͿrfTƒb'ZV@ K,Gٗϣ4V$'N1%} *ę wyTBL-Lg "CC!anXQ0cIڀ ;F/VICDMUrlM "ԼЇ#2Zb;jYU_"jYizɽdFtyT\R`nxwJpJDAa*ʮ CmE5? 9x @Q-E4>:*mִ%>8b=>*l y}C9M P4-І7a֨rsZ6iha -ŀɔÖrxr%!\ " [\6[)27 c6o܀BN8GFcpQn]DUptf5G4]x]h*N7f^hrq##'2;7&C*DJ xj|o?O,FyXǾ܋`RB 1`TCl\3rmS#пo 6NTax ]lroː5}hW<"q \3\p8P)GKGJ\U'0ؒ\p p'dp͸n}}9m ז)"݆8&?*.\w~ׇ `C <6ʐqy& 9~sd?bߞIU\{z}1u'y]lgG9꼏꼞O8~6"sNR^4O8D"61|P_S#/ /n7'Ô_IMj__*G\^3X`hӴӠ;~Ӏ.u~;g,C\0l!̍>+9!#pY Q^ye,6DF !;%ȱѷmaf~Ǔڨ~Sy?oLb27ߘ䟽Co#]?7T5=9rBw ,K?qoi(s3#s1lH=[#6 t_o\\=7^ Je~ύ;IMq:zn!2tؘGђ?M"zaq2QQUGnߐ*~z?pLZcmK᎞)ϩ}NtL;8pTϹcK`XQ B\0 9D|+C"Q(Uǐ-\'󸟑iY#3RϟCeb?+`# tͤ#MO]` {t܎#-:*#| 8EF(ÿђmࡆ؀G~F7|?m;2Mf?z#-Y 2JUuȩ7NT!qv|Ql/"G#7z&?`G,6z|vY&B!)qWRmKѳS`wDOBqv 8qCugUH?|Ͻ7F:` h)H3]$d"SKWG?zy1S2 Vd8|3S!;4^sڌД0\'0|)gMY (Lj\߀. ;Ct0Ɍ_*|5  t4fѳ OD㔰-PqM(d/#'of7 a?аiv7;3:׳iߎ#:HF׍'8@dhwS^Vx!x0/$,4@H*aXm\c^]3Dpㅄ* XF辐xu_ 8;4a⃡8P[qAƫv6o"^c}{KC9q>;W-џ[~n/k.XJ8;^7G&5q 睰{sjpu +|s]]+ d}Ozگr:sίυ +'7K}$~a`^'rzՇx< A\_-?swd?Q=_{o) |?p>JӉ lυ"{/;_wUz/-B3.M7 9%s9Yq?4mpe{]RNG(spᏜ/Ÿ>L>E^.9h%s68ms-8-7/үG2h3 ]3qwN&u.LY`^dt(Kia嗑;k8zaAZlBQQ&/6QS8FA+=rV_a7}\- 3 7z&|GovTcuhAuqv|UDp3Gn8bҎ g\^+ yrqT*eppw(^4V@E[_}y~N@b7R>ʌ Z q2Oo&y 9I;ARYvSwtSf(>}"z {}Av p&g)"^Ecfc&]aKV:be}AI\pjIY% Aσ4p݉WhCH\gVngG[*튧\oJZY.RXX귖>EHmkl2~`w"K`H]#??*d"KT[t$~@݌z7TPSo%p\]!V!$(s *gl\R*9kPiob=}B{'-{fWr?i++2v*[iո.T6(d8:k,xAAM(/ǐHuܡL~ 74 U#ޛd~UDC-jὌN%NW`S:R^ rW~s&2A5wo#)tB< ~y&_@Kӗ j_-Q֟]!sin#*lDt qB=ge nA1?fKoh:pT'\;l_P]vo`~"xst5f\~jSړ7:p X&1+lc~Fص_AO50w#< =3-9vUG77ܔ%N/kf+qTASV'}X#._LsۭΰΜ4R w]Ӟ!(!onkia5~_DBZf_Sk$s!԰}+dθo)۫8AP*\[/.idYv5Y73nU:!.کQpNjz wbjx\ s8U2Q)t?=>܄bωu` TAifTp9f~^Y8\~ybZ'k+Wn7hWQz/B?<{WmةXivݸNPx-<Z*d#=BWL:*tP2'6K.3>WySܥO*8]U0RA0\;THq> Ѳ\B*dBX9BEƔKDo?QGZIg0gP V݉6+"2v7E5415쯼? Y.|5<#%V!;,7ߙ̟ҢXA3/nXgVC-sl3?ޙW(\[}tv›etRVh%s_:Ca HC,9L7&(K[21:>6^_vŰߊJ;RTZɑ#G^_ܓl 9\ȋPKy[ /pȳ6 oV#[ )ޠNG1z HM:)xF&RMR*g+ : 4 6Y",pw-GmgQAy% `Xkh8d3~o d+ & )FU49e| ] dA~5pؼލdy]ӞXw*8-#;mW09[Ɯ؁P80#լ,IwsY-c*^}ʌu[t(ū^ ~!s#Su;&fl߼B[pXwbݭ~C&Mb;u3uUt_w7 ;xyI`St-M$ Qa#I ETVke& Y6B+dU{9PY WsO7BS+1,RY!s δK&;igpSۧ;*rܤ3֨OqA#uaA0ևXpV% wP*U^hzԕ//Wl6ߝwG[Y4u_h/ŌBۭ s^#\uЎмh%W]Ys^;GUB[c AaPYn m*sƺ[yO@bf 뻭,6+'=m;9jv9(h]az< 5yn㵂2XVkkMP0B}SV#}-`l>ΠkE :d`?jzWIVV-/.*&ݠXYk8T g_h#N>3n)rO'W{Vf/}]hKi4fZ_Y+H"8gjMMSou|p\iu 6&=I&BgWO lT,ҎVa/e=Xi~n~gR9ݼ-Y!wOAYVy )[ʃzUH1fTy3su>Ve0֗wbY|g,RHHJv:"ߢ :{GQLG w-rxP+Yc=TLp44[祴3}3ENd^{6ZHm8Gt&2})QH,`ӗBJ+k]iQWT/ |{ҕȖpuV!˅VgpLm6))M5Y> ,/}?PpmXRry7!Y(`Ba]̾5kiu X2LYB[Λ9: E3  rNAt7m6شʭPiC7 SicZܬNrw1VZVV?B1zaiqOBbp *ԂnZ< Fsz-l)(`b*_`7:liGkИn}J[+Ts9k#ѼqC?BdތԨf`R-TAgA6xL)ۅ{-lP\֐ĵki\0jЁJUS fɂ36Պ[o{IVNvt[21gc3v*6J9Ϙ" t{s+Qv}<S[2}Α"m#W8$*g 1~,Y932WLm&udԣBWREp٠L5B ԕߤ̸I}M:T(ZRbb}g+mig U{":ԫr_LOf$ڢي! ?Ut~:TuQ🪾 Ԁӡ >U#~j NHD3eO"?I]G@h_7<{C9O]*xڏZA[E>Qﭲsy_wL-S}f<Ýqc t+|<*%yPNn@Pnjfd~TGԦ1A?1Ԧca HӏtX1դ`lwٯ?jN~Zrq1`?_,H~Tgُh~ԮMJGc6{<~#c.?/ߥ< m3~kO{x ѝx>ꣁЄgnݏ%l{gf)޲?&)qf~g8D÷M63`/~g'QdR)G ͺ@~fGjf:r XAnf5ޜ%~ۢ\n&siD^AAjvO >@UaV [Qs~h3⭆ 2HЖS_Pcxal$leZnO7lYݑ*-1> .ӧ-h˴fOٌZ dVaOيzP5d/7xVTj7tQk:jA@/xIS8L &[Ta}U8 &I*iXN bn1;MaKs9БZ|(RHP5_?_euҚ᭑d`UB{:U6$&>̳r- fZ,GZǚ/Pwm2Mșؑ`BʌsX0a{*X?wSW~-P2s"60nY#/]NpPW~ Ze2Cn C 0CBY5ƒ!C4`VACX?+9gOgpPYY?{O > 8)ԼV'~ sB]s>Edޫ@UX \c QA@W?kѽR 6ŬE`&'&kȶÏǽ'ʏb5f!ѦyY[1Vߎc`i|81?nT,= r>1eh1 <۰o {_ bmiVL-l;Ͻn8a񏓍9WH4w9>'Ei K1 OsH;4n5fM\9q J9ެ}i} 3=mENxLa4}9TV;7,92iV|H!SX3|)̧2E计;L-nV"'[Y9l ^é:ÍOpMx-Cjn*[!X#d+g8a+pR f}'[YU y^' K!})$B{Ý+\$|*v;~/H޸s"@uo\ZTx*2uQ'dpȧBc\`y%l\Wb :NMwOwF倸;qJ*wjqF}Ŭɛ|;QeĸF/d (Ow=|"F!-=t3tgրQhMwjk;jK{l_nrp *mb :$[a"tP\QVAJ$תPgw=dؾo,"'²˓gI0K4^Cnpլv!w l MWjp#eo=)[(2`W5gUKBZ8߯VQh 36(YAV|?֭GTڙ>ԧX]evNYBsUUsbQN+अe} f4iRo©X&U= _I{kܤ"8j~vJ]Dj#%)歓Lb=T9j6D@HT lyī5!&̷#}`Wk<BX'6j҂݌¤~Ƭ ܤ.e56 fV(qYh9E+E+kEYVig řĢUPO0iH5YdL;pCRq% 0gh ]]0e*5 ݾ,R 6ɠ)ՉߠZ2ZZ=ۗ)X`ؿOy=KƯKu| ‹$H&CBO-xΡI- R'1 +4`PJTXJuX>ԎUG!JU,X.VЙ";/]祣OrN(yɿ7;/MKc)ǝ:6K_J(go9Kdp:X.VĚw@YpЕ?BdVƫߪP=nC5R`CpT8kΫ o%uQw^&ym%M}׮9t^bډVDo%UaCOiw Xk*2\X38_[P9V:Bfuqȭ2RޢIpD.fŬ{q#rR9 ' o-(qD jGU{g/O 9nCկ܆RwPTPVtPG^FBE·zwz+NTJ J'.7~)3>_] bb-wB eQ;Krot" w;o[Щ>ӎc*po@=i'NoS(I)3ܓBZ{Ҧ឴gT~r>: sc}2[+Qp 3{_z հ U+8TڛX\_Ah!*>h2\x*m )mjgw6t)(yvW0\֮zoC[5֮8\:j8#؍hVt ON"BA[oSDhT,|U&@W=x, < Sz r@ PφZL?Jb(dQj 3˵'fE9XC6fo;N4 lgBCm{Px6H$y 1)"rAvtgV ׯ,~eN|(s˷̉U 9rA3hy;h^ǴSh# suhWV+ PirvQ@܀Qa>X7˽r#t *ruz|/U(e}+!ŗ5^z;rvWxjA2?,VXڭ.{)2ugw=Rq]I-~eA~EHe&Ul 8bܧBbVmtOrbV-ۯ t,ze_l-7Hrdd^Ux [ Q[qvp8#UPs@Qt`GO8+\EUhVBqQpNY䲎ΩhVSFs*ņ< lv.&Ptxco3T3] ZJs_OI+<5d+hv FsPfa4+@i6t*팉~~RηB+q\Va>@'(U*kv;fMl1rN0B{8-px>< pV 5m8<|92]:{:{h~Qjtw}ln}dYUh\_5e}-?r,_.^J_BB/ant7#X\VeWV͍UM2Uȴ8!l%2f<$Y6mh.ܡ |R0t'"_਑gjra%#2hFΐU&+M<ҕlMa4z4edYrB:] RW+hJ ̀UfXIk^匕& 6<*y і^rۣB*g%hV3ߨJ)4 +Ƃl,KoUQlWJJRFSUϾҤr`% >rVgjմ]Z+MU+MuZdvo454p1-8 8T6Gj+E8)3%tGzfy{bUP2DtqXPޞ8ȉ5/]5[vr5BBf7!5s 2UA -*~A9 c$jԆ )4]%~A bgEo3ELS{d=ϪY3MiWd> c~AvVrKtqbĜ _pމ sӛMYrip9rm7z45oLSoXn"X_WQ芻uu`\W, @Ih6RoB7awA&rv{{7{_($n@ͦ+nw+iBVVR?;L룛З*S\WcL+l*w+9ў\B%O+P2ciV 挵dL.Ub×>4L`<"{F #s2|iQ9XK~ ŦҲ+gPQHߏUڼ9|-9F ycpZ2B{ BKˀ])MX  myDW*8mQBBwi#*T1n2݌d" kIUOkQCgo2ci)bVni_lFމ' 6`bV ֒}K&e*=*蔱dHVF&P9']d"j,kISGQd" i=GC@ IT7揄rjyG9rMnR]RMqkVMf.4Yr=΃ziKw ئȫA츪ɰOi_{7`];>ONaO%tM߀E׭y'p9t+yV&$lyRp"]k(ҮZ-W|mSPy\C%5}QX<~BJ>[ZڢdAcTa%(0Y=QrFޜ'Ф0cJ2myI.W8JVY_XI;I+Ʌ$2<] \KɅ4V>#PQӎE ?E*[˵4mN7i,22n*2Vaf(mҐ9q\ m6iE?ap*Y*xMK MjSPu'>ʹPOBfFKH$CʁT7󋙒 Gؒʊ,qBfV RVL0(.郤+˞ j3ku֙|Anj'$"0|AKi-2fq 0Gf5S^<\{/7SREF>fQp >zYN{*Yx*}C%F|i6qqF3*dݙUp];BtKFVŏ9P̀*tT]2AP qN#QdٽwQ!r>fFEJ.Ey*FXn%ӵ rJ$<01l\#o:(#o.E>O 25tIv;n"Mvp-ᬰmVBWB{ \, GWnS={82Su+P뛨7QgM*ܥF0EIb5UEsɮ2SCoMݰ̣r&*zT#Ew<2a^^;6k w>*`y(]ayX^;5;F;zx+')i'2FX{!٥py(1ne'_J6!3Dֹ!u S᭰lyNPPr飼`y8(Wl?[d}0S(IrqG*IJb [<6EIHrxȽU{g|*zbtTh޾yT,`{>dڞwlnx6);y5ez^^n Zj|%?a+BJ`Sx95S( ߟY^pVWr" JkJœ֟_ -ɐӿ 24;*STX7XKVyU,X\J!s)`[-qPG, +d|=(8kUsƄ&yB&;Meu̧ :yc_<^8,#{Q(B+0?syI1E}IwGa{K9d+-JJɴ7 @\緺4Y6cnԂV;Rr\ht.}U\U+5mrO WSޚ*K*%m5 mUXenf*rHzگrMm+ ί}[W ɾ}JBgQ~# 7BF(R}drfr Ȭf򀵏Uo FVs@RY)[I_¾r>hdQV +݅7D8Td+3ORrŔ}<T 1ʁ`@ Fb)4Cim$z>U]жH0|'~o 9wOi}Ȃn06`4f}+1U;ھ'cZiWc \PZl`8[:! 5?5>q{QX1*TgEql'JV8TA8k:.8v]֬oUiȚ_ɗ&q%*J~gVN: T H`(Tn"1טJ&VaV#k6>,qvtj$ NL5R )p3- V^0G{° Z4E>i%SI*L,wF+TdQWbÂ|S4>{J}FSk<dA~ow:nȣ&V#S͢~K<>-ͽ~o%(U Ȝ uQeUe>ҩ'i&eSHMi{@rPiUOnZ=YO0XSVO@F {tl1 VJЀFuM%Lw *(sŧҁuތXtx3V|W0ųLd+.(+NO֨XNϯʹAʹ uޣuZS![` J'N9ҩavՂKu7| M7e*X]n%30 C ޔWHЇrN6ҙ"e)dlUxRĬ[UBW;Fy؆[̪҅WiԳߔWd),f RMjlwڝЛb$_R,J[L2*w`A. d"P?cΙ@Q9X_ 4e UЭ伾"Jp1慠]yr#̠6VJldTJ^FƘ&'Oj1=cX[:\,VV'Tdt`wM1TȂ`.{ #c,]YfjU=yύ15:ys1"f8(MlBFMPtsU݂8:Vd+پs~ %dg)bD .jHz&E c u()b|IN馭f( nٍ ȣdpUk*s9#'?a+9*sF=]YI]!<[sGjEQeSz{@vtUN# d|H= <%Hc ͻtMe!U5b[L5f},D{}]>Bq݌}~UeApT( 83c;cA83e5kRuH. ̊d>|g8jnfu_P{I M|Mm=tP)M5?F鮖Mk V< 85 qj{U.t)$t[)#lәUUv9;ſ7H ;ۤy1i#[X i^B|#͋Cҙ;PHwԴ $ui-VtE+U-x]TPvPYA.yD.U3VtuQi,(mđbui잙UctK|d@^tgF"U*v~E35- 6u rMF"yD. "NY F"usLD.]V n+;ȅ[F*vgljU͌D."Nɽrپ;QTeGiCʪMPwrb5 _'l␹(q l5ߌPA;}j,fCS9 :Agp+H_noF\X3ך62?/)vkmwAq1xr^F\Q)oII'z޾]9){!X';h L5v姬خ,'o,ȷ+:jYs^oI\Sh\`n׃saIsY446_`8S'k$N>!`{IUڙ OlTrDaWmj%-VmƮUZ!".7 d, c7*JX7Խ2Cc' J編 wu>(+(Vh5g%VCgT8+\7+L&syBNV+i'T'pִOH2hb݊\@ \gFiٲ3ϖ} 3ϴhПi1mt++ѡ }O+{>ZwQЭljt+t+G?qx{? ٲ.ܞS>nes͙t+sUrܧ%<bO>Bȟ-[:ȐB WC[~ \Wh}ԄVp];| ;9'W1VOKG>>_ܹ8y+?o@F㿃2+}χ?'Ty~8u"`< fVn?ؾ|_**\V=NpZ+iq^({L0Axc aZRNT5pVa*8NQ0_}R3NV `wh4YcV" f%E ?? +AtAtVfJ҃p̤T}P@VYUPx?~܃V 6=`?݃Yp%wT()_\igߠR|;L/?TS'G]OO'%ȫVЃxpOin=8k%wB~*+Ȭڀ*'ƬvFz=DeZEupr6nPɶ꟯(!s>MӅzpV*ܵ]~%o$bҕM2gqQCƭ}$Vh%+nUVC([,Ӎ(%JPÕ[L nW^ҍ#ȟ b= ]K90gjVAuBn"++KmҎdC9 ׼\t/V0Q)?xӌCGc)s+pT8,ctw7^QIR#7^,hQi[ƭu*eשU.B3w&k?`W8JAo' RE܌m6bmx:.mëlBϻ[÷ ޴)1|6< ۆapU_lNicaWڼ9|^Z*#n{ Q`y cgz<6Hn~pãBS(9BHrQio')a`xo}2ɨXRVPUqR`<G3?xVa0 '6SD%pem7'{J޼Oؙۆb`pR96T79=&}B'jhܧX?x >onxj2f"*PڰpQ|ް> +xJHx .w/t vVC{M ^# E|AOޕBHFnUOD0yH9WiWB(mPİRPU)d|pmYp]U~K  R&!/t0w ZwIUB.Vp41cɹp IuQZV[t\#~ n]ܥ_7Mzo1jndh:5A |;~$E j}0F\2ٍdX T447. y5WShn0n?7#d,n?~Bl#X+ƣMgx#lir#.ZyWnLg  '"9w@1Cb N1VLؗȸ jnQaڻ%/:|W>'ʴ8 ;v/i 9n>1a n=6ʲBn0ky=vҪ y)xBnq:c pwZ]_ke-wB,_ke:{Mg`yM3TYbCYܽCEm ]w^Y]W|6W伦?%ngԯ`&CaF/12VR[+ZQHXMkiT=\{*oh Z-FR>qnLS.64?Jk΀\Fpjis~e~K `"tV]^(T;"w;R2+[U۾i[MfyWP9ve&q3Hu|'{?oyO™,z9~nB9܃,Zp>hNJJ̎›bY ʧ.B۳q5|jyHL!qB]R_8]L lEu#wUx!/AՠpP6ArPPW8RAfvQSCUFխ|zܪ+r>Z=߮rVPŁ틍łvP=8ҡqvir AE v NȖf*__R:&,U8كi*+K3qFqȬn+{U3gyPiqu?r0Orݡ&EI|Th'Pi*\U\¸["5a/͓fK@43\7OE/k*mNQd9W)gK$1 Ӻyb䞽X/ѳ eN4jd/Jd`g䬽J? Y|KF}=zh1¥bJ=5tV+*Pw<5Y=NjAQVsqݏb 2$U1V_S@cr4&u? e?*"Js ? ($(B*?͂q yG*B!5YE*\EiOE'{V_ಮ62 0଑WwdӔ{#pQf0S**/d**ӈ{)-\B쯛'ɧMsyǠL+W "|Sϧ}CؒM1n`n6p ' ٫}՜Gڀ=:B4ʌoA\'c#}s7,ؠ#[$ßTڛ>\o`RHkӃ=}{9MHPF& T]bmz"sljа"SBY9TQp] !N 0E{P6vރ6v"R[Dڠx{PBw<!oQY{Ҥ_esx2u`jtSn3gO*gOqo9/S;FiRo=xJ'AhcZ=_)BF5U9Y#ٓ'ϞaV' >jW.1ߠ 8k{J4OF1)m=%>V%M]#>14Oյt<> ׈r1t׈I|NR98viAd 5Bzvp?cǕ;}P} 'ۆ l &GasGaH.!7.󸶏%%P "?O{|x8थ{.?vRd\?_p~ bL{~C{  ^(n<O , V*{u6ӭMϷ5k#eAC~흎ѹ7uwI䇥{#~tmGWѹ]ŹtmC{k_^~t-{~]{֮ u#S6jhoʿ~cF7^O   tԱzkiB}RlEMPFggO,Jok;52kR?oV,<.UX%x/ ׍r󑉜k˶ USJE|b}AP]u?YDį+n5sj-.3N*} r+\]P`Kkz#^u!4El(ď<2ETԏ} WYIK#+JK&Ͻ<(tI)yƣ )¸~yӉO$ܷEzϮ:3ljH58d'WcBWHi~K֙Ra)TaLo#*6CR,3*o^%_ӂB^+Oz/|hx-I{-2@w+B,HV[r/0EnZOCU+OmaAr{d]|7ZŞLOlB(g(tZdS;9IKRФCt%T#zV$!I;04qD;AMlNe%$dpT=k~:*9/4^xiprGq25yN2)ț&B*sfoPQ8ƀ䪥',4yF6ZV$-A6b/mFytDΧMo /2$xو ΣƩBt$>w['@$^儃o /q*+\uI|X@WO*EUf6CGdrxg@SMt!stLФ04gUQ)`ydMĂk**RmB(S 'n\W)ĕ<\-h@rEo5~{&OMA'M4yj9{ohҫ$\4yFM:J2<-7D xiwOZF{ 88p}\VC 4Zk=BO?H/Bɶk*L)#il*"U~VN[d¦4gW. N8qB8q+iF6z}2F'O'@6z9 BhyӎԪ$9u&Go`89xX҂NBU@s\[܁d${ٰd@FLMRFaQUMdNZa_!::eaY>}>*><+j?S^i/<<'G$ + ^%Rʐ8+٬gxp|TO55뷫k ULrlͺ9`c0e@-$}A?DڢGG+o0~F0}AB&/߈Տ4d2Ҽ#(4Z%Jax/l~m#NdBUB5F_8o"8R1 oFp2UuV qϬNgH+ ю@q(^O;ťwG\pS$Ꮈ] +OS; $!ʣb!'!iaaEЦG߮2Bn} `ϏG[FC2+nqW} Wx7d也Hg{pQ~G [#F^MVNo* &{r-f"SDBo"G-fo翐C߮$[zo7sz3q#f)1uqpbo@oqlH){7URO!=}FK K ]mG(G 7%exԐəx{+MÙ^&g֙Ԯ)I&W+\E\R8b>h%Coq4lqGdGv,mQ5vF{ PSIG[1&6N$ [oqP3F!*W&OVGs"J6∉;+&$RWLn=82 PJW-{BU @J8V:ʡzghUx5i-dnCM$=+¤uD$r/YGF}A``VdQ1ňMV [*_``e=މ+ۜ [/ZGɩoCuD$ r#"kG,C"@qDĎr[u 0Co:Bu|_Ht_ @'GPe!hAW~Ll&ugMZ 9|8h !3=`|q٢EYIy{<[9Xdg8bҙ=8by {Ǚnc3EQshK`Ep"L+xvwBlI`ީ(cSYQ{h@36TR>#: {(ⰶ7xOg n$aHr$ڻų呰4W#[W#tg+JV&l8+y ٿgi VQI,<qo{&~ 2MYIL8lӷ[<[ųj䷕ɦ2Sux8 gqu#V5c 2w!*$7,^1KfclYlۙeųE27f9F ƗnH[;\F٥0ư6(/"]/*=_$W#WHlLiѮ3ʜw # {LY xqiLn4sb,bT&qH֝,G)$\$QS2B߸o܀F7nO&BqtG=b7@S{Qxq5ɞ">u >ΔI&#%Bw24cV^Ʉ,k>(~4cƙZ&ߎ*a89#E郰M<+DAfu-N[agaSaUImcԪI*ϖٸ6*2-8jVI1{p|vg"WAgfGxlrw+Z:d;E =+Ii\M2 e~;#o=uE*}*쑧 UJ IT^j*]޷[#Hz0d7 X4qE>g,E{.d3V!y 9T^ 3utؿ3@c)TagMamϰlUyWJIX'۳0;yA_os{]f}gA_-$\2X;#q8DZ!7nh$la#vb50sbÂt'm}+q$8S3ʓw'_S:3)l);Eyw(Z^Jn}lW~;_]]]^)](?vMRu&w/+wxN'xL5&t%vBv[ݗJSܞNt?Q '1x,sTGYAGET)^$ $nתM"rwc`Mw q#@߉vW@t&G"7;e2$!ۭVN<:Z0ow Dd0sdϖ-9ytвkTGdOtLɞMhݝp~19Fo1J4Bw6!Kٯ'|wxܸ=AJz"Wa2 T@FlL;cj'ətD0ҬgtUy]Z4 G%~;kGw\)zCU5kVeפ l ؖ>V L|:OB]DBEddUrs}mQ"4둈\7dtM8~I1XA?YwJĘN_"[@g%F˞+Δg%s"|RB!–!Wq4!^Kg-]F2 ӎ3pDKf)A`1d%@t]K d{:@̪sH7{{iO/WƦvaeo`C(;pοCPIy_(>VbK,r2,Y 눳b<5FZxad9D#9DssV+EI3?G5FWG;z[ `"^؈搦F&N"?R)&0xM,` 0aH+dOæJS|a zCbo0tU4(rd%Ã0893!KMѮlgG 72_C:g#g>*"PV&W᧥T:O4!묇M}ILoedYƭb^I8ޑ%˕e8fYg SHʈFYgHb7}99Z^uY/Ập] J#\'Ǔϓur]@!z%UD_K/JS"댥Žr.댥~#\'g/1Ka}e{"tSLƩ3f skn S&;*"+;E߳\w{g풢N]$W:XoብOϑXC8^S :ۼD?2a[#I"ۗJ!T_cܕH"-Iz Lz(pV{;걠O5V&'r#X]M.;1l DŽ)~[|8&bAGҕ&G:6ĩ7&ol9V䨤o5n7cBL>ʈN76 5xkhqjL5 6JG:LaxG~5îr֫>$v58:´$$v/x~I&᰻$v5p]9h_6;JJ>G?LA ptG_XߋUgg' "HFog9霍ȡŭDž&v'_I#}p9L?HB OY 33}C-61"fTj}rLdqj85T:*+]N< W'm$W=㘘'ySMEqLhz>a1M8~ 8&4 Yٲ*2[OgxN -Y"Wr*):(6:(n2MB87})Iyl*Ɏ6AҿR$W8&٭tL{&8x>J)&8uP˧F<e1.وT"G29+W9;-fQG't d2Q89*=V vEǧSζDŽeש119:+ m8&m68&Ce1Gse8*El1\}*@V$E7c^d tr bҵ@d¬sH<DtLl#-MvJ)L*鑽VVf9jehN89=kN6 N; qL ~kyeb.v[ @f>UOa.V-ݕ&_j`1KD*c1<:W>sjjИ^]J1TeV*I#[QI}k2i*l%mf"+yҭlJ$i\x#y|$ۓL3߶И@}J hg>uWG)1 W= 'zv==q.;sAa΅O¡Zf͚k46k. ΅G+Τe |CC\S&R8;?TCc8VƂrcuA#K*ҔIj%~o9e}q.h&q.h}q./.[tK啮<\8%-pNa0&At3c6iAXF2"*M.㣑Z䪕_⽀;\P8EB"G2|nPmI3>>y~|<TOzŹnLm|LUKw%p %hf˖yvZve6W \0UeGBsFj5啜MZ:z+Lfshnx=B@ v䳖84~\:W8앴2"/AR֩_u\ 8/VY_ ]MG\sA\Pe7v\hj'Vߎw!keD;>eu|qeG#::>[/j%5 N"[42S?rg0Uk oNrk\q_UƏ98+C&Rj 02)Mhqq.4V4HHQ#Y07r:gуj07VSX# + B_Hd Wh@YKArp.vTN'hqڽ2ILW\#h-9s7>>98;{`3968888r0#--m ՔI:b#[.qw/)F{CU씴cx/< 7<2b6"7@B䃾A>1Z,jKYn9 ~Ob_GA@з>I$ƛ3 " DROlx:T|dSЅj-y%r4αSȜoI86rڤA$\`Ԯv-= $]ّJZ%GYx _e|5]S,Ԭ :{-erfDRkrA$xj&A$`_1g2&| pGJr8;d=ƦvWL >NHAvN#)8#qbO N]CN~:!o6VG2Ӎ B5, G0(đjaPiWFu NDZh4(}6^i#Mүt*lLNK^4Oe+OuHJgr+};_tOl\gZyҝ;XXN4C]`+ejejyfXi{CI_SZDwLޑo|oIכA^`J p hBG/t$x XE1Xi`R=)o;u'v@j;o !r0k"|&}#B>xO!!vBk"~)<|h_a_д"V/~A\]~K!ЬC %07P?4ǰ8ٲX<-"۳Ar#P3c1uLAIt. }Tz9H4a:>(}9 qtB|<J ŸrfD{cDCOBϷ\]F4IJi<oc˖"? JgBh.K"p|TѨs5R<1"ĎY/sYƖ#*[%G%q$P䫼*zЂ@rfЈ噟-"/mef#^;gJ"FZѲg^Z@(p6Vp1Q2ƈo+# 71Fkt1w~xl2&"'iE@SC)!`0%0^ 狠lI{q+b4.FA02[`ɓNI/Nj $kƦHޓ}r@-} 8/eDtWqFjl RkE="}/$:TނDhVլEVqHZ߈J6E@"䘿:# j"vU>/Ԫ~I<Uuq08W1U 8ɉ8 lÇ@8Rrٯ'Tǎ"SLu3#j&P` C6fo0.걣ShO29Sh)Sh;Wp}@ ?<q X/% JO̙}[Ūʖn#̙99 x.L9 (g#L=ebٻIO)1$;.'L&ɎߙIi2LQd>ʙ;o}I:$ًlf}0> )k3H-l{"HYJH~~[YF OѷY=#Q92dF#-wr(BJ^`̒tQx!ƌHHJ]w֋>Ro5 a,&%$S@Are)#H9 /A[-t \8+#ْm ~[5V</X :jjB$tALjjX%X M6"6[@쳒+}VxG܊h\hcE J:FN;`+ɩ*$Pɮvlf@% 3sW72xhAG~|f $6!$feH~؈ooGD%k(hj*+4C6Bkfv& p"0dmpD7Si$ lV^+BJqg_#<|vwܼ*;!aȝCsjKvw39ޓf!RMe5aȃ\U؈'p2W4#8%&% 8ރ 86?qǮ qǓ\ALdVwF<⎗Z'8$qǛLVK{*o' +]tW2[L4Vi䈬_TGxYȲ`Wqǃ[O#K3;ldn;vMq紏ZvlT" @߮2*WfvnXYh2$ROr@OMZˉ,V!!DkAmJd&ge*d1+D"*JfԌHpgƮ~AKE O8E$d'[L6?ۧzJmD#W| vp3{ P4{P,`KYKȥC@RK5^D.* rIjK7+#rfGTUr$c mkj& m+h{TWWp$P|dꝏS;';3<`aFt-U+/ ;~S3p;L&DBۣ4v'i?Caxa5U\ q^HX 3e,L3X$t{l$Xۿo&Më__;3|oADr>*῰.[MPΩI~&(wۢ?ɿ$l;un_%Nv_'^^q:x _wAJ]"O*?ﯩ'fZAJڪ#B~IȤ8p`V[p`fir-TZ/cR=I2ET H^z/D=Ngo!*'o!*ϧ[|'sg^~ o/jg<[b_mF-4 M|%,oɟlɩ&VQI 9p! 9|{yoŷlj~Qxoۣ==d=]Mg=lj Ѭ\![#S1gGJJB<W:pd~此'j<˔nB\3Kl-K"qgG5s7s˶#r†K&qɗPKJ+W/f'לMM͘I9E'N2!|_S8]h= ᫖Ow_u;%O6'^x>} 6NxDNV<5lOBr+9kU># }ٰuBz_e+M(FbURSHbЕ:#R'ۈ E KD:uFNdeˁlx2c9Q8D5NP˧L,9~~*\?^eٍU)Ӟ6^q*W+KrBzm29!]\+h*+`NH-2٭G}S 8!}սf#NՃLF^K5qc88D*_ U*؎_ B[*2]SBu ?qXWIJ ?" wǙXSS,)gdr;'ggc":M6>gc`ǃCTGnʳv0ӭt+a? l䰟ǏјebreΌF!$[\GZ\ԓ!ҙuVM +Vfr֩XdFcW|,ZV\_S'vf4V5ZeQ"zJWRULar!% 簟n é`UP@IND%⹩N Sũ";sŇdW5g+g$rr;Qq"JWQiUDNEz8߮:W9#UjGz 3q#q'q޽Z-; NҸw.xoOo%O, Jt2pܘh8Jh8c&DÏrr?s%0DD1"&EQav򓇙C{I ,TMEv`rճyeSeKND3찝Lkj a$/Sݾ8Ê+|/\nHK q+:Zܵy}Mc-3\n>h@2p(#X XNI,m;] }prr'Bgc<3»2frwe19+)?U4|gJWA<{gEFrssOGIgyn >6]xcc >6dj)ROil_ yʗAU|l|l49* ?5/؎/v0d;l75usl\vMddp\oSpTGףL<;;%KN;ߟl-;W>%ввhshL^'g~lٓвM΄J/WK+jrD)2bf[E\\-8hta8u=?ut!вl}:drW\m5]S{\mruZY˂릫 |O~>׫s;WC«]/}q^kF {m|7G־vGkt:UښQH^kk^kk:/ɓ`&oN[$bb~`.=c\ZG9߫B7W؞8on !z\?|u_}gw8]Z׏~C7Q3Uwmǜojs@Ei ok|Ax]<4\pOL I{v&gc'52pOڢ0j´:8e)2L"[i9_ViU>Lf{RSqIP´´´laZEi])r>Bl~d w} iUL´*&ۨ??´oVUy!*&aZ deĮl<[ĮJb_IĮ4+MMvDΦrlqC\Wm*-KFF)dNŦF :7VWyզl~ %r*-:9vN;\"(pԂz2 b\":JBw6an*BkOBo~2_S啎~2Wv%l'3dUtúE*(rTqrV9:WagZh&@4 MX<&@4OXiП!3baKn-URRFN[TsR9+R5WFSxLx$;$z84;st''æ ̍l@w6aUPߎ$zR($b[ 8 b ACdrŸNɞ ' G&WIHK&Qq9!jUMYNVFl$W-so~G9NT#NT^u`N%ɉh`^,JDE1}{{$Lupb]2rC OT[v2sg`*@ #`:X)>$L8uk5Z^\;*}ΗT7[ߎt Luߝ'aLF)rO!O*ҋH/¦NSAkNBOTv OT@I&io$g-]i{3llL2.lLVj*phph|J=A&qΦz 0K}og69ORUKvAJ( .#R^>Nܛ%TuHy^Q)Hy]%>dBإg6!'¾~OYБ a5l*9wv$j Krқ \EaԔY4tW";89Bz*b4И:%sBMc^;R1W^4z:C 5T[g2bs]"')R̟IbSqW)œ*"w#a F:r> 5/U9JiT&4Ė>ry&VN(aKɖbK[.қx[JgĖF"0˓R\U\U\8FQ[:r*D405ur[T`K9ۛAzZq/P ,2,YWO0i#QI¸d IG0#O{3e(;yΑۄL:8@h]َi[E-D@[ߎJaQ˫0q>%=_&E&a|PL&N0qrbaUzI!;Gm.қя<Ta=^I+Mc=- (Lq`6 D&z44D>ssEkj֎vIE;j'\4Hh6}t>r&E觖뉙XGfb=T9k䘉uߐު(TLSX9ϖNM&3:RLS2rnL[+v8F2};*D>uTW0rHovT˞ J!F\Azـj*a =8|Ho$S#ɺ{2$~d6=қMLꇃȑ[ J2Cz~+Wދ0CzkDMAzOU魿lWV2V-lcrUc˧ɓtқVSfޒW')3w+#[%{%T" 4D.!  aN@1  v6 {' ̦9"xl)le6Crr]W+8\ Ts@ූ`sEu͆]f$!8 y6Ur|hɠ@hr_<*WON;N 5}?#p#S)L$$vYNޓwo d*+i.(9ޓLYI8q殥{qM{og%W%w%Oi*7*{U齪^j*;-Jo!EAzwMdOWDfD=ɍPt&u%3j95nfD2#j YsŒK)dF̈UӘ)hN+^ɬ `FԐ̈:fD3][>VQ24uq{jd661#q*Z68}2۬VbSSS0 _\;7ryʖqnl*rrrF֚2qoU٬Ü [w*2ߩ4z%gX5:'dZך+k5q8o9@k͆ 3%u?GjZje&cPUx e1FEj6he[S*[[Ç62Jo5u ,nycS]?IXdEcɫWVVz֬wjSdE qB\y}!5#9㭏Z~ߛ䌷>{IkW˸rQFr__ld{6%Z OIW ^%| 9JJ'@rs֦Kd}!5ޜHNW \g}!Ͼ뿿{%Ѷׯ)/[ɕk} `!D!2 q=I'-nDx0ЍeЍDGϭdXD,_-u ƱZGB\Rl$vԒm5F,WiO`+W+Wcr&B\o+bS׋CI s̱GixhTsZ1DFC$_h$W`1Ԭ~k˧;"RG,b-9jeM%GE9XKܓVkeQq.ɱm3nQk5!1wNRSt&"|ٯSCY>IBI3|r>i#[ʐEd']߮J&%$ɀOT4KI۵d#5y^A,j*5RZO~{%ѮKi=NKi=E&^SxI|iYKҺO-%_˫!YKg͈lJZaKM]zY/ G "<ؗH#pydrY_!|lE\DDnYFDDT,|d], tnI[I߶Sk_gYЬ^LͩYWSs "U(xPPVK@AY-uh[ķDDª &"- ""^ũRewRh?6#HDdܐ|)$Ӈ䮕O!#8^ Wr 8HL K7Fhm uZ2/B FEAdY@v+yf6( < j)&ǨWw3NHE*W:v&ؔ[+!#|n^t\>\LB  ,^Y;ZpföA\6l`-.b]ɑ`9u+yԷʻUr^Vp'sbz]Vg1SNH'yGfktҬ"1^J9H]4ɄX_^316A<.6򣕘-S1C!Z^IsD͈<_i*<&^K3˶%TjiX#'$Q \F[`2 56-@)jZ K%cfSi7Ș٘By๷F~L ufGgzvz@'sO5#Glzkધғ຃g< ac$9rmpsZ3`#K*]w Z_ϕGkuW?*{j{w'Aj{vV&a#33:%4 Nqk`NӳӇE93+pڞ?1?յ39PVarVNϾs=WO*?]?k2siʯ;IGWf%kϥ#w5smX-"0ƌZ|ߙ30vg2cW(zV/` ^k" c oטU:2WQDdO=w~xQ6]?KQML?" k~W6W}:Zl7L?k 7oMg>dk;.%-~k™\~hMӫ;]?O=ѭbAoM;{G@f"- [= P4E7-nqPY ܢOH ⢭G>Xŭʗ@[л bI*6ĕ+Kf@"rky$dFI$d1n-A&: 8 } ; UZLFKdں\ {0]@&~pU"ą"ؖkd  kfijUŝ3}PĉZq239rWaYyu83r8Z!>ڎ 9>!LJ܎mgy%Iz&~mг'Y3R*Bv@V& *>ʠ,gQiKL4l3=Jy&`oއ*\qH_ KZUy$2 lHje`Ê %yo `0߷s <˕6a\m\ + 2ziF?~f~t?ޟZ@{GkS)uƏ$>~ߤt,?^D]Z;vKOKoG}A?. ~~K.O{hK\[os}&GCg\Z uwo#t/cKK?{]ZyKksZGV h}&]ZKkθ.%?߷_ h7+.jG|/lGz_v[_!G/]5數_ʥKi_Zǿ!Gƾ(93K _$nۥ'ꏿƫ~Rg эқڏYQC? uQ? G#,E&^, WYX*(B Kmo=}oaK.O1zu\" Kw6z{[O~Vi K/tq+,}}A]haټ-2kCq|~}/ǟ~$We@/ȰLEsiߟ_?}?yWOߏc 'G?}71ͧO~׷{;xh?[}nb K#`~?}_o>R~}}*#y} ޚWoMMo~|onwݚ*7})Y/QC{_/ B/{~|fg,/oXk|\{?:+_xm`&ZG@Z΅=Ghn# ,~&軾;_ѽ}Q:S!dAaI|+3FEo%%4̭{7* cfT>7*}픷^h{)_>LnnU^!/{/{ VhpfXJpZ/kB!6ҺW^ Eޗ}K_קH^66;2P7N[i<2Y;ǮHyņ]q|]prk}=B~wRw{& u8ѓ:`pr0dpYP/:}S>lUUƕ˕[:ܥPo3# u3`R+.v*aGgCp=9)49j39rK/W5{v[ [~T I_6<ˆM8|В2'p dѕ9h"H9kp's;l]7/lLl{dY]~wGD`w 5\ApcLdlM&{ 4\. W(pz(ds>LkR+c prwT9>1N+(L^GP1+h"[c1 a{ H[#7~]%JxUIK%ؚyJ [nV'qH%+sZd}>[E&@8TlQ\_qhqhqÐ !7!HX4P3nMC FhHo3 Uzj.mȥ`U*Xr# e9!Ҭי@84y6WLtUB-7K392i/0djNb^Lfm]/G]r5mȔBφL!S>j5L|"3y`5_-9Mi N66@-)TWф MaQi Z0cM^G /@1&/#"gfc4s4PJoA,&dq|~6y ?UK^Bw&/aaܝ6!)z&>$"\|BM"BM50 zoU/D XU)pe`@|^i mGx Gx W}ǣg<_!7gf\עg.c1pe26Z,jZd ys>[bUAmAӷkaoCyV0/L};Ntxv'{'lH ' Cmg~I_o?~};`!ƓՎ *ؗN IEoxmp cXHBOqN5gg\5'؍K1|l. [ACRKO}G~[^k&-B`h0PuBE 9[GLDZ"uuDg$: X4UO p W3IB^2Y3Ҹ'Y+`L<L4x6 <(5;ozW3i*L>rerշ_N3%Ir$gF+; g4кlLZEu"/G>;Bklݯiu]_ Hcmoj@K9pnڸᾙN{xʕ*0+f*wUS\U 2O 'G}OqH85pqHA 5SaT?)nj;3yٰ)~ RaݘokTaUj b5Re[#4HR[[#={C][ [[ວ֦ComZfaX~M=<1.(bҳŸЌۡ0y;+vz;luu_5q_+GyHR9͹>vvҰ" Yˆe%H(Kf+n9p,.UdXux#U̱mu_?Z-9oop(rvbF來q-"VS\Jr% S rN 6koY qq-ƅ'Ox>ԏѱ~w%(Q*<76NǒUtNCCZyrV2DErY=P+2TvXz WfVsi}t*a9EL4ʬGZ6n$e+VGf~=\=Avp3lƵ{ֻ 8/6]f ~feeƣSa}[aaӷo,웶}*"Ŝ{wMiYn\6N%lg=!!mVv%v{\5M4^$bIVnM1󐧯#5&q2303rx'}W. <}Z2@v+6N|'t!1_G&kڄ3%;%5,ߛ!1H7TyCbN[MYދis 1O#R=={MZT2 }Q#!1]*2F MW(?d+7(]yzUna󓉯 -FTjרC&NϞI-=w5@ډ kZS[i|㩝TSR5iz2=$^*Ҙ/4R0ْ<ֱ*ۇzO\rBLwHȖ+LLvgʦcŕ=Iʝnذ\{T#gF;jCA Ч cH]͢F\m“wY[r\{2D>_ \\>u3y##KCrϮrٓm:$׫l:Vdgr垻̕W&w&O\B+iZK`:6gL3!ާO*{>&s}5\ "a͹'A=[n>c&glHY2Y3qgLGMMOrv$ T>cf=-gV3+}r+LΨIטNWf󊚿yȔLT[&{<;a:VLe\A'j~MDOOHLpȗOk˕I[t/eǂa{,ϟ Xh"MA yp†4~𩴽'3&MJW8no$P3&7 E3Wv$|H\J{?=$ I߀3&a$,ueGx B~®~0l7 RI,$t$i7 &Ԝ[$h#gM$i7 vafdē$M>pe:hܓHSZSMjQLjLNC Υfҕ +?Wf*W gx)XO,D# TZ vmm0[eL߮}\>[lكR}Uy \/3 @r|@gӱlub%j~g*5`4}ױ\B";ge LbO:٠5?pI܀iLn0+*j{i:Еøv[QoHF[t@tK#f-]Y+ҌtLH LNJ4{!ӱ۱Lac)p3m`2'g;L|_W%nHTW;f kV&M XL~u@C%=\&WpW" DgW|,m%#G<@c5c$=n7dd˕{&ke]w Aۈ/;—uȞI-HIӱMwbEj|_tb5*7eᘎ};(Feʮc۱H9&k>$L$XӱUO"{|=ijXIt$wXyD@ʒ}peN*qLF=TA=[P[Pq5GtQ C8uViM*=mױI2uz>t,{uJ{If@P&&w|P61ef~>}ș+\Os^2^ 2nrf2J㸎$ >hN ۭ:vhNW[v0#ӱ5~ >UnG  I:l@}le Tv*LLk%d>"+Cxn+->>V<6< Ұئv=~c;S*)U d]Ud^},<8[v>3T Ty(Wi:jKC%RS|JS&b<tg]Y\Y|/|f "Wf23yRWfIlvgc5؏)RU_H0˗4UOeӱ6L:)qzIӱHó3_WTvʸTUڤ/i:LǾW8͎էaԣ ydaV0bJpܗ }ȑU(K>%SЗ4i4=z;nd{Kc1Kfo^O^#{ zd'k X{Tר#B$ GWܯ~.b.n.y*(UJ]ڬp=h‚Iױ2srAc^dsɮfIcF*"lKn< .YSWf+SlϮcUzr`^2*Jf6zf$Iw$`LǪt#KYn{ Rշ`J1G>e@T;,k3yReK=URϖz-=D Օ59k7GEW;q;,Y]޷oK=_6z~ iJuܮTʕ*]R=peJ92{v[;g0ؗA]/ע929sϑZ>WSƀb{CmGS=La\ /#i4pp_TxF3WKfi8^Z|W%|W%|.ܗ:-^rQUKmGmؗV?O[zgyz=pOV^ݸ.WMGK(%n v5ϻ%5Wns6@z~Ns%s%{<Ҹ~ W~㪮N*q"k2anoAjBxF.FKn`\_;֎ڢ_ W~.x% @6m@UW;GyJ&k|]rhICmITT}A+U_JJUwșɕ`wWVpI*V+vVڞͺ+Ճ4jܱݕ4ʔFTI;[swݕ` T=RpeJrETڮ +T+lRLЯXn:ߣ%W≀8d8f0Õl+ gb.3^~R,i7-XA@R7hV<"Sw+JӉH-=>#j/3\rM[o,—|>si<ŀ蹁][`^iͥ-X߭H3 h;41NU=|6FAt9yp*rGȚ*ׇ_dmIiLӊ44-ᦩ xt 4]2_-r*~U#hQW+?r+eW*d2M_Mlڟ_)xL;I5w6^tkI)SSRϧ'HLKھH _!B𒆉;3>%w&O"5Xil ȑIccBLS1iiaECq^%&=T Ցkig fvFo5_誽(s|.͗/si̕W[=դg3M_iK\iH\+VKmO"4}_Ft`q4WA.1^94fIk4k&{۾̋୴ pɞFݚtҝKy_Bt&&%!n,AΉ]+- ZT qV|)U,`J[&^\'VUX5j4nQV)*3+;'>GF%ՄWR;?+c<{.u-N*m/n%Kv^2*UVK}D@a}GniQi ׆;ߚ|k5UdtQu#`õ(t-J[{_h_ )$rxC.m0KZݤrx3j X߇yU}}U~4v]1_Ӣ̴hn$\0kZSiW KRK`h<<_&K&\CdWK`h\gӢ'@\t@J t0 [XaaɀPSm' T2zI3Ma#@4#"!-ǂaPt[CLLZ ioq-)*Z3}Ӣ֔q[<nMo- s.p1?ԶGq0ME\yd23=(%19jj;Z9yIƈgX0Sf,I?|KFe~83IO&3wH|hGaDLUt]3uypsrՎפBõ]|N`ÃVϣǯI+]n{פ,iig_9 )ė_ B REUj6_[$ȝɓHעpZ@*5@R@Rf@R"e5<@Rj0{ZtufU=l/X%KA8+Iiv×R>" F-Z>(^$.k}$Yf]>|MamQ&"^ҤA= <, Ӣ[ fi-JW35kRdZ͖ۚ4ٓm^Ӣyfi]yzɼELL pj+'zTy4_>^ն)c<-ԥTv-JWEaôh+lRyW \STԧR VdF)/ u9 2TԸᶧ/TY7(T=idT0R\U>TbUg3_\A٫e!:עpZ-~)%kтe-e(0(MaPL4V)\Z@Euz+{]lKpKh? JmZtSjMZ}{l:H^$:?(iXAR<`A•ll={A1/<*_6zltDgRUvl) -aK=7iSip,ŽI+32oR ǰqO5siѦ)*Lд6҇YY<J%m W`ܙ R]ڬh f!g0k+O=Yhʭ6i7 [^K7RE5PT5݋pOd|{4jF{0'z.4 @Mm6J 6^1GL@;lFZl_hKڢ O¸}%3[Tyo^ag.4NGxf_ 'mSJMoӆ05Ӧ+wUnNG]&hk>4_ R'2B\2`jJu0iӸ'6Uyz@! %;hZ0ڤ$IhtҢB/- '(dZHă ܼ$#kd]bLKF6q #˗ɒ^iȕCB*RV?UpT`uԶ>+RVRHYa},r< )h+wILzT$APL᢬B>Ed# ܒ~i _@6Ძl8'j;2Mt29We/dSAe* dPB3@ PO=$XC6} BԈIt-JەX#4Wa%ϔJsٙajsLͩWQ)͵#k&FvfWW'J# =eLEg -7Lg$P&P!J}LK9YBtʡL Ҏil!ter?/=%s(.[:)QZUW|eHjk4x䪓eKwQ=uw= &-e״ bPƩܰK ðKoK~eJ_]lh~Z7 1? Qn]|]|t]o#fGvii6ǛOm0Omjsvivi>/μl,RE_Oc]66mWeC_ Օ3`FzAZI} FEtN_[2Vk Xz{CިLܽO2Vk z,Ev־:h> νp%34` $:ly ]mpMt8K8t:;'5`Ilg#f㛐;܊OAz>>4k¤YrnmDgfg6_ K6,2fmV$g#uu82H58ҤG"e18RE)l ]~҂/MpTT18`jsF6A!O"vSbrF}5]mgSڄ3^MWӱA}MW &Mm4qc2 p_ɛ$F'Ƹ' #+FF.gFEA=Ҽ7d/|\GU ).io AI#U ',ѹQ= +{rUHrxl|LO~L"O/]˵ʸ0ҕM*<]nIt5ġ*'; )7*/acdO=KKH#w9@4L Qg\7/F2/3lo EoJGqTiF'ac$p b#!Zjku$*)` ێ $9yRS̫0HSU z1&]*#{ 'Z\OX+ =yǿFIZAϦ'-iԇczӸ'=izR4=Yلn^rkq Zj|+8 עȯG Ȏ-Wp@ *8f^v$cR  dQ ෂ:0%ִsNK{#s*UN vvnd ʭ'zSi<\t+dxj\H 9Nz ^ZkO6k'ƠF+ߐ+vԨ@:69kWN1Ql A*i \y7\otIU:2wD\PIK%z0W%GTUIKTX2sJLг\*i4#Cf(F 4z㈜iFxժ=̨7!ښL݄T~̥['IOIXs员m̨/ GLmy0@1UeEioтƈm2' QG@#^:|d) mgm㤮V.݉\_j4Ъ_?ŘȞ+4533yRe$K[9檨p4)ɚӋ#W]a Ԩm4iȞɑ2ӥAO?Qs8gr ?n q{ƸRC5zYcIS6jS)FYÔ7nblf~|poL[A ߣk7̷LJ*ps܄y#]IK"@Ӈ27)DO Ռ ni/jkU$9g&W&:'9:|u:8%RW3+\H8yt$ib@hobHrG[e = q'b@<2Y|'k74NA#[&{n5L$>UY{d@V4N>Y/؁ LO3@l&cJ֞ jT@lF]slQA)km[KmFkybT$M#_ME8=<2:y]\@lUF|bU{ć9Q۝VpDGAl]12PR9) .dب(EF.>]83+km1im1yyTZ32T05a$}ЩA}UiOlD<L8 S<uScg%o OjkQby'i0;}ڢ1V} J >wz|3R{E_AHóYwfdo6z {te&37륶G=[X9Un`ԇR{> #i,"PA5#lԕGY_fV#g\Ŝe Q(HÒDjhj;^3,gPWSj'0iI"ӷ$qWˤeb 16kI"J DChf 5Ty5Dr(U@4}e{h`@4}e;q,JIFſP/zք _e@,zv$5=G$uȑԪV5/@5:l _4'[OxZ';'ue%I2F0kj:Pmwߝ~/ ~Ldd4N:7z*"=#i_/&q`rϥ ӄ\+3+R lB&RۢMDzvQd/UBõP̆Y`GΪ`L&d܃`) Nۤ Pmg.ݹ4`WȀY|\,r =m`Y\mfyfQ%QQem4L]aQLںM!KPȀY]9Z=l,S+qڶ\nZ4YTG&NڪoaԳj;sN\FO*A,4!P;z=ȼhWy+tW'oo3Uڂn Wb`qC|>?:ĸ4O/&| x[ >1P67S:Ҩ%qUf #Pׁ{̨ƃ :p[\}) ѵnpF 0 E.MO* y8@vlN5Z;k}t<`cDߞMV&MVU6oN5#:[nO8lN5̩5lwYHÜjNaN5ܙO*r^4M]Emͩ֜j*`N5ES`ٞa";d<5pt0!G&g&Cͨsmi?!7$n3t ժ@psM5?D9"F %B@71O*AÁWp•TR`:*x`mUnؙ:?DT<%:Z&d>$Z'۱%ű酛i@5BU0Ҁ]V'=3 =p!I" 1W'3KWW+2RFd&Yոdf5>X^F̢-nB2<" t#g&F/df3tRҖ{{НT,HCf#*9K'ˇL~*1lFGb)p)hk2 7T, X^қH'`F3vrLBN*@ME~2]WTyn${sz!R Lb *Q`~Q$I]/ ^тzD/GzGU+Zn^yd d+ES{Ŝ:W|{'̈d+.vU]{N֝d+$[* ས؆d+k8tP$rA4DET(W-O߳PLKVsW'z@f#0r'P$MC$ ]yS*h|"jL*gER ]UDosv**=i%&WʮFZS"<3D]Dɖɞ* :(W%`W:s7Nu`#\mqYNel l7`#dH邍\<-qF6vf2~t->F1HW'J O\ {PnFچ+]=g`+ii7+-uʟ{'*2@Ii+S}b!Gwըi mÕc'U9Ff3L27YW}*xtp"חI{y+@+;W+;84Vzg|7ͰU< WGvW'rG+G1Җc&v]oNdjܨ6⺮g׳Y8'%\vDh[kNd@ڕ㆜ADN䕞ԶT` ])QT9n~p"S= v!"=wY֒$[t.`W=_ ydK]=^9 ¸o{20I"Y]u$Iƌwn;HҘy;DNO[}0ݡ;Eϫer 0D{2CEWfc4]FϞDEq?r?ȓSjҳ;4a !r'\ T &̮'e~x &(mdS+ l` AA$HUW \Q $`H' l]YNDFsKYN`ý`0uYN>U^osg9~ Fw}h'YLzeT_QN&"KNLA|lx;Dzڕ6bZ0КiOM0?sW--4@;->'}oL܁~h DŽqcTU^io垑3_~F2~<20([L-@?^4!ЏWsۓz_b4٨-\G&g(@?@ C~eF%OtV?  [:Klkz0P4xwtSF{CXG@vh #|G*ǀ0=C?H#f*z䌏k`=KC˽OmGP`= 3X|w6y`= ;gMwթtbNj_IJd|[Cd+}@}]*LjJǫ-3(kʵ+=|)&pUX6yؔzyz$т[c_DAk":lxt,Vc1gguU#1ѱȮw~vlxsfYȝz}"ܻТl[V8762- ~2hB˴qȤV[&:w ]mMUYIT2 ]GCeeiҀ{Z'j|"Ƶz`>Ck N5%g>ʻC镭*v2 D\Jy$&Ʀ4$ =Ȧel[F54+K~9Z*WMdYyK 鯑57(X)*;3diGƦ`HKg9M kE׎lzލz>gZe+mDxmYzƃ] i_cgIBn01)皽}_cd)n/9x_#WTB}ko[_./ނ4:h`'#Li5^[wU!8׎rdI1r ԷDcl[ެ壮𫮓<ǣ-%_ ICopC| LW 4X,)^h)b_Ӎ98.vt%^p५t5{>U5nK(+tPGZ!!is^Tॻ3tsKwq=#bMIKwf\M /ɶpl} ]r#;{#m-& B\*VB cL>S)S~1;Gfe/:V葑rr%tx#UYb"Ж1ex(By#E葑mzT12*szI ?&H˔␫0<"ۖpυe5EW }.\A=Ӈ:%Y}.\H:Yȑ /OBBK }.[EV3ALP>TW:YM'82Uǣ[ȶ} ,mBstMDɂLK8;ܭ6!I:YYl/%,(5Zkv:lT' I' \S ,8:I&HX&NwXYq8 LFeK5Ȁ"iLַ YXdNd)-eB' %*Wx!( Mj)}ešuPVxV_X YZzk^|Jda2躜#m1<%bٳ7iWq֨z?XD^':A!0FL *gzUDx]aF6x`ϣ̀*9$DdNJh/8" (a)b[DP9Yzpd>T)  d3̿K/]gϿS *VU1~n'7d'+$필륋I{suJOOXq;-XaB&XKb7 $u^HBYz~lnN𝕑7(b@^!Kf+vʎ,l Ko.N7N+dDò#Ko~) ˥]#3ƒLDܼ,dj>IY!n^2yyTjr-Ѝ9 ]YSAj-JPCnyI&0z|sMPctIMb92požUQBTIY%Q.^BG ‚L֤Yِx٘._J&ȶKjA'8F:J2Kk~&;n<. ?8: W㔚N┚my2&sS &Y0)FBGÞ6@y=ȱrd'񘕑F|#r*^zz[/H#rqa_zFqb'l;3B?3"T'BψMG"29=#%3B.=#=gDMV^3pZXpDPn=Cői/CX6^Kcwҍ`o}&gdWp#ʞJF9Yb3U =#R=+rGi:HWW9ZR'SZNԕ┺(8N\ᔚ\.%8^(_(\*PntX\))U6NdppJ}n~GPn@y 8rA)'k f$Pn!->Ow"+weѸ\| NIWpqX>q'dWpmO;qIWp=qॻܽqWpmA\ e+O\)ZHTˊ+ lPtM(ɰ>&](G& 0r =CMrJv,eLrYm6rJi=cv-n\9"yVReWع9 aJqJYPع%Pnr܌Sf$喕O{rByV>&}C^ &}o]-1|[~)-~nÇä0)X8;3rULF}!o0)+Xaq ߇C; 8;u4rUe5|#8;,nkP\a{`8;E7rU,.>m< ]dr]l;MYˆоtLKW+ڗ}JVt񾰒7e3e%}0+kr%$ 6!vYZz5B6Z[a٥2ĞtSt!LwVt-+~.CB:tOvu^ζ~:~mw,omt+*/]h`wC.vl;V»aǺRx7T8:t(vL»aǑGݰQݰ*[ݰc(v| wUnرUx7P Zݰc  w)$>Iwne?&' AޑxnPx7k( {t8[۽ ե;~prߠW#'  w_R qV3h,o7 Gݟr))7ݵA?妱CVx7hzwCI=$dKQ3\?ee #v='kgP䛰7?fc ';)U`ɟrЄ  pg8o~~Cppg8qQ37V[;oQ\*pg[)j N5wCF\pgM(w^ugpq^0t齷t>'{zztz"omzzM[D~:λk&ͧKN%Le*Lv{s>齗v>='x[ Vޗ Z{wrkҝƾt'ʥ O݈ދoRIKWKW) ÷l{YK^N&7fOq|_߼/^(||>i}>4'' tW 9evȯ.]bUV6>Wv.)saΣ^zCSnνS՟6s/zt+zLm|7?n}!)7=Ý;~{op3?K#k\h赼eJu]$nT_-__]Q~TOC5ru穟Â;iwq/u`E)?Fh׋sn>N/8b ;G~7x/fϋwupX֋dz޼m8׀s2/l//ZS򣿹{?(#?]}q.K'OՋ菾Q=^ޤoNzRWg?NMv=x6u?_7z-~MO3%o8ї8뽒CШ-1O?O^o=}?Z{(?AY}IA9?6c2I,5'س~j+ /w7@%vq.Nz'KyṀ~{{+#77X\ӏcSw?l]^AvI|Yfo<r7(ޮOl,93OυW_̇ǘFWw}!Z{^d)TYդkܲpwu}! [䐐INoS$nGM¦p26#Kw^ϟu~pZ0iߠ2ο7g-=ȧ oStrџ{5|QӒc*pxe[Gdw5`o=i/JI{pCA#r"D^pB9 p~Ȼ8?9ī;C/ \p~.Q8?r 7lPAx@#\*p~nC \p~V8?ŰKwsReW{pwwLnR8ҝqoȮ6 9" ݃+[1+%ϸ[YpDrkB Bo_9$ʺR,3vZdp!%x;Tݡ.N饝t~VٽT7x XcxcGP1]dA7K͂[ꅷP!!9vHo\*v0r!jehm&l mg mYZr'$2#f=ϯHRB9mYz?<29 ͫ'xrD&%Od?Ŷ].PvD6pϞHwFh.59}N gU +KOվl| ŶfIh3!f9|hY]%Ufް IS2+߂G> mvy{~4}/*7Nxj=l\xj=o'ޓ]ݧVj,Zm㉗<5}>r᝕l;+g,yL-& wփ*h]E.Yr)+O~M٥lnɪRrYڗGke.~!SB*7x͒Sb齨LF FPA]XHWjZAIF뱐zZ{ +&o!0yC,$&oYZi&oLagL!.CNc`ͮ !K(q,{gq>Tfk0찫{R s꫇Xtu[Kϫ!C_,.ф55Pt4p[:^:;f'؛e,z,4 7#؛eiݛE#]t7f#b/Jѵ{3z,|ƤFFXH)%%i%|2Y. tOqQ(gN'. Jp<6. J!Ea+(HXP(ı%]. NE!V,]qҌ_c)lLɕ. =I]GʧYGg.\,JAEaPt@'=. 3} $$. rOU,jŽh(d>Of饛 1Ҁp> Ξ(K՗`Ξ'a?,We)\|sǽ&ttqQ_ .rx( g\VD<^k#\krI djVn/ᓐžq\27 '3%$ݾxggoȸc}4<~fߐqfE}> Pn6,&;/ff 366O$Ed[5,,+eY,M~EI-%Y#>ppcge\,]5Ѿ(Sp :c>Пϧ} 6c=c36Gs#WRb4l\Y(>k:5KK /hGMk?&+և÷ɘS!-g- q:S"/s*=%v}q36Ff"cN;(<(YZoƘ t#`.ێҘ *ey1f>X9Ш@f>y`، {gʄ+kFdjId22P j‰gJҍgJrit# K#KbjTFD2+cW]w [ "RLu ЈKBm3T)`fd롆ݡ%WW_Luߺحϒ1ֆ\bS7m0d"%W5g1A26x]y9rV _&cϒY4&b;ޑ*;TyV/hm&ʶam5'3sğ >FBvmgɄb3L$a"Ƭw++ޡ6y-ImnW:cURَxNByu9/{/v3]{s8]lZdrj32,IIV2Jk9bRSV3+Yu7C}ʁ){flfek0|g9P_)Im"!ͳ$'Ki2Em3 +G*iVsWvQS_ҀJz=3{A0 ^F͘-V%#K|LW0Y:p52tj]Y!E_1]ޤE5 usXYde0t3P_bj7]Al>MZdci"-+Yf aݑmC}tBب&&4`WaV&?a10M~KMugU vA¬ÇY亊Y:<2HȊygxlftaVKfYŃY8YEgUiYd2v_d#ҫ$<|MR JQWbE| L9pHIbnLjM0GBP_9b+XMV)꠾r"pm +W;WIFTnvUsG*] ,3W.ʝYk>)XX}Y Va3|Ϸ`㵰 !XibcVaJl/YD 3 nVK7 `O;7~Mx^^~ vJ6`G>]Q"P/ŽdLŽ Q<8Zz~vfaG HN9/oaGq8|d;YbjKl'H*@B2~.`_zPrےIARöH*pFuY@RC+8L*NT 3B~ B~д_/S _rpb6 !_rfe{f/3% dËYK g9_R8|K |űFΤvJZ{no^кrv(Ni;oy k|gwn?`u"1P#oux{7+Uo^bA_,K/yD0Rl;UXoȶZiu/+>{G& L) l4+}Nl&Kc-ۭ%d 3B_,6uH2' ԗr+t<#ɜe?B_yvEՏ3܂F nnAYN(PkHLt+] n}Y*mW9]Id3v}el)3UdWpV*WN+*hd#!諬}=k_ϸ5 }3UlaLxL6t(l Bh+諝/Şq9?):g1\c"E\1thWoxLLB^cKCCW{iycA>ck{>;4R<&cbLCz%xLJWlT?94yCCMB/K\L =׀9t!N[WxLLB{4>zP`6hCCߚrzNɕVۭCC_ w\OO7?޺ -JÊơ|x7lmʬpc47Ƅ-K󜔰'> {xr>ڤ]Ir>r|δϊq弰m?(!ˮ"$醾b!g^ S!,nLQG4wՔI굅9h9ojQ_I+蠯bT޲mq(;7JB_ mixk, ~#Y ,-~_ [,g[{n`i{|Rk*xjP{ϠKDD/V1iűT~diqd;4\HWҰT>U+rUݮMt/ }EMs!A_,<}Hk']/n懦1&,V4g7O<6XLA/ڌ6ܮvM哫_%<+/jdfq@8C#CSu=_t 87}a4ߑ3'ᨘtT$WwFCݳC_-{mx/ ?kJjJq<4$$CșL '*vUOm|jjq9iϮrjbxv>+o쯲+|U{ աmş6>W)kY o'J{>e@`J<96ߐ!]WpvKL<$T3՗mKѹO\97S26JVTP_eiJsFH: Ak᯺1dӡ7N+1fa=/^9@+ˮcix&r`MzA_z!&p,҅5Gx$]-.GI+"< jr!X~%UN7\9+U`RyR#}@m{:ݣ636W;Ԣ(;rviZoҕ}uOiqQGrPfۺU*( h(σ*B:g0@JxO p>\#?I`v y>u_ B_ 'g2mbCEBFKe!E!3@z3^+!,;aq;/>z!;+>#j~oy[Ts~Q8W9ߏZÈYz8HժȌH{6qxwxx$-T{]y5hC +2)IXTs2"}F>Ů}=hX+KX A9|+g[(('P*{|_!CS| Ad u}eTP{F) hņUJok4!cs>4ck֋2=c?X̘8Wdctx5ƜyHUA~auiЇ1s"xCoh҅r2 /!|)+\ ZK0W 7tV]2 ɞAslb]{Ir׍ }(] \aC59v~xmqCKsAFmۍog#RZSfPtqζ *Jxf9/՛*j7T8ԗ <%X9 a$,EPP\{5h;o[Fy.UOzKq7ꋰVlmݨ;cg%7RVϰL??yˮho%hqrP%K,$7?ᡯ\6 oD!8 Bo×8͐縡RFPeWAxl†88)ٳ֓ zp=6Tٳzp5&l[€҈P]PυLy#W0zz[pgt<y + u>~Rb S |z?B?n4tG)/Qֳ SL%5xt PPY$ *(bC%ٕ74QHXbfddcTPjTPj]BAMvKaBA ҍʜ]jdWF2_F#TO|ZY(FItb[-&2 d *UX㉏҈#~YYviSizL@4=~5u4Yߜ_(E6:+:+: d}P80Yϵ/K9?O7aS4YPߡild}dW^xb3L']hVKG`o4Y"]بR-KX 4Ylg<.6NؐpI!uxWtb̓3)_ZYQz/\lؕ$%3gcf(-O$=ksA9cgPP*ak-]Ȇ)'g8}{k~mF=Ͽ>"+!^l՜?To V`d;(!WՆib[FzzfBw{l[LFtG|WFٕ!ctڨ;y3ԗ?#71CAM҅ j (GWRQ\IQ/?;{6xce^)vdc e)NF((' TP*RpDPPvBA=ZфIIHK8QgA(P8qggٕ7 \Y`4JpFt#ݸ3'WPPFCA%pt:mDP=mCI#b+'vPVc* vP6op_TlwPpN+jwF vEiJ2~"ݬE X:KXQx#1jW(/:s^RqgN&CAZmRB,ޙSA}Q BwrDI(8B϶áfi0fU@&RhVJUB?B8)b"ǶPPAA=͞O`88P;-UH72r8= ∗dAJۚ<OqGCm)EE@Aqċ? *Tߎ#^< B+\m񲭗=l=Kc/>Gw-ܐNj#ǮbuWy ݱzwMk# PP3KvZ 7xjkq G^!g[g>^\: '&pv#lGaBAe[(W (r>y  9Ė))x>ez=xƖuu^D?eJI g¬wFE!HJp YF2ꯜNTHgIBqcHtNr4v=8C\G8! ÃZ&'qz*R9-tYG,VO#-^V|=9<`›=#agB0aɮKm'R9d) g[ޜ}>Rm^{kB~]gy쥻}/j_hitq7pq˅ J_:]?zKCkRl.6)\/\u_ۭ^E-Ӆ,xNW1FLrMjP}.|(.|jZ\ /q#K^tp/ypBХ$O(4R2_}& ]BQ\tgϖ =?=R+쑜 5˅ /ql%nr6)|N|Z rM6'd/qn~r0" 0):\+ĵqHJę={oƩ-zqj B/[; Y~i;m/ԲݚaN>76im$dg[ٽTJB xc䄣=UvZvPl\{\#)I)#%st gzH ƅ ̞a=P?1R8ވ/Xօ/υ/ͅpqjƩ-Qs tpeĉ %h.|7Z's~p|՘E 66NmnF$Q|_r!OOeu<{QD\Pm'[^b,``WHU t..Ìg|); ٳgC) _o/х]Ax {t)'/xgeZi)+tM:삍\WM8(/\ɳOyQA.XL&# &0 8|Y{U?eW gwE! gVgHnũ-4_*'WGJ#θF6"%K=I^ :sBlհ|gu36")e&5،qζH=)KwY TJ AhX*RS\:|F.|.ff' 4TPv%ͯs)zto%W%}+*+Kɮh`VMQºWalp 1->K GBIl& 4-4aB h0T !lP(:h_lIh\ 쏱c Sʹ M06fϧ˴F^^"/];|> *jlĦLzawg0lEkhʫS bSq{e S qHU6-4+ݽ~)  ze0ɶH)+_2 48"&=B ?h_oumB,`Sgm)bWM#1ʶK(sFN/fׅٖ?O f+:3" tua1w ѿ_iU}el;fnD`PA;K# zgogrHB&#:%eUi^"\xqSDBk4ĦtP'p߃\#7E\pQR~P5tpF#@BvLc|o%WbmnN;MѦK MYl>@nsbS9HPzembmNґvS{_Xo;~񽍕¦d).F) f3; zGv8Zjp}r-+(7T\5m9;|~@­ßrEy ??糏mW5:){k״4Bx Ai}rDxПYY >,VV&+:.X? @isиpƅAKW3C\1$ǐ>Cl 劅cCRVvhYM1Rp yu2 ǐu.ߦho6e6gR6B*h/ߦh#tvl]Xv;G7`w+q1U١(+ŏ`zޡwh;Nv;vv;;9ev+uv+vv+rs ]k ]8]8\ ] /EZytK p պ>T7-"dn #PAoڃlF^[ofdiٶp?ӵjd|oD q?u=77gFr17'{F3k_X9.ҭf#QH(9FraaHB}BìlY#G+6e^)Lj]P(V+* эMYZvAcp$eQrLj]PV.(o$ϱ ߴX*#vAY)Lj]F`)G/+#vAEȣCBGO]b:Fr-mb+/T-T2T+ !]W/# o ,-cP.TPJ*pAXr޲s!BqVu]Gi`qyq^q=6lbrRBQVPAtvb;M6NRC ʞКÇ R2&*('*$!18k WG 1ʄ²Bopweu8^Cڀeu;q5gMB{pҝ  Z JGw8K$ !vAvA.h=:e5c9޽dzqGo5,t^\3b f) 1 v3b\ v( Ĝ\ d*IHq0ɞNxrn'Y6`$ݷktsv%Stp8l[]( l,F1xi 2\G纊h0\Gf9϶}a,^GS8$\^+?re[g08v:QVx N#zvUlmS% ]y1 &X NŚexLvgŽ=ayfB+ 入XH"d#ndB}/3KhNG(qDs?im=k;Vr\4֫vV# NY:U,$meG(?'g!,.f$ #7 Iq;WV.n#Bǣ|xO8jrZ,~V2hfb`6h;: }m#-Gy:8|vzg=cCo3裕]ۆ{#=É ҃pt .jҚ]KAc,Aci%QH ʞoQq a K/#bA7h,=(j8h,iUX+Ki1AZg+9exs::tNBA4\i"{>'BclXG'֚:0ɕ6kƖZG? p~:u7uUzӧuh8>hϚt(X= tQx Ah=r1d#gՉu:zu PA=F=mDʵÏmGCiGc۳ Z+y(=$uRyptb27hP1$$oAB-JCBehE#PAVeNs.ޔ?m}QB,r%,yZ2ZY欌},%)uj A&#{h =_VSe,'a&p0Hu `ֳi#dŚt0Hu2VX%]ᨕ8.Bxgs Cɮ=Éwve[*{^Q]Ņ3 g axg?l gKI(L}( \8;{ƅs~pDTj C2L}M}س8Taި3*u.Q"Fj!;d[isSL}$! S/!"%=0Çƅs2 \0x92wЩW4xN&#crEWN[fȋ8/ԋoq߾ ,a=1G7! o^`8jMҍ+Q++K;Z°c{ sB={|~P8|*9+^Z9^ WN[3w:&u%tZ[J__=)Is&:W7tYIyJX=O 4] y1m{t!ن\g;Yj@ӓ+'q+÷L4ђmqj* Z'-|K_[mFZFhg,eW_ëgj,+99Ҁ9d:g۽:]㈠sB<8a1:t#y}BO wƵgWe>>zaU&:^}YW7aC+\y2Cp݊EA:hp~с}ʻAe;Eu+KÁZ Ep)U:'ynlx|Ws;dW+[9|tuX.碯i"ƫJKdu+HK胹yfeۊrN6CN૵ ZٙZEYjm49G Nٱ6Ȃ!|VJZ9|jp\:O;|b]#ew`rΑ,-1,,,FXf>M%^fxzvdcJ6s]4K"9 A4%\66=ml:S!#h?9zKײK7׳_B+]Χy퐝!{ܠ͞/&Y!{^O8,d!;WCپvNCy퐝!;C}εCvȞ!{a)!;kywzTٙl^;dO9Ck Oxq!{ۯzm^;d˼v>X|=&gy}*._ݺa^!zvȞ[sq!;=m o8Ck 5E}^뭜?m?%4oXfo7 J7S7,ˮGnU4_XapvG 9-uW|XD`oEXŏz KUywKx;e 9Or^Jfa.ׯ`mյ-wE[nCy-v^b\',w_:gۣ4^w }=Bz)=x;/DxgNX=j^9C< *h6ⱾJop~ׇ>qnp Jf__My<. Zro<՟p%qy7~qwq>z\rw^۶\//R"ryW<'yFnc6ry_RO 0#w|d=|g;oG?ڱy 648!^`Ƃ;7x>`@*[=R]OR;~/TJ%H)~x4sKDz>ޯF):Ki30oyUޟn1 ^6, w{r{lub6hlCS.˱C^3no9LR|[pEo*).b+E1KUM1'X/^x{;_BZ6Kx5:.[_W!P=R\wm߷*~y˥[آ0KqPF(5}wnOu`T_ a2}FWźW>vyjG_;{}}py~<}P~H<)ϧWۈZ(j ph|{|5ϷۈwZ1=Lg-5fX3jDmʾtv2#'Pǫ:֚/u5uDm5;q:[3hׄ>awbc盧Иjs>cl CcDk'ӷCc84ny!m.!ڗИs*g8Q9;Dֳ\{T{Ƽxh̛UiΙTF+yߑ|{6q7.;ۼy94浱,4nfq7kИ ԸOB)qbljGġ1׸뎆)\ya{j@>4ЍӐq4>۩yg^Cc^_jt3VIU;3쳥v;tSG.;s. O]%]ݕZa_ݵr~Rvɭd1잆} gc ܔSCMy4233vg-Z4̼422ΥgideY˾ײ@4RS2[¦e)oyٔaMUP$UGu}WlS2 id0VԞaئ !FӁeZ~HkQod|T|}CЩyvAOB4-m ~,W]Н̣\u{bvMC1s6-; a38"LkYT"T;!BA Bxk 3MC1w3n9:=CTpM֨H5%*kw_S2Q4[&뮆8+8r#^kaGJIQ`J7^ui.3#Dk.G"x;> z9[x;!rD* -3k:/?:HfZ |Q׳] *W/RAgpy4?ís)iP f8[v9b{f #0AcK%MLV#LYufrA e&Wy'dӢL*{x k 6m0 3Z|7ɅƗZ`>zk}ez E֢f5Yo`M7&]7Xy쏲!%voj72 y&1Mv`oY@õJ\A0V+hX\A/ !)2%^#jՔvU2[Ld_Ϧdjߠ*KRzW+Ǣ[ &TvkӮ^0/QѸr5Wk2`e0\1k@ݠ2fZjPV#RYİ7)k`$ؚ]l55h-]hͮ?4jV%* ǽYКY2ԒtAktЮ?8A16{ί!]p8r4p9?0K1̒;Lg,`W.5'Tzaٮ\yp0;eà zוй'!gnh$] sК)E╫쾃`Ul|݌w؞y*C=~nydxv ) c =Us&ֹUvm~tj]2ݶK1S5 %YK ) ]zJ-MUzBAJjCȬcC;x[w}|mq?-fNGzA&Z>G3x.?4Jf{Cz?t38dn$bٴJ WrZ7%U2 1Rբ!S2 )!vM(P%3hwFCLfTթYLGdBRɬJƧ,j6S{0]: fN]a'm} EfTUȬ%oIBꥪ gά\]Hb,pa˙{N pW.r  탰]@ɩ9u'X$U-lT%=RrLR%PM KbV1og $=LLf5]fu\y$U\61’VrjԑˮԮy`tcAPYG˪o4B"폨Gd %l<wIބkžeժg4B#O`t=-+[CC }`0ц폖W5FlY4@PKtdhDm6 *̺?Ѧ] NU? 5w' FO FA udG (e5&Pon6,B>rQ!u¸5{ S} Q] ZT'LeFͩ=:U*=;0DLjÜ0^*FU4:ކTU i k*B6x́.^0ĩnÔLG¼DU\ !*[v̄5VJЁi@u<@+X3g^2Mxf{AJ4'qmLs悰ovs#$sa_ٴdg9jbm!~r#q*U%3<Sc5{y]œi~gٶ)I nI6DHe"V=oG"fMPοt7VMuNa=pv;е1ӥy~0cK'B8F?!a^NaOUePs ÓQkotO2]VA *UEj~iti џT'p*{3|]i_*U bH1mؗ. !%:цG=ڰ {j:sU+EF*6hݣ Ӑj񪂕۟D fm'ڰ\“mxyU1Gbh 3UnYI5ۆVq!uCdRyxXCmءd8Ŵ YLxJ bZez~R׋m:Vi'3] ݷ됪 녇z=u'h/Q=@νm3IeZ؃˱* l", nyvjȴ 5Vj< s6DtP[tH%mzd ;ΫC4_.p>imuUhל9% iΰIŴP1NhbZkV"L26iNy밧a/zU|2f.tgV9QmB5MwRYl\jV@2'5dGBUrafr]whj6;l-;\A{ wp9vxk^i$/M\k ^+x0r V7*6trm2/YV5øT6zdZʩ;$![Ͱh07v@fRmOY-Q9Urv [!N`O[2U ٹ3e%ƹ3 ٹ3=)k/zS֞F *.{ oj6[ˮTv>)Uʅ5g9Urp.Dmo8oY+7ZG{CxU3?:*TlVJU͈aZū '&U [XݴR:~ \avAU`:GB _X((UkD;l{bSf;ܢձU*T!WU.;Z&% BAs*Ze j,O%MjU\HksUOy[ O{tlfaOyVq·WzVrjObLI=GױUU|pVͩ-];; ]M2OyTiz{VV[k"Uf1=5W`xf Q$!`  S&*  7FgTR3.UJp_UF_]UBiV>1b#aD]2Y hАLVK*TπwV9J; I.hl(ߣ_SՁCUɯa P Gm [P G KʼjN/ U`-@5?xVn 1j2 vôʃUİ'*=¦ 0Pm+5מP~j۽TSm'0ܖPmQeE>*}gj'>LxͪU6]>8' < Iv]mG#:p 3zS>LWRF 3NU͚S %|4́>UrB.=2] ЎPm/_w`iBi4~PmWzrLZR; {.tpk;h^NS#B iZV452Jztk)v{nPg1pkCI/TjdTxj xٛz c'ogSr[0H)+Zj6n-#hiFttípfҔ'-Y͸#[sZ:+98ߑjU%և}4K2\pk}R8q,fAՈςnԗNOgˌ2+|֚S2&UUn2?[s` eZeZ{TBͪF~Va4Z@*t!i;dZ:;qҰۖTv1 G UuI2ۖ07$OCHJI5N.i`eW2K!֫ܐ$_ 7e5vx+ݩQRf MU1Z *~CO .sU Pwm^U4{KW+0`WfAQhRp`$ 5;ydBvT;/G10Z΀uB0Q.0"+u)9E~njnkD FVɰM(>G1@ym9z㡼VUbZnn4(dOJC#7dZO #0Bʫ/±p%AHpA Ne^^.)*꿣,h$qGҮӘP^4t;Iq°dOZ.{S㚄jk6qW*!J S#S>t2L\2I e/n8&.Q-7 W9FRq8n|oxAes>8v-f56OUBgJ"sqdhqٗpz(p\}1JbjQymatqoSw3,>1eAưHTlɼP 6ml4!ʜquodЎn%1 Wց5$knpIV+isR+UMWZWp\+3[j2|K؆TvvI cFW'V?m3{èf6? \B GcD"D8Vvie 2n BC#!:hjJB<Ϟ?# R+iXjhEJW_'Zv4HxbB C')ֽ! Kad;tOV'ZmCjΐ!Xoj[*Z2hȭS]ƍtqO ʗDt"!F Le3dQs g;~}>?_|z>|:|S?*J9yܯ|tXn" u~Wkn'\믭O(?XS\MU|Q_?קKuxxE<ޭ[|MM_ 'byϒѴ-LO-!`H0t75"`HWq=J'ȯ@iy,Ɂesp ˿adˋOG믟n_^\kmX?svn}_~?~%ˏoǯ"w?_[7ߗ|._w?|~%#=3__:]U?y|;kC,/XD/.?}Ï/TwbT endstream endobj 195 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 199 0 obj << /Length 1252 /Filter /FlateDecode >> stream xZo6_A{l}( Р偑i[dyҥHɱ>$8I@"Gu  _߾>>  xf17h'5a< *IbE.+3yzyT9l[҇9$k~ ˂յB0/Iy$>ϊgTҋOQ2pY9I||#8)y zofOrȤe ;Y]n]lV١WO_.Iя2K;ro;rk_cg MQ endstream endobj 204 0 obj << /Length 641 /Filter /FlateDecode >> stream xX[o0~WXy"Zq}|"m66i !%tglhI@$|9c 3."j 9dh9 qF0l_vq5P5$\~\ tWmXVmwq\{BPPs`pGhjލ]jcQnj0T6Lr0]Xg:Kv%xIa\A~i%`( lK=$6B`1WX 0cAp1`7ͤ]/R"8{Sjsm sZV50Rڅ*6|m09C0Qa5S^L66hǎRضH5$*ΗYԵ`oZ1./-v5r}~{=Zn8ҍ)C}0 2Hw:&ɿxJ`QQCf@@IrsW Uffy/AF83v еLY/Oi`]k'dx!=R^} >8$'qYλNZAJ_~$uavʽY$[pylѣk-=dQAG]jo endstream endobj 196 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp6IWViw/Rbuild267d31e1a6e5/MALDIquant/vignettes/figure/mqpd1-1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 207 0 R /BBox [0 0 504 306] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 208 0 R/F3 209 0 R/F4 210 0 R>> /ExtGState << >>/ColorSpace << /sRGB 211 0 R >>>> /Length 63111 /Filter /FlateDecode >> stream xT.;ЭW`>Rv%` Hn/Xs1muur?ψjO/U)?4??w?<|/-m;5A "wƓ`8S YMn3|'-?(9ߟ;Ai x;e%78|硃3r&}I>逕O˙;m$`ǘh VvkD'?AhB .!M4F&;AIthALTLީ fLT3Dv ު ,ɘ<1o/c|3xL9AtR&*P.})u~bSO2^^Y*ųژ{aI]JլY+UNCڈYIf `}g]=k;TzYzw'6Gn9k.%jIj -gm1!i:! UN&WfYkR8TUz== : M#̗4iY')CMh_Ci_wPA__*C24kЬԾxzOuYsfjc MGO !)ctdX|c [h/Zofrf5=kуoۙF֤խIU Й@!䬇T3! 8N?Ĭ4֢Y1AzhfM[լ>f߽V: oZ5kVzF*+[OVzY,KOYءi$M; i0:C#kXѓurf}զΝ\ֺj=O֩ծFy7hkZktܮ;tu|i¬֮Y'{"3Tx<8h SzZg}.)=m(Q7YNY85wf<߬CRy.YG.fuHy9Ϭ36!s9V/YG9=?5!Vb̺ۼάY&*ޅr֡'5;9h:q˳~OfѧάMR7ӘaLxY/Tc~S byRE, 5LTڇ("X6651$Vq cCl#URSpҼRm,XJOh[Jti?x~B~`.O菾TO yi,QȟІ>rlRzΚV?ܥYDz:OQevjɟpqgٓj)R *(6A˝ ϝS %Z9gZIl^n܃ qy5Ѵ?s%wC(!f̒oC=sRY0C3>gSM-DFI B-w+g=P8O[Kq*_ιC\ gZNPΚ|}}Ys}wf{fA˷fAyƒ4ʩSswxR1vy%訕SE'5rK4 rOʥ9녹V.%ZuZuP+_I&GlZP:j7t7\5h:jD\'߽?74돔^_Š[JHi/1PEj*ZTɵC'zLuL:ɝ'}\;^Ӽݡ ?TrP[/ʻ+=}ΞW~gɞ5D=?4s2Ϥy{_~,]%rCcqp/WGڃwO;AݪFao3Gϳٹ=\PnnZ^wr8QкaJu.;eGq-:=wR^w6٭pCVaNϥ%){v7z}TQ{Qa~\9zR4zoOY+>pî]7=pCnzJf6tsT^+Em3nnX +nȞWs۷ 'uWBs 71np5Dᆒ;FH#ONJO#kxu47}*MnI|&?R$JFߞE+]E^O4:gWtZOA;B[G7v.I뤏SJIUwb4;&g,!t *j %a\9hMm[9:߁+ǦUjjɕcΏ4iV=q OcW4Z3iVbY =9&fӦ_jxOF]CΫ^x> 9HjCnz )!!Uj>&ϼ:|$!fhʘk+5ϢѤ({P-4O= Ha/՘ET}yDUT#eYM5PYx ~N*jj$hUk6(~t*@8y.&<ɑ0吉6䡗e6900` mw ec q`b}.&QLj:h6@{&QMlrh5Q9Nl{>bvO!N.^b_9wrצ|gG9$kp@}|W:RL?~h1՝r/O9r}3ۆSn G!\GquҜrLO9 P/8e =)DpF\rsΆekTp%'o'k㔯WY:Eq8[ӱu[Q[e֯zp&OTӍ-~{qF {_qX6E=_ 3cQ^ӯ]ȶPc%sтtٟ߳'z'qr/:aTx;U.*>_wePr *w"NRxi :j*Oo~Q7\U*o^KOzC87!8Iѓ$oA^x5qi\C;9eӔ'Iy q.c''o\v9} ;NoQp<'p_t$R(z]'IkIػS>zOtˋNޚ;ykvr򀵴9˜ Q?TQdIOŒ_ԆdR_ѾPk˒]5O蠸6jXֶ%dX2ޛH %cmsYjɔ_m`)6꫄,Ē$?NŽ)[ $U},+@wC:IHl:4"j)+gXRBr.Р'kM`Zn8..G6_Ͼe;h]k=Wߐ>ձODnM)5! & ݚ%wn~lή&@?%b,|U Mr*n9!1ZVۏ}ME]VZA&v+zVVv=at$wUOrךw!h5)4{њ>wa.xS6^w=(@Bi'? b zljNk/en >}ljA#Ü{ܤ-7L$䃅?nFx4dc!J4^ =u ;={14~CzrO9USSҡ>j,$=1O-oM#Ny⹐6F*sܲmon,-ycܢ=X<7->h [3gh` XSA&t^6w/v.ys:(Y* 1ƹ+ϔM7g7l7u>(Ch)C} Lyp)s"%AEM%Mdm8r}r-nIPޒV\,kSU&F}BaT7~H / RB,Áw$A4is%SdgS>/b:`'K#ZMxvN)\?D^2tLvN0r=}KWБwgAHJ@"hA,9M?p׼|5+wΣ[țD4yd+s XyV„IaB6d+C"9joiG 83>'m1އw.rϿo<02FGsN*Ml'Cް s4?|P\NRmm ΌX]*43OC[ ypp162&|.xR@V@g,E>UPJ=Zi82T`f v?ipBX{6i܇wvsدZEzwi_[KfԐT=xSyns= =iLwLr&Q#hւ0F.Rd M8eM2`vUrn,2y$>  snex) p\_r:8N]IHN7ZۏgIVx'$EAU(`!In,Βݘ%M@θ>$*n+蟤u4W@Eoo%_QB>pq`I36ZqRl4t`O֞Nd *kK݆P%8V<B (@(7ԣ G7{i}`'˭8TϞ9 av%\ܥ]nPYt7 q~@s*Oq>CW CW]}/Y+j]%*V‚$.Hr !:Ƞ ꖩ jOˆ%Z_%C&iL#gCޟ@ĀLBȔZ>ɔQl~P,?蒣#w%߅˅59j׍5`n~;Vr!iIҤ)COZ I!:3D'uNaIB'7>~:9=D8StINk +h0>?`m'I|Lg.<}r\\=Inoc{Ɵwq <ȗ+y4q‰`튀b TQwos 9ɼ9oԊdC]\dGFNByMXjyQdղ7?eCZղO;?U-r+&lU˾ˎКǐ !HP)EHu+ۅyI|wXǚA7IICt5V"v al]195}.wQP3){?<8X Y{]7cQޞܮ`m(< 1 Ň)5PEwIUiÉ(|υ/+҆ 6oľrc%7 K󹶴$M˜ x܌ʤsF.d5;|J,5|@֟]R0a7=Yj4^`c@vޞ#Bzr~7Ӈ\A`^}D??asO;pF&kFo~k}}4GĖ_0K}oGWLPM ?76wߟ+oxx\oP}7/Ƞ7zJOZ=ؼ*x?cwή=xKҟXBj9G_utzI>[(gݖ:g\޸S[LjyUxWfG^Ә?CnxUx&V{(Mp=LF{?1GPߣ];7QMnۏ@tLx^6˨{dT|K}FŹTAVڅ^~xg!ɰ}6VȔDˌƈ#/lS ƑG^٦ఄGFG?_cBG+RH2wڕ˲5Ұ\z!ʼnZ^4Ge>d'iMYq ?q2aeV)49jI`UZ6L_/)E`v|0oƛ|6U=Y V ;GRn#{W(wA=qj)!rຼ?琛Nx//Cre?@ǁyef4*3˰;:71#~ondQGz;Hiva޶zۺsfK!ѫvHFUɻ!\o߻Kg\㗿_zd9t c^9?tyAFńNp622(-b#=3|SUW|oEr>$Ղ#ؗsHzΌ ; |>Snq+0ʑl&-0\a+UI VӪts;JCɏʃPHt]!G)•1jIϐYd2vuib4NlOJ/&H#^Gu^CɷۣۣbRM=ٜW*g*KUu+.UhӹsU *@KRV袄Iwq.KՖ|=q^I\l̜TYYTfƁ+ήɺX _p$l RNխ}<ɦ3V<=銻[Wi%,~3a^s(?ǜ_ą??|tNYԷU!8E iƢ> |oDtAĽyv7gJ:8;I. 3ʹdSZ7$\n%3y)xD/kOn/#!$90v#sNi+c~J}t=7~*[NZؐӣo脪]6z)G P umsτي2"D"TY}MarV2p5ŕ|4]D]8 s%9e h}\ QP34vE5#3>y=e.e`$oٛDPB{LpUR28[CZq{ܺ1 L+~3OCMȨڏă֖J% S1Kj+GsTq)g{v.zE]TU]TՉ&kzʾi'w%A@WÇJ;C(oI sXJvU/}oWeRI։`nSYDݪtNhUhNiM9U)='Gr7/jNV2"x9P-T]jL\P[۬+'twA`Rъ޲ylgH9\ae9z%RΙIxVc,Ԣd(aNnȭvvCXvzUܭ$8Dp8'Y}_}bg,ƶ{6¦pTgI<I!Y5ړ8$i {ҳj/?LgHr8]ܽf FQRjm磻'+nwMbXǐ CUTzoQ8ҩS~HV߆V;f ϭpߴ7ToRH|13jwPǐ2BݡH X2.oPET%[_W-BA)<[Pdr+JA!єM;t$g@n Oc[ _<@ 1{P :i[${FRTC[HQtA >uQTJe6'xm3!ré[.ѲWE@6ƄwoAɑ~$ 2B8o]!M5sYۃ4> p\DAVp)c@-ǒ#oBm}hKciڥ-lnY-leA"+~DW-rfכ@&<44Xg&ğ`{ ։4! UDBv[G y43GV|=9GZdRWRGR:졊A ZΣD~*佞wşM%a;,o2tQ D>S ZǷVmۼV J4JfJ|WvQjn%Mc:{U~a]fu+W)uZqU䚮*Z.Xdt"ypqk7ρ~BKT߻l*ØJT9cY"#蒊 ?{ky w"] u'ݳD7 XKj{[J^]r Kk={r d$ۭV@q mmZ#2r[!#|:ǵ3.ddU3 d#EFBPd BF)Q.n%=(2%@x]lVVՏ0^bފ\mH#JJVna!wO)Jy;ux |UI#p,A!H#Z+[\hq*@,fkqWT=cq6[\lq}az-;'&P ZwWX\?-íផΐwف>Ᲊ!H @k7jJRNOkui.ߦ{V{ Ĉm>t,@1mM'tʌ0f4ѫ d61<.1)m1f]c.h.x!ߕeۭ=^ٻe$ ےOlE"s3ρryq~g@;L?hvŴ- *<w%AUEErB>h(@f.. nW$X)LAdç X%XW K庠$s=H}(K+I}~xM7oၘ+"|v2mno6ń{W~6AB{Cw&Vk%ѽ"ѕIvU{FUZӨ\j*r}!><>,պ/"E~!=})2H(pv#i )O:b]UL~W,ƭb1LrD6 F_(Sa1"AKJzwWa]b146{o\ 7sW4tyž=gbVٲ݇.{ 凱a[uxVE7j: kyn(2,`v!aİ=z3|&֣-VIGtFڹ!Alq+,>84gC"l< 1+ n9(JQ w6o uF-6ėE*{$d}jp%;g838pJ|.zTއH0nj%@s{VN֪)o!;v$[tĄqX3]1lY;[7!#Bp$xu+ǟJ](@*€FWEBԇUP&$jdpWM;IZWq9u&SAx\g*vbXM[Jd"[ /{ Vr{]㽤h75@kV!DCc:>Gr*>TtLT˭㭬qDADLg瞂cfG+;jv |ҜVK%xP0eP<"](NM [QEEn/> zMck-CciliZ+Lv "׹UWSꁸj~{1|H̃KGbm^B5 ќYh-|eΘs|9mDnlA%ϕsM. 2gh,n̢9cEs΢ 2~Ɵ0g skLQHˁ߭QUs.neRq;q[UB*B@ _3}2zUZG)|$fUЕGDv]jՏ w1Vu3jvR[wu1`vyݘ44gm9_7 lbY=yppGwW uW 5ĥYhȥ{ UWSհwn3=pVx_MyV<wǾ>n3.*SsnHs9&ҜEUg͡h] Gs:ϽBќ ќ՜ s.n]?hlh2gnVGdj9#O9OCؗ!s^9ow>ɣdU9y/('yʪ3֪ w3漢meU5;3sPs3߷WzW)[ߨMxm_Mͭxb[Mކm޽(bʿ QVלWל9swryVל5w]szcԜ 3rz   "K[m!~?̥m'  K&};^؝s 4's"Y5dKyX7RmXNU'Tuh|˩D s`7ׁ!v Ef;{70G7qp`L u?LMܶ9.7qja hAtQg5` 9Z=h Ma+BRWʭD3.~~ќ\$ݠ\W{ѻx?}7lRK{zopjEjm ;@)Ree,Kn׸WlȢUvnoϒs#r/|/v,S:6p|4 Էe-n2g9{HVМ/d:tCzw̹a欳 9ӭtyg~xD=wC1^ 1vһ_47tʦnMu :ls#~sfd Q~ҜscG"SDZ,aW˶-8>a5:-ݮѩe_#=Ks^&ޕKǭsu}]ؾ.ܔ8pm/,r{S u9<+8ZV:tũCW"kYBhP1Kp'oڄeeqB0n|? 6C.9 Ea@Ȗ E E vwn?9AqϺ)BwoLEg[QKʁc(ï\9pNV WEvVc5GuV?Uv&& !y\yD&;X* ,ok]Gs\ϻǠiwV@E89nuYkΏǕ{:xSɰ g0b[ 1g G_p(W >TPvH >Yn|)$m)Z>*1Rp~)5g?<[eڥPYn :g,7rBv{pMr[^-e_sdq֜d! DlB~ Ȝ[ل{Pؚ@ėmV9dq?94""lc^Q8_im۳7Tм wDmdr3q -'30~2y$äC=>~ߞ ,ۓW{G#U9n0 ļ\3uܙ|Ƹ[IE,.Nq,NyT`[@չT ?L__yTRxFV&7RӸ&x+.]jstky\,zȞSIoTauMWݺwg`6Ih^_Urܪ`}gGx`Om}"8OE VK)LoYUfxm.n &kY,bYdQ7ev~veQ\7I^2PLdxoƧ,o 3e %rCqƵy{ بvp }˥{F暬i\lcƇ^Υ_S(:Us!U=\>{QUz9 Co>47{t8m*}m{ٯgFi>ЛV_)f*|MU}y~I)7u9𧚲9Ћ)˘Vˀo7;h3-+Hfϫ.t6~jCYt)6&ˢ{l}=([Oq){pL2z[Oʰ_z0).)~ҙ8WH\[ZM8n YFWEg(5<~n,>Q<ޠLyF̏.Nϔop ]6y|^7nR3ȃa9xxI,~7{#=g|sEJC2K X*ì;; ojyLR%=Ux#={3ԻZo :ڲjŁGZ2+(8Sjzx>BFD(:4 s[r܄9nrX"27__9[^EGyz2p*te|pA| !oªq)Uj\cƓ3i,xJLRru)LvhXROOP[~~Fآ*H8RgEk-l[4j-́;c 1W0ޅ&Hr㚍$7{F:;8 !)b&ikhiyv`I@"ƭ~ -CK:xpqkU_UKPTP4AU?iBhY;LOVZ&J".OJ{@j"_7Ç?w]oئ6ibDhi>! 5|,ґՈ=jc)QjIn)߁s.,~wc6mu$Ijme)y,E-@/ju ~ 0%m=7/ x q+9'60W_9ΝύMx^+G[X4vi7W=݊8-Xr 90;>E6+X:+=#W1=Q3|T=G AA7-d}YJ ~xdt¸@!E6$"p{kHD㇡fVDCg;]A0"~[]1̵n;P36bU옳0t+옣1ݳ!(DZئ Q6gSx7*tNnlR`U!J'sAxJ'c"t2>I4zR]=H*<jYuP⇡fPy\B=}1mz@;vCP߄p[Gl!w凡f=7nQ39EͰij  (j5AdՊ?P{![p as}k$|doBch~Ā\J]KՀ[MۦՀz4:鮈yy \p+j,O#Gmڔ[@j`rfm=n&ڪX6WtfmJcڶ! = 1_ʦfW=P +VO`n<zFPGp]fmpeGYfmUl* \[JPxW> ힵ.A`*}6 ^M:trM &9F A9͚sۻ+mV6Tt59;â!j y/؝ҭ;e$웨+>w>mr~&r؇n!wBkcBk E8ӿ!)a&H _?PKHY$f¼Z /;V]_Z9_Xyv]ײ<ΎYy,bz zWoqwwdX0V^ŏF-ҮC!>+N7~Vjarl:ps<72j9g m*ۗzTM]ʞ&6HlRAe6C$e RHؓ adOk,$9V$0v md%wz2`ڔW&рbaλ .\ +.ȕcߜJ Ώ]20^mb;˝I_8nyivㇹ,Mw%܎CpEB6C󸔇ղWm3A_6d܃!IVit>0^vdnT6)hTem{&E| )ˋv33am;dnlg gh(lW fCڄ/k v#. 1<ځQ>?pds rKU!jv;v0qgb.!J&n/E]c8˅Y Q0=K&vCi]|nW;K.uW[ Gފ%ݵ㛉a0뒁8Iwm } vNH*t=L!KBCq5&4: p#7Jf@.1Ea7w؍ @(n$a7DXM 5maԴᇑ̛ouVyqմ.(5m !lGFM~5uTދ"nU *C1T$ nAtǭp.BOUˈkp/נ5D*|9&Ul ް~2__An}2;&n:wWlMX~`(uQ5<Ч(qBRx~2 i8cVc(&0zMh^/KѕE?e},A*/~l UlZ@%NskX\A@)z5A.4n[ߕvB큰%-+lj&-tQ Y!q+LhDsq9݁]"sட?D@^R^vI4Zu\ݕ|}| ż#9%$T-O3DHU!蟅]r.y-;Vm *E›E6uYF?6HE[q$ hm|i>K9oVWuϐYIH`%>S!!A.S_{#$$,w%! v+ /@uW 1wO8֎8p`=Wkx!8yvRcAz?w݋P3򜉝WX)2Dƙأ8<'0g$'vrgb}z^f)(|{3qa~cvm?g& |gnG ql֑ϩo||6{o!`kw/xz+w3[vya3g|Kx]Wy:OtOpOGl^(E j jɝϵMoj౱m 1Jަ`'sL629 }c8AnRϋtݻl3;ƙLG=~W6.;.+v.<;ZmՔ/-;Dly&v9o><ϳv$ۜwb/WXQ}ڻ{k yO[فl2:q=j\y;id^W^vo'vg^u:oA{ LK;l\wbzCkpv? uf{؏=Q~1#y=W>v/ۙy׼^9Y}4~N~?ݏoyS9<G!q~{t ƹlx$ .q+i8~Q>87O.c+=<9+=;2+=;ctq+mpu=uPpw]+'v_FTPS^߃>gd9=;<ݼ;Dvxs瞵Vn:N;QtvʽuvʽtNsKA vhBOoOxg馈JR7E^W*"?0? 9ۆ-SÆ+ ~ ?a&x;oϿh2.G7+u&&)8߮l՗ f+^fϧR ݼxU7ݵɛ H d<7hTc w}wnUa}*Sݤhwp1.>K6?G7)ڼlmڌתڌ7$#޿/.>oZM^Ygw,ߝvyTݝuw }.Oqܤ&S_ޥO_H})!Z[/!d>} C $w*fϕq?[:n꼢v~8͐ub?tt|vnnOwKҬyDcG4ƅAcJ>rnOwE>rʭnOԻvLL2 vbeN]psp@jhg@2st4ҸIs} g7ZϹ_hemsCpE;f_WP7캭P-}4w5yesqwrk(ƹݴ5Ѹp~]x%r%'A%^*KNI)w{gv||DR\dʒS]|KJ{!ޒވjUPt/'VpH#yyx$#9d~w7煛q[oC¡8Zz<ſ]k0dZM7a?>r`yݴq9vӆ^5ơZ{.~w_ ^>?Œ 6N=0aKՐ $'V~xor)&u;-ydrdn_?{M~;w!41.<ǀ9<wOs '(s '(tǁڹLYbz~ZtUcS tί1`[B[J "fs:eul[:[:.ߛ$sm}9 .)}v|>]_v|Dm'u!8{ l+օ"ْ7WH7f[[]owi9k2!FqSZrag[qՅ{[ =})Z=P^M=p|I JKZjv[?p k_= 7qlyICǭ=sOtwmvr?oib~ vEC_Q0ANa>wO+;u>Q=n8@=:ۊ8}q;P=:Wno;-.̆3;r~w}/ܗ%5s9W\ɽt۫Cɱ}c/Bg[6>pV%{*n]9~`Y!ޯdo'7 *qR% IuDǥt.X'Ft}RwKkt㺶__⹿:pT?j뤉U~U([-?v*wZcU{ggc>d}ɫ{3AH)qosiKfCNQ?[Tҕ;NN@uX6n]|nFɘ@5}^#.~ށ-z@Ӯn 2qyY_b;K7}6?mB ]8>=MM?ϺW?eK*ƽu>׷>p[<jj~z$mw6wpxcBu&nvq?v"׷+jvxڿiypzq[Ϧwgv\x.ǁ݌x.qĽ{{{;uqVãqĽ{O;Kyi{<7Z ~Zwu>}|]QXf_?wތ]9ϧ>8GwB#?p_񾺩wOr~#YNκmޮm>TΩoۺm@Mps ~>m7/y腉[ws+~ {_SD\߻;z?&h-M{<w~q7؛=(Dwl^iM Tֹ}uD@:7v"%p8{2e^0e5m>LvE/PT+!G&G8g=g=,jnߝv;:qǁ'@/f{>0;?g[wWkύ,;^iH])j kIN>J+v&45=oGps}vEɻss}oFn;o9~m-'u)xmw[zn/  t|`~Ђ;0 K/v篟ݶs?>Dys;P|sL_?/1~?o|cc{.uoُ/^Oο}]g)_iSWkc#~lՕޏl|'v̓%tIcw[_ O ?{zmmw}gA6zџˋz"/ׯ EW3/Wj??~?,W[ 3/;_ٯo_k~_W?_~w7?o~:Xow?%˭~b_/o=lZ13_?awdoːPN0e~9p3M vǞwg?eu@f8 ; 4E)ţEEq@St . MQ9yDMkt XkMQ9 4EgWtM}/|AStǠi'A6ljhA?@}vEw7#?)ꊮM]=+Nw@~s4Ew5@Sk. 4E}Vh)2zWMQa?)]8hFW>w@S4s5l)@@vE+]@S4+e4E+7ܠ):Z|j5u*NPSz<$AQz^Zh=Zh=Z h-ZΒ>:qQtԵo4%Z\E] ׃ZOh= Z+VhZBk Z+ttQzAu͸kk Z/h Z6hmڠAk;/Z6hmڠCkZ;vhڡCk~ߦ8k:u@Zh:u@Z'Nh:uB Z'Nh:uvZӵk-OZ<]kytZӵFy@kFz@kFz@e@e@E@kFox۾k (meG]kFoFoFݣ |7 |7 |7 |7 |h?|7BkFoOO( Z~zFYzA|( Z~FYzAkCE]kubڠ@ ZvhPZ;FT(Z#0D 8 @DQ# DA(%z@+b1+ EIh=ċ:{ .%uB Ih]ߑ8o_ԴOOp̧k=|zc>=3|ևZ`=Zh=ziz -7֣'h-Zzk Z RZ {^&fꓹ dsDds9P&A'ҵ|-S"e=<Z+֞_3SԞ ^=>W^=y?W^=?W/5W/6LՆӎ zid6hm:2\kmz_iڡrbEQL9FkHfG]epZG ZۈEѻ[7(:Z'F8)΄ֈ'"ʼnHq"R'"EE"RTdQ"RTdQYTEYTEU)*,~^RdQYTEUG?y(,~^O,J?/J?y@k%~P'h-O*݇@k'}N4Q`)56TuNPTxC&Ȣ , . 4ڠvv o ZP PW o op7TxC7ܼs 5o o o o*w oݯ(*a!޵7TxCWyS7TxCET7UxCET7UMP7UMySMXhMySMXhySMEEEQQRTjzPS\O BMq=B[p!6\O BlH5_Y bÅp!6\ bÅ5{3b%-,Ć B7B;B?BCBGBK̒nbnulݡk(;jznnnzn5Fnv[ۺ-niuK;u atћ[ۺ*Z֭mBqPE,;0ctћ[".dJ2 UąLBt!S)]Ȕ.dJ2 3 3 ҅LBBBtff9jf9lj8Fjl]*`5V#`5.nFjFs]ܵV#a5V#n%Fj$Fj$Fj$FjdOCӞn5VjOtaO=jһFnh[ CP74 uCCP74 =5hP74zj Ѡ!4Ԙta Ѡ!4V A{h AC4h QC4h Ѡ!7jȍAC4hȍrܨ!4F QCnԴbÃ-g [=*RQ o0z` ]4fk Q1th ]4.CRhẖP)4T P)4T BC P)4ew?}  }Q`}atYb999?=v?s?s899fPs?sdCPG6ϑ udCPo9lK?:jڠ#ϟ!AGmQtA}%;?Gmg?g$k$Ų5O_!=0z_Ɉ#s9?G#s)qtʸa%#stʸa%΄҄քڄބVa%;VwOR(;+ٱ+ٱ+ٻ'qJvdJvJIʎJdTB1z_ɨ:j:j#:j'V2g zc@3 zc1g 9|7HC&+9F_1JleG))j6yW4NJ+y%w9\EGt t@hS4);L&n1MܷRdJVdAC ) RFo@/P @7L_&V"@/ S}W_ D|aɁ/"@&_ D|/2g D|/2g 놈/ d<Ϣ@b=0zn떰n 떰n 떰n 떰n 떰n _-I$_D/QK"7QKTD/ x_◨-G?k"/q=q=q=R-//[4bCxEG}M-q7"//////// x x xD3LxKxK89D3L8//L8 R RRRi85D/QKRR,Hi"5X5X1^";_D`MbD1^"Kx/%bD1^9'4 b.nX2DaO$6cq.n a7,=젇 kܰ kܰ kܰ kܰ kܰvzA;a=O|6ùa6?qDj͠vzA;a=젇v4ĆvzA;a=젇BKAAEE9E +B+B+GbA岠RԢEQFQNQAQIQNNNNNfOlp?fOp?1D 'd~CN cXa +a10ưV cXa +a9 v;)QP)jQTV cXa KAANʂ;) vRZ()*(*(ɢY=$((()*(  GEE9EEEY' ' 'AFRԢ((((䴓6N'$'=9iON{rړӞĴ&g' |T8(()*(*)9{ R99HIIIՉ؂AQTP9.v ]8iNpڅ.v }r'}r''՟V[iiv+]9iWNrڕӮv崃7`FgGmN)OE SAARZecal2h Z'ɠu2h Z'ɠu2h Z'V 꼐EE9E9EEaڃ=8iN{pڃ=8iON{rړӞ䴓4;<;/>«,* «,* «Z<;է]̆L{`vv"ܡ((((Lpڅ.v ]8iNpڅ.v }r'}r'}r'}rR.UR.UR.UR3H33HSpQԢ((~Q恕y`eXV恕y`eXV恕y`eXV恕y`eUYiUVZVeUYiUVZV  2Ĵ;JVs%yPQSSTP=8iN{p*TeRQ2JUF(U*T EE9EEE({'փ@((()*(Ou K+ E3{*`Ti{y{{^HQ=[zy_EEE9EE၊*&2biuXZ]>9L.&~_  2 RTZeO_E#N_cE-2rhv -?Z-M6 ~}}}}X?ZYE-atFatƠa!o,>R>(()*(*( JZjaLƤaLƤaK!O8KZƧoi.~TRZe 1,5ưRcXj Ka)1,5ư3L1k3L1k3E03L1k3$c{=؞dlO"    PAEQFQFQNQAQء,⩱xj,⩱xj,⩱xj,i vqwO/lOolȖqws:ws:w(}ч}чS:EE%Eawhpw(_2>eFjFjFjFJAAA AƠAʠ݇}ч}ч:}Ӈ:}Ӈ:}Ӈ:}Ӈ:SԮ3NNNN$*OjZꬖ:jӇ:}ӇyCݘ;bzaJ˔RR P^ndz1w<5Rs 2 R r RaCq3uơ8:PgCQhba`7AQIQݘ;PgCݸTKŸT/;H0404H1414H242Tb \*Z/hec<,:ˣ<,:ˣH̸Nf\'3E%%w32q̸>HH$oRI~̸N0򽐒id`7} id!`7#h}a%;%집  McB !_/HT()i4} 74}N4}+4}NӇX :%%9M_M_M_M_MaAB !A ӗ4}Is`7}Eavsxu`7}$NNԧex}`? n)H$d22xTQqm`7Q<*Ge 2x, Z<*GENAn{Sr7QZ<*Z^ *%wsM !HHT: `7B,D*Z\l͵'.He!8=Rdnը3h^r9?BΟJɋQx셔]u"b4s.FZ0([ԤI[ԤI[ԤIEI~$?΋nH~E! BgEX$?(E[\tnq-.T[\tdY}>3[\:`wnqMꌦSrPrwnq)u[+_YJ4JvJ|)ufbbi|4>B%%wW-.F ov03홀Jɋ+_hq1Z\N-.F˩SgFrꌫc9uuǏh=B!oOAo4JvJJǏRJ3Kz(9) 9Ɔóbؐcl16䐨GH#$zD=BЙIT%{AEFNAAdBD5&Qm&ԙITc۪mضjl[-Hyg:O X!3GS#d2J*P:+u]AEFhZT<܏x t^%%;%%%Cgv tfxTUssPg<\R:u9sPA:rw;/L@+%%;%;%%w39&M>x*Rdd^;&ˍFr#dyazw:uUUUjAWdddd `PQSrPrL` $d 33@im6BZ , t.%%;%;%guÂ7_Jk%%%gܪ(8P: XP)yQSr BJOPT:㩎sCHɋm:%&%CgcNθlXpQSrPr.BgNLL4Ƙ&p@YS dd7 8P p.@ER;`Pr_&84@E6)0(N _Ep"p|/Lt|o ܛ(؝Ƞt_);AGjIjIjIjIj&RD@' )N݉ Nd텔(;⢡nN~a'L87 v3I>3I>S %`7%0n(qCK@T?9h܂9h܂9h܂-h-h-h-iܒ-iܒ9iܒ-iܒ-iܒ )h-؍}n_u&G_7}0q0MsiEݸ %wV2OE/3I>I>I>PO`7d0 0 \ |a.J0 0 p p p p p p`'AC2222/L@d`' !0xO CtKY[-tdn):[&[&[ bNW-ռr@X^ W_ W bJBA,`\I( X`0+&@ƁWpEղxp \09 ԃfLU n1[  n1[ L{gx` @AY ,,,,p`f;5+2حIƁ;6抌 s[3ugn e2d9PwdžKafK/Ln &X&X&X&X^ȁ5+2֬X&`fKc辰{i4pu؂btP-(c ؂blA1blfu>ɾR8snȾRii@g3sZ3pV5gu@lftmftmE2k5k36SѵCftm[)8q @΁uFݵ9]ӵ9]ӵ9]ӵ9]z]@}18]ӵ9]ӵ9]ӵ9{NstmΞks8]ӵ97 vF~Ɓ9 0&bkU8s@Ɂ9yyyr10j+ȁ9 96gڜQ U r(8P?867.Fmn\ ܸq1q1q1қ,9Koқl2qޜM&қYzs688Aq @΁2$Cr1$Cr10!d1p @u7LHd0!LH9q @b(싡``.C:l2s @bޘ+ʔ ss?W b1y=\ * vJ]%`WI$UBƁ9 ԣ rD2Xk ڂ`-Xk ڂW䂵`-xE.p7`-w .dw bMp.de$@ƁzXP8Pp ,7PgbYtdI{/LaZ,@DҩXP8Lnôd Ӓm$0-F ӒaZ2L# J@Ɂ% JnrɂRՀd ӒaZ2L+oў`eW v 4.Kt(8PeE{MגŵdqhO8PeiO vKړ&`7g vx`es9 ]˂=LvH&;$]dd.@.@.@.@.@.@oxN vA(h}#99999)][o ˂Ɓx-y-yxN vYpw}YwYp6eee]F_]e]eeElu_V&2-b vDIlR͗\΁]>|Y  p= h9P,0%\ h9P<(?pDdd2Q202 08P ya Ppq @rpۿe|ab^[A[΁BfqDI].QR(K CȁfqYA/e/L@/eat󅸬 W|!.+4_A4_A4_A4_A4_(0a+i+i+i+a) v5NY] kvn_|  v5c,&qnru5c,@QIN~$]vUl$av5ps`7_7 v0ps @?n v0_b#1@@/ pL@+H~x &J6%DFR08n Ģ EcqbXaXt^VzYsbQ/{aupN,x cN,' NĢ_I?Qҏ(G bb~/&BCȁ-;p &`XdpD[v+BnZ>i 1ݴ}b7R9PX(F|#/Lp0~'a &H*'a V|#O2@L&'0ɉe & drb 1QN,"q@L,1QNrbrbXȔ#1(.N, d1YALqb!YkX'8Ɖ5NqbWTX1:'9ΉuNsb'68=나'68 Nlpb&'69}V&'61E!2Ol18`آQ>N# 'v%RI!RO,)D"/L> :;'k 'V8t^k 'kyMyM:)ɉt^YI5&kyM:I5&פt^ )"gHA縘X:I5&פ*yM yʼnN:iX@yM4\kX/{abbq &9ΉE NE%I$ & Nlpby'd5k2򚌼&#k2򚌼&#ȫ`bby+dVy)#/q>ȋ JV%+D%0e LYS*K` q-V>.J 'w $ 'VQt79nn+bbњXgtrbњXgiCX IX IR IR iâq| c7 bbq`*_q;`Ot+k+؏. W1`*]9W~(y?Jޏ*7 :u*z bbѿVыX9np\8"VYRּ5/eKY*78npk^ 4JÒCIv`p vG {؅h vG@_9np,5`ê`W V#X%~!u;bP쎀# CdP2{B ;ņņPkacac1Oj-6l,6l,ZB#}nCPk1Oj-Zbp1Z CZ ;+< : r+\bkȵXZ,r-\ ,UaXZA{VA{WxN U^U|*i ݆*imPrws^ݡ(ط; Ђqءa0vh;4 me0+o+ûi{|L p : ۷Uu`V$Pu(:dJq2h.o+U~ 0P*_o+C 9sܾ jl/4[ mq[[-n+V譌X2&ފ$;G[C譌譌譌譌譌 譌譌譌 /[7`?[y)8^qvo`*(طO'tz+g?r:c+ǝ&`?:c+* 4Ucg![9c+gl`/c+gl匭3rV؊J % ؍匭Yr,c9XYre,! F7Bݨ:,_xFunT .ݨ: $xavJ=vfIQ08n7L3xե`7L3: :uO tf@ǭ tfwg}v;x vZ0'NŰO`P2lh1l`aI6&`wE1l( ]j"t 6].M``"1 ^ ֭uխoVUqן[Vv`{L[cןWCcW__+}寯_@U____yWJyW}o>[-.``E0"vY,].`E" S.`{=L`0U79.~}S`*LS`J %i4CIQ`*L%/g% U`*L%d*YJT2JdH3BUPU,T#FR'[)/-dO Y2,J %K% ~}6'. ƧqO`|d[Eh1į϶d[E"VlHU$*oC_ ~_{WT#Fp\x8LIPb>i1^=K^%N^%N<E_`< d{:}~=lL6&;ؓM&d` 0y*鞒M&pIVȃ(س=P`(y0 hi=pO[`;l=0{* TApR0pO0h T#FR=(8*6!A51*8L):CN5jd磏ⷿb?[/9}Z_ :wwʚ}@8`tEǻ>dGg5M]i=`߄N |A4Odֿ@ST^M}A]~4E.~@~g_hjWt>)]}+_ 4Ew4EWWtWY?)@~SEk)Ⱦ h@St'>)]MC@StY?)]4E+3N |@S4hFWt}@S4dMѝ> IhfWth)X?)]M=MtMǾ0EMmYM|;c_4OWהޭA eG]}㋺Zh=Zh=Z h-ZuZsYCQz?zфZk_ԵzWbk=|/ZOh= Z+VhZBk Z+7E]U/Z/h{ʎ Z/h Z/hmڠAk Z}_Ե6hmڠAkZ;vhڡCk?k:u@Zh:u@Z'Nh:uB Z'Nh:uvZӵk-OZ<]kyև拚tQ<PtԵoQQQZ oFh ($拺"QQQQQf(((((!(QEӓ7ʂ֫Q^z37s1{]u?ZAkc1hmڡ5BBqhQi(:Z#2ֈ 8Fx( BQ$ DA(ZA(YXQ,JB ^cpA( ZgOHBZϧ ӳg拚 tv/ɲݺ`[֬f%0T@. '>9gfg}zY6/Ǭע/7H#'1Y>f1o&ZmL4gI#.f"b֋l"ygmfmff?M&@̀@Mnҵ|-y}!e{fryf}}f&|f}fy Gew}ew&}ew&}ņf%iDsocoVG9Ǭ;=u0@1Ѩʉѓы'v/DkO4g)&s笓Y׿uhκ5&RŬ7&RDHq)"Cx!z!zȢ"CxȢHE=dQ[N4gMEm7ќ5YE=kޗΚ,f}yhTYy_:k<Κ~^qy=9QM4nHfjq6e6 6l͚EA Z Akgr 396g ذo@9򦇼 yC7=!ozțMySxh)xz⡠x(J⥦x/57=%6ozKlx З^bM^Ć^bKlx /? 91l 6lu5u^a.0~KC̥#suKW3PM4ꆏn>ꆏG4>zj=5h >zjޚ^ >G4h >G4#|Dh}Dh >r#|D#7ȍ>Gn}Fߙ篅xR>w9w9w5ޝqU܉;㪖ady.VGͣEytQ)|T G{T }HZM4_r=Q2z2<_k{߃__X;࿀ / /࿀ flhdClh / dClh,ڷ dCcgP jA64ּ6`P jAm0 ƞ;9`y=/μƙL?1` F>w2____)AAL)tʴ(&L̛Dj"x6Nc'?vrc2Idvr`'dvrd'猤ZDs'';j`P ls'S A50Tg A50L3&$$$?ޘ7&II3G7wr+OoNn5= `0y<o\s'DЙh.Zk\s'皷\vt0}ϝ('S4=Ih)tha3oy=9y_80y_RKI7LRKI/%0yg(_ wޓ?f%{'-{ryON"$K"$K"D%_%_%$D|IėD|Iėdι]yUm4JMjzyy3ix4u5u54JM9 w PSGSWSOSTj WT$%UIIeRx[hhji*4JMk \N? BS?L4wS8eEPh| SSD *m8/ Qf?Th*5U#p؏ky`?BΆ H6 Md4k@P6jpw i8G&pkhjii*45]wp ܙlȁXl#a |{={=+~2lr`y`y`y`y`eOdOdOd| 6ѴTm>a?a?a?a?a?a?sr`eOdOdOdOdO]2 777 BS.vɰK]2"p^ˆGSWSWSOSTijɵk'O'ԼG?pK%Mn ~r.ce a12]ưv.ce xpŋGSWSO.ce a18"8*8 \?.~r]B Th*5~%p.p&[SGSWSOSOSIbqKYTj*55gIO+"#hjii*4eW6n[岗^.{岗^.{Ų+R9x4u5u54JM&=fN'=mނ4?U??e?X݊nUV7- SSVЊ9Ȳ/}e_.rٗ˾\/}e.vٷ˾]Gm?re.vٷ˾]e?.qُ~\㲣)n^4{VPSGSWSOSTjj^6 eaelnmк ZA6h۠u*):z MRS,{鲧˞.{鲧˞.{鲧˞.{岗^.{岗ˮ2;:;?\cXx=^cXx=^cXxmM?q>vp.Xcϧ*,GrUw>ew>uw>we_.rٗ˾\/}e.vٷ˾]o}RRz#)Hj|||4z MJS&s<1|<1|<1|', nXi=VZcXiUSSS!.GUyhi*4JM鲧˞.{F(czRQ1J=F(UOOOTh*5Qj LHϟ0[SGSWSOSOS\sL K+ -ٳ3v?Ra||| f*p.?XTjTXZVkiZZVջ]&~kWOO!O%O)GSWSOSTjj޾*>W BS.[~poi8ېmA&4~*|J|j||/c5|typgã)cC:17B i}MMM]M=MRS)nk-ZKmX@cKX:1Bn ??㗴z~KTh*553,}ϰ>gX Ka?????3,}ϰ>3L3>3L3>3L3>3L3>ۓIg{ҳ=I)O-O1O5O9GSWSOSOS'x,>x,>x,>xڲ@ } }|a?7 }'4< C'RPCS'4= MO_z~jɡO}rC'>9TOOOOŠOɠC'>94АCC 94АCC 94L톩0rhȡ!rhȡ!rAAB -7ҰZVKjiȡ!ANg-m8oL Ô)Q[84k8y p:S# 3WPSQSRSS![84C84C84C84C84C[Qh*(7IdλJUSSS!ߦ()J{ʞ)*{6ݲMl-t6ݲMl-thY- eЬmx4u4u55#Z@JFRFZF g\-m,>MBS$g\7 zCPۭ"i0i8 rKij-j',$5WieO K,I$Ͳ/-rK,I$͒4K,&4K,I$͒4K,I545=aI%iYfI%iu)vv)ww)xOh֖YfI%iϲYV<ˊgI%iY-_Gףђ4K,qFܲl-qFܒ4?@j8[ۖ`n8w OpxTh*dIi`e}g0CSr5'I/񡓆;|Rj$Wo',y{oOۛۆ+[Sl>n>noJ knnh}}G0pN򹽟ۛ6l~n~n~np{;wnp{;NwimNwnt{;ީ.w]n{޻.wJrs{QXh8.' Xh8Bq9i8.'?$ l8GM&pnfçL'9GM᷀O[',`0 ?ai0.055#~&l8#lx.04NdIZ6p2:EKNRddIZ6HZ6Z L'ɑ $ʹ?X8-LɀqZOr:I$DKaHG"f8ĔHG"IG<,dHG<,<ő\|3<5GrpɅ_8*5GrH.pɅpɅnëy$ݳ?p^\Z -ŅB S˸ce,%[\q#ƒXrnt#1\ƒLt#XrhyMlçt#DMh&TZ 5Mt#&tӍlʔ?XF6eʆ6)S6ndSlx|<Ȧ Zndpmuqf\[>f\W僖AK|P6J6QA-Ft}؆6im8H]t},rh9伍^',t}m.zAK^Pçt}7X;t} ]| q} ]biZN-Bח/u}K]_RG]ajח>AK@hW] .pZpWN׊@ Z-[Av7[_Nw} bi8]@KE"Rhcx FNw} 1x<<c<cxix<1x"c!ֲtBN"['މ4-Ow}sFF矏RgYj4KUYZΙֆxsZN-O*=Ιou6T~Ϲ9|Z-O*9۟sϹ(㳔Y4ZZ~ZT~囝?X@lغ=x|<-^kxo8gkx9s6ZF73O? ~\Eu{=Kݞ93@iZN-ǵx9^!sx-5^^-?-G hVm϶ՆZfζ휷sF0v̳TY*4-C˩elm٧S}>k>gOs$lCΙ4d9sN9s:tIآR{gd hjys;휍s;㜍8㜍8㜍x0x0x0x0x0UiZN-gܝ?6pii& C˩H-n5d-f8pΖ 3´\ raZ.L˅J`g+Ihl&It2ghҼhs6/E'i^4͋O0ʼh-*y2/Z6y2/Z6y2/Z6ͥj,5p8?Xrjysy@漜"P˳6Q|Hahy&j9Q[mȜGYOji9Zu+Eo~0nR򬵕m3eLY,f`Y,e}>XnҲ\I[O@̧-_-?-?-ڱ*7KR 8٧S)b0< G#EȢ 2lY-?-S30)30)2,*lRf)k %|`ǜgërhy\>ִ9g6dμ- |ZL-k.*~9Slx|i9P5 ِ9󩎆?sK Fd<6lx0ZO8-/{@LVf+\iZ'.pZ~ZL-bKz}GWO`j5\x|>#eHk}'L $5ZD ,`jy>>DI"ahy')MJli4?XI" Z$D>~PW˓DZF!|:7NFI"jy:䏈ahy:֢Z4 CZ4 C~O!D| '|D|?X?"!lx<Gp:t->!q!s5A-OV|f+>F8Gɯ!΍_C/ ӁKrR:!-unCN[S:ҹέtns+rJV:ҹέtn:tnw s[^mtn pNP.m8o ҆Wӹڌsky-f|(gl8R MyV^a:tn mtb4b9м-z]Λۢe/j| s[~Q,j| MG5bQk8Ţp:֓Y(ԓldz2 POt 姣x:x: `qOGtOG:Q"tE(BG:Q"t0[0S@f+  `C8Q-Ce !2[xo-Cex!i|(Z1Oy5|4oo>p:cQU*lc^7MQQlz?8z gjSk8CMQpq@4A, g6VeͲfُ7 7{Ah8Y|lh0b,s,5,fΆӛ=4^z(h~0h͞r+ͤ6V^z4MBj -Bj -y]rBj -Bj -9 -9 -9 -9 -@~6U>  Jb3l7v3!Ajf0jk} J*YA |VFmq Fm 9P8P:-¨-¨-Ti(((hs¨U6 Fm Fm " [Xz Koa-,M&a-l2 KoaIXz Lw;T>  J3 f(7 (7 VPqptrIiB2MH 4!&$ӄdCz47CK, 87C,pnD:l+0((hn\Kl3/sÁ@p }8>H <of| g4`WIn7]%iWIUv]%iWIUv9P8P8P:Ќ&Hi82֖Z[ZkKȥ\Zkpmx@ρf!y0K 7/̆3LD2^z4 @@lDQNM>-p2 E7E7 JI{?Xɿi*(-N@܂0-}WieVaZFRieVi4L*.W媂pi@aZaZ\ߖ=Yyʊ$4. ̆_ Áҁ)+keq,ŵwY\k,){p\eO~Eh8]nYΉ= J┡{pvɲC,;$-@!Y(oʷsr2FZrB@2F9luN:'[2_B q|Vz+_rS2SbS)*=e)˪^5Z /~Ё&/||ܼ}}7룟䅏~ZM^jX4y}}|! QFrT#94Lǝ,, ?X@.džp\Xe^֐^p.,,sp _n5/]X'4G#GHC@א-y :$ܖqtI7pp.Ba$܅V縓pq'.ަ5 xp.2[Mk8V@sa9F~p2[~47e H*67e Ė2[ۅ5[bkb@lm@lHYXu\Ȏ# YX d YR k^YChH6da \>υ}.saY† KcC6\paÅ 6\paÅM6]taӅuC6]taӅM6]ta˅-\ra˅YC\ra˅-%D>a¶H¶΅#7 Gn;vyi8V p.aupܹsa%\J^[˅䵗 +ymk/vזY-ymkEܒז%-ymkK^[R3! +y0%-ymɫEB6 YXk_% 6M υ}&}YC6\paTt*EB"! YX#.lF^;]taNkym#m䵍6F^ȫaYX#VqܹȫUA> i1:H7 {T9UA X;%c p.֪ ;UA渼n. g,v97 M-ǝ٭]ҚpfvaiMl8[Ǵ.iCe@9.iCe@δ2 g6l Mǝ L^5dayApcm?Xptyu97ΫKA! Utyu9"8~u? '7㲰o4 {Elҿ {El Ћp2uyk^ǚױB;Z>NU( {o;WpS?Xɰ/4Dpo[;pEêW .?鸓.oN"k8@eT8*{=Gesi>N"6l\6ֵaڰq^CkƵaj]CK#}鯮5Ժ 5ԺZ<5j)?aZP(077euCeZ了Z"׵u-r]\"׵uQjuS~CURDrR~ucU_mؐcU_mx8jwGQp+; cxvh<;4W` zvh<^5 ǝݴ3|Lyi8mX=> Mǝ꡸p+:bGXQsy/cСj8X=ZchA ǝ*'[=^Jzջ+ZOzՓ&c%[ѐcebPu鸓T8OzՓld'[=VOzՓlTlȱld'[=VOzWzգ7>Vw^G9ttVTy TB0_FC~}v֭v_Å54> ?_Lȯ׿__}joV>-iE"-iEevY]iEevY4J,= `* Z4qq `* _L)q8fE3 _Se0U>* Ue0USe0UBUY*2* Ue,ThF_BUd8t4_|lh6'm8'PJQ%㨒qThȯoC{_(>5|˯Q|:e[EVѲVQUme[EVQUmŷΈP/lȯQ/l8#p4qpQ(qh8}e1~3+OA8@~ k?ag_vW#2pe{^6Me{X6Me` lllOYR㨃pf{8`u0t#p\NIAO?XAO j;.' kNzj}',y{i(Qs\ |0N#Fiުwkx| NO?x2Pj endstream endobj 213 0 obj << /Alternate /DeviceRGB /N 3 /Length 2596 /Filter /FlateDecode >> stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 216 0 obj << /Length 1019 /Filter /FlateDecode >> stream xk6У gE,@{p5BZpsYv;Ȼ^YCB 43h%4X—_T0A,S1%gQ}ޱ4y,MyOmB>_72p~wu%DI}u A%R|1p)zHAu)e.sյ`0˕r~8 $EQ0't(AkuD)W )u3V\0GROhhn zߨ m6lX8N0.a&b[5t ;G] (Pzl6$K 6l=JѢa0ۋ).Hβon*i"7H%t%w9Rs <G[7&6$q@mWSbcJҙ}m+d tOZGn!@Mg z1|ɡ (K1_πAYHHip{(:!:gl'4|A#-pîCXEGK?xN0{FQRa.n9V}Է&{&tmo=?[Hw1-'tk08BS>=6aՠ?Oǫȹ4uE1oWLFVu7 {_m]/Wsl)X(`7JLi諕D>[IGNmnWu9tZwW)~j\HLFKpzY~XI8 1#ڸbs8х:-Wβִ}{,A}F_|t^}`kxl WnCk.Q\&5w ݄da "1s+@\ endstream endobj 201 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/tmp/Rtmp6IWViw/Rbuild267d31e1a6e5/MALDIquant/vignettes/figure/mqpd2-1.pdf) /PTEX.PageNumber 1 /PTEX.InfoDict 218 0 R /BBox [0 0 504 306] /Resources << /ProcSet [ /PDF /Text ] /Font << /F2 219 0 R/F3 220 0 R/F4 221 0 R>> /ExtGState << >>/ColorSpace << /sRGB 222 0 R >>>> /Length 30419 /Filter /FlateDecode >> stream xT.;ЭW`>Rv%` Hn/Xs1muur?ψjO/U)?4??w?<|/-m;5A "wƓ`8S YMn3|'-?(9ߟ;Ai x;e%78|硃3r&}I>逕O˙;m$`ǘh VvkD'?AhB .!M4F&;AIthALTLީ fLT3Dv ު ,ɘ<1o/c|3xL9AtR&*P.})u~bSO2^^Y*ųژ{aI]JլY+UNCڈYIf `}g]=k;TzYzw'6Gn9k.%jIj -gm1!i:! UN&WfYkR8TUz== : M#̗4iY')CMh_Ci_wPA__*C24kЬԾxzOuYsfjc MGO !)ctdX|c [h/Zofrf5=kуoۙF֤խIU Й@!䬇T3! 8N?Ĭ4֢Y1AzhfM[լ>f߽V: oZ5kVzF*+[OVzY,KOYءi$M; i0:C#kXѓurf}զΝ\ֺj=O֩ծFy7hkZktܮ;tu|i¬֮Y'{"3Tx<8h SzZg}.)=m(Q7YNY85wf<߬CRy.YG.fuHy9Ϭ36!s9V/YG9=?5!Vb̺ۼάY&*ޅr֡'5;9h:q˳~OfѧάMR7ӘaLxY/Tc~S byRE, 5LTڇ("X6651$Vq cCl#URSpҼRm,XJOh[Jti?x~B~`.O菾TO yi,QȟІ>rlRzΚV?ܥYDz:OQevjɟpqgٓj)R *(6A˝ ϝS %Z9gZIl^n܃ qy5Ѵ?s%wC(!f̒oC=sRY0C3>gSM-DFI B-w+g=P8O[Kq*_ιC\ gZNPΚ|}}Ys}wf{fA˷fAyƒ4ʩSswxR1vy%訕SE'5rK4 rOʥ9녹V.%ZuZuP+_I&GlZP:j7t7\5h:jD\'߽?74돔^_Š[JHi/1PEj*ZTɵC'zLuL:ɝ'}\;^Ӽݡ ?TrP[/ʻ+=}ΞW~gɞ5D=?4s2Ϥy{_~,]%rCcqp/WGڃwO;AݪFao3Gϳٹ=\PnnZ^wr8QкaJu.;eGq-:=wR^w6٭pCVaNϥ%){v7z}TQ{Qa~\9zR4zoOY+>pî]7=pCnzJf6tsT^+Em3nnX +nȞWs۷ 'uWBs 71np5Dᆒ;FH#ONJO#kxu47}*MnI|&?R$JFߞE+]E^O4:gWtZOA;B[G7v.I뤏SJIUwb4;&g,!t *j %a\9hMm[9:߁+ǦUjjɕcΏ4iV=q OcW4Z3iVbY =9&fӦ_jxOF]CΫ^x> 9HjCnz )!!Uj>&ϼ:|$!fhʘk+5ϢѤ({P-4O= Ha/՘ET}yDUT#eYM5PYx ~N*jj$hUk6(~t*@8y.&<ɑ0吉6䡗e6900` mw ec q`b}.&QLj:h6@{&QMlrh5Q9Nl{>bvO!N.^b_9wrצ|gG9$kp@}|W:RL?~h1՝r/O9r}3ۆSn G!\GquҜrLO9 P/8e =)DpF\rsΆekTp%'o'k㔯WY:Eq8[ӱu[Q[e֯zp&OTӍ-~{qF {_qX6E=_ 3cQ^ӯ]ȶPc%sтtٟ߳'z'qr/:aTx;U.*>_wePr *w"NRxi :j*Oo~Q7\U*o^KOzC87!8Iѓ$oA^x5qi\C;9eӔ'Iy q.c''o\v9} ;NoQp<'p_t$R(z]'IkIػS>zOtˋNޚ;ykvr򀵴9˜ Q?TQdIOŒ_ԆdR_ѾPk˒]5O蠸6jXֶ%dX2ޛH %cmsYjɔ_m`)6꫄,Ē$?NŽ)[ $U},+@wC:IHl:4"j)+gXRBr.Р'kM`Zn8..G6_Ͼe;h]k=Wߐ>ձODnM)5! & ݚ%wn~lή&@?%b,|U Mr*n9!1ZVۏ}ME]VZA&v+zVVv=at$wUOrךw!h5)4{њ>wa.xS6^w=(@Bi'? b zljNk/en >}ljA#Ü{ܤ-7L$䃅?nFx4dc!J4^ =u ;={14~CzrO9USSҡ>j,$=1O-oM#Ny⹐6F*sܲmon,-ycܢ=X<7->h [3gh` XSA&t^6w/v.ys:(Y* 1ƹ+ϔM7g7l7u>(Ch)C} Lyp)s"%AEM%Mdm8r}r-nIPޒV\,kSU&F}BaT7~H / RB,Áw$A4is%SdgS>/b:`'K#ZMxvN)\?D^2tLvN0r=}KWБwgAHJ@"hA,9M?p׼|5+wΣ[țD4yd+s XyV„IaB6d+C"9joiG 83>'m1އw.rϿo<02FGsN*Ml'Cް s4?|P\NRmm ΌX]*43OC[ ypp162&|.xR@V@g,E>UPJ=Zi82T`f v?ipBX{6i܇wvsدZEzwi_[KfԐT=xSyns= =iLwLr&Q#hւ0F.Rd M8eM2`vUrn,2y$>  snex) p\_r:8N]IHN7ZۏgIVx'$EAU(`!In,Βݘ%M@θ>$*n+蟤u4W@Eoo%_QB>pq`I36ZqRl4t`O֞Nd *kK݆P%8V<B (@(7ԣ G7{i}`'˭8TϞ9 av%\ܥ]nPYt7 q~@s*Oq>CW CW]}/Y+j]%*V‚$.Hr !:Ƞ ꖩ jOˆ%Z_%C&iL#gCޟ@ĀLBȔZ>ɔQl~P,?蒣#w%߅˅59j׍5`n~;Vr!iIҤ)COZ I!:3D'uNaIB'7>~:9=D8StINk +h0>?`m'I|Lg.<}r\\=Inoc{Ɵwq <ȗ+y4q‰`튀b TQwos 9ɼ9oԊdC]\dGFNByMXjyQdղ7?eCZղO;?U-r+&lU˾ˎКǐ !HP)EHu+ۅyI|wXǚA7IICt5V"v al]195}.wQP3){?<8X Y{]7cQޞܮ`m(< 1 Ň)5PEwIUiÉ(|υ/+҆ 6oľrc%7 K󹶴$M˜ x܌ʤsF.d5;|J,5|@֟]R0a7=Yj4^`c@vޞ#Bzr~7Ӈ\A`^}D??asO;pF&kFo~k}}4GĖ_0K}oGWLPM ?76wߟ+oxx\oP}7/Ƞ7zJOZ=ؼ*x?cwή=xKҟXBj9G_utzI>[(gݖ:g\޸S[LjyUxWfG^Ә?CnxUx&V{(Mp=LF{?1GPߣ];7QMnۏ@tLx^6˨{dT|K}FŹTAVڅ^~xg!ɰ}6VȔDˌƈ#/lS ƑG^٦ఄGFG?_cBG+RH2wڕ˲5Ұ\z!ʼnZ^4Ge>d'iMYq ?q2aeV)49jI`UZ6L_/)E`v|0oƛ|6U=Y V ;GRn#{W(wA=qj)!rຼ?琛Nx//Cre?@ǁyef4*3˰;:71#~ondQGz;Hiva޶zۺsfK!ѫvHFUɻ!\o߻Kg\㗿_zd9t c^9?tyAFńNp622(-b#=3|SUW|oEr>$Ղ#ؗsHzΌ ; |>Snq+0ʑl&-0\a+UI VӪts;JCɏʃPHt]!G)•1jIϐYd2vuib4NlOJ/&H#^Gu^CɷۣۣbRM=ٜW*g*KUu+.UhӹsU *@KRV袄Iwq.KՖ|=q^I\l̜TYYTfƁ+ήɺX _p$l RNխ}<ɦ3V<=銻[Wi%,~3a^s(?ǜ_ą??|tNYԷU!8E iƢ> |oDtAĽyv7gJ:8;I. 3ʹdSZ7$\n%3y)xD/kOn/#!$90v#sNi+c~J}t=7~*[NZؐӣo脪]6z)G P umsτي2"D"TY}MarV2p5ŕ|4]D]8 s%9e h}\ QP34vE5#3>y=e.e`$oٛDPB{LpUR28[CZq{ܺ1 L+~3OCMȨڏă֖J% S1Kj+GsTq)g{v.zE]TU]TՉ&kzʾi'w%A@WÇJ;C(oI sXJvU/}oWeRI։`nSYDݪtNhUhNiM9U)='Gr7/jNV2"x9P-T]jL\P[۬+'twA`Rъ޲ylgH9\ae9z%RΙIxVc,Ԣd(aNnȭvvCXvzUܭ$8Dp8'Y}_}bg,ƶ{6¦pTgI<I!Y5ړ8$i {ҳj/?LgHr8]ܽf FQRjm磻'+nwMbXǐ CUTzoQ8ҩS~HV߆V;f ϭpߴ7ToRH|13jwPǐ2BݡH X2.oPET%[_W-BA)<[Pdr+JA!єM;t$g@n Oc[ _<@ 1{P :i[${FRTC[HQtA >uQTJe6'xm3!ré[.ѲWE@6ƄwoAɑ~$ 2B8o]!M5sYۃ4> p\DAVp)c@-ǒ#oBm}hKciڥ-lnY-leA"+~DW-rfכ@&<44Xg&ğ`{ ։4! UDBv[G y43GV|=9GZdRWRGR:졊A ZΣD~*佞wşM%a;,o2tQ D>S ZǷVmۼV J4JfJ|WvQjn%Mc:{U~a]fu+W)uZqU䚮*Z.Xdt"ypqk7ρ~BKT߻l*ØJT9cY"#蒊 ?{ky w"] u'ݳD7 XKj{[J^]r Kk={r d$ۭV@q mmZ#2r[!#|:ǵ3.ddU3 d#EFBPd BF)Q.n%=(2%@x]lVVՏ0^bފ\mH#JJVna!wO)Jy;ux |UI#p,A!H#Z+[\hq*@,fkqWT=cq6[\lq}az-;'&P ZwWX\?-íផΐwف>Ᲊ!H @k7jJRNOkui.ߦ{V{ Ĉm>t,@1mM'tʌ0f4ѫ d61<.1)m1f]c.h.x!ߕeۭ=^ٻe$ ےOlE"s3ρryq~g@;L?hvŴ- *<w%AUEErB>h(@f.. nW$X)LAdç X%XW K庠$s=H}(K+I}~xM7oၘ+"|v2mno6ń{W~6AB{Cw&Vk%ѽ"ѕIvU{FUZӨ\j*r}!><>,պ/"E~!=})2H(pv#i )O:b]UL~W,ƭb1LrD6 F_(Sa1"AKJzwWa]b146{o\ 7sW4tyž=gbVٲ݇.{ 凱a[uxVE7j: kyn(2,`v!aİ=z3|&֣-VIGtFڹ!Alq+,>84gC"l< 1+ n9(JQ w6o uF-6ėE*{$d}jp%;g838pJ|.zTއH0nj%@s{VN֪)o!;v$[tĄqX3]1lY;[7!#Bp$xu+ǟJ](@*€FWEBԇUP&$jdpWM;IZWq9u&SAx\g*vbXM[Jd"[ /{ Vr{]㽤h75@kV!DCc:>Gr*>TtLT˭㭬qDADLg瞂cfG+;jv |ҜVK%xP0eP<"](NM [QEEn/> zMck-CciliZ+Lv "׹UWSꁸj~{1|H̃KGbm^B5 ќYh-|eΘs|9mDnlA%ϕsM. 2gh,n̢9cEs΢ 2~Ɵ0g skLQHˁ߭QUs.neRq;q[UB*B@ _3}2zUZG)|$fUЕGDv]jՏ w1Vu3jvR[wu1`vyݘ44gm9_7 lbY=yppGwW uW 5ĥYhȥ{ UWSհwn3=pVx_MyV<wǾ>n3.*SsnHs9&ҜEUg͡h] Gs:ϽBќ ќ՜ s.n]?hlh2gnVGdj9#O9OCؗ!s^9ow>ɣdU9y/('yʪ3֪ w3漢meU5;3sPs3߷WzW)[ߨMxm_Mͭxb[Mކm޽(bʿ QVלWל9swryVל5w]szcԜ 3rz   "K[m!~?̥m'  K&};^؝s 4's"Y5dKyX7RmXNU'Tuh|˩D s`7ׁ!v Ef;{70G7qp`L u?LMܶ9.7qja hAtQg5` 9Z=h Ma+BRWʭD3.~~ќ\$ݠ\W{ѻx?}7lRK{zopjEjm ;@)Ree,Kn׸WlȢUvnoϒs#r/|/v,S:6p|4 Էe-n2g9{HVМ/d:tCzw̹a欳 9ӭtyg~xD=wC1^ 1vһ_47tʦnMu :ls#~sfd Q~ҜscG"SDZ,aW˶-8>a5:-ݮѩe_#=Ks^&ޕKǭsu}]ؾ.ܔ8pm/,r{S u9<+8ZV:tũCW"kYBhP1Kp'oڄeeqB0n|? 6C.9 Ea@Ȗ E E vwn?9AqϺ)BwoLEg[QKʁc(ï\9pNV WEvVc5GuV?Uv&& !y\yD&;X* ,ok]Gs\ϻǠiwV@E89nuYkΏǕ{:xSɰ g0b[ 1g G_p(W >TPvH >Yn|)$m)Z>*1Rp~)5g?<[eڥPYn :g,7rBv{pMr[^-e_sdq֜d! DlB~ Ȝ[ل{Pؚ@ėmV9dq?94""lc^Q8_im۳7Tм wDmdr3q -'30~2y$äC=>~ߞ ,ۓW{G#U9n0 ļ\3uܙ|Ƹ[IE,.Nq,NyT`[@չT ?L__yTRxFV&7RӸ&x+.]jstky\,zȞSIoTauMWݺwg`6Ih^_Urܪ`}gGx`Om}"8OE VK)LoYUfxm.n &kY,bYdQ7ev~veQ\7I^2PLdxoƧ,o 3e %rCqƵy{ بvp }˥{F暬i\lcƇ^Υ_S(:Us!U=\>{QUz9 Co>47{t8m*}m{ٯgFi>ЛV_)f*|MU}y~I)7u9𧚲9Ћ)˘Vˀo7;h3-+Hfϫ.t6~jCYt)6&ˢ{l}=([Oq){pL2z[Oʰ_z0).)~ҙ8WH\[ZM8n YFWEg(5<~n,>Q<ޠLyF̏.Nϔop ]6y|^7nR3ȃa9xxI,~7{#=g|sEJC2K X*ì;; ojyLR%=Ux#={3ԻZo :ڲjŁGZ2+(8Sjzx>BFD(:4 s[r܄9nrX"27__9[^EGyz2p*te|pA| !oªq)Uj\cƓ3i,xJLRru)LvhXROOP[~~Fآ*H8RgEk-l[4j-́;c 1W0ޅ&Hr㚍$7{F:;8 !)b&ikhiyv`I@"ƭ~ -CK:xpqkU_UKPTP4AU?iBhY;LOVZ&J".OJ{@j"_7Ç?w]oئ6ibDhi>! 5|,ґՈ=jc)QjIn)߁s.,~wc6mu$Ijme)y,E-@/ju ~ 0%m=7/ x q+9'60W_9ΝύMx^+G[X4vi7W=݊8-Xr 90;>E6+X:+=#W1=Q3|T=G AA7-d}YJ ~xdt¸@!E6$"p{kHD㇡fVDCg;]A0"~[]1̵n;P36bU옳0t+옣1ݳ!(DZئ Q6gSx7*tNnlR`U!J'sAxJ'c"t2>I4zR]=H*<jYuP⇡fPy\B=}1mz@;vCP߄p[Gl!w凡f=7nQ39EͰij  (j5AdՊ?P{![p as}k$|doBch~Ā\J]KՀ[MۦՀz4:鮈yy \p+j,O#Gmڔ[@j`rfm=n&ڪX6WtfmJcڶ! = 1_ʦfW=P +VO`n<zFPGp]fmpeGYfmUl* \[JPxW> ힵ.A`*}6 ^M:trM &9F A9͚sۻ+mV6Tt59;â!j y/؝ҭ;e$웨+>w>mr~&r؇n!wBkcBk E8ӿ!)a&H _?PKHY$f¼Z /;V]_Z9_Xyv]ײ<ΎYy,bz zWoqwwdX0V^ŏF-ҮC!>+N7~Vjarl:ps<72j9g m*ۗzTM]ʞ&6HlRAe6C$e RHؓ adOk,$9V$0v md%wz2`ڔW&рbaλ .\ +.ȕcߜJ Ώ]20^mb;˝I_8nyivㇹ,Mw%܎CpEB6C󸔇ղWm3A_6d܃!IVit>0^vdnT6)hTem{&E| )ˋv33am;dnlg gh(lW fCڄ/k v#. 1<ځQ>?pds rKU!jv;v0qgb.!J&n/E]c8˅Y Q0=K&vCi]|nW;K.uW[ Gފ%ݵ㛉a0뒁8Iwm } vNH*t=L!KBCq5&4: p#7Jf@.1Ea7w؍ @(n$a7DXM 5maԴᇑ̛ouVyqմ.(5m !lGFM~5uTދ"nU *C1T$ nAtǭp.BOUˈkp/נ5D*|9&Ul ް~2__An}2;&n:wWlMX~`(uQ5<Ч(qBRx~2 i8cVc(&0zMh^/KѕE?e},A*/~l UlZ@%NskX\A@)z5A.4n[ߕvB큰%-+lj&-tQ Y!q+LhDsq9݁]"sட?D@^R^vI4Zu\ݕ|}| ż#9%$T-O3DHU!蟅]r.y-;Vm *E›E6uYF?6HE[q$ hm|i>K9oVWuϐYIH`%>S!!A.S_{#$$,w%! v+ /@uW|Ճ&eꪡچBӳG Y|C}")}MɃhg0W]eFzb;#d 핓2vY8Gf}0#xJ* "GBqA\0+].7KJPrʟ I $#_pQΑ NQ-xgfMma,<3S!/SVcn` ‘$kJxP 2 ¯,J|Jm'+Qr m qC܆Krt=K/DȒMjhRGOPY6M 8u.N6kbm#[EP_jL[S'_dl<(rf5Xa9r[v+k׋/ uE$ NZ9wS+fG =)pS{Zt2\#&=;d&=)ZppE]L qNf 2Qpb["0\55Oɉ $',*656'6#6M2C[Amg0jح,{c,s`.*$YLYReU 1`p`9ΪI)XNhf' Dm  l!꽐dSѩ7H)GA6:#nQWP*T.Bh8r(bBo 2}K&.z"L~B` FyApqgŋYhAuu;oƸܨ`Ju b@n4Ah۰?!f1Zg .W+]2a 9jCзΞrۋ {^opl'  FED0d IGW z8s+s"c}B6AA l֋8*{#dqD'ɓP`bXub`$KΔ"YW.*5VR#\:cE-۴;mC9DԱR13Ŵ4hE?ǐhUd,c uXEBM 2 afmqm^V;ʱ.jolArA[\[HzV%%DJ lZV-/ALkL1qC! I9pڴZؓQ8d;w)\:båشx5kE4E$R%GPqTUP[*"몪*?J՘F+%Qq^dRƘC }$Q]C5PF62]]GWcہ֝bvUæh:L(zU/XǪ|9)iV}]ʶ݄g6ـP/NhZϐJ]gDJ^ԶOо.u=sgYL~F?䳪{/BU^&{ՏmUN/ R}X W8P=~]&D@U `&m籚a6M]!̆X-蛗c5aQmb'6!HBެ<]Y\FLD;) %)0h. P 1J7+>Ȝpf6*fِl{ pRŚUQW525bj܏;ࡌE/c⽧۔ 9wЎ !̐5qqN"MPX wH08C6!BNEQ\ M=ÛfqQ(E\=1@:X뉳]aM10hxDf4F齘}R3g? f3g=g_rtrNhԇ&&9&R؄J}e^b~{Qz/2D;Bx.Qcx*:k,r<[. v~ › - s5Bg$"c͉|ǿ?g_~2_/kqzI_?%RyKˇGdw'5mGdMyp˵lt( Aog88_}7/?Hw~_p[ c{}so~ջ?=}Si?OzxWZS7TۏcganNLxr:kI"t|Nם?;RKkh !}zѮ!<8ohصFgOi>Z/ DW:?}7_~߽ҕ_EJox=.R~E;\I.V9/>>WoٓW߾O·~oZ|ǯpwS.'tN^D_l%r__r_vM֗v|O+@-!Ff>o͇|hB^2ewoy2i2G񇠣b~[Zœ-FT`Q6ҥOOPEEI%y1) A_t'}Ezќu8z?C4@%\ˉ~IZ7 %n'VTX2rޣG=~)A1ZmOz^sn 4}J BCtxu-9t!h|ρ$ՉEr_'  d]r^d/G2n&v񇠣9 ^ξV)o:t4_k)O+DJps_v > stream xwTSϽ7PkhRH H.*1 J"6DTpDQ2(C"QDqpId߼y͛~kg}ֺLX Xňg` lpBF|،l *?Y"1P\8=W%Oɘ4M0J"Y2Vs,[|e92<se'9`2&ctI@o|N6(.sSdl-c(2-yH_/XZ.$&\SM07#1ؙYrfYym";8980m-m(]v^DW~ emi]P`/u}q|^R,g+\Kk)/C_|Rax8t1C^7nfzDp 柇u$/ED˦L L[B@ٹЖX!@~(* {d+} G͋љς}WL$cGD2QZ4 E@@A(q`1D `'u46ptc48.`R0) @Rt CXCP%CBH@Rf[(t CQhz#0 Zl`O828.p|O×X ?:0FBx$ !i@ڐH[EE1PL ⢖V6QP>U(j MFkt,:.FW8c1L&ӎ9ƌaX: rbl1 {{{;}#tp8_\8"Ey.,X%%Gщ1-9ҀKl.oo/O$&'=JvMޞxǥ{=Vs\x ‰N柜>ucKz=s/ol|ϝ?y ^d]ps~:;/;]7|WpQoH!ɻVsnYs}ҽ~4] =>=:`;cܱ'?e~!ańD#G&}'/?^xI֓?+\wx20;5\ӯ_etWf^Qs-mw3+?~O~ endstream endobj 229 0 obj << /Length 1606 /Filter /FlateDecode >> stream xڽko6{~M"O a-bk2CZ EZp%wiGrlID1b\x_ޜx? q =)A_H @8=`)G1 4:X YscG0_^_$ BzKA%J &ig"J+53w4=4v'uG’/9ݒJU4 ?aZ}igjQpBvD2OZxUteЛŨa Kq(;尾TxfiCN}AhADE=PQF$44`K,)IM>Ė `yd!g 'B:PdS蹞d 3D`EG 9.G gNc "rc40dI qUP' a+8fdERd012f)Kcf ?}_8 :xP@sE^ue 9 ƈJOq&igin{!ae/@$ԙCPhYBOoݺ 'pFm;W#j[.q2%S To4Ъ_2v`6)u+4r;{3w" e>t@n"d #IC^\zSh,`ʓ@nw&f4,za|²n[ji`ʭj2H,c⁅yu Ƚ;+y^QEYWP8℅mH~hTCV5-/ʺ5@.VeUq~Lݫ7KOr3%2BUW M@M7vؘWUWD5{$5Ŷ%cFɀ Qc^e*[O|gd IX R$dz0uU-'x \7Dv&9ć2?m.vއkݚC!xPލ*HùS XI4-j'l467=ictPG$ T0-0RE[;A:OL[8\ jInu:"e펲ZOW,@Rc+f qfb>oaB.Kjf=oف-Ei>h6ule0O _u?6xY꣖6kTys5b$ 04]?+ªbg=PI>|.|Aڰ]Gg)|sG:n["·ժnJe\ . p&Dc$fDK.Ь(̯0'Y{MVGƷ23vyF못WĴcTZ&\eTBu_xWzvhǍ7_ZqݼZ6=M1LIk8 +ni hĕ /F>//_\MIٱ?̻b|\Bn@~!(D"e{1, endstream endobj 233 0 obj << /Length 1667 /Filter /FlateDecode >> stream xڵWKs6 QY3"%[f7v'vnȌ͉DIs_/@P*"H> 'I89O>x9˥݄,$2f"N'[ˋFؕ,㤯NL3LE/q#ȧdc 84GY[JSu)[hj{5,b1/Ӡ6;wx%毩)j/5gR}MߟB璅ceq0g~I@lUj"RF$ȠKdZ3;+p$:t2Xa[C B0'wExK"sWMcjХB$,ٞO$ 9'B3|z[DMJ,{!dd U &󈥹t9Fb+3U{9P09L즮tm J?L!ĝ7cClp`Fqd;1^PmehLvj8ngZyX[.#FOʥddL' ܳ{Hu@:emΩ LCoNם'`DuQgِf,X`2۷KCb7JĽ[h^DVIb؎w6x{`q,G,C3uTD|CYZ+ 6 DWm N!Kd H0-c wDkh}DmǬ: {"Wp| - ~$>V}ʉc Jm]IBVf^fD4ˆJFX~߂ }, )lu&fOg~O|f!ͩPɗW;Ma(] WNȈjnI1C` [l[jYv-f8 i> q=%FWVN#adBд284K<3OW K9R iDyr t|7ь endstream endobj 246 0 obj << /Length1 1456 /Length2 8518 /Length3 0 /Length 9499 /Filter /FlateDecode >> stream xڍPJ-h/b =x,xpk${?jvt9= 4lRV < ) Q6prsrrc00a z +$ ({aOD5@psr C@@w@ qb0@`[>,L.!!?)Gl ta ǧ-m%L00;ѕgfxa-+nt;@Cb BA'dvh+^9"E`}8.v;w"ӟ`%vX@W0O+dtp<݁`O@&ZB0WvW9~y:f9'+# >Y0dt^_d v݆3 $7Ʉo \ OK[x98~zq8AO?>@wu l XlNdY q>ɏ ɓ¬ N^bMC-Y/4`pq~GUr*)o 0= ̀ΥyR.osqZ>}q?Og +wspg^3{5,8/UJCק>͂ÿ*Yia/As;4 O |Oei|>i 4<%q?0 za<]p=NS9?5FRMo$7pX qq8p }?zzj*tJ6]_ {Ne<7Ak^Ϻj~)X 93(06*4gg_/.VN|wp;f{B۵̐ $[e91kbs"CzfTh5H!lbY]YP=qu :4P*JpvOϻOt;Y|Ib_lvߠp'TSV_Oji gpfhh*܋)H1vgQ|}gQC QYP'Q{74ηA5BGWJ] [+c> 釜oeK'ώyc1M3&F)%O Ct݊d 3L9 ˻ih 缃I3;0UQFj U3 n ̱<.;IS׏.Zt .ԛdC ųD|蕜rA]$Qit KI4M kwO c7 3M8Q$%P!`; Cy&!:7QCfv9J_Np;XT9oh&J:f%iyLD8avbcKorj?yC(fi8@:jN#(lA9D\ȣ|spϼl4cJ$!q3>DWizQ4ޛE`"[Z{k\TTTtoρZL$vt_h=Vڜ@7}M7,7'&1 X5q?U0(q$365ь \iw s s4i?zıX5=? ](WL՛e,Ϲf~iz 6ts棱bk/IDhw ]L4s8~B.>[yaϪ\ǒB2Я5>;{X+P߂fvd KU+n棭{QIux(Z3*SڦeJpǧ/GC9=WtknF~ CVJr,]>wng Q)i\k~Vl e̽ TԀbԥ*[ vNJ^X˲׌/9= xp51G-n=&?& X3NZ\sRw,ڰOcZ:7>֖QlB[vEml2a7`q}kY$Vuܼ6s8PƩ\jY2{iѺHr2m<~ śr47A2F#UN=2.t t:VvswKл^_~6"cɒEbg+nNKF2n¯vJ+aڃ `xmzeݐ0f ѦF M8{qN1Pn1f[ NɵoqthN g3e21cdH$%=FZb BrMXxU^4[z_•0ul:+8*,}+W]kS <5iD+keZ8 ^MVLxk[>7Q*A=k3S1k@o4e tUAC̸1t; I ҚO171ӣXy+\?31{3QEEXMXjt9Uٷk 4?cFD4~L;Csԧ (%jlWIˇw2|uԥn'P;A<7xTx=?; cBӭuExckߑiصL KBi I[.c0PvF/m[fo˭\P ب_h""iX"NEt0C%vWq*7겔0K.:υ==Iy?A5,=uf!ht3,sqYH 95휔m `m5wMTg=+773g.:,ij"}M:BRvPFUmu'O !k)U $82oOu}A%B6ɗ*F6/,D~^{AaM:HsO,9|TN42k6{76#.?ݛ垤>dOt[O2h!3-˫]dlDTdb 6WqP8`G LKzpU.s>S?ɼ6`},&IdRpݗ{:'ոyau +wu$켇,ӮKqgzMc(zTuCe(ժ2mc/K RxE{L-2-I[0V!R (P`tm.JP~w=52XT*d^%Nٻ(LQ͈#PE^;p]{'MD@a^qKKZf_.׳h?J+q&wkG߶ܾӝWu(~X8;lҩ0g&ˉES!b#نSuQqOU!blK|K<錘iŏk?4*Rś=4wS4`XF+͗Lk>/xE.j'zrs3$bLJ!uE1k\,f ::Q,O bJiMu5Zn鏒PS K_ky"̏ `/70_8#+b  5)ס 7xeܼxs]V'F76<+ p= T "]l4aRCC›?L"|8i[v4[qEo.f2z,]ow:B2N,sׅD?^^,PAzJm+z , [:|r/q|MSlnp)Ag|Sw14t ""ЩZ1Pe^wAV2#zCCt"Sb;aoJ@͆vVYM+LJN.; qU[e.:Hkۖ&"%jy&.@Ǜm}DCT)vT>,@lSCi^ZZ@9CAfDңd/%qoqyv?-M3E$y Zvs0 {'tG!;~VU<& ;FQƩue%Fgfsy.N& ZZFo(=:%S]~l;Vwa^y{uUv [8նOkQrzcFBE" 8PXHIzpHAEC$iԔạVi=u6ѶRdVX D5 ~ =ΰBѳ NuWUDUnQlq6frJ*4<<>=ÄSռys՝S\ZKJwQ"]Z:t%"0TJbH9-Y8` S,{Uޣ .Uz!(AB1.g60K-7^j? nCa;אh]MӪ6M~ѮW=:^5{5(z12h*&ɲA^ZU)d%Ji+bө1bU[a!ͲjC\/%0iʸ;ǃϹH Ml[DUt݂T棁O}+%>e܄}#ΣkL6[Xf"se䑩 g5>GJ>mǙXUWmŅJ&FxQk`9"u'EܖTԭ zM\zKa/\ soQ>Kg+%Z-*ãG? -]:n=Lh"ECYIJE~p!<7Пe{\8˪}fcffҐUuȦ0l0s]R7 -, j"tYʎI(vD1iPs*T#[QjQp=gyU)%!TeTɦ=Ӽ֐;fc"7yg[J2MSɊiw)+G%Dv\LY&ibp|`Jp.o0rس?[F1&YyL(>s\4 `sx2T˨ڦo8!Q$I 9YM :}1xopzn]oeE3B"N7z~z^j{^|F҉lK]%K %;&:3dJBA/nf^vq8_QiʉP68_8]'^ѓ*Uݻr5+ c220d^PZ٤:Ի56 `;ėuaM`^5Q:pEru7`$5ʈ~t\A@-Ě)Ҽ7|~Ϣ"d>%8x@ή%3$!PlQdPNwLhokZƜC4TJ yzY!nfJMym2zWېo%8eEY˳Ij4aoY.v&aElC 9R Vnkyy=w޺Mߕ[#Z0a"`jJʷIlEjh5>3Ja'c"jl!valjY2FUaU7l>†Kf.F5;v1e߮ "_dVJAH#P{LP%g]$wNQT;7?F,­w_؍4핎a^# VB4hLۍ?}!othFkئݿrPWsUS5~RϘ{ϝlGMcyIyߣ9^INQOq_rto|ݓ\Y$:`Euga 7ygLBPsu1^MHmã!z-Uiř^q~ nfWd|tTiMM,ytѫWsQ8؊-Pijh"[|iKBGD5Ds)+kd8('}F"m$)U8&HrϬ=h1Ofec80'mܫ@b|$a6͍2cIX6*7tH8%.1sŽr^BkZ$VŇ圣{.:Ck&fhdzt!I"?ٿ1cr ߵ !<*wg5+rr8pAq zB+OxӹQ0L{*5g$&T˽ϵj8;aSOB/}~m>qa tɾHO |yc ѠjtBnS6rTbEu^~OؚO2B0ѹc֟.Zg,z F:<*{'& LLE1-PiVo(>fF?Uu~ Ag.zeE'&)xFkH@$=F\nHRrLĀؒ=Iwt=xu]PYB}&TH.lUͷU_UV ;VxnE,DOsKMu5*>3VNG 7r? FUhw86y#n/X!Ѳ;(LvF[kd?AWIܣ)gLM=fA"mv;:vښcP~\oTCln!O [5rH@5_Vq\\w# kDjz#H~b:1<_h=>]FN=j k',D,%~?Eo4>dI ]~2)lHZv8 ~{d}ɮEu7:*fmi36.:+Ԑ㖕,Ա[#=Ё<>^H ;bjh- 7ZPĪN,396ӢSW#~=X<@ʶR#-<=`rt h'x|=>n,c>& hGKSoo we_H qE )w-1LjQb endstream endobj 248 0 obj << /Length1 2159 /Length2 15376 /Length3 0 /Length 16658 /Filter /FlateDecode >> stream xڍt%Z ǶY9m۶m;bT*ض*ۨضrvwF89s0^krb%Uza3{ =3@T^DGNfb9ގ Q'ǙQ j`f0s0s01XCwY2v@g8rQ{O'.y@eJ `;@dijl7v~d45ڛZ]<'#;3gj:@ tr P0[9@oq`ci spq3:>T@rnW K9:yZ}[r ..tc;6nƖ6&n V(>gS'KggK42vf@;gt~ݓߗkmgndnigf 3WFu;KGWؿ9Gp>]LLL#ajW5O࿌hvwZ?y;.N@_13,M]&ϖvpde?f_1afv6bFi9e5KQDM gag03r8ٙGu03p]GSۿg B X  Pt=&v&ӏ/SWAIN7nlkio人|l._&16i]l6Z:KXz͔,]L-Z4K;_O >p)L2v'(? )02ٻ|>Qv_G# `bELF?(}D>AQ>(AF?c G?#2>AFh_Nƿ$?-x0u`lFo!C?0?CݟB>\>lcMG:?8IQ}om 揤:n0X8q; ]CAO5:'_& -ۛXՆ?T ϐjQ{/9u>!A'SW} ZwNEYZ&z>noMTn{y128kX^MhG#K<ѕ I)G]h^,K4}z^`,yI =! څ Z;WZ8ߓBo 9j,ݸd:8hS")2 ?d¢~7 t ;w-Ll"oOř*o ڨfwqM29+wbyEU~s erޗ`)J ec7W?4e}»E\ocN0·K߉ I;7jڧj CټPF5U[ LZ֬ty!)|?6 \6{BXpTu Y4+NfXA>GU&g ˃هrVDQ5)W"*hV%b3%]:y*eElH*&vΜUƪ0:y%ÀűP9Kȗ+?tB C[4=a+4SIǪ"o6Mͽr,~orKoSSAJcZ\ao  rVXŹD>L3\ճxsduψە!ם`|<EI\RnklA/NS3dw,}:'}mBw`]e!6"1)LSR|7R< 4>H vٌٕ:ZTɎ\&Pn'H*! e@Iݽl)ICL*2}VsY6š ,1Ob^k9c q&'[A>dtW?4+Hk?ku?ʼn!)M澰LqnCPӝBlEnn:XϤ)|ի<ˎ(S\5O>N]FEƛiڂlF:9Q/DA]^zrc. [b;!LVONʯҠlT]m͏;E20vb6*=6rq<ĩ&_@ltMp"vkKI (t3Qk#7~ nC-_a iTxEf|ykZlmqZPdb:Pgr1pZS>Wf,4ώh4 8 q%7˵>,|}-Dk3Kg.a ||&XERft&+KV64n!rz:n]"N' CB[1:M- !TBf6Ut2`OэS!]sO |fSFOr0zd jE.=OV| #yaF¨xDXll( אhkX 4loul*aȚer%Pϻ'<(]u'e#[+n)H' hGT@t$ _]XFP8-[s؎s")Xh!p=cs3sS ,{!Cg 7ND ́3k;oM0Xp{ #Uf"+LD8 /`&)JT{,#7D 'ޠgyA(3fmq$V [0I{a)nIf[Ƈ⥣o 7ϤpqGB9*>o?wb[U4HZ^ ˹U(E~1l <~No.OE@U|O^0ܥdYd\vmFo,1춍^5ƀQ2/bzR1sYN7E/zɤKnԘX;~v-xZt\ƈR'0j.zNtw).gkV^ k7h-d:,%YM|H I8dc䈔FֽL~d넙NRc-ʚ+ P)֫W;\TZ<լmZ)7jNgָ蓨]k]i1lnwJLdty ^B5#1iZ -̯%fAFQG LjsVD\o:3!גTӝ 䟊S@2$ρ씱W:JcAc8U * !%R҃MbF޳JSf,uMSg6CJvu6ݰTj~Tp^}B$ ^Z!#Xۼ ǻ?M]&ʚBE4qRP5dN]U2+I߼gQ .Vc>k2a Xm i5`NG.3Ğ~_< ro.@F@nCעCE:[m;*"l=4ޟgƢ 6Nݪ{8a<^ [#}֠[S*1 AhwfHto>{]Ɗ5c`#.R $?ڜ5!>tbm y 3ּg76:@Xo 7=Vy[lK&w Zb@]r%՜-;V ˋV ˻L,al_+6Mú!imDr0Br; ibk9MF`G jЙ(w!PS&ǐ;ov'e6.ѳm"+D1ΦGHtHE0tj( R6a+ú^PEگEm)tfSz]1iU-x\ s(HEBZ9(QЇfhm2ϒ2d~[9uM:-Qýuϼ;qZ4O nuLxmz+^*bsM=h}sP7?=VL[3lptB@7˖|糤Y˭Aq-'5tv=X4h}4%9*k=M0 e% kIqN;a|e#CN^BÇJ$eY1ɛnq~Lҫh; ?U| CM5J~ր~q{'qZ' z t*:/&nN75[^q;ZlQ'Yh YoCn31#S @Ll3 tm0Bw:!2haC?l3DTBS%5%_hۖWW+b̟7#jr;|ӷˡx-?) 827Tp ge>ٜPA"y",r%SA&X4$L~UKDC"eǘPASJj%c}zZvAqH@x*r'ě7 švB=ψYa^m|(bQ FFwA@6wf#_b4h46ȦC$[H t<']lkx-Մ11H'榹L#|0n$a;( 6#~C Y]xg?~yTwNm=dAK 4zH 4xbmtlg{pxždjL$Ӗ?᭵ߴ<~6_I&gM<w|;wS3pZ!D׽)mn&Hgh,77wL*tA!qT [ XBg޷[pCZݙԑ>ew"RF`Bym:M1Lێ|[B[LxSЏ6|To*2H$Wx}wbm_OF-y)F:NXY\MU?KJc%*R+o/ 'yn4[X**yDԶ{ÙO]YU)҉UըѪ&OBZu8~vycYsǪYtLp}k8kBEj cV="i:u.//eE.WK՞?$<ȟB!z9cU:4YHsZxDŋud_ckNblAKřYuv =q鼦:5 2QOv6^lJ/N!TV}e\r%mTd,/`#"d~.0 jg]u>dy9xcuUS9=T1| >S 1'f`@4y[k ~7ph÷,fH:tCKUeVX3 ͒]g|x>)*24>k!ksoޔ]rR }K4go^4ہ'z!q6~yx:d2pc<ތ(WLrֵ $ XԻsiIys'Юq/͛c h6JG63 !noϻ滾F֏pC۔KJ8$J`ŪQ^_OZ* fp}].Ⅸ+`XEPqo,P]Vl֣9 &gL{\7Q^G:CfCt4#Z~O:}lL]9$&\wN * 7J,N(6tw,Td QRh[`hWt!0+R.?=`))!i~=_Kc-" giyD*)KE\tu0.oŞǫh2R93Ko[bܦ$_}w1e_R|$Z̀B}XUtw;u{LPңCs̆x۫+VWj{ļ)\9LN玹ZPE-/%uR(Up\pŬ]=e|踭isH9vC`~b#A qG9eڛɺ (VoT|ւ/9ǎ,c'[N38U3e:q(Mz4R&鳔 QqW3mfއS& 3]J!yW *N\ rtu4>,B4 ܄Phť(=j?:5:^Fw=DަVMzˮ-h,ځ9PY\J-oJ-\A:xG`ZEÇl!眇 SȜ=1"({6vusأ!<4r]>>8X}Y_zw6,v/e^G52D)7CD.H\|P­h"kEyHۺK{ L$9Gw;mF~|Rm)K۝ˤ3;=K>e~R$  $3q,x)HjC-c๙Y:#2J/~RxWV-2h86 Bx]WtN5`{2h:R5y ՜!FkT(C4W0⢊ZQ9 _U2[zFQ @;#i|'mjuyN{vo']*_fık"ɟw #q%ֹZu{Y\ܳ39H;XlKu a#chF>=hߣCel F)P+bD,os)G{($†#[tN0yJjI XI^`G5]AmxM<0OBGeTy#6D\eYrRcKe:E?HR,GB"]y n% q uz&A]u>sN&Q 'cy GФ"u$t5B )K2FpLWrlvaI;cwKVjפ4{樥%uYVɖgd]%^ةz` c, #go%q@Ӥ99˸Cs7ɛ(Z4)Tk 4Tt*lO2Pfs{ݮ)PTyYﴃ:Mr^Xzم4^]{{!%WrxwaӉTB}rk4=c5oqrU,հ:3!=dk@C ,:Q9&NGRIw ˫@aQ8fUBr,˼f=q&#b.]Bcw1_S}!(1/060nt͋/yaYrBgZLup8XQ;Fh%IcƧ5rKLcO R ̷$4Ynu2~b Fb9,',spb]~T;:bwHW2&Q3O7M;7c+Ս"pV*€B FIJ ϳMBG k0=q*}Dwh0bOd&_^^KXҊ-!؇'5V* >,~r d!0)d^_)Ša^^j;[q`#L&q lR; QNnw4S[GVL:/n(/c\}D(4N@F ge#oMh=vq+F{A .odw7''D)l9{eTaU%bx8df"͹c%{ebwZyq;MZd ײ>{E_/Z'F,4ѡajA5W'i 'F{TBuf3ըJX`h6;T`] aJe NV@Iw!1o6b3QʦknLq͔ڃr'^\뮅Vۯf=!P%r-"$lxzFb 9 PI!.Ol ן~} ^~ca/'2ªQ U~Z|Lami#4ä2gH]dE^iQ08#]M3^-O7P6vgEՂRtR˧kBlhSz ֥Aկvܠ7 rs[ph)ݭt9=JݵtWij>mD\,|K ʑīsb SLU&m>kI.8iSKH'5OnB$ dsԘXɦ|B~i<@36- ScF`?዁0PrYfڼ˙۳ ;JT虼8峬EJV+Z-ͤU@ؓ臓\4.3lf|Q7h0eGgOQ\pc1Jd@%<=4Գby3,5],ٰ~]+-l@zbDTM2;/%oEE)bi =3Cض =fVLYH;u8#@3Co V$o(A5wvoUE(~cʟLEcgWw!敽7e}-Q^A!>3J>#}𪽸yˀ1tqtX =ׁܩAVҦĤ4(-4ѐ Du xۆQƍx\; l/L(A0q$F""4 ->UߓlfH&Bwy\i=T_)x\pS ,t3:+1D 2896E_Zk~n3GRI/+K^[>@ۓCU<'By>yXwy%F6ӀkQ|ȏ26u#\)bmTI8Jv h*._"pf >0rXJ4˱p ayVUTTu~J6T=f9Q,+tL8Yаm@! 4@ODznh54ntٶ5l_e;4LB[ŜPQ,V?тi?:'LdK(?O-MHy_(Oza dl8)tO88A_yc:V+Hn)j!<1Q(`[ˮwܱ2& ;i4A!DGPN>}> K0-P5Mz݅$64Ew0cl&i= 3{MZ0ZQ +=_#bilAXf Fr^jjjid](ݩa,e|b>sY}T1'mƐٍPоs&z@)4r Up{rݱT͇! />_*@א#Sȶ! =Ka S ͱ9|pN6+Ie;ǴMeT\ +sSN@ed2Jί*]:I] ym6n(lJw=#DEruT2@O b79 =H Yaje~|| JjQ7^OA x+RmwCNe`i5t)v∘ Qڜ82v~>)ed- j3DgbM:nሁӬE7 CXgVܼl X׾T.t!i:-ѝsGi>Hp]mn>9$i庒y*\C%3dN^, rnUeĸ:;0QD 0f2?]_^'NOOU;!e6<=, .YIFa*V"mHyQ??5]?)WOsm$!שu!?bz*LX]iMuzhڊ~r.>?9Ts Iq3 !ܮSQT I 5V)7 s_=d9A y+ZEd!T1Emu/J&hB!74ý&KHו$3)Iyi ޟ}x o}i ^dy"dz'7#E8"EIt4?1'c !CŖ?ziޢ1@NQQH~m?L-< .fG6&f=Nj"B岥NF@YX_5"T@A ROh|͵Ʈ!8ڸL<V˩é7P #KðL=U6Fv=XFfK -.x‘n'p3R{,gX2/n`Y+&܅?,9K'NDM Ds~QG"|#ȱnϊP/R[̊(FK)̰޵0*(V=$qD-i_yz/ #!D!{Y,#]u.<> stream xڌPXӨMpw!kp=8'[p 4 }}yNw3% P SPea03123SR[#:9[كxe 4vy)؃6 '/ /33 xnVfF= O)fdea~|ИXxxtLAcKƶ5{S+tqqebrwwg4sfw[XT@'7v*c[Z9%W7wq7vV@+ x?&#Pr2ˀXY?Yt665s0yZ,V@< =dɻ$ET"|t+uuyKFx&%Q0^ur~~H{!ϋF DY\GWnd|{^)}eK#;*՜re?} 6Mg5K@ev =gD68[g5akBչO}d[t?Ygλhޣ$>eq5J5 md'vW@05A?vbmLC'2%V( Z6 Osѕ[.sEHږGM]O+C w)-C?|5 Z|ԍ\^ J*s`/}~2|!ϲY̬ a#"Ʒ\4ڜ;~[IGy!%Qf(M^DWDj, _a:|QԓD>acb]Fggj(RﳧOF8(AѠ^[rQ{Jpѡ u༈9JiR"Qw[3=p&'nv?bQ4F;d)|ŋzj#n~ֵ+Ӏ!fPf.Aиx%PS'Z=Ekr۶R{oKm<V@՚͗WȦO"HQrv6fLci@a)u|lbW#Il@^* H^5qOpϜ_s~{H婀 #񶭪)gI&YpjuѮiIh}5G⟡MPPf# fEF[AEfZu)悎㬅'Ԙzo+SY Lg찠;zh΄VV-P2/B}|4J?K\Kd2ɲmT`%Ug/>()X˲Չ@C2N K VO@Uǡ6<7yW@0ĘJD[{%oGV (ϭ5h3v&Vb9c Ijd$&O2EQPyYхxk" n[PN-+X%Ӡ\V\£; \v݄]*=Q֮Ÿ.9qYk;3pu[vOpx]rL|lJtž bDg{T36d×^S6v4eX3ٯSBl{ :Vn! {l.R {_Co>m4|  JQ){݊|8'4"G@O`]LrQN^=)5F`-EUW֢Ҧ_z/*,85#~rMGo#Eg|g W|,Le^!,|~ yBdQ~Y(). yWDy -0YXIK~9#BaD߶T{ ;s c`;AT́rW4Rbr>:.Bw ;ߜg`{{"Dy2j42MB,S(&nǦ3: ћPl1}2zr'/Z/sHi {]䀧U>ڋT$‘$g2?LxZ*f^ك=@:$FoIxUMcy~CZl\%y,ĔCAKU 4тKEPj{4Qʹ)DG*γ֪/mV$JWUԀHUضavo·jȵ%̳HJ'&<31롡)F ѠwRZӣ{ 0X ֒#xL@:uy6*_6#h~5V^%Q1?(Ph;j‹EL@Ǐ8:V.8Ֆb8d!AC۳4j)\bhB}Im0aI|xACa[XNX=w'fmRm{k.qے^F?~oɘ IS%A%B@`Y 4j+EH==۶x/0MI <Ρ?+Fl0%g*"*MFܣ6Wp&|I!!`zztTYh Cc~Xإl[r]29<LP G Qɯ J,t4[{ 4N`?/M|l݈Zels_kIwn%S -l ~fl9?"Vrz.S8]&\}u75u#}Yџz$ :@횗YXR=}>Sx07,%wQ]>p -x&Rf.yMʵ"{e}7-ol1j Q ,vŸprsGw.\^0Z\ŶPbR&G@P' M[5*2N_KNx/MOqt/:cg{}, NF>$XLٞOFyŃHcFHdtwA yZ]Z ?D{i6BœcRAmtJG 6q80OR QZ aR(fQ9eH҂oy4 gy>0bO5yc}Zrݖ4Y( Q^+ F(ѝ#4ﺙ5yQs2V%BQf=CpWYDn@'oALFdoyٌ]۷ns5^Yf?e3cW^b/dj\\&|sJp*.-^BϋKBtp'ˢj/ϫktjhjQ>n_c'l5f}ݴ9HNu!׹2ºӐb *]pi6+dYAV-Z|IA lDa}uL $*g?@K붶‹|hhE6$|tro!ajNf'-uFNZz}z8Ư1_z#uFgk%`|N?א׼vpn<65v!{|'z_]PPޒEH-qht#k',#PMzӝ%sOJ~ֳ +%\[5[XHZP\#OdnmE 椲wDy:ÌBmYK z;Y NsIoxW 9[.D-D#o'Ǧpq*`hXpV,If*rcT@2tNT D2-b qT~8DXvN}"}A#P> rkś @vQAw,(/S`*/<(փ ~%dssL"06?j%~m ꗽV eEa;rCrq2枃7ЄY}*g*Bc#C7xljӅ53!$țJ$Ap1U4c<(w>[ZB:DJuݒyZOٴ)u?hm&-3c (#rp?p0;z CPX}iGdp!jrvL| /ct}8 7Ma~签ƅWA!hcu߬ٛ9%+M_T`3z$~_KLO؞aWIK$Wh=up_tFXbG3D6W9mja `IcFF(B$IQSHZhuzc&2@ ;%kB}t؍ﲾȟ-g#X!Ǟ#?)9vв(&_cw 8:^%\'Ŝe |aAo3)ƣ9!XQfm֏CإBPlB)Yn~nPzcfSU/F`2PQg1@*Ŀ184 s80,²3taKu],}^@Sd\M:1g(+{ rTl*q&A\qc0#;L4'H"n9YstZLnbUj`seJf7@63 6 7 Y&43jʉb:-][S'$' [u*:x e.,8 6M^s2B5ɰh$%jtyk][g00و4͹4ṣ=~ShwԹz1dBn/fuL_8o {FH2XiA,c~/p}c/bj8ŀ"=-U$5+RΧI'>H6!+}Yo#.UUGw4!т{闡oG.z+_~>lIUM}J)cN-Zy ͥvq'=$א@[xC7TMrA1w7x EPV Bä(.eTijJڛb҃ڎycMI#0 G}L>rI%oM$LY|4^imVJR qKC _ݓ΢~hEo;a߇ O ʄBR㞳U i1ͺ%`akc; 0\}{5D&wo)ȩ5!-~:tTHcb%{\^04ÇC_PE7xEa/$->9ao/gǦz#V,m->q&?CkQIn!L/+O}daA]}jd 8lR-HqW>Ө۝clI;~guÕ6<+Wеl}LT-/in{$xJSsϻ5VYFC[CG9vl%k&L%pm`Y!ED"uw`ڹQq˷Icq*O+ 飼>9%)ژB1Hx5v X]oKbiRhI \X0Wt X>8.(6%;ՖU9/+0ĦƣTn$a" !YM`M+8CXtXab'؎^W6,{x֪nwxMvlǃ|l)M0!s|%BΘT`BIASGD{#TfDŽ,1ID%]+(ϙ?wAjť2ʡoIF1h '*sЋ(_.{B@(vw eg&*y<lf$(6čGmEm\5 q|$uQMaKwlR Z@{&N'p!zB6Tm4#ZgkPhr+;ȯ*kpGiI]SxՌ;H{/7JM|ZKx[=UbQ{z}j&*&/-D-IzZsiDh/0dT/h={aN?Qbejv.$QDY6TzeCڊʹ͜8cj֗"ZD?k9^G@}~[gg鄮MKZGxE0'3mqY\~Kז`cNJW16>9 qm$$^<#qi˓= G٣L R) Ӈ_17눠)>#cXAa7nթG'➫;rƐn^٢䴩æIԹ[vWl]D np(غ_q)Hi7؆iV z|4]O[lZ('hvy< 2nmLx:3o5PlMpIAK6{y/Cen1أ}:;u!E~N UeY|onF!.@Ecyd)b0nBl} ]i oυ}:_XQH賔#z`}XF]o4_nxOЛoKF009IƃO|xd|N+9fgLc3V(9ԩb]@o2PAyWH߇#V0mC͓Z"&}cA㝄gMqۍTdKD㮎tt"m ]i+"֐ǯ+Q7ߐ2PZRѲM$^}B~{8H a_PkQaNkAlp6+(AmuhOo1- e|O3-|ĵ$]$ϹgQ-\P\TݻiB!PǷ|ಥ&|iӮJJiȾ+\!:lhNʕe'|ucz! YZS,T5it(ٍљZ+foyр OE v1:֨ETGv量dPʦ"C$":%_hS5by Uq[;h2J[ykYIJ4nTF}Lmz$Q+#abWp2ܴ 'lޣW'VHBgq# .޹ p+'EږGoT`YX /aI_>q΄[$ܤtsWǹb^^IѥO>,m6IfqSy`Q?p*RG=Q_$v:Q4Qc[rTI}Z7CIoh= QAvܹDI0"X"@ ̑kO?[m8 Z*̀,G;hAч+dKMV)x./Rߌ)A.\3\2șƒKI@ks!wτ[`E\eg7-C q4lGUd:5Ԛ(]X~-_ŝE|̙%+٩;$:(v=TK4`cFUl 7 ڞB^t;$J&\_]`_0yn(=ANw+8ѝRقi]R$I۔Spfz8Cmkt b rWLN}__10H;;υ-7t4y[EJ1!Ұ4~1d̥]a-GXҟmFc ١M"ӡG!d\ V1W[<#Jib~Z<Jr6Wyr7|Ѷ{yu0OJ\$2]o{]Dp*iToG)]z,gKxk%K<3$T+SǢ}QjMe ĔŚ)baU]ȱ;!|dWzEi˘_tus:;{SJœ6KRʳ$ȗv]`"BEI"ɢ_!`?諷 ${=!u?~$ycYZdݨA7h&۟pzEWsL 5ͬ~T](b=>D9@*6+Dx ]+J(i2~>Y[JD8~Bkc;e9(Q}5K}L( _+ KsIi1@ؐniHOCgYr14 ȷ^az` +udHp;S>FJ"ԳGt>Q[dHrDELq0CA܈EFpz+$WMOU ѧZh)+6Ƚ^Mv?j"VDϋ @j2/-+uOsڬ`) dGu[815>TwnzaUA +R9:dڧ_ @4g"jі`/ xrmXX<?3bĝ6z/D)MrL&'m#'MrLZt ~@JTUc͏6!>2Q)*e`lgAtGKA:=N(SKBMK+%(:j7Uo߷]sRjqY7}u'տPLwf>CI.}v]K/yx?V6HNh"6G&>-"#؇ja`(5=k@"/lJVѓ}@gr>$.@Ӆ`҄Oױ89[5o}5(;qEjgk6(, l@dӕY CTuޣۗ;Rd!5hy}!BJPA!fc7ڝQ <<Y0੡>$D-*JNJiVpp,_M %OwH.$"&KEuF;@j^;uZ2(ZvXɗ=n4cz+RjZl+kU53=7^+sHa9=&v:%o.BRޘ˧[faB皕4_9CE2ẔvX(&:r *NŴ:\N[j;C]b~E[7SmFoNu=2 ,ˏc3sX1l|2~996(`pLX%} ?lNd*0lۄ cjX+_-*0ё"/lQ􂟕S|/ z:h >-3A?N\fU"FPUN7=AsuL#`í \I\ `tpgR]|Vbu擾QnkMOOL{ w1L#"u~.Wf`XDR "<@ֺ%|]_lPC[>Ѡ( ^8{яBf+9Ĵ N@e{k ,^,&^ĴJNV->j81=>׬ݣPG=]e*lѢ,Yty9OइY\Rh -3yX@.x1D1'7hXТg G%;.Mpq&`QAx`.xH:b@R({ 74\/>+z5Ix q{Z1)g½;yIj endstream endobj 252 0 obj << /Length1 2504 /Length2 19554 /Length3 0 /Length 20998 /Filter /FlateDecode >> stream xڌP̶3-=N A;>;-V u- +g 3ȃ] `gbegDѶp{Fn A h^68.  ;;]^vVV3D#fgc~[28pY*@'-gK;pdcf5wrguve`xy4@7/wUs'?"mYr6w v@;8dt7h)(\q`7VwDv[Z:;|@6k;G @MVǃ`h 72s4;K9@VB`.[ٹx9.wpe@VRNN@;o}vn@Kp}9Y7`m]  oҟ5Ot},m~u{\A \0nxy67!qp,=@;ҟe? >|7;vq7cxY9}|u ?6IIg? 7 awus`v#ܥ`w.Ugf܈y7࿳f tt_Ͽ3;tVs=8vv>@+u;KuߗTwvX8 |,/;x"e/o)t}8yxnnHAs_3 `c9{CnHO&{I!>I!&8lr&l ZXkQC`-E?֢Z4XkC`-E!?֢f:-C<`#gӟf9٭n@w \#O^OP䘻n _y~ן=9~/8vwtk7_G 7׶.@_ൿge[Wi_vpĀ . rZ07ǿW`.7#* x7WOg{'j7jqE;ysyغpasx{`8/ -#VYz{o hl)a{$Ar0-2OsXS"sbccOV|[w|tOgTكH+_Fg~h!E$a? xq uW)qGS/þiYZ:8lUB~cII0 }@SjQH@ Bu郾psx\1 ){"W6gâf6!5!)-,q"UŖd"^ԎS1߁ɕ -͌ =!4B|V|;48 -+n wf4W5GVMdŭ~-њ!hRVZDFc6qڻdHBvm ZCO6)&6|~(x1:\X;N[9@fҴ7dK#3z&%J,+jWG35n9̐x~>ftFU-<|rC'TΔ'ܗAX;1Iʮ>\_ hI:f`(_̗& |p.? XYa",zrg7բ1N,$2׎eBpB֣ f Oye刌#TK 20yLrkp"dqcn htXC8 \mHB0,jU-2+cm? q䞰7G{赉WyGBFpm|kV| 9CԺDg¹׋m0w6MC{gxLpQiON >t{ɴf.Kw3v0/6?HUjgޫ] kͫ[U~RB~ͷ1(C 5l8-Q0Ί\9t,%>{O]yL3Vƒ'Y8sbci6};.$*[fM;koxXO2>(4~,?ܘ0<;jrqGQcL&$hMusLFh8{LC~1l-n\=ŢVb7ÈppHubD^`}/ xnq]2.4ui{{SX[3g=^%|'˩w(6l5 C Hj4?Bl|pLTYV;^gʼnK'xIf놮B*ҵ3u/UDER`F]M#|0Dramq!x'w6 "V2rm/]^ݱ.4˞BR,,^s:Ť!Sɖ\XߤUͰDᶢOْ| wD!9D/8hP^s_!pOHzYE SfEst.us{L>^SQ-brK\Ҥa&)?\Vv}wxd%&?L'ȥML&:X\{f_ś/ VsKRǥ/v(Y7&ϖ^ɝ&OC|ҁN;2,IFxB4v]9K,Aʗ7)$#wN4P}3M;'nM*Ni=31"t ~o9.Ґ_BVp]9_Puvo=xwsiF o4oƈ 8HUj@ʿ .~M݉'BNpw%*"EHOS/6"J۰)hd^ ~ >_[HtՏJݙHvQi'ӿt&X+ѨI[e)q1Ɣ. 3Fmj!t^7eK(Rp %N7'Q` Ռ˸&8Y~ʺ =3U MM5pm UdDz ϘѰčփ8yZKcǪ/-l.OW *h;ByG1ali&ѽF^O)ȾXT.w3M &VLdhcZhbB9JM>&#e̗':^ ,T_VZ:quZf;(1+jKx>ŗNɣkAJ";Q9,LBQ""!65&͘"vцvbX]~ec=˨&ȓڬmH/ؔapE*?o)$}Jbn|K1K)Œ]ᖐ~: T"[dOP(+-^7C*TRp_SbY$-@ߐ 7LjDl7M*$Y"QnZä J}T8݁22PšbhK8(Rc||-,fc0*^[𧤧x ( 6T 7ޘ դlgw397 B4~D"QIQ7A껩Cm%}j27d?ܹnz$#m>" 7Fўis v c{}-j=U-Xr _6=w$(5T D ș$=OhZL0Y5~|@%$Oi9y)P_aC(!;dqGRWe9ǝ4+ݸǾPY轢þ*%^h[7}EA~ΖgzSJ̆ҳ۳f]UhX!l 9:aRW EPPeFA( P' @'VMT 5MO;g ?F{ύzGxk |m;9"EqSl\ E|#JC<0h&jz}V$^ޅyo%7N m2ܦ<,γWK\1f+0up'"\Om^N_[in׉KF6-V(d'kXdIDNu_ LJ" Ocr̛\U)*Eҳbhe,E3>B XSdDXs,3_a$* 'κqx!kA%RY(2l) 3ϝg!e<A ](k4I<#Niiu5ynH5:b}:GQkxo)!X=r"'ky˃\[ *ĪQ,{ k9vUԭCJ6+@ Jyi;1,ga[4q#r.Q,gh^uWj"5o>˾ ?%JSo/ _{mOWAeњq {, ~rT'-t/p7MN ~ˡ8]S͘_&s8ѝV|%ګJvD*x f(;>ZΎ0 V.xVG _m8EQ})fg>sk@PTGz?W@ϻ~;UwF({>レ3 w {x>V.c_J!vkI%fd>F+>rwX?1o5ʝ^y“w h[i|R>,98˵x_9$B)6)"#-[h<\T^v9RvQv͋{od+ĸqϺ)@F_ȆzDӍ~4UfUEɈVY֣l;}JiՅmvDAmv<^gnV)F@8c}V9 Z9_]PJNdωt|hIVZ &4@tAb˝ߤN-O+^XJCωz}!AEB@ Q:YwyAz>Vi"n7 |Wjs%V1Qv6"8u6k2\Ee[ڵkZ fzl{ @尽ZTLϗ Znd(\X \&gSVio?wC*}m?2F5lt$A>U|=PCzuA^YXC\R欱[|zS .#;Lqld&"q2ȳ nRy>詾OW1H3ⳮS֢Y̍o84YstvꝊ?{3K fx%XѨ;wqr)8>CЁy &tV쳜W9 ߰>5VJ,{(*4ÅԪPk_<~m~TZ>CD`}̓&nVN:_D[d2ַ; iEz;8p|*f<8 2-M5 , #"RbO9>8>7JTɉzz“W#vcpGyj$ EFǜ]F=K-/ȴ8{.]D|"oH:h'v,vφ޵( Qe:IC.E!4:N' 1"t)rM{%u ^vņZBZpCtDWMf[{zAӈitnK3aS :1_qL6OF~ 1_,)Q)8xF@\:X4:` /z-}nMYLYI?z֋uin蒥p^J1S(Fē3tVYezg킞 O!+ˊ<@_wWfz:t< Khaii,@o[js ZZdhzʷ1CBw=BK5qR=kr^sv}ݣykbqbIkZG' c:r'fyͳP`gv#ƌhK+D)2XJ蕜WC^OR8]&apyz1̯o( `pI/10|Xm⫿U6V5Wb"Kw"Sꤑb=mnBR}Zxfs~;醔18'Vqބ csgLw/skeߛf : &#gZ;JII5@ Ք UYqݪςuH2z=yIq&'xWD4=ĩe kŋ Ȏd]P}f!4B~{oC q_dm1 e>1ȫT2ng0;=T~95|~Jzm2&@qiWD\+{}rrj갼KfaV b1}G9?Zt@y."6O+=$V{VvAjuw{=9*Yruޜm=_Q,2#"IL3pŚK0L ʯΊꜘ͝SyVX+%RdN>\>ȏ?vGU7`x’­2Vex]-LkscyX.{DiE QT]lvcvMb  ӄJkar6VUHMiBut2JE w f4 };[٠>pH{s譴Ge,˒l~w)`13k*[&*&-ou>Wu1ⷯ~#Rj ʉ{'xfCJlDE0o{|eGhC@M#L 0_zxa%gAPY,_* ~mHLjBT:|+\ mWq}:J tE0g(z .}x*ufH(J\ƻ| TٸC3<k w!H2f 78Ӻ NaLBǚ>‚>֫rdh謒dPAh/\ZC'\Ih[Z) kC/#f7`¨csPRBBuҨf n*'YxvZHqX]SUVk elI~p& ᱆ԠQ\iаi! |0 K8-gܳ&ni3Ԛle09;J']⋉EU>q( [VJQqԸ)[5 {-U "J#ǸAy0Wȟ(WvRI Q6wyEtJugGj"Y0Kh=-;Yen3Na1Wk(wfj4-2xU< FTk1O`SЧ2;"*87m^R!dooq# ;iCh9]&m̰| Qoc\ T#I=̬ك`f j)~^GXG/T7I׿Po +]7M]RT'ͩWOadQU;Jo 6ITxXsqHn;$."=̼mHqeVWeuG9='ڜd@&܄ֈNAAN OZI"a8dSZ8vȴC$u_ٛ7(HCN3irZ(%r&^pY.}7''QSc~%n\5J!u>2Ta@N SaGq5{e P'E |O$&VUV{$(/F(|Ѥsrs@0g⦥ {)^8QZ5$>$B~oO(L@l-00O0clhca} E3~`.G: yY*~SY3ѕA Du@}*ҫ^(vEõ/yδB`H~=0::͇5cJעy |OS5QK3.tBn3❤o Fܺ*#B\?k i wӞ4?8nl\|giUSQQ3M,6ΑIv:psG!ÃQg.GK1bxqF"Lo+SPΨXQӿTym\22aB(CymGj]b'q鎈cJZs_/߾ W י[/}A<Ҭe1T@UT%+/,Ǜe)<-)灆V0r |zl"DRUPD/>KHf(<-Cra(pʨOQC"*}ڈe[Gl_jJ3P<eeU5J@3Y4Gc(*F;ŋrhbz-W55gM v#!Xfm\cbY0Hb` |zmmɷ.ާheb/0{zr?̪=nFV{l#-{HRx-[hH+H+vDxS1%$j$ gpךcf?H1#=/Gp4{Cs]M"̚H˵*e5>u*n`m[zNѬ7U{wԡUG4z ~pOZm0d5Q-̓b|a1d8oHu)ue`|W?n2"V{ W.帿ZrV@;h:g`n~ivOrOL庙]8KA)?:q`Y0ʥlis42M@rEhŮ&v:bc-2B0y4̟$$8q+(,."1OyάV9 7J(0SOh*H^ \ߝBv2M#U1ҫsݨ<6 +T boCDBޓM* SRqB"cnA)>B¶9#ꟘxΈ%nyp9i4*rL턣o@tq%#+1gL3"V`t*<6uNC (A7-lk{_r#LfV® YK9X\̃4CSUc'jZ\/ ' W̱9:Yg:/ScpOx_] ]ޓ\~͔><47GvrbD2|?-VU=Kk,DZ&A`&kl{8Ơم6"=". _gwOA#噻ec#Ð, S-fW߇i޼*>_卯TcZrMsv??2,7"u;!0sݫ< Z%]گu"JZrpc~m侻}?E}9\P6 B0wv4gC>>[˙@.&T}= :|'Ҡg`#ݖÉϳK2wLW wfaX4v<#-:~rbi" ;O02 Ĥp{MY'CHRIuP2=>"=bz~}Pn*XDUHM+:D Dy7Nuzf,:O uuf廸9AqsN̗uo%7<͡@]=dnÌQ= ȶP\cݺƦcA/Hi'P-Okby,\ D(~[[ zһx>D?P#YȢ, R"VVDje8csnj%?Iq FSC#s7ײY6Şxj[:/aP&g%9lx\ ;"d7N9)+pzsI#Yu8rU]$*JP){n[ZI7tvLBp/>Yuܲod woٹMG'bYo+eKT̨EջHu; {APE`<5,0,[y6! ]; /Jd$탹wP_(!{H ͶK\mQ{#61j%C4fo;% qGʿt? Sq93FH݂o;p҇yM/HC_PI:P0W4x+}ф:X2GQhTG.kCtEfǥכEEť}PB9ED4`EEjeUkc]Ռ SnؒPK`EҘrIU枊D8H/܏&vfa份(ԚcaZs*ᕡ΋w^WD0%CqW,9Jx*̐]'aT'NqǪZ+ɘ@uT.؍vƿ#Z_"/t[^&a>rjYӍdnhH Vb t+nz._OXT9s;yH幌A9yA&i\NԄ"Q ~\pv^iH9p'Aos-P0`T+ -\+^l}(|pˣ@t72WMT  @ ب/:y3 5Zz",2WTl?0htQ; A:J4s;._F"Rȯ?_q3}%xA6Lat=Rr >uPȵ!vϵȘx[g늳9 u#oKަG}e+]1Ɛ75ot(o1 Egsx,]XugrqLP]8#ofD_^&V90 t]ahF^]VH5ip` !Vdr^.ٛ05  rGu9ذ8J eL#1 scl-ռX,v4@M|im$v;VVwPt$2(g " pS{[  xn0`r`Peiщ[ r;Fd}o7ƷKnָ[nق>MWemLQ*vJ P\$ k e(B6=)eB'kvk wi~${6>`c5-َ Fc|U;qbUvYA'}ӡhj'Ϫ5zh l*)*I!ЩK g6 :{he. gGOq#oscBbWu1UupŃ79F5vLG$sEf$ԘvSy?cB,,w&fu}0o!j/BX[\44V&~j kB*$M/LvZs#h[qF۾#%'qɉ/T_U*,^s[ ? R&eB= ,NaZԓ%4Sw%Ka4=p/;d"\:EQN>BJ2Vu1=#ɘ5}qry vN] 0H/*TI>K\ueQg>cm_03 6ETĹ IhJ,UQE eiރ8G~5e68Ѕ$7vI-7;tX\ֻ9s"%tGeXSF}A@+1ӱB[|lʀІ&+](Z]Sl SM13m,](te^X9{Sl1٭\[>.%lafA1vϠM`7;iSJvNL<BH[0[ F MvΠM?p(1S~r{?O@B!|"61=Y е2H͍3sI* z Zccvp%,mBj/3V4wC[PG~ٶn0gLL<_bZ~! 'j@7aڋfʣ+JPˡ 0qٻR[=dm~Ս[U ;R$>7o٩u 5^j+Mɦ/MS`.0(uM:X$1LcpHEU }vmzY,y N?SHa5*霐غ j= [҄P[:E ^ b{=G#@McAo f̿rsJR%bb{ox v!z\% Lo zSYY|y;! ؔT"}*ıE&QI}U ~>HC!:i.}CmhZud!z>^WIr3G`vR al"֐vJ኱*k-4mN)D;6hn\`}}<߆}ohtĻ_QOٚenL%q'1t1'do kjڳ{=imϐcIiY P|Ep?to(qpaՖeCA0 i %I2Wol)X_ ~UȮz4`Zm?c=T mļ-CKy;m Jr{+] j[t\*=X%nj:}E f;P: %$O}@+^{ dcsvnaWN2~wko"~)I4 ai[;dꂽDEɖ9SX05'Ji'$7L7 srU$m->}zO!-f{P3ڜ bL#z:g.w)PS]dN@8;fxO857u0Vˉ ,D( 4YbVwha2,M~U'l]2M[O{vyê * W͏QX@^3t$ $v9TUI|`FL5-\Mʺ[Q} <3pMJ:rcw0X?A)=,C[qBYwb: I 3q endstream endobj 254 0 obj << /Length1 1674 /Length2 9815 /Length3 0 /Length 10894 /Filter /FlateDecode >> stream xڍP- !8A5܃ww . 4ҍ;Cpw .Gf̽WW]Eڲg} *2%UFaS1PvddebʫrXXؙXXؐ@T@{Q{M%N8YX\,,6BybF S<@: SBlA/'ƄG:@h21-6/'YT!& Q|ptefvqqa2q`؛ 2\@h 0@ggLT5 ßvU=b/N`S=p@3X_w`ebD F&&[#l0YrL #@#kK%ʍjd"o[Bll`G&/d_ 65݄-:d+ń`aa@W jn?/xyBlf/M@f/d#g o#dVV)` 4a1/÷tX^ `ދL!`k/4<l,<fQ2U?`3b_n?;5v\ 4h\Ho 'k?4?n#_/ur|ѿRl1al#{{#7d!qpEͺ9tP|'|!IoޣsF0[ޓLa 71.w7^u?4%]m L&0>^wx:Lႌ}QGXWGOAU䪺P~j'f^DSmMiZ0Ir)/R*W;Jz׏d(>4sjR6('>J%EUim$x[dJa]y?1 { |~9oubu}H='[ԡYbsx{iO$LAP=yo k͚g jLCjf4D*GF3!OG SDz8V]BYY\f춺bLjh:V%ՌlDX%PP.ԨX> /-a4n>FC/lI*v)V^ =v$;Gc|ZAײp(1a*ĴH;"\dPtiZNQs mZjE}%^cW?orm얰{}B1$U{C'C";,ZR(91|6pmu 5m1N_f"0ꓢfLҚ,3EoGDUl),ZV1;6e B:/=WSKg#FzO\mڳIlDp3k jS avyrw9Q hпuu3HuYIfe YϪ`W[4`g@*'}Ga"y) ud-؎ppVpKJE/N?,11J}X'@%@nY]hP#9㊧?hWoq^x ]C_f9?8>(jaG3 K1{!-~IvD+[sl6Ʀ$]j|u( |(M?`1{ek3LGRۺxԴ-}HlLW?T~]>qUr+uW1~ŌajfBCJlfcŬ'j]ix0JdVw;[fy>zVPR|= 8m RN9uݜ ]KkvN/Hf**#bɶNmJ?0u)p|})16ho~Eb+\J:p⥳•>KSXԓt>& ;3< KhwXlrˇ6f6#ӀM_<5cbɱTJ5đDfi G:Ke 7 6l7Αwq:Z?SRw:i[u͕2 h1^ 괛wPM$| ;,y^.2Pdv" Y~bdNf@%˳cG9+ [V{A{0˨';z*]LU0:uxÁۺo'A| ~B]=Dh/N+oYa6H5lCzbU^'я ]ih[\:cGX~;)$u_v\h4éhӪ*v㹣Ȁܳ ')刖e3V@P,FcB2?F}rrxtO3|G+qD G)Kh1õ*0*ejx͗5ĢD؊KD:dd7yiSkoiGրncʳKiX8d/{!RSM劤hNu~"WkyG0aW"׆|5鍷6FE(j>JX}8 dycl@ |nەw&xd"՗6Cx$ubv%3ʇ2cijYOW)ڨY(zPy։%5aYSCxRoʻi hu5;mkfm t'9i 8OWE.pYyg;{zڔݏ[^ \\Ϡb I\w! jY#W<^yq'➆h,7GZ CF'X&;H7|3%:#J;27'vJ-Ng(W2+n)/Ǐ o%a3`ne n7%3tJm8>cе WZ|@jޢT,W>;D,Q`F+>h~il^r0N\JaDdBս9fi*^K(!@%a)X!~s^ Ytl)KG1f=E8:hc"32)#Qўv%8މ8]IO,-! ||4_܂;]@q>Ŭ;QͭX= c]/+V&V0 JX zʤK-2V ݄byLy|1I I_rG5K6l&Myneg֢i{:AOu9?-[2sg'Zqj`_Z}ԮOpx)KΊسMԌyn!Elr#aDxI> a@3qJqtFĪ_5$oab&uOf L[rnJʱBqRG*_UȠsԙF:DDE^B&P I?{*@)7.\5X05XozKy?h?^,&iWZqn9n,8U1ǗKևԴ:OG!zUu;bJ G5GySc}`Ap9W*D(倝^CŪ+zm K5y)3Lϵ\#W0:vL>fA\LpQJvy7lQ=#Kv |x b ,ͻ&.s7o|0l1 ߒ7dm+%gw6xڪ֚P"Y~c=J^F<;g闄d|`i*o9xkM!yڦ0hF-=y9W/vza['.=A*@|g~󨐋-Vb_WVo1q"?6\4.Kx$T#Pו 윘 to|۲8,rB)aRx:?_=\ t+ #i q#|Q*UEq)\9_b M}uY1 >138t*\sJwkE]$dIEِpuC#(evȄY\!=L<n *gylh_v*%ʤVqxFqc+rHM$"&?&f*jTpx;'Ȁ@|t8頃YsSCqI[XX&VPdZXƃoJ48.[ MDh'ϓt_ ^oPO2E^[\}[CКI]`hw\Ul;Z1n"H:sN.W {4eDڌd'hZak>"f84['^pfk#Mjw)غWҴĖgi x/[b‚!p13~̓=[O]4f ^)<0t)Fq?JK@{) hgB9UPد7`E]' ;,;cC$R$ LF[sp<⺫=֙m 8SK寞DO٭fLG|Pyww ^C'%\hW{wmEW8<(OpיIKd+Öu dxkns̳gP"\to\1fKz z/ꒇ\-?-Y60Q3aÃ-Fղu9N=I>oX0M}gg?1m[ .~C1n*@9# c|fPł$QRېn2^Y+Qb9ө.K~\f*EєRi}DN nP{ ~"sEIX->dZ.>-Z/(#fRYĚϦI+a+2 (rFܚlJ;etYKbED4y͛*E']H}laճN+jhOXenMu |AiUͲ#»ޯQͯB'ΕG>5#>G6²f`L()(sEsGb_ B g!*KLNo8_U"Kt:醆MjOWkrGƩ d/+!WJZCT[g~<85R=edCmO^RnDɾ R`?ٳcxJ"`Q^ Y GD j<(A/1i~HT $l =: ɞB@LE(UQ/QeŌSYa( RظYBq„Ya›ZVt!("^PfJl $AQ mQ7[3#=&?F >Rc@nJ nK:ZpQ2H9Ԧ7ML1"Ku'-1_g8QÍء(S*h9g,NAlFV6RÚ1DQ6[spu &$dzm+D8 |Az?5ԕϛ{*gZ1xwbħ<"zt͕&t޹Ga0OKPȔz˅{?F" O5Xelj P#QBdPrI`/+z ^$1 lL ub5#Aء!yfOv۵oB>k|,c(@[,h%T{eJSJ;0Vv#V5@,m(ڶ!k?ި: n7s4.L3_bvw÷`lΟ׻pd>d>tw7ϯ[v aF~~z}prR@grP~@QX.CZkgfķV}F!$ _j76ްr|~5eyhaDPܑ_v90>sPX1bkı<0l1 ˵;L`|;~x3T2JDd]]f@pQV_vxh"mٙD |7Ao*EAg#=rcY"2ȫ;-K#8Or~Ura[Ñ{Z?P<6i d̦CzMzz bW,+DʘFZRX?mJ~Pc佲=%_@͓hlqt!m8싅8 &a/opʹ݇HŶ >_ + %E6Y[> stream xڍx4\ڶ Z%zމ c 15zo!D/AtQ# JH $os{[֞u繮=6'=DAB@%E@"NNNi@@x@hMu=O8$ IȀ$e@(7!P{B{HEĩt9:1u@x iiI%W Fth'+" #!0()x:n2B`WQW C;(kdg4!"N {@"PO=0Aul$W?ѿ !08#A _@0ă08:dc&3 sCP0l^ EQDSy@!}s.7 ak {O7aS1Eā 8 *`mt8`ƀ/" @{xBA;# A35=`>+ ~ _w#p>TVFE@HJ j!-{Ka.o?! L!?;Ry?~+ a']$F C.^-4%#т 1!_vJ7!N//aDÈ y0b4ϺjD%`/1+q?J{o2H4&1 ua0 33 9_v8@w2&#4ڡP(h""N[jWL@8k~ƴCLȩw|>zB34 Xjʇߏ{,H ̘udCfVVܩ.#${Eo_uK\lxǖl VY&ZW؏a gq}׭G^ diJDRScMIλׂR?UHOb/qZy(chegJ-Go={l7rM е8 er(scdԊ piYx ]׺3Ȳ3KqDm6'$DRC)KYF_MP1pRh9zlVe8c7ɱL3dљӿܢ%~ŒOM]=MO 2*5x٥!{_Qz~=LЄbDg +KR&B)xej7OB[ҥ'o&ׯ2~&PXF2={h$XNgeCw?Ml=(pmB!><&{:h LY&w:ӷ|4.NqF4dKU͉*K41V`V7'߉AVgb!n6~T+(ɸ#Ektq͂TIIQ'BE!6 iv8R4\h1-Q3 ᔄK2QB_ⵯ~Ζ;jn^Jqd+Ee" C+u[[5mHt"mizmOH s=Vfҽ\iYpVkA:FN,v_Kk&$*րҒ^p&/Yd]kC\ ·;_cdTi]AV]?_gDDO:h+?D;GBIoR:7l^ȡ*sၜHb515jpC1DYv z$NXgi/T LlpbW G#iIÎj߻pI/ҹr TYb^͡hzɧ)HaiTX>ox#I5Prfs40\"I U'w7הG^\G8p.=yh aJG0HsoЎsїJ) \`x l>RIwlxg-g _qp}:>'nڸ{lxsL>IW&ViC: e?_z`)eK(Q,y!M j':#* f23Ho\U@nƙ$zXN_XmszŴou+rO>+ c١ YN^exF_4H'lp {<$:zdKg|gv!HmLueP[:&e­r4T9CK%l3$GK >sl\wLP3ĞS7`[3k,aׄnƸ]G#j_2JM:Y7M csu4K޶k89n?M{YR{VMCA| #IDiڸ|^aނ'2,Eϼ՞ʁ _\WxN؈s.v]_bō}!g^V~j /}BދQRqKZ$9Sf|Υ&4'r@D q.>~AuPvҫ4:6ٯ+pPmFsje=ܕbRnz? ~:}bTo }_527h=VZ&nxJ?ߪӉwՏk^Zau# bB]X.X5A0ɾP ϐƪ>3X7%e@@wIN|H_f*{GW97nd$܏~Ԟ<y ̷)711\k}J\.D(7vo{+qV.\U>hY yq}wҲs* >'+ SioR)Gϑm2ks[A!{c%c5#moCǥx<> iл';:f1N^__P$֜ԻB^V>7l11l:H`G` Y%0M=TdRUzj.(rzTUDݮxμӒ07>CwEۼE1CQ(ZLwǸUb0;joCSjʿ/gyx؏#$)qjw-dumu-0;`IpSei^y'+8imXhb/5s-?~:qa֤#/;iQg|UXU "l_M.r2}7 q2v7 <0ʑZƒ)M)XNG.JDBe8T2,qAFmS<yarFQ`Q(o=[J@Mjh^Q~-#p[i:Hl͐K2#Civ$g9 Ooڒ;t7=QT^EbpuX~,KTq>蹁[cw'7zY%/x=HT#IwϙucxP`a7i-?LteAsCjzn`1jQ\XxGiTr_z&o5uDqNKj~>m[۳7yK;Jz%p.JZQuɂ6-3M xxى\|6 CܗE,5Kျ+řg],S {u iҚ滅|]wQwMHvav]xz3K{|앳u#%XB^‚^yčN; sm;Ky)Ϗ\}EϑkX1$kmĝI4;ORhFJ{,ЯfSqИn91N\8\\8vjip!/Up3F>9tc>M5̎[-v;t$սK}J EJ7b-uv?|ףu+ Ɲg_h-Mn wg\ *D\yG'NjW׊}>|_H^aȒ' B8l)WWz<>P[9BOwf7|qBc\¶(Z!t{iO7P!KIլnu ju hH} ݍg-kEo,OEnI-]vpA/ڑ3OzX:Q &ɴsOj* Mg֫3=7`=_1mRVste]{(y,ۗ}8K4I)骥&(iwؐT=S Gf nGSm˜r/C{NN 5 5ZjnG-O;nޝH P zwjua!Y(kz".Ec=I'AۍG^'Aڋy3ˢ sGee)X"ȳnZ WfM!)J2XՒU(`3)jA✚Zo<Ky*EUlG.ZW6o=N I'zQɣ|>P~y||0NNXA*$M}'(x*EœK^o*NQg0oa6 ҳTM|E}Y A޳^d{})$8?3$NqXd6Z_MQR]Y2]Š֧T|8K 5S~r7Qq\uMݱҗ4*73I kt>8FHN!Z[b1ПOfv%{PsHhdu{2 w&OЭP <+@VÈAO xd桉 TXp+>VlQ)Tf윃 ?^?TK! < ꗒzWrˎKͯ@<,^>h3D8jo(M!"*V%%C\/\J*:G-j^35-{1(w^D͑Ggad1HW?#ȶ>sm{"Ek+y˹{/ǖؑx?YnT'_ٲ H+ & Ȥ׎js{Scč,'*&W~S%xѲ5H}]`-kǫ4%t =CuM7Xw6pcK ܮ;u>1ȏKf꭬ȫWB_S7Y+t i /,rCTߑ:PzE듈CF`E |D\u^\Y^ָy`h؊fF'֩;w).B3gf,jT-gD36Fͱ=[m%&"\S&ߣn;+I^)q/bg;e^e44AmG֍]dN(E72KC2,֕r-*W*8uO\>xneJE8'˛cW)szrM.GjcͲq~p5ڃó>bDzkd28ǯT|fe< i=R0gO|fǿգi=-}.aB[UE'!Qڡ,{j;NH2%Qj¡5\Zf^D~LZ/F KvwNsoXNrBAՋ.FJy"nwFo_$n*n\^~Ч);8l'YgIl?X @оwscV&{VH `cg6xg[]6Cm8@p8qe|2?}kwx'V;@mfvG.q"b/S,xH l9d«Jv:&O,5h9B7u}[ٷ[vц/N$z?|/z,GBT~ c÷.hն֡f"rTԂ! CfeLDZAsSɺ ۟_}J.i=vUYr]|JݖۑLn<=}-$ZQMS|Jb F 5 _SH'.w X24 :n3wszf&XʛrZ7}w7PN!\?X -[E:y0 ׸ȅ=Wv#7+7)oGKL@ZCT*^u V!Ց9?lE^0J}8S ؉un>/i#q#/M*8> Uū pW:H@Ո>|9`5'%֎rgqI$.fXX$㕯o?G mܹe-OLl:#i/eڞK'bHGuزX],XԖRae\^ ||{*?B endstream endobj 258 0 obj << /Length1 1378 /Length2 6059 /Length3 0 /Length 7008 /Filter /FlateDecode >> stream xڍtT.(1( !!!ݍH C0tw#!%%*(% -({׺wZ|Ϯw?k'g*#(>~$@AD  @D0t! Qh"i!uw'@@TR@L@"EPGnD o$.W !!vw8@ApeuFW G .){E;#v20=@Ez@mh&' (O0 @`( "5M pnN7W"w0A80(kP`/ {aN`k4w`xn$s5"W-+mP8ʍW0$vo:p߿[6.Gp;TM/m"$DEPW b)ˌEBDn`(to?ODDɎ6CmG¼f 4_=Aw~F r&O^I1qA?a'V nH}M/\4k$Tc,/wCNN\ s @-CCV jswo Mf>a~;Mх (Ԝ`p. ۂˇpC ?*!_:H7M'AZ6PL:`@ZvC ssDo H$ZhyoUC^P8 ̡*{'bstIgsⅯ&sWy+rto"yzKSCa(u.8deA0 G/'1߶21xgX۵«fuSm3-/ۼkƾ51'K@e=Š%7_x/%ddwu h'ZAIOΖۗMO^)/r*5}ss՘{B=P'LFVihbCzV#0UsA6KzךUjV'R=&91t}m\ ysƱu.c?e&4HQ62֬"~?^3WJAApxm:f>,w0,/UE_B(\rMkY fWj6{_ĩT,f̯-3_^jf !ev孛*}V_)aVPuHR=?1F K1ܭf k(qiq]fOZT2U@k:S } p,OQ,l RVx{[GY7%\IG/.;9n3ȡ(V Ѯ y>eFܪS3d[L&$;|zY&IVw)B0D>Ēʭ)oE9xg!=ސӏɀuv/-4_?_9qE/֐ @"9ԡHꊫ]IuȩکvaF]#3. X-4Ms,~AnaQoΒPL,?q"n,+[D@n˫i^9$+9/FA>'O3/f¼g*s fGw.!8sw3o< ]6S{-7a&* #U ? uܔH6Fj=Vq='ky6@p,`{r14'YJ|WdGL@Si⥁buJRP_?K@Rΰ\{Qx)ժ"Sxߊt&(9$Ss}b HqA0Wi棏θ_ynj;^? >%J⣊ud^\5IVTo+OQwq{#:%s8[%?{ǽͦ=x;n:.f%4AfGK۸=Mԭ6gNfOa6ݲŁLorq#ҍV]&<*7m5RڤAOˣ.n)z!("Դ_Or~*4ȃ1,97;BM G掍t=~+sz(*`-UuI swVhR?y&<;?>d(} ]Rya(bU}H_+UfnmJdmHf-}5"$cc4!p-GʔbL#fON ag~az@Xφ$oDglA,-#:){=/XNv1w[DwA^OpCxɃ< >2oh=0]LTaȪ.Sfz8π_Ds{1ۺ0x v֬q%|ǭK{Dx9*c9oľ!T]8eWuԸiZxv|f;|wSFmbenQQt|_w+y +HpQ@DFD msmp~sj_ӗɎ9JI?(b qq K Owܴ ŷyJLqLsx}ϒ'zg̕~DR!]u-Oiuo_[t37VrZ\ nDFh;ùMeDm<3u>ǵ.0Q%4 Û'tkiFV#V[ڿ:$3|9q%nL/1\c tVUp1YO,MԔx'7&o=:+SPV,Zq!au`nlYױs3˅tq9|7뼌#6s xR<y#DxD_aKlL$%B̲ jȹ8iܔ7!0=8}qrwDMNnw_ 0 3  |!&ӂSA߇^k}a j|alyEV6\UH5\J!MG-S9oSW/rq*5buGpLwq3դ/֫>+?Ŏcμ_#>n⛘#~IA}8e\s x#\͸Ǘ1uݹ~3`@%B,I.#VmoBK7 :"uqL̍Y:~7vG,x+Ol &=N0;l;{0j.յYP3dZt9CT_f`m`ÿ=tztg[c{ 4# ϔk|r<[jw{=p@S _] hI|"dYudw>%NIMiw=E5SPsjeM֮7bCGqS e}3S ~O_PUn C%D~&=0Ircb\vZ#c4F|Ux_ظR VmŴ[ FMD4b'ii;H&W*LJ@)FZ&ŰWۼ=mj^ߖStٱ"Յ M^g e6=sEF84VlaXUQVب}4@9w SI`CN͞4uBP 0le'c>ڇcZ¢'ࡥb1ͱ?opcXf$ST-;YU{0|wz]z~ yꨏq2F5a˛G:HU/QD.et(BW2j]6M`ӅVYp~ZzM.a`t~7h-yZ<*Tm;$=AzG< @utA@& On/ߢ zFBÎ:Vyy:{6=eReı[ăl8d vaniO O3.pvQ~bz&x !V&Ӂ@[zXS˼6-G[= zzkMN\`P ` poÙ#U:8O1$-bÞIiF!T%mj}::>Ow]F~щY,]:tK}f6g^,>)4_khZLNanKEvGiA;QӼ Iq-< oBo xN)^$7ge4^ l6Ig 9?榅F!JM^f87H'ȉ2yHy!|n!"jU嶓;}}^Y2I({51V-Kw {҃Ń 6smGVZ/ tCM7q)[c/&(Q鷊eӢ`3`w~1a_kiç}ߞ:VcUi+ep|rAO[ӨRYy9)e$5'PcGGAy )"Sqdy @=ȲX)㷨ӦC3s &zKNb߂6/B4D|as7~tYKiqzֶ;6 䶂&! {jZ\l%@PY-ADm=[;.K8N:2OÛ5L$y,Feٟ$in]^튰Qe!W:RMkj6#S)dR{G<πպk;+V - ''.BPUZܰ6ǻ?><"~mUΉ;wj95f|i" =W;g(v0J*3~(,mw`yбw2 2Gq]3^A<Cz+tFY|*jCZ+լd XjH(ps Y902F)LP 6V~?$>WH;lSvL759="zYYݒughԗi~'NU]-ocPS]K cm wŏC?jcxp{RI9_?ZIgkΪ\ >$jE;jD?[׌qiyki0rrē+w (Hb.UV P\Ϯwiٟ:|I)f1+i舠㷰S3񻕼)b^V={޿|j =!N9چwyQzV~.xY8 ?]ǚaz!ŷP>7d-Avv+۩.T_WI/&> 1RI_O8Qs{BΤ\:r_r(>"b*f "˼.y-IZEyN])н+G*>K5Y /:hm&"JrvT>+mg-e hn-Hwz)lOplK~q? 'ѩ(Roc endstream endobj 260 0 obj << /Length1 1851 /Length2 12569 /Length3 0 /Length 13725 /Filter /FlateDecode >> stream xڍPր  C`pwNp 5{ %Xpwsr{kfY^{(ITELm`'FV&> + R d RKCh&7rzSTdV.>Vn> mF. S@ tDsw[8%Ƅ9@21,6oM& prcfvuue2qdu0e,*@G GE#ߥ1!R,@ښ99ok f 6:ޢTe࿔R`+m#Oc#[;#;l0Y$噜ܜF`?m\@Fo nQUw}& ;'G&G52`S1[ A@3}s`ljGv`3PFo7?2sL,n[ ޞvv2 3  "++d0xr貼+&lY[B[TQ{(*jdd0qXYYܜ,d;lef޿}Rv{h^ZR}\ Aby47x4)ـx\g-P}U @S=q2zD3r0p%9J܀J '/f lAVX3Mq CGygCv9w׫S 3RT߫n+-NF"xxؑD2۪DkEe(/>'|ܿOb[,c<J"3LQnuK=\; |WQaO5m9pْ f硏M9 \2m活`ǠvOQ =0?(Kl:pgg(^UtˬcUxnz`:\yf]fO7,<cU.ZjIsݬ W⟤y~|ɰ3QKj ۨQk[Vb20iI{Ԥێ>kp/{N|$-ϗ 8AlBA#M$b|##è# |7!TP W4KE@ԍ4_΍RY5@+ORy:tX;G0!l{pJr& T| TyƲd/d79pCˢv`Z:G/︜@ |[y$vݒj*}H϶6֨/dG0[$'V $2! 'nkv%Ȳ- I͸0 `nhv1vP:4em/ht:!(hJ C ~H1 L; Ƿ7@ZS8*<+tvXH;?T -ׄǗeRjdzRpSQU3gH0zqD}ATgg~şϦ{ rڬ% XYS0'B,st,-4>B5 |@'`1, j/zST4,(\lƋ% &x܊5~<06FK<+?S@gy $h/,,!ҫjэJm,XّAD_%mem&@' q?KfV-kj>qw?u /`Pڮ{5|W~(;h`3pNij_8u!}6! ZlSHH](ݰFx%lY4#XP~ %WNaL/p링|qͅ .t4RFsYWW.$(0l&8ȔEMjGPr 0Vy&O#kjd"/Yt]m0:YFY/6boH L (ws7>$ƀoYsNKGyͭ~\ֹ!D\ #u}Bb7HRRKP A֍9)蟌Y1([0nyWU]JlKcJ|b݅:ܱRk8 wj4]aD~(KVʘFE<($eY2gT'Q۱KiC ;6rF" dLGǴ?mztI*ʔC@v^~󺷒lߵȪ[): |}y//:yqh ?DGfVyNbٰ& wG+nB *e*v4Es5':ǞenP׆G4Bs$Qgu9=s[3W8HA]I!O?8mQ*: %AtpVNܑ0sW`0fEzglu@ 8jiQU2,Bʁ5qzd(H6{vFBOՏHFGQ:g<`#_q,,ފ wOt/N9sC- 9è;kpFگsI u䆪S&5 ,sL3=3#Q==m|k;Ę̵!\3 XmmީNL oBZ|o"ܵt_@`8J_ςˎQ|ޫ1v(r)lp;cqOC؛; qVw~/5řNpK:}w֎]F[.G̸-1}YK;[e Ȝ| x=})P 1**#Yۯ~+ߕ AkN: {YʣD?pcMkWz_% O7򗺱_=md%ǿ&T 05`-x2(¿%Rd1z?lj/%A2DMpUd \Db,V{e?R(C! N?H>8 #Gqg#7nVEs7G)(Аۆ ~`i #qQ={0YPRK0o`Nul9mZrp>a(޷]7ѝVxl>^b2niB YDgi:3;,t4/3ۊ@_'NpLH.5,5#j藈,WAeÐ)cYu5>8-40RWxyљs ]4|DT]?0=jh%|d2dWBg WI)\xnx@@?蹧nO . ^cYMW! w  E-kgѬ."mCw"guY4^@?jbvzC!˻g떱 92ƧzΦgy< %?y" 1x]_.d./&"&FY1E-80A Z,WL9sO. _v,6m]qTlER< Њ:˿:?;HO>HQ5%+gR?UtpzTiܴD lL1){r=YB:jKo!K=0f6ԣ.am+xd5yI߇'th& E>g> r=/'o:@p=.@'RpdKlrJqd [4RQx{:}MqaO46aBlK?;"83k-nM _  [ I bzZ_8/DÇ[Id<~C9{ˌpg8UN"O=P}!,ٌ_>m‰ʓ#G[U^ǫyXl=GJ;1!7SZ _A?ċaT.B€!V"Gx l;sRm}1H_q8B^OB~ YAtmCS f.}WB?ćb|.s՞zO6piEMf;=&gnLq;f6头:8Mdȼ0"##_ҧ %"Wcܧν>l,]'hpLC6b#{!`~ ؀_vjz 2qva=kvg}H@H=AB CXr[{́:x\Ҫ$թӋ2) 5*M/mU@ J[>Nq'n͒-Nb smZ.66ɴV95hh0|j$<3}k_;P"QH! }RXlSF YZ5%Y[[22쟎&Fc_NEs07/X*UA XY2nU%QeJHb##nT We%JL#tMxZ 44xX ǹyUR:oe}8J##qlY昶,m}ɢ>-zWeAa !klַA,n*j6{|WfPL_؍7S-OBTLTJmrHKʞ6sO&w0Ύ\c59y3.L#Z4?I7AjXT2Fۚ;[/E>E>4E86-C&=9jm\*!9>nF~zYgloE[nw寎pf#`jV )BF}Y5uZQE[t 5J`&_)x %miEe凇8$xZqBn`+HwE0K" ͫ- xmUK %)˾)榓=KΓz3X 9谧BkZ_@ Ŭ/=tO1L Q4>]w xx ҼRyM }N(5,'SFbqNc4\c*2(n{VkQɧigOgečFhS68442Tô܍c [+֓<=Pd$9f">#uW`FKFoGˏ 6ľw۵mQg1ϖʭմT{Y_nvdtn~x m$9ك }&?jLߩR 2ih&&'5| j+ wzC䈁dF`%S9٤!v͵ dσjfOӝ(Ԗ(Xd[Тcz;&/i:++2>k{/g?3[dl E? y "ZXJw xWHvmb j"҆qM1f[f$!+"i{hky>I5k}f'3᱁`w]׺̻01@Wq*㱠{Avfchs΅b MLǗ٘|5[k{b @vPzf':nXO Y;I!G&)CaC\sQũPvW؍d}LfM] JbE E! `F},y\U΀iwcnmbA]]l$^;IԲTF5]'5Fx|JQ33k|ʡ u<gU_UjUg:NJw AbmBLv0Nk, hqP5X/vv/)? w]G~w}L}EG-G(Lö͐x8*:~w32kzK%J0 FS2M֮k[JlDVH-; MgRR%h atHޏèNp{+ PZf 9,bʺ.|$k_ ^ Ay's>J,>~s_,˩VBk3G+ö<‡6kocu.$ ^/O OT $a|Osp t\\Xdh;1" s;|4bs7+ GUᴥ$<ƩzBϖ7 =d[]9"* +>̌S9@H`J%" DH0eMK@(ՓQUA1-Uhuʔ ׫EهES]iܦ[: 4;?['fNԺc0| ]E{\2C$y%/{tɳCk & ^69RDsYn2;L"$-s>rB_y-lQY&n9 i)Lnp5<)+x M„COS@]qBJ8x-I!q4u8PTȢ] 7bͽ~=" 5hn1n^&- n\ 6 Dh&&&O=>nUb8 UDz*66k@ 5Aa[L p¦ ?ygDAIec9gOءAUs؅9_nsK+X@w gZI=E-ڱʍaifVھfQ$, b&rma5@eѱ 7"P@\{f^Z#ڽ׽\,Z#{V̄M6)UdݴYV&7-F%!Or&v@r4F+}m&1KgV 2 h&}i$u%ǻf/nCW[l9bҧld {>-{z0$tU.Eb 8SK me]уO+irOqvNw Z{=TXkP 03v1JZv͐I|}%&XW`h7Ew^>mwpvaǒuFů)՟Q_S'Yhg21{0-@'0݊ig;ɚ)%5M;sŰSԱ3\J/T`q'uYA?<,Z0r(nU)rbFo{ 䣪'"<lvD m8Rsk%?G4+!ʮ^ q qIz9 DQ(97L{r% \.QB)崼 tDU '۷#΂I*xʄ:\`e"%ޟE%);*;V͢ z)4⏖ZN['jdCzI!&1 _z)y1$E|W%D$JEL8"V fa@;їXeL-nY"n9CM3_ ݠl)IeOv5miadw"ӑ4e])[b6z OwrVa eԴak$vl'˺UDjǫk3Iϯ<8l /XKKr$UcMmb GxT3ȃl2Y琊.ĎT$^6gVCS o^ NuPփ;tN-ꇟ.4܀Eap,p W̫ R&r&p_/P{THS8d1>F,8[эBTOܽ'\brW!xV!__ >@jWP^bّ?׸tp&.~5PQDƳ TiX>_I->i_-ZER]>+s/ߪ-]x|a2|ۛCBK&`&;&,WgpK3I1C]'V\Jw*B;*jJ2}zWbƖ'ՠ`P<iǧY.W+0ĭZf E1mpi>An023Ѽx閉hTwV۩ܽQ߅w)Zsf݌pX ^L+=0g^,ov :=N3z\^q)kz}&ũP=%%k-a_?<&$jQ %=BqLNgk^;쳖PfBĉu0斲5يU_Ivԗ ÌZ2O^'\+߉f@'euƒ]=(|f.&EL%!"grnFJ1ZOђ˞> SPrOv3"M.ZאdzeY_7ڬ71_-1Z7ZwSN?7 q9_1 Y ^UNq^ Z E<~cY45cBC M$L{4d3Z:Ga Mx0ᦿݴ41VGX_1:#dMgsJ֒H:R]~|CN^}E2 .{m|WԠjxF =*yB)]uv_+yƖ߇@>!RQ_42e X[>W-)Ǡy㣎w&֔oFOa1hi/Ce6{QiFj}'ꨦB< SjCjaGj mo/F&I="r AK{-\x:ǦUߒ}RxjtjX<ʻ[(uK &`.[te.Uں~k9S 7f8j3-R/!_ zQ3V y0~eDk YQJִ8;ZQ}J`U.L f,Yl ,[J%CzvPY~ pd$yreeEI( GE"m#ƄٷLzb72?ǵba?`m7IpDpsg[ˮ ߖRR)E(6ӓ(k]u4Wp _̦Ըi>L[9EA8dh1,>i:uY ߠ՝Km=& '`LJǠ\*A5sZdK%PjuhvbXmq5փ'u,!ߟD $cƫz5pha;"]3bcP`]13f%S-R%AEFwb ϭ7+Sinwn)2 : |ڐpHD5_o+vOY8diӳw'?*GJ1/?s|hlMϕ͞ݒIJO&6AXDEn׽J@a/ɹB'rk;9Sf#s Sj]uWfョNn/]3+kh D-uT^)5Z @uLeٵN=hP邰/RI(Xe"UHU[(?.6`n& 繺894 dɎ`o{oZzr8 ;c>.dieHİpn3, >ro YPp=o4l|`kUʴ"O=˻WIv滩'x`GMp˵VM6wGtsn|U6I|Dk2ЇÌ՜a}󶾰"#{zrV4CO܏kMq@[ƣ+d.,&P !>8˭z1*zJN'^R91~~[q [;swe ` ˍ72d8zKnsB|%[B@`%$cg#h)ӣA0!C|6eKQΦgFSDQ Hv*78AB RހBiCjs^ ^6٫)#jEe GT06ԐtösθV{?FPT[ @G|]8FV>לWTSfJEC \CtBV*i>1&dL"nVͷ28n(), endstream endobj 262 0 obj << /Length1 1651 /Length2 10427 /Length3 0 /Length 11498 /Filter /FlateDecode >> stream xڍT.;bP=@@R{.EXq+NiE>:3wf[Y+ɷoZ* -VIk%P edHjksr8888hiAPGh@,/4h}X@`g#'/ Xxl%3 V A/)(G8@ YY8T-v@V- "vP;'b+A@7 h =2@ hlhm;۟- <AV@gwgk TPw:IVpl+w"VV`' go-˩A, gD G7SG9 r;1:[KP7ɀ @sfrξA6 gkcX8\݁2qLhlP/7 zYٱ.4 `4d|Auw89 +(h rF'h'~ `$?NLf vvJk35N))  ;.l)az0;I@?27z!*H?ß IЧP?mR.*^E.H::} 79ZCu~#v~Y{Z.+IOeֿ`Xxq<)@?D `gsCBOlW `m eFv]' |Jj7=$ '/T_=пS*AA?IC~]W_)ۿS_i(?;OzЖVa auSzK7X(9!K>Y e{&~wf3DCǒd{~~mJXמ^+ j*>XA e%΄ {r/oR)$&Wy*m.x0:_4%E߲ \F6AJnBF*x%A F`~ Ԝ]-sc6r%{#WfkU(j޾{[KH_|ƌlQѶ W[d#\ T~ gOzyi}=uBC)N/O;xQcZ+a jh4J,z`0C@ӓ1eD*!aVf4K2^hr+  X jUYE5+[憛cіh9w-zdj ;" CDƧx.1c asqiT3Ρ%;T.o4Lњiy~[^bh?yɤU@Ƅlg1؆`=:Cl:yajA77a lfSq k{qGCoGgU[fZ j &NV1 U .62=~|yMkgخK5%Gr/MWVcֆ})Z ; \VI)ty>s;AN9@(=6ꭺV4pZB3(\>Wؿ!:`~@Bvѽwe%AJd Z @tWcBWO{I~^+wDqϊ1m3Y#H9@Qg. V qwAy&9ѽޭ B_0m WbwJnllOh] nE@g oƱ<+2g0F驞=+ 2l\{W|SSÒ,uL:x$ TʠGǂ 5(_A I.O'2!aI8C,ۧ v?X2ؼ)7& 35kbHGvʼ!GWVޞŤ͑PcR=Ē3g>oJGrp(Gjʀ41ĢsbIFeԼv`=3%OTncڟRez-CF\LACH(}v}o+_>~L:7[\ \\ЗQDn`1"Up]VFtêOoiњӝ1Pb>M* v{) {lxRD_j`[jKo9nʒpPO;BUSs2?>I2\pΚ 5icV{X7z wW匛8#yܟ<r)2gG*gI*]GCt' %~e/ޅ{Hh}vBPԩz*| d$sSࣥ5՘A>{T~L5: H(lPE2;ŇH &|ӠZ05aA!ʑAF~qy!?\>?~@H sQռ y3o1 S^ч%@ː&,j .T@\f!Cx"*.Wx[cܡa';igGHoWQP"oaNf=GpYlL5Rp嵝V_ bxL0K*{)f_A綶w,~tA^`X0\Fw{Z v¯sbu8 ¹U {&s36kDo}lQwk#҄~H;HmWDdI~|c)7=5r(෺"?X]yh ي+r֋R J\hp -mH vj 4N½m1Ȝ` ڳ޼y6pq^ a3 jZ3Az0Oޒ]n3}ɩue'܋]7}BϢNSqMЯ5LfkgZ*$[?gcBVC;N[]S(JNje4ii on(Y*$kJO/RՅg\M~xHEU A6=hr׃Lbn*nnDj>V:JoCx&?G\1s֕dx;&n>#BzMbz>ϼϗvj@o|vޥnߝes[nz cuFڏM 3ݳl{dWJ*DM#ԃٖ{ȾuXA>֢:}KO5U =39F,2CWp X%:b?np%[s߳r_pO:+L]q${7Ǜ2 ӆ l:lqI]}KR_cV>q_L(VSajhV̲);a?+>@mSEԹ9I< *00hc~61`sX.g]d;XgOzF"<ݠ(4OƤ}|]߭!,e!|[@wna)I>r)![r↙[XXpx^n6?=C_aG3 *{SE{caz1$ĹBnĴ(LԪ"އj2xװY}Q#eUw "~);N/L3HOpOV6[u`2HDkO)ly;}ΫFagM%" ~p,LI)Pә+})@|uf] 6iy!v^ujC:\ҧ+ ^((d隽1AӆM.N<6NG&i e9Ne2FZWhƑBA{S~S=/ 5]1`b8yS~]Ov>EUyѯn*nRڶ8HDS!y6sy%sK̘)\ XevB+|4^k-jZ3Q;}%~4`) 2ͺE6_lt]vFTر->j_qɈ65@oF>)(SI\p<4E+qy Pi+o7Pql>GBܻipcFf<5@ܦ"}9k-I r.~Y Џ" ZP+iy,J6-#MP KBF0d6E)C/3#(z=mfאKn?D-K=Zd cJ[9Fݸg„ymòռEԹz~A5|q)ʿ~sŒd|tEߌ'qjq#hg&ZQ$rXJ |^ENo\rz#BSwSbE;<ᙀm"<ͅQCHݲkD>yaΙPp񪤬*=ͧ(qFXSǓ,y8U;&-y-"]K@e7qTv?a 8 μf^+ BtL4:e(}s%3M 9׳C| *Qannիoٖ)%$`l=gNsޖ;w>/Q˕\{%M9XqAxem;gdalvbNVS[\[F&I,+=F:[\&<S(Br&:EYoA >B!F,$ISGϥ;Y# (n0`Z> DwUJ<nmi Ь=~0 's;*ɌՍA-?'?PEt>"qdѰU.Cj/_:eg bTP5ӗ upy A_*NIL3GLU}e[`d5ȲޫF=T$>i5{U W2<0N"Y>w^؉m믊{P)C@QEL ֏8N,D@ֶQǡ׷v5 =hd#q4Sv-ڜY+hmi$# >ߵ!y8(b$_R}3]en[jz*s2wU *~W>Wu8jh5X6Ky"`/':.O18x*Tp<C[mx=ؐp@H)XtP<}g"d'b8CLi-8~ ԰:hD546 B9 !8Zk !Q2G@Vg :t(N?|Ύ~VfWlETx~ed: c1dqOWyA\fL߫0#R.t_2G-Θ56BNmc`m4+AToC'~5/J卑/ 5N!Ւ$CX$kVڲ~'*K.uA.̬O5["34Wn[(1'R~й~/{if"rƅEӚLwڹ<&R`*-_2mni'̿w񡷴KfP94=&fj&S"ͬx\if|zDr'6ִ&84A;Yz#V$m6Ê'%yJ| >&; aZ?KXxh%0 r'x+`ыA>%wM?rl׹ ءsȋ9JU!b& cFi]'ثS~k'CA%YIJ2 dR[`*N5emƌesJ_d}u@y%:>WgzZCh77Q]fs)UU~#>A?rȕ#K̡Bۨȫ!apZ^_{بkh~o'b=&Q\sHzjO (9\]Q'^:KB#Xvn`i1ni m86{I-Ȩ~Ι{鲺%>b! 6ۧ &^"}h3ګ`C_y+W&jK[accV542ܙOTVJއ425C )Uhh <TQh'ۑtNH5Jn¨hʤmp8 5AiϏqW4+\FGrXd&KܒżTe+f-:ew66NPpW1.4ݏ#YR<ѣJ۪L U.*X"oH%\7>ѕMP1xEu1G=MqB'躮$/j21RljL3"6"F("k"(hm]я(޴f\cT:öI& /7xjGo<=`\ R_ʺ"|m)0-?gHͅFG8g"B})$D2Ks%/n5,a=3%aӺ˪wŬD.)qMR^P|_ʸ/@AF\ݱ?65 3\~S6Wј+zܳ {J*=m-VoS6}?̧ nOW94?92NeTsrj! "r,uL}Z]O$6Cb\/fBi6u6/0UŞob>{+'HX'!d/+ok=!q*$@C2dS@}~rιC%O#(jؑj$.Ǻy,1 k)p@נI~:vn[gbJmL嶼}Sns;[J5>{ hguwbmty`P]a.>͐bXY勀E=hf95ȉʆ԰~=AyNb[s~caR鴱HZ:#*A,B' ݾ>N֩3q8_rS9U~\gg"Q*T7 !嗿 V^,Ub+7m&Os4C_Q#4ℛ:>Еtj7er<Ln%Ӈ_KIG.:$Gޗۣ\y5 P'qMc&-*8yY+%Tkf+10#VCt*;ל.P삤;hfsb3}7wp]%GAg&So05 4NrHh)D<2_ƳZ[n2v:oʟE}lkt÷g`$qrgZ\e~VTYd1 5Ye!ev_B'nېЖTqB̭]B:C IVfXiI'6fW+_#sy)w8B2?]9~«6rXq?kժrnNYҏZwDV})4k~ʐ~ޜg[EHy#3o 0,Ӡ(C'?+]W2d1>wGNP#?9_:/G"S&ECȴh"FWoHitS:b'_YSw?j4ҵ0 RfhXdOټsn75ˤ0r˷-8=d.c f{p7D Xgjem{g6JKҜs< [$U)wSܔ=cR{N:ckϢp͇~Lԑބ.fqb\V6k&X,Xlt=Wd5V;ys4O2^WY3oNknEqq#^dyN-= Vm(MNc".u8kr"l REFfBT8T)1Y%LPk¶;DU?o_zk~784|WIq -C{şS]smJW^2]@EtRN;]|nR j*BS]}J,[QFüNӧ{H~mF%F1?/zfR+0ax"Wr*$t4a!65a]g_Qe ɆʹJ q:0/-MȘhXr'PE?ޟn-t}TaJF(RҐnD)z6vM>V].:8X7FOq`f;Ru@Ȍz ]S({ ֵr8R\GSJ?m"3jϑwp0)fe3Ўh>^< lҝY[);gѡH48/U{2 ^bOKPxg1sſ]1}")E,['G^4m W䪲rVHMϕg@bPS$%*8%smghL5*ȆN"Q4Z\# 3D[k69y/ר7񜋴龟(NR"o3jf/ϊ'Myԩr8 "'anؾ!Țv #k'׭*rkt]NuUg YH|QX" C05=Cݧ"kl61#Py"盠"&I5ٗ+N~~cT_[#)3zc' I#a.5/?`LڐVيiPq<*7-fy,/L rjv0S#=1j)W v"HQͰw g?H,ʤ7Ϛ.=](:8(Y\Ր`@D?f endstream endobj 264 0 obj << /Length1 2542 /Length2 11360 /Length3 0 /Length 12816 /Filter /FlateDecode >> stream xڍT " t79 Cw*]!%H) JwZ\;,(ITMM@v ,̼Qy55V33#33+2% rdJ ގ Q'3D&f 1ȸX,,\Vff;Č]-M{;R?4.¶ 'K@d 4-Apvvebrssc43;{Kpt 'W)wc[?1"S,,+T͜݌@C\\LANHt@d`adDv9vv3K@QBݙ`lgl7v5161@BX` @'Kg0#wLi m39'fBZٻyYڙ.ŁI$- D,398 Gh;/%o1/{ 6v\@>^*YX@g "!de _ 3x6눙%Td)_;`epp|ˢdlOϞvft 34[!s <33oH/=?zc[K, s y{&_SMߋ+2tZigc.ۙHK;Thl-Vg6v %{tZCn0d$R ߈v@{K 0vr2@fL+ hg q@;!>RN8L"ψ $Lbψ$/b0I<#3b0I=#63D}Fr]A+!$3DP}F&g 4E<d/bp!c` ~.BfA6q2Z ? * -8 d@{osR_闩,@Ϥ r;@Rٳ $]3K?8~]11f?@@rxv  }? )rBʶzHl! eٞ?Ӂ8G )Y !s<s,H{;@X!qq#[kAzb 25y.YX ҵgbG[9 `ȃ\ -dr%39[88oHn8@8\w0BNBH@H=s0y? r= 7_ ;C[9^fKI(k4&Kx@cV-d'4S;o8(tQ$ pj<ْ^Vκ9!xrLkcANyÉ1V_ANy\BE ڹ"$,-³:x}.]pYtqP.G7Ň*ک_.&֕aǘ.-@M*o-S֢=լx= Sl*>w[|,daKY=ʛPd^==~'ɄC-fTr=Gm") ]r)Uצ?1I;2{?mWU;̪d'H WP\y j&ȐՀW 8-~$bH(E-d/F@ FBk~@fpM߹LQNvtuY}ZJ+9#(ׁ(^=P@5篿5x2QAv2 ,&U[(*ډoKJ'%4Fe?Ȏ1cg+XSn._ޖs,tPǛ>yc0DhRr ovgr;GUU 1zec@EF%di;rwŚR`I"B_5rժf2 0T"u˪Q,ը`@TԇC i}CFi j Z_yF8Oj󏯿'0;ît#(,E#p:p0I_uemtA-FX:] ,Q˵˕Si:T@DP!M ,o9v>OVpG}<%ZrnVvM1 mXE!XKI`ȧptdus|Z{'e%.GZk/[cf|`B^C< |i>l}~Cb%봜h_E$ewHeOp>8|óP Q _t (-^A݊RmbnDõ~iOހ\Sn5[{cNULnn.ǻP^8m['>E~]Q&ͫj3DӶl_'Mdtl/v|UYO0S؄ހ>[ӄoPoB,cCğE45c?% sF*V졖(IȖ9hCWM@}oW"CxSi+g!}w4AU{w#krI&K K8-q9W?ߜb I)<_r `=!_ /҇ޯac+zkcr,t" /"ljofHF-@i! DhrR*6V_;nfR|M8}<ŋNru(J)S4( O&bAr5<ZRj=LDϟ } ~y̮׏fwv7c}(Ɗl{?f3>ӥ'F*sUd'TZULVy1 =D0f" 41`I~9Q^OYqѠLVm=jMȋp6qTa_6´+#ǑZ{id R:%ȪIEwtc,H+s&/?f蕤0kuQu>J5`orfhk|E?viY<߱m"Sb5 NJ)?bT= M>5.B*M3qjC\l >|dfDF ;؜CLhowK99ao\ QTw0)6jZ}*r+1l;6tZFjWdbPUlt,pU a~0L$*&}~ȗ g2OԘ"BKJ_xjX2#gݞijH52^7 JqcPw=Z.}j6JiDyv,n1D$b>V)RHf+:AW$Ot IE R" )׳xjImGb3.a@ZZ<> ]ՌDZ ?_:Uķf̾%W! ed{6P-nu䖢Ea}]\q_`LYe~;J0~6.h̔vvnDI4 ^(jÃj$(kEnï'ˠaՈWӗaeYQO۝Iɚ2W q)F_=| 6GAB赽e^jjCq_sDcA5ۮ[~uW/ 915͊-F6^̜xۡ~ra/ctkxF%R5{Ք=A&3djyጼ;+nn=oa;7瘕8{j6\]!Yh)-hܒ]E/ _9j 's‚mXt/W}G-Dx7?z:Pmz>ݦH0115;.Y x§ +:.` 8GırދL]Or%vJcݢOaRl=pvgp%&mqZ ^ԂمK;ODfa^<¸[|5?;pAZ–~{3Vj4{P,o*`[$*/p`uKHXmp0hN`a=p]y%Bx2l]GB=]u>XdxUQZnC-Xj΍`a >T€8} ~0BZbGMQw(&rd E ~s䏥Ꝡ-&TfVP=ԝO2GD/~. xG!a4D@WqIbONi!0p11#bv4`3ii$-둦$iH6xAWjj?rtȸu-=xQ҄.xצNpQ0_0  q7h hEE\Jm)N̖m$W.~ y #VX%:1qZdP]0H{K"0 6|hp7]۷,s"JOnFDI4NSάrng':ԗf/D^7&*!@VM{\I ī'Fа28cz*ͳuJXB~eapX cԭ>~ _'h2c9ӰY↑"-Iʢ. op?P*f}ε=*ϘaGU镽8=995 MჟŊ.YK|Ոzgtt^jzx~fLO,@@e[\vd|N&ZWD` WV.W}/*vEv/_XY^`V|i,Zlo[ucQCazl. SXR!q'kWh[e# _oXݻT%|oaV^,dՏRz޽wһ\Fp [40 aAbHbٍ66p6:JTeS ovn{u,[HӾ|Y30$8DCigL' + "G\ڥj+\tI^G IsI}g EIA6˾?yVb;lX7nmt_є8g>ƿeG qˌW̪qߩ®Q-FYv(i7 fdp΂S_H4h<=ҹ T@勼m O٘2J6ĥ&7$y[H y[ ҡp{x%"=r8H@U4Z֯b\% H9HNtQsY1li\+d;>]hV硾ܼ@cGs0AMC@5.g@tNsFk_մR];6t źƮfyh#=8E (|1,Y}QԴVzU>!vjqCe}ۀO~J⃋Ln[%TBAjyryfM1E#wSv⚜0( !E{d0Ɉ~i)|ƼZw P0L؛ƞf.JvJ][:䣏m+ڸOrD[ÞŚs5KiDQoiP[_QTJ|pC !'1ܦ7?Ϙ. N sDql?l-Vӡbq[*Җ/ϣS J%WceߦZdQB Z#Y%T}+-ԡ<444Kkg=8pތ21DˌGH }` !9<ΧwA7{";:lQrn.SvuߟW i5KG;EGC7]3MCv;|ٱksNw2\D1,8j >< C..VRsgcc>[pI;ʲt]໅5_^(z۰Iv!95Y}ȁ~oO1U ~O\|]/m-6D(3iN FA2[aAw*A | D]W1x沎O9AL-IZJ-`Z*B뭁:mBG :_A|雐xT4f2 6[3m⩜α|G#5ythqvBfS%^HdQ"MYaQ{W5Êĥ 1Wuf6a&-uX2_tqr)K$o((j91 #$Pn4\ [,: &[ۇHGVpz%,ıDM5~.P D0+{ֳ -YrO{H@ j1Z p&J dk;͗G,<" 6crro(nuO_C|GuzS;.{ku'Ig}#T$3\Kou% 7s^[g|ů7ou$#p0L[ kl<{F~0t05 - W3gAuW?*}RLk{? Ys96{-bw<8/ F #i(܁0}8\T#U4}HAJn]NGLAߡfmQ] &ؓ~>/3Q9%_/Q]u[3ꞛ,ZeyW1_0,U/ ٛlW/^aM9u(ՐsHwV-wPHytm0䶧zxkf|sdс S,-%.̧?pW3oFOHj UH"kLaqq3*/}s%]T;,P!¦aĔ $ oQGL'`1.|VDziة* LO{u$5=9NfП->Bõ&FjNP:,-M !4][7Ŧ>d;+6 w=$/, [:ҊݰY%tB2D/x\(P'ZH^,Zp,ڛ90щWmxSwmw25*t:ˆT@m52`Vu=NVd~G]aD!Z|BǃR5rAhU۔C/f膯яE4Q7W`l_jeb:e޽COFQ2o(k)bcz5hN_Y2]p[V2>R'/eD` Y`8L"p,iΟ5a_`ֿes[}0ZǤ *Q .H}Qqg|ENgi'tݽ>69^(e>3ng"S0! %uz\6D7өq= h3^7_(ynsR}xN3⵩MPͅ˯Ү2r.6_e[}Z.u< |W%u_-N3! Fݡ!T#mlf$^9Yf ˸{PuoqfW*kA3:+h/^ZбeJ/n9oJ1mȵ&iͺsHw?*އÕW [!E3"wP(#XUt@^b~dx}qpŢj\ i\v,ي<^bUkm IrjBkdWsWmNi6FOk9QJM4|Hm ;7 k(s_F+-pP<@7@.L܏-Cu3#`vy$F\E^/)- )0(y6yHÆqYҿ߶0N"V7O=Z_)U|>G"ɟ]i=8 1/A#n3q'NVTY|6@r Gy A{PB8s7h_[Ȩu$*"3fv LD>)Üw|Ԉu!mSc 2b.c' t(ppy):Xطڄ/P7(^&w ';c1.FEflȳlM[{y԰\5])'quY̋SV&M 麳}=+*Ná#C{&_Z'[ -~Uowp<[OثeĮMg6+Rs(ǿxLa5A9 >&jAELvDXkw/ 5[#."Ԫi=\_~ڜQdvZ{jlH!Sn,9νC:I4orD5xu%Mgj/bUyOGD+:E[rn31iDu}a Ykn?Omxdlfz+FT;)*O>0|<})lz?Rz|R!x&+HԬWm8p$/E7'갩]E;lv6ψv$XEGDTRL*Y"x)e=z_z;vëoʲ&gatG|.@1oOY/$A-k?v\Z ]Q Ixo8ѯ]8>*!~ 4b VJe{ hfGqBs`n__GLaj[yګZAERc3j=g o D͔tP5»}0^S;2y! iEP-j1IC.wGX1]]jOa/t>VUߘM1+XKω0PҽIn 0,"Q]qMU0FԴ=؜ 2 İ5DUn `T}V= G[÷L|R43ޫug|v>:[o,@jOK)6nٙ +`^U76z<~(+]Լ\aʠX͈ɹ8]w/_">"(hMA 11Ps;f N-xzA8Tϣ{I܄i2;@aB0׎,MDlR;Ԏ _L4hL/hu1*\iC%p+RX_1S\-MŘ%Ȥ+ yxc/b f@aUK='S [I@`efg028aOQ`m&=e# <֌(}g*9vK=L"Q}1f\)vz?y-}+0ܐ;B i#TOX!Y>EBc]_X$jX {BE{]iXi/䴋w"grd~j[\aFԹGߏ_d{ughD>~}smK*J6^}W̺1jZ{q SWaf9R  ORHR@ín50ľ\RR]_bڇ ע޹Zޞ ŘJzvx{d nΜ&aܗ kZvO‰` y]?3%IL&7 hbR ]J32SE=}QbaH"Y>R4DF#la<|j*qHtAZ215*ޱ6*d&qMtV}Z]h@_(>EdbPʗ٫,ox LB&rsBB +OODTɰ/I~42J~t-=t~A'K{hܪlt@P d]ljnfgMk6˸tf\|Sfܭ6(+l;xӲVj^>*0'::v+Us6 eTUI]=KռiLp-.rxe` endstream endobj 160 0 obj << /Type /ObjStm /N 100 /First 885 /Length 3226 /Filter /FlateDecode >> stream x[[s6~ׯc2;!;llnn4i8ʒ+t~@ImR;Θ!pn87,m6 qBF .c!⮅ w#7[!+$ieOTF p輐ZC YnOĞx1/דApP248T\c%@)(أ A Z;kU`H SAnU m+wC&y_{@A@EORZWH e0Rdl11q:Jhu䤅 dAP *IV{a5,dJ˂a+9Xa}넍p'$']0#!Uup`XAi+ elIdG{)$'P-7Ӽq#O`KAH2b!(JDI["t#]` }Vy(OV(XRFRWz  . z@*ZsPVLHT1"2!o`#֐:&]Arww?OwpܻWvQx09z%QOi8~0 {wi=3ZǗ3]天GfI3gay6಩p:<7?ptZt2.O5p@ qS!b6xҜ)dt8/gٔɸovǽ=pOF(_V*\+ST0r4#rw2Lёh^3aoj(zɸr!|H0X_dsxSxpQ ėn`#QKY֚݃ & {A=\N־ FL>H9hVӇ*aUui6ݯzIǿ &zDI_$VX0#E+T]4|lu(Ǔ M]? JK}uuB, @ A!(Y]K v֯u(|AM|(4WV::90]$bD:2B0n7[(>73J{UηwuN{T vwnrvh2/`&^\64A=.l&캻:;씽yc*Jɬzn~oh n:3ڀ彝V||_^7|k+ʼ6VWf3kOLT;I̭nKČ[KXW)!?a]֭?^ߌG9OSŰYu\ '8Y{Teڎ[Ml<s{NTRcgs?hSc[mjӹo41y؞扩nzP[{ YUXMC[忺6&oZ_n-?guiڢ\G6"R}A:jMٍpf 8ٍ¥n`7ۖٻىxЮܫ? cz嵪/ݹ]Q "5!4{ iJ%)R!LqKKmd- ;KXW9@\ L~^r5:Fy666H)$1d(WUy d+1cgxeҳ`t8,OkIrhfeۖy> jF|D&aG5E8G!0p!prʏH7s&dCZ0.,}E9]ktgdM3O_x="=+nǍ$xƲ2ܶUXXk5rjVyOAܘ,3 c!4mU%JX mb먷M R״\=h`ˤr: k1X>i' \8gJ_/ѶܱE2xfsJ-ij*H^N*1AbzwzW|> endobj 266 0 obj << /Type /ObjStm /N 39 /First 317 /Length 1182 /Filter /FlateDecode >> stream xڥWmo6_ɆU@Q ,]`킡DKvfŲ_;b(VJxwsOg3S0Y@qƹ`Hf9S9gF3 YɌRKά r Za<6mCa8zjId[(XH|D1~2L E 3&g~Q S@nq- +H zha20m VZL, (0%+$)|ִU."@17obF}$#F庢0ݜ9ti:!{Cvj !rU'm_5ݴc ܯY@p8M[6ʭcGraѤq+8 1o$vpl^mzA0O΅u:Ay:dC)~zU}c2P't#"4JF*"@$O]YO#M&F)H#4<&*4"VU&TAU1Pq! X"H C,HH AbbEBbCZ6BPeM@}51jyCA|.byB}/N{r__+aYSCmTOZAXcuqt>9kS.0zzd<'OEg巺'^hI{yn%">mG}YU9 -cmlC<mϠmPZDC%4xnl \ƴd&(8Φc 2H(uduuO!Eb~;6 S L-l} '&ns#}4 (m> edžT6AMJIww(Cw=;&)VXL"SlcTc(SPݾ|1?i跡[t٧140F/K?]w)>_tg5О=_WϷԫjq2`:|a}+u endstream endobj 282 0 obj << /Type /XRef /Index [0 283] /Size 283 /W [1 3 1] /Root 280 0 R /Info 281 0 R /ID [ ] /Length 702 /Filter /FlateDecode >> stream x%OTQfd`f޸2 ( (([42v6G [p/l1cbG߽ !|\;HX T`Tb`*AFJAPB0MVLiQHVDYm%KL&אqEB7b@Iv]d-ɽLۨdi"ΓA uBLndN gkT1<A 8 Vvp 'I:)i΃& pR=9// }E\ؔ}K*F-?p`B7FC_j*N|uT㬅Hd`,%lgZe:jlb{[x}W-f;ٓNq3aKn}R&"gHY]bYC/^LbNt9ԭ;Rhr#/~Cx6նq|aaaaaj{%*n釻'Hkkkkki C$H}2U(In*7ii| ˍq4>iLUӖ[Ռe>䩚(X՜E]OT[4S`ƖE^T-YyWeq+,KUJU@ sjAAew^e˦ Bx endstream endobj startxref 989527 %%EOF MALDIquant/tests/0000755000176200001440000000000013314244134013312 5ustar liggesusersMALDIquant/tests/testthat.R0000644000176200001440000000005512624130232015271 0ustar liggesuserslibrary("testthat") test_check("MALDIquant") MALDIquant/tests/testthat/0000755000176200001440000000000013466074353015166 5ustar liggesusersMALDIquant/tests/testthat/test_monoisotopicPeaks-methods.R0000644000176200001440000000126712703476727023531 0ustar liggesuserscontext("monoisotopicPeaks") p <- createMassPeaks(mass=995:1005, intensity=c(100, 10, 30, 10, 40, 550, 330, 110, 10, 5, 15)) m <- createMassPeaks(mass=1000, intensity=550) test_that("monoisotopicPeaks", { expect_equal(monoisotopicPeaks(p), m) }) test_that("detectPeaks works with list of MassPeaks objects", { expect_error(monoisotopicPeaks(list(x=1, y=1)), "no list of MALDIquant::MassPeaks objects") expect_error(monoisotopicPeaks(list(createMassSpectrum(1, 1), createMassSpectrum(1, 1)), "no list of MALDIquant::MassPeaks objects")) expect_equal(monoisotopicPeaks(list(p, p)), list(m, m)) }) MALDIquant/tests/testthat/test_irregular-functions.R0000644000176200001440000000025512624130232022334 0ustar liggesuserscontext(".irregular") test_that(".irregularScore", { expect_equal(MALDIquant:::.irregularScore(1:10), 0) expect_equal(MALDIquant:::.irregularScore((1:10)[-8]), 1/7) }) MALDIquant/tests/testthat/test_msiSlices-functions.R0000644000176200001440000000371212624130232022274 0ustar liggesuserscontext("msiSlices") test_that("msiSlices", { p <- list(createMassPeaks(mass=1:5, intensity=1:5), createMassPeaks(mass=1:5, intensity=2:6), createMassPeaks(mass=1:5, intensity=3:7)) coordinates(p) <- cbind(x=c(2, 2, 3), y=c(2, 3, 2)) r <- array(c(3, 5, 4, NA), dim=c(x=2, y=2, z=1)) attr(r, "center") <- 3 attr(r, "tolerance") <- 0.5 attr(r, "method") <- "sum" expect_equal(msiSlices(p, center=3, tolerance=0.5), r) r <- array(c(NA, NA, NA, NA, 3, 5, NA, 4, NA), dim=c(x=3, y=3, z=1)) attr(r, "center") <- 3 attr(r, "tolerance") <- 0.5 attr(r, "method") <- "sum" expect_equal(msiSlices(p, center=3, tolerance=0.5, adjust=FALSE), r) }) test_that(".msiSlices", { m <- matrix(c(1:5, 2:6, 3:7), byrow=TRUE, nrow=3) attr(m, "mass") <- 1:5 coord <- cbind(x=c(1, 1, 2), y=c(1, 2, 1)) r <- array(c(3, 5, 4, NA), dim=c(x=2, y=2, z=1)) attr(r, "center") <- 3 attr(r, "tolerance") <- 0.5 attr(r, "method") <- "sum" expect_equal(MALDIquant:::.msiSlices(m, coord, center=3, tolerance=0.5), r) r[,,1] <- c(9, 15, 12, NA) attr(r, "tolerance") <- 1 expect_equal(MALDIquant:::.msiSlices(m, coord, center=3, tolerance=1), r) r[,,1] <- c(3, 5, 4, NA) attr(r, "tolerance") <- 1 attr(r, "method") <- "mean" expect_equal(MALDIquant:::.msiSlices(m, coord, center=3, tolerance=1, method="mean"), r) r[,,1] <- c(3, 5, 4, NA) attr(r, "tolerance") <- 1 attr(r, "method") <- "median" expect_equal(MALDIquant:::.msiSlices(m, coord, center=3, tolerance=1, method="median"), r) r <- array(c(6, 12, 9, NA, 9, 15, 12, NA), dim=c(x=2, y=2, z=2)) attr(r, "center") <- 2:3 attr(r, "tolerance") <- 1 attr(r, "method") <- "sum" expect_equal(MALDIquant:::.msiSlices(m, coord, center=2:3, tolerance=1), r) r[,,2] <- c(15, 25, 20, NA) attr(r, "tolerance") <- 1:2 expect_equal(MALDIquant:::.msiSlices(m, coord, center=2:3, tolerance=1:2), r) }) MALDIquant/tests/testthat/test_snr-methods.R0000644000176200001440000000021712624130232020573 0ustar liggesuserscontext("snr") s <- createMassPeaks(mass=1:10, intensity=11:20, snr=rep(2, 10)) test_that("snr", { expect_identical(snr(s), rep(2, 10)) }) MALDIquant/tests/testthat/test_deprecated-functions.R0000644000176200001440000000256712672203466022465 0ustar liggesuserscontext(".deprecated") test_that(".deprecated", { expect_error(.deprecated("0.1", "foo", "bar"), "foobar") version <- packageVersion("MALDIquant") version <- paste(version$major, version$minor - 1L, sep=".") expect_warning(.deprecated(version, "foobar"), "foobar") expect_message(.deprecated(packageVersion("MALDIquant"), "foobar", "foobar")) }) test_that(".deprecatedFunction", { foobar <- function() { .deprecatedFunction("0.1", new="y") } expect_error(foobar(), "\"foobar\" is deprecated..*Use .*y.* instead. See help(.*y*).") expect_error(.deprecatedFunction("0.1", old="foobar", "\"foobar\" is deprecated.")) expect_error(.deprecatedFunction("0.1", old="foo", new="bar", "\"foo\" is deprecated.\nUse \"bar\" instead. See help(\"bar\").")) }) test_that(".deprecatedArgument", { foobar <- function(x, y) { .deprecatedArgument("0.1", old="x", new="y") } expect_error(foobar(1L, 1L), "Argument .*x.* is deprecated..*Use .*y.* instead. See help(.*foobar.*).") foobar <- function(x, y) { .deprecatedArgument("0.1", old="x") } expect_error(foobar(1L, 1L), "Argument \"x\" is deprecated.") foobar <- function(x, y) { .deprecatedArgument("0.1", old="x", new="y", help="barfoo") } expect_error(foobar(1L, 1L), "Argument .*x.* is deprecated..*Use .*y.* instead. See help(.*barfoo.*).") }) MALDIquant/tests/testthat/test_coordinates-methods.R0000644000176200001440000000330613150562373022317 0ustar liggesuserscontext("coordinates") s <- list(createMassSpectrum(mass=1:5, intensity=6:10, metaData=list(imaging=list(pos=c(5, 2)))), createMassSpectrum(mass=1:5, intensity=6:10, metaData=list(imaging=list(pos=c(6, 2))))) test_that("coordinates", { expect_identical(coordinates(s[[1]]), c(5, 2)) expect_identical(coordinates(s), cbind(x=5:6, y=c(2, 2))) expect_identical(coordinates(s, adjust=TRUE), cbind(x=1:2, y=c(1, 1))) expect_null(coordinates(list(createMassSpectrum(1:5, 1:5), createMassSpectrum(1:5, 1:5)))) }) test_that("coordinates<- throws errors", { expect_error(coordinates(s[[1]]) <- LETTERS[1:10]) expect_error(coordinates(s[[1]]) <- 1, "2 or 3 coordinates are needed!") expect_error(coordinates(s[[1]]) <- 4, "2 or 3 coordinates are needed!") expect_error(coordinates(s[[1]]) <- cbind(x=1, y=1, z=1, zz=1), "2 or 3 coordinates are needed!") expect_error(coordinates(s) <- cbind(x=1:4), "2 or 3 coordinates are needed!") l <- list(1:10) expect_error(coordinates(l) <- cbind(x=2:3, y=3:4), "is no list of MALDIquant::AbstractMassObject objects!") }) test_that("coordinates<- throws warnings", { expect_warning(coordinates(s[[1]]) <- cbind(x=1:2, y=1:2), "all rows but the first are ignored") }) test_that("coordinates<-", { coordinates(s[[1]]) <- 2:3 expect_equal(coordinates(s[[1]]), 2:3) coordinates(s[[1]]) <- cbind(x=2, y=3) expect_equal(coordinates(s[[1]]), c(x=2, y=3)) coordinates(s[[1]])[2] <- 5 expect_equal(coordinates(s[[1]]), c(x=2, y=5)) coordinates(s) <- cbind(x=2:3, y=3:4) expect_equal(coordinates(s), cbind(x=2:3, y=3:4)) }) MALDIquant/tests/testthat/test_transformIntensity-methods.R0000644000176200001440000000454212624130232023720 0ustar liggesuserscontext("transformIntensity") s <- createMassSpectrum(mass=1:10, intensity=(1:10)^2) test_that("transformIntensity shows warnings", { expect_warning(transformIntensity( createMassSpectrum(mass=double(), intensity=double()), method="sqrt"), "empty") }) test_that("transformIntensity", { expect_equal(intensity(transformIntensity(s, method="sqrt")), 1:10) expect_equal(intensity(transformIntensity(s, method="log")), log((1:10)^2)) expect_equal(intensity(transformIntensity(s, method="log2")), log2((1:10)^2)) expect_equal(intensity(transformIntensity(s, method="log10")), log10((1:10)^2)) }) test_that("transformIntensity works with list of MassSpectrum objects", { expect_error(transformIntensity(list(x=1, y=1)), "no list of MALDIquant::AbstractMassObject objects") expect_error(transformIntensity(list(s, createMassPeaks(1, 1)), "no list of MALDIquant::AbstractMassObject objects")) r <- createMassSpectrum(mass=1:10, intensity=1:10) expect_equal(transformIntensity(list(s, s), method="sqrt"), list(r, r)) }) test_that(".transformIntensity throws errors", { expect_error(.transformIntensity(s), "is missing") }) test_that(".transformIntensity shows warnings", { expect_warning(.transformIntensity(s, fun=function(x)return(-x)), "Negative intensity values are replaced by zeros.") }) test_that(".transformIntensity", { expect_equal(intensity(.transformIntensity(s, sqrt)), 1:10) expect_equal(length(.transformIntensity(s, MALDIquant:::.movingAverage, halfWindowSize=2)), 10) expect_equal(length(.transformIntensity(s, function(x)as.double(filter(x, rep(1, 5)/5, sides=2)))), 6) expect_equal(intensity(suppressWarnings( .transformIntensity(s, fun=function(x)return(-x)))), rep(0, 10)) }) test_that(".transformIntensity works with list of AbstractMassObject objects", { expect_error(.transformIntensity(list(x=1, y=1)), "no list of MALDIquant::AbstractMassObject objects") expect_error(.transformIntensity(list(s, createMassPeaks(1, 1)), "no list of MALDIquant::AbstractMassObject objects")) r <- createMassSpectrum(mass=1:10, intensity=1:10) expect_equal(.transformIntensity(list(s, s), fun=sqrt), list(r, r)) }) MALDIquant/tests/testthat/test_removeBaseline-methods.R0000644000176200001440000000414612624130232022736 0ustar liggesuserscontext("removeBaseline") s <- createMassSpectrum(mass=1:20, intensity=rep(10:1, 2)) e <- createMassSpectrum(double(), double()) test_that("removeBaseline throws errors", { expect_error(removeBaseline(s, method="foobar"), ".*arg.* should be one of .*SNIP.*, .*ConvexHull.*, .*median.*") }) test_that("removeBaseline shows warnings", { expect_warning(estimateBaseline(e), "empty") }) test_that("removeBaseline returns an empty spectrum if input is empty", { expect_identical(suppressWarnings(removeBaseline(e)), e) }) test_that("removeBaseline works with ConvexHull", { expect_equal(removeBaseline(s, method="ConvexHull"), createMassSpectrum(mass=1:20, intensity=c(rep(0, 10), 9:0))) }) test_that("removeBaseline works with median", { ## halfWindowSize expect_error(removeBaseline(s, method="median", halfWindowSize=0), "too small") expect_error(removeBaseline(s, method="median"), "too large") expect_equal(removeBaseline(s, method="median", halfWindowSize=2), createMassSpectrum(mass=1:20, intensity=c(rep(0, 8), -1:-2, 2:1, rep(0, 8)))) }) test_that("removeBaseline works with SNIP", { expect_equal(removeBaseline(s, iterations=2), createMassSpectrum(mass=1:20, intensity=c(rep(0, 10), 7.5, 5, 2.5, rep(0, 7)))) expect_equal(removeBaseline(s, method="SNIP", iterations=2), createMassSpectrum(mass=1:20, intensity=c(rep(0, 10), 7.5, 5, 2.5, rep(0, 7)))) }) test_that("removeBaseline works with list of MassSpectrum objects", { expect_error(removeBaseline(list(x=1, y=1)), "no list of MALDIquant::MassSpectrum objects") expect_error(removeBaseline(list(s, createMassPeaks(1, 1)), "no list of MALDIquant::MassSpectrum objects")) r <- createMassSpectrum(mass=1:20, intensity=c(rep(0, 10), 7.5, 5, 2.5, rep(0, 7))) expect_equal(removeBaseline(list(s, s), iterations=2), list(r, r)) }) MALDIquant/tests/testthat/test_reorder.R0000644000176200001440000000056713113353061020003 0ustar liggesuserscontext(".reorder") test_that(".reorder", { s <- createMassSpectrum(mass=1:5, intensity=1:5) ## do nothing expect_equal(intensity(MALDIquant:::.reorder(s)), 1:5) ## reorder s@mass <- 5:1 expect_warning(MALDIquant:::.reorder(s), "Mass and intensity values are reordered.") expect_equal(intensity(MALDIquant:::.reorder(s, warn=FALSE)), 5:1) }) MALDIquant/tests/testthat/test_detectPeaks-methods.R0000644000176200001440000000141212624130232022223 0ustar liggesuserscontext("detectPeaks") s <- createMassSpectrum(mass=1:5, intensity=c(1, 2, 1, 2, 1)) p <- createMassPeaks(c(2, 4), c(2, 2), c(Inf, Inf)) test_that("detectPeaks", { expect_equal(detectPeaks(s, halfWindowSize=1), p) }) test_that("detectPeaks shows warnings", { expect_warning(detectPeaks(createMassSpectrum(mass=double(), intensity=double()), "empty")) }) test_that("detectPeaks works with list of MassSpectrum objects", { expect_error(detectPeaks(list(x=1, y=1)), "no list of MALDIquant::MassSpectrum objects") expect_error(detectPeaks(list(s, createMassPeaks(1, 1)), "no list of MALDIquant::MassSpectrum objects")) expect_equal(detectPeaks(list(s, s), halfWindowSize=1), list(p, p)) }) MALDIquant/tests/testthat/test_referencePeaks-functions.R0000644000176200001440000000343412624130232023264 0ustar liggesuserscontext("referencePeaks") p <- c(createMassPeaks(mass=1:5, intensity=1:5), createMassPeaks(mass=1:4, intensity=1:4), createMassPeaks(mass=1:3, intensity=1:3), createMassPeaks(mass=1:2, intensity=1:2)) p2 <- c(createMassPeaks(mass=c(1, 1.001, 3), intensity=c(2, 1, 1)), createMassPeaks(mass=c(0.99, 3), intensity=rep(1, 2)), createMassPeaks(mass=c(1.02, 3), intensity=rep(1, 2))) test_that("referencePeaks throws errors", { expect_error(referencePeaks(list(a="a", b="b"), minFrequency=0.5), "no list of MALDIquant::MassPeaks objects") expect_error(referencePeaks(p[[1]], minFrequency=0.5), "no list of MALDIquant::MassPeaks objects") }) test_that("referencePeaks shows warnings", { expect_warning(referencePeaks(p, minFrequency=-1), " < 0 does not make sense! Using 0 instead") expect_warning(referencePeaks(p, minFrequency=10), "Empty peak whitelist for level") }) test_that("referencePeaks works with different frequencies", { expect_equal(referencePeaks(p, minFrequency=1), createMassPeaks(mass=1:2, intensity=rep(1, 2))) expect_equal(referencePeaks(p, minFrequency=0.5), createMassPeaks(mass=1:4, intensity=c(1, 1, 3/4, 0.5))) }) test_that("referencePeaks works with different methods", { expect_equal(referencePeaks(p2, minFrequency=1, tolerance=0.05), createMassPeaks(mass=3, intensity=1)) expect_equal(referencePeaks(p2, method="strict", minFrequency=1, tolerance=0.05), createMassPeaks(mass=3, intensity=1)) expect_equal(referencePeaks(p2, method="relaxed", minFrequency=1, tolerance=0.05), createMassPeaks(mass=c(1+1/300, 3), intensity=rep(1, 2))) }) MALDIquant/tests/testthat/test_grouper-functions.R0000644000176200001440000000457312624130232022032 0ustar liggesuserscontext("grouper") test_that("grouperStrict", { expect_true(is.na(MALDIquant:::.grouperStrict(mass=c(1, 2), intensities=c(1, 2), samples=c(1, 1), tolerance=0.01))) expect_true(is.na(MALDIquant:::.grouperStrict(mass=c(1, 2, 2.1, 2.01), intensities=rep(1, 4), samples=1:4, tolerance=0.01))) expect_true(MALDIquant:::.grouperStrict(mass=c(2, 2.02, 2.01), intensities=rep(1, 3), samples=1:4, tolerance=0.01) == 2.01) }) test_that("grouperRelaxed", { expect_true(is.na(MALDIquant:::.grouperRelaxed(mass=c(1, 2, 2.1, 2.01), intensities=rep(1, 4), samples=1:4, tolerance=0.01))) expect_equal(MALDIquant:::.grouperRelaxed(mass=c(2.01, 2.03, 2.04, 2.01), intensities=c(2, 1, 1, 1), samples=c(1, 1, 2, 3), tolerance=0.1), c(2.02, 2.03, 2.02, 2.02)) expect_equal(MALDIquant:::.grouperRelaxed(mass=c(1.009, 1.01, 1, 1.03), intensities=c(2, 1, 1, 1), samples=c(1, 1, 2, 3), tolerance=0.1), c(1.013, 1.01, 1.013, 1.013)) }) test_that("grouperRelaxedHighestAtReference", { expect_identical(MALDIquant:::.grouperRelaxedHighestAtReference( mass=1:5, intensities=rep(1, 5), samples=2:6, tolerance=0.01), 0L) expect_true(is.na(MALDIquant:::.grouperRelaxedHighestAtReference( mass=1:5, intensities=rep(1, 5), samples=c(1, 1:4), tolerance=0.01))) expect_equal(MALDIquant:::.grouperRelaxedHighestAtReference( mass=c(2.01, 2.03, 2.04, 2.01), intensities=c(1, 2, 1, 1), samples=c(1, 2, 2, 3), tolerance=0.1), c(2.01, 2.01, 0, 2.01)) }) MALDIquant/tests/testthat/test_determineWarpingFunctions-functions.R0000644000176200001440000000547513376771454025574 0ustar liggesuserscontext("determineWarpingFunctions") r <- createMassPeaks(mass=1:10, intensity=1:10) p <- createMassPeaks(mass=(1:10)+0.01, intensity=1:10) test_that("determineWarpingFunctions throws errors", { expect_error(determineWarpingFunctions(1:10), "no list of MALDIquant::MassPeaks objects") expect_error(determineWarpingFunctions(p, reference=createMassPeaks(double(), double())), "Reference MassPeaks object contains no peaks") expect_error(determineWarpingFunctions(createMassPeaks(mass=20, intensity=20), reference=r), "Could not match any peak in spectrum 1 to a reference peak") }) test_that("determineWarpingFunctions throws warnings", { expect_warning(determineWarpingFunctions(p, reference=r[6:10]), "Reference MassPeaks object contains very few peaks") expect_error(tryCatch(determineWarpingFunctions(list(p, p), plot=TRUE), warning=function(w)stop(conditionMessage(w))), paste0(".*plot.* is .*TRUE.* but no non-interactive device ", "is available. Using pdf.* to create a default one.")) expect_error(tryCatch(determineWarpingFunctions(list(p, p), plot=TRUE, plotInteractive=TRUE), warning=function(w)stop(conditionMessage(w))), paste0(".*plot.* is .*TRUE.* but no interactive device is ", "available. Using dev.new.* to create a default one.")) expect_warning(determineWarpingFunctions(list(p, createMassPeaks(11, 11)), reference=r, allowNoMatches=TRUE), "Could not match any peak in spectrum 2 to a reference peak") }) test_that("determineWarpingFunctions works with single MassPeaks object", { w <- determineWarpingFunctions(p, reference=r, method="linear") expect_equal(attr(w, "nmatch"), 6) wp <- warpMassPeaks(list(p), w)[[1]] expect_equal(r, wp) }) test_that("determineWarpingFunctions works with list of MassPeaks objects", { w <- determineWarpingFunctions(list(a=p, b=p), reference=r, method="linear") expect_equal(attr(w, "nmatch"), c(a=6, b=6)) wp <- warpMassPeaks(list(p, p), w) expect_equal(list(r, r), wp) }) test_that("determineWarpingFunctions supports allowNoMatches argument", { suppressWarnings( w <- determineWarpingFunctions( list(p, createMassPeaks(11, 11), p), reference=r, allowNoMatches=TRUE) ) expect_equal(sapply(w, is.function), c(TRUE, FALSE, TRUE)) expect_equal(is.na(w), c(FALSE, TRUE, FALSE)) expect_equal(attr(w, "nmatch"), c(6, 0, 6)) wp <- warpMassPeaks(list(p, createMassPeaks(11, 11), p), w, emptyNoMatches=TRUE) expect_equal(list(r, createMassPeaks(11, 0), r), wp) }) MALDIquant/tests/testthat/test_isMassObject-functions.R0000644000176200001440000000127512624130232022731 0ustar liggesuserscontext("isMassObject") s <- createMassSpectrum(mass=1:10, intensity=1:10) p <- createMassPeaks(mass=1:10, intensity=1:10) test_that(".isMassObject", { expect_false(MALDIquant:::.isMassObject(double())) expect_false(MALDIquant:::.isMassObject(list())) expect_true(MALDIquant:::.isMassObject(s)) expect_true(MALDIquant:::.isMassObject(p)) }) test_that("isMassSpectrum", { expect_false(isMassSpectrum(double())) expect_false(isMassSpectrum(list())) expect_false(isMassSpectrum(p)) expect_true(isMassSpectrum(s)) }) test_that("isMassPeaks", { expect_false(isMassPeaks(double())) expect_false(isMassPeaks(list())) expect_false(isMassPeaks(s)) expect_true(isMassPeaks(p)) }) MALDIquant/tests/testthat/test_estimateNoise-methods.R0000644000176200001440000000306512667542035022625 0ustar liggesuserscontext("estimateNoise-methods") s <- createMassSpectrum(mass=1:20, intensity=rep(10:1, 2)) test_that("estimateNoise throws errors", { expect_error(estimateNoise(s, method="foobar"), ".*arg.* should be one of .*MAD.*, .*SuperSmoother.*") }) test_that("estimateNoise shows warnings", { expect_warning(estimateNoise( createMassSpectrum(mass=double(), intensity=double())), "empty") expect_identical(suppressWarnings(estimateNoise( createMassSpectrum(mass=double(), intensity=double()))), 0L) }) test_that(".estimateNoiseMad", { n <- rep(stats::mad(intensity(s)), length(s)) m <- cbind(mass=mass(s), intensity=n) expect_identical(MALDIquant:::.estimateNoiseMad(1:20, intensity(s)), n) expect_identical(MALDIquant:::.estimateNoise(mass(s), intensity(s)), n) expect_identical(MALDIquant:::.estimateNoise(mass(s), intensity(s), method="MAD"), n) expect_identical(estimateNoise(s), m) expect_identical(estimateNoise(s, method="MAD"), m) }) test_that(".estimateNoiseSuperSmoother", { n <- stats::supsmu(x=1:20, y=intensity(s))$y m <- cbind(mass=mass(s), intensity=n) expect_identical(MALDIquant:::.estimateNoiseSuperSmoother(mass(s), intensity(s)), n) expect_identical(MALDIquant:::.estimateNoise(mass(s), intensity(s), method="SuperSmoother"), n) expect_identical(estimateNoise(s, method="SuperSmoother"), m) }) MALDIquant/tests/testthat/test_valid-functions.R0000644000176200001440000000201213113353061021431 0ustar liggesuserscontext("valid") test_that(".validAbstractMassObject", { s <- createMassSpectrum(mass=1:10, intensity=1:10) expect_true(MALDIquant:::.validAbstractMassObject(s)) s@intensity <- 1 expect_identical(MALDIquant:::.validAbstractMassObject(s), "Lengths of mass (10) and intensity (1) have to be equal.") s@mass <- -1 expect_warning(MALDIquant:::.validAbstractMassObject(s), "Negative mass values found.") s@mass <- 1 s@intensity <- -1 expect_warning(MALDIquant:::.validAbstractMassObject(s), "Negative intensity values found.") s@mass <- 2:1 s@intensity <- 1:2 expect_warning(MALDIquant:::.validAbstractMassObject(s), "Unsorted mass values found.") }) test_that(".validMassPeaks", { p <- createMassPeaks(mass=1:10, intensity=1:10, snr=1:10) expect_true(MALDIquant:::.validMassPeaks(p)) p@intensity <- 1 expect_identical(MALDIquant:::.validMassPeaks(p), "Lengths of intensity (1) and snr (10) have to be equal.") }) MALDIquant/tests/testthat/test_totalIonCurrent-methods.R0000644000176200001440000000054612624130232023132 0ustar liggesuserscontext("totalIonCurrent") s <- createMassSpectrum(mass=1:10, intensity=1:10) i <- createMassSpectrum(mass=1:2, intensity=rep.int(.Machine$integer.max, 2)) e <- createMassSpectrum(mass=1:10, intensity=rep(0, 10)) test_that("totalIonCurrent", { expect_equal(totalIonCurrent(s), 49.5) expect_equal(totalIonCurrent(i), as.double(.Machine$integer.max)) }) MALDIquant/tests/testthat/test_averageMassSpectra-functions.R0000644000176200001440000000426712624130232024127 0ustar liggesuserscontext("averageMassSpectra") s <- c(createMassSpectrum(mass=1:3, intensity=1:3, metaData=list(a=1, b=2)), createMassSpectrum(mass=1:3, intensity=4:6, metaData=list(a=1, b=3))) meanS <- createMassSpectrum(mass=1:3, intensity=(2:4)+0.5, metaData=list(a=1, b=2:3)) sumS <- createMassSpectrum(mass=1:3, intensity=c(5, 7, 9), metaData=list(a=1, b=2:3)) p <- c(createMassPeaks(mass=1:3, intensity=1:3, snr=1:3, metaData=list(a=1, b=2)), createMassPeaks(mass=1:3, intensity=4:6, snr=4:6, metaData=list(a=1, b=3))) test_that("averageMassSpectra", { expect_equal(unname(averageMassSpectra(list(s[[1]], s[[1]], s[[2]], s[[2]]), labels=c(1:2, 1:2))), list(meanS, meanS)) expect_equal(unname(averageMassSpectra(list(s[[1]], s[[1]], s[[2]], s[[2]]), labels=c(1:2, 1:2), method="median")), list(meanS, meanS)) expect_equal(unname(averageMassSpectra(list(s[[1]], s[[1]], s[[2]], s[[2]]), labels=c(1, 1, 2, 2), method="median")), s) expect_equal(unname(averageMassSpectra(list(s[[1]], s[[1]], s[[2]], s[[2]]), labels=c(1:2, 1:2), method="sum")), list(sumS, sumS)) }) test_that("averageMassSpectra throws errors", { expect_error(averageMassSpectra(1:3), "no list of MALDIquant::MassSpectrum objects") expect_error(averageMassSpectra(list()), "no list of MALDIquant::MassSpectrum objects") expect_error(averageMassSpectra(p), "no list of MALDIquant::MassSpectrum objects") }) test_that("averageMassSpectra works with empty spectra", { e <- createMassSpectrum(mass=double(), intensity=double(), metaData=list(a=1, b=2)) expect_equal(unname(averageMassSpectra(list(s[[1]], e))), s[[1]]) expect_equal(unname(averageMassSpectra(list(e, e))), e) }) test_that(".averageMassSpectra", { expect_equal(MALDIquant:::.averageMassSpectra(s), meanS) expect_equal(MALDIquant:::.averageMassSpectra(s, fun=colSums), sumS) }) MALDIquant/tests/testthat/test_isMassObjectList-functions.R0000644000176200001440000000230112624130232023554 0ustar liggesuserscontext("isMassObjectList") s <- createMassSpectrum(mass=1:10, intensity=1:10) p <- createMassPeaks(mass=1:10, intensity=1:10) test_that(".isMassObjectList", { expect_false(MALDIquant:::.isMassObjectList(double(2))) expect_false(MALDIquant:::.isMassObjectList(list())) expect_false(MALDIquant:::.isMassObjectList(s)) expect_false(MALDIquant:::.isMassObjectList(p)) expect_true(MALDIquant:::.isMassObjectList(list(s, s))) expect_true(MALDIquant:::.isMassObjectList(list(s, p))) expect_true(MALDIquant:::.isMassObjectList(list(p, p))) }) test_that("isMassSpectrumList", { expect_false(isMassSpectrumList(double(2))) expect_false(isMassSpectrumList(list())) expect_false(isMassSpectrumList(s)) expect_false(isMassSpectrumList(p)) expect_false(isMassSpectrumList(list(s, p))) expect_false(isMassSpectrumList(list(p, p))) expect_true(isMassSpectrumList(list(s, s))) }) test_that("isMassPeaksList", { expect_false(isMassPeaksList(double(2))) expect_false(isMassPeaksList(list())) expect_false(isMassPeaksList(s)) expect_false(isMassPeaksList(p)) expect_false(isMassPeaksList(list(s, s))) expect_false(isMassPeaksList(list(s, p))) expect_true(isMassPeaksList(list(p, p))) }) MALDIquant/tests/testthat/test_filterPeaks-functions.R0000644000176200001440000001164312624130232022614 0ustar liggesuserscontext("filterPeaks") p <- createMassPeaks(mass=1:5, intensity=1:5) l <- list(p, p[1:4], p[1:3], p[1:2]) test_that("filterPeaks throws errors", { expect_error(filterPeaks(p), "no list of MALDIquant::MassPeaks") expect_error(filterPeaks(list()), "no list of MALDIquant::MassPeaks") expect_error(filterPeaks(l, minFrequency=NA, minNumber=NA), " has to be a meaningful number") expect_error(filterPeaks(l=l, labels=as.factor("a"), minFrequency=1), "For each item in .*l.* there must be a label in .*labels.*") }) test_that("filterPeaks shows warnings", { expect_warning(filterPeaks(l, minFrequency=2), "Empty peak whitelist for level") expect_warning(filterPeaks(l, minFrequency=-1), " < 0 does not make sense! Using 0 instead") expect_warning(filterPeaks(l, minNumber=10), "Empty peak whitelist for level") expect_warning(filterPeaks(l, minNumber=-1), " < 0 does not make sense! Using 0 instead") expect_warning(filterPeaks(l, minFrequency=2/3, minNumber=2), " arguments are given. Choosing the higher one.") expect_warning(filterPeaks(l, minNumber=2, labels=c(1, 2, 2, 2)), "Empty peak whitelist for level") }) test_that("filterPeaks", { expect_identical(filterPeaks(l, minFrequency=1), list(p[1:2], p[1:2], p[1:2], p[1:2])) expect_identical(filterPeaks(l, minFrequency=0.5), list(p[1:4], p[1:4], p[1:3], p[1:2])) expect_identical(filterPeaks(l, minFrequency=0), l) expect_identical(filterPeaks(l, minFrequency=1, labels=factor(rep(letters[1:2], each=2), levels=letters[1:2])), list(p[1:4], p[1:4], p[1:2], p[1:2])) ## test unused levels expect_identical(filterPeaks(l, minFrequency=1, labels=factor(rep(letters[1:2], each=2), levels=letters[1:5])), list(p[1:4], p[1:4], p[1:2], p[1:2])) ## test numbers expect_identical(filterPeaks(l, minFrequency=1, labels=rep(1:2, each=2)), list(p[1:4], p[1:4], p[1:2], p[1:2])) ## test case for #22 (unexpected results for different number of technical ## replicates because using of floor(minFrequency)) expect_identical(filterPeaks(list(p, p[1:4], p[1:3], p, p[1:4], p[1:3], p[1:2]), minFrequency=2/3, labels=c(rep(1, 3), rep(2, 4))), list(p[1:4], p[1:4], p[1:3], p[1:3], p[1:3], p[1:3], p[1:2])) ## use absolute threshold expect_identical(filterPeaks(list(p, p[1:4], p[1:3], p, p[1:4], p[1:3], p[1:2]), minNumber=2, labels=c(rep(1, 3), rep(2, 4))), list(p[1:4], p[1:4], p[1:3], p[1:4], p[1:4], p[1:3], p[1:2])) ## test case for #26 (minNumber > n removes all peaks) ## since MALDIquant 1.8.16 min{Frequency,minNumber} could be vectors so this ## is not needed any more and we could use min{Frequency,Number} as feature to ## remove all peaks (or avoid the generation of a whitelist if ## mergeWhitelists=TRUE) expect_equal(suppressWarnings(filterPeaks(list(p, p[1:4], p), minNumber=2, labels=c(1, 2, 2))), list(createMassPeaks(double(), double()), p[1:4], p[1:4])) }) test_that("filterPeaks mergeWhitelists argument works", { p2 <- list( createMassPeaks(1:5, 1:5), createMassPeaks(1:4, 1:4), createMassPeaks(4:9, 4:9), createMassPeaks(4:8, 4:8), createMassPeaks(1:5, 1:5), createMassPeaks(2:6, 2:6)) expect_identical(filterPeaks(p2, minFrequency=1, labels=rep(1:3, each=2), mergeWhitelists=FALSE), c(p2[[2]], p2[[2]], p2[[4]], p2[[4]], createMassPeaks(2:5, 2:5), createMassPeaks(2:5, 2:5))) expect_identical(filterPeaks(p2, minFrequency=1, labels=rep(1:3, each=2), mergeWhitelists=TRUE), c(p2[1:2], p2[[4]], p2[[4]], p2[5:6])) expect_identical(suppressWarnings(filterPeaks(p2, minFrequency=c(1, 1, 2), labels=rep(1:3, each=2), mergeWhitelists=TRUE)), c(p2[1:2], p2[[4]], p2[[4]], p2[5:6])) ## test with different numbers and frequencies expect_identical(suppressWarnings(filterPeaks(p2, minFrequency=c(1, NA, NA), minNumber=c(NA, 3, 1), labels=rep(1:3, each=2), mergeWhitelists=TRUE)), c(p2[1:2], createMassPeaks(4:6, 4:6), createMassPeaks(4:6, 4:6), p2[5:6])) }) MALDIquant/tests/testthat/test_plotMsiSlice-functions.R0000644000176200001440000000230612671065367022770 0ustar liggesuserscontext(".plotMsiSlice") test_that(".array2matrix", { x1 <- array(1:12, dim=c(x=2, y=3, z=2)) x2 <- array(1:12, dim=c(1, 12, 1)) r1 <- matrix(1:6, nrow=2, ncol=3) r2 <- matrix(7:12, nrow=2, ncol=3) r3 <- matrix(1:12, nrow=1, ncol=12) expect_identical(MALDIquant:::.array2matrix(x1), r1) expect_identical(MALDIquant:::.array2matrix(x1, z=2), r2) expect_identical(MALDIquant:::.array2matrix(x2), r3) }) test_that(".colorMatrix", { x <- matrix(c(NA, 1:8, NA), nrow=2) colRamp1 <- colorRamp(c("black", "green")) colRamp2 <- function(x)cbind(0, 0, 30*x) r1 <- matrix(c(NA, rgb(colRamp1(1:8/8), maxColorValue=255), NA), nrow=2) r2 <- matrix(c(NA, rgb(colRamp2(1:8), maxColorValue=255), NA), nrow=2) expect_equal(MALDIquant:::.colorMatrix(x, colRamp1), r1) expect_equal(MALDIquant:::.colorMatrix(x, colRamp2, scale=FALSE), r2) }) test_that(".combineColorMatrices", { x <- array(c(1:8, 8:1), dim=c(2, 4, 2)) col <- array(rep(1:2, each=8), dim=c(2, 4, 2)) r <- matrix(rep(2:1, each=4), nrow=2, ncol=4) expect_equal(MALDIquant:::.combineColorMatrices(x, col), r) }) test_that(".rgb", { r <- cbind(1:255, 1:255, 1:255) expect_equal(MALDIquant:::.rgb(r), rgb(r, maxColorValue=255)) }) MALDIquant/tests/testthat/test_intensity-methods.R0000644000176200001440000000076012624130232022022 0ustar liggesuserscontext("intensity") s <- createMassSpectrum(mass=1:10, intensity=11:20) test_that("intensity", { expect_identical(intensity(s), 11:20) expect_identical(intensity(s)[1:3], 11:13) }) test_that("intensity<- throws errors", { expect_error(intensity(s) <- LETTERS[1:10]) expect_error(intensity(s) <- 1, "have to be equal") }) test_that("intensity<-", { intensity(s) <- 1:10 expect_equal(intensity(s), 1:10) intensity(s)[5:10] <- 15:20 expect_equal(intensity(s), c(1:4, 15:20)) }) MALDIquant/tests/testthat/test_constructor-functions.R0000644000176200001440000000421113113353061022722 0ustar liggesuserscontext("constructors") meta <- list(name="test", file="test_constructor-functions.R") test_that("a MassSpectrum object is constructed", { expect_error(createMassSpectrum(mass=1:5, intensity=1:10), "have to be equal") expect_error(createMassSpectrum(mass=1:10, intensity=1:5), "have to be equal") expect_error(createMassSpectrum(mass=1:10, intensity=1:10, metaData=1:10), "invalid object for slot \"metaData\"") expect_error(createMassSpectrum(mass=LETTERS[1:5], intensity=1:5), "invalid object for slot \"mass\"") expect_error(createMassSpectrum(mass=1:5, intensity=LETTERS[1:5]), "invalid object for slot \"intensity\"") expect_warning(createMassSpectrum(mass=-(1:5), intensity=1:5), "Negative mass values found.") expect_warning(createMassSpectrum(mass=1:5, intensity=-(1:5)), "Negative intensity values found.") expect_equal(createMassSpectrum(mass=1:10, intensity=1:10), new("MassSpectrum", mass=1:10, intensity=1:10, metaData=list())) expect_equal(createMassSpectrum(1:10, 1:10, meta), new("MassSpectrum", mass=1:10, intensity=1:10, metaData=meta)) expect_equal(suppressWarnings(createMassSpectrum(10:1, 10:1, meta)), new("MassSpectrum", mass=1:10, intensity=1:10, metaData=meta)) }) test_that("a MassPeaks object is constructed", { expect_error(createMassPeaks(mass=1:5, intensity=1:10), "have to be equal") expect_error(createMassPeaks(mass=1:10, intensity=1:5), "have to be equal") expect_error(createMassPeaks(mass=1:5, intensity=1:5, snr=1:2), "have to be equal") expect_error(createMassPeaks(mass=1:10, intensity=1:10, metaData=1:10), "invalid object for slot \"metaData\"") expect_equal(createMassPeaks(mass=1:10, intensity=1:10), new("MassPeaks", mass=1:10, intensity=1:10, snr=as.double(rep(NA, 10)), metaData=list())) expect_equal(createMassPeaks(1:10, 1:10, snr=1:10, meta), new("MassPeaks", mass=1:10, intensity=1:10, snr=1:10, metaData=meta)) }) MALDIquant/tests/testthat/test_findLocalMaximaLogical-methods.R0000644000176200001440000000333712624130232024322 0ustar liggesuserscontext(".findLocalMaximaLogical") s <- createMassSpectrum(mass=1:5, intensity=c(1, 2, 1, 2, 1)) test_that(".findLocalMaximaLogical throws errors", { expect_error(MALDIquant:::.findLocalMaximaLogical(s, halfWindowSize=0), "too small") expect_error(MALDIquant:::.findLocalMaximaLogical(s, halfWindowSize=3), "too large") }) test_that(".findLocalMaxima(Logical) shows warnings", { expect_warning(MALDIquant:::.findLocalMaximaLogical( createMassSpectrum(mass=double(), intensity=double()), "empty")) expect_warning(MALDIquant:::.findLocalMaxima( createMassSpectrum(mass=double(), intensity=double()), "empty")) }) test_that(".findLocalMaximaLogical works with different window sizes", { expect_identical(suppressWarnings(MALDIquant:::.findLocalMaximaLogical( createMassSpectrum(mass=double(), intensity=double()), halfWindowSize=1)), logical()) expect_identical(MALDIquant:::.findLocalMaximaLogical(s, halfWindowSize=1), c(FALSE, TRUE, FALSE, TRUE, FALSE)) expect_identical(MALDIquant:::.findLocalMaximaLogical(s, halfWindowSize=2), c(FALSE, TRUE, FALSE, FALSE, FALSE)) }) test_that(".findLocalMaxima returns matrix", { m <- matrix(ncol=2, dimnames=list(list(), list("mass", "intensity"))) expect_equal(suppressWarnings(MALDIquant:::.findLocalMaxima( createMassSpectrum(mass=double(), intensity=double()), halfWindowSize=1)), m) m <- matrix(c(2, 2, 4, 2), ncol=2, byrow=TRUE, dimnames=list(list(), list("mass", "intensity"))) expect_identical(MALDIquant:::.findLocalMaxima(s, halfWindowSize=1), m) }) MALDIquant/tests/testthat/test_colMedians-functions.R0000644000176200001440000000275312711716773022444 0ustar liggesuserscontext(".colMedians") test_that(".colMedians throws errors", { expect_error(MALDIquant:::.colMedians(list())) expect_error(MALDIquant:::.colMedians(matrix(1:10), na.rm="foobar")) }) test_that(".colMedians", { colMedians <- function(x, na.rm=FALSE)apply(x, 2, median, na.rm=na.rm) set.seed(1234) ## even nrow m <- matrix(rnorm(1e5), ncol=1e2) expect_equal(MALDIquant:::.colMedians(m), colMedians(m)) ## odd nrow nr <- nrow(m) m <- m[1:(nr-1), ] expect_equal(MALDIquant:::.colMedians(m), colMedians(m)) ## NA na <- sample(1:length(m), size=1e2) m[na] <- NA expect_equal(MALDIquant:::.colMedians(m), colMedians(m)) expect_equal(MALDIquant:::.colMedians(m, TRUE), colMedians(m, TRUE)) }) test_that(".colMaxs", { colMaxs <- function(x)apply(x, 2, max) set.seed(1234) ## even nrow m <- matrix(rnorm(1e5), ncol=1e2) expect_equal(MALDIquant:::.colMaxs(m), colMaxs(m)) }) test_that(".colCors", { colCors <- function(x, y, use="everything") { z <- double(ncol(x)) for (i in 1:ncol(x)) { z[i] <- stats::cor(x[,i], y[,i], use=use) } z } set.seed(1234) m <- matrix(rnorm(1e5), ncol=1e2) n <- matrix(rnorm(1e5), ncol=1e2) mna <- m nna <- n mna[sample(1e5, 1e3)] <- NA nna[sample(1e5, 1e3)] <- NA expect_equal(MALDIquant:::.colCors(m, n), colCors(m, n)) expect_equal(MALDIquant:::.colCors(mna, nna), colCors(mna, nna)) expect_equal(MALDIquant:::.colCors(mna, nna, na.rm=TRUE), colCors(mna, nna, use="na.or.complete")) }) MALDIquant/tests/testthat/test_metaData-methods.R0000644000176200001440000000046712624130232021520 0ustar liggesuserscontext("metaData") s <- createMassSpectrum(mass=1:10, intensity=11:20, metaData=list(name="test spectrum")) test_that("metaData", { expect_identical(metaData(s)$name, "test spectrum") }) test_that("metaData<-", { l <- list(a=1:3, b=letters[1:3]) metaData(s) <- l expect_identical(metaData(s), l) }) MALDIquant/tests/testthat/test_calculateLabelPositions-functions.R0000644000176200001440000000575412672203466025173 0ustar liggesuserscontext("calculateLabelPositions") test_that(".textLabelRects", { pdf(NULL) on.exit(dev.off()) plot.new() words <- c("foo", "foobar") cex <- 1 r <- matrix(c(1:4, strwidth(words, cex=cex), strheight(words, cex=cex)), nrow = 2, dimnames = list(c(), c("x", "y", "w", "h"))) r <- cbind(x0=r[, "x"] - r[, "w"]/2, y0=r[, "y"], x1=r[, "x"] + r[, "w"]/2, y1=r[, "y"] + r[, "h"], r) s <- MALDIquant:::.scaleFactor() r90 <- r r90[, "x1"] <- r90[, "x"] r90[, "x0"] <- r90[, "x"] - r[, "h"] / s r90[, "y0"] <- r90[, "y"] - r[, "w"]/2 * s r90[, "y1"] <- r90[, "y"] + r[, "w"]/2 * s r90[, c("w", "h")] <- r90[, c("x1", "y1")] - r90[, c("x0", "y0")] expect_equal(MALDIquant:::.textLabelRects(1:2, 3:4, c("foo", "foobar"), offset = c(0, 0), cex=1), r) expect_equal(MALDIquant:::.textLabelRects(1:2, 3:4, c("foo", "foobar"), offset = c(0, 0), cex=1, srt=90), r90) }) test_that(".overlaps", { target <- c(2, 2, 4, 3) # x1,y1 == bottom left dest <- list(a=target, # identical b=c(1, 1, 3, 2.5), # overlap c=c(3, 1, 6, 4), # overlap d=c(2, 4, 3, 5), # no overlap e=c(6, 0, 8, 1)) # no overlap dest2 <- list(rbind(dest$a, dest$b), # overlap rbind(dest$b, dest$e), # overlap rbind(dest$d, dest$e)) # no overlap r <- c(TRUE, TRUE, TRUE, FALSE, FALSE) r2 <- c(TRUE, TRUE, FALSE) for (i in seq(along=dest)) { expect_identical(MALDIquant:::.overlaps(target, dest[[i]]), r[i]) } for (i in seq(along=dest2)) { expect_identical(MALDIquant:::.overlaps(target, dest2[[i]]), r2[i]) } }) test_that(".scaleFactor", { pdf(NULL) on.exit(dev.off()) plot.new() expect_equal(MALDIquant:::.scaleFactor(), 1.116279, tolerance = 1e-5) }) test_that(".strWH", { pdf(NULL) on.exit(dev.off()) plot.new() expect_equal(as.vector(MALDIquant:::.strWH("foo", srt=0, cex=1, scale=0.5)), c(strwidth("foo", cex=1), strheight("foo", cex=1))) expect_equal(as.vector(MALDIquant:::.strWH("foo", srt=90, cex=1, scale=0.5)), c(strwidth("foo", cex=1)/2, strheight("foo", cex=1)*2)) }) test_that(".rotate", { .m <- function(x)matrix(x, ncol=2, byrow=TRUE) p <- .m(c(1, 2, 4, 4, 3, 2)) center <- p - 1 srt <- c(0, 90, 180, 270, 360) r <- list("0" = p, "90" = .m(c(-1, 2, 2, 4, 1, 2)), "180" = .m(c(-1, 0, 2, 2, 1, 0)), "270" = .m(c(1, 0, 4, 2, 3, 0)), "360" = p) for (i in seq(along=srt)) { expect_equal(MALDIquant:::.rotate(p, center, srt=srt[i]), r[[i]]) } }) MALDIquant/tests/testthat/test_match.closest-functions.R0000644000176200001440000000261613027254751023125 0ustar liggesuserscontext("match.closest") test_that("match.closest", { expect_error(match.closest(1, c(0, -1, 3)), "sorted non-decreasingly") expect_equal(match.closest(1.001, 1:10), 1) expect_equal(match.closest(1.4, 1:10), 1) expect_equal(match.closest(9.8, 1:10), 10) expect_equal(match.closest(11.1, 1:10), 10) expect_equal(match.closest(4:5, 4.8, tolerance=1), c(1, 1)) expect_equal(match.closest(c(0.5, 1.5, exp(1), pi), 1:10), c(1, 2, 3, 3)) }) test_that("match.closest, length(table) == 1", { expect_equal(match.closest(1:3, 0, nomatch=0, tolerance=0), c(0, 0, 0)) expect_equal(match.closest(1:3, 1, nomatch=0, tolerance=0), c(1, 0, 0)) expect_equal(match.closest(1:3, 2, nomatch=0, tolerance=0), c(0, 1, 0)) expect_equal(match.closest(1:3, 3, nomatch=0, tolerance=0), c(0, 0, 1)) expect_equal(match.closest(1:3, 4, nomatch=0, tolerance=0), c(0, 0, 0)) }) test_that("match.closest, tolerance", { expect_error(match.closest(1, 1, tolerance=1, nomatch=1:2), "Length of .*nomatch.* has to be one") expect_warning(match.closest(1, 1, tolerance=-1), ".*tolerance.* < 0 is meaningless") expect_equal(match.closest(1.001, 1:10, tolerance=0), NA_integer_) expect_equal(suppressWarnings(match.closest(c(1,2,3.1), 1:3, tolerance=-1)), c(1, 2, NA_integer_)) expect_equal(match.closest(1.001, 1:10, tolerance=0, nomatch=-1), -1) expect_equal(match.closest(1.4, 1:10, tolerance=0.4), 1) }) MALDIquant/tests/testthat/test_approxfun-methods.R0000644000176200001440000000063412624130232022016 0ustar liggesuserscontext("approxfun") test_that("approxfun", { s <- createMassSpectrum(mass=1:10, intensity=11:20) e <- createMassSpectrum(mass=double(), intensity=double()) p <- createMassPeaks(mass=1:10, intensity=11:20) expect_error(MALDIquant:::approxfun(p)) expect_equal(approxfun(s)(seq(0, 11, by=0.5)), c(NA, NA, seq(11, 20, by=0.5), NA, NA)) expect_equal(approxfun(e)(1:20), rep(NA, 20)) }) MALDIquant/tests/testthat/test_binPeaks-functions.R0000644000176200001440000000434013442265166022111 0ustar liggesuserscontext("binPeaks") p <- list(createMassPeaks(mass=seq(100, 500, 100), intensity=1:5), createMassPeaks(mass=c(seq(100.2, 300.2, 100), 395), intensity=1:4)) p2 <- c(createMassPeaks(mass=c(1.009, 1.01, 3), intensity=c(2, 1, 1), snr=1:3), createMassPeaks(mass=c(1, 3), intensity=1:2, snr=1:2), createMassPeaks(mass=c(1.03, 3), intensity=1:2, snr=1:2)) test_that("binPeaks throws errors", { expect_error(binPeaks(list()), "no list of MALDIquant::MassPeaks") expect_error(binPeaks(p, method="foobar"), ".*arg.* should be one of .*strict.*, .*relaxed.*") }) test_that("binPeaks bins peaks strict", { b <- binPeaks(p, tolerance=0.002) expect_true(all(b[[1]]@mass[1:3]==b[[2]]@mass[1:3])) expect_false(all(b[[1]]@mass[4]==b[[2]]@mass[4])) expect_true(length(b[[1]])==5) expect_true(length(b[[2]])==4) expect_false(all(p[[1]]@mass==b[[1]]@mass)) expect_false(all(p[[2]]@mass==b[[2]]@mass)) b <- binPeaks(p, tolerance=0.1) expect_true(all(b[[1]]@mass[1:4]==b[[2]]@mass[1:4])) expect_true(length(b[[1]])==5) expect_true(length(b[[2]])==4) expect_false(all(p[[1]]@mass==b[[1]]@mass)) expect_false(all(p[[2]]@mass==b[[2]]@mass)) }) test_that("binPeaks bins peaks releaxed", { b <- binPeaks(p2, method="relaxed", tolerance=0.05) expect_true(all(b[[1]]@mass==c(1.01, 1.013, 3))) ip <- sort(p2[[1]]@mass, index.return=TRUE) ib <- sort(b[[1]]@mass, index.return=TRUE) expect_equal(ip$ix, ib$ix) expect_false(all(p2[[1]]@intensity == b[[1]]@intensity)) expect_false(all(p2[[1]]@snr== b[[1]]@snr)) expect_true(all(b[[1]]@intensity == c(1, 2, 1))) expect_true(all(b[[2]]@intensity == 1:2)) expect_true(all(b[[3]]@intensity == 1:2)) expect_true(all(b[[1]]@snr == c(2, 1, 3))) expect_true(all(b[[2]]@snr == 1:2)) expect_true(all(b[[3]]@snr == 1:2)) }) test_that("binPeaks don't introduce new peaks; issue 61", { p1 <- createMassPeaks(1:5, 1:5, metaData=list(name="foo")) p0 <- createMassPeaks(numeric(), numeric(), metaData=list(name="bar")) expect_equal(binPeaks(list(p1, p0)), list(p1, p0)) expect_equal(binPeaks(list(p0, p1)), list(p0, p1)) expect_equal(binPeaks(list(p0, p0, p1)), list(p0, p0, p1)) expect_equal(binPeaks(list(p0, p1, p1)), list(p0, p1, p1)) }) MALDIquant/tests/testthat/test_as.matrix-functions.R0000644000176200001440000000270313076646244022267 0ustar liggesuserscontext(".as.matrix") p <- list(createMassPeaks(mass=1:4, intensity=11:14), createMassPeaks(mass=2:5, intensity=22:25)) s <- list(createMassSpectrum(mass=1:5, intensity=11:15), createMassSpectrum(mass=1:5, intensity=21:25)) mp <- matrix(c(11:14, NA_real_, NA_real_, 22:25), byrow=TRUE, ncol=5, nrow=2, dimnames=list(NULL, 1:5)) ms <- matrix(as.double(c(11:15, 21:25)), byrow=TRUE, ncol=5, nrow=2, dimnames=list(NULL, 1:5)) mb <- matrix(c(rep(1L, 4), 0L, 0L, rep(1L, 4)), byrow=TRUE, ncol=5, nrow=2, dimnames=list(NULL, 1:5)) attr(mp, "mass") <- attr(ms, "mass") <- attr(mb, "mass") <- 1:5 test_that(".as.matrix.MassObjectsList throws errors", { expect_error(MALDIquant:::.as.matrix.MassObjectList(p[[1]]), "no list of MALDIquant::AbstractMassObject objects") expect_error(MALDIquant:::.as.matrix.MassObjectList(list()), "no list of MALDIquant::AbstractMassObject objects") expect_error(MALDIquant:::.as.matrix.MassObjectList(list(p, mp)), "no list of MALDIquant::AbstractMassObject objects") }) test_that(".as.binary.matrix", { expect_error(MALDIquant:::.as.binary.matrix(p[[1]])) }) test_that(".as.matrix.MassObjectsList", { expect_identical(MALDIquant:::.as.matrix.MassObjectList(p), mp) expect_identical(MALDIquant:::.as.matrix.MassObjectList(s), ms) }) test_that(".as.binary.matrix", { expect_identical(MALDIquant:::.as.binary.matrix(mp), mb) }) MALDIquant/tests/testthat/test_mass-methods.R0000644000176200001440000000066312624130232020741 0ustar liggesuserscontext("mass") s <- createMassSpectrum(mass=1:10, intensity=11:20) test_that("mass", { expect_identical(mass(s), 1:10) expect_identical(mass(s)[1:3], 1:3) }) test_that("mass<- throws errors", { expect_error(mass(s) <- LETTERS[1:10]) expect_error(mass(s) <- 1, "have to be equal") }) test_that("mass<-", { mass(s) <- 11:20 expect_equal(mass(s), 11:20) mass(s)[5:10] <- 5:10 expect_equal(mass(s), c(11:14, 5:10)) }) MALDIquant/tests/testthat/test_smoothingFilters-functions.R0000644000176200001440000000612613202125244023703 0ustar liggesuserscontext("smoothingFilters") test_that(".movingAverage", { values <- c(rep(3, 3), 4:7, rep(8, 3)) expect_equal(MALDIquant:::.movingAverage(1:10, halfWindowSize=2), values) expect_equal(MALDIquant:::.movingAverage(1:10, halfWindowSize=2, weighted=TRUE), values) values <- c(rep(4, 4), 5:6, rep(7, 4)) expect_equal(MALDIquant:::.movingAverage(1:10, 3), values) expect_equal(MALDIquant:::.movingAverage(1:10, 3, weighted=TRUE), values) values <- c(rep(1, 4), 6, 20, 6, rep(1, 4)) result <- c(rep(c(2, 5.8, 6.8, 5.8, 2), c(3, 1, 3, 1, 3))) resultWeighted <- c(rep(1.5, 3), 3.9, 7.3, 10.6, 7.3, 3.9, rep(1.5, 3)) expect_equal(MALDIquant:::.movingAverage(values, halfWindowSize=2, weighted=FALSE), result) expect_equal(MALDIquant:::.movingAverage(values, halfWindowSize=2, weighted=TRUE), resultWeighted) }) test_that(".movingAverage throws errors", { expect_error(MALDIquant:::.movingAverage(1:10, halfWindowSize=0), "too small") expect_error(MALDIquant:::.movingAverage(1:10, halfWindowSize=100), "too large") }) test_that(".savitzkyGolayCoefficients", { values <- list(rep(1, 5)/5, c(-3, 12, 17, 12, -3)/35, c(-2, 3, 6, 7, 6, 3, -2)/21, c(-21, 14, 39, 54, 59, 54, 39, 14, -21)/231, c(5, -30, 75, 131, 75, -30, 5)/231, c(15, -55, 30, 135, 179, 135, 30, -55, 15)/429) hws <- c(2, 2, 3, 4, 3, 4) order <- c(0, 2, 3, 3:5) for (i in seq(along=values)) { expect_equal(.savitzkyGolayCoefficients(m=hws[i], k=order[i])[hws[i]+1, ], values[[i]]) } }) test_that(".savitzkyGolay", { expect_equal(MALDIquant:::.savitzkyGolay(1:10, halfWindowSize=2, polynomialOrder=0), MALDIquant:::.movingAverage(1:10, halfWindowSize=2)) values <- c(8L, 1L, 7L, 6L, 3L, 13L, 5L, 2L, 19L, 11L, 15L, 18L, 9L, 10L, 20L, 12L, 17L, 14L, 16L, 4L) result <- c(7.64285714285716, 2.42857142857143, 4.85714285714286, 5.14285714285714, 6.94285714285714, 8.37142857142857, 5.68571428571428, 7.14285714285714, 11.9714285714286, 15.2857142857143, 14.8285714285714, 15.1714285714286, 10.9714285714286, 12.2285714285714, 15.0285714285714, 16.4571428571429, 14.0857142857143, 16.7428571428571, 14.1714285714286, 4.45714285714283) expect_equal(MALDIquant:::.savitzkyGolay(values, halfWindowSize=2, polynomialOrder=3), result) }) test_that(".savitzkyGolay throws errors", { expect_error(MALDIquant:::.savitzkyGolay(1:10, halfWindowSize=0, polynomialOrder=3), "too small") expect_error(MALDIquant:::.savitzkyGolay(1:10, halfWindowSize=100, polynomialOrder=3), "too large") expect_error(MALDIquant:::.savitzkyGolay(1:10, halfWindowSize=2, polynomialOrder=10), "The window size has to be larger than the polynomial order.") }) MALDIquant/tests/testthat/test_as-methods.R0000644000176200001440000000042312624130232020373 0ustar liggesuserscontext("as") test_that("as", { p <- createMassPeaks(mass=1:10, intensity=11:20, snr=rep(1, 10), metaData=list(file="foo")) s <- createMassSpectrum(mass=1:10, intensity=11:20, metaData=list(file="foo")) expect_equal(as(p, "MassSpectrum"), s) }) MALDIquant/tests/testthat/test_alignSpectra-functions.R0000644000176200001440000000075612624130232022762 0ustar liggesuserscontext("alignSpectra") test_that("alignSpectra throws errors", { expect_error(alignSpectra(list()), ".*spectra.* is no list of MALDIquant::MassSpectrum objects") }) test_that("alignSpectra", { data(fiedler2009subset) spectra <- fiedler2009subset[1:8] peaks <- detectPeaks(spectra, halfWindowSize=20, method="MAD", SNR=2) wf <- determineWarpingFunctions(peaks, tolerance=0.002, method="lowess") expect_equal(alignSpectra(spectra), warpMassSpectra(spectra, wf)) }) MALDIquant/tests/testthat/test_doByLabel-functions.R0000644000176200001440000000475712624130232022210 0ustar liggesuserscontext(".doByLabels") s <- createMassSpectrum(mass=1:5, intensity=1:5) test_that(".doByLabels throws errors", { expect_error(MALDIquant:::.doByLabels(l=list(x=1, y=1), labels=as.factor(c("a", "b")), FUN=sum), "no list of MALDIquant::AbstractMassObject objects") expect_error(MALDIquant:::.doByLabels(l=list(s, s), labels=as.factor("a"), FUN=sum), "For each item in .*l.* there must be a label in .*labels.*") expect_error(MALDIquant:::.doByLabels(l=list(s, s), labels=as.factor(c("a", "b")))) }) test_that(".doByLabels runs a function for group labels", { expect_identical(MALDIquant:::.doByLabels(l=list(s, s), FUN=function(x){ return(1) }), 1) expect_identical(unname(MALDIquant:::.doByLabels(l=list(s, s), labels=as.factor(c("a", "b")), FUN=function(x)1)), c(1, 1)) l <- list(s, s, s, s) l[[1]]@metaData$file <- 1 l[[2]]@metaData$file <- 2 l[[3]]@metaData$file <- 10 l[[4]]@metaData$file <- 11 ## preserve order m <- MALDIquant:::.doByLabels(l=l, ## error because of wrong alphabetical order ## always add levels #labels=as.factor(paste("s", c(1, 2, 10, 11))), labels=factor(paste("s", c(1, 2, 10, 11)), levels=paste("s", c(1, 2, 10, 11))), FUN=function(x)x) expect_equal(c(1:2, 10:11), unname(sapply(m, function(x)metaData(x)$file))) ## bug #19; order changes if length of output is smaller than input m <- MALDIquant:::.doByLabels(l=l, ## results in factor(c(2, 2, 1, 1), levels=2:1) labels=rep(2:1, each=2), FUN=function(x)x[[1]]) expect_equal(c(1, 10), unname(sapply(m, function(x)metaData(x)$file))) ## respect order of factor m <- MALDIquant:::.doByLabels(l=l, ## results in factor(c(2, 2, 1, 1), levels=1:2) labels=factor(rep(2:1, each=2)), FUN=function(x)x[[1]]) expect_equal(c(10, 1), unname(sapply(m, function(x)metaData(x)$file))) ## see https://github.com/sgibb/MALDIquant/issues/1 expect_equal(unname(MALDIquant:::.doByLabels(l, 1:4, function(x)x[[1]])), l) expect_equal(unname(MALDIquant:::.doByLabels(l, rep(1, 4), function(x)x)), l) }) MALDIquant/tests/testthat/test_unlist-functions.R0000644000176200001440000000035612624130232021660 0ustar liggesuserscontext(".unlist") test_that(".unlist doesn't work recursive", { expect_identical(MALDIquant:::.unlist(list(a=list(a=1:3, b=4:6), b=list(c=7:9))), list(1:3, 4:6, 7:9)) }) MALDIquant/tests/testthat/test_calibrateIntensity-methods.R0000644000176200001440000000525412624130232023634 0ustar liggesuserscontext("calibrateIntensity") s <- list(createMassSpectrum(mass=1:5, intensity=1:5), createMassSpectrum(mass=1:5, intensity=2:6), createMassSpectrum(mass=1:5, intensity=3:7)) test_that("calibrateIntensity,MassSpectrum throws errors", { expect_error(calibrateIntensity(s[[1]], method="foobar"), ".*arg.* should be one of .*TIC.*, .*PQN.*, .*median.*") expect_error(calibrateIntensity(s[[1]], method="PQN"), ".*PQN.* is not supported for a single MassSpectrum object") }) test_that("calibrateIntensity,list throws errors", { expect_error(calibrateIntensity(list(1:10), method="TIC"), "no list of MALDIquant::MassSpectrum objects") expect_error(calibrateIntensity(s, method="foobar"), ".*arg.* should be one of .*TIC.*, .*PQN.*, .*median.*") }) test_that("calibrateIntensity,MassSpectrum throws warnings", { # median == zero; see #51 m <- createMassSpectrum(mass=1:5, intensity=c(rep(0, 4), 5)) expect_warning(calibrateIntensity(m, method="median"), "Scaling factor is zero. No calibration applied.") }) test_that("calibrateIntensity works with TIC", { sTIC <- calibrateIntensity(s[[1]], method="TIC") expect_equal(totalIonCurrent(sTIC), 1) sTIC <- calibrateIntensity(s, method="TIC") expect_equal(unlist(lapply(sTIC, totalIonCurrent)), rep(1, 3)) sTIC <- calibrateIntensity(s, method="TIC", range=c(2, 4)) expect_equal(unlist(lapply(sTIC, totalIonCurrent)), rep(2, 3)) }) test_that("calibrateIntensity works with median", { sMed <- calibrateIntensity(s[[1]], method="median") expect_equal(intensity(sMed), intensity(s[[1]])/median(intensity(s[[1]]))) sMed <- calibrateIntensity(s, method="median") expect_equal(lapply(sMed, intensity), lapply(s, function(x)intensity(x)/median(intensity(x)))) sMed <- calibrateIntensity(s, method="median", range=c(2, 4)) expect_equal(unlist(lapply(sMed, intensity)), as.vector(mapply(function(sp, m)intensity(sp)/m, sp=s, m=3:5))) # median == zero; see #51 m <- createMassSpectrum(mass=1:5, intensity=c(rep(0, 4), 5)) expect_equal(suppressWarnings(calibrateIntensity(m, method="median")), m) }) test_that("calibrateIntensity works with PQN", { sPQN <- calibrateIntensity(s, method="PQN") expect_equal(sPQN, calibrateIntensity(s, method="TIC")) m <- list(s[[1]], createMassSpectrum(1:5, rep(2, 5)), createMassSpectrum(1:5, c(4:6, 2:1))) mPQN <- calibrateIntensity(m, method="PQN") expect_equal(unlist(lapply(mPQN, totalIonCurrent)), c(1, 1, 0.96875)) sPQN <- calibrateIntensity(s, method="PQN", range=c(2, 4)) expect_equal(sPQN, calibrateIntensity(s, method="TIC", range=c(2, 4))) }) MALDIquant/tests/testthat/test_isEmpty-methods.R0000644000176200001440000000165612624130232021433 0ustar liggesuserscontext("isEmpty") s <- c(createMassSpectrum(mass=1:10, intensity=11:20), createMassSpectrum(mass=1:2, intensity=rep.int(.Machine$integer.max, 2))) e <- c(createMassSpectrum(mass=double(), intensity=double(), metaData=list(file="fid")), createMassSpectrum(mass=1:10, intensity=rep(0, 10)), createMassSpectrum(mass=1:10, intensity=as.double(rep(NA, 10)))) test_that("isEmpty", { for (i in seq(along=e)) { expect_true(isEmpty(e[[i]])) } for (i in seq(along=s)) { expect_false(isEmpty(s[[i]])) } }) test_that("isEmptyWarning", { expect_warning(MALDIquant:::.isEmptyWarning(e[[1]]), "MassSpectrum object \\(file: fid\\) is empty") expect_warning(MALDIquant:::.isEmptyWarning(e[[2]]), "MassSpectrum object is empty") expect_true(suppressWarnings(MALDIquant:::.isEmptyWarning(e[[1]]))) expect_false(MALDIquant:::.isEmptyWarning(s[[1]])) }) MALDIquant/tests/testthat/test_labelPeaks-methods.R0000644000176200001440000000114112672203466022046 0ustar liggesuserscontext("labelPeaks") test_that("labelPeaks", { pdf(NULL) on.exit(dev.off()) plot.new() p <- createMassPeaks(1:5, 1:5) expect_error(labelPeaks(p, index=-1), "No valid .*index.* nor .*mass.* given.") expect_error(labelPeaks(p, index=1:10), "No valid .*index.* nor .*mass.* given.") expect_error(labelPeaks(p, index=1, labels=LETTERS[1:5]), "Lenghts of .*index.*/.*mass.* and .*labels.* have to be equal") expect_error(labelPeaks(p, srt=45, avoidOverlap=TRUE), ".*avoidOverlap = TRUE.* and .*srt != x \\* 90.* is not supported.") }) MALDIquant/tests/testthat/test_as.matrix-methods.R0000644000176200001440000000077212624130232021705 0ustar liggesuserscontext("as.matrix") m <- matrix(c(1:10, 11:20), ncol=2, dimnames=list(c(), c("mass", "intensity"))) s <- createMassSpectrum(mass=1:10, intensity=11:20) p <- createMassPeaks(mass=1:10, intensity=11:20) test_that("as.matrix works without indices", { expect_equal(as.matrix(s), m) expect_equal(as.matrix(p), m) }) test_that("as.matrix works with indices", { expect_equal(as.matrix(s)[3:4,], m[3:4,]) expect_equal(as.matrix(s)[7, 1], m[7, 1]) expect_equal(as.matrix(s)[mass(s) > 5, 2], 16:20) }) MALDIquant/tests/testthat/test_isRegular-methods.R0000644000176200001440000000100512624130232021722 0ustar liggesuserscontext("isRegular") test_that("isRegular", { expect_false(isRegular(createMassSpectrum(double(), double()))) expect_false(isRegular(createMassSpectrum(double(1), double(1)))) expect_false(isRegular(createMassSpectrum(double(2), double(2)))) expect_true(isRegular(createMassSpectrum(double(3), double(3)))) expect_true(isRegular(createMassSpectrum(1:10, 1:10))) expect_false(isRegular(createMassSpectrum((1:10)[-8], 1:9))) expect_true(isRegular(createMassSpectrum((1:10)[-8], 1:9), threshold=0.15)) }) MALDIquant/tests/testthat/test_plotMsiSlice-methods.R0000644000176200001440000000146212703476727022427 0ustar liggesuserscontext("plotMsiSlice") m <- c(createMassSpectrum(mass=1:10, intensity=1:10), createMassSpectrum(mass=2:11, intensity=2:11)) coordinates(m) <- cbind(1:2, c(1, 1)) test_that("plotMsiSlice throws errors", { expect_error(plotMsiSlice(m, center=c(3, 5), tolerance=0.5, colRamp=list(A=1, B=2, C=3)), paste0(".*number of centers.* has to be the same ", "as the length of the list .*colRamp.*")) }) test_that("plotMsiSlice throws warnings", { expect_error(tryCatch(plotMsiSlice(m, center=c(3, 5), tolerance=0.5), warning=function(w)stop(conditionMessage(w))), paste0(".*plotMsiSlice.* was called for multiple slices on an ", "interactive device. Only the first slice is plotted.")) }) MALDIquant/tests/testthat/test_estimateBaseline-methods.R0000644000176200001440000000714712624130232023260 0ustar liggesuserscontext("estimateBaseline") s <- createMassSpectrum(mass=1:20, intensity=rep(10:1, 2)) test_that("estimateBaseline throws errors", { expect_error(estimateBaseline(s, method="foobar"), ".*arg.* should be one of .*SNIP.*, .*ConvexHull.*, .*median.*") }) test_that("estimateBaseline shows warnings", { expect_warning(estimateBaseline( createMassSpectrum(mass=double(), intensity=double()), "empty")) }) test_that("estimateBaselineConvexHull", { b <- c(10:1, rep(1, 10)) m <- cbind(mass=mass(s), intensity=b) expect_identical(MALDIquant:::.estimateBaselineConvexHull(mass(s), intensity(s)), b) ## user method expect_identical(estimateBaseline(s, method="ConvexHull"), m) }) test_that("estimateBaselineMedian", { b <- c(10:4, rep(c(3, 8), each=3), 7:1) b1 <- c(10:3, rep(c(2, 9), each=2), 8:1) m <- cbind(mass=mass(s), intensity=b) expect_identical(MALDIquant:::.estimateBaselineMedian(mass(s), intensity(s), 1), b1) expect_identical(MALDIquant:::.estimateBaselineMedian(mass(s), intensity(s), 2), b) ## user method expect_identical(estimateBaseline(s, method="median", halfWindowSize=2), m) ## halfWindowSize expect_error(MALDIquant:::.estimateBaselineMedian(mass(s), intensity(s), 0), "too small") expect_error(MALDIquant:::.estimateBaselineMedian(mass(s), intensity(s), 20), "too large") }) test_that("estimateBaselineSnip", { b <- list(decreasing=list(b=c(10:1, c(2.5, 4.0, 5.5), 7:1), b100=c(10:1, rep(c(1.25, 1.5, 1.75, 1.375, 1), times=2))), increasing=list(b=c(10:1, 5:4, 5.5, 7:1), b100=c(10:1, 3.75, 3.375, 3:1, 2.5, 4:1))) ## test default decreasing argument expect_identical(MALDIquant:::.estimateBaselineSnip(mass(s), intensity(s), 2), b$decreasing$b) for (j in seq(along=b)) { d <- names(b)[j] == "decreasing" expect_identical(MALDIquant:::.estimateBaselineSnip(mass(s), intensity(s), 2, decreasing=d), b[[j]]$b) expect_equal(MALDIquant:::.estimateBaselineSnip(mass(s), intensity(s), decreasing=d), b[[j]]$b100) ## user method m <- cbind(mass=mass(s), intensity=b[[j]]$b) m100 <- cbind(mass=mass(s), intensity=b[[j]]$b100) expect_identical(estimateBaseline(s, method="SNIP", iterations=2, decreasing=d), m) expect_identical(estimateBaseline(s, iterations=2, decreasing=d), m) expect_equal(estimateBaseline(s, decreasing=d), m100) } }) test_that("estimateBaselineTopHat", { b <- c(rep(8, 3), 7:1, rep(6, 5), 5:1) b1 <- c(rep(9, 2), 8:1, rep(8, 3), 7:1) m <- cbind(mass=mass(s), intensity=b) expect_identical(MALDIquant:::.estimateBaselineTopHat(mass(s), intensity(s), 1), b1) expect_identical(MALDIquant:::.estimateBaselineTopHat(mass(s), intensity(s), 2), b) ## user method expect_identical(estimateBaseline(s, method="TopHat", halfWindowSize=2), m) ## halfWindowSize expect_error(MALDIquant:::.estimateBaselineTopHat(mass(s), intensity(s), 0), "too small") expect_error(MALDIquant:::.estimateBaselineTopHat(mass(s), intensity(s), 20), "too large") }) MALDIquant/tests/testthat/test_subset-methods.R0000644000176200001440000000213512624130232021277 0ustar liggesuserscontext("subset") s <- createMassSpectrum(mass=1:10, intensity=11:20) p <- createMassPeaks(mass=1:10, intensity=11:20, snr=21:30) test_that("numerical index based subsetting works on MassSpectrum", { expect_equal(s[2:9], createMassSpectrum(mass=2:9, intensity=12:19)) expect_equal(s[-1], createMassSpectrum(mass=2:10, intensity=12:20)) }) test_that("logical index based subsetting works on MassSpectrum", { expect_equal(s[mass(s) <= 9], createMassSpectrum(mass=1:9, intensity=11:19)) expect_equal(s[intensity(s) <= 15], createMassSpectrum(mass=1:5, intensity=11:15)) }) test_that("numerical index based subsetting works on MassPeaks", { expect_equal(p[2:9], createMassPeaks(mass=2:9, intensity=12:19, snr=22:29)) expect_equal(p[-1], createMassPeaks(mass=2:10, intensity=12:20, snr=22:30)) }) test_that("logical index based subsetting works on MassPeaks", { expect_equal(p[mass(p) <= 9], createMassPeaks(mass=1:9, intensity=11:19, snr=21:29)) expect_equal(p[intensity(p) <= 15], createMassPeaks(mass=1:5, intensity=11:15, snr=21:25)) }) MALDIquant/tests/testthat/test_findEmptyMassObjects-functions.R0000644000176200001440000000125112624130232024432 0ustar liggesuserscontext("findEmptyMassObjects") s <- createMassSpectrum(mass=1:10, intensity=1:10) e <- createMassSpectrum(double(), double()) test_that("findEmptyMassObjects throws errors", { expect_error(findEmptyMassObjects(e), "no list of MALDIquant::AbstractMassObject objects") expect_error(findEmptyMassObjects(list()), "no list of MALDIquant::AbstractMassObject objects") }) test_that("findEmptyMassObjects", { expect_identical(findEmptyMassObjects(list(e, e)), 1L:2L) expect_identical(findEmptyMassObjects(list(s, s)), integer()) expect_identical(findEmptyMassObjects(list(s, e)), 2L) expect_identical(findEmptyMassObjects(list(e, s)), 1L) }) MALDIquant/tests/testthat/test_length-methods.R0000644000176200001440000000037612624130232021260 0ustar liggesuserscontext("length") test_that("length", { expect_identical(length(createMassSpectrum(mass=1:10, intensity=1:10)), 10L) expect_identical(length(createMassSpectrum(mass=double(), intensity=double())), 0L) }) MALDIquant/tests/testthat/test_morphologicalFilter-functions.R0000644000176200001440000000110412624130232024337 0ustar liggesuserscontext("morphological filters") x <- list(c(8, 6, 2, 4, 5, 7, 1, 10), c(15, 8, 4, 11, 10, 1, 13, 12, 6, 9, 5, 3, 2, 7, 14)) e <- list(c(rep(2:1, each=4)), c(rep(4, 3), rep(1, 5), 5, 3, rep(2, 5))) d <- list(c(rep(8, 3), rep(7, 2), rep(10, 3)), c(rep(15, 3), 11, rep(13, 5), 12, rep(9, 2), rep(14, 3))) test_that(".erosion", { for (i in seq(along=x)) { expect_equal(.erosion(x[[i]], halfWindowSize=2), e[[i]]) } }) test_that(".dilation", { for (i in seq(along=x)) { expect_equal(.dilation(x[[i]], halfWindowSize=2), d[[i]]) } }) MALDIquant/tests/testthat/test_merge-functions.R0000644000176200001440000000606012624130232021437 0ustar liggesuserscontext("merge") s <- c(createMassSpectrum(mass=1:3, intensity=1:3, metaData=list(a=1, b=2)), createMassSpectrum(mass=1:3, intensity=4:6, metaData=list(a=1, b=3))) p <- c(createMassPeaks(mass=1:3, intensity=1:3, snr=1:3, metaData=list(a=1, b=2)), createMassPeaks(mass=1:3, intensity=4:6, snr=4:6, metaData=list(a=1, b=3))) pNA <- c(createMassPeaks(mass=1:3, intensity=1:3, snr=1:3, metaData=list(a=1, b=2)), createMassPeaks(mass=1:2, intensity=4:5, snr=4:5, metaData=list(a=1, b=3))) meanP <- createMassPeaks(mass=1:3, intensity=(2:4)+0.5, snr=(2:4)+0.5, metaData=list(a=1, b=2:3)) meanPNA <- createMassPeaks(mass=1:3, intensity=c(2.5, 3.5, 1.5), snr=c(2.5, 3.5, 1.5), metaData=list(a=1, b=2:3)) sumP <- createMassPeaks(mass=1:3, intensity=c(5, 7, 9), snr=c(5, 7, 9), metaData=list(a=1, b=2:3)) test_that("mergeMassPeaks", { expect_equal(unname(mergeMassPeaks(list(p[[1]], p[[1]], p[[2]], p[[2]]), labels=c(1:2, 1:2))), list(meanP, meanP)) expect_equal(unname(mergeMassPeaks(pNA[rep(1:2, each=2)], labels=rep(1:2, times=2), ignore.na=FALSE)), list(meanPNA, meanPNA)) expect_equal(unname(mergeMassPeaks(list(p[[1]], p[[1]], p[[2]], p[[2]]), labels=c(1:2, 1:2), method="sum")), list(sumP, sumP)) expect_equal(unname(mergeMassPeaks(pNA[rep(1:2, each=2)], method="median", ignore.na=FALSE)), createMassPeaks(mass=1:3, intensity=c(2.5, 3.5, 1.5), snr=c(2.5, 3.5, 1.5), metaData=list(a=1, b=rep(2:3, each=2)))) }) test_that("mergeMassPeaks throws errors", { expect_error(mergeMassPeaks(1:3), "no list of MALDIquant::MassPeaks objects") expect_error(mergeMassPeaks(list()), "no list of MALDIquant::MassPeaks objects") expect_error(mergeMassPeaks(s), "no list of MALDIquant::MassPeaks objects") }) test_that(".mergeMassPeaks", { expect_equal(MALDIquant:::.mergeMassPeaks(p), meanP) expect_equal(MALDIquant:::.mergeMassPeaks(p, fun=colSums), sumP) }) test_that(".mergeMetaData", { l <- list(a=list(numbers=1:3, lists=list(a=1, b=2), characters=c("a", "b")), b=list(numbers=1:3, lists=list(a=1, b=2), characters=c("b", "c"))) r <- list(numbers=1:3, lists=list(a=1, b=2), characters=c("a", "b", "b", "c")) expect_identical(MALDIquant:::.mergeMetaData(l), r) l <- list(a=list(numbers=1:2, lists=list(a=1, b=2, d=4), characters=c("a", "b", "c")), b=list(numbers=1:3, lists=list(a=1, b=2), characters=c("b", "c"))) r <- list(numbers=c(1:2, 1:3), lists=list(list(a=1, b=2, d=4), list(a=1, b=2)), characters=c("a", "b", "c", "b", "c")) expect_identical(MALDIquant:::.mergeMetaData(l), r) }) MALDIquant/tests/testthat/test_localMaxima-functions.R0000644000176200001440000000032012624130232022560 0ustar liggesuserscontext(".localMaxima") y <- c(1, 1, 2, 1, 1, 3, 4) set.seed(1) b <- rnorm(5e4) test_that(".localMaxima", { expect_identical(MALDIquant:::.localMaxima(y, 1), c(T, F, T, F, F, F, T)) }) MALDIquant/tests/testthat/test_intensityMatrix-functions.R0000644000176200001440000000205312624130232023551 0ustar liggesuserscontext("intensityMatrix") p <- list(createMassPeaks(mass=1:4, intensity=11:14), createMassPeaks(mass=2:5, intensity=22:25)) s <- list(createMassSpectrum(mass=1:5, intensity=11:15), createMassSpectrum(mass=1:5, intensity=21:25)) m <- matrix(c(11:14, NA_real_, NA_real_, 22:25), byrow=TRUE, ncol=5, nrow=2, dimnames=list(NULL, 1:5)) e <- matrix(c(11:15, 21:25), byrow=TRUE, ncol=5, nrow=2, dimnames=list(NULL, 1:5)) attr(m, "mass") <- attr(e, "mass") <- 1:5 test_that("intensityMatrix throws errors", { expect_error(intensityMatrix(p[[1]]), "no list of MALDIquant::MassPeaks objects") expect_error(intensityMatrix(list()), "no list of MALDIquant::MassPeaks objects") expect_error(intensityMatrix(p, list()), "no list of MALDIquant::MassSpectrum objects") expect_error(intensityMatrix(p, s[1]), "Incompatible number of spectra") }) test_that("intensityMatrix", { expect_identical(intensityMatrix(p), m) expect_equal(intensityMatrix(p, s), e) }) MALDIquant/tests/testthat/test_mz-methods.R0000644000176200001440000000063312672203466020436 0ustar liggesuserscontext("mz") s <- createMassSpectrum(mass=1:10, intensity=11:20) test_that("mz", { expect_identical(mz(s), 1:10) expect_identical(mz(s)[1:3], 1:3) }) test_that("mz<- throws errors", { expect_error(mz(s) <- LETTERS[1:10]) expect_error(mz(s) <- 1, "have to be equal") }) test_that("mz<-", { mz(s) <- 11:20 expect_equal(mz(s), 11:20) mz(s)[5:10] <- 5:10 expect_equal(mz(s), c(11:14, 5:10)) }) MALDIquant/tests/testthat/test_warpingFunctions-functions.R0000644000176200001440000000141712624130232023701 0ustar liggesuserscontext("warpingFunctions") test_that(".warpingFunctionLowess", { al <- function(x) { l <- lowess(x=x, y=x^2) return(approxfun(l$x, l$y)) } expect_equal(MALDIquant:::.warpingFunctionLowess(1:10, (1:10)^2)(1:10), al(1:10)(1:10)) }) test_that(".warpingFunctionLinear", { expect_equal(MALDIquant:::.warpingFunctionLinear(1:10, rep(1, 10))(1:10), rep(1, 10)) expect_equal(MALDIquant:::.warpingFunctionLinear(1:10, 1:10)(1:10), 1:10) }) test_that(".warpingFunctionQuadratic", { expect_equal(MALDIquant:::.warpingFunctionQuadratic(1:10, (1:10)^2)(1:10), (1:10)^2) }) test_that(".warpingFunctionCubic", { expect_equal(MALDIquant:::.warpingFunctionCubic(1:10, (1:10)^3)(1:10), (1:10)^3) }) MALDIquant/tests/testthat/test_trim-methods.R0000644000176200001440000000165112672203466020764 0ustar liggesuserscontext("trim") s <- createMassSpectrum(mass=1:10, intensity=11:20) test_that("trim throws errors", { expect_error(trim(s, range=1:10), "has to be a vector of length 2") expect_error(trim(s, range=1), "has to be a vector of length 2") expect_error(trim(c(s, createMassSpectrum(mass=21:30, intensity=1:10))), "No overlap") }) test_that("trim throws warnings", { expect_warning(trim(s, range=c(20, 30)), "No data points left") }) test_that("trim", { expect_equal(trim(s, c(2, 9)), createMassSpectrum(mass=2:9, intensity=12:19)) }) test_that("trim,list throws errors", { expect_error(trim(list(x=1, y=2)), "no list of MALDIquant::AbstractMassObject objects") }) test_that("trim works with list of AbstractMassObject objects", { r <- createMassSpectrum(mass=2:9, intensity=12:19) expect_equal(trim(list(s, s), c(2, 9)), list(r, r)) expect_equal(trim(list(s, r)), list(r, r)) }) MALDIquant/tests/testthat/test_monoisotopic-functions.R0000644000176200001440000000477513020334160023072 0ustar liggesuserscontext(".monoisotopic") test_that(".pseudoCluster", { x <- c(1, 2, 3, 5, 8, 9, 10, 12, 15) m1s2 <- matrix(c(1, 2, 2, 3, 5, 6, 6, 7), nrow=2) m1s3 <- matrix(c(1, 2, 3, 5, 6, 7), nrow=3) m3s3 <- matrix(c(2, 4, 5, 6, 8, 9), nrow=3) m5s4 <- matrix(NA_real_, nrow=4, ncol=0) m12s3 <- matrix(c(1:3, 5:7, 1, 3, 4, 5, 7, 8), nrow=3) expect_error(MALDIquant:::.pseudoCluster(x, size=1), "The .*size.* of a cluster has to be at least 2") expect_equal(MALDIquant:::.pseudoCluster(x, size=2, distance=1), m1s2) expect_equal(MALDIquant:::.pseudoCluster(x, size=3, distance=1), m1s3) expect_equal(MALDIquant:::.pseudoCluster(x, size=3, distance=3), m3s3) expect_equal(MALDIquant:::.pseudoCluster(x, size=4, distance=5), m5s4) expect_equal(MALDIquant:::.pseudoCluster(x, size=3, distance=1:2), m12s3) }) test_that(".F", { x <- seq(1000, 5000, by=10) expect_equal(MALDIquant:::.F(x), 0.000594 * x + 0.03091) }) test_that(".P", { x <- seq(1000, 5000, by=10) expect_equal(MALDIquant:::.P(x, 0:3), dpois(0:3, MALDIquant:::.F(x))) }) test_that(".Psum", { x <- c(1000, 2000) isotopes <- 0:3 p <- sapply(x, function(xx) { pp <- MALDIquant:::.P(xx, isotopes=isotopes) pp/sum(pp) }) expect_equal(MALDIquant:::.Psum(x, isotopes), p) }) test_that(".monoisotopicPattern", { x <- c(1, 2, 3, 5, 8, 9, 10, 12, 15) y <- c(96, 3, 1, 5, 78, 20, 2, 12, 15) expect_equal(MALDIquant:::.monoisotopicPattern(1:10, 1:10), matrix(NA_real_, nrow=3, ncol=0)) expect_equal(MALDIquant:::.monoisotopicPattern(x, y, distance=1, size=3), cbind(1:3, 5:7)) expect_equal(MALDIquant:::.monoisotopicPattern(x, y, distance=1:2, size=3), cbind(1:3, 5:7)) expect_equal(MALDIquant:::.monoisotopicPattern(x, y, distance=2:1, size=3), cbind(c(1, 3, 4), c(5, 7, 8))) expect_equal(MALDIquant:::.monoisotopicPattern(x, y, distance=1, size=2), cbind(1:2, 5:6)) expect_equal(MALDIquant:::.monoisotopicPattern(x, y, distance=1, minCor=0.99), as.matrix(1:3)) }) test_that(".monoisotopic", { x <- c(1, 2, 3, 5, 8, 9, 10, 12, 15) y <- c(96, 3, 1, 5, 78, 20, 2, 12, 15) expect_equal(MALDIquant:::.monoisotopic(double(), double()), numeric()) expect_equal(MALDIquant:::.monoisotopic(1:10, 1:5), numeric()) expect_equal(MALDIquant:::.monoisotopic(1:10, 1:10), numeric()) expect_equal(MALDIquant:::.monoisotopic(x, y, distance=1, size=2:5), c(1, 5)) expect_equal(MALDIquant:::.monoisotopic(x, y, distance=1, minCor=0.99), 1) }) MALDIquant/tests/testthat/test_removeEmptyMassObjects-functions.R0000644000176200001440000000130712624130232025011 0ustar liggesuserscontext("removeEmptyMassObjects") s <- createMassSpectrum(mass=1:10, intensity=1:10) e <- createMassSpectrum(double(), double()) test_that("removeEmptyMassObjects throws errors", { expect_error(removeEmptyMassObjects(e), "no list of MALDIquant::AbstractMassObject objects") expect_error(removeEmptyMassObjects(list()), "no list of MALDIquant::AbstractMassObject objects") }) test_that("removeEmptyMassObjects", { expect_identical(removeEmptyMassObjects(list(e, e)), list()) expect_identical(removeEmptyMassObjects(list(s, s)), list(s, s)) expect_identical(removeEmptyMassObjects(list(s, e)), list(s)) expect_identical(removeEmptyMassObjects(list(e, s)), list(s)) }) MALDIquant/tests/testthat/test_range-functions.R0000644000176200001440000000101312624130232021425 0ustar liggesuserscontext("range") test_that(".overlap", { l1 <- c(createMassSpectrum(1L:10L, 1L:10L), createMassSpectrum(5L:15L, 5L:15L)) l2 <- c(createMassSpectrum(1L:10L, 1L:10L), createMassSpectrum(15L:25L, 15L:25L)) expect_identical(MALDIquant:::.overlap(l1), c(5L, 10L)) expect_identical(MALDIquant:::.overlap(l2), c(0L, 0L)) }) test_that(".reorderRange", { expect_identical(MALDIquant:::.reorderRange(c(5L, 10L)), c(5L, 10L)) expect_identical(MALDIquant:::.reorderRange(c(10L, 5L)), c(5L, 10L)) }) MALDIquant/tests/testthat/test_show-methods.R0000644000176200001440000000621312624130232020753 0ustar liggesuserscontext("show") test_that("show", { x <- createMassSpectrum(mass=1:10, intensity=11:20, metaData=list(name="example", file="example.mzML")) r <- paste0(format(c("S4 class type", "Number of m/z values", "Range of m/z values", "Range of intensity values", "Memory usage", "Name", "File"), justify="left"), ": ", c(format(c("MassSpectrum", "10", "1 - 10", "11 - 20", MALDIquant:::.memoryUsageStr(x), "example"), justify="left"), "example.mzML")) expect_identical(capture.output(x), r) x <- createMassPeaks(mass=1:10, intensity=11:20, metaData=list(name="example")) r <- paste0(format(c("S4 class type", "Number of m/z values", "Range of m/z values", "Range of intensity values", "Range of snr values", "Memory usage", "Name"), justify="left"), ": ", format(c("MassPeaks", "10", "1 - 10", "11 - 20", "NA - NA", MALDIquant:::.memoryUsageStr(x), "example"), justify="left")) expect_identical(capture.output(x), r) x <- createMassPeaks(mass=1:10, intensity=11:20, snr=1:10, metaData=list(name=c("example1", "example2"), file=c("example1.txt", "example2.txt"))) r <- paste0(format(c("S4 class type", "Number of m/z values", "Range of m/z values", "Range of intensity values", "Range of snr values", "Memory usage", "Name1", "Name2", "File1", "File2"), justify="left"), ": ", c(format(c("MassPeaks", "10", "1 - 10", "11 - 20", "1 - 10", MALDIquant:::.memoryUsageStr(x), "example1", "example2"), justify="left"), "example1.txt", "example2.txt")) expect_identical(capture.output(x), r) x <- createMassPeaks(double(), double()) r <- paste0(format(c("S4 class type", "Number of m/z values", "Range of m/z values", "Range of intensity values", "Range of snr values", "Memory usage"), justify="left"), ": ", format(c("MassPeaks", "0", "NA", "NA", "NA", MALDIquant:::.memoryUsageStr(x)), justify="left")) expect_identical(capture.output(x), r) }) MALDIquant/tests/testthat/test_smoothIntensity-methods.R0000644000176200001440000000440013202123473023211 0ustar liggesuserscontext("smoothIntensity") i <- c(1:20, 20:1)^2 s <- createMassSpectrum(mass=1:40, intensity=i) test_that("smoothIntensity shows warnings", { expect_warning(smoothIntensity( createMassSpectrum(mass=double(), intensity=double())), "empty") }) test_that("smoothIntensity", { expect_equal(intensity(smoothIntensity(s, method="SavitzkyGolay", halfWindowSize=4)), MALDIquant:::.savitzkyGolay(i, halfWindowSize=4)) expect_equal(intensity(smoothIntensity(s, method="SavitzkyGolay")), MALDIquant:::.savitzkyGolay(i, halfWindowSize=10)) expect_equal(length(smoothIntensity(s, method="MovingAverage", halfWindowSize=2)), 40) expect_equal(intensity(smoothIntensity(s, method="MovingAverage", halfWindowSize=2)), MALDIquant:::.movingAverage(i, halfWindowSize=2)) expect_equal(length(smoothIntensity(s, method="MovingAverage", halfWindowSize=2, weighted=TRUE)), 40) expect_equal(intensity(smoothIntensity(s, method="MovingAverage", halfWindowSize=2, weighted=TRUE)), MALDIquant:::.movingAverage(i, halfWindowSize=2, weighted=TRUE)) expect_equal(intensity(smoothIntensity(s, method="MovingAverage", halfWindowSize=2, weighted=TRUE)), intensity(smoothIntensity(s, method="MovingAverage", weighted=TRUE))) expect_equal(intensity(smoothIntensity(s, method="MovingAverage", halfWindowSize=2)), intensity(smoothIntensity(s, method="MovingAverage"))) }) test_that("smoothIntensity works with list of MassSpectrum objects", { expect_error(smoothIntensity(list(x=1, y=1)), "no list of MALDIquant::MassSpectrum objects") expect_error(smoothIntensity(list(s, createMassPeaks(1, 1)), "no list of MALDIquant::MassSpectrum objects")) r <- createMassSpectrum(mass=1:40, intensity= MALDIquant:::.movingAverage(i)) expect_equal(smoothIntensity(list(s, s), method="MovingAverage"), list(r, r)) }) MALDIquant/tests/testthat/test_warp-functions.R0000644000176200001440000000447413317730170021327 0ustar liggesuserscontext("warp") s <- createMassSpectrum(mass=1:10, intensity=1:10) p <- createMassPeaks(mass=1:10, intensity=1:10, snr=1:10) test_that("warpMassSpectra throws errors", { expect_error(warpMassSpectra(p, function(x)1), "no list of MALDIquant::MassSpectrum objects") expect_error(warpMassSpectra(s, function(x)1), "no list of MALDIquant::MassSpectrum objects") expect_error(warpMassSpectra(list(s), 1), "no list of functions") }) test_that("warpMassSpectra", { expect_equal(warpMassSpectra(list(s, s), list(function(x)1, function(x)x+1)), list(createMassSpectrum(mass=2:11, intensity=1:10), createMassSpectrum(mass=seq(3, 21, by=2), intensity=1:10))) }) test_that("warpMassPeaks throws errors", { expect_error(warpMassPeaks(p, function(x)1), "no list of MALDIquant::MassPeaks objects") expect_error(warpMassPeaks(s, function(x)1), "no list of MALDIquant::MassPeaks objects") expect_error(warpMassPeaks(list(p), 1), "no list of functions") }) test_that("warpMassPeaks", { expect_equal(warpMassPeaks(list(p, p), list(function(x)1, function(x)x+1)), list(createMassPeaks(mass=2:11, intensity=1:10, snr=1:10), createMassPeaks(mass=seq(3, 21, by=2), intensity=1:10, snr=1:10))) expect_equal( warpMassPeaks( list(p, p, p), list(function(x)1, NA, function(x)x+1), emptyNoMatches=TRUE ), list( createMassPeaks(mass=2:11, intensity=1:10, snr=1:10), createMassPeaks(mass=1:10, intensity=rep(0, 10), snr=1:10), createMassPeaks(mass=seq(3, 21, by=2), intensity=1:10, snr=1:10) ) ) }) test_that(".warp", { expect_equal(MALDIquant:::.warp(list(s, s), list(function(x)1, function(x)x+1)), list(createMassSpectrum(mass=2:11, intensity=1:10), createMassSpectrum(mass=seq(3, 21, by=2), intensity=1:10))) expect_equal( MALDIquant:::.warp( list(p, p, p), list(function(x)1, NA, function(x)x+1), emptyNoMatches=TRUE ), list( createMassPeaks(mass=2:11, intensity=1:10, snr=1:10), createMassPeaks(mass=1:10, intensity=rep(0, 10), snr=1:10), createMassPeaks(mass=seq(3, 21, by=2), intensity=1:10, snr=1:10) ) ) }) MALDIquant/tests/testthat/test_mapply-functions.R0000644000176200001440000000036513202123012021633 0ustar liggesuserscontext(".mapply") test_that(".mapply", { a <- setNames(1L:10L, LETTERS[1L:10L]) b <- 1L:2L f <- function(x, y)x+y expect_identical(MALDIquant:::.mapply(f, a, b), mapply(f, a, b, USE.NAMES=FALSE, SIMPLIFY=FALSE)) }) MALDIquant/tests/testthat/test_replaceNegativeIntensityValues.R0000644000176200001440000000066212624130232024521 0ustar liggesuserscontext(".replaceNegativeIntensityValues") test_that(".replaceNegativeIntensityValues", { s <- suppressWarnings(createMassSpectrum(mass=1:5, intensity=-(1:5))) expect_warning(MALDIquant:::.replaceNegativeIntensityValues(s), "Negative intensity values are replaced by zeros.") expect_equal(intensity( MALDIquant:::.replaceNegativeIntensityValues(s, warn=FALSE)), rep(0L, 5L)) }) MALDIquant/src/0000755000176200001440000000000013466070447012753 5ustar liggesusersMALDIquant/src/lowerConvexHull.c0000644000176200001440000000476013466070447016266 0ustar liggesusers/* Copyright 2011 Sebastian Gibb * * * This file is part of MALDIquant for R and related languages. * * MALDIquant is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MALDIquant 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 MALDIquant. If not, see */ /* Lower Convex Hull Algorithm based on: * A. M. Andrew, "Another Efficient Algorithm for Convex Hulls in Two * Dimensions", Info. Proc. Letters 9, 216-219 (1979). * only calculate lower hull (we don't need the upper one) */ #include "MALDIquant.h" #include #include /* build cross product of 2 vectors and compare to zero * returns true for P2(x2, y2) left of P0->P1 */ double left(double x0, double y0, double x1, double y1, double x2, double y2) { return(((x1-x0)*(y2-y0) - (x2-x0)*(y1-y0)) > 0); } /* x = array of double values * y = array of double values * length = length of y * output = array of double values (new y values) */ SEXP C_lowerConvexHull(SEXP x, SEXP y) { SEXP output; /* TODO: replace by R_xlen_t in R 3.0.0 */ R_xlen_t n, i, j, k=0; int* nodes; double m, c; PROTECT(x=coerceVector(x, REALSXP)); PROTECT(y=coerceVector(y, REALSXP)); n=XLENGTH(x); PROTECT(output=allocVector(REALSXP, n)); /* TODO: replace by R_xlen_t in R 3.0.0 */ /* allocate vector - error handling is done by R */ nodes=(int*) Calloc((size_t) n, int); double* xx=REAL(x); double* xy=REAL(y); double* xo=REAL(output); /* find lower convex hull */ for (i=0; i 1 && !left(xx[nodes[k-2]], xy[nodes[k-2]], xx[nodes[k-1]], xy[nodes[k-1]], xx[i], xy[i])) { k-=1; } nodes[k]=i; k+=1; } /* build linear function y=mx+c to calculate values between nodes */ for (i=0; i * * This file is part of MALDIquant for R and related languages. * * MALDIquant is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MALDIquant 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 MALDIquant. If not, see */ #include "MALDIquant.h" #include #include /* Dilation/Erosion is based on the vHGW Algorithm * (needs only 3 comparison per element): * * M. van Herk. "A Fast Algorithm for Local Minimum and Maximum Filters on * Rectangular and Octagonal Kernels." * Pattern Recognition Letters 13.7 (1992): 517-521. * * J. Y. Gil and M. Werman. "Computing 2-Dimensional Min, Median and Max * Filters." IEEE Transactions (1996): 504-507. * * Gil and Kimmel (GK) decrease the number of comparisons to nearly 1.5: * * J. Y. Gil and R. Kimmel. "Efficient Dilation, Erosion, Opening, and Closing * Algorithms." Pattern Analysis and Machine Intelligence, * IEEE Transactions on 24.12 (2002): 1606-1617. * * The implementation of the GK algorithm is much more complex and needs pointer * arithmetic, "goto" or multiple for-loops (increasing number of comparision). * The speed improvement is marginal and does not matter for our purposes. */ /* y = input vector * s = half window size (half filter length) */ SEXP C_dilation(SEXP y, SEXP s) { SEXP f, g, h, output; R_xlen_t n, fn, k, q, i, r, j, gi, hi; PROTECT(y=coerceVector(y, REALSXP)); n=XLENGTH(y); q=asInteger(s); k=2*q+1; /* add q (== halfWindowSize) values left/right * increase n to make n%windowSize == 0 */ fn=n+2*q+(k-(n%k)); PROTECT(f=allocVector(REALSXP, fn)); PROTECT(g=allocVector(REALSXP, fn)); PROTECT(h=allocVector(REALSXP, fn)); PROTECT(output=allocVector(REALSXP, n)); double* xy=REAL(y); double* xf=REAL(f); double* xg=REAL(g); double* xh=REAL(h); double* xo=REAL(output); memcpy(xf+q, xy, n*sizeof(double)); /* init left extrema */ for (i=0; i xf[gi]) { xg[gi]=xf[gi]; } else { xg[gi]=xg[gi-1]; } if (xh[hi+1] > xf[hi]) { xh[hi]=xf[hi]; } else { xh[hi]=xh[hi+1]; } } } /* merging */ for (i=0, gi=k-1, hi=0; i xh[hi]) { xo[i]=xh[hi]; } else { xo[i]=xg[gi]; } } UNPROTECT(5); return(output); } MALDIquant/src/snip.c0000644000176200001440000000560213466070447014073 0ustar liggesusers/* Copyright 2011-2013 Sebastian Gibb * * * This file is part of MALDIquant for R and related languages. * * MALDIquant is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MALDIquant 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 MALDIquant. If not, see */ /* SNIP algorithm based on: * C.G. Ryan, E. Clayton, W.L. Griffin, S.H. Sie, and D.R. Cousens. * "Snip, a statistics-sensitive background treatment for the quantitative * analysis of pixe spectra in geoscience applications." * Nuclear Instruments and Methods in Physics Research Section B: * Beam Interactions with Materials and Atoms, 34(3):396-402, 1988. * ISSN 0168-583X. doi:10.1016/0168-583X(88)90063-8. * URL http://www.sciencedirect.com/science/article/B6TJN-46YSYTJ-30/2/e0d015ceb8ea8a7bc0702a857a19750b * * decreasing clipping window adapted from: * M. Morhac. 2009. * "An algorithm for determination of peak regions and baseline elimination in * spectroscopic data." * Nuclear Instruments and Methods in Physics Research Section A: * Accelerators, Spectrometers, Detectors and Associated Equipment, 600(2), 478-487. * ISSN 0168-9002. doi:10.1016/S0168-9002(97)01023-1. * URL http://www.sciencedirect.com/science/article/pii/S0168900297010231 */ #include "MALDIquant.h" #include #include /* y = array of double values * iterations = max iteration steps * decreasing = use a decreasing clipping window? */ SEXP C_snip(SEXP y, SEXP iterations, SEXP decreasing) { SEXP dup, output; R_xlen_t n, i, j, k; int d; double a, b; PROTECT(dup=duplicate(y)); PROTECT(y=coerceVector(dup, REALSXP)); n=XLENGTH(y); d=asInteger(decreasing); PROTECT(output=allocVector(REALSXP, n)); double* xo=REAL(output); double* xy=REAL(y); k=asInteger(iterations); /* code duplication to use faster ++i/--i instead of i+=step */ if (d) { for (i=k; i>0; --i) { for (j=i; j * * This file is part of MALDIquant for R and related languages. * * MALDIquant is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MALDIquant 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 MALDIquant. If not, see */ #ifndef MALDIQUANT_H #define MALDIQUANT_H #include #include SEXP C_colMedians(SEXP x, SEXP na_rm); SEXP C_snip(SEXP y, SEXP iterations, SEXP decreasing); SEXP C_lowerConvexHull(SEXP x, SEXP y); SEXP C_dilation(SEXP y, SEXP s); SEXP C_erosion(SEXP y, SEXP s); SEXP C_localMaxima(SEXP y, SEXP s); #endif /* end of MALDIQUANT_H */ MALDIquant/src/colMedians.c0000644000176200001440000000464013466070447015201 0ustar liggesusers/* Copyright 2013 Sebastian Gibb * * * This file is part of MALDIquant for R and related languages. * * MALDIquant is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MALDIquant 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 MALDIquant. If not, see */ #include "MALDIquant.h" #include #include /* x = matrix of double values * na_rm = remove NA? * based on src/library/stats/R/median.R */ SEXP C_colMedians(SEXP x, SEXP na_rm) { SEXP dims, column, output; R_xlen_t ncol, nrow, ir, ic, icr, half; int narm, isEven; double v; PROTECT(x=coerceVector(x, REALSXP)); PROTECT(dims=getAttrib(x, R_DimSymbol)); /* TODO: Replace by R_xlen_t in R 3.0.0. * TODO: Maybe this will cause problems because we need Long Vector support. */ nrow=INTEGER(dims)[0]; ncol=INTEGER(dims)[1]; narm=asInteger(na_rm); PROTECT(output=allocVector(REALSXP, ncol)); PROTECT(column=allocVector(REALSXP, nrow)); double* xx=REAL(x); double* xo=REAL(output); double* xc=REAL(column); for (ic=0; ic * * This file is part of MALDIquant for R and related languages. * * MALDIquant is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MALDIquant 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 MALDIquant. If not, see */ #include "MALDIquant.h" #include #include #include static const R_CallMethodDef callMethods[] = { {"C_colMedians", (DL_FUNC) &C_colMedians, 2}, {"C_snip", (DL_FUNC) &C_snip, 3}, {"C_lowerConvexHull", (DL_FUNC) &C_lowerConvexHull, 2}, {"C_dilation", (DL_FUNC) &C_dilation, 2}, {"C_erosion", (DL_FUNC) &C_erosion, 2}, {"C_localMaxima", (DL_FUNC) &C_localMaxima, 2}, { NULL, NULL, 0 } /* mark last element */ }; void #ifdef HAVE_VISIBILITY_ATTRIBUTE __attribute__ ((visibility ("default"))) #endif R_init_MALDIquant(DllInfo *dll) { /* no .C, .Fortran, or .External routines => NULL */ R_registerRoutines(dll, NULL, callMethods, NULL, NULL); R_useDynamicSymbols(dll, FALSE); R_forceSymbols(dll, TRUE); } MALDIquant/src/localMaxima.c0000644000176200001440000000344013466070447015347 0ustar liggesusers/* Copyright 2012-2013 Sebastian Gibb * * * This file is part of MALDIquant for R and related languages. * * MALDIquant is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * MALDIquant 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 MALDIquant. If not, see */ #include "MALDIquant.h" #include #include R_xlen_t windowMaxIdx(double* x, R_xlen_t start, R_xlen_t end) { R_xlen_t i, m=start; for (i=start+1; i<=end; ++i) { if (x[m] < x[i]) { m=i; } } return(m); } /* y = array of double values * s = half window size */ SEXP C_localMaxima(SEXP y, SEXP s) { SEXP output; R_xlen_t n, q, m, windowSize, i, l, mid; PROTECT(y=coerceVector(y, REALSXP)); n=XLENGTH(y); PROTECT(output=allocVector(LGLSXP, n)); double* xy=REAL(y); int* xo=LOGICAL(output); memset(xo, 0, n*sizeof(int)); q=asInteger(s); windowSize=q*2; m=windowMaxIdx(xy, 0, windowSize); xo[m]=m==q; /* i == rhs; l == lhs; mid == middle pos */ for (i=windowSize+1, l=i-windowSize, mid=(l+i)/2; i xy[m]) { m=i; } if (m == mid) { xo[m]=1; } } UNPROTECT(2); return(output); } MALDIquant/NAMESPACE0000644000176200001440000000471513466066276013417 0ustar liggesusersimport("methods") importFrom("parallel", "mclapply", "mcmapply") importFrom("graphics", "abline", "arrows", "lines", "par", "plot", "plot.default", "points", "rasterImage", "rect", "strheight", "strwidth", "text") importFrom("grDevices", "as.raster", "colorRamp", "dev.cur", "dev.interactive", "dev.new", "dev.off", "pdf", "rgb") importFrom("stats", "approxfun", "coef", "dpois", "filter", "lm", "lowess", "mad", "median", "runmed", "supsmu") importFrom("utils", "head", "modifyList", "object.size", "packageVersion", "relist", "tail") exportClasses("MassPeaks", "MassSpectrum") export("alignSpectra", "averageMassSpectra", "binPeaks", "createMassPeaks", "createMassSpectrum", "determineWarpingFunctions", "filterPeaks", "findEmptyMassObjects", "intensityMatrix", "isMassPeaks", "isMassPeaksList", "isMassSpectrum", "isMassSpectrumList", "match.closest", "mergeMassPeaks", "msiSlices", "referencePeaks", "removeEmptyMassObjects", "warpMassPeaks", "warpMassSpectra") exportMethods("as.matrix", "calibrateIntensity", "coordinates", "coordinates<-", "detectPeaks", "estimateBaseline", "estimateNoise", "intensity", "intensity<-", "isEmpty", "isRegular", "labelPeaks", "length", "lines", "mass", "mass<-", "metaData", "metaData<-", "monoisotopicPeaks", "mz", "mz<-", "plot", "plotMsiSlice", "points", "removeBaseline", "smoothIntensity", "snr", "totalIonCurrent", "transformIntensity", "trim") useDynLib("MALDIquant") MALDIquant/demo/0000755000176200001440000000000012721405447013103 5ustar liggesusersMALDIquant/demo/peaks.R0000644000176200001440000000366712624130232014332 0ustar liggesusers## This is a MALDIquant example file. It is released into public domain with the ## right to use it for any purpose but without any warranty. ## peaks demo ## load necessary packages ## requires MALDIquant >= 1.9 library("MALDIquant") ## load example spectra data("fiedler2009subset", package="MALDIquant") ## choose only spectrum 1 s1 <- fiedler2009subset[[1]] ## preprocessing ## sqrt transform (for variance stabilization) s2 <- transformIntensity(s1, method="sqrt") ## 21 point Savitzky-Golay-Filter for smoothing spectra ## (maybe you have to adjust the halfWindowSize; ## you could use a simple moving average instead) ## see ?smoothIntensity s3 <- smoothIntensity(s2, method="SavitzkyGolay", halfWindowSize=10) ## remove baseline ## (maybe you have to adjust iterations to your spectra; high resolution ## spectra need a much lower iteration number (halfWindowSize, for some other ## baseline estimation algorithms) ## see ?removeBaseline, ?estimateBaseline s4 <- removeBaseline(s3, method="SNIP", iterations=100) ## run peak detection ## (maybe you need to adjust halfWindowSize [decreasing it for high resolution ## spectra] and SNR [a higher value increase the True-Positive-Rate but decrease ## sensitivity]) ## see ?detectPeaks, ?estimateNoise p <- detectPeaks(s4, method="MAD", halfWindowSize=20, SNR=2) ## produce some plots par(mfrow=c(2,3)) xlim <- range(mass(s1)) # use same xlim on all plots for better comparison plot(s1, main="1: raw", sub="", xlim=xlim) plot(s2, main="2: variance stabilization", sub="", xlim=xlim) plot(s3, main="3: smoothing", sub="", xlim=xlim) plot(s4, main="4: baseline correction", sub="", xlim=xlim) plot(s4, main="5: peak detection", sub="", xlim=xlim) points(p) ## label top 20 peaks top20 <- intensity(p) %in% sort(intensity(p), decreasing=TRUE)[1:20] labelPeaks(p, index=top20, underline=TRUE) plot(p, main="6: peak plot", sub="", xlim=xlim) labelPeaks(p, index=top20, underline=TRUE) par(mfrow=c(1,1)) MALDIquant/demo/00Index0000644000176200001440000000037012325510750014227 0ustar liggesusersMALDIquant MALDIquant Demonstration baseline Demonstrate different baseline estimation methods. peaks Demonstrate peak detection. warping Demonstrate influence of warping. workflow Complete example workflow (no graphical output). MALDIquant/demo/workflow.R0000644000176200001440000000724412624130232015074 0ustar liggesusers## This is a MALDIquant example file. It is released into public domain with the ## right to use it for any purpose but without any warranty. ## workflow demo ## load necessary packages ## requires MALDIquant >= 1.9 library("MALDIquant") ## load example spectra data("fiedler2009subset", package="MALDIquant") ## check raw data ## any empty spectra? (empty spectra are ignored in subsequent baseline ## correction/peak detection; you could find/remove them by calling ## findEmptyMassObjects/removeEmptyMassObjects) ## see ?isEmpty, ?findEmptyMassObjects, ?removeEmptyMassObjects any(sapply(fiedler2009subset, isEmpty)) # FALSE ## any spectra with irregular mass values/intervals? (spectra with ## missing/filtered mass values/irregular mass intervals may compromise ## subsequent baseline correction and peak detection.) any(!sapply(fiedler2009subset, isRegular)) # FALSE ## do length of spectra differ? (if they differ you have to adjust the ## corresponding halfWindowSize in subsequent baseline correction and peak ## detection.) table(sapply(fiedler2009subset, length)) # 42388 # 16 ## preprocessing ## sqrt transform (for variance stabilization) spectra <- transformIntensity(fiedler2009subset, method="sqrt") ## 21 point Savitzky-Golay-Filter for smoothing spectra ## (maybe you have to adjust the halfWindowSize; ## you could use a simple moving average instead) ## see ?smoothIntensity spectra <- smoothIntensity(spectra, method="SavitzkyGolay", halfWindowSize=10) ## remove baseline ## (maybe you have to adjust iterations to your spectra; high resolution ## spectra need a much lower iteration number (halfWindowSize, for some other ## baseline estimation algorithms) ## see ?removeBaseline, ?estimateBaseline spectra <- removeBaseline(spectra, method="SNIP", iterations=100) ## calibrate (normalize) intensities (different calibration methods available) ## see ?calibrateIntensity spectra <- calibrateIntensity(spectra, method="TIC") ## spectra alignment ## (the spectra alignment is peak based, maybe you need to adjust ## halfWindowSize, SNR, tolerance, warpingMethod) ## see ?alignSpectra spectra <- alignSpectra(spectra, halfWindowSize=20, SNR=2, tolerance=0.002, warpingMethod="lowess") ## average technical replicates ## 1. create factors for correct assignment ## (e.g. sample name is stored in metaData(x)$sampleName; maybe you have to ## adjust the metaData or use your own ID table for your data here) samples <- factor(sapply(spectra, function(x)metaData(x)$sampleName)) ## 2. average technical replicates ## see ?averageMassSpectra avgSpectra <- averageMassSpectra(spectra, labels=samples, method="mean") ## run peak detection ## (maybe you need to adjust halfWindowSize [decreasing it for high resolution ## spectra] and SNR [a higher value increase the True-Positive-Rate but decrease ## sensitivity]) ## see ?detectPeaks, ?estimateNoise peaks <- detectPeaks(avgSpectra, method="MAD", halfWindowSize=20, SNR=2) ## bin peaks ## (After alignment peak positions (mass) are similar but not identical. Binning ## is needed to make similar peak mass values identical.) ## see ?binPeaks peaks <- binPeaks(peaks, tolerance=0.002) ## prepare for statistical analysis ## 1. get cancer/control indices filenames <- sapply(peaks, function(x)metaData(x)$file[1]) cancer <- grepl(pattern="/tumor/", x=filenames) classes <- factor(ifelse(cancer, "cancer", "control"), levels=c("cancer", "control")) ## 2. export expression/training matrix ## (and fill missing peaks by interpolated values) ## see ?intensityMatrix training <- intensityMatrix(peaks, avgSpectra) ## 'training' and 'classes' could now used by any statistical tool e.g. sda MALDIquant/demo/warping.R0000644000176200001440000000403512624130232014664 0ustar liggesusers## This is a MALDIquant example file. It is released into public domain with the ## right to use it for any purpose but without any warranty. ## warping demo ## load necessary packages ## requires MALDIquant >= 1.9 library("MALDIquant") ## load example spectra data("fiedler2009subset", package="MALDIquant") ## use only 4 spectra spectra <- fiedler2009subset[seq(1, 16, by=4)] ## some preprocessing ## sqrt transform (for variance stabilization) spectra <- transformIntensity(spectra, method="sqrt") ## 21 point Savitzky-Golay-Filter for smoothing spectra spectra <- smoothIntensity(spectra, method="SavitzkyGolay", halfWindowSize=10) ## remove baseline spectra <- removeBaseline(spectra, method="SNIP", iterations=100) ## calibrate intensity values by "Total Ion Current" spectra <- calibrateIntensity(spectra, method="TIC") ## run peak detection peaks <- detectPeaks(spectra, method="MAD", halfWindowSize=20, SNR=2) ## warping par(mfrow=c(2, 2)) warpingFunctions <- determineWarpingFunctions(peaks, tolerance=0.001, plot=TRUE, plotInteractive=TRUE) ## warp spectra warpedSpectra <- warpMassSpectra(spectra, warpingFunctions) ## warp peaks warpedPeaks <- warpMassPeaks(peaks, warpingFunctions) ## compare some regions in a plot par(mfrow=c(2, 2)) ## helper function to avoid double coding plotSpectra <- function(unwarped, warped, range) { plot(unwarped[[1]], main=paste0("unwarped spectra (mass ", paste0(range, collapse=":"), " Da)"), xlim=range, ylim=c(0, 2e-3), type="n") color <- rainbow(length(unwarped)) for (i in seq(along=unwarped)) { lines(unwarped[[i]], col=color[i]) } plot(unwarped[[1]], main=paste0("warped spectra (mass ", paste0(range, collapse=":"), " Da)"), xlim=range, ylim=c(0, 2e-3), type="n") for (i in seq(along=warped)) { lines(warped[[i]], col=color[i]) } } plotSpectra(spectra, warpedSpectra, c(4180, 4240)) plotSpectra(spectra, warpedSpectra, c(9200, 9400)) par(mfrow=c(1, 1)) MALDIquant/demo/baseline.R0000644000176200001440000000155212624130232015000 0ustar liggesusers## This is a MALDIquant example file. It is released into public domain with the ## right to use it for any purpose but without any warranty. ## baseline demo ## load necessary packages ## requires MALDIquant >= 1.9 library("MALDIquant") ## load example spectra data("fiedler2009subset", package="MALDIquant") ## choose only spectrum 1 s <- fiedler2009subset[[1]] ## test different baseline estimation methods bSnip <- estimateBaseline(s, method="SNIP") plot(s, main="SNIP Baseline [default]") lines(bSnip, lwd=2, col=2) bTopHat <- estimateBaseline(s, method="TopHat") plot(s, main="TopHat Baseline") lines(bTopHat, lwd=2, col=2) bConvexHull <- estimateBaseline(s, method="ConvexHull") plot(s, main="ConvexHull Baseline") lines(bConvexHull, lwd=2, col=2) bMedian <- estimateBaseline(s, method="median") plot(s, main="Median Baseline") lines(bMedian, lwd=2, col=2) MALDIquant/demo/MALDIquant.R0000644000176200001440000000062312523633731015125 0ustar liggesusers## This is a MALDIquant example file. It is released into public domain with the ## right to use it for any purpose but without any warranty. ## all MALDIquant demos library("MALDIquant") demo("baseline", package="MALDIquant") demo("peaks", package="MALDIquant") demo("warping", package="MALDIquant") message("demo(\"workflow\") produces no graphical output") demo("workflow", package="MALDIquant") MALDIquant/NEWS0000644000176200001440000007224713466066276012704 0ustar liggesusersRELEASE HISTORY OF THE "MALDIquant" PACKAGE =========================================== CHANGES IN MALDIquant VERSION 1.19.2 [2019-05-12]: -------------------------------------------------- BUGFIXES * `approxfun`: remove wrong generic. Thanks to Martin Mächler for reporting. * Remove useless generics for `as.matrix`, `length`, `lines`, `points`, `plot`. CHANGES IN MALDIquant VERSION 1.19.2 [2019-03-13]: -------------------------------------------------- BUGFIXES * `binPeaks` propagated values to empty MassPeaks objects; see #61. Thanks to Chase Clark (@chasemc) for reporting. CHANGES IN MALDIquant VERSION 1.19.1 [2019-03-03]: -------------------------------------------------- BUGFIXES * `calibratyIntensity` ignored the `mc.cores` argument. Thanks to @dsammour for reporting. CHANGES IN MALDIquant VERSION 1.19 [2018-11-26]: ------------------------------------------------ IMPROVEMENTS: * `determineWarpingFunctions`'s return value gains a new argument `nmatch` storing the number of matches of the given peaks against the reference; see #59. Suggested by Melanie Föll (@foellmelanie). CHANGES IN MALDIquant VERSION 1.18.1 [2018-10-04]: -------------------------------------------------- INTERNAL CHANGES * `determineWarpingFunctions`, change handling of minimal necessary peaks for each warping method. CHANGES IN MALDIquant VERSION 1.18 [2018-07-06]: ------------------------------------------------ IMPROVEMENTS * `determineWarpingFunctions` gains an `allowNoMatches` argument. If `allowNoMatches` is `TRUE` a warning is thrown instead of an error and the resulting list of warping functions will contain `NA` at the specific index; see #57. Suggested by Melanie Föll (@foellmelanie). * `warpMassPeaks`/`warpMassSpectra` gain an `emptyNoMatches` argument. If `emptyNoMatches` is `TRUE` the intensity values of `MassPeaks`/`MassSpectra` objects with missing warping functions are set to zero; see #57 for details. Suggested by Melanie Föll (@foellmelanie). * `alignSpectra` gain two new arguments: `allowNoMatches` and `emptyNoMatches`; see #57 for details. Suggested by Melanie Föll (@foellmelanie). * The manual pages of `alingSpectra`, `binPeaks`, `determineWarpingFunctions` and `referencePeaks` gain a sentence for use of the "tolerance" argument in ppm; see issue #56 for details; Suggested by Jimmy Lawrence . REMOVED ARGUMENT * `plot` now doesn't draw a horizontal line at `y == 0` anymore. The argument "abline.col" was removed as well. To get the old behaviour call `plot(spectrum); abline(h=0, col="#808080")`; Suggested by Jimmy Lawrence . CHANGES IN MALDIquant VERSION 1.17 [2017-11-12]: ------------------------------------------------ NEW FEATURES * `smoothIntensity` gains a new argument "weighted" (default: `FALSE`) for `method="MovingAverage"`. If `TRUE` a weighted moving average is applied. Added by Sigurdur Smarason. CHANGES IN MALDIquant VERSION 1.16.4 [2017-08-27]: -------------------------------------------------- BUGFIXES * `coordinates` now returns `NULL` (instead of an error) if there are no imaging information in the metadata of a spectrum/peaks list. CHANGES IN MALDIquant VERSION 1.16.3 [2017-05-30]: -------------------------------------------------- IMPROVEMENTS * Mass values are sorted now if they were not before; affected functions: `createMassSpectrum`, `createMassPeaks`, `validObject`. INTERNAL * Replace `sort.int(..., method="quick")` by `sort.int(...)` and let R decide which sorting method is appropriated ("radix"/"insert" [default] is often faster than "quick"). CHANGES IN MALDIquant VERSION 1.16.2 [2017-04-04]: -------------------------------------------------- INTERNAL * Disable symbol search for native C routines. CHANGES IN MALDIquant VERSION 1.16.1 [2016-12-23]: -------------------------------------------------- BUGFIXES * `match.closest`: fix results for `x >= max(table)`. CHANGES IN MALDIquant VERSION 1.16 [2016-12-13]: ------------------------------------------------ NEW FEATURES * `match.closest` allows relaxed matching. INTERNAL * The former hidden `.which.closest` is renamed into the exported `match.closest` and gains a "tolerance" and "nomatch" argument to allow relaxed matching. * `.pseudoCluster` use the new `match.closest` (could result in slightly different tolerance values). CHANGES IN MALDIquant VERSION 1.15 [2016-06-25]: ------------------------------------------------ NEW FEATURES * Add `monoisotopicPeaks` to find monoisotopic peaks in `MassPeaks` objects. IMPROVEMENTS * `plot`: x-axis label is "m/z" now (was "mass" before). Thanks to Robert Winkler for reporting of the sometimes misleading label. * Add `mz` and `mz<-` (same as `mass`/`mass<-`) to follow `ProtGenerics` guidelines and for consistency. BUGFIXES * `labelPeaks` didn't respect "srt=c(90, 180, 270, 360)" if "avoidOverlap=TRUE". Please note that "srt %% 90 != 0" in combination with "avoidOverlap=TRUE" is still not supported! INTERNAL * Throw a warning if `plotMsiSlice` was called on a interactive device with multiple centers (the warning was not thrown correctly before). * Throw an error if `trim,list` was called on a generic list instead of a list of AbstractMassObjects. * Remove textLabelRect-functions.R and move its content to calculateLabelPositions-functions.R. CHANGES IN MALDIquant VERSION 1.14 [2015-11-18]: ------------------------------------------------ IMPROVEMENTS * `?estimateBaseline`: clarify that "decreasing=TRUE" is the default for the SNIP baseline estimation algorithm (`estimateBaseline(..., method="SNIP")`). BUGFIXES * MALDIquant depends on R 3.2.0 now. Due to a bug in R (PR#15707, fixed in R 3.2.0) the ... argument was not interpreted in nested function calls. This results in failures of `calibratyIntensity` on R < 3.2.0. REMOVED ARGUMENTS/FUNCTIONS * `plotImsSlice`: (was defunct since 1.13) use `plotMsiSlice` instead. It has slightly different arguments; see `?plotMsiSlice` for details. INTERNAL CHANGES: * `.as.binary.matrix` now always returns an integer matrix. CHANGES IN MALDIquant VERSION 1.13 [2015-09-16]: ------------------------------------------------ IMPROVEMENTS * `calibratyIntensity` gains a "range" argument for "median" and "PQN" as well; in 1.12 just "TIC" was supported. * Extend example section in `?MALDIquant-parallel` manual page. * Add hint about _relative_ tolerance in manual pages `?alignSpectra`, `?binPeaks`, `?determineWarpingFunctions` and `?referencePeaks`; Thanks to Damien Portevin for reporting of the ambiguous phrase. MODIFICATIONS * Rewrite DESCRIPTION and explain acronyms to follow the latest version of the CRAN Repository Policy. DEFUNCT ARGUMENTS/FUNCTIONS * `plotImsSlice`: use `plotMsiSlice` instead. It has slightly different arguments; see `?plotMsiSlice` for details. BUGFIXES * `calibrateIntensity`: don't apply a scaling factor that equals zero anymore (happens in rare cases for method="median"). It throws a warning instead and leaves the spectrum untouched; fixes #51. * `.plotMsiSlice` just used the first center if "combine=TRUE"; affected functions: `plotMsiSlice`. * Add `smoothIntensity` to the `?MALDIquant-parallel` manual page. Thanks to Leiming Yu for reporting the missing entry. INTERNAL CHANGES * Importing non-base functions/methods from recommended R packages (graphics, stats, ...) as required by R-devel. * Turn `.calculateLabelPositions`, `.testLabelOverlap`, `.labelOverlap` into normal functions (were methods before). * `msiSlices`: use NA_real_ instead of logical NA. CHANGES IN MALDIquant VERSION 1.12 [2015-06-11]: ------------------------------------------------ NEW FEATURES * Add `as` for MassPeaks to convert them into MassSpectrum objects. * Add `coordinates` methods for AbstractMassObjects and list objects to access/set coordinates for MSI datasets. * Add `msiSlices` functions to create slices of a MSI dataset. * `calibratyIntensity(object, method="TIC")`: gains a "range" argument allowing to calibrate spectra by TIC on a specific mass range; closes #27. * Add parallel support on unix-based platforms using the parallel package. The following functions/methods supports the "mc.cores" argument (default is 1): `trim`, `transformIntensity`, `removeBaseline`, `calibrateIntensity`, `detectPeaks`, `alignSpectra`, `averageMassSpectra`, `mergeMassPeaks`; Please read also `?"MALDIquant-parallel"`. IMPROVEMENTS * `intensityMatrix`: rewrite to improve execution time. * `trim`: rewrite to improve execution time. MODIFICATIONS * Change generics of `mass` and `intensity` from `function(object)` to `function(object, ...)` to provide the same generics as Bioconductor's ProtGenerics package. * `intensityMatrix`: gains an attribute "mass" that stores the unique mass. DEPRECATED ARGUMENTS/FUNCTIONS * `plotImsSlice`: use `plotMsiSlice` instead. It has slightly different arguments; see `?plotMsiSlice` for details. REMOVED ARGUMENTS/FUNCTIONS * `intensityMatrix` for MassSpectrum objects (was defunct since 1.10). BUGFIXES * Fix vignette call in `?MALDIquant-package`. INTERNAL CHANGES * The return value of the internal `.as.matrix.MassObjectList` function gains an attribute "mass" that stores the unique mass (conversions of the colnames are not needed anymore); affected functions: `intensityMatrix` * Remove some useless `cbind` calls in `.estimateNoise*` and `.estimateBaseline`; no user visible changes; affected functions: `estimateNoise`, `estimateBaseline`, `detectPeaks` * Remove superfluous arguments in internal `.calibrateIntensitySimple`. * Avoid double check for negative intensity values in `transformIntensity`. CHANGES IN MALDIquant VERSION 1.11 [2014-08-11]: ------------------------------------------------ NEW FEATURES * Add `plotImsSlice`: a function to plot Imaging Mass Spectrometry data. MODIFICATIONS * Rename the vignette to MALDIquant-intro.pdf. * Move the content of the manual pages of `.savitzkyGolay` and `.movingAverage` to `smoothIntensity` and remove the old ones. * Move the content of the manual pages of `.estimateBaseline{Snip,TopHat,ConvexHull,Median}` to `estimateBaseline` and remove the old ones. * Move the content of the manual pages of `.estimateNoise{Mad,SuperSmoother}` to `estimateNoise` and remove the old ones. CHANGES IN MALDIquant VERSION 1.10 [2014-04-11]: ------------------------------------------------ IMPROVEMENTS * Add a general vignette. * `createMassSpectrum`/`createMassPeaks`: a warning is shown if negative intensity values are found. * `.transformIntensity`: a warning is shown if negative intensity values are generated and set them to zero; affected functions: `transformIntensity`, `smoothIntensity`, `calibrateIntensity`. * `determineWarpingFunctions`: a warning is shown if the "reference" contains less than ten peaks; affected functions: `determineWarpingFunctions`, `alignSpectra` * `trim`: a warning is shown if the resulting MassSpectrum/MassPeaks object does not contain any data points. MODIFICATIONS * Use `table` instead of `any(length(fiedler2009subset[[1]]) == sapply(...` in demo/workflow.R. DEFUNCT ARGUMENTS/FUNCTIONS * `intensityMatrix` for MassSpectrum objects. REMOVED ARGUMENTS/FUNCTIONS * `isMassObject`/`isMassObjectList`: use `isMassSpectrum`, `isMassPeaks`, `isMassSpectrumList` or `isMassPeaksList` instead. * `totalIonCurrent,MassPeaks-method`: TIC of peaks is meaningless. * `totalIonCurrent<-,MassSpectrum-method`: use `calibrateIntensity(..., method="TIC")` instead to calibrate/normalize MassSpectrum objects. * `standardizeTotalIonCurrent`: use `calibrateIntensity(..., method="TIC")` instead to calibrate/normalize MassSpectrum objects. * `calibrate`: use `calibrateIntensity(..., method="TIC")` instead to calibrate/normalize MassSpectrum objects. * `ltrim`/`rtrim`: use `trim(..., range=c(min, max))` instead. * `determineWarpingFunctions`, argument "warpingFunction": use "method" argument instead. * `mergeMassPeaks`, argument "fun": use "method" argument instead. * `mergeMassSpectra`: use `averageMassSpectra`. * `savitzkyGolay`: use `smoothIntensity(..., method="SavitzkyGolay")` instead. * `movingAverage`: use `smoothIntensity(..., method="MovingAverage")` instead. * `transformIntensity`, argument "fun": use "method" argument instead. * `removeBaseline`, argument "fun": use "method" argument instead. * `detectPeaks`, argument "fun": use "method" argument instead. BUGFIXES * `.which.closest`: check limits to avoid missing matches in some rare edge cases; affected functions: `labelPeaks`. * Add missing reference "Andrew 1979" to the `.estimateBaselineConvexHull` manual page. INTERNAL CHANGES * `estimateNoise`: move body of `estimateNoise,MassSpectrum` to internal `.estimateNoise`. * Move tests into tests/testthat/ to adapt to testthat 0.8 and new CRAN policy; closes #44. * `.localMaximaR`: removed. It was replaced by a C version of `.localMaxima` in 1.5. * `.snipR`: removed. It was replaced by a C version of `.estimateBaselineSnip` in 0.2. * `.lowerConvexHullR`: removed. It was replaced by a C version of `.estimateBaselineConvexHull` in 0.3. * `.topHatR`: removed. It was never used and replaced by a C version of `.estimateBaselineTopHat` in 1.6. CHANGES IN MALDIquant VERSION 1.9 [2014-01-14]: ----------------------------------------------- NEW FEATURES * Add `alignSpectra`: a wrapper around `detectPeaks`, `determineWarpingFunctions` and `warpMassSpectra` to provide an easier workflow. IMPROVEMENTS * `filterPeaks`: introduce "mergeWhitelists" argument to additionally keep peaks that occur at least in one group. The default behaviour does not changed. Please see the man page of `filterPeaks` for details. * `intensityMatrix`: add "spectra" argument to allow interpolation of missing peaks if corresponding spectra is given. * Replace some `lapply` calls by `mapply` to allow different "halfWindowSize" arguments etc.; affected methods: `smoothIntensity`, `removeBaseline`, `detectPeaks`. MODIFICATIONS * `filterPeaks`: "minFrequency" > 1 and "minNumber" > n is not set to 1 or n anymore; only a warning about "empty peak whitelists" is given; see also issue #26. * `filterPeaks`: replace warning about too large "minFrequency" or "minNumber" by a warning about "empty peak whitelists". * `intensityMatrix`: rename first argument to "peaks" * demo/workflow.R: introduce `alignSpectra`. * demo/warping.R: adapt to current preferred workflow. * demo/peaks.R: add smoothing and a few new plots. DEPRECATED ARGUMENTS/FUNCTIONS * `intensityMatrix` for MassSpectrum objects. DEFUNCT ARGUMENTS/FUNCTIONS * `isMassObject`/`isMassObjectList`: use `isMassSpectrum`, `isMassPeaks`, `isMassSpectrumList` or `isMassPeaksList` instead. * `totalIonCurrent,MassPeaks-method`: TIC of peaks is meaningless. * `totalIonCurrent<-,MassSpectrum-method`: use `calibrateIntensity(..., method="TIC")` instead to calibrate/normalize MassSpectrum objects. * `standardizeTotalIonCurrent`: use `calibrateIntensity(..., method="TIC")` instead to calibrate/normalize MassSpectrum objects. * `calibrate`: use `calibrateIntensity(..., method="TIC")` instead to calibrate/normalize MassSpectrum objects. * `ltrim`/`rtrim`: use `trim(..., range=c(min, max))` instead. * `determineWarpingFunctions`, argument "warpingFunction": use "method" argument instead. * `mergeMassPeaks`, argument "fun": use "method" argument instead. * `mergeMassSpectra`: use `averageMassSpectra`. * `savitzkyGolay`: use `smoothIntensity(..., method="SavitzkyGolay")` instead. * `movingAverage`: use `smoothIntensity(..., method="MovingAverage")` instead. * `transformIntensity`, argument "fun": use "method" argument instead. * `removeBaseline`, argument "fun": use "method" argument instead. * `detectPeaks`, argument "fun": use "method" argument instead. BUGFIXES * `plot`: fix subtitle for averaged spectra. INTERNAL CHANGES * Add `.as.matrix.MassObjectList` to avoid internal dependencies on `intensityMatrix`; affected functions: `filterPeaks`, `referencePeaks`. * Add `.as.binary.matrix`. * Remove man/MALDIquant-internal.Rd. * Argument "representation" of `setClass` is deprecated since R 3.0.0; use "slots" instead. affected classes: AbstractMassObject, MassPeaks, MassSpectrum. CHANGES IN MALDIquant VERSION 1.8 [2013-09-08]: ----------------------------------------------- NEW FEATURES * Add `smoothIntensity`: to apply smoothing filters. Supports "SavitzkyGolay" and "MovingAverage". `savitzkyGolay` and `movingAverage` are now marked as deprecated. * Add `calibrateIntensity`: to calibrate/normalize intensity values. Supports "TIC", "median" and "PQN" calibration/normalization. It replaces three similar functions with different names: `totalIonCurrent<-`, `standardizeTotalIonCurrent`, `calibrate` (these three are marked as deprecated and will be removed in future releases). * Add `averageMassSpectra`: supports "mean", "median" and "sum" aggregation of spectra. It replaces `mergeMassSpectra`. * Add C implementation of colMedians for faster averaging/merging of MassSpectrum/MassPeaks objects. * Add LongVector support; now MALDIquant depends on R >= 3.0.0. MODIFICATIONS * MassSpectrum/MassPeaks class: change representation of slots mass, intensity, snr to "numeric" (was "vector" before). Should not affect anything. Maybe you have to reimport raw data and resave RData files. * `trim`: replace "minMass" and "maxMass" arguments by new "range" argument. * `transformIntensity`: add "method" argument (supports "sqrt", "log", "log2", "log10"). "fun" argument is deprecated. * `estimateBaseline`/`removeBaseline`: rename argument method="Median" to method="median". * `determineWarpingFunctions`: add "method" argument (supports "lowess", "linear", "quadratic", "cubic"); "warpingFunctions" argument is deprecated. * `mergeMassPeaks`: add "method" (supports "mean", "median", "sum") argument; "fun" argument is deprecated. DEPRECATED ARGUMENTS/FUNCTIONS * `isMassObject`/`isMassObjectList`: use `isMassSpectrum`, `isMassPeaks`, `isMassSpectrumList` or `isMassPeaksList` instead. * `totalIonCurrent,MassPeaks-method`: TIC of peaks is meaningless. * `totalIonCurrent<-,MassSpectrum-method`: use `calibrateIntensity(..., method="TIC")` instead to calibrate/normalize MassSpectrum objects. * `standardizeTotalIonCurrent`: use `calibrateIntensity(..., method="TIC")` instead to calibrate/normalize MassSpectrum objects. * `calibrate`: use `calibrateIntensity(..., method="TIC")` instead to calibrate/normalize MassSpectrum objects. * `ltrim`/`rtrim`: use `trim(..., range=c(min, max))` instead. * `determineWarpingFunctions`, argument "warpingFunction": use "method" argument instead. * `mergeMassPeaks`, argument "fun": use "method" argument instead. * `mergeMassSpectra`: use `averageMassSpectra`. * `savitzkyGolay`: use `smoothIntensity(..., method="SavitzkyGolay")` instead. * `movingAverage`: use `smoothIntensity(..., method="MovingAverage")` instead. * `transformIntensity`, argument "fun": use "method" argument instead. * `removeBaseline`, argument "fun": use "method" argument instead. * `detectPeaks`, argument "fun": use "method" argument instead. REMOVED FUNCTIONS * `iplot`: because it throws NOTEs on CRAN's R CMD check and the most important function `grDevices::getGraphicEvents` behaves different on Unix/Windows platform (some keys don't working) and contains some nasty bugs, e.g.: https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15208 Also the "zoom" R package provides similar functionality. BUGFIXES * `totalIonCurrent`: fix calculation by estimating the integral; fixes #29. affected functions: `totalIonCurrent`, `calibrateIntensity(..., method="TIC")`. * `filterPeaks`: reduce minNumber to length(l) to avoid complete removal of peaks; fixes #26. * src/snip.c: fix some segmention faults because of a missing PROTECT for "duplicate" call. affected functions: `estimateBasline/removeBaseline(..., method="SNIP")` - Add `import("methods")` to NAMESPACE (fixes #36). INTERNAL CHANGES * Remove internal `imputeMass`. * Remove internal `.replaceNonEmptyMassObjects`. * `approxfun`: returns NA for empty MassSpectrum objects. * `[` (subset method): little speed up by calling `which` to evaluate logical expressions only once. * Use integer values where possible. * Modify C written functions to support LongVectors; closes #13; now MALDIquant depends on R >= 3.0.0. CHANGES IN MALDIquant VERSION 1.7 [2013-05-23]: ----------------------------------------------- NEW FEATURES * Add `isRegular` method to test MassSpectrum objects for regular increasing mass values/intervals; closes #23. * Add `savitzkyGolay`, Savitzky-Golay Smoothing Filter. * Add memory usage to `show` output. * `iplot`: add horizontal distance measurement (using left mouse clicks). * `filterPeaks`: add "minNumber" argument to allow an absolute threshold for filtering; closes #21. * demo/workflow.R: add raw data check. IMPROVEMENTS * demo/workflow.R: replace moving average smoother by Savitzky-Golay-Filter. * `.estimateBaselineSnip`: support decreasing/increasing clipping window; controlled by new argument "decreasing"; use a decreasing window per default to get a smoother baseline; (use decreasing=FALSE to get the old behaviour). * `isEmpty`: treat spectra with only zeros as intensity values as empty ones. * `movingAverage`: left/right extrema now calculated for 0:windowSize and (n-windowSize+1):n (before they were set to NA). BUGFIXES * `filterPeaks`: doesn't round (floor) minFrequency argument anymore; led to unexpected results; fixes #22. * `mergeMassSpectra`: empty MassSpectrum objects are ignored now (but if all objects are empty `mergeMassSpectra` will return an empty MassSpectrum object, too); fixes #20. * `.mergeMetaData`: fix merging of lists with different lengths; fixes #17. affected functions: `mergeMassPeaks`, `mergeMassSpectra`. * `.doByLabels: preserve order of non-factor labels; fixes #19; affected functions: `filterPeaks`, `mergeMassPeaks`, `mergeMassSpectra`. * `totalIonCurrent`/`isEmpty`: fix integer overflow; fixes #25. * `totalIonCurrent<-`: fix handling of empty spectra; fixes #15. * Remove LICENSE file. INTERNAL CHANGES * Replace all `paste(..., sep="")` calls by `paste0`; now MALDIquant depends on R >= 2.15. * Replace all `.C` interfaces by `.Call`. CHANGES IN MALDIquant VERSION 1.6 [2013-03-01]: ----------------------------------------------- NEW FEATURES * Add interactive plot method: `iplot`. * Add TopHat baseline estimation: `estimateBaseline(..., method="TopHat")`/ `removeBaseline(..., method="TopHat")`. IMPROVEMENTS * Include tests in inst/tests. BUGFIXES * `.which.closest`: rounding .5 to the next highest integer (before: to the next lowest one); affected functions: `labelPeaks`. * `.doByLabels`: fix an error that occurred if all labels were unique (fixes #1); affected functions: `filterPeaks`, `mergeMassPeaks`, `mergeMassSpectra`. * `estimateBaseline(..., method="Median")`: do not allow a window size > n (fixes #4). CHANGES IN MALDIquant VERSION 1.5 [2012-12-06]: ----------------------------------------------- NEW FEATURES * Add `movingAverage`. * `labelPeaks`: add labels argument. IMPROVEMENTS * `detectPeaks`: only throw an error if windowSize > length (windowSize == length is no error anymore). * `.doByLabels`: drop unused levels of argument "labels"; affected functions: `filterPeaks`, `mergeMassPeaks`, `mergeMassSpectra`. * Rewrite `localMaxima` in C to reduce running time and memory consumption. CHANGES IN MALDIquant VERSION 1.4 [2012-10-30]: ----------------------------------------------- NEW FEATURES * Add slot "snr" to MassPeaks. * Add `.estimateNoiseMad` (same implementation as old `estimateNoise` method). * Add `.estimateNoiseSuperSmoother`. * `estimateNoise`: add method argument, change return value to two column matrix. * `binPeaks`/`referencePeaks`: add argument method=c("strict", "relaxed"); "relaxed" allows multiple peaks of the same spectrum in a bin. IMPROVEMENTS * `labelPeaks`: remove tolerance argument (now always select the closest one). * `mergeMassPeaks`/`mergeMassSpectra`: merge metaData, too. * `detectPeaks`: new example for a custom noise estimation function. * `calibrate`: add ... to generic definition of `calibrate`. * Change demo licences to public domain. INTERNAL CHANGES * `detectPeaks`: change internal snr handling. * `show`: rewrite (OO design). CHANGES IN MALDIquant VERSION 1.3 [2012-09-16]: ----------------------------------------------- NEW FEATURES * Add `trim` and `[` methods. * `labelPeaks`: add avoidOverlap argument to avoid overlapping of peak labels. IMPROVEMENTS * `detectPeaks`: add error message if windowSize >= length. * `determineWarpingFunctions`: add error message if it could not match any peak to reference peaks. MODIFICATIONS * `labelPeaks`: change default value for verticalOffset argument. * `labelPeaks`: remove family argument. BUGFIXES * Fix `isMassSpectrumList`. GENERAL * Update DESCRIPTION file to use Authors@R and depends on R>=2.14 now. * Add CITATION file. CHANGES IN MALDIquant VERSION 1.2 [2012-07-18]: ----------------------------------------------- BUG FIXES * `determineWarpingFunctions`: stop with an error if reference MassPeaks object is empty. * `.doByLabel`: preserve list order (affects `filterPeaks`). INTERNAL CHANGES * Replace some `sapply` calls by `lapply`. CHANGES IN MALDIquant VERSION 1.1 [2012-05-06]: ----------------------------------------------- NEW FEATURES * Add `totalIonCurrent` method (replacement for `calibrate` function on MassSpectrum objects). * Add methods accepting lists as arguments: `transformIntensity`, `removeBaseline`, `detectPeaks`. MODIFICATIONS * `detectPeaks`: remove localMaxima argument. * `detectPeaks`: replace noise argument by fun. * `removeBaseline`: replace baseline argument by fun. * `labelPeaks`: use par("usr") to calculate default verticalOffset. * `labelPeaks`: add absoluteVerticalPos argument. * `plot`: change "sub" for merged spectra/peaks. * `intensityMatrix`: remove argument replaceByNa. * `determineWarpingFunctions`, `warpMassSpectra`, `warpMassPeaks` now require lists as arguments and return a list. * `calibrate`: works only on matrices now. * Replace all `lapply` calls by new methods in demonstration scripts. * Allow only numeric values for `intensity<-` and `mass<-`. * Rename `findLocalMaxima` to `.findLocalMaxima` and hide by NAMESPACE. * Rename dataset spectra in fiedler2009subset. * Remove peaks dataset. CHANGES IN MALDIquant VERSION 1.0 [2012-03-28]: ----------------------------------------------- NEW FEATURES * Add demonstration scripts. * Add functions: `binPeaks`, `determineWarpingFunctions`, `filterPeaks`, `isMassObject`, `isMassPeaks`, `isMassSpectrum`, `mergeMassPeaks`, `mergeMassSpectra`, `referencePeaks`, `warpMassPeaks`, `warpMassSpectra`. MODIFICATIONS * Change NAMESPACE. * Hide `imputeMass` method because it fails on Bruker Daltonics' CompassXport 32bit output. * Add \keyword{internal} to estimateBasline*-functions.Rd. * `labelPeaks`: rename massTolerance argument to tolerance. * Replace dataset sA1/pA1 by spectra/peaks (containing 16 example spectra). CHANGES IN MALDIquant VERSION 0.5 [2012-01-18]: ----------------------------------------------- NEW FEATURES * Add `imputeMass` method. IMPROVEMENTS * Rewrite intensityMatrix function (little speed improvement). CHANGES IN MALDIquant VERSION 0.4 [2011-08-04]: ----------------------------------------------- NEW FEATURES * Add functions: `isMassObjectList`, `isMassPeaksList`, `isMassSpectrumList`, `findEmptyMassObjects`, `removeEmptyMassObjects`, `intensityMatrix` and `calibrate` (only TIC supported up to now). * Add mass and massTolerance argument to `labelPeaks`. IMPROVEMENTS * Change default value for verticalOffset argument in `labelPeaks`. * Add pA1 dataset. MODIFICATIONS * Rename AbstractMassSpectrumData to AbstractMassObject. CHANGES IN MALDIquant VERSION 0.3 [2011-05-28]: ----------------------------------------------- NEW FEATURES * Add `transformIntensity`, `estimateNoise`, `findLocalMaxima`, `detectPeaks` and `points` method. * Add `createMassPeaks` constructor. IMPROVEMENTS * Replace `.estimateBaselineMovingEstimator` by `.estimateBaselineMedian` (uses `runmed` instead of an own slow `movingEstimator` function). MODIFICATIONS * Rewrite `labelPeaks` (some arguments changed). * Rename SingleSpectrum class to MassSpectrum. * Rename SinglePeakList class to MassPeaks. * Remove fdrtool dependency and rewrite `.estimateBaselineConvexHull` in C. * Move importing functions to the following R-packages: readBrukerFlexData, readMzXmlData. BUGFIXES * change `.C(..., DUP=F)` to `.C(..., DUP=T)` in `.estimateBaselineSnip` to avoid changes of global variables. CHANGES IN MALDIquant VERSION 0.2 [2011-03-29]: ----------------------------------------------- * Add baseline correction algorithm SNIP (implemented in C) [default]. * Add MovingEstimator and ConvexHull baseline estimation algorithm. * Add `as.matrix`, `intensity`, `length`, `lines`, `mass` and `metaData` methods. * Add basic SinglePeakList class, adopt `plot` and `lines`, add `labelPeaks` (still useless). CHANGES IN MALDIquant VERSION 0.1 [2011-02-22]: ----------------------------------------------- * First public release. * Up to now only importing and plotting of a single mass spectrum are supported. MALDIquant/data/0000755000176200001440000000000012325510750013062 5ustar liggesusersMALDIquant/data/fiedler2009subset.RData0000644000176200001440000341334012325510750017162 0ustar liggesusers7zXZi"6!XaP])TW"nRʟXdA"#&'ƮBggx!u<]9SY#>X;S)ވdxP&64T:py&ю {M.(,cfpmD^O&J+L:8fG|}- %tDzZHnD]eqY=h@|~4Se1@Q=vߒ!~=zт~Z'2Q|P@MK8$iyMOES $ȭ<:<1xZVU9ƤI+ ÷lojWrMٿE5^`BZ= os>#e(:r۵zr&j#FR(8,ڞz'43fpyStt4įW(bT\4k!AG;Q P Q]2q>AXfGrČ&V.]3MDTsioCo05N!ɢ ݕ 2]77vtk}1 v'Ͼ(Z*dȍô&xxNZ]TmP7s)O6L{K)9oL o2 F~a*ToẀl6~{[)T`x:C4?6- V8.bJ?\jCt2`htxBl<0и/Bbi{!Hӆԑ$mѷUZ4֎C\.+\vǮ _.RkZ,q/DTz{23[LJ|C 28Wj|ZjmE'=0e:6lD6{8U@4dkg~zfXm \z^v{XJ|h9^)sxtIi0|X?HZMVy#^„+-mFT5qz9m5 D\rOiqܝzߕڍ*}%"tN@>GYWѴ-R0v-"B.PrֲR]SZN&h3Zgi$}XQ5XKۑeؽ+EjxSR Aoy4jlI-RTMdn/|}%yL;3tʿn%A7i*d)3hz/YjMo|:Y)І5t0qFmfM3f&j+J̴kN7C$lF^tYSS16 s5Ґ;Ө{,WXu-?>[-8ĎwFR+6F^F>ZeёWY)RT\+K6vuȑN҉8-3-)Ka\M$xkwd.MxOD;f2ȁv%& :j'sS0TX½3ܞڷ{÷&0ѭp'9  5w3">9Tнa lɷrpt eϮ)* eXWO)$Jg^Vby u$N-$+55 5鬜aaN)I衶XE2ݖai,cacT6"k]yMXL+[ț " uqu5U`LID,?4!tItLif+ .̿]r)!A d)2sm:Z0mUZUyX4Ӕ# K#ЯT%FH[5C6'`P͘Qwxym͊_%Z_߳նz|*y^8\HfH%gܞ4</tBeFJx'Tkʕy2sͻtc{nCVuWtU ScuPvI(× Uqd52Q%za/(8ߴ*:C#!erFZ 2--kp*yF0kuRmB aW;WMϞ6#N90 LS!2ifUsn$NjmAic%R^[xOLs=O_Rז%x<"bfL~& @';,O[lt,:+`ENxI}&j¡hcfC0?84j?SB~i .P'!w>m0y厀\-"0Tw>İ Rk8UϝzϫP> /n-QĔ7ތ"P-| ץ4 31977TZ1uA7h'u&b6: \=.agzqG[f #%?zm:'\R[f!5P,%yQ<ԐO^XǠ{L1{yf\ .v?Pt-wG Q\ݜn $ EgWn{bH\E3Qd3o1(F~F^QTЍ H粓$||+aOJbp!-sa VMWJ5e[V3=&6}LF}^nd Y2Lw#Keҵ2|M:=1H!c>HK>,BS(cG,'Օ1wwrۙ srUk8*CxI& R9oaeR哤ULDh%i p;g IARy!f=9 ˷H;jRFNYɓ y-ь)jm^F2R/QvLO!3ͽ/$Ocq\C7]vǘoV.JS7xP֬Wf ,ڙ"3:uuW fc 7:\"u݃sqaH${D&~{]Ӕb4'_Ec Nٽ@Z+ɴ˽^/g䳡 F^8UMoJC^À AؚNpt3[|pǂz|H.#.QƳF _b9cg 6HM'KƮє tǃR|Nޝi{CŶq,ڄ!kC7=gu2jg8s(hۗRcF5f[ w̮%jN0Ŝџ}&^ 9Uȫ)f.˼L^6洝mOms!vS d?ۿE留Ÿ[GkrZhC&;YxbQxnH;(Бp`(;ݹxg8_3=ŧH [r <n]8 SH,S@+G)J}2 [jg㹥ߏŴy-(l !; F~ RMؤAk(O WfWvA΢򾨧{(v-'Աv|838ś%~ #ah 9@&*T2Gf! 7_!=QݻpYDH4f@J|yQ 6Ҿa0Q0FUC?wg*̯XMt +QBq\6O5Tt18D*R'{c[5`5e$~݈{\?}AA`y\uƉەcE*:ͻ_w{-/_AHc{]% E6>0eD1ʤw_γ9 f8CB>UP4kv{:A] N4fCE!v# W6pvA=G:;)+y闚3{ =Q Q{I(R#T5'o'ӹbM QC'])_JV< ˇPsrR|܆SgA25) D6%isČ%K[E!&l~[J  sKVBr0{MvYol"{S9af=ZC,ab?iKlinusۻ%n\ tIj'páѓ9WTs#9]nV.>5y5!,wZre]P xA¯;vU}k7t A-Df~_~sFyB#I7we=σP֡RZ.:R6Xq<,2):Yᙳ% qrR|@p쑮4b(A*EU`X _VUӁ~1/'˰}%wgY3 W>di0/}RA{.$Kqڽ)[ =rFdjJ>Hc#]+F ³D ##g:l&Q*ƥQ"{.Cy^R&7bx4:Ȍ5JM[q=οu$9 GܴIХ~0^>|s[^7" >V7]W4iFdJ@p.qL_y7p.W!7rEy\9sG[+^g8lEq6>|N#O>-fR(k.e)Fٰ|N1k6}?½Ʒ箤 .V`H̞{fi034pKNG;7eynz(ay+ci]{b5)?so:y2^ I4M=_fQH#I(6b𗗒%XE-.w!#<ź(Vo^V$Do"%>awڄbyx sSD- XB CG8hI|I$ 4\ :h`%ke,k:dF&V5\"cg%D=2}0 %a-[ؿ`snoL+U]~gH Gb?Ğl`eHXܡvF`Q$/kigPQ6mf[WhrB jG)sWHm% W CTo|3$Bppn&IGe{RV BIDyi4B_gHB,|fXfc8.Y˞iwLkm-O(vGŰڀp(<*K:3\|UL; Kv'ċt#l, $_x_?\!m!7>z9'~Fs, F 1Z]%a ׷zy5z/vT?6p8\+P8r' 9a3Ď1n6 )1[RhCC~3b4OK]&kNxiD[P&?lGB025׋JVJ(4:;8+Sz]3V|5E3&6y [kyl)t6o($Ro^aN)Cc]x˿Kʤ^"c+5 G^E~çd!H\P~ouIvFRbJ6ռp `<toCALH+7>8C[Lc1<*yb%S衵gca89cgZb+VF hnydb]9^aDs )9T>g 1 EOjG3*`G"dh]+`$/D`sJ\fQ[1 A.W%EN[:l'ar$Ql{TYT޲v'VYf2U!>oAH-rgޘDt>jj%Iaۍcv?3@p')x&>Xef]lk/`lRՇ> -|KL$71 ʸp:р:"a%c,nEx'TKL2@Q{b%cKb_"YD)!3"bo GI]lv}*7u@i.  6k0.柳Vī@FӛXXtq&FXT3jB&QFѷBgP;wqt.6)4Ɛi05U w8Ȋ\_3321MH9yD"WB&f&>zr+}]Qd }P}f]F6[Xߔtyz0 =)m̬8@O2y) Y %B]{ γ3_H5`Or;o$!}Cdֶ1R󱳯 N'{$ %,C{4:>Op:5w\&N;ՠ'oQؽ7.=2)ǵ W%ӛs?+u_q+~ 9_fa DW=GSG@gL!?aRKLtD.%i)ܮT{i lp`$&ht:_myxm(;jT$U_[ǡ?P>RE"UNQA(X7/jE~RirJ/_DTlv}8ۄ= H|]0}A \j !ˁ̪|A Q_4Jd!SL49>Wk&enx",ĻiO|LpTݨ̞y3p6LSj=>Hh{']Fz;YAŕDB(f]+ oPΏ?_ -NnלR~8A` vHt>KJ6/O0tG)I: T6K2k+j9Di[@LFH;i6i>c%l3 ^~F)oUX$~Cz=qhv2d!!uPMMi^Ȫ<ؒX*͍gM7_."O**{fwq4YՊw7ۑl>⊇H"8/an6)+ ̏Mk. KE@鼗uLbmOL5[CpoµXe2!vWӽ^ƠcF~,x|"gvfw=zS~2/@vJsӇ8A_ >KH=Q]TS_JGg0UM7Dq.->E-Cd~ j5 0i hsﲝ+֤ΪAeAM n[E\<|+'d U˟bDZq Yl@m/ pRP36w/t{c%+uYr;A5{h%Dt%:׽}ѲL܁0h^R5>?%$~ĸӄ|`y'TyuARJ'΅ kŕ-G02f. s%Kg}V.Wп9R G+.14,D2ؖϫ꧞M:+r?7_; XIP_H퇘n@0뮝(l=9d7{SE23;;D XKf[l!&.0XXf, يn|_{: }bpt,Ɗ78۫5Rfg0ץ9j>& =vjjcCތQf7't?,"!qܵc,7Ŋ>Y2SAvy3k^zkz9(I9㝴wT,pK F rF]`=%%w 43"Ic9Ӛ*dwGzS0ZNiى>5wp33BEik'8r pI I߹Z<{Ɋ,mhrх1RR%+?2"oEPox؅uV+Z= R0͑`@ˆL?S>}P0v~YZ`s_sgKWTn BK1 !K6> 9ȅhu/M-d6438EŦUEgNA"v‹>tAGd[Hzz0v.1j=لa~nHB|$ezbrCDWㇴPbl|Vq1^8hp*L8=7+G;ιA2)tZ 'a:\YUAcr=O 7k%}oʖF,nViz kŞJ50ZGD1#`'i3:Bek8? IO1~hB?TK`e")^VȧWg?4:m`&C4ٺ"z!53-||t߅(^z1",ocA%iY'"ߤj6pP8qz|IbmrT -*PU?Pɠݓ4=B:P]nF6~3cyC gBUtLT'Rr6 ƂA8z-("Իz\R ~P0clCbOxFSzӵs8Zғ_ma5!tBBJF6IGyFjO@i7qcm (26.ʨl"iK ߢ ҏ'&lW2jn +hSa*eՃ CO[M9c.mv;^%)D|`k<: Xц<jr!mXh*`eIWX86zq5{ȴD[u a=> nY/lp|{]Hn S5x\9 IV&wCu덼KP]|cDZF^=(FTR,&RCv5&zm,fH5wf߳FoJPh4CJ2ȑ?F<~٘:FfC&ɣ,ioȮf T ־O+}Ra†7'P}_WR=Q:FC1 vpyJ"5i7xW3uރtԎ#.$ʀ|;I>@}*]P|~tg뻮Z81_@?O,Eh`"mݥi&fZF ZBd!0ßꍠ6b4KlVXߍnۯ :Թ>3[Wd\GxFεuKIR,չy$=ܧԟd˝DD}apm]C@AnⲨ=!q͒2}gn^k_~*#aBN\{:`sV{D7Џ~G˰Pҍ͕$""'2*9B5ۄ:t9|I1U1`'%Ƒ(?ֳp6I0[#F#iI#=m34XI=0xh} ޖ@g|"\SK,W ?NL]k%PQvOUdyL DGdmp0[RѷkٗIF 3 :#4O:QNWOWzV|ne#$Eȁ6Jϑ+],eEӏH^`ee> &l[$U TX1A' 9M$W r:"~DP0q,N(Mȸ]gCh m4H7v½k6򶋿5}ҟynJ7>#+]9ƶND).DUKͯ'Β[y([uK,X"-7JC >p^6}g"w$:/δ>=D.d8IxwtUYO;}fj`_0MX=lFsqXpD]q#nk]̯4S0 R6m"oM;Y9'8n\[W]麬{p\$u}7 &lV+tmn1YZzz` k7*yҶ+Mݩ3'Y8: o Ycf*DdDGg:R9x%,rOi~V@檞/=29p(#qU^8XCJDt ]<[q/]IdO)'IvFE>=06P5信n챽jiëv- ^G,C Nw c: R}_7K!Gv sc O.}1!@g.+jYfW, -3VL^Ɵ_ﶥP c_`?pZF%*-SdPi[hJMy]y"Q岈q9cs@d%;>B .&10Ch8d.>q :YE6P;!BapNB4[MB\ oHJҨ婱LwUHɗaK@)8 ښP2%j :=((oKHEy19&gZ,pfu'wTR~JMؔɳ4كG|+}jhg{Mq\s~_hx?7o=5F~|06jc%ٱBN*s<_ a.'T6݄ϖӔ=QV:u$I!.˗K%j\y &?3`('^İs,A3y0ݮ0J׻8h!Z ͔KX;+<"mVEwZ9g/Ѝj}:~M i\ =IAH jIRL̙]2#>-Hf"Pt{@M(x"^>&Ritדʭmy?CEkZ֘QQƎuo5/@[NrEtMԜּC6okheR;R{`P& 5^Wc+ԱW6DK]3[L]h(p & BqIwXJ<MnŏSݭDKc& ^tDY?AK{f;krm'GBr\1rbK]iX (,Lb'yXv`pLhk7| '0gⶪSG.{X1|Kg䢀h$5U3vTQ֓`x39甫Nܚ3Mt+kkZqa=(Y \7ku|44Vaܢ=S6bn(EÜ8= [:Jł.(pK(Cq tɭEI{TfW*ekqhu˥G=8#O}P]-Fa&NQ(iH"q%z6qnv!z>P_-բ^Pm`'$@,o_I_Vaq@ &EG53kqml@9^mr~Z zUF:91)Hж#.x`bU~wzn/JSw)(1~_b hq@*n(.r(xk j?nĽa.GjEDI PFB%F*`_ (pQ_l^tVdž6 ZlgP[."Дf>{opmv҃j9\~ :xjlVVf](3D+c=or2_>vy?ֹ5<@M tZRSmq#D.G&_K),`AQA S~vxnM?H#ťrG!(tW՞J:n5/Ԝ|z*S1z!ReHX Iߍ~;T$B jd|M# py'C"*T{ 9s,4G KtOsLLHJm~$g6p1gJ1Xp}D gUi@vWAκ'=Efߵ4T"el9gh_ch;p Ǫ=-}g2;Ui[T+d~)A*vvM8AMj=ͼXump7toңq6&F+67ԗ9HINW|O8}lQTzX`^[>ƨr5Jۆ3~Ax |4P,1 _] S_'[#>PKwA/((֊FT6O:kh'9; 0EpZmᤘnPX5owh^l|ڵrO=zXA}Q pmBß=o \v |f"*xkpfQ{ L%L=ݴ+)RRE;fɼ C;FN"Ry-Aռ&߮ȒgR%rlՀq_X G\2D5' b>ʗp&3Rqt}_[Ug.ǥG.ܪE\{{bcoR HjEH ZD,P<ɱij7!-Z"4A11?y,#5<31Lz(tXANi  'R%E z;3UVtofK3h)ɯ:gFBk1hVުz20_N=۫s*9]:4FZ 1*cy?sU7]|S=\qh,.wl|+B*qt=hCa^^9;lcV >\8U\~eܜ 9l#9 Q mfY]8htrJψE8/(t p7_Lͼ5޵@ӑIZuj;?l[uim6K.2qV?~ IƂ`%t!+]J[R ?eέ n׈Qf瑀`EM/ x b dK8l2mΟl|shY#q ̮)=|G] W} p؈521KET T +8kh绗,"g4\uS{Xn4>,u\  :e p@$C4A|=Ny"BlV%i.Ji՜ }. Z;]&SB\8cE܎CoSŊW?[u"yoa9 '/S2*y&xj-d5ݥPF=m5 ޤdh`kJlO5)?ѩBW*MfuWr3:g\ʘf9?|͗.()R*DW^Ї{ג`[9i=o-L8SdOՋc8+*'8ҘĄ zzKqɔeQUd 6E}5[&/ξSPqh/v[ _چj ӂ}g?0 J=wHp(H9@^׍uF![W@ |ک)cwhUDT5\܆װj+8.Rb\#TҸiC@D6AkaUB:T;DbC^So7#g:;՜3w|CdA(z!MNonsnV3OfS7SDDYT씩t'm{&Z_EGR|Sonyˌz ]nRsίCM j`81_ EBdDI d{owH.(>Sy9j&ThifF{bﳜzJq14C)#;'~r3׬I%i&ǽ\~eԎnj aakޯv0ۦ6aoyi 1o3?ah:)ʈד2v|$U[,,$ v`߲h7ks#cuO@I")iUȳV贮Kzt:dre )f$ >kćzwA@iC30BK{l'6"0"]zͼLfb3PO-t\vl5kgtDDk0Ǵ~1z~'$qvOU?41hJnŮ jwyj`d{f׶&?\0};Oz)s0 G<[IEpQAEB_ۄ$-1MiSOf"~ƪYIwhBg+/ѳi3G/JHͭX~A؋aM ɉ&%_՛eKC~M^%`s%:<gKE-BCz[p[b[g熯"^v&|^KmWEq=\p'"L#% ^91}w&?+plf2@Y\-<(j7f FYR TSvbJr4D1D^B`Zg+{sؙw[ 15 F}]pf+FrqpNȚ )vP0uB(!(xMF5񐟲Tp76+缊M0n *U^%/mIi<K%)oGpy8Օ>Dh>K^u)~Γwt:3FѰt;j%Vn.gBOXN!:05IKΰlAl [txBrm5aXKڴR5̔k pC1J|YJ/߳| t" d?2#j>PkniT_<fKI *~+5bpaʪ)'o `_H!]g~9UAF3E<~^WWBB>&kB~&nmx>?{fɿ}"D9Q+ 6';KZa7WP|W 9wkkROC|m[8ic]=Z8ynk є ^j \25[ȾD;u!_^azxK@wa.IA;ɭ`ГqۉEdk:/@Gp=OiNPeUD2#K_e0gE =L0E|1ذ\@-,->?2 $N<^pj[=:,0?ąHjCռ  <G)~z^z& {_ۋw}ssi/gkhy{m7i.mFj(& A{N-/lPKbp.ָWAQ i)E{8=,[x$#1Q %ԟƽ&i^E֩UDmWfRuzsSH$?BPhq4ƒDf aHtX~a~P/bҹ ֪ү{v5Kuu]viF7ھeJ3Y [>:20< !THrO^c\W?}'v%~FqDX[Q< Gqm8 ;ތDzM!qQb椝 6Rg7ȭ,fK@9ZÉoI < RVrVZʎ-ہ"ek, Arp;_(q)s"+/@+7deIBowCY؆&UId]=KDD>(@=&O6ы*NA⥋$K$v!wQ_d*/ѤdO)蘽OSi.6 &X"T|TG!TߖT۠ǚj!mE(RElm1}YR:Kd2>:3$%d5bcfxgztfϓ|"!ڻD!f eK n̂c=Eɦ3}HCo HEw$Jo?0s()Rj:z /?G! |O q]$[2ϰY$\=};D٬R.l-QyEf 8z0_QY`q/>Xer63R~NB1z^UMR~=-Bз񎯛4ߗj8ϢM^\.ou`~Ǽ+iT>ᦖ|&P?m*N2 f@ g|3F]+,D`NYάZ{%:mfѦQR͚8tB [q&<( \g3$Qmzza( G,5̜NjupYՖ<9]i^; D_{oH, 3bhkl"4Mo&sFn&^20 hC}z&N[= gUP`K޺P =P@(ܢ=FF8*ì{0 ]!H#tnGZ}D DR=VDf;9Oh_ߘvp1pLƫ)Joэ#{W Y3Y#0݆"VMJ&GeV͠[ND[~5zik tb˿ȷs&>0ʥKy`(~,aeXjed%}LYb+DWiGN w~k&>׷k[L{.(YG"-c_Kb݊H06ҦlXd7P7@0/k oLq]RzGk9&ʮO}k|\pa.BL8(d2Vhh :Mq b|+ ˳FsMb1=X-s&hw'<k*\8Յ*xu_u8 o1slj9ON~'b0OU(v}v}|rdJlE4qvo!o }Z dGgz)ST9ѹs ~Kb(缉;9t'ڨ83[q*I/<+$ \7eN KS cj{_6txOT!ǁ5{ Zɨ ".ҩW#zmcA1o=bkH[ {~:$b-:*1|CΉWvU OO9Ue'ÅQڿp"_(О =8S.JβU)oMUѮjhv T_Ű[/_5dwiT8~b7$z+۔V-[,@x-x}J4 ^(Sv2=M dSW,یNyMSv-vEKtu-V(XM6^WZ8#>8{OgdFhWMPhWk6!gS8ZԪy J;J/*BJJ10z~\u|&KgV >ս4mez`,=["Rn{-UJaL;gy_ n fHM u 7,qO6l*O bC&Я]Q5սl@ObKr]`tfsn`$/|WNّ;ipjFh~TDi5P9hpsfClP˦6%mjF}R g_2˦>K?E籇S(Ӻ9DSȳj=,)(O[ؤ'!b@ `δI>Q ^󶹖WJc n+罀d×'SކU_>B'4PkPK}jԄQ߈W9tlrpYdl\NSTzo/Eh9Y2d_u7f{tg9F<FbKOmK(UcT)LqHP9`'Mʜ݀h}SJ"ޅA7z2k0!{J'f'+Id8*scA/EEE%ЦhQ^[c55ҴɅtd.wuBdxDTi `C?]q"&]s#FAWb,W&ֆu8T)*epq\<-AX3'U [y;0`J $1[d]zr0_Qͼ9AT$Hu(#0 ^r{_H,8( ȄɽUH0+}@AMF9eGھG g9b'fN(U`Z>(XQ8upNGC ӶPЏršMg,IhΡ$[ztP5wa ޏf vެvB,'f$㈋|E=&C '~>YZ+'fKIO0b2;-MFF?uS:*WѓC ™$ٌ.ԔX-6̥RE< WaQ?{.iѣ2r1֝ZahHVt5W)M@Icz(s[˭L杞CƯkA@OJ[.]7G 4~he?$@tJw0qϋ"[ wMScȳm6NfT:v`DueUFlx9Ir[ }5Yp~Vͭ e49(= Q.bMN =Grv^/&qUjy$Ŋc+C.m류wxYnBRàu͔*dz=VE*nE7WKhۻS 2nq'n)^խRrR;Cـ^ټ9nsή;!5T5&S-o}F./%d`d;tF1,zR2 ㅆYxa҈d KYZAKݓ9҃ ach"q.'<>!( 9j1::%6HcouY v)h?P*GHTs jdxCL`j;>qI?ʩK3-"QM' $?mr,&vo|(u2o$j+!v \t:3Y2mh'*:UA{()Ya\IW(%[Y|_.uH峩l41oWNtܛ:V͎OsǫbS^A7z|=+6Jyq93 }{$E8J@":>8 I嬶)?OV`kI2:,˒ +dk~3y,,"57&,ˬǡRƓnK0)ڑ.S1+d>`.|cjQm.ȍ4n rQr +y 1|(͑l>2&XmOv;VVцm@Ys!EUQ_szU]xl^Jܵwg/]s7p﫫jݠ߹PR:hz(Jz/w$xҐ ԯꡧ)E Q$-C ;ӒN[ƈXZ hnɫc(U3 #Dj|0LҤi|@_@VXgy`0vĬ אT߹5Mk=3p.w8k-SiћeLwȁ ~xW  1^5FnYr뇗T3d>ʐ2.05PՐn47JF&Ŭu$+Z@ZO#-CTmuJM~jrvI_p%A .I?y%[k Qc3jedG)Y@KjkQCBXƙ*,Ǫ \FI֌(&d]*Acn\L. wT4#3L4Qhjzu7^:`l2E5`IoF /jn2.68ܛKC6Rk%fx覯tlÐz,Cy_꣕M/=(Ae) 16Π BLUn%|-) .7E[kE}=q= r V&]gG*;BgϷ_*5ܨ^?:wD;󲅄xh&emG},N@m{K-A2e1%/ʘD݈`sϕ>I9XY܌|Mu3uc9"2M}R1㣝ENs;z](ϩpDAgVq2l~C]@fJ%" iXpl:Ijq~溤ΑN+6F#8,xوq.DnN(Vqby2^-n*h 786ѿ2 1OX|xVT<)aiPã}& wRbxs-MD8@ɟ\4Pt\-v( |m|L>kt4\(YcEl*P4JbVۮg hl5 o'1Zޝr@90[0Z8Ӌ&hˇI]wu-{1C7gS)ZwtxJ* 5eQG\q @Ft aŕ5Հq/VȹJS6=[ུhT)J tVA]2M. T7qxФg{q=%,(]$^)K[2ʴ1e*F瑣 @B[Q$Ξx7s?dR~J'6I Sxu*ˣU}IPi>"]+7EC(sW޲$0 OMÃu=faխ/ۍuFk 6m%!^R%7js^o8WBsK@oi*p1f/4fG u&PfAr9%dN1qD 6܊hR8.rŒ_հqxDC4@^#d嚡GثٳeR%?gߛ2uI-"֪aBc(9GlIX4m>+D8[l%LGͥng8.\ISn$j BY,c*uU Z N:T"l|]8_8ud9iriTȗkw)ʴ34;+B}-$P'UiY %5w/s{fph5㓚aZχ0aiHC-!WQ'ՅbŅDKD3M-1:c82EH$khF,JBc,skC˩7ڥ8bϺi"䭮CNPݘAOD(##xQ׽%s?4"0c'A~(rxz϶`TOxٖ0,j)KkakșC&S^4zt_Ά̙4_͚fƾ/XPn;CѬ 6E)Ba>@+7b̯@#67szkVE4Ć]+:BVȂ|IzhlIQDY^RF|$<OW!) tc͝f œ~|h. Ϟܶ~TrwVCkecJ꤉KPx V\ ,T'>>q/wf~n/Xm#0O!g ),J {eݞ!3czm+Α8o]D( I!g|=!zdq}N C6d\-a3_E~FDF,&{*@*y LU?5,v(-l_Rth_ 'YjIfQ+TQM#5cͬjpj뙩d=?eD_z]![-W*+LDN%# zZU ib _[= Z]7~\#x1Z-QFK9j>B}G.,e|t?p1]fnsЀ 7vxP!fa+s`Mxf|LӯIYL)Dg[\8 J*ҝM$*H 2umgi-< R>!eUB.jXXH`ė$ +9ݏ, c-ܡOàAڈq yUϣ^g>-뒥@7v֐P\&ީ'3&7 9o3iVNGdjTD'3.ZKt2Z.EUAU6`͕x\bo; nl5}pȑteM\$#v{HPiæ&D+_ʕY2}vJ.H믭! Qa+}"EvOA\$wŹI*noY|OO$0^I8z)}loMJ.FC>;ZvDrM54sFLN ag8ݞ ˻:TfKD6GPVOe L\~t$Uu1Gr&ԙAQkk{#*[_;SdVbu 6_PײIhc;1cGe N@-FQ{`@|ќ͘wŋj_2{T szUj(E֮!حV }E$G /Cx#,iPfR 8i,m#m|Fy`dHSqsW*6/t8<ɑ_$sr}"Y AY;q؜--i)Yњ%hi75zN3?w~%_#Ig9 sX EZ%Gܕ*97nGRh'ΤsOoYqϞvj&:If]p;Kbq oq hbg@ВZats|NI\)ʯvS3|r]҂Ջ Sp RGl;{D`PU rk:nj?K5XǩlzreC 'tC)̡D#*0mo[6ڰ~E|q܊Lٶ-8)%F. :M]tNm.)=#w#\ksKJ$ Hti PF*/g~õ;_5u! ܨLݧCKUil1+\]߷vTx?hjpM%DE|/U6 r~< m[8KYp>Xd0|p3+}O&"is|ߑ/%r"*=RJ S2,=*QoX]vځ/`U`B\egD<恋hPLc7< {>.v+ iZW(OgA ƗfQ=7.|]< 0"#V,ڼR>[M4kB"ԙbZ\2W Tam<*Ïe hMmV,`\9> bA2HB03 +GV'_A)$i vGt g`ToCICN:VOs6,]CtwXq_LHXW0dOWX ouS{ۑW|wQiFMس~fv4kA^iQ*xË·CR::n9>/M'ϮNQvXnfl&)_`و+,D(+ikIO5#cq 8jy$AK9 7 Vyuxj.7SҦYa M7͕@J!h>ySO_Sx;&)R:ؗ>9l PlG7?0ߊӘ 0<+vQ4#J݈壋n.8 !=BhAd!&:;y'vȼPt o l!hꊋ/6;\ *TFMy>K.#Ie*z-7f @XPA>;!3.\2mNbEhoNɆ8eJ%VsSd-yTøYk@ӑUՀ=~N"bftO94hm#Z&$?S &w5o:;k @%vyca뙠BdkE;#)}ӄR0똦q腶ˣOjO_& Xm}ϧK'upVި`,]5LT) X@ײ噓{q>b=Qp/b܈%M\ok(^"}RH^QrZM")ԙڋ Rd烁){k0"z_=qLp!ke!H2Ew}XU:9-ˠ⋁<{ $ꈋM3LƖߟu5_xB7NphqH ٮ&GUIQkN93 GPRYֿ~°6>Ժ N.h'ghDI"JIj䮉^z144M ~@^C=t#`r!T𖎵4hS4^5:y6-:Y> ( EAfJ0WU"0{Z@A,/$,#D K5N$G^$GmFcN7fByO"VŁ,NtXYyaۘ[2KXn5ڌ`[)&{{{D" Q(P޲o95TzR"@!s> @jj8ڛSpZgxn9q`FM<!eP/b- 5q'^߼s]2FsIꊫ8 ݏP&$܎()c?Rg;yg9󵚾p&;3iu[umUUSG {^V݌чDivaKBέJbRՉ!D֍DImGHp:+5]@%(!60| ]/GׂNjRRxp|q<&Y2%])S,󾇒é{/xnY nXգjꇼxLܜ>i? >xO~#Ѫ8Hs7{F31cuH8 3:cx59|v@nƀ;j'$`&>}OY1\~VdDTmr1y] ! =]J֪BPT~ehHBeb QrK؊": K!UNn8!HpT,z[ nOZU%W=DNRudzG= AyVc'0(F0s[^|Z^ǵ80R}yތ {+9>yݦrU\KP<%%MI[ǔ:!^E0{ D93)幀p댹QY=+Û?S̹z(4PRު'Y)ioST>\C8[,d5d_ u*|NTOa=0bU g+pՔ-j9ZP*LR vFd62Q&J7j&}1ڤgOq=;ӕ%CP| .>)joX5oXQ&u5vL4 zzVܤSܟoǥ?~D'um_yQM8pQP?>lc;G-pTB 8_FGwFn/n#nj$F;n@x4J#h1<)X1A Aީ*I [B @^@1EI֪[B[X"h:&H>*TƓ/J ]\f9rT;i~}ʽ[Λ؂;1"{CbڐxR֔w~b#|9ozдlΫYUь } \Rҫ+]H#zϟL}fV@|n~V.+\&Qy|g+t yZ/ M^_~wFf)zmT^΢Z/-4jS7 O4<(yYpooτrkPmsiߏ)nĘ-ـhdӫ%P_$K/P@#KGU*|Dy jW&;J5gL/p2&fNSDyQvR>ay('.|P*xAcF=$ ƚT놥!2#1.uiAx^!ݪ )J6Ҫ\~}.?b9=|EKd3^֕ QSxƬҪ6 މ,Ke"gpB:4,{$mT ][?n++ "*720"Ts W7xg0W<#=RHZ8g<MlEޅ+ngbmTmKsY5ӳ;/t<Jʁa{m<_?R%xGpjq*[IzXAY[]ntZ'$Q-yvh3Mu+(T8ҐF{S5kfl3ROS_|Мx"^V7}^n/ƥAiQ]tܯ~ߚK) ;h}P [%E_z?3sv+hdp 9iYQ^Ydտ'SL\]ga4qK.6\A(Aտ DdphSs+%vC-Kkw_[|꼅SYN8i#-.OM>qB|qbROgLrr9E%__x5~SUZQ2 b9ٱ,,gf9} ()ZGL  br̨ ڼ G9J ;Wp5& Pˮ\/$zLtLE s,띁nΩQ=5@tPAxND^׷a>; t\ ._<&- Yq5PY?gY;AΣ}6u6Wi*^ p- yN}B%nl& hOCD2k+0AE7 ЭEgC]6a|]l(+hȫXCaIHAx9Uˀ,~| kO<1 l 'xV&W XmDG{q l빎"L:SŔds?^W]A]3 nGL+ 'G]!cޛ$4c{Ǻ8.au>(udv۰3`0z !h3=jw,ސyRR$ ,rfKai32 g3W[ogrI +e9kLpf\usrП)Ld~5et=@1oj_M<-i y#cS!ʯXs O[MXݓ.'_rΉVKc"WnK2pjO|޻1i vVXϺE9M *R;r']\2ӵsDŽ|cnD) "qw[\#;3yxkƘ\-%#"A;.?MЖK``go&}ȸ80i+PܾqgƂj*oTrWrٯk\12>+إ?ppk6lP4UοV< ۗF(}V򌂁uu6s_<coMܓđ50bPH"CHSOLiڇ5s-J-pyPb5ovYۘ*=QG~UUӍ{;yZ]v]h^!K!Qs^1R*MF/]B|g[d~m|")i8;(8@T| NMF%bn4͊"?ئCo R*d0X@6^CW1@Cy3#֠pBbM-JxBY9(M<=]՘mF'CՋ,R@uuG6b>`C+>*Z6#BďޓR <^M\Ӊ>Mг66EҾ1|i:bn"x.UDN]1k\71Iv%[v1w/Myzڱ}㒡qw V=6E4O'$3G|S 0OisܣB+29[}}2](!-tp j1*зt!ol֕ TzD>P(:>6#ԯʩ*%H3.XbFb2;a> _ڟ?zl r@eU߼Ҥwn`"ϹXys8=.mv(p4P\FkRb>rp26 z><'{*i!Y k3ES<: !0ŁWNsҞ"x?8K9PI id{5 [ 0:npek<:1ʰ:`0՜e׼Z[{,721šS"Eq8_EY 7 '*|a"?n|RȒtfc\GNu>!_;d;CB/MIءɘ>K^ۇOt-3wH7p z,@ILV?6J/ DS2&[8`M{*%)M#?eJJ*0'"G@f˸(u'>Y<#KI3#742*}'=v$#/F:z)q=- *F0O/pG<=l{s}`0H5ƏI3y'-߹6:#~BWj㉠kgID]0ylÆh7G]qnΪ2 N}tS0c|5%p )LV~o q.D0*q]Y2k^ ‰>dIͻtTАuL8Z,VF OvïϛMPsӤADgpn\b3 8bxN.ձE32Xo^r֕KϏ!FYIZ/&+uB]*دS)0RQ䵵obd<>M::{na"מͅR{fOt I"_G+]FFr239@Du+ yUĞ!6H Jfr2uJ-r6Ջxi3MYǩ[xW AhҠծ2D @½JpiWb߸wNTNlbJ,_1JD U%Ld W˘NR!O+ *' =%qVt53C*Ї1~^1GL)K1Fv72x޹̈:. $O}H yܓg,xefc[2C5U3bn2$b_xM,o4M(H~CcWbd5*7w)@ k |x[AY[B)ksQahaZ&"\RJ^t$l}^E_zq]FzΩ%xU!\k7127$_![R]Ptp3p> h _r b a};5zhH@ ^ 5Y@UҞھ/GGWEָ:C#_s>8lm5k`dRaDG/CyM xQI6nY $ *I7BUv%ӭ.%BnP.[1ݛQ`=K<+u)e1E6xt-rjЬާ`eqWZݫag޹Z%)? UPDd6.>]҉lFOʯ% -V{翨 o⨆z*BerL h' ۋr(wlw5ˏ|BLKG[tr5omwOe4I8xJ"j4 /VW A4f'-Z.'1Dg@8RzYB +;N< 8vD3j ueL:m+%RtU+KO +.">OQ_m7XpIwZ7YRB{qwdn=}q]T'Bs/kԕ%`5gChzVsn~"{}cIPӒ}#T}vy$a-7maڝ ;6ybKN"Gf,G]{!Z9bR; 9'` ܹ] OLQ:A)܃I@[# S9\Q8;f0s:V 3_ #C\S. ֠]mU 1W7.|j]$>n:[lXECvyftbniMLL,oY;fYðihG6۪ ЬU JTaoVZ& >*;z`3KFv[N87YǞtPYPzdk ӫʵn]_k>$i-$+ Bs;E3נ= "XeXQm|vgxI !Iq5Lڂ uV+h?^c_nnJxqtl)>P䲧oH'>0}`}C'b[ϯ(ݥkfD0 xN#+ epZC'yn0eDpTy]i&0g{{hiM3z*%Ync=D5-hɐ7 I%RZN[Gl|` !TİvCHn̻ 6wy3X_<"[pө  9~kv85Enu{"pq  ,I7\VT-t2T% L9{鉕{2Z8d)Z6KXQ-ca/j!tEn:tVpI #eԑ4L_ݗGf\0PDx{ 18?.q5 ^@dRr!(HkUz'n$'v@`i2`+d<;*iۀQy]Rlvk zȩ*Zҍȱ2 #wV-xe&^%ebCw3q⼳3/O٫$W奍01w? FNmh<Rؼ/C{Hs#sZRӢW*u`q0s(/xa' B (_y p .],n?7Ǽ34p;YJqa RKJ\;z_&yØ θy )D >Hq[}za!XT+v *;w<һ{M9g ^/[I&8A 7N؍ 9KLI. zoWYF:h /Os2xc:[hRM[S`Vc- +-;5T"/: ТVRO0`/gT3F&5\2/U%7€{2՟G:#lfmQRos*=ZNS; Kwߏ!u9ti#L㝮f,JjAAT\#3f7]Naf.=UYL""DmƒbCU܋gܰ1pюoWѴc`WA?![3|4mDz@=\CWڴkWiZzD6]BC]!J܇DU}zFmWIY"t*ӓ(ʿ󇀪 bgPI7.Vd!0tPݵ1WU|$ׂ41K&*'5[ভ!M*mޤJwrB?; @S$9wt#=<$??aF}^TETw9m=&vE+[,:ގIJL[ :+';>ڂ]#y6g,\'k,҂ a<;AM9-Wbѡ *o/7΁ ]]I{]  A31޸։B GZ n(xՒhJykhS)aTFd=s ene, Ye?cyZ, lSL˗yZ"|s^:&AEU"K1"U՟>u>wo^O @*:@Añj07aD'Vr-Kįy(P򡿞B5 ~VD0`"ռ|JlsqaPՆՏp`V)|1Q?")T>_E6pN (|gj\?{#-L$K,-:!^2F%8͞LDLk.ExkgP"āR=v8J(|b>1\6\\ O5@qf楢`u:Ӏ8/+yt7`ne(P'):Fa&h@ k Dq@/xP+9p)Ya&mSXjT8ߚS}#Dve[`2 Q!JYۜek Κ>K$ JQ^~ήu[Ԝa<0jUӒ!B-xCtpeqV`]ybɕI?ax0y)l5oV@w'.2>(~#w!'70YҒGz&ePX'|*8Ch)@OǒjtJ~5 [ksen毇xTDm A@9 l[J7:1z> wo٨Pemx 0M_MX>=䢦w;~*K;;J+ >/\kW?S#+^xl/-XIֈƙh+ _Cqp5r3(=8ܪ`xLNJDIIDK<g3!KKJ<,Ÿf*M z][//^fvGRȿB/DIskl 8M- cqoޜq덛Ѕ&ZaChgv^ym{]}2qa-2W^`˲h ?b @Ɣ\]I]ER6`X ޙ-F SKƛ>572qvˁٓ*:٬(CeP4ZIY;с -,~"/z,ʟ!\M&"5K2]`LsJ9nȯ˕28^"U,.9En.`F"Ŝ8wѻnzձ)1IYȱbu[-nE<X2DZkz#gqP1c(q'#G3Mɂ-dWL'd=\7sq g_DK*QCsubs4u(Y*y_QqN|#+a208l9FV )x&a`+IϰaԲf: (X:Q]'1Cl N9޷GT66 i1ץS'{t` y:p_%KRuu拣 .`0ƕC홵hpLGR TAb/UWኗHk e'߰#۸ý8>ݚRUT,{yEi?KSXk' }M Y=Pвc)dE4RrOۚ:}yX<-A*rD{7/l _^aJRbS"f*b|ڗr_a 2%e2[J'7 =廜DASuIQy2q݅LOA\TwpR),H TCv5 D:e`t]܍?ɩP3=.FEtMp{E%q0*T)̨D;xSP1꟱Q\bFHd$xZiɍ&pPO2s+l^ȾPV>W;z&K U۱ل{4 Dϸ4GӃ-WF#6)8d@G6=M Ң,32ĚzyQf-'BFߌ?0Eם耮$#BI.W%/]B#"(=}QX' MAoA3E4*qr-.ɝ.9|^Wʴmث:g05ѿ u}7,<\i3ϡxP/)q`JG"a<9pkUAs.щ2wΞEݏQR0 ?7 7(Z#s-wPɛq®=r=J?00,Q\%Sj0^[dz.Ev #RNȋfDvMV~X-k`aXog#b0K#.Mтvc\{L ~v&ͅu9\ы7ψ^0r"BpI>qn\bC.  lDuТkmcgTq3W[Z#M7$Å 9iiN#.ּFdQzh7ࡺF^O‹aT! ?\ (\eœh, i5gi=ϖ̵d@/q8O$\qO]-|as{0{Ȩ. ^;sq* L#O?O@d.biNnau0[wZw#&J70ON"m)L I ̅s 0XfӴ%z ><˦cLk /?󞊳CUD+ʟ8A).F~'FWRO'Eו7H3[?uw I:T{8+h 3$% NRk$T rnNJ5|)VIdI*a4ҖP2UeD6uJ"b1o+j{3.vPƼ ^#';DmT7эE whz{Ϲ+h>G.xFE-<~!&ڏdH=:Lc%V vzRGeK"`jhh%s݈&l[QP+:A2Q3 {eRW=֭HJqǧIvVGXGזA%ލ5rɎ* G*.(%R`4Bᄈ5vDUg.+~YLJ(89N2y$(e - RF'l!}5xy ?M&gู& <T˩SAaf]rdPېR,"sPc`ݘ|?pay (U3h1SOk8NQ)Q,|CL˵X7*2 ,d@m UB?ool"X9)r#1~3 W ֒z3&@5taj7Lk76^ ɞ{ۯi̩K{UbG$I J%ne%ߠiKH,RAE_95`.!0*.\ =amg>-m`=D1^pԿXs(ß6hd/;al7E;HϏT:w 4l= H*C&T jM ʑ6JJ9,SjltvOFnJFَ9r95B< ^?v&])*mg|",p۸"A385[_dQx}/Lt&p.' tR:% U7v,k(irӷ{DƲAF>*HDqJ[7Dq %cU0Tµ2IuaJkP"}|hsHT>wRhL>A[1#DXevwp4Q=8Lfw=C<ðT诉 Eʽ0Q T,eN!Hþs~vRsDz(؅bgz\=^S^"F[. ȴgW@g^wũM nZqH?KC{^?ˑzv0%|!y-Vl~Ҕ7265aĂj//]~\$ P v)m>Qd*$,q8[݋tOaX`i҆l{J3맳ÏMV1K0W%yOܑX4~ȚLKH6ҿ O{Eơq~!%80N*u-|:)2vtr yWu01 Vn_Chȋ2O`lɫƽauS6>ͯY RƥqhGVCM\[Sr|ed $w_5cP F߀tir*@#|Ԋm mţeCX!:Z{==1ZzC5<9־f,™T]:)\j?N˴E:^'F56urNFmp%/;-6~|TbE:Ooh1 Wy5ys5T50\:$ wnu뺮Q!Hc:'&/wÜnO^Q~'7rai5m߲dG+?X|ސx"D ilq~]5)"y(6s)t1M1ލe?SXܑabqWΫ xcNܙ6MLto盵M@CIc:K Mnv< H|Khp `.e8e2a,$[vd8=Aq mxD'XѿY"n(48r2AmSћh!dEfWC\'zxU$dyն #nj '>AhUt.[ ]cRT2iXYَC7G3a,))P#>`şv Tq&9_ß&ƳOQ'ɶ*?bC,ywgk\ h* mq g%E ah{܉1Q!H| :rmA#ʜJ@)C<7%*Nf|PVS[ޥ hEah(XëeuzyAHwo-ՁIZbͿڒRO|d$qm=!=h['Uxu V~DU[=½0VYst]iʁN 9=ū&kPE5(*eXV—.%Zx`ɠOWTޛD;y r]ەB iSHjDZZ}*sX ףg!LK$(kǬ\˹D0 /T"ԢYYOvO .WY+.nQ[Yy\h(pfH>) IKZh,mX./Ju:%(%ijrqm q UGVxW?2>eË/W ])Yxy=۷D5fGxʹ%'E~`H)mε"boZK&~HAl'(/7^ոLwq+.# j֋6]fl#lBpZyvesd/b'mcXHwTI4g ~s^bUU:of_ ;xLԊ :fŊçm:ηhn$e3Dw1Eu dr GZH1­L֑!UmcV"E.66˕Q55EyFI8FZ DI:wւb3wE5^2i Kt)yũ#Z# a f++$\~Ptf™!ucG/ar6B>7v4uomQ"AbfA G>p&k"Aans, V{ZA;B:F6RolM8&s!D~Yb4Ů+ wr  7I6ڼ8s1䱭lDUS#|;LLZ."tU٬6a(; /enԤk鍏Yw؆;NSP'ԞmK)깽'㎜ty&<$d1tfЯnv?4$=LڋfRH\k>$!WoJJKehXÐn/HlBu}[NHJ;G;Y)>OIPW~^W<_4)=U$)Etb:@F~&҅{Ydۛg5tUG-#dRop._%'bE"ȍDNKQrxǝn,pÑ05X@úAoZ}]_e?;1m4 nBa]X^RQ]m!Zǧ$m$99ًSTO[&X|(>3!fA/qG i̿q³ÒUAFD %M2NL:b=ŤgJ`M@}"Vԓq/ @*j*ï=gd#JPAe8&Rh[|B+ҜZ:Oje[HR8\}SryRĜ+7Y)ݯE.d)8 IoqC_='×7Hɯh{<۪͆E ?zC+XnPi" Ɵf2ϸwSqh"v7v-lҗXCA4EiɩЗ= ~xv^*m%.T=VN% w+H\d|2rObU8MIa ӃkEA| ~ٲJ4>vLa5kCVsThUoBCt3pe-wٗYqmuϡr/S*M}jkУ Q?c[@@i{{M [}os>v "'> >>Vc:$,qgw5ªXzuF.2 hEkDᾝH!Ŗ) U^1Q'ni2j]rn MS YKTظO>xӹ|BMQ8VM;$XaXߊ;ɼf|s w¤Ŝ JGԝQM9< ᬯvL:48B2tQwjT+~ʲڦvіCkOV@~+ZBqV]~8-L &BM4du?v1!z%t,yXnDŽUŵ_dzܝh䁉25C`yCR+ɽ WQo3TZ?Cy跢ӼMWXRd ɥ[YL6zM&.t0Cu ǹ\([v,"k+iƫ{({2@Ǎ27v-E9s໩p:B6{ h}Q1 _pk5p9PrUOo#kav%)'2=ˆco}!b9v7u'~y6? Q;݌].0+nʡi^H(mqr`Hn_n."헣+]@xa>ٜi[ȳLqݘX NGYFg!RfHcJJ ;4nPG-t\~Qw#8IrSQжڿ5gYe "2tj7C{M|Eb0 'S˫nl9>~ȵrݤÅ#~ B $Z'J V,[hEP]VmM w CF3_%΃Pj)Uĭ"!4 V7 S83F{ DinqN="y9&ˀcƒLhߺcVaZI/ZIvDgfTxg@EO^Il@mGr*Pv Q6=F AGglBs{,4AYom2h˪;D/9,EʹIS&D\D.DĐ /^Spyf`~{^BK׽=plVO\#&Kl*xà'*^fF{HraJFoZ@7=GnR m6utL WP̕l)o RemDI%voA\ŻF7lTA* lʁڇ RdghS<ǕvOtt<PzԠCM)Zx ^qxOh"y*>_AHpضg7'𑔆,2z&OQD [J?e.L#ljs&SW;1&jL;*.<]N"!K~lthl8& dRqt k峽sg (/m4EIhYU۹߫ et,T DNNz~/^k.]'AA4yĿw~DH'UPĕwe\wsL9O,ʮ5u6lÉ-BZ~sC7s_)=}$Ȼِp*KIvF.|+IWHbVˠ\9n.!{WbWJ0o̳J:Q(ĻT$S".$v[ fj%)}0쯠' B)#ZU=B{bQ!ImzI;FĀИu:XCٳm[Zr"yܤ0SqR)zWD{1bk96{e ;.V*UU̳5kvQ2hFQH $G-O/ͳʥ>u?0%qӭm2.V sX_ɕ`M hGH"!2ml >(Eh5BSQl$ATX)! &>^NSPqxt"&U 9ycTvNRzgi{b>Yష tY͏._׊=NpWab<ժD <_l86Sp G]0u`XϘ )9{LD ZA0><*@i6[Z׽baD?NB)w{HaF"pD{&UP 606;TU?%2bD%w S-PE-vxrXʙ/\AxG8ւEv8DE3d$%;c}Ox͛Ԣt[AZ{"d~t kQs<8;2`W\7cn_FOr4lkļI"LYbH  }bʆ' [vWIkrğN?±f$YIj=S}MA$;(S6h%w+͟98xqnfHZB _7%rȄ ~"ct.=%<%.|im~XhL=8:O +=#̃2/~k׸%D;kZ1! H[ RBOUgܯd~ !I+R6_ 7L^Bĕ$*&cϬizpq]E(R]b"g9gc5-CJ/ 1mFXn06|7R'E5O"@a'!O}uaVT>@pS-xQ#.-7MYse`7eIڸs2HC,9v0YרᳫNb[R!~ -[oĺB7}Mٸ0GYY' 0ZzCp(Iwm+ #<Xˤh@&ChFCOz`Yxq#Ѣ,uT:V};Y4y$ʀ35/dWUgsb5wDŽLP͸$^^ո-$*4s[J$t󶂐#9RPw2@Gl|\0{Ε8uþoFUǭD `4^x?]͚Ύft!}F3 2po.S֬՛~n!G-sTp448^"ٷYH. x.YucNs$)'jorHZ9nɞ\oy[t!S鰚 :WQ)xpu>⃧|EA1 #\ 8~F$. "uOCӀ4/׵M@Y\+C{Z3Y#Y)'??eطJ9+輯e(kD<+8$ݢpND6 Ϸsf}3qь 3O-Y4Dtnˈb.qM^ˆNg,!󱎖\8+0xO,ioAihTv,!dL$J1~ju/0JuоIn$ (t GV*R:pD`yM&D#'LK+P/Wa59MecaCcڜIF)P$O%UޡbiځX?T++jf3ސKuճ!nH}H-ƸCxЁx#]-ٯ86^W;w1>@IQ?xԥ1Jvi5NP%_w%/`Ej[SmV}hY@0U$YV$ yЭxŭ;B& `#[ q;206Ŀ=af^;_y-ݽ?(#Xy}_ET5t̓%^z|.E*Ry/D֮5Mjբ W ]^|d|LtR/eJs`Q%&Fm#COwxRoC-90Xb^79g5.Aooh%g!^K2Ƅ9Fm,ªQ,"7jJb]6v|) B.N2yl[*@n|ކ` ${f6 h9L/G2i~-)ENxMquꝥbe=3$q5>>4u!?ʃݵ8XlXq e1Ք4Z! *uw㔘Q5F1{\:J2}dtU^SgeS@5~EBD@~k >أB;r[(މ7V$&394bȭrlLpoߠbc8kCk@whTf+5ρo[6~b9:4}dKl2Q6GУxFz7eiX乘o[S/wܭ,P'.f"OFdg9IlѦ!>P)>cdw|;>[g22a |dt3z!91n}W}KIقi~Ϩf |DoTw #:icJX<-C:̃iw8Ú#CQĔpڲSk? 1 Z;fJCXVz+1+mnxױn!<4/K蟏ZUt΅@Trw'S V"b%a\\Cl4q85nJ~ H, IqΔ޿6'2mJ LͦK) fXNKH}V6rMfd˰l1rVQfiVq'AFt=ج2a?0w@Cg%t '`-dvB0̋1/ƱX`M0| @  hZu-@"dS{9iԃ?{ESt_JRJɋY/آ{y07+"nv"YMKM{A`hz&x]hiLz*ctP\ yRi`0\8khyC [Fʊj@11\9ْ1s(~䳐4hL}2s1c@؎opk(*7H5I. @Tzw8jAN1(q*!u R_'`1u^)|lZ; ,U:~|jI|9i/2A>B|Fv˕%/Φk=z}QgqMOzϛs\\ jn*_-Ա .H1m)1\*|5&o ه}p 4l8tC/ 0֓?'>N.( +s-L 7ӹ&ûYs sczt |r6LҞ,髩%صGSn$e__9-b툺vI=~uʯdWv$}}TZB˝\Jyxɫ!?l~{J=fN\:%p|eĊescEߙ4X`YxeD MǛ R;>=z"uX~h| -=@gچٸ~x%ʔ gb >W$D 8bl~ΐ2{;6ҿV-M]|j^/g"VG{nQfń󊞰IFd]a%H6'%`Q׸#Le*z)v?6|kW f;"9j)2Q*1;6=kfqS(޶^ZB<.1tf#;SX_.A,x~kQr4AJlcpc9 f .|+ҙ١XkbҾmՓ{sra~܂CjC*EK%Ob#z+X#ɡUaAjXN9Yrn+5EikfS_@{ŻJ`/nQUyuG]|U o폕 &;2k Χ-1j:ᔎ"9h|KI$3UH&p/ $^58f,xIL ԺtxOQF~W*+Ti6%Í`;t AZbGfhƮ[cQsJa }6u}TJ N _!`7AavѬ=?pT+9~,A vq%=ToGEH]I2BzgGPثhO d-4Mٙ)ڪb$̰+<:bS[ɨa&57L8=!`U5y:ISDu 2ֶ-sskh>1hSw!vUoq [(TwL`$ޚX@P W"QD5Lɢy:/i+<+k;? mZ oc;L^o C铐P13iiM'\(q4$PG= (bXt{,MtQ򬬣5y˱"4 Ǡb"}e%E5zsFq8=xA\Y,Jdt4f~?znqڔcGmF f +Y;gT`6s6jeKkyE`k(B)}9onvXaoL:!\"Q[[A µU5ct%_?h=ћo &DM| r7NtS!טz+9h}zڣ|ܶ,xʾVq#7pky E #V?PW[W~ 52r+3t{yQ =Ɵ ̚^Q_\=knEeݚQҡd{u:EQ؎i?Ph v7*:1<(9TUL}CY14ө_?pɽŀw(RdL ! Q֑q1 2d;@Gxw‡GUAEHj.NM8Nyl)dﳷw :ʛqWg#uy J +6Ac[#ΑbJuaz$6ۍ:fJP9|4xT&vNV 1-3 zyp KPE4CuYviűGη6_]G(=gE{cۃ0Ye(PAPd, r1{eikvt]9*Ϲו<^0> 2 CO.ձ>lWYJ_>OМ:OE9[,A~!NUxˎ l ցuSʖذ_>Q\ TsJB&5\|Ta@ex ɮq5r-ܳ9g޲wK ab#~?؋W&4M $f)ҝt9aֺT`r)qnDHȽ ]LLO£,n˛L;661 /;. dD5|L0p]bؐJ {*Z0v CFلa<;Vn!ԠLfD fڽH=`nc 9qyDUaG+jJ'Wpuk Sl=nM%xi,b66TeoQ#`!):!<[u->(E'_j3yu?6|3qXi:cV+0g4lZlFdnuIN\й0}XEy|-5(6$GP]z6 edzka}]͵ք֛FY$y;Hj])b֌|WpXSW:zb)R0yK^AguBn4 H,nHUx걔92 O*n СKCvГg$_mFi`,BP 5hx 5s}'UGhIU$~gM݀`rM݈^߁&Zbq nWJZ ꯩDs^g/H}2 Tze-` f?K-}8X봔NYF/Q'cZc F4<+1R)\upGU͓bc1VW7e#64n$bfȎnA9U?/3-9bNd~i^vJ@}&\ &х=E[ @*pU):*P7~kѾ}  >XsL L6W5N-GbW ,ܧLCbq* ǃo墿+QD><Qس xE]ϰ%P͹++xP|a 6Xe5~XivMt.bvZxU8ˌB`MMG1%\p*3Ϳqw4 1w_(Znf*8xiuH4&•P>2hިxi ax0F9;'yYYBQU\a KsToJvVd08>GRdn> @ P=ЂMFmM;]^O'FFN;).tJM]-z"{"VDF tXԣqi0L_5)jӌt̑o;l`|ښQa~u-?Iw58p~*7a&-ft)ے/su Nh M D k0 ˊJ9:L<qբg9ftH.?u&csOjI*=3jjQf@3}o},l.ubAa& hq'vG3 "Y )pI ќƦo^Tt'ȶcoc4ғ7JRW=ǯypvIE͇l)bUJ[-AKL8kǕsJ@ H-6B!<ݫ[swhpzz̏ܦٶ!}϶K'1"8{ssu!N[: hwT7v~#\.Q5T_pIa[ě1*mqGn0r:3)bZx)T$ +w;$$I/mBn=P$CU1*P3Uײ;K ,ne'ر K Eո݃9ߗhtƣWzV#g~ 9O@揶H'FTwȧP;}7zg#o;]r4~cⳕamPAbZ 74oz@Wi=]`ŀe4՝C2O@B q;=;~^k 6uj~>k p2-)w)шd֭dbN2`m1HCӥ3PpvZ ET_&MprnB ˬ[u VI@0sdFO ַJ(+G‡B>6Wfkv0O 50 :kA- G>صS'H?i%5]kpPW6 čټD0F%I\ތ!rΪhg Th^GqV&Vይ f2q.)b)bMdgjySw@elBlD.۫"M>l⛶]^eL<]_*BGF}o+0R&?0ۀ%@Zq0KMDO(;SڶFQxz^ŕÜ hޝM}Vz[G*W\xNJ@j"nʒhw*њ-C5 kKIVEv:詂!q[<,JUl"}sǝ|GEC8p܀Xt n$e!Y`#*e".TlSK"B璓;N7վV;JO_C/{*WU,[R;l5Etsl֒^`f-)"'G f*%Y*'6SPD ER 3[`GNT|.zABqi1n鉘8_<34vscU^m \b-8LJM cDhC+O\8}˟K%lu_S̱J`'ܣ毟 U)=UWbϬgv9~wpI&aHA'0ט3Vxe擕|L#YuNӠ<hUɄ ПmN* i(Fm+Z 0@ѭoHB tTWZ;6]?fdN$ o opJWѵ-֒AW%U=SF]jn=\C d<΄;^N i6QA[eL%;bi|[W>)NI`^zb` rWV`/ը.A!4Ck͋(갧 ==A,#j`nNuV5NHTerWc|WU]/y axu:Yuƨ% Ԗ<[äSLٷ*F|G_0ɽâYLtpwC QдB` r(M^l@0/`;^uR{mJp%}+]NmWN9zXԼg\z>Π_Ht2#i:j7S?&e׎qPBמ†jL$aQ5uVlOBy\9dkm~PfUn[ и;WR8߹1>H# C)jD:4<J5Bzۛy!ѝ˖ 4oZ].72wסR`S~"|?H:XWN CSrO`<"O70K q At)cdRC/i7U_P}ctc%(A;4z||6"҃>,|p[uIzF$g(f$r⁃r!wҊ71`@pu1<8s0F:VjI{Ӄg9s 9 (S\Kqjf}ךr/3lu^tֵp%B( ;SD"yƙSC~K}^k3' LH{oƄca ZAh>!} g!'/4aq -<_򛂕|Z1Jn+x3"室EޚKeZm̞ ;T^\)⢇gȆE}5iވDpT}휉$vOC!'f]kMuIJӦ 5Cq: bMc yB;cAW>ZםIk'^HBoIApibs]c ͕#ϴ:KHjo{Nj;`?3 TW],V2@VqF uW ]+-cOinM|zFXˢ(Ҷ2ӼY&\Lc$J՟_XEM:umA*6ࣆkMGm,%1_핅{3MaOAi-unt|oZ'@O%n E7NU@sN#0?V.gi/1JAa LdǁA|ZxE3[I!#< XGnyuz'C3[7BL4J`\|9q'p SrQLSzUXR_xxг%aNjrF1 A)4XR(HL`ը#bmKʾ/ZsSLXp%d#F,!V} b޿yy=̬B~%d,{8­)H^ct3! %#L.ZG>V&> `,' kTGOFA7Ifc (V0n'}<Zn'.\ScĆ3Xÿ3% 6s yt&rfL~m 2ԉP޲Ov 6!|"/Kv!'_sbk&+:ɻVBdeXr*(Z'GR!ڡK$`T9pbX##'c,x`.ܰ~>t+\aI:SU~m::Y:0GN𽾮/=@Xa>1N*?Յ'zfRHUDHDŽm¬%7ﲾCRalQ˙d046dKj #`"2U5j)`62yLneb% =c`ͬ^xb\n|k-^Y9ҙb{54-ޞ!-EaR'KT/#C3l&BH]jZ$.t6FXұ6r8 @!v`twQ&4cD^Al\k}B!ݍ&zJ=5KXF5%3>A6 &ЦQ/6Z~B h ^ H=c۷N?H =çlJl S%,LdDdRrXaY vSTElowc=˭NRoIU9V,vpML6-gw;CЙFJv.LYs=elHl>^;;VdAS"}qx2*SrŬi*L1"Ii7"a7&p_9'\Nr?4Kqɚ6C_Km'NGv!&;GLO ŰyH#0~sp*$A!lAmhtJ(rZjI T;r6izӘޡGl@6  oЋiAO3:] OW.8‚ $agŁL28_<;۾$GJA.;dF6-+L{?sk,MBpB]EW#M$av4 $ĀImXpŢQ€EXd3Գ/g6pr^OJsga,o"ИN6A'ȋ>7ARR(4_ DmZ@^1i3˯NK 7%_t;`I+.O9S[_[RAB|)," "z*Q!Q D}n k dmN8ʒm9cy`f'W2߮ kn X8/A:]nj%M'd/lN筒Jؚ0T:,iy {UA)i PU}덿0: jq1QrD>]|є>B*SL _:P8f?$'T&çp x[J .^kN,wΰ4^X}} +z_6V/(LNi`Tűs$_;eϐvҋuI\G:b!ʤF2΃rpFb$34@Rzu&3鬙~Zw*#3ϝW_yT"I,(|4-:ss֏NI}Ojͼ13^f_^t6i{PLlw*uչ*An9Ph HB{C, e{Z'ΚCi#drjFA*f^ߠl+ ^d܎య $A//y|t WYpg9 7_s̘oҋm:2{ Y] лuTQ[frQ9cdhNdyb?hDgi􁄜4N{09rFi9wti"ɺ{o xYHF&cDz2 4krR [k톏]$fN %ۑj; v7m>[\xǶH (-9:tD6R&G\#̽hGG!F/I+3)h1tR4Ve2oAnNy`A}OlU0;8O6(ϼ) j<#:vbu;0jsMvIܦȻ{yOfU-N.4i~*cG%ƃPb&_NqfS}c. mM%]-U}}kɢuVx9f2U{3* sv=F>7u&H`ЀW[=\1q ,EJ>T6 ZLn)[<rR?>k|[gwkMfn]{|`;DWp){]VIBız3" W]AlZmgҹEsipֱ^❗$ph11t}>|J5+#םFH|*5]1t]H (ϯ2iG`gXQWspx THv:{jq":S)Le">G'(PСމiX0]JҼ#j2SkLAB1ϭE,.A9? <&J;0?uTxhNIY:BBsʼnUaכCȎZ|ݛ#ݍF5y}a C5/?ٔ/_-/nMEmDkY`Zs[H"VyCQvlV} t KwJ\C8P?|`D.nš2q;gf ,MDwlT{zSLd5 ԑ]ޤ׊foNK>JG/"Yd$bT S)Bԇ7@)[l!A s?9(2saIU%*Dž)QmTGY/)۔6,x\R4J46]:nL0j'uiamj %=ג8]ޗQ*[6%zf+5H$cXx:Ӽ@8uýh35AcQ1b|tU Tg17:y0?HCLs  Y'?wS,Z>r>s(ɩi JY]L[QqLM{Y:Tt/EvUvE04jnFhdʞ+qE_a}܈Xa16La|@Ŏue08O*4,ͥ(ⱁ7;a"pDzL9HƼ4ʂ5pc޽ fAőV֗h擌 _ˋֈEk|B_G CSXԽvNBAeSWۍI:EXg{K7030Z>*2so"8ܖ9g"f Ofp 8dg7Q%!&lL}ɶ'7'Lk&hͩp_Z Nc@.{Z^y~qâ"_YEt!f_'v*aoK5x1:x`ٵ ~@Wp8Ըt :ґ{qV(J#r2A-+ `vVmhW@:mAhg$t9JD%K'#y-(zL,xWdW0cEhKq\&G i@&܁ԆiG[;Osѿ]5T\Dސtԃ{NuD(VȅS!@qō;84g/j RѦE 0L hP;܁*x0g݃vfR/7k5]7_[Q:TW0z>9ϘaE݌lQU<7vS9ER/ŏt]]+ԆHe.9Pќ6R߂ vȑj4om7I0E|mG)yf3.|F\fobO 5사l>a%~*>@wR& UTw+`Uz3SwOk*7C-R i@tnJs@&:QQj|X`_:ˍiklQ 9頔tnub #MF"L_u d!#N.lnT1U jgN1`X3L=;'Q3F| DVle2FE8 Z]1`'7VKԛӑtSwt3wD&aAP8!ǵk/bn5>aBٓ]#B+=[YyŬqfzX 5T]kܸ>hp: akux"NQkgN|o?׍larv}"E7( i9MB㜀Tmo c(у3m>.֛#wl:cKVV:5Æuo7d)*v 9L3敩ؤ'>9tqPb#Vq7IdXx*]=ۼ;UTjwV&]񗶮ۓ+7_++-N"ohtj:H.`vn53w&w~,21_;ry`o˝oy"%'N)aX:>b6dUܺxWHZҶdP4=!pz[&KJ-fR~ejJ݇$x+^{ A n\}dQ'LC]oG&sNKmҗzX gDjsEDVL%<&mc{o1ln!)֫Bu mHʋ֧'LxSEM{ڊild<("MOZB'3Ao^ѩ3$ "L]f֐BEeg:ed9~`}d~a/@s&ښ\C).ET f|% ?JsYґڣ6j f  ']2 qhpmiÞ{Fag:ٵf'擫AT?ȰaSKG~a4C+zXE2v6S;KsF EK"QK*^_թz4OI6ے[$YpZB]sUX6KY⥝vzO+:xAh9_ȟOTn 5ٚŗX!!ti8L^n4pūUF4^_D7#!kC,%|+7Ħi{-*ECރ̲Oz3#8Z2@Y0y;EɓhnT:.pM볢A#0QIG8]&!ȇ[3_ˠ }"`[峑x^2XhGq $[i][l|Xh;%ֿ6c8o]9.j wouoټձmC֪A?EX${Qs}l}kṈ||:PZҔ_{ $i/e=wї,b\tZTRP%%TVU҅vҗCtߘ6IrT:c.$$p닖Klg|fuL8P-vajavl6]q]%$vz<0{7p)z>7|M?[.#2Vb K{Dܰ]jDpidFk`-U=`zs>&ba&E'IZPCoNjasȺ-j`G!aC~L``#7pi̢OJUwnj!l_d]ch μsG.㯆Wk+}- 9<6..7 6Q!Yd#Ԑ{J᷃f+j24@:M]m9yeiֲYa:紒5\p[ּ52gX'*A]V`IF蝵E>|sӐB48R0 I}P̨Ow_HVZXWd8m\Jʍ0JZ"F lshÿ@m#m34KΐFR@(O0)ٍF!4! ?(1z, Gv|0rNi>c$;5&$JO" VL<\ EJyڒh{gTb*Z(t" }U Ӱ84pJSšC/;Xu=v/[L(sgx@Un"6n*P-|Re N v0!y;r(!ۃ55^yTF@]%1Ú=f¢IY5-$C6̃cjܩȇl}Frv޴% ȵ ,+ߗR-?2m{(1eQ?#uֱځbS_2"#{xH fP̞E`Ti%9NtNFE ,0W51]?̕Ym!&BpQRUѻ=P8gLY'n[+K]* FRݷo S#g_nbOwpVE(|8팭O Wny(\ӤˢS|ůx\p֥l<Y 8J ʁQP\]w@VV05pvI/ 魰;(RRL+r{'DF!T~s,R- wqAh. (8A6( 3v <`1]Nʈ4ۗ ::^L,W[R=\9䞑Τ'S"EPX p+^F/RSUxa=.i ~)oo X]6.%nLSclb}C7i',nFv`h@NI>ty .['1zi=?P/Q3%ot; y,* \8[|1 p `n+5E f94H$>) ,botjm7WNQY0ɮbF0S eF8m{oU/ N )_Qx^sZS$*>!d~5x*Ӂ4 TB}JU|#Okr(XQ, YJ(dAP^cѡDbͻt c^a`C4X'hҴO/PJp<(znO0mbmf/vD?D.z}!Fvm-ѯEjmV0է%pV2a ~ 9jx$u~AܚWژTMYcf1n/p aQ-oVk~eVt6q%=jD",K[[;-ɽ5%v'Lv Pbd:HY vy<9 Vg{VY#AV[W:k*^Q( O%Ke=]PzT1jIX~;V_E}3O1ӌStki#&+,Ltc=Z_.g.hZ5J>jN7@fz1qQp!2 ĤzqIO3Q-ʬ U6*{Tb+ǼAI %# TMZ 5|9? 2hՙ"^$a;;/<#̭ʇBTT`<^(t1+$x+H\2*\:k4 VǷi&pSKTێX ˲BP ۋqg鳺p_yp ̑pFOcuS *a>oS6u=8pO`UkxKw_~k|u8K=BY_y'RɶSc oJqWmԸᄋgC@"Z&X720/~/Lg P$' X!}ՖphY ~hʄf4>b/ =I=^y/9kSǜhr3}Ւ7jQQJ ZCRz'3 ц2>{{%wϩa!8``IJ{+Y&Ki֠EwCypCľa)/c3C.p=VYvr}`D3YmiAQdy=!wՌKS>龇hlӶs!B[ ɼiw o:4?ݴxA/qП> h2Ur0+UG% p*kS{tKQ% Bvnnas eaN%GP(3ȨЖpzRZlrgv\mCSA]My" 0 c^eM@#{hLyUN ワď0|&H|o@`RHS#$ݓg>փhѯt(g~US|*w@At,.Ԓ>iZ$v|N]ѫ|b☽!/kp{ RM79ޞ_x(O.97^JOϯQbavΔ\b*p%,+}  g͌^(^BkLP=juՉlcq ]-v=}t ՙR!j5eΨ>H9Jn~͊Ц ;ʚWPC>m֢8bR гtj ٍF!evRӸ 27G'㓂+nmc1Sϳn?GdK]-AJ߯fnY E(Aŷo^58E[Jj↼. |;R 䟔 ^,ASvOF *x`~mV n͇<62XMZ-)jϭsϢ}%d͑%Ѿ#v=8=CE([C3;1:$0O$7cl<[i6Jg > y2g>CvQ4|ɟ9ȀY> *a45Iqv$eT\76+XBC9<3 *g+3ˏK!gϞ\CqJi4F6 cQ$@R(`oE9S7!bm"]Go6Nc4T#OL\1C@<:lz8#[Խ- A v)6e sFe:N::j$&&M4uN%P)'%$?Ҩb${ OxJ& ros[ZP"Y3e XX# <#GOT!q'}cAAA" ZV*&(3qo$sDCmc7cl`tTy$H FF-}(/!?oYŀ1S?dg:yE:WnR[Ѝ6gL8M(]$U3K"91IQ=UG2l~a <x-E{sRw!ay0d8lߑBA S~,Oʑb=CEDD%Ѫfj:kS\bPvTeFEŌ"*av ? >ıʼnB xJB*=-UE̯xEGEuwlbW7TPSS6ᕜ9!~^kItqkJ,F!t8v12x;`}6U>/B 5Ȼ sńqx6xX.]d"tX#;} ѡ+ dL+ĵYyZ >Sh!Eya |aś2 NJ$ϝ?~ 9l2KL:wb}@Ւg ^wz&%VVA/Bo肴Kvͽ7Ks],>iZ7#'T́Wl>R=S7~`:Q7x:" uL=W  9ߧp!֦zLgf\ FF\aŰ8V \0tp <Rv#5ʆ`0sP{P\(Vg4 ~!7XE_,b}q]0;ASڶ²`"B{O%XfE-͸^xlyCSLAi| ]Qmy 4 |~alc яsZ\v,]G37ݮ}JE,wbU%)H?S%H w0P0a:6Qz:Se)4u ;AOm~)yXTNRb~0sr'@~@zmI f_;_/q6gNRz 7;[T9]:6oz.XTձlss7Srѐ1kO=|7{m];>t,T@VW  LRom"8SI(m61b6l#ְvJs?4sr xǣG6\;%r וFݚl:h",2!.(=89|9w#>eR%N ћ; lCϻ-?whnT$xpDܫZر?:A!b;ߔi`!\B`%(>sJ@k҄ @qa asj!JXl$\#1vk1o1s1yXETy1"TՇ iիFҟFvmaqAT$07+,( jT:qBRA:.gBAv<R4K\ţXW6œ Z|A,aװEn]ѕ\[]G+}yR׃<UlA +It }ibYLp)USC&eRc+;VD&)ve%h9]UUm`=ƚ ~:to;86,8GHY5{W(/B3s^ Zߎ_2M7J\cӖ@&+4^7Mp@aicHάUDHFxΚ3ZHvL{Iw&1]>?V")kPV{ЁX5bEK:6Ŏqj>^8MDFTiǍ6HOȤܢ(خcY'|,"IAyPdhzE;.覵anQnt.</b4'IvT=+k&h.(lC8qvUu0g ΂.p#/9. D$f)(oMe3'Tݲ!L|W574[WLPEaTq89!KS>8 $1+!?>ҽem<0e0uJCPx[P6 s: Z8-]hô.[w _:i;H\M%vUb+&. wГqw6?,t7-+YkM;Mj 4op#j5z{}+ޝm4 RTU_xl<&uW 7N{ i @a R"mP3'~FPB;p@_K^BsDā5lדBȿ ǕJ?I&5XgPqc0 _0+@KheRAeftJ լ8w/"rƮ5[P\{ mކ~ԥf*):e ]$m(ox|f _HrSp_]?[bQ^ga+U_f(@[e;X6XOi><2Ct0NN!+B8J%>s7riQl*{ q:ޓb9vD)G9hQI(jl?Kнv\-L[l Ic饴Xeмuoi;^nO0)b LLotTn'?W򢅴 uH bHmp% ӹAMs, 2S2f&Uٰchwk&bY19,y~δmDϾ2gO]`ǠV FF̿xX݊3IOKVW4{ نoHV$ef1KE󶍭pzzE $+65Kna S/P,2I =H+j/;STuG'u-ԫp5~l=KOBsjVsDV: N\UI寒dfOdۭ2*ߚV|q5eaiuD#|p t.vN^K pV9A;[o+$2sM,,Rs AMWI7wҫnO/-DBhJ j51$io>>sXa:$X 7 YǺ$/䔠b8I X!XG/L8$nfGeIL6|Y7N">c-/H}~TDﵗJ<`oD:֐6NKQcI r'?@[>:~aP31}k=ߡ}k'Q/VU<'>U&NU1lIaLM/vts*f1t=Qtf߃$!^j5) I&I4M.:@+~.ƇXDrC<_CE)@fiKqNSBрR[(waqc*NY_ymD]4bwkgM=N`AeR2} g#|L8:PEَ[la9^n4LuAz7|p9CL˰]Ƴ 3nEB '2:†_ᵴ?sJ7FRQӘSչ8 ,IwB9tZ@oOX"FvI Bnp%E~#~*h-)lͱY8q/ Mc~&W E=X 'g(كM~{!W;wdkh숮a#?2O?yXSN O7 E=8[A'w܋!W^6|@Uy}s!' "PeW/\-cy4-_vƳ3˒ȬSyoRVg7}*8bK,_t5ۆkt/!;G5p P@fvA< u'엿z?Ep8dYAx]piYQkqwcwQMe/U4Ih4 K8 \Ŗ- 2ˮ]l&XlLJٰF&F)~[6KdF (4x])ZyE10*D:nT yȳ$?xJ1g -tB -(Y[:LJ_am+rwlHP>uXQQŋW=I_ e|H"~-fwwq8dg ueZ{dJ&Wj 7J\STFY}4b":;u2ꬱxIOW7F2#{7$nYHQPvӵ33>X;QgzeR LX=Q%Yz9qz?cD%4UH:5'KsQe7( %sbwkPde3 X%@pIWJ`l{b5ZzYFpOМxDE^5Ʃ7VqgvuH;9昛}4*tmalc@4]q),5n`D1rEȐYݻRI(~R_ \~^U9IT̞%~Z:jԓ+2em(_.Ϻ|fA# q9Ei`- pbEhL/LFA/]q,u"6M Rх˞̦78Ǧr6Rl%%6jm<º=^ATpSia? d?y@}rq ;wB>X><kTZ@itiGK3xM8⌌>v_]bŃop4qK&>>McmT''ٰ$ Q$V C@4 kq= __s;TS!u}:}Z*{bs2rҺosuE 9T' ,Wb@eBo)T:|(oy:IGo(2錂)رF:m5 :#d3mY" B .9 Y>zN `l"ID1B[Ox|TBGSM)HI;{42=)똆H@0'_GI\ynzr f^|e> C~$ j~ YIEQqdJ謚aduϫ;1އxr\n6C8>f]f*l:3-7\?@І"}Q=LBL3$ kUI1飡< !GN l#je@Nj1uRvePvM];Q U߲dy uIn[°#4%{U5=X!<-ĨQqqRv) {{7o{.5,8A +9FZkZ7[NYClba8[6`)K0YoumyC$~rp|ɖJ܅TFFG75 S(,#5l<'qy+"i?3NBNPqyRO#2}wi_:%q!fݒƙ/XnR"^^mC _ܛET !lmM.+Yဏq):ϩ+Ip)r` ^4as"dLsATi9zU[yU|}*|\59i= )d6ǯv0z"dR#ȑHQyvshV[ܪd~΋L@PՒt;ڶ .Г?X"Knvm9ݝe7͵f+fIYcnChSPEO%Hd0 /S7j.{eLnDw' 0G!b q.mg ".D1,XVHoCW{Ƿph1y^+(G絊z<)C?gv!_W:5cIXG6]=`ض2\M|p:8J.KbS**9E7VUE~vlyn'=chFԋN+j}sFQbsz`ɾ`^@"iZ$wTg^!o>*NujzU3s낸%Q''P"nč^vЕpX,~PGA Q9K'!b-BK-4ͺd97r/u>@oS& K[~rpͪ8RQq3۔Ɗ^=+r%es&ϯ4&X> JF܀-s6kq-빫QvUf$TKv2+BtDlGU+?rZis _:Zi;:s0U) .xH@NHoJYv:OX_9'd[G3/9<Ͼ{mgHz' 8-$T=0;ěqP;dcI)j {N @K7_#L9q`ȡ1%>,Ӧ]Y[` -o}*n79:g‡&X1r5= SVX}U-._ %]A:;Dm=m#JCRiܽ1kO]}l[O8g CII=W:X⾶bB+,63iɁj9T窧U=Ee6b; Rf%{#"H,+šqhP߿ڜ@ĕ_ItǻUUHHeO3 ٪]0pYZ-SжłpU>I[K:շ79e8!u Y.ŊW!6DTc>޴an5s$ƳGrה 4 jԔl)=Un BMn|5ir Ѯ}!!dDE|̿}*|{M=%kg,u?*lwkˮu;xǻ BW2(-v[q˝3%:B2>TI~%anOXs=e7N!Ľz~; ݚ#f)*&O( xaҰ=S$iqLv(`P=㫬=9Q|g^k<)'Puo,Y1cܠa˜t,|%K%_l`*|3͘ ʇ`OO*kRya9&"3@2t~ ]MinRS$ О 5vrww0Ѭ|Iތ$H\iM>AЏ%N5hLbOGK0=ZB!dply:IJ}lz:_dqf QIN ĂH洙^" !†QNHryrhTSs ijML$B>> |Z=]NEPhԫo{I3-Asؔ!pb1Rlj%~+Mѐ>瓎t oy`v+6q>jo̍p^zRkWmTIdȰF#.؛նg@aeD*Y:TI}\`qǤxK<+i!*Jfь%C$2}ƶA<^1:dMܿŹ:|zZw;ɤ-B̞ͥ=;. p|KJE\\g?zmk:sj'CuK@Nջ[u:AJ>|,)qjK] -D!IiGWidhH)Pj}a 'qA}-3#xY\]5~N~zZ 4d+}e3"~80N F3jAXC$7ap'Q t/N#ppUmYI'DzENnn6Uړ{y 1c'ug[ڊIegZԆVOIZÖj65ZKzx﮶R3R֣Q$vM:b*w"j!ӋYy[9?XY9ݨm{Fj֦;m>XzVg-\(@=.W.[F1t4;MHKhhvHAA\JHS&{9;,Y!(-kzԶt0]^Mk Lu* An:n?SFydt [ܣwi=tpG;ľ*݄66,0IboKܟm(QV /)뢻k`Y-Nq+`Shr6_]<<~ :#KE刭m@t}.hZ*?N:}ܖ~NS ḼeOKP Tߩ;VlֹU60Iy6xW B#X-Q>8>ç A 9jm xsbc30 O'iWc2Jo3 mh ,SUMۃ^qF鶃;#G s˦"}zBBP`eD61l+=?ZJa[0 ܝ>OhE:͡d'zOp"-3G2(j+u3'xqU?91"jh4/OE`,vd|PMGi,1MrDdͳ#,KطhYpB@ӄ ooA1銱r=bJc&.w{@k[tV u!Їe6EO(DiHf#Эn(aߠ"Pw5g HY p++IeҪ7y):ZM ?i#6+GcA'ixЁk 4^ _{ɦIRJN :vkl(*\O cℽWɅUI]ɐP_ @,2Ab@ Quሑrݯ6'գb3<E=m-fʐ* m'4F{mxG|vjyC{69ID?vnec3RU=IȄϐ\'S{"z]z!zi¬L;%ݓd,Y2 DA VUM1w{oiGj^2EʘJFs[]Rl hg)j헌 ?\]ٗvo M: N;ǣ}VoKUu?@C O/r&xu%tZ9N^=vBΌPb>"r,4J)'3f]ؖ*ɵIl iބE'b9`#[:\?9r&/.5Orè|} uy 'jmsU׽O rpTQHOޝ8ok%sqdJ"={Jlv(ot r-*a  V,8CEx׾TM6M[]aRd4pNⰌt b~(0&wbIӟ(f5U`lk{jG:窝2D^"e gOyJ^UuSg_]{\[ߎCh 3jriCP8M}]`}tk}C[66RN.;{v5@p7'fi#h!*R!j,}BmcG]!W!DS^+p!lmg N O쑨, npK:E$QӿZz8Uņ; '"ɑif$hYYĂڹސMsZϮ#WVe]܇r i1ra 'ac*Lf΄ zٺ9@AnJgw>Әbۙ=FDerOҰ kV4堹s 81&q*xhIi\Oee-*~/"";aղض=`lSRD"hg6T V՞SWo8!%JIQv˙ֶeq.*t|g"R3.c>RmaV:0C(SdB))؀Y%bs{hKjݾVK)w3sTR1YIn(i3o)0LE2ҘA0a^#Ѓ|K]sƻW'Op0 'zMLWiYՂH m"z@_ ]Y4k:> -^owڛ5\1~+8L&yM;8HfZZѩ߮Z)hX1riԱr .@mr80\ ]5B=juth&~fq$6q'+@E3zj>h0g-#95U3+c1-w@:*$J"w+GwZUђWoAa$hC5Wc;K^V|J,+tep@,0F C|!s%3l9H`Gߐ@cAt΄T]_N!Z29*JTqZ:9JBG )՟1-?"4[o/ߤ d˴5BiXb<ذb=4YPSۺg3"{5* z(P#*R ł4PS[8*!mx dǸw :=kj ]Cx2[{/OWtđkr@jӲdG G|~,C|8D,򗽥 sԙz']G)~wWrIPց)hk"s3VH@9QE\}0]fSTȄ=,w3V$d^\<8pX߳ry  ٤yAyW~8.3A7D ]9Mɫi&xH(Hr0dĕ_~?`4(S-'vstS@ʯNbMcZ b:ߺaDǭ;MM\ty!ܱtW[@R0C[)D'Ux%`GFp= ;Dۿsڱ-w:uKΉu *H`tove^wcn˭P\+٠Xߎ"ر6,.t9҉2pNRNkN!g6=ZI\b\jnp/яVM2eHDSBqD mT%e|svs% 3NYfRu>JNB7[ҎY5 . Yٙ7h.j2wņb,qYuK,H`R%pN8ݘ\U3fA;Ù0`^+~FGֹ-ܑճcѝD Ⱪ e,`&`H|BvKq />@'cQ^Q>S$mc)rB:P(\)6ܤ,=#.IbOO$>oSj&-|i=Y6ǯv6Fk2D,lIɐfd*Va#Uk![87g!M @*vEG*o&_ז+ڌQb^1_|ۻyRP.cM) i "MGK;0͇W^#8r5z1uwV+}s *nj$ږD&*G1H~ *\^4UF+~;{t?NyW4h n@9&ut 3}e'E f&b,/YGu%zΕfس9ۘȨoNrBӁ{McsbC$agg&)4ײ0[2cOu۰P尋_]gsg\Bb7{0 P\6*8zS_b)cZ"v͜Zx'Xy[R{KupG\ժ3B,cYB'䁁疴 #]4x'M4 Ke),~cT]QT?(rjXo-0&r-ZC1mq֗,'v=۴)~Uow-Pqq1.{8KőiWL<&̢w8x_k(C_~I~b/ؖ)†|$}kI75c?r%|ݎ{_8_Hg]2RVLZ(YƜѱ2ooh3dwR@ Vޒ:>aTGpf_xh$ϋ_x-`fd= XG"ˈ <;U@UtuK5]> 6 ` *}{kU'rӋҽ1Y&9( P_~#Lv+9 7O8~cx0}\;$q=})nW dYP@YL`"6#u.~'xdy*}!@1EeNu_%wN0kX JW0g̐Rv9[BG5E "d32*b}A?h+X?\B BZg9sMcrNrDneqM Lߐ6N͉B|5ZZNx!:V%xY|bQ+3 Mө/ԯM~=T7KK BoNQq.6$VM58F5ci,ʨcXM4i$\{i3D7ithf{@1`aJt##0k}`Mv)hBIY歵ʛ-GR<*HɴPuIT 9pt7`Tij.Ne}R?#|\ֱdqmYuqͳ.brHYӺQ65\B$ΖxW78t)1dUHpȿi 6Tġ?+Kp+"}yoDy{d}ˁ{ FA aD&WK"P_ ]4"]$쑩O5$Hx3Ka,Zz. ؔ_軪۳wh[mpʣ$,U1~~5%]OPYo =V%v}ݏy{;Oّa*_aq-1ֹ9'C)_mzM>8e6Fql+E=Ee;TG{8F.U7kCdu&~${r#c\ٝaK6ظ Jل#T 1vB\Cc1\_E85& ߁:0tP ^⬡@Խr\\QOgq  ; / OR7f.[rJT.> f 2s=O zVoN]Q6ZSy};3}[#ZLU+śG<AGh3C0C` !mWLg9NC|DZ.W&9/LUDV>[}rP0[Y6$G@YPqL9brd"ܤtf+!u.%& L&QM#|H6a ^^I!aQXr zVI쵦]~< VN~Ul;T+miUx1kçX;%@iKjiBNp +@6nqvT}uu Xwr6P(ݨЍp:֙P-wEWV+Rݸ/|#=ݾξзG 90CM1{F$(`3jl .Cu`pgrЁ+13+ۖM6oluTɀ)isʸ%ryo4L6^_6G e/ĨQбsOѢ(|_.cyNyq:X5ta֥Qu8 ͓LpMTno()#O2'"vU\PX<$#`XԊ~i{ #p}-3XGi΀c{H$f:sUnC?m\׳~4wҡqhm]9ӤR:l &XNTu-EZno_yRg3fb&o@I:V|2_>\L !e@B|>R~>E!r}_*tbƊOq/c&mDƞ5 ypE(ꌞ:cH8Ȑ½P0ㄋA0K7`X+? wO7 g /u$?,>G.\EZZ.Iꎾ#Tx2;*Gw!(~(o@?ʗIvl1dkU$B4S3f(n&s$UNhT{㸦i n?bdt.]7 2@Ĺ~nK*7 FZ˗J̰ "cA3X!ۄ`bZl.^萮!D 3l6PǠ|m(pQaIt p,:q5-"ܠ,+ڻ?uGWuAza4 t ,+vS؞&5Kc۹=|{,r^C-1qAN _B T5IMpAO'%( \:di'ʌ8cДXZn}TRkvY޳pExdڣ oQۗ@<Ӈ~ ^RJYp#޻ DN* 3tdA2aCpSS= +/ 92@ X+(czзHpfD-5G+>=~)7&H \ZnR,sE  -( 8'KWoG69'*ep8*] L캸QJ)?ErNq&-1Cf8Q,*a9!T,QtY\NAL:X$STO]݋6gË;g& ck ǽ XI‰..%x݌XRHuFC?p{s]邬)7 ]VP98ߨGs~h&F5'ù _BBQKN; ڒcy$QnOR tMz@zn_Qpo-`I#M*Ej+Ec=FX:4zA/q9VCOU_xU5 `ds742nRسtX}U_b z[eEOm^?J* YDqw-|&X MZ_vE?{mOUmh+h(i_={'هSl.Fr ulQQieξ7y7NԄWv~^-&v~>SUd^ nr}l?I<7W4X=4=D -?3S&fwDʋ )8;1_+*@ dI6o8 @i {MuKfI8Yeݯr0-&|n!kQHȼn7n,Y䫪n뺹`]NT[YJI>dόUKSäȘ#p >Nys)sX[w7AwfoY͖۔Nq7[@2`IH2`* Rvȿ- ֎zzKjكLzcJ~P.@O݊\KK[c)~ET$>~Λ  E(yP1nԮXDS}a7#^G?,CשT j4%UZzSN7P+BJ?`*uӄgX';!&UrK~0]qŠZĦ,:gWޮ-5FsO%~6ЩBWuZC%a|z- nks;fu8X`,ۦU) @'=ҢfY&\ vvLj/B2gAEa~CWy`|p_ k9T{ ?:DxqDP^|ep ب_x+;آɭDfs#1*7&~Jw݆l'w jmޞx*x0MvAfox7)XфOtytIOk&Qs z+p[tG\__5ǒ+0h%h)Vwa _:z+K:S/AwN/Srr9sG^I fO,}cv>R,Y6LVM8s [eQ3HvN_.PA.j#AS5>-0=%tBf3D3@}>~lRUIhn2}z(\6>Q9FςcEu021$?c2&Pq`%$ѫmNQ~ )[u,vة L9L$cUPM3-Xgdo.̷(x0&'c1:DUO#\"Cy3> /x?K4}4]\ؔ.HXBBPٍ uwGkYbOtBvۉ]Rg3 9b} &"ėFe$|:!{Z_zW˽dݩ׸qI엾>)e;w77\HqA"FjMj1䉈U0N*nd~ÂLOŊ(a#EW$q; po]c8yԀ?tك&(m>,\CLO(w-HaV6 L>S8-,OFE(#w&Bŧ)kp`3AKgB5A݆X3lZP_Iߘƍ]&V~3djT 5픫F۷WLiy^p^O" pGdFt)w-ٰI=f'Kc25|/7N^qZ~r)VQ! C▢K,2,\\;[ ߩ}eALI9Llou d ډsVN )^4m zG8N% - )lyl_-pYw+:Sis%R 5:ֺɞs]]RHiTFɟh[%nĝP0VSp'+q}Q<ѽcUǗK%;f-~Z~oseQ[_/8߈z/)is{?.5{.='cے_NuT J$UBgprr@']bIᴢ#  S~)A)ܐY܍"7 Dޣ\y.2KD~[^T=gYM!ۅyE~׫>eԸs/jVa'vp5AKF 0 :tMجV"aYO lH] M+RQFziC1קwwCbzM;v9ajp%!o=a7tN+8~nz7D|s%7Az7/uQЪC~S?B*`kW\q"֨jqmb#3WW= @;} _VnϮSad3jW_{4Tsšx&b:kz 8 }%8i*c?0Yo#3qB!<dyV!)m: 1|a.o GU&mf0 NE  Q/,8%*- Ԓa*j}R#;Y/ʯ'r s>[.mfE7rx=P8&]*`̐a=H,bA:Fk6Ȋ|w܉֪kEt1XDt3ǩ扁7O@xw }/'41R~[ֵP&VhDOy@qΖ/`UBZw[yx>@,Fa}u2e<<""> @lxY҂z˰T&B-9flGk˫a}e?In7e/Wg[,,6{ݫ}禈sES^F&sإlx"P"԰,bwf-SQ'(:c C>kxB Wrek4I֡l|Vz9TtKqy)yר|][x!~?Z|6`{"(gOX ^v"/F1&B-vؖ)Ww3W.E>zH {J\€V&ѳ>1t3c` X(V T7gPv yI1TvQoX_ni-'is5]텊B5{ϛb\8"r;*,&҃SF釱ioA)%}_b=߻5bd҂8lYۙUR*=BUz!7DzT<< FXmdw8#է>z1EpdWL~kwi7>;^H> ~fu1xhG0U^wZqe)4]MN ^,av':7gۇ.a)( S%xE82:lεPb5U t5ېnRH,u _4J |+kSE8Y-Aז%|3 *PBbSʃBo&c&|9+e` OIIuo}b MR\<%n17c88r64͹'xi?e#6 lH)E(*{48uEpc5׉H!Cj:a_aԎy|q}jB* "d,ֹӸX|eНbڙĘJv5A-t[JH*~%4K X`l]7*{璸?v]fD\Mq))K+? AqpѹxO'BUc6@bZ Zm1d SCgqѫl6#ʻӯ~#Fx<tQ2b'Jz~ur4LwH!%I6hYä? ox_/0^)N{ z箧OZحI<0Kg,\ee '{*g0ùɷ=wSaѴ'vGAy(>w݆J7=kݑݳ&_cpM]C+B9,1) *Z0P%Wc83!߹`E~2fr+{-NV?N. 2Bwb/E)Yt%g<^7^SC7 r|-ڠߘ} eVD^F7.yH,U{j1Gm&CQfysĬK""(Q)[cdd.giKg3d#{NG>;;r)y9ЯFC~ %_뺂L aeMB"Վ]㇣^h:L&1ɲM 0*)GG3x:yȍON7&Qg1SY-77;Gs͓Xu2tgM;۟f-PxS[k (j| i< 9f/wM1ɣ/z Q]B v Ryղ Q Zs>N k~R;t|Z'zLY,~'P(פ`-s-RǼs}Uj2ʮQ$܍I1rIVl?I36]#~d$8 t +~Ojֽ}kC͏P DWXֆSm<^rF&l5)$~жI mqy<ܜv k]ZAi Pv؃| o<ǔyԾϜNtZMucc{W2[x˨~&W5ɞNd7 HyLvx{YHo3* qQz1=;~獋t۫xǾE ʂGr($k,dx LFr6NWi~~$b5Ooiώʎ,+!ޟ~E; &pyS~e 2Ȼ[J~4໥9K*0 ,u2NHX0ensOֳ0;]0C88T|*U.B${u4xǾu3X$~&AǓߘ—qtՌA[ o1-0<.!ypokx'yt<0mE UܠIMHgַQ,pg *ZI㿼tOffޝ*=;܌SiV|}=)I+yAi_F*=oz_ad\!FA SqӴ 9|}_MǐV c/|$]G=ţ6p^AO1>a(QCӂ2-Y]]LN; s$bꦹfގQ~Our;R2[ F7?[ ̱'K5 %ԡo77U̐rM1*dd, g)Ifnw~c`Gjn13ǂis),3fBOݏʂ_mT7PQ+3sZ jHR0d2j]gAdq%v&ݳ)mAøg]X TE5U]1nC ).ʭ.fI>0s6u1RS}?8oC%ˡZc7y-8 +ReSY]a,o K(v(:TcOwz)g{ܲW2W$(=dzއJ$ZmiϜ:C[4Cc.nI,[V˒rbʏ|)YEr7IQ< d .Z4]P հZ:rrY7֔^ҹ|?PU eŬxȤO؎6 @zpWdg3zЗW$J,걱W"iE<hdC*eqLk#<, d K0^Q O_M,Eɧsr wR[FSzϝ {џ=xm J+pckn(<CM_ĐhЋF:)7B<~7-G /+8V+AWn'4?%4l1F0艹BHkX=.$FPf )&p ;mœ/ѓݐv,4w"7='Ճ5^Te,D:}eq=Iu,Mϋ _Nr1٥T)0|A8\Q=uc̀a_Ol|Iq.0GQsmld!C/ o />OOy>@V(gaTWAMS #!;"s=X AukдDlCw+O[ 0 >[=#0*pQ^6_.3Gs'ʺn9QZl|ٲ0X dLƷPIi)U+z1ؒs'zds5A>ɿXE}~kğZtP'<%o׍| i2,&4ح1>8DH|jfdZ LJ-LZzƟJvsQ͢6eaP 8&a!O I,BEp7>H{6(ĺ3g4;g:4[;9\!] EivIȠM/;2_?@D8HOڵKgn{ymZRzsʣ ěSk{:#j{98C{ki9Þ j݋Q%Q}0*IK}[2\"U-K#Z3a2X 1f7,-}{ioηTOh}0R_0]XF)ЂVH[(|ϒZ:X_ɺ۴JU+4aV %MCb?/#YM@t9hW424(]f p?Tbކb^G/)C>FZUJbh`o~ ,I$.2ԱDUxq-->pOL.-kb8B7*LDN TrqoN !7&{9mӫH 7Ny0䛠a&改J[YEH['wL~mf6$%UJeIz<L`9FzX߮`.tsv"64HZAa#fZ, LYEϗzޮ6QHt>L<`lQUh'͹Q!ҏUwׯ3Z9e-g Q<&DoeUkȕABWʀ/B)uywzCe׬;HH$X~;[xdځƏESdAt)@bÖ²' 2,8ۅDWW3wpgNœI9x٧$ۦ7ťrFl,YP4vZyʊ'gAe6jps97բG\ߜ ճ 5JJmBKg>6nW?,XBAkvm_3s&-$-zȔNGnB}G.쁇׳l͢f&`\]ֿq&|4QMZ*GW?D^a瓸U4Vz 0"Is([Sa:yrG™gX9^S0[eLxo"n{I S[~_5Kk~9M-滣{3_G˪E,8*+fndj-!Q@WѐҨ5orڄ ܋1`퍦*?R牎"H.F;` F&6F;F0^z5E?4HC P)^YenoN&**p䵠DQ1|U񎭸#y6KN"+J;g[:9"ެc]b-C2|WǗ/`x=E-9N<3S .h4oCYx9 \e)S|hlt d#qkÈdKJUTcUS}!-ܗHneף/Y2l9N ی X`<_9B 5& $ϧyYQƂFmr) a:|NxE}{ eCeS5 6aKtGUSS&p4Q2/|MFw돜zvS‚z~B&ĺp.E{C V/E+ Hmvɛ JD?BaGRnXO˞`&@s s(,*4͔JxIgu/)/[Zo)[U\U9K# Q6wȨmOR9ťƕI9N~dM/#:Că4Y}۾ء\ۮT0~8L.]$烈#YVlOjא}E͐aNj=fΛ;8{DәZZJ(6Uz 8Sk +z8}?W S*Wo牗9)G#Ip:T'fdLjC=WUwgh?T<>kՒ:-K&,m[M:i <>_it-Ni)̧ba*{q"DEO,Z2R wpR?Zvޟˣ1ϛ%6٦]&Ue*(5xhPN`qMRt#IV ^L]<CK]]| MK5o4:??2Y-~Z1  #pII[%m_I&g:b p.jWN /-yg!jWt=MR"et4= .1< v?jdm5ɔ.Y7~E G~B r+ɬt JW1 }aD_9 IL#]5ӡo"BX}akƞ̰JOFoÆHo[RڎvYi7g["G639]0yjTNްh'Gx`($ʂK^ rP\L0z=*~g%qjf{rU0X@ĨwkBwmڪo8ڑ'Fˀ)UV8sQ7(r9K, !v%Ǹ)[21S9K/H!:n0ҠF{c?6=ͪ*}JuH/d+Ca`hO@{\J Hݤ.Ey'ZjzG|M9^^cTRk{`#ȹl|4Tx,61/}vUe*\ eQa ie:' >72 # (Cy_Ri#@$Z%T&GBqt2?si)5~vu(ELސcda8RB$I'<P}瘶KJ-iU`k(F UazJeZP$XNdvn043ţ_{ye<=lJTxz<`i6(Ba,nyv@ x0H=DC,r}?Vm>$̠MFEVYsCQ0cmR4Ԥs })EZٱVuU XAo#׬t‹oHWESߊ1I32M= AR&!,P9$fy-3{ŦNL{0~ GSNXƤX0omW ;tGm Ы4Tx?N \8&#\C9Qݶ0rXPlW 򹼉EveTu*s+ܾ"4Sr80x64[O>EK&wBxT >҂ ΋OrOӽk_u,70m0J]Ξoh^8O46oⳜ"X"/|}`P.#VՍB|&JKs$CCAujdgsOXEs aOuq_\l7d^1̀I0h1;=qGFFF>vﻌ.H2VeowՐqX_9=(|52#,rϽ MsJ_|R\pX'+nUbnOņ^Z7-fg 3<F4Od6s" 4@(1oen6s)W֊ s**C ݱ' w;:NZ4yײx<1! 67ش'TG|{rDl}磂~~ 3RWScz[6 ,w:@ C⛠eUtsiUTH,¤RP|թ>JO#% 81ۅ;Od<[Kɯl$l?Hy[dKOh3( :R׈x?rgٳ&)){P]6QsfmʢףJ[~8q SQ?2Vڄx0cB*DsnQwnT`L>@_'[nIJiX!G+]̞P) q(2>#^EE?S8"K2e8r@=Zչc8BߠQf~TVScK5W;x8 ~;eE3g+Ev38V PQiHl9+A&'ՇJw[M -[|;)T PC$M56Jk׀}n<:DCg>=? {'-pt iTTfqf@iTR;0+)^xLܼ뵁@#7TB;J O)hu"Z:cWݾ uIhG\>A0o[_?(Yu9WN~۩gFgmH(86 `[P0Fph%[=3"2J(yDlE^ȜᐝìE^[]h:q ,O Ms29AxIseF6v p`tJ7~ظ]^; a;?rģVf#s};mU&HkJ @N9=N[!e2}14lF6tW0`0u.uEvW`|34m`MH-PD@^ .()[RZp %bߋco'L-PU3b2f$ꈝ($ǫMNt#ý"f}6١JεrճH/ HĬDz*85jPAbkNĥ6WwfldDcUz\пc$ y:케;t 9hi\gחV0MhΡNz+-N:g}uۆ0&%7+5Y>CC HjZrWFF+dzs6ң@th-h݈T #R pŹX@#H n::]}X5淌N??V4b2 `N{{VZ{%,Dk ¾T gBPvOVßU哪860YP{ggOD*d}Kܷ.Қm :chQO xEBΫpU`[Ѫ5M7)<u1֐^ U*&KTHE$ƋW TuQ3[JJ$os^7uF)=[ι=G{iQr\ $wK\T$ Σ3P[Zf"RNTK邖o%gm#fZOCX,"x97\fI%Y&)~㒟tl5%&I6frJAKt RLOf}c!z,p_:N_y8Y ObNAUF!b֩Jr~u83jFu{VPRo_:-zLuEH>ގ"8i~wԭ7?*8L,@dXEMԴ?07Om)YH툵bY6`V<\}J?^u[ER3\`v%Ƞ|bM07Vgfܜ+ԊG^v@>MVCpE {hVR`=Ld߱ۅj/"w)}ͬA%Aoǎ`Gnm`#h~lsbJEӫ@sD3좳 d/ @~kjSʚ"jdmI?fDzcDN'RY\ 2zY}9`i֡#K>Nҭ%ߤy#:٭dvw[mp8]}vR9;kn\2U6^TQ}辨I"T"dU jH,: ,6c_{A#dB Cب@ =J ݮg42y oۀ\aDlDo^r< sTD&HmpB> m]~kD"|;}pV=DTrYݕ>4FI·Փ=` چ#`'3%ivGo[^0\„P~u3>N>hEubQLQJ 7q %-wN~)]GG pؓ, 2տs:Z,H in e{:sɻ$PN>"VΎ&W]֬IX1xK(s:D?NseGʱ,QdI%>Ho%"ѯaXNZܨNj=b-!ͻVAsse\F`'13 e2iu1Kxus ͰA<ШQGxS€FMme`1ܗ--FmdU+;^ꘔ;S 1Vc~|+w9]!ՠt (VPܤ CPs!f }`]|M= ήY -$i.yF7\гQm$DFdviJz x)3_l~^P 5AS\SXlO-4w܍#lX  uԪѢz`}PHF)gN1NBvtJ}X<&!+Rv=y26OfE ZGMm8vAHU$Vg<3F?GNG +4xfg測pNXA_<dgn33]p KG+ 0R5c}jÜ=A\aI̬s̈́|0p{Z'H!eO_PNxfHZkx>ٸt嚮̽~o1z7{bF v!Mar ^ ahJ/ڲ2~\8&E<%h\爘#;[΃5ٱ"ۂO h`-?0p&E5`aڃtl!dPpMHjT!lVtVtPc.Y0Q;!u3A(a`&tvMxYYţEVoBf܎sjcT&h(]la`?~LN~݊x8RiQ+-w"္}6yK"l%ňoY ˌAL!&Trek˾@dłSml C묞mk Լ~S,OQ) |4% }r 3S{ϩ|PaȻ-o底;G`Vxp?P$|mGA]^I" `ܵ9;ѬWf0kDR *P`@{֌!Y-$iyr61s[5MnTAEj%{նois3/.EC.J #,ͻ[̹P٫@9<#5x-8#T  0 (/ ==,ԭhds$2uxѱFCe1jEpLRxTdJ[D ڻ|S$kKҺjNi*s?6Uv, c=8D.*EfCJ"{i֞*fY,*:z:7P(b_jh1ԛr.}=\֥"#I_c<4PԑHCЁ2xszl E%r=9/glj|3 ]l]*~D՜{TeL M\ٷ x 6M] +W'vsDy564=^&mmsQ⨛j%,}sar9u,!ʑB?DM7-z+%X(3(K[VYrTb5uT*Չƾ97)eozpiQ1_g7;-^4 Hj$ 'e3ٓ]0ԲY ;srO/Gf[J4~zm1m/"j2;)K83*ҟkēȂ̛[CQ%\8ܮQZ2@5^iF-uN ߡ(F{y=Lj2w8ZaNI`Řy ?H]M9 O݌dXȘ*$樇!J dVך)TKzI1rKޡ欟` d ;/]pDŜ5q=á%Ja9e3f (y%~L{kRmmŇJeO@6WfˀP]D׽w tKhv;1ڥ]a$c]mA! ):(,ȴuT(Yjɤ<6D{ 6-9M.:]0;99c2_v|!ƌQT{3b?N9~;?Gokd)(v3t Ol!楣Y@%AIP&Vwv+UzXhjjT5,b,9,QphCsznbu[t@:`UN͖hhغFPu4% ԙmq]ɵ[_d6u.b?6E~4K1, 4MZ Bw+Vf|ׂ?㧖_V1MՓ.-4uI FbsT^Mk]itH J=sM׀XoOgN>t*jq/j"8Pi36& 7;dwP \"q+ڬeK̗] eeS\t".eA\+o+=XZhK2qč\$A_A-eOgx7i/;MQ+Znݾ(1%e_W k Tk@7ʾlR}YB,z<[32IZgߓ5<9ľ /%$8@qR3s}HeL00#o@M{XβoVw㽥eT/83R7T(KۆN臚G/k,aZCtV`9[Fڱs'9?ܬ8t`;gh!X"F\D(qڇ809ݺQdr8=FNC\FW☂>dch_4y.S9;[Fee¥@Ȭ!I>׿~Sp8p٣@9w4Wc:c=Ƌ^Ad1k5U3?dV.`mbzB{bpƜȀ8'"akafS-aJݵt<;GO]Dx!V3bO#􋒗C4ӏ<η[W8Qb7Y[i % e N&iU1Ѥm΍$5 )ROp8]KF^٩Cޗ3+&o2R\rU;2u0,Ï×k#) WQt)#v&&8oK%Bt69q=ZROR+IdQiELCv>OqwgqE"{Ox!9e[U zSOdB _ֽ0ߵkr"%Gs\VNfakufPZ_G:o1g+-~+iokb2 I9sq2mK5:>=5&T.wWcm]XRIqX/t' 5J=}ѢxQD 1"{k VTI*w[0,Ugrր67opHR=H般H<KgXS.*}rP@Jh7/`~#"xLxCjt3Ejն,-\z<\Ϥ}Xӽ }w0#p䉼!rCRIUz'E2Ec`c 2FClϼ=5BХ +ݨNBҳlZLp+} hk+X SM%Q8 Ӿ}9n6WAOԃ0.d5 9!#@+`ph7t7haǣ~rF6mBIU&s5"\ yZ38/6Xv>ʭq_@a1r`z8o$hkOkq)>j+`gf+c h[GmqH W ;rc%jll|; *LpOvF@X؞Ƭ ~٦J/9S6T5g_%ƴbn?z3V"_ZamΖշy4AEy۱G!Ӊ ic(\^Y%QbǗQ@ gcڌ(0/š?kԂ:r#*͚dvG'6yDH|nδhA>LFDU|ϭ6#(6|N? &FgWpR$O#|DbX/ƹ? ̥Q9u;}zJi>wYD3wșaps4E|+˷(7i*,/ܸ ml#B=Zͥl)4)̨ΖZfDrQ@zV(lPe%d]?C2x#Г9ܤcF ڍݙf"\iw9PpbVүLrFM5؏U2lLSEheb y?<W86.®N4ў~U : 3|3ѻ BJL:ɉtr](6 պbjtW⸮-وDX$v6Ԓ  PFg3I8 NL:V*j /ewnwc O;4g|V ۺzw w'!`nygc\d)8@ѰHe93?B_Է a R*kʠT 'YV)|:jE^F( P=-E%|ZDW .cy{OwJfy`|,طm8]J1FEz?(]5vc*.YFNfdzMdDc*G7=b<,ϑC<ANY} KcMI3p^zgKm2,=Pt{oJE)&GѧG/R[bB8}C[j6CL, booEIr.py&᙮?V8Zi8Hǎ|h7vr`5h27e 홝`!|+HK05ZuƆO70U2NIgຉn[N}18yfP0iXͲHP3BR٧a>geӍ>,Lچ;z;}õY~>r1zѫVE*G:72n&ϘƕM~%V/x>Y傷E$N˞E%|t [` r%觸*JQ{Jg«q_DVKษg5] \=5Py1 M({k؀GȺ:Xj5 \ Ch\#IR7+)coI5 `X{p;Vp7 5,>Y=٧po~WTEO5wW^ers{BV$J!Q;?PC>Mr룆0XuVjOɭ KXjO#B`~`V=þuV@A)rlaı]Ggyd!A`Yٷ>q(乒O\XHjyUhn4TXG@P^XT'TʊE ց3t{WcLU[-?J B4,6>w rG &Y{-*'@!,px%헄% Q~uDq>hc}u`cj㻑jC9!2w b|> dOzM'm0Zd#H02`6ywO9P-bW 2vFuGцn,QAyq(BMRn&DcEwz'DlvW?J-윏5k%n?*#Z(/",K9U|r#˳b%qK%1z98S.Q(l5.Y#n"hBSJ{;,6=Ha>MD 4\l YnVf 2Š;WQPsv|d:Xª <e Vc:0`fQwDC7ꍗ`A؂٥)-8E:irq)an|ٴd`?~5N cIMc[UVUuHB_Lb+6 &cW PȎT}$1~ϲ(;г0b ΁{|k8,F4b^9>(Gb#j*ĒYs?t.RC[gիp'<p`맊q^b [YEaeO .iII2cm'S?qe ;-f،.RFFз}m_4q'T*4$B@CJǸ3i(3< qTA ˢ`C9*W1Wr*YԺyxkOTŠ4sl:W"?*:kc A4 &2b6*}dwS M"˗"(_MUn@F%Gu h&&d]e?tGFL0l F&I> e/KWrt(L#HWv `y7eØρ\]~0{C\-& N~w rʘ1ՒTXl6!q ,Yt5<|*d_~a0ڶkxG#۳(`+PԨ C_Zv˦#g6>./ɲɏxo|73ڦp\ت{X3YנpC1s~:罐y@n^AM(jyq5H[Anƥ~H@pJ.GӟqjLD@yx-^#u7͆1+ -}@^f11$r8@k2/xCbWnfot>>x{l@I@Dw- 5hF:uw?m1U &tO-m8px&p}X=p )ڱ{,;G2O.5 :F 5{L&3r)ASog]:bT  L-n:yPag-Ew /,"k'cj "e+qu&CQ ^xX9Y_ڎ-~!r&EWSTj[gM$= J4y@„y~c{mo];?kde NL џma@~b\OR $%M; B%=w2M,: Q19vR=Tٮoҟ?dWE G27(lRʖ IKrklL-cK&ϝF2uw{̥\v [}[РSgڳKv˯Wg L HFqWM +ӃrN?pYfAЀr Q bނ#b SJ𘫲ֶacy. ſ!i(ITVB}j LP!BXFL֮=idjHSU>^>ҧ`+H6{Mм8D ]e@ve*o (:9uUħkTl']urG7{Giܶ 8s~(tm)h=G̳h{uNhWw.l^6LH^UPU-K`KjGiQ)g #\#1zNC?EU/ɝ 6.M]fy%%3R&D W EMF @9($gYL:]D t3V`+oG[Lx gU%$R< AƷH1]3OlQh\b?P.#YpJ+VZ҆a'b&2W_r[JB]995Vk)gAqz"PT[vZm]yrV{y90 V@r8s!B|)9ݛqsnyAJm@Zߵp.r>|􀕍ͦO0.a%x x"  0sX~|Ҝ)|sՓAeWیN*'&?A*\12) Y7SM!үJl;pYN/s.תRuu2#- Iő ,*2#GDm搅XGp\S نUX>{mqW%w^* *K } oCRpLCrqK@{ǛrQ.S-v^Ik:5;6l7ih~B|O2aL!p=q].JBEE\! d9>fj4WLʴȠ9ӆ]^vo$g87Seikf*2jl*҉&9",nlCy#C1?&=Bk8rS{0ƍWC,I#Q~i%̻htW92w1=O5-z*p쯀JJ$&5;>_3ߤ:/5 , vWؕ-0 32֥YJ*Pѯ0N X\b\:iqP2T(Hɽg{00>YDteqKShy@:8=txHzfZ;?X+e쵌 UYk,E#Sl*F6;w[| |AKc"1V!_@$Phrb9> 2> jߔDwOҋS"c^/>~oqǮZjZPq\_@P@/ɵšnp1+($Cba6/@z:8Ɵ _ƊP _0jN=~#djtcOfg|@-͘ZU-8w*R|J@+Z ap m3Ӹ){>nU1XoY6ceC9:z煭Ҕ0{J@G:DʬK$K?LP:`E=g/?鲵InrHV#"։ېoS"+9N`Jw'Y[M1C='y$Aze.,\na8Bi \֖W%M`wsd-pne7zՒk Z&(NȒz"^0'{uB\|Nw@I;N b/U͙K_s]ceX8[Ų!d(9aWdNXG<)Q!nLH94v"=.?y^COcuÎB,L-.]"ղK\9\[ڒ(gY}WI!67t̻qN Ȱ5GH.M GAU;t5QoXaν"ݧo 8ݡ`ɑ=mqJ>Wrij[N*lzho1C|]k A!$ dw86 VHPn lfd~A\:Μn9$_}X'i;/#r3=Ԝ(ɫؓeBT"J ,oJzxnN`&d`Ӛao+ tOFl_* /.5 [d[9j6" )D^0?xSc qW AKFy=Ļ'':d&^d@胜#$9t˛K~HJsĿkGe>*hSknD2(W{s¦]fDe5< yo=Ki~0@?}ae?@;Yjsҍ6kP]^Aڣ V\ﮔ$'ZXfQh(Z6/ٟl=yíD "zE/ } {.bN0R糌^d^be`Ӗ38=jﳕ2D{ ݓue_gBpm`xE3 1x L k1m3h,G7AqɀїE\CR Vruo Y[ Ǽwıwc faE [ζ~3?,][c>Stey5'*!#weOYi`)Lrͫ=02 =p=ePLqu܉B1T   j G}_0Ty@ p(1˽TI^5/1% Дx6>qU 5bRg9@Eş7T gGXˆȌ"*ER3JJG\Hջ=Sl̡F֦R`/\IY4q`h[ތ")BVeTn/!J -&oC3L61Ԩehh _Q?e}e& LhZTGVm"z؃J1_Hzlc0w+ 4@<ֺ6LRwq5gwiW(h-^sn -R8uy1=۞m^Ju;/țFsNԹ/Ц3wI+Ni Uۘ]oӞ<ELH!*kb9J](LrF[rjS6VczS*X)!|(8"e 4Jki%^^"wtsjg<@;`Ti| ҂kZq< #xs|e}P ZY;iz.&lr2 }sKOk+ dG{BD&f)2b:2nDA>х_x݇OQDc`>}\!vyAme~6dwc]wrnK0" ^+6߱IaKyʼn-q-}ˣPeoҗN&$<=JoL1N6G{yZ?ǤqkԄ ob]NP@޸iJEuMՎLB^=]JMK.+uJle"t,SG^$>$un.w5*R+m+h_s$T&;3늆YYGì-\^qSј':^Og?Vَ:iyNdYIn\[ q4hD>9ݿ:\r GnSbťOIWx7x;|2Ԕ!q`fcl6Bk-Xl/P($f Ye3GiI2P,xTV]ÈьվVw64>N\βZ]'g\8⚎#Kj])RCIvg_KȓYM|~n^J/Ӛ%JF oy$E4쯈HOK),f 98 A՗H̡ UZ:AWQ2M2> ccn ILQ^PQ'e֪\7(?yn }^$@Rnژ; s9ۡm:؊  ]6+ HOl)lvVUub)#}t˫* ީ05A ʂX3*(F^wpIO xT=9 \o®aބ>!n}"LoZ~HdPv^$mUa&#dC.v{sqwHȡ]Ⓡ'͊@m*1jcTL.lNk  i ڟn)\ n vZx0M\w7DdFE>+sc_p|LqmQz&T<Ϝh"'?ln\xD(;T$4MP dNbqW `ףxdû4N郦kGHX앲)>_1XjQUl3R`&.|mlԥx?*u݈&*;41 -%b>}Ƀ*b7qbUkJX{@,“ŕֺӐԊ֑Tl.+cjRZ'J%b2/i)鯗mքrӧ$^̍IJEbxFqi ud DT~D~ dΡ;!D[rzrKj^y:YoVsFQ4ؿ\~P;FohE&eg' <;rEѤ x}.g$9F\\1np<7 %apov9vkuct#4Lq gJZR/ 8PQ{4 t>T[I PK=TPEJS\tw'Y2 XL4m1%3CUn/6纻Т܊9̈́# iUbɡ-!EOhˏx0rvfQ%cg;X!6SbqN@5` 9iA<;-)ͅQ ;׆#|NUK\vY=^s@ b#Nj6L~ E,:፩dK\Zbr-[}r,R)+zYJǍu pr Nf=C]VasH ;/aOOPD,xɪ7$@W\: Wa+eȖte/"=Ltšӗ04ir} ֻy?%ZUͧh+̜G饉Y?)Qǁ}9*g@P'Lz`t>ZO㊚[ձ˕=Y &QT ߕ@}U:+pD2#1,d߂j oڽ!ZuWbU |S4 /dfxNi?s]z?G`V4ڌ yCz&ܧ]ô|:g +aN1t[is8"7tNž@bm 5hљc !޵W2\# 3 8O8{8' 6F[Kƫtf MYQGrmu8#Ë1X%9n?Y r}xEa=D=t*9ASM~t8X#į֨hif ChQ4)vݠT p @}En{g[wS+rj5ߍ' ɪ&3)W 6\ ubƧ&HhlX?&ׇWHfUsv}I{T|<_jjʞ=`T0$dʠGh$HtG ,mJZn ( jגRџ<%Ԭ5+̨&a"):tDX.{xa;iWDڳQv\NO*4H@3+ <)95]_}&o&n)z?,ٓ^mtUZgj @3r`wDF7]/zZ_U40+0+?p7}l3rE"OY%142 #<?/JʶkPQ)Eɺ=:k(C.{6}z)0`> aDex5Q+B۱NCBYE)3LЭ:GwT&87z !^5q+6  !kpFY!(Q4<)x;)AtG3ЈNc>@BhXYDM.^^gGb"$grgI1pekn咰$r;V Jͬ{/ڀ3l~( &o"cJ3 ܵKqj8%\ֈ%NCխ!`kOpo[e'Yk@KY+uPí5ш_&WV k8 ХI>۪{59!d'ytL)(#[8 Zk ?Ss?`L6$m 96H;đaN|T^垇 fS˪a URn,5PnS1|n1鏖A-O%~../?w Wz}yY ZVRYyi-|S#i'^\;:۹Huf.prAɻJ-,Z91\#@٘agǺ3L'sNh\BobE݊@4lUg%/k1_n5HUpjv[8I(43hF#'Z>bz9ֆads3(S95]±]u]ʘΟI~"6(jz v:,1 pI<J~˻6Cw:(.IM.uӥ4b EAӥNx{vZ|B-N(>ovqqt786g)7?>FA= %V(D)+?<21,ޟ *i-fh|k$)A$Qy L,g|+]`fn'j;(a[ uP=$ WOkφ*X;w}y+/#"><)77wHYz8IϿn\$0./2>z t_5藷K{~bw@DT}.P:LEܝ v9fNT*@ÏμWEtZ˵MWdSIؤގ2[U򽭟3\t e@TEFR 囤ik}uּe~@EECհ/p;ҩfnk V^>U|5vA(k;QcvS#a |þcb ER)kϩoE[1wt*F\o|^_ E⍉Gs|+y+V 4x2'CW|G`(.(w!y ]K.y‹/d7J7k|mVrfv׹˃J<'qixדB%=G:@f Zc.?9ٿCerVWXrj|e{bngQp(Э%YD%_<})A4޻DP7Q@qJ/.vg9f떱&)% 4_3oV[K45N=2VZZ f<^agH9ܟ/)1VjݚBdO?:1X2bﲞV{o٫1p;*(o;[wr9 }{fWW_/TdouqӊY)OCĤViGq2xx^`E Ғ8aq;p3`)&STܖi[ƷQVkǖ3u)brQ 8,iD~enN<>3.זø8p NxHS5< x 3W?#l{A3Z/5Z[ R'qc<$>Jc~: T*H V[T"d : 5ڻ aqG. !+͞QdJج:~41DHa_WϏS^O&duߜtlL=T); A]wTqRqraJTkQ[#笟I>Y[3vr]q4x\r#lmaW Wfp{W߬@f+gz<Y!~wн0x*L s:\w([*;1ӓ+[[SUvS0"hw@?K34 (_p@U9.>ee ` \{WOgf3 $=SHSG}@IG` j tJv>B0tF>9?RjXOQf}&HV#CS ̇u/JW( KWmgiD>}{0( KH9 xI1dїxNSg6,o'Xɠ#)LYuCÕ@La-10n ^GfxV >v #R}).H jS{vs4'W+WrvFLdMw6s2HIJLO"ؔFή/h.,7bj#{hm(pZU2`wq*5GrY'/󒠳|Ɗ~G e6'+tB :$Lstac UI&g|zÇ(,!5{ D\۶s&4l~ wy vf\*\bu0c7\3:nrch|̂&3 WIs.?a:˜%9wxqu(#nA8oa W̌S L ڝc̃Bx<3ڍ7t+ƦT 6!M1yZX:6CG$B_ qEYWX?Jޙpv,đhkP,@$G5>mìyjc\ݎK1zu#1"w]qm[' )L 4@8K:x9#a?TeyHdz^$iO'b+U#c9^fqk*Rh[JD6JDͭ}ӏwp+ ɩ_+zÚ^AeG P=|LH? ;b[]B *](q󕾍T6 ן|(iP.mz{P\FLts/]2WY N6tAMrj$!- %@KXiRV_@fMY Dl͉hP9*rY1]h2`&y/z+ 1&FV3 -*Q r \d`. .rqTOq\!ĸAѓ7u zqʥ!%:b( mQZ\* [eh}FKqAqDit=)V2T9%nfZ̙,krmO/µ58@=v ӓ:?8C <3A lh}eb)]0"Y Y1[@n%j,cTpyF8,'#lBT'rf[籟F$ຑ8PTh?3}x\f^b<i75yrޚkvIy|aFg7Knܙ&*\NG\wDIBPSŨmD7 =>YdT* uu(z!M"Γ,%ۻDAݱqhmain~dE+t6KwrZ2z[\VU_G.{f$a~tNc}i]{kg'x "F=vDo1 u# ^ȝW,Eu0҃OC GTãeF]~,6$ LAč3 ػHi5-ζE{Y OHbڋl_{A 6TB ^4 XF8] %qliR~:p Z@LN6TۃY{;3-x#yEU?edxsݍ`\uĥ򓈉ZwHY4n~`3rM2N W||LSp'q$w|H #sQZXvӥp!Ë9h5㕠3<ۨV dD3[[gR%JXKiF (;2An/ʰVa9j7hϜ.j}B2MK 5"|Y0\N2aPqjrDeIپe=]Oc6 6cHX$WWh8`,-tʮ+ϭgUJōV%Bߟ&g{/W t: qYN鸷0.Rߝw#\bJ]S(1~^?QD} =;" _Bn*߶xp]-:8S T G5z2FTފrk!G"K2&+P^+F}܎ H]UW [6\&\_LnXy"]<4 g̾{lˇWBQݖy)K>uȴ PR;ݼЍ4}f, h hb}#D]"ZyxK@1 (Qڝ[> Q:g`R4zmԒ =~g7bu]9Y[BMy[2zSx7$X~+ JaXvL(ZJ"̲4̊7o@͚168߁8y=x3{܅g]b-De17F ͣ_g0G2q|L`] cʟݔ"#)VS&|-IiFNDKPǾmA29قd&~8aѼK>|djLLF< u'mU l;)15pXpk{I~lңwIO#d|J JL$`weFyT JC@F%{J_d陸)!1@/ yA?; ˣSZso&fT7+Y/\_U>̲>(Aʔ n:yŷ|;2GCs2rE߸d}1pƑ9ސT?EM;A12N2섓lX7/xr>m)F 2Q]*JLp[!l]oGψ`$/翨 LodoOJ7`>ߵ?ܬBJ楈B1Ia)C_ ¦"m*g<8#8zo* N=d*H4ύPjÇ@L(Dpφ2go]n-p@g7m01˳lO >LJ'}Vq&CqG-,?퐸Ht@Rr8Ψ҆dog Z2QɡmK&06#Ts1˰rZ”,~pցȺ6qͮo4Yk[nU0( ҡupZP $ * pv)Vfd}' KS*^Fru蝌$F8 Օ"zJjiȇ9ʒ# D"޼'Y 5VAGGK(ȵ"ͤ"g$bo 7ƫ\3*ޘC Y]X~2)UL1{RE#]JPP)CLIf?}\/T: Ys0B_Z/2kvlstB=KT*ՏMh:v%TI(> 'e 7P2& m6;9m@@z܀E >k|w(uc#:cG/l)jOpӎY<4};"ۺ2x(̢ˢf0|%\m*m~yTd6.ٕ6O.UsRJդ 퇪qQe? Y*9DưgmM%I_jSZ]T"A7dμ^/rf3I뢅lMr,@[6(ŐL hN6% qrԄj}HK3k v}iR =,^$l 8 j8-!R_L.YJq7Duv bNm!i/Sx"EO2kJ2N ֶ+IwKat{f9#$uN YPl PERs?We $+P`q,TdN6mbC+сߚvq(# "^[[LZ8\Qz;^x~ Dvɨ1#i j=ppcKaPiWݤYkp4h\\f?^> :U%]4XoKkD#g\~n8O^ l.V\míWS:`5"?:gt3nS=c&N@L_˅ !e^o VJH#˹|:P"Kl.Gd?w'q[80/kEx6GGz N rLrnE4YhBư1PgpG D@HKڈy&c߮6{|-!Etr=)vT3[m()ᑔP㎾ܟ,!bP-lYq -a T',͡9iȁ:W~ezE'CiKӇ=Hg4+T1}HOhDgdP !0YC377 㢩%..piPZ,VNY`OU1_fE^ŏA;Bj!fֲb}Tm,ZS%~V\(]~(jWr AN5irϮ``[ƐaRBdgl f}7bawT4LCbLPa 'J8<½IrW]xОZP X%c{c7 .@u%X_|ؕ@ٽV\O%R5G$?9ccFWf)bslfWWbJzOlDW95ԱLދI:@$kS-.a? pԸ>ҵT8dL@y.푰G5SЈl uOH*Rn=%6'mƭS;KǤXSl~1,ՄU֊cњm$8Lsy+wgBAuTȾ1MFuq̸ss`&矢jfc"Y鑡)-0Zk|.'\oNzDC%kn5](~3}3>a> Ӹ+u鍄$_7|]6Pq @V uPuso07F:RhWґ4Sy45Hķϩe HN?М Ι~'`E/r6_w~`RC l/DT,I\K)U [ =Ȋ+ U>^]`7ԁ-p[Rd1RL[7ED~ rdwU_f?{aYYzHpUy; abb 9g\ 7;hZ)_ְ'd 4\/5fw҅ST-lͪ_}2jR%[l%z2HTL[Y8aq3#8Q~0NXTl3˒sRfa ,|19zG4KWGIޕ<|f$Z¢ a>~v1en1a#'/;=J)tB}&ғݮ?Ɔ"A˗N/6 ^:~X$V\Ew&fqCC g%uhS?Ƚ,Y$d#@E/isTF i۬[F:b3z^[&٬fCV{ǚB~4tži (6xk%3:(,U&; OoɌg$g\i?Z7;M<}^<2G: fc2n|vb:uA 0Z'E/Jt jJAqE"?mN# ,ξ8O%ooBcRn-0"֨ء m_}f#>.cK1#l VUс AL*0W%Rݺ&23[w _n=#(΅rure #H8zuX6H.gMLQ`L6+*7( 3WA;,KU bPOe͒:Fp!Djo1$=#h)ρ۴ S\FŜ#IfZ鰊&|V;J;IEB u{8%Ak;w.1͡1:T)9!-˯Bd5yvH"}vO.k$^ ɼ5UT 0~R~٘ o%1Xrg6&\I}%쮪eznq@ey.>ReŌXpBЄw_$z<vu,0x Fܘ~H3Z" ,z>x,2S,)`! |,V¦,Hbڦf-?IP$wӨPζ؝dR̄iY*,\̄4[Y}KNHhc+j[e7:-$ZRw?6 mFN(vȏ]>8q9JZY3MY$4~[B*1mO GiE`^`o'T3Du94U5!w$[(eh=;_;y!]L`3<})ˑ0Ƅ[Szzgy)UdaI I%$%ń^~n' })Mib1](<6Op\Dʄ0LDBID@%%Cvy6p/-9E8bY?;RE }C? N*u >ɴU>(G !m"($ 6̺FN0Sk() `;RCT50oݿ g)$8h^DQY;4Dq@1p:T躕h^Sz؄$7m;8YKi nx^L^\Gi K5r-PlS&!fp[pW 87/.ғXVC5 q2ڦ\? X~B3ҀM?Ҝc۔?UVbv+k(6U?PXRHC Ltƭ9+j빥+g2[♰zkL덢Şv`i؈Dx[ppr68kXvo163k?ץ^ίleyѵ`LZ 'OMVY/7SO ՔaR6%6Ky9l#lsPkY;O-JUp<@:&^(˛&JcX;Td8^ak5OM$d_DS #2 V;MR]88oιo2,| d|胬T>c/,cfo߉|o}QdV~K(=u_n3ÛMzөTYXsL["'V5(,#W9r|V8yP"H@ϫR\iiq #{"/ҍ~ls(' ZC o2U -?i}S0c(IhBFDd͗vpJ=2MYeoT`0⿞2+H L9={}$p>EC 4`8 g $M; =qiRC>~ͩ.kXկc.GduВ&(rs1n s"'sA;۫O:gf~#KaW<ϼORr+CY.D1DGY Em1/V["^*>>J}Y\]`;pNoE2܈ 6ߖ2T@/H; -F/!aYl#3Wz.Vx~X;k Go2g.V.E/det!UP^Vc/*7Q ؍!p&7/GnjRT%"V:i`)54Ѡb6~[VyDЈ?DiC遳Gw ?vFry2%1@Xu Y7*k~hZ?9a&0cq[l!~:c~ (}1qDOQɥ$uvGJ ,vD*'_)pIb~%2&`*}|E#@.48 c*3mѦef s%oٴ rXtd,֩l T;f>)6OUP|-y>wfi~^MnuK~7 ΪsR{iChme}jUD_T4_$da1`YOIR>6ۅ[wln= ʿ(e@C_1!xFy".@EaCD$ngkLOvnx=(pFxJ2ݫp~LP5۵# zyzJ4b녈75C"mm0=$/@Ti=v>,#j͸_WfF@PWo24f{έMuV9o\)jƞ cB*1kU^\4"|~Nq{!.Bs|ci$r (%FM-7a8^$ubt.-Bd  ;__xZ[~pB84dG. #hԔܡFxV~LB[Vu/eE833UCc(U'LG6toz+OuI´swL氥\ TɨN_=>8\BOɤWbru ൉Z`` #Ԃkސ2X+=sN9؀9G *ZeGDFdӱD":d#|S9 f E76Uf ,)u՘ u]ŇdܰG4^9t׀JGLܤ;s>mWmwz5~Yj= 6ulϬo((HQ#3TVPP! 6hot~[s5Y@_d+LӑH8q\\7;,iO[~A ~CC~H]m gCap3Oԯ'ېr`7(RVw܈Y x.3oD fEغe$8r6MYF BJKiG% ځ$rh6پl"E/;"UQF3e B-ꗥ~BD5p k;ٿn B=8A~a+̣$m+>Fl SMF}n\!඙!R\y"L4t$R^t>[fXSSHtP$w։pWB)"di7Z98%czx6sX搼%2{2b}!o?jI |/X`fL`m}ȇب+\WiYJԊ[XvtޟGui~8۾q }]o3!?6 ONZʶ,? |F;D#ElON׿mS۪W==զ sf"sBqI48K%X:ˡ08:M" R?2 R+p:RMtPN-0 .;i1t@Bx )F@=AN)Y6b*Y}%tEqÙP8fˠ$P 4ڐ*/;ҋ hyBfQ:@{:Gs[f=zy+b?{ _˷" r\y!qʼJ^d &wU6ޛGdu੍+yS]|_X>hq][+9!ݫJAX`zn[81P7\`3KՃakJҸ=襣je8xAӍv.ۄWaW(H>{r9j:Yn`>"jz, ǒK* `u-Pɻ="=;g/[⁓.ݍim|kj{"=!j#߁m>AM7{8xV}ù##9>-")6iG Q0uZKMXkV/Kz!}&X 7n`'̩n?p%_"OxZ3Y劭ٹE}4[7>['shŸmxL=U,C-uc=:dz)|HN{a"VIh>BXuqT̤eӨup2U].ie+枯Ri|)0&ݠ@`uWzIT-2OS1C8VGi7k'س,ccϿ{6]pm:H\L^^>FT\rz2 T[tp.of<&Q,p ?t17!U5r4,x)>}UϺT¾|3xCdp4N6wyh5\zGǫwk]Uݳ <1g=fUԳD L@'l NKtW!S1CZ/U~iL$5SYbǤȉ(uĤXdoNs6D FMD]CsO+ZtjqmNz#3¨W䀲 6Oi \ҖqTϑƆd&0|Q=ɔ dǎ@AI_4’Ѻ M<@V":ֺ4DxLnPܿsҘM}:LhC˚:O+?DICn}zu?>2$>'MP'Ͼx-kqKhWcؿt2=bc0'Uj&Z0|j pLgoddEy>Y-rC<&IH/8,YvE]՘NjQMq+yfj VAn}2d/AFRlt]짋G<ʪV6+93X>l3Agcpk;C@!9ۮL8.eMn%raqt_ѨF ;!KKaD-K{`c(W'y ̧nd'|#MJ??$5Ze Qx-T7aIօԊ&gW&Æ23,驳r#lNEw(k!iԩmmw,:}kDfLYcz&\^&Hp@|T 3ZRI6^9TV"22{`܀f?Q*wGrI}QSd =/\݌VG:e' eٕwf^! 'D C7嬫EUѵ( -ᬄr)sOlِ.5eqb{T\SD,;3~ak S?\9`*8uDVo?gF:g>;!5nlT"O (}0ܡ9ꁕ"׹[hnyTӢ;&e)gƮp|٭6܅+ږWBL_#'zh-dy}zݒlGɯg:6g~$Ga=o1Fg/1=D.^ 05dJֈ| Z4z!zH=6~a5MuF/yרd: ty61 צ=n?C{u ylZbºx"4*R qJ}R(;VTm2x(3etOygAz[JFZ;U}`}a(tXӌhX '2a¯I.N9 @l󛐋¸ri]g4HzAxV~$xt X;^ .)a&~&HZ,ZuU4\D AԠTR'M*pF l Zjg=h/_ U3m/7|9{̱ F7-&djsZ x̸/ħ 6QDlRH">[# -?(eyHΝο!\[ 1Q y"oXr4Ka5u4CO3q|2 K- ! G⁏TfyIrM`R{xՖ-6&!hXy. X/j:DY S/e1δGE[5 E*Mzhh iF9HLpq¥X"z-I<T{e㱻V M} Q1fz*?Muɱ[P2=XlmcAWDP(܇UzHkuRA3bO+߹=Z$MItTŹp\c֍z1FmrxM^T Abٙŏ>DHS?sDŚNo)$ط2"iVӞ31Ӳ̠ޏvelLH/=E-qx)S^t}".ϗ2\$SOgc6Qx6Lf">e5oelTKZ6Ϲ -ظ.y`" ,a{S܈c]͠ ݵb$i[|TσH)u;MҼz \WbÃLb].0Dqm;\ 3O;s*gf!Vi;FIdj X`_{O9#'[}E4$t|Xr>ZPRL66N Gļ)wy9_/m;n{hg*7CXL, e p%*ۄUh"IoO3w:[G=z{,b/E 4}Nʝj`47ЦMخ?Gd|4*Gn'P BNradF<_䃤y /k=R3fT1(S{Q/P`,"b~]ƹsE-5 atS] R5~|lYw&Ampec*!$)i;QKԿox!k) ̰'L6Yނ32%\x? Yy|cg=dt[)1#Iqv;l;#,MI( f]%*a ]|?0pЬv\ lRn4Y ͇S4 2hn|4ع!: ؎ ǵ ,5#V˦X-EvK?ՙ2?AL^^$9zU]sfϟ|ΰ$ ruG 7i}廂xKrF̟&;dzПfj[W|usO+[_& |$25~(!4;ҫWc+\AEƾKu6FQYY{ Q2r賁Uɵh=-8sRT%8P>sk2-P x#+E;ۊ`bfH碖2-'L}(b!{J!%+4 {wo=r zDL&{X yj" (A3da(urFF_Ge $K ]C?$Β* n9 >{V4%0M9;F.3.&KۻЃZ"|6f Kce@p{! RY 3NZO18n,Ŵb4q V [)1;-ΞZS~t$OkwڰVy2{,V-,xEW){꟧vQ"oQ3dٻ!.w-%ty, +pwkǒYS g+ROA,uR_&3~AL0 {%Q]exAxyΏGB9ct\9R3׸|/8&kTè7兑E >Qi,Z7~6y9^^w'Ϛ2 drv/ϾR] qD;C;e%;@Tיv PvG  h6E WA_"+Yip 3XN8DR>6 7٣|ՠQ/握8f^&T!.Yc%oFb;~d\4~S⌈khMvzZ鷄nHKSU ʰ9esǚpI4k;ul[uPg&PrKxV;zߢ x^gVJi;N(=}pY3톈#nţyAF4_NPU봚:hqQqaNn6}0O!WtP6>Pd{o𝡼=/p>$PUgȘ/|UMX?\GRhf{7*8kݬwrY'YD}B`tÃwƦ4aaa7O3K&&#*@XDs\ /)<-KP{ۤ$=^2fcҏٌ82k W+f#Qź(Elh7r毅U&qU~{" _^Z:a*hQV7`pr3#ǞTU$9܄tcn%*S_^}nӄy!Zj+t=rɹs0G9@L!Wׂ͢nh]*z װP1S|wϝ*sojF~x"44Se#Su,Uş!Q ڊȡz*pm&dY"BDJ[/icܷqp{: 𗰓"WTq玳;[\^v5Eucȴq#,°^k"?<{X"Ie-͜6l-CL&Hx#}Q4K$H.!BCKR`c.UG*8W {Q$6mfl9|>f:"WdJPS*{ >jUKQ5Y#DoQQ.ʢ3C(%Vk#4`~p*T|(CZp:lsx'S]hO^,;|DVwj&ZJCNq4HcʝMB&b`b)#zN*-Dg}:S!ף?1eMC[V%a,0wHJ m%zg2RByx=],~SWA?e)3yWM\ ?]p8B=ZJ ۂF?ئw cH7YFU-[wGTnM&hnx׻ht,=yleT[%]Hk L_m[ˆQu ^|=ih ,Z jbےN ?-.YyUITzB#XM`΄_j=Q3UoB?-[8aDÍ1{:F 6mvl%/gr,R*>*_Ɖ#4b{7Z@SaPfD)u8jڢ-7&ثV($ & غߔ)`5Qxo7بynbLVƥ:T%DxRoV92hRIt*՘Cf*6.3dǷ,MhJlԴϩ *<h5o],h7%'!aL..Ո#]yup:3E xCV+4i t*s5,H2|ca :.~H9S]5M+nˈƌr(\@5赢f* Kx){6K%,I 5LwۦPS!K+eC&D'|M7K^ 7Pݬ,jPԾIzmҝm? <űuW芮ckgejKѺ?$ gY$ =WF&^W'Oժ;ʰgʫ#,tH۠xR6pƆڬ7ݮw ё9 ntAwaKp.VTq K4x]l x8] GiX/a0:_-rd=`W)hf0>$LfՋ;i*<E1N6JN"VT(d0.ƻ$5ŃsRb|}vqhQ?L/PT۹,?~X A nf^VӞFVG?!W#NWD6 `cX^Sl@N6>&mٛbYQjIc r7.eIH p:BU<٘Sx % g=ڮ 6,׮|Rilqv  dWJDAV aǿ<%1c%ge@}_'y]r}y5Gְu5eV4_P_$ ->{v#lPCvfG _QUq \av'8#+:E(tMT;DE'=I]|Vv#e-;1I&m&;^eě_JXPR}eMElp яjto( +m}3/G M/eI]&z%>L4\Q>V\ZXG_z7HHLyvU]53>3R VU^R%)j"@jtXn+-, $9Z yFhGXp3v>S$Z<v oȪqª?m¡,=ٮnSD)XiOG%Us@tƦ쑏QKUsO|..?7Wm}h|.yt@e8s `;=l/m2Hc,N=q/?%|@Ռp,[|qݵc]l~ghz4.zj`1/?=q7kw(qs 73{f(akj~;?jjUm-( ~&9P)s~{*=pF]İڮE+P;`6&J5I 9Z[;v*eEL޺>/SKQn-"<$fj>/ -[C,hJDc׉5%-O^W@ػ+k[O(dg gŜJ*FlNJLqgwE5DwƳWFm}>Lc39 >2xk;k]sتbV$ت.g(V®(* )?q sh8JA@j&X"PȠ~נJgR7q?4hOC@/ 9=쒄!SŜ2xOջ]g U7 ւS[n)ū"{7ͼFQSMnuF"#TrdDWͮrmS[Eeu@i:ׁ/[ DEpM)bMĶLQs;%LWk)Uߠ rAR*E \Y9$ ȤqIJ34TP$/O)˳O{fPH^d^l8`PpF >+[Mp74qƗN,lK|zh] G 3hK:חMt rҫbJ^9 'h+9ˀ[ixBj⇠ Q,uSv/1rE٤ApI2Z(K7YNU~*b%ȍ@zI NOX, mVVlCU QGʻc -dx7/ $j׽| vKQ3`+HtIBvNtһmi^ M6_l &w'-9C3S< k~~߯c+[AT_ta0Ҿz$kG67 $|\ jDmpfԙ sj܌D.kuOTq$Tl+#P†붤*u|G3*j37Y[JͩMWleIӭf?>u"C=ԬA 9Ԟcti$P٢܌RQsцf̚`$]ԗfЈ͡.PcFF Y9ߗOxW<少gb²eAcMrL5(f`'Z 0 +tl֐1f9܊w<[N6oP콍jE\9v{Y 1]wuTײe\r5-(3Ȉ"Ƈ O@) {'AZ(ea7iقE@v( E$w2`@%RpXNhھ|*FOD?01jo/X4.6nRrP .eyy@LLgSg7Ϛ "Ӷ59xx-HbyV"(BiFa~[bQEneH#{r5% i8fa32>i5Z|Z; otc  ; -D9_hZEK95|Aa~0:POl |QZ.9&ኙ>}柢NIlb`t;<_r ӭ(Mzh^wW^B\s&T@!v7MZ5;+^,2ZJ{3[BTU˺΅L BD[-i xy:}Q## ~@j\'轔Ex\n:LB)r<`%kا>OX;@K㪠ld'b4|V&BsO«L$i Jke dN3ЖbV!T `W"?.1ܥ'4 J1j(7'ngnH}xL]gY/oVۊk. 0y[@c T_Tv ̔q5Sɠ^U&aS4(xa?)GsL(Qb2/cAhTi[zr"7:7 AN"Z+d,=)?ebuML±r.Mng AT;<JX\$ʵ&<8îi㇖ KZ'\ɨɜ{og߳rLhq_xӶZAaR%AN~ <`:KzL:)͓?Z:枍^lp4Qδ8!3OQRklk,|h \J-BXw7Y&RC qpi*w3{%S/PbpOa7}_c@+`f?f޿ԃG=꺯sCR!dwdNḏ"%{*Չ`{mFP`-3,F H] -tڝ-B˜*W>ljkaK;\끃gՕxӲg%8N)K0^~ D[ À)Andb#$—}Y :9{ g-=4=AQ#kOttŊ*0uAw"t~5L h{ лuͮnftDyl &VvcMvHqlYߕp:&GoCּޭC2zZ xB!s]ASS'>F%(k9Hzƨtmbz:d#I1b ѯRC@^vxRbl4L1nN`ǧ}Scz_uFo{N[\,BL`;3l` B-Q]d9Ҧ#:~FJzݛ' 0֊RhO3aɅ\⾚wĖ(i]'!tf,ق}aNE>B_TB.[=OyEvFk}X֝A?'F!QtݓCAfj g{v8qM#DDb8>i4UfCbys KY*?8| o8VxNnBCp?!>yֹR:I *17W:mWTԺ`9y gpmQ k勚ro_ s~7,2I : 5FũlGMm ՙtВ{Jq*Ko_=g,]LM|VK,?8/d7MXs];.L#*Zw8W\Ʈ:$ݳst *=\2قܸ<c1,CȈ|'fW:6TyQàg8ƒ(,I&zMOh+~էOL8Fىl7 9dF֒쨺B[1ρm1f-#8,:_w jXj+cftK'+qs|ArX Թёms\lFX6$vIX9 zzqe ɨ=0.ZpCB'(" 8:Ȝ%Dުt+_Ҭ#u,lWQ*rLSy3 TmIPU+ ,o9xq'-j&MXLTFOi ÍYk(\!a,Z2n=a]10\IKN=>:g'/䬨5lEi كUIOQdղǍJɘN5bP+pc(>ew84<7 ))jr4(ށێUt.5>|\ HxCih4ZM]xf  h8(LqgfRMLm`JE(==jNNKUdhcl U|ut *jEh@I8V>uVDjh"FpUk=ddQ>yI!@z>JyMh@PH( [(~H'f!^rSU2VaXs!V%r]:@?+bWUbN8f1(089%d>.1uzJG޲ƮR}Jd6{>ܟxdoj'_^B_W!RrUbL 7B1q$<~)C=ĝXi^ulQ%KU<*jV-1x:C?-CQ6:UX с9x>I՟1{o3Z(#73#|Hjgɨ+MCՊԕh]e#HI  JX\ bfYF]ۖ~1A~FbA5ׯQ9y h /xHdž(dENQ0! tԃkMb3nH`;֟Bj+'s;ZcQLDN&uP@43זGwc . \ rk+PTv:aG5!~BnSJs,84]y86p寣=XN]ݩJ <>8P+e:y9^ ̡K /lykN3J.xYҬuĤ=h딅aW>J4 K Q'3Y=GkT% VnY6`.7p=SYF:2teH.~r3s=7cnDzkⲷK<ޑ_ E4s^ :VvAhm4 Ȋξ)j#y?Yh^kHDmH'5ut=vd$J1Cc_Ϫs [~Upr,2pz7ĆCb*ÎhH*ì-%rM4GdWC']f ?Jچ?2SƇy6q7`RPLjRvyqodlw#"ZD0H;/54HaLEt1o/*LF0Ac*^_=[GZ14flWM?b ,Ϭ{~+)-)V^dk L;$m_L֟y]FD<6ظu%(V8}V?d$@+ Wpy)P'\ga8sB${svݣRg!iRܔorĭ^2L5\c. uɢn6HI)QA$kL89k fD%C@RU~YE:0~f} TuSs^JBlo)iuYY'b\p/_V̨+YODV8`n3f$E m;jB$[awꟚ(6SOK;*;0"oJmh*#=>ʵjۤ}^wHYzkFH e(| ֔`ϾڛQ!Yq˳v;Z+-#٩+<NE0gU7D.(,Ԁz,I4ALjb'`YG b~>NoQi? )|坎w7 = vϨi"<-kdDuAo{F"IrIIk^y-N5t1ש@@'dTe*'͎`9ax|IHZ2Pk+qw&7ICT `6!z*:u6؆+]斨&3A&WP޽ss W9yѢ㻀wX(| P}!V+#8_h/';{kkb℔2mVW S70s]{ /OZaoWL{p:ӝ->A$_qx=-*~a;7sBLDoo8vSo,z$u*a38j7$-mPa1r_O8мyblbߑŎ: 40;v oUEo|/8-_QsAmIPPT=t*U;? 9(u,k:gsvV!IZHG|Z)h`Yu'5M8[ELc=]g)GE]`y0PِdЙ1o@F/c̾%zTf2&IJI6wA$|Iq5+hPƐאt"$ Xѧ{%!%hav)bgԁ.) y?^G0Sv|XQOLC&{qҴvQ*8(]`w?vzL3Sl@l2F=zs3SQ ;Tm0fQ!*bX0Ÿ,wd=x %j?76\L>/b/{×|Na4 :^H\kPQ9dђt0HUvC +r{'z'_r42(넔.EIVhqd={W~9l:+Kı||4zVmh BӡFv(ŮK Dw\XI~2ovu(G00u lҮ^+;'E-tiVjWdNȕAuXEI:ƾQx͉~Z8:[b?4j_Bn}>-PbO-ZxRC$3#mt\oݹK]A<2EK\vx%D7,1Ӏywר"bиiĬnF fcD'^~ྟ^biaI)ews;f2m@Cs?^E/sj%.YsfګFg[sA/gKp˓zP0x5%V廌9d~Ep+` AsvBC u9=9Ǖ[VTrIRţu 5 4{\Z~Z@2Fup `:gOĴ>K$ěx{<) ?˖K1 @ܡn5SJLXd2ǽ8|2/ڷ٠ZD?r q]:VaI6Y0^QHW!UHmz#noCX )QyhTSBˍ)g?$\ ܙn.:rכKf_Ř'Bfjb0Z. ǹ?E+;bSj/嵗K6 'e|W(l՜;:%QrWt j,{0^Cyԉ.!:|k7t/-LL0>҅Vz?c suG 6CWsJ o@lg+W+9iI@hJKczƾ ,јe޽_}^ʉ {3P[x:7d{lv,^k:9*krÈߗK#lJ`wʧjrT]I՗/[EN96.贈X7n -6R_o5kؐtJniWmÀg/JEjno$#zz ߢc 7Gm+ 3W!v8"J~/mQčʆQj@Fd7cLQ5')ptNu5 P$/DW0B7Aŵӹ';ZZ>ΐgˣ~g5s}T$\'eż8ʩ۪rx{K{NB nyl5Dtv@rj "yeM*L꾣D.ZC7<%rDK'GiWd0%ف,fV}Q_lu8Rvqlsd{X;;dKL EHKij`'/n%caa $v%jיOxHDH* mj`IJiH< $`6=;V{|2-[&/H!Ӭ&{Vw7K Ĥ9a_{kѝ#8PJ9nQaM(9޿G[ƋA~'8GӞnprSzH"-m]0qNGyH,$1(ؠ#Q&JJ7Q9u¯R;kIPˇu1GGu*B(\aQmpiFMW>urLŦ>6`kxH}:W ̐ǕCR4yU7x+U^PcfdIWVE !ycy,*2mkȤp[8Z{^鮨Zz<3&KiR@iYi]vmISC0"FGsT_+́탿ֺz͇lLH >HI3Zt*`fGIkT"a)ȑn(dO³6dbь<AL)K ,QVGb!LCaf7S# 7}8NeLyp!"cz,>X ~QC`с Uu^F^QX_a%E| E[A-ɯ~?}{°X|`4^\s'|ܕM|L9 GG9kZ19r؃^6'cGX`^ZU= D#x Y"%”a޾?+bd*)L4txѮq󧖮JM$%S|%Zfx]b.21(}cȫnb-oFekӾ-4TeQ0zsUDPq)!*n2vO=Xч$$GG@ɤB~![BmGgX'!T Teiq+m`^EoY۽nyq >pyvUim= ƴr> KGDğgγ:E߅fY#X) :ZxWmq.N\1'B5k'RZ bVUM?zd'"6P+RI2ޚ6mr%Th*_W![mIPY\M?m[Յ8}hޚ #a*IJ;9alT7QݨA\1:G(s3Tp6p¹=TaIR$^`ЎF5ayx D5ۨ+B5[|F?cּ_Z‹}Gy[b_4dOE>4 ܓ\$@'3G= N`{ B᱾d7&+S\>uiO{"T2)t2KeUv^noER3᠄B+COGlGOHbДj!Ԣ{ 7$mN@Q{񯛠 'p{ZdCXSRF~8e @Q 9Nk! Kj2O>)5Ȟpxt|!NT\Y50/) Ӧwgk;q' }49D]Jlq~E!q`N< |*\s&f$f %D9GWS;P 1'7@Ǩi\U4t裧Zi>8N[ AGn G٘S=n[f%HKg[y1&sޥ=rpiˇ]؃^9* 0mg=9 ^a:`ޢ:B oeH4zKp͜2JwZhBb&fd~dZNwF`rQ\- ~+)Za=Rvg<hv[oT\הּ)BuD3y=-7=W݋AWwM&\(raD50]֔ۙsAtJ\fո(8l!FYN %P xp"^4X\{;AQ\=3r@6D\xoge闵K԰O%<ǫl\~ȲS ~~s4H\yA6я)Y' RWX+G:]mkJ1[!RKۧT= .oNf!¡NTWJҪ1M5.Znb]Ŭ\b * o/w:A``!z(׆`,a t"`8T߯Aꌆ%ȑ_m-{td S߻([w͜(hi{vx7j>YT_ZK^ _t5{]UhUpW1sy OR6lY{C{Ml<2ކˏ3DyKhNIDR&~o6FYQZM#/!$E.B`R(-M̫BD3)2M.ާjk+=1~(Kh,rGR7k@l% Q}#j`BHo.gŷ Jw59xZ '0 ĝQlȑ=<)?Ogf}r)3Gs搙ϲd Lgs.wT`b  FצeEilJXEO^WߚJ&YyZdz~R#^AcR 8:l!5;J:B 21):wsA{?ry3l/! VP}^0+plkKrehqiokr Ɨ{Ba#;fX G_X(5U SHև?;6q~%~0I΂/c/ѿ8'{|wݝF:PGKDu|Zf}eM&>ͱWs4LJv*k48S,U[ \7hUAO=NQ/DhAXܞjN:5ŭ6ޏ6旔$Oڇ5gk޶ݹhq.&x I05em9 g֟p?x.J9Ya) m\M+x"/'fZMC-O^C CA/#yNeRI5ˢM6&L]sk+#A y)[$pY,O pwʬfn ՞{2 ,]M9&Mx(H񛽤l;':Y2|THUAL!:`:qʹ\EiqM\N0tyrBoq;eaP9S 6[kE"PE %2m86k$X^:j u> <!(KIak~S-KA5PkRk-W~f*f-#RW!6`˧`Y+ V*Pyíyq@,D'_fUoycOpx{ :A q&yH~&ኳͶـk .l{ky} u[`_eͪ'di*! lc,#&WΈqU{14TĩHO2xݳe-::5 /nSJevf#`Be2BL(Ue=Ѹo4螬B,8{ܘua"PN#4vHI1g6"wvI.Gy]V?H&gh0Bl/YHɍK<;<7(ЂOX\8jisD ?n pԺ`l}Ðtٽᄹ;1eWx7}|,nLu4ޤ}Dob0+>}Z³{KМD'a~$5[$r/"O7}| ل>6td=U{K?-_=#Ct,(5 76pΕ (SM}hfb59pRJB+.b>pG ߅{%a5LBub }wNՅ}a8 *e&ɗ&vr`Zie-(G!c>_nl)v'e<=Vۋ 4r'~+Oƾ0*YMũI2湔D]X%f'}f \nݬ!*EjUYe^R`D5WM5 =]_K MgtƓm6[ioUOtD݁tt&dzu{uhjoD\iUIH_ ӼHnBx׭.†۲_s_4jqzPcGWAuȟ},r I1UAN~8J  0]'&Il05`䳒8 YfgUj@/1}6&h(XK:t 1Дөm/gSo0--VwhHa]TWhiiF0!3D8g^sBt`-Ul ҽ{'HqFCmO2 2VȰntr#}μ~'MD7~Rr7cawNp; ?՚`9W`ZCLlGO0o>A'+oQ@ڥw3^_]vN@]=!ff%ţ>ttRx;?0mR]qSERTy-˨ )k'_􀂤!85xK!e. f-PrZoEրܤâfaqvf 2zD\r\ܵM+uԄhgc!@h=٩ห ɘO([C^pT@5R#m]1q ~eL (34k3X>N/8YD֕Wioy\ԹeN~8&=ͶX>f h󝔢 M 69x[@web%ok(/HP< JS~"WCͅЯtYw͡"oWɃ~fwnmZ'32K]]a'T6y+'EI o`s T6Kt ~IW@_7Qd*NЧ %ݫ.(R/Jgh{5X~GxQIݸJY)X۟ךyeXP>T\ӎD[Q9jd@@cyvr&~=ϮQQ/w:H̥2.zly't  6{e7ـf,hda8O)^t2Oݦs7"Q£*<:Lu0jT9ӧq!Ҿ#[x 7Eɔ6τarZ{lRSc '#T 2tی ;*kʈ2$Qqe7,܂ cDIPf_y㺟O {O:u< By!Z3u(bPh}xt9CJAu=ڱ\ GNf}>#{@t,{ƔKuR%Zٵ-Qngs Qյ.Ze%#v=Q//.ck4Y 9UIAΗXi!CU(bIH"l>LHDrgWMb\+iܛܣ8 gfy6T@-fPUT;@(/`ZBJP1u'1 JME- 8)YC /qD_t p,z3{ډ~TRզbrȪ $D`|I;/{7Vf&\w)/{K_Ory@>K :4F|+*fЌ{Ĕ  ,#t+2 :X "OC}KQaGl/u[ۚ|^Hz*S܊tJtHN|eG:y c?v%KUWxųTp)[!ާ)UͥzB<mEۿ[8Q=#ËwNv>0͕ybXs'@*8w/Fli@6$ժz[;|6B\[ر\O~!3,!B.M{Kn1 e_~mm7ӃYNےD=Re8Eqf=!xM~x+ >3JUYr d&6⎡m^F7˖j .!$cIjd84qZsņgGA5#G^~/ԴLP"\^ZONjp/>-W;SN%I' @R5Bq8!nZ rbF˕-~vܡlDp -|s T%;~D0z>I?~^mPi h#RϠ!&nS:CsvΕdy.f .!dN{GPǥA7M,K-9 & ̘%4ͮݟY¥ i*~ԕK]O:ymS@b#@]ܒ,8yUBهTmzJ,Jz?_G[",:b]_\ r%K=XdMNVԽ.Rrmݪ&sؽ=3bV*)%Bb@4V`.m$CN/£n>FM7ݗ&\~K͜ nL ) I[|U__0ۛo7$upu)#sEyʳH0 )qbtkyT4>)'C~Qb V QI-)XtKDem 33ƯZK 7i/U R]{YSgJ|B ]BpIjkMhR {Q`O @=tly A󉞖&@V ۃW(FQVT*,D~WairaKxiGٶ^gs=TZi6 >'z3hWʣr5 3*rguAHc=Y : SkR ǥ"Hnj@ 0,&7,R[țXٟr.tZz@jEWGK8XYYQO|IK+ՏF$b&1@Qm'@P@ݔocC<{s|4ȲRE&",k*e"7F1'yq7.QqMPO; [b<0`/*iI)|^QՑ8Q. (6`<8 jyHѴ-h^aS#wrk:%cV&4q2q~E:We ЛkU!շ7u.2e 7Db].|n$`C1[SbNWޛjeI[+#/8m&&cq~H- AlZ;pR&HCC]&7sGAx=׀hKIhՎCg(mM$tjv>:'W o:D#jM %=7'hRv}-U=O> +ζoa*5.NvϝDe.V{#> u&usUٱ@X=\Z" ʆTqp—.Ӄ!(orz|$37 P\iySjߪz~z9x7K6=dMqnǼ:$n`Z4>|m#M!sb1>b(H\Gv !#wgJᏚ~,{dAb ֩LAlZ*oCwِ!{Mo#R z2,[Wش3"ôK H5mv 0RP4oX wbeѵ"6eh{bʕlX&ȹLWg>tl/r7pG17A"{(`fA`}'W;ABxh̤ ٣"O|&JF~~:$۷,͔@`OJRGuᛧTH_V+d q&f+X)0ȯYKt.h#b0ڔFAK&wDjq c#[Tz'^0F! \ӉR)TwGf28(||ˎD;IхieB)3sr1Q:=FTY?d;/إQ d[9OC>vz7q"W=K_x~w!?@+ *+q~AHߊ jXĨTˊ ;s1.5kV? ȫEWvye{L jCzqUY*lw.Gk y ԘfiStՕSQMgV ]AC/nuݒ*DՕZۭ\Kvo7q,q6dg0"ģBgi xՒ QxɲQ/f\}KP͘۳0?- ĈO. KY\!(~&:W&F$J^F+Γ_*xN(/r ?Ɵbn!LqLWK;F-c_ z <#gЏwvG8yVTr u?r2,F_0Y`QedG1rm3]:<-\kqw)*t!{VΦ-v%ou[ 3ҟ^r\\[;d4AB<r%kLOVw> _<¼ĚN6½?KeK 2Uu-5$-'"3*POs_r hp{h tO_,t#ϡi6D>5A^`X.v.c3D'Pх8ЃLBo6(Kd.Mu)gBSɰ<: ]^rY.W$46.@)<% ַN$ !CN{ ;(e4;{v ck^&滯6T融ԤQ :}`MB/]nbN\x ,A݊ULśX/LXFauSQmP;h5-hq)!ӌ:2a-1V6_7*)Ŗ8qz79^}VA:-ծXeς?r(a]h2FOi\nAk."m<h[3_暍}/XwF!5“UH P;@tsN[a(H s N|%і 4MAۈܹXk.9}*a>C%.Y=[ y| -7)~Z+E~}Wź 됊bY!~6&My__XeA 2jZV<}K}B jf 0hbNVAW/@hO툩!FOz{>#  ?qm٧ou`N2}]'U}Ґؼcue;%\cIk֧lqjUwy=ظm]S5` Qz]jl+4nVMUgԺC9!Xuk7wP8A_0Rk6̂]ύsWD8xVuERܣɗ"2Jy"~UmԂKR3K{@'%Ŝ$qI1+~pٲHy{|MyL36tsـupG iQ=m-jʩA|ofv7}(l SBċhYx EaKpʭ5EU>?·MQo$ă1q 5ʇ'fj2AXcMTã.Kİ_[C|Xq(M9I/=;I t2$b7ƯM,!>pQKtX:DާtR9b*g{㨶s'uHs6[%P}%0UGcU1jSiǂ˲cxɱv SZ C ɭ`HF:U8]CUiD Bz Lٓ#HFqZ &kdd7BF]*t1/apKq>&4ߊ^Ee5*?ƎM0WnGFY< .s=W&aTáKuT Ҁz̶JjO0Bisy."6^P`#͒8E QIrY6U+YJ.FcϖB=ugw4_Q`3Rs~8'ݷZ>@Ch }Z4/GZ>YQDwhثAHdvd6XqՓݵ>4kb 2k1N`UL!< Y*@ q$zdd[/ouy+I߷p=̣4P`}z"7d7cZf-ґ,Tu}1%t`NڽXHJ!-+N ]^;b[b# jWv-!Sm#-4:'g1aN~lX q\ZɗlS};A JH]7J3"e-U#2 'Y#c8ܽ(%YG m5nRU77K "J胉KuEn]RF.;#2gL5p{#[}.sE8~ SQ1[Hɏv0gé{{}`9sA?7^'x)]AgZM v%6k"q!.4^jЅq)i Sv:!lǞ^)rG'{rx )~>8% GC4;U`AqXwr+b?l{z`1$u8X7/ uewu!D<%~f16FNJh85p^=eLf\[jG`afExcgH|l7b7pv#7)<#8Y0{( ֵ_}\@|^|1w<\ljZhMsfdRv#z\<)9AZÑzc4Ǘ_XevO91g*'76X>`CnRiS"9C6 qY'xC$3;Ԕ7 l3̡z[kd<6i#N))JV+źpsfgbt%)/36EC)TgשgzӘ'H#Lèҹg75az>ކauk%$e|^khG|\ ]NPP:=ùq,'!HD(* ;2k5t Iue-i0'tEvJE[U>2 6#d9fr?`>.$~Q!E>l:7I8Y9Z 8cVGm?^ħ&clc@dѶ)tyY~/0@uN\ǬCK6=<=Ldc!nK!qÁ6['-%S \NcX{iӗ+95[g rS,X ^YMrpF`PYVV)/.DmfOMYW&>)/q ۡewUn>+ ZRX {4LRs'NZ!"1I=F}h6*+,^g̏\(|!fځXi;]Y*'K ?604# @g_- B995<9Ԭ}Գ8aՙ\CiV~fĀDrvZiF7cXKo|.@wa0Zl/T|b s|nw9yPsUޣʯ3yZǃ|RFÎ}nyBn5~@D+wufmQ@&hdai0crE  `@&E`; 8c|nP F&wZJB+Seׯ^m p-ٰŤ@ FYNj~Uxt$?7 h\%?"و' 퓈q[-eZ_|iimgՕ"j02/yu8(y$ȍ|׆TEȓy&P)a>75.s!khHфw\>q8i܈ 9 ax2޽t /|#1 Qɦ5Op/N= ~\s'%%04I? j3mRrU i).5T\TiH7)3-@`l"S<=ĉ>CFG>ezhRg2AdAnhPG.|ۯ/TńɞxCU -+&_z2)KZ9f=U9MmFP3Q.L i9/EHbhRʱk((K }1HEߐ$z\T+jUtyƯɀS'{tW#Ynf#XFb$q'V4i7ԃyQdf789h 4 ubT:KbԲ;MfZA~ $. AKU݉/J}Qj$oO?.L"cU(Qȉ,(.^$80hPXe<| ҉YmׇkY(fogJT"xuji4C:W&)+o'Cc S#Sj{Jo:hւP|-& .n(RۛxٹrU}m Xd00ZM(t0:55r{TBd;Qۿ[c4ՅO(|^sNcսDn,A% ?).ns+=Ã,y2b{h?X_)K8~4v~˿*rnh#PE'4rTkΥj'~Q`xjNp' Wn 5wxE8ѧƖvω,'7[֡08먠0*,=­Jus r^vbc-4KʛQ Fr-1E]*6)UᖼxTL6?͢Q ?\uHfԛ.jHGmzjﭖBx>TnXsZD;1hΤ*5,D!lq7'8XkBY]rTBrT+_)en[ڸڷL[}3l]qðrBSL9Q`WPCh5$sTkliV.Rr*'~8Ze!@2sa_Gc0X(q+-86.ݩIIpm7*/h :0S~dd{\+ Mk_ס#h5,5 AGG:ӯwBV?j>)/JCUh@z~pUgh]?@%ӐYv+eo|?FvRUZQBtnN/?Z`<N!&'D\^*&k,6[ o84̓&;GLB =+~&(SQ|h-@ {3 ث.Y0SQ iVktCƖ9Ԉ!v¿Os@ܓ z$ۓMv\ ôܴGsfpwʣ5vh+w\;n\"4xkvf"ԼւG ?p!:D2y+i/)` L x&lWj)QwfXh\r!Ĥ~ͰeP=EHgw|Z]D!DSJ03#BI0*d8adSw| 0bD ŭC}WDĦ2Xux w4b:F {)|=0kl$&S7L:w"bW'n4;kW2/d ~_-3_&IB[]*-VŔaBvєo).Wooԛ;ݐ.t>a~NE@_0֟@DѹF[L#a,j&80^lAblyʓ栀fd2Q%Y\ rk-D= u3K#6*KR0hMBo1L[9Zf<;J ff|))Jul9RxUcRVj^хHQdR|5=ⲒKؖ0/W1=듷E3~4R!7x{rlhmZw\MZ %ݙ]i3 & n?La.La8skeu7"`ʭVqD&'G>yrfCP[sz\ǖ k:bQڴ#_F-}`lE s U%CI]59k7qdko5 keE[POk:IcZU(Vb 6+7B/UQR7>(XNsFxu]h9Lr.,N.<ץaƸ#8:gW Dgz;8`h>T Y $ SWn7‹'KV9I߶&/W+ש8wReI׏Am}Sen4"p ^NH@dR4,p-Qm}*ep(EFDX/[Ձ#z_ ά;UqHТΒDk{ qk狁%kAš@/nR}EisJ7\gN\3sfZ8]+CP]ycvc$+:=}kN̎ ő ;~pj0 և#{aÓ{tnJ^]Wz>9 PM4 wN7S[Sli 1l@p_lW5}ײc[c-{HCV .РP:ۄr*9lE3 W^%pv$%k@mHRKXsE3%}b(=A:?ǐ64ڀB7?.Ib`$N1܀`[I4#d!r4A;jrI"1"H=`f!hڜFd-'ᖊ1qA`AkS;X]Pg<7_Oz/j>RCyWJ& ;iӓO)RU"ajr; Yw98 N'0APgoķ{Ă#lBAa v V(a\*Ӭ53v#k ? ݟ C_!8yBK޶ٌ /KtvkrRa.+ wɓVXd?q;(!uv3aJvqvŜɯJNQ4@% L5^JȂ-<ܮcrH(2A~ȭO,J8ࠃ 'A??i5e4ݨQC,?5]t}*ɉ=gF=J2"EHщGG`^Evfi+Q<fCj#$[ ed1Ɏj{r Dj쮜w8E;б5h$tF݊aU_3*OlrX>yqR@٤hiCl+C)갌`v$qg.GhwTc\^'i`-gwlsE\uAkL '0MenIJc컓qf'-qɈ9ɸM jSM T5>kLz׎}g K=3K^0og%;:"m%z]VāX$IKOȣjs/>+r Սg}h6l?:N?{V+2%;jxs2G u?#M&m{$,>m`=cA(ZMDKD9iKB?GC5p6vN[ӝcF~/ΡT|9"S.k[BM^~*aZHBkΤс49>LA#(#5 }bwD6*w!8pUe{甠(ZbHX= u)z$m o}*j:<}]6+p:q)IJgSj_F vm鎢"W h`ߧHH$vU)vmpgE֊NK?Ny*6A8\Ec˦8pSxH!@[} ]`ٹ nE艄]Q>2\ %HV h;9xB,"}09$kR?717S% +z667ӡ~8C{i~bskdӴ:JLCUONE,)Cjѫr c.=eqBf0ݬXOjX_juDk߂_rl]+Jl+4ɖ:q8}ë]TgQ;-J %+L E?A] =b G8@/I4BΌWzop`xL *TK2bG$u?hfҪ;W(܉?< Y`jK8wB m<\vi.MmT O{v~&&1X$g篭/>QͫОsk|SvM~YctƠ@Zr["w?J,<{z w]dX%t`[CnՒ\"~Gdz:hG=1!9" Lm偹K`'LPX.Y) tN "0n''4j9[4zPAAT6arWy-m]gKRZ̾ܲP"}3b&@)JAv>>l9!P;!"mmiuGE S%/ƶ0>'̍^u SX)bvT2sdzS&M0fFAan,Bn;F.H9T`~ |dWOR҅Xqc+v5:-)~b'{̓pD*}vV:Q '*l~fԸ [:=흱q85lp,)@atTVGbה@7|3g_ֱ)9 /.CW;V  .RV|351VwW45Ir悁(pXjUL-.(V{d | 3p U=oum#F@cV^Hb=1c,e:s_GZ,mR:}1E Z?2QUP5&~|4ҭعg.^hLo]1at۲˱&aVO<:z#wf|j/aب {B *7+$d:K/lTyT^4(6c Z9KN?+=O+u܌wW 4q/RB~7AVQ<Jo픈KpQH @%nAp(@lwֳz0 şȩ^av3g{,GAvx>u>T eԹÛ--Zf$$s]òF*7*W[2V}7h 'yui4ԔdNKI  V;?.$7]60d$hW^yrgڹiDzWk^$pGeb%o0*j#O%,Gjm,3zNǜoL5)ygx0l}Ξ~r'UwS$@iu4IE64n=IF@%}&u߇gm%loSSF(['+r}4c>noד[E쌯YmFĝBW=b,7ؼX o~Y A)qO:ƽ3O)b5].o*4ZqL%2{| &,>pf֘aVL : $^ gZ4dEb\Nх%%Tj)^Y1 ;j'^SG`Or #>b  G^U2F#9ö*]TtjK,htp`Uφ!ߍ[Bo$ENŋHrM35W#fI~ y,nG2]S!s{7sl'm2[MSҘEH1Lsй$B}\r8ʼ:([ 5!)Z.Ndļ@oNۇVtth9$b6O:+x9Ʌ&;U)%8+RBDdzpO/"JB9#U NvP/J*)*%}>mC{~'e8PعFG<JuCF>RʽJ[m['D;2Y m\wi]rtjgj#(%H!%ϭq)˰|x X "uQYvybSp$'>ʢ#%sj ](M 3͠^*gQ"ԫX8 J(^fux'&i}!"~0Hџ% W۠ϙP~Dm#nk K%V.Gv􄺠ϭr&MƎQkW\յ+Y_7N n/ҰJ`uiORkCCV6Qb|O]YY)cgzPjѶc>LK7&md6HbhI 򼽪DUyÅMGnd~aH9݅rJ)[hca97X8Xb'\("J xjMgfx-IJGZEXhzD+ x܍iNiâJgiztS' )8+"?@i^Ff2 5Ml2лNu_fa|v*an 4iyz!&1Rbk0)/0yqfಾ^=IQ`>cm~7< @XAni2 9c?pUS)hf$"y }z)駏P; ΙOE) lwi`eڧ]@ oCe- Cm',Ok<o Ph@N6Jc.|k-M1 //sdS7-^,#9,qG>ܲC%$&0DtL2T>ThP9O;~7"=?eoB7>T#7o|*U'Xx45r i6Xjr=V4sJ?qst䮫*_Tk|C'%&4qrtVa)L|dBVM~k$6feOlB+Ϻ*(, VRIHw7d@M:&p6vPQ oIX?^ă]#2ao<hPxv{ƒ@Xx3!j~0M~a'Ɩ.R)"_kkڜ >^ Fs1)F[A&I#[#3 Hq hRPމΒ``] B7\?ا*d ptBz,I">`'yZa >}TLE^7h^чyv@T G079pHփ-r H4ǚ XS63^-8I0\(Ő̘kj2AVF,a7@cDmc~SK/o4vԈ\񅖲SB'1#x:E:|gYr QZ#启e ^7] zxռrAZ ׳7@!My_F_B)\ab`!RA\Z 5Ofgԑƣ9-3}p\J [ JS< 85U5YAjݍy 2h9R1+ՉY4sMM-[O먅fGAFJ,MKADxqd^UډD>mjU@uӾblπ1\RABt;1Wm@<}G3JMT#g 2{?8}Abp)e b3?x2'nfk8vޛp#vס%JrΣ7ز·)FE)/_2n);0Ԧ0F9HY6]ᐐ:Qw]o_?S/*J39 ,R|gKPۨ$ϭ kһA#F!䵥VէEȐT+k)ڊK7s]ÉMڣ|[<j<eq{ޡַ 8ѷPak6*na.Dư u'(H\r䫙 7 >'V0V#-6y>_o%EnFf&pACE.]韮ZP˞v.+BƉWC,9/D7:x`%vhՕ1GSYC(B>^fD4;pL><^ ?v+)+\:<~H~z u+|$( ܳ9%b&%y']JKA}Ի^,.ۑчOT3l-j^C;zFxOtr:{au, ײғ岁}^(yp⬏Kɗ?*w=՘hYx ~ƨu?>n,'fHl߇+7_j#X)D ?w)js@No8i(Q,Ũ[\uVجR9ߐ JhUhq4{1[,`C!؁rEGܤf$zwp-5qU\T%{ Ywg+VrkUT@) 7{q:Qmo{`Umb @C Վ_"ASy-ቈQ{^_6,+sZMwT dD4#ވ[f㢟1*C*#_ qNhv^nb|o~OEzn@W(ZD;At͂JpKTP"t&;k-\!f}ٔԂ ޛlMK0.y*xOFYQ^~ъOσ+S^:mz#Ao-^^.  d08~&5Me3Parw36/icCy$e'xlf$˶Uu+daCkT`SJ0^edz0T2&DQdS{`!ht682lNy""ۉg KWS& 'iASF|Zjs ~7k" #o͚=fmn&N.\dX2iҍ-`Fis)93bf{ d_VR3--;ha"Nw3n=A tXW/iI2oe&œ9% :ހC:.]+;ج68@:K^YY))Ňp" UJ6ոo*fYo-Y t#u[nlf/'~W+wTm|EU^yo\F'k@>pgj6ez[WLY@"OV VJp85 :zx*F,r:V;*Zfr&d;M57L ՗ʛ[M9K+2@ &ЬgQliXZ" O >os,9/ƾag0U~S7oY|dEjOlΉ"/U×rzvV'͍bZ٢yE6Pʐ?qBѹGiuU!j%]SC#|ϔSJr 5 Ǻ rs7=d[;4 @k-Pjϋ=ځ`tu ]o#MdǠwiQұX"^8[cM8 hb.^JWPMyR 'HA-.FWzfư d,B)m%qrtQUP !Y-b'se-ڱ$_nGA?ar4 fKεxO"~mo#MX˳4hǙ )L,D 61go< pRJ'G9 (CLf:x-}\HS8/azǝžnN8sH) @%=.:,q/N^ު\f]|a<&aCK鞡7]K~mtXɬ_54:,N?B XiY9]Y+.vi Y|V/Ow#SHM݉(3,$B R&c3rB9oG9o4Cߝ_?!N8B_/xnXG=sp:j8/C<ǔY2!W .h*s @۱ݧCRcTjő}qJm+MoXȷ_ƯY^x SJ1%ҩ%՗?\y uIxg'6%;H6SUnyX0Mؘ%M͸oTp9HzV<Ķ(81-7pvi7(nyha2X(Ym$œKbՃKL>0o`BU21 &;]SD<*P1 |F5/]HRf۴6%b5zWXY.cBkCZ[ &X\޶naf z _6 ,F8)vݯh7NrE5$2Y+3NЊ≲ R Oi8V.JbN>Te5,DV%?Ɉ%66|l'~@(V Ke]f_w~cQ$YT1 E0='4bÇ']Vҟ7Z>c1kӔs}"м%3G[=q=wHI㣶O KI (%/ljӀHCݨIoΨ`߆ДH&N'z}+5 `,[65)wUx=B$7F ]&۫$fר o!:$/m BF/2 d VN8z;}_&8e=d8/K?8Ɔ.T֙GV Y(T#h^\ϙݣaO/7z6_S4k(4s0ѱ&-eݸ鏍U6*3: .8y̠?U$(_fXJ=t<3ఔ9hhŌi?Z2-\yI;79!R[ALc V?P3 o+'A1oEF}AER?W0VU*Y2m6kS#*WuJycnY*COC6Go|h*K B IV{~S;=7XڷHdߢ3$*b=$s p&2} B 7s/MZ$J:!-6F 6vqs_'pW,y6⌂ :KWH֒9aǗ0rxY'DeuŝJ$0,}Mb657lXHhPYiץ5]kN4r&nJ[OnKnAw3r7C)r)>oЊbMA@,seqkEK_!=cEL[c48{8ExC DO8.=#7 T}^؄lW&4Σcu|⶞#iE7QYDz[K*g&Tp _7O} MLYzK: NJy`*CK *Gv Q * 5R[ALfK$㈅Ӣ8j%tTiӄ#jPXÂQ#`me=Cvg5HLɈ^j=ѻXP6 Oh뽙J|cc;y )a*xF% (`Ģ!vDY 9pN}MT{ Mu?=i@}M%QY, M?aC?KNKuԯMI]Y<\|iBF-5%U\.<Vtx>\Mm*da KkH{&n>s`i&ryyȉ"3KG  c֓yd#9mR y (1-rnfOV zeRI.Y/g b"}ۡE,z*4CgmҨ)Hr_ƁߧZB3ޗ14zM ܜ:uVO:m<) 0}5n X&xqAorۗT[&Cn=VWEpۈ>iK4B3X̋eohQ+?~YIZ&Wh^꧋\}I9rAqm/'oh8heO(:{ aK^l2k;#牤,BCVd6Yð6&oRWs| 06ZsEl,ecam؟V'`ΨtXcD)Eί`ZkM.@~ } |HjE U !%Iys:jzx^̩c`./3ysoQJ:28Ƭu(1!.&)pQ'cg `N9E"~[EnRZ!XP6 3v j/Bv_6 غ+b'.p2C I_m,FS&!][ө/HDJX9.ԭ> Yzm'֐ahvb2~ZE@q`G A3 }5KTLMt>6"؎|={.^nu?vV? }Lҟo)7ե3&.*kL!LQo-vkx~ydu84ߋEtTkAI~ݪG%H!bSy3T^,1!I;-f/ Uo .GDj/:UrG?CXff]DjIKHn+afe8 Лoe~>g L9]X5#X$~Dٲbs83%: Lnk8٥u%])Zsۉ o7[GRc/g4*Fä8rN\zd皒d+}3YzK&z$~|^Z]ɷN>YN6U6ж|zŢ_d.=g;QnraK[)-d9~F/{2W7L_w4艀uR_&h<*mSC !?.E%$U:@Wr FP:l^p" dht˛@[XY Y֘)\roEom}D#[gSyrFi6G1D~ꑾ{3X,05 *k p ϊ8HRTxq 8{jMSihxMNd>e=Exo39a *\|g _Y+SQ"nDtzU-fa/v,\E6>A邭ajz[ ^7 _}q+щ DiFCj%LUHr7Hqh1:tMRņJT\ c%8v);CaXӬ=A-ͧT]VDxjBo!=|s)c >#67WF`yȀ7RrLy5A]蠊'8wJ-Gߚo]>tzFH8r1ҝ+7 ج@ۘ+IJ+hy)̯zĸ̀ Fm4c}pkih'w~ǨR~rKGdμ !~=vy\02  Vi?d>ԣFȏ Wtg$8'FJ9Hj]#{b^OՁ:4Pd$=lSK|%Ranr5h 8 HSq# ?>8yaL7 u逳P{n#+W$77g_bW7?Q&TUT P.tj;H.Mqϖ2^FQDb$3cք_7T#y2X~yXE"}eǤ[]E-h%N4&)Tpdl:^lOÕy lhy J,Fg" qN=67:!y0aP'V ⸧:V "ɌԫŰ24|;Aϛ5ot_0b:d{m(`F*~00}PLQzzhYWڸ @O7j2j^h^1(ޔ"Hʗ\#qwFqaH5?q}dZ'0p CX'Q*I6k)_.psTslswp#22 EjL5PZ p5YνcbwvoG `@]%/׻2gT(T9i~wD;g&"6x?JJ5T@@EaqPF_f KҏgWOiW 2i_U@ ¸8ݑjU)P,DI(^[縪2a5Ҡuw#Wr{K7a #| $@IweSocѿ@'J4@Ev):cPPLuӺHGdJX9)>_3BJ <=.$oF֔:\ b`)wWoH0?ʅ>+Pm/ʖsC$ˬ%?Pↅ*QEt?/jCUHUWvU4,T:WK36(Mӑj,~%^X`Ѿ%ZԭvDVsSbgk¸vRY{_j@ȅt0~ڗNt$`+W ŐU#qfJs듶6}CcHK(̰un( Ȥ}U:Dutxl0FD eMWq(`JgF>:>2daۢYuTtĆ^~,] s}[X,r# 8n:wU'G86n<]i g8$Is|Oɺ4fдY޸%k,T9Ml \ݣPnw]!Vk|L,g[X\ŪH}Cqڂ1nrCȰxT*o4[(ꯏgd<ciLM ==r0u ڮxjI ǡÓt-*h };ݍ߷^so ~Y,.ҾވB{r6If+#) t5,rMYdfF O{buQ8j[#wQVV!"?X:̛`>Q05䒛Ts5.wgǜ+c {//ۦ괴 _p5bݚɅFSg5*AᑷFÎ}n*$O>"fs>Dja^QdAy q<5wS=9;pM 2k$"E[xK6,}W;hu)0 fn.WY$rSf9:(5?*/\)R=\/T|[ddJ#y~&QD'zrEɭ)@Fk9uw[b rW䩤c`2uJO;OOVǃ?(a0G38P@j,/qR 3}{-܃plٶud tw{$G0(8U_;j38 4Wāwh8XO Iѱ]2` ӏ0E!Vu.=פ yogKN K4"%:2#'oY: 4bL']UגrW"n9)=匊i3:dT$Vko^UBVcH~DwbJ&XYu~U 8X8<6]<_fOU>Ka'{:ٍc8B:x].۾G\sa&v8FSb)1:[Wbe_QB2t30*h rBJ~pD|c#ޗ 4Ǜ?,p V:꽸AghYR=ގe?\f %w u[Fu)9Z؊sP)2"yhu道A̢O`4kK1C|?Im Q[4UhQfæfRNhnΊ0m+J;cME EQ.{l(oq>q[P/a8*_^5}Bԝ&? ? wgiABW 2h #t/ ]>G\WSP" 2qxҰ (!i2oMܫWYoS{ PZ7‹"(RONUO&cZ `o݋% v¸뇆LRmE(}\"clbZ63eqAΠyJߓ#;ύį)O0$@)ˊ~e|OϊotNO&Q*N![F=jnDxG áӾ>Xy//tPfu /Bؽk=47ތTc*TxNU\yDOdf]T$m(7?6Xu9Aք4ysѻw06^chI 1X@?fz9͖=ֵi3,Kߙd [Z J(-ȞQ,ՌY*ZIV4Jjsg|Voi4o~ A};{d+m4IV^;:G(;\9o\W!b:q%ՒTRgRrHqaq ALu4l _E*:FR3*?_`$-H /BZ6vOh"ϫ/ݬ[4~Dl(=p0<(nAE(d<*sZ kB{FosD`nmEG zn|, ˉ<Ɠͯ1M-!㥲'uxrAy_XO.\n+KaA sW4F>|:fŝb'=K Yڤr"'q0InMX~uߵ+;41{uӑxL-3-ۿh(Z?@vJ(3rv9; z_Yk.j x ޱ"X: A(t!yV-~}hHj5@S57?捖Bq]toLJd.8l$3Eym#~n:sPr;SC3LWPO]Vo`)GItC8gN@;9S]+#;o|V,ukև=-Ďv'ec":tC+4xK;#^ }.}ľ.tV,7C6E@;`b)lBYdqC ̴wB&1pH8)cO+t)#| vWE7ƜX*UB TX-mä_/ p_n< MJm8z4GI/^Ct?6T?2bZmH޹%>k %HMm4UdJ)oED*r#YoWc8U޲E,dk{wtQ9-?1NUDRI;-ؼfOI2z~ d>YSndw, 0qr.JA*~#,m\<8=zx͟I3FVV=zpNiP?: .e)wJʫM1p٤Z. wUh~uDpܩW1M&_HLuL|qDOh_IUBRR@:8QY&5LgW/, ^..AփvT}Q@"X¡Sw~ò8#;]dІ:r/JsKخ{Z7c r"660R$WI6D*eg7wKt eҾo0 JG"\^tTr$o[a_o0swwvέsC6n"Av}odfu" Jg=H3s1B;nDDSRT?wO7ߣ] _&#D_mLjSUW F57bl l!&*8 qX`m86T%5e6|nF=^p"9;NhTy6XE1=ӳ]ΪЊ|]Pq#Θ2=K)R9(F q76[\t1{(Xq!O9\6:s?C*Yjm*N牆ZSH!SRv:,51 G6#g 9=)Йl9KG LzppI߶<ё~BbxIڶWWQ y$٘q8F;hZu2a+ _Kub4x ZTB"Cs+NCX83I;U3ypM"kVo1ρgy}oepACi̱4nƢ<>{σ1uvu8 &HJi283Q#sG$Mtwt`A19B_b  䣷럱Uh_f^Q˘fC?摛,6WXp~6IfCz%AsA1PLFmxb%8^V{$sߴ3\}"I1cVoRUul DzPVc}(= ^Y4kx>YH\<[:bU k޿k{ ECxIչkXuX)oarUpBMf%3~:;[vƾ?h1*|N \\YjlOʼn|toRJϚOcLh6V~5 >̑chl[`f^]ٙC`Wl>mhHnsXש!1ͭщ_]ˡ8љ44GS"ur!ύBSZ&hX^l)\ֱ'dz\wOuEhXqxi䡢4sr!TaTjěm2 H>1f B*@ hcGqg2ܔ]s _i۶3%;LϼwX7( ._%8\ϼ֮ |R!sxc*dxĻʇ{8aDo+|U"ϧꒉ|ّVb PƢ6YYhCeIԋlpқ?U$V8tHLFC+]93.1% Nq>Ŝ˥~Fc%.a7&%Of`h,x:G$[|5o8D?e_/;Q)/L֛kk"P*K zf%38E,j.]Mh*0.KWڗMw뤙s)M$%I/sH :b5dy=IdDXi3ۥ Ea/CZcXIɒJһq$fI0̇rr! 1V{e=)&!9pxdѧ @ɐVf4}=s)ȣ~o߯{<1\ .M`@u4+H W~azR^q+oicL*w  P' #=R X[tl x7aFnؒJ$K\-'[0AmWo_А=-W&/?ī~C"JRQH̸Deo<)X.8ꀅowq]GN8WruNhbʴ`lԐt~GW yEW_XtުjZ]RZu㭃Wax;lB0oo&&O {HC:ij_^N(!3"#"4VZ Ꞓ\ 39O#n=FLjJ"z" |@]L"Cθu˜JiNA8:7tM B7s18xGz1Mv'懼UC'8< "QV Xn_kD FfwƠϜ.9 4խ;QnUMEtb~K`J BvsxTo=ˍ')Y>`Fӱy> <-mv!9R&/ZГ,TDԝ<5ɕu]\0&J\}_Ord}=HMGVR)%t0q焹_K0ȺeYMlV| Ш8eTfaawA5v40,~W .ӿlٛlߢ#7JzQ9mw~/eo#+^B$Fhsɋ@pvv0\ş0`چNC̽|]O٪й2%Δ#WAc!LP?kCag L_%N8l>w׹;N# 4n1əmHHҸXxco{e}FZjsXȗ4:34qh#Sw!c&e~3eNdrvfxtK!"}aM|TymM1u uQs# :դ)ڛ`c]{e-j#u2eD. ЪT(m,e$#)}r];l&8n];0fmi< WuW4t>{۰gg?: 0Z >'7:种%L_b{Wk@>h/D%ӂq7dZ[';O4PjuΛ a÷/iïS;ԲOajOAMVS-6MҔA#>ؚo 򈆃/=,x0-VW>V;"=_\.0y-@7 =E)MV8d7*e9լTsf*۴FzLk6Xb+dOD"?hb@6A!~Khzksxf[~& DB*x^*g4q+uwA! #ͱ5g-8! -A/A[nߝ~v؈8V\$r{H6zib؋b\!v7΃N4ޟf*?lWDF#w ü4AJ=Ar N쥯:r7BXL"Ӛ9vŐxޫuS4oQއZn2O!f5Bw,=Pa1-]Gl:kCs\$wdɿ;VrhٞCP?As c.'S,,<ߪXS_my+_t'֢asԬ޽k/ZWh11SpGM0SJ"T3>TKPϙb{j8t`?utW ([GӋ5R>䔴?&ak^Y&kF=k^̓p9UKUH Y7T !Weu3@:Om7"Ӽ^[^Vis,zpi@ 2.,.Zu( *ebc0:C[n,.>62YxRdfG0aõBK%𒃌EU L( } @hĩUr_H~Z*/M]/Hms?X=ީƽ hkRꥵz:E-3.. CqBbܯ؟2~fTdq6kF͡ܬnN ȠyAuxoFbkE[^Vл5s,;YYWhف{q.]^[= 5I9|ʣ,f"朑[!*zdchPB,N~IHwSE0esb\>҇t&wA#nT%?i= a^F8bphFb9o`>␪i/1_ٯc7 4i:a|W tQ(T0JA,{$ xu]~nOg(Ť8;wp6i:҈>̥LHe t"` v`9l*X/8/|([-[U j5:gd @MeI^ޙiTNc2qpgb\Ͻa 1!A?Y: g 51ש7q)qha5%2!9\#34෵pe-jER'r5#5)&{nݏTɱ!e'O{$2_.vɳ8ڿյf No33@n@;;ϗWPQփ*<&T֣fQ $uB' U9iVqWt3MMR#J#ŗ/ Ba;K hZ .S+ln_K "!44qr(UՊ,IO "ddј1cqz՛Fd?5%l0Dó&1Ա(;J}#~2ɤb?.uǾlpM*dsEAKǛ+PQdߙ$%$\#)CfJeCpOT$<$ߌ3 G"h}mAm&Z 'e,Ddt.jz =2qRtg^$ &wQﷴOɲ8?La f9=cU@?Hܘ M2QN@֨^b !@sd}S:]4HGj,?j S<6N+̋Uy Ia-#Y@AT%7BݏɷAk)>E Θ`Ӝ\P?мK ΐh-jc۔oHE؞\+YܠWS8R蔂B4Gh52&M|̞W>Nn4Swq WLعQOBVьW .z(#ʒ<^؈-9<吽AKaX305J=m[3PǬIMr2߸Z^ *aU㘾qx/ ԎRGD>W;kJ+.cLQ!QQ 'DQcfJC>zHY;Bh&8u39-ZC?SdP4mrcF'Tc'L$;}I_:Y;n]k @=~pTB’edT¸&'gŤZG@g-HMx=;v eŖ2CaK(+-SZ\I GOh65hMJapBҙ&?Uɽ5~^X/$t'21lA>M7; $bJ̇ > `k1V$;n@ z(sFQ^"}K"-}thd)MY yab?1:Zb渺{C]JHZ1q ƤS"4Y|yq]p/eU"5vbER@uY{#]x7-R^5A mHM` \g>lDnmA^. HLr+b"7>–;Cs` xqKmxf&D',‘G;| A9tg]N!|-TC 40~pjV%ZKVĩ-iI]Z%E~^sEdju?_gD:qMmm:`]"uHӚJpBk?2g՚!S@0ACޥ-o=8 %mŲCk1uۈz4,U! ?Ĥ4A%8+dms&[|aprx:{3ƽ.t.YA*%:W]Zo5S47C l ]#mxzUiо{BS}R½Pm^+C^X>;9n(H' *z+X,~Ff d)k8IHQ6ε14, )JJ8?R΍-7,zYD'C@w`98OqB(;Zf)%mQ!~ڳЎԅU >KR cnUѰŢ8ueTí=z{aNz23}#uw]DkJf]X-NLkyp1ڑ p&~]s3cRvC2PgMv2pd_'LǵU 9]MXWmXEYD~"\h}o (vld- PbiT̑?>HAЁTHAc? LD>zݿ̶".˸j/mqs*`WDqJLmǼ2h苉Q0omRzퟴl6tts+fXʪx0vp.igD 0˛ ;]Dc`g_E3: p߼%ܙ"fōzVƴutȁl/H7Svjb:=% f~I@,V>AmuWǛQ0-M+K_mڊ6\ꠊK+HJ:G=p0ݸRz3L Y{A{\HA1?=:r{vX$"8vLsfֶڷ[15Z[@Wtg X;UB> $+Q$ H}X]IpfP B^c)+&ؘBt^p5g~[:K ł%O>4:Kc KJVv-@Y,29j8%JI5HM9|yeo6.gVhqNmGP(tp~Z{,B}يO,U}9rcs솿l72@k=3}ͰDLv-N5‹9nl~2S|Y» e&a*788ǓW 0ͩenڇgVYGBŇȑ2'W‰a^6N@ Ǧ]Cy;a|M53=nEӰAʂyOlԖ[!PҘ>pijm h}AA7[v%BX ƍZM?Xwx s+.>;G{+ t`AMNt PL,Yu:<\&O9a>@۬ߚ)A㓃B?r&f0lt1\s&X+w*z~bpm"j<ĒZiv6߀;O ҰtJg'P+lʌDI|{߹JcFb"XBYC@Ku]I;Up{]V*@8ǟ_~eҎO}N?QLh?㱋zQg)ϻG8m`boބGKOĺwWnn[N7EG'gBˬfwW:: U`%qy|us9Xkz : Qt}v%,,A#o]3m_8X#~Uptm|3Q\5%c "|̯ٔds:mz}NL풏N u-Z~APeM[R=m ;G@9޼)2:%@^He)U8y) SQXb|~`;ljז1]Zww5D`3!`fwU7mY'a*sR WjWB;7R(ɄH,P%.a2ֹq9UfOe^ L=窹sM.1E G6;q.f(,A]I>qxoӉV)MC1"L5*>2zT14o< O"o}l)Bu]$_'m?p#8g%9\26#f<[n9'V&.BnTdvfunl|񟫮 fAaT`vvMRnĽn|lP wNHXi#@Ӣ=ЄLuH;=.czsDGD#:t=b98*QZ/e\UyΓsJy J40X~ٯ7,OHgd ڮ9=edecL^nVBBٲ]`UWdWC_p7$87=g%P( M/CKxf)uF'32WIoh?sqdMN6a{5DvdREb>ՓAЌ/{:tDsTrEI$x%֕&,NP[>܋OVˑWw^G^acgbUfI;u=G^$#BaAX3'ZNUǣʂ<i(^lZPR3iDF8☂+)}J Y=7kx#G].}ALy`1c]5lI,l|Lq92݋te:@|:7x f?A<,шm-_fA#uys<\!F<4p?u55Sm/3>ðjm{NN/` ,DT, J,e[q-ӿ4v?2_D%$ P)YxN>C]I7@XC8;~$N'^p݁*E4Ҝ!a ᵪD6g aMyت᭕`#RnٵU\iFܦ,l,V!J"sճPƄGO}E#\BB""q3w*N{ 2 '^XGn"~!+W?(+OKӌ ,3I0 3 Es$yB=,pxŸVu_X羖jRpErc"ib8fQ!srߥe~:=ݰJ*.ӊx뢈r(I'T @z,(&s(,ovz2ۡ‚򪡤̯XOJg;NʣكC4(ӍSӺϧ-O#kc7ZR/,oO1CY־Dô!j^hC c5+s2c )BvޮG8D(|9fWؗyjjҲc/bﶰ\16 hH(; *$M O3-hyv䍖d 2܃Q?|BЍMbe>Z [[&ng߷l5x1{g&6Ku@ꨇrPkᜮ9Uy$q ^Yb]rKYd( sƌ4:&b@eˡ;*Y^t"w98aղӉ .[+CMujV*4xc(X&)e֡LЙiM>uXH17w,VWI緪K;,+:įAXFJI }'f0Gח)zp͌]?Crj!>/i⇘5TB?Q>тbYב}Bʄ=)8_H٧[}oRhl(ҷn/pavuAinͰCYCk * ua] d} "?ӽ/țn)#F'OWwo)7,5!Wt% c=b(7_c".4Ei6q5&` .b0?oʻb hk5wow}n3zeіg޹@{9?'E- ldׇFkx[7v)QD7d+ʮ_}ȢJDcXRZ\(F|\-8VΕIQڋ yJ`(JYBjL{7!A. ν,Է=;>#UdUqgy? ?]\h3'VgjMq$X|Coˊҋ9ՂUQ ='Fq jm\A8i:Xp0a|jQFڒBEbE()ӧ>AG؂ bSu ? ι; L:f!ݱR2ALb]W7hiY̬. jL+tdu2&r?*+ikS'_~i,*Ah3_\=̑G4qC޼X)-. #VVWm< KF@o k4Vcr%v6_ylC@hsO:J(5-+!YzKrیW5l/4pFY5Z8ČD\ΓS5#*a,cvygN|xWʟD{)9Jr:vv9O6R@n~G+LMj ڼP \9i֘j7kB w@yCDnVo,[Dag\f.3EH3>dSEӀSח:c40gOaXMP @zBJS؟ 57QUI e̋E|[#ǭI_T.:N0`Ґ+?.RԌגx໿' u} |B]sz@+|S[kH?dB}꽕oxu+ %bs\Wc1qp Y0uES״MX6KVmBUmz@s'1BBxrU⛮NqV0L/Լ6 M>:8aEr}&#GSNpa  "$ 0l4MùNkveԺdc4E6BV/XK[RE(Es)S+) | ;Q xfrxwv w^\WhG" F JU5o4fv J1ѭv%#cG4~lšv.4J'  ;j=SEZ05$;ꞏY*Scdd^?2hM7bP=.JbLImJ"r ,\2i)TrRPnlOpǠxRc/ED{q]y"JY?+_Rmnnaf/1G9\ڙ= Џx5KMVA lfMzA`ίtcZK:cCE/ Or%'9NcJn9ƇNfY.ThY}aZКxv=^g"Dm?zHiM J$ϷϜH0?%q*AztC/^l0ahǹDco[8\(W[o@ O;mgƇBGuʃ/%A1GI]L\bYJ*I> &"Q틝}nM5Qj@=K\yPaJ IS)3lS+xS4dN#|ee;n] fUZ-n ^ \'I|SwX`Y;.벶Qy{y6N/5<<ؼ5sX"'23)6DeH3j~vfT^Z`|[לC;5]Sd7NDrØl hntu|\[F^p>2N$TƲH_3j}[_nmn {'@dzr+G̚,t%hk"2? iuZW6K#a9́iX{`QP}) MN\9^c-JF-@CmGŤXxi, ; *?J>tkmĆn;{sn/[ʇɵ5D4qiuM2t֡֌8mH۞Qrqwpu3cSauPj>H`3BV?&:Wߊb ׵h睐'm! }H^uR\UD"`"9G(l ԎؤEq;PkYW#?bsAuX2 %%[` AIׯ́ U*{ ×[8_irxl. _fd)!eYt lvâ ^4#lY@ ScRgk"ٷ(y. v94~nD4j4F},01 b඙$düA6j$ q_E[\@ڍSUJDp>P;fO ura#X_I '#Q-5Z!LDp#3&H~29Y E#&QG$7mi0a)u-Rb7E7cڹϔ%Ig~KvùpS6EYH~Zllsrz{{6:="WnPM_)(p{{npFNKzKj mNT FDzQNg]tP!4X٪.kK_Ges /ͧ/>2#;0+юs _\|˧UZRw68ٱl[*Ta 3&dˈ2gBiF zeYŨb\Bk\dv"X ~7;<\%ہa,.čj-#Lm8'#d'ˑ*}!돳1++)[C;.D.%Wf"6HCEv tצrX#E/} /3X>Shpp<_v@"f3K{ 0,*d+S8_mkݲ 73 :W+R݉7_ jCUZHF΃"Lݼj&YX4"jny\S/{,&ͳ3*oD3mwř%AKS'o%}|v"̨l{ӂJ+!e9P<%g jͽ |Ⱥ: ѣH \2Qҽ!~?zJ|#QU 7B6T"FTMd궷B2Y)%?@S?l.^}Ok/+M+OWKz*D6YP:* 1\d$.= tcTH@d4tؕ|f&= $KcKvOrкn=H` wWtC\E&Qkjbw+ăਟK7<63-a§O=NTɡnٚXĨڗuuIW36tsZYh; Ad֙9&.r }A=\ggGNٱGKS=:24he<ԠMq} {b)AO93RE%:"]M߳)>GiG*]'|(M185S ޸ n` lBEEf-SkSPoư폍Xw[dN4wytaWͶ㝉o@叮N֜;Tƾђ])DY6YZw͚e ,G}nAMvdG?Z5ȩvK6ϰs|LYXlER+R2lICw*f9ܑ^%ދmRv炠[h CHɐ>fa^ iȎ΃v&>"#GMH9.Jv ZHU NXoSj)R޾N"~Ә'ٌ˟YQx(]FS<FŖHk",LXdpIZ0ߚ%m.xbAʟ6@Eiܴc@:X-0ՐLHr܂n L_Sca0AHX]$٨KV~"Q9̞+kJO{p)0y-NJ~C fS@RqFc (OƀdύN}"IXU],E@oYq3f+T"ʎ:l/1MݲMdBC,B+ gG zEzug̓D֊{pr*-3Qv._-'_uӳ 1V;-~k3t!0't_P؍Ɗw3-A$߮J1^i\0Mv:)vI2=z1tpb3 pӽEcô.-51գHnԗ繁~ 'F&AC3C=Aypnۣ٠`6p}^i08$sˈeR=V ^2-W9aNʫE9'Tū?|VeKs@e,/=+6t{~"-R O:QX.fh`cʖź ]=#1aiHڱXrDZ}$Ri_r|U$i-m}+ӖPưDw{0QOd[C7mθ͍;)yGs*1L6;D茅;m7W["Lo9R*=|fgB ܋0׊:ȕ!& GweGp >Jh }wB>:u9c#[nF/(K~}閉fɂ󎉟ܜdKb>(UPb)"qJy5 ϜO~tm8n8 l%*/ZT X mYCe)䡐ce,lN~w9 R4I~oYѢשe;oPAi&Fo@[ƥ+ {w#Y(YLٵ/"7 ~ qI9|I"{qTJi.h7ZO#gl))pu*v |J+WD!%'[xFWW:qrXZ*%5HS%T,ru/D6<ڊiyN`9N?F@!z*Q9ѕ°q k$sW<b빭!·+WBFgCma'dpw六1OfX嬡 opѱU( cd-(hX*`;p_WbؽLug+Eq̛e_"wub#v).ɺƊ[BԆ^g̀k@Pq!TAI-2w(>n>IZ$"P%.+r5x3z~]Q>@$bZg4ՐȀ x}IG̑]\ و + rDdJ3IQ qH- 1^scBbuwx<Q+֙V 42y,E (6WC@r 5NI"蘌NK=n>-^7ۦGŮ,f!QMfH9BlTae܉ptIϮt탫KAׄŽPFb&S}D,z%;l uvQ*D+d8Nh wɇbl} ?fnP OJ /LAUQM fɉ@R-$&-Hg!W3f)C wUykXv8{ KPx͵M%rPق>*R.GLU>(fuα&# VxxA@ƆQAԗ=Ϸ(E im 5@52Nü&D%1iо;r2A̛D(ڈ2WɢCwLsi|Re0:o}AfdN'0AHa '⟭(˗/E{{1* .0, <ѯ^h ]!HoP+ׇw؃^7C{M*M-I<.VG4RYVgMg߻K:(5C[ F^>  QI+Z*?-:QϘAH4^< |ȴ;/-f~˽}8ILeC-kBs!+*$@aKƥ?JV+Aڲd(CL1|L'3f+CenV.a936iGF󇧌_3F)IjX߱r%d+PVkEzI}_6~/ M!ٝQ"  ]_[0a:k#S@w k݌и+J#3-)A[͸۸_ɕzV :+D`@ɛ-t M=uyLoKc'4PHY1 *jN<<"& + v/[[ٌHb `À%ۄ)w Ks✊)Vb8D(]uVX;󿿲 F, vFacIC_]ƾG'}%:?Y/̽tҫ*/ZY\k H(bCXؾxT#ҴȢB8Bh#G% 0<]:Vu eP0~qLK"+f-I}v$Eb~cC`^FCV@kw?cIKhmO|l8"|"#0h_Aa sy3/';!o)qFZs)طKsCq1e|_ hS^*'x,me {( KЋθXSy&N M2 \ѤrIs~wm"Ԡ/F)c:2p>3PΧ'D;qZM E qrz,P]s붅W+&KK%҅yݩa(/G~ 2pBtQB88>by+^!r)uA[ۺ9%v 7ꏄ·-q}|vɁ`@eN90P/'NiL`$! aќj!6_dfgkb ^Ɩ#Z,Y vjcֱ4NΠs n 9:6`eYu yvN\/+ @NId1P~w=U2Z15%Obj.? $Zl6O#dʥ,(dj%-[]JVK䣖>., I1p-*_=v[mxoEhXj%=i=w<:3q[L2BE&rԈ K 1"h'}E R'_Ξd(67m4^#8ytݗ*pfO 4fߤ {*]fA ,~z]gDûb:@<:$@W\H5ytnVzD$͜޾0v7Tn,l5L?zǗcjjN}8,ӪMYTi`Cր=+) jIsϓI6z| FOGe'J MV#ڏW;wR&_~E7#62%<^0Q73^]H qWu[-jZ0$ : g=|Za33#Mv WLe;DQ&e,`\Ǥ|2{1 tv;!r{¨1Eg_bSNo:vmI?{?c%%In40Ӫ0Rp WɨCses '#sq@7 :jwP?/-fDҏ)4a/gQ~!Gle1R1skX96J⭤ tC\~L~$@0h&b!;*jq">A$ ;PRNpօ'\bzCkm~0b4m 2, (lwSV%71{#Q_?Ex2iiLK=/z)8ڽmf.`ʹPJX#!\ni"R7[B.# -(D8#~6wNT*!b~!(} 3MiGָD%}5tC@7}RԬJwL2yģۏt !ڈl%Fũ.%KC܇F& 2"fX^fvs}o8gG(YTƣtzdSTY/|="<Z9EuZ pi6{3dLIsa pC@vv2 i@dB l~`\N'_9K_[ia҃\ܜ7w@ޜ]UҧyۛQȕ➀[@};;%_qAQhXJDޚ\MNQ ӔQI4s$~X2aTǷ Z_Q7Q=?2"T&{LX`k F[ܭ9 tmį&#NiC]]&,9-Gɾ%E2"@Z.,;ln6=`ֈv)-nq'?&)&@!!SEuRy*B੅4dR0gkN K^īٱ)|f=fo?Juv73]t ޜ(+Qz3taCކ@q(Qhl\f]v]2;"&̮Ҝ]j1h e~KM_4U+Bw9jɤHBԮ[^Xa? nOӆ:|Ks(hwd7UGXN>)PrS_:xJj2\+GͰv<yC%HAbBCwc@!yL67[z"g1&pAU,&ɈU!8/E2t@J4ܡ05@ |䓝4`YV>~^{w]x#W`JU0^ )83Rjs+[t\W]Ji" @Ox~/91kOŌAkt8#ڹ<ǣ2y(`mkFXc ZBHEX8>2+_g$&_@$;P)Hv_XXUu nm٧^WܖRs,| >!t0קPxbeceW`8'8 >vu^l@)a^-˭dG9yϩ A&m[0E+!~yE#OesI}Cb }n zE  ,+^kNiwC/JToW*kLv2* x`\xa qi o#թN&qyX AUZ}4k ޺c :zƓ r㔙SžfVBN,s%}.itoJP|J{F%@/2ِ,Cñ抸ıEҺ,ߐ)K@6^9muYK1(cs 4/$H$o{c8w1uYsA#nujhULoEi]9os*H)D匁~*S)zU 8DoQ<=uYжV.kgQ G9JߊAg%_kj{(7# luG{Sz52+%'5ϖv cUEqX}n{1Vx}k`QйoB Tgu?3LJ_ؾܞJ{Aae/6]iKwoK OJB1O'm6N87uޏٸ4MX cҠߡ%YSݘZu=[7# h{-q NI3x\BIܮ%0eW})4}Z5JENт.p4Z|~GqQuW1y@< nyd` JAd1S%2-.%FPWBpԝN$hRIgr^1a}Sk% ,&>̐ y%LXɱ.+)ُ:#)BH\(F XbCЦ|Bw _ǀ<}yР.}\!ZѥhyM5%c=].3dJ`_ ݎz7}"o$rpF6LAAQA J+;}vxhmq B=ȥ6eonIT"*F3&P K@O 3VGX`r~&[%6Ϸ]_9hhk;XlhF&шb&2cw)v*_cv!pAZ:μ3qYF5;#_{^vǵU~sZl*e '8|TyKLHo$Ȫ6İ༊h_G9;7 u V/Sh+K5G@"b\y_]Hb\}ʽ+k6UMf)U's#~ qa8H\2tr^;=M$pфiZ^1Пv XH7܇~_c}..3W }%1fQ/]:Pe r?-$߲<0kUvw~b0Thӌ{Oƨ'>2˖=~נja i:嗧d!;,=*C %8#`۵˗598dlAYL9һj&-&#?-Y/wV8c|4{ҽ{c)2}RJhB7n:E!^1|aАX&&9VՠL|kԞNEE)P '6tSJCa4f2y<ּ90=T#nCMX5ҧ!ž`%`ѽꠡk掞'"bˢ@ ņ`A9Sb̔Qa`QՐܖuf$6zbb@SNW*aF ^0%8⵽gjX[.)uuǂ!06K\mox$nSv.ZfMr y *ӞOsj,]4NtS ۰h~_yp' {1LE,$uRpQg(F(h +$JY]5es0fO:9L]O?nF 3g1VvYϚWD*S1rglJuG F.y^MPr}. , i 0lE/93ˬvM*e9+Te.w݂C w[1S|]@EGbP1OV#\ F H|ΤRua-=]ƙ#=B7MГkLX|5qӫ8t><1j:muB=v}k[גV%;@}ޯL"s ,39J=oשO*xVB"*<ck'Uϗy x{a) J, ٌ! tE6,>E[oo5b L' M +ž z36 dT z:Խ~:E *#)q6UL=G~8idf<%xLCJqKu0#nY][< J}%rl,AsdB!KU- >V/emGQw6Yw׌!gP5J6W1gR%d ΩN_r\dO]ny;Q߹RZs׽O`?mF`VC_9wgX)QK(& SP +wsM͎ "=*=ɜ ^E>Mdp4]"= |"NjVF\Jτ֤.5F.TQu[Ӽf9kԮzϼI TGc p-XG $91f{ܖ0ɠ@EU7BCnego8ֳvUlQ@ҩs^R1אpW";IYW>2tC#X?+c'щ:tD:A\ z6ܚ%Yq-I} ˲LUS\B,#gRIzl jF?2Q.[ q޴K {g!7wT̲u␠ZLq8Ik:Ag/dުvbhG}[2ghY =&OJ4JDwVS~#\q`v(]qR}Q+>ueyM!-r\ST@ۂC¤9inu=U69v_?j -F1fP6+7qH F[%Fʍ] -|wKx9.mi tDDG /}f iʸ!ߩ"|xJ[H>>e7A2GZ =-V,u$ϰZn)y?W;J>'1PP~BtTv ȉat FQ)-̴MſeYr(,:_{%Q-N׆^xG6K|E4EzV ?U'voJ:q-IU=lѝpoXo,bX.M`,GKf)KcvG2Q|IR"bwHBct"$GB⽱"'~+ߜ9ϗKVLw. ?D9ĤI Gs|S8J=mD\jsZ:!rc&IfTSPz?YYʹI5r(_%RKmD,4P 4پxTr,+l"? b`݉O?:#d !orwAsmyIF hu sZ8]NEW L9Q1n ._WYjZ7lXW;=̴/Bdk8Ud i+6㥙9fX'?/a28adOohPR@\U"l$(`si K4) &bxXϘ\UEeI,fxYhBx^B\m[Ź}O1;^zqÍՎ{zI,gJ}hEMScd!WɚC\`7ef(%#;\BHX*xPIIW'Uep{~3;=]ba:,<;˘SLOy{"~hy&V7,;S,qgF ֞Nz#Sd2%}YI&ٌ{MzĝgbQs!qN@`Z>G۴FeuHfN ]Q %;ë2F7BR x?qҽ6 1p;Hη.0j1mϟ./ɗJzX#E) @j3ޏoSg  SC[:ߙiܖVid$(=\%ډ% U"fR%ݩ+`%t܁o ,-tXUyYK!:t)EXʊ*1ߩ+j"{qv;bO}:[a?k"-G0XChK0XCL 6|ALwӣ*}4D+=*v(.13rPMΠI/CU =Uy0 CuޓPXܦRr=*UL Cjá3"bO"|`U[P@ʫFX4`W5`ѾBM F* N1goNx_UBhtٔ;~ WeU4(*T.fފpap[$۬(Ԕ%M\+L"ڸ!btbX|sR?oGz~l48g}_V:VJ;i;\ݷ*D{]p{ ?*To.x}98x|[4c6 ĐQL|]jKc e 19]P=nxiv};nPǘޫVަ?GEYh=x60 ʤ JlbhLgYd@^[oe?pѪX~yhtn%6Fsȧ*Ĵf)h5\'hڔuKzc\I#;zİZ"&]R 7u[qB4֭7biM]?ujr!.y%3ML5҂>jzcoc^o>ti<(!{b K/a>ķNi t3?̱4j'( b}WvYZeR+ ]4f o?>Mi/  o!ۛ/Ia؀l b$xBKx,[|펿DbJ% x@~dsYEmMl3 ـ(-'H_/n Aʱ,#D :{-VyR!n}6d|&R!pXi~آCy48$0CN!!mtLe7bb%Ot%.l|+(MCkb9_Qm~}A L &[YdEg? \$q aEJmBnQ/ydݜEBKf&X:I58s<26$E6p EZ_f2Z)%\dcZ0'mQ0ɡ[{B x1( B[ALut0RLpN\n<N> 9c1"S\8ݛq_}R3Bd|_(5:=#x1]%"te ,`<`30Cgc@XEQJ?Z jaV@t\c&2eQl6mfh1. T$"ԗ]tj2&zE&5lMQl,Ԛe g3C*ydmY|bW$zaE pl}[ו@=Yp8a^#L[n c31QF&hMU0r$9gԦ`ΡWvF]Bf[sp8+%)F_nZHx\(Z~LOYs7YJ,܎c_?w!/}^n$ #O%낒?sd5sgh-ќp\==D`KBtx5L!>yub D,K~5xd M;Etgiv>#B4v' btR>T鸯gBڰ)hF3в¶jŌ'껾^͌8r٨ѯ Sȍ=R^™E~ۿn~qf?OD9pV2f^KeTE4h[ѥQw608_0 %fYԹ: s=ڣzt Vj d8-A#w+'3o+~RDJ1T6k*?:c)*\n>Ѭ "ū[{QUny&=Is|Wy T*T}Bv."nr.5F)>(g'ɘۈg j[5ŇB[[ōL>񢎈|@"Joəɹ~3ݠbfer 釴h|?ʺ $Ty2Zv@0O 彮AO?P~}]xըҦ..Al[GOјU܃[@NS4SS2G{Ga8QtJjmkW S QR4iXs@0uԋ6-^VI'Bs[U:EP~5vAiey񁤵$E=-Uy{@>F^Ҍq#.vW+?u"&1J[7qÈ3Ė4~k R,,$48u_Î@yհ*0QQL&:zޠdourZ}:~b0zMϽg[q= ܉̠ړ}͓b2b:Ia(svWAs$AeXC ΄h3j*H}b1%Ãe`fFqGYS!Mw"r6C (ŦȾN0u*$a*C (ܧzc{+ ҰAH|9fW~5ӈMb)mUiiY?Sq(LɅaF>ZpҗnΎ6SI\:P51-7f@^J J&C3hf|z>ꍦ_p"z|U-ty*Ut+J-'A= T=AȦ3GbaAhe.;2>c# Sf%C;q`(=&㧐N!`s\q=k"@l?`\1\hjxW&ŝ1äX= l/Ჲ$]?i/z ADl#5^:ج@t0ɢ\O^nE}̰ k[I(8SNx5SMX*ƞ]cf>產Ϋ[F -$(\Ne (}B8fz IgUInwm"&}KVZ h]5 κ?Sv~QH`ȟL " бwdT:LUڶJfjEKʓ˿\2x"2;P'lX -t!L l.swĻ}My CmS\¼ꙑB=ssn"3tw pȈt.@"L#'4Y B1މG9f0/{P>O4?i`R.8)`|3ZK/`pʕEFݶà X, A/ӂU[U濂TB*CR'XFGуGY_ſ Bge M/q"ڷSfoek.5/\(e;INހ))GƬJwT͊h)>\R\v B)U7jLڙq"C<̤{M4dB\< 0,}NQw{6F/OV毙sV>؞7 r=/c% p_8à Qw0+aRL]C}@;;qqqۋ ?X; $]i)e/]Wv泎iT4W8z{_{-8슷ˆ&Bnyd3J&|[?jnG} ےA,WiI4Y@N[ϾR"g_$kd(| f o ?>)7kd0 :{o>7@ |~wYΉo!m +G!]8$, ߴ똉7.*%q{85Kbc-deхףHoT79IP6^M$$(oҾ^)&3׏ᓋ>ZEA/5!!I4PK0CtoYG#ǥ;l^piK_*)׭Oec-֮"QwyIT="0s_\s{, u@hM*5 ![gM(vrD`G8 |D?]K ;bCd#ԴAGC-`l9zdWcg4FfGWUl} Oj8,΢Pkdlr _ҲѸ =18Xb›{#4v@}b^x+92lir-Y7;vrM EY `7f/68[elp6# IIekMMV'{¬47 #o)Z@B)xA Ki? |78,.[?Ov%QT/{RK'MaӇ<$GsUYnCM;RS6֩gZùn}{N˫hRˀ܆*زy7B ] Nq^ʰyYJGߖ!CTߟoA\Mcrf!h2ڹ nT}SjhvREՊN4@ "\1xO&AY x#Fк>ޠEkq|G߲Su¶vyft- }gsY tETh(*zm0 ՕL5Raiv>`.BRe*wP@wih"5@7e3?0_@ĴQeW-Ef3y"P5x.Dy9ʢp^&'G8< cTX._a+ı?S/+3D6Çw1]qGsvFk5j(1 (:r@`?("~!GnG7߂WI#HU Z B ) s"+K`5lM[oQs P=\켱}oY̙,iD.( XGoo1|HH\K$q` (-Uo>\mĽѸ6skGKv /%Up 9wgt{5b;^LQ+Ɨkpf. ZiR u `[OdMZEVǏG@лW~,($oO-/Jㆤ~%8T xq<@w;(R 3x)mc3 .Q_ y|!O?y_)-=S*:CBK .q=i//$L4%|۽rJq<܉(ɕ;-<寜(p0c;Ę#]%MՃDH< K'$x 1'~uE@)@Ogb4k4O2oi\6rw$>)|VVlUr[#dOֽs^[+ImgĬFj q8T=ID;-Y$wcjc 9xt ;s*͇P=>wpaX2>F@"q}9` ʬG񻦃jzDQE_b 8Pj)p(ב &`^fZ,2J6MrKhוP&kQ '5s'K:Ν)!c^\AZḲ>ovmKDNt-dS,9B5>ƌ;V!R  %vlI ƩM=c% '!(Z+< QJlhtuPuooC귮AߏmeBwCz3 VPCgNYy&7:+ߴR~}JL {Ql 8F6C8ƿeq0 Kc:)?كAY؃l Eq3܎N.~:0h2H#%g avOH+Ŝ|%g5zOq/Wr dWl8\s M;>wk<*D4mD` ZYY pu[ AU\f3GQ)!\.ct\xC0LU<l IFJdm~|՗)V`=EJzI#nX: 1B7, -؞KԀj2OnVJROi8"y"%;;].x #ANy.Ku&=[ڿf3m] fV!Q=88]AaP0Β\bi%R~k+}kNcKL>$pI)ro֠7(v~v,E^_xXki)m(̒[O[Ac>"%ߑ iܧ8u=1}S{P؜Gx6-Eߎ⃵(Z6t{}wkQ&CB֏p8`N5TY5^ s9|RӪ>Sy[Q I!ʵrpQG"ױ&)4&?|4[M6`gг19^>-P) tКS<-`]wJ5mo:b"(YչgVٯ^3c- Cp̦0ry)@baY^ӰC\,$K1:. o$\@F(=7TYHCx7D-{Z|;hؐ XSf˝-SXXo F@ɥ^lE%I6f#qK6uM f^ y^m.ݥv 򝀑+AoxBmy5Yo\ñV,[C׈mf /^/~lDF9u-ƍ75M4:~f}ny Z@€7ݔݪEkh>(ZJrRBy# m ƴł "5 &M4{ʾHz\͞k:%zf޼NciRQc3"ycf:g wɸs댟Q9]R39n 8=(1huj j^tŌ}2nTV?,T#a`h{ej0gRq{"budk C,mvz&:|Ͽ`Lh9 dk/|jl5{&{zFoǾf6XQI  n|bƽӈ(+CEdo@ ߼ Hb8h?j|)\ϫeub< cvz_()da1hGAk`tu}&f&yM94} kud*Ram z|%J;P)u!K5K{^x ~4T33|D!2X偷^aBJ}( <UYhgG&X'8pUaߣ?$3*Qib"wDZv֙nNz|"ZOB&TKU G &H3gN# 2tbFG=b >*(nP6⎱&KO} G5ޭ|qѥ `  "r {Lq`&e\SE,9sqXi,%?BҬVGm @m+d<$r ~`TΎ#r#6ˤ?77:A"g3#^U n&QYk'M*#i yV LԿ.G+kBz$Wq o/=Cw=ŝۏ]OWc@޾gYT~.U'J٢YmIR|ߍ"o'+B=6'dC;h e(.L`E%n_ #͢(VvT'5w g@̀#oo' ~B9])輦@%!7XJ%(Gap؄\x쥩swlLPK@vL}mo]3-#m{#c!G/$R l(fźVEڠs⊩Qyo^.4P;cISq_-NT#{1gcfCB ̾b@Sm,2nW<0ݦ{ɳқ:SR[,N U~. Õbq9ܡ0hbgZs/=?L"!G_;QsiElew2$8!sitr?3b_-~`9(jZԘ|YȒDʣB=,sQɫ-GAK΄eSe? hV]ƟM- 5)U|{Hs vOJ\$>L 48LyT$r"]ƒں6ULIQ|ghg8Kbl;y $Č,Ls>K+l+geX`|0߃9m jBC|7x T ؘucbFf  p-e7ǂW_k-ڮzdPY+ʽz2fSbQm$x>dV/2R[%sOfc룢_ߖ8U?.=jpu=B ;Xݼ2OKLa _Mf3CO;K^&}(864ܦ$B{JUVKiF}Io)+0ʬ@( Z&$\g.s"8RRKר ~b6* ʡW>Db :Inԟh~69#*wtV'Bú{ԙ;ⷘ°Q 8}vm1jqmcg/߰ٲFwɭٗIѷ`~m㑏xIp`B,x.?ij{okBjjW157]M-"]Z r Eٱ鞴E;sBʼnwJܙw.L gOϥ :lvgfp\XyA?0缙 —Ͻo$jG3{~b`ζ7Γu~ :b$p]dUC*Hپ(;z,ޑ@,/&LL-y6~M|L`ʙf|`  ~YqcRf %B˄JxU7 !A( Uon7H9ga'|`J1͈/5U&/ؑժBXE@ڿQpsCg[HM{; 3H((?t:3@**0fb!Pcy誛# MvTGN޴cj"iB(΍PܼHqgYI.զK@LՊbʇO ?u%yunTڍ kBۜ޸|ZT1p6lڠv jtB;ِ/(i` ƎgY1x)e-PδbL '.G6 mݒq5«G ޓˣ=D$LioyD#@ Q_G|eV$Ĺl)ԟF$NGL _[py!C9cӗNA H>'so禽$겥];8Rdb}P*Q̑@ϝ˫ ̞9ig|Ȣ-u%nD$=I_*EAKc FyztКU_;M\̩q" 8SS fC`lGԇu_ot$@Qg-߉>ˢ^s58k<G50ב]ԹƄJQ,Zkɇ eiCѧmh i5SZzPpׁVGTD9]e)9]KBÔi Ww{M q'zd4Z\F6M:؎ P];'W)Tu7Kth3 E?|_0gqm$b#+FjwcȺ+rO%mEe#p}Iq`uPr׵B, ;\~i[E@2^9C JTC#6im9O,]:wm](50}V/jwS!tqUp0}F_ϷW }a˱iiWQoMt<]J|`z#+0HZuޏ3?RU>m ?Fv ];R~}+`߫~},} Hd4yZFp~K|*d*,44AϪdDoUdNSRYԐwGMsE@bW#G>uiiWk*k!úЍG)k%S"1#M~Ig٪01@fS6G0YA9{  S Nf9R綊sz3EgS gƂbw B ߧ>5'<ΣP$ YCoV`_+E[V{ց[fwJ$c9~"-1֭n\xnDٍ/˙CByf9 {kY13lY^zKvXḀU[[ͳ]g{ū,ka刹>7$OA+`byʆIn}rS~IJwAp-24+aF{ܽLJBj܆+l N'h6܎;7)?nf=ڽYjl/ ?,Fgt[X 6tjGOQmSKZJMtְ$$2|aܾ>*,NSYګe@sjk/d4Z8nS<I-B7|Pڜ (`Srτv: JE`Rq' QR M^Ay8>G;r,.s_hFʓ m+'Be"8DⲜTS9D~.WHo-@-T;͂ {Ӫ&?\v1#a}T<96/o<" ݿH>@cxjCV$KlIW}6❂&,^I5VV1KȚ07#@[SJR/`g zX\$KH9 &!RRuF5\8 q gXQ&ձ{`HLT}p\]E>U[W>\ 7 bZnd(>EGUNC<}E 2eP+{I ^se53F1\Z_1gs>bOW[T˝!phP< F{Vi!n䶤|y9D;sǷl+:4M ($ٯ1=FYE0"{V҉?BF>S],߇'=."/Ds|E %#ALijB[ ts|X 'cIݷC3-!1;ʯ;h*PT%wlKl$!}?C|^yn}A6Z}f7]k[#5jr`3AFў/ǴP_6pM ]7tC2S8tviG͗|5M*$6WoDE`kwr=C%2yqLF-ʨ5oi5RH?kKbfg:5} 뺮7XGe}7ྶ:ں9珥S 7 Ue5OW"ߕ[n_h!E62] / Zv]ЫrRհXZV|{fpwu̕KJ !ąMhbnhbv <Cܭ + z:E̻as[ⴁ2p F9\x O@sb]T-yQuƒTwV-^ E#yjIT3a_.YdTd3q d7qVTXȶ3wʈfQY2b^{zpuD_Pٻnm7oFσeAnU*n;|1epxk%I,(G/00U E.Uw%jJ$ۤ#Ǭ 3NBa ea Č]ƴKh ]NA+|rp_u{l֝/ @Dih9I6@h%m>&;Owd!o{VlJ_&]EFM0klurjL7nY3)1.++[ͲUHBa~]2/No.q|2)Ļz 01e;,u/iJw;8u1*ēfnG,ranٳ3=@Ofrh(=~-)#`_P">Ӌ͔{?%s X A`#0 Oo>KkSOQ`ōavJČ Sb]wA{9ܶ:YTI_ӣX`h Bgmw˷b]=D܇xwkH-%bWEnO8wm0ߢY4ȇM厵>5'u9^jֆ(T1 FL)ny9PB$ 65Q1ncIlJow7mS}oܸ¬!,C {@O Dk[2 "!0SdLt'5j B6isTՎ&&U'>IU? Rɖ>j#`^y61!b~bХ W{sh7ۤmvLݯK\Mބ փj_z^擴UxI\ "SydY+_ 4Wgʠde2Lb (џbL34Wy#śj͓)z: cA792!Ǎ{)"ڍ 1!r] ( ˌ- =YHtk9 S7f#*IXCLP.L#S*u5ri㓪Ce),]^ 0=J{Htb{,ZI@{.H(-u_"^ :С}IN:˂䑅&)f\ޥ@MTOc7DrS:S-Y i@݁ N|$q@#@O`U.v!X )/ڸ<=ƅ#Y5I#Ď.;:Hc|l˄/*bz!$˰ICԾ9{li7n؈8 m)(S~|c ($xŔ/Qx88Caz bj|B4iJ3WMp|hz4;]fAW i]gIqYO7+\ZwӕxkDŽT? wB|o*›ęEBA-cLÒ(&b(#QS/X|s,41ckHɝ%C+'|k(+32 [I#fNWw@q]\tK%&5&pUWvpnO2䊃,aP]@*&~W4?g]pysthZVT՞EBp('#}>E㳥;,>5y%%oɯԇW+u:9q$ 1ƋD?ѿ,[Q!#˹$JaF}#[wql|ȯίƪO1N`^I 1y.cFvvsסcGz,NcDZ*L6ZN"߽TRCgI 2Eé{\ohmT3:9ډ\˸ O>̜|Dh$cq wHv4jtm?JV{k+\8AOaw䫂K)Q̵uvX3@I5y@^rϳm iUP&K`Ay uԵhuO|=/c&iAdۚ>vK|tk7uˉ+Zp?(UVn@ .s{F dvR(,1yILEE[FJ Gw #[,,sPZld*Xp*zg <kv-?ȕڃ |@ h )fk}9 @T,n7U 8LmٱV^S|y %.N]nUw  Ijzv]ku o"s a_$)w[,F08ljcų.ɍ:YUl3zz䍉XPYTHhE Cf7QůM$X&{&Q'PLT d9r-ε`"q">]'qAaS$ U&\_o}2$/h|| o46[vVLW]gGVC|Uog'j,Ǖp$J2۞gЧH!ɑ8Hpl#m*Xg @[+Mx8=:)fk=hNU8.W2u`bL5pR_TLo @P di՛ _GjҽH13Cل'ljc' 8d Air 9z;e0Jo.mbtDêi:D[ e|*vk, 8YRxA\҉.mku J:72Ջ`Uקzr45{I)ɬ'5dS/"MƮ[$fIUm> *rhJqT[w=1g,ECaRK0V>Ӕ3||vʅ eRND٨5L.Ð[ ur<>Py@0aG[÷Ela ,ɔfA 3\J ۶])Mm;}|kmD`N#޼輺Rd&3bL)BBרL#ɘ>U>ȣ-,ʙ'Du?zSh | ț 1CΖӁ4BN ϳ;8p%o Ǔ9M3inw7U_% D?'/7# а7$I$ιSZoGHhyۺ Zּj}k; 6&yGr~L0#u\C8*Me$fN^Wt# lXTdMyݿ/̓*&5/ 2AtZ3W V_\n*Wi6#^JpH8}IjPbOsqBs`qumMfZO <4ep -)v-m:95 ~!g{?]S }5x V8#4XhRO8J$ܢjUҍ6,r}0E QkbdiG`4@[ E0) `RpQp~ MBKAskJ~D)::eDЍ"B(N?l_С1ΆQ3'F%^sĆp8e&'w#[}V'1 } 0fuWӹ"|d?qyQGBGG1gw\뤙F],mG"IB2cvz>BKTM_s`Փ8Eʛe<}N}A|xF$B哴6/DL6܆FzQG v2B{jmG}75AΚs5ku{KvR9̇qog=veT0`OΨ9ѱBBA0Jv&يNhu[(BXz*[p, ]zm <$JWn^:s\Q3F8&p_?_ \\UpZ}J#J8 I2]@Qzgw* )v+ $,^N`,+TL-^b IsĕMz(-^jR0L۔pR.q6 vLEQc/wIjbj.} IlcCW7 6]DJ5{¢%x89>_  ]޺ԏZ:xe61SԤd涙yAc{®-R_pLJ^ʪ$Y &ʮbVn}#nv[wр\@)׋X _ x8g@֌]4T! qa- }tgώ/`O[ 3-l 9Vm:3Y^ą0Izp*ƨ($5QLm0ʚUsv:j7t6s\?ZAi楉 ;>$crC> 3'v"OS7{afR:zwo.)x|Taˌm5<3!©>9CKl:VB(Lk~Ԓ%Z 766 Gtc^= =ֹ.Y1cLaLFmM> IH*˝7m'SqܜfClޢd O D*beکh"80֞27mJT Hհ8rwmBC}d`ci]zn K+~ɳD(p9J"$wI-Sѥ7I &3k(K:?bFmuccwt#fEJQvSh4]_(E#Č|b0ie|9n/bES/y8<\Hl3xHfR߅"^s4Iq k =|)䲘2+ ɥC5[:Z->mM ~mP<_eyEJv~%#x B`{ ڸJ R iO,.b2x$7ҥ0Wbb $Nʂ`4Hvvcz5{)@/;*)3!9֨("euPv{xBRwOL>G‱tZ$ÄyhmҮ zrkm,jv`@Jd;?ْA%ǐ\QZc=!7b_@9~QA"t+g B\S85MWP͇#abJ6W`Ho.jjMw~9a[LvNtb>d*Q봺X:L?֘__]3nT~ 5<^ mz`7c wjb!Q : .V4BTbTtaddO>2oӿ2|' Lj*qѥl1J=;Z+8z\gVC >ހ pWzP <Þ;RV3Ҏ C!DUw|ybgƲP`$T&u DvTNW!zj!m@zefg~(K5@*(#лsRM`bc &}+D ` W߀p5Tfܐ*G;.t FLD7_Bk57 r&;3"e>Ŭ *bx? H쐐N mmag!/QO0 Gi\LQZelG8fIHSdb ,b]ϊ5=Q$v.w3;)"Q B%-ȸ:"D3ت'񤫆T?5ZLΉuNZ~3s|w^3Z<u)e1*a\T|@[Vd M,>R**(]>|z'Y Nj60\3uˠw*`ޡ6TTR ҥRzM%}R,D|Lڸ1KR'VA٧)Gz \y$eelR 9LOul -mLݞ[Wa}f`I`~YhH~f(X{T_T_?}kP@(7N@\l-u=;xU^d>}ʠh"*}@+B.c~sKrZ^[Ba.&IE?N_r}Orߟ Z b) Q@ݕL]p VzmެeksHe\*Yv.Hy92g3h;p; 倆Fpɥz8U M51k7L/Dg<_+"zܓYˠѩOF%Nu E L[emiTWs@vF%1yd*  e H顲wgQ(:M؈yt̟R.|ˌFSf&᫹"z\b\q'7X=C0בq>G9`?ќ.,Y4.UGM^M`2~Lc$[OcӲ0bYwVW Tҟ, ;[Zwl;>bU6#cu"SYN;!{I3Pr]nqԷ?V7KbdaS9r2dz4פ. b⾠"Ի,S-!e~{x"yp+.S$, ')(C'@!*pS4Y^oB$O݊U!Ke`4WǴ?zv8'.a`!(,V NjdsO]Q7)|/GWRizs"ڎpd88HMMݙ(QϭǨlEtk;Zh(\Pj,7dB@*nb(m\J_fs 6t9+RyWJdNʠ> X[J g %1OڹJy]Z{C (*#̓!a KƏ_mV}LX=Mqx2's9b]CS̅h/1GX`:91’% vJ9R[UdA^ v?IB|Q",: 8L.Vix|[MK(" Ed {י=2bjlXlhά+sRш{`Ѩ!!@Ae*^ō$%װH0u1s 1`.{%xPkwU%&u|ْ_}v՝ǩ\ }XH6Gg'oXpXF` 7܋, BBRkv9SV0!mR KWeun6$kި7ж~μ&yg+5Gl2kAgK]VX~arp^&`#DX B!.aUϵoE$n|{Ÿ$(0oi쓞OI)ߔ|ԭt@ӺTN9)p U]7>9$ql_JGLQ)Z DQ\tDj#=N5 WR^O Tl9Qޟ ?Lҗ۵M{yAdMzKME׸Q~kF?Pf/ԲvͿjgݦ,16Ya{-h l$_׎3KV~_gAFj=//;l"qMu:TruҫQn3NdفgHŅ"~|1à03z(No"Pbh̹Zz;D|(:(uJDK*X!E+B*UAj.S|IOK_0s<9qm.W\yq{(B{!MA\|Emel-_ S1}U,=CGjLjߪGEELљ!Ȳߨ|4ߒaĕ^b˩tP`!tP𲊵>W>퀥9fzUt.MH$۪ Q r<) 8yޖ,H[0|\ogd!-;?`VAYΪ,r\ǒ'qa4.2PSScfDXP/l޳V"n4f&yif䠐XEFg=jM]Ko}Yl_}a8ixTNK̩ˮ}]1ę}b@RћA NV8Y ~gb|?֡9B/+ Ypd"vO-쩞5Q"hFW {KB7Йׁj7ïwa%QmD^;]0x7._Oܝy*XeD pp(NI._pYe몈n*,:Vv< 6o;3`cݬ]/D?b.qX"ۑAй2S#on3Tƽ{l5;17ފjƌQs=ԝ<|J]aw+3C֦.`9\GFbJ zE6%o?ƣVU ~ p yXoCj$!_!iۻ=2L  $nV`5^2R Aδ'+҃wGdK{%䉧owd"P|G=O]=1jy5{ؕL< mkbdpUioV;&e z(yj!2#^G8ǬնǪ2pN%6&UIA,= doؐYgc17* ;kW<" wǚ#Kk> #78Bs PD&W.qSܙ E?Q>P]Rm&Hy6j_LiFEΗ Eqj.ҏV |~ؔKI]$s* LImwpKmd`g _xNJq< IT0;a?.'顕"LZ=YA.21EڈRyBn66DH}zW:yAn]f?NkeW#xݢJ{;;n-B~8 FS`B Pۿ%TNWpI@׳r$?& wц҇#OP}?Td/#2LGBэRloa =-ܲX̎w^?=.ƛp_"k| rK' fYu;)u{ (A/64.:k:/0vC9eH~ 4{FwVp8tã{9 e N$ 0'40v9" q9s0;4e<km'zͿ"^Pz1 ȭ51&'4Ԁj s|V~{Est yo-(7S/3M4%o?S*F˂8z ? jVt^B7tfJm!)R3_}m8};S2PjLf~W[ Mn_)fE; SRLڻL[M"bQMv<曗/,]J5"umuR?3 Mp+xbŴ[OHb,A4sӶr&}pqdD':MbH516Y| FVX"_?FiX2n8 #cO [8&o)xsuqV!y^ʒw}4.j  GXK+W1- _Fj:'gvI7qR"Sʹ:TJ(nE5VfQf5VP~gWKهCvj_Of{.^_GѳUTg8=Q@[fl@ bH)]Ĕھ18ffl@Q.7hX|UI2\/,AYh#ҙ:06 fbz9h9ЫZ ͩlva%~Xk)D2SEPa #vw˽fSq*KuΗ:V= ay5~|Y8Xbl3W6jjA"ϽoH("!MI8]"e yN:h-y ~ez. 4>oY4@֬nz>SbvY[$Pf?; tA4]اY`G7#J.J*mz3?So~AA_(_H6o_(K'l| ᥙ60'ވjX'7Q^m_^VN;.kp1Af~ZDh0_8&\ h6,,^\Y 7u R"=Sfw`'OM;L/-,(h_ux,.t谖G%C|G>o˿^ŭª#ōb-|S?gL|dHWK2џ1K08"rﯴ&m ^x"h{V9R6BoNo! SKD` $RP@ [D*f^IA /L|)H_!7C4=M~ZFGe:I*A(l7"D`O`m4/|Dl-MJƑsS,cb'#X(~g+%lW * bo.`2N1>)a'M>H2/sdAD*:@5l:{-L8G2 ,g݊h~2 LBRKQowL,m˧q/ZmFwӴ8tZh'meXbJ@S^]]3j(-FO~ 78F8{#2u*T7Wix,!Onl3(&XŤ#2Y_&?pGè^eٕ6j@Ք6ĺl;5U#d"JDc̾8ʺw.XcZŔmMLDBPT=@/v?|}4|Cuip ȶ#=NE ,cQz(.|ķ"*+NhֹxOY~D!G Ov7TxMq ub`3m/PDV%=("9ƾeyU4HdNj;c,oi,M(dcE6t%m}#ə= T0.pb5m2"46X29QFBu\ppށ&tqo W-^kPUyg ,x,70rQi,WGq[`3HvҘ=06CQ1C -_2(%K^Q!?pi.g_DZW!h@15ub_=ѧ-npq@ iPD)QK03ֲ[ǻؕ Bs=҆㊖M=1&(`,keP}"y$.XK5`F;Z'T 9lQXR1n.V:l 4I^"V3g˳2Q/G)0 &TDS&`{2ѡ䒑J/5Dž& ~Y=ZLREELʠ xD~Ձ6OObb'ׂ$z+ }g_9?PZ 촐QӺ=NO\cyjvϣAZcOO"m9) { TsтG[8y_󖙻z9,#am8-j?}\Ey S{tJD_-&KI>cBuS6+>)ʡ?@pe.j$؞RWՇcz9`w#8G/c Is (8Bhq'>7ǪnR/`(f.wP0mil;:T!EׁҺ$$X!n蚥}N{ܼSRFB5 _u6664$7Kp¾Sxb$h}џncȶb2jÝ-*MgMgGghȱk-GƁo^BHY'o^Of@NR5AD ֡EFx)K3,ЫJJ\K"Q:T,,ӜS\u"ˊܶh/1|Yh*K{A6a[yQ#=]Wo8=wO|5_(NߺK5#&in;?QËO|(wiO1zGbwpnO_bu0c }A2_7Y]=%*]"ޓQ ڿ|lBUEh#0Ы~@آF?daPN9@d *M0)lK #{ɐ΄C?P?־=Z!Ֆb'bVk"v\/TT! fȳc~}Zl! bM8'dqnֈ FJ5-lQA-3xyMesyD:S[3@ey4ek}> }hu̓wҽkĭDt ui͵@hY!/Y4tR2˱d #r-m@ag[h!{>uWRyǡ?sPVD!c}ޙd] \^݃qC)GL"\^J'pzMomܺ${dwRjeY:WH :gK ʪ1UIT/ ;zPǤƼ~HMڎ؀?ڭ?Ѽp䢩ߛnԚLV}RNYq+7quo3E y$؅\#3D*Q7V spLq&QIoO>; lavw0 [쾅qzϬY-nqUa-IAȰ)9F[b$l0jeh/$g^ @0)/Cv}QVk6 ]WLckMBOJ'nC\YTKfl莴"+^CvgOՑO컌Д4޺hy;tNwrQج oW5i9ôT)'EG[əgƿ0_[)6t$ۢ8>ݛ"O alAho?: F™@u}PCf ѾQR"Q}^v{u48Tݙc/YIh A!^*=f 6ıLdRDŽ(h@F6R~{t5PI0KMjH9)X'd-2 f\|F/*pyVՌ  YTi$WCw^#P$[2u"vX(KMd^b-Oz:}@A0{ XCݨRM@ 7S%ΊE>jI{$O؉T RUpe=Ww( G ўu)EĽ+%G 9JyW,W ' SOx @ %,=ttJ|׌VRBz'?Kk}C*7jR^}k+y24ZV-a'60>1oPOv<0oX&s=O3tu2: ovCsV:XB~y?x;r&d c?YfgIA_˜8Q8ݺqZmza'BFl6AoM3~-K$ ,;"cȥy+ QDg_ Js\4 '"k8քf]QłX髓0=v\+М#ߖl_L'*9F-?j|e_|a0#+)=cH|u6 iDصGi!2 DA q9cl62TxXs)nw4/J%I% ߗvĝ J5_(sb%L=Y`7ǶH!T߻_AUQajEVHyFM0ާ h et,݀X%i.*ka )g*`lӶLx B,ᮖ0zY [;۾atU2RݰRԔίV gj## ōhkYѢLׂ a'+&1`K2I!I];sNz3,WSuw+O3@1@/sEG32{[~_ZMG$9D]I+6$ҦcL~*nZl˲wE߅]2;vaF`ȰrKH>`f_>Aa[Kpk4,O8 5KuЕfo ~E>O!$ f{ؐ#1˜Ϊ]gl#/YT'POsF&rWFEQUOW3|;+Ot-wD=KC*@-ih6& sY e@{4"ǰ"u^2`o0EcADyuA$Q:J~ОȺpGC-?{LˏZLasS|z9$G׉c!sJFEem,rTg%]!K٣!f6?p[k`EG{DƩӛ,_Y3.;7ҫ=.W !qe!"38}Ky2}'sn~} 3 `v:t©}ZX1.YLj۪[br ^\VnSTB`Y?@*k/- 1xi33fK޼3q ,ANyw!j@vs0x@qk{j[xUlsLIIsHgm2Vv"n"`ieI<}PX#'% n "$8h:X)̐⼹S 7')CuNtFzzcCSG htS/7eS6j„X(wZCKNc,vʷ,SCH|85)h#mQr; k*UE|zGg&<>r01񣬭fv@-.[պevY˕[gr/02ori7nadzܸVC~7wW)?./4Stzl+ۥ* o6鲹jШ4~:s֬JWQ]We!<"<:M'Lْf7AAŴ -2eՐE#~DQ !5NC4#Xw3S'h:C >\*0?Xf-8~\J&|Wy[BN힄vH:%OEf W jR 7a%ac4[@xiSW8%?)m|!ht;,~EUӋ-騀+nc# [DA%y}1_9$Gfsm*p?㚛q>li,`$z9%'b#VnZ R6`6l,?$¼L+Xgi4ܟ8jz nQLZhxQrv}%;ǒ=w]҇9.s<4"k]E~L`m&Rfa_aAB04?*ܳU 0NLeYBԲi>}vEY5h vuOuqk,%P_vXvy6n$ Ͻ2ƣ?> O .^2 ve(n7]s! >V9lc*uR]܌>ʛ?i5#1zd`\;srkf}S#zf{^kd_|(0)qԗɛ7ѷM*U}Z/EyH#KP?Dn 7n sJ 愭g',ZpC UhO=F^cփSCNYl/8f3ɹr^J/DKN\}|]Mp ^!|rWj$xNOj+r#jv'.Õ84刹 W\i iCyӕB q,g,("0ÝZrǎ*AK_#9 [ p'֚=nPJbsm^aP،@=ĮdraLG xQ}L *1ZqC6b8_~d=jZk4gC(Oo޺ }p?wm>Lm{ ؘm|>VS˪v͜S ԣ-F5< -OF0gbeH\=3;v[|[d1|o?Ӗͨ-$[hӯQoVp,=160ͱ(Ō:@Z,o՞pN94oؠ<2~QC9lmeO4XMn 0D9{BB7٫!**);O[jc/ 3&E. &d5O"V2H`Pwotn(?W%~CL ,:Ay=ߞ,q{ޒdi:']q8"V L/9ljX 3a|kQ~t؏n֕J'j%EJLe {p*ieO4-Z;,'A1Tp"kASUkT'ETMƒ7.*P}laj Sp ߫"0`^aºiƨETL!'Kepk)`J?,_M{QJ 7z.Bҙޗr GKDtIs̀uzՓ8aDq*<|F T -)!(oT k{:X(*cuo dY3TF9n5-m~J-J;ovI &9O@p8c(PdP4S}wX,t.Tc@FMg^WiGxO*XGch ۹q~VVّǽlxs)pd#r$3s*oh{tA',7&Ǧe1'd˭\y s.*q< ,q*_֘ډdӠFZz-lE }r+FEՌC?ι @bS{+ hq__BsNb۰oFJ},u4yMIkiܹ06Odoc"QJ#MQ9dW\`5pp>%ܲ-9TtnF.tζ7Yӓ?aV~H%ld5KuD&,{DǠxςU?gNɚaLh+6Tbuc89;S&f o2qYפ_u|VsE=Lqb0m (;GQ܁i=u\}ۄE~#Tŷxks'ZmL/jq`stI8ݿԅQ '|u/jE?PS8 Rj*n"l>jrmz'u_lP%`u@*6pО9$SrV?tI'VrF9Nܜj!P- =gX*Rథ]E$~foI汭wqS&g1[! ̔=ng:xO2Οh^͙Q"c˱QwHͰ遷L A!TG?517)"nFřw`5Q$8S_n5Q2suKyo,:ʩ_穽K*6'ʬCmZ89_JVOW8;:(z,RC׸-/l<,G)ۣɱ!/^ʢ es%or+t/PeJ.wvЋeɒ3 Q{씑u:fƺ*`I3YC\߃m]8W5 ul^4cVP1鹼;F#vql0 d%kr^+׮bJݍ|Z\Ns2O&X;㑝=E"'Uw:[Â.G24~"ܭԟMrI!V̜ 3S IP1q,2uʟuZ2& ~9qVؙ/fBvA12,CH ƌI>?{9)鼐|ݽ&udl^]A~P{DG/jM;d لp`Ikن:J'ȣBUꏈyWA M|fQe }p먗VpچqmN\Y+.Q&i<8\AIJ03 &ȲzJВ%5EzǀTDKAqqɤfFGN w!qd3^|丛T(X.aT+]k:>#l#ؒɽÖq*H0˪8b`~=-rXN1}AMX9m{ntԓ2-@}YrFAi(5S7RKN:[3~S88ްABۊ=>O~].TJV%/=NȍMqZBR/ vg0d QZ5.c2&+(%LӅEGϔK)mD~z1]eQ(Ӝ,}b\ɴ42$+.QtMS~alԔ}^ xm!`@f =!_1hw'6EA0$ve[|cZ֤$x~ XȰSʭ Ya}-#@/rb}arYq.zwp:(aͺ,ĝyE♟S|NjQboz4t [P ej8V#UA+7`iDSrCD;'b3L).L":8 ;*O>в`IP8}7GfKzjwi2g:~%Ay, (a'} c@*V7kh7|6ה·6-EQ-Zl^)sz:sTк֑0>҅{;R70}gL$Nﺉ >_6V?(##ap(D3_Dew:( }C@X%-G =]ڮY NJ Kk5s7PfWRѪQ;YyB7 Cʷ"4{S;&K^58f^:ZS=غEFT2p%Y5h5mH93^צHS*?2?b%5IzOf^^ZJ9 IG+&Â;<Jß*I~,tL3x]7_쳽@ WxSm軳x>>=}?+3O!C9\-t(cyi3,д);A$1&bK^s@Rt 5OIgf]9$D-H7œ7D"Z\,D2V\ft n$YC1| R 4rd1ly&;#]z*昏ix->㎊w.k /[ɚ 59#0 -]#ȝ>m,|%XՍV2%s +!=kDMFk\u" 6A^d ϘA* l|*x<}&B6rVxSM"Y+ʼngM86"xnX砣fӕa-l}t:1>%R15Szُ %YH¢ԛ"g/|h@tH/öF"L(/D/t(-. "m9<[SGF KHsFzs&XDdGq![)#4'(?\ًxZpTn53QS^v*s2Uή׌Zt9ZiMUE73Eep tL2gB8:V3 c"l!%Cip ҫ8,.cWk?wbKvy6?ʟ]8*OhE/,֎t9 ʾuad7.aDICXĄM.pv<jbneʡ3@zp ;Vj. O-}[} 9Dc"qﬞb,)7@h"C$8NkqZ'LeMCD'YV'-L)q2ގ|/Y('$Ch'>敯% w</w9|:jINEa yEĦiMQw2R\ %B/BcFG:y%b JJzжctسKB@?*c Mꄮ@$CVn PUs$FZZW)}@tLď|A-Kqx" ]{{à՗ F021v^R*#nK-E |;).-UDHTyǾq%c } bm&kekײVFv+TЌ˱~y0?4GM BzHױcl5i *wɷU3G9rY=}nع7xlk{q*MPN'IEJ"L'Ti$tQYbЖ ] ?|0"ַa(l7Pm' dr9,&]rRikN ,EaBjYDn)gaj.:_M#xyz~Vn( ҉#Zϥ~u3J!MxXgERzGfk;A`wce…=1?..L ڢYO%`7ptu&v^_@PJ ,>ϻR*G&Se$p)jD&3I)ߢ|zVRR@"yE#6mf)C^H6"ڀN{vq#9˒JMIac9@ͅyl.`:+ Kг}[@ Lc\% 1 ssARdαB;&n7 yiB})tzА8bx7*1q\^i#lVnS\gHy( W6CٽTu@>l6إ`::a=AW4f;#"rثAzM4,č );qE;o6RG{ B:jY -ߩQӸ.ob'O*F[CV'^2o=u,I z4f9x]ũe 2Zݢ`MAW_vӆvX-r䴈~PI5:eQI# lkJPȮ1 ˛M l/o~| _ /(|فWH o GjC{G~ꂹP3}${ 6s-gȭx_-y4o/h_R{55rk/{b)1iM5$}r0\Ǝ[GIK.f_}7Z6+Hյ}`?iR2@,ÒAӖƜA,Jטٖrm 灵iN1_(UGR x(wʣ+Hh{a_tq C-?B۱{d_}yo>i]h|n 9Hmi(" }D?б9cA,Pj_{N"T҉'gTSx!b}4>OZ)[=(ݛ/[(6 ͱsu\ՅϭRrRL)ٮ3,SʨC尊 ]aE@(5ѫ`@TM (0F8, Wb@䯒zpVkR~ISUxKuffrSx@p\v#п:+ȸ#1=4dW4bvI9yfHki6 }Ҽ?-PDX*3MssL<5iςPCTa Aj0Ҟ!= bYbϮ. ňX864D>k"sX-X1 j}Wͨ"5&jwv68 xUZdX\adG& QwCʊ D)&)DX"X1EŢ nϝg?թ%,mV)s^:«k2Xl|Oلnz |q:~bc =$$(ދg(l[ mu[uW 9MAy]bm #p+AI=9h| KN'G8Pv~9y6 "퍶 DNtzr04š}٤?P"/:/` ^6֖Qt5.Ě-Ď3[@휀Y"A f(M!4]96u5oq^ 唾K`Q1D =unh\i?ڧ 8بp";jlIA+qdˋ E\ji|YZMiDׇ_JE ye_+A'k{ o8Xк,.m1!8qC9 PK?03ܙB4TBy|iF  KSCՆ:Rn1d7 #)m 26W>*mjwDFc!'#pb,& >vPpFtZ%6nY|:i$ޤ--Ħ̀B RB&"+=LLO)(f^ي[I}lL"0s_l"[%2qkxբπu-)0٥i>7 ^0pT+Gr:.\9fUWDv.R/oe_OP='d5@J%{ȋ+e &q3h5!FK.SgmBGF0]{ؠIWi?/0mvz|ip~z|*zז1R(&w 2n ;jMyg="HWQ[cLU^fR $5b41QC:}T^ؼ 5>c[!'> PW1U,Ȧ9B_$?+؜6:Y F$/^倵]h~3F{E\͸>;"k@$$t%+IJ_qc,a& G*˾r"GVFBC@Z s8I=z$m~źj6[Y^:+&v&OgEN'耣¶[՝+DGQ)2@)h-l%QR($q'i ݴ\* Sdj:$aAgS*K?>Kc5gю`IE4P.nOlc}=áof瓵0ǚ"_e @ĂdO vsX~Z‹]jt{_!,fA%֭CW4XA$vwB -=S6L; A;$ԡ7*g+g8d[pWswU~O&aфD'$gaם;1N8g%g(fsڟD`RccfJT'b@A –ꎟ/c2]D7˛ѳjKI-#4FR6XQtj%=T ؿ#q9`Y=lZ)3Mi3+>H1e |4xDö Ett'9^Jr9҆_ 1^|[͟(cmO6 HKQ^iF-dxQG܃b _%tR?!'qd6Q,H.L◜L}cKLS(]K'2ѤKKa?^pVɵnrN5!P87o,F Pf+QQf`[sPWњzm%Ҋ6p(ې`֨f% pNZҧ"N=4P7 RCfp\noMf &K I[M O/ rM)Lb{6=wHrسZ^2,/ o4"߽d:܊gʏ,Ƒ֏$ONZ 2ČVtK:\?l{+:Y+d!\ ekS?|yO4u9Zb}\v? ]>Ng+Mm%)U۱uQ5޶Zg|<~bĭZcf{ؗh؜1p&='_mمތ<14׭kU0]/q }&T3Y-WJkU9+PG!O|n<@MSZBS͋ n:Qr#]4MaP(։D'!ܲqnD1)Ԏ‰  :(]ʔabʎXdQ+۲=O\pmS*P]O9|NIAE$l16B?G(ʂ7{73\9&w9[ }*,yPECWY^:|Ҟ"`z[R{?A&9UuCӉ<T6!CG2>2=·YϘ]%@6w,⏿]VaviRY]P(  3*fe22q\(YXҐ?5VbiMvr?b[2MQj!wNsG+|\>bݫ>];m~rh8Nyr6EMB BjmrkZ2Ì vEֻSoSzsZΤmIF񫹵"rbS8BH $ 0wؽ1 "yX7bM̿)$Ƭj':U`:Ox/,jrS"̱Q8לް/+,8C+oNs(F>$oNwCE{fhU<+~k)@ʇ.'acL;zaDThݫ6G~: M9턅F^eTPtIob}`$'`;n"w_`hLqAExg,ehp"0heOy1ְQMOQZ"R2` o;JP7MtQMZ *N| q1Yuf | pFnXӓ>1Ղh'(%pp`|hK<-p06(I80C85 ]8v8I2=rfi8Dm[Ο ;&N@EP 1j+Jv}!AAmH, aO;09:<4`0TIiD 0Yzeiu|)QQbLI`yG9J !O@+Չ-n2N;X8(ֻclKGa_ڏt"{gF`!٘aÌQ#/Kǜ8ɛZJLY6#og [)9R OhQuE8HAX_=O+[>/27AFqJ+n̂z$cD ocWۆ/_32fRɟXc(2#LВfN/\ǭЇR@һeKH!nEW0;"ru'.px%#I3J)Yxv@< +sQHu%wFs%n MX$ iccif]e+TP rb ] vJc7aI Pf}UdȣG }'4dHWBa12\#r18Uvqn }}yKY+pj3on%| ѵLy!3 i:F+P.MZаF^Zy?E zR@maW،TM##92A7DjC7F#%7.$>hwP2VVPŮ<8w2= tq{I^;!NS-oeUܺcf(KSY-BӼG>gzɗ-]f4iIl3LyF[%|w7bkj%H8$郖n48Kl"[NA"2~ͿubռQnaM(K$K>ch0Cܾdtwp&@5⼦9"˨n؛'K[qRK&,{g y\ח'm%$䊮`#To܍ GaŁhL"}V-Hbw:bwTs k2I͟8yF9h3dhm<8+=eb \$g dE\,]MkjͪVVaQ p j;@Lо;9-h' RR3I>sX⌁bEѝ™tn͗2T"mOY-Άî.7K4n]|(଼]Rq1+bs$ݞlO4: cL J~U9ǙNe㕫f5:īG5N,c;*T%ޣ2]LŐ9ͭ^iaslZHa ;(gG! C^]HL>R-%~@FP.F'z[e/>88wK7ԩ).tJNA=%fϻ"9cI̵lds1HGQipѴ T [Sk5#$tդ̗-8W|<'sXy핌KkVg~mR `j2J4lz=}Eۊ4W O!=iV3d|B+Tq9enVٛ/>H2&؍¥hŦq- t#~PAuŲ Y5HH.$[# dsCNmV~ >}y\Y{EY?y/EηxSvX/fVQ\74wgx%+Ċr/Z|f4)Yiq80׬#쀺(u?a.Aɱ(fO㶽6*=ڢ'*60'C`ՔŹLaʉ)13ԼgILSj:( 5"y#2Fg00^FؾO͂>%ff]hSm uQ*6bؘ~Ğ6%mDrByeE`>&jm T+nubZ*ҮJ;Kv(:5jX'B <&NfʎV^I~p|k洂&L8$ؗ;}uuJ x[! ,}k-aa`(xHIWOeiT~V?jybN Z yu:4<7D0-IɞÁ&:zt]Q9 5 eF&Bd)~M`py Y$ $}SheTo˝^n?UPu3lMJ֤qV/ Ų# k6[af39},HcR3xpnqnR3o`܁nʟ]GI?>91t=TDF?#,^ )0hAEACS|ː(i:>a7BJqXl>nBǧO5W8rRǴNҥdVSj@n0:g m oa88obJf'3 V1O)ffESZ.!@d5Ȳ?ϫ&\C]J~ɯiqBꕟދݿuy.ŭp'y;T2K?b*pG-O #Y>ofoʩ k {D뉱#J74#"YORyi sIrv:Bi&~bB襒Ym|,, ʴ$^%!^|Se!\eDǣLfUSWB饭^zBvl͞ݕ֐2ZDfpT}ZG8);u9~2 DxR7*[6l Ֆ8;OI k⎠@yCsƽ8R5WB*J\oa{υ#spl^A +ΖьmxVB3 [sTSSCԀ)tL_|z" lˀ}94o_kɏ72dC ۟ F E@nj9 aej-b21 2/Z*;dy$@Gk5h#5%P赺k6`1f6$ST79<9aC<+;A_HHwB%uzs=sIl\jK;9O**U90\aW۾OϟiU헫Xz m hTV h_uS؀s}zm1mFޞ<-MQ*QfN2!r OӗF4| y_-$礁vho"$ȽNKI7*4Xs+ʜnwWl$}44ʼ+r ~z"0_`g$-ɚLnGC1FI HncL谔k4: F̵CJ!KF00sLڹL"/&Q}sėp)+ G%~{kkuhX=-τ]HWP'OgteJ49J#6`񌢖6Ֆ;dc|0<[Ոњ 5Ɉ5 f h/dtO xև͕88ϝT?W#?z=H\-nj{%#'壸~M@s~'ltȻp'~85}3hMyL P6 +yzo9ͪiggx116ό\.9L.SQv"b<ԋq8i̙Lw^ιPisHv床;T ,ŹϲD3O΁u[)'%KB}`'yt=Y |xqJ6jY<ߖQ`g?iDCQEp{$=Ye`^Y'!)/ b/cm}_~N,T%ubYlS{űwχb:[K`Q2.vBu?{]|>Ji;J6WԿߴRo{œw L%S;nGCp&xVJ~.`|\c)-,4XGI((Dt_HQqikRsN'WOE:d$+V[Gш2=bi9"*w+yrW#Q0@CS /#-,K`̰67 %WQqr BIA8&k9Гyt4n)KAǭoC~OZGOq^]~#%8=K6vax^U}K+(&Ah{Q8:z@$MfC I׋5~/婱s[CaLL] ;{7EV/@{B7}+1Z'`1c$ݤj:%|GA3Xf/Ŏt6/r22ish\TBh^&>=g{8 G~J従yT6#?IG.(HQ;}zZ8.an)U"cxP|g ,YJ!s+Q gX@tT%I*+L+oBSVMZ eM"fN>Ǔ|mL,>a[3d -8nUa , )5mMg  d[,z^T䬙(:CM3f\G|~Xq(Sۈ8 kՙꓸRS;^tw'd1WY&U{"WUF޿t߉=;Au秽gm `_|W,MR䵩}gFf(+Eb-IDTN<8: ' /3!\,95x.Կz7:ml kR`ʕ-LJ8SG h;L7$O:#iYtҎ^WO{l.:ѠAhFqevouD@2hWj 8fZQkW=\=w& q[S|ҧ[[F8iy>}:0qҵWKCpK}@}FO9Qyzl.9y R|4%FXO%h'!vi掸BtI !̒hnҿ3UG7ʷo4L#wlP gK s??G+/$#NmT"TzWSp,y"r\4Glp 9yO-g%\ ;.DoeRlE ~psR;2+o"F^OܽW`efO@Hf h< NhlV e؃[ċPGCO$B<ę2|N+@X)$6r{cQldK4[qMCPk7# L8Wđkd=[&=L5 <w L!q)Jw j\eT.1ۊ޾@7k5T0oÍDw})ϿU,Hcoq}շ (pг41ӊ^}KIVuByv%8 ]~lv I892a`}EWW4s_Yl͟%Ѧ^hE cT-t0Ѩ Ѱo\'A1_ɫi(pOҼH`}OIFxk~3|㨝RShgmu]2 Fg7r#,׊[s`l9 y7!;M2(`73PGd7xW)!SNN-qvݠA ۑ=6LYT )kb;rh{/*l[-ͯFT֞Ke.Y IT< ޶BK~F*,Sի5.X5/SoA*_7֬G?ᣆ1,H`F"Mce")1s”| ::\6U,TxQ& 葆ש %MvQJZDuqğT BvBVऔ CN#Jz%=_̳6k.A,Amցb h|U5xaD9ȑiab%CKkM|J 6cQjϔ)\9>Px_8su陻m,wbʿmUwov*,93T|b% 5ݢzz yAɡ[PkLz ,%Pu*Φ'wuq+CB.XY. AQ yIS4l`/=zoj43,gh4UH[fQ"$8 ߾uIpz{Er%#U1HN,j嬭I$,/ΟvE̮Aa8]N('!U'O-s~w/v]_ MC׃EAnny'v,::ŏnU'BQ]hϾQ]vN$V }?,Bq3mN!DHaT~,>@ohFL,JI#lSHrIeAO% /tmS<9.ngYZ Tmn.1%fx Erja#4@IJ 񉢰ds%\-sF=pɲ)"s @]]J֣嗣 icAבg /(6Z05[ͬf8܄xJ^fz@-6CO@0Y39[{W;R`'>FMHpMӷ s]D܄F1"H8ɚDM"z@v+jNFniع@'o,q)kV4Hqki ױ<0ütHZ(?RP|}!*6Tf^ f)e!$1p8da?/E&OJG(3Cq7}> oN=#traGf׾YM<1ofzb[O_[;꼙gn͇ 'Sgjkrh74(K㶆-a#JqUsLG,ajp/Ec^`r)H"/I}r C-^Fd 4ә3̴U-\hwZzM,B]|r־+W 9r_v땣X~ԸUa>Sc/QF?ÁTIYoS4ᘝMpC:,/oE_r$JQCNA/%Ѷ<H6=xL?R8+FNR-Ƶ~݄MMY5pB g},H(kdnoE=UMab2"ESyﲻϼ$K\ߡ,G#&y`/T33,%}2KCnw$p*zvGK |9'Z^ݐk ;P7#T|fE@Ba(J_ mͅ, j*\ `d_bP~6}iŢD @*(H{:?QffJ{f귭:*6(p&)w^#=!]qnV!K:A7 :RO]/G͆ 6:dw P_0]ztx ¯fz2W+e۵+QfBap1s2}c?TEJ c*0!| ? iDŽ<՟]qψ:I&Y'>Dŧz{/3J#ۧh>Mʩ[/@v du55{ ICۅ)~kwu| >`nqN!Qy7 cl\Qk?JsiH(5'$S70o9X}КA IvI? /L8v-h'SvB~x _U}J}@z.& y4f UQp8IR(w"j,?vş\ӃThW`ux+9vQq/h K.ןz/3I& >~sbF&]e(Іe̺_pz03 wQhuװ2z}'Sc_ p E0^pH8{27ab]_O+Y9p $ uyaʺWx^[U>:m"ܙ-CWI) ]o_֨Nf$y}Dn6K1 s+=T:d*7hzOabm&ԷGVǻWB> êQZ`a2E dXXF=8fGOp gB'CTb`N¤&⹽U}acd6HTKK70EF1Hf͹bBSo& q}a\F]rT'`*h؞Bۂc6+2=  < 8FxvwKw;]-E %m+uySaC]g2|RW1yi!Պ" ~CsgG~lS!@~R+Y$ y9g4n mKX_NhAj tM3_˃ 񇩡| )bϭ>߃ϛ`A2u|Y&NRBioZCx!GSy7JL!]'1&*7ΞPh8TnO !W>{ ]Ԑ%{,f:0Džw=E@zEek՘Mc+DǮa+&"%)<֪m'Q!|36}FRʱu ?"3ʍ܃P,~$gaOEO2^Vp;@qi:_D}gّSU2tkLWaD /}qktAp6LiSLK!{(?S P)S)08z(B `f/Iݴ;:L*Bn,)Jژc9C9 \Q&Wk%5GM`G%pԡ^rߘs7H_CyFx$8yՕEWae h[Oi9D| _Q;v?D#mx?]T @I`!'~$7QjQ_3e㈵E٦^kTqjl>i@p=ܜ6 m'#Sb0dE9ϡzB%lu n/KPyW߶N@qLkjX |;VW= ]͐ks[_ 2< ? QeYCjɌV͇VT9ܪJht~A$5vcؿ߿a]dRqxZ"Ċj,ަc{7ڧljK;CـO x{)&df-#TP2*g+X#ԯ]dD _Ai 3 ݠ)0f3[c5t c(RuLAGn-G* `%bm?`2(꺂Һ@S4DP/ FLXe <,4LS0M 6R7q|S\/iu),d ŸIʑ:VaWW"ګVS.ɰ&H#%l7 ep^:+.0;S8lp}kj]f t0m'TS>VSLˠ^ǴmʼnOO}Z+ޠS?Ir%| 3!8E+&@k5z@nx(u'+ܓ+\4?YVTe(lJSMu %u_m*nDS^Be+ py9'c:_[a?AX{$$WiQZŵl[Jw?rbTMoJ⾒C^m/֥Z'׷?rm> 6!EᎷ-4< "t٩; Φ`Tι<޷+\M@6?Hᣤm:uLJG&&|vhN42L_&C~qhBYg1Iģ-/,|A^u<םqڧkƨjAբ2ȶr&٪Mi";#t|{Sha$1lgJl AvuBEf*JdMIKwVZg&Mz Iy9E: MPd6g=6c[n yv30[퐟O}{4n0/|P FUNVp;27 *Z&r 9$nrFԎ k }cU/4jeYGa߫C%k I?SIQ۠^$ƍ@Щ{cƞNU%02S:;K+# /]]o7.D@M'k"ǔEbM}ʠ[lQU6 ZW_WAݽ;W5un%+U#Q&oz3(i.r7B}\hi bW 7g]uɄE`ȯ}PKpTX3 m w`wHD͚8;VE)ŶK1Io mBliʉ: *4p;ph`VAص.Xt]PFa=kYvl[ͼڇ(YzVƙdm)\ByHctŗov9'ʏZvg 5 nKA22kft Ko ]^a_')Pcs_=)YyV6B9I<7@@bZ;}̪q˶(a쐖RU"2$r`(m<feyOЈlYDr*4R<`ֽ /ߦ۪@iB}~2 }_1e|w_q20.DoK>>*M:'RQ#zMTi8//9y\uR/ᏒB}Oߴ3KASX6T^o,$z .ލB g#׌7Fkִ9qP7ky[nC.vqc̥v5שBzVi&)J#NCueẑaqi6>o%/K[$ 7C Aav"VLQ x/EH@Wx:l<4BjfbG扞Ɗ5[*Uz+17d x`u?˽Uk Inn0+/>oH/aO|ba _ZNaN;J̋x'f |p 4OIWN?">ӥ}qv[Up4v>]=v %1yՃ%^ .ϋ/hmkgbiB'ч! b}>@OYϫlZ{*(I=]z3@OZôxjp㳧uO(+0z܋/ѬdC;˺<F$&|{Y,i4)+_m@eVLO 9OL[ȹa3ѥh&!3↯40|z?l^gHqS{\KMx+$DIqd26M2p M)eoݧ%oڡ䖾]~5kԹeGbBF*iAda^xJxDΡ.m-E.;02;\ew[ MDW^s ɻ 2tNf[>?`-r_ۆ6q= _Qmp®~ LFe\IwlSǾsǵL`!+{/ɏ_GHKezWwTX&8d 94:;(X~]P7T C8=Fvzxk7[V`e_c6~"q:q~|P6گfL&<3L&P= k/W ^?8hm֪b˜v,_2I +R0ħ=,;?kׁvY&#dގ.KM$HkWL# V NbnP _E=lbm^+qflUA҉ 5#qSs2`t5ʊt̴#U@%|H%p0y=櫆I &A4;mTMIp> @hRc(l{3*Wk/e!EFdgqLW(@h7AY&1[~rpQ^CEtowIXN}iz,&Ӑ8m2G DwGUb1/Aq釟!D#}`)>N9cg ҃9 *DTv*L=/k]K(b/ڄB [Wg!>YNGJbT,Gؘify;FT+ ŢFMoI8.3H5;9,e Dy zd&+Wc{cygatam7}XOGMvPTlF.:l?֫D3ֳ^ Oʞ;7 ֆP+fPs@a)kW.+gj,M̵dˋs 0œ4x`V$ƖuVH@$( Xu{ry%lGxO5 F&´0DZ\>fv(Y5ׄ.k-$cEjEa~H|؟)6MZY6;2&B=nޔAt\ѡ݈f+܅H= C]^C wٳV 5.=8"THrŭ d&Tp'> (4Y!S'=Vi+it?^3\.\8;u rQ!lT}LNa$215Jl^{ ԞcQ e5ٽ\ɹѺ:MKypwi['Vb\5&4l<-=bmxHAT 4HQ7^Xx1*=S _UX^OÀ6"O{h%NXPPm!ڀ[CBesvjoP$lAp2آ%DmN;/#{X Ȃ\5P; "g8`[j˗[OʨR_mQJ6 嘼.Hޕv`#K7D\#Ix\"lpp Z[ƨcPɂwWF$gʓʥlƨcvKuCCHк3F]a 2Cy78-eϨc ybl<بG2 ^(Ľ˔&նw1xIn}+aR8~J6}O3 9ac  &̴rMjB_VPK2N7h8Pe0M-0U^P,kсd]wfay&?. oh}C>\G@mNEaK9pu ԇA+!3k c[)FykꇔX뼔@LZ@"TN_cw7mrcG-Ynh m0*4la7%";&@cA4P;fduqxX3 ``)Lz*m9M?Z(ʒ \#v^ۛi,f.z ,Hx07W7}e3=lLڵSCqd/W{RQ2OK{oN6oڍ-1#&,]"DfDžADQ!Q9ֺDYN=՞ ,_!90ⷹ]m 2T;nO&mU꺿k̰Uq)WrHBEM[z6!ЌԆ1M%GO "u4;Xxf<,[W&;Y`nnyq$W끉ZzloIuSW칧!oʵ>OIXb޼$76j^7Z/,b]DM*qDZv%#Zı6N7j Sv{{lNIG/R 0JW]Q)؈*=,޲CA&v ז[wk2 9b/p]Gq M,E;C+,> tɇb̭mf 3[§V&]DH&? $IUR&i ž^Ul{gjgV:F[VTZ+3GB_~zdMaǚZ 8;C_5x&e72!y(qb=͟Xgc)菿;ԫ㶿- _ IaW4VILr ,噼N dTs6J4ݓ`ndLUM]Kͯi$d`!݉T%iQجCzf;gi__XB}`.[zòtJ!S^E&Œbn%l hq3jʜ|&0(2S3g ,vegK./YVB@փzѲuff92/\9;&^JA9yop u8y /<& jIR4IAz(hOjKX0 pN W_ȦC~@5tJ&|ܘ! 5ܒYB>]۹:Qy5UJ"0_{$B%_Ҙdp\[(.^"f71̶v_e=&48!DOEQnC<'zl9J"2X3Wi9-p͊.kBrGYk$C9ʳWp tbp~ȫ:H J C֍sA)*"^ٔXo CƶY;;3Ps RMV& \_GQƕa#|3 {}ͩ ֨6!_ZP wmv8nOef==Oz^4y\nsK ɷi_jt"_D .M=y; >_V!V5=`-*<Hw]r-p]|J<-D/#K4a\aOFe@O| ;$K^Rd pBH搾͎bw(y=Ȋ f2}KىMvsb_.hw( ׍ZȦa>8[_X28- 0(|ʟ˦D u є f^Vkf`U4G4K"38W%\rjυ?)*H`r;ޥ#w% varO?kCsY8 %]T(|7Y*oZkzG)}18W27aX_DPblon)MVg-q~_e쉄mŭ sƟ/i0Aal]yS+ZzY؍i^$[4y%^FZ9 NUYbuATe1a2!(^'2,OoxV#5$PJR%MV(cu$W)Mm Ar҃Ǣ. ^!o+3 #jщi+*KU#<]|&\B$'޺BMYHG~(LʷǕ傹x(`r"专АYd^bR[oվZ th#\Tn-:RE\wą&۾ꬼj5z+ LDTiԵ:)61D*\)Q s>^ "Tmsrdveu2O 2]O{"Idnk.8'iȘ vX 4#V]Ԙ12:VioW=ZݲYpԺ؀L^ GtW Iɮgజ> ՆxC~|>'ж hd:HLvdNCD뛗lٯy0 n(mSsx]IN7U]-XLBĵN"28b($}͵T5n3dyQFvnM !-}F,}IknJSFAѲ݌v&FQV=^+M?.Є!g'վnTctOI*R2ICXI1?![ ʓ-E3S$cԉhk}c"kHܦr+ʾ0|@]t4&,@?E|\7"#]Lg P nT:V^ 2(Ϧv[ :@0cɇ'>s@!տVc & c.8KAc. oM? n1wPmiެI pO 6Κ]|Ԧ4Ms,"LJvӟ2 J pF=(Y`f9,|WIߕmD+ .B>Ǽ. vax< Ԗt9Nce<2aKg:ǠEW`/ND_~s'Ffݢ ?b ?΄oWݝn-ؕ݇PIISZ|rТ Ӭ&Ih$rA;IqOOcCw,}Ȇ_LpcJ WJr}9A+'FMMfvr4Ndi^vD0z1n2)ƙ32& YOyqk_pN@+<㯁2jTLLK;Vj\ڷeW]gYiԣEISv+ cgչ5g4ZAR2lJ z^e{h4Bt`<{\"ߺ4/BT=bOcJ,+R0풫_x*aGsgznGa|sz8 Ne,6^E _/4뜛~;}6 +^1\Jn:;'Q)-Qܫ  k9hl)J:Ko0lkգ3$ VDL?/8CZs.(k\4?]\mKFyb :U 5Zg)ړ_ϗ$D|᦬Qˑw3+\~wǷե.2FU,V_(vFˡp ޢdA, @Ϧ?_Sqb.%QŭrR\Ǻ-,P%|yʡD#AD)_mͳ p־fziTG^$.JGDa9,Guӌ;h!IP T c#|(W8tj{1o(} hqn#TxL:iy<l*Tw5 ۷x5iq~:k>$~b*QlTJ+eE6y\ټm *ʵB0lmWĤJv۹3 ܗIu}8:l9eϵ3$t0;ޥQ>xkwGP+Bqr3i )zщs_ʩR]ϒ eYO My"j9KY(P75Fϐ&P 1_cP$J¾BEpnR`\8N,= (ws-4ezݔy-x kӼDO-Jebr/qQ¤<7DBȬe 3bQE_H%$)azkex袴 npzu#Z썳2$gMI7S>ª- ܤrJo$E=RSx LcT/&K"f . \lekwe\uy>t!#UtQϞl8hՐ<1|,Ӎ[&)"<ąKn[)ً[H)`͍_*aҟZIY׍Qz^fÍ%(ח u<GҪ+ZtX|ʭ~R1bJͳ*@yU`f~:i|.QY ?f;〈PZ]*4$dԵm 8{ !6Z09-`AⅮ>~ll">AlX3У(cjٱQDWADĉ9s n)=3HG5J.խOp ŝ:j:u{ƺs$5uGU4 E=8VL;_j 8(cJӚSCzSe跫:d<^ h ހhVb_ֽ1b%襻2x>|@o/H݈t1g ;k2>cҍ &7e6jX"'|~3aD̤+Z@6w}x%'\~q`DMĦ뚉ѡT8e0 }$&=|0Zm&f t)IoHwÁn6y(n4*H @!2FVr|T*3L#ͳ<3>D64oAp'rr͙Rxv୞{ߴ3@;}Dy|D+nR)߁4,N!|Τ^5Q/y)*qaO}4Vf~晩"T's$@"J̀?ck5LE.<]+cgUqPqJ\?j{edJ̅wVՍ ig,{ڱ,ّ\ӻ^6mZ`e.)U Ԁ=#mXvJWJ›m7>$.Oo4)|_->Z>c`jO".8 R-|Kwv̗6eCŅD5{~\1p}] b`l)':4-b)4H$x͜r*]K N&O%3ZSTJ׉'XQy9G+630Ti u5=n2ms>V pL=3ݔ3M>qNK[]h+'L3^+c^lIqPSf@PnavZ394\XR7CN`(ps5|;)K,|Lyg*7fՀIlȏj>'gAQ 5Xy739ҫ:<` t-xSA$p#`Kwi70#P7^1LEn}x]`?}:kή:^n{!?Wǭ/xI㣛}%)ћgjh}Ѷ}u<@}?òN7ߐ,<7^xi?p=e2e {zr) 3 ġ?'#C,hQ~rH] B2+`PrXנ}#5Og3AEtnb6tćiF_)[ }T`&]t$U٦0JaF `B}0vAW'ZءuM0 =MŒާIzF3\ $z[콸oѻCph RF78#C.iiX^/_mUR.O[@}2 K}fOXVc[|\׆}{}3Lɇ5sڝaDsZgUh7v ]cze3Ńy74}TM0@ ]*ȀF~I< c/xnYTP@: HԒ4-Egd1z7o_ iE{|&!=]sjݠQИ4fbd߮@j7yi٭N7j"0 |+޴(=#_F0_yK޴1 nj=}6y/2[ w%H"tITmblT ]Zmq^[HIq5d@dHS)9+'80L'E'+=Z$ޛE.lxw /Jz^ d8ZicIi/l$8ٵ4rD$J>f&jn.0_^g m~] aYPsy:Yz@7=9FWīa~qf+E0ҕYz3|Zb !Z]4AU#ek1b.-IAYtBJ.((58ެSKm6;? lLWzԜ2wZVuMC@6KmMdxP}+Ca*?c ( ń[Ā3TPk^838908 %csP Z聭K\sjX?;=KSK[vK7_ ?PZ(.3'YkLP5b ^,L8{^/W#i%Bc.P,l$keܚBQՊjjWQB1ĦS&F"TS҅DzNX[b8x)Fe´K&Q o=ql]0z>eLXN~-^ dL?$xE+".&K3=dyrQaWʒ7}G&h~Cɤ)i(BM16}<"%DZ;G;_St(NM?7ΖU/S~Vh`m=un YG؃faQqjF쏺VV],"~[[ַugfQ6py.3'W91fbM: +Qdc0\,4CϠAˋO1Ua!%.k,Οq4ϨKrPRgMH׌v>:s> G] Alɵ Xq\9/a#y(XF_yK;_N{;V?ޝ84ndxR tI~ ՕQd6Sh*&fQ}qȗ;Ǒ/Pl y-d}-c!n!eRSnK'Q>zP0?֩Vɺ'j$kwk +; $!eVҨI+XgrniPz'f& SVFm0 u:Ũ5ɢHEvA?j)O e^5!sW~RDmG* <,Cj{5\B$PIO'4[xIdykkQf:|RHBəB:E'ƞݗ:kϢRi_# AUYTzqp96eժ'k)% OQnvJ? '?\{m ߳]ĖNDC ]>oz ٽf%݄B%O̥wFn&w8b 5aF@hAKN$rg%"D;\o4 MSޤr낫}֞Vp ($nqn8Ku4]ФM{#"l&vx)H@'qԝR KT/#7ر:,pG&m-oqp8jU14m~5WվCY6#! VcgqF驞NzF" o<Li;{U{\U'~~2;|~Z}iH%u[CY=6uBr_GUo25^U^gY!ml*Wģz6 >{mx:cʑGr S a 3l!Eߺzo b<Yާzo(,&^H՚d67n ~;,g@LKnekw}Q^v̸ /En/Ҝ$~Zu NsC{BRRH%mR.|Yzr<C=?9FEk<%<V{ʸ%v;CuZ 5&Bۃ:kFR}X 5|~SuN}k03?"q,wk o;AIl)!&'vR< SQvUpD]Pza+Y^ȶjl&vk^N'}I޼p{Y4m[ sZ[bdž Z L'w$RXZ$t6Ul T/&sE\`R^$Q'0ȟx8wsrGc0]TS8"mӱA:Ik>GsA:Β)APsLQ)o6XeA>3M`~$DotͺTײTZ`S b>'+\o+/~+;O 9o#p*:f49Dh\v.NlN YC ﶞ?#Ϙp*mRV9.ȶ pu}9Sy62MXSo ֌Gk?OF@tbFeld StiSbEؗAQYrEaˇ0rKDлyf"U[W_'̖W={֒h6,xm^ƽi7"& Q2(vo"ҚO]=Y7GHU$R)&>s @Hme2A6*2'MNr* J;+,xw5 ~ʬ(!Jc2U!B d\20ZϽ]|Mz^~N_K&1ĴAlM eZ^zR>[SGfҶë$ux6Y{ƂfK9l0 vRgP"L)`Z m f-)DjKH5%;+w]g0ƻX-a;U,} pkU=F ocg2Eq<0~W9GOm,&L͚hR j~wg-l \=? VD=u3*Ѩ0D R;Xd~(TBS0 jT0 t*!Ý."+if ߢ{<zy`w}3dH/#/t71A`U>#g@ 3>iYt[ L_?!aRNi푕*[FQ!+RPٝ/_iq![–}Pf0DfSl!טs9̄N <@\~ :3v? {Уi]`vI*xzw0 ĩ؝Kq xDlxHH)MĮ-o tGd [~nSF6ڒv kf ~ePDY9E^[Q$lA Q/|e8J4qB%_%c.l.7J'\=em(y:ܘ:'3)vpWxxOy5]N? &K7{uN\G^%>0nQOCJ־MD nLq g@&a jDn-- 3fb8ujx ZanA("-^ ''2`cjQJ[(t%ͤ5fۡn7kЮ@sp!{%E n)B<*HcAMxiCW9$$ UvRycGЩWnz lF`RR FAIδ_^GxZ/d e*z4=_(`|!Z}HΌ7\# TȢ"֖$#EFY+iU턒r1Q$Sm~ !:_O=&RNGE bqC4k Q@ݼNt-nW3Rsvɛ'$A SUl{lCd}ẃ'c*ۣ8$s*Z1]T#rRI2AaIx\@MLrV5bQjH.qQ %*u鉿 z[W =(A{AϘɿy]q8sPK:>Gƈ*4>i 5 W8FhSݙtYfOzJI=51<۟LKJHZI9!-c ϒ)SZVD'*B\3{Zb9lC]J KE2$g 6T*ͨyǂ'Sըr?uOF^8.i9T{-ȊPf X]@fn>&s'4vK\NA'b2j#D|#PP.E6 i'WxRW!'#ʿK%֡]N8sɚ|~S؎{$:Kc.RvLxVVl_q2$Jz;}ll9ci2@k1'5;*$&8:oU<6R'":d@l7JZ"^:{7cL;ʤezc1cO4 ZłHٽ :BvS64wJ28S~ҍ~q2o4'_ WNr*'Qc٬Ա%m?mxTA!eyzcN1;<ܨoX8 a*FHvfψj߇G5-c첮3.g@N$ODj )=s9UKDC#ȯ謹ZTt X*e "^iXd WV_#!k@~=^<.L!qW"n2%zvp:<a<+l*Seҡ GtJ$t˽w"D6 Щصkސsݘz9_;e%x[>*mŬǻ ސ_]y#VYZwi]gjG`PRK R$Qq -X\i 氨\rf羬Dcᐈ5[sG$͘'lJF\YҷRPSj I|h:YUc kV +A7ͤ?LOHO5(+?Eh6^Si7uÍPYGs;97~d.eRLUy%=_kwq=ASjk_x(Eʁr^J< ޞx5 } bҍʎo(uiɬwZ螙'݃3j@U0"2qJHd9IBK^s{1W5ϝaaxh RѐXV;uجH<䵣c-,FCtO3jx@dR`GLLۛL<,0@mw.<`[K+17F݇.cWNkkʯK"ҔEցwoi%QNrҮ"l1&i$K.2(_yYw- M7J)Tۅ/Z})OAEe0#aXf&5.KY.ف|ښJݫM }ON=gE[^|FT:kC"37|i(峄 ~X,e|0'+C~P2<?t,'/p)J02zn8[ׄMMa3a%P^Z[qo漫V`$vi?W-i`(*GɳNFBm% \ ,r M*pWop@^h dƧ;'Ssq{ $@Y5vd"Kx"hАH.^S#Тz4XZ|]bZ8a=)[[q6Tt2Z~.ŲV\kI#bbp_5~S/_R/ |ҕ\w[׏Y{dmet1jExj Qi-8mkH/~\K|ݳbԔGM4CR^^L*b4o܆1)gY5jK24A.5}|m#WJ ͌F8%{9"ҩ?KV)h 0)VJVK{Lg+Fˣljs#y>${]zjIFzߠ_R:M|҇Xpk5Z^4e=l ̠)AjT;.z@G-y"̓T;Kf);(E)9ЕYJt Cڅg6pIUxqOJ@TͻR\t/x&<:"l=Ds>_>6[.Xh4O>>odڙ7WQu5Krr6-"Kx >!6]ݢme4_~Qi1R[[ zG@ uMnݹq 26p{q6)2훼l69AY5\==Yگ鋠̽P̿>VfI,݃˶{W Ѻ񯎨$>Lc;%z-R<\:֫t_(g&;8aTԔ\hFMj ledhbcZ4zzyϖLR֑*3@)W;RQ_"lEʗ:9Ђm7G? фkY<,xN_ZlQQU׍d^`2J|ҩEAe`%I3.)ƤI+ݚODB0|h[upxg632+L\Ю VY~V?L2rѭuWJԽ1'ދ"qGriGxYQ5'%hPDΆrb0pX$V]VWQ{>O7^n@I&fr,?i9+v]w!UaƮvVEHٔG7~E?)beGp< Bdx NBXC6 M,Եj+t { Z@ؐ@i~ XP[r!FDs6. }B5 iᕸ8o͈Q`kXg |sw۝CEBlNVC'Q"NuS0y_.X56fRȓAfƖp'gMM^5=9s&0_;Y 85DvzV\ˀ׮ M\?ħԴ`dHnE'oyj K{N;Ć$×?r`MaG-I%4[SyDUKNO'CwKtb9ޙ/qr!t>#A2:In" G}FzמvNqT!ap2f̺'*v !2^WK)œuϚ aʆu=8fb1/#qD[usUcZV`\p=S mgp} h4mn&Ѝ9U|?my,h#O\Ŝ?wAxSxkhF!dQ›l\'zP':WHAWfV4m4JpJt ong p%s8gtѾ3νg\y,x789 ?[ksa0SKVy[:|gl>\fR\VL;l̊HGaw-sF#› {߽r@\90>&?Yn./P&䣞 pf4fok%XAuc"X5(ǀ_fǯ~,W4w,ۉt)-N|Ȃ^Dc)Լ E/X 1zW%;ESQPN&$/6g>I&6loR1\*z)XFW1-jCK=.{/U;h3䀷IPsTDN*YQDJ[ə }8C/ir*rNEDxНЖ i^&)avJgqtuV\i,9 "^!B>w<-(N~uEХfIJJCW#!uK3̓Pd^zv~N#g"G79`8TdHF/o#!s`н?6udGf"={hekADT,ɛ*2uNpI6g̖/&@/ ' ND&OWt}3Itng'; Hd\jTLw4u^8U U:/{goBee)(Xլm235uZ\G}c+7*JjVXp⿸_ {7&_РdNŭ.|N5<4%3Bk4Yյ]p˄XDAu$`o{H/-CG\Dxx)+VLV>Q@rt-rCT}@͗l+Av5OUV21Ka9Ur3JZK*{;/a$9XLlo}:ۖOGiC`'Ҙ wTIF_5GU,K"'=iKҝiO> l.iS5Lr[L؀׋û萻%yDH1q3E%Bكvgtxh`)qJHB M>  \48qQ4y:ZcVb"⇨!gY-EFg@ ?뎿F:gtUb͊, —i-b_"wV ˒b 0A0m {`]D@z|ˑ_}QۦԨ2~2>M e)jS2$s'k0 f# 8ё~ɬTrA܎}Z;贄&qb)*pki>?ݷn.1oSy~2i43aӤ6SnŒnXHmSQa;3R ؊fbE `bֆeDSꮸlU[q)bަE.4ԼԈ+NV(f4Ao􊣶 fv/qRuwmBŞf<[/kK2hI[ nl]'ԇbLzQ<r]6JTN,^6kJR-^[yF]S~oϟ6m[Aw@k!0{g-]2O(f'x_.7gVd=;O s} ,֚1x4' #G`WOőI-FE| 17-{d \)!y /T[L1NqJ鋀XO5qKT ֻ#n~E ?Pm u7DM8NDsD-0seu%%?p{> 7 Ҝo> J:cqfLׂ̖I}V` Vˎ.-U#`C ayQαXk0pCw="_n֮&P|7s$YX'ݧGG;>ricT\iS-7!v*XK6i!0 L#|+Sφ)HhqW9jDNB6:LTJNw*(m+o k0pHdSgE%:(o)$%ɾ){Np'aMv̧xg.Ӣ2xXY c?j@. Z;ߑ{iQ!!- FXz [etivgS x҃A|_ht8\MRWLܬB0쐿͏>Cɹ'>]B͚}XP>:rk`8`LKHv{awM)60؛6L?YR<H!]sƇ'glUGGE=ķ.3Gb.ZQcb\-s:SZ6I?q^K5i9X­lvk!_EFRjw| -\ KCBR}!Ø<%ǂp0DUE,7+MW Hz1.Gȝobn7\!kSB F~Q:@HFT, CA`\ABVGr!ILԑJ!U]R!v5.M9\d9^=P6C8GִKyH#!N;9&/jS-!4·[LIi(X G`@R+خĄdNkd-[lmm E[`J;WDL,%`r'>?Uhf;GO b.ܣYJ* n42 6\LMyu2)E9.g(Y9ָ_{ˇ1(fYL|S\wR[rp]=vwJEoB9 o܏^;7Nl9C:_o%_TK݃|ƀZ]lNwWb ho`s~YQ"j1(VdiTY9sRNoC`$]pL]jKHVbwC2>خu7BUM#1frqp9릁Sw #O c a7{fŧt !E[-_!k׌T,C5x>TV;n1~^{pmm'y4YTٹ}+MT' \儡9_!Fy{`Jh1<ѡ0T΅ܟj2W&=([ :C'ƦҵeZh2;u z/[[u.kTkaB1kR&}nh]tD%w?hXfgbg{!KarԈ0c;drmՇn3K 縚ʔƩq?d ΠA$ |&Ͱ+I8!yO,aw.ijc VMZP?M=#q3;Z҇zY6TD[;_KSMqbɐ%uK+E#3 *T$ 94KZasEi: ȑ0˓!64/$X AL\9Ś3HW(s6*Δ:B|nmseN*Lw Z\R :9\62ı ,nYi,)KilqLVUi9XD ΄hi5+=>i;0|;y߽pbƢ>&J }%Q23LWr' ( Pn _T'I4dJ-^@;yt]g1w2pVQmT3caշ\6O܇;NRMGG&_5VTvExv-C1wso?^TͺJ&3bʴ3%6Q&"N/Xpml"=7J22A] ,(n510ʢM޼kRҏamTkR4㛸yIډ|&mP'\sAUK U *Tk9N0^,f,v*EjH%嘹Q ܖɘDwū{㔐 ^<׼A (nS]/lP nn՝MIΒu4doAR 39'6n V&v6=] 8kOӝ$Ggg [>5I בN[dvq7hQM]-A_ ,_atw Vu;P`Q4qaɺxoGȴQx|?fўKD?wjW4XZ"סZv@E  iAX ZYC>fˤfC$ʒ@ /2)Lj+~ qw5yԜ>^Ö %!!X*#m 7{Aա`gZU&O}@03 1i@4{fރ H0d-,P ,\c>ߢڗ;W`H-dpȶZ5VB̨/~;zf1<4`* ~o|++zriwƗP={tV{1G*0:쀔n iM=k<{y.<=*`?&SIwY+|iReϯĨOW\(\J`g/;p!$Xf8 ՐxDb1|t9&\A;S~rBNy_=$8uu[áݾݲ{pqXBfSd(PYՎ[Aj6~US}oh}iJ) lgm+ ?oWhc|X2J;6}MOf2L=r7&=;P9sܑ1 0cZ\4 Lq@87z٪mQ&s]\s3|ŨeM }l*]c#%L?I~Փ*E'ؒd Oub&8H|7˕'^]q4Y.iĐ)EzceS=CD"'K)^6O!ckҎ&qAM$($㺘geF^?]kO&̊d7M}8,댊tպ>G3A[E!"7ׯg'\SKޗ[b0!Ôjf!hׯoCFUnnuӏ]Th).vzCۡMY/L.TܛBZrNCNdq qBnׅwC <8#3!iҩy?DI&qqpz+u*B}@Q Bp?X=8"xVn[p6fN4 Yp xlG=,N{#t #(އaG{O Th gY=+/sZ«SP|vH7baɜf&B-O̴QnҠCҝe$\4[w}|p sC'^,\t tª;r[\45WIğd &FeݏIFR*'<<>ҽRb7չ GB#SP}x>!WVp)o72ѕk^z'd!Z.<}ָZȗKU_L]#-ꨛt`)]d7۹ X_j-U=UraeL'6(; "Cj\uܣ?#m51uBr s $JwZ $klfQV I9S>V%| E1{p{w0k:qy҉}!;:dFKJ,CFyMl©S$S*(-N'eV;ʿnn5w6=j;䊫wTJoNOHKibؓ*YGA2brFX"usEďS&(*a2r+eiwCt+0!R!g3= wrB}d kW83h^b1bɐƬ߉矟-,V hO dX{lv`vr~IWY1-r9%]d h&InHO1XO E2gccn Yp]忠uLNbֽkEsk\ߵbƟ\·) K8}VJUy(z~%+D3;~4a(Bxc% =vʓaysf=PX}'>Y<99?1!$S#kkؿEnʱSLurmiHJF |$GdVT̙7bӪ3HZh#%ؤb޾OQK:9ssϹk0\&@ęv|Ux r>^ ) Z0v=.oZHtKق6Md_f*[NWD| yh$Pą9j9Hb>̽ ~$ .VNN*j>pS$JDWpxt7^&_hbBnپlK # I^c `y)PJ(wUjO-03FdL>Vp4nRGm\MC! *f3R_6sp?j UMfġuk!d,UQu6UMWB 4eҧ˼;䂶iXG^L?%TFֆ*"m e[I 2}' |M9#KɊa37ܭ2=t.!{Pd"~Hգp /9yxb|8g\թ| N [~ jɾu\^/<%jʀ+w{1 W? -k *LYDn p4dPV6 >NS_@S1/"y+2'TA4_ nS\lOփo:^e-uD[\UqĄSN%O ^y觧>##usbRRƹmd_A ]%w-=yOS(6G2pE-c;eZ~]B ѵb$(jkb NFbZbȡ*0*?^A2 xwNڍުi(Ph$NA2lHJ*,,~*eߑ}wwL[kt~ t뢙B`WbhHQv' 3~nqS\5?>?"^sMfgQUi$g%wz*5WQ͍ /|w LቐhL.\#o[C(vd,Ȗ |}_e1U- %sAl2e% BH y1aLHderkL-czŷrV&|}fF LG%xe,h;"~˅E/;f^O{%˳kaԨ+ؼUl;^5_2tgJFc w.cq6R2XH,[S]3ӗX9M+$veHpՎR|֡Wb z4^I7mچA79Pg=HW5&KhR`j'NVNR9שiD*MmU''L,tvw{q%rS8fQy KT7Tr8*HH2Rރc^4$.-/̒}{xC7T07E4]ȷE0Z81JIWVt\^"+wk[K'"JT O3homl4Śݮcnˡ(#3UKc胍[%~i`·fPko9 9PoKRi! 볼CE |+f{SQ$WQ BIl[Qāf׸MӯB_ nF' 5 ުVJf,6q MZgq"i7csv֜ky/HżB1"DZ٘/?]sxrwUXb<6߮4oj y)}磓#U5O@N\"({^q]7d~'Y;'9SeO[RU n,Lٽw +XG?3mϵϻ {SeF.pQA]kU@@u<;+04@W磖e# ɐЗCmWtJXV(ϱf;F#lх$GHG?)3 i[Rr!B?\D,Oibo봍l m&3l僛pDgȝ#5ݴLQÄ qP}-qLfqv0E_>ڝ]}-e5^Y;8uNYК.Hyصmnwl7 "@/Ph|&ijDw=k$W&kcdWd`BOqceg~H@9߻7ڢ;Cp' sq$b 'sJ<A~ۀ&'P<~"4´), JT!"* r|wڬ'cUt ׄ<]mR(3:E.2ƹNv2NK`qy.e44؍z 29 <2 ]@on<#xPI)63I?c6;'_ڇtQk͙+rQ$ `R>AᓭIcYBeˍ?u?+xg_,FPIYǡ΀1CMU{ZuEsEOԇ "OP9VWϳU5pΥZ"[:4ms҃0# w5nZ}8 ~ r.[K$(<ED4C!_-K6͘Bҹ%1$iSe;Ywטd[P {WdMl=* dWd|ڞ5'7~Fӱmcxgu Fp#[F}kKZ_$] XgVwAޓuD"m \`V!8̧l !Jʵ}Z̾8ozw{ysHo\,,VQ$) 3cME43,YSU";P "x[tv62!_i>#sd!) wl\豃ĠsPl4-mQy7qoKb jQ_e$}OzA[nD'G:% vM΅\sJtM7g r1$Vm GRm8esK:xv'h(Dcj*_{S{S)٨0;:IVa\W@\ .|/̲gXgH_BQ}~O:Ybΰ+Ź1]N !LO͞i;edIU^gn=\aگP*ܽ%cﳱ;r@r8ae6(}!+PV?ɜ`PEBم7D~Vj!pfų{zzڒ4kSwCqn~FDt{Yz?6:J{{ 7UrAh[jף1@42CKbtNW*RsY$ d?PQ&o|\b=`6Hq>849iNsの[ E,4W.?^ӥ *I!H;tgNtСXn =h,W?}?00_d <_F=>ESh|@ʛ"ʋxFX|P{`I)F:[c G˓d /_r<]ioŽ{Eò(YUQ(DiFW.cx 102rgDhᔊp%?!$ p>װ{1 *Z&r 9$p#_(˅ѕ~Jo1#)jtL~n.\H"ۛ{M3d|DDKlJo=6̹8^d) ?(,8Ġvg('=;Qg~Joq  HJ2]O7lMQ|!¢M6Dg=)û~#vљ{ t1w1%uiF^8:muM;Sy_SguDp3Yy5@c%u ^S{Ko wc5jyU30}2B`aދĿĘ~5,,RWOAg9:]?J+C$Y28Cp9crVF7E;8R;46p/pE賏ȓWľG/3;bWMC՞(] B_^\DF$Ckle֧!W""UEd )1hƂ|L:ꥎ{ 99 r04FI1d&V+iaS͐ʌr>Fz&&`,17ٓvȍqHeufINyPL2pXD ;0Vubؠ ޛqta{]%B}ωD A<TrP2N->n!͸C Rs^*WcxA1:`V-ܒ#~i#5 rAF<~2;|PH\Y F4%q8;d)rv[Ku>p[c=DX CkAb;Y-C6%u?ƺH܊$ѶHn#/7wOo-MsYV^@8,{_jH Ōu8p[lUdyz\!?|lۖUmUk)irrx/Z1Z(S-ad:u2닚d2&b;$iH5ؒya l3؈.$5^䋳-l(b|8 U m/@}^rVΉ̂|t` M/|~5Ѝ{ b Uڈ}U歈e+SIԟѪn'n at$q ?8(#%<wQ6XFOf 6xWwʛh`a/;=0w/9/TQ@@8ubKH#QPX 2\Dv6:p5Re2W Q4בeZF{OG.$NGR "gW}E F8_e^1hD"H{ b$iFoƴ,Z Jn#.&CA^4E^\k6l_OCiL$G\:"H('~[`ifзp5JPw y6K)T[ gERhTa׌IEPu3/jx̺*B6EZ*#4@\Gh#7P|:2D Rʘzs3T~HsvIT5k;ize_\~gV$>/cHR. X1U/] 33LrũQ'DR,s/ (\wOD'V#Wfu!GN=ESq.J{OhmvzY+#Wabl&V LBP{?z\Bڗ*vȼGa>d|Ɛ%G:9_Sϝy`Y mD5a Y[}OW WI ~K]?BBgS#b'K9?ZxٕH@8/l#L/7UlsLT±UuhE's޵ݣϘ)XK4az .[z,YxC^"v]cGBm[4fE ּ9g[H6Zf|" HѹXV::{"u!0J/ ;Վ F_({Bț3E (L( hci0/6c换YfoydoRIh9U944 &9QL ,?oZJ׷#:)AVx.P'o\T 2 佂iiu"$&^A#lC%et!>!$L  P|NG{r[4uc8ǵ,OYz'lp #):p# c2L𭋛b nmU![!q >.fؗ8x/;Wwm])w``Ia[bɶ0jx"щRڊi ݽeMH 6r&ѥy/+QU8oJcE Ԟ-E\jkmD(ae^:چabAV|A|FVm o ,ӆ~U_06[ 4^2ͭʟ4-.}`pО%9?="y=tt\g%eo)`wl~Q5x"XTP[iL:hW YLVii? +.0gw5mǜ9о~6Y ߃h\]:o'qײ@mw [P0ڻ*,Ѳ/"l䄷x `ͽ2߉unfP>%҉s%xz2a(=s#>p>VfFҡnv*TpJ^؟Zݣo(JMxK,tLr l{'Jz'ei U@oK'k[x7H!mJ|q^@]|K'%O,th57!nJUR uEFկ\EL+Q0d<6U]D7g&Bٞ'`ZC~58Sܖ-OthC ;l!N¨^7+.7JޟH~ ~;"m"Gb 8ke+q I+KTC2]m/ +`\wSp =:eVu= =I(e*oW.{?ϗ'I(mct-w~ef0j?y2`?YHq8{+(HG!,fG>'*K-@kWy@7I/!M.%@W *PzBI:\ɱ 8-|ѭ͠bmH].~XSF{oH:/e$> ”ħ'AVTC;"A֦)ϵp#>&BuV-ntatC`TOLX3k̻}\傸9^FRt zzڄY Bi`x,Y_k[WJOV3@Bs&>3!Tf,b@mP૜Ji-A䁷kfd`ezʷ͗DoiIUhDV+5i3+RS?mH}JM"xp O}b:FN)Vш Z}ćAF8)뎔?Uסĕ`=0\B'A딯)0}YtvN⿋0YmZu:$/&yY)+}?t/Юq%Z깕Zq*)"y:oͼt9XImߞeo]3}[uu1fX;k?c1KFF|7jB10b,͜pVZd02HMCکĨæcSDdm $Nj9Ո6zƈ`/(S-+<՗)i׶ySڝ~=I?UB/:tObP`Eg\7rD2gPn}e@:ZDUi׷$nx4 }/U衰L?IM.߄%g 91Pcu_p@P\oО 5 Nc}Zv:(N}}FE$ R,*D a|vή6H^,E#ea`l0H)#J'5zEۯQK89Kb"kNN4׵DqD6ù>(W^%"E|ӒDdvE@0>aZW2d#oO 9q&͹Bb!ɱ]6MI|mUUR$dBTE *G̋cBaa]6#;$9L1H _(QN` }+ ֠@/ڦh)#N' |Q]Q$ls' X>ukG*!Ⱥk<*l ~+fmt@[{wNW&Tm<\>pR@=㱖*/̆167C|.e%'.GtviLCr~Ӎa0\+zNh~"m%/**tao?Еzj2ķTi=}z=0U{zYl!^t,q*>~ Rt' KF/1ܩJdd;k&A2ۙCs!vl{7ӎnlBRaHL5AķRa?Pdif'~ꛑ\؅^#EI#ꢯgLqx,=H9HFhen0A)J>]%j̓ba!"Ast3 tS.-sK'jg@>ۓ2 qYx:#V">Ч@hCQ%$1Vs,#Jx#[uj'*l`afze5 ?aVC0-N㙦=>?s]]]6[ 9@ޠ+هM46?ua]QW%+^VXK]}tQsra0bDܑ8جuZ?%Śo;kq@)df]f-봾D+Z(X=qqc4qF`qrh@-4hC}-vVY(׸)W- ~m% `P/JNa$r̕4dl_ Wfkbܠ4o2]!.7<"xc?1)̓6#J]Gy톐Oz>B-?BBzʪ :>S,g߅(uȓc! hSm2Ѱq@|Nٖk&`-`GR>kf/ ߠ <*B LM^ Ċ 1*3pt*iLXէVgCUg=S ;ꧩn6;V~+0"KNB"N;2< {ϸ;0e*7uGU_K۱15C'[ 2s?\SL| 8h]y%ݛ|?#b jR\&WESBĕ_ Tۥdqxop'P@M s{ (+Gg;cJ8}d.[mF5"V*B ft!xdn#6$P1EyS%U$4.o^c_V60׬Q(?>LLG%j%zgd;vb -( )ZDr?m5I6t/6x {1dyY_ȶuB@_P Ǜ θi / ٪\0fu#:tZU8?? Ha@4{DJ9c^73(]?@o9DF,kV:'e/t&8/ټuip_a 9 Ws[#m1s\"Qbs?qVFxhuM6d\rlVӜ vmY$*y|#ɮ`[>(1/E FIKE4m@dE_toiLB~:e^G% ΰ`Ʈ^IޤAhSقxK"_!#cˠ- nΦk+ƽuLe`AL JOGBߊp81?>\R4:kM`m]4ۊ *a$'1 ?J%@}(&soAݭ^ZQ x#߯&2vS$>@t*4Cwe*v]qaǣ%'2pP9$on:v> 5E\3 l3L +%Jߵ~ UK{u0hF oyQ~NLՠ|~ux.w%LVoN~Jpx-i+k۶rU8YEd) 295_Y@<9GBUA }#_#o 5Q=Yyq,jMсf]a #<`6VLK+A<+ȱz! % fAqxDZ:vih#461C]Hh˝uj nNz JI"(>27i8Դ\R(;߃ /-6I_AG/'nڰҮxDvqJޫ< \Mb!tE ;?lW.AHR,Gj4s46s4}^.)f{O z(y I"e80C !*2 Ds ](0_=a;yg>9UmooRBŧI 66j`~.;FN`fy%%L[W [ej-2Q۷7OH7ߧx n.ݩ8_ mԳaЫ}sHc `@gt Q̞7W%e3~s'm*hڻD.n&UN⣲KFV9l<9 R~ys\‰Lvʴ`[sԖp r]1!w$TN|ܭR8z@OLJ)Tؚ+|sS«?~GtK$q.@xlݹp.FBa15> E,TڸL6aNPPhq1V[tBN\hRA͎a<뚕xehl聃i?-OvU`A GД\wr{C׾\¿w&! ZL mն1`}vJ@l${(/}BhA.'X#$P fN?#t Р8q>V8w0WMԧADyyQ.M6+nc8ߩVЀu*iYph:S03UجIM ;/]\ޣFm.{CB hyZ1:fwñBMkrP)EM~ՠ*~0!# /rLuj>T#֛muBz{^B۟xpgw?`F=#- Y0v-NaBrNMSXk'Y*u_ĽOIN+IÿK-DkcfEuѭiYK/YjJ]yΑF@cΞ=(r>W0AFHh꽹/UҸN 9NLG ?r Bv螢-P195FZqRm5#Gu^Se?2Ou϶uRA&6V()rk}# TWWd[T:LA7PW"6EQߠ %% /7*#iH_;ߌUvFԆ87lo18fVH}wwHYd.sϜI*zrN( [7\ n&HOv|ہq@s-# C?&KD83Y~ùVqn_w5(24ǽ:ݓF2} [wp (U ̪~E|d }*X7+FǥW1R7GЪU]-š|dZ NZk<R`WHk`9_^~ b,pk0v CR_iҝo?|?ՄT|O*DtOoJ>lz*,㥾r3+|h!_JΉ,:'H2jrV-;vGդ ǩ톩S"=a8;ٕdUk=PQIӮ/::_e>Oaȧ_; 1\8vS;v s*גO"B,t>!Y տ)qG!l^ޖ k!eõ`8QH-0?"40$'Fhuą.]S'z77ղ3_ i"G1 1>4L CJn9L%eԄ8u5+̲ګ+1઻G̡ X2SOiNҊNDTj\c#(悈)F H)Ԋ*e iJvOq7≯<~ sFl'\z;N8\d˦He.rx,ȵ|y[MXlѽ*)$γ`SsccfPк1ot1=jRAiP9;҅Lm/qtA%E1)8l{#&دI&iiW8/n ߃ƩlX]-k'P. \HDQߕ- }W&c$e$(8{7<[xbM!t벝&s~*FP!9  }oaE%àڬPtԑlo# >MP5x 8?'eVv p1zQS:UwcEv8朳+S,E8+:6U faa6[LVeAk,F.l @*9M\x=c)q'}I̫u*g3rSǃ(=6 ">=!e7_F ,f ,A-]Z.#6)Uh1 TXzV)4A!ip=0>3^`^%r [ F4DFO7n`%ۿ%$I >]f9{5jfS"oc0l煾 q~VRm+kp;{_X*w,؝^h>9&0l\TWT8mxp5|j1 {ueV\\T1o'+#0+_ETmf[>W)-%Gk@? w='+@onsA~OT ӤZdTʋ|Vwв,cis-nidckXfsr舭T^z9߼b+_y@UuRcFm򑘇vև< &Ћ8PmUZ?/7y>9+)Oh8@LXOJYN< BL.n?ل=R* l+ LsJc*яVk[wH] #Ď̯"8Ň]PR~(,X1w; X}zTVi@@فGm> Cp[NZ A'kKvj`b|bf MvfufU=*XEFQOK+eMx1ߛؘi%qt(?@O5ͩPsh{>et!QEon"mmOxoii"6 g9WSǯҹ $CDe~V%~w{3KT,̒ľWrZ>+=[V͊BсQFmX|6A%廞oOsЏt09dzӶBp[|$}Ф]ȎNC]uisG,m}3^Vsuky[8ph쯭Q~Q<ȃ_Pg8c PEEr!բCs2;(c m8?+øK^ 5(=$ZՀf>:bD9?)⑁la;?&gqܺudGl O>ecHąg)S349:c}rr^p3M=*C80mE؍^bH:}*ttYp"f y.tKtP 귻k90cVհ/ۏԍ;iL;3l5 ុ~Gw.+5cO$F`mGC T 6q&A5 FYc8WH}q-.=QOd3 gc#co|M)KevkP1>)Ɏi f~Wa 4kѽ;[_Ouip؁ƄH-D;ygL]z[<KLՋl34j1Xgl(M*ZXҋ=Vt,Mz2= nwoG+aaRL2ћ2$;)ob@O[ }FQ5')W.UXWZ5i1\vM ĥ'S(Z(MCͿ^HEQ拥bgǴ Hyt{pAfYsf̼.JA6 ^ݜ1UoSqQҸ9_[3@/AWڢn >ڭ^V59^HBm(-xIodV/ͷ ĩ h=.lNн+ԋS;޸5t]~.hNvbx]MHeu|ѶRCTIL({0nޤL̟DP_$XRAƠ-g}H|aOtSG>>~}wUגimfu 74 Ikli=yZ8Dū&]53<%|wJ J&pZT̒0w|y,! h+ Y&O(ZG ҺG&0j wBQ|*=<-1Ғs?Aw@my4fl]/vB!˙G۲?vcoKOYHeN3o8))) "6{K] ȚP_õ@wz8yB'F);5:3cO,^zs9 Ƶzsjɢ5Ϋm>P[6kyp W NY> (`T90@fV-Y}IQzӀd_LfOQPԵ-J6'cKhNrW;Q? pq1yAP똅v\ң.'fO: ߪ'M ︘g(ŧA=PŰll\ j#|UBKhbFtډC(Ր.cx˜̺ì7Kee6_O_gi`'y\5R9 -Ԭ$b#>`7Մ:qBYp7S %GZ~)_~*$vNmocFrW.d&{K[#|韚C 9dռE!-,D۔6X4B|l)]<%`ieV$l͘`~8(Dc@E:0Nz+ qCڞ >RcoTBhkuT,f8q(!M^ꮳDQYKDc3ɏH˦ZW,ͦ @<0^}r^jFpAzbLoH^.]f;EO2Q[9d#&w ~Zlg-J{,GR4T .h`P'- /Y$saA`V2iM'E{gA2m扦>3*r'WgL@a!M>i2LjZᴀ0dK/ny+rzF"DzK /"l=VKG(M[x7th1B8pEh 5Mvr^4}Lt/ Z!~ ʌKԀ8FJ"#Ģ}Ȃ8X%\%5})In׃.%񓵚biy."?''0|[#:QP԰9:P)~0 {9f6 :وx|.Nɉ 4ZiJ-,)0G6&ugz}4A79IǶXΫYol{G^#{``(uHK@c'e{;_*Gi'V1Gn7w62AI"ŕm04$3.LR] @A,@\%_@ajqn̜'l<vA#O^o1mX[~p(;CyFP3"zr R,sx@x9@k ֈ0k9$jߨ`<@)(IF͕rGg<|֎b2ZѠTo!Q=0lu] ^;yZ"?ඵ$(M0 {z')jjgRCżXx՝OO5dPb%zTvo |rbޓ pk"*޵y,6U.sC+޼x.+~흊͑;:Mx*~- xY-l퓹ݽL,>g =DZfK+̂Bpԫ Ax. /~_DYð,2 }߹b VV ,s;niGk\IvKm9V 1ڲ^6gu%LG-X߃ ,/7:+I Ld$;̌޶FS'+Z۲J_VэK0 WB̋8Eס8zMJT |s,ϭqybfk@1uCܿ8&saPM+W)gVkD?ÿd JlL;>tU+[+tRUxW4= 4yC7o@˟5HRwCr %.`-< ,P4׿, oI!%|b5m2}v6olG |;H7IvOT7k8DMfm!>b(LT!GE2p)(X 0FR0FOK64xh'\)?5 }[-$SdxHIydLaPv{F.-鯼9&*+ݑ1IVw2K;Htw07ַ>5?ѾFӇjn$uUfms7:ZQ*hW 54W z/Fǭ4JBmTA\+&%oG06Fkid,]ඍBѠ1Ja9Q~}0֕1yJbC>{1RvYxƒ8ů+]dMT?7Zj9gfW䳼$ N DɘT_Kì.̎zj2 uRt Ԫ;%1XU3JK^ef&Uh7Zs}0tU/fIy}0@&j]ۼ} 4D}m$⫹v}p++ޣ7H6dH^ )7<6J+kM>1M"Irc^UXUVN_ځD_tLлtѴ|*Xe4i4*ښ 7 X"RBĴO8F%Vp!C*7\kP]7rL؛8E2E-;VPhBY0fL/Ʉ1\kW::a:RryϞ]Kϗ>`V?kws.?')pn([RGfNb$}f>&6m}}E*O1SQ0nK}PM@ֲ?-Y*bضϪca$g0.וf3y=s^KyDşfS=i{qm9t g'"/RQTq$ypTSh3^nTkkF7k)ҕ~D#Q*r FEG*b!-CK\u*?0?Ytr sZFOR]J,}[puC_f򭹀=ZwZ2 toEukOƁ(O"(6_YS-o7wmGOQ.Kʹ_`iUI qL7Du Mi-yK(N>M#g^mlAvtG,H0rw_M Jk3r};칹z?  ꄁۣ<Ȧ'W?_ n17%,w1\$n{1Fiv^O pbqr$),orN_]W+fBO.g^Y\4(h/n4)HmV )~PrWNxmWAaohP k!c|: M;B`DE(A1T)u n*t#nV?gLRANZdNSk`U29[26| ]琺]E~skJnZLh#ȘeԄ/~Mxn6*"xfdBGiU={sV6Ph+i{a[nh[Oi WwaxkbƏY;b:.pIV>n/x*7J}-z(@KS唼 %McਠMOqdć=sR9JqWвNKqN5aP : R#ˆAI2t[,F]W.~;Po2!y+^OPa Nѩ6 ƍmC "U}nW%x:".0CR3wM#|W+^ G󣪶^ > ᖧ1ph]]x5Lջu-9Q,)熽~a8Z:ܑ*l\qÊ;ЫFnw܂{v:^(])l=G9Òx3m%nn 9”Y9K{uqZe4ceA$1nʕ)*uWSDi7$ա㟣_X-wj4ʹUZ 7[tF\0:#e LfJT/#bӟn-&m>?xK ?Iwp "BC,(%ձB(}h>YӜI~4naA|{bkGR)dIG@X}jLWlnZ=j O˜j /5;%L!u41[ji֍` 忍rxޕ-Jʟ]6wUf,tE!8]BXk87U0W8V[1a7ǎS(c =v #G"uGD kyjDZS#\n2Y!XӷO(ݹ+Ɠ-*pA{d4Rw 8T(OQQ.uz+tC A\U`ԓ,?cQLu"(6_ppmݤM,*sa-@lBS(bWI,:vA𺘗KsfD0#]y x.p3#ȑHHuvvd}zjVFbא>i pJeur/AI5"0r</"2g7Ӆ&fT6jafDu=*`t,>u W .?ǧJ;ރDtB)8a&@ α}Hf94u %-9E#|] 3ם]o > Fyzb! ւ^DS>Jpy!WQh:o^<(e6#%jsXCpga;G1؍ {ߖhPK&.ѻN$_K H ;xCOV7|S\(R WSAqba/ն!lM,EaWf 78}9#x.Bя+! GGqJR„|J]]5Y$U#F\ '!亄Z@\b'Wp'.? uVki5`^h03@ Px5209*$2:}сF)bƵwL jb7GuB #hTM53P}&Vf p99b_qKFj+;4UN Wl(&FdIw7o$E7}b8%"PlQM8z:ƔH-YW 9Hz0W. sKV_ ա}D!d(a`P*K,mA <6#l;fַ1/T֯-I#걌3Ap @6Q/:2OAkYTBG ^tYݦzO c{:%%1opz\;fn W5 W߾C#@]g埻H%:Ĝ[EvͿψ3Oҽ&2P%Su6{hozꂱ:)6ꋮcń|Lhޗy3 Ţ _fiڥ`㤁"j m}&t!Dz}Θy CFr OxDP/#@j㌱6$yBu9߰>@ѩ OܜHRHh]U1X 0=f`Ɍ>O iL|Z'E Dma&@%,6*gd9 699uZ|Ϊ*j1lYW~gpCoEh@,Gd_UlYH){ 2Dݏ%ͅs<eI y[,Gj<$1C([!o{b6<,a)V^3cD yDS.J5cy4wm3'ba/=m.w9SfR8J q^=w~du}x\a2oO,13-e{;J,vtjq3͌:eÝs},\Zlc.SFvF5=@-ͱH%:ə~-db FmFI /M!}ᾢ(3KqB$r33!:Y_j%O~&H@!ugEC.'x[׾i `_j1cHZw'pAi|"4ʰ@n.8'ǘ~&We籟3#{%^y/U_X1+xzZ{e\@7|sgɐ/ƔG26Go D8ՀOnAi8 fU?v.y Sߚ lRGDhF CR'!wG]$ٳl4r3$+.rcI(5tF2Ys{7sX-y=2ƠN˄B|q8Xvx1B~LIvPIn9' 5!Y/αMaP>|1H񠼠ߛR8p>E1pB>KIIgBs ϸrO(;PdK5)} 9%<&CTAGy ?)0)F~ym>fqK@P[ l`;ޢ]h p+ ;y`@ˈbj%zY(љA8( LrC/E6ɇBxI ?A ֊P9;xO+{Nd< #1|W ᨹdmF 6ʦ)X6Xyհuo+YRyzNUk &VSN{=3pPXB;VeM81SO#@?y+!Za%=x;@0[JiM9cO-'x^_*ºAACQ|7p9+>jB.[rra/E3G3E9ϫq?Q4\"BʱLgK.5>e;kQ[$χSb~K]' CV wod+wuvoח.otUmw)K.Har|LƪTR@[L7|{9G[% 0j\ /{Z {8n4m`0 *R D[|L*Qvfx1.6q6yF =-/|ܸ .6dPmۜ~x^ʼnO-dgk;! 6-!#j& }R$}!v_RYx. l`:SϮ#5)ݝs%N.K0$^Fg)|ç9p?GR4|ڊ{za(:, >⼉naL)B Vz_ jPKJkV -QrG9ϧ33fKpV_XzMu%jqBKhՕ&>v5!?~>QaIDLq﷨3+y#9sBr~YVeU: 摱XfEyK\s},][h:ݠ=9]f&[_o;UQPɿJUB!/8ZU5渧Vѓh}C YX݀MFVqbLs0ws(pޡdszT m [E12mE~!+; |/‘;ȒAհBZqep:6&p [/P|ɿIF^.ErC@Փc"P0'@L>JܭL;K+vٝ͏l,ePSxx8irA*\qn]:Fd` ee=d jFP K !SNdCGl5r?#.g_CokYqb W4AmH_[? ɪu<,~.>IyJ)I&~OwG Tr C w>cp)>}~,kus?!B>~SyX+ fCQ!3S)~%mO=se_ekLilc4X=7r l^^mJ y'+}f}Tr'6/U8>JǽFNP >Lo?+⛦D[ KIBgqG8V0뒌VLlS#OP3CO&œ?3 j\(6db~L'~Ǫb>ȷ(U})-h2nôhGfEBsBmZei"m oOԡ0Li0{\ ]zug< ;d5?=Eo%͚&F͡#OUj$c*NYDӵSI X( Mm0 {e%G۱/Ü~C5IWz9琓GAgv jRsnGJ ]Kʒ<|Va41Q)$^_}N17vV!*o\p|Ь?(b6"#YðZ(Moyg 7& }MymʻX>S(`۲Ynbcv Rd:}}VJ*$ L@ϒKuIs}gwrIBxtzwZ1dN~u1H^? 9ݮ ;[9H}5ڑRry|ǥ q8DؓV m+-=  uˤlva-gwfhʌ64O5І*;Ɋ" 5duK;.d5*QNr!oӹz4gvQdWsI5lDa#.[XM/fwSFhy[g:9Do _̒z45₢k<9V,)tP3tZaY3s8 mSӮy<6|meHG 3ƨ+rK?^Д=MBvU j72~.|jQƻJ#:$ވ M"Pac?PYۉ\Auvq,(tϫ SXRz] @g}*@բ^7>hJ$;RH"RSBhGt'H䫟ABȍʣоt(X QG :S#7v.3*/@x2_ ;\h /ZfO2lA>M6>7@z2eZ̝+.QLGSfA? >ap5m8}/Ijơ J6#o]\Z|냏p镢lICTЯ4{Zv*v Hr@̖hzA-zSK8B&5 HjA2 q2b-5L?mˊ.\]HX:a9˲/YG|7"O5]t㸡Wm5u+'g(j֬巣uE3`zgdv(Of #@ׅqe?F_γn38B(yfdE{#V=b&HC.& "R5_D9~;7(̢զ(Xkky9yi ֱ 7V> m  1M\NựʿE2[4T&̓6<` ?ɔ]DP-r"9xDdɯA H9M_ܠ/PVS/9?}#KM獰 lo5gH'>zx7G@8ZC.َ9W|cP*C8yEhb`cE,γՌ~B's;SQ%Ev`;a<>{{2[dK4Qd̳#+S^bԗV+"Sh:hҾ 1Y͟|qQ袮Lļ#@JG[G <#װk.5s_X>z%!Xx 9yps13$$H{bt^F]vLT~_^ (e@5ΏJɠm N<>LsR#x#h)ʸ2؇pI(z!qVo4zf+)m }:TgsOtgX{*v!q0-doL)@u:'2ΟESR8 SLbܤ{i!e8w;DL GN607eā)GHt٦#TvLdT֍(XqJ~DffzxK /A*F#!֦pmp|b5H2jS2 L`}tI7Q=YSxG_V=Gn( Itr#M7B+ݙ`DJ!1ES4mDм4*7A-,ٳqANnΛg7MȞo7~Rg3DJW87'wݣ;*lt]Z~ϑ3زxbHwx,KV {MTP˽[\ePMs2jM<@vS(;b471Nz^kjT `N%' e/\Ϝʇ/* tRɭU6g{o`<6we:ʞ;bz5!!o,g>$TX߱dAy?k4,c/7Ah1ϝլO :2\V|M uG&5}!}aB? Ί'^jo5p2JRyf:(7ޕ9 3+@8r(H][8;2o ,R:SAmQ$쾣Tj"+0S>S]bl+[2f#5Lx"HVw#خ,MWkK8 ѵn5B&1í(-k)= )跀y6e;0;Wt$v2> 5́ ȹ8OP޹ ,+xү n*gIסjل_ƚڟg+wbC4AT+BGߋ.Yw^`[pqGs'`/OZ},(w8aNƿV,(0R7d(*pqΈ$dy ׈yU4Y%7 9M#rf75u`gfIo{uXi'9 םվO~\sS`H џ3C> wYR:R3*,`۾B}cnOG7wsOnG^s%*.-F\>p5:v)<"qWv />/1e IdY%sPq" ?XZ3K0yfSs9{ՆoXg6ʩL<'h`E-|;Y a\kUi2-kدj pu5B)dj(*iȣי@X&~c z9ԝRT4DVI)XpєyM' W U쥊GO8gT`)eyIF_"!|̽Z;5~=HGU!0CD ,GR .;ɈոA>$N^o *鬆PNL Vt|6r'w>MR0ѷΣ~p_irN*&D5->l =%d]^:M XEqs; |u֏ݨѮxyˁM3 6幛'Tb8$pgshޠɖ:@b>F5bjaۀ hye)R r]he}\d `'$%J߿Ŏ^Em`s8{WJ@2f5ы*\7߾3{lskgUէ^P60uTcV6b:!: b^t`t2腂m6l.U?w2#zjye"OadV N[S}1 udft eCUmx|}gŎUJ%/N!v #r߻HUnMjX(`N m_R,+?5 (davonWf oԵ- ׌G/IElg*tqSJy2}`?Hjz,q:֠d"eu4~,%& \qTkG}}<]G:ۻ^r[~֥xk#1(Vs{|ߎ)or`N'x1+!IʸmPamXR7Ts.dF83̆z`6!e&*5,}i\BIBۇ:GwsLbFf:[q b"g"d0಑@iJI[N7`l>Lf2KNC&װ3,KJ2dPOiAٛt ȏ5]P) f *qх8;@x]o:AǡBhaKxԷ6ڍ8R\yaD|2<~t}nCiI%{^\x%*8ʀ*b|Kzuqiǣ /f*H&]sYCclAĤ.L CurV_d8WbZme"݃8 eGertG-YP7u *&`ȫ ߓ24X ZG3[f,I#Ͼn@[ 7xVBӄ9(.ۡzG `&?pw+^7j+t=wLhz=W&` SUl\`sP*׋;$RJ/ny\>avP,)I 4$tUa l&O鞯L1}dW-|ŲSt /iL-90K+kE7ފ33q6]¾|[6ckA)v(`qkX^^HSb)?n~K+޶Þ9L|W]_C< >4fAg.eLd(BfW*F,y6Wlrhωrq#?V俈/+nOޑhS! [ۺ"9/hP$Tv`bU0,H_ԈtӱR@F*Gױ=-:$c6fJ]YrEBW&p3<Ķ-k^! 8*ZVU 81}lm@;&љ;p@ڒA/HT"SmNe>ծn1~Z&CK[om>*!>ҍx ?ѓv-BF6 ~xt %E:Q4_yXjbq)g[%Կ">OPM8}`d$ ')v.?'N1' 4yz27l%LҔu2`J/G=޾[BĄ80oLBfб|6QCЗڲFiXg=3AB/ډL4ݖD$}o{~ yf+I".{A~E9EvwE?/l31|'w1Ib7[t9H5SYO~y8xã8nHc b^]Àmqv*4w-ӠS]+6,kT_}9@ #k$p4cF⭵zt.ΆƦU* ЪEb$4hjDZi˥B~0[Bpa%@1PṾ=$1fyI@n'eq}&`兀FZUG5(!2!r/fNp m'(~0͈ 9jCШ唋Y>Oi+}Ωdbm!L␴ҥ`\s:TOvf!:9] kRځZ|0D0ߘB6~GxE׷`O9w:oZ)*#ygxHU岘qYቦ%w3 NS e ieb47x. cF`L6dN+4M!J4o*HssxZ=^W?{cșagఓb@R(~NϚ;hw2"=!+]6vEw]QңӃ _넗'{`˺U)ɐ9zfXށUH5hM ծEfMzc_ňНŒo%a>?k=J5bb00ߋgV]1!Qzϡh:Qޫ :-/{Ml݇] J_FplvTUǽ/.!0aν߶e!m HMщe)ʛ.ڬgFr3ʏL_urK3BJ<јr!z6slÛ2^X" 9&cQ>Lu71Dfn߰). 1 y7˩h2+kX'(Ў]"Zv^9Pgیkhvmvz23,LH_aCB5ftH{}tE &Ii /I 'Jy 1Si.fk|]V޶PA:ۿ'vhy,/T_r|/k!PqB3uJ3|U}R\ئtd(6"FiQѺ6,Coe>e,&O1w"G/MI=Q0~T~fXl p^+Emt;s]ta{Mp F@F^LKA@ޣPB `ӫG!\] TLJ~+Q^4W=2[˒53vV#~]w2K.mtG[Gi!r ,ĹҌi#N9y3A[6vj=@!uvR\%GډZc|bB*&FПcl? VB b6_wolY<#POɪ¸d>azc>*eX >@Z2h.McD@.2}fV6QUkb4H6d sv{oc]g4:=! 28tBX.Tivj@HJT' JuiPFD\d34Qh |.W(h% `&1 kf"V7-ó渙Ԗ^#mJ5bghe=XՋB5#̔2!U2Xz}}fM2W=Xyxkr}veۧ%EY#Ǽ^r219h,5'|K eBt~PCz3*`d!h|}Aj#tS7V^J][躲D&X"ooIԯ7`;6y \MZӤ8rw'J9[dioj_EGRө ꀼQ$nxMjȑ% q]hUiUhUQvI5A1;]f2Ɉ:ē>٤3F; SJZx87u/֜L=B_0by nS'_AK?֌SPw9_Rɡs0jJwWK*rz*!_W,'};J!\K  m61攏% &e:mHxuj/ۊC/zƺ;ly ![FBrVS@.DaA`~UN -Nrh?5GTsx7IAq?ZXEm7aRŇOC:b\N=1]1fՂPlX͎鄁IE%HwzPp(Jav3FC@"FmMܹw6}ojk{]0Kjک2^a?s. 5Ԭ<&] /`Q-2eԠ6_1w 6 Qhӎ zڈ^nX(MSN(Rߙбj0(lW^{HID_"^PsF㉨$܅R!-vaف%>Y^6LC {4ޤ"^qS!z4AĊpUU[=]S+d[ltZwLacvFi;\Yɼ}").GOh4CYwߪǭ*/!ޕiXx|7($u}='aȹ8vz0=V r2_;a 9m;(j@U~ v:C6`1i~''EbqAqԺʮ[.Q@Iq7n)a7цzB㗨M nM7wHmlxx(/)$UsFt1!|*![&3ګI62?q*0RׯL:$xv\e믲Rm(NPl(zlHA)/i3]kKn#DS(mQtjzll'>DT_^W`oߛ!e_+XTƩi~#7`RqT+tq=^X_=7th)FuR}XhGQ6LԙO,Vc,F)3zh oW? ,G'”z .Vxk!Sbm^ q!jP1Ά)5Ss Ťdׁh-mZqpseʙ'?::n/}]lzb5!>DUΏXSIFL?&r8NMOz9`y1],-[/~2܎ ԯ˔yςwO-ys>s.6Nk |& m8/Ch:鷖NrA_!ci]EeP"8~7A{m6WU8z$::/l' ɂ}^ ]C{Mj%ARlb}H~Uy^|$9H^F6~;yf te>ŮX0LKB#\i.A0M^XPBG,II:=kʝWHXӈS]FP,X|}dazo:ϙB'/Cۃ j,f(i2J {+&Q!a"c?\BF@)v9__o, fy䂎]Y Q:3в0 +p*,\xx8aǗx!DChGL;LQ$Im7"v/H-dml_NK*`n<3 IW's!qDHAx(2EWPjR/}svH᚝^+ :)-W̊kx4->Š+5(7L_ Pq.uEea cդ*p5}(*S(fŵ$$M(ǰ^5 k˥L;AR;@'P<dـ{# n,x +ePd) "G)m+n ;p./^LĂ@&Ízcmŋ5)`te ýk5B .>GljC?~ W;C/}42ͻ1d?„'X$ځڂ\Ub vLFX}aώ4Y!ӈkI;dkEj2R̮煼 r'=xsD!wT(ǂSѤp}9˜<6ʈc[DC%d\5-F1)3)k{w^˱U)+5ftc"2 LfI;mJywdi TI!7CS+bS#nQ3]$1WEhK>9U-yHrۣ<I߮{ׯ 8f45Rl&:y'PFS(z}3(QXLzS>%_'a+ۨ[V]-+1S9`y}!s=G:b4#=Ch[KA3KӼrY3H*WdG(W[6y pyra- R^Z۝\F T,}3”,SZl3l4ZC߁Yz }GES8mGXbr9ZsJ|p*nǡHp{Ww)Z$Y4R+~M8wg%z?V+:%~:S*1B+-#,(ݡy{S;[p-O@ݜufk\xI4DEosN*/ΠDHOJ$R 9;W=7Pb4ʔ6|V2Ƅ֘Y#(i;PU䍏״Yזp\/hi /3Z{yjjrjBڃ[M&7o{b2$uL y4IO% W\r7mb%óaPf3,(*lM;v2")pBW޴Xقu+>~7.un'=G3/ώΫ|{*'gŖ% 7y@:p^zFs6qS:ɄaNi@6bZ'E,8#q$jnqo<zOT 2d_|Kj+} ˷Rڜ!tC?8K2a w*lݖCX% |0t 4 u'1$>Sô*ryO{cHZ/ӛcig0v6#ֺ@e\s: >(/0A4>6}Gw҂H IYvW鱭U碔B?9=3wV HGg@Kq1x≿EQn*[HvhZ=z?#>wgwHLQ A/[^x; ZΎK ,ZlSH$H H&КAL`3[n'H'<)KaD T{ xm؄ζ"϶m^qЃrVOmֵ *GQpˇ'ۡ+ڢVP 6QMps (83mݴ35`J>h6!J02wV'_5Z]+(܄PP@r5` 64f: ๗Po>s uH藰\ΖٗЍ0.C'V5잨#Kr|^<}WT׷Xkn+}R SvS*c텘_xYuFYx72{;LbBΠl=od6ڦ}TcD8A~D&NLP:);[PBLPpK[򥶛TB~ ujwN0N51Tt% Cb:ɸ]Xƿ %n9FϴK'yӥQGR\.tgJgwA$A۔7}[!3/2dݓ[|+?;ChW>|wXN=2./3zZ;%S)Qŋ+tI*VpZ*daEJn Brh[Xf{~ZJ8$&Jx_µL.g[y+t\sb,WMWU8r1[f "0}o9q^ho&HBRv=L`嗖Q,·DE$yeo4&P_wf hz!֞r1ˉRO]IYn)!vbU.N0"TU(:{Fv.W;wRw.UBms"LX4 ]ͭlI^]4 ă ;[\o f~͜d Z$ˀ+[9 I8v^RbHKCٝ'h^X _,($5E<5D&SeS#s-Zx=〺# ?}w!nz=Be׹*r­V[nU(R)ɥ4_=PSmZ}G.1@6A™YX,dEb"xh!T?*s(ͻ-&3H+Bp+tCRxPVҫT)M:r ϔ}~wH$5}PnpZc sIy(arhRi "%Y+Z['͉rgTS6~yi!|e+*/=qҿ:pp^\vn}fRKGn?#p"6 cP;1B@էDHa/A~mYwn1 $$LCbUZge\i r-pL=R'Cf>X]Aơ?i'> ˶Wڇsn-:ҐYXUH.{Iך-淸J Ǜ$0ǧm wNXp͝ډ 8**DkArYqBA% wTOz|(LCL3V2_1R2 Lc6.h"Ib^|\)>Wy< S4YIreQUT9#\gۚ>B-kf_&֟Y*+7&탷nK3z-K,A}N>6rkT>e4]i-O22&ȣ p-!I(R5[J7LjfzlVW27I\1ϕ7A<̀$Hf:j{-AP=M 6雾gT<%F!U%Ni:Q8I/}s 5wՈb/Ө'>FiksF쏰 JWB!HQс;K*@ |7'$ۢX0rTsb~r޷ZT9fSSkׂ7g"b7gYcz1`MUnT;ǽz$H*5@ns9FD:{$S3=%ݗY.0M^"?drZZdh$LDŇR=jr"U,Lsm b'ʑ 7NНpc(YYc&LuxH\YnUʹNҥWCeB fԑ_5O2CUE^?ucTūvܣYg!r0;5)AH pm>$|CZOE9VY-<r"@ ":@6<;yJ!wN'<М'˵,mfϨ)0rήbd#,/YOy wR{ )2,s=Q@Fo˖4 )pDr,4Y#\,Ucf0Z?F+VK<+'@uiD {bk}ϑX78c0,kHGf-|'f(xy: <%BҦTϸE:Rr ±?4+0S^1p{ ݦ5Laˏ)"& .|CQ݌0Z܍~D.pM34HZ_{Mwgz+#Lk1+袐S6_*šfqW m\w(t#5k@;JDX!{Odf)f'pp ']Lu3*޾,._zy6osCIFO 蓘l1p1bvJ) ʛگݲp=l ź6?V`6%E' ) [uژw%ܚ5ث4QRjM?7AKD,%~ Ső7e+)Ԓ`j$FHu L$bR !ݝj35}4;A^/4M %5l6 .}nefcV颎 l4"\0߇$#IWc4˳W{ٮnO'׳ae! DBNlgbްea+jmW5 C D:gFa>#"-?…Y6D Gko,Wly/RpF06`CL&]e\kUy$ӡf >k*8MbہhĎs;kÕr[^/\:5M M-pyawՌ9[־>T lkL"ioJy3z;E Db s$wvta| 5s=Ycd(dil˰c;n 7V[R7EjwԢZ(`ZWqS O5_h\[b){U^eK{QzDXU a nqS <^ R&=^Eg1grR៦s;/rՈ'g*a KGA,lKSȃeJ"mC (߶ 7cIN/x&𾼒ulx!>$S&UCuti>8i&Th'-jՃA!%,[OA<"1D$+N-q|[T_ 6 _\RϨʦҫrvò:q&\EhhJư]5Z`dmƨ(sdfqN[{eRRYD(/  ܦ_nofB:bnTڝ8j^->)a7nûME*8zJśw3G9w59d59:Gzjxͣ^5ZC7&VO]<*<|2ċE[N..(oKD!07 EƀgP[i:C%>ktK[{>Vj:[֫SA2D5GFL(- &Z Uz,y8(pTgl(ϹPڷǀ|0l%ݞr`FxEV|ȢnZ2XNLԺ@A"͸WWE}dDZ]11*_8NZv*bYxF7[] vkg}3v}2jE fz7ǸI+9^ENDuٝW'MfmPDAſby~ۼ(w3$) rq7]q8D;?IVkM6K^,'Ֆ{8ydlo'1L%}"'}Ν?bF u 嘜Owo ]viW?`(0l&̬cGRxPy,bRtյaB] ?/`vѿcn8!"`v?{ڤ(:m$7?Iz`wNlRcJ>3?`dzuh c?Y}/`^8%; `a)UIH~<5#U 'H}զA I>4:^>Anf4ПRgԨufKT-[;i Ap0>l `z)l,co!o.*$ $t'e#a%MUCI`+'$EҩϞxv@68OrT .0Eؓ c />D8T{:Dn@[!U=ͫo£HǏHh wܨ@Wb]eJe?yy2-?O=߽FCS c}l3ݢWϹA@FYh&T@Ъ˂]Smlnx?~ҔUXme6`f5hcQ)IP4Yq"g*# DWOOKGm2pUܡeApbڋxe^{1;mQrp9y볽(FX.ǢߺN龮SrAVVV{,֌UA<r]9a |qSIwfag{3ƃڨp/->J1ڒZ4E[ %_{)F.@hIK偱ҍ?dD'DNv\-q[޽*K翕gi9C#mFbl0<]jAHD9 #AieF`#uʢ~19,L%W(av4_ĕ%2ܙ֌P{r~!NiTJe-*;~z.Zh|SV$8E2XWj!H;@7p{ K_IceKp/\V! =A(N_r(DĞD?~O.l>O_跢 O(OF ecw4-F^u>2촤;`잊ԡ +Hv*pBR(+,x}`?)|>gi1|{Bv2(v1;OSXrAembœ ^QG`r;ٰ!uNXmbhrEaRt2'ɜ#zKU2}gi6~4 e梧C2ZdRF ~CXPЌF]|YF& f>B!F %Yc;e_MĴ||:_Tef qDq.߫syߤ BJ#x  \f2-(> oTK͂JM>j=<^*N9, [gZkx0G9N?'8va =y;B}BeN ÂC(q?Q,X5%'AkqlPp1]7lIC0SM}5rҭ]$@/4;J#R,YL<H]/rd1.´ xTdv=aqOL+j*NoֳY'^Ht4-/{B #zx};et&:bĈׯ1֠T#.Rq5ɕk̕Vm5rG>w}ׄ{E[v:=A+m\B:~USXpZ5cQ=(FY[C;Kvʂ;6E+j5j[.;ɫ_pB-R|j0oEa)>`2F_D"[ rb!Xڲ;]Z*s#q&r%7α{Y=@Sb q1.n *Lރ ɹJ1,Yzj{q.1r$\j^IeCdT.Mvľ(0R χ_rJ[fTi e{i M\RHs&}I}bZnazêQX96P<_ qW6搂HLxxntfB#:/u|L82UŶW=9*>Uj{fZoWOXk~&; `Nj?0G=ӊ M6<@ Nj-(X ]ʺTTϬf,pPRn3͠?i4"v\`K K>?"#ޝSa5TTv߶  L|Æ);Udv|C[CV9ΞF=X*XMY~'L¯4K^>H& 6tIgO ~<.w My/i;!6Ot;ja.kX#>to4TOFek6$ "Qqc(̞hB0;ɔVŲq +;ŭP\4obm{zKQ 0A񗈆zftZ<~TTBopF1o w&b){Wg(֙x4r!\2oniZ\vZ 7(u Q 5D ~NPFXS$<}l)ՠN9H:WHAkʂ䚭_m$7daq k΢OWT[]?6oQ|e2MuR[Oo@WuҐHW =qbk+IU2^uS'. k:B!mCg(|ONt+!i"Mt5>k/ʂzx 9WZ\,^ׅH567nu}0d!#1{uon9/Q$z0ʻ}=yq:44n>VgcPg_o|"1 8)0?YX6}o)0Fذ/]M>:;ḿxi?}̖v!rf&#SŹGA0ތC/H6בtEV Al (cƥ8Uѷ|I2>"YoŪM+X[Z-e=Pғ B\{fEQWc0zݭ7X[Η{@zh]"(8pa$^)hSݿphCWEo%Gc@/% gSQ~R)"Ǎ 설; z})CC?.8֪сYL?ݝ(SI{ ifWnz -R$u)5Ll63AEдЩ-Pc^)8'@#`Tm*I,4!)Yԥ[a>c,ύ}W/l&J}--=w :5gq݊<6y-oKyU@wBQdW,d4bқcfG0n5 %3h7?D_ vCǖ;6^fQVbAP5N 7Ewg*o9υBnؙ3 bsW vq$ @N[g LK&\Ojt1+z;\ ֣R?vkdzouE :;ˈҭ@8= H(?e;>=^rD.<c&YA(8IcзZHV-{yS1) I!440~ɖV9FGEr4q|7nlҒx]g/}qZrז2ٶƷmCqQ}dG[,N%uas{O{dq}r$ cz_m2Ky:Kҍ55Y $ ctk.k;)Ǚ6C8^Xt#+WG@?{ؙpF+pqdxH%>6׃cUۿ!~%%){;W"D[A;|E4I;j-H[|Us+j0g,ȇPT=_I-9v':^t{"Dģsj߳tINQX .8hmM%ad<#HqK5h[2"\ n %Ư'1ca>;^K( Vr`/119|q.L>WU}5ƾza"52RE|rt.Uq@NcxG`zW,|H%`BbSu0%"{ĆK^FfIX& r|6ܗ{0 uۆIA<5Q, ҤF˨)B 0-r)7kttGw*u2#s $מ!|% (x[;;ҫz(_-)~ Ϯq< eL}]'D! 9l=?9礚v-79aîC#<`OǃK}%W .|?H|Qmh(pn+#EktzĜ8/|9ו(=Lƛ4GBxQ:Ldy's@1nVR5wS:t> Ev:S|qVzٿ%h Azii-jg{4*I">u*D%tAV IT{#Soòt*cCj8oV bkJ$_]44XZ.'{L8"ޕC/nUw{%~{vT:@r\y'N}nʗސayYWQR}n5P<^,% G])h埛TLVeҏ;A+9U4ʒ*Ǚj\ʜCb4,أ` ɾpRA?dq+y~$5+ iG:` kYZ*#;nN~dL`&Vd> Ʊki_5@p1*{ZEO/ϴS\#lBk4C^(tu5(CW`VZ Hni ފV~OSϞ dWms=jg eЃexC)36'(hUx;;%ɾϣyCM k)e'E/mn)>D_#v43GtzXXfvirpT."d̆@N>t|#QNqnfў0bʧͪ,S2|J܎WHUKx3Ⱥq-40E2^W4II0C~`(*.R KCGP+`j76T<9G M89Znrn$0xId?Z}g҃鞌\͌6RVJ!%0a5lY[{0IU)TsMuF(zbedăaF(3=4vNF"f'XZu*~Xɾ!ʱВIjZ9+0~H WX(:n9RbK1H: z7ᐆsߚmZ;>ɕz/ $OlE-t&I9rt~9n~"0E2_sr`u 2L1 a ]$`b]0}+;. άtV녅Fqg쒆G2A ol6ʼnYoNd6 A'"܈q[PT!hg-IC[pbfqh@,Kq1^d/OeO=p?Ue܈ iD&wlzN}:%U֤ y;:CB SHC>2=ra(,ZY:P_>:5,4aGM9vx/O&p0XRn lU'+wAT~Ӝ"*otp[.㣨nzZhpDM웕zĖ GS|9{(j6pݎf`P\A#.3jLj>Pᓈ|4šM1IB {`!k1|eC$-~9MZy vl36cXvw @VIBoubݎ  ss?4er"äօͬE[AR.}67r5X}Spu4e+\{ܕ6u\,(rLֿ87X \"_ ˌP@A(f񐳸aUex]k`1ǐDǰ_Ӧˠ2Khss26.lH:ag#Š,.u sMD"Jn"x"Ѳu Or_M2aչhuJK5\+'.gv oR,۳IxtM`,ykm BkGl1VՀ-My. G"slut-*Co |+inkW!'qC% œF7 ; OJз-xE9ime_ bNikaY(csWdJNߤ3Kq|U1"`Gc/1Of?$4N}osݒ5pXxV@SjQݐ5Q\D_k:6S&ᰯݜG"\h'UZ;2ʹc2#ee-?Pa vho;dז0vx, PNpA^#m`.QoUJ5/cXtW>021nζe.p{N %lQ  { Xv}1KA\ ʼ$ \ߔqdw`îS` Eb Ey 'wQ-@ΖM RRrJE'!UKju -DS9x-bl2js-wpAG>z,cS<.z/"^@? Fm&a!W;LrYOt e&~\_˸|PQPU Tb"S$a:φΐ.ڰO=LN{77WnO E3ʦ: >mbdjo*P΍=3F͝yl秨YS OH6*wT, RvҬX ŃKR:,ul35tX{h'X(]JY q>[ #wsnIKwj\Qx9?  )3?M%K"7#+C-"c( DCyWwl^ ZDH&Lw8+x*f >Ӎ\lm@]%#b\2TH &7389%@i:CO8t@Ԝ,|z8?.Gus"iVSyfNg]d?%I5NM %=+w;{ϋAT  ԥНSbPʰ)~? |C+k7*Q?( 8l=$8"A,$: M!Uު|Y 3%x4D~ġ|G=n:βpm[]"-<xYpBt_&,c/YiP__;ACDoz\7YpQLddUk}M}+Ro'dM!u>z=8)(n`(]E.u[%c tL>4Q#8W#ہ\}0|ܘܧB @r 0k0z }!D U^9[67i_3;(%Q2[D"ϙFiJŻC&o막&^i* CA %`P эGA3\'|T> `޹u a9I#ǎ^_>d8ठm̊L]KtƳB#;'y|6)ٌg@U )&U(28E"Qw39sݾrF!mVmJzZ\;.fxn0war8 TŁ/|}繞Y(>!8mԡpq (]A<wC-r(fiiR cm<7g414ܼI|%nKZ/?_KR#eWl\w|CPݼ1qJyu!>CgRzh]πԸ1ʃ~FUfw=Hi'fGd`'k * MXXgVtp3l ('6_vPhB-oYY4IY_7 E#}B6$tۂ ;Pԍ>sV^Ve  QϠB3{S} |/"Km)T}㣠hƹֵv V@' kvUoOy3[74ߵ 3G Rivtf}MUfR`s!6†PuQOWJ5^c]D &w?)ݽ\|i 25"  4_3/C3My-[SY BxLWL |_2h1^ܒ'Y==M.[6ǘeqI5 dw$4z&ϑX-QEi PRys2?q*!0h9%l2'{Od>Xh걔 [`&XySa zZ7?i㾩Մ[+++4hཊL&RZ$FB| =ī`!>giZ^p%4iQ'bW(jo3L&YN6owg?u+aȰ.{A)a8`n-3 ۙ(.S->Hk,* „jIJ(Tm@rz\峨[wyR`Ul|&zoGEہ F2r.Rɒ &o&M#G5NʾIb)WڊMWB!97(xS(M!R +"d&j ph5K2vd -$i hdhG^,"|ݠuC.{!z@9OƷB' ޏ۹E=~0+i3$D72n|YB.B\Ě `?(4dkY'.&z\ȟxn9|of75ِ$9ۢ* 3IJtz'OxR p1_*1ƲO$ B7fx6̿Vp+qc$s_R̗&sͩ) N;o/4ɒpLX%]Ĩ\=fMv˭ݞ& Đ1:b\E/tn9 0aes;ҩWs*/3 ?Lobv\MjgE 9lEL$!hP (d:[czf?[u%giFP#%#Ux}F)!ԛlpZ.pO^)շ; "zv[SWCNZ9dC3HӮ174}JrAQK)'wHTďvbXIRG uzm181s:BpaO,M{}R;Yn7ccerH ]n(zu< trf{_Ls=bB H 8&ZA˶ +Ug~a!/'( n*0q?=VVMS* :u6j浗AJ6-3m%هWQ) H3vJ pZn,lb+#i4BM6[^n dAQ|KXˠKe[P~{!W4 LC7VtYgŮr-!-Hz&D.\gk{9VZMt|uLi b%9}ܯd$,TKƔbk"u0+GE"5p2ocsLZEr3]д1K#T43)g *o#L+"2hnM" y(EAF}K%<~4v{cNB% 9a|zLo`.6<DŽy_ J;On-қeKW8 dqY|ϖfϔJ9o/uW<%µ0):G'THqBw/K`jX{^BVnoFį5U'{%y$#YU"P\6q:۔9.`R;J1-Zci!a D0K'L#jpp&`TO3yiIљuLdy؉ hEl˃yʪNmvC0~̎M:z|}ieiR}.:ݰي⛦>^ryej&ݱX+C4lBk~@ri*Gv)fA;du5 )ظ2+}B9scŹ!g= ں eg3`ˠ)|.NxUrEÈo,)^E ]RH5!v u!v;v/vH/:#=wC6'6Tܕ `Ihz1`~7inqT(a wc[m?"=K`Y6r*m\R U:$3RG=x$ym0 g(]m~_SrkN)aEcvkj벍z^1.(Vl! }OR8sn hs+Od+hH["9ԗQ["ˋ +,F;y*ѕȥS| UՃ=Aa  Q$\aWi늃'?8Yk)WT>}CrKs /B&Or;i.xog&D7.Q!\-Aɘ~M3YGEtj]S9Óou 3ȄՍPMR(;x 9NFhB,*;M9^J7VܚlL\߮ؼHXgkifU*foE#}4 <}10ٞwL4ՙ!W7&ʇ,jVɷH씷6aFӀ 5zzy~f{R݃I Oש2<xEûNwx)?Ѿ.#|;mc48/-eK@,)睆B㗑.7lcH3 OM䐃,{ z|%#QTo;J&1y>˃4j]'i~] 4S]ը)0ٍ!@_n y˓%ЇRLx1#j=691G- Ajhm7E9v݇Hm[gh4wƕ,,EL]K |,$ {4VpyVmD;1>^Ƈ!c*I삪c8%qc/ۅǨH[6 ? 0Ѱ(zo j!mWf4gre%L:PP|g*Y<3 <_}J>-65fڒ_i+3_y _g Vp3&,o'ISeؖG`/wfr&eQ -*[!1iL4 ~7`]6U=\AeW!!(3.l7|ə{4Q/IUҌG gEx"+L|츚OH4; |/!~o5T?mʋx NL\Te {pT2gQ,z+?1}bjҎd/M$%?@"b6+<3xjԏ'7CGn dV%QT.8FVnF '&A L\|2'qQvEGyX&. .6JІu@͙d钱V$ M>* KU*%$&E7UK@t-D@B(V!B-% T>:;ZJ2tLU[`)x۰eCVhhvM [ڇ>"FHmEwhYxTU(/j!Fډ8 GUQ(\kg:CQs=+q=b(QF@갈T"56'ƒߎ ,8t9"[n6Sm d!LvAAuQ0!Dkۃ9 |:@c6nx &VH:2J8l\=;ajԢ ٟQuBSe0]lim~5Ĺ沽`>WX)B'v7fyͦnu-]np2&)xqږ7ԡ4GA<~G"g?3a "(8/c6| %G'ٙ O\MȂ\@2if0Xn2AAx6vMmU\m'iqQ-1nִz*±DӺg;.BK.vAFܗ*ȼhl;<:D9D]+݈M}{=u.AfP;%f&SnxYa _p;-qR6?^w)sBTx ABe(R%}nୀmt <͝J+Y,:%l쪉ϒr/"}g)䩦[xٕ۔5>(zzb}kT*~:߷Ցп C}M-T0ɕ}BB}iP_YR:S Di)Wq6ˁ۫#gyV EI*$8t < J9cHv_<s-r4"QObe)H8s$vp'02Im^aJ&fDԪ?NBAD۬ʣ ÇϮ :0GLA?ƶnW49K)l)I*jk%;aEr}!ý.:Aӣ,GelQJϦX'q"QALK8{W5WryH{"oPLl04nsνuvxg"]'bаD|2:ׅ4eSEq0#/WedJb~܈_MLЄ[ L:i᷸l_cm~hm?/{OAs:Ty#WTea5UbZ gjOZ8x˙+}+`N֫e;wNI3Xv$IAlQuKXiJ }yCM$2 yLfnܛ0m"\J\b)Kx"ItK)>>I7~{e/)H)Z`39%zfbtF&bкpv:w %-WGj1D{/O\%Bp [Oe#<40*ym2 Xdα{MeW~hJoیf ŷ.Yl25K_9m G .$1$OHD' ›m:4ls^!}jFv97rĸDP?>puF,/&=1O#W=Y0ǎ[ W7j,"ɺbh|Hj0*;28<G1o3.풻YL Ҽ8q ?p(ћQ&[7)eBrT5%C8Գݰ6u܆[@5 VDX(ouRL~WF,QƉ'Mz4w `5>7Dgg-l0FΧJLah:`BkHh4t(}@IUK( ӌR׎ÃĜ$mr7 B<tFKũt M  Hq. fI&xZ `l3}}) qȐrAPKx5{z Rm$TFi)0s7_ 0o#%|hKV EOן nv/偲ȃEP%8b`RعLBqtOffxG9ӎySEw!](,L/_n^7kZU#1\tZ=\yck(wZc^dM%[X,qS79dm'܆:HT]o1 ĠCTi0"ٷcCe f3ML)E6ZM IOl0d,숮'_7fl,Zwƣ@[#d ^Jמ [VhXHB*ɍaC /ߑ|w-ds`ݖ@1 _z~«t~~n*1edc|O+Z+p^SftS5m-lW&`SZ$j!WnpH,_ë|Vwvos§z|vjhH3 T%؋Uɇ> Z^?qWNu@hexߪMNdXtw L_yl: ]ZSjmfy̯/sb9o `,z&{Wg<8ņdA J~E}KGo:[yz=>En:[׃./^QIh9=fo o jfh\^'}U.값uh&0E@p}騪O!%_k .-N??悅^1M'=y};&z(ha=~WҷMNeҾ0MFjİςdj)0s 9 98 @H6o@Fg7T,w}B!pqTGe_p$3olÁ  1,Yd)ZVqQI~ |ˈjqS_Pt=`9oO#'||2qjm Gm7 ou5Dv=Dk( 3N"`H{mSkQS_$+*DcW[ȏH˜1H]CSe0Ş83s$NmFwԢ f^߲[vP"oؒF%8/-I{1tF#1hv-9G$ 3zv.7$yk<8@YxjYC{ojM˛D:z6 @:~R&AAu*2ƈ[@ aYⓇ[  3$Dm²m&<: и*qʄ@'}[C9W,SQa/wHw]Wqy oOWˀtl9A]'9|6Ez Xihײ2#T@UmmbDX)ZJ/DaF/䲗QMv'?˒,FQH;7r=8y?ۉSbYߊփ i%?jz>t)J٭͊kBٝ4Uf ۸aIKKmcdNAY<ӳw^sҢP"[ Lwfnl? " f뺢4ׄ/X!=Ց)my% z}MF9&Q$_Jtr!d`sGJG`Hpt{W"h1d[3JPNlSo7H L`zkE{;glڎtXTsי*n5!Xu¼Cm6C_rFKQ}_` h0\,m` V @_ |휲ɳZRVEq|[: Eqek;=uˬLsrlll1h{>;ut)˛Pz{a/l6" Pxi:q*<%.wQ%P:%jdkqX)}al}W|}>J\♴ P6S2ȿvgחG„K?ePz&%8>bS@q°h m.Uܴ x3Buv*:"(,gw PO~>ۚ>YȏԤAYNϸp&94Jn@rPfoE*~)+xvH)9u&6ejw@WPnRs,R3cfo8~P0e u)] XHcS3àU 20L76콻eb4lKgŽڏlrj~篰%'\86xRMhS kօ+zf=E;K4 N(7zٗ08TaD;СLʴz}B(8qB@m-\({kc5g:0md؂*+ggV+ŔS"}'ifA-Ek:#ƣ]\lCO5nv;9WfntF)aῗi^sRM@Q̟Z1?LHMdΦ%#ަ̶ǚڶTZhwykfܒ,aLvp,:ȘedA  H~ag$& j.+.p,e=0yF ^9סK kPxu;̤V嶨k!MnHWOcnNUZK'1-xt ^pJ N]N\5,$7A%4Cox#UnR8>ME?zu_?ը8r\<&nMh6T:=o{yGP0タ|5M(vwlխ<ʲt[;WӸCXU IV4S̲D[aع΂FS( 1n@b]?I@ZjopF@ϛD*H҄PΞT+.c$>83HY,灕g)FGooqC'"Wq)dMrڍ0ϒ g;dRTYr)R,)eiTnA?*䨖Zg΄-tj5k+ة__t^A[XqaH5 ҈vZgXsH2u> +VYBYQhmoՠGx~`e S)]AG6=OC~&'V%NP' 3733'ӄ He|Ŝ#CN+ZOeKcf{V*n~0jsӉ!f=W-p%zЩ]l dHMĴ5*J>KFCGtA -qѝS53Y8XG}yiM[ٌbBؘv 0Ge?G9UeaDCe9I/0x+OFi Ij'8FtLF1F@mGo ǒZ yW{M1l6l,\¬?Ν$`pu_d ,%%7dr7g2*Lߊ 6sI.gEzi;W&TSAR~0봩IcXgUD`;E5Ҿ5ZDi4׬>n+8|Ri%Mvk^:BxdmXhFbDFw&w8)qnTlOa#1Nˊ[=]4aDoert7RCG&Ta^1˅wG9&?kq`,wEu @5ze??CeXˏ*HR"d z8$qKuw4nJMfYɻ{.@a!huD6ŜM;/C-ԸISl5]<)63Ց9FopZ1dD};BSΜYJrFmy#3~-- ZTw%U[KE1&]/g'7N7 iѬqAz8rYxNg(GHG(PZJуӚ4+&J8Qߪd]R\Y+Ao=kCXzizx3eB v\ni}%@RǶ+W^iXvc8`P#@GAlCB EFj c ͫ7ôy8G^ ,'05q꿤n,Ccj$GixtVugJF:[*Jj"]>WiJ/]:a訌fY lyIpU3`t!D`laoZӻRuYwU: ;ڢt' فkFLwA X8X'f1d.|Ӳ a}f%Y.ys3KP2TY5m?Xј/-ŰѤW,11RG+J17R,mNVƝ3Ib\A-70'RY!n 8d8ϰOdAx H}7`;,<؎:+VL, &)[r~KSO&-kKsM(wu R)"R T G][ S#"J{5wUcC>g Lb &*A˛8[_NaB;Sr.lK^Y.pz$#q-sׄX L7t$e50 0Pj.U圤#L*q x7%)W+gɚas9V$8Zx9+P+Ml"ζ*_qZ LA_X^ ]Ӗu 9tg]I=q>H}78tnTYhK).1T3>'qFV1~ɀC?9~k*?hm 30L.$M›*S^u* .)>x:3 uju) 躲btZ\6w\RN@9Ktּ3}ѿ x xpusQpq^FԀ/xˈQ?ЕQwdžsHc>mi_r1r "7xs"43* f1;g:`jhQwXem 5ԒP:ZyKy^$ɱƥQI ɅV;BD`skUcj@ JZZ8}f T* [pfԢe-)oXbV\#3\L$qVPĘq_)۞vG\3c]"eIxF\PQ9J^!zTC0 q0x/Jpt慠m:FC`TL݀1Oݖd"KO~p@z y1xB(O0BO+tdyqɑ&ULFCj"o<ˆ)05)x(qr@ R3^&(b NLcϡiNGNUȠdǹː)尒Mjƚ|z:z<&`zh50;5gkLlFPH`7Ս3 "ft~8 # pϚ*6 Ju8`ܖx [%S8=.aA|աlL:z1V rd0HLM;NCPDyR{~4bpVrhAļan2w\yNY!ӥ`mg\,T[>JiLCXn̯.\XS穁A@WkpN(G4PoBNh(RV'-_5iX^;O,OJ!`hu"Hje Q/Gwi,%]cN?S*N’4:VU5~QFtW Gh.unZ O T*RXPt;kh;>G]~/L 5 !Ro\?Z_W '.cP?.ɪ;|U`46)?>Hz-@jQʤ$ii. ;+g?J!7g[9Їܢϻ+6 TLW̑^A;`8jQ*_#<1o}$af Nh@]υ/x9}mħZ{:KV]GDmN]-ݳ:vy{hx:||x(FM4F/4'\+Ǖ}z =d4ޓprSC1v*DYD~3 ߀ b ĢeG: %E8˱Zq!?͍g|6OUޥ(6ޣcN ټ=ZZ>lg8ڊʊ{[V$uOGu}ЄnX"*PdC_7#1n q!m={_=sL/=d,hZ/94܊1P,~RDTReydijA#>Op=rLʌhq% ǰ– +> DV9zO]NLx~a?dN<3W?yVR? ]~%yLi]:xx%A<8$K=;ópRaJ1io$ ԘI-in6cAzul?4ΩX/z5K["Y_S?c[6zqFGLU\h_!- +Q^D8vKfՖLX0Szb)B)I9IjPN2\Mq蟧M]esha|X6`  D7f_  <(",qnX-(?{%1c87$u$)gM1B\L0"v.ۮbnRe7,[ÀKӷ(4&!މ3m" RnA!g]l6u8{*|J#Z4 in H9? ^U_ K6 xO*FO˻; &KxmK1w[}U&WWn3 6bNY;.4m@8 H$fӁVy>+kԘ$vmKSF[߾EVraޥ4pl>|=G+U0F06~ñLe2 ZOh W;/x>Wm&?2aUՠ洙!<ΘA,FsKs?n;* 78 XT ;*Gk<20;©ĉM{bJ.3CLBC"6 քQUhdnPz'2!aNi_ ł外'Jq> )~G{l<5j8d0JRXqS -5NF\M]J]ft4TDLfGB3 ?{fqsnUluzo @{<JPXݗ,4ec:c߳h/j4r- x LX3Y%x |jΞI5 ވRz=̑?xJJ I8\{9L3^ @DLbR*r !,BE[,#kN<'-:i12_t`w965[c&>h֬ εxt?HS8 qj)WGi#+ٰ*#-*\ͽ'?`ft# /?;YoP RϿ/ *bԨ>0E{'Y6jvZp ck#z {`T(1?Y ozy]ШJMwR.r">J<1So:ߚ*ok?UJ @6'9~C;'DREr7$ؕل} .757-X^Vf eH=$k/,i{UaNhꕻzo_L$~lܗ$dBRHbyIH5{kOӁM8F '*z2Cޱlؽ2nJnG2{{od6hI>{;7|H#;&lټYFݏWVnn?}Z! >off%$to(X7w'[t!t64=`G]Gs\_YTGP30MY8CAa/w58nJ&C!}42Jn{_m c;}:@hp {%~6K)mR(=6A#P&VT>B{%6ɽ㋚'sFM|@;cEO)5x,&LmLR6m#hʵ_Gy/os"\6Te h8yvHg6pW4<Œ|v qz:vH2U[+|z,,kx  [%U' NQ|݈J_6نXh< s$Sw`:x]qv`zk'7h9X[S1ND (??؈ }WPij2LZo(یO& PT>of>› L 3tsphi~xG ;Y1MÛX*e 5k q>EKޓ#RP]]dWnɻ=Q=($Q]N?&9ý A^Jrr? YBͲ,uL?Rr .)˨y.?ިef&Kʗ5>8XW!wea# a_Bs `+UkH9DB<ɗ5-7~vP2s+85B^WdC-" %*`wNL9@%c:tÐ=B uc+p?ྰI`pXi'FPp_\,ΐ-}rި c#J}^ȞZi9~O}D* ʌr~ ,Gb^(M8Y0a* `sӡf8;#V؞7oefЙ9#eSTTU䤢$+ODnLu_x18{.ؠ66De-K3LYUݡi=|- !rs7a5Acɑp{Yw)X\ӛ&iAD6H`cHFp}^aR̅`%|P8n̴]h $->Ĺ5$m\Y<ChiN-z~'}uYSe)+H}WYW:eֆ#= pFƾ6߻W&V=]K FhMvOVi tP62I/z[A3nڤ|hi=p@ԼH*yCl]Dc,>E *׿Yozn`$Q!Bh-SEc)O)lj؃@ND,Ct{d.aJFϨJU.p>b}3U%(8u G%d ևx}ݴp~K4n#Rp˒ԫ V?SׄIXbA{{RQI B<@ۿi+0zidpKG)$DA_i6VwH(Ę{OXh%!r0X?`jX=z"C0Ꜻ8 #k5s^CUMRl_>ӡR5!` TVm#m@?@ރW*jWO4@J x  d|"d2I} lm %dFP0 Ĺ9m66%s: (>3 =˼EP/trS/!>C"T-+/ ;'tR9ΑRd&1B!rqбF!#%blg`+|8,[ѕqdY_s1¤ju47u;E㰗B<šEvV;DD:L.G)YH[^>RcF52B &Q4. f֐N^ӰWN`)=*P#w؏wЖBb1JLŘ 7z8@S،g>`/c7K0Bp2OPGiNv? >$S#q)sCVJ13i"!J)/2fK峒6,v$Mэ>3~:Ibi> Zl%%>Cx%pvsN֩ _cAGyd=>/sX\>(fuα&#a\W[`Ο|']*O=N A"y_;{ĢxN=pf4kQB%JUn}/J)9~bA{dsK{:MmIRun]_fC+6.Y&>b TkK[8سDO` #3(UBԲtވjNӗ|ªWW&I;xzp -='zGQ,N_ϟ:8sF)Za[dfIv-x_"dY4}8a93vߡCܴbӭCnwxTH-[% fi AEs*'To]J8up玹nVلJ{{'{Aio~֡CPT AZ C&= _P"bdx>zM rl] [)G.]c.Hl#(#ue5ƞ94))1aFK.#bQLYH⋕Nݹ-Lg:"-lsGsm -aP5:P\ .Yi'"*HnC6XzA?!cH9_DH+SmkYhsV>Xt b: ٝi[R<WHv7DjU!BP˱43w9KNaZ`^8Y>'>&`pE ?cH<{]*)4Mn%fһXdY0f|aPHcs"/}N".[tdI̥4m7MP`Z# _> fCNJĪ.PZ !ܥ%aKzC/;"8I`[4SƓYz|Ig" Th[DJ[D@<.CF KfaZ :ZxF$:1nXѡr)7~'Xc"w9`^9jؽ+yJ匟Z{޼ϓ= Q_@yTHtXG N(0UBf{y9W;~qdm.¢,u(^>0*PqJV;bPwJO#mid08 1bl(]ԣ]E`ysܚʐFz ,mՐv4W=oү)GFwu:j?ƟedRXf=vJY|ޔiVہ#Svb$OO:l:.O|=0H;:~SKZȇAlUwڃl./$Nj2!X'j*cnG߻w <سf%:+ƓnY C_0F=ɊPcds1BCr>$/xG u=KÓ@~!+L g>CBXӫ$6FDLD )Gjq||J"/@iɘ٭IީN2!1=3{ h~h t("l|i0 rp}B9ڧ?tWi!5=Sk՟ ;@a۞TKRQSw`7R1 KAYKѡ*%.<Φ$h3>4cklL\O4g^FpvfFoƴ9C0l*+;)z0q®)m:}^^y/e?Bϋu޸šHk賳5с?!T  7쳅,*Bv#Œa4#MrKZYõ[eoOYg|j1ЈuNpב[vpNi%,/z]>~/}f׷Ѕ1R?$_ra%2Oٕl*''EXKuT'?vĘhoV\am]cPQɑ>F)*F 6? *DiNDy" ȠJTsI0& I;O-F:44ZԦĶ Ӷ* ,`iu[E22*Xt>)2M_46myd!r V"l^6 ,$R.Tk5@Kn*E69 :ʖ : 6[F;aabmZԁӠkf-$ҳ*胳S> Q~{&w)Bo,;4<|ab!kR71du̖VطpZc3X?3/V`2 WS&wr :܅)AdKGw!;Z6?ku󡬽},؉XD8YT9ob(&1P_Й`JO0JM^|5D8 G)Vs4&'8ӱo9,6 r>cu.P=͞@NCKsRnEO9dUܘDNG)IG#H bc<R3a@  mQ A%oʠvnױa<*dotbۃ} +Fae('P mj7g&_c'+k|;==rH묧KGsz,jMjorF-=:WȋjP6) ]'GdRk" yxRheeM)\d :$GQohbM]҅;){G9ۼ{tmFdx IY'*[]hB'dOp+7Fs$.F*,v, Cy8bov^!-yI[q!k?I&N% [A7 d6n\O7OA 9 @Ѿ mEzCW:7x,֛EarۀQQj#,hyUY ֥3] F 0 \YCq=؝ N]ΰXCɍ.{tHDM.kDܳiaKUǎ eyx^FNE(OQ`zA x?QZ#_'}e+I$2j (]&}mvlOR mW!S4̷AǞ~ʷD0t14| BC`DYiIrRƴl4"fnX/FW^OZvj6A,ÈR1e/|v#{жT=!>Xioq>뱃SS5twrQϹ#^byeF-V;QP'WeV)A'8FdP[d*zjU}!GDD)$!hO[#K>e|]ҫ\ǸXHuОm0T2DҾu!*K5'i/QN-H~/s&GcT #O~K+ۧFTZ#{9Ej!4e`qed0d8ۧS_s,3,B-y{>d3% gܲA*($6 ;QpM-0.Uuftjk.՛\_-D9`^L]catN=Uw>:DŶ=(sq/%fY]lv逻Sƽp$M吠ңnڤgQz.)5 83tDS&soy32?H8ޡ,̐s8OWֹdS<[c`l)i_ɞ'!mpNhx'n, 6W% ͫ"T^l+19MsK Z@2b_g幘'nfeA^u(Nv^!_xn'MCC W20^AL4qzSbZ VXD>ۗ HUE_Qn}su'e4AxR/" %!+ *3_|$e>/ à=:&k0:w9Q:9=b[NG4/zy7_?Wv ,}]?,i*Κ *8zGR5avSIȼ[%+tW첾,(d&!`H+ o;N 5 ʐ1 ζx|Zb.Dž &L(h AֺP$U vFw$,7m<p#- E}4Tm:sQ'4G'V:C MyJTլ#`. \J8G Q/, n&Ez<h' #$tx] oK:G0\n.jbd\řnx+qDqm(ʒ1f ΀P+@co^D `ET ڈ";ki7y_!<0e l3g8g=y"sĒ ڝ a` [s3F 8.#vK42dq.e ;qIzA$(q53|9弝œ GWܣ+hSmиŁYp<œ}<3SB7pf ] Cceo K+( ҍzTϏwxh>7m<;򲶛;!uun!A7+9yv\<&J-VV5t3ѿ%Lh͂N+3: .pdἺ$`Pw߬Fuw<5?DmN3n8[ƼđL -/ǷrP̱/ "r4m ŀ5-‰DԠ3"gx8sEij:iUN(s# !@Bh9 A:wbɮ$ܚZʤ7d<2KE-r `HVIr(ߥ‹X83JR]ɝևv'A}ƤJ1 ~*HqlHՉly ,ng[>}%wZP>73GgvKEwkQэpR9Q0Y02c zË5E=::*oTpeЀVx`Y,BH$uS4Py/_pY! S =b ͸o.rFsոc |NWy.xVuC3bTF$uD^U|?&݇כkLDخat5-P@Ҋ2ڳ$[V ݰ>p'&f%lWa .\*ij59}#F,lh 8CyfO;8ޮWdڶgEI n!J:5jXހNl0w Yӽ7Sq;J:^Q HE1|fd(Ќ7#_g~LPqxI_A։6TL#Je*=B p_ r'J] r:Y]ֵ_&DgK5uqo"[~j ˔6;Gx<[w .sp.K8G9Pv&hDTv^ &)t RŅ@QM%8$c9Wk(B9ֲd<|NĚo$K>Nj> 1`;o__I0 2HT>0VT;$A4X_N4=QX|E-1IW,Dt (xE YZǪIdcT-PԸ_=Jp`(+MV̺U̳l h O-N,D+븺2R=u87ZVD)dM"_D@R"njbT4ǦK jޖVTݢ/i!9L?"Wq{0!fM؇*~܆-.+,y3 P#:55!x[f79ʁoCVҦ`v"?GB- _''Н495`Oә<& 9Af$Dk 6%r}hdi!`~fOQx '<v}IƲS'순lNR NcE ׌{J*GVqs ?`a.G TCNf݈w 0CKǥԟ?XFq^I;R(U0ظXΪv%g)u{oO7+6vLEV~2-Vj-Jc%iQLUFuOG?;Ñ>lK3ڦT%[2';N\}vyo䉨p+ ܻ-î{E"Zq*or>j࢙{{*KaS=O ,(Zn A^)T6_ 4)H]Nr`aJ+Ҽ3$Q( OS>Z{uՆ08Eqprũ̃}7?jfה_]'q fH#/v tpp td0:-Qm?Ch?ĽlLڄAJ1ʪ VoxK=o;7̹'HGGpнuR.Wh-ѓ_3=.Rs^#u@~rF$&MUb!*k,ݨXt g*Mm80i]Hf4]"d-.}XU]q쪲H*`S_.;>%q).2s*7ivr˸[&#.x.!*@Eoj[!E'=HS7lК:☟XfٿTe|`$@eK'H|_Ch$֊C1NDUi^\c}Rc2ϷWQo6u~yEx dNōG!enQ;7R):<{6i /{lʖ_#nN2XW=BY oMb0߀/:CpO½TUZny̍NIkrо޿PF |ߌMcl<@ +5#VLd?$\),J4OHiHSc>ٖԃp&pXb))+R SY`Ze7ZLP4_LZtNȴud LӤFirC.iLyɪzGi8U+3ԩ4Jx)D fh7+ׄԆRz|-i̞s#pZC{/!Vev0 ~{"۵ 8.VsA +EKlP2Xx~ۘ!?? r?aJ8{"7DLj md(BM+;V@):2s$D:i !k{23)ܜ)? (r+_ɇ*M]z5?XmQr:%̟*n!s-1ǐy]a!-pZjx"2 M'6)M8|Q9VYPK>tcLP sŨIe`|~0W8W)hi̝c4ĴS;J'ޢԴ͢hTBPhɕ"9JcU82hHD+bR9]2rMIX &JcU_%Y]Wrd}= MjqLwЉ#UqLж2\HĐ8 _g{Q|OÍ I y>[A%4{_g>oYoY<7FmʟSt,`k|8k]_zc P?Ĥ2SX1nՉ;J-kidfbuIje痿j-]OAƈMx jtu&Y?2 OE 3%E-B~y!7AL<%hJ³E3뜸7"Pibu% Ss21QywH$L*^u:("iZCw{.$AwK͗)pShObF̠mVd O>siprluRMPQÎa%@(9Dz t\D) k`Dⲽfqk¿ߐ.7|nD| ROc3<2\ KP(v U@lZR0X޹%+Y>?%YRK:vR&f18JhABJ6H]nz~-LvOQmԛy|N\A,1S"R(e0Aр3+}xXCŸe'"-R\cdl&2#],4{{D*ܰϜʠ("hbIoel2!c PPAb^e(ȓ01mGcED֒9G6!O}NGSḚm-ahĨ13jCh#AoO*j=.sJ3:q4W[7Y`B$Z@IG&4O5㚰xkW6:s)(Ay)ö]c~QnoeZa0F!<œߵԉƝ{|C Qow hQLQI!L6&k£E2O{)2\D.̯fΚ8pLZ#;O8E̡4`vT0vZɛ4tBWJ1EQxsZOj ѥ!ҽ//Ya3Y:%_Agf o$V˫cD{Mӝ4$=ž"[De xJMR"/t3`>Z ^:Th߄U8 dô ~]DZ5§rg_:}TNKn};exDž'ɼ=IqXLARs%C hh kCShZ6I&,3LV>yɭ%@BgC؆(1?$Xp[ cPbOKJ=GP8L$&vi7E浛bΝO-'I*)%kǹX0tnMIJAf,_ 6-J\ ՛ۺ-ڦ;I? Rv}i2 Y|uN0Q/ IT c-MQ4; š{Ĭ[Cw8"qu$&3}ȵWV*Dn3 MəFnWY€yF"kvnpND#N8C: Qqh֞ #bSJ,'(ISvCҚldm?0z3s#3%7f&P;杨u*gH8&^Eg11 ;sUĵqn^<x3yre= fAPOu&ΐ8CV[*dkⲉ KhA`7'ry;_f-=^CؘV'p~0]02-Vw16Xͯ諛4|AMcQ:fS&PFnHf+ʳgϮbxJf M !N5-MB.k{ 2IÆ#-o&ų&gr0P{=S4%E4ዊ0[^ Пf8L:w,-q#mh/AtGWI-43#yBOӋ)ɥr Qy2ez:Z9e}Q>]~AJ3;Ոy ,3KpϘZX_ TZr`0hPxm y)JH^(kt,FBWtVipՁwMHutH(Fߤ:e ᩶׵=kFEa*4gkSޟPʇ, ۉHnpm;}woDESLE$%$$}Ą#753I S3vZAbA!83C{`&r ,sU>i+Ru pgWi' wO)Vbk j[ "B޳yIЅɍCURVݸ > MQә{1JUW$zh "[0ىnN>faJ/1-$L:>spQ3Hȍv$~9bzg?(ZaǍ7&=MXolu;~'Fm>X)_֠(4mQpVdcB볜!%|_x˟8Ŏ|UdK%Ms9ifEOi~ldM.>]i{tg[:l;vVkD"d=Û:^`ic"xIdgf8d)_ci]ખ'׎g4N/CpL@HQٷ?FMmt j`VqB挊B/F 9Ax8͒X$AKDBt3LB )~GΪkhH7ҊxhC«n%ös7xZڼ(oА.Z?'aECЍ1>ZXi>ι+"~Psќ/[j3'ΑM$ :O jD=/V0IC-[&Wa[5o;kDmH+ی]=IgZ:3qgv̍,*tBL%Ԟ TZnm7@h81^Aa#Dz (t B+({|zvѾv?wUwJMR~ڦϻJ1zhkkIІڱ!S lo Wi%L{}"J'毯r_O;kea;yAF%EHA$BC#!`>9ir vA}/洆D'Ww"5?JViVa9C`:,66bA|Wvk܉ @<1 !-Ĕs`˱|@CT,@qTrgwFF|Y\TJiӊB| lRtJVCR^io6a_͔o,^5I`G~F'(}$|f)ـ h(8dEyǒ=N lכaԊmfت`!|׿i4o8Kp%̺ =W[*KKs坞 RGDp`5Aqo(a`B\6.ZpS!;Ы5QS1ex?]XbnYѾ`?Af8Anد*SOa# Mfʖ ~e?`R͙ fRGсo~pjfQ;$R (4Ͱ; hT Wlf/,xj7⸣ hôq*,喳H:Aը&a>\MBV˹АDzmNuJPwKLm̷dG>W ҏY~?OM=oVRiAљ xsW\ۋ(@ r%΅~®9 hlRaoaGSxu "(6 Q۪Ltۛ=beHsFwc !*{ MU7\H=gu:ޥ%,rS,p'Ihwk$9 SȀN,nK w4q|oWa\\漕ZR>C#Srܱiݍx˿L'>Z"I۳n$7 gfD҂i %Uӑ,wnqbb=O} l2,%wy>(l-HƵ e҇dz/==uh cڨ@mDqm:aEAIOrM Q % ]9#vWLo>ee~00I'Oyg+ \̓ƊR^LY(m z||I.w⤬q ޔWec(ɻMZk{|B"-cXN]vn9Nw +\s}f=ZgTs 'L}{<֤dqmt4c$ K_>7 M^I^fYL6MJ}t3J#@L5mk(8fuDj:(q]"DKC~A[ qp]>\֝iX(FDd&ciđWD54uLT^{/]hhHIF Ņ,LYFMӑ,q>}A@Mz3L,T8LC%%Eb\э}J&$wxST^%&pki* me zڂG]*$o+՜+YzB%" |% @ z0:יݧ}QL.vTO1LU:RX1a>-2?6<> /Z"۫i$xnsyEz+!$|E'ʔlT~55 M+@Ϫ(>[T\S;?!s+N'fI HQyNإi n*c*v$<1<=ʥ8F5m?J7SR(Hn{>qDK~໹@y;;I;Pѯʚ\-ʥ\2,J{_V6GS#3#ePoRC+|/zؕ]Ly<qa !uRjDT~ٖoDΈ8ky?c@xUnp./Cہ~cLΒF.`ƒ֓[6l{U_T{J<|U jYyK_Sg`c!{s0PYyI0~8#!00jf0PL3s9d<M"޷Pvϙaʧ 9M:8aB;4Aj\/l M;;Z9`}7- φewO61<%- W;W>tw ,t+Ya=c%"#]X%-RL{&? ]>DzER2qsМڋ:D2"IEqa2Hl/Ä% tZj1 0 1eAb_k ҿc~YƔQR`TB7.) rjUApAY5ᤄ4R2r9k4CFn2(+֨4̌eaNP1f!M>Bc薊z-a ک<\VJ_8 ˣ{ǒYt@CLF"a/ߦ?}/]y20W[yw6Mٙ߼Kn+KMCHU'ƥѲD=MGG00/K?;>2~Ю, p)2+T9'bE2w ^T X8fA-'nkJ%5<0[p4tS64~|KMYR> dЉsB'T8{1V ``3.w$Od :u% 0%pQXݥq6w pyڠT~`K FPn;QJ[ EuCj^f>l}P3)J( tZ#ը 8,HDP+IH#R0O׭؃?q/Rv4GXX@밋ANR:!2 y8(LvX.xԏ3-ѡ\1t0QR^@b뙃K Cbwo7#mr;b axJ;<1[^L&¶KMcu5WXMev :sm\z|:sVpX2XJU;}\yi28bѣ 1?tg 9"۳,npTZ*̟P P0loL=zw; 0Ev~>xٖӝj¥"LzYLpuɵ%3QQB3[FN/RCg7 kRj`Nhq(:v) OX88ksǮ(0X?,6;O|OSdHذX"]ƚ1ʼnOt2eΎ++>'Z9(V{}&rb~jkBq}Q'9#bJ#%9 w0֩\FUNvBL8Rxx3֔&ν?BoJ@Z+wqixF'O8=T~~C8g 78~/" +W. zAw > G:eTS1IZm'qaH4K}@#J;'=,X=Wu?YUM7,X|!.碀R\]:Y>6Izm1Uڂ]`;ӳ߭0]w&SJPn/lǷE0ɳ }6|ҤYv ^@[5%D6r(u\_R%ǹCkR-}eѴ*db{q_.{0me~W7शt q|㲐}[h*%gw:e&R50M:`_]1甗I葖4!@;ܹȦt8O5 7zhq#Gq薔B4m2AmLLM}v3 Z= #T0sCQF/$rwQ褻nuUu])9k<ʰdƺ.Φ(gE)+^5s miR# c3U-~MzX{zw$Z -4 W|  w%zhU> Tmvv 3`G&dFuv12>9y#'묎lc.n{NamatP[N4i[i*, ߺLVU# Q1VG AY *>AQKZO<:>}«? ⶜v,Lh8~mp2]{͂:LҽW(Ti:>M\`x>D:tQo㓕Q,KNVfН'G?tAshf5 ]Ep|Ǯ2MJFD@YOxܡ lhjO9?.] /AL9e3RW7Y1QN܂J:3 .)<7kMPAF{HxW%J:^U营9( I{?^kԿ4mqDNq.vx6Քn*77i8G|:Shybլ2( i C= fIy8!3jWU`CANKN,rQ>0\RFP^1H=ɛdۢzdCEBsh r2:| S A3f}_JM|EFH!bqݫ&RisOQؗFvo nU\^$Cq*(T^cǂ [n/2HErSd#|4b`6WE t3'ZͳpmmЫn3/@}3* Pq:M2DCWoeJRXd`HJ_6c{_rfIFx3UG/5V;3;١2Ruy#y*+},76s@7OPChZg&dKGx<(GAޮeuqq?O͗B@:)W~ԑEoV04Um@z?8Ǥ~b%b$!,(R'6*eհ=@lY/ S R9P@wz>Hh2 xds:ڍ}> 4h r~aHQZ*:mm1/O~S4ZBІ7uM/kZ|} q  [12xW!K=\Nq{tHԚbw ]3҇9Gj4f^_A!Z|w"7!<,G{0BCtuNvwNnx8A%Lq7~ˋ2E*x.act 6!w\vDI?֟ x6p|nōRLBJ3@ETܬ)2b$),~Y Ωm=k ;?UEG48s֍uS<]$Vms!ZIMb:EV`nຝiD$ p p_'SMԑZ;m>H='^[TMϋE1l^K4z(n@EhQ EKN%BBAow:w/͖ӧ.*_i_|K:m'@8l?y$ Y3`Ⱦ[p%O-kL/qFWƙ_̹ ۨr士%lVlɬzU&TYPm le^ItW:f)l+-d2-QMټ21jbq/ݸ_Ё&~rRz̍%) qU rM}Zi jSB"ӶOC4"1U'BءHʚRLuT:p#'ʸ3 ^`\ҚŅx/G{a" H!+MJaz:"عURl@S2|{^(*r+ 5Sժ1ʗ[; /Z[Dh_uzQ'CV2}7p $:cnaT#mh ZbM ^@1kwɃM*Fñoj"8}ٽmg'nsaD0^9~D5 %se BǠKy:i/gӳjtaS%|޵0q~bdl}{ (xDXwIb*Uڢ+ˋAk3F^WYj+6(Bc(r i̎P;6^Ly6hBՁlyA_Z"Tަ2=OX4]-d:p A}/0FnO P.\N<~R%YPe] ==)}a*]CV3,M \͠'Kd0\_&rx߮7BbƉs6W;|t\L.oqm Gó_VU?V|%Ux.#q蛔D# x oΉ6Æ۵sWu=TǏX6!!1G(7j&I@GEƃZ 640NY~cҎ<&7xdFJؚuf|wHՍH;Yu-K#as_.v`jz:LqoPD8WG;F8oZsϟxkau/m)axlݑV]7 ; u #݁Eg56;ͷ@i&I=09$Yc-AU9a}ADfRapnP1q(CVdT7<.'~̤Ab1+՗ gAj@b=^eedd0Pt?X`D=ٖ9'$u*b2/In]'t Gݼ|uefa:6L> p-ɬ ;'kKz )oZ؝m%>)as!wHVёs4rLJF&9{BT( x\咶Z(U603/MړFB> "sxq.M qE_۷''ka#2e%pJm˸$[Yit-p}i @e-9S@feW33\]YE4f\g<Yq|<z}3(91lyݐ0Vo}GYz-AyI `3~-m_[֕xKZܢ6&[>NhEWj,g@h=$#e.2REi*`)5U3j{w Ԝ2a_](w,`wg/VS+ǭ ؄ax.qw:.8[M d,$ZM9ޥJ@ - X3>ɑTqol*_pbvhPQzƵpwg@ (>_ToFG,sD8~4 E3ː<rW3Ӭ 4x-lf?w ^ > U)z j2 O/^i邏@8?y o3 rnXp&:v4ey=:9l;D" >aGG-< ;$ Ib-=7lI*՛Q_\[Cпp6?RLJ.ss*FnDaDzֶ#,L%f:`V.V)dP-3CMG0 CT;cmሀҩ5㐲oلR׺l H7yRlg$6?FFx? \@$L~iyc::dA WiPws'HInc@G ^¿N9to_l7%hW-F7AuŌzÂÆVV޾fsk{b~6& ؍\mk Hvۧ? T[P}F6gD or2LV0..Ne}pctqQZ'y.{_Cm!.2 JKXd񸴨#oqeA#ǾYmBop9nL=༫ig3!F?.o#7Ỉil|(siE5l'Z1Ħ}։,j?O% ݍjnx^8WzfX.;RB4}Yc,B̆ŁۢGIOztjE8Nx_`E?Az f0tVttGjGq۷O˓M\6b"Ӹk j4[Iչ6䄫)]K[W,=w'"orYi:Ǥti>Uq I'Hc <[/ꟼ; }t9H*pal9 B69^n40֓ @pcgԕ ΄s)$E6ƊjSE5; d6e `]:mZCq P%L]lUmݘx.9\,(*̰Ms=Mw~c_Tދ qþ0p/H?9JKL;"'/6?_Xp對fsf6.Ħ;e-|-fl3B ؏\W:?>1(pBCTba05Q5H٩7x]/A i!AbfTz.S>CF75KLO޵>PxYoeEƄ$7ooz&=*hoph0j}<bl+#e45\PgHaJ~f.!Aۥ驏0} ^Q6r5FzӞbV!dhfT`+ӿXC &ka߇ǘޚsTy@ њoظw@2A$ ;.oGkmC}Ow@k\>uGlle W)k8Tإ d]HE[`Qk~dviJՃŶGyWgCA*E$Ў m/ *rڜIEW@\ѣ5V@U~%$=u7T{UbyC ;<4f>c) 7 r}iGm4! 1³&x.O/ }|b#jHGè~-6.p$(؀e0:5or*}՗cu(6Et{VWtv2|m>G+h#5 mX7a6K0^Ďf4^`v'(ZȶLnߙ]XsI<`YPf[]RWQp{`Q"C lmxhZZêXr0z@kSpX?P.L[X3n$BC\J6[wHִ 0YFęE"ņq˄o|E薖rYN5Wܬ&($B1 2pu= Bkes8k<wf?mȍpuVd13Pξu+PL82v{~q+0ަmq@L{ +D98ϛ'Q2 9y|g+fKz\eH,0yj^$6c'MEm=Cc5S3ሥ cBc|[ѡ`mrqa42q6@]GvGwza^D+DNg)$w-aM -sǒ}b! YuY]*"tE!cNn[? P7)N5Ťb&:%lq̵-(o$=;K 1/[!aͼHzާ3WynkCM DgDhz.N)v[P-mP'n& F2[|k! )&ki`*pJ Z1SVN-axneKQQc{HkVUs hQHi cB&y,gsF'TN>j]ѭZOf[+e 24(q'pYME2@UO=;PWR2#%7I坒2ԥBXШnas*_k S,p jɠ]8~\g̋MtHQΏvӰnU+XVWSNϵp0лn!+7kW(*auv͈̉ٚnEI\Ց6bOTc0R-a~퇄"gl{iLBBkK.8)ityzYgM/Liz†OYʏnpЍ:($_-q1J08M] U2WJ.+:񨍼@Q-EƆKL'A"8Eol*IMFCHJdM(>qNjdUFOYtK;yBm8r\ %W֞-qy*W݃LX ZptU:bEzaÎn,,a ,H_)' W1oUHJg {"v儓rG-ߡ56fzS53FV!XF35[xBZݭ8J~=]n 洙s\|RJ˂d[?Ͷi6Br61#g)2-QYo_ 7-sPB)X7&-Ө% . i;ew_beu(JKC PL66$—MP^ثS@$yIhĶ5XiiJJö٤!>`c|>@BvCr}|8%(rυC)Gqnb3ޤLRz pNgF+.^ӽMSN 5^] EۢxIv @2%[$34[E8K?lvd7 HP=Q>~v͙AycJӂ tܩr7@CGP]*nb"Yd4%KGg qtz E"OG&9NV+{0MGE:S]S` /8 H&&QЙ6G ð=4rXչXz~.XO4P%r6F({aHڐǼ zV$o-m(ژtrX@vP~y||xIeisyU} "Rbۮ΄oIucyz2jSSAl=l"= >AbH"y؆tBȴKvmq^ )*I7t:,0$`C9f-JJQB?߬3$HATJ|B1$}'VpE5(** `O#:M57,_[iԄ;8ϗBc}/lm=t$b&/7] eӄK{!`|f8{'ЎqxY|]`P0S!pdmMOY/p4 Rza`{q5\:ÍjU>hZɃNG [Ӣ<+CA2h<3ۨhrhp/^anLF8zHuaMǣnn,a;? "n.z')cԙPi0Mb|=x/`ft] QOh38`-=:*@ԢMP/?2+M1ՄZfB6;/f'Wٳ{r(2tڰH m9C AM8x{@=e f"DQ:~Vwcѻxm \ir0DtB zw7'Y Dc "|D00yf7 կgXJ`ЁG\Ds>tYC_n'S1>XϡO,!#]vƃYQpaqY zvT|lI-vKYoB g4!O;x}5=֋wIBJ8D ?˓ 슺U㚨An @k(u^wˎP . ?3Uv(HXaў9t!ͧwӈ)97).~CPFK^<۴ xmov zLxZ/:ՃVVK!K@VɾMK"KV,cRʑ"qʃ t}.ܖwwh;ԧ"xUsssg9X6X̽SFocNG;u=DYyxԎG7\OHNh4+4&WϏw Bv*2zW֊V]uӧVQabIR59dObZC&#5*ze;1Mj[.( 5Uץ)/I09&Mz)p:xnBọi@*?~@ae={H V2ą@>|ܱ;n>ѯC8fwϊPn7]!n90kh6s; =ʃ>ƠmEA˵8㟚j6.CDvLjB"5Jrk S\4 "OAM9-L늌7ôɂtG&d..U ї3g}oo<[#nJ%]l*2*H'>cǾ'ȍ+Q8+>VW+>;+Y ^%e=N0yAAxȳ29Sr%kרB#<^Cʐs g޺W}ʧ!Xw6U`/D$8?-Bsxb䚽]abKx36hN%4 VPKΓEPma#naR-7YnGqR5ql}s`7i‡{Fݐ!qo}a5](T[>S^pfw/ ]FZ:f/#qaKmZVVi V^5G2 DD]ccfY*0O*\kBT`V?#u:ϐ#_r|iuE]IL*ibJH=a{_gtjyţ/"b$L QI('5u-gaV^B Wlغ渷!v%p4{V_H1^  tȉiS5OH:?.|/m@]HqM2%e ɳfϵn^1n*X+&ڗ$JKpTZ3Pȉ$/ΘIחȕS$K$t 5脽Ԁn =kT1zTӽ\#|MRZ!Gj<z?i՗vlĕ~!f i!)nq1fԽ5oDF4GKޟrWu%Bl e-oK?2=EqrA]K~ѣcA }eaTH\#Ñ8-sUv= pylZ3`y >3 CCѾJ{f5v[KWo6Bn!Ңl?oo14E<LL-6X<8G!j8f֛.1a?ID SGt1בbî{A R/~r #4tdRPDtT&W%=c ڀ6Ln66W_ll7iI;Rb^{:?#gP.C~Xs8Q=[\Ā758HC*<2_"CW`[Ԓ rȉyH E%CFW͔MTLu"d4HBjA G}HU"fsx(O[K!:)>}06e~)6\Ɨr(n9ُɄJdLE!\o)vN$^?l}Q Φxw}mesYR,k-̋oc(2h'Qѐ  uJ5%0)V}Vв78z6zФG87 Zgʄmr2T˽YZznv'XɗQ"\l2$áBZzY"mBp֖a/fOa?(ƽQ1:L_Tew FlaykUrN'wwCcK5ʹ'f%X4)lҘ0G$J%м)w|a {\1Š*uTU@~vAyEWǗw*q `A^Ax&0Gj"uLv8UZwtԀ?;Å ;q{w`FB 3̡Qvi8#IkDcr_\xM(K2rKGIQ@[tf/H 9JoK0# :殪duV ч5*po5|z2 Z qI]\Fn*5zZ˸M^0tT*OyEu""h "n++r͹!+J@/$C1_9T#̓"FVb&s&*5EBGGi` }( Ek%GlN| 7Y.FR5@l#Iv8سAɭTzvy?pމkq@ɱO7aG}kKpH!_?9EL+GNRVDFTu,0Oϕ۵ms1Kamo$ _]d""8(z:0W&Hj <9ױ0l',UXKЕzj)%a.BKC.WTPCc.HC5P?؆sӽ+ni+ ygέ&6fɲ -)+c Ko0>̾yL,ϒ+:98mJ DjR=S ՗7 3jA:0hʓOUzv %gPU׸TIxr^V-}-J@Uh@A !sa/'C3򿵲E.~7Y grbav/uV楹M{Zkۨ`ם]D;UnOfNkrO4&-WϬ((ΐ*B5L.}ILϗy,Q9h qTN=@XV?vJy03NfJS֖)x?#?P?RLS{[m[*rѲHSaQn Өl7a9Qc-k(RAO;5l~TrY)Z'n{ Pf+הTC ;4ɕA&ZJRA"OJwi mf*띊A(G9(&!Dy{@ـ@3A=N+n >\}t-̓q9&`4,ZJӖvR,5 &떮Oׂ_HK\BdOApe|olɂ yaqIC2ٴ"_9aFSleg qv ozy0ARM۔@SNF@BL.~㊴Gۑo*.0-SZp0#iȇOh(yxC_@(b pi~D L^$wxUl~ IUGsvJ Nl!QA2@"yg3ݣL➷,8g8##Y1^\=uMʍ'Oy?Rˠ-Ǝo㐻2;OZEr;_QTBȳBAඞ 䠐9XlҍXUH6svR^n{0U~bUa..W̫8L沘>tNz|<'#^] "U޵oڳa6N#lwl4q*Aǎ"- evJ"TV<+ }=$hmTLgyͬ{#H 쎥I4.e2.D auAܘ.mK9O)69G6-l\=g`J \HuMjmDɓBNwcO[ ݩq۩\ 9 uEkfv8 4pTz+H&{_gw%q,˓:H?2y[BA }uFHI%j/cxi7{;ʢ9kh(th [?\gN-ډWUET\t\,mviU']oP$7=5穔?<"sai_j>6LY`aC^fw1YY\n-~Mj#\/aPyӞ{h[7遾Ԩe@ P3g 1,ߙfk5cL)c D ~Hd4heڑ]\>ZZ0_4|w7B+"&yoAo[{fi1m_$c?1ҟއu-T7Qu&m%y(l ްWcCY&Mv@&EVyn):СѷVEyAk9kuU)3ō:DZ-W/N8̒묙/pD)Lt8;<ٰ/ T(䨎"WcX*|kjxOgHPSUye&0z /WLPQejK ɁlUJyLkC+YBx,d1 6 g] #K#f)ڦs:kc{*{K~C>bbNOb9!OLls6z"[y oXkK+ oz3Ayo_b,o켚 ,ʱhP~R_)']NFSoC[v@\ (2}OF#::C8?S!swyH@= Y?L=oq$BA:JIf.;(Ny6r>^"on*K~e>sJ]4h\jZS}W~OӫOSzi]bG] ѤG_X7+6HV뤍a8q]kxlp߁CXo5 II85P$+f2܁ɷYgT;vQq:y_[~CaynOEw-NioG{HJvq|ۅ9a>[Z/hX8wIŊ&E;u@efJ>J&FiYbըR+lDlNF`N\U;_&WCaaЩ٠rhF!Zkmp8?8C(,Q(:5TuvD& ̿0n'G?TTC}b ӫ镴 ^zԼgNR  'mX\װYlDO:Zi^ +pH ∲z(kC̏ p:4z(XKRş?8ɚ06nYYoMJ\ 瘘ks)*DUr*_}Yj3\mY mVR"P9C(Up]Z Ѷ&R7X08/_fԸ(>JFTJ7D]cD\qg0ɰb, F+mxg!b2.,(\lD>'VV,ks+k D(>apo"'KTXBAΖ@>o;;rr6^4K|,dUvz&Qc?Iy#ATmNӣz|GPtg 0yJhnirqm=Rq=\kAY4cYj~~eY~yhU&(Xĥi ztفT )y SEigQbzPڋ"JqCM1Q0nifZ[yF _40kmz0v1 =wqθn Ar 7e)Rn;Vu[h/&:Tq+;Uj"z=) Me֊JJŔV^ڊ4$d \ p'>ϛ+!f`нL<} 4(ܼIV]ϔ E]3:)znug8k$p#_o}Lp(+V,Y Tf4S:);v;lM`2HPTkN`2+jtgtVQk3+c(PK>٫A!#ZOBZ4z[:/{Ki Bxi*8̂h 6eHx[Fo3݈Z5RPy,HK<mcI~1NFlv_nE{-YynBl,Mdx֮؃&q|tA4?f\v~Xi[)Vyn,XmD4oȋ} 䤌OٗoKX=ӹFG8W!.ä!<Q$yd!A isM^<*fN њ,~)k/t冬C&"}Y k0o ͆Tk MOjMt2P"ܑ.ׅref?MQX%[l,.ip`9e^g`^h˺~Vha[vڜݷWwJn/u_`e@c" 2q (i*ۆUsB肂a>au?䤂;0/BH\UO-A)xBO5R 5B"ZQS&owL:< H3Zs= M`7B,L5V+F3ɘs_G9hx$ڹι9r7(9QJ(qZylvɳgqJj, 7"C+uMm[m Tde#5tA #|*V4-nλ%h!S9q-i(5?51 *TR1)smUS䴮_ Yh~ XEΒܛMlFOG֥p@1I<%?mr5e3_%>Ʌ6ghjKBY}LE 0P%!yJ?U#U ZcŚ:.s@:{R7r=~1]oxlb(뺗hGDw>ڌx"t,( @Ȕ4 ):KhBz\f &5mcZhDGdQ*bOC᥄?Ԭ im#uTfzۄ݊zNήɤ~=#2,.Qz4q}VԖtzSLoֵn 7O䮒c." 2Zr=K`X3my@6ؕyb]V0N b&-7gjvxط|{bğ iPcx}S}CHWUI~/twQ |8.o3hr(nu~U>=2XQ{5~hJs Ƅn<&bN'\qHZ''>4Tj#ؖe$bݓY JV]8%]> [yamW B aZȜTBX}phg]9~>fHEOJ__FF9N}nbv3M BRDÀ<˥^2;C܄=LS,+pQf1od5ͪĚaa*@}6OOtZT]N}]pj1!cBoou< GvyR]O P ¾6P~ʀ y9\DFAОbht{QK(,ڬEŰu-VW I!cQ}GGV"cqbRע<ī+<:I?=i](dF{dpgBMo8ȯʵ2/!@ǚ^'ڳ)B2A-V1Ϊ0V?_N'BGᦄy0J11#uaXSN:ĵp5h@;n<+- y/wՑ#<@ FpNOf.P0nh_͕BLʜ v-1"t ;̀Ud'2h}"g@}Jhh`Vp0cy!5\#v G^rTKT e6(~i^>Wvvtqu~v߃ {x~:T3nf>mpkYҴp|"H ]ɫ . ; |;/;! zsZ%Z}mr1)9 -)9.7az(/LmIh̴S? }KώK)8fhQR#+$l^Ov7ᦆjLnjv(<*.#OtrGpnxI]f$אz :\XwQ& orNZVaz\;M2AKnXE|Rj~ѡ}t[|:v<%w0BTd-cD݁l!ȎП@9 8Iv( 4/4%m0 U}zL;}ijOC%+Xn&BJv|scHh7#VN֣5͐G&chbxGr`zWg$ߐԟeǸfQ^q7jZ .6j_{ufAFU(_C^4Sn/>5 X̢$T T(Ys(&h!7=TNߘ~/L-MA^gaVP]痊j~498,n/ePW@ѬX `MA3kR4qX**`C"J,шxοTs-v1* ÿ\ze[EOV@\%/ 8}VDŽv6R-9JtcVƪ1ʼnܠ¥+c`^s\Gԩ]eu͞[Xȗ[مEٝ|Xq({kts)7o@mF>`)4,'L5(L HJo3okJZyJFgBpb ǩw  XJ3u NBU"%l u6iUKLt!2k$\BPz}9|h?\ y[ Ot$ReZk-\ !/<б;hn6LmwCaci4 ʄfeW*C1]?Q^UvzT\X؍?tn$Lz4,NLt6}hl+xa'&I~ј<2 \esѐ!4n@vl:GhLIb`?n Y;/x\ӬatpuxZ4~lI*./xt >tܣW ,M!}d: 1zŭor+^Dr1\ Z==Ov~,eZ4{2q+OqdVrĆU(?N@ݰꜭ,x7UN<^៹+2Vr4|q [:X~+A }-OiNMM^$F}%-\&1 XXȜCiSڍrhj-e R`t'p`rpxR%E̶s/E涓}\1 BʸƦgJM4P*r6 WA| hB9cZR٨K}DM&dH)Wr2üЫ_I̘V^qS5H-}[[f@aeo$cbTMuE$8>i2al >".;fK@OoiPڱ\c?ϑ`RP3t/Qr̺2/~O-c?qvg1nMd$A$$лA:[oۄȠPܖuNQSG%Zo*\13'jQ(^_;NR i-S9c̉w0#s([4tB,?6 CCGaԋ#LaVŊ0똒f\QM--Ru7y^2zU}1r|7]'\`6:k^pp>zS67]( !? 'A'Vt57ƒQù2 V{h%y}\}5bEg'x!"E ":Mh)n|*{\g yH5XsIJط|k+1 EۭLo8R5RMlfٔ-A;ړo4e?\҈.葿Fqa1@nVx`)rQ[ҨɆ )r|xG}q_t,|mZKvΘt,S잨!3.8*t3Vw$\c*KrNI,T;-50WDvvRT\@HԌm"DI>xF"ʽ:0{  [R0)'R4RKQÏF)jϓ x\_<=V rJھ+>8 #^5jX$lP"0FWaLDA"iBdJP{o+f >n{Ӎd( ܊̨w&jOT=n g/U 咐#p.`e3)6A tg;Kq;|Z&` ϒs {etm1R@?n8[lBJcl}-J|7Jǖ˻I$b{k#픏񷌦9?bYjgB ^a_yLU-Ǣm;b(BѰyKG/ӱaY4gͣ29\N4`?rFD(xxe3#%E"EMBTYǙ23NSK 8 c8!z}}C#yCl/?PK6Z SY@\- {3<+ |/V&{w`Zi)`U12I[6O䷊aU6E mߠAw:+F/qIr:FW|Qa)bC7=G߿E8,& EM zrQcyA6L̷&ZǾS<8[p"$ r{l/eҹ#`run 'adYVB|'q"a)P# _mO1xw]|`)G=F\Vؾ:b6Z$ ݜ[:(<?]3 VFTķdZ/[iR[$Os< !tUJD2THWen;uEa]znUrCU@yԟS(Λ(Cy$;K۸F؅zHp ְTJ;wKc٦*8*h:} l} =ْ; ?Mh o.&53nN .7<24]G_sdGSpH'ȕ%plV^҄#sn.k[8#"X5Ԝ= =eb˲/"ȶ  =HSчɽ{z LEՂ7~QCT$tf\ t:,|-QHkj1{=ݧ ~~ qmFԦ)./=_;'PO]XXt/.#fvU:G]bPn2 QB>.-u)17G&WJg7ma~ɠ@8&ՒQlHA%?iNjΣ7p8k텳<`ɇɧ9`c/sp5 q\ZCd PO ṃZAIHa/('t /KV:g}Wd wE?}dIG(|EtW@;*3ҡqU0)rvOxyM="bϗo.2m\d9f"qųǼ66g}ow;5"MuQ^VjcEZO0tgBħP`!f1w B_'NmĸDGLFKݧ;݌z6cvTa? *!%gH״\Ф<"q&9Av ]ĴB's2$W!K0g~bk'Go|.RWAx)9d 2%yIR Y,M\L;?ۜ곋<=T NdnXS4lCzSyo`KKmV3eK6|dxcN sk K~/S1r8:b'&.vX?juZuw.˸w}+dI>#m)b>|m }D\S֕]v:!&֧ypLOj|n>cV3d$d- rD1MC784ܘ|GvBJX9K3'̉|XK ٽOZbI;KO/g#/wxYCChDD, oQd^{;ya N7,1f;pz|[ i-vxeJQxY^y& T?(Zo^gV|MX>bM5@$L*E&J{ʪ[G:6@W7,H?ӬLYRR<@`PQL5%#㱨 ?hh~])~D#LNSjqɲ,'>^g8 |ڣitdzeݾK£% -2*}/\(sERJfJ#_E66k`,>9 z\"E'<5<טf)Uo,PwT4s*BbVur*$t0p^+\ISxש:ST/[ E[tY$ɓ!2'3+ aV-&ہqi{oSK<ɳsA_т&E&|ۂHU"xo$0,i3ꤵ=ȩKX_"@ɶwrNnzo=L4X4|"e~ U79.޲KD AH6A+3kzH16QVJY ÝݠIwĿ5@BXN9%OۻzI~8@ -|EDpε8)h CTkQ)r%]=sRWUmU]|:Ln%KmוՅXWJU쎕PNI9V7pn!{ pTE]JPe1 V=)⦈gTJ5-HړTUL)ӣ-hĐ@ ґ""S j|Y &ǛjUñd =%^4;:K;Kp9P9m:=N N/G Meui'7c ayP<R`c3t+X(维2|Hxa#pQdP\i{UQ4q.Ԉ9khf%)Ǯ_Aq!LUMkm0Wq֝w[v ͯeq"U-6RE93اaUʎ1z\WQ]bĪ,:7# hkHsb0ӂbdr؉WFiˁ+bBT =a\?[ŵ*N=Ԁ6gcl_&H@ĕ- ˕}!(r8L[7;=(~,8Qrt4Ltjs[ov;\j8o/oHK0֊ݛw =[j}&4L j爊h6nZtVqg]0U>]-ьiȉ3 du.+%S%8M*Y+ n3 +޳QZ;dϕ"3bxKX .( І9KvN %uUω?w/7EwO״b\(FInp¬ϊ'qqT۫4!t UMkմST,r+ÐS3 |aAv?-c g/z{9w>#g6 ^ы^f6|ĮP LUKpH EUI,g]_l ؜3uV  te=/O19YA/ZV ܉(ϝ_ Ex#@O)xO& rI}XQq30LŒQ wB/szy;hkon vvCR A`:PvfF>txս{l#WHS[P֟gs*=7% 1ᥴhsxZ6`fTZ\NzZu,yٹbKk*9I;1] }F4̹7ݏ;=Q3.pQ;*9:.qԂ*NAOvӸ%g5)R,Yz{1ݶWݦ-FԤ&;TR Cbp ZE G܂*IEM" ȣn:]WS$Z>/~ HrN\0mHl5Z]!A(,c&%GCo %rӶ*D[_a4lڙ+`eщUԷֶGa.p']?qC{P~+"~5M'$%dN8Q=?rؽ=.I^B,T 3`Oun.4m'r앷UjqF0 gP8B"Ǚ98trMڛ E`n UCϱB6<ژ `iks&_qD胲ڟfx'd_ Dq&X8W 9e!b2yW"A[Hn~)Jty(_%snN2Eе vǬ(9Wg*+@ XEUVYG WvO .1/ ( /'d('<6w0Q+r;W/Dt>W[s`{4|]aJ.$貦]WX H5Sd$,ǶZbrV[2}%T3ES "<qdUùgl2XH3w\F6kKikaFzy32CL>/X$y6E j;c)lګ٥o|P.=RJ|e2G>)|챩(%;ɚތݩįoʟt9o8{>UD}Dɥ `bx/6-Spzd R}PZbBCCN3m W"iHtA(GUrr^"@D@!=KsjP VkKhl7ym h0#v΂f"~43eaͧXnaD#rcp>{:vEkgYLVɪorm;dݙesmR٣2v#$ F4 Wb [,9n\3?{v˾)k,(؏`m@߱0M ˭nGh=#@HBNV:}sMUm$kO*B-3lE+"4Co 3;[ (>G<{y3QI(bZ{eJҋSr=)ml >>fa|@;:%z'9#L俎Y+>;^<e+I6C(.a^ߑ*q5H(8·1 ܛ)KjrC"oVnXըwLsk;Ѭ2PLDP/J,*y"/%KܻhW7[2A8G)V&zńtgD jl^G`_3Ivk-Llncěp [fbyqLp*K&N> _ D愭c8hMj'_+*,*֥n4E[eo0Jy?qdt_ܕ΋>6}_Gpy&j 8پd;W40{?3{syqQ*>opRqZ%YU沍r!P,߄5"`B)qZ8;˭B+c0޶ur=&Z'sD1l ˓\,5+w{$TtuS2 zGU.[`(+q8tN%K<0kZWh bAcU} `c4_#5.~𾙕e%=%'%$s'Ra4?Ŵc5v^nx}vɟdt!*+"lUSYUh@],WxzoE&ߢ sFIm 2& HY{i!KKMQDjj+GhulS xLW`, %CK7<Y#]Qe+i:ؗGvk#-/ewS;1("e!w36 BH C O :X&GOQMPW_lXaܯH&X˵,^D6ᙠpE_74b@]9'8ɠDԷv;Y,nY+$q潞2n{մJ)eD l.."]҉ȇOF`nSHh쌤}7QS z ^QY(|vMj]+vO44up LY2 tgY~dy7Gc"kb u6jx5 hBd{P+O)ر/˜ ★}|X`k xr)Mո[)ZpqFjҪDQyMAV57H +mp霖(GuB\ i L57zf^UQFV>F]q}+wB`:]<~U*\ T\BkafeX*2u'%FR7PF핖.7F H%/жO3?G^sO5/Ye[VTͤ9r%(x8`Q^cݓq{2Rb]wʜ)YѢp|la/s"*rd,sv?/q a$?KnI㕻*E%!̝z ɚxۓ+ChBop* R 9o w~HWUr"'qՋ ^ZaYm4E"!5b LYnI__B`Ib*`7wr͕Qֲʡ™̔sg3ONSƛ~[S; Z{kzE Insȟ͒ׄ2TJRSU~ )V noY0"'t~WFHu^جZG CD 1'}/ ddʕVWUC 46Xnα uhUOC8;%PPxDJ"ZbܛE~/B宂s˦j:R2q z Ǟ_$#oҥ)a})ʛG їb6x-VId-|T*{yH1hb:_Kf}턩\;g@..v2K3<'ܓnC_i%`XgF5:s<9zk]BJ)*,_~ޯC{ɑe?eҏFq9w({@xisC|z5&ybk*+NUBOy MbjAP7#Ƌ|A@>ZHdx@HYE [&lD6ܞA'lǥ/u u Qdl,WZ-GvE$Ipv$F3Ʈu}DrJ$R&"ٳ"zSEH(`U6m@Mz6nVC<,b7/]Ԛ2 ,Ԗ*O\ EB{MK@s*jevDuΣh;̩T! `"Z3o@ RtA j36+o8 o%~cc8^-ڵ6|6>NL'm֚ SZ,ޮiI4- A)_PM6tAėȨjp4J(KNsè;< . P\(;&QehQ6إ<τ֝0}?x<3udx~KcLJVCŖĿVr"J"/]6s45q:~*edГx[i{þHvK+]Re4@,MR{q榜.t$2䮻uIa f xBXNܴp?WkRívS1u jZBiYȪMpp }gtM1/}K}jm((GNjQ4 [6B94ݙbWV%BOC=eGv+L]{P+/q$k:͵sIA.YxA\'}2^'=p1|kc9epo e~'9׵b;gHTLA^<<5 T7KQ\8ח>hEG_nQ؎ތƷo/*Q4_zqd#\|F69ЬJ&"G_ԏ -Fl1kgH1I5M%E㽑20Xg 7rxX[RY.u̦<oq#sڧ?7_$dez.M@3*["WwxWn09 wbL/ 2ד ԪGS 룡@i7{k }h@b<7tE:Mz%C7VZ ڧnm!tQ 䵑wq [4!`MG2 eJY}C0ɤ&5U,Pj.FV{vqU(P8ם+ӏR}n 44@7Ƽᵎbhjn$c0#xm|#҉$:.ez=b8lE{S':ş֏ 3҃}OVX1 -VžQZ6qg:_ DӼ-p$gQڄvP_]H_ !`mQ=8ALS٩[L͐tz."`8ccCR-ձ'lŨ Wu,MUM0|y9x?3|J3,Gvq>)w'~,sJF@8(ܦ^r@Ubf;l>[N ܩjzy'lD V X%|W"II; (+詪{^[JjJljݮ]@RY\"PUFP.$Jb!*$y7?y$F=&+R42Uə6)k VYyn!3HDЛRȦZ>%x xRO@#OLWۍT 'WU;{3L4jSCp(Q,U1: 9bbxl65+򝊇|k$L`Y[.ƍćG`y+Y!r?GV2)9˂Ѝ gOh]0 !+Y3T\)nY_}(wДeR{&zћt.\bC~fCLi_惚Ȁ' ls?JtOgrz箆΍mjj狅Vy~<|ń*خCuZ JIX,"~ֺFrlg*OwZ){K3"@i G `h - 2\jk\8̐)GMl㗊: vR͓.ӑ/đo@dFzpǜ̿݋6}V#'l.eBH?tͿ&!agr^1+Ù[Jժ{qG^S^ֹ 6r5xu5F eHf`wל[?PwjڔWjJgÔϾLUV- r7o b`>F*6秃nû_"D<mrc<䑉(ta*}y-g4g yCq?oN+Ϟie'7^e|jX1A<~h]"iX`4Te=B*,A3KrSCw3H@NIbČ+*i᢫}_ *I{ƹ{g?ͷZ.'e ;b l- V!vQm'At9.-'JJ~i\@Ziܬee֎Fc U$ܫ* TPK񌪿nUvѭ, 1:(ufZ-pO# ]I)#NʁOFmrX/1#-a?kDeRoo(KJy9[yԕ;uڸWE7&A)u:(0lL |-4ۮjO 0g AozwÜ\13'ӝCRBQ3;E`jVGy|`:v¶+,GA:Ya<Rkxns+٥ j(4!)vu&ISR&8ðП>KQGR.=VRNP[?a |gu2_1 ޒGb~'u='dsUk? ~?ͦ 0 |c#s%uCL\2[xŚk6VUc}9VٞOBCݕCx( @a iK#_u_]iI d FIӻn CRKaIt9$*4e:"J kMî/}? 2c+CW^+0bR5deA _u~w*BO3FnRȽ w ٜVeV还nB=AcF+:{H:ܮC|fȐ$Qס ]K7咊ֵնQ !Tu+qB-ڌW=fh?ā6FW}٪~]g ;眖a oQpw.I-{{.3 ֗LBS7Uek?M-՛ %f5gݜ#46u.ٛe0%eLMGb+5B-X1)4J?L:?3bk8El߱Q ;u{Υo>7f')fwӶƷ5a+.,˘q}JG;sʞ3 h ۈAoXqR44\=Z)ۄ96MGgd.]uRY u5̯0<ЅXeQLR ]p<;+.{j29f]0j'R(XwٗdݹM# #j@!" \B:{ 冫LDZd95,:620@TGB6R.q`!F P$]>Dt&E#W_J,XV3Jz)$W'%,NJJ2cFGISd{ц^O1MqV(L{2zAh@$ [-=djEQCz%H O&Pm$nAJ>\;U%֫z)!;Wnt2VP: V-m#-}t6aFR8]ֺ6y\'&U1wXtF|gg=I?\j6BJf>R;qby2d`V&fs5ڽ:LT/juy D"/Iqrٖ-Z*G`|n+e wWWp Z^p:kQ~t-z,ZCG쬵 )|+Dܪr)~nL٥Vvhn !_ѹϤjZ3COu _ JkXs+D4xڝG"`]![ա5<ڝ!)e^(_kq[>qf]6]~!(i 2M*,(UeHՀ.7v-O@jw. ^-,>;dkkwZ`jʻ7fJ<%mGŚ]&jz~[UW0LОcJ/K|D9kv+ˍ:uo9ZENa{އc\i1Ұ5Ů~9|5ied;]Zћ;=q5npÛpA2l3W#՟ƪ7jP>{À^V#{Ip]Z)5 *5x)߇~jsgϡf[(0 VI;, |"a3%4{sw#qȓ.RblQ[ [2C2%26>$4fcJ欑s||uJ2qmV‚iO8 dVJk a/*dѾ:wd=, Jݘk؟zJ un@;װvB+jU*H'썈vY$(\^WMO|'scCye[;Ɩ˘ vo4I"ؤVus:d@0ITߩ8~kw|O.̾S*wA^ʴA @P*:Bz3U[K/Z($(O,rrg.*}oiHur3,6U~%!My?d@4q(j T1N2~Vd.ݕ&rM^dYHArlSA{//Xqᡶ4  %۸xu _.|fF7k-TBV~ɲ?ߢG sr=M*qcl1u-R8@hʽ{%)ia^,b@/OE]+C vaCM"tqH20eFahs*T`$8]ĥ|ϡI1 S"x_xzD "/h`D} [r)t-q]A/mVՂ"okcͺ(ғ @1,Tx;Ihnyհ8(7./ L,v/ewu)%j&ОIbN6Ht83pS ?E2"0ODLvP0{rߔG5-<&%AlQL+N|vRMQB}tcrӣtޔˊmd4!PHcH$}äGQ+0@jO=B?U@x@Iu@8qvUCb4%ƤSKSAvkl%yEzHmw-d.xY۶YM|ti s^VuJW$kLmDG|aҊOaSKm 9qȡ gY z篴%oX*2J:L|/C28$2QV!A[/ʇD4Hx}.ѭLgXD;״f9'ED7䰌sy4GI NRß>Ducc?0}*TUkuq c[jZ Y.?.#DPMO!M]P` &s/-Q#WTׄ6Voѓˊ#u} }sjDx1"F"IT?WNa.w~ت:N2]]I|ҾX<f{ܺ.eHqG1sϞj :E}.d$9u=@6I( r"ziv^W]Vl^B4%Ρ#X ;t(EZ%w UB$P& aRKd锝~@9&f.M * GR+.tRjc%f7QxY峫u.O*J (*P-FTfsFPv.1ڬgRBcMf}2VC: t44HPrî:=!7JFD>[J߮݁kwhF S҃qU7Z$h] ME(*Dx$SW4mNK+>A_9 ̎4_^_~̚Ň, (ø+3xΆ:HGJ^>^R]?"h=兡!ҩuPl+GYlڢ9 6Y'vhEPbĵd D!_~ 3n)Q /[# cJ?׬ w HZZvn*$"7 @YBp,ag&s c'yRm\De|>a]5X 4-YR6 xI6_^hO6Vr%ב*,z  ,F&?6xM[*A𰀅2ș (_7E1?=JV?SPtؗꥳCyep g4MGL>|"ٻM14Mg_H;2oJNÜ_NF\*$ۚ>#x.zI5< t85c19 𠇲=s>3G^D؝['|Ib$TuĂu! w, uuլ s9qM0w_U+R麢#rgWi8{D̈́F/p-Qb@.Gy/ٴ~~!ؠ:=% eBw;x_^|N9#2-Q/j?ҤO^oMlQ!,b |B dHo vx{"F*A?Oo,$//Mɀlzz|96Ke]nBP)Ÿ\h}\k{j7 )OOE-8¡˵w4EQ1 OۧTN\1_L)8{nxņ r){dQ x ZY8P٧Pϴz^C@4鉶j{1S8=S}aXmp#ӧJ@~U>Lj,"IIfe[JQ 1N7cLm)A8 dlƶT_.=NSV(Öe)[_ ?@p?9Qq=0,c"6Ԣ\"d] D tdcF'#Ļ4cRcaTr1*-x64= )C F@Uh&\_v80Sw[r[H:d}ŭO:z,noݸbo#kū@[l{nw1Yt7t 0^-q&mzV)xZb&@l"J50 ƔoIy-3z~oTܸaGL0۸mP! 4#q)CQy! @35`}j98x'L͸EVVاHŋ) _lgڭ{48*[M.'3_}S7IlPzB玫kv j*IVpMPOhjWwt-S#807dB}n#uDsAud =Ѐ!=24,p EUۓЎ`?;ͮ:n?W @b=QY =bZK\lx:渓TkkfM$0bj."{' 8䵊 WTt WFFLR9ny!BBMY< _"l6p~y6xNpžc "1 fy1^jS: kXߝ7*hjiB k(~v&$XS^*+ j9]bX"-봼4fI+1P &ڥb 6|@9("k|{f9nwk˺($;zq6L(- WKNugY`F`^*>wEqC狕e[?Uߪ^,YXZj0o cVh['XӛghRO&])vL;OQσfYO@i%.Li/V)rje8р=$bI -qT$dŗ 0/cS;f4D}T+2<.i~j5Wl>%b@[hUf'Su9AU=\MZK @z /b[&\O&WDH &z,B+c|CS+U_[}7?G**Zegpmq@-+ϣG)h~;:hRFǜa[?bI KV2m~ab p8׷|~4HmDT/gy}:Puh=u8"(<db`iߞJAeg֊L+Gvn\w{{duCWqi9h́YX At‡i*61[G_)+=ʊZ`B[AtNTYRo`%Fٕe0~ְFxpumlNy}P@& ´PgJu=|/D-FZ?A~C$7:o t69>V`I NDXfksGrY&/@b`wetޖ'f$p Nۙ}§%JzN֤̙n 1q[i_hgNs>JN!_ `elD'ٳCA\^G0Wm*)to4&oȯ>i<y Țu*@%ȭËL]W6ur\V5ÈR}FZ'Ռ끨ެ}0˙)t "٨^ldp!R]SN* NH kcAa\4B'0v`Ɓ*Wx 6G+߮rϦ6>A5|JJ}r4P"͎\Wя3<*O<^E{FجP~\+`z_~nҁ-:$"bd2|mkMZE|IӓJfq!T=}Ŵ9Ute>'L3oJ&RWɿ UW!(L}gLeET9aMJ2~.&s\x6 d|idjܝDCU#U-ל+CpӚo~K]0léh"@yRvţ ЉDm&".oNۭƽhQ_5'm8PdpD(|R-󬶈XxU<}t :,l uK!SW.0yɏ8jdA,U-2Ed@Upo9m]#?;[Mn­؝zo&w]4 WpRD=ӑ 2ZNt_&<`(i>X X?75~t 3}]LX(.J#ue܏@Mٌ5qG"Z@ w9[gQoPH؛o>qs>N k_~NQ#5Ưx)AgIs)P>fa[z eL0!_Ӟ&&%Sک8^#\cNX8 ,#Ғ \Ʉ6njSKAEӳ3'Z >u,:iLͱCk4藍=qRn6ņKbjt[A1 gw1Ɗ:K֔չ.(P6ٕ3sܡYGp2zFܻw(͍&@6Qkv/1/y7Q8*8sCpq 60 LѪuݯPNo{( G- 0e!̌ G"1TLelo yA?#Ty[ `Ѕ:sBHj9h5%E9q*dCqJW/ ΅ +`Xj+,-,WjMO͢-L85¤2ӊ |;i{ >!h(YƵؒ(#O]=a4?b[l*Kݒue%AMCF6Y7)3B(OA@t=uYO<%+,b @JļZ V;!k!a&s7xZ!HKGGo>¯bR>FQ-_dEʅh/nK8fp1$bUK^Ma0N|1DeނUuiIɐ/9@^[İ lcFzEѿK%`Sb+=yJ݆P czՏ|높]AC@*k~>4U2;rO1ڗX27]≻Ç-,$'nFd(+A 6 pVƅcQV648C ț[\Y:t t\Bn6 dMi%*FS T-=ݔ$+$/> 8A~e~:{EۘΠ*j%SSkF7mC3.M1Gs?Pԧ( K-4:ys٫D`˧l=V99'~DVӞmj_Vƿ+SuXN=*xAo*g?,RGhH,:9H3Ŀw!{(/LϹ97(0P#(؅uQWT 'I~K91Y8fB6ֿZ\SZ|:`Ƚ~q0 VۍXO 6SE\x MCQcIbL] *̢ ^,6Q7OA bO>i豽Np3"8#|cktgޒ -`ޝmO'>`!<7&H=kc`Os`uiPXE15 ѨxRAјhn4.:bTF46DvNG?L ;-2,#6ʃfmv.Kp,soZ?n;hEʜN ..mu9.6ؚ T vJkg>fwfi@&"=␂*񇅘~=K*`IOF9-dŝ } H3ͩ[Mxv 4f)ixId#m[{2%;?DvrKZDw3M#]kל'! W.PA"xyhYLlv:aX qu۝4VI8nCE7FHq+neiTMfI82!'K۽ ?nzA2ޟсUGv_G#4@ NӋL-(Krvϊ,79S珃ڭuD%/~Tf STEGX`|Ѹ ?BNv5?̈́cP.ȥ^TtӶ(c^PyXL#w\̸%uJseޝj&u8E;L/ @0V~1\fず4IרPze4$G]4Fek? =v 7X`oks aRߙcÈGy 8Olr.hk'*FplVLXSeyK[Cyv6 8c˦(ʝU-T0TϥچZ ހ@{neMz^BQ+Z[wm>[S  gQv/*G\e0LF[BٜMX>ɢ 1@"}܎¹TCPB1י 7w1Wr?)v=̐ݤ-&9E5ixn1K9UɃ4*sQ@ʞ7V;l L\6PI9ɡ.5@ۙ= (pM _h_N*mCMx&("sQo* 9&#~ ;)G F47},+2iݦnW v:2#Ѕ{܍r=[085ol'OR#c7%_V9Fa1??-@;tu Kwn[zCxEa%B]n%6F3K Uے۴ljlg3?tf℡QnarWKCPc|%u$IM c<{br%2k3v@Yi?ޔ[ fs0-&[6=oa"=Qb(4  ɅEzRWaOV=BDA4!ڒZw^uF c;3 4S^ǟT8%[pYn!0>ׇv}n=4lE퓡mԎfN=IO49NcxEMk[3OU1%:nő )Eإ ]x c 8G1-+C6p'xDz G\&8!yHH\ndm+ηw!ByMhceZK4e_b*DG`Jb3\B2Fչ[.@øTNQݑ<-m _(=ՌWKPGڱK~'y*߱_0&ы?^Vt3צg?mќzuB1hVCo&Nǹ x0BFA  Lha7n ~h|jܴtfnRa\ ;Cm!W0Mhj?ɽ00TwjF ճ<0GRU-Bk\d9ް?#ޞ YڍxEd/9Koʲ3,iT b흏U,bmq4 MCl4'GF݀|Z{`E Yb،5a!+2B|҈IÖ14GE\ 8VsI ui.)ɠ/ ΐc%ιT8pX8A=3I1_,ZW-͸RWy Ac F^TLycR.a"Mw@[2/"k}W !";~Uյ,I7mPy^O=r>Zo<5f!7 oOՃ9J\꽈YoPf}O'|oV&fސA)kX3PG+?pGf+7QJ<']YLB1vR<0wBZd2I{#+*J,%rl|ӏqhK>n̪Ob\37p:p%j2*F]XmcvWjgh&WmXalԐE\ud\cҞ6osאҞ?eBr93l O,NǑ?{ޑ4ṽ: Ью ]bk.&`-ҴY mY"X&OW5+gT.]0:n `PܘX6Uz ם( Dmyyy{SuTY!ƱzM;4$V.0ofg\(Md󟘲b6܀K"ֳvmZg|Ŵk8 ȤiR{IՒQj HJ-ncBg2m:$;Z`H*S+b#mՋW}]qNWsq7F՜8QUoB#_\JB|<3+pe&i?p&&Ȅw amtBM]g\*)p$STBoVj IrI+S&au:L} DMg;:^uRg9YUUt%G|ɢv(S!0mR9Y+"p}\qG ob@dkH3=m 0wb a.Frs{K5CH* tfH"EVe3@-l|GR&{7σ!N O_1M)go*F~u>秶\qAl|-5_Gܛ-\*(P vTxos"RTgv6%rs˕av lç<KҒƗmKr ݁TNZ2u _U/z4:^2=ꄅIi7RaϺ/e;:FgNGUB%o@HX;A?ЪQ=>d4q y'9럀i`wju80 eABF78GL.H=Yg<]dG2? 3:^[ CR8erیor6z.v[(,${^giGZbX0!޺VETK}-Ma 5El 4y:">A ؊is@*ȷ]O3Xac›q~naJݩ&]f?]Fo nt|GZ2E9Ի\Ό8;*u'ŵ&V%7Y/a<$rWVR}*?Pװ7v G*}WNp )הb$a |*=;:ׅe1@n@: }"m!e[BHlPe3Kw8LnaW" @CR@zCyK-Mȹ#BkˆwH}lZFW1y#2\9[H2!Iw;`$$x7֭4(H!'XNd^\KX(ċҒk\2 3v yW^e^!5#|1b%Q'd3%X%˘Kd~|0zS1d;D6X4QFdEU?{$΀@&Gm?=Z0󡋼jF6E@Ԯp;ؙ^p4[4^nM9ë[_D߃Dn a/Ul\uNEa>mŪ )RS)b0^_S[vSFo| 8I.b~ح asp91+ztW2CBA4E" />QW>*N@ide\K_KԄ8-~ɘˮ 2} *cl2`0reRPD.hTsĴj"4,Qn21|!K5g$CyJcG Dqi0>/`!d"C z0\&LHw.Jdž^wm`oDMIndQE[&:m$~ɯ#u&u7b}aTnP*F Kn*\+}g_* #A2ZU\vyo9p8O<[s(Zb>ĺa+9XJ p1RjWWPkI#Ph]WTTN9 yIYHa CIq\=K[~ƌ:)>nϬZ߳`.ju(8H7!4\ܛk5L. Z6!Bu$u1z#Q#FŘ޿郲[uϐ/g!vQ"lA: ϹjXϬ^6u)D͈&p0 "vUbq4xlɊE/%(n3ݺD)_0s6i2\4њK Dj0E!bf]䶔354kUx3g$nQ›gkw;Ii>!KW4WuN JJL `[ѮiT eGi"IVZ80t^BRՎ8b(He1\rfiӺ<=w ~UT4*:Z# z5VŊsX74Tk&G7Z:gT͘ m*:*a61k`Hg fV(Ck7Un kc!R[K3*MDق0`БY2Է/U'%yoie -H|. p?Vwv" gXyjM,lw>CB;pċ, J $t %tdXq5s`宦1~(..qq2 ~Rv ]7՚VDrAˌx{,Rۨ 2@1*>=Yw[, Oa؝% `Yl@]Ϳh(K^hqoeH8 hXŠA"htPv&r]hYX2inD Z)i$v"u6ݔIXS Iuڬb; Cm ڵE[!%=tĊ`pL{Z-THBJ&.h%bK;]{TK;W$r0χ4,>{p4ļzqp`e8&z?bɊN&) tkJ? P!AOSfD'~>/.fUؿs7y'?$Ш%bUjb 7fJ,aKwѱ5GLO`X-W/r%*FG.ֻХ}1غE M4/釪@" Шglҕ)<,BgjuMjRkOi K=pGRx*߀d 18n:9XqiCĬ9 BjK.omYQbP61 (eڙI$a+o N=ي%i޾˒U.K7JV741b~JF v몏@1`I@= _2sQhoJNgǮeq?z`$+r7 !G^:t+neyz2Hz|Φ zS_\ bѶ?&TO#,d"lDDzq_F P*_kO [9Su^;9E O5w w?cpk+gƱ"Ę\2vʢpF bcUIPH8+JJTE7.#UڀT]"*twE 7 6|N@u^ieN/O:4H!= bb>DݨFjs:a`l8cܬ&"M <x!ت0{#] k/Im?׶e*,fѬʩJ'N1Qg/nP55+vs~A!]@e5^pMAjbAzjI-.,Çn 5>yգ qz},(˜=?z2+3F:䷧`"Ju欿EH,fZL,Kx/g~C]ϋ}T0C;eet]jÑ]0559j[$敜hEr4(6PX]f_v& .[(DFTH@"vlX TzoIC!A$C+uƚ}\}7 0tO*1/4G+7 H8l3b}d$ U+<#TbW*('I]/P˝]Qp2/ΜjJ;&chVS[@a]҄=3ԽZ5΄"5,Zv1E~mρs*AJa1tfĺ_rZ=2c/{Phuw$JjL*;&R;uoݱA7++`]UESz_ +%7Vb7 \L8A)q2 ~c> N+P:'!FV*AuE64Ѹ[Gp\yVy؟~8 ZvZTWvgW;s1`}&u1K{XA_xp93VYQ ;N)Od&zą{^Z'7 u%5AU]h5dfP]rD <U.MW7K0G̓c$ϕw#f^ $;y;]!D(P j;;v=V +p_Ŏ1*emȈ0eR)Ɣ QHԟKiaIdIoc (Ӛ*E 5CS;N 8 Ehy/<7}}R,\|1I&?+{M_Ea(6wxd;B)$8#9y9lp~aʙ0-G˷ŀ! hSU;N3fB $ D zWs7’r;tF0ެco{>R7-:gk(52(^fKE0 SDHX^%+T2|D6ƷE0zq[b,]Gk+]MTـr6) |5he_;W]y5*X _{db zqLiE&ơ9uEV1,Nj{@ _XxLu&) #^%x腅/P:(@!Ha+G^xx;w_$rȘQawc_?'uRVDn| K:_+4#ZUZ){٭{!x:MH'[c6rMO[{Z}l9 L`$鲚QHjvpQՎCoִe ~ꀛJT5Z)[wY^dS@O['|ɒNf6ݑ}=lػ p_ָ!n2&^G.x% J`ZaB-3ڀxaCr"dǩ%hOM^Zj7e?r妰P]h 2%iog3Y`郯 0=mw02޶e[SYBn+&$L;#WȣWGH+{KH!pfc P^P"%ľtG #VV)UKե%#"|# k"vӷ\ҷs9BS:ݫ7Jsٰ 1/J^zLw&n02Zoh|yaq[<ۮ0ƏPDO4>4cwBTE\c~}5 V.9SCD㍋I3WR#}!z&IonO2:p1M';M4!m9B3E2n@+U<̔6r?$3$ ?Y{`$bg:*z!+hlT6i[Lw_2Y/"\ߩ,ጉ?NYz.ua < W():t_6d,tw+|>#fdOy`;I߄1wP$obzi~35ϡh62 zaL%hffgoaa٠f#`[[VpU`^$j#Dhʇ27?1ր$t XYTS&2ϝ0`XKwDrꛦ>'JBWH7R7J=wx$@b<FMƝZ!39e j8 PIw&GR-A,+ MyROI׆&6m"Z͘s(^H-*c犉]6Y!+'ZTUqSU1_,% cc`t|X`S6Wb}xqJ F#Y͏V |YTGA |1*1 i넉^M8z:s2dߛ~1v9?|_N XOٹ9su1A% 6=1Qpa?>|炲,pqsdi۔`0YL hMr !G7%;]{̚[9F 7_9]uº }IFt<{2]:64Ꙥ-+'It5]uÝajx5m :]"ۮ/JiLy:oLIRI 24 Sо0^EE&}q^\~MMjh)!#4 r~sBkLtab^L?p_-9^]L>dvO LA27zpb1B^W]QEM<Z_b zHNU+?K:/ -31$Eiʹ6s]u51dU"c01AʷT;ȷW9:!ڧyfdEwS) iqTp+1&J wLq2P=d +/RV]i.Mo1N7DGi|BV\97eN5Uw[*IDigo"_abV8F|[D mpD>8[L8PT2(&/J) ;q#C#yÚƜl05. @%$+U-nz I+m3kAd7cwsrY; rվ/BG>X}:%hCy۞؆0d,!yl۪FߺNK%*52x/YRir_6c/rBBO&9"<4uNR+:w+p̾pgAG#~>W&DRo[`x,rhexm< @ưj8/ Wv-Syp/6fSQ_K[Q م%VMwۂ+BQ>רbZꔗ8^۫YAwoؔ_ϯ q%ޚ+v"GKhVk]֮G59P=1 "v|? #{3z 4q)/R]sP6fqD Pg*"[Í֋{sPf& U"{B)g(͕< NNLO7=S`#|d_F'Z9]O>J-w%~z~iP폪yZ+'+){Neen.YTpbiQKYrTxME*9_}R 0m(Ǐaw С";(A#|U+Gp|jm'JnU39Evw7g]N$ﱭ=VG }ٷ &^5 *@)(!c=! hphʒaP|W$= a:FáJe=!0z Mep62Aؚ>&5$h^&X8u? }gk'-j_1ZFD<;M] t5:b\FրDn:POO טּg[bkˍ=B6bΕfπI:\cB1t2QQ{}e$E3}'= ԱKF6Nִχ$Y&NEwM%L^aZ/誳R 8R[(r* =#QOǷNbhBs;aqM@7'/#p=p=A]N>D?`4b,/0ha( a|KQ$; [d1'h9jl.vĦi T`i1zc;`áu%UՑTm 澎1$s8r3Q_\Ft3A?*KL _ ؾl1S#Nқ4ruR+U{{i5Krwna+L.0 ?/9IJFtYՇfVJbf ~HOo-4 Ƭhl k=(ڲb&AZt+j'j<2 ږjn Sjx,Xcu>t/ҭ݂ȦĚo?XVj(%0&^v~rtSSn |زG+j%!!5a {;t/@}s*-ѧeePK0HF++p=%NF̸meCq훕iEIn#˼ZsJНpj-Bqr7gA7ziJz4 C`Ѳ2:=\脫mn4SEsڗi {odY6a,)Ko`yGe7$$&7]z?1q^"Mؓk[[RQI 'i̓dXꜴƝ`B_[qHB7K;Z.[AIIhL&Fo!ĎѡB%6ʩJď:=8:I Ŝ  'H>31|JmlRּu0 Grnb+!W)d!H!+]Rۄ dwmB ɴ79[3zcAA'A`HYUV&w/) h\:i3qI@@]ԫN{swc;ՐJ.r-N+IAꔞ!opء2lQ|ocVXy&'*O+?O6e&a)0S?db#GGvʘc[$Z9>9TcQp_n6bM޸R .hLsDV$eΤ!윯֚7WX) _"@(TWy;X<¥+mHk@l3yǏרJ=c&-4f/{жxUqL ɋtl_":z ;2[ ,V޹tL iiYW^> Ϗ#,oKgcʩ2t (V)v,gZK>_&Ѻ`?ztj hl/rG()Zw!.\%  I ;ˆ#jXAɦ.GT*ֺ:Ѽ%ZĐmA8!Kh7`n|X)?$jT:UEԤ ~;J{W5M4؎:I(1/3m i[r]7ɤ1$ˏgh Bm6vu?Fw!@irAE 4Gpkd͠AyQFZ`y7"fQI[Ux3󭀘.$f?+9Iwfm%¼c>̀CKq4P4TeiHT$b3El3>pUӞw/*xSSٜueݙX-έ O=p=:QZŗ\c{بY%7Ph$fZ6rL:hG 'Pߎ3ΉrFE*Vc"C }x0噝]AoL[hIgwҨ)Dn~Kj_7J"au\m}[hA:j(h҄k<)#fL}`5bpy-Zm[-$C/k59*޾9*k25߃ Te7pjTZU6Tm\Vb<>/*>8vS0_HD2d?R-"GZe4_G:fA+E."4h5?9 M3嶚4u,Vht8+=PIX3f+¼ ՌƯ5b5H4C$Aw:GA/Q0NY`=!J+*GYؔnx0 >C4]$Ԛ\E(>/$ly Z\.n=g8N;X3nGv8au@xML\IKuH`0?fz#$sfﻏLܨް6  R:A7YT@莑;mıd{\ wTxI~ ^bSL*gNRpg^,19&82rg5}pBb ROkNxV .QbVI܇.3(%Iǿj\@Obgt|jR+(oEJRJ' å>n@?6%Bzހf.Xu,kQ-AQ8Nqy^z%cV}qDHM#ng 2f 1GG`R9e_|7ޱH׸uNmd/h0(,X[ ImfY=TZL|~/qY\XEG"G΃KK;FQĄ5?n{ |4>]L,PEةk"JQTT*ړl<᫔ )^|4[ͨ3?l`Rvzo牪Њ/1'QZW(м3VL<0H˦] r3aFl\11RSN㖪np[]AП4F$Ӧ M$v"$dES12 ^a^ TN,Ex 3E9i=jȞXsp=#lC ^o^2/hq4}_Ж5I9vn;#9K.-WIڣY93:MIO+Iĺ=M҆ֆ si@5Z ]3`ѓmo^S۬#DdDM/ t.t6'SҞ,gˍ6"ZXcfm^1YJɼ[VN7!1ѵ3&%xzѸ?2F2%gd<7H͏[^iz21.mySE SGIG;цoq[.)73jx +O)B2𤟨Zvh ߥn"ؿs/LЉ7-N;߹Ndh X'8k(60!8ى=ۚ!vJU9Di]O HM.x@Im˩^pQIfAOt%[^/UKV(P"he'dֆ- @!)a 0 f}.;D$[RD*[~Yi!Al)`|KF?,\@.Ghh%0ab׌̒`x-L%9k5.$WQLČלƭ%Rf@uO3]p>)ސ-#rߌE#D  vp ~.-Z Nο3r9l(; waِJzO:H=Q*  PAMC Q7|NP2B_1 "9sJ}sd^CH"~7ƈutpi">u,þ?kev`JcO{?{ZbY b`?\G.NŅDl Œ [HD/'&Cu)dQOn~OT(pW.ЬB5ϤP .˔ݼ,ϐEt_{wQ i, +l9xjQ 'VVhQ'u$́#o)z7kAۈc8YԿ֥ I*d7ZL\< םL 䝮ܮufVr>0&KʟyÉa oҥmFNhbA-qڝZ9.@,V72+x0Ҽ}trҼD-爎xI8rF | hl WhID1Kʍ+9L%҃\]M3О"w2g2lrw~Gbk253kwep/ + KZI_UC$-5})i#$k?/Su'Z1 16~IL;drp3V }PA+2U߀y GsK =hFpd!|2\zkhO i"0L}8TFwr'oYsGYV wq纬SZXx|g3!W`\1N VFa$l1tfԑ$sCfW6%)D|<ٶZ\fo^ @q*ZLJn3!rrVJWb&a?Ï0!@RzVn8 ͆/J&p1;ę9=#YwGE ׎(QS)R 8!iIm> Awk>7jG0dceN^'fn?ָU‡qX !-RiN.rDž| & -hF)Kx[b+L+k^7osR[Q^ f%!9"᷶^L1ڳB!Y1B؟#C>?jūg~gFk'Jl/oVm z g[RtՑ =،mƪ6=v͌-nXpNp`+j \.!xiAAwYFUkYDatMR (q<& dM'7PFCJ霟K'JZlwmKR`coQ kV,$,6_5yf+T 0k''Tq,-R-iУR+wz(ߨ)/:O@Op Ha%TފGPHϚ͟QUǥdN!_4{kRبAԨ9S߿/\Wa2mgPmžjnL %ײXȬ M)L2DkBƽr\`n']k=x#!Oƛ7ㅣ;JHg#hwx$r-#^**:CâҵaIs_UJq9,pJOO!6,?<TPM5 R_%>=kOlqC%\;iL`$N T摨 H˙*ݐ%d ȸiLE d_qwNpHȗ8@%j4aM}։8(^m} V$enLg澿il$ӝ7ūE`4Par2^CYHOzw=u96 8]$d*Ya@v,pat!lh$7߯S*Ck%,,+0N vƕnyp(%gNr'dnw]ʻ ڳF]tD#t(f {圶 uWa$٦Ŗ͙)0O4h=􃋏 |hzI(>Vv@rd'=R8F][gSէLP67 S4T;l{خzˇKffFp6!8jF}Xk2 ZT@e"5_*eE}1D&9VLq͓!bW7uu:T8ZP WObB|RۊBCoJ-r]W-˭}eh՟0 r y9tb\7'WHm7(#g,%ZyMeT2ջ R̼-W]5ѹ"%QvAhY:r׵)@?KQY(|1'upg[*+jG/2IZxr- {@mM1l ֭ Fjt"CX'5TT2˷F?QNN(c)Ƌ;^ًٱ0oPn yGr%%t9RP^|uDs/2[] u"g|cf[)bDZ3U*}{6meXw>WH(jW3i|8TN\ۻ&.$1iE:gr=-,pܖpN}u".S;0+_ap/\A<$=;e'8-Pxk-eq!/(z&JhM{WeIylS= G;ħZ4ap8@c7C!ƻ`90̢T[}ۓdy@>ޓjVEPښtro;5=m&]"&izb~m J6FOA5>$XSĢnY,WS\-_'[vbf_ P ?5%e;&GDtQ'Ġ glC:615Hϲğ.[xQ͐-$_0eTjř ATzYv'hL\DI$ⷽD+L;0BŒs>ҍ(=Qyߣ!"Om@ԛyŽ! Uӫ0&lx8xW A{(4.vPw j4b |&]w +7M#QzV6))mJZ$wyyo3ꣿuňӊwJWh F2`Έ9y [(4xޛt,c7AHs.<וgp]ZWSs\un6"}c{!W921]Q2g@n (3Rf2~0`3UXdII(<%.i =f2bG/ +!ǝVΙ ϔ_DuH(^zT1jbbv[=0K $-XAW<*djQ{Yg qJ$ Ğ̘*@xUR_tBowA&$~kQj ᴮ(X^}VND_j72X>|qZ>sx~6Œ5$N$8rLj#蚲һ-BEڛyH ܭzC"V,tctkYTi|Ij ``@Y>r*?bWRc2fKv[ozU~ E-kUXQtmGX:?Ae}{ck'|8Q8L#a~1.ͳoؗ睪( iDE7^e;&zFf{D=}PO6ʢ7sJWONbF>Z@\!X4('+n3f0&QY^YYfp&.JӫG S4]&,<,2y3zQ4+fܑ&C1.zspDw֢a퇒W,wDںH^ 4 I3p1ޞSiJOҕ va=_e*x-e`V"j 6K7'2"oȠxoKk`Qg@n0s о}hCʈCQQ+AnlEVmeZ`pNJh%GZ6 뢎aB ~tz?0^xl/6BJc Yחe ,?J]veX-8pa #W |G =(U>;P \bl, ᝜5*(2gs.f9{RH1e"/}l߮wŇ~RosĮ/c- [GO/SXHxӴA8+qԞfжlշ ϟCQ+I%IMP*0nMų:@@Hk\ODJ̜]5crXlf<vy\%/ P rR*K*khO˜_Oc,ͨ5 VJ{ _SºrgbVW됲7 ]mQW^ZxxI``qʶ3K&%5"k3jU. UF9dAe;ꝃ@AUw'Mg.)`dK: 0O ~v{a>,mx%W66m:sq lK#1zڪr& Czj.-.WzU;01YH{wДw6n~iWeo:J5Uɲ+j A='q,ٶ种c}d/u4ᦶR@30q]qp[ĩ$2?§ۇZmp՛$uAOj=6Z`ʁG`ι/#KaR7{wEJ Mդ)^NTS!r Tw̃Wo}Q3>()ҏavu1ڮZ{yr$k[wۻuBӲqDIeSS)Gmy!{q=Q~@>ᦪL6pځ袌/$d&`þi?YW T=q?M,?~É𮐌mzZx̝@|fa<0tuNݸ +i,Og*FGV96~ͅO f?71r<_b z)r'OϒN071֣;N6D9L%?Lhp~er|n_ 9}%;Q {^8Wxp ԅiʎ;H;a#^3ꟃk$P1bG(n+An.%e_ kKsG[4gQ_2utx0XK<'9gVN`HxyD8Oa8P3E0yD < ĴlCbmp"6Lj>>gt.E*ʺ8-X閶R#ERR!Wxg=w!I=7-.`>[hlTQ'O͈g\d'SOgr * u\\ _;K `%KEgI2 ?"&jr/SӁk ӄx]ݓlx^xH07l|<6 ?SxX8!v"7`DWX{\IMifGz>>\ZJ1<ubcĠA*Ntkd}MT2^{G4pi{gy0n47 }J[SmœnX`$ېx" -31Ro]j@l,ck_* #Q}DdEn.!WireƤǐF@gCtD6R&e(^t"ݮ>NE|Z$m!F+`',(N Ӕ/!9?Vsj%(2 S4Z+dTb=Y$*"0kA)m.!)x,8)MAꯚ8>Vj\jKT 3"\LAcxZ ҳP(o-Ɛק=OCxLJ7Qڸ;m[L '3?tޖ\ÞF"ԗY("%C6ڦ! Md,Gʯj1C~5BڂJRˊ$1 `ߗʏ@U\в|FKzzUѻ3 %xNz ɈgL$8RۍA+G珃B3PL;x)EwJ݋yWb1?<{X#NJ11}(sl<ɴОCBwFY-kTY]{r(co :&$nx5)0N/d9+ B+ͨ8+izc%bpX@0q># SIipl20ȕ˙8mߛ[R`]2F)b$Q/sJoHBـ36 N2cPw2=vwd!0Jv!]_̦hEr2ύ )n\')_!"þJM]s.q\$NW`ft@1XD'yɨȇu"X(^7/_8 A$4π+/\P8)cӹ({ k3aOxnMfw=x=yJx Ga懋|Q^L*jG}=M(tώw!6cQy"ⶠ@$N뿉(xuq+g6ǘ -:oh Ivj5w=s|E!$7NQvQx@h] Zo.]T ཹOA+p ]&YNL8ƼǸغ }=,wigvw%ɲ*s0U?Vu¹﫧Fye;PmaJmIM>@e;' Lmbꏥ`16^5i+Z,&fye;Njg8QMцt`ddn[v|7SO;& JkLE)ژdb\mVV[D=2( (È {1 :%(D&J7kljK(H8r7 etHrnO|/틱ֆewMːJҳ!m$^{?{yT= rOEJU@R$ ^yiV9;$Ț{lfh!_)ٖߛ1\R,~t۟0nfmiFM-p2YY %d9EbZY[C:=BK}A^tl( iy`ږTB@>aLym'uG85Q+{k~ЅlQb pOɦ@=KR%!I(&bWa>Ej ? 3 {;tE[?ev/~CK&|FnP1tRUae젫ޝk8gXhI6;IvuOd,/xfgm|˸bn0sju7+ ݸ Px5Wm y|&-3&dYp*Rpްl3M9r0䭙I{-7 Uۡ-^NHcZEfp+9Ȗ?趩t¼ECERls9@oGC`iQuC`MN~7D L5a%U4n< vJqХb3s /Q'|Vө؝7 [3:s#R6'PILsZ }~.СJ*'2R*APfW^<%Y 21h-!b|UQPsd7jjCYE^3?_qZN|+&nO|M(g]1]ZdX{ gRbK##v (EKk8M tFn'am2 KѰ[1V-Sڒ[ fwdIz~F|}O0*AGsJ; f`*Í|9o-'Z^oEI؝Ƚ^B o*s p9j0YQlQ`U7 ݟLK4u6él{끢-6ucuP?TDȥ_rGtݸdU$U]"h|>Z syϤ_[JMfsjϡ< Ȣ@qUn~-u+%f Ϲieˤ̟rá(6tFAݡz}}½i"2r#̹c5PpSD(07ߑȈgeќdG2 ՐȈ<iƒu&;au@LG [Kz 1L.Q#h抟[n xj)wbbfS U SAݚ5l5?$$ WWVle&OR'7_A 17pg?lL{:6S4l|AC8؏6vH?|(__l4JS qyGNP[ڔ9EtԖYP \m5 Ԧ2DwoI"sPm0h.d۞Q@0ƃi*lҎ{)ʘx+By7y5cZi|'tq0bwN%uF,6'WÎҫ8Dm$Syy!IW2G*5Rʨ=uJ9nbWwhG'ip&2>nf k=i[kIK?,|tRB$俷PinЯK`# Y4VzTDȷYw#W}}£7L`_)Q iFr^M`j-]O9;1kׇN4EE@1^;t ?_/奰KۨVQFrcQ$ec-no0Y* ӢiWqqUNoU`CKKF{:!vS 0tj1"YΤ:^=~9q*/:S'Y+Hk&W y,֗c;hAhd+5j6_t &83kcքB[ H+kZZ}*,97fbEnHԙʶreCE ɿac X}D+i_d^(72WQP U T|A./)ԒMmlF7av9A.K3^_§&՟\>3jھ/E[^B_{ S\6>_KOU f@)EL p'df^:("zUyTb21YK˱\a$ڦ"}$Wί[3%-¤%" Q%9}0X^Tto"7UĢl#fY]gJܿכ prqVMVi:Uh _g eYEXꆬK}p0bc9qSC}x+2V3 6mP@)K7Y4Q:*OY4f"% u )Z*q`||to6Uao`݋Kj pMg"9k,Ry|Yaf63ەxݼMh֒g-j鐖 HXJjˢ@iV0 `&r|bsFiad뫖_,XpyasWsM?jċq=4ö{PजƸ&/VeqA18U֧vJY95-[!Ao h:N򻠲D '24 B`P'cG$bTQ-&0pr"͒["W P$#Λt%MIkx fjtpGy?<ƏI%?%LXV;nJX.JnzǑʙCn=eڳ ̃ W<@@ЯVz.GLҩ`wrod.ZwǏ; + ?TpSpz<`C.Z>ʞ I8y]lcΚWQ KL@TÀSAsb!o]rHTY5k}?T{_fMl3 3R(>ǿL& azL:x;J\= ˙,zT@#[? l.?Gpj߆6T_O↼?f$wyաB/=@Ű?)٨ݔ]:\*НA|]wm MY0HdR4WH$3l*;B ߱->7S͇S76.*$ˈ)3:3t^*k3Feٙ#3Cg{5"UUIƌh䟍w1ONb֋"Aʅ˙ [o)_FЕ{Rxz ZUL)-.kCev5i%%ȭaC~=)XijIѰfą?0z{lMZpƪ}%} J>z1Rf:@OφD>̈w!}#FW D !r!F;DIԼ>ALa=ۣ6qF_{9{<g-yp__c6Tz4t(W'ɻF S%ݹkA3=6,mQ+-24GK])ȍq B.S8@qS -ՎOZ6Q+ 0K Ύ80T6zhj'%ݔ/]Ir˔ӪzLFјF#5( xvz".Y &s?쟚=k ~7!)fPѐ <,+k,QQqYBvWpld)y.K>H7'pL{CI\gH畚Pd/z>߻ITu5lq)│7f4[,3/.[aDȥ/6~D7b q:Nhl)Cǣ9vta@߇E^.HlXs4**Щop[V7nS1Z3ݡ<$m,(tc;YnrXm'wmOށKq0trthj}p*#nv4?`{$e3"-]̝pՅ-`0&.%1rV O)cڶHpv \~N!Lfay mvF`J`ߪ/|,z*z{_-PalX٤_oV}_@>a[HQ ?)Ij&jT^O.Vh#HP#{2- #+=n _Rn8aEMӕk;I#[oW67x:Qz px-Y~Bd(J{"kBq\f@y+RokQ!mƬu=W%qNG6fb-T"|Ye-œj#yrZLg݆k' sY/v[0`޸8a\7'V5e ?9 nVcE 1AS/I*bxs~bjeu\kDvmIx[MzږO C.ӶB֭uɭbI_|k O;g*O7fq,6 "7u$.FF(?'e~JL4}l"H;Q^F'KN&v+U&.29>T(UQ)G:oXJZL&j׆閡O,ؠ5!Iг T`-`(NW7_8殗Xa̮=rqjοi氯s0E%TEH'5P #Ѽ,j5ŘhΣŎkkm'P$y(5ͰxDց*epmod@Q%iz Z\6dSZ# o^kdE8N=I&}PV˱90!IQ9b}Iϣ;6:/}r^Ey =J\1NTx1qxqp7X7m|3T>=8Ti%Hz}W ,L)qVzc_ x-'Qk)W7:pQd;?_^w\L PqBQ%h. &taeyGMfRH~#0[9d}՝/Fxf4|r C c,ࢀCU{bE'WxX#VbQYw׿<<#\ G9)e욷$/q,X!!ĺq2/aBWZF+ jrZ};b)߬r2Ey Dwl@jè?cDGw%FCjZ\HvBJɢ`r8u8ø5lkiB'n:6? De?h3NNP&E\t`ΛC&Fb뱞k` IҙSѱ4p E ?w[0fdlPOaxNC<1.]ōС(0uwfN}!a!$!ͱ2 n+%mXz*'hSM(?A*7.ZdVI4[xl nv /1i(V›݉U]'Se:l=eq9d!&.'P8 U|n;ꅼ_TKlV@эz9ob<04MF|ըAvI?: 8!4k Uⱥ‰ˉ4>/ˇ!oq1ͷ1bK(i~IHX@-a4ܖ0Bzz 6Bjr:[yU *`QTULCPC?vu( )Cf ) }ygIpVLӉΞэF_ue£d}z?Xo"|39_9? q B3{/KP[o*u^z<-XLIQ $C^&  hd'v8ɶ|tV)ڄRe^| kZa(k60aTTa-4rXNߠ/ҞA[Ay'k#L=Q/SvLIʜ<Y[m[1> [c2Kߌ\U~%dI6|H2:fGAx[{]=zv$%oP hTFFAy3:=?*ř2RZQULͦX'TkT53N4Ir,+BG:YJEP[ylR群,K ? "Hie=-O̓LCUo:ˎ I LM8k4  x* a<4t`9B&3N$N7PxVKԓt`؂q*1"IUU8""DZTR_ Bf5vAP-FUBo5]?ԺPN ?4-Sn- E r8؎kCR&ʑksU2^05' $̮lQ/@LFXr̫ >JOt8$̬j1ic^I#h}ۈDFZ6ٟ:֞oz1׬h%>绥|u]7|:R,hi) 2t& KM{(K?1h8ӑ)y^B_L85}jtG&лI;ˀ</cǫT,$X4ؒLb[Y*mCyxf=nӋgb4q:o¾trT}If\X{L<ٟ+6|ht-#BZ&n8J92O; ~e_{:{;2\8mKT06ݒooذiR4[sJ`cn ml^qCϖN'Bח-ÿ >J㑁""( "Þjm$h0=)BJ.V}:O+MkFzfdW #QpOs-esjAL +ĮL ɔ<A- n'A:J'ZHkN T5 ]~QR(HBp`dg+uPo܉:!5r@RXvY[ڭR+t[ BS=#P_ItԠG_'B/2{ ] LjN!t;p;o0&_6> 뷹ba{bŕ hmءam\=O_YADu[V -JK)XJ=[cyN<|"sZEfEQ}(nB%\p>LE} C` hZl~=f?t 6JPKI>[QV56jtjya*Ek /^B[`x>j~:Ӎc |/]qƌcGb8Df%@6$,*6Vs Ss6lYumnUK"<,S3 [p{${\`Ǫm/ ^5mWa㶇uuΏoy3 @e^LU|mScɬ&ĀBw/2?I7v=p\c~GUXK0 Q?2S jp/)Wawc)O/ZP4;uT_!{|&l~ \ m mdx/,,]IMJFR%FHXHiw~g?gW\3>vݴiSxltό@ H$ϯc MZxn)tڰ#*#}s#36F_N\{˨/$% wHD9>)G,Tu:'3<53ϲJb?40\kHGmh`Y}f8#/zZ\{﨤"]W |Vce);xL4gTԛ&CdЃȜ V岌p`-h{2*ұQm[VXF=z " >|wE3u5^r㰲_}w%~`kg. qYIVB­zɈ?Fڦ;c+M/;tK4qg[pTYQ=gǯۍ_ad<\:߫=zH/b\>a0/D_|Qb{Q}}c= L,k7gM6I>}6wL2b8p:%vO%{ЮID?pP y'aPoU1PI:.'Kϭ9zABL&{S:.B*Ҩ-\ F9U &⽳em]]K7}u1Uo~>Jsv\,N(=ٷw:ܗR+;>x2pF5\8u]*3-~ TO+"] qJTwd! .>-*hP̆3?{J@9wi&)N w8ڤwh b?@'Rfy{=4_G*í%s:#UOY0N = vz5-Z.r8`@u$H?2&`(u!Y"+)zxo>~DūMÒmL%FpX Nu>:[D[{tf|L. 7$EXG-=Hl Tx=x@U[].B8mK&Pm,A>X?9O˹n5=I~i)b#/4WZ^CYؚ ?+Z%gK{Ax$x鯷Ik]֠gK]؊.ÍvVRK?4nl+V ׬)lZHأC h7&sĖRȐN_a#r! _,lB@Nݒ{V.j'*RH2e\}(í0e xЂ^.\o"?X B` &VwgM[ r殖d3۩Y)⣵$x,8[Gb3pʦe L nKO ;WRٌP9pԣ~?=w~+k Յ4%x3EX<9P:pꄦpon(]SP6>[˨<f]1& JσiJYH|."a%2Vׄ971Ya%kԛG\[֔!4o) K=Xq4ZU썧c|Lk5cdxWұM*&&r$r)z GssM! ~0<6SS R~-:L6 *} rmh$S"?[Cđ\fXRm*z؟??o)\¾(`poAD0ޙٶ'X Ş6]; [ N[9<p¤] }F Ϲїdlu}(*|(qX>,?6#}`ǣ_MCQCBusYc+c HYesRO@7<_*إJ04YM3{P-#"nZW*4B` ߖb{G@ԀjY2&?a88*Oj?v>ڲ=*XբJM3kP g@*s)(TչهxP}]ŴKs;DnM%Xc6Dog`h~|T޷~ub >:sS^l}MFA6o nD|uEU; h~-8A# [DkHh ?ڣ&'v[SReV9^^[^vq>4*YAܞf(TfZ ö) 8 ${`7踄<޳c_+Q1w͋Msf#E2f8ujUd.*|<LL#Bi6 2誺,f: Hw^nU@<8˛dЃ=+5C[|!Wc.Os= AeiZG|41f`L}aV+l D>[]gQ"ih?wR$1a`.$Ҧ"߽n(i8ΜFۡE=˼-6ֺjed^> ʀxqؗx\y3^;'APJ HA+o?}jPn\JJG.> .9PYe A&cd^Ʊ-K*&>aټ&ԿqۡtN=0.~6py $n 1W׆*b-!-VRb<1B ۽+D^E&tprw>ڀE?nI/`F;Gʎj\ʙ?)"::-ߜ ԡ7a4 s,c$6G\(~Wu|I)g|D!tf-F$/ x@aFީhGFҕ}Dm85+n]`O fSL@"c5Pg֨"D=1)P^Q>dɖac訹%,E &cJmo ڋBNMz*R /i@7EC樤֬Xf-JRYL,3?m8Fd%FT^+ 5Ix3陎FGSH´k_'KtL>(:H/`-C/\[Vp#{EMɓʄޝ|-cA"A3q"R N}:9߲ hDgsy[:ZwP$L`FXYf-xJfe |y /Z鿫]Z-䝻`CJ #è{YCkyn!9oO9\+BҔ4R Xq@h(+ڐƚU[NAM\j,FA'Y@ͷ, N.Kr+ci2Q[ a< H!i}@& P`&EpHF7-J l=kTOoYI{\.Yl Mk[P i*%;f )s C?oSr!lfpVj爽N$ynjgE/J 0Ŋ0>*V3s8]fY[D+=-Nr)ǏmHHǜ/WRӹ` ʐwSV@"? NQ3q@E^Œ~LAA:-ta@L.oh٢q2'bԭwb$ HڒgyI\;מ)]~fHTo~ĉ.&@kNh{VZT"c!1)1A]x`*;vp, CHm"> c]4RݸP L8)+)v砠PIYF~Pe,, ) Ȁ>5T Kѩ*Q!*<3 wNO=ϕ549WXn7rNHv5jDqase/^yZq)N:6mC߱ w;Xxj xFukp?6o.2*UAFȍ[ O:Ef[SNUB6vuSF(&ZߗF6J/l<-F|SSH{#evl+=TFv<at0봈ԡQzU9j}&}QQ|뚿'%mWK,:䕙K(9lC^lLj !J66X}GxUBR! #23%tɒ߯:%|yñǗ(~v.ji_ NMXd(}f6".{ƤtRd]Si% A4 %T8<⨖rCYÞا1' PjYu~HH4߁ĬјI/{t ޿4 ڲ]8UWq|X`$DR|b 0g|$MDvWZvռ:]=n[ZGZ:n#l$`獞iS3S,z2uL}q쩣,T4fNxEl&9#I Y7VU}("漈ݛWP):=E8O=* /}Iؼ>U~It^ QA@ѝ? Gߔ9B'1C_Fn1yQ`)P!+ѐm { = ,,twz>ᗈ4#BHMSNtfA4ijɟ|.(KOl_Zs` @w H;H +5UJ4N6dM,5:\DBM-*54>lL-)T&LVʼ%NKYpPotG,Wqh4N&PsBӓ_us>F:LxgoJxDSV՛ζʢo.+VIԢ:R`?js||9AyTVRU3%Meh֌VUH~ d~ |Gyh^KxdQו tLݛb 1h|K0wA݀yҵC1)rhףD=2SӦ"ySY :r=bS.nq(slv P#zȋ68qDEO .K<7˾nAw17{d{LJ8}& h$}`C-Կ AAAmOc_o/0+tmRˮu[dU\WWE *u/]IΉB:f# ˄cg9l @t%P%C/Ɲuו;'0=@ SOjUTd7 -JR4>9f\fSX]r\m$"_GiMS^z pLa.%01U ^oU!3qB俠|{ ,^҃`%9>4t_8 b~djs<fmY#)z!(7ehKAhi3B dy4ZhD/UXw(<2eQkҖ&!l1^v_ msԏIh J[w0N0|_),Ig%QA/jq9.G/q;K\ n$?GKѹc3NּУ1II|[ FIqzO&>Ar{qgEt;pac5FUCzvIm%yvz2TTH8'WTNQ^"/AfѱT@l݅^+k)0{fO%WƢjZbX5H}e( fA| eB Z5 _"v:%NbYoU{`[ԐӚc0C\磝Eu@rgDŀ`iJ33'Q,{|E%/I8W>m<z-xʰY4di^Ñbc$,-٥p ]iˇhaSɩUE}MN,luӈc[*{_OŰuՍ)?Z~;N$:rM44W'-x^?zX27wGcYw7M."ٓ漾|\O+Mi)__L  n3Wh Rh9 fT3&2%EFTN*(.wkB"$(ǮO) d/Hr3G'(!X @\v|xjX`Ug[{ټh:TŅޥXdWno؂K؆4nSG9B`>.o>;T)B61VJ&; ҾUdLP^i"hg/O0Se'S$Oˁ) >L0k sA`)55Ũ:`oZ7RWşu|fwRqO-d~xr EYcٿp]Np剖*ӖQ5:?TlSI8ufV4uNNOX-8:x%eK)k!1s8 *g7'fhWqfq.ߴqlF<ǥے4'StZ %z+=-wcց?@t۾{E4 z%H0{_kig-s-8˷69MAj=Ȩb.ˑt4/L>yŵ3 A1[D!o+$8[k[q $j{:V]DEwe[}?uک<`TyA۔)BJ%s *྄TsBO3NE d1%"b dR']ǖ/_Aې-0Ƴ Eͦ䛆}y6 JI]œ*)*ה1jY Wna`AT rA O*j3]Ѕf[6pZpBL0 g_@e3C}Ҷ{Gs[ 1#µ.HLҋ aHp۶`;)X(jVVo7|Hx%rZۥ$iփ'' swGL۸s#eqɦVPi]UtRW EH@a$cLf Zɂ;N'a|0:Ge2)LI (z19 Gr6;Y~/l"*lXnD@/&1?&wEoD#tۍsvڹP4:뭻;;@I2@@-ʝZdA`:^o}IFiG8jڌB&.$4"03/:lF2Nw\aJɟT_SA4&'O.1=]ڔ+'|"]5ag#Pywf<'ܘ+<4O"0F!UX_Ž ߝ!= *slѺp}nޞ 簰x;m$&k`Z I\m\uS}a31d0\I F՟$&/us0Ҝ |J_&Tiow U0\#dNRd!a-ePsuθA9-d<>JC S,j똤)Wr1v;Pӯ𣺩az8!'z#1H&yբ a0-7iGjI&Fu|\%IQ{s!H' P/e09hikڹ $26sD Ƙ}Aá57il>s"iV+rYt/sg:Z}/P>`Q<[bzNOvzȅN@i\_"8,Tݠ/@vHᆰ޻z6p?wP|Ƚ쑑B-#郫޶~An3"9XMe7K62}=-T!Y)-{ߘ d[F榫qIsS5 T/I8ܝ.$EUs.xJ6 2IP-ƳW'-as YO$u-RR_扨W ?@6FNp%cmVr HXqKlYQUDivMCT&s[4 9E]9t-)idw+\=mLY쉩C:񺆰cA#"8)AtI Bg@.#͝ 7w5AV C|^p^Z;nVjn/ J2+JV&ׇyUlE.hV#4Z\H҄GoVR3e$UD{&3>7'{8A{3 ]el5Jvd|kh۝WNXfXQjZKe*7%Pn QΒ$~ҕ_nY2ڮHlPeceԙ Ůb4i|l(SntTG3-QK!1}ϥ<籸qAqWc'SL|:^vpV au%FB9Cr>پmVͺk]%D$I:Nr uڊYZ\8~P5e^^ 򾫯㜭S ٳEs-ܺR >Bީ %`WjIHZTf =}Dme Of;cτ:D:Zz[q*F!ChhAtNHOvK6]aY[ZcY7-V n۸ x6JoaataӞglQ@BejB%gŨV+U⃧7jnx?g ^~F,lxy} ;Kp ik=SEI1RU2hle -,9WL LmyR8LY-zK RBg{'ji w2;΢r~l$:c *@Cg1[_3EEV3sڐ]! Si., zGȞ4w\H%`*-NYŠE3(d:.9 !?Վ_ȘkBLLUv=޳$@1s,ɘO 8nMٕ+bD#P@WQ|W5h?ɑF]ݫiixN$ÿ,Yp&\hQ2'%A dN< Uo0s8D/|e&ނO[ /SwjCIdń>~4N9-ec(^+QFb,GAVz8/dy/hČ>1)ݓTPf|3 Eӗ?fYZ/BzyFlx9!p onTP PbЛl}pv^k)E/3/ijĪ'yꪠ 4jq-\Ʋދ(~) pex'5~f8"OHLafFZ|xx2q!:&QD9_gU O{ʋ+w؂Yn"iF輡}u"@C2AÍ_Q(NŢJ*"zs7`z^bN2/.3otAO'A4GU7h?M.AGY:d?a4&~OiN|d9jvR|X2 B60t*a2l;D ,kWaR:Z\ln4oCޢmj'ƓR I 9-Av߃l`Tcrj% n%OmQ?}UE׀c} :X!,CLLʹK{fӊ Ė=ˊTG|']=tDd:iVu(wG>*LpnE1+>w'F}Ҵ'%Y= zbvT5lG{y1wDhgo} ,.y-4t#r6 J.:0kyNkI_ŁiZ`I,k \.&g#8225 !%tZ*P/ɭvͿ~4 yϒg`F:x,nPA4DPK/ڿv P l'<ʢOdv5>8(<5>l]vona)5Yb qK Je0^>᩿-ֽh[y"f @o} L9DKg(|Ӱ# L_KOVT" h.؏K[~QJ }8F;TNDՠODOva*n@"4jC"9o sh0nҝ7 5W$##NPdSfSa'Jw|U (+.--usƗiMB<_+ Cpuچ;nIJ<۾ai{`61+*㫹NNfy3A`2T/,4жӬťf(-Q["B`tW3{>ߗYaδz=n&ha"O?uOtRL(l^־mwC\(3(o(OGNLo꼟}'њe}'0">Nl<-^GlXPHQ+ބ;$*ڰKݙEeW7b qU[^Wk7В@}Fr-Qo#?UsVt/}pō[OM5*K82J ݞP٣*0.9e,*lk/,;7&M/qܱ;g^4; 6ܤ< 7 l-i TXo=&[:^5J>ů8' EhL#{mǔU!7%GvF3/K~r S DRqeJ h@'<:K;j+C݆CzWQ@-Qi ^ 5)H. T)aN@ciEZ C*ͱ`ԙ_hAEP;Ŭ U3 !!0#b)ógf9P N] C.ȼ;exR }{GsUQp((!)dtWг@rj֑H  EK_ tA~6qD:ujC+D%0I3YȔ64Il8SXEG(<3p)iu,fysp,E*_\y`pUXË8WC[%gW/fx!V%]::eRxF,5lړ>kmDӣٶ7l [8UHP3-'fb(lp6`gk j1*H'/7q+Mkۙ43F,q= iUulIJp%91)䮈v06=I( M,\H&EPAs dkClV Au$! 4yzvhhO詷2W]O /HR*R*WȽhEqEȐfZ๣1zfgn,<RO]Zݿ5X nsPa04NM,d9h ";t@~Q5EBAɠ;i.> &Q郰jbG=CZ~vzW2[L70՚ HG##Q+I@%A% %k9@(l͕;XTgb ٢GQ3/}[YDQ|Gul8ۙʬ5fD>"3 zj@1y͚!8К,[F/BQOF; 5Z_t!irNvݱR(ܙĉmVP_/rBP),Jt7-076WA|nK~f:%_ҺDeDLUM|4y[^ĭ`z4$ҕVm# KwB9QڴO:{+<<\ekG㕱}o .@TiG36  8)z焸#$i\*u-Vp^X:nٗJX*.p̅_Jݳ=2OWE[K *UˣkЙ My޽9k47 H"I6gn ^o3A=Fj'w_}0=csFaciG/OυMMN ҭ NEJoSQJ)TRv*xChW lȶ~T zh1Q\!i{f#qߣYD!v2Kmu,AVI9y+ͧdɌ+g1/Z=֯_ѧ%HD#nUL/tZ.;|MT!A뮈^Kn/d2$gY8a/d{@3ƞ<{47-NRn׮sE*gi&E(6͹:>5,_Eypڍ#6OB8鬸zƏ1#l!4&/iz$\5M1u/k' #"Y(wDؤ eVm&3Nv;ͦo^đC|"՟~[<`+OG=.۵A3#`\{ G?d 6DFu/(ø̞~/ip'Asٙ z9Չ\NT8ߗQd>jlEcNȁa}_z KTz@~ie)+;+~cx] U텊1-"PV|/z6iL $nx$ByɉztT5w H6")g0ϩ=;E 0e{5H87.bcϠ4ikZOnS S#f H+Suk-4G+YPt,}}u& ~ߎӅdqۦbe|imhRnmBƲ9&L3wtbE Pd45H'ZIqW*CTE/fnitSZ ~LL-1$"jEޫm<==]35N#&U;t5 c-m֚V )b "7`M]RPHmYj7Osx9k0^Ev1K~(2*7rreLSwd!9P?~~F y?.|YT՟g[nNm']E7ip$3M.U0y%ڈ h{۸(ɰRE(QDTh=+[1$Tb:58]Wݝ_`q# tlTZ/̍lOҚRδ?A·ş)ʫ)ξiU9$.ћ0Oq VS3[㴑v儒tdi-QbNe廳 %G#ɨJ -Lt*׊7B`fWTx$PisbCS&N`z ?fpY>*F<\>ȪE!cƉԱ)i ozE\-;u1N8:ȅ7'4eS[uyYTMvHZI["Wq9몫7ypU]~lu~z"؅p'6V"l&I.A7p0[P(Vm+'H JQ 9o)pwm-8%}|sԬ-q>wq][|Zx l@α2L;L!&?itd rKtdHgUfv0wφ"Kؤfc ^p6*K)įjQV7 D"35ٿ2Y!rn4&|DUK|ZicEF:>Ѣ>f(ιt=u^K_4u$JZm[&[0'{e&=jI&yIk`FS}y֓\Lcv_Ϫ_X) ]ķd|.3f&r"jIh&lN[H)~d͈k֪\t74c4L:|_BykP#lŅ ېmˆxb+,^Z9fah͛GL'":hN"us(Y4<G; !܎a-T n@1cSex<6+*{>1E,ܕP(oȡ`]=·'#4Z2pa#~:e|Lg(OKA hTAI}`1=rp<oWF3Zbk?? *ɰ /C]/>|nQJ|mNk*`U]ȿinuLLx(wMrlW)N^{F\D~z3dgݭGUcVkzq} q hU%Yg${{ݮY{6N 5_tL#@8*K.oX}I_ݭ%5J}k~ 3'wlkf:x11I_! v݅[7O0 Ai-V&UTwg==fJr2xxyئLLCvR]x)]22WG0~Zn/rcSxY:y\.\;='e7$kuoP5GᕐZaA&,Fd9v˼K^~,$n][a~v3y \@Y| >ac1y>~yžK]nd.[D]F+ =6S 4ć _Y•, yoXcWcJff&5:ل)һ9 ODZ`vNs#/ݣ[i;irrܡro 7oT:~?ʒ@80xr *vQ:tD}m"C&Ag2%m]D(u"o=%1d7BYF aW00$Gz|9 oqO\<5k‘>ꃦ})B JGfx*0'̖e",b_FpD?!#J?S5 W \nũu^1/Jzd+קr!Qr1dYz\_(hU6pb59˹a# /rG?-;&]u d~[Ú%-y.j_spiv+,] !J }t)eC2 PmT桤8/gPn+[H+@a9zMU}jJi;؛D!bND6"Wf rK kCA]\{vꡞaVR L}URtɸ( ?^.v uSǪcvM+yWls Z)uW&ޥΨm6ȴ6-'NPj^K XvT_|v DWܖ[4gC^'LI~L+R%9-6+m|i ="Z~)1Q>߲B]- EHEA0E%ep ۱H`c4ô*B]ҷy ~*p(Iw6٥|agB U|?"ю~uE!O$\j4 :2-[>6cSJ]ptzdO6 jr1*k5Fq̑[G_8,J[*R ):ԝedA\/lt-ypF#Ϣړ.lNEmPQA.7PĊ s!!'Vw>MbwKG[K ,a3=rhm lM)Ўլ[Bpg"U81@kZji#$Ę sǥMI7 7&N`$l]p\>뺥d`P}/Z8lrܥCЌ%BpX%`$f^it;K"m*?z*'CZ>|-ܚHN@cd0ߝoȨ}ߥ{x]5Q 60!H{끈jBЁ c*16BWVq|ъ*-Gޘ\θpbduA$Q$=̍\H3[&<&8(c^:nƙ7^.ɻ5 svZʜ6 X5]"L/k"WE !=\y M^0g:?~:,<,d1dɖ[N[^0咂uaȟ2AN#-% ;xDsH z2-%Y1 ,?>dnA+ ?JH*wPSB3>j_\_hF@ ܖGR2p)؟?rmN)I Pg:0L IS\=^9+Wylkx%j)'.WӊDU rin׳R"vۑW E*+:4`* 04<%_;o,1GJ`?N_4Dr$lWyBTP+,wcmi1?p uƉaXG=Όj?OՎ241Scv(NM %X))ֱݽ=Y9O>O8LlyVshp~Mǣɸ~J''/w\T*) Ȗyɵ*}:V51t*Jb. 妙VmO]\%PESJ.+W8w 0OhəڈC%=-2YT2u@dԴ*N),/v;NĩWO1D]v17Au|cqe{N>eA\yҕȫ,JIxۊ"i^zvp轎%TNLN ;ɇa =  SL?Z1>ԧÝf<͍N5+.1p\-7#Qpҩ̆:j^io_h]B5Wx?]?<ٜi#2;K$'ϐKbiMGaV%u8z7EO_/ґ Hgde Zd#7zP'wA ;Oۓo#كk`cx*<5 7YK#uS9HLfk-;w(!MNzBY8rpR1y u5f >~[Hw n)qK/Ѹnt׭ij"V{VO!kYNi`y зiev+󉷂ƺ mH|O4Ә@(5aGKu [mbq4A5M`*XP{id 5D$(Zf6VA8 yPe7=BۯxsGkM%9cT{!Ҫ1[=УAW"zqDJQEز%CyjC߾5G}2jrq@֊(#d=Z&uQ@05YP% gՈX;{,\hJ݂7?Dܼ%{R=6-&32@^mMX\>MN4[XؑplWO8m;2k*! pO31ЗmhWe5#-d9^ʓZHN)~]?66ܛs_˃k"Gu aAn۪s&.wɧ8zW9f8i-Zoq`sN-!{+e6vWUGhY NXSv

F1ͧBRFݒlW30ɺGq#u\ Yz׎c-~a׹4j>CXqweŖx )x =D4 q<9r4Gm];+b[(M.C@m5n$~[fݢwĊ5ȗ2?_3mن~U[˪Vv ᇞҩt#ۍ{\l@"X=sdE6ӼÝU|.J{> ZQ0&eH[ 소}O]K9E'1)蹧D$@o /HU8ʁܲG=-t)!fbӇ'bBOqҡU]N}c(S"u-jrXl]:kĚ N˂6F.G-.(w0 k=TO+r'>0ؑ(~Kjn\Y_ij[%u}<\:K}vIq:N`Yr;Ҫ59kKdzSr; $n:A~GdzX@|ޅ)9^lOjN}$#)ʝ c@eww1~~-`-/}XSd zSD/=4: PzSmϊZ)k)l` (Q`?y/K~%/q%Zy3G_1mew? B#~B-JMMypz ̧yIx[(Ӈ K7ET& TtP_V8-)^T$m4&| ut~i q`&ԂK~g0=9{e׵˲\a#3Ǚ ^B O`. @."ٙ|(-F"7_[z'PohA+ j䩳`P:O:Z|jlö>`Ev P!Kn/EeaPk0ȉ:'^_M[G-ޙ_V 1w~Q|./*D]2 QA.FP`+fgk$tV/k¨%z',u1 Uق&9kwPIMSus&kiC{]vUl;{dl%4ZV2Rh;&GVӺWT}=*F]Ĵ$J k,ks?=J ' $BՋ7r.0Qz!8J6hN/E+vPL-6-/"5?FcWZETE2ͼ\kM6T4(ʢ5cJR~Ƚ$jq7EwIfdڹC)ߛ"=i^SPt.oJَ{I0x- -aPn tFq$TnpT FPzR /{8cRV {>mR^[_2'0$JHNzۏǻS)̻8y䠁5F@[QEUjll:QV&Y8ްRscA'9zV/q]xs gJ0)"3Ꜹ% k ^6VIgK[PW[o/L&_S&1Цq?| ۠[bHi߷37)-w8bT͈g D83; \|K=T jdz3Ri#XH+BZmDi4r%'n\xDZLݻ7A3]ci,oBhpZ>k EZpu=,CD\'=s;?Ξ; [<ǑH1]moAϹ\*rZ+]0,e9a =.h|пx4z=$ό%fڼezd@1<8 (gI!Fky絪ٍ˫"`xcw?E2b[)鴔usZY=NG7dQ*UZgeNI5EP2ڑ*Qg6Gp|))`=I2j^^3)Ubab̐T9y~L}ɨ_qhBWϚ6j"W}>|3q#i~%\H/;5 f7֋]Pj I@f`NisUN74YS۫@]PD s#-َ3rjZ)szOqG@;_-zK,,Y{1hqjǞV]1{}Jb]kfğHuղ~.Jgyqă   (~y`P;tEuCxwトuxɨsABHcb~!>jڵSũMh00,H>g-:NjVO %a%I-6&cX$;9DzeJxڋ22]rj q!֫^ڍG2poICҁ;ѕkWb"8Pid^Hj@.N-hqMFi4 bB C0d,I1 =GqT`?BåHyr>' HX[1 ccdxi"@u v6yjR~/}7H3ZVɃ<'z2ڵ+y6er;#U9{ic,az 3"0_!WwtZ׾ 1:(N+ tg$VVh :--?Dt}!.V|P3s-n>-\= q1[ۦGrO- 7 PaD<b01+!־]^N[N?uus~YG8TY{/+@2GPO6B99!JMΕ0`-vp02!kho,##k\JDsVՙZ^*+{KUl˚d;\`)wm6eN3\r)[ll #/.W`VݒBi[Qrf+Op UYr)b5[nZ#O0B:l\l&ʹ0Q疬#񚵡Ci<~l*(zB߼zXk|N4ÌryXtT3m^!a>;LQ..ߍO4̲η!ZNQ" S&9"R?\{y&vDz !E;y ǃ\p#Ee$D:ợіgń-JB3gYDSCYLsΦ~)ۑ57JA ?hmlYL_K9 if4æ& Iqd @V,}ߞ.J_J&ϙ(.@BA9rH M_]uaeɤSQyo|#FPYF{w4TJ"=T懧JaO):buM&lD25 l67=ІSlbHx!]ɍ pyVW9:omF0.E#-w':7:5+ILW|q ԇw2Yx. n?&/"d;ZFcl>;C-RAMA7>o&HIS qs\4L"E/) +[p G4B|S,* z,.s4ԋD6M jۦ0A!(ٷʃ k1~6iū*i50hڲ%򖣉(wq)X7xD=L#dL={jۧߗ#-;X\XgB{-gzr Y>N8Txs1#LDi#<{40gEKCziu_ v\wNgyF,hSBvuC]I=2tr} ܉磓c |J'DÕ*z7zTK2Dk5oxL=SiN-ym Lx`~á/A.џ}xLJt~"'Go4~WuV.#E7h#|x9:m>)ʀ ]ͧvcq ȴ\gݭ2^* c*JXNBor@ ?&x60&n7l免]-i`gkA# }1]ȟ[)d{kQ?.3B}#:(xN}B0 V^RxŢ2mx9`#4[k6-$F!1:VAm{re^ix m:SP?O`&Gs8iD=ٮ,e Gd%\.T$dw w$=qa[oJ >ol"q4JjF.EJjt ̯ N3-UCW$]xo…K:=Ū1+V>ʻK:Lk~K(_ZؐmVvP>+%~5IgP($`6*f ɫ4S8<0)o޸^/EyGQ~6Ԝ(GDPߩPOsFTȰYwO0ʰ$'Phǀ\\'xս\ww,MA>?MlOട^kϽӦh2F-ӡW@ջpn\_FJ+7CGd5etr]׎;K$h)F,7XI_wa,Fz#itMFSǸ%{?7*N,|~ј(cyK (P! mBROd!|&!(57X*?bsC5PJ۬*(L̃Cz]KdFA$ H{;!ws=YLIyl2_ ',(Rhtt#?7&]Od➊2jGi_:{TsY+L`hIܓ}q/i56% (\'G7hƈ;6_̙HҹJfBhQ/F~b&<&IE֘ӵ]1jC3w@Ftrr%&SұhKG-(\/hUo>xKH_ZɔAyCP"P{#H 3.vДXgμZ xF<Ob]2jBw*wba"o+jDo 8n>vB¼Cnnf5QN{[M}!;05#ryc3 JpAW)( %6Ezc/Vz?!-hik4mIhΎ Zrn&aδLg3oLRebt3i %AJ~(FBp E:"P?YSH,#ǡ,RPe JR¼t-kZ߳~4;fOIY| 5&J~}Ri[|@A->E;&u#o DHnMx"QDz|ڣ7!ZR=RZ?JGlF}M څ0_8`؜H:ˆNBn:wFs$wJ%jmo|(>-Wa>mfgb} ~bk"Á-^wD+|&ҍD9TsL*tCuO 1T&j *Sw:G` \e[],wz;PoFYX`sEԗp RŚa+CX=4,ۙ TZ'~/ޙ+0yy5Fg8B.` ar#m3wnQzwT Y6a*^稕ٷ55رplk-Һlfk  <4Ux15)鼕QUؠyhRΎB-PS-RYQEDX}#U17' &Ǯ<0Эc^/5'.uo:aùWᎁ?@oai-F f޸z((T:k,kgkZ:r&B9΁E N]v٭1`3zU')V_%zib- >lYO-U(+B%;, k|/F0\l EBƤ Æ*kY+d:m7t-rhMoəwǓ~0`+Lixbm:|o=-@g}ZvDX#ev}JiB"PrFLZ>tSmǍf=!71excNy&ںv&j(h]{q(\k)t5怕j܈ 0JB^c&k{NF0GX$bVE@LQHf2jP S7j6n,~S+&VJ 3ZHFEVǗsC| >"d<`a{_Ά|qewruVuzS 1y+gW +Z;FwXѥ%WW]} `;܊#bT5TR\7Ԍ!\r1NQ#!wGot%UN |Q f3GQeZ(P9v򿆴C2l>=M|YP[Dq0/C궙S[R=ZDw#C-XeQ6PĻrx,9?R^:{Bh8&M̻`LY͇ŢpS_Ӕ~e%5͏`mj Rn11#>eJȌ5xm^x62ŗXi;|H/c+bdT#f]Fqu=qUS;(v/Nc!NZKZOWog ["HBȏ[;Wn :R|$ tHkg!WwAFtИII+dfϜ! xVNgHdq4\`8  ǹJ KC5czh~4Y`FDcCNr1&g{wcjbDQ8*t͓I<^#~{ܫA+ 2"Xr|] !]9%,lr9s0z%Fxgʜ,=qZ\:LlaJ>" ﯷq}I['P{ڃEw7~޽,&#4VKigBi 6s*%F.n_rԵ| ]%5|~Fn)_> O%'9G5wJ&<0WN/";4PIg1#JtSn2ʋ;~<eȰašVz|U'P)Q1\$W>J Ѫޜ߄_p91_22ʣ yc*D5I u$?ԙmi{Lьj2ClZNFhG?3Kwx=u$)/K*a4!2 Sv_ǎrWvIZ $lq ӎv7/^z% ^)^A^ \Lapgp6P0Q ^hE}bu68*kxnGrؚP7ֲƌ6UyV1>z(:LqMfCCވTuK>F=LvAlgzaN< UIa${)[~\<>MSyޖ ߥjYDbբ <=#Y|^rg_)/}+)$1vՆ8( 25v,`Kӣ6"]D"w9^AM6[#%l]K%2ZhH.H`.Oir  ?_[umt@eBtjVqMMnW[0W&7(X$^q9,{*o1W9G侧\~s٤0aCpyZ?r#Sz7N0;HM^ץUe7a3fDEpT|77=tw$үC7#<9j6ߴHQ US 2k ꅬancaQը}Oyk_Muw>\cv98'vznc2a^_ߧ'aN\l^ҒwLE oxX>zSiW{EiE4JM.o{U9qnGj[NVFJRA7w̨G# )PP\5$CV]kD8L0No1Ap YHgf<ӧ+irbXר@Bkw?]])fh4 g8Ee.^(xf,A盹i\weM]vm(R(ZjO~aޤZWIųŗ#DK"_I|iB7.O3lB q%GS?z-i׷^d"" wc,*cP/XTj~QĠ|ToaVϛmVX, Q~Иl"?80¨HB>} ϳOk_҈7y`$ <6}AI2>_*|na: SՖŇ2m"X]oBΫ3X}Hy`B1mVǥ T5 Tj:؞ Y ޫł8X9.Y} rϋe`ʶN>JM%1 ?7L}-(4}_@ίJO[rt7{|?l \-pƕfy8)*T%'Uמm !7^E} к<$,t@ĵ{"$-/״`ef䖺lv6(㕻{Ǚ~θ{qp͆cr B-g'% b+hJW$! լ5`|‟(̊-ɸ.'yΛa.-oF<>rvEDU5&&T"&-L<"™@d &S!a fr;̮$Ⱥr2Yq'/2 N_曫t˝ |O>sԀ4CSy1:^cji 6d^ec޴#4?őVvNMWu:7\$n/Ƥ7]%7ǘ[q;+cK=12>X CdG?Kuޝm^]<[)?#q&+ NwpzU8H DlYJk}z?=65Ph! lw):YR<tXAlr iغ"R/LAWasVERg˪O4I`PTǒ' fx8R]Y=8S8\&lqs^ϗ $\\tL84r KΟƘ:(e~ζ04,3e8uWGm~n_=DRso"iqLC>+Ϛ {ʯ1Z kقg$ɱCwFi@SuݫO3'yP*Ȥq,ňyjz$ '6_Q>U}$%wp3Z% 9+ƃ_[hA=ics(bu [ěʯC :ygsת_27>/6EUޗJ`9 ׹EpYS;t_ʫU=9 VNnEnp:GޚCݻ'+ESUzpܵӭU=?+F޽ (&Z[fYȡvD#LR>m\| 㢡R3%[Rw{"2γYlkK C{p8Rڟ+X71ûƾ^|fx0L0k?tĪD!DZOFE)o0~E0G8v1f֏X_MPMJ%l/-X7#;biɶ^F5!²Į\7_GܠV32NI:f#(Wzs ;]8t'2=<al#F2Icie?9uOs;gّ^~Nb7V<~J)"1feAY>̆wW)چO1J~)~X/W&1i W-{ |Lݼ:1H lkڮ& tե C3b>C2+ܼ_X yggUc cG8^(9-rXG5"`TzQݘKfua8xA)&0쉖6^uhJ.^!,aVc$@Ϳ|;Iͫ pP~y*/"@TgJɴYG4ALF  yEJ '9G8 YrU!m ҦXhYn䈏(:O 6$1'1DW,vFc9Ri.̞ 4ym3*HJ>#;1g]|UƳ^gnvD@`E0ԔQbĕۮV`%exfuP] 5cj8MtrB52KL?$L⠤}O8>6GN u9ZbVlo5;GN y*OG}[ʻQW ӦQ5:8iX\[cpkb2 4(XE0^pC컘&0V(P;'Vvd5@?;K, W ֑M-✩ f 0#j0{g[dx3.z;5\< ɈݣzmsP]K f7:cxI 䆒8z:=9 Q?(sp3U+ nDJaiáajS}Mw~n%{fvY+"RJf}()<L ˃+IGZh*EpoX(s=WC!9V <]9fVV͵FZN쎳J˳gGѾ3.;eQbWg}][b4R%D+|7fc}֯uyV ok\SEn5ݍ"O6N#K `~ B@^P{Rc)븲R_xvlb IL D1LbFȍ1; ijBuɳ,O`F$T֢j+klc+xxJo7R2} ?x])m9Dq/3yBNBpCoIé^}ċX#I'I޼T]G'2ds(Ar&7ߍ r#^iI\A h+6!\gqV\ͤz0W&MhT4lUQL/gurDfGްW55AaHDf4['tf[=znS+VD{ rǁqM$Mm(E`J$T4$؅iau&Qks/^aDDE[9.NZhDswêoӺef"ϒڌ.tq$ ^IIzU4ˇWBs9& K"|.<i̭5)2&?j9 y9h |@iug$i=BQ5/ `/4G97F )USpWbmqz VmCN9 9l ͖ ,ͰzumpN4>b uM @qs7BQOb&?vTJxMӘ!]2c,A{lQS}˽T~oBm/VB(@ TtxfqppnbѲ΄b}lήZ[V[{źzŘr $DVy&Sr|pdW•+v@3J.1 ?:@>;:C9־l6Cȩ1zv[ "q5Oˮ$:Tl?} 8kiL7?e}OhX,< ؈}w4Dsdhr>IqԶ5Ns*lk6Oz14@+F)jaڳ&.x7GӤ]Py6^XSm%z*]Q{z6$CDԁ[lsLd÷3xcpP 2g.׌hH*a:i8l i^u3ao@Aƒѹ-v+HUGQ\ƍZkU+9<JE;}`*ǧ>$owr)aMZZ%Xfr3$) :}-Aٍɷ\G>}47K۱a <t :EZ" u[8lz,o8\nO0,q@}6\eqʕź%=L%FXhn_t/?Ԗ5؇ho) "zZWaׂ}K,r8V 悭?~8Bړ{~ zUOe69&Nv2XFǑZx<,L"xd)ǜ󯮹t7 OTi"dحL_P)Ͱ0`A1;c_xSCK&mOjAТ:‚=8Ac]>Ud=k>m MJ}D"U21x8S[q0zz]>ǒ)&/eNϊ^#M" #H R}eJ 0/f3qYO@^/FȴA$6:|;yN=6V/<+sW˩?"J8DKy^tΝ!\'۔`@[OZg: } Pk4ܭnMT(K54dw>&*XK{zȝh>ܷb #&Nߧ$^[N8aA< K￴F^y|d1} rB=Z/e\MLK"c%ukʱ X:TgXEz+$Ѻ2eӤe2vwXne@{5KuJA3 p=< Q}br?-Nn Ho7 Qk4}4;c*ǚs|IgKV?ӷR[X&2#d hl_yud^(|TfIKPN[P;&|K =}jyV0U /#-3_ԭ7'4RJ*j4IRV;UF{ngF)w|11np#_(˅ѕ~*'uC*YY" M Ұ76"<P%OxHfՋoiGk)5,y x1]ג>J7kboW@i&Zgl)ثv;* 6,kg cj2('u+Q(Fc5ǔZ;I裦Fd 9뤚|xiݓ=j2oY)Tr:[r޲3a%9]5GFw`Fț B#1 o%5e_/XtN28.L-dj 1Tw5c#֝}hYF0q;N*u Ѩ˷+Q:|w׎?tDfrY-/GӫU5%C쪌4.XH; "be Hد݀% ;zթd&g/->V+9kΦ[}ݴB/_C 12Vvc2CR6'%̲+QH6f}v qOC4|nlگQ 4R+a$VBiNy@6L+4zK0'Z/rlN#4`QiBxAdbp$TJ=*E+Ñn%.3A4?, `G=Nw2^'*]4`cA..܅E 66.͍"ڀH9DǒlnƹJÓR[6ۘ;5{xQ Dqf+:PSI)@w||^D~}gPoGɒBf75>Xr^(8 xaڼϊIϾ"GKz>s&t"e= g"|Pn?#g !< b 57x;?sŬ>$);P):ΠpуsS;򞐳Ijv`xWG߾X0RWQߟm?/1)wW6M+2c#6-O~ O\=SY(%~-?L`Mlr tuոY z mQQ^יQZA))tؘ YQOЍ_T/> RS^s22OTE~P,Ql[s^O7n f~\59g:rXV2KF2TZH1wyc;Ocn6B­Y/S92 kaG$븀ymL΀h~FFO@8<$έmj6ưĿĪ92B\`cy߷:oxr`lw1h|dqґuE>)*($ӓ~ᡗMyLɬrR̹Gl?}p?o  ' LX+lW$>L3e~&aޠ}ɅTMT޼9'qh$Hvɼ?axP@-ȵzy"'jPQ}!\8kշ}=E y=k֚7j|&ݢc%fksoEc?Qń#PR[v5obCʊN`"RЫ]x?0sl}(j3*r)h SJ| j}EwsHlwIB7gb_'.eP!oi-1[%`ڠoϲH!\w~z֥΍> RNVvtKjeAEȚnPzq?ݻ2v|B/oS䝙X>*89t(GFnp=8ቹ(@z)tň}zԥP,X4!1V.(C=wxP*V%J%u7= 8Vl|q-G^gTٵ>KV-ya~qNDJksp-zw~ {2]`8f]sТ-5lh60ʈV٫e$`^9]Ǫϻ),iL{ibہD (< a{'| Щn Qj@(J4y!M!awp.,zA+'{Zd ivZS*)@Uɧ؆TITG2l:c-BX_7uP@qɅf]`3s.྘^UhI_'$ڰP0":0&lh*t-7⫸H4IdONdůΝNX]vg1 Gi˷by*S w E;.9y:@Я1u| ^́+m%I_%=z!UoEQrIz@T"B-Ůa]}wbs9~zxNlTyA?Wh N=5Wy?}Ç&%j),@|UZ^rn=ˆ|a0J\ tcᆇfB <ίI$1@M QH,B}Lmr5ҧeGbgA52m̬8q*4*v䂠n*MEUKhfBV<NE(ũ=OO}>x@c;5ʪ1n6YfjE}DZl`Lt֯F{)<ɘVgwiK"'䒌]Q>ytJ/Ӎ϶(=}- :\٬tFkdؔC-_8p .ݭti;}HVyuW2/IlzK jl"}P(ueu`@7 fpYKG_ح9T~ȳ$&J\xTMo}Π X>;CvTࡘN2oq6%ܛ%m$(wG,\lLրފI;ѩttS*)WclK\&Xנ׬jpD;hiŪPF#.I~Gʵ*柣lGd(xYO$)]b(b&eCITk_D>kP?+$f >_JilH|*4zޕٻfMF>%sʆl?JR9к*KIOs$Ai41J;T>_CHtmI ZWK `iF=7u#׀B< W˵S(SYfvH"?nSd`#{RS40kfc"bE,p ,?Q28 xL{!`K\ʄ>iLm]L-+y Co\eɨ̝=pz;S|NY} :<$i:Zl#b3 Z5L%.:[𧦦,̤4V6±W5s7~k7 sRs&&'S=gCU!b"woC#We\.qi;,Fc!,Ki{T()xj/ycz{ \ ;L0g< ~L~L}̼.kӀ, nI!T&@Z;U4i׶14׫~rL)`CK|9YEE ^PD$k#Gu[}'B]H 3ܟ$5=,{aIr|v2b/=-<?/b۷R9Ң3A|3%֭g`hU$D5+k OsI4h"o 59Z޺r w^&e<3G$ˍ.Eh* ٠L'ЂxAA7*=GRC,=Š&-%%bROU_۰ .w=_J]As)mNnnChz1i,k8֓%$+ wX96n9JcvtSdz6:pQѮʺ[:uw4n(+w4o6twjڨ/">ylS{⶜4hgax* Cz49[?pI Mӹ NBAqmNým8#$Lk x`Tֱˁ~nBQE荎|m0R{ˈB|/z[Ih;/TM(Oç%O^@ŎE{/#cqk7R1n,v_KC(W>W?P_ -S7SqtlR2㋢@T+kaŊ.8|Ntu#$eWu{{OAIK7éIp%`*Byga j,hٯc 屼~^~-G -je߮I&G@8%3/xuO\:Yն3t]RcIz~p(gm7I"Q֟?QWOb +.!@|&ɛ{Of< Sq< ZNêB4X*3䍩Zg{·V"ɘ(YBb#;wu'9~gwmT,gEo=<=a[v~#BtǑ16 +5N8"r?cbBLe!F&.@Vؑ0 鹾tWv!pPC`^I\b\W8 .}bD>bTF碛L~e)CsHGZ-&3'@Ga[&v<1=XgB+!唚._ni̓H*Eh lvl虲Ff_xr*\S,!]i 9u\RSL[I ][6/s^ptr\By&J XIґPU)5cAmō6)wDgYrs̰Eu}i~4oPsW\Wh:eQ Z7WËgyzC,?{2-Q8/F4j*?&|ǡ֜gP9!)&aBvzځO7wi0k̪֦ ;G? JtKd` (u +B.xTB?N6H2O{ԳW>KsS\oe"@!du]4j9w}eqGtɶ*ϼD@)>AzʩQл|ևeY>cL5?` w?%`is!RoǶޘ2 )v_TD~Z2$!7E|c).(H 9{+7<ɝN`Z7 )姚6k3d?ƆPC)'DBfW[v[K;Z@,N#,_?Md> $%~hka%kF/jP,&}nsGgK𳰬NleJjqz[zMvLSlY8ev2VTSi7HI|pBOMP:'!alGnl3 d,#n)NոD8kr ֗=\rR c}ImН9!\KYD`_Q ߄'\ޢvX)4ٴWrVjÊP{V!Q/@*K42R|* "K#Ũ\c(ۮ)NDE]\#L^tn wg)xu8~kMǙ`E"i ߳n@S_ZuVM,fuk oӽ@2&2rhֶX.;-TYq{J3es* +#组u +TР*)UbhkHRǼ8{خlbg 퍼AT}6bJ%S#h /Uv=?>٭OHCXgT6߭mV&jjd[q4oV͋:̢G|5 u_c`%!9KnNZTĢX {\rW&U_/]%r]W@$>^Y`yCBߕ&qXNɥUZj׍񗥙.g#Mc~!X%1pVb9OkZIAxrjnKnll!h<L96H7SmBkK@jO}֎ZG-"z]wS뤙1G6 U$0 , dn )GW| s>@O囜Fc 'B|O4<ف:JGS r9'tcql.ETTnTl&kסּpz>Zܼ`߁C i "way4~jϴZ}G37*xxXBKI{NaPw=UO(Έj$)dog ;j/2_{Z%$_ -p\-FaXDZ Ӱ~)ƹ]CHg*&rcgmRy6O* ތ`xg" loKQ%,d$T0} .))- EŴPLwgt%s(Iw [;qFsbI~ BblvgԞD _>R_>>Ҧ.\E&="M_d{ 9jT&CNҒka-ͦfMHTvw||V-|Lf(0kcOHwj}uke)kSeKTW4|=0d;{@J8TB$'^P. ɏTD"u`ȸsJGlKԶ+ؿ,٬`!-Yjoa#RwRF){+o!!J+(1OPJYXKR:#HQ5 ~ \vb(&7u3kmb,6yp<4!;:omr}QidޙHG7 8jdn_! 8 #Y0(턎h#bK(Bc5rE0b+]=xi[S7鞱 7u@96O/}.gkm-ΒAÂ/!= T\1jߴ, JT)L3m e>`0˷ƕ]Xˀ݅H4[h A<$;t >nTg,:I6Pqp=H\k_Y'ex1VM43;Jpxoca|!.wΞ hz gE]Qkf xm\ tiRK[;\29F-כnJ |Jl ˽ Yc’oX{AFX ^|o%5.0!QEƃMb0c'C>-1 3 8{]i} aF4Q=$(iݽy@gˇ=V>+Zi}Sm lǓxIe•H b7=|ۥQ-EAO ~u>{A)o U"1XA!ژљ\wכ]D *J')I+}DEl΃A*eExe'r#50F0.u3б[)=">3s'~Ypc.Ż]`R|4Rqk7eͺP)tllij#aܿ Ֆ]\$4/hrUxRQ²%R*̙otVh'g[Jipg ޕ`6s7^o!u꒞Kr^`@6w aFI}Z3B(Q<*J}k-5z]R77銁rF/ިlfE윸'F`?Ky~¥ `YN嶐iqr56 -$UN\6U%󠁌 J R?L#'x{ n"7o+/:x>lILHhq"?9&E,j'q}`ಶV`_"]66c\ܝiPR8q:,4f R)R6LƁ-0Psro o1&b ,PnDY~X+VE'6y >&>&U!НbU=TN3"S0 Xj(Vbw_X/R1B?C\FD.e[%5PW9u*Wx"f2PT~ $˨{^-|ͧ7R-:) &mx~/zXw %H~}uЈ9Y(2^͡<37ǥd;&*D@wmѡBqVa:wtiU8[J5GAEX4r#MrHN?#yoa i+x Obv7:?=NYM`"là4pk1_*Uzi;Lo#.Z}u} |j#ޭ>BfwX"N02v%BSQ٦Nӭ'3*,-"\2/6UDduK!u _}83Ё(& ,ؤi 6``S`>XcHH9nn EGPFe(k~q9^;q6=RU=\zQ!f4ⲀtB/GjztJ޸@TGġClm\zݮL8 M;-$SZU#udgee xq%s ?Zm|OEz!:Gq`.7fгtpuE٤D׃ _7\޲Q89r{rͻ|n0c "݈VynV - /b_i%MT v[^ክ25u4C8ǩDQNbK2' 3dAsqFzssY4zܒ8 3վƗ* [F \ ?QPWsLRJaM R0[luP<|In{qFTp(BDZ/ ϋ‡u,Lkc"G7پkpyA9lnH$o00=dmw": :TfїmԈ,R DM~&J "@_~auLu׳w RUF, *G,cŖJ|Me&aeES`ZXaWa!Wu{+G`>۪؊&jT( SἻ#9 s0dA!Xq9r>Ie~} dYd_QLCFe^+q>h6'7C )4`*XV.4qoMn穸qi4BY?"U3;t5F*R5Ԃf0RKkƩVuDdιZ*LqlaIXXuL!,V%R(ȳWGx1ۖJ=ǛD;m!./X<kȁ `U/u8ړX|a#ha_ujVB(K%ܲqXHxMnOU.`Q\/Пrn0DnV`r|Ó ZV2xsG\Tr6?A dئh*Zk( Tz\Z-Ԉb̛K屄̸\](.ebe8%{82=?97, +ә.32[X=M }$#Op'!S$H>{K29zi7%հē]g7AS_iݞpBЬR7D1ٹ)h2N)YLClWX"ϖY^NBH~^IHb[B/"|I{h1z{ ̤w.D0XW:|L􃧛 'Ҵ Uڤ!ٓAP)愪n@7;J Aߕ-w nI\=!"/[iWf b@ӵr6` jh`=/- r[f&OGq,yp׷$&fpkde@*  ꉈ9kz'taP=5[84p_<)cLv_ؤ ٣jıh*JuȊ4߉V PIF.* W!А[ pxD%.oho ^4b,l$/zio(xX X4ZO870Np){BV#i?<=ep RaE?7ޔBwmY1t7XXߔ>0˧ӯRb^|hC3y"*%)׊%Uf,+/ WNfi^4?+k nWe]K&gf]Ph-.~҇v 1R a >JDdQqbux)'чY5W;wC\*sȏu>vE&q4"IZ0an۰.PK{ %hel8УЁkxW,d-2lG6Csa iWUR0)&nTNMh j}[_7~d$ǚ߰|K>N:h`/e"0'!Үzrn $ц^Wř̚=@Qγ i9`Hkޛ,e99>}]=9Sf&f{4mZwo8%@kaoawT?WQgWsGl$RbRz-E9MFIY鬐'{,k&),矣UHv pE'tAnPHXAKo}RhDQBɟrnuQTZ[@lhgıU۪l"OTB#N 99h 0>6UCDfJ1t%ByqLJiC]l8}qz:6;( Ѵo>Ew]LkTmV3QK2{`WR34ӷ᪚Pڴ~qvP{T[,Ʃp 'PpϻWk g%5ØiE-P7)SlWsɔ?g/)VrSstۮ| !@=4mG8D4E$zgG4&](/]l)3d'3!۰Pvݔ $Ye@s$pȣ闏GWӴ U»?-Z*St=R빽_p/Ŝ3#5{ʂӠ ^̬T ,cˏܽ@ۢ@K5:?WO0N[ZZCЗH3Ev@|ձ9  |u۝˄榮SAISnxGbt֟Hˆ6Ͽr׀Af{p)PSN9 Rɐ߮밠l!0@`J*y6/`G]l#/e\7&yQ~J?rIګ3w1N"/)/S {Ja\3//EO{CV39BvT28U"'8YS̆PtMa$ޤiϚiϥh n:n2{1 1DlP I++Yf!L!Bvgr5gu-era 91~vIEaE(xiڹt:_uapPPa_3M\|٣g2c{hhT|6SĘSz\SK[qH.Ť4c,- ǢG r)9E/؝baDdSWUx䒡ᇔU{zM1 '=,w.[75.i|܈!Y;Yw"w5SϏ`@uyD?rA٥[aO~jHkv}R7) VlP__D]WGR`C/^ g(UXUHr d \2$!=l ۫tqiP$bQH3ʣc3ǩ4׽Rg7q 7 .K58ri6K9$E 2-հ]kDuya~j]-?&IY7V]a%(!rۛĮӅǕwL~m&Et"y"lL&A.U k D.Ml:ylojK;P::Ayk<8Q83VRF Q*Q|L}E̙ y:K_`+ٌ toN lgS<ѳ2 0Q8B?1Ҝ7-6%1jZBbdftL]wtC0!*I߻$"wu_כJ@+yOHS.jɧjh$'j,H| x# }TkJpH"XxC4EWb{Wb'+kuJ2U %f %$vjMa zIlq4&7%Mib/ZUGi3)JTmqse'ՇWS<|_HFSA on ^@ʻq4u6!oMȟs`a`% v.d<"h#Rȉ:O*cQC\(PNfv?ިs֐@Q tnqYt!l a:,EHlI9S~ :YxA9bx{yxzM s(ovzםq^(8pe`Mcxd~; b3@;c?8g.7$wv1 r 'TD \l\3L"a~)Mp(>"CQ9d:AǩøtB"۷zU0᫙O‘('lUY=eHE̝'bHuo^f?уWG*>d} ~#j=aЂ_F__N|Dp-V}xh =2K%YkI̍ t7!J5אQsD)(G˼2ƹ2A m"ޢrCkw*.f$p{+V v+$Sn <NJ.ZdTEd.Rna%|*<ŗ>ev7MOO qm,;i;،!k:)Asݓ#V[Nsׄ"KDqQ$9#|nTigʼ=/ʤfä@4hbp=U Ɖrqc9 [ޝ׼E1M5X^qN(+НXP: ?qE;Ek@ۼ83z Ɇ-g/D5xP Di߈J]yPkygշ}aDo1Q+J3S%cꑣɛ*(㖨 WDv O^W|/|%sހE p܍` SFWst, b ,. 1D7u)54ob TǠ42as,IsTSs #6ݻHhe8]@+5x.*4^&gqBdL_ɐO;3q$р6l()4O4aez̳))'.rkI[EpHgԠ@'ch`Iz7FΧԜ rQKkĒ_)M{}ԯԦh{'ec=RC1r RZu\X~B)ʠHb($6CهwtPv1hy'cq5mv QKMP։MOHqNۓ@:k~-S!nS;LӮ -t` r*<&<믺:5S š^EA>|)IdBdaN}X W"H 3B08uF.J3b^`LPcEBN R\͚.,Ma.7ӌTXl 'N~ω#ZLQM{F-%e&rxo"_*21,VA!it?_z4'#)×0Ez`Ň۪!~] )(I8q5YZ.J&}lvRn: U N![ûf?X |֖\CvlQĉEc@Ǯ3Hv3b4ܪ%Ԑz nj+x B3>;m9=&Bl"x3Y^\+%'tA RLS$tݒ+[tCdU` %/E3$j^fk}AlhE5 ,U$U2rt^Ck]V/Q.}/(9J;CS34uѲi5Þq^HBEiWy )2Oкmsu5_I&` N&Œv$nhmbej)ӧ9P"_n?K]~QUv-k"rVXX5e˪:+ j(6ѱ|%ҁi[d4Bɼqi2!_f;*$#YH2~&+EI cl_IZαO`kEѾpi&=l>qk]n+%卽('/: FVheg/Y˕L%W)m[ɴ$Nܦ91v^p2$Y'=|D@O;~[nGԼ({Uɳ##įiXP|Ugj0j>A"Ys>#e8>rK޴Ux= IKDq׍L62 ඖ%4h!~3R׶vU/Ox7`U'*hw^yQ_}TC㤦 M^VηPRQ`7g O+uv[eF~LJɕo罿1CURnuKK,GR@Ƨ‘ Ti/ 4!0OqY ރՊU>i,d:9*DM,dM2/?| 4?2R% -4F寲}V||Eƥ6v9n^Mk=\o~LdoE(m*A+(؉jzY4@Kh~:.s^3->h٨{Rά?~gCj^݋ˋ}iO 6O"Q2PSq#L'&N>¬uѵIK;IJŸKr;y8"&:okgf䃙8V QY<fVTwC$%H !K鈝U)`;= \9bW3L1 Lle8f!e{֏~@Z/ yׅL5p0b'9HB6 *H/{CLClz@ \FVl/j NyvsC>ZO5e = 9j&t1wo#荟ue~}TM=}r| fBH=s-K 8pZeEM6p uڟ=MX(IˑR¹D)oQ1vh'|XtET ^]s-lN(wh@eۍ Lۆr>0Et Kiu;F(Be\%Ii{ѴxC+ึgmUd1Ł^}$3c#RVHBIcun-z7o yB.p #vBvk NGC̢Zrw -(P#erhXEq:_"p{!7U{_CһmPKZDꀝvV_m abO6`~U6!]s4T/HA]_ P!(gFgo̚ۇ鿦B]dnXFqu3ppJ[d_}, -/+A3]!d4ɭ)x0@=Uy&Rum=n?c9dH]j8DϪ@QRZ'-߿: RbepS xSBVDDab-)u'R;gND> e / pg @y9)>'d\m~jZa[#.5J#$3i'׷%<tL&8oEI :tO^aFK)+BfgK]cD3-ϙŠncdV"7#16Eb6^/bMӳ}{`.Eݥ=~ ;ju 6+Fo(Z4{Vdخ&ԧ*`;j_ɌיSD`؜:"%y*B嗄㿍Vܪu)z'fT%mߍ'w]h{UڙMW{~x ϲgcHBhE 9 yXW[δ1^JR^7N37pcx!wi8`&'^yK4@>//O!``YjU6I*SD(jʢ6vJ,}I]1ؙg؃GO8*;؆^ODB,Fͮarat?z=݈6NT_3h?#Yh P]@ZY"= 1&t7zNǎ~ϰe4N+Dl?7N)J F(Ƀ<0Ip?>(dj\{+VdHZ㌫&o(ĵr:\E{J8bӴъDj`!rK^$bQ?u H+_-#1tv@vO<>e`pA=Ep|N8g/N9L8)̾ mڒYW.RJϯ518@a)t3G7mkml RS3[kaMq/J<գm0_ߧU1w`$8윆(iࠠ$_k3Y WUUAlwu[Ǫa6`DMUQ:`辂]*G<reE҇7W!Zil61bsRAgb3 q@Uq7ſW}쉠!`Tn 4?JH34x^T-%k%D=R`:brve:\!Kr=l^X?H,FC3zq5<{O~>ˇ"eM0~ ʍ#+d(w YT>JIP}/C>CIGΕ4WaHS("%+I6J,nhnlgvTu \%D!JLECfȻJ7m%'`Br)ЛC,We6!4BY:P8StWkK<0#{,'0!OYr\C7kSP8`L*jqF)m26.@* +r?HOW2Ċ֊ܬ!j%"㌰yLzD{ R&GȢܸȯ1|͘B]r54IpxfkdÌ*X,:laF {d^9gc)Dݜ8NuB%pEɲT@4Ϟ;q^EdrAokΌ_/#um0$}q\Gp;e=|/"iԼ9 jG=hcU \鉈vߖ* cݗUy*U-"GV ?kmR+7=͐ģ8/摟*rȎ Y9Jktu]Xv(ӣ3f'dQMXs]>uoh1[ȴz#OC rFì¨4*0ثV~_j MY=aUStǘH^<Ul1T_'UػILe !R8KD3"%0][z> D`k ҔAFM1M3+(S.)^ڶoS̎$耻첅yg\;nR?y3GgZ/S-yr*n\5 n/ %76$w |Tv)IKADPML2kub}ԙK ]8ax@gh hk*B^`՝&3IӃkO\m|xq~S6b: 3e8Ӹ_f]LkK 2tmb_.2c^&Dvm˧PKk&fw\WDR>ГnHN68\16WBqK;C <켏dVOnoKQmZkE$rHc-Cⴑ4{>U8 oG2(hd>4jZ@}G3b\اtģ\R. !7-`7s@M !ƦBf=iaaikq*Xv?⡳GƦCgS vxH硁|sݺV5;wom-qP;ͥ&\>6Yӣ;~~]L'3dCO(⣊?h?T)(( lCt <ǙPv,\5)2>#^b85m&YS 4]@Ai9RCẸ,\d@@TGV ԲCu A<`,!~;zz;mz QL 5{v&<^ebtred;h46%UcDu(# GT|SFOR{_2qdWc翹OJw;X1M~`fCW,0\iX.G43 qʁNɘK|{*KbRRZ&SF(QҤި)ɲʺN3C }+ނa,@[j  }9t܄"@{ew0ظ|[.'R:*F.OjafڨRΚPmUxʒ:[3t42ߓ-3pKRLS(eЌ-+jbgu5Oh~Ӥ*?#'|6'#ښ`Yz8?J28DTzIb$jV&N. +b⻴[*浪+[N Cv9>:RXsarz*%xzc}gd8cLhN~G{}x<v(~Y'xIoGI h8@m&Gb#Fr%A Np(6ިZ)Whad:Ф#m]/m&S6(9)'bǼSs۽A3Z`%uq .'oyqb+K.l799ϊAq mtL)溺0k)L+Dy)x?(Z-~=') (t}CAyzG*醟ukD9 w!{ fɎ-4z24˙dϬL7~]A\ 9Xc[].d7L?9FdnLL")ڴ%,UÂpKM4zdqvr9{_0ӕ; U}Sf0hJc }+ 2хj4k7ꔰ|z-3xKz`h}@>'v*8gv'QW6 G g V)q:+] Ua(&'¦KS_^?>1&`oi= >z}Uǃ7kaQ 's(b\R`.vky5y >>.Yr]&roH3eK%E+o2([$CJzFnf gL }W8%jk]~_>_ @R&8Y8s?Q7s}%!p5`2RyMruPFRLyO\=?{fG)M+ IA(]|r>l?bg]fWjs^:+5Hx:?fFVJVrDA*Gş01ީ~Ћu{JAv/M( f{%Q> * yU*Ed4?]$Roig]П_3EuAΔ = kFc&R E[TB(PUv5%@sd3q͠j{*MUZQ]g:̋twZchmQ)bm2IJuf,쵍5Nep$smp94zU1ͤḾ}'QkOjK̸zU/5&.鳋"X~Wop]um}")ɭHNW>W%Dߝi2@ acRy:-$ WH"%\\{3$3jF nJrbY&.mcӐ/"_D;zHm'&MNMBg7x0JPgɢcuO%{#r3> Pg AN} Y:a_.y ]>C$v㌥xzouvF?_Ӹ?|Zc9(p̈́sN BVfLWvLt{Qc4T-? |Kyp oA0X‰ 6y,H, %^f žyX"]~{Ibr<,TYrl}YP-anUz_ ~[7KBIu;@< fS8n7ڀ}fRdۻ6Ƶ0*K[yhbaZ0[vCNG,^P}]5us09pUW*)_Zjl{ I欙i$X3޸ؖŴݔܷMws\KImugg Jbbsն_]sT<}笼Lx R|˦ Hw2ἂ!6 _(x_?NAgRWʫX]Q57&jY$ AI,6XW}:vUz@[DPVފ8|˽*UBʼ&2JwUE]_755[e?2`PoH2Bg*zsCYq3@"\C|n>Di[t_ٴheiN-9%|ėEuq'u&fⰒh%h Ts|)[#E0]p/Pb z TFhIp'-KpMN6RgRxXq Y윈`O(4}~}dt'k*vM&=VoFƻT(c* sq,7~l x\J@\|͑u|N@$o#@t24Mw2XG|'Yp(R&pȦ /$G*|p,N c0b(LHR}CTx/UB?l5?LԞ5-|KaN,e Ɨj.S,|Cv‹Ѷ4J^Q|_Q윒wTpWl3Ƨa{v+)u"t+1"wX7P~CWBc4",L SMcPQsEnM F_LC?Wu4\&~#GAVꥒyO) 8"{Z$~1.6eªqP]4ƣK5?|=m2|xo%གྷ*+Tū@%Ao]ou[kC4VșÁn|e!,yxkD`0]9[ԯyٌ'b0\ lLze3o@˖Q#-\}wſ$O|=⾞7>ZFTkܰw 3ïƓs 荩^nlri %.+Z.tx$T]KChVKc N,n|<'|~$ox wVF^đVQ2Wg'qg%G%9{te`H "p'ewrrV,6,M5Idw\ܗ4l=JT2G5Y_E4&|bꝅ!A$0kL̬QJ%s+;T DqAOdx%]$( 2 F,~M ]^/ ȓЯ%΃1le?F]"> P\³⚄r!Iiø/=)t<:q^xl<8AȝChNm-@tVQf o޽٫2@9Em_iEoL"e6-{ZB͞agF#6Т]lXhk@h&d,9wwURzO; +qt*Ф }I.lD.rBt54*(yC=]nx%̀oUx(쏂va Я[ T,DynAӱdؚDASnYu6zK bԕ#r%L5-)^. E*]֧߆M Vdv4kIx`n2հvbNǃI{n,Mqsw2=RӘQWH#ܴ'@1lсl6kuGQ g|J]/W<酮e)G(\!OΓw ă^:=#69)ytS8|0 c=H6j3ybi{}~-qe7hm SaG9TTql nZwPt/%M.CtTǼ=lD aDuO+\5vrb0!5W q*Β~~<];pԢuS1BxdcmfgYq@,% qS]]ɗĀff]=;7Tob"`eQ i6M6_w:S! Y|":"毐!'C!fb"<*I@cc೧DHd磾e'$%#Ex#[ ׫pȫ2&/^/^nIv ٯZ-kl?/[ItlH%4MJ%=DpԚy=%0% \$/:QʋH m8*<ڟ2kqceŘWIR1cQq +|?5A\& bCOY13fjZ撗1vG_x*j!)qoI$VzFzHpF.foaW_pB sYSN^ם ^BliC':{= l!(D&FXybA%F4~V{3psӿrd[!=bW=Fru-Z`$xs\o>eGE›^eil"8;GH,]*W~U'%yTzi?W(c2u(3EΊ.O`l5̉oI{n"\)"%x&-4b`tYYyeEso~أYXb ̯3H|U E$XZr;5 = aodHvcvURcG2vىJёHڤiQޮ$(@1c:-iUVs_ 2WT1D@ Wytuߣwq7^KLHw8Z1œeĽfNt\lgwFA1"(O;&JrJX.Gʯ0<=s{ |¥VOlfQcwzy]'Akl&(_P7CS72'e-eGUP}ݸ@*m5~*y`V/roԪj$ S }5 !gYiY* roBKjR(bL>Gz`KՁxz.mDPs DɆ6c_ǂ4lrDdͷX9R6@wG_/sfPeC|/;1W_`ں_73 RRh.PNx/Z`1GOY>J`ZFYψNP|^OCYԭk@oVL7_KiPA;4m;^sS\!,;z.Th0A_fWͱ*F3("ab=~OFGoU/ #?԰G/HkjpjGx"EbEqq/:D }ɈkֿhA2X'򆳑<|~ Hx>LUd# =WL|"@ų5:֋+,wd~vӴtq}FcKmh827iG\#";к+6]a9]pKNbvU3[8`{f0 CXĒUn3o{t2ŠDy%d~?? D5j֓M/ C8 Rr hP:8@򟩨TX= _ϝKb, <cP,c8Qh14?Ƹ b(C6."@w3>j1 nD` em3 C,4wCu1:LxR |" W71G;F1 7mM,!rɒ;\ 5B. JonikgI1=El8juI#d ivιHJ+!wmTLK[/1cF2R|_j%:G06Ɲ~aVV ڶ ^ۭOz |%jiA M7e$-ܳW͠iwN6zFshˤC &+M_ x ]:TF }`xn8cP/VKaUV=͞nI!5x"vxunjHs ڶW9j֗)`[Fl0x'_|ӘGudktd Z)o <"GUh[y#v _l0*X~_/FMu`)@KtL @zt+1xK&)^BWQ- ݙ_fˬNTJ|aWhCBR"itRZ:5%^S[:0<)acy$^U%yy~F}; K9#g1м,T'V fE,aE_OETu"O렝3XPipnwZ&ߛ#Rv7-[!Uăg}Ӝ%(%vC2'H_f#O^ڒ"x<+s2[Zޒ_y%6m9o7S|$h\Wn}_,, /l^d;mQu9w >wxɧ жoWwFX= mS ߇PJj CF3!0--q#`d_;K5]`YD@[)q%%Z P  nsm/RVcȺ/KPs\#0O4 0Fѧ @siTy-D _o3s5,O12vX0) ~)2Xe+}qץVn `u֌69˩sB E!&t]9Gmۆ6}M!dF{`ޫj_2[r[><;}bь vlFO_zcs8r>ĉbӶ<[gjp~;TS KzǸDroc7Kh!_Z |E K;[z9L n?t" pjqW4SFk%KHqG\PцN1'l=2[tOV_gx5|-UkJb{?Bi^Y/8܉|pGUq8#̶J|W KU,ZysDu"%Ul-/lzh4DέdW)xe3wё]d[y Aa?5UmO*-4?юO/OMC) _m8jeCh_BdUj1ot< {$\`ʍ:Ql=&]n?$ƣK8M~6Oܭ7^KKmHABނ4+'Wy~;"au$hޖ)u)?x9AZZX\4GruU>ȉTEaﹳɕM2/.e/G )Bo\`Es!'CF^&g n90iՋNbk$Q[ԥF"D 6bὔ=%a 0{TAs$(7Uoc'~&}\Kktnxt K2&l"cFq3_5v-*{.vHڔ6oRvAicy?4(_'!y_?sMpP؛Ei#qPTt̾3QLat/DtъẀ1Կ]o1xj4$L&]u #a0x/8vB& L\C+?ZnGfS|$ l9f(1H[n-oOTے8w)(9HbvYEE,zy&6AKh^K(MxpÎ+XQT/tT>2zνtMc^֎cuH?Чow{طy~5Cr˝..5(DK]=61*Eٺxҥ ?I?diEp~ePGj]pۮ8S8sAwh[-o*T_V"GQ qxMxdbPrNJ_ m U=uB67a$"ߞmE nR/_LTS{m22'| ̢BEO ̕D-wi,WLs$"Z7Wj6*sQRqeM㛨:v9 *+jo1d{v#8)$͕|:6ĦdzÉj׸΍`(ǫ_sƊ[#LЕCL%i (]ay*trvƏ6n$b Ur|pbz.uIF:yu71[j79&@Ѳ8V *fGnyl1ocD#[#$˰he*Yo?Cק >4iRMu#N;]G+(w-\T V^k=١Yt7}3}: p@[P9_t 8ےvbi-Ym1ݬzs%u$5EdHqSܝtk5j KOV$LxmNJ*YkP֭40 41Vi$iw.T_Sz5}Co%@ΕgKn{kwG2[D,/;'u6/16M()g֎fE5I3~vծ/-bF(BN>ў^?n72 YkO;xv y:CuL y{0[OtW4K h%Plbfl_܃GFrЯF3O|QU}N4 !3uHK+T  tjBr*}D^ Eg͠TRڜiu䀞8/H%ngT)Ⱦ1/$8z}OK vu2H!e0r)*9œWMq'Yܗ?ϭ>&g'^b7:&?n.ȖKO8=^:E9lKI {D_7dXɼ={iCAgy$3}]Z)%QxCEF- Kk$k`Hp!eT^_- 4?dF\ ̐MM',E U_)+0HJ}$QMATy=GCS|-E>x\_˾ $P!v4ɇ= GX] Μ[n+4oXOCyъ{8Yh$%%%pǤq^Yܮ|{xUwui HUN[Y*~v_ttp` Xġ}N8[u_/ Ϭ W^VcsiV-DQ*BneDtlGXËw،ңd1jn.DֲQQk=tl&iHaBSi -n[~;FX}=U@7jtj!J{举-h@a3FoydsU,>ϊwqĔQ;MUNx̦-oDh+^|+$+L9$ygYO3". nATۜ 9QÂ-hސRBc^7+ZdҸ1/UuU2;8L;cm%rdrr*mI>/gbna;s'{w]/+t|:Tjۓw7| fa;@\KebZdc%pZGO+[î0&a ]b;(xůp}*m˭YF ˅  0=1=eSFn',V@g /0J\ߞJ]_("Iu)\l#A>ݘ8HAG:Q)>5Y U\RC#z{L^sAfMjX$Pye2׿sZDe6K%8(ɶ?1uTbN}=;;kAv(H!U~lLiOz\dI?@2@GN`24ZKaUr_v,7!1&( <E崈6&R2hmbU|JGPɂʡ Fb~̘ER3eA{hu\ߪq]?w(̛z~5.eo%]7 ƲRBS*LT Qʶ=tSc52c="TV+ =ti=EHj%WeR"6tp QmWG+@ws'뵀R?&Pv] dߕDնڈ(!)azDDCfJ2aS/m&ȨV &~YWLp߼>iPp1'{'fV f @hU-sr,#_)T萚v@A*/^mH╯u=)w04jmq&Ri`mS銒v'm[%a|4J|M|VN+yj lI13al-m? ϱUd.`5_ջkbQqW,jB HQOQgP9Qźp_=N3?о Ԡ %4X&K8D^SP`WXic[i*XZ:MQ3nϱgR7i|&N,SGM'_*)[2U1tً}%CAZȪĵ ~@-8:N|&f/,tFcAfq,g!*O,O|º]a~JM+ql2̽bwǑl{LgN'FcO"MOLmwS|څ.5-sn\M3zpLJÕR zrT^L@LSW'J~f{l[Pܯdl`blΫcXiG{^47p( ؇́0!pJTˀq P{I9ƞ$ ([5oU!ƸxHf h&klp8lΕud_|~u?4QU3itZ.+c9 m`{G'W%/=\: x\Z~X}$>4,xVh|y5{d#BV| :wMZ3n+&_^B.̴k\gt8%ryLhLF 7rRx9% O"*a#17iKf=&Ac`v]>;1L2Ub"G48ؽд`3äy<oGE<+S:*D0q!S5jQYWvXI ?@Ux؈oqrF1%tgnDt]{ו32QO VQ!ܛcǜ _!48p"6 AOBO$:Qά`.G6c&i/DhOD7]# fRR u5j!Dp] kt{'&XD3PRbRșº`Asр$OŔD[!\uh <|T9yCj_Pr$ڌovC|)uŹD7T̐ o~ 9茚Se7,7=AiQW,Q;P9[ F<9fCC;!ؘ t)%1ј<ٷkMnί9~duULL6y.WmezL6b%'W(Iv<:`Jټfxt&?\iS _7s~䗕@oZ/M[@7OY2|i{B%0-̤>0O).^soՉNs7YbS6S6It НS̉J>._3K%LIy- gf#ah,Y3dۆh]YF\)[|ۿݴs *j.1ʼYdfEDG4\%yU$8]ܻO7\ W¸7lYϮ0 6c\.ҝV`OA {  eHvG`oR"qB폚O *tEFC:fU)6;"`e-=vS9Փkd)1]pÖ' O$'`)n$iHYuET=*s>=-*rBo_1vv_ O )L}R\rN]\6I]OG'&u:\ƴ;A0=[ί|ˮ s)t7,U?s X"-¹g2e8u)}m=$Y9Ww'&ul=ŗ7 n43V6E߸hj1n9T#FRc@8\A?+5owXۭ0̊šc |g@#&3B"I~Ob -6``o5|A3/Ni}t+{\j>%? CUDs.m`` f N`aϷdlaM!W-WR[4-+IA ?͗XA?f6 ʵ6иSM/:t2QYٗ)BAyZK(X'h_+; =PNBQV>d;ݝ0PšIvRhfs[ O#NxPWX7%@1p3mNq ĨleZtxN #A5.Wcy0kz[IQ0zeN(R'*:ԜṮGpڗL?ꚋW÷ B^`='oQE68QMW$O.Ug} zAEqP8ZLSp']DId6{Rٵ\Z f9ybmt5Õ NLiT2YK#M:-<(5fVpD:JEstk)W)B= 5m<"(qgyv{8ʹ _-bӶǿ9#vpϼ\ƴPՍ_sx.U&YfrXChpTeFV:G[\ M(%V|[ }M(W r/t i@PZ|Cl)+Yu^}XcjWi齗 d:7_Sx=?O{|8nV.;yYQ$9K6G߂ϛ/8yJ2'{ISe_}Sذ=O>W ysϺRo!lpǫqçyXJcPrѤF0D V^D`(+_~=jޚyc>sc‚ignz WaJا,M4߹`un5~Xu)E/?!)3H }ٓein rn,xk uĞ߰ݯn+r¤AJhQSͥɌM\F_!3$+f+'{i?jBRi 咞L- s #rBQN mȧ"2! j+pggOU%>"&}O[koz]>Z`=LgIQ[~9t}BeH Dughgg?ЀRC`v5imXHzZQ/rK15W̧_m4* q?lVb kDڦk`A\ORx) @t2~ ]f -gƞ,;Os"+ H\1RĮgH܇(ݤb $W*eB :|+o l0‰9UygciA9?0xX b4V&Wf)7_jx-7)dօhceZG4d^r6:Yu+']&OmmX3N Ϊ+J6SRl2kzMsā=4lӈ[_F9#}`  H|^FO֜mz;0'kQJׁʘ$҆2 ҥveO[xw*-o)(ߣ^f?uso=c ӝO̚   ~?܎;-':f FEmfx{'/ȶ)@կ_Soڽ1O}TRiir }ڽK *̬ʫhjwxLg_LPl $XKFgh&AՄŻ!g"?-j8~mS{g}Q z 4PXĚtHk19ȭ!(x3Uc{D RQ+\?fh6&ٳGTB{O6BV:~Yc5ȭs16!NגV(QJVÛ>'k8Ԩ Uܓəd+囼ߟ1At .@3 L٢>t ts y'?'y$Yδx8RU<(gbM^`Z5y;,QX1Q\vU4ny_U ?w .cV)m[ÄB Kܒ)&ОxWHAY?7^@On?5f.Zœ*YN(\jV*1`uzNuKk]pQ+cQ \VĦRFI2[?ޘ\ ȉvT]UCOc ;s~i^3pL]npq+GOwj!U"ҙ=^.&櫬 N"9EVH;6 W {T5Xg+ΧߊcV5Y(\2 k(6B/ִ^$ %Cf(z# VM\DI+?Θ1E">Y/rĵ<}_^"s sY{T ZV^q R|N[ vLS'u#2UP:f.8rjfj98LBT%"f_[#=igK(V;#O6,n/n w m3thb7D_rՒNeNd3 TF]CR V2v U>Xg 1 ç!FxZLU-kDB6aQNxFMwM''m,ቀ~18_R@A!ˇz_f/3?fھf jy/VuJ)E:Ң;a҉5}UcI!4_hP_ X[An=*85h=BJ4x*YwT`-ݦkdnc;E#[0mNEnmx=(a,u¢za=ʠ;MD* Tszoa#P)xC89I̊88* (!?jw 7 6;ȳ=%R՜p2%m넀;s}͞Ľz[_|pX[9N%BrÝF@b̆[xȖ@aF'Q/䙄bOw_ |q]{UR\$%KTwLE 8R-48CsN }QT\k%Zfw!^"oh~ ZAHS ɲ|ȘfK N10=g~8/>B6ְN\%^HI^'٢=0kW5(>NfmlNBQK#XmWt&ھr.C e[#}'V%Õ=:JLkPy3 D᪑DŽ *^5R46oy\-l;v iԧ9=!GNeqW 4MƕB)\ 8^r!O^/d]Zh+Z5|-߃[vqo2eV5 y )~OPc|c" @E9Xd=AnZ Sg,|~oCW{-siܡr6OA ;EV >&<l$m1CCΫ,}iU\۳_Gf@"g䈳XΑ5;wI8CyJr3kss.)àmnyЕCqfW!=}~;Pn9bԸA4[H7$ݲ$Mϊ`X#/֋SNx#P?-o{ jniLyTp)L^JV&L,G.j ~ ̻~vIw)Nn,U"}1bN#h̬!鲤.[߿ 7mo-J6m.7qIJ PR_ɶVu2j#wM V22fo'($JK?Sm~<ŽQ:nk{ݫv7VEd޾f=aX@B0˯)RL\> 3-Ijj J/MNөkgЙ~ʙ,7LJN[1@hoxRW-V\EYFJ(x,ƇGG<6(FȯNjt7•NwH;:Q(kW73lc<24תNRRzB |=V˱]=W&Zp:bUtNzP} #l!*Q,P uc~o-kK^M:˦׿ߍ|͇ rtVRݱqgA@&~%ýoE<I .I :^~o8W`"RC롩p80g*ɍkZfwX]C=C,ǭx,dAB>їSr|D_Xreݽ7JVw@ L“eO 1t LV۱f|IvF~]+3?a"ZMn*7qHt%sLj4X+ܥ5D3J9iH'̴)u fs.XL31tcH+ =}1=JLY$i(4jϧ+>d&H'/K/i/ տ;CM쫃:"\J6R$-ݪR]FLcvG=мtZӨĞe7KG;Xhyy`1ͰD.9:,)Vzfۯ# Dƶabˀٰ;r7)l2H_w?ST۵ vmxel.3%Q;/L_BpH4ؼ*z$8yGjpؐ44~߻l!j70$2NezyaH}aª4t""lŒ@gΝՅ.?KmW#}MюHJįnĚnd֯['{Ƴ30`X\%+IO< ^qh5s.F)0+ ʌȔ71PLm":@A4v 'Pfw.`$ë+N:J*`zOzm ?bFK;3+fxGҭB3Y"4er3E|anRr߮ט<c31GVUf0. ^,o-#)?Z~FB(B+d)1ڶ=upIkqj)9=0m(/*l\'\ªLH n NPx??,-Mvz뺧 `n4J+45R߻):~W B GтTnv;" Zomذ{cEk\<ǝu-t"1>REGxUn0P<|t>wdsL9k_w XN*ĠȂGshdy${Ֆy80 =Z#zYo #AH,)e)7\|_.Ql] A QG%qnK#k̀$.A L5A9 !pֆ|ѢH{t>V6T'/ؿ\mz@lc{qZ_~ dtMRKk(Dۆ7Ɍ:M;IjMh6=jmi 27,bGsvVؔ`2 X#3l=/a;cZQd,~8WibO.'^˗z`ad?{fu}JTa;Q#&A @MIo>>K` 9Y9.;=X\@r$/q{f\i!: C b0KTU79x-yy#~FLC1Vt!D*f`(s}u5wꮮcNŲWv֞e52\Nfb1`'E2^V{RM;N1rOHѓwaK7]4`$X(p OdQ Y V+z}ۖ T1{" epg(~+qS:H'!mwx 8WB<67d#2䮿J!$PgZX743r&낌 &_v|ejuCß&ZGrNרo㏠%x + 4=k`.?YT{hPIDr~'9X# *;qG<<)aYˁz}ahG9?!C2u qX64etF'Q^-y,2CUmlzKAаWeIhzR# (-I.#sѓr׶ ynXTBiOT-(pW gaV?& \,j4!*>[њ6Ô5 'nz9/.|˺ƱWR ej P_Wn;-ѠkT`pK0?_I \.7+L.b|OSHzr@Lqy`PN J/_y84V)㟺LozL! ;Ktcz] ZLy##9ðP61;0uU7M"ag<ڽ%/M\b@ ժsg$kH׵gOsr/53LhLG /ξHUs.ƋN(H ]ZLPq.3WLF>Wrq}&ޠѷo]Uφ^Ϸ5[Pv= EL,0*ߓdaj-m6O0'}n wqyL/<]8EP,E9~2}6O[~h+W.H\k&Fs+w#>i9Gթ bkVI@DS&lNVa0w"R<EEbu+F$ -ǀmfYG3 ,+ >9P+Mϖ0l:9T5C25r%ELxQOaTݭϷ!mZ3|G="NJ9Ý­lFOϢfz e%+TN5cN^&ycDFB`NSvfjmztY_?pJqI:{CER#tIv[y/x~^O g4ީgѽ[r]\*;3!eV"X%̛tdez"t(ky9y}@EBM0O=i(YQ6پV\*s&7 hQdaɏoI֯?NZXl_e"YAmU/Va;6IIZ(lg[ˇq֡x XקLRW5fP2?(WzZh2st}w`.>Cnju rHdZH4җ`ME0~ƽ#Aa,l@-B H.gĬ%.кK;^C8'U/oT5GT ,WSG˽*.?Hdmɵ=7[ޕplR"YH3sPD0 $4GW ݔ9O Y7` <8W2$7UhSM{ #yc>4L{Yӳ@1s ]в/%)hHdC5{Y4]%'TAmvz4^~FqA24i̻@fF:o&(:nt04j,'N ] o%yV"#_'rXʆgc;œf c!jd-{K*Y5AvС`Hn ʺ^A9Tfq]V{Z:ex4 woUwLHˮL yT`݇XS;O4,ZDBRЇܼvDy+3ނ,/F3RE~xHBs/*9!bϒ5ҐFG;vB*?̆؞^"ʶ]3Nr7#'ɴت@ To#eNUFE9P?R@-˶'֦< /.z^iB^tvj}݃D· ź)go8Gk4[ɴeƭDe\14yrP].Fy˨Ce`B>]SU>ᱫ@&{mМfKE; CQ1,VT*keYv..4ߕWJ'Z09}7R1z`@_8ʎRstP?B~ cQM4Q ˘e(8O)Χ:{| B,K4jeQֱPQs)J,XxNWb-rVSdEg4,'0Mq+z=q~='jɻKM{*qa:,1"w*- tą XNjy<,Ոa oLt */3WF\Jw{13rfWgv̴WNIFV{FG.X~3͇2l8+Z^,3Fٶڤɹ0*e.c_gƅ&"12]՝:5~(xذOџe::vUo1x y' h|6[mhRTeEhTP 'Jc.S-FGg#-mi'C f"CvOQ*ɮ:QtV2W,T5PXF*h vG?;Z୫aљO00el@,jb+9{\e7ٙ?d獣ivuId?J7g%Cd@1qM_=иP:}%uһh P~U.~;Q˅&@1"kҌg,ĸ}8+IRMv> Լor=_1 tGj=aעck;@Ĥ!̴.,ueHs RSFs s7N_0h6c)u'|B<#bP_;ۖeQPWi 5HnLGl6cOY UIzGزɦzjod.s0+ Ȣu\W v\4m0"sR+pOxߊ1Neά"  Q_X{КjO6S;P:ߦ܃35&Za VŎ;JZ~o0wnk%RGk%lTVGVǮ<;Lr X )_N=E趛|&Chto;-`7 P?!ėJ=)48"!@rDfVD^̍)$pf{e1NT= y?ġ4G$\hM߲IorCvY+%1ǡZG߼?3qבePBkL :&.Ϥ-gע(@Z CTqX@W jr dž8:6mg=W^.8%dM2+Q3lD\MqG3~_Wg!TԯsAr?ڔ)Ie|*>\-4E]^zʿ_>$ҦWB+(<#CA,תSihkoN9M  >擴z]vAwi{aK}ҪȔHe/|~huqZxv QbjwC;tkP4=c+!xe;yE?%>ag}$" ^rW1G`Srvc:X$dFH {H(g#Wpm ƩP~"}'l1R{MP'ɝʨKbFRm `HL8" Br9zL(Wj|ha7&WI^*Xbr_d_4a|~t[6 ]8UݢVH1^.q@w{>u7n;op2ǧyY0Z.θ*F|K` p&*ʑ7 L^{/l]O [^%IW3Yuur I[fqA#Żi+8o+BtŁ0c;ke#oqነ>'0Bz>TiO,c^M9^`́.:I/,ezeY #|= vqNj4L#ڹ:I& "BdD~Lj7Xfd \7l0 ̵L㲁)ʑa E8PrlhatlKZ0:uw}Z;0 UCú+;p+)@?4,'&8$n8EAc0oj7`ԀRU;nU0@궔C 7DNPh n|)*$3Ym:jI/kT6 #_Ҳu. w}ψu<& Ӊ&S5`82!pQ"Zr~ l;@_yˇ3qt}fNfݛZj{g.2ATC:q?jש0s>еD=e`(J:r%մ4ޙAЅtL_nK zT:Vw r7lₗ˞%|/"ɇ_;'K]|QR;U0[v7K4Æ=R͕i[L0vr-njy {N 0)Fێi$f9qƳ^5h/ALjg̸[1L~*0\{ bkPw:@@q=X-.U‹Pz2k[1MfY|`s@r {5hqֶhhc7A'|⛓|EEY]_Nsi!(w'`z.aS;gjz0v:{."0ȯ WBZHi㋞r\ٌB53wTy i_k:Zi*`M { Uٌ(3K7qaY@0~k. <I6vZ!.YF gr 5e\H"; r0 =墴-Z|S? /]sN;v)ԕ U3/q0Z9(;>`.6 ^ $&̔!e#%%ߥJ7O:$1.V[c:y$ki^( ;V|' bd[9IDZLc6ai[ju(sf3#|`K%!nll!Zь >*~XE 憨1kmɍZ˅,OKd~dZK=5 :zGxrj24Y&Z-tmD)!! Ɲ9|9^l̗W!wA%}3SN$4K^d,TewinTAG27=$}sŸ2qeU'~V?7Z(eEw@,eP,,7>kڼ9Px$p 3ٙxުQF&Qe>!r7zw-tߛl6[^T n]1Aw i*Pκԉc[..Zw|zwїTl=2ƻ=#vL<"ϕQP5C2zPGMyz~&ntXbFcEtԹ/|bAԨ :C]`JӅФ}ˑ2,]~ d'71*5۠}V򺞴c7w~xm@2s SkV "mcZ(m,Ym/yu:.Y!F"#E#'٤- 5?.0Etx"BR{=Uأl,_ ["o.ytXE6Z}G6 ׉\RŬ0+?q2lBx9s!Q^]iJ/PUdFK]V K>5A)N Z~AnV፧JSB/Y y H?R, Ɉ^CZ!4rק M;Q: 8y*M{H|F3:%U%a7$#V ܈+M[1o wf_?aEfއLgӁ *j>"DW_ЩS ]a-ŧQ7]sICs ?'Fzj1p5m+Q#y85wW%;aL`dΦ{$.tMO@~y>*66MJ(FW: Jy9{^cޓXEE_GRd^z9*/j%9WL@hBd@jLJՓ+&/ND2\UjSNHߊ -j58) / |dm'vR"dɈkL%#{rdlsv f 7Tp⬏IkjJ_J< Gƶv(gB Emab"٨r%9[]Tb3jgDvZⶼ]VHiOw 2~c) $AJ!jPȉY?_4J.~;18ҿ;v3Ѷ_nuk'%k fwX0WfbLe #SekA\[&ZJ3N{LK"WiٿK] ɽ}~Am+$``ds<\X-&m`r]rl. Kn>狖Sfny&$~:n,?-PA] Q(Rڔn>JBFbμpQTp}M񐾈'k!||5%s F4 _gkI OEj^Mz=0 ڍRc gU%HXp@vVd4 3Y!%&S˰F[($oIϽJ5wFsNl]ݛUo #] ]Hmv{s?WCvk9}I#-X;q[ַtыb(wne!AF ||7FOX Z0CIZ\}~m*^AӼ+CvZ/걥=&QZ*^uJM̩3O8ÀC~tH[x =9xU>eG3Ie5bvDcJcȬ$^Z)kM'5 LbbdǩKNK`F*ӍehWc㶑=Ud~Ǎ5*ذb9Sr*sc/nS"~955nkchfM:D#`B %E~NweZzʔ@-r:. 6]١A@rB۹\vIՉu93fnO?\AE7[=/(8Ya+d³Z*k=*q n-h?`ubVBM&(/Q8;NYgvRO~owڦU?YdB>bJ2B(Uf?oB=5t895PncMh fy`;y: yءedM#Eqҋ{lq2 Hsfo/Cb- e\B6#E?G|Q N55}n˓ Kp9' B/CqBIÅ?tΈ=n. ,`ytޛ{['J,A_\:{$ Ԭ`!eؗ\ H+G e#"k iyBL( |og-QZVvtG? d4-Qs}L"EpTg%tݕ=^!-g-|F8oJO7Q8Ţqq#ԎG}TBVudɠ K Mõ| ֱOn3vkݐC s߮ĕ̕NE- W} "j5 7h|5˦dE4[d8eN?O&qf_[.a[vGzQkaKSL6VK,H%5ǖ&Wʣ'Ѵ(r)o!<ǩÌ Ha矾qM:&al˯L7$%q!1z^\sZܵXct8lK/G-wosOk>3yDSo IV}|؁|x{mhHOpV1O}WISP` T[[=bwl8]D}W,6Z-~6Za#Nes(RoLJ55%Ʊ@2i>O ÎڱҳPdmM-^T`Cq%+ 5'c)s;qvd>"SFUu޹&L:)2TSA[*@L  BW"--R!b.BLe1-Ws&wL{ FS+WtC YPMؤQa|hbW"=/m0QȬ5֪A&;l'f{tω)$ aI.ӂ4TrNjN[%tCn EP8ï*AMԏiDA߿sALrxVaFl!{mQԟUZk*H.Al/!Jr'nG@;{ 7paIbU6/ꂘ]Z\hMctr 64w_^llK5r${岬hR @`[}y`X1NB߆9[&S.hRܡmudŧȆ%g_fjYzx+;@Hj܌]n\6MfuL plLm A\iw9ep]J:TD\vEN+xY>t3MN?3R ڇɒՋ7K{FɼFnl4i(pL*xD>:4[ajQ[ ӷ^^3RJΎA@YBk{ jX!K=8.uB`6źqF25.&f?\_ͲQ F֨&^QVʫJw? 95~E`81&|Hf%ோWs@By|!xuY_ǚJRm\ΏJӞR#}4R:m0c:%آ"Lc5G3Nڻz輫1gJnhJH8`\Up[ҐqwT ]5{C֝lO4\B@)gOXe~I@l},*Cn8`c%D=@Gd 2Ʀ`by $8gMå:OӰ(jW#ZoQ2 .8!,.*{(_Y0ՋD,Foh94wÔɹ2oػC ۣq6Ia덎WWd]D|;#mwS+qʆmo~|BwdX#<Sz!3x ZǦ@3" k0k3fD+tEΐ)f[S˭dg=0q3s*Me@kBoIRC-06RQ)ȷNf _ 7D9M6sVe$jW/R*ۆ) V2[ͻt:D 5si5&q[˝Kn(M|11Ae(P[{*se 藆j!NvE!.(eQB0{~SƽHPRt5.0؞e㭀I:rBF_Qa >MHR -?6bwRcldd[| @Bb=9P@0%뛙.GɿǓ.cS 8j{䴬!֚ ٤jf<`tq}IY#=IT{ZD\*A w˦ƿ tidj-fTNwx) 1lZs~$`1hj$~ɍ`>4&;)0ݒAvʿ-0Ơk;:!bl<^reXK˝2OxBqJWgU&z. U||:Te?UCpV*䊼hIo^8pr߻%pLc|IIDsfp9D'AzGK#B͌_@Aɷm 14ZG$5CRdC3hbͦBJ}ت$hJsgC2J\@4WD%XPsE7uja"zR Avp6 P`FꌉxȬRX3`HfW09p/Ѡ=m(oP'8{㳍3Wx?8\HrXgfG7䄹Hr'GuF*N$E&݁MG mqmxyg]={F? 8e}"  /?LdwSN¦p7mL#}_8-X,=3RZJѿVb dRE׎gwrjn[U~rM4OHꈩiI.լ1__Y.G(b3KH aMAIƹR,e-|kn$;rWǃ̼o e %RP(A򒃎| B±y}ORVtMd-v8 bK-9{V2 Z4I;Bs~B2ųxG?\au\u;4p .D1$,kf3a E5-Ɯ-~&B"I7ͽz9ʔ5^nGHbX wtm9F#V4|@rϻo yb,Np!4L-u㋼Xry+cU8#RʺM:ÅwSfh YJe>h/a/_W@š< x}3fS 7cR5/C`#Sd[2"c YDk~TBst$;>J-PSjnkw+Xq@~1uޔ@lpH|0h q}{N>lFL2%w4atɪ2[gpyhB[FaDo./Rxbza>NlBFj:e; 5W5.H)ҩTyh3bŦ$͘(&&x Q#f h!Q|9WKr'*ҰOڲP̎t$UK B $#DR2ub VI{+;ֺLDH'7(vq&BJRGz>BK@md`rzEŰƛܝgL%`!-+lĠv:?1}iܻŬ/-(9 G'orulZH\ub!Si,?3c#X5~ "'}6f"+ BeA%sY rXc:Fl)Y|0LmS[H|~K_PIy RT`:Vwx^"ᥥzzA$gv'H90<2o& ENei=֡0O$-l%I%c [e/.!%bɦAEu25zI}7@v@(pKK#IT!,e]m + \ݟi"~*)<˥):٠m?0H_Y#cRCI.Cu)rTƵ$O'EKL!XJu$vqfk? f73\DR NK?APzH`OeJ>:> 8FN bQߨ ~QQ~0ޯz=i@&DG'^l-%7o+^HosQs`fYV?SM,#^-& ϕahm!Þh6=Y[;/$T()Jjn.ڀGwy,-X:㴎^'7 NV5?ꜘK~lD@ׇզKqyyK9i!dMIL^")$w2PvJMDbz%:=ܺSD >c_WnOC"4`:Y)<r[;p+;{ η 4u7DkF տQ횢 >G co`$I1Erwݎf&_#{t,:Ҏﱯҭ$eܫQ6$_τJdP@ae ]G :0kv;;XjK3iI=Lpj+k&/.mAр_ fTb<HVu9tb:z}JvZQI4Ҭ$4 i+jѥo '#$B9 |`KX#bqihwzEOeYj.dvwЌ>3R^XҗZI 38ϹL8猉3ʪ3MPb RnoEέ=l{ITOqMT"XNըgîZl<*T' f2 bkQ/` 򉧉Y|Do+|*# 5*꫉h2|?ȕ3X_Q}BJˇ\t3?%|FC,kbfѠ@pT(3}D=YB3 WfZ[hj$OU:r hiƾ$hRGOfPܐPEe-=K`_I"9Cʦ 1 S#G{Ml8)R$m%J[nMysg{'D{i'ZKv+$n1L F9kpE`HsȢž5ٛW# Bw2fb>?USe 薊`dnwQ(m_=lIVw +5Z1IJ=HAŻ *AOYc,΀֮@zz8d A|~*^q*Z i2ELB76 5ej̅?C!^,tmE4poy![8;lHg>jv~})À~pl=AQYj' ];^j㞉|=6'_)q!^0A"..q* Jo^K 'RCwŸ <]hNʉq5VY:mzb٪[ DKE&&~r:#9$uEp#*5hCz'u CA}Aڨ^|[=c%P6;ELKBT5H_-A$ ˈSh#{w$Bpg}W>z*wߊiVRMz%y;.E~1)!7rpX3a5*8]ƛ#uꎺ}A|41 SF28}Uy+;3ͱ3WS@l'OZ92)vWp`'X`dWsub GH(pD.#7V Dݔ} .,Ei0h[sB1[͔#4p=?OBX !;h|@H mу.ZE'goGp}16~Y8H8>\ppV2up=dc98Fp mCq_u\';IUYևcSLAWkچ8*P2.Ca+Vve3:d8LuШxX|W"aeIvb>/|ko/Oamʮ7# (ŕR(c%%Lrvr"%䨖}z><_+&2@}̇~8Z}f1+??cr#xCe13SD:ʶ9VW9>qZlߨ I-X W&ݺ\(5EPBAihDALsr=e{ѝn5kKcoٟ` EuFqRO}1Mxs"Kz#{>gTlF4[ʝ 6,!d4A. @Щr* \/]?t0H@q06gbqt/n= \H. c^iRLʧ<`!͕"!jy3&s@ +-i Ce97+XOlFk{B\̫\/1$yQ}O[`Q̽i1P]qҁI!^iG4hKC$9 h$ckbSر"~9j4CZ}R `ܿUGT@mvL[8bV:]h|}j;| >4V&Rl-cw{Y5;RP)™ČxEڠS٘tN~fKGՖJ3,'yѐ-W BϐbT 3z&x;w7@ާ4oe}@}8fߋA]#NV{i"#TgZSy~V%} 1!GR(q&vp) bw BM$z(Iw!^&Hsi" H~>L@$[0il=lLwd9@n:-@sQH@ 5khR#˴h 3WQ !yh^!ulbkִ?yɁ G o0B>dpE]nGNP>]9'䅄hWH,ȣE e>t YZBt&i9[ʆ$OAkn~GRQhP^>kތKB{au=g_WŶJ/U;Jyc@54˝TKԢWG7F ^\Y6ec `m̥!lYg=L!lqzG]u)^aa( :^iI|,;6;`[! F%Tp$⯓?Yzr`-v/Nb%ǽ$2mÒ7.g^aLYo~ wP0<{yyKS6jv@ Y=*4һSv1SEi~VjBhU+#0k~+b'maW,SJMrҗƝIT 3ޜIaOjEPS3OW.0% `oM0pEb U6*/J ,A0Υ||p-uтh5wWofk(ws~(l۶B\Y/ TmX$I]XvC!2t-eJ% M j(0cHd ^W+CU.+}7 %&&ƽmE,M"0ηA#*Q 'FN~N#8-n \f6Wnn#(K#"k[KXhY%Җf[g&#Vέ6BH*.ٹ0WM "s&l?G˜SFW 3pR>KLL>7 M"p"Ę4Cn>Cq\nd7F~Tǃ*,xeWp&2.\jAlr-CjT*Ѽ臐Nc{)~2/Hb m5 o&?ﳖ s;VfsaaR ,  i-rkOSq9QIK^oKGAmKrC-Z`:5G-, m1bIh~JG%ccE<݃sf_ ZkN8dLju6,~aknCnqؾqKdcX"~:6D2=Ն (!h%޺$5!QRQS!%2e8,O]SuP./]`?scSh֒]&݈,?3 WqxSU}3ǚ5Tta6ؿ,l EҀIמa'9 G3h_; -LlzY OeM9l(3~\Ȁu`7"B`y'm | )D΁,Qw0!ʲ+U HFcEqL4j/a&pj$e榭@[Q_ѕr-K0a>\*Ӣ_q$ix2_W|{(ൊ W>pn7sB7eOcHR#,m6K\.0s` 7jʏLrb߶#Bf16ͨ9$DS`,oDImPȄfWBH]xa]…E/I&A=ԜzX.?傺.tqg]"+SlK/ `rץ$89Gq[dIGzhpQ).|L՞?2Π > EҠ;G Ӽ,E(ɰAOs@ N=> bv#_HD} C.\΢WEI,2X\#M Rj>cSQEʪZ5>uXbدxؔvGu?M <9c d\2S1>DND4s(}\0ahzޅxJqjDi_$ UuقG^hTQS-*u0;7 bQ}GzG/ PD&Vi* \B6)C(8|r lxBfA5И6v|;@)4!HW \>M USِõk|L@$y5!~s3VRn~n O٧dq2m,??q@tnD5Vl3pR'7&aો9ٯz~ljb" &sVD<~#cߌ5zmуe ,/'7 +|HbfC88*,bғ,STZ(7/McՃ f')%غM-cζm] ) `ԙYPAu?dO?lApLz*9^y>aM3Zg rjD`DP`|6y&9N!!߮&F'}g<(߅=]뛅Wy[&NB? A46 sJkPQ ;;b VZhtVހÔ._Ez\#֞/cx($ŝ/ӂ!** CGF06/䲖'TOt~9EJP/ŝtAwR; ;[Bδ0wbv%hE|g@jߓN+Xi*'ͬ ^O e7~0 -nwǏ\?dL]® QVoT! a20#{wȒIph_wHc@t*HǾiqq[z_Իf$Œ4 T"e4S=g\<f8uY;8!G9quDTqA)xWl6QLo%SކPX-OkCy2qo[VE$k&6hk֖E$xLi&Dd |:qgX1t@x,bbUYC6??4Vpp2m@Vn>yTJXCW䋡{֦V4mmE(O͚\h ޭY'4d)viV!-XgZcNEg tl>rs3AY5wPQU苖Od6Ft5heR6.$ , ]syj-6?1ˢ_X{öEtg,,C[}bI'քLBJEL20Q.% J+Ӻ͌hRX영@.n瞱̐z7M%B/J%/8[9_ޗ aew"++%YICv ZdؚgƹջQ}>;L\# ѹ m6-D]+F_`0z8.VX3hޜGNHk Z-W%nB3]boP\E B$U䨬] OSGm~^OI:prsho cx*ʾ hub]L,b͕)@LO Ӹ,۝XnT=#CXH~ ȇ\*m 9QKyiiqxc Rxj$U3_en5pňUr C[=((ilYAbc!I"ڜ  `F:^Z%tWJc%FP9A6}ZP<[5b$F7} azVM\K!fpIHe*ԡ]]EvwL+p=9#|e1\` ,f#k4i^]LE*:. DwвX ;&EF+j"i7"kԄOH;l`ϰWϕ0H`m$3#B"ubEbKϋ&4y [:k,?,ႚX>Y647g[E\ ~uQ "Xd,YhݾKh]&0jxs{ZV4MNHF& +ǎY9=¡l텎\ PZ G%)P;,P Xr d^VN. sQbRqqvExbF\PxV 'dͦ|2/:Y${);gE\74ζHQ&NƄ`6X]*9Xeq,MjhLB U^π\R?# S/Y^` )H#V"Uj|H#hl ŢARo,~ kHmgqn6D[מ9FCvob";9S.ctxZ\nˊ$m~`|]xWOM@Vw+gIb{ M̆e')~vf,x_U8`*|Kؠ 9i'7Dp>#%׮AGpeKnm*1$ %:j'uqgמR@оd" wXlЏtX 8T%{qdza LdLz~"pTA6QЙ4WzQE ؗc&Wў:IARs`buh2#9@3j|w2TyfR'W"+$=5|Jv<6H8$o\[qx%b[cPPY:Uk?O%07*1rėF n#zbliX+,+~ږSZ >P9O^:K^"ϑU_5dhs7կK*Dyj D);gQ4w~RcH~Mv y9SvwFt L,9Qk;/>0p*bƬvzq-1ء1Rp?jtqpmplj2w{HkEIL]L8C(Q%2KTy~Y_Nwk5XQN2^jOdc·dagpdQR}g$Qƒy Mꟳ,qI16KĈ6aݟG:U1# .H2j,E\ΡRCr3uAi&q+Dqsfh`؜쾱 3spx}A˾^zKt6lK\$߁c}Rl6b* *vT[Ilj ~ RlSfLc SȜc23trX`+?O5yń:RQU)ڮK_VF <A}|E|=9 LѫokKV:hy ^Wj7ZGMN~y:|fɇMI@wwĄ6x c@*&ّ;0O#LH;<;C&pa !\4QIh ͹$.7PEOyEqu g5C ֬V}Aw}P# `Y07_"W;-s4)Fb;[.g".Aج./7!2-( vTj![/yo_9n~2ĴN)8tDߵaJB[併u~)PG s9h9aCaa5.i͂5HBE|Jg*BrֻQ{ Ȧ^q>D6n2 ӝdjL)C HŨ6*l2hf߭kBgq3#; pEMX 6adfP$TQzN]]?F1iC儉ִH~󤞙 22 I,ySET!B326Ű祼qtEnTM0茶E}iRPP2T|Ptj \C'|am|;W*ލ@ ݶ)MSX?)J0/zI5JIV5ȱF, __uW&GP2U@Pem2r&b+YBLkb^#Bkcn j=ƽ;ejISvi "|Xإv%mWj1K..mUT/nz￯^\oX-}yj`<<*qI>9xd(W۟nl8́{y]\z ;PDU#qL4 /17KR?[uDjbv멷'Bs'4y`ĝ֍;8 ֶrPVԉ(iv(>x;kf1w+c197^%*"w(b}r9fXq;̫KUuub)6YKToӚwp(Cm¦f:J~e% 58ԎmVN#ٷl ?kW`Ctºj (=6ǐ@ P.ŭA{Hu:lK9q{̗!aS348hLmt jJ~5U˖p`2~t?̈Oɽ's_`ioS3 \7CgB/#x&lǴДWF&+ⱬd 8&$]{%y~Uwš &o+xG|v`%z2,)W]#,ճ[Y4`z2SFHljQgfLQ+Q"`dypY0skAUԽ 0jlUz~\Wor?Ox͂8E 5ֈ;7Hݑ-)+1^RhڍnL0}딾2zѲO@wLfb aIhPcȌ NSLԈ63;d{M(hlWЅH˾4}](!|$_`p MnéhcgA|:ZH>&z8}[?+;+8H_vP8r_<Ԕ]7a6ߖkB1Z3g=Ue! '6 mWفG1f3Ҹ jؒ; 'Jva|݄ɛ=dE?Vr[fwo.+4D-6yV@*jXhr]*BJ.-Ip32אgꔕƪ6yno$VS(&rELi ݎ͞s B@ dr>=/G!7 Jtz9hĵsK)+ gPxQF"^YE+6$nU');zTx @!QW/bnJ<~[f_ _c< Ik!Ij_W:lԚJ` 𜶙! ~2y;:nI uf eB)7mh N ex쓈 &,~/1w컈4'v4==R=I?.p'N2We*"8GŰs:q֚ X<%޼qW[-;";&ׂ") a|CX2AZ|S[g+<2ig^TI|t&^ڙV^SֺYsu7j^RA8}Hyޮ њsO2xWCEk毉ꫣ'UDhT˩K־˓A?h+kPC lKWl&X;J\o4?Ne_!45߬np V3iM[(fuα&# =7xAL>/laxH|c<6ç>8%Մ{rKM<z٩87x`S1N!msamujC7/0 z Ҍ 2}FSl9BNXcyp~v .1>z ES%`^7A^.%D}`%µ\\X , n"#ީ#RWLxIoC|fyO>|?g_~]UCdm,!yl_fE1`zx(uhIJkODDe2[7GebesE.hMNu->9 0cFG处/1Bfn)Oٗ50"^J#PUz7al00}2ϱ(A1{s ೤iݠQӅ悀گ^i\Lrp BXsĨ\@Aև\S%c "2X~,tn~%IēT=AWZ>+r3Hb/]J5+ȌNI[4H? Q%mW#9[N'f̬|TK:Qfx7_˞p*[N ծO 3dmӠŦeCFp &_KAz6eZI9)QπD'f =uvZu kX& =8}4\~Jv IF&?pƇną! [-QzL-d)Fjm&T'6'~Ȋ! ūs/nz 'Ǧ)o52t\glqd'g^lr+/NޯrPrgyմ߇2 z84&8P;6v3z^2ym-S2@[_|I%!LIkpT5B~64+OT42Y7 33b[r{*Z;v$SCV6']<z}lf 0UM?T ,n1&Yy,LU9\(G<6m9&3Pfo ,] BKvs][{=YUȋ2BBV/mw >L^y7'x` mL/D[WyU 8̫`7#, ڈJM(6M#֞ 6n*<9jqGDQtS+F\P>$ &>6Q5Gfвuix3$6Ѯ#C7V+RRZŀ*ѡUĴ% 8g& ۹g~3lPih3 =#l SM W:DY{P>kJ4\@tbxTnGV&+"Dy;B愜˲UJ9]cZ9í{yy`u:p[Pi@B2O^5įKgB*`6i*^9jN}~S/GZqV=L˜OA\:n2#9Nϧv7~+@aEVՔ bf'>X K|u "띆.Iai32o Elhego^@WP"[f|k#vӉGa_&xس8KEF.$RZzyP7"l'iW8 *ԕt#ĆX I2 , +rER?T9y졧.{glZD/29-IYA(OJ)nA&X >| bbJ۟;ϙ7n12qyu9YHөYؕ}|6&/ ~?}>@pCOEݶ/0y;BC6#L{v{ƟVTYq1/^\>#լr[J&I1_ߔK=wuw=HW S >8]̆ĕ4]:7 "D͈⼑NKnRf U suÌ|B`@ ܁8&՘C 8H$cVB_Ct?)(Z`%S .4аӽxo9cx#yD/d"/Mc'*X9U`vo9Ӭ0";"y/ ߃B{iϕ6L$\ jnrָЦk#mMԂ,޻XtIK\-M okg~':i\DZ H*i!RO T'm|ij`y ViL121tChT#ṹ`k)9)̱iyF L`oh}9@hA+"05u 'j/û;y"}"ߜOʩʞT,bE௴ zT>i\l=EhҷTqߨ b)`a !^@@*=Z;S%E? i'\+Bpw@%V*'edqQO&Y-T{5EZ1f~))[1^S_]:!)sȮ?)`cp3|sϫa`6?-ՏfQOS"M7NTlD\$˨ZG&MΊj#l&7bȉ4`ks8|!MMex=,[؛ƃ!&@JYe7HbB}:~LL}+ 'rC ;JzoxU7!AiO 80L܈EKfRn,wI t5삍(T= l DG{̾LR"I:d#+7A"~B4\? 3I8p<7-#t@<T2Vg0L^t.-ջ|C[5Ԧf\>4Ƀ7FN©\Α51ObX o& M9G* N"NZxL::kFIɄ\.^Kvhm4`vPlxp'99BS~'k-m?ROoJQ¾4ўeP,ybUeI\,,6*Rftv{:gZ63J:#U'ӽ錝;Q@M٩[O]M;5BGs@^Y/ú$Q=q*s&Y9̍d^؅s!x EK rfnB< *k,FdQsXE}NjP<;LƓ ́Y a5V![z7}ѐ@.Jy·ljmb*zs͸_Z?_8ዕr+ wF}aXNN%i/("վ(щ v!jfϑTHB! t@e>$oNykD;26Zxfڴ` O9mEW}b{wgY7k$8ۑ:#Q_DpypFǽG_nX"q 8p/n:נS2=d6leءSk}\>I &քݱ)i'6Z/WFĆ&als+jؽ#Dj D NEpL`0kkbo/Ā4WE*f|֘z䓴x+]=2ι2^n:DχXdM eQzgI36Vb} or9x!(.9s5 DK;j/Im.c_#@FڈX^ik]2VX>g<.ʠHTVWguY{JG*{i)Pڙ+uNVk C@-N!yyF|MHT@:]hۏ ,cbǘ\#| D|Be_X$:-?D>-nh0n C/בm$Oi.j8VPN`7wma`0PAxfm ϹaxdnZh9EjN{7$f7d:mS"/)s?uʬ:hvpMG{r`W STHJa,  kOG C-}ݾ;!$0)Q\C" ݟ*&Ŋ p7~3zy5AMR^Ǵ(mte@r!${[Q$p)rjyJwbJcOU$Ucx3$9vdW:Ê2DO7O8yXߦMF~cފ!dL %m2(S$t՟/}|`bҋBҠkHHzB3G&?131@ 59f%7@r99熻f 3Z#X-R0qQfX[FG/sTµ#syjʴy]D"*|hewWf|v,L 17! _zbG,Nd] ae&ǼhM8?Ӈ`$K4cNwtm@Y s[C6װ_ZSR!<6 4l]/޶H7{46N:K J79_s! '0L +I5۪]9NV+a+¦֑ *A 5:=ĉtlxNBQM*I6ATVV1O<"3b2`K;SiF3qÍ`''6h|͑=c_BS d[.Gd^Pr$)յM،|u ոV,RDW8dΈ ,NdbOǬ76U(cLNŽatOtp}8s[N4\?y%/gzcBW~&W'p1^:: jlcw0UĆbouZkq|jȤ.k y{md|ljJ'+Lg sk8secdK7ʭyRS!-+ V6M *5˦^"Z7=@xNtFsei1Q=S1Ψ)dHu>q]ɏ"@-,WeEe-q}^M"Nk(\j9(}^L`xG ˸)ߑCkk?əM{>.y9C) ۮCwx6\B8&T[}2Wqzq.W v<=h, G;G\C, %H WBS|NvT$|[(,Jм4VH"Q9N֢"Ychaܣ !epfj|zTD q^Z,Q\fQ֥< F+ )]Jڄ9]ԫ7l!,l#/e0VC+hp\CC5^k|< RpNHz3='vEU*geT\~dj< .86Vw#3;=úu-!B^bBfF-0rD+/Ed@+^\[ye' a8M} nmzVsaܞrAXh]pAtr[us$p!FgED"?4u0CSZ)C'kCAr`jIe"\m,X0>.'N-s'+.)A-ƭ3Cg^f+ikX~΍^{ b/\p|Nt rN('_H6~5Ѯ'am)A b?W>?{.Hee XjZ'p@JfQ" ķ+KrS {VSUx2AAH$IBM'ꑑUSp !@1V:A|f$"ѥv81G-fF ¾2wc*5n)䃮Rf0Qr_9E*ǘRE(bjH Z,H\HD~<XDc;/rh~mOa/P2P"0[G{D;SN/D'9 Q\biLn"WS7kZ{WCh3|Ė 4҈tˇfYF> D¥;/\L@jb@lg$&y{%)᜝}eW\ƢXf3T Fća -E\ YIF-O3gɘZt=ϙOgݑ{_Pv A] HG[pw=qXm {5.H6{pE쬃'|s>%9*׵X*~MZ;/4ZΦXlT\@(L,q*Z# }a5g]ZuC  I3+j4ɎB$r> ԜC.U3i~NZD=)/_6%9FL|I+dm+ib<3  DV!-q;~iϙ^0:bcnV;ٱ@85/_=?YBcsȰ'jqɄJg.7X+R<5}3|9wN,@"ʍuAJZ, -9((2*fX~o ]xZ95ͯ@sj0C&^-f-*LQ/$LN:f*D,ăgTxJnU7V&VUhmL=+PJ?u fwʡhUzm/\'3_HpYi^϶\WEÏ  t]9M <>ٯG0si+A6=Ժnh稆 E;$()?)-֎ MIéFྮ! ^JCډzt^%E]6+]|vA O773<pn_l?,3lBM\`&sڳ\ Ԉ<`> g8gw7;$".4,&FyoĤU ؼ1IĨ?[|&C*}tlrnuRurA/kp,J$ksp)Gpga8np~yŃ83,IV!!i,FQ' ݼ- w8# VUSТ( %D*Yu@)9Ң ugͰdD&&KtFn:x#زcgRN<_B,U\0bYȎAV-GYSil(rj2~!})2~ohM֮_pƆ`^F ȗ3)†?afiw2]C4OyIĽBZme^mEf?7X"J0u)gA<>Y y+8Z@tss ,%Af4n5-~r1r= YJQ^yX#9bXo. "/W5b#y ~8r7qs0)#zkZ[C1Ґ4KG.R='NתU+F֩b}6wŹf R?ھh:Nȓ'dǒ_6f JݙC,fp5R Q_+Xh+*B-bQ!h!fö!)BEqɟ2`3ė(ԝBsFP(/ (+nV0Ta T|xʓD/+E ?G[|q;sU6,#%6h};B/Q5hjb;&!ʓ|i7`JcXFx8&Viq dK`'T e<|վTVb%AFIe[$ ky$Òuc04Z2tu vh $U\*m;}Z?k}4a XNtj莦T[ԆBlfl>bd$a0jX efBCK}A9蒧W|tH_@d1QP9jBeARevPO VD}e|A4K= q485>K{cehX2͏S CBmR,^:Fv~$ljkmZ5rnz^c0(C]w|^;Z L oiyLU=S+[l^!98n߶yIH2 P*rGܟ5l:m 籣dا0%$j#]_/n71h'@Q?VA"v5i\`2z]F|t h &>-o )t))jH**hH;v+IwYx>>PW1"˝5)^Ec翷&RH ݹ5'JP ׽ 5?˂6]B-FD&"m4'Jfɜ%qq:td#u A ;M]吴/yE!PR:RɁР#խx 'mvl ]c֦Jl1jh[h8q}*Ǝ#)eb{> Qt0Gp&MF˺dU*':*I"!),j<%',l\Zmu_,H~N8E|!M`ۓiZ}PqZSіf|`:9} Z%θ7f.{b4X}EWiZk|٠3C0kY-sZѦӶfA 3|O Vtdt r.m8U7- 5VRy(|‡sYSqx=e{J9;C]`ͦ+;{Ji3ya7\)TEo#x22. Z<c8hVD bH$J^xuԜ AWoFߏZj:گV_CdA"H0frZ4f-v*KIh;DD(!F cHe٢H(XGm)YH్l}g4W[)Y,Z> ㊒VL~l3>i1Ur67G(M`jjXK_؃ aњl[Z+a Ue.+9@_dDfrC~߃p+ 0i|?j&tEFbS<6WP!lܐ#cU,;<"e٦BMr[-lfDEŐB{a-rhEpt6¿:2;$aTpiT=QC`Y kUd=PZz,&@֯i{ 1)rDxC jZH\$RҬBG5l zOӹɠ;>4] 2/ f4XaʵGFOD RGSO{( 2ì<.(bdzNtfn1'ZO? Ъu Rkqy'A5 vR~pB}a"[43ȕrM'v, H:k!qy!;Ed6P^Z@?[8]@xZtYЍ#ͭ'n #pE]J_vu%ωRVXo ^13y8f2mo 8b_ ;Ҋ(s\CE'O\"}9NOhL>C0Na1TҿJh߳#Nl1(yPAt,bchG圱c9Ǚ V$O jj!I0r,9JR9k~L1Tʪ9} ڑ % aiݧjV#dk)Pݹ^ޏ,\>+ܶL~8(=xX"~`sY8Jn놼HHSâ)f'd%tMs3G5MpM7K7 9! X&Ad6;X*=2D?SEwJ'V1nW݅Ft6ne5s0^VV*+`+u5D&kڗɸ~5q`?zLi J 9i38|{:<zӉ/\ Nbmb%'Uw _/R&bjik `Yih;b%6[>x7hB*g/xPyl n=5M|'w0ɪ FL~]gqs,lLV5WcSgbx)/15#+2 19څ-M5'C>_"ҡKd2`*&2ާKpOtj.0]mXBIckZn]EBJ<}ޥm$SmB-SM1 j;11ZS{ {^tVA \^*ِA4%Z$(G5YbTSߞy[=KrWm@?TJvM lE \հG#FAL ji=WFlX SaYIFYhTdg|E/Q(BYڛe8pA-AO˺BR\ut4C=ߡ]/ӗ_epn?J \;N,ٙ0lE> Έm*#(EҍA A[~' r-7l<<㞡Ǫy6Wa&zĀLGm[wd].&Ӟ X=[~Z,  NNUf>}@F=si)c$xO2Y"XK%uk 54`Y' cVb4TJ;1{w<g%zIC .ge_>&$2RYۭDu44:=?p yrOiea]IAUx O]_~$h`+0;"I)Y";)|M{ E~Ζ_!f\uDR7B߶]Sx_il 6LC>E492gVmEѹVXZ%HPF[F1&ŎyGQ_VWwR(v_(R3l!55tj) 1^1 g]FҪlI3>ׂ>Ht oea?fuz`Vc&A\+CÕW˰F1Ƀջa֭gB`#jdp\vGO+-;R1Uy[,LsAX./Lr1Me]-Kbw=D[< !VnKhvXe5S9= `FI":E+m#4w#%3׍r&k ?׌dW/ilv@1[ϒlg4GJ$cJ$ovR-/}0#PܷŃ~ 2M2:D~e*뎤]*c m'kcJzM|v*+9D <6Fw f补b2̐[z PbYDjX~+e# 4t&*#^@PS^\M/ɳ{ G=DzŹ~ raJ7DWgjcg =ȷdޥI-Ēhq*%]{,-+xU|f0/Z 6Å,[zvĄP`cVHx 1jCB#G|tiݦ`Ϊb2t &mЄZ}#RL\$B3x۲oF(:b; QwVn!̚࢕nh9 hn]5f/o=]Jص%&/jqTf:9jNM}!:Mv,wXƢy/^=nbSWc2XA9 ˽x}'r$( @r,\涁6-@d2Q6<+chE-@|ɶwx!4оQbG9jeս6ϴ4XF̔n;NC4ȟ>Z˺.ybkXC&%32[+eDY9]=W.]"~駐&+Dn`,ϥ܁2>Ok<١ЎD4%sSũ#0\Є5 K<'B0fn42ܩ4\*um^ u,9½LEz.12u|Rȸg^ft阿k"`3W!!d`_6r]4cAQ`4Vz8CZ"sm'vkeqw|D1]=Ƒ?ݳ%|(2*ĚD {?\cJ%!*="7 =F{:}dmX6PY)-l1F /& jkl8mpymr(leEgk%J Q+nJNs>Ld=p8gq8eݽZo=6^7j-pY՝0рg^ ,g)vu'jJÈ̚Ûr#{%gʊP(Y)o7L^a;WhJQGH0V+P^ǗwW$ i i KVkT{@{fGX];d08,9dbbrP+3wn)|7n N%o5.OV+;#8TS"Ʊ.*|HiL""|UKBoK=Zg5p܌Q h7$a[fq-4 N8ȹYܼk1S]~x٢nY#0N#E"Uzḇ3e/ ۝QwvxJa3-o1O7%Tksw\t5P*(ͩ)WI)9ۊq iz.rED%1 5O_Xk w[)س{;+V9w]JTpEuO dK VҬ1+Q( ؑfw]\H}H["c60k m)S5PUkR)'7Sy;?Sh  KR,݂iJTtTu yeAX sn@" VB>IFp'Qp͋yi{2됪{m- m_Z9Y?MNַ26;"> bܦȇF.}/vO1Fqqg#Zei럊.&^}yxA<{G`•r"߲[Pj~Z>(F&WnO~Ł܇#6 @Ngmޘ[Hv Ai:`n3}&Լ  _中[K>jA@!DI;x |Qe5&u3Jx"(']( [ny2A5#JמZw!aC) `P<1q9? at΁/u5FmR/ʁ.B]e^Է%RI?ƓPÓ Յ p.C2Yo*>#B@}Sm`t~:Wcmc;C~͟ogx/-d$MIɷjoQ qU5[>^UUqNmWR m02wY{zz#_<-=D(nHrgL;k8%G2km OA+_xh+3D;*(-JėW,J:;t6ф6W ׻/2ɚ-bы 36/kze*3P&1۹?5[sV%|Z"lB^_Zum8]j[.r7i98T2}.ql%JJt.d`])3uScR6e8i;(FXG``\Cyq71 7hsB3wH#$B. -Hre~] Z ӏ)a]K/Ֆߚo`HM,rJp'4 oS8Sgv^|QP˰}F[{՘E. տbIjo+L@@8f)#eDRa!P{sx⺀<Åo1D&.-ՊfrFie>dwa̿7VɵLm3\w|)ҘӦtjyY.*Ȍƀp*<5_.!rl;Y ]0ݲЭ pti#śaCa[V$fnUsֈ W`coƻC )^jO\c=I? #BO 8swb\cY:Z0M^-`{[k[F tyc^C Mˆ6a>qg/-Ab}:'5$ E +(hE vy^i.&K^):gj3ʷLojͶM!X0mZlij#胨@J'H(1ƺQڲ){5!3'͢J ~/Yf '*[sW9-=fZ 393lٗz"Q)ktE|^gQo0=(^AN9"O_xɅ '>Д-g)'znIϬaae3<#qު$g͍=\$!襡) HBKB]lF3>ėicuBdc{(}l4Ȳlɉ |TL-hun܁) Sw=h8Irl 35n4ϱ5Te\CѮ5VT[i*fP *'VЉZ?ʋyTш0t%si&c %<?mT&y{b>nE##a;X!=&ZS˜Wcx떳]'t§5cȶXj2]pF]Gϰs2)~ f9@8R?󥥐`w6㮒myԏЙsIO+n[XFeY!+}~ēg "V HX"L@"sRIiGڸw/BE1ӍE*4 ݀8#ʡcS%=AkēoP ybFq3}Pymx/̺EBEgNdXƦ-ӆé<|TD#cXB,L#UO'8A{"h >D@"mN?%!UUaxH!u#^>Bw#vH)ݜÁ2 Q#" /hu]hP-3B7S>#('dx\3j+9w_0aqbȈ2:jad9b{7D^Yr >P.ԨfFҗި@uxQ[3!MpBv]82^HvyP mknhxcvԍ CjH b+"!`k8{::qLFYxi 7ԛw̫ ?Cx4X$~ieܟFZ-ҼL Gp' . 9}fjƭqt-1?k|Jcp" h@Ŭ|:lGxpxE;Q)snЯq_V-^ 6)<}ܢye8b"8YAu,;/iD% 4{4IΚWADLwprb+k!ͷbܝ'${I>>.?쿫퓝ښ ރBC,(l7PslD"6#S+B4QF,gЃmm/:~0; U=|ZE!H'm09'0i0q? 7 h o/8OLichw]ON w@GԷkϋ{W> )7hvv^z]$h+ˆ䟫rV(}4zoZxbe oj/_^G~8wϢV?$ =ϴ>$\k3M{[׷!aLqf*D7-+T]mU z\FYxfѲ :e1Fbys7Lҩ1gH+*?n8Tz0 ;]"Yc./Fٱ-EV u 4T2uCRmXko_J)aI+6oq4f!]SXmJ>sklJ H9H^ɾ^] Py:>V !&vvY\^;^Ծ>3r 9-CͰ6; m(i@3c o7Co/$TgxQcҫ ZKNޓA1D-$Hl{٪pRMedf9|SLy*JHo*V@ċYr}0`|m*MiY('HwS4/Q I x^bd#Hh4!"F v'W p='ga?WU' p{iǽLX[ P_D`PLlhmJ(,/Y5EM>E9r4VS^jP93UGjn挬Tn]V!adb+S>Z8d_8nΕfM(KR <u+\QHߓMVP!p#|2w"UxE0՜/$H$ SGf9VkL'$M/v4ˋ-Yn-PI3*>@ )?u_x*Á yƱCǽǂ$*=XO̊G  M0?%=,ܝ;*~21piY 2)i;j*i6P*2+2 _C}|я!`H$(yn(R!A#b·HJ1.{*_=iJ%26OsOP#e_2fOʇ NS P01Vc7όE?E8"u%0_ͭ:t< eM6[<^c<{JH O~xHWo?#{:BXPWR[毓JvBUgSE7+,x,PVT<֟M'wWL1LDŽ~N5kS95)V#K S#%O$K:871N6)b 'g{Un6\Tc(ѿ)7ECK4-[8K6pAQ{K߬_~5uk wƜæH]VJ}Kއy`95@̈́|6T5flBJg٨HYr9Ť#b%Ew @8ߔ?R!5dHmd9-Q8{d-dt z8k16c|nI/ @ i.o N"/|Ov>EUsARm<iAC~mNZlA1I)4V5ѳ\$pҝTG'Lm!ȹ?-Xi6!b٣-QM_HBVrM 3R|4w1;Ԉqy/i,rJ$ cE0$\5 0]iܬ<+OW:[6%n9^1NX&X@\;OG2,øߝ]]X~9۱Z#N Qu= xsِAqfA+0$X#.(YɺʗFs#ؖt-&ߢSp2w҄L->ӝIި)}#y‵Ե+8dLHgcܬcb޻*NĹsevö}3it*/E f ~.+UDJK:VTEC8UQ`ߤxs_Z;uG%-}GIs~x`j$YU{ܫwAsy5I>nMrUpXE bٿqϝ  _!&ȡ׾jqM)Ĩ\XϷ C8[| 3&fRFk3dg sYSJ|D~C4H0>_4dBQ6TMg`F_Kt] '9w$L>UM߉XN<5;hz*:i;TКgH,]G >˜b_Ws;AdDR$?u:>=ArAA}g4gH̦ N7r9myYRJ%-QΤ|Tx+ 4ÒETդxKl>u_=V)u/!P!J Է\G7!d0VȔQt# P˕%;HdQ'9oݷR%#}`X=K._X-34@3 YPiLu K#xYU M';((2J:3fee jqt2 p<3 XʹigE h^vFR9(C_%+{曹)6Amġ< SKFu/#Y?uNSĨTaVsМT޸`{\n*[T*~T\({I<,X^eP(5}\hHE{>3:! \lRlTGӶ؆KqdEN0wR&^R6>4Zc5y 9 )1h2`X~7DNʚp+IKu^XȦ&2nKHjRRt 2i8g ]H8ƒ ;HhY&`_X["(7iD@" U,K;^-z@×t5Y1Ha4E-"Pw(gpo( tR_z]J9;ٜіpVP fH웿x(dʮt`{)_zy|K6=J.oA ,+RJH11b͞q`.O;b.T,閽FBPD:))*sE=id/aXmΟX.XtsΡb" P7vؓnenKTMz9AeN1X)T(2k .xP{Қ/RGC]C"XJ"CMpU7_L'6}C=BUhW@ ڙhgl{t0%"³RNñLդG ߞc %6-_^^3lt]p>H'_[n&RY_(G*=2=4̭>k@3GAGk4% 0)kE aH}gmtyއ{I=|{ %9t6hH$U+GBz8Qmr1L$Z0&&Q?NrDS| `J-fPpH# gw@'<)gח*ڶj:cO }g9Éxx/&]3@bp.ӐiRI˽K+Xcpxq z jG φ+W#2jk*,uoq/f!уa=5Ymk?_Cj3N+Vփ\ip@R~NGڼ?}@ (^BJ7nj+4ҧ8S*UL@Ye/咼b@wN[ESau(/&z/tuEF՗YaKhb-KJe!/֥Mgk$iTY\(cf$"%5bB?!rGN&GK7 5Iˏ[/OQL,og  à6$sjt2<kMe}*5:)uۈD3<\'9QxǷ8ŏK~vgXIŇKNeqB{H UaFpБ8e:q11fg1s0s-gSkt|jнD^BQ$Rxu H% R\VzO 0?-P ʪѤ#CZL MpRGR+a QA\i}zwQL9Oˋ,(X-|:\Å U]ٺdMM)B (&CQG clrp ܧjPHX0fDeruu_P;gdG` :GKt@| W Qs{(lnFma)4 7l^M~~u䏶І qnh:bv0Z_r8ߘ6d#Q DIwٓGh{EaXB_{@v£vGLZ>ϴrcCJylVr(Lm_s<)QI˘уER@FtPq:rK)|~%7ycH""%s@츴M'991 3OJ n,$?a3.ϣtNdeIwRT^[&o}EG;^1!s)Un{)TVQ fy~¯oHmB].'UgHf/px5rWsKfʌe''3ާ@;30}GB\[mT0>tGISڿJp&*!.e#=/0.~`z~m6Bvqj*Lr< ŅhfbISˉ k~U9 GcK ^2YL.\wfHeT\HbbqJyy; )rLۍbKd %ncA|穯NB߶5Oʪ -Enyk.\;:K!T{D(ozH>.\"0r$FoiBZ_|967:.IWBˀܒNÄW^:x ̱0S,sDmh]'Rpwp˥(#XK%29A<}. uo\i٭ZEH3ѷy)1.w]fo-U\22?9 pG(1p#:CDm<YD rP ߂"}/05fDzQP̹UJsBQMMwWkڂ% C-LA.`AԊM OޖDO vK״GV% 3D̯h\2@g Ь/\'U xѼ?!$h@g7ki7Q&%5i.WK~ q]K]Zy ":?9D α`^=\(8$-&&FdGЕ Y6c6BS5찫 RKHx4i}viƔZ.1_të$p5ae"k3{xbi}=b =䌣2<.wNY6o̷= /J絡6$Nty8BfxZ#Wd ߕvԏ*4.r4U,fe*&+QiX9٘z_1M5ȁL hJzuc}dhA:_<P@nn%zΡtϷۓĊF t0k_\1ĚASo$~G"M^$`?P=+ iHVa=矟</`?z'Y$0#o~-I nۮ${uԙO ~! @1쵔G_RKܟ*Zy?D3&*ǜ^\h{'^q&{w|9^q*Z6m-u[xqv|ۉqiD5@I@nL`wICI񶢇%؇[H,Q3n f3gI\,fH˯sr+5/n{c 6(+Ѻ,4^|!#jlc^?  U\W)q|P<Ԝ`zDXRZFFI} IKe,D[D8쫧,l?l^ts7` БR]v?d@$lsF[X$0UD2]0EBMhT u!6)r)bO &.%>QUS8ɂkM/H\"ct+8j+w; `hw_0<@.^ƶ^ʋzsFa\U*?b?ptN6>Рb=?o mC ծZ3vy9IឯWw7kg"v[ _?|r_ZXqu^J׎c3W(u#κ+5vm݃1sf+|ý <Lf·F6 q~<@L^PĚi%,3o kF\~JWV[yۺ; o Kilthz2]dȁ Wq (y^{uC{ D\}C3N d) 9ML[Tu{6jy1*)}`w+P$hr 4j23K>d:Wլ TU[tHR$I+ݫ`DQleB` j&I-&_MPpYV5K 5w拆 -!\ \Ep]ZGF9 cЧY'e6Dz'|pم+d: jhpl}ښx5CekM480qNQ]T_^ ᬍo|$-W y56p~ DMm,NQG'< (Þ`k@"ZDoHA6Pw8K斮B:Va? {_ֆbqs ,@!} - ]72U3DYRAA8|d?&RݞILvvM-hV)YK,ΪХm-#$9rI֎2<*d15c3/i' ʝ5=V$bM+ Z&2\6ЬN;{oT, ǎ{ÅKIzX?Jo{a 4P(X4԰dgAĂkͼe/}3Q57hC%4Jnsi(ܼ쵢?BP4o\P#:3g )s+fILG33,?爭 2?yMdh*0!lz R0ޗ>NqQTOgb!%O6HF{ށaw!Z|=P%H8)9߽@jЩ`N2B~OZltSibV!<)C"4Pm8 (pt66) FQ6E{NdEay|X[ 34C 5iC6Omd O@{]U tHdofBq?]j=>YױbI0-ˬ-p۝VG j0VA 1 5L߽|Geta,o*ޕq1Up*kk嫧sX1Jw@w1gqjaU^>[Mc%)QMlu ~ΩH+l|\w`氒9#FjU%HP!6 lYTɖy#%)#Rv `Qgsh;ѭ4Vz`H@@:S-Sb$Y˳aYUְjo{߆^/yGN O'Sgŋ(@j@ ˛[I@YM"RԥDN1װ>iYq5Sx*`U`8x? P ZCʅ]7G6ty3jHbJBM9lȬO^PhNZ^LsK{Lkpu-!܂>y4T=\ߥnF֟sdjo0P1? Qv[;I,/Q{Ӽꔆ^ <~}~W,8ࣉÜ2Q xƃڞ. Bxg]b3{iTd.rrF^+8w%eY\2 3OZHUް3io?SB´ݫ-%"ͮrՓ{&yďS\ "_77"[[-HxSLg\#}МhO|A^_h`bDYUWUZ퉗>(h5hh|U\o6IzDUŕ&QdCg/qB5lwPI% R̿Ҟ8 &,qaz 2UDW${[3y±9F.-q bƴnоasEAWJbtƠ(}/:#XyӰrZ3EqT`t5%`h # 4E{`.L#1t#$On$Ay8j݉>&@wG0}f&iLUϻe} Dmk'^N Bng| ҄W6_d1OKDOOљ>'X xO<4U!M)hA* 5qɖ>2k@&HQ=7 w g*}o[UPx%{g!wnC+V &^h7}@><0 ~w'_T e.weaXk}dYFJqڛd +6l8-?6l_z87 Eq)x0+o@n"qCu>,e;1 >?}~hᎼu:H6ۡf`h1D߄z*2;u@ԊjAӛ'zl*t -C]E?.S<2"]X !h5F1\ٌH~gS<MHd7liT$+H=9.Yzty 6ٸhP{dVu\Tj|y; 3">HVeBqn5jcsC~v<ڱ =SA(s{۞%S/3Cې=__ rvELhh /84Ih^)CT8"0Hmj{RN.ӁcY)e~ɣҀ3Ʃ>ɵF*soap`=3rO*%T1{r*#_T2A\-)ʩ^b;y!Jr-x5d&zvA`2@F (!렚;r8rCt<Bw;N\Uz}sXSNSԴi n䥍Ĵ~suSFKaDqd0Q'm)i3f܀y2RC򞆏:][h<JF`0%Ҝ}7Rѷ͜xjP>ٹuf:䮮6/&B.BP:0pO]QRmKij6YK!+?.#CNF'$Rֽ 3}[YO3:# m‹dz382T}ԈMhbo#,3L歧 FزșI|+HDZ=@ycVf% >yhЪyp@G!b%- Qcgud(ϒ_87SȀ+^'Q#[_T8c#( /a!3<ٞ1X|ykgCiIz=(3 Ɗ#z[=;NyGӤG*D#Z֤rEWvхtA$0VhD4@ő1J2NʏouqXu5SLugz~SF1"1PrbRϜŖFã ei_ZC~ĽOËVV$t$>[Z~bW{np/*ƛ!o+ ^> dM.wT':3;9"xwa؏&5 +cBft3xZGOi(ƜIʬMn2[2z="ClpD% G$R\ƨY,F :":tcN &S"Qc!x#^rM:-g"lV".a+3|݉oӆ4u_BN)*f%PDJ߫Wa+!Ѳ2K 5)UPV&"˥5Nl0(#1ʀ؟Ҙt[pݥwYp;j ju; AZ& LArS ŚZpC_g[٧;޶ JɰdRl?BNxx3v7:z*!ING҇✭c~#UU{p2%z)@-ۯ&vwԓsJa AR->t0Z_X]c&||dm—(F}%Abbo2 Cs@2`$T̐@RD-dzd?Qz\xs_!B̄ {Hc9iss[Zʕxbm>M=e3V$¥_<(d|m=a:d^J頎7l" hF%JHpFGٳ%`q(ߏRk4<.sIld}L ndZS2?:";oӕ5u6utl f*av$-YiUa {صI\TIlʃN;aL)Oy:*Ѳz3Nh}=Dפ8 gӼ>?8Ø}.2.br_)=P\KR6oBfߗBœH6O 12&S䱄X@T@#CS(6g CwF+?xIXM|yې_h S{VԼ=Jmxo7+NcTVtkKMb@X_xiRX9x'~YAFF[$QJ[yؐN:JlӞ)b|:%rRrFo~ "Zay&0j+plƱ*7zd:A="6 [dXĀ ȿƥo(!l>9Ռ3-•gyp-/ Tj2)LdCNiTTYrDG@ fiLAuc&;dXŊo,n j<1x2RR:f[|8WP.7g۱)eB Bh9A%'b_~ 6Np=!Xɡu$s"0A$Ш9a}ԏc8Vn!r|e 'IݸQ1a05l\VycЁM*lyOk{28)s*(lOiݲ{L em#{Jt1(THׄ8Tq}?aD㽨ȀY,wZf=LWYT1JyelH:t+_ 2tmټ\P:$IuCZPp _kjq$7BI'y'|=2hS?į_O`ª83(H Ku쀉wVX*.l}^z}~ވ9{cXe>zh(7Esb{DR\_ds8k<ª5}YQ.K9瓼R}9>O;ȾѾnfXnm#F!D2u%,2lPxl1CBLzY pR)$;DN!"[?M_٭ DBϨMu'I]<(RyEHuK? UژDV)ۓ)x;xUƎva0Vm|KNIpwt?#LWdz @;*Byv$g*W!I JG>: oH;$-1}?.So2DJ,H0$L#|ıISڰQO)٦&Z/} _H^(ogΥWbt*-pY>Yٸd=WA=1g=K>ȜN8SVd^|, Drs.:]~(ZHnY\'f'@w2ކ+3rJ%sړ ['FTA?0< g} 82`BN;N|4^3f GE #L5] (gn 67]Zkc@S"kvc,ݹkԝŅNﭷd6VR-+aSPNR$.SNv pW=qvQ#oHwh*8r.Kl3MZ{i1Py .֑m˸g=r a G}5:͆`F@=] _.8BYGX|)@֫ 1!k2T#ğ!x~ 5/ ;' nב.}50J{M¹bYG")0mJhtX#YI AU%$GqiDmK#$b/jȮe;~[H.QX^mjTKn 3bZG}g/alYve,Sǻlכx7.;kV*1 y$5AB'/lWHۣ?Szy>>&~ RLGE]jj-ߣ3eTbL"`tV5~R,Hgxc9'6?s+6e,H짻E Ea8MjG'X (:kH4ܓ27@1%1:fH̜2Xr9zI \P/V/05Z4Ne93>?_ c%֎^sFoV@EԵ=2 Lyu%ʩ'v4C`S#Yס='Ø $M6 1cd]ms@8b/A<9#(1kЈu3&W:zǓ!si-^pdY&O.LNw~x \d:Ht.-3"~-Tл}nh45e "-\OUmn'Svb(нUH,GbXY $Ovٌ F8-r`=|%Q;6 Y6;_=+r$_8ceӒm!Pu7^B4(%577{!PRA^;LX;0iϓ%GC%[?3GXkY\Eǔ@!iC\!~+ܸh*% 1o|JjSk|[䑱h#'xHv!q[,G%_eӞ'> 2%2_ߘSN~>ETv ;WE-9iW'8V;#V,+ 3Ŝy0 lk  ~'9i:r)M{sيo_Mx$4lNW=#dFLC6ʚn\01J)H #̟.GB-̓ƏQο$ǛmGOHwj΀fL F4=a!/[ oTg Qnxem +Ka_}0c[Mdd<%27,XKiL&d:F]Tpc0V^4{p-M6~jNŒ@^:m s+ 6OU4ؘ luZIVw%;:<{ӊT+ L}7إ7' B͠Xö= kTPujra+|ygjl8{CbUeU  fDA À8&/=/)Ϛ%a pcfHɡpm}Z-l@{m\GX~_዆ErK^AiBݔKEQh+KS*Сc}39|oN*V&q7Y9!ngRT.Vo$fpּ$ -^[D- G`gUB/7}tr:B'q@꺱õ4WD'צZW:/RO A?q}di=Z}4Ao]i,^0HXͶwS5GI_"/۠N W(o fI+ cͨ+h.8;RңJE _hn$+IySĊZnnV Ȫ'i7_ǬylP5e!&(XmiuJ9 N⒡ -w= V%ĨRTqX/m\k8O*&=޽"xm?q| 8)m ̪7(eY`2Cǝ٫P-wO5O|]T>ˍV5N)4'1n)NA1E(!{+N:Q _-X6ZҬkAT9 pjxSHxd $}׈Qd8K=.1^! 1OR5^x.G1 (}6WN-v1K_Yl3-zA`^x'Np he6`Skqr|֯#Ci ? 6(0HĄ8&UnD9)qn[ӕ}AbkB"^WL(Ydk*y{P!Yh!.w.",QJ+dڡ4ARZMv{mDè~Nf/ \`ؑXO= yYYpg3L1nt'up'33I(Ꙣox_ ?]&)5Nߌl );$TI<^x>]!YkW>撟Y`ožڣ(_vk8sob(v}Rii7QslReJ:IuB(bX7)IgA]hI"md; !Jj+`څw¦pwF*W,{wCxp#;OAv0Fvn]#q:xQ.WM1y&7#6tVb! nMi ^/0ǏHP" eLп({F8EݫjP%ѡ ¥eITDMj(ཙlq:{)ƾuvu>!4N()KC;ퟞ a:xaڹ+!Z&ҧ!tʜ4ڴ\-\rmgT̖^`wJ D=ĻgZ|JDJqGv(%En:=vYg"8{p{\Bj>o# 8Lb.95ԷGs"_L46MDyC:IjL7 u6$ʱVoX{ }[׈0r ď eK뷒"n_+؎p6{r3[ \9yCR8xu0Na((42G~(Vka+MJ8ޠlؗFs_pik{7=(dF*6cqQ-R-)$ "3'kTzkIoNGkL`AB g*m$X2oIqaK~_Xլ֐&6tf^7"gV"&hWԇH\Rq :tb?@8*\]bݘgrZ~K{)7>y '(+̯S$,W_5>uB _ڿ)p*"*< k:u׺*`!hߎ)bi?" *Np2%~-m/L!9rɛ t`հI`_?.jonjT_\{ d/)S$b,5śz[C *SS<'`HK- aϔG&'7b `'WE*^ G&-FrB=hk,Zk/] K-AmxRYT7z6>=q`[O88hgⓌ-#hU0ҿsp@/+%mQj|Nѧky|{i;w.:2Na%'O0R@?R޳Q=1Nh4~AFҖ $c} -A̛ J{WKoܝvil? tӎuAqq?iJEpI=ydF.#8#RUa ?P%5@yfzdEߗ̯8gļ >^24"%f,>z[Y7DvyBj\$)Mh'D^apS9|f6l>A,Ƹ`HCKl9ܯl jYdpI*rds5͎'%؈#rsU鈯1u-[B}d[銜49Nv(Tfê)􊼊S/Zn#%HlRgʣaư*mVot3ft*3غ˫ԸE,%2{}@Jҍ/Zi?K@U%PXT(TF@cb E.@ˌ .LyzrZ9?t$@,Wc 9]$:Zձ*HlaaQةQ!6^ *H=Ug) cx-7}+S;3MV($g7);됉f >?Dz%gJ/h:_|ⰲW8rVI=A UuX 4H DAf]tՃ.Ʋ; @J#y;z8ӸnDˏXڈa8^AJwYvNa;;>}̶ nQ*)8LKZlME\mk#R4\,2T&o@YIgq^-7uF9OVwm[M#t^T[UWT]j{vʧ4KG1{r^qV@y a!H[~B~El. %`lCD&-<?{MI"D(^=r^2RK34]iżKja3|Ȓ j2*ΞMnnOKIU묉,U) C7o91~՟xFpdLY$ե z .+@td]@ѧPk| rJ9dውYɾ(tE XdeF]U6Ni6zӁPyX^y1K<`h@U6x}#P@eF2+<\w*}V ծ>8cx$Yąz[W _-\dQ=t?Nh4v?}Y!sʂ2c@"i԰(r>{ۏeqKI⩯Q06(u9E脵s0pA~t*-m6t7;7 *mf/diuoMjkxxO.(l'%#T͍X2\G:Txjk$X[' h(UN^,iŽ Q( yzP( @jh;-cK12`>bfJEK҃tDRa0[- CRYD'wQ:;k\AQ,G383x5Pݵ)%\yql˟p>s*Elц@3ҭ[0ht'80f;Ci9xH?Z3jɣ9#F}e fU[!%Lv/ H7AIJ;ʶ)]mN;no^3]m5mش:Ŵ.`ټ9 DUPsޚPeP[Gg(3&]v+ M!>@Siv532K 9hAOi|A +J;cCmp ͝!:Bԇ  IDq2&f1lI6r{::Ffau1MJRi`Wҝm$iP}y(Kr}r=Ge2AI޳'һ"{"߿,TqzW!x!1S/jl)'-zu៶& 1V-Umf_S#y O.5v鄧8zt`:D_ -ڴU9g{4 5KkZi$IU4&LexPJ%s[!_}lKף} yʉմ1qWI)c >Y ,KyPaD;0ۄ@$Ƞ~| c>Vxր}7| V;v~"gz:# XLe V4G`X qF ^mplrZA=ghsDC)H|7xlx8s'7zN;b d*y O;*aQ7)BLы CMZיW X1?l}V?Tuvhwr|x1dpZa44Ks @)/B_mCK1-?lo-˷1#_% <WTnְaaz;SBP_8Pwþ q{L(qb3B7(,z%YY~drL!O =qtü&w.\co*0qA7Wg--+UtG 6!ɾ2]E9JMA~B~~7ӽ-C oD2{@Fψ G^mu}|q#ItTf+ϸr n+5 XfNO+`/3ӂas(o$"+ ,RR|p~ Ϯ)VXkF짜JT)i;qﴣ-ʲ%{mmkdu(1ӗ%31g[JV8Hb^{6I^cJtl2bā%P3d5v܌#O@^b~Pw;#Ȭ! Iay')=Q X$(p0wMu 1+WD !iw0y1ڱ ^!r(鞔dˣ;PtO- X!uVA8Q9c|bޟ$ gǀ\YLLpK^+VT2go:~]CFypPi)䌿/d&z@.lt~1<lKM.)7Z Rz";U Ԥa!?+ʴ*\3 Rr0cb8sap|<)$'2Y支c,@lGDA6Փ@ơ (ʔ7)6p9E6x7<{|5 Su ݻUnِ7ݝP -qytyXm\kbB3C'm)'dWmw }!Mx<kƱ 'h'@<>:,DϬ WF%6ʖU3&|gqUEGeRyS$bw (`@V]Om#$7{+ϴOF'YՇzĤT;竰aHm{ft5 ⚹~Ÿ'GG,3_'#Ee(RiG(Cِ~ivk8a8 FCH(BYf![4w]^^h֘Pt18FDã$cJPʛ5d Dm)PbEu{tN*`Q[-;:ȝ;kt}I4pgI*Od1:CQ)#`z3JA }t(&na ][H2~D \dmޝI~05sHzoW_"TT!cƚ ArPuJ-Cz%n"f@ǻƑ:54a\ۮa M @*CqpO:Q\\C,@FWpA{(ޅ}ѻBL[Gۿ~8,\c*g z8|#J % ꧬɹV4J>VIcZz"yd:HPJ SA6cWTzA [3ɖE38Q|eA_j(\z[Q=o=O*6!? -'߅"cmO%(`QB1M(,0Ǡ4Joopx^$L -/ f5C'd N.ɸ@75UfYUXlMo,BIߦc5A|2e[xUd38fV~"TքU!*VaW(|{LL3Cu ۡvsÆPV"|!sYQmAv&32Pfd0do:dϵ1ْ6o[p*F];vY;U=2zPN| HZq=f@facrpb kPa 3X2jcu߃%F(.ŵ_\;Iox_֚>v%i}YN?^)!uA*.0^6H #eV:KWlAL*z´&g5=>O $p‡f{k2:3BT<ɂK%<J@.p"/BI聂fv<ASDWVSA)\ZЬՖ7 -"}}kE=:J_)U&܃^(.OCiAC 3p3@s5 H,rJQICM4LLoֆC Ҏ)z<4>Oa=·i%Ё/S{lFv$DXOڿ1fU|*ӥrZG~wDi7R;'N9 Hkמ9.hStȒcfP\'3:!1B5WOhڿ#p3h*!c'GC|Q23Z0Ÿۓ?AǢ'>Olj岞s2*~=XFx9IR3IbS׷O#I-1ޔ M~3PY#b1u3St#G:]'Nخ0́LK }oUOoti*y+u7\P빝8ѪɡF 1=;n 4P`"IG^=QBS{5mC<1=Y9z4kZʃ 1dhJ`F` CVx49 ķy7u]:Ss@ugQ>FwwY!PbPe֚5OqDCQCnTzxR8)NC+c@{Su HPZ:T!}C}a2 gW,[)C4t`ȕ6>J;zD({{͈#f/ >jJ(0ށ?al0.~]Vdvp ҨMx@oaZ>{nf*Rҙ G YGZ>(OvZZn7afJς_|dc,k ᭎qEW,uG+f'Hƨ1= _nKr c&jW:rd@=}[+'eN<:=@2qiQNTiU3ƺG&p WE~'[sknyU_<3{ǣ֬vteHSA \Tۖ,oR=I >刯0&Є_fɴ-n7ug>ʭr#6I'K(s,KYd߱ ^/iqAaܦwC;=eS[ga:Fj# WQyN{$ H4v2#C -(#wLG|x$ZL.S;]<ܦ,r:lJ4 >AHeӞQ8{-)u&}\ 3欱xp(v.y]A}O : sCp`7( O 36NHꅳT",hZVp}I-J# Z2e0Ogsna˂H'OWm66֩=&|SF_H3u){KYSu0 }fUrR|[{2{hNj̥'jr!xSu"Y h.16T^*RX8 B(7&W}~\,@K{`$((TGbaBh%Guҭm3 S0{-ektLX3khGT39~{vG+ kw;i4D?$4$䍎8!VqؙURLxfs/YhJ95Њ⤕wAmoSX,P<ƊݸH|թ>|86ڙ_c.Aee01umtz#\(V9͞p;%p~>3KK :bMUiQQ;m n^q~QTau|W*䀖ʳ.RL}d>$=v6UAC0=;{kڨ旰8@'@ᒡk*>L*w9>5 C{?KQi#O@i8}ra;|a8 }A$I X,gE' C1`$ZlQOmmM"?󄵗 MM9^ϧa fd2,eKf5N[#3;?;/8C%钶6U&QW3u BΈE9e%PbqSɏAyJ͚%ItjR'fVωL uBv6IJE\T5W JNN';~jPU2:3))쭦=AuɃf鉄ԇD|,,&5IOFOkYng  s,|e҅[&(O ٟPFMCI k XwUet+8 wEti_1 YT|5X(3ЩPIeFt^~|$ؙ/ؐTN|<}U+5M]N"En"7"C!3gIwec ۷*t ;wE(Ũ%݃}vѯ31Dv'A,8^2D3QfΈY  2NYǴP uJl #XW)_u3m@ ЙwYSGRZߚߓ| S VLKpf<8R/$0dz@5R\ٟ /. r]s6+w| #3K CfV|WJ,9B&n ײT(s)[dMPQ_ &K61 6hyM(3qۻE{#FqFgEɂ*ն+ׅYY5/M9(e^RD I`tSZsz&t5٧}RZ3ΧU7M]KݏKSx=q"ay#%ڰշJ.FecZLF^&Z.CA08b,b=#p;QaOc[뿓ɸ%ǒۇ_VwY37+~7)] /U׏˨%8=-.2x A2㇬Ai) RcCqȌ*]D)Fyqo׍;f rnǰskf[-ՋK VLmT-aC~+ DTaOuGb)gmz]r>EZtFp.GUg sIUaE~}GܠcG~VX=SNxɪsENzDj/OBSYO<{y^,=֝ &;H{붱Xq0 V1գ42ȍ==MI.Q[nMK, 1Id8檿$V$!0~~NI3j,8f OjᣨY cfЕOM(٘$cwTr(-QAS;`Oy85hgx` uh9^gq5P1;]K$9<0:*.gQ j1{x[.󤧂JL %M4s6[|Jos3@BFXbY6`Kn[pKM<6C˧)zsWuXa.uAfB5;QhIy~wYN׌Y_ҫMuqd UUfAHwLe@2x.P}DJ%bƝtrGbijTdeND ?kZvL4 &U˭A%~di V+dm]#/=$IޣAӺ@yvefȐkY6g Lwd9n_[ V,NEȩt٧qQ}0YcFeʨ zbxBDKcU'=6JKE|zg=kCXL5<\c"K͆&f9W!>EvFv03< [C!1@K(7]ƃlTETߒE G)h5_%֕/n~{~͟vmƝiAv>7M _^pazp:t8IXG7Dfs9Fp18CYE$ۅA:T{o{ X5Xg_왐Rۛl}4[ >8*= 'RBR:Vt!8!i$0qb藜9;eChB, ,1r}IJ& f#^- [Xjl؋f7_I}e~o(I-Bw2rq!!A?Gz] ւeEV|YTk|>Q%mʀQ 2i%.GQzJU$d-me깦œP';[K1ꝏ_ 0?M3ӕEwݾl@qQkH,xN6<*Lm^`ghIڦ;L_6K!CDg{h-vLLފV HII2@HCBGꋳKE6f~ ~7{g0,~:eiv8 -jZ=-UOS.%:򳆴ei &doӨDbB0R/;/# E8d GեLƒd+>F)3VS2fIywl002UA guwNXl^ 񗸵D]2*pG'у\D Pŭ5:$zSIm:p9$a[:$hyRŖw_3:X*$2Rx b w5hU~L)i*gJw> 9H #c*Os+[CalUP`/ǫ݋ۤb^vAn4xf=V}o0}I?|ez&Eg?$:"":"R2h}ӲԩiSy/n 6m*ͳ|t~驿6H1O;XVW(@[oO| Z&L(6A Y"ң-$9Ÿ-s =(k:6vC!/WE~ JMOʱVͫi?6JjacT0DzTٌ&:!%C7*R ~BY]V[[G>BiW1VmCUΙTe3;Ke jr08t#b@lS9>^[r-q #D:<+B(Hq̑Ji-_I>xO G"W4K'؍BjiZ2Y f¾]<Hēo:4xo?q) 6P3 y=)T$y-՗݅ACF ac4jtVCQ[Y5?E{%̊yF+~t#A tc;Xў:]^C;2TYXy ډ@Qwez pNn'܊!%[$)3j2f3YIqzj,TbqVPѓb 6weZ9RQ)fdv*SQs10WzjcU jUM9@2ή\znRCb=$H@qr_\;'Z2Y]F8;'co,sޡ.t~VK.zd Qd$A:yQEYl-(H5]7J5 ` ]]Oa;dJyp;@Da.r.41JW>_Y ۘTnzdtA<,T=L ? ˦.xK)^C*l$7F/[@{Rm4*`t`uE2I6CT`5ozܖ,x9aI;? SmJ-G->JMV1/5bnϊ2r+%Pf骊ޛ `Yz/y{g-{ M-{;cBYsV%i{J)vrYUbK$ dP.?O3K,sr}ҁičVGn;MH(*z0UW{ *T]4C ڡv]8_vvK%dmy}#,+2 \=fM@nT&Dp7qnXtS(Y}u]v,ttNM6nX/ <;Ih3rLv]CZ(yX8Go )nEi#vE^'VS` QEredjI&XG8%̷_ U ̥[np|_%4oe8  ܘXc,BDQ2]Z~˱-ʓ10nO6Ê;|=̃:(#hSqwq\pùDa "6 ࠯&]? hyu+я$&5_-n8g?hD+{a:iN`=&BUѿ.(^\{Cz NC ;hr52uC'H_Pأ<=O9r}o|0Ue2RY" ] X~ͰۮrU7ۯ`O߯xFI3y0N}/h,tO-Շkj\y64gr8Zb|2KQ=K}&m4lX.tUuw_P,cKdo@_ tvj"aZYhcIQ6A;|6%dC;Kf[BKw6HZylEZ PTΟIv>jgɬ"qz4^GL_KsA1PN\vv^خLb] `^v`=hkXLxyb6WiGL30_hFP7{9@6t}b0I|DeCy'$m.;[л2BlS_#\&M#A|:fGm{|ɚQ\S69맽#l@_j1׵B<ۅ Ah3~!|5KCG\5~q˙?>b6[*2fq )>a8'/|AG[ KʟYQɞQC-+> .Е<{+>Ɨy c{F"÷O)ԆE^ND14f3)vُaޣŚ-A[5h %hQ'kuZ9$cT~|'Ϙ)G S!8Ngʜ[2Ɂ"y?p3Kvg?լ8@h!cgIfTKMN掣ꬿaP^]Tu\ʣbiaH6ЏɪS7nd'gJ#;J+1&v trʅ5Fv-3/&i.> " tEk 9;a>c"W+/P'}詶b}'op`Z"F!FGؔbT^O?v=.:0U\V|X#@4Yv8 WrTk2•E%xh<DEin:Cȩ %F:9Rпe"7X`bLtXF^$Hcu.Uז>e'_u_5n=iZF^m%WMuF67 nj. {a_Cz4B|C;9(-G= sO׊N֯ЉҙB8ϥ?(-fiBQ-l b剈` sOFϱsf0+zglE("6Ǭb)/iyȢeђ|^eY\XA`A嬶 sY!<'8a=FH;CXNh w hkTltY$O7k];f*djdE]Kp݁C,:{z*j i'X;u$z<ʭc1{#IXНSDQQUh ի<8# BQ 'xב.qUC0,Wy83 tR UIʉ=|uNѻ>2ҾɌ@L[cwC!Sx`2<ТzՎ/[0q̜ .!K ?\]ki^R9h7+:iv+r=p Bo ?GY3C"pE{A<TK8M\X^_(g*N?NƁnƢ Pw>QO: o:֏9`H::$O*n~Y]4צaO_Bאfo 븸m{T[2@\H ay a-U(QVLS0V¨ CRZ yӁj\VfEdYmIOh#؃&`Pt>ڎ@VJJKapBk7tk): ЏRB٫$ g7d}k[?ߎT゛%e'MdÔX'y,KcoxN!,"jT VeV'@EV)k&N)ЧG8 6^,b8ZWue}DSb7eU" D_E騱k ?K+D40EKY3FN`Uo0zYQY ʅޅ@lZӐi]**@_=9gDɑ.9 ta:7FCش/ Sr8i/a}' CCoVZ)׸2,6Ԗ+_el #@.&+LA(CW::ӂjF9HIn1N̴ gcj[KBb`T 2/Cz՞&e_YA %sMtl0`~YbadhIu1f/ҍld@aN4h5 nvRK҂kHwˀ+,GF9p}6ձj3hXF)+F),tqR3}3ETr)QPk&Q'8EO QB;_hLԸ:v3kfl=f|D9, !:R4 zn엩 aV)ġDu&1C7†~pˡ>UM1S)>fLJY(G132r x³gB(;ؑUD\go$;'{sk@jR>['<bxMyh`vEXxyhMlu Y}U G1.[,%Wͣgml>^C`P15Tyqzny9D!#7=bJeBU;=5[sq ν&aiF..Ŭ <'g4]G{5{eKޟ=c&sG8ʜ'KHõb>146włZN̦>XhpNL:_M!oYQoyg~ocڣ|^ZzϽLf9%["GS]s ޤ#wC y%$eSM&0EڡCs m62>}={#g^ N $x9avpKfWʳv8pޟԶ czIԧzJD+lS%e싼l2D͔2Aj@>~AT֩4]!_"g<~>J %H m.񟩃JG#rL8 /(x^fWXrfpI@Kj(d`ۖ tlrax+U,5gNJ9Kތ6S\^@+|< #m o Yl%1+l =pWE%m L% p/L4I- pcWVN! 1d)ɲi@_= ]UjΒAz}> $ ؗZKaAN({t64ɲ*i$6lV˿)\ۯd׈ zĺg$"> IY|#V.-oczRbhEJ4KpI|D9څo2h09:0  5O_?'޾,2q6zr4k(DiX$,U}f/* oV][kg={4*0^6őNa`t-)idO*;AbNs޾uNb 1T2F ~-F\t+< {ʂ:hfxd2g]oY%Uma>70Pgs-)yAHFPmNtm9 KU8ǘK]ޔ`4: yR)Gń]j6AQ*aG+bڄ^%Z׫Rׂ0vY\yF*TBG;.M{˚ݻ9I 嘉&,B7yPKK}ßt}%h7{둞0/C5ߠ:O28z?K>@#|KBƒwЃ^ 1JH?3XjC9O{o1~lEGW HGmOt;UنƄ؟de߆ | (hMrO?Bz;ֳP7mt?_XNEuvhK| "i(aYpLsقr|4k]Ho 0f q|/0n"<{*u؂4_ Y ?Ѧ%qw6[!>YC'>θ*%ϭ009 %YaF L?iXפhBYX{{8xx-WwZF?F8O&}U:n=~=TmF =Ҡ?,ٞO[ $Յ]#1rر@}AC~݀'KXL-.AXdw+d?ԈJ7Fpiåo 8ܐ_YWs &{*zāƗ/Yjsl,!lZ,Uuh.Mc ċn:f+K ql*&j ^(O6,خ/+?dz> HnUϪl\DjJ+,…d(mA]#ӥ!!jtIN D8*q#OMե÷*mKZ1 g#? O+ DK\,VBSebge@j6Hh\;'*S\'Ӣb-5{%RGEa&p?Yq9N )谜ا? օ_j*]Dvbj) I{B0F͓dw1/<@oAU$}u@ NtuUzQ17QzGWGi_6=- P#-&Lf=<,B6% u`cim}3E1oTjtӞoHLA&̭ cak ^]¿9QF$;ܟ#+'ETLҦ&#ñ^J*l'H\#nW\tO}hm5VTjky24 8LAJJ}ଽDPBip@k yuX:R0_2b(95%ʱU=Xxޝ&XӼvBo%ӃdltqhƤu#~(O_?@5@TjJыt2; I6\.+$D-E+1D#kh5"M̖w$ V)jaݘ.Ab^w٘ 'o,Yl Bʐ6:]fOK=Lt?d~`4R;, {4\)$FdMU%u:?JFy }vl9.(WP>vJ3w.J'YuTjȗcluDX}Q ]hmxs?cb=T|;C`/e#kz(=XH1@ayD. Je* h-1e-`:R}PGSۈ/C`-6idTy^Vn]s҉+ 2Jb7gW E*B>x{(NKrpuغ\V*;qY}|S-qc#:Qa vZ4`! FFX?A`Naϴw*+0>rtIK:mn %2:ΒVoz%i5ŀ¯"UM dhG,i8/&(vuɸ cv69h\Q_2Ѽ#Gsɒgp!?ռ"Di$@ĥ_RߨWRf:ٞ^A#$sEHz #-GjUk=+l7. UAxe<?dë֏Wf]|F/i7*t3E1s|TC%:  W"Z'b*jW1ï <,Pcx/D$RxÛ'ܪd)ު/vLҍnXܷ(||Xlظ ;ō*σ1 @N[AmװI4B$= b#^$> ?*> G55Do(\37~YUN@hԻzBLǮKoY~7׹`؀ݓƃ',s'Ih>5AJGgIɆ_4 x4b l盍BUCtTԒإoyAeu0vШO%s(WoTR߸hؽ4{dk jd7+e־mQ3D<[^ToLy5 ԕ cg*$ )jDCT 11qֈdq1 E'ߙd9RX\ ާG AX=uOrj ʞU[E}K23rLiO6ZX$խ$_`g`EhbK* ]l9"pe|w͈yr|7Je\)Nqy|%ΈZчc\b4Z[k X{bFɹe%-Sw,~@:Mj PYVhid[|3%u6Ÿ0tPKY[uJ?K"LD+jK6fOWC{§0_s0'&V{PFia^̷p޹gEXx&A@/{SFEӆ Av$YB#T,54ku3GvRY}m"d$MJ,@K8{t%n{#!Z<mׅyW-tkaP1cDXbOAwi!} u{( nO\ek ӶVŊ,唠*{:Wvb i1Sfl L3 hFFS2dȌ3E Օo>+@ؾ^~)GmézVpBbbTY^, C̺~_I+[x n?:UG'kOj 2^ҡwG6uBT}x qw$HZ܅DOkyC B_?q7s@xBq^I@D*-0b4A~WcwXGIZk# HuABycaN[[+X4;lqcg2.PEN0nڅU"iHāg:9/2JE^pMg_0\7@ < $~^FBx{qh\O+hV>6YCOz+\Dh= H2Uq'od9{Kʆ :Y;.&ѫHh:Z[bR3j2ߌ 6@7kY.vaD0r3\/O?MU̇83@V*JÐ\Wn,s|VPZa4Ue(d~W溉r*M(̗oT,1cU.=m{:߇̥Ce3]F'6;F$vA%TPcD;Cl]# '׊^!Ecj6{ȶ'+06ztho憐(Jl.DF-ERӤ8fn*zuQ"Sq$pАu:"N7$ai 2.rڦ2)bL⣛t g9t@!BLT\c}eWzݝNr;k(Ww䰙8;^PBɓ,9UcrwGDUj3Q,RN_QԘu"-o~cL+6XjNt孇QVR\"Yc~۞±Q S3br&b{e;㑢t@JSoԊVKB -肼d""'0"yRVԚpN9JRM/:<6㇔NQʿZ٦1۔b`N˳]" 8՜3z2ۭ6{J%d(5P]vY@q`fd!1\MΪٯ2bCoUƧZص\G a<$'7㗢䚢SS6veQJg )5& ma}rg]lj.\૗uw 5៳^hWten/ko2} #j`A1¢Z":ad3U]m=Ď5Ye(Ub4 ݍsj$% 7s{S[/.*&qJWcAaEeOe~ /l|[:H v:t7V-CfV-@Q%~ "f-MEVNj Vj"ദ1y ˜pMTTƇ4Y&p'O'^䡛_E6u~cIMFE)Ѣ|z<7LRv4Q䝃)?>GЎvzB0{yUΞ\]'.@JCmJ w <7wDbc Ɵ˻&RRx4$K>Nu=B`㒄?|PD$lu!I08)65} Q́tC]o4 oHc4sˀL+tJTyu(>\ 1^JOHvU]#{?,wqq_$jd37OkSt e 灙.b5ȒY=$&тt梴F Yu[_f{CSB%^rT;~z:~׌m)c`'U% |)K_}U uic*bo_SG.~&J: ~=`[OkgqIOeEޡy C機;!E˕gl6MDfӰ ̑'DS B%GEN`0\E%"CfVcp \s֨[!/0X>)qzpxV0lCzJBٗw ]] ^*t+3I>0};Hxh҆^ҟxhQ-:Z<z wEԥS3R9Xl@#DTr&Ҝ+F_ql5 +4J"Im'օoՊ$Ed|e>0(3ɀSv8ǀR'{ H?S/nt0I9XTn2_3BԺE Uw9Q15< ⪳*BEݸ`b'?QOh1™@H/I4(&˪.`%ح hH\cS]] jxpmE` :^PDQ^JDVQCYKA8 >vLo(X?1pG)Gu0˯4#?Wcً)d%K{]ag{*C6cEXbGvRS*fr]tI-.%K!9C귅&,D}fnw SY;|P׿=Ap:~Yʍ$zDMN`>:>#]51̄0԰zxt3wߩZ qƣoOb wD~0ar+%OzLMT7a( 6YڄR\:#?Po?U?Qdց{媖.p'd-(|$ȚX'rT i FJJC͌z]Xie*RV0$@Ijx2 3uq&EnVGz;P:/65^?tbO/.uOtQMQ([ʸvZ,8ׄD֟T΄ڞ{t_GdNJd2' 75gGp@~c9v˰ɻ$0x|k:R3!w8^Oz܋:IAN֧^xr_؜!vJ'5T\DGoi`BX̠_s QK_LhȅKm~9|"+XA}Èp)T)r V$M=b1{ h2Yk6e:ž-v&7VBKXk}Sg=l-ynRVCbg?Z7vO[)[9+-qO\/Y_ TtC䩵9Z}/./2uE#Mu岪5a~U)\Ѥ:a*!%t~PZ9:'hC2h!UtJ뇢` ߻|a42laj1L'_ `E, ܼJ]Ch"Î[5E>)/o+oQ"UuuIf!X䅝F+u!g}>Ҝwogƌ\H8 :Qq8<tM@eS@P&,RbڱKp2B$x:^|5j+yhQqr򇐧}ٕǴt[uTB:$m юcZ$/JFTʬ"[Җ^(zEщ$t $MCԓ5ĀQwD,A~.QzZs>_܊hL:Ix}ɘy@wo2C\8Ei| = ;1,Mυϑ@`g86L]&w02>},cȺ!x363anIZ'%0,Bzt!.*yͻ'}s+S!9iBž̂xuC!o vUȂ=7ɶ*<ã+IpP6FojU,:`wAD5*M9"_2rC~ǀ:k׀IIԠgKK=a[uXCl|7)$AzBy^h-f^*-×u*ҞkV?Q]vI( J2T 1d -¿|p؏D^^zC\Ř[̻g\e]UԒu^d`ŻT@)s֔GŁ,EiIlЫ[g?l<[Dz:`EsCl!pejK jY[Fn%H]X`e%PFض yӮE9y{aoǚ ;RD{5m<;Y$d+(9AR^g Z/T JK^qM ]ڄ5 [d1i4uf~8Bk4V :Nxш>f#߼?Mw> ټypy[DP ]'D))'%:fN=I+GNRVDFTV &"YT)Bw[m1M o|h;DLw =7zS{ԺY$.2rm@oD^]&t: i0gG͆:Y9c /c*Έcz FҶ2wݤ$, yE>GMoG%u&ꛢC9<1j9S6Kw--9W)H2B=|\3`r  ~bw7+p _WNTY1y2}Jӏ'Iy"("uBaT&jy]^ja{,*& O^6DÅ؏O.OqՆ!P,hiiξR\3]ţA.O8o$ ZIMױwkQXmg}fQ wvqo },~oC˖7k|e :%A):0)杹->"pf9KK9=WW'K)# ;d7wybCpSB&|) >&(:Lb};WݳvtUS3Lp ͜()GINto'Y}frXh*- (Ojb1v48%&|bE%,l𗲹;г h¼WNvCTtWy Mf66Qft&Ewmܱ0j$5 䄠_ox ' Y@ Ap~y{U$F4}QVNw)I!)"Tsu-+5 聿 r5 $,()x&AAt`}EQ +rq,G'(LϜRꜜc(2i{\̨}A劇18Xc+ 4 o_QP #$ߕ ^PfDrE 0Gy~&p^u^m3Nd?/lejTQQa Ϫf:OByr @Xcv+|c}5l5J[QQsvdpwӠu.n$&(۟m``0vX|C9U/D%7C$a=nsM xmT'#z7%}Nhf  l oQ f 7r8Iz$MlI3:ؐ5qj2`׷cQ_KvI 'u A)Lq3@NQV}讦tZn\2ԏdǘA>z=9^W[y {aDdFԻŵwV$ Z-O[OFL :h4⫕]7 .ͫC!SI8XvU|p+P ZH/tBڼReŕݎAu2ptHVP7Д\9)R \kp-@E.ݿ;p0~09a`o'ѐOk|F[=Je5řԃ+kmN82}wcS v’0z2Ep?W<MI|ql0<)(F$D$Ozp'ܖum6hcm1tF|2e,r+o¡3d? 9>4Q5qo1Z9V>e,JRx[E]엫}.bxZD`dBЍ .tGց%U7 ynXJB_x նBFj?J$ۿ)#"ʁv O[D{_v4|hjbSk1re->HN_)(0zܵ sc1auTI`d(mn"۳]|=x#wrɴqF_QWGaU0..]e/["cMv^_'_ʎy& U;[䤓f2(5d]]:J[pDAͷ @}Ao: 2`ב=.|"*hfM'Sn޺ٯF Q:Sd!$Kv1ii~GMIJo?ʁ&y};BΘzCǾ{[Һ7K]/-p~,*h[w%Ŕ" T(NCT^Cff=ČEǪhm)˖빲lyK#EsX^Yg=*Fe )㢶Z|8oޒUc]H;e\R* Ȳj Qg@F}0`|eKL^KY? !]V Ѝ.T?muȆQ4~DR)vo*]ʇBڊM$#ec%ZtƴO?a%L56 jM>1GQW߉It^Rfr>}xA X'I鴢8A$ =b ֑]&rioG$1-WbGOΠsٟ>{y{O2m$~,z\W4Z}Ǒ|s}c,ӢQJq}bTz@+s,t)tD$)+aS6mUTuCt T1(t݆ʄ.q0ŔCr>~{y1lM;0J8\Dx-<#S{ OZbRC;S== 9>l}NѿX.&+H&:TvQ0RO2H>krIR!6W u!)>G9cP .(Jf.9@^: ,X5%hZ1Z"Z-!E<1iLm77̫!2f*nk)FA4f_'m&TJ+ br!:#'~4,sAwAkI0pYJyRzm'<,۲GbרO~+KDgfNf"-cHQf}#o[$"plIM:6"~q*5{8v^cFVxҬt8-gA ̃6 Uz tà!̫D>WЧU]|5ˍK@g9-Y,y5ϭUF΂ bĤ'^jcU WP\6!(EJD.cf(`8d8'l-b`CZ1#nq6&hV)Aj: _A3*~@T @N%Jm<4Pר9/Jov&TbHQ;[lփB-ܛUά#nX r0w{ݕ}qI.j)pG"IKe:c-T trh(s36.Ru!ʻ 6ij}ub(h+~)W?B*0PҦ] ~ xXO?C>h Ȼ h2H(,!|$:H&,%f>?Dٌ=٦xf[Qfqڳm#)6>HFK#Q牬S"Ady4;q]iѧ,Hᅨ#dPQDN `m&^`bR-dur)Fvn?g(x"nn ?2JYj' .ۣI) XVlP~yXy2f?k2go.Y5 Ί!*+ 52SDh0ci u܉ߘ+cA"I_y?̪{7d?iy~ 8p/wm]qssCHBZ~n׷䎶V/3qo7-_R@͵apoU> 5 b`Swl%<  cl~۞ ^—!%. =@'QOx:e irC LQB9%Uqo::fu ]-Qs O2Qe,b>"]zG>^qRrrM=_HU6)@|ނ&wulKoOQGRy{Uo/]@*A2o͏ 6y茿 AY%g@)aą Uoh&yD~lhlVkx[4>);ѻ쩋1Р5X*m Nu_nV($f芙NglQx^6%=U\Bk:S;ƠOm FWZt[SC=Pfڹ:ϽSQm,\ADrٞꎢL'p {Jw:|Z gPTa}&"LLum~!#F)o#y'gw.ĪA $ljEX"h#c Eu ySDә.JZYT\0}&ŋ)RTP>' m3!GC6A4\\D*5ncڛ_M] \Ķ+Vy= Tk[UeDR'ْ'5ׂC8\l!)L9l2R\x*ٍvkMwP̤f!%E0y>+ܷ޻0:7ժ 0[gHrCx:S:WrbЍ l40BH6 q2T޺mņ̎I߫5m TŔ]޲շ=RXH{ܟ j.| x7Y{vUz*z V4avJ! {ajsTBy)N xƧC1SL8n1`͵xĴdJ׺|+!]YCA(S6U@_]2RwNJa`~6!h{S "{>Fc!Ne)'IK-W ;SU'cN rpRWѷ)n{IبZ TTjY}ݕCPcw*W|^(_zKheډtodkULzz'QC?d+1?N`A?MT}j8S2ϛX#HayM[S>R۴`T8]w쐣QZVˇ';ƿ&1hN%0>&dO OW}UY=Y1IkC-٧-S^"1q"In7:nGpNR 9ϱZvf9pTCw$8Qށ5Ҹ+Mߌ v4Ag)Zlׅ&c˔0dDX׽ }Y)~譅ª5i >.V0y_ 6FuM]s'490ō=ʇ>=BaH;vnӣErR;@c9S0v_> i?-!؝BJxWVӭ\{vwSS|<|#@$D]iBc]wQO/m{.Hd\Jruod`X.tXz'_+70!oT=Ov6^mIّ`/BbKŏ~:A eEE ߂pda]CWxǒl+A_yoê+^Gf0ݽ%p18j.P{^2eEĝeax}RDXj6~d 3pךpD<_zSRź":ͩ7n|`lCRJ5*b \بA%Drdr0aĔr OQnθvWn裃U[ukv+W3,9GT[?T; 6d (Bpǵh:E.xDkfhm`z,Zgsl4>^ qg`\drYad[b>;^e{Cw/8;%i m ZO B$iFcsn&ߎڼ_cǮ7[^ر4%Ƙ ڽ7j& LlҶƙ)?4MY/NW#^#f\b#l2S)].\%p*?қbig̗giC5dSš\i_]52!+/u'$D`V*EwlC'Wbw[{ipPnRShX5 6HWT^j[`F%X 4B)ZMNI"?@@fq1 JRҰB );L*yA y86NIbxv@v!"~eJ02NT=yκ,H^hb_V'B]g*N]ȼK)9?I~Y1I$" J@0>u ͠ZQw [hlEo'U|)L۰?k tq+OhO!IEx&d;0k}PM9q0UmoL74/3pߖ^g⡴/\K\gCrM~/TwXix àZt.%|Smب~Ț۞P,> .)zXȔ4X{н3lSiZn , |GMFBVcso-ͱNE~,8,) 9KF#}՗.\> b beGOT~v39 Gr }p[l uGrSECi$}\V6.kl4 #uQrqo2'ۆtM,kojHV yS_1 h 6~Tw9wgG. Pi g-2 ׽c.bkPuvUa#XB9B{jntK"8۝#%!t xK!N%ʧ ClB|DwJV*=֔?d謬dzIc#ㇳ EBrF&n[䙅43dS@wi1n ˵JxĤFB3O/1˫ng,j5S! }e*3pS\eu `Gvʛ`sW$5y7iۭ"dPqԦ˕iX$eb`p#7s^ z͙a{&s;"7#C&]ͻ5`Nh-Y?Spݤ{f7^tN9aةFWYO#ϞR˘oR27r&inˇ~Zv(C}Oz|UYѵ2?Cpa ԍ`Ĺ'*:f)&T+^AO+G?aVؿZ) twPD\0Vb&#2Q/!|W> #sERkVB*<}E$b;<8zXۤ^EDNČ4|޹|޴:< /h\Ѥt*[hkvvqV0͠_?tબuȩ+.`߲nMe0kc5a`ŸSϠ'?gH-(pPoPJ s]<V VK41yD׳$V4hea0jBnu<š05*_[쾣ґ7OGEB΢L ֲzF;EP.mO[K柏hFQ3LaM A){A^7{\"Vu.U!4Juh5*h]&M²[8hMDNwnLrCIzrAX"1|i;knFVQ6F?#TBdB-]UxW+$㽚N~J̀>?'0< FRh\ZHsyR!R8%?qd_I)i\*0si1t W[%$]{>A] *eۋeV~F6+QQp @~& SPzVg#Un?]],1ۃ.-/9ԁp5V=,KFwCorn,S'Taۉ~pjY Y 1Bjq*́i/OR.F)#i,q>ӾR[JtJ89 c5('  N͎_C[,hr< 4sE {Z^[Ckӗt9~$2<*{wi0zY#f53 5 %.L)񃨩ݔ,CJ{cA-uNA#fe;;fvpt8suɱ&h|@3ql`nHX7%71Q p? =;IS}< o52 g:ژ׹㞿Πq D!K9PpbaTbljكiy،vSY=_DռmRtavi2zG  7tb[çzSl_2&ĿW@IJ2I Jć& jL?w eɳDy3 4 nNdS7 98r /3Vuif!`PF.M\eF?D b`ߊV'Ԕ'D?/ҭgspM*,)C6R*X;cXd%!B.!C {!2wMe6o+c_ CYEjE'SrHMͿSfY[5&?s1c3ċQ;;D{86S‡%y?bH8/}N9kx4)p`N ڐ3/ f mvwT&櫫HM>#f'ٛ !B څ[HJUԪc* *IwyL|1F_^;O1MPKt!br Q811dO/g6U]cZ urA C?\ /隈 7n5 >*x 4-!q&s D(9lX pI+VmRGA["j9?Z[. ј+A@rk:5H闢LH!s ]X"VR=_+.y- =j1P|mEG U{WۯBokIO4I6YZA_ƜWv@XW=aۍCk(_lf+(o>)~K1OAmz:JxY^Ȟ{=gɷN48>cB=CޓW\+H[IZus<'|g$ސ A440ų^" ~ כTuqY #j5cG1dJZtXSN T2ϸ{T,!lBCO;҅h.eR|eM?i#ut X @@$TB|&R-3n|MYg y!(P$ʤ;'cgATS*+EiFn|k .7i$ lڪ(t*mX!ɜ!pXo{8X-1E $EhX]!g0C#ov}Wkǭ=O4JG}"p2pu /99O"êW>v4!Ug!M L9I-MbݙIDvkh,ϑK+lӔE9cv򰞵8!Q뒝,!.t PeHi:U +CE\hZ=zt(odHN}S5ZUog2a 0hH8d 7Pq.9kĭ0%Ցpz܉0 ҷ6P[ڝq5٘1f>NHlr.P'&2K^$'+$R+:maՋn71ބ P 籚+ܻ-X?{)Gv)=}'F阽e 'ټl!AL{q?#4 ]#&e~^߽aq,L3&m俣8_N^#*P_#b^.PC no͚JlH0DX@(gx{?Ew>+2᳸\<;v5M{+UI6plCD–1WRh@›mljҖh$ệPh08U &s)1(j3)Kwr[HgXXFf=Z(-.qe+u=sK,zN.3Wfd!w<+^?)Pj;8B\ :h8d|)=ElI̜#ږ `ُ&,pMbGIqbTF_&][TGުķE&yB5I"SF6p;\~ic4-P3s 4H)s)bDa:}; hlf,6mBG?m`8/bIԠ֨n45_Gd4 nHb'@mFCyOB'"zQtY^xd~>fW62Nkiq{J:EQp_cp\`(ЮMPaq@OW,/Nk2wS}YU׭rfD:LKUw1b(X?Nxɒx)wDSoh",jÇBqQMmï@8ÎI9%/*w!M&WO ;NSt- I+(ut㮼Vt[ᮒ'|yU&>;/lsH0PiyZHSJWa7pJe63NҘDLQM鐲3qNbA~,'SMb(ˡ{9,%PBi3jW/]p -n|E\XckR}/gyn q>KU"D fiMICvz^'꼜ϡvJ帽lT B)t QVdV* -~t gY"١nQ1LOKlVop)3bU4DMQy*Do7W;1]?-0o5|]"oS) #=.;yooe>uřS]:Sj&i7<7wEdx!%M Ø d{b[}،0sD4Z(dƳhɉ)MZ>#dvpdx45ܺS92)4]<T4%߬ł2ЭRK0bdO̯N`[wN~ِlx W= 1%EOe!$k_-aRtanLr@] HgKm|܍N㒀9klnz)}%*Dm" y͢Wmol<{෮V:-zԁq ٢S&QUvȵ@T* rYjZI+ycPUZfjoB6ڭٙql|)Ãxv!AXiX܏5ޥ˝#{ $:H?q$qb'`'Kϑ99*󚜆x"M 8֛e,@2@I28Q4M}OAPkކϑVm0 aGÙwA*DtFߢ9#dSm& S$u6y+BU'z/K"%;k5bN|wci7i p}H*;?uNv7%YЈO~^SZU=b86s-hmTlIE8TZO뫗{},@O]FLؿlJ.I>i 2q\[_Aky z,!*wWW9?1Ĉ~.U8$b5~-uA3E}ĥpM# v>. H0\L$ܵ6dj2TU;errc'',Ƃb9 F ֩<3H+K7hUBշӴe=ia<\4RI#]Ϝ }HsVR@'yTxbV0n'lrc"̯ œq"\x`ZvȰ21ba1$>c S7[r;Ƹevq%L"yR:h);ձ 7 :'[2"9}C:O١8jO6ud -/towb-\{6Za2o-YӇ!X]NT@NCc?@hmU2O<@+oQ1RS]tm2sbPKA G@~7'ĉe'ޘ> edUH3Ao ??RaT.-P^%mzf-ИHZ@u8hBGZYZŁlC(.G7V|_'OnQkXƐ*x/,e+8BZ,Y0YѴY,\0s 2W=LY>EU^MchFzvf(;eA\ю8/v5H7tWɛw(w9a$f8G:"%Iu߂%ȉk ?y)Hqj FV?4`$ (>"alm{%q2CC[rUΖi&z,/"l[$I<{ӏ ^5 E  ΁ĚTǼe="%giP+5YtsT;]4WG"ouqx'*e %ӱϧ3(E$[%5o;@9T{0Qme4N`Ѩ$1ꭦRbΑm*cȊ<(Qb"l/ ̂U  )#~s][ |oaE[+ܞh> {aB?=ז5#A|~)wςfo1i">b̭@ *$<6% 6AC blr Af洵v&Ӳ3_aϷ dn9E>vSzh @hiW#UΟK` c/v e_0p$Ѫ3H+-S6T=o4>[+drU$w{7GyC-Iհ:Gw9&c0s$CB,2_f\Wji` ,ĽmL; 5{sx7 k:%SsK¨Rl&;<'KK<@{t;A#Ep &Necp Ƚy.G205Xzk?RV| (l2v)~bR UDZo:9k~Л0#),BlMTFmuoy艱ca<QsStk˴fLE*8*o܂+ENbNjLQvn@7ϥⶶ!]oIC҈OAu֜v&8Kh Ehz'Wlԗ|v:7Լ#FS-uiXS$4c-ӣyk]A(xx \&),^M t6g$JV04 I}ҵ7l;pN;V~(| .lB8.y!+P<'L+$z؛}~*.\TdV jڠ!A?3"]#9pߠFxiav@TQMj3BۍJ~Jp˸ :R0:8ܷEoiNݎkѪA*I( ٞ{FZcN,`Zފ`р0*3FV8/Z;gCj$~-_=o=)+1\7R[R)N43Dx93D](T%pr 9y$@w8Hw%Jy:oiUw`8aT>:j&r`-+kh6]S*/wiRuկC8D(`@V>7Z5Gq~IH}=ZɂܙY/_ (փlaG}Vyc`IB0l\aǎMP*\̎kt%dB8^OXUN dz 8H+r5tMR6@Zb<'ݍȽ|vi947xS.*jcP%PvapشG%Kg*%xV9Hmc?łCڭNO끖8NgG>?`V`m@=a^3W +oek ]y[ ?4YC䨉8H9B% e6@4 2Y qf 3U_%0CńH:sZ_]훴##r`篷^= )r;t<%ي< ;jHfQUz8ڇ/Mކʖvr;wC<]=z#Hz.R~VTź7-; Ukw|~BG:cR _cG34 @6SIA諸n+U&Z2p+R;0s"1>=NWyhFKIzK{Yit 5=Z-I.pʒg 9QٮlɎ}=b<{V4?JdS7IYc4g 0! >};9k?!z G[_h/G{&ʓ yZ%T.kBջS-s$l1U~"#Ҕ~n2/\VEhA|ntK <; TCE/B' +n0GO*#j1sa&ԞNTr5 ;ms~m{Z^oώχx5)̃Μ{!IE`/hPD$5^\>,v2#~19m5]WC|WY\ هBA=#օ3CW/;\]4̢6.nF/_J(롥'2x;&L?QW;PupoQOsܽ;{)}(W]cQ$5 2-XOXVUXz~ ji|rD&OOR6-k{ iر=νHebCT"tGk1FjϩvHΡff"̠JS269sfX砞QDsa@cnX3~D eg "h?1~-@XWnT@"?@uyg&dO߭;?@ebP n,M@yfx>= iwVC8;9aMMcC Ei*RLVi yr6|>KX$+b| Z+)):bNrY*8q #Ц ,]*y 0Tk$P\>%7X3x+ 9\f| zo됚aFf Jh*DkVSz:7jBG{y b&DS8Z]ŧ襘n]f=4 V}qcK<|M>XI';' jhZi ,VK 'ME.8ܮnZy&3L 0u\Ԡ] 6m?b dr+衤E0rIBoT3no缣:nBo=O:90l]zDXY d CU_-wnef[+9Y6B\N/3o,S;>}K*vvjD(&՜ aHf;{rIy&i%CMZ.|o<1riġrk9,NQS0F''Y@18Y⳥W,02~cQL;y{&h[kă39~jw}V4pIrE M= 1U%R^@Q_ a_K{1{6/ٚK2=ȍLr/F 5cZڅt%M q!JIf>@>OP\0axYK_ ʿ e*t'ק?i[Lunb"aZ;C 9X@ * <m3v"M:5\hHF DJާpp:b Cp\}j2391\?s'yˇzckޙ^段!q_kjW(; ? h$Y$K\Ic(C&=a$@/[H_~JY'q~kjf ƼE/CÇ:D33,[$" \%BS:#_x)Kq-[1VT rkyћ D!1ez֯U$xls8,JeurOBtW؜LVk? ^=VWPQՃ0'P!{;(Y֧r_ks)ʆɎJ)_vjܱ R||:ԘpAT[}|b @L!r, Aj˞䉋dYQNW@qIAoT'AYiN1ccChrD5B:eN7Yf=/mqYASoܹ;رWݜEs.?5 Vzԫh:{Ipo fa  a?hMxp]X],X(3tmurt&-Yc%XH7 ։H{J.:. "b[$ l"?nYFS.?KC\#ʓ8[,h d" b0f0A({g4EHf', ;Nj/48e6?}y˗rQ<Eގlv൶՜q5B}]+_ahR_=e/aSd2uT3c3Xƕ r:?zbHIhƩ ^j7,) &8B-*?U /hoszy=]ej)U 6</$;RAbri;=cدϺ!U53pȑ|4%9a恍JJ8f°Cx!npes:[؍F>[jޚc AT3hUV0'$A+ߜy~[D佒KÌ=O1"}vx)n v5'v7E%8P;M0 8. (k]Eq5sHh+cDB7#"q[K (=-DTf=xzϏSXנxCjAj~+ckJU[a#ˀN}s4 U5]ˌ{AP݋ns[c[UU7.v= ~G"p :,k-YBwp~nH%$#Op0w0d!RPHN ԛ&H&WV#J 0\ " }}3B/jprQtՐ>ej _ Z0 oKax!Wuz Jr&Χ~-°參 =;]  j/Ŏ磩̒KytR8щR~ɻw>mc'IGnibyHM S_LP3Zʿ=i`J(Iod}~ #5R&X8eu]|S~p/E~(;H!'°AgϹۅDOG;m1v hȮ 'udR}*w9Rń. @LyB7tAcmLFo۳Yq$$doM|zT.cnbsV f zc+Z+(95Zs/Z5'YNܦm4hw]{Iw' e.ĄHFH5-5wAdA3,/ES`^&B)a3^}oM&lCQݺmf5NYͪ$w'`vuW6Ih}? U j%.#]#E bT.֣u!H١3afsCO>ˮOt1ҋM/ ,t"(RShX .j[w kfx?]!!Iu?d'=q]'ѓ6agԂЗ1yi,# &K#j-#T@wÌoIxȮʙ(,Mu$;c4,)29D=f ! @Z<:?O/^i_Ǻ „-iЫHHtiTWA44mjw!zlȍ7'QUEGs@((mvʶlg7=ӃM2/QW:IU|ȫջ`))2&Hb늸 BvcUj:}nSuwtT> 2]E9#oQ5_5 LdyE4:ƴ 2.\2:dbD<;T>PSĶ. N=:/r}rKm%/n1b=7+a=[$pY4&Sޜl c!,}r~v^J#dIˤay 翍æK5TmՀ䊵Q3H?ѵTeڐhJlVOIiXPh5Wyӳcl>X”f@⡆)(!pv&6W HͲ\`ʟ3.i4jd'`V=#TGlz\(. )(蓫&C8ӴV_ ^ oY$ӈ w0jW2;ډ Ikb'5g6T/ŋR,WG1 )Ǿ0R]8ozh@o,_+Vh f*߬a%,sǽyeY:|C4#2nUHK8m .?@ 6: *-5rcz2W>:0ml;<\|:IO5pkIݶ.%f_ĵ^aB¦DWJ4ײ9*#nyPՂ+J}>eG~a$Z#ZXW(R=]L~fh)us+20#Vl. /K1Cm|Yb*7TH(y Bn@O<9i(VP},Dnuժ$&i0  k#bnrFdu$j REhU _`s"J]`QV <<n ӣ@_*ޏyڵi@D\0> :b̸|laY9ҁOP@7PZ'i!kcl3*z2xSVo'Ɏ}ČLxk9>Xm<j8Iתy}zI";Nϳ`"!4󿔏!c! - eߙ$c0)6αH|0 meEb^w֡AzoRP~`BaSYE\Q|?dԦP0C gWsuWeg7z۩O`:&&J)r;z4I[s ߃ZtY#Trq 1t3;Х|ksdK21IJخ;ZBEj50FF9lƒI4~l(/lB쯚_VdrkјAsLs(Bo_ ׭ F2o"/AGT$Qd 撶.c4 z1ZW-b|Z=.EQ6EՊo587쇑9meQ\e %NLOb0Wֶwl.1 mTb/.npDWMe}zXD9$1覊D*A[4 ֵ&fBr-2c|V6m"P1(~EhP1b['d7 Э͆2DC.ΗyEA1!pjgF{AgJ"ZA=۳`8Ț?+?Sb<(O dde[F!HVSgnUEkTh<̈NIXoSmeߗl2C&C83MDVu@YF;5ih <#:Ro!2X,b0͆*#Rha"9M$gDM8;KK90ץ0v/l sĦ5ޚ@V\EE<uUًS/ ºP׵:M}MlV8@t6&|4'C,B=V5.'Ķ&ν s5U%"vNi]OJ*-Th2^3_ja˯3)-0)˹;an>10!NjU%X.)Zdڏ=qBcnhseUJMaNhҮ?'PC40z\ϐYn]҉7p(D{ĠoT*{7Q=w@<MTNLC^=ve: .zy.Pg1@"yؤZE?g&nó\R8H]IEO=#31W #礻:1īGtIFFdJfwc_C$|y&\0GQ+yRt-s֎oփ}啔N@K~ rA),jo=]ots席Km~,-L>`=V?x;rZM1s\LP)H8d.s_r虻DADJHS#Ƭx=F2F]DZH@VRRsSU0U(M'lY|> xt+ @1$kT8M&Cd:+JtQ+iò$~u<.E [ё'@i渲r`TݘqWoƧ2f~!H'ezkoS~trf|%?p]LKݨ+4$9n|EiIR'S;~&->ޟkLrh4d^f UP Pդd`kŴ%~12=ᩧ{CM4V#?5BevmP:B ]OBmWm;T J vAM Y+\/ShGjF9Ucv徊Px f^Yco3bPLsE[1"zZ0K?a&+!3?!ixFEׁ=,9\ZTJPh' lg 8Vp#ћʁڡ8NVH#Nz::;:v{$4A6BF8i6:K_dEJ#$-: boaaDsj17M]>? բ@QF Qڶ_$kXI"i{>O$* d<d͝^tܴQ8QL6x5orkD`3OHx_Lh }ylG.(}R+JRY(o3Iz(hSҿoyPabVh1.A.VE/ ^әɥ}Stxm`u_$At$+ArQXsD6+zrE g cf*8!\kuq,R-*?/Y798 NhP^V=d?N4|go@7pxv|IP\kb-V<~nP9f7DV#g3. *dH94I"sYq`A{}#p-pťECWLћ0Gd  56&dO-iN2( <&b퐒Tl^5Z 1} {Ts.Pl왁"$A#fw%*T@?GAoCfSZ!Џa\Ȗt٪aΉOKd#{re9Y0%Q $"}aj]P)~|;g n)zgyi&Y:.T_ SI pB Z;F0JjO(,t)!8 xr-#W11_52Xw͹El!i&aS2XL;K\]IM +N/3x:Ti)AzTW+/‹*])iR1(7Ebڋ,ˋiYOώzD-~i3:/*>.ȸ*n,}r;O*5JAV9 Oz ?} 8'$z\mZȳ(^X)RV2j4e;om&-+58$_tl喃'h|û7z]Mɣ$Og IPZsbT˦*R)U&fL_d( $.|we;;"WG$#i];6ōYȰ$͈1PlxTFHKsiVҨ^9}̭'sqb{ Gj5 j)M"9{/d0#h1OgFkheҰў[R0TXp/D(/ Vknb7*?ʢ|KXaWF *=V6l3zE7[*>mӎtdTz[Ps~fC4 L!!s^t$y)(~a!g-W/e/h|W>q|iw*tbRnl<聛I-0YUIIY,_#EFxaR΁aV!|&W>nI9,Wz@ ?h{<0qQ߽(9֠بP|;R$y" ʲ\um֫wH j-/m[i$ן=qTJ+4!f^B0>ɛeZjA󝉫2_94m2p]%0 6(6Zr:E,H{lKZcKtVj (g?hASf:JwCm', "Ոџ}wŁag ]fbp#ǑZ%O $dT9 M/lK0􇪹;XwJo$,Bߜ}?W[=NFmlw8A1n\Joܫؕ#I63[8%Q %.{"h4d J{fI*~fٰ~e/'ŗr üwB.>邽qo=%C^Q79$L\b"K!G\AW!{PrD Ы@[圝 VwBlxuALMAYsz2?Ḧ́$LQ9UR(x/(>.L ;Yyf Oy7bST@B5k4blA8^/-ڵ˲S2c~e[qƙ,LI7Av6SN\٢ Ng +CLaX.AkY d,N>b_ԣ;Y~Jsӽ<˫%*˶T5ֈ8LڤgEGpl U5g; zZ\cC4<\cX/B H7E..A$vrs#F26-A!D/ī l/Y3U(`_~r_h;.K??( +9l:f|ϵ}}&fWlwkj'K(}!ժ@AlvH ׵s" ~bw;OvdK G4N06DDw> -ztY/aPYta.>!B V,0}:fj8k$R?;g5YܫnxA4"ްi-NGuHwkbO4j U;eV_@Kyd_6|ܣU{R.~鑌A} VBt%&#c!7c1AoI@1*ހdES쪾 gz2)%$nڞfȔIIx'ez}`Uol_&KwzT@pC#Ut$ ٸǜ0I k֩;xdX;Xσ(/BS ,Q^YrqߥAṞȷbHK(p~JOm~1?@OHR:E?J SQ7+'xߊŸT 5!I2޿hVȱ*t0[oJa\SdQ2CWHLjaKG-*Y&)zy?ȸB3#w60z'd뇪._+#i|$m EBp=&!ؒO9c/--HQ,\4g0e-s" LagM(q*3mYJnW `7WEt&_W/ɪ]PQꦰ_Ȅy-d+y)2Iz9mmg}fomVh?xB|CA;)%?o(L(>aLZG}7<[j龹 o,eݼ{+HqA 1B<8tsXEc$2## ߯Bp: 8́djB v%m{5BɊkF=S|3SÆƜut*$V{IlXC=Ρ2XC5ʘWp@oE"O5fL)udNRXUKR+,0 KA]t8,|d)ۥك@sqoF.ti:ܷ=9oy,"[&Qڿc,.w~JoVOS9g8.0CQ- +bݻѻ q qm*o[*ib FN(ehy(lfa_:6eގ9 59RXl@Zϑ|v- ٱiߴ'N)q1E^aA)v-oI@ 9];NQ YoZ/Fg,@ I&:S+)'كn!G;/wq!sI${a`1nv4O ƀӺ/P}y4Rߧ%HFd9xMwK5Vܙ39.f\Ɏ+)B)uTua 0CE:vV-)dհ^ꏒEޏ0j aL%w]K d|[79[ ح (/qultuXf#CUɲsĖYGzt&֏?xPn5Alʀ}h?R}CAE"w:Z:1g) x) "M1NxS|29Ѡr8-S+,HZ -3&Z)nsk6W ,1YNpH莛jqݰ) ./Og&>> ');sFn|DDMے$੠ѩ20UtJVc(}41Ct55mqjk2EpOr:Bu{hbV@8FpSwh}+D|9*:[uFZҚwR䖕?B{6CÊ nk!aÜSWb&쮾8/Ӏ3 o k PFHi͗qghӫRZBՏ[wG.Tp`J>7WWy8H:ہf}JP?qRXm,]EibRCG8Û &|  +Wij38ѕ`%Ή[;N ؓz\f0tFd//;RGbo6G͡ʫqLFS]z{C ]4U %rIQ1 B!n6''2j/h*46n2$}E`c$F*@ɚw@ n%TF_b0x&KB`V2&*޾94~6ד"~wr? prH )k育„,A&u[Xf]χ|'po(SIh}z GA!F)RYSj Dm 8=PNv*pִa@qbDfpL»ֳNuAvGum |~.Hv  co\flYg^bw >![U$H)%#'ἔwgZc@O\mFf߃wa AbZH4\ST'm {9ۥ2Cqff٣m(h1& k}3cTCQ5!/[W!gie1@ ZQ諒'y0wyH S@* N.%rC-+,LU/I.d\KwkF,HA s'?@:V8fLPwod}(ܦ37r:7+oܘk"Nn:Zj!]DMC%SH,*7< 1n؉YdxPd۔ @He=b>!=okLAvoN pLm@ 7gr8V=t)'.vhRty]I%i(Oe,gb|%5ilAWA:ʋƯ3?1k/#1AK< > o& lz59Fm50cEWDNYR'$ 4"sL#RV<3Jw&C3qz>r3= gl0at(s"2z 8MdlpT6L>qmS!6/`ɡ-o|-fϤ-ƌ0V A=d(۹c U_odvUĢʺd<︚R7*UŸF9Kl 72Z4*I56Cӥ!?;tg>_^3xgwUZZNSs3n5oXcٽ+j?(L.inZ)isnEKP4 3}ycg2fLܽ!ה&bV9Ԛk.,8JՖPWW30 id]y),,- χFn!;Vl0 fm5bȼ"cLsg{R..)iuAg)ءcm\x[+R*Yuhݛ܌)9H\ KOxHS:!sn.rVā7~WZ12C\av(*UiB#R},><[Yё0UTp[Nj1 >+h*wVoaJeK}5uEN&AӾ*Ky.WsISx5 *U4q1O #9Ip͚9dnFb1@r2ntK]=(gZP/ JcEP䤽4+SW|n ^5Ze}'H^$65Mm0 R<$0m8̈j PN^@9@;񎹢U`n xhs.N(1^}#2܏ L_Svy݌'𑈳{k=ؔtm=e='Ay\x9FPOr5H9,6Ah[H *Tx L8Qxbg>V?7t7>j>yR9br&q Gqg^pTUu__YYièo{ Uol2ɽ PM5Tv=ڕR9= k_KU5#}K7 OFskiQbSg'֘}Ԉnw<}i3smKXS텢ucf!DmN4tA`4<<UW6HOBC5Zvhe #ɔZ,!@E*V ot>-Yg|)ũHQt/ ==E~@@Pqu }쀔jwC}`#p\Bhh;$ >`>5nP♱`\fdyA<"À('|4Yu~Geokck}C8ʷ|3J"\;G,pUiXxIv$l~WAFNxCfrR{6KrlQ!H]u|QESZ&n V/-׺! W@,W!"g~?ΊbE1~2h_Uq K`;nڕ)B0 j$Wd|Pu&Ka67 f͞&X’9uG];*19XJS"Qln q.<}Ye6wTT\m#K]6҉܅:'L wMFdxV(N7 HM5"_H,%hU?]: {vhԵ'26D%2ޏT(ä6\H[MIbGgmm[RAJK6!&"ɽ4|IMBɝ~l7W}csA`UD߲)D':q$H6Z#{ˤ:${X`,R6AϓE:q_kº-d;Z骓֕?; /Z,$m hi:@z*OIk" wj`3Y._~v?הJ'zƲ!~䘄LYY{9^T[\!LNGpq㤎e|(9i$f?܂$ ϭ#ga r- ȢmWa,{, 'D?#ϻA_'rޏ8,"gh̙1ؓj !>5Z/زBϼD|$'/sXO}v?=(❤.Y4M=6U`-IK]RYݦ/cb6|}T;I"^R0lkE7hA_h>+!Cz?fl؏YG̺E_wcdk5BP[kړIuA;@+*a.WcuB NWƖ_G;!'zƗ- $1ng$(]HwC]@[gGJh0OIƅ2ͨf/YoACm90BjF 0suui!Kʪ 6PMJ{T'ȁ+"e}_30'KP-Al)!-Ր7nuqA?4%Bg qFb&dA3DJG T[bLܲL /,ywciDx\6紓(D;x:WogHU~+,pF^ hg=fBB2ZҰ,O%/!:)_HZ_G+{LZ`#$bY*<*~~aNpL|dI' ˗o˂Gì a٣.ٕwCT`3’i8d c9x8R7A!z菚Bxz,= T Wt)\4'z vp]_iGf8[hǻ%y;_٩rNn2<(v'  >_+!Y}콃o:qRqXX)lU+V"q'EJ>IsY0AyLǻf/ٿ|}muǞ}Opcߥ!ȓrD71R@wٖ|_%a}I:ΐ#C&Zٷ 8'_$gQF#w\Ġ ]ѯŨ &hDA!&f)e2 Qoި C  {&]`u$E9[n a{='Y d<ߨfbĈ1X ]/Ӏz;T Cf(4nf"5߹Ҙ -:xyO͜#w$FPGDt ] =^W(vkY¬= @UYLuI9whAaǐ”i,}: ^P~rSu~M{vnk80ดhfkkM[e?9dΰIŷl.G\ɸ&ovC|},7ش0Hݟ)6&SFD/[L&+>lN U|vZh."Mv,^DŨ!;VCw/V+7NʉU9QJo?gNZɒVJPy f2Xe]G\b7zP{1Z]S"ص_G<{E͉J߼funn9fٕڱ#Dŷ]-$ohP]ދĐ>JaUQI؆2 ~)!! ]c q<4ցj,F!X> N1K&FL~E:!WjgGg(!xYД~"ʆ8LmI!nWhe!7[W AdSo; *cCtp߯j*DJ}Cl톊E2[|&𙃪ldY W 6~<\ՆCf ήv.^ !-;@TUunbdʤ}re{U@u!ƌcvu5(a/t.fVm{9Zf2@"K5EopW.l%XW$?i91u\h^ | =Fc|'}<rtۭ}?Nkˢ Gw.Bi; @] %;VƜ]S;оCAZ6(`+\[b-#Ҟ_r[T^r a|@_q5:,[Bh07|:7\)m LbLqplOL&EUM8 º0V=dBriB=pSZ3W$]h3~G'iߙ{Q mbl3FL/7j;8NE7En /h/"4O' 1ûcuR KbHE(ẩBKO\Fub>ʥLi.d(~؅tdlHAؗ g7y~EcbfmD[%`6j8 FŪ~X w0G"h*x#Ȼ )Ob)ѯVAH5ȡ0|n2" \ '- p{W'~ ؁*lF $!9iQ+࿿Z1&5s9y!T_ Y. 'rՃϘ_Ll22ImKƼ$H\]%#b5m Oi(S=._Ʌ%~Jlb`oBor-km7M59ztȬݛm?iR$-BӋv^,0`zFT\x~`zulN$'w5R΋͌}x [#Sﰕ&D;❆8<<_ yfEZr`ox\ݸ+JQh1'Z> f2cqpV N%2{+w#e}%Aὲ]|RI!%S+w"zJկ٬9b'leɁG<{'C*e;. YTz  1D|Cvg靔R O?9*} #Q]'HQl@.v$]i"wP3-S,̇v>=L\.P_%/5dDWI+yš+guS"\g:E:"e俅 qzɣ, ןwf{K%`49k))[#嗴g-SeBrY6AdG 3/adB,|grc҈mHwuiB%O;'0IJmQ/uuqpo1ǙW#?N$NDc){>CVţibK) ޯ@ɁN%٨#悌q2n|%ꋘ~QrNU1UZݧȱpg1I_DMC@78Sȃ`ܙdeqO\I`~ j/Z_A2+`Fص@.k,TCr3eAi@[+dzL9kWH%y;N-M.طbP_>|9IWl`Us͉m._R=^DلqolD?+ |2)X83C%h'!RSmI`i2loŮE v?FibܘUuW$P>f4b,ZgGeED`ƫ4՘QtzƝ Th~Ě>?r)}A]쥺U8+;F7~XvnEñlvB:@Ju/KS/:`8 A3Q4qSk>@y^ 5r{[u6SAv5I+ma]v{+KsqsǮswqe ^#a⒣L ?jiч&Rt#:/DtS<Y(Z̀BHi,@P5;k}R+l,ӱmA_#Dj>9 Vm6lY>FZm(p]T~{ԱDǪL$g `k#3>x.Xj」Yb۳G=&jb73A57xkZҝYsPVtUB-{@:**7Oz%QBw$ jٖ CӸpsEJ9`%HGښ\KL)+)Khz+uv$ӕNrOl0^9*]72AŠ]G}֙o :Ȋ vZQ/iTS͒n,;v \WWuyM5OF:o3k*/W,i6e`hf3p酯~f|.t>IѥHO*1T79뗉oef d;;A~^w񋜍jtu}'o(Sap,<7im\#c<8<~CLz%s]J%\Ǐ22q)KI '^Hi &FcKcCkvF:>QsȢKɊ3Gpwm'GHnI6)b,|bqg໅w(Pӹzdh!mH>p ZIt."0k=ʽc@XU$16'ǯn&؄v"Vƹg22 ֔O֪1|p*-+qcZ܂3s**~8FG=h"0a4u_nH2*M(Lm c ZILyJϔF/g@6l!Dl {Ok#ofB2O.Eȉs,{M?Ѡ4pιO"un c5o1SC~95; y\A$o}>UrCmANE!A,ɡf·Pܣ-=U E\lM*0Җ#0:dU_&nIYeFK|fmNm}Pgxo'a[!yg=jϷTDYӝ,q{~+AcX [<숕,ƕKJ5$.j Fii*Bg'9c'#r)Ig 67/D) )d~nơd@6`26؄4)b0`%'(`~z͟, ob=ѣS E&9+%F.6ԖM%{Td Z;<|Uߊ(uW<,jl3kB vAjpτ\J~̅q~ww6[.5Wv$g Iy*!]#f:.:cᏉf6XhSx#52pR==KFa4z'fsQ'͆ 2.G,Z 3>zs9dW/F/낽hNؼAJcl50\nbAWR;}N[m2%svG0Y ]LBCx,2 Q'k*-[Bj]Y1:3{z& q7 iy8 c8_S -s8D_* ᩅ¿)W K 8v5WIٸ8tȌ&՘gh>*bsRAK[?3A0` ^;k*b[$$琉V.%@((shO.yg';BSc4ž9'T7 c/ȶ^V<ŢA}}YMˊմ m ʉ(s MQdYY܌^{Hbb +f ]=iw_8IB.i$I{X#\5T#O p\[gZ`ϻ3&TmMkAG1VC^R7ƒv>uSeb(~-HOM9}~C)=yQLobY 0^\ pUFfRiV8RHݒx(:MjbSf 1,;ԭ*s6Lr|MasqlCSKtd-/?/HXaAN+Z/%:LWAc ZgE/ Hpt0fxHX=5ΰZrK"a?ICMQzVd@kq6.zHK|&ZSwTv+H`SZTE'꫾N mig||B>_ym>vO 7_@6mX -]phBVZm/1>8SgNk1[b#)q܎A:Jj[57bŧc 7^δ](Wœ> ׷}kOTQJ^ B TmU\L4TN쨿 1ogY^Nmi!Pݔu]9;okL:Ma 23]s) 0T"xPNװI)ȈŦ^'O V1-"C !l 4m_"N٪}i2EڐW2&3 gՔ{2'Au@~G "6WS?6w)vDt" 7/`!w|4FY5ڪp-z,z޵xi S^T8O9K I\SMj,N L6qQKsP`t!PS&!/V!G:sR)ukmq?'yuaCiINg#cn 1F&UXiYH& U:l)r"n]$+j{^K֩\ )dz+ؕ ɐeHf'4|n/x=6 8Tk\ x "&a0ŏ1 `Z9> X-2We6 Հ=@;VmmG/PEo_50vqBw@' x7L͢/sp5dsQO{Yl.-~*ȖeoՆ!a7vN9=7q%sy&7[*2\F&_xThs@mtukdEK-fX\:w+['ײ2:}>/n XA4'<ݔt҂uBDB^i;C%Ѳugiy o^Tu&1& 缀 Oh\h'H{q^2$D*`v\#O3aE#KyF/!HZmkJ[,Ppd-&k3H_=yL ?R3T\Euޤ'߹c#s4XuU &׀/}x R? 9%~Wm( Q@>ns(b֝/f+ f]' >xRpˆzeXS}os!߸$k&7[[/e35Vϴi qԫm`k&>G6p?/4iWPfrPu)lRRTǘtom143E9E#'I[*c]~*/U#LlJPWɽk,;hW}vb5VHz=g4*k;e(1ȂSM%©uÅ$jv_lb=R}h씟w_CC߁f;Ku3M' vDZXP X\9M,D9È4]/?LjjY emkzi'!H; z F Y% t:Ir &lghBS0]CJE# `JCi P:DlE/y , r@k|lh6;BR!gWsmZH\Sƿ Ӏd$s\wdHS aQ;cpi]5((n{\-x_ O(c`^1>%{v4/[٥Ī)O_tDG$*KJ%ɇU&d:w-n4J^Zw ղ]|D}Ț̀eTW vnGŘ[y'Dby_1<ӣ`mn; R~':jo'-Rʼn?8EN@Vzf >0n! X1_$(Tf)/}4 4r6æt]6CPA59lQA(fh)'QъR#WĬ%xVr5ȵ !NFZ2&iͼ zt :(To̳6-J*o9pluO7Xxs C,̵^OJ/] TRl DČKQQ4cM$Oނx1!L84ZSfuĨjMVo)Aƚr` -zG&tʢkj$Otlam\6قH&o ǜV4FT" Ȣ `c'Bd;= P*0;<*PUbZa*$\pzf*Q*s_KwZB]+̈́/؄[Rf7^i2ROԴF!t^-А_sRYOY9:=ӱ+/$V5P,xe0Vyǟ[fAU\2;w$}͑:8*&dȡ u.J!UXɱ.ud[뎻fh@ƙCjC~B] b܊SyKkgGDb9*2әZ)\%'LLm*T|;߯xV>ESi7 -i+n4*n2,bK.5nd AaJuq ha,v/ck:8#L.ғ" H;ϗvԛ"j'L/=ߓ˃+q<, 6>ڸPoa'e@֏?A2: Veju e%1?Si5vLl'bP.tdW8?1H6?] y݃C` F]}:؋R䱔9lz:Wt q}cI^xSLS $4L=~-s9BL*r2Ӑ1l8=U }0-P̈́n<+7 R1'hK&o`+rZX`dJMKCr,3$HR@}a;ۉ3C/JnLGg1oIkϤ&rLlxVy6u.*g_E r 7S?6Vk[A޷y屭m qnX bd,164UF>NL5r r 4 ԴA !\2?'H78{|hl$Xlat<7_a@&ia ?0/z3~NZlWHb Q+QR7 *eWOJ9e R-\akA%EI :IinvyףOأrt!\ dWqusVavRƈJƵ,CrL8b裓{mFH!BiBu |/=<RYc ͉sOǟ0T&5S} upn23[Ng3 V5I*0l氫~M?8zOT:L}oMڼUbH*(9rJ5_LN[U++\]T\`4IJcK424 LM7.aZa91~)1$#4b-:\^Z_FS^+LR[dPAExb˙h~7Z z` TlmlˆAc}`lwr:)%k4мŏMh .hA{6!yVCZJ5kSdG^hDV/%/1νFoz:=)AbC<;(?N AB:ya֦`Z sB$u*'HBڒpX>3rM;tH\O@ܧ7l]3cv ]`Jf=ob<&<ڎ&E&9" zc%l{8gqb^p;ؼMNu mEEXO褐|/NVVWlQ!f%2;"i>ĩۇod#v ÅdMozw[DQJ3#ck5pdҩmAJիe9!+p.q_% |LwfTk\d;gzctgơ8]1+n%7@˓Zw Z|{'~6jHg[*fgkVAWBS| H{4RdnMyoyzY'; Kuq|]ުW3CVЃ {q1-noѴD (---v郴\4=~;lNaq^ ɍQ> ".Tc73,ezHt?|(J݈p(g-_F-SYުW>?t=p(ݾP㡻h*p!w\&SP -ӘD7V e5ݴszH崵aUdپSs9`wtN  SiCDhO"lOk1ΫY+^vЌ哸N85`™% 8 C&ڮ W9Z}TP4,BxPaR5U2=Y2ϳ$VBKLv%s=Fh)Ӻi ẍ5'뵷lvwP Nc8wYA9do`Æi o(=[9ƘJB q7㹱ʰ֝aF nr/ (<=n@Zr~K>ٚ .(;0*q1aS/!-ʿ F>%TDyÖ)NѾ܋Ѣ3vIyyW2ABB& ꓱ}Tiu wƶ9fCornr~g̒,d9!Lx=A]y_߂ۀ6wDB=Ԅеr*LCdɱrTw%[̽ &"XYlRR9xmMJ\1& ~;[I)N-03_^={vFK[yTSn+E/s 洰O̰$RF_LyJҙ +%FbO9  SX8/-@]Іr՜\NnQš3qԊEެj[Fvw _*g_UnOf7ML52E V h28)(̝,@Ce*tݮ>7<KKw#ܟm,̌$)i\2fKPF=\ ,cVg7ufqiDy1_L֝*^EU >-EzNɟn)ԬxCqUh6d ÍqA/$c@[=J)k4m(l ̳}@C9:dL;|`K@6q$?w.Um_O@T͖scɸ8쓦f[KRnH^t.ψOH?z-`Ef 3-(j8SQS -l!i;'W/MzrD+ό O\͆Q*_:^ DTZ"(cÅ-dfMĥ26WZy0as QN|VTSB7f 3|B l+߲SZG.3^}[PҖ֞䳖O̦,Fc .it/} &$YNH{ \ωh~?cɨw FN{Ⱦ94 V_?5IVf. ~Aښ 7)C 47Sc։a_RPT6Xajb*eyѯd ~ <[= W|| S)b]ܯ`t;zir無5˕H%UdFċ+M $r  $y3a`(﵃1dMtc׆vq*(L&b`0nVA;:,pGMBW+2\G= }0/#Gy%Rm"p}1HAGq$Mo1sT|fc}.R*\@ZubQELEa`nH VkVL./Kk4C > ⶖ9h̗yzC۳Ay] g ߩ*iՔE<*%.A>D |jgA?fBZSL"?X.(_sZfR]VMNmYaf;㢇YėTW(noG,%fDiZ ݤ xZĨe09@_(eT(4NQ)x7mlXK"q3GQMBkbt]Ղmxɮ-LY^]pЄs,?y^:C4vY] k{}\&V峵ڜf)jQU'gtW|dW|V>Eĺѯ*M_@<#(F ;dn8)mJ.H!@l=|WrIFyte,}LM!V0 XS?=zn9]ЬQ a"[1$Z)U=;aLx<_ 84>tQ`It!p?_kIٵy1;sbXK)U״=Dx/TW=>%^A}W5TԬuB#4j' sGp+6^HZܡjH\ʟY`-qs1S7@#V]$sӦb3s Cg!ZPO9 N7ܼ)^U%al 'wB8fd2'zz.$)ep֕K *ys$tY&8̤*Vӗ"i>U|H-a`?ۇ HY8 f71ù<?\JlV|O(^2zr<(NwZ/iv6Sw(Ѵ%U:9V-eݕAncm*R#DQFT>.\!=fu'#w[dh9_V(&yfE$Ӱm*h ȏ HYy8Czڷ/.Ѯ诶Q[ tPg{'$5p;\+ &).4[cR {g QϻZݝ"S z=7ܐAג%tAá*n<(H6oaҘ{Z7/$8n=7$cBSRFHZkF\OZ6L ɴJ K)4!o}]'haR$;/s Z TJ$Wȝ}9>DHEg@WD;w^ ctu/eUK"#=ѲMED3bnX]VI*+ط|RW#"+K,3DML Ύ? E7q#>GЬfy.*?LZױ'U:I Y'g[a,yaP|*9ÎerO;]X e0Qض}P$pf$ r _Ruml`O(̋ȲT84%<',o-/BSVsp&"D&Sa SBx';6*%Fٗr2bEí86~9V'~28_PHXS?;kbE9C͝UGN b1"r=&&z;P0o~҅Xsl*cK"r_rxԵZd8,;=0QO $e:KAe ?!pjBHT5 @Bu!$ ۆ߸u}+yT"5#G'Y93 8>h+28Iv7G TgrjSkJ :N'Hf8Bc^ ;IJ\enw{uQy=]~]Bi;yf,;|扝$1[re1V)|eZ|mbSØ d@x1KYg Y}=υn [F_v+WJ@1S =5x8!a~x X ⡳qZ}ݣl8˸1D$=}fOeP@&WBS} - L7x)mnQĩ}̓J^oJG(Q\>bZUڂE1p gąR8/}{-K:HJ j$S۸p2eK!THl/,ǹs  4!q2 k,-DK06ͣa.]20q$+ ; F)v) FP=x~N"j0OA<4xB8;s:ϩymN Ҩ32_VRpUu\|BCJJ%Bid/OLWh0|CEkzaoZ>bPдaA^O?}Ir Yl l4ϋY$ې17~"G7?}y(~p&UpFz2Ӓl+oT#ćR"/Pt+6Jf*~oE ۱#{|;$lT8"ZKbd#e<誇f7ǠZqύ[6݁ @/!RU t{*)>̂j귏6LYAB6ԅJpUDw"~Hbʔ9Rs<5bv(y_P-tkw@4j>Eߠ4wK$!GMU4#VKXG'>dOAU<,"mI`p-c`@~poN?9g>W)v93z$Usu~ [љrø[ (spP\<҇u6Y#؆."I4)BOcvz@ `D _wkJn)y߳ t2gw+IVu' 2o=1(?לʔC!wOAYSv$iWo+k*~d+{*&s~ C^czoVV7yH#-) J(GA ;a F^rO_IZ3e,~[:S6k>)`v(uvWHUCJ=ѠPZP^5'= ,>a;Si K TK%GowD`FT8UE8vpPG߹`"…-cGK-=M+EJ!OL$ai)M_u kw"Cz\IZvd%y (Z!$Zs~/#{Վ'{0Tqm$G#֧#ʫ[`su@SbK%[~KZqawoa}{!QIN>Oܬ[*w= U%)x7hb=%x4kW@nVxbȠtN@q ,ϱFObv&%:X]ʈer;dA8ap`Z&-uV.s&{(wT,g;\D!8W, 0BX|Sn:ʨFMS#RvrTL3-AqV|3t2m[I*fu057g [6䓂.b{j(0= ̍Ϝrg,bKscF lw: Ŏ>"V^F(f6(O&͇Jwd2^ajjcOX_}\2t4`˕oeXA^;&ymʗo>]a'" ^ $Jۀ"<}:B=QQЁa#kLp0ntDG/a|tx睊yFXz>7zЈ^Pk/y9[7Ѧ mUR$Lk -E[ݽ2hTZ? $B-kҕq -)<.K$j7z8n%3 AQhgBhPо^k%拋x_+9p0YV{1h=*)HbK=k12Ld G wsXsk^cVXG"G5 [F*A?xɤqϢ6}Rxb]j&0ڐ8S4)(OyHQI)Lo1O$R|b=b dE'o`Cz!/cLt _/7;aQpͪb/@*7u;I#h+hH8(oT2P{1+#%>szF@:L>Q,)"_Ϊꖃe0};,Θkpvmk}#:]I/Ll6rFSHTUf9+Jflρ}ekyBT,fjZ~(:ETzri<{\twoJқtEh{Wqx7]_H0_uM2cKrSWď ڛ{WK,tk7-Tt4Q8]Pu}7nz3c 5?sK Ƌ".`2Sەݟ;lMv#Uz܃Z qw9ص031SiK!z_3b8psxD}NBLZ6F5C`Z&sudwA4o|1tzZ(NsH` C7UxwkN&alhVavKS zF9`t!=%+.2S8WT](KۚVPpRj$x)z ,&ZanKUN>b^`a` :G`J&UԮGaVSüY=qۺZ_jz@"ܠѴ,X %yz[s<5v&K Zdn[\7vps3P&,0?CK喧}#p %b0Qk\@Bג2S[Z"6Pp$ ;kZ:"JW?2= ͼz >zoow5?%;3;qiPvQ<{ZXܕHo跑Cbx fJR]!jm]kVGи"p=LlVqQ)0w,|~(7^(tEGثIןVN>SrjkAȰtEikkriǚ]S/̦kfm&ZQ98( UZ5@T;"8YMS/ax&-ũ '_h΃n{ gS LoGu%Xy3b#ll[nk݌Wa܌W˜Ԇ3EDo!:QRزd>{^[YjI Tm!]_mu%Q}7j,%uԪ#Oj{  E} ;w=*%/Y4"?#fVޓSGwtENDƠZq}JFčÖG{q.R%I78UdcD-V|obC,D1u]}˂bf +3f[@g>PZuDU b MH}q`o~Fp5w+$oZÊ٩M1;cO1'BGPp&*v0-TZ+K'9N]M5qm1db*S=!=+.^޶|tUƅҳЍz&9w'S۠ւb\{ZP;*8r3o̢ 3HwS,QZ۾H-bAv5QU2RX6n}J cD$PЦiR9d*d*ں/]C< C t2yRL" )牀wt>#ou*/W]uSP3GWiEqֻۂ[*(#8hǎA&fuLc'{.>xO;##%[$ u V60j&6Π@=ό1!kT%yʏou ÏYTwm!LFK!y"7ac&zaL!C)#씼_'x`xvqaΟ@xx;'KAR%ef6%rvm踍m_w Sͤb#K|ږWK*ׇ,bT- QL2R |h$6/9Oqk:7n} c+*(lvf<ڃ2t">'r~f}ecYNV\j+\fUqWxU)//gj$"mmj,S_ W=#BL6Ѣld!I;V mWM'[<^즓2cQ-' yK[JGNŇ7{2D-UOIG.^&SA=OԽνY^[+lW@ Ȯ D OUr%5W3C2kᴠxПѪa`EZ:-\W@{6/N@ F:Dz~dq 0Y !E8j|A`}'f}_T$*3n elG|G AF_1Y#I gan'DAT/rJ]H-E;3;"rBiw8LrJNؘG+G,wV |zz;[b r<Fd-8FmH1ɾUvdR3^LϢI_[`U0ĭUo:A>Y CH2wo,+ @UaMڞDl G%(ž|sVd-R"56ϖ`]>6p2ʹ r+cHjX]=79z6$3)J&=Hc]!i8|OmɥaK۸ԈoO8ػ3T5ܽbHjq[]hY/n|9h%G6GE N-o𞾫-  mTONLIR6m,Qspw:{mP%6#veC$aыcjw.^luY=B{InU3ڀ{>_[w~ UOu.T.&,BTn?jMv/9/T9 S;Ha}fH ? 1n1h\[I"뜌.VO=*e:n_@?`$zR9 -έ-}",B$&Ճx7P/ O|xxW S!-;ޒkFG%{n;ዾ08q=ZNuv5\F';i{AhxSsTO݀uG~_/`v_f9h'Oj)X&5դ8/mh蔆rᝐ^IT`aY)Wqy$xiJ3w_uWFU!Ԝ[ 8̆|V#ӢF/vSe1ɷ7Wgyh 2JBX fP sZ [qxf+iOƬ뽭pSZbEd{:M!WNGFք`bFmr+*RiѬOnaH;f`S6dN7A6dW"+sv[ pћߗؤ- [jo"fWFkjd9"2Y2;+ K;~ԋ|ҌR(^t"v0{7;ze? gvcJtͽ4tIypތKZ {(ׇR(;.'c) ]F!*XUG8өuo62:(3ʑ#YSd<&}2⹧}ٖg?gM[fݱyfHbo0 y5^gn"Mi8+EW))+b ^ @ ]Gof0:q7m6WZQ'y{~}=>_&Lve'dyLV&0N R1uS< 8.LʌHΧ c#w#Qyu ־c!U]c2ATZdgH1|X \F;VSFbz[aVSB0BLF}.GM)|Ҁ/'К CQy$.^ 3 1bɻ(,?}el@=T_Nd*x(Gb9 L r |}0_j YL3S@ 7l?XAAWi0 43tn;U{Ѷ9^ Z{}'^/A$'Q]{E!yV-)=x_RTh,ib2 bHMna.әQ<&k<ސC+DQh|> 'B>g$9L\7/J2Agy]5Won!dlk\p e 4~OBY$==rCq_!e#SP,ٱ3%sݪU{lB ]Lmܤ9Ptkl̓@M<[BZu5HEqn6ЖLiW+1xiwљ%Vs.ɊB>44һ&f;7߭4VfhB 4főE'3&(/5A)`OWPKfFTS:RC=$Pz!TRRg|F]qj4' H!ܘXI4Z7P*V\I'EF?ۑzJOP*֯v$qxQ<=6|c6XӂNs%.%4ZP'G&~TIolxٴN:z?0ay4b߰euɳ]sqW+22qllc$,}!zR_ؔy;H@xa]a%`%d]hVшK LmW%⤯PG,Sʉ/QV.+ˎ]DKRI;a%h?֥JK$ʡdWiknR}KƬʡM‹!r ݿ&ty+KٲsmFlS]KǠرʑ"m-b %d;&C5߷~?!5tg w$ŏ-ٟ#}AX`䤔m!lIgL#uK\!)ьIi+p~nlAwtVe"wc7_{Y+&Jj&"Ƞ`1 @/RT+/JԖv)'Kҧ&>BXb T&8?LXkS)SMg {]7YӸ16JHD=ꚓ~?eș K~d#P]5^f_ީ[?aTtFSvFolu&Py.ՎQV5U;W7ݏ~}%җ+c]Xf`b`P˝ iQ$=y n(ױIi; zv! cg!%*&K^X8vt:-{Е3`EZ7Y_l4 Ps4;.mp sqQ&@ LL\㭚j6T6L i3n{%4.ķv8բ8׏Fq *`x0fpSb$:ݔX_[AF}'wf;%? {]1q9nIrΦKbF1gEvJNBKy%b_D9HIE_)/jD G'ijǯ w<{n-p'9d/p Y`y]iG~wu'^EYhk7pe M-+g3b,2_NBQƭGi>e? XV˳Oj4mR6i*&r01Δ2+1p}&_I0&9AX!=b P/<fX/P6"8 T&^0dSf+,-OM)O:for܀G1 gm/6,ܺ,om6B(g6c3x/_ Y!9eHl/T< __C$b: 9 0QVڍڄN/3""hV-{2' :+\@MmjKd= Ngmm;|PHg.Yi"*pkcT pߔJs#)I=Jd <۠hcӄ2)3_fS24?ؓRp{3SsTb$cvgNi Y&?r0pڌpa,ZP1HךftaYMɱu ~wرYeݻ0EN"${ts&B0.˶=bgSvzWaO:"z%qECa;xZӼ$|=J褂beGq]h pdk$!*<:BLr穘e˗'"[3_ m]2!sX5Q<}n@%,W2`Xn dp~m%E\:FHob%n9Gҋ8:oW|끂9c,֪3r¨40~$T@N%3pqW,7%_hg>ٛNS*|HQ,C;(l=^91&?lu3ҤE%ޚ%FIGEv*ѠrxL'&Yٗ|\={_623%xWQ"jn^~B?qߺC=kS* DM)9MU>dzr;{ zLX/~F Ծ%ӻ[՞4@e8Ǽz#QUsF4TV.Af Rd5Tu&mӄ7, /|c4J9^X ]0G G&rS5^f☤`|jGjcќXÃg" juŌ?g/,|o?AԶS▘vm54aJC_C!ёl6XT\J VS%§#rhf-AnۓG(؊:Fdxqs2GG^)v;S`'%cK|RrKs4w`~Xsή ƽsYd|mV iѺ9ΨdT3]孰Tߵ&: :< 3#ՒyWs&Gn0yHr{:@Gո?xݒSX& HB| o}%ƺP "10jJuyIІ($@,|K{OUS&oYHqLjߣ 25 @rYߞ$͖Qf}Az5QZ?nO\U;jC#CE(( j#dfhs>~gZݗ!9ʸ[ JpY*jDa-6ݦśh D:HF܁aΌF1@fygB4Vg+;ز1lBJf3_J$Jԗ>auvp{b7 ƒm+;ՆR;"y$5L' yTm N\% V[n-s ;.JXX'213G)mz=7?D܅sLZr9a N?HokGrR| #CT$]DyO $+b+OpNrz/{tIogYCY鏍ʺQF͹2c|LqND +2E3ԇȡ!빠|K`>N:kU=:?g2GxcƟ77e?v UNo\I.2MrBMz= Fb/ +7] <V@NMZJ 1>[vؠS ު{}a==$|896;-A"k[]OG`rB;C^hp,jd%ߖ˅xOr4-T a0= ;wA-Oq4nIvJeFn=8n^ S,#$zi~oHO  ڦj1m|٤6^i}urTUA,K|#7L{\;u!(3ǨVB2-f4NZ|RŅ!3XHe25ݠv CĚ r΀.ׁvs0=Fr`{,(rd\lL*vTۿv!8 elٴ1o)XT#m惪BnۨH)9}p[g\gPV-HK+UСw/,^6̦%:2OHy\[^tiaiꛂ? K7Kӝ+*DJX̀ ksL.k_~ Z>]c:':MyĘRtiG0@ H`V%x0L]*ML 1N u).&.N^?EvƦ\ÄFTg·^rʓs媳wv7\W8م z"ye׶BsjɎUIO)d-3ml()(cY%i&~\* q:X8e"?#lv@,{#_ć-Mm\"; zN&  Z/>7'G=%~ DZN^\^ԯط[P"*’A{HAنi]Q k`cY[|-£H].(Xv"J48 ',y[!؋̽7x7Q6`*=Y8݆@7oxzr*@u_}'[ݡQ6WYg^m,?٦J|˽8NdY1O:4WM)ekUf <l:ߛoY+y%yk\H~u>"'P]+EVsnxI"IL0,bl#+{8Z!tfCT! an*;zLQ:` quU.-3ZDHUV6'v+Ɩu7gbQ_0mt]LL4NҰknqBY^TrvE2K)&Jq_Oܽt!z[eOMFGKÙjS'iGZf[ܾR,p%iY .UܐN"R/J급FC-H]~qdPt֩,|v/>HBR[qng]LB3?;ױURTW3Tޟn]f53!˾x.XӰB.MSܤ Vn-#È%7kӡsxU ƤS8ڳԒ̌>tWu6]zJ1Vg $9\65ѷ* ,~=>o4Z.,'⠂o?-p,12\}3PݶKHT %JbS11 Nsn{rJʎTc{N& UC)e ᳖}tR88%|qZ$ACao3eƫᷰ0rD$ C Sc8! (v80}''uי:rfC-g۾F#s[I[dgV|]=\yoewFHXfH,I7RpG% É7dߏ6qIfضRI P%,7$/ B-M/˘-P)ܱE^0qZګs:;ƭ@Ӓ(N? l` FC 0VCl{L t@~{oO1A;;\.)O^G9tɠܸ !;.3%T~9R}L)LF%7:7Cm4J@F*XdJaDm+=8m_O]9SŎGH( 6=fРxh[hq3`tVoH]OHncFg@,Kk |03Ks\eS*/UzV̟߂ADER;.paI|#9uE<2:F^]a1AjrSk@5oX1%EEfgG*Nfԍ4- (yO 5;ZZ͹/>~t9bK0h~=-P0oUėw @ Gtdl6`Pw6 0hL:M5܁pqdsF#H Sq[c|]Ū Ѕ18Q +CbuEq2<WeN 6k HOGcH=A ٗ 4nW(x`۰NG]]VSAjP [74^ 5[4^A!n|u4++HvjX&v_"IUoĬ칪Q(Ph˅c6щsޛj`A}*} <B快Ǡl*SuU Ix@=a똟߈iO1ytrv3aȧǚmCXGY2JeFLr1FMj {P5wDwo3;E= ~@luVjc?!l6V(lGCuЇ`^05lE=&s1#o"Dz-<84ȦW*>Q4Wj6VeW:p%5}y_ȇZGR8 lې'%P 8{LcdžF> cX{[-T6lzUEZ):/#)Vw9Cnυ"~s 1`4?AveaieÒpTHE~ghcE6_O^4cHAiPf$r)BApHTVu~uDY`vY#aNF]O@6t]?&'> V?P3`M| Y -Hl(f\2S @\$?Tᔑ< ܚmGܚCcC_$gmPN&^yCViȷ-}UDB"vfyd@!ؖhj!1[%iP79_V7;5.bD @(L"ۇ/4Z!xGq8ej 0ƢHӄhA_UhcW kʱN#JCjAX42Rr_Ӯ@aTy=>Qp'?s Vo9CtOpiHeU#J#,TgyZx̍V*Ι0Kqwn>suf/󘩤Ŕ0%u4a&$)~B(пAj%4 NȖ'fHElӫ5 v+Qܔڈ'P6"wfaSvZJy0a v!LgB2L:S(ޮ,L FkFD[8Y]B~ SĀD6i;)90 Qup) \_HGxn]H3d1 uYP#32),013gn$?w Wpٷ,ñ(8Lw>iquz+B,ED>vv},Fm h!ǘ/JZrZ/f cQ%=&I'.4#oBӁWϪ=MyL5 oU^D.bӹ-E6 M7Np,xOJ?X2fBLLZ /OHƒ }8[[YaR.8$ =HN(%Wj?LklrGᵮlL7܌7T;#=0U,|B>NhS/dh-n  [N~58G]QX碓7v1_;C-.UOF`B,qв-r AwfJ)NIÚs1%8\gJ&3K)Acvh>"(LH8ϫ_H8w/mR[ٍޏVp2;≸&Q|o2y<_@K>fKo0:]2vaL9w :~Ccj݅vkK }% vn 6b!:Փ1t8M% " !6WRa}4V|CSEܱXb/82K#."vWe?;/~\re&}[cN6CJՐ\KAˌ֔RVe ha""KMbqk'/jZઆUVI?X)Jh_md ݙ 4"'g |2b^>UA>]AA %_bl,L1DuT ~UjiO+b!rB[Kܣ$idwK&TLy>Otg,/|tG ӄRo0ח$ˮ!n=}%Um{Az CL ˒ߏ iI E %fQu6</-YBm,͜um4 ^[4eKQLW#uN< @1pc *1nPnب(|^@Tn_w>1&Tui{`(_搛מ?d)~"f,(Գs^큑 u:HsMXUʷ)k P!K*֤6|M;.ۻ:h*OY6̔W ͱ'_ˌQvxK󀧈f@?Hwy(v M7rr"<(n܍a0pɫ$Ro = $\\cj Jvl&džf7.!Nj-r_KV*x{,].c)t1wrNϫEYL/6$ BA(-k"F` )ӣȝ <~|mϼWLVVxIj#jrwG,Z"jNKj%.&%s:A/FNӃ8&G1fQb-pH.)D~5 zV#b_cf =/\j{%6I0v1C.oK財vϚq=?UD9DRPȕ7B%Ok9;0bSC$ WF$X21ӽXneL9t)^I\DG);ٚDnJAn4'm Hd ML@Cy2 's{Z*q *ʁ-7勗n/e Rws9r*%6ds*CnUXdIVp y[,Pȸݙ/*" '䘚[F Fu^csͼ; N-=o2(}j$e"ov^r@28!V8ȰlKQ@YZMALDIquant/R/0000755000176200001440000000000013466066276012372 5ustar liggesusersMALDIquant/R/calibrateIntensity-functions.R0000644000176200001440000000512513370404000020332 0ustar liggesusers## .scalingFactor ## calculate scaling factor for TIC/median ranged calibration ## ## params: ## object: AbstractMassObject ## method: character ## range: double ## ## returns: ## double ## .scalingFactor <- function(object, method=c("TIC", "median"), range) { method <- match.arg(method) if (!missing(range)) { object <- trim(object, range=range) } switch(method, "TIC" = { totalIonCurrent(object) }, "median" = { median(object@intensity) } ) } ## .calibrateIntensitySimple ## calibrate intensity values by offset and scaling factor ## ## params: ## y: double, intensity values ## offset: double ## scaling: double ## ## returns: ## double, calibrated intensity values ## .calibrateIntensitySimple <- function(y, offset=0L, scaling=1L) { if (scaling == 0L) { warning("Scaling factor is zero. No calibration applied.") y } else { (y - offset) / scaling } } ## .calibrateProbabilisticQuotientNormalization ## calibrate intensity values by Probabilistic Quotient Normalization ## ## F. Dieterle, A. Ross, G. Schlotterbeck, and Hans Senn. ## "Probabilistic quotient normalization as robust method to account for ## dilution of complex biological mixtures. Application in 1H NMR ## metabonomics." ## Analytical Chemistry 78, no. 13 (2006): 4281-4290. ## ## 1. Perform an integral normalization (typically a constant ## integral of 100 is used). ## 2. Choose/calculate the reference spectrum (the best approach ## is the calculation of the median spectrum of control samples). ## 3. Calculate the quotients of all variables of interest of the test ## spectrum with those of the reference spectrum. ## 4. Calculate the median of these quotients. ## 5. Divide all variables of the test spectrum by this median. ## ## params: ## l: list of MassSpectrum objects ## range: double ## ## returns: ## list of calibrated MassSpectrum objects ## .calibrateProbabilisticQuotientNormalization <- function(l, range) { ## 1. integral normalization (==TIC) l <- calibrateIntensity(l, method="TIC", range=range) ## 2. median reference spectrum if (missing(range)) { reference <- .averageMassSpectra(l, fun=.colMedians, mergeMetaData=FALSE) } else { reference <- .averageMassSpectra(trim(l, range=range), fun=.colMedians, mergeMetaData=FALSE) } lapply(l, function(x) { ## 3. quotient calculation q <- approxfun(x)(reference@mass) / reference@intensity ## 4. median m <- median(q, na.rm=TRUE) ## 5. divide by median .transformIntensity(x, fun=.calibrateIntensitySimple, offset=0L, scaling=m) }) } MALDIquant/R/AllClasses.R0000644000176200001440000000111013370375051014520 0ustar liggesusers## basic class for all spectra based information setClass("AbstractMassObject", slots=list(mass="numeric", intensity="numeric", metaData="list"), prototype=list(mass=numeric(), intensity=numeric(), metaData=list()), contains="VIRTUAL") ## represent a spectrum setClass("MassSpectrum", contains="AbstractMassObject") ## represent a peak list from a single spectrum setClass("MassPeaks", slots=list(snr="numeric"), prototype=list(snr=numeric()), contains="AbstractMassObject") MALDIquant/R/AllGenerics.R0000644000176200001440000001035113466066276014705 0ustar liggesusers## AbstractMassObject if (is.null(getGeneric("plotMsiSlice"))) { setGeneric("plotMsiSlice", function(x, ...) standardGeneric("plotMsiSlice")) } if (is.null(getGeneric(".prepareShow"))) { setGeneric(".prepareShow", function(object) standardGeneric(".prepareShow")) } if (is.null(getGeneric("transformIntensity"))) { setGeneric("transformIntensity", function(object, ...) standardGeneric("transformIntensity")) } if (is.null(getGeneric(".transformIntensity"))) { setGeneric(".transformIntensity", function(object, ...) standardGeneric(".transformIntensity")) } if (is.null(getGeneric("trim"))) { setGeneric("trim", function(object, range, ...) standardGeneric("trim")) } ## get/set slots if (is.null(getGeneric("mass"))) { setGeneric("mass", function(object, ...) standardGeneric("mass")) } if (is.null(getGeneric("mass<-"))) { setGeneric("mass<-", function(object, value) standardGeneric("mass<-")) } # from ProtGenerics (same as mass) if (is.null(getGeneric("mz"))) { setGeneric("mz", function(object, ...) standardGeneric("mz")) } if (is.null(getGeneric("mz<-"))) { setGeneric("mz<-", function(object, value) standardGeneric("mz<-")) } if (is.null(getGeneric("intensity"))) { setGeneric("intensity", function(object, ...) standardGeneric("intensity")) } if (is.null(getGeneric("intensity<-"))) { setGeneric("intensity<-", function(object, value) standardGeneric("intensity<-")) } if (is.null(getGeneric("isEmpty"))) { setGeneric("isEmpty", function(x) standardGeneric("isEmpty")) } if (is.null(getGeneric(".isEmptyWarning"))) { setGeneric(".isEmptyWarning", function(x) standardGeneric(".isEmptyWarning")) } if (is.null(getGeneric("metaData"))) { setGeneric("metaData", function(object) standardGeneric("metaData")) } if (is.null(getGeneric("metaData<-"))) { setGeneric("metaData<-", function(object, value) standardGeneric("metaData<-")) } if (is.null(getGeneric("coordinates"))) { setGeneric("coordinates", function(object, ...) standardGeneric("coordinates")) } if (is.null(getGeneric("coordinates<-"))) { setGeneric("coordinates<-", function(object, value) standardGeneric("coordinates<-")) } ## end of AbstractMassObject ## MassSpectrum if (is.null(getGeneric("calibrateIntensity"))) { setGeneric("calibrateIntensity", function(object, ...) standardGeneric("calibrateIntensity")) } if (is.null(getGeneric("detectPeaks"))) { setGeneric("detectPeaks", function(object, ...) standardGeneric("detectPeaks")) } if (is.null(getGeneric("estimateBaseline"))) { setGeneric("estimateBaseline", function(object, method=c("SNIP", "ConvexHull", "Median"), ...) standardGeneric("estimateBaseline")) } if (is.null(getGeneric("estimateNoise"))) { setGeneric("estimateNoise", function(object, ...) standardGeneric("estimateNoise")) } if (is.null(getGeneric(".findLocalMaxima"))) { setGeneric(".findLocalMaxima", function(object, halfWindowSize=20L) standardGeneric(".findLocalMaxima")) } if (is.null(getGeneric(".findLocalMaximaLogical"))) { setGeneric(".findLocalMaximaLogical", function(object, halfWindowSize=20L) standardGeneric(".findLocalMaximaLogical")) } if (is.null(getGeneric("isRegular"))) { setGeneric("isRegular", function(object, ...) standardGeneric("isRegular")) } if (is.null(getGeneric("removeBaseline"))) { setGeneric("removeBaseline", function(object, ...) standardGeneric("removeBaseline")) } if (is.null(getGeneric("smoothIntensity"))) { setGeneric("smoothIntensity", function(object, ...) standardGeneric("smoothIntensity")) } if (is.null(getGeneric("totalIonCurrent"))) { setGeneric("totalIonCurrent", function(object) standardGeneric("totalIonCurrent")) } ## end of MassSpectrum ## MassPeaks if (is.null(getGeneric("labelPeaks"))) { setGeneric("labelPeaks", function(object, ...) standardGeneric("labelPeaks")) } if (is.null(getGeneric("monoisotopicPeaks"))) { setGeneric("monoisotopicPeaks", function(object, ...) standardGeneric("monoisotopicPeaks")) } if (is.null(getGeneric("snr"))) { setGeneric("snr", function(object) standardGeneric("snr")) } ## end of MassPeaks MALDIquant/R/mass-methods.R0000644000176200001440000000106413370404000015071 0ustar liggesusers## AbstractMassObject setMethod(f="mass", signature=signature(object="AbstractMassObject"), definition=function(object, ...) { object@mass }) ## AbstractMassObject setReplaceMethod(f="mass", signature=signature(object="AbstractMassObject", value="numeric"), definition=function(object, value) { if (length(object@mass) == length(value)) { object@mass <- as.double(value) } else { stop("Lengths of mass (", length(object@mass), ") and value (", length(value), ") have to be equal.") } object }) MALDIquant/R/localMaxima-functions.R0000644000176200001440000000074213370375051016741 0ustar liggesusers## local maxima function called by .findLocalMaxima ## ## This function looks for local maxima in a numeric vector. ## ## params: ## y: double, intensity ## halfWindowSize: numeric, half window size. ## ## returns: ## logical vector of local maxima ## .localMaxima <- function(y, halfWindowSize=1L) { y <- c(rep.int(0L, halfWindowSize), y, rep.int(0L, halfWindowSize)) i <- (halfWindowSize + 1L):(length(y) - halfWindowSize) .Call("C_localMaxima", y, halfWindowSize)[i] } MALDIquant/R/Deprecated.R0000644000176200001440000000036613370375051014546 0ustar liggesusers## deprecated since MALDIquant 1.15.2 ## We have to keep it until May 2017 because the current MSnbase 2.0.x depends ## on this internal function. .which.closest <- function(x, vec) { match.closest(x, vec, tolerance=Inf, nomatch=NA_integer_) } MALDIquant/R/msiSlices-functions.R0000644000176200001440000000317713370375051016452 0ustar liggesusers## msiSlices ## create intensity matrix for each slice from a list of MassSpectrum/MassPeaks ## objects ## ## params: ## x: list of MassSpectrum/MassPeaks objects ## center: position(s) of interest (in mass values) ## tolerance: aggregate data around center +/- tolerance ## method: aggregate method ## adjust: set coordinates to 1,1 (if there are empty/missing spectra before) ## ## returns: ## an array (dim: x, y, z=slice nr) ## msiSlices <- function(x, center, tolerance, method=c("sum", "mean", "median"), adjust=TRUE) { x <- suppressWarnings(trim(x, range=range(center) + c(-tolerance, tolerance))) .msiSlices(m=.as.matrix.MassObjectList(x), coord=coordinates(x, adjust=adjust), center=center, tolerance=tolerance, method=method) } .msiSlices <- function(m, coord, center, tolerance, method=c("sum", "mean", "median")) { method <- match.arg(method) fun <- switch(method, "sum" = rowSums, "mean" = rowMeans, "median" = function(x, ...).colMedians(t(x), ...)) n <- unname(apply(coord, MARGIN=2L, FUN=max)) l <- pmin(findInterval(center - tolerance - .Machine$double.eps, attr(m, "mass")) + 1L, ncol(m)) r <- findInterval(center + tolerance + .Machine$double.eps, attr(m, "mass")) slices <- array(NA_real_, dim=c(x=n[1L], y=n[2L], z=length(center))) for (i in seq_along(center)) { slices[cbind(coord, i)] <- fun(m[, l[i]:r[i], drop=FALSE], na.rm=TRUE) } attr(slices, "center") <- center attr(slices, "tolerance") <- tolerance attr(slices, "method") <- method slices } MALDIquant/R/mz-methods.R0000644000176200001440000000056513370375052014577 0ustar liggesusers## AbstractMassObject setMethod(f="mz", signature=signature(object="AbstractMassObject"), definition=function(object, ...) { mass(object) }) ## AbstractMassObject setReplaceMethod(f="mz", signature=signature(object="AbstractMassObject", value="numeric"), definition=function(object, value) { mass(object) <- value object }) MALDIquant/R/colMedians-functions.R0000644000176200001440000000176413370375051016575 0ustar liggesusers.colMedians <- function(x, na.rm=FALSE) { stopifnot(is.matrix(x), is.logical(na.rm)) .Call("C_colMedians", x, na.rm) } #' .colMaxs #' #' Similar to apply(x, 2, max). #' #' @param x matrix/data.frame #' @return double #' @author Sebastian Gibb #' @noRd .colMaxs <- function(x) { x[max.col(t(x), ties.method="first") + 0L:(ncol(x) - 1L) * nrow(x)] } #' .colCors #' #' Calculate the correlation for two matrices columnwise. #' #' @param x matrix/data.frame #' @return double #' @author Sebastian Gibb #' @noRd .colCors <- function(x, y, na.rm=FALSE) { stopifnot(is.matrix(x) && is.matrix(y)) stopifnot(all(dim(x) == dim(y))) if (na.rm) { isNA <- is.na(x) | is.na(y) x[isNA] <- NA_real_ y[isNA] <- NA_real_ } cmX <- colMeans(x, na.rm=na.rm) cmY <- colMeans(y, na.rm=na.rm) (colMeans(x * y, na.rm=na.rm) - (cmX * cmY)) / (sqrt(colMeans(x * x, na.rm=na.rm) - cmX * cmX) * sqrt(colMeans(y * y, na.rm=na.rm) - cmY * cmY)) } MALDIquant/R/mapply-functions.R0000644000176200001440000000056313370375051016015 0ustar liggesusers## .mapply ## wrapper for mapply with different defaults ## ## params: ## see ?mapply ## ## returns: ## see ?mapply ## .mapply <- function(FUN, ..., MoreArgs=NULL, SIMPLIFY=FALSE, USE.NAMES=FALSE, mc.cores=1L) { parallel::mcmapply(FUN=FUN, ..., MoreArgs=MoreArgs, SIMPLIFY=SIMPLIFY, USE.NAMES=USE.NAMES, mc.cores=mc.cores) } MALDIquant/R/show-methods.R0000644000176200001440000000411313370404000015104 0ustar liggesusers## AbstractMassObject setMethod(f="show", signature=signature(object="AbstractMassObject"), definition=function(object) { l <- .prepareShow(object) isFilename <- grepl(pattern="^File.*", x=l$groups) ## to avoid newlines in other values don't format filenames ## (they could be very long) l$values[!isFilename] <- format(l$values[!isFilename], justify="left") l$groups <- format(l$groups, justify="left") cat(paste0(l$groups, ": ", l$values, collapse="\n"), sep="\n") }) setMethod(f=".prepareShow", signature=signature(object="AbstractMassObject"), definition=function(object) { groups <- c("S4 class type", "Number of m/z values", "Range of m/z values", "Range of intensity values", "Memory usage") values <- class(object)[1L] if (isEmpty(object)) { values <- c(values, 0L, NA, NA) } else { values <- c(values, length(object@mass), paste0(round(range(object@mass), digits=3L), collapse=" - "), paste0(format(min(object@intensity), digits=4L, scientific=TRUE), " - ", format(max(object@intensity), digits=4L, scientific=TRUE))) } values <- c(values, .memoryUsageStr(object)) groups <- c(groups, .prepareShowGroupName(object@metaData$name, "Name")) values <- c(values, object@metaData$name) groups <- c(groups, .prepareShowGroupName(object@metaData$file, "File")) values <- c(values, object@metaData$file) list(groups=groups, values=values) }) setMethod(f=".prepareShow", signature=signature(object="MassPeaks"), definition=function(object) { l <- callNextMethod(object) groups <- "Range of snr values" if (isEmpty(object)) { values <- NA } else { values <- paste0(round(range(object@snr), digits=3), collapse=" - ") } ## append snr info after intensity l$groups <- append(l$groups, groups, after=4L) l$values <- append(l$values, values, after=4L) list(groups=l$groups, values=l$values) }) MALDIquant/R/isValidHalfWindowSize-functions.R0000644000176200001440000000112513370375051020717 0ustar liggesusers## .stopIfNotIsValidHalfWindowSize ## test for too small/large half window size ## ## params: ## halfWindowSize: half window size ## n: length of data ## ## returns: ## TRUE if valid ## .stopIfNotIsValidHalfWindowSize <- function(halfWindowSize, n) { parentCall <- deparse(sys.call(-1L)) if (halfWindowSize < 1L) { stop(parentCall, " : ", sQuote("halfWindowSize"), " is too small!", call.=FALSE) } windowSize <- halfWindowSize * 2L + 1L if (windowSize > n) { stop(parentCall, " : ", sQuote("halfWindowSize"), " is too large!", call.=FALSE) } TRUE } MALDIquant/R/filterPeaks-functions.R0000644000176200001440000000713513370375051016766 0ustar liggesusers## filterPeaks ## filter peaks which are not frequently represented in different samples ## ## params: ## l: list of MassPeaks objects ## minFrequency: double, minimal frequency of a peak to be not removed ## minNumber: double, minimal (absolute) number of peaks to be not removed ## labels: factor, labelwise filtering ## mergeWhitelists: logical, apply whitelists local (FALSE) or global (TRUE) ## ## returns: ## a list of adjusted MassPeaks objects ## filterPeaks <- function(l, minFrequency, minNumber, labels, mergeWhitelists=FALSE) { ## test arguments .stopIfNotIsMassPeaksList(l) ## labels if (missing(labels)) { labels <- rep.int(0L, length(l)) } ## drop unused levels and turn argument into factor if (is.factor(labels)) { labels <- droplevels(labels) } else { ## preserve order in labels labels <- factor(labels, levels=unique(labels)) } if (missing(minFrequency)) { minFrequency <- NA } if (missing(minNumber)) { minNumber <- NA } ll <- levels(labels) nl <- length(ll) if (length(labels) != length(l)) { stop("For each item in ", sQuote("l"), " there must be a label in ", sQuote("labels"), "!") } ## recycle arguments if needed minFrequency <- rep_len(minFrequency, nl) minNumber <- rep_len(minNumber, nl) mergeWhitelists <- mergeWhitelists[1] ## binary peak matrix (mask) m <- .as.binary.matrix(.as.matrix.MassObjectList(l)) ## whitelist w <- matrix(0L, nrow=nrow(m), ncol=ncol(m)) ## group indices by labels idx <- lapply(ll, function(x)which(labels == x)) ## collect whitelists for (i in seq_along(idx)) { wl <- .whitelist(m, idx[[i]], minFrequency=minFrequency[i], minNumber=minNumber[i]) if (sum(wl)) { if (mergeWhitelists) { ## R uses columnwise recycling w <- t(t(w) | wl) } else { ## R uses columnwise recycling w[idx[[i]], ] <- t(t(w[idx[[i]], , drop=FALSE]) | wl) } } else { warning("Empty peak whitelist for level ", sQuote(ll[i]), ".") } } ## apply whitelist w <- w & m ## turn matrix back into MassPeaks objects for (i in seq_along(l)) { j <- which(as.logical(m[i, ])) include <- which(w[i, j]) l[[i]]@mass <- l[[i]]@mass[include] l[[i]]@intensity <- l[[i]]@intensity[include] l[[i]]@snr <- l[[i]]@snr[include] } l } ## .whitelist ## helper function to create whitelists for filtering ## ## params: ## m: matrix ## rows: index of rows which should filtered ## minFrequency: double, minimal frequency of a peak to be not removed ## minNumber: double, minimal (absolute) number of peaks to be not removed ## ## returns: ## a logical vector representing the whitelist ## .whitelist <- function(m, rows, minFrequency, minNumber) { ## test arguments if (is.na(minFrequency) && is.na(minNumber)) { stop(sQuote(minFrequency), " or ", sQuote(minNumber), " has to be a meaningful number!") } if (!is.na(minFrequency) && minFrequency < 0L) { minFrequency <- 0L warning(sQuote("minFrequency"), " < 0 does not make sense! Using 0 instead.") } if (!is.na(minNumber) && minNumber < 0L) { minNumber <- 0L warning(sQuote("minNumber"), " < 0 does not make sense! Using 0 instead.") } if (!is.na(minFrequency) && !is.na(minNumber)) { warning(sQuote("minFrequency"), " and ", sQuote("minNumber"), " arguments are given. Choosing the higher one.") } ## calculate minimal number of peaks minPeakNumber <- max(minFrequency * length(rows), minNumber, na.rm=TRUE) colSums(m[rows, , drop=FALSE]) >= minPeakNumber } MALDIquant/R/as.matrix-functions.R0000644000176200001440000000173313370375051016421 0ustar liggesusers## .as.matrix.MassObjectList ## internal function to convert a list of AbstractMassObject objects into a ## matrix ## ## params: ## l: list of AbstractMassObject objects ## ## returns: ## a matrix .as.matrix.MassObjectList <- function(l) { .stopIfNotIsMassObjectList(l) mass <- .unlist(lapply(l, function(x)x@mass)) intensity <- .unlist(lapply(l, function(x)x@intensity)) uniqueMass <- sort.int(unique(mass)) n <- lengths(l) r <- rep.int(seq_along(l), n) i <- findInterval(mass, uniqueMass) m <- matrix(NA_real_, nrow=length(l), ncol=length(uniqueMass), dimnames=list(NULL, uniqueMass)) m[cbind(r, i)] <- intensity attr(m, "mass") <- uniqueMass m } ## .as.binary.matrix ## internal function to convert a matrix with NA to a binary one ## ## params: ## m: matrix ## ## returns: ## a binary matrix .as.binary.matrix <- function(m) { stopifnot(is.matrix(m)) isNA <- which(is.na(m)) m[] <- 1L m[isNA] <- 0L mode(m) <- "integer" m } MALDIquant/R/estimateNoise-methods.R0000644000176200001440000000063413370404000016741 0ustar liggesusers## MassSpectrum setMethod(f="estimateNoise", signature=signature(object="MassSpectrum"), definition=function(object, method=c("MAD", "SuperSmoother"), ...) { if (.isEmptyWarning(object)) { return(0L) } cbind(mass=object@mass, intensity=.estimateNoise(x=object@mass, y=object@intensity, method=method, ...)) }) MALDIquant/R/lines-methods.R0000644000176200001440000000034713370404000015243 0ustar liggesusers## AbstractMassObject setMethod(f="lines", signature=signature(x="AbstractMassObject"), definition=function(x, type=ifelse(isMassPeaks(x), "h", "l"), ...) { lines(x=x@mass, y=x@intensity, type, ...) }) MALDIquant/R/intensityMatrix-functions.R0000644000176200001440000000151413370375051017723 0ustar liggesusers## intensityMatrix ## converts a list of MassPeaks into an expression matrix ## ## params: ## peaks: list of MassPeaks objects ## spectra: list of MassSpectrum objects ## ## returns: ## a matrix ## intensityMatrix <- function(peaks, spectra) { ## test arguments .stopIfNotIsMassPeaksList(peaks) m <- .as.matrix.MassObjectList(peaks) ## lookup corresponding intensity values in spectra for missing peaks if (!missing(spectra)) { .stopIfNotIsMassSpectrumList(spectra) if (length(peaks) != length(spectra)) { stop("Incompatible number of spectra!") } isNa <- is.na(m) uniqueMass <- as.double(colnames(m)) approxSpectra <- lapply(spectra, approxfun, yleft=0L, yright=0L) for (i in seq_along(approxSpectra)) { m[i, isNa[i, ]] <- approxSpectra[[i]](uniqueMass[isNa[i, ]]) } } m } MALDIquant/R/warpingFunction-functions.R0000644000176200001440000000371513370375052017673 0ustar liggesusers## warpingFunction functions called by determineWarpingFunction ## ## requirements: ## A function with three arguments: x, difference, ... . ## This function has to return a function with only an argument (x) which does ## the warping. ## .warpingFunctionLowess ## lowess based determination of warping function [default] ## ## params: ## x: double, original mass ## d: double, corresponding difference to reference ## ...: additional arguments possible (see ?lowess for details) ## ## returns: ## function(x) ## .warpingFunctionLowess <- function(x, d, ...) { lo <- lowess(x=x, y=d, ...) approxfun(x=lo$x, y=lo$y, rule=2L) } ## .warpingFunctionLinear ## 1st order polynomial based determination of warping function ## ## params: ## x: double, original mass ## d: double, corresponding difference to reference ## ...: additional arguments possible (see ?lm for details) ## ## returns: ## function(x) ## .warpingFunctionLinear <- function(x, d, ...) { l <- lm(y ~ x1, data=list(x1=x, y=d), ...) co <- coef(l) function(x) { co[1L]+x*co[2L] } } ## .warpingFunctionQuadratic ## 2nd order polynomial based determination of warping function ## ## params: ## x: double, original mass ## d: double, corresponding difference to reference ## ...: additional arguments possible (see ?lm for details) ## ## returns: ## function(x) ## .warpingFunctionQuadratic <- function(x, d, ...) { l <- lm(y ~ x1+x2, data=list(x1=x, x2=x*x, y=d), ...) co <- coef(l) function(x) { co[1L]+x*co[2L]+x*x*co[3L] } } ## .warpingFunctionCubic ## 3rd order polynomial based determination of warping function ## ## params: ## x: double, original mass ## d: double, corresponding difference to reference ## ...: additional arguments possible (see ?lm for details) ## ## returns: ## function(x) ## .warpingFunctionCubic <- function(x, d, ...) { l <- lm(y ~ x1+x2+x3, data=list(x1=x, x2=x*x, x3=x*x*x, y=d), ...) co <- coef(l) function(x) { co[1L]+x*co[2L]+x*x*co[3L]+x*x*x*co[4L] } } MALDIquant/R/irregular-functions.R0000644000176200001440000000035513370375051016506 0ustar liggesusers## .irregularScore ## calculate frequency of irregular data ## ## params: ## x: double ## ## returns: ## double, frequency of irregular data ## .irregularScore <- function(x) { d <- diff(x) d <- d[-1L] < head(d, -1L) mean(d) } MALDIquant/R/onAttach.R0000644000176200001440000000044413370375052014245 0ustar liggesusers.onAttach <- function(libname, pkgname) { packageStartupMessage("\nThis is MALDIquant version ", utils::packageVersion("MALDIquant"), "\n", "Quantitative Analysis of Mass Spectrometry Data\n", " See ", sQuote("?MALDIquant"), " for more information about this package.\n") } MALDIquant/R/as.matrix-methods.R0000644000176200001440000000041713370404000016035 0ustar liggesusers## AbstractMassObject setMethod(f="as.matrix", signature=signature(x="AbstractMassObject"), definition=function(x, index) { matrix(c(x@mass[index], x@intensity[index]), ncol=2L, byrow=FALSE, dimnames=list(NULL, c("mass", "intensity"))) }) MALDIquant/R/grouper-functions.R0000644000176200001440000000647513370375051016206 0ustar liggesusers## grouper functions called by .binPeaks ## .grouperStrict ## strict grouping function ## Don't allow peaks of one sample in the same bin. ## ## params: ## mass: double, sorted mass ## intensities: double, corresponding intensities ## samples: double, corresponding sample id numbers ## tolerance: double, maximal deviation of a peak position to be ## considered as same peak ## ## returns: ## NA if further splitting is needed ## meanMass (double) if all criteria are matched ## .grouperStrict <- function(mass, intensities, samples, tolerance) { ## don't accept two or more peaks of the same sample if (anyDuplicated(samples)) { return(NA) } meanMass <- mean(mass) ## all peaks in range? if (any(abs(mass - meanMass) / meanMass > tolerance)) { return(NA) } meanMass } ## .grouperRelaxed ## relaxed grouping function (more than one peak of one sample per bin possible) ## choose highest peak in range. ## ## params: ## mass: double, sorted mass ## intensities: double, corresponding intensities ## samples: double, corresponding sample id numbers ## tolerance: double, maximal deviation of a peak position to be ## considered as same peak ## meanMass: double, mean of mass (new peak position) ## ## returns: ## NA if further splitting is needed ## meanMass (double) if all criteria are matched ## .grouperRelaxed <- function(mass, intensities, samples, tolerance) { meanMass <- mean(mass) ## all peaks in range? if (any(abs(mass - meanMass) / meanMass > tolerance)) { return(NA) } ## choose highest peak in duplicates if (anyDuplicated(samples)) { s <- sort.int(intensities, decreasing=TRUE, index.return=TRUE) samples <- samples[s$ix] noDup <- !duplicated(samples) noDup[s$ix] <- noDup ## replace mass corresponding to highest intensity mass[noDup] <- mean(mass[noDup]) return(mass) } meanMass } ## .grouperRelaxedHighestAtReference ## relaxed grouping function (more than one peak of one sample per bin possible) ## Choose highest test sample peaks in range around a reference peak. ## ## params: ## mass: double, sorted mass ## intensities: double, corresponding intensities ## samples: double, corresponding sample id numbers (1==reference) ## tolerance: double, maximal deviation of a peak position to be ## considered as same peak ## ## returns: ## NA if further splitting is needed ## meanMass (double) if all criteria are matched else 0 ## .grouperRelaxedHighestAtReference <- function(mass, intensities, samples, tolerance) { ## any reference peaks in current samples? ref <- samples == 1L nRef <- sum(ref) if (nRef == 0L) { ## no reference peak return(0L) } else if (nRef > 1L) { ## too many reference peaks => further splitting needed return(NA) } ## only one mass should left as reference mass meanMass <- mass[ref] ## all peaks in range? if (any(abs(mass - meanMass) / meanMass > tolerance)) { return(NA) } ## choose highest peak in duplicates if (anyDuplicated(samples)) { s <- sort.int(intensities, decreasing=TRUE, index.return=TRUE) sSamples <- samples[s$ix] noDup <- !duplicated(sSamples) sMass <- double(length(sSamples)) sMass[noDup] <- meanMass mass[s$ix] <- sMass return(mass) } meanMass } MALDIquant/R/constructor-functions.R0000644000176200001440000000177213370375051017103 0ustar liggesusers## MassSpectrum ## createMassSpectrum ## default constructor: MassSpectrum class ## ## params: ## mass: vector, spectrum mass ## intensity: vector, spectrum intensities ## metaData: list, metadata ## ## returns: ## a MassSpectrum object ## createMassSpectrum <- function(mass, intensity, metaData=list()) { object <- new(Class="MassSpectrum", mass=mass, intensity=intensity, metaData=metaData) .reorder(object) } ## end of MassSpectrum ## MassPeaks ## createMassPeaks ## default constructor: MassPeaks class ## ## params: ## mass: vector, peaks mass ## intensity: vector, peaks intensities ## snr: vector, peaks snr ## metaData: list, metadata ## ## returns: ## a MassPeaks object ## createMassPeaks <- function(mass, intensity, snr=rep.int(NA_real_, length(intensity)), metaData=list()) { object <- new(Class="MassPeaks", mass=mass, intensity=intensity, snr=snr, metaData=metaData) .reorder(object) } ## end of MassPeaks MALDIquant/R/isEmpty-methods.R0000644000176200001440000000116413370404000015561 0ustar liggesusers## AbstractMassObject setMethod(f="isEmpty", signature=signature(x="AbstractMassObject"), definition=function(x) { !sum(as.double(x@intensity), na.rm=TRUE) }) setMethod(f=".isEmptyWarning", signature=signature(x="AbstractMassObject"), definition=function(x) { if (isEmpty(x)) { msg <- paste0(class(x)[1L], " object") if (!is.null(x@metaData$file)) { msg <- paste0(msg, " (file: ", x@metaData$file, ")") } parentCall <- sys.call(-1L) warning("In ", deparse(parentCall), " : ", msg, " is empty!", call.=FALSE) return(TRUE) } FALSE }) MALDIquant/R/isMassObjectList-functions.R0000644000176200001440000000232413370375051017732 0ustar liggesusers.isMassObjectList <- function(x) { if (!is.list(x)) { return(FALSE) } length(x) && all(unname(vapply(x, .isMassObject, logical(1L)))) } .stopIfNotIsMassObjectList <- function(x) { if (!.isMassObjectList(x)) { parentCall <- deparse(sys.call(-1L)) stop(parentCall, " : ", sQuote(deparse(substitute(x))), " is no list of MALDIquant::AbstractMassObject objects!", call.=FALSE) } TRUE } isMassSpectrumList <- function(x) { if (!is.list(x)) { return(FALSE) } length(x) && all(unname(vapply(x, isMassSpectrum, logical(1L)))) } .stopIfNotIsMassSpectrumList <- function(x) { if (!isMassSpectrumList(x)) { parentCall <- deparse(sys.call(-1L)) stop(parentCall, " : ", sQuote(deparse(substitute(x))), " is no list of MALDIquant::MassSpectrum objects!", call.=FALSE) } TRUE } isMassPeaksList <- function(x) { if (!is.list(x)) { return(FALSE) } length(x) && all(unname(vapply(x, isMassPeaks, logical(1L)))) } .stopIfNotIsMassPeaksList <- function(x) { if (!isMassPeaksList(x)) { parentCall <- deparse(sys.call(-1L)) stop(parentCall, " : ", sQuote(deparse(substitute(x))), " is no list of MALDIquant::MassPeaks objects!", call.=FALSE) } TRUE } MALDIquant/R/estimateBaseline-methods.R0000644000176200001440000000074613370404000017412 0ustar liggesusers## MassSpectrum setMethod(f="estimateBaseline", signature=signature(object="MassSpectrum"), definition=function(object, method=c("SNIP", "TopHat", "ConvexHull", "median"), ...) { if (.isEmptyWarning(object)) { return(NA) } cbind(mass=object@mass, intensity=.estimateBaseline(x=object@mass, y=object@intensity, method=method, ...)) }) MALDIquant/R/doByLabels-functions.R0000644000176200001440000000203013370375051016522 0ustar liggesusers## .doByLabels ## run a specific function labelwise ## ## params: ## l: list of AbstractMassObject objects ## labels: factor, labels for samples ## fun: function ## ## returns: ## list of modified AbstractMassObject objects ## .doByLabels <- function(l, labels, FUN, ..., mc.cores=1L) { ## test parameters .stopIfNotIsMassObjectList(l) FUN <- match.fun(FUN) if (!missing(labels)) { ## drop unused levels and turn argument into factor if (is.factor(labels)) { labels <- droplevels(labels) } else { ## preserve order in labels labels <- factor(labels, levels=unique(labels)) } if (length(labels) != length(l)) { stop("For each item in ", sQuote("l"), " there must be a label in ", sQuote("labels"), "!") } ## replace tapply by split to preserve order tmp <- .lapply(split(unlist(l), labels), FUN=FUN, ..., mc.cores=mc.cores) k <- unlist(tmp) if (length(k) != length(tmp)) { k <- unsplit(tmp, labels) } } else { k <- FUN(l, ...) } k } MALDIquant/R/monoisotopicPeaks-methods.R0000644000176200001440000000117713370375051017656 0ustar liggesusers## MassPeaks setMethod(f="monoisotopicPeaks", signature=signature(object="MassPeaks"), definition=function(object, minCor=0.95, tolerance=1e-4, distance=1.00235, size=3L:10L) { object[.monoisotopic(x=mass(object), y=intensity(object), minCor=minCor, tolerance=tolerance, distance=distance, size=size)] }) ## list setMethod(f="monoisotopicPeaks", signature=signature(object="list"), definition=function(object, ...) { ## test arguments .stopIfNotIsMassPeaksList(object) .lapply(object, monoisotopicPeaks, ...) }) MALDIquant/R/averageMassSpectra-functions.R0000644000176200001440000000363113370375051020272 0ustar liggesusers## averageMassSpectra ## averages MassSpectrum objects ## ## params: ## l: list of MassSpectrum objects ## labels: factor, labels for samples ## method: aggregation method ## ## returns: ## a new MassSpectrum object or a list of new MassSpectra objects ## averageMassSpectra <- function(l, labels, method=c("mean", "median", "sum"), ...) { ## test parameters .stopIfNotIsMassSpectrumList(l) method <- match.arg(method) fun <- switch(method, "mean" = { colMeans }, "median" = { .colMedians }, "sum" = { colSums } ) .doByLabels(l=l, labels=labels, FUN=.averageMassSpectra, fun=fun, ...) } ## .averageMassSpectra ## average MassSpectrum objects ## ## params: ## l: list of MassSpectrum objects ## fun: aggregation function ## ignore.na: ignore NA/set them to 0 ## ## returns: ## a new MassSpectrum object ## .averageMassSpectra <- function(l, fun=colMeans, mergeMetaData=TRUE) { fun <- match.fun(fun) ## merge metaData if (mergeMetaData) { metaData <- .mergeMetaData(lapply(l, function(x)x@metaData)) } else { metaData <- list() } ## use the first non empty spectrum as reference i <- which(!vapply(l, isEmpty, logical(1L)))[1L] if (!is.na(i)) { mass <- l[[i]]@mass } else { mass <- NA_real_ } ## interpolate not existing masses approxSpectra <- lapply(l, approxfun) ## get interpolated intensities intensityList <- lapply(approxSpectra, function(x)x(mass)) ## create a matrix which could merged m <- do.call(rbind, intensityList) ## merge intensities intensity <- fun(m, na.rm=TRUE) ## create an empty spectrum if all intensities are NaN if (is.nan(intensity[1L])) { intensity <- double() mass <- double() } createMassSpectrum(mass=mass, intensity=intensity, metaData=metaData) } MALDIquant/R/deprecated-functions.R0000644000176200001440000000343113370375051016610 0ustar liggesusers## .deprecated ## mark a function as deprecated ## throw an error if current major version or minor is larger than major, or ## minor+1; if minor == minor+1L wrote warning; otherwise message ## ## params: ## version: last working version ## ...: arguments to be passed to stop, warning, message ## ## returns: ## nothing ## .deprecated <- function(version, ...) { current <- packageVersion("MALDIquant") version <- as.package_version(version) if (current$major > version$major || current$minor > version$minor + 1L) { stop(..., call.=FALSE) } else if (current$minor > version$minor) { warning(..., call.=FALSE) } else { message(...) } invisible() } ## .deprecatedFunction ## mark a function as deprecated and show default message ## ## params: ## version: last working version ## old: old function ## new: new function ## ## returns: ## nothing ## .deprecatedFunction <- function(version, old, new) { if (missing(old)) { old <- sys.call(-1L)[[1]] } msg <- paste0("\"", old , "\" is deprecated.") if (!missing(new)) { msg <- paste0(msg, "\nUse \"", new, "\" instead. See help(\"", new ,"\").") } .deprecated(version, msg) } ## .deprecatedArgument ## mark an function as deprecated and show default message ## ## params: ## version: last working version ## old: old argument ## new: new argument ## help: help file ## ## returns: ## nothing ## .deprecatedArgument <- function(version, old, new, help) { msg <- paste0("Argument \"", old, "\" is deprecated.") if (!missing(new)) { if (missing(help)) { parentCall <- sys.call(-1L)[[1]] } else { parentCall <- call(help)[[1]] } msg <- paste0(msg, "\nUse \"", new, "\" instead. See help(\"", deparse(parentCall),"\").") } .deprecated(version, msg) } MALDIquant/R/merge-functions.R0000644000176200001440000000413713370375051015613 0ustar liggesusers## mergeMassPeaks ## merge MassPeaks objects ## ## params: ## l: list of MassPeaks objects ## labels: factor, labels for samples ## fun: merge function ## ## returns: ## a new MassPeaks object or a list of new MassPeaks objects ## mergeMassPeaks <- function(l, labels, method=c("mean", "median", "sum"), ignore.na=TRUE, ...) { ## test arguments .stopIfNotIsMassPeaksList(l) method <- match.arg(method) fun <- switch(method, "mean" = { colMeans }, "median" = { .colMedians }, "sum" = { colSums } ) .doByLabels(l=l, labels=labels, FUN=.mergeMassPeaks, fun=fun, ignore.na=ignore.na, ...) } ## .mergeMassPeaks ## merge MassPeaks objects ## ## params: ## l: list of MassPeaks objects ## fun: merge function ## ## returns: ## a new MassPeaks object ## .mergeMassPeaks <- function(l, fun=colMeans, ignore.na=TRUE) { fun <- match.fun(fun) ## create a matrix which could merged m <- .as.matrix.MassObjectList(l) mass <- attr(m, "mass") ## avoid named intensity/snr slot colnames(m) <- NULL isNA <- is.na(m) if (!ignore.na) { m[isNA] <- 0L } ## merge intensities intensity <- fun(m, na.rm=TRUE) ## merge snr for (i in seq_along(l)) { m[i, !isNA[i, ]] <- l[[i]]@snr } snr <- fun(m, na.rm=TRUE) ## merge metaData metaData <- .mergeMetaData(lapply(l, function(x)x@metaData)) createMassPeaks(mass=mass, intensity=intensity, snr=snr, metaData=metaData) } ## merge different metaData by equal list names ## ## params ## m: list of metaData ## ## returns: ## merged list ## .mergeMetaData <- function(m) { .flat <- function(x)unname(unlist(x)) nm <- names(m[[1L]]) names(nm) <- nm lapply(nm, function(n) { cur <- m[[1L]][[n]] all <- lapply(m, "[[", n) len <- lengths(all) if (!all(length(cur) == len) || !all(.flat(cur) == .flat(all))) { if (!is.list(cur)) { all <- unlist(all) } return(unname(all)) } else { return(cur) } }) } MALDIquant/R/determineWarpingFunctions-functions.R0000644000176200001440000001612213376771454021723 0ustar liggesusers## determineWarpingFunctions ## calculates warping functions for each MassPeaks object ## ## params: ## l: list, list of MassPeaks objects ## reference: MassPeaks, a reference MassPeaks object to which all other ## MassPeaks objects should be aligned ## tolerance: double, maximal deviation of a peak position to be ## considered as same peak ## method: choose type of base warping function ## allowNoMatches: logical, don't throw an error if a single MassPeaks object ## can't match to the reference. ## plot: logical, plots warping function ## ## returns: ## a list of warping functions ## determineWarpingFunctions <- function(l, reference, tolerance=0.002, method=c("lowess", "linear", "quadratic", "cubic"), allowNoMatches=FALSE, plot=FALSE, plotInteractive=FALSE, ...) { ## test arguments if (!isMassPeaksList(l) && !isMassPeaks(l)) { stop(sQuote("l"), " is no list of MALDIquant::MassPeaks objects!") } method <- match.arg(method) if (allowNoMatches) { nomatchReporter <- warning } else { nomatchReporter <- stop } warpingFunction <- switch(method, "lowess" = { .warpingFunctionLowess }, "linear" = { .warpingFunctionLinear }, "quadratic" = { .warpingFunctionQuadratic }, "cubic" = { .warpingFunctionCubic } ) minPeaks <- switch(method, "lowess" = 2L, "linear" = 2L, "quadratic" = 3L, "cubic" = 4L ) optArgs <- list(...) ## find reference peaks if (missing(reference)) { arguments <- list(l=l, tolerance=tolerance) argumentNames <- c("method", "minFrequency") arguments <- modifyList(arguments, optArgs[argumentNames]) optArgs[argumentNames] <- NULL reference <- do.call(referencePeaks, arguments) } if (isEmpty(reference)) { stop("Reference MassPeaks object contains no peaks!") } if (length(reference) < 10L) { warning("Reference MassPeaks object contains very few peaks (n == ", length(reference), "). The warping could be instable. ", "Consider to reduce ", sQuote("minFrequency"), " or/and to increase ", sQuote("tolerance"), ".") } ## fetch plot.default arguments (debug plot) if (plot) { plotNames <- c("xlim", "ylim", "xlab", "ylab", "type", "lwd", "col", "col.sub", "cex.main", "cex.sub", "main", "sub") givenPlotArgs <- optArgs[plotNames] optArgs[plotNames] <- NULL } ## reference has to become sample no 1 tmpPeakList <- c(reference, l) ## same procedure as in binPeaks ## fetch all mass mass <- unname(.unlist(lapply(tmpPeakList, function(x)x@mass))) ## fetch all intensities intensities <- .unlist(lapply(tmpPeakList, function(x)x@intensity)) ## store original mass sample number/id samples <- rep.int(seq_along(tmpPeakList), lengths(tmpPeakList)) ## sort values by mass s <- sort.int(mass, index.return=TRUE) mass <- s$x intensities <- intensities[s$ix] samples <- samples[s$ix] ## run peak binning and use relaxed grouper which choose the highest test ## sample peaks binnedMass <- .binPeaks(mass=mass, intensities=intensities, samples=samples, tolerance=tolerance, grouper=.grouperRelaxedHighestAtReference) ## group mass/intensities by sample ids lIdx <- split(seq_along(binnedMass), samples) ## calculate differences binnedMass[binnedMass == 0L] <- NA_real_ d <- binnedMass - mass ## each function which determines a warping function uses these 3 arguments arguments <- list(x=NULL, d=NULL) if (length(optArgs)) { arguments <- c(arguments, optArgs) } ## determine warping functions warpingFunctions <- lapply(lIdx[-1L], function(i) { ## fetch changed mass == aligned peaks notNA <- !is.na(binnedMass[i]) arguments$x <- mass[i][notNA] ## original mass arguments$d <- d[i][notNA] ## difference to reference if (!length(arguments$x)) { nomatchReporter("Could not match any peak in spectrum ", samples[i[1L]] - 1L, " to a reference peak.") NA } else if (length(arguments$x) < minPeaks) { nomatchReporter("Could not match enough peaks in spectrum", samples[i[1L]] - 1L, "to the reference peaks.\n", minPeaks, " matches required, just ", length(arguments$x), " found.") NA } else { do.call(warpingFunction, arguments) } }) ## clean misleading names (names == idx+1 because reference is idx == 1) names(warpingFunctions) <- NULL ## number of matched peaks nmatch <- vapply(split(d, samples)[-1L], function(dd) { sum(!is.na(dd), na.rm=TRUE) }, NA_real_, USE.NAMES=FALSE) names(nmatch) <- names(l) attr(warpingFunctions, "nmatch") <- nmatch ## debug plot if (plot) { ## non interactive device (pdf, png, ...) available? isNonInteractivePlot <- dev.cur() != 1L && !dev.interactive() if (!isNonInteractivePlot && !plotInteractive) { warning(sQuote("plot"), " is ", sQuote("TRUE"), " but no non-interactive device is available. ", "Using pdf() to create a default one.") pdf(paper="a4r", width=12) } else if (dev.cur() == 1L && plotInteractive) { warning(sQuote("plot"), " is ", sQuote("TRUE"), " but no interactive device is available. ", "Using dev.new() to create a default one.") dev.new() } ## set default plot arguments plotArgsDefaults <- list(xlim=range(mass), ylim=range(d, na.rm=TRUE), xlab="mass", ylab="difference", type="p", lwd=1L, col=1L, cex.main=0.8, cex.sub=0.75, col.sub="#808080") plotArgs <- modifyList(plotArgsDefaults, givenPlotArgs) nReference <- length(reference) x <- plotArgs$xlim[1L]:plotArgs$xlim[2L] ## workaround to avoid error: ## Error in l[[i]] : this S4 class is not subsettable if (!is.list(l)) { l <- list(l) } for (i in seq_along(l)) { ## fetch changed mass == aligned peaks notNA <- !is.na(binnedMass[lIdx[[i + 1L]]]) if (is.null(givenPlotArgs$main)) { plotArgs$main <- paste0("sample ", i, " vs reference\n", "(matched peaks: ", sum(notNA), "/", nReference, ")") } if (is.null(givenPlotArgs$sub)) { plotArgs$sub <- l[[i]]@metaData$file } ## plot reference vs sample plotArgs$x <- l[[i]]@mass[notNA] plotArgs$y <- d[lIdx[[i + 1L]]][notNA] do.call(plot.default, plotArgs) ## draw warping function lines(x, warpingFunctions[[i]](x), lwd=plotArgs$lwd, col=plotArgs$col) } if (!isNonInteractivePlot && !plotInteractive) { dev.off() } } warpingFunctions } MALDIquant/R/coordinates-methods.R0000644000176200001440000000330613370375051016456 0ustar liggesusers## AbstractMassObject setMethod(f="coordinates", signature=signature(object="AbstractMassObject"), definition=function(object, ...) { object@metaData$imaging$pos }) ## AbstractMassObject setReplaceMethod(f="coordinates", signature=signature(object="AbstractMassObject", value="numeric"), definition=function(object, value) { if (!length(value) %in% c(2L, 3L)) { stop("2 or 3 coordinates are needed!") } object@metaData$imaging$pos <- value object }) setReplaceMethod(f="coordinates", signature=signature(object="AbstractMassObject", value="matrix"), definition=function(object, value) { if (!ncol(value) %in% c(2L, 3L)) { stop("2 or 3 coordinates are needed!") } if (nrow(value) != 1L) { warning("all rows but the first are ignored!") } object@metaData$imaging$pos <- value[1L, ] object }) ## list setMethod(f="coordinates", signature=signature(object="list"), definition=function(object, adjust=FALSE) { ## test arguments .stopIfNotIsMassObjectList(object) m <- do.call(rbind, lapply(object, coordinates)) if (!is.null(m)) { colnames(m) <- c("x", "y", "z")[seq_len(ncol(m))] if (adjust) { m <- apply(m, MARGIN=2L, function(x)x - min(x) + 1L) } } m }) ## list setReplaceMethod(f="coordinates", signature=signature(object="list", value="matrix"), definition=function(object, value) { ## test arguments .stopIfNotIsMassObjectList(object) .mapply("coordinates<-", object, split(value, row(value))) }) MALDIquant/R/valid-methods.R0000644000176200001440000000211213370404000015220 0ustar liggesusers## AbstractMassObject .validAbstractMassObject <- function(object) { if (length(object@mass) != length(object@intensity)) { return(paste0("Lengths of mass (", length(object@mass), ") and intensity (", length(object@intensity), ") have to be equal.")) } if (is.numeric(object@mass) && length(object@mass) && any(object@mass < 0L)) { warning("Negative mass values found.") } if (is.numeric(object@intensity) && !isEmpty(object) && any(object@intensity < 0L)) { warning("Negative intensity values found.") } if (is.unsorted(object@mass)) { warning("Unsorted mass values found.") } TRUE } setValidity("AbstractMassObject", method=.validAbstractMassObject) .validMassPeaks <- function(object) { if (length(object@intensity) != length(object@snr)) { return(paste0("Lengths of intensity (", length(object@intensity), ") and snr (", length(object@snr), ") have to be equal.")) } .validAbstractMassObject(object) } setValidity("MassPeaks", method=.validMassPeaks) MALDIquant/R/smoothingFilters-functions.R0000644000176200001440000000641613370375052020057 0ustar liggesusers## .movingAverage ## runs a simple 2-side moving average. ## ## params: ## y: double, intensity values ## halfWindowSize: integer, half window size ## weighted: boolean, if TRUE then applies weighted average, ## otherwise unweighted average. ## returns: ## double ## .movingAverage <- function(y, halfWindowSize=2L, weighted=FALSE) { .stopIfNotIsValidHalfWindowSize(halfWindowSize, n=length(y)) windowSize <- 2L * halfWindowSize + 1L if (weighted) { weights <- 1 / 2^abs(-halfWindowSize:halfWindowSize) } else { weights <- rep.int(1L, windowSize) } .filter(y, hws=halfWindowSize, coef=matrix(weights / sum(weights), nrow=windowSize, ncol=windowSize, byrow=TRUE)) } ## .savitzkyGolay ## runs a savitzky golay filter ## ## Savitzky, A., & Golay, M. J. (1964). Smoothing and differentiation of data ## by simplified least squares procedures. Analytical chemistry, 36(8), 1627-1639. ## ## params: ## y: double, intensity values ## halfWindowSize: integer, half window size. ## polynomialOrder: integer, polynomial order of sg-filter ## ## returns: ## double ## .savitzkyGolay <- function(y, halfWindowSize=10L, polynomialOrder=3L) { .stopIfNotIsValidHalfWindowSize(halfWindowSize, n=length(y)) windowSize <- 2L * halfWindowSize + 1L if (windowSize < polynomialOrder) { stop("The window size has to be larger than the polynomial order.") } .filter(y, hws=halfWindowSize, coef=.savitzkyGolayCoefficients(m=halfWindowSize, k=polynomialOrder)) } ## .savitzkyGolayCoefficients ## ## Savitzky, A., & Golay, M. J. (1964). Smoothing and differentiation of data ## by simplified least squares procedures. Analytical chemistry, 36(8), 1627-1639. ## ## Implementation based on: ## Steinier, J., Termonia, Y., & Deltour, J. (1972). Comments on Smoothing and ## differentiation of data by simplified least square procedure. ## Analytical Chemistry, 44(11), 1906-1909. ## ## Implemention of left/right extrema based on: ## sgolay in signal 0.7-3/R/sgolay.R by Paul Kienzle ## modified by Sebastian Gibb ## ## params: ## m: integer, half window size ## k: integer, polynomial order (k == 0 = moving average) .savitzkyGolayCoefficients <- function(m, k=3L) { k <- 0L:k nm <- 2L * m + 1L nk <- length(k) K <- matrix(k, nrow=nm, ncol=nk, byrow=TRUE) ## filter is applied to -m:m around current data point ## to avoid removing (NA) of left/right extrema ## lhs: 0:2*m ## rhs: (n-2m):n ## filter matrix contains 2*m+1 rows ## row 1:m == lhs coef ## row m+1 == typical sg coef ## row (n-m-1):n == rhs coef F <- matrix(double(), nrow=nm, ncol=nm) for (i in seq_len(m + 1L)) { M <- matrix(seq_len(nm) - i, nrow=nm, ncol=nk, byrow=FALSE) X <- M^K T <- solve(t(X) %*% X) %*% t(X) F[i, ] <- T[1L, ] } ## rhs (row (n-m):n) are equal to reversed lhs F[(m + 2L):nm, ] <- rev(F[seq_len(m), ]) F } ## .filter ## remove time series attributes and NA at left/right extrema .filter <- function(x, hws, coef) { n <- length(x) w <- 2L * hws + 1L y <- stats::filter(x=x, filter=coef[hws + 1L, ], sides=2L) attributes(y) <- NULL ## fix left/right extrema y[seq_len(hws)] <- head(coef, hws) %*% head(x, w) y[(n - hws + 1L):n] <- tail(coef, hws) %*% tail(x, w) y } MALDIquant/R/plotMsiSlice-functions.R0000644000176200001440000000713013370375052017120 0ustar liggesusers.plotMsiSlice <- function(x, center=attr(x, "center"), tolerance=attr(x, "tolerance"), colRampList=list(colorRamp(c("black", "blue", "green", "yellow", "red"))), xlab="", ylab="", interpolate=FALSE, scale=TRUE, legend=scale, alignLabels=FALSE, label.cex=0.75, label.col=NULL, ...) { stopifnot(is.array(x)) d <- dim(x) tolerance <- rep_len(tolerance, length(center)) xlim <- c(0L, d[1L] + (2L * d[3L] * legend)) ylim <- c(0L, d[2L]) ## prepare plot area plot(NA, type="n", xlim=xlim, ylim=ylim, axes=FALSE, xlab=xlab, ylab=ylab, asp=1L, ...) if (d[3L] > 1L) { col <- x for (i in seq_len(d[3L])) { col[,, i] <- .colorMatrix(.array2matrix(x, z=i), colRamp=colRampList[[i]], scale=scale) } x <- .combineColorMatrices(x, col) } else { x <- .colorMatrix(.array2matrix(x), colRamp=colRampList[[1L]], scale=scale) } ## plot image .rasterSlice(x, interpolate=interpolate) if (legend) { if (!is.null(center)) { labels <- .mapply(function(cnt, tol)bquote(.(cnt) %+-% .(tol)), cnt=center, tol=tolerance) strh <- max(strheight(labels, cex=label.cex)) * 1.2 } else { labels <- character(d[3L]) strh <- 0L } xleft <- xlim[2L] - seq(from=d[3L] * 2L - 1L, to=1L, by=-2L) xright <- xleft + 1L ybottom <- rep.int(d[3L] * strh, d[3L]) ytext <- (d[3L] - 1L):0L * strh xtext <- if (alignLabels) { rep.int(xlim[2L], 3L) } else { xright } if (is.null(label.col) && d[3L] == 1L) { label.col <- "black" } else if (is.null(label.col) && d[3L] > 1L) { label.col <- lapply(colRampList, function(x).rgb(x(1L))) } for (i in seq_len(d[3L])) { .msiLegend(xleft=xleft[i], xright=xright[i], ybottom=ybottom[1L], ytop=ylim[2L], colRamp=colRampList[[i]], interpolate=interpolate) text(x=xtext[i], y=ytext[i], labels=as.expression(labels[i]), col=label.col[[i]], cex=label.cex, adj=c(1L, 0L)) } } } .rasterSlice <- function(x, interpolate=FALSE) { rasterImage(as.raster(t(x)), xleft=0L, xright=nrow(x), ybottom=0L, ytop=ncol(x), interpolate=interpolate) } .array2matrix <- function(a, z=1L) { ## subset function that preserves a matrix even if x or y 1 ## ([,,drop=TRUE]) creates a vector d <- dim(a) matrix(a[,, z, drop=TRUE], nrow=d[1L], ncol=d[2L]) } .msiLegend <- function(xleft, xright, ybottom, ytop, colRamp=colorRamp(c("black", "blue", "green", "yellow", "red")), interpolate=FALSE) { gradient <- matrix(.rgb(colRamp(seq.int(1L, 0L, length.out=100L))), ncol=1L) rect(xleft=xleft, xright=xright, ybottom=ybottom, ytop=ytop, col="black") rasterImage(as.raster(gradient), xleft=xleft, xright=xright, ybottom=ybottom, ytop=ytop, interpolate=interpolate) } .colorMatrix <- function(x, colRamp, scale=TRUE) { if (scale) { x <- x / max(x, na.rm=TRUE) } notNA <- which(!is.na(x)) x[notNA] <- .rgb(colRamp(x[notNA])) x } .combineColorMatrices <- function(x, col) { i <- apply(x, 2L, max.col, ties.method="first") j <- cbind(x=rep.int(seq_len(nrow(x)), ncol(x)), y=rep(seq_len(ncol(x)), each=nrow(x)), z=as.vector(i)) y <- .array2matrix(col) y[] <- col[j] y } .rgb <- function(x) { rgb(x, maxColorValue=255L) } MALDIquant/R/removeBaseline-methods.R0000644000176200001440000000150513370404000017066 0ustar liggesusers## MassSpectrum setMethod(f="removeBaseline", signature=signature(object="MassSpectrum"), definition=function(object, method=c("SNIP", "TopHat", "ConvexHull", "median"), ...) { ## empty spectrum? if (.isEmptyWarning(object)) { return(object) } ## estimate baseline baseline <- .estimateBaseline(x=object@mass, y=object@intensity, method=method, ...) ## substract baseline object@intensity <- object@intensity - baseline object }) ## list setMethod(f="removeBaseline", signature=signature(object="list"), definition=function(object, ...) { ## test arguments .stopIfNotIsMassSpectrumList(object) .mapply(removeBaseline, object, ...) }) MALDIquant/R/intensity-methods.R0000644000176200001440000000121113370404000016146 0ustar liggesusers## AbstractMassObject setMethod(f="intensity", signature=signature(object="AbstractMassObject"), definition=function(object, ...) { object@intensity }) ## AbstractMassObject setReplaceMethod(f="intensity", signature=signature(object="AbstractMassObject", value="numeric"), definition=function(object, value) { if (length(object@intensity) == length(value)) { object@intensity <- as.double(value) } else { stop("Lengths of intensity(", length(object@intensity), ") and value (", length(value), ") have to be equal.") } object }) MALDIquant/R/plot-methods.R0000644000176200001440000000263413370404000015110 0ustar liggesusers## AbstractMassObject setMethod(f="plot", signature=signature(x="AbstractMassObject", y="missing"), definition=function(x, col="black", xlab=expression(italic(m/z)), ylab="intensity", type=ifelse(isMassPeaks(x), "h", "l"), xlim=c(ifelse(length(x@mass), min(x@mass, na.rm=TRUE), 0L), ifelse(length(x@mass), max(x@mass, na.rm=TRUE), 1L)), ylim=c(0, ifelse(length(x@intensity), max(x@intensity, na.rm=TRUE), 1L)), main=x@metaData$name, sub=x@metaData$file, cex.sub=0.75, col.sub="#808080", ...) { if (all(sub == x@metaData$file) && length(x@metaData$file) > 1L) { sub <- paste0(ifelse(isMassSpectrum(x), "averaged spectrum", "merged peaks"), " composed of ", length(x@metaData$file), " ", ifelse(isMassSpectrum(x), "MassSpectrum", "MassPeaks"), " objects") } plot(x=x@mass, y=x@intensity, col=col, type=type, xlab=xlab, ylab=ylab, xlim=xlim, ylim=ylim, main=main, sub=sub, cex.sub=cex.sub, col.sub=col.sub, ...) }) MALDIquant/R/monoisotopic-functions.R0000644000176200001440000001171313370375051017234 0ustar liggesusers#' .pseudoCluster #' #' Find possible isotopic cluster in mass/mz data. #' #' @param x double, mass #' @param size integer, cluster size, number of peaks per cluster #' @param distance double, distance between isotopes (mass of a neutron; see #' Park et al 2008); could be of length > 1 (if > 1: order will affect later #' removal in .monoisotopicPattern). #' @param tolerance double, mass tolerance #' @return a matrix of indices (nrow(x) == n) of potential clusters #' @references #' K. Park, J.Y. Yoon, S. Lee, E. Paek, H. Park, H.J. Jung, and S.W. Lee. 2008. #' Isotopic peak intensity ratio based algorithm for determination of isotopic #' clusters and monoisotopic masses of polypeptides from high-resolution #' mass spectrometric data. #' Analytical Chemistry, 80: 7294-7303. #' @noRd .pseudoCluster <- function(x, size=3L, distance=1.00235, tolerance=1e-4) { if (size < 2L) { stop("The ", sQuote("size"), " of a cluster has to be at least 2!") } mm <- matrix(x, nrow=size, ncol=length(x) * length(distance), byrow=TRUE) ms <- mm + (rep(distance, each=size) * 0L:(size - 1L)) i <- match.closest(ms, x, tolerance=mm * tolerance) dim(i) <- dim(ms) i[, !is.na(colSums(i)), drop=FALSE] } #' .F #' #' Map mass to poisson mean/lambda. #' #' @param mass double, mass from experimental peak list #' @return double suitable to pass to `dpois` #' @references #' E.J. Breen, F.G. Hopwood, K.L. Williams, and M.R. Wilkins. 2000. #' Automatic poisson peak harvesting for high throughput protein identification. #' Electrophoresis 21 (2000): 2243-2251. #' @noRd .F <- function(x)0.000594 * x + 0.03091 #' .P #' #' Model isotopic distribution by poisson distribution. #' #' @param mass double, mass from experimental peak list #' @param isotopes integer, which isotopes #' @return double, isotopic distribution #' @references #' E.J. Breen, F.G. Hopwood, K.L. Williams, and M.R. Wilkins. 2000. #' Automatic poisson peak harvesting for high throughput protein identification. #' Electrophoresis 21 (2000): 2243-2251. #' @noRd .P <- function(x, isotopes)dpois(isotopes, .F(x)) #' .Psum #' #' Model isotopic distribution by poisson distribution and sum to 1 (similar to #' TIC). #' #' @param mass double, mass from experimental peak list #' @param isotopes integer, which isotopes #' @return double, isotopic distribution #' @references #' E.J. Breen, F.G. Hopwood, K.L. Williams, and M.R. Wilkins. 2000. #' Automatic poisson peak harvesting for high throughput protein identification. #' Electrophoresis 21 (2000): 2243-2251. #' @noRd .Psum <- function(x, isotopes) { ni <- length(isotopes) nx <- length(x) p <- .P(rep.int(x, rep.int(ni, nx)), isotopes) dim(p) <- c(ni, nx) t(t(p) / colSums(p)) } #' .monoisotopicPattern #' #' Model isotopic distribution by poisson distribution. #' #' @param x double, mass from experimental peak list #' @param y double, intensity from experimental peak list #' @param tolerance double, mass tolerance for .pseudoCluster #' @param minCor double, minimal correlation between experimental and model #' intensities #' @param distance double, distance between isotopes (mass of a neutron; see #' Park et al 2008); could be of length > 1; if length > 1 the order matters. #' The first distance elements are prefered (the last elements are possible #' removed because the contain duplicated indices). #' @param size integer, cluster size (number of peaks for a possible cluster), #' see .pseudoCluster #' @return matrix, index of monoisotopic masses in first row #' @references #' E.J. Breen, F.G. Hopwood, K.L. Williams, and M.R. Wilkins. 2000. #' Automatic poisson peak harvesting for high throughput protein identification. #' Electrophoresis 21 (2000): 2243-2251. #' @noRd .monoisotopicPattern <- function(x, y, minCor=0.95, tolerance=1e-4, distance=1.00235, size=3L) { pc <- .pseudoCluster(x, size=size, distance=distance, tolerance=tolerance) y <- y[pc] dim(y) <- dim(pc) y <- t(t(y)/colSums(y)) p <- .Psum(x[pc[1L,]], isotopes=0L:(size-1L)) cr <- .colCors(y, p) pc <- pc[, cr > minCor, drop=FALSE] pc[duplicated(as.vector(pc))] <- NA_real_ pc[, !is.na(colSums(pc)), drop=FALSE] } #' .monoisotopic #' #' Loop through multiple .monoisotopicPattern outputs and remove duplicated #' peaks. #' #' @param x double, mass from experimental peak list #' @param y double, intensity from experimental peak list #' @param size integer vector, cluster size #' @param \ldots further arguments passed to .monoisotopicPattern #' @return double, index of monoisotopic masses #' @noRd .monoisotopic <- function(x, y, size=3L:10L, ...) { if (length(x) && length(x) == length(y)) { pattern <- lapply(sort.int(size, decreasing=TRUE), function(s).monoisotopicPattern(x=x, y=y, size=s, ...)) upattern <- .unlist(pattern) upattern[duplicated(upattern)] <- NA_real_ upattern <- relist(upattern, pattern) sort.int(.unlist(lapply(upattern, function(p)p[1L, !is.na(colSums(p))]))) } else { double() } } MALDIquant/R/match.closest-functions.R0000644000176200001440000000512313370375051017257 0ustar liggesusers#' Relaxed Value Matching #' #' \code{match.closest} returns a vector of the positions of (first) matches #' its first arguments in its second. In contrast to the similar #' \code{\link{match}} it just accept \code{numeric} arguments but #' has an additional \code{tolerance} argument that allows relaxed #' matching. #' #' @param x \code{numeric}, the values to be matched. #' @param table \code{numeric}, the values to be matched against. In contrast to #' \code{\link{match}} \code{table} has to be sorted in increasing order. #' @param tolerance \code{numeric}, accepted tolerance. Use \code{Inf} to match without #' restrictions. Could be of length one or the same length as \code{table}. #' @param nomatch \code{numeric}, if the difference #' between the value in \code{x} and \code{table} is larger than #' \code{tolerance} \code{nomatch} is returned. Has to be of length one. #' #' @return An \code{integer} vector of the same length as \code{x} giving the #' closest position in \code{table} of the first match or \code{nomatch} if #' there is no match. #' #' @seealso \code{\link{match}} #' @aliases match.closest #' @export #' @examples #' library("MALDIquant") #' match.closest(c(1.1, 1.4, 9.8), 1:10) #' # [1] 1 1 10 #' match.closest(c(1.1, 1.4, 9.8), 1:10, tolerance=0.25) #' # [1] 1 NA 10 #' match.closest(c(1.1, 1.4, 9.8), 1:10, tolerance=0.25, nomatch=0) #' # [1] 1 0 10 #' #' ## this function is most useful if you want to subset an intensityMatrix #' ## by a few (reference) peaks #' #' ## create an example intensityMatrix #' im <- matrix(1:10, nrow=2, dimnames=list(NULL, 1:5)) #' attr(im, "mass") <- 1:5 #' im #' # 1 2 3 4 5 #' # [1,] 1 3 5 7 9 #' # [2,] 2 4 6 8 10 #' # attr(,"mass") #' # [1] 1 2 3 4 5 #' #' ## reference peaks #' ref <- c(2.2, 4.8) #' #' im[, match.closest(ref, attr(im, "mass"), tolerance=0.25, nomatch=0)] #' # 2 5 #' # [1,] 3 9 #' # [2,] 4 10 #' match.closest <- function(x, table, tolerance=Inf, nomatch=NA_integer_) { lIdx <- findInterval(x, table, rightmost.closed=FALSE, all.inside=TRUE) rIdx <- lIdx + 1L lIdx[lIdx == 0L] <- 1L lDiff <- abs(table[lIdx] - x) rDiff <- abs(table[rIdx] - x) d <- which(lDiff >= rDiff) lIdx[d] <- rIdx[d] if (any(is.finite(tolerance))) { if (any(tolerance < 0L)) { warning(sQuote("tolerance"), " < 0 is meaningless. Set to zero.") tolerance[tolerance < 0L] <- 0L } if (length(nomatch) != 1L) { stop("Length of ", sQuote("nomatch"), " has to be one.") } tolerance <- rep_len(tolerance, length(table)) lDiff[d] <- rDiff[d] lIdx[lDiff > tolerance[lIdx]] <- nomatch } lIdx } MALDIquant/R/binPeaks-functions.R0000644000176200001440000001143013442265166016247 0ustar liggesusers## binPeaks ## binning peaks by splitting at the largest gap ## This is a wrapper function around .binPeaks which prepares the peak list ## before and recreates a correct peak list after binning. ## ## params: ## l: list of MassPeaks objects ## method: character, grouper to used (strict: don't allow multiple peaks of ## the same sample in the same bin, relaxed: allow them) ## tolerance: double, maximal deviation of a peak position to be ## considered as same peak ## ## returns: ## a list of adjusted MassPeaks objects ## binPeaks <- function(l, method=c("strict", "relaxed"), tolerance=0.002) { ## test arguments .stopIfNotIsMassPeaksList(l) method <- match.arg(method) ## store original mass sample number/id nn <- lengths(l) nonEmpty <- nn != 0L samples <- rep.int(seq_along(l), nn) ## fetch all mass mass <- unname(.unlist(lapply(l[nonEmpty], function(x)x@mass))) ## fetch all intensities intensities <- .unlist(lapply(l[nonEmpty], function(x)x@intensity)) ## fetch all snr snr <- .unlist(lapply(l[nonEmpty], function(x)x@snr)) ## sort values by mass s <- sort.int(mass, index.return=TRUE) mass <- s$x intensities <- intensities[s$ix] snr <- snr[s$ix] samples <- samples[s$ix] ## select grouper grouper <- switch(method, "strict" = { .grouperStrict }, "relaxed" = { .grouperRelaxed } ) ## binning mass <- .binPeaks(mass=mass, intensities=intensities, samples=samples, tolerance=tolerance, grouper=grouper) ## resort mass (order could change if "relaxed" is used) if (method == "relaxed") { s <- sort.int(mass, index.return=TRUE) mass <- s$x intensities <- intensities[s$ix] snr <- snr[s$ix] samples <- samples[s$ix] } ## group mass/intensities/snr by sample ids lIdx <- split(seq_along(mass), samples) ## create adjusted peak list l[nonEmpty] <- .mapply(FUN=function(p, i) { p@mass <- mass[i] p@intensity <- intensities[i] p@snr <- snr[i] p }, p=l[nonEmpty], i=lIdx) l } ## .binPeaks ## binning peaks by splitting at the largest gap ## ## params: ## mass: double, sorted mass ## intensities: double, corresponding intensities ## samples: double, corresponding sample id numbers ## tolerance: double, maximal deviation of a peak position to be ## considered as same peak ## grouper: grouping function ## ...: arguments passed to grouping function ## ## returns: ## vector (double) of modified mass ## .binPeaks <- function(mass, intensities, samples, tolerance, grouper=.grouperStrict, ...) { n <- length(mass) ## calculate difference d <- diff(mass) ## grouper function grouper <- match.fun(grouper) ## stack based implementation taken from ## caMassClass 1.9 R/msc.peaks.clust.R written by ## Jarek Tuszynski ## it is a lot of faster than recursion ## store boundaries in a stack nBoundaries <- max(20L, floor(3L * log(n))) boundary <- list(left=double(nBoundaries), right=double(nBoundaries)) currentBoundary <- 1L boundary$left[currentBoundary] <- 1L boundary$right[currentBoundary] <- n ## workhorse loop while (currentBoundary > 0L) { ## find largest gap left <- boundary$left[currentBoundary] right <- boundary$right[currentBoundary] currentBoundary <- currentBoundary - 1L gaps <- d[left:(right - 1L)] gapIdx <- which.max(gaps) + left - 1L ## left side l <- grouper(mass=mass[left:gapIdx], intensities=intensities[left:gapIdx], samples=samples[left:gapIdx], tolerance=tolerance, ...) ## further splitting needed? if (is.na(l[1L])) { currentBoundary <- currentBoundary + 1L boundary$left[currentBoundary] <- left boundary$right[currentBoundary] <- gapIdx } else { mass[left:gapIdx] <- l } ## right side r <- grouper(mass=mass[(gapIdx + 1L):right], intensities=intensities[(gapIdx + 1L):right], samples=samples[(gapIdx + 1L):right], tolerance=tolerance, ...) ## further splitting needed? if (is.na(r[1L])) { currentBoundary <- currentBoundary + 1L boundary$left[currentBoundary] <- gapIdx + 1L boundary$right[currentBoundary] <- right } else { mass[(gapIdx + 1L):right] <- r } ## stack size have to be increased? ## (should rarely happen because recursion deep is mostly < 20) if (currentBoundary == nBoundaries) { nBoundaries <- floor(nBoundaries * 1.5) boundary$left <- c(boundary$left, double(nBoundaries - currentBoundary)) boundary$right <- c(boundary$right, double(nBoundaries - currentBoundary)) } } mass } MALDIquant/R/isMassObject-functions.R0000644000176200001440000000033013370404000017054 0ustar liggesusers.isMassObject <- function(x) { inherits(x=x, what="AbstractMassObject") } isMassSpectrum <- function(x) { is(object=x, class2="MassSpectrum") } isMassPeaks <- function(x) { is(object=x, class2="MassPeaks") } MALDIquant/R/unlist-functions.R0000644000176200001440000000026313370375052016027 0ustar liggesusers## .unlist ## wrapper for unlist ## ## params: ## x: an R object ## ## returns: ## see also ?unlist ## .unlist <- function(x) { unlist(x, recursive=FALSE, use.names=FALSE) } MALDIquant/R/totalIonCurrent-methods.R0000644000176200001440000000047313370404000017265 0ustar liggesusers## MassSpectrum setMethod(f="totalIonCurrent", signature=signature(object="MassSpectrum"), definition=function(object) { left <- as.double(head(object@intensity, -1L)) right <- as.double(tail(object@intensity, -1L)) as.double(sum((left + right) / 2L * diff(object@mass), na.rm=TRUE)) }) MALDIquant/R/morphologicalFilter-functions.R0000644000176200001440000000212313370375051020512 0ustar liggesusers## dilation ## calculates moving max (dilation filter) ## ## M. van Herk. "A Fast Algorithm for Local Minimum and Maximum Filters on ## Rectangular and Octagonal Kernels." ## Pattern Recognition Letters 13.7 (1992): 517-521. ## ## J. Y. Gil and M. Werman. "Computing 2-Dimensional Min, Median and Max ## Filters." IEEE Transactions (1996): 504-507. ## ## params: ## x: vector of x values ## halfWindowSize: size of local window ## ## returns: ## moving max ## .dilation <- function(x, halfWindowSize) { .Call("C_dilation", x, halfWindowSize) } ## erosion ## calculates moving min (erosion filter) ## ## M. van Herk. "A Fast Algorithm for Local Minimum and Maximum Filters on ## Rectangular and Octagonal Kernels." ## Pattern Recognition Letters 13.7 (1992): 517-521. ## ## J. Y. Gil and M. Werman. "Computing 2-Dimensional Min, Median and Max ## Filters." IEEE Transactions (1996): 504-507. ## ## params: ## x: vector of x values ## halfWindowSize: size of local window ## ## returns: ## moving min ## .erosion <- function(x, halfWindowSize) { .Call("C_erosion", x, halfWindowSize) } MALDIquant/R/trim-methods.R0000644000176200001440000000210013370404000015071 0ustar liggesusers## AbstractMassObject setMethod("trim", signature=signature(object="AbstractMassObject", range="numeric"), definition=function(object, range) { if (length(range) != 2L) { stop(sQuote("range"), " has to be a vector of length 2.") } range <- .reorderRange(range) sel <- which(findInterval(object@mass, range, rightmost.closed=TRUE) == 1L) if (!length(sel)) { warning("The mass range (", paste0(range, collapse=":"), ") is outside of the stored mass values. No data points left.") } object[sel] }) ## list setMethod("trim", signature=signature(object="list", range="numeric"), definition=function(object, range, ...) { .stopIfNotIsMassObjectList(object) .lapply(X=object, FUN=trim, range=range, ...) }) setMethod("trim", signature=signature(object="list", range="missing"), definition=function(object, ...) { .stopIfNotIsMassObjectList(object) range <- .overlap(object) if (all(range == 0L)) { stop("No overlap found!") } .lapply(X=object, FUN=trim, range=range, ...) }) MALDIquant/R/lapply-functions.R0000644000176200001440000000034113370375051016006 0ustar liggesusers## .lapply ## wrapper for lapply with different defaults ## ## params: ## see ?lapply ## ## returns: ## see ?lapply ## .lapply <- function(X, FUN, ..., mc.cores=1L) { parallel::mclapply(X, FUN, ..., mc.cores=mc.cores) } MALDIquant/R/calibrateIntensity-methods.R0000644000176200001440000000230013437045533017775 0ustar liggesusers## MassSpectrum setMethod(f="calibrateIntensity", signature=signature(object="MassSpectrum"), definition=function(object, method=c("TIC", "PQN", "median"), range, ...) { method <- match.arg(method) switch(method, "TIC" = , "median" = { .transformIntensity(object, fun=.calibrateIntensitySimple, offset=0L, scaling=.scalingFactor(object, method=method, range=range)) }, "PQN" = { stop(dQuote("PQN"), " is not supported for a single MassSpectrum object.") }) }) ## list setMethod(f="calibrateIntensity", signature=signature(object="list"), definition=function(object, method=c("TIC", "PQN", "median"), range, ...) { ## test arguments .stopIfNotIsMassSpectrumList(object) method <- match.arg(method) switch(method, "TIC" = , "median" = { .lapply(object, calibrateIntensity, method=method, range=range, ...) }, "PQN" = { .calibrateProbabilisticQuotientNormalization(object, range=range) } ) }) MALDIquant/R/show-functions.R0000644000176200001440000000054313370375052015472 0ustar liggesusers## .prepareShowGroupName ## prepares a group name for show (appends numbers to name if needed) ## ## params: ## x: vector ## name: group name ## ## returns: ## .prepareShowGroupName <- function(x, name) { if (!is.null(x)) { n <- length(x) if (n > 1L) { name <- paste0(name, seq_len(n)) } } else { name <- NULL } name } MALDIquant/R/length-methods.R0000644000176200001440000000024013370404000015402 0ustar liggesusers## AbstractMassObject setMethod(f="length", signature=signature(x="AbstractMassObject"), definition=function(x) { length(x@intensity) }) MALDIquant/R/findEmptyMassObjects-functions.R0000644000176200001440000000055413370375051020610 0ustar liggesusers## findEmptyMassObjects ## find empty AbstractMassObject objects in a MassObjectsList ## ## params: ## l: list of AbstractMassObject objects ## ## returns: ## a vector of indices refer to empty AbstractMassObject objects ## findEmptyMassObjects <- function(l) { .stopIfNotIsMassObjectList(l) isEmpty <- vapply(l, isEmpty, logical(1L)) which(isEmpty) } MALDIquant/R/estimateBaseline-functions.R0000644000176200001440000000713213370375051017770 0ustar liggesusers## .estimateBaseline ## estimating the baseline of a spectrum ## ## params: ## x: vector of x values (mass) ## y: vector of y values (intensity) ## method: method to use ## ...: further arguments passed to "method" ## ## returns: ## numeric, estimated baseline (y) ## .estimateBaseline <- function(x, y, method=c("SNIP", "TopHat", "ConvexHull", "median"), ...) { method <- match.arg(method) switch(method, "SNIP" = { .estimateBaselineSnip(x, y, ...) }, "TopHat" = { .estimateBaselineTopHat(x, y, ...) }, "ConvexHull" = { .estimateBaselineConvexHull(x, y, ...) }, "median" = { .estimateBaselineMedian(x, y, ...) } ) } ## estimateBaselineConvexHull ## estimate baseline by creating a convex hull ## ## A. M. Andrew, "Another Efficient Algorithm for Convex Hulls in Two ## Dimensions", Info. Proc. Letters 9, 216-219 (1979). ## only calculate lower hull (we don't need the upper one) ## ## params: ## x: vector of x values ## y: vector of y values ## ## returns: ## numeric, estimated baseline (y) ## .estimateBaselineConvexHull <- function(x, y) { .Call("C_lowerConvexHull", x, y) } ## estimateBaselineMedian ## estimate baseline by computing moving median ## ## params: ## x: vector of x values ## y: vector of y values ## halfWindowSize: size of local window ## ## returns: ## numeric, estimated baseline (y) ## .estimateBaselineMedian <- function(x, y, halfWindowSize=100L) { .stopIfNotIsValidHalfWindowSize(halfWindowSize=halfWindowSize, n=length(x)) as.vector(runmed(y, k=2L * halfWindowSize + 1L)) } ## estimateBaselineSnip ## estimate baseline by SNIP algorithm ## ## SNIP algorithm based on: ## C.G. Ryan, E. Clayton, W.L. Griffin, S.H. Sie, and D.R. Cousens. ## "Snip, a statistics-sensitive background treatment for the quantitative ## analysis of pixe spectra in geoscience applications." ## Nuclear Instruments and Methods in Physics Research Section B: ## Beam Interactions with Materials and Atoms, 34(3):396-402, 1988. ## ISSN 0168-583X. doi:10.1016/0168-583X(88)90063-8. ## URL http://www.sciencedirect.com/science/article/B6TJN-46YSYTJ-30/2/e0d015ceb8ea8a7bc0702a857a19750b ## ## decreasing clipping window adapted from: ## M. Morhac. 2009. ## "An algorithm for determination of peak regions and baseline elimination in ## spectroscopic data." ## Nuclear Instruments and Methods in Physics Research Section A: ## Accelerators, Spectrometers, Detectors and Associated Equipment, 600(2), 478-487. ## ISSN 0168-9002. doi:10.1016/S0168-9002(97)01023-1. ## URL http://www.sciencedirect.com/science/article/pii/S0168900297010231 ## ## params: ## x: vector of x values (only needed for create a matrix as return value) ## y: vector of y values ## iterations: number of iterations ## decreasing: use a decreasing clipping window ## ## returns: ## numeric, estimated baseline (y) ## .estimateBaselineSnip <- function(x, y, iterations=100L, decreasing=TRUE) { .Call("C_snip", y, iterations, decreasing) } ## estimateBaselineTopHat ## estimate baseline by TopHat filter (erosion + dilation) ## ## params: ## x: vector of x values (only needed for create a matrix as return value) ## y: vector of y values ## halfWindowSize: size of local window ## ## returns: ## numeric, estimated baseline (y) ## .estimateBaselineTopHat <- function(x, y, halfWindowSize=100L) { .stopIfNotIsValidHalfWindowSize(halfWindowSize=halfWindowSize, n=length(x)) .dilation(.erosion(y, halfWindowSize=halfWindowSize), halfWindowSize=halfWindowSize) } MALDIquant/R/reorder-functions.R0000644000176200001440000000073013370404000016134 0ustar liggesusers## .reorder ## reorders mass and intensity values (increasing) ## ## params: ## object AbstractMass Object ## warn: throw a warning? ## ## returns: ## an AbstractMass object ## .reorder <- function(object, warn=TRUE) { if (is.unsorted(object@mass)) { if (warn) { warning("Mass and intensity values are reordered.") } i <- sort.int(object@mass, index.return=TRUE) object@mass <- i$x object@intensity <- object@intensity[i$ix] } object } MALDIquant/R/removeEmptyMassObjects-functions.R0000644000176200001440000000064313370375052021165 0ustar liggesusers## removeEmptyMassObjects ## find and remove empty AbstractMassObject objects in a MassObjectsList ## ## params: ## l: list of AbstractMassObject objects ## ## returns: ## a list without empty objects ## removeEmptyMassObjects <- function(l) { .stopIfNotIsMassObjectList(l) ## find empty MassPeaks objects notEmpty <- !(seq_along(l) %in% findEmptyMassObjects(l)) ## exclude empty elements l[notEmpty] } MALDIquant/R/findLocalMaxima-methods.R0000644000176200001440000000147713370404000017166 0ustar liggesusers## MassSpectrum setMethod(f=".findLocalMaxima", signature=signature(object="MassSpectrum"), definition=function(object, halfWindowSize=20L) { if (.isEmptyWarning(object)) { return(matrix(ncol=2L, dimnames=list(list(), list("mass", "intensity")))) } localMaxima <- .findLocalMaximaLogical(object, halfWindowSize=halfWindowSize) cbind(mass=object@mass, intensity=object@intensity)[localMaxima,] }) setMethod(f=".findLocalMaximaLogical", signature=signature(object="MassSpectrum"), definition=function(object, halfWindowSize=20L) { if (.isEmptyWarning(object)) { return(logical()) } .stopIfNotIsValidHalfWindowSize(halfWindowSize=halfWindowSize, n=length(object)) .localMaxima(object@intensity, halfWindowSize=halfWindowSize) }) MALDIquant/R/range-functions.R0000644000176200001440000000151713370404000015572 0ustar liggesusers## .overlap ## returns largest overlapping mass range of a list of AbstractMassObject ## objects. ## ## params: ## l: list of AbstractMassObject objects ## ## returns: ## double, minimal and maximal mass ## .overlap <- function(l) { ## test argument .stopIfNotIsMassObjectList(l) ## mass values are already sorted leftMass <- .unlist(lapply(l, function(x)x@mass[1L])) rightMass <- .unlist(lapply(l, function(x)x@mass[length(x@mass)])) if (length(rightMass)) { r <- c(max(leftMass, na.rm=TRUE), min(rightMass, na.rm=TRUE)) if (r[1L] < r[2L]) { return(r) } } ## no overlap c(0L, 0L) } ## .reorderRange ## swap range values if needed ## ## params: ## x: range values ## ## returns: ## corrected range values ## .reorderRange <- function(x) { ## sort range if (x[1L] > x[2L]) { x <- x[2L:1L] } x } MALDIquant/R/snr-methods.R0000644000176200001440000000021413370375052014742 0ustar liggesusers## MassPeaks setMethod(f="snr", signature=signature(object="MassPeaks"), definition=function(object) { object@snr }) MALDIquant/R/calculateLabelPositions-functions.R0000644000176200001440000001326713370404000021310 0ustar liggesusers## .calculateLabelPositions ## calculate label positions to avoid collisions ## ## params: ## object: a single MassPeaks object ## x: original x coordinates for labels ## y: original y coordinates for labels ## peakLabels: peak labels ## adj: text alignment ?par("adj") ## cex: font size ?par("cex") ## srt: rotation in degree ## maxSteps: max tries to avoid collisons ## ## returns: ## a matrix of coordinates ## .calculateLabelPositions <- function(object, x, y, peakLabels, adj, cex, srt, maxSteps=100L) { ## start with smallest peak i <- sort.int(y, index.return=TRUE)$ix ## calculate label rectangles rects <- .textLabelRects(x[i], y[i], peakLabels[i], adj=adj, cex=cex, srt=srt) ## move rectangles around to avoid collisons for (j in seq_along(x)) { rects[j, ] <- .testLabelOverlap(object, rects, currentIndex=j, maxSteps=maxSteps) } ## undo sorting rects[i, ] <- rects rects } ## .testLabelOverlap ## try to avoid overlap/collisions ## ## params: ## object: a single MassPeaks object ## rects: a matrix of coordinates (created by .textRects) ## currentIndex: which coordinates should moved around ## maxSteps: max tries to avoid collisons ## ## returns: ## a vector of coordinates ## .testLabelOverlap <- function(object, rects, currentIndex, maxSteps) { r <- pi / 180L * c(90, as.vector(rbind(seq(80L, 40L, by=-10L), seq(100L, 140L, by=10L)))) testrects <- rbind(matrix(c(object@mass, rep(0L, length(object)), object@mass, object@intensity), ncol=4L), rects[seq_len(currentIndex - 1L), c("x0", "y0", "x1", "y1")]) for (k in 0L:maxSteps) { ## move up s <- k / 4L cur <- rects[currentIndex, ] cur[c("y0", "y1", "y")] <- cur[c("y0", "y1", "y")] + s * cur["h"] for (l in r) { ## move in curve oldcur <- cur cur[c("y0", "y1", "y")] <- cur[c("y0", "y1", "y")] + sin(l) * s * cur["h"] cur[c("x0", "x1", "x")] <- cur[c("x0", "x1", "x")] + cos(l) * s * cur["w"] ## success if (!.overlaps(cur, testrects)) { return(cur) } cur <- oldcur } } ## no success, return original pos rects[currentIndex, ] } ## .textLabelRects ## calculate label rectangles ## ## params: ## x: original x coordinates for labels ## y: original y coordinates for labels ## text: peak labels ## adj: text alignment ?par("adj") ## cex: font size ?par("cex") ## srt: rotation in degree ## offset: offset ## ## returns: ## a matrix of coordinates ## .textLabelRects <- function(x, y, text, adj=c(0.5, 0L), cex=0.7, srt=0, offset=c(0.0, 0.2)) { wh <- .strWH(text, srt=srt, cex=cex) ## extra calculation of offsets to be independend of adj offset <- t(t(wh) * offset) m <- matrix(c(x - wh[, "w"] * adj[1L] - offset[, "w"], y - wh[, "h"] * adj[2L] - offset[, "h"], x + wh[, "w"] * (1L - adj[1L]) + offset[, "w"], y + wh[, "h"] * (1L - adj[2L]) + offset[, "h"], x, y, wh[, "w"], wh[, "h"]), ncol = 8L, dimnames = list(c(), c("x0", "y0", "x1", "y1", "x", "y", "w", "h"))) if (srt) { m[, c("x0", "x1", "y0", "y1")] <- .rotate(rbind(m[, c("x0", "y0")], m[, c("x1", "y1")]), center=m[, c("x", "y")], srt=srt) if (m[1L, "x0"] > m[1L, "x1"]) { m[, c("x1", "x0")] <- m[, c("x0", "x1")] } if (m[1L, "y0"] > m[1L, "y1"]) { m[, c("y1", "y0")] <- m[, c("y0", "y1")] } m[, c("w", "h")] <- m[, c("x1", "y1")] - m[, c("x0", "y0")] } m } ## .overlaps ## does rectangles overlap? ## ## HINT: doesn't work for rotated rectangles (!= 0, 90, 180, 270, 360) ## ## params: ## a: vector, length 4, c(x0, y0, x1, y1); c(x0, y0) bottom left ## b: matrix, at least 4 columns, c(x0, y0, x1, y1) ## ## returns: ## TRUE/FALSE .overlaps <- function(a, b) { if (is.vector(b)) { b <- t(b) } any(# rectangles on left/right of each other? !((a[1L] >= b[, 3L] | a[3L] <= b[, 1L]) | # rectangles on top/bottom of each other? (a[2L] >= b[, 4L] | a[4L] <= b[, 2L]))) } ## .scaleFactor ## get height to width scale factor of a graphic device ## ## returns: ## double, scale factor ## .scaleFactor <- function() { usr <- par("usr") pin <- par("pin") dx <- usr[2L] - usr[1L] dy <- usr[4L] - usr[3L] (dy * pin[1L]) / (dx * pin[2L]) } ## .rotate ## rotate rectangle ## ## params: ## x: matrix, 2 columns, x,y coordinates ## center: matrix, 2 columns, rotation center x,y coordinate ## srt: rotation in degree ## returns: ## double, length 2, x, y, rotated ## .rotate <- function(x, center, srt) { stopifnot(all(dim(x)) == all(dim(center))) a <- pi * srt / 180L cosa <- cos(a) sina <- sin(a) dx <- x[, 1L] - center[, 1L] dy <- x[, 2L] - center[, 2L] x[, 1L] <- center[, 1L] + dx * cosa - dy * sina x[, 2L] <- center[, 2L] + dx * sina + dy * cosa x } ## .strWH ## string width and height scaled to device scale and rotatet ## ## TODO: doesn't work for srt != 0, 90, 180, ... (.overlaps doesn't work for ## rotated rectangles) ## ## params: ## text: text ## cex: character scaling factor (see ?par) ## srt: rotation in degree ## scale: scale factor ## ## returns: ## double, length 2, w, h ## .strWH <- function(text, srt, cex=0.7, scale=.scaleFactor()) { a <- pi * srt / 180L scale <- abs(cos(a) + sin(a) * scale) matrix(c(strwidth(text, cex=cex) * scale, strheight(text, cex=cex) / scale), ncol = 2L, dimnames = list(c(), c("w", "h"))) } MALDIquant/R/replaceNegativeIntensityValues-functions.R0000644000176200001440000000075413370404000022665 0ustar liggesusers## .replaceNegativeIntensityValues ## replaces negative intensity valus by zeros ## ## params: ## object AbstractMass Object ## warn: throw a warning? ## ## returns: ## an AbstractMass object ## .replaceNegativeIntensityValues <- function(object, warn=TRUE) { if (any(object@intensity < 0L, na.rm=TRUE) && !isEmpty(object)) { if (warn) { warning("Negative intensity values are replaced by zeros.") } object@intensity[which(object@intensity < 0L)] <- 0L } object } MALDIquant/R/transformIntensity-methods.R0000644000176200001440000000307713370404000020056 0ustar liggesusers## AbstractMassObject setMethod(f="transformIntensity", signature=signature(object="AbstractMassObject"), definition=function(object, method=c("sqrt", "log", "log2", "log10")) { ## empty spectrum? if (.isEmptyWarning(object)) { return(object) } method <- match.arg(method) fun <- switch(method, "sqrt" = { sqrt }, "log" = { log }, "log2" = { log2 }, "log10" = { log10 } ) .transformIntensity(object, fun=fun) }) ## AbstractMassObject setMethod(f=".transformIntensity", signature=signature(object="AbstractMassObject"), definition=function(object, fun, na.rm=TRUE, ...) { if (!isEmpty(object)) { fun <- match.fun(fun) object@intensity <- fun(object@intensity, ...) if (na.rm) { naIdx <- which(!is.na(object@intensity)) object@intensity <- object@intensity[naIdx] object@mass <- object@mass[naIdx] } object <- .replaceNegativeIntensityValues(object) } object }) ## list setMethod(f="transformIntensity", signature=signature(object="list"), definition=function(object, ...) { ## test arguments .stopIfNotIsMassObjectList(object) .lapply(object, transformIntensity, ...) }) ## list setMethod(f=".transformIntensity", signature=signature(object="list"), definition=function(object, ...) { ## test arguments .stopIfNotIsMassObjectList(object) .lapply(object, .transformIntensity, ...) }) MALDIquant/R/alignSpectra-functions.R0000644000176200001440000000313613370375051017126 0ustar liggesusers## alignSpectra ## wrapper around detectPeaks, determineWarpingFunctions and warpMassSpectra ## ## params: ## spectra: list, list of MassSpectrum objects ## halfWindowSize: numeric, half window size. ## noiseMethod: character, noise estimation method ## SNR: double, signal-to-noise ratio ## reference: MassPeaks, a reference MassPeaks object to which all other ## MassPeaks objects should be aligned ## tolerance: double, maximal deviation of a peak position to be ## considered as same peak ## warpingMethod: choose type of base warping function ## allowNoMatches: logical, don't throw an error if a single MassPeaks object ## could not match to the reference. ## emptyNoMatches: logical, if TRUE mismatches (warping function NA) ## ## returns: ## a list of aligned MassSpectrum objects ## alignSpectra <- function(spectra, ## peak detection halfWindowSize=20, noiseMethod="MAD", SNR=2, ## warping reference, tolerance=0.002, warpingMethod="lowess", allowNoMatches=FALSE, emptyNoMatches=FALSE, ...) { ## test arguments .stopIfNotIsMassSpectrumList(spectra) peaks <- detectPeaks(spectra, halfWindowSize=halfWindowSize, method=noiseMethod, SNR=SNR, ...) wf <- determineWarpingFunctions(peaks, reference=reference, tolerance=tolerance, method=warpingMethod, allowNoMatches=allowNoMatches) warpMassSpectra(spectra, wf, emptyNoMatches=emptyNoMatches) } MALDIquant/R/subset-methods.R0000644000176200001440000000215513370404000015435 0ustar liggesusers## AbstractMassObject setMethod(f="[", signature=signature(x="AbstractMassObject", i="numeric", j="missing"), definition=function(x, i, j, ..., drop=TRUE) { x@mass <- x@mass[i] x@intensity <- x@intensity[i] x }) ## AbstractMassObject setMethod(f="[", signature=signature(x="AbstractMassObject", i="logical", j="missing"), definition=function(x, i, j, ..., drop=TRUE) { ## seems to be faster than evaluating the logical expression twice i <- which(i) x@mass <- x@mass[i] x@intensity <- x@intensity[i] x }) setMethod(f="[", signature=signature(x="MassPeaks", i="numeric", j="missing"), definition=function(x, i, j, ..., drop=TRUE) { x@mass <- x@mass[i] x@intensity <- x@intensity[i] x@snr <- x@snr[i] x }) ## AbstractMassObject setMethod(f="[", signature=signature(x="MassPeaks", i="logical", j="missing"), definition=function(x, i, j, ..., drop=TRUE) { ## seems to be faster than evaluating the logical expression twice i <- which(i) x@mass <- x@mass[i] x@intensity <- x@intensity[i] x@snr <- x@snr[i] x }) MALDIquant/R/detectPeaks-methods.R0000644000176200001440000000236713370404000016371 0ustar liggesusers## MassSpectrum setMethod(f="detectPeaks", signature=signature(object="MassSpectrum"), definition=function(object, halfWindowSize=20L, method=c("MAD", "SuperSmoother"), SNR=2L, ...) { ## empty spectrum? if (.isEmptyWarning(object)) { return(createMassPeaks(mass=object@mass, intensity=object@intensity, metaData=object@metaData)) } ## estimate noise noise <- .estimateNoise(x=object@mass, y=object@intensity, method=method, ...) ## find local maxima isLocalMaxima <- .findLocalMaximaLogical(object, halfWindowSize=halfWindowSize) ## include only local maxima which are above the noise isAboveNoise <- object@intensity > (SNR * noise) peakIdx <- which(isAboveNoise & isLocalMaxima) createMassPeaks(mass=object@mass[peakIdx], intensity=object@intensity[peakIdx], snr=object@intensity[peakIdx] / noise[peakIdx], metaData=object@metaData) }) ## list setMethod(f="detectPeaks", signature=signature(object="list"), definition=function(object, ...) { ## test arguments .stopIfNotIsMassSpectrumList(object) .mapply(detectPeaks, object, ...) }) MALDIquant/R/approxfun-methods.R0000644000176200001440000000064513466070372016175 0ustar liggesusers## MassSpectrum setMethod(f="approxfun", signature=signature(x="MassSpectrum"), definition=function(x, y=NULL, method="linear", yleft, yright, rule=1L, f=0L, ties=mean) { if (isEmpty(x)) { function(x)rep.int(NA, length(x)) } else { approxfun(x=x@mass, y=x@intensity, method=method, yleft=yleft, yright=yright, rule=rule, f=f, ties=ties) } }) MALDIquant/R/smoothIntensity-methods.R0000644000176200001440000000213713370375052017366 0ustar liggesusers## AbstractMassObject setMethod(f="smoothIntensity", signature=signature(object="MassSpectrum"), definition=function(object, method=c("SavitzkyGolay", "MovingAverage"), halfWindowSize, ...) { ## empty spectrum? if (.isEmptyWarning(object)) { return(object) } method <- match.arg(method) fun <- switch(method, "SavitzkyGolay" = { if (missing(halfWindowSize)) { halfWindowSize <- 10L } .savitzkyGolay }, "MovingAverage" = { if (missing(halfWindowSize)) { halfWindowSize <- 2L } .movingAverage } ) .transformIntensity(object, fun=fun, halfWindowSize=halfWindowSize, ...) }) ## list setMethod(f="smoothIntensity", signature=signature(object="list"), definition=function(object, ...) { ## test arguments .stopIfNotIsMassSpectrumList(object) .mapply(smoothIntensity, object, ...) }) MALDIquant/R/memoryUsage-functions.R0000644000176200001440000000056213370375051017007 0ustar liggesusers## .memoryUsageStr.object_size ## pretty string of memory usage ## ## params: ## x: object_size ## ## returns: ## character ## .memoryUsageStr <- function(x) { os <- object.size(x) iec <- c("B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB") l <- trunc(log(os) / log(1024L)) i <- pmin(l + 1L, 9L) paste(round(os / (1024L^l), digits=3L), iec[i]) } MALDIquant/R/warp-functions.R0000644000176200001440000000303513370404000015444 0ustar liggesusers## warpMassSpectra ## warp MassSpectrum objects ## ## params: ## l: list of MassSpectrum objects ## w: list of warping functions determined by determineWarpingFunctions ## emptyNoMatches: logical, if TRUE mismatches (warping function NA) ## ## returns: ## a list of warped MassSpectrum objects ## warpMassSpectra <- function(l, w, emptyNoMatches=FALSE) { .stopIfNotIsMassSpectrumList(l) .warp(l, w, emptyNoMatches=emptyNoMatches) } ## warpMassPeaks ## warp MassPeaks objects ## ## params: ## l: list of MassPeaks objects ## w: list of warping functions determined by determineWarpingFunctions ## emptyNoMatches: logical, if TRUE mismatches (warping function NA) ## ## returns: ## a list of warped MassPeaks objects ## warpMassPeaks <- function(l, w, emptyNoMatches=FALSE) { .stopIfNotIsMassPeaksList(l) .warp(l, w, emptyNoMatches=emptyNoMatches) } ## .warp ## .warp bstractMassObject objects ## ## params: ## l: list of AbstractMassObject objects ## w: list of warping functions determined by determineWarpingFunctions ## emptyNoMatches: logical, if TRUE mismatches (warping function NA) ## ## returns: ## a list of warped AbstractMassObject objects ## .warp <- function(l, w, emptyNoMatches=FALSE) { notNa <- !is.na(w) wl <- w[notNa] ml <- l[notNa] if (length(wl)) { .stopIfNotIsFunctionList(wl) } l[notNa] <- .mapply(function(m, wf) { m@mass <- m@mass + wf(m@mass) m }, m=ml, wf=wl) if (emptyNoMatches) { l[!notNa] <- lapply(l[!notNa], function(m) { m@intensity[] <- 0; m }) } l } MALDIquant/R/plotMsiSlice-methods.R0000644000176200001440000000561013370375052016554 0ustar liggesuserssetMethod(f="plotMsiSlice", signature=signature(x="list"), definition=function(x, center, tolerance, colRamp=colorRamp(c("black", "blue", "green", "yellow", "red")), interpolate=FALSE, legend=TRUE, alignLabels=FALSE, combine=FALSE, ...) { .stopIfNotIsMassObjectList(x) slides <- msiSlices(x, center=center, tolerance=tolerance) plotMsiSlice(slides, colRamp=colRamp, interpolate=interpolate, legend=legend, alignLabels=alignLabels, combine=combine, ...) }) setMethod(f="plotMsiSlice", signature=signature(x="array"), definition=function(x, colRamp=colorRamp(c("black", "blue", "green", "yellow", "red")), interpolate=FALSE, legend=TRUE, alignLabels=FALSE, combine=FALSE, plotInteractive=FALSE, ...) { n <- dim(x)[3L] if (!is.list(colRamp)) { colRamp <- rep_len(list(colRamp), n) } if (n != length(colRamp)) { stop(sQuote("dim(x)[3L]"), " (number of centers) has to be the same as ", "the length of the list ", sQuote("colRamp"), "!\n", "See ", sQuote("?plotMsiSlice"), " for details.") } if (combine) { .plotMsiSlice(x, colRampList=colRamp, interpolate=interpolate, legend=legend, alignLabels=alignLabels, ...) } else { isNonInteractivePlot <- dev.cur() != 1L && !dev.interactive() if (n > 1L && !isNonInteractivePlot && !plotInteractive) { warning(sQuote("plotMsiSlice"), " was called for multiple slices on an ", "interactive device. Only the first slice is plotted. Use ", sQuote("pdf"), " or a similar device to plot all slices at once.", " Alternatively use ", dQuote("combine=TRUE"), " to plot ", "multiple centers in one plot.\n", "See ", sQuote("?plotMsiSlice"), " for details.") n <- 1L } tolerance <- rep_len(attr(x, "tolerance"), n) for (i in seq_len(n)) { .plotMsiSlice(x[,, i, drop=FALSE], center=attr(x, "center")[i], tolerance=tolerance[i], colRampList=colRamp[i], interpolate=interpolate, legend=legend, ...) } } }) setMethod(f="plotMsiSlice", signature=signature(x="matrix"), definition=function(x, colRamp=colorRamp(c("black", "blue", "green", "yellow", "red")), interpolate=FALSE, scale=TRUE, legend=scale, ...) { if (!is.list(colRamp)) { colRamp <- list(colRamp) } dim(x) <- c(dim(x), 1L) .plotMsiSlice(x, colRampList=colRamp, interpolate=interpolate, scale=scale, legend=legend, ...) }) MALDIquant/R/labelPeaks-methods.R0000644000176200001440000000500613370404000016171 0ustar liggesuserssetMethod(f="labelPeaks", signature=signature(object="MassPeaks"), definition=function(object, index, mass, labels, digits=3L, underline=TRUE, ## verticalOffset ca. 0.01 of plot height verticalOffset=abs(diff(par("usr")[3L:4L]))*0.01, absoluteVerticalPos, adj=c(0.5, 0L), cex=0.7, srt=0L, avoidOverlap=FALSE, arrowLength=0L, arrowLwd=0.5, arrowCol=1L, ...) { ## index if (missing(index) && missing(mass)) { index <- seq_along(object@mass) } else if (!missing(index) && is.logical(index)) { index <- which(index) } if (!missing(mass) && is.numeric(mass)) { massIdx <- match.closest(mass, object@mass) if (missing(index)) { index <- massIdx } else { index <- c(index, massIdx) } ## remove duplicated indices index <- unique(index) } isValidIndex <- length(index) && length(index) <= length(object@mass) && (min(index) >= 1L && max(index) <= length(object@mass)) if (!isValidIndex) { stop("No valid ", sQuote("index"), " nor ", sQuote("mass"), " given.") } x <- object@mass[index] ## labels if (missing(labels)) { labels <- round(x=x, digits=digits) } else if (!missing(labels) && length(index) != length(labels)) { stop("Lenghts of ", sQuote("index"), "/", sQuote("mass"), " and ", sQuote("labels"), " have to be equal.") } if (underline) { labels <- as.expression(sapply(labels, function(x)substitute(underline(a), list(a=x)))) } if (missing(absoluteVerticalPos)) { y <- object@intensity[index] + verticalOffset } else { y <- absoluteVerticalPos } if (avoidOverlap) { if (srt %% 90L != 0L) { stop(sQuote("avoidOverlap = TRUE"), " and ", sQuote("srt != x * 90"), " is not supported.") } ## inspired by Ian Fellows' wordcloud::wordlayout p <- .calculateLabelPositions(object, x, y, labels, adj=adj, cex=cex, srt=srt) ## create arrows from label to peak arrows(x0=p[, "x"], y0=p[, "y"], x1=x, y1=y, col=arrowCol, length=arrowLength, lwd=arrowLwd) ## no transparent background rect(xleft=p[, "x0"], ybottom=p[, "y0"], xright=p[, "x1"], ytop=p[, "y1"], col="white", border=NA, density=-1L) x <- p[, "x"] y <- p[, "y"] } text(x=x, y=y, labels=labels, adj=adj, cex=cex, srt=srt, ...) }) MALDIquant/R/referencePeaks-functions.R0000644000176200001440000000213013370375052017426 0ustar liggesusers## referencePeaks ## calculate reference peaks (a wrapper around filterPeaks and binPeaks) ## ## params: ## l: list of MassPeaks objects ## method: character, grouper to used (strict: don't allow multiple peaks of ## the same sample in the same bin, relaxed: allow them) ## minFrequency: double, minimal frequency of a peak to be not removed ## tolerance: double, maximal deviation of a peak position to be ## considered as same peak ## ## returns: ## a new MassPeaks object ## referencePeaks <- function(l, method=c("strict", "relaxed"), minFrequency=0.9, tolerance=0.002) { .stopIfNotIsMassPeaksList(l) ## find reference peaks by binning and filtering referencePeaks <- filterPeaks(binPeaks(l, method=method, tolerance=tolerance), minFrequency=minFrequency) m <- .as.binary.matrix(.as.matrix.MassObjectList(referencePeaks)) ## set peak intensity to number of occurrence intensity <- unname(colMeans(m)) createMassPeaks(mass=attr(m, "mass"), intensity=intensity) } MALDIquant/R/as-methods.R0000644000176200001440000000047713370404000014540 0ustar liggesusers## convert MassPeaks into MassSpectrum objects ## ## returns: ## a MassSpectrum object setAs(from="MassPeaks", to="MassSpectrum", function (from)createMassSpectrum(mass=from@mass, intensity=from@intensity, metaData=from@metaData)) MALDIquant/R/isFunctionList-functions.R0000644000176200001440000000057513370375051017473 0ustar liggesusers.isFunctionList <- function(x) { if (!is.list(x)) { return(FALSE) } length(x) && all(.unlist(vapply(x, is.function, logical(1L)))) } .stopIfNotIsFunctionList <- function(x) { if (!.isFunctionList(x)) { parentCall <- deparse(sys.call(-1L)) stop(parentCall, " : ", sQuote(deparse(substitute(x))), " is no list of functions!", call.=FALSE) } TRUE } MALDIquant/R/isRegular-methods.R0000644000176200001440000000033413370404000016062 0ustar liggesusers## MassSpectrum setMethod(f="isRegular", signature=signature(object="MassSpectrum"), definition=function(object, threshold=1e-3) { s <- .irregularScore(object@mass) <= threshold !is.na(s) & s }) MALDIquant/R/estimateNoise-functions.R0000644000176200001440000000221113370375051017314 0ustar liggesusers## .estimateNoise ## estimating the noise of a spectrum ## ## params: ## x: vector of x values (mass) ## y: vector of y values (intensity) ## method: method to use ## ...: further arguments passed to "method" ## ## returns: ## numeric, estimated noise (y) ## .estimateNoise <- function(x, y, method=c("MAD", "SuperSmoother"), ...) { method <- match.arg(method) switch(method, "MAD" = { .estimateNoiseMad(x, y) }, "SuperSmoother" = { .estimateNoiseSuperSmoother(x, y, ...) } ) } ## estimateNoiseMad ## estimate noise by calculating mad over intensity values ## ## params: ## x: vector of x values ## y: vector of y values ## ## returns: ## numeric, estimated noise (y) ## .estimateNoiseMad <- function(x, y) { rep.int(stats::mad(y), length(x)) } ## estimateNoiseSuperSmoother ## estimate noise by using Friedman's super smoother ## ## params: ## x: vector of x values ## y: vector of y values ## ...: further arguments to passed to supsmu ## ## returns: ## numeric, estimated noise (y) ## .estimateNoiseSuperSmoother <- function(x, y, ...) { stats::supsmu(x=x, y=y, ...)$y } MALDIquant/R/points-methods.R0000644000176200001440000000025513370404000015443 0ustar liggesusers## MassPeaks setMethod(f="points", signature=signature(x="AbstractMassObject"), definition=function(x, ...) { points(x=x@mass, y=x@intensity, ...) }) MALDIquant/R/metaData-methods.R0000644000176200001440000000060113370375051015657 0ustar liggesusers## AbstractMassObject setMethod(f="metaData", signature=signature(object="AbstractMassObject"), definition=function(object) { object@metaData }) ## AbstractMassObject setReplaceMethod(f="metaData", signature=signature(object="AbstractMassObject"), definition=function(object, value) { object@metaData <- value object }) MALDIquant/vignettes/0000755000176200001440000000000013466070447014174 5ustar liggesusersMALDIquant/vignettes/bibliography.bib0000644000176200001440000000444512624130232017314 0ustar liggesusers@MANUAL{RPROJECT, title = {R: A Language and Environment for Statistical Computing}, author = {{R Core Team}}, organization = {R Foundation for Statistical Computing}, address = {Vienna, Austria}, year = {2014}, url = {http://www.R-project.org/}, } @ARTICLE{MALDIquant, title = {{MALDI}quant: a versatile {R} package for the analysis of mass spectrometry data}, author = {Sebastian Gibb and Korbinian Strimmer}, volume = {28}, number = {17}, pages = {2270-2271}, year = {2012}, doi = {10.1093/bioinformatics/bts447}, url = {http://bioinformatics.oxfordjournals.org/content/28/17/2270.abstract}, eprint = {http://bioinformatics.oxfordjournals.org/content/28/17/2270.full.pdf+html}, journal = {Bioinformatics}, publisher = {Oxford Univ Press}, } @ARTICLE{Fiedler2009, author = {Georg Martin Fiedler and Alexander Benedikt Leichtle and Julia Kase and Sven Baumann and Uta Ceglarek and Klaus Felix and Tim Conrad and Helmut Witzigmann and Arved Weimann and Christof Schütte and Johann Hauss and Markus Büchler and Joachim Thiery}, title = {Serum peptidome profiling revealed platelet factor 4 as a potential discriminating Peptide associated with pancreatic cancer.}, journal = {Clin Cancer Res}, year = {2009}, volume = {15}, pages = {3812--3819}, number = {11}, month = {Jun}, url = {http://dx.doi.org/10.1158/1078-0432.CCR-08-2701} } @ARTICLE{Savitzky1964, author = {Savitzky, Abraham. and Golay, M. J. E.}, title = {Smoothing and Differentiation of Data by Simplified Least Squares Procedures.}, journal = {Analytical Chemistry}, year = {1964}, volume = {36}, pages = {1627-1639}, number = {8}, url = {http://pubs.acs.org/doi/abs/10.1021/ac60214a047} } @ARTICLE{Ryan1988, author = {C.G. Ryan and E. Clayton and W.L. Griffin and S.H. Sie and D.R. Cousens}, title = {SNIP, a statistics-sensitive background treatment for the quantitative analysis of PIXE spectra in geoscience applications}, journal = {Nuclear Instruments and Methods in Physics Research Section B: Beam Interactions with Materials and Atoms}, year = {1988}, volume = {34}, pages = {396 - 402}, number = {3}, doi = {doi: 10.1016/0168-583X(88)90063-8}, issn = {0168-583X}, url = {http://www.sciencedirect.com/science/article/B6TJN-46YSYTJ-30/2/e0d015ceb8ea8a7bc0702a857a19750b} } MALDIquant/vignettes/MALDIquant-intro.Rnw0000644000176200001440000002660612624130232017706 0ustar liggesusers%\VignetteEngine{knitr} %\VignetteIndexEntry{MALDIquant: Quantitative Analysis of Mass Spectrometry Data} %\VignetteKeywords{Bioinformatics, Proteomics, Mass Spectrometry} %\VignettePackage{MALDIquant} \documentclass[12pt]{article} \usepackage{natbib} \usepackage{hyperref} \usepackage{tikz} \usepackage{bibentry} % inline bibentries \nobibliography* % no special bibliography for bibentry \newcommand{\R}{\texttt{R}} \newcommand{\CRAN}{\texttt{CRAN}} \newcommand{\Rfunction}[1]{{\texttt{#1}}} \newcommand{\Robject}[1]{{\texttt{#1}}} \newcommand{\Rpackage}[1]{{\texttt{#1}}} \newcommand{\Mq}{\Rpackage{MALDIquant}} \newcommand{\email}[1]{\href{mailto:#1}{\normalfont\texttt{#1}}} \newcommand{\workflow}{ \tikzstyle{line} = [draw, -latex] \tikzstyle{mqbox}=[rectangle, draw, text width=8.5em, text centered, minimum height=2.0em, fill=white] \begin{tikzpicture}[node distance=3.2em] % nodes \node [mqbox] (di) {Data Import}; \node [mqbox, below of=di] (qc) {Quality Control}; \node [mqbox, below of=qc] (vs) {Transformation \& Smoothing}; \node [mqbox, below of=vs] (bc) {Baseline Correction}; \node [mqbox, below of=bc] (cb) {Intensity Calibration}; \node [mqbox, below of=cb] (sa) {Spectra Alignment}; \node [mqbox, below of=sa] (pd) {Peak Detection}; \node [mqbox, below of=pd] (pb) {Peak Binning}; \node [mqbox, below of=pb] (fm) {Feature Matrix}; % edges \path [line] (di) -- (qc); \path [line] (qc) -- (vs); \path [line] (vs) -- (bc); \path [line] (bc) -- (cb); \path [line] (cb) -- (sa); \path [line] (sa) -- (pd); \path [line] (pd) -- (pb); \path [line] (pb) -- (fm); \end{tikzpicture} } \title{\Mq{}: Quantitative Analysis of Mass Spectrometry Data} \author{ Sebastian Gibb% \thanks{\email{mail@sebastiangibb.de}} } \date{\today} \begin{document} <>= library("knitr") opts_chunk$set(tidy.opts=list(width.cutoff=45), tidy=FALSE, fig.align="center", fig.height=4.25, comment=NA, prompt=TRUE) @ <>= suppressPackageStartupMessages(library("MALDIquant")) @ \maketitle \begin{abstract} \Mq{} provides a complete analysis pipeline for MALDI-TOF and other 2D mass spectrometry data.\\ This vignette describes the usage of the \Mq{} package and guides the user through a typical preprocessing workflow. \end{abstract} \clearpage \tableofcontents \section*{Foreword} \Mq{} is free and open source software for the \R{} \citep{RPROJECT} environment and under active development. If you use it, please support the project by citing it in publications: \begin{quote} \bibentry{MALDIquant} \end{quote} If you have any questions, bugs, or suggestions do not hesitate to contact me (\email{mail@sebastiangibb.de}). \\ Please visit \url{http://strimmerlab.org/software/maldiquant/}. \section{Introduction} \Mq{} comprising all steps from importing of raw data, preprocessing (e.g. baseline removal), peak detection and non-linear peak alignment to calibration of mass spectra. \Mq{} was initially developed for clinical proteomics using Matrix-Assisted Laser Desorption/Ionization (MALDI) technology. However, the algorithms implemented in \Mq{} are generic and may be equally applied to other 2D mass spectrometry data. \Mq{} was carefully designed to be independent of any specific mass spectrometry hardware. Nonetheless, a lot of open and native file formates, e.g. binary data files from Bruker flex series instruments, mzXML, mzML, etc. are supported through the associated \R{} package \Rpackage{MALDIquantForeign}. \section{Setup} After starting \R{} we could install \Mq{} and \Rpackage{MALDIquantForeign} directly from \CRAN{} using \Rfunction{install.packages}: <>= install.packages(c("MALDIquant", "MALDIquantForeign")) @ Before we can use \Mq{} we have to load the package. <>= library("MALDIquant") @ \section{MALDIquant objects} \Mq{} is written in an object-oriented programming approach and uses \R{}'s S4 objects. A spectrum is represented by an \Robject{MassSpectrum} and a list of peaks by an \Robject{MassPeaks} instance. To create such objects manually we could use \Rfunction{createMassSpectrum} and \Rfunction{createMassPeaks}. In general we do not need these functions because \Rpackage{MALDIquantForeign's} import routines will generate the \Robject{MassSpectrum}/\Robject{MassPeaks} objects. <>= s <- createMassSpectrum(mass=1:10, intensity=1:10, metaData=list(name="Spectrum1")) s @ Each \Robject{MassSpectrum}/\Robject{MassPeaks} stores the mass and intensity values of a spectrum respective of the peaks. Additionally they contain a list of metadata. To access these information we use \Rfunction{mass}, \Rfunction{intensity} and \Rfunction{metaData}. <>= mass(s) intensity(s) metaData(s) @ \section{Workflow} A Mass Spectrometry Analysis often follows the same workflow (see also Fig. \ref{fig:workflow}). After importing the raw data (see also the \Rpackage{MALDIquantForeign} package) we control the quality of the spectra and draw some plots. We apply a variance-stabilizing transformation and smoothing filter. Next we remove the chemical background using a Baseline Correction method. To compare the intensities across spectra we calibrate the intensity values (often called normalization) and the mass values (warping, alignment). Subsequently we perfom a Peak Detection and do some post processing like filtering etc. \begin{figure}[htbp] \centering \begin{small} \workflow{} \caption{MS Analysis Workflow} \label{fig:workflow} \end{small} \end{figure} \clearpage \subsection{Data Import} Normally we will use some of the import methods provided by \Rpackage{MALDIquantForeign}, e.g. \Rfunction{importBrukerFlex}, \Rfunction{importMzMl}, etc. But in this vignette we will use a small example dataset shipped with \Mq{}. This dataset is a subset of MALDI-TOF data described in \cite{Fiedler2009}. <>= data(fiedler2009subset) @ \Robject{fiedler2009subset} is a \Robject{list} of 16 \Robject{MassSpectrum} objects. The 16 spectra are 8 biological samples with 2 technical replicates. <>= length(fiedler2009subset) fiedler2009subset[1:2] @ \subsection{Quality Control} For a basic quality control we test whether all spectra contain the same number of data points and are not empty. <>= any(sapply(fiedler2009subset, isEmpty)) table(sapply(fiedler2009subset, length)) @ Subsequently we control the mass difference between each data point (should be equal or monotonically increasing) because \Mq{} is designed for profile data and not for centroided data. <>= all(sapply(fiedler2009subset, isRegular)) @ Finally we draw some plots and inspect the spectra visually. <>= plot(fiedler2009subset[[1]]) plot(fiedler2009subset[[16]]) @ \subsection{Variance Stabilization} We use the square root transformation to simplify graphical visualization and to overcome the potential dependency of the variance from the mean. <>= spectra <- transformIntensity(fiedler2009subset, method="sqrt") @ \subsection{Smoothing} Next we use a 21 point Savitzky-Golay-Filter \citep{Savitzky1964} to smooth the spectra. <>= spectra <- smoothIntensity(spectra, method="SavitzkyGolay", halfWindowSize=10) @ \subsection{Baseline Correction} Before we correct the baseline we visualize it. Here we use the SNIP algorithm \citep{Ryan1988}. <>= baseline <- estimateBaseline(spectra[[16]], method="SNIP", iterations=100) plot(spectra[[16]]) lines(baseline, col="red", lwd=2) @ If we are satisfied with our estimated baseline we remove it. <>= spectra <- removeBaseline(spectra, method="SNIP", iterations=100) plot(spectra[[1]]) @ \subsection{Intensity Calibration/Normalization} For better comparison and to overcome (very) small batch effects we equalize the intensity values using the Total-Ion-Current-Calibration (often called normalization). <>= spectra <- calibrateIntensity(spectra, method="TIC") @ \subsection{Warping/Alignment} Now we (re)calibrate the mass values. Our alignment procedure is a peak based warping algorithm. If you need a finer control or want to investigate the impact of different parameters please use \Rfunction{determineWarpingFunctions} instead of the easier \Rfunction{alignSpectra}. <>= spectra <- alignSpectra(spectra, halfWindowSize=20, SNR=2, tolerance=0.002, warpingMethod="lowess") @ Before we call the Peak Detection we want to average the technical replicates. Therefore we look for the sample name that is stored in the metadata because each technical replicate has the same sample name. <>= samples <- factor(sapply(spectra, function(x)metaData(x)$sampleName)) @ Next we use \Rfunction{averageMassSpectra} to create a mean spectrum for each biological sample. <>= avgSpectra <- averageMassSpectra(spectra, labels=samples, method="mean") @ \subsection{Peak Detection} The next crucial step is the Peak Detection. Before we perform the peak detection algorithm we estimate the noise of the spectra to get a feeling for the signal-to-noise ratio. <>= noise <- estimateNoise(avgSpectra[[1]]) plot(avgSpectra[[1]], xlim=c(4000, 5000), ylim=c(0, 0.002)) lines(noise, col="red") lines(noise[,1], noise[, 2]*2, col="blue") @ We decide to use a signal-to-noise ratio of 2 (blue line). <>= peaks <- detectPeaks(avgSpectra, method="MAD", halfWindowSize=20, SNR=2) plot(avgSpectra[[1]], xlim=c(4000, 5000), ylim=c(0, 0.002)) points(peaks[[1]], col="red", pch=4) @ \subsection{Peak Binning} After the alignment the peak positions (mass) are very similar but not identical. The binning is needed to make similar peak mass values identical. <>= peaks <- binPeaks(peaks, tolerance=0.002) @ \subsection{Feature Matrix} We choose a very low signal-to-noise ratio to keep as much features as possible. To remove some false positive peaks we remove less frequent peaks. <>= peaks <- filterPeaks(peaks, minFrequency=0.25) @ At the end of the analysis we create a feature matrix that could be used in further statistical analysis. Please note that missing values (not detected peaks) are imputed/interpolated from the corresponding spectrum. <>= featureMatrix <- intensityMatrix(peaks, avgSpectra) head(featureMatrix[, 1:3]) @ \section{Summary} We shortly described a complete example workflow of a mass spectrometry data analysis. Please note that this workflow is only an example and could not cover every use case.\\ \Mq{} provides a lot of more functions than we mentioned in this vignette. The described functions are the most used ones but they have a lot of more parameters which could/need adjust to your data (e.g. \Robject{halfWindowSize}, \Robject{SNR}, \Robject{tolerance}, etc.). That's why we suggest the user to read the manual pages of theses functions carefully.\\ We also provide more examples in the demo directory and at: \begin{quote} \url{http://strimmerlab.org/software/maldiquant/} \end{quote} Please do not hesitate to contact me (\email{mail@sebastiangibb.de}) if you have any questions. \section{Session Information} <>= toLatex(sessionInfo(), locale=FALSE) @ \bibliographystyle{apalike} \bibliography{bibliography} \end{document} MALDIquant/MD50000644000176200001440000003117313466074353012501 0ustar liggesusers702bd494fbe7b577b3d1dff1e02cab87 *DESCRIPTION dde090790b0c449acd7a6bbb20f3f49e *NAMESPACE 12ab973c1f94e6776d0c35e5b63fbd1b *NEWS 2d718254fdc4b0015d8b6afbd5b1ef1c *R/AllClasses.R 4eb6f49b08858814130a5f6ee112d291 *R/AllGenerics.R 339a94899120936b51b692058b568e3b *R/Deprecated.R c97fcb1d020bd6a28f5e4d05c84f8bc5 *R/alignSpectra-functions.R 13883e11409f9ff0b487b9421add1f79 *R/approxfun-methods.R 25f2ff4cdb02a7a350210a9277619a78 *R/as-methods.R c9fd6af49b4e369d9952c58bc8e6281f *R/as.matrix-functions.R 5e8740cbbfe2ed6dd01866d0fb66b3e0 *R/as.matrix-methods.R 3bfcf3b137218748198b55f6988be989 *R/averageMassSpectra-functions.R b10789a7cb1815784fe972d6ffda7729 *R/binPeaks-functions.R e3e59f5908c6862234b76cf33ae8873e *R/calculateLabelPositions-functions.R e1484e422d1bd8b6456ff9a07bab9b5b *R/calibrateIntensity-functions.R 0a011b244f72ab39478fe170b223cd8c *R/calibrateIntensity-methods.R 71ff2cddb13a79d4b47f62c3698979fb *R/colMedians-functions.R 3643b8346119c55c42668acfc409d1d7 *R/constructor-functions.R 365f71ca6890fc8812e5058dd42560d8 *R/coordinates-methods.R 0a12a58641b937a488debd2c310fd68f *R/deprecated-functions.R eafa4318646d3084a93d185852bbc5cd *R/detectPeaks-methods.R 9ae7c4290a8678c987b77f2fb45813e6 *R/determineWarpingFunctions-functions.R 57d54099884e47e5302099d892df3d01 *R/doByLabels-functions.R 2fdf7431b55c6ec4735c790c3300701e *R/estimateBaseline-functions.R 3fcfde8fc894579f40eb18c973ac169a *R/estimateBaseline-methods.R abfe7e1ddaa8569d9dcc8a8dda43da66 *R/estimateNoise-functions.R 798c6c0fd55b12b6030041ad1292a561 *R/estimateNoise-methods.R fcbfc71ea66639624596ce6563789f91 *R/filterPeaks-functions.R d5511c4c2b3a3081753eff26603f0f97 *R/findEmptyMassObjects-functions.R 4a1e164c5b42fb4fe278d8326dfe4437 *R/findLocalMaxima-methods.R c7c921f12365c5fb0cf8ac5f393052d8 *R/grouper-functions.R 0148eb7f0c7b87b2e380f789b233844b *R/intensity-methods.R 028f25378295573379b33999ca971738 *R/intensityMatrix-functions.R 6ffdd9e70128455490493538eb80d97d *R/irregular-functions.R 52fe5c7f771f7668ca80036cd04ae15f *R/isEmpty-methods.R 6208de5161e55549ee7682526fb74761 *R/isFunctionList-functions.R 8093930b85d774d43001a41cdbda2c2a *R/isMassObject-functions.R 6b42fa89a14090c116245fa5c84f9ec7 *R/isMassObjectList-functions.R 29a70201225e38babc9960030eacfaea *R/isRegular-methods.R bf131974b05cf326cf41eafcda90f78e *R/isValidHalfWindowSize-functions.R 7f859aebd916b0e72e7ce650b2f02cee *R/labelPeaks-methods.R 2df22e672bec493ca30732ad04748bb8 *R/lapply-functions.R d813e5cc45bfa88a09a6df84d81a31da *R/length-methods.R 6cb116fcca286eac128f58b6d5665a77 *R/lines-methods.R 3cd216c8076dd929e262791c75405025 *R/localMaxima-functions.R 7a2c61ddf4d6eaf0aae1c09131501ea8 *R/mapply-functions.R 09234c4655a45dce3e77ebee7c4daeb7 *R/mass-methods.R 840a8d10d188a4966eb43ccb71e40445 *R/match.closest-functions.R 2ddd078c28342238880b24777aac4f06 *R/memoryUsage-functions.R dddb705965cf74d9c70adf0c364d783c *R/merge-functions.R 6dbbe512dbebcc8271abdcb813ff1751 *R/metaData-methods.R 419863fffd61d9a36079af74c899b47e *R/monoisotopic-functions.R 17df8ea5914d3234d610088653225901 *R/monoisotopicPeaks-methods.R 69ec5cbd168514cfc2b753a51e736642 *R/morphologicalFilter-functions.R 25d1cb691610de16a4a0e5705b399851 *R/msiSlices-functions.R bf8d6c724a39f8e95e005139838a4132 *R/mz-methods.R f0facd86d5a8cb6666f81e26d5f30541 *R/onAttach.R b56f169323d4ceb235c06c00471f276b *R/plot-methods.R 8270c54ea378d80de0552767bdaea8ee *R/plotMsiSlice-functions.R 0bf4fc77515482346a626ab19f6a86ce *R/plotMsiSlice-methods.R 585ca2d3e4caf034fe439880f80cd851 *R/points-methods.R 921a82d215e2b27fc4b25d52dec737b3 *R/range-functions.R bb3fdff5e0c091f1d5d5308d400c894b *R/referencePeaks-functions.R 2b24f4d363b225fea7033dda720712ea *R/removeBaseline-methods.R b8daf1489b34c9aa50d2a5ff7cb2a456 *R/removeEmptyMassObjects-functions.R f9ba77c6c6a9c67f91533ff1fbda3103 *R/reorder-functions.R 5b8fdede05ddcc4689b8526ad11cdee2 *R/replaceNegativeIntensityValues-functions.R 25975073b46d346f6c4617230eadc59a *R/show-functions.R 882bd513a892fb565c706b980203d2fd *R/show-methods.R ed9f33211f56b6a4b21015aeb5afa989 *R/smoothIntensity-methods.R 714e3905718ce372699e70e9ff8d5681 *R/smoothingFilters-functions.R 514a95a735d12a62855b4687136a8d97 *R/snr-methods.R 0b72803222d46ec27578e16d8664a794 *R/subset-methods.R 372edec5ccedb2cf61dcd821e8bda450 *R/totalIonCurrent-methods.R 70e35627ddd5c1522a499574652d35ab *R/transformIntensity-methods.R d2fba9c90fd2b3d482571a772819c416 *R/trim-methods.R e5a957e3665317ec1e6f1aa7631d2cc7 *R/unlist-functions.R 8626c8afb82f7ee5559c3954536dc476 *R/valid-methods.R 02465762be6507f6376ca0d0b63bdef4 *R/warp-functions.R 6cfb13e8b0858cd2981bc9b84ebc1bb6 *R/warpingFunction-functions.R 959fe64c1e0a0acb7331485cc213f382 *build/vignette.rds 325598b0f8bcbe241bf33882d83b6f85 *data/fiedler2009subset.RData b1d4b3db5f8a9d68fc4692e30026986e *demo/00Index cd6a6ad12205a639b80a67a1a5080723 *demo/MALDIquant.R 60f1b0632cab1b99c864a9e7c27bfa7c *demo/baseline.R 9d4b1343695f6eb16b6fec4a8f1a4839 *demo/peaks.R c250741acaccf4baa0b0f9f3a2d8933f *demo/warping.R c9360cb1fb38da8fc547d5ad59422b5b *demo/workflow.R 45e944c7928cff18a5275b4dc5ff1288 *inst/CITATION 5bcd1c7abae66e68fe9dc628e5e7324b *inst/doc/MALDIquant-intro.R 1e51473c26e4202ac6b4f6123caba9e1 *inst/doc/MALDIquant-intro.Rnw 09a22adb436a232e8f771d866c86ace9 *inst/doc/MALDIquant-intro.pdf 5e14a19e63c962dd102a51577928ec17 *man/AbstractMassObject-class.Rd c1713d2d9b7cf6f8f2d9b6fb60594e41 *man/MALDIquant-defunct.Rd bfcc36bbb605f08d9d49ee40c5ffa7ca *man/MALDIquant-deprecated.Rd 44e8639a6892a115020e7283007560fb *man/MALDIquant-package.Rd 44ac0545483a5cf18f1f8e7c53a6e433 *man/MALDIquant-parallel.Rd 706372c2b5dfc122801e51546a814b89 *man/MassPeaks-class.Rd ad08ffc779a2cb1a3b644414b580ad60 *man/MassSpectrum-class.Rd e3fd84f85837ca588fe532b04e449f92 *man/alignSpectra-functions.Rd 259ee82b6bdbc8c970dce986b46e5ba3 *man/averageMassSpectra-functions.Rd 177d81e10d76317a9ba5f2f90543e1ed *man/binPeaks-functions.Rd b69e1b1078d85e372ffb060ca9f7ed21 *man/calibrateIntensity-methods.Rd acedda01a5c43805f5869759bf1d8a3a *man/createMassPeaks-functions.Rd 30c86bc22623778724e87f2367a98205 *man/createMassSpectrum-functions.Rd fa021d2215691899b7f441a35cdcfad3 *man/detectPeaks-methods.Rd c8e902802ba82c97d56cae1bcc99bc39 *man/determineWarpingFunctions-functions.Rd 0dda81c2d55eaa76af65fe919fca1c9d *man/estimateBaseline-methods.Rd ba15ac52b921d707033bfdfb6eb5c641 *man/estimateNoise-methods.Rd e0ba47d418a460fe74d3cb5075bf9466 *man/fiedler2009subset.Rd 96176739bda274f169e7ba912ed5f4e7 *man/filterPeaks-functions.Rd f82c0d14f1d7a8cada86047e1f0c172a *man/findEmptyMassObjects-functions.Rd dd2a0fb36bb864a09b79a294e5f1f1d5 *man/intensityMatrix-functions.Rd a0ad3cf98d26953dd93aa84eb4bf8298 *man/isMassObject-functions.Rd c11136206258d7b34948bca285f7e927 *man/isMassObjectList-functions.Rd 8f8bb09592b1a47e25daa155c2c28c06 *man/labelPeaks-methods.Rd ca65218266ae56155d1d6f7b23c34773 *man/match.closest.Rd fa8b97f3c7c798f0d54959c5a291ec51 *man/mergeMassPeaks-functions.Rd ce3530daa7b7b398a6e60c333fad3615 *man/monoisotopicPeaks-methods.Rd f71932d026a6053597b707a0463ae833 *man/msiSlices-functions.Rd 19053d9f659cce26ce91c52998a38b91 *man/plot-methods.Rd 3355021c9ac7ae7709266ad37e16841b *man/plotMsiSlice-methods.Rd a53d303afa6a67a9dfb579774bdd60c9 *man/referencePeaks-functions.Rd 9ca8f5f6f2b094a3258a64ec9ac50a5b *man/removeBaseline-methods.Rd 8ef9226a8c6afba7bcb5659e40894df8 *man/smoothIntensity-methods.Rd f18ff018fa638fbffc409ac7ccafab02 *man/transformIntensity-methods.Rd 9617d37f692191380be29af53438adad *man/trim-methods.Rd 5e9e70d7803c40258f01662d21c2b75e *man/warp-functions.Rd 38415d834917f303276bbfc4ae7af2c6 *src/MALDIquant.h 60981e9053676a37966435e95997ab2b *src/colMedians.c 7e79decc63a6cc375710d9045502d201 *src/init.c 84bbe5fae4c01cf58bf6849828eb1775 *src/localMaxima.c d7dc99ca5017916b68b3a71a37927789 *src/lowerConvexHull.c 6fad5941d2d7d8188cc07e2ae7391583 *src/morphologicalFilters.c 5ea261ad15a1cc2d9bdbbbceff8c6ee6 *src/snip.c 912144481b4c12b9881702c42f4ad11a *tests/testthat.R 9c825d5a90431cebbd9c3bf922cd23f5 *tests/testthat/test_alignSpectra-functions.R 87882b2cc3fda7dd9b40f260ad9aa433 *tests/testthat/test_approxfun-methods.R 877e22ad7ab1e8fc76de37ff7eb83a71 *tests/testthat/test_as-methods.R 8e701cc8a2da430957729275bf9e855d *tests/testthat/test_as.matrix-functions.R 6190f4bc3eba28a0bc2a1deef66ad37f *tests/testthat/test_as.matrix-methods.R f0c6d6810ac4af4e7e14af64ff0c0c90 *tests/testthat/test_averageMassSpectra-functions.R 8f1e4bf6575436c46beb79d0277d0f4e *tests/testthat/test_binPeaks-functions.R a98a6fd8a8a621ad46a3e0fc5c100bf0 *tests/testthat/test_calculateLabelPositions-functions.R 485ab564461621a410af15e00f405859 *tests/testthat/test_calibrateIntensity-methods.R 3afe885fa30e5a67fccd44a1e657f30d *tests/testthat/test_colMedians-functions.R 9b036663d22c00efd5bf52767af7c08e *tests/testthat/test_constructor-functions.R 6d40c0bae99eff350b71995c3d70a31d *tests/testthat/test_coordinates-methods.R 4697bcf0bf73a2b7df6b756217c18098 *tests/testthat/test_deprecated-functions.R 255d018afbadf2a359bf0bbcfb940426 *tests/testthat/test_detectPeaks-methods.R d66ddd43f9bc8422e701d706b72f0c90 *tests/testthat/test_determineWarpingFunctions-functions.R 7f7afb275f167ad815b6452ccf96ffc3 *tests/testthat/test_doByLabel-functions.R e199e579e823e1c6948c4cbd1b1b4901 *tests/testthat/test_estimateBaseline-methods.R 0f42dd3217c3f6f4bfba6fc4841809ea *tests/testthat/test_estimateNoise-methods.R 01f20533d0cf0f2df4d95acf46d57be4 *tests/testthat/test_filterPeaks-functions.R 02c1acf4643d208a4798a5f92881ce7e *tests/testthat/test_findEmptyMassObjects-functions.R f6ab8ca435902df81a693a91a1787173 *tests/testthat/test_findLocalMaximaLogical-methods.R 54edc8be527b360fe1f0bdc839666f52 *tests/testthat/test_grouper-functions.R 4249736cf2705a5d7262520fcce5fd0f *tests/testthat/test_intensity-methods.R 426ec9eb63e0657105db3932fd059d0f *tests/testthat/test_intensityMatrix-functions.R e7e4ca7db4bbb320585c96ffb101d616 *tests/testthat/test_irregular-functions.R f5fd81bf06eb29a1dcc9d197df725f4f *tests/testthat/test_isEmpty-methods.R 039cbd41e8a2db1ab24ffa2041fc80cf *tests/testthat/test_isMassObject-functions.R 9edba7830c5c0804514173de766e0278 *tests/testthat/test_isMassObjectList-functions.R bd05f7675f25fa54a905c23935ed5297 *tests/testthat/test_isRegular-methods.R 10bd38217cbb526263eb1d1b50c638a7 *tests/testthat/test_labelPeaks-methods.R d3da7be2d02d75e4d71d8e78690b4815 *tests/testthat/test_length-methods.R 73ddd27b5828b3527b180fbd996e5da8 *tests/testthat/test_localMaxima-functions.R 9bd02e48066c5b7fcdf2c0d2a2d037b9 *tests/testthat/test_mapply-functions.R 7af4eff6b2653619b6d0207e4b632bb5 *tests/testthat/test_mass-methods.R 42113be6a7643d1763a9e6c1a9e900d8 *tests/testthat/test_match.closest-functions.R 316f6eec9709cd9af17af7663017b612 *tests/testthat/test_merge-functions.R 2482b2ef93732be18165854c43e5a465 *tests/testthat/test_metaData-methods.R 9ee9d982b83469a6d177bc9928dd9d14 *tests/testthat/test_monoisotopic-functions.R 35d429ebf49917bc761025f6a2b8d92e *tests/testthat/test_monoisotopicPeaks-methods.R 410f5be8602e350599b72e43d8dbe06c *tests/testthat/test_morphologicalFilter-functions.R 50aeb369a16cfc3fc163b7809dc5dd41 *tests/testthat/test_msiSlices-functions.R 8c9b4dd097e8e52bd1d1e7579fb75a42 *tests/testthat/test_mz-methods.R d612615fbbaed6489f9d4bbb19f63288 *tests/testthat/test_plotMsiSlice-functions.R 5837bbd87f33a207f4ce1f2eb06f9ecb *tests/testthat/test_plotMsiSlice-methods.R 6556b3d36feecc3ea4d6c32838524364 *tests/testthat/test_range-functions.R 06e01c3d7fd0446c22a64f367e378458 *tests/testthat/test_referencePeaks-functions.R 114d273f2812fd16b59a89c588d3aec8 *tests/testthat/test_removeBaseline-methods.R 5538905e86196d2f85f456f1e276dd15 *tests/testthat/test_removeEmptyMassObjects-functions.R 98c87f1a8dbd355fcb9aeb03017d6c7f *tests/testthat/test_reorder.R 399cb71acb1570fcdc4d42104f3de431 *tests/testthat/test_replaceNegativeIntensityValues.R 494cf7199210056664cec5ed98ce6c5f *tests/testthat/test_show-methods.R 0eb0cabcd3296438327e43317c414c0e *tests/testthat/test_smoothIntensity-methods.R d52835362955a6b06623a6f224f7e119 *tests/testthat/test_smoothingFilters-functions.R 07d474fe08b42562cbc63ed383c48e8f *tests/testthat/test_snr-methods.R baba5299f469d4cfc0b02f88031d5d95 *tests/testthat/test_subset-methods.R 63a2139834341232083d42588ef952f4 *tests/testthat/test_totalIonCurrent-methods.R 583fe1a5e4c00b90f776712dcc30b1af *tests/testthat/test_transformIntensity-methods.R 1f8f2983ae47f276db0a97aa8750ae6e *tests/testthat/test_trim-methods.R 2b8c608f99e0bd7f9165af86bbc15dfb *tests/testthat/test_unlist-functions.R dc2bac6f8e7b0305966ce9d34c7939d4 *tests/testthat/test_valid-functions.R 67e2bfb8da9e408214939ddff4a6ad70 *tests/testthat/test_warp-functions.R e9fcbba719208af5463784ad2ca27699 *tests/testthat/test_warpingFunctions-functions.R 1e51473c26e4202ac6b4f6123caba9e1 *vignettes/MALDIquant-intro.Rnw 5c072541fc956025aecacd9dc2129c6a *vignettes/bibliography.bib MALDIquant/build/0000755000176200001440000000000013466070447013263 5ustar liggesusersMALDIquant/build/vignette.rds0000644000176200001440000000042513466070447015623 0ustar liggesusersQN0 Nnc@yP5 pM$PƓ3\2)vb}~ !>tfG2F^χ.LHUY1sm܊O`KT/!"X][~]fO uL'$1PLO[ݓPBfJ('1m4heAȤD;:=o^^`-&X:o}&^OoտX*p۬ ;$G)0EE8MALDIquant/DESCRIPTION0000644000176200001440000000311713466074353013674 0ustar liggesusersPackage: MALDIquant Version: 1.19.3 Date: 2019-05-12 Title: Quantitative Analysis of Mass Spectrometry Data Authors@R: c(person("Sebastian", "Gibb", role=c("aut", "cre"), email="mail@sebastiangibb.de", comment=c(ORCID="0000-0001-7406-4443")), person("Korbinian", "Strimmer", role="ths", comment=c(ORCID="0000-0001-7917-2056"))) Depends: R (>= 3.2.0), methods Imports: parallel Suggests: knitr, testthat (>= 0.8) Description: A complete analysis pipeline for matrix-assisted laser desorption/ionization-time-of-flight (MALDI-TOF) and other two-dimensional mass spectrometry data. In addition to commonly used plotting and processing methods it includes distinctive features, namely baseline subtraction methods such as morphological filters (TopHat) or the statistics-sensitive non-linear iterative peak-clipping algorithm (SNIP), peak alignment using warping functions, handling of replicated measurements as well as allowing spectra with different resolutions. License: GPL (>= 3) URL: http://strimmerlab.org/software/maldiquant/ https://github.com/sgibb/MALDIquant/ BugReports: https://github.com/sgibb/MALDIquant/issues/ LazyLoad: yes VignetteBuilder: knitr RoxygenNote: 6.1.1 NeedsCompilation: yes Packaged: 2019-05-12 19:16:55 UTC; sebastian Author: Sebastian Gibb [aut, cre] (), Korbinian Strimmer [ths] () Maintainer: Sebastian Gibb Repository: CRAN Date/Publication: 2019-05-12 19:50:03 UTC MALDIquant/man/0000755000176200001440000000000013466066276012744 5ustar liggesusersMALDIquant/man/determineWarpingFunctions-functions.Rd0000644000176200001440000001234613376771454022445 0ustar liggesusers\name{determineWarpingFunctions} \alias{determineWarpingFunctions} \title{ Determine warping functions of MassPeaks objects. } \description{ This function determines a warping function for a list of \code{\linkS4class{AbstractMassObject}} objects (warping is also known as \emph{phase correction/spectra alignment}). } \usage{ determineWarpingFunctions(l, reference, tolerance=0.002, method=c("lowess", "linear", "quadratic", "cubic"), allowNoMatches=FALSE, plot=FALSE, plotInteractive=FALSE, \dots) } \arguments{ \item{l}{ \code{list}, list of \code{\linkS4class{MassPeaks}} objects. } \item{reference}{ \code{\linkS4class{MassPeaks}}, reference object to which the samples (\code{l}) should be aligned. If missing \code{\link[MALDIquant]{referencePeaks}} is used. } \item{tolerance}{ \code{double}, maximal relative deviation of a peak position (mass) to be considered as identical. Must be multiplied by \code{10^-6} for ppm, e.g. use \code{tolerance=5e-6} for 5 ppm. } \item{method}{ used basic warping function. } \item{allowNoMatches}{ \code{logical}, don't throw an error if an \code{\linkS4class{MassPeaks}} object could not match to the \code{reference}. } \item{plot}{ \code{logical}, if \code{TRUE} a warping plot is drawn for each sample. } \item{plotInteractive}{ \code{logical}, if \code{FALSE} a non-interactive device (e.g. \code{pdf}) is used for warping plots. } \item{\dots}{ arguments to be passed to \code{warpingFunction} } } \details{ \code{warpingFunction}: \code{determineWarpingFunctions} estimates a warping function to overcome the difference between mass in \code{reference} and in the current sample. To calculate the differences each reference peak would match with the highest sample peak in the nearer neighborhood (defined by \code{mass of reference peak*tolerance}). \cr \code{allowNoMatches}: If \code{allowNoMatches} is \code{TRUE} a warning instead of an error is thrown if an \code{\linkS4class{MassPeaks}} object could not match to the \code{reference}. The returned list of warping functions will contain \code{NA} for this object (same index in the list). \code{plotInteractive}: If \code{plot} is \code{TRUE} a lot of output is created (each sample in \code{l} gets its own plot). That's why an non-interactive devices is recommended: \preformatted{ ## create a device pdf() ## calculate warping functions w <- determineWarpingFunctions(p, plot=TRUE) ## close device dev.off() } } \value{ Returns a \code{list} of individual warping functions. The attribute \code{nmatch} contains the number of matches of each \code{\linkS4class{MassPeaks}} element in \code{l} against \code{reference}. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{referencePeaks}}, \code{\link[MALDIquant]{warpMassPeaks}}, \code{\link[MALDIquant]{warpMassSpectra}}, \code{\linkS4class{MassPeaks}} \code{demo("warping")} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create a reference MassPeaks object r <- createMassPeaks(mass=1:5, intensity=1:5) ## create test samples p <- list(createMassPeaks(mass=((1:5)*1.01), intensity=1:5), createMassPeaks(mass=((1:5)*0.99), intensity=1:5)) ## create an interactive device with 2 rows par(mfrow=c(2, 1)) ## calculate warping function ## (using a linear function as basic warping function) ## and show warping plot w <- determineWarpingFunctions(p, tolerance=0.02, method="linear", plot=TRUE, plotInteractive=TRUE) par(mfrow=c(1, 1)) ## access number of matches attr(w, "nmatch") ## w contains the individual warping functions warpedPeaks <- warpMassPeaks(p, w) ## compare results all(mass(r) == mass(warpedPeaks[[1]])) # TRUE all(mass(r) == mass(warpedPeaks[[2]])) # TRUE ## realistic example ## load example data data("fiedler2009subset", package="MALDIquant") ## running typical workflow ## use only four spectra of the subset spectra <- fiedler2009subset[1:4] ## transform intensities spectra <- transformIntensity(spectra, method="sqrt") ## smooth spectra spectra <- smoothIntensity(spectra, method="MovingAverage") ## baseline correction spectra <- removeBaseline(spectra) ## detect peaks peaks <- detectPeaks(spectra) ## create an interactive device with 2 rows par(mfrow=c(4, 1)) ## calculate warping functions (using LOWESS based basic function [default]) w <- determineWarpingFunctions(peaks, plot=TRUE, plotInteractive=TRUE) par(mfrow=c(1, 1)) ## realistic example with user defined reference/calibration peaks ## use the workflow above for fiedler2009subset ## create reference peaks refPeaks <- createMassPeaks(mass=c(1207, 1264, 1351, 1466, 1616, 2769, 2932, 3191, 3262, 4091, 4209, 5904, 7762, 9285), intensity=rep(1, 14)) ## create an interactive device with 2 rows par(mfrow=c(4, 1)) ## calculate warping functions (using a quadratic function as basic function) w <- determineWarpingFunctions(peaks, reference=refPeaks, method="quadratic", plot=TRUE, plotInteractive=TRUE) par(mfrow=c(1, 1)) } \keyword{methods} MALDIquant/man/findEmptyMassObjects-functions.Rd0000644000176200001440000000365112624130232021316 0ustar liggesusers\name{findEmptyMassObjects} \alias{findEmptyMassObjects} \alias{removeEmptyMassObjects} \title{ Finds or removes empty AbstractMassObject objects in a list. } \description{ These functions looks for empty \code{\linkS4class{AbstractMassObject}} objects in a \code{\link{list}}. } \usage{ findEmptyMassObjects(l) removeEmptyMassObjects(l) } \arguments{ \item{l}{ \code{list}, list of \code{\linkS4class{AbstractMassObject}} where empty objects should be found or removed. } } \value{ \code{findEmptyMassObjects}: Returns a \code{\link{vector}} of indices referring to empty \code{\linkS4class{AbstractMassObject}} objects. \code{removeEmptyMassObjects}: Returns a \code{\link{list}} of \code{\linkS4class{AbstractMassObject}} objects but without empty ones. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{isEmpty,AbstractMassObject-method}}, \code{\linkS4class{AbstractMassObject}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create list peakList <- list() ## create two MassPeaks objects and add them to the list peakList[[1]] <- createMassPeaks(mass=1:100, intensity=1:100, metaData=list(name="example 1")) peakList[[2]] <- createMassPeaks(mass=1:100, intensity=1:100, metaData=list(name="example 2")) ## find empty objects (there should not be any one) findEmptyMassObjects(peakList) ## add an empty MassPeaks object to the list peakList[[3]] <- createMassPeaks(mass=double(), intensity=double(), metaData=list(name="empty MassPeaks object")) ## look for empty objects (isEmptyIdx == 3) (isEmptyIdx <- findEmptyMassObjects(peakList)) ## to remove all empty MassObjects from a list length(peakList) # 3 peakList <- removeEmptyMassObjects(peakList) length(peakList) # 2; WARNING: all indices could changed } \keyword{methods} MALDIquant/man/estimateNoise-methods.Rd0000644000176200001440000000404112624130232017457 0ustar liggesusers\name{estimateNoise-methods} \docType{methods} \alias{estimateNoise} \alias{estimateNoise,MassSpectrum-method} \title{Estimates the noise of a MassSpectrum object.} \description{ This method estimates the noise of mass spectrometry data (represented by a \code{\linkS4class{MassSpectrum}} object).\cr } \usage{ \S4method{estimateNoise}{MassSpectrum}(object, method=c("MAD", "SuperSmoother"), \dots) } \arguments{ \item{object}{\code{\linkS4class{MassSpectrum}} object} \item{method}{used noise estimation method, one of \code{"MAD"} or \code{"SuperSmoother"}. } \item{\dots}{arguments to be passed to \code{method}.} } \details{ \describe{ \item{\code{"MAD"}:}{ This function estimates the noise of mass spectrometry data by calculating the median absolute deviation, see also \code{\link[stats]{mad}}. } \item{\code{"SuperSmoother"}:}{ This function estimates the noise of mass spectrometry data using Friedman's Super Smoother. Please refer \code{\link[stats]{supsmu}} for details and additional arguments. } } } \value{ Returns a two column matrix (first column: mass, second column: intensity) of the estimated noise. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassSpectrum}}, \code{\link[MALDIquant]{detectPeaks,MassSpectrum-method}}, \code{\link[stats]{mad}}, \code{\link[stats]{supsmu}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## choose only the first mass spectrum s <- fiedler2009subset[[1]] ## transform intensities s <- transformIntensity(s, method="sqrt") ## remove baseline s <- removeBaseline(s) ## plot spectrum plot(s) ## estimate noise nm <- estimateNoise(s, method="MAD") nss <- estimateNoise(s, method="SuperSmoother") ## draw noise on the plot lines(nm, col=2) lines(nss, col=4) ## draw legend legend(x="topright", lwd=1, legend=c("MAD", "SuperSmoother"), col=c(2, 4)) } \keyword{methods} MALDIquant/man/trim-methods.Rd0000644000176200001440000000333312672203466015641 0ustar liggesusers\name{trim-methods} \docType{methods} \alias{trim} \alias{trim,AbstractMassObject,numeric-method} \alias{trim,list,numeric-method} \alias{trim,list,missing-method} \title{Trim an AbstractMassObject object.} \description{ This method trims an \code{\linkS4class{AbstractMassObject}} object. That is useful if some mass ranges should be excluded from further analysis. } \usage{ \S4method{trim}{AbstractMassObject,numeric}(object, range) \S4method{trim}{list,numeric}(object, range, \dots) \S4method{trim}{list,missing}(object, range, \dots) } \arguments{ \item{object}{\code{\linkS4class{AbstractMassObject}} object or a \code{list} of \code{\linkS4class{AbstractMassObject}} objects.} \item{range}{\code{numeric}, limits of trimming (left/minimal mass, right/maximal mass). If missing it is automatically determined (largest overlapping mass range) for a \code{list} of \code{\linkS4class{AbstractMassObject}}.} \item{\dots}{arguments to be passed to underlying functions (currently only \code{mc.cores} is supported).} } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{AbstractMassObject}}, \code{\linkS4class{MassPeaks}}, \code{\linkS4class{MassSpectrum}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## select only one spectrum s <- fiedler2009subset[[1]] ## remove all mass lower 3000 trim(s, range=c(3000, Inf)) ## remove all mass higher 8000 trim(s, range=c(0, 8000)) ## remove all mass lower 3000 and higher 8000 trim(s, range=c(3000, 8000)) ## choose largest overlapping mass range for all spectra trim(fiedler2009subset) } \keyword{methods} MALDIquant/man/estimateBaseline-methods.Rd0000644000176200001440000001231212624130232020124 0ustar liggesusers\name{estimateBaseline-methods} \docType{methods} \alias{estimateBaseline} \alias{estimateBaseline,MassSpectrum-method} \title{Estimates the baseline of a MassSpectrum object.} \description{ This method estimates the baseline of mass spectrometry data (represented by a \code{\linkS4class{MassSpectrum}} object).\cr } \usage{ \S4method{estimateBaseline}{MassSpectrum}(object, method=c("SNIP", "TopHat", "ConvexHull", "median"), \dots) } \arguments{ \item{object}{\code{\linkS4class{MassSpectrum}} object} \item{method}{used baseline estimation method, one of \code{"SNIP"}, \code{"TopHat"}, \code{"ConvexHull"} or \code{"median"}. } \item{\dots}{arguments to be passed to \code{method}} } \details{ \describe{ \item{\code{"SNIP"}:}{ This baseline estimation is based on the Statistics-sensitive Non-linear Iterative Peak-clipping algorithm (SNIP) described in Ryan et al 1988.\cr The algorithm based on the following equation: \deqn{y_i(k) = \min \{ y_i, \frac{(y_{i-k}+y_{i+k})}{2} \}}{y_i(k) = min \{ y_i, (y_{i-k}+y_{i+k})/2 \}} It has two additional arguments namely \code{iterations} and \code{decreasing}. \code{iterations} controls the window size (\emph{k}; similar to \code{halfWindowSize} in \code{"TopHat"}, \code{"Median"}) of the algorithm. The resulting window reaches from \code{mass[cur_index-iterations]} to \code{mass[cur_index+iterations]}. \code{decreasing}: In Morhac 2009 a decreasing clipping window is suggested to get a smoother baseline. For \code{decreasing = TRUE} (\code{decreasing = FALSE}) \emph{k}=\code{iterations} is decreased (increased) by one until zero (\code{iterations}) is reached. The default setting is \code{decreasing = TRUE}. } \item{\code{"TopHat"}:}{ This algorithm applies a moving minimum (erosion filter) and subsequently a moving maximum (dilation filter) filter on the intensity values. The implementation is based on van Herk 1996. It has an additional \code{halfWindowSize} argument determining the half size of the moving window for the TopHat filter. The resulting window reaches from \code{mass[cur_index-halfWindowSize]} to \code{mass[cur_index+halfWindowSize]}. } \item{\code{"ConvexHull"}:}{ The baseline estimation is based on a convex hull constructed below the spectrum. } \item{\code{"median"}:}{ This baseline estimation uses a moving median. It is based on \code{\link[stats]{runmed}}. The additional argument \code{halfWindowSize} corresponds to the \code{k} argument in \code{\link[stats]{runmed}} (\code{k = 2 * halfWindowSize + 1}) and controls the half size of the moving window. The resulting window reaches from \code{mass[cur_index-halfWindowSize]} to \code{mass[cur_index+halfWindowSize]}. } } } \value{ Returns a two column matrix (first column: mass, second column: intensity) of the estimated baseline. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \references{ \code{"SNIP"}:\cr C.G. Ryan, E. Clayton, W.L. Griffin, S.H. Sie, and D.R. Cousens. 1988. Snip, a statistics-sensitive background treatment for the quantitative analysis of pixe spectra in geoscience applications. Nuclear Instruments and Methods in Physics Research Section B: Beam Interactions with Materials and Atoms, 34(3): 396-402. M. Morhac. 2009. An algorithm for determination of peak regions and baseline elimination in spectroscopic data. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, 600(2), 478-487. \code{"TopHat"}:\cr M. van Herk. 1992. A Fast Algorithm for Local Minimum and Maximum Filters on Rectangular and Octagonal Kernels. Pattern Recognition Letters 13.7: 517-521. J. Y. Gil and M. Werman. 1996. Computing 2-Dimensional Min, Median and Max Filters. IEEE Transactions: 504-507. \code{"ConvexHull"}:\cr Andrew, A. M. 1979. Another efficient algorithm for convex hulls in two dimensions. Information Processing Letters, 9(5), 216-219. } \seealso{ \code{\linkS4class{MassSpectrum}}, \code{\link[MALDIquant]{removeBaseline,MassSpectrum-method}} \code{demo("baseline")} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## choose only the first mass spectrum s <- fiedler2009subset[[1]] ## SNIP plot(s) ## estimate baseline b <- estimateBaseline(s, method="SNIP", iterations=100) ## draw baseline on the plot lines(b, col="red") ## TopHat plot(s) ## estimate baseline (try different parameters) b1 <- estimateBaseline(s, method="TopHat", halfWindowSize=75) b2 <- estimateBaseline(s, method="TopHat", halfWindowSize=150) ## draw baselines on the plot lines(b1, col=2) lines(b2, col=3) ## draw legend legend(x="topright", lwd=1, legend=paste0("halfWindowSize=", c(75, 150)), col=c(2, 3)) ## ConvexHull plot(s) ## estimate baseline b <- estimateBaseline(s, method="ConvexHull") ## draw baseline on the plot lines(b, col="red") ## Median plot(s) ## estimate baseline b <- estimateBaseline(s, method="median") ## draw baseline on the plot lines(b, col="red") } \keyword{methods} MALDIquant/man/isMassObject-functions.Rd0000644000176200001440000000210012624130232017573 0ustar liggesusers\name{isMassSpectrum} \alias{isMassSpectrum} \alias{isMassPeaks} \title{ Tests for MassSpectrum or MassPeaks object. } \description{ These functions test for a \code{\linkS4class{MassSpectrum}} or \code{\linkS4class{MassPeaks}} object. } \usage{ isMassSpectrum(x) isMassPeaks(x) } \arguments{ \item{x}{ object to be tested. } } \value{ Returns \code{\link{TRUE}} or \code{\link{FALSE}} depending on whether its argument is an \code{\linkS4class{MassSpectrum}} or \code{\linkS4class{MassPeaks}} object. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassPeaks}}, \code{\linkS4class{MassSpectrum}}, \code{\linkS4class{AbstractMassObject}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create a MassPeaks object peaks <- createMassPeaks(mass=1:100, intensity=1:100, metaData=list(name="example 1")) ## test isMassPeaks(peaks) # returns TRUE isMassSpectrum(peaks) # returns FALSE isMassPeaks(double()) # returns FALSE } \keyword{methods} MALDIquant/man/createMassPeaks-functions.Rd0000644000176200001440000000236212624130232020272 0ustar liggesusers\name{createMassPeaks} \alias{createMassPeaks} \title{ Creates a MassPeaks object. } \description{ This function creates a \code{\linkS4class{MassPeaks}} object. Normally it shouldn't called by the user. Try \code{\link[MALDIquant]{detectPeaks,MassSpectrum-method}} instead. } \usage{ createMassPeaks(mass, intensity, snr=rep.int(NA_real_, length(intensity)), metaData=list()) } \arguments{ \item{mass}{ \code{vector}, mass or mass-to-charge ratio. } \item{intensity}{ \code{vector}, intensities for measured mass-to-charge ratios. } \item{snr}{ \code{vector}, signal-to-noise ratios for intensity values. } \item{metaData}{ \code{list}, some metadata to describe the peaks. } } \value{ Returns a \code{\linkS4class{MassPeaks}} object. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{detectPeaks,MassSpectrum-method}}, \code{\linkS4class{MassPeaks}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create a MassPeaks object by default constructor s <- createMassPeaks(mass=1:100, intensity=rnorm(100)^2, metaData=list(name="example peaks")) ## show some details s } \keyword{methods} MALDIquant/man/plot-methods.Rd0000644000176200001440000000406613272375536015655 0ustar liggesusers\name{plot-methods} \docType{methods} \alias{plot,AbstractMassObject,missing-method} \alias{plot,MassSpectrum,missing-method} \title{Plots an AbstractMassObject object.} \description{ This is an overloaded method to allow plotting of an \code{\linkS4class{AbstractMassObject}} object. } \usage{ \S4method{plot}{AbstractMassObject,missing}(x, col="black", xlab=expression(italic(m/z)), ylab="intensity", type=ifelse(isMassPeaks(x), "h", "l"), xlim=c(ifelse(length(x@mass), min(x@mass, na.rm=TRUE), 0), ifelse(length(x@mass), max(x@mass, na.rm=TRUE), 1)), ylim=c(0, ifelse(length(x@intensity), max(x@intensity, na.rm=TRUE), 1)), main=x@metaData$name, sub=x@metaData$file, cex.sub=0.75, col.sub="#808080", \dots) } \arguments{ \item{x}{\code{\linkS4class{MassSpectrum}} object.} \item{col}{line colour, see \code{\link[graphics]{par}}.} \item{xlab}{title for the x-axis, see \code{\link[graphics]{title}}.} \item{ylab}{title for the y-axis, see \code{\link[graphics]{title}}.} \item{type}{type of plot: see \code{\link[graphics]{plot}}.} \item{xlim}{the x limits (x1, x2) of the plot, see \code{\link[graphics]{plot.default}}.} \item{ylim}{the y limits (y1, y2) of the plot, see \code{\link[graphics]{plot.default}}.} \item{main}{title for the plot, see \code{\link[graphics]{title}}.} \item{sub}{sub title for the plot, see \code{\link[graphics]{title}}.} \item{cex.sub}{sub title font size, see \code{\link[graphics]{par}}.} \item{col.sub}{sub title color, see \code{\link[graphics]{par}}.} \item{\dots}{arguments to be passed to \code{\link[graphics]{plot}}.} } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{AbstractMassObject}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create a MassSpectrum object by default constructor s <- createMassSpectrum(mass=1:100, intensity=rnorm(100)^2, metaData=list(name="example")) ## show some details s ## plot spectrum plot(s) } \keyword{methods} \keyword{Graphics|hplot} MALDIquant/man/MALDIquant-defunct.Rd0000644000176200001440000000262412624130232016537 0ustar liggesusers\name{MALDIquant-defunct} \alias{MALDIquant-defunct} \title{Removed Functions/Methods in Package \pkg{MALDIquant}} \description{ These functions/methods are removed. } \details{ \describe{ \item{\code{plotImsSlice}}{use \code{\link[MALDIquant]{plotMsiSlice}} instead.} \item{totalIonCurrent}{\code{signature(object = "MassPeaks")}: removed.} \item{totalIonCurrent<-}{\code{signature(object = "AbstractMassObject", value = "numeric")}: use \code{\link[MALDIquant]{calibrateIntensity}} instead.} \item{calibrate}{\code{signature(x = "matrix")}: use \code{\link[MALDIquant]{calibrateIntensity}} instead.} \item{standardizeTotalIonCurrent}{\code{signature(object = "list")}: use \code{\link[MALDIquant]{calibrateIntensity}} instead.} \item{ltrim}{ \code{signature(object = "AbstractMassObject", minMass = "numeric")}: use \code{\link[MALDIquant]{trim}} instead.} \item{rtrim}{ use \code{\link[MALDIquant]{trim}} instead.} \item{mergeMassSpectra}{use \code{\link[MALDIquant]{averageMassSpectra}} instead.} \item{movingAverage}{use \code{\link[MALDIquant]{smoothIntensity}} instead.} \item{savitzkyGolay}{use \code{\link[MALDIquant]{smoothIntensity}} instead.} \item{isMassObject}{removed.} \item{isMassObjectList}{removed.} \item{intensityMatrix}{ does not support \code{\linkS4class{MassSpectrum}} objects anymore.} } } \keyword{internal} \keyword{misc} MALDIquant/man/msiSlices-functions.Rd0000644000176200001440000000507512624130232017156 0ustar liggesusers\name{msiSlices} \title{Turn a list of AbstractMassObjects into a mass spectrometry imaging slice.} \alias{msiSlices} \description{ This function turns a mass spectrometry imaging dataset represented by a \code{list} of \code{\linkS4class{AbstractMassObject}} objects into an \code{\link[MALDIquant]{intensityMatrix}} for each slice (stored in an \code{array}). } \usage{ msiSlices(x, center, tolerance, method=c("sum", "mean", "median"), adjust=TRUE) } \arguments{ \item{x}{a \code{list} of \code{\linkS4class{MassSpectrum}}/ \code{\linkS4class{MassPeaks}} objects.} \item{center}{\code{double}, the \code{center} mas value of each slice.} \item{tolerance}{\code{double}, specifies the thickness of the slices (\code{center + c(-tolerance, tolerance)}).} \item{method}{used aggregation function.} \item{adjust}{\code{logical}, if \code{TRUE} the lowest coordinates of the mass spectrometry imaging dataset are set to \code{c(x=1, y=1)} to avoid \code{NA} values at the borders.} } \details{ Each \code{\linkS4class{MassSpectrum}}/\code{\linkS4class{MassPeaks}} object in \code{x} must contain a \code{list} named \code{imaging} with an element \code{pos} that stores the \code{x} and \code{y} value of the spectrum, e.g.: \preformatted{ > metaData(spectra[[1]])$imaging$pos x y 1 5 } } \value{ Returns an \code{\link{array}} of three dimensions. The first and second dimensions contains the x and y coordinates of the image. The third dimension represents the index of the \code{center} of each slice. There are two additional attributes, namely \code{"center"} and \code{"tolerance"} which store the original \code{center} and \code{tolerance} information. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{AbstractMassObject}}, \code{\linkS4class{MassSpectrum}}, \code{\linkS4class{MassPeaks}}, \code{\link[MALDIquant]{coordinates,AbstractMassObject-method}}, \code{\link[MALDIquant]{plotMsiSlice,list-method}} Please find real examples on: Website: \url{http://strimmerlab.org/software/maldiquant/} Vignette: \url{https://github.com/sgibb/MALDIquantExamples/raw/master/inst/doc/nyakas2013.pdf} Shiny: \url{https://github.com/sgibb/ims-shiny/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## please note: this is NOT a MSI data set ## we just add some coordinates for demonstration coordinates(fiedler2009subset) <- cbind(x=rep(1:4, 2), y=rep(1:2, each=4)) slices <- msiSlices(fiedler2009subset, center=c(5864.49, 8936.97), tolerance=0.25) slices } MALDIquant/man/warp-functions.Rd0000644000176200001440000000402713317730170016177 0ustar liggesusers\name{warpMassSpectra} \alias{warpMassSpectra} \alias{warpMassPeaks} \title{ Run warping functions on AbstractMassObject objects. } \description{ These functions run warping functions on \code{\linkS4class{AbstractMassObject}} objects (warping is also known as \emph{phase correction}). } \usage{ warpMassPeaks(l, w, emptyNoMatches=FALSE) warpMassSpectra(l, w, emptyNoMatches=FALSE) } \arguments{ \item{l}{ \code{list}, list of \code{\linkS4class{MassPeaks}} or \code{\linkS4class{MassSpectrum}} objects. } \item{w}{ a \code{list} of warping functions determined by \code{\link[MALDIquant]{determineWarpingFunctions}}. Has to be of the same length as \code{l}. } \item{emptyNoMatches}{ \code{logical}, if \code{TRUE} (default: \code{FALSE}) the intensity values of \code{\linkS4class{MassSpectrum}} or \code{\linkS4class{MassPeaks}} objects with missing (\code{NA}) warping functions are set to zero. } } \details{ The warping function \code{w} is called in the following way: \deqn{newMass = oldMass + w(oldMass)} } \value{ Returns a \code{list} of warped \code{\linkS4class{MassPeaks}} or \code{\linkS4class{MassSpectrum}} objects. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{determineWarpingFunctions}}, \code{\linkS4class{MassPeaks}}, \code{\linkS4class{MassSpectrum}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create a MassPeaks object p <- createMassPeaks(mass=1:5, intensity=1:5) ## stupid warping function for demonstration ## (please use determineWarpingFunctions in real life applications) simpleWarp <- function(x) { return(1) } ## run warping function w <- warpMassPeaks(list(p), list(simpleWarp))[[1]] ## compare results all(mass(w) == mass(p)+1) # TRUE ## no warping (MassPeaks object is not changed) warpMassPeaks(list(p), list(NA)) ## no warping (intensity values of MassPeaks object are set to zero) warpMassPeaks(list(p), list(NA), emptyNoMatches=TRUE) } \keyword{methods} MALDIquant/man/averageMassSpectra-functions.Rd0000644000176200001440000000402612624130232020776 0ustar liggesusers\name{averageMassSpectra} \alias{averageMassSpectra} \title{ Averages \code{\linkS4class{MassSpectrum}} objects. } \description{ This function averages \code{\linkS4class{MassSpectrum}} objects. } \usage{ averageMassSpectra(l, labels, method=c("mean", "median", "sum"), \dots) } \arguments{ \item{l}{ \code{list}, list of \code{\linkS4class{MassSpectrum}} objects. } \item{labels}{ \code{list}, list of \code{\link{factor}}s (one for each \code{\linkS4class{MassSpectrum}} object) to do groupwise averaging. } \item{method}{used aggregation function.} \item{\dots}{arguments to be passed to underlying functions (currently only \code{mc.cores} is supported).} } \details{ The mass of the averaged \code{\linkS4class{MassSpectrum}} object will be the mass of the first non-empty \code{\linkS4class{MassSpectrum}} object (of each group). } \value{ Returns a single (no \code{labels} given) or a \code{\link{list}} (\code{labels} given) of averaged \code{\linkS4class{MassSpectrum}} objects. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassSpectrum}}, \code{\link[MALDIquant]{mergeMassPeaks}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create four MassSpectrum objects and add them to a list s <- list(createMassSpectrum(mass=1:5, intensity=1:5), createMassSpectrum(mass=1:5, intensity=1:5), createMassSpectrum(mass=1:5, intensity=6:10), createMassSpectrum(mass=1:5, intensity=6:10)) ## average all four MassSpectrum objects into a single new one ## by sum their intensities ## (no labels, returns only one new MassSpectrum object) summedSpectra <- averageMassSpectra(s, method="sum") ## only average MassSpectrum objects in a group ## (e.g. useful for technical replicates) ## (two different labels, returns a list of two new MassPeaks objects) groups <- factor(c("a", "a", "b", "b"), levels=c("a", "b")) averagedSpectra <- averageMassSpectra(s, labels=groups, method="mean") } \keyword{methods} MALDIquant/man/plotMsiSlice-methods.Rd0000644000176200001440000001204612624130232017261 0ustar liggesusers\name{plotMsiSlice-methods} \docType{methods} \title{Plots a Mass Spectrometry Imaging dataset.} \alias{plotMsiSlice} \alias{plotMsiSlice,list-method} \alias{plotMsiSlice,array-method} \alias{plotMsiSlice,matrix-method} \description{ This function allows to plot a slice of a mass spectrometry imaging dataset represented by a \code{list} of \code{\linkS4class{AbstractMassObject}} objects or an \code{array} or a \code{matrix}. } \usage{ \S4method{plotMsiSlice}{list}(x, center, tolerance, colRamp=colorRamp(c("black", "blue", "green", "yellow", "red")), interpolate=FALSE, legend=TRUE, alignLabels=FALSE, combine=FALSE, \dots) \S4method{plotMsiSlice}{array}(x, colRamp=colorRamp(c("black", "blue", "green", "yellow", "red")), interpolate=FALSE, legend=TRUE, alignLabels=FALSE, combine=FALSE, plotInteractive=FALSE, \dots) \S4method{plotMsiSlice}{matrix}(x, colRamp=colorRamp(c("black", "blue", "green", "yellow", "red")), interpolate=FALSE, scale=TRUE, legend=scale, \dots) } \arguments{ \item{x}{The mass spectrometry imaging dataset. It could be a \code{list} of \code{\linkS4class{MassSpectrum}}/\code{\linkS4class{MassPeaks}} objects or an \code{array} (e.g. generated by \code{\link[MALDIquant]{msiSlices}}) or a \code{matrix}.} \item{center}{\code{double}, if \code{x} is a \code{list} of \code{\linkS4class{MassSpectrum}}/\code{\linkS4class{MassPeaks}} objects this argument represent the \emph{center} mass value of the slices, see \code{\link[MALDIquant]{msiSlices}} for details.} \item{tolerance}{\code{double}, if \code{center} is given \code{tolerance} specifies the thickness of the slices (\code{center + c(-tolerance, tolerance)}), see \code{\link[MALDIquant]{msiSlices}} for details.} \item{colRamp}{colours as \code{colorRamp} \code{function}, see \code{\link[grDevices]{colorRamp}} for details. If \code{combine=TRUE} multiple colour functions must be applied as \code{list} with an length that equals the number of given centers.} \item{interpolate}{\code{logical}, use linear interpolation when drawing the image, see \code{\link[graphics]{rasterImage}} for details.} \item{scale}{\code{logical}, if \code{TRUE} all values are divided by the maximal value of the slice to get values between 0 and 1.} \item{legend}{\code{logical}, if \code{TRUE} a reference color gradient is plotted on the right hand side of the plot. The upper color represents the highest value in the slice and the lower color the lowest value respectively. The \code{legend} is disabled if \code{scale=FALSE}.} \item{alignLabels}{\code{logical}, if \code{combine=TRUE} and \code{alignLabels=TRUE} the center positions below the legend are aligned on the right margin otherwise the aligned to their corresponding gradient.} \item{combine}{\code{logical}, if \code{TRUE} multiple centers are plotted in one image. Therefore it would be necessary to apply a list of \code{colRamp} functions (one function for each center). The intensity values for each center of each pixel are compared against each other and the highest scaled intensity determines the center (and the corresponding \code{colRamp}).} \item{plotInteractive}{ \code{logical}, if the slice \code{array} contains multiple centers, \code{combine=FALSE} and an interactive plotting device is used a warning is thrown and only the first center would be plotted. Use \code{plotInteractive=TRUE} to overwrite this behaviour and to plot multiple centers on an interactive device.} \item{\dots}{arguments to be passed to \code{\link[graphics]{plot}}, e.g. \code{main}.} } \details{ Each \code{\linkS4class{MassSpectrum}}/\code{\linkS4class{MassPeaks}} object in \code{x} must contain a \code{list} named \code{imaging} with an element \code{pos} that stores the \code{x} and \code{y} value of the spectrum, e.g.: \preformatted{ > metaData(spectra[[1]])$imaging$pos x y 1 5 } } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{AbstractMassObject}}, \code{\linkS4class{MassSpectrum}}, \code{\linkS4class{MassPeaks}}, \code{\link[MALDIquant]{coordinates,AbstractMassObject-method}}, \code{\link[MALDIquant]{msiSlices}}, \code{\link[MALDIquant]{plot,MassSpectrum,missing-method}} Please find real examples on: Website: \url{http://strimmerlab.org/software/maldiquant/} Vignette: \url{https://github.com/sgibb/MALDIquantExamples/raw/master/inst/doc/nyakas2013.pdf} Shiny: \url{https://github.com/sgibb/ims-shiny/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## please note: this is NOT a MSI data set ## we just add some coordinates for demonstration coordinates(fiedler2009subset) <- cbind(x=rep(1:4, 2), y=rep(1:2, each=4)) plotMsiSlice(fiedler2009subset, center=8936.97, tolerance=0.25) plotMsiSlice(fiedler2009subset, center=c(5864.49, 8936.97), tolerance=0.25, combine=TRUE, colRamp=list(colorRamp(c("#000000", "#FF00FF")), colorRamp(c("#000000", "#00FF00")))) } \keyword{Graphics|hplot} MALDIquant/man/filterPeaks-functions.Rd0000644000176200001440000001055512624130232017473 0ustar liggesusers\name{filterPeaks} \alias{filterPeaks} \title{ Removes less frequent peaks. } \description{ This function removes infrequently occuring peaks in a list of \code{\linkS4class{MassPeaks}} objects. } \usage{ filterPeaks(l, minFrequency, minNumber, labels, mergeWhitelists=FALSE) } \arguments{ \item{l}{ \code{list}, list of \code{\linkS4class{MassPeaks}} objects. } \item{minFrequency}{ \code{double}, remove all peaks which occur in less than \code{minFrequency*length(l)} \code{\linkS4class{MassPeaks}} objects. It is a relative threshold. } \item{minNumber}{ \code{double}, remove all peaks which occur in less than \code{minNumber} \code{\linkS4class{MassPeaks}} objects. It is an absolute threshold. } \item{labels}{ \code{factor}, (one for each \code{\linkS4class{MassPeaks}} object) to do groupwise filtering. The \emph{levels} of the factor \code{label} define the groups. If not specified a single group is assumed. } \item{mergeWhitelists}{ \code{logical}, if \code{FALSE} the filtering criteria are applied groupwise. If \code{TRUE} peaks that survive the filtering in one group (level of \code{labels}) these peaks are also kept in other groups even if their frequencies are below \code{minFrequency}. } } \details{ For \code{mergeWhitelists=FALSE} the filtering uses a separate peak whitelist for each group specified by \code{labels}, and is done independently in each group. For \code{mergeWhitelists=TRUE} the peak whitelists are combined, which means that peaks that occur frequently in at least one group are also kept in all other groups. If both \code{minFrequency} and \code{minNumber} arguments are specified the more stringent threshold is used. } \value{ Returns a \code{\link{list}} of filtered \code{\linkS4class{MassPeaks}} objects. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{intensityMatrix}}, \code{\linkS4class{MassPeaks}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create four MassPeaks objects and add them to the list p <- list(createMassPeaks(mass=1:2, intensity=1:2), createMassPeaks(mass=1:3, intensity=1:3), createMassPeaks(mass=1:4, intensity=1:4), createMassPeaks(mass=1:5, intensity=1:5)) ## only keep peaks which occur in all MassPeaks objects filteredPeaks <- filterPeaks(p, minFrequency=1) ## compare result intensities <- intensityMatrix(filteredPeaks) ## peaks at mass 3,4,5 are removed all(dim(intensities) == c(4, 2)) # TRUE all(intensities[,1] == 1) # TRUE all(intensities[,2] == 2) # TRUE ## only keep peaks which occur in all MassPeaks objects in a group ## (e.g. useful for technical replicates) groups <- factor(c("a", "a", "b", "b"), levels=c("a", "b")) filteredPeaks <- filterPeaks(p, minFrequency=1, labels=groups) ## peaks at mass 3 were removed in group "a" filteredPeaks[groups == "a"] ## peaks at mass 5 were removed in group "b" filteredPeaks[groups == "b"] ## only keep peaks which occur at least twice in a group groups <- factor(c("a", "a", "b", "b", "b"), levels=c("a", "b")) filteredPeaks <- filterPeaks(c(p, p[[3]]), minNumber=2, labels=groups) ## peaks at mass 3 were removed in group "a" filteredPeaks[groups == "a"] ## peaks at mass 5 were removed in group "b" filteredPeaks[groups == "b"] ## apply different minFrequency arguments to each group groups <- factor(c("a", "a", "b", "b", "b"), levels=c("a", "b")) filteredPeaks <- filterPeaks(c(p, p[[3]]), minFrequency=c(1, 2/3), labels=groups) intensityMatrix(filteredPeaks) # 1 2 3 4 #[1,] 1 2 NA NA #[2,] 1 2 NA NA #[3,] 1 2 3 4 #[4,] 1 2 3 4 #[4,] 1 2 3 4 ## demonstrate the use of mergeWhitelists groups <- factor(c("a", "a", "b", "b"), levels=c("a", "b")) ## default behaviour filteredPeaks <- filterPeaks(p, minNumber=2, labels=groups) intensityMatrix(filteredPeaks) # 1 2 3 4 #[1,] 1 2 NA NA #[2,] 1 2 NA NA #[3,] 1 2 3 4 #[4,] 1 2 3 4 ## use mergeWhitelists=TRUE to keep peaks of group "a" that match all filtering ## criteria in group "b" ## (please note that mass == 3 is not removed in the second MassPeaks object) filteredPeaks <- filterPeaks(p, minNumber=2, labels=groups, mergeWhitelists=TRUE) intensityMatrix(filteredPeaks) # 1 2 3 4 #[1,] 1 2 NA NA #[2,] 1 2 3 NA #[3,] 1 2 3 4 #[4,] 1 2 3 4 } \keyword{methods} MALDIquant/man/binPeaks-functions.Rd0000644000176200001440000000561613275621220016765 0ustar liggesusers\name{binPeaks} \alias{binPeaks} \title{ Align Peaks into discrete bins. } \description{ This function looks for similar peaks (mass) across \code{\linkS4class{MassPeaks}} objects and equalizes their mass. } \usage{ binPeaks(l, method=c("strict", "relaxed"), tolerance=0.002) } \arguments{ \item{l}{ \code{list}, list of \code{\linkS4class{MassPeaks}} objects. } \item{method}{ bin creation rule. \code{"strict"} creates bins never containing two or more peaks of the sampe sample. \code{"relaxed"} allows multiple peaks of the same sample in one bin.} \item{tolerance}{ \code{double}, maximal relative deviation of a peak position (mass) to be considered as identical. Must be multiplied by \code{10^-6} for ppm, e.g. use \code{tolerance=5e-6} for 5 ppm. } } \details{ The algorithm is based on the following workflow: \enumerate{ \item{Put all mass in a sorted vector.} \item{Calculate differences between each neighbor.} \item{Divide the mass vector at the largest gap (largest difference) and form a left and a right bin.} \item{Rerun step 3 for the left and/or the right bin if they don't fulfill the following criteria: \itemize{ \item{All peaks in a bin are near to the mean (\code{abs(mass-meanMass)/meanMass < tolerance}).} \item{\code{method == "strict"}: The bin doesn't contain two or more peaks of the same sample.} } } } \code{method == "strict"}: The new peak positions (mass value) are the mean mass of a bin. \cr \code{method == "relaxed"}: The new peak positions for the highest peaks of each sample in a bin are generated by the mean mass of this peaks. The lower peaks are not changed. } \value{ Returns a \code{\link{list}} of mass adjusted \code{\linkS4class{MassPeaks}} objects. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{intensityMatrix}}, \code{\linkS4class{MassPeaks}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create two MassPeaks objects p <- list(createMassPeaks(mass=seq(100, 500, 100), intensity=1:5), createMassPeaks(mass=c(seq(100.2, 300.2, 100), 395), intensity=1:4)) binnedPeaks <- binPeaks(p, tolerance=0.002) ## compare result iM1 <- intensityMatrix(p) iM2 <- intensityMatrix(binnedPeaks) all(dim(iM1) == c(2, 9)) # TRUE all(dim(iM2) == c(2, 6)) # TRUE show(iM2) ## increase tolerance binnedPeaks <- binPeaks(p, tolerance=0.1) iM3 <- intensityMatrix(binnedPeaks) all(dim(iM3) == c(2, 5)) # TRUE show(iM3) ## differences between "strict" and "relaxed" p <- c(createMassPeaks(mass=c(1, 1.01, 3), intensity=c(2, 1, 1)), createMassPeaks(mass=c(0.99, 3), intensity=rep(1, 2)), createMassPeaks(mass=c(1.02, 3), intensity=rep(1, 2))) intensityMatrix(binPeaks(p, method="strict", tolerance=0.05)) intensityMatrix(binPeaks(p, method="relaxed", tolerance=0.05)) } \keyword{methods} MALDIquant/man/labelPeaks-methods.Rd0000644000176200001440000000626412711716773016743 0ustar liggesusers\name{labelPeaks-methods} \docType{methods} \alias{labelPeaks} \alias{labelPeaks,MassPeaks-method} \title{Draws peak labels to plot.} \description{ \code{\link[MALDIquant]{labelPeaks}} draws the corresponding mass values on top of the peaks stored in a \code{\linkS4class{MassPeaks}} object to a plot. } \usage{ \S4method{labelPeaks}{MassPeaks}(object, index, mass, labels, digits=3, underline=TRUE, verticalOffset=abs(diff(par("usr")[3:4]))*0.01, absoluteVerticalPos, adj=c(0.5, 0), cex=0.7, srt=0, avoidOverlap=FALSE, arrowLength=0, arrowLwd=0.5, arrowCol=1, \dots) } \arguments{ \item{object}{\code{\linkS4class{MassPeaks}} object.} \item{index}{\code{integer}/\code{logical}, indices of peaks to label.} \item{mass}{\code{numeric}, mass of peaks to label.} \item{labels}{\code{character}, use \code{labels} instead of mass values as peak label.} \item{digits}{\code{integer}, number of decimal places.} \item{underline}{logical, underline peak values?} \item{verticalOffset}{\code{numeric}, move label vertically (relative to peak height).} \item{absoluteVerticalPos}{\code{numeric}, absolute \code{y} value for the label. If missing \code{verticalOffset} is used.} \item{adj}{\code{numeric}, adjust text to the left, center, right and top, center, bottom; see \code{\link[graphics]{text}}.} \item{cex}{\code{numeric}, font size, see \code{\link[graphics]{par}}.} \item{srt}{\code{numeric}, the label rotation in degrees.} \item{avoidOverlap}{\code{logical}, try to find label coordinates to avoid overlap.} \item{arrowLength, arrowLwd, arrowCol}{arrow parameters, possible vectors. \code{NA} values in \code{arrowCol} cause the arrow to be omitted, see \code{\link[graphics]{arrows}}.} \item{...}{arguments to be passed to \code{\link[graphics]{text}}.} } \details{ Please note that \code{avoidOverlap = TRUE} is just supported for \code{srt \%\% 90 == 0} (means \code{srt} has to be a multiple of 90 degree). } \author{Sebastian Gibb} \seealso{ \code{\linkS4class{MassPeaks}}, \code{\link[MALDIquant]{plot,AbstractMassObject,missing-method}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create a MassPeaks object from scratch p <- createMassPeaks(mass=1:20, intensity=sample(x=100:10000, size=20), metaData=list(name="example")) ## plot peaks plot(p) ## label the first 5 peaks labelPeaks(p, index=1:5) ## label all peaks in mass range 15 to 20 labelPeaks(p, mass=15:20, underline=FALSE) ## label highest peaks (top 5) top5 <- intensity(p) \%in\% sort(intensity(p), decreasing=TRUE)[1:5] labelPeaks(p, index=top5, col="red") ## real example data("fiedler2009subset") ## a simplified preprocessing r <- removeBaseline(fiedler2009subset[[1]]) p <- detectPeaks(r) plot(p) ## label highest peaks (top 10) and avoid label overlap top10 <- sort(intensity(p), decreasing=TRUE, index.return=TRUE)$ix[1:10] labelPeaks(p, index=top10, avoidOverlap=TRUE, digits=1) ## use own labels and rotate by 90 degree plot(p) labelPeaks(p, index=top10, labels=paste("TOP", 1:10), underline=FALSE, srt=90, adj=c(0, 0.5), col=2) } \keyword{methods} \keyword{Graphics|hplot} MALDIquant/man/mergeMassPeaks-functions.Rd0000644000176200001440000000403012624130232020120 0ustar liggesusers\name{mergeMassPeaks} \alias{mergeMassPeaks} \title{ Merges \code{\linkS4class{MassPeaks}} objects. } \description{ This function merges \code{\linkS4class{MassPeaks}} objects. } \usage{ mergeMassPeaks(l, labels, method=c("mean", "median", "sum"), ignore.na=TRUE, \dots) } \arguments{ \item{l}{ \code{list}, list of \code{\linkS4class{MassPeaks}} objects. } \item{labels}{ \code{list}, list of \code{\link{factor}}s (one for each \code{\linkS4class{MassPeaks}} object) to do groupwise merging. } \item{method}{used merge method.} \item{ignore.na}{Should \code{NA} (positions where a peak is missing) ignored (\code{ignore.na=TRUE}) or treated as zero (\code{ignore.na=FALSE})?} \item{\dots}{arguments to be passed to underlying functions (currently only \code{mc.cores} is supported).} } \value{ Returns a single (no \code{labels} given) or a \code{\link{list}} (\code{labels} given) of merged \code{\linkS4class{MassPeaks}} objects. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassPeaks}}, \code{\link[MALDIquant]{averageMassSpectra}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create four MassPeaks objects and add them to the list p <- list(createMassPeaks(mass=1:2, intensity=1:2), createMassPeaks(mass=1:3, intensity=1:3), createMassPeaks(mass=1:4, intensity=1:4), createMassPeaks(mass=1:5, intensity=1:5)) ## merge all four MassPeaks objects into a single new one ## by sum their intensities ## (no labels, returns only one new MassPeaks object) mergedPeaks <- mergeMassPeaks(p, method="sum") ## only merge MassPeaks objects in a group ## (two different labels, returns a list of two new MassPeaks objects) groups <- factor(c("a", "a", "b", "b"), levels=c("a", "b")) mergedPeaks <- mergeMassPeaks(p, labels=groups, method="mean") ## the same, but treat NA as zero mergedPeaks <- mergeMassPeaks(p, labels=groups, method="mean", ignore.na=FALSE) } \keyword{methods} MALDIquant/man/intensityMatrix-functions.Rd0000644000176200001440000000463612624130232020440 0ustar liggesusers\name{intensityMatrix} \alias{intensityMatrix} \title{ Converts a list of MassPeaks objects into a matrix. } \description{ This function converts a \code{\link{list}} of \code{\linkS4class{MassPeaks}} objects into a \code{\link{matrix}}. } \usage{ intensityMatrix(peaks, spectra) } \arguments{ \item{peaks}{ \code{list}, list of \code{\linkS4class{MassPeaks}} objects. } \item{spectra}{ \code{list}, list of \code{\linkS4class{MassSpectrum}} objects. If a peak is missing the corresponding intensity value of the spectrum is used. If \code{spectra} is missing \code{NA} is used instead. } } \details{ \code{peaks} have to be binned by \code{\link[MALDIquant]{binPeaks}} before calling \code{\link[MALDIquant]{intensityMatrix}}. } \value{ Returns a \code{\link{matrix}} containing intensities of all \code{\linkS4class{MassPeaks}} objects of \code{peaks} and interpolated intensity values for missing peaks if \code{spectra} was given or \code{NA} otherwise. \cr The \code{\link{matrix}} has \code{length(peaks)} rows (one row for each sample) and \code{length(unique(mass))} columns. There is an additional attribute \code{"mass"} that stores the mass values. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{binPeaks}}, \code{\linkS4class{MassPeaks}}, \code{\linkS4class{MassSpectrum}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create example MassPeaks objects p <- list(createMassPeaks(mass=1:4, intensity=11:14, metaData=list(name="test mass peaks 1")), createMassPeaks(mass=2:5, intensity=22:25, metaData=list(name="test mass peaks 2"))) ## converts MassPeaks objects into a matrix intensityMatrix(p) ## realistic example ## load example data data("fiedler2009subset", package="MALDIquant") ## transform intensities s <- transformIntensity(fiedler2009subset, method="sqrt") ## smoothing spectrum s <- smoothIntensity(s, method="MovingAverage") ## remove baseline s <- removeBaseline(s) ## call peak detection p <- detectPeaks(s) ## bin peaks p <- binPeaks(p) ## convert MassPeaks objects into a matrix with missing intensity ## values intensityMatrix(p) ## convert MassPeaks and MassSpectrum objects into a matrix without ## missing intensity values intensityMatrix(p, s) } \keyword{methods} MALDIquant/man/match.closest.Rd0000644000176200001440000000371313466066276016006 0ustar liggesusers% Generated by roxygen2: do not edit by hand % Please edit documentation in R/match.closest-functions.R \name{match.closest} \alias{match.closest} \title{Relaxed Value Matching} \usage{ match.closest(x, table, tolerance = Inf, nomatch = NA_integer_) } \arguments{ \item{x}{\code{numeric}, the values to be matched.} \item{table}{\code{numeric}, the values to be matched against. In contrast to \code{\link{match}} \code{table} has to be sorted in increasing order.} \item{tolerance}{\code{numeric}, accepted tolerance. Use \code{Inf} to match without restrictions. Could be of length one or the same length as \code{table}.} \item{nomatch}{\code{numeric}, if the difference between the value in \code{x} and \code{table} is larger than \code{tolerance} \code{nomatch} is returned. Has to be of length one.} } \value{ An \code{integer} vector of the same length as \code{x} giving the closest position in \code{table} of the first match or \code{nomatch} if there is no match. } \description{ \code{match.closest} returns a vector of the positions of (first) matches its first arguments in its second. In contrast to the similar \code{\link{match}} it just accept \code{numeric} arguments but has an additional \code{tolerance} argument that allows relaxed matching. } \examples{ library("MALDIquant") match.closest(c(1.1, 1.4, 9.8), 1:10) # [1] 1 1 10 match.closest(c(1.1, 1.4, 9.8), 1:10, tolerance=0.25) # [1] 1 NA 10 match.closest(c(1.1, 1.4, 9.8), 1:10, tolerance=0.25, nomatch=0) # [1] 1 0 10 ## this function is most useful if you want to subset an intensityMatrix ## by a few (reference) peaks ## create an example intensityMatrix im <- matrix(1:10, nrow=2, dimnames=list(NULL, 1:5)) attr(im, "mass") <- 1:5 im # 1 2 3 4 5 # [1,] 1 3 5 7 9 # [2,] 2 4 6 8 10 # attr(,"mass") # [1] 1 2 3 4 5 ## reference peaks ref <- c(2.2, 4.8) im[, match.closest(ref, attr(im, "mass"), tolerance=0.25, nomatch=0)] # 2 5 # [1,] 3 9 # [2,] 4 10 } \seealso{ \code{\link{match}} } MALDIquant/man/alignSpectra-functions.Rd0000644000176200001440000000652713317730170017651 0ustar liggesusers\name{alignSpectra} \alias{alignSpectra} \title{ Align MassSpectrum objects. } \description{ This function aligns a list of \code{\linkS4class{MassSpectrum}} objects (spectra alignment is also known as \emph{warping/phase correction}). \cr } \usage{ alignSpectra(spectra, halfWindowSize=20, noiseMethod="MAD", SNR=2, reference, tolerance=0.002, warpingMethod="lowess", allowNoMatches=FALSE, emptyNoMatches=FALSE, \dots) } \arguments{ \item{spectra}{ \code{list}, list of \code{\linkS4class{MassSpectrum}} objects. } \item{halfWindowSize}{\code{numeric}, half window size; see \code{\link[MALDIquant]{detectPeaks}}. } \item{noiseMethod}{a noise estimation method; see \code{\link[MALDIquant]{detectPeaks}}. } \item{SNR}{single numeric value. \code{SNR} is an abbreviation for \emph{s}ignal-to-\emph{n}oise-\emph{r}atio; see \code{\link[MALDIquant]{detectPeaks}}. } \item{reference}{ \code{\linkS4class{MassPeaks}}, reference object to which the samples (\code{l}) should be aligned. If missing \code{\link[MALDIquant]{referencePeaks}} is used; see \code{\link[MALDIquant]{determineWarpingFunctions}}. } \item{tolerance}{ \code{double}, maximal relative deviation of a peak position (mass) to be considered as identical. Must be multiplied by \code{10^-6} for ppm, e.g. use \code{tolerance=5e-6} for 5 ppm; see \code{\link[MALDIquant]{determineWarpingFunctions}}. } \item{warpingMethod}{ used basic warping function; see \code{\link[MALDIquant]{determineWarpingFunctions}}. } \item{allowNoMatches}{ \code{logical}, don't throw an error if an \code{\linkS4class{MassPeaks}} object could not match to the \code{reference}; see \code{\link[MALDIquant]{determineWarpingFunctions}}. } \item{emptyNoMatches}{ \code{logical}, if \code{TRUE} (default: \code{FALSE}) the intensity values of \code{\linkS4class{MassSpectrum}} or \code{\linkS4class{MassPeaks}} objects with missing (\code{NA}) warping functions are set to zero; see \code{\link[MALDIquant]{warpMassSpectra}}. } \item{\dots}{arguments to be passed to \code{\link[MALDIquant]{detectPeaks,MassSpectrum-method}}.} } \details{ \code{alignSpectra} is a wrapper function around \code{\link[MALDIquant]{detectPeaks}}, \code{\link[MALDIquant]{determineWarpingFunctions}} and \code{\link[MALDIquant]{warpMassSpectra}}. Please call these functions manually if you need finer control (e.g. plotting of warping functions). } \value{ Returns a \code{list} of aligned \code{\linkS4class{MassSpectrum}} objects. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{detectPeaks}}, \code{\link[MALDIquant]{determineWarpingFunctions}}, \code{\link[MALDIquant]{referencePeaks}}, \code{\link[MALDIquant]{warpMassSpectra}}, \code{\linkS4class{MassSpectrum}} \code{demo("warping")} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## running typical workflow ## transform intensities spectra <- transformIntensity(fiedler2009subset, method="sqrt") ## smooth spectra spectra <- smoothIntensity(spectra, method="MovingAverage") ## baseline correction spectra <- removeBaseline(spectra) ## align spectra spectra <- alignSpectra(spectra) } \keyword{methods} MALDIquant/man/AbstractMassObject-class.Rd0000644000176200001440000001341712672203466020052 0ustar liggesusers\name{AbstractMassObject-class} \Rdversion{1.1} \docType{class} \alias{AbstractMassObject-class} \alias{[,AbstractMassObject,logical,missing-method} \alias{[,AbstractMassObject,numeric,missing-method} \alias{[,MassPeaks,logical,missing-method} \alias{[,MassPeaks,numeric,missing-method} \alias{as.matrix,AbstractMassObject-method} \alias{intensity} \alias{intensity<-} \alias{intensity,AbstractMassObject-method} \alias{intensity<-,AbstractMassObject,numeric-method} \alias{isEmpty} \alias{isEmpty,AbstractMassObject-method} \alias{length,AbstractMassObject-method} \alias{lines,AbstractMassObject-method} \alias{mass} \alias{mass<-} \alias{mass,AbstractMassObject-method} \alias{mass<-,AbstractMassObject,numeric-method} \alias{mz} \alias{mz<-} \alias{mz,AbstractMassObject-method} \alias{mz<-,AbstractMassObject,numeric-method} \alias{metaData} \alias{metaData<-} \alias{metaData,AbstractMassObject-method} \alias{metaData<-,AbstractMassObject-method} \alias{coordinates} \alias{coordinates<-} \alias{coordinates,AbstractMassObject-method} \alias{coordinates<-,AbstractMassObject,numeric-method} \alias{coordinates<-,AbstractMassObject,matrix-method} \alias{coordinates,list-method} \alias{coordinates<-,list,matrix-method} \alias{points,AbstractMassObject-method} \title{Class "AbstractMassObject"} \description{ \code{\linkS4class{AbstractMassObject}} is an abstract (means pure virtual) class. It is the parent class of \code{\linkS4class{MassSpectrum}} and \code{\linkS4class{MassPeaks}}. It shouldn't create or handle by the user because it is for internal use only. } \section{Derived classes}{ \code{\linkS4class{MassPeaks}}, \code{\linkS4class{MassSpectrum}} } \section{Slots}{ \describe{ \item{\code{mass}:}{\code{numeric}, mass or mass-to-charge ratio} \item{\code{intensity}:}{\code{numeric}, intensities for measured mass-to-charge ratios} \item{\code{metaData}:}{\code{list}, some metadata to describe the spectrum} } } \section{Methods}{ \describe{ \item{[}{\code{signature(x = "AbstractMassObject", i = "numeric")}: Extracts a range of an \code{\linkS4class{AbstractMassObject}} object and returns a new one.} \item{as.matrix}{\code{signature(x = "AbstractMassObject")}: Converts an \code{\linkS4class{AbstractMassObject}} object to a matrix with 2 columns (\code{mass}, \code{intensity}).} \item{coordinates}{\code{signature(object = "AbstractMassObject")}: Accessor function for coordinates stored in object generated from imaging mass spectrometry data.} \item{coordinates<-}{\code{signature(object = "AbstractMassObject", value = "numeric|matrix")} Replacement function for coordinates used in imaging mass spectrometry datasets.} \item{intensity}{\code{signature(object = "AbstractMassObject")}: Accessor function for slot \code{intensity}.} \item{intensity<-}{\code{signature(object = "AbstractMassObject", value = "numeric")} Replacement function for slot \code{intensity}.} \item{isEmpty}{\code{signature(object = "AbstractMassObject")}: Returns \code{TRUE} if length of \code{intensity} is 0 or all \code{intensity} values are 0.} \item{length}{\code{signature(x = "AbstractMassObject")}: Returns length of slot \code{intensity}.} \item{lines}{\code{signature(x = "AbstractMassObject")}: Extented function for adding \code{AbstractMassObject} object as a line to a specific plot. See \code{\link{lines}} for details.} \item{mass}{\code{signature(object = "AbstractMassObject")}: Accessor function for slot \code{mass}.} \item{mass<-}{\code{signature(object = "AbstractMassObject", value = "numeric")} Replacement function for slot \code{mass}.} \item{mz}{\code{signature(object = "AbstractMassObject")}: Accessor function for slot \code{mass}.} \item{mz<-}{\code{signature(object = "AbstractMassObject", value = "numeric")} Replacement function for slot \code{mass}.} \item{metaData}{\code{signature(object = "AbstractMassObject")}: Accessor function for slot \code{metaData}.} \item{metaData<-}{\code{signature(object = "AbstractMassObject")}: Replacement function for slot \code{metaData}.} \item{plot}{\code{signature(x = "AbstractMassObject", y = "missing")}: Extented function for plotting an \code{AbstractMassObject} object. See \code{\link{plot,AbstractMassObject,missing-method}} for details.} \item{points}{\code{signature(x = "AbstractMassObject")}: Extented function for adding \code{\linkS4class{AbstractMassObject}} object as points to a specific plot. See \code{\link{points}} for details.} \item{trim}{\code{signature(object = "AbstractMassObject", range = "numeric")}: Trim an \code{AbstractMassObject} object. See \code{\link[MALDIquant]{trim,AbstractMassObject,numeric-method}} for details.} \item{transformIntensity}{\code{signature(object = "AbstractMassObject")}: Transforms the intensities of an \code{AbstractMassObject} object. See \code{\link[MALDIquant]{transformIntensity,AbstractMassObject-method}} for details.} } } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassPeaks}}, \code{\linkS4class{MassSpectrum}}, \code{\link[MALDIquant]{plot,AbstractMassObject,missing-method}}, \code{\link[MALDIquant]{transformIntensity,AbstractMassObject-method}}, \code{\link[MALDIquant]{trim,AbstractMassObject,numeric-method}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create example spectrum s <- createMassSpectrum(mass=1:10, intensity=11:20, metaData=list(name="Example Spectrum")) ## get intensity intensity(s) ## get mass mass(s) ## get metaData metaData(s) ## replace metaData metaData(s) <- list(name="Spectrum") ## trim spectrum trim(s, c(2, 9)) ## select a range s[3:6] } \keyword{classes} MALDIquant/man/fiedler2009subset.Rd0000644000176200001440000000476712624130232016377 0ustar liggesusers\encoding{utf8} \name{fiedler2009subset} \docType{data} \alias{fiedler2009subset} \title{Example Mass Spectra (raw)} \description{ This dataset contains 16 example mass spectra. It is used to demonstrate the usage of \code{\link{MALDIquant-package}}. } \usage{fiedler2009subset} \format{ A list containing 16 \code{\link[MALDIquant]{MassSpectrum-class}} objects.} \details{ The dataset is a subset of data used in \emph{Fiedler et al 2009}. \cr It contains spectra of 8 different patients (each one has 2 technical replicates). \tabular{rlllll}{ list_index \tab laboratory \tab patient_id \tab sex \tab age \tab type \cr 1 \tab Leipzig \tab LC77 \tab male \tab 37 \tab control\cr 2 \tab Leipzig \tab LC77 \tab male \tab 37 \tab control\cr 3 \tab Leipzig \tab LC213 \tab female \tab 51 \tab control\cr 4 \tab Leipzig \tab LC213 \tab female \tab 51 \tab control\cr 5 \tab Leipzig \tab LT178 \tab male \tab 58 \tab cancer \cr 6 \tab Leipzig \tab LT178 \tab male \tab 58 \tab cancer \cr 7 \tab Leipzig \tab LT157 \tab male \tab 60 \tab cancer \cr 8 \tab Leipzig \tab LT157 \tab male \tab 60 \tab cancer \cr 9 \tab Heidelberg \tab HC49 \tab male \tab 43 \tab control\cr 10 \tab Heidelberg \tab HC49 \tab male \tab 43 \tab control\cr 11 \tab Heidelberg \tab HC54 \tab female \tab 71 \tab control\cr 12 \tab Heidelberg \tab HC54 \tab female \tab 71 \tab control\cr 13 \tab Heidelberg \tab HT151 \tab male \tab 53 \tab cancer \cr 14 \tab Heidelberg \tab HT151 \tab male \tab 53 \tab cancer \cr 15 \tab Heidelberg \tab HT429 \tab female \tab 58 \tab cancer \cr 16 \tab Heidelberg \tab HT429 \tab female \tab 58 \tab cancer \cr } } \references{ G.M. Fiedler, A.B. Leichtle, J. Kase, S. Baumann, U. Ceglarek, K. Felix, T. Conrad, H. Witzigmann, A. Weimann, C. Schütte, J. Hauss, M. Büchler and J. Thiery \cr \dQuote{Serum Peptidome Profiling Revealed Platelet Factor 4 as a Potential Discriminating Peptide Associated with Pancreatic Cancer} \cr Clinical Cancer Research, 11(15): 3812-3819, 2009 \cr ISSN 1557-3265; doi:10.1158/1078-0432.CCR-08-2701 \cr \url{http://clincancerres.aacrjournals.org/content/15/11/3812} } \seealso{ \code{\link[MALDIquant]{MassSpectrum-class}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \keyword{datasets} MALDIquant/man/MassPeaks-class.Rd0000644000176200001440000000256412703476727016233 0ustar liggesusers\name{MassPeaks-class} \Rdversion{1.1} \docType{class} \alias{MassPeaks} \alias{MassPeaks-class} \alias{snr} \alias{snr,MassPeaks-method} \title{Class "MassPeaks"} \description{ \code{\linkS4class{MassPeaks}} represents extracted peaks of a single spectrum of a MALDI-TOF mass spectrometry measurement. } \section{Objects from the Class}{ \code{\link[MALDIquant]{createMassPeaks}}: Creates a \code{\linkS4class{MassPeaks}} object. } \section{Extends}{ Class \code{\linkS4class{AbstractMassObject}}, directly. } \section{Slots}{ \describe{ \item{\code{snr}:}{\code{vector}, \emph{s}ignal-to-\emph{n}oise \emph{r}atio} } } \section{Methods}{ \describe{ \item{labelPeaks}{\code{signature(x = "MassPeaks")}: Draws peak labels to plot. See \code{\link{labelPeaks,MassPeaks-method}} for details.} \item{monoisotopicPeaks}{\code{signature(x = "MassPeaks")}: Finds monoisotopic peaks in peak lists. See \code{\link{monoisotopicPeaks,MassPeaks-method}} for details.} } } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{createMassPeaks}}, \code{\link[MALDIquant]{detectPeaks,MassSpectrum-method}}, \code{\link[MALDIquant]{labelPeaks,MassPeaks-method}}, \code{\linkS4class{AbstractMassObject}} Website: \url{http://strimmerlab.org/software/maldiquant/} } %\examples{ %## load package %library("MALDIquant") %} \keyword{classes} MALDIquant/man/createMassSpectrum-functions.Rd0000644000176200001440000000173312624130232021032 0ustar liggesusers\name{createMassSpectrum} \alias{createMassSpectrum} \title{ Creates a MassSpectrum object. } \description{ This function creates a \code{\linkS4class{MassSpectrum}} object. } \usage{ createMassSpectrum(mass, intensity, metaData=list()) } \arguments{ \item{mass}{ \code{vector}, mass or mass-to-charge ratio } \item{intensity}{ \code{vector}, intensities for measured mass-to-charge ratios } \item{metaData}{ \code{list}, some metadata to describe the spectrum } } \value{ Returns a \code{\linkS4class{MassSpectrum}} object. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassSpectrum}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create a MassSpectrum object by default constructor s <- createMassSpectrum(mass=1:100, intensity=rnorm(100)^2, metaData=list(name="example spectrum")) ## show some details s } \keyword{methods} MALDIquant/man/MALDIquant-parallel.Rd0000644000176200001440000000636112624130232016705 0ustar liggesusers\name{MALDIquant-parallel} \alias{MALDIquant-parallel} \title{Parallel Support in Package \pkg{MALDIquant}} \description{ \code{\link{MALDIquant}} offers multi-core support using \code{\link[parallel]{mclapply}} and \code{\link[parallel]{mcmapply}}. This approach is limited to unix-based platforms. Please note that not all functions benfit from parallelisation. Often the overhead to create/copy objects outrun the time saving of parallel runs. This is true for functions that are very fast to compute (e.g. \code{sqrt}-transformation). That's why the default value for the \code{mc.cores} argument in all functions is \code{1L}. It depends on the size of the dataset which step (often only \code{\link[MALDIquant]{removeBaseline}} and \code{\link[MALDIquant]{detectPeaks}}) benefits from parallelisation. \cr In general it is faster to encapsulate the complete workflow into a function and parallelise it using \code{\link[parallel]{mclapply}} instead of using the \code{mc.cores} argument of each method. The reason is the reduced overhead for object management (only one split/combine is needed instead of doing these operations in each function again and again). } \details{ \describe{ The following functions/methods support the \code{mc.cores} argument: \itemize{ \item{\code{\link[MALDIquant]{trim,list,numeric-method}}} \item{\code{\link[MALDIquant]{transformIntensity,list-method}}} \item{\code{\link[MALDIquant]{smoothIntensity,list-method}}} \item{\code{\link[MALDIquant]{removeBaseline,list-method}}} \item{\code{\link[MALDIquant]{calibrateIntensity,list-method}}} \item{\code{\link[MALDIquant]{detectPeaks,list-method}}} \item{\code{\link[MALDIquant]{alignSpectra}}} \item{\code{\link[MALDIquant]{averageMassSpectra}}} \item{\code{\link[MALDIquant]{mergeMassPeaks}}} } } } \seealso{ \code{\link[parallel]{mclapply}}, \code{\link[parallel]{mcmapply}} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## run single-core baseline correction print(system.time( b1 <- removeBaseline(fiedler2009subset, method="SNIP") )) if(.Platform$OS.type == "unix") { ## run multi-core baseline correction print(system.time( b2 <- removeBaseline(fiedler2009subset, method="SNIP", mc.cores=2) )) stopifnot(all.equal(b1, b2)) } ## parallelise complete workflow workflow <- function(spectra, cores) { s <- transformIntensity(spectra, method="sqrt", mc.cores=cores) s <- smoothIntensity(s, method="SavitzkyGolay", halfWindowSize=10, mc.cores=cores) s <- removeBaseline(s, method="SNIP", iterations=100, mc.cores=cores) s <- calibrateIntensity(s, method="TIC", mc.cores=cores) detectPeaks(s, method="MAD", halfWindowSize=20, SNR=2, mc.cores=cores) } if(.Platform$OS.type == "unix") { ## parallelise the complete workflow is often faster because the overhead is ## reduced print(system.time( p1 <- unlist(parallel::mclapply(fiedler2009subset, function(x)workflow(list(x), cores=1), mc.cores=2), use.names=FALSE) )) print(system.time( p2 <- workflow(fiedler2009subset, cores=2) )) stopifnot(all.equal(p1, p2)) } } \keyword{misc} MALDIquant/man/isMassObjectList-functions.Rd0000644000176200001440000000247112624130232020442 0ustar liggesusers\name{isMassSpectrumList} \alias{isMassSpectrumList} \alias{isMassPeaksList} \title{ Tests a list of MassSpectrum or MassPeaks objects. } \description{ These functions test a \code{\link{list}} whether containing \code{\linkS4class{MassSpectrum}} or \code{\linkS4class{MassSpectrum}} objects. } \usage{ isMassSpectrumList(x) isMassPeaksList(x) } \arguments{ \item{x}{ object to be tested. } } \value{ Returns \code{\link{TRUE}} or \code{\link{FALSE}} depending on whether its argument is a \code{\link{list}} of \code{\linkS4class{MassSpectrum}} or \code{\linkS4class{MassPeaks}} objects. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassPeaks}}, \code{\linkS4class{MassSpectrum}}, \code{\linkS4class{AbstractMassObject}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create list p <- list() ## test list isMassPeaksList(p) # returns FALSE ## create two MassPeaks objects and add them to the list p <- createMassPeaks(mass=1:100, intensity=1:100, metaData=list(name="example 1")) p <- createMassPeaks(mass=1:100, intensity=1:100, metaData=list(name="example 2")) ## test list isMassPeaksList(p) # returns TRUE isMassSpectrumList(p) # returns FALSE } \keyword{methods} MALDIquant/man/MALDIquant-package.Rd0000644000176200001440000000407412624130232016503 0ustar liggesusers\name{MALDIquant-package} \alias{MALDIquant-package} \alias{MALDIquant} \docType{package} \title{ Quantitative Analysis of Mass Spectrometry Data } \description{ MALDIquant provides a complete analysis pipeline for matrix-assisted laser desorption/ionization-time-of-flight (MALDI-TOF) and other two-dimensional mass spectrometry data. In addition to commonly used plotting and processing methods it includes distinctive features, namely baseline subtraction methods such as morphological filters (TopHat) or the statistics-sensitive non-linear iterative peak-clipping algorithm (SNIP), peak alignment using warping functions, handling of replicated measurements as well as allowing spectra with different resolutions. For a first overview see \code{vignette("MALDIquant-intro", package="MALDIquant")} and/or run \code{demo("MALDIquant")}. } \details{ \tabular{ll}{ Package: \tab MALDIquant\cr License: \tab GPL (>= 3)\cr URL: \tab http://strimmerlab.org/software/maldiquant/\cr } Main classes: \itemize{ \item \code{\linkS4class{MassPeaks}}: Represents a peak list of a single spectrum. \item \code{\linkS4class{MassSpectrum}}: Represents a single spectrum. } The accompanying website (see below) provides example R scripts to illustrate the functionality of this package, too. } \author{ Sebastian Gibb Maintainer: Sebastian Gibb \email{mail@sebastiangibb.de} } \references{ S. Gibb and K. Strimmer. 2012. MALDIquant: a versatile R package for the analysis of mass spectrometry data. Bioinformatics 28: 2270-2271. \url{http://bioinformatics.oxfordjournals.org/content/28/17/2270.abstract} Website: \url{http://strimmerlab.org/software/maldiquant/} } \seealso{ \itemize{ \item Introduction: \code{vignette("MALDIquant-intro", package="MALDIquant")}. \item Run demo files: \code{demo("MALDIquant")}. \item List all available manual pages: \code{library(help="MALDIquant")}. \item MALDIquant website: \url{http://strimmerlab.org/software/maldiquant/}. \item more MALDIquant examples and complete analyses: \url{https://github.com/sgibb/MALDIquantExamples/}. } } MALDIquant/man/detectPeaks-methods.Rd0000644000176200001440000000460212700165462017115 0ustar liggesusers\name{detectPeaks-methods} \docType{methods} \alias{detectPeaks} \alias{detectPeaks,MassSpectrum-method} \alias{detectPeaks,list-method} \title{Detects peaks in a MassSpectrum object.} \description{ This method looks for peaks in mass spectrometry data (represented by a \code{\linkS4class{MassSpectrum}} object).\cr A peak is a local maximum above a user defined noise threshold. } \usage{ \S4method{detectPeaks}{MassSpectrum}(object, halfWindowSize=20, method=c("MAD", "SuperSmoother"), SNR=2, \dots) \S4method{detectPeaks}{list}(object, \dots) } \arguments{ \item{object}{\code{\linkS4class{MassSpectrum}} object or a \code{list} of \code{\linkS4class{MassSpectrum}} objects.} \item{halfWindowSize}{\code{numeric}, half window size. \cr The resulting window reaches from \code{mass[currentIndex-halfWindowSize]} to \code{mass[currentIndex+halfWindowSize]}. A local maximum have to be the highest one in the given window to be recognized as peak.} \item{method}{a noise estimation function; see \code{\link[MALDIquant]{estimateNoise,MassSpectrum-method}}. } \item{SNR}{single numeric value. \code{SNR} is an abbreviation for \emph{s}ignal-to-\emph{n}oise-\emph{r}atio. A local maximum has to be higher than \code{SNR*noise} to be recognize as peak.} \item{\dots}{arguments to be passed to \code{\link[MALDIquant]{estimateNoise,MassSpectrum-method}}. If \code{object} is a \code{list} \code{mc.cores} is also supported.} } \value{ Returns a \code{\linkS4class{MassPeaks}} object. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassPeaks}}, \code{\linkS4class{MassSpectrum}}, \code{\link[MALDIquant]{estimateNoise,MassSpectrum-method}} \code{demo("peaks")} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## choose only the first mass spectrum s <- fiedler2009subset[[1]] ## transform intensities s <- transformIntensity(s, method="sqrt") ## smoothing spectrum s <- smoothIntensity(s, method="MovingAverage") ## remove baseline s <- removeBaseline(s) ## plot spectrum plot(s) ## call peak detection p <- detectPeaks(s) ## draw peaks on the plot points(p) ## label 10 highest peaks top10 <- intensity(p) \%in\% sort(intensity(p), decreasing=TRUE)[1:10] labelPeaks(p, index=top10) } \keyword{methods} MALDIquant/man/monoisotopicPeaks-methods.Rd0000644000176200001440000000624412703476727020407 0ustar liggesusers\name{monoisotopicPeaks-methods} \docType{methods} \alias{monoisotopicPeaks} \alias{monoisotopicPeaks,MassPeaks-method} \alias{monoisotopicPeaks,list-method} \title{Finds monoisotopic peaks in a MassPeaks object.} \description{ This method looks for monoisotopic peaks in peak list data (represented by a \code{\linkS4class{MassPeaks}} objects).\cr It is based on the poisson model for isotopic patterns described in Breen et al 2000. } \usage{ \S4method{monoisotopicPeaks}{MassPeaks}(object, minCor=0.95, tolerance=1e-4, distance=1.00235, size=3L:10L) \S4method{monoisotopicPeaks}{list}(object, \dots) } \arguments{ \item{object}{\code{\linkS4class{MassPeaks}} object or a \code{list} of \code{\linkS4class{MassPeaks}} objects.} \item{minCor}{\code{double}, minimal correlation between the peak pattern generated by the model and the experimental peaks in the \code{\linkS4class{MassPeaks}} object to be recognized as isotopic pattern.} \item{tolerance}{\code{double}, maximal relative deviation of peaks position (mass) to be considered as isotopic distance ( \code{abs(((mass[i]+distance)-mass[i+1])/mass[i]) < tolerance}).} \item{distance}{\code{double}, distance between two consecutive peaks in an isotopic pattern (default value taken from Park et al 2008). Could contain more than one value, e.g. \code{distance=(1:3)^-1} to find isotopic patterns for multiple charged patterns (e.g. 1+, 2+, and 3+). Please note that the order matters here if there is a monoisotopic peak for charge state 1 and 3 it would be reported as charge 1 for \code{distance=(1:3)^-1} and as 3 for \code{distance=(3:1)^-1} respectively.} \item{size}{\code{double}, size (length) of isotopic pattern, longer patterns are prefered over shorter ones.} \item{\dots}{arguments to be passed to \code{\link[MALDIquant]{monoisotopicPeaks,MassPeaks-method}}. If \code{object} is a \code{list} \code{mc.cores} is also supported.} } \value{ Returns a \code{\linkS4class{MassPeaks}} object with monoisotopic peaks only. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \references{ K. Park, J.Y. Yoon, S. Lee, E. Paek, H. Park, H.J. Jung, and S.W. Lee. 2008. Isotopic peak intensity ratio based algorithm for determination of isotopic clusters and monoisotopic masses of polypeptides from high-resolution mass spectrometric data. Analytical Chemistry, 80: 7294-7303. E.J. Breen, F.G. Hopwood, K.L. Williams, and M.R. Wilkins. 2000. Automatic poisson peak harvesting for high throughput protein identification. Electrophoresis 21: 2243-2251. } \seealso{ \code{\linkS4class{MassPeaks}}, \code{\link[MALDIquant]{detectPeaks,MassSpectrum-method}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create example peaks p <- createMassPeaks(mass=995:1005, intensity=c(100, 10, 30, 10, 40, # noise 550, 330, 110, 10, # isotopic pattern 5, 15)) # more noise m <- monoisotopicPeaks(p) as.matrix(m) ## plot the peaks and mark the monoisotopic one plot(p) points(m, col=2, pch=4) } \keyword{methods} MALDIquant/man/calibrateIntensity-methods.Rd0000644000176200001440000000621012624130232020503 0ustar liggesusers\name{calibrateIntensity-methods} \docType{methods} \alias{calibrateIntensity} \alias{calibrateIntensity,MassSpectrum-method} \alias{calibrateIntensity,list-method} \title{Calibrates intensities of a MassSpectrum object.} \description{ This function calibrates (normalize) intensities of \code{\linkS4class{MassSpectrum}} objects. } \usage{ \S4method{calibrateIntensity}{MassSpectrum}(object, method=c("TIC", "PQN", "median"), range, \dots) \S4method{calibrateIntensity}{list}(object, method=c("TIC", "PQN", "median"), range, \dots) } \arguments{ \item{object}{\code{\linkS4class{MassSpectrum}} object or a \code{list} of \code{\linkS4class{MassSpectrum}} objects.} \item{method}{the calibration method to be used. This should be one of \code{"TIC"}, \code{"PQN"} or \code{"median"}. See \sQuote{Details} section.} \item{range}{\code{numeric} of length 2, if given the scaling factor is calculated on the mass range from \code{range[1L]} to \code{range[2L]} and applied to the whole spectrum.} \item{\dots}{arguments to be passed to other functions. Currently only \code{mc.cores} is supported if \code{object} is a \code{list}.} } \details{ A number of different calibration methods are provided: \describe{ \item{\code{"TIC"}:}{The TIC (\emph{T}otal \emph{I}on \emph{C}urrent) of a \code{\linkS4class{MassSpectrum}} object is set to one. If \code{range} is given the \emph{TIC} is only calculated for the intensities in the specified mass range.} \item{\code{"PQN"}:}{The PQN (\emph{P}robabilistic \emph{Q}uotient \emph{N}ormalization) is described in \emph{Dieterle et al 2006}. \code{calibrateIntensity} uses the following algorithm: \enumerate{ \item{Calibrate all spectra using the \code{"TIC"} calibration.} \item{Calculate a median reference spectrum.} \item{Calculate the quotients of all intensities of the spectra with those of the reference spectrum.} \item{Calculate the median of these quotients for each spectrum.} \item{Divide all intensities of each spectrum by its median of quotients.} } } \item{\code{"median"}:}{The median of intensities of a \code{\linkS4class{MassSpectrum}} object is set to one.} } } \value{ Returns a modified \code{\linkS4class{MassSpectrum}} object with calibrated intensities. } \references{ F. Dieterle, A. Ross, G. Schlotterbeck, and Hans Senn. 2006. Probabilistic quotient normalization as robust method to account for dilution of complex biological mixtures. Application in 1H NMR metabonomics. Analytical Chemistry 78(13): 4281-4290. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassSpectrum}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## baseline correction b <- removeBaseline(fiedler2009subset) ## calibrate intensity values calibrateIntensity(b, method="TIC") ## calibrate intensity values using TIC for a specific mass range calibrateIntensity(b, method="TIC", range=c(3000, 5000)) } \keyword{methods} MALDIquant/man/removeBaseline-methods.Rd0000644000176200001440000000346012624130232017612 0ustar liggesusers\name{removeBaseline-methods} \docType{methods} \alias{removeBaseline} \alias{removeBaseline,MassSpectrum-method} \alias{removeBaseline,list-method} \title{Removes the baseline of a MassSpectrum object.} \description{ This method removes the baseline of mass spectrometry data (represented by a \code{\linkS4class{MassSpectrum}} object).\cr The intensity of the mass spectrometry data would be reduced by \code{baseline}. } \usage{ \S4method{removeBaseline}{MassSpectrum}(object, method=c("SNIP", "TopHat", "ConvexHull", "median"), \dots) \S4method{removeBaseline}{list}(object, \dots) } \arguments{ \item{object}{\code{\linkS4class{MassSpectrum}} object or a \code{list} of \code{\linkS4class{MassSpectrum}} objects.} \item{method}{used baseline estimation method, one of \code{"SNIP"}, \code{"TopHat"}, \code{"ConvexHull"} or \code{"median"}. See \code{\link[MALDIquant]{estimateBaseline,MassSpectrum-method}} for details. } \item{\dots}{arguments to be passed to \code{\link[MALDIquant]{estimateBaseline,MassSpectrum-method}}. If \code{object} is a \code{list} \code{mc.cores} is also supported.} } \value{ Returns a modified \code{\linkS4class{MassSpectrum}} object with reduced intensities. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{MassSpectrum}}, \code{\link[MALDIquant]{estimateBaseline,MassSpectrum-method}} \code{demo("baseline")} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## choose only the first mass spectrum s <- fiedler2009subset[[1]] ## plot spectrum plot(s) ## subtract baseline b <- removeBaseline(s, method="SNIP") ## draw modified spectrum on the plot lines(b, col="blue") } \keyword{methods} MALDIquant/man/transformIntensity-methods.Rd0000644000176200001440000000271312624130232020574 0ustar liggesusers\name{transformIntensity-methods} \docType{methods} \alias{transformIntensity} \alias{transformIntensity,AbstractMassObject-method} \alias{transformIntensity,list-method} \title{Transforms intensities of an AbstractMassObject object.} \description{ This method performs a transformation (e.g. sqrt-transformation) on the intensities of an \code{\linkS4class{AbstractMassObject}} object. } \usage{ \S4method{transformIntensity}{AbstractMassObject}(object, method=c("sqrt", "log", "log2", "log10")) \S4method{transformIntensity}{list}(object, \dots) } \arguments{ \item{object}{\code{\linkS4class{AbstractMassObject}} object or a \code{list} of \code{\linkS4class{AbstractMassObject}} objects.} \item{method}{used transformation method.} \item{\dots}{arguments to be passed to underlying functions. If \code{object} is a \code{list} \code{mc.cores} is also supported.} } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\linkS4class{AbstractMassObject}}, \code{\linkS4class{MassSpectrum}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## choose only the first mass spectrum s <- fiedler2009subset[[1]] ## transform spectrum t <- transformIntensity(s, method="sqrt") ## plot spectrum par(mfrow=c(2, 1)) plot(s, main="raw spectrum") plot(t, main="transformed spectrum") par(mfrow=c(1, 1)) } \keyword{methods} MALDIquant/man/referencePeaks-functions.Rd0000644000176200001440000000400013275621220020135 0ustar liggesusers\name{referencePeaks} \alias{referencePeaks} \title{ Creates a reference \code{\linkS4class{MassPeaks}} object. } \description{ This function creates a reference \code{\linkS4class{MassPeaks}} object (also called \emph{Anchor Peaks}) from a list of \code{\linkS4class{MassPeaks}} objects.\cr Generally it is a combination of \code{\link[MALDIquant]{binPeaks}} and \code{\link[MALDIquant]{filterPeaks}} } \usage{ referencePeaks(l, method=c("strict", "relaxed"), minFrequency=0.9, tolerance=0.002) } \arguments{ \item{l}{ \code{list}, list of \code{\linkS4class{MassPeaks}} objects. } \item{method}{ bin creation rule (see \code{\link[MALDIquant]{binPeaks}}). } \item{minFrequency}{ \code{double}, remove all peaks which occur in less than \code{minFrequency*length(l)} \code{\linkS4class{MassPeaks}} objects. } \item{tolerance}{ \code{double}, maximal relative deviation of a peak position (mass) to be considered as identical. Must be multiplied by \code{10^-6} for ppm, e.g. use \code{tolerance=5e-6} for 5 ppm. } } \value{ Returns a new \code{\linkS4class{MassPeaks}} objects. \cr The \code{\link[MALDIquant]{intensity}} slot of the returned \code{\linkS4class{MassPeaks}} represents the frequency of this mass position in all samples. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{binPeaks}}, \code{\link[MALDIquant]{filterPeaks}}, \code{\linkS4class{MassPeaks}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create four MassPeaks objects and add them to the list p<- list(createMassPeaks(mass=1:2, intensity=1:2), createMassPeaks(mass=1:3, intensity=1:3), createMassPeaks(mass=1:4, intensity=1:4), createMassPeaks(mass=1:5, intensity=1:5)) ## only use peaks which occur in all MassPeaks objects as reference peaks refPeaks <- referencePeaks(p, minFrequency=1) mass(refPeaks) # 1:2 intensity(refPeaks) # c(1, 1) } \keyword{methods} MALDIquant/man/MassSpectrum-class.Rd0000644000176200001440000000707112624130232016744 0ustar liggesusers\name{MassSpectrum-class} \Rdversion{1.1} \docType{class} \alias{MassSpectrum} \alias{MassSpectrum-class} \alias{isRegular} \alias{isRegular,MassSpectrum-method} \alias{totalIonCurrent} \alias{totalIonCurrent,MassSpectrum-method} \title{Class "MassSpectrum"} \description{ \code{\linkS4class{MassSpectrum}} represents a single spectrum of a MALDI-TOF mass spectrometry measurement. It provides an easy framework for doing some preprocessing steps like peak detection, baseline correction and much more. \cr } \section{Objects from the Class}{ \code{\link[MALDIquant]{createMassSpectrum}}: Creates a \code{\linkS4class{MassSpectrum}} object. } \section{Extends}{ Class \code{\linkS4class{AbstractMassObject}}, directly. } \section{Methods}{ \describe{ \item{calibrateIntensity}{\code{signature(x = "MassSpectrum")}: Calibrates the intensity of a \code{\linkS4class{MassSpectrum}} object. See \code{\link[MALDIquant]{calibrateIntensity,MassSpectrum-method}} for details.} \item{detectPeaks}{\code{signature(x = "MassSpectrum")}: Look for local maxima and estimate noise to extract peaks out of a \code{\linkS4class{MassSpectrum}} object. See \code{\link[MALDIquant]{detectPeaks,MassSpectrum-method}} for details.} \item{estimateBaseline}{\code{signature(x = "MassSpectrum")}: Estimates the baseline of a \code{\linkS4class{MassSpectrum}} object. See \code{\link[MALDIquant]{estimateBaseline,MassSpectrum-method}} for details.} \item{estimateNoise}{\code{signature(x = "MassSpectrum")}: Estimates the noise of a \code{\linkS4class{MassSpectrum}} object. See \code{\link[MALDIquant]{estimateNoise,MassSpectrum-method}} for details.} \item{isRegular}{\code{signature(object = "MassSpectrum")}: Returns \code{FALSE} if the frequency of mass values with irregular intervals is greater than \code{threshold} (because \code{object} was measured in \emph{centroid} mode or some \code{intensity} values were filtered).} \item{removeBaseline}{\code{signature(x = "MassSpectrum")}: Estimates and removes the baseline of a \code{\linkS4class{MassSpectrum}} object. See \code{\link[MALDIquant]{removeBaseline,MassSpectrum-method}} for details.} \item{smoothIntensity}{\code{signature(object = "MassSpectrum")}: Smoothes the intensities of an \code{MassSpectrum} object. See \code{\link[MALDIquant]{smoothIntensity,MassSpectrum-method}} for details.} \item{totalIonCurrent}{\code{signature(object = "MassSpectrum")}: Accessor function for Total Ion Current (TIC, area under the curve).} } } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} } \seealso{ \code{\link[MALDIquant]{createMassSpectrum}}, \code{\link[MALDIquant]{calibrateIntensity,MassSpectrum-method}}, \code{\link[MALDIquant]{detectPeaks,MassSpectrum-method}}, \code{\link[MALDIquant]{estimateBaseline,MassSpectrum-method}}, \code{\link[MALDIquant]{estimateNoise,MassSpectrum-method}}, \code{\link[MALDIquant]{removeBaseline,MassSpectrum-method}}, \code{\link[MALDIquant]{smoothIntensity,MassSpectrum-method}}, \code{\linkS4class{AbstractMassObject}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## create a MassSpectrum object by default constructor s <- createMassSpectrum(mass=1:100, intensity=rnorm(100)^2, metaData=list(name="example")) ## show some details s ## plot spectrum plot(s) ## get TIC totalIonCurrent(s) ## modify intensity and metaData intensity(s)[1:50] <- 0 metaData(s) <- list(name="modified example") ## plot again plot(s) } \keyword{classes} MALDIquant/man/smoothIntensity-methods.Rd0000644000176200001440000000560113202125244020071 0ustar liggesusers\name{smoothIntensity-methods} \docType{methods} \alias{smoothIntensity} \alias{smoothIntensity,MassSpectrum-method} \alias{smoothIntensity,list-method} \title{Smoothes intensities of a MassSpectrum object.} \description{ This method smoothes the intensity values of a \code{\linkS4class{MassSpectrum}} object. } \usage{ \S4method{smoothIntensity}{MassSpectrum}(object, method=c("SavitzkyGolay", "MovingAverage"), halfWindowSize, \dots) } \arguments{ \item{object}{\code{\linkS4class{AbstractMassObject}} object or a \code{list} of \code{\linkS4class{AbstractMassObject}} objects.} \item{method}{used smoothing method, one of \code{"SavitzkyGolay"} or \code{"MovingAverage"}.} \item{halfWindowSize}{half window size. The resulting window reaches from \code{mass[currentIndex-halfWindowSize]} to \code{mass[currentIndex+halfWindowSize]} (window size is \code{2*halfWindowSize+1}). The best size differs depending on the selected \code{method}.} \item{\dots}{arguments to be passed to \code{method}. \code{SavitzkyGolay} has an additional \code{polynomialOrder} argument (default: \code{3}) to control the order of the filter. \code{MovingAverage} has an additional \code{weighted} argument (default: \code{FALSE}) to indicate if the average should be equal weight (default) or if it should have weights depending on the distance from the center as calculated as \code{1/2^abs(-halfWindowSize:halfWindowSize)} with the sum of all weigths normalized to 1.} } \details{ \code{halfWindowSize}: Depends on the selected \code{method}. For the \code{SavitzkyGolay} the \code{halfWindowSize} should be smaller than \emph{FWHM} of the peaks (full width at half maximum; please find details in Bromba and Ziegler 1981). In general the \code{halfWindowSize} for the \code{MovingAverage} has to be much smaller than for \code{SavitzkyGolay} to conserve the peak shape. } \author{ Sebastian Gibb \email{mail@sebastiangibb.de} Weighted moving average: Sigurdur Smarason } \references{ A. Savitzky and M. J. Golay. 1964. Smoothing and differentiation of data by simplified least squares procedures. Analytical chemistry, 36(8), 1627-1639. M. U. Bromba and H. Ziegler. 1981. Application hints for Savitzky-Golay digital smoothing filters. Analytical Chemistry, 53(11), 1583-1586. } \seealso{ \code{\linkS4class{MassSpectrum}} Website: \url{http://strimmerlab.org/software/maldiquant/} } \examples{ ## load package library("MALDIquant") ## load example data data("fiedler2009subset", package="MALDIquant") ## smooth spectra s <- smoothIntensity(fiedler2009subset, method="MovingAverage", halfWindowSize=2) ## or s <- smoothIntensity(fiedler2009subset, method="MovingAverage", halfWindowSize=2, weighted=TRUE) ## or s <- smoothIntensity(fiedler2009subset, method="SavitzkyGolay", halfWindowSize=10) } \keyword{methods} MALDIquant/man/MALDIquant-deprecated.Rd0000644000176200001440000000113312624130232017201 0ustar liggesusers\name{MALDIquant-deprecated} \alias{MALDIquant-deprecated} %------ PLEASE: put \alias{.} here for EACH ! %------ NOTE: ../R/Deprecated.R must be synchronized with this! \title{Deprecated Functions/Methods in Package \pkg{MALDIquant}} \description{ These functions/methods are provided for compatibility with older versions \code{\link{MALDIquant}} only, and may be defunct as soon as the next release. } %\details{ %\describe{ % % since MALDIquant x.y.z % %\item{function}{explanation} % % since MALDIquant 1.11.12 % } %} \seealso{ \code{\link{Deprecated}} } \keyword{internal} \keyword{misc}