lme4/0000755000176200001440000000000013437575312011125 5ustar liggesuserslme4/inst/0000755000176200001440000000000013437531451012076 5ustar liggesuserslme4/inst/CITATION0000644000176200001440000000172713322650332013233 0ustar liggesusersbibentry(bibtype = "Article", title = "Fitting Linear Mixed-Effects Models Using {lme4}", author = c(person(given = "Douglas", family = "Bates"), person(given = "Martin", family = "M{\\\"a}chler"), person(given = "Ben", family = "Bolker"), person(given = "Steve", family = "Walker")), journal = "Journal of Statistical Software", year = "2015", volume = "67", number = "1", pages = "1--48", doi = "10.18637/jss.v067.i01", header = "To cite lme4 in publications use:", textVersion = paste("Douglas Bates, Martin Maechler, Ben Bolker, Steve Walker (2015).", "Fitting Linear Mixed-Effects Models Using lme4.", "Journal of Statistical Software, 67(1), 1-48.", "doi:10.18637/jss.v067.i01.") ) lme4/inst/NEWS.Rd0000644000176200001440000011751013435551272013147 0ustar liggesusers\newcommand{\PR}{\Sexpr[results=rd]{tools:::Rd_expr_PR(#1)}} \name{NEWS} \title{lme4 News} \encoding{UTF-8} \section{CHANGES IN VERSION 1.1-21}{ \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item \code{bootMer} now traps and stores messages, warnings, and errors \item \code{bootMer} returns an object of class \code{c("bootMer","boot")}; new \code{print} and \code{confint} methods for class \code{bootMer} \item small changes to wording of singular-fit messages } } } \section{CHANGES IN VERSION 1.1-20 (2019-02-04)}{ \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item default value for \code{condVar} (whether to return conditional variances as part of the \code{ranef.merMod} object) is now \code{TRUE} \item changed default optimizer to "nloptwrap" (BOBYQA implementation from the \code{nloptr} package) for \code{lmer} models. To revert to the old default, use \code{control=lmerControl(optimizer="bobyqa")} } } \subsection{BUG FIXES}{ \itemize{ \item adapted tests to work with R-devel's more consistent \code{formula(model.frame(.))} behavior. } } } \section{CHANGES IN VERSION 1.1-19 (2018-11-10)}{ \subsection{NEW FEATURES}{ \itemize{ \item influence measure code from \code{car} rolled in (see \code{?influence.merMod}) \item \code{mkReTrm} gets new arguments \code{reorder.terms}, \code{reorder.vars} to control arrangement of RE terms and individual effects with RE terms within model structures \item adding material from the \pkg{RePsychLing} package (on GitHub; see Bates et al 2015 arXiv:1506.04967) to show orthogonal variance components. \item new utility \code{isSingular()} function for detecting singular fits \item \code{allFit} function/methods have been moved to the main package, rather than being included in an auxiliary source file; computations can (in principle) be done in parallel } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item by default a message is now printed for singular fits (i.e., fits with linear combinations of variance components that are exactly zero) \item \code{as.data.frame.merMod} finds conditional variance information stored either as \code{attr(.,"postVar")} or \code{attr(.,"condVar")} (for \code{glmmTMB} compatibility) \item change to defaults of \code{[g]lmerControl} to print a message when fits are singular \item post-fitting convergence checks based on estimated gradient and Hessian (see \code{\link{troubleshooting}}) are no longer performed for (nearly-)singular fits (see \code{\link{isSingular}}) } } } \section{CHANGES IN VERSION 1.1-18-1 (2018-08-17)}{ \itemize{ \item This is a minor release; the only change is to roll back (unexport) the \code{influence.merMod} method, pending resolution of conflicts with the car package } } \section{CHANGES IN VERSION 1.1-18 ((2018-08-16)}{ \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item \code{ranef(.,condVar=TRUE)} now works when there are multiple random effects terms per factor } } \subsection{NEW FEATURES}{ \itemize{ \item \code{rstudent} and \code{influence} methods are available for \code{merMod} objects \item \code{devfun2} function (for generating a deviance function that works on the standard deviation/correlation scale) is now exported } } \subsection{BUG FIXES}{ \itemize{ \item \code{lmList} now obeys its \code{pool} argument (instead of always using what currently is the default, GH #476) } } } \section{CHANGES IN VERSION 1.1-17 (2018-04-03)}{ \itemize{ \item This is a maintenance release only (fixes CRAN problems with cross-platform tests and examples) } } \section{CHANGES IN VERSION 1.1-16 (2018-03-28)}{ \subsection{BUG FIXES}{ \itemize{ \item \code{lmList} no longer ignores the \code{subset} argument (John Fox) \item fixed several minor issues with predicting when (1) grouping variables have different levels from original model (e.g. missing levels/factor levels not explicitly specified in \code{newdata}) or (2) \code{re.form} is a subset of the original RE formula and some (unused) grouping variables are omitted from \code{newdata} (GH #452, #457) } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item \code{lmList} tries harder to collect errors and pass them on as warnings \item documented \code{as.function} method (given a \code{merMod} object, returns a function that computes the deviance/REML criterion for specified parameters) \item \code{print} method for \code{summary.merMod} objects no longer collapses small values of the t-statistic to zero } } } \section{CHANGES IN VERSION 1.1-15 (2017-12-21)}{ \subsection{BUG FIXES}{ \itemize{ \item \code{model.frame(., fixed.only=TRUE)} now handles models with "non-syntactic" (e.g. space-containing/backtick-delimited) variables in the formula. \item \code{confint()} now works again for the default method \code{"profile"}. } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item exported \code{dotplot.ranef.mer} } } } \section{CHANGES IN VERSION 1.1-14 (2017-09-27)}{ \itemize{ \item Primarily an R-devel/CRAN-compatibility release. } \subsection{NEW FEATURES}{ \itemize{ \item added \code{transf} argument to \code{dotplot.ranef.mer} to allow back-transformation (Ferenci Tamás, GH #134) \item added \code{as.data.frame.ranef.mer} convenience method \item user can specify initial value for overdispersion parameter in \code{glmer.nb} (Timothy Lau, GH #423) } } \subsection{BUG FIXES}{ \itemize{ \item fix bug where NAs in fitting data were carried over into predictions on new data (!) (lmwang9527, GH #420) \item fix bug with long terms in models with || notation \item \code{nlmer} now respects user-specified lower/upper bounds (GH #432) \item \code{confint.thpr} (confint method applied to an already-computed profile now respects "theta_"/"beta_" specifications to return all random-effect or all fixed-effect confidence intervals, respectively. } } \subsection{DOCUMENTATION IMPROVEMENTS}{ \itemize{ \item document need to export packages and objects to workers when using \code{bootMer} with snow } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item improved warning message when using \code{lmerControl()} with \code{glmer} (GH #415) \item avoid deparsing big data frames when checking data (GH #410) \item pass \code{verbose} options to nloptr optimizers when using \code{nloptwrap} (previously ignored, with a warning) \item the \code{fl} (factor list) component of \code{mkReTrms} objects is now returned as a list rather than a data frame } } } \section{CHANGES IN VERSION 1.1-13 (2017-04-18) }{ \subsection{NEW FEATURES}{ \itemize{ \item added \code{prof.scale} argument to \code{profile.merMod}, documented caveats about using \code{varianceProf}/\code{logProf} transformation methods for correlation parameters } } \subsection{BUG FIXES}{ \itemize{ \item suppressed spurious contrast-dropping warning (GH #414) \item fixed bug in \code{confint.lmList4} (GH #26) \item fixed bug when \code{FUN} returned an unnamed vector in \code{confint(.,FUN=FUN,method="boot")} \item fixed small bug relating to \code{nAGQ0initStep=FALSE} } } \subsection{CRAN-COMPATIBILITY UPDATES}{ \itemize{ \item fixed time stamps on compiled versions of vignettes } } } \section{CHANGES IN VERSION 1.1-12 (2016-04-15)}{ This release is primarily a bump for compatibility with the new Windows toolchain. Some small documentation and test changes. \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item reduced default print precision of fixed-effect correlation matrix in \code{summary.merMod} (related to GH #300) } } \subsection{BUG FIXES}{ \itemize{ \item fixed bug in \emph{de novo} Gamma-response simulations } } } \section{CHANGES IN VERSION 1.1-11 (2016-02-11)}{ \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item change \code{VarCorr} method signature (for compatibility with upstream \code{nlme} changes) } } \subsection{BUG FIXES}{ \itemize{ \item several \code{glmer.nb} bugs fixed (generally not changing results, but causing warnings and errors e.g. during bootstrapping) \item fixes to some \code{lmList} bugs (Github #320) \item minor documentation, vignette updates \item minor fix to \code{plot.merMod} with \code{id} specified \item \code{bootMer} now handles separate offset term properly (Github #250) } } } \section{CHANGES IN VERSION 1.1-10 (2015-10-05)}{ This release is primarily a version bump for the release of the paper in J. Stat. Software. \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item updated CITATION file. } } \subsection{NEW FEATURES}{ \itemize{ \item We export set of about a dozen printing utility functions which are used in our \code{print} methods. \item \code{bootMer} now allows the use of \code{re.form}. } } \subsection{BUG FIXES}{ \itemize{ \item fixed reordering bug in names of \code{getME(.,"Ztlist")} (terms are reordered in decreasing order of the number of levels of the grouping variable, but names were not being reordered) \item fixed issue with simulation when complex forms (such as nested random effects terms) are included in the model (Github #335) } } } \section{CHANGES IN VERSION 1.1-9 (2015-08-20)}{ \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item explicit \code{maxit} arguments for various functions (\code{refit}, \code{mkGlmerDevfun}, ...) } } \subsection{NEW FEATURES}{ \itemize{ \item \code{terms} and \code{formula} methods now have \code{random.only} options \item \code{getME} gains a \code{glmer.nb.theta} option. It is now (an S3) generic with an \code{"merMod"} method in \pkg{lme4} and potentially other methods in dependent packages. \item \code{simulate} now works for \code{glmer.nb} models (Github #284: idea from @aosmith16) } } \subsection{BUG FIXES}{ \itemize{ \item prediction and simulation now work when random-effects terms have data-dependent bases (e.g., \code{poly(.)} or \code{ns(.)} terms) (Github #313, Edgar Gonzalez) \item \code{logLik} for \code{glmer.nb} models now includes the overdispersion parameter in the parameter count (\code{df} attribute) \item \code{lmList} handles offsets and weights better \item lots of fixes to \code{glmer.nb} (Github #176, #266, #287, #318). \strong{Please note that glmer.nb is still somewhat unstable/under construction.} } } \subsection{CRAN-COMPATIBILITY UPDATES}{ \itemize{ \item import functions from base packages to pass CRAN checks \item tweak to failing tests on Windows } } } \section{CHANGES IN VERSION 1.1-8 (2015-06-22)}{ \subsection{NEW FEATURES}{ \itemize{ \item \code{getME} gains a \code{"Tlist"} option (returns a vector of template matrices from which the blocks of \code{Lambda} are generated) \item \code{hatvalues} method returns the diagonal of the hat matrix of LMMs \item \code{nlminbwrap} convenience function allows use of \code{nlminb} without going through the \code{optimx} package \item \code{as.data.frame.VarCorr.merMod} gains an \code{order} option that allows the results to be sorted with variances first and covariances last (default) or in lower-triangle order \item allow more flexibility in \code{scales} for \code{xyplot.thpr} method (John Maindonald) \item models with only random effects of the form \code{1|f} have better starting values for \code{lmer} optimization (Gabor Grothendieck) \item \code{glmer} now allows a logical vector as the response for binomial models \item \code{anova} will now do (sequential) likelihood ratio tests for two or more models including both \code{merMod} and \code{glm} or \code{lm} models (at present, only for GLMMs fitted with the Laplace approximation) } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item \code{deviance()} now returns the deviance, rather than half the negative log-likelihood, for GLMMs fitted with Laplace (the behaviour for LMMs and GLMMs fitted with \code{nAGQ>1} has not changed) \item convergence warning and diagnostic test issues are now reported in \code{print} and \code{summary} methods \item \code{update} now (attempts to) re-evaluate the original fit in the environment of its formula (as is done with \code{drop1}) \item \code{refit} of a nonlinear mixed model fit now throws an error, but this will hopefully change in future releases (related to bug fixes for Github #231) \item \code{lmList} now returns objects of class \code{lmList4}, to avoid overwriting \code{lmList} methods from the recommended \code{nlme} package \item names of random effects parameters in \code{confint} changed (modified for consistency across methods); \code{oldNames=TRUE} (default) gives \code{".sig01"}-style names, \code{oldNames=FALSE} gives \code{"sd_(Intercept)|Subject"}-style names \item \code{confint(.,method="Wald")} result now contains rows for random effects parameters (values set to \code{NA}) as well as for fixed-effect parameters } } \subsection{BUG FIXES}{ \itemize{ \item \code{simulate} and \code{predict} now work more consistently with different-length data, differing factor levels, and \code{NA} values (Github #153, #197, #246, #275) \item \code{refit} now works correctly for \code{glmer} fits (Github #231) \item fixed bug in \code{family.merMod}; non-default links were not retrieved correctly (Alessandro Moscatelli) \item fixed \code{bootMer} bug for \code{type=="parametric"}, \code{use.u=TRUE} (Mark Lai) \item gradient scaling for convergence checks now uses the Cholesky factor of the Hessian; while it is more correct, this will lead to some additional (probably false-positive) convergence warnings \item As with \code{lm()}, users now get an error for non-finite (\code{Inf}, \code{NA}, or \code{NaN}) values in the response unless \code{na.action} is set to exclude or omit them (Github #310) } } } \section{CHANGES IN VERSION 1.1-7 (2014-07-19)}{ \subsection{NEW FEATURES}{ \itemize{ \item the \code{nloptr} package is now imported; a wrapper function (\code{nloptwrap}) is provided so that \code{lmerControl(optimizer="nloptwrap")} is all that's necessary to use \code{nloptr} optimizers in the nonlinear optimization stage (the default algorithm is NLopt's implementation of BOBYQA: see \code{?nloptwrap} for examples) \item preliminary implementation of checks for scaling of model matrix columns (see \code{check.scaleX} in \code{?lmerControl}) \item \code{beta} is now allowed as a synonym for \code{fixef} when specifying starting parameters (Github #194) } } \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item the use of \code{deviance} to return the REML criterion is now deprecated; users should use \code{REMLcrit()} instead (Github #211) \item changed the default value of \code{check.nobs.vs.rankZ} to \code{"ignore"} (Github #214) } } \subsection{BUG FIXES}{ \itemize{ \item change gradient testing from absolute to relative \item fix \code{confint(.,method="boot")} to allow/work properly with \code{boot.type} values other than \code{"perc"} (reported by Alan Zaslavsky) \item allow \code{plot()} to work when data are specified in a different environment (reported by Dieter Menne) \item \code{predict} and \code{simulate} work for matrix-valued predictors (Github #201) \item other \code{simulate} bugs (Github #212) \item \code{predict} no longer warns spuriously when original response was a factor (Github #205) \item fix memory access issues (Github #200) } } } \section{CHANGES IN VERSION 1.1-6 (2014-04-13)}{ This version incorporates no changes in functionality, just modifications to testing and dependencies for CRAN/backward compatibility. \subsection{BUG FIXES}{ \itemize{ \item change \code{drop1} example to prevent use of old/incompatible \code{pbkrtest} versions, for 2.15.3 compatibility \item explicitly \code{require(mlmRev)} for tests to prevent cyclic dependency \item bump \code{RcppEigen} Imports: requirement from >0.3.1.2.3 to >=0.3.2.0; \code{Rcpp} dependency to >= 0.10.5 } } } \section{CHANGES IN VERSION 1.1-5 (2014-03-14)}{ \subsection{BUG FIXES}{ \itemize{ \item improved NA handling in \code{simulate} and \code{refit} \item made internal handling of \code{weights}/\code{offset} arguments slightly more robust (Github #191) \item handle non-positive-definite estimated fixed effect variance-covariance matrices slightly more generally/robustly (fall back on RX approximation, with a warning, if finite-difference Hessian is non-PD; return \code{NA} matrix if RX approximation is also bad) } } \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item Added output specifying when Gauss-Hermite quadrature was used to fit the model, and specifying number of GHQ points (Github #190) } } } \section{CHANGES IN VERSION 1.1-4}{ \subsection{BUG FIXES}{ \itemize{ \item Models with prior weights returned an incorrect sigma and deviance (Github issue #155). The deviance bug was only a practical issue in model comparisons, not with inferences given a particular model. Both bugs are now fixed. \item Profiling failed in some cases for models with vector random effects (Github issue #172) \item Standard errors of fixed effects are now computed from the approximate Hessian by default (see the \code{use.hessian} argument in \code{vcov.merMod}); this gives better (correct) answers when the estimates of the random- and fixed-effect parameters are correlated (Github #47) } } \subsection{MAJOR USER-VISIBLE CHANGES}{ \itemize{ \item The default optimizer for \code{lmer} fits has been switched from "Nelder_Mead" to "bobyqa" because we have generally found the latter to be more reliable. To switch back to the old behaviour, use \code{control=lmerControl(optimizer="Nelder_Mead")}. \item Better handling of rank-deficient/overparameterized fixed-effect model matrices; see \code{check.rankX} option to \code{[g]lmerControl}. The default value is "message+drop.cols", which automatically drops redundant columns and issues a message (not a warning). (Github #144) } } \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item slight changes in convergence checking; tolerances can be specified where appropriate, and some default tolerances have changed (e.g., \code{check.conv.grad}) \item improved warning messages about rank-deficiency in X and Z etc. (warnings now try to indicate whether the unidentifiability is in the fixed- or random-effects part of the model) \item \code{predict} and \code{simulate} now prefer \code{re.form} as the argument to specify which random effects to condition on, but allow \code{ReForm}, \code{REForm}, or \code{REform}, giving a message (not a warning) that they are deprecated (addresses Github #170) \item small fixes for printing consistency in models with no fixed effects \item we previously exported a \code{fortify} function identical to the one found in \code{ggplot2} in order to be able to define a \code{fortify.merMod} S3 method without inducing a dependency on \code{ggplot2}. This has now been unexported to avoid masking \code{ggplot2}'s own \code{fortify} methods; if you want to add diagnostic information to the results of a model, use \code{fortify.merMod} explicitly. \item \code{simulate.formula} now checks for names associated with the \code{theta} and \code{beta} parameter vectors. If missing, it prints a message (not a warning); otherwise, it re-orders the parameter vectors to match the internal representation. \item preliminary implementation of a \code{check.scaleX} argument in \code{[g]lmerControl} that warns about scaling if some columns of the fixed-effect model matrix have large standard deviations (relative to 1, or to each other) } } } \section{CHANGES IN VERSION 1.1-3}{ \subsection{NEW FEATURES}{ \itemize{ \item The gradient and Hessian are now computed via finite differencing after the nonlinear fit is done, and the results are used for additional convergence tests. Control of the behaviour is available through the \code{check.conv.*} options in \code{[g]lmerControl}. Singular fits (fits with estimated variances of zero or correlations of +/- 1) can also be tested for, although the current default value of the \code{check.conv.singular} option is \code{"ignore"}; this may be changed to \code{"warning"} in the future. The results are stored in \code{@optinfo$derivs}. (Github issue #120; based on code by Rune Christensen.) \item The \code{simulate} method will now work to generate simulations "from scratch" by providing a model formula, a data frame holding the predictor variables, and a list containing the values of the model parameters: see \code{?simulate.merMod}. (Github issue #115) \item \code{VarCorr.merMod} objects now have an \code{as.data.frame} method, converting the list of matrices to a more convenient form for reporting and post-processing. (Github issue #129) } } \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item results of \code{fitted()}, \code{predict()}, and \code{residuals()} now have names in all cases (previously results were unnamed, or named only when predicting from new data) \item the \code{anova} method now has a \code{refit} argument that controls whether objects of class \code{lmerMod} should be refitted with ML before producing the \code{anova} table. (Github issues #141, #165; contributed by Henrik Singmann.) \item the \code{print} method for \code{VarCorr} objects now has a \code{formatter} argument for finer control of standard deviation and variance formats \item the \code{optinfo} slot now stores slightly more information, including the number of function evaluations (\code{$feval}). \item \code{dotplot.ranef.mer} now adds titles to sub-plots by default, like \code{qqmath.ranef.mer} } } \subsection{BUG FIXES}{ \itemize{ \item \code{fitted} now respects \code{na.action} settings (Github issue #149) \item \code{confint(.,method="boot")} now works when there are \code{NA} values in the original data set (Github issue #158) \item previously, the code stored the results (parameter values, residuals, etc.) based on the \emph{last} set of parameters evaluated, rather than the optimal parameters. These were not always the same, but were almost always very close, but some previous results will change slightly (Github issue #166) } } } \section{CHANGES IN VERSION 1.1-0}{ \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item when using the default \code{method="profile"}, \code{confint} now returns appropriate upper/lower bounds (-1/1 for correlations, 0/Inf for standard deviations) rather than \code{NA} when appropriate } } \subsection{BUG FIXES}{ \itemize{ \item in a previous development version, \code{ranef} returned incorrect conditional variances (github issue #148). this is now fixed } } } \section{CHANGES IN VERSION 1.0-6 (2014-02-02)}{ \subsection{BUG FIXES}{ \itemize{ \item prediction now works when new data have fewer factor levels than are present in the original data (Github issue #143, reported by Rune Haubo) \item the existence of a variable "new" in the global environment would mess \code{lme4} up: reported at \url{http://stackoverflow.com/questions/19801070/error-message-glmer-using-r-what-must-be-a-character-string-or-a-function} } } } \section{CHANGES IN VERSION 1.0-5 (2013-10-24)}{ \subsection{USER-VISIBLE CHANGES}{ \itemize{ \item \code{confint.merMod} and \code{vcov.merMod} are now exported, for downstream package-author convenience \item the package now depends on Matrix >=1.1-0 and RcppEigen >=0.3.1.2.3 \item new \code{rename.response} option for \code{refit} (see BUG FIXES section) } } \subsection{BUG FIXES}{ \itemize{ \item eliminated redundant messages about suppressed fixed-effect correlation matrices when p>20 \item most inverse-link functions are now bounded where appropriate by \code{.Machine$double.eps}, allowing fitting of GLMMs with extreme parameter values \item \code{merMod} objects created with \code{refit} did not work with \code{update}: optional \code{rename.response} option added to \code{refit.merMod}, to allow this (but the default is still \code{FALSE}, for back-compatibility) (reported by A. Kuznetsova) \item fixed buglet preventing on-the-fly creation of index variables, e.g. \code{y~1+(1|rownames(data))} (reported by J. Dushoff) \item \code{predict} now works properly for \code{glmer} models with basis-creating terms (e.g. \code{poly}, \code{ns}) \item step sizes determined from fixed effect coefficient standard errors after first state of \code{glmer} fitting are now bounded, allowing some additional models to be fitted } } } \section{CHANGES IN VERSION 1.0-4 (2013-09-08)}{ \subsection{BUG FIXES}{ \itemize{ \item \code{refit()} now works, again, with lists of length 1, so that e.g. \code{refit(.,simulate(.))} works. (Reported by Gustaf Granath) \item \code{getME(.,"ST")} was returning a list containing the Cholesky factorizations that get repeated in Lambda. But this was inconsistent with what \code{ST} represents in \code{lme4.0}. This inconsistency has now been fixed and \code{getME(.,"ST")} is now consistent with the definition of the \code{ST} matrix in \code{lme4.0}. See \code{https://github.com/lme4/lme4/issues/111} for more detail. Thanks to Vince Dorie. \item Corrected order of unpacking of standard deviation/correlation components, which affected results from \code{confint(.,method="boot")}. (Reported by Reinhold Kliegl) \item fixed a copying bug that made \code{refitML()} modify the original model } } } \section{CHANGES IN VERSION 1.0-1 (2013-08-17)}{ \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item \code{check.numobs.*} and \code{check.numlev.*} in \code{(g)lmerControl} have been changed (from recent development versions) to \code{check.nobs.*} and \code{check.nlev.*} respectively, and the default values of \code{check.nlev.gtreq.5} and \code{check.nobs.vs.rankZ} have been changed to \code{"ignore"} and \code{"warningSmall"} respectively \item in \code{(g)lmerControl}, arguments to the optimizer should be passed as a list called \code{optCtrl}, rather than specified as additional (ungrouped) arguments \item the \code{postVar} argument to \code{ranef} has been changed to the (more sensible) \code{condVar} ("posterior variance" was a misnomer, "conditional variance" -- short for "variance of the conditional mode" -- is preferred) \item the \code{REform} argument to \code{predict} has been changed to \code{ReForm} for consistency \item the \code{tnames} function, briefly exported, has been unexported \item \code{getME(.,"cnms")} added \item \code{print} method for \code{merMod} objects is now more terse, and different from \code{summary.merMod} \item the \code{objective} method for the \code{respMod} reference class now takes an optional \code{sigma.sq} parameter (defaulting to \code{NULL}) to allow calculation of the objective function with a residual variance different from the profiled value (Vince Dorie) } } } \section{CHANGES IN VERSION 1.0-0 (2013-08-01)}{ \subsection{MAJOR USER-VISIBLE CHANGES}{ \itemize{ \item Because the internal computational machinery has changed, results from the newest version of \code{lme4} will not be numerically identical to those from previous versions. For reasonably well- defined fits, they will be extremely close (within numerical tolerances of 1e-4 or so), but for unstable or poorly-defined fits the results may change, and very unstable fits may fail when they (apparently) succeeded with previous versions. Similarly, some fits may be slower with the new version, although on average the new version should be faster and more stable. More numerical tuning options are now available (see below); non-default settings may restore the speed and/or ability to fit a particular model without an error. If you notice significant or disturbing changes when fitting a model with the new version of \code{lme4}, \emph{please notify the maintainers}. \item \code{VarCorr} returns its results in the same format as before (as a list of variance-covariance matrices with \code{correlation} and \code{stddev} attributes, plus a \code{sc} attribute giving the residual standard deviation/scale parameter when appropriate), but prints them in a different (nicer) way. \item By default \code{residuals} gives deviance (rather than Pearson) residuals when applied to \code{glmer} fits (a side effect of matching \code{glm} behaviour more closely). \item As another side effect of matching \code{\link{glm}} behaviour, reported log-likelihoods from \code{\link{glmer}} models are no longer consistent with those from pre-1.0 \code{lme4}, but \emph{are} consistent with \code{glm}; see \code{\link{glmer}} examples. } } \subsection{MINOR USER-VISIBLE CHANGES}{ \itemize{ \item More use is made of S3 rather than S4 classes and methods: one side effect is that the \code{nlme} and \code{lme4} packages are now much more compatible; methods such as \code{fixef} no longer conflict. \item The internal optimizer has changed. \code{[gn]lmer} now has an \code{optimizer} argument; \code{"Nelder_Mead"} is the default for \code{[n]lmer}, while a combination of \code{"bobyqa"} (an alternative derivative-free method) and \code{"Nelder_Mead"} is the default for \code{glmer}. To use the \code{nlminb} optimizer as in the old version of \code{lme4}, you can use \code{optimizer="optimx"} with \code{control=list(method="nlminb")} (you will need the \code{optimx} package to be installed and loaded). See \code{\link{lmerControl}} for details. \item Families in GLMMs are no longer restricted to built-in/hard- coded families; any family described in \code{\link{family}}, or following that design, is usable (although there are some hard-coded families, which will be faster). \item \code{[gn]lmer} now produces objects of class \code{merMod} rather than class \code{mer} as before. \item the structure of the \code{Zt} (transposed random effect design matrix) as returned by \code{getME(.,"Zt")}, and the corresponding order of the random effects vector (\code{getME(.,"u")}) have changed. To retrieve \code{Zt} in the old format, use \code{do.call(Matrix::rBind,getME(.,"Ztlist"))}. \item the package checks input more thoroughly for non-identifiable or otherwise problematic cases: see \code{\link{lmerControl}} for fine control of the test behaviour. } } \subsection{NEW FEATURES}{ \itemize{ \item A general-purpose \code{\link{getME}} accessor method allows extraction of a wide variety of components of a mixed-model fit. \code{getME} also allows a vector of objects to be returned as a list of mixed-model components. This has been backported to be compatible with older versions of \code{lme4} that still produce \code{mer} objects rather than \code{merMod} objects. However, backporting is incomplete; some objects are only extractable in newer versions of \code{lme4}. \item Optimization information (convergence codes, warnings, etc.) is now stored in an \code{@optinfo} slot. \item \code{\link{bootMer}} provides a framework for obtaining parameter confidence intervals by parametric bootstrapping. \item \code{\link{plot.merMod}} provides diagnostic plotting methods similar to those from the \code{nlme} package (although missing \code{augPred}). \item A \code{\link{predict.merMod}} method gives predictions; it allows an effect-specific choice of conditional prediction or prediction at the population level (i.e., with random effects set to zero). \item Likelihood profiling for \code{lmer} and \code{glmer} results (see \code{link{profile-methods}}). \item Confidence intervals by likelihood profiling (default), parametric bootstrap, or Wald approximation (fixed effects only): see \code{\link{confint.merMod}} \item \code{nAGQ=0}, an option to do fast (but inaccurate) fitting of GLMMs. \item Using \code{devFunOnly=TRUE} allows the user to extract a deviance function for the model, allowing further diagnostics/customization of model results. \item The internal structure of [gn]lmer is now more modular, allowing finer control of the different steps of argument checking; construction of design matrices and data structures; parameter estimation; and construction of the final \code{merMod} object (see \code{?modular}). \item the \code{formula}, \code{model.frame}, and \code{terms} methods return full versions (including random effect terms and input variables) by default, but a \code{fixed.only} argument allows access to the fixed effect submodel. } } \subsection{EXPERIMENTAL FEATURES}{ \itemize{ \item \code{\link{glmer.nb}} provides an embryonic negative binomial fitting capability. } } \subsection{STILL NON-EXISTENT FEATURES}{ \itemize{ \item Adaptive Gaussian quadrature (AGQ) is not available for multiple and/or non-scalar random effects. \item Posterior variances of conditional models for non-scalar random effects. \item Standard errors for \code{\link{predict.merMod}} results. \item Automatic MCMC sampling based on the fit turns out to be very difficult to implement in a way that is really broadly reliable and robust; \code{mcmcsamp} will not be implemented in the near future. See \code{\link{pvalues}} for alternatives. \item "R-side" structures (within-block correlation and heteroscedasticity) are not on the current timetable. } } \subsection{BUG FIXES}{ \itemize{ \item In a development version, prior weights were not being used properly in the calculation of the residual standard deviation, but this has been fixed. Thanks to Simon Wood for pointing this out. \item In a development version, the step-halving component of the penalized iteratively reweighted least squares algorithm was not working, but this is now fixed. \item In a development version, square \code{RZX} matrices would lead to a \code{pwrssUpdate did not converge in 30 iterations} error. This has been fixed by adding an extra column of zeros to \code{RZX}. } } \subsection{DEPRECATED AND DEFUNCT}{ \itemize{ \item Previous versions of \code{lme4} provided the \code{mcmcsamp} function, which efficiently generated a Markov chain Monte Carlo sample from the posterior distribution of the parameters, assuming flat (scaled likelihood) priors. Due to difficulty in constructing a version of \code{mcmcsamp} that was reliable even in cases where the estimated random effect variances were near zero (e.g. \url{https://stat.ethz.ch/pipermail/r-sig-mixed-models/2009q4/003115.html}), \code{mcmcsamp} has been withdrawn (or more precisely, not updated to work with \code{lme4} versions >=1.0). \item Calling \code{glmer} with the default \code{gaussian} family redirects to \code{lmer}, but this is deprecated (in the future \code{glmer(...,family="gaussian")} may fit a LMM using the penalized iteratively reweighted least squares algorithm). Please call \code{lmer} directly. \item Calling \code{lmer} with a \code{family} argument redirects to \code{glmer}; this is deprecated. Please call \code{glmer} directly. } } } \section{CHANGES IN VERSION 0.999375-16 (2008-06-23)}{ \subsection{MAJOR USER-VISIBLE CHANGES}{ \itemize{ \item The underlying algorithms and representations for all the mixed-effects models fit by this package have changed - for the better, we hope. The class "mer" is a common mixed-effects model representation for linear, generalized linear, nonlinear and generalized nonlinear mixed-effects models. \item ECME iterations are no longer used at all, nor are analytic gradients. Components named 'niterEM', 'EMverbose', or 'gradient' can be included in the 'control' argument to lmer(), glmer() or nlmer() but have no effect. \item PQL iterations are no longer used in glmer() and nlmer(). Only the Laplace approximation is currently available. AGQ, for certain classes of GLMMs or NLMMs, is being added. \item The 'method' argument to lmer(), glmer() or nlmer() is deprecated. Use the 'REML = FALSE' in lmer() to obtain ML estimates. Selection of AGQ in glmer() and nlmer() will be controlled by the argument 'nAGQ', when completed. } } \subsection{NEW FEATURES}{ \itemize{ \item The representation of mixed-effects models has been dramatically changed to allow for smooth evaluation of the objective as the variance-covariance matrices for the random effects approach singularity. Beta testers found this representation to be more robust and usually faster than previous versions of lme4. \item The mcmcsamp function uses a new sampling method for the variance-covariance parameters that allows recovery from singularity. The update is not based on a sample from the Wishart distribution. It uses a redundant parameter representation and a linear least squares update. \item CAUTION: Currently the results from mcmcsamp look peculiar and are probably incorrect. I hope it is just a matter of my omitting a scaling factor but I have seen patterns such as the parameter estimate for some variance-covariance parameters being the maximum value in the chain, which is highly unlikely. \item The 'verbose' argument to lmer(), glmer() and nlmer() can be used instead of 'control = list(msVerbose = TRUE)'. } } } lme4/inst/vignettedata/0000755000176200001440000000000012225565275014562 5ustar liggesuserslme4/inst/vignettedata/calcium.txt0000754000176200001440000000233212213177042016726 0ustar liggesusersPlant Leaf Det Calcium 1 1 1 3.28 1 1 2 3.09 1 2 1 3.52 1 2 2 3.48 1 3 1 2.88 1 3 2 2.80 2 1 1 2.46 2 1 2 2.44 2 2 1 1.87 2 2 2 1.92 2 3 1 2.19 2 3 2 2.19 3 1 1 2.77 3 1 2 2.66 3 2 1 3.74 3 2 2 3.44 3 3 1 2.55 3 3 2 2.55 4 1 1 3.78 4 1 2 3.87 4 2 1 4.07 4 2 2 4.12 4 3 1 3.31 4 3 2 3.31 lme4/inst/vignettedata/mcmcsampdat.RData0000754000176200001440000107527412213623321017772 0ustar liggesusers\y}"5PKHXt}s? Cb=a~ܗ>mz[X^m, Kz Z@m+ȇxľ(6{lM]!EwY{U`n3wXc8&m̭|rs6߳qAXuK- R3b@=A5{%Hu? )sB3l;j=z~ uF;xb$8~^bA1.fc~oܫ \N|u184?1߸OAjFnL@ٶ_#bEm57+Ǧ;iz^`ƹۚ=Ҝ~ 4u`8X >pg5΀GK"n?~X.Ec[.Y;4N VBbh=do_X$WG Њ ciʅnG k^*#_%ZB65>+qx3@s%nL~jЧtD2%;]z f>S 8fËe=ЯݘPwuQ@z7?H ZstZy^,Z W+ 7LF> M~@P=gyus#OLsW ` 1;t%Gvi ֪!0V𲰴C i0pzrJ-"~Rdͧ. Lm' v!OO{) ޼`ihI1!X "۝9u!Fjkbq?+ $Dc#^t*թZ]x^h"V *pA!~ej\Qh­ EIF-Ioc(?uU%MY. l~ᤃc{Ns`Oo5u#юJM2 zɥkA} ж;9T::&vo n=p}A7\ر0}mrWU*} 99{sv,88_tOw[]r-6VyD~&Yw-Sy /MIłyx4}"B}GN"ς}z2FƿW *Ş`|$M?2l= 45 = {MlBot@tdz<EzS ]wq,\BOs犖E|@9tի+Ka\A>+o^}( ݡH9EȂ#A4<]KUԸތ Yc'?{n˔/>F9s!mL 'MkyWi:̪ sL~GY)ڎ-*CGGe<:>*@#ЭShM@)S[є%v2n*}@}Эr^HKɢ𷛯?ZMy )?[^&N&} mj6* wĥ_c.D=}~E XcG:~Ua-~˯CV`] jHNjџ _E׶"\;PpB zS偤;}y_8z~=?5dsг@/Y|h)$/Vv`&oU.7hmWF]ϕ@#Nk:^-eArPuY:AhcT_E9|΋شwZm0/]Oʐ鼈S `2ޚѮjS`r0sg/A5bz[`.itE 'hvaʩG]<>RQTJ9ðz8wG3΃ҶR|4y3ЩWܥF4eE lKj[00gEsHlz[8%{NWzMiu>`7^xk^!rdRjX:Q?>\a.{MOͺAe3s0XS\a;}Vo/7a3K8먂^-g7 ? Uܞj Eu`Nݕ5EZc4hhM|zfO=Ve4n] 0ld>*MVn?d꾒lUOw0rv+@{}mn}h&Tj+PjPb񅠈uId8{Ĺ714к[~DߜWNӭ&p߾zϟTZw!My5!xQuCg F5~H€z!}R$$~95"[ Tj@DB_T7|te^uJ~zæ26 Ǥbh%g6PC 8Ey6 +7EnT3 ӁtA[س|dbߺ@ | fk>}~Ȣ Дö\XQ rN>A826ؗU NJr=֎+ ^0įId[Ϗ#.O}PֆdȖϻNj:!2,vX]ꏚ zZ'z6\5QvycVP4[J77ܛ>#+LAZhW>nw!P~(tLRJ9Ֆ\%O_xHTGmq ̇7ŭFQ )#QU%DoJ0#жHA1yO "b ,pP4_JLp/ n=n}z gv,=^{px8KYFy>dE1Õfҧ0dfuj$c1lg `z:i]zC+4 RtcwN (md|RK")6`}g]opUʗV<5ɋ+Ai0S\}2sg2?NCI^3D)"zn\ܤ O%=`Wj% Š/;Ɔe_)C0F> sۓ?z>y`ݶ Tˆ޽EرQ(ىߋޱKYU;t͗F{~VGxk3!-@έM8q =e+нϪw],tܟ}V9z7Nd7$|QJP.:uG*e}_%)}WNU׼]8O,O̹E]KG߆ *EaJ`>O5wݱȿ_ e`JpunjFh7?M9"V`l4RZ2o:عk`/G9Oziۏ-ȻXޥFXwt3L\;)eC4hBZPt/c/kOm|Qjة)܏nz0e&⺙ ڗ!G"'u-GeI@.ls8WVFJS0ޞ`Y->x3мU(bʓjt zރ;΀o^%N?5߀.;o£Z*@ ikR]Rxr+X3Gz< ~2?#@s6R86Hg{uwrC9=u/ثLu @%+Zn}`h= /Ȼz.eD~EI]w7Hv"fNXHד u?>$)~#GGVPvH[& ΌJ@׭RwE>{B k oaFZl3=Vͨ5h3儎ϗ砇6H̴-A%]]!}^W+s`vpQpѻ ξnmt(ݨ :y'rB_L7UoKʾmT50qwɽXzzL:ŌE6)8Sܻ/<˖s&> ey`s1 p`/+Y;_k΁+` MXNUs$gL$'dHf#A~/~=z/yyf\o=Ղ+ꯈc Go N~&OPt˨c䳝GnwI6h'9E'S5znra+򺦯o-V: PDxg"G]J5&FV`iz\ ao^ "]I$x•D^9Mtӟ&Z<E!O=A']eK8Onuj6u )dɶ54^Vc0z~.B׆gjpC-Gon7D[g4Np~v@-T~%kûgjSr6O/* eV2{[q}'`NMr'L'.Q"|SO8nç4(׏lHͯkK/KN`u|5C9 irOc'koL*:y 8^ @[ҩ{Q&a,_٢+sM+=I_f)}ljE*ߣ;?(߲7/2nS{Sp[13@o"-Ywͭ7:ݬX0);M"<>QGq>Xs}\/Cu/ 敿Ϭ'AK ֟ w^Ld~ȃ`H5e۫D7^!P? cw}9D!YA@]f;g ꩟{[Y ڣVyV+n߆\ki5Z`:nxJ87͡1#c4K^nExod=-t#y}H3 ]{Ǿ[]]:mD 6j4q -2ܧB`8cTˮ;~`vW@2UImNha~..^O5WJ{M}ۀN.at}ӹ}c*ОK]ڏlXӹ_8Z;:zQCo]"ڶQooW1vX;5oXūj)݉UҊ|0eS!ХT$uT~֙9.:78GuS !Pwn$a溴ټN4w&4 i' ~}I?bBDw=4}.&Q&<ɵ9ڦWߜ ~}ْ05l:GTaKc-#`oYj0o;Ifphqk%Q#a1[*u@q@?pe :m3E3B?asfѥ7b>=lω3^^c4ZJ' vļUT -H۾jI1"BN5mI)+pVULZ]y,ŏ-\VOwؕ#juESMStOox$^}J =r TDwd{dPseMϑeD eׂRujL߲h{MGFyA|ȴnM/g, ԧmC^Tyh6.@һttà$ɮ_N7QN`N|2zzhRykD{AWK`0#+ާuQXV; Gb{[vBpKU~l NŜZ5!0ky [mE&a}n+IGRm |k%t)Ew0kobLF]KpHٝA/2*uJO2bdFp͹w}߃Sً`Z=+KrQga*k}A/ʜ/~9 :;Iq#샷=GB34~P {E1n,8 nTlMoj 1')hsH ;}vJx3+`9s yhA_x lzL*^6(rF@ur`L:t hyڧZݢ]uu-؞Ǟjă-^oLv~pi",]p ̎l`-2&T&? 6_4WW7]їFW@?Z7v]F|L&L:}Dϻ=\yul7"~"p 6e'ca+"El!gubnsInIӃA1Q}a9nHDxlcݏklo'jgo |6qm;X<lur 'x}`t^Y^͹!b84ӭkނN.'_͕ҧ1MޥN@hhO%0tӚC B *=ĺF'_.&DPW~iT:s9X wM#Љ [|Z=5ğb%UY? ~~ޗ i~& yP[R*=ӋZֻljVOS܈2w;Ҽi c>dAP@\膞\܀d ~o~jx3?\Q@жCnGX`l gTehhژ4sy.F_ЁN^V>.=DwCcD:()_`XB)Cj:]JҖ'53w0I>fw)[\DŽܻBߚ1lu2w. DϟcmY }[0&t# 1^)W1(K %ͼ/-],f Q>,M͜H tlMah1Ee o:Dm?F*KWa5W?ޣ9o͵ 1CekKMu,Ǟ~W ]І\_iG y_.C7u Ө9s4@N_Rg+1_%O\'e cS@ە-h7 ^8LS?s*2*2xUׇ>^}*MKə' _ԯCw0~rqYNI%.#X7;c.CRE ?Ŝf2ٻ<[ | 6E}ҽѿB`5t+鱲]I ~chaq=1O:My4|V sLA/wc<㓚VYM;J`4dʼn}6GxpAG"sb`{:Z<%d}«`Oo|zBVu8Ԍ}2w쾬+W<{^8rh%N`,Ƣ_/zK" ~8{/_y~o~GqHp9\-dX,cö.EAĩt+uV񏶓{fvYMyR,+C Pux=񎧖Nak=G0ͳ/G>贺^^gAD8ؿo] MA?=A<<>P_;ه'K^UE`ՏuK Amg| tX ]>*oF߹z??З3ػ c;db(-af`Ϥv5MV?з;` NRe+ ?\E J=J-0hM[ 6ߋ^UkΣo{D<1./f..Vok!5M޽tbNw>y Z\࿒Sv49QњBz20:[kY`\K XMR%Vs) t#5@yI*un&>gpAeXko%`+㾺\ M*ܑM46įAzS\~/@*ѷi-y[d [Ug@9][08{&BgtLx>z1vMClRG=P|uD١`1o8۟]~ veoiApvGX7ȗmYsά8 %R#]Lp\ۓd0xs h^>kl^]"iWg޽t@ ZY\} Y|;ǯ9yMyi^7hv}P4/sm+@+2E` $8zWа^c:E$?vc`yy1a{7\lOLxxRk]v?7uqw|ݠ!fwӝw2}xl ,'{536xK6*'Ezά =m1y 8h$WĔj1j5ݹb#R řiך ˥,SRCU_KazU/3XȩۘγJK1g5ËyZSĤٹ_t,_J?`(OkJf~gIE7bsjC6f9aRd:\<Ǹٛ5Yc1!z'cqӯ˾c[A#Gmkx+O)zCU#\ 0x0#M.qp 33q5` i-4ZS$$c rl`Hf'c,sV{`h%:crM{c""`XX !7r~a(NK&..,\A3u 55U?ANXxEiid/HT'fT <:bhA0nӯb|,57ÐcL!0i/iR`Xv~ ކ5Q5]ZĹ~ C1G/y v[3O.T&XU{(*\P7RASWY䃓OsOy3}#T¯>QxV 7*/rubp3ŇS _3pu}X&?خ58$r- oԗ1ucfr7,~ ֬K :j0+ylT ꒿]J1*H6s^ަvj\Kt砗v7g݊?nI8?\=v%9[d6mϸȑD]kɑ$&desvXaag!ЕN8X.Yg:B\O뷛~52=PR_X)Š>~12ֵGlMx~7ig%٠zJf#:dj 8sc7_AL28U ydd<mZ&\dDe}z|0nt?]#OàC`-44> z ?PGǃ ̐T'xs֑|d ֍dtJ8xY{!TnZ! rSp9?;d.!([Ò_\gp/T|]lA`I:`eJ2Ў!Ro#rnvT}w" Q.Х Jk4`J$;"7pꞡ.Hi V=ӆNwtz^H6E{ȳ*UP6˯ _R/ o~? .bq5wp9K{*M*zW6#c*5ƃ}]}ƿG`AʈY`=w /=/}/N~lVdh>WDI%p/Ʋ nK ~5>J5׹AQszcjj:^k+LE͟Eѯ$KQa XO6kuOߟX>8<ίm\μý?qM w}A]UjQ yWg޵ B %g E$o-石^ A(]f.9#:9e_gۂLnCϒ:zZ`hϽ;kʣg:A~vYwȡ6`o|Ǧ9`i~sJ 5޺k_Tk78>oP l'`N7Hy;_WŔK+ek1xn~_ <ߺ<+`ȹ̎eFqT3iW Yָہ'~OsO6&ZrOln寮k ]-}kB5gk$}ǫL2iuFZx >_堯[ )x. k;%gZ -{ \\]ee7Цo\u}gV%_RR| V:'Yg02]j֗ivbDK$VBp^{A}$'oD `V?E-WVtxNKfʹw; }% 'ߜ%3Xɖ]ij?F) aB%;TDsI2Fm7$xN m;~b(FPȣۮQ?bHmV(P@8zw6y?,X z6CC$ 3~3#`Ǟm!ap[~6 Mn`H:Ӂɠ)=syjwKKn4H,#>TP\ {NxpwCՠ:RLLtZ(jUvA}=)[B@:q]7s"@Vptn&v _: ]Ȟ?Zf]_ iTJ>ѱÁӄ^)l‘@jK]lԁ7甜6Q.}2Vv,zfۂ /{%36"U4PT-s; ͝{񭃠4_炶i29`nz;3q=,3>8 'Eb wkv0p㳻$.㊣ x6N\$g ňyݻ-d/qZ<0͍"|L18QzZvŀ}"prGjA>Iآۖ"{f<v[k'f*9,ϸz;(a/kAˆ_~lJ~ߍo@* 7fu:tOf[C8hGZx+ૈQzoOlUĈoD)"<Nr3rh̫G_\mt{47Owxqmoc^#p|5Oz;xX3u1 Y؟ȿCUN/^,Q5 .sQyfq46 E+^]ub}_= <3!*`TU,xTXh8;<) |~ܰ ACC>x?{zu1x1oP|E騵qxC0lirI U.u| ca0yz.( fz)~ʎޥ!Exd_R0^%虋-$Y-36'soM`f̱l!̼n dWeg?g,bI)gǏG[!u[oasVБl{ɩ6v}(o4Z!-[@/c`lhl{l S/Ԍ?'8DcdcELV= `NY>8wԃc'ݒnIƲQ'/O{t8TXB-V35uxs>._=]M3!9䘵e}+F?0tnek0))]a=۾ʉapMǂc}!5^6-:pK8^EE\1 ؏Gy!*fCp'׋>fJlJݬδd^+'E 8ôXج펅^ :/Nx\9Po`z[av#@xOf=0~md٪ӟNW"p;n5 ]֍Le`7}Wm: oߊmEl`dn[+8 `jm gƖ}|e卮O舰;@* d/7Ɂ.(o 5^zcuw8@/Tڛ|[LOjbך=t\A{bdoP/˛K@~~X)ha}b2p ^֊}-A>w4:OFo3hZ2ɠ=ܾ֯s鶿J? EtEC恪-F=2 +'sdMΏ|@)bޗQ C ei]8 V3 n/5lm};}ϖz\Aa}R#xeYak>[>GIm1egcBԵ#h/ [b}Fwʮ{_I({JԵU:rl зΕZqP@ Hނ|(P|$cp Ec>v Ruw(2k|zq,uh V"3 7¼{  Ռӗgz7%1oO] Z=߀#ӯSF"UI@YF=GD$׻ҚΒ:sAJkC$X hw)ARݿ #B@my^ORB?(inAhd[]C]@j hBl!*w|x-z3Tu]A]Y[|A>9_puÁ On-$|cl6MtDgQ j-g9X耲PBt=!V~AM tloKԾk 'ؖt:ITϪ"H/%>9AS̭ A",1RW$=hOE=?4yT.:>L&u/UW12AߟΫ烬˞i%(*;ÉJ>HvKCh ^Tw]իRk;n;2KC ؆렓e]qKX @SXՌ.۷փًmTԐ#|1tʾM/BTC*e'_i B-\"CzY9APS%:};m nZaNwK?ySΆ<<vv2Yl(+iT s9Hn*JFA mQi`Ճ`j-.U4L7Zۂ=٭9,BxDس)7AwJ=!-q8=yLɫU_WtIgne_`V_&`=3@A^.`SlG$,_iSG(ʞCt$m؇C/܆K(Y/JE߃5,zp ΅ۉ~x[_^ңәTD"PP):ƉJw Nҝұv2`/v'se獟 |&+G*U ٛٝ>mY;֣]Z;v ŧ!zVxMܼ ZHRpPߐ;]*_^5.,;4ħd>(cl]P’y9Fp%p'r8[7SB!x\ ^ݫ/wzĮ+ѽTxmo<nٶ^TEag:nLIQύd_k=|o~U2wnP\V%dc}If˶F+:mTk#n؜=*\qv7mļ 7 [j<7 "ӵH-QD.8}}n@iu NBV =@K]4z#X ? e녞KKA8=cV^u`yͭ5J$1gƗΐHg틒`^3amڔ8n=8zϮ=,^vO8[a8<8sl$mk-Xg 6`M\g rډ I)ET>(jD^ Sx -ZF2XJ?,UŽQOQRr)8C6ؤy9~Qi0Yrk|E=@7iNS"`Z-ľ %=g\::sf$G٭XGxiP*s"~G~VrJ7m*SvM`h ^TſZPPb6a9R ީK>[pvkrt?~Qs@q>-h+o.٥Qegg_ 鲃?rAys_ ȅOBA]~pSD:##Ew)5N$  UD<]8pn : Yنǹ>=8b)vFGjxϮ`juY[5tԴGk@3 V]ryH[b^ʏݷ>vضnW ڦ6^N@'mqzkԏx<$] s?*³d=*e)HQl 8׏] ^c_rt7I*6cj0vJʏb][E 3_?q4]|~'tf].P'@~i%MҁG@^sv(! A~kVM.z*_n՜)'gv~68M~I_^~ A=9xi"Gޮc$$e&2ӯsě "O;R¬ {Ǖ5gNْ{}W [ ' R4P&rm{ZJ&GAtf ئ2^<g7Nbznʟ7y`;qECgA!ipPFl ^fqYbG$qV O_FZ`iJxoA?N 4YoVɆDc_hŔ=zAZy?zQ~Hkr>Si\N NA%zn$u8r-/= վ^ kA^-AzjF^V g8 }WKszJlW$?rm<}aә Xu^%$+ؠΓ\4(6^_@}SNum}z.93B艙szrZ (-vu_ѹ\ָ:̃^GoA ^*&/M25TsλI8FOۥ}(.2O{l˖siEsDP5;6w4'(/@:ᡃtد&r[v t yGIy=/&~-ۨYE!O1 /5C VΙ6`̲H]sL|8 AGN%4WA$[m{31Ks^k't/<*{f4>s'P(gN\eD)mB{YeNBGbs +|sș&+,σpN(7`T `-jo~j #-s.L7))PA8nb\>p'Od7/v<3E\h XswϟؠXY W5*ļX~,#'hO;@_q8a03?B;s(C=s}oT ՙ0P*DO% "ق8p. ӎ!SDnK?3a I }/gҌ6p0p[tU7愮`oxrFg캴U<hxg' oDaz.a/4^J1]t6$FgZ]SyD,{XWx( \`VUXlACJwᲅcgPcT-Os?Af蝓A"|'Dߵx8'~ǜ%`i;s#2kZJUI;pj?d܌|ĬD/߬,Ϡqh"_;CҞ+6hW-n[+hik$Z1mmpYBC6k$=W>FFIz97{bkѾd҉]  _,Zƻ;;81}O 9~e M|i]n)+I*`< zQܝFfGG|F~Yuux!z]2rMW R%%lLrPLg}:2%Ǐb+q_ gȗ͟}!Yگ@O[2!ZI֖b@kH"8.ba;N&{YXOEvӵq*z7@۵)ӝqʀwsWy?1nǝ/W Zʼr)ISk ruzr$<)27/o,5EHqgdx^UCWhmðƆH`l?nxa_.Y]G4c@o[/:k4H=ࡳ;dnJmyI_>(+%괝V:Pq=חD x%?ok<}, C A:N ϚF4{@xeǣ-hr۹NE\;=7gOC#2L[=7!֤zN WU ՝A"^#G?`dhFpo֝A= YasU H3(`LD.ݔ45@q!6w Ɂp ^wz{0?LNC'hpUoyOCֵgǧu`5yK m]8v w#XӻR <&r-b#X^-ް4pWu ߊy옌 8#>z O6\A ϣѿ@RȨ1Whk$xJeu$Zwug*_om]F*$] d BK@16XHa[`27wUUX>tb?mEupE2c0&/Xƈ߃lp8\rD)ﻀ{e8\j~ͿnmV/ڭ6(y qOmPo qӹ@;n^Qr쀓GrevwRJ;&vveW:hKG Z${1f7ųNV#`Ϧz42뫝E9 '8=Ons(sc:&bp>y#ϟ3ő9Z痋'|'Ѷ_".>@ly{g?\+d0-g&0|}ˉm|{T| NZB,62z{MIW.qX_!2\p5g'/v]1mN<2͐{b/x=->&S IWJXOJA{]zuMieNn-|w'Pvٙ%zDr%Y@o %Mo؜o.9PUA_]k| jD\{eՀxC;ߝ9 %^?v< Q2P7ڻTKXEݵ77 niGXxp`Noz[rT-w*; ܨ|{H)2=G{{?o/g#.e"?Ear(>֠7}8WN2k{Z@9 K)Ja8dHL@m8{lpF>hMDU}YnM8RCD/7ւse(X†qy*,E`ݫkO|uq3R.ĺa`}YV؞@( %|0Y ٹ]eO1j{5f2>송ׂaxDN72䡌+yMTPxȄʭ2>BVkNY\C;~N{wEЗ˜,H(s"ZO#Fx0Z  A]S ŸUyDi`xHZ5hjzW7̭UŸ? :yXkMb_yH|YcD7Ίj N2E0Cp}b|K+{Wo0=+zjgf zQ `jfb]k [RJY{Mh+yTQІTcz2\7vBob:Ga!;x p gB9ag|,c;WAF ">w`_KeyqWP`uFۇ|f 苠b`dZ/ؿ+ة2.XY1po۞ȗ1N֏ve+Nzw QoM` ń{t}AAf„O=>Wv4A?yQG"=L@и|\ܷ3{]м`/ؓ Mb@cD;s@SoZA%_A<:zf$t/y5$'x߸j)&_t[ѽS\_;ga X#?h> d y GJ>o=aO=8Yʄƭö8XjF"/О8zAkD/}[ t r*P4DwY pD`觞JFck__7SZ>|8hмy;ly. f{Y:ICa Gρf0PHyG/r-0cr7|ì@ҚF)tqJ^Z5ZW/DHU2|ףAsH*/E#k虬syXAjVѽܥm{v5/w%(*oܾ[\ٗ2g*8 rtP,Ξ9pTg]P8q"g2l>- 蓪+ZS[w؏s7c|y`\=kc vPQhR^{qJwˡ{A^<;}έO@iߐ_Q :k@wh?pr ݷn b]2*v,vt_}(~et횭U RȍѠSKnWRyåN+?9 \i6[#!o3bn|0ߜ巺W*qb'1RSP*2c f1{!d `e̻>?x}zNkPc tto5rV! ][&֏RF>k0ټ]L۽x;L7H;?nB"gb2>:;LĽ=2݇z+IoH4ы:=RúxQm$ib8bd Tz`@9d휛$(}LGsEni4kK ybTR%M1 [_T6B#i읍;ОIj) +h!|wZO.@[kѸsZݱEr]zĄ =G;.VTBX#({M\WHRHnl?2cOLUyճR+Ea.HΉNω7tz0, χ!~D>Lp93/\u1 q_:FFNҾXl<3  x$$ΑDzK[y-1W*A["S4gzj`\&Kx]>NQ6~ʹ FjE 6ӽC5 xxj zu'jvµkE0IWut2ѓ˫.+Zq=eeΟsA閬}5G 8x;rki2gKIz0߽Zn?s,+*G?xlm3ip1SzC`lS\LC|ޞ4wo/- W;K?SDYtV{@ Sǭ?PF +|HQ/20| v'򕱗t0-&z9.6e9e-A8uI!H&[??9L9u2ȷNW{j y G̗ES1L܏ƞ@-_2 [IZ7}zܤLa0R ăq_k?TII♥ ؕZ¨Kш;̎ղ#C[9:OXZS15 _u,,2sؗuT#p^nOM8`_}Io;1)m ԛۓ @.DE7iZA 宒n&gnwOX&s7]殀b;4&vmx+᷇f> 1 cP>k'8rwzi/m֬E{8Z[ \l|E*7] Uy XQ53C{. x NޖaGfT̽U [zP_ڎ|!lͩ @Yk)fV_Bjxto-Kss y0pJ& V^Ðyk[ eD?cqw^1pTӯ1s Rt^ F, R8z`>mp2'T/f XBQ{DwrWST}[DR kӇc|A0[RHs@:y9'F.BYsѩ)CmgI-V-MDRAFwh%@ZGb Du:\*LɥLeOP̓h7bK Tݾ/zc%`ɲJU 4%b9y!lуn.!=i/0T*>f|8#' &J-J8%h0&'Ḋ}w(/RGJP}` :mkq_SzЗqqw˱nTٓWBE⏑ 7yYG*xݱW%C"́ze=ٯY3VJwJ׈?ucgl+0`D;mfA?ǀY٣N_୽#=x2) yׇߑfuyQnt?Jok*8ד~70,-`qr b utCmJ6pT;Zx8gMC|Jՙ^ 9n U=+WEYRA39,sz +Q4~DCz,POaYA @)R8J=-Y6/3TnÐ2/ml10T4@|k7s3^iF0ڢ+h9U4R@/];I[O@ww T{FP032dߟ`t~\@Eթ`S %u%1 Tss;hS;zkp1fǽkv9toQ\w/2_$rz|_RD_?㪈w lOOĐ4{}1RJq #Gn;`8bqw4t{A`m9q!r4޻N?~qZ [uд؅_e-.o37v]k8+Y<K&8ZndVS0C>4Ig37"bqvyIiO?R -UiΙ4p]Ϊ%]/<0hpo ,|a&hä咝;iRxX+G ~˫s=f#̾R{] Ӡtѿ ZVP"[>@뻏BaD^z|G#&@=[q hNb{@)t9z8@fUJex7$˺+9t}'xׯPw/}0He0BRS(RijYYi("̐D$E };lʽ+'L@['!Q u<UEe_t1eABEduZp!!J F^Cluq]?́83&3ڴ)IzҾq6uצ+}O+h_~ż|;~> ܡe[cJ^FҘ[0j4b4&eR$gZjw;łfBja4ʏ@;j%8r/oB5s-b͐@yUl :Tr%b v<~+#(>Hj/+'%w,A׵>ZvB.f^pk|2Xs/G;XCU+ LEA;6R fׁ ;_H:4B|OƱ.v 3xKA=Es'Ϩ jN[ ܢ ֹ`\>/PGUU!5xa۳tjBGj4{螷ɎYfyzWxڶeBG-d6]̏a!0x4ݬ>tls_ }e><4ct49 zg*=}q͍Wy8iѷvw2#neF>%͔ݎ@PdZD.; -Z9}UcY=x /: ڂJťWg^T36`W26'\`Vc4_e}':7ւ+[=o!Z$)9:pM蟇Y|2ٌ~ɛE`6 ߁ Yմ cZXFm/#o/RuE5+ܟnA-o_sy12~?܄?  nnwүGY{_{|F?Uʕ}tabˠ4ZY|h~R P=1WYj5 ou[|f6]eCOVWvC%;ξ} VKIW5XΛ|3[gVc p؊-ő綀)]QzVŎ >fZ0$+ V8l 3yA+V/{:XOu퓆uEA/nkPoh‡ӱB ϊw;>1ȇY);(5W>02V_l5Sq+~%X;,W?'Ļ*~;A?p ^ >AJA$[S~Gm;s;12:B%cWf}T W>UވܭaB*9UKLZk ňƑwkby .߿cV)$fߠP Z1!lfAG`C`;Jy`9'c3熀}h͑GML,OHDŸ?KHd9mgO.o?'/>`*G'4~6@31<#4tp[F6.o6j6mƀ|$/bU:U+!ĬZj   !/>!ZrU{. ^1g Q8՘D༺)Oo>|͆}7>tmpwk' Q,JAMlK: H/Cv@ F5 &7 z0BI_*Y JNp~sT0.ׅkEğZ Ɵ`C-XwjQ|*A9u{5Kw48F7{} ~y ]K_|*н5| w'Ma#EYVtIޖ;Wb#${ls ~`QCήkHi'>vjתc0[H,["BRHnSO~ {~A(>G=z u rT\yTMjzBzO f<q}~G0Nּ߇L0 wkg~lP;8vե%<_<#ٵ`_mK~څIs_=D) 3hi$8hw^0bv<^LܢѤ̪[RΚG@-=tx0d=KUAR}2$MwG6(;&?N<avߞGxʤK N}e'HGiܝڣe^S>wʹ ]8lS1򺘝9\^^*ݻoj5wv ,i"oj}O}DO(72ᥗ*N5-[՚ߴnq)(hfobx #ye$_0en˿ 8:9 \ ϲU< _.om3ڸTLNYE3&_S}].Doޗ wkiͽZ}ϸ6-RYiп]~i'8a\a&m[掷Z`79xgm/h`[z#jhG5wEfU%V7ۃ78X'1Y ̅J?āuߚsEXv!ߗ|iږ͚o4e9: w$L '_Yc-7p'l`m&x;:!s .34<`Mj+&`u}Ze^_p×LWȞdp5&u>ٷ[2SZ6<{\|.gإXѨx Oa1K77N7[~qޢ,̠p~7}xj &vj=<}Y>m)#K֏\@g5St5ۜJ@O drt*zJ:_X|LA=:iz}M z2ڼ1_9#mk{c-0T>e 㣝% &c'[^%mfLpl E? ̭~Yk@g}i bk>M}^߄]wM1.HNv%܃XbB*/Y^qoAg> W~<mي<*3}](Ԯ=3^mkblsNl@`’I}|@yv'pnLG- iVDȅկ ހzPyZ2V~'\g*0l%H8ޝT\@kHxG\73 k遝>ȟWLm蠇 [wV 1 :-uKֆԺ<qτ qusA: mΏ|-|F;qCf wxomuAݺ=3FgtLLяw i^^g"͋lBF6kwy7be@r6goOSAYV/w/E-R y?@zfEdQ uR:H =G6PjVkeW9s=P.N}_Ǧڎix+oHք:~~>9dmI5AiƂ=J /X ѦKA4t 2}FԶ`rR{Fq2%bdNS1yYgoo8./DCɣ4RAq|>HMk,Bډ=3F;xftQQ<}4=kߞfTtu_`7-O(WτENo%nzGq0(ځ~ͯے@z1in}|S^xIwQ$bqMK%|1^* HiX<<6ھ ɠ'}{ ZܖOvi`-2zym A>Tg'\߆v+s~ۡT.* ڟJ+ uh6odlj}=Mwh;0Z~8jKsSO25nwнQDFĘ nq5`Wڋz|("nov:]o[au*h lj}JEWN>dkU|*$8k魢+:RBwpt Z({Ee8+VFZ3΂7o#Oߜtx CA'yJ+ fjY^&n"8拊KRO JqL-Pt{vqP'ݮ^mKRwLկM1)+VtyPp^0݇;4i61U༴t [㮲p^e]s*~\B))U> FY S`D)e_r唌a<% G Ȫ`{ ^v-:4zx+B&bN>,~>\9yT!Yq%޲? Ѥv93 h[Y7KlJYu> CS,S:fx*GHeu֣Q"x$6e-)3>k .DA;^?п|ZGy`\,K(&Kwh'{u{n.^xϭ_|oh7YlֺHx Zb??ݨ:Ofk4_d3C97Eb i#Ϋ`&[2^b̦Jb<]5, CS*4F ؅arK}okjB3/~'?F>@iPnYxeLЂmbҳ*Q@j,< 覻gm#) 'R߲zd7K;rp懞\{"F5.7Ah3k!8ہۄ .3 l {hV9xý!, :!p~=DgYCzW<<i#>:UDZ gk&?OLn<Β_[g U|)tW:dLe *C^k,RD;Q> ;wUWF˹^wBG\t̔OKNn;t[HO@sJ@Bm]sQ]~_&MN9}J].NjFyʫ~(?cC|gg~eߔI\w+;z2{Rtϼsu VTu@h.eU};Lf܉/.9 yW6lՔM`gL< H_"b7 ZX/{8n/=ΪoBr{k.BwF.G#+>`*PhEo[n]މCsS6ot>']+r5@jVE!~p۠*}}MO7SE5Iy([L+9|c ȡo,wi]eիu M$x?J8z tS FX $E޵^t޵ԪXu]9^/0@6:7w[q ۵IVpԎ<ݳ۶V棯[OP>/q6ܫ 0wR`F͌!C`F.y༢J%/x?ew{mԢdT@ w o 8r7= N\9&$ 5 MH4I>-^%اI}2S!n-_[ ɇ1#kt.8A7$$9Ʉ@IٰW zDy-ߊ47``b`+d1\}H =8}`lMB!&W2܋%hI殳}㺓DkN 7['^$^~MO9֩ŀ_&z"Ƿw(@d=B{[tDκ{7R0>Fj v\=h m,]‡Ulgik[ a20*o ܓm֑[Q~U|M: ή G&ހ!^:58l :ͥw As081?gmAřv@p*O‘ 3KH |eK1'\vsn*5 ^b!?I{.2>mb0^{[,UoR3 #LSj>wzWEj)|l~_=z1/C >%c]5b(F3YaˍAО_vi>Zھ STà%^jT';=OŬI %l/ %ut4Zd1TgHMbJ;wZu#7.0.|ɺS򞯝1fUnZðИmzɊ>,"Tj:x. 6尿Y`E;]6ٟSSv]A5؟;?9EjmyxݶY2B`_;|҃PuŅ'`5~y8/NWQmtŕ Pw;570]M~=Op=F37i1! TU>ׇ=x'll% ^Ϋ+7̬\]jI]F̓FpKoȝ,.'hx*<#d|[㾋tWJU\@!m&W9)hgnpc-sI2#v8Ae vehV*'d,!Pjfެu }[">z d=g/.mp&'He"ɟA"io#@}/RҞ>ØJf[d#ri@xzd|tb{ +O鸀WҠ 23 715 jҴ3`ԩzQcML<iV[Exxٝ,P35'Uhr2 梚KGP(i>j^v1(fVxLywjc}w[Nxibb8,h{l3˴ e-nqnzA1uY+tk=<*es]N%q9ykz.%K]hWAUuڵnoxI-l@3yΧje[ꆊ;MUf4tmjD_~4YSn}D_櫅 1UyD\O OL|=OWV.Q &fN6u?hOgub0Cv/.)1ǗJuvn'Qv)DuX ]v@FLt_|vוS+"5a9_2-[MVN_tx hSnu~IoP5Kҿ6.uJ^h{N} G>K3Pv e<z%pVeOVw9!4`5ϫcH{̙r0|N5?#[/X3OXaW.΢䦮xzHKZ;l03>n֫H_ПPV Yh=D[}f(WxAE{wPCm >G{lԕl(ԐYoʕwO#Cv\0ouPfy~uu> V#-} t&HXQ[ۅ3KW+cаl]crڅrzZd=uv?1G5l318l K6Wn*,Adr5wzѿ۟nO&{cUɕTdVd"J_9].-Ei֝7o(T%=Y*7( X -yAרyR< 4$Q{7nc#E, Z1Zan!+ |9G iD9Pa0~H)e6В^HUZ 9ܢ޼ka@/_(X:$}L\l25<9XSﶆmc)Xi4b6 }`13Y+{O;| y_1smOf_իO!hxeutgCWO<>=`5sZ#pŴ$CkҔ;O|ʓ8ҟTE˗͚??hÀ([6At+Yy.7+vY-/oXaNI_}Jc` >@z&%C4ߔSq^­EQKh+8|ڽVx h "2|8̰\ VGI5Dã{ʛ2_| -pGcj~cu3XD86-}0b/k,-0,J K 1/uOk A Ai?ý)H\DV|<3|^r>uw.zROKKͼ2Zen/M VK]\, Ab\PsAޱW?fGʹ|8q $D!5deӫ98r4 zMŀeٯu^i0/_q|G, !tX#y._Y]n9J2ցͺ]Xo&8&Ǜ&ut݁ `MnY`.Z} s_$( r phPtB<(\+ 瞽P8p} .goZnogkS |iպWDMvzt =&g<-pO-T15‰SAAm4θχ`&(TǩF~\I[@cNV*//,=; Sw^1_*b[W-5+"_ڿ|Dߗ4]yQk T#&mo/rVT6Ļ 1@₁\)y=Sw 5ck[\I6h?wBt¥;Y¯Ս\{Mͮe$ҏh$O~a6$J7>>krkO0lAi}fS7HAƫdO&{(:둚Sr]z vX%Rnuq?(eu#n<n~d!m0f.BhD}i Gxk2/ />lu pgĝ^`޷?4g^1D+SY-72=35&oA}6 OnoAxz)O?KVtB7_J>giGݛrr>~*uNɃgΠ<^wZ`rIIzdvypRfϾ zECxY^l{lwJ݌~'b R; ўki]t+PU1#F44p'?npf{3"=h@HtM8Lv|t=,6Gs!<=#e7+h]+j-Ows`;k$= `Ƽ +{m=H}cKGv|ҡ]0fvL[)s^L*liA}n?zBkR=ѭqF1ѣuګI[|%UVh2r:6|+:牵 zWBt r*g-@JncVmI-4)m9N zSBjSA~ Ȥb6b7 ;vg;O_jzZ0x-K h$X\ [K:_vp aU}nywSzsxuI ۂ?OkoUҝ?irzc7q Qk?#ϧXnUIWCp&Kn|j #b41ꪪ2<ԃڈ`٨9 %^}q`in㾗~m^'|GZ 1+8'd wԜ(2=O.QɮZcӼj}2:!. }'uIwﴃh8a.{uX[WoܨCyXsMpZRoӊA^j4ŒN(WL+/nHYּɝԢݹ0!)/1!̕ۀffMx;[Tæj}@ٸ=1tzǣU@A D/1&Vzt>H!Ϭ΂_$P׾镹h5&.:JaZHlfXy/F<y׍zNosEf#hWzݿ=FGA_L}6e1/k^{ v   &5*U}Ay {d#g<[j=0WGaw%?禿ߏpKf:E6c^gC!,k^7kK@x.u!%*Ɯ=Ѿ<?|cϛBNsC{fMgF]Wc.qd7xXW= ֐? Mp[ܾ'Ѻ|A{3-}{#[W܉{an}1'w)!;V#A0GyF/L'ZɍYyLӯz{cȜֻǍғA2<j$BM?RII{)_읢v-HKTO녂WScz3#_t4I'9o﫡M%.CZ0=,-|+ֱnFQkλu{lеr_芫inϿGJ|/t/CU'ϋuuu#b<ރ 앾֭c'+@1Hեs@)rgfdS@ost =%VѴ;,;VJJ_OyY+^1[?UU'fVvUzJ{G[yHnK; |wFN^)Pɳ&R7_K߀ذ W!rꝵ ?͙tlоm7 ce-hóӯ^i;p#>>Q-@N“ҷV*=e_Yo-ʩ7S<}.sEv\Exn_ެq%yKTB1t<,otr=:ș=eOj'@l}~P+zӢVHִ )ol?Zk!s]uz7 \mӋ/a|j;zь\x {Mߦ+w)j0נ~*z߱x.<JϐXnIzG"01pMnV)mN\`}K!6R"ZNiF3 hQ'(71E"1TkaIghk}@(HE&-Hvdٹ9pVl3ZsBsgX/f%$h@|kx$Sdg`@΀<cŮL]>܀i5J(&LUBOږ9NrБ;^ ;~Dxtʑ꧒7qϷ U\ zjz^Va7[Lca~f'$7be]!cG$U:Z_׼3QWmz3%d?]\r:\Brhğ)I2\ѮK{z\.{ǿ<ƺbxٶp F^F7=fcij*uO }k)Rk߮@֑c;.=t l> C˿ߨqf ۊ?|,]-[U&z}Kytr&"^*8ۏ0rNΛj ۤ֙`8xZf3GpOL|PWO 8gE=xy<9lvpk=Np2=<˔ e`<_ L۷uAd5_'}rQ0'[P9 y 2)J('i`kM\0lT~`ǜǖ]sryWe._};] ύL06%j)\BK?CZ $HQD}t6yN,;PabXiSw O]z>"<<(u&Ӝ mIh-› %WsbQXa&%߯HA#`~ ᮮzojLy筭 4} :/OYvLW}/.% =?dlF&yDϐW>RЭoz7쑨WNo*.D_ufO]PvkH]Y=4uuz Li 9oeoIg5XR}ͺ!}o^EXn5ew;E}<]o}RdAkITӄvPF;{N`ς9ќ- ̮hKUJe~o\q$ Q૾Xdbyv|;uQtpP~@ 9oqq1om^w؁;eS8}{v t=q0 lkUPά+󝿛x]j|i^FMa8tgDd+<#A5SnS'olݵDpo:5 n}~xB.iAdD]<5}o3~qU&m ' w$_|Qnў %nww+hDZ{ !.^yTu.-iq<*WV'&A>+cLޅ~NV3eycL@Qc>Dk$eA8:_A׊\u2ւ>L}9bi$"W6H& #T-A!o.-ʳ<@[ÙX;HOva{P b~D"22ӿJ [/ϷǀpƔ@o$~}hf[ց!b:=rOP}ZmgibH)^^oWGZyļV)az^4z)/tut V}1]APr \/y~Eܝ+A Xo=?8b#ᷟ f?3|2|Y'9ZR:qH{j9*Q<о&f̀oSK4uzs\ G,{B%){Zr wNˌg;i>_v mdLJ/m=X^ d2AWWe^2pwve:؀7 pNx58F_]+V }W0V)75_@;H6jq%ݟ$?@5=zg{\KG}Lozt D;}gouS֕d|cbk~:XڟZjR@ {~-3ݡ5PȀ9֢c?wǃA{I *VkX5[vķ$k%tid ?Jp}us!p|`q/9F04SxD>&@j^f 1.c3h颭= O>Nk\P)s^3ǣ@[8G1CcuZ]=-b*Hfw@YS̺ʭUjB|+,HYsAp7ǹ`y}<ɺ;u^ {3սXB2tI"r&^O;3'X>$O7"-JvQhpCx9zj,MqVGU1\zD~}ys3T^2^pW|~o;M:-EPN舷+4.9ѷjّSP<̾RYl/MU:?ʹVW[AuȇIYs@1~Gn#^G`.tUGkbI~Tap<4.C33.{2좯GxZO ™6:cAЧ66r]5v_:?R N֑>B#* i0^ɖU~!- –DD,Xr{-4ă; 3iPKn=gZ0]\^֝fv=+V2Wvo b&ЍupwWPi z|魙}q'(gҶ-k%]z^@aFUK9O7~[=,h'U~tݳ]*LF5wydV699" h\JȲ`H|{ZSPdU՞ss8 Ϸ$WK|+OSl춹UIc^"l5;V{Wy٤9AOn}[ %@KjIiGQ{^T|b9z2z(_ tw ^?X#N2T$!mT*ȯ_YKzs{чrzZ'7p I)X 3?pC'eR?Ju`1'$؂&X(uoMSm='}i9@A_C^|tU&G Fig`V zLpbנޢüPbvoh%wѩXoCt^'G-O@n368cǕCWn<^aDԟvw6i2|>#`jS jX틯-}\.}D?ci;Du~E`QRJ{q(0mYVĦ#6 ;Yx-F-QO~џZ`r2RL!0w{/? Y_Uo|Zz:'zGM 5{d R[ %6ۀ:6—4`KXf }b! N20o'}2 g5oWizEo_ѯcx|khI)!!{dJ 3K#=sG?Pbs3W\Cd]`lrܴwJ YٍQ6(X ֯"i#`N&yS!;T\M0[>=`8~z>3ؼU]ApD*oEeT>778lOU9fDs՗gj8]2\SGlfL~ӹ ;7=-F hW]@ lʫ[lC׉h=¯NL{NYk;t\{+'&<icoG X/6uɖ;2\{80,xy %͸2\Q}b9Rw`8"YG5[!Kn/J.=Ԟ!ା{'r&fhtA{|i0%D{MO㻣^+i\, NVľh(n[>ߚJbH5P&P_=2,w~qK"#6Í޲(ۢqck'v?7rRZ w駵J9sKad5w`9 ڶ]M᠈S BS#?kyKkPt%d-FzV!S>l5R|j(D_3cHQ>3H`hXs*Ϭ{ד!㟜1`7~y^qM gW`/0p}呡t :EDr]"s~l;ێ<[NH0Sg_GxɃzbLVyʱBfzfoJ EW`hIfb$)|szW 5}rw16 gIUcJxou y ߾IW.pM+ԯG )K{Q5^?R&e:?shVX3&e :!).QX*!r6F<c 'c8{X4'FG?:zcs׎.ǘX&j}{. zJGULDl.#$O~Ufe`┒+Oea O/&´3] 0.U%cO%]7z#`d嫂̰^ =PYu?A(mZfGAXpGDocXy~bN9Cɥ1:j> zT+ ^ٰcWFb{0W?,!ßgs`P\$KNfѿzr =ik;`,/~jiժAK]+1߾?Hp+C -SIrA8 3-ꭷ@H ˆ羕@aΪ0mD_fֺ4z/(yP?)զD/SxXgϘ@o'&En"e$aYd673~)2Qi ɰ_ M["z{>銱n0v, ?`4acP,@Mr KJF0sc3S>o`}s1)_95Q01D Ƽ\^`~e(/,&aTC%~ے2L0?Q*hՎ;w0qeEbqf}`b(l_F➷.#.[)][-Q5ۓBXL-n!?1TPxmF!ݭIǐOК>^y9wۢ_ Vj# C縯/r+^-xM~>qua f9 "#l *q]-u|E+F:D;!w>jyrO%v4sʨ\}]>!:k2W?Y~5Cܖ :/ZGe߂~pHN3 jS4,UQzN)iVLAO&zkh yx{ Zײ.EOM*ѽa$-Wû3?VmO4zf[{nCRvSѳ7_fnI:-gV $j[wPVto[*h5Sy$ӧyv9f,YO):=n H[k-EiCׇ7uDll^͕{>cR7$k?@J}#Ul2W SnO CC&KhS)8Q=`q=x *28oY.,8; <pO]?6fl$EY0SD*0]~Ѝz-3 IPs 7i]z{`_嵅?bw~NU.8?i|;N9 _}b*9W2ܖ3'yWz^'k%:12(]6.^R 򭵉2HA)uւVqyߚkz!  tQ!|GkGAG!T3qW/c(P4!Atj>>:`\+ً0G]';e[084SP/_?s0}TPvec!zl$t _ JP*1#Ftݬ16.7^c42O9_ #/*s>qh蟪o0bA1` uhgbp~{!ܹ]HɷVCv󙊥]{vNqC}` 4꾛-ktY’oFpݎncdۓŠP| k2ؖG |^V)Y mj= "Wވ}j_>pL|, +"O\t~01k% /ty'dKG7*twѯN 8@<;z;5/v ?Cʵu `b Kgr ڿ[ 杵=R3L96+Ի.[A۽4ܭ@PN"γ3A[zJo"rV$yu)Dl9uwm,+߆ `]/Mo@Sd,m9ITfeۧzda_XWzp EKo< r ec~HFV[Q KɺU_6%kQh{6S43<RbvSk!siNxCSz]?uG˅_a#o+ |}:_m1]w4 ֞[Qς;MKyӓ JՔ\ 3'iZ.y"Sؿguz2QqM`e^NKxJh~aMb9;a~ύjRCРmBDHJ ^rv :X*-fلr"$[׃eh@ѵϪ;4^R`Xo65 \_;{2pímЇWOJwL2vRf>Bs1~G9;x'|+s疆qbfpM5ȍt QWF@?p80~- RVl:03箝SeY5"GVYhv|T}7Q0XyhtpLsvyH g^)?~7[.kF`Ǟ{hVu^Tӕ/MSVv8ۙz Nߛ% lomwB?>1zuM1=o>idB㒥K Noy>|7M'Ӄe0(wɱ&2=pVBWCiKR1`96L<'CͲ׋`d#K0R&{o!24,XԷZ) [,6yl ZúYܰl_:hp3_XThݶ CefH5􀸭)bO~_W\Ba $Nr_a񏗦uv*:'CTD7 V7@B'k Db`p602ڥ?*6X%3>…] HQ9z2OvvYģMYp ɞSwP*ྎ/Y-FCc>.\iAvNpWƞO]qg}ޞ$3^ C04u? (s! 1'gCԙ.u!|#~=!l " Ɖ\Ӗg?at>g C!o 몛dWsHJMqgr-ͼvDmsLMb g.uDAD6g'{՝KOd"IFb| B^şoY\7ˮIv7{bԲ9 vK?Bgk1G?P^ )OnϾ~ Ҥ=ͪw4Lar痠kk>loRXYƽE$y78/iO#J.t瓆c\ ^W^r {-)#~37Ά/3 ʿoswjwWCsFǁ8tSMՀ(aKE`VX io"jGAy-[LR6Pmk&Σ.URO? X :Q3t!,)cz$Ek]ʹ{~ӎ"u>DoVYB۴#]G?s(=!8sxw5Nw(\J0 f9l 6ᙂ6]n!(N{L5McOoi']sg@B.f{Rd'ˍ|}\`ue+xW\\OFSܯKg3S[J37~B e^Ÿa ܼJlwC+yv*ݳֆLBکyf]WtvVrIcWntɔ=^O@^1x]ʭωkƤJ)A{ 1MvD}nʐCxI s3j{$_ f.G߁{> _y~ŠQn88G&gm􇧕# X\η==D<=,;6KFo}HِiȧAY"Bѡ;]xD߿^-f JOtx^Lt%d|i+3NPZ1'*< ٵ7 O\t-.5n}o=_~qj?*67]Ӕ}aiEʈI,/:wOЦkwf 6V[.dzSvО*|v~~>wg.OuH`ZN\M!8 cv:Vevy'X dpJ=ߛqyzw'%fw1Gg'o0xn|N-cBK霆6"?w]OO6B 0 jLpZ[\˳u3Ƀ4AQD#ۿ*;Q\lл<6:F+Bjy+ՔvR픐P˟ (\yX"(5=>SAuA[#]QԀ׻YiakI6ygAjA*ZεhD\qH(wI_ =ݎS@GmfVv#nuM`ػc~&8)}tǻ]`_ϝk3EJ;͒w;Yʸ0V4>)K悆Պ@7)Mm˺/x[Gb}(v|y3,_ n.`ў^ z4=SIwJaBFaMP]>g Oj2 &{4/cxCWuu;sAM0t_h"WŶ-efp%7|NA@ }liSB?Q8#nDǕz\u?K9Þ D.68O}kl47=r=~tEʛ?kz))6"dEN Q.'(s|=97ҕ}yawW0M<[ƾ`8xPd|6,Ԃx}>`:*_Xl Zk7Ϡ+| f"}ۊfC90t[0ʦ5i)us /:UX`6ώ2Nfπ쉊] ǯjA|tPi`>Xɏ" yܖ 7Սrey/gTp߲D7)2Y/ Nun^%!xz |Iŧk_mFEb6JOQJ"rlF1od0+6E[0f_ LԖO1CSùwzD1Q9/1PqGn:z=2j 9{&!$S!82 ^c a7ci8d$ Ͷuszå|mjI A'J7IniB"t:c^,jg !{D~sf83pg<454A^`i9-Hs2@N2g2eǢ,?qr|  cR_j&;uY;2A -jM`cDh &ϲJbkEzD/2 I OeoI钸\Ծid>iƣgHG Gs1[ ڼQw3mܢ yݏ5ѤǺZ'5*ED~yC.Ō]*9x^b6h HkkAmo"廀-[T6jv[2(quAdmsfaF gb 7Ў-18j 0;/$Voe%2 2 W'z?~#蟖@ܟSqt[Q ĕ6`ˋBc |\?[+Ҩ3-[ԁKb}zgV{Ty-Zq:j>օރu,2B)UDh7u~!|ySt6Dc!ٸ(}ۼahk/dҙ |KR"5ɄDy:!8_S ?gw#rfq}5OHux)3u.iB0.sEqKxif"6IţD QXCX<Ɍʑ'&k+ rg}(kc3x͵6y./@Hpe礼 6/*13{IXw]t=v|~l& / >{scdI7@"jS1hɞѲdc}(Kƕmֆ\g8m20qc;Jz%x[7b+ye>LF]7P8ɸ>i$219rmz-!xLqM G0bR+ c"9J 3?7V~ #)p1E82hitC?zǁOd]zn2pY>,iAf;(P2uQL6}%UW>?@"9nhK$2'&6A2v{~~-F?s>-JF;ÆDȄk̦@^/&S.^$z?.N?IS0k 4+vN8D9v;gmzB&=xsxAVP2sa%m ܜa#LFS_yCYN鴋GԶ<}_Юdr谸 m>f @Uf׼xf21J۟L&|d!S,lKkɔpW>2si_&g2tt5dAe^q%?_JޜwNS+#wsgf&ں]HydTkddak,G-/ȰdHߑe!ғoMFӁ7H-ޞHYwՉHϋ24ҶCȫ]͆psҮ)D[6&M Sȟ['N"FҶ{C!U:^իA=c II40d Ͽ:st5g?A8w2D۪x*H_Cd'GkA2\+Gj3us K(}XB}#$Z}døS,&-2!*/,~%-vFLM\}NL(Lgbd/]&ϓ _&ǪȤUdFM>qmC|R}vL{6O:z+2/uk}i%;u|t'W{faAڻ}KSCWRldaG)Vw9s1X>2{oR2"o2grOj;~L3idZNiė+-^cOnJR%s6rF?%S[* 4M2%1W(L8Ir)4{6IeV+oMvq}B'[7c,\FW|iGZdI4Y9nAɂwDm2+mZ z&a]͞FfJx\m&dl2wD1 d2}Ah&yTk:nɉIK2 ZҤ}^LN$S{R8'ī dz>c6Of# dY&FV׉dN=}2$/{  KU)I3%Cq!>2<_G[ C+n_#=rKrդ9/2&m⺋}ޤSRP.iYsQ%wY5cْےx΅| ?XvwvUJ64H*5"j"XH{n#E#{g3j͎ٱ}G2sኜTŴ,Azvrpݶ!B|+ά;*ҿ~'dt7c{odEz !Uwq?s^5Ɲ' _-aҿRgnmzWHoic,ۥG|o'?.hN+ndk1v!C:_/LND 8גg C<9OSFdIIۉҢ_jtlxم>C_>(O>Azϕ!׮yKZw8mw$-$ʹ }[H|Jh#Ӭp;]dڹTL%'U7&뵊L| &4Hϝ4ŀ͙fvĸy6SUrux'ry-7H.0 Y[݉* 17/mް4 ֦DmJ#}MI7xAP~y~-4/ؐKGb%JG*HYufCU.haa] qDhg Ҿt৓4iDksl" uL¤w-WBYWvݭۄt>O: Z:_$OW,^l?d} jjF$caeudBo0;$FF-Y$lȄVådJ]<7gdLL>+2XZg֓1JIGݻ-cB';LȨ #29I_ 5^(&Ca RMiF? ?vuռPFs g^Oe^P??# u|zV.isS2'6J[b3dpމ/dmPm2nZHƃτM^ (dDxf N+q_j"kc2<\tE. $^d{N6=}pW%؄t]OXJ[CU32M~ٯzԴHء*nr(Nxݲqnjۻ/ic2f=L?dHڇ?kNw􁾘ӎ1A;tWٍӭ'*Ǔ" 31O|DTAҮݽMRUz^lgiA DH:4ʳM`<6˄26-|MȠ$i&/<W#Aw*Iceﭺ sI+n.u9:4Hz%tn"C=uoJGYZ=o3!c\-/l/a~X2ӥLd,-bsk&؟ 3{}(ؐ{wH(OqC$ 2v6|;-ΒוvA!2QxN8/|x 16Ҭ!b)Ųz&c78plҟ|ỏr2PA>.l8(ڇMdM.~Se%EW OA:>tϊl=Az殐phxHV=ٿw3{7jӀl>#0 5.Ĝ%sAgS.M:'Aҁ5Hkj3f~`/]"Fsk6`']^KzY2 9 Ɉ\Pi2ꑿK' E+ؗ#nʅdx2BV0%#Ćn 7-%c72ʀ/ZE-\qD~ל|}_H'Mү3mjxXA&ENQҫƭ&X0D:rK:;&GLI|9.)Oz}S5%==;Ge"~5O"_T_ (sO~쿝@rj3;:ZOz|;GfԞ\#cUۚ߈Z{Wv-qd ;6 G2\= ݹQr)R~, v_/.o .]yi6'I{[ʈxP"x7U0sG[#OL;iDE7^+$q˰C-tqw (qȹen;{QtJ.ӽt~$e[&IMF=jKIĆrC$^KzD^ =Y%+{i{$]NG)n4ғqUM6˧uͤwn.MXK ]gHs_;&ǔHz:;F[A3w؊:=H;ٿN<^ӻt??tD.))_#=yKq!*t~rBz~O'Bv}_ow!Qz"8H^ղauJҕms~p+)_`!}2WI?y'F⿿s@e'*O$}#CśH5$t8ɨA*2z@] H'edj28λtg ZIc姧'+}ύ@{=d@iMM2Vad2*#xX%Z2(x5P!wL%~KR[Ԑٿo?Z;?MGeg Si5G;0??PVuZ>8`PKS\fȀJjFҷ{fd5/uRV_/&]ž1Rdug37p \բ· Ȁua.m /Gס}>N^PIW p[6j5/WX+J3VƳvdT;E{dl>if2eEܱ=̉MZ:Ynl qŜY5K\@U& 6^$ Qb.dΚTW[N&+3r,ݹ{QfhJjkR?Zt8l)Yk^_,xq!M檷֑Ɛ`dm2pL>ve<hJ} ud7Ȅ%a62Vjtg2C2'͢hxW2A=z8U-ob@L6W!C>)GI'JrowgQ#.h62eه'I{pBp|#Y>cWk?+2a.ҵ*-Ȳ3ixviTbQWqФs_EjZrƌfɾJVVś~ptݠě!}Rk3Hߐ*o} B ⲭOeҽfxGyҾS__hҝYyIL& rhSRSO~O9E<Iwr؊L4߿ S}$Kw;~]@`(ip<i!חE)cLc"vS%²sw򗝆 aK_4gq,7"EkJV/SEH꿣_ Ig]ey)ٚ'Z'ij/ 'N/66VmHu[7EU ء7"ӢDa} i?Zmù4^&g&!]A#-W!>#.ut_^=vV 5bm` Vy!.YZ 5'ô$FߴBXw L-;ɘ;뙈CdT`8!@u4r x92#~/U2#ܔ*X> CTH KFQm^f~1J]̧b'^~?7Ƶ)͹%Qt\\ZKΤUא]L lդ)B*Upl?c0 R;1bE:R}|nM30ۯ`k%jɹd@vQ^'k?Ig}qJɺ~6K;{9ʐ1@-iY^(iyAڷJG.i%zIw}$gH-ccJ6O.rxbfAF)UVק }~Gdj{ϼp2W/gQBkD+? ꢣ d(pT|bt )!=I{~ \;Ȁ^k~JKO #^:e7Fd}%N2Uzz+`+7kѤJfV 噅%ɬ׿_)cdNybW8|[??7$Wϯ!n_vbedl4;ƻdPC+8B NEqo!]dHIu_¹O\ijptMx 4=*K M+%$X/Đ0^ p|(@O뮙\cW ͫ͊ =es5{w H{M{MCVe.i]b?p%mqؐC|BǣӮft 4O!3K[ =sofHgE_Iw[CS~gC:^(k =>,jV[[HH_?߿IDiTIL<-7^XOz*RH)ЊLҽb݋HUM﨡pi9vzfZx,}H! A%6dqW([OOd2IU}{YVU^g?~!uv >].c]TvjUVXv^% ϶_#%֌1~sCc͸t4y 'i©/ac}t\^f r [ҹZg6 (^ʰ4˟l!-ڧN&;Kꓤrid7?g*ipRH֐@ȟWLH~H-(|7Iӛw鑶,ކ!.̷L&q`)5E|5MOݙ ]-N_x-Ek睶u&^#;e.ҕNd~Ltd<:{Njbt:^"g.$]@MU&>mo[qVqlM1R.jv)L-$AO_ž > >?;oi)J:WO֓lߩGŪfQő+ H @ӷÔ- l9D5y0[+REf ,2\uvқa#! l!xLjOGdT[>7+IVgw+b'$H_Cud#K/c}>1Vkdw!dZpxGǎudoшɴ麋&[ὗ$ۮAFRVp&2udx#dwc{rd+yaѤ}|PG#tϏoI[Нąlt}Z>8 5ۛug1?|D,2 ϶ 'Cs;2-$ֺlf6Y?gIyu'Hg5lHϯߒLۜHþ'yqJp^=Azܫ.bf!=L^{ΰT#: w2"IGUp?vÉUI넠?d$L AZgU4|2w/i۞~v i3 iW_}q iO=_DR8x~#i]$dJnj !c61;%^AHTadbUzWd$:U^{q|,KQY,t'z#yʓn}wHWk`Fw,͊ ڲ8 0,GXwdGzfm'U7W>f.HyяL;'}Lөr[Zɐj 9vyi۔;hx4egMq>}cERi xu6^MVyά"[X_$]|+ IG4I{ E;y5Bzy {cIg'H>kH bw8s&thzo+2īj,@tKqҿCf+bƵ"8bxcyx´t9 4s2`3dFnQ2 ]I_P'%R dU!>?'࿟8qogfDmfJ/ѫ6AuȃaN[ddKH#GزYe2\WeqPg2}2anM!AAd1Xϵ?-d;n 9~_7K_juLi@տFf;t! ϒ?6Ll'x}ߥ_{!d@rBW?U;EJ? z2sIՓ{d(!2H%cNc?+!b8F?&}cb7*V0000201q!o8gyN8.19G#'Vy;{Cq'dP3?w8?&)}Rpr?/eu8}x7+xa7OG^_< GWμߧe7%yƹ@明!8^vFK`|JknZ%j?`bp/TxRBuX8gNfuj񶵪q|.X;q|4_S[-`o<}wb8'~\wM7| r:nB~oU\GU~s]~n cZa;7wߗ1m Ӎ_p 5|uS7{2{z8Wû4C#GxiձۍL#D̯wŀ}K|܃Cຉ39L#U(/oe3u~6n{mZ@A4Bn_+Zs. ?v)[7{=4e95Fn>,r+EF(~t)#݆pvWVv>cqM5'>liApC3̏Aƛp|7Ia XOC.ᇳp: ݇_5OY‘6N#U`ڎ٧x@aoJ8o uv0On_ߊ6~0~?~c%|0Cs`D$N¼6qekKV8Ou/ g w@SuMo/IYrc80ǽ9m9KMw8LOj`ˏv'dG@() B{ΜS !;ށ^Q+}#6`}o \`^jg+tp r~NPy?"nM8pc[ \#3oǣQm0Gqwc'`~r1g oxo\es_`\Txjsww:lS ;*}RbVk@>&vmg@lG3 IL5kE<;JB i)1cs1ڬ] m.8jG`i nXw*GOSk:?15\[wꉼit>[v;ğ<:Ih_.!^-^ ~/?r >}@1@u[=aIsջADVy4z5( lup>O~UȍoYi_ADT CziLH23}>p.9o莿,z]4˜݌W>3:FY=:߁)*_pqѳ<6وFR4+W׌=ӥ_|t=/"|i g{߭91t)ٚ+}nn)L60ظUEkE)ԍ?t:]#ezL#Lq>h4!vs8V6(N2d^$;E e2Pws?Ϭ?%vm9@tپ0>e釀<;a܋Fjp>X*qυp iMlB_ j+,܊qTukq/8]zP/.07XSy4w,a|"Yaf]?yȽts>ԒM\ "ϖ|ה~a3O\y8l5M߿_:jnz@ɢ] G{h( k^7awcL'aM LV4ۦ} 9 A|| vh&)okrs,U!ɹ/Uz]\{ SkЦ㺭 JIYr=]C:׬kxiC,ω/} r.?ү;gفzWX*۾c>}sv?pI~3 D(<`ױ]{kx3S8>:S>M ǝ7PXs~|CJq\?"| 0=cJtp?#WZ&c 輧ȳpɗ8eS5쐪kOٴSgwX{p7DYyrZ>~靠wA:i|-y\uyэxZ^N#YNJv-섢ʂlu%a½Y8~V8Fx~pX{_n[Q#9_r <z{M1oBsxz8KKm0.".lY=|i מVȋzm ?bZ?7}K&횅ǜ6H,cEgw%!Z)̏ Ǚm7n=볊􂁽AR8e;3 w*?)H˥0oD_\]Yϧq+@^hr}YQ#7 g13)_!tONc9\wg_+npbЮ3"#XJ(ǹW odx?[oU!,MyO\K9V{(/k:\NAs/ <"A OGJ2]R6fc/l'ZnC;bS.Ϣ=u|<.[̇fM< ;#wW&+GIMP΍F7<H1ܹt޿RnQc_v%Ѻ{fsd еvoSIRuZF$Sqb.\W}iXoguފ"Xi}YC$W# JgZ[h1:E} XoWq>.Q`yCy6\/ x*ȥY%Xgv'U~s,29B5o?y^B۷z[qa ࣔG/N#;X+Q#zBCN2/iy/eWu}e\59;u'wǽ!pgjO{u {R{/p)rp\;cJ?Yd MppS.6q6'\G9zΐ7gz1~ڑ[zvCPޕSp=o!9+Ǖn!/qmwȕv1/;eiq|I#(ɷA!O[kBߣ;oΐ> eˆy;; x,#/͸ xZ\sC,pgį Iy#?؋ݖ)#?UUkJUGˊo~$dT~E6욣P񅸼8CYxoӶ?sf=#W>#GFѫiKuN7:3 9t ~W)n_n1WT@TsY\<`wg!ȟ>8DޗP7uہF L5G2ȫvSze?72/x`>V`O&?;.BLz~j6F-yt| KNsPEȠދ0*^?;1{l~Ay,X(|0;M!gV]ӰE*ߐ\~s#]ijcN!n5c ~0ŶJ𲆹KΰO<|W_NAٔ'p] {\?)p=+Yx0Oe5ɚwv?1<| } [:?SH$YZeUD! E[+_"'#'轈.SIaqҵΞr<uL|W:|ŸVgF<[ӑ ;Sw D!?DPy׬T*%6[ (+{ɘ&ȉZ c[*q(֥o`O K \w1HA89Y݈l΃d_7>-7r *}i>nX PΏv¼c0Ũ|{n~߯hn2Y0$ 7sPlw_ėcQǪc6fݯ|ʠ< ψ^O{0|1YsD$.. bzfA?< =;ߘZt5b '@j˛I8N?y6`Y{3٬py{6GϨNvX~~dSKd{7"Ltʏ{ZŜnr≧?\RI=}Kn+gY4MhV/Y=؄#yvwm|Kn8bgTO7# }^noA^3EVI}k&͍F]yC^ N=+uWP^|yγo/"Jy9,փbm!^p%=KEOT _nBm߀y-)$Op\X4؟0n|WRnJ6G^oVJ]7PM{ϗǼi-{f8lmVx-0늙}131W䩲am:q8$f!;>ozMYNڈ~*wWf}u\3h_Ǻ^gEe ֡:~E%yr\m.B3rȳmhGkWN/ȵOp\Xs y#W_ 紕^951tuH"ۍ3%k4?I{onEݰ=1L1ȯsζ%i@\Qw.4qp]|~/.x9Wp]kMzA_:Ч]O o)hA yD!;+$@ij5G SkWLb@U<+|_*r,-SYKVl=I3q߱N/ޟذ^`8c_Έl7[c|y}f|= *؟45lF*3!scǼg?t<tpF?\|$ ֶٰ2x8-ui;66l-x/jʥRQ<놴úrKP;.K[&qO_1S\׉x~js$= ;(hQRpN؅<)k9\Qn9zԉN^sij$Z[<ϧʙʯu `yWsmxќ+|r'crY09b7? 4BZFV+c]e$o_xHѼVxçeϛ#a D9P Ɏa>, !/>4brHΣ"iI8*"aYO߻}0C9f:Opu+ )GYyy 5B4)~7_V ~3,ܢ,xs#7QZ3nw~w:P_F<fm}TWำyשū?-c_k{7?(I]R>{bW,x0P&0Vm:zu|šqȍC[6|p>ٕV >L+}o "#$)|S?]r<9 qFsMN(%*8_/B.WߠxHCro%uX?,SSxGl*E: <+)Ο@y猛F 5B8Z8Ÿg`ޕ*4~w8 B:z\>RϬ xyjPM//jk‘`?a!i)/?uAt^zx̏͘"wG[?¾6ØDz= ,qkZa]YSwMO=Cy*7 v17CyK.b<{tu`S}#Q#y{γFmEe x\V=.$.i^Og7>'&B@MP;?jq>MvY~~l:'9^Ԉu Y~(#z/6]]m¹rT(WaόWз#T]8# &A!#m=|Zozyvtӎ^2˅ w}칩[~9Bbl  D,lBJ|>/VV6-7ɽxxm &+:Q׾.{Uaߨ$kvG1= ;Âx>*V jWcy) )M--<:JG O"Zmjι='yp]`ݢz#}:WlHq|̺MsȬzƧui1f;zh﷊6clws@n6&ñޟ9`Ax݀v!?<^&5q xgnĹ5Dfu{7 Sp$. K@B_iʩEÜGTaƣS`o( ^qm~A9W~:n)mbeFݝ` ,:=,ŀ.=g VDmq8㑫yke $^;z¾ҸV&NkΈySW_ fK CZ㽾[bcl@gbm ]]~R4Ƃ|fc]Lյ WG7Z|:ﳡFEf}{~$ȼuܤGʹ gWS,,qڟ}'4/] pӱr\ ݆9qӱ/r}R#ܿq&W ü$ǧ\Ʀ6x=ϰzW*Y;%!&5Is*;z/ l}쬏E'+zWmf;~ W'ZuMGsl⊸e ljfKԨ䏷k; ^zJgjpL> A5ã w%K"G6 ^(|R>:yG<0/0M&^?&=|f~]9@ %(žG*OB<ZLn>ËJ7JHmuӷ:fhqxyss[}.=A!ΧvqxEa*z ]m<[ m|qLg[%zΖv>v뿩4 2/|1 fJ {gx`>'NpFP}_iWY/NdPKO.sfo%{VPؠ!طk^x]yŠ94mBGKwTE5nX 02nB|bO؋"`TRTZN6yuS!J9'{x"dm 0E[s'bMZ%K%A5/wAX]ZVë<ط MFĥ^_yo8a|5,/[.ڭ ͍:0{K/<[_ ,y>Gw1L<4ڌjl Ggb?剽߅Y%=TQ၀p׻'{-ZxSofAh%ǫ{6ˮ3 $Z3XE?Tv4G02:O88} }Q-V0o*ȓ6a[OS-Ї/X/t?pǼ*E-N95fqB1k|R |R4oZqź;Se;t q"/ Wp qm}̃> ~dOԳ x:&>I ]|x "j?9.Oc%_4`>fEׅ>7lq(/4>S,$n,X?bx|a>͕gE3![ߔ8g4ڊ 3x+ElxyQ"qFRU?es/FT_и,:nU}U`̋|܍|oKАp˗,2} +u5m{}tG˛= ΠR~za1A컟<9}~eH~㾂*9{B4:Z CN HѮaUqXT/GZ|&Y`XKO͖8*>'.&Euo[/{/Q򉔴k~ ʀɹ#~. -7cdR͒?pZ,QXC7wK&)0icL޼4b]I&'9+ ˬ04,}ф8UR.z}Gl6ΎY^`̟؟x6ożt !-bzs__8~T-W|{cUx{wmB a|Ɔ} z7g_q֒_^̨v+.lD/DԁPCT͏]~wo}"hYG?lޫ)ww_zo+ODqp(~0>k3ٮŸN9%v0n>8'O՚H_>}lpƄ41hX7 |)61?àߊc>nOg, q)ML %χ˼qҊ ^:9AmV33JQW`Anq&1R]-ecܜx[-wyhc㚻X5bP^ƕҝ V8bvʧD@#3ItӾq'?¾.n% Ou|&wzu?)_q<|{͸ﱭ&=~<6A#fiLg2E^>Spm7Tcܘ(.? gRj﹭f?SdS^abGasLKd_=kTNI[qՙ߷#8pȢ*u!eƛK}`?[_gc?3N UDٌu}u&OyU}^3][p?dk9M!?c=%7rupɦj:䫏¬a^\}egNaR ))oNt㾓iueúR) W<uVa=wo jX'U?dtv]w`?;+\s&{T]rɄe׌8V״=@n5xga_ܰaUKnvq m6)1} 4Õ k;Th^Oy>u2B1Zh3{Z2¼˺৸(eu7^~ نC8+0[e:b3N }|x DzZ/{<ʏR,Q jڧ>A4:`C}zk9E8m<ߙzv $w y&Qt %p 踜-yF @>to8 wmO)-mUǗyf9$XacQ p߭C7Xx|Jǧgz]i¼XU/c;9x1a@ e]RvuzK3.*0DzW{]Tϝӆe3ﶽpC$*dy /L!^uf y &BI,3׏`_8ѐA!x}aA./h6nǶd'\q>g>#pRMIٕ` o%ӒϤŃ~}X8hCϙ/`!IG}}~7O*aNQǸN佇 Sbw2Bm>X_ehrb_||?=Gy^Ps O2o|aJxrvț.XR{lur}BFnj`%{-~'#_frj7+17 c6 A z ϓ/An܉73 `@5 |B a6ys s}LD'`j?kicUʅCrw3;ԝCpijK3_yI[B_to[6ƇJOK20zho!nt ab$@C1U{Ȇyz]}D+aΊU6?Am>du*pvL_w;-OΠm &[U]<+Ku`j<䦿ckCWla 0:qZw.ް~BwKlTY:*bT#m3i[72cQyo]xܪVbE-F^uCvZ`=h Q!oaB}_vu3C=M_1 k5!V }`]º;r >УĶu oNWq}8PUݸ1=:uΘ6}< kՑ5CaT\u/wSjؿ#֍/ 613}&={|>uWwN&m\˖ 0z>+Fbwxʪ_q7{*7֕u_aI9s !>R&_uXVU?hF1_?f~67!X;8z O.!ؐK.ąj]V 9߁u.P~c;pZ< _fiFYјOjv#1osR=\r>OO/@t3MJv"KC'S b~?|Nd'(/^>KF\ϗ$N`o؏|#E/+DfM/w]&c86ިn[cJ+Q g*֡gVOia}/Q_wN>뺸Pw}xNWZf-}_a$Sh a,a>3g ;4gy{}:#?ƧGŲoP@HYf~pOCi7C8.:-1س I %0)u6CXlt ]?|O- rZ9AU>@Ec@Ȓ!ƧW>caoc%crpș(;\;S(92RA__87 ˏoJ<pwa>[ w,נgd^v/XT{w:4B]5"=kA]C5/qlȝu0wHټu_4s׋a|oJŢh?ۯ0X ~\[# oa.^Jg2OflTBU;qq|sgs}Bj:~s{0Ϥ:j#ӹ\$K\y=<[y7қ|O"]e ZbzUد7(pŜsp?gye$⟷ |8ۻ}pH7>g$QK *e/G{4x"%a}Gq#h[~C?8['J,F8>C_qթl~`<_;eW2.aJ|45ym7W;amyݚLwd _ ctFʲ:pJ 7tM_ˠ͢nLZ"/8~%1C*Vaǝ YMSa,JAN%J-X'[ J|UDB̛f"~т屟gs`/_"o@y:x7?z'˛Y'ʏY#n{nsuoq GO /q-^$%7hkwvt!ؽχ&!t 쉾V*&~'jUz؍#~!#X\'NE@z 8Mj|\t_uiFCcXgY1==Ïؿd1!rTbU%X"ˤ?^s})KmqE^ZJX7J|}^>g?U0[Y{."pR+}}tq_IEůep]Djr20h7#N8'Gkme2@@|Uy=%)o?n:l >cL{[Z!saup,OǁW# 1uyOw⊏ط<-|փLq:u+ޥ+AAzQ ƭ>mSTqSRxƺbtך\vFSŇuCU?4-0J:%t쏶ӓp9e)3!Nz xB/3qX7Y 0?} g|ڃȏ/`Fy\GO8[CpfcGS<)04X ] aG]9qmJ<2r+x>*E{ƺ.}_}:ït^']{qIw3뜵9[&y_$˕wr a4//?pG8Ϸ]ƺS+'!9rd?Φ}:UWOMC/o}~܌߀߻1 oW\(/~TxAC)<EY!XzCĐ,& xJQ8j醳؟t3򗕧%#|W'!/[خSJapb|x2,6u'q;gP0P|~F.B'5@|\$)8M W{_1 i e䌾X]DGwjx~图Bwe1n:ZTKFZNs|4',|+(}=~ Woq wmrҍy4qB U!;҇_[sn&#j p`svEs.KՀ}!ΣZcˠOG^^')|է_j^)z_~pz5< G *E8Bk} #p/:Ͻ/aRn:}+ySt>KohUB<2Q;( ~VvW#/=;zw <wZz;?Ss/L_C/PWM%By_5SǸCK [1n K6ՖXϬ IydYs)G/)B܏x #"ܘ~H/kOR tuzθBa2|~k9ǏFtT?%ćCwZ? ]}0g{Tc/s oY֗3/'(+>xh;u±q!0 }Q.zXW1m{8Hx.,ș;_ Dྟ"NSƇaz/8Gg_*qp"\o0cfՅҊ6>C'fc?я># ?Y&'؞$^jrܗ R=x+u nݨe`Rg?Xn `_(.PR}2[^c KOQ9{{gqe6c.uIƣ6lȫ՜x92& +G([| Q+i%_o3ZaKO7eW^:I|ύ+6`aq 'p>+Mn>1~9.;bS O|P+D> Px#8JeT4#QEBLyq?Y5_/k;ſܿbYLìMGfZnC\X'/T Û79Ŀys?u^ebxuv k'^iM1grz M[p_"#zlmuSs\x_Zg []}cM ȕm>8Dkw; ve/,> gZ{OnL%} |'R[!wp]Get8yb ."/ k`l3G0/<'z c@ }B %2eF( O?ܙ}Cwњ]r(JuY&k&JB7a %D8 TRaܴ3oDg2p VJ 8\Rނ\\O#> ly߲kh"7G+5Z{=gv&Bj?x䢾1. b|gvOxuupKo/}|<E˸aNɺWue ʰMGڠ\6(@xq+t'Ӿ~ 5'| f? yˋ8\%șf9AŚ҂E$0>ᢥg~Ck̷\n|1=r;>}A^i(F(22֡tsUa&}%{SbX:!<زQThho}-y?љ+ g?v2M"7_X6d>OsúoGt {߽5{!#"6=n}8MSWtxp?J { o^}:- AN?.¹2gFb?` z?ؗb %̃}Iq%w`ވ)FyWlJ~Ĝÿڰ{iju p*mTnjŋ1w0+Nc}bq,eUY+8J(!NE]Gm|Ыfi=A8g ׆<*~m80nJ}ā^q85_o`^]T-y{drC0ˍBqZD|_wo4Ij\&ks70V`?P _9uZF!o1-n=`SudU-ߐP*v/ʝS Xߤu=a,s-0^~#v)|Dc3[38v2S 1ZtyXtC>VĀ{w_\ΥHAydlH5pkP?e/->O㼾I "88zsXa?}1N\ݘLQ~ L z?"\Mp`Nۣ Hk}V*ƃR;cG9FIsP4ƋqM]|,).\G~k︊`~{n5eO5rvb r/B;ޫ r!3Mz(P= ]Qo no(qi5 m! 㾧߹ʹ={zvkXշ%89e{7X/XgY8[B5h}*b7)]V5wt:ϼRrۄc޽d !];ns^NT\FW| e7XwTqdLODMxȫsÏu8?W3BC9SyӚ5yr1(v_-r >M,}Fz?ɲ< q R+];dq5Z-iZ^ĥ~G=Q%4p7uKzb!ӓ9C"Ư!ۇC~W yE`)ygcU{pS˶ԫׂS_H~q =c\fx؊9-zO9l;aZ_sX5+t2{L#&MGiE]`4/p~Ӻ17 };f.ו0^ݯ#X ܠ_sa79Ԟ$a~y'(s`,אL4nY,.}8{ߺ!̛utȀp_[_S+;^3j*ıjC'6c]Hʥ?K.\Yg=ژq=c'aBSn>ɑ/2ƫ'0/yO._ pᅫK=k1X |ZzoQf-} GÃ1/)=:JO|v=~ գoa~P wL.*=}&y8Uԯ?ߴ صX?W||re'_Bs.ug/4@T4?] -Xg2Peb"UOh|7J=< 矃 }?;bWe[^sdyYh.WӰ@CpV`?''6%eN܂na<. &?Hn=ؾu/An߳FC?T8P@AKA~#H;-w<śo+/ZRz /=W$8\wdsiiJطcڭ~? ]j[ ۛD?d vlk(m؟ζLjfg%r#9&]`+#Zowgeo㾵G`o5}$u__Rcܽݨz}X^ &!U_3S5:?~Cq+zy+W>B DkNYOVzx*mܔrF<τ Q!)% IHPTȐhPRJRJ)$F)y i».}~9 k]Zڛ~qވ|ƍ7r󔒄LR$$PW}Ԍu[4*S/NwD>%ad?fno,zEXѓS8()WmКB:M='?O_K8WEܟ&_G_k(YeJgc}M_msL!ُu@^ O 7&(^yVnFݯwgEX+&Y_kҡMa?9Nfʹu?Vui?(?VB?&稱Az@x!_C^%7_&WzkYhOu4N>@sc>]W/Ck`v oQDS;K*< /OK|}sEnXioF+r+fP7cӽpr e[G }U˨w']܂uy;`n/Vݚ8k@@5x{.Ư| |pĖUtr'zN?1]3WuI8-Õmɡ8N~R%]L ?L~ ?nЭ鴞ٲ4s|3CvoSwb.{V[t7uؿ :/5<EBVM:6TNn'NZl?c#_/@rgQs\uanx.X =w~qCCăp-=b^-1Y%Ywt^<=G塋mvt 3Lm'zhFBo;OM-tXrȒcZun2@s!}%v Oa&#/LrM"g `;s~gNEv^pgt_X?L\|}I[~fUb >J#skŭ+1A#?ȲK5wsz 2x8pQbĺ6/6|l3=]a7[_Ft!mO=9D=Nuݚ'_cte<n z4r6|1ci;,iem?AZ5u|m?D];;gW~^ʚJ%S4)S 䧍g%3L?9q/o1ӷa!}l&'=&?(-419څҤ+&=^4!ݿ= ;(^Rt1!oѵ%5?ԠOkv ^9/Cz{ҬX7/CW)*DبBN4/bWKf_rR#ʮKw[Z6cj_H4쵼L&~{/ӞvˡoTN@eמ*ZIR;#1ZCp|pb~;C'-Bb$t1#t_iR\/MBx%ȃ4y ov pg. n~˼o,ϝ:cСuSp'$2xu~w@֤G>JČg1ؿU5P yodf4ob[ҦXAx}|f_C0..WMBJ:/#yRl7<if:+Pv]Ue~[3pN!Y;+G-$,+2%N qDj~!)Pϕ|3,^!?'0C:ayq\dm!ީϤ#inT*o$*Hk)}?}_ق +q~DlТZK?X^WCFhC䍗5UvJAϵ:{W6e^5OXRybwҼ= *AqNϤ0 ?7Cg+ƮK+>GpOUNjXzi 3dv;yV`큍C-LT#?Fu b^Z e[6 :ny}ds?C<= k2 #gyⷬ0a[yR^۵WuL{[ ?`GM8&"sgO}sa,KX$UB]![PG!pppJٓآe H?~`2p+=2Y"@̡.7(n1/>gP|S4'ʡOP'A**8}}8ѷY 2Na/QLPՋ膿&nW/N#}O7ʒ3g]sRxva͵%:IN#_Z'OQ<|x8>/]!*%.жf%g[{ z$<΂dW̛﫡fmeUK:uk[itv%I3wE1>l ɊڅOD?©'_ZMMZ]C+!ZG2e1XJbuxɞ:bLwk#lsE| ]䚴o<~5G?@֕A9Q d~L@4az޿NX>ja;ė?:gHH^FG.y`hVp6*¸C|u-Gy͑[=5+ԝS GQ0sʇm{VZ6^d: 趟9hD#8Ygs纎+g<<ҥa=w>=X\Fw=xj唦;H_w_'q(AK`9ufO M:[+ɡ8<{+X\8lR'.{ v+qŜĖ }婭ΰ>ʁԵwo#oiz{)j3䤊;$ u3WR@[AdPŬgB]x!t3]FkBpdofMG!*- lcyeE#93ͅ]PW?R\mY~@_v&YG/9}&2VI sDBvRXoLv'anHuWNZANmA}{VIH+=(]r~k=yu^1I9} A*cx<_6W]IYw(Y'?v}y4̴֧kM<ċeTFTJmm_Я?*]&^цEiw}n=ΑٖwK4e._9"twH /6>yO>uBTr~/ukfwtҸI׫pxGE!]_s1ħeŊ4l|eh0@o .׃_.sh%ջGKBV} o@E=/ ۿ3M5[ ]͹o7 pPUνU;s</wCŽ# hA޻),_/{g; |V/O) Hj]Eϕ>$ٵx0A_a=Fi~X߱湌#O` o}"-+Bl8PӀ(Tc +lLWԒݱ>}*N7M ?>}lLv)|p;޺gsПaS:o=14ފq?Pywk*n֦utf7SxI`$C,x :wM3ɔR4~vcܔ7;K_;N#,o|}+:g%qO1sS ?\B_SX t/yGe0iA8tc]ښ΁vIA~1(sd"g9W;^O/[-YN7^GWoz=43-yɶs_MuHEKg2Dߋ/wXxÒ_~}!s4hx`DNZ ,7Kiͽ~q2`#qܯ{H`Υϩ=v#?׀ާi_rZe8mL]-qK%j*Y{.YlD8Axݤ>e=W哱#š'5'piy֥F<ϖfFޓ'isfU8PB~3ƴ䯹?c?'/i:c?{f y*KO^yp9>\MP"]pS m>|ՊFw μȌg 5?9 qgf).#+^%?b~Rgi=\nִ{A}txȝXZyȳz-xg*b'=i!>Sg9Hy&3u޿ʱo9y cRKU2?ĢߨIy̨.p|ù.wU9x W Ζ M%~ȶe@dw47Ci/St^٠}FK.yK8pՒ4~bݡ95,t@[mm\c0c6UD,"Nx4O1y]OarPozWf'wj!;3_Is4.Ls ]$(zjS{< iz3- S 5+$ҝ{:Ls b&PFWx\OzL+).?%|i IQU3f}=⺵ԁ?̧}N):?QYSu~꿋2l Ѓ…Je e|-&]2W|筰YF$yLw fFRsS®@pSSx9z_ȃ貓qfNL8 } FnlX} Z 3_NCMKIFPW? S+T\Ϲh3.X@8NyrK#~"Q"ei#;dGkXu7>PRQE{yys0=ovNyQȟrC4A`ҦAϙ{NG5e:/9?u5JURcqCY8s}V(f= ݲ9ƭS!?95pXڲ_EB*бNt ]Iw31b%n&eR}U@43sa3[LAx3Cgn^ǐu,:<1nX8ge>B;q}牟 ~W|qI@Ϟ,xyYzv>Z|PVaܯr _+=}pn؉ل,C-}}f]ϫ&_=Cugi:zxe|#_:7ۡm$u)-ywpG=1E1Џvx|,E_ '6}? !Yyr Ԟ5*3r%L~;yYle^<=7%噗݄Әgz?\^|vSD>?x#O-3y%M ']o]][fo>Fd7u%ݒc8?h׍j}NH֥cU+K7[4ki](y1Y]B+.zo84UEVO ۘ9#T&p;b>a=iǪ?SVx)1'T_gIE)$?փfaytFi@d}MZb>k[ ΰڥJuWoQ:.X`ؔ0ZYIG Gݢ#.ǿ2߈LS?$Y⬎}JWʕ"~ +SC_LiZޥk2.ږh>eTsO| f_жXKP W)pֵZ^5&n<Z{JuOh>Mk<1~cN(SX؛][4\#^^Ճy^?:+J0:Ge>cuKBx9W(~(g o57(. y<К4o΢m'>KqQEIУ W"N}^= suiȫtBm~~G?u#ЃoW@䟸R'/Gy :r-Řt҈S7woO䋦%?u-}0TERZ\īMN#a:wzI5s&n~%\L:Aq#Xh9_./)V`0{)]C5WcmQu u4%oeȇ:/^g mǃ~ Hr!^7 87Ub˗Y`;6E_Ic3%#js޼ɯI N|E|_j51SWgb?DkekqN:7نdn =(J¹/V&i-SVH(UBo0s#1lkoJ-8w8rs,./O@X!qw[7A߬9a)~wO jc_ݐiٳd?, Qϝ~LȴmG~{l?ξP2=zPպ:RɎ' NBvb: tvo/-;щ}ʧ,B;+`&{V:n[=9 >u RțJ)~<{ztOfuZU ;,ѹK1rpBRq ˇ֍hio+t1_gv- ;yp$4ͧq"oj<ӖU\F/D4sj̠dW_ ٨;|TʻѺ:R7.|no;yþ-v6/pavLw5,KomoeF>̣U׊@>RSԓgOv=ld=%}d/M_ua6^xWa)gx]0/$M>c0߄CW !Nxq({+c[c5h؋Z`:Z3kʔPfuz]|HJ/˜ (wx}4I ~:[1|,zWo͇||zFxLIJoMl@١?sP 'O߯"$}IeK '' )*|>G(K+yՕeHйōz:cKP?=t"QQ=z%?y~&pAqPy l>-~[hA1SRX/Ƙxo\3_0ėi!ٺN /Z\ymό.vƁJ GD)CCtS%qU }!1zR8N藘WFB5:qѕ}PR?A6]g\)dlߑt}ZYgW8q cv_{ʇn_OFK56Ed(αL[]wkCV/_޷C9٥}[t Q軼8:@G<'κLy-Kz%+ O>_x74?y8>~pB{2B).OOod PYӇ|̰/s_ﬞ#n'׺5F/ئ#Rf\0Ҍ2M=&E$(nyd)=gN9q3'{$@~~g_낎`Y#` 4/[}1tBwq(:1[''!Yt]FF㌅+TFmv,, ^_AjG™Yw?'$oR, ^x7qFzAf|߸.xkY'_g |;u ;A#8VL'p"Nt#'Li<^ԋo OKg:ȧ>S}^@in"}kGq\*4' ~oc?)o: v ;c3enkGwmїXLw{+ ʻ\g"#z@!&%ee‡g֔ݾ$3:[~/|)-kgwu®3wFYft iYA0oSGʅqVIz}ZK¼X]/.d ehx`\T4_Z<c[͸oes*E=lbdSK=nO#÷z /ib…!?10wZo|X\ ܾ{~2xaP9>]nsr؃\=/T|I\' 7BI̐L'Zxk9 яe^ ah v }uM<ȃ}ߊ>MkkԺu)O?!;ta럮QSk<؜zSӅS~-y Q|\]戣PQCanțl<3}K"8o@-y-:HQyStZ QjKﳛ7;@ʪ8+XOVɃ_FAj$?Zy&%eK绢ƽ3ۖnۑ3? _iәЫQ1N4f:$/pOt w,o^AF<׈C{w1%8'KoyLq:4s? ^6z|3R ? qb?X讞,brהnAZ/XzAO<d諍D!WDdA8}SM%}~Dž_UB>=:ؿ47/bpSoRDj7??:<|u-_8I R\xq ^/#?39M~G%F*z'oU [}ST{j4`~y{#.^&=;K=3)Sxs{! 5߼/,;ō;56o+<]Gɟokam>B} N\9`D ȆYco.>:`d?ǖ!_R'x[3a6$lR<`ֲ4ʢvl t'v'Nh0"bɫ`}h3VTiaؽi~V|y%1Qg6TR[0O%ZE~U:Zx7&C}i?îZ-;,ԟDvsꓓU gC~r +3rή הMSr句6;=*t{N 샶g̜!CdwfOiՋL<~^M3nҨWkRS"RwdĻ6s]g`ŗ^O.O*V#Y9nTOO5QQ[~r5d-f?drx C0L|+| p6 28 *Ez|ZkzLS>~,1K*;V 3u;uGx:!I. N`ނ~ӡ%wՂ帟 I~>:ܭ< *۰icؿ=J{t s ^3wB'-q##ܬթ \n9Jv(de5/^97߀J734gA7j! +x*iΡ.,~l_G >18Pleo?XwmR*GːIF~S>qi NGS,:ȱ CJv!ʕp"ăϑOs|{;}c50RQ&rwyB;gq1tt %j8"gn`;:hrϙ )O`)žng)nJ;oއz2K};KLL:)nDsB7w+ޑťVZpn (N]|y̘db$UxGqfJ]k$M߭yY5A$~ ٓ}#Wz~SM[w'E2h\ٱo㛏AZ\n$)%: 0f>ϵ5Xosg )LB˜}G9 e ^8youE8OH;iwIq15y%o[2qCղtGܹ.Mg`ԗm(?KB~3yX&~wbPx*7}&s铿T0zG%{P$ߍpml+ڕd5G/lg~cӫW"O̧<.iO<;_G3+5mQ= }A˷&s~' k}KS|$Яc}7zu~F(jֱHM`b=tٖϗy!7)>||SIwyr)k"ݯ n#Qe22ᄟMޛ]+i c uӍ__xJ>nED=Qkٟf\姛rNG_*L$F~UZ~:#{OZ7AK![g>nYEy;9u/#ً{k#Ժ~%g:}l%(]JԊb񧯀;"V &x\ D"8e[#-|賃+{P'iqlG rr]N+η Z/bKG(x4GY~o9cиs,Yr+BRLAWd9r#6#$}cZOwC }<#np{/roŅ._L916:ɮs..vk@:ﺅ,MM=S8Dtzz415qCPgW> a+|]~_c+A_oГ^0G^7ƜS¥IͿ-\h*73Di ߐhW*${cks<_@ok d7W[=ë%hElxo?q q׌7/;ReNo(M;^ \Vy/=8TVJ6me^a8.\wٮ7Z_nrF{Ǔ}{{roU%Mrԋ 0VYHB̄G3ə2 yR"{'y$qp/KF2yI"I]gllv^Y"N_G8WPoҧj]&~"\%y4VKQz2ן,>X8j} nݩYSo_E^8 _AGfK}eAMȫ1ss] yug䇘+yP0 F0Zmm;:OcQgs*BzKqLli4Nw\4}? o4]T-ft>EdI ׉1 8L~MN.ق< 7J|8&"FwуXB:N0>'=~RG; >ISh~y{Ǭ 35bP3_{Z炉C#op#Sn.ҭR kQNUg*?j0};eVQ M>'PJ2;Nvƻ=R{=I! gDxIrFj PH'$\-CdG}o9A ?b2ĉʬ\G.Jl͠ިZ8L'2jOl#Vkv{>gm ^ \w(6]?򦮅vWI}7t!_OɊ\:Ԣ}/݈ΟD-)etRk?N oy,Ow5P`w/oP'9C'sKu2^d/|(+=B؏Xn--sڝъ~=?t/gz@y?$|%Q/\o&;Q^35t3}o/C(α|: /[A~`A+ugZd o!?qM]G"kQWL2nd)JEBfpDe3_#&ޙ}xB ^&BȯQ</0/Cv m]ekCH1IzUnmF߿J*2LNwxc^s~wÅXܐbvIx.ax s v>yc{c?;w #Ƿcps Lgnľ CwnZ-ߏSÊI6;t J/i~?#ou_h؋Wk*/Dx ׊ߘf +bQAMuq>pI3 JCo/&Vzt|U͂]?ƻiyS<]OcDjyS}/ȹ>?ȏ0&?+I~F.xO㳺|AB% WP}ANwR> ,ؕ-9vp 3:oxM||o u:.?m[[SЗ+]RxvБ8@$jsF"JfL.;QxB]0s}28G[qeW ~% yꌅOl=gtEQWR<=˴%7VZo"Mb?!~bNEO}n]kM_unE\ vi ?xmR=&l0T[ fK._G~%9~7ok6;Rc~ԔE6Cg+8BQG'țr /@P4& ]ŞUm/!*F${ U}=^Z} [=oh]/󶈸} t2W!Ͷp[I:+Dx?4'R 55+v[`R7T &Bܻp+i~ZL["k{K|zflB3Sg:54x5W'?Q6\:&KWC%l`P tΈ5◓͉]6ć?hجXyg_4#C&.ߛXϚW&_U+ZdԐu{w2 vp KptȦ[4DQCs)GAI2UNj[n8arKە!_2cQc#4sPUAMH ca+3y?s:spU `<m' ?U/zዽ+SСo<~\__5vrQ7g߉7\_-:>~tK)DG/gqGs9UV=RX2= uuBsY7g'-X[xO?q8 (Y=mjb1F+3,ƈ5N4b>3&ú~دJZgz }uaIL<$i,mAɪ9j8LYPPO~FzeCs躤u-\h|y5֣ޝ ɭ&h\ŋ,3PwY%tG.D>-KF=ϻrz  /ct)k~&#f%3@Hv钮zݧWҼL{wY,|˾{ї}S>v\x!\^2ӼBY&q%?ZM^zEY?ǏbS.mNb7 h>V ~I?i=1?\Ԅ?aCWD͒,DK)sj{<mГo@v*(͟1[ @P"당=EG*V yeck\}$yÈ# UW\1_&1wm&+.YnnkPO8m^?-`ǒ#ϛ* sD>·#- Wl&JG>/#,^7v^i?nϑW˟{-G<1| ~Iߞ݉ vɎY.D=!!Ɩ;7^Z/W YDJ||sQo2-_ p-G/y6WDn ]uur?؛O>BQ2a3֏x-S3IC{AU9w~=KvR\F{U2 y߱>uˠb|{Xmئ coo潇]!QQMzrGJ"OvIpAs[K1X|/'GDMQv!b_yRxi#Ƨ;J2Iz#hvR+4'V 8av6 RY.Gu .M;@V!{e-.]>̓XE;T%кz=&pkecnOZ0yWа+F94,Ezy͛WPX0.O!z7B 潃dj*iϫɗ{Pa]%ܫfGߔscT1w6Zrz<6<&-H|'l,cFQ7ic?8si]`6e2nnrQ9"JJ:)&ߤGѷ.TҀw=n_S$",&$1}C_gތY;u2hϘvG3g _᥍e)q\Gg~;˨^k]9tQn;$i)qU}'ナU<6g^(5#PW_$йqO ͧd/\Գ.\1>ܮWɯeKN,jFm'R;=VR-XFkh) 8&2cKwrܞ cǃؿQDv)]g%'A-2]sȟ/}v6_mQUή%>5zGڅ;STwZK㡴 4:sT:N~I];ZXs≯(<L_}@6x|rc W3F5oGE%fu\ٌ֧vYܘYvIe lI+;8ߕdz C З$)gk#u5]rE3?,^mO S\:ymCf×~C_▘l;FM5\23Wtv!J6~jI8T; uR"7 lwnDR|rF3G+//bиHLMEN$F[[*V(;y@aSp456*G/1 2Tɜ!qņ5.;ߕp;+9ȗ}x'%L %P}y;#(N#?|}y-(1RJvȑp1zf Rhw"svug0røJdJ&C;VKJXO ||v8 s]a('5$&|M1G\yr8x :Κ8sɪs>|m%+ľB#]Jv߳6@wu/n,ž/W-o"j#4? vAg畊gXd?hV[u; n.ޥ7EV;0  b8(5xE ¾JxhHQ|31͡dS?s/FUǖB{E|NM,~&jg/@Y<]zP7"Gey +s o& b9-4:J#l[6Ⓢc.Sbɯr=vc@ _wtn[.B_ƫD́{8*օ:< r_57[}%"r"^G Ӑo{w(G;t,ͦ_ZUXWEq3DvMEXJ~iݷeE?W:k 'ҡcw'ZGUkOtvuXXroOHuٹ^gW }5fxRhX竴NdgmhFh^=Þ{2QOKn+Y~3)1pppWT@rWPrCz k0UHX#_o$'x c g[JG1<霂wn3]omVFPϢsJURiEQcY.2Vi^sa7oL7ԏ%ldQI!c+m1!?2•bρNC_6-%ds/+ȃpwsP9 %5UG ! ~d: DBn&aM٨hRM%_>q\qp4O a?xiSy@6bW'ok/Yʣã; ta?M~qӦW_АIZkG@E?0Nx72|ơXO&m\;HXi8Jz{o/*㈕vďr7Xm7)ΊhGFta xʢ[δf\#*|oOkŞN[x===}f :[~W=7p8=z<".,?6D} y U{7vz0xu;ppSow'/0:F&DV\Ίƚh]{ '>Ή8$!%ty*286jˊ)oTX.pvA\, zvKB7//=7nnk{|Ai2ZfKJ^n{t]V).N~eyycLǹvx^;ػPg$ }OkVy}W[dcqطF^#[Fekɨ8YGcw1@&Ρf~pxsKʴ 9z,\pzf/}ݒ3 ή =?zpñ{6Ӝ4g_;M~?k{̅L8s6t=g?~ږ ]ux3h8.YI~iq)ֻA tZq{*xΠ`/e{.ĺQ.F~bo>ՕylyZmK^@Z9a$om)JoC7C/yZ8?VPrSܪ+<7p*tʑ7izu~tǘ ܏O7Խؽ.aggS󦙲{syQ#}ne[Qz8JWϧ_v:s\uu_W5+$7t{ʇ֟Oae]j'62~V#si.n-t,d>Xfn*d8>rKB`gVb}O^BUa:68֡KY?>%F']DyY#^=/4I_Df%T{M"-;^}7]h&7Z7"g!< =ecU֠AEv8ԇpv<7\]u fzy;}rWSYBqE(3cTEU- Mo^SʿfEu]|ONuYZt/5ڄOMb& -_u9Bv,|ՎT|ݠ.SLWMУMA]cD 䮧!{X{P3TjzUU&VZ)]o pW :M= ]P]O._/O&{d6*ՇPenPk k1-a H18ٗ6βb#wz: o B2xI~=A9S =a)tck=E]!A;:=w{e,'fcxZ '~I ɰz{zy3Ո'{c-~#Cw>fwRw 4o?Izzbt}`5d:.F/7Q|f*M(AK&B/&}8*ip?s_:1ulg6j%LZ;Nb>'>i]S{ Cj`c/ !: :I#%~nЩ=G8FXo}^LU sd.ѷgn¾݃`w|/=ټ":%?~JxHJq!YY' 76~y5i>CS+Fx[eRTk |UZ{ERܒiەg4֞i߂%'Fg*\o_g)Qyu -_+u8y=3v|,ujhCOȈ {,$%O`:< ߉t/rnН䭅*κ 9y32: 'peG!bYŎ'so}Yflzwl ~ܕ4m}H|U.-JJ}nnQqTQ}$riJ,CEɺ z}S?}^5YmXG$蟻xy=)cިg b%9'u|T9+Td~WsGߞIi뢬,bvJ$ޣ8@{(O4?OxqMX/7@TyM''qޡWl(e `λJ늙XPUF*ϭk ʇs`+G2[倧8o;%E&Io;[goףYQ7ԓ?p'z4x1~htg!ˤEл>_<=Z_KTi5E>a M9DY#K^_ ~;~uz4y:}#a!IGOX<Չi+49=ovAc]އu11ӨK2wE?a0F`NR::^9=UӜ{Z~S 1+Mf?|[\N`WA&CہGy~rs B1w)'Ϟo~NOQӢ {~Q{mDX}ePUjo ֬P!>!\<x9MMgmi~^IV7=؄ wE=CZ,o :Yu.֐Ym.i+RQb;!IN~H!y?6tҼ2D̎BwҡSi~*e>ϓwOn<ن87Uk}1 :䇸19[5#rNɯx.iax bFvoڻb"T~ى[P HWn35fM<zùX=q [$eF1䳙哮>܄8-~+x/-njI<%ijOЃT.Q 5c25J|YA ;1*ti7b3eRv }nT}k]ѣgg NFv-Հ[ob/|Lϑpob5Ye5Vb>?mV8Rsq"bMRts/H,QڻTGe&ߋ?F~UXs?'__e9ɡiB<]惽e'ѹ+ݴNMwo͢x:ian!t;sY<;6^ζ*-C,}7O ṇǩ|svA9>We=t'>˖qC}~" UrfBX1 yP.g>NsG^)N3$eAμ(@w_9 Fxκ:78{x!3mJL^N:Z"]8>c遚g8ׅڡ?"R}'J^ef;;ϳ߳saFݳʬ/]RfCOyw|y4L+CwPz~i\'"w֣Yi4~ʳj{<o4wox~23R#o6V<铴t}JgDeYk}ϳOZƟg͌p s)n]_S! ]r~ & UZ9;!YU4B/TѺ<3'Sy!g7<\毓J8(yF;!{) xQxs_te䝜ߠ;|z(|q?|kc8smSh\1 x18a/}!c]'c#3wݪ>_hWeޟ~7ً0#:s0f(lhnY+"Z躗\+zsyq]YJ'Ѽ :S?3Kߖo7];PCqe^0=~( .t[syth*l}Be6 >F2~=*}gnb(D]ob͏Hm6྆E}/:O?bvo%SW5?܄5W|R\'4>RG_N]M e_1m\ 2s *Uq=J{7a>CˑgJ>#Kšu!!V}<'zcϊ|乳:GS >&XݯGorM81sYRPr%"7%M^f2p\N2ś`9 n%g_rFվ&x3MszBs;6^%)l.-UoJ>=L'cmDYFd7G6Oi#)kzk^uoq6UrzUȻ//$ ;J\YX̮NGCo|7Ƭw֨f_8;sVC#_2`~? i3z+',ۃѾv) <`̹Eqgv}"񣰗} l}rZ YkVV@^#5w&kwKYB:&Y9Ȼj#'{gئ8Py,;=bw-#qvt']X+KQ|Ȼ|KwhICse}hwϣ"^\7م }AVOjtݳ#h|M6N}):CEIZoD!1jkU,̀cMړxR<~?UG_/@\ݴM_/ |1mD6V{Pt²KboFxc;!AT:E݈;`6'Gw}2ۓNg}D7n GixE_ӜR{~Lwr\b?j胎` P6V ~w)&CY7㸨+2o?A樭>/gE_ɪB`Zly\ ^Y"~ xؓ+臌d̟RkJofN yA&W4Ⱦ[쨿A }ߵJ]X%H|rJeqz'el&z[GӢ!§S}c6x?:nR͜/^!Eiqc.'h@_zJ/9łu]3tboeͺ:{5qC^x*tx?~-בGaH;?q^֛Ё2Ζ#7)0\_Gc5Ջw-IouP]v|/f9? ؗ!WIsi3`1W;_+2ńwXrw*}#.sNiފDWf5 SO\pI]ϔ+gΕbExMzۇnO(:98dtexv+ !S仟-`!/nT>=qQo5tHd;OiYZ_5"%2uRcL~32z8(}4}O+V]k/ġQ_N zEE :UW5DΫ?\Ϸ&("Z=7 a{,:FEXrνG gU5YuG[~-P?cO#]??{_t"fy!0Μ\} \A#i=o+0g!:LP)pK*Fzb&|:2\L^ge䄃F|s1Y݋MuX&hp [XY&„Y_|#S\KH-7B:i[v n?XޯvK$f""ǖ˫~NaZY'R˵P竔;EBʯׅ.n-'{{x~ 5' (@/bthܗ!)K%8QtM,VTL?{/>xqJ[&} /% 18 ~`VN׈IFeG@PY0˴oHz0H: gDmn ^GW~K cnFgW92W7>y瑩F]1tcN_pFQ^446W5/zGtfE>wNx|\̻[wCzl&Ɣ_{1e!iv1IH~~| .uZ\8η*)Hv-z;+`6@p +{Ο̦9ďf$M2\K(1-p}%C4>l}.c9OY׀{V[/ql#6܈{NRߺz`V_^>Bڃ/D/~IDvgﺽ})ǘbh{:Gx#vU*52>VuM9QJXXaO/\xw.fCM/:k}a>VcKK#{xvijms^M]|㗝㺢_~D뙥jkUdSa}Or@^5"9~8iXKW=V'w7Q9Bw]KcP_Gt~D,F~KZ}.)^:rEzcۤ~gu[ #{&znOfNiq3Gf%_yg=}Q< F_V=}8fKϥJkN]7zA Qd/\X d?ӄw']}ke.1g@EsT=|4jU:F|E_xa;l}@*L_iYX5Ee*m;+{o1]jSAHzgC&LNc-]/Uo֐Sc*L5喝$BҶ4n7ڞu~4#sHؗM.Lt7'.Uaoy˱N&#RyNYz-|ȷ/۰M:)޻7CF {.ͣ.;x'j~ B㿻䖽ߠ5}ȦX.#D|fxX8g|#+x0cUtj oC ī}CxVЎ}91JM: $->Ƭ[{V=9,3S?aqX.87=b(f<˓ɶ#&>k/qMI--q ?sG?l^w'Ћ{u'.>|} ܈8l),H'pS yv'oW-BMOOm[ W#?^"'}rkwm}j4[Ӿ8x΀z|Z%tw"K)_ ytIۇ tM^EoA)YA_X.O\;p0L}7w<  Kg0sUyob?EhUdb#iJ8ƿsϳI3!z] ?mDpe[gɞYۮα8-R% *8,<2xgf N ~IR|IxOKׅtO3>_BM[.{:EDg`ȼYzG_ 8%F|{ͯS6 d U|jl'SJtW(lV ݫ[}EkV}}RNNB#c;`wxnr:yޓ4Bl޾㺻?>]v#o{x ?OIM0Lyb^N˜pHP&~a3מv_uC8]ɕU>!z*1Swn:߂y:I+HRQ,g0}E6^Ob1qj0}>C"3&7Фvs_^>JG7g-{-tGGkNwݹd١3XkN8EyTB]R 9sG0fX+ߊ[d_GFeEQoTڦl4Bߧ# _h9oztxͳm)K;993&@?=3Gq/f7 |Q7>:J?9'k5#A7]#Ä􃘁K) ?|>V'=&w (O|lxxpRj_.E\k7 /-~ fz둝IOHZjiCwEt y$zgP 6-_pښFgzr. =yYS1* Ÿyz'Avlݿ]0w!Kv'VA/Or5FX)sYA_3z~wMՙ͎y*-B_uJZ$#N7uoO\3X>vo[џק1o{ jTWcyXxFk<_17g `~XfI>v5fc;{_U cO75MK}CPm2] C/ޡxǐ]yVBX[ٮs9Cq37 RE<֌-gObP8x߼M.ӫ4n@+y'#Qk^>`֐)\GV^\˿7xBR.2RĻ:k{\6ǛeyA_?C6nBv,j: :<;lf)'>j:ȷ;!8Y=wfׇTIԅmC=TE=P]5t{{'Q<~yeAzĹ\g7{S[Igԥ麊|O\ڟ"3Y;/^cs ]qXI),zD䇸fyfu=Kj%;$Fe6{6Xm%<NCxO$R%|iEva}z)@'y vEo|#'xU_*t7"v>4snXŽu ޟv8z) MxvD/Gqu5ↇxدIEXKf_ |5\E}F;#KJ5>t?y/7&Κh䴟!6!DhP9/YЄ?Ðfف;o/$Ճj%omWدQ#:hb&1ŴGhi[̾L9=0Zh=X5.4Ac&5ؚ9hEUɎdJ^ 6OF`}^5Le6ط]<-$I-{w\"<)"<*wrnUדyf/O#ӳ_Ҏ!C~$jk?E%4_>u3n5noNN>7%Fh9ˆ?b@(6Z6{ӯ&OXM\'B <}4{;V+.<&%{XXZ||*|łӖkUu :Qg=bdGK\zvR;Gg;뙎Sփ/p;L]=l!&rt)K!Gú4a{`wUՃ:Q?uRT޽c!K'.P?d)1Vxw;=˚ q+C/'=4ag,7'p K޽0=`ݱCߨ|!ARI2Y Qx_CZ`ď;c4mjCqƸ)/SOweb!Xek-7yyaL3vv~(٩Ũ\ZA}'?b_W=([}JYFf:Е xIv\3X)Es;Aqi}ᗂp^PGˠqa O)1r/œiKKP=^v?yݠ(K /TWRsU{C5p+ow}X>+dce#'j5ԩ 7Oz= #T2 [êB;;g ^\\`$n`nqS#E4ެ֌!{Y)~ںKBiw'?%-z`ɴ_?#^++\/ve5"&!:ji|?K5[;gGtM= eȾسo)AJz0Ʀ]<<|<<<<2mЁVx;kB1k΅REigPקR%`DSB}ai8 ?g_äQ:6vj# ʆ~dnQ-Y@xq*n;0]Pᤶy SNsI0$t Jyg&ճPNnTSnRHĚ?$g$51^8$w~&/}uie' @ޗ3a^+ 0j{#}(" S7z/ohy#ЄKZ@,S ehkJ@3P?-W+ }:J~z!jjo|9C?'Oh{$ gO˂ͬ >~HUEuj$V28ɿڟjMY[/: 30JQtY>mt5aATt?{O?ۊp!"^ Qn7ڹL[t8 ܦօ3H#D?9dV[7m߀NGghT_9-`hĚ2}^s^ )Ω(<4q]Nҽi/g&:^|]^3M `OV.̺rsneVkw4G hٕXypLs6w=&b4-g$W9Jj) v<y7i(I̹yU[Hl['x$܉oH8Fvl܆$+4BWjԖB{meIGbob ;$Qk "~K |Rs̃3.༜@n⪌t^*4, }mN0>\W@fWn%뒾?W1|2jX|lZ>n >Rܛpkɪ542o!Bb]tc h]ue#2)=pdpkϘ7.!b)oy.P(h~foo@S e7H!v);tZD#tPі^{rT@ۡvc $d^$d]R"]ye&06psq!7?mFc4ab!r%2 ޫ]gZZz'$Q.0.o PWg`+ܖc@Kӏ[y`u4x"1\md+@/.nLju0WS70L:mޏzR@_;=K6[`q{QK K}K#|7pU[=NJ]T7%q Ε-J_@UP{ S"+4x8+\%#\l;% 3ǁ]N hFp~ N|۩M@(~go:?4[2πں.A" Om}.i]1<[ >0{IBoaF@P(%/FxѰoQa}W(r[H#bIxs8b,~ğİ Mӄ<̳-D n #?ChSaTeOL:Kr_ؖ߇]B04L&]۽8e=,z!@ X*-YnP ~٣EK܁zYiR I#MkD۲=. ح򌂥$y[bݥ~^WЬ>9k0{'nHJt=ގJ6jSK.@8~Oz3!*eM8$(-gp~ǵ:noQOy@ծT,f> In⋼$ 5ᯮY_||[҂э6@ʑRmƮ'r3N070q5p޽2|sk"J st 7gq<>njLQ8wLmZ{omVYNOr)Pnݗ 0iQ-Պ9jǬw_v=0vt$OFv>+Bm#Bϲ*>?6|oU0@{`SD'>`)M=v ȇr+w/*ByHjh ufZkěH͊J:p:UqH>1￙ D9Eh+dS ʗ?MGb}˿E7dHII X ~:2\ ,!Ƒf\~^3j.E|sţS@ޖziE>.Um>[{%0܆"kҀZf?N=t;nx3>Tx-C˷C.XZU]ק-`*U6C̔!Pe="g@͛Z(Ec 3C#E%oR-C0ͱjvә%PiGtiUr$c/h7w6ÜfS20" `x^_P^ McX2[atU#pVi%ю9E\vc]0um8UVe#'6k,z {ǽ`.<$zkAIl/s^'7Cw -Z Sb~2D+`^ƇQ* 7㥎{꽂'aHq>08LHfC( a>&ɻ-<NnoXT/m/'t?!7,# ѾX?4;|-ȝj/~\ai 0bdž|ԙR{Dj/MyШ8%wYkC@pw ZE >66W>?vWmc wiڧcʡǡVDZzӚ bhR+<UXQ: d-EkH[\3Dx!y/EZa*Q|ڤqsV@Hy ܔ,0<XT}Tֿ_?%u#^Zl|zBYW{ٞ89&*8S=g/ obkξ@^ ;&Eh,7kGf`qKuqˠ֩?`Y}c<]OT ]j!( G(W9B'rh&oN6KS4oOrtF3=Wֿ8Y0Y4am!$ӗk+}f.;e; 9'Da"48jڶ閶QظPq7rr ɩ{n2;7pY#Bܭ,VSmC209!ͦx@o:q h,st)76@}~w,zDWl -H #ޭ'pyn#|џ޻K{2#]eOsg% ێr9CNWrirX <ĭc 8&'Abt>sޓ@;39r -% 6!+RkS~Å(ӳ]!cB*,l8m-,c7]yU>iKt330/5l[ܑyM9*W+ֆB}5s26;W2J`{ۭ!t `<;d~Sv]C@ZuN]k|XqW9иs) ~)$~tgˇ0m*vRDX2Dt:$Yr l JQ.O`s5J3 (6~% =ku^FsI2Y`.pW˃DʴHi9d[%s .XHfy!N@o,j땘W)}=Bw4З߮x}p-3r|.}kq4Yɹ7 +TsD{Mkϳ3ԑ܇O鼏eo86/{X cDznH譓j=,V j _sd`묬1`[J͚Zܰ;$#\ʁ׀eݞxX~@<Xփ`i|J#,w^r G痷9Id v?6 ;=~BF$V5hُg09p[:0Pv\iq̓J/ (̊,?dNJ\5L+_6䚱 `6W`y#W0wT+5,F| 4O'.$bU灚6% E]{%{MQN'5 9_Y@rh^S&}R|oEhF9/obYl3dn?e2 @.dZ6`d#ksJU7ɪ6Z[^|&~@ڊ"`z MGoBnS d`R\9G6R獯W<*^Cm+6v䓅җT}EXۇo~9jnIx^̓+hk('g(qSc$q{ʍ2$"3!%&e^a?:qS@y4LIwN|8Ɉa,eOHV%K`.UO{kLx.Tsl۲nZG~F1NL@\?GwϴSx1zЫ&~{@Fa1cXL~@w}^$Լ`i'ZV:`p{y ](xb_>W9\XH ͕`xFu6_[Ľ HtJÏ2"t,ʘUMc={hg8Dh~𗟐0{ [O 55vzB&hd@⚹y)mLiǫ?Ģߛ6WhSs,+J5P5Wn>Py򘵓9(~O|Nnu_Lu_@ª=b@6=/ɯ/nH(.ݧR(/j_/U//KO|=pZ _YaUEs/)t 󯃍`I灅Vkyxs}{XDde>Ж[q^EHދE#DkRq_#$>t?v/!Q99\̫.[Z`IQsS+* x ޤuO. H6MD7xA4"8\Js?Y]o.ђG[`|g) QOh([$2NDW]/~*`ֳt}PqM6-G:if?ԽjSr~Fd]zw0ܦ{ﻬhe:Sv^]R7An}=[)Uz!^GX.}XK#$]Y[ ,yV0+&0-K݆;TӘ'N.! + g:l#q>n^ZFٕI/ b ~}|E$vP*\Z]<,9XvۑmHxsAbռm0UEMavӮ{$bm<:RI&제E8E ,c$'BEcy>v9I* ψУ vÍ:09\N[JAOI+~+ _]ft(~9{?nvb Pz7ôUx`/`ݍ򠻬)`Z^j}Ae]tpp~#rٞ7*0&~_.ZU5 Љ+gtz`or6-~ '2y(P.E5o-da$䠦jSbpgOa⽈q؀)j*?bWc3kh_ ":s[YWC?X[mT_"ѱ@{xyWxY< uvz/EB%bG ?O9MHj6X]B@5>s?AaEj@*Y so|>!oHE`8 AbNQӊ(.L?٧ Ǥޟ̀{(^Ȼ =nNz~8}-OvJMN6wdPC*t5i76ga(fN=W% 1~~zj,"[Vݫg@qT»;m3[aRħQ J1?I@j"ۊzG\ A1}Xrx ^đo/`~ШL)i/S\t`6Rќ:Of#_5ҰJ裈OIN Xژv]%sM!X]?ǯfH~8ѸT ndb_ܷFq:$7(=3j6b=8)?0=?']#~?u:Q(>hW A7' "G5q |JRXA>ps4yVXڋ>n^ KF/wRJX Cc}aOmziM,?ͨ쐄n0ALENZ>YcHQB Fx9lXOE# q wI{՛RA邩>-!O-u~rt &;˯ ߮StK?YqƗsn ?^#9+6֯ZK5w9nA/Bo&RLrA!r+5M-D H\Te0Ϻ_ٲ5о F^>uo!&$iVfǃ}kK oW˯RaE,t4" Q4ju]ةh~}8f<#,t19hhJc1`e:0~11"@5r)yo o}= ŵ0B𑁶v#qIøZ+5,<`)BF 4nprDr6{l 型>9\]зIfp>D@y2#&6etj!""lX{Q,+^p(W NB$?wCSi }~#e _C_}<$>r~^W&ȯ;qmat=V̡*Q0-%@wߞs^Ku?cj8IKWzTrRq&6gv>.=M\ȝ0nNs}#ߊAdJ(HNBɰDujó].lnk`kվД2;uBz$`lmvm6s O%Ofc0|-Qˀ4,e_[NahB:$XhlZ[\GۗaP;^A.5_$ߋ8wgnq>zLց4$9٩\#yo\J䑬?uQ@㜺UN 37-Q> | ,Ob7VB-?ǯgN˱"F/LØCկʁ:ٓ=e M%YK H;pUψM#!wwH槫s"DHX0+=)F 3 _ޔDB|ϑ䠼NQD01ˀX7XP Hy+[F!|Ξy_"$^rǭn|.==埄D4PfմƟC mZ=F.B,딏9@l SCBU0`Jo G|`ڮ|?#AYXK/!NpHoOhiW+EC: FeP^ ,O Ln'd|Dgc{ҾKA>"L,Loxug;IC{Upq[{^:06(.܇pƗmo! .s'UB{tQTXe/-#QZiq0[A u7(wb9Y]A f?֥0o7P_4߲!T+pR|.]k`ɽ:0|v㟒cK mc 캞< ӿ\, knW80H f]›@P\uLp8Ap^l:6ޝz (q#I ͉3ݱPSUd}ah"ny^cnLO.$mG"]~onEJFFEBa55.%wnBbo2]Uښ1K$>)JZάEWY≴Z"mٮ Hd(*H_Ei<υ]r)IU+"_>G/D@r^%*`.{3t P}k<dIQh>p-nNa#.ܜf-(\G)H.zc b{oHB ӛ῱c;mj8$!P>/Fzս @ʽ0 &%z!cA͝[\$2ݜ  mvDz@DmuOF#.}"$( ~i. tK? ծkdT+6O;DpVuCё vUoCۧeE^4C[&*mg`$ʆ )ocܣ9q 7ؚ;I 0MU7j؎oyl8kfuڽG:LJNkW &m׀ҠF_ΝG{?*h> .l=x~d= hy,T95)=z7nNWJUooA]SKfqS>QJtulDkݻnHlxs¯X OsޕO>%yi~[Cdhsw?` GYh,P:J oi L"EF8c1 kfi0._O/Ψ<&+#%GlH0;[Lͅvb$AWsп?p?S@~۫|",UX\֖!<3_o[u/x:r"^qQH(iYXDҲ5>Z-2wRa;uA¥ln25`^yF#лa=T<4L5'WYߔW1mtm1v@s*]Dx9mc0#(.H5]ںzxgXrpMyN=EoWc/usfS(ɟQr(]M57܃ga$$9xCcGvz@K$^J2ip{${go!jLɟ{ TT@x2q φe0{!;"DcU~ĸ˙tzJ'[h8uhCB"pݾg e>[A +"LMvukI̶s/G`wj3~tP?U2I2`9E %Z@`&•|v3rB峜1 XܚQf%}^z0*Ry-X:ad^pA;A?aWu[[yT#y,X I0k~nc"}q->-0Ϩo7o#a_];8Ρkl˂JB} %]ڏ7#<Scc\>Iݝ BF9Vr`/_3>Sǟ¢([%Yd=$2[9VP2¯مRy?1ov{l9xDd=nK)$$4*1|M1޻[3e 3oʫ]cJuPKދ9'OZ@b]o휄gf%[teAYvc,{p} JǪ#9AJnKCޯ^@ZۤBZ E%+!i1SIJR\M"fdaK9v XodWwt}L훁;^V~缠o+iy+$bQp g6ELn9MCf*)PWQM B6U~KVkI׮*c[:?oDu=VkJ='bn;$QnV1SZoF[{&˅ C 8|>ѿGmKnދ:}Pr" fŕk5ـ9DDVOgu>Nj5|15eR HDIFxwg\.zYۧ$t`& +$z&$M0Rmm0]$ @]O߮} Lqiq.D;pKy=[h‰l ]+SEb{Z( ktK̵ׁ9~caW/i 3Ҭݚްjn v<SuW,Z~Xur> M8V|2 Hlsp`MxUKq{RTƋ_[laTaqn X`?UZ !|oA ,z߯/*g0ǻpMTXsy,B!zlֆ Ǫ`WI*W(J}R_e`jK{vr2wҰqF G˾y,yzۈCB&R[{$su0_K3= N{frP~VNc)L-ln5I/33؁R il<V0r:70" ﯏N^y؜r_ ,58ji+|#k %E=[Xr<{1"4IiG>hR1fH3*Y} LO_ǟT| _:[xgqo]Os8w" v0FHq[W(tsk`VԶWKkOuIjbT9)_/ec6BGձ躟qH/d8OՌaF'oG:4l TrOH(7~n8֝/jbe tn ;X ݢm s@y!Ly=-lyX.8Zv_@e_X })#hD%O²z| 3 'a#ϣl%4ލ1z($UԱh8a θȾH*.`).Ї%;o}!uw\LU`[tϺ<* ]}/ſ3>/LE!(=Sp b Z% y1xㅬznr- ;5th,pNc lښxek;"!Q{I",XBRDس@N!/+p0FܷLM a]N¸c֦0/>󖫖U: u5D"\+4)^ιw#rIA&vĉQ`!e4,0‚gKXf`k,)gz>ƙR>4`!hٔ׮ӝHJpc _sUrO 9WtSWS&LͲE0#G_fKhTJ/6+c,18{>LEKi !.b*8iMDW!ȅb?T  L$UO=O#qq&HH++OaVv\A35@J/CI&+% t~gl$|PJѽ Lju"cfoO?h.8D|>b'Gcn:;6"E^UHmE?L](}K;ƔշHa_ꐧ~?[Ýhi !oRZ¤0ݪhW}\fnse.ޓM| #+Aua/_gg@pspl}w7># lZm|`ulV-Pm鼻i$ Ym]tlGrTgÐ$6LӲM GۭMl+JmϮрև>7#;6i[JD/|!3k(WˀK|6@ѡj.0r{]瞑y9({ȹvaR)C/x~]W s|2Ta>+"_pkc:Нcysz8FmjL%6}:D]g갾lhl +=Q]㺷sfͼ GA׭͘/PPMA:xKi=m`s4wE(Ж< ' #S:ov&)ul] t~W$^rr,H w0;|p%4T6ۡ te WS2G?Y5Ai%UFdi?pP6ҖgM`v[z!\e^|K{(VwјWRbk -s !1~=`:mp_-LT^8_ÅeμI[ o#z:D3\ xIonkTզ-16[dP,C@)Lww0H xrYzm?G7ƲU^1t?t5=ia>NeO"˘A^ IU';1.Bl •Gn UօZ⛭ P3?y~Jt,(';yz _}4XuU0셣!P<'υG 6+$?TWk'8l?tԩ謗ܰ x&g=] oc{e@=1XNO֬^_s_{((pU}?Vs"U'.D'x>"QeK TgPRg˄~1lOr~Doۓ7FSmfZ>U}>&C?K'I~LUVprv#0)>18@ˇI/eGVݳe>2BM|aW3_l=@ KTNOJL: ֋u]z9_q =iNZ:\ 1 ?SB v_EnlO Lreg(Jo'܆Mwu8@Yn Ds"$9p1qRA`/C" `Iof4?*F^@qOK q7U7+[?,Hi,[E|"zОF&?ЧVc'M=^k;5c|.?F$Jgjyj+` `06zY⹴_ϸdSx%j0>ejN[Xxy6,uq? &Kk0l yp查;ºOJA7px\#%$~ֿ;c.N1HkBA}b+i+ժa02Xy*>>`3Tupd3bĜNF4%N`%R!ܛ]wG`lnY6`.IK=jKljzKD`Ua#P}hu'059ES]+-ޕOXl_?O w8q O3uqjfd/$ y> x\vTLnX)guMUYpou<-{?ɌĎ;*T.Q eK]k5~64JY0sUpfc M? V9K>s?wAWu`}jC fѬ0^MWno̴< {P<2{I!u˵+3d\ZȲÒB,Q:סYx^ve[4^W,B&Ok?v_v7p$8ƅ7Nt"a,==~>Wv oAPѵ'}xF~.%F^l!p\®Ӈc%eUMR0^>#`IjZm$l g.)n<$Wq1Nq 9vS>Pp)AƄj`.h).N5 #>ӁH(66V9psۭOrhb y,΀'湶vGb/%h>X*ӰQF<&~e b)(=827׷mŸrPLq")}maa &P%{D2\RNWñR/Hu\\=}Dc1FhLs@oL=vHذɷKX}VgTN讌&@;Yw -r}oOD"jfG4V?).@̚`nļ1̣3> KgMΜkAQǏg{,M'n(ͪ$`,y#@~= H6Rn*sW*=bk@-/Gk6p>mL~L#w0С < 09.,pN]@#[3?` j.֟|?L}<0:?f&_=vv Am+;뭻Z 5,5{ݑv䐈%-0 *[E?UvYǼ#v$9Zȫj-c~NH8 LK]Ōc?mkK@R"" 5v'>Y߾&iX'K ]Qj^@Bם?0r=[w95INĪᾳ֦0υ=UkVhZ\g ֞WּOap}Dl[0bц OyRnZ#ɹ-~V!$:%bYPGXaD,}QU{ Fqo$TX% . S4oS? l.Mߖ (6jG<'KMǵkJZk QI_V̵""A@ɻ3 nՔ=iq޶ LŨ/;l( n5*E_b2}qwa6 37c 1 {Vt=U-F,#0nv4r&@:뢯#,`e=dtC`LYp-~v?}{],tJ|Nlaܿ|$%#nTJHݟ{Jm,R^UȺ;(or\F8oُ{[Z= \&e@90g>mY3'VL,qxmn Լ4]} p8p|fy)Y(AtSysYq0M.jt Xh7`^Oh71 RSP6]qm5ﷻ!OM|ZyJd;B|1a^at먪(,i9c_u Ul=0$Oqm;oLEB;@ Ѿd$6]tniMwNo+{ebSX<>w3򀊉?oqOhG"p#Ą? Ս?dq;O*'w`s9=vVUi{1oGbkq`|2|? ;i6RUFgIn^l79=i=8g84O|@}b_D l= /CEӠ\ hKQ IX)G=f x5xUn pܿ=kSӡȯd(Z+/qGbRFTaI> 4gn ^ _Fc8*0Uְ{T[8NUXIأ:S ]27 "4ӳaqسtgT}k`niS~8J1}NэԾс|+ꋓ?jԏbvh+UȲk1_QI`? {u ե{gD9Xv4~FB7OޛKo}w$S OIR"\_Mvv7~N"!߻LUYcL_ h[G7 $5 Mb5$d -?m;gl_1Do?sHH/8R C:d+fS#.+a^#V: ug 'Rˁ| ʯ5P@"S&;FR<+fT{c+V/-&es8&/>(0V^EGMo&by: g5 ߡCU25ԱҜSQ9ll۫aMC'Jpq{Z|>[bdԞ.$E#/9le=#;we" hOu1p@n%@ߕa W/6 ƒٝw98Py`.+N㽚^`RR'rOo|q;~P e"Ɔ$ŽA`r0tYx'\ĔF̝q@<@꿃ETĕ H.2հ5jd=Dyk"/'cgms~`k繼t?0׽;/Je1wY2ہ5y f"7όQS? e30uN| U2XwE} w{YX2}&`i^h 9koSvA\J$;*Tg=u# XɥD*A$͉H" !B;KZ){٭A޷'>ץWnF@p~CL\5Pω'#k`zRdū0Wi#Q8gHřp+U 4saSXr=* )l-ǯ O I2+FVZƄkM te\c PBxjuphICϒaFc1~UW: lOc5=,I5dz#BOŐc)0^򼤅a ԕLy՟+:,Ct%X9ntf>g&`S_V}" hvIUllҫ;H)5)pn;tW_[r=)F}b܆c01|0C+w׹Z x* UyA"c|Bu\Gg<3BD#=sS8Ormq@_צ ;卿L7A; ӯ!>1c!7m vKE W]Njc#WAse58J!e).Á[Rp`du^ވu+*F)q1==S9n?8>$"OHe)Udϩ7@qdC3<3jSK\W )i@woOshv [ҥ7SOE1^jΥ_ysy@=(X;:q@mp|1No?8=| (R+.C"g+[WB){0[.M m [lanL}DSf~6>nײ`xz_" &k{jTo1ymؖB,YwiXj`YHw޶TE@*[!B0G^*9)f<7 GM\ȲȼK>8$i="/);\b`O5wSWLwk6 ._sG{y`k,7٩0gl% }v,=J7e_ms}c3'W2a1aͰVҔRB$˼]LL#7$5v+'3$xz$aEAiuGK!4`nˉYH.{],]b# 9'$P9_˻.@ܺx@+b^r.g/< o,[i^\6Ф]>-~4Wff7x"UVWw #f[^c|*p^}Uvib={LVZNnm;|Goltȗ0(r x+? !a!!+Ƒ>\l$^f^ǚiOf P=fPC+EKquf$7-8$:pXw8iQd_5P뒺MmX_dCט, 󗸾g7h Q'faBTt쿳(c+di{!}"ļ 'b>!03Vb|wRo pD`JĀE9ykuUv"ZNI}OgOOTk~by 0&5P~[tDX}˻cRSW`)u<v/fEUݟ鎖{aqH.'5gӇ"R5"`&u='AkXħIkgs/ykե Gu1fJL>3 yKg u`^X㚀p*JPiVi] `R0>|?Y~α}!Rs'nFQ7ę|^;JeՊ #IlZ[3"lzԃ{6xrhi})\ddxujA0,#Ö `w(k wGW]@ʡ1{  @j t`xs4(E\9 >а tszyϢ;}KZ{ު8 3'(oQF$ W:giۜXЯl#@K IXro*y~H  @_>hE|,|Z?yiu{7E"t$a' XAtOBFhWT@rimUys'#v7ps~d?ݦ6W,鋎.a>FpQ6gpJ֏}?郎r薵V.`ѐckF7ĕ}%32u909$ίoG,u'K*;5v7HؚrوXU"mo!a["? z!/1>Hg,XʤLdks4pjkP.yhpTDB[ ̳CvwU@Sgz FܼYjg3W!ۢ8ojx#t\a~aqDS[]~f`9Ըoݵۼ]`(_ۗX˅˶ngMM"o|B hgߏ3tcwbBE#}x)w=X S0)Mr5 ;W*F`9wlh϶+0/6gN"@z0 $J~X\r,Kֺؚljp=nt6CuyW/XLQaHDqm`d|lM uN8T1r%aBE0N?YY4{V &/#Rm:[3ù@}iQ2ļ>F'"􏘄OsK.KNދNg;Ȩ,p(SQ~udX\1* kO3-$C-Jcyp%ocuˀ(ՑC 0ts?抧p$SjNqeD8S3prΖURB^۵vNn~|*&E}d`x|~O=>vc{Á@n.k#/GBs9Uţgn\ɝ~#cD#K]u@P49 (TA"e!M ጖_0wZ]6L%0OK 8*eZECf Aw;]L̔f0y;+<ak1vUGŌ._pN^@xyXru[qw%ۺtʕX$BK(f+C%Gua~9UL3k*SQ lŴׁM~d|@:5<2;~|d4z~5ly,P׬u juO5 w)0zI[Nf9+w#A@ɼys`·e)%-rڹNy7^4t9<SS*˗@~ZZUГ^LMG3DFekRJ g5$pCBoO"mZ>ЀYp]e/מғ3@JH#ܻ9HS8d$?gMv#.8OxΕ'|_#~ xNĐ0=2z.^pB>\JIh3sEFsvOp^1Jo.&wW+t ED:u )}#V(FYgq^q0^oˬZ= sƮ:n嫓qg \ZvSf*ztypx#?EN{w"k) ‰gr|zx_Ѧ SҿկJ\ ZW`yB0W/{*I&jS tm^mXPZ0("Υ=S*c^c|dۥ̻oڲŅv e`xo_Ғ6ŵ?C(onWajeҬ  }lJkl 0'M,vzl=н>W?ږ6O$ƞ钍ɨ]mˉZ$|LWD$;I2ڟf-}OL;ySP.0kʭN!h٣.-Dvgίc>O'9 ^֗_Re"&+1rWX_r zXX}:]?tECk?}ypz`,hO ^o+׮KfC6zijN\B /\ - ]Q6ښؓ׻0_V=s ?WY:Q K3 덱 \IHh5ҭt s…9 ]3ȏ;A6sS%}Z( $K|Lcj=5e SO<鷁/7|EC ^mQ%}o|ܮbo&7O=Je=uO#@Vz7w4!qQE 8M<^noc8mu|. F?*!6c{]w)J{x߁kba@+,ĶGnIZ;$NiM q#u yuY%&FN#gޱ)q{b;0g`W ͪu1@_86L3UĚ0$QBB68B:Own X`ZzHVeyʶ,wn;ܱ*M怼JTΐؿ0\6Yn`*8¨e3og_MԺp".s7>sdJ"棰n6 JpS?-mxof`-zv>ۧq0G2B%JME"$,d^9ysiT?p(k NfW㲞g8yps;Ƿ :59e Ϧ}K}4_W-`#.v_s_9<5 Eo۠];@ ZP8nkޯ_Nɸu-@3wwE #%ɴ{k8'|<9|5P[_nJˏXfYXR(xv8ձe٪ؼY<u>Bei%uR`7EKuEY2]FYn<>HH;B#=+?ݐݾ827/;"+({?3` 9Ct iwd8 E.u6ӻ#Sq$89{ KaZCә I{!`~|g<`@_f~|"1[6'a~=5uMY MIox߾yL"|ÕR9f onmC*f68@W,͑Pi~a>hhc,K\lNut)4f0E' a_|x3JC~#F(L Š߷zmzgĮ?46Gnc LhLx$rEB 9 ͚Ú"ˀҪ_ĘxSmN!M$ $=F2#H-LI 󋢷:)+Ֆ/$G,&hew~C-3|> 43`LH*`isFpNżMngŪ*qĽ^WZ3m`I!O_E듧)t 7"~E%X:`4 C$e~ܼ(#|g>2J{ߕ^SjRI X:mF{ޣGF=ehht|Td0- I/,сjۛiEc'%jYADx6h3G&WD$geB2pHqāQV{84u }<'RI@@YmRFA<r $,Q%o P5-oD” NOs*Pa@5a þjwzQ#Hזj_wjE{Nl2KydubMc`n2٦Ύ"@ұ8eiH[sYl;W \] qCXwܡ»M@fw{`'H?u5_-k5`:].ʩ #LSQvoʔ9NL6jύٴMW,?J4b`305XU\Viݟ<=#][‡1ἿV<]%tia]]GbE;5݉^-nS 7˱yߞ暁p+zuaS>^Gdfs]=9U[|kKa$T~AވЕ]:h艨KeTۗ*|cZJ3Z\@f;j YQYv?z=;!'g"S~ )J/ m.qI ~xRn++1Ə(.Isi?wa}a N]Ys\>vU`dɏEdfAvv6y;<0~m5*U+᷌rN|%MdJ]~0LهI/<K⿢Ų:b2ͲH yy&$3e ]c1EWH@'}noN`zqÙ"$:R& Ջ]Xq ْ^ K_e„gSnsь={ܻKFK&kd`]ك_`fX@Qo]56SuЗ@_ybda "OPr~?ZOYQ"; @̵߅#|Hfٳu _s7_dž Myfdodhþ;AVrM .WJ4icyw[ 3*{WbVo^bcBK!`Y.,٭L@y2};WN+c,̲baj)eO]\x /[6pH@\xP \!-<=đb2F2夦Ǟs@靸l>%*6 |aBM'{H>S{v5mnWP` :-!ܱ}a͝;hpO#EDNRAib&J`I-wAoj+mۑ30$7*φs;/ÄᶈێTA۱OXϡ}ڇ;lX<&8|Bqr͙ L geP.H+=3|n +5WhJY ^{U3<GF-T?, F?BG1>NP̉mW\} #_-b:a@ֺ吝="UAX:CY@j TA΋N:+Z|O-6T"Jտ.?`{gDžahxh|f!Ri˄E b^ZICHX*E$-u@e\WK%.˚~*? KӋg_) 3MW}ZaIAQP0flMـNAMo TqڪS['0/ώ0t~Nq0%?]/|Qf; 7)Z3Ʋ>[4~Ůnktv¡&7cXNdz53<):/]('u 9h>"y󩦞..2  ~ǭ{}b닗;_oy*cDqG"£)0Q eߏ җ9&M"Ⱥnx ̵ڦ ropwn&!gA' @'wW`^h ]B|Pnz]BWî|@}s# sM{H&pF@G]KCCgy~@:̝Y bLP5cDV2?s#Ai^¦ZZWto }O4W>13mܺ:nvm= ؾqMrS7h7ط1/ȿu,&&N܏1oՍvߡM.ZS߁nx=e4mܯ*tK*",eKY޺@&?^&+9y VFNog gc5{ hys6~0RMT+5wekz)z@[m0vܥżgecqgNDdOVү%2L:]Չw܁/֓R 2Zk_k㤷*iNPb֟ aâUu`qUm _fʇ1%m~PץD?7 +vMe.X2K2>=v'|.%_~~y`ټ|&- 0*`x,c d@Jjp)0p/%‚T_}T q0J֬|_yBO |;Rz;މC !m jhOH'@b~,p 0+8Qk!ZIb##>UYJY9Iz/u{KI rd ݣ0={`*[+vhrrf: v/@˖_VFi&Zg4Ȩusy-MʀDW80KW<Az7u'89z޷[]q!#^G?TjC"_Rs""a]=:R#rɩ7X?y$=s\? }_|Q< ,|o (1r |1~}7r{^Px&֗W`|`" Ƿ6>k?#z@Q|;P$~ N&Iw`-(9Q;xaao"ݝZw6Dckaꢎo g CG_E7XKA3/.lsׯ.Vb]f LVi՗4{VpEN*?G_\ [z'{ٽ6|0oeྀ%!h~20o)#yWw}gwF!j.nD8r7c70WO!Zw h0ИrkܒKahhw>擔k|7)C ¹{!k_b+5~dmWե95`jqlVI 9np|GKmXc-eh ^bC4ڶJ >$t>ΫE M{gEBRO?4# syfi*p+NZb5rHW=®~ yzĪ?z@W_}A7FCWa<v%+EZEmΰ~,u<0Ca=}0*kqF| P,0Zn1`族`nWmϬS]fFҢavJG~?[FҌyp}$k]+70xÕiVg*ȥӵi5N`<93-epCJ 䭿6I-j @߼g0Ȓ T.z TͽE:ӶD-B"RTIg[# + `QP4L!`[sЈqrflorG 6]+r% Xuzvï_n@2:ϽX5˧nݠD6H'h?ؕ`ZO2(Y..ѐQ?NuSs*`D?@__q4mmI99}T'@]q>mONJ+.0y[dA/p352, FXٔ[@/.V+]\54^D< MYQ+nJh|dH63+NǞ?{pX`dnSN;1j,;:'prkk{3`$˯Q?U) CH`玐K*eV*۽Olå8~h)@ $뵊?WG/m\6?'7o/0E,3noKCAdDHs[>2%qi!W<~md^By#ŸRr/.#~??ʥľg֖F22&ڇWl{m0qkҦأ+nۈUT!-Cnpŋ=9H8fe5|6 09$D O7XȆƯre{a)xeXX|:>_ޖ]1lXeCZ{ 6+I)UG[X ǟ.Mj̕cPkj ݢE10b,|&]|vb9x%О ^AYt8ճ=-qV+%f]WUtVB)ՙw@ixP,)Ȑ[[ȔF|}xϾ\|pq.AI1*W`&8HJY=Tȗ9LNC}E8, UBJ6,v|ۯ6B'ԕˢh}G44~7$ [PG5Y6`Qd{1N4dLigV c/7JxۡK0_~"V'blL89KCGJ乑4I-C[-=^C6gG~WA0Պ2v*:~ڦO$- Ƿ?jDǜ#N 1i%;2e6K[`t͹FH_=<NJ%q0* ) =hFxgrO1.x) ,nTH7$.*k xW8I% ªX;yW5}L]԰3Ǫt}@:hQ/&㛐Tq OpTtKku{GX|9 K=b3:V?U]:)#x#ly({]z"5Y@m|vkD ԱV J2ni?zKxw?UrFsM8roKo2dUK?)F_ 8B3\rnte;hH~^;jzqi!y1lur #K$Xly|/0.KfN@kfb5`, ȉ oG*`7,IVrӃSBƒRBthgo/3r' YsG &]9 E<`I(;4>(УJˆk'Vگ /m9v@_2,N4v=]W4.GJk >l$P"T*'~q$m[v ,Z;2{'`sԎ?~21j<6> 4Ŕ9@^ H\_xBwN&mA%ű<%~} &֝Hz4Uq7z0t7֨@~j2j;nT񳓈P~r "8h^J3|2l>W7 "qx$Y#XylBЋf( 󭪯[l!&Y-nߣY|"54wC-%; Lzc>W/ל|:[xLԮ4WpP o{Lbԍ`?߀~/B9/,] W ɅHh}O]dz82ퟚI'Fw26_30kD yY14Omoؐ ;JmDljM(~A#mDz :'a{9sD ^R4;*7u̾֡ꯪˁg˪ 60*ziNK8/vq#\Ob0|@n3oo D+xj 93A }\;Ő)| ;bz@ʻf?P-59@:,6sa.0E4,iRZ0InF8Z!j% '4?.-=0~OˎYxNR7 {ǙI0PoM%$\yagjT\ve> rEߴfzoجK@Cj"n16LOά4PN;"X ֜s)Ov) /hR.'0qM^JA#I^1YYk' ?A dO(ul,>MnEz7[V*0]DRad]?>pد+sνS͡`s$p[UVeH^}d{!e *e&`wV2мNsTm){ ݽUf.,Mq+4`a*zF(-q0y/f!±X"{ٛa(I =RfQ?E: sKz[^u! Ո+'Hʺs> 8Bе)ф 'F--*4W0ֆq"Ϛ)%ЭLpz&kWa>fc'&$|yjB뫉䴌hRأ4j o5y)p$1Hx_g0Tſ + ''WևB,bd%{x@廐^ &ZX 꽲@ii ϾkAubR Dw^+?G#ݏͪ{@vBxzX% ؿ>_< i7λG[j BGxflY_x{#PM n0N=r~N`$6$͝60,Xx5Ua⟵="= o}g@LJi$y{q5wߠ9fù\lX@^rf>n4dP NC"GD[Dz})էze!\`~t hS3SPeP4? Gcaӯ@]]3e8i/8Y 빐SaKN_,== FXd;/\8kB\ÙQv W`X G}EZ6xvn325XeM vLޟ̫C8Ƣve:D u"K.WÔbv0?@fG]GamW^O`=OIQ< 977vj@u w]ZClGx_U2V,sI;\J7ia~ظYfrK+P w]=Wc9@֯vA:rs@~ndqT?ct z Q/_K~\LD89 MKr $8C:p l/KFJXreRbfՁ@vw3K*oD*?m8$Lm!/& _$ #?f3=k]NHKtM;aϿAoӝ}Yo!mDPv3? tFxzdU|8*~!6~+hABa5yAY%Qi`啔{z 0z5ncֺ`A$^Řؾǥ>F.]o8nlgLj:8p+io|lmyɈrbV6*LVrmDB#/S7HJtdJ#0vΕB.$wc#6퇡{5 `Ʊ qzJ*{~לߊiw /ERu#g!bѧ6%hrz01.i &ekoߴ 0n8inLZ7JrĆzpr_;[l, 7X*G5+scv(0c݀cu'*S= T93dXga0~;Ŗ5|QYx:#V]rV&L''QcP&"hIIB?27k:Jb `2+|âMo;0qޡգi򇀱ov2Ñ^;J!kӁocPb0PR:aŕ(mL$t$nr.`ljtncnTǢhC50V8r0OZk-;vHݣ g/_1-"ܙn۷\\ >ǞAНP~(K{ Qqrb۶Xo6fC@]sn,p7&!ܞ32iΆ=r8ʦf'EVA>;rg>`9ܲFqOX,%sJ^y) ѝH`[oBm}?^X~$9?}(=GzKn ai398LBz*da4ܮ?M68l:[&}u}ָaK;_T* ,gۯr>>!9K>0JTY30cpWa6 a+%$ˉސg ߂#|*=0 [_%Xya0wHv Z$Ы1ny]2c;&c9?3KS)RвtyzYY {^s4;ֶ &¥ w|杯^ aSHʃ5`}3d_JhT3lT$"Bԝ*AE8z/ h+Ʉr?դ$j q~dhZۣ/ŇS&f%Ea).ʁA ֻ(# fw^z#FZu{W).[fZ߼xpGTv[rGHDQׅpDK =3}: -&NPV~'6A[N)$6rN-}X{5vj࿳/fxjqSF~7-~[^ L3lR*Ÿ&u;' rR4<~暏o8kU`Q|1 -/wjmƟ M#AMqoj`|#Ya*\ܞH\]tuO +- E\t a8} nO|^-QHP\ pYɭ$6{[cػ aSt o+(add]H>Tz1nk7CukR'Sgz6!Cng$!}څoT0Bn7r(s?pd?hSAl{&T _c#,{=ަ!TzH`\ԧ+ U~7%!q+f~/!ؾ6l|rzb9_y ̯6FaHjwsxY̲~/}u3ۃ$u}߈y~ŝHh& ד @8&M`+Roi"Π gU1w h!_|Lo{0lfZPjvպjӍ;0?r!j 6F%ZѱfyO^$ ]8xFN-+ĻKĻgy 󚪑苏a1hq~L흭0ar'6u`d$6ގpOwɊ=ֽ%j J;:yۧ|c`7`|阴307\^bli V|,ZZL"t.Y")Up 57iyP%8Yu[Ӿ-0"8xw~+ghޓjxӟ-y;x!GҊ]lƳ?RaFA`)Op/ /oE ef tty>xuGp@h뀖?+F\NN6HPtu^>߯Rn_/ɂX`Vlxxaع}_JoO 'w"7+y 0 ֶ T}ɐs5a1%8,egQalg˫DbJѮ*`7Y~ YĘZ)G`|vw+ghruuw@Ě]Va%묇?F˜Fw pm]ݥ֏aJ&lGgb$ަZK@aDa8sj3} 9J<ⴷon0Yc¹pCqwCMb:0C{ii|R:ul;&_HC7,p[I5_&nY[1~٦CHȏuL%W{7{N?Ut]ѷ"&BYR,2;5袎[/ 5H{r{[Y kK3-!E{V;C9<>ܷqcGE"ܺj/]&'IRmhx((9Ӷ`kNKWĉ@bK| |zf) ;Kҗ z%po]NKU2`Ob~-uw~yrIXO~Vo+dZ@=O qz:30.|oČx$!ku_q{ 7~~jט_p]v%ܳRg]*]iGs|`\CNs_GXѼ@>6Pi_]'\:o%Ґ_EsHh=qObe-rAlofV~GS kJsO#$/sP`;9vAzYtF?櫐2oާq$XӘ έ'5co!dY 2~у`Q4~E, S! $'Vj` '0E8tdEp0 Xd=c3 ECq~mСo e٫ Wm tG!q|=$-~#2o0$n Zm8'/^(!5/'uGA!|8+=ꡳIePz dIug"JyD09Mj+/Szd/,lϖX(+N?UE@𷿐[ұs8 _V >1?Ict?AIu{a-| "v ZQobz)>&_1V &p̂>B[6Ũw@ YY~uzdz8HsavF4?ckc 5 @ZeVa$QQHݬZL7=]5P/:tӞ&=]xyt3 K:(v)ogg3\wIcM_1([Rt]|vUPvozۦ}/|f ]\6" xTY$rw |:t1Θ3}(A}woECg*deT18D2ڥ@~emІޟ(FAlu}[9rqft`_٦hXz;Ttb>Sn]C %Dz&*ፋ/C㿘uz~z3 -r3i|kQ`yXQ`| j_^{d:/Usl%PxatZ9ܒ:T.eu6@0[ahgvT'CYI.џ ~&tI9 A c p3{nҿ)pZ?*a}07}C+UY p eLwrbnZjP:,O&| 'N(k@ X`5e4ic5Z4mY|mq!`xN6v_칽 +^nyˏ=}d01VKɟa }# >]Bba wsP|iH#PzJ *`vl~v~@=Cj/{Wp#|"_H7!.4 vSQwS8$'VD'J@?kS(9+B'0LUͲl ϟۥ;>-(=oɣ`:ЊYKxddX9GG|ׁ WeKw޼l̸o _lkySͫ@1@0k޻&wk|pj8w xN@Jmx,K47a]C:k.JĮCGRM rK+!wu ]+eqȸmGCay w3@Zn,"F-UդIbw5fxb!Po@[([_m|#scl7&BE(F]œ=!V+6&#rMLr^㣀Ghˢ /"f>#m{Ph߳Z]?,p{y,.iiϔtX^d- C[_ GŠ&e'A ki1k`}!?sDlioa~Ri+jVRTw {oCzGP\j5|ٛTX/d5Pwh=3y'] ZOA8؆؟"NQ̒,r$IɃW0:ph歽/(J񇅖GX9ZKC!|[pf3J`#<8p$ۣ W]Z6I㰹>-MLm]j ,4w˭X azgd>W zX@v{  U1=<`]zBmJ>۟z{=O zخLMx +^a\?<]<{)p0߭;O~qAk،#]钿 7vW0o/NK.[& \EUHw0oixRXD!3^񄱟;=VoŖG]RCtIb-@wMᝓf_Ict~&Mfڛ3ːPcl?x?#O$,J. '!Nk0#r>Sڞ{d߲Qt*ZE}ZNv/ZyjvEDMEt37mk?-"so fquTGOmٖn3/0su L+ҏyK]( 7gq2 ߰; |K.N&1yYS;v|cO%X8y8`']zR*5i`r+yWsi~ P,W(r%G$us;i]3 C" Ts'~A9H/@浦T`R_ 㻆0:8ؼ*C3Ul&SƪZrwiSs`n*/*VSaI(˚ ̄%D%Z{n2_DZL,7)fZ5pP[NҀ?iq"xt$WL[5^w(= ^:›ND/\8EuvE8xpoĜύUƀM`t 5, l:HomE,qUm:P Mo)PZgZFGF~ T8&!\A…o0wAF1_}ᲝOlFB__ dкFӊ o:]XQa1m*5'˱ўnVPFۣ6!3~+]޶헯#ɊD8t8Wjpx.TD.c>/V~0(ojpYiϔ)yRt_D׀QQBe  ob},5R~LH~0STMj3Я4 Ҍ+EZf"gi\'zYQۛӁ"-~js6tu`8›WH[3ͭ\pM^>tGe vV)&=E==W(Y m 5l1⃡vhx]|#}󟻀{).ؠ#|X!d U͹@ݹK5 ^{+pe441.+x2g UI @X/|h.NVƉP]`VZ*տtEz%^_v!Z=j|SyS xC+`fۗXYLM !a5-~N8 SI\p)J'_K2^l ^iW *Y^Q[U2 牢i$PgzC}P iCg{2кUe$CB ]IA$>Oْ|XԔ?l䐖 ҅LNY߰&; DsLkM鴄1(j1gաXc&ھ&{s@h((%<*)lU>V8¦U[nzjҺCUucI oG^"vnNP[y$io΁XZOV@_ ǠY~$aa?5}9zWPhF 5/\:0i"(yFye`Ept^"#7]1XJ!QD8^R$= mmyOM; x Gre b^5u.]# e\?@9_+r5Ɖq&UK@̼!1*H´O#3kدq7*K)V`:Ssaq/rӔ=.й}4,t/".ء XY*+dE^N0 (n+]zRS'm^~t4A_Z+|#$(mRS/߲ģ:$wf-9x_ ~{1_-t<f?ԤϊZoʊ5>޹nΎ,~$50r;KR ^TE0[X5tĖGH"ޣ̻|u"R9~aQ)$VI~Oؖ+o=LNpWՕ{ۧ;PgūaQS5p=Q-p1 X7}ЃZ{: ~]:!}([{'Z7 px9PIۊ)*WN;\^m^ a>2`^dVH=^J+wo9'Gӓ vOŮm0j-L|Mie%?iwOdli]q=Iq/%Ly||nϠmLDxv9?l;5G񃞾 sa*1z|2@ C@igw Kp3( XBo`> n}GE9YǪ+[(Ut]豽T}]H^9 {Wߧ6//ȮT.uԷ^)1+O;a0yB@v&픹͍h2pZe>}f*͹=ahP C^kaznctEZ[p0U< 4{ҿdU3qf zcēf0_!).JGO{HT/|ՌHh(rX$F3?+ϛ}#`IywYpEPGx! YkTٮ,Kmk}r&Y]S[O{̤Uv,aj Vp-\RkB\CQOJyP=Q\]5 ֮_"4r]7F~NEfH04b&/TBb36 &NM΃j݀MJU5[WH `|Ҩa9iDø(Jj:_=فzu0CT+&/jY/HL8q|Uq^b׵+b0h(',iH~o*zu<[RooK1GVZk`JM)O*'DasHxl(ySbtc7w,d[4Р nJܘ<ŸW T0lԶco:[a-+Sf~m,~*Ɔv>K?h-O K?+$PKz}Âk#`}sԳO&xm1k8mXznX9{.sk `۔žv+ϗ$̱cPX. AAnܼ}"o;En@YUW X %.A͝ .{6N8g&W^| ooR Y]{_ iu}"stj$XR z~˃`t<5qJWؽA"7ާ=.¼[iw^:EVk{c?c7aQAlWܝH:F>wY쮩7@zb П5WaLn-$ž|D篱N˹sc`Nž-39c8,*:oL%o9X W*GX3l-^<acm - t'` 3ξJ?H";G;YG/1UuhJ**u3 \p$x%E'XeM:_K+,iV4/mo&k<{.-}!zvN<ݹ#H4?j0c]> TŖ;ag˖_/l24@֔hF,vl?]Bdqv"6 r]('1.{\\*P*(z//Մk1Nʮ|OQf@K>ss)̿&) qa|ȫO@M>rFͯlDt,~m $~1s̕>~ur'ADS؝Tt~ iY_~k $Q3kf N̜mG3=rx {; G6H*(j5ȫrZ'$mÝ%a&-ͩEiiܼ`O7fO\nn/lC%^}IOpwnP Uw>4F^ Î9 '}>H}~>Q *ĎWMYsj_|vR%`0!˧ mDi8"nUhUG*rc'cPxr*{>?5L&߻ vbm $|8ujPo}6 :B/nBRG{Ps㰴"5"B3[kˑ8[hϘ>З;j)0zҚ!ePRG t +]?1t0"?ԭR7'0ќ.xQdB <!LvN@/*À6Fp(ߚ2~<9v4v|&~9dݟ'?◗Sк}[,JCA0b6~ 9 };dLJ%YYxyK/:eBɡMd ^H@Rּ ;:W>Ilti>;牀Q\=y wZ.Jh/|@Ҧ`|Q K'b| #UAW _O9俭֟\ cmw-51Eun1ukkX銄^.$Ιc'E M;`\?EOKxx{xRF"Z+`q"nN9Esq;IN]Qh []?y9C)`w0 bG aZ]ifc@QgioFA a&[`yʞɚ=]}U&4 {q7Z4"&S{yL0"xh*_gy w=gkP?acQj$FZənߝWj=0XwH՝o/X:0:m.m{0v'ew~BG`9֛Y,_'Rտ 5}|bSܳQXXϘiǼ. 0E *Gxy4X(T)hμ҃rX?TEHh~GfJw 0%v4,j4Yu0Qs<J};_X6kKGG/a̿">+j8ta= ֡!":E^-GgP +a <&u/"!ݧ A+`*mڲ*9"-`2RƩ;OHjL˪}X]ht&cG^}7}U~osI`:yKa&Hh :.Ǽ_Srp\6(3>kd 'z&7ri뭜DB|ByaA ncLi3Gw2և.r%,3v#UGחb`_=N9̴z8qeMNŒҡ3fgVo}MG`iYf@*JezN;ath^]t#:k%m:bOڝ\E)BNz#>saې|AIc+1>:%=J(#!!v.ό?7!A[=P|U8Xʛ#2+`TVE,W99%1[䀞׫ *j#E`|`gGa P"pT)\ɫ?ٓH!n((__~Wlh9-0Vg:([wJHK*~B."߻ek_=\{;,.[٢W{sx6W[[{Ɩd%3vb~.3 °A4NdynZC^KߞzbVX4Aޜq<S\>@,z k a e[اoX*܎-#e#kr[q녘>|>>9RP>ZDYir$%%ӤfC=vU>`hpt 7%s0nnm[9|C7cyPaHm5vzL! ?{wf#{'vCoF bq`=pgގvOby{yENg,(`kS@ij="{kp{~Vэk:<`:c+="(cJ[6 ̽W׫{#l1`y|(8:B%In@{TN맍!`/;Ֆf:?\ t7u||&h7Ͼ%G HS:E%)K6 ֋Y0txIޓn]!8$(|!c3!J,]Y}:>/},Csq]]=~7X޽G vvSX>oP']"6opFCNj_#Jx0*6EB틽MŪi3ӷpx>rW>UyO^a}8xAO9˝sADb ߮RH uU=^.yV!|mMuCi=kA ~/BJe3nAA"Хܵ_>G.O$6vg|mD>׎^eGFMϐ39{aɆV4_cC9̞ =$Z0a}xK|ǍV0gB=u 0ROE~Tҳ {ߐ tM!mU>CJ(D~ԡ5zbǛ ԝe !N+stt7$M{[>\6h)wЁ,ܲP҃K%̽eށGL$A}o:L>|; Ʊ`򤖣=\ߣHH>O؝r?o|7{$`暞&I>"~E}mp>4fW&&X\|:ddk ΧؤKi#^uQ߾F855Z7CGwK5(º|zr7EC#O {zk9 _X \p#][8{f DbsF95Ex籼ONRV n@mM8̐߀&3v=Ar~iS=V?Kƴ.X2yn йg\(p{O%P,5m2ҝ1~g^?;?[d!!#eRJHZRJQJD EȨJF{o|>羾wG9~_z>9+v]^ᷬ$zHO> h3]`.53r,H 8*l9_=,?ƺc8hZ T7L!r\w`*\2`\ZÀp|w>$964ǙWAW~\e+|ʁn:=l I]`dOƚapm$~7Cb?&3?%dLz~?穽}zNKa?Txwl+L8-ž~qhYb6NԠG`2+;uɭųHI(%:՜EпϞYSc h* '9T54+4v :uf~%/Zf$̸L>'Mz{L+>T4ed.;0rj'i?o>~,:ya{6ƅ%7WE&y$PN ISN*9Z0qb_^RɉHsп~}S 30glƂ[KÖo0e(,L˿yb!&v]2$To3'9gL=M`XkT> 7 Fl_Mj@%g,U2 JLT`ӓ@^\(yLהe0ax/Rf0;2p{q9(@w`*]+/:yHɕKvFv0DUc1LܺsdSsN[%0tv)Gr B:=u-UС~b<c0~|˧5 |Ҫ>7㾭Pia`*OxbwZ$1_mrq`jA߾QjoNWɲI5$w8;ՔP |xn$וj#49߂i0c)tR`s$_VҜ_7=s%_E`䱋M]F_D4W|[}ct}wn9OD~Zry?_O}'Bg]?9gX3avv~ %1Yw|&4h9\=U~rf]L:hT*gw9gh+\p2I‚z!A՞H[i({A7E|nNuYW3Ou=r*U IJ yӡ6YykHP2YsŴ];)_:r k/7QVP>.4Z/;E~Ge%#_.:܈MV"rWEP\a/\z.=xC)ɩi0vXmtd X"$[1`aX9"Nnhb~8. }z ,VL_5vGS'ߑAK>J0ٟ"67 "~ m|@蜏'9$<6]nvXCv+H^/kta6x/ڱO|ԘZZOظ ”NcaUUI'U]Y*Eyi]RS%GM]:Ʒ_r0XY:0&sla&ąaɿyfBd% Z!nE=Xsֱ'y_ӕ~&L$ٸ:; 蜞s9qH·Jb0TL_E?o{!N( 6zwc6C߆Oh|83g'P,{i_o/ 31 ek4`VHE6{;$*]F(G,fi<w==ä~vlY?ПQ."يB6Z }Nj-I0-P-:~%w.)~B~mI-& 8olwu6%$6K @_+a^jFԅʯ/r*Tsi69u`X[#u{6h/ply:l[fGw}hٚ 0y̷ =pi+$ےgNrLgŒvJ~Ч&U ,FmH+WD`.oyn%x-@^TW~۔13;kHvg66@#-]0%'A|u.,?ɨɮIqs8-9uD^5 lLѱ޸r^r] Nqx9}O h6/=RsI?M4'̻ոH}Mf@q@;^B{|߀SPdS@)A?yX==.d I3cv@ڳ9ߏܶƾԾ{IBuGecx=t{qs-`xf#OJl!a7$agRs-ZGO4\-&_Ū@|>Eoz ; ǀNDq5䯒LCNaNQ0=#oD ?NNtbM>J -"EѿtgÔUm6Z{TTZ<[F]9?-:$Jw:OD/|0+W7(πɣ_\<{=q+J^:o{Ӈ]w֥$G|Ci_x:Ůk0)L;따/b2*PcVAU8kEG:sqQӒ$`N7`q:l:#D)<y g9 ք}o[yu il 5E?ݳpE$z+ӯUÄۻq.(`MHpxUq#{ۂx|n1^yj&/risPeKe̱)2ΫɌ$۟)z0wYsZ`jմUa*%0 0#rȺ"Z_Q<-Я:_ԣ^4c Wpg_}Yz{X> =q΀鍍{ɓ9:uWˊs;N+f2`(|xdN{%3[I;O& UrF7^jxG#oy Dz+vM#4Dq5?ӑ cn0|~'I7&!@-OGU5kU<^:ccKKz%$H3]LU=ݹQS0_z$wD\guSs'`|Mz%j0#1.b90~gn" /=탅uE%9!0{6DOB|f0P4ѵvl1Ka~M`nឃu5-Kw$no*#9Az-0}{y 7ٻ5}}k@rؤllǣw"ܵV J.\S 9COY뒰>jiU[; fneO°Z$CnA=4ޖHzr~ǬƬ0$oR NWr$d9Vp)Jȋ^H53Ћ3T2?C[A7Ɍ~ZMEx^5E8Os߻1/ӀA\6.J\q֋0Blˢ<ɗG)1+-7f8,4G=aoc"j-Pڧ>O -W~BYOi.x͵|鴰@ <m5&¼/C$1d0Æ.ޣFBxA6M$?9[>/.g%0qM;ؕ$>,l_ A}$5rD*;hf2r~㳂7[/kq]`lBcaƃa\΃i0t,5f6d|rk1Rw.e6o--\}$pqp+jcRs ~)p 0sbph={S^NMAu3mfB nB~G26tnj>- 05aL5GL߅9ewo8i`V:yn"I]9+`NEN)g9 wɿ~{)(_@~g`}@9&DQ2Ύ-?aJzF9P?TTG"00^>fv>*,nN$;OW.`Dw?.Tg\Big-`vriHԮo8Ca.8.pc3 T7۝ /Ce2u( E/5H睅l٫UIҹBC*=q`8mS% #?͚He4avVn{F<Œ佹$pq=`PvrwIv._ʷмnQc'5?)@]$ۋSERY$VWC|Yl_ ۏ]!92rm U`磡w?}.A&qi](33K:Er-ܨ?deܨKᅓ~u| n7 S rn0dz?J,P\vTqU!Lx^BroR&m,?3r :\vkGakQ>L'.I#0g$$q/07&pɨKg|0Iw}>ba|"M/&eTy#Kasq}H(Y; ̔'ϓoWK/m¿'qȓ 0Q^=?ꫯ[/dp, 4"g SJ=&@M~rm7Fg9n-obIGM[NA_JL<[g.A- 4߭ {Ϭr~S6Lf'(!9نnY FV|jM[jftks>\1+äz< O|R[y`]#=3<^fU'68h~\^iOcΗ2ZLΝK$tK}֛u-F zv2 KiZ!g2]kb`تFQ|I$\Wa߭9C7Y`T7sm93 !7й 0$u߀F(+#_I.^1nXx.33}Q$L9c oeÀ^z!vBUrʓjfuW]Pb?yvI<+yv#^;\sFyN=g:VJ6d_ĎeWat:5k/:-*:@*fKYlz2bΧ=Vqa+?aw^R;W"[-~Aٽnp3|g׳.+Oc$L#0a-N~3!*nQ˫KKoW9v [fb& ̙.,F/েEka˄86̻3¼Y.h=_zrrnL\9Q'mSazPH~~ב{+ F >!oYm9}5#۾'BN?̕5oY~{g:|jyD:6~ $L`* 319i{Nqa#?LsFr}>7 u'A񢈼!^VAW(Ѐ05<-f&_'*摄UB_+dp2aҨ;ZJ~Tta*L9yj`|{)Y;`!ZJ{i>na k>CЪř${gW0J1OAd~pzu9jW :>z X4S/u&ʓl+?9d qt!ͥ"DNAD)ȿjWE!W7bEh`^Nvd>Őn̢-mZir((1P}Mx7y $~؟/0`[CƟrAlE.?u,gċ,u*. 愉@(_<l{)-0#\\ SF\vov=yh~T [X`Ȯ^nFКy ``ZqF=ӘF }nlx% /&m֣sz>98%߻Nuu5afò2NIMiB ys0[uߟY&Hrj5I3v鎨`NnF]خM_JMLhC=t~z7 ~rx5_%fJs$٭ͮ/4-+Rm} 5!d{- 0٩!7`Pv4|9 ?Xw. /c<* ,H<Ѻd[H*+ 4zD!T8 keO@\ȡy+aA?j `ՐH!Ӗj>3(Qc0-Г,a=벡ZXQ$LOZ¼Nko,7sd 5H6 ${BNm#v@fI]꾊&OFO#IO x &';>rWB77' (Y)Awz0:՚yZaS=BF9a9Dlx4N>XT]yYQ^r95ws߅+N5 O=^׌@Ub\$~lmޗtutZ-+* _oшˎ2+`R`E.OGnv_̵a,hIi&ld/Lkܡ ^l~Dd6;vv._Þ |oϔ`Œ|,.I>ڣ-H{(YЙX ӫgEcmM$ʏ_*|Q>vfwe>d@M햇KO8x(;0}m/ϕ8]IOQ]j KB׮\^zAg@|iȂ%KYFu[`ws ľہq3aGvhW+ #`͝ia31KצހME)0;[!q7v̿Y03.sd=JwAsIK :$`jF3$*ktqﮫW˹i`[hNS˂U@ mn=x=k 4 1Ơ>YaX>;t} \8 UV8^[QIy!L}ήtӀ -??ϯ~ x+0onзȑ{o_1%hе\/~Zp ZsosyWMtj<}!; ץşda|p7MLEHS7sW,y{ٕb9>e mY6Cѓ#&#L8\ЙdLNGH{`[24f)co5w`BV۶57HŗCoB}1_G|wv\䷽)dǿ, /`# q7'Z_tp'3[q0O?ޡs]Hu`n7ĉ~ehpﯰUySIOG%z1VF@J s6|[*W" 6IOHB:g;췁O,57?*OLdut6phܶlHh1?Ǎx\,:B58HH({P9f́ir$Jd'7nxDhxgk` b/ZrF FLMgَb\߆XSPd}ϫ_Jg/ Rrl#j^fJS@\ؘ!)3I䈯|0޼&p1X+o)0-983q Nsu ڟ}>Kq6Ŝ2!ꮤ-_tOb:LQ`EqP>mZ7yځir=$R10<%^5w?/&8rk3$Vin+#sS"3Ď9`3>G@͑æ̗1} 묻_u#q'M?kI?qlAZmz.MT*PEX̝-jihn5'.[}έ.f̲ki惖VrLW.K|nBq~R6IAk<T;1SK?ۏT´hPDW>"{q`{1ߤ~`}\O$jeJqt{y8Ih _ZHb͜wO<6ā4n%tCg`]TT27|D񜩙X"PVJY K5~_+'}Qs|ybպk$V@#MؠZ X;_/a<' PI#;$?y] o05oMVmļp`;pffO9.OQ]8=\s Q,-As$qpc$VӦ}+$Tfl~Hj+y'HBs!8a1ID{ԥ@Y*~ڴX\˵19J$a, Te[a!KwܻeXA\% S`+1VOvڑ{egCq"k$q|v$mz1:C*Y$yP#Es8\kLqa]"\HYܷ\N̄ (wx:.s`$̻4%&G>?# Lcvvk sͼ _R~#۔&ayZ`w4շb^8X q^.&<eGc]Xp0l=:kdײx.OYfa=Gڌ?|/S\} ZS>?xa+N[pn,yusK?) Q'ϰ.f&ݟ\tOrqU Wjts*u꿗{; zž?ΚKz s(FFb 4x*`'pX[?=qxYT:MTO*r.;A8:AUV@)t|}a;*G`]}Y{Ic3#@^XucT<λ^@Z%E/ɷ`@3n[>nXoR` 6kk9Zuȱ^9(Mϣʎq* Ku'<{i䵄$x؇  ,^="0<p (ڭ߲=x> ٷWIH|$|Ɏ|;UƢoȏpӯV/ՉW `7~Ǻ2az?B,/u"j K2Հב$9)tЬ' x_B=|tn3;`.']H͌jXs>e{_3-o@MlJ]![{"hwOЄ_r<6ٚu@߼Yӂ鋩};t󞳋1%s odjM&z"^w"V(9rPy=nLܤ|ǜ>1 2r]Epu\Dəߏ+i `>yF<.o`~%<_r10E(~'pEtz3q>*N' SƴlnNa[*OFLԳ?S>ㇿ/rgp1dlnoi-/8hP?sXVʕs\1<}E jgtZ5{,q~$z=z9>/X_3q$q"<sH'Ϝێ'4r·Q 6m`H'06dh-CAG@'jg֐DzA+q2w- Bϲ3^|y7͇7^*o]9| (H̃#hOsUa= >ԋ Mǜ{[ː{lyS7n$9 dYAYˍ[{qzk4zgʈ%ДВ l$a=(޴($,~o{+}`xe!o8?rs&~Qj0zbhs%T00  o[ _}>|D!nH`lziیZoI<^r1? ^y |:~ʶø޹ݜ|iU}e%F1a_A {? jp"GT~pɗ8߃9yTnE5{Ƶ?R8[I⣽m3Ǧw֒kmf=wg؆9 `n͕^r<xli,]w`)M m=sta-9#Fz?9-*Μ Բ#G˚wp2Ak ; Ժi,`J>/on`}rb"$0WK,.y.X>_F-f=s_tl! Nɭcc9X'Z ҿQ [fDлy eUT/w-L#߿I-IdC^?|*>]7gn:'SsS7k,H[ {hǏ5K€yj"~VV=m鲜n΃^@ko9DB}7Tvkyl?1* ec+%v=z692n#[ERs0$Jـ*W?I ](M%j@GMu.E/), >;ݰCvf؋KQb?{ <|lq:ؘ,T'c)0=j im3]RXwg ͗Hr"/1OyLng#wVThph?Ŷ@h=ˎu*g>w1f`X螺i׷\x\|9}} JL>;!? y"˺o.b U0os[$}vɬ}btaԡ >x+Mjİrw+c7N)&zIbǓG'`?j4F~OPy ;劏10Bo@xY3_,Cv~jUܩ\Ἴ _?}`7rkSz1X[3&;7 %ǹS~ ٝl/Te `\˾$ }1T}g{FN^ N]"@c<% ľ;h9.k䵖;pE푏~3G:9Jإ*RsΫ!"8gFnhWbg}~50c7B:ϣsGž8x~ W]3ݧWg+%?قKJ^3_@ ǹ]Mn.XGMƟnnJ?e  <' ,>j ѽ=UHª9{~__8J~xm}IG5iy+~1Dnr^c==ȓ.qqe݉B3@.8xWQ[LQ"`ZVV.Dl7MV7 G6EY~':&|ԎKr$Nm2B^|{E> ʯ}U 2k\;cQ;[$o~tqXqɋ7G0ozlLҝgY؇͍`}fyDOW4. B_CIB?0J~8scGxzeO~!wF(h@]1ߏ%P݁}c狻G-g mxCuoqn_?(,p|S'' }r*,$ '͠I* v,$Llwc`T oWڏ#r`B=y7:vET*z6IU 0Z:$>&ls/uWb<^𼻓T{&?RҶhOC/lo%rԩ%$ao'4>f]\:bOzju;)Ǖ,C"T:AϞߧNWVl*Ǿ{P+{(Xܛ*#0>f۫=c&OƉ3emI߉>@f|k((AnY]20{dW0yS#&U=?M}IxWV qa (ߺhh/fUΣq٣)MfSxW1b1|+M;/oYy]e#CS}MQ tIgO7^u,7oE~;7+}i~q#0jxkL)Ȟ@'E鷯{^m&mgVQKl}9,|s ^3'A%+ob >90Vg[aM :#6m2u9n&mv=f" ŤUv{9#i,^-{ 3l*owޟ}+ߔE0&23"+E\rO:}xNR1=U,נE/jnKv?76IDnz*u]O3Oﯾ$95Ex! 3'_Cof>|;$W.z MZG0JxF/}e]:>@_/IމbjqC߮O,+:~KTbXd MTUvۮlkuQw /6'\>2V|X|ܰ<2x{Me?̀hv>XRD%@^;W@½{tSc1d/y$#m蕾zW n0 FbK93 qQܤͅ+Tلyxyjt9" N~?x07+).X~~Ǯ(1C1W,́>!2Ц_K[ZzPc\Wwy뭽6z|7λ 3ـ#uuPQ '}_:ſu9m5A~qFxdZME*Ɓ,! ߪ#.{s]_}f0JpJ"c}l ,ؗ\Xs[14aݱ.FIXX  8M~'U1_6d'}TΌ̹'i4?@bbs./WQZxKoAJ6C;o+7PrU3"7M~aGOh]`MJmCVY|H&]B[}g7co~s_Y!_klLW$(!:nw `9O[:-3@G[8 Ԝ 0u>s#)J61Nz@V=Bnc?C[v?Y/&<@=;j _nv2[[(կ:K0PO, 7@O ܍qEN쉲;2g+A!?V /?||}[| 癒4/^<ݢ,5܀>hn>r}/g XC݅7tӯo_x8K2KA,d^jAs|E$IhSY,2+qޝF U[-ެ4SJdTbr&7BY2׼ab\uѥ嫩o]yT#E.}b_٥XmsZsV]f_>|V#B"X;c,ApR&/Zgv>O^|ڽA@T$Ko01wug쎽bϰu4-+sac\^ 9Hd}]@-d}Bw-#h3+:K# HB]GNPgx]{-s*bJ|+ c!y> P~6(fK!ΗR?/eUN-6єAkm{dk_):VD>t:sܲԿ ѠJ3&r3I{{Og gw22̋)cU5# Vӵn.\V b2_;ry@߶>uʏDNWVme3:w~`UPt9z%m}Eܲl^&Hb$O-̷+52WS8W~a^Z}7zrI$4or>P鉹["Zӡo_\VGo~z˿K++`]{,.]5 |@J zO/=e[`^Lo88=$Jq pYU:07?>UwR\s9blzC r򂗩$P6 ܅?$Sdz0G wHHFcOHB[Y\#ޖ k݁_?,,UrV̀zͨƖ2<ʹŒW?ٰ>],fR{{WEq~UG|kŷZ[ +8ܟ[ nG& 0on:-|mh O}UQ+;6M> 5t PY6d6UuXK_$(g8؈qFq; ޑ`ݒ`[~+Xei=;p*0z؁ы7.JVƝE-]@˞7xzm'v}HУ\1>,:a$TTҷx$ag +ٮ?/# GlTEdE@`ŋM{\i!}F_Q$N GOd X|˰~d\OsQOMݏ;gz d;v|G3О4 & NOUӓ;x/uX15M4 a`u "7+Vԓ;C|VR8W;N}Zm%Ny1Nij+buyŸ](.{ѿn|\lb3p>t0{q}>֞5>~,Da&A{zY}eH;ɱetP56Bzjw/W:SHÂS"ǡ4Ol8sgӲ\ `KW,ik[)wGWx{!Ԫƾκ[›BྊNxyfaԋּGsl+΃mElRdx|="N:yoVTsv0?H ԏ6-V`hK~}`}a_Sꗊi>?q[|U-`&]v{/ _?rhuwuK(3L1WUW`qBQ##SxiY^][I8_?n[y_JK󻣩|LT^'ރlޜX=ـ[ }r\a[C`{0Yomn!e[T6yp.%0 k!H'zdX"XU=0.4QA޻F:: sc\|NSX{0߲/}t i}$[۽6:ԯrbΕ-H"c\S0s118gd.#fl_^i>fҝ˦1#l fNwE`Μ۵}e7qm}G&́xN)ݮ, {Vګ{)G7qW7blPP@n?+zg|V&ك6ti& y2=z OK/Z֑Ջ%µb@ze b?qYC0rp,>y,vCOR˦y姥`yʶշurG|,~v`fNj8'^SQkWt$V8t]%0n`n粒y~A!s銓\V`Dٯʉ_4-4 t݋8?; u>fð?3mk_Jf2$dx7U=VLjxuX12sتu'ךa@ecϝC/sftkК0՞5;k=0oIx|3TOЫuqƤ?o]_ӑoY~;ktOuWpn? ol >>llV"n7.e ;m 9'o~F(* Jʅ9GeRG t'dKIUx&9cX@\>!w>7 H=%!v>3ӂk]a?ڏ-wݎѯ/$PqwO=! Uo C> W&^Nwm§NbV /X#G {Hٗjc@^S;ȏ*heGXr,1. GŝN" EVKH‹SLnXlKDhv6`qZ'u /Ŀ$a]C`E<\3Qtp/]W I¯0^~'[wQF}\ގ gA[JSvMTA_+J})&Zop.xĞQo?mB?#s;q_mi$V|}$3}uӀ^چWHbeY䲾ds<-!|{ t8m扼[ڕ Ա73#PQp՗nFlv>+h`W Cb4k 좭Wm{ˬ;yß-܇SWK1/^/C/v}ܭƽz݃R>{ES`4Q^1>'WgC}3Lf*ѾRюn{`|>tQ.>ݫo#gko4_QdVq3GN&!q'c+W7{R Ly$qwѼ)MbeO^8BZ#%0~ؚ@8sl\i{dVpHJ8z7҃r@uxs-$R :a χ^eeu|+UـK{c߫;{~ZxhUE{~z+DPrCyR "[oc~.V?$ +sxU6m;u<Ƙ6t77$dZ"|~ʙX)t^N=y`{q )@4XJ) vKBI:vަ$dηJHSI`&կȷIiX+v@rם:0YZti2}L!0󾸘8G|ߴ#r5 zjݚV֘N>x̾ 9^ZW$Y}A.|6Gv#w.^@zq!0W<ؕuY=!s;u_'Fc_fk7벟p[&1?z~zw;O\Xlnh:rQ ٽ7Ո$Jeq_ʌJnу@yNu+uԛM@$GV+;n\ǹ:k b#2$}Ow/٘79!ر$6-Y2 cN :A+c.]2Q~;zENʁEU%=Vg$}-֏VVكjt~P&"[=]DP8,{G f9#8~@{}R` z}~M x#gzŞB 7i:݉F==cȄX*XWU b8憮:njso'/}":zٚ(ξb$!pZDj3鰄#Z[#6Gj@w< 2PjYm8凌pκԍ/vs/H6/\ߵu0OrE\#ǚywry]X95%:?73aL*0ȓS&Kd@8WL8pͷʌ`ZQ 2E { +d9űa.`y$ϓ$aVgg5kMևa@1{zi%|XgK%ZI` `7Gתπ\⿊$N$`k(U?^w׏Lh]7)*X @~j[^5 ~qQn;@7{ C]|I}85 Գm%t`>Vܩ Arzfq9z3o%?uY>Uu; BCa εoE&4p_ jcWq>ϔoWgyW8wlD;)vXxi5D֏͌-roFoުy8g&'bu\ #2oN- fŚ;1;.&7HG{<<# }meDߚAHZWcoTcE|D?fi|ܦWkkJ8ܧL,7\!)_'Kn\e2W>!S//y&0&5W|bc'L1M$Pjz̹*>a`|Z& wېj">㦘8zyU{]qDıf쯟-5c"/ 7zfuq_$a!-B@nWDON ,EFE.c,: ξGnw30`h8OY}I@ J%9t,}gkh"cR6aU$y%œ U.]6u.}3Ib7b^|rr2։Tu7II7a_];rd;So$J@̍n}+a\Ty:߁i4oYwިˁ~Т#Ig Lk,2y3;+evZ5)&f@qΡo]f^1Os#Z~TtXMu-憏Q$wk+o6u, ]^4T; #/mRצ:2 ZqXKIHI#M-3JIN98υ>\cO#wX^Ƽ|X*^+~zgп)9|=tGV@$zyh"zXFa0.'o ռP\*r Ӂ姠<n7-oz3> mmŜ=P K/^#z$8^jx{DƟXUW/WM=PEe\\܀Ws<_k/Foxu`D7PG&dR/09= P̉r?q̕J.^uC7ScS*֯qRiEN˜kv:R\{}@Xa L`^]a*`/ؓjŖ&qhzs*zιn.| Cy&OY$x&W0O}Px9,`E9Az30XFqnd':U#vO?l_|f3՘?w=:jq<қ o uN!H6 \{1hB'T_#v_}:S:ב0 W!|5:uaJh%_/9:Pݞ27#x}vJ5YuE$i>M֝0@]~#Ńe{ru`N\\|ԕJ 26.8'p(6uUC> o;XX]<^vZ2_m,o_Iq@AX }79w򕧴;G{mWy K7{g$dSpT~rk1v>iPbeҳI\vp*X/n֯Ukyp%uj0IHOc쟵|E ҍVP1yFl8 때Zxq"XJ]HbMKbu9^noɛϮ9 NB!$. +ifF8Η՜͹Lɭȹd_"&׊GS~ur%[׼ 4Cw vKy b_/ ,?G5uS㿝O7)W"mBLR(*\lIx-ʷf @C.XOciXfO٦KkzȉKf?9h nL?g#my%Vl|FxUg>"MFFOuW{N}RiiP<pxU~Yw Яƥ 8~uūπ!Z>8J^~4Kةz.<[6b ]~b1m;=u?JcYhmӑUÓKN; ORer)${u8Yy嵎s#νE-xh5SbD9Vu2~[#I.(],v-}4s?`Y22"ạ]ӮSx٨u"ә}_}li!~bSsۮUg봸G]}Z~x` dPo.5!3ܖj='Z2#nS15mȝxor}d`º=@}5&osfɮ6Vz,lx#X=myX"䌰 rʟgC_)üsr7e=׻}~xHlq}g2Rc}~؎^st@W)TS#rN}<y(YҎ_PoLN`μ}OfˮG!:ӆ7~W'zܛUָ!񕙄 I0ԒD8_c0'{ ȩ|AHU3JelDNT0ؾI)c{+~0iA;8NSyCv_ftT,*6@^n1mՑSWx^< Hj#웅] Z9vz mn)BAO/xLv~PCòz:쥛Wls}LqNͼx=5׏kO~\,%ηŨBs}s Q_:XgV".gSl~lu`b.ֶ踞hGn49ĺ>f<_57"\-Z㧱*ǁg-`c՘G<\ƫ_O } I_JpcGC6A[^}` ^@9S_`]<*9{};r݁eaGO\sI|'O[¾XӺ-c ΅H\GiXPL8>O5I<>$|^oQ3g5&Pw~ g!ݽ˚mR-Dnד|dF ,1yU82b`|v(c%#>|?j!{5Cqhrz΁c{Xo̾yi&Z }v%"6 w/hB-r[0'H$V7~B2LwVGLd55G?̊N3K慐ܬ@^t{ 0J91$sJ~R.bMB>n_@_BQ}o]v)hK{q4/~s¹ U]ܒ ^5 j:/++M_$iv_Z~ @ov3ϫq㲶S: 99rTQ&@]p:<UU;`Vuo/RsY{ӞbÒoȬCʔcdm,gYOzwH# cYYgї^}FW'GV t%cHbپ%ͧp@]w=SE>{$ܞh83vH)v>׎t+Ih9cN5߿$짔vCn뙵 V!i^S݀:}@v r5/c~x移yY8Ny9`oߦ{JY!gZf/!Vm pßݽSoהO_&ϳ}]TZ0hf$жI‰/:ff$€yJ8_i6NG:vmsx0/G?>_ey[S|Tnj.(92˘{ xX/EpSRF0HmM\ngI,"bd ]o4*3JJ^YԼ}< 1Q'xN0A=%<""n>1]R9 ݅>ExHE5F;P}~YJ`|S]ֶO:zWewa}6XFoz ywc!W\lfRO,eg*}:y;PߒQ䩞W󅦸ns|?6}tutD|fީ"@L(PZ^?;R@X3uw0];c^IGOPԍ+ғ'/_r8\ug*@9৺eCfI8 ]_;~J`\b?h>3Dv:rKM C}?Fn63 =?Пp8 t[wK; /D/Z/0Kc.9W U 뫵{fr ۖY=5ݖP MC]}Iͯ6e Oh}[~z3c[Rko@y&hNFR&Wm&p0.lПHUH=}9~zЂm`s9+(Gn~ 3M;շM)y`yZ^ OջhD(mG_Vvߪ'gv,ڰt#Ĺ9(8V)9a`H""~ΟOcT6|(0M9Hُ>:ܽgk>ٌ:HiFnivNܪ%+L6E.}.vaf׮Szԫ/K1QF簤%J%SPk_%mۖ1[a$%z~&Ӵ)<̬["ԗˬBrgE-O".k~y aMDPAΘÔ߲ W{uȕ|su[& w5ĹV{`.{sk<{#J'wӰ5[G1&+@WU>>g:0#wk]ޭ' klqٻD$˰`|j}f0ys`~>ڋ|;$~VwӼ/4p^lWks ?\?l L#/π=*́YPArvZ=_ŭa`'NL`nY krwl qy5h)_:+M:l?~r_n+<mk0O]R$\AF9bKC>]޵{Mc}QGIxb1ҒC$qFdS]q)S:@Of'%vmO&th@XB#)]Jo'J|v ǫm݀mFPjE}}-#Trb-Rw=|)`}N㺝TOBY]^P1I;KWFdC̳%\y5HB:CVERBʹؑ3ksr-1KQojX!qb>sPZ&PBp\[ǵ^ԟd`hIX{kIp]KeG^ۙ0_'.mkZKǑ{a.PvA{`}Nb.>K /l<ͳ2FDC~v(# {8kl`ʏY}Y.3u5OUE`Rwԇ󣾪\,eb?/ذu*+>\NJѶOGә|8}kXE?l:!g ݺy2VÅ'p50 朷zVtJ=D?rA!N |iSCn3cҟM8?t/{HMa FSu_{ N oBۀ9P+&mU/>x0^,yqB9,>ի307Akїl<7|SJNnzI@gs&eoBݘ z3:`ek~~l/op(y~ СײȻؗo0y K"YrˇE_) wmY׌\{iQ7;m1?={sݺz<#I.%͵Y0msՀNxqUQy{huZZ`wB}Yasqٳ0hE@i̮֒Qԝ*2}^` iulg<;/*O=rZlOk+[~8Tr'~[!ysx~`=~lg"ʁ+KM /L*`V"8S'_u2Jy?>(n~B&yK?(x'!m90ţ_6c ercp`-8~m6meAFٛ98pY,$`jF"6ESF#17\_\qnEK&`C*d{~7J}"HxD]3㟭A^\CPgkUq ȍcr]>V<H#Z1oYB-z@ox1SSG߀uTJ lu@_X1s_@[?_[j8+HBnN]2`݄+<%o@nre[o4&0O2ԗݷ. p쾴w2qq^݁Ø[ɇUv/  kW:HP@^4/^]5^ z Z1K06KӔdm0y~+|vu{=tmWfngvOyOb1$|A^JhaY8Wm8ͬn:Oc9qi?Y~[P_2-:^'YuP+ΜDS9/A݈J^%lu⬰ߨM{oC^7Lc9.z2>YBcEEcJPxq-6ɑe$q;&d$.~ sε#i!9kJo`wxLl@6{Gr=,] 8 379,w}佉+_bNR9p=9\Zˇ$dQ&Ev̾FksQZdpآ||\xi-[Ikf9S霋6fyM@^\Ԧ"OכMΚ۹GqsmJ+0# .?B%(-`w*Zȵko!h T2.жJ>d.;g}3W4=As›(; wMu;΅.bɚ_^/zO#Ϥ/u)K) RwKX8b[`(.F߹agꐒU]Q̕'b*H/|nUu//ˣ>x1}l H<%xtI9 q|sy8/0?z:u[w\Z Ldu?_Y39Jo%V;O*`>֝G ڿvX6FA}W=P?f0/V0$3&hJn$}Bs4pHƗ/͵jsaWE>)~o+Gzsc六^pm]>gHʉ_j=!ՆT5h 5eZy4?1^ȁQum:9ȟ&$^ !4ߐ@nd;7_]Z}ZcN9bT1 'MN y^=,:E|{buL}R0{>0b~1I.Ξ΢M8_mw&ߗsLnoϛQ[nz"UOr0wfw{oy9oML\)c9̥%gqo D?xT^cVes]>;(EvZ3/!]aݟSFkgknS$T-beFuӮ7c EnJh_S?I\׌󱹣twK2Aͷ@p-~EWW Xm[%$1R^8_ޑĂ.6xzKI`+mDD?g`ݸmX?]rktR^x\~9kʷn] (}'Ibޣz|̻߳89zI]c|;[1PO>)GA;j>2Lt;)9Y,*mo`Te}׀s{%%aϘ i$5o˺R ,`z]-☍*̃. Ow,9#A |M\6s묬"~K19T荱2LxVn 4%޹&o_ 03oJn|UΣ$|ˁ@3ϕٝ< ЮC@%C# m^5s)Ê* ~v 6;Xh;IHq-W6[%ē\KИCj9*_#rGF`OlF<~i7?l.ydネ?$g%~dEԻL"#36(){LNb}6~F_>W_^,pjmX]SXū"O7&^"*0J$-#;?A<%@= ]Z`<%??::\FM7"]9v[$e& Ǣ"O<ktaQ`9./+2qI /Huts)sgmIɻGطϨ/&ںc?Wkm4| ԫ{ܧ 6~:Bwς/#s 8*|&Q'2OxSTET/|aԕof`9}cE3TlQ`[ ?7,]#-; ĀϐIsz♧rWbMt#pjn֬)E;\)u=$5eou!{_nNX7P:az.oܙ7$T/AZe$!Ծ,^Ufc'̟aO@WݮU:P4u#t&IZH:?Õym=$_e,%O.u⑸&w=g5vL'9`_kNLcnph9}hX#7߂O_OU $GGo2wz}LlɹՔg'IYzbҺ'ߠ^JmqktAޗ@u f0k|+ryw;|N2 [78%fx6}ϞyK薡ʴY{gB IH# z̯=42(r}Ֆ]x]>mc}Wb4\/4!Us*qDMWVm:y:pm$o nB._mrKml27CΨ7HrAjf4ɯ?{{is;0kl6>Ƽ p^s7%a U_eùհs9{-c' Hf5&-~ȳ/j[7 >]$qjuyr=Nr w7Ղ},΅"Bhzo ߃E޿%lܱ8-IOqߎV#B@|2Qǥ5$Dv <0+FMnf[x(f3W)X]4jXmfr'Pͬ?-EY52%'e>s7+ bw^_85-n}+MG)؂0},*6PګYr!g~An}mɭmKq:.Ia'G1Eg\ʚb~κp_G`+|rIl.\\!(f7jCZ^=9 0iڹĥ=|ij-ρQO+}pUgQ ZVSemh=/Cwԟ?ISۤ^ -= Tm+>iyʠsH`.ɺ _mZ"|hdq~M uк6YG3L,/QQ ,F 0<4ҫp(%I\Wxf l~ƫ %^|qn5-@T*O0I=?Ù?t/\RJRɃ@,'I&ym@ᩲ݇W|u8>*#7 y37^[=ex,M;_Gɐ㲟 IB>q"07#Ibü'W1G)M^V2[[&) _hp\F=v-ɨvlb_~ͲaXu:v;6,3A\T eM/ki鴩F[@Xnsa P+z{γ*9 E!0wL]BPu.ΊwLؐx)ص5-/1GWzn#r-^geE`1/Vv@)?|}ĠӮGX;G|.']tswz[JN/zU<=i zp같>]H8(in]c>kO¼c4ӲCG0?t.zgY/fr39 g@cInXS+\|<@UF(':̀V{Ql>Ϻ=0s S@9~0~\zE_s_j0)ϗ:cI]=<)lC/;*Y߷%~uŃ@oP9y_#e98`3+Nz wVi*>"_"}C߶D7Pkgs]Y? 9πq)< 8'͓t/ `- }O\!:9_VMX!ޢϑiN\NM]G];7t\vMJ X{'I ^/6"uV;"07I"S{Ї;makF}fK8Wb̈́V%NLdA?0uq /l ŹC5IVlT0yj~ײd>K&a|Us8|;VճkkT r[;>YQ#Ld.;̽=P5%:2&ACz m~1Uj`VY:υZc`d"?bԙш] sCџ;,Sv^yY>53Cf}:٦_u%(VӖNnľ:F,>rb=w;X[ª1Wh|$-m5~[ZnϙF K 8メ@4*՝4ߢ{ 1wK2n@`? 3i+[Ns₞x{7~bWM;V,CBf5:'$ 6t'<|F1[cef VC[am9c8a̕_r[|-K`q/ Oa}g?ͭ+-h:#*ڗl' hەlWk`yԵuKwP>FNޢN>\t{m0/iTֿZ3t[ |VzipWqFۯt~s^ܑw uZM'Onupj0'oX30nׄygE83*)]?_Ovp\ߒ@Y{iw'9?}1OW)h>(! }QCV ߦqC=o~6YF㱐R8]=<€@ΐ T5+*;-ey978Wk;Vno hs6OfraىNˁi8x$sHGm<+}sl-bQТuKb}oCzgi Il LUz9 }-2_sv{|ۥ:fp?>4{s$6G>93}DE_/*R틬1BQO D.;fU"G&tg O&}z:R{40^ 7o}kon_r$0 G нK_uIsvԦJ2^k}.s.p{6r'P1.{摒k5m}}?{I(Qlʦ'X{smĀ+WVM%pg"YBXDžzW?~E7`fCpJ |qy}nQuOq3 J~"9omX`ps)>m`?h,B.[bǖAPBan}ff륧c7YدGVhLcnaj "3d  ԍFwqT5ﭹ8eueS{1w9~\&oj3iZ aǀ& ~0fgw=$$̅}Mj#ɥWküg$S>;Z'>#$./Ĭxk)B_r)k$4 YSg30ꗲ7:R bID{*~PڏH L')L/Yu}kkssI&sX->fǶ8%*0^ Nġs,{(eMSEM닁]_m,Z m:,Tb05%ȝϬRzR9R"? nߜHo@;ZA6XozoV{* /o#xBG Ld@ϯ/e,|ܘY} N$9%#F~ֈ{gn>3ok]_[}t7D7K8 3ϣټ7KuJuKY1z96s8c_2IB㵏6 fJ8rЏTԝ})8}6 U51WI&Z~샲ϊs`*``$0Ƥ![TD:'$pAVy̨0\Zuԓ ˎ&\J9-G#׵/:QBn}jtb3쑹-{f}CuMI`y>u\|zGy +ϭ$4hDw>MnףNy'-I\o'9!xwByJz/]%v}oCq I<#=Vggj9b* /W"sD\ Iɼ&9g6poiMB[?n j̼槀{Kn6 @= y(#[$V,ՏGl7^ܤ TÉENZ]?bfR>* tS +7-jr7f Y+y;}&ʝBsšsi"'+ xNxn|Sҟ(m[ B?ӡQ˦N{Lئ/s^h΢GP]}vG_fnl+ V{qZ/ i\GOXfcNOnz(^0{b]ȟ"VOĂ_~x۹'rK G`J?pg6|żZ_ۺJZaL/g#_Y=o#/f!ITRSOmMV$v4Zq# }·}9RPk:ǁsqr{5nwS cf%Jm^ap ߝoj5 "p'wp>B5[qK.,P)V3q;p{|x7*dYotc岘?~J7hxc?=w# ̲b+-~fe$a&A]џ>`jѪzB¯Wbg3Ӌ#Ak@YL\VH66 .=Һѿn/IF][=:_b4.%4OSahg'd| 2{sUk=kE̵߶",|a9SD?۝\;s 2\SiF]kҍa+h[b}&Ea]^x乧{|Kf1gW`7Y0'H \h<=(XІuKj KҡIDp'?.y=0Mdwgl^#S .^^՚()?sEmO/=[|t~K>MzЍVogP؟Ad4&eays? XvWWr 9`_P⿙ltDgDm<6MşqӨhBp%PVEC;8VAVoUG#65Xmf[z+p Dݍӳ]5JbRخe)4Y6Bgzc`_=9cɍkno= R8`>M- hɑ ¿^Yqw~ED Y/wi`*Mj =@S(-fX_~r$៿B$ -?u!>XQgQ<7.}ADq G+Y}Y@e `o. , P~OaZޠ70ˍyEvi+?;ʮ[Th^3QZZCd"uw;N%8q~w쫰W 1yd*G0xa_F'/ aT?~gP'ۊy w *w|ͺلǟq&/sO@-{LӺZ4c b5mej%zQhL~ڝA9(SQkk/b@݌3>.u%? q^<̔{ײ\HHIm|#<$VK U,Vehޢ3gx~zOCA`n[_W27~^])TlZU'?>o5pV˺ǁJod ͕j_`=7h9]LC6ԍ$L^uƘ@2elHoWRL]C?[@#9&r8GQ#n}~nJ_sinq]s>j?IC2Ka~|3 <% _]HBG_E_#׶Fz|,DY^`E˒G[E< MG|u /EKhr"$ 4ś*@m/L}NY9: ^m!LAxNYx+[mQg O,Xrn.p5o6"ڦoY.5.x 4؏0rk^Bq GfR_睩8_X=ˇ1ظ,yؘVT`~#Y\|0?Բ>jb+J>ddq}lpjda` v\@dPWI6LJy#.̫G/?l z^slQn%7C/(ϰ; /> yŁ@n| cVNj y{C_ͺ8f{#- O<؏6O7% =ݑc1/tq:cؠ1o,F0vQ ,jr``6<4zfי} 6| ?qc^qLypyVgo*np$Eqő;i)$w5`>$fԫ yfd&б>]ƭ^wc3]hb9; ^kt_ f~RD7?SxP{\ýs1KI' 3Qms1yEߣ~>%SPT"epe_#`z;WVtC9vx{V-E*[pR)-=#3SgY_ ($^v7rkA"='ial|tTuXLn%M|K#Mr~"u'*}2D.=V5>rǁH.)j=)ի.#o$5u"_?lvBnzM@'}v# 7j.m@>B?( Σ9D,A~;8 /tV~W#Տ.$r/>kV\ #om/7]x\ɝ+'~hF>%ze߳K[twY6, hL˾þ_:>~,4mrP ]5?\gǯϡTߛFnaZb` FOoL0⧥y#*K "o5k\~6[W$[ؾ(۟׈tv qT2Jz@w sJ{~Zp'7#N.-7~X4%~e{WkRH1 sr0<^^`ň%ԛ;aD;lQPZKξ|{T6aMUI z ,spݷ i@>p3I<9H'Q-ԗjuկK pਁs{Xf!o; ঞu@?-}K)Wv__,1?\$VuMC<q>3@  ?'rA}+V:}~SjΕl\]@=4Ҏ\:M~%ВVMq:nIl1)쵇c,;c `75>9 '1|N >iF&\sJ@.l[d ]K)=9k ow},/>[8hyF%G<]©xM<$|?^ 芎ý:uvd1qrq6p Cew-~g)S+[Mawӂ$qfZi䌅kwڑ?ދ[8Dru.RWE,?3o'&Y ZA>폷H' phf˺oOwbA֯D?[eɵLxۮszs\sGZWV}z]Rke{c<`{C%yva^yS?@܌. ڨuo VEWڠd:sAXⲝh׉[3E&mw /N+W){J%c[IZƃgC¢icB/-t[NJ$a 33\8Uj4\<1`oOrCdž?W[@m^)IZF\yuӿb0c~tz<·;.,{yi(kqsޜQ)/ /GJU,}+\qpιKƹztFPu䘪TD~*42i{NqY*ͫ~JN\ |{(vI#i$،{y̙^+8~,.>3广ޗ椹P7W@>_=axr̺Q<vÁs;'5пy Ibm)QgkU=HX]ż\(Ƨ}A p^wFOcPSԍ*vNF{KN#nV,NV~\`>з%ln!9g[c0QCU8u&2wSw͒|blEm`W/+7')׭؋sŁ9kb\ y)%M*3O{$D^i ߚ}iø7.@)+\ ԍ?y/Ż<|:x# u7GAc<}.>PsA7*{nK񼲮cOs.nV].:xSËș{&s1<߅| br_E6[R>bi k5@iJ}wy;R}3@ۗ0>UC`:$8;_9Q;ɾDGOa`ViGd|w9ۿ[8r؜dEƿPGs:Łʬ{'bPrUy5%0}.i)D|v#`QWs{YpJpbnqcsOS1gyZk~,Oo `YR`.Xl@] m<~^Erhܢ~ aY|@Q o9}e:{@r<0c|1~֞F `H՝yNpC5\߀]J$xO_{Ǖ@rm?VԾ—5Nا_+?CS}ˋ_?Hj?"/4xb${؁3jFȭ.Y>%8.ϾHQ!hC菧ርS z Q{.CU?^Aw`LE\nXe\N7֨G?jά_}~MC4M5DڙE_pߤ\)N:}?8+,GCxFue TO|#~`(\vqkFls҇Lڹv+y-wgl%$ e~s༒-ssrpۗ٘=n3E t%*S趧e߷Ln>{fM=`){$5ː\ng*^}Pqz#F]='m0"Wd]'p)#\'K3'@_om%K1/$|x;kQN*3ϡ.y?9MwI.w&]$WJ$+Qos񦪀:W=N*Cx40Ǜ|P}/rvgG_t sxg~[W?qXĿ,/qG-%%%stP򥞍`vThml]99@ݏ1_ =^W?C_Z2\{$8N< 88L7.niõ9@OeC?:+ޤ/htDя_K3''W3e+Kab#:W?~(o'c("DuWUZmQ0WoaH!NQ6iLNi?.*ԏ[!W?=Oyf\_[ 3u=X )~~6`o+*TNڧM$X|>xJXmub[Ma?K˧Oy_NGQ)x!%'e%:7寕yںqȯ{׸+ˠTb_=$S)Qu Pof'ϕaJλ3 e1g?JYL/.VcIۏip}/)xϓ1KUowgeB-2ccZ)WGyK sSe_M`u]?Iɥ'0/-˳sۜ u?'G|SU^- wiְl%I9Br0}mA9[x?άsuUX;Zw:u&;\[7)l\휡+./(Im}'RI h"XۛW̵}̮󏰋#N۹R -#};^8o!tcjrTPŎ*0]Me$}a)1VqBE3$)<`^Zm`N&:X>*Y/F7Kv k!g>r.6Uu(-ZXyl(quXj~qχkGn}0w3`e`w`d5oFig.K;=/p*/̽ivbSH{ t{7o$aהiq.]5}D_Tumy'd Ћ2ɽ@]'Saq6~~_A+ceV_ L 3 @F t̛|;D`EErW =[.#@WB=9@gm-9^I$`g7ofͷb끵;-z[ )l[_ eu% ^~ Tpͽ8ԧG{a~_2>f2߶0\*^hP֭=}Jn g7&v׻ }ֆVeB[ 9c &a3kj`0-.|$lt&']3eI rʋP5rXXGX$:0AzW )Uֽ:} +Un`ϻa$UC,o"<IBS&`4hwuznzFmtV`λSdؽvէ>֔tPe0A}^T&hN==Ҩh7r_Đ\$'~ݣwq'IHiF6"Q|MC P[Շ/jNIaloӇt8]f\U /ǝj_Lg$VIY҈З^Y_'2DqA` _N{uxYů)ܲVdF}>{co~z@OI 0%#щב:. >M\B.Gzg]b(S@ǿy.tCYc_Щ|8ki2>r?5/ ?~1wFK9]qƛk\wf5`ҧW+ET X>͜!}J`ȞS<e~=ި G loMa-\r$P8^ak}p㑝xg?v MYוu^ɑ O :+.o 茞V%1`ݾ#/뀺Qq@Q `b YS`W<8g_݈r UjS 8 93$U=EX8̲?yz5>wV/(!"jbb&4̷Bp%10/gt lf`5otN~mOb5y8ؘy{Gx&ILzNrjТJdEqf 췊裇 PwwT>;c=Iۃo6';;M̷If yU-ߟ8/G MIB6C^_c?Nutp94 @7\.$FΚȐD~ mp|5i=6䶥/y]Ex̾!-?IُF^,|AH`{Ԏ_b4US3w>[Q*1@"}t؁k@$ cNuvsZSArI Zґgm h_e9/;$d@].C]l5x2s&>]`:=o؍P畕g]Ի%%gt' 7֥ O$ C`,[=| /ɥ Q/TG?eۼu>]I S6q`kEB_5lwʸ]q˯TvU8sHj[:G~[Ka߁rs ~l_55y%n[wm4Ve|Uܻ26>j Pn\s f~,~yzݒ 򂔀ciA&/b;g`>r,ނ貁=n=J*Nf5RQo_Y۷B.q}|Eu\@ u9qS ,s4P0N >c՟8mX򔅵ȭʔ1OQ)+w;hbyk;ds養P?`ii4I,K_ *H%70vOj8MGOEP279\o}m*h|_I?Z5(FNiML1вڏ7|g>(/5M:#e"#T{m!y@P[<@8? uN`;lMuv}\A`5keO_^.FWk[l!>q*QC"΃h=XZtqy2߶;Ky3ߺZ]05G(` 0K*倉iELR׻ϰ#:#V~-ՋfhOga;sJ9#%]Zm6E;oS7n"nyݒ~P2,Cݒѝz) 䕮U6a8i&͕$oxA"]}CW\vV[o~W.0TJ$#z G6ʙ!i_\@=nibx|W(< 0׳GaG~i[Gn3# GC?1Rָ\*+ ~>$\\:b(0K5c`]bR{c<^x\71Ƕ_W磘̄.^b_{u/b=:9hねҶ8?cz[3:g|$ Rք y/'*̱+ȯq?|9|I߽r7:OiF/_>;اOg ;l /t z7 ~3?,ތys[U3$J{q~;\BZ BQeJE h Ǒ{eGWapJtO47m-G'~Uw@=usINF`*`~э* 4g̶rUM!Yr7h[ RQ ٻS_&ۭI5XU|6m:)ge{j 6}$Uvn y6OWM_`7-M|pIHʻLsP7u>U?7+$Y9梌K_&"}Pk#5Qȗg :`HבhMpꜣ eEOu9 Vz}MKo_ D>:.PI X̾d'84H!*D@'{gSjV`|JK#E;rR _j[:-k"` *ڏu19yCCnW-h\\HےvLgɗz@=v"**媘.k `4~^{m ͇F*sO8*3׍kCV ݰ9q]4= w0P 4ڂʳ1FϯdZ1'5pdrN4 Z${W}(D,j0"Zeڡd[գ}?on$IT(_)W@ Gu9PHfʳڻ;>bzlSVeiyř\O^~X=?ة/ `Cp`" br-%#nڗt 0tVl.cV'v Y@wʿ <n]~K k٤9k>+EQ`i=yZ <_ y-3f"Ԟ$/+ړeu muPg$4! Kp^p'f~n&83 ]hmY̵}j"pT<|8nOuay .]Nܷ9+4_WiXf|b?G!7$%!`˩A \n;.yh]`Ɠ_o'/>mR㎚ br!r^__sWYg8o#DTb~p3A}I._jPonKoeZ+?^ʨUD{r/M9Չ.@m:L ̳d;0p^ڏzsG/dYg3L&i kRm?OXݪkB{I7{dh3:?Zµ š.icYtg5^y)';[Lw r#gͅAˁџ+}c'd̟m``TExOY9tтb`s&rhعr&w(ݍ:xzݬR%rgKhْbKnA}UHqb-7J'ːW>jorklP'.~w8֡_L9{6BPzތBL=*u7Ff|Y}A з> & Bw'OEe0(aCc3Ȱ=_oyFs=L*PAw͖o~A>fPx<{j1g*m$T?{/oR`9[S I/L%/VsiWVa! 7B7_Z '+Z;|ZDBu㮓C򏠃FZ@/{K=v\vזRSNzIkbp r 91\}>ZDrH``V y/iP Qկ!۹<39f} B+?;|;ML3}u{jmQ-/Qv/>}!α9{$,~,p}`ج/:W|شQUh`kÌлw7G.w hH 7@}aV09I{Σ8ȥV't[ʷ:]6E]cь9Px_kSWIecc`2s\SSSy9|}$qx3'a0kh|&70/,7Y3PfAHITOؕo/m%f|,1k^^VN&V)0N6{"\s̐o”2 <3ueVx6%݆e@1\} b&!\v~?{r?`.p:uiؔtq9@?x TOݩ)ۇl|1(X\gmLq:z" ?v%3ϱO?hgr6L/5ƣh;TGWZo"  -piK,fkҿ R~;̞ENHj/,u;^G/}7\+o&w[R.#]eA#ưJuJC=Z5.%@}]}WOIu=^~&I|]f=ӽg~+8򖌧U@/:i21t]J٨N7Ko[(Ir@GJxw N*͋/aas'1pQM?Ԙ(k`um~;`>,wڋq=߿Ti gk&R$9^_'2v@謣+?]uπ-??)ʽBQi;s`5'!6|=ןiCQ|(}= yZS::Zq]>>NF~#Yt$A">%o/~_+6].C[G.+0.g=Xr'+߼#g .jK߷5e׎/mD-쌚~H;9/#эWQ/'q3> L<1o}W>`USy&pJ/ۺ,}f\c6& 6' A&]ޒ_u=2:&S@M.I' c cd;PO7Oz}o)OqXb+?_ >@HùzdCuv$C滱 ؿZytK8^QyuO싻$1  +oxo ')m*R{,Pˮvr9k1}eq-ZloxYva4s#Gn FE޵<Kj>`a~UײYICIъ]@\q}U* ༸TYu9$≝mD xWxc6+!{W\;2J7*\ߧ?J¹Rt~p$ĭy϶#WI4؈ IoC5CW=Ǟ ͊5Nu]o|x:ck[t4]hiS{I",%1siHz㉁u `7D^]r0PTg>?q$Vd:op6 zf?Kʠ-ͷ yBP7VާQ~藇>ja9y{`G\~uיl@]ZRϪ@S=h n˫evUdl/j̭U~t~ IpGsnF} $3y+r <\c$Y~4 `/ Σ,5O>rD:W\Xc>wJymbU0jN@/kO#1:.#f!ǩTm~ѝIhUY#oxd-Cc@7{DI7I\jS=}}\}+wbvZ{M}&Fsq&U|sG.  1/);y^C`]0` 64Cbx(4yӏ?@э:$PUj r5@/hLiFʹtT2yQGf1xy ѵ}fLކ}zZпUZimGvH}IXR+&+^s䆁ɷ,&sGݏg$ +#؞kPE|1jqt˸RQrzChm=хz-ˀjl9na51¦'f *V/W%9]W0#[йȑ'pkBp{!0L" .;wyis+̐}Mh?4bq-Ok^j_nmxv󋧤>"t rp;DysGqx70f駧_uЖW:^F"p">/X/:I,q+Wvy*(`rVY˥s뢴S%;_6uG_!')`eX+nR/?x0Kv"0kVĠ0?.`}럄Nߟcۂ Qn=z{iw^_ЇՎ/Nk`ЗcSs">i1> m9'HJA&Ac+neaSjc%an~D [[XJ ,l~)غc&Lm 9+"/SSBo"/(t+A?yL3Iխ3GdSc'+HlֳɅd.ƺp58:VcnpY{C jr@ W{ Z\ttt9\8ٿYuۢpO_,ygMyK$;Lڄ~%̙+MokEo{w8˞H} *5ZuF_SYS[ƃ_!n3aI'&yԵe3ş&L―'waugB*\?u祦% FG}"Z>9mW|9?Y-||p.A {KM8E L)8=7X7^JM㡿PSĵrb3iva E%6;<50[ZL.Sv㜹 Qzﮭ\70:Wk|^0陯C+O2jA5IW}:%ļN?{v]8;gg_S>y1h^ f")(A^6C I vc?Yo?4 Rq)컯}xN-KK9@QȌ[[ s c]Mʍ8g@;De¾-9}׳@&Tx*[#N(_m@+g1$+Go  yYa1-7z\{=pUf?8'7R =foŒ@ڂ~.R 3kwJVb_0VXq^xU8>;%Ɓ>>#djYO[|=7|g3ϙNs_ XSp8'rq]g;> y;r3;ktՁzAk wd7;KiyQk3P>eȥd L_+l{8`6}}ЭuVp/EU 7E8 j$):G V*,dgW]@$\{Q/wߕ+ ;E*?9׀.a$V!/I/섹qY@] SLyQ7EXKKrzo^́FE7EHB~ۮ'r@{#@/3xuݟ|E$umQ[1ܷ u{O'`c-pA1/mOP^ ԀDžI@);TmzXEpJJZra_3'u8?v&SD{_@9uk0/ WzX[ᘟ$cSsi;ч>}v?׀/u1z0c7܂~gP7N]}^4%tUO.eg+W,A]]lf#IsnB^X0.mգ /fms%yAf7{b"*awsQoy8"YIg0q?0\뢣 ճsAV9:k6$+Ҙ8o=c%ޛRgdjA+ u~FtB~O4Yr*!?F벘8s _wu MIe VXϓ|kC]RFӦV0on On'wmqUgI~@xXS5s?I[񒓚y,: ^o ByP]T3P[@/Fp>)2ltz5H8*Pq͗,tQE7_FaJlཋ/0\Y璄C=Y-Va=*ůi_KqMP.suyOpoU*J(U|#-OFw~?-\ᱳ}YS{-=yl#P=>~ˑ$tT~rf qnm*.Z4bDDj7νb{U~9`W.m>e]>ٮF }ںed%Mw@gjܜ nW}dcߏ]i֛gGr󬙋wnfܧe2qskIΧ)Yn/zf xqD(KoҺ&2b8 *ae' H{uGua]b A,rW5ܾOn s8\ro p7/7fm*J|P[ź<$9wǑ%ϣo[,f¦i9Z`K+R+y/rfǗŨ?\ZޡЋk$pCO 97!/J3y4ǓoOrv>`bPE 9Ƌ>kT%|r׉M>{c@Q->5o6PnNU( LU$5{I=z Bo Wߖ\Y9`rŢZ ̬pc9z6٪${'tSa.*(Xc_(||k#z =;\tWͽq8sz9@g H -`O}ӌ_cM-jiq>-z[*Iܻr`cSsU!*uSiF΍@ɴœj3r=wc$ѷ4YAOrq'Y^Rc%Hy"o -F-χj _ߪȏDcDYokvszu{jp*hN ҥ$,g}g]w?ʹ6xHBTl&yϧlP->vR+]d9"w303ؘubpz(B`ˌubW9O:nJ !W6a.=uXu_CS9X 8 t]y@^gwn}Ԑ]`jܠa5 E0; IWee@MQu/]NF V rG@}"<Ϡn+ܸ:ݧSP7v_90Atc!I_آA9QsR *=M/A>.bI"b]^7lЗ=u JARKpN#yTsa6!k]й{J[AY&j8|~|`m LJqO|}YWwJ_Kr{MNF`$m/Eb<2t5)\7_?~]a?= #YhC1%T6q80 Ԉoc}n|ҶJu%ѸޝqNd$ uôև$/3Ǻ >=Kץ 57bDBx^R; +:J}ݍ~~ۛK]ǜ4t~y>0?w)AZxo`}:"gX4*Ng"w5`\힢sZ! yI^nV6DըWQg]y(v=uJpBi 4]v\4u懕{˯,ZyyixK\]%#ү.+tI)}_jdyS6 ,~%8:2(o{/3c$ZDHG @>\| Ґ~=9&b @_ #&ePs%β;z梃2PqQ/a@tyM_2s>a>t u3Ds{]Z>t3H%`nr|8'A HX%@Gzp 0z-;+~4M ?!^u=l~wg9αC46cOL'ZO 3)vy!v20Mk~D6(:8j;jЗv+G^L$~'%7XS$FoE ̋yk|yJ0u˽)Ï-tItj{\j#7s_/וI"iY@:q u |هbNmwG.ze^ Bhkհ<~Wq=$zrg=tvi!34ߺ׊>N)ASQFHB*/g=NA]ؿ6KZmWK{0p6ܙ]k E9ݠg' ;20W˩"ÖF@;.ź-<,8$I| ❞vcѥ%@ ?ssR/rOw3pӟI~_e֛Lݜ1OQŦ|խYm0J}vb{O[Y>}d_GES[#<>kO"/3MMگ~O 0[p=;%95x]rĭ}{+?ɛʂȾ(KJLp["*h { `~p9XcI}2@ j+Z^-0~v@ ܮc@/An"{OKJ̻:Y|qNF:.S?yp1`X**ا`)жǏIDuȽ06G U\ =<5"n_0*V\r⿋جc`$G}a$M>&JG]wq&0lzP:C#\]xx; јMlimU=t.=prg oews;3@'rDjӟ_]\\:tlw䦭zW8}́Fի1G&HsGQsޭ j4{swޣ W)*Z8ޙ=|ݾ؊Bq>QMIiSsE)%ǻY-ZW6t8{xA<`[Uw wW Y{گ rKJNZRk7W%_ԱY[p!?:ޭw3OJbۦ?ey vD kG#L72/$mX90LU9\<_9ڵx0@ߨy#,SuΣfrٱ7V1>֪X7x; zTT0JȫTzH.@Rȩ\vՑ\?ΐD|g rso+pCSn-gb |nG \3qDː鸺`~$KG%{'~"ϗIm6 څnO7NԇFUo9`)xb}dόQ%VoSzu}0Un6Sdeq%v\F-~dP8K7D? @rIuo0yȃoFz2yޣx%ѡ%0}UB_p1A^Jr gET J LyQSG$ZF!$nBハ}"?Y53k_I-=9 9r|⺱9܏C^/R,aC@rڕ_. A? +4L!=z*oׁS9+{9R[r23EuC4QyTZvڧ+A~׃wcKnNvFp>ٞ}b~-|:20wWlUE?\j&u5ըȕV.أ(|VXu# S:oT wg,V85E2 kxԵ@ϻM uI(sZ /mT|T9[r /y&hm=]6EAM)$=1<R3?w}܋}HK˩ch770[>м̥;%ͧgb, źƑkLP<Z_!myssL_'k,iXYk3yyaO1OrV.6;/v*O<8,-U78t[bo YwrKQ wW@>=o^ /v>!C?\SK͒2xDn[ODqAmE*rU'wԫDkgT}'Vnt" caY0_Mݍ~:sb>ӗXoRV<Х( `;r4~ \֝˝>-40G=? GxާЎ9ԍ́Rȵ]~8Geepkotڊ\l{549H>gGύ]yp`#M| Sr9}̧ 4\Z>VqAܔF˱JEI'5^nehL>P{x@({y/ g&+TԜd*+9N4@\Io% XȰO,V.c4qݥ4x\K[k6؄ 4u%U$vu(r8&1w$:>y>F}+(d. Ƭ)rVZs^ԽX= '5ww@_Y4]ؚ!y;3Wְ1Q`]Z=a8-E]M@ ث%Jדm9n܅]{Ёw#0/]9/21._ݳs=@[jӇ+~#N?})|]@<ఓ ,YWSW^mۥԡS G0Hq{5naIa~=G=SƼ9LKg9=ѧMtT1yqψ P٫O ?/4'u̻c{R͏(,ֱIFg&PuE.gn!Voc"+5 GF1p6WrO8(=B~oaob 7Jr8%.D{yƉuZۆn\9lKw/ MOE/OSoj֒p+-!kѪ9@`No ivje5pּ&Q}oC|1{ngL_?qM"y=~f"o@Eׇ?3 z?91|؋X2eÇoV`~~B;Y1WDO-q }86k|M:#*Ryv0GfmyeM9ޏks׮`>݅MIJ czOC<@]m; 6qJ p9ZϕXj̏f@wUU@5o]$»ʵun2VcB$cm *H1`nFd{s7}QZ|z9mE>Ht#(zvnD/E<5v*\?EZh./ŭN_/p[wKݐlhݏy)c@Cr;mm$1[ Qv3f$|uSq[n?}K7CjrLfB<fb`ĬMjcXx{q݉<‘|!Po!g~wN C]vߺD`, 7 $kGnb+7fi #'ŵv3ja!%MN:gIBF-*HL @&Dhw͙̤ W|qub*+zT%<>Gȏɭ{vc{<XsGbErf.& Y؏_Ń0Vozl$إCȝgL䐄lyg8򸸁}ikL^(6ȋudHXΒm\mU(G7Oz:_O\ zNKھ}.VqsQcW3I"åRPY9rmdž[n{~z0P'gHyk#=,HUVbsWFG#g;QxqJl:4|}/3 c,Z>#$rR<+ۥ?,{tf`ԧ)}MYs!gK򳑗\ Iݤ4Q}I`ˉXA+|'a9zAa`NsbI9]6%c,S+K||g7PVw4^OewoZWN7 yGHB7v6 mz|9h5 ọB>Etq١y@<0'oN>tH__%;"ξԦe=}>u9o>v3 urw- ":T %X>ͭ-}5׸s_A}֟E~94wJyՑ0S:c}Hק$IsD7/-.wV\K`GB@=?5Xg S;F}ǐ+|q mOu9(k<hTwԑ)3gT\՞UT.-|T?,*\Z.k{OgoF{F8#kliŽ( }矖Y$I$d=޿L(PZwa| YY°]o}c10G*>5j}Ƥ=拊pf>H5ӟlz;5`zq5>d?gL_gkM8GVIIg3Oa^{П :e}CWYfz7odDAl[gnjRNUQù~wI.1w@VN֣+95lk åQ!*`=ӧ^oywM90:7{ƹʗޜ+71sOp_y?yi&)ĕWaS+C>#"n~4Sn9uB. ^~{A}:aM`Q/zF kM싨R8M$\Kҵg[\>bG:_+*J mp<.RqY7$k2a L͓]^0'ם );ٗρZʣ/r^ؕ'9@o>\v:s3~;^GQ Զ١b&(u:Eg/b`Dw-}y-å6i: V_vu| Xu-5@GΜ˶SNOЎ4_(ythk~>lz{Rz*07M}wma~ +Aa^Y~Sa`e92/̕x?d~|&Gwc=r,-^`R+ M߷Dv-q&'24\Yl7PUyےdsDF?!,* ̹$=ׁٞStBw'VoA7ЙZ}řE.c6b_vI޶ظ7>bm$1-5\jH֔<8Rzy1+e6Z ߯lEխəW\o/`?m,Co\߾3>5['PTgVGy9boVE+\RF|RbE&o,YcJЋLJS$4 0WVwUO@GXD ޙ]V@QR,n1Jj<҅b\3-fL/`+εrqaҭg8m;3:Bd'{c=7Pqlig)5z0Kk )#x\Nrg/v\5[QkWF{R浳W|o >-PO9~ Wˑ˞;YxȏXSlչ$X;3|jKg7/vGտѓj lO[cX$Lu8 0̵8X Yt NO1$>um_yx 7囪Ïҵg7׽fn{vmA`+޳Bzq% հo}w,i:7|rgyl:c 9kPm<Ԛlf Am̅qI{n)0JQ♈%g&xqUƈ/l6xիڹ0Ol:,KߜuOݾrȷ /_S'ʺRKa~괋=0fY+ΩA]{nz]۝6 wn뤦Ɲ 1PoWF$'wKs~N= dW`vM_n7+bQαI~p '@)? 臻.crǖ^=4uh l܏sy+鐃:7xIטI8/ -Q@u+#QkĊdaZ}$AjsJpap)?Qu{ۀ~!f>_ՖCව GR&^b>o\t}al1Ԟ\~UޛR/v<՗fu Z@VjDWms 4JccƁjL-7"q]:7$?v /3D?I9 t|Mg$ lkF  iyoYJΦ`C:ܳ ]ʣ=]}pn? D=RO$fysKo>wiSʳ=I~z}R\zȾJU__˫oh޺aubΐ0ge<O/m]>wA #+;9`f|O@Z4VR.dČph‰s1$ᒿzoK Z. sӺt0Oxt4=?RQOd]4B.wdK;tȳko̊ȉwZD8-ڕsL'-0//cGUQm&؇Ċz+H],WIs;|W#rZ%苮|I,? ~'":Zw51TUlXz>xOx31Νw .Cn=/oy̬8E9=| sw1>nY[yu0o;H]Lvh{ck-"9e7y/Lxz9P~ނba`oPN6X?[^LՕ7pXyc ёJg{ۋE o}-ֲ!䬵glv n[2":y7q?gX_)3 ý?27}#W'+Zj0WWb^_4U^!;! '`Ζyi+b 1 .X*_>IWgO#GpM^/WF׶>NN]sY^V8y8>I<>5%+;Jѯ@~*I6G\}Wqto :?z:qu{g7FZlme4/inst/doc/0000755000176200001440000000000013437531451012643 5ustar liggesuserslme4/inst/doc/lme4/0000755000176200001440000000000013437575312013510 5ustar liggesuserslme4/inst/doc/lme4/inst/0000755000176200001440000000000013256457400014461 5ustar liggesuserslme4/inst/doc/lme4/inst/doc/0000755000176200001440000000000013256457476015243 5ustar liggesuserslme4/inst/doc/lme4/inst/doc/Theory.Rnw0000644000176200001440000015133113241563622017172 0ustar liggesusers\documentclass[12pt]{article} \usepackage{Sweave,amsmath,amsfonts,bm} \usepackage[authoryear,round]{natbib} \bibliographystyle{plainnat} \DefineVerbatimEnvironment{Sinput}{Verbatim} {formatcom={\vspace{-1ex}},fontshape=sl, fontfamily=courier,fontseries=b, fontsize=\footnotesize} \DefineVerbatimEnvironment{Soutput}{Verbatim} {formatcom={\vspace{-1ex}},fontfamily=courier,fontseries=b,% fontsize=\footnotesize} %%\VignetteIndexEntry{Computational Methods} %%\VignetteDepends{lme4} \title{Computational methods for mixed models} \author{Douglas Bates\\Department of Statistics\\% University of Wisconsin -- Madison} \begin{document} \SweaveOpts{engine=R,eps=FALSE,pdf=TRUE,strip.white=true,keep.source=TRUE} \SweaveOpts{include=FALSE} \setkeys{Gin}{width=\textwidth} \newcommand{\code}[1]{\texttt{\small{#1}}} \newcommand{\package}[1]{\textsf{\small{#1}}} \newcommand{\trans}{\ensuremath{^\prime}} \renewcommand{\vec}{\operatorname{vec}} \newcommand{\diag}{\operatorname{diag}} \newcommand{\bc}[1]{\ensuremath{\bm{\mathcal{#1}}}} <>= options(width=65,digits=5) #library(lme4) @ \maketitle \begin{abstract} The \package{lme4} package provides R functions to fit and analyze several different types of mixed-effects models, including linear mixed models, generalized linear mixed models and nonlinear mixed models. In this vignette we describe the formulation of these models and the computational approach used to evaluate or approximate the log-likelihood of a model/data/parameter value combination. \end{abstract} \section{Introduction} \label{sec:intro} The \package{lme4} package provides \code{R} functions to fit and analyze linear mixed models, generalized linear mixed models and nonlinear mixed models. These models are called \emph{mixed-effects models} or, more simply, \emph{mixed models} because they incorporate both \emph{fixed-effects} parameters, which apply to an entire population or to certain well-defined and repeatable subsets of a population, and \emph{random effects}, which apply to the particular experimental units or observational units in the study. Such models are also called \emph{multilevel} models because the random effects represent levels of variation in addition to the per-observation noise term that is incorporated in common statistical models such as linear regression models, generalized linear models and nonlinear regression models. We begin by describing common properties of these mixed models and the general computational approach used in the \package{lme4} package. The estimates of the parameters in a mixed model are determined as the values that optimize an objective function --- either the likelihood of the parameters given the observed data, for maximum likelihood (ML) estimates, or a related objective function called the REML criterion. Because this objective function must be evaluated at many different values of the model parameters during the optimization process, we focus on the evaluation of the objective function and a critical computation in this evalution --- determining the solution to a penalized, weighted least squares (PWLS) problem. The dimension of the solution of the PWLS problem can be very large, perhaps in the millions. Furthermore, such problems must be solved repeatedly during the optimization process to determine parameter estimates. The whole approach would be infeasible were it not for the fact that the matrices determining the PWLS problem are sparse and we can use sparse matrix storage formats and sparse matrix computations \citep{davis06:csparse_book}. In particular, the whole computational approach hinges on the extraordinarily efficient methods for determining the Cholesky decomposition of sparse, symmetric, positive-definite matrices embodied in the CHOLMOD library of C functions \citep{Cholmod}. % The three types of mixed models -- linear, generalized linear and % nonlinear -- share common characteristics in that the model is % specified in whole or in part by a \emph{mixed model formula} that % describes a \emph{linear predictor} and a variance-covariance % structure for the random effects. In the next section we describe % the mixed model formula and the forms of these matrices. The % following section presents a general formulation of the Laplace % approximation to the log-likelihood of a mixed model. % In subsequent sections we describe computational methods for specific % kinds of mixed models. In particular, we should how a profiled % log-likelihood for linear mixed models, and for some nonlinear mixed % models, can be evaluated exactly. In the next section we describe the general form of the mixed models that can be represented in the \package{lme4} package and the computational approach embodied in the package. In the following section we describe a particular form of mixed model, called a linear mixed model, and the computational details for those models. In the fourth section we describe computational methods for generalized linear mixed models, nonlinear mixed models and generalized nonlinear mixed models. \section{Formulation of mixed models} \label{sec:form-mixed-models} A mixed-effects model incorporates two vector-valued random variables: the $n$-dimensional response vector, $\bc Y$, and the $q$-dimensional random effects vector, $\bc B$. We observe the value, $\bm y$, of $\bc Y$. We do not observe the value of $\bc B$. The random variable $\bc Y$ may be continuous or discrete. That is, the observed data, $\bm y$, may be on a continuous scale or they may be on a discrete scale, such as binary responses or responses representing a count. In our formulation, the random variable $\bc B$ is always continous. We specify a mixed model by describing the unconditional distribution of $\bc B$ and the conditional distribution $(\bc Y|\bc B=\bm b)$. \subsection{The unconditional distribution of $\bc B$} \label{sec:uncond-distr-B} In our formulation, the unconditional distribution of $\bc B$ is always a $q$-dimensional multivariate Gaussian (or ``normal'') distribution with mean $\bm 0$ and with a parameterized covariance matrix, \begin{equation} \label{eq:2} \bc B\sim\mathcal{N}\left(\bm 0,\sigma^2\bm\Lambda(\bm\theta) \bm\Lambda\trans(\bm\theta)\right) . \end{equation} The scalar, $\sigma$, in (\ref{eq:2}), is called the \emph{common scale parameter}. As we will see later, not all types of mixed models incorporate this parameter. We will include $\sigma^2$ in the general form of the unconditional distribution of $\bc B$ with the understanding that, in some models, $\sigma\equiv 1$. The $q\times q$ matrix $\bm\Lambda(\bm\theta)$, which is a left factor of the covariance matrix (when $\sigma=1$) or the relative covariance matrix (when $\sigma\ne 1$), depends on an $m$-dimensional parameter $\bm\theta$. Typically $m\ll q$; in the examples we show below it is always the case that $m<5$, even when $q$ is in the thousands. The fact that $m$ is very small is important because, as we shall see, determining the parameter estimates in a mixed model can be expressed as an optimization problem with respect to $\bm\theta$ only. The parameter $\bm\theta$ may be, and typically is, subject to constraints. For ease of computation, we require that the constraints be expressed as ``box'' constraints of the form $\theta_{iL}\le\theta_i\le\theta_{iU},i=1,\dots,m$ for constants $\theta_{iL}$ and $\theta_{iU}, i=1,\dots,m$. We shall write the set of such constraints as $\bm\theta_L\le\bm\theta\le\bm\theta_R$. The matrix $\bm\Lambda(\bm\theta)$ is required to be non-singular (i.e.{} invertible) when $\bm\theta$ is not on the boundary. \subsection{The conditional distribution, $(\bc Y|\bc B=\bm b)$} \label{sec:cond-distr-YB} The conditional distribution, $(\bc Y|\bc B=\bm b)$, must satisfy: \begin{enumerate} \item The conditional mean, $\bm\mu_{\bc Y|\bc B}(\bm b) = \mathrm{E}[\bc Y|\bc B=\bm b]$, depends on $\bm b$ only through the value of the \emph{linear predictor}, $\bm Z\bm b+\bm X\bm\beta$, where $\bm\beta$ is the $p$-dimensional \emph{fixed-effects} parameter vector and the \emph{model matrices}, $\bm Z$ and $\bm X$, are fixed matrices of the appropriate dimension. That is, the two model matrices must have the same number of rows and must have $q$ and $p$ columns, respectively. The number of rows in $\bm Z$ and $\bm X$ is a multiple of $n$, the dimension of $\bm y$. \item The scalar distributions, $(\mathcal{Y}_i|\bc B=\bm b),i=1,\dots,n$, all have the same form and are completely determined by the conditional mean, $\bm\mu_{\bc Y|\bc B}(\bm b)$ and, at most, one additional parameter, $\sigma$, which is the common scale parameter. \item The scalar distributions, $(\mathcal{Y}_i|\bc B=\bm b),i=1,\dots,n$, are independent. That is, the components of $\bc Y$ are \emph{conditionally independent} given $\bc B$. \end{enumerate} An important special case of the conditional distribution is the multivariate Gaussian distribution of the form \begin{equation} \label{eq:1} (\bc Y|\bc B=\bm b)\sim\mathcal{N}(\bm Z\bm b+\bm X\bm\beta,\sigma^2\bm I_n) \end{equation} where $\bm I_n$ denotes the identity matrix of size $n$. In this case the conditional mean, $\bm\mu_{\bc Y|\bc B}(\bm b)$, is exactly the linear predictor, $\bm Z\bm b+\bm X\bm\beta$, a situation we will later describe as being an ``identity link'' between the conditional mean and the linear predictor. Models with conditional distribution (\ref{eq:1}) are called \emph{linear mixed models}. \subsection{A change of variable to ``spherical'' random effects} \label{sec:change-vari-spher} Because the conditional distribution $(\bc Y|\bc B=\bm b)$ depends on $\bm b$ only through the linear predictor, it is easy to express the model in terms of a linear transformation of $\bc B$. We define the linear transformation from a $q$-dimensional ``spherical'' Gaussian random variable, $\bc U$, to $\bc B$ as \begin{equation} \label{eq:3} \bc B=\bm\Lambda(\bm\theta)\bc U,\quad \bc U\sim\mathcal{N}(\bm 0,\sigma^2\bm I_q). \end{equation} (The term ``spherical'' refers to the fact that contours of constant probability density for $\bc U$ are spheres centered at the mean --- in this case, $\bm0$.) When $\bm\theta$ is not on the boundary this is an invertible transformation. When $\bm\theta$ is on the boundary the transformation can fail to be invertible. However, we will only need to be able to express $\bc B$ in terms of $\bc U$ and that transformation is well-defined, even when $\bm\theta$ is on the boundary. The linear predictor, as a function of $\bm u$, is \begin{equation} \label{eq:4} \bm\gamma(\bm u)=\bm Z\bm\Lambda(\bm\theta)\bm u + \bm X\bm\beta. \end{equation} When we wish to emphasize the role of the model parameters, $\bm\theta$ and $\bm\beta$, in the formulation of $\bm\gamma$, we will write the linear predictor as $\bm\gamma(\bm u,\bm\theta,\bm\beta)$. \subsection{The conditional density $(\bc U|\bc Y=\bm y)$} \label{sec:cond-dens-bc} Because we observe $\bm y$ and do not observe $\bm b$ or $\bm u$, the conditional distribution of interest, for the purposes of statistical inference, is $(\bc U|\bc Y=\bm y)$ (or, equivalently, $(\bc B|\bc Y=\bm y)$). This conditional distribution is always a continuous distribution with conditional probability density $f_{\bc U|\bc Y}(\bm u|\bm y)$. We can evaluate $f_{\bc U|\bc Y}(\bm u|\bm y)$ , up to a constant, as the product of the unconditional density, $f_{\bc U}(\bm u)$, and the conditional density (or the probability mass function, whichever is appropriate), $f_{\bc Y|\bc U}(\bm y|\bm u)$. We write this unnormalized conditional density as \begin{equation} \label{eq:5} h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma) = f_{\bc Y|\bc U}(\bm y|\bm u,\bm\theta,\bm\beta,\sigma) f_{\bc U}(\bm u|\sigma) . \end{equation} We say that $h$ is the ``unnormalized'' conditional density because all we know is that the conditional density is proportional to $h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)$. To obtain the conditional density we must normalize $h$ by dividing by the value of the integral \begin{equation} \label{eq:6} L(\bm\theta,\bm\beta,\sigma|\bm y) = \int_{\mathbb{R}^q}h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)\,d\bm u . \end{equation} We write the value of the integral (\ref{eq:6}) as $L(\bm\theta,\bm\beta,\sigma|\bm y)$ because it is exactly the \emph{likelihood} of the parameters $\bm\theta$, $\bm\beta$ and $\sigma$, given the observed data $\bm y$. The \emph{maximum likelihood (ML) estimates} of these parameters are the values that maximize $L$. \subsection{Determining the ML estimates} \label{sec:DeterminingML} The general problem of maximizing $L(\bm\theta,\bm\beta,\sigma|\bm y)$ with respect to $\bm\theta$, $\bm\beta$ and $\sigma$ can be formidable because each evaluation of this function involves a potentially high-dimensional integral and because the dimension of $\bm\beta$ can be large. However, this general optimization problem can be split into manageable subproblems. Given a value of $\bm\theta$ we can determine the \emph{conditional mode}, $\tilde{\bm u}(\bm\theta)$, of $\bm u$ and the \emph{conditional estimate}, $\tilde{\bm\beta}(\bm\theta)$ simultaneously using \emph{penalized, iteratively re-weighted least squares} (PIRLS). The conditional mode and the conditional estimate are defined as \begin{equation} \label{eq:condmode} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \tilde{\bm\beta}(\bm\theta) \end{bmatrix}=\arg\max_{\bm u,\bm\beta}h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma) . \end{equation} (It may look as if we have missed the dependence on $\sigma$ on the left-hand side but it turns out that the scale parameter does not affect the location of the optimal values of quantities in the linear predictor.) As is common in such optimization problems, we re-express the conditional density on the \emph{deviance scale}, which is negative twice the logarithm of the density, where the optimization becomes \begin{equation} \label{eq:condmode2} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \tilde{\bm\beta}(\bm\theta) \end{bmatrix}=\arg\min_{\bm u,\bm\beta}-2\log\left(h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)\right) . \end{equation} It is this optimization problem that can be solved quite efficiently using PIRLS. In fact, for linear mixed models, which are described in the next section, $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ can be directly evaluated. The second-order Taylor series expansion of $-2\log h$ at $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ provides the Laplace approximation to the profiled deviance. Optimizing this function with respect to $\bm\theta$ provides the ML estimates of $\bm\theta$, from which the ML estimates of $\bm\beta$ and $\sigma$ (if used) are derived. \section{Methods for linear mixed models} \label{sec:pwls-problem} As indicated in the introduction, a critical step in our methods for determining the maximum likelihood estimates of the parameters in a mixed model is solving a penalized, weighted least squares (PWLS) problem. We will motivate the general form of the PWLS problem by first considering computational methods for linear mixed models that result in a penalized least squares (PLS) problem. Recall from \S\ref{sec:cond-distr-YB} that, in a linear mixed model, both the conditional distribution, $(\bc Y|\bc U=\bm u)$, and the unconditional distribution, $\bc U$, are spherical Gaussian distributions and that the conditional mean, $\bm\mu_{\bc Y|\bc U}(\bm u)$, is the linear predictor, $\bm\gamma(\bm u)$. Because all the distributions determining the model are continuous distributions, we consider their densities. On the deviance scale these are \begin{equation} \label{eq:7} \begin{aligned} -2\log(f_{\bc U}(\bm u))&=q\log(2\pi\sigma^2)+\frac{\|\bm u\|^2}{\sigma^2}\\ -2\log(f_{\bc Y|\bc U}(\bm y|\bm u))&=n\log(2\pi\sigma^2)+ \frac{\|\bm y-\bm Z\bm\Lambda(\bm\theta)\bm u-\bm X\bm\beta\|^2}{\sigma^2}\\ -2\log(h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)) &= (n+q)\log(2\pi\sigma^2)+ \frac{\|\bm y-\bm\gamma(\bm u,\bm\theta,\bm\beta)\|^2+\|\bm u\|^2}{\sigma^2}\\ &= (n+q)\log(2\pi\sigma^2)+ \frac{d(\bm u|\bm y,\bm\theta,\bm\beta)}{\sigma^2} \end{aligned} \end{equation} In (\ref{eq:7}) the \emph{discrepancy} function, \begin{equation} \label{eq:9} d(\bm u|\bm y,\bm\theta,\bm\beta) = \|\bm y-\bm\gamma(\bm u,\bm\theta,\bm\beta)\|^2+\|\bm u\|^2 \end{equation} has the form of a penalized residual sum of squares in that the first term, $\|\bm y-\bm\gamma(\bm u,\bm\theta,\bm\beta)\|^2$ is the residual sum of squares for $\bm y$, $\bm u$, $\bm\theta$ and $\bm\beta$ and the second term, $\|\bm u\|^2$, is a penalty on the size of $\bm u$. Notice that the discrepancy does not depend on the common scale parameter, $\sigma$. \subsection{The canonical form of the discrepancy} \label{sec:conditional-mode-bm} Using a so-called ``pseudo data'' representation, we can write the discrepancy as a residual sum of squares for a regression model that is linear in both $\bm u$ and $\bm\beta$ \begin{equation} \label{eq:10} d(\bm u|\bm y,\bm\theta,\bm\beta) =\left\| \begin{bmatrix} \bm y\\\bm 0 \end{bmatrix} - \begin{bmatrix} \bm Z\bm\Lambda(\bm\theta) & \bm X \\ \bm I_q & \bm0 \end{bmatrix} \begin{bmatrix}\bm u\\\bm\beta\end{bmatrix} \right\|^2 . \end{equation} The term ``pseudo data'' reflects the fact that we have added $q$ ``pseudo observations'' to the observed response, $\bm y$, and to the linear predictor, $\bm\gamma(\bm u,\bm\theta,\bm\beta)=\bm Z\bm\Lambda(\bm\theta)\bm u+\bm X\bm\beta$, in such a way that their contribution to the overall residual sum of squares is exactly the penalty term in the discrepancy. In the form (\ref{eq:10}) we can see that the discrepancy is a quadratic form in both $\bm u$ and $\bm\beta$. Furthermore, because we require that $\bm X$ has full column rank, the discrepancy is a positive-definite quadratic form in $\bm u$ and $\bm\beta$ that is minimized at $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ satisfying \begin{equation} \label{eq:13} \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta) +\bm I_q&\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm X\\ \bm X\trans\bm Z\bm\Lambda(\theta) &\bm X\trans\bm X \end{bmatrix} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\\tilde{\bm\beta}(\bm\theta) \end{bmatrix} = \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm y\\ \bm X\trans\bm y \end{bmatrix} \end{equation} An effective way of determining the solution to a sparse, symmetric, positive definite system of equations such as (\ref{eq:13}) is the sparse Cholesky decomposition \citep{davis06:csparse_book}. If $\bm A$ is a sparse, symmetric positive definite matrix then the sparse Cholesky factor with fill-reducing permutation $\bm P$ is the lower-triangular matrix $\bm L$ such that \begin{equation} \label{eq:14} \bm L\bm L\trans=\bm P\bm A\bm P\trans . \end{equation} (Technically, the factor $\bm L$ is only determined up to changes in the sign of the diagonal elements. By convention we require the diagonal elements to be positive.) The fill-reducing permutation represented by the permutation matrix $\bm P$, which is determined from the pattern of nonzeros in $\bm A$ but does not depend on particular values of those nonzeros, can have a profound impact on the number of nonzeros in $\bm L$ and hence on the speed with which $\bm L$ can be calculated from $\bm A$. In most applications of linear mixed models the matrix $\bm Z\bm\Lambda(\bm\theta)$ is sparse while $\bm X$ is dense or close to it so the permutation matrix $\bm P$ can be restricted to the form \begin{equation} \label{eq:15} \bm P=\begin{bmatrix}\bm P_{\bm Z}&\bm0\\ \bm0&\bm P_{\bm X}\end{bmatrix} \end{equation} without loss of efficiency. In fact, in most cases we can set $\bm P_{\bm X}=\bm I_p$ without loss of efficiency. Let us assume that the permutation matrix is required to be of the form (\ref{eq:15}) so that we can write the Cholesky factorization for the positive definite system (\ref{eq:13}) as \begin{multline} \label{eq:16} \begin{bmatrix} \bm L_{\bm Z}&\bm0\\\bm L_{\bm{XZ}}&\bm L_{\bm X} \end{bmatrix} \begin{bmatrix} \bm L_{\bm Z}&\bm0\\\bm L_{\bm{XZ}}&\bm L_{\bm X} \end{bmatrix}\trans =\\ \begin{bmatrix}\bm P_{\bm Z}&\bm0\\ \bm0&\bm P_{\bm X}\end{bmatrix} \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta) +\bm I_q&\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm X\\ \bm X\trans\bm Z\bm\Lambda(\theta) &\bm X\trans\bm X \end{bmatrix} \begin{bmatrix}\bm P_{\bm Z}&\bm0\\ \bm0&\bm P_{\bm X}\end{bmatrix}\trans . \end{multline} The discrepancy can now be written in the canonical form \begin{equation} \label{eq:17} d(\bm u|\bm y,\bm\theta,\bm\beta) =\tilde{d}(\bm y,\bm\theta) + \left\| \begin{bmatrix} \bm L_{\bm Z}\trans&\bm L_{\bm{XZ}}\trans\\ \bm 0&\bm L_{\bm X}\trans \end{bmatrix} \begin{bmatrix} \bm P_{\bm Z}(\bm u-\tilde{\bm u})\\ \bm P_{\bm X}(\bm\beta-\tilde{\bm\beta}) \end{bmatrix} \right\|^2 \end{equation} where \begin{equation} \label{eq:18} \tilde{d}(\bm y,\bm\theta)= d(\tilde{\bm u}(\bm\theta)|\bm y,\bm\theta,\tilde{\bm\beta}(\bm\theta)) \end{equation} is the minimum discrepancy, given $\bm\theta$. \subsection{The profiled likelihood for linear mixed models} \label{sec:prof-log-likel} Substituting (\ref{eq:17}) into (\ref{eq:7}) provides the unnormalized conditional density $h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)$ on the deviance scale as \begin{multline} \label{eq:32} -2\log(h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma))\\= (n+q)\log(2\pi\sigma^2)+\frac{\tilde{d}(\bm y,\bm\theta) + \left\| \begin{bmatrix} \bm L_{\bm Z}\trans&\bm L_{\bm{XZ}}\trans\\ \bm 0&\bm L_{\bm X}\trans \end{bmatrix} \begin{bmatrix} \bm P_{\bm Z}(\bm u-\tilde{\bm u})\\ \bm P_{\bm X}(\bm\beta-\tilde{\bm\beta}) \end{bmatrix} \right\|^2}{\sigma^2} . \end{multline} As shown in Appendix \ref{sec:integr-quadr-devi}, the integral of a quadratic form on the deviance scale, such as (\ref{eq:32}), is easily evaluated, providing the log-likelihood, $\ell(\bm\theta,\bm\beta,\sigma|\bm y)$, as \begin{multline} \label{eq:lmmdev} -2\ell(\bm\theta,\bm\beta,\sigma|\bm y)\\ =-2\log\left(L(\bm\theta,\bm\beta,\sigma|\bm y)\right)\\ =n\log(2\pi\sigma^2)+\log(|\bm L_{\bm Z}|^2)+\frac{\tilde{d}(\bm y,\bm\theta) + \left\|\bm L_{\bm X}\trans\bm P_{\bm X}(\bm\beta-\tilde{\bm\beta})\right\|^2}{\sigma^2}, \end{multline} from which we can see that the conditional estimate of $\bm\beta$, given $\bm\theta$, is $\tilde{\bm\beta}(\bm\theta)$ and the conditional estimate of $\sigma$, given $\bm\theta$, is \begin{equation} \label{eq:condsigma} \tilde{\sigma^2}(\bm\theta)= \frac{\tilde{d}(\bm\theta|\bm y)}{n} . \end{equation} Substituting these conditional estimates into (\ref{eq:lmmdev}) produces the \emph{profiled likelihood}, $\tilde{L}(\bm\theta|\bm y)$, as \begin{equation} \label{eq:19} -2\tilde{\ell}(\bm\theta|\bm y))= \log(|\bm L_{\bm Z}(\bm\theta)|^2)+ n\left(1+\log\left(\frac{2\pi\tilde{d}(\bm y,\bm\theta)}{n}\right)\right) . \end{equation} The maximum likelihood estimate of $\bm\theta$ can then be expressed as \begin{equation} \label{eq:29} \widehat{\bm\theta}_L=\arg\min_{\bm\theta} \left(-2\tilde{\ell}(\bm\theta|\bm y)\right) . \end{equation} from which the ML estimates of $\sigma^2$ and $\bm\beta$ are evaluated as \begin{align} \label{eq:30} \widehat{\sigma^2_L}&= \frac{\tilde{d}(\widehat{\bm\theta}_L,\bm y)}{n}\\ \widehat{\bm\beta}_L&=\tilde{\bm\beta}(\widehat{\bm\theta}_L) . \end{align} The important thing to note about optimizing the profiled likelihood, (\ref{eq:19}), is that it is a $m$-dimensional optimization problem and typically $m$ is very small. \subsection{The REML criterion} \label{sec:reml-criterion} In practice the so-called REML estimates of variance components are often preferred to the maximum likelihood estimates. (``REML'' can be considered to be an acronym for ``restricted'' or ``residual'' maximum likelihood, although neither term is completely accurate because these estimates do not maximize a likelihood.) We can motivate the use of the REML criterion by considering a linear regression model, \begin{equation} \label{eq:20} \bc Y\sim\mathcal{N}(\bm X\bm\beta,\sigma^2\bm I_n), \end{equation} in which we typically estimate $\sigma^2$ by \begin{equation} \label{eq:21} \widehat{\sigma^2_R}=\frac{\|\bm y-\bm X\widehat{\bm\beta}\|^2}{n-p} \end{equation} even though the maximum likelihood estimate of $\sigma^2$ is \begin{equation} \label{eq:22} \widehat{\sigma^2_{L}}=\frac{\|\bm y-\bm X\widehat{\bm\beta}\|^2}{n} . \end{equation} The argument for preferring $\widehat{\sigma^2_R}$ to $\widehat{\sigma^2_{L}}$ as an estimate of $\sigma^2$ is that the numerator in both estimates is the sum of squared residuals at $\widehat{\bm\beta}$ and, although the residual vector $\bm y-\bm X\bm\beta$ is an $n$-dimensional vector, the residual at $\widehat{\bm\theta}$ satisfies $p$ linearly independent constraints, $\bm X\trans(\bm y-\bm X\widehat{\bm\beta})=\bm 0$. That is, the residual at $\widehat{\bm\theta}$ is the projection of the observed response vector, $\bm y$, into an $(n-p)$-dimensional linear subspace of the $n$-dimensional response space. The estimate $\widehat{\sigma^2_R}$ takes into account the fact that $\sigma^2$ is estimated from residuals that have only $n-p$ \emph{degrees of freedom}. The REML criterion for determining parameter estimates $\widehat{\bm\theta}_R$ and $\widehat{\sigma_R^2}$ in a linear mixed model has the property that these estimates would specialize to $\widehat{\sigma^2_R}$ from (\ref{eq:21}) for a linear regression model. Although not usually derived in this way, the REML criterion can be expressed as \begin{equation} \label{eq:23} c_R(\bm\theta,\bm\sigma|\bm y)=-2\log \int_{\mathbb{R}^p}L(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)\,d\bm\beta \end{equation} on the deviance scale. The REML estimates $\widehat{\bm\theta}_R$ and $\widehat{\sigma_R^2}$ minimize $c_R(\bm\theta,\bm\sigma|\bm y)$. The profiled REML criterion, a function of $\bm\theta$ only, is \begin{equation} \label{eq:24} \tilde{c}_R(\bm\theta|\bm y)= \log(|\bm L_{\bm Z}(\bm\theta)|^2|\bm L_{\bm X}(\bm\theta)|^2)+(n-p) \left(1+\log\left(\frac{2\pi\tilde{d}(\bm\theta|\bm y)}{n-p}\right)\right) \end{equation} and the REML estimate of $\bm\theta$ is \begin{equation} \label{eq:31} \widehat{\bm\theta}_R = \arg\min_{\bm\theta}\tilde{c}_R(\bm\theta,\bm y) . \end{equation} The REML estimate of $\sigma^2$ is $\widehat{\sigma^2_R}=\tilde{d}(\widehat{\bm\theta}_R|\bm y)/(n-p)$. It is not entirely clear how one would define a ``REML estimate'' of $\bm\beta$ because the REML criterion, $c_R(\bm\theta,\bm\sigma|\bm y)$, defined in (\ref{eq:23}), does not depend on $\bm\beta$. However, it is customary (and not unreasonable) to use $\widehat{\bm\beta}_R=\tilde{\bm\beta}(\widehat{\bm\theta}_R)$ as the REML estimate of $\bm\beta$. Note that the profiled REML criterion can be evaluated from a sparse Cholesky decomposition like that in (\ref{eq:16}) but without the requirement that the permutation can be applied to the columns of $\bm Z\bm\Lambda(\bm\theta)$ separately from the columnns of $\bm X$. That is, we can use a general fill-reducing permutation rather than the specific form (\ref{eq:15}) with separate permutations represented by $\bm P_{\bm Z}$ and $\bm P_{\bm X}$. This can be useful in cases where both $\bm Z$ and $\bm X$ are large and sparse. \subsection{Summary for linear mixed models} \label{sec:lmmsummary} A linear mixed model is characterized by the conditional distribution \begin{equation} \label{eq:lmmcond} (\bc Y|\bc U=\bm u)\sim\mathcal{N}(\bm\gamma(\bm u,\bm\theta,\bm\beta),\sigma^2\bm I_n)\text{ where } \bm\gamma(\bm u,\bm\theta,\bm\beta)=\bm Z\bm\Lambda(\bm\theta)\bm u+\bm X\bm\beta \end{equation} and the unconditional distribution $\bc U\sim\mathcal{N}(\bm 0,\sigma^2\bm I_q)$. The discrepancy function, \begin{displaymath} d(\bm u|\bm y,\bm\theta,\bm\beta)= \left\|\bm y-\bm\gamma(\bm u,\bm\theta,\bm\beta)\right\|^2+\|\bm u\|^2, \end{displaymath} is minimized at the conditional mode, $\tilde{\bm u}(\bm\theta)$, and the conditional estimate, $\tilde{\bm\beta}(\bm\theta)$, which are the solutions to the sparse, positive-definite linear system \begin{displaymath} \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta) +\bm I_q&\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm X\\ \bm X\trans\bm Z\bm\Lambda(\theta) &\bm X\trans\bm X \end{bmatrix} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\\tilde{\bm\beta}(\bm\theta) \end{bmatrix} = \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm y\\ \bm X\trans\bm y \end{bmatrix} . \end{displaymath} In the process of solving this system we create the sparse left Cholesky factor, $L_{\bm Z}(\bm\theta)$, which is a lower triangular sparse matrix satisfying \begin{displaymath} \bm L_{\bm Z}(\bm\theta)\bm L_{\bm Z}(\bm\theta)\trans=\bm P_{\bm Z}\left(\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta)+\bm I_q\right)\bm P_{\bm Z}\trans \end{displaymath} where $\bm P_{\bm Z}$ is a permutation matrix representing a fill-reducing permutation formed from the pattern of nonzeros in $\bm Z\bm\Lambda(\bm\theta)$ for any $\bm\theta$ not on the boundary of the parameter region. (The values of the nonzeros depend on $\bm\theta$ but the pattern doesn't.) The profiled log-likelihood, $\tilde{\ell}(\bm\theta|\bm y)$, is \begin{displaymath} -2\tilde{\ell}(\bm\theta|\bm y)= \log(|\bm L_{\bm Z}(\bm\theta)|^2)+ n\left(1+\log\left(\frac{2\pi\tilde{d}(\bm y,\bm\theta)}{n}\right)\right) \end{displaymath} where $\tilde{d}(\bm y,\bm\theta)=d(\tilde{\bm u}(\bm\theta)|\bm y,\tilde{\bm\beta}(\bm\theta),\bm\theta)$. \section{Generalizing the discrepancy function} \label{sec:generalizations} Because one of the factors influencing the choice of implementation for linear mixed models is the extent to which the methods can also be applied to other mixed models, we describe several other classes of mixed models before discussing the implementation details for linear mixed models. At the core of our methods for determining the maximum likelihood estimates (MLEs) of the parameters in the mixed model are methods for minimizing the discrepancy function with respect to the coefficients $\bm u$ and $\bm\beta$ in the linear predictor $\bm\gamma(\bm u,\bm\theta,\bm\beta)$. In this section we describe the general form of the discrepancy function that we will use and a penalized iteratively reweighted least squares (PIRLS) algorithm for determining the conditional modes $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$. We then describe several types of mixed models and the form of the discrepancy function for each. \subsection{A weighted residual sum of squares} \label{sec:weighted} As shown in \S\ref{sec:conditional-mode-bm}, the discrepancy function for a linear mixed model has the form of a penalized residual sum of squares from a linear model (\ref{eq:10}). In this section we generalize that definition to \begin{equation} \label{eq:11} d(\bm u|\bm y,\bm\theta,\bm\beta) =\left\|\bm W^{1/2}(\bm\mu) \left[\bm y-\bm\mu_{\bc Y|\bc U}(\bm u,\bm\theta,\bm\beta)\right]\right\|^2+ \|\bm 0-\bm u\|^2 . \end{equation} where $\bm W$ is an $n\times n$ diagonal matrix, called the \emph{weights matrix}, with positive diagonal elements and $\bm W^{1/2}$ is the diagonal matrix with the square roots of the weights on the diagonal. The $i$th weight is inversely proportional to the conditional variances of $(\mathcal{Y}|\bc U=\bm u)$ and may depend on the conditional mean, $\bm\mu_{\bc Y|\bc U}$. We allow the conditional mean to be a nonlinear function of the linear predictor, but with certain restrictions. We require that the mapping from $\bm u$ to $\bm\mu_{\bc Y|\bc U=\bm u}$ be expressed as \begin{equation} \label{eq:uGammaEtaMu} \bm u\;\rightarrow\;\bm\gamma\;\rightarrow\;\bm\eta\;\rightarrow\;\bm\mu \end{equation} where $\bm\gamma=\bm Z\bm\Lambda(\bm\theta)\bm u+\bm X\bm\theta$ is an $ns$-dimensional vector ($s > 0$) while $\bm\eta$ and $\bm\mu$ are $n$-dimensional vectors. The map $\bm\eta\rightarrow\bm\mu$ has the property that $\mu_i$ depends only on $\eta_i$, $i=1,\dots,n$. The map $\bm\gamma\rightarrow\bm\eta$ has a similar property in that, if we write $\bm\gamma$ as an $n\times s$ matrix $\bm\Gamma$ such that \begin{equation} \label{eq:vecGamma} \bm\gamma=\vec{\bm\Gamma} \end{equation} (i.e.{} concatenating the columns of $\bm\Gamma$ produces $\bm\gamma$) then $\eta_i$ depends only on the $i$th row of $\bm\Gamma$, $i=1,\dots,n$. Thus the Jacobian matrix $\frac{d\bm\mu}{d\bm\eta\trans}$ is an $n\times n$ diagonal matrix and the Jacobian matrix $\frac{d\bm\eta}{d\bm\gamma\trans}$ is the horizontal concatenation of $s$ diagonal $n\times n$ matrices. For historical reasons, the function that maps $\eta_i$ to $\mu_i$ is called the \emph{inverse link} function and is written $\mu=g^{-1}(\eta)$. The \emph{link function}, naturally, is $\eta=g(\mu)$. When applied component-wise to vectors $\bm\mu$ or $\bm\eta$ we write these as $\bm\eta=\bm g(\bm\mu)$ and $\bm\mu=\bm g^{-1}(\bm\eta)$. Recall that the conditional distribution, $(\mathcal{Y}_i|\bc U=\bm u)$, is required to be independent of $(\mathcal{Y}_j|\bc U=\bm u)$ for $i,j=1,\dots,n,\,i\ne j$ and that all the component conditional distributions must be of the same form and differ only according to the value of the conditional mean. Depending on the family of the conditional distributions, the allowable values of the $\mu_i$ may be in a restricted range. For example, if the conditional distributions are Bernoulli then $0\le\mu_i\le1,i=1,\dots,n$. If the conditional distributions are Poisson then $0\le\mu_i,i=1,\dots,n$. A characteristic of the link function, $g$, is that it must map the restricted range to an unrestricted range. That is, a link function for the Bernoulli distribution must map $[0,1]$ to $[-\infty,\infty]$ and must be invertible within the range. The mapping from $\bm\gamma$ to $\bm\eta$ is defined by a function $m:\mathbb{R}^s\rightarrow\mathbb{R}$, called the \emph{nonlinear model} function, such that $\eta_i=m(\bm\gamma_i),i=1,\dots,n$ where $\bm\gamma_i$ is the $i$th row of $\bm\Gamma$. The vector-valued function is $\bm\eta=\bm m(\bm\gamma)$. Determining the conditional modes, $\tilde{\bm u}(\bm y|\bm\theta)$, and $\tilde{\bm\beta}(\bm y|\bm\theta)$, that jointly minimize the discrepancy, \begin{equation} \label{eq:12} \begin{bmatrix} \tilde{\bm u}(\bm y|\bm\theta)\\ \tilde{\bm\beta}(\bm y|\bm\theta) \end{bmatrix} =\arg\min_{\bm u,\bm\beta}\left[(\bm y-\bm\mu)\trans\bm W(\bm y-\bm\mu)+\|\bm u\|^2\right] \end{equation} becomes a weighted, nonlinear least squares problem except that the weights, $\bm W$, can depend on $\bm\mu$ and, hence, on $\bm u$ and $\bm\beta$. In describing an algorithm for linear mixed models we called $\tilde{\bm\beta}(\bm\theta)$ the \emph{conditional estimate}. That name reflects that fact that this is the maximum likelihood estimate of $\bm\beta$ for that particular value of $\bm\theta$. Once we have determined the MLE, $\widehat(\bm\theta)_L$ of $\bm\theta$, we have a ``plug-in'' estimator, $\widehat{\bm\beta}_L=\tilde{\bm\beta}(\bm\theta)$ for $\bm\beta$. This property does not carry over exactly to other forms of mixed models. The values $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ are conditional modes in the sense that they are the coefficients in $\bm\gamma$ that jointly maximize the unscaled conditional density $h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)$. Here we are using the adjective ``conditional'' more in the sense of conditioning on $\bc Y=\bm y$ than in the sense of conditioning on $\bm\theta$, although these values are determined for a fixed value of $\bm\theta$. \subsection{The PIRLS algorithm for $\tilde{\bm u}$ and $\tilde{\bm\beta}$} \label{sec:pirls-algor-tild} The penalized, iteratively reweighted, least squares (PIRLS) algorithm to determine $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ is a form of the Fisher scoring algorithm. We fix the weights matrix, $\bm W$, and use penalized, weighted, nonlinear least squares to minimize the penalized, weighted residual sum of squares conditional on these weights. Then we update the weights to those determined by the current value of $\bm\mu$ and iterate. To describe this algorithm in more detail we will use parenthesized superscripts to denote the iteration number. Thus $\bm u^{(0)}$ and $\bm\beta^{(0)}$ are the initial values of these parameters, while $\bm u^{(i)}$ and $\bm\beta^{(i)}$ are the values at the $i$th iteration. Similarly $\bm\gamma^{(i)}=\bm Z\bm\Lambda(\bm\theta)\bm u^{(i)}+\bm X\bm\beta^{(i)}$, $\bm\eta^{(i)}=\bm m(\bm\gamma^{(i)})$ and $\bm\mu^{(i)}=\bm g^{-1}(\bm\eta^{(i)})$. We use a penalized version of the Gauss-Newton algorithm \citep[ch.~2]{bateswatts88:_nonlin} for which we define the weighted Jacobian matrices \begin{align} \label{eq:Jacobian} \bm U^{(i)}&=\bm W^{1/2}\left.\frac{d\bm\mu}{d\bm u\trans}\right|_{\bm u=\bm u^{(i)},\bm\beta=\bm\beta^{(i)}}=\bm W^{1/2} \left.\frac{d\bm\mu}{d\bm\eta\trans}\right|_{\bm\eta^{(i)}} \left.\frac{d\bm\eta}{d\bm\gamma\trans}\right|_{\bm\gamma^{(i)}} \bm Z\bm\Lambda(\bm\theta)\\ \bm V^{(i)}&=\bm W^{1/2}\left.\frac{d\bm\mu}{d\bm\beta\trans}\right|_{\bm u=\bm u^{(i)},\bm\beta=\bm\beta^{(i)}}=\bm W^{1/2} \left.\frac{d\bm\mu}{d\bm\eta\trans}\right|_{\bm\eta^{(i)}} \left.\frac{d\bm\eta}{d\bm\gamma\trans}\right|_{\bm\gamma^{(i)}} \bm X \end{align} of dimension $n\times q$ and $n\times p$, respectively. The increments at the $i$th iteration, $\bm\delta_{\bm u}^{(i)}$ and $\bm\delta_{\bm\beta}^{(i)}$, are the solutions to \begin{equation} \label{eq:PNLSinc} \begin{bmatrix} {\bm U^{(i)}}\trans\bm U^{(i)}+\bm I_q&{\bm U^{(i)}}\trans\bm V^{(i)}\\ {\bm V^{(i)}}\trans\bm U^{(i)}&{\bm V^{(i)}}\trans\bm V^{(i)} \end{bmatrix} \begin{bmatrix} \bm\delta_{\bm u}^{(i)}\\ \bm\delta_{\bm\beta}^{(i)} \end{bmatrix} = \begin{bmatrix} {\bm U^{(i)}}\trans\bm W^{1/2}(\bm y-\bm\mu^{(i)})-\bm u^{(i)}\\ {\bm U^{(i)}}\trans\bm W^{1/2}(\bm y-\bm\mu^{(i)}) \end{bmatrix} \end{equation} providing the updated parameter values \begin{equation} \label{eq:33} \begin{bmatrix}\bm u^{(i+1)}\\\bm\beta^{(i+1)}\end{bmatrix}= \begin{bmatrix}\bm u^{(i)}\\\bm\beta^{(i)}\end{bmatrix}+\lambda \begin{bmatrix}\bm\delta_{\bm u}^{(i)}\\\bm\delta_{\bm\beta}^{(i)} \end{bmatrix} \end{equation} where $\lambda>0$ is a step factor chosen to ensure that \begin{equation} \label{eq:34} (\bm y-\bm\mu^{(i+1)})\trans\bm W(\bm y-\bm\mu^{(i+1)})+\|\bm u^{(i+1)}\|^2 < (\bm y-\bm\mu^{(i)})\trans\bm W(\bm y-\bm\mu^{(i)})+\|\bm u^{(i)}\|^2 . \end{equation} In the process of solving for the increments we form the sparse, lower triangular, Cholesky factor, $\bm L^{(i)}$, satisfying \begin{equation} \label{eq:35} \bm L^{(i)} {\bm L^{(i)}}\trans = \bm P_{\bm Z}\left({\bm U^{(i)}}\trans\bm U^{(i)}+ \bm I_n\right)\bm P_{\bm Z}\trans . \end{equation} After each successful iteration, determining new values of the coefficients, $\bm u^{(i+1)}$ and $\bm\beta^{(i+1)}$, that reduce the penalized, weighted residual sum of squqres, we update the weights matrix to $\bm W(\bm\mu^{(i+1)})$ and the weighted Jacobians, $\bm U^{(i+1)}$ and $\bm V^{(i+1)}$, then iterate. Convergence is determined according to the orthogonality convergence criterion~\citep[ch.~2]{bateswatts88:_nonlin}, suitably adjusted for the weights matrix and the penalty. \subsection{Weighted linear mixed models} \label{sec:weightedLMM} One of the simplest generalizations of linear mixed models is a weighted linear mixed model where $s=1$, the link function, $g$, and the nonlinear model function, $m$, are both the identity, the weights matrix, $\bm W$, is constant and the conditional distribution family is Gaussian. That is, the conditional distribution can be written \begin{equation} \label{eq:weightedLMM} (\bc Y|\bc U=\bm u)\sim\mathcal{N}(\bm\gamma(\bm u,\bm\theta,\bm\beta),\sigma^2\bm W^{-1}) \end{equation} with discrepancy function \begin{equation} \label{eq:wtddisc} d(\bm u|\bm y,\bm\theta,\bm\beta)=\left\|\bm W^{1/2}(\bm y-\bm Z\bm\Lambda(\bm\theta)\bm u-\bm X\bm\theta)\right\|^2+\|\bm u\|^2 . \end{equation} The conditional mode, $\tilde{\bm u}(\bm\theta)$, and the conditional estimate, $\tilde{\bm\beta}(\bm\theta)$, are the solutions to \begin{equation} \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm W\bm Z\bm\Lambda(\theta) +\bm I_q&\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm W\bm X\\ \bm X\trans\bm W\bm Z\bm\Lambda(\theta) &\bm X\trans\bm W\bm X \end{bmatrix} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\\tilde{\bm\beta}(\bm\theta) \end{bmatrix} = \begin{bmatrix} \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm W\bm y\\ \bm X\trans\bm W\bm y \end{bmatrix} , \end{equation} which can be solved directly, and the Cholesky factor, $\bm L_{\bm Z}(\bm\theta)$, satisfies \begin{equation} \bm L_{\bm Z}(\bm\theta)\bm L_{\bm Z}(\bm\theta)\trans=\bm P_{\bm Z}\left(\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm W\bm Z\bm\Lambda(\theta)+\bm I_q\right)\bm P_{\bm Z}\trans . \end{equation} The profiled log-likelihood, $\tilde{\ell}(\bm\theta|\bm y)$, is \begin{equation} \label{eq:wtdprofilelik} -2\tilde{\ell}(\bm\theta|\bm y)= \log\left(\frac{|\bm L_{\bm Z}(\bm\theta)|^2}{|\bm W|}\right)+ n\left(1+\log\left(\frac{2\pi\tilde{d}(\bm y,\bm\theta)}{n}\right)\right) . \end{equation} If the matrix $\bm W$ is fixed then we can ignore the term $|\bm W|$ in (\ref{eq:wtdprofilelik}) when determining the MLE, $\widehat{\bm\theta}_L$. However, in some models, we use a parameterized weight matrix, $\bm W(\bm\phi)$, and wish to determine the MLEs, $\widehat{\bm\phi}_L$ and $\widehat{\bm\theta}_L$ simultaneously. In these cases we must include the term involving $|\bm W(\bm\phi)|$ when evaluating the profiled log-likelihood. Note that we must define the parameterization of $\bm W(\bm\phi)$ such that $\sigma^2$ and $\bm\phi$ are not a redundant parameterization of $\sigma^2\bm W(\bm\phi)$. For example, we could require that the first diagonal element of $\bm W$ be unity. \subsection{Nonlinear mixed models} \label{sec:NLMMs} In an unweighted, nonlinear mixed model the conditional distribution is Gaussian, the link, $g$, is the identity and the weights matrix, $\bm W=\bm I_n$. That is, \begin{equation} \label{eq:conddistNLMM} (\bc Y|\bc U=\bm u)\sim\mathcal{N}(\bm m(\bm\gamma),\sigma^2\bm I_n) \end{equation} with discrepancy function \begin{equation} \label{eq:discNLMM} d(\bm u|\bm y,\bm\theta,\bm\beta)= \|\bm y-\bm\mu\|^2 + \|\bm u\|^2 . \end{equation} For a given value of $\bm\theta$ we determine the conditional modes, $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$, as the solution to the penalized nonlinear least squares problem \begin{equation} \label{eq:NLMMpnls} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \tilde{\bm\beta}(\bm\theta) \end{bmatrix} = \arg\min_{\bm u,\bm\theta}d(\bm u|\bm y,\bm\theta,\bm\beta) \end{equation} and we write the minimum discrepancy, given $\bm y$ and $\bm\theta$, as \begin{equation} \label{eq:25} \tilde{d}(\bm y,\bm\theta)=d(\tilde{\bm u}(\bm\theta)|\bm y,\bm\theta,\tilde{\bm\beta}(\bm\theta)). \end{equation} Let $\tilde{\bm L}_Z(\bm\theta)$ and $\tilde{\bm L}_X(\bm\theta)$ be the Cholesky factors at $\bm\theta$, $\tilde{\bm\beta}(\bm\theta)$ and $\tilde{\bm u}(\bm\theta)$. Then the \emph{Laplace approximation} to the log-likelihood is \begin{equation} \label{eq:36} -2\ell_P(\bm\theta,\bm\beta,\sigma|\bm y)\approx n\log(2\pi\sigma^2)+\log(|\tilde{\bm L}_{\bm Z}|^2)+ \frac{\tilde{d}(\bm y,\bm\theta) + \left\|\tilde{\bm L}_{\bm X}\trans(\bm\beta-\tilde{\bm\beta})\right\|^2}{\sigma^2}, \end{equation} producing the approximate profiled log-likelihood, $\tilde{\ell}_P(\bm\theta|\bm y)$, \begin{equation} \label{eq:37} -2\tilde{\ell}_P(\bm\theta|\bm y)\approx \log(|\tilde{\bm L}_{\bm Z}|^2)+n\left(1+\log(2\pi \tilde{d}(\bm y,\bm\theta)/n) \right). \end{equation} \subsubsection{Nonlinear mixed model summary} \label{sec:nonl-mixed-model} In a nonlinear mixed model we determine the parameter estimate, $\widehat{\bm\theta}_P$, from the Laplace approximation to the log-likelihood as \begin{equation} \label{eq:38} \widehat{\bm\theta}_P = \arg\max_{\bm\theta}\tilde{\ell}_P(\bm\theta|\bm y) =\arg\min_{\bm\theta} \log(|\tilde{\bm L}_{\bm Z}|^2)+ n\left(1+\log(2\pi \tilde{d}(\bm y,\bm\theta)/n) \right). \end{equation} Each evaluation of $\tilde{\ell}_P(\bm\theta|\bm y)$ requires a solving the penalized nonlinear least squares problem (\ref{eq:NLMMpnls}) simultaneously with respect to both sets of coefficients, $\bm u$ and $\bm\beta$, in the linear predictor, $\bm\gamma$. For a weighted nonlinear mixed model with fixed weights, $\bm W$, we replace the unweighted discrepancy function $d(\bm u|\bm y,\bm\theta,\bm\beta)$ with the weighted discrepancy function, %% Finish this off \section{Details of the implementation} \label{sec:details} \subsection{Implementation details for linear mixed models} \label{sec:impl-line-mixed} The crucial step in implementing algorithms for determining ML or REML estimates of the parameters in a linear mixed model is evaluating the factorization (\ref{eq:16}) for any $\bm\theta$ satisfying $\bm\theta_L\le\bm\theta\le\bm\theta_U$. We will assume that $\bm Z$ is sparse as is $\bm Z\bm\Lambda(\bm\theta)$. When $\bm X$ is not sparse we will use the factorization (\ref{eq:16}) setting $\bm P_{\bm X}=\bm I_p$ and storing $\bm L_{\bm X\bm Z}$ and $\bm L_{\bm X}$ as dense matrices. The permutation matrix $\bm P_{\bm Z}$ is determined from the pattern of non-zeros in $\bm Z\bm\Lambda(\bm\theta)$ which is does not depend on $\bm\theta$, as long as $\bm\theta$ is not on the boundary. In fact, in most cases the pattern of non-zeros in $\bm Z\bm\Lambda(\bm\theta)$ is the same as the pattern of non-zeros in $\bm Z$. For many models, in particular models with scalar random effects (described later), the matrix $\bm\Lambda(\bm\theta)$ is diagonal. Given a value of $\bm\theta$ we determine the Cholesky factor $\bm L_{\bm Z}$ satisfying \begin{equation} \label{eq:LZ} \bm L_{\bm Z}\bm L_{\bm Z}\trans=\bm P_{\bm Z}( \bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta) +\bm I_q)\bm P_{\bm Z}\trans . \end{equation} The CHOLMOD package allows for $\bm L_{\bm Z}$ to be calculated directly from $\bm\Lambda\trans(\bm\theta)\bm Z\trans$ or from $\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta)$. The choice in implementation is whether to store $\bm Z\trans$ and update it to $\bm\Lambda\trans(\bm\theta)\bm Z$ or to store $\bm Z\trans\bm Z$ and use it to form $\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm Z\bm\Lambda(\theta)$ at each evaluation. In the \package{lme4} package we store $\bm Z\trans$ and use it to form $\bm\Lambda\trans(\bm\theta)\bm Z\trans$ from which $\bm L_{\bm Z}$ is evaluated. There are two reasons for this choice. First, the calculations for the more general forms of mixed models cannot be reduced to calculations involving $\bm Z\trans\bm Z$ and by expressing these calculations in terms of $\bm\Lambda(\bm\theta)\bm Z\trans$ for linear mixed models we can reuse the code for the more general models. Second, the calculation of $\bm\Lambda(\bm\theta)\trans\left(\bm Z\trans\bm Z\right)\bm\Lambda(\bm\theta)$ from $\bm Z\trans\bm Z$ is complicated compared to the calculation of $\bm\Lambda(\bm\theta)\trans\bm Z\trans$ from $\bm Z\trans$. This choice is disadvantageous when $n\gg q$ because $\bm Z\trans$ is much larger than $\bm Z\trans\bm Z$, even when they are stored as sparse matrices. Evaluation of $\bm L_{\bm Z}$ directly from $\bm Z\trans$ requires more storage and more calculation that evaluating $\bm L_{\bm Z}$ from $\bm Z\trans\bm Z$. Next we evaluate $\bm L_{\bm X\bm Z}\trans$ as the solution to \begin{equation} \label{eq:LXZ} \bm L_{\bm Z}\bm L_{\bm X\bm Z}\trans=\bm P_{\bm Z}\bm\Lambda\trans(\bm\theta)\bm Z\trans\bm X . \end{equation} Again we have the choice of calculating and storing $\bm Z\trans\bm X$ or storing $\bm X$ and using it to reevaluate $\bm Z\trans\bm X$. In the \package{lme4} package we store $\bm X$, because the calculations for the more general models cannot be expressed in terms of $\bm Z\trans\bm X$. Finally $\bm L_{\bm X}$ is evaluated as the (dense) solution to \begin{equation} \label{eq:LX} \bm L_{\bm X}\bm L_{\bm X}\trans= \bm X\trans\bm X-\bm L_{\bm X\bm Z}\bm L_{\bm X\bm Z} . \end{equation} from which $\tilde{\bm\beta}$ can be determined as the solution to dense system \begin{equation} \label{eq:tildebeta} \bm L_{\bm X}\bm L_{\bm X}\tilde{\bm\beta}=\bm X\trans\bm y \end{equation} and $\tilde{\bm u}$ as the solution to the sparse system \begin{equation} \label{eq:tildeu} \bm L_{\bm Z}\bm L_{\bm Z}\tilde{u}=\bm\Lambda\trans\bm Z\trans\bm y \end{equation} For many models, in particular models with scalar random effects, which are described later, the matrix $\bm\Lambda(\bm\theta)$ is diagonal. For such a model, if both $\bm Z$ and $\bm X$ are sparse and we plan to use the REML criterion then we create and store \begin{equation} \label{eq:8} \bm A= \begin{bmatrix} \bm Z\trans\bm Z & \bm Z\trans\bm X\\ \bm X\trans\bm Z & \bm X\trans\bm X \end{bmatrix}\quad\text{and}\quad \bm c =\begin{bmatrix}\bm Z\trans\bm y\\\bm X\trans\bm y\end{bmatrix} \end{equation} and determine a fill-reducing permutation, $\bm P$, for $\bm A$. Given a value of $\bm\theta$ we create the factorization \begin{equation} \label{eq:26} \bm L(\bm\theta)\bm L(\bm\theta)\trans=\bm P\left( \begin{bmatrix} \bm\Lambda(\bm\theta) & \bm0\\\bm0&\bm I_p \end{bmatrix} \bm A \begin{bmatrix} \bm\Lambda(\bm\theta) & \bm0\\\bm0&\bm I_p \end{bmatrix}+ \begin{bmatrix}\bm I_q&\bm0\\\bm0&\bm0\end{bmatrix}\right) \bm P\trans \end{equation} solve for $\tilde{\bm u}(\bm\theta)$ and $\tilde{\bm\beta}(\bm\theta)$ in \begin{equation} \label{eq:28} \bm L\bm L\trans\bm P \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\\tilde{\bm\beta}(\bm\theta) \end{bmatrix}= \bm P \begin{bmatrix}\bm\Lambda(\bm\theta) & \bm0\\\bm0&\bm I_p \end{bmatrix} \bm c \end{equation} then evaluate $\tilde{d}(\bm y|\bm\theta)$ and the profiled REML criterion as \begin{equation} \label{eq:27} \tilde{d}_R(\bm\theta|\bm y)=\log(|\bm L(\bm\theta)|^2)+ (n-p)\left(1+\log\left(\frac{2\pi\tilde{d}(\bm y|\bm\theta)} {n-p}\right)\right) . \end{equation} \bibliography{lme4} \appendix{} \section{Notation} \label{sec:notation} \subsection{Random variables in the model} \label{sec:rand-vari-model} \begin{description} \item[$\bc B$] Random-effects vector of dimension $q$, $\bc{B}\sim\mathcal{N}(\bm 0,\sigma^2\bm \Lambda(\bm\theta)\bm \Lambda(\bm\theta)\trans)$. \item[$\bm U$] ``Spherical'' random-effects vector of dimension $q$, $\bc U\sim\mathcal{N}(\bm 0,\sigma^2\bm I_q)$, $\bc B=\bm \Lambda(\bm\theta)\bc U$. \item[$\bc Y$] Response vector of dimension $n$. \end{description} \subsection{Parameters of the model} \label{sec:parameters-model} \begin{description} \item[$\bm\beta$] Fixed-effects parameters (dimension $p$). \item[$\bm\theta$] Parameters determining the left factor, $\bm\Lambda(\bm\theta)$ of the relative covariance matrix of $\bc B$ (dimension $m$). \item[$\sigma$] the common scale parameter - not used in some generalized linear mixed models and generalized nonlinear mixed models. \end{description} \subsection{Dimensions} \label{sec:dimensions} \begin{description} \item[$m$] dimension of the parameter $\bm\theta$. \item[$n$] dimension of the response vector, $\bm y$, and the random variable, $\bm{\mathcal{Y}}$. \item[$p$] dimension of the fixed-effects parameter, $\bm\beta$. \item[$q$] dimension of the random effects, $\bc B$ or $\bc U$. \item[$s$] dimension of the parameter vector, $\bm\phi$, in the nonlinear model function. \end{description} \subsection{Matrices} \label{sec:matrices} \begin{description} \item[$\bm L$] Left Cholesky factor of a positive-definite symmetric matrix. $\bm L_{\bm Z}$ is $q\times q$; $\bm L_{\bm X}$ is $p\times p$. \item[$\bm P$] Fill-reducing permutation for the random effects model matrix. (Size $q\times q$.) \item[$\bm \Lambda$] Left factor of the relative covariance matrix of the random effects. (Size $q\times q$.) \item[$\bm X$] Model matrix for the fixed-effects parameters, $\bm\beta$. (Size $(ns)\times p$.) \item[$\bm Z$] Model matrix for the random effects. (Size $(ns)\times q$.) \end{description} \section{Integrating a quadratic deviance expression} \label{sec:integr-quadr-devi} In (\ref{eq:6}) we defined the likelihood of the parameters given the observed data as \begin{displaymath} L(\bm\theta,\bm\beta,\sigma|\bm y) = \int_{\mathbb{R}^q}h(\bm u|\bm y,\bm\theta,\bm\beta,\sigma)\,d\bm u . \end{displaymath} which is often alarmingly described as ``an intractable integral''. In point of fact, this integral can be evaluated exactly in the case of a linear mixed model and can be approximated quite accurately for other forms of mixed models. \end{document} lme4/inst/doc/lme4/inst/doc/Theory.R0000644000176200001440000000037513256457225016635 0ustar liggesusers### R code from vignette source 'Theory.Rnw' ### Encoding: UTF-8 ################################################### ### code chunk number 1: preliminaries ################################################### options(width=65,digits=5) #library(lme4) lme4/inst/doc/lme4/inst/doc/PLSvGLS.R0000644000176200001440000000037613256457223016554 0ustar liggesusers### R code from vignette source 'PLSvGLS.Rnw' ### Encoding: UTF-8 ################################################### ### code chunk number 1: preliminaries ################################################### options(width=65,digits=5) #library(lme4) lme4/inst/doc/lme4/inst/doc/lmer.Rnw0000644000176200001440000041443313254770544016673 0ustar liggesusers%\VignetteEngine{knitr::knitr} %\VignetteDepends{ggplot2} %\VignetteDepends{gamm4} %\VignetteIndexEntry{Fitting Linear Mixed-Effects Models using lme4} \documentclass[nojss]{jss} \usepackage[T1]{fontenc}% for correct hyphenation and T1 encoding \usepackage[utf8]{inputenc}% \usepackage{lmodern}% latin modern font \usepackage[american]{babel} %% for texi2dvi ~ bug \usepackage{bm,amsmath,thumbpdf,amsfonts}%,minted} \usepackage{blkarray} \usepackage{array} \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} \newcommand{\matindex}[1]{\mbox{\scriptsize#1}}% Matrix index \newcommand{\github}{Github} \DeclareMathOperator{\tr}{tr} \DeclareMathOperator{\VEC}{vec} \newcommand{\bmb}[1]{{\color{red} \emph{#1}}} \newcommand{\scw}[1]{{\color{blue} \emph{#1}}} \newcommand{\dmb}[1]{{\color{magenta} \emph{#1}}} \shortcites{bolker_strategies_2013,sleepstudy,gelman2013bayesian} \author{Douglas Bates\\University of Wisconsin-Madison\And Martin M\"achler\\ETH Zurich\And Benjamin M. Bolker\\McMaster University\And Steven C. Walker\\McMaster University } \Plainauthor{Douglas Bates, Martin M\"achler, Ben Bolker, Steve Walker} \title{Fitting Linear Mixed-Effects Models Using \pkg{lme4}} \Plaintitle{Fitting Linear Mixed-Effects Models using lme4} \Shorttitle{Linear Mixed Models with lme4} \Abstract{% Maximum likelihood or restricted maximum likelihood (REML) estimates of the parameters in linear mixed-effects models can be determined using the \code{lmer} function in the \pkg{lme4} package for \proglang{R}. As for most model-fitting functions in \proglang{R}, the model is described in an \code{lmer} call by a formula, in this case including both fixed- and random-effects terms. The formula and data together determine a numerical representation of the model from which the profiled deviance or the profiled REML criterion can be evaluated as a function of some of the model parameters. The appropriate criterion is optimized, using one of the constrained optimization functions in \proglang{R}, to provide the parameter estimates. We describe the structure of the model, the steps in evaluating the profiled deviance or REML criterion, and the structure of classes or types that represents such a model. Sufficient detail is included to allow specialization of these structures by users who wish to write functions to fit specialized linear mixed models, such as models incorporating pedigrees or smoothing splines, that are not easily expressible in the formula language used by \code{lmer}.} \Keywords{% sparse matrix methods, linear mixed models, penalized least squares, Cholesky decomposition} \Address{ Douglas Bates\\ Department of Statistics, University of Wisconsin\\ 1300 University Ave.\\ Madison, WI 53706, U.S.A.\\ E-mail: \email{bates@stat.wisc.edu}\\ \par\bigskip Martin M\"achler\\ Seminar f\"ur Statistik, HG G~16\\ ETH Zurich\\ 8092 Zurich, Switzerland\\ E-mail: \email{maechler@stat.math.ethz.ch}\\ % URL: \url{http://stat.ethz.ch/people/maechler}\\ \par\bigskip Benjamin M. Bolker\\ Departments of Mathematics \& Statistics and Biology \\ McMaster University \\ 1280 Main Street W \\ Hamilton, ON L8S 4K1, Canada \\ E-mail: \email{bolker@mcmaster.ca}\\ \par\bigskip Steven C. Walker\\ Department of Mathematics \& Statistics \\ McMaster University \\ 1280 Main Street W \\ Hamilton, ON L8S 4K1, Canada \\ E-mail: \email{scwalker@math.mcmaster.ca } } \newcommand{\thetavec}{{\bm\theta}} \newcommand{\betavec}{{\bm\beta}} \newcommand{\Var}{\operatorname{Var}} \newcommand{\abs}{\operatorname{abs}} \newcommand{\bLt}{\ensuremath{\bm\Lambda_{\bm\theta}}} \newcommand{\mc}[1]{\ensuremath{\mathcal{#1}}} \newcommand{\trans}{\ensuremath{^\top}} % JSS wants \top \newcommand{\yobs}{\ensuremath{\bm y_{\mathrm{obs}}}} \newcommand*{\eq}[1]{eqn.~\ref{#1}}% or just {(\ref{#1})} <>= options(width=70, show.signif.stars=FALSE, str=strOptions(strict.width="cut"), ## prefer empty continuation for reader's cut'n'paste: continue = " ", #JSS: prompt = "R> ", continue = "+ ", useFancyQuotes = FALSE) library("knitr") library("lme4") library("ggplot2")# Keeping default theme, nicer "on line": #JSS theme_set(theme_bw()) library("grid") zmargin <- theme(panel.spacing=unit(0,"lines")) library("lattice") library("minqa") opts_chunk$set(engine='R',dev='pdf', fig.width=9, fig.height=5.5, prompt=TRUE, cache=TRUE, tidy=FALSE, comment=NA) render_sweave() @ \setkeys{Gin}{width=\textwidth} \setkeys{Gin}{height=3.5in} \begin{document} A version of this manuscript has been published online in the \emph{Journal of Statistical Software}, on Oct.\ 2015, with DOI \linebreak[3] \texttt{10.18637/jss.v067.i01}, see \url{https://www.jstatsoft.org/article/view/v067i01/}. \section{Introduction} \label{sec:intro} The \pkg{lme4} package \citep{lme4} for \proglang{R} \citep{R} provides functions to fit and analyze linear mixed models, generalized linear mixed models and nonlinear mixed models. In each of these names, the term ``mixed'' or, more fully, ``mixed effects'', denotes a model that incorporates both fixed- and random-effects terms in a linear predictor expression from which the conditional mean of the response can be evaluated. In this paper we describe the formulation and representation of linear mixed models. The techniques used for generalized linear and nonlinear mixed models will be described separately, in a future paper. At present, the main alternative to \pkg{lme4} for mixed modeling in \proglang{R} is the \pkg{nlme} package \citep{nlme_pkg}. The main features distinguishing \pkg{lme4} from \pkg{nlme} are (1) more efficient linear algebra tools, giving improved performance on large problems; (2) simpler syntax and more efficient implementation for fitting models with crossed random effects; (3) the implementation of profile likelihood confidence intervals on random-effects parameters; and (4) the ability to fit generalized linear mixed models (although in this paper we restrict ourselves to linear mixed models). The main advantage of \pkg{nlme} relative to \pkg{lme4} is a user interface for fitting models with structure in the residuals (various forms of heteroscedasticity and autocorrelation) and in the random-effects covariance matrices (e.g., compound symmetric models). With some extra effort, the computational machinery of \pkg{lme4} can be used to fit structured models that the basic \code{lmer} function cannot handle (see Appendix~\ref{sec:modularExamples}). The development of general software for fitting mixed models remains an active area of research with many open problems. Consequently, the \pkg{lme4} package has evolved since it was first released, and continues to improve as we learn more about mixed models. However, we recognize the need to maintain stability and backward compatibility of \pkg{lme4} so that it continues to be broadly useful. In order to maintain stability while continuing to advance mixed-model computation, we have developed several additional frameworks that draw on the basic ideas of \pkg{lme4} but modify its structure or implementation in various ways. These descendants include the \mbox{\pkg{MixedModels}} package \citep{MixedModels} in \proglang{Julia} \citep{Julia}, the \pkg{lme4pureR} package \citep{lme4pureR} in \proglang{R}, and the \pkg{flexLambda} development branch of \pkg{lme4}. The current article is largely restricted to describing the current stable version of the \pkg{lme4} package (1.1-7), with Appendix~\ref{sec:modularExamples} describing hooks into the computational machinery that are designed for extension development. The \pkg{gamm4} \citep{gamm4} and \pkg{blme} \citep{blme, blme2} packages currently make use of these hooks. Another goal of this article is to contrast the approach used by \pkg{lme4} with previous formulations of mixed models. The expressions for the profiled log-likelihood and profiled REML (restricted maximum likelihood) criteria derived in Section~\ref{sec:profdev} are similar to those presented in \citet{bates04:_linear} and, indeed, are closely related to ``Henderson's mixed-model equations''~\citep{henderson_1982}. Nonetheless there are subtle but important changes in the formulation of the model and in the structure of the resulting penalized least squares (PLS) problem to be solved (Section~\ref{sec:PLSpureR}). We derive the current version of the PLS problem (Section~\ref{sec:plsMath}) and contrast this result with earlier formulations (Section~\ref{sec:previous_lmm_form}). This article is organized into four main sections (Sections~\ref{sec:lFormula}, \ref{sec:mkLmerDevfun}, \ref{sec:optimizeLmer}, and \ref{sec:mkMerMod}), each of which corresponds to one of the four largely separate modules that comprise \pkg{lme4}. Before describing the details of each module, we describe the general form of the linear mixed model underlying \pkg{lme4} (Section~\ref{sec:LMMs}); introduce the \code{sleepstudy} data that will be used as an example throughout (Section~\ref{sec:sleepstudy}); and broadly outline \pkg{lme4}'s modular structure (Section~\ref{sec:modular}). \subsection{Linear mixed models} \label{sec:LMMs} Just as a linear model is described by the distribution of a vector-valued random response variable, $\mc{Y}$, whose observed value is $\yobs$, a linear mixed model is described by the distribution of two vector-valued random variables: $\mc{Y}$, the response, and $\mc{B}$, the vector of random effects. In a linear model the distribution of $\mc Y$ is multivariate normal,%\begin{linenomath} \begin{equation} \label{eq:linearmodel} \mc Y\sim\mc{N}(\bm X\bm\beta+\bm o,\sigma^2\bm W^{-1}), \end{equation} where $n$ is the dimension of the response vector, $\bm W$ is a diagonal matrix of known prior weights, $\bm\beta$ is a $p$-dimensional coefficient vector, $\bm X$ is an $n\times p$ model matrix, and $\bm o$ is a vector of known prior offset terms. The parameters of the model are the coefficients $\bm\beta$ and the scale parameter $\sigma$. In a linear mixed model it is the \emph{conditional} distribution of $\mc Y$ given $\mc B=\bm b$ that has such a form, \begin{equation} \label{eq:LMMcondY} ( \mc Y|\mc B=\bm b)\sim\mc{N}(\bm X\bm\beta+\bm Z\bm b+\bm o,\sigma^2\bm W^{-1}), % | <- for ESS \end{equation} where $\bm Z$ is the $n\times q$ model matrix for the $q$-dimensional vector-valued random-effects variable, $\mc B$, whose value we are fixing at $\bm b$. The unconditional distribution of $\mc B$ is also multivariate normal with mean zero and a parameterized $q\times q$ variance-covariance matrix, $\bm\Sigma$, \begin{equation} \label{eq:LMMuncondB} \mc B\sim\mc N(\bm0,\bm\Sigma) . \end{equation} As a variance-covariance matrix, $\bm\Sigma$ must be positive semidefinite. It is convenient to express the model in terms of a \emph{relative covariance factor}, $\bLt$, which is a $q\times q$ matrix, depending on the \emph{variance-component parameter}, $\bm\theta$, and generating the symmetric $q\times q$ variance-covariance matrix, $\bm\Sigma$, according to%\begin{linenomath} \begin{equation} \label{eq:relcovfac} \bm\Sigma_{\bm\theta}=\sigma^2\bLt\bLt\trans , \end{equation}%\end{linenomath} where $\sigma$ is the same scale factor as in the conditional distribution (\ref{eq:LMMcondY}). Although Equations~\ref{eq:LMMcondY}, \ref{eq:LMMuncondB}, and \ref{eq:relcovfac} fully describe the class of linear mixed models that \pkg{lme4} can fit, this terse description hides many important details. Before moving on to these details, we make a few observations: \begin{itemize} \item This formulation of linear mixed models allows for a relatively compact expression for the profiled log-likelihood of $\bm\theta$ (Section~\ref{sec:profdev}, Equation~\ref{eq:profiledDeviance}). \item The matrices associated with random effects, $\bm Z$ and $\bLt$, typically have a sparse structure with a sparsity pattern that encodes various model assumptions. Sections~\ref{sec:LMMmatrix} and \ref{sec:CSCmats} provide details on these structures, and how to represent them efficiently. \item The interface provided by \pkg{lme4}'s \code{lmer} function is slightly less general than the model described by Equations~\ref{eq:LMMcondY}, \ref{eq:LMMuncondB}, and \ref{eq:relcovfac}. To take advantage of the entire range of possibilities, one may use the modular functions (Sections~\ref{sec:modular} and Appendix~\ref{sec:modularExamples}) or explore the experimental \pkg{flexLambda} branch of \pkg{lme4} on \github. \end{itemize} \subsection{Example} \label{sec:sleepstudy} Throughout our discussion of \pkg{lme4}, we will work with a data set on the average reaction time per day for subjects in a sleep deprivation study \citep{sleepstudy}. On day 0 the subjects had their normal amount of sleep. Starting that night they were restricted to 3 hours of sleep per night. The response variable, \code{Reaction}, represents average reaction times in milliseconds (ms) on a series of tests given each \code{Day} to each \code{Subject} (Figure~\ref{fig:sleepPlot}), % <>= str(sleepstudy) @ <>= ## BMB: seemed more pleasing to arrange by increasing slope rather than ## intercept ... xyplot(Reaction ~ Days | Subject, sleepstudy, aspect = "xy", layout = c(9, 2), type = c("g", "p", "r"), index.cond = function(x, y) coef(lm(y ~ x))[2], xlab = "Days of sleep deprivation", ylab = "Average reaction time (ms)", as.table = TRUE) @ % | Each subject's reaction time increases approximately linearly with the number of sleep-deprived days. However, subjects also appear to vary in the slopes and intercepts of these relationships, which suggests a model with random slopes and intercepts. As we shall see, such a model may be fitted by minimizing the REML criterion (Equation~\ref{eq:REMLdeviance}) using <>= fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) @ % | The estimates of the standard deviations of the random effects for the intercept and the slope are \Sexpr{round(sqrt(VarCorr(fm1)$Subject[1,1]), 2)} ms % $ and \Sexpr{round(sqrt(VarCorr(fm1)$Subject[2,2]), 2)} ms/day. % $ The fixed-effects coefficients, $\betavec$, are \Sexpr{round(fixef(fm1)[1], 1)} ms and \Sexpr{round(fixef(fm1)[2], 2)} ms/day for the intercept and slope. In this model, one interpretation of these fixed effects is that they are the estimated population mean values of the random intercept and slope (Section~\ref{sec:intuitiveFormulas}). We have chosen the \code{sleepstudy} example because it is a relatively small and simple example to illustrate the theory and practice underlying \code{lmer}. However, \code{lmer} is capable of fitting more complex mixed models to larger data sets. For example, we direct the interested reader to \code{RShowDoc("lmerperf", package = "lme4")} for examples that more thoroughly exercise the performance capabilities of \code{lmer}. \subsection{High-level modular structure} \label{sec:modular} The \code{lmer} function is composed of four largely independent modules. In the first module, a mixed-model formula is parsed and converted into the inputs required to specify a linear mixed model (Section~\ref{sec:lFormula}). The second module uses these inputs to construct an \proglang{R} function which takes the covariance parameters, $\bm\theta$, as arguments and returns negative twice the log profiled likelihood or the REML criterion (Section~\ref{sec:mkLmerDevfun}). The third module optimizes this objective function to produce maximum likelihood (ML) or REML estimates of $\bm\theta$ (Section~\ref{sec:optimizeLmer}). Finally, the fourth module provides utilities for interpreting the optimized model (Section~\ref{sec:mkMerMod}). \begin{table}[tb] \centering \begin{tabular}{lllp{2.1in}} \hline Module & & \proglang{R} function & Description \\ \hline Formula module & (Section~\ref{sec:lFormula}) & \code{lFormula} & Accepts a mixed-model formula, data, and other user inputs, and returns a list of objects required to fit a linear mixed model. \\ Objective function module & (Section~\ref{sec:mkLmerDevfun}) & \code{mkLmerDevfun} & Accepts the results of \code{lFormula} and returns a function to calculate the deviance (or restricted deviance) as a function of the covariance parameters, $\bm\theta$.\\ Optimization module & (Section~\ref{sec:optimizeLmer}) & \code{optimizeLmer} & Accepts a deviance function returned by \code{mkLmerDevfun} and returns the results of the optimization of that deviance function. \\ Output module & (Section~\ref{sec:mkMerMod}) & \code{mkMerMod} & Accepts an optimized deviance function and packages the results into a useful object. \\ \hline \end{tabular} \caption{The high-level modular structure of \code{lmer}.} \label{tab:modular} \end{table} To illustrate this modularity, we recreate the \code{fm1} object by a series of four modular steps; the formula module, <>= parsedFormula <- lFormula(formula = Reaction ~ Days + (Days | Subject), data = sleepstudy) @ the objective function module, <>= devianceFunction <- do.call(mkLmerDevfun, parsedFormula) @ the optimization module, <>= optimizerOutput <- optimizeLmer(devianceFunction) @ and the output module, <>= mkMerMod( rho = environment(devianceFunction), opt = optimizerOutput, reTrms = parsedFormula$reTrms, fr = parsedFormula$fr) @ % | \section{Formula module} \label{sec:lFormula} \subsection{Mixed-model formulas} \label{sec:formulas} Like most model-fitting functions in \proglang{R}, \code{lmer} takes as its first two arguments a \emph{formula} specifying the model and the \emph{data} with which to evaluate the formula. This second argument, \code{data}, is optional but recommended and is usually the name of an \proglang{R} data frame. In the \proglang{R} \code{lm} function for fitting linear models, formulas take the form \verb+resp ~ expr+, where \code{resp} determines the response variable and \code{expr} is an expression that specifies the columns of the model matrix. Formulas for the \code{lmer} function contain special random-effects terms, <>= resp ~ FEexpr + (REexpr1 | factor1) + (REexpr2 | factor2) + ... @ where \code{FEexpr} is an expression determining the columns of the fixed-effects model matrix, $\bm X$, and the random-effects terms, \code{(REexpr1 | factor1)} and \code{(REexpr2 | factor2)}, determine both the random-effects model matrix, $\bm Z$ (Section~\ref{sec:mkZ}), and the structure of the relative covariance factor, $\bLt$ (Section~\ref{sec:mkLambdat}). In principle, a mixed-model formula may contain arbitrarily many random-effects terms, but in practice the number of such terms is typically low. \subsection{Understanding mixed-model formulas} \label{sec:intuitiveFormulas}\label{sec:uncor} Before describing the details of how \pkg{lme4} parses mixed-model formulas (Section~\ref{sec:LMMmatrix}), we provide an informal explanation and then some examples. Our discussion assumes familiarity with the standard \proglang{R} modeling paradigm \citep{Chambers:1993}. Each random-effects term is of the form \code{(expr | factor)}. The expression \code{expr} is evaluated as a linear model formula, producing a model matrix following the same rules used in standard \proglang{R} modeling functions (e.g., \code{lm} or \code{glm}). The expression \code{factor} is evaluated as an \proglang{R} factor. One way to think about the vertical bar operator is as a special kind of interaction between the model matrix and the grouping factor. This interaction ensures that the columns of the model matrix have different effects for each level of the grouping factor. What makes this a special kind of interaction is that these effects are modeled as unobserved random variables, rather than unknown fixed parameters. Much has been written about important practical and philosophical differences between these two types of interactions \citep[e.g., ][]{henderson_1982,gelman2005analysis}. For example, the random-effects implementation of such interactions can be used to obtain shrinkage estimates of regression coefficients \citep[e.g., ][]{1977EfronAndMorris}, or account for lack of independence in the residuals due to block structure or repeated measurements \citep[e.g., ][]{laird_ware_1982}. Table~\ref{tab:formulas} provides several examples of the right-hand-sides of mixed-model formulas. The first example, \code{(1 | g)}, % | is the simplest possible mixed-model formula, where each level of the grouping factor, \code{g}, has its own random intercept. The mean and standard deviation of these intercepts are parameters to be estimated. Our description of this model incorporates any nonzero mean of the random effects as fixed-effects parameters. If one wishes to specify that a random intercept has \emph{a priori} known means, one may use the \code{offset} function as in the second model in Table~\ref{tab:formulas}. This model contains no fixed effects, or more accurately the fixed-effects model matrix, $\bm X$, has zero columns and $\bm\beta$ has length zero. \begin{table}[tb] \centering \begin{tabular}{llP{1.5in}} %% see new column type for ragged right \hline Formula & Alternative & Meaning \\ \hline%------------------------------------------------ \code{(1 | g)} & \code{1 + (1 | g)} & Random intercept with fixed mean. \\ \code{0 + offset(o) + (1 | g)} & \code{-1 + offset(o) + (1 | g)} & Random intercept with \emph{a priori} means. \\ \code{(1 | g1/g2)} & \code{(1 | g1)+(1 | g1:g2)} % | & Intercept varying among \code{g1} and \code{g2} within \code{g1}. \\ \code{(1 | g1) + (1 | g2)} & \code{1 + (1 | g1) + (1 | g2)}. & Intercept varying among \code{g1} and \code{g2}. \\ \code{x + (x | g)} & \code{1 + x + (1 + x | g)} & Correlated random intercept and slope. \\ \code{x + (x || g)} & \code{1 + x + (1 | g) + (0 + x | g)} & Uncorrelated random intercept and slope. \\ \hline \end{tabular} \caption{Examples of the right-hand-sides of mixed-effects model formulas. The names of grouping factors are denoted \code{g}, \code{g1}, and \code{g2}, and covariates and \emph{a priori} known offsets as \code{x} and \code{o}.} \label{tab:formulas} \end{table} We may also construct models with multiple grouping factors. For example, if the observations are grouped by \code{g2}, which is nested within \code{g1}, then the third formula in Table \ref{tab:formulas} can be used to model variation in the intercept. A common objective in mixed modeling is to account for such nested (or hierarchical) structure. However, one of the most useful aspects of \pkg{lme4} is that it can be used to fit random effects associated with non-nested grouping factors. For example, suppose the data are grouped by fully crossing two factors, \code{g1} and \code{g2}, then the fourth formula in Table \ref{tab:formulas} may be used. Such models are common in item response theory, where \code{subject} and \code{item} factors are fully crossed \citep{doran2007estimating}. In addition to varying intercepts, we may also have varying slopes (e.g., the \code{sleepstudy} data, Section~\ref{sec:sleepstudy}). The fifth example in Table~\ref{tab:formulas} gives a model where both the intercept and slope vary among the levels of the grouping factor. \subsubsection{Specifying uncorrelated random effects} \label{sec:uncor} By default, \pkg{lme4} assumes that all coefficients associated with the same random-effects term are correlated. To specify an uncorrelated slope and intercept (for example), one may either use double-bar notation, \code{(x || g)}, or equivalently use multiple random-effects terms, \code{x + (1 | g) + (0 + x | g)}, as in the final example of Table~\ref{tab:formulas}. For example, if one examined the results of model \code{fm1} of the \code{sleepstudy} data (Section~\ref{sec:sleepstudy}) using \code{summary(fm1)}, one would see that the estimated correlation between the slope for \code{Days} and the intercept is fairly low (\Sexpr{round(attr(VarCorr(fm1)$Subject, "correlation")[2],3)}) % $ (See Section~\ref{sec:summary} below for more on how to extract the random-effects covariance matrix.) We may use double-bar notation to fit a model that excludes a correlation parameter: <>= fm2 <- lmer(Reaction ~ Days + (Days || Subject), sleepstudy) @ Although mixed models where the random slopes and intercepts are assumed independent are commonly used to reduce the complexity of random-slopes models, they do have one subtle drawback. Models in which the slopes and intercepts are allowed to have a nonzero correlation (e.g., \code{fm1}) are invariant to additive shifts of the continuous predictor (\code{Days} in this case). This invariance breaks down when the correlation is constrained to zero; any shift in the predictor will necessarily lead to a change in the estimated correlation, and in the likelihood and predictions of the model. For example, we can eliminate the correlation in \code{fm1} simply by adding an amount equal to the ratio of the estimated among-subject standard deviations multiplied by the estimated correlation (i.e., $\sigma_{\text{\small slope}}/\sigma_{\text{\small intercept}} \cdot \rho_{\text{\small slope:intercept}}$) to the \code{Days} variable. The use of models such as \code{fm2} should ideally be restricted to cases where the predictor is measured on a ratio scale (i.e., the zero point on the scale is meaningful, not just a location defined by convenience or convention), as is the case here. %% <>= %% sleepstudyShift <- within(sleepstudy, { %% Days <- Days + (24.74*0.07)/5.92 }) %% lmer(Reaction ~ Days + (Days | Subject), sleepstudyShift) %% @ \subsection{Algebraic and computational account of mixed-model formulas} \label{sec:LMMmatrix} The fixed-effects terms of a mixed-model formula are parsed to produce the fixed-effects model matrix, $\bm X$, in the same way that the \proglang{R} \code{lm} function generates model matrices. However, a mixed-model formula incorporates $k\ge1$ random-effects terms of the form \code{(r | f)} as well. % | These $k$ terms are used to produce the random-effects model matrix, $\bm Z$ (Equation~\ref{eq:LMMcondY}; Section~\ref{sec:mkZ}), and the structure of the relative covariance factor, $\bLt$ (Equation~\ref{eq:relcovfac}; Section~\ref{sec:mkLambdat}), which are matrices that typically have a sparse structure. We now describe how one might construct these matrices from the random-effects terms, considering first a single term, \code{(r | f)}, % | and then generalizing to multiple terms. Tables~\ref{tab:dim} and \ref{tab:algebraic} summarize the matrices and vectors that determine the structure of $\bm Z$ and $\bLt$. \begin{table}[tb] \centering \begin{tabular}{lll} \hline Symbol & Size \\ \hline $n$ & Length of the response vector, $\mc{Y}$ \\ $p$ & Number of columns of fixed-effects model matrix, $\bm X$ \\ $q = \sum_i^k q_i$ & Number of columns of random-effects model matrix, $\bm Z$ \\ $p_i$ & Number of columns of the raw model matrix, $\bm X_i$ \\ $\ell_i$ & Number of levels of the grouping factor indices, $\bm i_i$ \\ $q_i = p_i\ell_i$ & Number of columns of the term-wise model matrix, $\bm Z_i$ \\ $k$ & Number of random-effects terms \\ $m_i = \binom{p_i+1}{2}$ & Number of covariance parameters for term $i$ \\ $m = \sum_i^k m_i$ & Total number of covariance parameters \\ \hline \end{tabular} \caption{Dimensions of linear mixed models. The subscript $i = 1, \dots, k$ denotes a specific random-effects term.} \label{tab:dim} \end{table} \begin{table}[tb] \centering \begin{tabular}{lll} \hline Symbol & Size & Description \\ \hline $\bm X_i$ & $n\times p_i$ & Raw random-effects model matrix \\ $\bm J_i$ & $n\times \ell_i$ & Indicator matrix of grouping factor indices\\ $\bm X_{ij}$ & $p_i\times 1$ & Column vector containing $j$th row of $\bm X_i$ \\ $\bm J_{ij}$ & $\ell_i\times 1$ & Column vector containing $j$th row of $\bm J_i$ \\ $\bm i_i$ & $n$ & Vector of grouping factor indices \\ $\bm Z_i$ & $n\times q_i$ & Term-wise random-effects model matrix \\ $\bm\theta$ & $m$ & Covariance parameters \\ $\bm T_i$ & $p_i\times p_i$ & Lower triangular template matrix \\ $\bm\Lambda_i$ & $q_i\times q_i$ & Term-wise relative covariance factor \\ \hline \end{tabular} \caption{Symbols used to describe the structure of the random-effects model matrix and the relative covariance factor. The subscript $i = 1, \dots, k$ denotes a specific random-effects term.} \label{tab:algebraic} \end{table} The expression, \code{r}, is a linear model formula that evaluates to an \proglang{R} model matrix, $\bm X_i$, of size $n\times p_i$, called the \emph{raw random-effects model matrix} for term $i$. A term is said to be a \emph{scalar} random-effects term when $p_i=1$, otherwise it is \emph{vector-valued}. For a \emph{simple, scalar} random-effects term of the form \code{(1 | f)}, $\bm X_i$ is the % | $n\times 1$ matrix of ones, which implies a random intercept model. The expression \code{f} evaluates to an \proglang{R} factor, called the \emph{grouping factor}, for the term. For the $i$th term, we represent this factor mathematically with a vector $\bm i_i$ of \emph{factor indices}, which is an $n$-vector of values from $1,\dots,\ell_i$.\footnote{In practice, fixed-effects model matrices and random-effects terms are evaluated with respect to a \emph{model frame}, ensuring that any expressions for grouping factors have been coerced to factors and any unused levels of these factors have been dropped. That is, $\ell_i$, the number of levels in the grouping factor for the $i$th random-effects term, is well-defined.} Let $\bm J_i$ be the $n\times \ell_i$ matrix of indicator columns for $\bm i_i$. Using the \pkg{Matrix} package \citep{Matrix_pkg} in \proglang{R}, we may construct the transpose of $\bm J_i$ from a factor vector, \code{f}, by coercing \code{f} to a `\code{sparseMatrix}' object. For example, <>= set.seed(2) @ <>= (f <- gl(3, 2)) (Ji <- t(as(f, Class = "sparseMatrix"))) @ When $k>1$ we order the random-effects terms so that $\ell_1\ge\ell_2\ge\dots\ge\ell_k$; in general, this ordering reduces ``fill-in'' (i.e., the proportion of elements that are zero in the lower triangle of $\bLt\trans\bm Z\trans\bm W\bm Z\bLt+\bm I$ but not in the lower triangle of its left Cholesky factor, $\bm L_{\bm\theta}$, described below in Equation~\ref{eq:blockCholeskyDecomp}). This reduction in fill-in provides more efficient matrix operations within the penalized least squares algorithm (Section~\ref{sec:plsMath}). \subsubsection{Constructing the random-effects model matrix} \label{sec:mkZ} The $i$th random-effects term contributes $q_i=\ell_ip_i$ columns to the model matrix $\bm Z$. We group these columns into a matrix, $\bm Z_i$, which we refer to as the \emph{term-wise model matrix} for the $i$th term. Thus $q$, the number of columns in $\bm Z$ and the dimension of the random variable, $\mc{B}$, is \begin{equation} \label{eq:qcalc} q=\sum_{i=1}^k q_i = \sum_{i=1}^k \ell_i\,p_i . \end{equation} Creating the matrix $\bm Z_i$ from $\bm X_i$ and $\bm J_i$ is a straightforward concept that is, nonetheless, somewhat awkward to describe. Consider $\bm Z_i$ as being further decomposed into $\ell_i$ blocks of $p_i$ columns. The rows in the first block are the rows of $\bm X_i$ multiplied by the 0/1 values in the first column of $\bm J_i$ and similarly for the subsequent blocks. With these definitions we may define the term-wise random-effects model matrix, $\bm Z_i$, for the $i$th term as a transposed Khatri-Rao product, \begin{equation} \label{eq:Zi} \bm Z_i = (\bm J_i\trans * \bm X_i\trans)\trans = \begin{bmatrix} \bm J_{i1}\trans \otimes \bm X_{i1}\trans \\ \bm J_{i2}\trans \otimes \bm X_{i2}\trans \\ \vdots \\ \bm J_{in}\trans \otimes \bm X_{in}\trans \\ \end{bmatrix}, \end{equation} where $*$ and $\otimes$ are the Khatri-Rao\footnote{Note that the original definition of the Khatri-Rao product is more general than the definition used in the \pkg{Matrix} package, which is the definition we use here.} \citep{khatri1968solutions} and Kronecker products, and $\bm J_{ij}\trans$ and $\bm X_{ij}\trans$ are row vectors of the $j$th rows of $\bm J_i$ and $\bm X_i$. These rows correspond to the $j$th sample in the response vector, $\mc Y$, and thus $j$ runs from $1, \dots, n$. The \pkg{Matrix} package for \proglang{R} contains a \code{KhatriRao} function, which can be used to form $\bm Z_i$. For example, if we begin with a raw model matrix, <>= (Xi <- cbind(1, rep.int(c(-1, 1), 3L))) @ then the term-wise random-effects model matrix is, <>= (Zi <- t(KhatriRao(t(Ji), t(Xi)))) @ <>= ## alternative formulation of Zi (eq:Zi) rBind( Ji[1,] %x% Xi[1,], Ji[2,] %x% Xi[2,], Ji[3,] %x% Xi[3,], Ji[4,] %x% Xi[4,], Ji[5,] %x% Xi[5,], Ji[6,] %x% Xi[6,]) @ In particular, for a simple, scalar term, $\bm Z_i$ is exactly $\bm J_i$, the matrix of indicator columns. For other scalar terms, $\bm Z_i$ is formed by element-wise multiplication of the single column of $\bm X_i$ by each of the columns of $\bm J_i$. Because each $\bm Z_i$ is generated from indicator columns, its cross-product, $\bm Z_i\trans\bm Z_i$ is block-diagonal consisting of $\ell_i$ diagonal blocks each of size $p_i$.\footnote{To see this, note that by the properties of Kronecker products we may write the cross-product matrix $Z_i\trans Z_i$ as $\sum_{j=1}^n \bm J_{ij} \bm J_{ij}\trans \otimes \bm X_{ij} \bm X_{ij}\trans$. Because $\bm J_{ij}$ is a unit vector along a coordinate axis, the cross-product $\bm J_{ij} \bm J_{ij}\trans$ is a $p_i\times p_i$ matrix of all zeros except for a single $1$ along the diagonal. Therefore, the cross-products, $\bm X_{ij} \bm X_{ij}\trans$, will be added to one of the $\ell_i$ blocks of size $p_i\times p_i$ along the diagonal of $Z_i\trans Z_i$.} Note that this means that when $k=1$ (i.e., there is only one random-effects term, and $\bm Z_i = \bm Z$), $\bm Z\trans\bm Z$ will be block diagonal. These block-diagonal properties allow for more efficient sparse matrix computations (Section~\ref{sec:CSCmats}). The full random-effects model matrix, $\bm Z$, is constructed from $k\ge 1$ blocks, \begin{equation} \label{eq:Z} \bm Z = \begin{bmatrix} \bm Z_1 & \bm Z_2 & \hdots & \bm Z_k \\ \end{bmatrix}. \end{equation} By transposing Equation~\ref{eq:Z} and substituting in Equation~\ref{eq:Zi}, we may represent the structure of the transposed random-effects model matrix as follows, \begin{equation} \label{eq:Zt} \bm Z\trans = \begin{blockarray}{ccccc} \text{sample 1} & \text{sample 2} & \hdots & \text{sample } n & \\ \begin{block}{[cccc]c} \bm J_{11} \otimes \bm X_{11} & \bm J_{12} \otimes \bm X_{12} & \hdots & \bm J_{1n} \otimes \bm X_{1n} & \text{term 1} \\ \bm J_{21} \otimes \bm X_{21} & \bm J_{22} \otimes \bm X_{22} & \hdots & \bm J_{2n} \otimes \bm X_{2n} & \text{term 2} \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ \end{block} \end{blockarray}. \end{equation} Note that the proportion of elements of $Z\trans$ that are structural zeros is \begin{equation} \label{eq:ZtSparsity} \frac{\sum_{i=1}^k p_i(\ell_i - 1)}{\sum_{i=1}^k p_i} \qquad . \end{equation} Therefore, the sparsity of $\bm Z\trans$ increases with the number of grouping factor levels. As the number of levels is often large in practice, it is essential for speed and efficiency to take account of this sparsity, for example by using sparse matrix methods, when fitting mixed models (Section~\ref{sec:CSCmats}). \subsubsection{Constructing the relative covariance factor} \label{sec:mkLambdat} \label{sec:mkZ} The $q\times q$ covariance factor, $\bLt$, is a block diagonal matrix whose $i$th diagonal block, $\bm\Lambda_i$, is of size $q_i,i=1,\dots,k$. We refer to $\bm\Lambda_i$ as the \emph{term-wise relative covariance factor}. Furthermore, $\bm\Lambda_i$ is a homogeneous block diagonal matrix with each of the $\ell_i$ lower-triangular blocks on the diagonal being a copy of a $p_i\times p_i$ lower-triangular \emph{template matrix}, $\bm T_i$. The covariance parameter vector, $\bm\theta$, of length $m_i =\binom{p_i+1}{2}$, consists of the elements in the lower triangle of $\bm T_i,i=1,\dots,k$. To provide a unique representation we require that the diagonal elements of the $\bm T_i,i=1,\dots,k$ be non-negative. The template, $\bm T_i$, can be constructed from the number $p_i$ alone. In \proglang{R} code we denote $p_i$ as \code{nc}. For example, if we set \code{nc <- 3}\Sexpr{nc <- 3}, we could create the template for term $i$ as, <>= nc <- 3 @ %% sequence() is equivalent to unlist(lapply(nvec, seq_len)) %% and (?sequence) ``mainly exists in reverence to the very early history of R'' %% scw: i like sequence, and in fact i never understood why that %% statement is there in the help file. <