lme4/0000755000176200001440000000000014641242116011114 5ustar liggesuserslme4/tests/0000755000176200001440000000000014640613451012261 5ustar liggesuserslme4/tests/glmmWeights.R0000644000176200001440000000741614630365604014706 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) library(testthat) source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##-> gSim(), a general simulation function ... ## hand-coded Pearson residuals {for sumFun() } mypresid <- function(x) { mu <- fitted(x) (getME(x,"y") - mu) * sqrt(weights(x)) / sqrt(x@resp$family$variance(mu)) } ## should be equal (up to numerical error) to weights(.,type="working") workingWeights <- function(mod) mod@resp$weights*(mod@resp$muEta()^2)/mod@resp$variance() ##' Sum of weighted residuals, 4 ways; the last three are identical sumFun <- function(m) { wrss1 <- m@devcomp$cmp["wrss"] wrss2 <- sum(residuals(m,type="pearson")^2) wrss3 <- sum(m@resp$wtres^2) ## compare to hand-fitted Pearson resids ... wrss4 <- sum(mypresid(m)^2) c(wrss1,wrss2,wrss3,wrss4) } ## The relative "error"/differences of the weights w[] entries rel.diff <- function(w) abs(1 - w[-1]/w[1]) set.seed(101) ## GAMMA g0 <- glmer(y~x+(1|block),data=gSim(),family=Gamma) expect_true(all(rel.diff(sumFun(g0)) < 1e-13)) expect_equal(weights(g0, type = "working"), workingWeights(g0), tolerance = 1e-4) ## FIXME: why is such a high tolerance required? ## BERNOULLI g1 <- glmer(y~x+(1|block),data=gSim(family=binomial(),nbinom=1), family=binomial) expect_true(all(rel.diff(sumFun(g1)) < 1e-13)) expect_equal(weights(g1, type = "working"), workingWeights(g1), tolerance = 1e-5) ## FIXME: why is such a high tolerance required? ## POISSON (n <- nrow(d.P <- gSim(family=poisson()))) g2 <- glmer(y ~ x + (1|block), data = d.P, family=poisson) g2W <- glmer(y ~ x + (1|block), data = d.P, family=poisson, weights = rep(2,n)) expect_true(all(rel.diff(sumFun(g2 )) < 1e-13)) expect_true(all(rel.diff(sumFun(g2W)) < 1e-13)) ## correct expect_equal(weights(g2, type = "working"), workingWeights(g2), tolerance = 1e-5) ## FIXME: why is such a high tolerance required? expect_equal(weights(g2W, type = "working"), workingWeights(g2W), tolerance = 1e-5) ## FIXME: why is such a high tolerance required? ## non-Bernoulli BINOMIAL g3 <- glmer(y ~ x + (1|block), data= gSim(family=binomial(), nbinom=10), family=binomial) expect_true(all(rel.diff(sumFun(g3)) < 1e-13)) expect_equal(weights(g3, type = "working"), workingWeights(g3), tolerance = 1e-4) ## FIXME: why is such a high tolerance required? d.b.2 <- gSim(nperblk = 2, family=binomial()) g.b.2 <- glmer(y ~ x + (1|block), data=d.b.2, family=binomial) expect_true(all(rel.diff(sumFun(g.b.2 )) < 1e-13)) ## Many blocks of only 2 observations each - (but nicely balanced) ## Want this "as" https://github.com/lme4/lme4/issues/47 ## (but it "FAILS" survival already): ## ## n2 = n/2 : n2 <- 2048 if(FALSE) n2 <- 100 # for building/testing set.seed(47) dB2 <- gSim(n2, nperblk = 2, x= rep(0:1, each= n2), family=binomial()) ## -- -- --- -------- gB2 <- glmer(y ~ x + (1|block), data=dB2, family=binomial) expect_true(all(rel.diff(sumFun(gB2)) < 1e-13)) ## NB: Finite sample bias of \hat\sigma_1 and \hat\beta_1 ("Intercept") ## tend to zero only slowly for n2 -> Inf, e.g., for ## n2 = 2048, b1 ~= 4.3 (instead of 4); s1 ~= 1.3 (instead of 1) ## FAILS ----- ## library(survival) ## (gSurv.B2 <- clogit(y ~ x + strata(block), data=dB2)) ## ## --> Error in Surv(rep(1, 200L), y) : Time and status are different lengths ## summary(gSurv.B2) ## (SE.surf <- sqrt(diag(vcov(gSurv.B2)))) g3 <- glmer(y ~ x + (1|block),data=gSim(family=binomial(),nbinom=10), family=binomial) expect_equal(var(sumFun(g3)),0) ## check dispersion parameter ## (lowered tolerance to pass checks on my machine -- SCW) expect_equal(sigma(g0)^2, 0.4888248, tolerance=1e-4) } ## skip on windows (for speed) lme4/tests/dynload.R0000644000176200001440000000367114327770071014051 0ustar liggesusers## this is the simpler version of the code for testing/exercising ## https://github.com/lme4/lme4/issues/35 ## see also ../misc/issues/dynload.R for more complexity pkg <- so_name <- "lme4"; doUnload <- FALSE; doTest <- TRUE ## pkg <- so_name <- "RcppEigen"; doUnload <- TRUE; doTest <- TRUE ## need to deal with the fact that DLL name != package name for lme4.0 ... ### pkg <- "lme4.0"; so_name <- "lme4"; doUnload <- TRUE instPkgs <- as.data.frame(installed.packages(),stringsAsFactors=FALSE) Load <- function() { library(pkg,character.only=TRUE) } Unload <- function() { ld <- library.dynam() pnames <- sapply(ld,"[[","name") names(ld) <- pnames lp <- gsub("/libs/.*$","",ld[[so_name]][["path"]]) cat("unloading from",lp,"\n") library.dynam.unload(so_name, lp) } Detach <- function() { detach(paste0("package:",pkg),character.only=TRUE,unload=TRUE) if (doUnload) Unload() } tmpf <- function() { g <- getLoadedDLLs() lnames <- names(g)[is.na(instPkgs[names(g),"Priority"])] cat("loaded DLLs:",lnames,"\n") g <- g[na.omit(match(c(so_name,"nlme"),names(g)))] class(g) <- "DLLInfoList" g } test <- function() { if (doTest) { if (pkg %in% c("lme4","lme4.0")) { fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, devFunOnly=TRUE) } if (pkg=="RcppEigen") { data(trees, package="datasets") mm <- cbind(1, log(trees$Girth)) # model matrix y <- log(trees$Volume) # response ## bare-bones direct interface flm <- fastLmPure(mm, y) } } } if (FALSE) { ## FIXME: disabled test for now for (i in 1:6) { cat("Attempt #",i,"\n",sep="") cat("loading",pkg,"\n") Load() tmpf() test() cat("detaching",pkg,"\n") Detach() cat("loading nlme\n") library("nlme") tmpf() detach("package:nlme",unload=TRUE) cat("detaching nlme\n") } } lme4/tests/nbinom.R0000644000176200001440000001475014630365604013700 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) cat("lme4 testing level: ", testLevel <- lme4:::testLevel(), "\n") getNBdisp <- function(x) getME(x,"glmer.nb.theta") ## for now, use hidden functions [MM: this is a sign, we should *export* them] refitNB <- lme4:::refitNB simfun <- function(sd.u=1, NBtheta=0.5, nblock = 25, fform = ~x, beta = c(1,2), nrep = 40, seed) { levelset <- c(LETTERS,letters) stopifnot(2 <= nblock, nblock <= length(levelset)) if (!missing(seed)) set.seed(seed) ntot <- nblock*nrep d1 <- data.frame(x = runif(ntot), f = factor(rep(levelset[1:nblock], each=nrep))) u_f <- rnorm(nblock, sd=sd.u) X <- model.matrix(fform, data=d1) transform(d1, z = rnbinom(ntot, mu = exp(X %*% beta + u_f[f]), size = NBtheta)) } ##' simplified logLik() so we can compare with "glmmADMB" (and other) results logLik.m <- function(x) { L <- logLik(x) attributes(L) <- attributes(L)[c("class","df","nobs")] L } if (testLevel > 1) withAutoprint({ set.seed(102) d.1 <- simfun() t1 <- system.time(g1 <- glmer.nb(z ~ x + (1|f), data=d.1, verbose=TRUE)) g1 d1 <- getNBdisp(g1) (g1B <- refitNB(g1, theta = d1)) (ddev <- deviance(g1) - deviance(g1B)) (reld <- (fixef(g1) - fixef(g1B)) / fixef(g1)) stopifnot(abs(ddev) < 1e-6, # was 6.18e-7, 1.045e-6, -6.367e-5, now 0 abs(reld) < 1e-6)# 0, then 4.63e-6, now 0 ## 2 Aug 2015: ddev==reld==0 on 32-bit Ubuntu 12.04 if(FALSE) { ## comment out to avoid R CMD check warning : ## library(glmmADMB) t2 <- system.time(g2 <- glmmadmb(z~x+(1|f), data = d.1, family="nbinom")) ## matrix not pos definite in sparse choleski t2 # 17.1 sec elapsed glmmADMB_vals <- list(fixef= fixef(g2), LL = logLik(g2), theta= g2$alpha) } else { glmmADMB_vals <- list(fixef = c("(Intercept)" = 0.928710, x = 2.05072), LL = structure(-2944.62, class = "logLik", df = 4, nobs = 1000L), theta = 0.4487) } stopifnot(exprs = { all.equal( d1, glmmADMB_vals$ theta, tolerance=0.003) # 0.0015907 all.equal(fixef(g1B), glmmADMB_vals$ fixef, tolerance=0.02)# was 0.009387 ! ## Ubuntu 12.04/32-bit: 0.0094 all.equal(logLik.m(g1B), glmmADMB_vals$ LL, tolerance=1e-4)# 1.681e-5; Ubuntu 12.04/32-b: 1.61e-5 }) })## end if( testLevel > 1 ) if(FALSE) { ## simulation study -------------------- ## library(glmmADMB) ## avoid R CMD check warning simsumfun <- function(...) { d <- simfun(...) t1 <- system.time(g1 <- glmer.nb(z~x+(1|f),data=d)) t2 <- system.time(g2 <- glmmadmb(z~x+(1|f), data=d,family="nbinom")) c(t.glmer=unname(t1["elapsed"]),nevals.glmer=g1$nevals, theta.glmer=exp(g1$minimum), t.glmmadmb=unname(t2["elapsed"]),theta.glmmadmb=g2$alpha) } ## library(plyr) ## sim50 <- raply(50,simsumfun(),.progress="text") save("sim50",file="nbinomsim1.RData") ## library(reshape) ## m1 <- melt(data.frame(run=seq(nrow(sim50)),sim50),id.var="run") ## m1 <- data.frame(m1,colsplit(m1$variable,"\\.",c("v","method"))) ## m2 <- cast(subset(m1,v=="theta",select=c(run,value,method)), ## run~method) library(ggplot2) ggplot(subset(m1,v=="theta"),aes(x=method,y=value))+ geom_boxplot()+geom_point()+geom_hline(yintercept=0.5,colour="red") ggplot(subset(m1,v=="theta"),aes(x=method,y=value))+ stat_summary(fun.data=mean_cl_normal)+ geom_hline(yintercept=0.5,colour="red") ggplot(m2,aes(x=glmer-glmmadmb))+geom_histogram() ## glmer is slightly more biased (but maybe the MLE itself is biased???) }## end{simulation study}------------------------- ### epilepsy example: data(epil, package="MASS") epil2 <- transform(epil, Visit = (period-2.5)/5, Base = log(base/4), Age = log(age), subject= factor(subject)) if(FALSE) { ## comment out to avoid R CMD check warning : ## library(glmmADMB) t3 <- system.time(g3 <- glmmadmb(y~Base*trt+Age+Visit+(Visit|subject), data=epil2, family="nbinom")) # t3 : 8.67 sec glmmADMB_epil_vals <- list(fixef= fixef(g3), LL = logLik(g3), theta= g3$alpha) } else { glmmADMB_epil_vals <- list(fixef = c("(Intercept)"= -1.33, "Base"=0.8839167, "trtprogabide"= -0.9299658, "Age"= 0.4751434, "Visit"=-0.2701603, "Base:trtprogabide"=0.3372421), LL = structure(-624.551, class = "logLik", df = 9, nobs = 236L), theta = 7.4702) } if (testLevel > 2) withAutoprint({ ## "too slow" for regular testing -- 49 (MM@lynne: 33, then 26, then 14) seconds: (t4 <- system.time(g4 <- glmer.nb(y ~ Base*trt + Age + Visit + (Visit|subject), data = epil2, verbose=TRUE))) ## 1.1-7 : Warning in checkConv().. failed .. with max|grad| = 0.0089 (tol = 0.001, comp. 4) ## 1.1-21: 2 Warnings: max|grad| = 0.00859, then 0.1176 (0.002, comp. 1) stopifnot(exprs = { all.equal(getNBdisp(g4), glmmADMB_epil_vals$ theta, tolerance= 0.03) # 0.0019777 all.equal(fixef (g4), glmmADMB_epil_vals$ fixef, tolerance= 0.04) # 0.003731 (0.00374 on U 12.04) ## FIXME: even df differ (10 vs 9) ! ## all.equal(logLik.m(g4), - glmmADMB_epil_vals$ LL, tolerance= 0.0) ## was 0.0002 all.equal(logLik.m(g4), # for now {this is not *the* truth, just our current approximation of it}: structure(-624.48418, class = "logLik", df = 10, nobs = 236L)) }) }) cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' } ## skip on windows (for speed) lme4/tests/README0000644000176200001440000000125514327770071013150 0ustar liggesusersCatalog of currently-failing examples (commented out, testsx, etc.): glmmExt.R: "fail for MM" on Gaussian/inverse examples -- seems fine for me lmer-0.R: sstudy9 example. Should *not* work; is a meaningful error message possible? prLogistic.R: Thailand/clustered-data example from ?prLogisticDelta example in prLogistic package Presumably the problem is that 100/411 random-effect levels have only zeros -- but should this mess things up? glmmML and lme4.0 give nearly identical answers profile.R: fails on CBPP profiling from testsx: testcolonizer: definite case where complete separation occurs, GLM does not really give a fit testcrabs: ?? not sure ?? lme4/tests/testcolonizer.R0000644000176200001440000000140314630365604015311 0ustar liggesusers## library(lme4.0) ## Emacs M- --> setwd() correctly ## m0.0 <- glm(colonizers~Treatment*homespecies*respspecies, data=randdat, family=poisson) ## with(randdat,tapply(colonizers,list(Treatment,homespecies,respspecies),sum)) ## summary(m1.0 <- glmer(form1, data=randdat, family=poisson)) ## summary(m2.0 <- glmer(form2, data=randdat, family=poisson)) ## detach("package:lme4.0", unload=TRUE) load(system.file("testdata","colonizer_rand.rda",package="lme4")) library("lme4") packageVersion("lme4") if (.Platform$OS.type != "windows") { m1 <- glmer(form1,data=randdat, family=poisson) ## PIRLS step failed m2 <- glmer(form1,data=randdat, family=poisson, nAGQ=0) ## OK m3 <- glmer(form2,data=randdat, family=poisson) ## ditto } ## skip on windows (for speed) lme4/tests/testcrab.R0000644000176200001440000001056214630365604014222 0ustar liggesuserslibrary("lme4") L <- load(system.file("testdata","crabs_randdata2.Rda",package="lme4")) ## randdata0: simulated data, in form suitable for plotting ## randdata: simulated data, in form suitable for analysis ## fr ## alive/dead formula ## fr2 ## proportion alive formula (use with weights=initial.snail.density) ## FIXME: there are still bigger differences than I'd like between the approaches ## (mostly in the random-effects correlation). It's not clear who's right; ## lme4 thinks its parameters are better, but ?? Could be explored further. if (FALSE) { ## library(ggplot2) ## commented to avoid triggering Suggests: requirement library(grid) zmargin <- theme(panel.margin=unit(0,"lines")) theme_set(theme_bw()) g1 <- ggplot(randdata0,aes(x=snail.size,y=surv,colour=snail.size,fill=snail.size))+ geom_hline(yintercept=1,colour="black")+ stat_sum(aes(size=factor(..n..)),alpha=0.6)+ facet_grid(.~ttt)+zmargin+ geom_boxplot(fill=NA,outlier.colour=NULL,outlier.shape=3)+ ## set outliers to same colour as points ## (hard to see which are outliers, but it doesn't really matter in this case) scale_size_discrete("# obs",range=c(2,5)) } if (.Platform$OS.type != "windows") { t1 <- system.time(glmer1 <- glmer(fr2,weights=initial.snail.density, family ="binomial", data=randdata)) t1B <- system.time(glmer1B <- glmer(fr,family ="binomial", data=randdata)) res1 <- c(fixef(glmer1),c(VarCorr(glmer1)$plot)) res1B <- c(fixef(glmer1B),c(VarCorr(glmer1B)$plot)) p1 <- unlist(getME(glmer1,c("theta","beta"))) stopifnot(all.equal(res1,res1B)) dfun <- update(glmer1,devFunOnly=TRUE) stopifnot(all.equal(dfun(p1),c(-2*logLik(glmer1)))) ## ## library(lme4.0) ## version 0.999999.2 results ## t1_lme4.0 <- system.time(glmer1X <- ## glmer(fr2,weights=initial.snail.density, ## family ="binomial", data=randdata)) ## dput(c(fixef(glmer1X),c(VarCorr(glmer1X)$plot))) ## p1X <- c(getME(glmer1X,"theta"),getME(glmer1X,"beta")) p1X <- c(0.681301656652347, -1.14775239687404, 0.436143018123226, 2.77730476938968, 0.609023583738824, -1.60055813739844, 2.0324468778545, 0.624173873057839, -1.7908793509579, -2.44540201631615, -1.42365990002708, -2.26780929006268, 0.700928084600075, -1.26220238391029, 0.369024582097804, 3.44325347343035, 2.26400391093108) stopifnot(all.equal(unname(p1),p1X,tolerance=0.03)) dfun(p1X) dfun(p1) ## ~ 1.8 seconds elapsed time lme4.0_res <- structure(c(2.77730476938968, 0.609023583738824, -1.60055813739844, 2.0324468778545, 0.624173873057839, -1.7908793509579, -2.44540201631615, -1.42365990002708, -2.26780929006268, 0.700928084600075, -1.26220238391029, 0.369024582097804, 3.44325347343035, 2.26400391093108, 0.464171947357232, -0.532754465140956, -0.532754465140956, 0.801690946568518), .Names = c("(Intercept)", "crab.speciesS", "crab.speciesW", "crab.sizeS", "crab.sizeM", "snail.sizeS", "crab.speciesS:crab.sizeS", "crab.speciesS:crab.sizeM", "crab.speciesS:snail.sizeS", "crab.speciesW:snail.sizeS", "crab.sizeS:snail.sizeS", "crab.sizeM:snail.sizeS", "crab.speciesS:crab.sizeS:snail.sizeS", "crab.speciesS:crab.sizeM:snail.sizeS", "", "", "", "")) stopifnot(all.equal(res1,lme4.0_res,tolerance=0.015)) ## library("glmmADMB") ## prop/weights formulation: ~ 7 seconds ## t1_glmmadmb <- system.time(glmer1B <- glmmadmb(fr,family ="binomial", ## corStruct="full",data=randdata)) ## dput(c(fixef(glmer1B),c(VarCorr(glmer1B)$plot))) glmmADMB_res <- structure(c(2.7773101267224, 0.609026276823218, -1.60055704634712, 2.03244174458562, 0.624171008585953, -1.79088398816641, -2.44540300134182, -1.42366043619683, -2.26780858382505, 0.700927141726545, -1.26219964572264, 0.369029052442189, 3.44326297908383, 2.26403738918967, 0.46417, -0.53253, -0.53253, 0.80169), .Names = c("(Intercept)", "crab.speciesS", "crab.speciesW", "crab.sizeS", "crab.sizeM", "snail.sizeS", "crab.speciesS:crab.sizeS", "crab.speciesS:crab.sizeM", "crab.speciesS:snail.sizeS", "crab.speciesW:snail.sizeS", "crab.sizeS:snail.sizeS", "crab.sizeM:snail.sizeS", "crab.speciesS:crab.sizeS:snail.sizeS", "crab.speciesS:crab.sizeM:snail.sizeS", "", "", "", "")) stopifnot(all.equal(res1B,glmmADMB_res,tolerance=0.015)) } ## skip on windows (for speed) lme4/tests/drop.R0000644000176200001440000000127114630365604013354 0ustar liggesusersif (.Platform$OS.type != "windows") withAutoprint({ library(lme4) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## slightly weird model but plausible --- not that ## one would want to try drop1() on this model ... fm2 <- lmer(Reaction ~ 1+ (Days|Subject), sleepstudy) drop1(fm2) ## empty update(fm1, . ~ . - Days) anova(fm2) ## empty terms(fm1) terms(fm1,fixed.only=FALSE) extractAIC(fm1) drop1(fm1) drop1(fm1, test="Chisq") gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, nAGQ=25L) drop1(gm1, test="Chisq") }) ## skip on windows (for speed) lme4/tests/vcov-etc.R0000644000176200001440000001063714630365604014144 0ustar liggesusersstopifnot(require(lme4)) (testLevel <- lme4:::testLevel()) source(system.file("testdata", "lme-tst-funs.R", package="lme4", mustWork=TRUE))# -> unn() ## "MEMSS" is just 'Suggest' -- must still work, when it's missing: if (suppressWarnings(!require(MEMSS, quietly=TRUE)) || (data(ergoStool, package="MEMSS") != "ergoStool")) { cat("'ergoStool' data from package 'MEMSS' is not available --> skipping test\n") } else { fm1 <- lmer (effort ~ Type + (1|Subject), data = ergoStool) ##sp no longer supported since ~ 2012-3: ##sp fm1.s <- lmer (effort ~ Type + (1|Subject), data = ergoStool, sparseX=TRUE) ## was segfaulting with sparseX (a while upto 2010-04-06) fe1 <- fixef(fm1) ##sp fe1.s <- fixef(fm1.s) print(s1.d <- summary(fm1)) ##sp print(s1.s <- summary(fm1.s)) Tse1.d <- c(0.57601226, rep(0.51868384, 3)) stopifnot(exprs = { ##sp all.equal(fe1, fe1.s, tolerance= 1e-12) all.equal(Tse1.d, unname(se1.d <- coef(s1.d)[,"Std. Error"]), tolerance = 1e-6) # std.err.: no too much accuracy is(V.d <- vcov(fm1), "symmetricMatrix") ##sp all.equal(se1.d, coef(s1.s)[,"Std. Error"])#, tol = 1e-10 ##sp all.equal( V.d, vcov(fm1.s))#, tol = 1e-9 all.equal(Matrix::diag(V.d), unn(se1.d)^2, tolerance= 1e-12) }) }## if( ergoStool is available from pkg MEMSS ) ### -------------------------- a "large" example ------------------------- str(InstEval) if (FALSE) { # sparse X is not currently implemented, so forget about this: system.time(## works with 'sparseX'; d has 1128 levels fm7 <- lmer(y ~ d + service + studage + lectage + (1|s), data = InstEval, sparseX=TRUE, verbose=1L, REML=FALSE) ) system.time(sfm7 <- summary(fm7)) fm7 # takes a while as it computes summary() again ! range(t.fm7 <- coef(sfm7)[,"t value"])## -10.94173 10.61535 for REML, -11.03438 10.70103 for ML m.t.7 <- mean(abs(t.fm7), trim = .01) #stopifnot(all.equal(m.t.7, 1.55326395545110, tolerance = 1.e-9)) ##REML value stopifnot(all.equal(m.t.7, 1.56642013605506, tolerance = 1.e-6)) ## ML hist.t <- cut(t.fm7, floor(min(t.fm7)) : ceiling(max(t.fm7))) cbind(table(hist.t)) }# fixed effect 'd' -- with 'sparseX' only -------------------------------- if(testLevel <= 1) { cat('Time elapsed: ', proc.time(),'\n'); q("no") } ## ELSE : (testLevel > 1) : library(lattice) source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##--> all.equal(), isOptimized(), ... system.time( fm8.N <- lmer(y ~ service * dept + studage + lectage + (1|s) + (1|d), InstEval, REML=FALSE, control=lmerControl("Nelder_Mead"), verbose = 1L) ) ## 14 sec [MM@lynne; 2022-11] ## 62 sec [MM@lynne; 2013-11] ## 59.5 sec [nb-mm3; 2013-12-31] system.time( fm8.B <- lmer(y ~ service * dept + studage + lectage + (1|s) + (1|d), InstEval, REML=FALSE, control=lmerControl("bobyqa"), verbose = 2L) ) ## 7.8 sec [MM@lynne; 2022-11] ## 34.1 sec [nb-mm3; 2013-12-31] system.time( fm8 <- lmer(y ~ service * dept + studage + lectage + (1|s) + (1|d), InstEval, REML=FALSE, verbose = 1L) ) ## 7.8 sec [MM@lynne; 2022-11] stopifnot(isOptimized(fm8.N), isOptimized(fm8.B), isOptimized(fm8)) all.equal(fm8.B, fm8, tolerance=0)# 9.78e-9 (2022-11); both versions of bobyqa all.equal(fm8.B, fm8.N, tolerance=0) ## "Mean relative difference: 3.31 e-06" [nb-mm3; 2013-12-31] stopifnot(isOptimized(fm8.N), isOptimized(fm8.B), isOptimized(fm8)) str(baseOpti(fm8)) str(baseOpti(fm8.N)) str(baseOpti(fm8.B)) (sm8 <- summary(fm8.B)) str(r8 <- ranef(fm8.B)) noquote(sapply(r8, summary)) r.m8 <- cov2cor(vcov(sm8)) Matrix::image(r.m8, main="cor()") if(testLevel <= 2) { cat('Time elapsed: ', proc.time(),'\n'); q("no") } ## ELSE: testLevel > 2 ## Clearly smaller X, but more RE pars ## ==> currently considerably slower than the above system.time( fm9 <- lmer(y ~ studage + lectage + (1|s) + (1|d) + (1|dept:service) + (1|dept), InstEval, verbose = 1L, REML=FALSE) ) ## 25.6 secs [MM@lynne; 2022-11] ## 410 secs [MM@lynne; 2013-11] fm9 (sm9 <- summary(fm9)) rr <- ranef(fm9, condVar = TRUE) ## ~ 6 secs noquote(sapply(rr, summary)) qqr <- qqmath(rr, strip=FALSE) ## NB: x-axis range <==> scale of RE <==> "importance" of effect qqr$d qqr$s dotplot(rr,strip=FALSE)$`dept:service` cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' lme4/tests/prLogistic.R0000644000176200001440000000220514327770071014526 0ustar liggesusers## data set and formula extracted from ?prLogisticDelta example ## (Thailand, clustered-data) in prLogistic package load(system.file("testdata","prLogistic.RData",package="lme4")) library(lme4) (testLevel <- lme4:::testLevel()) if (testLevel > 2) { print(system.time( lme4_est <- glmer(rgi ~ sex + pped + (1|schoolid), data = dataset, family=binomial) )) lme4_results <- list(sigma= sqrt(unname(unlist(VarCorr(lme4_est)))), beta = fixef(lme4_est)) ## stored results from other pkgs glmmML_est <- list(sigma = 1.25365353546143, beta = c("(Intercept)" = -2.19478801858317, "sex" = 0.548884468743364, "pped"= -0.623835613907385)) lme4.0_est <- list(sigma = 1.25369539060849, beta = c("(Intercept)" = -2.19474529099587, "sex" = 0.548900267825802, "pped"= -0.623934772981894)) source(system.file("test-tools-1.R", package = "Matrix"))#-> assert.EQ() etc assert.EQ.(lme4_results, glmmML_est, tol=3e-3) assert.EQ.(lme4_results, lme4.0_est, tol=3e-3) print(lme4_est) } lme4/tests/hatvalues.R0000644000176200001440000000246614630365604014413 0ustar liggesusersif (.Platform$OS.type != "windows") withAutoprint({ library(lme4) source(system.file("testdata", "lme-tst-funs.R", package="lme4", mustWork=TRUE))# -> unn() m <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) bruteForceHat <- function(object) { with(getME(object, c("Lambdat", "Lambda", "Zt", "Z", "q", "X")), { ## cp:= the cross product block matrix in (17) and (18): W <- Diagonal(x = weights(object)) I <- Diagonal(q) A.21 <- t(X) %*% W %*% Z %*% Lambda cp <- rbind(cbind(Lambdat %*% Zt %*% W %*% Z %*% Lambda + I, t(A.21)), cbind(A.21, t(X) %*% W %*% X)) mm <- cbind(Z %*% Lambda, X) ## a bit efficient: both cp and mm are typically quite sparse ## mm %*% solve(as.matrix(cp)) %*% t(mm) mm %*% solve(cp, t(mm), sparse=FALSE) }) } str(H <- bruteForceHat(m)) set.seed(7) ii <- sample(nrow(sleepstudy), 500, replace=TRUE) m2 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy[ii, ]) stopifnot(all.equal(diag(H), unn(hatvalues(m)), tol= 1e-14), all.equal(diag(bruteForceHat(m2)), unn(hatvalues(m2)), tol= 1e-14) ) }) ## skip on windows (for speed) lme4/tests/glmerWarn.R0000644000176200001440000000450514630365604014351 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) library(testthat) ## [glmer(*, gaussian) warns to rather use lmer()] m3 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) m4 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) m5 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy, family=gaussian)) expect_equal(fixef(m3),fixef(m5)) ## hack call -- comes out unimportantly different m4@call[[1]] <- quote(lme4::lmer) expect_equal(m3,m4) expect_equal(m3,m5) ## would like m3==m5 != m4 ?? expect_equal(VarCorr(m4), VarCorr(m5), tolerance = 1e-14) print(th4 <- getME(m4,"theta")) expect_equal(th4, getME(m5,"theta"), tolerance = 1e-14) ## glmer() - poly() + interaction if (requireNamespace("mlmRev")) withAutoprint({ data(Contraception, package="mlmRev") ## ch := with child Contraception <- within(Contraception, ch <- livch != "0") ## gmC1 <- glmer(use ~ poly(age,2) + ch + age:ch + urban + (1|district), ## Contraception, binomial) ### not a 'warning' per se {cannot suppressWarnings(.)}: ### fixed-effect model matrix is rank deficient so dropping 1 column / coefficient ### also printed with print(): labeled as "fit warnings" ## ==> from ../R/modular.R chkRank.drop.cols() ## --> Use control = glmerControl(check.rankX = "ignore+drop.cols")) ## because further investigation shows "the problem" is really already ## in model.matrix(): set.seed(101) dd <- data.frame(ch = c("Y","N")[1+rbinom(12, 1, 0.7)], age = rlnorm(12, 16)) colnames(mm1 <- model.matrix( ~ poly(age,2) + ch + age:ch, dd)) ## "(Int.)" "poly(age, 2)1" "poly(age, 2)2" "chY" "chN:age" "chY:age" ## If we make the poly() columns to regular variables, can interact: d2 <- within(dd, { p2 <- poly(age,2); ageL <- p2[,1]; ageQ <- p2[,2]; rm(p2)}) ## then, we can easily get what want (mm2 <- model.matrix( ~ ageL+ageQ + ch + ageL:ch, d2)) ## actually even more compactly now ("drawback": 'ageQ' at end): (mm2. <- model.matrix( ~ ageL*ch + ageQ, d2)) cn2 <- colnames(mm2) stopifnot(identical(mm2[,cn2], mm2.[,cn2])) }) } ## skip on windows (for speed) lme4/tests/optimizer.R0000644000176200001440000000500414630365604014430 0ustar liggesuserslibrary(lme4) source(system.file("test-tools-1.R", package = "Matrix"), keep.source = FALSE) ## N.B. is.all.equal4() and assert.EQ() use 'tol', not 'tolerance' ## should be able to run any example with any bounds-constrained optimizer ... ## Nelder_Mead, bobyqa built in; optimx/nlminb, optimx/L-BFGS-B ## optimx/Rcgmin will require a bit more wrapping/interface work (requires gradient) if (.Platform$OS.type != "windows") { fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## Nelder_Mead fm1B <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, control=lmerControl(optimizer="bobyqa")) stopifnot(all.equal(fixef(fm1),fixef(fm1B))) require(optimx) lmerCtrl.optx <- function(method, ...) lmerControl(optimizer="optimx", ..., optCtrl=list(method=method)) glmerCtrl.optx <- function(method, ...) glmerControl(optimizer="optimx", ..., optCtrl=list(method=method)) (testLevel <- lme4:::testLevel()) ## FAILS on Windows (on r-forge only, not win-builder)... 'function is infeasible at initial parameters' ## (can we test whether we are on r-forge??) if (.Platform$OS.type != "windows") { fm1C <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, control=lmerCtrl.optx(method="nlminb")) fm1D <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, control=lmerCtrl.optx(method="L-BFGS-B")) stopifnot(is.all.equal4(fixef(fm1),fixef(fm1B),fixef(fm1C),fixef(fm1D))) fm1E <- update(fm1,control=lmerCtrl.optx(method=c("nlminb","L-BFGS-B"))) ## hack equivalence of call and optinfo fm1E@call <- fm1C@call fm1E@optinfo <- fm1C@optinfo assert.EQ(fm1C,fm1E, tol=1e-5, giveRE=TRUE)# prints unless tolerance=0--equality } gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=glmerControl(tolPwrss=1e-13)) gm1B <- update(gm1, control=glmerControl (tolPwrss=1e-13, optimizer="bobyqa")) gm1C <- update(gm1, control=glmerCtrl.optx(tolPwrss=1e-13, method="nlminb")) gm1D <- update(gm1, control=glmerCtrl.optx(tolPwrss=1e-13, method="L-BFGS-B")) stopifnot(is.all.equal4(fixef(gm1),fixef(gm1B),fixef(gm1C),fixef(gm1D), tol=1e-5)) if (testLevel > 1) { gm1E <- update(gm1, control= glmerCtrl.optx(tolPwrss=1e-13, method=c("nlminb","L-BFGS-B"))) ## hack equivalence of call and optinfo gm1E@call <- gm1C@call gm1E@optinfo <- gm1C@optinfo assert.EQ(gm1E,gm1C, tol=1e-5, giveRE=TRUE)# prints unless tol=0--equality } } ## skip on windows (for speed) lme4/tests/varcorr.R0000644000176200001440000000113614630365604014066 0ustar liggesuserslibrary(lme4) if (.Platform$OS.type != "windows") { data(Orthodont, package="nlme") fm1 <- lmer(distance ~ age + (age|Subject), data = Orthodont) VarCorr(fm1) fm2ML <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin, REML=0) VarCorr(fm2ML) gm1 <- glmer(cbind(incidence,size-incidence) ~ period + (1|herd),data=cbpp, family=binomial) VarCorr(gm1) cbpp$obs <- factor(seq(nrow(cbpp))) gm2 <- update(gm1,.~.+(1|obs)) VarCorr(gm2) if (FALSE) { ## testing lme4/lme4 incompatibility ## library(lme4) VarCorr(fm1) lme4:::VarCorr.merMod(fm1) ## OK } } ## skip on windows (for speed) lme4/tests/confint.R0000644000176200001440000000320114630365604014043 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type != "windows") withAutoprint({ library("lme4") library("testthat") L <- load(system.file("testdata", "lme-tst-fits.rda", package="lme4", mustWork=TRUE)) ## -> "fit_*" objects fm1 <- fit_sleepstudy_2 c0 <- confint(fm1, method="Wald") c0B <- confint(fm1, method="Wald",parm="Days") expect_equal(c0["Days",],c0B["Days",]) expect_equal(c(c0B),c(7.437592,13.496980),tolerance=1e-6) set.seed(101) for (bt in c("norm", "basic", "perc")) { suppressWarnings( confint(fm1, method="boot", boot.type=bt, nsim=10,quiet=TRUE)) } for (bt in c("stud","bca","junk")) { expect_error(confint(fm1, method="boot", boot.type=bt, nsim=10), "should be one of") } if((testLevel <- lme4:::testLevel()) > 1) { pr1.56 <- profile(fm1, which = 5:6) c1 <- confint(pr1.56, method="profile") expect_equal(c0[5:6,],c1,tolerance=2e-3) ## expect Wald and profile _reasonably_ close print(c1,digits=3) ## c6 <- confint(pr1.56, "Days") expect_equal(c1[2, , drop=FALSE], c6) c2 <- confint(fm1,method="boot",nsim=50,parm=5:6) ## expect_error(confint(fm1,method="boot",nsim=50,parm="Days"), ## "must be specified as an integer") expect_equal(c1,c2,tolerance=2e-2) print(c2,digits=3) } if (testLevel > 10) { print(c1B <- confint(fm1, method="profile")) print(c2B <- confint(fm1, method="boot")) expect_equal(unname(c1B), unname(c2B), tolerance=2e-2) } }) ## skip if windows/testLevel<1 lme4/tests/refit.R0000644000176200001440000001546014630365604013526 0ustar liggesusers#### Testing refit() #### ---------------- library(lme4) set.seed(101) testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 ## for each type of model, should be able to ## (1) refit with same data and get the same answer, ## at least structurally (small numerical differences ## are probably unavoidable) ## (2) refit with simulate()d data if (testLevel>1) { getinfo <- function(x) { c(fixef(x), logLik(x), unlist(ranef(x)), unlist(VarCorr(x))) } dropterms <- function(x) { attr(x@frame,"terms") <- NULL x } if (getRversion() >= "3.0.0") { attach(system.file("testdata", "lme-tst-fits.rda", package="lme4")) } else { ## saved fits are not safe with old R versions; just re-compute ("cheat"!): fit_sleepstudy_2 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) cbpp$obs <- factor(seq(nrow(cbpp))) ## intercept-only fixed effect fit_cbpp_0 <- glmer(cbind(incidence, size-incidence) ~ 1 + (1|herd), cbpp, family=binomial) ## include fixed effect of period fit_cbpp_1 <- update(fit_cbpp_0, . ~ . + period) if(FALSE) ## include observation-level RE fit_cbpp_2 <- update(fit_cbpp_1, . ~ . + (1|obs)) ## specify formula by proportion/weights instead fit_cbpp_3 <- update(fit_cbpp_1, incidence/size ~ period + (1 | herd), weights = size) } ## LMM fm1 <- fit_sleepstudy_2 fm1R <- refit(fm1, sleepstudy$Reaction) fm1S <- refit(fm1, simulate(fm1)[[1]]) stopifnot(all.equal(getinfo(fm1 ), getinfo(fm1R), tolerance = 6e-3), all.equal(getinfo(fm1 ), getinfo(fm1S), tolerance = 0.5) # <- simulate() ) if(FALSE) { ## show all differences sapply(slotNames(fm1), function(.) all.equal( slot(fm1,.), slot(fm1R,.), tolerance=0)) } if (getRversion() >= "3.4.0") { ## differences: FALSE for resp, theta, u, devcomp, pp, optinfo? ## FIXME: this isn't actually tested in any way ... sapply(slotNames(fm1), function(.) isTRUE(all.equal( slot(fm1,.), slot(fm1R,.), tolerance= 1.5e-5))) str(fm1 @ optinfo) str(fm1R@ optinfo) } fm1ML <- refitML(fm1) stopifnot( all.equal(getinfo(fm1), getinfo(fm1ML), tolerance=0.05)# 0.029998 ) ## binomial GLMM (two-column) gm1 <- fit_cbpp_1 gm1R <- refit(gm1, with(cbpp, cbind(incidence,size-incidence))) sim1Z <- simulate(gm1)[[1]] sim1Z[4,] <- c(0,0) (gm1. <- refit(gm1, sim1Z)) # earlier gave Error: ... PIRLS ... failed ... all.equal(getinfo(gm1), getinfo(gm1R), tolerance=0) # to see it --> 5.52e-4 # because glmer() uses Laplace approx. (? -- still, have *same* y !) stopifnot(all.equal(getinfo(gm1), getinfo(gm1R), tolerance = 1e-4)) gm1S <- refit(gm1, simulate(gm1)[[1]]) all.equal(getinfo(gm1), getinfo(gm1S), tolerance=0) # to see: stopifnot(all.equal(getinfo(gm1), getinfo(gm1S), tolerance = 0.4)) ## binomial GLMM (prob/weights) formula(gm2 <- fit_cbpp_3) ## glmer(incidence/size ~ period + (1 | herd), cbpp, binomial, weights=size) gm2R <- refit(gm2, with(cbpp, incidence/size)) all.equal(getinfo(gm2), getinfo(gm2R), tolerance= 0) stopifnot(all.equal(getinfo(gm2), getinfo(gm2R), tolerance= 6e-4)) ## FIXME: check on Windows == 2015-06: be brave gm2S <- refit(gm2, simulate(gm2)[[1]]) all.equal(getinfo(gm2), getinfo(gm2S), tolerance=0)# 0.17 .. upto 0.28 stopifnot(all.equal(getinfo(gm2), getinfo(gm2S), tolerance=0.40)) ## from Alexandra Kuznetsova set.seed(101) Y <- matrix(rnorm(1000),ncol=2) d <- data.frame(y1=Y[,1], x=rnorm(100), f=rep(1:10,10)) fit1 <- lmer(y1 ~ x+(1|f),data=d) fit2 <- refit(fit1, newresp = Y[,2], rename.response=TRUE) ## check, but ignore terms attribute of model frame ... tools::assertWarning(refit(fit1, newresp = Y[,2], junk=TRUE)) if (isTRUE(all.equal(fit1,fit2))) stop("fit1 and fit2 should not be equal") ## hack number of function evaluations u2 <- update(fit2) fit2@optinfo$feval <- u2@optinfo$feval <- NA d1 <- dropterms(fit2) d2 <- dropterms( u2 ) ## They are not "all equal", but mostly : for (i in slotNames(d1)) { ae <- all.equal(slot(d1,i), slot(d2,i)) cat(sprintf("%10s: %s\n", i, if(isTRUE(ae)) "all.equal" else paste(ae, collapse="\n "))) } all.equal(getinfo(d1), getinfo(d2), tolerance = 0)# -> 0.00126 stopifnot(all.equal(getinfo(d1), getinfo(d2), tolerance = 0.005)) ## Bernoulli GLMM (specified as factor) if (requireNamespace("mlmRev")) { data(Contraception, package="mlmRev") gm3 <- glmer(use ~ urban + age + livch + (1|district), Contraception, binomial) gm3R <- refit(gm3, Contraception$use) gm3S <- refit(gm3, simulate(gm3)[[1]]) stopifnot(all.equal(getinfo(gm3 ), getinfo(gm3R), tolerance = 1e-5),# 64b_Lx: 7.99e-7 all.equal(getinfo(gm3 ), getinfo(gm3S), tolerance = 0.05) # <- simulated data ) cat("gm3: glmer(..):\n" ); print(getinfo(gm3)) cat("gm3R: refit(*, y):\n" ); print(getinfo(gm3R)) cat("gm3S: refit(*, sim.()):\n"); print(getinfo(gm3S)) data(Mmmec, package="mlmRev") if (lme4:::testLevel() > 1) { gm4 <- glmer(deaths ~ uvb + (1|region), data=Mmmec, family = poisson, offset = log(expected)) ## FIXME: Fails to converge (with larger maxit: "downdate .. not pos.def..") try( gm4R <- refit(gm4, Mmmec $ deaths) ) try( gm4S <- refit(gm4, simulate(gm4)[[1]]) ) if(FALSE) { ## FIXME (above) cat("gm4R: refit(*,y):\n" ); print( getinfo(gm4R) ) cat("gm4S: refit(*,y):\n" ); print( getinfo(gm4S) ) stopifnot(all.equal(getinfo(gm4),getinfo(gm4R),tolerance=6e-5)) } } } ## ---------------------------------------------------------------------- ## issue: #231, http://ms.mcmaster.ca/~bolker/misc/boot_reset.html ## commits: 1a34cd0, e33d698, 53ce966, 7dbfff1, 73aa1bb, a693ba9, 8dc8cf0 ## ---------------------------------------------------------------------- formGrouse <- TICKS ~ YEAR + scale(HEIGHT) + (1 | BROOD) + (1 | INDEX) + (1 | LOCATION) gmGrouse <- glmer(formGrouse, family = "poisson", data = grouseticks) set.seed(105) simTICKS <- simulate(gmGrouse)[[1]] newdata <- transform(grouseticks, TICKS = simTICKS) gmGrouseUpdate <- update(gmGrouse, data = newdata) gmGrouseRefit <- refit(gmGrouse, newresp = simTICKS) ## compute and print tolerances all.equal(bet.U <- fixef(gmGrouseUpdate), bet.R <- fixef(gmGrouseRefit), tolerance = 0) all.equal(th.U <- getME(gmGrouseUpdate, "theta"), th.R <- getME(gmGrouseRefit, "theta"), tolerance = 0) all.equal(dev.U <- deviance(gmGrouseUpdate), dev.R <- deviance(gmGrouseRefit), tolerance = 0) stopifnot( all.equal(bet.U, bet.R, tolerance = 6e-5), # saw 1.0e-5 all.equal( th.U, th.R, tolerance = 4e-5), # saw 1.2e-5 all.equal(dev.U, dev.R, tolerance = 2e-5)) # saw 4.6e-6 } ## testLevel>1 lme4/tests/nlmer.R0000644000176200001440000000473214630365604013532 0ustar liggesuserslibrary(lme4) allEQ <- function(x,y, tolerance = 4e-4, ...) all.equal.numeric(x,y, tolerance=tolerance, ...) (nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ (Asym|Tree), Orange, start = c(Asym = 200, xmid = 725, scal = 350))) fixef(nm1) if (lme4:::testLevel() > 2) { ## 'Theoph' Data modeling Th.start <- c(lKe = -2.5, lKa = 0.5, lCl = -3) system.time(nm2 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKe+lKa+lCl|Subject), Theoph, start = Th.start, control=nlmerControl(tolPwrss=1e-8))) print(nm2, corr=FALSE) system.time(nm3 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKe|Subject) + (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start)) print(nm3, corr=FALSE) ## dropping lKe from random effects: system.time(nm4 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKa+lCl|Subject), Theoph, start = Th.start, control=nlmerControl(tolPwrss=1e-8))) print(nm4, corr=FALSE) system.time(nm5 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start, control=nlmerControl(tolPwrss=1e-8))) print(nm5, corr=FALSE) ## this has not worked in a *long* time anyway, and PKPDmodels is currently archived, so ... ## if (require("PKPDmodels")) { ## oral1cptSdlkalVlCl <- ## PKmod("oral", "sd", list(ka ~ exp(lka), Cl ~ exp(lCl), V ~ exp(lV))) ## if (FALSE) { ## ## FIXME: Error in get(nm, envir = nlenv) : object 'k' not found ## ## probably with environments/call stack etc.? ## ## 'pnames' is c("lV","lka","k") -- not ("lV","lka","lCl") ## ## nlmer -> nlformula -> MkRespMod ## ## pnames are OK in nlformula, but in MkRespMod we try to recover ## ## them from the column names of the gradient attribute of the ## ## model evaluated in nlenv -- which are wrong. ## system.time(nm2a <- nlmer(conc ~ oral1cptSdlkalVlCl(Dose, Time, lV, lka, lCl) ~ ## (lV+lka+lCl|Subject), ## Theoph, start = c(lV=-1, lka=-0.5, lCl=-3), tolPwrss=1e-8)) ## print(nm2a, corr=FALSE) ## } ## } } ## testLevel > 2 lme4/tests/respiratory.R0000644000176200001440000000150614630365604014774 0ustar liggesusers## Data originally from Davis 1991 Stat. Med., as packaged in geepack ## and transformed (center, id -> factor, idctr created, levels labeled) library(lme4) if (.Platform$OS.type != "windows") { load(system.file("testdata","respiratory.RData",package="lme4")) m_glmer_4.L <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory) m_glmer_4.GHQ5 <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory,nAGQ=5) m_glmer_4.GHQ8 <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory,nAGQ=8) m_glmer_4.GHQ16 <- glmer(outcome~center+treat+sex+age+baseline+(1|idctr), family=binomial,data=respiratory,nAGQ=16) } ## skip on windows (for speed) lme4/tests/polytomous.R0000644000176200001440000000247114630365604014645 0ustar liggesuserslibrary(lme4) ## setup ## library(polytomous) ## data(think) ## think.polytomous.lmer1 <- polytomous(Lexeme ~ Agent + Patient + (1|Register), ## data=think, heuristic="poisson.reformulation") ## save("formula.poisson","data.poisson",file="polytomous_test.RData") load(system.file("testdata","polytomous_test.RData",package="lme4")) if (FALSE) { ## infinite loop glmer(formula.poisson,data=data.poisson,family=poisson,verbose=10) ## Cholmod not positive definite -> infinite loop glmer(formula.poisson,data=data.poisson,family=poisson, verbose=10,control=glmerControl(optimizer="bobyqa")) ## caught warning: maxfun < 10 * length(par)^2 is not recommended. -> infinite loop } ## works but sloooow .... if (FALSE) { try(g1 <- glmer(formula.poisson,data=data.poisson,family=poisson, control=glmerControl(compDev=FALSE),verbose=1)) ## runs for 2880 steps until: ## Error in pp$updateDecomp() : Downdated VtV is not positive definite } (testLevel <- lme4:::testLevel()) if (testLevel > 2) { glmer(formula.poisson,data=data.poisson,family=poisson, control=glmerControl(compDev=FALSE,optimizer="bobyqa")) ## caught warning: maxfun < 10 * length(par)^2 is not recommended. ## but runs to completion } lme4/tests/lmList-tst.R0000644000176200001440000000500314630365604014461 0ustar liggesuserslibrary(lme4) options(nwarnings = 1000) if(getRversion() < "3.2.0") { if(interactive()) break # gives an error else q() # <- undesirable when interactive ! } ## Try all "standard" (statistical) S3 methods: .S3generics <- function(class) { s3m <- .S3methods(class=class) ii <- attr(s3m, "info") ii[!ii[, "isS4"], "generic"] } set.seed(12) d <- data.frame( g = sample(c("A","B","C","D","E"), 250, replace=TRUE), y1 = runif(250, max=100), y2 = sample(c(0,1), 250, replace=TRUE) ) fm3.1 <- lmList(y1 ~ 1 | g, data=d) fm3.2 <- lmList(y2 ~ 1 | g, data=d, family=binomial) data(Orthodont, package="nlme") Orthodont <- as.data.frame(Orthodont) # no "groupedData" fm2 <- lmList(distance ~ age | Subject, Orthodont) s3fn <- .S3generics(class= class(fm3.1)[1]) ## works for "old and new" class noquote(s3fn <- s3fn[s3fn != "print"])# <-- it is show() not print() that works ## [1] coef confint fitted fixef formula logLik pairs plot ## [9] predict qqnorm ranef residuals sigma summary update ## In lme4 1.1-7 (July 2014), only these worked: ## coef(), confint(), formula(), logLik(), summary(), update() ## pairs() is excluded for fm3.1 which has only intercept: ## no errors otherwise: evs <- sapply(s3fn[s3fn != "pairs"], do.call, args = list(fm3.1)) cls <- sapply(evs, function(.) class(.)[1]) clsOk <- cls[c("confint", "fixef", "formula", "logLik", "ranef", "sigma", "summary", "update")] stopifnot(identical(unname(clsOk), c("lmList4.confint", "numeric", "formula", "logLik", "ranef.lmList", "numeric", "summary.lmList", "lmList4"))) ## --- fm2 --- non-trivial X: can use pairs(), too: evs2 <- sapply(s3fn, do.call, args = list(fm2)) ## --- fm3.2 --- no failures for this "glmList" : ss <- function(...) suppressMessages(suppressWarnings(...)) ss(evs3.2 <- sapply(s3fn[s3fn != "pairs"], do.call, args = list(fm3.2))) ## --- fm4 --- evs4 <- sapply(s3fn, function(fn) tryCatch(do.call(fn, list(fm4)), error=function(e) e)) length(warnings()) summary(warnings()) ## 4 kinds; glm.fit: fitted probabilities numerically 0 or 1 occurred str(sapply(evs4, class)) # more errors than above isok4 <- !sapply(evs4, is, class2="error") ## includes a nice pairs(): evs4[isok4] ## Error msgs of those with errors, first 5, now 3, then 2 : str(errs4 <- lapply(evs4[!isok4], conditionMessage)) ## $ logLik : chr "log-likelihood not available with NULL fits" ## $ summary: chr "subscript out of bounds" stopifnot(length(errs4) <= 2) lme4/tests/simulate.R0000644000176200001440000001413614630365604014237 0ustar liggesuserslibrary(lme4) library(testthat) (testLevel <- lme4:::testLevel()) L <- load(system.file("testdata/lme-tst-fits.rda", package="lme4", mustWork=TRUE)) if (testLevel>1) { if (getRversion() > "3.0.0") { ## saved fits are not safe with old R versions fm1 <- fit_sleepstudy_1 s1 <- simulate(fm1,seed=101)[[1]] s2 <- simulate(fm1,seed=101,use.u=TRUE) s3 <- simulate(fm1,seed=101,nsim=10) s4 <- simulate(fm1,seed=101,use.u=TRUE,nsim=10) stopifnot(length(s3)==10,all(sapply(s3,length)==180), length(s4)==10,all(sapply(s4,length)==180)) ## binomial (2-column and prob/weights) gm1 <- fit_cbpp_1 gm2 <- fit_cbpp_3 gm1_s1 <- simulate(gm1,seed=101)[[1]] gm1_s2 <- simulate(gm2,seed=101)[[1]] stopifnot(all.equal(gm1_s1[,1]/rowSums(gm1_s1),gm1_s2)) gm1_s3 <- simulate(gm1,seed=101,use.u=TRUE) gm1_s4 <- simulate(gm1,seed=101,nsim=10) gm1_s5 <- simulate(gm2,seed=101,nsim=10) stopifnot(length(gm1_s4)==10,all(sapply(gm1_s4,ncol)==2),all(sapply(gm1_s4,nrow)==56)) stopifnot(length(gm1_s5)==10,all(sapply(gm1_s5,length)==56)) ## binomial (factor): Kubovy bug report 1 Aug 2013 d <- data.frame(y=factor(rep(letters[1:2],each=100)), f=factor(rep(1:10,10))) g1 <- glmer(y~(1|f),data=d,family=binomial) s6 <- simulate(g1,nsim=10) stopifnot(length(s6)==10,all(sapply(s6,length)==200)) ## test explicitly stated link function gm3 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial(link="logit")) s4 <- simulate(gm3,seed=101)[[1]] stopifnot(all.equal(gm1_s1,s4)) cbpp$obs <- factor(seq(nrow(cbpp))) gm4 <- fit_cbpp_2 ## glmer(cbind(incidence, size - incidence) ~ period + ## (1 | herd) + (1|obs), data = cbpp, family = binomial) s5 <- simulate(gm4,seed=101)[[1]] s6 <- simulate(gm4,seed=101,use.u=TRUE)[[1]] ## Bernoulli ## works, but too slow if (testLevel > 2) { if(require("mlmRev")) { data(guImmun, package="mlmRev") table(guImmun$immun) ## N Y ## 1195 964 g1i <- glmer(immun ~ kid2p+mom25p+ord+ethn+momEd+husEd+momWork+rural+pcInd81+ (1|comm/mom), family="binomial", data=guImmun) ## In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : ## Model failed to converge with max|grad| = 0.326795 (tol = 0.002, component 1) sg1 <- simulate(g1i) if(FALSE) { ## similar: not relevant here {comment out for 'R CMD check'}: ## if(require("glmmTMB")) { g2 <- glmmTMB(immun ~ kid2p+mom25p+ord+ethn+momEd+husEd+momWork+rural+pcInd81+ (1|comm/mom), family="binomial", data=guImmun) sg2 <- simulate(g2) ## } } } } set.seed(101) d <- data.frame(f = factor(rep(LETTERS[1:10],each=10))) d$x <- runif(nrow(d)) u <- rnorm(10) d$eta <- with(d, 1 + 2*x + u[f]) d$y <- rbinom(nrow(d), size=1, prob = plogis(d$eta)) g1 <- glmer(y ~ x + (1|f), data=d, family="binomial") ## tolPwrss=1e-5: no longer necessary if (testLevel > 2) { ## trying a set of glmerControl(tolPwrss = 10^t) : allcoef <- function(x) c(dev = deviance(x), th = getME(x,"theta"), beta = getME(x,"beta")) tfun <- function(t) { gg <- try( ## << errors (too small tolPwrss) are still printed : glmer(y~x+(1|f),data=d,family="binomial", control = glmerControl(tolPwrss = 10^t))) if (inherits(gg,"try-error")) rep(NA,4) else allcoef(gg) } tvec <- seq(-4,-16,by=-0.25) tres <- cbind(t = tvec, t(sapply(tvec, tfun))) print(tres) } gm_s5 <- simulate(g1, seed=102)[[1]] d$y <- factor(c("N","Y")[d$y+1]) g1B <- glmer(y ~ x + (1|f), data=d, family="binomial") ## ,tolPwrss=1e-5) s1B <- simulate(g1B, seed=102)[[1]] stopifnot(all.equal(gm_s5,as.numeric(s1B)-1)) ## another Bernoulli if(requireNamespace("mlmRev")) { data(Contraception, package="mlmRev") gm5 <- glmer(use ~ urban+age+livch+(1|district), Contraception, binomial) s3 <- simulate(gm5) } d$y <- rpois(nrow(d),exp(d$eta)) gm6 <- glmer(y~x+(1|f),data=d,family="poisson") s4 <- simulate(gm6) ## simulation 'from scratch' with formulas: ## binomial ## form <- formula(gm1)[-2] form <- ~ (1|herd) + period gm1_s4 <- simulate(form,newdata=model.frame(gm1), newparams=list(theta=getME(gm1,"theta"), beta=fixef(gm1)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101)[[1]] stopifnot(all.equal(gm1_s2,gm1_s4)) gm1_s5 <- simulate(formula(gm1),newdata=cbpp, newparams=list(theta=getME(gm1,"theta"), beta=fixef(gm1)), family=binomial, seed=101)[[1]] stopifnot(all.equal(gm1_s1,gm1_s5)) tt <- getME(gm1,"theta") bb <- fixef(gm1) expect_message(simulate(form,newdata=model.frame(gm1), newparams=list(theta=unname(tt), beta=fixef(gm1)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"assuming same order") expect_error(simulate(form,newdata=model.frame(gm1), newparams=list(theta=setNames(tt,"abc"), beta=fixef(gm1)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"mismatch between") expect_message(simulate(form,newdata=model.frame(gm1), newparams=list(theta=tt, beta=unname(bb)), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"assuming same order") expect_error(simulate(form,newdata=model.frame(gm1), newparams=list(theta=tt, beta=setNames(bb,c("abc",names(bb)[-1]))), family=binomial, weights=rowSums(model.frame(gm1)[[1]]), seed=101),"mismatch between") ## Gaussian form <- formula(fm1)[-2] s7 <- simulate(form,newdata=model.frame(fm1), newparams=list(theta=getME(fm1,"theta"), beta=fixef(fm1), sigma=sigma(fm1)), family=gaussian, seed=101)[[1]] stopifnot(all.equal(s7,s1)) ## TO DO: wider range of tests, including offsets ... }# R >= 3.0.0 } ## testLevel>1 lme4/tests/HSAURtrees.R0000644000176200001440000000456014630365604014341 0ustar liggesusersif (.Platform$OS.type != "windows") withAutoprint({ library("lme4") ## example from HSAUR2 package; data from 'multcomp'; see ../inst/testdata/trees513.R load(system.file("testdata","trees513.RData",package="lme4")) ## model formula: modForm <- damage ~ species - 1 + (1 | lattice / plot) dfun <- glmer(modForm, data = trees513B, family = binomial, devFunOnly = TRUE) ls.str(environment(dfun))# "for your information" .not.call <- function(x) x[names(x) != "call"] if(lme4:::testLevel() < 2) q("no") ## else (testLevel >= 2) : -------------------------------------------------- ## Generate oldres: ## ---------------- ## library(lme4.0) ## system.time(mmod0 <- glmer(damage ~ species - 1 + (1 | lattice / plot), ## data = trees513, family = binomial())) ## ## 4 seconds ## oldres <- c(fixef(mmod0),getME(mmod0,"theta")) ## detach("package:lme4.0") ## dput(oldres) oldres <- structure(c(5.23645064474105, 4.73568475545248, 2.65289926317093, 1.29043984816924, 1.59329381563025, 0.532663142106669, 1.16703186884403 ), .Names = c("speciesspruce", "speciespine", "speciesbeech", "speciesoak", "specieshardwood", "plot:lattice.(Intercept)", "lattice.(Intercept)")) system.time(mmodA <- glmer(modForm, data = trees513A, family = binomial())) ## 7 seconds newres <- c(fixef(mmodA), getME(mmodA,"theta")) stopifnot(all.equal(oldres, newres, tolerance=1.5e-3)) system.time(mmodB <- glmer(modForm, data = trees513B, family = binomial())) ## 10.4 seconds ## if(FALSE) { ## defuncted in 2019-05 [been deprecated since 2013-06] ## lmer( + family) -> diverts to glmer() with a warning [TODO: use assertWarning(.) eventually] system.time(lmodB <- lmer(modForm, data = trees513B, family = binomial())) stopifnot(all.equal(.not.call(summary(mmodB)), .not.call(summary(lmodB)))) newresB <- c(fixef(mmodB),getME(mmodB,"theta")) stopifnot(length(newresB) == length(oldres) + 1)# extra: species[ash/maple/elm/lime] } }) ## skip on windows (for speed) lme4/tests/evalCall.R0000644000176200001440000000073214630365604014134 0ustar liggesusersif (.Platform$OS.type != "windows") { ## see if we can still run lme4 functions when lme4 is not attached if ("package:lme4" %in% search()) detach("package:lme4") data(sleepstudy,package="lme4") data(cbpp,package="lme4") fm1 <- lme4::lmer(Reaction ~ Days + (Days|Subject), sleepstudy) gm1 <- lme4::glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) } ## skip on windows (for speed) lme4/tests/glmerControlPass.R0000644000176200001440000000157214630365604015712 0ustar liggesusersif (.Platform$OS.type != "windows") { ## test redirection from lmer to glmer (correct options passed, ## specifically glmerControl -> tolPwrss library("lme4") library("testthat") ## data("trees513", package = "multcomp") load(system.file("testdata","trees513.RData",package="lme4")) expect_is(mmod1 <- glmer(damage ~ species - 1 + (1 | lattice / plot), data = trees513B, family = binomial()),"glmerMod") if(FALSE) { ## Now (2019-05) defunct; was deprecated since 2013-06: expect_warning(mmod2 <- lmer(damage ~ species - 1 + (1 | lattice / plot), data = trees513B, family = binomial()), "calling lmer with .* is deprecated") mmod2@call <- mmod1@call ## hack calls to equality expect_equal(mmod1,mmod2) } } ## skip on windows (for speed) lme4/tests/boundary.R0000644000176200001440000002103014630365604014226 0ustar liggesusers## In both of these cases boundary fit (i.e. estimate of zero RE ## variance) is *incorrect*. (Nelder_Mead, restart_edge=FALSE) is the ## only case where we get stuck; either optimizer=bobyqa or ## restart_edge=TRUE (default) works if (.Platform$OS.type != "windows") { library(lme4) library(testthat) if(!dev.interactive(orNone=TRUE)) pdf("boundary_plots.pdf") ## Stephane Laurent: dat <- read.csv(system.file("testdata","dat20101314.csv", package="lme4")) fit <- lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl(optimizer="Nelder_Mead")) fit_b <- lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl(optimizer="bobyqa", restart_edge=FALSE)) fit_c <- lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl(optimizer="Nelder_Mead", restart_edge=FALSE, check.conv.hess="ignore")) ## final fit gives degenerate-Hessian warning ## FIXME: use fit_c with expect_warning() as a check on convergence tests ## tolerance=1e-5 seems OK in interactive use but not in R CMD check ... ?? stopifnot(all.equal(getME(fit, "theta") -> th.f, getME(fit_b,"theta"), tolerance=5e-5), all(th.f > 0)) ## Manuel Koller source(system.file("testdata", "koller-data.R", package="lme4")) ldata <- getData(13) ## old (backward compatible/buggy) fm4 <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="Nelder_Mead", use.last.params=TRUE), start=list(theta=1)) fm4b <- lmer(y ~ (1|Var2), ldata, control = lmerControl(optimizer="Nelder_Mead", use.last.params=TRUE, restart_edge = FALSE, check.conv.hess="ignore", check.conv.grad="ignore"), start = list(theta=1)) ## FIXME: use as convergence test check stopifnot(getME(fm4b,"theta") == 0) fm4c <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="bobyqa", use.last.params=TRUE), start=list(theta=1)) stopifnot(all.equal(getME(fm4, "theta") -> th4, getME(fm4c,"theta"), tolerance=1e-4), th4 > 0) ## new: doesn't get stuck at edge any more, but gets stuck somewhere else ... fm5 <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="Nelder_Mead", check.conv.hess="ignore", check.conv.grad="ignore"), start=list(theta=1)) fm5b <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="Nelder_Mead", restart_edge=FALSE, check.conv.hess="ignore", check.conv.grad="ignore"), start = list(theta = 1)) fm5c <- lmer(y ~ (1|Var2), ldata, control=lmerControl(optimizer="bobyqa"), start = list(theta = 1)) stopifnot(all.equal(unname(getME(fm5c,"theta")), 0.21067645, tolerance = 1e-7)) # 0.21067644264 [64-bit, lynne] if (require("optimx")) { ## additional stuff for diagnosing Nelder-Mead problems. fm5d <- update(fm5,control=lmerControl(optimizer="optimx", optCtrl=list(method="L-BFGS-B"))) fm5e <- update(fm5, control=lmerControl(optimizer="nloptwrap")) mList <- setNames(list(fm4,fm4b,fm4c,fm5,fm5b,fm5c,fm5d,fm5e), c("NM/uselast","NM/uselast/norestart","bobyqa/uselast", "NM","NM/norestart","bobyqa","LBFGSB","nloptr/bobyqa")) pp <- profile(fm5c,which=1) dd <- as.data.frame(pp) par(las=1,bty="l") v <- sapply(mList, function(x) sqrt(VarCorr(x)[[1]])) plot(.zeta^2~.sig01, data=dd, type="b") abline(v=v) res <- cbind(VCorr = sapply(mList, function(x) sqrt(VarCorr(x)[[1]])), theta = sapply(mList, getME,"theta"), loglik = sapply(mList, logLik)) res print(sessionInfo(), locale=FALSE) } ###################### library(lattice) ## testing boundary and near-boundary cases tmpf <- function(i,...) { set.seed(i) d <- data.frame(x=rnorm(60),f=factor(rep(1:6,each=10))) d$y <- simulate(~x+(1|f),family=gaussian,newdata=d, newparams=list(theta=0.01,beta=c(1,1),sigma=5))[[1]] lmer(y~x+(1|f),data=d,...) } sumf <- function(m) { unlist(VarCorr(m))[1] } if (FALSE) { ## figuring out which seeds will give boundary and ## near-boundary solutions mList <- lapply(1:201,tmpf) # [FIXME tons of messages "theta parameters vector not named"] ss <- sapply(mList,sumf)+1e-50 par(las=1,bty="l") hist(log(ss),col="gray",breaks=50) ## values lying on boundary which(log(ss)<(-40)) ## 5, 7-13, 15, 21, ... ## values close to boundary (if check.edge not set) which(log(ss)>(-40) & log(ss) <(-20)) ## 16, 44, 80, 86, 116, ... } ## diagnostic plot tmpplot <- function(i, FUN=tmpf) { dd <- FUN(i, devFunOnly=TRUE) x <- 10^seq(-10,-6.5,length=201) dvec <- sapply(x,dd) op <- par(las=1,bty="l"); on.exit(par(op)) plot(x,dvec-min(dvec)+1e-16, log="xy", type="b") r <- FUN(i) abline(v = getME(r,"theta"), col=2) invisible(r) } ## Case #1: boundary estimate with or without boundary.tol m5 <- tmpf(5) m5B <- tmpf(5,control=lmerControl(boundary.tol=0)) stopifnot(getME(m5, "theta")==0, getME(m5B,"theta")==0) p5 <- profile(m5) ## bobyqa warnings but results look reasonable xyplot(p5) ## reveals slight glitch (bottom row of plots doesn't look right) expect_warning(splom(p5),"unreliable for singular fits") p5B <- profile(m5, signames=FALSE) # -> bobyqa convergence warning (code 3) expect_warning(splom(p5B), "unreliable for singular fits") if(lme4:::testLevel() >= 2) { ## avoid failure to warn ## Case #2: near-boundary estimate, but boundary.tol can't fix it m16 <- tmpplot(16) ## sometimes[2014-11-11] fails (??) : p16 <- profile(m16) ## warning message*s* (non-monotonic profile and more) plotOb <- xyplot(p16) ## NB: It's the print()ing of 'plotOb' which warns ==> need to do this explicitly: expect_warning(print(plotOb), ## warns about linear interpolation in profile for variable 1 "using linear interpolation") d16 <- as.data.frame(p16) xyplot(.zeta ~ .focal|.par, data=d16, type=c("p","l"), scales = list(x=list(relation="free"))) try(splom(p16)) ## breaks when calling predict(.) } ## bottom line: ## * xyplot.thpr could still be improved ## * most of the near-boundary cases are noisy and can't easily be ## fixed tmpf2 <- function(i,...) { set.seed(i) d <- data.frame(x=rnorm(60),f=factor(rep(1:6,each=10)), w=rep(10,60)) d$y <- simulate(~x+(1|f),family=binomial, weights=d$w,newdata=d, newparams=list(theta=0.01,beta=c(1,1)))[[1]] glmer(y~x+(1|f),data=d,family=binomial,weights=w,...) } if (FALSE) { ## figuring out which seeds will give boundary and ## near-boundary solutions mList <- lapply(1:201,tmpf2) ss <- sapply(mList,sumf)+1e-50 par(las=1,bty="l") hist(log(ss),col="gray",breaks=50) ## values lying on boundary head(which(log(ss)<(-50))) ## 1-5, 7 ... ## values close to boundary (if check.edge not set) which(log(ss)>(-50) & log(ss) <(-20)) ## 44, 46, 52, ... } ## m1 <- tmpf2(1) ## FIXME: doesn't work if we generate m1 via tmpf2(1) -- ## some environment lookup problem ... set.seed(1) d <- data.frame(x=rnorm(60),f=factor(rep(1:6,each=10)), w=rep(10,60)) d$y <- simulate(~x+(1|f),family=binomial, weights=d$w,newdata=d, newparams=list(theta=0.01,beta=c(1,1)))[[1]] m1 <- glmer(y~x+(1|f),data=d,family=binomial,weights=w) p1 <- profile(m1) xyplot(p1) expect_warning(splom(p1),"splom is unreliable") } ## skip on windows (for speed) lme4/tests/falsezero_dorie.R0000644000176200001440000000156014630365604015565 0ustar liggesusersif (.Platform$OS.type != "windows") { ## test of false zero problem reported by Vince Dorie ## (no longer occurs with current development lme4) ## https://github.com/lme4/lme4/issues/17 library(lme4) sigma.eps <- 2 sigma.the <- 0.75 mu <- 2 n <- 5 J <- 10 g <- gl(J, n) set.seed(1) theta <- rnorm(J, 0, sigma.eps * sigma.the) y <- rnorm(n * J, mu + theta[g], sigma.eps) lmerFit <- lmer(y ~ 1 + (1 | g), REML = FALSE, verbose=TRUE) y.bar <- mean(y) y.bar.j <- sapply(1:J, function(j) mean(y[g == j])) S.w <- sum((y - y.bar.j[g])^2) S.b <- n * sum((y.bar.j - y.bar)^2) R <- S.b / S.w sigma.the.hat <- sqrt(max((n - 1) * R / n - 1 / n, 0)) stopifnot(all.equal(sigma.the.hat,lme4Sigma <- unname(getME(lmerFit,"theta")), tolerance=2e-5)) } ## skip on windows (for speed) lme4/tests/devCritFun.R0000644000176200001440000000165014630365604014462 0ustar liggesusersif (.Platform$OS.type!="windows") { library(lme4) ## ---------------------------------------------------------------------- ## test that deviance(REMLfit, REML = FALSE) gives the same answer as ## the ML objective function at the REML fit ## ---------------------------------------------------------------------- set.seed(1) w <- runif(nrow(sleepstudy)) fm <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, weights = w) dfun <- update(fm, devFunOnly = TRUE, REML = FALSE) stopifnot(all.equal(deviance(fm, REML = FALSE), dfun(getME(fm, "theta")))) ## ---------------------------------------------------------------------- ## TODO: test the opposite case that deviance(MLfit, REML = TRUE) ## gives the same answer as the REML objective function at the ML fit ## ---------------------------------------------------------------------- } lme4/tests/glmmExt.R0000644000176200001440000001176614630365604014037 0ustar liggesusers## Tests of a variety of GLMM families and links ## coding: family {g=Gamma, P=Poisson, G=Gaussian, B=binomial} ## link {l=log, i=inverse, c=cloglog, i=identity} ## model {1 = intercept-only, 2 = with continuous predictor} library("lme4") source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##-> gSim(), a general simulation function ... str(gSim) ## function (nblk = 26, nperblk = 100, sigma = 1, beta = c(4, 3), ## x = runif(n), shape = 2, nbinom = 10, family = Gamma()) if (.Platform$OS.type != "windows") withAutoprint({ set.seed(101) ## Gamma, inverse link (= default) : d <- gSim() ## Gamma, log link eta = log(mu) : dgl <- gSim(dInitial = d, family = Gamma(link = log)) ## Poisson, log link dP <- gSim(dInitial = d, family = poisson()) ## Gaussian, log link --- need to use a non-identity link, otherwise glmer calls lmer dG <- gSim(dInitial = d, family = gaussian(link = log), sd = 2) ## Gaussian with inverse link : (sd small enough to avoid negative values) : dGi <- gSim(dInitial = d, family = gaussian(link = inverse), sd = 0.01) ## binomial with cloglog link dBc <- d dBc$eta <- d$eta - 5 # <==> beta intercept 5 less: otherwise y will be constant dBc <- gSim(dInitial = dBc, ## beta = c(-1, 3), nbinom = 1, family = binomial(link="cloglog")) ## binomial with identity link dBi <- d dBc$eta <- d$eta / 10 # <==> beta slope / 10 : scale so range goes from 0.2-0.8 dBi <- gSim(dInitial = dBc, ## beta = c(4, 3/10), nbinom = 1, family = binomial(link="identity")) ############ ## Gamma/inverse ## GLMs gm0 <- glm(y ~ 1, data=d, family=Gamma) gm1 <- glm(y ~ block-1, data=d, family=Gamma) stopifnot(all.equal(sd(coef(gm1)),1.00753942148611)) gm2 <- glmer(y ~ 1 + (1|block), d, Gamma, nAGQ=0) gm3 <- glmer(y ~ x + (1|block), d, Gamma, nAGQ=0) gm2B <- glmer(y ~ 1 + (1|block), d, Gamma) gm3B <- glmer(y ~ x + (1|block), d, Gamma) ## y ~ x + (1|block), Gamma is TRUE model summary(gm3) summary(gm3B)# should be better ## Both have "correct" beta ~= (4, 3) -- but *too* small (sigma_B, sigma) !! stopifnot(exprs = { all.equal(fixef(gm3 ), c(`(Intercept)` = 4.07253, x = 3.080585), tol = 1e-5) # 1.21e-7 all.equal(fixef(gm3B), c(`(Intercept)` = 4.159398, x = 3.058521),tol = 1e-5) # 1.13e-7 }) VarCorr(gm3) # both variances / std.dev. should be ~ 1 but are too small ## ## library(hglm) ## h1 <- hglm2(y~x+(1|block), data=d, family=Gamma()) ## lme4.0 fails on all of these ... ## Gamma/log ggl1 <- glmer(y ~ 1 + (1|block), data=dgl, family=Gamma(link="log")) ggl2 <- glmer(y ~ x + (1|block), data=dgl, family=Gamma(link="log"))# true model (h.1.2 <- anova(ggl1, ggl2)) stopifnot( all.equal(unlist(h.1.2[2,]), c(npar = 4, AIC = 34216.014, BIC = 34239.467, logLik = -17104.007, deviance = 34208.014, Chisq = 2458.5792, Df = 1, `Pr(>Chisq)` = 0)) ) ## "true" model : summary(ggl2) VarCorr(ggl2) ## ## library(lme4.0) ## ggl1 <- glmer(y ~ 1 + (1|block), data=dgl, family=Gamma(link="log"), verbose= 2) ## fails ## Poisson/log gP1 <- glmer(y ~ 1 + (1|block), data=dP, family=poisson) gP2 <- glmer(y ~ x + (1|block), data=dP, family=poisson) ## Gaussian/log gG1 <- glmer(y ~ 1 + (1|block), data=dG, family=gaussian(link="log")) gG2 <- glmer(y ~ x + (1|block), data=dG, family=gaussian(link="log")) ## works with lme4.0 but AIC/BIC/logLik are crazy, and scale ## parameter is not reported ## glmmML etc. doesn't allow models with scale parameters ## gG1B <- glmmadmb(y ~ 1 + (1|block), data=dG, ## family="gaussian",link="log",verbose=TRUE) ## what is the best guess at the estimate of the scale parameter? ## is it the same as sigma? ## gG1B$alpha ## if(Sys.info()["user"] != "maechler") { # <- seg.faults (MM) ## Gaussian/inverse gGi1 <- glmer(y ~ 1 + (1|block), data=dGi, family=gaussian(link="inverse")) gGi2 <- glmer(y ~ x + (1|block), data=dGi, family=gaussian(link="inverse")) ## Binomial/cloglog gBc1 <- glmer(y ~ 1 + (1|block), data=dBc, family=binomial(link="cloglog")) gBc2 <- glmer(y ~ x + (1|block), data=dBc, family=binomial(link="cloglog")) ## library("glmmADMB") ## glmmadmbfit <- glmmadmb(y ~ x + (1|block), data=dBc, ## family="binomial",link="cloglog") glmmadmbfit <- list(fixef = c("(Intercept)" = -0.717146132730349, x =2.83642900561633), VarCorr = structure(list( block = structure(0.79992, .Dim = c(1L, 1L), .Dimnames = list("(Intercept)", "(Intercept)"))), class = "VarCorr")) stopifnot(all.equal(fixef(gBc2), glmmadmbfit$fixef, tolerance=5e-3)) ## pretty loose tolerance ... stopifnot(all.equal(unname(unlist(VarCorr(gBc2))), c(glmmadmbfit$VarCorr$block), tolerance=2e-2)) gBi1 <- glmer(y ~ 1 + (1|block), data=dBi, family=binomial(link="identity")) gBi2 <- glmer(y ~ x + (1|block), data=dBi, family=binomial(link="identity")) ## FIXME: should test more of the *results* of these efforts, not ## just that they run without crashing ... }) ## skip on windows (for speed) lme4/tests/bootMer.R0000644000176200001440000000636314630365604014026 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) mySumm <- function(.) { s <- sigma(.) c(beta =getME(., "beta"), sigma = s, sig01 = unname(s * getME(., "theta"))) } fm1 <- lmer(Yield ~ 1|Batch, Dyestuff) boo01 <- bootMer(fm1, mySumm, nsim = 10) boo02 <- bootMer(fm1, mySumm, nsim = 10, use.u = TRUE) ## boo02 <- bootMer(fm1, mySumm, nsim = 500, use.u = TRUE) if (require(boot)) { boot.ci(boo02,index=2,type="perc") } fm2 <- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake) boo03 <- bootMer(fm2, mySumm, nsim = 10) boo04 <- bootMer(fm2, mySumm, nsim = 10, use.u = TRUE) if (lme4:::testLevel() > 1) { gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) boo05 <- bootMer(gm1, mySumm, nsim = 10) boo06 <- bootMer(gm1, mySumm, nsim = 10, use.u = TRUE) cbpp$obs <- factor(seq(nrow(cbpp))) gm2 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd) + (1|obs), family = binomial, data = cbpp) boo03 <- bootMer(gm2, mySumm, nsim = 10) boo04 <- bootMer(gm2, mySumm, nsim = 10, use.u = TRUE) } load(system.file("testdata","culcita_dat.RData",package="lme4")) cmod <- glmer(predation~ttt+(1|block),family=binomial,data=culcita_dat) set.seed(101) ## FIXME: sensitive to step-halving PIRLS tests ## expect_warning(cc <- confint(cmod,method="boot",nsim=10,quiet=TRUE, ## .progress="txt",PBargs=list(style=3)),"some bootstrap runs failed") library(parallel) if (detectCores()>1) { ## http://stackoverflow.com/questions/12983137/how-do-detect-if-travis-ci-or-not travis <- nchar(Sys.getenv("TRAVIS"))>0 if(.Platform$OS.type != "windows" && !travis) { boo01P <- bootMer(fm1, mySumm, nsim = 10, parallel="multicore", ncpus=2) } ## works in Solaris from an interactive console but not ??? ## via R CMD BATCH if (Sys.info()["sysname"] != "SunOS") boo01P.snow <- bootMer(fm1, mySumm, nsim = 10, parallel="snow", ncpus=2) } set.seed(101) dd <- data.frame(x=runif(200), f=rep(1:20,each=10), o=rnorm(200,mean=2)) dd$y <- suppressMessages(simulate(~x+(1|f)+offset(o), family="poisson", newdata=dd, newparams=list(theta=1,beta=c(0,2)))[[1]]) ## fails under flexLambda dd$y2 <- suppressMessages(simulate(~x+(1|f)+offset(o), family="gaussian", newdata=dd, newparams=list(theta=1,beta=c(0,2),sigma=1))[[1]]) fm3 <- glmer(y~x+(1|f)+offset(o), data=dd,family="poisson") fm4 <- lmer(y2~x+(1|f)+offset(o), data=dd) mySumm2 <- function(fit) return(c(fixef(fit),getME(fit,'theta'))) ## still some issues to fix here bb <- bootMer(fm3,mySumm2,nsim=10) attr(bb,"boot.fail.msgs") bb2 <- bootMer(fm4,mySumm2,nsim=10) } ## skip on windows (for speed) lme4/tests/extras.R0000644000176200001440000000153314327770071013720 0ustar liggesuserslibrary(lme4) ## This example takes long : only for testLevel >= 3 : d.ok <- isTRUE(try(data(star, package = 'mlmRev')) == 'star') if(!interactive() && (lme4:::testLevel() < 3 || !d.ok)) q("no") ## This worked in an *older* version of lme4.0 ## fm1 <- lme4:::carryOver(math ~ gr+sx*eth+cltype+(yrs|id)+(1|tch)+(yrs|sch), ## star, yrs ~ tch/id, ## control = list(msV = 1, nit = 0, grad = 0)) system.time( fm1 <- lmer(math ~ gr + sx*eth + cltype + schtype + hdeg + clad + exp + trace + (yrs | id) + (1 | tch) + (yrs | sch), data = star, verbose = TRUE) ) ## user system elapsed ## 34.991 0.037 35.132 -- lme4.0 ## 36.599 0.031 36.745 -- lme4 {bobyqa; 2014-01-09 @ lynne} sm1 <- summary(fm1) print(sm1, corr=TRUE, symbolic.cor=TRUE)# now message *and* gives the correlation lme4/tests/is.R0000644000176200001440000000160614630365604013025 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) stopifnot(isREML(fm1), isLMM(fm1), !isGLMM(fm1), !isNLMM(fm1)) fm1ML <- refitML(fm1) stopifnot(!isREML(fm1ML), isLMM(fm1ML), !isGLMM(fm1ML), !isNLMM(fm1ML)) gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) stopifnot(!isREML(gm1), !isLMM(gm1), isGLMM(gm1), !isNLMM(gm1)) nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ Asym|Tree, Orange, start = c(Asym = 200, xmid = 725, scal = 350)) stopifnot(!isREML(nm1), !isLMM(nm1), !isGLMM(nm1), isNLMM(nm1)) } ## skip on windows (for speed) lme4/tests/glmer-1.R0000644000176200001440000002660214630365604013661 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type!="windows") withAutoprint({ ## generalized linear mixed model stopifnot(suppressPackageStartupMessages(require(lme4))) options(show.signif.stars = FALSE) source(system.file("test-tools-1.R", package = "Matrix"), keep.source = FALSE) ## ##' Check that coefficient +- "2" * SD contains true value ##' ##' @title Check that confidence interval for coefficients contains true value ##' @param fm fitted model, e.g., from lm(), lmer(), glmer(), .. ##' @param true.coef numeric vector of true (fixed effect) coefficients ##' @param conf.level confidence level for confidence interval ##' @param sd.factor the "2", i.e. default 1.96 factor for the confidence interval ##' @return TRUE or a string of "error" ##' @author Martin Maechler chkFixed <- function(fm, true.coef, conf.level = 0.95, sd.factor = qnorm((1+conf.level)/2)) { stopifnot(is.matrix(cf <- coefficients(summary(fm))), ncol(cf) >= 2) cc <- cf[,1] sd <- cf[,2] if(any(out1 <- true.coef < cc - sd.factor*sd)) return(sprintf("true coefficient[j], j=%s, is smaller than lower confidence limit", paste(which(out1), collapse=", "))) if(any(out2 <- true.coef > cc + sd.factor*sd)) return(sprintf("true coefficient[j], j=%s, is larger than upper confidence limit", paste(which(out2), collapse=", "))) ## else, return TRUE } ## TODO: (1) move these to ./glmer-ex.R [DONE] ## ---- (2) "rationalize" with ../man/cbpp.Rd #m1e <- glmer1(cbind(incidence, size - incidence) ~ period + (1 | herd), # family = binomial, data = cbpp, doFit = FALSE) ## now #bobyqa(m1e, control = list(iprint = 2L)) m1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp) m1. <- update(m1, start = getME(m1, c("theta", "fixef"))) dm1 <- drop1(m1) stopifnot(all.equal(drop1(m1.), dm1, tol = 1e-10))# Lnx(F28) 64b: 4e-12 ## response as a vector of probabilities and usage of argument "weights" m1p <- glmer(incidence / size ~ period + (1 | herd), weights = size, family = binomial, data = cbpp) ## Confirm that these are equivalent: stopifnot(all.equal(fixef(m1), fixef(m1p)), all.equal(ranef(m1), ranef(m1p)), TRUE) ## for(m in c(m1, m1p)) { ## cat("-------\\n\\nCall: ", ## paste(format(getCall(m)), collapse="\\n"), "\\n") ## print(logLik(m)); cat("AIC:", AIC(m), "\\n") ; cat("BIC:", BIC(m),"\\n") ## } stopifnot(all.equal(logLik(m1), logLik(m1p)), all.equal(AIC(m1), AIC(m1p)), all.equal(BIC(m1), BIC(m1p))) ## changed tolPwrss to 1e-7 to match other default m1b <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, verbose = 2L, control = glmerControl(optimizer="bobyqa", tolPwrss=1e-7, optCtrl=list(rhobeg=0.2, rhoend=2e-7))) ## using nAGQ=9L provides a better evaluation of the deviance m.9 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, nAGQ = 9) ## check with nAGQ = 25 m2 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, nAGQ = 25) ## loosened tolerance on parameters stopifnot(is((cm2 <- coef(m2)), "coef.mer"), dim(cm2$herd) == c(15,4), all.equal(fixef(m2), ### lme4a [from an Ubuntu 11.10 amd64 system] c(-1.39922533406847, -0.991407294757321, -1.12782184600404, -1.57946627431248), ##c(-1.3766013, -1.0058773, ## -1.1430128, -1.5922817), tolerance = 5.e-4, check.attributes=FALSE), all.equal(c(-2*logLik(m2)), 100.010030538022, tolerance=1e-9), all.equal(deviance(m2), 73.373, tolerance=1e-5) ## with bobyqa first (AGQ=0), then ##all.equal(deviance(m2), 101.119749563, tolerance=1e-9) ) ## 32-bit Ubuntu 10.04: coef_m1_lme4.0 <- structure(c(-1.39853505102576, -0.992334712470269, -1.12867541092127, -1.58037389566025), .Names = c("(Intercept)", "period2", "period3", "period4")) ## library(glmmADMB) ## mg <- glmmadmb(cbind(incidence, size - incidence) ~ period + (1 | herd), ## family = "binomial", data = cbpp) coef_m1_glmmadmb <- structure(c(-1.39853810064827, -0.99233330126975, -1.12867317840779, -1.58031150854503), .Names = c("(Intercept)", "period2", "period3", "period4")) ## library(glmmML) ## mm <- glmmML(cbind(incidence, size - incidence) ~ period, ## cluster=herd, ## family = "binomial", data = cbpp) coef_m1_glmmML <- structure(c(-1.39853234657711, -0.992336901732793, -1.12867036466201, -1.58030977686564), .Names = c("(Intercept)", "period2", "period3", "period4")) ## lme4[r 1636], 64-bit ubuntu 11.10: ## c(-1.3788385, -1.0589543, ## -1.1936382, -1.6306271), stopifnot(is((cm1 <- coef(m1b)), "coef.mer"), dim(cm1$herd) == c(15,4), all.equal(fixef(m1b),fixef(m1),tolerance=4e-5), is.all.equal4(fixef(m1b), coef_m1_glmmadmb, coef_m1_lme4.0, coef_m1_glmmML, tol = 5e-4) ) ## Deviance for the new algorithm is lower, eventually we should change the previous test ##stopifnot(deviance(m1) <= deviance(m1e)) showProc.time() # if (require('MASS', quietly = TRUE)) { bacteria$wk2 <- bacteria$week > 2 contrasts(bacteria$trt) <- structure(contr.sdif(3), dimnames = list(NULL, c("diag", "encourage"))) print(fm5 <- glmer(y ~ trt + wk2 + (1|ID), data=bacteria, family=binomial)) showProc.time() # stopifnot( all.equal(logLik(fm5), ## was -96.127838 structure(-96.13069, nobs = 220L, nall = 220L, df = 5L, REML = FALSE, class = "logLik"), tolerance = 5e-4, check.attributes = FALSE) , all.equal(fixef(fm5), ## was 2.834218798 -1.367099481 c("(Intercept)"= 2.831609490, "trtdiag"= -1.366722631, ## now 0.5842291915, -1.599148773 "trtencourage"=0.5840147802, "wk2TRUE"=-1.598591346), tolerance = 1e-4 ) ) } ## Failure to specify a random effects term - used to give an obscure message ## Ensure *NON*-translated message; works on Linux,... : if(.Platform$OS.type == "unix") { Sys.setlocale("LC_MESSAGES", "C") tc <- tryCatch( m2 <- glmer(incidence / size ~ period, weights = size, family = binomial, data = cbpp) , error = function(.) .) stopifnot(inherits(tc, "error"), identical(tc$message, "No random effects terms specified in formula")) } ## glmer - Modeling overdispersion as "mixture" aka ## ----- - *ONE* random effect *PER OBSERVATION" -- example inspired by Ben Bolker: ##' ##' ##'
##' @title ##' @param ng number of groups ##' @param nr number of "runs", i.e., observations per groups ##' @param sd standard deviations of group and "Individual" random effects, ##' (\sigma_f, \sigma_I) ##' @param b true beta (fixed effects) ##' @return a data frame (to be used in glmer()) with columns ##' (x, f, obs, eta0, eta, mu, y), where y ~ Pois(lambda(x)), ##' log(lambda(x_i)) = b_1 + b_2 * x + G_{f(i)} + I_i ##' and G_k ~ N(0, \sigma_f); I_i ~ N(0, \sigma_I) ##' @author Ben Bolker and Martin Maechler rPoisGLMMi <- function(ng, nr, sd=c(f = 1, ind = 0.5), b=c(1,2)) { stopifnot(nr >= 1, ng >= 1, is.numeric(sd), names(sd) %in% c("f","ind"), sd >= 0) ntot <- nr*ng b.reff <- rnorm(ng, sd= sd[["f"]]) b.rind <- rnorm(ntot,sd= sd[["ind"]]) x <- runif(ntot) within(data.frame(x, f = factor(rep(LETTERS[1:ng], each=nr)), obs = 1:ntot, eta0 = cbind(1, x) %*% b), { eta <- eta0 + b.reff[f] + b.rind[obs] mu <- exp(eta) y <- rpois(ntot, lambda=mu) }) } set.seed(1) dd <- rPoisGLMMi(12, 20) m0 <- glmer(y~x + (1|f), family="poisson", data=dd) m1 <- glmer(y~x + (1|f) + (1|obs), family="poisson", data=dd) stopifnot(isTRUE(chkFixed(m0, true.coef = c(1,2))), isTRUE(chkFixed(m1, true.coef = c(1,2)))) (a01 <- anova(m0, m1)) stopifnot(all.equal(a01$Chisq[2], 554.334056, tolerance=1e-5), all.equal(a01$logLik, c(-1073.77193, -796.604902), tolerance=1e-6), a01$ npar == 3:4, na.omit(a01$ Df) == 1) if(lme4:::testLevel() > 1) { nsim <- 10 set.seed(2) system.time( simR <- lapply(1:nsim, function(i) { cat(i,"", if(i %% 20 == 0)"\n") dd <- rPoisGLMMi(10 + rpois(1, lambda=3), 16 + rpois(1, lambda=5)) m0 <- glmer(y~x + (1|f), family="poisson", data=dd) m1 <- glmer(y~x + (1|f) + (1|obs), family="poisson", data=dd) a01 <- anova(m0, m1) stopifnot(a01$ npar == 3:4, na.omit(a01$ Df) == 1) list(chk0 = chkFixed(m0, true.coef = c(1,2)), chk1 = chkFixed(m1, true.coef = c(1,2)), chisq= a01$Chisq[2], lLik = a01$logLik) })) ## m0 is the wrong model, so we don't expect much here: table(unlist(lapply(simR, `[[`, "chk0"))) ## If the fixed effect estimates were unbiased and the standard errors correct, ## and N(0,sigma^2) instead of t_{nu} good enough for the fixed effects, ## the confidence interval should contain the true coef in ~95 out of 100: table(unlist(lapply(simR, `[[`, "chk1"))) ## The tests are all highly significantly in favor of m1 : summary(chi2s <- sapply(simR, `[[`, "chisq")) ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 158.9 439.0 611.4 698.2 864.3 2268.0 stopifnot(chi2s > qchisq(0.9999, df = 1)) } showProc.time() }) ## skip if windows and testLevel<1 lme4/tests/methods.R0000644000176200001440000000166514630365604014062 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) library(testthat) fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) expect_equal(colnames(model.frame(fm1)),c("Reaction","Days","Subject")) expect_equal(colnames(model.frame(fm1,fixed.only=TRUE)),c("Reaction","Days")) expect_equal(formula(fm1),Reaction ~ Days + (Days | Subject)) expect_equal(formula(fm1,fixed.only=TRUE),Reaction ~ Days) ## ugly example: model frame with compound elements fm2 <- lmer(log(Reaction) ~ splines::ns(Days,3) + + I(1+Days^3) + (Days|Subject), sleepstudy) expect_equal(names(model.frame(fm2)), c("log(Reaction)", "splines::ns(Days, 3)", "I(1 + Days^3)", "Days", "Subject")) expect_equal(names(model.frame(fm2,fixed.only=TRUE)), c("log(Reaction)", "splines::ns(Days, 3)", "I(1 + Days^3)")) } ## skip on windows (for speed) lme4/tests/lmer-0.R0000644000176200001440000001206414630365604013506 0ustar liggesusersrequire(lme4) source(system.file("test-tools-1.R", package = "Matrix"))# identical3() etc ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } ## Check that quasi families throw an error assertError(lmer(cbind(incidence, size - incidence) ~ period + (1|herd), data = cbpp, family = quasibinomial)) assertError(lmer(incidence ~ period + (1|herd), data = cbpp, family = quasipoisson)) assertError(lmer(incidence ~ period + (1|herd), data = cbpp, family = quasi)) ## check bug found by Kevin Buhr set.seed(7) n <- 10 X <- data.frame(y=runif(n), x=rnorm(n), z=sample(c("A","B"), n, TRUE)) fm <- lmer(log(y) ~ x | z, data=X) ## ignore grouping factors with ## gave error inside model.frame() stopifnot(all.equal(c(`(Intercept)` = -0.834544), fixef(fm), tolerance=.01)) ## is "Nelder_Mead" default optimizer? (isNM <- formals(lmerControl)$optimizer == "Nelder_Mead") (isOldB <- formals(lmerControl)$optimizer == "bobyqa") (isOldTol <- environment(nloptwrap)$defaultControl$xtol_abs == 1e-6) if (.Platform$OS.type != "windows") withAutoprint({ source(system.file("testdata", "lme-tst-funs.R", package="lme4", mustWork=TRUE))# -> uc() ## check working of Matrix methods on vcov(.) etc ---------------------- fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) V <- vcov(fm) (V1 <- vcov(fm1)) (C1 <- chol(V1)) dput(dV <- as.numeric(diag(V))) # 0.17607818634.. [x86_64, F Lnx 36] TOL <- 0 # to show the differences below TOL <- 1e-5 # for the check stopifnot(exprs = { all.equal(dV, uc(if(isNM) 0.176076 else if(isOldB) 0.176068575 else if(isOldTol) 0.1761714 else 0.1760782), tolerance = 9*TOL) # seen 7.8e-8; Apple clang 14.0.3 had 6.3783e-5 all.equal(sqrt(dV), as.numeric(chol(V)), tol = 1e-12) all.equal(diag(V1), uc(`(Intercept)` = 46.5751, Days = 2.38947), tolerance = 40*TOL)# 5e-7 (for "all" algos) is(C1, "dtrMatrix") # was inherits(C1, "Cholesky") dim(C1) == c(2,2) all.equal(as.numeric(C1), # 6.8245967 0. -0.2126263 1.5310962 [x86_64, F Lnx 36] c(6.82377, 0, -0.212575, 1.53127), tolerance=20*TOL)# 1.2e-4 ("all" algos) dim(chol(crossprod(getME(fm1, "Z")))) == 36 }) ## printing signif(chol(crossprod(getME(fm, "Z"))), 5) # -> simple 4 x 4 sparse showProc.time() # ## From: Stephane Laurent ## To: r-sig-mixed-models@.. ## "crash with the latest update of lme4" ## ## .. example for which lmer() crashes with the last update of lme4 ...{R-forge}, ## .. but not with version CRAN version (0.999999-0) lsDat <- data.frame( Operator = as.factor(rep(1:5, c(3,4,8,8,8))), Part = as.factor( c(2L, 3L, 5L, 1L, 1L, 2L, 3L, 1L, 1L, 2L, 2L, 3L, 3L, 4L, 5L, 1L, 2L, 3L, 3L, 4L, 4L, 5L, 5L, 1L, 2L, 2L, 3L, 3L, 4L, 5L, 5L)), y = c(0.34, -1.23, -2.46, -0.84, -1.57,-0.31, -0.18, -0.94, -0.81, 0.77, 0.4, -2.37, -2.78, 1.29, -0.95, -1.58, -2.06, -3.11,-3.2, -0.1, -0.49,-2.02, -0.75, 1.71, -0.85, -1.19, 0.13, 1.35, 1.92, 1.04, 1.08)) xtabs( ~ Operator + Part, data=lsDat) # --> 4 empty cells, quite a few with only one obs.: ## Part ## Operator 1 2 3 4 5 ## 1 0 1 1 0 1 ## 2 2 1 1 0 0 ## 3 2 2 2 1 1 ## 4 1 1 2 2 2 ## 5 1 2 2 1 2 lsD29 <- lsDat[1:29, ] ## FIXME: rank-Z test should probably not happen in this case: (sm3 <- summary(m3 <- lm(y ~ Part*Operator, data=lsDat)))# ok: some interactions not estimable stopifnot(21 == nrow(coef(sm3)))# 21 *are* estimable sm4 <- summary(m4 <- lm(y ~ Part*Operator, data=lsD29)) stopifnot(20 == nrow(coef(sm4)))# 20 *are* estimable lf <- lFormula(y ~ (1|Part) + (1|Operator) + (1|Part:Operator), data = lsDat) dim(Zt <- lf$reTrms$Zt)## 31 x 31 c(rankMatrix(Zt)) ## 21 c(rankMatrix(Zt,method="qr")) ## 31 || 29 (64 bit Lnx), then 21 (!) c(rankMatrix(t(Zt),method="qr")) ## 30, then 21 ! nrow(lsDat) fm3 <- lmer(y ~ (1|Part) + (1|Operator) + (1|Part:Operator), data = lsDat, control=lmerControl(check.nobs.vs.rankZ="warningSmall")) lf29 <- lFormula(y ~ (1|Part) + (1|Operator) + (1|Part:Operator), data = lsD29) (fm4 <- update(fm3, data=lsD29)) fm4. <- update(fm4, REML=FALSE, control=lmerControl(optimizer="nloptwrap", optCtrl=list(ftol_abs=1e-6, xtol_abs=1e-6))) ## summary(fm4.) stopifnot( all.equal(as.numeric(formatVC(VarCorr(fm4.), digits = 7)[,"Std.Dev."]), c(1.040664, 0.6359187, 0.5291422, 0.4824796), tol = 1e-4) ) showProc.time() }) ## skip on windows (for speed) cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' lme4/tests/minval.R0000644000176200001440000000242714630365604013702 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type!="windows") { ## example posted by Stéphane Laurent ## exercises bug where Nelder-Mead min objective function value was >0 set.seed(666) sims <- function(I, J, sigmab0, sigmaw0){ Mu <- rnorm(I, mean=0, sd=sigmab0) y <- c(sapply(Mu, function(mu) rnorm(J, mu, sigmaw0))) data.frame(y=y, group=gl(I,J)) } I <- 3 # number of groups J <- 8 # number of repeats per group sigmab0 <- 0.15 # between standard deviation sigmaw0 <- 0.15 # within standard deviation dat <- sims(I, J, sigmab0, sigmaw0) library(lme4) isOldTol <- environment(nloptwrap)$defaultControl$xtol_abs == 1e-6 fm3 <- lmer(y ~ (1|group), data=dat) stopifnot(all.equal(unname(unlist(VarCorr(fm3))), switch(fm3@optinfo$optimizer, "Nelder_Mead" = 0.029662844, "bobyqa" = 0.029662698, "nloptwrap" = if (isOldTol) 0.029679755 else 0.029662699, stop("need new case here: value is ",unname(unlist(VarCorr(fm3)))) ), tolerance = 1e-7)) } ## skip on windows (for speed) lme4/tests/fewlevels.R0000644000176200001440000000132014630365604014377 0ustar liggesusers#### example originally from Gabor Grothendieck source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##--> rSim.11() testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 if (testLevel>1) { set.seed(1) d1 <- rSim.11(10000, k=4) library(nlme) m.lme <- lme(y ~ x, random=~ 1|fac , data=d1) (VC.lme <- VarCorr(m.lme)) detach("package:nlme") ## library(lme4) fm.NM <- lmer(y ~ x + (1|fac), data=d1, control=lmerControl("Nelder_Mead")) fm.Bq <- update(fm.NM, control=lmerControl("bobyqa")) v.lmer <- VarCorr(fm.NM)[[1]][1,1] stopifnot(all.equal(v.lmer,19.55,tolerance=1e-3)) ## was 19.5482 with old starting values (1), 19.5493 with new start algorithm } ## testLevel>1 lme4/tests/throw.R0000644000176200001440000000157214630365604013557 0ustar liggesusers## original code was designed to detect segfaults/hangs from error handling library(lme4) set.seed(101) d <- expand.grid(block = LETTERS[1:26], rep = 1:100) d$x <- runif(nrow(d)) reff_f <- rnorm(length(levels(d$block)),sd=1) ## need intercept large enough to avoid negative values d$eta0 <- 4+3*d$x ## version without random effects d$eta <- d$eta0+reff_f[d$block] ## inverse link d$mu <- 1/d$eta d$y <- rgamma(nrow(d), scale=d$mu/2, shape=2) if (.Platform$OS.type != "windows") { gm0 <- glmer(y ~ 1|block, d, Gamma) gm0.A25 <- glmer(y ~ 1|block, d, Gamma, nAGQ=25L) gm1 <- glmer(y ~ x + (1|block), d, Gamma) gm1.A25 <- glmer(y ~ x + (1|block), d, Gamma, nAGQ=25L) ## strange things happening for logLik ==> AIC, etc for nAGQ ??? anova(gm0, gm1) anova(gm0, gm0.A25) anova(gm1, gm1.A25) summary(gm1) # "fine" summary(gm1.A25) # Inf logLik etc ? } lme4/tests/resids.R0000644000176200001440000000115114327770071013677 0ustar liggesuserslibrary(lme4) ## raw residuals for LMMs fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) stopifnot(all.equal(residuals(fm1),sleepstudy$Reaction-fitted(fm1))) r1 <- residuals(fm1,type="pearson") ## deviance/Pearson residuals for GLMMs gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp) p <- fitted(gm1) n <- cbpp$size v <- n*p*(1-p) obs_p <- cbpp$incidence/cbpp$size rp <- residuals(gm1,"pearson") rp1 <- (obs_p-p)/sqrt(p*(1-p)) rp2 <- rp1*n ## FIXME:: restore this test ## stopifnot(all.equal(rp,rp2)) r2 <- residuals(gm1,type="deviance") lme4/tests/offset.R0000644000176200001440000000263614630365604013704 0ustar liggesusers## simple examples with offsets, to exercise methods etc. library(lme4) if (.Platform$OS.type != "windows") { ## generate a basic Gamma/random effects sim set.seed(101) d <- expand.grid(block=LETTERS[1:26],rep=1:100) d$x <- runif(nrow(d)) ## sd=1 reff_f <- rnorm(length(levels(d$block)),sd=1) ## need intercept large enough to avoid negative values d$eta0 <- 4+3*d$x ## version without random effects d$eta <- d$eta0+reff_f[d$block] ## lmer() test: d$mu <- d$eta d$y <- rnorm(nrow(d),mean=d$mu,sd=1) fm1 <- lmer(y~x+(1|block), data=d) fm1off <- lmer(y~x+(1|block)+offset(3*x),data=d) ## check equality stopifnot(all.equal(fixef(fm1)[2]-3,fixef(fm1off)[2])) p0 <- predict(fm1) p1 <- predict(fm1,newdata=d) p2 <- predict(fm1off,newdata=d) stopifnot(all.equal(p0,p1), all.equal(p1,p2)) ## glmer() test: d$mu <- exp(d$eta) d$y <- rpois(nrow(d),d$mu) gm1 <- glmer(y~x+(1|block), data=d,family=poisson, control=glmerControl(check.conv.grad="ignore")) gm1off <- glmer(y~x+(1|block)+offset(3*x),data=d,family=poisson, control=glmerControl(check.conv.grad="ignore")) ## check equality stopifnot(all.equal(fixef(gm1)[2]-3,fixef(gm1off)[2],tolerance=3e-4)) p0 <- predict(gm1) p1 <- predict(gm1,newdata=d) p2 <- predict(gm1off,newdata=d) stopifnot(all.equal(p0,p1), all.equal(p1,p2)) ## FIXME: should also test simulations } ## skip on windows (for speed) lme4/tests/ST.R0000644000176200001440000000067614327770071012747 0ustar liggesusersrequire(lme4) # sorry for fitting yet another sleepstudy model in the tests m <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) ST <- getME(m, "ST")$Subject # copied from vince dorie's simmer.R in arm: dimension <- nrow(ST) T <- ST diag(T) <- rep(1, dimension) S <- diag(diag(ST), dimension) vc0 <- getME(m, 'sigma')^2*tcrossprod(T %*% S) vc1 <- VarCorr(m)$Subject[,] dimnames(vc0) <- dimnames(vc1) all.equal(vc0, vc1, tolerance = 1e-6) lme4/tests/predict_basis.R0000644000176200001440000000304114635070445015221 0ustar liggesusers## test for models containing data-defined bases ## ?makepredictcall ## ?model.frame ## ???? data(sleepstudy,package="lme4") library(splines) ## lm0 <- lm(Reaction~ns(Days,2),sleepstudy) ## attr(terms(lm0),"predvars") ## library(nlme) ## lme1 <- lme(Reaction~ns(Days,2),random=~1|Subject,sleepstudy) ## attr(terms(lme1),"predvars") ## no! ## attr(lme1$terms,"predvars") ## yes ## detach("package:nlme") library(lme4) fm1 <- lmer(Reaction ~ ns(Days,2) + (1|Subject), sleepstudy) fm2 <- lmer(Reaction ~ poly(Days,2) + (1|Subject), sleepstudy) fm3 <- lmer(Reaction ~ poly(Days,2,raw=TRUE) + (1|Subject), sleepstudy) newdat0 <- data.frame(Days = unique(sleepstudy$Days)) newdat <- data.frame(Days = 5:12) tmpf <- function(fit) { with(sleepstudy, { plot (Reaction~Days, xlim=c(0,12)) points(Days, predict(fit), col=2) }) lines(newdat0$ Days, predict(fit,re.form=NA,newdata=newdat0), col=4) lines(newdat $ Days, predict(fit,re.form=NA,newdata=newdat ), col=5) } stopifnot(all.equal(predict(fm2,newdat,re.form=NA), predict(fm3,newdat,re.form=NA))) ## pictures tmpf(fm1) tmpf(fm2) tmpf(fm3) ## test for GLMMs set.seed(101) d <- data.frame(y=rbinom(10,size=1,prob=0.5), x=1:10, f=factor(rep(1:5,each=2))) gm1 <- glmer(y ~ poly(x,2) + (1|f), d, family=binomial) gm2 <- glmer(y ~ poly(x,2,raw=TRUE) + (1|f), d, family=binomial) newdat <- data.frame(x=c(1,4,6)) stopifnot(all.equal(predict(gm1,newdat,re.form=NA), predict(gm2,newdat,re.form=NA),tolerance=3e-6)) lme4/tests/testOptControl.R0000644000176200001440000000327214630365604015416 0ustar liggesusers## https://github.com/lme4/lme4/issues/59 library(lme4) dat <- read.csv(system.file("testdata","dat20101314.csv",package="lme4")) NMcopy <- lme4:::Nelder_Mead cc <- capture.output(lmer(y ~ (1|Operator)+(1|Part)+(1|Part:Operator), data=dat, control= lmerControl("NMcopy", optCtrl= list(iprint=20)))) ## check that printing goes through step 140 twice and up to 240 once ## findStep <- function(str,n) sum(grepl(paste0("\\(NM\\) ",n,": "),str)) cc <- paste(cc,collapse="") countStep <- function(str,n) { length(gregexpr(paste0("\\(NM\\) ",n,": "),str)[[1]]) } stopifnot(countStep(cc,140)==2 && countStep(cc,240)==1) ## testStr <- ## "(NM) 20: f = -53.3709 at 0.706667 0.813333 1.46444(NM) 40: f = -147.132 at 0 0 19.18(NM) 60: f = -147.159 at 0 0 17.4275(NM) 80: f = -147.159 at 0 0 17.5615(NM) 100: f = -147.159 at 0 0 17.5754(NM) 120: f = -147.159 at 0 0 17.5769(NM) 140: f = -147.159 at 0 0 17.5768(NM) 20: f = -165.55 at 0.0933333 0.573333 17.3168(NM) 40: f = -173.704 at 0.23799 1.4697 16.9728(NM) 60: f = -173.849 at 0.449634 1.39998 16.9452(NM) 80: f = -174.421 at 0.52329 1.69123 18.1534(NM) 100: f = -176.747 at 0.762043 1.88271 32.8993(NM) 120: f = -176.839 at 0.751206 1.75371 37.2128(NM) 140: f = -176.853 at 0.706425 1.7307 35.7528(NM) 160: f = -176.853 at 0.710803 1.73476 35.7032(NM) 180: f = -176.853 at 0.710159 1.73449 35.6699(NM) 200: f = -176.853 at 0.710271 1.73461 35.6689(NM) 220: f = -176.853 at 0.710259 1.7346 35.6684(NM) 240: f = -176.853 at 0.710257 1.73459 35.6685Linear mixed model fit by REML ['lmerMod']" lme4/tests/getME.R0000644000176200001440000000430414630365604013411 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) #### tests of getME() ### are names correct? -------------- if(getRversion() < "2.15") paste0 <- function(...) paste(..., sep = '') hasInms <- function(x) grepl("(Intercept", names(x), fixed=TRUE) matchNms <- function(fm, PAR) { stopifnot(is.character(vnms <- names(fm@cnms))) mapply(grepl, paste0("^", vnms), names(PAR)) } chkIMod <- function(fm) {## check "intercept only" model b1 <- getME(fm,"beta") f1 <- fixef(fm) stopifnot(hasInms(f1), f1 == b1, hasInms(t1 <- getME(fm,"theta")), matchNms(fm, t1)) } fm1 <- lmer(diameter ~ (1|plate) + (1|sample), Penicillin) chkIMod(fm1) fm2 <- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake) stopifnot(fixef(fm2) == getME(fm2,"beta")) getME(fm2,"theta") getME(fm3 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy), "theta") getME(fm4 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy), "theta") ## internal consistency check ensuring that all allowed 'name's work (and are not empty): (nmME <- eval(formals(lme4:::getME.merMod)$name)) chkMEs <- function(fm, nms) { stopifnot(is.character(nms)) str(parts <- sapply(nms, getME, object = fm, simplify=FALSE)) isN <- sapply(parts, is.null) stopifnot(identical(names(isN), nms), !any(isN)) } chkMEs(fm1, nmME) chkMEs(fm2, nmME) chkMEs(fm3, nmME) chkMEs(fm4, nmME) ## multiple components can now be retrieved at once gg <- getME(fm2,c("theta","beta")) gg2 <- getME(fm2,c("theta","beta","X")) ## list of Zt for each random-effects factor lapply(getME(fm2,c("Ztlist")),dim) ## Cholesky factors returned as a list of matrices getME(fm1,"ST") getME(fm2,"ST") ## distinction between number of RE terms ## and number of RE grouping factors stopifnot(getME(fm2,"n_rtrms")==1) stopifnot(getME(fm2,"n_rfacs")==1) lapply(getME(fm4,c("Ztlist")),dim) stopifnot(getME(fm4,"n_rtrms")==2) stopifnot(getME(fm4,"n_rfacs")==1) stopifnot(getME(fm1,"sigma")==sigma(fm1)) } ## skip on windows (for speed) lme4/tests/test-glmernbref.R0000644000176200001440000000047614630365604015516 0ustar liggesusers## DON'T load lme4; test is to see if glmer.nb works when ## lme4 is not loaded set.seed(101) dd <- data.frame(x=runif(200), f= rep(1:20, each=10)) b <- rnorm(20) dd <- transform(dd, y = rnbinom(200, mu = exp(1 + 2*x + b[f]), size = 2)) g <- lme4::glmer.nb(y~x + (1|f), data = dd) stopifnot(inherits(g, "glmerMod")) lme4/tests/lmer-1.R0000644000176200001440000003144614630365604013514 0ustar liggesusers### suppressPackageStartupMessages(...) as we have an *.Rout.save to Rdiff against stopifnot(suppressPackageStartupMessages(require(lme4))) options(show.signif.stars = FALSE, useFancyQuotes=FALSE) source(system.file("test-tools-1.R", package = "Matrix"))# identical3() etc all.EQ <- function(u,v, ...) all.equal.X(u, v, except = c("call", "frame"), ...) S4_2list <- function(obj) { # no longer used sn <- slotNames(obj) structure(lapply(sn, slot, object = obj), .Names = sn) } if (lme4:::testLevel() <= 1) quit("no") ## otherwise *print* normally: oldOpts <- options(digits=2) (fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) (fm1a <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, REML = FALSE)) (fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) anova(fm1, fm2) ## Now works for glmer fm1. <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) ## default family=gaussian/identity link -> automatically calls lmer() (but with a warning) ## hack call -- comes out unimportantly different fm1.@call[[1]] <- quote(lmer) stopifnot(all.equal(fm1, fm1.)) ## Test against previous version in lmer1 (using bobyqa for consistency) #(fm1. <- lmer1(Reaction ~ Days + (Days|Subject), sleepstudy, opt = "bobyqa")) #stopifnot(all.equal(fm1@devcomp$cmp['REML'], fm1.@devcomp$cmp['REML']), # all.equal(fixef(fm1), fixef(fm1.)), # all.equal(fm1@re@theta, fm1.@theta, tolerance = 1.e-7), # all.equal(ranef(fm1), ranef(fm1.))) ## compDev = FALSE no longer applies to lmer ## Test 'compDev = FALSE' (vs TRUE) ## fm1. <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, ## compDev = FALSE)#--> use R code (not C++) for deviance computation ## stopifnot(all.equal(fm1@devcomp$cmp['REML'], fm1.@devcomp$cmp['REML']), ## all.equal(fixef(fm1), fixef(fm1.)), ## all.equal(fm1@re@theta, fm1.@re@theta, tolerance = 1.e-7), ## all.equal(ranef(fm1), ranef(fm1.), tolerance = 1.e-7)) vv <- vcov(fm1) cc <- Matrix::cov2cor(vv) dimnames(cc) <- dimnames(vv) ## work around Matrix 1.5.2 buglet stopifnot( all.equal(fixef(fm1), fixef(fm2), tolerance = 1.e-13) , all.equal(unname(fixef(fm1)), c(251.405104848485, 10.467285959595), tolerance = 1e-13) , all.equal(cc["(Intercept)", "Days"], -0.1375, tolerance = 4e-4) ) fm1ML <- refitML(fm1) fm2ML <- refitML(fm2) (cbind(AIC= c(m1= AIC(fm1ML), m2= AIC(fm2ML)), BIC= c( BIC(fm1ML), BIC(fm2ML))) -> ICm) stopifnot(all.equal(c(ICm), c(1763.94, 1762, 1783.1, 1777.97), tolerance = 1e-5))# see 1.2e-6 (fm3 <- lmer(Yield ~ 1|Batch, Dyestuff2)) stopifnot(all.equal(coef(summary(fm3)), array(c(5.6656, 0.67838803150, 8.3515624346), c(1,3), dimnames = list("(Intercept)", c("Estimate", "Std. Error", "t value"))))) showProc.time() # ### {from ../man/lmer.Rd } --- compare lmer & lmer1 --------------- (fmX1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)) (fm.1 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) #(fmX2 <- lmer2(Reaction ~ Days + (Days|Subject), sleepstudy)) #(fm.2 <- lmer2(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) ## check update(, ): fm.3 <- update(fmX1, . ~ Days + (1|Subject) + (0+Days|Subject)) stopifnot(all.equal(fm.1, fm.3)) fmX1s <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy )# no longer:, sparseX=TRUE) #fmX2s <- lmer2(Reaction ~ Days + (Days|Subject), sleepstudy, sparseX=TRUE) options(oldOpts) ## restore digits showProc.time() # for(nm in c("coef", "fixef", "ranef", "sigma", "model.matrix", "model.frame" , "terms")) { cat(sprintf("%15s : ", nm)) FUN <- get(nm) F.fmX1s <- FUN(fmX1s) # F.fmX2s <- FUN(fmX2s) # if(nm == "model.matrix") { # F.fmX1s <- as(F.fmX1s, "denseMatrix") # F.fmX2s <- as(F.fmX2s, "denseMatrix") # FF <- function(.) {r <- FUN(.); row.names(r) <- NULL # as(r, "generalMatrix") } # } # else FF <- FUN stopifnot( all.equal( FF(fmX1), F.fmX1s, tolerance = 1e-6) # , # all.equal( FF(fmX2), F.fmX2s, tolerance = 1e-5) # , # all.equal( FF(fm.1), F.fmX2s, tolerance = 9e-6) ## these are different models # , # all.equal(F.fmX2s, F.fmX1s, tolerance = 6e-6) # , # all.equal(FUN(fm.1), FUN(fm.2), tolerance = 6e-6) , TRUE) cat("[Ok]\n") } ## transformed vars should work[even if non-sensical as here;failed in 0.995-1] fm2l <- lmer(log(Reaction) ~ log(Days+1) + (log(Days+1)|Subject), data = sleepstudy, REML = FALSE) ## no need for an expand method now : xfm2 <- expand(fm2) stopifnot(dim(ranef(fm2l)[[1]]) == c(18, 2), is((c3 <- coef(fm3)), "coef.mer"), all(fixef(fm3) == c3$Batch),## <-- IFF \hat{\sigma^2} == 0 TRUE) ## Simple example by Andrew Gelman (2006-01-10) ---- n.groups <- 10 ; n.reps <- 2 n <- length(group.id <- gl(n.groups, n.reps)) ## simulate the varying parameters and the data: set.seed(0) a.group <- rnorm(n.groups, 1, 2) y <- rnorm (n, a.group[group.id], 1) ## fit and summarize the model fit.1 <- lmer (y ~ 1 + (1 | group.id)) oldOpts <- options(digits=3) coef (fit.1) options(oldOpts) ## check show( <"summary.mer"> ): (sf1 <- summary(fit.1)) # --> now looks as for fit.1 stopifnot(all.equal(fixef(fit.1), c("(Intercept)" = 1.571312129)), all.equal(unname(ranef(fit.1, drop=TRUE)[["group.id"]]), structure( c(1.8046888, -1.8097665, 1.6146451, 1.5408268, -0.1331995, -3.3306655, -1.8259277, -0.8735145, -0.3591311, 3.3720441), postVar = rep.int(0.311091076, 10)), tolerance = 1e-5) ) ## ranef and coef rr <- ranef(fm1) stopifnot(is.list(rr), length(rr) == 1, is.data.frame(rr[[1]])) print(plot(rr)) stopifnot(is(cc <- coef(fm1), "coef.mer"), is.list(cc), length(cc) == 1, is.data.frame(cc[[1]])) print(plot(cc)) rr <- ranef(fm2) stopifnot(is.list(rr), length(rr) == 1, is.data.frame(rr[[1]])) print(plot(rr)) stopifnot(is(cc <- coef(fm2), "coef.mer"), is.list(cc), length(cc) == 1, is.data.frame(cc[[1]])) print(plot(cc)) showProc.time() # ## Invalid factor specification -- used to seg.fault: set.seed(1) dat <- within(data.frame(lagoon = factor(rep(1:4,each = 25)), habitat = factor(rep(1:20, each = 5))), { y <- round(10*rnorm(100, m = 10*as.numeric(lagoon))) }) tt <- suppressWarnings(try(reg <- lmer(y ~ habitat + (1|habitat*lagoon), data = dat) ) # did seg.fault) ) # now gives error ^- should be ":" ## suppress warning that uses different quoting conventions on ## R-release vs. R-devel ## ignore singular fits as well as hess/grad problems ## (Windows gets singular fits, other platforms don't ...) ctrl0 <- lmerControl( check.conv.singular="ignore", check.conv.hess="ignore", check.conv.grad="ignore") r1 <- lmer(y ~ 0+habitat + (1|habitat:lagoon), data = dat, control=ctrl0) # ok, but senseless r1b <- lmer(y ~ 0+habitat + (1|habitat), data = dat, control=ctrl0) # same model, clearly unidentifiable ## "TODO" : summary(r1) should ideally warn the user stopifnot(all.equal(fixef(r1), fixef(r1b), tolerance= 1e-15), all.equal(ranef(r1), ranef(r1b), tolerance= 1e-15, check.attributes=FALSE)) ## Use a more sensible model: r2.0 <- lmer(y ~ 0+lagoon + (1|habitat:lagoon), data = dat) # ok r2 <- lmer(y ~ 0+lagoon + (1|habitat), data = dat) # ok, and more clear stopifnot(all.equal(fixef(r2), fixef(r2.0), tolerance= 1e-15), all.equal(ranef(r2), ranef(r2.0), tolerance= 1e-15, check.attributes=FALSE)) V2 <- vcov(r2) assert.EQ.mat(V2, diag(x = 9.9833/3, nr = 4)) stopifnot(all.equal(unname(fixef(r2)) - (1:4)*100, c(1.72, 0.28, 1.76, 0.8), tolerance = 1e-13)) ## sparseX version should give same numbers: ## (only gives a warning now -- sparseX disregarded) if(FALSE) { ## no longer r2. <- lmer(y ~ 0+lagoon + (1|habitat), data = dat, sparseX = TRUE) ## the summary() components we do want to compare 'dense X' vs 'sparse X': nmsSumm <- c("methTitle", "devcomp", "logLik", "ngrps", "coefficients", "sigma", "REmat", "AICtab") sr2 <- summary(r2) sr2. <- summary(r2.) sr2.$devcomp$dims['spFe'] <- 0L # to allow for comparisons below stopifnot(all.equal(sr2[nmsSumm], sr2.[nmsSumm], tolerance= 1e-14) , all.equal(ranef(r2), ranef(r2.), tolerance= 1e-14) , Matrix:::isDiagonal(vcov(r2.)) # ok , all.equal(Matrix::diag(vcov(r2.)), rep.int(V2[1,1], 4), tolerance= 1e-13) # , all(vcov(r2.)@factors$correlation == diag(4)) # not sure why this fails , TRUE) r2. } ### mcmcsamp() : ## From: Andrew Gelman ## Date: Wed, 18 Jan 2006 22:00:53 -0500 if (FALSE) { # mcmcsamp still needs work ## NB: Need to restore coda to the Suggests: field of DESCRIPTION ## file if this code block is reinstated. ## has.coda <- require(coda) ## if(!has.coda) ## cat("'coda' package not available; some outputs will look suboptimal\n") ## Very simple example y <- 1:10 group <- gl(2,5) (M1 <- lmer (y ~ 1 + (1 | group))) # works fine (r1 <- mcmcsamp (M1)) # dito r2 <- mcmcsamp (M1, saveb = TRUE) # gave error in 0.99-* and 0.995-[12] (r10 <- mcmcsamp (M1, n = 10, saveb = TRUE)) ## another one, still simple y <- (1:20)*pi x <- (1:20)^2 group <- gl(2,10) M1 <- lmer (y ~ 1 | group) mcmcsamp (M1, n = 2, saveb=TRUE) # fine M2 <- lmer (y ~ 1 + x + (1 + x | group)) # false convergence ## should be identical (and is) M2 <- lmer (y ~ x + ( x | group))# false convergence -> simulation doesn't work: if(FALSE) ## try(..) fails here (in R CMD check) [[why ??]] mcmcsamp (M2, saveb=TRUE) ## Error: inconsistent degrees of freedom and dimension ... ## mcmc for glmer: rG1k <- mcmcsamp(m1, n = 1000) summary(rG1k) rG2 <- mcmcsamp(m1, n = 3, verbose = TRUE) } ## Spencer Graves' example (from a post to S-news, 2006-08-03) ---------------- ## it should give an error, rather than silent non-sense: tstDF <- data.frame(group = letters[1:5], y = 1:5) assertError(## Now throws an error, as desired : lmer(y ~ 1 + (1|group), data = tstDF) ) showProc.time() # ## Wrong formula gave a seg.fault at times: set.seed(2)# ! D <- data.frame(y= rnorm(12,10), ff = gl(3,2,12), x1=round(rnorm(12,3),1), x2=round(rnorm(12,7),1)) ## NB: The first two are the same, having a length-3 R.E. with 3 x 3 vcov-matrix: ## --> do need CPU ## suppressWarnings() for warning about too-few random effects levels tmpf <- function(form) lmer(form, data = D , control=lmerControl(check.conv.singular="ignore", check.nobs.vs.nRE="ignore", calc.derivs=FALSE)) m0 <- tmpf(y ~ (x1 + x2)|ff) m1 <- tmpf(y ~ x1 + x2|ff) m2 <- tmpf(y ~ x1 + (x2|ff)) m3 <- tmpf(y ~ (x2|ff) + x1) suppressWarnings(stopifnot(all.equal(ranef(m0), ranef(m1), tolerance = 1e-5), all.equal(ranef(m2), ranef(m3), tolerance = 1e-5), inherits(tryCatch(lmer(y ~ x2|ff + x1, data = D), error = function(e)e), "error"))) showProc.time() # ## Reordering of grouping factors should not change the internal structure #Pm1 <- lmer1(strength ~ (1|batch) + (1|sample), Pastes, doFit = FALSE) #Pm2 <- lmer1(strength ~ (1|sample) + (1|batch), Pastes, doFit = FALSE) #P2.1 <- lmer (strength ~ (1|batch) + (1|sample), Pastes, devFunOnly = TRUE) #P2.2 <- lmer (strength ~ (1|sample) + (1|batch), Pastes, devFunOnly = TRUE) ## The environments of Pm1 and Pm2 should be identical except for ## "call" and "frame": #stopifnot(## all.EQ(env(Pm1), env(Pm2)), # all.EQ(S4_2list(P2.1), # S4_2list(P2.2))) ## example from Kevin Thorpe: synthesized equivalent ## http://thread.gmane.org/gmane.comp.lang.r.lme4.devel/9835 ## NA issue: simpler example d <- data.frame(y=1:60,f=factor(rep(1:6,each=10))) d$y[2] <- NA d$f[3:4] <- NA lmer(y~(1|f),data=d) glmer(y~(1|f),data=d,family=poisson) ## we originally thought that these examples should be ## estimating non-zero variances, but they shouldn't ... ## number of levels with each level of replication levs <- c(800,300,150,100,50,50,50,20,20,5,2,2,2,2) n <- seq_along(levs) flevels <- seq(sum(levs)) set.seed(101) fakedat <- data.frame(DA = factor(rep(flevels,rep(n,levs))), zbmi=rnorm(sum(n*levs))) ## add NA values fakedat[sample(nrow(fakedat),100),"zbmi"] <- NA fakedat[sample(nrow(fakedat),100),"DA"] <- NA m5 <- lmer(zbmi ~ (1|DA) , data = fakedat, control=lmerControl(check.nobs.vs.rankZ="ignore")) m6 <- update(m5, data=na.omit(fakedat)) stopifnot(VarCorr(m5)[["DA"]] == 0, VarCorr(m6)[["DA"]] == 0) showProc.time() lme4/tests/profile-tst.R0000644000176200001440000001353414630365604014665 0ustar liggesuserslibrary(lme4) library(testthat) library(lattice) testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 options(nwarnings = 5000)# instead of 50, and then use summary(warnings()) if (testLevel>1) { ### __ was ./profile_plots.R ___ fm1 <- lmer(Reaction~ Days + (Days|Subject), sleepstudy) pfile <- system.file("testdata","tprfm1.RData", package="lme4") if(file.exists(pfile)) print(load(pfile)) else withAutoprint({ system.time( tpr.fm1 <- profile(fm1, optimizer="Nelder_Mead") ) ## 5 sec (2018); >= 50 warnings !? save(tpr.fm1, file= "../../inst/testdata/tprfm1.RData") }) oo <- options(warn = 2) # {warnings are errors from here on} if(!dev.interactive(orNone=TRUE)) pdf("profile_plots.pdf") xyplot(tpr.fm1) splom(tpr.fm1) densityplot(tpr.fm1, main="densityplot( profile(lmer(..)) )") ## various scale options xyplot(tpr.fm1,scale=list(x=list(relation="same"))) ## stupid xyplot(tpr.fm1,scale=list(y=list(relation="same"))) xyplot(tpr.fm1,scale=list(y=list(relation="same"),tck=0)) ## expect_error(xyplot(tpr.fm1,conf=50),"must be strictly between 0 and 1") ### end {profile_plots.R} fm01ML <- lmer(Yield ~ 1|Batch, Dyestuff, REML = FALSE) ## 0.8s (on a 5600 MIPS 64bit fast(year 2009) desktop "AMD Phenom(tm) II X4 925"): ## system.time( tpr <- profile(fm01ML) ) ## test all combinations of 'which', including plots (but don't show plots) wlist <- list(1:3,1:2,1,2:3,2,3,c(1,3)) invisible(lapply(wlist,function(w) xyplot(profile(fm01ML,which=w)))) (confint(tpr) -> CIpr) print(xyplot(tpr)) ## comparing against lme4a reference values -- but lme4 returns sigma ## rather than log(sigma) stopifnot(dim(CIpr) == c(3,2), all.equal(unname(CIpr[".sigma",]),exp(c(3.64362, 4.21446)), tolerance=1e-6), all.equal(unname(CIpr["(Intercept)",]),c(1486.451500,1568.548494))) options(oo)# warnings allowed .. ## fixed-effect profiling with vector RE data(Pastes) fmoB <- lmer(strength ~ 1 + (cask | batch), data=Pastes, control = lmerControl(optimizer = "bobyqa")) (pfmoB <- profile(fmoB, which = "beta_", alphamax=.001)) xyplot(pfmoB)# nice and easy .. summary( fm <- lmer(strength ~ 1 + (cask | batch), data=Pastes, control = lmerControl(optimizer = "nloptwrap", calc.derivs= FALSE)) ) ls.str(environment(nloptwrap))# showing *its* defaults pfm <- profile(fm, which = "beta_", alphamax=.001) # 197 warnings for "nloptwrap" summary(warnings()) str(pfm) # only 3 rows, .zeta = c(0, NaN, Inf) !!! try( xyplot(pfm) ) ## FIXME or rather the profiling or rather the "wrap on nloptr" (testLevel <- lme4:::testLevel()) if(testLevel > 2) { ## 2D profiles fm2ML <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin, REML=0) system.time(pr2 <- profile(fm2ML)) # 5.2 sec, 2018-05: 2.1" (confint(pr2) -> CIpr2) lme4a_CIpr2 <- structure(c(0.633565787613112, 1.09578224011285, -0.721864513060904, 21.2666273835452, 1.1821039843372, 3.55631937954106, -0.462903300019305, 24.6778176174587), .Dim = c(4L, 2L), .Dimnames = list(c(".sig01", ".sig02", ".lsig", "(Intercept)"), c("2.5 %", "97.5 %"))) lme4a_CIpr2[".lsig",] <- exp(lme4a_CIpr2[".lsig",]) stopifnot(all.equal(unname(CIpr2),unname(lme4a_CIpr2),tolerance=1e-6)) print(xyplot(pr2, absVal=0, aspect=1.3, layout=c(4,1))) print(splom(pr2)) gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) ## GLMM profiles system.time(pr4 <- profile(gm1)) ## ~ 10 seconds pr4.3 <- profile(gm1,which=3) xyplot(pr4,layout=c(5,1),as.table=TRUE) splom(pr4) ## used to fail because of NAs nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ Asym|Tree, Orange, start = c(Asym = 200, xmid = 725, scal = 350)) if (FALSE) { ## not working yet: detecting (slightly) lower deviance; not converging in 10k pr5 <- profile(nm1,which=1,verbose=1,maxmult=1.2) xyplot(.zeta~.focal|.par,type=c("l","p"),data=lme4:::as.data.frame.thpr(pr5), scale=list(x=list(relation="free")), as.table=TRUE) } } ## testLevel > 2 if (testLevel > 3) { fm3ML <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, REML=FALSE) ## ~ 4 theta-variables (+ 2 fixed), 19 seconds | 2018-05: 7.4" print(system.time(pr3 <- profile(fm3ML))) print(xyplot(pr3)) print(splom(pr3)) if (testLevel > 4) { if(requireNamespace("mlmRev")) { data("Contraception", package="mlmRev") ## fit already takes ~ 3 sec (2018-05) fm2 <- glmer(use ~ urban+age+livch + (urban|district), Contraception, binomial) print(system.time(pr5 <- profile(fm2,verbose=10))) # 2018-05: 462 sec = 7'42" ## -> 5 warnings notably "non-monotonic profile for .sig02" (the RE's corr.) print(xyplot(pr5)) } } ## testLevel > 4 } ## testLevel > 3 library("parallel") if (detectCores()>1) { p0 <- profile(fm1, which="theta_") ## http://stackoverflow.com/questions/12983137/how-do-detect-if-travis-ci-or-not travis <- nchar(Sys.getenv("TRAVIS")) > 0 if(.Platform$OS.type != "windows" && !travis) { prof01P <- profile(fm1, which="theta_", parallel="multicore", ncpus=2) stopifnot(all.equal(p0,prof01P)) } ## works in Solaris from an interactive console but not ??? ## via R CMD BATCH if (Sys.info()["sysname"] != "SunOS" && !travis) { prof01P.snow <- profile(fm1, which="theta_", parallel="snow", ncpus=2) stopifnot(all.equal(p0,prof01P.snow)) } } ## test profile/update from within functions foo <- function() { gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) ## return profile(gm1, which="theta_") } stopifnot(inherits(foo(), "thpr")) } ## testLevel>1 lme4/tests/elston.R0000644000176200001440000000706614630365604013724 0ustar liggesusers## original code for reading/aggregating: ## tickdata <- read.table("Elston2001_tickdata.txt",header=TRUE, ## colClasses=c("factor","numeric","factor","numeric","factor","factor")) ## tickdata <- transform(tickdata,cHEIGHT=scale(HEIGHT,scale=FALSE)) ## for (i in names(tickdata)) { ## if (is.factor(tickdata[[i]])) { ## tickdata[[i]] <- factor(tickdata[[i]],levels=sort(as.numeric(levels(tickdata[[i]])))) ## } ## } ## summary(tickdata) ## grouseticks <- tickdata ## library(reshape) ## meantick <- rename(aggregate(TICKS~BROOD,data=tickdata,FUN=mean), ## c(TICKS="meanTICKS")) ## vartick <- rename(aggregate(TICKS~BROOD,data=tickdata,FUN=var), ## c(TICKS="varTICKS")) ## uniqtick <- unique(subset(tickdata,select=-c(INDEX,TICKS))) ## grouseticks_agg <- Reduce(merge,list(meantick,vartick,uniqtick)) ## save("grouseticks","grouseticks_agg",file="grouseticks.rda") if (.Platform$OS.type != "windows") { library(lme4) data(grouseticks) do.plots <- FALSE form <- TICKS~YEAR+HEIGHT+(1|BROOD)+(1|INDEX)+(1|LOCATION) ## fit with lme4 ## library(lme4) ## t1 <- system.time(full_mod1 <- glmer(form, family="poisson",data=grouseticks)) ## c1 <- c(fixef(full_mod1),unlist(VarCorr(full_mod1)), logLik=logLik(full_mod1),time=t1["elapsed"]) ## allcoefs1 <- c(unlist(full_mod1@ST),fixef(full_mod1)) ## detach("package:lme4") ## lme4 summary results: t1 <- structure(c(1.288, 0.048, 1.36, 0, 0), class = "proc_time", .Names = c("user.self", "sys.self", "elapsed", "user.child", "sys.child")) c1 <- structure(c(11.3559080756861, 1.1804105508475, -0.978704335712111, -0.0237607330254979, 0.293232458048324, 0.562551624933584, 0.279548178949372, -424.771990224991, 1.36), .Names = c("(Intercept)", "YEAR96", "YEAR97", "HEIGHT", "INDEX", "BROOD", "LOCATION", "logLik", "time.elapsed" )) allcoefs1 <- structure(c(0.541509425632023, 0.750034415832756, 0.528723159081737, 11.3559080756861, 1.1804105508475, -0.978704335712111, -0.0237607330254979 ), .Names = c("", "", "", "(Intercept)", "YEAR96", "YEAR97", "HEIGHT")) pars <- function(x) unlist(getME(x,c("theta","beta"))) if (lme4:::testLevel() > 1) { t2 <- system.time(full_mod2 <- glmer(form, family="poisson",data=grouseticks)) ##>> 2 x checkConv(.. "derivs") warning: 1. failed to conv. 2. nearly unidentifiable c2 <- c(fixef(full_mod2), unlist(VarCorr(full_mod2)), logLik = logLik(full_mod2), time= t2["elapsed"]) ## refit ## FIXME: eventually would like to get _exactly_ identical answers on refit() full_mod3 <- refit(full_mod2, grouseticks$TICKS) print( all.equal(pars(full_mod2), pars(full_mod3), tolerance=0))# -> 1.2e-5 stopifnot(all.equal(pars(full_mod2), pars(full_mod3), tolerance=8e-5)) } ## deviance function ## FIXME: does compDev do _anything_ any more? mm <- glmer(form, family="poisson", data=grouseticks, devFunOnly=TRUE) mm2 <- glmer(form, family="poisson", data=grouseticks, devFunOnly=TRUE,control=glmerControl(compDev=TRUE)) stopifnot(all.equal(1780.5427072, mm(allcoefs1), tol = 1e-7)) } ## skip on windows (for speed) lme4/tests/priorWeightsModComp.R0000644000176200001440000000703514630365604016361 0ustar liggesuserslibrary(lme4) n <- nrow(sleepstudy) op <- options(warn = 1, # show as they happen ("false" convergence warnings) useFancyQuotes = FALSE) if (.Platform$OS.type != "windows") { ##' remove all attributes but names dropA <- function(x) `attributes<-`(x, list(names = names(x))) ##' transform result of "numeric" all.equal.list() to a named vector all.eqL <- function(x1, x2, ...) { r <- sub("^Component ", '', all.equal(x1, x2, tolerance = 0, ...)) r <- strsplit(sub(": Mean relative difference:", "&&", r), split="&&", fixed=TRUE) setNames(as.numeric(vapply(r, `[`, "1.234", 2L)), ## drop surrounding "..." nm = sub('"$', '', substring(vapply(r, `[`, "nam", 1L), first=2))) } seedF <- function(s) { if(s %in% c(6, 39, 52, 57, 63, 74, 76, 86)) switch(as.character(s) , "52"=, "63"=, "74" = 2 , "6"=, "39" = 3 , "86" = 8 # needs 4 on Lnx-64b , "76" = 70 # needs 42 on Lnx-64b , "57" = 90 # needs 52 on Lnx-64b ) else if(s %in% c(1, 12, 15, 34, 36, 41, 42, 43, 49, 55, 59, 67, 80, 85)) ## seeds 41,59, .. 15 1.0 else ## seeds 22, 20, and better 0.25 } ## be fast, running only 10 seeds by default: sMax <- if(lme4:::testLevel() > 1) 99L else 9L mySeeds <- 0L:sMax lapply(setNames(,mySeeds), function(seed) { cat("\n------ random seed =", seed, "---------\n") set.seed(seed) v <- rpois(n,1) + 1 w <- 1/v cat("weights w:\n") fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, REML=FALSE, weights = w); cat("..2:\n") fm2 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy, REML=FALSE, weights = w) cat("weights w*10:\n") fm1.10 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy, REML=FALSE, weights = w*10);cat("..2:\n") fm2.10 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy, REML=FALSE, weights = w*10) ## ano12... <- dropA(anova(fm1, fm2 )) ano12.10 <- dropA(anova(fm1.10, fm2.10)) print(aEQ <- all.eqL(ano12..., ano12.10)) # showing differences if(!exists("notChisq")) notChisq <<- local({ n <- names(ano12...) grep("Chisq", n, value=TRUE, fixed=TRUE, invert=TRUE) }) stopifnot( all.equal(ano12...$Chisq, ano12.10$Chisq, tol = 1e-6 * seedF(seed)) , all.equal(ano12...[notChisq], ano12.10[notChisq], tol= 1.5e-8 * seedF(seed)) ) aEQ }) -> rallEQ cat("=====================================\n") rallEQ <- t(simplify2array(rallEQ)) notChisq <- intersect(notChisq, colnames(rallEQ)) ## sort according to "severity": srallEQ <- rallEQ[with(as.data.frame(rallEQ), order(AIC, Chisq)), ] round(log10(srallEQ), 2) saveRDS(srallEQ, "priorWeightsMod_relerr.rds") if(!dev.interactive(orNone=TRUE)) pdf("priorWeightsMod_relerr.pdf") matplot(mySeeds, log10(srallEQ), type="l", xlab=NA) ; grid() legend("topleft", ncol=3, bty="n", paste(1:6, colnames(srallEQ), sep = ": "), col=1:6, lty=1:6) tolD <- sqrt(.Machine$double.eps) # sqrt(eps_C) abline(h = log10(tolD), col = "forest green", lty=3) axis(4, at=log10(tolD), label=quote(sqrt(epsilon[c])), las=1) LRG <- which(srallEQ[,"AIC"] > tolD) if (length(LRG)>0) { text(LRG, log10(srallEQ[LRG, "AIC"]), names(LRG), cex = .8) } ## how close are we .. str(tF <- sapply(mySeeds, seedF)) round(sort( rallEQ[, "Chisq"] / (tF * 1e-6 ), decreasing=TRUE), 1) round(sort(apply(rallEQ[,notChisq] / (tF * 1.5e-8), 1, max), decreasing=TRUE), 1) } ## skip on windows (for speed) options(op) lme4/tests/lme4_nlme.R0000644000176200001440000000302214630365604014260 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type != "windows") withAutoprint({ ## testing whether lme4 and nlme play nicely. Only known issue ## is lmList-masking ... library("lme4") library("nlme") fm1_lmer <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) fm1_lme <- lme (Reaction ~ Days, random = ~Days|Subject, sleepstudy) ## variance-covariance matrices: annoyingly different structures vc_lmer <- VarCorr(fm1_lmer) vc_lme <- VarCorr(fm1_lme, rdig = 8) suppressWarnings(storage.mode(vc_lme) <- "numeric")# 2 NAs vc_lmerx <- c(diag(vc_lmer[[1]]), attr(vc_lmer[[1]],"correlation")[1,2]) vc_lmex <- c( vc_lme[1:2,1], vc_lme[2,3]) stopifnot( all.equal(vc_lmex, vc_lmerx, tolerance= 4e-4) # had 3e-5, now see 0.000296 , ## fixed effects (much easier) : all.equal(fixef(fm1_lmer), fixef(fm1_lme)) # 3.6e-15 , all.equal(unname(unlist(unclass(ranef(fm1_lmer)))), unname(unlist(unclass(ranef(fm1_lme)))), tolerance = 2e-4) # had 2e-5, now see 8.41e-5 ) fm1L_lme <- nlme::lmList(distance ~ age | Subject, Orthodont) fm1L_lmer <- lme4::lmList(distance ~ age | Subject, Orthodont) stopifnot(all.equal(fixef(fm1L_lmer), fixef(fm1L_lme))) sm1L_e <- summary(fm1L_lme) sm1L_er <- summary(fm1L_lmer) stopifnot( all.equal(coef(sm1L_e), coef(sm1L_er), tol=1e-12)# even tol=0 works on some Lnx 64b ) ## FIXME: test opposite order }) lme4/tests/AAAtest-all.R0000644000176200001440000000154614630365604014445 0ustar liggesusersif (base::require("testthat", quietly = TRUE)) { pkg <- "lme4" require(pkg, character.only=TRUE, quietly=TRUE) if(getRversion() < "3.5.0") { withAutoprint <- identity ; prt <- print } else { prt <- identity } if(Sys.getenv("USER") %in% c("maechler", "bbolker")) withAutoprint({ ## for developers' sake: lP <- .libPaths() # ---- .libPaths() : ---- prt(lP) ## ---- Entries in .libPaths()[1] : ---- prt(list.files(lP[1], include.dirs=TRUE)) prt(sessionInfo()) prt(packageDescription("Matrix")) ## 'lme4' from packageDescription "file" : prt(attr(packageDescription("lme4"), "file")) }) test_check(pkg) ##======== ^^^ print(warnings()) # TODO? catch most of these by expect_warning(..) } else { cat( "package 'testthat' not available, cannot run unit tests\n" ) } lme4/tests/testthat/0000755000176200001440000000000014640613452014122 5ustar liggesuserslme4/tests/testthat/test-utils.R0000644000176200001440000000565714630365604016401 0ustar liggesuserslibrary("testthat") library("lme4") ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } context("Utilities (including *non*-exported ones)") test_that("namedList", { nList <- lme4:::namedList a <- b <- c <- 1 expect_identical(nList(a,b,c), list(a = 1, b = 1, c = 1)) expect_identical(nList(a,b,d=c),list(a = 1, b = 1, d = 1)) expect_identical(nList(a, d=pi, c), list(a = 1, d = pi, c = 1)) }) test_that("Var-Cov factor conversions", { ## from ../../R/vcconv.R mlist2vec <- lme4:::mlist2vec Cv_to_Vv <- lme4:::Cv_to_Vv Cv_to_Sv <- lme4:::Cv_to_Sv Sv_to_Cv <- lme4:::Sv_to_Cv Vv_to_Cv <- lme4:::Vv_to_Cv ## set.seed(1); cvec1 <- sample(10, 6) v1 <- Cv_to_Vv(cvec1) expect_equal(unname(v1), structure(c(9, 12, 15, 65, 34, 93), clen = 3)) expect_equal(2, as.vector(Vv_to_Cv(Cv_to_Vv(2)))) expect_equivalent(c(v1, 1), Cv_to_Vv(cvec1, s=3) / 3^2) expect_equal(as.vector(ss1 <- Sv_to_Cv(Cv_to_Sv(cvec1))), cvec1) expect_equal(as.vector(vv1 <- Vv_to_Cv(Cv_to_Vv(cvec1))), cvec1) ## for length-1 matrices, Cv_to_Sv should be equivalent ## to multiplying Cv by sigma and appending sigma .... clist2 <- list(matrix(1),matrix(2),matrix(3)) cvec2 <- mlist2vec(clist2) expect_equal(cvec2, structure(1:3, clen = rep(1,3)), tolerance=0) expect_true(all((cvec3 <- Cv_to_Sv(cvec2, s=2)) == c(cvec2*2,2))) n3 <- length(cvec3) expect_equivalent(Sv_to_Cv(cvec3, n=rep(1,3), s=2), cvec3[-n3]/cvec3[n3]) }) test_that("nobar", { rr <- lme4:::RHSForm expect_equal(nobars(y~1+(1|g)), y~1) expect_equal(nobars(y~1|g), y~1) expect_equal(nobars(y~1+(1||g)), y~1) expect_equal(nobars(y~1||g), y~1) expect_equal(nobars(y~1+(x:z|g)), y~1) expect_equal(nobars(y~1+(x*z|g/h)), y~1) expect_equal(nobars(y~(1|g)+x+(x|h)), y~x) expect_equal(nobars(y~(1|g)+x+(x+z|h)), y~x) expect_equal(nobars(~1+(1|g)), ~1) expect_equal(nobars(~(1|g)), ~1) expect_equal(nobars(rr(y~1+(1|g))), 1) expect_equal(nobars(rr(y~(1|g))), 1) }) test_that("getData", { ## test what happens when wrong version of 'data' is found in environment of formula ... f <- round(Reaction) ~ 1 + (1|Subject) g <- function() { data <- sleepstudy m1 <- glmer(f, data = data, family = poisson) } m1 <- g() expect_error(getData(m1), "object found is not a data frame or matrix") p1 <- suppressMessages(predict(m1, newparams = list(beta = 5, theta = 1), type = "response", re.form = ~ 1|Subject)) expect_equal(unname(head(p1, 2)), c(444.407382298401, 444.407382298401)) }) lme4/tests/testthat/test-allFit.R0000644000176200001440000000770214630365604016445 0ustar liggesuserstestLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 if (testLevel>1) { library("testthat") library("lme4") L <- load(system.file("testdata", "lme-tst-fits.rda", package="lme4", mustWork=TRUE)) gm_all <- allFit(fit_cbpp_1, verbose=FALSE) context("Show basic allFit results") test_that("allFit print/summary is fine", { expect_is(gm_all, "allFit") expect_is(summary(gm_all), "summary.allFit") }) test_that("nloptwrap switches optimizer correctly", { expect_equal(attr(gm_all[["nloptwrap.NLOPT_LN_BOBYQA"]],"optCtrl"), list(maxeval = 1e5, algorithm = "NLOPT_LN_BOBYQA")) expect_equal(attr(gm_all[["nloptwrap.NLOPT_LN_NELDERMEAD"]],"optCtrl"), list(maxeval = 1e5, algorithm = "NLOPT_LN_NELDERMEAD")) }) test_that("lmerControl() arg works too", { fm0 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) fm <- update(fm0, control = lmerControl(optCtrl = list(xtol_rel = 1e-8, ftol_rel = 1e-8), calc.derivs=FALSE)) afm0 <- allFit(fm0,verbose=FALSE) afm <- allFit(fm,verbose=FALSE) # used to fail drop_ <- function(x) { x[setdiff(names(x), c("times","feval"))] } ## should be approximately the same expect_equal(drop_(summary(afm0)), drop_(summary(afm)), tolerance = 1e-2) ## should NOT be the same! expect_false(isTRUE(all.equal(drop_(summary(afm0)), drop_(summary(afm)), tolerance=1e-10))) }) test_that("glmerControl() arg + optimizer", { ## GH #523? fit_cbpp_1u <- update(fit_cbpp_1, control=glmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-10, ftol_abs=1e-10))) af2 <- allFit(fit_cbpp_1u, verbose=FALSE) expect_equal(class(af2),"allFit") }) test_that("i in model call is OK", { ## GH #538 ## ugh, testthat scoping is insane ... ## if d and i are ## assigned normally with <- outside expect_true(), test fails ## BUT global assignment of 'd' breaks downstream tests in ## 'data= argument and formula evaluation' (test-formulaEval.R) ## ddd breaks similar test in 'fitting lmer models' (test-lmer.R) ## (where 'd' is supposed to be nonexistent) ## if we do global assignment with <<- ## can't figure out how to remove d (or ddd) after it's created to leave ## the environment clean ... ## tried to encapsulate all the necessary assignments ## within expect_true({ ... }) but that fails in other ways nr <- nrow(sleepstudy) ..dd <<- list(sleepstudy[1:nr,], sleepstudy[-(1:nr)]) i <<- 1 fm0 <- lmer(Reaction ~ Days + (1 | Subject), data=..dd[[i]]) aa <- allFit(fm0, verbose=FALSE) expect_true( all(summary(aa)$which.OK) ) }) test_that("allFit/update scoping", { ## GH #601 fit_func <- function(dataset) { gm1 <- glmer( cbind(incidence, size - incidence) ~ period + (1 | herd), data = dataset, family = binomial ) allFit(gm1, catch.errs=FALSE) } cc <- capture.output(ff <- fit_func(cbpp)) expect_true(all(summary(ff)$which.OK)) }) test_that("maxfun works", { gm_it10 <- suppressWarnings(allFit(fit_cbpp_1, verbose=FALSE, maxfun = 10)) v <- vapply(gm_it10, function(x) as.integer(x@optinfo$feval), FUN.VALUE=1L) ## function values are sometimes off a bit (due to initialization or Hessian calculation) ## but close enough ... expect_true(all(v %in% c(10, 11, NA, 18))) }) } ## testLevel lme4/tests/testthat/test-catch.R0000644000176200001440000000105714630365604016311 0ustar liggesuserslibrary("testthat") library("lme4") context("storing warnings, convergence status, etc.") test_that("storewarning", { gCtrl <- glmerControl(optimizer = "Nelder_Mead", optCtrl = list(maxfun=3)) expect_warning(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data=cbpp, family=binomial, control=gCtrl), "failure to converge in 3") expect_equal(gm1@optinfo$warnings[[1]],"failure to converge in 3 evaluations") ## FIXME: why is conv==0 here? }) lme4/tests/testthat/test-nlmer.R0000644000176200001440000000074614630365604016350 0ustar liggesuserslibrary("testthat") library("lme4") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 context("lower/upper bounds on nlmer models") test_that("nlmer", { startvec <- c(Asym = 200, xmid = 725, scal = 350) nm1 <- nlmer(circumference ~ SSlogis(age, Asym, xmid, scal) ~ Asym|Tree, Orange, start = startvec, control=nlmerControl(optCtrl=list(lower=c(0,200,-Inf,-Inf)))) expect_equal(unname(fixef(nm1)[1]),200) }) lme4/tests/testthat/test-glmer.R0000644000176200001440000004055714630365604016345 0ustar liggesuserslibrary("testthat") library("lme4") source(system.file("testdata", "lme-tst-funs.R", package="lme4", mustWork=TRUE))# -> uc() testLevel <- lme4:::testLevel() gives_error_or_warning <- function (regexp = NULL, all = FALSE, ...) { function(expr) { res <- try(evaluate_promise(expr),silent=TRUE) no_error <- !inherits(res, "try-error") if (no_error) { warnings <- res$warnings if (!is.null(regexp) && length(warnings) > 0) { return(matches(regexp, all = FALSE, ...)(warnings)) } else { return(expectation(length(warnings) > 0, "no warnings or errors given", paste0(length(warnings), " warnings created"))) } } if (!is.null(regexp)) { return(matches(regexp, ...)(res)) } else { expectation(TRUE, "no error thrown", "threw an error") } } } ## expect_that(stop("foo"),gives_error_or_warning("foo")) ## expect_that(warning("foo"),gives_error_or_warning("foo")) ## expect_that(TRUE,gives_error_or_warning("foo")) ## expect_that(stop("bar"),gives_error_or_warning("foo")) ## expect_that(warning("bar"),gives_error_or_warning("foo")) if(testLevel > 1) { context("fitting glmer models") test_that("glmer", { set.seed(101) d <- data.frame(z=rbinom(200,size=1,prob=0.5), f=factor(sample(1:10,200,replace=TRUE))) ## Using 'method=*' defunct in 2019-05 (after 6 years of deprecation) ## expect_warning(glmer(z~ 1|f, d, family=binomial, method="abc"),"Use the nAGQ argument") ## expect_warning(glmer(z~ 1|f, d, family=binomial, method="Laplace"),"Use the nAGQ argument") ##sp expect_warning(glmer(z~ 1|f, d, sparseX=TRUE),"has no effect at present") expect_that(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial), is_a("glmerMod")) expect_that(gm1@resp, is_a("glmResp")) expect_that(gm1@pp, is_a("merPredD")) expect_equal(ge1 <- unname(fixef(gm1)), c(-1.39854982537216, -0.992335519118859, -1.12867532780426, -1.58030423764517), tolerance=5e-4) expect_equal(c(VarCorr(gm1)[[1]]), 0.41245527438386, tolerance=6e-4) ### expect_that(family(gm1), equals(binomial())) ### ?? binomial() has an 'initialize' component ... and the order is different expect_equal(deviance(gm1), 73.47428, tolerance=1e-5) ## was -2L = 184.05267459802 expect_equal(sigma(gm1), 1) expect_equal(extractAIC(gm1), c(5, 194.052674598026), tolerance=1e-5) expect_equal(theta <- unname(getME(gm1, "theta")), 0.642226809144453, tolerance=6e-4) expect_that(X <- getME(gm1, "X"), is_equivalent_to( model.matrix(model.frame(~ period, data=cbpp), cbpp))) expect_that(Zt <- getME(gm1, "Zt"), is_a("dgCMatrix")) expect_equal(dim(Zt), c(15L, 56L)) expect_equal(Zt@x, rep.int(1, 56L)) expect_that(Lambdat <- getME(gm1, "Lambdat"), is_a("dgCMatrix")) expect_equivalent(as(Lambdat, "matrix"), diag(theta, 15L, 15L)) expect_is(gm1_probit <- update(gm1,family=binomial(link="probit")),"merMod") expect_equal(family(gm1_probit)$link,"probit") ## FIXME: test user-specified/custom family? expect_error(glFormula(cbind(incidence, size - incidence) ~ period + (1 | herd), data = subset(cbpp, herd==levels(herd)[1]), family = binomial), "must have > 1") expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = subset(cbpp, herd %in% levels(herd)[1:4]), family = binomial, control=glmerControl(check.nlev.gtreq.5="warning")), "< 5 sampled levels") expect_warning(fm1. <- glmer(Reaction ~ Days + (Days|Subject), sleepstudy), regexp="calling .* with family=gaussian .* as a shortcut") options(warn=2) options(glmerControl=list(junk=1,check.conv.grad="ignore")) expect_warning(glmer(z~ 1|f, d, family=binomial), "some options") options(glmerControl=NULL) cbppX <- transform(cbpp,prop=incidence/size) expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, start=NULL), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, verbose=0L), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, subset=TRUE), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, na.action="na.exclude"), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, offset=rep(0,nrow(cbppX))), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, contrasts=NULL), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, devFunOnly=FALSE), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, control=glmerControl(optimizer="Nelder_Mead")), "glmerMod") expect_is(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, control=glmerControl()), "glmerMod") options(warn=0) expect_error(glmer(prop ~ period + (1 | herd), data = cbppX, family = binomial, weights=size, junkArg=TRUE), "unused argument") if(FALSE) { ## Hadley broke this expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=list()), "instead of passing a list of class") expect_warning(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=lmerControl()), "instead of passing a list of class") } ## load(system.file("testdata","radinger_dat.RData",package="lme4")) mod <- glmer(presabs~predictor+(1|species),family=binomial, radinger_dat) expect_is(mod,"merMod") ## tolerance: 32-bit Windows (CRAN) reported ave.diff of 5.33e-8 ## 64-bit Win-builder r73242 now reports ave. diff of 1.31e-5 ... expect_equal(unname(fixef(mod)), c(0.5425528,6.4289962), tolerance = 1e-4) set.seed(101) ## complete separation case d <- data.frame(y=rbinom(1000,size=1,p=0.5), x=runif(1000), f=factor(rep(1:20,each=50)), x2=rep(0:1,c(999,1))) expect_message(mod2 <- glmer(y~x+x2+(1|f),data=d,family=binomial, control=glmerControl(check.conv.hess="ignore", check.conv.grad="ignore")), "singular") expect_equal(unname(fixef(mod2))[1:2], c(-0.10036244,0.03548523), tolerance=1e-4) expect_true(unname(fixef(mod2)[3] < -10)) expect_message(mod3 <- update(mod2, family=binomial(link="probit")), "singular") # singular Hessian warning expect_equal(unname(fixef(mod3))[1:2], c(-0.062889, 0.022241), tolerance=1e-4) expect_true(fixef(mod3)[3] < -4) expect_message(mod4 <- update(mod2, family=binomial(link="cauchit"), control=glmerControl(check.conv.hess="ignore", check.conv.grad="ignore")))#--> singular Hessian warning ## on-the-fly creation of index variables if (FALSE) { ## FIXME: fails in testthat context -- 'd' is not found ## in the parent environment of glmer() -- but works fine ## otherwise ... set.seed(101) d <- data.frame(y1=rpois(100,1), x=rnorm(100), ID=1:100) fit1 <- glmer(y1 ~ x+(1|ID),data=d,family=poisson) fit2 <- update(fit1, .~ x+(1|rownames(d))) expect_equal(unname(unlist(VarCorr(fit1))), unname(unlist(VarCorr(fit2)))) } ## if(testLevel > 2) { load(system.file("testdata","mastitis.rda",package="lme4")) t1 <- system.time(g1 <- suppressWarnings(glmer(NCM ~ birth + calvingYear + (1|sire) + (1|herd), mastitis, poisson, ## current (2014-04-24) default: --> Warning control=glmerControl( # max|grad| = 0.021 .. optimizer=c("bobyqa","Nelder_Mead"))))) t2 <- system.time(g2 <- suppressWarnings(update(g1, control=glmerControl(optimizer="bobyqa")))) ## rbind(t1,t2)[,"elapsed"] ## 20 (then 13.0) seconds N-M vs 8 (then 4.8) seconds bobyqa ... ## print(t1[3] / t2[3]) # 0.37; => 1.25 should be on the safe side expect_lte(t2[3], 1.25 * t1[3]) ## problem is fairly ill-conditioned so parameters ## are relatively far apart even though likelihoods are OK expect_equal(logLik(g1),logLik(g2),tolerance=2e-7) } ## test bootstrap/refit with nAGQ>1 gm1AGQ <- update(gm1,nAGQ=2) s1 <- simulate(gm1AGQ) expect_equal(attr(bootMer(gm1AGQ,fixef),"bootFail"),0) ## do.call(new,...) bug new <- "foo" expect_that(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial), is_a("glmerMod")) rm("new") ## test issue #47, from Wolfgang Viechtbauer ## create some data n <- 100 ai <- rep(0:1, each = n/2) bi <- 1-ai ci <- c(rep(0,42), rep(1,8), rep(0,18), rep(1,32)) di <- 1-ci event <- c(rbind(ai,ci)) group <- rep(c(1,0), times=n) id <- rep(1:n, each=2) gm3 <- glmer(event ~ group + (1 | id), family=binomial, nAGQ=21) sd3 <- sqrt(diag(vcov(gm3))) expect_equal(uc(`(Intercept)` = 0.42542855, group = 0.42492581), sd3, tolerance=1e-5) # 7e-9 {Lnx} expect_warning(vcov(gm3,use.hessian=FALSE), "finite-difference Hessian") expect_equal(suppressWarnings(sqrt(diag(vcov(gm3,use.hessian=FALSE)))), uc(`(Intercept)` = 0.3840921, group = 0.3768747), tolerance=1e-7) # 6.5e-8 expect_equal(sd3, unn(coef(summary(gm3))[,"Std. Error"])) ## test non-pos-def finite-difference Hessian ... if(getRversion() > "3.0.0") { ## saved fits are not safe with old R versions L <- load(system.file("testdata","polytomous_vcov_ex.RData", package="lme4", mustWork=TRUE)) expect_warning(vcov(polytomous_vcov_ex),"falling back to var-cov") } ## damage Hessian to make it singular ## (example thanks to J. Dushoff) gm1H <- gm1 gm1H@optinfo$derivs$Hessian[5,] <- 0 expect_warning(vcov(gm1H),"falling back to var-cov") ## test convergence warnings L <- load(system.file("testdata","gopherdat2.RData", package="lme4", mustWork=TRUE)) g0 <- glmer(shells~prev + (1|Site)+offset(log(Area)), family=poisson, data=Gdat) ## fit year as factor: OK gc <- glmerControl(check.conv.grad="stop") expect_is(update(g0,.~.+factor(year), control=gc), "glmerMod") ## error/warning with year as numeric: ## don't have full knowledge of which platforms lead to which ## results, and can't detect whether we're running on valgrind, ## which changes the result on 32-bit linux ... ## SEGFAULT on MacOS? why? if (FALSE) { expect_that(update(g0,.~.+year), gives_error_or_warning("(failed to converge|pwrssUpdate did not converge)")) } ## ("(failed to converge|pwrssUpdate did not converge in)")) ## if (sessionInfo()$platform=="i686-pc-linux-gnu (32-bit)") { ## expect_warning(update(g0, .~. +year), "failed to converge") ## } else { ## ## MacOS x86_64-apple-darwin10.8.0 (64-bit) ## ## MM's platform ## ## "pwrssUpdate did not converge in (maxit) iterations" ## expect_error(update(g0, .~. +year), "pwrssUpdate did not converge in") ## } ## OK if we scale & center it expect_is(update(g0,.~. + scale(year), control=gc), "glmerMod") ## not OK if we scale and don't center expect_warning(update(g0,.~. + scale(year,center=FALSE)), "failed to converge with max|grad|") ## OK if center and don't scale expect_is(update(g0,.~. + scale(year,center=TRUE,scale=FALSE), control=gc), "glmerMod") ## try higher-order AGQ expect_is (update(gm1,nAGQ=90), "glmerMod") expect_error(update(gm1,nAGQ=101),"ord < 101L") ## non-numeric response variables ss <- transform(sleepstudy, Reaction = as.character(Reaction)) expect_error(glmer(Reaction~(1|Days), family="poisson", data=ss), "response must be numeric") expect_error(glmer(Reaction~(1|Days), family="binomial", data=ss), "response must be numeric or factor") ss2 <- transform(ss,rr=rep(c(TRUE,FALSE),length.out=nrow(ss))) ## should work OK with logical too expect_is(glmer(rr~(1|Days),family="binomial",data=ss2),"merMod") ## starting values with log(.) link -- thanks to Eric Weese @ Yale: grp <- rep(letters[1:5], 20); set.seed(1); x <- rnorm(100) expect_error(glmer(x ~ 1 + (1|grp), family=gaussian(link="log")), "valid starting values") ## related to GH 231 ## fails on some platforms, skip for now if (FALSE) { rr <- gm1@resp$copy() ff <- setdiff(ls(gm1@resp),c("copy","initialize","initialize#lmResp","ptr", "updateMu","updateWts","resDev","setOffset","wrss")) for (i in ff) { expect_equal(gm1@resp[[i]],rr[[i]]) } } ## bad start case load(system.file("testdata","fakesim.RData",package="lme4")) rfit <- glmer(Inew/S ~ R0-1 + offset(log(I/N)) + (1|R0:trial) , family=binomial(link="cloglog") , data=dat , weight=S , control=glmerControl(optimizer="bobyqa", nAGQ0initStep=FALSE) , start = list(fixef=c(0,0,0),theta=1)) expect_equal(exp(fixef(rfit)), c(R01 = 1.2735051, R02 = 2.0330635, R03 = 2.9764088), tolerance=1e-5) ## gaussian with log link and zero values in response ... ## fixed simulation code, passing mustart properly dd <- expand.grid(x = seq(-2,3,length.out=10), f = factor(1:10)) dd$y <- simulate(~x+(1|f), family=gaussian(link="log"), newdata=dd, newparams=list(beta=c(0,1),theta=1,sigma=1), seed=101)[[1]] dd$y <- pmax(dd$y,0) expect_error(glmer (y ~ x + (1|f), family = gaussian(link="log"), data=dd),"cannot find valid starting values") g1 <- glmer (y ~ x + (1|f), family = gaussian(link="log"), data=dd, mustart=pmax(dd$y,0.1)) msum <- c(fixef(g1),unlist(c(VarCorr(g1))),c(logLik(g1))) expect_equal(msum, c(`(Intercept)` = 0.23389405, x = 1.0017436, f = 0.24602992, -156.7773), tolerance=1e-5) ## GH 415 expect_warning(glmer (round(Reaction) ~ Days + (1|Subject), data=sleepstudy[1:100,], family=poisson, control=lmerControl()), "please use glmerControl") }) } ## testlevel>1 test_that("glmer with etastart", { ## make sure etastart is passed through ## (fixed in commit b6fb1ac83885ff06 but never tested?) m1 <- glmer(incidence/size ~ period + (1|herd), weights = size, family = binomial, data = cbpp) m1E <- update(m1, etastart = rep(1, nrow(cbpp))) expect_true(!identical(fixef(m1), fixef(m1E))) }) lme4/tests/testthat/test-lmerResp.R0000644000176200001440000000435714630365604017026 0ustar liggesuserslibrary("lme4") library("testthat") data(Dyestuff, package="lme4") n <- nrow(Dyestuff) ones <- rep.int(1, n) zeros <- rep.int(0, n) YY <- Dyestuff$Yield mYY <- mean(YY) context("lmerResp objects") test_that("lmerResp", { mres <- YY - mYY rr <- lmerResp$new(y=YY) expect_that(rr$weights, equals(ones)) expect_that(rr$sqrtrwt, equals(ones)) expect_that(rr$sqrtXwt, equals(ones)) expect_that(rr$offset, equals(zeros)) expect_that(rr$mu, equals(zeros)) expect_that(rr$wtres, equals(YY)) expect_that(rr$wrss(), equals(sum(YY^2))) expect_that(rr$updateMu(rep.int(mYY, n)), equals(sum(mres^2))) expect_that(rr$REML, equals(0L)) rr$REML <- 1L expect_that(rr$REML, equals(1L)) }) mlYY <- mean(log(YY)) gmeanYY <- exp(mlYY) # geometric mean context("glmResp objects") test_that("glmResp", { mres <- YY - gmeanYY gmean <- rep.int(gmeanYY, n) rr <- glmResp$new(family=poisson(), y=YY) expect_that(rr$weights, equals(ones)) expect_that(rr$sqrtrwt, equals(ones)) expect_that(rr$sqrtXwt, equals(ones)) expect_that(rr$offset, equals(zeros)) expect_that(rr$mu, equals(zeros)) expect_that(rr$wtres, equals(YY)) expect_that(rr$n, equals(ones)) ## wrss() causes an update of mu which becomes ones, wtres also changes expect_that(rr$wrss(), equals(sum((YY-1)^2))) expect_that(rr$mu, equals(ones)) expect_that(rr$wtres, equals(YY-ones)) expect_that(rr$updateMu(rep.int(mlYY, n)), equals(sum(mres^2))) expect_that(rr$mu, equals(gmean)) expect_that(rr$muEta(), equals(gmean)) expect_that(rr$variance(), equals(gmean)) rr$updateWts() expect_that(1/sqrt(rr$variance()), equals(rr$sqrtrwt)) expect_that(as.vector(rr$sqrtXwt), equals(rr$sqrtrwt * rr$muEta())) }) lme4/tests/testthat/test-stepHalving.R0000644000176200001440000000061014630365604017505 0ustar liggesuserslibrary(lme4) library(testthat) load(system.file("testdata","survdat_reduced.Rda",package="lme4")) test_that('Step-halving works properly', { # this example is known to require step-halving (or at least has in the past # required step-halving) form <- survprop~(1|nobs) m <- glmer(form,weights=eggs,data=survdat_reduced,family=binomial,nAGQ=1L) expect_that(m, is_a("glmerMod")) }) lme4/tests/testthat/test-ranef.R0000644000176200001440000000735614630365604016332 0ustar liggesusersstopifnot(require("testthat"), require("lme4")) set.seed(101) n <- 500 d <- data.frame(x=rnorm(n), f=factor(sample(1:10,n,replace=TRUE), labels=LETTERS[1:10]), g=factor(sample(1:25,n,replace=TRUE), labels=letters[1:25])) d$y <- suppressMessages(simulate(~1+x+(1|f)+(x|g),family=binomial, newdata=d, newparams=list(beta=c(0,1), theta=c(1,1,2,1)))[[1]]) fm1 <- glmer(y~(1|f)+(x|g),family=binomial,data=d) context("ranef") test_that("warn extra args", { expect_warning(ranef(fm1,transf=exp),"additional arguments") }) test_that("dotplot_ranef", { rr <- ranef(fm1,condVar=TRUE) expect_is(lattice::dotplot(rr,scales=list(x = list(relation = 'free')))$g, "trellis") expect_is(lattice::dotplot(rr,transf=exp, scales=list(x = list(relation = 'free')))$g, "trellis") expect_is(as.data.frame(rr),"data.frame") rr0 <- ranef(fm1) expect_is(as.data.frame(rr0),"data.frame") }) test_that("Dyestuff consistent with lme4.0", { lme4.0condVarDyestuff <- c(362.3583, 362.3583, 362.3583, 362.3583, 362.3583, 362.3583) fm <- lmer(Yield ~ 1|Batch, Dyestuff, REML=FALSE) lme4condVarDyestuff <- drop(attr(ranef(fm,condVar=TRUE)$Batch,"postVar")) expect_equal(lme4.0condVarDyestuff, lme4condVarDyestuff, tolerance = 1e-3) }) test_that("sleepstudy consistent with lme4.0", { lme4.0condVarsleepstudy <- matrix(c(145.71273, -21.440414, -21.44041, 5.310927), 2, 2) fm <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) lme4condVarsleepstudy <- attr(ranef(fm,condVar=TRUE)$Subject,"postVar")[,,1] expect_equal(lme4.0condVarsleepstudy, lme4condVarsleepstudy, tolerance = 2e-4) }) test_that("cbpp consistent with lme4.0", { lme4.0condVarcbpp <- c(0.12128867, 0.13363275, 0.08839850, 0.17337928, 0.12277914, 0.14436663, 0.10658333, 0.10309812, 0.21289738, 0.13740279, 0.09555677, 0.19460241, 0.14808316, 0.12631006, 0.15816769) gm <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) lme4condVarcbpp <- as.numeric(attr(ranef(gm,condVar=TRUE)$herd,"postVar")) expect_equal(lme4.0condVarcbpp, lme4condVarcbpp, tolerance = 1e-3) }) context("multiple terms per factor") test_that("multiple terms work", { fm <- lmer(Reaction ~ Days + (1|Subject)+ (0+Days | Subject), sleepstudy, control=lmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6))) rr <- ranef(fm, condVar=TRUE) expect_equal(as.data.frame(rr)[c(1,19),], structure( list(grpvar = c("Subject", "Subject"), term = structure(1:2, .Label = c("(Intercept)", "Days"), class = "factor"), grp = structure(c(9L, 9L), .Label = c("309", "310", "370", "349", "350", "334", "335", "371", "308", "369", "351", "332", "372", "333", "352", "331", "330", "337"), class = "factor"), condval = c(1.5116973008, 9.32373076098), condsd = c(12.238845590, 2.33546851406)), row.names = c(1L, 19L), class = "data.frame"), tolerance = 1e-5) cv <- attr(rr$Subject, "postVar") expect_equal(lapply(cv, drop), list(`(Intercept)` = rep(149.79166, 18), Days = rep(5.4543894, 18)), tolerance = 1e-4) }) lme4/tests/testthat/test-oldRZXfailure.R0000644000176200001440000000076214630365604017763 0ustar liggesuserslibrary(lme4) library(testthat) load(system.file("testdata","crabs_randdata00.Rda",package="lme4")) test_that('RZX is being calculated properly', { # this is a test for an old problem, documented here: # http://stevencarlislewalker.github.io/notebook/RZX_problems.html fr <- cbind(final.snail.density, snails.lost) ~ crab.speciesS + crab.sizeS + crab.speciesS:crab.sizeS + (snail.size | plot) m <- glmer(fr, data = randdata00, family = binomial) expect_that(m, is_a("glmerMod")) }) lme4/tests/testthat/test-glmmFail.R0000644000176200001440000000263314630365604016760 0ustar liggesuserslibrary("testthat") library("lme4") source(system.file("testdata/lme-tst-funs.R", package="lme4", mustWork=TRUE)) ##-> gSim(), a general simulation function ... set.seed(101) dBc <- gSim(family=binomial(link="cloglog"), nbinom = 1) # {0,1} Binomial ## m1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), ## family = binomial, data = cbpp) context("Errors and warnings from glmer") test_that("glmer", { expect_error(glmer(y ~ 1 + (1|block), data=dBc, family=binomial(link="cloglog")), "Response is constant") expect_error(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), family = binomial, data = cbpp, REML=TRUE), "unused argument.*REML") expect_warning(glmer(Reaction ~ Days + (Days|Subject), sleepstudy), "calling glmer.*family=gaussian.*deprecated") expect_warning(glmer(Reaction ~ Days + (Days|Subject), sleepstudy, family=gaussian), "calling glmer.*family=gaussian.*deprecated") m3 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy)) m4 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) m5 <- suppressWarnings(glmer(Reaction ~ Days + (Days|Subject), sleepstudy, family=gaussian)) expect_equal(fixef(m3),fixef(m5)) m3@call[[1]] <- m5@call[[1]] <- quote(lmer) ## hack call expect_equal(m3,m4) expect_equal(m3,m5) }) lme4/tests/testthat/test-glmernb.R0000644000176200001440000000571714630365604016664 0ustar liggesuserslibrary("testthat") library("lme4") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 if (testLevel>1) { context("glmer.nb") test_that("basic", { set.seed(101) dd <- expand.grid(f1 = factor(1:3), f2 = LETTERS[1:2], g=1:9, rep=1:15, KEEP.OUT.ATTRS=FALSE) mu <- 5*(-4 + with(dd, as.integer(f1) + 4*as.numeric(f2))) dd$y <- rnbinom(nrow(dd), mu = mu, size = 0.5) require("MASS") m.glm <- glm.nb(y ~ f1*f2, data=dd) m.nb <- glmer.nb(y ~ f1*f2 + (1|g), data=dd) expect_equal(unname(fixef(m.nb)), c(1.65008, 0.76715, 1.01147, 1.51241, -0.61506, -0.6104), tol=1e-5) expect_is(m.nb,"glmerMod") ## 'family' properly quoted/not expanded in call? expect_true(grepl("negative\\.binomial\\(theta *= *[0-9]*\\.[0-9]+\\)", deparse(m.nb@call$family))) expect_null(m.nb@call$verbose) ## check: GH #321 expect_equal(fixef(m.nb), coef (m.glm), tol=1e-5) ## GH #319 ## GH #285 m.nb1 <- glmer(Reaction > 250 ~ Days + (1|Subject), data = sleepstudy, family=poisson) ## previously failing on Travis-CI m.nb2 <- glmer.nb(y ~ f1*f2 + (1|g), data=dd, subset = g!=8) expect_equal(unname(ngrps(m.nb2)),8) ## expect parameters, ngrps *not* to equal full model expect_equal(unname(fixef(m.nb2)), c(1.629240234, 0.76028840, 1.008629913, 1.6172507, -0.6814426, -0.66468330),tol=1e-5) ## control handling ... this should suppress warnings ... old.opts <- options(warning=2) m.nb2 <- glmer.nb(round(Reaction) ~ Days + (1|Subject), data = sleepstudy, subset = Subject != 370, control=glmerControl(check.conv.grad="ignore")) expect_is(m.nb2,"glmerMod") options(old.opts) m.nb3 <- glmer.nb(y~f1+(1|g), data=dd, contrasts=list(f1=contr.sum)) ## make sure *different* fixed effects from previous fit ... expect_equal(fixef(m.nb3), structure(c(2.93061, -0.29779, 0.02586), .Names = c("(Intercept)", "f11", "f12")),tol=1e-5) ## make sure 'data' is in call even if unnamed m.nb4 <- glmer.nb(y~f1+(1|g), dd) expect_equal(names(m.nb4@call),c("","formula","data","family")) ## GH 322; allow offset m.nb2 <- glmer.nb(y~f1+(1|g), data=dd, offset=rep(0,nrow(dd))) }) if (requireNamespace("merDeriv")) { test_that("summary not broken by merDeriv", { library(merDeriv) data(Arabidopsis) mod <- glmer.nb(total.fruits~status+nutrient+(1|gen), data=Arabidopsis) ## trivial test of existence/non-failure ... expect_is(summary(mod), "summary.merMod") ## may? expose other problems as S3 methods won't be unloaded properly ... detach("package:merDeriv") }) } } ## testLevel > 1 lme4/tests/testthat/test-simulate_formula.R0000644000176200001440000000471714630365604020605 0ustar liggesuserslibrary("testthat") library("lme4") quietly <- TRUE ## factory for making methods mk_method <- function(class, print_dims=FALSE) { method <- sprintf("simulate.formula_lhs_%s",class) sim_generic <- function(object, nsim=1, seed=NULL, ...) { if (!quietly) message(sprintf("%s called",method)) if (!quietly) cat(".Basis from attributes:\n") if (!quietly) print(attr(object,".Basis")) # NULL if (print_dims) { if (!quietly) print(dim(attr(object,".Basis"))) } return(attr(object,".Basis")) } assign(method,sim_generic,.GlobalEnv) invisible(NULL) } ## (**) these methods should (??) _mask_ package versions ... ## works in source(), not in devtools::test() ... mk_method("NULL") mk_method("numeric") mk_method("array",print_dims=TRUE) mk_method("") test_that("simple numerics", { ## expect_equal(simulate(1~.),1) ## FIXME re-enable if we resolve (**) above ## One-sided formula is not the same as an LHS that evaluates to NULL: expect_equal(simulate(NULL~.),NULL) }) test_that("raw formulas", { expect_error(suppressWarnings(simulate(x~.)), "Error evaluating") }) simulate.formula_lhs_character <- function(object, nsim=1, seed=NULL, ...) { if (!quietly) message("simulate.formula_lhs_character() called.") if (!quietly) print(ls(all.names=TRUE)) NextMethod() # Calls simulate.formula(), resulting in an infinite recursion. } test_that("prevent recursion", { expect_error(simulate("a"~.), "No applicable method") }) dd <- expand.grid(A=factor(1:3),B=factor(1:10),rep=1:10) test_that("two-sided formula warning", { expect_error(suppressMessages(simulate(.~1 + (A|B), newdata=dd, newparams=list(beta=1,theta=rep(1,6), sigma=1), family=gaussian, seed=101))[[1]], "object '.' not found") }) ## cleanup ## I can't figure out what environments these things actually live in so I'm going to ## give up and try() to remove them ... ## rmx <- function(s) if (exists(s, parent.frame())) rm(list=s, envir=parent.frame()) ## rmx("simulate.formula_lhs_character") ## rmx("simulate.formula_lhs_") ## rmx("simulate.formula_lhs_numeric") suppressWarnings(try(rm(list = c("simulate.formula_lhs_", "simulate.formula_lhs_numeric")),silent=TRUE)) lme4/tests/testthat/test-resids.R0000644000176200001440000000622414630365604016521 0ustar liggesuserslibrary("testthat") library("lme4") context("residuals") test_that("lmer", { C1 <- lmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6)) fm1 <- lmer(Reaction ~ Days + (Days|Subject),sleepstudy, control=C1) fm2 <- lmer(Reaction ~ Days + (Days|Subject),sleepstudy, control=lmerControl(calc.derivs=FALSE, optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6))) expect_equal(resid(fm1), resid(fm2)) expect_equal(range(resid(fm1)), c(-101.17996, 132.54664), tolerance=1e-6) expect_equal(range(resid(fm1, scaled=TRUE)), c(-3.9536067, 5.1792598), tolerance=1e-6) expect_equal(resid(fm1,"response"),resid(fm1)) expect_equal(resid(fm1,"response"),resid(fm1,type="working")) expect_equal(resid(fm1,"deviance"),resid(fm1,type="pearson")) expect_equal(resid(fm1),resid(fm1,type="pearson")) ## because no weights given expect_error(residuals(fm1,"partial"), "partial residuals are not implemented yet") sleepstudyNA <- sleepstudy na_ind <- c(10,50) sleepstudyNA[na_ind,"Days"] <- NA fm1NA <- update(fm1,data=sleepstudyNA) fm1NA_exclude <- update(fm1,data=sleepstudyNA,na.action="na.exclude") expect_equal(length(resid(fm1)),length(resid(fm1NA_exclude))) expect_true(all(is.na(resid(fm1NA_exclude)[na_ind]))) expect_true(!any(is.na(resid(fm1NA_exclude)[-na_ind]))) }) test_that("glmer", { gm1 <- glmer(incidence/size ~ period + (1|herd), cbpp, family=binomial, weights=size) gm2 <- update(gm1,control=glmerControl(calc.derivs=FALSE)) gm1.old <- update(gm1,control=glmerControl(calc.derivs=FALSE, use.last.params=TRUE)) expect_equal(resid(gm1),resid(gm2)) ## y, wtres, mu change ?? ## FIX ME:: why does turning on derivative calculation make these tests fail??? expect_equal(range(resid(gm1.old)), c(-3.197512,2.356677), tolerance=1e-6) expect_equal(range(resid(gm1)), c(-3.1975034,2.35668826), tolerance=1e-6) expect_equal(range(resid(gm1.old, "response")), c(-0.1946736,0.3184579), tolerance=1e-6) expect_equal(range(resid(gm1,"response")),c(-0.194674747774946, 0.318458889275477)) expect_equal(range(resid(gm1.old, "pearson")), c(-2.381643,2.879069),tolerance=1e-5) expect_equal(range(resid(gm1,"pearson")), c(-2.38163599828335, 2.87908806084918)) expect_equal(range(resid(gm1.old, "working")), c(-1.241733,5.410587),tolerance=1e-5) expect_equal(range(resid(gm1, "working")), c(-1.24173431447365, 5.41064465283686)) expect_equal(resid(gm1),resid(gm1,scaled=TRUE)) ## since sigma==1 expect_error(resid(gm1,"partial"), "partial residuals are not implemented yet") cbppNA <- cbpp na_ind <- c(10,50) cbppNA[na_ind,"period"] <- NA gm1NA <- update(gm1,data=cbppNA) gm1NA_exclude <- update(gm1,data=cbppNA,na.action="na.exclude") expect_equal(length(resid(gm1)),length(resid(gm1NA_exclude))) expect_true(all(is.na(resid(gm1NA_exclude)[na_ind]))) expect_true(!any(is.na(resid(gm1NA_exclude)[-na_ind]))) }) lme4/tests/testthat/test-formulaEval.R0000644000176200001440000002020514630365604017500 0ustar liggesuserslibrary("testthat") library("lme4") context("data= argument and formula evaluation") ## intercept context-dependent errors ... it's too bad that ## these errors differ between devtools::test() and ## R CMD check, but finding the difference is too much ## of a nightmare ## n.b. could break in other locales *if* we ever do internationalization ... data_RE <- "(bad 'data'|variable lengths differ)" test_that("glmerFormX", { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) d <- data.frame(x,y,z,r) F <- "z" rF <- "(1|r)" modStr <- (paste("x ~", "y +", F, "+", rF)) modForm <- as.formula(modStr) ## WARNING: these drop/environment tests are extremely sensitive to environment ## they may fail/not fail, or fail differently, within a "testthat" environment vs. ## when run interactively expect_that(m_data.3 <- glmer( modStr , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.4 <- glmer( "x ~ y + z + (1|r)" , data=d, family="binomial"), is_a("glmerMod")) ## interactively: (interactive() is TRUE {i.e. doesn't behave as I would expect} within testing environment ... ## if (interactive()) { ## AICvec <- c(77.0516381151634, 75.0819116367084, 75.1915023640827) ## expect_equal(drop1(m_data.3)$AIC,AICvec) ## expect_equal(drop1(m_data.4)$AIC,AICvec) ## } else { ## in test environment [NOT test_ expect_error(drop1(m_data.3),data_RE) expect_error(drop1(m_data.4),data_RE) ##} }) test_that("glmerForm", { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) d <- data.frame(x,y,z,r) F <- "z" rF <- "(1|r)" modStr <- (paste("x ~", "y +", F, "+", rF)) modForm <- as.formula(modStr) ## formulas have environments associated, but character vectors don't ## data argument not specified: ## should work, but documentation warns against it expect_that(m_nodata.0 <- glmer( x ~ y + z + (1|r) , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.1 <- glmer( as.formula(modStr) , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.2 <- glmer( modForm , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.3 <- glmer( modStr , family="binomial"), is_a("glmerMod")) expect_that(m_nodata.4 <- glmer( "x ~ y + z + (1|r)" , family="binomial"), is_a("glmerMod")) ## apply drop1 to all of these ... m_nodata_List <- list(m_nodata.0, m_nodata.1,m_nodata.2,m_nodata.3,m_nodata.4) d_nodata_List <- lapply(m_nodata_List,drop1) rm(list=c("x","y","z","r")) ## data argument specified expect_that(m_data.0 <- glmer( x ~ y + z + (1|r) , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.1 <- glmer( as.formula(modStr) , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.2 <- glmer( modForm , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.3 <- glmer( modStr , data=d, family="binomial"), is_a("glmerMod")) expect_that(m_data.4 <- glmer( "x ~ y + z + (1|r)" , data=d, family="binomial"), is_a("glmerMod")) ff <- function() { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) d2 <- data.frame(x,y,z,r) glmer( x ~ y + z + (1|r), data=d2, family="binomial") } m_data.5 <- ff() ff2 <- function() { set.seed(101) n <- 50 x <- rbinom(n, 1, 1/2) y <- rnorm(n) z <- rnorm(n) r <- sample(1:5, size=n, replace=TRUE) glmer( x ~ y + z + (1|r), family="binomial") } m_data.6 <- ff2() m_data_List <- list(m_data.0,m_data.1,m_data.2,m_data.3,m_data.4,m_data.5,m_data.6) badNums <- 4:5 d_data_List <- lapply(m_data_List[-badNums],drop1) ## these do NOT fail if there is a variable 'd' living in the global environment -- ## they DO fail in the testthat context expect_error(drop1(m_data.3),data_RE) expect_error(drop1(m_data.4),data_RE) ## expect_error(lapply(m_data_List[4],drop1)) ## expect_error(lapply(m_data_List[5],drop1)) ## d_data_List <- lapply(m_data_List,drop1,evalhack="parent") ## fails on element 1 ## d_data_List <- lapply(m_data_List,drop1,evalhack="formulaenv") ## fails on element 4 ## d_data_List <- lapply(m_data_List,drop1,evalhack="nulldata") ## succeeds ## drop1(m_data.5,evalhack="parent") ## 'd2' not found ## drop1(m_data.5,evalhack="nulldata") ## 'x' not found (d2 is in environment ...) ## should we try to make update smarter ... ?? ## test equivalence of (i vs i+1) for all models, all drop1() results for (i in 1:(length(m_nodata_List)-1)) { expect_equivalent(m_nodata_List[[i]],m_nodata_List[[i+1]]) expect_equivalent(d_nodata_List[[i]],d_nodata_List[[i+1]]) } expect_equivalent(m_nodata_List[[1]],m_data_List[[1]]) expect_equivalent(d_nodata_List[[1]],d_data_List[[1]]) for (i in 1:(length(m_data_List)-1)) { expect_equivalent(m_data_List[[i]],m_data_List[[i+1]]) } ## allow for dropped 'bad' vals for (i in 1:(length(d_data_List)-1)) { expect_equivalent(d_data_List[[i]],d_data_List[[i+1]]) } }) test_that("lmerForm", { set.seed(101) x <- rnorm(10) y <- rnorm(10) z <- rnorm(10) r <- sample(1:3, size=10, replace=TRUE) d <- data.frame(x,y,z,r) ## example from Joehanes Roeby m2 <- suppressWarnings(lmer(x ~ y + z + (1|r), data=d)) ff <- function() { m1 <- suppressWarnings(lmer(x ~ y + z + (1|r), data=d)) return(anova(m1)) } ff1 <- Reaction ~ Days + (Days|Subject) fm1 <- lmer(ff1, sleepstudy) fun <- function () { ff1 <- Reaction ~ Days + (Days|Subject) fm1 <- suppressWarnings(lmer(ff1, sleepstudy)) return (anova(fm1)) } anova(m2) ff() expect_equal(anova(m2),ff()) anova(fm1) fun() expect_equal(anova(fm1),fun()) ## test deparsing of long RE terms varChr <- paste0("varname_",outer(letters,letters,paste0)[1:100]) rvars <- varChr[1:9] form <- as.formula(paste("y ~",paste(varChr,collapse="+"), "+", paste0("(",paste(rvars,collapse="+"),"|f)"))) ff <- lme4:::reOnly(form) environment(ff) <- .GlobalEnv expect_equal(ff, ~(varname_aa + varname_ba + varname_ca + varname_da + varname_ea + varname_fa + varname_ga + varname_ha + varname_ia | f)) }) test_that("lapply etc.", { ## copied from dplyr failwith <- function (default = NULL, f, quiet = FALSE) { function(...) { out <- default try(out <- f(...), silent = quiet) out } } lmer_fw <- failwith(NULL,function(...) lmer(...) ,quiet=TRUE) expect_is(lmer_fw(Yield ~ 1|Batch, Dyestuff, REML = FALSE), "merMod") ## GH 369 listOfFormulas <- list( cbind(incidence, size - incidence) ~ 1 + (1 | herd), cbind(incidence, size - incidence) ~ period + (1 | herd)) expect_is(lapply(listOfFormulas,glmer,family=binomial,data=cbpp),"list") }) test_that("formula and data validation work with do.call() in artificial environment", { ## This ensures compatibility of lmer when it's called from the ## C-level Rf_eval() with an environment that doesn't exist on the ## stack (i.e. C implementation in magrittr 2.0) e <- new.env() e$. <- mtcars expect_is( do.call(lme4::lmer, list("disp ~ (1 | cyl)", quote(.)), envir = e), "merMod" ) fn <- function(data) { lme4::lmer("disp ~ (1 | cyl)", data = data) } expect_is( do.call(fn, list(quote(.)), envir = e), "merMod" ) }) test_that("correct environment on reOnly()", { ## GH 654 f <- Reaction ~ Days + (1 | Subject) e <- environment(f) m <- lmer(f, data = sleepstudy) expect_identical(environment(formula(m)), e) # TRUE expect_identical(environment(formula(m, fixed.only = TRUE)), e) # TRUE expect_identical(ee <- environment(formula(m, random.only = TRUE)), e) # FALSE }) lme4/tests/testthat/test-glmernbref.R0000644000176200001440000000105214630365604017345 0ustar liggesuserslibrary(testthat) ## DON'T load lme4; test is to see if glmer.nb works when ## lme4 is not loaded ## this does *not* work properly in a devtools::test environment ## (lme4 is not really detached) ## see tests/test-glmernbref.R for working test ... test_that("glmer.nb ref to glmer", { set.seed(101) dd <- data.frame(x=runif(200), f= rep(1:20, each=10)) b <- rnorm(20) dd <- transform(dd, y = rnbinom(200, mu = exp(1 + 2*x + b[f]), size = 2)) detach("package:lme4") g <- lme4::glmer.nb(y~x + (1|f), data = dd) expect_is(g, "glmerMod") }) lme4/tests/testthat/test-eval.R0000644000176200001440000000445614630365604016164 0ustar liggesusers## examples for eval lookup testthat::skip_on_cran() if (require(car, quietly = TRUE)) { test_that("infIndexPlot env lookup OK", { fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) ## silly test; the point is to see if this errors out with ## Error in as.list.environment(X[[i]], ...) : ## promise already under evaluation: recursive default argument reference or earlier problems? ## Calls: infIndexPlot -> influence -> influence.merMod -> lapply -> FUN expect_equal(car::infIndexPlot(influence(fm1, "Subject")), NULL) }) } if (require(rr2, quietly = TRUE)) { test_that("rr2 env lookup OK", { ## Error under alternate eval lookup ## Error: bad 'data': object 'd' not found set.seed(123456) p1 <- 10; nsample <- 20; n <- p1 * nsample d <- data.frame(x1 = rnorm(n = n), x2 = rnorm(n = n), u1 = rep(1:p1, each = nsample), u2 = rep(1:p1, times = nsample)) d$u1 <- as.factor(d$u1); d$u2 <- as.factor(d$u2) ## LMM: y with random intercept b1 <- 1; b2 <- -1; sd1 <- 1.5 d$y_re_intercept <- b1 * d$x1 + b2 * d$x2 + rep(rnorm(n = p1, sd = sd1), each = nsample) + # random intercept u1 rep(rnorm(n = p1, sd = sd1), times = nsample) + # random intercept u2 rnorm(n = n) z.f2 <- lme4::lmer(y_re_intercept ~ x1 + x2 + (1 | u1) + (1 | u2), data = d, REML = T) ## NOTE, fails to produce warnings on second run of devtools::test() ## (possible interference from lmerTest methods being loaded ...?) expect_warning(R2(z.f2), "mod updated with REML = F") }) } ## semEff::VIF() is here being applied to a previously fitted lmer ## model (shipley.growth[[3]]) ## previous messing around with env evaluation had messed this up if (suppressWarnings(require(semEff))) { ## suppress warning about 'cov2cor' import replacement test_that("semEff env lookup OK", { ## Error in as.list.environment(X[[i]], ...) : ## promise already under evaluation: recursive default argument reference or earlier problems? ## Calls: VIF ... update.merMod -> do.call -> lapply -> FUN -> as.list.environment m <- shipley.growth[[3]] expect_equal(VIF(m), c(Date = 6.06283840168881, DD = 6.07741017455859, lat = 1.01215136160858) ) }) } lme4/tests/testthat/test-methods.R0000644000176200001440000011315014630365604016670 0ustar liggesuserslibrary("testthat") library("lme4") (testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1) ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) L <- load(system.file("testdata", "lme-tst-fits.rda", package="lme4", mustWork=TRUE)) ## FIXME: should test for old R versions, skip reloading test data in that ## case? fm0 <- fit_sleepstudy_0 fm1 <- fit_sleepstudy_1 fm2 <- fit_sleepstudy_2 gm1 <- fit_cbpp_1 gm2 <- fit_cbpp_2 gm3 <- fit_cbpp_3 ## More objects to use in all contexts : set.seed(101) dNA <- data.frame( xfac= sample(letters[1:10], 100, replace=TRUE), xcov= runif(100), resp= rnorm(100)) dNA[sample(1:100, 10), "xcov"] <- NA CI.boot <- function(fm, nsim=10, seed=101, ...) suppressWarnings(confint(fm, method="boot", nsim=nsim, quiet=TRUE, seed=seed, ...)) ## rSimple <- function(rep = 2, m.u = 2, kinds = c('fun', 'boring', 'meh')) { stopifnot(is.numeric(rep), rep >= 1, is.numeric(m.u), m.u >= 1, is.character(kinds), (nk <- length(kinds)) >= 1) nobs <- rep * m.u * nk data.frame(kind= rep(kinds, each=rep*m.u), unit = gl(m.u, 1, nobs), y = round(50*rnorm(nobs))) } d12 <- rSimple() data("Pixel", package="nlme") nPix <- nrow(Pixel) fmPix <- lmer(pixel ~ day + I(day^2) + (day | Dog) + (1 | Side/Dog), data = Pixel) test_that("summary", { ## test for multiple-correlation-warning bug and other 'correlation = *' variants ## Have 2 summary() versions, each with 3 print(.) ==> 6 x capture.output(.) sf.aa <- summary(fit_agridat_archbold) msg1 <- "Correlation.* not shown by default" ## message => *not* part of capture.*(.) expect_message(c1 <- capture.output(sf.aa), msg1) # correlation = NULL - default cF <- capture.output(print(sf.aa, correlation=FALSE)) ## TODO? ensure the above gives *no* message/warning/error expect_identical(c1, cF) expect_message( cT <- capture.output(print(sf.aa, correlation=TRUE)) , "Correlation.* could have been required in summary()") expect_identical(cF, cT[seq_along(cF)]) sfT.aa <- summary(fit_agridat_archbold, correlation=TRUE) ## no message any more ## expect_message(cT2 <- capture.output(sfT.aa), msg1) ## expect_identical(cF, cT2) cT3 <- capture.output(print(sfT.aa, correlation=TRUE)) expect_identical(cT, cT3) cF2 <- capture.output(print(sfT.aa, correlation=FALSE)) expect_identical(cF, cF2) }) test_that("lmer anova", { aa <- suppressMessages(anova(fm0,fm1)) expect_that(aa, is_a("anova")) expect_equal(names(aa), c("npar", "AIC", "BIC", "logLik", "deviance", "Chisq", "Df", "Pr(>Chisq)")) expect_warning(suppressMessages(do.call(anova,list(fm0,fm1))), "assigning generic names") ## dat <- data.frame(y = 1:5, u = c(rep("A",2), rep("B",3)), t = c(rep("A",3), rep("B",2))) datfun <- function(x) dat aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <- dat expect_is(stats::anova(lmer(y ~ u + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE), lmer(y ~ 1 + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE)), "anova") expect_equal(rownames(stats::anova(lmer(y ~ u + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE), lmer(y ~ 1 + (1 | t), dat = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, REML=FALSE), model.names=c("a","b"))), c("b","a")) ff <- function(form) { lmer(form, dat=dat, REML=FALSE, control=lmerControl(check.conv.singular="ignore")) } expect_error(rownames(stats::anova(ff(y ~ u + (1 | t)), ff(y ~ 1 + (1 | t)), model.names=c("a","b","c"))), "different lengths") z <- 1 ## output not tested (but shouldn't fail) ss <- stats::anova(lmer(y ~ u + (1 | t), data = datfun(z), REML=FALSE), lmer(y ~ 1 + (1 | t), data = datfun(z), REML=FALSE)) ## ## from Roger Mundry via Roman Lustrik full <- lmer(resp ~ xcov + (1|xfac), data=dNA) null <- lmer(resp ~ 1 + (1|xfac), data=dNA) expect_error(anova(null,full), "models were not all fitted to the same size of dataset") }) if (requireNamespace("merDeriv")) { test_that("summary with merDeriv", { library(merDeriv) cc <- capture.output(print(summary(fm1))) expect_true(any(grepl("Correlation of Fixed Effects", cc))) ## WARNING, this will detach package but may not undo ## method loading ... detach("package:merDeriv") }) } ## Github issue #256 from Jonas Lindeløv -- issue is *not* specific for this dataset test_that("Two models with subset() within lmer()", { full3 <- lmer(y ~ kind + (1|unit), subset(d12, kind != 'boring'), REML=FALSE) null3 <- update(full3, .~. - kind) op <- options(warn = 2) # no warnings! ano3 <- anova(full3, null3)## issue #256: had warning in data != data[[1]] : ... o3 <- capture.output(ano3) # now prints with only one 'Data:' expect_equal(1, grep("^Data:", o3)) d12sub <- subset(d12, kind != 'boring') expect_is(full3s <- lmer(y ~ kind + (1|unit), d12sub, REML=FALSE), "lmerMod") expect_is(null3s <- update(full3s, .~. - kind), "lmerMod") expect_is(ano3s <- anova(full3s, null3s), "anova") expect_equal(ano3, ano3s, check.attributes=FALSE) options(op) }) test_that("anova() of glmer+glm models", { dat <<- data.frame(y = 1:5, u = c(rep("A",2), rep("B",3)), t = c(rep("A",3), rep("B",2))) cs <- glmerControl(check.conv.singular = "ignore") ## ignore singular fits gm1 <- glmer(y~(1|u), data=dat[1:4,], family=poisson, control = cs) gm0 <- glm(y~1, data=dat[1:4,], family=poisson) gm2 <- glmer(y~(1|u), data=dat[1:4,], family=poisson,nAGQ=2, control = cs) aa <- anova(gm1,gm0) expect_equal(aa[2,"Chisq"],0) expect_error(anova(gm2,gm0),"incommensurate") }) test_that("anova() of lmer+glm models", { dat2 <- dat set.seed(101) dat2$y <- rnorm(5) fm1 <- lmer(y~(1|u),data=dat2,REML=FALSE) fm0 <- lm(y~1,data=dat2) aa2 <- anova(fm1,fm0) expect_equal(aa2[2,"Chisq"],0) expect_warning(anova(fm1,type="III"),"additional arguments ignored") }) test_that("set p-values to NA for equivalent models: #583", { fm0B <- fm0 aa <- suppressMessages(anova(fm0B,fm0)) expect_true(all(is.na(aa[["Pr(>Chisq)"]]))) }) test_that("long names", { ## GH names(sleepstudy) <- c("Reaction", "Days", "Subject_xxxxxxxxxxxxxxxxxxxxxxxxxxx") fm1 <- lmer(Reaction ~ Days + (Days | Subject_xxxxxxxxxxxxxxxxxxxxxxxxxxx), sleepstudy) fm2 <- lmer(Reaction ~ Days + (Days || Subject_xxxxxxxxxxxxxxxxxxxxxxxxxxx), sleepstudy) expect_equal(length(attributes(suppressMessages(anova(fm1,fm2)))$heading),4) }) if (testLevel>1) { context("bootMer confint()") set.seed(47) test_that("bootMer", { ## testing bug-fix for ordering of sd/cor components in sd/cor matrix with >2 rows ## FIXME: This model makes no sense [and CI.boot() fails for "nloptwrap"!] dd <- expand.grid(A=factor(1:3),B=factor(1:10),rep=1:10) dd$y <- suppressMessages(simulate(~1 + (A|B), newdata=dd, newparams=list(beta=1,theta=rep(1,6), sigma=1), family=gaussian, seed=101))[[1]] m1 <- lmer(y ~ 1 + (A|B), data=dd, control=lmerControl(calc.deriv=FALSE)) ci <- CI.boot(m1,seed=101) ci2 <- CI.boot(m1,seed=101) expect_equal(ci,ci2) ci_50 <- CI.boot(m1,level=0.5,seed=101) expect_true(all(ci_50[,"25 %"]>ci[,"2.5 %"])) expect_true(all(ci_50[,"75 %"]1 context("confint_other") test_that("confint", { load(system.file("testdata", "gotway_hessianfly.rda", package = "lme4")) ## generated via: ## gotway_hessianfly_fit <- glmer(cbind(y, n-y) ~ gen + (1|block), ## data=gotway.hessianfly, family=binomial, ## control=glmerControl(check.nlev.gtreq.5="ignore")) ## gotway_hessianfly_prof <- profile(gotway_hessianfly_fit,which=1) ## save(list=ls(pattern="gotway"),file="gotway_hessianfly.rda") expect_equal(confint(gotway_hessianfly_prof)[1,1],0) ## FIXME: should add tests for {-1,1} bounds on correlations as well expect_equal(c(confint(fm1,method="Wald",parm="beta_")), c(232.301892,8.891041,270.508318,12.043531), tolerance=1e-5) ## Wald gives NA for theta values expect_true(all(is.na(confint(fm1,method="Wald",parm="theta_")))) ## check names ci1.p <- suppressWarnings(confint(fm1,quiet=TRUE)) ci1.w <- confint(fm1,method="Wald") ci1.b <- CI.boot(fm1, nsim=2) expect_equal(dimnames(ci1.p), list(c(".sig01", ".sigma", "(Intercept)", "Days"), c("2.5 %", "97.5 %"))) expect_equal(dimnames(ci1.p),dimnames(ci1.w)) expect_equal(dimnames(ci1.p),dimnames(ci1.b)) ci1.p.n <- suppressWarnings(confint(fm1,quiet=TRUE,oldNames=FALSE)) ci1.w.n <- confint(fm1,method="Wald", oldNames=FALSE) ci1.b.n <- CI.boot(fm1, nsim=2, oldNames=FALSE) expect_equal(dimnames(ci1.p.n), list(c("sd_(Intercept)|Subject", "sigma", "(Intercept)", "Days"), c("2.5 %", "97.5 %"))) expect_equal(dimnames(ci1.p.n),dimnames(ci1.w.n)) expect_equal(dimnames(ci1.p.n),dimnames(ci1.b.n)) ## test case of slightly wonky (spline fit fails) but monotonic profiles: ## simfun <- function(J,n_j,g00,g10,g01,g11,sig2_0,sig01,sig2_1){ N <- sum(rep(n_j,J)) x <- rnorm(N) z <- rnorm(J) mu <- c(0,0) sig <- matrix(c(sig2_0,sig01,sig01,sig2_1),ncol=2) u <- MASS::mvrnorm(J,mu=mu,Sigma=sig) b_0j <- g00 + g01*z + u[,1] b_1j <- g10 + g11*z + u[,2] y <- rep(b_0j,each=n_j)+rep(b_1j,each=n_j)*x + rnorm(N,0,sqrt(0.5)) sim_data <- data.frame(Y=y,X=x,Z=rep(z,each=n_j), group=rep(1:J,each=n_j)) } set.seed(102) dat <- simfun(10,5,1,.3,.3,.3,(1/18),0,(1/18)) fit <- lmer(Y~X+Z+X:Z+(X||group),data=dat) if (Sys.info()["sysname"] != "SunOS" && .Platform$OS.type != "windows") { ## doesn't produce warnings on Solaris, or win-builder ... expect_warning(pp <- profile(fit,"theta_"), "non-monotonic profile") expect_warning(cc <- confint(pp),"falling back to linear interpolation") ## very small/unstable problem, needs large tolerance expect_equal(unname(cc[2,]), c(0, 0.509), tolerance=0.09) # "bobyqa" had 0.54276 } badprof <- readRDS(system.file("testdata","badprof.rds", package="lme4")) expect_warning(cc <- confint(badprof), "falling back to linear") expect_equal(cc, array(c(0, -1, 2.50856219044636, 48.8305727797906, NA, NA, 33.1204478717389, 1, 7.33374326592662, 68.7254711217912, -6.90462047196017, NA), dim = c(6L, 2L), dimnames = list(c(".sig01", ".sig02", ".sig03", ".sigma", "(Intercept)", "cYear"), c("2.5 %", "97.5 %"))), tolerance=1e-3) }) test_that("refit", { s1 <- simulate(fm1) expect_is(refit(fm1,s1), "merMod") s2 <- simulate(fm1,2) expect_error(refit(fm1,s2), "refit not implemented .* lists") data(Orthodont,package = "nlme") fmOrth <- fm <- lmer(distance ~ I(age - 11) + (I(age - 11) | Subject), data = Orthodont) expect_equal(s1 <- simulate(fm,newdata = Orthodont,seed = 101), s2 <- simulate(fm,seed = 101)) ## works *without* offset ... m5 <- glmer(round(Reaction) ~ Days + (1|Subject), data = sleepstudy, family=poisson, offset=rep(0,nrow(sleepstudy))) m5R <- refit(m5) ## lots of fussy details make expect_equal() on the whole object difficult expect_equal(coef(m5),coef(m5R),tolerance=3e-6) expect_equal(VarCorr(m5),VarCorr(m5R),tolerance=1e-6) expect_equal(logLik(m5),logLik(m5R)) }) if (testLevel>1) { context("predict method") test_that("predict", { d1 <- with(cbpp, expand.grid(period = unique(period), herd = unique(herd))) d2 <- data.frame(period = "1", herd = unique(cbpp$herd)) d3 <- expand.grid(period = as.character(1:3), herd = unique(cbpp$herd)) p0 <- predict(gm1) p1 <- predict(gm1,d1) p2 <- predict(gm1,d2) p3 <- predict(gm1,d3) expect_equal(p0[1], p1[1]) expect_equal(p0[1], p2[1]) expect_equal(p0[1], p3[1]) expect_warning(predict(gm1, ReForm=NA), "is deprecated") ## matrix-valued predictors: Github #201 from Fabian S. sleepstudy$X <- cbind(1, sleepstudy$Days) m <- lmer(Reaction ~ -1 + X + (Days | Subject), sleepstudy) pm <- predict(m, newdata=sleepstudy) expect_is(pm, "numeric") expect_equal(quantile(pm, names = FALSE), c(211.0108, 260.9496, 296.873, 328.6378, 458.1584), tol=1e-5) op <- options(warn = 2) # there should be no warnings! if (require("MEMSS",quietly=TRUE)) { ## test spurious warning with factor as response variable data("Orthodont", package = "MEMSS") # (differently "coded" from the 'default' "nlme" one) silly <- glmer(Sex ~ distance + (1|Subject), data = Orthodont, family = binomial) sillypred <- data.frame(distance = c(20, 25)) ps <- predict(silly, sillypred, re.form=NA, type = "response") expect_is(ps, "numeric") expect_equal(unname(ps), c(0.999989632, 0.999997201), tolerance=1e-6) detach("package:MEMSS") } ## a case with interactions (failed in one temporary version): expect_warning(fmPixS <<- update(fmPix, .~. + Side), "nearly unidentifiable|unable to evaluate scaled gradient|failed to converge") ## (1|2|3); 2 and 3 seen (as Error??) on CRAN's Windows 32bit options(op) set.seed(1); ii <- sample(nrow(Pixel), 16) expect_equal(predict(fmPix, newdata = Pixel[ii,]), fitted(fmPix )[ii]) expect_equal(predict(fmPixS, newdata = Pixel[ii,]), fitted(fmPixS)[ii]) set.seed(7); n <- 100; y <- rnorm(n) dd <- data.frame(id = factor(sample(10, n, replace = TRUE)), x1 = 1, y = y, x2 = rnorm(n, mean = sign(y))) expect_message(m <- lmer(y ~ x1 + x2 + (1 | id), data = dd), "fixed-effect model matrix is rank deficient") expect_is(summary(m),"summary.merMod") ii <- sample(n, 16) expect_equal(predict(m, newdata = dd[ii,]), fitted(m)[ii]) ## predict(*, new..) gave Error in X %*% fixef(object) - now also drops col. ## predict(*, new..) with NA in data {and non-simple model}, issue #246: m1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) sleepst.NA <- sleepstudy ; sleepst.NA$Days[2] <- NA m2 <- update(fm1, data = sleepst.NA) ## maybe tricky for evaluation; fm1 was defined elsewhere, so data expect_equal(length(predict(m2, sleepst.NA[1:4,])),4) ## Wrong 'b' constructed in mkNewReTrms() -- issue #257 data(Orthodont,package="nlme") Orthodont <- within(Orthodont, nsex <- as.numeric(Sex == "Male")) m3 <- lmer(distance ~ age + (age|Subject) + (0 + Sex |Subject), data=Orthodont, control=lmerControl(check.conv.hess="ignore", check.conv.grad="ignore")) m4 <- lmer(distance ~ age + (age|Subject) + (0 + nsex|Subject), data=Orthodont) expect_equal(p3 <- predict(m3, Orthodont), fitted(m3), tolerance=1e-14) expect_equal(p4 <- predict(m4, Orthodont), fitted(m4), tolerance=1e-14) ## related to GH #275 (*passes*), ss <- sleepstudy set.seed(1) ss$noiseChar <- ifelse(runif(nrow(sleepstudy)) > 0.8, "Yes", "No") ss$noiseFactor <- factor(ss$noiseChar) fm4 <- lmer(Reaction ~ Days + noiseChar + (Days | Subject), ss) expect_equal(predict(fm4, newdata = model.frame(fm4)[2:3, ])[2], predict(fm4, newdata = model.frame(fm4)[3, ])) fm3 <- lmer(Reaction ~ Days + noiseFactor + (Days | Subject), ss) expect_equal(predict(fm3, newdata = model.frame(fm3)[2:3, ])[2], predict(fm3, newdata = model.frame(fm3)[3, ])) ## complex-basis functions in RANDOM effect fm5 <- lmer(Reaction~Days+(poly(Days,2)|Subject),sleepstudy) expect_equal(predict(fm5,sleepstudy[1,]),fitted(fm5)[1]) ## complex-basis functions in FIXED effect fm6 <- lmer(Reaction~poly(Days,2)+(1|Subject),sleepstudy) expect_equal(predict(fm6,sleepstudy[1,]),fitted(fm6)[1]) ## GH #414: no warning about dropping contrasts on random effects op <- options(warn = 2) # there should be no warnings! set.seed(1) dat <- data.frame( fac = factor(rep(c("a", "b"), 100)), grp = rep(1:25, each = 4)) dat$y <- 0 contr <- 0.5 * contr.sum(2) rownames(contr) <- c("a", "b") colnames(contr) <- "a" contrasts(dat$fac) <- contr m1_contr <- lmer(y~fac+(fac|grp),dat) pp <- predict(m1_contr,newdata=dat) options(op) }) ## testLevel>1 test_that("simulate", { ## simulate() will look for data in environment of formula, find ## unmodified version of cbpp -- need to re-add observation-level factor ee <- environment(formula(gm2)) ee$cbpp$obs <- factor(seq(nrow(ee$cbpp))) expect_is(simulate(gm2), "data.frame") expect_warning(simulate(gm2, ReForm = NA), "is deprecated") expect_warning(simulate(gm2, REForm = NA), "is deprecated") p1 <- simulate(gm2, re.form = NULL, seed = 101) p2 <- simulate(gm2, re.form = ~0, seed = 101) p3 <- simulate(gm2, re.form = NA, seed = 101) p4 <- simulate(gm2, re.form = NULL, seed = 101) expect_warning(p5 <- simulate(gm2, ReForm = ~0, seed = 101), "is deprecated") p6 <- simulate(gm2, re.form = NA, seed = 101) expect_warning(p7 <- simulate(gm2, REForm = NULL, seed = 101), "is deprecated") p8 <- simulate(gm2, re.form = ~0, seed = 101) p9 <- simulate(gm2, re.form = NA, seed = 101) p10 <- simulate(gm2,use.u = FALSE, seed = 101) p11 <- simulate(gm2,use.u = TRUE, seed = 101) ## minimal check of content: expect_identical(colSums(p1[,1]), c(incidence = 95, 747)) expect_identical(colSums(p2[,1]), c(incidence = 109, 733)) ## equivalences: ## group ~0: expect_equal(p2,p3) expect_equal(p2,p5) expect_equal(p2,p6) expect_equal(p2,p8) expect_equal(p2,p9) expect_equal(p2,p10) ## group 1: expect_equal(p1,p4) expect_equal(p1,p7) expect_equal(p1,p11) expect_error(simulate(gm2,use.u = TRUE, re.form = NA), "should specify only one") ## ## hack: test with three REs p1 <- lmer(diameter ~ (1|plate) + (1|plate) + (1|sample), Penicillin, control = lmerControl(check.conv.hess = "ignore", check.conv.grad = "ignore")) expect_is(sp1 <- simulate(p1, seed=123), "data.frame") expect_identical(dim(sp1), c(nrow(Penicillin), 1L)) expect_equal(fivenum(sp1[,1]), c(20.864, 22.587, 23.616, 24.756, 28.599), tolerance=0.01) ## Pixel example expect_identical(dim(simulate(fmPixS)), c(nPix, 1L)) expect_identical(dim(simulate(fmPix )), c(nPix, 1L)) ## simulation with newdata smaller/larger different from original fm <- lmer(diameter ~ 1 + (1|plate) + (1|sample), Penicillin) expect_is(simulate(fm,newdata=Penicillin[1:10,],allow.new.levels=TRUE),"data.frame") expect_is(simulate(fm,newdata=do.call(rbind,replicate(4,Penicillin,simplify=FALSE))),"data.frame") ## negative binomial sims set.seed(101) dd <- data.frame(f=factor(rep(1:10,each=20)), x=runif(200), y=rnbinom(200,size=2,mu=2)) g1 <- glmer.nb(y ~ x + (1|f), data=dd) th.g1 <- getME(g1, "glmer.nb.theta") ## changed to setting seed internally ts1 <- table(s1 <- simulate(g1,seed=101)[,1]) ## ts1B <- table(s1 <- simulate(g1,seed=101)[,1]) expect_equal(fixef(g1), c("(Intercept)" = 0.630067, x = -0.0167248), tolerance = 1e-4) ## ?? Travis is getting hung up here/ignoring tolerance spec?? expect_equal(th.g1, 2.013, tolerance = 1e-4) expect_equal(th.g1, g1@call$family[["theta"]])# <- important for pkg{effects} eval() expect_identical(sum(s1), 413) expect_identical(as.vector(ts1[as.character(0:5)]), ## c(51L, 54L, 36L, 21L, 14L, 9L)) c(49L,56L,32L,25L,11L,9L)) ## de novo NB simulation ... s2 <- simulate(~x + (1|f),seed=101, family=MASS::negative.binomial(theta=th.g1), newparams=getME(g1,c("theta","beta")), newdata=dd)[,1] expect_equal(s1,s2) ## Simulate with newdata with *new* RE levels: d <- sleepstudy[-1] # droping the response ("Reaction") ## d$Subject <- factor(rep(1:18, each=10)) ## Add 18 new subjects: d <- rbind(d, d) d$Subject <- factor(rep(1:36, each=10)) d$simulated <- simulate(fm1, seed=1, newdata = d, re.form=NULL, allow.new.levels = TRUE)[,1] expect_equal(mean(d$simulated), 299.9384608) ## Simulate with weights: newdata <- with(cbpp, expand.grid(period=unique(period), herd=unique(herd))) ss <- simulate(gm1, newdata=newdata[1:3,], weights=20, seed=101)[[1]] expect_equal(ss, matrix(c(4,2,0,16,18,20),nrow=3, dimnames=list(NULL,c("incidence","")))) ss <- simulate(gm3, newdata=newdata[1:3,], weights=20, seed=101)[[1]] expect_equal(ss,c(0.2,0.1,0.0)) ss <- simulate(gm1, newdata=newdata[1,], weights=20, seed=101)[[1]] expect_equal(unname(ss),matrix(c(4,16),nrow=1)) ## simulate Gamma, from function and de novo set.seed(102) dd <- data.frame(x=rep(seq(-2,2,length=15),10), f=factor(rep(1:10,each=15))) u <- rnorm(10) dd$y <- with(dd, rgamma(nrow(dd),shape=2, scale=exp(2+1*x+u[as.numeric(f)])/2)) g1 <- glmer(y~x+(1|f),family=Gamma(link="log"),dd) s1 <- simulate(g1,seed=101) s2 <- suppressMessages(simulate(~x+(1|f), family=Gamma(link="log"), seed=101, newdata=dd, newparams=getME(g1,c("theta","beta","sigma")))) expect_equal(s1,s2) dd$y2 <- s2[[1]] g2 <- glmer(y2~x+(1|f),family=Gamma(link="log"),dd) expect_equal(fixef(g2), tolerance = 4e-7, # 32-bit windows showed 1.34e-7 c("(Intercept)" = 2.81887136759369, x= 1.06543222163626)) ## simulate with re.form = NULL and derived/offset components in formula fm7 <- lmer(Reaction ~ Days + offset(Days) + (1|Subject), sleepstudy) s7 <- simulate(fm7, seed = 101, re.form = NULL) ## thought this would break but it doesn't ??? f_wrap <- function() { Reaction ~ Days + offset(Days) + (1|Subject) } fm8 <- lmer(f_wrap(), sleepstudy) s8 <- simulate(fm8, seed = 101, re.form = NULL) expect_identical(s7, s8) ## harder: insert NA values in the offset and see if it handles this OK?? }) context("misc") test_that("misc", { expect_equal(df.residual(fm1),176) if (suppressWarnings(require(ggplot2))) { ## ggplot calls sample() [for silly start-up messages ## throws warning because we're using backward-compatible RNGkind expect_is(fortify.merMod(fm1), "data.frame") expect_is(fortify.merMod(gm1), "data.frame") } expect_is(as.data.frame(VarCorr(fm1)), "data.frame") }) } ## testLevel>1 context("plot") test_that("plot", { ## test getData() within plot function: reported by Dieter Menne doFit <- function(){ data(Orthodont,package = "nlme") data1 <- Orthodont lmer(distance ~ age + (age|Subject), data = data1) } data(Orthodont, package = "nlme") fm0 <- lmer(distance ~ age + (age|Subject), data = Orthodont) expect_is(plot(fm0), "trellis") suppressWarnings(rm("Orthodont")) fm <- doFit() pp <- plot(fm, resid(., scaled = TRUE) ~ fitted(.) | Sex, abline = 0) expect_is(pp, "trellis") ## test qqmath/getIDLabels() expect_is(q1 <- lattice::qqmath(fm,id=0.05),"trellis") cake2 <- transform(cake,replicate=as.numeric(replicate), recipe=as.numeric(recipe)) fm2 <- lmer(angle ~ recipe + temp + (1|recipe:replicate), cake2, REML= FALSE) expect_is(lattice::qqmath(fm2, id=0.05), "trellis") expect_is(lattice::qqmath(fm2, id=0.05, idLabels=~recipe), "trellis") expect_warning(lattice::qqmath(fm2, 0.05, ~recipe), "please specify") expect_warning(lattice::qqmath(fm2, 0.05), "please specify") }) context("misc") test_that("summary", { ## test that family() works when $family element is weird ## FIXME: is convergence warning here a false positive? gnb <- suppressWarnings(glmer(TICKS~1+(1|BROOD), family=MASS::negative.binomial(theta=2), data=grouseticks)) expect_is(family(gnb),"family") }) if (testLevel>1) { context("profile") test_that("profile", { ## FIXME: can we deal with convergence warning messages here ... ? ## fit profile on default sd/cor scale ... p1 <- suppressWarnings(profile(fm1,which="theta_")) ## and now on var/cov scale ... p2 <- suppressWarnings(profile(fm1,which="theta_", prof.scale="varcov")) ## because there are no correlations, squaring the sd results ## gives the same result as profiling on the variance scale ## in the first place expect_equal(confint(p1)^2,confint(p2), tolerance=1e-5) ## or via built-in varianceProf() function expect_equal(unname(confint(varianceProf(p1))), unname(confint(p2)), tolerance=1e-5) p3 <- profile(fm2,which=c(1,3,4)) p4 <- suppressWarnings(profile(fm2,which="theta_",prof.scale="varcov", signames=FALSE)) ## compare only for sd/var components, not corr component ## FAILS on r-patched-solaris-x86 2018-03-30 ??? ## 2/6 mismatches (average diff: 4.62) ## [1] 207 - 216 == -9.23697 ## [4] 1422 - 1422 == -0.00301 if (Sys.info()["sysname"] != "SunOS") { expect_equal(unname(confint(p3)^2), unname(confint(p4)[c(1,3,4),]), tolerance=1e-3) } ## check naming convention properly adjusted expect_equal(as.character(unique(p4$.par)), c("var_(Intercept)|Subject", "cov_Days.(Intercept)|Subject", "var_Days|Subject", "sigma")) }) test_that("densityplot is robust", { p <- readRDS(system.file("testdata","harmel_profile.rds", package="lme4")) expect_warning(lattice::densityplot(p), "unreliable profiles for some variables") }) } ## testLevel>1 context("model.frame") test_that("model.frame", { ## non-syntactic names d <- sleepstudy names(d)[1] <- "Reaction Time" ee <- function(m,nm) { expect_equal(names(model.frame(m, fixed.only=TRUE)),nm) } m <- lmer(Reaction ~ 1 + (1 | Subject), sleepstudy) ee(m,"Reaction") m2 <- lmer(Reaction ~ Days + (1 | Subject), sleepstudy) ee(m2,c("Reaction","Days")) m3 <- lmer(`Reaction Time` ~ Days + (1 | Subject), d) ee(m3, c("Reaction Time","Days")) m4 <- lmer(Reaction ~ log(1+Days) + (1 | Subject), sleepstudy) ee(m4, c("Reaction","log(1 + Days)")) }) context("influence measures") d <- as.data.frame(ChickWeight) colnames(d) <- c("y", "x", "subj", "tx") dNAs <- d dNAs$y[c(1, 3, 5)] <- NA fitNAs <- lmer(y ~ tx*x + (x | subj), data = dNAs, na.action=na.exclude) test_that("influence/hatvalues works", { ifm1 <- influence(fm1, do.coef=FALSE) expect_equal(unname(head(ifm1$hat)), c(0.107483311203734, 0.102096105816528, 0.0980557017761242, 0.0953620990825215, 0.0940152977357202, 0.0940152977357202), tolerance=1e-6) expect_equal(nrow(dNAs),length(hatvalues(fitNAs))) }) test_that("influence OK with tibbles", { if (requireNamespace("tibble")) { ## make small data set/example so influence() isn't too slow ... ss <- tibble::as_tibble(sleepstudy[1:60,]) smallfit <- lmer(Reaction ~ 1 + (1 | Subject), data = ss) i1 <- influence(smallfit, ncores = 1) expect_equal(head(i1[["fixed.effects[-case]"]]), structure(c(286.35044481665, 286.179896199062, 286.327301507498, 285.014692121823, 284.36060419176, 283.297551183126), dim = c(6L, 1L), dimnames = list(c("1", "2", "3", "4", "5", "6"), "(Intercept)")), tolerance = 1e-6) } }) test_that("rstudent", { rfm1 <- rstudent(fm1) expect_equal(unname(head(rfm1)), c(-1.45598270922089, -1.49664543508657, -2.11747425025103, -0.0729690066951975, 0.772716397142335, 2.37859408861768), tolerance=1e-6) expect_equal(nrow(dNAs),length(rstudent(fitNAs))) }) test_that("cooks distance", { expect_equal( unname(head(cooks.distance(fm1))), c(0.127645976734753, 0.127346548123793, 0.243724627125036, 0.000280638917214881, 0.0309804642689636, 0.293554225380831), tolerance=1e-6) expect_equal(nrow(dNAs),length(cooks.distance(fitNAs))) }) test_that("cooks distance on subject-level influence", { ifm1S <- influence(fm1, "Subject", ncores=1) expect_equal( unname(head(cooks.distance(ifm1S),2)), c(0.33921460279262, 0.290309061006305), tolerance = 1e-6) }) test_that("cooks distance on glmer models", { inf <- influence(gm1) inf.h <- influence(gm1, "herd", ncores=1) cook <- cooks.distance(inf) expect_equal(unname(head(cook, 3)), c(0.0532998800033037, 0.0405931172763581, 0.252608337928438), tolerance = 1e-6) cook.h <- cooks.distance(inf.h) expect_equal(unname(head(cook.h, 3)), c(0.256630560723611, 0.00525856231971531, 0.103355658099396), tolerance = 1e-6) }) ## tweaked example so estimated var = 0 zerodat <- data.frame(x=seq(0,1,length.out=120), f=rep(1:3,each=40)) zerodat$y1 <- simulate(~x+(1|f), family=gaussian, seed=102, newparams=list(beta=c(1,1), theta=c(0.001), sigma=1), newdata=zerodat)[[1]] zerodat$y2 <- simulate(~x+(1|f), family=poisson, seed=102, newparams=list(beta=c(1,1), theta=c(0.001)), newdata=zerodat)[[1]] test_that("rstudent matches for zero-var cases", { lmer_zero <- lmer(y1~x+(1|f), data=zerodat) glmer_zero <- glmer(y2~x+(1|f),family=poisson, data=zerodat) lm_zero <- lm(y1~x, data=zerodat) glm_zero <- glm(y2~x,family=poisson, data=zerodat) expect_equal(suppressWarnings(rstudent(glmer_zero)), rstudent(glm_zero), tolerance=0.01) expect_equal(suppressWarnings(rstudent(lmer_zero)), rstudent(lm_zero),tolerance=0.01) }) if (testLevel>1) { ## n.b. influence() doesn't work under system.time(); ## weird evaluation stuff ? ## FIXME: work on timing some more i1 <- influence(fm1, ncores=1) test_that("full version of influence", { expect_equal(c(head(i1[["fixed.effects[-case]"]],1)), c(252.323536264131, 10.3222704729148)) }) cd <- cooks.distance(i1) expect_equal(unname(head(cd,2)), c(0.016503344184025, 0.0106634053477361)) if (parallel::detectCores() > 1) { test_that("parallel influence", { i2 <- suppressMessages(influence(fm1, ncores=2)) ## if (packageVersion("Matrix") != "1.4.2") ## fow now,as they differ str(i1) str(i2) print(all.equal(i2, i2)) # to see diff # expect_equal(i1, i2) ## <<<<-------------- FAILS (4 MM) }) } } ## car method testing: influence timing with ncores > 1 ... ## car version 3.0.10. ## L <- load(system.file("testdata", "lme-tst-fits.rda", ## package="lme4", mustWork=TRUE)) ## data("sleepstudy", package="lme4") ## library(lme4) ## library(car) ## WANT warning about S3 method overwrite ... ## fm1 <- fit_sleepstudy_1 ## library(pracma) ## because system.time() is weird ## tic(); i1 <- influence(fm1); toc() ## 2+ seconds ## tic(); i2 <- influence(fm1, ncores=8); toc() ## 3.4 seconds test_that("influence with nAGQ=0", { gm1Q0 <- update(gm1, nAGQ=0) expect_is(influence(gm1Q0), "influence.merMod") }) if (testLevel > 1) withAutoprint({ test_that("cook's distance comparison", { ## generate data with zero variance set.seed(101) n <- 50 dd <- data.frame(x = rnorm(n), f = factor(rep(1:2, each = n/2))) suppressMessages(dd$y <- simulate(~ x + (1|f), newdata = dd, newparams = list(beta = c(2,2), theta = 0, sigma = 5), family = gaussian)[[1]]) (fm2 <- lmer(y~x + (1|f), dd, REML = FALSE)) (fm2L <- lm(y~x , dd)) i2 <- influence(fm2) ## hatvalues version does **not** match exactly ... expect_equal(cooks.distance(i2), cooks.distance(fm2L)) expect_equal(cooks.distance(fm2), cooks.distance(fm2L), tolerance = 1e-2) }) }) ## testLevel > 1 lme4/tests/testthat/test-lmList.R0000644000176200001440000001730514630365604016476 0ustar liggesuserslibrary(lme4) library(testthat) ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } context("lmList") test_that("basic lmList", { set.seed(17) fm1. <- lmList(Reaction ~ Days | Subject, sleepstudy, pool=FALSE) fm1 <- lmList(Reaction ~ Days | Subject, sleepstudy) cf.fm1 <- data.frame( `(Intercept)` = c(244.19267, 205.05495, 203.48423, 289.68509, 285.73897, 264.25161, 275.01911, 240.16291, 263.03469, 290.10413, 215.11177, 225.8346, 261.14701, 276.37207, 254.96815, 210.44909, 253.63604, 267.0448), Days = c(21.764702, 2.2617855, 6.1148988, 3.0080727, 5.2660188, 9.5667679, 9.1420455, 12.253141, -2.8810339, 19.025974, 13.493933, 19.504017, 6.4334976, 13.566549, 11.348109, 18.056151, 9.1884448, 11.298073)) expect_equal(signif(coef(fm1), 8), cf.fm1, tolerance = 1e-7, check.attributes=FALSE) expect_equal(coef(fm1.), coef(fm1)) expect_true(inherits(formula(fm1), "formula")) ## <- had been wrong till 2015-04-09 sm1. <- summary(fm1.) sm1 <- summary(fm1) expect_equal(sm1$RSE, 25.5918156267, tolerance = 1e-10) cf1 <- confint(fm1) ## Calling the plot.lmList4.confint() method : expect_true(inherits(pcf1 <- plot(cf1), "trellis")) }) test_that("orthodont", { data(Orthodont, package="nlme") fm2 <- lmList(distance ~ age | Subject, Orthodont) fe2 <- fixef(fm2) expect_equal(fe2, c("(Intercept)" = 16.7611111111111, age = 0.660185185185185)) expect_true(inherits(pairs(fm2), "trellis")) }) test_that("simulated", { set.seed(12) d <- data.frame( g = sample(c("A","B","C","D","E"), 250, replace=TRUE), y1 = runif(250, max=100), y2 = sample(c(0,1), 250, replace=TRUE) ) fm3.1 <- lmList(y1 ~ 1 | g, data=d) expect_equal(coef(fm3.1), structure(list(`(Intercept)` = c(45.8945525606396, 50.1127995110841, 49.5320538515225, 52.4286874305165, 48.7716343882989)), .Names = "(Intercept)", row.names = c("A", "B", "C", "D", "E"), class = "data.frame", label = "Coefficients", effectNames = "(Intercept)", standardized = FALSE)) cf31 <- confint(fm3.1) expect_true(inherits(plot(cf31), "trellis")) fm3.2 <- lmList(y2 ~ 1 | g, data=d, family=binomial) ## ^^^^^^^^ "glmList" cf32 <- suppressMessages(confint(fm3.2,quiet=TRUE)) expect_identical(dim(cf32), c(5L,2:1)) expect_true(inherits(plot(cf32), "trellis")) expect_equal(unname(getDataPart(signif(drop(cf32), 6))), cbind(c(-0.400041, -0.311489, -1.07774, -0.841075, -0.273828), c( 0.743188, 0.768538, 0.0723138, 0.274392, 0.890795))) }) test_that("cbpp", { ## "glmList" (2) -- here, herd == 8 has only one observation => not estimable expect_warning(fm4 <- lmList(cbind(incidence, size - incidence) ~ period | herd, family=binomial, data=cbpp), "Fitting failed for ") cf4 <- coef(fm4) # with some 5 NA's ## match NA locations expect_equal(dim(cf4),c(15,4)) expect_identical(which(is.na(cf4)), sort(as.integer(c(8+15*(0:3), 47)))) expect_warning(fm4B <- lme4::lmList(incidence ~ period | herd, data=cbpp), "Fitting failed") if(FALSE) { ## FIXME: this is actually an nlme bug ... ## https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16542 try(summary(fm4)) ## Error in `[<-`(`*tmp*`, use, use, ii, value = lst[[ii]]) : ## subscript out of bounds library(nlme) data("cbpp",package="lme4") fm6 <- nlme::lmList(incidence ~ period | herd, data=cbpp) try(coef(fm6)) ## coef does *not* work here try(summary(fm6)) ## this is a slightly odd example because the residual df from ## these fits are in fact zero ... so pooled.SD fails, as it should } }) test_that("NA,weights,offsets", { ## from GH #320 set.seed(101) x <- 1:8 y <- c(2,2,5,4,3,1,2,1) g <- c(1,1,1,2,2,3,3,3) dat <- data.frame(x=x, y=y, g=g) m1 <- lmList(y ~ x | g, data=dat) expect_false(any(is.na(coef(m1)))) w <- runif(nrow(sleepstudy)) m2 <- lmList(Reaction ~ Days | Subject, weights=w, sleepstudy) ss <- subset(sleepstudy,Subject==levels(Subject)[1]) m2X <- lm(Reaction ~ Days, ss, weights=w[1:nrow(ss)]) expect_equal(coef(m2X),as.matrix(coef(m2))[1,]) m3 <- lmList(Reaction ~ Days | Subject, sleepstudy) m4 <- lmList(Reaction ~ Days | Subject, offset=w, sleepstudy) m4X <- lm(Reaction ~ Days, ss, offset=w[1:nrow(ss)]) expect_equal(coef(m4X),as.matrix(coef(m4))[1,]) expect_false(identical(m2,m3)) expect_false(identical(m4,m3)) m5 <- lmList(Reaction ~ Days + offset(w) | Subject, sleepstudy) expect_equal(coef(m5),coef(m4)) ## more from GH 320 dat2 <- data.frame(dat,xx=c(NA,NA,NA,1:4,NA)) m5 <- lmList(y ~ x | g, data=dat2) expect_equal(unlist(coef(m5)[1,]), coef(lm(y~x,subset=(g==1)))) expect_equal(unlist(coef(m5)[3,]), coef(lm(y~x,subset=(g==3)))) }) test_that("pooled", { ## GH #26 fm_lme4 <- lme4:::lmList(Reaction ~ Days | Subject, sleepstudy) fm_nlme <- nlme:::lmList(Reaction ~ Days | Subject, sleepstudy) fm_nlme_nopool <- nlme:::lmList(Reaction ~ Days | Subject, sleepstudy, pool=FALSE) ci_lme4_pooled <- confint(fm_lme4,pool=TRUE) #get low and high CI estimates and pooled sd ci_nlme_pooled <- nlme:::intervals(fm_nlme,pool=TRUE) expect_equal(unname(ci_lme4_pooled[,,1]),unname(ci_nlme_pooled[,c(1,3),1])) ci_lme4_nopool1 <- confint(fm_lme4,pool=FALSE) ci_lme4_nopool2 <- confint(fm_lme4) expect_identical(ci_lme4_nopool1,ci_lme4_nopool2) ## BUG in nlme::intervals ... ? can't get CIs on unpooled fits ## nlme::intervals(fm_nlme,pool=FALSE) ## nlme::intervals(fm_nlme_nopool) expect_equal(ci_lme4_nopool1[1:3,,1], structure(c(179.433862895996, 193.026448122379, 186.785722998616, 308.951475285822, 217.083442786712, 220.182727910474), .Dim = c(3L, 2L), .Dimnames = list(c("308", "309", "310"), c("2.5 %", "97.5 %")))) }) test_that("derived variables", { fm_lme4 <- lme4:::lmList(log(Reaction) ~ Days | Subject, sleepstudy) fm_nlme <- nlme:::lmList(log(Reaction) ~ Days | Subject, sleepstudy) expect_equal(c(coef(fm_lme4)),c(coef(fm_nlme)),tolerance=1e-5) }) test_that("subset", { data(MathAchieve, package="nlme") data(MathAchSchool, package="nlme") RB <- merge(MathAchieve, MathAchSchool[, c("School", "Sector")], by="School") names(RB) <- tolower(names(RB)) RB$cses <- with(RB, ses - meanses) cat.list.nlme <- nlme::lmList(mathach ~ cses | school, subset = sector=="Catholic", data=RB) cat.list.lme4 <- lme4::lmList(mathach ~ cses | school, subset = sector=="Catholic", data=RB) expect_equal(c(coef(cat.list.lme4)), c(coef(cat.list.nlme)),tolerance=1e-5) }) if (requireNamespace("tibble")) { test_that("avoid tibble warnings", { ## GH 645 op <- options(warn = 2) m1 <- lmList(Reaction ~ Days | Subject, data = sleepstudy) m2 <- lmList(Reaction ~ Days | Subject, data = tibble::as_tibble(sleepstudy)) expect_identical(coef(m1), coef(m2)) options(op) }) } lme4/tests/testthat/test-nbinom.R0000644000176200001440000001042314630365604016506 0ustar liggesuserslibrary("lme4") library("testthat") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 set.seed(101) dd <- expand.grid(f1 = factor(1:3), f2 = LETTERS[1:2], g=1:9, rep=1:15, KEEP.OUT.ATTRS=FALSE) mu <- 5*(-4 + with(dd, as.integer(f1) + 4*as.numeric(f2))) dd$y <- rnbinom(nrow(dd), mu = mu, size = 0.5) ## mimic glmer.nb protocol if (testLevel>1) { test_that("most messages suppressed", { expect_message(glmer.nb(y ~ f1 + (1|g), data=dd[1:10,]), "singular") }) test_that("ok with negative.binomial masking", { negative.binomial <- function() {} ## use shortened version of data for speed ... m.base <- glmer.nb(y ~ f1 + (1|g), data=dd[1:200,]) expect_is(m.base,"merMod") }) test_that("ok with Poisson masking", { poisson <- NA ## use shortened version of data for speed ... m.base <- glmer.nb(y ~ f1 + (1|g), data=dd[1:200,]) expect_is(m.base,"merMod") rm(poisson) }) if (testLevel>2) { context("testing glmer refit") test_that("glmer refit", { ## basic Poisson fit m.base <- glmer(y ~ f1*f2 + (1|g), data=dd, family=poisson) expect_equal(m.base@beta,(m.base.r <- refit(m.base))@beta, tolerance = 1e-5) th <- lme4:::est_theta(m.base,limit=20,eps=1e-4,trace=FALSE) th0 <- structure(0.482681268108477, SE = 0.0244825021248148) th1 <- structure(0.482681277470945) th2 <- 0.482681268108477 th3 <- 0.4826813 ## NB update with raw number m.numth1 <- update(m.base,family=MASS::negative.binomial(theta=0.4826813)) expect_equal(m.numth1@beta,(m.numth1.r <- refit(m.numth1))@beta) ## strip NB value m.symth4 <- update(m.base,family=MASS::negative.binomial(theta=c(th))) expect_equal(m.symth4@beta,(m.symth4.r <- refit(m.symth4))@beta) ## IDENTICAL numeric value to case #1 above m.symth6 <- update(m.base,family=MASS::negative.binomial(theta=th3)) expect_equal(m.symth6@beta,(m.symth6.r <- refit(m.symth6))@beta) ## standard NB update with computed theta from est_theta (incl SE attribute) m.symth <- update(m.base,family=MASS::negative.binomial(theta=th)) expect_equal(m.symth@beta,(m.symth.r <- refit(m.symth))@beta) ## NB update with equivalent value m.symth2 <- update(m.base,family=MASS::negative.binomial(theta=th0)) expect_equal(m.symth2@beta,(m.symth2.r <- refit(m.symth2))@beta) ## NB update with theta value (stored as variable, no SE) only m.symth3 <- update(m.base,family=MASS::negative.binomial(theta=th1)) expect_equal(m.symth3@beta,(m.symth3.r <- refit(m.symth3))@beta) ## strip NB value (off by 5e-16) m.symth5 <- update(m.base,family=MASS::negative.binomial(theta=th2)) expect_equal(m.symth5@beta,(m.symth5.r <- refit(m.symth5))@beta) }) ## GH #399 test_that("na_exclude", { dd1 <- dd[1:200,] dd1$f1[1:5] <- NA expect_error(glmer.nb(y ~ f1 + (1|g), data=dd1, na.action=na.fail), "missing values in object") m1 <- glmer.nb(y ~ f1 + (1|g), data=dd1, na.action=na.omit) m2 <- glmer.nb(y ~ f1 + (1|g), data=dd1, na.action=na.exclude) expect_equal(fixef(m1),fixef(m1)) expect_equal(length(predict(m2))-length(predict(m1)),5) }) ## GH 423 test_that("start_vals", { dd1 <- dd[1:200,] g1 <- glmer.nb(y ~ f1 + (1|g), data=dd1) g2 <- glmer.nb(y ~ f1 + (1|g), data=dd1, initCtrl=list(theta=getME(g1,"glmer.nb.theta"))) expect_equal(fixef(g1),fixef(g2),tol=1e-5) }) test_that("control arguments", { dd1 <- dd[1:200,] g1 <- glmer.nb(y ~ f1 + (1|g), data=dd1, initCtrl=list(theta=10)) expect_is(g1,"merMod") ## dumb test - just checking for run w/o error suppressWarnings(g1 <- glmer.nb(y ~ f1 + (1|g), data=dd1, nb.control=glmerControl(optimizer="bobyqa"))) expect_equal(g1@optinfo$optimizer, "bobyqa") suppressWarnings(g1 <- glmer.nb(y ~ f1 + (1|g), data=dd1, nb.control=glmerControl(optCtrl=list(maxfun=2)))) expect_equal(g1@optinfo$feval,3) }) } ## testLevel>2 } ## testLevel>1 lme4/tests/testthat/test-glmFamily.R0000644000176200001440000001177414630365604017157 0ustar liggesuserslibrary("testthat") library("lme4") eps <- .Machine$double.eps oneMeps <- 1 - eps set.seed(1) ## sample linear predictor values for the unconstrained families etas <- list(seq.int(-8, 8, by=1), # equal spacing to asymptotic area runif(17, -8, 8), # random sample from wide uniform dist rnorm(17, 0, 8), # random sample from wide normal dist c(-10^30, rnorm(15, 0, 4), 10^30)) ## sample linear predictor values for the families in which eta must be positive etapos <- list(seq.int(1, 20, by=1), rexp(20), rgamma(20, 3), pmax(.Machine$double.eps, rnorm(20, 2, 1))) ## values of mu in the (0,1) interval mubinom <- list(runif(100, 0, 1), rbeta(100, 1, 3), pmin(pmax(eps, rbeta(100, 0.1, 3)), oneMeps), pmin(pmax(eps, rbeta(100, 3, 0.1)), oneMeps)) context("glmFamily linkInv and muEta") test_that("inverse link and muEta functions", { tst.lnki <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$linkinv(x), equals(ff$linkInv(x)))) } tst.muEta <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$mu.eta(x), equals(ff$muEta(x)))) } tst.lnki(binomial(), etas) # binomial with logit link tst.muEta(binomial(), etas) tst.lnki(binomial("probit"), etas) # binomial with probit link tst.muEta(binomial("probit"), etas) tst.lnki(binomial("cloglog"), etas) # binomial with cloglog link tst.muEta(binomial("cloglog"), etas) tst.lnki(binomial("cauchit"), etas) # binomial with cauchit link tst.muEta(binomial("cauchit"), etas) tst.lnki(poisson(), etas) # Poisson with log link tst.muEta(poisson(), etas) tst.lnki(gaussian(), etas) # Gaussian with identity link tst.muEta(gaussian(), etas) tst.lnki(Gamma(), etapos) # gamma family tst.muEta(Gamma(), etapos) tst.lnki(inverse.gaussian(), etapos) # inverse Gaussian tst.muEta(inverse.gaussian(), etapos) }) context("glmFamily linkFun and variance") test_that("link and variance functions", { tst.link <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$linkfun(x), equals(ff$link(x)))) } tst.variance <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$variance(x), equals(ff$variance(x)))) } tst.link( binomial(), mubinom) tst.variance(binomial(), mubinom) tst.link( binomial("probit"), mubinom) tst.link( binomial("cauchit"), mubinom) tst.link( gaussian(), etas) tst.variance(gaussian(), etas) tst.link( Gamma(), etapos) tst.variance(Gamma(), etapos) tst.link( inverse.gaussian(), etapos) tst.variance(inverse.gaussian(), etapos) tst.variance(MASS::negative.binomial(1), etapos) tst.variance(MASS::negative.binomial(0.5), etapos) tst.link( poisson(), etapos) tst.variance(poisson(), etapos) }) context("glmFamily devResid and aic") test_that("devResid and aic", { tst.devres <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) { nn <- length(x) wt <- rep.int(1, nn) n <- wt y <- switch(fam$family, binomial = rbinom(nn, 1L, x), gaussian = rnorm(nn, x), poisson = rpois(nn, x), error("Unknown family")) dev <- ff$devResid(y, x, wt) expect_that(fam$dev.resids(y, x, wt), equals(dev)) dd <- sum(dev) expect_that(fam$aic(y, n, x, wt, dd), equals(ff$aic(y, n, x, wt, dd))) }) } tst.devres(binomial(), mubinom) tst.devres(gaussian(), etas) tst.devres(poisson(), etapos) }) context("negative binomial") test_that("variance", { tst.variance <- function(fam, frm) { ff <- glmFamily$new(family=fam) sapply(frm, function(x) expect_that(fam$variance(x), equals(ff$variance(x)))) } tst.variance(MASS::negative.binomial(1.), etapos) nb1 <- MASS::negative.binomial(1.) cppnb1 <- glmFamily$new(family=nb1) expect_that(cppnb1$theta(), equals(1)) nb2 <- MASS::negative.binomial(2.) cppnb1$setTheta(2) sapply(etapos, function(x) expect_that(cppnb1$variance(x), equals(nb2$variance(x)))) bfam <- glmFamily$new(family=binomial()) if (FALSE) { ## segfaults on MacOS mavericks 3.1.0 ... ?? expect_error(bfam$theta())#, "theta accessor applies only to negative binomial") expect_error(bfam$setTheta(2))#, "setTheta applies only to negative binomial") } }) lme4/tests/testthat/test-start.R0000644000176200001440000000645514630365604016373 0ustar liggesuserslibrary("testthat") library("lme4") context("specifying starting values") ##' Update 'mod', copying .@call and attr(.@frame, "start") from 'from' copysome <- function(mod, from) { stopifnot(all.equal(class(mod), class(from)), isS4(mod)) mod@call <- from@call attr(mod@frame, "start") <- attr(from@frame, "start") mod } ## is "Nelder_Mead" default optimizer? isNM <- formals(lmerControl)$optimizer == "Nelder_Mead" stMsg <- "'start' must be .* a numeric vector .* list" test_that("lmer", { frm <- Reaction ~ Days + (Days|Subject) ctrl <- lmerControl(optCtrl = list(maxfun= if(isNM) 50 else 100)) x <- suppressWarnings(lmer(frm, data=sleepstudy, control=ctrl, REML=FALSE)) x2 <- suppressWarnings(update(x,start=c(1,0,1))) x3 <- suppressWarnings(update(x,start=list(theta=c(1,0,1)))) ff <- update(x,devFunOnly=TRUE) x2@call <- x3@call <- x@call ## hack call component expect_equal(x,x2) expect_equal(x,x3) ## warning on deprecated list ... suppressWarnings(expect_error(update(x, start = "a"), stMsg)) ## misspelled suppressWarnings( expect_error(update(x,start=list(Theta=c(1,0,1))),"incorrect components") ) th0 <- getME(x,"theta") y <- suppressWarnings(update(x,start=th0)) if(isNM) { expect_equal(AIC(x), 1768.025, tolerance=1e-6) expect_equal(AIC(y), 1763.949, tolerance=1e-6) } else { ## only "bobyqa" tested: expect_equal(AIC(x), 1763.939344, tolerance=1e-6) expect_equal(AIC(x), AIC(y)) } if(isNM) expect_equal(suppressWarnings(optimizeLmer(ff,control=list(maxfun=50), start=c(1,0,1))$fval), unname(deviance(x))) expect_equal(suppressWarnings(optimizeLmer(ff,control=list(maxfun=50), start=th0)$fval), unname(deviance(y))) }) test_that("glmer", { ctrl <- glmerControl(optCtrl=list(maxfun=50)) # -> non-convergence warnings x <- suppressWarnings(glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial, control=ctrl)) ## theta only x2 <- suppressWarnings(update(x, start= 1)) x3 <- suppressWarnings(update(x, start= list(theta = 1))) ff <- update(x,devFunOnly=TRUE) x2@call <- x3@call <- x@call ## hack call component expect_equal(x,x2) expect_equal(x,x3) expect_error(update(x, start="a"), stMsg) expect_error(update(x, start=list(Theta=1)), "bad name\\(s\\)") th0 <- getME(x,"theta") y <- suppressWarnings(update(x, start=th0)) # expect_equal() fails: optinfo -> derivs -> Hessian ## theta and beta x0 <- update(x,nAGQ=0) x4 <- suppressWarnings(update(x, start = list(theta=1, fixef=fixef(x0)))) expect_equal(x, copysome(x4, from=x)) x5 <- suppressWarnings(update(x, start = list(theta=1, fixef=rep(0,4)))) expect_equal(AIC(x5), 221.5823, tolerance=1e-6) x6 <- expect_error(suppressWarnings(update(x, start = list(theta=1, fixef=rep(0,5))), "incorrect number of fixef components")) ## beta only x7 <- suppressWarnings(update(x,start=list(fixef=fixef(x0)))) expect_equal(x, copysome(x7, from=x)) x8 <- suppressWarnings(update(x,start=list(fixef=rep(0,4)))) expect_equal(x5, copysome(x8, from=x5)) }) lme4/tests/testthat/test-lmer.R0000644000176200001440000004455614630365604016201 0ustar liggesusersstopifnot(require("testthat"), require("lme4")) ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } context("fitting lmer models") ## is "Nelder_Mead" default optimizer? -- no longer (isNM <- formals(lmerControl)$optimizer == "Nelder_Mead") test_that("lmer", { set.seed(101) d <- data.frame(z=rnorm(200), f=factor(sample(1:10,200, replace=TRUE))) ## Using 'method=*' defunct in 2019-05 (after 6 years of deprecation) ## expect_warning(lmer(z~ 1|f, d, method="abc"),"Use the REML argument") ## expect_warning(lmer(z~ 1|f, d, method="Laplace"),"Use the REML argument") ##sp No '...' anymore ##sp expect_warning(lmer(z~ 1|f, d, sparseX=TRUE),"has no effect at present") expect_error(lmer(z~ 1|f, ddd), "bad 'data': object 'ddd' not found") expect_error(lmer(z~ 1|f), "object 'z' not found") expect_error(lmer(z~ 1|f, d[,1:1000]), "bad 'data': undefined columns selected") expect_is(fm1 <- lmer(Yield ~ 1|Batch, Dyestuff), "lmerMod") expect_is(fm1_noCD <- update(fm1,control=lmerControl(calc.derivs=FALSE)), "lmerMod") expect_equal(VarCorr(fm1),VarCorr(fm1_noCD)) ## backward compatibility version {for optimizer="Nelder-Mead" only}: if(isNM) expect_is(fm1.old <- update(fm1,control=lmerControl(use.last.params=TRUE)), "lmerMod") expect_is(fm1@resp, "lmerResp") expect_is(fm1@pp, "merPredD") expect_that(fe1 <- fixef(fm1), is_equivalent_to(1527.5)) expect_that(VarCorr(fm1)[[1]][1,1], ## "bobyqa" : 1764.050060 equals(1764.0375195, tolerance = 1e-5)) ## back-compatibility ... if(isNM) expect_that(VarCorr(fm1.old)[[1]][1,1], equals(1764.0726543)) expect_that(isREML(fm1), equals(TRUE)) expect_is(REMLfun <- as.function(fm1), "function") expect_that(REMLfun(1), equals(319.792389042002)) expect_that(REMLfun(0), equals(326.023232155879)) expect_that(family(fm1), equals(gaussian())) expect_that(isREML(fm1ML <- refitML(fm1)), equals(FALSE)) expect_that(REMLcrit(fm1), equals(319.654276842342)) expect_that(deviance(fm1ML), equals(327.327059881135)) ## "bobyqa": 49.51009984775 expect_that(sigma(fm1), equals(49.5101272946856, tolerance=1e-6)) if(isNM) expect_that(sigma(fm1.old), equals(49.5100503990048)) expect_that(sigma(fm1ML), equals(49.5100999308089)) expect_that(extractAIC(fm1), equals(c(3, 333.327059881135))) expect_that(extractAIC(fm1ML), equals(c(3, 333.327059881135))) ## "bobyqa": 375.71667627943 expect_that(vcov(fm1) [1,1], equals(375.714676744, tolerance=1e-5)) if(isNM) expect_that(vcov(fm1.old)[1,1], equals(375.72027872986)) expect_that(vcov(fm1ML) [1,1], equals(313.09721874266, tolerance=1e-7)) # was 313.0972246957 expect_is(fm2 <- refit(fm1, Dyestuff2$Yield), "lmerMod") expect_that(fixef(fm2), is_equivalent_to(5.6656)) expect_that(VarCorr(fm2)[[1]][1,1], is_equivalent_to(0)) expect_that(getME(fm2, "theta"), is_equivalent_to(0)) expect_that(X <- getME(fm1, "X"), is_equivalent_to(array(1, c(1, 30)))) expect_is(Zt <- getME(fm1, "Zt"), "dgCMatrix") expect_that(dim(Zt), equals(c(6L, 30L))) expect_that(Zt@x, equals(rep.int(1, 30L))) expect_equal(dimnames(Zt), list(levels(Dyestuff$Batch), rownames(Dyestuff))) ## "bobyqa": 0.8483237982 expect_that(theta <- getME(fm1, "theta"), equals(0.84832031, tolerance=6e-6, check.attributes=FALSE)) if(isNM) expect_that(getME(fm1.old, "theta"), is_equivalent_to(0.848330078)) expect_is(Lambdat <- getME(fm1, "Lambdat"), "dgCMatrix") expect_that(as(Lambdat, "matrix"), is_equivalent_to(diag(theta, 6L, 6L))) expect_is(fm3 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy), "lmerMod") expect_that(getME(fm3,"n_rtrms"), equals(2L)) expect_that(getME(fm3,"n_rfacs"), equals(1L)) expect_equal(getME(fm3, "lower"), c(`Subject.(Intercept)` = 0, Subject.Days = 0)) expect_error(fm4 <- lmer(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject==levels(Subject)[1])), "must have > 1") expect_warning(fm4 <- lFormula(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject==levels(Subject)[1]), control=lmerControl(check.nlev.gtr.1="warning")), "must have > 1") expect_warning(fm4 <- lmer(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject %in% levels(Subject)[1:4]), control=lmerControl(check.nlev.gtreq.5="warning")), "< 5 sampled levels") sstudy9 <- subset(sleepstudy, Days == 1 | Days == 9) expect_error(lmer(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9)), "number of observations \\(=36\\) <= number of random effects \\(=36\\)") expect_error(lFormula(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9)), "number of observations \\(=36\\) <= number of random effects \\(=36\\)") ## with most recent Matrix (1.1-1), should *not* flag this ## for insufficient rank dat <- readRDS(system.file("testdata", "rankMatrix.rds", package="lme4")) expect_is(lFormula(y ~ (1|sample) + (1|day) + (1|day:sample) + (1|operator) + (1|day:operator) + (1|sample:operator) + (1|day:sample:operator), data = dat, control = lmerControl(check.nobs.vs.rankZ = "stop")), "list") ## check scale ss <- within(sleepstudy, Days <- Days*1e6) expect_warning(lmer(Reaction ~ Days + (1|Subject), data=ss), "predictor variables are on very different scales") ## Promote warning to error so that warnings or errors will stop the test: options(warn=2) expect_is(lmer(Yield ~ 1|Batch, Dyestuff, REML=TRUE), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, start=NULL), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, verbose=0L), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, subset=TRUE), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, weights=rep(1,nrow(Dyestuff))), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, na.action="na.exclude"), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, offset=rep(0,nrow(Dyestuff))), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, contrasts=NULL), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, devFunOnly=FALSE), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="Nelder_Mead")), "lmerMod") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl()), "lmerMod") ## avoid _R_CHECK_LENGTH_1_LOGIC2_ errors ... if (getRversion() < "3.6.0" || (requireNamespace("optimx", quietly = TRUE) && packageVersion("optimx")>"2018.7.10")) { expect_error(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="optimx")),"must specify") expect_is(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="optimx", optCtrl=list(method="L-BFGS-B"))), "lmerMod") } expect_error(lmer(Yield ~ 1|Batch, Dyestuff, control=lmerControl(optimizer="junk")), "couldn't find optimizer function") ## disable test ... should be no warning expect_is(lmer(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9), control=lmerControl(check.nobs.vs.rankZ="ignore", check.nobs.vs.nRE="ignore", check.conv.hess="ignore", ## need to ignore relative gradient check too; ## surface is flat so *relative* gradient gets large check.conv.grad="ignore")), "merMod") expect_is(lmer(Reaction ~ 1 + Days + (1|obs), data = transform(sleepstudy,obs=seq(nrow(sleepstudy))), control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.nRE="ignore", check.nobs.vs.rankZ="ignore")), "merMod") expect_error(lmer(Reaction ~ 1 + Days + (1|obs), data = transform(sleepstudy,obs=seq(nrow(sleepstudy))), "number of levels of each grouping factor")) ## check for errors with illegal input checking options flags <- lme4:::.get.checkingOpts(names(formals(lmerControl))) .t <- lapply(flags, function(OPT) { ## set each to invalid string: ## cat(OPT,"\n") expect_error(lFormula(Reaction~1+Days+(1|Subject), data = sleepstudy, control = do.call(lmerControl, ## Deliberate: fake typo ## vvv setNames(list("warnign"), OPT))), "invalid control level") }) ## disable warning via options options(lmerControl=list(check.nobs.vs.rankZ="ignore",check.nobs.vs.nRE="ignore")) expect_is(fm4 <- lmer(Reaction ~ Days + (1|Subject), subset(sleepstudy,Subject %in% levels(Subject)[1:4])), "merMod") expect_is(lmer(Reaction ~ 1 + Days + (1 + Days | Subject), data = sleepstudy, subset = (Days == 1 | Days == 9), control=lmerControl(check.conv.hess="ignore", check.conv.grad="ignore")), "merMod") options(lmerControl=NULL) ## check for when ignored options are set options(lmerControl=list(junk=1,check.conv.grad="ignore")) expect_warning(lmer(Reaction ~ Days + (1|Subject),sleepstudy), "some options") options(lmerControl=NULL) options(warn=0) expect_error(lmer(Yield ~ 1|Batch, Dyestuff, junkArg=TRUE), "unused argument") expect_warning(lmer(Yield ~ 1|Batch, Dyestuff, control=list()), "passing control as list is deprecated") if(FALSE) ## Hadley broke this expect_warning(lmer(Yield ~ 1|Batch, Dyestuff, control=glmerControl()), "passing control as list is deprecated") ss <- transform(sleepstudy,obs=factor(seq(nrow(sleepstudy)))) expect_warning(lmer(Reaction ~ 1 + (1|obs), data=ss, control=lmerControl(check.nobs.vs.nlev="warning", check.nobs.vs.nRE="ignore")), "number of levels of each grouping factor") ## test deparsing of very long terms inside mkReTrms set.seed(101) longNames <- sapply(letters[1:25], function(x) paste(rep(x,8),collapse="")) tstdat <- data.frame(Y=rnorm(10), F=factor(1:10), matrix(runif(250),ncol=25, dimnames=list(NULL, longNames))) expect_is(lFormula(Y~1+(aaaaaaaa+bbbbbbbb+cccccccc+dddddddd+ eeeeeeee+ffffffff+gggggggg+hhhhhhhh+ iiiiiiii+jjjjjjjj+kkkkkkkk+llllllll|F), data=tstdat, control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.nRE="ignore", check.nobs.vs.rankZ="ignore")),"list") ## do.call(new,...) bug new <- "foo" expect_is(refit(fm1),"merMod") rm("new") ## test subset-with-( printing from summary fm1 <- lmer(z~1|f,d,subset=(z<1e9)) expect_equal(sum(grepl("Subset: \\(",capture.output(summary(fm1)))),1) ## test messed-up Hessian fm1 <- lmer(z~ as.numeric(f) + 1|f, d) fm1@optinfo$derivs$Hessian[2,2] <- NA expect_warning(lme4:::checkConv(fm1@optinfo$derivs, coefs=c(1,1), ctrl=lmerControl()$checkConv,lbound=0), "Problem with Hessian check") ## test ordering of Ztlist names ## this is a silly model, just using it for a case ## where nlevs(RE term 1) < nlevs(RE term 2)x data(cbpp) cbpp <- transform(cbpp,obs=factor(1:nrow(cbpp))) fm0 <- lmer(incidence~1+(1|herd)+(1|obs),cbpp, control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.rankZ="ignore", check.nobs.vs.nRE="ignore", check.conv.grad="ignore", check.conv.singular="ignore", check.conv.hess="ignore")) fm0B <- update(fm0, .~1+(1|obs)+(1|herd)) expect_equal(names(getME(fm0,"Ztlist")), c("obs.(Intercept)", "herd.(Intercept)")) ## stable regardless of order in formula expect_equal(getME(fm0,"Ztlist"),getME(fm0B,"Ztlist")) ## no optimization (GH #408) fm_noopt <- lmer(z~1|f,d, control=lmerControl(optimizer=NULL)) expect_equal(unname(unlist(getME(fm_noopt,c("theta","beta")))), c(0.244179074357121, -0.0336616441209862)) expect_error(lmer(z~1|f,d, control=lmerControl(optimizer="none")), "deprecated use") my_opt <- function(fn,par,lower,upper,control) { opt <- optim(fn=fn,par=par,lower=lower, upper=upper,control=control,,method="L-BFGS-B") return(list(par=opt$par,fval=opt$value,conv=opt$convergence)) } expect_is(fm_noopt <- lmer(z~1|f,d, control=lmerControl(optimizer=my_opt)),"merMod") ## test verbose option for nloptwrap cc <- capture.output(lmer(Reaction~1+(1|Subject), data=sleepstudy, control=lmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6)), verbose=5)) expect_equal(sum(grepl("^iteration:",cc)),14) }) ## test_that(..) test_that("coef_lmer", { ## test coefficient extraction in the case where RE contain ## terms that are missing from the FE ... set.seed(101) d <- data.frame(resp=runif(100), var1=factor(sample(1:5,size=100,replace=TRUE)), var2=runif(100), var3=factor(sample(1:5,size=100,replace=TRUE))) library(lme4) mix1 <- lmer(resp ~ 0 + var1 + var1:var2 + (1|var3), data=d) c1 <- coef(mix1) expect_is(c1, "coef.mer") cd1 <- c1$var3 expect_is (cd1, "data.frame") n1 <- paste0("var1", 1:5) nn <- c(n1, paste(n1, "var2", sep=":")) expect_identical(names(cd1), c("(Intercept)", nn)) expect_equal(fixef(mix1), setNames(c(0.2703951, 0.3832911, 0.451279, 0.6528842, 0.6109819, 0.4949802, 0.1222705, 0.08702069, -0.2856431, -0.01596725), nn), tolerance= 6e-6)# 64-bit: 6.73e-9 }) test_that("getCall", { ## GH #535 getClass <- function() "foo" expect_is(glmer(round(Reaction) ~ 1 + (1|Subject), sleepstudy, family=poisson), "glmerMod") rm(getClass) }) test_that("better info about optimizer convergence", { set.seed(14) cbpp$var <- rnorm(nrow(cbpp), 10, 10) suppressWarnings(gm2 <- glmer(cbind(incidence, size - incidence) ~ period * var + (1 | herd), data = cbpp, family = binomial, control=glmerControl(optimizer=c("bobyqa","Nelder_Mead"))) ) ## FIXME: with new update, suppressWarnings(update(gm2)) will give ## Error in as.list.environment(X[[i]], ...) : ## promise already under evaluation: recursive default argument reference or earlier problems? op <- options(warn=-1) gm3 <- update(gm2, control=glmerControl(optimizer="bobyqa", optCtrl=list(maxfun=2))) options(op) cc <-capture.output(print(summary(gm2))) expect_equal(tail(cc,3)[1], "optimizer (Nelder_Mead) convergence code: 0 (OK)") }) context("convergence warnings etc.") fm1 <- lmer(Reaction~ Days + (Days|Subject), sleepstudy) suppressMessages(fm0 <- lmer(Reaction~ Days + (Days|Subject), sleepstudy[1:20,])) msg_in_output <- function(x, str) { cc <- capture.output(.prt.warn(x)) any(grepl(str , cc)) } test_that("convergence warnings from limited evals", { expect_warning(fm1B <- update(fm1, control=lmerControl(optCtrl=list(maxeval=3))), "convergence code 5") expect_true(msg_in_output(fm1B@optinfo, "convergence code: 5")) expect_warning(fm1C <- update(fm1, control=lmerControl(optimizer="bobyqa",optCtrl=list(maxfun=3))), "maximum number of function evaluations exceeded") expect_true(msg_in_output(fm1C@optinfo, "maximum number of function evaluations exceeded")) ## one extra (spurious) warning here ... expect_warning(fm1D <- update(fm1, control=lmerControl(optimizer="Nelder_Mead",optCtrl=list(maxfun=3))), "failure to converge in 3 evaluations") expect_true(msg_in_output(fm1D@optinfo, "failure to converge in 3 evaluations")) expect_message(fm0D <- update(fm0, control=lmerControl(optimizer="Nelder_Mead",calc.derivs=FALSE)), "boundary") expect_true(msg_in_output(fm0D@optinfo, "(OK)")) }) ## GH 533 test_that("test for zero non-NA cases", { data_bad <- sleepstudy data_bad$Days <- NA_real_ expect_error(lmer(Reaction ~ Days + (1| Subject), data_bad), "0 \\(non-NA\\) cases") }) ## test_that("catch matrix-valued responses in lmer/glmer but not in formulas", { dd <- data.frame(x = rnorm(1000), batch = factor(rep(1:20, each=50))) dd$y <- matrix(rnorm(1e4), ncol = 10) dd$y2 <- matrix(rpois(1e4, lambda = 1), ncol = 10) expect_error(lmer(y ~ x + (1|batch), dd), "matrix-valued") fr <- lFormula(y ~ x + (1|batch), dd)$fr expect_true(is.matrix(model.response(fr))) expect_error(glmer(y ~ x + (1|batch), dd, family = poisson), "matrix-valued") fr <- glFormula(y ~ x + (1|batch), dd, family = poisson)$fr }) lme4/tests/testthat/test-doubleVertNotation.R0000644000176200001440000000617214630365604021061 0ustar liggesuserslibrary("lme4") library("testthat") context("testing '||' notation for independent ranefs") test_that("basic intercept + slope '||' works", { expect_equivalent( lFormula(Reaction ~ Days + (Days||Subject), sleepstudy)$reTrms, lFormula(Reaction ~ Days + (1|Subject) + (0 + Days|Subject), sleepstudy)$reTrms ) expect_equivalent( fitted(lmer(Reaction ~ Days + (Days||Subject), sleepstudy)), fitted(lmer(Reaction ~ Days + (1|Subject) + (0 + Days|Subject), sleepstudy)) ) }) test_that("'||' works with nested, multiple, or interaction terms" , { #works with nested expect_equivalent(findbars(y ~ (x || id / id2)), findbars(y ~ (1 | id / id2) + (0 + x | id / id2))) #works with multiple expect_equivalent(findbars(y ~ (x1 + x2 || id / id2) + (x3 | id3) + (x4 || id4)), findbars(y ~ (1 | id / id2) + (0 + x1 | id / id2) + (0 + x2 | id / id2) + (x3 | id3) + (1 | id4) + (0 + x4| id4))) #interactions: expect_equivalent(findbars(y ~ (x1*x2 || id)), findbars(y ~ (1 | id) + (0+x1 | id) + (0 + x2 | id) + (0 + x1:x2 | id))) }) test_that("quoted terms work", { ## used to fail in test-oldRZXFailure.R f <- quote(crab.speciesS + crab.sizeS + crab.speciesS:crab.sizeS + (snail.size | plot)) expect_equivalent(findbars(f)[[1]], (~(snail.size|plot))[[2]][[2]] ) }) test_that("leaves superfluous '||' alone", { expect_equivalent(findbars(y ~ z + (0 + x || id)), findbars(y ~ z + (0 + x | id))) }) test_that("plays nice with parens in fixed or random formulas", { expect_equivalent(findbars(y ~ (z + x)^2 + (x || id)), findbars(y ~ (z + x)^2 + (1 | id) + (0 + x | id))) expect_equivalent(findbars(y ~ ((x || id)) + (x2|id)), findbars(y ~ (1 | id) + (0 + x | id) + (x2|id))) }) test_that("update works as expected", { m <- lmer(Reaction ~ Days + (Days || Subject), sleepstudy) expect_equivalent(fitted(update(m, .~.-(0 + Days | Subject))), fitted(lmer(Reaction ~ Days + (1|Subject), sleepstudy))) }) test_that("long formulas work",{ form <- log.corti~z.n.fert.females*z.n.males+ is.alpha2*(z.infanticide.susceptibility+z.min.co.res+ z.co.res+z.log.tenure)+ z.xtime+z.age.at.sample+sin.season+cos.season+ (1 +z.n.fert.females +z.n.males +is.alpha2.subordinate +z.infanticide.susceptibility +z.min.co.res +z.log.tenure +z.co.res +z.xtime +z.age.at.sample +sin.season +cos.season +I(z.n.fert.females*z.n.males) +I(is.alpha2.subordinate*z.min.co.res) +I(z.co.res*is.alpha2.subordinate) +I(is.alpha2.subordinate*z.co.res) +int.is.a.log.ten ||monkeyid) expStr <- paste(deparse(expandDoubleVerts(form),width=500),collapse="") ## check: no spurious ~ induced expect_equal(1,sum(grepl("~",strsplit(expStr,"")[[1]]))) }) lme4/tests/testthat/test-summary_testlevel_1.rda0000644000176200001440000132424114630365604021604 0ustar liggesusers‹ì½x]ÅÕ5|Ý{·%7I×’eIV»*î–{Ç ƒéȶl «In: =BhI€Ð ½CB =@%-ü{Î]{fÝ£9– äýßïû?Ïf‰½´öÙSÏÌœs¯VÌY]ÑsuÏX,Ö)Ö¹‹üW,ë²rÏyÅc±Îå:Ä:Çzv¬/‹uè4,äíÜTÓ¼ÙãïZ²}NuKµùXòßgÀŽª¬«¯©ÄϽÊJÊŠ+Æ•LJ$ò¿_‰ Ë鞴˶¹\¬S·N¡«uY_[S·N~èßú·S³ÇÚºêææ¥Õõ5¡ßîÖ°¥¾¦©vm8rðû’5ÿnÚºšõÕ[êZfÕ6¬«mØ0oKÃÚ–ÚÆ†´Ûæêµ›ª7´ºP}MËÆÆuÍ(§Xç¯ÃÝZ]·Åè¾À/u%²ÃaA%¦:;Ö®÷x»Õ×67K‚Iª×׈Ɨê^R< õ¤òÞ_S(×iòäÉ!9†Ý}KškZæl©¯ß1 ¾nù:͹ÿNò·Q+ª kzDÒB·?Ö9µÞ{—4Õ¬Ÿm|NÍzO§ît³à̵:š>Ú#”H¯ší-5M Õu›[š¢Óÿ_ê®mh©ÙPÓîŽ 2\šñ»=´3,—òḛ́EG}ãúõÒò®ù¦–ÕÛRþ·Éýï¶šÚ [šS}|‡N+æ.YŒQÂ)õ ZbyScKcËŽÍAr:Ïü;< ¥C!JŸäo¤N`×A§”n_‡ê®{˜K­¯_ïÊ4ѳU°VóBÌ AŸ¥©€hú¹ï×­ûû0âû?þp éé捻課e«¢Õ™$:2c­3M™¡V z[t#´¿RÇãÿÚv¢gñ´ 4ßY«¥FŒ®›Vt'§ÚÅvi|imi¦‹è¦4lÄhK¹CÿïnÅ.Rç¦ ßY#¦ô×J+ª£´û†˜¬‚,ãë›líÔUæ÷èæÓßø?¿ {Hka¾³fl´MÙ5E´‹Í9*ª9í :º=í¯üŸß =¥îmi¾³mµMÚ-Uµ‹mš³Ó6mj»M›þ¯jÓ¦ÿJ›6}£6mú¦mšÙ¦ºTÞI›ê¯üßѦ¶4ßi›¦Fmo›¦ªv±MóBmÚõë4"ŸXüŸØ„ý¾ËÍÆÿèA@²ìý¢ ìG£[MÈÿc[ÌmÒ¤¶w|‡­ÇñÚÙrô÷wq³QÕj}Krê×nªYBéF×ÿ©EôƵgSÍú%¶å¢Î(z4®9¸FZkëgÔòÕ;fW×Õ…ª«“ÝкJoh}®I¡C‡YzÖå9 í^'´Âœì¦jú7oÙ\Ó¨’… éb]½·­s°ÖžžºíhnZÛd„Ì Nw!Ì‘fŽàÁ±ä>3'‰Æo|¡QÓÚõµu5©õo™3vÒz·…K˜]º±±¾¦tMcݦš¦Ò9k¥;7´4—®(ݼiCsip¦íÕ¥®¶AOÑ:ÝgnNNN<¨Ï¸Ìµ µfhޝolŠ·l¬‰ë ²Ön+rrò Ê®«_\ÛÜR™o\Ï««Ï‹/ š»9ÞØŸÝX_/°¤q]M¤q#O‹—””ÖW7”B_s—¬X—ò{æßþø½!æ÷flªÙ±­±i]s|-ŽFq¼5Û776éð$ã,È<ßf^jb\ÿ5Õl–A%ÕZmj#­ôýxU<Û`vQ|sccð¿ujÅeõ{Ä#þmhjܲ¹ÙH$Çš¦šu$'.5œ½¾zmKcSöôx¼A.¾®±¦9¾¥¹&ŽßË/@誨ÐMµ–™_6Ñq–-Á«ã2Lê·$ € ã‚h FX×ÚF)|mCtÔRvA¨ ô—n³ç²9˦OާÔoi«ú-‘XÒ±Z¤Ðµº©©zG«°…ÒñÖÖÌnܼ#>µ8¾w¤üíñ3寫©Ù¼VØ¢øö°T±‡éÑó®^2ŽÝ£ycã–ºu y-ñm5ñÕ[kâÙ2Ã,7o«mÙoÙÖÛ¼eÍXíDö7ædÇ«ÖÙÿÝ#ǘÀ:RÖÕ4HÙßkÞ\Ý$?®Ž¯­6Q¦ëPÎÉÁO+E¶dÉäøËš 礲:nFSF\¸%Õ-MµÛ³ã“«’¾• R'ñÃêwQòfcošMÒÆõqä¹ÓäÖHOø“ó ärk"J)Ø!ð7Irf u¼œ8~¦¹ÀÎqkë776ÈXnÝ$c½—Ø’°5¬—°‹…¬ð/cù,¿Lî;ƒÁB³º®öÐùu{›_]$mZ¤“SQ0C%Ë©W]î çÿ×ì 2 n®“ÙP.V$««-²ŽØ!Æmù«uÞ*Û…¸%%%ñÃtÁùkµëãù£ª›64çȧeKSƒ]Ñù‡±ù'kMYúUh.„ß/‰üýÕñ©òûÕͦötlªª"R%c2Sã4~Ú\rÚ[ô¶µ-úÛã#»¹¥qsíz¹¹ç§ÜCãÓâ‰ÅÚÓÇEªÝ?¨ƒŠK/k‡Ø¬§›eåž¿¥¡ö-5É(ñ*15‡X]ר°y´]"sg6mtúZÓ0½®n´ø­zÑÎÓ1Hd«ˆì´$YpÖ€K8w›ù˜»²/ñ[õôçãztÉ\ÔyHÛ|•7…U6í«U¦Ü þêhh_u˜õ7—–U»Ú<"1ÞìÏgs{óñ7ϪoØ<«Z5Ïf ¹-Ç=Ý—FÀHéôLjÐþµœùÜý}‘ aK8cJ¿I[¢òØòMóØ5¢{Ð=oA%oIDDœqe‹Ø`欥æžVOF‚¼v§“ßÏ›‹bòΕ_[e&?™Wó—Å®¢ÛÓ†:3ÚÊŠäRBm¯jªÙl¸ü²¢¥¶&÷‹¼˜9/1+ãÆ:ٌʖ.^Û¯ŽoªÛ²nCM¼¥1Þ¸µ¦IÖg5ñÍMkdÇ%Ûì5 &GùÅæC¶T7Õ´ÙÚr5;d‘»ÉÄÇnµI–Øõ¶¹bYlR©z‡7µc7±“vvÙ ÌÝÏ„î!Á3ø¿¶oé€/¿v܉ʱÞ϶¥ ý µ©6a¢à›Lùwðwp{•ö|pÅ· ¸®¶¾¹j-5IQ™»‹G¯=ÑgÌÀ2ª6;ÜêmÁZµnt°w“¼ì²5ð@¿çNô"Óa¬óÂêmÁrY—ÙÉ»Œ›‡äWÚ,‹Ûb,oi²ëîtïﮕžðÒ³×.5NþíWÜ.À¿C3ÿò’ ÿæ`Ãä_MG4²üÚØ¸¡±AòlÙaÎGeØPìÕšje{&WÉkófš<Õ³<$+÷aSìoUîÅü?ÞrGwÒ”r¯ÝÒÔd¶Ákåöx*¹3Ÿ½±±®¦yÓœÀåí4£ÖÅ]ü]ty›õŸ8¶*(ºë\v^ÜèZjq—KÔï¢Ä+¸@Þoh_‰“çÀë·5È£f]¸|m iDoÀS+`Åêï¦ø´4ðkûŠ_kFl³íÓßUmDï)µQûÝTǺÚjmpou¬òêZU‡ cf³vÖ‡7z¯.®¹À®•Ø?²ÖðÿP‰%/Wèè]t^êÑ¡yØiÅÕš¢7¯­®« Zº¹¥f³mùêµZÚ™í,í´ˆo}&ÁoWòä©áÎK½šÉKíºkå§ÚµµÁ‚”yN{ËlÎú¾]±ýûFóÔÐWìæÕfE.®y3ï1×UAQdÆëjÖ›eOÊguÚZ#›ÍmØO[Õ4l­mjl0UòƒÏ!iѦEØjÔòÏ3Õl3òeÚU5õ›[v˜ÿ·¤aüÏ‹Ì?ÓRùÁ3:ó,§¹¦e]íúõùÁÇlò¥x3øsFÒÙ²„Ê.puã?ÁÖf1‡jÕŒöÞ©Àü“KÕnhHæTßPÓ¢?ueŽq“5Xà<¦Jô;_ëGMÞ"Íÿt¹"u½“DÚµyÖú¨mÎGT©M‰¤Ï`³m£Ín3N(5ü8Úôìüdçm÷!yjmÛ‡îšcD%gî4¦>Ž|ÏÀþFôjy]cÉZžFK_7ÇJ2f‚­ÅÖdh¨ v6æÿF¯’ÿª²J:î·» Ö­[ìn¼»ºÞmÙV+ËvsÓ«kÜ s„ÜÎëå~ mÕ®õn{€&Çïâ–_·nÅj[Ø]ÝÓ´YVwÇO®" }$.´$û]”zKCóZû?ÞR¯ñê’¥–‚™r{_gª¯m´Ï×ðxuÐÖ¯½-n.ù],yêjL¼VeO¹ñ/öJƒâטݛ´i²Ýkjª›â›í;#;¹÷GO¸¡VN&ø_YõÔ64·Èµ–ËŒ.üòèÂoÙlº³9Ç4ï$…[ƒª6µ;]üìÖÎ  $¿e%$üu@'"þÞ¹â]ŽûÐYCSÔJQøé£{„‹°K#+ å_òøIŸûÏÌÿ®li*Н*ŠOVÉÿ ê’öE5‡LÉËA³‡óÁ·èÃeiW­Ø)QaRK.K¦=“Òå&»”çSÛ"Ù¥’ÙAÌm.}1æÔ˜'ûˆ²tåâÅßjŽÜŒwC‚ßæÔG_ñ‰on4祒[S͆šs€¯—•ìÚšææê¦:RŠ##›ETÊÃR—ÎÎ\a²Òj›—n©«›»½%¨§åæQSÄ)aÛK˜‘‘¿á>–ÞFíû7½Ò±fá]“”ÚO>’²eŽ> ÌÃ,¯6wäfäµYc­zù¬ä˜i=áÙ·,ëžu;JeÅÓp-kôC ¨²¾Aa1¤[]®}…õï%¼¾°”RØ}Z–66ìSÓÔè ½2°¶Åm6¸}ZvõVdã+©Kç[M"Íu[k<¥u…Œž½ó’b=+£#)ëÚ&¼<Ú47c3ïê‚2¸Âw±  ­ÜY9wrrÜŽr&‹ÙØP·#Œ8ó40XXìêÙY2Óïb!i¾Z/«¥”Yú£+vôûCy¢o£ÀZ¶è$Zõæ #_‡6Y}Å]óß+îšoVÜ5ÿ¥âÒä6Q+åÈ%Ž7xV½N_<–ÙXÍ…f9›Ò¸í=4 ýWö[ø¢JÝ&yîá]èMÒïâðwËå”׋)o^.¯‘b´˜÷"ƒõ£-~ô©”n‰+õ`&^±:¾¾IªÁ,ÚW%ß –5»–|yd¨Ú†­µÍµkêjòw¶ºEuhªí­ˆÂTÄbÿ”ý²¥-tòAyð±„]}@‹K'ÇÉPÉd¾Ã¢Dn‚üEÁ¶mWÊã¿k%ã­¨Á{à¶<Á‡]¡¢_(ÐB™÷Ë’ÁhŠo1ß@–Ü©ÛW¢“/öË,%qk×m©®kÞÕ”MÕ7N“ù~»ÉÉîÃUÑÜ®É –]•˜øXÃjÔÉjý€ƒ>úñCôÖ¥§½kš¿¼;eU; ŠØÝ ›Ôægã„!»(žìÁOµ æÃuÙ2!H:WŸ0É^ü§Ðd_®Õav 4E3¸O!Øê˜Ì͸Å`°-0?lI´ú(›âÈœœ8ÜÑ|ª5üiÇ‘ÉWzvúIÇ…I©9ùßù¿œøšêæú—ù†ÄÆ†ä‡ ¶ÔÙOG3¿œòq°älÍ´õ¡®V‰GôQŸñÙ飣z»šlç§%’Ÿ˜Þ>T½k‚¦]`,í‚ÀÌþBû?Ž¡0}Çþeûq üÂð/ð§4¼×“¿°a}£ÿÆyPŒ# £ÆÒ듯ÄTo­®­«–½y`¼ÿ|XX§ŸÈcBèÕ%ëÍzþŽªEhýª$iÍW‹¤;UÕo‰àÞÒÐUhp 'ÍR4Np&W…®³Óé­½'¯\™)Ÿ#‰¼Qïôc$yQ*ÿ§Hæíì"ô^®,®‚Ï(ägïºln1ŸùkÞ\³¶Vf€uv¦‹LyGøãAH¨"?CÑdœ<⳿ùîa½÷½æ}÷ͮߒ½ÿþöÞëÿd#þ¥dh¥©¯"7´y0Œ©È÷~s’²ÉD¯ýÃɨ2"—ÈݦÎA¾dÀÙl¢÷_­²Qi2÷nfÛ é´ëKHÇ•™Ûþ„TšLÈü_¾æØžŒšv’QÓ7Ϩi§Eîô>`2ÒìÆÆówÄ‹¥—·oÖñ.Üvù•ÿV)¾³7^"Çg;_x‰l¦]yßeyToùšKôËÅqï[.ÑG}ø÷-_rÉÞYì”w\"'zý·K¯¸ìü“8ñö¾á²Ó¹Ø“Xô .ÑǼø—c>7]#ël36V¯Ý/L´õˆSÿ}³wc2vR÷>­iá_ˆ¼Cè‹1þ÷aZ¿ÿò­)‘‡#_(K}<\W >ÞaWgºj3«³"½/ìʇãvî.JN™m~ÊÕf“ܯ.Ù‚G¤íU½¯ºÇ£»VEßöÑhädDOFw´çÎø7{(Úfçõ î‘èÎëÛûÉ$é2ËìfÏVxcc{¶"k7V7lH¾°‚UZmrß‘ü:€ü-Í5ÁasSãúÚ:©yûT%r®²}Êæå;jllçHŒ*r°Õ§¹©Éy¥O.²Ý÷s¡ÝGà«×KÇ‹We°VвÏhOÙM‚¾’75}Ë’ïe·ÑîÌk›+y佈K¾¹©Vîüºæâk#ϵ¹Œ{éÌå9áÛÖÎbz?× óQJûn¨®¯¯nÇóQ=Ú3Óhré|UI“9í1‡|¾×³Ú|æâ™*[:™á·˜;ƒ$ƒÞ¹3rÕ’2w¶:»7o©7‡ºÉ'OÍm¾KbËjÒ [û Õæé¤ö-N¡áŒ²>8$LÎ<æ'ÜôôǦäè¦Á¦9³ räÇÖßÕK¿Ï}£SÂä:ÂKþNèÛ¶B'{‰p9ôd/yb`¾/Ÿ¿–¨ òD‡LUQ=׎Óèç‰A.¡/ŠpŸ24l›¯]ñ2ÄGUÅËlìÄâ¶ÎSâfõµ‡ùòA>Oiãdßÿ™¦v¬³¢p„Z5M»ºÔŠ~L•úϿ֊~νؒ},Ž3$ú…*–éÖÒ>ˆÂ ÝF­û¥è­¶ÿáwÚ¢ûTêÊ ¿þÝ¿Íö¼«¶ÜKÛoöL©Óäêxe;ùð^6TõÕ%͇´z¼]ØÔUë³àmò­ÉW­åöŒÞV“õgjþQßZ\½¹®zm½Çí$å6:]»ï CÌz‡ ùÙë«ëkë÷á…Sʤ¿A§÷Íù­6&©s¾y·(囤’)’-Š7xŸ<ü×n »8ïêW*E:*tž,¿=GÅDŸ‹G? ƒtjòCóÉÿƒhÿHQƒ÷¨²AòI=lhu<ÛjnÙyýN¥”ËÔ$?Ý¿ï¾ÙB7·T7µGë|ÝšÐu«K~£÷ªkݧ4võ½†ä0—!q DÙµ—üçŸ;} ¶“·¿ùs°ÈsØäWcä»î_9ºCÿè š´eUðšký–¹òcð_3 n­nªÒ²¸ÀËÛLÿöjÚ´WòiYðSðV@Ó¦æaZµëš¿Qܤz3¢l6qå>`â&¡v]~A{›Ø?65NDgÛÉKP|—r¯—ØÛT«×KÚúÐ鷚ͮu^ÉdŽÁOÞ’íäµÅ”ï­0ß$Š5I†˜ÇÚûÑ}S¦¤b×Jä÷îøÎ×í8*I-¢†­Þ,‹íµ¨øˆO«õ‡=ú‘+z›‹oÕÀ²ÓǬîmàè7¹vÚÀ&ª–1úû‚\ÍïÝ5˜Œ¢KÓÎEzø[U¯m\#íׯL^'*]§ $ÚQÈ ¹ï¢”m!ÿ÷¶"ÑŸÛŽ8DŽÞS«(z3¢1Öî4†ù—º©Ý@tÚhçÞ¶ÍÇ^¡©{Ü¢xp[´µÛþ ¸K8´é5Ë©ð®÷»úôôw°ó¿^$U0§f«¿OF¿,Ò'q—üê¨{`{îÉ\vm°ùãÚEÀ(zím^Þoö~º(x2(þ Éï—uYc½ìgdîi–9fÍ–àöa>·‘×fßt¥þÎ>‚äŸwìÒÌßÆÑ¯¾¦¶qpÌojl´÷ÞÖØ´ÉûBi[ŸÇ ­YíZkûç²–pS»âE7_Þ![jšv¸ó~óFN´£¼-ÔÂߪgÛ§Ñvòá#zŠ`G(Ͳ5-kKÚ~žÐžNÝþ' ߨS'Ãï•úÄÈÕÀ>mÖ•%%$_Ö'G¶ü­¾ÀŒ–íéã6É]kwÿwÐØïðxrtý› ·K{}Ë¡mføg\ßfZò¼Ü¯Ó’>Ý¥iÉfõQ7Àþ"F¿UDW²Ô{k»J¦É|§#ÛvÖtߦ\©-ÖÖ¢¹r…Ûë¿òi=°Õ£W<ð³'¥Ù æ?æÃQ ðõ6Ô5·uÔ‹_ÙùQo«[ò¨'½‚#ÏKçÑ=󯡮¾q]pÜØT¿¥®ÚÊ¢§‹¤¬¦akða÷  •F·ªù·9xQÏüá¥ÕMÕk[þGžDþ—£ß> :ÕmÏœ“•}ä}b˜TâÄ9øŸ]ÏDšŽ21íùÍ21J›‰üÏ®Ä';„M%ù¿ßè R$“ü¿6o7¡ldÙT̘ŠÎ#zóÔê ®ùexBïG÷O“ $?¶oN÷éYXU{Î×¾ûGxmªÉøªù»ëfû¦ÿûg¢¿æKÿ¥ϘÚßÅWhó©ÿÂÇ2Ò‹’Ù¾û–ï¿Qr*)Â(nû»õŸ+@è¸Æ ¹ÿ}§4þû±¦^µç«öÊÌ¿ˆ=߆¦êuµÁ{ÛÁ¦oƒluü_ò•ðà£ú@ÊÄÝcËÚ²_ÕˆµÍæµÇzÙ—Õíˆ/¶¶lljܲac¼Vv²Éë4Ôl;+¥’ÖÙÒ%Áê4øÎ:óçŽâæO´®‹W7mþÚh<¿¹¦&¾´QºÒšúüÃÜ@Õ`ü3ñ«Íú¥Uö~ÙÛ–1ø  3šk‚>ÇŸ°ßo]M³Ü1ÖÔhw§)t?¹Ôf¯“Ÿ\ŒWáéýᇖœµ’§yºL´f4ÞVS$«Y‡w#Ôÿ)Dª52œÛˆÉ®þÝÒ%6DΉëKÍ-5Íæ›‰×ë[ô÷]yŽ ¿I2{üÎŒð°—ÐÏúV…þ’jݾáÒÞûN?žêÿ”‘yK€îÐr3j(Â[±Áb7%FÿÔ}hpºc}Lüúšú55Mö"{c­ ;óÇ;Ö¶$ߣæÃn?Ñ_Üò1Çxêç$w´ãÃy­–Œ ¡ É?âÔа+OEË|ª2%Xý–om[K(šùh]j´D;¢™{‰„šVw£=êEÒ6¡4Lßò([Üö³{¾ôVI°þ u¹öÝÙýw±o!¤vêdøv}éCõæÍuµ5úÅüˆ¦±ÌL„K¾/ÞÒæ{Òq_ohSäkôgš;â­FB›KÜVA²£}“\v络ÔÞ; ¾i?m{‡ûUè­¢¸kúöu*ÿC½àýêP¦€íx¨Ç=)_+Ûª›Ö$ƒqªß² oB  ô®@Qxªi_Iý/™¸ Rž_¦<åÛÉ[<\Zý‹­ÊJGþÑŸ­òvaÃV_ywáqžà$_–ˆ*îN¾¢‹‹› QÎöÏŠünÄ7-¥û›Ü‹{wâÑó í—õíÍ6¨.rËÜî[O«÷PI©o5|‡¯gÿï~òýÒá úΞÿ¯|8ÜÖ„¹zøˆýs¢ïQ!ߢÏLR& ÷WÒ½sû§ÃÐcÃ]œÿÛ< Xh6NÁV»0ÚЗFxC4!mØ[ŸºM£-ñ²ä^¾›µäßïÛÖ$Õ$ûƒÃÞ±GÃ;Ìù_µN±&¬é2Úc°[3k´Ô[‰^“ócžÏlä,ó9 ©Ã/î±gðœ;µøö!RuC«KÓÆšåÒ b õ°¡©fsSM³l×õ«Õ’Çñø:rµ–rkÙ7È!|ì<Óž‡ÏƒD«‚ÿŃ$«‚ÿFA'èz§ý'Ù×J¼'Ðùmž@#Ê7<~î±bßL žÙ§¿‘]ω¯HvÅÔþçnäÉÿ•0?t`F‡¾tr§çÄþS©oô”Aû­Yç{OÆÿÎGÐÆ©‚®f¿£onô†ÿEî“Eñ”×^¢÷h­_Q0QBÇuOÏT‹ÚŒIEIÆ R ÅLšPÌD{b N‹/lXß¾w›’ÿDœdѯª‡/75)×»‘ÿ0Îþú¼’c~nS¡=Ë(‚ŸÛ<Ð @ÃÌž>p/hçæÒ_{)©÷mªÛõ×\PßáM›ßðÕŽúY³®Hëý;<§ñ¿*'÷‚õø1õÏ l©ùF4yL‘:˜’ÑB=¢ŸR¥TŒÉÏnØ“ÚW\ÿIY2½pq R¯ü’ž€ì<Þvó‡ÉÚŠüR8žÿQ–Ü÷ð%5;‹'¿Ô®M•íãsk}^‘¼‹z΂=ÏLïFuh)‹µ/“/Õò q`«âÎ÷¾i´÷ ®ÖÎïa#3K¦öïe¾ÕN$=؉llÜ–ºÒ)hý›¾=ÈÜœœè-ÈRYÛÔ4/©©^Þ€ÄãÙIÖº”蘓Ca£zGm–]Û)z𕕦?¬iÜî³f{.»­êÚ†äŸ3ÞÙ³³0h‘”^äï:}\Ên­ ö”µ"lWÖ‹;-×ÿ9ëG¿À³~ܹ`{ðF¼orûW¨Û[ëâ©‚ÿ‰ªÿÎÕžª”Pþ“k -W£ßÁtwÃ|~Ób'‹ÖY*&ì3úõ_*]»­ö‡ö|ãRðÕ4) IU·ý)T›ÔW(ñ„’iÏŠÖ$cbâ7.vú]È¡<á4¡,ÚüWÍ"a§'êh§V…*³½MQÛ\’å¯Á'¿:xò‹ç'æé‡y¼è9»×¿|eŸè¬<ç6ÛåðŸxJ>eJn “ÏF“›iñäGÑ¡1?ZAä±H0b“÷MÁÙ[6 élsG’õu|Êâà³5-m¥²Þõ$#›ŸÚ‘{C=þ¼gª òeÞ䱈÷œ+RÓ‚?+¿+š5øKô»¢Ñ?!ÜîC»xð1üùÝÔ ˆÜ[nÞl/¢­?(ÿ̹hò[K“W)/q<½w¾ë½uÚ}ÃÝÕÜ@«Ü×̸/¢h5>Úw¥ m\J¿ÜøÛ_©¡+éwk´çJ³wúfQSÍrYÀæ'ÿ*´]ôÉ 5ùñ»‚¨Ï‹Îû&Ÿ .fß/2¯åp´–FépæŽZÛ€¿¡YË%™8Íñ¾¬CÂZb5®­57)=:3Ñ‚%àæê¦–Úµ[Ì#¦P ƒ;wÊßÛÐ{ÑØVoéÛAÁY±ûDiÁçE¢9î†cîhEôꢔWÙá;›Y f‹Â¾Õ—¯¯H𗻥­ÙR+c²Tº„£‹‹·‹ÜKAá·‹$¡ªúÈ—‰JÛx™HûÊÎÞ%Êkë]"iÏMØ3 »'‡}:<°Iy:üB»ÿ íNŸ=ä[Ý‚â9Á»Á ¦?&¿$ß:’+¶d×Ö—ñâ+æü›ýV÷F¹Nà’.·¡©qËæà ÕàOÄ7»íšùÃ3¬p%ÿ—¥4¬m¬ÃŸ’µ‹¹˜Ü“̧WMw¥1SIMõÚZ†6·4¶´,NÙþ{Ûg"É2!ðþÀu5[wš±ð²ŸvÙni¨=Ä|:—CûÏ “ßDѼL!Û‚÷‹ƒ¨¦âÁW›koðÆL6¿kJmÉ`B4¯DÖ$ŸURñeÆhX<Ì”Vvot¯ »jÿ¯>zó?îð?z«oõNXôǃMgó†-¡Œ4ª!ù¹s“J›§Êîîמ“ßü†ÓîÁÞì†äÿJú3̸=ÎkÏ#=Nž´(bɇ‚ØŽ`ˆÔN<õÏÖT·´4%/RÏNþ•Áì<2¥ÒÉ$úk`tâ2'ý¦àm>áÑÈæQsD?’Й$x&Ô`æBTì‚‚êE„å;‰œ2(‚TBò;Þò[ÌÇŠväW) úP‘Ù‰»×¸£ëXg Š»5m}²NÝç ë ìsß`1YÕ%·ã±œà#f$‹Äàk‚׉ƒ+%‡{üØ }M öOŸŽ°ÑŸ„ÒIÉd¿6_úT|í–z)y~2²¬9°º®±aCÐuÚ8oÏ?w´\ÌxßÚýãcã.mùÿý]½G N}ÁsÅp²ÉaR”rµà³É ]»ö;ù&>ïiíÐV¯O%—ž·§–G¿=¥Ëcýlˆ[ ûïÆÉžŒ¸»%ׂÕ-¡ÏììÊYOßZg=Ä6%ûÿÌ+WöÐ3eIèyãjzÀà;Ìe¾ég=V[ÙA¿Oþ s¾ hkà š¡Õ¶®ûÖµ+j6ïlqüÂw³8õ÷˜]xü=!ñJüÇ ‹«ë׬«ÆÊn݆ÙK‚óÛ6®³Xn÷q½Nø°Ê/ÑÓ-¯ÄÿžÞ³Zù_oŠ­ߟ’Þáv¡zKÛ îV» Ñ[Ä.Ô•ÎÍí-»¬9ðS»{Š­ÝxÊ7q¶Ñ&[«mLÉË¿V‘ÍÏkíï7nEeÝÿÈËißn…üÿ¯X“—‰ü+ðvjššüCãKæ&k1;ðg·­×Ù0¬üÙm¿a£ó\X¿ý' uÒkAüVý÷«u ËçoÎþÿ×ûÿsëýÿÏ-ÌçíÂÂ<úUD½_˜KÑôÞ¶ÇŒÞ3Œ,8NC:ÉíR›“§Þ=Œ¼~Óªê¦Ù²¶Î—ë#¢(Žî„¯ÉhpQôNÕ; þ”,î1ù<$ñ`&»`ôºÚúæ}óIÞþßê3RÕͳéV¸KoV7$ïÉ– êdW^5ÿìõ¶» îÊ—±óÿv©š`sS<,É.nÊ4·¬“zK:éÓÑ_ÍÓúßö6çÁÔö{@¢o•AzR’`ðE§Ò‡(ïd]Jîk³ (oó„ªÚ~aÅ7îMx±ÔÛ¢?†åëܨmf¤þ >Ô”UþöýFM)ÙªZõ ;ÉDÿ-€pcí1'¢­¾»–ò߯í&ÅSZª!ô¥I{ï¤Âß͘\¿„¾ _eD_4—ú†{ôrˆŠj¾`7ݾ!ßöw°ór*©þ/NÆm´ÿËÿ¥ öÐWi¹ öXë z¢p LÞßàÛ"åBáæ’K‡Þ'Ž~Ažo˜"ü¯v—ûÓ3GÉù0¥våÿ ’UŸo¾|;Ÿ‹o8÷ÂfäW­˜‹;Žª=Oð½úÉWÈ͘1ÚAýhíÛXÑÜü›½Êþå ¶ÓžþK.RÌ¥íŠ%ye¨Ûþ¾ïèø¨¹öP¸9e7-ÛŽ˜íÑREZ¦¢6çT÷/˜(lñÌΊg#Íhg$aö*ó<|õ²Ù–NââD&=2NP&±dEÙY,ú[;ƒ?R|bŠw*žÑ_ogþÕ45É%›ú.þÌ“{ªßœüj.éέضcó‰Éßµ¼)®;N°O£??“òO{¿ÿ+¼ÿÖ¯7ýNnúëÌ JejÙõÛûúõû)‘ÆÎ_¿¾(ø ›ÉÏ/ìßæ”˜òïð6¦¯|Å[,öU,Ö¹£`=žÛ°V ?¹ºmiØÔи­!ùÛ­]k›çÕÖÕÈO=oÒ¿գ¥V†HKuýf¹F_CÌ|îä×_™²á{É_ìñ5®ÚQ¯º|Ù WÛ³»ÿÛâr`K¹Rwó71Ì€ £´tcc}MéšÆºM5M¥s×&ßf)]QºyÓ†æÒºúšJùyf]]p*]²Â©öXJ:}Ö›·Ô—Öl3ß,×ÜV-m®nj®™S-kˆX§>±ØÇ/Ñ/ËMb‡lƒ_ýõ•¦ÉÀ¬ ¾+øÎà Æ‰ï¾ ø.!¾7ø®à !¾ønà ö"~ øîà»»Ÿ;ä#V:|=Íï>Ml¥Goþ-ƒVùžÀˆoÊ:Tl8üƒM¬"±az?|ð=pMÍ?KlüC 5S—ó=z?ŠøaÀ‘ˆŸ'˜M|&¡áÇæjÿ0å-6~F-n„^óC|>°òK|1¡æWH|)pågr("¡æW¡×üJÀ÷Dýõ¤ú1ùU'Ôü*‰ÏŽ¥üÆáz=QEÍo|„^ó›@|1p˜SÀ÷BþGQþUÄçjþÓˆÏjý›ü§‹Í†¿XEן}o\_Ñ”ÏÜfEÄ×òÍŽ¥öoÕ+o¸•ð'Ôú[¾ôPù—?ˆPË¿”ø!ÀáT~“Ãîð Ôò-ÐÇHËóê•_‰Ÿû7ØŸêw_™ÿNw¾yþ;@ì ø{êüq X£G¯×?ˆøž@.¿ÜCbz/A¨õ¿&B¯ñןsí³ø1„Ú>‰Ï–P~µb›à/%Ôö98B¯ùmòÔO)ñø÷„Q¿̽j‹Ø6ø{{ƒ7õ±Uì4^ão#¾/P禮‹ýþ4Bmßħ½©çC‰J¨õsñÃ:ÿ™ø‡‹ ¡^ÿ±S¡ö¯£#ôÿâÇjüˆ!¡–ÿø½Æ?ÁS¾BâO¡úëëá wZ,µý™? ?£ÍÔþeÆÿY_ýþã1׿w'þðhóÇ>xmsƒ‰ÿ%x³u=£üEàuÌÔùÇÔïebWÀߨë7óÿ—Kµ”{ôZþ+À›5K æÂ ÿ]%v5üý µÿýZô ^ã_Mü Ïo׈]ÿBí×Fè5þuÄgùþ|ø è3\[óß-Ä%ÔùïVð™ÐLõs»Øð!Ôú¹C~ÜìÑkþwŸäõãoˆgÓü~K|È럻Äî¿Pë÷î½æwñ¥ÀùT¿÷ƒÏBþWÿ ø8ø¸kß |Ï9hù!^Ë÷{±Çà/$Ôò=¡×ò=F|iÌ­÷5ÿ?‚…ü £üŸ">“Póšø80ŸòFìÏðjþŠÐkþ&¾8ƒò|6ò7Èó× àsÀœEüßÀç‚7¨ãÔÿâ3 µü'>,¢ò¿*öø‹ µü¯Eèµüÿ ¾8‘ò üä?&”ÿ?‰Ï$Ôüß!>Ôû§Éÿ]±÷àÏ'Ôüÿ¡×üß#¾ÈëûÁç!ƒº¾0?L|&¡æÿ ñq ŸOÅ>‡¿Póÿ,B¯ùN|)ÇÏWàõ, ?µþÍe,ŸIˆü;t >¤ñÓ¡#Êa|„È¿C§=òb(_ ¤ú7kÀ€/@þŠšOâ3 5ÿ^ÄÇÔ:ÈZµCßPîÔ:ô‰Ðkþ}‰/Rÿï0üXä=6Tÿƒ‰Ï$Ôü‡rþ³ÃPøó 5ÿô½æ?|!ò+ å—A<ßÃ4¿Lâã@îr?ê0 þBÍ/¡×üF/B~Ššßâ3 5¿<âã@®?¹V‡±ðçj~zÍo,ñÅÀ}©ýKÀ#oƒtÿê >“Pó/#>äú•µc‡Jø 5ÿнæ_ ¾ù¤ù­Ã$â3 5¿ÉÄÇ4¿u˜"V!¡æ75B¯ùU_ \Gõ;|)ò7¨ë[“ÿlây ¥ùÏ!>ssæ?Wl~ÌmEÍ^„^óŸ>ü¡ö_L|&¡æ·„ø8ó[*¶þBÍoY„^ó[¾ ù•…ò[I|&¡æ·Šø8óÛKloø 5¿ÕzÍooðåȯ<Ô¾ŸI¨ùH|Èù$¶þBͯ:B¯ù­!¾Èã=ø äoÇ×Fâ3 5ÿZâã@Îÿ`±:ø ;$±Ã¦½æ_KÝ©^ùÍØÿXB­ŸCÀWB_*ßVâ‡jù¶?Hç/¶‹ a‡d9:ìýX^ó?ü8Ôÿ8§òûñ£5¿Ã‰ÏêüfÖ&Gȶûcø 5¿#‰/"4úÑbG_L¨õ{4ñ¥Àé%¾ŒPõÇ_œDú?™PõÇ?8ô'?ƒPõ'? 8ô§?ŸPõ§‚sÏ ¸þN#¾˜Põ§_ \sãóÇà' ®ÁŠ&ñ¥„:¾~J|¡áø™ðÄ’kÂá@Ý÷;GìZø3µÿœK|&a‡d?ípžØ¯àÏêó £?_ìð&Ôø?»Ð£7ÿ–%µ–Ï%ÔòÿÒ£§ç_†³ù!TýEžò±þWÄçõùŒÉÿR±Ëá/!Ôò]&v•G¯ñ/'¾”Pó»Â£§óqÃÙü†{økÑþ“ÀO¢öï&vƒØMðguþ3{›Åîñè5þMÄÇÜþ7‹Ý ÿhB­Ÿ[Äîòè5þ­ÄçéüºÃmbwÀŸO¨õw{„^ãßá¹>ߟîò”Ÿù{P¿“Á+j~÷‰=ÿH ׯ9?{Ö£×øêýÁÔŸ9_{þlB­ß‡ÄþäÑkü‡‰Ï!ÔüÍùÛ£ð&Ôùí÷zÿ(ñc€ô|³ÃbOÂ_B¨í÷ǽÆÒS>z¾d¸VõËü³h¿)à òø0çg/ÀŸÔû·i¿¿ŠýË£×ø/? ˜Mí÷¢ØKðçjû™ó·wõ; ¼A½ÿ˜üÄ×q$üq ÎO¦ne.ë˜ïÑkü‘ÄÒú¨£´EÇ,øKµ~%VÇ1½ÆÏ"¾¨ïÇ™ü%çŽÙðWjýŽŠÐkülÏõ+‰ã)?óù¨ßéà5?Ù‹u,†$Pû·©_éK'yô¿˜ø, Ý?:J]vLÀŸC¨õ+eî8Á£×ø âGjþÒ;VÀŸK¨õ[¡×øžëÓýÅp­ÊÏü$Ôï ðŠšŸÌ'§Á?Èõ+ã¡ã"^ãO#> Èõ+ùtœ ¡Ö¯üǽƟIühBÍ_ö¤çÀŸK¨õ;;B¯ñçx®Ïõ·ÀS~æ¡~g‚WÔü–ˆ-ƒ$ëw©Ø¾½Æ_F|ëw¹Ø øsµ~wÛÛ£×ø+ˆ ¤õOÇ=ÄVÂ?†PëwϽÆ_é¹þâ÷ö”Ÿù}Q¿³ÀÏ •ÿ±ƒàÏ!Ôò(vG¯ñ"~4°€âW‹­…,¡Æ_#v°G¯ñ×_¤õIÇubëáOjýÖDè5þzÏõÄ ×±þrBsý4á6_sg<†ï"\X½‡×øõ¤OˆõUÇOý²¾ülð³Cõß"¶þ±„Zÿ[Ä÷è5þVâ z>dê›ØøK µþ·Gè5þÏõ¹}„ëx üe„ZÿG_¬¤ú?Rì(¯ñ"ý8B­ÿ£=õËúcÀÏop Õÿñb'ŸG¨õ‚ØU½Æ?‘ø|`!Å?Iìø‹5þÉbçzôÿâ‹åÿT±Á_A¨ñ(öS^ãÿˆøJà„˜ë?§‰ÿDBí?§Gè5þžëO$þ§T¾I„ÿ,OýL"½p/ƒ P÷/fízñÓ€z¾kêç|±_À?ŸPëïçb—xôzý_¿¸˜êï—b¿„PËwA„^ã_è¹þâ/¡ò-%Ôø—zú'ë/óôï¥Ä_Eãg¡Æÿuèþ£¼ê¯Ãým.xƒúþš©Ÿ›Än?¹õÃͱX§½Æ¿…øl žOõþVáûßK¨í{ñc oö·‹= ÷/wˆýþB§Øƒ½æÿâK ªŸßŠÝ a‡d{u¼Kì^^ãßM|9°’âßãÑóüy/å7ŽPÛÿwžòñýïAª¿ñ„ªÈSÿ¬ü<ôy±ÔõÑcb€?‡Pëÿq±wøè b)Ï7:ÉìT>¡Ö¿Ôu§‰½Æ/!¾¨ï¯˜ú‘:éT!¡Ö¿Ôu§ ^ã—_¤ûW§ržîO†³ù•jýUzÊGûcÃÙúÓrhûËØì4‰øñ@Ý¿˜ú“=M§*øµ~åw;ÍñèõúUÄO#ÔòËÏfÀ?PË7=B¯ñgx®?ø9Ô¿²=üüÐüæ`þZ^QóßMl ü#ôü¼“ì¥:]êÑkü%ÄÇ£bnþ’½P§KàÏ!Ôú_FühB¿–‹.Î:í.¶üE„…Øþ½æ¿ñÅ@îß{Š­‚¿”PÇÏJ±Õ½Æ_E|‚PãïåÑ'H¿šò+#Ôþµ·§|´~3œ­¿rBÕà©Ö~ú…AÚ?tZ+V¡Öÿ:±c=z_Cüh í:­ÛÿB­ÿ b{ô#ñy„¿Ö£çùõ`Ê/Ÿë§N›ˆK¨õÓ(vü…„Z?›ÅŽðèõú‡_D¨ù7‰µÀ_L¨ù5Gè5~ ñ¥„»Ø¡ð'µÿìˆÐküC=åKÕ_¡Æ?ÒÓ¸Ký³ˆûsp8Žø‰@¾?ü@ìø«µ}Ž»È£×ëŸ@ü4Bì:(v’‡WýI¤ŸN¨íw2ñ3 5ÿ‰ÿ,BÍÿ4±Ÿ{ôzýÓ‰ŸM¨í†ØOàŸC¨ùý8B¯ñB<¯á5þÏÄÎ>¡¶ÿÙzާ|ó‰ÿ9ÕßBÿ Oûòþä"šãþ’Ðý1Ì_Šûïnà òþá ±«àÏÆcîþ{e,Ö¹«G¯ñ¯">Èû‡_ ßþ\BíW?†Pï¿×ˆýþ< ï®»þBؽæ=ñ¥ÀÕÏ b7Á_F¨óÿb·xôÿ&â˼¸Ù£çýÃ-”ß8Bí?·zÊÇëÿ;©þƪþ7žúgýoÁ/FÿXK½ÿÞ+vü9„Zÿ¿{Å£×ø÷?È÷ßûÅ„ ¡Öÿb{ôÿAâó€t~×é!žÎï góK¨óÏ#Äjý<.öüÅ„Z?{Á£×ë?A| ¡æÿG±§à/%ÔüžŒÐkü§ˆ/#Ôø{þrBí?ÏFè5þsžòÑùálýUjü=ý‡Îï gûç8 ßuú;ñ“t~×é5±×áŸN¨íó|ùWX¯×ø„zÿ}CìM¯ú7I?“PÛï-âgjþæ|ò=øçjþÿûÒ£×ë¿Gü\Bmÿ÷Å>€¡æ÷ï½Æÿ€ø„ÿ±Ïà_H¨íÿi„^ãæ)Ÿß}Iõ·ˆPãåi_:3œ³=|—Ðý1ÌwÅýw xƒtÿíÜC¬ü™ÀxÌÞ;«òè5~/â³tÿíÜ[l*ü¹„èû?†÷ßÎ}Å2àÏÒý·s?±ð—j|“Ã^ó@|)0Aõ3Pl0üe„˜ÿ;Kóè5þ`âËtÿí<Ä£§û¯ál~ãÑ:§{ÊG÷OÃÙúO¨ú‘žúg}ø¥èKc)çwMåÀŸO¨õ/}¢s±G¯ñsˆ/Òù]gSÇcà/$Ôú—¾Ô9ߣ׸cˆ/Òý«sžGO÷'ÃÙüJ µþ <å£ýŸálý•éü®s ñã´?ëœ+‡¿ŠPëWbvžäÑëõˉŸF¨å—{YçqðO'ÔòUFè5þ8ÏõéüÍp¶e{ø©¡ù%ÌWaþZ~Y,åýâÎ3ÄfÁÒûÅå^Öy“G¯ñg?¨ë¿þÂÉœÞù`øóµþçŸO¨ó—Ü‹:ï PÏŒ^îeÀŸ Ôø²—ë¼Â£×ü_Ô÷{LýȽ¨ónðWêø‘{Eç%½ÆßøJàDŠ¿Ø£ŸHú%”ß$Bí_K=å£÷s gëo2¡ê÷ðÔ?ë÷$~*°ŠòßKloø§jý¬Û×£×ø{?Hç÷ñèiýc8›ß\ ®OÌü°ñ‹€Ë©ÿ vü»jÿ9PlƒG¯×?ˆø„šµØZø÷ Ôú_¡×øk=×߃ø T¾Ñþ`Ïøe~æ‡åà fPþ b›áÏŽŠ¹ù¡QìB^ão&>ˆóù`~8DìøÇjý7ŸG¨óC³Ø1ðçõþdô-b[á/%Ôø[ÄŽòè5ÿ­Ä'€´¿ê¼Mlüå„Úÿ·‹æÑküÄWÇSüC=úñ¤?Œò›@¨ýë{žòM ýQT U´§þY x3f2¼¾ùØ ðçjý/v†G¯ñO ¾Èë›ÅN†¿Pëÿ$±S=z2ñEÀRŠŠGÏ÷S)¿¡Öß=åKþ ª¿r ¾mæ¯?¨ó¯©¿3Å΂¡ÖïOÅ~îÑëõÏ"~:¡–ÿgbçÀ?ƒPËwv„^ãŸã¹þ âNý+ÇÃ_š_Âü…˜¿V€7Èó×Åb—Ÿäùë±çñè5þGÄON¦ø{ô“Iÿ å7¨ãÓÌŸ?8ŸúÏçbÿ¡öŸ/DßÉ£×ëÿ‡ø…„š¿9_þþE„Zÿ_Eè5þמëÓù±álùFyø®žñË|7Ì+cîoeÐüÐEæ€.½áÏÒüÐ¥—ØV^ã÷&~æ‡.}ĶÀ?šõߥ/ñ¹„š_?±ðçqÿ4Ÿêb®1Ä£×ü?–Pã !!Ú¯Ë Êõ°çúÌ!}1Î?» ÓzMvHæÑe˜X¦G¯ñ‡_NhâwNÚªËH¯ú‘¤¯êø7u—áÉŸõ™àÍ;j™@í?¦|Ò'ºäÀ? ¨Ï'$Né+]š=zŸC|.õcÆwéK]ÆÀ_F¨ýK4]ñè5þâË M|éo]òˆ¯ 4¼Ñæ_ œLù™>TÿBÍOúJ—r^ó+$~*¡Ö¯Ü뺔À_E¨ý·8B¯ñK<×§õ‘álù¦šøæÚÄÏ Ôú›@üLB­¿‰ÄÏîFõ'÷Œ.Zo‹ µþ¤®º¬òè5ÿ)Ä/.¥øR]´\Ë5¾9ÿÞÝ£×øÓˆ_N¨í#÷ª.ZîÝ µþfDè5þLâ÷ Ôñ=Wlž‡Wý<ÒïI¨×ŸO<›æ/uÙE˽¡ö¯Åz½þOýíEüîÔ>« 5þ Oû®&ý*ê?{jùö"~_BíŸû¿¡öÏýˆß¸–úøºÿ:Bí?ˆÕyôšÿÄ×jû$VíáU_Múõ„Zþ5Äo Ôö•ßí²~F­ÿ z½þFOù6_GõWK¨ñë=ós-éñܘo¦ûÓ(/\Êú%Ì ¬ö¿µ¿¹7í¿¼Á‰ÄüÞà ÒùQ—#ÅŽ†? ¹õÕQb'zôšßÑÄgó)þ1bÇÁ?¨û'3w+v‚G¯ñ#¾Hû£.ß;ÞëþxO|æOð”ùQû€78‰ê÷ðû‚7XIüÀïÞàBâÏ¿?øýCü™à@ˆÿøÁ\Aü¹àP,uýós±_Â? ¨ëÓþ¿û•G¯õóKâsÜþˆ]äáU‘'>ó¿BþÕà òþàR±ËáÏêó_“ÿeb×yôÿrâãÀQÿ ±«àÏ&4óƒYÛ])vµG¯ñ¯">8†âÿÚ£Cú«)¿| ïk<õÃúëÀ¯¿&–:þo»þ, –ßÔßMb¯yôÿfâs€t~Üå±WáC¨÷Ÿ[‰ÏÒû;]n»þBÕß.v¯G¯ùÝA|)0Aå¿Sì·ð—êüÿ›½Æÿ­çúeÄßKå+'Ôø¿#¾ÈëóÄ‚ ¡–ÿA±gAhøÃ’n·k<–\sêþ¢³pÅ:{x”ßp~xƒz•üºJïÚþ,BäßUÊØu¸G¯ñ{¯×¡ó§®rêÚþRB´_×^zß›ø2 ž˜üú‹ „¿’Pó—9¤ë^ã$~!Ú§ë ~é‡P~ã UŸæ©¿ñ¤Žö1{š4BŒ®™àµ_(¯ú8úñ§jýŽ õß°>|-üŠ]ó‰Ï!ÄøèZ@|.ÆG×±æ¯vÃ_L¨íSH| ¡Ö_ñ B««Ù÷Œú5¨ëgÓ÷¥¯u-óðZþ2è77ÈãCúR×ñðgjþÒºÎ÷è5þxâã@Z_w•y¯ë$ø µý&Fè5þ$â ´þê*÷ú®Óá/!Ôü§‰Íòè5þtâK µ}fxô´ÿ2œÍ/A¨úÙžúK~>ÚÇœ¤êøØ ¼ö åU¿ýÇøÓ µ~—†úoX¿|=üŠ:>VŸC¨ãcñ¹@{‰1¡¶ÏjâKµþö&>A¨ãCö»]•ŸP¿qþŒÙÏv=ÀÃkù€¾¼A²_éºþ,BÍ_Ö+][õ==ß0œÍ¯‚Põ›=õÇ÷¯´ü^Ð/u|l¯ýByÕŠþcüé„Z¿‡…úoX8øCà?$–ò÷sºC|¡Žc‰Ïòø8Nì ø‹ µ}¾O| ¡Ö߈Oêø8^ìRù¹ õkPÏ/Íø8Qìd¯å?úfðy|üPì4ø³5ÿ‰]àÑküÓˆqÆÇéb?†,¡¶ßzÿcâ‹€ô~W׳ÄΆ¿”Póÿ™Øy½Æ?›ø¡¶Ï9}‚ôçQ~e„ª?ßSe¤¿ícÆP¡Ž‹Ák¿P^õ—¢ÿ:¡Öïe¡þÖ_~ ü‡ÆÜø¸†øBן äñqØŸá/&Ôö¹žøB­¿ˆOêø¸QìéXòï n¹ñq³Ø­^Ë+ôÛÀäñq‡ØoàÏ"Ôüï{Ü£×ø¿!>¤çï]+v7ü…„Ú~wEè5þÝÄK)ÿûÄ€?A¨ùß/ö°G¯ñ ¾ŒPÛçAžû÷Ô_9¡êñÔßGûÈ}"蟊:>ž¯ýByÕ?þcüé„Z¿Ï„úoXÿgð;à7¨çÃf|ü•øB/Ÿ äññb,Ö­3üÅ„Ú>#¾„Pëï%â„:>^Þü|(ê×ઘ{ÍÃkù_ƒþ0ðy|¼!öüY„šÿ›b_xôÿ-âã@ݘññ¶Ø;ð—jûý3B¯ñß!>,§üßûþ BÍÿßb{ôÿâ+ µ}>ôè+Iÿ1å7ŽPõŸxê÷÷_ }¾KöOE_ƒ×~¡<ô† úñ§¢~»u õß°¾3øÃá?<–²ÿèÖƒøBŒn=‰ÏÒøèÖKl&üÅ„hŸn½‰/& -\âËQ¿Ýú_Aˆ>ß­¿˜y?âÔÿ1û~„?ÝŠ öðZ?ƒ¡?¼A?ݤ®» ƒ?‹PË'÷ân=z?Œø8öïÝDÓm$ü„Ú¾#"ô$ñ…@Ú¿wM·løK5ÿQb¹½ÆÏ&¾”PÛ'Ç£§û“ál~ B-ßâËS(é{ÝŠàŸJ¨ùË5»Uxôzý"â«€Ó©þ¥¬Ý´\3µ|%z_ê¹þ â+¨|3 5~¥§ÿÌ$ýDôÏ£bÉq«ˆù£ÛTð:.”Wý4ŒãO'ÔúŸßaýLðGÃopXÌÍóˆÏ!Ôùc>ñ¹@ž?ˆ1¡¶ïBâK€‰˜›?_F¨õ»ñ„:,3sö1¨ƒú|Ý̦v÷ðZ?»C,xƒ<ì)¶ þ,B-ßJ±-½Æ_E|HçÝöÛþ"BmßÕz¿7ñ%@­_“ßþbÂ_F¨ù ¶Æ£×ø_N¨ísGO÷oÃÙü*µ|k‰œFùË^»[-üÓ 5ÿb›=z½~-ñ3€³¨þ«ƒ6¡–oS„^ã×y®?›øÍT¾9„ÿOÿ™Cú-èŸæœ4B?v€×q¡¼êÃø1þtB­ÿï…ÆwXøïÃoçc‰Ï!Ôùã8âs<ÈÿwþbBmß_Ô÷sÌüq<ñã oî]'?HÏÏ»(v’‡×òŸDú*Bm¿“‰ŸN¨óÓ…V~þÚ× >4ýï4±3àÏb~1ïot;]ì§½æwñ£€EÿÇbgzxÕŸé‰ÏüO‘ÿñà Æ)þÙbçŸ Ôö7ùŸ#v©G¯ñÏ%>Hû‡nç‰ýþ Bíç‹]ìÑküŸ_ Ô÷oLþ¿»þI„Ú¾¿ŒÐkü <ןDüÅžò3)ê÷ðéýžnWˆ]6ë÷J±ßzôÿ*âszÿ1õ÷k±kà/"Ôú½ZìN^ã_C|1PÛÏÌ×_A¨óÃuÄWyýx½ØðO%Ôün»Å£×ün$¾ŠPÛ÷&¾Šô·P~ÓU«§~øþs§§}˜ÿ-Úÿ$ðu~0{§ß ü™„ZþûÄ^…? ¨ýÃôŸû‰Ïêû!ý„{€ø| ÿv{PìaøK õú‰½ìÑkù&>¬¤øˆ= ÿ8Bÿ{±?yôÿQâÇy|?&öø'šø3„{\ì½Æÿñ“ú~’ÙÛ<áÑÏ%ý)¿y„Úžô”oéÿDõ7ŸPïß&~!pIÌ­åÞÔíø—êõÿ¡×ë¿ài_ú|‚álÿYF¨ñ_!>“xóoE’³ý{wB½¾&üäç“¡7¨÷Çþ¿.üIð"ÔþóñÙ@Þ¿¿)ö6ü„šÿ[z-ÿÛàOo0/æú÷¿ÄÞ‡?ŸPó{Oôi½ÆŸø ßuû·Ø‡ð—jÿø B¯ñ?$>äûï§bŸÃ_A¨ù&ú½ÆÿœøJ Os¾ö%ü“5ÿÿDè5þ—ÄOêù€Ôc÷ÄÏ$Äý§{Gâgºüºwëÿ"Bôî#ôÈÏh[ÕÏ"â{PýïFˆòwïIüàîT¾¾ÄïA¨åëGüJàj*_±ðïM¨å¡×üzúïÞħa|œKŽ_ƒŸæýÎîC‰Ï!Äøï.÷ÄîfÍôCÄ7Hã·»Ü+»gÂ?¨ëSw²ê^îÑk~™Äq3ý¿»Ì5ÝGÁŸ DÿïKxôñeÀq”¿äÔ}4üã µýs"ô4ñº¿1ý#Ÿøi„Ú? ˆŸœGùIv/‚>¡ö½æW䩟ùÄ'<íÃ|9ÚÿGàäú‡™ÿ»K]t?þ\BmŸñÄÒüÜ}‚Ø$øó U/uÚ}žG¯ùM"¾¨ýÇÔŸ¬ºO…?A¨í;%B¯ñ§_Ôö3sÔy÷YðO'Ôö™¡×ø³<å£óQÃÙú›A¨ñçƒ? úÓb)ûÏî2—u_ PëÇŒÏÅbû{ôzý%Ä—'P|Y‹t_ÿDB“Ÿ&Æ ^ã/'~PÇiÿÝ=z:0\÷}à¯"Ôþ³ñÓ€zþdî {Š­ôð%égjý¯"¾ŒxÕïã©_æ÷§öÍöðbüÞ Ÿ5bëàÏ'Ôò¯;Ú£×øëˆ/Òú¦{ØøKuü¬Ðkü Ä'€ºþ0ùm«‡¡æ_'ÖâÑküzâ'gPþ b›áŸI¨íס׸›=ןI| •o¡ÖÏâçÄÜýañ‹õþp(ñ‹Ë¨|æ}8üË µ|ß‹Ðkþ‡{úÇrâFÿ3{„LBßh¿^× Ê«Þœêú=ÓÛó=Ó÷Í;Tà 5þ©àu_¢¼ê…³û—á^¸`ÿø Æc®ÿ)vü£µÿ™ó·'=zñÙ@z?¬ûÏÄÎ,¡Îg‹çÑküsˆ/òø<×£çñwåWB¨ýó|â„Z?ˆ]¡ÖÏ…byôzý‹ˆ/òøÿ•Ø%ðO"Ôø‹ýÚ£×ø—?XEõcÎ÷.‡¡ŽË"ôÿrÏõùþýk*ßtB­ß«‰ŸI¨ãÿzâgêø¿øÙ@]šú¹QìføçjýÝ$v·G¯ùßLüànT·ˆÝÿbBí¿·ŠÝáÑküÛˆ_B¨ño÷èéüÃp6¿¥„Ú~wzÊGç#†³õ·ŒPÛçâw®¤ö¹ŸøU„Ú>¿po*߃bÿ¡æÿP„^óØ3¾ö!þ1¿ûjüÇ=ó×¾¤ó£yF‘F¨óïŸÀësåU/\ðüÅøÓ µ~Ÿ = ëŸÿSø Òó­î/ŸC¨õÿ2ñ¹@z¾Õý•X¬Gwø‹ u|üøB­¿W‰OÞÜ{_ÞœOœ…ú5HŸénÎÇÞôðZþ7¡ÿxƒôü»û?ÅÞ…?‹PóGìk^ã¿K|HÏ¿»ÿKì}ø‹µýÞ‹Ðkü÷‰/&(ÿÄ>¿ŒPóÿXìs^ãB|9¡¶Ï§=ÎæWA¨ú/<õWAú¯Ñ>rŸú§"ÆGNàµ_(½á‚þcü鄨ß]Cý7¬ïþøÏ‰¹¿¯(ã£Gâs1>zô%>Hã£G?±qð¢}zô'¾„õ×cñ BŒÅL{œ‹¼ b~2ã£Ç`±4¯åOƒþ<ði|ô¹¢Çø³5Ñô(òè5þâã@Ú?÷)– 1¡¶_F„^ãg_ ,£üeÍÖc4ü儚¿´e<^ã&¾‚PÛ'×£§þm8›_%¡êó=õGÏ ´¬#ƒþ©¨ã#^û…òª/Gÿ1þtB­ßŠPÿ ëÇÿ9üéþÑc2ñ9„:>¦Ÿ äñ1Ul üÅ„Ú>UÄ—jýM#>A¨ãCî©=Ìþÿ¨_ƒkbn|ÈZ±Çl¯åŸ ý/Áäñ!k½ àÏ"Ôüe­Øco^ã/ >¤ûG…b»Á_D¨í·(B¯ñw#¾˜ üÍïì¡æ¿\lO^ãïN|9¡¶Ï žî†³ùUª~¥§þx|íö‘}TÐ?u|ì^û…òª?ýÇøÓ µ~ õß°~ ø á782æÆÇâsu|l$>Èã£VìðjûL| PÛ×Ì]›ˆ/#Ôú­#¾‚PÇOƒ˜™“.BýÄþ$?›Åš<¼ÖOô¿oÇϱmðgjù¶ŠýÔ£×øÛˆõù¾?ÛÅ…¿”PÛwG„^ãJ|Pßï0ù!vü•„šÿ‘bÇzôÿ(âÇjûíÑÓóÃÙüÆjùŽ#~"P÷Ç&¿ÄN‚¡æ¢Øé½^ÿ$âgõýSÿ'‹ ÿß1ùÝ!öø'jþwŠÝíÑküß?‰PÛç·=½Ÿg8›ßdB-ß=ÄOêø6ùÝ/ö üó5ÿÄ÷èõú?Hï'ôxHìøjùŽÐküG<×§÷ gË·¡Æÿƒ§ÿÐù›á‚þiÎ@Óuþø3xÊ«þ9ŒãO'ÔúÿKh|‡õ…Øਘ›?^&>‡PçWˆÏòüñ÷X¬ç]ðjû¾J| ¡ÖßkÄ'u~ø‡ðÒÇc2Oû ƒ#¨ýß{ þ Æ·y¾ÚãMÑ×yôZ?o? ˆççAÿ}[ìøÇjùþ)úƒ=zÿñyÀJÊÿ]±÷àG¨íû¯½Æø À‰”ÿ‡bÃ?‰PóÿHôƒ ¡æÿi„^ãF|pNÌÍÿ_Š} ÿ\Bí?_Eè5þמòÑüb8[ó‘ÏÎÄ/.uåï)c gOø—ª¾G„^¯ßüUhß«b)ç=û‰ €¿˜Pã÷ÐküÄ—éþÕS愞éðWjü´½ÆO'~ÞOè)c­gü 5þȽÆÏ ~2p Å—1×3þ©„?;B¯ñsˆŸœAñ¥N{À?“PãçGè5~ñ³ 5¾´eO­×9„¿$B¯ñK‰Ÿ\@ñ¥-{j½.$Ôø•z?ŽøÝ€ôü¨§Ì%=§À¿”PãOŽÐkü)àÍ3¾<àXŠ/uÙsü…„f„^ãÏ"¾Hû¿žRæž à/%Ôøó#ôñe@z¿­§ìu{.…<¡Æ_¡×øK‰Ÿäþ¿BlOø§jü="ôOâ§gRüÕbûÀ?‹Pãï¡×øû?Èýó±ƒà_H¨ñŒÐküƒˆß ¸˜â¯[ÿBÜ?zÖDè5þúÐý]õÊZ_„ù:¬_®o0#fïÏ=Å?“÷瞛Ŏóè5þ!Äg¹7‰µÀ_J¨õÛ¡×ø-Ä—+(þv±Cá¯$Ôø;"ôÿPâÇi}Ñó±£àŸB¨íwd„^ãå©?îÿÇ¡}®M¨}N; þLBmŸÅÎ÷è5þIÄgT¾“ÅN…¿ŒPëÆ?•ø Ï?§‹ýþñ„ÿŒ½Æÿ1ñ<ÿœ%v6üS µ}~¡×øg{êo*ñç£}®m¨}.»þLBmŸ Ånöè5þEÄgy}ô+±K௠Ôú»8B¯ñ/!~×G²ßéyü 5þ•zñ“UˆßU8ùÿž×Ã?PÛ纽ƿÞSôþá‚ö‘8Á¾SûÛž·ƒ×}òª.Øÿ:¡–ÿ7¡ýgXøëá784f÷·=ï#>‡ûÛž÷Ÿ ¤ýmÏb±^ƒà/&Ôþõ ñ%„Z¿Ÿ Äþ¶çÃÂ÷—Ÿoˆ%Ï Òû =/ö˜‡×ò?ýà êþXü=Ÿ¾+ü„šÿ‰ÏjýþI±§áM¨ú§Äž÷è5¿§‰ÏÒûy=Ÿû3üc µþþ¡×øö\Ÿ×ÏSù 5þ_‰/&Ôöù›ðåç›ß ž/˜ú}YìkøGjý¼B|6p Õ¯9?y þÏGRùjü£<ý‡çãÐ?ïŽ%ǯ¢Î'€×q¡¼êOÂø1þtB­ÿ“Cã;¬?ü=ðßKyÿ·×Äçêüñcâs<üDìø‹ µ}Ï$¾¨ë3ü”ø „Z¿g?‰Pç³ÅÌóù{Q.ƒº0óǹbç{x­Ÿó¡ÿxƒ<üRìBø³µ|ˆÝãÑkü ‰éùX¯‹Ä.†¿˜PÛ÷Wz1ñ¥À2Êÿr±+á/'Ôü¯»Ú£×øW_A¨ís•GÏõ{5åWI¨å»†øñÀé”ÿ b7Á?ƒPó—}C¯;=z½þMÄÏÒû½d¿ÑëVøjùn‰Ðkü[=×çñ'•o7BÿOÿÙô÷ ÞKŽ_E?î¯ãByÕ?ˆñcüé„Zÿ…ÆwXÿøûá¿?–:üøB?ž >ÈóÇÅ>¿˜PÛ÷IâKµþž">A¨óÃÓbÊÏ oƒx~Ì{ÖÃkùŸ…þAðy~0ç3/ÀŸE¨ù›ó™w=zÿñq Ï/н1¡¶ßß"ôÿ%âK‡PÇÇ—Äçy||‹õ 1¡¶Ï×Ä—¢þzLjOb|ôì-{ôØ#¨_ƒ«cv|ôî$ÖÅãü† ô¿oÆGo)Cïžðg"ÿÞ=ÄFxô¿'ñq ÊoÆGï^b}à/!Dûõî¡×ø}ˆOucò 6þ BÍ XšG¯ñ_I¨í3Ø£§þm8›ß8BÕ§{êž.hŸGcÉþ©ˆñÑ; ¼ö åU? ýÇøÓ µ~³Cý7¬ þ1ø êùŒÞÄçb|ôK|.ÆGïB±jø‹ µ}Šˆ/&bvýÙ»˜ø2B­ßâ+uüH¬Þ²G=Žú7¨Ï¯Ìø‘¾Ð»ÒÃkýTBÿðyüÈZ¸÷$ø³µ|ÅV{ôñq =_ï=Yl*ü Bmß)z?•ør í_{Ï›ÿ8BÍ_ÖT½çzôñã µ}f{ô´5œÍo¡–oñZÏ´í-k¹Þ‹áŸM¨ùËZ­÷½^1ñs€ó¨þe­Ñ{üó µ|K#ô™çúó‰ßƒÊ·€Pãïéé?´?6\Ð?Ÿˆ%ǯ¢Îû×q¡¼êÀø1þtB­ÿCã;¬¯ÿGø òü±žøB?6Ÿ äùc£ØÏá/&Ôö­%¾˜ˆ¹ùã`â˵~7_A¨óG½˜ìQcO¢þ òüÑ(vˆ‡×ú9ú§Àäù£El+üY„Z¾-bgzô+ñq ÏÛÄvÀŸ ÔöÝ¡×ø;ˆ/òüaúØ‘ð#Ôü;Æ£×øG?žPÛç(žçc(¿ „Z¾c‰Ÿäùãx±áŸM¨ùŸ všG¯×?‘ø9@ž?N;þù„Z¾“#ôÿÏõyþ8Ê·€PãŸîé?<œ‰þižÁ§êüq6xÊ«þ\ŒãO'Ôú?/4¾ÃúŸƒ~ƒÃbnþ¸ˆøB?~E|.ç‹Åž‡¿˜PÛ÷âK€‰˜›?.%¾ŒPë÷2â+uþ¸BÌì_ÿ„ú7ˆ÷—‚ùã*±«=¼ÖÏÕÐÿ¼Až?®»þ,B-ßõbOzôÿâã@¼¿ôßÅn†¿ˆPÛ÷¦½Æ¿™ø Ö¯Éïv±;á/#Ôüï»Ë£×øw_N¨íóž×ÿwQ~„Z¾»‰œFùß'öüÓ 5Ù—ö~Ì£×ë?@ü  ÎO¦þe?ÝûaøgjùŠÐkü‡=ןMücT¾9„ÿqOÿ™Cú'Ñ?¥êüñ'ð:.”Wý³?ÆŸN¨õÿ\h|‡õσþçÜõƒùã%âsuþx™ø\ ϯÄb}†Â_L¨íûwâK€‰˜›?^%¾ŒPë÷5â+uþx]ø!òó_PÿõùŠ™?Þ{ÛÃký¼ ýóà òüñ®Ø{ðgjùþ%ú~½Æø80?æúïûbÀ_@¨íûï½Æÿ€øB ž/˜ü>û þBÍÿS±ÿxôÿ3âK µ}>÷èKIÿÊ/A¨åû’ørà—Á>àŸJˆüûtëéÑãúFkù*àtWÿ}¤ôé ÿ B”¯O—½Æïê¹þ â{Rùfjü^žþ3“ôýÐ?ÿKŽ[EÌ}×q¡¼ê‡`ü:!ê¿OZh|‡õCÁ¿¿ÁQ1;ôÉ >‡óGŸLâs4ô‘±Ôgoø‹ µ}ãÄ—±~6óGŸQÄO 4¼\¯O6ñ“€º¾0m'¹öíáµü£I_E¨í—KütBÌO}LVÉÏ/¢} âþdæ§>R7}Š<¼^¿ú¿7˜sãCÆZŸ2øsµþbË=z_Füh`>Å—>ݧþB/}®Ïn½Æ¯$~,P÷‡füI[ö™ÿ4BíŸã#ôñ3€´é#sAŸ*øgjþÒÖ}fxô¿Šø9„ÚþÓÌ‹¹ùé ±ÀŸO¨ý§šøB­¿5Äêü°VLöà±WP¿õ|ÂÌ5b<¼–ôÿ÷XÊú¥ÏÁbuðgjþ›Ä÷è5~ñq Ÿô©k„¿”PÛ¯!B¯ñ‰/VPþÍb[à¯$Ôü[Ķ{ô ñãµ}¶zôôüÁp6¿ñ„ªßá©?:1\Ð>²Î ú§¢Ž£Ák¿P^õÇ¢ÿ:¡Öïq¡þÖÿükðäû÷ÉÄçêø8…ø\ ß¿O»þbBmŸ_B¨õ÷#â„:>N»V~þê÷±Ôñq†ØO<¼–ÿ'пÞ ³ÄΆ?‹Póÿ™Ø½Æ?›ø8Pû¯çˆ%¡¶ß¹zñã)ÿ_Š]ÿ$BÍÿ±‹=z!ñ“ µ}.òè'“þbÊo ¡ê/ñԯϯ@û¼KöOEWƒ×~¡¼ê¯Eÿ1þtB­ßëBý7¬¿ü›ð¿IýÃŒ[‰Ï!Ôñqñ¹@·‹½1¡¶ÏÄ—éýÔ>w_A¨õûâÇêø¹Kìùù-Ô¿Á=cnüÜ#ö;¯õó;èßÿv,uü< öüY„Z¾Å^÷è5þCÄlj˜?‹ýþ2BmßG"ôÿ÷ÄWuÿ`òûƒØáO¨ù?!ö´G¯ñÿHüBmŸ'=ú ¤šò›H¨å{†øÉ@Ý?˜üdßÖçyøçjþ{Å£×ë?Oü\àBªÙöyþE„Z¾"ôÿEÏõÿ •o7BÿwOÿÙô¯£þ3–¿Š:¼ ^Ç…òªãÇøÓ µþß ï°þ=ðïÀoý?˜?>">‡Pç‰Ïòüñ‰ðcà/&Ôöý”ø`"ææÏˆ/#Ôúýœø B?Ìû?f¿ø.êß ¯õùJø˜‡Gý.Ðÿ ¼Aš?úvë!Ê×W®Ñw¤G¯ñ»¢|¦ÿö•=~ßîð—¢}ûv‹ÐküîÄWÇSþ½ÅúÂ?Póï#6À£×ø}‰ŸHˆöéÛÏ£§û·ál~“µ|‰Ÿ¤ýw_sþ3þi„zýô½^¨§}èüÞpAû¿KŽEŒÏ¾qðÚï”W}6úçûð¿Oz“Ÿ¾Ÿ£ã'¬ÞÔÝÒ+oÞÏIÈÏæ35~xSÆ.Ä«^¸¾å1ûÎ\+^Ÿ¥|Þ`wª™“úN€¿¡ù]S6é+}'yôñ=}b®Nôèû^¸¾Âß—Pûïdâû1?šñßWúDß*ø‡jÿ›¡×ëW?8ŠâÏ› 6¡ÆŸ¡×ø³‰ , øóÅÂ?–Pã/ˆÐkü…ĉØ2øË5þÒ½Æ_F|p<ÅßCl%ü5þžz¿’xí'ôþF_s¾²/üÓ5þ>z¿/ñ3€³(¾9©†6¡Æ?(B¯ñ«‰Ÿ \HñkÄ6À¿ˆPã¯Ðkü Ä/.§ø›ÄêáßPã×Eè5~=xóŽo?àŠß$Öÿ@Bߡ׸-Ä£øÛÅ…8¡Æß¡×ø‡?˜Eñ; þ8¡Æ?2B¯ñ">˜OñÍùÇà/ ÔøßÐkü_LPü“ÄN¿ŒPãŸ¡×ø§_œHñO;þI„ÿô½Æ?ƒø)À™ÿ§b?ƒ¡Æ?+B¯ñFüà|ŠoÞ_ù9ü õþy~„^ãÿœÆGÒ+!~þü'1w¾kÖW|ýõÛæ|áSðŸ†ø_ƒÿ ¼Á®1wÿ½Vìzø»qÿ5ß_Ù÷:éö«“Pó{€ø8P÷_¦þ{þbB­¿‡"ôšßÃà¿D~Ó)¿Ç‰Ï$Ôüþ@|ÈóßbOÂ_@¨ùý1B¯ù= þ+ägpå÷gâ3 5¿g‰9¿çÄž‡¿€PóûK„^ó{ü×ÈÏ =ßéûñ™„šßËÄÇœß+b¯Â_@¨ùý=B¯ù½šäͯ›üäüÞ$>Ó¡Íï-âã@Îïm±wà/phóûg„^ó{|ä×!”ß¿‰Ïthóû€ø8ó“ùºïÇð8´ù}¡×ü>ßùNù}A|¦C›ßˆ9?éï}¿†¿À¡Í﫽æ÷5øNȨùõëL|¦Cͯ_âã@ʯŸÜKúu‡¿À¡Þ?ûu‹Ð#?£åùÑê•ïœÿX‡Zþ~}Àw†Þ ÍOý?Ì¡-ß ð] 7Hó{?™Ëû¥Ã?Ä¡Îïý¤./õè5ÿtð]¡7HóS¿aÄg8´ù '> 8¼©;‰Õï`øóÚüFŸïжOñcüaÂI_è'{³ÖêÏàbjiÓ~Ù^ËŸ }wðéý~¹byðç8´ù›:¨öè5~ñ£ÚúÍ'>ס­ßâÇ8ÔõU?©‹~Eðç9´ý¯0B¯ù_,¡üÄ—:´ù•ŸŽ£üÊÅ*áïÐæW¡×ü*‰ŸœFùM$~ºC›ß$âgçQ~“ŦÂ?ß¡ÍoJ„^ó›JüBà"Êoñ»9´ùÍ$~1p å'{‰~sà_êÐæ7;B¯ùÍßý¯õ“ßBâóÚüŸ¤÷úIYú-¿Ô¡Íoq„^ó[B|°’òÛøqm~+ˆœLùí!¶þ)m~{Fè5¿•ÄW§S~{?áÍoâgçS~ûŠíÿ‡vþÛ/B¯ùíšT¯|5æ7sv9ÄaÿpájÀëüª¼ê7`þ5þ4‡¶þ6†æÿ°þ`ð½p}ƒôü·_#ñq‡¶þ6Ÿ ÔóEs9Dnkùðuhçç&â úþ®Œ‡~ÍÄ—8´õßB|¡½ÿlÞÌÛ½Qÿu}Õ_øíb?„¤C›ßâ3ü(á;þL ߟL‡ÃŸãÐÆÿžØQ½¶ÏáÄvhË„G?šôGQ~¹­þhOùX ñy@Ýšü¿/v<üÅmù~ v’G¯ñ'¾Ä¡Íïžç§“(¿aþ‡hÿ>àûPû›ñ}ºØá Ôõ“Œ•~gˆýÂ£×ø?&> Èíÿ±ŸÂŸãÐÖÏ™bç{ôÿ§Äòúâ,±³áÏshëïgz¶çúyÄŸï)?ó¿@ýöß7–:¾.»þ‘mù/">¨Ï‡ ÿ+±KàíÐê/»Ö£×ü.!^óäú»TìrøóñÍüs™Ø•½Æ¿œø|‡6þ=ï_®¤ü Úö»ÊS>Þß\Kõ7Ö¡Õ_G|Pׇ¦þn»þ„C[¿7‰ýÆ£×ëßL|ï÷ëû[ÄnƒžC›ß­z›çú¼¾û •o˜‡¿ý³x ms~öü#€<þÍùÙ3½Æ€ø, ¶¿©¿Å†¿À¡­_s~ö”G¯ñ&~,°òDìQø‹Úþû{±Ç=zÿ(ñÅmüÇ<úbÒ?Nù•8´íûOùx~~ÊS¿Ì?ƒö뾨ýÌùÛ_àÔóÓ~ωýÃ£×ø!>Èó9{þÑmûýUìU^ã¿@|®C›ÿ‹b/Á?Æ¡­¿¿Eè5þKžëóüôª§üÌÿõ;¼A¾?šó»·á Ôõ¡©ß·b±þ½Æ›ø8pô’K¿ ŸŽC[¿ï?Ú¡]½+|'øµ:>Œþ_bïÃ_äÐÆOôª¾GOû²¾xóÌ7¨÷oñ÷—6èßþ<‡Ú¾ýeÒ˜G¯ñ{¯×Ñý‹‰-}¼oøÇµIûö—ýFÿÁ½ÆïM|Pï¿Ò¾ýMŒ~ð'jûôï¡×øýˆ/shõƒ<ù•‘~0•¿Ü¡mŸ!žú+'ý0jŸJ ú‡iËþÉŸÔý¹i™SúgÂ?ám?¹fÿ\^¯ŸIüL‡¶ýäžÓü³ÚòÅ#ô”çúôþ…álÿ{øüÐüæ 0ÿoPçW“¿´yÿøã@Ý_˜¾)c¶ÿA½Æ/!~4Pï?ý…“¾Ôÿ@øóÚúOŸïPçßþÒ—úÏ€¿HëËþÒWúWŸphãWˆMóè5ÿJâË€åT?2öŸ…C]ÿô—¹¬ÿ$^ãO ^óœDñ'zô“H?‰ò›ìÐö¯ÉžòÑù•álýMqhõÓ=õÏúàÍ3ƒ ÏsÄæÁŸçÐÖ¿¬µû/÷è5þ<âóÈóãb¿¬C[ÿwŠÝåÑküß_äùñ·=ÏwQ~åmýÝí)Ï÷QýUy~¼ŸøIÀ©T¿Š= •C[¿‰=áÑëõ&~p•ÿ±GáŸëЖï÷zÿ¨çút~n8Û¿r=üS¡ù%Ì?ùkxƒ<ýYì9øGyþzVô½ó#H_Jñ•ÏðÔóYžöc>Žþažqä/{Ç9àõý"åUŸ‹÷Œ?Í¡î_Œ ½ÖçƒÏÀõ EýÊ<8 ˜øl‡/±”?¨ý¯»ðRgá/rhûO‚øb Þ¿$Þ€2âÇ9 xSörâ'õþ$û¿k@¥‡×òW’~ªCÛÆ?ÍaÀ&üDáëä3ѾõýhÓ?'‹M…?HÏ/H.fxôšßTâã@ß2—˜îáU?ÝŸùÈ? ¼AZ_ ½ê€¹ðÒùÿ™KìîÑkü¹ÄêýË´ÿ<±ð—;´ýc¾Ø2^ã/ ¾8ò_(¶üÚö]¡×ø»y®?‘øežò3¿;ê7ÞàHÊoO±Uðrý®ÛèÑküUÄŽ¥úÝKloø Úú]-¶Þ£×ø{_Ôö3óÃ>Ä—;´óþÄW'S~û‰ÿ‡6¿ýŪ=zÍïâ§:´í{ GÏë‹jʯʡկñÔOé×{Ú‡ùhÿQà êü`îý›„Ÿ †C[~Ñ8þL öÓê‰ ÔçkfíÐ@|P߯1ñenpü%íõ7‹èÑkù!¾XAñÍûµ-ðW:´ñÍûµGxô¿…øq@ß[ĶÁ?Ña†pæýÛ½ÆßFü$ ®/Íúh»GÏëÇ”ß\‡¶ÿê)¯ ú›çÐÞ¿$~p1òë,ܱb߇‰C{ýã"ôzýï{Úw ñ'RÿYêÐÆ?‰ø âÍ¿IÎöïåíýóTáM½gCŸs÷ÇþÂÿHøJøãmÿ9øQÀ<ê§‹ýþ|‡6ÿ3"ôZþƒÏoöÎ;þ<‡6¿Ÿ‰ýÖ£×øgŸ,¢üÏ;þb‡¶œ¡×øç_ äûï/Å.„¿Ü¡Íÿ±ëÛ¡ÿ÷ /ýÉ¬åƒø¹±Ôñ{ŸØðu}cÖG÷‹ýÅ£×ü ¾¨ïÏ™þý ØÃð—:´ýÿ!±g=zÿ0ñ `%åÿˆØ£ðshÛÿ÷zÿ(ñ€º¿1ýã â«ÚþñGâ§çR~OŠ= ÿ<‡¶<¡×üžöÔ½ÿl¸VíÃü_ÐþcÀqý#˜ÿ_¾ü£Úöy‘ø\ ÏÏ{þ<‡Vÿ’Ø»½æ÷2ñù@zÿrÀ+b¯Â_êжïß#ôÿUâµ´ýÌýý ±·àŸæÐ¶Ï›zÿ–§|ôþ‡álýMwhãÿ |ôyÿùØGðµ~ÌøüPôÝ ÜÀŽðOuhûÏÄWg"¾90ç£_zxÿ%ég9´õÿñ â¡7\Pù?uþ‘q4°3Æ×?ë»Qûòð= /oÆ×ÀÞb}áÏs¨õ3°X¡G¯ñûŸ¤õÏ@Ùà ±C_ûGè5þâK(ÿ!béðOthóOËôè5~:ñ“€Ó)ÿ¡bÃáŸáPÛwà°½Æî¹þ â3©|3ÚúÉ"~6p>ò“v˜CüB‡zÿ8šøÝ€K©|Ò§j»/shË7&B¯ùçyúÇ2â ÑÿÌ=?áž,¯ë åU_Fëû _‰ý‡™“†9´ñ'€×ý‹òªŸDû›a~*öÿEà êùšé_ÒÖgÂwhûŸ´õÀõ½ÆŸIü( >?0í#cyàøG;´ýcv„^ãÏ!~ŒC›¿¬….‚?Ï¡Í_úÒÀj^ã/">Hë³Òg.¿Ô¡/kæ{zô ñ =(}qàrø+Úþ»,B¯ñ—{®Oë7ÃÙòshë%ñ€´¾¸7ñSÚñ¹ñU@žöÛþmùö‹Ðkþû{ÚoñÕÔ?f:´ñ×xú/Ýÿ Œ3§qhÇßÁàõü]yÕ œÏšC[¿õ¡ça}#ø\¿$–òýü[ˆÏqhë ñ¹@½u~«Ø3ð;´ýwñ%mým'>áP÷OwˆÉ¾C)ê× =h~çpø3€:ÿÈúlà÷Änôèµ~'~PÏMþGˆÿ‡¶|GŠ]ïÑkü£ˆÏ–RþG‹ ¡mßc"ôÿXâËÚøÇ‹…Cÿ„½Æ?‘øq@z?b 9ßúüSÚø?ŒÐkü? Hï4çSgÂ?Ç¡ÿ“½Æ?“øyÀùÿl±sá_àÐÆ?'B¯ñÏ%~p9Åÿ…ØðïîÐÆÿe„^ã_>ö7XLñ/» þ‡6þ¥zñ íï^%v5üãÚñûë½Æ¿:4>T¯üõ¡ñæoÄø/oPß/0ãï±ÛàÏthÇç­bzôÿ6â³€TþÛÅC[¿wDè5þÄi=ðn±{á/uhãߡ׸÷_äñÿ€ØCðW8´í÷`„^ã?ä©?^<Šö1š!íýí ð:¿+¯ú'1ÿšC[þ§B÷Ÿ°þð¸¾Át”ßÜßþB|–C{{žøQ@œŸ÷·¿Æbƒ à'´ýëâÇ:´õû"ñEíýío›ûJ%ê× æs>2ðe±¿{x-ÿß¡Þàpèû ÿáGÂOhóø  žOþ ±·àÏqhõoнïÑk~o?Ú¡íŸo‹½®C[ÿŒÐküw<×çûïûT¾1müŸïжÏGÂË·ÃxÄ7HÏo~"üøãmý|Jü( ¯/>ûþ1­þsÑw÷èµ|_Ÿäñÿ±¯à¯phÇ×—zÿñã€ôücPG±ÎðOt¨õ;¨S„ñ¶UùèýÃÙú›äÐÆïAü Þߥþõë ÿ‡Z¿ƒúˆ ðèõú}‰_èÐ^¿ŸGOÏG ägÊ<̡΃yú뇀×þ©zå‡RÿæáGb~˜Þ ­ŸÉ\8h”‡Wý(èMqhó ^ç7åU?óŸñ§9Ôþ7(/4ÿ†õà'ãú“cîþ/ÚA%ÄÇêü>¨”øl ÞßMßJˆ­‡¬CÛ?ʈ/êþÇ”½œøb‡¶T_êPç—AÒnƒÖÊÿNAý\ŒøflH{šäáµ~&A?üÔXÊúhüÿ iðg:´å“=ñ ý=z?ø, >Ÿ2ýGöÒƒfÂ_èжƟI|1°”òŸ+6þ„C›¿¬É-òè5þ|âËÚöYàÑ—‘~åWîЖo7â+U”¿‰±;üÓÚü—‹­öèõú»?8ƒê…ØžðÏthË·G„^ãïé¹þLâWSùf9´ñ÷öô:_7\Ð?M™†8´óG5xÊ«~-Æñ§9´õ¿.4¾Ãúõà§áúuþ3óÇ&âãíüQG|6çz±‹àëжoñ…@ž?‰/vhëw3ñ¥íüÑ$öKùß騃+cnþhÛêáµ~¶B?¼Až?vˆ¦C[¾CÅÎñè5þaÄgu}múï÷ÄŽ€¿À¡mßÃ#ôÿâ ôþ× cÄŽƒ¿Ä¡ÍÿX±ã=zñ¥mû|ߣçùçxÊ/áЖïâËôünÐ)b?„ªC›ÿ©bgzôzý_Ô÷KLýÿHìtø§;´å;-B¯ñO÷\:ñgRùf8´ñêé?3Hú§™“†8´óÇÏÁëøP^õ¿Äø1þ4‡¶þ/ï°þ"ð³p}ƒºþ7óÇeÄÇÚùãrâ³<\!öücÚö½’øB ÏW_ìÐÖ﯉/uhçkÄdÛa6ê¶kÿ`þ¸Nì¯õsôsÀäùãf±[áÏthËw‹ØŸ=z+ñY@z>?è6±;à/rhÛ÷ö½Æ¿ƒø`‚ò¿KìøËÚüï»Ï£×ø÷_îжϽ=í¿ gó«phËw?ñã€Ó(ÿ‡Å~ÿt‡6ÿGÄžôèõú¿'~p&Õÿ£bÃ?Ë¡-ßczÿ¸çú¼~x’Ê7Û¡ÿ”§ÿÐù¯á‚þiÞéâÐÎσ×ñ¡¼ê_Àø1þ4‡¶þ_ ï°þ%ðóp}ƒ8 æ×ˆÏrhç? HçSƒ^>þ‡¶}ß ~,PÏÍüñ&ñ¥mý¾E|™C;üSxóü>êß ÞÏ æwÅÞóðZ?ïA¿¼Až?>ûþL‡¶|Š~°G¯ñ?"> H练>ûþ±mû~¡×øŸ_¤ç»ƒþ#öü¥mþ_оƒG¯ñ¿">áжÏ×}Âé gó+s¨åÜ‘ø àT—ÿà®bÝá¯r¨ù–:ÜÏ£×ëw'~p–«ÿÁ=ÄzÁ?Û¡–opϽÆïå¹>ÃÙòÍqhã÷÷ôŸ9¤ŒþiÎd†8ÔùcðPð:>”WýpŒãOshëDh|‡õàáú‡Æìü18›ø,‡: Î!~æÁ2 ^CÛ¾¹Äuhëo ñEu~lr4û÷ÝP¿çÅìü0ØÄ(ôðZþBèƒ7HóÃ`sþ“€?Ó¡ÍßœÿÌôè5~‚ø, žÏšþ)m:¸þ1mû•Gè5~ñù@úüÒà b“à/thóŸ(6Õ£×ø“ˆ/rhÛg²G_Dú©”_±C«¯òÔí ´ÏôÏ%¡ñ1¼öåU?ýg ÆÇ’XÊß_¼ ÔÃúE±Ô¿ï¢zå… þ~ÌRð@y,åïŸY^õÂñßgkůJþØa9xƒ]©ÿì+¶?üÝ×7co?±=z¿?ñݽ¨ÿàÑ÷"½pƒ¿o‡¶D|`ÿ˜ŸÕbkáàÐöÿ5z½þZâ‡Sü bµðphãoŒÐküZâ3€¹ß¼Óÿ‡6~C„^ã7ŸLPüf±-ð—9´ñ["ô ñÀ)‡ØaðOuhã¡×ø‡? 8‡â)v4üsÚñqT„^ãM|Ò+ÿýäPϷͽë_ý¦ì±:èg> v¹ñsŠØáï ÔþoÖ§ÊpŸéÑëõ~Xr|ìsãç4±3àïïÐŽÓE?Ý£×øg?ÈýûÇbgÂ?¡m¿ŸDè5þ™Ägõù©¹·žMü‡öþñùÀRÊï\±óáO8´ù¡×üο'ò7˜Fù]HüP‡6¿‹ˆäûû¯Ä.?Ó¡mŸ‹Å®ñè5¿KˆÏfS~—?Ú¡Íï2âÇu}oêÏœï\ ©C;~®ˆÐk~Wzòçú½†ê'áжϵàW¢þ Òûƒo"~¨C[¾›Á¯‚Þà`ªÿ[Ån‡ˆC[ÿ·‰~’G¯ùßN|0‹ò»ƒøQm~wŸÔõ“Y¿þFÒÑë:´ùý–ø" íßE|©CÛ~w_æÐ®oïÞ<_Þ í·õ_3Ý'öüY@-Ÿ™¿î{Á£×ú{€ø žÿ™ò=(ö0üÅmù{Þ£×ø_,£øˆ= ¹Cÿ÷bOyôÿQâ+€ã¨~ûüãÚúÞ¯"m6$þ ‡¶}GGè5~.ñãÚø¦Ž áïÐÆ¡×ø…ÄOÒóß!Ò–CÊàŸîÐÆODè5~ñ3ó(¾ä2düóÚøã#ôñ ‹(¾ÌiCªàßÍ¡?5B¯ñ«ˆ_܃âKNCfÿ§CV„^ãÏ¿?ÚÿXÊûßCˆ-‚¿Ô¡¿0B¯ñ_äþ³Tl9üãÚñ»,B¯ñ—‡Æ‡ê•ß34>Ãü*ŒÿÀÔççfüÉ|;d_ø³Úñ)óá&^ãïK|Hï§ ‘¼†¡C[¿ûGè5þÄK)þ±uð'Úøk#ôñåÀ Š¿Qì`øÇ9 âK¼!µb ½Æ?˜ø À©“X=üUmÿ¨£üX¯ñë=×g¾ÁÓ~ô~›á‚þq øCýc«Øvø³Úþ±Mìd^ão'>¤÷†ì; þ"‡¶ýÐküÈ/&(þ‘bGÃ_æÐÆ?*B¯ñ&¾8žâ_ìxø'8´í÷ƒ½Æ?ÞSˆ?ísP,¹þÚõÏÀëý_yÕ ¬Œ?Ý¡-ÿ¡õIXÿðÕ¸¾Azþ5älâG9´ëŸsˆÏÒùÁsÅ^†¿Ð¡í_ç_äÐÖïùÄ—8´ëŸŸ‹½(ÿ»õkPÏ*ÍÚó—bzx-ÿ…ЯoöC.{þ ‡6ÿKˆÏÒþoÈ¥b—Ã?Ú¡Õ_&v­G¯ù]N|®CÛ?¯» þ1mý]¡×øWy®Ïë³k©|ymüëÀ¯ƒÞ ž?™ú»Iì)øG9´å¿™øl ¯/o» þ<‡V«Ø½æñù@žÿo»þJ‡vüܡ׸w?8‘âß-v/ü“Úú»'B¯ñïõ”oñPýMvhã?HüTàªßGÄ…¡C[¿¿ûƒG¯×”øEíõóèy}øÊ/ÓÃ?Eýo¸‡ã·¼AÞÿ<+f·ÖÇ’óÐί‰ÐküçÁëü£zå_Äüdüémÿù[h~ ë_¿ùmˆ¥¼ÿ8äÄrhçß׉Ïòüû†ðãà/thÛ÷Mâ‹€ºþ2{«·ˆO8´å{›øràxÒ¿Cü‡Vÿ.ñZŽ©¤ø*‡Vÿ>ñÓóHÿñ ¼Ù~Hü" ¾_ÕUøÄ>öðÚ~“~©CÛÿ?!~¹C{ÿú\xSoÑÿ6ºñÜ¿ÌùÏW^¯ÿôµàkc)ë»4Á´Nðg9ÔöOë(VäÑ#¾ÑZ>¤õ]šä˜Öþ"‡Ú>i]"ô¿+ñ%ÀåßS¬7üemþ½Äúyô¿7ñåµ}Òúxôt~`8›_…C[¾þÄÒüŸ6X, þI­~H„^¯ŸFüàtŠ/m–6þmüz?’øYÀ¹_Ú,-þymüQzŸMüà2Š/sXZ>üËÚöÉ‹Ðkü|Oÿ]N|ƇìÓ‚ù¨óZ¼ŽOåU_Žñküém~¡ù7¬z~§zå… žn´ñ§ÄRŸ+¯záRžÏ‡ù™É;Ôƒ7Hï·¤I[¦-€¿·C;¾æ‹-óè5þâûõù¦™d-‘¶üCÚò-ŠÐküÝ<×§÷“ÒÐ:4‚o¤ò™¾·òë¯_5ëºÍðìFýoµØ>ð÷öoæž½e;ð¨G¯×ßü!hƒý¨~÷;þþmýî/úGGùFü‡6¿ï? 8ƒò3sè‘ðÏthó;"B¯ùIül‡6¿c‰ŸëÐæwñóË(¿ï‹ÿr‡vþùA„^ó;ÞÓþˉ?™ú×îmùOߌþk0Êw:ñCÚò¾zƒôþHš9¿ù)üCÚþ{¦èïóè5ÿŸŸÌ¢üÎ"~”C›ßψÏÒþ#íl)î¡ð:´ùC|ÞI;—øR‡¶ýÎ#¾Ì¡®¯Ó~.¼?[Ð~éùiÚ/Å.„?Ç¡Íï±Ë=z­¿ ‰ ¤ç§iæý«‹áÏshóÿU„^ã_ì¹>=?5\P¾­à Ž ëÿZìø3€º?0÷·«Åîðè5þ5ÄÇt¾•v­Øõðvhëï:±Û¨Ï ·Ø½ðç:´ú{Äõè5¿{‰äúûØýðç; â›ñ%c7íA^ãßO|ž¯¥=àÑóýûAʯԡm¿‡<å+%ý£T ‡Vÿñå@½¿™ú{BìIøÇ;´õûG±ç/‰½ÿ( Ž_3þ_{Ó£×ø¯Ÿ äùíïb¯ÁŸçÐö¯WÅ^÷è5þkÄç‹)þ?=ø={Sþ²VHÏ€‡6™sÒG{ôzý â÷uhÛOæªô8üû9´í“¡×øqÏõ÷#~4•o‡6~®§þ÷'}µoÜÃyæWæ‹1 Þ =ßIOˆ•ß Œƒ7}WÆrz“G¯ñˉÏêýÑôÍ ±CàÏuhÛ¯’ø1uþN—µDúRøó€z3zY‹¤O„¿Ä¡/k†ôŽæ?‘øR‡¶~&‰M¿ ¨ï×™ú™,¶À£×øSˆ¯ÒûOéSŦÁ?¨ç}„“¹.}žG¯ñ§¯õ€ùͬ¯ÒeNJŸ ÿ,‡AýH?IŸ¡×ø3‰ŸíÐêçzòãùk•ŽCÛÿç{êŸõ <í7‡øÅÔ?æ:´ñ—xúë—?¸œú—Ì•é{À¿»CÛ¿d®KßÇ£×ø{¿Â¡m™3ÒWÁ¿‡C›ÿʽÆ_å¹>½ßg8[¾•ÀÕ¸¾¹ìK¼Æ9ˆÊoÚø@ø«Úò ÖàÑëõ$~ pÅ—ßMWÿF‡6¾\+½Ö£×økˆ'´õ»V¬þƒÚú]¡×ø5žëL|-•o“Cÿ`Oýl"}Õ¶‡?Ä3ÿ2ß„ùý°Xòü \ÿpá¶€×óåU/\pþcüéíýy{è|*¬?ü÷p}ƒôþSú‘Äç8Ôó¯ô£ˆÏbýmοÒ»þb‡¶C|‰C[ÿÇŸp¨ç[éljýBþ÷pÔ¯Azþ›þ±àÏrh¯¼ØÙ½ÖÏ ÄÇ´ÿK?QìdøóÚú?)B¯ñO&¾Hû›ô‰‘C›ÿib?ñè5þéÄ;´õ{†GÏ÷ןP~%­þLOýÑþÇpAûþuD¨Ÿ^ÛWyÕÿíú÷¡þýËPÿ ë/$®oP×O¦_J|¦CÛ¿/#>Ôó%Ó¿/—á2þ|‡¶}® ¾À¡­¿+‰/thû÷U›s‹£P¿õý ³>¸ZìZ¯å¿ú£ÁK7ˆÝ–C›ÿ¢áÑkü›ˆó)þÍb·Â_àÐÆ¿Eì^ãßJüX‡¶þnóèÇ’þʯСí?w‚?úc\~Aþ÷ˆýþ±mþ÷Š>Í£×ëÿŽøB ®Mÿ»ø‡¶ÿÝO|)°,ææŸÄ‚¿Ü¡-߃zÍï!â+)¿G‰ŸäÐæ÷ñ“Ó¨þ{þémýýAì)^ó{‚ømûÿÑ£ŸAú§(¿™mý_3å–øymùŸ#~>p)•ÿ/b…™C[þçÅþæÑkþ%~¹C[þ<úå¤ÿå·»C[þ—À‹þylÌíŸLù_#>áЖÿÄ—µ˜ò½.ö&ü“Úò¿!öO^ó“ø)mùßòè§þŸ”ßT‡¶üï? HÏ_Óß'~ŽC[þ?¨ó³)ßbÁ¿Ô¡-ÿ‡bŸzôšÿGÄ/shËÿ±G¿ŒôŸR~ËÚòþ8´ÿq±”¿Ožþñåmù¿&¾Hío–’C;Â?Ù¡–¨àÐ.=ò7ZËOq¨åÚÉ£§ö7œÍoªC-ÿЮÄORûíIü‡Zþ¡½ˆŸ \Låï-Öþ%mùûˆ ðè5ÿ¾Ä/uhËßÏ£§ùÃp6¿e­~`èþ¥¼êÓp<ýç¸XÊü34=´>P^õ#°þø~,¹þêúohx]ÿ(¯úQXºCÛ~Ù¡õYX?üp}ƒúþ‹ißâãmûŽ%>¨ëYÿ •œ‡îÿX‡¶}‹ˆ/th믘øb‡ºþ*k¡¦ÝGýOýSÖCbå^Ë_ý à Òúoè8± ðg9´ù[àÑkü ÄÇô~ìPYK ‘CÛ~“"ô2ñ%Àå/cvè øËÚüe­1t¶G¯ñg_îжÏL¾œô³)¿ ‡V?ÇSôù Ãís"ú牡ñ±¼öåU¿ýçDŒCãcY¨ÿ†õ»ƒ? ×7Hûÿ¡«ˆ;´ãc/â³<>V‹ÿX‡¶}ö&¾Ð¡­¿}ˆ/vhÇǾb‚NFýÔçSf|ì/v ‡×òý)àO 5bëàÏrhó_+¶Å£×øëˆµ~Ìø¨ÛÿX‡¶ýÖGè5þâ‹€%”ÿ&±zøKÚüëÄ6{ô¿žø„CÛ> }‚ô›)¿2‡Vˆ§þhb¸ }NEÿ<54>v€×þ¡¼êCÿ9ããÔÐøø^¨ÿ†õG€ÿ!®oΆK|ܡǟ äñ!÷«¡÷Ã?Ö¡mŸ_¤÷ÆO|©C[¾ˆ/Ž#ýIÄwhõ'?8…ô§?Õ¡mß?Í¡¿§‰™÷~„ö7¸2æÆïb?ñðÚ>?þ4ðyüž%v6üYmýþLìN^ãŸM|ˆö Æï9bçÁ_èÐÖß¹zñÅ@Ý™ü~)v!ü ‡6ÿ Ä.öè5þ…Ä—9´ís‘GÏãïbʯܡ-ß%ÄWõù—©sþuüZý•z½þUÄON£ø×Š]ÿt‡6þuz=ñ3s(þÍb·Â?ס­¿["ôÿVOÿšKüè¿§Ç’ó ÐÎowƒ×ñ£¼êïÅø2þt‡¶ü¿ Í?aýýàÏÀõ ‹¹ùíâãíüö{â³<¿™ó£Ã?Ö¡í¿_èÐÖïãÄ;´óÇÄþ%ÿûcÔ¯AŸÌüñG±§<¼–ÿ)èÞ Ï{þ,‡6ÿ?‹½éÑküg‰õüØô/s~ô<üùmûý%B¯ñŸ'~,°ˆò7ç?/Ã_ìÐæÿ’Ø«½Æ™ø‡¶}^ñèyýð*åWêÐê_óÔÏ_o¢}ÎDÿ<34>Þ¯ýCyÕÿ ýçLŒ3Cãã½Pÿ ëÿ þ§¸þOcîý93>>!>îÐŽO‰ÏòøøL†[ücÚöùœøB‡¶þ¾ ¾Ø¡ÿ^Ö+ÎBýÔç×f||…áæQ~ÃúŸÿYêøÖI¬ üY5ÿarai½ÆïB|¨Ïd| ë*Öþ‡Ú~úEè5~wâ ôþɰÞb}á/qhóï#6À£×ø}‰/u¨í3¬ŸGOýÛp6¿„C«è©¿éÓÐ>g£ž:>† ¯ýCyÕDÿ9ããìÔñ1,#ÔÃú,ðçàúiÿ8l4ñq‡:>†åŸ ¤ñ1ÌüÎ ðuhÛ'øB‡¶þò‰/v¨ãc˜ù™c;œ‹ú=7u| “XÊ=¼–¿úóÀ¤÷ã‡I[ {þ ‡6ÿ2â3ôù‚a²ÖV ÿh‡V_!6Å£×ü*‰ÏuhÇ—ì†M€ŒC[ã#ô‚çúcˆŸBåËshãO%¾À¡mYË “5D‡óß`Õ¯¬¹†= ÿ(‡¶~fŸ Cõ;[l.üy­^ÖrÃVxôZ¾¹Äç+¨~ç‰-€¿Ò¡_ó#ôñã)þb±¥ðOrhëwI„^ã/õ”Îß gëo²Câ§:´í·J̬OŽø?wý7ȵØ>ðêüßS¸½Å.òè5¿}ˆ ¤óaûŠí©CÛ¾û‰]àÑküý‰O'Qþˆÿd‡¶}ŒÐküƒˆŸ œIñ׉­‡–C¿&B¯ñ×?Ç¡°XüsÚø›"ô¿ŽøùÀ%³XüKÚø‡Dè5~ñË+)þV±íð¯rhão‹ÐküíįîMñ¿'vüû8´ñÐkü#ˆß¸†â#vükÚøÇFè5þqàþep<Å?Qìdø'8´ñOŠÐkü“‰Ÿ¬¢ø?;þimüÓ"ôÿtâggQ|Y; þÙmüŸFè5þYÄÏuhãËý|ØùðÏshç·ó"ôÿüÐü¡zå/Í_aþ"Ì¿oïO—ˆ]žC;]*v—G¯ñ/#>È÷§ËÅ®„¿Ò¡­ß+"ôÿJâÇùþtØuðOrhã_¡×ø×?Èýï&±[àŸî0ˆoÖf7‹ÝáÑkü[ˆŸ œGño»þùmÿ¸òc½Æ¿Ýs}æïð´ß|âïBÿ~¬€v}ÿ;ðzÿU^õ÷ãþ|a,¹>Zýƒ±ÔõUXÿ0x]Ÿ©^yáìúm¸‡.X_Þ žŸ›ú}Jì¯úg ÿU,¹¿ÚüŸ¯ë{åU/\°þ7þt‡¶ÿ=Ú„õ/€¿×7¨ë{³÷x…ø ‡vówâ³€:¾ÍþæU)vOøóÚñýñùmÿûñcÚõ×ëÂK=w¸õkPïÿfó¦ØÛ^Ëÿ6ô—‚¿4–ºÿWì=ø³Úüÿ%²½Æø8ž {_ìøÇ:´í÷ï½Æÿ€ø" ¯?û þR‡6ÿOÅþãÑküψO8´íó¹GŸ ý(¿2‡Vÿ¥§þÊœÞpAû\†þyYêøÞ¼öåUß ýç2ŒËRÇÇðî¡þÖ÷9®y,åýŠáýˆÏr¨ãcxâGuý/×>@l>üµ}†$~,ž D|©C­ß჉/s¨ãg¸”i¸Y÷^ú7¸¿?Ã‡Š ÷ðZ?á¿ü•©ãg¸ÔÕð,ø mùäw‡Oóè5~ñq ½1\|óá/rhÛwT„^ãg_LPþ¦ óá/shó7} Ð£×øùÄ—;´íSàÑÓû†³ùU8´å+"~på/¹ ×ëNwhó—² ŸäÑëõˉŸ¤ýÕpÉe¸êæ:´å«ŒÐküqžëÓúÓp¶|óÚø“=ý‡Ö† úçU±äøÚùcxÊ«~Æñ§;´õ?74¾Ãúùàëÿ:–òýÃwhç%Ägéüp¸ì5‡·À?Ö¡mßeÄ:´õ·œøb‡v~Ø]ìùß«Q¿w‹¹ùa±•^Ë¿úkÀ_KdO9|ø³Úüe¯9|“G¯ñ÷!>ÔçC¦î+¶?üÅmûí¡×øû_ ,£ü«ÅÖÂ_îÐæ/{Ùáë=z¿–ø ‡¶}Öyô´?1œÍ¯Ò¡ÕoðÔ_%é7¡}®Eÿ¼64>ÁkÿP^õ‡ ÿ\‹ñqmh|4…úoXßþ:\ÿºdžv|ì ~¤C;>%>¨ç¿f|˜>|ücÚöùñymýN|C;>Ž“½o‡ëQ¿÷£ñq”Ø1^Ë ô7€¿!4>¾/v<üYmþ?û™G¯ñ'>¤çOÃO; þ‡¶ýNŒÐkü“ˆ/Òó§á?; þ‡6ÿ‰ýØ£×ø§_êжÏé})éLù%ZýO<õ— ýÏÐ>7¢íø8¼öåUÿsôŸ1>n _„úoXø›p}ƒ¼þ¼„ø,‡v|\Jü( ¯?e½;üEø Úö¹œø±@^^A|©C[¿W_æÐŽ™†›÷nFý\MãGæ«á×yx­Ÿë ¿ü-¡ñ#õ9üfø³ÚòI>ßñè5þÍÄǼþ”ÿ~üEmûÞ¡×ø·_LPþ¿» þ2‡6ÿߊÝëÑkü»ˆ/whÛçnž×Ÿ÷R~mù~Gü8 ¯?{þémþ‰=áÑëõ&~ןˆ= ÿ\‡¶|¿ÐküG=×çõçT¾ymü?zú¯?ŸAÿ”~Œ_ ?ž¯ãCyÕ?ñcüémýÿ54¾ÃúÁ߆ëäõç߉;´óÇ«Ägyýùšð½àëжï?ˆ/thëïuâ‹Úùá áå:nGýÄó‰`~xKìŸ^ËÿOèïG,u~0ç7ïßåÐæÿžè;zôÿ}âã@^šó›á/vhÛÆÿøR ¯??ûþr‡6ÿÏľôè5þçÄW8´íó…GÏëÏ/)¿J‡Vÿ•§þhýi¸ }îDÿ¼3u|Œè ^û‡òªïŽþs'ÆÇ©ãcDPÿ ë{ÿ ®oî¯#úŸåPÇLjÄÒýuÄ@±‰ð8Ôö1ˆø±µþF &¾È¡ŽCÄ̼õ[Ô¯ÁÉn|Œº1ÌÃkù‡Aø»RÇÇYkÈ„?Ë¡Íß¼?SêÑküLâã@ºŽX#FÁ_äж_Ö†úoX_þ~\ÿþÐø8˜ø¸C;>6Ÿ äñQ'vücÚö©'¾Ð¡­¿â‹ÚñÑ(&{ð ~ êû f|"ÖìáµüÍÐ?þÁÐøØ*¶þ,‡6ÿmb'zô;ñq s>tüÅmû¡×ø‡_ äñq¤ØÑð—;´ù%vœG¯ñ&¾Â¡mŸcN õß°þ ðãúõüÎŒ³ˆÏthÇÇψóh|œ-v7üùmûœC|C[ç_èÐŽóÄdÍØáÔï#¡ññs±_zx-ÿ/¡ÿ=øß‡ÆÇEbßåÐæÿ+±›=z1ñqàXæ|è2ø Úö»4B¯ñ/#¾XJù_%v5ü ‡6ÿ_‹]çÑkü«‰/shÛçžÇ×u”_¹C«¿ÞS¼>»íó(ú磡ñq;xíÊ«þNôŸÇ Œôæú¿ õß°þîXê÷÷?â… þ>Àãà6þ±Ô¿/¢¼ê…Kùû&aþÑäžo°õŸ?Š=w‡ÁõG ÷¤Ø3½ÆŠøÀÞÔžöè{“^¸oÂßÇ¡í_"¾/pHÌÏ?‹=šCÛÿŸÐëõŸ#~(p8Å7ïÏü þmü#ôÿoÄgGQ|s>óüÙmû¿¡×ø¯ßôÊ¿‰ö ¼Á^øY~oÄû_ýrµüü4|O‡ú‡9ŸøþÀžàÍ»Étõ ^¯ÿ1xiç ÿìGýãS±Ïáïïжÿg¢?ߣ׸Ÿ?8Œê÷ ±/áîжß"ôÿKâGõó rŸÙø\‡zÙ‘ø<`‰Ëod'1-W©CÍodç=ò3Ú€ÿò7˜Fùõ$>ݡͯñÀzÿ–ú)cud_ø3jûŒ”±:²Ü£×üúŸ ŒS~ýˆíÐæ×Ÿø1@®?)óÈAð—:´õ70B¯ù ÿgä÷ç˜ûû"&¿¡ÄvhóFü ç'}mäHøKÚüFDè5¿‘àŸE~φòEüh‡6¿lâÇË)?éË#sá¯phó¡×ürÁ?‡üž ±Ävhó+$~ 0Aù™Jà/s¨óãÈâ½æW꟪W¾ýÿ¹d¹mù+Àÿãë/4~Lù&?Ô¡-ß$ðÏCop0¯)bUðqhÇ×TÑŸåÑkþUħ³(¿iÄrhó›N|P×—²9C†û<ø Úüf_¤ç‡#g_êжßlâËêú|ä\áÍ{ó%çï¿Rÿ7ן/¶þ‡6¿bË=z­¿…Äâýsÿ¹Hl1üymþ»Eè5þbÏõóˆ_Žò½Þàºþžb«àÏêþBæö‘+ÅÖxôñq ŽOS?{‰í ÿh‡¶þV‹äÑkü½‰ÏæQþûˆí¾C[ûFè5þ~žëÓû †kU~æ× ~_ÿ"ÕoákÄŽƒ?á-ÿzâ3:~ƒX-ü¹­~£X³G¯ùÕ?Èõw°Xüùu}>r“XƒG¯ñëˆ/SüzžÞÏ0œÍ¯Ä¡m¿FOùøþÕLõWêÐê[ˆ/VRýnÛÿ8‡¶~·‹åÑëõw?¸ñÍýåP±ïÁ¿Ì¡Íï°½Æÿžçúˈ?ŠÊ7ÜÇþù7ð‹¹ñmÚçx±áuþ3ãÿ±ÓßS>¿Pý•:´ú ‰/òø½XìRøÇ9´õ{‰ØÕ½^ÿRâÇyü^&vüËÚü.Ðkü+<×çñy5•o¸‡¿ýóeð/ÇRÇïMb·Àòø½Y췽ƿ…øÑ@¿·ŠÝÿ‡¶Ý&v§G¯ño'>Èã÷žÇçžü™ÿ-êçðyüÞ#öümÿ¸—øL ß߉Ý®C«¿Oì½æw?ñc€<~{þ|‡¶~{Ä£×ø_,¡ø{ô<þ¡üJÚþý{OùèüÕp¶þ­þ âËã¨~Ÿ{þñmý>-öW^¯ÿ ñ€Ëcnüʾlä³ðïîÐæ÷ç½ÆÖsý݉ÿ+•o¸‡ ýóïà êþÉ´üÿÈ×àÔõ³¿¯ŠýÓ£×ø¯Ÿ äýÅ?ÄÞ€?Ï¡í_¯‹½åÑkü7ˆÏòýáMžïoyògþŸ¨ŸWÁäñû/áûŸáÐö÷ˆÏòø}_ìøsZý¿Å¾ôè5¿ˆäñû¡ØÇðç;´õû‘ا½Æÿ˜ø ÏŸxô<ÿ}Jù9´ýû3Oùèù¥álý;´ú¯ˆ/êùŽ”3C0£üµ~3:Šõôèq}£µ|%pQÌŽß c]áßÍ¡æ—Ñ%B¯ñ»z®OïgΖo¸‡ï‹þùxƒt>1@lü9mùŠ•yôñ£°XücÚøCÄâ½ÆO#¾HÏ¿3ÒņÁ_ìPûoÆP±½ÆF| 0Añ‡{ô Ò üÊÚöé)_é…Ëм+€º>4×Eüxàª_i‹ ;Õ¡­_iËŒB^¯?šø* >ß5å—¹&#þÙmùÆDè5~žçú³‰/¤òÍqhãyúë‹=ýsñeèÿÿoPÏïMùä^œ1þL`¼[’sÆ4^ãO >˜Cñ'ŠM†´CÛ?'‰Mõè5þdâs4gLñèi~6\«ü™Ÿ†ú‘ûhp> ò;\¸™àõüQyÕëù¤ñ§;ÔóáŒ9¡óÓ°~ø7pý7¨}LßÙøL‡z>›±˜ø, ®º ¿DìTøóÚñ±”ø| Þ¿Lû,#¾È¡-ßrâK€å¤_A|…C«ßƒøqÀ‰¤_Iü$‡v|¬"~ŠC=ÎX-v’üï›hƒ|ÚGl?¯í³ôo‹êßÔßbÕðg9´õ{Øq½Æ¯&>¤÷72Ìùä:ø Úú[¡×øëˆ/–Rþņ?áÐæ_+VïÑküƒ‰/shÛg“GÏó=åWîЖ¯øJટ&±ø':´úæ½^¿…øÉÀi»Ø¡ðOwhãïˆÐküC‰Ÿ œCñ; þ¹mý¡×øGyú×\âCÿ};–œ_€v~;¼ŽåUÆ—ñ§;´å?94ÿ„õ§‚ÿ'®oPŸ™ùí â3ÚùíÇÄÇ:ÿ›ùí'¯‚?ß¡í¿g_àÐÖïO‰/thç¹v¦ÌQÞAý\sóÇÙbçzx-ÿ¹Ð¿ Þ í2~.üBø3ÚüA|&žÏdüRìBøG;´ú Ä.÷è5¿ ‰ÏuhûçEbÃ?Æ¡­¿_Eè5þÅžëÓþÔp¶|ymü+ˆ/phÛç×›qó/ÄÿW,åû3®÷,øG9´õs-ñÙ@½þ:±àÏshõæ|ïn^ËwñùÀ ªßÅn†¿Ò¡_7Eè5þÍÄN¤ø·‹Ý ÿ$‡¶~ïˆÐkü;=å›DüÝT“Úø÷?Õ¡m¿û„7ë³÷ÿ=׃ü{þ1@Œï`}ú èã½æ÷ñcz¾fÚïa±ßÃ_êжï#¢Ïôè5þï‰O'QþŠ=ÿd‡¶}‹ÐküljŸêÐÆRìiø«ÚøOEè5þÓÄOÎ¥øÏŠýþymüç"ôÿ/Ä/.¡ø/нÿR‡6þß"ôÿ%â—w§ø¯Šýþmü×"ôÿÄï ܇âËý6ãŸðïëÐÆ;B¯ñÿ þ}´¿Áñ_þ?ãø'8´ñÿ¡×ø? XEñ?û þimüO#ôÿ3âgyÿlΧ¾†¶Cÿ«½Æÿšø¹À….~f'±.ð/â|Éü}òL¹Ggöñèßh-¿Øa 7\W±n^õÝH¿ÄaP¾ý…ëNüR‡–ïíÉž?Ζ™C­¿Ì¾Äï\Iõ3Pl0ü«Zý ½^0ñ«ûS|YËe‡ÿ‡:ÿg‹Ðküá¡ùUõÊg†æ÷0Çýãßà Òý;SÖ:™¹ðç9Ôù=Sî™=zŸK|>îß™ò»™ê¯thë7/B¯ñó‰¤ûw¦‰Qÿ$‡6~q„^ã—?Hã?SöZ™š÷4‡¶ý*"ô¿ÒS´ÿ1\Ð>2ë3 î?2§‚×õòªŸ†õDZäúhõ3Bë¿°~x]?ª^ù¹´¾îábýþxƒt~–iÎ_–zxÕ/…þãXrÿ´ùï^÷Ê«~ìOŒ?Ý¡mÿ=Cû£°~øOp}ƒØ_˜ýWæ¾Äg:ÔýWæ~Ägé|)ÓÌa?†?Ï¡_ŸÔók3ö$¾Ø¡í_êP×™kÄN“ÿýõo°ñÍÜ¿Nl½‡×úYýgà?£ò›ükÅ6ÁŸåЖï`±“CyÕ —òù0ÿ‹ä¾o°µß¯Ä.¿»Ãàúf~¹Xì2^ã_B|`oê—zô½I/\æð÷qhûçåÄ÷޹ùÉœo\ÿ‡v|\¡×ë_E|:0ƒâ_+v=ü™müë"ôÿzâãÀ<Š³Ø­ðç;´íK„^ãßJ|Ò+gòÇŽ±$àLü®¬72ïûúëäÛ±xƒˆ|Gð—ÿxhœMücà;ƒïŠÿø.ໄø§Àwo°„ø?GŸp.ñÏGŸ0Nü_Á÷opñß¼Á2â_Ï|Ø…ø×ÀcLXHüàÑçBüÛàû‚7HŸ/Ë||?ðý’ãÐŽoYïg~/ ŽO)K¦¬7³¯÷èµÿ|@|p ]ÿCðý“层ñ/ë©ÌOáïïÐŽo™7³¯õèõúŸ?¨ç¿fü˜ýóðthÇççzÿøà âþ`Öwf©bùt‡º¾Ëê@üP æ'åË’ñ’Õþ‘µüYÒ׳†xôÈÏh-ŸÌ¢üºwhóëJü( ¾¿dbKÉê‰C­¿¬îzͯñ à8ʯñãÚüú?8ò“¾¥í2Ý¡ÎYý#ôšßOýN'~µß ‡¶üiࢠŒ¥|>)kñCÚò?zƒzÿ2í/÷’¬8üCÚþ!m}…G¯ùÇÁNöÛéùPV6ñÃÚürˆ Ôç#¦íe χ´C›_.ñ¹u’5†ø1mýæOhõÄ8´ú±Äi”UD|±C«/&¾˜ })ñe­>A|péˉïÐöß â':ÔýY–ÄŠ›z‚ö3XKãCú|Ö$¯ýcôià Ò矲¦ŠMƒ?¨û7¹?dU‰­òè5þ4âã@mÓ?d¬eÍ„ŒCÛd¬eíéÑkü™Äç9´ùÏ›p,å/k‘¬å½ÆŸC|på/k‰¬ùðwhó—½FÖR^ãÏ'~‚C›ÿ±EðOthûǽÆ_ä¹>_Ζo’C™§~Y¿ÜÓ>ô|Åp­úó«ÐÿÒÁ¤÷³öÛþ‡¶~÷{Ë£×øû?X@ñ÷;þ±müýÅñè5þÄ:´íw X5üÅ@]ŸšþwX½G¯ñ«‰O'QþkÄÖÁ?Ù¡Í­Ø&^ã¯#~ŠC›Øø§:´ýc}„^ãoð\ŸžΖ¯Ê¡_ç©_Ö×{Ú‡ÎO —µþéÀ(Ÿô—¬&âgubÊß,¶þ9íüÞBý‹õzý-´‡ß ýPðCCýÓÌñ‡Ã?Ö¡mßï‰æÑküÉ/êýϔﱣà/–Rÿå³_¢áïEý£‘ÈžONú¤ï ¼\¡¬ßoCzL£Oö¿Ãø Djÿ¢|BzåÕˆÔ~a¬Ÿô]HhôÉþCŒ(4õŽû÷ }_Óþ÷™~BYÿküçúhÊ_ÇøÇX|ëÊú{ùcPÿÃ>><é”W)”ñÒo5ú”ÿ3Œ¯F¤ý ÿŸ@zåuˆèŸ9>üÒË}²ÿ,ãÙû“žƒô3”ÏR(ýÒ¯5údÿgŒŸ8—ùÿsH/ |žBY¿pÑ'û/hòŸÇø_³òÍW(í¿¤‰/×YS?óܤߣ|!"=ÿãÃïß‚¸„µï× ½®áÉþëLÿ8…Òÿ74íëÿÞ°ß>ñoáýÇ±È dÏ''ýÒ_Q>I¡¬ÿw@’FŸìÿ•ñ>D>¿½ é=”×*”ýëÿ\ôÉþ{Œ¯Cl`þÿÒ¿QÞ¨Púÿ/HïkôÉþ¿ߤPÆÿ?}vþBpÒ¿f…²|0~ŠBŠÐW€ò© Iß—ï¢ù ]ÉOW(í‹4 å3Jû#]ôÉþ(ÆÏBdó¿o,¤ƒP>G¡´ ‹>Ù?ˆñóç3û‡B:å Jû‡¹è“ýÿ±…Ù‡ùÖw Ê—(¤ú÷í¢OöÑôÖ?gö?ñLì…¦}¸wñ#Oû_Ä“>í/ ùx…²üeŽýK§~ò1ìü†¯–ñ“Òþ¨/Àø"DÚŸmG쾋òJ…Ôÿ|õŒ¯RHûƒ¾ÆW+”åkd|-b€é73¾N¡ÔŸÌøÄF¦?•ñM eýOcüd…´?郾äƒ14Ö¿@¿Åþ¤Ú¼oކ§ú™ƒú>ä²ýI´eßB”O@dû“>è ¾•}²¿ñ>D¶~ñA›öµ ¼J¡¬?X‹ú–kôÉ~ ã«Ùøïƒ¾à[ŠòZ…2¾Ç¹è“ý¥šüÙúFp åçüJŒoòEŽø®´åy|×B:M£Oö×1Þ‡Èã»ÒF”W)”ñûƒ§hôÉþFÆW#òøn‚´åµ e|OtÑ'û›5ùóø¢)?çOÃøú‘G”þµB ¡|"o¤}²b¼‘Ç·Ò6”W)”ñí€Õè“ýmŒ¯V(ýCÚŽò…2¾§»è“ýíšüyü£šòs~Æ·ylÿØ×i'Ê‹Êò÷BúžFŸìïd| "ï.H{P^¥PÚß é\>ÙßÃøjDÞ~Ï€tÊkÊøžé¢OöÏÒäÏÛ'p¾‹Q^‡XoÈõ»ï£ŒoD¤ç¢|çAúʧ)”å?Ò§4ú”ÿÇ?‘ögDù?é“(Ÿ©P–ÿ.údÿ“šüÙý™àdùf)”óã§5õÏõ/F¾ùGû¸ Ò(¯R(ãs9¤ë4údÿ ÆW#òöq%¤«Q^«PÆç*}²µ&Þ>€ó}åuˆ¼}\ÏøFDÞ>>é (Ÿ¦P–ÿH·jô)ÿ/0~ºBYþ/Bº å3Êòßè¢OöoÒäÏÛÏ­¬|3ÊöñeMýsý¯ _м@¶?å»Ò7P^®PÆçHßÖè“ýo0¾‘íOùî„t7Ê«Ùþ”ï.HßÔè“ý»PH÷ï¾{ Ý«áIÿ^¦_§PÖÏ}ÿ¹þ75ågûS‚“ñ­W(íÇ1¾OúßÃù£ yìþß÷H¢|’BY??„ô¦FŸì?Êx"ÝŸ‹úy ÒPÞ¨P¶¯Ç]ôÉþߌ8…ùÿ¤gP>U¡ôÿiHÏjôÉþ3ŒŸ¦PÆ÷'ýiLÿYæßt…²|Ï1~¦BŸ_@ú%Êg)”ú/¸èSþ¿düD¶ÿæ{ Ò+(Ÿ§PÚÙEŸì¿Âøˆìù¡ïw^Gù"…2~¯¹è“ý×5íkãßÄö+ÆŒ#Êûç·‘§û3âI8óþMÈÇ+”åÇqëÔù Ì_àQ†ºþãQ(ïŸÿÉø ˆ%†ºþd@y©BÙ~ÿÍø2D?Íû×ÿ0¾B¡Œÿ_¥PÞ¿~¼7+1þ•ªþÌû×½ÀçixŒàLý*ä²ñ¥l@ù$…T¾"c‹J5údã}ˆl¼H¤Q((¤ú-é¢OöG1¾±‘ù?ÒA(oR(ý?Ò!}²ã›RýÓè73ýC˜“ÊòÊø©ˆó˜ÿÐÖ‹ŽBù|…Òÿ#!ù4ú”ÿQŒ_€ÈúÔYѱ(_¤P–ï}²¬&Þ¾|¬|‹JûEšöÞŸ ÎlŸâžì…4~U"OýƒxÒ¯Æþ#äãÊø×8ú·SŸöÏj0Çrü(jbüD…4~53Þ‡Hý_´mh EÛQ^¡PÖïÆW"Òý-ŒES_£PÆwã iü(‚µ`‘¸ÿ®Åø×²ö!ú>ÌeEs4<ÅgêöñÚjÑB”OR(Ëmªh«FŸì/d¼±žµ_hkE-(oP(ëw±‹>Ùoa|";?Wt<¤e(Ÿ¢Pú¤•}²¿ŒñSÊúY®Ñg÷‚“þMS(Ë·Šñ32ÿ×AÚ€òE ¥ÿë!¬Ñ§ü70~1"=ñßéD”§P–o“‹>Ù?Q“?Û_œ,ßR…Òþ)šö³”éoÅö)ÖäG(”ãG;òÔ?ˆ'ýmØ„|¼Bÿ°£;õ·#_ù×jMŒÝŒ?V¡?v0~""OãG ÒWP^¦PÖoœñåˆtÿ%ÆÆW)”ñíe|B9~ì‚$Î4`üâú×?ö@:SÃS|ÎDýFä ûøq¤sQ>I¡,ßG }A£OöÏe¼‘îEûý(¤óQ^§PÖïy.údÿ|Æ7 61ÿ? éB”7+”þ_éÓ}²!ã'+”õs‘FŸ?ŸfþMQ(Ëw1ã§!ÎgþÒå(_ Pú¤k5ú”ÿåŒ_ˆÈÎß]é*”·(”å»ÒEŸì_¥ÉŸ=ßœ,ß…ÒþušöÃǧ/`ûur„B9~ÜŒ<õâIÿì?B>^¡Œÿ­ŽþíÔÿ ò͘¿À# 5~ÜÎøcÊñãÆODäãÇ7 íEy™BY¿w2¾\¡Œß]Œ¯T(LJ»!‰çï“1¾éþjp÷BzåÊüïcüDDz¿Cðß„ôÊKJýû!}O£Oñ}€ñ¥ˆU¬}~ ÒwP^­P–ÿÛ.údÿ;šüÙóÁÉòÕ(”ö¿üÔ8‰Åï‡ÞEy‘BYþGïGdû{EAúÊËJýÇ!ý\£Oþÿˆñˆ4þ‰øýÒ“(oV(Ûÿ.údÿIÆOAœÆìÿÒ³(Ÿ®PÆï§.údÿYMùØþ«àdüf(”öüTÔŸªÚŸéß‹^By"®ïÅó³¢_CzG£Où¿Äø*Dš¿Dý¼ éU”×)”õ÷ ¤·5údÿUÆ×#²ý§¢ß@úÊç)”õ÷[}²ÿ;Æ/@äëÇßCzåÇ)”ñýƒ‹>ÙSS>¾~|[_οÃêw¢†—õÏ£5ü{8¾MC^ ¿¢|ÿ€$Î7‰6u„B9üËEŸìÿy_IŸø÷qüòñ eý|àÿú{‘Ÿþ dçKüÃ?I!Í/þáŒ/B¤ö ó‹¤Y(¯THíÓ_Èø*Dv>Ä?’ñu ©}øG1¾A!Í?þ1ĸ0ã+ðdC®Oýc!¤á1>‚3õg!?˰­Oý‡@: å“Êò ©I£Oöc¼±AµÿáÆ£¼Q!Õ¯ÿ}²?žñ͈lÿÝs±ʧ*”þC[ôû4údã§)”õ3Q£ÏÆ_ÁIÿ¦+”å+büLDÚßþÁœë/Gùb…ÒÑF}Ê¿œñ-ˆÇ³ø U(?A¡,_¥‹>Ù¯Òäã¬|ËJûušö³Œé7aûgòŽPHã‹*òÔ?ˆ'ý騄|¼BÿŽþíÔŸ…üÌŽa»¿õÏgü± åø±€ñÙúÔk~åe eý.b|¹B¿ÅŒ¯T(Ǩ3;Èçb|žd¨ñÆzÿñžÊ<êÏC~ža–CZ‰òI ¥ÿ+ ¦Ñ'û+ïCd÷¯þUÖ ¼N¡¬¿Õ.úd ãÙý«¤M(oV(ýßi‹FŸìobüd…²~NÔè³ûWÁIÿ¦(”ú'iâÇǧӰ~Ä=é eÿhCžÚñ¤ßŽíGÈÇ+”ñíp´_§>í-Àüòù5ÂøI eÿˆ2¾‘ϯÝnEy¥BY?;_…Èöý1Æ×(”ñ3> PöŸ^Hpœ¿ã/pŽ¡úÏ.H{4<Ågê/B~‘aï?gA:å“Êò‰:ü¼FŸìŸÃx"Ÿ_?é£(oT(ë÷\}²ÿQÆ7#òùõã>‰ò© ¥ÿŸ€t‘FŸì’ñÓÊú¹@£Ïç׋˜ÓÊò}Šñ3ùüz ¤Ï¢|±Béÿ¥>§Ñ§ü?ËøD¶þ÷_é ”§P–ïr}²…&¶>œ,ßR…Òþ5šöÃög¶OQæ#ÊñãFä©Oú7cÿòñ eþ_rôo§>íÁ:Òü~éœù}Žä¥ý¯öïÓOúÀÙ¾Ÿãäï¶þ™uf"ÆO|?ÇßÞ½/‰û¬3 ÿò¨câJÆy\s™¸„ñ!k.¹þÃÈãšÉÄŒÿ!òË‘_îÐyÔ1qãŸ@uLäå{ùUȯrð?E~5òbüóȯA^à!Œÿòk‘x<ã…ü:ä×9Êÿò둸œñ¯"¿ù †:ÿ.øß!¿ùþ ä7!/pãßDþDä61þOÈoF^à Œÿ ò[XÎøw‘Ç5›‰3ÿ7äñžÏÄÃÿOäOA^àXÆÿùS‘?ÕQ¿ ò+_l D^à0äáÞ¸lÓðØÿŠñßù­È œÉìÞ»÷ÅAÞ†|›Ý¿â±È‡ÙÛñ8äÛ‘o··âC‘ï@^ࡌ?ùmÈosäòaäÃöú->ùÓ‘ØÂøIÈoG^ੌ÷#߉|§½~‹K‘ïB^àŒ¯@>‚¼ÀùŒ¯F>мÀzÆïF^àpÆ7 ¿ùŽöÑŒ| ù˜Ãÿ©ÈÇ‘8†ñ3ïA^àäa~-†ûµâ¹(‰8 ùÑÀÁZ¬t‘FŸÚß\ä{­r™ˆs…XC¬Š¢|œBZüVº@£Oö2þ`Dz¾m¿ò.nAùQ iýR¼ØEŸì·0þÄÕ,~Ç#¿õâü.ÖçÅˤBZŸ/G~ê <ŒÅGø°å‡+”ñY)¢Ñ'ÿW#¿ÛòËDöü§x-ã'*”þ­c¼±†Åæƒâ(¯U(ã»ÁEŸüÛˆüôOà±Ì¿“?Q¡ôïdÆû+˜0Ÿ†òJ…Ò¿S]ôÉ¿Ó?ý;Ãá_ˆñJÿÚïCäþÁxX cVþ™hÿLÕ~„ŸÅa}òïtGý“>ñl_B>^¡,ù³Pÿ,Ãö}·âÆ¥P–¯ù³QÿlGû¿Š÷ üp…²ýB{(¥Ñ'ÿ÷ ÆGà$æß™Œ/R(ý;‹ñňô|Ƴbȯ¤åÕ ¥ç0¾±õáþ·ø#ŒoP(ã{.ã›§2ýó?M¡Ô?Ÿñ3g1ý3~¶BÙ~>Áø¹ MbW ÷%â¹”üègõ÷ÅŸFy±B¸ÿ+þ³FŸêïÓŒ/A¬dö/†t Ê«JûŸt“FŸì_ÂøjDÜ¿2ç¯K!]†òD¼?7ç¯ÏBºA£Oö/c|3âlæ?Ü__‰ò9 ¥ÿpY|½FŸì_Éø¹ˆì|eñU>‡òE eý^í¢Oö?§ÉŸÝ_ N–o±Biÿóšørý4õÃÎW®øË(_‚Hëh/Å73þxDZßÁ|_ ÷·Å·hx² Ó_¦PöŸ[5íëùs‘?×Ñ>áþ·ø”W)”õ{;¤‡5údÿÆW#òöù Hw¡¼‘·Ï;!}W£Oöïb|3"oŸpÿ]|/Êç(”þßé;}²/ãç"òöy¤ûQ¾H¡l?ßtÑ'û÷kòçíë;¬|‹JûjâËõ¿«©Þ>+~ åKyû|„ñÇ#òöùH?Ôðdÿ‡L™BÙ>Õ´?®ÿòE^ ­DüŸ„ô4Ê«š<Ì—ÅOAz^£OöŸf|BÓ?XÇ?é9”×"Rûåÿ ¤Ÿjx²ÿS¦_¯P–ÿYV¾þsÿ9ÿ<ꟇüyŽøüÒ‹(¯Rhò°.þ¤W4údÿEÆ× ÒóQþ_CzIÓþKL¿N¡,ÿËÿ¹þ+ÈŸüùŽò½é ”W)”å{Ò5údÿ Æ× Ö3û¿‡ô&ÊÊþ÷æ×'ûojòçü ûúìÿg\Ÿ| y>æß»ÞC9]Wb¨ñóÿ ýS£Oößc|";¿Uü7HÿÐð¤ÿ}Îÿýÿ8òwøÿH®ãþÿ×ú3AŸì¿Ïø2DîÿöjxÒß«±ÏxÁ™þyÇ*û%†£|""•ü/{œ’ }²?œñ”>ŸóWÉH#Q^®æ¯áÃ1}²?’ñˆÍÌÿQÆ |²BêŸ%£]ôÉþÆOEdï÷•é`”ÏR(ísÑ'û3~âfî¥JÆ£|¡BêŸ%G¸è“ýñšø±ùYp õÇù Ø>>iX÷gˆfþâÞʇ<ÝOú~¼?òñ e|Š÷oNýRä/Àü²ý’*Æ)¤ûÃ’jÆ— ÒóMÑv„硼F¡lµŒ¯U(ã`|Bºÿ*—ÀØ—!ÆW ;ßZcaÉN”OP(óodüDDv¾µî9K&£¼D¡Ô‡¶\2K£OñÌøRDŠhS MCyBYþ©.údš&¶?$8Y¾Z…Òþlä/B}´? â7RÊ‹Êò/`¼‘?ÐÖK£¼\¡Ô‡µfÉ>ù¿˜ñˆì|kI ¤ãPÞ¬P¶ÿ%.údÿ8ÆOAœÆìÃZ³dʧ+”ñ[î¢OöWhÊÇη NÆo†Bi-òŸBýO©ögú·Ò‰(/C¤õ{7AŠiô)ÿ_…Hë3Q?›!„ò:…²þ¶@ŠjôÉþIŒ¯GœÅü?Ò©(Ÿ­PÖß).údÿTÆÏE\Ìì·B ¡¼E¡´ßæ¢OöCŒ?q³†´å+Êú;ÝEŸìo×Äo%㣚úã|ŒµŸ‰¾‡õÿ£5üN??¼@¾>Ùé,_lX󢜟ÎtÑ'ûg!Oã7éÿß…|¼BY?ç:æ§þyÈýHû«bþú$ã‹ÊùëÆ#²ý͈[É (¯V(ÛÿEŒ¯A¬G}ð·äSŒoP(ÛǧߤPÎoðwÉÏ@~ Æ÷ö¿Xr)¤ËP^¬Pú÷YHwiô)~—1¾‘íß”\éJ”W)”ö¯€ô>Ù¿’ñÕˆlÿ¦ä*HŸCy"Û¿)¹Ò—4údÿsŒoFdû7%×@ºåsJÿ¯…t“FŸì_Çø¹ˆlÿ¦äzH7 |‘BY¿ŸwÑ'û7hògû/‚“å[¬PÚ¿Y_®ÿ%Mýðñ ¸’ÛQ¾‘íß”|•ñÇ#²ý›’¯AºMÓýÛ˜þ2…Òÿ¯kÚ׿]Ó~—1þ.ì—"/_+¹Òý(Ÿ¤PÖÿ7!=£Ñ'û÷3Þ‡ÈîK€ôm”W+”ã×·\ôÉþ·_‹HýCø÷¤ï£¼^¡ôÿ{~ Ñ'ûßg|ƒBÿ‡5úlÿ@pÒ¿F…²|?d|3"_?ýÒ(Ÿ®Pæÿc}Êÿ MýðõÓ3Xÿ0Ιã?¢œŸžCžÆWâIÿg8þ ùx…²|?wÌNý¿ ó¿Ì°¿.y‰ñE åüó2ã‹ùüó ¤¢¼Z¡¬ÿW_£PÆ÷7Œ Òø*ô é5”7)”öéo}*ÿkŒoFœËêÿuH¿Gù<…2¾o¸è“ýß3~â"æÿ[ÞFùb…Òÿ?AzG£Oößf|‹B¿?kô[˜þ;Ì¿% ¥þ_5ñcç''ëç8…2>×´®ÿOä/Çöw¹£ý½Ïø"…²ý}ÀøbDÞþþüx”W+”ñÝËø…T~ñ*䈬ý•– ¼I!Ù/͇t˜FË/t%ߌÈÚ_é0H#P>O!Å·t¸‹>ÙÁøˆ¬ý•Â¥ô”/V(ýé >Ù?€ñ- eüÆjôYûœôo‰B©?N?Ö~'ëç8…2>‡kÚ×üØþ²õw鱌/RHí¯tã‹Yû+…¹¸tÊ«ÊøNb|BY~㈼ý/¥”o“BiÖÊ¥Í}*1ã ç°ökšÒ2”ÏU(ã[ê¢OöË?q!ó_ìÏQ¹)”þ‹ý¹:>Ù¯aüb…2~µ}¶~œô¯E¡Ô¯×Ä·ßf¬Ÿ+±ý Jý)šöÁõ§9ο>ñ³ð| Ügˆs¥„ÒþÇù8âIã|ž“Ǿœ5òW¶óÅ¥Köî}îó?‡¼ÀÆü5È <ŽñË‘¿y‡0~ò×!ÃþZä¯Gþz¿ùÏ#ÿy“?ù¿Á‘ÿIÈy'0þT俈¼À*ÆoEþFä²ó—¥!äoBþ&Ãv>¸tò7#³£|Û‘ÿòÇ3>‚ü-ÈßâÐßü­È †¼˜ ]”öjxj½Ø>¾‚üWTÿ2ퟹwï/„þW‘˜Ïøsÿò_sèùÛ8ŸñCþëÈ m¨ñIì\ˆò)¾bn»ºÉ§4úT¾ ‘¿ûÀƒ 5>Wz1ÊÇ)”ãÓ§AÿB>Ù¿˜ñ#Òþ”˜Ûa]^z)Ê'(”ãë%.údÿRÆOB ±ø]ü¨ëb~»ŠñG*”óÛÕÈõÆâý½ô:”®PÆú{é}òÿ:äï´ü2‘=¿)ý<ã'*”þÝÀxb ‹/ôçÒQ^«PÆ÷‹.úäßÈß…þÝeØÎ–ÞÊø‰ ¥_f¼±‚ùý©ôk(¯T(ýûª‹>ù÷5äïFÿîvø÷ ÆOT(ý»“ñ>DîäWzÊ+JÿîvÑ'ÿîAþôO [ß—>Àø‰ ¥ßb¼‘û÷mH¢¼R¡ôï;.úä߃Èß‹þ ä뿇?Q¡ôïÆû¹?€ôÈïCûˆrþ~ÔEŸü{ÌÑHŸø'° ùx…²üO"ÿMÔÿ¦a;ß[úSÆ¥P–ïYäïG}¼ÿ?éç(?\¡ìÿ?ýó5úäÿÏ‘ã#póïÆ)”þý’ñň|ýý+Ã(oGyµBéß‹Œ¯A¬G}±öý5ãÊø¾Äø&Ä©LÿÆOS(õ_eü ÄYLÿ·ŒŸ­PêÿŽñsç1ý×?_¡Ôƒñ 1ý?0~±B©ÿ&ã— .eúo1þx…²ýÿ‰ñËšü™ÀÿøVÃ8`îŸ dÏJßô.Ê‹Êúý+èÖèSû{—ñ% ¥þÿFÙA(/U(×ïAú;ÊËÙóËÒ¿þX>åÿwÆW!²ýÓÒ@úÊëJÿþ úc4údÿ_Œo@œÌüÿ7¤ÿ¢|*â4æÿ@¿P£OöÿËøˆüþNìßüå‹Jÿ?ýá}²ÿ?Æ/F\Êüß |ÊWHíK<Š×ê£}¡›ÿñŒÎÊw‚Bi„&¾\¿PS?ìù€àdý/S(í i\,ãK˜>ñÀ•†ò ÍøÁx[6Žñ«W#/ÊcvÙ!žìÂô×(¤ñ¡ìPMÿâú‡!ÿmä¿mØžß•Á\Tv Ê«Rû)ƒ>]Ðè“ýc_HýKÔ ¬•Ê&¢¼‘=¿+ƒµxY•FŸìOd|3"{~WsYYÊç(”þû UhôÉ~ãç"²çwe0–•Q¹)”í§ØEŸì—hògû{‚“å[¬PÚ¯ÔÄ—ëWiê‡í¿®¬ åKÙó»²:ƯP–¿R#ÊOP(Û_k_\ŸòodöK4|êyì|PŒ•e3P^®PÖïtH‹5údã+éþE”o&¤Ù((4y¸O*ƒµBÙ|>ÙŸÍøzÄffÚbÙ<”OV(ëw.óë“ýyšü9?_S~6NÆwŠBY-È?ˆúöñêºl9Ê«ÊøÃXXvšFŸò_ÎøjÄZ+ËV¡¼±ÞPヰq’FŸì¯b|#âLæ?Œ…ekQ>K¡ôÆÒ²Í}²¿–ñ³Ùóƒ²u6 |žBY¿ë]ôÉþMþó¿™•o¾Bi‹&¾\ÿ$MýÌg„úßE^ N‡Ô‰òr…²~·CÚ¥Ñ'ûŒ¯@¤ûQ¾.HQ”× Rûs_R\£Oö£Œ¯S(çÿnH;4<éï`úõ eýÇ4þsý¸¦üõŒßÅâÛ PÖßnäBý‡ ûøp6¤ ¼J¡Œÿ9.ÓèSþa|5"ŸÏ…tʈ?1>|Òg4údÿ<Æ7 Î`þýmÙÇQ>S¡ôÿc>­Ñ'ûgü,ÄÙÌÿO@ºåsÊúû¤‹>Ù¿@“?{þ#8Y¾¹ ¥ý‹5ñåúŸÑÔŸ€+»åój|¸œñ‹Êò_é*”/V(Ûו¬}q}Êÿ*f¿DÃ_úßC^ ®‡tÊËÊúý<¤¯jôÉþ Œ¯@¤ö/Ê÷H7¢¼‘Úïxà¾é>Ù¿‘ñÄFfÿ&H_By“BY¿73ÿ¸>Ùÿ’&Îߢ)ã¿ÊâÛ¬PÖß×ÿ>êßÿo@º åå eüï„ô FŸò¿‹ñˆ<þwCºåÕˆqos¤4údÿ^Æyüïƒt?Ê›Êø“ùÇõÉþýšü9ÿ€¦ü<þ²ø6+”ñÿ.ò£þÃŽø?é‡(/W(ãÿHÏkô)ÿ2¾±žÙÒã(oP(í?é>ÙœñˆM,þ?‚ôÊ›ÊøÿØEŸì?¡ÉŸ¯ŸŸa囬PÚÿ‰&>|}ý<‹ÿ…²~~†ü#¨ÿˆaŸ?é×(¯R(ã÷"¤¿hô)ÿ_3¾‘ÏŸ/AzåD>¾ é->Ù…ñ ˆ|þ|ÒoQ>S¡ôÿ7ÞÔè“ýß2~"Ÿ?éu”ÏQ(ëç5}²ÿº&>ÿ½ÉÊ7W¡´ÿGM|¹þ[šúáó'peï¡|>"Ÿ?ßaü"…²ü…ô(_¬P¶¯wYûâú”ÿÿ1û%þ=Ôÿòùø!ö7ÿƒòr…²~ÿ ×è“ýÿ0¾‘ßbó”W+”ûgïƒ~žFŸìÀøZ…r}-ö7÷jxÒßËô ©þEQügúB7¡üÆgñ­S(ípìŸOú£qþ‡È ô©ø•iÊýˆ¸¿.úwùAÓè“ýqŒ/Cd÷?åC:TÓþ¡ûœ? ýùGþéü(”û¹ÿGBš Ñ'ûG1¾ ‘û:åÇjxÒ?VcŸóÐÿÇ8‘Ù_Êý('äþA*Óè“}?ã +˜ýbH¥žôK5ö9_†þ?޼À ̾hƒÕ(÷#rÿ!åu}²_Íø2Ärfƨò€†'ý€Æ>çëÐÿ!/ðXfæüòf”ODô1ÿÅþâ)}²ßÌx?"ÿÊa®/ŸŠòr…4þ•Ã\_~’FŸìOe|â4æ?ü»|ʧ+¤ñ½|º‹>ÙŸÁø™ˆó™}˜«Êç¡|Bi®‹>ÙŸÇøEˆl¸då-(?A¡´¿ØEŸì·0~9âjf®-_†ò5 ¥ý\ôÉþ2ƯC\Ï쯂Dv7(”öW»è“ý5Œß„¸…Ù[å$?I¡ÿ7ºè“ýMšöuãOÒ´oΟ‚ýÖÉæóD3ÿ³ "÷!æó1âI_ìßµ£|¼BŸ6Çù§~;òO`þÄø@?*ßÎøb…&/Æ®NÆ—"Òúv$ð]~ŽòZ…²FP(ãe|½B“?¸nHÏüIŒ¯Àc0ÿqÀÅ ýåÊü㌟ˆHå|¤(/Q(õ{!­Ñ§øîd|)"­ŸDûû{{P^£P–·‹>ÙߣɟÝN–¯V¡´òO¡¾ÀI,~çAzåE eùÏg¼‘σô ”—+”ú‡t¹FŸüÿã+Ùýgù'!]ˆòf…²ý_à¢Oö/düD>þ_ é”OW(ã÷}²‰¦|Ó9‹ß …ÒþÈ?úO«ögú÷9H×¢¼ ‘Ö'b~½Ò£}ÊÿZÆW!Òó5Q?×Aú<ÊëÊú»Ò#}²ÿyÆ×#Îcþßé‹(Ÿ¯PÖß\ôÉþ¿‘(ÿ¤[Q~¼Biÿ}²+ã—!®aöÅþÚ×Q¾V¡´›‹>Ùÿ:ã×#žÈìß én”oV(íßå¢OöïfüIˆ'3ûß„ôÊOQ(íßï¢Oö`üiˆ­Ì¾Ø{åm eûþ®‹>ÙHÓ¾Úÿˆ¦}sþQÖ¿&jøÇÙøx´†ÿ1Î/Ï /¯oÁnùO@Éœ?åüýŒ‹>Ùÿ ò4¿‘>ñÏáü'äãÊúyÞ1ÿ:õé|áOÑ?Gj~‘ñÅ åüþkÆ—"òùý%ªP^«PŽ/3>€Hû·0•¿Âø&…²}¼ÊøÉ åüÿ[àżò,Æ÷YÃv>®ü5Ho ¼X¡ôïu€a}ŠßŒ/Adûƒå¿‡ô&Ê«Jû€ô_>Ù“ñÕˆ´ÿ'Ú×!ý å ˆì|Nù[þ©Ñ'ûb|3âlæÿÛþ‚ò9 ¥ÿ†ôw>Ùÿ ãç"²ó9åï@zå‹Êúý«‹>ÙW“?Ûœ,ßb…Òþ?4ñåúÿÔÔ;Ÿ#81šò%ˆÇaùÄÞÅûŒ?ï¯ÄþV¹ØÿúŸ†'ûÿcúËJÿ÷jÚÓº íwã‡aÿxy´?ÊЇ+F£|’BªÿŠQŠ4úd4ã}ˆ´~€ú¯i,ÊëÒøUq€‹>ÙËøÄ&æÿÁEy³Béÿ!ŽÐè“ýC?Y!Å¿â0>{¾ 8éß…²|ã? q‹Ü«TL@ùl…2ÿc]ô)ÿ šúaýSpfýÃÙŸËøMˆ›™ÿ0–W,Fù…Ò‹+ŽÓè“ýÅŒ?I¡Œ_‹FŸí¯Núw²BY¾¥Œ?1Èâ³ÒJ”oU(ó_á¢Où¯ÔÔÏVƯeõߪPú·NÓþ¹þäŽýK Ý¿‹þµ…ñÅ eÿ:‰ñ¥ˆ¼A¬*ÎAy­BY§0>€ÈûשŒoP(ãwã§!òöe­hCùl…2ˆUÅ™}ŠOãç ®eõ‚Ôòu eüÛ]ôÉ~ã7 nbþo‡Ô…òJÿ;!ukôÉ~ã7+”ñ‹hôyÿéfþmQ(Ë·ƒñ'#žÊâÓ iÊOS(óßé¢OùïÒÔÏiŒ?“ÕP¡ôï,Mûäúç ÿ lÿ¿p´ÿó_¬P¶ÿ1¾‘·ÿCºåµ eý}‚ñDÞþ?Éø…2~0~"oÿAú4Êg+”ù ÒÍ}ŠÏ§?‘·ÿ‹!]‚òu eü?ã¢Oö/aüDÞþ/‡t%ÊOT(ý¿Òç4údÿJÆoV(ãw•FŸ·ÿÏ1ÿ¶(”廆ñ'#òöÿyH_@ùi eþ7¸èSþ_ÐÔo¿7³ú*”þ}IÓ>¹þ­È¿€íÿGû¿ñÅ eûÿ:ãKyû¿Ò3(¯U(ëïÆiý$Úÿ7ߨPÆïNÆOCäíÿnH÷¢|¶B™ÿ=žÔèS|îeüD¶Wq¤ûQ¾V¡Œÿ7]ôÉþýŒ_¸‘ùÿHßEù&…Òÿ!}_£Oö¿ËøÊø=¤Ñgû‚“þmV(Ë÷0ãOBäíÿQH£ü4…2ÿÇ\ô)ÿÇ5õÃÛþƒ ¥OiÚ'×ù_bûÿ¥£ý?Ïøb…²ýÿŒñ¥ˆ¼ýÃ|Sñ”×*”õ÷ Æyûñ eü~Éøiˆ¼ý¿é%”ÏV(óÿ5¤÷4úŸ—?‘ÿbîU”¯S(ãÿŠ‹>Ù•ñùøÿ¤7P~¢Bé¿Ø{S£Oöß`üf…2~¿×èóñÿMæß…²|düɈ§±øüÒ;(*”ùÿÅEŸòGS?üþà=Vÿ[Jÿþ¦iŸ\ÿÈÿ Û¿@Úßíÿ¿Œ/V(ÛÿûŒ/Eäíÿà'¢¼V¡¬¿ÿ1>€Hû3¢ýïe|³BŠŸØ •ü4DÖþ+ó! Cùl…”e¤c4ú¡+ù9ˆ«UýVÂ=|e!Ê×(¤øWŽpÑ'û…Œ_‡¸ù?ÒX”oT(ý?Ò8>ÙËøM eüÔè³þ#8é߉ eùfüDÖþ+‡4åA…2ÿ#\ô)ÿñšúaíWp²þ·*”þ«iŸ\"ò/bûx´jÿ•ÅŒ/VHí¿²„ñ¥ˆ¬ýW‚¬rÊkÊú+c|@¡ŒO9ã§!òö-RÊg+”ö…™}*ã)Ÿå¬þª!‘ß+ÊøÖ¸è“ýZƯB\Ãü‡¹®² åkJÿa®«œ¢Ñ'ûMŒ_§PƯY£¿ŽéOaþ­W(õ§jâÇö¯'ëgƒBŸYšöÁõç ÿkl¿v´¿…Œ/V(Ûß"Æ—"òö·Ò)(¯U(ãÛÂø€BYþ%ŒŸ†ÈÛßqŽGùl…ÒþRH[4úTþã?‘·¿ -Gù …2¾Ë\ôÉþrƯBäíÆâʵ(g(ý‡k+7hôÉþZƯS(ã·N£ÏÛßæßz…R£&~¼ýlaõ³A¡ŒíÏñöÁõOAþ%lÙóÝÊVÆ+”í¯ñ¥ˆ¼ý… }åµ e|ÛP(ËßÁøiˆ¼ýmƒt:Êg+”öÃÎÔèSùOgüÄe¬ým‡Ô…òå e|;]ôÉ~ãW"®fþï€Gù…Òÿ¤}²güZ…2~=}¶þœôoB©¿K?Þ~ÏÄúyÛ¢Ô?[Ó>¸þG û÷HŸx±ÿ&ÎgÁ}„ùýFDiÿã†ýûqÄ“>p¶ï×9ùOYÿÌÿ-òë±~üÀ_¶wïÏ/ùïXÀø+‘ ù×Tý™üçù×Uû4ùëy+ò¿Gþ÷þFäÿ€üü—yG3þËÈÿù?:Ê÷5äßBþ-U¿&;òBþO¬ÿþNäßFþm‡þ=Èÿù?jüü7‘ÿ òŒÿòï /p*ãDþ¯È œÈøï!ÿ.òï:øGÿ?äÿÏPçûÿ(òï!ÿžÃ¿!ÿ7äÂø'‘ÿ;ò1þäÿ¼À…Œù"/ðxÆÿ ù!/p>ã_@þßÈ œÃø‘ÿògüËÈÿùÿ¶ïsVþù÷‘ßѾ^CþäŽgüï‘ÿòaü‘ß‹¼À1ŒÛâE–BfâHC¿Ð^*ßEù(…rü…öRեѧñã]ÆF<í‹{Gh/•Cù! åüñž‹>ÙÿòyÈç±øÿ ¾*ÿ‹ò#Jÿ¡¾ª¶iôÉþ"_¾Ïø"…rþÿ€ñňլüÿ³Ž3`y eù÷ºè£B×äóÑ?Ç*ÿª†3¾H!ùW5‚ñňÊ¿*˜ã«F¡¼R!ùW5ÒEŸü…|ú'póï@Æ)”þÄøbÄóo¤CP^§Púw°‹>ùwãÙüTuòÃÐÿaÿd|‘BéÿQŒ/Fäñ…¶Tu,Ê+JÿqÑ'ÿE~8ú7ÜQÿEŒ/R(ýó3¾‘û²ªR”W*”þ•¸è“¥È@ÿF8âWÅø"…Ò¿jÆ#²þS%| ¼F¡ô¯ÖEŸü _ˆþ:ükb|‘Bé_3㋹“!MEyBéß}òo*ò#Ñ¿‘ŽúÅø"…Ò¿ÙŒ/FäþÁ\V5å5 ¥s]ôÉ¿yÈBÿ¥‹_¤Pú×ÂøbDîÜ_W-EyBéßq.úäßRäG£Ù󋪌/R(ý[ÉøbDÞ?VAZƒòJ…Ò¿Õ.úäßäÇ ÙüRµ‘ñE ¥›_ŒXÃü;Ò”×*”þmvÑ'ÿ¶ úw€#~§1¾H¡ô/ÈøbD¿­ÚP^©î_ªZ]ôÉ¿6ÇüMúÄoÃõW)”öÆ}ýB<éwYÿ,8ylýT‡õØ(8ylýT÷U»Q>J!­?ªàþ±êj>å¿›ñ£i},â·Ò™(?T¡¬ß3\ôÉþ™Œ?‘ﮂûϪ¢¼X¡ôÿ\HiôÉþG_‚XÎÚÏyŒ¯P(ÛÏùŒ¯Dldåÿ¤O ¼I¡¬ß»è“ŸÐøßÄø‹X|šÊø~ŠñSg³ò]Âø9 eù.eü\ÄV¾ÏBºåKÊò]æ¢Oþ_®i_K5¶o\“›ÈÛ÷ç¡} »ØæLäíû‹nBù(…²}Üéa>åãG#ÊÊ3¤[P~˜Bÿ/¹è“ý[b1óÿ«nCy‰Béÿ× Ý«Ñ'û·1¾‘Ú¯¨ÿ¯3¾R¡¬ÿÛ_…ÈÛ÷îDy“BYÿßpÑ'ÿîÔøÏÛ÷½,>Í e|ïcüDÞ¾¿Åø9 eù¾ÍxjG¼}ÒwQ¾D¡,߃.úäÿw5틷}c›1‘·ïÇ¡}‹~÷ì&òöý¤§P>J¡lOBú“FŸòŠñ£yû~ÒOP~˜Bÿg\ôÉþO"oßÏCú9ÊKJÿé>Ùÿ9ãKyûþã+ÊúñUˆ¼}ÿÒ‹(oR(ëÿW.úäß‹ÿyû~…ŧY¡Œï«ŒŸ‚ÈÛ÷kŒŸ£P–ïuÆÏEäíû H@ù…²|¿wÑ'ÿÿ i_¼}ÿ Û7îy˜Èö¿ªÞÝ»÷9Ñ¿pÏÃD¶¿Tõ7äqÍnb ãÿ‰<®IMäüÇ='§0þäñžÅÄ*ÅWÈã=—‰Ì~uò¸çh"Ûÿ«<®IM¬`ü(ä}È dûsÕ kVdüAÈãšÈÄzÆ‚<ö9ë8òØçLÎø#‘/E^`9ãA¾ ù2‡ÿ‘GÙøV]„<ÆÄDÊî5«ÁŸê2”"ÒøãM5øS»P£íOèš|¥%7×bü©© åãÒøS ×Î×è“ý*ÆŒHû{пªá^¯ºåG*¤þ]]ã¢Oök‘¯B^ í¿C,«¤BêÿÕMÈW£¾ÀÃXùáþ¿z*ÊW(Ë}¥ú#}òo*ò5–_&²ûëê錟¨Pú7ƒñ>ÄR¿™f£¼L¡Œß,}òo6ã+Ocío>òµè¿@v[½ñJÿ1Þ‡Èý_ i ÊËJÿ[\ôÉÿ%Œ¯@ÜÊü?ùúpø¿œñJÿW0Þ‡Èî«…«Q^©Pú¿ÊEŸü_ÍøjÄÕÌÿõÈסÿuÿ72~¢Béÿ&Æû¹ÿ'BÚ‚òJ…ÒÿÍ.úäÿÆW#rÿOE¾ý¯wødüD…Òÿ­Œ÷!rÿ[!…P^©Púßæ¢Oþ‡_¸–ùF¾ýÈö覆3~¢Bé'ã}ˆÜÿ.HQ”W*”þG\ôÉÿ(ã«ÙóÉê8òè£#þ½ŒŸ¨Pú¿“ñ>DÞwA:ååˆ,ÿݨ߄ù#Òú©ú ûT¾3ã+éÿ¿…|¼B¿s‘oFýfÃöûFÕgüQ eù?üdÔÈç‡ ]„òÃÊùáBП©Ñ'ÿ/B~ ÆGà$æß§_¤Púw1ã‹i}ë€êÏ?åÕ ¥—0¾‘žÏˆµÅ¥Œ¯S(ãûYÆ7 61ýË߬PÖÿŒŸ¢ÐäEÝ_¼¸¯˜jµ[ùúñsÈOC~럂¿ùéÈ dûcÕ×CºåÅ e|>ţѧú»ñ% ¥þ ÝòRDº¿ë·/Bº åÕˆ´ÿ+Öo7BºO£OùßÄøb+ßÍnAy³Béß— Ý£Ñ'û·0~2â4æÿ­¾‚òˆ3™ÿ_†ô >Ùÿ ãg#Îeö¿ é6”ÏShúXý5H·kôÉþmŒŸHíúIõ×5ú‹˜þí̿Šeû½C®ÿ M|3þV- ¥ý{5í‡ëßÇø¦OåÿCÆ× Ö³ö÷(¤ÇQÞˆHýK´ïÇ =£Ñ'û3~2âTfÿGž@ù4…²}ÿÒS}²ÿã§#Òþ‡hßOjôg3ý§˜sÊö÷´&>\ÿM|ç0þ9VsJûÏ3¾„ñ¤\õ‹(Ÿ¯P¶ß_0~!"õoÑ~_€ôK OöÉô+”í÷WšöÉõ_D~&ò3 5¾‹ö÷*¤ß¢¼J¡lŸ¿ý|>Ùÿ-ã«i~íçw^Gy"íωöù¤ÿiôÉþëŒoFœÍüÒP>G¡ôÿ÷Þ×è“ý?0~.âfÿMHo¡|¡Biÿþ©Ñ'ûo1~"o">‚ôg”/U(ë÷m}²ÿgÆŸ€HçKÄú÷]Hï¡|­BÙ¾ÿÏEŸì¿§)ßZÆÿ“ÅoBiÿ_šø¯cúï³ú]¯Pê i_\ÿšö¹^ñ‚«)DùFÄMX/Õ0~3â)ª~j †5#P~ªBò¯f8ë_\ŸòÁì—høBÇúì?ׇ³8ùw¤ƒQîGÄùIô¯šq×è“ýƒ_†ÈÖ5‡@:LÓþaûœ?ýŸ¼À‰Ìþ‘HîGäþýNÍD>Ù?šñeˆUÌþ1&hxÒŸ ±Ïù‰èÿäç8ü‡{šb”û¹ÿ «™ªÑ'ûÅŒ/CÄõjÀV ÉkÒøSsZÍd>Ù/c|-"[×À=\M%Ê›Jû"ÕkôÉ~%ã)¶þ®XÖßÓÊþSí¢Oök4ùOg|=+ß …Ò~ƒ&>3˜þdMýp~*Öÿ\äç:ê®­™…r?"¯èÏ5m}²?‹ñeˆ¼þ¡=ÖÌEyBY?àoÍV>ÙŸËøZÄÉÌþE¡´k™š“5údã§"Îböa®¬YŒòÙ ¥}˜Ój6iôÉþbÆÏA¤ùYÄî%jŽCùB…4Ö,qÑ'ûÇ1žüdós Ü+Ô¬@ùR…Òþr}²¿‚ñ' .göa®­Y‡ò eû]ë¢Oö×iâ·‚ñ›Xý¬T(ퟨ©ß•LÿdÖ~V)”ú§hÚß*¦¿UÓþ9߆ýkòyÿê€F¹‘÷¯m¾¨Ñ'ûaÆ—!òþu:¤N”×(”ís;¤4úd¿“ñµˆÌ~¤(Ê›JûH×hôÉ~”ñ͈||í†Cùt…²}îpÑ'û1ÆÏD¤þ5¸.AùB…Òÿ]Œ_„ˆ÷'b­f7ã[Êö³‡ñÇ!RÿöÏ„t6ÊW(”ùŸéÓ}*ßÙŒ_‰¸ŽÙ?Ò¹(_¯PÚÿ¤OjôÉþ¹Œß€¸‘ÕÏG!òM eùÏsÑ'ûçkòßÄøO²ò¨PÚ¿@Ÿ™þ§Yü7+”íçbMûàú—0þ$Ä“ y[s9¤+4<é_ÁôOQ(ý¿RÓ?øúùÖÿNU(õ¯Õô_¾¾¾A3~pþ‹8>ÍG~¾!ÇO±[s3ò ècõ+¤¯ ÜÈǯ/Cz_£Où…ñe eûý*¤ÛP^®P¶ß¯AúFŸì߯ø DZÿ‹úû:¤Û5<éßÎô«Êösãk˜ÿwCºå ¥ÿ÷@ú»FŸò¿—ñTÓ˜ýû Ýòé ¥ýoBú«FŸìßÏøˆ ˜ý }å Jûß‚ô°FŸì›ñ‹—°ö#ö'¿‹òãÊöý ‹>Ùÿ®&¾>y˜•o©BY ¿õÒþ–˜‡ô6Ê(”åÿã*”óÿH¡,ߌoA<žÅç)HÏ ü…¦þàž†ôs>•ÿÆ/S(íÿÒ³(_®Ð´/ÖF?uÑ'ûÏjòçóp5o¡|¥BÓ¾¸wúãW#®gþ½éW(ß P–ÿ—ÞÔèSþ¿büFÄÍ̾Ø?| å[Jû¿†ôšFŸì¿Äø“Jû/Czå'+”ñ}ÅEŸì¿ªÉŸÏ/¯±ò¢PÚ]>¿¼ÉâªBÙ>ÿÈúG‹Fÿ-Ö~ghø·ãÙ'þ¯8¾ ùi eþï:ÆGâIÿï8þ yP¡Ôÿ‡c~ žôÿ㘟œüû8ÿ-B^ _¿ï>å~D6ÿ‰ã0µ>Úº’/Cdë÷Ú|HÃP^£ÆŸÚH5}²?Œñµˆìþ¸æÀÚB”OQ(í€t FŸì2~*"=Œ¡µ£Q>K!ÕOí(}²?Z“?»œ,ßl…4¾×Äø¹ˆt>Røv(¤ ”/Q(ËãSHã{íáŒ_ªP–ïÆŸ€Hë+aÿHHÔ.V)”ù©T£Oå?šñ«iý/â ¤ (߀Hëw¡{,¤">ÙŸÀøJûbÿЇòÍ eù'1ÿ¸>Ù÷iòç|‘¦ülüœŒï…2ÿ2Mýsý MÿÙÂøMÿå|ÇqOx„B3¸7«m@žÎWOúMxþ¢õ[ ÛùœÚÉŽó%Ný©Žó--~&žŸmz¬Bi¶ãü(ñ¤?ßq~ÕÉ/´þY€}ÂÄ# yÿPÛ²wïsí Ç>abã—"kW1~ò¸æ1ñƯD×4&rûkÇ5‰ìüoízäñžÛÄC¿ yì³&òü· >›XÅøS_üjGþAä× ¿Æ°}ß ¶ y|¦e"/_òØçM<‚ñ§#k*¹~ò¸¦2‘o®í†Cù…fûãßH=}j1Æ"Ž6Ôø×èfúÀÕ^‹ò1 åøØËøFûbîÛ i7ÊQ(ç‡].ú”ÿnƆx4³¤sP~ŒBiÿl}²ã' 3ûçAúÊKJûç»è“ý1¾ ±†Ù¿ÒE(¯U(í_è¢Oö/b|âdf_œ»åSJû—¸è“ýK? q³¤«P>W¡ß®tÑ'ûW1>é­õÏÜÓ2‘÷/Bº å…ˆ# µþ»Ñ0šoÑè“ý›?Ñ’›xë_‚t+ÊÇ)”ít›oÖè“ý[0"¿ñû2¤¯¢üH…²~¾â¢Oö¿ŠüfäÒøSüŒ?R¡É‹¹ùÈoAý-†í|gí]îAùá eùï6ŒÀb>ùwò'Y~™x4óï>ÆûJÿ¾Éx?"ï"~÷CúÊ«Êø=à¢Oþ} ù“Ñ¿“þ=ÄxŸBéß÷ïGäþ}Ò#(¯V(ý{ØEŸü{ùSÐ?Ç2ÿg¼O¡ôïGŒ÷#òñçÇžDy­Béß.úäߓȟŠþ <Šù÷SÆûJÿže¼‘Çï9H?CyµBéßó.úäßÏ? ý;Ͱ®ýã} ¥/2ÞÈýû5¤—Q^­Pú÷’‹>ù÷2òAô/èh¿c¼O¡ôï5ÆûË™¯Cú=Ê+JÿÞpÑ'ÿ~üVôo«£~ÿÄxŸBéßÛŒ÷#rÿþ é”W(”þýÅEŸü{ùVô¯Õ¿¿1Þ§Pú÷wÆûyýþÒ¿P^­Pú÷O}òï_È·¡mÿ>`¼O¡ôïŒ÷#rÿöŸ‡òj…äŸ8ê¦ÕGÿ„®É‡Ð¿Ý¿ÀÆû’BÆû™˜‹£Q^­Pú7ÊEŸü|;ú'ƒïS(ýÇx?"÷æ¬À¡(¯V(ý;ÄEŸü;ùô¯Ã¿#ïS(ý;Šñ~DÖ?`+p,Ê+JÿŽqÑ'ÿŽE~ú'ðHæ_ã} ¥~Æûyü`­(EyµBé_‰‹>ùWŠ|ý ;ü«b¼O¡ô¯šñ~D6¿„”×*”þÕºè“äOGÿNwÔoã} ¥ÍŒ÷#òú…µv`*Ê+Jÿ¦¸è“S‘ߎþmwø7‹ñ>…Ò¿ÙŒ÷#òú…µz`>È;Ñ>"­ïó\ôÉ¿ùŽõ!é¿ןB>^¡, ò]¨ßeØæïÀ Œ?J¡,ß2ä#¨/­o+ ­Bùá i}›?¯Ñ'ÿW!ÅøœÄü[Ãø"…Ò¿µŒ/F¤ø‹±saÔ¿òj…Ò¿õŒ¯A  ¾è{_§PÆw#㛘þ‰ŒoV(ë3ã§(4ù3‡õv=¬a º­vi¢ŸÅÖ“ÓP^¬P–Ös§5úÿÓ_¢PêÃz&°奈ìüiÖ6”W#Òø!æ˜Ï»4ú”ãˆ?‘?Ìg”7+”þÁ|èÕè“ýÆOFdçs0žNGù DÚÿþÃxØ¡Ñ'û§3~6â\fús  åóšþ ¿¢}²ßÅøùˆ‹Ð¾Û#ýEL?Êü[¬P¶¿nM|¸þM|3¾—Õ_‹Bi§¦ýpý]Œ/aúÄ8åÇ)4ËãEà ÆHû›Ã}è, OöÏbúËÊþ}¶¦pýsß<¢lŸçCº奈4> þc>òj…Rÿã®ÐèSþŸ`| b½¡Úß'!]ˆòFDê_¢}_éR>Ù¿ñ“§2ûAú4ʧ)”íûS>£Ñ'ûŸfütDzD´ï‹5úìýÁIÿæ(”íïM|¸þ¥šø²ý5ÁÉú›«PÚ¿’ñ%Œ'}à×£|¾BÙ~?Çø…ˆÔ¿Eû½Òµžì_Ëô+”í÷:Mûäú×#C>fØÞ? Üéf”W)”íó&H?Ôè“ý›_Hó«h?_‚t+ÊYû¼Ò÷5údÿVÆ7#ÎfþÒWQ>G¡ôÿ+Òè“ý¯2~.";_ø¤¯£|¡Biÿ6HßÒè“ý¯3~"o">·CúÊ—*”õ{‡‹>ÙÿãO@Äg5æúTì/Þ‡òµ eû¾×EŸìß§)ßZÆ‹ÅoBiÿÛšø³ç·‚“õ»^¡Ôÿž¦}qýïkÚçzÆø1Ê7"â^·x¾x”ñ›Oaõó¤¡üT…Ò¿ÇYÿâú”ÿ˜ý ÿcþ~#ûÄ?ëÃ8òÙùŽÀ³žG¹ç'³=é >Ùžñeˆ|þûƒ¿@yµBÙþé5>Ùÿãkùøð¤_¡¼N¡lÿ¿tÑ'û¿b|"Í_¢ý‹ýÃWQ>M¡¬¿W\ôÉþ«šòñõákšørþ ¬¿ä{õ÷&¤·PîGäõ÷GHïkôÉþ[Œ/Cäõ'öÿŒòj…²þÄþã4údÿÏŒ¯Aäõ'öÿŠò:…²þÞqÑ'ûe|"¯?±?ù”OS(ëïï.údÿšòñúù&¾œë¯y>Vþ½PÜ<”ûYý‰PÔªÑGûBWòeˆ¬þêò! CyµBª¿ºHkôÉþ0Æ× ²ú«ƒ5H]!ÊëRýÕpÑ'û…Œo@œ®ê¯n ¤±(Ÿ¡ê¯î}²?VS¾Œ?X_Ίõ·yXùaVw$Êýˆ¼þÆCªÒè“ý#_†Èëï(HÇ ¼Z¡¬?°YW¡Ñ'ûÇ0¾‘×ß±&¢¼N¡¬¿ .úd"ã§°úƒ˜Ô• |ªBYÅ.úd¿DS>Ö?—_ÎWaýíB^à1¬üµêPîGäõe­›¯Ñ'ûuŒ/CäõW©åÕ eýA™ëæjôÉ~#ãkyýÁ½ZÝd”×)”õ×ì¢Oö'3¾±™Õô¥º™(Ÿ¬PÖß }²?SS¾ÉŒŸ«‰/ççcýíF^ ï°¦­kA¹‘×ÜëÔ¯Ñ'û-Œ/CdûWuK -Õð¤¿TcŸóÇ£ÿ{ÈæïºåV¢ÜÈý_i­FŸì¯d|b³¿ Ò Oúk4ö9¿ý?ù3þo€´ å~Dî?¬™ë:5údãËÙùàº!mAyBÙ`Í\wºFŸìoa|-"Û?¬; Ò)(oV(íŸ )¤Ñ'û§0~2"Û?¬ƒµx]åÓÊþsš‹>Ùjòçó[ˆ•o†Bi¿]>¿®©ÎwbýŸ‰ü™ŽúBÚr?"¯ÿnH×hôÉþÆ—!òú‡û™º”×(”õë庫5úd¿‡ñµˆ“™}˜ïëv¡|ŠBi擺Ë4údã§"Îböa<¨;å³JûÐßê.Öè“ý3?‘öDüáﺳQ¾P¡ÿÏrÑ'ûg3~1"Û_¨û(¤óQ¾T¡´ž‹>Ù?Ÿñ' .gö? éB”¯P(Ûï.údÿBMüV0þbV?+JûŸÑÔïJ¦k?«JýË5íoÓ¿ZÓþ9 ö¯³Èû×õn@¹‘÷¯ÏCú¹FŸìßÀø2DÞ¿¾éF”×(”íó‹ž×è“ý_‹ØÈìßéK(oR(íß é>Ùÿã›ùøz ¤/£|ºBÙ>ouÑ'û_füLDê_#» ÒQ¾P¡ôÿëŒ_„ˆû«âù^ÝíŒoQ(ÛÏŒ?‘ú‡°'¤»Q¾B¡Ìÿ.Hkô©|w3~%â:fÿH÷¡|½Biÿ^HjôÉþ}Œß€¸‘ÕÏ7!=€òM eùïwÑ'ûhòßÄøYùNT(íWŸ™þÃ,þ›Êöóˆ¦}pý2þ$D|ÿMìÏ×ýÒ5<éÿ˜éŸ¢Púÿ„¦°ý?ÁÉþwªB©ÿMÿeûƒ‚K?8ÿsŸÎF^ Õï/!½ˆr?"Ÿ~ú>Ù‘ñe eûü5¤—Q^®P¶Ï—@¿F£Oö_f|"­ïEý¼éU Oú¯2ý*…²}ü†ñ„ Ìÿ×!ýå ¥ÿb¯\£OùÿžñMˆÓ˜ý?@ú#ʧ+”öß}¿FŸìÿ‘ñ3Ù󋺷 ½ò… ¥ý?AzO£Oößfü"Ä%¬ýüÒ;(?N¡l¿qÑ'ûïhòçë÷Xù–*”õ÷7äÏA}ó 5þÿø‰(_ P–ÿ?Œ_¨PŽÿÿeü"…²|ï3¾ñxŸÿY[Mù M}qo³øB>–_èJ~™B²_X_€òå Mû0NÕç»è“ýMþlþ\ý±(_©Ð´/öfF2~5âzæß(HcP¾A!•¿Ƙú£5ú”ÿÆoDÜÌìé@”oQ(í…t¸FŸìÈø“JûA:å'+”ñç¢OöÖäÏæÁÉò¢PÚ?B6NÆÿT…Ô>ëaý£E£,k¿34üDÇøCö‰÷ãø&ä§)”ù;ÆGâI¿Ç_!*”úŽùxÒ¯qÌON>€óßGÈÖçõ0V×7¡ÜÈæ¿zëëOÓè“ý&Æ—!²õy=¬Yë§ ¼F!?õp/ZŠFŸìOa|-"»ÿ­‡{¦úé(Ÿ¢PÚ‡¹¢~žFŸìOgüTD:%âm¢~ÊÊú™é¢Oögiòg÷Ç‚“å›­Æ÷úùŒŸ‹ˆëo1¾×ÃZ½~3Ê—(”åoaüq i|¯_Âø¥ eùŽcü ˆ+YüÅþà2”¯R(óú}*ÿ2ƯF¤õ½ˆ?ŒÅõ+Q¾‘Öç¢ïýDýZ>Ù_ÉøJûàký”oV(Ë¿šùÇõÉþMþœ_«)?7²ønQ(óߤ©®¿YÓ¶0þMÿåüi8>œ‹¼ÀcY|Z!…PîGäãC¤}²b|"{¾PßiÊ«ÊöÓ)ªÑ'ûÛ_ƒÈž/Ô‡!mGyBßÓ]ôÉþvMþuŒjÊÏùß"ÿQG|{ íD¹‘Ç·ÒE}²¿“ñeˆ<¾» íAyµBßÝÎÕè“ý=Œ¯A¬gþŸé,”7(”ñ=ÓEŸìŸ¥É¿ñÀÕ_€òF…r}óQÆ7!Naþéc(ŸªP®/Îwѧü?Æø2¦OüšúáüEXÿç!/Ï¿Cºå~D^ÿŸtFŸì_Âø2Djÿ¢~/…tÊëÊúÿ,¤»4údÿ2Æ×#62ÿ/‡t%Ê›Êùë }²%ã'#²ý±z±¿xʧ+”ö¯uÑ'û×1~&â\fÿ nDù<…Òþ]ôÉþŒ_€ØÂìßéË(_¢PÚ¿ÕEŸì™ñKO`öoƒt;Ê—)”ýïë.údÿvMýóû£»4íó÷`û>ùóíû›@¹‘·ïû!½¬Ñ'û0¾ ±ŽµïoAúÊëÊöýmH¿Öè“ýï0¾‘¯/„ôʧ(”ö¿ éI>ÙˆñSé|ˆˆÏ÷ =Œò eûø¾‹>Ù˜ñ³é|í0à…ô8Ê+”íã1}²ÿ¸¦|ì|»àêŸAy‹BÓ¾X_>Åø%ˆl þiÆ70žìWÿ ”Ÿ PŽÿ?aü2Ä5¬ü?…ôÊ×*”ãÿ³.ú”ÿsŒo`úÄÿ‚µŸu e|_д?¾>ýµ¦ýsþeì_0™ï!šöឯþ7ÈG±}OúÀ™ïßùx…²}½æx¿È©ÿòÇüÒúEÜ»¾Åx¿B“‡òÖÿ‰ñ%ˆt(î_Þ†°ö ¼F¡ì_f|­Bß¿0¾N¡É‹µÇ;À‹õÙ'0¾Ÿ0ìë¯w!½‡ò‰ˆ“ 5>ýèÏÑèS|Þc|"Ûÿ­ûsÿ@y¹BY¾¿ƒþ,>Ùÿã+k˜ÿÿ„ôo”×*”õû/}²ÿoä?‰ü'UüÌúùðÓP^¯Pú¿—ñ éþRüSò ©þò߬ꯡ’˜×/Àöqaÿ†C*Dy½Bò¯a¤Ã4úX~¡+ù…߈AÃh”7*¤ø6ŒrÑ'û£ߌ8ÏãSÃÆ¡|¾BŸƒ\ôÉþ8Mùæ3¸†j”/D¤ùAøv8ã[—²øBŸo8åÇ+”ñ…±¤¡T£OùÉøÊøé”/S(ã{´‹>Ù?†ñ+iÿUÄúrCÊ7(”ñõ¹è“ý"Mù60¸†*”oB¤ýß2ÆoAÄýÍ<Ñ6a,h¨Ððd¿‚é·hø*V5¾ûÏ…È#ÊøÃZ¿¡^Ó~=ê_dÕ7!Í? MÈSÿ%žô'cÿ¾ÈŠ7¡ŒÿÇøãÔŸæIŸøYŽñÙÉÏÁñÿSÈ ¤ów"¶ÐW¢|¢BÙ¾aMÞ°J£Oö2~b‹/ôµ†”ûÊö½ØEŸì·0¾Çw³}C_lX†ò€Bß\ôÉþ2MùØýŸà:P^Hã£h߫߄H÷ß"~°–jX‡ò© e|a-ÕÔèSþë? q‹/ôÕ†(Ÿ­PÆwƒ‹>ÙßÈø¹ˆôüPÄúdÃÉ(_¨PÆ÷$}²²¦| \C;Ê)4íC?nØÊøÅ MÿÄÜ× ©MÓý6¦ß¤áÛYý­á;°ÿ|ylýÔp:¤N Oú¨±a­åøEžÖoÄ“>pæúNÈÇ+”õs¬/ú=ÈóxŒ!ׯ {ïWHë׆3_‚ÈÖ¯ bòÊkÊö}ãkÊös6ãëÊõÏ9þòK0¾—8â.¤óP>‘­_> éI>Åç<Æ!²õkÜ4|åå eùà~¡áÇ}²ÿqÆW òùÆí† P^«PÖï']ôÉþŒ¯C¤ñGԴdžGQ>U¡ôÿbÆOS(ׯŸaüt…²þ.AþRôïRÃöü«á2HW ¼F¡ÌÿrHhô©|W0¾q*k¿W2~šBÙ~¯bütÄYÌ¿«!]ƒòÙ ¥Ÿƒt«FŸü»†ñsÊú½Òõ(Ÿ«PÖïu.údÿzÆÏG¤óeb|þ"¤›P¾B¡¬Ÿ]ôÉþMšò­`ü­,~+Jÿ¿Œüg±~Òþ¨¨Ÿ¯3¾I¡¬ŸÛߌHõ+â¤;Q>M¡¬Ÿo@ú®FŸü¿“ñÓÊú¹ Ò=(Ÿ¡P–ïn}²ãg!ÒùQ?÷CúÊ)”õó€‹>Ùÿ–¦|lJp2~‹Jû9úñ¤ÿö_!oQ(õà_œú:Æ?Ò'þÇŽñ×É?‰ãûeÈ äëÓg ýåÊúÿ ¤—5údÿ§ŒŸ„È×§ÏBzå~…²þŸsÑ'ûÏ3¾‘ÆwQÿ/@úÊkÊøþÒEŸìÿJS>¾~®á¯(¯C¬7Ôü÷ ãÙþnë~‹ò) e|é/}Êÿ·ŒŸŠÈÎ4üÒë(Ÿ¥PÆ÷5}²ÿ:ãç Îgñ}Ò[(_ PÆ÷.údÿ-Mùøúõ/,~Gkø¿bû½y|}"öÇþ®áIÿï¨óœ¹>C”ëÃ!Oë#âI8sý$äãÊøþ×±~sê€ü•˜¿@ê0~7æ3Þ¯ÆïÆÆ— ²õa#ÔQãy(¯QHí«q8ãkiþ{#ߤ귱ñ“Òú±q¤€ü*ŒÿU†íûJc Ey±Béß–hô1~BWò%ˆ•ÌþÆ¡¼J¡´¤b>ÙÇøjÄzÕ¾†t(Êi~…þßx¤I}²(ã'#Îaþé”ÏU(ý?Ò>Ù?‚ñó3ÿ¡­6…ò…²~tÑ'ûGiògó‹àdù–(”ö'jâËõ'iêg ãk¬GùRDz¾í¥±„ñËW³ø–B*Gù…2¾¢4ú”9ã×"Òù _aƒÚÝ&…²ü•.úd¿J“ÿ&ÆXùNTHãOc¦pýzä¯F^ »ÿj„:mœŠòr…2>0W5.Ðè“ý©Œ¯@¤ý#XK6Î@yb=ò¢mÂZ¯qŽFŸìÏ`|#âfæ²ÆÙ(ŸªPÆóë“ýÙšü9?GS~¶þœŒï4…2ÿ…ŽñxÒ_‚ãççÈžo7ži9Êýˆìùv#´™ÆÕ}²¿œñeˆÕÌ>Ü‹4®Òð¤¿JcŸó«Ñÿk¿Æáÿ:HPîGäþ¯‡t†FŸìo`|";Ò}©ñD”×)”íúBãn>Ù?‘ñõˆÌÿÍNBy“BÙÿ¶¸è“ý“?q³¤­(Ÿ®PÚºè“ý­ŒŸ‰8—Ùo‡´ åóJû.údã ¶0û"(_¢PÚïrÑ'ûÆ/EdÏoczP¾L¡ì_q}²ß£©v¾Dp íóg`û¾Ö°Öoˆ´~l<yZOúÀ™ë'!¯PÆç\ÇúΩò×aþ×¶ï«6~’ñ~…rýxãKùúñBHF¡ì?1¾û—¹~üãëÊúù4ãÊõ#¬›ÿ òë1þ×öõã¥.Cy±BéÜï6> Ñ§ø]ÆøÄ Ö¾à~¡ñJ”W*”õs…‹>Ù¿ùÏ#ÿyþ>…úl¼åU ¥ÿÆohôÉþõŒ¯Fäó+üÝø”×!büÍñõH·iôÉþ߈8“ùÿEH7¡|–Béÿ¾ªÑ'û71~6"Ÿn†t Êç)”íçK.údÿMþóÿUV¾ù ¥ý¯iâËõoÓÔ»¿\ã½(_ˆHÏ¿ÅúôNÆ· âø(ž¯4Þén OöïfúÇ)”þߣi\ÿ^Gÿ }âÀþwòÙýuãƒB¹‘Ïßß…ôˆFŸì?Äø2DÞÿ¾éa Oúkìsþôÿ È äëG!=Žr?"÷ÿ1HÒè“ýÇ_†È×?‚ôÊëÊþñcHÔè“ý'_È×OBzåM åøô”‹>Ùšñ“ùúãYHÏ£|ºBiÿ9}²ÿ<ãg"òþý¤_¡|žBiÿ—.údÿWŒ_€È×/CzåKJû¯¸è“ýW¿‘¯?^ƒôÊ—)”ýïu}²ÿ†¦þùúâšöÇù?aûþ¢aÍÿˆrýñäi~%žôÿŠó¯W(ãó®c}àÔù1>C­?þÅx¿B¹þø7ãKùúã?МAyBÙþËøZÄzC­?Þg|ƒBY?0¾ ‘=ÿhÜ â<”OSHù‹®Öt¤Fã#t%?‘=ÿjʇ4 å³JûÕè“ýaŒŸƒ¸„Ù‡9¤©åÇ)”öG@:P£Oö ¿q™jÿMPGM£Q¾\!Å·i”‹>Ù­ÉŸ=œ,ß …ÒþAšø°çg‚“ñ_©Pꦩ¿•LÿHÖ>V)¤þÑt”¦ýrýc¿ û‡ÀIª4ùïWHý£©ˆñ%ˆ¬4ÁµÍ× ¼F¡¬ßbÆ×"ÒüöšJ_§PƧ”ñ i}Þeh¾ ä°N3Ç't¾aðÂÆ(Ÿ PúWÅø‰ˆlÿ© ÊÚT‹òr…R_ÔA³FŸâ_Ëø DZ‹ö ±hªGy•BYþ:}²_¯É¿ŠñÀ5-Fy "­Ïáú¦ÉŒ¯ClfåŸiÊ'+”凱¦i®FŸòŸÆø)ˆ3Xù¡Ï4ÍD9CYþ.úd¦&¶¾\Ó"”ÏF¤ýmh/Mó?×ßbýÛÿnZ áÉþ¦¿@¡ô!k_uýE,þ5üb¦¿H¡lÿ0–6íù—P_ õoßã!-Cy"õo1öÁZ i“FŸò_ÆøÄrÖ>`¬lZ‰ò …²}ÀXØ´A£OöW2¾±Šù¿ Ò”W+”ñ]í¢Oö×hògûƒ‚K(?ç7a|oAþÃvÿß´ÒÉ(/V(ˤ6>Ù?™ñ%ˆ¥¬ü§@: åe eùOuÑ'û§iòçãpM;P^Hã“h!ÆW#Ö±ò·CÚ†òz…²ü¢}Êãéù´(Òv”OQ(˺‹>Ùß®ÉŸíŸ N–o¢†ßõ«aÍ/ˆ´¾mêAžú'ñ¤¿“õߣ5ü8}y¼ÿŠ<>‚ò"DÞÏôY>ÙÿãKÙþOÓ¹ÎCy•BY…t‰FŸìŸÇøjÄ:æÿù>Žòz…rýò1}²ÿqÆ7"òöq!¤O¡|ŠBÙ>.rÑ'ûŸÒ”×ÿ%šørþ³X_Aþ+†}|¸ñÅ e|¯ý}²ãK«˜ý«!]ƒòj…Òþç }Q£Oö¯a| "Û¿kºÒõ((”ñ½ÎEŸì_¯ÉŸí/N–¯N¡l7"ÿUÔÈ×gПš¾‚òr…²üP_M?ÐèSþ_a|b ³7݆òZ…Òþ× Ý­Ñ'û·1>€ÈûÇ×!Ýòz…2¾·»è“ý;4ù×3¸¦ï¡¼‘ΈõÏ=ŒŸŒ8•ÿ^HßDù …²ü÷Aú®FŸòÿ&ãg"²ý—¦û!} åóÊò?à¢Oö¿¥Éã¿ËÊ7_¡´ÿ¦þ¹þ÷4퇯Ï~ÀÚç…²ýþù¯¡þ×í÷ÇžDy¹Bß' ýF£Où?Éø ÄZfÿ)HÏ < PÚÒ¯5údÿÆ×!Ö³úû ¤gQÞ P–ÿ§.údÿYÆ7!Îföé”ÏQ(ëï.údÿMùØùÁÉøÍU(í¿¤‰?o¿aõ;O¡,ÿo‘¿ õosÔÿï!½‰òr…²~þúy}ÊÿMÆW òúÿ#¤?¡< PÚ Ò¿4údÿOŒ¯Cäõÿ6¤¿ ¼A¡,ÿŸ]ôÉþ_ß„ÈÎO4ý¤¿¡|ªBY?ï¹è“ý¿iÊÇ÷Ç€kúåÓéþTŒÿfü,ÄùÌ?±?ø>Ê(”þý—Õ×§üßgö+4üšúgç'Û×B…”s¾c}A<éÀõËבÈöOšaÙ<åRûiÃø‰ MÖ«Í@*Aù$Ä"Õ>›ÇB:å~…Òþü}òÿ Æ#²õm³(Ã!(¯R(í é(>Ù?„ñÕˆ´õß|(¤ÃQ^§PÆÿ0}²¸&6¿ ®™âÚ€HÏ_ ¾šf|3âtæŸØÿ£z›¡Púw,‹×§ü'0ûÅ~¢¦~ØþŒàdýÏT(ó/Ö´®_‚üíÈßnØÖ×Í"U¡¼X¡¬_‘GƒFŸìW1¾ñ$´? 8¨³æZ”Ÿ¬Pú_ã¢Oök5ùŸÌøVþ£5üdìŸw ‡a{~Ø< Ò ”ûÙýa3ÔUóg5údãKyÿºjžò*…2¾0¦5_¢Ñ'û³_XÃü‡¹¸yÊkÒüÑ<×EŸìÏc|"Í#ƒ{òæO¡|ªBéÿbÆOC¤þ#Ú^ ãg(”õ¿ùoÖüHûsÍÇCºäw¢ÿw:Ê¿ Ò ”éþ@ÔßrHí}*ÿ Æ7(”õ'®YòF…²ü« ¦Ñ'û«ß„8…Ù_iʧ*”ö×BÚ¢Ñ'ûë? ‘_ë!mDù …2þ\ôÉþFMþ||ÙÂÊ7S¡´’&>lYpÍ!”ÏRhêC=6?‘Ýÿ4o…Ô¦áÉ~ÓoÐð!Mûà|;¶¿»ÈÛ_Òv”×*4ý±9Òy}²¿ñDÞ>:!EP>U¡l]ÎÖè“ýã§!òö…´å3Êñ£ÛEŸìï`ü,Dªñl©—ñóš<¬Ã›w2~>"¯Ü.H»5<å¿›é/V(ÛßM|ØùwÁÉø·(4õai>GSì|àÌöq·a_ˆ´¿Ùü ä¿áàIÿÿî¶ê“Pú¡c|vêÊ1>ñ—8æ/'ÿYœï1¬ç›ˆÒÿ+§ç‡Ä“¾Ø_»åãJÿ¯6ìÏ?ú×öß?'}â3_ý^ä¥ý/ "ü=œñ¤\³8¶ÉÒIào±þ9,ß䇣 ÚÂЭ XZB ÓàÄ——Œè‰nEâð¯q&kI ®\¾|ñŠuÙÿó°µ'._°rÙ©-ëW,\·tåŠSÎ_¶ŒÜ-¯(Ç íîŽá¿G­]·æÔ…+W¬]'¯«Ñ]—éѨ²výŠÇâÕì¯T³lvAOÛ¬C¿ ¼R— ÿ7s$ƒB$5?p­¨?¼aÙÄ¿Æ,[ܲîÔùk×.]²BsñH*Tby¤b¯\³|þ²µ‰d»o.Aq^”´Ä)Öc_þL+¨ýØ`Òìkûp”òŽç`{2r~H—%gvN¡’br÷›¾‡+›+©~˜K2X}Ô © 5˜tIUP~&ý3iKbT Ê‹ú°úri.âìeñê4 +Ì´휶×gÒs…È"ç\ιAî\ù „‹ùK¨ƒZ±~¹­Ç»¬•ö{iM¹\’¿xõ¾w"…KÒêœý°tµ$ùEº~ì³5Y Nvö&Ý.Y¼líâÌ}MuôaÈÆ,–ë(Yò¯2kûö¹ÚÏ “¹a2×Qr%×QreHt”Üzb°Ô~3ËÕY®Çæj?Wû¹ÚÏ×[gv jK·Oî:ªÓ^ýò»[.\»jñÂ¥óu5Ôç&f—»?O†ôÛ#Ûod²uÃÑ¿QèÒ¤òï,ž“M¹ y y9`'Ss¼&Óž/¥Éî>ÀOßS,óp6…dÄKgÊò8ê§?ÿ–pøf ¦~?T— j.¨¹ æ‚š j.¨¹ Š¦s&~ȇ:›Ò2¿eÍÕl®fû¡fGƒº]’änK×öõíõþv^»v¥Ò›Hl—@óH´íØø]º"sײP{ó´…X»le’6ìÒã2{)O^RصF#m‰%…=ôþ{ÞÔ_á3¨úsk»Oû@™kC&±!˜µ7³Ø%Ùßpõ*¨Ý YèT'Ç~Úõ¨.½O{£ËŠ(ÍK†ÚÉÃAVkƒè |¶´ÜÞDævéÞD.¨¹  æöZ>\{-¹šú5›… °AT§ýxßæz*#¥wIrå.$·ÓýãyÎÛ”/½bý²eé@ƒwe<Žá%Û”Œ/ öû19·{mZäV”Ù¯œÕŠ2W³¹šÍÕìЪÙý´sAÝƒö×1(W³¹šÍÕl®fs5;xk6ñtmâfVò šl·„!Õx†\KØO{s.¨û]Ps³Ñ‡k6Úßk6['M3¯`¯8dírŠ?D”».wÝ]—´/dñë,ƒçw>ûáÅ®¡ú£g9;Y·³óúµzº/då媜‘}õÖÚ \:ç~îoàß½î¯ÓJYÿ^hvV&ƒê½ôþ‰Ùiz}ÿÖ^V?q»lÁÍEš6t²¾¥ºˆûyüÙ‡…,Ÿûdí(÷¡ì\íçjßÛ©þûi®• "ÿrcD®ö‡Xí;s­ÒG¾Âm„ªí×¢ ¢[øÜ—Î2¨Ëþv.÷¥³4k/÷¥³‚”ûÒ™kßÎ}él^rü°~éÌãw*†Hß§sÐ|ø,[Ñú2O=ŠÁúÃuÑ~ü!ŠÁ|„7÷¡„Ì|Î}(áÃvô5w¨9W³¹šÍÕl®fs5;h—sC¡Ó jî=‘}r]ºïô÷ó`;N>0o& ÝêéÌJýÝvf®(Ñ'Í¡jŸÝ篠‡™lK§U…Þ¿+ß[>ƒ}£&·ë˜ÛuLù¢ì*TÅì}uÐoª~wRS]þ§ðp nÒkúû‚Áùyœ}·o0Øç›~½ ÷¥r·†pk˜{™z_ܪÄ$>¨O«æÞ ÍRÅõ1ç›{•ap¼ÊêëNûðAÇÐhoéõ³}v@ZsZ’íîiZ pßû…žÓËÁò`y@>çÒ/…ÍešË´F™Ãà“ÑsAíkPûoWx¿¬¬ØÄÒ†BæF±\PÇÒ¡øÖIî°È‡è¢¡{x#ûgS\³¡öîTnÀuô~êÁðd ×]†rwÉ57寠\wÉ5Ô\PsAÍußõCþjkîqÖÔîçˆsç‘sç‘“8Äÿ;œ¥ŠËâyä\äê$W'¹:éK웃ÊÙ‰\þâÕÙs)û7 ×À÷ùækî •wøs©rÇSúÇçÜñ”¡{‘Ë;RÞ/¬\žøÏlŽ:C÷4LæCáP;ÜòáœDã3ÐÜÖ²wÙ[ËûߟiÍ¿Ý}¸w>´ö¼÷¿=æ~ÿQÜr ìZsl€½”¡%µS“Òò!¡\„U„ò—,Ö\“É\ûkm;Ôê°¯±Rw.C`/bm$~hW<ýù8-çÜ>^¨¥5:Ìp­ðCZÐþZh/ÉÍwCd–ÊíÁö½ soåj6W³¹šíëáƒÁp¾`È*”' ÒZÖ§v/2¨~— 7òìŸ#ϯÃÜDë.}1Èÿ=HÕÈÿôþ=šAâä8ÆÑç6œu6ð‡r¯Éã Yzi1÷r vŽ? Arî•ëUåì2ÉÂ#»e:3Y(†ÖîÀ=(Kíu }mrh Dw¹ýª¡¾_•ÛÔÊ­EúkšÝ¿ÏD ž'»}{!{°ìÔ墒‹JŸÄ¹M¾Ú?Ëm>-HÓÓœtúî‡n3l½<•ÑH-Ź·«2ºDí,å¶òR¸ÇØïÎdÏìÃüâÌ>¨À¹—Ÿ†|jϪšN˜¿l¹·Obä:Æ@vŒ žeZè}ý`æCkrPmÿ¶;í 7÷,÷lP´ÛÜó6gåäž·åž·í‡ÏÛôÍz4¨Û%©V×þ^->¬äš h. ¹€æš è@tˆ….wÜ$•>F%w'÷ç@~"8w|Ç­Û 6÷rvö{;™þûÛp‘ÍÓlYø^}.ž¹xæx~Øþ,'¥ñÑè~ZËäÌ^³ýå™pÝ3ЬßZ ÖÓÚÎ-ŒyÚú_»lev3ñ÷ív6OZ ÎXíwÇÔûk§-‹7G}:z˜ûˆÃ¾hÙŠa1Õé«~ìNƒ0ô)…h€Ÿì ŽÓå¶Q7ƒ£Péß®öûí[ŠSëéôé,äûÒ†ùnIÅ9íÏÏÚ«êSÙòÂåwrÓ<½‰ÕÌúþ¶†\®õ©8}j¹¥f¼a7¤~Ûv_]·Ï”ý`4g'g'g'gÇÃNn¿ýD³`îñVîñVº•8·rϳ郆Üó¬dSúàmôC¨™íϳÝ\µs¬§ÝoÝ]ÁPú*Ót²¸S¢od.-Q“G “Èàùþ~czPt‘}÷1®~k]šHr÷¼x!µ#¥†Öˆ4ȃ6˜Ü+(?EŽU^w4Y¬ÊÜ•ÒÕ.WÃëÏG¸ƒðANn€Êò^÷>lrßùÌʳxyo=À; YE¿|¸_{ù|"³ßÝæî/CL}SkhC}ýÞp®‡æzè@?˜Û§Ïòèûé †ûì †Í_±¨qóËÞ°µo˜ú†iÝecô³B×åß% Rú®ið‡¬Ÿí¥ËÒb·Sãº9· ¼hÈt¥þJv^ìTaò‘Üx œù˜R§/eúuìrf©¿ê6ék\ãs9.•‡€ýô6¸1,þG²žÐîÀq†1ñ%”•ûvãq_[¨= ÷„£‘¸¯=óõl ùºƒ­Ûƒ!¼¸©¸¸/öwv- Ç{šý¾h»¯¼³«Ü·rëé¡Öž¸/ñ-Œvu,¶…:QÕ'T}µµs|@]W0R‡úµ­Â\`M›í:ñß9úÿðºÃÅuó¶‡öìŠÆÚâ>ÓJ(N½Ð$!ÑXõöx¨ÇôÿΫÀÔ$d‰èŠÇÆBݱP<é Š ¹Öì¤RçͦæçRWÓú£Ñð(Ú=Wµ±how@èqš«‹…þ`,Ü“ÔÇQЭZC £Ý{P?«Ö™G{o¤U×¼òv;­,d-ÍY¬‘m¡Pw«Ê*¡4‰î&¸/ÆŠ–¥›–Ó“„ÕBßííl‹”÷øv…|Û‚;C>W(¶J4?ŸoW¸g›¯gWÔWïÝZEÝT^±Èï FÚäŸk)‚eÂ0Am¡´Iq]¼;ƒnòµ…•¹Åâbü×zP[¾|†ïÔ•±S¾˜®lò‰ñÊtÃÜò`O,¼Ûï›1Û’­@ä}gv™âŸEŸM%§]+o ´µ5¡vÏæ6Z•Ý­f¦ûÄaÑ9ÑW‹®ðîP[m¨½Ýf»Äà·JeEhu˜öp¨³-¡‘ÝÈÍ«ÂeÁ®­mÁ§Ò[ÇBŒ’›»GƒÝ¡H[|†¨¯ž YWËÂÓB­ÌöõTXyTÎôYÿQïŒî A-ÇÂÁHGog0æ‹…:aÜ€ŠÛÂÖϤ¨l Ú³¾ÏnbiMG¥µaÌe÷.Áî!Ìn$Ú³-é@f”µ};CfmBãM:„á¶3é€Ê Æ}å»Ë}ñÎh\M®ÐF-ØX Õê uÁÌÇîæÛ7Ì@+fà©#¬êI©ÇúaòÅ"ÁÎî÷ÂŒV…![k6orÚéïòŽõA,&P.j‹ù}¯¹ÍV¥í …;¶I»ëË;Êé…žnM×ɼ iWµ =雥 Š‘—~õÔ[ÇϺNŽ´í¶[h¦Ðf(2Ã6íêÑ,6’9˜¿9£ZŸf ›a¼Ø ÿ±_ëw šD´Ë‡ŽÓô¸zD}úîƒ ¶f¦Ö›¾Úp³ã¦¯×PìÃKØÐ"ÇÌÖhWw4ãEb%æ÷¦“¤«µB°¹-šæ$3Ú¼½v†Ï9õÜ—=›œY³æ$½qÌ^$·è5Úˆ“4/â”øEûƒº»Ækp¹–ƽ°àÚâH,º«b“n€3ryg’»áö„2‘+‘`¬Ãu¥P ‚±POoÌõNĵóå²1q ãYƒº’º­eÍÌJÈ$?è^ê„ —+Zç°–ÌÕRÒsAÓÂä O3p%sÃÑ:ÓóÅ­i÷Å!Þ-4ތƸlqóÊÖ±’egëp.ùáä–Ÿ½Ï&my´õ¦iÝ¢ç&ozIsèöÈ¡5êzS–F;2+k»É²ï‰v‡ÛaÍêfl„µ¸ì[­äÍ!×ê—9©„ ï SjvéäWàq=,®6#Ó ïè õÍQ'‘?[ÎÈñÐŽSƒQy+‘iìS&Ø2_7@yLb…aÑ}Ýã¨&›¼÷LSŸô†›{-YÊMNÿ®C숉 ïn7]}·ì¡”Ê‘W¿]u"»ÇÀ¢2M½¤0Ÿô1K^…I²R•’ê6›¼¸8Ë, &æ•BËNXÞN˜MW:¡ÚVÀN¨2ˆQZ“[ Qïv^;xH6]Õ4}0JoøQ:…,Ó¥“†Þ‰¶í¥‹µ-ÛÔ£®Åþßb¸Ðñ\ª¦”gÿ›6&6Ø½É ÞÁNšgÿ®ÝÔîêÀ…Z噕ñ Ñ\?‡l½×Θ&d´ÀR·Ë2óÉ2gÛ#ÕNe¯b'ê”V•:ȬgÖnœk€Âôyz@Üìw†Ü·q“–J­:NwOa3/¿Ã}¿Ê}1ÛàêCrwš§ÔÝœX¨[ÀÕÃlúá†âö:ñ|,ÚÙÝŽtøÂq_з½³·­#äë‰ú¢;C±ÖhWÈ׋ní uÅ}»¶…"âa%\ßÑŒQCš¦¶îñu· 3ÖÓl_,ÔÚƒÀ©í-SO¹w;ʉMQu*·2ùÄÃév_…ù(CäVé›=Û'6/­¿(6ÇÀuâ?!ôͪõµn GÚÍk(Òõx‰ã?Þ*³±VÔW&ѳýwz†z»gã@Åô¦§ ×îŠÏneQ©i¨”±°Ÿ>Ð W¼Ú†žM»\+ÔkRc]Iv0D<¦©•%š ¸Rj£jÒùGzŸ¼;õgŸåƒr*«…än;q¬zJÉŽQ$8w¶[¡d¯]غBxëâÜŸ}&DvUr¸ž°ÞN¤Ò]Þ²>mº-h­½±˜x0¾3ØÙ’çq¬Ã ·E;Cñí{ðÌQz±E±Z¶Ï¢´ªQšk‹;ÁIç è°E6buÅjßWáÊ_“xr&õx­°ÅË:×Ýi9ÔæŒNÒ6é…o4…O•` ƒW°fSÂB6èl‹^X TqÙ6˜cT0Ãû*š#Ölj ;úÐÙöæÆÄ4bDÓ Ø*`Üéíi¹†«Šé¹)åöãcâqÞ=,âo v†Ìï uËlÍpnØšh‘v + ]Ù“ß%þ°­šck™U@}¹½#·Fá_áÖ°yܵϡ—SÍVÍ©¯!}~°?iô ãÛ‚âÆÕ©0¼eþ²µ‹Ý¼‘õSТۅÄ;—1<ð¾H^å,`a<ÔÙ¾8²ÓÕÈÈPdg8ˆCÎnÁ†’…SÆh§W–…‘Ð.‘§[^#`:a®È‡ºº{öxè%ÙTÓˆ&´¹áæÑ}r:Qìi ·'Ü´ÉÀD`æs=BÆê/ož³úÌ ÚÞžJÞð‡ûW±3ä©·k3‘Î6špÔ< w¸î‘Ù—ؽ;BîÊSs¸Ù,­ÀÑ “ïËéÍðšÒ ¯ `!ÞŸ6ï}Ub¹¶N¬áü°û!G{q|ë§èÅšÔÛ]Ò(9óMØ{aìátÞ{ôt LŸÚqÂûcI#ÙŸ-3ašJJ¶E­^ï¬9Þ°J|ì £¶[IÜŸ¸Âôâuª9µÒ&ž—Ñò:i3žÁ¹YQ¶·Ê(k>¶gs}ÑÙ¶¬Ñ™WZ[.=»Â­!óÞ£3Ú÷p_Ö+êHO6·\äÚŽ»;Ð÷!Ã;ÛÖlêK°$–ºs³îäúµ±*jÌñÛ°ÞH¼µQ[Z.#ŒÀZ›|õ¥¶5*ß‚Á·„0†ÙÙ-MŽ»?б+ì G„)‡Ïóþ«©<$6C¡yYM0 c¾nùjŸoÁä.²Ãí¡~6&‰÷@¹Wc sfU1µ¼·[ôs_o½ùš£y4G<`cîXgáŽøPªûC½Jôo2^Ø+´šh)n-Œ… 2Ý|íß— ’¾'W¤öWªÆiÝ;t²ÙËÁ Ås·Éß×MØÖÛàªÅÞ©Õp®m¯­&xéþ®—ýÒ«ü5QÙëjWû¢tH½Ÿ™ì^»Ž£Võ¬óÊ‘¿-îí«›CÞŽ"§Lslóª /WlÕ˜™'‡Ù=YïÉf䋸%‘¤=0ùC”î>Qö›ôz¿¯;*ŽLÄj|±PG("ž›'VÚ}‘Pk(Æö8ç ÍÝzv^ýJpY“S’õV8¾¢·³sñîêàU•Ô—l=ßw"s"õ ¾N³@÷žºk3°J žP޳º/õ½K=æjé­ø²Àk(ì·E‚¾¬YX&ŒtމÉîmð2ìÝÂnªewï»ßâžÙË…)Ü+C‘¿áôQ›{VD#›C±¨kà–—a‹/£lîÉð¦Øæá€Eܽ¤Y‰z´sgŸ\Hrs¹iA>xgOè Ö­1ü4Xô˜·-bi”iø¹«þÞÌ}}"57•HYŠF:÷ø*Ä'‰š»•>ˆ·»=à»Ðei>~â~ ÝÔ5‚%å`.Iì2Ü~pø9p÷ºšòf¡[cÜÓ8ÑǸ§Ù§qßGú'îÃâ;b©ŸGôÜï).·‡·ÑÇÀ`ÅÐ[ï«›:¾ª ںܞä>õM¼4†¯hו«²ŽoFeñˆÏ>_ú'ìèî’“ÖÀÈM«Bßž„ã)üžÙý±Šv@—ÕøÖlÞd.'ÖlòµÇ ®Ö÷Ôø6XßÛгÁY=£Â‘áxxk§ëW9²¹9Q]&Ä&›³åvêSbì—±·^K1?ã˜á˜ïðf ×$Øvõ_‹Ø8Ú•÷nkÇe”åÄšPê,†ïꉅ6Þd„fR„6ôÄð{š1_o\l9™-äÇé¬O6ÂTÖÂm½ÁÎ4Ÿ¼l#+ÂÀÝkC‘…Î;:qk4ùT§ÙeSÖ ¶Ù ÖŠ_ÏÜ„´‰¾£™^M¤³¡›QU芖å„ ¦\„I› 댶nwZ“›~|°âþ½h¿ÕÙÝ¿ßíWÜ¿ é‡Ðýƒ“~ËÃtÿÊkƒ‡&Ì­ž¬—]wwGøE;ñ(Íf÷ÒúÍ@ÛâîÄ›îõ°nnwy¸Ö«²vkKÇûøÇíaxêv~ÛþXëýCÏïÚ°Tñ¯Ä#kEž­Áxˆ}F¤îhÄú4jo§ú~ ߢé·rs\Ÿ’ÎüãÃù]|@uD´½=J˜ã“+Â-R´É 5ciÚ¿[œÎwbmSO_NX‡Ô×^ aYi:•ÒÚw´pùÄþ®õ¢´ø.ëµ´àÎ`¸3Ë}ñ†ùö£ùΩl4ŒÐÁ@»8íãæibŒ”$Åææ§ZïNy =‚‰†_M›t¶Õ„Ám—¦YÙ6šNãìL™?Íä#Á¹ðj3Éà-o϶%„vÎ0ñaQ·,÷ïñuõÆ{ÄìãÝ¡Ö0L1mI‡¢/2ûŽlŸÊ' ù’’<5WÃJÒºëê÷OöäoÙâlyþ.µJ:Ùé{‚ iïH«B²îNZ_­Iú;5N´ø÷±{¾ýT™æÚ¿!wL–sGÆôT³µE=óOo¤_ö9ëÞñ€ÕGŠÙòúÏŠÜWÈŽÕ_Zí«ÀÇöMàSȶßo[kÂî\lW9=–•! 5§–÷©z%­ç^ÖÖvîµa·Àä^ν6<(Jì1o}8_>¬Xü¤X¨»V˜òm ¶n÷U×»8ž{¥ØãY{c8qot€ÞÐWwÅP£:»Nõ~ùÉ}‡5Ùžh’­VýQç&e²}}ï=ødcY’¯NA„¬Ç§ËÝ÷s=^yHa¸?¿’|'-÷îI²Ú½h¥öi†kȺŸÄo.oÝŒtX/[}TÄY?ÚXѵ Qw,Úî„F‘æyç Ï$ø<`‡?4eÏÂp]h>¦•|S¨‚XBsccU Ÿ óJP?bl‡>ê š« ŸXe¤ù B«.¸ëW‰!ÈBMŒ†âlÔ?¦s¯Œ] w²2ÊyetÇÂѶ±ÕHšïIXaßè=Eö_äË›…ÈtN„ÉϤu»ºÜ߯šL§Ÿºzk|æ¤mýhpL™ç tß9Hó«‘©ÌßývM[ü,ÔÄ0¢”k!1ðÛŠ áÄŸ/ÞÛ%ŽZ‡ÞÓÜŠæŸésXoY°»3Øš¥Wæk¼gxÐð ¤áÐ~|»C¬*WâCJ·Œô·»Â{’.ׯ—ûæ…vw«ß/ìHrT?•eí(G’µéÀ®j 4ßDIá ¾ÅDÑM˜æ>¥:P‡Ó³¾€ÎÎnž ¶×½ûÐ’ÒáࣱÅôá„°ÝÝr<ݲ$´Öü]îˆ[]}<4Ãìœ6ÌÞªÈu¡F²,×WßëwÜ3öƒGñž`LíÁ¤¨¹/Õ.ýNéÐH²ó»ý_ƒ),ûƒÊ¿ –ýIöaf>•eÐßû ÷›ƒãý©áæ>º4ù´ç±ÑüÍ,Ýr¤Àã‹hûz'jØ¥©;X°3˜xWI_—NßÜð±í_Û 6&u‹#vŶk^åe‰Ãm®ËNw“…–n·Ó¦Sž†“p¿£ûÞ€%»6­úPšœ¹fЫªl·uêò¾.à §=êÀ¨±)±ÿ@%tmúü:Îg-¯Ò|Ð,¢b¿¿ð‘ØqÝoû áœe 'ºá vwÇ¢»Ã8Žã×Á¶Ò|ž)Â<¨÷2ß„;§=yˤQû=µ0ž^¬GŠXsŸºAë§ÉŒ7L¿6x|°5ºÚ þC¯ îçêÚ|i u””Í×? ˃é„\V1™s†÷¦ÞSÊЕP ËæÔßýKaÓ—çVÜÉ>>¸JìÛýrˆr„|QHžÏ`Œ¨¶xBÆúÑÖ¾­'Í^`wo ‡Ï¬g{‘øJi\û‘íók8‘PGP<#òÁ]k´+ ƒm[8³ÐÖ^s±$>º›Áª|ÿûwâmgM·ÑÞtÍS]¾X4*·jW4¶½kÆÞé耯–zÒjÁ‰aZX¾£7Û£~ħ¿Û¬¹nòü•‘~ïøÙ>Ò9—é”b µ«X\¶²u¸3µylÈîÄ?nLã€sbȨŠÀ3æÖÁNë«‚t¾YV¾:¦Z}Ú·cUUlÌÖç š³s×/ƒÀ¹l‘éLv‹œn t\FíCsZï/$›E4 ¥Y„ÞhÈdIptàCåÜ”Í T•n¡RÊd¥hEÈé߀o³¹l=g7>™´ 1*>Ö~Ò~læ8’Þùó¤G5 ü‚òÏg¦s„&ÒÏ´2XŽÐt$î §ð}ÇHgW4á©Ä(¿x^×ÛéþqRÐcŸ• =óÍwú.†{éºm€ å1þÖmÁX°µgècÿО±5ŸäÃŽç!œ£ü¦±>œÁ±y“ÞmAú-fªëd!f`¬o1SÞ¤³Ä‚ôOÌìCFƒv´ß²Ö—Ó^6Ò<í¥-KÿÄM } Úx?˜êCÄF ãáöHÔuKò`¡¥ÌŸ=;µ|RÜïu%˜3éµ M)ÒXÄî³gÅý|Ú| ¬²ö×ŧ|Cò)Ÿh‘ûû{d afwž÷‰Pó‚“ÿHè!öÛ‹$7}|x(ª³OYhR úå©`Ö·¿sÙþîˆÛÄõáþwGxg(¢Ýdziî1¦T%ƒ~<ý­û¾Dz[)…Öí“ÇkôfŸòxÛßêUIWtóņÊkfÛ\æñ]ùË£'µFÛBgž$Ž­m6-ä̎ήs—çì³­ß¡CøÏUÂæ:q²)C»±P{(ë ëÇOÐîBawmoë6_0BÃqñY”®`L¼ða~¨g[,ÚÛ±Íî‰c>‘Ю³}ÖÖB Ñ[öÏ€¹»ÔŒÁâîÂ}+ „m¾`¬£×üõÊŠx(ä[…´5ÔÝE!]ljE„|>^§u ÈEwÄf[–Ñg‹‡Ìþí[ní‡ÌðԊÚkkH~D\'þ; b]gÊ|*¬-¸ÙTž}ö™Öäf=íFåRúÞUa…™zÃp¡HT£«!D¢Iì Êá¦ÊöО]ÑX[ܪ]õc3‰{{£¤ š¦÷Òb}ª'‡ÈGÛñˆ(¬ZÛͽ¡¨Ü´Ke+pŒ_f:H~Ò&Õ7ãúg-½÷#ÖJêXI4ËžüÄ•LA[(áãˆr&[eߢ7 Êç…à/t¶®­¡˜Ü¬ñíÚ†qF‹`kõí*~:&a éûÏ3$j¦òzMßßxéó½¹ÇOS¤R‚¤ÇÀÜ·Lå]½ŠBgHuƒA6²ŒJ‘Ê—¤²cdVŒ~L'+Å(ðX²2Ì™í̽>UwR}ë…L7îd³ä_|Imù?ïµ*µÍ&dºOK(Ön³{¦~À—Qio|,{÷æ¶:>`›ègûjaôp<Ó1›*{fpf»ýI{*³ÒzœÆçæ&®oW ª/Kb _ÄñˆÓqv‚ÚïaVt êøÔ@ÜÈÛ—tÂzf‰c¦mô`Ôüö>÷²‚;8ûìÊ€Ï|æ,>&²œ‡=DÛ#/W˜­®¦ç]±Pw,EÌc æÛ1æ2Ÿ¯œlvuQAÂø½z[QâÜY¡- ú9 B Ö·]Ý!ñpÊzºÆ»ÍÃ@¢ˆ¾¸ù|k¯üßJÍ|–0lSà:sC> WźÂ-+¦P- ÜÆ{¼ŸÌe=c_M «–?~<ļ -ÚºnOwÈö`òxõxn%¶|T )±ZbÖñþ6Q Ôz ôAQ ¼N(îøˆÎŠXdgt;¿…$ªÍ2Û§êJ¨kùC{Ë©N¬6sÿÙ>ó1d²q[(â‹w +qûP½Q*üq¦«Qq§"ªQ4,Ÿ8}¨ÎÉ#»¶™sŠ(FÜì¯m½‘¶`¤ÇÇúË´g9Ø-ìÙ4ŸÁ‚?A󳪵âCOÂMÙ{¬'5Îò£=óQ1úå\Ú®€å‘Ýoïr7 »òÈT¨M>yŽ÷D¡d˜fT=Áö–œ¡ˆx;2w´èa!“6[t8Á ÷às^«‘¡Ér5¿í )ûi¹³ýg“3ܬÊq­ÆçhÒyÎ:Ÿ³EÿÖ<¾¯<¬*¤Ýö`BG#••ò¤©æ;¶3=tD;ÛDƒ†1Ú^´»'ÜÃjÌþ´?qHý‰Æ´+ CDD4m³qÁZ Çr¥Ò+Ú@,dî ÑC­×ÕÕ ·š×Ñ•èvÒश¨X_·µ™ªƒ5fæ·PÔñŸoE42Góq7t;œÈzK:ÇâÉÎ!œªšlgtWz¢hã– W̼g›¾ã[£0P¨š°B¬â8Óš((?ó‘|(`k¨ÎãHhúà<ù0_^p}0mþÏtr¶ùÿ.§ êÙ)Ïöcµµ€öDEÒCh%•ž©91ÂÒ§Õ]F/7ô[F\L-ö­±±½åª%€õ't¡%V×]kv]òq@OCš¼UóšS²×£ ÍÖŠæàySi¸YZgöÃÍ’8¥Þo5õõiŠÍ“ŒýØË’݇«i>{±0³Âت  cÜçåä}ÁÒˆóg°]ØÛÝŸåì)X²;å´Zx\ú´nGŽç– nïØ:uîŽÇ>[Ú{c­¡5ÉF ¾g«A¸ÿë’÷÷ àÔ*Ý•dÓÑ€lƒõŒ}òÙÇÜ`tm)}ŸS¸ý̆a­‡Ù†3;°3tv¶ÿR,kò-h›ÔGˆdß±Êm3žå=â„’ìí”{ Y/‰Íx?—d,ú3ø¨GjM‘ÛÎr9ÒîqG%î[7'š_s·i¾vë8èØDÀ»N~kn}«ƒß›’poî½ëxÛu4sKq˱¶ªðf5õ]¤>í7÷€¶Ew™V+¨Ž*¯Ôíþ,..vßüY÷Š¡XíòP°Í¹õãóù-Vt3–_\Ì̺µn5nÞ¶îfÖ¡Dw‰ö°5ºÍc­ÑH¼' ‹ܳ•ÛÖî¹­é›Îhå²ëD–Ê]úš²'ôÖ%©ß©{FÍíwî‰3D¼'Ô¾Þ°Ý=Ñ„‰e¿Ù(ØO8©›¿»>Q”øVFß¶Ô–ñûû| óÄßêÂÛî'Áå€à±Éæ&AÊo¨ÖÙ¬wì³ÀñBÈŸ‘•¹×§êNª1S½?³ÓãjðØgcEH8³œZ—OZŠÙÍJÈ.³ví•ݨp<`=:Éf¤Þ<úörÁî}ß¡˜ ¨©w''±o7.m‹2Dœª|}£û²Ín7žì›¬V¸YÞ;ó^ö%œéO\ëh×}¹­XÝ}Ê ÚŠÝßš”GwËmò¦ØžÜ§¬mòÄšÝàÝè= êi‰ÆZCkÙ·à’¿„ïI¸xغ5ë»ùïª#Y¨ÈŸSùÇé²3îuÊïÀA5õ½×‚öÄsáÞ8ÂÈðÔàÖ,íÈÖx¸•rù×Èc¬)•?ahO¿ü1•cÖÊŸ|ÆÑ•y0½‡úv'¾Ëì€Ãípä˜òkÝJ-áH;¸”FÂòt@f-@äxj—Ê2[Ðø•4£ÀŸ¥Ý1öÄI0"l»>µf=ËìÀů¤!èŸçãX‡þ3A^š!ÿ\¯^Ó³ÁzõlÐ ÂåÑ6¿x’ÑîG¸—‡w‡Új··‹§IËÅ«šWk¬G†]æµ!óÚ¸õž†Ï<î‡fÅ‘Wq¦\s`2^ µ-’?Ñòlóåñ¤Nþ€0ÜÛ²Ž[O£¬ñÖs<|Ñ€?\¡ŽÕÚ2µ>!öÙŸpÞtW?Ö{Ø .Z—s«Ò©mAzSÏïZ¡<{¦ÞZå--p«NcÌš Eüð³(Ì Õ£åËt*™,jžÅ²°ÖE¶°ËL6ØŠç¨ü_§í¯ûŸûŸÖ¬4 ‡õwæ(›iÓ8€:<Ò£j$íC¨ÃF<”y©çyŒH™o”¦sÔ4Õ“#Ã[XPÓ+”mÄK¿TY<8;L´×2ˆ£Ø©Ý ô¸ïyÛB”ø}*?ÌnáŽHú÷c)œ\°µ×¤§Hx+Ó©áÍשj«KÝqœM]K’OA彑ÛßH<¼dV®ëÁ6§ÝilWú΂Æcý°Û#zÄ'Åö¸¶Ûüœ°wÁZn⃘xoòÑ=åVe›ZÓĈÞÅl÷ì$®ßjSÈïd_´fw7Zc0yÈökG¤”Ã<¥Øü¦’؃ƒañ“wÖ÷QÌèYÓ¼Ù"ªÌêØ"êÿdßܹÔìËM5幟·uGG´öv±Æ”Ó¸gÝŽŠ‡vœìŒF:\»(oÆÉoÙ]d†6ì½'ágÉäõ'»åY¥ký †lþg‹“H~†4õnË‘ºnÛÙǺ³÷ܬVžù•±TÚŒšñƒžv(.H81—ö$rdÂë«Ö]«æíÕUîo¯Òæ }MmßèoólóÎ ÖNE°Çñµºtvpèd¢×‡«G®fÉ>4¯¼Ê'¿ø„ʪWͯ¶½Žô~Öm„_¬`Ü÷ùýíž›…~sôäa‰ãÅ‹±Ïƒ7[JÒìð­käQèLw{LYÝíÉô±Q¦© —»¶¶öBÆøÛ:.7Ñ»?ªZ7¸‰Y&ÛrÈèAäÀ=ïËp*Ó-¥L÷ˆ2ßòIe#G³zw$f•¬uhâ?Æßº- ¶öx¹ØÝLhÍÉj®7Z›ð3o£üÑŽpk°3ù-íàßZÊmiê=·9¤á‡esÈ6Ýévx:B=Ë»S×ïÔ¤nšNZFí„eOLÓ){â˜Ê³êË(?OÙ¾8Ȫ+#üÂrÊ~¨ÕFV½æ_’ü±¾nLÌme*çr[™–#¹­L—es+3·i·‘ÛŒìÿÍÈ–ý|3’Ýêæ&`»‚nNòÙ5i>žóçpó„K+𦭽ºµJi›ß§j<Õµ}C0¶0s¤ø}µçö…÷>…÷éc¯Ûò¤ë[~W­)¢¸åÀ;l×èò('¿å =ÌamáÄûOªÜÂr³4´ ê>ê¸f“ô}õÂ`|¡nó"/f#^7îÞÓ½mç$åé>o·«7ž7ŒJÏ™ÕX¿¹³ßi›MZ}ªœf7ÒïiƒÆ’NNš¯>&Ô÷n§ åÇ/F*bUø^³?&~?l…Ï»q óÇSø(à)ôÆ$åfEK½÷Œ½'6ä;çNáÖ1œΦ֮VŸÉ’)wÁÔWh}îC£¬>´vÑ êB}ê éÿ4戈÷ocöùÛ8ö 2ú8Ž‹)OË)ÿÆxŠßÍLX0y¼ˆî(~_¿Ûç¼ Ùþ¢=ûá5…oÅCŸI|0äþT&¢.Π·ØC¥¹½ÏòÎ컟ß3èEi|cÊûù“kškÖ1k•—raWË[#O؈?ºLÞ®´Y¦?¯k¿Ý³fqz7Lù 7¸vOÍ—ÅWG­o ¸Nc0¡k”•¥Öí냬ö4UHéoâá¹òL¡ ª‹xí©¤1éZ’í™”æÚ£ä¸ fâá3\ã’d6ɲNŒ©º˜|†(„ÙÇjRǼ>\Ýç:dOgû^‡}+L’ d¥IcÃñµ{ººB=l|KÿDÿø–RËb«[[+O1©óŠR(`Vžf¯ÃC±˜ûs¿é~5©øZ{á¾8Ò£^‡[¿— SKÂKŠY{æŸy{ðøø„'Žj>h§ZM÷ò<Þ+Ýu­pMvÉ»JED­ËÜ"¨\Nx&4Êü†mz««sí®ß*Ö&œSóüð§$ rñXk{¸3Ôí¦vWˆ"™—ÄBíÊöð½Ö•òŠamËÿëïl[³IGˆ•æ2|¤ù0(ß¡2Ëa]Ó(Ü:T4øßXq-¨u®RHIü-’Ðk½æ½©MZÝx4âñÖ¿Š¿EÊÐj­†ÑÏ£Ñ×°•Ò³ê¼Z^5ftØÐZ¼”2Úü/ïtø¿#¬›˜gÉÒË\¤öšíÊ~Uõèqë¨,*–úZ˜ø¬ÔšÅË—ùZcḀñË21‚7ë{~AÂÄ8N]4ß-Ò(™Ÿï³\jº6qâ½öî!ÕGƒz±õ1#¯°ÀbÎŒUg7ŧªÍ‹êœYžª>!„˜ƒÉ68YC>ŸË€¨[ß\X$Â/®íÔ•GQeÑDg‘ ¯ °p:àáÖ¿ ¹¥_÷Ã÷ºtÍaŽ\kR2smʸ5…¸Úú·@ñ·HZŒV§¢ELB.dZ†VƒV±þ©o~Ñ^Mï¦6ó2­amïžÊ{7ý –õañ;ä±~öE,–Âí¾H¨5c{T‡»×Hì¼t¯l2ÔGó5Í+ßQe )™U69ã*›8q©õoâo‘ú¡Ê¨Éˆy™49[•9⼘þ-GÛϘÜ1,궺qŽy”™LLÙ6¤fSt\ —qT7Øž5Xjˆ§›V?+µPÈ…,‹#j#×z…”Ì\7ù:«áå k8 r!ËÐjZØ„V›¬¿EꇎDuajì˨.xGRóº¸SÍÝ­oêì¢çPÃ`¢q"¢±q[¢¸f22±>_º¼×îÓD·ÎÁª;¥ßùK+™tDS¿Åz˭ߺä@?à±Xý~ì’c,Yf]ÒCóó–EÛSp8S¯PöÔ1VʰO€}J`ûTÀú[¤ ­ŽE«ËÑj¹õ·HZ=­ lA«-Öß"ehõ ´z#Y)C«ãЪÀ2´Zfý-R†VF«‡.@« ,¹ehõP´zà|´:ß’ Y†VG«âŽpZ]dÉ…,C«ãÑê‘€‹ÑêbK.dZ¥µùÑ«(ËÐ*®ÏMœ‚V§X‹Ôó T†¡æ«Œ*·…ŸÔÈ+Ò‡G‚±Ž¸‘0Û¨|¬Õ¾Çù4%*‰¼sç×YO›LùjÍü¦õY<ýˆôjÍå•X ¨W¡±É6šÄïï$Þ˺G~r1Þj ·‡Cm‰f–ó,œ¦ùQÉž¸×Ã9fy½sRÏc›!K=JF.Mt©õ5ìß›tnçoÙbwÑ—ü®^½Ã[˜­“÷¦l!¡^m;É%:TH_š…tFßçbKª:xÍ){Só·¬þ–eào™Æ_îX¨[¼ë‰”˜óæþÕ ÿR(’¿EògP$¿W‘¬C žá"ßKúè{I¾—h|?-Iõ’¿#´£wUbaY¡â°L£ÖDg¶º;„á.ó+§‰·t…ý³ÉöÏ&7?cárAÆõwcØ7Núý^ÞLÿ–íßq –¥909Po™#Ì%<×@_EØGa”Çð(Ðo¡åM½ÔŒDÜgþPP ~/K~'3?Œ*þÏ$ñ[·£ÁŒâ§y*Âíòƒ½( Ç}]áx.îõ·‡"Be+~˜¦Â̼²2à3¿Öl©Ñt„F£ ê{6ñÞîPŒ>jãpÐúØOE46ÚúTåDO<ÔÙ^ãÛÚÛ#.ŽøöD{}­ÑÞÎ6ßé"£èÎP,¶+Üc})Ì*ce`tòþz þ»]ÓÏÖóª ^Áú¨”ç9š´´ÒîÒC¦ë‘f1ÍF—ÐÿT×põT»æLJ4Ò0ÚÙ¦›mˆaÇYcÿ¹-·­ÚÜÎ:KaÕÊÅ,¨#º‚=­ÛXéF y–ð0gØw׊¶´¿X¤ÝQ´ÙnƒR™oI2º×’‘{íÊÄæä]2ãK脪.€áIã×°ü&‹FDçÓ n E×XÌÆñ’C=Ôg>:Ëw¸×„YÐYâBfâ¹mæ‰Vqø¬-j¶ðH(Ô†Ë5r×ZHY˹mÁXWg(n~‹4âQ°X›OE%ÈCfoÙ&‹²X/D/Ü’+,]ã&¾ ¨i³ù6>…å¾uá jÄ ×1Ãð›À„É-¿U· 5²'¶g¡Zñ;á“yÑaDä3m y!Öéò˜Â:FÍÀ­Ay¤JVÅ¢=Ñž=Ýbi•ðíN¼ëðÎ⓺¡š Ü”ú‹£MfYpkC}Ÿû¸õ¼ÑΧ2ñPwbûñ\Ñ=×BÚ¥³Ú›ÐLÚÖä"f-i´ Íçb>¿E}JwIúBMO±Í¹¶õýŒs0ý¨c=A«ÁO¹-ŽÙÞëq0ŠÝïh‡?8†ݼƇ„µÎÕ¤OïµG4Ì®YÍþ}˜n(ìôÄÄñµÔReÆÍV¾1f¶Œ¸šbMÔeÙ`4øÖ[…´>Ùk­:Â;CZ´‡cñõ«Dl@¤qŽ:Q¼ë„Ù°¤Xn+@8ñ^æižsÄ6èÄÎñ™½Vâý¢C×/òÚ}*[d´1¸ªº=…¥Ÿ±aôv2 V]½Öx ÅäÞN=ÑÑf)`µ"Š?×kzÛ•¹w䶤¦‚9JñÁùæ€Ü­85OCñ®r°».…›ôm̰æfCW Ó5··™ïõð›å.öï÷Æ%RÝn3f6ÓîµÉ)Kü¤—*ˆK°bL5Î͹\ߣ¹>ݯ-šÒuÛ$òzPð=‰]Ì–í–y€÷9´wÓµ¯q†ÓQ”Ÿ™F¡“Êã„fqBÌûãÈ¢8\^bXk·þmYœ`ɲpd±0¾ ¢,öbœëñ„ã‹#ŽÍQHÉtlBÆG¬&Ö+ÕÖ¿Š¿EÊÐê$´*_¸(þ)C«>´*p6Zmý-R†V‹Ð*•“ Y†VkЊ@~$°ÆJýpt¬a¨£k5Xïçnmôt•î§ûº TÃÃÎÅÚgz…°n ˜ûìLºq»ß¾yêêîÙc=ôØ â«Iþ°§-ÜÞ®(ÝÔµn‹UÔ‚UüÝ7ÏwfDû[¥P¾-Yd¥ ÛŸß°Þ™©²’ Y?´?ê?†¡Þ™I»ÿ8Û­»®a²³5uèµ²§¿¯c Öó%91äûR‹”aˆ×QŠ[¬›‡¯K­”¡Õ2´*‰/@« ,¹ehµ­ \‰VWZ‹Ô­‡Ú©˜—I;u½úz˜pßÇ=°/u#Ï^¤òÏñ‘Ô¹EçqW•0€jÆZC ÍU¿ÍJè.[ j$l‹Zå¿—éòÊkÕéñó(&uË^ÜQ\ëÈÞ6œó÷QÒ| †¿Å2xWên¹èìß«>Tqóí;(J {PBÆ&]”otfäVc:Øh¹?a°]¦¯žÄKOýˆ)×0.›·²Ò=±};:ݧÃý³s7=ÅyWù–Fâ¡XÏzZÐÚÚÛÑa~—Å<íÁÎñãm$žn”Ç ÄíèhüaÒ®xº@š¦E¸_¥§±bç¢Ûºí÷ù·ã!?Ú²?ŠÍö„ó§ñh >Ȱžâ›öÛjع¸ß Œmù×Öfþ"b°SädRfÃrÄ|M¡·»»3l›Ÿ*ñUl݃YÂuåhát4ÖwÑ©£ ¹ažRÀ·³!wÜáÃc ~Xôú+}@‰[ðžmÁÈhûV`œTév]óLö4æÖªé¡Ë¥{½Ÿ©êž©¸6röLeð4ò:ÖÈé15nÝ€ìÜ䄺i-Ñ’íb××±Õ…sv›tê˜,­âéìNâ»…ÖÆ3í¶ª³|ï¸ÎÑ:’íóÐ}ñlG¸(ä aÓMQ…°8Yi¦óÜ–T2Ù€Ê^‹LØpá™d˜g(ÌûöI 9«è‡×ÖE®U )™¹ŽÈø¾¡Ð°v=.³þ-Pü-R†VG¢UqÅqhõ8K.dýp7Buaj/%£ºÐ>™m´^âóAƒ4ôpDü®ùÜÂÜ wŃÛãWÖ•äÒ·-Ø ´ÇÄï ™Þˆ7K*Ð3ñ¾”ÿ-^p)Ë·N&îut¦‚Ø®ëUûö8 >"áòMârþ:PâB_Lw_<:wØ3x¿}¤øþGŸÕ¼^ßox`1àfÃú‚S±…B.d™ïó»ÏM áAƒBJ¦2îz ëóXgYÿ(þ)C«›Ðê&‡ÕMVÊÐê‰hU`9Z-·þ©† ªmÃPßíʨ¶ù’€Þ;;šÉT¯`¿)ÙÙ• 7ydI³0пïR¤y8y4³fŒÅäÙ­%øM׉9_íôÒ9ˆ$>ðq?у«Í„gLi=Úg«ÒkäÒ‰…j„~‹¶žÝ¶Þù±Ë¸ŽËÖûuìúlžõð:³‘ÒVºË*9Û»ÀýufdïîÜ« …æÆa Û éÜû¥ô¨dS·þCUý6{‹wïņùi†5Ž—Y(äB–Å%ø0G® 匽ÅJ΂'Ö,x²a}3ãh …\È2´z Z8­Î¶þ)C«§¢USÑêTëo‘úaƦ6 5cgTúÛó#Tc̯eö×g¨Vj\huØÓ}C!ñ;t¦›æW˜—/³Ûäˤ%^ÇÏûú]Îd#ÿ:h¿ â5[±ªo7ì«ú %ë§qAäPHÉÌ5˜q_ÛŠ}Màìkk¬¿EÊÐj+ZǃøGy[-Y†VChUà±hõXëï¼P¿Œ TơƅŒjx¾Ñ™ð!Í5Ô¯çã»öçÔŸïòÉÈQ0¬4}×£³«~œx’Né²}7ñ"ŽßŸ·›n†%Ëü–]ÝJE£†ûÍ{×:…”L_fdÜfÖ¾™@¾7ÓJZ…V.0Ô'ÔfY©:'Õa¨Ý¸ŒjH¿׺-éÀO^˜-•´tEÛB¾ z¥Ôút6ôÑÊÄ~ÆçÏSY“§ë–8ú}¬æ>G?´µŸB놺3ëyR{õ»9Øïæ;úÝK–~‹¥Øïæ`?›ãèws¬”a™‹=Dàzì!ë­¿EÊÐê<´*ÿ-0S?ô;ª!ÃPý.£Òö»™¬ßYщ‡l=¯Æ×ï vvîñÛaž4O²‡º}­òx‹¶޶: Õ¶“u¿¼ºŸø«¡pǶ¯S=dpÕñòöN¸À’e£îœSé„ °Ó!ÊN¸ÀJv—…Ø]b‡(þ)C«øN1âo‘ú¡R ñN˜Q i;a)ë„ݱp4æÛe5X[Oôènc­î&›y²÷¯7R~@9£þ¦ÔYok1¬ã”K ûo=´X²,ô¶áÁ®®`ŠN¸Ó Pn<µX)î±»†ÀåØ5–[‹”¡U|Þk"ÿîqVê‡G•Ä;\F•¤ípMVõuõÖøvõˆß´ FÚ|»bñ8â ù` ÆÄ—RÚÂâ×­»m÷xõ´‡¼zÚ0‘cf½ÌRd=ìxìaË=ìxK–ÅšG®5 審o¥ ›ü Øä¶ê+Ý'X)C«xhb-Z­µþ©:ÕïHÕ…¶#Õð=kÒ‚Û4ó'ÃaÑè‹÷v‰Sñ½AóƒëV˜Õ¢:”& ‡»Éá|G«w{’¨FéxgTL’ù‡Zá°õ‚1¶72SìG$/°[ýä˜}rmFz‚áå?ÂÈ+8ÊyM¼w+:nóͱ›à¾x©YBËÏ :,ÚFŠdöÜx[^#̈íÁÝ¡‰ÑÕHü@Æñê©y¾†}qÂë¬ø7}Sè16ôfV:Ò&KvŸ{Bâ(½(OÈYžò\bÄ.f>v ñÓÆ!(ËÇòñ2ŽÅ.[p®ÁÿÓvÉq¡ÝâíêxnÒ–FÚB»5ÞZ_MuT€Y0gÐó{¢†ëQLô„ïù ÛµMûÝ$Õì5Õ¥;Ù­,Š>é¨À§³ªÎÆÓìš1N½d•;"îê6?¿çö©“ü­{ Û³VÕÅѯUÁo¶‰×„ÅçÏÌ_f;PÈÕëäÚIø µf7]¼»'‰›oЧ0A’ƒÈœÓ4~èÔOHS½†ŠG÷º·ÍÇ÷)1ÙÀ¼Ufœ{Ú±Õy!Ô~´×>@ý˜÷æ}4$=áQÏO²{<‰ß' ˜ßg6{‘~кñ!™žc²A>8*67 øl0ÒÙbùl02Ö+ïÜL0p3Á‡m¥>„†cÖ¹rCqn(Na¤_ÖåÀ˜ÿɱ‹má ŽsI¶½¦Ì·üƒëöt›{í"ß‘:ïÑñ‚¼¤ñ8¤xà„ôŠõË–QÁÐ2ý¹µ7ÜَП»BÁíâQzëžžø)åây a0'¡ b~Pž_:< ®M) yaC½õ4L] Þ­6þ~׊õ¥Î^á4t –ZþÙFhsä+‹)\T,ŒõÇ(ó§–‰µX‚±â£-+Ûm¿t!-ŒÈJMÝË]¸¶©'hý&É0ê£ú&*Ԯݫ:ÝâÓ螪ŒbåÌô™ÊÈÀÚ&6\‹kQù¹wü„7tSÈÐxHß—WåËC„´>Ê×GZ³&h¦þ×~‰sYµÛ9­Œ­!¥Žë(ñklé …rÅ&›­»2‹ÓÛ/ç»õ˜ÁK)×ë/áÊ_íÕ¸6¬7Z•¼¥›ƒC±KTlK<ÛÚ‹)8þ~Y39‰æçe~ ²ßa¾æ°1Ò›+©Œ…¯§²b³¯œ3^³¥å\šË¶çÓX¶Ñ{öt_ÀF&Ë"]Þ™,‹ÜüJyd úe£%ÑuohÚý4^÷Ï|ªæžÜd î›'ÓÅß]“óî€FÿÜÑ~xcô²¦bfÌ?Êe9guŠT'ÌÌûS s)Ïlߌj¶mx0ÝcZ¾Ç˜†Nf<ªõÃ-â ×Ò-_nd3vd뿦=è&ìdu]Ã'Ù _yìë>ÚçÇÄö[ï|MKú_b®™?*¶¯úú¨8›#U²ÑªÏS×>9`iŸñó5î÷}9—o4=v–ÒZâ¥9½EÞ(óÓ—â›çƒ`¡çuóÊÝfÄA6‘äzÆP¼…å]#£Q.ƒ¾5$Fº„ÑnD—ubpuäenœËs¹qNÓ/2äÒíUCb„³n…â7z;Ö×ð&ÝÌo¹ñíÃ2¾j|ãgCÎ~Ø;‡XÌO,SE% ‘J=£12í®9ôÉ«V®]º©g‘äenˆÌ ‘–!2¥% õ‹Ì–€iöª¡7ºn‹‡‚±Ömƒ|x“næÆ·Üø–ßt#³õ[ºýjHŒpÎdñÆàØZ?]9¨G=›«¹‘/7òåF>·Î‘Ñè—QÿR# mäe>›ttv òq9šõr£^nÔÓwŒÆ¼ úÖñl£]¾øÉˆA=Ìå÷¤>8寷ܸöaßÌ>‘ÑÀ–Noš#ÚØxoWW0¶'0Τ8œÍs¹qîÃ2Îjœ3ÝŠHñ—ÊÇÚ¯K8è<"ØŒÅÉ©H 5h½Ïž¯yþ«ëg £ªó¢ŒØ {ôkÅeu{½ß§O:äY_bÊ|¤ë F:zƒûì½2¥z8á?šº†ý›~Â^ªèC´øè)LofÙì¡sõ ÄOš´F»º{­–4ÃWŒWX?øPã/û+}³j}æçÈË}á¸Ïüo×¶PÄg]äÛŒûÌ&é+û¢‘Î=âgeËÃñ S©Æg1u×­Y¿ØWQn^l± ߊ•£û^t,智(¦ÞdÉT=ÿÅëØ±ð9K¶Ñs­žÈÜ ë‡âô¡‚–lú:cf­_±hqËÒ‹ÍImè¶e™Z5Ópœt Ã/Ýe<Ò¥7P¦8Êå>Ê¡À nýÔvè‚ApbØ¢Áÿ6“åcî.*wõa¹‹Je·{EF·3éõ¨!q“0²šç×ZÃáU¯orH73ß²|PoPné”-7¶;¶õg£t“ö€~£¯Ížßqâ•Ç@öÐd_¿è×/Uä÷¥$ú4 ¢o\ë}_"å;ÃìˆMFk¦´Ç´¡¹l²}e¿ïßXMá;ú2낞®î¾gIšÞ&‘õS CªÚœUh~Xó3¶ ;±Pk4Òî_äåƒi@¥ÊèîX´;ë ›ïþ/«\畨Ÿ[æ×^ʇbñ«èÂɱ†1\èŠ_ú¡*3¬!W„³à†[Å(ÄkFà5#Ù5£ñaÏoÙ7¯ƒ×ˆ×ŠŒ†œøµó™–Æ&¼® m¶D< mG½ ùÛìÆ1 w,^?}š„ɇú°¼ ™?B¯¹bÄÔ+E=?úTæQ†Í* m…t4¤J¼®í—Cª‚´¯¾×€;sØu"vÃú½ö?¢ouèSb£Ã·zô­‰ùÖ„¾‰<¦@ºÈŸi.ñ™Šñù”#>T3g"ÎB½éxÍlæÃlŸyèË|H`5̰·§YÙ· ÏàW~-^w²aõ‰S Õ/…ÞHÔ² aµuac+³w Úk…á¡ íµ!¶;òŸ„±z(|˜Ù ayìÛ5×uj|Xä-ºŠ`u#îÀºŠV‰¡¿0öå-4ìm¼×зñ–“vªÏìþc(?e{@¶eÑßh«ó>ó>ñÃÞWÏB[.Ô9ý<¯ù¨‹í¡ÍOàug×e2މ%rµ#Îâ5á5 ¿0äŒ×~¯ý ^s1Ú¼„Åò¬ŸÏ¢þePŽ¿³x îrä®îÎ$e܈±¸‹Õ™è_W!µao_¯Åü®6T;»ŽýûÔ½žéºéÌFÆã5"¾ÐGŒ/VÿmùFðOôû“ÐæKfêÜŒ:¢¯ÝéVHs 5.P›šõ)t¾‚:¢>¾†º·áus Ù>òrÔáíˆw` ¿ŽñþÆb aï+wú¾rËÇ©„6s/â}¨sæ÷MÌï~Щrä÷-—ü`yP~ýŸ~ø™(/0lý&³1×a#Œ×>Èd4ÿ>d˜óoÁHÃ>ÿ~ñaôõ{†}Þ×þ¯yË÷^ûCôïqðå¼öGxíxÍÑÞ“FâX)dÔŸÆëža¾‹‹±ø§`ÿ£L6ΰÆñksÏÖ\õS‡¾sÎ Ý"‡2~nèç’_°kžÇvðæ÷K¿0ÏæÕ°úÌ/Ñ¿±D_ú5ð?2ìííÄW1n/c>¿Áÿt3ìíí5CßÞ~gXíê…Ͻù·jîåþÂ:$ÿ”ýó}ý~]×JÃO—? Ÿ0ßçÿ‡Õ¯°k¾ü?c<žA»b8ã/ÚíŸàš°k6X2sLxËó_C¶ý‚BG,þâ‹?³òŸÀÊ/tßAÝwÿuþŠe~OSæ÷X™ÅØ?’ð[¬=ÿ‰1ø@­Ã¿ÿ í£ÿÎþOën¡å,8ÝHm{€ÖýÂî6ô÷†WÈß½–ޏE*8ѲŸ—gÙÍ+°òÉfÙÏ£û'w 6®ãUÜGtÚñÊô}6ѰÍçy#1¯BK'o”ª›¼1x Þ創#´Ë¼ñÚƒ”/æ¿…OÁ݆¾ïÓúN\„¡íçy䛸·Ðû·<¸+¸É°­ƒòð¾-ïHôIäw¢u­¸_ʃõpÁ¬ÝÀœžw,³-üÚb]'Ë"bu=Ʋ\·‚Gíí)ÏghÛ{Þ$´õ˜a¿×IÒŽòÀ·‚ŸkêÊk>z`kX¡ýÚ¼RlSeèS Æâ\ðo>³všWÁþ]ޱ-Æü@oµ‘*̧ó©F߇;Ê‘B6ÁH«?˜vÓ‰/Œöa[`½×‰k>Z÷zÝk3¬1æè¼&Œ-Ü?Û`éå‰y‘µ}3ºq¹_Ê›Êb>cÞˆ¾ÃØ6,äh3\ÚßtŒO;«ƒnŒ-Þ_çÍÆkg9â@kqO2¹yb˜·Db=pòë,™yýBvýH¼]ì¸~±Ã¾nÍÛäqìßxÿ·TåeÚ~‹1Æ®<¸Ï;ï`ÙW`ÙW!®Æ¬D[kÐÔ[Þz´¹†Õ•K©”¡ðK¬¡Åx´ Û”sØó†m o3âÌÿDÔ9 ë|Ö9ŒŸÃþŒ¾Ÿ‚:§!QW´/¶¶Ïk5ä=Z^ý‚õ}^;^ËÖ÷ÃþbØÖ&þlØ÷辜î§'á¿y½L‹²‹ùú®ùÛµ0™ýÝ`bÄß³dœ_ÏyôaíA¼¶'i ÆÚV©r´ʳ’ŠãÚBíÁÞήg°ëþç°“ïíÐÃθä{ y|vmg´gþŠ$׿¢52ØÙé¼^Ìl{5^ë¼îíý[NïG¸øQ2ÝhÓ¸ÁkgSÀ÷ò¯ÐÛ?iLþÌáqvØqÛ‚×f2ÒžÉXg¡GÙùÓüh;¿ÆÉ±ó›tAö Âú‚kè+åЀ٦9~Ò­~ Ü¢wº¢sé@{–›.dç÷x5„O„#>ètáH8Ò!‹×øÄéóxowwg8ÔæÕëë†BXÔˆåá¸/íÁcç]½ñßÖ/èÛŒ‡[ÑP4ü¹WµF»¶Zy± CñJG ÆÙKp¦£u‹äü°·W b¤Ö3”¿dë¬aåP»•°³³ó£¹¼âˆµm;âv7Ü»“ouús„ïtÑ[ã"O»ë·ë/µëç•JñšÎŽ´ó½ÿÎÓå—ŠÝ£ŒÔZÇðÖNëwj¹òц~<Ó²» ó3åú?Æðr5¼ê-ÏïÖû&ÞãÒD#õqéøHÇ%ñLÖ|¥=ÚiƒÿùÌGœòÝÁÌáª;Ôn·šq}Ñv9š9¼˜dxŽ繕Îç­Wçõ´Ç–"#µÖs@϶pœ¦‡ ¿ÍFžOWƒÎ™'žYlx· Ã{R.5<[X‰Wþ^=¯Ì;voyåÃí”')_E’òUz”OðUv>š¤~^ÑÅ#¸T{ÇÅvÌ 'ª›«j ý°dÞ ñ k ÷I«¯Eæ.óZÝ®þR,ú¨Hh×JóÍ9‡:û-Ô»DfXi8Rj/d©ë:!0k$ë v®ƒµB\S¯ÚmH±ˆ#Ѷp,±„6ý¼27ý#d€¼UÇLœ¥ôª’&ý)0?ŠM¤J×[$M%Û½Løßìï¼IÎøñS­nö“!ϲáÝ"§ØyǺÉ>º§Ò¾¦&ÉošïròÓí|$¥Sçm¼[@¼ŸaxVÔ‘ÎëgÚ¯¿ÉÉϲó‰×ÝUk£ì¶;À3™íétâžÆûõGè éÌO—ï\û–çÞsÞ|C?ŠÁŽ´9'”¶Ëó&zÕøoœKœ£AÒµËB»Ÿ «ÔEvÞs•ÚÒ´w†[{Ä-[®ÂêSÞ4Ïð™Þúf›7Öléî·×šêb»g:=lÉfèt!Zâá€GˆSZêêò;ÎðnzKí¼óFÒy#œt\8Þ#?ç.®?Áðì’¯8ôËÝ–•Ë’”s¹¡ïB†ã¬mm$íí·¾"RˆëWºx3VJ ÄîáÞÌ ;£p+ÖÉ\ѹ´*M—VÛ¯¿,•†é–¿ÇÄPä²h »Èû´3ãáWBÃ]cx7 µ6>¯Ö«\â¿qÛ´7G%¹ónm3¤ãÜ:Ï ²ŒmA·ûÖõ†¾ÉÇÅG*Wo°_õî–ÖkÉ¢/ìnLåM†ûL>×§;˜$¿ÍÞùMrëð[ ÏV^îÒšÓêU<¿“<ócƒCwTw£u²‘Vuþ8ÙDJŠîŒF4}Nµká¬”Ó }Sì鉅·öö8o‹S cÐÃo·Û4¡·ÕÎ7§2+¼É­ù´zÛÓ–‡ë·¥TŽôêÙ­<ºüC†w·j7Ü»•à; ÷ÁTðÛ ÷ÉAðŽ§©£œüé}ˆ+¯ç¼o¤° Þn÷#aAÜiç=ÄgÀš—fú‘Ø»•Ï’v…{¶ïŒöðÚts/×’°u,´£7ƒÅrP~ߨg[°G<†rÙæí²{°ˆŽ$©hjGín¿mxVÚäL­‹ ÏÁE½Ã 1p¨~ÆH½^áïénãÛ%†÷8p©áêÏÚýHXS_fç[›“Ïpóóro;S¼ì8‘Û½Â^¾„UË•vÞsÕҺȶal®†Å2%akó+œ>ÚfŽ[ëgµtWo ÅÂ=°ÖiE»œš÷®²»wFªá¼Ú®—òy¬Ïyè þïjò¬n]~×zûéz¶ãº$~^ïígºÍ)ãòÏé ç7é ç_0Ü»¯sXðòó‹†÷0q£wžìšæVO7y”ߣœÎväjÿfo;Îzžæý/ÞÃÇ-FêÃG…<…ØÄÝKoÄ`4°ØŠÒ„³•·™õå/{ëçÒ7û|ãúëͫxŒ—e—{غÕWíæ¾à¬‚¯^“·þŽFèÝæ©ç=és;_7¼»Îívþ³NþókÍÔùofd¨ NÞkéý ûIßi¤Þ¤›×Áݹº“Gýd#Ÿ³V­[L–ñʉSÜ]FfÍûn»žÚîÆ{Bõ^›¯Y9CœôbyoÑíì vÇCš‹ók|ÌÛdÈKsáÞŠ<î×Ó>roJù Àƒ¨tœ¾ÏÃiÁÓÐ7…Âp<ÐŽóç†Çˆp¿á9p%<Ü|À~ý^1Õ­y³ÆéŒyfßòˆA6túeÃÆ«.¿í¿zèHï¨$ž¸þŽÝDØ«OèBù`Š.ŒmÝjÝîòäó»v# 7Nú69:ߤ>zÊ"=7Õ–ð=ý%€yNO¾ïY\ûõ캄· ¶óno$è=bç^úO¸›ÿ¡wžFs¾•£ª/`zPG½‚ú¨á]Ùø¼€#ˆž•§Ëïq{~KùýÈÎ;BÎuZ{â.~l¤×¨ž°_Ÿ°ŠxÒÎ{®"ºÕëI¡ÎpGxkgÈׯ'‰Íõ2Üsá"¸}¦Årʯ1™wᑨ¹ IX`?e÷µß^BzÚ#ÆûtîÎ=“çÒ^üÄ#_ÁÿÔð=žíCð†áâ@ç ïú¼÷¼íp"·ó3C?Oî ÆÄ{wîÇÕʺOÐ'Jƒ-]¼] )$>H ý¤5ÚÛÙfv”®­áŽÞh¯X‰Ãß==З «õÆañÞi5·¶¤ÕŠJÁwFÃm¾žX´úe …R¥ÐŠæds•Ò¯K°dÈ«òç©~`yýÂ;’ì¶Iw¨æÃkJx¨îyð[Øû¥·7nõÚç£E¿2¼G™ ïQæ×vþJ?=ßxLõæ]ä÷’¡†#{VÌw\ü²ýbçãŽE鬸ÝWìvæøW]œ,„)éq.ÛãrùÈH‡ˆv;WØ¿u¹¾ ÞÛå¸ôwöK–¯õC„Äã˜[sƒ.¬VÔøÜ5—7­ÑX,ïŽFÚÄÈj>@ZŽ]§å¹™[Ž£i]õ¾îßáæŠãâ7Ü*#жÚqéïm—&ìÉ.rVÎ’TÞ›Y¬<‡¼Ùtµ~'ÕÅ»^zÿGÃkÄKŒÆ[öèMpò²óͺ‘1y镽·=ý3žræÿgCßFÅC;N vF+–ä¯ÏüÅÛÖ,Ç:„ò;†g[s¾YñT2gþšf4ÞõÌßþîO*ùÿ_ŠÁÈ8‡À÷ìš Ç_ÿfdÞn¸¿Ûóq>Óþ…3ߨó=Á+"©¬gþ™b„FŠæ²Âúå0®ÿ/»þÛ^5LåñŠÇ¿íöVÿ±ó +‹ÿÚù„‡÷íüG _áµxLéÝ¡’8`¯¼ oò–§ÚöîÉäO{/ýäû5&¥}nÐÛ³"´ËqµãÃGŽæ’·Ì«¹0¹ç‹$Q2¿ÄÆòÇ7iT•u_m7Î3òŽò÷02y¸­ûžŒ@Þ±ô·øà’øÜˆX Š/ýð/ÍÓ—×ˤžõ©%úrdNW¤? õc×X×¹—éÁµæõçªë0ÑØšõ¸ÐnqôLüxF|i¤-´ËIvF¢ÿÒ²›‡ù{Xþ<q¿Ï·ž2¬’XÛ©)Ô`Ý^¦7؇„Lâqpzñ=éà!²{@r»}ÊGŽd*æY>ñ_颸šßÝ1¬4‰x‰8‹ú¡ŒR,©Ž³þ…6Íé”Ê6*µ²õÛÈv¨‘½v@vópûQØ?ñ‹_Jr«m[{Yï¡Ïyx~Hü}¤ÅÓßG§V®óøõûb¦Èf¾yx¸\Ø= ñXÄc'Ù™1&î3Fv¿Â•É(7ÉHk”“­`Rkc0ú¾ôâ!gA߈Ç@ú"þ”â§z¡?‹ñKgTà|ßê|óðKkÂnb)b b1bbb%bb9b¡fVñw­!×êÌOë[T‚¯¶þ® ¿ëS«ÿR~ýÀÕC^eä+ìÕ!6ZùTã¬]Eù5 6Yòr’ û}_Ê›§ N¶¸.Ò›fý¡¿§ózÂòxœÆIíÛP ÂÐ0—sŽLµ»‰›iý½‘þže $ï¸gX×AÏAœm]WKòù†ªh4Ý/:™¨p>ÐGý–½‰éî€,0`G€2¤ð_¿Tó³X`aoâ\Ä…FvÖY‹ ÷uVö¾#•Éšb±‘¸¦È¤É¶™5Ù–,Ö 3²ÖdÓ"q‰‘Ö"Qv¥%Fö*b¨/év]Äe)âqˆÇ#ž`^gÞ/7Ò‹÷rc@w—öG¾ÂÞ2+òfc¥‘ØÙÁÄ%+¬¬.#•Õi†nu–‹° qmJ~¨]޵YôÃ2ía-‘éˉrb½Æé æt>^·Aã,û/ÝE}=å¿qâFÄ͈'"nA<ÙÒo$ý“OµäÍ$?Íú»‰þ>1ˆ¸Õð|­&ªž®î*:Ê‹ ¶Ìªµéç­²Û³üÈÇŸ—ù·jMæ­æzägªvò˜K¨oI™¾±<œ¯f–s›¼X#ªvº>ÁÊ*»•¼µ{™^þ-q'²ýˆåÆTrã¼4Ý>/‹nçá'n„Ý"~Ì’O#ùùˆŸ@ü$âÇ/Bü¢ãchžO£ë3yžs¡åçtòóÄÏXò$¿ñ³FòÍnšÔt›Ý—YvSÝì–Ýõ²,ÖW ùÎè|û{/½/õryzõ"Ûûåû¨^²™o׋ð÷RÄK¯`å=ÄHmq8ëKàDqp˜×' ¾Òp_4Ðô2Yõ\eý}FŠÍP6‡«ŒÁ¿êÉ$Wi­壄«÷Óx|NL†»kŒÌ¦¡k²×tÚw6óíïán0µ—k´ú\Ý_kìŸýç:M<2é?×™-®Ïb\Óé?ÙÌw¨ö²{Hê~g5Q7 ~ñóˆ7"~ñfÄ› ÷G„Fâ£Fº-’oFG½5._:u³#þþ’‘½½[ ÷eZ:_*Íd,¸ÕÈlmq«±Ž_N/r®øòˆÇ@í¸åá§aE\¾Êâ˜îÎï׬¿¨ßLý¼Íæ§5Žô§ŸyøT‘÷Wï0ØÙ`4*ä·#~ñFvƬ; ÷1+ÓOÑfÒ_ï22¿î2¥òŒKROô·Ë>ɰÖh<^ônñÝæßy³tõf~_7…•l|wg1ˆNg¬Ï¿äáÇa(—qÉCœì¿A9dŠhÞƒx/À®>‡¢ýMÄûL¹õ5ñ÷FbôlXK¡_¼Âe«J…½û¿…øÔü‘O²¾“EòðcÂî·­¿çÓߥä—Ò(Ëqú®eÙñ{ˆ#>‚øÄZz „žÇ» Ž/³Z×gò¨à±4ãôX–ãô(âãˆ?Bü>âŸ0Üïmã§îÞöIÃ}~ÛIÍdn|ÊHkn”}î©,ÖY¯eûs»þiÄgŠølJñTg[žÍb<Ç9®£ï¦Š|žC|ñ'– ÉŸiô÷чK…;?G|Árs¹ù Ä_"¾ˆøkëºÅtÝKˆ/é”.“¡ïWˆ¯}Û6{Õ*G ï–nfý†Zâ¹-ÅcÙ[ÂíeØoaŽF{Ç ÃP¿ÿ]ˆÿùˆ!¦Ø°nuFê¶§ÀH¼¢OÔüÖòá8¼U“¯0þÎú[¾Âøš¡ê:ëBÞ¶`ôw]RW< ¯£ÿ 0 Ï °äø¯OÝ»ï_²tZÌÂ,jQœjç÷;nãuóï¼¥¼s¤3‡¾aéÏõ1Ô˜/®Ý†zGúŽ&®¡ŽFNø.:u´‘†½£­c¾ŒF_~oØ:ìd0ììMcßw®cÎUþÓ~ý×mP¬IÆ9®ÓßÂöw¯éï•}ZN´4ñ…ÔLwÍþdÙj¨Ý=‘çÿlåù•ãmÄw,Ÿ–‘ü/ˆï"þ‘Ò߬ë—Óõÿ‡øËþ/Hþwëï·éï)­ÈŸâ×Ü3åw6óÍÃD »ÿDüegÉß7²ð…M~ÿäBÊ ®7 Õ0ÿ‹˜â#MHÞáàQêòþÈWØûñßV>+13T}Xkç¡?o§v ,;¾©·:\Vóíï‰ Ëf=f³½ì•ºøŠ¢X¤š¯Qœ'rgz“ý°–çwkÙ`ÙqÓ쥦?Ù*½{¹„gT.ñw¾òwøÿ³÷'àqÇ¡8^³ A$.¤DIW¼i‘ËSÅû%^"©ûòX€KXhwÁC'uZ’%ʶlDZ-%ò+vlDzK–,[Ž$òÇqâûˆóò’ïýò½÷Wòò{_ÞÏüOMWÏT÷ÌôÌ, èÌ~_¡1ÓÕUÕÕÝÕÇtweNºø ŒcÐM &E@Ôí¤w„© Ή€óîù fÆ„ó5˜0ÊÃBo1€ÄYÌàb‚œËbÂ*+ .q‘„ËbÂ¥\Ö1XK°Þ† ÈøM 6lq Â6;$ÞÛ\M Ÿw2Ø×2ØO°Á5òù:×ÈôRÎÜâ.€›µ¼qÝèuáÜÊàv‚·&„Ût1(ôÆ€BfÐg€~É»e‚ ƒjLài×Q<žvœAÁ 7ÜE ßßîgð@Cðnay|Á»5x/Áûü>Á ðû že`JóÁ„À‡|@>$žc ëÔ¼Oêõ“ði‚Ï0øÓ˜ÀÓÈzðb|àÏ|1&ð4·jÀÛéË ä"Ò—xÜb Н2ýï—5x-^gðçðMo0ø¶¾Ëà;ßc ßÉÿ&ñßgð7?€¿5@þ=„¿#ø)Ûü=|þ©?‹€_üŠÁ¯cO£óý)“÷7 ¤¼ÿH ßÿ7ÿd€ÿÎà¯þ™ä)Ÿÿ…à08òYâpÚ²¾ý?1A¯ÿÿ3þÁ¿àüÁÿËàÿ„Àÿ«wÿ'ƒ¨>ìÿ2øÿØÿ§ÃMéœ9”Æ€ Ü^YèöJ‰£-þÿ‡Ó$•îD½t•fç 4ë(ú ÕC¥îŠˆþ™êD[ 3Ä»¯á;ždr. Y)øŸëd '©DÈÿõÓ¢Íü ièˆþŸâÿoâÿü›6jµÑsþ N{ì¾Eô Dï/ˆž“–Ѹ¿4ðþ+öÿ$NÃæïº$md^+ r¹_½~ËâIÞïðËÖZêïÏ—Ol)ôä‡úªcÀÊe VN—¶f‹7¾šÇ‰òKµÔÖÁèÚºQ¨Ùc®/—…û ön¬V~ùnŒGÎt;ý~„žÑÛeFË¢,&'B¯?¿õ3ŒÃèûAŒ´a„n48IÄ~¥þ¯=¶nµOw¾5¦ÑñOf8í#Ñè)ig0††ORôúŸ\5kº©i䔨¦}C¦Æ¾RïÎâ‘10b2­ÿK)wú–1f–ÓAŒÜ )¤-Ôá€Û.j2oI[ÕYaÝ|®y0ßu$ß[Øqí¾1n帤©¥K-]jéBÚFMÖ®–ÖuVX<ÅÚ5äKGÇ€™3-9"ÖlßêøñzLY¶¸ùJmŒ®M©Š<æ:êQ]îNuO—ºÆöRWìv‘h™+‰áCK\(vý–·Õ2}Ô4Jd·ÎŠ!Pè䯱'ï¥;ó#"ãòIù»Ó—Œ1Sœàlœô¹í¢¶å­„­ê¬±tŠ…›P*wÊ…î1nâ\1S—Ú¸ÔÆ5ŒšŒ\âvuVX9ÅÂëkZ ó&d¬Ù¶5ôÿŽ®jÅÎXjÑ`t-ÚˆÕå1´@;ª+Zêꣲ¤5Ü5·Ñjcj1+~kH´š•È⟑å¬3cn ö›‰té¾ö *æ³xcÊ*&®Åg›Mཡid—»ž_ =2©m¶™ÌòŸSMßtÓQÔ™ŸmwP$©ècy€>fú¥tª gbª9¼Šü_{ ù_d6–†`csx{|”î €:ƒê¹^;6†AˆöǧÇÀ¸Ç¸A¾;_Í‹{Ù~‡z1ftÓ¡ŒÜP(¤=Ôcƒmë¨~e졯Œž®Õ6MÞ œSQßttr¹Ð…[x»ûJcáÞB£' EÖßÞyŒu éÎÆ8­uÔdõjkag§åkî+,çË'΂{y˜¤©ÕK­^jõBÚFM6¯–ÖuVX<ÅÚµæJGó¹1ôñÁè‰D“¶f«×äú4{ ³—Ú=]»7 5|Ìõ룺RW‡p-ØV[S qµ´”D j5ôchw“~ø£ªLˆÎýŠªi¨U«Ñ;+†[¾!Wc¥Ôu¤0ÖÕ¤”¿;Ð3Üé ÎÆ‰¥Û.j²tI[ÕYaáë6¡KªzbŒ›7WÌÔ¾¥ö-µoA £&—¸]ÎgåÈñÝØ¶q ݦ.µpg»…ÏÂ5´xÏk§EÅñhvûòý…Š×„CùƒפÇñææ3«Ãò”Y_¿Ùcä*E0n÷u;wªÖ”KëÛ€ Q³±kß3ˆòçû¶ tÅÎÉ=i°FÛ²´°ÿ÷±ÿÐÿ“(¬ƒÖôåÕ›»òžü±ê¡B¶«Ô?8$jÙêì‚|eaéàáBWuñìy•Ù‹²k–dæû† ²Å þWìÎ;TÈ ¤ì¡|%ëT×ì¼J¶4Ðw"[ìÉ.(V:‰g"NÚû®Ûš]¸ÀA±öûcyL¸¨¹~* ìÞ¤ÕøU9pe´>áÿM¼ìµ±Ð=nÝ=)Z*GâéfÄLIk‰ô¿ËAM D’Ztö;eFjRÀ‘zÈó;oBÔAb&Ôþ†¨4j+ˆQƒEEÈxå.‚Ñ“ÈÜðŒa2[ÓþMLˆ°DP~wn`«ÓÄ»–Ù[˜\±gk0f‚^w$˜i8‡Îü²ñ­$_œÇòaÔ1söêLŒ‚þË,ÔŒTEs«éQÃÚ‹'LÌÑj™cjçR¢#„¦¶ŸÞ¢¥S«Ë¿zÞO26[“@½Lã3ú;.bc_ÿ¾BeÐãðMn 26‡I…£û =ÌD›É9›O±\è· ÅÌ'tÀŸÄN£BÀ È߆)ô.CÅ «…>„4œþ“ULÉK{á8Ö.lÓ•Ý…ãžLÒÈèû¶•ÛesåqsÌ«æoýãpú~§IJáyÎfÏ`H¢ÿßÌXîø–|5?ßPÕ÷¨t“ôt†AtØüSÝãÄÛ¶Ï8ëë/¬ò(FôDíz…éK>léÊñ¥÷Ÿ+)zö8K…µw Äc4†¬¼~5qÜ aKìr ìÅ4¶5Kç·÷µ Iê|jŽÁgcÎ9æ­+5Ʊfc߫ӂFMî€Æ4ð"ë]Vq&ùQô*ä›e€;˰ä,è“yWÂ,ãÏÔ èÇV:Þ~þ_ÿzá”ÅÍɹâ@±º½0P(» a=vZÙs³OFâZÝ ÍaÐ> CªÁ÷häæS}žNj@8_Ôm8‹Á†Nz‘ Pïô?ŸÄâ›éÿ¹Ìcá’çJð .ÖÌg#ø¢œmôÞÄñ:ïV¤Ó(œNyï$ÞˆóN¢9ƒÞ·1šø¾t³Ò† l¸Ñ†sm8Bñ3)~––¾“‹HïsˆîÆãBn"𠤫'I¶yD¥_H|Q>æÇÐÉZ¦‹‰÷A–Pü:ŠÇúð4Ó¿ì?@i—’,ËCdYFøÏ±2à´PX¿°Ž³âøüo⿎ǃgW]|KÅ÷¬X¥šèΗ»ÝVÄÉ(–¬[1ßW¼«@±¿e!g–Q™µèÂ4¨ñûôøqjüzüx5¾)(óAr5ÓYOðtaù3Ê0Š·tÕu4˜¢1'A9š›c)Ç`pŽM`.Ûf®hrÅn»[Ú¬¡ORÑoÓÄyRÏÜÔhˆg¿}*¨èME69";-jüa=¾UߦÆïÊŸ?æ|"Ýv•n¿Î·C0ëÕÚ4ܪ?E‰·6ëñSÕô'ôrm¯ªlé/Ú³€Þì`¾ëH¾·­ô•ªÙ…ó*‹²EwgJ©ÇÛ˜²P"zJÙ|ww¡{‘Æ¿‚«å$Jº_\U•Ô4•ÔÝzV§Ã°¬Ì=2žo ’ãoûµXÇs‡'·Kg†Jç@›Dç<•ÎͺžÏ‡øUjÿ¯óZCòl¹P*º³ùÀZU¨T ùn|‡û¨Ê…;‡Še["hâ\ ˆcíÐÅ æjs¡Qýa]µV¾çÙÍ,Ά(uV„Y£뼆t¹´Àz;>¿ ¶ƒi@bQê7‰‚E|¦QU“|Oa£àâä*lÀ!ñùs£*µ²0’ï¡|©M”»B1A½>OÏOÉç‰âù”|Fzhö°WÂ{ÍNâ1Àx¶íÃôãÇIŒg ¨=œ\&štÒKÇå—ùΨ¯’,#¹òcòK^ Zþ›™Lã4™¬„|‘^…”ç’O[€.ð}«ø¿_â >¢Çç!ï&E—$gÒ^ß7ê8éé;¨µ¾Iú³¨—Çç)L¿“Á?‹FZ3IÏ3© æ3ý7ÚštBê–ë·^£)çDMΙ$'—KÖ]Q×­§OC²zÔ õ«G’ÎD¢cøÕÔ.’胖ïæúh¢ôçn'¥—³kÆtðl²´Á2MÑyLœÏ‘ÒŸ¤;9žÌ5óq—Ö‰E½-êR–™;ÙrÁ\´`C’w„,¸Ýæ¹$×o鬽¦tø„›‡á…‰-[‡\#œeûçYŒkim3aø­íBà­MÝÙØÚÚ!h¤kÑ8x´Úb-¥8 †_Š"¯©ÍLÊçCÄ'ãL h2Æ7`BLc·V&¾í Lü§0茀sœg€ó . 8—Á…ÙàB’ÿ"2?˜tò‚Å! ã%_ù¥'Çô³,&´j0΃Dõ7ÐW›®cœoêG;ç£ÇÕi(Ìšsû‹½; ½ÕC¸“š-éî:@§¼‰Ñ»B©_í*ƒùr¥p½Ý—Ê`MhÐâ«ùr¯s_X{h*õ#ªÿ[_à§ØÆ]ùj¹x<ä{nS¥Ø;·Ç ñžû²5¡»ÐS´ÇgܽòËz0_\‰¹µÇ'[»8ùµ5SL¶ƒóÿPËhJ “6Ës—-YæÕúÐo»86“v²ËUÌ>2à}ë“CPl=Yð¾"®öY'é·8¯s}¥®|Ÿ‹­ßÚŸ“²ÿ] Öñ¬j=ø‘TW÷”Ò¡|%wÜCàgV[ÅÿÖeC– ñ:^óÚ"gZšÀmP®ÀÅÜÐ@ÅCp#&+S*W ÝmEc+v­éªö€X[u~¢Ä>ö?}k±ž;­Òا¿ÿ­Ÿ¦1ŸV0sÖ&+¹â@µÐ‹Ç´dìŽ0µ¶s–óÝÅãAö”§ëˆ¹É21gW#÷«‰¨º:që¸KÔzVÓ–YA¥= óRÔˆ€õ¼3¹ˆ}jNÌcUYÁñ5ßÿn¢wÑEÏõÎ;8EPÓ±>ÊÊ ÂÇN‹ÜºžZmÓ·»p¼ÊÝ.¸û7XÐæúO¨ÏÂê€F¯!–9®Íz‰ê3¶ –høT’ •䞎Uï΄5ÌÏÓú{?ªVÆú0IV«â5QCÃÿÿ(^%5 ÖÇCªæëŽgQÓ–_Çä7µ«ÙOœføõ^ÍnÕè40g†¤3)µ³ á¤œ~X¿wZ¸+£î±0d·Þ7öEü}ΙFvI¾9Âdj«A]ÍÃ9Ö™é¬>ÊM ¸:‡óÜ߈s† ÁÛWˆa3áL"‘îJâÃ÷jÞDéåÞÎKˆˆùHÉ4Ö‚·'ظ7q6Ñ>HyA¼u„‡²_ êþÂÊ›¶y$áœF #^&püŒ‚¹EзïJÛ"èÕÛ\.×'/‚IØ8¡¡6ª¨¾½]BHM´e  ö|"à¯ãnq/ãóé+H|Ó†?ö¾d*/EÖþœŸ¶ÝÏkj=ÅãCƒ[vkèÚî¿1¬OU“°ìƒ¶ýÄ¢j&»&ÞUxì÷ŸïÅ”Þú¤|/žÿD>c‘¶CxÉÍlŧeZÄÕ»Ó…®Ú~ØæöK¼¹€6k8û¬X<G÷ö¯‰éÖ@g¯^•ÂtF[æ}5å=£ïæõs¾P/Å'i ?ÕÉÅu¾€.Ó¶2h)o]âµjÀ†2IÏ;¹8SE'½-«‡Å»Ä)èð1K úØø0c\Þt4éhfôG3¢» â£^D7VûˆEt{:€±0BQ‡á#Ñý¦Ct’Aê6 \1iè¯V C'º¦®[½@fÄÆcMÀ16¸p7 „ðÕ>ý#ùý+ÅÂÿg£Æ%†~oYw÷r¿”!¾;šÜ÷îÙÁø·jœìxz³¦øž!qŽVÛšôpŠœfHúŸen\¾Z-{ï©S²>O¸?çùåŤݩÈùq%ÞÈyûõã_6æ›XîõpnÓóÆ7¬GÑ—/÷²ïy7PüµqÊ ±ÂL9æb&iî‹qR?v¨Øu( 8î /©—bU†B_Õ3QæsQìðåx,”é(r^Ž[d“ª‡Šâ&‚n¦é錤^ã^]p›½Ý*á´¾jÈø÷˜ T‹¬×ä;^ÓÇçèö‰Õü{§#˜qÂèÜ€Ÿ´¼ƒóº‹rá¨WJ×è¯dÕø%»¡tð°_¯rΑUÆiECZ1“Þ½Ö‡Û’¼ŒÌ¡´¯¤ Pµõ5MÕ‘wŽß04€M¶;k·ú!l1Ùj)ëõl e{Jåìþ•´Éº¨‚·Œ-dóô¦Ûíº®Ä=ÚÝ¥B%;àÎltϬ)YÀÇt»¶ž½#\…vøgZ6Ãz«½ÿ­/¨4bîëj¥Rlò»äLNÖ¬ò•ý«"&åú åÞÂF»_ª¨ºP:Çø:ôµÊ o±LFëë§#øÆ­rݾ*çÔª‚c³…bõP¡ìlðwk]I<ÓƒØýßm›Ÿì`¾\½«[¶Z*ðÃèz|'ûŸ>³[¯ø@àý"tü {Ç?áß ë™ó‰¨O´E@ "ôt,­W½_îÕ+þ1—¯¸“܃ƒM';X .‘†þúû\·q§´¼wß$-èQ±ûRë豯Ô[Ämyô8`W!ÜIƒ{ïbl¢Õ]Â=¯„Þú r[â¹;Kö!ùcrpïÍ´¤aî+VÜ‹|zÔ›ó'öåz‡ò½’MÀÅ>“°z—ò}ƒU7c‡Š}Õ¢$2¡2Xè*ºËØf@þ·RÊàÜW.§1v•ïr¦1r?•²ã2_.çOH UyåÐ8lyòÜx$GówKÔbüoÍ©—·0pˆæj³±\,äe­…2«bNSÙé)¬}kÿ`õ„ÿ}ëÞ’­c»|hï½Õøæmas'J.Þß`ÜVEo§ï/äû Ý!iÚhW­æaÊ€=ÓÖn\1çùc´´½åÒÐ`pÜ,ž:­cgq /ûõ6E´Ô æq¯86I1ç:=Ðu6í2VRZ˜ó­$Ôùã ¬*›ì†u¤PµÉöå» Ê5NŸ• ?j|%êœßþL¬œ¨äBâš1ζôÞ%—‘ƒ`g"‘+²¡\”ÿ·àrº4.ÄZZ«™ú ¸œ&~Þ»v÷N´!F2\ô³Nx>×ÿ*î¼`Õ…€Ü¸Õ§”o‡PÒ©[yOÄkôıÆÝöXÀ‹¾“°ÃïöËp]€V¾£ã«4ç¹ñ¯Cú*ýos>¿õÅkk‡ ùnïý‡‚pÆß9TªDÄ5¢ãSòa¿”%Å% (|+H’ y½ýqoÓ“ê a2gޝô„úöi?¦\V@sã¬ý²8Ý'O`[W8JU78c“…åÈõ”±ç šÀƒrhâM&¥;C6¸ÇãgMrxKhÖçØû:®œ)K‰Vm&ÚO]·‘kñÖmšpÍA#49ý1Ϭ~G†¦0¯ÖÏ÷4÷¥ Bì:¥F÷Ã¥œ”«V6–{w“œAM?xÄ/¿ÛY?ÑØY´Iìߨû¤.Îx»ÿ§å)kb°= \dúÉéP¡åM ¡Lßôå/†SžàÖÏOûe½Öû?xÊÙÿÀø©D»)b‚=ºìê³{†©¢:~ûðÐ0ú·§ÙÊwGÇ JCÕh(òpæO÷ý!P/`¹ÄÞ?«£ÿq¶„ŸÄ;AVs;ÔËqL‘ñùݾ‚h2r€Üü+/¦\@² ^+xŸÜñÿkˆ7ÒϱRØA´¦2\I«¼{Î'™8þ?¼ w¥=ŸÑAy® ]áÿò¾ÄŸEtf2ü,ÉŠÏ}Äw6áÌ¥péex—^J½-$œ·Px1…‹ ox[$nŽÂ¥„³„p–ƒWo z›‚o¶-ász|FMïô^k¤÷¾~AÇ Ø²ø)¼x_zmƒ¦¾å⋺ìÚ¾ÌTüàs'<}£™ßu~ÚæÍéAò™ø™o^Öã7¹lµm 7ɯË|5”©Ž©.Z?ÕãÕ ei–Ói%ú.$lUãõ«‰~¬=ÿ,HÿQ!ç×f}·«ùüdPùétMzíS}ð_È:EÅ^ŸªÆëW7ý\{žV. ofÖµÛ ÷™ôrzÓUþ_7éEß"‚éÕ­]fù£äãtÕÛU¹0~‹Çgí6šÊ4;eOeh‘-—[~ZÁoÃå$¹õˆoE¢mr7ÈgÚrôEù,¶$ (· YÔ&ùv£fð¶Òð›þ‰ß—$¾¸Ì»¾ŒÆLîõe­ÿgr<óú²@ÁmaÜëËè*ºŸHyhû’»%«¼ëÙ,j›øŒmVn¯j†à{Œfƒwi8Pœ¼npªx~REÛ!`ø®Gdœ·rÇR3e/Ư¦mä]G$ºÃþ÷©-TÏ:5êQùqqˆrÕÚ«ð¢ Á3IùJŽ6t8 þ»^†î,®Š+ºò¸QÊÙeÒs"+ˆ/\äîªd* Èx¼¹y£½“˜mÈËIQÍɯO«toýsX}ŽRy¼ú.dÓdD›“ÿát0¿R„®B±OìjõU¯¥þ|1Y¿ )å ™~"Óo˜þûÿÿñ=…÷?é×O_ùêåf¬ÑWêžv¤DÖ?Rx2 LEûÄ\˜þDzj1Aé±ZrΘÄÛÉÝ8¾Øåß­E{Ü‚ ·R‹Q)‹ÞéÍGÏ îÙã{øŽŸ‘©  ^™1ƒ(emœàÜôP¿jèÚû<Ì]éTÒNœÑþïqèáž»öÞc8öD»Ã¦J]úë˵þÚ¡= ÝõÄ¢’³±·蕬_¨´„U: úÈMt6Øù(ždB¨›p…—~p¾ˆõWâ&~3½GœI7™¥k¡x¤™¥øVŠ×>´Ùè }Ì2ɬ}l÷ɬ}L÷FÅÊ®âñ ®}K/êäÕøš=}i× ¼¤*ÿ·rëñcª üÖçÛ˜þ›L‹*®åZñ-Mè¸Öký©Éœõ×ú{ß½kè[âÿ’Ï!ÙjöD¨ÿjö<¢“Ñ Îjv#ÉüºùÉÐj†ZŽèK“>å´a1V9>2†Ö;}K²cUÐ1¶0+½\ÇëÈ×@ôE@ç€zõy#ÅOowŠÒIï¤%“n¤'·CP~Ãi%þ—°tØSa§Žß'n¥øÃôN^TÑɯ`8}ôn“y2ÉÛÂxÓ§[ÝÝg½Ý'0¨‡2 ""w¿i€Ä»ßÌ»íØZséàá G ‰wÂi£‰!÷½×ónòšÌÞßf*#É'H¾‰F:ú"•NX¾%ùÞ¢:!G|ûˆgw÷ õpîî±&âí¾¡Ý9ÿÎG&ÉÅwãL¯‡ Ž»åÇË«~qŽ,WVyòHÕ½õ¿ãè>ŒŽìuלïô^wƒÆëauà=-·Aä%>m ôïÊí ^¾3…áÈg‰Ô“7xPkÎúÖwUËù®‚ãp%¼«gHc¨ÿôuôcSÌ1ÖÍ¿¿êÕ¤¦£ÓÍþâ/:äd<z#)b†žáõ°¬}®v.Ö¯ÕãÏ÷“ÕQf“õ!uÛ±G ˜‘üP_Õš#uTJCå®ÂV>(•úöñê ¢Þ´k…Èaš > Õ'±YðOd†DìÓ–ô¯½ÆžºÛØÿáÓâ8Ó=€úO÷Fb M%ñ¯¦i—û½jìX8ÿòcOÆ1f…÷²øZÜ´VUSè`kÅA ¶Ô&ŸÞªédŠkaéZ)ye)¾â§ÀÙ±jšôèQœÕUmräË›v«ê¿éñÚÇ·œª Àk^NÕ–IC—S›T¼_ñ;Ë©lrã.«¢nkYV¥ö0¬eU±ôø»±¬*&Þ²*Yø•|n‚dýlŒ­eU“ÇÕ¨Ámf¨¡_÷ð:ä5;û =4¤ ïðÇP¿êëûǶ¸cl:ÃäïGÕÎÿO;Mq žÏ9í¥¥ÐçU/˜óVŸ/Uç5õ´w¡…Re'æ‚=‘ŽÑÅue,¥ddB.²ÅÑ<¥_6Ò/~Ùù/þ¯ é׌ߥ¯ú—‡ô ÆYöC­ƒtõ>ûʰ¼ØõÅú¿§ÍxFø¿¡#:ëôY2ˆÐGpH7£¤C¶tÈ–Ùù¥C¶€ü¥C¶tȆp†‡lÚB’{'ó°úÁ§™Ñ­Ô&Sx¥{]úÒáõæ¡C†±&àÈ Bv:Ĭ …8Ã…wˆªŸùWP‡ Ywd‰fKv»rHÐHÏvóËü3xN-ßtÙêÐá<Áß¹y² ¼¡ÄEôx7UbÓœCt¦2šØ,¯d2a¾ÖQ^~þ:—åIæó¶ÔÛ;Ï#ü ÷|FCâÌïæËùDw:xWã ¹$Ïl&çå1¥»˜Ò-aò,%zË™<Ëoáaü*zw ã‰ÿãî2N¨v—ƒÂ]ÞM¡ÿ—7—â0ôYJ³–á¢îŸcºçõj “q=ÑÙ`ÙK¤ÿ¤ÿÍ”÷M êÌV¶ØxŸctPîm6¼BºÝBro#Y¶3þ²¾ngüwÞÕr^ÍðvRw‘nv“Ü{lø ÃGyöÚðK†˜ÞI>¨›µ^î£< ð:Êû~âs½ ÿÁäGZÍ‚–õ"Ѹ‘ÒÞLá-Dã&¢aëÇê ÜÛç ß ¢þbÝÏSºÛ#øtSX ü.âÓcã.f²®%˜ëöJ‡z9hÃÂ[gàÕOáñêwZamáu'xÎp/'^•¼Ž!’×î&¬TžÇ¨Œª¤›T†Ü¾a{“öíÛ·{Ào+æþýÄ÷>›/>K*qd< Â.<@2ݧÑäu™§{ˆt÷°Mÿ&3ò|Ä~÷^–ß=j¿{7xõù€xç„€Ú~êQæî¤··ƒ¨—O’Lƒ7U|‘tƒé_†`{³ˆåý)Ê»mç2¿ÏvêxOƒjóQ®w’\Ïï"Z¶n¬ßh²¿7Dö÷¬¼ýóº#û.×%L®÷Ap}úý€²ÿ@@Ùd¶mvFÚ)ó„Èüœ93…É<…ø=ÏÊÓb}ý0{ýpìqæÇ,ÛïGíwØq{ýQ¢÷1ð÷K·ñWþÇÿã„ÿ+ŸOP>þ„ÂOQ>>Mùø$¥ù 㱈x|Öæ±K“鳄ÿ"øíôŸQøE¢ýmû0´#Ÿ·éuäw Å „=þ<•ƒÝoe>jÿô"+¯WI†/äó«¾®åó+”ækàÕ¯¯SÚoRš¿ ð/)ü+ ß ß"°O˜«Á<¢Œß¦¼}‡òô];OŸµŸùk ¿þ~æ{LÏXϰœ:èÿOƒê¨üyâñ;î ¦/no~ž½ù{ÆïG lÏ)´=H{*xõùþˆÑB:?§ð=|÷KÊÇÏÀµKŒ'»”ù%¨}ý¯(Ý?Pº_Þ¿hy•·m¡­¨}ÙË¿,¥-{%^–Ò–Á¢œ´ï’G§kÊŸyÌóK² k¡aÌ—?m™kŸ¯-SùnðnRãLù±åÝg éj7ŸÐùj7–/5ó5owätÕ›Î}õïóº-*~1H¿V3¿—t~mj¾g&]m7ó{YçסòÓo~)Šß3¿Wt~SU~Q7{¿Å¿ÓÌÿUÿ´ü:„·Ÿ0ù‚ä<Ç,ç—u¾êMåêò8ÆÏPãK¦z äù7ŽœÚ纜¯érœŸLޝF•çFþž³_‰?SÅ×—Ù_ÓÒßdèB0ØYjüAÑÍ&Ȩ.8ónlý¢Ñg«ñzß÷jÒ¾oޝ’ù¡Ž?WÁ·¾¢ÇÏSã¯1É—DÎù`¬ã_Õñ€±Ž½”Ï0¹ÞB3ÿ×uþ‹T|}ŒÙ¦Þæzp±ÿN=~1ëÉëAõÄaîg©@¹–$ÔCŒåðºÞd‚ø›ô´4BOË”xëTÿž ½ åæ|?a*_NgE„¼+Uy—Ô*ïªò"þ%*þ3¦öÞXî›’?÷0^^—Fäÿ2cþ}c×ÀzŒt.7äßO½CÚIxù^‘¿ÕÆüùÊ7´+º2^þô¾]Ïßâ$ù3Ùç5yŠòë¡pö])jéתz™¯Ó_CoAzZ¯ÊÕ5\{³Á˜OÿX}£Š¯{Jù²úœÕ/lJÈs„^·¨ñzýr˜^·ªrøæ¨ÛÔø~ݰÓÛævuû»À|˜êó³ž}ýÜÕ=Í®1ã¿<œz:ZvOÇ|íTùܬç{—Â4dÞIaU Ù’ó==[êÉv¡›ëì¼J¶8([¸huÖ{×]*T²˜F˜™lõP¾*b59v«rÜמì1¦ ][¸Gé'O‚û3ÕÿZC.ï^0·›kÁØn^IÚnö±ÝøÖNö«øú–²W¢êÛˆü]§Æ»u«%?pbËÐ`_±+_-tÄìz0Wî ~åžÑírÏ¢ݬãFwµ]‰5¢7*D­:Ó›T¦wéñ7ƒÑÒøJä–5wÇQ—¿¬¬µ2žg?³8ˆ¯¥pyo…d=âm`ì‘}ú¸Œ5ô5sî=:w€¹¦¾U‰·¶Æí‰ó`®”UºÛôø.5~»ß­Æ_¥ÇTþ±zú°F1¯8p4ßWìvC¶§TMƒY}­èp—B%€D.{ ¾uçézÁÜFA²6X¬I§#ÝÒƒ©¥y›zŠåJõ@±¿ !ÈIbØâ•AäbTŸªV}ðhÇMWÌ NÄ:µ;¯äÓ¨éõÅŽ—‚òcRx)®ÂQžÍ£œA³@ÚJkfb”@wÆh²+ЖBF£¬Ð°æh2È•2gƒ"âWTü§ƒðu™ƒd¯Æ”}Ê~}¾OK>dVå+IËö(˜»ƒcjüa=þ¸PÕvJ¿KM¯-Pf&µ0usºwGÈu¯­½gšã§© ß 1Û°ÝO5™ûè%(ÿ÷Çä?Iò÷·“`l!“õò€Ê2ê{N,#ÝÁ\EsQ?¬Æß©Ç?¢Æ»ªi,U*Ń}Ï J@öuƒ!Ÿ[L5*¨7¤†GÁT¢ß©Ÿ·©øÏ˜ð™ü±–RÃBÎÿ1/6û¿ !K¾–ô¸!ßìý·ÍK ¢SÉû„×u¨ÐuÄÙ(3„Â=aNÏd®IoWâ­ˆõ™éL[P¡F™“¸!—ïIU¾oÉEGÇãG‘İÍ;ŠâÝùÜÊ¥&ùžŽ(Ñ-þbÍŽ*¹ž§Å5Ižçé&‘ÎÙ›"×È1jøì-xo ¯œÏCyTJ¡²h/ >ã—è뛼|ÒUHu¹¾ éQ=*Jú- åi©£<õ-o‚t "ö¾às[,¹¼úÔV_¹^’t[ųëñ¼C<¿,ŸÛ{üÃ8|žž;l §‹øWe|§Ë=Šw.p—Åb½ŸÏ¡ð|ñþ5ùþ< g‚w\Ì·ÇÁ¢@ˆx…³(¼0 !Ûc€(Y gSx‘á+’ä\VF¬ŒPç'´²BüyL²¬µ²b¿„e&†ÌÈg… ¿¯Ê÷ó)\$Þ¿.ß/¤p10[A€ï/¦ð-æ(\"蜒t–A¬:û:ǯWMÒ†ëÉé-¥p¹ÈßÉgeB}¬V×11êè÷F‚/Ò»‚Â+Eþœ=Òl\xE.{^lÒ«Ž~t?xmÿˆþz'ØÏk(¬ecE- n¦p …Û(ÜJá& ¯¢p;…WSx …;„^n–ùÙÉô-ï'Œg“l3Iï3©Læ³òh$:»Äó ©k®ïzH¯åžàÝâÙù¤’¤~í†úß[ï{kÑÇžDúð:Õ=g>$ÝÉÑt‡ÅGÞí!Û±EµPO×R¸—Âýîsð2ã%nˆQ_âøõì0Px=“CÞWfx}Oéo€ðöoÜkf|dåMLgA¸ñ¹Q(i¯ÌIÃMâù.ž¾ Ôé!J×J4¥B¤L ¤L]¶›YÚß( òHVð·@ý^›F‡ÿB€ýÆDco×ðÄ÷f‹¾F–)|šãóIÜTo£ðvˆ¿ƒDâ×2ô¸Õ‘KìÁç·Rx…8¤‹j½q†Ÿm§cГÖ`¶^— ·ÓkÕ%ÀyD¯“èàÚÔPï„Ñév ºWÑZ²»v\ï_æõ­•ô+a­IkQøVí½ƒEO˜`çÊhµ©Z,yÔ6¬é±?¬©GOÙ þž²‚{:ìMí$¨·;¼·óÚHüm¤]Ó3ÿÅl/gqO1jƒSÄWI,ÃöQx„Â7QâõS8(Þ»_ÕJγØ€ÏeˆÓÚ¼ôe¨_k«ÅJT„üOdzžÜÜúU+aÑ ‹¶ ÜwR8$Þ»!V)?’P/Œ ^Lõh”ù¶œ!¾Í#Á7l'–ä¶[&è½5Âï“ò•?™Ÿ‡(|BÜ’Cï®]~œ™ú]O¾HïQ £ðq'ؽ„_­NA]w5ÑÇuWSŒü»ãSuÌ¿Erò··ùkÖð0OPøöXù÷œ½½½ŽùO¢÷Qæ;i$øZ´ë é>™PïOÖQ¢“ùW¢“ €q  0A“øåÖ­í5@+ƒN‚i Î1À áü¸A6æ0˜g€ ä u!ƒùòù- $þÅ $þbù>Ç`Ár‚e V2XEp)ƒK.cp9|^Íà ü¢¼†ÁZ‚uk4Xo€ 6…ÀV –lc°…@>_Å`‡®a°Ó»vìap5Á^_>_K°Gƒýp=ƒí7È÷7EÀ­ nO dÚ®èa eí%(F€Ä“éû" Ä@ò$(G€Ä“é‡B Êà8|¾‹ÁÝ5À½ d;¿Ÿà>' ðÄ}ÁCx˜Á ‚GHye ë³|–¸ocPk™KY º=Ø ÁS8Åài¼ƒÁ»BàÝ ÞÞ­ÁïÀû „ð~4À³ ž‹ Ïjð‡6|ˆÁl‚|DÿQÒ^Ëç?b û¥3ø|þcŸŒ Ê`ÁgH™äóç|!^"ø<ƒÏàmÍ_"q¯0xÕ¯1øJLøsß øVBøFøÁw|/ü OÿŠÏü€Á‹Kðw àoüĆŸHÚ?«ôzJƒ_‡À ˜³˜¤ŽYÐK†ã„Ç{ÎXgƒ—² àÎò0cΩ ~†t‘€4f“Æ0óu1æeååÿç— qº=Ÿx“*l 6Ú• T®ÒÓÄÞ»¦–=ÅB_·HºT×~c±ßIêÄ.Óc±vì+ôЉTDY®£@H¹O.K¯àÎQÒdÞ]Äšywé¡õy$q«ÓøÞ=ÇH[³šw8«dæû† ‹³åÂ`_¾«8Л­*dóeçó7þß5T.ÛµŸö 6w•ìÇÊ`i ÛA.eÜg{²ùrï6zU¬déhKs±ŠOÕü‘Â&9X_Ç:Ì-Êe³lN"YÿP¥Š¥B3‰`ëª`ËÐUÈV† e'm¡¢ (>¸/,•›½}ÙbµRèëYœ=8TEäì‰ÒP¶«4Ô×=ŒŒJG åò±bµày\”#ç¨>÷$f#;,kÿßJÿ÷puSÜu¼(èÂMÚûÞÓ^:…N­CŒVÑÀ›Ë{˜ýD§ÃkÚô2Õâ}4—¶6óÂI!§|Që ÑJ?û€KIïä1çN õ\3~w¤“ÒO<­âêt'Ñeø“m©á2{W jL~5ªšAÓÒÉ›4&°tÓ : ¢”Ï£ìÝ1ÆÉñÓ¤C­âå}$€æmZ~'„Ôì›Y÷Ö%^+osZ·ÓŒí¦î˜iÚùìµU´+¸ã¹«Ô?h×Ùƒ}…¬Ýš9Ý…J±\èVöLã{r‹ë2¿K”Þß S¨_®͉r;K^ŽÄÁ z[”o ÇäX`ÿʽyo!žÜ$ãpã—ÄÄÿSFº ™Ò ýg*ˆUê߆ )ÇÛ}R©¬UˆÑуzâŽJiÈÎëV>pCÈ%0¦Ì/èÝ”âÀ¡BÙî&»÷Ó-:RA¹;îØ|Ç|$DI*…*y8´Ç}Å®¢TϹ¹¢=z(ÛulãÁR¹ŸîÔpI¶ô+ÕmåRÿ.üG¾Ìõìf»±‚f‰Ùš“œtÓwæìæ½³Ôu¤Ð½ ·m¿o“c=ª ½®°r`ž³íÌ,ôI^ÎN?=ûí¹~rcw÷Ò¼m~dU.V¶—KCƒ²ƒÍÙõh‹“çýîÆ­;-]¥»õõ+"Mé.Vl“Öuh‡=s©Êy)ÉÔÜÐ`w¾ZØ1@ƒ8»¬å°²pÜ–¦¢jë·Ç]ކ•×Âÿd¾Z*KßÄ8'GÈX›ó]‡ nŒS„γ{ŽËCAX¢’ôä»ln.¯ÔwT$Ûé•ô$›¿S^¶¦£HÄv[©¼…4ãÖ7ÖL»ãz»þmt«”àúû\·q§ÄØ•¯Zá*õŽ;Üq‡óju¿¢ rÎåî̓‚•Zg;r•j~ ;_îÞ›ï:’ïu#¦åú¼šˆ%wî ¢¬Ú‚ã1/fW:rÝ»v”ÑXQÃ^¶¢UØç Ô]¹ý«öôuóv×TèCÝníš”«V6–{•V€µ3ßߟ/ï?ÑoÛSÞp(_zÙŸ[.ôÚeT(ËÆLÍÅ%™Ã*p lËÆ¥™DͶZ-ËW͹j¹¨´mn;ÛÉž¸óv·å+ûW¡ƒqô¶ëÛ¦Uƒ¢$v\»OÊè¥|'å*‡JÇö;fÓ¥`×1¯·Ëm¨”}ÿ*µr´åò•ÍN®‰u–9YVjVú-9oXêréaó©ÚYÚYè­r;YðRã<­‘§Ö®Òà γ ³%­2N3eÞ¨†u«jh,zûúsC}}¬\…Šy:ËŪô*ËZ/5õ½{öï¸Q¾»@¼+’“ÍWQX™×>¡ ¶¯r8-qÿÐÁ.¥õu憺°²R¥ä¦©©§x|o¹°ÞUPWPª…þAm2Кtæ7¶È¼îåp®åÖ2»H7dÇêI,›©mV«8²wmž(«’œ½O±5vÅþÊØ¢dË-koÔ§O;ìÑ‹mœi´#ûlŒÒ%Eâí+ç|fr¤e¸SsØvíÜê[º²;þni]ì.Ñ­ b VØ_-u±QPg®»XÉ÷,ö¹Ë^Çã”ÁÒ‹{ø¥TåÂCvýWû‚9¢Åîä„«ê.*5ìz±ÞÉÆf[^a›ždG¿GïIϱü›ŠÎg;ÙËÉa6ÖYwRâ ´ÕJbO-•J•ÂÞ’k9m¬A­FЩTßH¾™V±¼à\}Z¡•V;µP}y`êUs7± »m ² Ÿ#±;uÓ\°{ommÖÉãF»^Z}ЋO#!ÜuzuýU˜Ú=ÕC.g¶÷ŠJ“ ½ÑT®»d[$§°ÆçÌ1µÒ¥V­™¯;ýw8-“W푈:©œŽ–1ô#Îêq6쯃“ꢣ)¡+OÓsÝŠ~ •­Ç½ÙD[%Jž¡jóVn{ËÞ< Å™Uôi‡¨ZYgÌ–ï›r¶ígË×Nç#¿¾ÐØ*Wðuü9ü&°ÆÙ–Ã…]¯Ù»öÆ.Cã .ë`ÛP¨sìëw«®kÑ—û_y_¤ñrÖl¸ÝoóVì»Ùw}¼£Ì¨iZd[PG£N}¿eÍ^Û§PK·k¡ÖÄÏ‘_P‚ûÁVwÁ™ÈOÖd_ݯž“¼±¸§øcù¾#Nâíåü ÷nó¡ü@oa›cDÝ¥˜A_ M( ïI[iX¬v‹3VÇÎpc¹×D|’Õ–º§¸ô6ØÉefÁHñµHZsÂVjv?Wêë¦ dwgnñåNèË4°:T±gdnkæ› &Ûö¡ªµ¥64ñvÑ–“hŦ"Ørêj1N« U[OHüf¶¹Ô]8P*õy–pÐ7SnØ3èu<œ8ŽÖí¢ ÚØ×`U¨6nvÞq^O'£bõß3Ð|¬´q—ÛÐâ‹ §p®ÈôЀ7éæã¢Î ¯îHζ(û¹æÛÜÅBuè¤,‹¨#ngü掶µ¼´¹µ¶KÝËi¯LÓ¼¥ÿ3¤Ïƒ&»ÏáƒdšìqFöù>ŸjÉØ6»Ç[¢)ÚÊêfÞ˜ôsÂÇiú ‡+ÚWëÖý+{ì‰È*ÝDÛM}+Ù¡ÁªìwÛsÅW¬èŸ´qpfwúd²•>Ì”óÊD-‡KÕziO•#”ÎÞ(>F˜D}[ hÆo,ê|Ÿ4ø’ÅEî^Ä"U«úÍZÕ~9Ìͦº,íâÙ¹/àŒ´ÙÞôiã€ÝÆ»lkU*{f7|¬$„=’Ûto\VyeÄB#fŸy‡Jvki¯Gî¿£i5ܪoµiË U ûWée:Åþ¢:Z …DÕÔÜí¦¯ºÛ€˜y¿  ‹Õûkšž{ÜIlÈ-³)wÛ8Û'¤E\Añv^¨ —¾ë¹5Ê1B\K“¼¡×˜Ä Îý‚®~,°Ç­]G„ÙïL¿ÜÎÊá¸ÓY”Ú1cÏ”ìz¿³ÔåÊã|ÇsÖ ý#0Euî|”¾³tyoZíÉD7~*VUe ½ŽÆe—Û7Òz^NîàYW _[”åew â¬|îãùnmáŽÒ»JåîB÷ 7?hÍ9‹¹8å»»‡ú5eP×^êÚ›ÄH‹íŒä_×ݪàpÒ‡ör‘æ€Ò=Ȇ†:/”}SäŠöM`’X!çÆ~B®÷`Ÿ—¬I¿k6°±âøÚ)‰ŠŠµq÷MŒmTT烢Dý+ÐÍŽ&øHÆÙÝf bw.ʪÁ¤’mkÊfE;Ú¤¿ VÕWê-zµ˜úá¹\ÎéTN4s׆€4ÖÝm­²úy¤£À>­ñÖ'—ÒÙ C+®†úfŸô%q/µÕ]ÀÎLŒY;Π*Vä@Yíõ`϶°ŠJËS;Q<ãÍÞÞJWg¶„Ø{+ëc9±¸ÃË™ÃKùÌãu'ò»ì­ U|±WìõœXH;¶«[&Úc<>ž¾@]3œ¸·‰‚ÍUŽà¾·õ·/?Ð;d“Úê}^>‡l—Ê…;šÞ®!sVÕÌà-¶çû'üzÞ‚óuaš½¡ÒÌ Îþ”vá;C$¥¶‹:Úh ÅÞSÞ¬mÃl©ð¡½[ µÈo6çôÏŒÎRõþ5¤ K‡»[JÞè{f»¶4±¹˜#Ö¦¼³ÛO›ö+ë>" ¯pÍôÏ+¹©XBûÕ 'sꬣ{ƒ,eBÐìu¾²/Û¬L|¦–ŒTvJjŸÚØÔP9`7XüZï5WfÏY=š¼…O¯Jîu¾ÍÞèNæ¨XÙU<^T¿è©»ÂX'uû:9ãÐÆSò]µ—ræ ò•ìøž ÑmªÍÌùà@íÓ­þÕÙNü°òÙì\m­Êa»#6±VBûù´l5{ÛÅägЬîØÅ©œ²½hW¡ÿ`¡ìõyK’íÞvNåKh‡\Ìrܲ4µ3Ü9ö5F]ps×%óeýÓå4Ó¡’Ž\7×9¨}n¡¥!Í {àÐ×—·MNµ¸£¤ÃË¡úÙ÷ý8EªÏ¶:yYh‚·Ú]û€'ߊf¦U¦¦Š¶…ë%Ú7ó6üLw ¤÷ÃT[*zÃ`ZöŽ+èvK±3oÏqY mìâ_z&9köÊZé$œ´èë?b¢nOFØ:—³cG_¸‘“r÷ ò|¢ªµà‰ÎaoPxnnÿ!»?pç8ûi ãeNèvÏÑBY一•ÅÔe|#õP-ŸØí®KNó¾öù©N±u™ï úTßænP ´7Êr œó†­LÍÉåŒ r,ãš°,gך²pÔf÷n‡Šõ%#¬U›»}3F’F…&±Ú×öжɓ ¨ ч‘h&õu€â€;Q”u¡+? XÉâ;¨ºÏšMiÜVÇ7;éKµÓsšAS2xÖ¢¬µiÁ‡tê"06õ+?ÛÏî5píŒ7,óæ¦b E=ô×Â>ÒøÖÍ5:Ë}«<)“$ôÅ–ÒæùÉÂ7ot°õ eÑ£U®<í¸ªVTÑ1­Û­u8ƒëþý·dÝÊôÊñbkí±§ ¾eñ\ü’‡¼¦ÁE¨3Î6wü¯4¸I9ßwÚiÔ vÍΧÜ,7ÆÊé¿§ iÕ•3\BøÝÝJ½ž¢ŒtwìÅY£”G¦w*CÓÉî„}gñˆ+Ri`cµšïòÊ´Èm'ñ¹Iÿ®?Y) y÷¼ƒ»›_fÂ[ÌâcVü:„jQzÜE³x­ëÄoI{Ê»èˆQÐ'miÝB¥ŠI¢UZ³ÑæÊ9•é9g“_ÈÂ×…rl¢-d¨k/Ý%-½:˜Úâí©˜J£þáUíÑh‡–ÓÊÄ)1ïV9²,—ó²WÇOJþñ2}×ÁŠ(‚yë ¾½ì´wQtm;™è‹/õPW¢è£†oÖ‘sW¹õÏÇa§÷Î [±—õ÷´ªQÁuŲû­ÃžsUƒFómb[þ~m˜Ô&7‘hÝb.ï.³1­NAÝÑ _GN Ü뎵SyûJÇ”å·ssN ˜dÃÔ£errοL+a%ú¬Äuˆ/Ƹ–§mU£‘ß„™sŽ}ð­æúåØÞvoܵuÿÞ›·ÞqGNvö!cßIlï›Ú^ú½]åm¹Á#½þ¯´xè®ê.›à'¨§åv Ý!íµáÖN'™'g§²íBƒÍ`£‰Àu±ñ]l—­üªêûh3Ý·^¢Ü&€)ß>ê |öË Ê7ãN»ÃÚA÷+èÖzüµC%¶‰ËŠë;LP÷r~ 6«®€-Ô-Îêá.uù°µô1{ŠlQì4…{ûÄ;N{·[y÷Ø%l¸Ľ+s®ž2csõÓkì>èØ)•Ì2óµ"K‰‹#ù‘kÔ”œè[{ÔÛÌë|ÛÉ ËÕ äÆ´ÉCÞÁÆÊX»7íZº7Íx7ÚDzûÜrˆ:aí΋ä¨têiOàSÚs½¦'ÙE³tGí+±ž&¸¾yŸ=å*TèzÁŠ=;rŒ/®¦È+eÉ&WKÍN.ìÑÉîR¶ÐÓãjõFGçÊÖ°;XßÉþ`ÿ‡Þša7¶²ú^|è{›îÃŒcçnÖºßÁÒÿÝlû..}ˆ†ÎÄݪ¦{QMw«ºø†üGÝ¡Z(ýôÕ€LÕz‡j™+PSÒ$Mž–Å6»©A+:‘]ú3ŒÝTÝDXw‡à¿‡áìÂq¬×úÿ ò—´Ž,ñ®‰ÍgžYàNiãR¹MT+ÛX÷ÂêÂpVI7Ú C·ÀíÇWg³öl /ë¶§ùlÅù“­ˆ1‰F ïîóí÷’ ³špÚë|¹kݶ>2 Ôú~1]w&ïÎÜÍŽ=ïÆ5*¯JöÜ/oÓ}ü¾–Íãä¼P¦AYx¼Ï4T¢¡MÀñ»gØäÜ‹;Úþ}>r”õ=¤ãx?ï|:² Žõý†Žï#Աƽ|\æ'êòqiô~Ÿ½»7€‡©3•Ï…Ú×)‡×´ 5sö7iïßdz¶t¢¦£§T0v›¤Åaš$±oÍî¡Û1?õ[“^øôz*‹ÿèiõ]'‹ó5zƒN3ÀÚ}Ì´à¡lÍV½eìè»{×|…Œƒ>Æt¦{¶@”¤ŽÿZ̰ޛÝál¢ËŠ çÃl/N“Åüöø&Ù=¢\Û'÷(îçìœÅ‡J¾¿€+ 2¥CÑî½å=Žßèc|v6~úšM´Ôå’f6ÊB2øUCz  Å±Š/> /fß5ìÞ?×Ü,äë–›D.›ÄZ{Ø0€D*Cƒƒ}EñÙäÀ¾ë¶fu¿×zz±|W¿Â=`áJ )fr=Ú›†-[·)2³(‘ü„ªqFûŸ>ŸÚÂd²§µ †É†¦6ÂÏw97¨»)߯)ê-¥"hRþU ¯ÐõBö$ ô=Ðè5œ±Ê¹¥«¡èei:¥s†K9s“!Q¹ZTnoR™¼I劆4o‰2ÃtOœfø6nƒƒÒÃcÙ&ÝÞµ{^kñfá8É#é´jtŒ3C"~¦>K ȾËÂ}o íahêøÇµî¹˜ƒÕÀ‹9_H0 ³Þw¶úû:î*.î0À'L»ïb©„=¼¹WÝ"*«u75s¨¢Î¤Jн'V¦é¬r"N#áL$œ „ÓD8 ± lØAt[(¾•â;éÿkˆO‡ í)D»“hOeiQ–Å„/eÁ¸¹”æ\J#ßÏ`üðÿµ6œOñˆ?džÙ6Ì²á ˆâ­#<™—‹ˆÞlön.½›GïγañšGi.â-b²,"ý,¦|ÿ„Þ#}»ˆa‰ En¥øÃôéäXÞ—Q>VPÚ•”ÿå¤×U6|GËŽÒ^JùÇ|_ÎòÍé_Aô¯¤p …k‰ÏêYÖ“,gɲц¿búÁ|n²áÃZ>7Q>-F{ ÑÞF4·’LÛ‰öU6¼D¸;÷½D½yD½AÚ;íÝ„¿—Âk)Ü¢^ì':{ˆÎDÿÿ±Fã: ¯§ðÆð:£·‚×9¡NÎ'½Î ™o²áfÒ¯ÇMÞm6Ü®áGôy;Ärî¯^æIwö`ÞšÊd@Üá^Þ(ºÔ¶„x½$ãtJkëĺ”ø‰–i» G@Ô³>âÛoã^Búú€ufÂ;‰g‰d@]V(¬R8DáQÂ-È!íD>NØpÓÇq’˶…Ö’ëâq…÷ƒh÷Èï^â³T{t’òð ¥yˆðÀy„p%œ‡Áßž#ÜÇ çm$ç6ûvÂ}Špž$ÙŽ1Ùdùb»z†3òN¢ÝU)e ^¼ož#¿C:¿¿$Ÿ‰ß83?o)^,Iîu\fj4Æ«4nÒelTãK¦<Ù¿‹¹ÌìýýQyÑfµ-ºÕøU¾™9A|Mu£É¨;Aã7«ø®nïàR“NJ¦Âæ U……œÏdc–¼=ô¿EÅÿ ^}ø7„0UÉÑj#\¾9jCHUª½G¾mæü{CÚAÏ—‡J¡Ý(¡¯¤Î‰ÒD‡Y¢iz‰LIÆZÿ©fþOèü;UüéIùMSÓié'˜ø›ëts>¼…ŸžA-å9jÊÛÔ”™yAšrx.˜ÍÔ 5þˆÆo¾.y;“~ZðÝŸ~ALª:Ï *¶@4%H0Ûùl;üÞ6LuÀ§‘P†Dh~æ04?=ÄÑp2Õ_hP=hà 𦺩ZˆQ7³fþ“tþEht¶¿OŸ£Ä[¹ üšä«ÒWœôAtæ©tîÕåœÁUÕïÐ+\ßz7Ä’ËKßP_¹Iº )/âå4‹ÖbÞ$1œHá?WÆ7äg!Ëä3) ì—(H¯IÐÿ ”£%–^½|µÔW¯UIw2¨õªU<;×f±z~ ¨ž³6Ô@Ï“‚Ææíš\Þ¾n‡½&k£ì äù¦›B¬màs…S„¦É÷âyº|îÏ®N¦Šç òy…â󪘗à3}æ:"ŸgÄ+ãù¿^e¬ëω§É&Ž_OMΦð"‘þ]’ÏÜ„rÍ­£\µ8¤›Ï÷ÊçyL®‰àßJ‚­w>“Sö¹óEXx:^¾Ü–:¿Žù’t&ïÞ-q×ß™°õäkÑ:Ò]°<Œjþ= 4º|=½×“/ÒÓÖ)Ý4 sNØ0H’Û;©3õM7¦ªÃºŒ¾T¸FE]d¤ç“¯S¥§.]ZŸ@¾zbM弘Âłϧäû·P˜£p …Ë(\*ð÷K|\kÿºÆ­ p¹Hó¤LƒëTíºÁOjÁ­û =òæ.‡®}%™^£Ú!¾Õ‘ä;Ô®/ j·×@¼/ÏÎ: ”aÉòKlVQx…«tb¹ Ÿ/ÏËç+êïÊ,·EŒ–Ô.ãM%h;[©qБ&?ÒÀÝ^ŠßA|p9à­|øNš€]P¾>–!†¹hQz¹t#m±·ä"ÒÉ2hÑÊ Ã`í—x›y½–8,ZÄü¬¿QsדTʵ§_] ˜¾n™D¾uu–oCÿ µ©u,8]|ýy­wâÄ:'>oŠ¥#¯#ÚTGën¢“ ñ &„@3ƒI“´1>ÊØÁ`jL#èÐàœÇ`ÁFÀ ."˜Ã`.xÛ\%,4À[,"X¬Ál‚% .&ÏK,€U dþ/!¸,.a°:¬‹€ ælb ó)Ÿ73ØÛ ®bpupœ] ö$ž©Û A/w„ó n$¸…Á šn%¸ƒÁ­ ò²dgÐÍ@ÊP`в.õ28D iÖàAA?ƒR”À1Nå9N õq‚Áqw3¸7Ü­Á1àáð¶x‚Á“!ð„ç{¤PÏÊ1çÆ¦³rm AóŸ•£‚ޱ³rz ‹<+‡¹ñ›Ïòô^àŽ…œã-Õ KIÃàe|ßxÂ~µžUj¸z‡Ex¸ƒhlT_³’ޱJ./Z3Wòí¢.Z‚ॠ¬KÓÁ;ÁŒ£O5wÒ;IÊ]šˆ7á5àao%{þ%„7™ÂVŸÀðÛØÿØ^®¤lßD4gxž:ˆ޲ÿ•ñ?Aù=Dï¶Gð¼’h øé¤›qÎ ýœÞ!4)Ã9”Oyã×2½›EÏÈGŽŽç“®QF‰͹àຈþ—iQÆy ~sÐI= >ooÆËâ|FcéGô¸<´ˆäÀQý“$óÅàâQÖÅÄï)PÛEÑÇeÑÑÇÑþceƒ3Ée6|Ähi¦w˜ÇåL· T†HïEÆe–£×• ÖYY¾˜—Z¿’îRPë0/³+´2C}aYM|ðÿi:[K¸kHg?Öt¶ŽäXÎt¶žåÓü¢¹‘hmÒâÿͯ— ¯ã[Hn{æá*ÜFy½Šhm'Zr q®!œ]„³“pv3~{I·û4¾„'ë?ê|És“íZ¢y=£y#¥¿žáÝDy¸ÙÎCE+g{¦aa™ÝJiˆwN»¼M¼·¤|²Þn¿ÛÞ¬ã°xç”#êGïoqXTâô‰wNYJÛíÏ¢•)_ý³g,VžåëMÉwÔúÇë»ÝƒX¥tðê»]',otÐÿúÐ唟^*Ï"x‡â }„·ŽðâÔ#{fb= Þá^¬#ƒ¢mšOú›N4Q¶ç4Ùð=ö=(¿i[0¨ñú¶à/F,ÛÆÚŽËÓgÌüþ]ç§ §Égâ7ÎÈSå+[Žn,÷j´“ª‡uÕø&y:íä©ï˜‹vòÔû,™ïëÓPÕC¥Ö—‚tªë(,ätµÃ§-*ÝÌ þlªcÚIÔðstÅ¢–R=[jÍ×)·¨ñ×ÄU~+„+¸šä|ÚÌ9ÿ¡žŸv.ô Åj¡×Ù®mbס&×Bzu¨¨hÚþoUܲœáu㧪ñ¾]ÄjümA%Æäº4ø³:\×.Ê ÒŒvD4² ¦«ø2áëbF…œvPÔ§Níà§ïäÈ 0Y!gú°˜N’ míLçÍzmj¯®èÊ «Cù£…l©\p<ÊdK…ìк«éöÜÜäu‰&i>} ÒÎg¾'¤×M1¦¶1Œ•ÌwºâBHÒT™ƒt5ËÈßß—g!ܺá_¤ÒïŠ#_œ³ÍrúÆsÌrþ{H™×,ß\0×9í䧯ëžá6üÛjâØ² 1µÆö¹Ù× «¥ì@áØÂEÙþ¡JÕñ:À›¥ë%ËF¢»…#Ä1÷Ôsøêf&ל‚¯ó â«»Œä«Ãü ‰Î/.Ÿ¸ô¹\ÚaO_­[&‹¦ŽMâX«œ1?Öçuü¥*~Q_¦ÆÇºÆ&HËr9Þ˜ü*>[yì+U[R2f`¥YA_©+ß·çàáŠF`•J _—ø5~ ¨$õÇÑÜ¥`®AêQJë“Ú æò¤5H;2©7ßÐñ¯€øvÚiÊÈ~om}!þ:ï—t}šä\o–Ó7.Ø`–ó‹!å“H¾¨Ë³Ñ ?{_÷›€6AxûKj¹‘ÞfC>ty‹Šÿ¼†ÿ‚Ž¿UÅÿYÁk-zfñå–MoKž çmÉóN„Ñ®¦—ÏPN!îïçÌJùð“KÞÙàÐÁð"PO:Íõ„Ñ|H¶ƒq>Ôwã<ðN*a(¿ñôuø[4@G6‹À;8a±C¶r׿Üå/w÷Ó)÷óR¦¶&ð>YZ¤¾ xKâRE²,ÏM¢#UÚtâüî´ãEäsž3—É籊ßK¿¢ŽÅoѰé.Ïýòy•xÏ´[ß‹ø&~òñ/§ÃßóТîù¯zø¤|¾ ¼“^!ä}CÆ_Þ.y Õážõ¿5yõS/rØé»’ÉN'xxFŸ×‚·1Ã5àm,Æp=xuŸ7Šç߉ÃÞ›œbˆÏ8ôˆÑ^àøõ>!7ÙùùO·+ãIž­àõa²Ìdw+åœLr&ø%6é›=~Ö‡ˆ_&Æ1h4ÀD“ ÐÄ@ÚŠ6´0h'é§0èÿæíð.º@èd`â9@âžËà< ø&m¹éûB ²0‡Á¼˜0Ÿ€§Õù",0€Ü.7ƒó âA„k8o‰I?G°”,›e äæPù¼‚Ä_É@â¯"ïùry0àRz:ùžoB¿<ä¦ó+¬ +5Xo€ RO›4ØL ë¸)~‹‚6±ëÀ7¯ï = ®%Ø_\Ëà7àf²œù¦õë äómÈ:u;¹ED>ßAÀ7¬ëÜ%ŽNÿ6&×AR®.ù¾›”o„×Óéä¹>ôƒ Ë ä&y}s¼‡˜êQ-›èû5`›ø“nŸU¶Í6î*uõ f%FMPÇíëá}²cMÀ±¶=þˆ_FÉ3)oynYnùŠh±eáˆW &»LÏ´Ÿ²ÌêÓ~Ù=Í÷;Uƒ.rUÔtÝîkvï¹a·~NbP\×4Ô ƒ%ÜøQf¯:róÝ¢6î•‘qÝc•Ù;÷|­~ݺ÷ÜiV²¿õÓÁÿÉ[´7[áùö\\>­’»7()Ër2k…æË1b%×”k“X“”„Z 6…+ ¸Ùw²ÿw°ÿå9Ÿ°VP×ëÝ€âóTåÑËã!âÃÖÉÕ½|ÃñÞÔD½…7§`j?–yfÝé´VCZ«#kõqßuJgÁ†á#-}¼16NûøÆ[cSÌ16êŠwònì©2èî3HvÏÞÉkÄ-AYÓ¬ ³XÖçØûýܲ9–i¸?nM,_«ø?³A³Ž®˜­¹]ù#…ý^]R¨ý'DÛJ#óC//˜ö¸{i2uÛéç%ÒóÔÓ»¸¡²êŒ^}Ga•CÈ8¶jBœrøÝ)óÿâ}-ÅX5lÜ}“¡Çu¢ëÒ ¯# íkÇš€#ÓËvvÊÅ£ìfñjÓ$žØÓì;D¥Ìü+ ÿø/>Û½næŸ o"á53¼&¢7‰ÑÃkèm„? ¼ï_àœÞqÁ©Œ&Æ+™L˜¯uàù„Ź,O2˜·õ úr<ðåMaç3gxGqçÝéàùŠåÇwgƒÿÈ®¥Hyq]¿m`g|+x~C‚߬ÄÇ} ð|æbþSº‹)Ý&ÏR¢·œÉ³ŒðVƯ¢w—0žø¿=Às¾eœQíð»Åaz‡øW0|üÿ’¿Y¸–ÿL~¤Õ,hY/)íÍÞB4n"x$¶ƒpo#œ;(|+ˆú‹u?OénàÓMað»ˆ=<¶3Y× L‹u{¥C½q,ñÖxõS8@¼úˆWÉÆÝÂëNð޾^N¼*1x%C$¯ÝMX¨nã¯"üþÇ ÿV>Ÿ |ü …Ÿ¢||šòñIJóÆcñø¬Íc—&Óg ÿEðÛé?£ð‹Dû Ú"öahG>oÓë&ÈïŠÿ{üy*»ßÊ| ÔþéEV^¯’ _ÈçW)|]ËçW(Í×À«__§´ß¤4Aá_RøW¾A4¾E2`Ÿ0Wƒy,D¿Myûåé»vž>j?ó×~üýÌ÷˜ž±ža9uÐÿŸõ ç‰Çì¸7˜¾¸½ù!xöæï¿°=?¦4Òö í©àÕgäû#F éüœÂ_hôðÝ/)?×.e0žìRæ— öõ¿¢tÿ@é~Mxÿ¢åU~/@[1Œ•®‘¾.Áw¤§Auû€)ãŒùóû.×nGH컼1" oIðµjRãLù±åÝ$oÜÚÕt¾ê•ÖR3_³;NW½!úÐ^‹ŠŸØ×{«™ßK:¿65ß3Mõ1ˆ_»™ßË:¿•Ÿ~aÃKQü¦˜ù½¢ó›ªò3u’òšøwšù¿ªóWï1ˆ>²=ÂÛO˜|Arj÷èr~Yç«Ý[0]Ÿ¡ÆëG±>¯ÕÓ×ãÊ©ÝY Ëùš.‡v½@”G19=í:Ý~~Oç?SÅ×¾¦¥×nù¦Ú&.³¥Æß$pÝl‚Œê‚Oè/V*Âs¢Iô‹"DŸ­Æë}ß«Iû¾9j¼~œÕwGÈ\ßúН^ໜæUS]2É9ŒuÜw@Z»'@¯c¯å3L.¤g>èo½®ó_¤âëc„È6¥ðr¬ì»#E;X¯×“׃ê‰Ã¼ Ar-I¨‡Ëáu½Éñ7éii„ž–)ñÖ©þ=AzA:ËÍùÖ~5ŒÎŠyWªòê®ìbË»*¼ˆ¯ÏÆÔ¾ÀË}Sò—s ù +¯K#ò¯×_Â×X‘ŽvL?ì8´žO½CÚIxù^‘?í\WTù†vEÚqý{[‹“äÏdŸÍÇü3ãtüµª|—œ­‹¡§ ½¬WåЯÃIl_6óå›oTñõs†_Ò‹‰ÿ¦„ü7Gèu‹¯÷Ï/‡éU;6nSãûMtÃBNo;˜ÛÑU`ìßóaª¿;ÌzöõkWô47¸ÆŒÿòpêéhÙ9=óµSås³žï]jü Óy'uªèv¶Ô“íBÏ9Ùy•lq@œá^õÞu— •,¦)¯ºñp|UÄjrìVå¸;®=ÙcLº–pÒ/ž÷gªÿµ†\Þ½`n7ׂ±Ý¼’´Ýìc»ñ­•ìWñõ«M_‰ªo"òwŸ$OÝëÁ\o€øõxF÷Ð`_±+_-tgñ>¦,^FPYm×Wè Qk‡Îô&•é]züÍ`4*>åߢ*§Ñ¤!Xke<Ïlfq6;^àÒÝ ÉººÛÀØÕúr;«ÞkæÜ{tîs|«omÛŪØýUð Jw›ߥÆo×ã»Õø«ôø‚Ê?Vֿ޿ûŠÝNÕwn×p3çZsÐ ,à*.…J‰ ]ö@|³ÍÓõ‚¹E‚d-®X“NGº¥SKËLÐ?XDïˆJ/r©OÕ¢> 4Ò¦N¨ßœŸ‰:þ€Š¯/J¼$¿IŸ%3ÿ&ÿ ™ÿkAò›øßiæß¬ó/+øÖœytˆ_QñŸÂ×å ’³j–s’.çYO¯$-§£`¶ÜÇÔxßµçÇÕxß$脪§Szü]jú¦ üër‡é—Ó½;B®{Ôøƒê‡N_çcj÷‚±\}ø÷%ÐCP~ï7óó•ëI0Ö÷Éz}@¥õ$–þîƒ`®¹VãïÔãQâ3­¦rÐí’®7½^õÀâƒòû($kïoSñŸ1á3ùc-B†…œÿc^>z¿hjòÍÞ[«WÚ¤\ö[™6Sþ¢ìÊó„ASÏùètMù»oE,–›óeâ†\¾'Uù¾$_ÏŠ¾ëѽñ¼;-²ø,îz”1‰Q*¾'žÝËÎÄÞegM"³‘#þ¥gÁAx=ˆséòŸünJ±ñŸqCHŒ»{8~½NÊ =ªGî%|- åi©£<üR¼Éây¦|n‹%—WŸÚê+×K’n«xvïíÏ/Ëçvðîö´hü…ÏS@½ürºˆUÆw ¹Ü»Nå˜3Þ—åûsÀ»«Ò¢q0>ŸÞ]•í²!À¢¯%ˆ(/½œÞ¥—zBöAQ² Þsy‘á+’ä\VF¬ŒPç'´²BüyL²¬µ²b¿¤!º÷°ÎïL‹lñy>xWZ´À‰Ï Á» Òµø^¿Ð2ÞÅ–iñyγ¯süzÕÙ$m¸ž|‘ÞRàPŠSø¼2¡>Vž!}Ô“/Ò[!Ò=#é_O_åøgBõäkÑé®ïÂÏ$ò\6ªzðêa=ù"½KÁ»ÐÔ‚L»œSáÁ67i7 Ýn4æS?D%ÉßSuÌŸAþ½IäG¹V'ÌÇê:æ#F½üÞHðEzW€w±lò‹aņ…0½è¯uǦ[ ÞÍ·I n]èvاíðwÅN|–7òÖ²¡–ÁÿðnqÅp …ÛÀ»eÃM^Eáv ¯¦ð w½¸·¢ïÿm·òîl’m&é}&•É|VDg—x>!uÍõ]ï/ÏRÞ‰š¼3I^.ß8’o·xv>U$©_»¡þ× L$:†_M'‰>ö$҇בî9 ô!éNަ;,>Í ~²ècêéZ ÷R¸ŸÂ}žørŽÏøE=F}|‰ã׳Ã8@áõLŽf0Û^ŸÆSú ¼ý¿Ø‡YygÓYn|nJÚÁ+s’Æp“x¾‹§ouzˆÒµ‚z¹‘”©”©Ëv3+@‹vàû[ YÁßõoxmþkö½]Ãßq-úÊ;Z¦@òiŽÏ'qS½ÂÛ!þÎ ‰_ËÐãVG.±ÃŸßJáâ.ªõÆ:|¶ŽAOZƒÙz]‚ÞvN¯Ô‹üÏ#zD×£@ð…þ’n· {•hÉÞzqA¼™×7yƒü…µ&­EáoXµ?öÎ=a‚!£Õ¦j±ä=PÛ°¦Æþ°¦=e/ø{Êvîé°4µ“ ÞîðÞÎk#Eð·‘vMÏü³½œÅ=Ũ N]_"±4SØGá ÞD‰×Oá xï~I+9ÏâK?>—!NkóÒ—¡~­­+Qò?ÏJxrsë7V­„E;&,Úa€rßIáxﺪRxŒÂLMÌÖ]â™Üh 2#áF+I¹€ú•Ò;Ná=ÞMáQ ïü'Kþ÷Rx2žÜnº“u”[ç»ñÍ¿øÕZ>íxAº÷ >wÊç‡E|«|~$¡^A½˜êÑ(óm9C|›G‚oØÎ*É'l‡LÐ{k„ß'å+2?Qø …¸ó*†Þ]»ü683õ»ž|‘Þ£>FáãN:±c ¿Z‚ºîd¢ êN¦ùwÇ;§ê˜‹ä4äoo=ò׬áa>ž ðí±òïÝ¥ûö:æ?‰ÞG™ï¤‘àkÑN7¤ûdB½?YG9ˆNæ_‰N&Æ1h4ÀM˜Ì • ½heÐI0Á9˜¡á"œB´Ë¾9ÏUßr†ºÁ|ùÌ]êIü‹HüÅò}ŽÁ2‚åˬd° T·w—\~xòy5ƒ+t·wk Ö¬Ñ`½60Ø[5XB°Áù|ƒ¸†ÁNì"ØM°‡t—·—Ä—Ï×ìÑ`\Ï`;Á òýMp+ø]ÜŃ2mWô0²ö#@âÉô}Pb y ”#@âÉôC!Pepœ@>ßÅàîà^²ßOpƒ“x€@â>Èà!<Ì`Á# ¤<2õY>KÜ·1¨µÌ¥,ÇÝlÐà)œbð´ÞÁà]!ðnï‰ ïÖà÷à}ÂGx?ƒàYÏÅ„g5øC>Ä`6Á‡ >¢Œÿ(i¯åó1ýÒÇ|Œ@>ÿ1ƒOÆ„?e°ˆà³ ¤Lòùs ¾/|žÁgð:ã/ȸW¼j€×|%&ü9ƒo|+!|#|‡à» ¾—þ†€§Eƒç ~ÀàE‚¿%ø»ð· ~bÃO $íŸÕz½?¥Á¯C`‚ÍÔâC]IØó©p§!™jÆã+ŸÏ1&ßXsÌõÙÓí.fàÇ1|íç&bó ´³ãèÜÀÓÞµ¡rk ¨×ã÷•,ˆ1Š8¼ë—ÏoŽË݉´^+áuÒÿÒýÒÇùÌT⹃hMe¸’V'ÅÉyÝ9þ?¼ëÕw¥=ŸÑAy® ]áÿ3Yf™ ? Þ®€>â;›pæR8<íÓÁ»ÆqÎ[(¼˜ÂÅ„·ˆtÎqs.%œ%„³Ì'A÷€µ”xÏ—•ŒÏ¨é÷óu&¾î‰:·6€òã8ÿ¾k¤wƒïK?NMy-öx?ñµØ`ä÷cŸv´~ßIäµÄÚ5Ó:¿ŸèüšÀ\¶ÚõÑ7ɯ˼æmªcÚ5Ô?Õã'«ñúõÉr`º•¯ïÚíV5^ßõôcíùgAú 9¿60ë»]Íç'ƒÊO§kÒk˜êøNsOQñŸ×㧪ñOjòý\{žV. èë¡§©|õë¡§\8½é*ÿ¯›ô¢3Àôê5Ó‘×kåãtÕë¨U¹0~‹ÇgíéšÊ4;eOeh‘-“Ò´‚߆¿)ðœÐ¡ÈÖ§Åzµw{¼ˆwOÌŽñî Ô "þÇòYîj¦° üß-øÉØÉâ½»{¨E<»'²[¾ÓÆ[düIA'©à¶Óáïyˆü' þ?‘òˆãÂàs;…mBîçå{l³Q›¬gCø&ë©âùI9\loÈ8¾RÍãÚ¿ÍÉy+?/ŒÔU™­ÞL&ßa¯ÿ2™E‘NT-®âi,-'½tüó+€÷‰C.­×š‹L òî²|]>O‡8Ÿw¼ôÓa4?oyÍv$øN‚àòÅê|+éž—ë8’ETsµ\¥l“b”g­åˆ¼Ïeò·‚¿Ù5€º¡ùáô Á›(g€× ñù<¨¹9Ê}™øXµ9êþ5†Bò)›©ü9žÿ 9^ƒ ¯“´ ì 1/ ¦°ÿ; 0àÜ`:ƒ .„è/“1˜ü 墰$jö,?±Ô×½Ù9ξbåጡu!ߺ՘”ò¬\½Ú Nû´°¾ÔsõŠ;gk¿³[¹ŠuñÅ•´ óÁ[Ájc´.®ÔLoµ©“hNox W¼ð¹â…í~=x;æ³|¢Ü@u"†im5;¶ájÒÊw¼¬ ™üY𺭋ÀïQ®Xɯ}ógËß"–©«·ÞÅL6¤‹Ý?Ú‚;Atÿ€Þ!~.ˆ/ž„ÃÁå”n¨NoQžU¤ïK™<—Þe„‡ñWлՌçjÒîHx?éo-éo á¯cøëXYmá Ólb¸XN êêèÒë6Ò+~¡Ä~w"l·‹wxŽ:Q\éü2él;ɳüÎle½½šå}'áíbü÷ÿk‰ÿ^ÂÙÇò¶åí:þ¥½žÒÞHe„»p%ôf¢uåùŸ´<ßBén£ðv¿•xÜaçûðÚ Ïo3oer´Ó´SÜ.*««‰_7xa;®³k`•ËÕBNKöÛRÎ^’¯žST¹ª€økµüôç´ñlv¹Y+ ·D8wRX&ÜÁÚRÇC!:®‚76Ã/…r¬†º;Jùͱ:€;öQOh+qçÎ ’ñ.›ç¥»›Â,øm߽୚sº÷€ÚnQöûIö(|d>©åµJøÞ£„÷xuPÚèÇ ]ɦç‘v€éÐO[ÉNìÐϼ’ ¾bu%ÛúBÄJvÔý ?+Ûv`£´Üþ•4J3æE]Ýö×;uuÛçÛì§1W·}Î[U¼wR[¥ÖËúÏÌ«Öú¿jY¸+oî´ÌÝ•n@dk45‚Þ×c¶J·ö¬©c)&Ù{WO¾#ÝjQÞÕ®K¨ßu£ª_oLQO¾Ho-xõ Ÿ7$ÔÆQÕƒWÏêÉé­§p# ¯Ãßáþh- ÔÒûo†ÚzÿÍu,‡³µ÷·˜ï>\ðp'½Œ Æm¥p‹ˆûLs…;(Ü.âÝS8ñQ&/püQl“¯Œ_¤wµ ïÞJµ3žOƒóÁ¿÷[¦½€ÁLù<‹ÁE0¢o¨â7Q½Å‹Ì&XÂ@ÞB%Ÿ—2øËHüå ÞPµ’¼ñãRPo¦B¸œÁàÝ@%AÞNÅoœZK Ÿ×3XG°D%aÁf‚l «4XA°ƒ¼G>ǽuj7ƒ½!°ŸÁ>‚ öuJ¸!&\§Á­pƒ·Æ\×9È`AA!$ÞA …Àa)ã‘`0‰_ z}A8f€ã'øÍS÷Ük€{Bà>ˆwËÂC’ï#!€qÔr{‰;m&c§ÖÙ`ƒéZ”†»oªÏÙ‹áþ þó%cMÀ‘9ZÒÙ](ðlI~¨¯*šÄ.íÂéÇKÞN—ŸùWP‡õYðNýa·.‡!Øu㣼 @äV|¶‡#™u›>¿üD/™Äèá‡m„? ¼mØàmǡƢ3•ÑÄañ•L&Ì×:Ê òÂáù,O2˜·õ n‹?¼áÆ|’KÒ8³À» e>ÑÞ‘¤1¼ãRNy¬d>x[¿Q^4Ï8A³~+Å wˆ¿(‡z7Ÿò¿˜Ò]Lé–0y–½åLže +ÁøUôîÆÿG³Ž‹l§@T;‚¦wˆÃÇÿåÑr< Þ‰‹ºÔãH²^-a2®':ì"{‰ô¿‘ô¿™òŽC¬38±§AÖç”§O¯n·ÜÛH–팿¬¯Ûÿ ã'RNýø æqéf7ɽdžß0|”g¯ ¿dø‡Á;šBÇ5àA­—û(Ï(¼Žò¾Ÿø\oÃ0ù‘V³ e½H4n¤´7Sx Ѹ‰hØúqމ îm„s…oQ±îç)Ýí|º),~ñé±q3Y× L‹u{xǹpHs„ðÖxõS8@¼úˆWÉÆÝÂëNðŽÎ\N¼*1x%C$¯ÝMX¨kóØ¥ÉôYÂüvúÏ(ü"Ñþˆ¶ˆ}Ú‘ÏÛôº‰ò»†âñbÌ›D¼Sv¿•ù¨ýÓ‹¬¼^%¾ϯRøº–ϯPš¯W¿¾Ni¿Iiþ‚¿¤ð¯(|ƒh|‹dÀ>a®óXˆ2~›òöÊÓwí<}Ô~æ¯)ü>øû™ï1=c=Ãrê ÿ? êÑàç‰Çì¸7˜¾¸½ù!xöæï¿°=?¦4Òö í©àÕgäû#F éüœÂ_hôðÝ/)?×.e0žìRæ— öõ¿¢tÿ@é~Mxÿ¢åU^„¶Â´w À¸'Ìw ÅÓÞ´ècH0ïïkãþ=娑|oÊß8cþFü(¡/ÚÑÁ}z¼v4Ðw©›zP¿°IÍ-ï¦ yƒäÖŽúŽÛi—Ø-5ó ®A|µã‘G/[TüÄG/[Íü|ÇàÚÔ|'>×næç;סòK| nŠ™Ÿo/êT•ß°ÁušùûŽÁ©Ç£ÁM‡ðö&_œÇ}ÇàÔã‚þcpÚñ¿ºƒÓ.Á‹<§ö18óqAÿ1¸™*~ýÁ]f;K} .› £ºà1Á]!úl5^ïû^ ÝÔ÷ÍQã#ÝÍUðýÇîÔ“‚õ;v7ŒuÜwìN=8ücwêqÂècwÚ1ÁÄÇî´cƒ¾z ôqÐŽýéõäõ zâ0ïst\Kê!Ærx]o2AüMzZ¡§eJ¼u*‚O^Îrs¾Ÿ0•/§³"BÞ•ª¼Kj•wUy_;ã÷Œ©}7–û¦äÏ//¯K#ò¯žõÓóï»Öc¤£ž ;¯ç˧^Ž!í$¼|µs‚¾ü©gö"Ë7´+RÏò…æOïÛõü-N’?“}VÏêõ-3NÇ_«êa¾¿.†ž‚ô²^•£k¸öeƒ1_þ±ùF_¿,÷ËAz1ñß”ÿæ½nQãõþùå0½jgê|sÒmj|¿‰nXÈéiçå|íH;§÷où0Õ_í<]d¿¦ž“óÍI|sƒkÌø/§žŽ–Óã1_ê9=ÿYÖ]j¼ñ,ëήü%çû9ßCš-d Ç.ZõÞÉã%r¿jõP¾*b59v«rϬòt{ŒéB׆uÖ5iÈåÝ ævs-ÛMàÙWS»ÙÆvã[+Ù¯âë"ϧˆÈßuJ|f|U‹ú 4ÐH›:¡~s~&êø*¾¾(ñRü&}–Ìü›tþƒfþ¯Éoâ§™³Î¿¬àëw4¹ò:é¿¢â?„¯Ë$gÕ,§ÏÏYO¯$-§£`¶ÜÇÔøÃzüq5Þ7 :¡êé”—š¾)(ÿºÜaúåtïŽë5þÆ ú¡Ó×ù˜Úß½`,Wþ} ô”ßûÍü|åzŒõ}²^ßPéG} ‰¥?¤û ˜ëßC`.Ç‡Õø;õøG”øL«©t»¤ëM¯Aý°ø ü> ÉÚûÛTügLøLþX‹a!ç¯ÝŸ¬ëCéMíáqC¾ÙûokõJ›”Ë~+ÓfÊ_”ý@yž0Ècêï9®)ÿoWâ­ˆÅrs>£ìBÜË÷¤*_¬Ë…t::žÅ.µc%ïRïÜó˜ à]Fdù.t-ÿC®ç®‰âÙõÜÕ$Ò99ä<9 Ÿ!oáõ€Óáïyˆü'€ráÐR)n‰q޼‡ã×ó¬&Õ#÷b¦–„ò´ÔQ~1Ódñì^rÔK.¯>µÕW.÷’£Vñì^rÔ!žÝKŽÚA¹ É=c;ÔK¦‹x÷’£N!—{ÉѹÀ/?ò.9’—%Ñ%Iî%Gòò¤™ó’#y[Ò,ðnSÒj—eÁ»H Ë„ î¥Gs!Ù¥Gó˜dY5jeÅ~5_z4¼K™øóÁ»üˆŸ_ÞeH®­ À÷ƒw‰†9ð.%²hL‹ÏË Ù™üeP¿:›¤ ד/Ò[ Þ%L}˜Âç• õ±ò 飞|‘Þ ‘îIÿ’xz8C7 yz¨'_‹Æ Hwx7 %‘ç²QÕƒWëÉé] ÞÍJdÚåœ F°¹I»yLè~p“w)¢’äï©:æÏ ÿÞ$ò£\«æcuó‘änŸzòEzW€w•?g1‹úaÏ‹Mz5Ð1ÞŸåŽ!L¶]Êäܺ:*Ðí°OÛ?ð. ²h'>¯ïÒ ¤;jüoïÒ ·€wé †ò‚™M ^,³¼ U0¼¼ g,vÛ!¿`e2˜/?šIe2Ÿ•G#ÑÙ%ž/Aª÷—çZ.;Ú-ž_v´ÆþeGµècO"}xéž³@’îähºÃâv$êéZ ÷R¸ŸÂ}žørŽÏøE=F}|‰ã׳Ã8@áõLŽZ.A»ÂÛ¿ñ‹}˜ñ‘•w61áÆçF¡¤¼2'i 7‰ç»xú6Pg¡‡(]+Ñ” ‘25€êDZÊv3+@‹vàû[ YÁßõoxmþkö½]Ãßq-úÊ;Z¦@òÉ{+o£ðvˆ¿3Câ×2ô¸Õ‘Kì°Àç·Rx…8¤‹j½q†Ÿm§cГÖ`¶^— ·ÓkÕ?ïyD¯“èàzÔP/MÑév ºW‰–ì­Äû—y}k%ýÊ_XkÒZþ†Uûcï Ñ&Ø2ZmªKÞµ kz`ìkêÑSö‚¿§l‡àž{@S; êíïí¼6Ri×ôÌ1ÛËYÜSŒÚàÔñ%Kã0…}¡p@àM”xýŠ÷î—´’óì]í_†8­ÍK_†úµ¶Z¬DEÈÿt<+áÉÍ­ßXµ혰h‡Ê}'…Câý$ù¾Já1 O0}4Úcv’>õÞQêô.ñÜtšñylŠÎcâ|&)·P¿rCzÇ)¼‡Â»)Èà!<Ì`Á# ¤<2õY>KÜ·1¨µÌ¥,ÇÝlÐà)œbð´ÞÁà]!ðnï‰ ïÖà÷à}ÂGx?ƒàYÏÅ„g5øC>Ä`6Á‡ >¢Œÿ(i¯åó1ýÒÇ|Œ@>ÿ1ƒOÆ„?e°ˆà³ ¤Lòùs ¾/|žÁgð:ã/ȸW¼j€×|%&ü9ƒo|+!|#|‡à» ¾—þ†€§Eƒç ~ÀàE‚¿%ø»ð· ~bÃO $íŸÕz½?¥Á¯C`‚Í ÇI\@.íæÜƾ¾]òûð[&Î ì¸w&ì©àŒ"•MÝÝÅ]ùj¹xÜà§„!1g R"àwVÒÈE¬™|=ò'E¬‹»/ñ@á¸tN^VuÍHêV&¾©[™Ô­Ì­º•Y©[™„Ô­LêV&u+TAêV&u+“º•ÁòzR·2²Î¡nž'ö>u+âÛ:¨ñ©[?u+Cñ©['>u+Á¿ÓÌ?u+#âS·2į¼eªÔ­Œ±ïKÝÊþ0Ö±Ô­L_‡xûÅ‚äZ’P90–CêVF‹_©Ê›º• æk¬ÇHçrCþ ùLÝÊòg²Ïk ò@êVFâ§ne !§·Ìíè*0öo©[¨¿Óã1_;U>©[Ÿº•ôR·2©[™Ô­L¼.6æ*xP¥›º•IÝÊ@m--u+c\”HÝʈçÔ­Œ\OÝÊý{ÁX®©[¢û ˜ëßC`.Ç‡ÕøÔ­ŒxNÝÊ0ýå+u+£Ê÷¤*_êVFH˜º•Ñäi©£<©[™Ô­L£VVì—º•IÝÊŒŠ>êÉé­éR·2Dw…—%”ç²QÕCêV¦–üäOÝÊÄà‹ô® 0u+SƒÝ;u+ãèo6É6¢ï†ß%žS·20ú7 ×¢=‰ô‘º•IÝʤneœ_+¤neè7&{»†—º•áÏ¿–¡Ç­Ž\©[I·[ÐMÝÊŒR›ªÅ’÷@mÚûÚzô”½àï)Û!¸§Ã0u+ã7¶§.¤ne¤•¨ùS·2£ðÓG¤neR·2µ—OêV&u+“º•!¡÷Ô­Œ¢ßÔ­LêVfDø¦ne4€_{Ýd€É Z!u+³R·2ë °Á¦Ø ©[„íº•‘P‚ԭ̺•AØ ÁS8©[ ÏÅ„g!u+ó…x R·2ß…Ô­ ‡S0ªne" Ç»ú†º ø¥r*ˆù§aöÒ*“ Á»iù!ßÏŸ”ÏãÅóŸÈg,£v/ƒ7Áû,L’ÐÁ›¤›8Ÿš¡~Ÿž8È—xô§èy—_êÖ@Ǹ šë*Œ¶ÌûjÊ»iÙFï>Æ3Ë2“4K4-à}â“ Óò%˜ö˜BЯUƒvuÖŸŽëkL8û¯âÃÌ'L»Kl)ô8ÔJéh"M¤£‰t4‘Ž&ÒÑĘM|×4š˜ÐWê-våûêÓݦž6‡1šH=m¦ž6!õ´‰t6@êis&¤ž6ÃxõCêiSâÈ:yRO›/’n0=~š ²7‹ õ´)Ód¶mvêiRO› ©§M¤=RO›ôœzڌȟº—zÚœ Æú—zÚ ÏÄoŠ™_êi“èh_RO›!ü/0òO=mÒúZêi3õ´©Èkâ÷0׃ÔÓ¦ ¿4BOË”øÔÓf¼ˆ‰ŠŸzÚ4Ð7•ïù[mÌ_êiSƯ‹¡§ ½¬WåH=mjñ[ÔøÔÓ&ÑÛaÖsêi3 óµSå“zÚñ©§MA/õ´™zÚ45.Ý­¬«» Œ]mêiS‹ïVãSO›ézÁÜ"A²W¬I§©§M?S'ÔoÎOêiSÃ/+ø©§MLO=m2õÆú—z ÏÄoŠ™_ê-„èœc–3õBô.0òO½…¤ÞB‚åK"ç|0ÖñÔ[ˆ¿Œõ$õÌ?õ"ðSo!ú¦ò½""©·¿VÕCê-$„ÿ¦„ü7Gèu‹Ÿz !z;ÌzN½…Äc¾vª|Ro!">õ"è¥ÞBRo!©·x]lÌUð J7õ’z ÚZZê-ĸ(‘z Ï©·-þ¸Ÿz !ú÷‚±\So!D÷A0׿‡À\Ž«ñ©·ñœz aú ÊWê-D•ïIU¾Ô[ˆ0õ¢ÉÓRGyRo!©·F­¬Ø/õ’z }Ô“/Ò[!Ò¥ÞBˆî* /K(Ïe£ª‡Ô[H-ù3ÈŸz ‰Áé]Aaê-¤ºvê-ÄÑßl’m&D_ù½K<§ÞB`ô/ˆ­E{é#õ’z I½…8¿VH½…ÐoL4öv /õŸ%~-C[¹Ro!’n· ›z ¥6U‹%ïÚ†5=0ö‡5õè){ÁßS¶CpO‡=`ê-$ÆolN]H½…H+Qò§ÞB(ÏFv^°¬Ï±÷ûO~†òkm÷'Þ{+I* 3œB†ßºï3OkéþÓK#/\¾V¦ùm0í}Þÿ™E:Ÿd¼Dº`žzz7TV€Ñ“e+¿é—¥¾2|ÙpCZæc¶Ì-*Ó7IgoR™'Yµ² þ_C[5: Æ™!i¯ÉmüSï9©0p´X. ôªc©còõŸcUг²m¦–°Ô}ØCbK›Îj%Æñ´‘â'P<~CGQ:éü†Þ ª»­Nú¡•ø_ÂÒÙYtvåàæVŠ?LïÖ’<¸¶Ñb~/qúèÝ:&ód’·…ñn 7¼³Ã£½…ho#š[I¦íD¿`¾D¸;÷•N(¥Ã<¤½“ÑÞMø{)¼–Â} êÅ~¢³‡è¼®Ã.ǹ§q…×SxƒFãx£É·‚:š<Ÿô:ƒdƯ’7“þx=nÒðnñ%’ãGôy;ÄrÆ/²^æIwݶª§2·@¸€7Jïµ-!^/É8ÒÚ:±.%þEâƒeÚb×4Ö³>âÛoã^Búú€ufÂ;‰g‰d@]V(¬R8ªËr€ÒNéãˆ/“RÇI.ÛZ{H®{ˆÇ}Þ¢Ý#¿{‰Ï^PíÑIÊÔæ! çÂy”p{zŒp'œ·‘œOؼîÛ ÷)Ây’d;ª“5q—øz7Œ‹Ï ™6cIì„Ì<ƒC3˜ÄNµÌ3˜ÌŸ6ƒ¹I×f(%“üöïâ ™„ý»?Jnm&㻳O›‰èw+Î âkªM õ¤:eËÌÕãU§l‘z2ÞehÒÓd£ÜPÕåjQñ?¨á‡ìhUõ$G«AŽp=øÖ‹BêK5lFÚfÌfžžÿv£<¾r9'*ßFþ0Mç?%ÿiQü§šùûÎh+8Ó“ò›¦¦×W(ô; Ÿ©¾ö7ݘŒÏ¡Æ9*þm¦r—r™òu.˜íÍ 5þˆI>üµƒ7e™–ïª6º‹½Û†ºÄüÆ'ˆIA&osl©aJ`:04(ÕK]f¹€}¥{A„‚gCÁÓ» =ù¡¾êð4|¡Aàuõˆ? LUPmú£ fÍü}‹§Eht¶ï»ÖvŽoå‚òk’w®Jÿ]qÒÑ™§Ò¹W—s¾ŸYhÒk€¾ŽS|Õ$O\ rAxK¨™ßBˆÕ…ÞÔâØóÔ`}¨CSÎwQ}øv†”á0¾É|íÉϦ^übƒ|u¢~ÊTÿMvd ‹ÇçœQ¾!ЧBä¹6LKÁd7ü>ç–å1×§Zô±Ìå¼B÷ùT\©ÆïÑøÜ¿þÿÅ•qUB^j_ª¦RÓa‡öüQS5ÔUßpþ2•o¬\qCÎçr0—á`n«ªÿ½z·ÕÌ[¢ú*Õo_æâ(½®Qåz„ÇgÀr?Tþg¿Fðå+,¿º-Чc!¶Üœ_Óû —"AúZ«êk±&—v_¥Ð× Ð Âëžœ+Óç-…¸ô׃¹¢nPãèñ!Q…üU˜1âù˜Ø> Ež›žñîE‹·Ø½ægrߎÅîP!:î}à ±äòÒ7ÔW®C’nÔ¯Àâk±X›²hÍC~5Ö¿[´æƒÏÍù :EtÏ:û%>EÛê×ò–XzõòÕR_½V%ÝÉ Ö«VñœðÎQ±”ñv(m¾]“«1wœ.5p0ÞFêQãù¦›B¬/às…S„¦É÷ îDèÏ®N¦Šg÷æ•iŠï’b2Ïô}èˆ|ž¯Œçsüz•±®óÐu d|.…âšÌµð3šgYwö¨øðtn‘¦³hýå8?–â¼9¿ŽŠKR`£Ë×k´õä‹ôf&Ì÷Ì:òo‡¸ëCÈù gQx¡“R¬‡àóœxšlâøõÔäl /éß%ùÌM(×Ü:ÊÅ7eeÅó½òy“+ÉåKóEpÖw’´ÔùuÌ—¤3RW´ò3‰ëïLX€zòµh é.HXž F5ÿž]¾žÞëÉé©ëˆm]×7šªö ¾éÄÔÓFzÁëEaôP¾EFz>ù:µþ&_gBù"艵 ”SºdY,ø|J¾rÑ‚á2 — üýׯZÁ¿>…q+(\.Ò<)ÓàzR;„î|Ó£ZpÏܾB϶b¡ÏA@¸F•dúw Œjý?t†øVG’ïPû»,¨}]ñ¾L<;ëuR† $CÈ/±XEá®vÒ‰µ#|¾\<_,Ÿ¯L¨¿+G°Ü1ZRg¸&7• Alùt¦¾AÇ[˜üH·Ae(~ñÁéþZùðm'Ûƒ|Ûa,C< s=Ï¢ôriFÚboIE¤“eТ•A†Á8Ú/ññ¨z-aX´ü‡ùY ~£æ®+&©”kNgº.@0}]2‰|ëê,߆þAkOëXpº>øú&òZïÄy·^mŠ¥#¯#ÚTGën¢“ ñ ôø'ñÝüÔDÙᣌ ¦†À4‚ ÂnµB8Á ‚ .Œ€ \D0‡Á\ðöJXh~{Õ"‚ÅÌ&XÂ@Þb%Ÿ—2X«ÈüÝbÅá«ÀºØÈ`Á&2Ÿòy3ý ò~{ÕÕ!Àqv1Ø“x>¤n$½Üä k7ÜÂàFMò–©;ð›«ò²dgÐÍ@ÊP`в.õ28D iÖ༑ªŸA)Ê à§òÈ©¤>N08Î ìÖ©0Ðoªz <ÞO0x2žÐ€Ýä7Œ3ߙͦ3ßK}ÝcîD–ïèØ˜”rŒ³>{¢Ïíqn ë öñòÖs\´É ¿`2ŽþÇ1öÝ8Æio6ÔsÎEDÓY®1Æ@¼sˆ/.œâx‚;œ6F éb?<•hÍ&Ú ˆïtÊÏ8ðnÏ”gÒðSÍzðnËœÏò‰roõl¦Å±Ž®& |‡éòºÉŸo"|¨çË0~.¥—ãŒy„³€åoËÔÕ[ïb&ÒE;c‰;Á;ouüçÊ8þ2g^: '·Ë)Ý2J·‚ɳŠô})“绌ð0þ z·šñ\Múà íûIkIkÃ_ÇÊ ûå(Í&†‹åôÇ žÏÙþ³dØ7àÁWXëˆþ ’'Æ_&m'yv«Á_o¯fyßIx»ÿ=à3Cþ{ gËÛ>–7£¦7odÜÊãüøÎ…î¥/Þ—~œš>òÜ›v.,ñ¹·F#?ëó:?íüWâsoÚù0=?Õù©ç¿¬/èñêy/ß9¦ÏkôV¶íÀFi¹ý+i”fÌ‹v–ÌWï´3`7å5ˆn „×!ŒoUuòB΃趱¬ÿLçÓ®âë)~ª=;rËõ “f9|·ÅLQñß3ÕÌï%_§‚oÍ ’ÏÄO;‹¥ó{Yç7]Á·¾$Ÿ‰ŸvæJç÷ŠÎO=SeÍ7é_Êkâ¯ÁÒù¿ªóWL™ù#¾zôI=0&_œÚQ']Î/ë|gªøÓõø !‘íy=®œ³Ìr¾¦Ë‘M&ÇW£Êó"#á ãÏ“PåÅ_;ð ´¹Ï$Ð0Ú¹`4´ß 3´Ú 'cFuÁ'ô+•â@o„èóUú¹ÌêYQ7Y_ÑãÕMÖ5Am-LÓÊtØÈý;Ç× éeþjP>MzRùø¿®ó×éãžÈ:¾ÄÌïk:¿œ‚oÍ ’ÏÄo)˜«ð20Ua!OÝåjº›uº+Ôø¦*}ÃÐ:íÎæË½Cx'a¶ZÊzkA 9^F÷¯$ÿ¢ýC•jöPþh!›§7ÝîbÏ•Ü'¼&ÒJU¤»cªòùÞ9+qÜ_˜ÊWE¨ü5þˆ©ÊËá‘ÎÇÔ¤.௺QWÏö¨C_¿|µ aÕóA¡§—‡Í;ISÑÎ$EžùRÏY®Ç«g†¬¯G”sà”É$ïZ0—ó:HRÏ‚{+S=[ŸP_ê¨Nw#˜MÑ&ˆoŠº}¦È±6…ãÕÂ@w¶P¬*”³öÏ•Ä3=ô8ÝöÐ";˜/W¯D3”­–‡ Ü=²&ßf9»G[À\¶ªñ¾ó˜ÛÔøAÓ/þZÁ›²AŽ©îmcÝóM=®Rñ?¤ÇïPão0ÕŰ¼éñH÷j³œ¾6rŠÿ¼†ÿ‚I·&9v*t‡}¤ÌÝˈ8­à_¢’{”¼½IÞv}:³rwÏîñ0\úIr_,žÝã„9ˆU×^çøu¬k_“tCöcß,ã—39åÅ·r¿.Ö´q3Á»TÊ5¼=Û+ô¢Á©M-GjVŠggˆ‘¤hVÖ±h$z©‘t›£éÖD_îô“C-‹†`;s‹ýW9þèmu÷ºzòEz«ÀÛBŽáeà[Àð ‡Nf Òô†!â¹–é]Æ;N¢ ´g}ãжhЇùá[ãu“!ÛŸÉd¬ô¾³ºõeMË-ÉÜzòévŠò®owuý®Uýz£ˆzòEzkÁ«_ø¼!¡6Œª¼zVO¾Ho=x»Ý‡ÓÅo‚ð.~´– jéï7Cmýýæ:–ÃÙÚß[´”úÀ%wšËbÜV ·ˆ¸É4WQ¸ƒÂí"þySýeòÇÅ6ùÊHðEzW úîiñäy‚ã×¹nZljNFƒ‚qà“ w°LÐÞ#4`ƒ–hg0…`*Á”˜Î@žAûp.ƒó48_‹?—¥å§AfÈçY . €9í=줈Ã9-"ñ—1øËAõ‡¾’< r)¨~Ð.gpxþÎ%ÈÓ!kÀïÿ\>¯g°Ž`¨'-6z*d£a'D®Ò`Áò‰|¾âù8ßÍ`oìg°àˆœnˆ ×ipkÜÁà­1Wr2ØEÐEPˆ‰wPƒC! O†HDÀƒÁ¨HüjLÐë Â1ÈS#ò$É] î!¸×÷„À}ϧ9ÂC’ï#!€q$=¢øšØÛ×_(ï*u›N‚¸8cÖƒPÃÆÝ79é|FèHgw¡\ Þ9á# ¶Ÿz”ùc„ûé ='a½|’dz¼ù÷‹¤Lÿ2Û›E,ïOQÞm;—ùx¶SÇ{ü§ýÞIr=Cr¼‹hÙº±~£ÉþÞÙßC²òöÏëŽìO¸\—0¹ÞÁõé÷ÊþeÿA’Ù¶Ùi ¤Ì"ósBæÌ&³œË?ÏÊÓb}ý0{ýpìqæÇ,ÛïGíwØq{ýQ¢÷1ð÷K·ñWþÇÿã„ÿ+ŸOP>þ„ÂOQ>>Mùø$¥ù 㱈x|Öæ±K“鳄ÿ"øíôŸQøE¢ýmû0´#Ÿ·éuäw Å „=þ<•ƒÝoe>jÿô"+¯WI†/äó«¾®åó+”ækàÕ¯¯SÚoRš¿ ð/)ü+ ß ß"°O˜«Á<¢Œß¦¼}‡òô];OŸµŸùk ¿þ~æ{LÏXϰœ:èÿOƒz‚÷yâñ;î ¦/no~ž½ù{ÆïG lÏ)´=H{*xõùþˆÑB:?§ð=|÷KÊÇÏÀµKŒ'»”ù%¨}ý¯(Ý?Pº_Þ¿hyu¾á‚+˜¶˜·nùN‹X`ÚB}Z(æmx `Üf§œ’ïMùgÌ߈ŸøóåO;áçsO£àë×ãÕ{0`Ê-ï¦ yƒäÖNúùNÅ©§ñ¬¥f¾f œ®vŠ/ò„d‹ŠŸø„d«™Ÿï´Z›šïħÕÚÍü|§Õ:T~‰O«M1óómªòöiµN3ßi5õ4_ôiµéÞ~Âä ’3âTŸï´šzªÏZM;¥W·Ójêi¾èÓjÚi¾aŸV3ŸêóŸV›©â×ÿ´Ú…`6°³ÔøØ§Õ² 2ª ó´ÚE¢ÏVãõ¾ïÕ ÑM}ß5>òtÜ\ß:N=ÐW¿ÓqóÁXÇ}§ãÔS|Ã?§žú‹>§æK|:N;ÝáÌA;§×“׃ê‰Ã¼oÈAr-I¨‡Ëáu½Éñ7éii„ž–)ñÖ©þ=AzA:ËÍù~ÂT¾œÎŠyWªòêNbË»*¼ˆ¯Å{ÆÔ¾ÀË}Sò—s ù +¯K#ò¯ÉÓóï»Öc¤£Ý uݧçS/Çv^¾Úq>_þÔ£u‘åÚ©Gîjõ*l-N’?“}Vøù¼ÔŽÓñתzðy±]COAzY¯ÊÑ5\û²Á˜/ÿØ|£Š¯Í½Ô1£Ô‹‰ÿ¦„ü7Gèu‹¯÷Ï/‡éU;ú曓nSãûMtÃBNO;ÖækGÚ16½ ̇©þjÇÞ"û5õ8›oNâ›\cÆy8õt´ìœùRÓùœîRãGNwvåpËçP¥-9ßÏùÆÏlq ;P8¶pÑê¬÷Nž‘›L«‡òU«É±[•Ãx´”§ÛcLº–0¬#©IC.ï^0·›kÁØn¨šÚÍ>0¶ßZÉ~º‰PþDäï:%>3>Hž º×ƒ¹ßñëñŒî¡Á¾bW¾ZèÎVúìʉ»¢+«ýçoTˆZ;t¦7©LïÒão£Qñ)ÿU9&åø ÁZ+ãyf3‹³ØÉo‹¸’uu·±«õåþv0V½×̹÷èÜæ*øV%ÞÚ·‹Íƒ¹ TénÓã»Ôøíz|·•_PùÇêÂÚÀ¼âÀÑ|_±Û©úÎÉ>§!0s®5ÀN âR¨ÒeÄ7Û<]/˜[ä!HÖâŠ5ét¤[Úa0µ´Œæ¿=Ø7.§wD¥¹ˆÔ§jQ„iS'ÔoÎÏD@Å×%^ ’ߤϒ™“ÎÐÌÿµ ùMüï4óoÖù—|ý*%W^'âWTü§ƒðuù‚䬚圤Ë9dÖÓ+IËé(˜-÷15þ°\÷M‚N¨z:¥Çߥ¦o Ê¿.w˜~9Ý»#äºG¿1¨~èôu>¦öw/ËÕ‡_=å÷~3?_¹žc}Ÿ¬×÷TúQHbéé>æú÷˜Ëña5þN=þ%>Ój*Ý.ézÓëEP,>(¿B²öþ6ÿ>“?Ö"dXÈùk×ëúPúES{xÜoöþÛZ½Ò&å²ßÊ´™òe?Pž' ò˜ú{ÎG§kÊÿÛ•x+b±ÜœÏ(»7äò=©Êë ŽŽg±»gÄXÉ»;Ä;÷exwY¾û]ËP¿|ž(žäs“Hçläçä80|†¼„×N‡¿ç!òŸÊ½@K¥\¸!$É}Et°n,©¹÷'µ$”§¥Žòðû“&‹g÷.¢¶Xryõ©­¾r¹wµŠg÷.¢ñìÞEÔÊEîÁØ) ÞU4]Ä»wu ¹Ü»ˆÎ~G‘w‘¼Óˆî2rï"’wÍ„˜wÉKfw鑞P»‹( Þ}G^$dpï&š Éî&šÇt ˪Q++ö«ùn¢9àÝÄ/.˜ÞEü@ûBðî,rm¾—¾]ßÞ]D.tNI:Ë ÙAúeP¿:›¤ ד/Ò[ Þ]I}˜Âç• õ±ò 飞|‘Þ ‘îIl_üã類|-ƒ"ÝUà]ü“DžËFU^=¬'_¤w)x Yi—s*<Áæ&íæ1¡ûÁM^@¤|ˆJ’¿§ê˜?ƒü{“Èr­N˜ÕuÌG’ yêÉé]ÞÅQvþœMÄl,è®…=/6éÕ@Çxé•;†0ØZHt“’[pëê¨@·Ã>mÿÀ»ÙÇ¢ø¼¼›~’îD¨e𿼛r0ÜÞM1Ê[a6zÌvðnAÁððn‰±Ø¥„üV”É`¾±h&•É|VDg—x¼¹¨Þ_žk¹¡h·xN|CÑnû7Õ¢=‰ôáu¤{Î}Hº“£é‹OØM¨§k)ÜKá~ ÷9xâË9>ãõõñ%Ž_Ïã…×39j¹¹ìoÿÆ/öaÆGVÞÙÄt„Ÿ…’vðÊœ¤1Ü$žïâéÛ@…¢t­DS*DÊÔ@ÊÔe»™ E»ðý-¬àoú7¼6ÿ5„û‰ÆÞ®á‰ï¸}å-S ùŒäe“·Qx;Äß™!ñkzÜêÈ%vXàó[)¼ƒBÒEµÞ8C‡ƒ‚϶Ó1èIk0Û@¯KÐÛÎ鵂êF÷<¢×Itp=j¨—¦èt»Ý«DKöÖ‹ âý˼¾µ’~å/¬5i- êý±w†è ì­6U‹%ïÚ†5=0ö‡5õè){ÁßS¶CpO‡= ©õv‡€÷v^)‚¿´kz濘íå,î)Fmpê‚ø‰¥q˜Â> P8 ð&J¼~ Å{÷KZÉyönà/CœÖæ¥/CýZ[-V¢"ä:ž•ðäæÖo¬Z ‹vLX´Ã従Â!ñ~’|_¥ð…'˜>š@í1;IŸzï(uz—xn:ÍxÈ<6Eç1q>“”Û ¨_¹!½ãÞCáÝ¥ð>Á²ä/…'ãÉí¦;YG¹u¾ ß ñ{ €_­åcÑŽ¤{¿às§|~XÄ·ÊçGêå‘Ô‹©2ß–3Ä·y$ø†í¬’|ÂvȽ·Fø}R¾ò'óó…Rˆ;¯bèݵËoƒ3S¿ëÉé=Jác>î¤;–ð«Õ)¨ëN&ú¸ îdŠ‘w¼sªŽù·HNCþöÖ#Íæã ß+ÿÞ•ço¯cþ“è}”ùN ¾üªù'êýÉ:ÊAt2ÿJt20ŽA£&0h2Àd­í5@+ƒNð¼ÈI8Ç34\„óCàBÙ˜Ñ×ËË+Ô$ÈêBó ä3¿v^â_Ì@â/&ïs –,õzy„• V\ þkæ/cp9|^Íà ð®Ÿ_þëæ×¬Ñ`½60Ø[5XB°Áù̯ßa€¸WÑï"ØM°‡ÁÕ{H|ù|-Á öGÀõ ¶Ü@ ßß·2¸=$i»" ‡”µ— O¦ï‹€Ék O¦ *y ½|æ×Ðß]ÜË@¶óû îƒxWÓ?@ qdðf°‚àRžGÈú,Ÿ%îÛÔZæR–Çc‚n6hð”N1xÚï`ð®x7ƒ÷Ä„wkð{ð>á#¼ŸÁ ð,ƒçb³ü¡ b0›àÃÑ@Æ”´×òùÈ~éã >F Ÿÿ˜Á'cŸ2XDðYR&ùü9_ˆ€—>Ïà3xñ—dÜ+ ^5Àk ¾þœÁ7¾•¾‘¾Cð]ßKCÀÓ¿¢Áó?`ð"Áßü]ø[?±á§’öÏj½ÞŸÒà×!0Aƒf†åB¤©·¯[¾¿ØwÂàC„!Y'"“ G÷zÈ]æðÔ#RБq&Ò.܇lqÝðÆ–)–#´pö¬ÐÂQˆþ•g Øóc-šÞÌP^Љ8 gá4Îhð\Ñ¢ÛBñ­ßIÿK‡ f3H{ Ñî$ÚSYZ”e1¨/cÜ\ð†Ìgïg0~ø?ÎLΧxÄÇYöFømG·YÂ[Gx2/zqüBâ‰ïæÑ;ü"²€xÍï‹ÈBð;YDú‘3¹Ÿ€z™:ÎhpTt+ŦwH'Çò¾Œò±‚Ò®¤ü/'½bCúŽ–ÿ¥½”òù¾œå›Ó¿‚è_Iá ןղ¬'Y6Î:’e#ˆ É¥~0Ÿ8£û°–ÏM Ï2y´·ímDs+É´hãÌî%ÂÝA¸×®tÎ! íŒönÂßKáµîQ/ö=Dç p/2w.ç4®£ðz oÐhoåç­à­¡NÎ'½Î ™q¶v3é×ã& ï634ŽwÑçíËgf²^æIwݶª§2·@¸€ç€§Ô¶„x½$ãtJkëĺ”ø‰–i;ˆ¯ÉXÏúˆo¿{ éëÖ™A ï$ž%ðœV(¬R8ªcr€ÒNé¿þÝÅôqœä²m¡µ‡äº‡xÜG!ÎÈæ¿{‰Ï^PíÑIÊÔæ! çÂy”p{zŒp'œ·‘œOؼîÛ ÷)Ây’d;êåó⌟˜Õ°// /Ÿ÷_În©ø‰/gϘùÒù5¨ø‰/&~™9:¿ñ*þMz|£_2Éoÿ.æò±÷÷GÉ=Aåã»Ë`¢¯ß91'ˆ¯©4%Ô“zY}f®¯^V©'ã&=M6Ê U]®ÿƒ~È—>UŸAr´ä׃þ… BêK5è=òm3æ?3OÏ»Q_¹œ•ï#˜¦óŸ’Œÿ´(þSÍü}ñvªøÓ“ò›¦¦×ïbÒïzx"¤øÚßtc>2¾‹FÏQño3•»”Ë”¯sÁlof¨ñGLò᯼)Ë´|Wµx´°©8Ð]èÝ64Ð%æ7>AL 2ÝÂï½·¦ ¦óCƒRoïÏ,0°/ã¡t/ˆPðÌa(xz·ð@9< _hÐ0h]=âÏST›>Ĩ‚Y3ßu6Eht¶ï»îgŽoå‚òk’w®Jÿ]qÒÑ™§Ò¹W—s¾ŸYhÒk€¾ŽS|Õ$O\ rAxK¨™ßBˆÕ…ÞÔâØóÔ`}¨CSÎwQ}øv†”á0¾É|déñ‹ òÕaˆú)Sý7Ù‘%,ŸsF=ú†@Ÿ ‘çÚ0=.“ÝðßÅ¿Ì(¹>Õ¢å`.çj¼Ï×ÄJ5~ˆ~Äõ2ëÿ'ð_\W%Ôá% –ñ¥jú'5vhÏ5µQC]õ ç/SùÆò…7ä|.s^涪ú%¨w[ͼ%ª¯Rýd.ŽÒëU®Gx|¬J~ÿÀ¯|ù ˯n ôéXˆ-7ç×ô>èªÕ }­UõµX“K»Þ Rèë Pháu OΕéóÇ–B\úëÁ\Q7¨ñGôø¨Bþ*Ìñ|Lì "ÏM Ïx÷Å…ÅËoŠÿí³ ®wÖ¸gˈŽ{OZC,¹¼ô õ•뤛¡°‘Âñ"ÞY›²hÍãMðNxL¤p‚ˆŸ+ã›òtº èþ9öK¼»¸IÐÿ ”£%–^½|µÔW¯UIw2¨õªU<'¼‹E¬eÜ]¿j›o×äj̧KV Œ·´xÂx¾é¦ë øÜFᡃiò}‡xvï¤ëÏ®N¦Šg÷DÚ4 ÅwI1™Àgú>tD>Ë]že<Ÿã׫Œu‡®k cy Ÿ8>•Y¢~Fó¸ãΞžÎ-ÒÀt­_ çÇRœW ç×QqI ltùz¶ž|‘ÞÌ„ùžYGþíw}9_@á, /tRŠõ|žO“M¿žšœMáE"ý»$Ÿ¹ åš[G¹,jqH7+žï•Ïó˜\I¥Î5ÂYßIÒRç×1_’ÎH]7äg×ß™°õäkÑ:Ò]°<Œjþ= 4º|=½×“/ÒS×3Úº®o4UíA}Ó‰©§ô‚׋Âè¡|‹Œô|òuj=ü!M¾Î„òEÐk(§¼ªv±àó)ù>èêZ —Q¸Tàï—ø¸~Õ þõ)Œ[Aár‘æI™דÚ!tç›Õ‚{æöz¶ }ÒÀ5ª$Ó¿K`Tëÿ¡3Ä·:’|'€ÚßeAíëˆ÷eâÙY¯“2L B~‰íÀ* ¯ pµ“N¬áóåâùbù|eBý]9‚嶈ђ:Ã5¹© b˧3õåÛ8Ý¿@+¾í$`{o;Œeˆ‡a®çY”^.ÍH[ì-©ˆt² Z´2È0Ç@û%Ýl]Ï Ëü¬¿QsדTʵ§3] ˜¾.™D¾uu–oCÿ µ§u,8]|}y­wâ¼ÓÀ›béÈëˆ6ÕQGDǺ›èdB`<ýdBÀ g-o¨'ÛÈeì`05ä‰Ý L'~Ïc0ƒà‚ #àÌa0¼ýŸ€Ÿê•§Œk0›` yºW>/e°<V1ù:ÝËá«ÀºØÈ@žŒÞÄ@æS>of Ÿì“ OòS½W‡ÇÙÅ`OBàùº=ôrG'Ïo$¸…Á šäéÛ;ð½yÙ2È3èf e(0è Y—z"´kp„@žÔígPŠ€r8FÀé£<ò¤®ÔÇ Ç„Æ ýï1àáð¶x‚Á“!ð„솃ăšß:i2³OÕYéɱôäXzr,=9–ž“xéɱôäÊ™žsãÓ“cžã|Ò“céÉ1ÿôä“Ë”¯ôä¤'ÇÒ“cz~MòÎUé§'džÉ/=9¦Æ§'Ç”÷éÉ1Ÿžc|Ó“c¿ô䘚.ô}zrLOOŽ¥'ÇÒ“cõÑkzr,=9–žKOŽ¥'ÇÒ“céɱô䘤›žKOŽIz(_zrLü0n¤'ÇÒ“céɱôä˜÷^†éɱôäXzrl˜:jIOŽ¥'Ç =9x>¤n$„ôäXzr, ÆØÉ1Å÷Ø”¡ïDS·3§2œ' Â>cÞÈ|üÇÊ6î¾i, 82ÇÉ:» åâÑž'Õ_q¸,9„XGÊÞÎð"ó¯<çÃ*…ŸopxƒÃì¦qxÑIï°Ë•{ÌðÙbdþ™ð&^3Ãk"z“½ªòm„?‰ðñÿú»\ü<5‡èLe4qˆr%“ óµ¼ce¸^{.Ë“Ì#æm=¨ÇAÎ#|9§:ŸÑ8³èù"ÂÉ‚zÜ iÌ”sáÍïˆÊ‹&‡hÊoïèQÐQ4‰Ýp¼cw˜ÿÅ”îbJ·„ɳ”è-gò,#¼„‡ñ«èÝ%Œ'þÃbzœQípÞ}˜Þ!þ ÿ—Gq¾û,¥YËpQ÷ÏzäGÖ«%LÆõDgƒ]dòÈØFÒÿfÊ;E°Îàpc‹÷9FåÞÂ…å­"Þ‘{ɲñ—õu;㿃ð®ój†·“ò¸‹t³›äÆáÈo>ʳ׆_2üÃôNòAÝü#¨õråùxG×0ïû‰Ïõ6ü“i5 ZÖ‹DãFJ{3…·›ˆ†­K×o#œ;(|+ˆú‹u?OénàÓMað»ˆ=<±3Y× L‹u{¥C½àPèá­3ðê§p€xÉcköÐÄÚÂëNðŽ”^N¼*1x%C$¯ÝMX¨Kø/‚ßNÿ…_$Ú_ѱC;òy›^7ñ@~×Pü—@ØãÏS9ØýVæS öO/²òz•dør@>¿JáëZ>¿Bi¾^ýú:¥ý&¥ù ÿ’¿¢ð ¢ñ-’û„¹Ìc!ÊømÊÛw(Oßµóô Pû™¿¦ðûàïg¾ÇôŒõ Ë©ƒþÿ4¨GfŸ'?°ãÞ`úâöæ‡àÙ›¿gü~Âöü˜ÒHÛƒ´§‚WŸ‘ï-¤ós ¡ÑÃw¿¤|ü \»”Áx²K™_‚Ú×ÿŠÒý¥û5áý‹–W¹m[¿Ox<ØúbÄ÷€Xû±yú ˜·¯6¨ñ;‚äÑéšò7Θ?ÿñgíxpâãÏùÓŽýúÎ,iÇ~ûõxíï€)?¶¼›‚ä ’[=î t¾êq_k©™¯y_>§k>Þk}^—£EÅO|\¼ÕÌï%_›šï™¦úįÝÌïe_‡ÊïKAò™øM1ó{Eç7Uå7?(º¼&þfþ¯êüÕã¶fþˆ?ÂÛO˜|ArjÇku9¿¬óÕŽÏN×ãµã³ú1ðÏkõôõ¸ršNÅÚt_ÓåPO·FÊñÕ¨òÔNµêöó{:ÿ™*þm&yñ×ü{(íO6 t!˜ ì,5þÆ ƒèfdT|B±R)ôFˆ~Q„è³Õx½ï{5iß7GײÿPÇŸ«à[_ÑãÕs¬Ö5&ù’È9Œuü«:¾vnU¯c¯å3L.¤g:—jÓ{]ç¯'ÕÇ‘m*Ù¹PÿyAí\¨^O^ª'#ð>3ɵ$¡r`,‡×õ&Äߤ§¥zZ¦Ä[§"ø÷éé,7çû Sùr:+"ä]©Ê«ïô-ïªò"þ%*þ3¦öÞXî›’¿œKÈ_Xy]‘õ,§žߨ5°#í¬fØyn=Ÿz9†´“ðòUÏ€úó§ž,ßЮH=ËYëU3Öâ$ù3Ùgí¬¨~uÉ8­ªßÕ&ëbè)H/ëU9º†k_6óå›oTñµ¹—:f”z1ñß”ÿæ½nQãõþùå0½nUåðÍI·©ñý&ºa!§·Ìíè*0öoù0Õßf=ûúµ« zš\cÆy8õt´ìœùÚ©ò¹YÏ÷.5þ„iˆ¼³+?0Pªf‡*…lÉù~ž-õd»pav^%[ÈŽ-\´:ë½ë.*YLS8^- tg«‡òU«É±[•ãî¸öd1]èZÂ=J¿xÜŸ©þ×ry÷‚¹Ý\ ÆvóJÒv³ŒíÆ·V²_ÅŸn┿ù»N‰ÏŒ’'ˆîõ`®Ç7@üz<£{h°¯Ø•¯º³•>»räû •Õv}ÕˆÞ¨µvèLoR™Þ¥Çß F£âSþ-ªrMÊñ‚µVÆóÌfg±ã5.Ý­¬«» Œ]­/÷·ƒ±ê½fνGç0WÁ·*ñÖÖ¸]lÌUð Jw›ߥÆo×ã»Õø«ôø‚Ê?Vֿ޿ûŠÝNÕÏö”Ê¢!0s®5ÀN âR¨ÒeÄ7Û<]/˜[ä!HÖâŠ5ét¤[Úa0µ´Œ~aà…)œÞ•^ä"RŸªE}h¤MP¿9?uü__”x)H~“>Kfþ¾KóÍü_ ’ßÄÿN3ÿfYÁ·æ„Èë¤CüŠŠÿt¾._œU³œ¾Ëý†Ìzz%i9³å>¦ÆÖã«ñ¾IÐ UO§ôø»ÔôMAù×åÓ/§{w„\÷¨ñú=ÁÆ{wã´¿{ÁX®>üûè!(¿÷›ùùÊõ$ëûd½¾? Òú@KH÷A0׿‡À\Ž«ñwêñ(ñ™VS9èvI×›^/‚ú`ñAù}’µ÷·©øÏ˜ð™ü±!ÃBÎÿ1/½_4µ‡Ç ùfï¿­Õ+mR.û­L›)Qöåy ©¿ç|tº¦ü¿]‰·"ËÍùŒ² qC.ß“ª|±îÓéèxmtñªŠÓÞAU1ÙÆgy˜7#Þ»—“ˆ»·]‹Ýý5N<÷Ëç‰ây@>‹;°ÄFyðWŽÃgHÁAx=àtø{"ÿ àÝ!fÑÆ|Æ !Iî8 ºÌò ñ¹PªGîk- åi©£<õo‚{7ØLùÜK.¯>µÕW®—$ÝVñü%ùÜ!ž_–ÏíÀïíã/|žêý]ÓEü«2¾SÈåÞ&¯Åš!ð¾,ߟÞ5Lƒñù<ð®Gj‡ }-AÄ ÛŒô„ìƒ<¢d!è¢!ñŸç²2jõ`ý ­¬Ó,«F­¬Ø/éÅ2?”rÍï‹lñy>xX´À‰Ï Á»Ðõø^^øtÁ‡EcZ|^±êìë¿^u6I®'_¤·øe%âÃ>¯L¨•gHõä‹ôVˆtÏHú1/\ù*Ç?z¨'_‹Æ Hwx—›$‘ç²QÕƒWëÉé] ÊÅ*írN…#ØÜ¤Ý<&t?¸É ””QIò÷TógoùQ®Õ 󱺎ùˆQ/¿7|‘ž¼ˆçJ‘¿„÷¡Z‹Mz5Ð1ÞzêŽ!L¶¼ËK’ܺ:*Ðí°OÛ?àˆø¼¼ËN’îD¨eð¿ÂÍn¡p…[Á»Ðë(ÜNáÕ^Cá¡—›e~v2}ËKFä ÜÙ$ÛLÒûL*“ù¬<‰Î.ñ|Bêšë»Þ_žk¹ùq·xv>U$©_»áì¹ù1‰>ö$҇בî9 ô!éNަ;,>ò¢ÙŽ-úX„zº–½î§pŸƒ'¾œã3~QQ_âøõì0Px=“£Ìv€×§ñ”þoÿÆ/öaÆGVÞÙÄt„Ÿ…’vðÊœ¤1Ü$žïâéÛ@…¢t­DS*DÊÔ@ÊÔe»™ E»ðý-¬àoú7¼6ÿ5„û‰ÆÞ®á‰ï¸}å-S ù4Ç瓸©ÞFáíg†Ä¯eèq«#—ØaÏo¥ð qHÕzã  >ÛNÇ '­Ál½.Ao;§×JôÎ#Üóˆ^'ÑÁõ¨ ^š¢Óít¯-Ù[/.ˆ÷/óúÖJú•¿°Ö¤µ(ü «öÇÞ¢'L°#d´ÚT-–¼jÖôÀØÖÔ£§ìOÙÁ=ö€¦vÔÛÞÛym¤þ6Ò®é™ÿb¶—³¸§µÁ© ÷úóÃöQx„Â7QâõS8(Þ»_ÒJγåzy)C¬kЛ8~½W[’X‰ŠÿéxV“›[¿±j%,Ú1aÑ”ûN ‡Ä{× @•Âcž`úhµÇì$}ê½£Ôé]â¹é4ã!óØÇÄùLRn' ~å†ôŽSx…wSx”ÂûÿÉ’ÿ½žŒ'·›îdåŽsƒïüj-‹v¼ ÝûŸ;åóÃ"¾U>?’P/Œ ^Lõh”ù¶œ!¾Í#Á7lg•ä¶C&è½5Âï“ò•?™Ÿ‡(|BÜyCï®]~œ™ú]O¾HïQ £ðq'ر„_­NA]w2ÑÇu'SŒü»ãSuÌ¿Erò··ùkÖð0OPøöXù÷nE{óŸDï£ÌwÒHðå·Ñ?™PïOÖQ¢“ùW¢“ €q  0A“&3hïVú¤ÐÊ “`ƒs 0CÃE8?.d 9 æ`9C]È`>¨7Û¿…Ä¿˜Ä—·šË÷9Ë–,c°’Á*‚K\þÛë/'ÏüVú+ð‹òk Ö¬Ñ`½60Ø[5XB°Áù|ƒ¸†ÁNì"ØM°‡¼/‰/Ÿ¯%Ø£Áþ¸žÁv‚äû›"àV·'€ƒ2mWô0²ö#@âÉô}Pb y ”#@âÉôC!Pe o´—Ïw1Ðo­÷2íü~‚ûœ4À÷Aàa+a åy”¬ÏòYâ¾A­e.ey<&èö`ƒOàƒ§ ðï w3xOLx·¿ï3@>Âû|ÐÏ2x.&<«ÁÚð!³ >Lð düGH{-Ÿÿˆì—>Îàcòù|2&ü)ƒEŸe e’ÏŸcð…x‰àó >C€×‰@ƽÂàU¼Æà+1áÏ|ƒà[ á à;ßeð½ð7<ý+æú÷˜Ëña5>õ2"žS/#L?AùJ½Œ¨ò=©Ê—z¦^F4yZê(Oêe$õ2Ò¨•û¥^FR/#£¢zòEz+DºÔËÑ]Eáe å¹lTõz©%ùS/#1ø"½+(L½ŒÔ @·ÃN½Œ8ú›M²Í„è«Âw‰çÔËŒþŲµècO"}¤^FR/#©—ç× ©—ú‰ÆÞ®á¥^Fø³Ä¯eèq«#WêeDÒítS/#£Ô¦j±ä=PÛ°¦Æþ°¦=e/ø{Êvîé°L½ŒÄøíÁ© ©—i%*BþÔË…Ç(<ÁôÑ©—‘ÔËHíå“zI½Œ¤^FDˆ;¯bè=õ2¢è7õ2’z¾©—à· 7`2ƒVH½Œ,„ÔËÈzl`°)¶Bêea;¤^F$” õ2ò¤^F6hð”NAêeDÂs1áYH½Œ|!^‚ÔËÈw!õ2Âáœy/#M݃¥]ùj¹xÜàX„!1WR"àw%ÒÈE¬™|=ò'E¬‡3‘ÌU§ %SW±S/ñÅH]¼¤.^n…ÔÅËH]¼ü#¤.^R/©‹— rx R/©‹—ÔÅ –׫ºx‘uuó<ñ°çÓ©‹ß¹AO]¼¨ø©‹ŠO]¼8ñ©‹—þfþ©‹Ÿºx!~íà-S¥.^Œ}_êâ…ð€±Ž¥.^ø:ŒÀÛ»$×’„zȱR/ZüJUÞÔÅK0_c=F:—òoÈgêâÅ?“}^cR/?uñb9½í`nGW±K]¼@ýíœùÚ©òI]¼ˆøÔÅ‹ —ºxI]¼¤.^âu±y0WÁƒ*ÝÔÅKêâjki©‹ã¢DêâE<§.^´øãj|êâ…èß ÆrM]¼ÝÁ\ÿs9>¬Æ§.^Äsêâ…é'(_©‹U¾'UùR/BÂÔÅ‹&OKåI]¼¤.^µ²b¿ÔÅKêâeTôQO¾Ho…H—ºx!º«(¼,¡<—ªR/µäÏ êâ%_¤w…©‹—èvØ©‹G³I¶™}Oû.ñœºxѿշ}ìI¤ÔÅKêâ%uñâüZ!uñB¿1ÑØÛ5¼ÔÅ –øµ =nuäJ]¼HºÝ‚nêâe”ÚT-–¼jÖôÀØÖÔ£§ìOÙÁ=ö€©‹—¿±=8u!uñ"­DEÈŸºx¡ð…'˜>š uñ’ºx©½|R/©‹—ÔÅ‹qçU ½§.^ý¦.^R/#Â7uñ Ñü ê&LfÐ ©‹—…ºxYo€ 6…ÀVH]¼ l‡ÔÅ‹„¤.^€ÔÅ Â ž2À)H]¼Hx.&< ©‹—/DÀKºxù.¤.^8œ‚Quñ‚þBœ¯9SAÌx³¯Vá±â†bõÐîÂñ*Äô\ñÿgïO ¬ºŽ»q´îš¡i …FD35`114ƒ@HL, Ý  [ênHB4`„ËvGR"O±"Yr,[1²äAއ$¶å$¶O±ì8ßå[oy}ÿ§|Ïk½o½ðnÝ]ûžÚûœSçœÛ·›vþÕk›}wªÚµÇ3ìúå>~’‘+ðVog–‚ûX—¼ à VàíÆTr~Îß•\ AdåËÈ=È3 ‚—VóI},&ï¤ëQ>ÞJ,$ýøB _ Œ";PÆr⻘\ˆÛý‰${7ÕùVÚ¾ÜH¿¨n^Dˬ‘~CQÃrîE~ÛoSΟwå'Eö Àè”ç^âú8ß —ïe_N•SñËݼ¹ÏEép»áµm‹¯¦#|e£Å·Ü^¯Äù Ú­Ã«~½h¾™ô$ÕB‡ãLßxì#ƒàÑPJ^²¿4ù—m~ÉÎæ±j!¾ Þƒà¥oÞ\ûª½yÓ¼n •{Ý€òÌÁ½Ì=¿BùaÜ~ë[AŽøÑ3÷Uœl[÷¥Twé1¿\ bdà óÈ>’Á+=KöZþÈ¥6†FÕ%å«ñh@@—6¶ µèÚÖÒu€ŒUb¹`ÈSlYPº<Œ‹5¬¥ý¾m-­kÌwÌ=öêo¨eacjÍþbmKkQZG{j›Rac­5½:÷„_ücoã; ;Šì þßb(áNà*’=šdבì1ìZ´e¸XX6 ¬öû¥Lþw*—S9òÛÊx0;•zâ[A|¶.ÀÅB™F:ñ·)ìÀ¦’®)즦Aãj:ùÇ>œü9¸ø øoôwQù~ú åÌbuŸCõ˜G×ΧúÏ%¿â@úWÿYtí"ª?ÖûjVo. É¿†Òe”.'=K#lYI¶4Ýõ­ƒ±aýƒõć”Ÿôê¹ìñÜ@öZ’½Žd^K6­'Ùø°òñn Þˆ×âMYl”½‘ÉÞLü[)½‘Òm`úÅv’³…ä|JØE .ãý”ÞDéÍžŒ¬æwA°º£O.'¿^J6ãüVòïÇÕßí`:r¾ËH>‡ØÎø°ÑöË&ò]sÁÕc˜ ÈÛB¼W@€)× îXB¾½dãXº¶à“Ü"ÒßFz°MkÁ| …ýìé=XàµwذÏÜC齤³ƒl@_vQÚMé!p±ª:#ì°óD”?Ž‚yiýq„ì*Ì…¹-d׃¤ã!Jñ!ãdÒwŒôlw>z„êð(]s‚øGðœ"žÇˆç$„ÇÓÄû$ñdO3Ìd嘟%ú1´Š|‰D×7¤y#ü¢hŽhÜŸÊñÇ\Ûyž[‚Ošï–oñ‰˜¶òÿKkれ>\n/r¯?ãùp”—ÿ´4F…¾ÚÎ/võ¦‚÷L›r=WƒÜ†K@«.ÔN¥Çjþ}Ik• Ñ“¿*ɯË\»Nñò<äžµúþO„¾*Õ+®¾þ\àߎÅÌår}¥ß£¢‡Gùk¹ë¯ž]^Äž®–­¼"ƒàá³:éõÇÚ–´òW‚ÜQÝò»ýòU©Cþ:n2âõÒ¿!E«éB Æ•çXSlä,–ç ¢aØJÇ¥IN)ôç€Tvר¬]û¬Ü<¸o¦Í[mól*GÏ<ìÛoûÆØ¾íÎÑ3ûf:Í쨪ì/óìj#ÿYkLjT~ ê5¢²~í¶r‡ƒÛ¯j œ7íæYP¾tÅóµž]U³ŽPÜ0Aƒø>§ó½ÒæùæGR:Úøà"ûû(“/…Y­3ù’Oè¬Ò!ë‹(5ï%ÍÍæéýÐÝ6o.$´qç¯Tû>}®Š/¡ÔœÎÏt?ïÈ•îž"]©I#¯ËÑó ´ãòTŽ äò :.Kƒõ­Þ`ÐVR/Ê—±Þã*¨¿Ò>BÍWP:žÒ+‹Wšç!˜Ÿ”Γ՜¿’žœHésý‡¬žÉíš\A»rì#¥z“?fóS˜]Yâ,4˜Q|¾“e¤6T°^VNoEcê3ŒûïB̕ԛ£ç`(wjÆöœÚ§õf ¾Õø½’zQžû1ï=× m‚Ƹ+hèvbÌyQ^ôó¢8yhßtQ^Ⱦ:o…ßçÙW—ѾyæÙÚi£¯Ï0z^±¿GEcÇt¥³ ÿvËϯj ü| ËæQ:×\sÆ^ƒÏ“j!öË7¿h~3·­¥u][Ë"ÊÀgTYnÿBŸöÿ}Howoê îzWîZ7€t/6ùâó:kÃ`²!æ/ó<°€Ò%”.-^gžaþj“¿Êæ¯Éè¿kz±Ý¦3YÖgøLn ÑóÉgñÖ—æI J‘Ïè¶«øTžÊ7¼Ý¿ÂkþÙIÄçA¡ÏarB9ôðy^Ž®·fì\ÂÈÑã?¬ÏrOj¥çŠY:åò{²˜®ˆ0Ì.™Å¾¶¯1BÔ³§Ul8ßüù&êZY, \¬Nå£`!Z]A‘œÜ$'Cü„„z"âÐ]èÔÒHFvÁGG1CòÈ\Áé2F—]Ate]ÁhÑ$F“!øþÓÒ4x  {pv†G‰f2²+l~6£¹ ´€‘­TÀ N -Í@+h£)D«ÙzÚüFþauKö°<Tq} qžMŒ¶d$^ëÛÉow$Lå¢ÛÝÂÈž8²%îdăT4Ùq¸›Q£fFÖ†F­dûÒ^Fûˆ¬¬ýÝMdƒOdÔ‘@è0—öØàÖGa`"Žü ÇSÐÉôxft&†N{Ä‚ö”}rÌ?æ€,ò@ô…8G’>J6`ÕæýÉÀÞ9BV×ÜÒÙv_ ž!罦}R‰CJuŒìƒPÜRäÑ÷yØ•ð• nip«ƒK3n)êè7\fíwe˜/l+òÿÁÁuä îu”7ŒÉAÝ|$ñ#~üÿ(ú?.³øJjÉÃdâ¶äfÖkGÉðí%¬N¶ŽX·•์øí}ÔåL†åOù ÄSî3”1‚caÖÎ)Ä×Á±´§aÜràô½ ‚ãFQÇÏ,?.½]µÃúϠ뮢ëf2{f“¼¹Ìž9Ä7ø°|ý¶éÄÿãV·gÁt;¼×ÞO¿!ÿÆÿ·Çñ÷9‚ X^ôýóàó±ýj&³q%Éi,4™=&¶Šü¿†êŽÛì3¸ÅX[àû"“ƒv¯Oc—)/Ú½ŽlYÏôÛþºžéß@|×GØy=ãÛHuÜD¾ÙLvãä·ŒíÙZ wÿ~úÍêAßü;¸ýrÕyÇÕ°îÛIÏMú=³e 5²r¯‘Œ[èÚ[)½dì$ÿäìýv⹓һÀô_ìûMtÝ zš)m!þ=¤§°%ÉÍ`¶.'x-öíItú·?wß A×AJÛI—=ªVØŽäÖÇ躂c¤W“®®ºî#‡ÈÞÂ2‘ÛAíy˜Ú¨›|s”ÚÏo8Þìüv¢ç·!ù˜yá8Ùô'“÷e~Ý ò]a[“{‘ÙŒ:O~û(»{¬ðÛ‡!èÏ;ÌoÅô¸ã§mþñž&¿á:ì—gȦ'!¸-|ƒ×Ûc¤~ݧ³º?Eu/Ìsù_A0wú|Oƒ;ç£]Dv=Cv|ˆd|“û­gûGclÿÙÊÇ?ï;v=áv-dv} ¢ûÓŸD´ýŸF´ý³dsaÎÎÛ¹ÀÚüg16?olÎf6&}/°vÇk±¿~Ì|ý)(ÎÇùŸ±r¿Ÿ.ü†kŸ¯?Mò>áué³þÄÿâÿ,ñ¿ÈÚç%ªÇç(}…êñ*ÕãeºæóLÇtÒñ…‚ŽMžM_ þ× ÕíT§w uz Üuæ(ýG¯3?d~Æ~†í4Šþÿ*¸Çd_ ?*”}ù‹Ï7?`¾ù¦ï§`枟Ñ5vîAÙc èϨ÷§LÊùWJåÉÃßÞ¥züJóRËi^Ê¿ îZÿkºîßèºßßÿôêj¿}Ź‚=³ÏxéË ïR}ƒÍ¯ÏƒüÉê·|C”=¾\©~Åú…<{G‚3y®J¨ŸwÔ7tNÉ;ê{Ð/÷Žî¶Kõ)Ø»:ÊÞ(»½ L;|½îßÜlY¯ü->—+é5Èõœ„ËŸùˆx¬ïœ¯o¤[ïqRŒÒW+ë{Ã×7ÊÕ÷•(û$}£e}oúúƸú¢êçÛ+鯓õ¿åëwØÊú‘,ÄŸ8û¢ìôŽÔúv~Õ×ë™ë—{Gfý£ß_òúéÛií”NÂä~Í·Ã=ÑšhÇ7’ÚÓ;ÉêÏŸ?ôõsùo—ìÅ¿Zàï@é›dÉ +Až`Ç»å·D%·>CE}Ãlëêjkß›`ú„Ó'ºåþÚ÷VÖµo’[î_ÿ‰Ï?ÙáÏ}Ý/wÏ®ænìËbgˆ}ü>¿wVÕïcoEÕ3Î.”'E…Q½Äï!õ÷‰c*ÛYÐðAï,¨ßOÞŽê'EE¼Z޲kfF?̱Þö‡L”~ÉO³ü4Ç)ÏMÐßå”3W®·ñqræ%Ø;ßµ×ÿº?µ½ 2Ø‹ü ]þg¤ñÁ^î;V¿½—°qíµ(¡þîùM¿þ¡½kd?F9Þù̸3Ü~=ývŒ'ñíëžû ×Ï=÷™Ø¾±K‘{~³ì­3²ÔOšŸ½ó¡~¸’>ÿrסp&+Rø)Ê/+];öôt~iëÞ›¯rù}tá¯FùEÒ¿:£þ5 ~]ë–ûëóq~½Öµ#tOºÎ-?(ÉK¹¼õ £ë@\ß"ë!õß ²ŸCëÚõ‚Ÿ£î nùßèI?í«yÎ/ÇzmtõÜê×{“[~TÚ"oÜÓÔÞÞÑ]¨«¥¾£øþœÃ'×·µ×··ž6}i}ð[sGKW=^Ór¤»¥½¹¾{_S·)õìØìÚñ@Úùd‹x]쳄uñ(ýIý¿Ü”Û»äqs#ˆãæÍ¬ãfˆã&ô¬d»Ë?VÒU¿ õ{¿SžeO”Ü›@îÇ7Cú~|ió¡{´íiêni6øáÅHÖÿÍ…ÞâÍmð•ît•Þï—ß â¤rþm®sª$ç„Á=û•50ÐaîtC€[· ²-u·ƒ¸Ô†jˆ]ïkrí9w‚ÜïrÊsצ]b›@î‚»]¹ëüò=nùz¿¼Ù-¿Î/oqõ§ZÂã†À”¶öûš´5»~}kG§l:÷†ƒ/`*ÐU’Ð!"Ê—­~Úæ×íyDîƒl#®­,ŸööHÛÒHËû1 #ƒ¤pyw»ò"p½èoB#'ii:(×gˆÏßîòû%ÎEÙ/ù³CÖ ”w¬ÿkQöKúï•õõõw:ü¹I1ö¯Cþ.—ÿé(~ß¾(;»e;CýÉ~z3k;ÝòÌ}Ø-!¼qËC7AG]?õËïw¯¯Žª¿owœ¹ÜìzÐ-÷c‹±vÓŒ¿c ¶kˆÿ¡ ~ˆªïò¾P»>bî÷÷ã®ü¤$©ü‡r¹ÿ¹Oºå÷úå§œr×þ¼äûÍïQë°ò¨ú>ÙÆûã.ÿ3?³?ÕCȸ”ëâÛÇ_¥ñð¤Poöû÷½~• °Û·?nþ@{N öHë=×ãË•êÿ§¼ÇÀäâ¼6åöqíK_Ì—ãóåèC—àpªy1N57Û˜·xóæ÷R@oËÈͱx_Mþ Í¤&sǃy÷Ê|ÈaûÚ}`üRô‡ ¼p9üwž¢þÁÄ Ëч˜ÇB²Ä5‹Š– (óYPêG¥8k#2Ú3¢‚öähÝxJñÀÆÙüÈTvýideí:gåÖ˜üWl~”É¿aóµÀcu™ýæGƒ³k¬)Ë–×»J±¿l(¬K ßWíïCz)Gû`Ì_AH¤Zˆù GoK1*‚‘!{!,õ\ȼàÆüdÖFUà¦?êµòOa>°mUåµûËLæ'Ö®IMÉÑ[Ì7@\$G81? ‚ ¥¹‚·A>¢‚zähO‹ù9ªÏ¾Íù+Õg³ŒáJêEy³(1/¦0??£?æ_ TR/Ê›g®{ÆÊOdåœÿBø¡’zs´E¹ h’ÅžÅ}ꇠVR/Ê[N0•Z{O…#ؽI­¼',½p³A“œQYê÷Të'Ø¿5‹ýh×ÒŒõXZÁz¤è—?ì ½(Ïß¹ÆÔ/+Úè ɯ‚1Òii!5Ør–di¸t`iÁ>_ø\Ä|I€ùe8Éú%B9›ÿFJ×Pº–Òu”^ AL¯£t=¥×Sz¥Œ_nµõÙÈüm‹Ø¸ɶqä÷qÔ& ¬=ªHÎ&“?j}Íý]é7ÏåD{ÜlòÅWYú×føÃ‰ö˜Å[2ù#XH·üøÃÊž,·Gzlp;Žsô²ýt#¥[)ÝNé¶"ŸysŽy|£ž¢?žãü•\0vPz³c(ÈóïOƒèú›!~ü‹oìã&Ûy'’Òñ?ùÜbœ´wæ,ƒa§Éßϯ î]è>º®†dZ‡X›3}Ûne ˜£¯ð÷Û [Ãß•x#=9üo@ ±¿~1Øk=>ó7Goyûj*°z†¦×“y¨ÞNéþË Ë_ÎÖcWÑ.ó…æï¢ôNJqK—4zÓlv=ëΧggƒ‰‚¼=FÞz.¯†ä]F¼—‘¼:’ƒÏ£¦‚4Å—Ûlä^gFrð¼¸Åüþïo5ä_û7š¼…=êý©¿ ñ/ÌðEH_©rfòV(o[Ó ý[S‰•r/„WÊZˆ^ép”ÆIÔj·øjŒ‘6‘ZÏÏü/åxù^)úlsZ¢|)äù~JPz7¥í†oˆå;Hé=æ÷Ò›´Žb>WBvé„T¡Ï«9¥Ÿ¶d™%ºŒýO§›%»ùì×_g‰}1‘£/ Ðî{)=d~/…þï¦ô0¥G™?ªÁ]1ëÈŸþêh}z¿ÉWŸg:l«“똹žYÚí(T®ÝPÞJ¤ôJï£ô!£¸ÕŒÒGÒÙ]ºî‘ Ú&jïñ}å¶O޾xA¹=÷ÚüIS^có§2úåT/úEêG}¬wÄÒ;´7ôÆ}YeõÄ}!õ{®—Ϫ×þÙúœ ôQJñË«~/ÍËÃ…éߕԋò£ô JŸ,^g¾X·Vg¡¢_2ÑË÷K¦õ/íwÎV°þ9²S¨ßÖJÔo¨Ç‡õ8MéRÕ?ˆ„þ Ö?‹ßûXï°ÞÐË#ПÉè÷3´ƒääGrò4Q•@ƒU 4œQ ‘è³R £:¢‹],Ð¥/Òå1t%£úšÄhŠ@SÙ;ÔiŒÀfÿ>F–ÿ*F–ßF2·¿Ïb4‡h.ÑFó- ZÄh!„#Ö_Mdó<ý"|£¼ŒÑr¢DËÁh"Ñ'‰>å‘-ÿ4#;_Ûü_0²ëÒg}†Èæÿ’ÑË)é¯M'ú#k“Í‘Ñë tŽèKŒ>O„ጿBdËÞdô–@_côõ”ô7Œ¾MôÝŒôí ô¢wý0ý¿þM^ ú£×ˆ~LôÏèÇŒ~^ _YÙ¿,ƒü~Ö£ßÄÐ`ˆE{Ê ‘VàÏ/9/`‡Tmêh>t Ê‚Ó¸mÏ=÷Fõ̓Œ †ô7{0¤Ö@„¬mi-JC³t6å—ž‡d°¼“àïºHs^ÄÞõñ/WðÓz‚Žç 7k°â?uó0p@¤íùkBU~ÿæ6o¹y³)^æƒù}ùyȯ8Qý*fjU`V'û­„è?Ì+”=>hþ"yrðÿt\2x(ÅíÖÒ~_[gGûÁ–öî@DçyWܱ¨KßÓÑÖÞÝÒY,Âk‡hÆ©.vOÓž»›ö¶ln:ØbD,Ë*bèÁâà $\#HÁ\òGìÿØÿmHê¹[±¬ÂÏKó±Í¸º r/z¿Ýè7Ù±òÿòäÛÞkßTG÷VÿyctåÚ«Sô)íÕ½Ó«sÔkß#]ï‘î,OsPù·Ø5žœŒÊ”;í/¥ÎÐæ¦î¦Y­ÅVï?d¡ ÏŽÍkÌçì=ÓðßxדûBš]ÏfÓ sGÀý^ŸÇÚ9{áBêqøÜùŒ‚ Tº4Gƒ A3„ñØïÐTÜQY艋I/î¨p&h0öyF2Y(ŸÿަŽdŽ&þ‹ˆß>÷¶0]x¢w%ϹX=ÑîFp¡'ðÚ‚›‹u¯' }ûé7Ôu%³¿‚àCçL¦ëí3¢)Ä3•Õo:«õÕûˆï*fÊůÄðY.~—²‹ÊwÐoÈ?+‚˜çduÄÏ£çÒusÀ…JC{¿1{ßbâÃò%ôÛR¦s)ùŸcœü·œü·ŒøW0þ¬­VµÁkV3^l§¿Jd-ùuùŸká)}|~½¾Ð¼+ €wB{ðÙõWÉgëÉž †@³ýözp!ÐoÓ¿…ôßHú·Ï6V·m¬nxøàе7ѵ·Pá3çñ`¾wGY7Sÿ/¯Î·Ñu·Szñï"wê}c†×ƒ™»˜]» ×ÔRÙ&j«ëI_30bu†·ø¬yµËõÆÎ"´·s/Ù×”ú¦Šø—{õ9ÔòßM¶Ú-7Ÿx;ˆç^J;‰÷žÙÖLJb|Ü ÁŠÏ—ì}wÕwëøú çJ|ßs”l¼¿ ³®{€ÒzÏ}Ç €FãrwÜ¢í“íÇ)}”l~Ä«k7ñŸ$¾Çˆï}ÐÎÑ^™¤»ÓP oÿÿE¿<ï^¿ïÿÙ}Ùñ5‚óçßk peEž¼„ íÒĺ¸Ð<á~7Ü-÷1~e ^7âû–׸>y1ÊçQrG‚ØÖíë©uùo—Ú Àz!Ù1J¶#=3ÚåÏ }5FÖŠ/Yçðg‡ºHÖй:ÖáÏ=t±¬/=t‰«¯ÇÐC—ÊúCÐC.´N2ô­S6ôв¡ðâã\þôЕiîI =4^¶3=TŸÍŽÄðãDýa衉 Í€šòD;ĉ6ïaJ†Šú†§„jpU$Fqêð‡¡€¦¹åƒš.º" äAéô ȃÞI„ ˜áòg†š)ëû¦¯o–ÃïG»ÌEŽm~ýl»ðº°±'Jî\÷ºP|ëyn¹býæCíx °¹¾©sï!|ú[ßÝQ< š6½x>pû|:xðPWwý¾¦ûZê›è—æÒÞkx4Ϥù®I"j«ræ€Ì \¾Ð-¿[êòv{ä둆Ԣý‹!¾É±üj§ÜÝú†í+o »â‡A%ug*.šO2Ê’‹Ú“û¿|™[þ­„vUFÙ»äv^YúYôj%õ³•ýÕXAp¹«@žŠVCú©¨94g ÓÒÖ½¯¥³¾ðO0u˜Ô÷ÖƒØ÷B·×¹üŸðË7¸å7K}1®n~9Êu‘…’Lj‹,/xü/J¾•ìØèÈM$7®ÒüV V<Ú”—‚ËŽ2ùRpÚºT¾ ®¯«¬/KáeƘ|)8íX“/§½ˆÒKÌï¥à´SjƒÈRpÙRpÚK]¥à´ã(½Òð•‚Ó^Ai½ù½œv<¥#Ú428íJ'S:)âB/8í£³Œv*k“*Ö&èã£^Û ÿ4VgÛ6U^Û°¿²ƒÑ6Pú>£¯äs:¥3Ìï¥ØeW™|é˜þ,HÕ×Þæüìkß´rgR:‡ÒÙF^)&Ý\fg9±¨æ™|d,ª^¼µ±&g‰D0ßä3‡¥›_Á¦±rz+ [oÅDŠ ¿–£­5úia:¿^ x¹Á²QI½(o¥WSº˜ÒE”.)ÊɯE™Á6Ää˹½Ë¡=í± [ŒšFvŽnñ°>×@ü”aÇŸ4e,3ò¾•r–ú˲ ¶[–o¸*©··Ç)Ú»”Òý»¢Oýì"*©å-‡ a¾1£ûÔA?«¤^”·’ÒUг%~5Ä/ñ}õÈ œõ~ ”·Þ¯©`;ü¡®÷9†ñ‚8J·¹L –]KéZSö {Íu”n t½)Á–ã­~Š6y‘ó÷á˜|³7ô¢¼ëüRô‚éì9Íù+Ü7sGHNÞ£à~S<ˆ‘ý‚e°÷;Rµ@È¡ZF£‰ÆŽ ±Œ.‚ zÁ%Œ.óèr¯üvíŒÆÙüxF"h$G2à Þ'Ð F‰f2²Ñ l~6#Ë?‡‘åŸ n$ƒùŒìÉÐEàF0@ºšÑ"X²Q ¢"DE*XAÔf²´šh Ñ*üÓÉ–®óhÑFöµÍ§N°™ÑÖÚÎhÑ0_rZº9%½ß£] t'£»R>ÉÙÍhÑ¢–²|»=ÚCû‰¬w'P;£{¨‹Èòw§$¿¿ ÈF(8JÄ# 2`ÕæýÉÀÞ9R×ÜÒÙv_ ži:t Û I}<¥å|Š£ „âbÿ¸òz0›qì@¸ Û .º¸9¨£ßp±´ŸÝ`¾°‘Èÿ¸ŸÔ…ðQaLnp!Iüà ødzŸ±ã&aÉÃdâ†öfÖkÕuá «“­#Öm%¸Ÿ°_ÁF¡ì²2,ÏxÊO žzp ŒÉŰvÚ# |¦öâÄŠ›œwQùú ù§Gðã ‹~k úϠ뮢ëf2{f“¼¹Ìž9àÁòôÛB¦ÿ2>; ¦Ûáæa?ý†üK?þß3ÀÍÂs±¼èûçÁ=:dûÕLfãJ’ÓXh²säÿUäÿ5TwÜd`ŸÁÍCá&÷E&íÆŸ7É·kÉîudËz¦ßö×õLÔQk§T븉|³™ìÞR ß2~´gkÞeüû!8FBG+àßÁí—Û¨Î;(}?Õ};鹩@¿gö£¬¡FVî5’q ]{+¥·‘Œ$£àŸâ‘ä½xî¤ô.0ýû~]wG‚žfJ[ˆéi-ðÎ`¶.'x-öíI½ÂÍÈÝÄ·BÐuÒvÒu€tux×Ç躂c.W“®®ºî#‡ÈÞÂ2‘ÛAíy˜Ú¨›|s”ÚÏo8Þìüv¢ç7{<„Ï Äÿ0é-l4r˜·s¨å±}ò0óÂq²é!O&ïËüº仓ù/2›QgaS’û(»{¬ðÛ‡!èÏ;ÌoÅô¸ã§mþñž&¿aHBì—gȦ'!¸ |ƒ×cx™¨ùf:«ûST÷Â<—ÿs§Ï÷4„üýÙõ Ùñ!’UðMî·ží±ý#d+ÿ¼ïØõ„ÛµÙõ1ˆîOÑöÑöÏ’Í…9;oçkóŸÅØü¼±9?šÙloè_`íŽ×bý$˜ùúSPœó?cå8~?]ø ×">_šä}ÂëÒg ü ˆÿ3ÄÿY⑵ÏKTÏQú ÕãUªÇËtÍ癎é¤ã ›<›¾@ü¯AxžþkJ¿L²_3q ÃyäKyͤõÝ@åúh§)/¶CaÝÊ¿îúôk¯·È†¯FÔó”¾íÕóëtÍ7!è_ߢk¿C×ü-¥GéßSú=’ñ]²ׄÉMa)Úø}ªÛ¨Nïêô¸ëÌ?Pú^g~ÈüŒý ÛiýÿUpñ¾@:~T(ûóŸo~Á|ó/LßOÁÌ=?£kì܃²Ç@ПQïO™,”ó¯”þÊ“‡¿½Kõø%”æ¥<–Ó¼”ܵþ×tÝ¿Ñu¿!¾ÿéÕÕÆ¯À¹BúÎ @ü~+td$ÒwdÉG†ò ‹7Äoíœ#Böw©~Åúõú±¿Pý¼c~ÛürïßA¿Ü=¶—$Ý·7Ênï¸_èhœ{$Ï€¦ÇëîQz½£|‰Ç$G¸ü™IÖÈúBGÖFºõÎ|d­VÖ:²6ÊÕ—ùÈÚhY_è»Ñ1®¾Y«“õ‡Ž¬¹Gú’¬…øñg_” GûBGÖÜ£}á#kÞQ½ŠYsô%YóŽôõøÈš|´/|dmœË_ù#kW‚<ÁŽwËSY«ÏPQßð”GÖ&$˜>Ñ-÷×¾·¢L—Ö¾Inyâ¹Éøˆœ{ª¯rGä@ìã¡#rîQ¾ž‘sþ%‘óŽôe>"çñ õïÈ^è<‚wDÏï'oGõ“¢"^$GÙ53£fØoûC&J¿ä§Ù ~šã”çÎ&èoò Ê™+×ÛõþFœœy öÎwíY®½ 2Ø‹üÞy¼g¤ñÁ^î;V¿½—°qíµ(¡þî¹<¿þ¡½kd?F9îù½¸³u¡zúí3NâÛ×;ÓªŸ{¾.±}c—"÷Ü]lýüµ=|>mý¤ùÙ=çç÷7‹ù—»~hðËW¤ðS”_VºvìééüÒ(Ö+¼7_åò§Â¨—ô¯Î¨M‚_׺åþúüFœ_½óo¡{ÒunùAIn\ÊåygÛBãÈ;Ëæ¯o‘õú¯wö-q]sÏ´…îIB÷7Èüoô¤ŸöÕ<ç—c½Ü3uás§›ÜrñÜéÆ=MíøÝç¡®–úŽâûsþõg}[{}{ËáiÓ—Ö¿Ù£ öKÓî}MݦԳc³k‡x¾”_·E¼.öYBÎ¥fM¹½[A77‚8n"Ï©Jãfˆã&ô¬d»Ë?VÒU¿ õ{¿SžeO”Ü›@îÇ7Cú~|ió¡{´íiêni6PÐE|ç¥áCÏ·8Bs|¥;]¥÷ûå·‚8©„œ›ëœ*É9áF0˜½~e ¢o˜;{Ȉ]m©»Ä¥6Tû;@ìz_“kȹä.x—Sn°ÜÓ,±M wÁÝ®Üu~ù·|½_Þì–_ç—·¸úS-áqC 5&zœ€ ØèQ¾l…ôÓ6¿n/È#rdqmeù´·GÚ~FšÁ¬æ coîâ ÜíÊK|ˆtÀõ¢¿ œ¤¥Eè \Ÿ!>»Ëï?”8e¿äÏYµ¯ÿYÿ×¢ì—ôß+ëêëïtøýxJ%{‹×!—Ëÿt¿o_”ݲÃ|;É~z3k;ÝòÌ}Ø-ßï—qËC7AG]?õËïw¯¯Žª¿owœ¹ÜìzÐ-¿%ªøò}=Òø;b»†øÊà‡¨ú>,ë µë# ö÷á~?îÊOzA’Ê(÷Qûß Ûñ¤[~¯_~Ê)7XßqíàÏK¾ßü~µ+ªïcm¼?îò?#ñ3ûS=„ŒK¹~/Ö±ïg]”ÆÃ“B½Ùïß÷úU&ìeßþ¸ùí9-Ø#­÷\/WªÿœòcL‹óBÚ”ÛwƵ/U _ŽÏ—chÌ^) æ·ÒIÊÊ…‚¹¹p0 ƒ6?ÄäÛm¾Ú\WüÞž³ûÀø;¤èAx?àrøï ‚ÀE¥¹‚¿ ‚€G˜Î‚ €PŽö´˜ŸÙNÓÏÊõÙ,c¸’zQÞl&åèÅæçgôÇü äJêEyóÌuÏXùý;úOà‡JêÍÑå.€ úO{÷©‚~XI½(oQr¯µ÷Tx0‚Ý›ÔÊ{ÂÒ 7…Èy•¥~OU°~‚ý[³Øv-ÍX¥¬G–¨<•Ô‹ò–@=ªP¿âGÄl/‰ÙÂò3$¿ rÄÈW¥=„Ô`Ë!S8¥Rí¨ K öùÂá}rô%æ—Aî'ë—ålþ!—ƒéZÂÅ`jCì7$ÌzB¡`z¡br,2!2ä°Eã¨MX{T‘œM&¾¨ÒožË S´Ùä3‡)Ú ý?LQ9þØ’ÉÁBºåÀVîðd¹=Ò®ýt#¥[)ÝNé¶"ŸysŽy|£ž¢?žãü•\0vPz³£œðe7CüøߨÇM>¶óN$¥ã!~ò¹Å8iïÌYÃN“¿Ÿ_?Ü»Ð}t] ¸˜ãÖ¦äLß¶[Yæè«üý6ÈÖð·AåÞHOÿCì¯_ öZϼÇÍÑ[Þ¾š ¬žÞŒ8y;¥w@ú/3,9[]E»Ì˜¿‹Ò;)Å-]ÒèM³uØmô¬;ŸBž & òöyë¹¼p±t/#yu$ŸGM7hŠ/·ÙȽΌäàyq‹ùý ÞßjÈ¿ö/n4y# ÿzÔûSâ_˜á‹¾SåÌä­PÞ¶¦úÿ¶¦+å^¯”µ½Òá (“¨ÕnðÕ.#m#µžŸù_Êñò¼RôÙæ´DæM$¶Æ~JPz7¥í†oˆå;Hé=æ÷Ò›´Žb>Ãß iF[p}'Tn´•3KtûŸN7KvóÙ¯¿Î9úb"G_ Ý÷RzÈü>ÌþÞMéaJ2Tƒ»bÖ‘?ýÕÑúô~“¯>ÏtØ:V'×1s=³´ÛQ¨\»¡¼#”>Hé”ÞGéCFÿp«ÿ¥¤³»tÝ#´Û×;éÍ“¾ãúÊmŸ}ñ‚r6zîµù“¦¼ÆæOeôË©^ô‹ÔúXïˆ ¤whoèû²Êê‰ûB&ê÷\/ÿžU¯ý³õ9A飔â—W)ü^š—‡ Ó¿+©å=Fé”>Y¼Î|±„o­ÎBE¿d¢— î—L)ê_Ú`ýsd§P¿­•¨ßPëqšÒ¤ª÷ü¬¿÷±Þa½¡—Ç›?“Ñïg*hÉÉÿŽää#h £*3ªh8£¢Ú2¨†QPr–.èRéòº’Q} M‚äó6„š%{‡:Q‘ÍóØó–ÿ*F–‘ý}£9DsÁ14ŸÑ¢EŽ5¿˜ÑÕD6¿”ÑbÐ/ƒpÌùDËÌè#)éÃýq}L (~¤3zV ç=Ÿ’žóèÏ ô F‰>Iô)lù§ÙùÚæÿ‚‘]—>Ëè3D6ÿ—Œ^NIÅh:ÑY›lþ‹Œ^O sD_bôy" gü"[ö&£·ú£¯§¤¿aôm¢ïf¤og ½Ãè‡蟈øõozôѽFôc¢Î@?fôóý‚ÈÊþeä÷û³ý&†{44 ¬8"H–Èà7¶uu/DJ, ¦càƒ- J—+ˆˆ‚ˆ€‚ˆp~Q¬ûvÒƒw}¿gö£,QÁz(ˆˆ‚ˆ ÎŸ€‚ˆäKy‰z³,Õ¯*¡~ƒÝr±ÿ)ˆH„}’¾Ñ²>!9Ëv*ˆÉ»BÔ¯ " "m_;@ìã "â•ϱŸ(ˆH´~1ü ""È—ÚwIBýDÄð/wý  "1úWgÔ¿&Á¯kÝr!yd?+ˆHD9Ök£«GADL¹‚ˆy "¢ " "’n‰m¹ îvå*ˆˆ‚ˆ@y#MADć "bò "â•qËD„ä±]D„ä> rÿ;r;žtËDÄäD„ù'ª^ "âÚwƵOADŒ… "âÙ3¢‚ö(ˆˆ‚ˆTymÅþDDADúĕԋòæ™ëD„ä. tqF{÷©D¤œú ö+ˆH ½(o ¥ "R†K ¶‚ˆý7‘lÉ‘À7™¼‚ˆ@ßÇ-Ç[2ùCADDDADŠ5  "ô×/{­Ç§ "´}¸‘~Pݼˆ–Y#ý†¢†åþÜ‹ü¶ß¦œ?ïÊOŠì:€;Ð)ϽÄõq¾A.ß˾œ*§>â—»xsŸ‹ÒàvÃ!kÛ_MGø ÊF/Šo¹¼^‰óAµ[‡Wý:zÑ|3éIª„Ç™¾ñØGÁ£ ”9¼dhò/Ûü “ÿœÍcÕB|¼ÁKß¼¹öU{-ò¦yÝ0*÷º噃{™?z~…òøýÖ·‚ñ£gî«8Ù¶îK©îÒc¹ÄÈ>†æ‘}$3‚Wz–ìµü‘Km &ªK ËWãÑ€€ÊG-ÛÓÑ™ŒZ0)j™¢–‰µLQË@QË8¿¢–)jÖ};éÁÇÌ¿gö£¬8Ô­[AQËðÚ{AQËE\w‚|wµÌÎ>ßÓ ¨eÖæçÍŠZŠZ6µŒËÃßÞE-žm*j™Wî>¯TÔ²(;$}5²>E-‹¨Ÿo¯¤¿NÖ¯¨e¦\QËH_-©µL\ûµŒø§‚ØÇµ,BoQŸ#GÙ53£fØŠZæ•ÏwíUÔ²h½b?F9W õꩨeBý¤ùy™`(j™åWÔ2!åòÖƒ<Ž®q}SÔ2¨ü<ç—c½6ºzµÌ”+j™‘§¨eŠZ& nÝ.ȶÔÝâR«¨e^y³[®¨e×íyDîƒl#®­,Ÿ*jYX´”루e§Ã¯¨e¶ü°[®¨eŒOÇ@lWE-#¹‚ÜÿN€ÜŽ'ÝrE-3yE-cþ‰ª×iÁi½çz|¹Rýµ IQ˵LQËÞE-³mUåµûSÔ2E-ëTR/Ê›g®SÔ2’»€ÒÅíYܧ~PÔ²rê'د¨e)ô¢¼%”*jY,-ØŠZVôßD²mù}µIk*’³Éäµ Š*jY/ûÃÊž,·GzJƒ?(j„Ç¿¢–)jY¯ öZOQËxÞò—³õØU´KQˬÜf#WQËúhL•3“·ByÛšVèÿÛšJ¬”{!¼RÖBôJ‡+ 4N¢V»}ÀW;E-ë›Ó)j™%ºŒýŠZFéaJ2Tƒ¢–)jYùí£¨eŠZ¦¨e&Å/¯Rø]QËÿ*jYšú õø°§)UÔ2E-ËGÐ@FUñ0ÙÕ gTŠZ6 µl¥@ŒVÇе ¨eHëAQË,u€¢–E-Cjôè)΂¢–Yz>%=ŠZözE-{µŒÓYPÔ2PÔ2PÔ2«GQ˵LQË"dÛº/¥ºKiüåbü·G-³ä —ÕšEkmKk©£]€Ê óö#L*ÍRÐ,Íâü š¥ YX÷í¤ŸrþžÙ²â@ŸnÍÂkïÍqÝ òÝIPÐ,;wú|Oƒ‚fY›Ÿ76+h(hÖdPÐ,.{4Kx´¦ Y^¹û¸LA³¢ìôÕÈú4+¢~¾½’þ:Y¿‚f™rÍ"}µ<¦RÐ,qíSÐ,⟠bSЬ½EE| e×ÌŒ~˜b;(h–W>ßµWA³¢õŠýå\-Ô_¨§‚f õ“æçe‚=  Y–_A³„”Ë[ò8ºÄõMA³ òóœ_ŽõÚèêQÐ,S® YFž‚f)h–4¸u» ÛRw;ˆK­‚fyåÍn¹‚fE\·ä¹²¸¶²|ª Ya=Ò"tP®‚fyü¿‚fÙòÃn¹‚f1>iü±]4‹ä> rÿ;r;žtË4Ëä4‹ù'ª^§{¤õžëñåJõWÐ,$ÍRÐ,Íz4˶U•×VìOA³4«OüQI½(ož¹NA³HîJg´gqŸúAA³Ê©Ÿ`¿‚f¥Ð‹ò–Pª Ye8°´`+hVÑɶqä÷qÔ& ¬=ªHÎ&“WÐ,HŒg© Y½ì+wx²Üé)Å« ü  Yÿ š¥ Y½6Øk=>ÍâyË_ÎÖcWÑ.Ͳr›\Íê£1UÎLÞ åmkZ¡ÿok*±Rî…ðJY Ñ+®€Ò8‰Zíö_í4«lNK¤ Yv–è2ö+h¥‡)=ÊüQ š¥ Yå·‚f)h–‚f™¿¼JáwÍrü« Yiê7ÔãÃzœ¦TA³4+AU Ä£4W 4œQ (hÖ4PЬ•52ZCׂ‚f!­ͲÔ šu4 ©Ñ£§: šeéù”ô(hÖë t4ëPÐ,Ng¡¯A³r=/ ‡ ﺧ©³«å¦–=ÝP †Œ½•Ñà 鯆öxH  K¥0Ë𮂿÷6"ÍÙ{È¿bÁÏxê!@žƒP Ü¬‹ÿÔÍÃÀѶÿ$øîÙ¸:U1ýUìì`UIoî9öÛ6ö:§idÿ#ïúg£ø"ôEÈ6uð®aãóÁo¹?c×bÝÿóüIc´ÁyÏ®ìÿ¹¾ÿ Ùüþ_a™Qv¿­3÷ öû†8_˜¾Gßw65ã Ü{¨mÏݲç÷3ÍŸ$ËJϹ°Ü‘’Ó-šåSLð§½fùÌyS}üÿ_¤k"Û•Šò¿ÁNWoî³1]Óç‹èš±ö:ò|¢k_ä|ÀÊì·¯ö£‡´ÿ€6:æôú:ôA‡>ôß¡Ÿ£¡Ï¢R¬c–gØ9¨ü·5žœŒÊÔct¾¡›[4·tnjijvלë‚Þ ‡ê1®OõŸK~Åô¯þ³èÚET¬÷Õ¬Þ\þ’ ¥Ë(]Nz–Fز’li$ždË*0Ð>Ö?XÏÕ`ž·ñz® ½–d¯#™×’MëI6¾#9G¼ˆ÷âµ0w’ eod²7ÿVJo¤t˜~±äl!9߃$P¾‡Ëx?¥7Qz³'cëÏ]¬Gè“Ëɯ—’ÍøÞãVòïÇÕßí`Þup¾ËH>‡ØÎøŽÃöË&ò]a®Ïa6 o ñ^Át+¸c ùö’céÚ‚Or‹HéÁ6­ó]&ö³¤÷`w!ùûö™{(½—tv èË.J»)=.D^g„vžˆòÇQ0ï>¬?Ž]…¹0·…ìztåå?-Q¡¯†¶ó‹]½©P…Ó¦\ÏÕ ·áǪ‹ðU鱚_ÒZå"ƒå¯Jòë2×®S¼Ü¾ÖÁ¿ÿ¡¯ BõŠ«¯?ø·c1s¹\_é÷(Ђ(-wý5Ã³Ë ÖÕr 5¡Q‚Wd<|V'½þXÛ’VþJ;j£[~·_¾ 2uÈ_ÇMF¼CZã7¤¨sµ£3]äå¸ò‹œ|!ßæX”’SŠ8< •]Áõ*k×>+7Oi¥ƒLyñÙTŽžy¼G6b:„ÒÁ¦|²-QŸ¨sºQ‘œÙ_æszÕFþ³ÖŽ©üÔkDeýÚmå·_Õ˜|ƨ†æYP¾t~Îóµž]U³ŽP¸BAƒï0§ó½ÒæùæGR:Úøà"ûû(“/Ew®3ù’OƘ|)¶ÃE”š÷’æfóô~èn›¿4]7pþJµ±ïóØç¨øJM ‚üL·ñóveéî)Òññוš4òº=¿@;.O帠A.¯ ã²4Xßê m%õ¢¼që=®‚úk!íó!Ô|¥ã)½²x¥y‚ùIé­0õ­ÞÀï•Ô‹òÜçˆyï¹nh4Æ]AC·c΋ò¢ŸÅÉCû¦‹òBöÕy+ü>ϾºŒö%È3Ï.ÐN ú0ÃèyÅþéJgþí–Ÿ_Õ@øù–Í£t®¹æŒ½Ÿ'ÕBì—o~Ñüfn[K뺶–E”Ϩ²Üþ-„>íÿû.ÞîÞÔ;Üõ®ܵné^lòÅçuÖ†ÁdCÌ_æy`¥K(]Z¼Î<;ÂüÕ&•Í_“Ñ×ôb»Mg²¬Ïð™Ü¢àœ>(É G¥€‹tÛUü *OåHÞî_áµÿì$âó Ðç09¡zø"9¹HN>†1òÏøFœõ->Ën ‘Œì‚6Žb4&†lì›QI±s.ct)ÑDW&ÐŒ&Mb4‚ï?-MˆÇDZçõgx4‘h&#'Çæg3š›@ ÙúGÅÉá´ÑÒ ´"V1²1†V3²õ´ù5Œü–lŒçúâ<›mÉH¼Ö·;2’ßîH6†Ó-D·1º…Q5‘cs'#§‰ÈŽÃÝŒš53²6´0j Û—ö2ÚGdeí÷èn"óæ £ŽêÌ@‡‰¸|´ÇƼ±þ8Ê裸¸6qäÇÂ9ž‚N¦ Çè4£31tÚ#+,k,†R,†ÁÍ--Í•9FÕ³ƒ\ÖàÐi±!šõ¨XB†/œ‡ä£b›ÁÃî˺ ¥ŒÏiò¤·,¸„ ¤ÿã¶—kÜÖTA°õ îÑŒ!ŒgÉ,>¡³­@¾‹I/>+Å-=ß,òŒd²P..½cHÖD’=•ôŽ¥ú „ $Ÿ=††ogVB‚¯Õín÷8^‹Û;Ü.\O>@ûöÓo¨ëJf=÷¾À=R†å“éz»µ˜Bñ¨›w,óQ·*QŸþæüÞ‘¯ÌGݼ#a~ý~áës|å^÷ËÝ#^¡£K_òäÿk\ÛÖÛ¥ÍÚ>Ÿvib]¼ãc¡~çûº%ª®QrG@|Âò×'/FùÔŽ…ÍõM{liï®ïM›^„.Ü>Ÿ@ êê®ß×t_K}ýÒ\zØs šöLšïšô@JW>h/xJq._àò…nùÝR—·Û#_4¤%è÷ŽÝâ—»ÇyÜ­oؾò¶°î‘ ØË=Öe¨xÇy¹Ç†r㗻DŽrßJhçÈ[&ÉÞå ·ó ÈÒÏ¢W+©Ÿ­Ìè¯Æ úƒË]òT´ÒOEÍ¡©¨8Ûb}K[÷¾–ÎúÂ?ÁlÔaò”i-fš [‹ú{š:»¯)âÝwwjᘫž}k ÷æ¥4þ[ r?ºÖ-Á\ç–oðì3îÖ·‚[6ˆà‘úÞzû^èÖã:—ÿ~ù·üf©/ÆÕÍ/G¹×Ëv†ÆÈ .ÿ ÿ‹’o%;6:r{|Ьôù"òÔ@ø•ý,)ø)ø‚ÃÿôœNV•Nt 4ùÒ‰0|ô“åDØ`¨(Ô—¬\óXЬI˜¯†à„W-įE9zd¼ö”ØpN}å¨]ß#?¾Gu}dÚOÖ‚:˜=–4¿Ýló£Mù—m~”ɳùºT¾ ®¯«¬/ÏY¹cLþ+6?Öäß°y{âéóû›ö÷‹!88„©‰äe¶ý˜¿ÔØU:Y5œc_µ¿Ûcõæ÷¯ÙßÇCp¬ÂoÓÒ-cŽKdœÁù L'E\ÈnÙeŠÑùu+‚_G½¶Aþi¬Î¶mª¼¶aY?Íÿ‰µ«‚Ošs´>c~:ðOŸÍú„ù«L¾t‚p¤êkosþ öµoZ¹1Ÿ`ßjËç2;‡‚û‰.öœãÆA ÔÚ5‚Ï´s´¯ð›¾omÊ9E3ßäSB©M3¿‚McåTú•;4YnYòíÇ}v«•£-XŽÀLùUý78ß}Ý,•Ô‹ò@ðÕ8¦‹!8©€é’¢œüZ”lCL¾œÛ»|p‚ÄÙ ²Åã½idçèëÿ†÷§ ;þ¤)c™‘÷­”ã°Ô_–U°Ý²|t[I½½=NÑÞ¥|PÅ¿+úÔ¿Á.¢’zQÞrúæ3ú¡±Oýô³JêEy+!øÀ½'Küjˆ_âûê‘A9ëý(o½_SÁvøC]ïsô(ý8J·¹L –]KéZSö {Íu”n t½)Á–ã­~Š6y‘ó÷á˜|³7ô¢¼ëüÒéì9Íù+Ü7sGHNÞ£àSðƒ ö –ÁÞïHÕ c4"†j&C4:‚Æ2²‡Ep~¸„Ñe]î•_®å@ÆÙüxF"h$ƒ,Çñ©'D,ÿF–.¸ ËóÙ ‹ÀWFºšÑ@”-Ù!Ë ªló+­ j÷pÅjp‚¬ò(îPÈuÍ#ÚÀȱù pòfF[ch;£mD;À|Éiéæ”ô~v%ÐŒîJAø$g7£MD{ˆZÈòíöh_ ÙÃ ÖÆ»¨Ñ= ÔEdù»S’ß_ dŠØÃ#÷3zè˜@ÆÐC(é‘Õ{*†°¬* ƒÅ4Š?©Ÿ°jóÎþd`ï©kné,4 žÁÀ?æÀHê£+©…>Å…<ÿ;ˆ>ò k»¹À7uô.¤ö“Ì6ùÿ÷sû¡>&2ŒÉÃ.ò#‰ŸS‚àwÜ@L"9c˜LÜì^ÃlÂz­€U7—°:Ù:bÝV‚ûyûel"È.+ÃòŒ§üâ©÷hʘ Á1 k§=ÒÁ'Üh/Nº¸ÁÀÉzÈ3Ó ŒDdùqsÐêÖ]w]7“Ù3›äÍeöÌ÷x–/ ß2øœ¬ñaÙY0Ý7ûé7ä_Âøñÿön$žƒà¨ˆåEß?î±"Û¯f2W’œÆB“#ÿ¯"ÿ¯¡ºãû n, 77¹/29h7Þ½I¾]Kv¯#[Ö3ý¶¿®gú£Ž‘X;ýc$XÇMä›Íd÷–ý–ñ£=[ ô.ãßÁ:vÿn¿ÜFuÞrÖ};鹩@¿gö£¬¡FVî5’q ]{+¥·‘Œ$£àŸâqä½xî¤ô.0ýû~]wG‚žfJ[ˆéi-ðÎ`¶.'x-öíIËÂÊÝÄ·BÐuÒvÒu€tux×Ç躂#0W“®®ºî#‡ÈÞÂ2‘ÛAíy˜Ú¨›|s”ÚÏo8Þìüv¢ç7{t„Ï Äÿ0é-lBr˜·s¨å±}ò0óÂq²é!O&ïËüº仓ù/2›QgaÃ’û(»{¬ðÛ‡!èÏ;ÌoÅô¸ã§mþñž&¿!šöË3dÓ“Ü ¿F¾Áë߀èùf:«ûST÷Â<—ÿs§Ï÷4„þÙõ Ùñ!’UðMî·ží±ý#d+ÿ¼ïØõ„ÛµÙõ1ˆîOÑöÑöÏ’Í…9;oçkóŸÅØü¼±9?šÙloö_`íŽ×bý$˜ùúSPœó?cå8~?]ø ×">_šä}ÂëÒg ü ˆÿ3ÄÿY⑵ÏKTÏQú ÕãUªÇËtÍ癎é¤ã ›<›¾@ü¯AxžþkJ¿L²_3q ÃyäKyͤõÝ@å_3‰Ú¡°nå_w}zµ×[dÃW#êù Jßöêùuºæ›ô¯oѵߡkþ–Ò¿£ôï)ýÉø.Ù€kÂd¦°mü>ÕíT§w uz Üuæ(ýG¯3?d~Æ~†í4Šþÿ*¸G|_ ?*”}ù‹Ï7?`¾ù¦ï§`枟Ñ5vîAÙc èϨ÷§LÊùWJåÉÃßÞ¥züJóRËi^Ê¿ îZÿkºîßèºßßÿôêZ|É f¯ }ƒ ~Û:N’é³äãDy¿ÓâwxÎñ!û»T¿býzýH`¨~ÞÀdwÄï _îéƒv©>{WGÙe·w0tlÎ=®—›-ë•a¸\ï˜_âÊ.æ#”5²¾Ðq¶‘n½3g«•õ…޳rõe>Î6ZÖú¦tŒ«¯ÇÇÙêdý¡ãlîq¿äãlc!~üÄÙeg±¿Ðq6÷Ø_ø8›wŒ¯bÇÙÜã~ÉÇÙ¼ã~=>Î&û gçòWþ8Û• O°ãÝòÔÇÙê3TÔ7<åq¶ ¦OtËýµï­(Ó¥µo’[žx|n²Ã>>çžø«Üñ¹ûxèøœ{̯çÇçÜcÉÇç¼ã~™ÏyÇÿ`ÁÂg¼ã{~?y;ªŸAð’9Ê®™ý0 ÄvxÛ2Qú%?ÍNðÓ§øÍ±_¡vïkê6¥ž›];ij§üº-âu±Ïztf5kÊíÝ ò¸¹Äqy†U7Û@7¡g%Û]þ±’þ¨úíH¨ßûòü ({¢äÞr?¾Ò÷ãK›Ýs mOSwKs}×BçÄϦ»–†DßâÍmð•ît•Þï—ß â¤rþm®sª$ç„!·Ü–óÊægÔGrg'± ²-u·ƒ¸Ô†jˆ]ïkrí9w‚ÜïrÊsצ]b›@î‚»]¹ëüò=nùz¿¼Ù-¿Î/oqõ§ZÂã†À”¶öûš´5»~ñè_q °éܾ€©\@WIBW„ˆ(_¶Búi›_·ä¹²¸¶²|ÚÛ#m?H#-ïaºGãåryw»ò"p½èoB#'ii:(×gˆÏßîòû%ÎEÙ/ù³CÖ_íë¿GÖÿµ(û%ý÷Êú‡úú;~?ÖRÉÞâuÈßåò?ÅïÛeg·lç0ßÎC²ŸÞÌÚN÷…<;Läí1òÖsy5àâì^FòêH>š nÐ_n³‘{ÉÁóâóû¼¿Õí_ÜhòFþõ¨÷§þ2Ä¿0Ã!}5¦Ê™É[¡¼mM+ôÿmM%Vʽ^)k!z¥ÃP'Q«Ý>à«]0FÚ 9úâå>lôÜkó'MyÍŸÊè—S½è©õ±ÞHïÐÞÐ÷e•Õ÷…LÔï¹^þ=«^ûgës‚ÒG)Å/¯Rø½4/?¦WR/Ê{ŒÒ'(}²xùb ßZ…Š~ÉD/Ü/™RÔ¿´ß9[ÁúçÈN¡~[+Q¿¡Öã4¥HUÿ &ú*Xÿ,~ïc½ÃzC/E&£ßÏTÐ’“ÿÉÉGÐ@FU fT-ÐpF5DµeP £:`æ,],Ð¥/Òå1t%£úšÉñçm5Köu£"›çqé-ÿUŒ,ÿ "ûû,Fsˆæ‚i>£D‹ ‡~1£«‰l~)£%ħ_áxô+ˆ–y´R FF«cèZf­c´–Èæyüñ ¥U¿‰h3ÑF×medùmþF¢-mO ›­'º™Èþ¾3v1º#í&²×îI VFÖÖ½Dm dùìõ¨ƒ‘ÕuQgY>{ý¡êfdãÔÛhôè)Î2zZ 2úP }˜ÑGRÒ‡=úãú˜@QüHgô¬@Ï1z>%=çÑŸèŒ&}’èSÙòO3²óµÍÿ#».}–Ñgˆlþ/½œ’þŠÑt¢/0²6Ùü½ž@爾ÄèóDÎø+D¶ìMFo ô5F_OIÃèÛDßÍHßÎ@? z‡Ñ3Ð?ñëßôè¢1zèÇDÿœ~Ìèçú‘•ýË2Èï÷g=úM öhh@Y1FFâ¯Î "vwA±4*æa †ô3{0¤Ö@„¬-añ¦µ)÷…ó ‚Ç2ðw1üÉ=Þ™äIÞmà,;þŸïŒ‚ h¨}Â5Ü Çøv¥ÌM AðåË ¸Ãå`"#ˆ¯†øêèÿ|åãÝÌÒ¹da¼VV•Ù»º‹=üÿ¥WGÞItíåLÚ³„|…ÿÇê0žäŒcüõ|p€ôN$žÉ”N!¿L7ˆ;òN#ž÷Qz¥3ˆo:ùœó΢t6ñÌ$ž¹ Ÿ ·f«h®3]‹»ø"V‡×ñ—¯Á û`½ÜúähjAÝ£Œ-%ô±æåNpýXèË—[Á°í ½Ã º}±;ï"ßóvH¶˜nî¶«µmXŠö,·Q÷%Ìþ»à~NŒúðö ¢?¡¼‚aˆùË ìáh¿Î'PÄ_¯u›K âï"áPL=í0µï"Aù¸Øið°‘F2²+!Öe£Ñìÿu%º¤ Ëè ¢+!ù½$ÒF“ˆ¿Ÿœžf&S–¾€O/> =£Y2íÍMÍë[Ú[:ÛöTæŽÜöày•Ü*À-(À-Êi¸ p§ë (À­å±}òP€Û×È7x=¾Žšo¦³º?Eu/Ìs pëÙüg16?olV€[P€ÛÉ ·\þö.(À-/÷ÞM*À­Wî½kT€Û;$}5²>¸¨Ÿo¯¤¿NÖ¯·¦\nI_-°ó p+­} pKüSAìc p¡·¨Üy¾]33úaˆí ·^ù|×^¸Ö+öc”sµP¡ž p+ÔOšŸ— ö€ÜZ~¸R.o=Èãè:×7¸…ÊÏs~9Ök£«GnM¹Üy p«·ÒàÖí‚lKÝí .µ pë•7»å pqÝ^Gä>È6âÚÊò©܆õH‹ÐA¹> pëñw:ü pkË»å pËø¤ñw ÄvU€[’û(ÈýïÈíxÒ-W€[“W€[柨zì‘Ö{®Ç—+Õ_nÁ9` æ7¸¸}àöà'ñಟnU€[Q¯ÜÆù£’zQÞõƒÜ–S?Á~¸M¡å-¡TnËp`iÁV€Û¢ÿ&’mãÈïã aý\Er6™¼ÜBr¼‡!$GøS€ÛøÃÊž,·GzJQš?(À-„Ç¿Ü*Àm¯ öZOnyÞò—³õØU´Kn­Üf#WnûhL•3“·ByÛšVèÿÛšJ¬”{!¼RÖBôJ‡+ 4N¢V»}ÀW;¸í›Ó)À­%ºŒý pKéaJ2TƒÜ*Àmùí£· p«·&Å/¯Rø]nÿ*Àmšúù¡â±§)U€[¸ÍGÐ@FUq®j†3ª¸ p»R FF«cèZP€[¤õ ·–:@nƒÜ"5zô”@gAn-=Ÿ’ž¸}=Îܾ pËé,\€Û€oðƒ-›:š,‘˃èX°`AérQPί" ‚ußNzðŽï÷Ì~”¥" ¢" " "XQÔùP‘|)¯"Qo•¥úU%Ôo°[®" ö?‰°OÒ7ZÖ§"$çbÙN!yWˆú@DD¢íËbgˆ}\D¼ò ö‰Ö¯"†_DùRû.I¨Ÿˆþå®@$FÿêŒú×$øu­[®"$oƒìg‰(Çzmtõ(€ˆ)W#OD@DDÒ-±M wÁÝ®\Q(o¤)€ˆøPBDL^D¼ò#n¹ˆüc ¶«ˆÜGAî'@nÇ“n¹ˆ˜¼ˆ0ÿDÕKD\ûθö)€ˆ±PD<{FTÐQ‘*¯­ØŸˆ(€HŸø£’zQÞõƒˆ”S?Á~I¡å-¡TDÊp`iÁV‘¢ÿ&’mã 9 ø&“Wèû˜±åøcK&(€ˆˆ(€Hñ¯@„þúÅ`¯õø@„ç-9[]E»@ÄÊm6r@¤ÆT93y+”·­i…þ¿­©ÄJ¹Â+e-D¯t¸*€HŠ¿þ½9-‘ˆØY¢Ëد"”¦ô(óG5(€ˆˆ”ß> ¢" bRüò*…ß@Äñ¯ˆ(€H¯èUFUñÇÕ gT 2 @d¥@ŒVÇе "HëAD,u€ˆAjôè)΂ˆXz>%= òzy@„ÓYèS<¤¶³¥u}K{KgSwGçöÝŠH˜·v„E†µ´ß·­¥uù¬gJ*QMkhï ‹Ô,‘µ-­Eií©mJ…*‚Ó]á1‡[ÿ• ÞŽà6»ÕXnm´NäB<ƒ‰§šxðöm ¹#¨¼†Êëèÿ}b˜[”=šdבì1ìZ´e¸Q˜±l2è! ì÷K™>ü?Þ¦\NåÈ·t¸4á‹RÜêÖß â³u™nùi¤›B¿áë‘©¤k ¯G¦Ad:ùÇÞÖýÜÈêx{ƒ[¤]T¾Ÿ~C9³XÝçP=æÑµó©þsɯxË÷¯þ³èÚET¬÷Õ¬Þ\þ’ ¥Ë(]Nz–Fز’li$ždË*0ÑÉ­°žx{÷I¯ž«Ál d¯%ÙëHæµdÓz’·yçˆwñÞ@¼©Ã¢  ìLöfâßJé”nÓ/¶“œ-$ç{PŠj^Œ@Îe¼ŸÒ›(½Ù“±‚Ç@wAðX}r9ùõR²oÝn%ÿñ~\íñÝævó]Fòù8ÄvÆÛ4Û/›ÈwÍWa6 o ñ^O+¸c ùö’céÚ‚Or‹HéÁ6­ójûÙÒ{°À»ü‡}ûÌ=”ÞK:;Èôe¥Ý”å£3Â;ODù_ÞÏüq„ì*Ì…¹-d׃¤ã!Jñöl2é;Fz¶‚;=Bux”®9AüÇ#xNÏcÄsÂãé â}’x';OtßG¼ Þ§ˆç ÙvÜHôæÀŸ¹Åa¯a2F¢GjϹü™#µçe}û|}\þ̑ǂ¤/?É×7Èåßé—W¹å’ý…¿«¸}ì÷‡“ììê 6â–û(&Eé•úAuF?¹‘ëó“ýr7r}¢ŸÄ€’Ÿ†‹vC·o×—ÿY?浟ëÏ(;j;âýà¿î‚1ý¥;êwÔ;R¬~Š_ÿZÑžP»\œTïQ¢~¸È×?:›þ‹’ô‘õ‡¢òÖ¹üc³ê»È½ÞÌä~8ÓBão¬X|(êèÅ.ÿíR»[»¤z]ò|s©[~·dþÕBpËrQÓžî¶ûZV·µ7·µï]w¨}¹¿ "9H Éüže˜¯„å†òÏO•8TñX¹W$8x\<¶ÙÀQöÌÃW o©Gþñ uAwèCŠ.X/ëŶ™àщny(öÏ$§<7+ª¾’½“]ùJs}”œ)®œc¾ Ny~šäסònÉž(»¦ vAüH([ß4Hµ„îŒq,?&ÚîÖ”ë^½u1í°/No6@‚üt¿|†`_¶¨¯Hý_šGf²rÌÏýÚ½cÏq~œ Ò¼Ì?G´GîOåøc.Èí<Ï-OÌwË·ÇøÇÄšYù¿€ÿ¥µqAF.·¹×Ÿñ|8ÊËZ£B_ mç»zS£¥M¹ž«AnÃ% U¤ Òc5ÿ¾¤µÊ7È_•ä×e®]§xyrÏZ}ÿ'B_„êW_.ðoÇbær¹¾ÒïQqW£üµÜõ× Ï./ÖAWËÖ‡F ^‘AððYôúcmKZù+Aî¨nùÝ~ù*ÈÔ!7ñz iߢÎÕŽÎtÁãâÊíq„÷Ìÿ3}’—ƒŠ°)4#9¥ iRÙ\? ²ví³ró”VQ:È”ŸMåè™Ç{÷Bé`S>Ù–¨OÔQƒ¨`tì/ó§ÆÕFþ³ÖŽ©üÔkDeýÚmå·_Õ˜|ÆÀ,æYP¾ô °;æk=»ªf¡ˆ+‚1dK !Nç{¥+Ìó̤t´ñÁEö÷Q&_ PWgò%ŸŒ1ùÒñ´‹(5ï%ÍÍæéýÐÝ6o?ùLhãÎ_©6ö}û\Ûˆ|æ,U~¦Ûøy~§t÷éøøëJMy]Žž_ —§r\Ð —WÐqY¬oõƒ¶’zQÞ¸ŒõWAýµöùj¾‚Òñ”^Y¼Ò<Áü¤tž¬æü•ôäDJ'˜ë?dõLÎh×ä Ú•£‡rëMþ˜ÍOave9¡Ú`zDñùN–‘ÚPÁzY9½uŽ]¨Ï0î¿ 1TRoŽžƒ¡Ü©ÛsjŸÖ?˜úVoà÷JêEyîsļ÷\7´ ã® ¡Û‰1çEyÑÏ‹âä¡}ÓEy!ûê¼~Ÿg_]Fûä™gh§[;ÃèyÅþÇÓ9”Î6üÛ-?>¿ªðó),›Gé\sÍ{ >Oª…Ø/ßü¢øÍܶ–Öum-Š (ŸQe¹ý[}Úÿ÷] ½Ý½©w0¸ë]=¸kÝÒ½Øä‹Ïë¬ ƒÉ†˜¿ÌóÀJ—Pº´xyv„ù«Mþ*›¿&£ÿ®éÅv›ÎdYŸá3¹1DÌ'ŸÅ[_þ™'=*(ÅŒ¡Û®âgPy*ß@zðvÿ ¯}øg'Ÿ…>‡É åÐÃçy9ºÞ>š±sqðHÅ\gÛ`„×yFy™Ú‰ï‘zú#Gÿ°>Ë!<©•ž+fé”Ë# ìÉbº"Â0ÿ¹dûVTؾÆýQÏžVU°á|ð盨ke±,8¼:•‚…hu}Drrœ| bäSˆ8®P|–7 ÜcÀ#ÙmÅhL Ù㻣<’Žÿ^ÆèR¢+ˆ®L +M šÄh2ßZš&?âkÍðh"ÑLFö¨¯ÍÏf470²õ:êËi!£¥hE­bdI¯fdëiókùÇü,Ùc†üˆïõ1Äy61Ú’‘x=¬owd$¿Ý‘ì1ô[ˆnct £j"{÷NFüxo‘‡»51jfdmhaÔA¶/íe´ÈÊÚïÑÝDöØîAF Ô™qùh=¶kýq”ÑFqGsãÈ?Î{<LA'ÐiFgbè´G,ÜAÆãdù¹ç…ccÃgµ´ß×ÖÙÑ~°¥½»?Ä ë·–ö·3cÿt’ÏŒáÜ‹{‡O@ôMîðý î_p_ƒë0îêè7\SíGdÈ7˜ñ àÃqkçÀ™Ä7œÒâÌøG²ÿã^éªöN’:GAp&béÃýÆï˜þ£Tß}ôÛú×ìT>–|3‚°$ $Ëìù²:*ÇzâwÒoã)zì>¡|6âžä’9‚3èÿöZ´q 8çcŠgl¬П7C°åmq9“1•|‰{¼QžNvàþæ Ù|û´ué{ Üó8IòñÑ,’ûžÿÁÚ÷ÔsÀßE2öÓoXǹ̷¨ QÞkL'Úl×ñùàöYÛ¾x>túFÌu‹Àíü͖xm†þÂ>²”ôàÿêùl9ñ.#ŸýÌóÙ ²c.óÙJVg¼æÿE2W‘¬Õ^ù å~Ûð>¾–ì.ìÁJçŽÖQ]¯#YëI–}˜€<7Ï&âÙH<›™¾­äÛmžÞ:â³ý}>‰ìy?³íF’y“y ]ãÛIu¸µP‡.¯ {®¶Ù.ºf‡ù­8.o7¿ç¬}¶ÞQømû¯ýæ·b;¢?qs˜ód–ç€ù­Ø–Öç…ñ—£{ôPÿ+ìÝrM¬.Øoö}»Áí¼¿V\GÌu-ô÷BŸÈ–={¦1tfl.Õg/µgçfï&ß âKÓ {´ÜsœÿÃ>r¥875ÿÆ’L´íyÏ6ü×´_úÜrÿCÆ/'<ÀJõ!¿>/ëûß¾¾.ÿØ(û$}E}ùy¾>ï<[€¹Ê-ß ÙïóΧ…>®wϧåçûåîy3èûÍ÷C\ÊåºçÒB€³Ž¤~ä_óý¼ÀçwÏ¡åBçuF¸å>@{¬Ÿk?÷Ô\ÏH±¾aÀùZ‡?¿0©ßŽrå{ç¦ò‹$ÿJí4âÛËǸå¡ïëÜrýËQvúõp·ÛÜ›HwxÇÈÝ=Öåÿ„Äï›™”r=Þ±²;½cb¡oÕ½cb¢ìŒrvséÛu”í»Õ“í4Á‚ŸÚ×t_KýÁŽÎD“j¯ïho©?ÔŽpÍõM{a Õ7uÕG7X”îñ°°ƒ¼c^‰éÇsŒ46ÆØÉB}_ YÆ‚ks”¯Æ‹úÃkq=ÄÏ¡Qü\ù{ÒØeçDÙÎÐ>I¶óÇ´yÙöM¹ÏyÈBkqÄÏþ@ Í\e¦w^LŸkB£°»Ã ÂÕ<ÔÕ]¿»¥¾0\™î":I÷¾d"@¹s¤ãd~­‘ß;ÖÅïë‹ÒëëJÔëó‚g%=¾¾´zÒÊçvyÇËB½n&H3š»I3[Íëc ¾9ÿl—¿Í/Ÿã–§ŠT凹¢]ð _ï<‡?¿8ª’¾ù¢¾üÕ¾¾.ÿA¿|¡[îCGýï¨ú¤ñË"û‡{4+÷rT=|¹RÿðŽ`ù'ï¿çó»G²äY:ΔãÝŠ;êögÕïÅÉ¿F”Zu¿—¶}¼#\‰«Úò þBþ¿êøþ”ì\)ÛZõe;¿Ó>™ìKJ¹=«ûÙïü±âÇ_Öyå­êáÛ‹ük]þ<þ}þk]þOÈþˆ~â§qó¹ý´,øtÈÈ > N¦Ð×ÿÛæóàœ†Ú`¯*æÍ“ Ì1×}Åæ«Á95Ïþ>‚SR˜‡àô¦5†åfò m¾ÖØñ›iÊÙü(S^:!c¿¦Áuä‡vª?Ú²‹êº?ðIÉÖ:æ3«Ë~‘2ì‘€?î_žˆýõèËo÷‰¦6j?a«;ÜD—BüצöL½È*"_¡ºGw(Ô«¸ø±ŠàK¨qÀt¸Ç0&{ü¡²}iÕ•ýÒj Ç(0µopøõÚÖçhûj¦CðUwŽö³_'Û¯‘íWÈôµré°ålæ¶jȆo5Çä ßÊL1Ö¥Õ@š¿¬x_²vÏ*æÍöóóR5pý¼ 6޶…(w®É—Pþ˜|»ÍÓWÅEʑެÛO~×Èåðßyš£åõÏ7~xÙæCðE9¦KŒ½ß³åWCð5/¦îv/÷ÿñìõ¿Î·ÛÎÒé•k˜]ñr¢·‡qr0¿‚(1]Á˜®„ b~•Éÿ·8tººx…Ùb`·)ÆÂ‹œ¿Ò_jÛ£æûrΟW‘=×B°†Ù6³Ë­µs8Ù™á/ó”¾&ЗûéËGÐ@FU a4L jFv®)ÐFµDöúÑŒFAø#Ó¸Gªc$éKdy/at™GücRûqê•sÆÒ$H‡=éˆ_ëëEš*ý€Õ~´Ê?dúq†Çó¾”ògÍfdÛf#û›ÍÏcdùç3²ü ˆìïüCWûó"Fþuöwþ±ìÕ d?޽†Ñ²ºÆ£•5Y?­öh ‘íãRùZ¢>¶õ‰d»1†¶0º‘h{t#£›íèVF¶ùǵ7ÙüíÙ>u#û‡ÍßIÄ?¬õ?ĵ<¾üÛ™]»Y»öÙß›YÛø»þuþ‡¼ÜþÕs‰ìǼþG¼>íc$õ£r>ö=èûظl,„![:·v¶4¯>f x.öÁÀ[”.Wà>`×¢-3@lÝ瀠lüðò(ðå» ø`(ðÿ+úÇÕÓГEøÀ/¯éu–ØrïÃQ>ˆôƒ$èWàƒbVø@p°Dyt¢[®À‚=Qvy²*ð¬W üE,æg‰~Tàƒyn¹| |àæø E}¥ßùíä/÷+`>ˆë | À |`øø@ø@‚ïÚ³Ô{\õ×BÚçC¨Ù~¡?øú |0Ý+ð(ð(ðÇ„0møø@Ô«À9>PàƒbN–CxRSàƒö5Fèzö´ª‚ çûCø€Ÿ³gÈüóbAl~ (ð¥[@ÒÒaPàK§¡RÀ¹ßIÀU›º;ÛŽô§3X¡ÃbýÐÆ~vN,÷îyH>'FïèŠó7?×iò¤÷+¸~ ¤ÿãž×|ÜÓT?®Ïøðxâ~×ÏjâF¿_L:èféº*G]õT>’ÊGC¦ó ¡÷ßî Kî‹~yÞ½^þئœ?ÿ½öWVäû>ÿ:©nêæž]Èý§_^å^ è9(;T {6ÁÄŸˆâsÏä~¥ù<ÓÇ<üÊ(=€j„ÒŸ½± n(ƒ=8íÉÿÓæÑ·å<Ô§ñPôu¹ñwÌûö¾‹¿Ó[/Þ£:ñ˜$>ì×6_ Ù¡â÷J0…äø÷H ̰P,Ù±5ܸœxì4R¦Ì*Ì‚!Ôâ×öÁmíÝ-{[:+³ôõlñ]ܬڼ³?Ø;+{]sKgÛ}-¸´ãËZ³Î§Þq¤:þAÓÓò¿ƒžC 0½=ÿÄ7„ø†2¾j’7ŒÉÞ~9;†aD ô ®ô“HÎ&gñk˜MX¯œÇÙøV'[G¬ÛJpOp^Füö1èåL†å¬PÉ Á q”1‚SÝÖÎ)Ä×@|Ö^¼‹Â'x÷µ ‚ÓÂQ§Ç-?Þ9wApRë?ƒ®»Š®›Éì™Mòæ2{æß<âÃòôÛB¦ÿO²ðiÁY0Ý•ï§ß ãÇÿÛÓýøˆú9ºf9ãEß?î)]Û¯f‚ íƒr MvØôÿà{°Ïà‚µ¸…crÐîuz“|»–ì^G¶¬gúm]Ïôo ¾ë#켞ñm¤:n"ßl&»ñ Âo?Ú³µ@ï2þýô›Õƒ¾ùwpûå6ªóN›cÝ·“ž› ô{f?Êjdå^#·Ðµ·RzÉØI2 þÉÙ'l·Ï”Þ¦ÿbßo¢ëîHÐÓLi ñï!=­ÞÌÖå$¯Å¾=‰®C¿àÓ‹»‰o… ë ¥í¤Ëž4ï(ð®Ñu/Q ®&]])tÝG:‘½…e"·ƒÚó0µQ7ùæ(µ!Ÿßp¼Ùùí(DÏoBx®h þ‡IïC½˜·s¨å±}ò0óÂq²é!O&ïËüº仓¸Ug6£ÎS…ß>Ê®Áß+üöaúóó[1=îø©D›?A¼§Éoxûå²éIvН‘oðz¯ûtV÷§¨î…y.ÿ+æNŸïipç|´ëÈ®gÈŽ‘¬‚or¿õlÿhŒí![ùøç}Ç®'Ü®…Ì®Atú“ˆ¶ÿÓˆ¶–l.ÌÙy;X›ÿ,ÆæçÍùÑÌæÑ¤ïÖîx-ö×O‚™¯?Åù8ÿ3VŽã÷Ó…ßp-âóõ§IÞg ¼.}¶À¿€ø?CüŸ%þYû¼Dõø¥¯P=^¥z¼L×|žé˜N:¾Pбɳé Äÿ„ç鿦ôË$ûu0c×0œG¾T×L:Pß Tþ0óñ—¨ ëVþp×§×X{½E6|5¢žß ôm¯ž_§k¾ Aÿú]ûºæo)ý;JÿžÒï‘Œï’ ¸&Löh KÑÆïSÝ~@uz§P§—À]gþÒ„ð:óCægìgØN£èÿ¯‚åâÒñ£BÙ÷˜¿ø|óæ›aú~ fîù]cç”=‚þŒzÊd¡œ¥ôWž<üí]ªÇ/¡4/屜æ¥ü»à®õ¿¦ëþ®û ñýO¯®öè Ξ€õ5ô[è©”÷,´Z†§`‰K¼ˆ™#–xOÍBõóžš%@À…)ܧ`~d`·>{W§} çFèpŸ>b¹¡#7[Ö+?}ãråˆa“ÿTRDx©‘õóõtë=NêQúje}oøúF¹ú|ˆºsIúFËúÞôõqõ‰ÀÖ^I¬ÿ-_¿!#¾j,ÄŸ8û¢ìô"bøv~Õ×ëE¼ë—_ê–û‘[¾äõÓ·ÓÚ)²(Èýšo‡"ÑŽHà.Ï DáÏŸ?ôõsù}`–¯y×{Ÿ0Ñ‘"É +Až`Ç»å·D%·>CE}Ãlëêjkß›`ú„Ó'ºåþÚ÷VÖµo’[îGŸ á%Nvøs_÷ËÝÐ!8η¤¾$ÙÙbEy¡&ü>öVT=ãìByR(‰‚¼·}ýî'Ù¡=Bâ˜ÊÊ!|Äß åà÷“·£úIQo;¢ìš™Ñ³@l‡·ý!¥_òÓì?ÍqÊsgô·FùåÌ•ëíƒì|#Nμ{ç»öú‡óRÛ» ƒ½È¿ÐåF_ìå¾cõÛ{ û×^‹êï†_ðëÚ»Föc”ã…Wˆ Áâ×Óoǘqß¾Kêç†mHlߨ¥È ¿Pnt¸ÜŒ,õ“æg/¼ƒml Ï¿ÜõC(ÙŠ~ŠòËJ×4óüÒ(Ö+¼7_åòû¨,_ò‹¤uFýküºÖ-÷×ç7âüz­kGèžt[~P’—ryëAG׸¾EÖCê¿d?‡Öµë?GÝÜ ó¿Ñ“~ÚWóœ_ŽõÚèê¹Õ¯÷&·ü¨´EÞHÈ`‡ºZ²ª¾£µ~ ¨ŸÒUßÖn¯–Ö¿5w´tÕã5-Gº[Ú›J¬Û”zvlvíx í|²E¼.öYƒκø”þ¤þ_nÊíÝ ò¸¹ÄqófÖq³ ÄqzV²Ýå+éªßŽ„ú½ß)Ïв'JîM ÷ã›!}?¾´ùÐ=Úö4u·4×w(tN„nëZZ诞Ð[¡¹ ¾Ò®Òûýò[AœTBοÍuN•äœp#ä–Ûr^ÙüŒúHîtC€[· ²-u·ƒ¸Ô†jˆ]ïkrí9w‚ÜïrÊsצ]b›@î‚»]¹ëüò=nùz¿¼Ù-¿Î/oqõ§ZÂã†À”¶öûš´5»~‹°8Øtî _ÀT. «$¡+BD”/[!ý´Í¯Û òˆÜÙF\[Y>íí‘¶¤‘–÷CGÆ8ãòîvå%>D:àzÑß„FNÒÒ"tP®ÏŸ¿Ýå÷Jœ‹²_òg‡¬?çöYÿ×¢ì—ôß+ëêëïtøs“bì-^‡ü].ÿÓQü¾}QvvËv†âñ’ýôfÖvºä™û°[¾ß/?â–‡n‚Žº~:ë—ßï^_Ußî8ÿr¹$Øõ [î‡öCå§Ç@l×ÿCüU߇e}¡v}Äþ>ÜïïÇ]ùI/HRùå> rÿ;r;žtËïõËO9åù©üyÉ÷›ß/¢Ö`åQõ} ²÷Ç]þg$~fª‡q)×ÿÄ·¿.JãáI¡Þì÷ï{ýÊ»)·ëV~¤T¿¤ùí9-Ø#­÷\/Wªÿœò\ÂÃr¹žIóBÚ”ÛwƵ/UxP_ŽÏ—£]‚ØæÅtp(@¼Á1"{ Ç `kƒpM¾ mޏÐÐÕæºâ‡öè‡ÝÆß!EÂû—Ãç©=NM2~`?É–4*œg¹GoPõ£R˜ÔíQA{8„8…ógó#SÙô§‘•µëœ•[cò_±ùQ&ÿ†Í×µiö_˜ nÈͱ¦ü-[^gì*…î´‘,/5|_µ¿_ AäÄíƒ1 k!惀½-Aƨ„þ…ì…<²ÔCTl@ó‚ó“YU±6BŸõÚ ù§0ضªòÚŠýe÷k×$bžåè-æ ˆ –£œ˜ŸA ®Ò\A„¿Û]Q1¹r´§ÅüHÕgßæü•ê³YÆp%õ¢¼ÙÀã‹™S˜ŸŸÑó/?*©åÍ3×=cå§Œ‘ö Î!üPI½9Úƒ¢ÜÄ#ËbÏâ>õCÐ+©å-'Z­½§ÂƒìÞ¤VÞ–^¸Ù˜‡Î‹¨,õ{ª‚õìßšÅ~´kiÆz,­`=RôËö†^”·‚XwÙC˜çfH~äˆÊK{©Á–Co,Kí¨ K öùÂðØ`æKÌ/ƒ >YÖ/ÊÙü7Rº†Òµ”®£ôZbaz¥ë)½žÒ(Ý`ür«­ÏFæoÌžÀH¶#¿£6i`íQEr6™üQëkîïJ¿y.'®Ãf“/¾ªÈÒ¿6ÃN°æ,þØ’ÉÁBºåÀVîðd¹=ÒccëÙqœ£—Eè§)ÝJévJ·ùÌ›sÌãõýñç¯ä‚±ƒÒ›˜CAžxD×ß ñã_|c7ùØÎ;‘”އøÉç㤠¼3g ;Mþ~~ýHpïB÷Ñu5$Ó:ÄÚ4€œéÛv+kÀ}€¿ßÙþ6¨üÀéÉábˆýõ‹Á^ëñ™÷¸9zËÛWSÕ34½žÌCõvJï€ô_fXþr¶»Šv™/,0¥wRŠ[º¤Ñ›fë°ÛèYw>…<;Läí1òÖsy5à†pºŒäÕ‘|5Ü )¾Üf#÷:3’ƒçÅ-æ÷7x«!ÿÚ¿¸Ñä(üëQïOýeˆa†/BújL•3“·ByÛšVèÿÛšJ¬”{!¼RÖBôJ‡+ 4N¢V»}ÀW»`Œ´AxŒÔz~æ)ÇËðJÑg›ÓåKˆ%û)=@éÝ”¶¾!–ï ¥÷˜ßKoÒ:Šù\ ˜­R!—TsþJ?mÉ2KtûŸN7KvóÙ¯¿Î9úb"G_ Ý÷RzÈü^Bîé¦ô0¥G™?²=¼ßä)è¡ÑaëØA³´ÛQ¨\»¡¼#”>Hé”ÞGéCFÿp«ÿ¥¤³»tÝ#´Û×;éÍ“¾ãúÊmŸ}ñ‚r6zîµù“¦¼ÆæOeôË©^ô‹ÔúXïˆ ¤whoèû²Êê‰ûB&ê÷\/ÿžU¯ý³õ9A飔â—W)ü^š—‡ Ó¿+©å=Fé”>Y¼Î|±„o­ÎBE¿d¢— î—L)ê_Ú`ýsd§P¿­•¨ßPëqšÒ¤ªœ÷¬¿÷±Þa½¡—ÈœÉè÷3´ƒääGrò4Q•@ƒU 4œQ @2Y©†QÑEŒ.èRéòº’Q} Mb4E ©Œìê4F à‚Ѽ‘忊‘å·@$ö÷YŒæÍ%šÃh>£D‹-„0àÌÕD6¿”Ñ"|£¼ŒÑr¢D˱ñÞÌöË&ò]sÁÕc˜ ÈÛB¼W@ÁÓ îXB¾½dãXº¶à“Ü"ÒßFz°MkÁ¼OÆ~v€ô,ð.$ÿa_À>s¥÷’β}ÙEi7¥‡À…ö茰ÃÎQþÀ÷÷3!» san Ùõ éxˆR¼'›LúŽ‘ž­àÎGP¥kNÿñžSÄóñœ„ðxz‚xŸ$žÇÉÎÓÝ÷ïˆ÷)â9C¶7ü¼9ågîkØ»—ŒáçÃáÙs.æðìyYß>_ß—?s¸ñ éËOòõ rùwúåUny‡dáï*nûýá$»»zBÑ †¸å~Ô‰IQz¥~PÑOn¸úüd¿Ü WŸè'1ʃä§á¢ÝÈžópùŸõøcÞõ¹þŒ²£F°#Þ!ÐÌ1ý¥;êwÔ;R¬~Š_ÿZÑžP»\œTïQ¢~¸È×?:›þ‹’ô‘õ‡BñÖ¹üc³ê»È½ÞÆäG{8ÓBão¬X|(ÔèÅ.ÿíR»[»¤z]ò|s©[~·dþÕBpËrQÓžî¶ûZV·µ7·µï]w¨}¹¿ "9HŠÃüže˜¯„åÆïÏO•8TñX¹W$8x\<¶Ù`PöÌÃW o©Gþñ uAwèCŠ.X/ë´™àщny(àÏ$§<7+ª¾’½“]ùJs}”œ)®œc¾ Ny~šäסònÉž(»¦ vAüH([ß4Hµ„îŒq,?&ÚÑøÝ¨wzeôÖŴþ8½ÙPòÓýò‚}Ø¢¾"õi™ÉÊ1?Kôch ôJŒ=7Æùq6HóF8ÿѹ?•ã¹ ·ó<·<„61ß-—1îWþ/àim\ч ÁmãEîõg<ŽòòŸ–ƨÐWCÛùÅ®ÞThhiS®çjÛp ÈcÕE&¨ôXÍ¿/i­r òW%ùu™k×)^ž‡Ü³Vßÿ‰ÐW¡zÅÕן üÛ±˜¹\®¯ô{T°Õ(-wý5Ã³Ë pÐÕr 5¡Q‚Wd<|V'½þXÛ’VþJ;j£[~·_¾ 2uÈ_ÇMF¼CZã7¤¨sµ£3]ĸ¸r{á=óÿLßáå ¢QkJ§ËHN)RÚ€Tvר¬]û¬Ü<¥U”2åÅgS9zæñg<†P:Ø”O¶åC#êu¾ *ûËü}qµ‘ÿ¬µcD*¿õQY¿v[¹ÃÁíW5&Ÿ1‹y”/}÷ëŽùZÏ®ªYG(ÌŠ AŒÓHˆÓù^é ó|ó#)m|p‘ý}”É—¢ÒÕ™|É'cL¾t&í"JÍ{Is3yz?t·ÍÛï<Ú¸óWª}ŸÇ>×@Å6 Ÿ9@•Ÿé6~ÞÃÜ)Ý=E:>þºR“F^—£çhÇå©4Èåt\–ë[½Á ­¤^”7.c½ÇUP-¤}>„š¯ t<¥W¯4ÏC0?)'«9%=9‘Ò æúY=“3Ú5¹‚våhÄ¡Üz“?fóS˜]YŽ¥6˜Q|¾“e¤6T°^VNo^ê3ŒûïB̕ԛ£ç`(wjÆöœÚ§õf ¾Õø½’zQžû1ï=× m‚Ƹ+hèvbÌyQ^ôó¢8yhßtQ^Ⱦ:o…ßçÙW—ѾyæÙÚiƒÕÎ0z^±¿G¯Åt¥³ ÿvËϯj ü| ËæQ:×\sÆ^ƒÏ“j!öË7¿h~3·­¥u][Ë"ÊÀgTYnÿBŸöÿ}Howoê îzWîZ7€t/6ùâó:kÃ`²!æ/ó<°€Ò%”.-^gžaþj“¿Êæ¯Éè¿kz±Ý¦3YÖgøLn ÑóÉgñÖ—æI Jbè¶«øTžÊ7¼Ý¿ÂkþÙIÄçA¡ÏarB9ôðy^Ž®·fì\Ë!<©•ž+fé”Ë# ìÉbº"Â0ÿ¹dûVTؾÆýQÏžVU°á|ð盨ke±,8¼:•‚…hu}Drrœ| bäŸMˆ8£P|–7 ܳ¿#ÙmÅhL Ù3»£<’Îü^ÆèR¢+ˆ®L +M šÄh2ßZš&?×kÏÍðh"ÑLFö|¯ÍÏf470²õ:ßËi!£¥hE­bdÏF¯fdëiókùgû,Ù³…ü\ïõ1Äy61Ú’‘x=¬owd$¿Ý‘ìÙó[ˆnct £j"{þöNFüLo‘‡»51jfdmhaÔA¶/íe´ÈÊÚïÑÝDö¬îAF Ô™qùh=«kýq”ÑFqçqãÈ?Ã{<LA'ÐiFgbè´G,ÆA–5y ñø³b´uuWæ UÏNq‘„ðQ±«6ïìOö৑–ζûZðŒ>Í5ÆR‰CJuLìƒPÜ2äÑ÷q¸UÀW2¸eÁ­ .½¸e¨£ßpµßa¾°mÈÿñ !¾¡Œ¯šä còFP7IüÈÿ?ŠþË(¾ršDrÆ0™¸í¸†Ù„õZÁQ1|{ «“­#Öm%¸G<.#~{Ÿt9“ayÆS~ñÔƒ{„ eL†àØ—µs ñ5@plíÅi·8=ï‚à8QÔñ2ËKkGé°þ3身躙̞Ù$o.³gñÍ#>,_@¿-d:ñÿ¸ÕÅíÄY0Ýï¥÷ÓoÈ¿„ñãÿíñ?¼‡}Ž®YÎxÑ÷σ{ŒÇö«™ÌÆ•$§±ÐdöØ*òÿª;n/°Ïàbmï‹LÚ½Ìñâ]¦¼h÷:²e=Óoûëz¦ñ]açõŒo#Õqùf3Ù[Œß2~´gkÞeüûé7«}óïàöËmTçGúo'=7è÷Ì~”5ÔÈʽF2n¡ko¥ô6’±“dü“³[ðÛ‰çNJïÓ±ï7Ñuw$èi¦´…ø÷žÂ–#7ƒÙºœdàµØ·'ÑuèÜÞÜM|+])m']ö(Za»‘[£ë^މ^MººRèºt"{ ËDnµçaj£nòÍQjC>¿áx³óÛQˆžß„ð\Ñ@ü“Þ‡ z1oçPËcûä#`æ…ãdÓCžLÞ—ùu'Èw…mKîEf3êßü‚ùæ_˜¾Ÿ‚™{~Fר¹e ?£ÞŸ2Y(ç_)ý•'{—êñK(ÍKy,§y)ÿ.¸ký¯éº£ë~C|ÿÓ««ý¶ç öL>ã‘_„*<ãOõ5¿>ò'©Üò Qöør¥ú ë>ÒìùÍ|¤¹*¡~ÞQÞÐ9$ï(ïA¿Ü;š› hØ·7Ên÷/ìðõºGx ðp¼^ù[{.W>²ëÀ#ÿ—?óðYß9_ßH·Þã¤þ¥¯VÖ÷†¯o”«ï+QöIúFËúÞôõqõ5DÕÏ·WÒ_'ëË×ï¡•õ#ÿXˆ?qöEÙé™õíüª¯×;;Ö/÷ŽÄúG»¿äõÓ·ÓÚ)tnæüî‰ÕD;¾‘ÔžÞIUþü¡¯œË»d/þÕÇIßK] ò;Þ-¿%Êà(¹õ*êή%Ó'$˜>Ñ-÷×¾·²®}“ÜrÿxúO|þÉ¿äæåîÙÔÜ ’}Yìl±Ãç÷΢ú}ì­¨zÆÙ…ò¤³¦Ì–ø½3¢þ!qLe;ë>èõôûÉÛQý¤¨‚WÇQvÍÌè‡Y ¶ÃÛþ‰Ò/ùiv‚Ÿæ8å0]Ðßå”3W®·Œû89óìïÚ뽟ÚÞìEþ….ÿ3Òø‚`/÷«ßÞKØ¿¸öZ”P÷|¦_ÿÐÞ5²£ïüeÜm¿ž‘À×¾|©}Ýsáú¹ç:Û7v)rÏg–>Æ8§­Ÿ4?{ç?ýp$}þå®BáJV¤ðS”_VºvìééüÒ(Ö+¼7_åò§Ây–ô¯Î¨M‚_׺åþúüFœ_¯uíÝ“®sËJrãR.o=Èãè:×·ÈzHýwƒìçкv½àç¨{ƒdþ7zÒOûjžó˱^]=·úõÞä–•¶È•Æýævlvíx í|²E¼.öYƒκø”þ¤þ_nÊíÝ ò¸¹ÄqófÖq³ ÄqzV²Ýå+éªßŽ„ú½ß)7¸Ù¾=Qro¹ß éû±ˆ_Í…ÞâÍmð•ît•Þï—ß â¤rþm®sª$ç„Áà^ú•5¨˜aîtC€[· ²-u·ƒ¸Ô†jˆ]ïkrí9w‚ÜïrÊ rš%¶ ä.¸Û•»Î/ßã–¯÷Ë›ÝòëüòWª%bî÷÷ã®ü¤$©ü‡r¹ÿ¹Oºå÷úå§œrƒ—×þ¼äûÍïQë°ò¨ú>ÙÆûã.ÿ3?³?ÕCȸ”ëâÛÇ_¥ñð¤Poöû÷½~• ¿Ô·?nþ@{N öHë=×ãË•êÿ§¼Ç8­â¼6åöqíK?Ì—ãóåèC—àð©y1>57Û˜·tóæ÷RÀOËÈͱx^Mþ Í1ùv›7q­Ì‡ö0¯ÝÆß!EÂû—Ãç)ê A\°}øyü $Kܲ¨x_¹€2Ÿõ¤~TŠ£6"£=#*hOŽÖ÷ ïkœÍLeWПFVÖ®sVnÉÅæG™ü6_ <—Ùa~4¸1¹Æšò·ly±«ÛˆººÔð}Õþ~1¡•r´Æüe„<ª…˜rô¶£"ù²òÈRQÁƒÌ nÌOfmTîaù£^[!ÿæÛVU^[±¿¬Áb~bíšAP”=°Å|ÁCrô€óÓ ÒQš+ˆðwÄ#*hGŽö´˜Ÿ©úìÛœ¿R}6Ë®¤^”7xób óó3úcþòG%õ¢¼yæºg¬ü”AT¾Áù/„*©7G{P”»‚€%YìYܧ~úa%õ¢¼EàK©µ÷Tx0‚Ý›ÔÊ{ÂÒ 7Éy•¥~OU°~‚ý[³Øv-ÍX¥¬GŠ~ùÃÞЋòlpkLý2Æ8ÍÍü*È#™–öRƒ-‡ I–†[QA–ìó…?àÁCÌ—˜_A“¬_"”³ùo¤t ¥k)]Géµ)Áô:J×Sz=¥7PºÁøåV[ŸÌß6pˆ=;‘lG~GmÒÀÚ£Šäl2ù£Ö×Üß•~ó\N4ÇÍ&_|U‘¥m†?œhŽYü±%“?‚…tË€?¬ÜáÉr{¤Çß±ã8G/‹ÐO7Rº•Òí”n+ò™7ç˜Ç7ê)úã9Î_Éc¥71;†‚<ðþ4ˆ®¿âÇ¿øÆ>nò±w")ñ“Ï-ÆIxgÎ2všüýüú‘àÞ…î£ëjH¦uˆµi9Ó·íVÖ€9ú*¿ ²5ümPù7Ò“ÃÿÄû냽Öã3ïqsô–·¯¦«ghz=™‡êí”Þé¿Ì°üål=ví2_X`þ.J路tI£7ÍÖa·Ñ³î| yv6˜(ÈÛcä­çòjHÞeÄ{É«#9øJ2ú‡[ýÇ(}$ݥ멠Ýi¢òÐWnûäè‹”û°Ñs¯ÍŸ4å56*£_Nõ¢_¤~ÔÇzG\ ½C{CoÜ—UVOÜ2Q¿çzù÷¬zíŸ­Ï J¥¿¼Já÷Ò¼ü8\˜þ]I½(ï1JŸ ôÉâuæ‹%|ku*ú%½\p¿dJQÿÒ~çlëŸ#;…úm­Dý†z|XÓ”~ UýƒHç¨`ý³ø½õë ½<Âü™Œ~?SA;HNþw$'AU 4˜Qµ@ÃÕ@i>+Õ0ª#ºˆÑÅ]êñ"]CW2ª¡IŒ¦4•‘½CƨÜhõïcdù¯bdùm¤rûû,FsˆæÍa4ŸÑ¢EŒB8"ýÕD6Ï#Í/!Â7ÊË-'ZA´Ì£•52ZC×z4“h£µD6£ ÝÀh£@›ˆ6mad#ÝoedùmþF¢-mO ›­'º™Èþ¾3v1º#í&²×îI VFÖÖ½Dm dùìõ¨ƒ‘ÕuQgY>{ý¡êfd£ÔÛüýŒüHôiè#;Î&zˆÑ#'²¼2:!ÐIFóˆN1²ö<ÆÈög›·¼3*·Í­-O¦$>hôè)Î2zZ 2úP }˜ÑGRÒ‡=úãú˜@QüHgô¬@Ï1z>%=çÑŸèŒ&}’èSÙòO3²óµÍÿ#».}–Ñgˆlþ/½œ’þŠÑt¢/0²6Ùü½ž@爾ÄèóDÎø+D¶ìMFo ô5F_OIÃèÛDßÍHßÎ@? z‡Ñ3Ð?ñëßôè¢1zèÇDÿœ~Ìèçú‘•ýË2Èï÷g=úM †X4§Ìhÿe®)ñïli5pˆ$âòõ#ÀEQDEáüŠ(¢ˆ"X÷í¤oÏìGYŠ(¢ˆ"Š(Š(Š(‚õPDEA?EÉ—òŠ(õšYª_UBý»åŠ(bÿSD‘û$}£e}Š(Br.–íTD’w…¨_EQ$Ú¾,v6€ØÇQÄ+Ÿb?QD‘hýŠ(bøQD/µï’„ú)¢ˆá_îúAEbô¯Î¨M‚_׺åŠ(Bò6È~VD‘ˆr¬×FW"Š˜rE1òQDEQ$ÝÛrÜíÊUDEòFš"Šˆ%QÄäQÄ+?â–+¢É?b»*¢É}äþwäv<é–+¢ˆÉ+¢óOT½QĵïŒkŸ"Š QijgDíQDE©òÚŠý)¢ˆ"Šô‰?*©åÍ3×)¢É]@éâŒö,îS?(¢H9õìWD‘zQÞJQ¤ –lE)úo"Ù6’Âo2yE¾"[Ž?¶dò‡"Š(¢ˆ"Šÿj@Eè¯_ öZOExÞò—³õØU´KE¬Üf#WEúhL•3“·ByÛšVèÿÛšJ¬”{!¼RÖBôJ‡+ "Фøëß›Ó)¢ˆ%ºŒýŠ(BéaJ2Tƒ"Š(¢Hùí£ˆ"Š(¢ˆ"&Å/¯Rø]Eÿ*¢ˆ"ŠôŠ^EaT%x\-ÐpF5 ˆ"Ó@EV ÔÈhu ] Š(‚´QÄR(¢ÈqPD¤Fžè,(¢ˆ¥çSÒs ˆ"¯'Ð9PD‘w@E8… (RÝܽfSSwgÛN„1]0¨Ž*k C‰TqË_‰úY+&’¿î¼Ð25[!^Ò›¡/ ñ² âe&(ÄË¿ƒB¼(Ä‹B¼DµÃ / ñ¢/Ø^oB¼Ø>‡¾ytî§âÌ{npËâÅåWˆ*Wˆ—b¹B¼$诓õ+Ä‹)WˆÒW Ác*…x×>…x!þ© ö1…x‰Ð[TÁ·[QvÍÌè‡Y ¶ƒB¼xåó]{â%Z¯ØQÎÕBý…z*Ä‹P?i~^&Ø ñbùâEH¹¼õ £ë@\ßâ*?ÏùåX¯®…x1å ñbä)Ä‹B¼(ÄKº%¶ ä.¸Û•«/ ñå4…xJ(Ä‹É+Ä‹W~Ä-Wˆ’ ÄvUˆ’û(ÈýïÈíxÒ-Wˆ“Wˆ柨z)Ä‹kß×>…x1*Ä‹gψ Ú£/ ñRåµûSˆ…xéTR/Ê›g®Sˆ’»€ÒÅíYܧ~Pˆ—rê'د/)ô¢¼%”*ÄK,-Ø ñRôßD²m$Çißdò ñ}Õ·lÉä…xQˆ…x)þÕ€B¼Ð_¿ìµŸB¼ð¼å/g뱫h—B¼X¹ÍF®B¼ôј*g&o…ò¶5­Ðÿ·5•X)÷Bx¥¬…è•W@…xIñ׿7§%Rˆ;Ktûâ…ÒÔeþ¨…xQˆ—òÛG!^âE!^LŠ_^¥ð»B¼8þUˆ…xé½ ñ¨J ‚ºZ áŒj@!^¦B¼¬¨‘Ñêºâi=(Ä‹¥Pˆ—ã /H=%ÐYPˆKϧ¤ç@!^^O s /ï€B¼p: } ñ‚x!Å·9cÀÜ/ðkd¬ƒXqs[÷¾Í-Gº!%rEîãç!¹oðvf)¸åq‰Á[±jÞnL%Wàçø]É•DV¾ŒÜƒ<à xi5ŸôØÇÒhòNºåã­ÄBÒ/´ðµÀ(²e,'¾‹É…¸ÝŸH²wS]oñ¡í‹Àô;€êæE´Ìé75,çðç^ä·ý6åüyW~RdßÐÜNyî%®ó rù^öåT9åð¿ÜÀ›û\”·YÛv°øj:ÂQ6zQ|ËàõJœªÝ:¼ê×Ñ‹æ›IORý t8Îô÷À>2-¥ôÈá%ûû@“Ùæ™üçlÛ¨âÛà=^úæÍµ¯Úk‘7Í놡P¹× (ÏÜËüÑó+”Æí·¾äˆ=s_Åɶu_Ju—ÓøËÅ Fö1Ì0ì#™¼Ò³d¯å\jch4Q]Y¾”ui›-Aa 3 Xׯ¶.Z½Ê‡Šª$X«¿Ú;¸Xµ¦¶k[Z‹Ò:ÚSï,žH³³È{Lï,‚¬ÁÈÍÏqgK“·£¯êˆûËØ[Y{4ïMƒ±·W1öc/•ÅØSŒ=PŒ=ί{б‡ußNzð¥Èï™ý(+#îVPŒ=¼ö^PŒ½A× ßÅØ³s§Ï÷4(Æžµùyc³bìbìMÅØãòð·wA1ö„'ñŠ±ç•»O×c/ÊI_¬O1ö"êçÛ+鯓õ+Æž)WŒ=ÒW Ác*ÅØ×>ÅØ#þ© ö1ÅØ‹Ð[Tö-x´]33úaˆí {^ù|×^ÅØ‹Ö+öc”sµP¡žŠ±'ÔOšŸ— ö€bìY~ÅØR.o=Èãè:×7ÅØƒÊÏs~9Ök£«G1öL¹bìyб§{ÒàÖí‚lKÝí .µŠ±ç•7»åбqÝ^Gä>È6âÚÊò©bì…õH‹ÐA¹>бçñw:üбgË»åŠ±Çø¤ñw ÄvUŒ=’û(ÈýïÈíxÒ-WŒ=“WŒ=柨zì‘Ö{®Ç—+Õ_1öcO1öcï=PŒ=ÿ°¿—¢?ÅØSŒ½>ñG%õ¢¼yæ:ÅØ#¹ (]œÑžÅ}êÅØ+§~‚ýб—B/Ê[B©bì•áÀÒ‚­{EÿM$ÛÆ‘ßÇQ›4°ö¨"9›L^1ö 1ü­bìõ²?¬ÜáÉr{¤§Þ:ðƒbìAxü+ÆžbìõÚ`¯õøcç-9[]E»cÏÊm6rc¯ÆT93y+”·­i…þ¿­©ÄJ¹Â+e-D¯t¸Jã$jµÛ|µSŒ½~°9-‘bìÙY¢Ëد{”¦ô(óG5(Æžbì•ß>б§{бgRüò*…ßcÏñ¯b쥩ßPëqšRÅØSŒ½| dT%ê^-ÐpF5 {Ó@1öV ÔÈhu ] б‡´cÏR(ÆÞqPŒ=¤Fžè,(Æž¥çSÒs {¯'Ð9PŒ½w@1ö8ÅØÅØÅØ³zcO1öc/B¶­ûRª»ô˜Æ_.Á{Œ=ZÞàÿ'Áa níè^V€½¸mÅÒl+6›®œ;îÛi\úó¤».ùéÿØÍGAÛNA£ÁÂxøv·*hàbÒ;Žºvƒ±§È3’ÉB¹8åð£ŽdŽ&þ‹ ØBàÿ-(žß\ ÁSÍVO´»Üí^[psñXæõä´o?ý†º®dö×C¶5Â@)“ézûD` ñLeõ›Îêc}õ>⻊نrñ› |r‡_!ì¢òôòÏŠàŸæ©HñãÓǹtÝp±ÐžäïEÌž…Ä·˜ø°| ý¶”é\Jþç–‡`[¸Ÿ~CþŒk«U`@LðšÕŒÛé/ÁŽXK~]G~ŧ8MãÓÊõ…æ]˜ÚƒO*¿J>[Oöl€0à•í·×ƒ x…|›˜þ-¤ÿFÒ¿•x¶±ºmcuÃOÍÿ]{]{ µn±ÇƒùºeÝLuþ¿¼:ßF×ÝNéÄ¿‹tÜY¨÷Œ^>fîbv¶å¹Z*ÛDmu=ék†` _gx‹O7Q»\oì,iq;÷’}m'¡oªˆ¹WŸ[!ÿÝd[¡Ýró‰·ƒx“xm}|(ÆÇÝl§ði‚Ý^¡ïî£úÎb}¿êA?á\‰O÷’÷t¶ÓuPZá¹ï@X\îƒàŽ[´ýa²ý8¥’Íxuí&þ“Ä÷ñ‚ Ú9ú Èt;ºÝñnŸ¾è—{·KÛãnCpžÏ5‚óçßx·V‘[NÊC×»·^}’’úáÞ²eýnÇ ¿ðõy·W¯g¼½òcýkª[ÌYÛçÓ.M¬‹ ÄîwÃÝrÿàq·”# ¾ayë“ÈÇQrG‚ØÖíë©uùo—Ú Àq Ù1J¶#42ÚåÏ t4FÖŠ&Xçðgš¹HÖа9ÖáÏ4ã=nJš¹ÄÕ×c ™Keý! H%hÆR)hæ ÙÎP0éq.hæJÈ4÷¤š/Ûš©ÏfGb°é ¢þ0ÐÌDæ‰ ÍLy¢ âDÝJ†Šú†§šipU$Æìœêð‡_¦¹å~™.º" üâ§ôøÅZI ?ÃåÏ ü2SÖ÷M_ß,‡ßm˜‹ÛüúÙ wá9 uacO”ܹîu¡hÆóÜr1 ö͇ÚñIes}SçÞC[Ú»ë»;êƒgAÓ¦OƒmŸOçÀêê®ß×t_K}ýÒ\zØs ?»ï™4ß5IŒϪœ9üî‚—/tËï–º¼Ýùz¤!µ(Aÿbˆor,¿Ú)w·¾aûÊÛÂ.øaPIÝY†Š‹Ý’üvÌÅhÉý_¾Ì-ÿVB;‹a £ì]r;¯€,ý,zµ’úÙÊŒþj¬ ?¸ÜU OE«!ýTÔšŠŠ³ iiëÞ×ÒY_ø'˜:Lž2­ÅLsakQOSg÷5Å"݇Zø1VϾ5Ð{óRÿ­¹]ë–‡°ÈÖ¹å©0'ð¯‚[6ˆà‘úÞzû^èÖã:—ÿ~ù·üf©/ÆÕÍ/G¹.ŽLòqqdàÿEÉ·’¹éB¢Æ•çèQ•}óZáGTöM°}ÌßÓ× ^XÔP8ÔRXO|ô“å(õ`¨èGõ¥°žæ± Y“ì›Tû¹â×¢=²°oˆß£:`:ÌÈ,½=¯¡t¥µ㘣=–4¿•BÓŽ6å¥P¢£L¾Š´.•/ƒëë*ëËR0ó±PŠt¬É—B‘^Dé%æ÷R(Ò‹)µ!C)”h)饯®R(Òq”^iøJ¡H¯ ´Þü^ E:žÒ‰mŠt¥“)q¡ŠtŠÑY =:•µIkôñQ¯m«³m›*¯mØ_Ù¡G(}ŸÑW é8Òæ÷R¤ª«L¾t({¤êkosþ öµoZ¹3)Cél#¯l.³³œÈCóL>2òP/ÞÚX“³œ;Ÿoò™ƒÍ¯`ÓX9½t«·"àÄÛÊÑÖý´0_/PtÔ`Ù¨¤^”·€Ò«)]Lé"J—åä×¢Ì`bòåÜÞåƒ@ŽÎöX-,•BvŽnñ°>×@ü”aÇŸ4e,3ò¾•r–ú˲ ¶[–ó•ÔÛÛãí]J銌þ]ѧþ v•Ô‹ò–Cп0ߘÑ}ꇠŸUR/Ê[Ié*èÙ¿â—ø¾zdPÎz¿Ê[ï×T°þP×ûCôÀG¥Û\&Ë®¥t­)û„½æ:J7PºÞ”¿`ËñV?E›¼ÈùûpL¾ÙzQÞõF~é¬úÆtöœæü#$'ïщ ñží,þÇÐüƒè(âHˆ¡ZF£‰ÆŽ ±Œ.‚à¬ú%Œ.óèr¯üvíŒÆÙüxF"h$Ÿ[ççÓß'Ð F‰f2²gÓm~6#Ë?‡‘åŸ î¹õùŒì9ÀEàžWGºšÑÎ¥[²g֣ΩGK_AÔf²´šh Ñ*ü³¨–®óhÑFö¼¬Í§=‹¾™ÑÖÚÎhÑ0_rZº9%½ß£] t'£»R>ÉÙÍhÑ¢–²|»=ÚCû‰¬w'P;£{¨‹Èòw§$¿¿ ÈžG?JÄÏ£?HtL cè!Hwöé‘Õ{*†°¬* ¬gWK‡>¬Ú¼³_øèoöÎYºæ–ζûZð°GÓ¡ÝæäGê3(-çSœ÷ø WäüïÀÝu×CüQRÜÔÑo¸"Úok0_Ø-äÿÜïæ‡Bø¼Ç0&w¸Z$þa|= ‚oÕq'0‰äŒa2q×z ³ 뵂ꂺpu¿„ÕÉÖë¶ÜïÔ/ƒ`7Ð@vY–g<å'O=¸g,/úþypÏÙ~5“Ù¸’ä4šìùù ÕwØgp‡P¸KÉ}‘ÉA»ñîæMòíZ²{Ù²žé·ýu=ÓuÄÚéŸÁ:n"ßl&»·è·ŒíÙZ wÿ~ΊÐù øwpûå6ªóJßOußNzn*Ðï™ý(k¨‘•{dÜB×ÞJém$c'É(ø§xnyo'ž;)½ LÿžßD×Ý‘ §™ÒâßCzZ ¼3˜­ËI^‹}{ç«pÇq7ñ­t¤´t ]Þõ1ºî…à,ËÕ¤«+…®ûHÇ!²·°LävP{¦6ê&ߥ6äóŽ7;¿…èùÍžásEñ?Lz »‰æíjylŸ|̼pœlzÈ“Éû2¿îùîdAþ‹ÌfÔYØyä>Ê®Áß+üöaúóó[1=îø©D›?A¼§Éoeûå²éIî´_#ßàõ1$j¾™ÎêþÕ½0ÏåÁÜéó= ás}Dv=Cv|ˆd|“û­gûGclÿÙÊÇ?ï;v=áv-dv} ¢ûÓŸD´ýŸF´ý³dsaÎÎÛ¹ÀÚüg16?olÎf6Û»öX»ãµØ_? f¾þçãüÏX9ŽßO~õˆÏן&yŸðºôÙÿâÿ ñ–ø_díóÕãs”¾Bõx•êñ2]óy¦c:éøBAÇ&Ϧ/ÿkž§ÿšÒ/“ì×ÁŒE\ÃpùRA^3é@}7P9F³ÙiÊ‹íPX·ò¯€»>½ÆÚë-²á«õü¥o{õü:]óMú×·èÚïÐ5KéßQú÷”~d|—lÀ5a²GSXŠ6~ŸêöªÓ;…:½î:ó”þ#„×™2?c?ÃvEÿܳº/ŽʾÇüÅ盟@0ßü Ó÷S0sÏÏè;÷ ì1ôgÔûS& åü+¥¿òäáoïR=~ ¥y)å4/åßw­ÿ5]÷otÝoˆïzu-¾­³W>&?Ò Éô±Xò¹ <ÈÜ ñƒ:çý]ªß@±~½~¶/T?ï,ß6¿Ü;«wÐ/wÏæ¥Ã½öí²Û;Ó:ÿæž»38Øñz£ûA”^ï¼^âYÈ.æ³5²¾Ð¹´‘n½3ŸK«•õ…Î¥rõe>—6ZÖú8tŒ«¯ÇçÒêdý¡siî¹½äsic!~üÄÙegÂù½Ð¹4÷ü^ø\šw¯bçÒÜs{ÉçÒ¼s{=>—&Ÿß ŸKçòWþ\Ú• O°ãÝòÔçÒê3TÔ7<å¹´ ¦OtËýµï­(Ó¥µo’[žxn²Ã>çÝ«Ü9¸ûxèœ{^¯ççàÜó}Éçà¼s{™ÏÁyçøBýÀ;—:tàÃóûÉÛQý¤¨‚·ÅQvÍÌè‡Y ¶ÃÛþ‰Ò/ùiv‚Ÿæ8å¹³ ú[£ü‚ræÊõöC–}#Nμ{ç»öÎ,×ÞìE~ïÐÝ3Òø‚`/÷«ßÞKØ¿¸öZ”P÷ð_ÿÐÞ5²£÷^lxA¿ž‘8ì¾|©}½ƒ{¡ú¹‡èÛ7v)rו>qF–úIó³{˜Ïïo.¼6ò/wýÐà—¯Há§(¿¬tíØÓÓù¥Q¬Wxo¾ÊåO;.é_Qÿš¿®uËýõù8¿z‡ÜB÷¤ëÜòƒ’ܸ”Ëó°…Æ‘w`Í_ß"ë!õ_ï€[âºæ\ Ý“„î nùßèI?í«yÎ/Çz¹ç‡K7¹åâáÒJÃÐs;6»vˆ‡Hùu[ÄëbŸ%ôèðiÖ”Û»äqs#ˆã&ò0ª4n¶8nBÏJ¶»üc%ýQõÛ‘P¿÷;åÆÝ·'JîM ÷ã›!}?áÔ¹Ð[¡¹ ¾Ò®Òûýò[AœTBοÍuN•äœp#V¿²¤5Ì=.Ä.ȶÔÝâRªý v½¯ÉµäÜ r¼Ë)7ðÜi–Ø&»ànWî:¿|[¾Þ/ov˯óË[\ý©–ð¸!æ:N@¸ë(_¶Búi›_·ä¹²¸¶²|ÚÛ#m?H#ÍÀó†±7wqîvå%>D:àzÑß„FNÒÒ"tP®ÏŸ¿Ýå÷Jœ‹²_òg‡¬¿Ú׬ÿkQöKúï•õõõw:ü~Ф’½Åë¿Ëå:Šß·/ÊÎnÙÎa¾‡d?½™µîyæ>ì–‡ðޏ塛 £®ŸÎúå÷»×WGÕß·;ο\î v=è–ßÕ?|ù¾iü±]CüeðCT}–õ…Úõûûp¿¿wå'½ Iå?”û(ÈýïÈíxÒ-¿×/?唸æ¸vðç%ßo~¿ˆZ€•GÕ÷1È6ÞwùŸ‘ø™ý©BÆ¥\¿ÐØ÷‡³.JãáI¡Þì÷ï{ý*œ®oÜüöœì‘Ö{®Ç—+ÕÿNyaƒÅy!mÊí;ãÚ—*Ú/Çç˱(3f¯D‰ó[é¸äà¸,~¤#7ŽøsÐæ‡˜|»ÍW›ëŠrØ#rv‡ý!ï\ÿ§¨08€f[»ðƒ,‘‰èÈ_ÅŽRR?*EJ‘Ñž´‡GJnò¥¨C#SÙô§‘•µ«u¨ÆäKQ‡F™|)êP-8щJG`Gƒ•h¬)/Eª3v•¢]<QuÈF/¢¨E¥¨C6šÑ8HuȆ/Ax#ÿB/êP=‘0`l(E!š Ù¢Ma>°mUåµû+; Ñ$¢$ñ D#âG×§A¨4WáïWAÕÓYD ÊÑžós Û‘ù9P¹>›e WR/Ê› AT¤½˜ÂüüŒþ˜üQI½(ož¹î+¿‡ø üPI½9Úƒ¢Ü„øÉbÏâ>õCÐ+©å-‚ ÔQòµöž F°{“ZyOXzáfC 9/¢²Ôï© ÖO°kûÑ®¥ë±´‚õÈz§’zQÞBD•8Cò« G oUÚCH ¶2ÅL*5ÜŠ :°´`Ÿ/üAÃ'G_`~1}²~‰PÎæ¿‚˜8˜®… & ¦6þËjp㾬‡ Þ ¦7@&ÇÂòø'ÃAŽM4ŽÚ¤µGÉÙdò‘1Š*ý湜XD›M>s,¢ÍÐÿc•ã-™ü,¤[þüaåO–Û#=q1ÑO7Rº•Òí”n+ò™7ç˜Ç7ê)úã9Î_Éc¥71;ʉQv3Äñ}Üäc;ïDR:â'Ÿ[Œ“6ðΜe0ì4ùûùõ#Á½ ÝG×ÕLëkÓr¦oÛ­¬sôUþ~dkøÛ òo¤'‡ÿ ˆ!ö×/{­ÇgÞãæè-o_MVOo†•¼Ò; ý—–¿œ­Ç®¢]æ ÌßEé”â–.iô¦Ù:ì6zÖO!ÏÎy{Œ¼õ\^ ¸€¹—‘¼:’ƒÏ£¦‚4Å—Ûlä^gFrð¼¸Åüþïo5ä_û7š¼…=êý©¿ ñ/ÌðEH_©rfòV(o[Ó ý[S‰•r/„WÊZˆ^ép”ÆIÔj·øjŒ‘6‘ZÏÏü/åxù^)úlsZ"ó&[c?¥(½›ÒvÃ7Äò¤ôó{éMZG1ÄÚï„4£-¸¾*7ÚÊ™%ºŒýO§›%»ùì×_g‰}1‘£/ Ðî{)=d~fï¦ô0¥G™?ªÁ]1ëÈŸþêh}z¿ÉWŸg:l«“똹žYÚí(T®ÝPÞJ¤ôJï£ô!£¸ÕŒÒGÒÙ]ºî‘ ÚíëÆôæIßñ}å¶O޾xA¹=÷ÚüIS^có§2úåT/úEêG}¬wÄÒ;´7ôÆ}YeõÄ}!õ{®—Ϫ×þÙúœ ôQJñË«~/ÍËÃ…éߕԋò£ô JŸ,^g¾X·Vg¡¢_2ÑË÷K¦õ/íwÎV°þ9²S¨ßÖJÔo¨Ç‡õ8MéRÕ?nþ Ö?‹ßûXï°ÞÐ˃ʟÉè÷3´ƒääGrò4Q•@ƒU 4œQ QmTè¼8K t©Ç‹ty ]ɨ>†&Ar yBÍ’½CÆ¨Èæy€yË#Ë?ƒÈþ>‹Ñ¢¹à’GšÏhÑ"”_Ìèj"›_Êh æ—A8°ü ¢e­¨‘ÑêºÖ£™Dë­%²yH|ƒ@iƒÎo"ÚL´…ÑõD[Y~›¿‘h‹GÛè&Fë‰n&²¿ïL ]ŒîÈ@»‰ìµ{¨•‘µu/Q[Y>{ýê`duÝCÔ™@–Ï^(†ºÙ€ó6ÏÎ?PcdÇùÃDAº ôlj,Nt’Ñ<¢SŒ¬=1²ýÙæ-ïãŒÊmskË“)ÉŸ=zJ ³Œž背>Cfô‘”ôaþ8‚>&P?ÒÇ=+ÐsŒžOIÏyôçú£‰DŸ$ú”G¶üÓŒì|móÁÈ®KŸeô"›ÿKF/§¤¿b4è Œ¬M6ÿEF¯'Ð9¢/1ú<†3þ ‘-{“Ñ[}Ñ×SÒß0ú6Ñw3Ò·3ЈÞaôà ôODüú7=zèGŒ^#ú1Ñ?g 3úy~Adeÿ² òûýY~Cƒ=P¦ýþùsŸ—CÆljêîl;²®iOwGgÛýMè eakTI=÷°¶‡ðCú¹½½'RkDÖ– wÓÚ”ûøyH†Á{3¼¿\ î{\óñžp,€#‚÷S©oâ÷5ø¡Ï•„º¾Œú+ò ƒà-â|Òcß É;éz”÷v I?¾aÄ÷4£È”±œø°| ({7ÕùVÚ¾ÜÐ˨n^ˆÑ¬¡—CaÜr¿ǃàzçÛÒÿ™ü¤PË¡ÑòÜK\çäò½ìË©rÊá#~¹9÷¹(=n7²¶í`ñ[DÙè…U.7¤Ú+q>¨vëðª_G/¼r&=IõƒÐiÅ8Ñ<à žõ¥ô è%ûû@“Ùæ™üçlÛ¨âÛà=ÞÂç͵¯Úk‘7ÍûŸ¡P¹÷?(Ïœ¤Ìüú+”Æí·¾äÈ ËÌWq²mÝ—RÝ¥çfþú=ÂŒÃ<²ÏÈF@ðŽÕ’½–?«¡ÑDu dùj<PF`²€gtgK«Yz×·´·t6VjaÅÝÂÁLÌÁŒó+‚™"˜aÝ·“|äü{f?ÊŠCàºÁ ¯½ÁlPÄu'Èw'AÌìÜéó= Š`fm~ÞØ¬f f“A̸<üí]P3ᱚ"˜yåî£2E0‹²CÒW#ëS³ˆúùöJúëdýŠ`fÊÁŒôÕBð˜JÌĵÖ*ˆ}LÌ"ôAðir”]33úaˆí f^ù|×^E0‹Ö+öc”sµP¡žŠ`&ÔOšŸ— ö€"˜Y~E0R.o=Èãè:×7E0ƒÊÏs~9Ök£«GÌL¹"˜yŠ`¦fÒàÖí‚lKÝí .µŠ`æ•7»åŠ`qÝ^Gä>È6âÚÊò©"˜…õH‹ÐA¹>Š`æñw:üŠ`fË»åŠ`Æø¤ñw ÄvU3’û(ÈýïÈíxÒ-W3“W3柨zì‘Ö{®Ç—+Õ_ÌÁLÌÁì=P3ÛVU^[±?E0S³>ñG%õ¢¼yæ:E0#¹ (]œÑžÅ}êE0+§~‚ýŠ`–B/Ê[B©"˜•áÀÒ‚­fEÿM$ÛÆ‘ßÇQ›4°ö¨"9›L^Ì 1¸¨"˜õ²?¬ÜáÉr{¤§<8ðƒ"˜Axü+‚™"˜õÚ`¯õøÁŒç-9[]E»ÁÌÊm6rÁ¬ÆT93y+”·­i…þ¿­©ÄJ¹Â+e-D¯t¸Jã$jµÛ|µS³~°9-‘"˜ÙY¢Ëدf”¦ô(óG5(‚™"˜•ß>Š`¦fŠ`fRüò*…ßÁÌñ¯"˜¥©ßPëqšRE0S³| dT%Ð\-ÐpF5 fÓ@ÌV ÔÈhu ] Š`†´ÁÌR(‚ÙqP3¤Fžè,(‚™¥çSÒs f¯'Ð9P³w@Ì8…>G0CrÐEF8¸±­«{Á¬=í­míÝ´Hˆõ‚Áv ø6ïǪˆÿbê·øžÍÁ½ÃâJ¿#Ï0*ήAå(³žÊk¨|ȧßÀ-òÌ9å¹/úåy÷úíüY ¶W´§œ?—Ç}>%Ù< ÁæNyî?ýòAîõm~y•[ž*d²_”ã†FvÚ8Ÿ"9÷ËÏíäPÄ~š£6ydØç¹F(ý½gøŠiQcéTŸñþŽ>-çÝà “/ú¸Üwa4Fè]˜±­7ß…õÖ»D¬ =«*!² 6ùÿÛæ‡@¶g]C âϺ` ÉñŸsÙç+öY× Fü9×bk²óŒËÖCe£ƒU7ïÝAЛñ+7cº`kv 4vÕv DÿÛàæ¯“c+j¶B´õ`/¥m Ñ цrA!ÚÆB´Åé: ÑfylŸ|¢í5ò ^Ï4£æ›é möúgÉæÂœ­m m ц²Ç€B´IÏÄg” Ñæ•»Ï¢Í·cÄ?/†ø°ê¥ëkd} ÑQ?ß^I¬_!ÚL¹B´‘¾Z`¯A¢MZû¢ø§‚ØÇ¢-BoQ욙ѳ@l…hóÊç»ö*D[´^±£œ«…ú õTˆ6¡~Òü¼L°¢Íò+D›ryëAG׸¾)DT~žó˱^]= ÑfÊ¢ÍÈSˆ6…h“†·nd[ênq©Uˆ6¯¼Ù-Wˆ¶ˆëö‚<"÷A¶×V–O¢-¬GZ„ÊõQˆ6¿ÓáWˆ6[~Ø-Wˆ6Æ'¿c ¶«B´‘ÜGAî'@nÇ“n¹B´™¼B´1ÿDÕë´`´Þs=¾\©þ ц¤m ѦmïB´Ù¶ªòÚŠý)D›B´õ‰?*©åÍ3×)DÉ]@éâŒö,îS?(D[9õìWˆ¶zQÞJ¢­ –l…h+úo"Ù6Žü>ŽÚ¤µGÉÙdò Ñ}I£lÉä…hSˆ6…h+þÕ€B´Ñ_¿ìµŸB´ñ¼å/g뱫h—B´Y¹ÍF®B´õј*g&o…ò¶5­Ðÿ·5•X)÷Bx¥¬…è•W@iœD­vû€¯v ÑÖ6§%Rˆ6;Ktû¢ÒÔeþ¨…hSˆ¶òÛG!Ú¢M!ÚLŠ_^¥ð»B´9þUˆ¶4õêña=NSªm Ñ– ŒªâÕE…­®-ƒj@!Ú,ÿ Pˆ6N3A!Ún…h³duÝ Ñfé„@'A!Úž胠m–ž…h{=ÎB´½ ÑÆé,ô)Dâ…ßæŒs¿À¯‘±Bj bÅÍmÝû6·醴H`?ÉÈx+€·3KÁ},K Þ‚ŒpP+ðvc*¹?çÀïJ®„ ²òeääÁK«ù¤Ç>–F“wÒõ(o%’~|¡…¯F‘(c9ñ]L.ÄíþD’½›ê‚|+ˆm_n¤ßT7/¢eÖH¿¡¨a9‡ßE̲)çÏ»ò“"û†àtÊs/q}œoË÷²/§Ê)‡øånÞÜç¢ô¸ÝpÈÚ¶ƒÅWÓ>ˆ²Ñ‹â[n¯Wâ|PíÖáU¿Ž^4ßLz’ê¡Ãq‚–yd-2ß°þW©<÷ÏoþJvÝ)úHW>V_~<¥õ®û;Œ¡ôF[nyþË•}³©{QÎÇ9¯Ç'Ô3?Ùðq¯Î/º¼®=àÙõŸÔÆìI•×^þ“¸èà´]/h»æ¨ÝÞ£6yÚ5Ë“¨Tþ g'g£2eÒÌÓïØâ·+ë[Ú[:›º;:×jßSœ`ã×˸+úœ•âm)Þ–âmq~ÅÛR¼-¬ûvÒƒHÏìGYŠ·¥x[Š·e|ƒ×+Þ–âma=>Š·…×|‚þõ-P¼­Ÿ‚âm…(Þ–_¿ª„úyo Äþ§x[öIúFËúo‹ä\,Û©x[$ï Q¿âm)ÞV´}Yìl±+Þ–W>Ä~¢x[ÑúoËð+Þ– _jß% õS¼-ÿÜõƒâmÅè_Qÿš¿®uËo‹ämý¬x[åX¯®ÅÛ2劷eä)Þ–âm)ÞVº%¶ ä.¸Û•«x[Š·å4ÅÛJ(Þ–É+Þ–W~Ä-W¼-’ ÄvU¼-’û(ÈýïÈíxÒ-W¼-“W¼-柨z)Þ–kß×>ÅÛ2*Þ–gψ Ú£x[Š·UåµûS¼-ÅÛêTR/Ê›g®S¼-’»€ÒÅíYܧ~P¼­rê'دx[)ô¢¼%”*ÞV,-ØŠ·UôßD²m$ƒfl2yÅۂ䊷ջþ°r‡'Ëí‘ÅÛR¼­’M@ñ¶.Ä`¯õøo‹ç-9[]E»oËÊm6ro«ÆT93y+”·­i…þ¿­©ÄJ¹Â+e-D¯t¸*ÞVŠ¿þ½9-‘âmÙY¢Ëدx[”¦ô(óG5(Þ–âm•ß>Š·¥x[Š·eRüò*…ßoËñ¯âm)ÞV¯èU¼-FUq<€j†3ªÅÛšŠ·µR FF«cèZP¼-¤õ x[–:@ñ¶Žƒâm!5zô”@gAñ¶,=Ÿ’žÅÛz=Îâm½Š·Åé,ô5ÞVÀ3rû|Uw-~3Õ%Ê„Xû\‡â‰(žˆâ‰p~ÅQ<¬ûvÒƒ7€¿gö£,ÅQ<ÅÅÅÁz(žˆâ‰ ÎŸ€â‰äKyʼnzÉ,Õ¯*¡~ƒÝrűÿ)žH„}’¾Ñ²>Å!9Ëv*žÉ»BÔ¯x"Š'm_;@ìãŠ'â•ϱŸ(žH´~Å1üŠ'"È—ÚwIBýOÄð/wý x"1úWgÔ¿&Á¯kÝrÅ!yd?+žHD9Ök£«GñDL¹â‰yŠ'¢x"Š'’n‰m¹ îvå*žˆâ‰@y#MñDćŠ'bòŠ'â•qËO„ä±]O„ä> rÿ;r;žtËOÄäO„ù'ª^Š'âÚwƵOñDŒ…Š'âÙ3¢‚ö(žˆâ‰TymÅþODñDúĕԋòæ™ëO„ä. tqF{÷©O¤œú ö+žH ½(o ¥Š'R†K ¶â‰ý7‘lÉAÁ7™¼â‰@߇-Ç[2ùCñDODñDŠ5 x"ô×/{­Ç§x"…!9Ëv*ŒÉ»BÔ¯0" #m_;@ìã #â•ϱŸ(ŒH´~…1ü #"È—ÚwIBýFÄð/wý 0"1úWgÔ¿&Á¯kÝr…!yd?+ŒHD9Ök£«GaDL¹Âˆy #¢0" #’n‰m¹ îvå*ŒˆÂˆ@y#MaDć #bò #â•qËF„ä±]F„ä> rÿ;r;žtËFÄäF„ù'ª^ #âÚwƵOaDŒ… #âÙ3¢‚ö(ŒˆÂˆTymÅþFDaDúĕԋòæ™ëF„ä. tqF{÷©F¤œú ö+ŒH ½(o ¥ #R†K ¶Âˆý7‘lɱÀ7™¼Âˆ@ßGŽ-Ç[2ùCaDFDaDŠ5 0"ô×/{­Ç§0"´}¸‘~Pݼˆ–Y#ý†¢†åþÜ‹ü¶ß¦œ?ïÊOŠì:€;Ð)ϽÄõq¾A.ß˾œ*§>â—»xsŸ‹ÒàvÃ!kÛ_MGø ÊF/Šo¹¼^‰óAµ[‡Wý:zÑ|3éIª„Ç™¾ñØGÁ£ ”9¼dhò/Ûü “ÿœÍcÕB|¼ÁKß¼¹öU{-ò¦yÝ0*÷º噃{™?z~…òøýÖ·‚ñ£gî«8Ù¶îK©îÒc¹ÄÈ>†æ‘}$3‚Wz–ìµü‘Km &ªK ËWãÑ€€2µ)^óÿ– ±†áGÂíMîéîŒYëKq±@q±ÆâbíÅŲ|©Ž›@q±¬žfP\¬£Ô†Š‹Ô£§mþ(.·k!(.ÖP\,¿žßÅŲþâóÍO@q±ØÝ·âb¹úËÈU\,“W\,O^¬_q±L¹âb‘¾ZS).–¸ö).ñO±).V„Þ¢">x²kfF?̱Ë+ŸïÚ«¸XÑzÅ~Œr®ê/ÔSq±„úIóó2ÁP\,˯¸XBÊå­y]âú¦¸XPùyÎ/Çzmtõ(.–)W\,#Oq±Kܺ]m©»Ä¥Vq±¼òf·\q±"®Û òˆÜÙF\[Y>U\¬°i:(×Gq±<þN‡_q±lùa·\q±Ÿ4þŽØ®Š‹Er¹ÿ¹OºåŠ‹eòŠ‹ÅüU¯Ó‚=ÒzÏõør¥ú+.’âb).–âb½Š‹eÛªÊk+ö§¸XŠ‹Õ'þ¨¤^”7Ï\§¸X$w¥‹3Ú³¸Oý ¸XåÔO°_q±RèEyK(U\¬2XZ°«è¿‰dÛ8òû8j“ÖU$g“É+.$†¬T\¬^ö‡•;É…´ì뤡KbÉÅ´\ßçåú6+áßVr}‡_ûåv(Š¿¼;lŽI.¨¿ ¿?Ïý^vìÛ(w¾»^Ëí-î÷²ÆÓÃÒý¿û£«XßJøxou÷ó-~ßO†6®*aóAñXr_äÎÿZùý6÷ûHíû¢t¿)è»lwÁiìúbw½²kèÏGù."¼KÜõÿ}ظÈçPÞíbº¡kíÐö‰pÝ®¨Ýí‚÷;„÷p/¹^Õ÷P$<ÖŸòkÃå?fe¶(^þcš\ DA6MeÕŽõõúÞ¶–]OßÛÖ§çÐ÷ó{®ÔÁ®›ï™…h{}nkOïmkì-4?Yãçó÷÷S8ÍâŠpÄçâê?—ÖÿyÞj-NqÜoe× h»_˟Úm¤`Ý©+Xo£÷/àìâVÅa7X5Xh¯ŠyÊΔr*ïÖùŠ¿"]¼Yñ*ñ.Òrtj‰C|±Ð‡óïwʉG¯Šâop±újûÓÆP Ô}!mËßóûK”(G;NùK”ÇòhËY¶g¢Þsÿï Óùn6öâw]ÏÚB§¹û»ò¶á{®ö;BÝ— íߢx—Ý:Å­L õÁö)þ ”;gÂýåʪ—#×no|þÎØ´¹LYó“H¥ÐO¾LùIä!‰'¤äwy®ÎI‰SBèË…BºHø½=$]ÂÒe«H—éJ–®VŸJBºVH×5HâédO)Þ85+¥‚RŒ/…Iª6¨¦©.ŸM °êìkâÙ&¯úry X‘ ?iF^+W”W2,2h íM,{yÎeïÎÊÏÞLÄÞoaï¥=ÙY+o‘÷=am–ä2ž6»å.m?i gÑå÷’%Rè.¹?^ùJÛ›ƒö§n9JÛÂöƒJƒXòõtöMmlìøþh5:êtŸEÇxµ:Ùl0lÚ6N•Ï„N6‡½Ö:íÎ>”ÎaŸù#qÖ §³IY{Nçzg5œÎFÖ&¿$œ ¹t­d«€Ôd´ú¶Ÿ‡QèÍ5SÍiêlI;›H ‡JŸÍ<Û(õE¡ÔíŠûÈØ )^ æ¥mÿÝ vncù›YÑŠ²ö+úL`Ig>L¥©7¬0ƘfX“Ù¸šõ°¾TÖ2Jðz;W«,LisãÔEGkŵI‹²â&è l1yÅqù ÌØ=ršÂeÝgËs˳™å3Fàƒ1¸QÎhob°/b°·3ØÛ„²Ð–˜â>3†wüŒô2V†?ß!Ô¿w+ι.ä‡+e®Q¨."bùö°|¼/×*î0ßݬNxv½âœíò3äë‡Wêfùz„¶ô°ñáz·ŸWÜ¡¯aç«+TØïïeÏNBè{’õ#ÍÊö±þ§Ø¸ÂBú„Ôÿ+;Àúýú-Âfðof×]캛Õ3âÓ–QÖ–,˳‡µeL¡á£ùø@?÷*T§Kìç^…{žt`O0ØûÌ}¬MlÐÃ}ˆå=ÄòÞÂò‚î,Ìö``eù³ë­ì:¥Ðy1Íàcp>¦Øa§IˆhÆmìz‚]o—`Ì(…y’âP“+ظî`m¾S¡>=ö(îy¼YÊwBõiÅ|—3øâ:„ïœSœy©²±Ëã¡æºW°¼Ë+ (ç÷Z‚|ÖÆKXY<&m¬~Õßt«Bmaž•X½eœ·ŸÌ˜3Uv½Õi°6ÀXZìZc×:».°¼¦O;8žðe…ê×òñXbí¸°ík×SXOc×ßR躇úžÊê9®¸ñÑý¬OgežÁò?à“çY,ϳYžg*Þõô\–÷y,ÏsX;Ÿë^`y›å}!ËóÖ¶EÅ*œzd¥:¨MȆÒvË š¥-É(äúŠ ä º_ûÂêsË<ž´¯“ë“äw6GaíÇ7È`~«Q»%}\EÒ÷#\çWoØ<ôAŽ“[?¤}§üÞ­×ÑpœB=ò‡“[?Ä3Ÿjr»$½WHùì2Ýãé׎-!íÏŽe]À|©É«.íûõrÿ·†¶Çó].mÔïz&Ëõ_Ô\ý7ª_ÒK‘ë÷èolw翤Ùú$}9rŽì™?²Õ­—âùŽž°n=9ÒŠû»óv…õË­âÅ7;ÜïçÃÚ[gËr±š«é Ú^½’×+…ýõJŽîo<  °˜é‚Hà"¿†Éõ(! Êk½½+ü{:÷Ê|Õi ð%ymN­—j§7ÂW‡Œ°"‘zÈ6ÝK_‰0Qxý•µkŒh§û½'8Ëu®÷m ¿þ†µw§þ‹£”÷ƒs½ÎSåvÞàzßÞ6®>ãµÄÞ×ÂÚã×®®v)Á+aÕõu+‘Hè~+N¸ßæ?nÖT¬·gmêÝðŠAõ61¾½G~ iß°¨o ›ÿax$.¼‡ûDè8zX ·´ÇWUà÷*axë™ mOø|ZÍxHjöžïœv¿‘ü¾Ïý>üXwô‡Šøµ™&ǰ_qãwyIU¹Pºÿ“°52W=ìü »ÞHjúQ¯b=CJø7VÂת;ŠüZ¯ÕöÑ*wôùö›ë.w»ž%¾oWÚ^ÁëûŸú6*ž~õWÆòv,—‡÷7ì¹_`L¿ñÚí¯˜Ô.·n^ÂÒJs>êxO€ÏK˜ìøcB‹ T Ÿ¨Y÷ûyùý˜ÒÔ„üJ2û±i.˜!…:÷ºêŒÝ+è=×MàzÍœöµ)ké»ÅñÊàØQ­ÖEj—S~ÝÚ¶«Èá¶+n}z¦BdSmLæÁõM¸~ƒ£'Ae>pßáÓ?_p~Ñ„¿¦õ76Sø¯àí8?Ò¸:ý:mǵÆáR}0g^m¡÷MFΠ² vÛG“{Ío•Úµ1±ÄBb„ÔSÃTçíT¾Àm¸-BÛô9JîŽ ÇvzoÉ6zoû½X»éf‚+·1<Å•¥#|ãÄükõå1”kpµg®Íw|zï³{òøàrö'õ-ׯäÐŽ+" œóA®XÃkæƒ=¶õ:‹v-ëxW5Ùï«Ö°þ­JTùÔ|%»^îW“’T÷×EÉÍbþµÉNv½––1¯gg“íÚ¹†íjìq½*¿¿^Yzæ tFùN3+õ†5ì×™R·lƾéú5ìO3`-ëmcr0€ÛÕä÷ìzLûï` Ç¶^gÜײ^€ç–#¶Kr]´ÍMA=Û‰m†Âó—Áƒöõ„Âó´o»Dá‹Rû¶7Ù¾ð¨ìÚÉ‹Æh=oåÏýÂ5É®½4¿­êò«-ŠW>ïÒ욢el8'mU5ßäWçƒÎÜ”6·_×J$ÀU3Û¿~å1ÿÅ_S½µ3Yï9Š›Þ!ÅMëÖ±ºé=‘×ñ6œÃÚð×4Ȱë0»ŽrTv÷Côþ&~s“ãwóün=,>f “ÛÆÒ:ªòI¶¾¢š'xì¦A ª½?Äêíþ•Ò÷ÕN|Ôƒ<ê0m!ï•Ӕ統ò\4Ãq±#R¡åø78_úíBZ/$é¯iEëµa´1ñôg·âcóËåŠÍLÊÝ> <bºÇ§a²\²™öíYãöe}ê÷“=­á‡“ÇC”oB]£äã»yo¤1rÑÞ5#§íÉ N{@í‡d?r>þälËhÑf襱%ô¶€t1KJéÒt¹v°ägùì—®ÒµŠ×òy§âèòÔ’DÌ=,ŤÔÉR\HÜ3¿ïRªAʉ÷Ÿû¼ HýBi"íiÆ„t=K{…ÄûÉïÇ…´/ `é $1ϤŽ5™Ä~ð±i2Éß÷~Kw é!mfén–N én!©,ñu8+$UHy!ñ6hBšóI|.„Td‰ÃºWJó,•X* ÉhÌ&Ò"K"|hÏK|<–…´$¤ ßÉAIö·ü@„ôÌé9 Òó…ô‚€ô|) þè›´ÏTžfŸyN¥^ÖL=·6fT§gÈÅ x­ÅÖ½óljà™±ÛžÇbA31èR›±Hà E²û]…p íßWü·rÀ-À© p-ÀÍõ®a»âx¶äªcp9‡öo³|›¯WÏÍ Þ¹¼óÙL¾€å?Wq¼r^¨8^9áÔé:g›8›…6A¿ö(޵ˆa/úÄû}UÜV—³ü|«t…ƒç¹Fq¼|ÞÀà^¢8Vdc§âX~ñv^¯¸=|òö¦®0ôÝŠcQägaÆóuµÇšúcånbåâB{z¼”О$Ë—fùà}†=ëê„ßÀíGñ B§l§ïeÏ ÿ°~s @ØÆ¾’•Ù-ä…±•â¶äáó*.´q”ÁÉâOÆ-ÁÆØø³¾‡s¸ˆ œï¯8Ðîý õ}7}OÚ½Ÿµå€P?Ÿ¯„ú±|‡}ÚyXÈw„õq’ÍQÖnà2¾.ä‡öÇéËBþ{Ù3^ŒÍ(îy9Åú<£8iÐ÷iVÏ œ~.´`uPXmog0î`eŸÀ®w1w2x|Ú8~Ës’]Ÿ¤Ðù s_eåžØ ž<»j,ŽÕƒ¹Ž¶˜ÐÖÝ ”…¹}+ãÎ<Ë·'¤®2»VX]Ü smêºOq,E‡X]V„ºXuÖ^L&ÚfØ÷\dß¨ÆÆf™}C¿ÁzãømYñÇoOQ¼¸â–ÿ·X½OÃõÂ=Ç¡<Ÿ“÷+/<ÀÚô4 ¦8—ÅrÏ`c‡9—¶7 m†:Ÿ…Ÿý¾Pž=?{©âÌçúŒ\Ÿ¥¸×ÏZ|óç²¼ÏgãVr0/_ÀÚô<ÅÙy¿ ”ç–¢rß{„¾¿õã¹ö/)î”óýŽâÆùЮ±v½„µãÅ ›¶¯Kmÿý€¶ÿk«¸þŹÃ鉨®~¡]/WüçÓø|û?òùö¯`mÆ8»ãÞæW´ùU´Íí m¾ˆÕ÷Zá»CY˜¯¬P|ýz…àãö‡…÷°~ÿ?Z$âë?aðÞ xéÒ›pþ Ëÿ–ÿM,ÿ›…ïóg¬ήoeýø Ö·°2oêèauü®cRjÓ_±üoW¼xúoÙõ ö;º†ù /Ïê€únaï!ÚÃô=ù˜nµ¿UqÓ§· ßë=¬ ïõéçûÙõR?ßÇÊ|Pqæ×ß³²ÿÀÊü#»~”]ÿ»~ŒÁøkЄRº^¸B?Îúö Ö§Oâ>ý™â¦3ÿÄ®ŸV¼tæSÂ8Ã<ƒït!ûýŠÛöµ¬ŽÁï>&Œ—ˆo>£8øæß„ú>§PÜó0+ÃqÀÞ¦8óêýœ à|‘]¿$Áƒg_fýøwÅÆKíðžá¥ö/+nZÿVîk¬ÜWY¾ïH}åê­€+±|“V¿^/Ì’˜¿ioèíJ¸Vê:÷ûC~í‘á†õo}hÿ¼VÍ’ÕoÓVÍôO²æõ˜"IÖ¼oå’un%¬?¸½{ýÚë×n·¯Û«>¼—¼³÷†×®n/ ·Úmû¹ç»ó7m¾%¼¾‡äú.p÷ûª°ùèWßÖðúÞ%×w¡»>ÙËýCê»(¼¾wËõms××È‹ù»Õ¿=¼þ÷Èõ»­h{¿D ^?Aíók§d5+·ó½r½’Uì%ò{É*V¶îþiž~ j;ÃŒ]1ܹn£Õ†íx£ï)«ÊøóSrýW¹óßÖ^øÛªˆÇœLí8¬AW+áö÷û;üì5ÑQ¹áç”uËÒ+…M¿¶AÓ;ÝïeÚ÷žfißuî÷²…úgäü;]ùÛÞ'¿w›§¶ÝÖ¾fÚyƒ:Çß/ç—ÌQå9ö¿~µ à…™›bxë—ÌDe¡ášjÎÜÓk(™{Êóä~ó„T¤8§Ç~íŠ79 %ô;|@^2~õ‡SoƒqJºÞ·=Ø þ9¿q8©ð~??ìûŠpÒ ÚÛçn¯¬À¹½™&Ú ùûÝù_¶¾‡—û^¿MCQ‚¿×@ƒþ»M4åþ{xWßy p$Ì 3m¹Ÿòw X'Áß×mÚéíŸÛ´³á÷ $EnÍÕzi‹5Ó¿0ü,™€ÊIÖËùw»ÇÁã±dO„qò—Qw;r§‹_²¡ýòòæcîür˜÷úKXý{›¬¼Á¸N¸ßËôù]AãºÏÝÏžt¿û}9 nÐU„w@ _G•PúæÛ°ù{(|œ=típÈ8ûí n Ïÿ®Ó™§ž“ßC¿Ž¸ëy‚ÜïI÷ûå0ùHN­TŒª[2Èù92æPTÑõÒ+¨¢-v÷Œ çYÞÐ,e´¥šVÉ£ZQ­Ñ·R;ŽºÛñ䍸äXh¹@YÂS\tñ~Åþ ›ÿ«½Ší=®„¯›[•Ðuóîf×Í”ºn<²’iw~9rá»Í·™ý»Íõ¾}ƒ_{üàžPÂçñíJôy¼#_¯–ôœZÓòÈ*áÉYQËš5‚ç«ôжCr¥wº+=%¿‚ŠT<ƒ—{p6† Ž÷#´íæïÅζÇoîhK@lÝÝJs¤î%”ÔzzÿD%tê­„÷ÞsR Ÿ‚Or½oÛ•ĪJøœuÃÝ/¿Ï¹ßßçÝïÊï5wý‘Hxи^¯,¨%=O¦>š3Lºt.-@—À²!X> üÆrN‰Ž¶År%|E•æVœ¾ª1=Ó+í^%l¥µËn }ý ˆðæÝð ‘JîQ”™P_$F„ÊáýÙ$篸óËB‰‡üÚ6žFxý_xÕðúWüÚVÿ}áõwÈõ›®üm×´—”ƒü–;ÿïøå—Ûç×ÎZx;=>ûêáãôîf¿Ó‚޹Ýïï•ß/¹ß{6AËîqzP~Ê]~³_ÿåv¯÷É Úõ÷{Ùýo¨;Ý(ëï©JèwõäZãà×ßß ¯Ïó]ïWBçûyò|À ¿ÑI¤ñ¸OWÂçß3”ðïøL÷ûûä÷Ïr½oßöd¼$›ØnÅñIÒ̇۳†hìGñŸ"ú¡šp¿Kq|˜4«‰°æ?Ë®ãì:Á®ûÙuŸâø)ëAv=À®‡Ùõv=DÇå ¼?G„ñæ¾C¸n'kÛUlܯbßäá{ldp&éý2kq¼×úäy5Ò{rTÑÌü:ª<~:63Çš‡{Œ‡{^c¸§U÷¿Ã×q;,‚qº•]³ë4»N‘|ôäîáD=Â||HÌ¿–c†]OíèPÂñ€8Ÿ6°ò·+Áë?ôÄ>ùðÉÛÉ*½F F>wÐA:$NæfÃôþ”XþŽ -²r[L> ¼MëØ`Êm{‚ðÛ˜V<¿KiîÃߥ¬ý»@‚#þ­ HÂßY±Ø·Jùè9n;å}¬P¯§#z=M/Õ{Øõ‰JtÍ ž5¬Çݤ]TÃîŸÄ®'ÙXºF«7 ë0KëÙÿhxt†ÀËQxDx[¼ËYÞ˼í È£º·ÓnžÂ=HW²#/Öèów‰óm _þ´š¤§5û#k†È›Ðy¬ÖÔj0ùœ²:¶fN9ûÙšµ ”ÅK)·*þ”(`Ø:ñ£vEE¤vÎÑïÙ*³øq½<Ž)ÅcƜکÝöj~/»–Øuž]+4ß&ž¯Ì®UúÜ>I3È}›¼ÅT"y7ß,æ_kiK3X¢íÿhXÂi·ˆýÎV,ÑÆ4&Ú˜†´û>v­Óç¶wÿ».²ë²0›7ÅÜÎÆS¦Ž|LOÑûÍ uð>nnÜǦûÙÌw[VÖ%v} »>™]Øõi´þóxýOe×û£µÛ.wÿ¶;ŠcÞ|ê[í÷ic/÷·h=÷ñûgÒ÷[øý³š—gÁq ›Gq½çÿšêí8õiVñz‚4düž·áçÍÖËÿxžÁ®OgWмŠ0î6^~Žòë™ßkY/À{6»>—]ŸGÊQ%8µzPYSM&v¸àÖdŠÐ›ßyp û߯ÚÒ¿ãkÑ¿)ôãùìúÛ‘úï8;ÿí5ì3ãþ×{Wt2ÿ‚&Çýkاýû N»OZ/¤!é!mIç i‹â8›o6mÒv–.Ò¥!i‡”Òéj!¡€t®I]Bâ;Ôn!Ý ¸Öß($žÿ&!ñüÜY9žR’¥KI!õ )ÃÒ€ú¯Sú!–ø½èl~˜%8QÞ%¤Ý,íai—”FCRVH{Ò>)ÅYÚ/¤ –øýA! I·éHHšdé(KÇ„ÄÝÏÏïoe阔¦¤B:ÀÒí,ñçw6Hw é‰M¤Y–xÙ\ƒ4'$ÞÖKzƒÄóñò¥É¯«Ê’Ù ñ|¼|= Õ„ÄÕóûSB’ÑGIO_ç¿ÅÒÓ„tHz€%ž÷éBzFHz¦Ò,=KH¼=ÏŸÏüžç}ŽVûÍy[ž1Éø +¥†¤…ô;!éw…ôâ€ôR!ý^ÄôR)½Ì'½<$ùå‡ô‡BzEHz¥^1½RJ¯ÁéuBêdéYz½”øû?Ç×üþBâtéMBzKüþO…ô–ˆé/…ÔÃÒ_ ‰·‰ßÿµÞÑ =ÄÒßém,;ã¿c‰¿{·Þ’V„ô¾ˆéCBú0Ki2}¸‰ô –>)¤O5‘þ™%±ü»¥ôZ–þEHogé_Yúlé_…ôyœ¾À‡ýï«Hò¼PJ_ Hç(šŽ‚&%(o—Û”˜Ö cfd×ÛgßáWÞ_¥Øa)ÖƒrÇ”6ˆôvî£6ì¶Gåxçj•Ý4*e­RSN3fÇZD რÆÓÀ÷íJXd•³´Þè*gkCÏL”•­4®Ê„6G A`·hmj{î£ÎTŒ°K¶Ý°e€‚et‰¢ØÑUà, ¤8/aËÞÃQ 4e;{ÆJ:wT•íŠi «¿_(Çp(”TÝÍÞßËžífíöB…²qnW ÷{Ù!§ÇÀ´Íÿ¢˜Š_Åüí¡ð½žg×¹ó7íùz½ZßOåú6¸óË.MzÞè./;nøX£ú%OÕA†®÷„}^_û6…‘=»áõ[q‚óãH9p¨-~Sè½mØÉÄb¶!%cŽaÛúþ§ü~=}ÿ1~Ï•6±«{üÚ~.~µ¿‡Ý¾MB?‚áøw.æÛu?}Ö¬hn“:B’(’q˜8ëqÎWõGH[YºHH<¿çydøÖ9étÙ6§½íñ@ƒx4í«oKx}­ ¸>ý“ÛVÿöðú[AqéûVP\VßVÅSµ‚â†Ò¾VP\–¿K c­ ¸>õ’ŠûØÉ·]ñ&Ç!¡„~‡VP\é}Ÿ»½­ ¸þõ†Îc€3Òÿ~¶‚â†ô/ ?ï iÒ ŠËó·‚â†\Ex”ðutP ¥o­ ¸ÊÚã9ù=ô눻žVP\ú¾—ÂkÅmÅ [bëîVš#u÷(¡¤¶WzŸw¿oÅõ)WPÂWdQinÅé«ÓVP\o=aD¨ÞŸVP\)¿éÊß ŠËß/ºß·‚â ùÂÖßS•ÐïÚ ŠËà>] ŸÏP¿ã3Ýï[Aqé}+(®0>~ýz~H{Âè½X 7¬ÿ­ ¸ŠË.G¡ÏZAq•VPÜ+­ ¸—±ëš¯·éoÖ Šu ¯e½¯—]S´­ ¸´\+(.ƒ›a×Á&Û3ø˜ŽC+(îjúÒþVPÜõ¼avmÅ]ÅÚ»—Œ_'kÛUlܯbßäá{ldp&é}+(®ÒÐ_}+(î÷¼ÆpO«;…3­ ¸Šwý·‚ⶂ➱žUÊ× Š+Þóü«a=î&íjÅåpón+(îc´¦VƒÉç”Õ±5sÊÙÏÖ¬¥,(^J¹Uñ§t@ÃÖ‰µ+*"µkÅ= ˜S;µ‚âr,aÑö·‚â²ë"». ã±YiÅmÅ]ý÷iÅ=íz[Aqž·áçÍÖËÿxžÁ®OgWмŠ0î­ ¸®ñmÅÒ¿)ôãùìÚ ŠÛ ŠÛî“Ö icHƒvmI¢wç-J+(n·Ò Š;’²BÚö)­ ¸(­ ¸<J+(îJ+(.¤¬”^’TZAqyzUÄôJ¥÷ ÒCJ+(î'•VP\1=¨<æAq!Œ‰BãÜÿfD‹ƒŽ³Œm ý )×0Œ«NÆi&èÛWp¾Jû¦|MèÜo’ÇtS©¬™SšU Òõø}ÆôÞ}]ªë?àþwÛ¾ù¨â&ø~çKLmnN„§4˜x:©ÍÄAciÉŽUÖ±07Ê9rÑÆÜœ¥Õœ¡q®ÔñØè¹ VæiT–½z%¯W ûë•\S­\ÿ¨=,k¼‚#þÍ­Ay`Bø}­ð^,‰k8_È® å¶ñ¼b7'â{ø€x^:ƒáyµÑUH’dŠ­µKvEøF yàÖUk&}Õë™{‹¦ÅpEÒóiKegV§ä·A3ï<<óìð{‘¾$dI?ÊOÚp.¤ ¸Ú‹éo¸ÂsxùûpþÌ£Xx£eæL¨\œ'pmßèÔF–Ù:©Ö˜så‰Ôz¸ÙZm¨°{ÝÁ®ûéo¸Â=¤UB= Â5ΠÆé=¤æ Ê¹'„oÁ‘Œý-vm[í·8ÏoÝÄL ӤЅjE -jz¡jˆqéùºZBV½ *.Ö}u?Sì5ÊýÊØ.Xñ³žB±Xg;ǺϬݱø8Fc× ïOu`4fH3xìw©&ôÿ?$¦`®óè`Ç9zó 0‰4{ØvëD„w&‹Ôö$ʼn$r }ÏÖ±­—jM9WžH­w­Øér|½G¡"ËËéžÃ³UB}"ƒ ×Ý ênzi•PO2¨pdPé=¤3€.ùVn ¼Ê/,®åIöû áGÅ®ÝìÊÝ2!v½š];Ùu'»nסó˜O}9  )ÿv©üå®5¿žŒÁ[[p:>úC:\­këúë¸*6«pu«Ð^®?~¹„kÖ’KØ€¹Œf„v»@dÞ€â‰km<¡´þZ¿Þ?g½æ¥ ¡áÏ{ºö«G_~ñÐeÙëö^óÜÿÓÁìæ+7ý`ôujö†«kŸ¸òÐ}£?ýþ�üªl<ùüwûe_În½ä…_øç•Üè§>ñ´±Û¾–½üÈÕ?íÎ^øìM¿È¿êXö¼oÕÞð e㯹ý²/ýõÁì…þçâäySÙ-ïùè˾~9{à §>óŽ÷|6{îùO{ð‡/ÉÞ |gæ=ÓïÌ^a¾à'Ozàû£_¿¨ëW=ò¡•ïþÁÈ{Êߨ³òÃ>ü³™?¼?ÛõŸuýôž'eÑ‹ÿî_–.1²]ë¾ô–û^öµì¦=ùoÜÞžÝþî Ÿüާ?1Ï¿mè¥_zvóC¯þä?ÿ¿¿ÍöîxÖÆßzxåó3ã7}ý ’½n`&ñŸóýÙíóç¾âÓ·.gÛv}ôÙ_¿ûyÙó:g‹/þŸ»²ÊÉ›¶vŽ^0úµ·l»ò½/ÿTvç­o¿éÀ릲—¾¦ôÀ;þðÚìEW¼õÓµü,{Îý_þÓ¡?hÏ®{ëŸßðéç¼iôÇt~+õÁŽ•_xðÊÝ?}Vöœ·¼ýù†²×Œýá'õÁf7ÿprêÊ÷>”íüÁoå+ó³Ñ¯}ῼ?Ù‘½p®sÓ+¶| Ûû‡¶pâ—g¯>¿=yðÙ‹~ôºOlºuÃèRûýÃ/ùŸì%©±|¥í3£ ?òöw½÷÷V¾ýº£]¯xÑ£Ù ¾ó„¯|á»we×½òŸü¤ghÙô¦—¿þwîÛ”Ýùõ vtœÊž?óò¾ÏÞô»Ùí{Ϋ~ñŽ7g·¼ï}F)–ÝqýŸ¾èÂûÊ^ô汩×nÌþðý~óß}üöl÷þéúï½ô¾•o.¨œówÏÈvÌÜ_ûíï`ôŸ2{×G{/ɶ]ö‡óÖ?_™½fþžÏ~ù?ð¾Í=¹™Ïþ¹ÙËŸûÉù?ÌÕGöÁËöìzúwW>½kçÆžº'{é¿}ç¢ïÝû®ÑGGîx{ÇÈÖ•OÅî~ýçß—½þÛmï¾þcç9srÌIàT‰z ¥u;n‹ÍÇó¶øú3±-6Wµ-6W»->þ¨²!ò¶Ø4»I±)¿_×JGk°'Wøz¥B…Iô ÏáÙêöÁSŒÍíÙŸ'µ é\y"-8wÕûLXk;Ø5AÃî!­êù *\»Ô.zi•P·0¨p“[hZ%Ô Ô ¤¸€¦UBÝÊ Âõõzi•P/dP/R¨2Óz…çðl•P·1¨ 7Æ ŽÑçðl•P/fPÓ˜`P'èsx¶J¨L%¯ œ‘ícP÷Ñçðl•Pw0¨—KPÙ³UB½‚A…ëƒ:@ï!ÇNŠâˆ¼W…‚Ö”ð{ÚGŽ2ãóŒ«'ŸÊò袷úäë»Cø}§§Û§¬í~]ìݶeT®[54«!«ªåô9]Ë{‹NŠ`Ù³»¢VïÓÝ»…²‡BšÌë½:‹Ãq<¬b—é¦Õ§uw­+ñD±o>Ðy_P“}‘ÇÀû~b½¨í½á4Û{Ã*Ú{ƒO{Oòü@âÚ1O„>tžf:WчNŸ><©Á˜ðöî<Íöî\E{wžF{7 pUŸ>Ì ¿¹È™ã’«eØ’¨ˆðü-‘rëúk¿*¶Hù†Ðm6=ñ¶¿Ûì.áýšl³íij›í.Õ¤„y(ãí c±îQg\<Þ„¾—“è4¸Î¹àÿά¨%[Ïê¬ü@W®åÚˆ?Ï÷hx^¯sJ­âu‡}¢¶åÇ/íY˳œeŸç!¸³çoê£Ð~S>ôÓÓñH- ŦUx:ªâŽªÃ6ØÔ_BÅ•>;CŠ;Pk¹òDjUW-H™U¨2 \§èo¸Â=¤UBÍ1¨ 8Ì ¦ÏáÙ*¡j *\¯dP¯¤÷mÚúð/¬(ŽâΪ¾°¯žã ¨çÈñ$ª@ÒÌ21]«h¦ZÃXés¨¢å4ËRM¾6%<â„øäáº8‡Ùõ )ï->µ+\Ï(wÔÕÚTµ®gÅU±ó[ÃèÎæœZ*M׫œg^ÅIY#Òs¡áŒS  ¥@à©T¤@'è³æñPøãÌËËZ§Œ†¬uÊØ:el2¶N[§ŒrþÖ)cë”1~ë”1¸­SÆÆí=ûNÔ\/qð)çj›a i• ¼ ]ή»èo¸Â=¤UB½ƒA½C‚zM«„z'ƒ ×.µ‹ÞC:Ä•ï–Å‘æ¬j·äg†u¹ðì/|f°/Ñl—Í üWÔÛ|(Ñå WÌBŸ™o·çS¼õ½Ì ‡&* "ž©(èƒOzÅP|äwWÞóʼÜܬ¬üˇƿ𳠭üûõ¥w¿K¿峿ÿ‹'?ñsWŽþôMÏ.ÿçÑo­|ìé¿èù&ZùàWÇ>×õGK£ÿû¹~è£ÿS]ùvúº«ô_ÙuºãòO|ñ£||߇Ÿ4÷ÃÑ¿GçÅnüë÷­üléß;Þ~ÉÊÃ÷>ü7G{ÐÊ?ùC×ýâÒ+0ðÑ¥¿_¯¬ü$þ÷õš7þ蓯ùØóþ¼²ò¡«Ú*÷<ÓÊß¿ó%/ú½Rlô~ñ¥Ÿ¾êÿµò™O=aá¦7£ÑG¶ýþñƒÝo[ù÷;»¿·å [W¾ñîñÌÜ@qôçÿxêÕñ–7­<|`áÒ{Ÿ·´òÁ_Þþ¿¿sÿÊG¿ÿùÝ÷\2úªLª|Aýåg￲áþ•OLû“Drô¥ë&îúÖKG¼ðé½³ç+ûþ§®yÇÓWÞùá—=áîó”•?ç=wþ#Oýãþ'ýõoRF¿ú¬W<ÿÙûGñ™÷\°ôž-+?¿éÕw}ø²+ÏúÝ0qÿ§VÙò¿ôêïÌŒ¾O©¿êŸ¿ÿ¤lûןøÝ7myúû” ŸzÁýÛGúÜïí3Ï¿åŸÞu黯ùƧF¿=õÜÏuÆåþý¹Vâß>µò÷oßûð+³£ßÿ«ÊU;\¿ò…¿|êßÖö¾•,Ì?pð3S+_ºaîâ‹®ÿÀ迼µë’Û>Ö½òË—X×ýà'²Jê—ùúÃK£˼዇ Êû6|çØòG÷=åûwéÿ¾áŽÑÿÞ½å¼kß\ùö‹žõºñý¯YysâGß~ðÉÊèK_ýƒ—=ô±ûW~ò¯o»í[å¡Ñ/*çnýçoýâ¾_ž÷ãö·þïMÿ´ý¢o¼aôãïùæÉåñ÷~íûçÏ;W~4¾7öú/ürô}¼ùç·yå'þÅÿ÷_W½~å‘çö~fæç[Gÿ¡½é¡çß?ú•ÿéù3]\ùÉ÷žõª/=k)ÛþÒ×?á›>O¯qæéÿ¼dà%ü×=õ®+Úÿæ ÙsÿúE÷~ñÉßÊvóšLû•ïýŸ¹-ý_GóÙŸ¼üƒXb]vë/GÍÉ-¯ýé'/yhîÐTöý?N|wàHvû[î>iþå'FyÊß^úG7ÌfoÚÿÖ'm{ã½Ù OüçÅÿùŽ·d·ÿêÊ—þé?ïÍv=éÍoQ{QvÛ¼íøÂ'æ²7œÿ¬‡þû#Y´ï#Cüô¼•/]ž¹é;ŸJ¯|óE¿P?óŒw¯|×zѦñÏý4»³ð‡=cÏjË^{hÏ›z¬wfw¾¿ôÕâ‹?ž=oñ5ð[Ê^ú’?øêø¡›²7ÎßÿõW}ÿ{ÙóÛ|ñû¯üF¶w®wîU·ý®ûÞ ²Ù :þðŸ-¿!Ûþ¥åç<ø‘¯Ž~ûü‘§Üñúgf7<ø•k¹ïú•½süuoþó¥ìÖ' Á=?Ne¯~ÿË®;gçSG¿ÛûÐï}ú}_Ìvm¸ê²×ÍüÏè—_û²uÿï‰ïÊ^ôÀŸùÄó{³‰ OÿÖ‡–âÙkg÷]ýÇ _În{õÍTžõƒÑ¯÷ž žüd/ýåãon{$«üâ¥#½/ýÒÊ¿\=0rÃÿîÊž?ó{^”þLvë¿ö´SÚ\6Ù~ç¹æ¿>”Ýiíù«ßýú³;^m}æSï|aö²—_÷’ŸÝ>“=÷‘»O}bC6{åíŸßwçÃ/Ì^ôùWÔ®»sô‡Æþÿ¼û×gozþs’úºËV~üöç?yè“û²û}|ïÁÒèKwÞú½O_©Œþïòâwþë©ïË^ù½—]²ðÍsß§<ç{žWîÈ^Þö«žw½éÙ ï|ò³.?~pô?™Üöd/Epþ_57ú³ûÖ½åä—¾0úïVê|ïs³×Žÿà‘O^t›c8]…Èãðüª Ë·3,¿•ähûȣ˻ ˜´ô¯€Vn  }çÌf¹^bLÿ ¯™¨Ðsýovmw5”§©x_b8™L²¶ŸÎ}ÎD\ßcsM³jG´­¤x·Ñ€µ½^þ$rY¡®ÊÛðþ¯*½lô'ý¼ð‰¿upå_¾Òöµo+þtÿç_öœcô'w}ñs(vÙèÃÏ{ÊÈu¯{ÍÊýñëÞø·™ý+ß{ǧþá5¬|ú o¿áŠÜ‡V_}ëŸÔ~òŽìº]ïúΩ¯îý–q× ¿Òߎ1ÿ“ÿ­ïׯ©xõŽÑëÊ^xhäÅ£ï¿ðÆ…ç¾æÁÑoÿÝþñ3ï¦ã1?Èܾn]„/о°à(ò8'ÌzYÆœºÂh¿•3ë|;½ŽÏàîCp,—Óªµe)‘r~¦WQj|'L›G?zy{ýóFjåÞƒ[üò_£'·üΫNN}˜Ý?{ôýÏýê.ùèÀÊì'>wËu£#ö{z?8ú{Ohð‰Ïú±ÔÙsæÔ\Í0-ÅåLÊë ,_Ð&Õš©/ žü­8ÐÝYmY6¶,í–°.—K±‰|{tã½¢©&*ëKZ•¼VBsz Í.#PCwuqœ4ò]÷°7ì§Tp-£§!¼ŠÑMøß4þ·›þL¡§ _æçŽ•ši”FÐxÊÆÙôº“T3uŒt£‚ DªQYÐÌ‚VÉi#(=4„ñ‚»ÌEÓ9µ$8@²F{sBhR¯ øKÝŠ&µ¼®Ò»¾[áßIuÉÉO'ÒÅ“‰~rIã,ÉD.éD²Iõ^0¥VòFissZ®f°ÇqtÀ4êU —: ËØß ÕÄ•ç44]Ë'&´…7LÙ… <£€Q*ÑO¦ð`:v!ûF˜ÿ%CüÇ0ýIÛ…¦¸£(ñ/¼&t´^žÕLp+eÌâñJÆPôr¡B IC³e?™:ÒÈt‰î³jzY­Ññ@ûLÓ0Q -¨¥ºÆ³‹#Aþú§“¼½¼c]â°® ;ÙyÉ~'{Ú=“H:Ù¨´Ü³«à«i%ↃvtŸ»£BQh½Ùþ wð5R¼e΋4T›L“÷™>ÿ¥Ê‰è•«^ª±ÆK•>X«‹‡þÌ,X§8NçBœ}463ðЏ`ûšZ°®ÏÖ´l3~‹I*jÿ¹ï0/Êf#L‡¡à¢i¡h†ÿtæq† LÊ.°úSÒoƒÏFÀ‡9¤ÅEÝ$`ãœê?38` ¤úÈ7Kö)Á|;a•g¹òç»w<éo|Æè—¯zpñöŸ¾|ôG'ýåg^ûO+߸ò–‘ óõ•Ÿ¼ðçßvÿ5£oüîÓnü×+²ò‰›^ûÍ·v~hå+'oO¾ôs¬|þïîJ¿ú±òõ,}ð6}çè7Çžÿ‘ß~C}ô‘ÊÍëñŸ/ýÁÊ?\6:ñÔ•Ï?uç _u]bôÇŸºô§¿ø‹­üÓ—?9’yÛÛG‰žø«gæþrô+?zí?Þô¤•/üBÍ‹úþ`å;¯Ù1Þÿ/WùÓ}_þàá©•÷¦¿¹ë²kWþ{Cvúg+¿;úȱöÿ26ú×\{ä½'ûV>¾ãŠ«þÓ&MéÞø‘•»â?ÞÙ­~%»î9߉ÿÍß\³òmk~ÃÈw{WÞrÙ7êïÿë…ÑOµßÞ'ÌŒ~í#oè~øŸÿyå×=û?Rû¼¯í£/ÙöÀ¾•Ÿ ~ðoÿxïÇF?óÓ{ÏÝþƒo®<ûÕë6ŽüýëV¾¿ãcû>ñÊ»WÞó†w™ïXúéÊw¶ýÏÓ㣟lêÉ7Þµoågïûocæ]£Ÿéñ>ðÊÑOþ¿_Þ¦Ÿ34ú¶w<ô½ËŽü«ƒ›F?P¸üe¿ØÜ¹òÞëw¼ðŠï]¼ò½Þ7?ú_·üÅÊÏ•'T.û›W®|û÷}ßlnô'[2ŸÿöóF¿õ7¹ç<åÁׯ|lÇ%Ïÿþ=´òùä¥KÏÙ<±òð§^ô­Ø‘­£?øæñ_M¼õ¥+ÿô†;¾ö_ŸÿûÑŸ\öÆÞŸÿÛøè×ÿòÁ§~ôÓ_ýÉ?þÏ_•>¡¯üç>8{Ç7ó£ìü7?áðòÊw“;þãÞoÅG¿¶ý…Ý<ðôÑ÷þɧÞué~ºòé ®ÛðÎ?ëýù-ïzÚöÕÑÆ‹/ySrô_{Û¥üÅOF¿½þW/|ê÷'V¾õù'üÉŸ}ÊÊ×Þ‘\|îÛÞ2úÆÏüÃ'~ö”Ïôl?©ë¶ÑÚήî3륡“™x5/é•úR¼P©Ë*šEzº9(û…4{ e¸ò¶J#°<ÈŒ*xFÝõŠUSgKZ”·M®v]")=ZŸN¦ålíIÏOž C™!ùaÛ”ô =…ÂÚ‹º¡öx2OgI Ê}¸ô¶ŠUÇXÉÄØ SpK»¯D™)‘Ù¾²·pÁZ£4gñî©f®È;aXöaϲUÓÊö]M­Õù» eõ^ôoôŠ}³~s)ö ÌMpÀëòê2߇[ Ì,Ør>µR¨«N ¶`¦\…',¼Ë®x®Šž›‡¿ O69žqdüäøÌÇ÷íÖ*'ÇÇ·ÍìÝŒ½mrßÔ¡ñÝãp3shÒ“aüØ‘#c3žÇ“ÇŽî››ºÓó|ßôôØ}ÓòóãcÇ÷My*Ãõ‘šÇ&&¦pIÖŒ}Gö?ˆ+ ·“ûƦoÃì×¾£32€Cøá¡ý‡ÆÇf;º{\êõcİAí1Lü- éõú‰Qw¡¤ÏæäYuáq£zíÉcÓ(ik™™VÜ‚­“øCi•ŠŸYÔ1 þÝ7ª°OȿݔQ'6$ À9|‚À¤âsjSÁT«E=Çï7LÌŒé0YîzM/Ù¹ójMµ4»´­ôȦá,~ÉÒyJ;AP—Jý;¯‚†/#£d"ŽHO;è"ì‹§eäp®©åŒ2^´y¢‹#¾ºds%ÝÂ|'í‰M-­ÿu¿ë®âá2*ÝšVU—ÕJg uN«æ¼jâ_˜×Ðn”ëîTë5x“3µÎžXÇf‘ŸÑʪ^¹:ó DÂ"å³f¼jà?a˜…N\Š£-®°Ç¦ÆM@Ñ$þ‹ãÔϤ’ƒñT_g®ÈÍ9ñ¶î×Jú4g¬’7µEËiig®6+4¸MÒ³ÛM°G”òÇ„6uæ\½Ì½³û€:ªé%€tKI«jzãªE:¨GTÓÂOÂê.ëV5µ¢u ée<| ¼´:Çâ Eý^ØÀtVñ}餿ª¥Zt×2§—`g”ƒUY7ñ5¯ƒ?®ÖIw'ëÀŽ–<­·?~gÌ¢J¨õÜ<îC>¡æ•S>C2]Óæè˜ì«ÂÆcA70REUˆÅ.†s,WÔËò øûx¿‹{˜qÍ ~R2Ì‘+iK*L0;އ Ïïp‰©_j%o5-Ì)TÒrÁ¨à_x¹Ö‰J–V`=á‘P`Ûµc¨j,jæ\½DŠh%­ âzŠxÇK@®à!´ [uPû&ó÷„áU½bUu Êx—ÎQÇr1´¨×Š*þzÕ¢jáW¤(Þ²×ôØ’âíO #O!œȼžÓ¡¯Ð¿Úrc÷’ U4-oÁXBkq~¼ç6ÐC³H«õBÕ „—C?(V U `5*yÕ„ú}uÜb2, fZÓÐ(¯jÄíÕAD¯cÀ„„ñΛBÝ{vÃî*‘”éÉ·à>]6ŒZ1†&Ǧ§ñÇ ÷-ÕL5ÆæBUõ ä®‚©çaÊBLEBBbˆÒ gçŠ&|òS†LøÖ-krfŸGŽ!ÝIË]¹¡X«áípo/ë@ÂŒãÁ)ÀUÀ¶½òðRüåë³ N\¥,è.LNð ›Ú=¨{ošaæô|÷ÍÈÒÒ}#}™‘ô0˜õ ?R³·$—r^츚›w¶çœpñë'02äŒßqS7L½Æ7fôZ‰¿ÜSý#ýÉ‘ä°L¤Û–‰-ÑÔðH*(¹È_â’jHÒU9$¡†$¤eçî]®iT,á#ÇxœH-ÚŸ&çìo$©&¨Ø&Üda\¾ˆ'½ô|C_"OÊȔϊ”üæº)cŒúÇ®‰F̹ÚUYQž"‰30íãg/YöÂÈb ‡ô’ V ;å>2lDk“é¡xßàÀ@Ã-{çLÑ(«n™Ë‘z¹¤- ':´‰vÓj‰É‘•N´6+“îï÷gú¨¤d³o{Žªµ¢wÏ~ÀT‹j9ø”­R-)QØØœaJnRénNº ¤9Óu<£*îÝÌ-†÷įGBvë^EƒŸÇ1’ÅMÐòÈ2æj‹A3á,â&e9g–•é,ÓìY–@Ó5Õ$nÖŒz Í™F™¸d›U-='É ¸}zn^3ã똰Åo/â…øªpUE™ÆDi#¨¨Õ4Ó°rZ^ÅÕçôÚr³U¨€öËÁq~&ç¡ó.eÅ-?‘²›ý€6 O%#ç¨ð¹k ¬îfð=9Þë¶ê¸;˜°±C.„û\¢:6CGµEm9~;Æ©õö}c'ö £Ús3¯§T- r2áÔØmT´ø¢ºLÊ’Ó?¸ë¹UU¨ž’_qÒ“\Í]œÃÆßK#ò~8˜‹sq¼Kke¹YÞ…Í›¥RŽL‡G’)Ê›¢ŸSÊÿEé´/ê‘©MÙæ‚Ð=Di]„M…@½(›P!JœÂ™c™äPŒº BQ(©·7¹{»+„-hŠuƃê#¬³ßq¢ëœÊ dr¤oh$™ d·5}vxºg…òÙ |tø›wöçå¢ùh¾Xýùhªˆ·]æ£+ž—V--=¿|d2G1ñ>Šo0-™$b™ãN&ú}UöðJÄûC #µ½ÝË>ïˈ²]s2wÎQ{êU Ú'ŒJáÞº[Èw'ˆ‹]¼qãÕJ3q²³¢éyÍ”ɆRcÜöœn¸ÙcÕĘȌŸÐK ½ ©ö´Ôi w´hH²hM†&·k{Ì `Tñ܉WèÔ 4´ «Àµâ¬:p,”9Qǵ¢îÔðÐ0¦ÖǵN÷%{SÃ)Œm÷$H‡(‹Š™>û(O“×I…uÝ*ª³z 3™„ °ßƒ5FÒ5Ψ´êÆÐÌbޱ†B9O»éÂÌΫŸcþÖUR°D³°ò;(ÇZ™ÃŸ8kâ#Sḑᩖµ±¹Ã~yzßd æŠòMs˜SÂlS¬£\2 :&û†™×ñpvi¾¢×À9uY5çóÆb%F& Ì9‘œòÃÁD:!·pÑënÈÄ\ã 6 ’™þ‘þ!J%)Ú‘²?@p›-´Y"–¤(Ý >.«dÙXCþQ„€¼H@P¨¢ëá5íËf\çjÐ.?\½ ÃJFg/p PMJޤFÒ}ìÅöæ%s"¯±öR:‰Û¸à„^¨h˜cºž·‚s§Œ¥e¼3;j8*Sû*9#ï˜Rü¦òœ“á] O,æDF|&ùh_%™î$XÆ™% ãIP݂ԵOÇÃßEPï´zý“sݶ²?ÞÒÂÑg ¿šÆåt»™v 'íf¤݂ŽÌP_j >ÜŸ¤:2Ü$‘Ü`h“ª–+–lZß`:>40Ô&§eÀ½ Ô¹×(Í,ÂÚìîœ%÷7Á°¹Ä_¤*‰ «3JÆ“™Œ»Ó5mT{»J«ØƒLßp&>œrA›ªãíÎAµ>‹qÞ¹m§Îñ¢Id@–­ ¿›N†ÁÏ`ø}}ÃÃ.øµŠ©Ïc˜ÓøÃ—ñæª €C™t¼o Ð=äÔ@bBÕ]„û1ïÁìCrEM¯–¢V‰§Mjª”¦ÍuÖ€©ÒyÀ™K%¯k¹ù Úƒ fÖš>Œv‡âÃCýiWÕ‡"éÉ~c)¨B¦EK+ݫօY-7Mmü£ bbê zÍš_æ%i#±Ãè±eµ~MÅ«/þ¾4îQ'fõ¨¸®ºLõš1¿cé`U_ÓÌ!”«KûÊðå:gÔŠJ”-ÜÇß±Xq*ƒwüéþá;Ü«ZŸ§º7‡Õ‚ê1\ Ù×'Yz¸VE‡ÌAŸ 'ßLjGsŽ4Ïæ,Ç »9›Ú1Sä‡Õ¤ž4:èXcÚU!òF;›ZÕ„õ<$E‹Ó[šªÍ¶¸œajD½Æ9MµT5ßb™ÔËÕQ¶âz;8®¿é&Ĩ‘ಀ> ï`© áפÁ]S¹j•ì,”êZ§Ì¤ör&µ3©1~Ã8Çx ?r¾Ë|,TÀØU¼ÇèÇùí*Ùã>üßp"c— ,8§÷ÔôÁªBG¹ #ÆsRĈ<7ÖQÁè™u!O¥Õ-ë•ûTÖü4ªR2ª5“=KzU þв¸‹Û1¹oW×Á9]Ö›¡“ŽBD‡i`˜ËSÚB¬C×ËtÜÒÉTÎ6ÙÔr9zó&Svœ»mª7šë#t€t³#?GÊcp…~gn‰«°´2&¾¸!úìlIÃy4“”Âzû(/lfšE‡«|L6€ôÑd¾64³¯açø]œç‘[§+ÌÚŒY™y¼fŒhÒ­~ótàÆôt9ÃDoÑ(k½”9é`f'æ«ó‹~€‰}ÓãS‡Žƒ¡¬â£vH6Ò©%=µ?…ûñ!<ìÞUë94®–ruÇUg Ç$U[Ô-pÁƒ:öqÅ  Ö@"%=,{õç0Óĺó„¤Þ=Y7«EáTÕ>ú%›|¯¸Šd//ˆº{¹¸Àî*äXw5”×áT ô£ø/BŒh? £@j®ÚC¨#eò\ÅL`ù’΄0ì(‰Ì&2‘ÃO$ ž…ºhs˜M‚3Œø!MïÜ5dÎîéIP@ã¾âLuÀô¿È™’}TVÅõÉ$c?_û|( èF/Q½±üÀ³÷úN»žÆ%üñŠ-fðŠYº@«ÄŒjbM—âøK>Á‡ýU‰ Å&Q±­cÖ'7ÓWâ§eÖ¾tJ. ÂyõlÐ*ñ{å²áÊÕéd:MdI”Np%ÅŽ ÈÀK¹wÀD'ˆ.8Aº"Ó)ã.ï’‹*ó ­K£ä ‘y É<úl™-1‡0™0s¬þ”gýÌru­4“B Bsç-I–›HÒ™`mã÷ ÁøDèŸ,åˆÛYÅãV–Ò@Š!—Sœ‹%€ë0c¦D¢š;¦ÒÌ‚V`@ «*=|0×Ý!œ*tŽUðÀV€Öu¢]ø—ŠyAÍÊbœ”#G/1Yù‰Qز•“ˆÂȳg ›”%Aš8mçÍñÖØÖ¨¥œJ;ê8•Ñsí ZàËbÚQ6>^\.°7&ãÀÌ뻞1 p.‘Æ2†D!…Ç$TÝG&'­J¡û=Wž÷Éœ 6ày¦l¡W(<i ©CŽÞCr¸¯×Z¶fà-/'’½‡ ~Rù íÿÝ”/g„ †¢T¦[ LëÒзªfo“èæ v:eä&»ØíxéŸDþB¾Ó±#¤ ~:ùz½ëaghfJ"þO“cõ¾ÌH*C1:…%e±B¿™$þgSO_IýÕ®²»¤UÕ”›Ic‚•iNH©\0ÁºøÌ,‰œÈæÃu‘H–‘¨Øo¦š@:œ¼Àt¡-—É3ëÐÑ#cшËÉýõR íUñ&ι•0l!˜ñµn‘w¢Ø¾ÜL‚‰™¦ÁµZRñ–`¬Š·K Ì{ wuë†%jtP] –SuMT-bÆ5kÆõJIejµÎÖ (RŒîKti¿^¡~kðî ã÷Šq¿K”Ø _ %¨ ØÊ’Np;g4ŒìuSE·˜x¢U´¹|[Ë`"Ði¼ þiÈ„!B²ð«2}œ ¦¢1i Õy⣧s¯:Oč޽)<ðo˜ Û·sZ/W©ßÇ ¶š°èÓ¨í"ÚŸ¤£Sº6KOXlpÄ׃š0é›,ž-ÅD¥V©'Èx„@=€¿B|Ì$j¿ûë…&‚yr>~Ÿ˜«— ð2j{ù‰þ0FÞTçE eò$QÎjÖ©pPãpfÂÆ‹z=WÔ’ëCçXŽDÎ~Ç+­Fì¸,Y.3NʳÝëVÖmIZ·eñ¸-º]G5èP8Ä­æJ-®Qn€¹ªmJYfYFmI°,Æ$ $.þè¹¢k ]eìð ¤Xˆ‘™›ÏöêOÓ­?×vàÚŽXoó—ÊjÇBÉ¥÷`ÍáTÔ+Ëø·Õ¼VuXø+T@‚]Ü­Ju,øO›©b]ôNÿ€êµô öˆ²pÛPIŸÓr˹’&Êâ¹½3ÉeV51²a¿õ ¦ªøgÿ©ƒO§R‰¼Í13ô†hòâLrç 2h3óæ²Y¯ÚRÌ> ¦9¼DiMø!f“âäH‰= aã…ëèš#¯æ ´)„`’eÍ*j˜Šâ-)AJ=[Ó¾Ð'B‰/dáWn”,b–“~ ò«Ê>“ž§¥t=?Ÿ§¿€vÙ?rô+u»}•ö±M­ÆÉÓ{ñ’+€ ½«’bóv.ÏìK…ó2òŒ ¥+ø )QÒç1}/m^3ø‹Ïòßóq®xf±GV-nWK*-çjL™ÌòK3Ù¬…Q%EÈç€Ð~IN-ÔÛf©$‡#f+‹ peK›§'•5Mxæ°NºœN‘<•2þt%µ<›‡¹ rdòؘµ0EªÑQ1ªNŸ vÁsà¤U=É:‚ºð7ÅS–Nšj.®–ªEu‘”†;“?Ÿ].óŸxŸ~§„ßxFñ¢p$¦òWä&gÔÙ¨ÀmÿeþÕäñÉñWV…ÿb1 ? ‹øl7Y ›:¯^Y‰ºÅF¥Š×Úûè¿z…NðûLÍ0ñÇé7y!L²ûðH.°Ÿuµ‚¯7m‰)ŽñEÞÆß– ö ¸»çKßvOŸ‹xŒVn²ß•ü¬±DŠXàr>A¦}§ “ÙÂ+*¯Í©xxúÒC"ú¦LKcÚSµÌfܧì_iûWûeÏq §Z°êø t ¿Múñê`4–§&„‰ã®n§º$ºp1¬»nNc1×43uÛ>™gÚ”îK$3 ßáô¤w>U¥3 ®¼†ÐñItS²ì®Q7ÛŸädÈA&ÙÔ 1˜´öÙ&ÙE/¡üoº Bx„î”"†¸n!lhßÍ8*‡d[‚<{'l1Û_ˆæÂ°S@d›àQ…pGkTB­.èd¸öëf­Ø@Ø`{‰êÜVÈùRƒÀüÓ<4Ì{ñV1<ûtÎç™ò¡ºÐh§ 9t¾Ôt˜.AÆ/.B?íÁ Ô9Öß#ꬡ㵠™–@Œ¬£ë+kG‹Êo m íÂ|;•ÐLÖMÌÀÕUòΣ˜ñºÄ–aã¾E“c…Rƒfìeî“ð'¨º-û}2ÏVç4F¬µ°æÞ®ãÙJlò;Oh°@nðýíiΉ#ÌòÛ1Ï¡•õº–»ky’ÄÇ {Vìö—|!·¶!FØÄ蜞ŠÅ=úOVñ?o›÷‚vªàùC\§Ž©åeâ `Høq¼Ö@d‹OØù”88VãJ‚ñô èõÑóÂWËÒ”ßVKf†)¢œ±§lLçÇ–3•4µj FÉôH®Ã-ð²m}ÌB‰kN¦RÄFoO{ŸXÇ4Þ„YÚ$~ÄL‘é/mY&|‘\<×%åû]BßrDüQYF‡.ªÆŸ@œèÉ÷X³d1&W˜óÛ—×kävk¢†4, ƒý,½Œúû—f¿­^Þ¦d'ÛOå…Cô€Íhó'ä—;Oz™ë‰Þã§ò æ“c “XaÔOȽ¬áml¹Úà8>êîô±9¶:²ù¼D‚vãedrl¼Íì zŠ©xR~ÓÓ€Ò"Â.MkÍ¡¯œ[Q7«|z»Q™]8Oä$¥w[ð·æ)£sK,îÒ™g–À³Nj¸':·ôGg€[‚iì´™£3Oë†e¹ò6g‚X²>ÉÑ>WPÆYÀ6ô½#Ó:ö­wLë\Îýñä”ìÇ´n0Ö]rfiLÜ…‹hвµHXÖ [Óadì âF_½ ©Ä ÇËãpÞ`>Íêå*²Ì\/?á)‚…ŒUëeþ=z)Lçµ9$QTR²[›xs7ÑÍ1AÃ0‡¸Êʸcy‰&Y <·fÊecx£7E¼¹€pIJå€ËpÌc 3äÄ4ÑÑSfæ£x7¾Œ‡³åb¨›„B½ÎÊ]-ãNcÐŽÍD š™kÆèžäÞPU‰7² Ò*5ðÄ—@`SÅb_qõjŒ:6U8 &N +ˆxêãà1œ¹Þø-2£¢îÓµ÷ÈØtW u;>6~Kî± ®ãiB°‹“BµÒ‹* OT@Æe[×w’i0šä¢4R™›yß̽5Sg‹½£¸·ùÝéáÌ Dá$¾µä¯¤ÕÆUޝ|«Uî‘ýBx”0A5µÂwÂ6åávS°9‚Ô‡'ªst×ʬØM´“®˜#›';=›hrÝԸͯ]5`ÌiÔð#Öê°ãõ„Ê‹>̃©L|`hx¸S iÿu SÛ™ÙÁÙA)¼ï•ÄO#žóºÙM#ÛŸî»!Nãݸåw‹5ÀÎ@ÝÝI¿ÐÝÀ]³2 9çê¥RºZ»á„‚–«c”¸ ‘ûyè¨Pƒˆé16¯®~àð¦z°£Wp8“ûfMsËòàlãÜ?Àð´ÄcO@6·Ut‚á©kùI”5Uî aÆKó²È¼‰—éËôÇ3éd2¸­ŽÞ†Žåjê‚Ö®A1±jÌ5'¨çf™<8ýÎŽ«%c±Šîí-þøä,A+b^ºXúàë š'¦£o§;õŠ^«˜«ŸÀÍtC††©¡Íë¾×ø¾BS]§l¶›yTÞb\Ìãfˆ¬¾ìGK•¤o BjÈoê‡è(^M%û<Â-(XZ ©KJ¹·ØqRWCF{ bÔfè, ‰aë`öº¨¡ºEãMöÞ˜˜¢Ó¡n ^ÂõUo \˜F©A˜qóŽÖÝäiݸ$íà’ß&=Ôó¥GD5F€M#B! Ú!PæÔÆûDÌiG í‹ß÷Pá/2'Á3ý6)"#nÀÛäØÍ% m†³maCÛkG@Ú=Žø14É›¿‘÷ÄA½¤ ýÆPÓh¶‡FXa6A¬!àPÜŒ,I" ÌæAÈ‘¶,r¡CÞTá‘ìšãù™ŒÆbòŠØÌS582 ñ:’C#éþÓ ™Id2ûø+"íãÏe·‚2QäX’MmÍ}L™Ç©_âµ’û†¡äçñ{¡§ø”fá©+dýñ×À‚™m°Cöù;$€›8^„×n q‡£>!Ü•súÀá€ÇTùqXžjDtÞ®çæiŒ>‚ÇY2zxÅn†d…Ȧ™§ÿ:¾wÜmUFbŽwÎUòž¢ Ôüø$×¥C.|(Œp.## Àˆ X±ox¥oòæ›>„òÅS]­`<['žCˆ7R4«åTàBt°Ô!í˜3ëàq£Æã&aú†‚ÅJ… Ñº…ÔCÇ„®–@]üóuQCV#„©ñmJ>uÔ NâU‹øV-aôZ!UÔÁ+:‰žÍ ‹¨©6³ <‘¶D=Á¢.8W2»d)ÁE“‡fÂ-DvsÄ0aæ-Š!3aò¶7`‚v7,д—¶#³7Úþ¢úˆbJ©Äé“’nMLsÜø‰Øbçõ‚£Ž2èƒBÚ‚Zªƒ9<}š†‚÷âYYÒé3\x(1Ø#˜øØªˆ+3Ò5æ¶*Í2 Žê| ¸¬JØyš*¸œá`’ä1¼Zbí‚ævT-–g:í`•ô(f ,¥mZ=¶Í¢ZÊ´;4+LÓ.ì9m1ñ’1c÷‹+» “ óúÜÜ‚®-j&×!mõ¸áB¦U«çuC­ê¶åž·µ"[ÈÕLËU~©\’O­}Í .-`R´^j¬…×<Kw®6Ù®ÉÏRê¢Eµ–+j¦cw£Ü¿í‚¯Ý”ÏâÊ*dˆŸø¾‘tf$ÍDþ&ÑH²×)âE ëJg.>x”Ç|n%ÀoÕ~«1>”?:’±KBûQø¬mb¿û¡ßýò—%s®ì(5zÉ^_&¿æÓ™ŸÈï‰H|NÇ+4€ßòQpܲ` òÚ£âï×5ÙÎ㟘IHx—Y0p6 ¶ßovoG`k†xóe%™G-6ËÀËDœ °ÇpîÉ*æÊ îC/kˆ[Þìã-AZþŽ Î…càE=_ð**\tpfòF ä/ƒ¹!…ɧtÛö?{9¥–+*ÑÓî<¡b®VHÔ_~ü JLáz±N¼—Þ¡ËÊRÎljÎ{©¤êf£¬†FmÆ5â\ÿ¼×Ð|X]¿²ãªÉÄ¢Óºö˜@ŽÇÜÆ›Ë„ Þ?^βݳÛÎi0ÃCäìbØ+g›&55EʻǩO¶­dŸåé—"í ¶y²º‡cR>7™SoˆÐ)`& x:‹œ@ "br &,Ál®,ˆúGÊDr))H[0ª×«–Ήu;g1aR?¹õ “¨÷²Á%CiþL¯è·"…A€B%=ÕùqMa –ØCbœÏKÐg\Õ‘b ®šÆÜ‚Ð<à%Ì\9O<Û=œÔ)myšÉÐD±S’¸Œ7)òK“‡ƒLÆe2M2^˜¶Û¢úµzeŽËòÒ(;}vùqÇ)TóÉS7K¤šé2.ó •pµMïÕÜ$æ vñ>ˆé#¦H4†þ€ˆÏ:lÁX†}LIŽ˜ÆÏ&f¸±8b*`¬^qI EûsÁà’-wgŠ5Ûÿ}‰„Ï⥆ɼ©Ôl½i €šÝ02ËÜÒŽ4jºæ’‰†Kbh3‡|¾ãïÙáHó¸ØzdUa^³O_- OM„çÏ9j•ømÓ~ì¤|¬á‘yQN%IèÇðÁùK‚‚¥Ü¯ð‘ÏQNQ/#JœgŒ B„¬ ã#‚î£s6ò¦$ÃØÁ,`§TÑ.M‰îÇ™ÏàH*=ÒÉ3”HCú .ì3À¢ç7Jrçã×Ùå™Ù‡Gl ì{ܲ Äp6=n‚<‡‘"éñ¸Í%"æ~ƒÊ¿I¨ð)RÄQ'z)‡¸8¡£ë€^;XŸ•=Ýl Ä~Ht~ÚÞ*ñ•>øZ¦hÜúàkÍ›äk›cVE?¦WãÔët¢“øï¬h•YµÞ %§qH— ÀP$×=R纤Îíò§Mi»ÁØö·G홑4YÿŸfÞpbä}M…Ö)í¾ºn’“øÇ½Ïô–kW7Ýô<1¢²ô.à˜rׄnÕL}¶Nø:î(À1I¬+€FbA7–%tB5uâÜAFud[-=ìH'SƒD!)½¹øxQçÔevšZ—ÍînôÍ„v•ȳl½b-Óª'<ÁÆI€AF÷ób7ç„nÞgwsŽw³B»¹À»É]O—‹Æ¨ÜR#:Ýš…ر ch?F]³$²¦)¾fåˆ^GZ ?Kˆo¢›;ûëÅð±EÉ48ΰÇtxCÀw jš`¯!6YÊv³½Y Ò]ÀìdÄM€€±8QîÓLd®c3E$+X ó8s â´ÔÇö@`äc £Ñ¼/ƒÑ+¦ƒDXKÎeÃ{ƒfo‚TÜœº¥ÍÕK˜Õ3,+N¤¾ ü”W$<øH$Ü;8c¡c4ؘ!Pì„¶ÿh$Í‹ó§¸ØÓçŒ;š CHÖyK§“É8žŽ©Ú«Væ©…EEÍ« p¸•†W˜Tqè¥YïéöÕâ;Ò§)ŒÌ°©y<žRî®Ü»ªú+Q«- ŸÊVrs>^È dÔT?¥™ /R1_G ©á8îo2ƒR©‘dÆ6“¸>¡S`®Ñ¡ G ʃL°wßH*øúBì¿4‚ ZÙ'×m„·7Û9IÀGå!Ï6QGÕÍ0‰›€ãøÒó1åò—7 ~¿Öð8£Q&¡ËL£À²WØïÙw)™Já &½ùù4ÆÀ:q5f—Ñ^Í\Ä,ÙXÍÔÍ’Šß.ú(Áî…½²q§l` ã%ph6i€AUwÏ‹Rï‘CGÁÉ yÍ!t«ÁDŸ‰ßós=—Èë¼DŒ;cÍt\*›w‰¿ åà^™n}…¹…pyÍ'Žx{Áµ;|N‡1® ¹Ê>²Ì·Ú£”WxÔ4OËfÑ—ÉŒô1|7Kºß1CöH ¬íf¦o¤¯ïle`¥í»/>^qGSÍcl ÖÒÃ-'(¿rP+¬[.'̲žËOÓ’ËO4õ3Ž—)„y÷ÑyB­Š\É%O›¶&#’J®L¥fÃË ÃÂcª—À€˜±ëÐ' ì¹ ƒ™Ss^ç5φøIY7Ñôƒü–ØõṜ7ø˜Lír´€¨ªLï5‚lÄÜ–ZXïœÕkûøÁT—Áå ¥Å †ˆ9 7b»2îÀ³¤: # é,B<€èà5}v–µ¸ÙÖ2~úAO)àl‚ÚnÅ:Ná WÉ7-gþ¨Â/dvT­«m=W¢’-J/ ‚’r6è(bIâ›vY<2…*†ö¤ƒ “ÑÓÔݪ"«®!ºêiZøjwÃw¹qusêÃ)°àêãeBMímb¼ûKô7íöÿòyD]“Çí)D&œ £ø;d{yžŒ/ü”G7d\JlºÃº”ž]5c“^®x2áhÂJ™ÏcH¯Ò¢ÏŒ]y#Žihœ¹hˆ«ù<8"ͺ$1òb¼q*^Ä #‚MÐ[p±‚v™äaxɬÓm^ÌäA町3éœ;†™ï‚ã`-™fê)½Þ'œ°Û§ô„ް£vß ˆ”í¤ s±Zz¯º„ïODpäÑÒ4=‡¤ýxÛ¬¯fÿ…JŒBÝu4ZG’?Žb «-è5Zv½žeg[Q6ÒÝ’ 7qÆEz~xœ|x4ÝGƒ¿ãÀƒœ†ÊvA¼BüÈp'‘hЧÇü0 Õ€öë5ÍËË4¥ežà›Ú3EQÊ÷èM-Gpõ"Ûù”Õ%8Ínž"ñ(øéD)O=Ta'˜‡0µ|=§¡ª pïãà sZ%§S± 7͛øžDêàßMßWêåY 㺰KËtƒ?3Ï~þ)lQ´&^°©/à¿!èàœèÏk)ÊÒ3%|~»È~ûkÿ¬¹¢ŒœƒT¥á`´ŸˆÖÓ#©¾`>y:Ô•^–C£|¬æ,ó¨×8*X•Š3ë×p`Ô¯#g~DŒÓtÓŽœÏ^®ô̪ÃH !÷(-u i¬ÑÊHr„t~‡-‰-¬M¶ß’UNïë§ëUr„Fwb¢U*;z¼Vœ¥û±W‹}áÌïKLp‚€ybœmž9뮩ó3wà<ÄdÖs¸3˜·À¹-PW®Y¾Y­Š±Ì!A&þÇ(ÇûÆ‚Z7¿Ý»ÀV¦&gá2GÀ)u@Sbh —‘Þ¬ÁN/dùn9 wzMÚ¨Ÿá 7_ö|ª†í¯” m¤Ü®Ü¦fD"çìÇ!º×ç5ük+ÝŽp_ñ}AƒÐԷ覎QÄC"„æÔ²Ž÷"øýäÝõdr.W"žÞÝ™"X_ žßçIEÙÜreÞT™ÃwWΖکLj Þ—I¥í½¤½•³;÷©A±7¯¾a>âý›ï³Õ lÆ”KU‚›¿f aëß3G¡&‘$ª"æ5T<ÙÃ[ãØÓµ‡YÙ7߯M~ð˜ðÝvÐrÊ{ÆSÇ=sWm¶t2?×E,Œ«Áˆ.•®²3D œk¢g{ ¹²ITƒU" ¡úvP¾fª”kWKÔë2,.â•ç4l€h›ö¶4ø0Nܹú,ù#ip,—ñ¥=}N­Xºmôµ´O nE_âiÚ·¨Ï‘löžv,ωºƒ×è‘ üï¬VÉ1%¦g|³%cÿK‚ˆr¤’î>û³õá@oBW‰n‹6ÅŽ•1þÙ© h¡P-µt¬£¨Á¹O±,:rŸÖqåyR ™ð“Êrn®jiVªx¬$ÖL‚Ô¢Z7MÓuŒs±RÐ}ÎÓD ‘‡fF¶fŠn–É×cl·Äéð€K(ë$—²`^.Ö¡Wˆî|ųI8³ÚÉYSSç=šè>Um˜SKÖ4šÌ&À‹dóDŸ«rŠÒ;;µ z%shòƒï.5åEÞ¦:ÔÄ<褓b|Ä»ã¢H6m·C_ÛªÓwJ-Þ塟ÑOÁ/7QÀê;GGt(L¶såãM¶³z·EgÞÿä%, žf†U[ÆXÞÊU¹~á-¡{’ÐÊym–óÒ;?ÖãVÕÀ©8£“MÆl RF™cG§!ا`ÞMk÷Õ‰ªÿñ”=M½# ’Êž7ê á.³‰ î#à[¯Ö¹E¾£¥K4›r9(Æ;_aºagIšîÿDÆ&Çšg±æy¤P€2KáÉÚ®‘N}öšxT«D}ë·»s–¼IÈãì²Z4 ¥'ÓÃÏÀ¡›Q#¯§!89šÐˆz¯š—"®»ŠQ–u·;VL‡Í’âqØÌ»E<[Žm5vwbj:„7þ5 •´JsŽ`lÂT‚!ð-‰\')²ÓGOé|b뀞‚à*Sb?Žè^¿)çgîÊïÏüù2—×!*Å)pï̸›W‘rn•cÎËàý¸_þäí] z^ã­ÄTê"mŽó5OˆÞf¾É pRäÎÁ?:º*`Cáåáøo¼xÊü·U-é5zSŸÅ÷iRr,Òjk°xägĘ”Óz¨ ZºU5fA®pûaìÉ0Ùɬ|ƺDW¢ËH:øaKÉë@`\1CˆFT´‰+ÏÊ.w;v,ãæt™†À÷ép¶wDðjÝZ§F~œCf#\á:”Ñb$Cb@|8 ™Ù8üÈ©ŠÜ@‰â®QøE¼Íö&SzqÃqb§!Ê×ÔMÛuá5ͽ#ÊÈŠÄ °RÆ{‹ÛÙ€ôv•®^2­ÕPÎÕ6£ÊTš+HúÆñ!h8êV‚Æ.by,Ø¿¨ˆŠSxN¢/–$áØ+Jæˆé²ã¹…hHWTÂ:`Ì'Õ†‚ ß]e¸îÐ9c >à,<ñ¨ýµ£ì+•ê Ô4°¿º¿‹”¤±òõÇ&wÃ$BÒ n” öÇŠ28ÃQ}Oˆ;/ü°"ÖEÍï¼ÖÈÀZp½Þ`³ŠNWÝè1GkCáhÍ™uMX»¬טҳ+'ù®@Cû¦Ç§Ÿ9tì(Ú¯7ô×@]qY…+.~‚€:™¬¢9¿±àÚ1s‰"yæ××[ü3\ÛB” Ñ÷VH8$ßÃ…ôPª?žìöº]½ËiŒm_¿€òbhÑÔA I\ó GeßÉAC&ÁI tˆ˜˜s]áöß65 ä‚Â4B6è °ÌÍÓŠÇ_-æá#úªõ,€¡™(žed³…H§ü·3iÛÇЮBÑñâ)R²Å¢÷ Z GO©xÛõ] fbR«}Ø¿°°Ñqµ§{&QÓWIQ޲˜ô¹k{–תü‡•¶iäC$ƒÆ6ÝÕé•<Ï^t3‡ëX¢›8£7Œ¸ZÕÉ ž"–ð&;ûAý§AA¼—£³eL–N’3š½n–Øø ä×ÞÈåi¿:ºx„vÏvÎßéÝŠ$‰iþàH‘§kûÍ¡N·|DÎθ.C‘EŠui£¬=Í›²„nèè€ÎßPs¾í3aŽÖÂe5 ÊÙ©Áemö€5kÔ×È)FÛ!¾m¸Äå†ìGªƒN<@ð&îy3²o©ª*ˆ‡¤¤æˆÛ1BG÷-aòÈ,ù©[IRi—-Å•îp®[>ÝÎA°œ"õ áÒ£õ£ªU´ù¦‚áV—pNÓ+8ï½¹lݨÕÔE5‘SIäuWMB'ø7éká¾N$†É†ÍŠñlÙ{‹ez¸ ( ˜ý!c‘ÄP@ €–%Þ6têfNtê Ós†âçÏhÝŽô2îÙ%†*%<Æ&‰j™+« ™’YDQjSGÄÐÞ½˜ÍáQŸ#aîSc(?G>`¬£4;W°fûr1D~áBõYpwªæ}G´…±RÁßÀ¢c*aZU¹Ÿ~=lìU6êÍ€×Òþ¡‘ wWct„¶Žõ2 )ÌA‰d¨Ú6$Ä{‡‹7ñ0#kïœNb?)~´ìFɯ[ˆÒà´–þ0 Ê¥ÀͶö’ô¢—³ kú΃ƉŠFZ$&0·M :´%G¥rü¾s$ÉJsAÂ*«rP]ÚÑÏ öâe3xÇJ;èXýŽ0Ôð9PÎ5ÔÚLp­¢úzE 4Ü`n ëð»˜äØhVÍ4´®Ž·¼ñ9SÇlÆìxÇjjt’ ¸ñL)V!·Èò-—=™¢ /‚æ^°lÚ.Ñ@Œ!ÕQnðw§ÑÀqƬÛc×pƒ)^/U€ .\!ÌpØ>ÉF_úk×øËHìXB¨L°þ›Ìðûzßcäb¼Zà-~£Pt¡JÙŸìq_áð§~z`¡ûuaÑ­b¿~µ«)»$¼ÒÄqmŠØç%GÈÿQ‰ë9{H…E®»t v÷gƒÖWËÐo5* ÙÚwH07½D6kºd†Ä8e~$m:.åºþH}^C3ºfV4X:ø.^£wÙºnà !ÞË+è×iá´œcÒð|„hXá&m‹BôBøäŽH|òckåsÆÍsøH7f‡ªîÉówˆÚçÄ@»»ÝT«ÀbÑ­$óä@ÿŽU™é˜Ÿ«MQû½Óôeçf<¢Ÿ&Ø–\­Å¸e"MQ-¢ª€—ÑiÀ“w‘j‚+6î¼ Í©xŠ€q-Ñí ú.~¢AÀB²£ˆ*p”ˆº¹û20¸=dÓ/6K`X˜ƒTK”í<:ÖÙEŧ4“Š>˜Žõ•Lä7ÐD ×…YÍåw‡Œz­Z¯Q-,pQíøu£šyÿç4A‡(m€, á±P+äè­y®uœ3lJºmNb¡ö#þÓø¦(eše]KäøUƨÓOpŽÙ am;D“6%Xþ~’Ÿ°¢‚9‹T÷ Ê3»BÍeð!DjõêEÄ¢ñ5Õ9ã~Ý|•p¢޾st© „¡KbJÀ¼ºQ|±HQˆT*äµÂ‰ÎÜ\æ«âfqOˆéGtQQj¥†@]1sfϪ~øYYÏç7‰»m»…ãºÖàby΂њôlû^ÕÂÔl "èþ!òB†­»#j¢§ÌJ4?,ô]S:/ƒ}ÃñÁäPÚÜ 5!û|étELïvù0g‡#³dl!%#Òj9$˜`µ„éµEtj¨XP«AÏ¢î¡ø,nÙm0ß3¦Z±¨IPðýäW£^#Fb@eØ-hKcB¯ÙÖ$¦XÉ!8­Z•<ªŸ“a˜Q‘ü8ùL½`5ÈÜ,ßáÖî Ž3wÆ#¯ù(å‹j c9d‡ª VãX–52i^ð…C%9¡J Iã‰sfks$ÉaÊàéªçcº™VÏ¿ø¬#š-/Nk¡²APDˆ\g«ncÌi<”D5—q u6OK–hÊ!íL‚sb| шh/²ÓBbœ3v 0CþΘ݃×Ã6Óä€Ecy­”+êhìÔ)Ïty½â­¥Z‹§8* ACÈy­ÇÉ7©SÕ.ª®Å3±Ø èøÁC4/D:Sµ:œ®·X7URæè ZêÎ@A‡, óôÌ„ûN½hT ¸å™-´÷è‰ÛÈPMžØ{â¶™Å<#³K¥O*{’Å˾šOè5ǃ¥=T }ȡמ`DÔoõÄñî¼¶ÌwÓà:(Ð[>ž×ËT1OŠŠ37:kÌ9ò ÆÇÖš¨ñ‚ºE 8nLmÑ ¿-¼·#° …ܵn"‹q9€¥‚d#O÷û”ÝÈ»g¦¶”Óª5š‘(C°œN308Üæš4¨VˆL̇ÀÚcN'áõTÄƒÓ Þu†‹§–q'f˜ø2çô¹:ž¨^…{ 9“€î@¬êž^gV"ZÐUz›“˜£Ñиj– ®Yq³èªæÌ1 ÍöÃϤ$9ðJšßÂ[ïÝiø§ÿ³ÿ£ãÏßÜpÂúÙŸOy~†ZTÆX„&>S M“àÓµwúöÞãó…8ÅLr˜&¿HU~,ȶbf <,«*kr„øT$Åé LÒ/l|¤@&ÈJ§FúðÞw("o$É Ôxh(ÅuSÛ¦hw ±”·g¹–›QMDlÚl{x–éf2‘öFP:×Ôè6£LéÕªN6.‡½ ‹tº^Ý\¸{á†S{¼ÄjpBiÏ™¦xüO7­Ë5¯=83sœÐÝÛµÙiâGµÖ X,i„ †H¿¥`E›¾' { rL3^Ô*f,ehC ±HÞ´¼ÊË/Ò§Mk%‘,×ñŒä8[Rb"<©Û0M5¯¢½¦ºàò¶íqïÐyX3 4ø˜Q¶Âó‚•ü)í^âEÿ(ëxšÎëcQã[µ”(V«2`Ø‹çÉ ÄÎÅ­Þ¹ÖZÀ Šž‘(=4œL ô<Æm®i „œMiz¾3ÒÉEçôÁ±xÊ1 ³Ëƒ7áÐàî5EÌiÞk€yKç õ¨¥4•2 »ÄqÍ*-«óáONô7'#qº†«PÍ<Ç•¿v¤*PâŽAÚBDÈñ‹³Ñö9Û§d,Æ!"k‰¹dæ‡-5#^­ÐäˆyxF><˜ °¬š…ò:ÞJÕJËTª`†“`6ÒUS/«¦^Z&pl‹il‚ˆGâOó—ó¤V·g Ü{•< þDË*ñ8ª×˜ 5&N¿ÜÄUsýfvM£ã‹Ú,P.:‘§Œ&;¸Âë.Ø#h1±êEÄø¨Ê“èB•‰ù8Õa!$]‡ÖÎâæÝ›¢ž+âÊM;¨ $ãâCº§5ûpÊ>ý"ƒà_[‰nðÚ‡g Ï’D=%ìøëZ¿“+ên¶×— ÷ Wâ*àÜå„7ï÷îcàØÊ‰/Êx.–u ìɧrÕª­»2Øão`nû0%œ“rm–NryëOj¥À¥WAGd}û–Goƒ‰9Sø{IoÕ.¾håSói:FÔ›È;OÂ;j~Mv3Ì"b Oóˆ=8YÅËÀm-ïѽ²¶N¾¡N÷ƒH Â3‘V®jé`Á& ̆gàM";"Ç2íuÙèøÁÑ£7¼m¡´ˆ7 %ëÚŸˆž;a/‚`#₉ ÛKŽÀŒºC®šò­b` Ú þQæßÝ?îžiÈÒ‡Á±yvŠ%›äÛIý6-FœS«0€'Õ ì8=xð0˜»KʆqÖ!°(ÍñÊ37…Ù#µ0nQV8¬Ï^¾5Q°§ÅäÒVè[Р¾"à]ùÙ I×)QC%ìhü˜ÉD”ÃäY}90i®2¦‘ñr…$+È¿LpMÀà!ÊÝñÌ—)¤„wÉB¦¨* ”  d?QY< UY @†‰ª{f$쫘ëù‰¡ÝÏõ…:›è`4gŒè: ÑÏ?…ybÌ “G^ÙoˆÇÁç5Œ ïP" 7ÛÊÃ2Ã唜™”$ÎI&úÁ_¾ûqûìJ}ÇU¸’½垘òyÜXêÛŒaf¸(žÊd<Â⽪ijÔ»o®X2€öÐfÌ’§oÄšŠ ÄS©Œ×ˆµY¹wÓš“©þÁx:•ðT}§^¬ƒ ºóuxžDüt‡µ¹9(®ê¦A\-0“ZS-0 ]Ô+Ë®}_ä˜~/惀Qy©„Á‘ØrÉÈûÄ‚?0L˘'¯R‰íË¥“v\ÓeçÆÃj•úØ"÷U#~û5ù&nÿÎeâF~ÎW𠜬©æÜ 3¥° ¶‘zÙÙâ|'ï«kæ²äæË.ϵJ›ÙkâÿÓ`ÓšIõ‡î5Ûvúì5)†E ½F%a£Kª7Jq$²dÝSëQÞmoÀwQa!Œ­ÿd !‚‚œgÍYxH´K¢=M0ƒð?0ƒÉ¾‘¤Ÿ½r$fÿ?ŒÒ›u¤/˜Üñxfå8g¹T]‰Ç<ö&L 6ù›Â'6Ðp(K3¬¢¿ƒNÜw£ ò^îi(ìq&šÖjõªŒ¡Ó^e÷öñÓ4ý\C/!ND1;váQI4°5å0†‡ðVn°ßë—uR-aŠE,a("e|n™>§|f-Зl3‘LÇû‡ÒýžFŒUòä Ìhu¼Æ˜7[üu—5úd-¸ÍÁ¡LDzí½µ|Ëž™Uafr‰¥3ÕTkžÇ!1™oØEÝÒxC@ȯg´uµTZN0ZÔ³ñ\N”g1$M2ŠJ%†ä5weœ¥rIö%ç á63u›‚Á±•ô¦ó¸ X7­ÃI üšTkÅ@߀Oq¸ñŠ…nOvcŒ@ÝFäòØ TV\œeÙ²rJ(ð©>¥|#ªIm Gv-f¦ªE=g¹Z"m•?ñÑRîñ&Šî««yL¤¥;m—’f ®sKª‰9Hݘœ«›Š=¢¶õ÷Ò&Òª‰ÔRAÃó"&d%^ ™WÙ˜cp¤ãWn¥xÎ>e¨‚KµT§þeÑ"¦Úq"r žƒ‚eÐÕÅ”œà¦—¹Ž½ ó•¨krlæÈØÞ.ÇâŒz•Y7± §cUf‡e8^qá€+|y¶q™©'ÞŸ'™•—ò^éöÌ–¶ýØáY%彂MLÄg¥@7¥¬1OÖ]³´9'Ib=ÜŒ“bœ‘I¥©Îvªãַ߬ksä¤1í:|z1GeÖw9ÔxÜ¢ø'n]7u“è=ECð·Õ¸Ý"eL㹚¯—\!8a‘î[Òru¼^=.âæixí8bUÇ[xS a»OHÒŸ3¦i‡ãßÝsåQÿwú¹á‰€\‡~2úÙð³Ø˜TÍ\¨ÑдRE5ónaqõÎ ŠZ3zey|†hœ8 CN ôÊrŽª£§=%æ"Cê< ú7–ÉgÍ+&õʨøõl‚X‚ííØ TŒÐBfÔ¹QöÔ`ƒ ôȦ@1áÝÒT ˜ÒææQQµðGÄ‹IË'ïp­Xtö2G¸à¾‚4˜¦¨„§©LXö؇iD4áô‘,ŸP_µ>ëëúðÜþ2ŠÆr”KmÍÈd"•N ÷°S4™|øé8úyü¸ÞëݵåNû1?Ñ© Q>û0MÊ„)? ÓEô9N Ú ²À0°(_‘D‘:ÞBÝ~óŸLð5@5ªðŠC|¹­ TiÖJ#ÈûaÂAôŸvŒÑ~¦VÔLŒQ‘©8Ýmmø>ÖÍ7HŒ‡GåÇ/”èê›?nÙ!F)ö á>®àmÄ€w2ÒÓkÆ’Q‡`û ÛÔ™g©^öóÝ9,;dm£"ó\·ì‹ÇÏsoûB>yw=™œËÑÈzîLXÃ6Ì“Š²¹åʼ© ảD¤2©x_&å8 óz÷â§RA±Ïª|;"jºxa3 PYêÊTú/·7¨]ôÃv‘S¢íP©¨y­‹ª¾à­1ˆÇa­Pò ×P|gâ{3íÌ@ƒ8*­—Jà¤@ÜÜçÈ<¡ÎÆlW'³Ë¨làµWÁÄÊ,ëxû» O`#ÿÒ~DsKï;™ohÝŸØÏòc.p'Ñ{¹÷y[þïvDŸ$‚òzmn¨CúSi¾Ëcg¿—n?ŒY±L Mì=g³õ0XºZ0U¢ŽÒIâHæä\ýÔ)>p£“xÜć˜)¨•NÚ‹Eº=™’È'ç‚hçä,ææåùäׯk»{¯EÃÔâ³Ðp-nîîóqrÍÅ\P(PNñ¾Œ) HÒÎN³•|bùE:{°Q&üû‚Às†Ù(Û'ÕÝ)ս˃ƣ³RÐaÃ8²0Ɖ=<vp…?ßô˜¬ÊEj•—3"p Ë‚§ƒA{­œQ•ëÞbdd{OßÁ^Šj/ ™Åva÷#õõŒ¯ 5”½:'TÝ3B(`ˆ–Éq±–¨aæÇWúIeÉქR@àü®\ÎÂ9W"W1­Äœ4Î v|Cƒéþxß@&¸Ï¡.{¬°{IÙì,3M¤I¥]ÀºcÂ@ºŽacV»ÌåUTSÆÊ †ªà¸‘ŽÁœ©i½˜¼VâÞªå4ŽÃÈ–¯ Mä4Ò}ôH÷r¤2hÌàÔ© «Âé§ãês·Üv—¨.à‘€m F«Ÿpj WÃÔ °]” ôÈ6|A‚ªµVKpV,³ƒL0Ú·9SBÚ °ÃyóFÎV!«ÖKèä˜ ¡wé hαN:n° êÔÑn¸X1ÚË%fGפÃÌÂ’šÔö ïÇÇ'Õy­+ŽUÐÖÑyYÍ›î"Þ!U¼ÙÒÉ®YÄnzb€ÎPôÃv§ñ+ Âz"ëé/=¡D0 òÙÁåÍŽâ"Lý'°á×\ð})6òv½‚÷„x/hO(c–™ãQ/)´.\ þ’³]d»¦Ð®Ý˜©N%–º ‘x{3;+ø ň¢q&MœñåŠ"-ÉÔÑ(Ž™‰.Yfpî‘À³åZlþÙÎTÓ˜¯60Õ–á[Ò7Ì2ìl˜ÉIw,håa'‰+Ô^u³Zo¹y¾‘*÷´òÎnç—¥ç)ï hÎù‡3åÒH{mÏú_;*A¦‚ ›ò‰½x2hK Ð÷ ¯B‹õú2•~¡®üþŸÃ æ´ŸøÍ@Ìö4;œ àâ’šLÛ¿S¦Çéì>)‡þ†kÈuÚBY>¶¡•µ ¸§à¿È|9¯Ç„(»Ä½‡ñ$Ô²³<ˆò;‘ËPž1†Eðâ@™ D˜ -»@ÉYè†ßæ膟s³Bý”N#BíùáKca‚M¹>¤ä Bš7º«ÙÌD ØS­¦š¯!’ûÚ~p_ ZˆÃ#éd³QXÖò,F’/›GoÜ««x†Gx­³×$jo¨ä7u3ÏbJ‚u³DŒž<çÜ=Sõ æðHÂIlnž­ðcð0 éï8žFv´¢‰l®M¶ÛfakšÑÞ¤´H¸½‚p£ +˜Bj^­ÖD.:êe½÷(Ž<.#Â8ç9M˜¬¼çAOH>39‹!#ä0¦àÝ ø®›ˆ/Z1³rî ³ø˜8˜<È;a©§Xú:hæŒ Óîp|ˆY4åz0¹ÁØ sÏ_$(Ʊ˜Šp°¾1ãefãº`‘ y|c„" K è²Ïúô ø< ²“ÅNY\\L¸§hoµ>Û •fd¯,ï‚ÇÒŒ–‰”OC®qpC÷§lÓºF¤ìïs‹ ¼‘GaÉ8ƒåèº@“ D„óÆ%FÀs{¿9Æœ­ÑŒøômX‚LDDf¡ï–|§«?»|ñ‚<Š‘\\И®C#8Úo6D›M"ÄlbFàºð®I—eø?á‰:êµ£æ¤(ãkE뛨k°¼šÙñnëäªå±>ßô3(—;Οn7L²{"ø+‘qÕ¯€³æ éJ<ÎÕK„™¦[©¥o)XS¡ÛàРV¯à¹SZ¦²l0õ£ÅÅr«‘Ó«6‚Êx¯ÖšË*^ݳ¡«„ï1ª”OPx®¶ñ½]Õ1HË%ð-ÄB†Í‰!˜'Ã{7~‚D ‘0â%°€‡Þzâp?ÀvûQ}pp/W¶Ä!›bÊaøš-4V Þ˜ÉÞ»ù–‡h$—³Î× ³«@ƒ½©ÇÁØVG«:9Þoq%F‰RàE¦Áíp†‰ÎKx’h²+?ûuÿmžŒó¯ ˆw-ÌŽè»;»½§)ËÁᑾá‘d_³>‰:¸ðµ>÷ÚÖ¹v„]Úî ·¾Ápra/«&¶{s*Þ$ÊáÞ‰œSÆ7ŒCV4…ŽÍ×*”\0ï1z7ñüñXõ¬Ü¢-Çñ6«Ž18)SíbUZ,x‹ÈÕJz™yÎ×tæS{ÖŒf¸,ý ÕGÐTá~%ŒðkÈ CÝ8x¸g¨Õ®ÜÓð*Y^B ÊìãRƒ.L j&<ñˆîžÙØPp3éFþ¡‚PG;¾¡Dt(€ßѬ­_N§E4ýrß)´ƒàj¯;EÆ 3^_%ç%cÖò*èUç p Üá3}VŒûRp€Õ7„ÿ§¸}2)"ÌŒ+D®Ç°~€ùÓ*°¾Ýèp¬ßÀ €¤A0˜NÙ&lÑ÷gë{{‘“o`í%nW¦oãûîÿ†>,]§aÔáR ๖fÁåéÕÅShš¾D‡Õ /I "ínQ€ ?^ ²²,@`ôpDõk1`²)F`?)Ym”1K\=AÞO¬]Vº¡}5LXlrr˜Ÿg®f8ă؀Iã– žÖqÌ»oµÌ{F.•9\´^­ÅÑi[` ÄBY˜ó)©Àê0G·##, ¬²îž®š­××z¾úy´2'04‰ú-Á X¦±~`ª%¸Ú÷„R–ÜÈhâ:Ð0,k‚›gÉ2]ÈÉͳ\ÿ¦ñ\ÛͳgWx¥ã*ž±cM¿„]<<ÙH–!"ø05¾ ìÇ|¬Îì¹ü˜®ršN&“ÒöYWãǶyTwÒs@b5Jô¥lÛ&2‹éŒ–æýɧ˜œÑ ²Xòq½<ÂÙvÚ@õ(ŒmjdµJ¶ê±f¢F™(5!š]?kžØ^ÁǪS‰¾xŸŒ":~î7íœS˱JA+ëƒqµRMQ¨&Ðf!tX$Ȭf˹2ÑeIäÔ s{ [K¨`?<Í[Ë8;d8\݉*îáf©•x?ÏTq€®NÅìÝ>F9©áááxA 9½áS—[¶”ð|€HA*š¢ŽßLõÔ)µ¤Ûo„wj–•'ÝJ`c%àvŽˆoŒˆaªUÛšCÄ£‡_̃ {&é©?0CEcNÅN0¼K ñ9˜³Xl 8§K  tP¯ÌqëÆa0†Æo;Ž9>™1 ºhêµæ' YYˆ,+:Ãåî 8r:Ö}Ìæ EþnWM¹Ô×%Õ)ó8$ Òfˆx2¼ù¶ ‘¸yЗ¯¸Öí4Ýgêã“J*ðqW=:å>h£Ç«NÄ.ôص¹µLMj¼ë™ÇÑò[¢*¶´Æä/êg5M|e’#©TÒ/úYÍà‡é‘þaæ |Ç·¸’õGÐèxVbA<!áá8‹ˆËŸ7Popiƒ:«W䥷!•ÈÄû½ @jÌñe|Ó”gÁplÌò:&‰D‰ÆLS]–W|j" ‡ ÚU#î²j® ’Þ=LÝ$Ú˜1×13_ð¨ž^ÀµíJÞ´²Ü4•4 ìç °óÂhlÉà!دQòp†K㕸å^Ï]92æÆÅ$¿ñαéù.¾@"ÊX€ ÀRžïƒ‹xS¢™qo3ˆèýv çôØ9-îRó¦QÅ›ï.Õ"þçIÅ*ÄÈ¡vZeSQØ!‚_{ ƒáçjÔ&17xˆrpGÇ€[7Z©4¬Ì}kÊÏÊ¦Ýæ¿suìÀ<Ǧ¾ÎCa _Ðý#éÌHš…À©©Õ8n/ŸNÁbjh$)OÕ€mÎÝß7Ò¬azA$Ñs ÏF2Y¿ýVèj•ÈélsEPL3®Öƒ®¤ô윾Þ`úRNÊ“2x‡Ós„ùûÅ«ã¨mo;‰©lí››#çr i'Lt*>þ®à=Á°>øf`¬ëàû<6\¡Þ¹:~°·G‘RÖ ô@ƒ ¨ö ‚›Võy•lf&´Ù)ÃãÀ\:¸ušVUi˜ ÚœW½Vô~ûî;4}|lüÆ)y¬¶Eh,ŒÄ¼Z—ÓºÆÌNtØ6Ϋåj º: 3•Ç¿PVƒ7‰4jaç ¬nK%½æ›u úa£¨V*äwN©•y-¬Õ ª áˆk¸Žjww˜´j†ZüØ[¹©x?ÎNÅY0âAÂû $cò !:tFjàÝöq9ÜÙø~½F–„¶…=ÛµnY:9R·—›cÞ^†‘Škl¹•Ér I}~$éµìb×Rö‹–u+CtË2=6Mê—2ùìOü%©ôîr.FÆ|;h0 Ã/åÜ>/j¥j6,O’C³*n`½S¶—ÞšY¯Ì÷Δ…ÚjG a¢Tr¤oÐÞD‰RªãµÝAðâHÎŽ%ÌZ¨íÊT]iKÑØÅ#!ŠŽ¸É«ƒz(†fÅ1ž\ýÔs¨wð\OÐÚ0j@^à™¼8€Ç¦®!q±óüþ+›EB§«‘%Ì ¸—k OžÑ\Z[Òg×1Úå·z›òx·Ÿ„\íi½ã¯4Ô('ÀF6LƒWÚ-6p„îÖ¡mš…j´%”ÅÒËå•zŸ+`@¾Ê)ùãöø¾60A.!ÛÊmòä,ë^ÎߕՓ ±[ã¯ôÉC“ûY{<ögéÙ$¥()nCŸèKº–%!rP¿‹öúÇbÈôÇû¼¡w!l¥I•qA¿ßãiHŽP¬á>“–î¥iW^_uÛúºfi(œå’QªáQ¢âI•è`A¨:4‘R9NBaëG`æ5S_à&‰½Z-× Ÿ*€`7Œn;zèŽ8Ë|qxŽgý‚N¯ÃQzt•Ï*è^Ÿ¹±34³ÿ±«¯qT¯ÚWSmÖaâ€hß&Ùñ©VÊ=ïŽRÁY‚0Q¸³2;‚/ 2 ÌßÓÆËªw¹çjJ»´›ý$ðR ë¨J»ýñ# ló'kê4!t—zféç¯ú7ÅuNRÁD×W‹Ë½^K6˘ýÏ>Ç‹Ë%¤f `;Æ"íÈ«”øáu?l_'aò± ß Á§‡Èn b[ö²²‹˜—'ÞºÇñÜ-¢x7qpljRu˜¦Ì2û: 矔/oAm(A¯¯—1ž™f‘@ú¹sðåëlÏ"dZÑÙ‡1‚ ©Tö.ŒgKQĪ,I6³˜ÊŒôõdØiC¾$sy0Šƒ€Üú`”„ F?¢Åëä„2„€&HlìÎc†”Ž(>wÚÆñ3:¢G÷ ncÜ=ò²ºN„·ËÑGå:íAé; ®3• ©8™Ns@Ï «.Ÿ š.ÁB¸Xb v…ò»—Žå©Z:ir~T×÷Öh x]‚\š8pêT9f4dü1Mžò=ö´V6dšcðájÓÚð)‰«=BŒ;)oV1—GH6Ž\/qgáÖ¿‘ß×8„ûÆÐ,c<Õ gC=PŽM4Çæ†r]v¸„.¢vN¹ud5¤©Ö2°=¶³Y ×y1V™^AËFÝDT“KÁ™":þF‹ê2 ¯Z1(ÂÌP_µB+ºDñ‹éÅ3޳ù)cNŒ*>¡"™1ο`7[N‘¦Ìù“=ÉQJga×ÁBR «î ¦Þǧuð'™9~ ñSFemxLxÆ9AÑAËÍÍ Ñ`'¦O8sˆ”NCœØáÖùÚ~ßJ‘"C2 Òo*Ä÷Õ® vI訉ß´G™¨á=h‰4Ja&¡oÇ g¯ï¯bí£vZïÿ‡Œ د‰c‰y>’ûiÛ_{]ïrÇ^ØC©¦&1Í’ˆš˜à…Úšêe„Á¡Ãx©Í£™ºuj¹bÍë1² ôy´W«j–ØoZ/t›9«V4¼µƒøŠºö›ª•Ã[ν&Ñu m²zZ˜Ù0æµÒr |Ãyãd]+–4ÝÒ*¸ø&ЏΚ7rxq;-1t{Ý*âbèVÂÒßbàŸ3E]3ñ?VÁ0õÊ´@Ïq—“ézIÇh·rÞˆ‰ÎŠðöVÍc ™Ç{>u ^ ¸#{ñ††ô‚îOòºµ®•î50Æ9„_O×ÍzNS+¸fâ)iBÃ]XŽQçÌÓ¹b½ v¡Ñ»íyp\Õj*x„i´RÅÍ/ꦞ3dÒ¼1™Hôùè,2##åÎÆß\F]ã¦RXK*æªxt'È|¢¾;¹ow¹öÞC.×ùUu{wÑÙÝÓe³O9¨‡å,âJ:PÞ©Å–¹èvŽyºÊù~дŠj<ŤûàgÎÌõ¥»ðPw--\xV®›ø~gU c~™ßÍ–0_Ög—ÌÁ/\²ïÔ¸"¹M¥‡º:7ü=À[–u¶Ž°tT!„è¿“>¢NÜ'ÐÄÄ6›×,ðoªZ]E³b»Â Åh\{Íf ¥Œ„¿1\§X™äH?ã¹pGWÇá ¬J·BdzR#ýCÍ¥¹Iuˆ¦…ë°^Nƒ’Å#Ñø¡³V¥µ;¶BX‹$€ç0!³ô¸‹èÌC(@kGÁŒºD¥ÿ˜¶X·!/«T"¬ Ûþ‚‰^‰ªqÐ*§ü%}EÌœTæ©}™V‹ZhF«YuŒkUâT_”Œ†0ªksT-bRÜ>]Ëc¦€*Ž`Î(çqÁTReÖ€˜Ñôª +P?38&)·3G O}O½ÒÙøPj¨?8°Ñ$8y$•LªZ®èºªQô¤¡þøðp*\É Þ!Õhø¤ƒ •J ð©ñ ƒ”``dÕÓð¶¦âC}Ið.6èw øu@uÐ-,‹«¥"®p¥‡¿f ïàôã¾:&é:‰œŠgoÞ(c¾¥,bYJ þ€^Cî:bˆŒ©¤ °æ#VbU¶*+=(#åíg9¬/4€ ¶^e sߺEÃîŽñXZóËhN%&!4D/[ÉWRìƒx´´EÈœ-ÓˆÁ ´ˆˆªÔR-¸!$ÍЖ€ý°ļeY_^ÐÔŒ¹æ±A«Ð1&Ó"­-I݆zm#ËC¹’jY`@bâôøÒqR"~kБBÜFØÍgãKŽG1KI=3–¹¡$®Ü—R‰ Ã‹yNý Ï TÞrŸ û†J½<N24?ŸÜï,Ã̉©8Ü’©Ü@¿NLé2~xœÒ"] Òl>(þu¤5Å"‚_‡6 E€?çEâ‡by†ÅŽ~Eqˆá7A0Äñ×_ =8²‘?”…8vŠÂFICˆ!¨gXºðœaõÊ0w…b¦¦Õj3#éÓp‚%ªÕ&ƒY¿‹š—w…šYFТ 7¥ –”=n%L ô¥(VhÆeÕ9,H·—Yòx“ë°§CRz3´_µ¨!Åqü}ˆ½ûxQ‹>¼ÆèÉ:NcNÁÏýjŽQ=‰é{§¬<“³¡ÐvöÖ´¥ZoE­ÕMLFù¦œž9ðk¶«ÞªŠùw¼ , BÁ»n-QHP¡?ê:ŒIG=ª15B¨Å% ,Ä •ptÝVÑaCÚEÈüqùAM±i+™Ò ñgN½wÁ޾LMóùQhÛT,< <'‰ž‚§O…ÝbzIÌ#q'òyf'‰Ð¢ÉÁ°1žã\Z ¶Ç!b;ñÎ*1 ³l0ð ¬V–‰8€èß,S56²Îù½ UtòJÅ™_bŒý‰:RסñÛºP7‰íK›Ž¿ ¬-£BÃg`Mía…«|’¨9ÓÀÔZ-áoi¨ñ´¥x€¡ñ˜Í™0ruGE=5u±9Û…t‹z°@Í“ðƒDƒ‰ÊœÁY²’Y¡DA-`þfњ׉ȀØï².™Ç\&0Aì\¨›ZÈïÊ:ÞB'RC}ƒ½÷ZVb!•ìKèÉ´W‡è‰ *õULáyx!çìMÏÕÁí‘M‘jó;p“ù‹A.Åß.3Nä© ¸ ŸO¦O:”ÁÇuÛDŸQþŽÖÏLÝ&EžrLù¯“DP-|ɵ}CÝæ¾Áø@2=´‡í öbV$ßø¢VêÜÝ=™äÈÕBÝlìXtK"Ÿë¹™f:†Ur W:¢B g¡:(”.@([—§“»Êð$ëž?2àëû3ªZùµVÍ òýÜõ­´1Œ$ Â'pÓd~“O‡`Á'n.§¢ÚB7+\ Ž|'êð„‹ Ü1ò$Ž¥¡qöÚi†_Àj>©['÷›ž>KŽÌšÐ À]È‘¾ôðê1tLçTâk)Þ)pG~Þ:S G EÍ­‡%Ý™fõ] ´«3ƒýƒx± ÞáÕ(7Àë ö‚y޾ÑÐ=ÆÚ‘ëIÇÓ™L&žI§½æD^E¡-î"Sp†¹ê&¥2©x_&å ÂGœQ»èz¡HgD? Ò6jnÌãɾ!®’RaÌË9Ñ#ÅÄEÆqp²Ô‡?¥§Þ cTÖ0£G½m …§7}Ò¼¾Ð¨}j+(a«Ÿª 9 *~k®§q‰G8>’•pÔ…Xh,`ȉbµKq(-+upÅ!®ãÃý‹ôZÚ—‚ðˆ¾&ð§bN´…÷œéhýЈÒTA›*°œäqc”Då¤/[õ¢`?ªiår9ßœØ{óþ³0^LÍ(M4¸šuS^:¢1ß Ùà÷JÇ<¸£¸*˹9â‰ÒJõÅàüÐ4q×=§©Éåé[à+žàµ‚©Ñü¯*àœc¢}L ôø(Dõ³q0] \¾>AýÔ¢RöôÀõá=Ý2n&uýIÁ6T†òèPEÖî÷e´|ø¡¸ô%5€Ò)ˆ0Äã3RÄ¿Hi›v´í Œ—Ñ€·µ1?åm)ºG6®¡‘cu¦þ-«oú$m×FÍ{ìhObÈ8’Z¹b)€¦”ÄdU³]ÝmJ’–$Jݧ#IKBC#ਿ¡f¸‹|œk‘…é„5P'k¤¶þ›¤BÖÀ-%‡Mp¿—^¹ß1ùâÞ"€›˜ñ±’&¡M¤Sˆ¶¶¦˜Ü(!Ö†Ï ST÷m…_ºšËãcD¡¦¤Ì‰œ#Ù<›`^WÆX¹yŒÈ¸÷TóŒX–cMòÝŒ˜ü‡:úM‹pNŒ”hž»ÇáÄ?⯧-³[„)r3T©™?òhQÏRV(o3AIÌ‚ õ±pÔ·KõYSÏKÎÉe.%)0p"×&ÓþœÇ$+²*÷UþÌŠ¿_4ž¥9þ$9DÌãFR}#}©0þ„–2Öˆ?ñç-‡‡Y» `¤ï ï"'cƒ« C€`/ ; °ô:{i¸Ç®+€¨»¥WkHâÿ‘tŠWC´²Î—àcUÁÚC¨‰{\yþƒYzvA¸ƒä®)­À¿Ð4©Iй; žêïð„Ý5 ê3›û>`‡-Äe^ÁGNÚ] là·Ùœ¥›FB­Ë+:ír:•7âuK‹3‡Kq5Ÿ‡¦»ý“Én¤NÌÀ28EÂɪ¡]¦g3:µ04ô#Z*„ìÓ¡‘IùÇ™òóa,¿–ÌÀ£ï›mgÈ! ›ð¨Œ1{ÿÜ}pÓùþ¸IBGwÉnüÑ”KÑî±Âõ2ƒ0Á­×T £b¶ðÂë…òÇ+X²Þò†t"å!ÜçñHîI/ uÃípä îÜØYôJMçàDVŸÓs˜œ’æ¹KµÍ¸#FíÎx–JoI iâáƒÆ ÚxÀ÷^îÜåzjwg‘dK˜ÇåG£¢\ÿðPOÈT°æ mcçX/àÅÎoÆ5x}3?–»©!«kw'QëÂÌ´Àbã¤Éj Æ'N Ì Å¿ÐÏr–¸7bÀõþ_‚;DD 'xé@cŒ …¯je;0£«7ìaGÀ7—1ÍMä#ò}ý¨À&ù}5Ï¢ŸÛ‹NŸ-©‚ÂîõÎn¿M„TÂáƒæ^ëÓ›ÈÚVöœ£<'YˆM(®÷å?…¨ Êe¥Ä ¸g„<BØÍT< 9}â#$dK¦F2iœ“y§ßÏ„:" Ð0ÔÛ¦³a$ qá.ƒF}н‰h‚³ ¢«uw/ó“kDUÒá\ ,‹&ÂÐn6M1½1rºöëTw¼«ó㔟AÓõÙ<þ9æLÁC“’ Y7ÿ2ú Šl'ĵ»»žLÎå¼±í"ˆ}lµìyRE6·\™7UJaVy(õè#¡ÔáLÍÔ0ÿIÀ@I[Òᦪ֊õaƒ7«•ŒEª,…Wˆ`È©·¢.øÙEMãø[ÝBymOä<˜K©ˆø23äBà8 FÂöª(§™$‚.ž8 | ª[T5M¯«MüNÌÆôÓHÛNCVdOœh±jƒæ™š—J4ù0:·Pñ ÓpA ,g2c~߈räèŽ m"$†LÅ#ÀvRœìG}p$Í„Óélg§ÁãÆ}ŽR"yÂÎS$È]žuÔÔqîG*¨8,YÅÓܬ&Tî¯Qñãÿ°c(œv9+¾Û2èZz¼(Í›éšYÏÕꦗX¥|ü™}½q q›¾ø‡â¾Æ‰•ÚèÀ¿Ø H\[¤Œà;¿hT­œiÄIˆΆØß·nÛ;É`é[m¢bÙÃc~i´±y_žúóD”›§º÷Õµº–@û* ºiTëFƒ¡FSy°øò6/ªçÞl¦hÈUm¢»=dU0ëó„â„ÆA¨š<(íB\ª. JÆ,„«_.Ï%ª«á{Nå‘Ò¬2h «eðK訰 ’¦’GCà×>«ã*<.Ä·ÊÖ¶XdW¢ûœ×çæ4]7Žv“Ø3£ý, »º`èy‹ý•Ñ®yUaûp‹v(I›,} žñ›njž|G'LÛ\çi¿ò{ƒBͲ%Æø¯Z?¯y®ü‘·|lãêp0iIz0,àü‰æÎS%Xƒä!¦µ¾ëM±µ LÏ;´Œ´µ#@Ò)†\K›œ5ð+ç§—*ÙUméÎzBÙ@{•/†2yž<À7¦¼î£JúwÀ>åZ­Däü•a»Ž«õñÝ-vUñ•Û«õÜp—åþ¬TÔT ƒÐ #2ð„‡®`cOð“E;¥Õr 4MÑæX똛 Ñz!šذ©¨k|zšY&r+ǸWiÌE$Šˆ*õò¬FL¨{ æ+‚Öv 3ëĵÀ¬±—š©i–c è˜7RþÛb’cÓã‡0µÄŒûÀõnG¡cG§±æ”ÀUql -á µebÍG$5Ïñöq–¯ÍHî(½køº°¼Í: ôu ôe—¶í,’z75ÍXdbNO:ÀŸ³‘ƒŸ‹à& ÷0ÉUÍAò…÷Q1nݺ„Y\m:C|7r7—¶BUï—Ž¤ÌÞ¤Ç:תVuG€æ¨:- µ¬ûKÑ–éð©VNÇüôÑVH× °Â«¦R¸ÿZÎ-,ŒÁcsjÅÒ¡ùZ­¶ ¾êAíÀ‰ ¤±ëÀ¼l»˜Î—ÔµÕ†Ú)XÀ¥ÓÄB’[Àa,L1²›+o£è1ÜÝÀÃ%÷` ýøs‚X‘€U#9&°‘eSšÑ´ý]RûwùÓ&$†ÄÐ/9H"8Ÿ¶¡_jh$Ìü\rÖ (TµT£Vs(hºWþ››M\·Tz~ÕÚo˜x©äãÇõª†ŽUÁß òS2*2 •´Ý)qtÓ5mŽŒñÐPÉã^ðÉ$ò.K/³ð<‘Ÿ÷åê0¤ÝyŒ‡gá‰Ò¸¤ÑáyOe¾múÙ~šÑÍ«W ‡|§¡^ݶxœ‡˜V1iÌÕŠn•©·Ã"žÀÀ˜3Æñ-DâHªcŸ¸ ŸØ`Ÿ8†®ßs=òg¸`©Ä³cD´cî(¼­—ȆdÇEDŒä†-h8ÛO&0½N¾2C¤¸^ûÔQÜÈ Wb‚V¼ŸØÂ}RPPûÁãì¿‚§ê5BÓl_‘ ì$#^kÐ}up)9¥AÔs:Q4úi:ǵœŽ*]á¢Ƹ†+ÑÙ4×¶“+>%ó@?·°Pc‘ 58nÌx»\ÇÁ‡‹2*ð;J\w§§êÓpÌM"¶È®Ÿ|r§Á5cz%‡Gú2#}ƒ!>¹×… ÁNœq!ÂÐpôÂίép÷„9òv+x‹c¥ö]ëëÒ{BV2&}IÈcxµêÝñt¼'õ÷ÙŽ7CÜœæZ«÷òýÕ÷`'Ká4!aÚT/YƒôüzPסvW†‹ž†‘/ƒ¦¸°Öçü3#ûP~Á$+„´ÖYXrpÞõŒÈ­N×Zþ]6‡àhd“ƒJ[È3e‡Ý߉àgÉb‚ 2çM SoþäcKðhÔ-Ç7õdX±êüìˆ÷ñ±™ƒ,ˆ^:uâð°Š·ÞU⓱´Œ,Ã…#JÜ:"ñi^4²;P®Ág™#&áOЬ»!°’’~ùSdˆPÄeô.[ãÑ€ Ò˜`L3‰ (p¡—…ÐÐe‘Ô€Ø)¨—çhäyMU„vÚž”‰O¾èÊ4’3‚h¬ã5ßy*“øuŠ„^gš³‘î…¢LƶžoÉþ¯R]5¡%»¾^›“—ê¥Ü× ìÕŸ„^›–bÛ–)Áè–´z0y:NüȇÓÇ G=ö8²è”^û‹l Qp#©à"×¶\z¢|Ø—´à^1Ú¯å<##ˆ6‚¤yõxïgß: 4ñÔE]/wa‚ Pòô솻#¤ä>x7÷D˜À®zÄû|f Ìü(žÂ?)”ó ³]æu S ÙÅ cU²—b8uìAO‰x«Z3sóU<3õ…i믄SUkU˜B,“ÐO)W*áOÌÏâÚB2¹'ÑL"î”EÛé¿„­r ѵ#·ÛcˆO§á@=Ó7’QÉ-±UŒŽ%Y¨ÂÞØWxÏ«Û %©x²ßcO¶PÇg@w—t8:=W%H1mNŽôKâ[ê¼?JÛ %A!*J[$p›ª³ú‚O˜ˆkNPcܼW1>±_^ÔàÑ!)=ìH'SýÄ*J^î…ýx ˜* šCÂZqå ;,öt/hwâÝÛ-¢Ô‡ÆàÁÇòZ)WÔÑØ©SïWô. u•¡'µ® ï=n€h×,½OÌ“û`θ(ˆ°œ™rÄÅDœÍB{ã‰ÇÛ:x@O«†É©gå°xTåÇ­ÙéC-Xoæ{¾)r¾áåØQß͈•lŒ”ýðÖ6ìþ¥eýî(w“ƒø"¯ëg¾F}qÖ–æq–è3´¡WÎfЙŒ,‚ÊYÇŽ³ùÑ”š•Z•·×ëúž ”\ .9,½éìÜ2¨psè¸#žòûŒRÝ릳ã­N ™}pFT§GXÇ1I΋~0Ý*û$ÎáŒyé+šÕÍ|bÎldþ ’èát<f\½}^qõÈ9aÉ žBðy`£*RÉ<ÿ‡úä*öj,äKi^”ë5ŸÆk+“é“À6,r÷{MÌÍ­¾‚¾¡¾þøJÉŸO-C'p&êàý>Z»œ‘ž€àw¢1Ls KÅûûâ™T:%Øa€±oQ:ÄÇJú¢Îª•£"B¹™¢QVɨÃp›å°‰ÓÈ«Y_ºO›Á~©’ñ¢©[5ƒ®²ƒš>»êKÇúûã}i"«`ŠV!§‡4œé“ ÷ öLJûÓ2žØkÚLJÊêkÀÔ§KrÀÙå)âÛÂT‹§1§†âƒýIyñN¨Ò#ê¢eœ¦ëïK¥âé”®bÎÿ”­ô-à~£“Æ®Ãt ºÚчL ïdä‹aÎâ­‹W3u eÕÄãƒáÔ`<ìðàƒ2#cxŸyB‡Á§5ûû`öûÄ‘sXÒÞ#¬+ È*—ªåÒ‰zy UÁBÍÀK™ª”Ê8o ÂÁä´r|€ÙªÆÄ˜²4Ö1I+ÑÓ¶êL1Eóü"R+ë!ŸôÌs¶îWû]aÝLª0C`ÉCcÝ”ŒýÅ"Ô0ïû•îšÃò3ýuœÉÙнDI^êðÍ –"^ÒÁy:”ÌáN@!'Ƈ憛׉?Ÿ9¦—6,gßq/\­“VâAÀ¦Ûõ‰£cÈÒî«kbGÄ:L`°>£J=WÒŒèxÙ9ÅèÂ:9N‚œâ^Ý7*ùzŽ(²õ0°µÅ¡f nÌÍš¬[x÷€å€¥1-IjLmjµºY¡§1†×Åíù$Â!z òs=uƒ_xg¶¯Ò x¯W àÚ[Êÿ$jÄäˆ(ÀÕGÚ1RfU¸óŸs5— &9CQó¢Pª¶ êúÑâr—_([N@Áà=¢²¨ YAEˆìÿ£±÷û¬;l›ì=~tPöžžµ‡l0ÝÇG‡bïÚ)¾YGd§.±-9¢ûqé%Ýx#ºëŽþaì]¶ýaðæѵTë!Û?G­BØ/³(‡Ù#KÐÙf±°ô–ny‘½ßÞA{Kk··µˆìi£({Ëýº‘­+‚}kô¡°÷©l´éö‘½i]â{Q …lAì?›ø&|¿É£#À6Ñ=fô1±÷” ÛJ"º”¾ Ý0"¾[ljÉÒÝ![gz‘¡<ÿùÖÑ}__–ïóh°½Cto×ÄHð½„A·pÈÞ¿5ø~ã9XÁ÷h2F ›1$ìĤ – ±ý–”ƒm¬kW%Ÿ@Ãö ±½Sôyjï•hOì-âû£&æ+ßñù Û dïšX|Ïã †{£‡Zî ¼7¡}–ã´T:ÜçFcË|e—$çêÁêà iQ£ÐyŽÇE¹uk›y\wŸó½*Ë8½ÃöÕÆ—;ëÁ˜žr´u™Ì9ú)»¤¦ê˜€ƒè®Ûñë.4C·&&(jMâQœÓ1k|€º=š®ù؆Uû!ÑY÷%4*¤ Ò ãzÝþê`‚’·WÉ‹}ƒ®DQióx{TΘ¡‡Žmõªo܉Ap?ÕÞÌR¹dÞdfáÁ¬±è*¤!ÚÈ΂Úq›UÔ‚Æ$¼·¥úÀVpÿ fØšÿÍ7DŽOØÛÏZP#˜÷µU̼Ø¢èsÞÏéÀÞk.«žª}üWøøoã§jÍ6j>ÝŠÛ×–¡r$5lHaÛy ž ‡Îo¤Í:S{éZ$xÅRçÀ´ÀŽc, ™2G3Ü» ™0ܵ´% 5“Åd–`vµ5îe§+¯-9“­"£îѪŽ~‹E<¢Qf‰HÄ"%½Œql³ @дJ”ZpXQ¤æˆR'5¦´(»mÍÛIìáüAΑœHœ×®,#ãëà 5g»#ƒuCHyrÞÜ;*—äÚ$Y-³ƒ©tBŒC;>Ÿ¦¦LtüÌ}%#ƒ C\PHóöp—ªª‰©.ÔEƒ¥kì7æ©§%¸ÍÏÒ‹†—x\[Âxfª«£‹*7•0Aˆ“7Nò œ¦“„rŸ¤ÏðøŸ$…óti–Ð* äJüæ’’Ü ¹Ñg‰×_Rœ† 'ÏË*FŪIAUÔ2Þé«9úŠɦoðÊ %y`V äja¶ˆþÀìù«Òn¸E<…ûH c¦¼’Dún÷ ÿÆÜ£ ÍŒÅß]mT®RÄÍkz$=ìk:JõS?çgnâ‰ãã›ø $ÏÀ!B‡A&.^ß~TþÁè"èßq¢ÁÅ2u;Ï›Šxµ¯ j³ñí‘ÍDu KJ¤Á÷E²$ð²³Nãvu#hØž3N±G4•Ý0»šÇí6¥Að JzšÐÁÛ°¨–ò2.è$V¨Ì*œ)ìÕj‹šQ*ŽÑ@Â2˜$¦h²úƒkúz-D'ǃ Ô·„ûÆ‚$“ÓS[Ðà ³8 %Ê;ƒA-àOÓ8O˜!”tMÌÁ&rbœ³’œRr›QêgvV#Ç}àè¡FwÝWÇ£Q_¸Ln¹:¤|0à¥Bˆ!9¹× s˜7'^dËõ\‘€ÒTKÇ„Qž] 9£A›3‚Ù3ò™7!,än`8: ¡[‰© þ0,|xâ‚05ĉTxäp8ÓO3Ö§ƒ»¿r÷IÜHÙ¨©‹j1CKå’<µ Æ¢vád œRa¢%DßÍ!úš¦„k;7I,pRÍ8“ï#%R#é–¨ˆôò7–ÊlÒ„8.ÈÞh–uoìºÁ1…® z)ÇiÆø^b*2f-WrEPv¨[bÀ\ya“HæÒÃgKDñ°AtâÆ‹ÑNÅ?ï5´Çš¶Ý%äUâ=¾jîaÈ„x ÝçV)v[pøÎÔ7øè&ÜæÊM¼2ÌÕ©E&T÷·Æ"óî®å„)î† ÑRj :‚H°¦*RÕš'¾Ô¹g¦Yü¹ ¦Q¥š"=ð’ n=5F> âú·V„­di 4ͼwEÄÒË:XÁ™»« ê4™´]v·¨[{æ^ w°¦.‘°.Ð)=¯ÄÕ<´ŠX¾mŸìÌÛã•×ßëë=‰åï ˜Ú7F(âO§'˜·j;þ.PH z¦7Zo%ªÌ/‘CtøÅ–<8W‡.+–¦0™@ƒÄÁtY•ZU­ê/NlÞZÐʳZ^OœËÚ壂æ+ÎØlZL‰`k•ømÓòC~ÈFJ6¨TW„„ÿJ%§ôìÞà)ûƈ ‡Ó!Ý—9Pv‰è¥©3ˆÿÒ?ûÑUÙr ̼àmpˆ=ßÑž-þ“Ö&6n3Þ“6a2©ß@ÚÞÈŒ#¡ò¾]ÙnyV9ÄÔ”yê,R-ÙßM2: 9ÓUÜOLïȱ¨«Lû_ ÆbùST¿ú¸6«Ye56Ç:6ã?ûèDƒr‰*-”Åó=^®ã¹‡T"Ïs;*æZÈŠ&4>‡3N ¤T‚ÉVŠÅDÅàîUMª·>e, uY,ðÓ !ÿ Ý,è%╱󦔧âSõYÑI£O™)cV#V õ{11µBsO‚pŽZPL×Ë?OãBî j7©æn­kZxÛý­ÜG4Þ?ÛnD'.Ì;ñªÎÌFUᫎuí5õÆy™iܱ®)£nÎËnÑ#4Np+rP­[Ìݺ ˆ¼‰¾X•û½õ´ÂËÌU<¤…e<¼“› Ïĺ\/!ª€oƒÚN^þöž>ŠâëÍ%$!ôÞa -$¤ÐÛ½BŠ€Â%wI.wáJ (ˆŠ"(6QTz]šˆ€ÒAšô^º‚À7³3³;··w¹,‰ÂÿK~ ïvÊ›ú¦¼÷æ …‰Uôw—:ÎbÊJ¤xòž@þŠ}‚¨&p—ˆÊ•n×”0”ЬÔFî³ Ç6Ž À0(öS„Ñ‘B¢cãE±">@)xŸ$7¦ Qô€IÈ??Àl¢³eÀaZ‹ SC¼°.èáÈÞHEmË€Ó#øaÉ„"[ðmÓA~;øi5@­TÁWŸË “˜p—Û2`Ià/¨œ1¥˜Œ ];u?“ÓRŒB‰M(™“H-\÷±Ù Š'Lï^êho5èl}ˆ”ϧ0S£M— ÖøTA dË ++i° µ§‚Yƒ LüªèX‹Y¯ND¸XW4ìz¬) øZÂ3¼0€CÂt%[ k ;Oo;åošÁ½‹ö~’HTØï±ÒfO~’Kmë(‘©°‡cñNòÇ»5mÕ$°/cɦLò¥T‰ÜV±dOEÅ(ïžœ|á²O¢$·Ø Ùü Yã†;7Wûï< páãÙî_@õê,<ŠÕ¢UÓ–¢¥…pyåS¯ì ›'5Ñ\N±O{Fv–̺9?·gÖ(ÏgV›Ç'Üä/úޱÈe;þQ-£äB¦ dtjËBâbØîæ¸wÆOI¢G ð“Ðp*èn%D'Â'7 ð•o6dP[P+è°ÝëæAk¦NéåzÁU¡´}ršp²’tâŒ&ƒ{“)´­!qN §_r“ëÂá¿Ü¬P´ŒjÓ¼Y3‘.?-‰ïªCö‰¥‚wµZÀñÀ¬7’GÈÏØR™Áä/ESÒ¿TÎ4BCJЉºÛCóTÖñ‚†¢»,‡ƒ„º¨Ç’· Á<ê.aÇÊòëg3fšì”HçRF¤G8„hÞçܬ‡£U¸Ò0J~ê§²JI´pØ&#mZ¹bB{3 F¶p CŒuúìg·ØýC ¾`11Œ6è‹i¡Æ´ð0ÔD¤%ô:@ ÂIÇ(ˆð&­M ²ø”–Þ;A&ºlÅ[–ÂCñ:Á3‚ÝÀ†÷‚Z›j»0gd:áaQÕÑ€_ŠˆêÓšžl,”5Qâ¤èÂl;#€" _.E…VÌØxhã RÑZÔ|v‹p‹SŽJ4&Ü~ù‘­a μ ?³}çx¨¨×ÿ¡ˆÿSá–/ÚI”6Ȩ¦ ªÔÙ 8LèÂ+ÃÂ$ñtGAÕ; 1á/4mÁßð?þíR ÂÀðĹÀÑ‘áÑÍå'P7OÅc%èæˆøð.asHOaòƒ¨û‡lÑ•°ßkÒ*&­ÿcФ(‹ÿ0c²xÆôö9xj^Dr„¹¥ç;ZoN˜¥Øöl¼ 8'³ Á¢ÙƒÚÆAf1¥+î¾9—»‡‰?Oä‚f‹×u¢bÀöKíë Màë ð‰Ü&­¢òüD®êë:J;«<Ýàq¿{n÷S¹\¶tæiCUN†-¾Ämtyí¶jƒXÁ_(8ÝŠ¶&d1…Çœ¤=ºW£qs¯¦à/YÐO'¹¿ Q@×{žêþ†—÷{žË~îø“OîoˆXF¨)…^ÀkHɽ¹ä«³ºd#¢³®´6Ï7Uܕε9Ìiîù"9¹£`Ô2Ö‰Qa#Z,µYÄ(°Ö°Y¢ hCÂhgu©`Ê‘ÌaØt`‹£³¦ ,{Œ€ŒC؄Р+X¼-¨²¤‚÷yÂ#\yצh->C…f ¯4•g÷OÛãøÊÚU¤9#ÁB%¼‚›S®°×…¼ªe‹°Å«©KªÉçñxòÑÑdqèÀ¤ fÈx¡VI3B>Ãyýª”«â!\=£ z`ì\šâ×0‡§œ„7èjÀ[yy¡ÂU¥?÷;øR<¤7É’+Ž~Å­IçÌÚ(LCÞnIP{4ŒÓFá×AeÑBDµÄmÓðÈ‚ÎØû¹¿.\î™×xø_Öq†›Žî¡K¶•H%3Û]tŠòŒ‘º®.ÆTnÀ§ÅŸ8 ¾éj"ÉmŒæÚqVC:Û[7J‡¬ê¦éòÐè"·1 ©Ôd˜©F³#d¦ mÏØ;Á;¢6¬–d5È•¯ž}‚Õh6fêl¼Èްê2uVp@0éò7£Ž`æÌBJd-f³E®6÷t詇©tYqЪ_žFŽW-%<9‹Ô(í2ãÄg 1›pÈHÎ0·ÿÜUÄ $úŽy˜’ò’I+¶*oÐeó Vcˆns‡;¨_“¯eºí’–4¡CÀžÜ&3!ì¹?Ò,£ Ú£‡Þ&¨»ZIùŒº{&6}¬KÕ™t†Lï‘§SÓLðÍq÷Ø)±&8Ž[á#zºtïs°C©Tî¡Go .c|p¨U.,+\…8£XôÆ$¹AgË’ÞhT à•¥L;Ê$ q²[*0 â#XpðD7tØ`«%f¡¦”›%áëÎFø$œ$ƒ³8ìäÉÓl0› «æ ¯éS vtalomFtÑ•N@’d›cŠÃ/¬BS¬ RḬ́Œ2XAˆB‰ÓÁú_ô›rp2—sÀÊ b+ϯˉŠÀ‘Ñî}âE9š(=ƒü.G&¹ÙƒÒBZÄ÷qÁçp0ÀŒoÀF¡[FD5 …B:HMP…ôí(¼o%²¿ ÷ ê‹"Åð‘Vx¼‰pm¿<'È-k²Aˆ„¯±ô^rU ˆ¾‘„c'[uYP©Àv£î1ÁTQÒM_86-f¨§Œ3jŠnãÏ¡úI6@ ¸Ô1'”јbHÎJ6‰²FWs*‹¡’°ÍÕ¬;%†±Á‰ÖB7^œR¼‰,è•ázÂÆ•T©)­j,wŒJ'ÛM–Tºµ‚È­06K—ºzÆê³¡)¼?­KMæø4"ø¥³ÉÙ˜- ÷S`jDœòã„ä^™D‘JÇWd£™ÓÙ-B&Q™„#Føk(¹ˆ-x@jºF0«"|‚³¿ÙŽB-–°í†p壀’JÛ wøX´žÄÅ&0Þvb×ÝÔEVdÒ±…É”‹˜ E‡% —B²lؤ[ôlÃF—jô¡!A¢oЇÃë¢IGÔ‰R ýЬÐàÎæô®3 [®IƒÖW­YBÂ4ÐØ)¬3ú”BÃÉnɰ£:ûKQ¥: i¸Žû  âÉ# àEŠC¼àõÍ Ê_OúBúvTÑšúĪT"¨:ÊbÕS‘ ùH 8wÙ‰ä•[¥¤6a“CÇp$¥í”¤*üÔ Ê§b º9ÀÄÑ%ÑŸ£žœp… ð‘"£^o2@®E8">gOd9LÌ(6šVl˜c;K`4á‘~9LÔ‡f‹]´hmY0cdâ8 ØÇ’ Ö,j IÁij´À/ÆþÐR¢;}8Rþ•¼ñwù ÁawXMä7 fl8 l³¡¹w+*'TïéP‹ Ñ Ø*–pblj„ ä°]Âi“MȇðrE1ø{Fø -Neˆy‚É2Y‡ Ò 9%òÀ`B åÌ$§Ô®ü"b^ÚÚð-±v®œ)>bûx²sXÂËqJ¡Ä®A6ï%ÖŒS·Üù‘U¦¤!êM¨³"âæÐ¼$2¡¤4ádQ4Ñ¢U÷J›U”•&h ù¬@‘·ë5y¹<£ Náb"^ œ"r1UÖÉô„pÂzÞõ4r±…XtHËÈðùC[¿îr e5àˆ®å0ËO°"‘5ÝÀ^Ñà¢a媩ÁLòl Šb£¢'‘@ÛYgBA‰Ò•;› Ä‘Ir™¬L²h Ô±4…mbpP÷áaÉ“e¨AÀÁ]z@Z€PmE¸îU…Ʊ¡Æ‘³/‹(iÝû%Æ÷“ó0 ýŠ™kQ1r."æG Ç$yMT|ÝjEGFµ€šZQ-à4)jj)Zç©Gmó…Ç›È78Z¿e‰ªÉŒñä]ýL*b‹V1ÍÁÔ˜'õ3hħ™Û™´Ì¿>“öÒÉ¢^¤M¥ÿKÚeMsÑ.æ ¼X¾ ȰZR2].4îN‰AúmÈAÑ9™³K1 /ÉÅ Rȉòµet͕ܵÊ<*x{iÉìÊðÓ˽`•œftRB•ñ*©û$Ó-X`«³ÙÍY£ç:aªUr¯’“?j?¬òkׂ;X@·ÒW&=¤SL®•QËG•|ÔõÑpO©ÚBB"\5lÓ*ºE^-4<õÖÈã©R¾q’ÛppÝ)QçNù2—3ãs»ÇÊEƒŸÌ:yÑà¦a¹'<ÏÉg¥6ίYCkÁ,Ü8#• Œp%ûá Ø.”Ä˧³·Ú º I–Ñè¤NSp‰´A„»Þvˆ®iÖŒ$zGYxí ¢Y[˜(Ò‘–‰€.IŠ‚€Ä¯Z Ý#[Î4¾² yL|ú‹ syÁ+,—]ŸâÓ /(lÚÄ‹qé ô)ÉΗÛÄ# Ô&ÃuØÙh³áý#ÀyÛF‡P{‡n:[šœu–$X††æp@N lìèÑi T‹qWÞë}tô]B“É »2èUÑ5’Ç™ã¸zP®Ñ£…2+ï œªÊÝx´ë)÷x~v«C~ÌPòóô@R¥ƒý'É&£“‘t_Žèÿ¤ØÈ3xß#ªÁ‰ïdÀJ­Î ‘!DÅ zJ , "ht/Œ¶b¢ÆO Q'’—¬mÉiÞlv7Râ ÂdäÕF¥iËý BlåË‹.»¯ú S–5Œõê÷F£ o7*¦UL ¾BçòØоÍÃÃBî."‚'{®¼Q,ŠBûRˆ ¯ˆ+T”pþ‹/ E‹úmBÒD0L º#¯|vO†©v9®¶ªœ76Å:€±„¶ÄË¿ƒQgäãÍ6Iá¾"Ø]&òpÑ#¿¾ðÝ!—]š<òÀ¸òS0Í^3Á K‡ë2Þ$ulÔˆ…GïT+ªŒcmf¡™E>«Nêdnë `m“™ÂØxANx¨;Ù§rIG#Œ~š,Œík„瓞 îÞH "ÞaÛAP«adû%Ã5¤“Å‘jÒÙÀÖÏŽw}‚„oÀlár`v)4W§×ê Iм «ÍæDøæ"l<ñ½Eé¥ÅxÚZ­dj¶#1’;*Íß ²Àç…೤ÅR;ÃùMìü4d<²mk÷²ä©¤dÐI† h2à^@¦‘½¤AÅg˜¹a¤Ã¶“ÂE¡Ðr”` ”ÎÓ¢ š\2Œ BÏYRu@/É‹ Ö_«>ÚP"‡c#|n¢¶Œíüê’ à7šô2¥ÚJ²AʼnÍÄë`K$›zÄ)CY’g-3:ô„€Šíªƒ×Ò³° E)Qå&…DXA4¡ÃQØpÁL:\P.'# ‰ŽŒŠ cÛè-F°&FDµhÓ¼ñp°UÍŒlaÞ…A-U\0u ¡bòÈÈæ[6oÞ¤YT“ðf-šµoÒ.Tè"EؤKw€>‡8[8ál U‰b¢b"›F€ÀæQ1Í›¶lÙ.´µ`8¸A²5}H0l¨àО̗÷aJÛ»h;Öõ ýmƒ‚mZ’l¤à^ lÝF¤ö„ê'f"Šp1.¬ß¶5Jìéé = ÀU{aK‡_c!2äv)>´«Otf2÷¦Ž•ôž0)ïÀêò„ëÁ`5iM‚]TkxŠ`‡ÊJ[T’¥*ÒLA樸åTØ£U—fRÙ*ª±Q*·ÿíqsöx‘- Õ̘¦ù°9‰tÿú“ ž mÆ)·5W‰]ãµÔ_¶ÃqÝTùAr/лî÷%jŸ[ÿ×÷ 1ž÷ ÂHσ‰'t›D>”¡ÙÌ&®;€¨–‚Þˆ|×ì,(ݲXm,N½t‰†Ðì{·ÄØ^αýC¥—:éÀzÁvˆî¤ëÒLøtÜÖÙ’þsJ$È%’-vr‰½-aƒ(HÂüжÁúL¤Õ9’G€•>B—aã6+°»°š„›ïÁñ‹M¼®ï¹€í­f#ŒJ³I7ö=§¢ïú'€#­ÝËtí‡ëþNBš.ML ôìU<f*™¡cªVž’uÑNQ˜ÎÇx™ÄjFƒT):ÁìAî©:štXDÜ>Õ"˜34™ŒyHê@ב-†4³dåÀsBqLÅíÉi“)o©¤ ›,¯u–ÄÍz Øø¡qeÓy•®«Ã¨Gφè²ò– !9Íaò®Çº£ñ×Å ³y•„˜³è¥Ó‰F8rI/eЙFˆ—2sIâR¼ ón¬ö2f…ãPÓb6&{• êýŠcŒïŠ ¢K¦Ž$«wã4VηFƒPÄ»1Õäe^ÒK0áë&‹W©À>PèU)Ùâ]J—É;ëG ön($d¢›Õ]¡zºÞ»ÁÐo”0õ2¦J&FÚ*¿¸R-´vÍŠS¹œ»S3•¶ÀUȃh¦ô0hi>ÿaÍ„*ùr¨d}¾^G‹ÁšlÀç7²äÁ>\óXaYuÙ“×…»T°IE«®ò^S.·-onF)<"ï~C¬´uT´A†õè(h‚½i³VMñ>Pš72¦™s|ÍL²d³p½¦M‡I]ãÌGÄk(‹PêbX%Yq‰T¸ A*XéX¸ÌIfSáZÆJ ™ ¬V¬°TÑžh=b…ÅHòÇ+K-7ò@‡% e¤_¨4Y2äþxQ m¼Š3? §})D˜ªÁ¹7Kî…¦nÉÌÏ,žœ)«þðJ‰0ýÒ–þÓÌ,š`)O‡r_%aždÉ$I½J Ì„,žüA•Xa¢£}ÑlÆâ©ÌåÕ¡/l9A5ÂCË¥;AÂÃÙ´²¤Zi©$¬O8±Â+uÉèáÀÔ$ƒÁ¨*R0Œ@FE‚¬Âëu)Hlì­ôØEö¬È¿ Dæ-åËB<½¾—Ðfðú¦XQP˜†d±çÉÍÖær?WœûðE`<á±Âlçý}bqúj' ”½}î·–,Ó6ÎÓkžDËðöU ´»©tË OÜÛ&Íņöðêïi÷6Obew{Wáµ'‰p.Âäÿe[»¹ðˆ…©6W¸Ó ÖN«1SæÏ}½!|€Ñf@BM“Ò2òâëÓ(‚Œ*Ö8,ÒSRáf¬EopÝHEFDË™Î>Ë]ß HDœ6êa»ùøÏ+óùøOTi³ÉáˆHµêôYyx·§³>UçüR¬Á:ÂdðT2Å- kÒDm:X-«1 w¨yÜ)*¼yTÓá‘ÍšÆ{·¢Šy!S`ÄPw6,6›A0Ð_T¡m¯Æ©0ò}]…ŽÈÔ< -z„"&ÁC/a¼¤ ãÅ€ÇKº0^Š&´í±4: >½¤DÎîYIõvnPœ: j§¸™\™Mµ!é²…tE"“/ •$!uºÑjZ¥»9EŽ·:ºÇјV1MÅ °Œ²ÈÃ¥B83ªfÑzeìC$&lì#Sàr ´¢È“p·Š_/El©$ÌuáSDE ×› ·1Üó)ÊÐÚŸmz/ÞÕq]3]TÍ<¯¹ÿö Û<7köˆ"ò†È‘ -ŒÉ{>Á˜î€Ûw·8ÊÚà{mh~“Y{»]çª êÉWÓwdl %íp—þÜÛ»W4^îç!‹ª éÎ*¨º{uÏQ½!rbkÓîdkÓõaJ+<_4ƒeÇ:­jDá iZFÛá7°X& Ð[rÁ Ìf5éhòP‹$A ¡Ãá´¥uÓ°¢âeè„#€¦B+ø§΃ËѬm@îœI:n:hö!Alå,‹®­V]†QÖ>j3* ò EK†SQ¼ºtÞÚ­z4ö?{HšØ2TîŠÁ)•Ù¢|W)ŠEÒuÇv'1AfZ×]Rm‘*X‡oñ*!±yi…«ÅbÇb'Ì ÀR0˳OSW†¨ØƒMHÚpÝhøË’< ¨t#Ài?9#Z L·ÀìƒðE.ÐK.LŠ(× ÖRf ˆÌYtÞ€’Í_½ÉEPæµÖ½¢…|¦m%QQMÄ3­¢êúïîôÓ]/º}#ǃö{î–´¨É‚ÜàS3¤çb&?UØ›H¯ì MZ5iö?ÅTx VAey0ùì™»¤—û»öÒHm¬¨ÌLL/»Ña^%RÞÒ(m@¦!QÐAÉ5À>'Êör\J² ÅõÜuéÆ|ÿ˜ðèø]Ó–¢1P¡ñe±t÷ÈŒ(Xòt·ÎÃ1ÆâæÆZ€÷Ëd |ƒ/*J8+Ýôr]&AŠ¦Â‰½%Ö,PýæœÒ2˜ËÊ© .‡…SIýÙ;¼Z-éÿø´Þ2—;V™å+^$Ýh©“yº±kÖAb‡‡w3û€â¦c['`ȧB{Ðié6ÈQìëÐéáEœä ö`YmLWº¤UÊ4eÊY çtI*Œí ©¬`”À§cÐèl¾6ÁöÖÙÀn6^—idûƒýŒ>Í…oØD!=˜O‰gDºà£…|ÉG²IÙÒòÉõªæ)°æºæ º#Iu¡‘3©ºây[ä½êÌH n­Áµ ÑÐh©³Â€Ð„ ´="ØN"’8 ¼î¤xP•}êc =\NƒÕ« !¥…‹Kâ3 .ç/¥[y]{÷ž´ù+Vë -!—0² œ`ÉUÒééᣌf½E^"Ö<š¦­š<5€$^1ŽlééÍo7üGož©¹9âv"”Šö2š¡á‡D ™O[ñðRUQ$ê3{$—ˣ åiN++牗O)á`Æ×eØÆñáËŽÂ[/†ƒUw$€Íœ°ÂóßM]ö'qùñz¦Í®‡BÏJ;ã÷y»£Õ pÑ’éÂZÅÂÚHaÃX p“Î g“x°§› Ç6¤O ´ÿ#°ÇäÁ +$K ":@f¡Å(í2Àa„—%DÇ ”=œéšˆˆ„‡ŸA½FÁƧpªÁì(‘Ç&¦l©£Çf£sà\lÀ‡áâ,U,ØÓl˜´íP,šJ…s`ø„ª ÞHQ4’¤7¦Mb'¥qQ~vo®«¤´gͰfÉw¡¹oУŠz3¯ 8Ä7“+Y{ŠënóízÐÝ#Ï‘PP$؈lѪI3Ƴ˜ÊîŒgÉ ìÆÀ“DÞ?¹ JÕò|"=‰Ÿ¤í/˜þ›…GGÂMÁ?÷Ûß²Ä%ræüÈ7¯O¹~n1Q¹\ læIUM>’Sä¾YG«Åf ™$lHhÍûYƒï¿: [±#Óåከˆf7XxÙÜçç<¨ËzcàHdPxmϲë–/“Ð#™m[¾´êM²M~G¤ê@ ¥ â¥(JhïÝdŸ~t/!nß¶ËÑsöÈt€*ë÷†ŒæüÎË…ý’»6/3¬=›,Œ˜ 2bœöïÂtŽÌgC>ah2cÈnÉeWh8±Ió®ÏE&ù›WË„ ¸_%Rl¹(¯6‘7åÕWœÍ,‘+J‚%%§GÚh£JA<äÁ®’(¢RÔ`}:}ÕRB£wì÷B|÷®ÝäxÅBsx?—˜J²"w%)UEµf“ê¢E­¹`ï§Y«h¸¢EM |4 8ÏYÌ^%‰’[f•0½°xn‘q½ÜOÄ>’mâç ¼#~÷hN™LÙU°¬Ðm”'Ã<˜‘l.l"ÝrÙ¼:x6‡Œ7¸Wi!šWØyT+ Ç3 ôZ´£%#Ë n¸r½ÀŽÐ!UZaãþ¬ûÿÑS.§7F-G\OÒÚ”éaÒDí‚ ,ÅÇŸÅa“A¶_°H’$¢’þ†|2øL©92SŒ?hä §áó|äÛ_ÐlBBe²K´8D):³ÍHÆYƈÔd¡· eCm’Nà&Q¥7Æp6ÉhÈŠìil^™`J² ÛÅ?Ý ªMÆrQ('§«ãžI%Á’dŒ $±3¬ºät©Žð´©$¬¡äËl5GœÃj^ïcûŶOH •«k†MʽJJú?E‡bõ,R¡":ø<& 0›ÒE|ì•üÎHËË—.ôfÉOo„3…¸oÈ´›¥‚[–tZᎠù¬]‹3 ™Ñ„JªŒ¢¢Â ‰Š_r%¥KµI |“M$«@rFZX'†$sØSZˆaIÆLªÔ¾:‰ÿ‡vä^¤áwhÉ‘ÄFJä;Æb›Ð’Qœ‘‹ 7QÉÐBoà˜Ä¤?މ¬8â² üYœ ›D!•‡7™H‰¦+ÁˆUöpÏQB>œ’àâÇ7s:[=–ÍBzCŠÎa’½›Ç°.“ü¸ø$“Îasy™Ïm|“Î`®)üc"¢¢¡àÚi>+IFG|D¦Ó:Höó$¹—Øö1³¸òØÇ@zj—ؽV‡p[›|Æ÷î:B"@Èî‘*2i…m åÛÛ ïc6e‰@g=+Žº½ÚÂõïÕ>®}G21õj?”ÔDyÅ ¤ŒUŒñ /mGGD Ã0qü­Š¥ ßjű¹•úê5þÎØÛ56˜ºp|V/1›?UdÙŸµgmâíÖmËMY½gDö >»úßݪ¾ò)÷É£ûißÙÍÍ7¯Ì¬üƒ3]¹+³¹œã¡'Ò-ƒø›—Om ë9ˆ;8fã§Ñ³Ïr'®=ñÊžCܦïV”|½ãëücƒ¬ g¹_cWn?ºù³Ê‹ovö™Â_^z­É[¯€ï½õíMãþîV²ù¼@#wÿ~éßk]ÉíÙqþÈôzüíÕ÷>]¾z o¿çág#¢¸¿ïîònùŽüŸ#7ŸyøuîòäÉ%& ÛÊg7 ÑeÐîB©‰wKào|Üúl•:þöò²Ž3íð7>?¶Ú—+Á_=Øáܼuùëu{î™Zl wqÕ[‹Oý™ûñ­¿vì{8•?°ª_…‹îò7“úúÈú‡ÏißnEõ}§ùKÓ×­Zúò,þæ•¡ÅXyþøâ3»næþŒ¼¾¥Aɲü­³=¢·¼yŽ»ÿFXŒõŸ®ü‡†¼Þ5€_µüؘIåõš»WÍæ®÷­üïl~O­‡\X“¿º¬ä¼íǹ3_M1”;p‚ë›^ùñzüáGŸð9¶‰;0°­±Èûçø“Ýf¤ßˆ?«-Ò鯫—çO䜑R¡Ñ1îÒ­A¡7Î5å.ì;±}bí)üé¡Ýs–LªÈ]ØólzÙþPŸaå“jþÄç°½Xg/÷¸ö$¿qnò××ÔžöZèC~ßC–ï9ÊŸ]ô}äÊ÷ïñ7zxs]ÐGù3·'Ω”ºŸË6Ä®|'pž?+ S?{zF £ñ÷EþÑ`”û–€´Å ÜÅ0ÔâßZü]ÅTáÇ ¿[8È!ªášgS×Tš%ÝÐ8É 4&æm`S¥­1¼Ô ì,mâþÒa3‚°+FXoÂB‚I‚àPaÞÐö]rZH0Þ›µ9XAL(5°Mˆ·•IªR"BXƒa_˜M/¨åʶ g)lˆyLršÎbƒß`×öusfHp¯ØÎM†&vNHÚ«sÿν‚CCCY0ãÇ‘Cl¡¬Ád3°Q² êÃÓ™a´=$ØæHGxã06.pB­ZtÓE,V9Xœ¡°ÚBy!ƒêeT‚eÁÖ'ÂöÜ!‘$~ 8‚’u·(ËšáwT$Ùk²loèуmÈŠ{z–Mͽ“Cš†±Ñal‚°6Ë:`@ºpw$Ä ×ð˜ÞQéYÓXÿ*ò£#¢`"»w(­P•eSoCFHT«aÂ(ªuÅ ”%ÔˆeA)B`ÁG½È6bƒSâ^ eI…?X1šDŒVŒ-FŒ!c¨ˆ¥ÈÅ'çÒ“žÕ²,¤ „‡ÍÑnk%Öµ2À8áIN;¾*Å(!¶TpúT+0F@t¹"æó%Õ PCª= âz‘¬h,;ÿlȲ…NƒÃ¬#ä XL!¢¼m°°_†O4‡á«ð"u´[Mm¡-ÅÑv‹i¨. TÎÞ,ŒM¡?Åê6gÙt1ã,vœÐc„îhĆ ŸQì+lª`ƒ\(XÛŽQ$y[<:÷äÈÃ’2°…„BÀ Iwˆ–¢C¥Î®S‡íÒ}`lçVÐð¿Õ` È®¥ÁÄd _|WÄl7eE`<<ÝÁ<Êʦ¶m[@¸‘lCYßÕ¥@NÞ=AÑÌJxJÜ©H¬  …›È`„qCˆ®?Ü;q,~£ÎpÊáÀ…"$q›Ýãd:»À|ªŽïÓQÕµaé%@ 0XIe1¦Z“Å!Ê;6¡|l ´XŠ£õ¢²8LzüR‚dnµ£èÐÄlpVƒ*c²p% Lm€¬6æ(Á(®ÑÎIÝfGÝ ( x±?K³lf& ÈL¶dRý\TW˜á©` ì u™= ¤- ZW`x¶emèæ=ZÂ1U…&¸† ­§° vÞÄeE÷eYÖ0Þdjg{Sˆ=ŠV°Œ¦’])ÇlãBNi;ƒæ‚7Ù»>‚í õYY; ߟ€*™GkW!‚µŒdC†=ù4hB##š¢QÑžŠiÎé/*¢¥„‚`kê±bþšDDJ80þèb1Ê»¢â]Ã::Smú†r+©`õ\SÂÿ`YCYTO1…È0FxdDd©¿¹®›*ƒÈÑ-…4Mb‚ÉFÀ%n¨|ý©"PhìG‡>'ã ÿÌ㸊¦ÇD~Œ«\Œ¦^«(×°\ÆU>«fyVQ1Í`š¨Ho†•fl¨´/o.ßè8Ì#Ì–Qfçí{ -Hˆ†öo Ï ðÜìÓþÈ”‹gÚä,—À5m\Ÿ„î%ΗðIäVòr•¤'âˆxå”Þ8ˆ½µ›ê´ÁGªò“©0èô Áß¾Ê`ˆPegÜ$=üëƒÓ’ð¢–ÅøýtDóÇþådö\7é ~…üËQáAø·‡i¤úõ+)v* ¤~¥€k žà/M…qn\è_Œ‚?¬KU…ô9*¼8†5¨öƒ'TÄþ5)HÚ¯‚›ôE…ükRáU©úÕ¢ ÄÆ … ^Ãú¸| p\BAã±TxC ÃqxŒ3X!œ”/˜JAARÿ: ýA¥o€“1!=þáü  IÿÁ6h¢žà§Â‹bX’ê?X–Hì_Š‚¤üݤ'ø#ò/E…7Á¿‹àð"ŒHG>°œ­€kƒý‹aX‡ÃqØ8£Bz‚¿ ^C\~ŸÒ¶. û—¡ i¿vTxY +QíÏ×ûW¦ I¯.Q!=)_{*¼ Iý;× ûWð:U(ÜSHOðw¢ÂkbØ€*?TÞèŠýC(HÊß¸Þ é þ®T8™[2Òøé\ìߊ‚dütw“žàï¡+*¼7U¿Ö$øû(´/>N¡ZSá0Œô üý¨ðvv¥Úw pƒ°7 ’ö}8Bz’ÿ *¼;Éø ܋ؿIù†¸IOð¿¨*\GÕ¯†}pþN’¨ð¾$ó#4´`P'ø Tú’ á0LNßt¸ÿÆs¢éùn2°_ IûC Ä(…ô^ÃzŒ4¾GgÃþõ)HÚßê&=ÁoSÈ¿>> ÿ¦÷6d~„帱Ø?ˆ‚¤~¯€íB”Bz‚,^ ÃÒTýÆ7û—¡ Y__u“žàO…—£ .û$ÆHkGQÆyòp“±1 ’ú½ Ü» éIþ“©ðâ$ãó-àÞV'éߦҗ  éß) ù— Ò¿‹ëÄH{M²¿ƒ}ýpa²—ÄûMa~ÿ¸OÒüQáô õû¸ á$ý ütø'¸üÅp8¤ü³ûœ‘Öæb²òÜ\…ôÿçT8Cd|C|_7G!œ¤Ÿ£€ŸŸ‹Ë_‡HÊÿ5p °?Ù[ÐåŸÜ…ôÿ*<‚ÿ7À-ÄþA„ãî¿n±Bz‚!N;‚ÿ;à)„“ô‹ðÓá‹êG‡/ÁíW‡— Úæÿp˰ #Ñi¿¥ÀíRHOð/£Â‹QÐ?8Â2+±q ú_Ü…ôÿJ*œvd|­nµB8I¿šJ_’‚dþ[C…—¦ Á¿8^!œàç©ôe(Hðo¤ÂËQàß ÜÏ áÿÏTúò$ó×6…ö+O¥ßÁ¸ö¾ ’Œ´÷§ék7p{im‡¦¯=ÀÝUHOðï¥Â©> ãcp°?íÈøØÜm…ôÿ*¼†å(ü;ŒýËSà?Ü…ôÿa*¼IûüÜQì_‰‚d~8ÜŸ é þ£Tx ’ñq ¸ã á$ýq*}U ’ñqB¡ütú?ê_• ?Cµo5 ’ñ}– ¯AAÒ>»ŒýkR¤¿ä&=Éÿ2ÎR´Ïuàn(„“ô7¨ôµ)HÚ'›q_µ©ô0L>¾éð»˜~Jãp‹PõÜ?Ø?C²¾@úy` Bz‚ÿ*<ˆ!:GÒø~áî•¢ ßÁO…ôÿ*œv¸ü†!×T%ˆÛÏÇÇMzŒ¦uÉ¿ î¯P:<·oNÎø¤|`Îó!sn#íqqûú€µÆ§ŠBz‚¿„!Õ¾>à·)S) âöõ¿}*)¤'øKSát’òƒorožv¤}˺IOð—SÈŸn¿J õ§Ã«àö-‹Ã $å«\MF:[CHÍÿ>€V}:(¤'økRáRçŸZÀÕÆþÅ(HÚ—N«žà¯M…§ ž|‚«£NÒ×ÁtýKPæß €ºTxI ’ögAY ñüybùèô$ÿþâ á!Tú2Rë›Ì#û—§ i¿pàZ+¤'ø#¨ð $õk \ö¯HAR¿H7é þ(*¼2 þ¦À5ÇþU(HÆ37é þæ õ£Ö7&¶_U ümƵþÁ0—ñM‡wÀôS‡Hê×¸îØ¿†4ýtn‡Bz‚¿;HA2¾{×S!œ¤a>fì_œ‚xâÓ‹ §÷HdüÄgÂþ¥iŒ‘úõ.û—£ L?X† éIùâ¨pÚ‘úõ.^!œ¤§ÒW  ÌÿEò§Ç'óŽý+Q¦oÀ@*¼ Iý_n0ö¯JARÿAÀ¥)¤'ù¦Â«QàÜKØ¿: ý½è&=Áÿ^ƒ‚¤}“€KV'é“©ô5)HÚW¯P?J¾ÃÄö«EABF…ñE§N…—¤Ò“p5~kSô_:p1ÎôA§7ãð 8B²>ÁöÏΊý‹SÐÏHà>THOð[©pzNèËÜûØ¿#Í¡$;p™Ø¿Éør7V!=É?“ §i„ôÿ(àF+„“ô£©ô´#ýŸ¥?M_ Ìç=ìW‰‚¤ÆQáU(Hêÿ*pIÎH ©ÿxà¦)¤'ùO Â«QàŸÜ$ì_‚„¾^s“žàŸD…×  ißÉÀ½¥NÒ¿E¥¯IAÒ¾o+Ô¦iTûÕ¢ ¡¯wÆþ=*¼$•ž„¿OßÚ$ý÷pëçñO§ÿPFòðpúŠ8Bšþf÷ ö/NAB3[«žàÿ„ /IAB³€[ýK1Ò‡äÿ)pŸaÿr$ão6p_)¤'ùF…—§ Ÿ÷…B8Iÿ•¾Éø˜£?M Ìg%ö¯DAÒ_SáU(Hê?¸oIŽO ©ÿà–+¤'ùC…W£ Áÿ-pßaÿê$ô·ÐMz‚ÿ;*¼Iû.î…p’þ*}M ’öýQ¡~4ý,§Ú¯ ý­P_tú•TxI*= _MßÚ$ý·¸_çñO§_‹é«¼›ðu8}%!9?AúØÜFì_‚‚„~xà~QHOðo¤ÂiéÿMÀmÁþ¥(HÚo³›ôÿ…üKQá¿àú•wœößòðx_‡CHñÏ}v·ûbHñÏ}ö÷Bz‚/N®œùàóÙÜCì_Ž‚¤ý÷Sáô ¦‡g×T8½†ö=H…W°.Õÿ‡;‚ýëQäÿp)¤'õ;B…×ǰ!…ÿ(pDZ# üÇ€»­žà?N…“~ЦðŸî$ö¡ Áÿ'pÒü'©ð&$ý ¸3Ø¿)Iûžv“žà?£S*üU¿f$óãE*¼9†X¿Aà-\¥ÂÛR†CÞÄ5*¼Éüy¸ á¤|7¨ôIý³ú£ÒߦƇ–‚$ý…ñ¥¥ÒÿEßb áèÿÓwU!MßOFãƒý1¤è²F5œBzŒ¦Ë1Ó· дÃþå(ˆÇ§Æ— 'gKŸt¦ñ£Âé5·Ÿ¦^™‚0üeê¨ü¸¦P×_êª)†ý‹bHög°þÐÕPHOê_Œ /Ž!žß!}j€Ÿ†ÈJ3´%T°Öhª)¤'øKRáe0d1~Ø6 ®†ø×¦ ¦Mi7é þ2Tx ÉüÛô…¦ö¯GAÒþݤ'ø+)Ô¯^M¡}éð¸ÿªãp)ùµÔEŒý‹Rïß4 -4MÒüÁTx ~P'M=ì_Œ‚+Çh”Bz‚¿^Ã2Ôøs†&û—¥ `ŽÓ4VHOð‡Pá則BÊû¨ã|ö£ÖGMC7é þF ùSûo&ÖÞãâý¥&R¡}éôQ ýS‘ oŠûŽ_ Büàì­i‰Ã Ý“p’¾55?So'›ßäáž?kbý¨öí\'ìï!™_àÜѸt…ô'*¼(†ÿ[Ó¸®Œ3oŠâkº7B!=Áß• 'gcr~€c«N;¼~jºSáµ0 e¤ù§p½°C ’ù§§›ô¤|½p8}¶¯F•¯/^‚¤|ñTx Yªý€ë‡ýkS´_"p) éIùúQáÁ†RåëO…7¤ )ß*¼†Œ¸ÿÐ î…p’ÿ TúÆ$í;ˆ °U¾—¨ð–$åJ…·Â°-U¾aÀéÂIùtTúv$óK’BûRû+&öGA’>U6¾I8I?BF_òðtL¿,‡¦ß à¬ØßCš~G÷¹Bz‚ßJ…Å:_jlÀ9° ’ñgn¶Bz‚ßA…Ó:¤ü™ÀÆþ¥)ña£€{O!=Á?š /‹!½~d÷2ö¯HA|>׌îU…ôÿËTxe «Rø_nö¯NA‚Îñï*¤'øÇ)äO‡¿J¥¯IAÒþ㛊ýkQŒÿ ÀMT'øA˜æMì_›‚¤ü¯Qáu0¬GÕpo0Ò=a8Üû¼Ü…ô$ÿ7(üµÂߤ҇Rä?¸·±C ú{‹j:=Áÿ6…¿–Bø*}M ? ŸJõO# ’ùm5þË*¤Wa|ÓáïQéÃ1Äçca~ü oBA2?~D…7ŰÕ~7û7§ i¿nÒ“òÍT ÿæTøl…ù‡ÿÏoµq8„ôüö%pó°¿?†ôü6¸ý é þyTxQ éùí+àæcÿ$ôõ5p{Òüó©pZ‡‰”pßbÿÒ$óÛ7Àý¬žàÿ– /ËH24‚!pß3μGz~û¸ÒüßSá•1¤ç·EÀ-ÁþÕ)Hð/n«Bz‚‰BþtøTúš$íÿ#p›ç½=¿ýÜR…p‚„iVaÚ‘ò/£Âë`HÏoË[‰ýP¤_Ü:…ô$ÿ•þZ ᫨ô¡6¢ò_ ÜZìNA2¿®n£Bz‚-…¿–Bø:*}c ’ü×ÇcÿH ’ùaÕ?tz‚Ÿ§ð×RßH¥¯Iá'ᛩñEA2¿n¡è¯¬Bú­ ôE‡ÿL¥Áì/áüú+ÞŠ‚d~ÝA…·Æð÷`ûíî7ìß–‚¤ýv¹IOÊ÷›ÂüCï_÷*Ìtø~<¿ãp‹På;ÜØ?CJ?Os¸s é þ?¨ð )ýaÍàŽaÿ’$ô}¸3 é þcTx) KSå?ÜŸØ¿ Iûžp“žàÿS!ÿ2Tø…úÓáçpûÖÁáudí{¸ËØ?Cº}/wW!=Á™ Ânß+À]Ãþ%)HÚ÷*p·ÒüרðRÒí{¸lì_†‚¤}o¸IOðg+äO·ßm…úÓáwqûÖÅájqù ïë/^‡CØ‘ ˆÃëãðú²ôqxa)Üׇ‡àpkQá~8<‡C؃ Àá q8„ÔþÆ´‰oqìï!µ¿ñ-\e…ô¸}`Z1¼(†ÔþÞï÷-…ýKPhÎÀ·¢Bz‚¿^Cj|ø‚ß¾e± âñá[ÆMz‚¿¬BþTÿÃ0—úÓá•qû6Âádí[ ¸ØßCº}Á^Æ7T!=Á_ƒ /Š!ݾ`Íòe± ’öcÅ·Bz‚Ÿ¥ÂKbXŠ*?˜Ï}ë`ÿÒ$íì&=Á_G!ºý(ÔŸÅí†ÃÃdí ¾}#°¿?†tû‚½Šo3…ô^CŠè ö ¾QØ¿<IûF×D!=ÁE…W  i¿h…ô†¹”Ÿo†Û'‡‡3’| –ì%|[cÿ ’òƒ½„¯^!=Áßš ÄÈ·`ûƒ½‚o;ìDA¼?òmë&=Áߎ /Ža ?˜ };aÿ’$ø;ºIOðw¢ÂKcX†Âß ¸Ø¿, þînÒü=¨ðòVbÄý›oo*¼ ñþÍ·^‘öؤÿ​ÇþÁ$ý׸¡ éIùâ©ð:¶Çøø&×ûw  ©¢›ô?*œôS/ª}_n0ö¥ ÿƒÜ¤'ø+Ô/– Jµ_o üÃÆwo*½ÓO‡œŸaû¦7û—¢ i#pÒüéðÒÒãopéØ¿,Iû›Ü¤'øÓqxcN )¿8;ö/CAR~pkÒüv*¼,#±Èøq7 ûS”?ÓMz‚Äá¶¢ð¿Ü8ìßš‚ÿX7é þq8< ‡GÉð¿ÜëØ¿5 þInÒü¯ãðh-Ãÿ6pï`ÿÖ$ø§¸IOð¿ƒÃcpxŒ ÿtà>Àþ­)Hð¿ï&=Áÿo‚Ã!,G០Ü,ì_ž‚ÿ'nÒü³pxSÞ”Ïïþ/€ûûGQàŸã&=Áÿ%o†Ã!¬KáŸÜ7Ø¿ þnÒüßàðæ8¼¹ ÿ"à–`ÿz$ø»IOð/Áá-px þeÀAþOKN ™ßV¸IOð¯”Ñ7IOÂ×âù£%î7 þu²ù„“ôñüÙ‡CHÏŸÛ€ÛŽýKQÌ?¿€ôõÒüÛ©ðÒÒû³_Û‰ýËSàßÜ>…ôÿN*¼†dý†óó.à~Çþ•)HÚç77é þßò¯L…ï£êW…‚düìÇámpzIýÿî(ö/CARÿ# }m…ô$ÿ£TxY éùýp'°0IùŽ»IOðŸÀámq8„ôüu¸sØ¿5 þ³nÒüçpx;ÞN†ÿ2pW±k üWܤ'ø¯âp‡s2ü9ÀÝÂþ­)Hðßt“žà¿…õ8\+ø¿±k ü¹IOðÿÃÛãpéùý1>Aÿò$øŸ¸IñôBxa¤„߯pØ?Š‚¿Ÿ¿›ôïˆÃ!¤æG?°ç÷+‰ýëQà/á&=Á_‡wÂádøA]ý*`ÿz$øË»IOðWÀáqxgþªÀAþ@N ž_üª»IOð×Ñ7IOÂkãù£ î7 þ`ÙüKÂIúúx~ïŠÓØ{ù5Äá8 'éð} 诡 É?\f¿ˆ„“ôQè'´ÙŒEál§Añ5Ó‘»'¨îà[Mx!¶CŸ^C»ôëÝ1±{ŸÞC;¶ïE˜òmÒ€Xø7ŒÎ VŸ‹&$ÆíاwB¢/T)ý[E6ÿRÉ|„‘(A8Ç„~ˆ5ÐÎ}©¯¢½ûÅ:¡wÆ£˜Õ¿T ” þ*Ö«s—Ä¡íºwí­YÓ½‹k T4O™þkÝ™—(O]i/²óëÜ+¡³7#(iç_"Q…l”âù6xù)Z\ ÙåihzÝ+ÏVùðk˜{í½cNÊžûP5ù/çËgñòªgŸ¶ÞTÊóS¤Üg½ó>Ϋžm•§a’Ï ¥˜Gž[3¿‡g.-&Ò+UIy™«è‰•WÔFyÊ#?ˆÝMA¼è‡Fªç»Â¶ôª- ÛµàÛõß^TÏS¤„®…+IêÐ'>¶}¯ׂý;[£) ø\_«ùÓt uÔúŽçù³p{JìÕÌÑê¿tŠs”±ÏÒ60WÚð²“sÃSEóò¬ø‘ÿ¿}ºçM$¯vb¹.…T‰ri<7;MŸø<Ò}ž& /N)¹ ŠgúìöÓ… èØ'6¶sïÄüÿ|¦«ýÿºp#ÇPÅR©öJ¶Ï?±¦WMS€U/Œ—ïñþÅÑó/³ ÇáóOí8tsw‰-¨ÎprÕ™“1ɪ³fáOŸüƒ!Ó¼ðD7|Ð<˜D‘? L ¯Ý=½Á®KNs\6¿µÞ >GŸrÌ57òn¯¿Íh2˜ÉÓ·>mI¥ãûu–§‘#Ë­öþÁ =Üv·O w=cv?Þ¢ä9Љz»Ïˆ”Á§¡»œÜõ”_ p÷ˆÝ˜¦îèÚ'ÚmH¯‡®Ãm‘üÓuv«q´»r±š-Öt·¥vßP1^—-Ì™Ëøò™ïèˆ(·UÍ¥.½sCNe]à™ø¤ºÍÂ×jÈp›|*ñi•kóz…×ì.µ„7ï3j–Û:ºÖ£¡¼h4©ù Î5ý‹rFrâpE’ê¶Ò¹£w[éF2j̺’‘w•u™"ò·²¹£÷º² 4¤¶Ò.“BþV:wôy®t~Í âbcOÏ Û)W Lq˜“íF‹Yž¡ÏhyF%“uv‡ÕaqØ3n·E„…»Ð´q»‰tÍÖíRà¯7¦íâŠìe]©Îe÷[ÓùÙA«ä½É4ÉÉòÄMÏ(·øüR=L©¥ƒ»Gô¬!%Ål·µr»½RÈÜ]õ¨¨.CS\Ä-87¤ÚÝJ¼ÈÞ…6Ä€±¹¸£ûõºÜtv;_«Åä®pE-vcºqŒA‰dfºÏ$3Ùâ–{•‡ñ«±¹ç“³l6ÐþÝÍ)·ó•[F•M—ið¢€.»±Ò®AbY]‚üRŒ&172WØ„‘â–k ÌÙp¼ÿ ?L 9´ž>ª׹]þ]ø•Þa‹Fg€Ñ=Ô0Ò¡s»9‘—ëñÂ-'Èëmah0Kýu>]g7° v}ÛÙjµXY;›©39 0„thM6dØCš¦MÆÈˆ¦èGT´ `¥aþ¢"ZJ²¦1D;ch)aÀØ£[¸ß» ªÜÑyšEMÛ9·¦-'4-lk(‹jè!.ŒE*î1n4¬UdtK!I“˜¼ó£½z¹Í]¹.Y[îy©MÔŒÔhzœ=ýHÁepᙩͼ©Q1Í`’¨H#ÕåôGÅÄpE±Žñ!3r†Îj3tÒÙuŒðD;tN5â’fM†KE²%ƒl´°—B*‚ÞD±RDÜš‘O„˜>³ȧØßŸJ!猠Køt Ìq ù!0å€Ë%•ó9°é.‡!ë/¦;rd NðôÎi¼t¾^:?/]/¿—.ÀKèsnؤ´,Ý N‘CÅóÕbsÞZY[ZÞ{Niá‡ñ-‡³/M…ŒdCЇ§Ý¹¿–O>›vSF~CÌJHý©f‹Õ óõ³Ù-ªc*ù•I{KpXh¤·Z2"’-&›,BÀ(@”qÁ&ªHÈ4L>Éi†äfK’-"ÓaÕ™G ÂAeƒÌ`Ÿ' >©v«ad©•vÆed¸â‰œ¼ €ù$‹.ò²3…a sú‹5ÝaÒEôê–€º]è_ ºkDóÃ’b÷ÝüöiĈÍáK:HGó$}íâaÚ,‰àKÊU#Ï ÷Ž˜[Õfg®Vï.ËIã>'¸e5i÷öûs–_ŸšGÜŠU.…šœ~A—Yuzç!xÛ@Ö Ù­ )Ò@¥e—•ЫË} ϵàdèºð#‹[ÁCgÛ5}*9ØO²8Ìz°4DH}Y Œ¬ä½ÁjÌ$ù•rØ &ÍVE]ºÍi(:óE‹?B "gÓÍòéÊZ ¢|ÜÌ`ö(Œ&ˆ¬ŽÎ@ìÛÀË݉îå!„D÷òÄ!E÷êx!Û©Ôð¸#€ËÞ‹¸ ¤Ùþ_¾ õ&ƒS›È?¥Î@|¿/ò= mN‹o1c¤7ÉŠaXùÁø1OÍ„'yÜ&QC!9™7L© žóœÊB¿¯X™ú®š×²ˆX¡ETúÕ¿Fze°šj¬Õç·äémºêyÅ*݉î!b)Šôƒ¡ÊbŠ?aÄh?ò[T£×í)’M¹Nërš†14SŸHYaL>õŸPaØoö›F§û²ý톆=1ò%†ù’»{ããÙ™5´á‘o¯»<ã”¶tÅ©Ç÷óÉÜíøßǵïwV[“í¶½æÝm™7è?ï£-~É>¶•Õ†ÏPùä²nÚ2O®ŽŠ-¯-¹~ÇŒ£õ²´õ§ÆZ±þ°¶X‰qÓr¦·ÒÖg®$®OX¥­f}çΰ 7¸se¼VãÖVþÚ'­Ö§_hÇçä½—8k¼¶Á…{ î¾8L˾¿öÀèŠmߓߜqV¸ëå Êk´åוyyÅÄ—´áúZ|xn¢¶èê/vïß¹RÛ¸Êëþï÷íÁKìØèÜñ¯µuš%F\ÑT[~D±Ùûúfi}ÚìxãÜ·´Åƒ“ÒÞ8XË mT:˜+Åý¾\õ 3÷hëö]Ú¨ëÜxm¥9¦ +fÕÖ–­¶xŸ}ó=mÀøS [|¢Ñú.^Tß›ßp·o_ŠÚÄo+Ó­zÛ»¯k¾ßÄ.ºÙB[«ý¬Ý¶äh‹æÄÆWß°ZœýªþÕ&÷¸³Ç=Õ%2H[&%8pvÉÍÚÆ³¾ËìÿÏQmÍ!ìËÍßÑ–½9÷÷À¾E¸¿w>îñÁCmŨöz³Ï!îVË[K×løˆ¿<·wƒÙÓŸhK]túøµÁZßÏæ½<ì5ƒ6:pæWïŽ ÔÖ=W¦wPÐm‰Ä™1‡½§-¿ëÍϬøV[¾ÛÈS˜¶J½…ÓËŒ\­-ûmûø/ý“¹œMÛ¾]ûÛmHöÞz×?É_J-eXûš6(q¼}ÊÍÜãW’ïh\QëSyÖÛþêÚZ#^<|êñæEC“›¬­:y÷ˆYÉîÞ–ÊíÚL¼ÆïkS÷jØØvÚJ\){}øîI«KƒZ•æ÷„ ù*gÄFm½Ë>ëêí*NÆ!¿¨m•a+§½Æª1mÔ€»3¹›Cûüxè˽ü…ê=[•Ñ;ø;SW•è7¾·àÚ¸†«ßáoôåÅÅÁ[ùÓCD~xdlíàè/6/áÏm½¥Ÿ±.w±ýÛÛ§Ìwp·Ì­ý\Éeó¿Tæ:å­;õó:Üí=•î>Xr“ß{jw«&?,åþa_z4)ùGîôÍ/mÞhüqÎô˜Oø+sªtlzÀŸ¿µ°ó©-=âù›Å¿Y>¸rmþï"Ú„{ü{Ü­ a9Mÿ ã®Ì©ÝkÃÐþ·*ÕºNëãàö˜ÿíüÕί ÑÖú¾y%|ùòZüeÛˆ"­®5濯|Á±iY&·G·±Ã Dîìöù!G÷ïç·U~ã|Tç®}v¼ÓªÜ„Îüæ[VÎë°‹;twx±òÙù7¾ðõoõó\þF•]ÿl¿~þëŠÑwù+å[¶81œÛ­;tÁàÎü½ßbþ¶$®áø0.gÂgÜîÿô3´à~X±úzå^¯s|¶vñæÝu¸=£['>•ßÛúÃö¾•æò&üQ¦GïÜyí'Ï減ŸMßö¨[ ·9µêŒEƒù õªL­v½½ñ·Oþ깄¿Ï 2W^þy¦s“’¹;¥W[ß^Zœ»´<ùÍW¦}ÅïªRñí­æEVýfÑNüÑ=Ó/…õ*Íe_Œ{Ôiñ‡üÞùÏþuìgîNåïÿÑ‘;÷ã´±;öçîüúð'ÓïFþêÍ-I/ê¹ uw¶Ô#‹¿YåüðKáÜÙòSwm6‘Ûðõž5•6ßå÷•ªSdÕwÁÜýžkƽtï ÷[ÜkïWü&’Ë>ûC¥-îp—ýM{£騠¯~…?»"rÔä¾ç:ë¥ÃcÄqx«b)÷Zqgìcn¥¾z¿3öv ¦.ÜŸƒÕKÌæOYögíY›¸G{‡u›ÃòGSVï‘=ƒÏ®þw·ª¯|Ê}òè~Ú÷Cvs³ƒÇÍ+3«ÿàL@WîÊl.çxè‰tË þæåSÃzâŽÙøiôì³ÜÉ…kO¼²ç·é»%_ïø:¿ÁØ kÃÙDîר•Ûn¾Á߬òâ›}¦ð——^kòÖ+à{ïC}»EÓ¸¿»•l>/ÐÈÝ¿_ú÷Z×Fr{vGœ?2½{õ½O—¯È›ÇïyøÙˆ(î¯Æ»»¼[¾#ÿçÈÃÍg~»[县½¼¬ãLûüÏ­öåJðWv87o@]þzÝž{¦È]\õVÅâSæ~|ë¯ûNå¬êWa㢻üͤ¾~'²þásÚ·[Q}ßiþÒôu«–¾<‹¿yeèG1Vž?¾øÌã®[£¹?#¯oiP²,ëlè-ožãî¿cý§+çá‡!¯w àW-?6fRùp­ænãAó£¹kã}+ã;›ßSgëáÖä¯.ë9oûqîÌWS åœàßúæŸW~ü£øÑç|Žmâ lk,òþ9þd·é7âÏj‹tºñêåù¹gF¤ThtŒ»tkPèsM¹ ûNlŸX{ ˜?ºç,™T‘»6°çÙô²9ü¡>ÃÊ'Õü‰Ïaz±Î^îqíI~ã.Ü䯯©=íµÐ‡ü¾5†,ßs”?»èûÈ•ïßãoôy®ØT0þvãæ·÷ø¿†­~²ªáU~‡>eÅÈ ¡ü™as¶4ƒ¿×®æú»«Öñ?ùŸœ›Óð0ìƒ7×}ô?s{âœJ©û¹lCìÊw0…üÂ|äŠ~?²ñ"ìgJç‚V­H•ošÀQ7Ý&í %.`¦ÎjÔ%™ 6Túx¢´¤vopëš·¿°—É 7ä|Aÿ¹ñs±0ë‡z n}Ç“9$ä¡ÖNüÑä»Êb°"Lº$ƒÈJÌ‹s[¬zƒ׈œª|¤ÚJMn$ŒFz5„ÂyTPÛDL_Ìm‰c ×½ü”“ù š5df&loQQ¼+ êÏ‹·”Ä+N>DÝÕ§9ùÑŸ+E—l·X¥Î®(Afÿ±„$Hgº0L“ÍpÝ%ƒÃ™N± é)Å}–®ƒÏd%,:%‰¥Ç<Éad²Í@%Pä²ë¬x2Š?¢hñÏ~Í]Šúlùf 5~2a‘ùj+¼?óÀÕ€·¸ÇFL>ñy=mé*ã¿ûá³b(^&‰NDWZÍ\^æî— ŠOmý7Ÿº<24FÃi™äiÁ—{¦p7[®+Óé» î⸗oÎþ¤wÿíž“½Äç4ÜcF©ÁÜ/º'üt˜¿7æzâÓvñ Ù5*áqC~£Ï–¯ƒ~;ÐWмýÒõIüÁËãÌGÿ¸NlÉÓ{wMã—omûìá:97IoÈL¶¤gHR ,f–‹ßW«Jmímn}ß| v`@©!]†öÖF5~÷ÆÍ‰ÉÚ!ñ·jø‹¯ m0WkÕÜYÄÞ;@¾¹ÛAÃKmŸ°†»–9íÁÆe²^#² ?“¾W´ØYúøäÃo”UÔGósØl#I¤ * ˆÞjs«~ñcÅ äzQ`3¦¦ȩ̈±ÉÉ-;8Jb²¤I#—¡G¬6Å%9þ!jùd™ÓÉOŸ‘¢Ÿ¨ß_Äa3$EßßjH”v,~¶Œ.…:úuíK~÷†¿]é‘’o²˜»ŸÞ˜NÉÊ$áAF†3W˜aÑÈ,ÇG£@™d¤?〥.$ÙºL øz£2—¸¢Þ¢s˜ìŒf½ÑœÚ…ÜþPæ@Y‹W .‹óñ†®˜L}„æÆ— ~—Ä¿‹ÑË£8AE„·ë/Å¥q@W—Á°,…£‰[Ú >Å&q ñ!ÑiEYq‹¹¬Ä~²=-ȪID2²¹Páï±¼zêãÿ}<0Ÿûx ‚¿‡>&ѽîcYÿ€,{¶dÐr[YB!NbùýÛ]1ôS“Ë¢ˆFXµ'–oœÝêfh3Œû³Î”A¢<“ã«:þÔcÊ´¬Ð".!έáì+¥¢´“ò4¸Š€¼Ù¥ÕáÙÕÍÁÈ|ò’á•_låó ’­|~A¸/švr±|„poT"!œJåt^©2p&}ô§Áç(D؉3èm*¨0õ ˆþÔ+¨ Ë ·å è¾Iß:‡ïm“÷Y#ô>&XÃwá[‡P0ß¾jœ–Aï‡Á7¸à;VÝô:ÜxB}’8àâƒ%p‰‡KÀ à†÷pÀƒ)œÓ¡NApðíW¨&2ÖR6d“e×(߀2g(ÌÜDà&÷p“{8øþç4àÞî}à>îcàfßÖœ ÜçŒ@Üðä2šæB–fWÃg±œ YÚåÔézüt=‡ºH]O¦®GT׳*uh•N¯Ì Æy¥/–ƒÕjе•XÐ’Áß —œTauÈ&AŽ¢$<-óïP£Ùn3Œtƒ¡Æ€VA¬4D8)2b’‹šÏ0íWœD€J¾± UŒªâ7¬’øXÀ*†cA«ø®â7¼ŠßDKðA,ù&Yò³>, %áXP+†- '‚[ò¸b|,È¿±@WüÆ‚]ñ xÅo"è˾ä ~ÅøDL± X ÇaòMÃb8‹ßDPLð1ùÆ‚c1> “o"H–ú ”Iz,Xñ€YüÆ‚fñ œ¥öÄ‚g‚  Åp"ˆ&áD -ÆÇ‚iòMÔ䛪Åú#µ4ÞàZü&lŸ²É7h“o,Ø–Ò#·øÝâ7xKý…߀“o,ãc¸4Þ‘`\ü&r’ Ê¥ñæb~XpN¾‰] G‚t1=¨“p,XÉ€„A;ùÆw1>¼“p"€'ßD/Ö äÉ7Ì‹ø°€^ü&‚z_ØQyRq¿_TŸÚ1–:pºlñýI¨´Ë!šyž!„¨x q–Í<“G§ó?akæ×‘DŽS¹m\‚ŠÐiòÄÓ`D®Ø|!!oÊF³ÑnÔ™Œc â²±‹ FŠ„bDÊc‚ Ä­B'¥ˆ¡‹Ñ`‚¦8Š[ )±B·v‚Z¡^ô»‹Ò0|`¼ƒ6ñïŠØ_Ï•T¦Éw¬z¹Ò0Uš…xT9óÙ|zéÒ“ô:¥ ?Ìs@þ–Ä8C¨ß}©!좗\ª.|<Š‚QÔwó¼VWÄ w‚U1lŒ7Æß-Tcm‰1A‚‡àï–ª±¶Â˜ ŒÀ¿#ðw+ÕX[cLÆàß1ø»µj¬m0&ÛâßmñwÕXiLÑøw4þn«k;Œ Â&øwüÝN5Vc‚°þ]sª±j1&­ «9•XÛcLÖÇ¿ëãïöª±vÀ˜à)·þ݇O¾*±vƘ๹þÝûwQµ+ÆÔMÖs]‘ŸJ¬Ý©òu£rèŽüTbí‰1õ’µ@Oä§k,ÆÔ[Ö±ÈO%VºßðïüÝG5Ö8Œ©/ãLqÈO%Öxª|4Öxä§k"Æ”(ë­DäTbí‡1Aîÿ6bÿþª±¾€1AH¯†/ §ë0Œ Bz5†œJ¬:Œ BzÎÒ!§kÆ”$ë¹$äTbMƘ’e-Œ\Þ°Êc+ÞS"›BCFݦÐí‘"žú@oDZ_¢‚¹çÔŸJK´ºú*ÄEahCŠý>û9•>]~’“aZª€i©&úÐèÙ2dËÔ"[N![Bû¹‰?Š?˜öSnsÍ)¾ÏYº ÝÄ_BÅ?—{|ŠÑ>Ò5£¥ ¥ÖË)f e“R9¯£‰µƒþ2ƨ§tËsO§‰¡Ò}Dý–N3Ðj•‚¿¿Ãlé0¸í/ŸžJ}£Ü§”`.~%tvGv©ß/8“–f<;\œ“Þ¤Áás±ÿ zH¸ÃW’jXÆK¹6C?Q>©²Ö*7¡˜ÜÓà8/ÑÕp_tÍ/fKOå] ¢Û(w:e?]·)ãȵÛúÛû?]3¬SÑ ë”›LdO5zqxÑ O9z׫½ë]«)Ž^—â»+z¢ô…ßà&3·ñÔÖk•l+ßLˆ7â—Óã2O§GI¹î¹=BR*‘ð¢¨,˜_‡JW¬îZÈ%0À9×ÇKÔq›=ûû=Ï}¦Ù•ßÇþ~y?ö÷Swì—s‚àÙíe³²keî}9D;lÓ¦ú^=®õ†Oãʇ²we:P=ê¢7ì›áV[ØÏ6ÒÚK¥ž0SpÚÁ¤øƒN~õ0<ˆüTkSm’¢óÖ¦0Ì4†‚1Ô÷AÕZ5°óªbHë›BN%ÖÄIƒñ0r «Cºˆa$]5]$+«¶m¤CÆ ‹„¶±‘l#ôÛu–?u&ÄH0ä$^W7¼í= 3%ïi¦Ä²;ŹòÙ¿C¡Y”Ÿ3%uAÞ%Èý• Zúù4V ü…yšÌ—¥µ±£Ÿt®1¿äÆ*Åß©TgÅcm¯‡µ†´ù^Ûå¥Ð9º®Òö=vá·•>Úæ_¶øí“Z»´],éiÛ‹o,1zÙÉ6ð}ùx£¸Ø’ü“/íŠ~?YÛ³Îkƒ>íU\]ïÞ©_Öh;·Ü:fYà`mdí–¬Ÿ0W«5ð޾m}mh­:{ú?þK*),¥VíÜ,˜yææfȉ‚óñ'ŒóÜü1òS77ç: C쑌¤¾?V=]B6zU ãñïxü=C5Ö™„ô¥„™ÈÀ$Lú‚a¤IXM_(OÂÍí£ŒÉá­E“%̺Ðî Ñ¬3Ûá| ½‘T˜í˜f1l#²XÑŽV®S3ã.S³¢C²‘ߟ(ˆ7*3Òm[¶‹FÛ4£í‘V<ÍF§YàJìë2T^$‚—à#8J1+ë ŒÈÎVdß–V`ßJӉĦ¬ìN6ô¼øÿ;l†¢è”e/‹1…b±B±X¡XL>¯>£"(ß¿Ø†ÛøùÕB~ôwüÄe/þ³ýÍîÜ/õ)vò —=lÔw?Åîç®t:ô]Èè.'ÊòÞÞ/^æO­¿âáö¿¹œ!³î ‰iÈg—[’ùõ.ûþGŸÿÙ)”›[1óÛø”5\NéÄÏ#v à·íã<ó—Sÿ»çþNâv:ü¶ï—Ssi›Eëóî¿v¯î¯‘\NĈ„çáO¦7¸¹)”çÃÅ·ÿ’;ýQóÒiw×sÙý=¼ì%î꟯n»Ós#—m.kRàBî’O){)nÀgz'®úþÀö1“ªœýËîÑÍÞñ"Ë]¿ûáëÅ¿ ærÊM(’žÒ“߸àí•¿öæn<^ñ óâÜÝŽgÓï½7ŠËþ~ÿ+q/õæŽWšrÆÒ„Ëaklñ]X‹?xiýËÁq9­ª–4à*®öླM[¹œÄ"+¾?Á_kÙ£ýòÅé\N¯EÇ¢ç/ÿrìÌ ß-çr2.uHL<Ïߺ²ö“FGt üaÆÿ<ƒ»ú°^êðݸì×_J¬}éw®¶ÎÐ2h&—SjÕ‚×§å~r«Ïâó¹ìÃßg\ñ÷ë&c•PÝ{\NÕLµs~ã÷µŠÝ?±ùvîÆ§}¶|0„{49ÃïáúD.§¥ÿÞÊ'ñgÛù›3ö ýÑ5føiþëvm­›³·sÙGͬŠIÜö¦5ýŠÖÞÀe•¹v[™.܉+ñkG½½‹Ë)¶¡}ÛǧùËÌ©]í.gÎåêOvþÌ?¸ðØç⬹\Îàò=?oÈßxÀ¼´à\öަÅ}w,ãöþfô£~Õ¹ì'ÿÌèõÃ~BÕ~m·­˜ÎåtœqýØÕCü…ÍEJŽŽå ˜}.¡J ¿bD‘ÎæWårZÙÛe%|ÏŸ]9+#>~—}¬^ß¿²¸_FÞúîpÌ.'e߄е{ø›mÛ¿¿}M.û×I×O^ãö.{¢³ä¨v¨áå>Üö }>_\œË¾sæµu8îÛÎW[/ŒþƒË~8³—S„›úmzvË‹[¹ì?îþà<·ýâˆ91`¼%­+s25ƒ{ݧ&(ß±àŽ}̯,½¤åµ/;pÙŸí(‘½«4wªLÊŽµ«ç²_jÏ_é—»2÷ÁÑë@~—G§Üûk·vÿê¢j„ƒôý‹_±ã½·|vËiÿÚ‰Œ÷ø e˜„eM×r9©kœû~,3ùúêö­^ýÕ µlÆ@þl·{vrÙ]ÿ¹ß¦i=îÆ€>^}t–ËžV~õ½ðËܙŃÂjnôZªA“wÚïån§û-ºÛm0ÞË?¹µ‚?0­e›×˜¶\No2ÿùGþ@æÎ>œËN×µ»½›»TóNø¡çÀøo7³RÕêüŽ´–¿úÈoÙùrY§¸ɽ^üôoöœÄð_«~Äì1aLݵ¸ìöi¶t8Àe[FvYÃå´ûqd‹é•øóì|Çì×~å²…~ß4ô;.ëÚ ‰÷ÓÞær8®ê Ëxþ|Ÿ_žÌþu—½àÛ¬cwüÈ“¥æsÙ×î?ìúr?ne£Ó㦷éʳü›G£~æwö^v^{ô.»áïWûfwsö•¯Š®éÎeŸ(;bÞÁo¸m¡‡2¾qÔgäºõc¶s—ª7=m?¿—Ë~gaÎÚ/sg®¼U}{«\NóEí›Ý«ÊŸÙYrX‘q.§Ñ?þ;‡­áOüžv» ó˜Ÿ>-Ñ|ú ÜÜ@M¥[å–ÐÞq:™KÛøêÎè0á3wB‡w˜à©.°ô }$ò+ :ÄIÁHê{¤ê³4Ü(TÅ0ÿNÅßVÕXm„Qøwþ¶È ôÃH't5}¡|Bïe5ØV³M8Œë fp×[F™õ:»A/?•³)ðMDO°qŽ_^c…GáÉÞÆ¸?¶‘AOÝðr>´+($ ªödçúŸþ¡Â•s~ÖMd¦º>ëæLù=ëFO-]=1ý¼2ä"Í:ÏÒÜòƒæ“UŒóÜòòËǹÅO–k$#©ïŸTÏKDùÒÜ¿¥È©Äº cZÁˆÏN nòS‰u%ÆauF:ð­D®f,Òà #ÍXjzØ O‘ž±ˆ¡W6Ã"¼‘ÆZ ©³Áª³Í©¬1…5’áÓÂøysñ†Ò-[—¥‘uR8éïeª; ìZ„8„=ðïø{ytd †>j™S'ÉZ–,=0¬Fµ°óÅÊQñ`àŠòxHÀ¶É£*\9žWñÚa*<_ÄkÊ áª† &È»hM³6)\³‹R/;ýqçVîulÆvml±‹'}.o þ«7ʹ´ çXm…cYÁW6Í×&ÌéýÎ?[ñfÇI¿È—qÑ/òCoJ¨ÚŒû8ž½õòƒÖÈãŒózyù©[/ýˆ´Úõ˜S c¨ï#ª§º£ šp ¤EN%Öc„´Y§cÈÀJú…a¤UNM¿(¯rá+©¸¶¡× ÈKÇÂ.Üf7dˆ»r¡a¥wQ2‚)}ïôPùÛ«$)ütÉ3GV³0)}&#«Yȯ€Ž¸{$#©ïYªý§x C8ÿŒ¿?Uu6Æ!mn6r@J¤/F"%5}¡LJÚ\…ÐÒ‰€½—F—¤ÑÂhW>Ù¢ Ë7[}fÅË3³Uó[~nXDån×÷wY¥*v,ßKŽ\ÞR á¿ ß/| ü¿| ¼ð ðÂ7ÀÿÛ7À]NúqŒÓIßIDàÓKåqÿ¼¸`dÐYêºÐç#ò+ s ÄIÁHêÛ¨úuvªbÏHìñáÈ©Ä:cËXÃÈÀ¹„ôÃHç5}á#;ÙaµÀ‰$SgrT+ÇŠ‡}¥K ÔQdƒÇ°´ç•}úm~žFèW"óÀAu²$—‡# ¬{O%Ž ãf*S>KÓÚBMe?2ÎÓÚBä—ÓZY®‘Œ¤¾ªž€¾® p‹d¼ †ß!?•XcL¶Æ¿[ãïŪ±.Á˜ lƒ·ÁßKTcýc‚°þÝÿP S07 #MÁjÆÓL@l®U£ü\æÒ’„h:Z :»AŠ™SÌ”í·íbƒÇÈê,± G̯J¦T‘]ObØR²ÑFŒë!û‘Ä#±m(Hv¶2讎¥Å{n{¢ôM5—§ôeEæräŸa+s†¹a(“½¼íÔ;®Jð‘qu7£’ÄÇ‹ž¥YrƒfÆIŒó,9ùý ²˜S c¨ï ªç‹‰ Ú¦AØÿ'ªÆúÆ!}Uõ5ä `"ýÂ0Ò,¤¦_”7‚ÎúTÉð˘lÛÁ¼ {ÄËQINïZy'ïQ~¸Š o´4—}¥ÕÌåe~à~ÙP¡øÔÖó©Ë#Cc4œ–Iž|¹g w³åº2¾ â.Ž{ùæìOºq÷ßî9ùÀÑK|NÃý7f”Ìý¢ÛyòÀO‡ù{c®7,:mÿ×]£7ä7úlù:èGpF|¥ÈÛ/]ŸÄ¼<Î|ô;üå ÉÓ{wMã—omûìá:Ä«ýîI!¯¶> °W[È«-äÕòj yµr^-ð÷O6™Ðÿ†ÿó{rB>¾x{S,¤;TM6dØCɹatD”ô3Up,© /F„¹8N{¥¢é¶Ô„dÉ0‘tÕ1¯mcn†@Ï/«íL~²Ú¨ g8môS*ìX¯ÏÅܸõùíœÝùÙ9’]©<ô õHíŒ-÷H4è‰Uå~jà©ë3Ü/ßç7Ñàg]‚Ħp%*‰ZKc0gÌðsqܽ/„ÿ¿!š8vxœ8Ðx}^'ôsù=qHüZ¯W[*IžV[FœÚ×z\qû=Ï+î¾ü^qûåyÅí—÷WrNó»ŸÃlKVÉe’>s\öÏÄYÿ’q沎ü HÅb¤`$õý¹jø â{C˜ÄH·~œJ¬s0&iûcsb%¿9ë¤/F⬫é eÎzW¨E#8šéÙLÕ¨3'“-ä'‹ÄuDáBÅÅf‘åŽÆ¼ Ë]¶}*OÝ ®Ç8.eeÅv²ëUµ×£½‹‘û‘­ºTz—4çäŽEÙ7O(ÜDÎkùòÙöZE2Ë’`bQ×› £wÚxÆ„ø'TXG?5b\aòF?}úKG(ê§L£õ#Daí逜ätXÆ‘ì‚À§nüa¢­k臉òòkHj]&ϵ~«êG®Y–DµôCsŸgîB)S$ö%Ïç…R?ú9+ÜGó<õîæç¶›~ÊÏn‚ŠkvI¥ÃkÅ5:M;댬³6zê¬ÿŽó™/}õür>ýˆgª§øÜz*éùí©ç×XµQf¥zjƒÇ ð¿ÓÜÍ—®zÎ5wáÑ®†bqlj†:}$?'C“ŒèŸ»_œ¾Œœù!C¡ÿìmÏ|bÏçÛž¨_Îɺ‡ÇYû?ãuæK?=¿¼N'-5ÔSÎRrò‡ã.ôÔ‹>ÿÉ¥ð|éÁïò³ý`*ø»¿î£âB¸‘šRD¶ÞS÷ügâ|é¡çS@ŒºE´2ÄäNaëréÂþÏ-íÌÿ쯒ψûÑF¼èÀ§Èç·û¾ÉÏîƒSdÞ:ÏGe×í“M‘k=Ò×%ÑË—z^%z~è=»ÿ…ÓÈf§‘ÿìÉÁ|^Ï瓃¨_~ËþÆã ñ™>Ê—|NMÁjCãš5pTóØAqn§pgã³ÚKÈŽh~öRœâ4.·ºtUœËTÎxÕUHeš¾—{<ùÿgê‘ùBQÏ«z$ê™ÿ‹îvOŒÈzŸã…÷@~2ê°<.¾þNÉò8ÔŸ³{þ†Ú2OCí?~ <_ÆÚïù9Öþƒ—¿]FÓ†ËD¤R¶|ÔhÒ„Ï’áué æ0Î:„בŒŸ7½52¤–A\go.íÃLc(C}_ÏkaD¬7¤ø!m ùr*±fcL¶Ã¿Ûáïì¼b•ÇVT-$]Ä0’j¡ª.R6ÐŒF)ÛÏÎêÌz¶?›bµ¤³ƒÐ×@Öaƒï dGŒ©i¢AR Ôœ¤fê~¾æ E{Nã¢(Ê0Þ ’¬¨ôÏU]Æ”tq¦ªËÈO=UùSó¶GR‚95¥`Sêû²êAtñïDü}E5Ö«„=ñïžøûjéš”Tõ‹")µÄ¤Ôßn¨§€ˆ~ Nn¦A0|aIÁ´dгVƒÍ¨wèLžôrË8–†½½ ߨ-²µNæyV :£xæ¨ð<¦¼KŒ3žG~ê¨0WʃØ#)I}ŸWM#0]@Gàï ª±^Ę l·Æß „òH_0ŒDyªúB‘òÊaÊC#R >Êr`nÆšœ/þ®:ïNä€Ó¨£1õ3G4§ônî9ÜA,†§‘_ ÄÞˆ‚¨ïÓª‡÷<¤ÏȈæ r*±žÅ˜ l†7Ãßg „hH_ÐD£ª/òƒhJɈÆKz)îdíi–bSíY£œ ZbN1ÎËÍ ä—G©Àq³ÎdÏ’âx¤*˜3GAŽú>¡züÿ‰Ç<„ñïŽøûOÕXObLÆáßqøûdPé'†‘¨JU?)RU¡ª06~Ð@ªâ¢CU?{Ø¢c–¨núqÜÆåXuŠò£U·\i ¾¥Š®þ?¼Eˆ©ðµ¨ü!žgúµ(Íeª¡GŠCuPIA~¶‘Ögp/wÎ2":ˆüþ":ˆ‰†Àêû êá~qÛàßmð÷!ÕXcLÒf8#WDDú…&"Uý¢HDµm#:0ðX“ÁœjOƒG$ÛR Û¥.ÛP„³W%áH#Òf°w‚·CÔ‹HêgŽ”öbò9 #¥½È/6w¾™:hŸßªÚ‹©ˆÀê{¯êñ¿yÛâßmñ÷>ÕX÷cLÒ Þ~ä €ªH1ŒDUªºH‘ª‚ÁE/HfmY£¤L‡¿¨›QOâ@ÏÚîxAmާ¢¶gp÷÷ƒ(lãLm¿!?õ ×o®ß0IC}ÿ¦š~Ç!Mb¿#§ënŒ BšÄv#W$Fú…a$SÕ/*IÌuårKb^<ê‘ÄümS¦¡Ÿ: #‰Ÿ9û•ADµ‹q&°_‘Ÿ:Ë•¨ öH FRß¿ªþ;ð‡p þ=ïPu'ÆaSü»)þÞY DEú‚a$¢RÕŠDÕVŠÂñÉ3i±³)‹ ×FY£ ™ eÜÓ›ø®ë^±‹±ÕQNûÌÕϘ¶3ÎDõ3ò+ ¢ú‘Ô÷Ϫ‡ÿ6<ä!ŒÅ¿cñ÷6ÕXÁ˜ ¤Ÿâý¹ *Ò #•ª¾P$ªh/ˆÊ†¨ rûrÙ–p¢$Æ[B2Ø©”ßâ´Ï!mÂij•q&¤MÈ/[EÙ{[̃ V ãÝ~fÝ’‚-©ïMªéa3¦cÉ>ÙfäTbÝ‚1AHëSlA®¨ŒtMeª:J‘Ê*Í6»Îdb͆QèA9 /v%ªõ@Khˆç¶|䉯Åç„T‘™”ü™£´õ ¢®Œ3¥­G~êZÂSKÞÌ©)›RßëU“À<ì!lŽ7ÇßTcå1&{àß=ð7_ „Eú…a$ÂRÕ/Š„U–N"-l:~n‡0ÿ|ÂäJGâ[î訃`ŽD5u,ÂåòF°¨Ê§ô°Ó1©ÞNÆé¬*ïF9axææµù šË¾eœçµùÈOýaÉkµ$˜S c¨ïùª)|ƒVFãI…ur*±~ƒ1AHsó¾A®æ Ò/ #ͪúEq;Ö+Æ:"ž¸`ž”µ[ÐÝ(ÄÜËÛ#ÁåÈHvôO§Åd2š!J•z$õ3GysDm_3Δ7ùý ”7S1Ô÷\Õ42Ó„½ðï^ø{žj¬_aLvÅ¿»âï¯ „òH¿0ŒDyªúE‘ò¢ ¾ íAZƒÔ ³²`$•å‰êD5 q°« 8Íyµ ·ÿ?^äñN ±G2…/òüO½È£¹ð„q%)j±j¯’tŠ˜ôñ£Ÿ=Ú™…éå3Æ™vf!¿¢Y˜VŒ¤¾g©åŸâ‘ á`ü{0þþT5ÖÙ„´öÄlä €vH_д£ª/iGkeLÆ‹‘%•ÕCBH7šuf;¡½e”n¡ê„Ùf`;¦YLÛˆ,¼D¹ÍÑ\ˆF«v½1é{=ƒ4ó1¦“Od4ó1ò+ šùÓ‘Ô÷ǪG÷ <¢!Œg$ù äTb‰1AH¯73‘+š!}AÓŒª¾PffçJ36°¨xC*ûs!••HEC‘£ÁD^ÄòK¶dd¹#)Ì…pŠÌ™ñ†”Ž&ÍVà´·ý'0*m²ð1jšÏÕÿž…ayÙ®–„£Ò¼O§y¬ÿS*¾Æá&¾]!~9…ø@ůHý¶ÈêSA‡gþÊo¬B£(?ضÐ*›ý‰4Œà÷§OÜçCê™é%N-=!Çã~¤)53=t/ÈügÒUY±äÍ”ùD¡)ŤfÓLV»P%=“zF´8Mbœª Èï_`<Àœb(C}OP½¼LdÐ’awü»;þž¨ëk„ôMÄ×+€E‹ô ÃH‹–ª~Q\´"œO=”š¬—÷yO+­UøÛ+†žÊ ‰ Ý3GKc1ýŒgœii,òûhi,¦c¨ï±ªGý8<Ò!ìƒ÷ÁßãTc}c‚¾ÿ*r@K¤_F¢%Uý¢HKMd÷á-fÖb5¦¡NƒÀ…È#¯(ÈIÌÓ‘˜ü@½Q—ªò¢NüÌØ» ö ãLlYȯ€NX{$#©ï,Õ¤0ûãßýñ÷ÕX_Ƙ ¤/J½Œ\é †‘LU_(XkZ]JÁ aHl‰-‘Û)KB+^“"#ÝÓÙK"™øFu%¤|æÈÉIh4ãLNäW@ääÀäC`$õíP=ð3ñ`ÏTø©ë(Œ Âhü;*r"}Á09©ê ErL““Ñœi€Ì ï¨I¼W¥âûb¹O´¦9¨ò¤¥‰øìÑ×HLSv}D~D_#1=I}TM V<ú!LÅ¿Sñ·U5VÆaþ…¿mB_¤/húRÕŠôÕËi¹Êo‚ÒzÂx·RùÄ©þn¯kF’éöa$IWä§kgŒ© ã|«¾3òS‰•(¾w“õ\Wä§kwª|ݨº#?•XÉõ˜^²è‰üTbŘzËZ ù©ÄJ÷{þ€¿û¨Æ‡1õeœ)"ù©ÄO•ÆüTb¥¢{+9•Xû1’`ˈ±ÕX_À˜ ¤WÃS‰uÆ!½CN%VÆ!=géS‰5‰‘®Ð=—„œJ¬ÉS²¬’‘+€<Ùï1Œ´‘Wµßsw=žú@ï°±_¢‚ÑBëO¥€÷Uˆ/áJ—kýótáVÓRLK•09=ÉéÙ2dËÔ"[N![Bû¹‰?Нh•ȹÍ5S¤ø>gé6t ÿœñW(à_ê_³’*÷tê·’Á ú)\:O¥tËsO§‰¡Ò}$ýÖ¬¢~¯vßö>=•ÚÙMÿ¬ñ‚nR¿‰&f:½+~Ÿ“Þ¤Áásûõ©;|%©6c¼Äá¦îkŸ²îk•ë.>ø—kç%ºìÊ»à)Ë»@E_‰iœÛŸ®¯”q¸©ûº§¬û:u_§\w2ç<Õ8UÄá¦î럲îëUŒÓõ®uÇ©K™eåÝð”å•›ÕÊ5^ËÇ?eùxíÉ?E{n|ÊònTQÞÊ›Û<µé)Ë»É ~·ñòX¾ÍnÊGÖZ2/MqÆïsû‹;19Skøy\à·õ ÚÍ R|ðý³,æs…1Ô¾F³Í¹\8_.GÌ—.+Æ3ãêe¥ö"{¦_¨²z-£ÛÒM;o§Ó+àýÕÃØáï7ý7ÆK¥óª œiBÂ!+COçv†·J¼7q…ïi)óáÿ³ûWB11›»þ-Ä‘5oIü»˜¬É {‡}ƒá(*Ncœ¼pSN–Öݱ-úm~"á!~Jw©ÊcXAÞuT~ƒ¨tYä7ÝLµêÙ }³ÅÎêX¡» qc{ðKÆ÷•pò1t±¨ñ üî$G]&+‚Rs•5if—f£òY§‘g·ê’ÝI€þ³‘G„*ð÷4±Ù©Ùü•%t>³ÝÍ6ƒÕÎ Õbõ†$Gj*´(i†’ ûô,Ê<‚e·Îšê@VàuVCŠ©Kþ61¥€1$”Mq˜“ÐýºäºTœ¤³‚1®£Õf1±¶4‹Ã-è ±!D‹%†¨ЪNƯcG:,P' ä ÆZDP*Ÿ^o„™êL"b4ìP·e“ufˆÄæÈÈ0ÁÚ‚'Æ÷ë̆$eá,ͦ¬Ð Xh‹Uo° ¦|„6Ò‘b€ ‹,B©fÒpC² 1D¤F„±ÁfèàP¥ÁÄi:sÿÑF’‚Ì…ç3A\ƈ çA^÷\ ߥy_<ÞÛŒ€i2bšïIZ,Õ`w·®¦·\¢<;£?å uU616›OµYŠ´M`¾Ê ñ»HpŸ6 ÅªžÖ²öô¥Ú£þõg¿òT˜Ë=]ì¯ÈÒ£ÆÞ̼´±§›Õ¹IØKôu\º  äì¯3H÷ã¬Ìò:òS-gW¼Äí"'÷—•„£ G}¿®šƒýƒ¸Ö†áßaøû ÕXßĘ ¤eæo"§ëdŒ ÂvŒ$ÛŒœJ¬ocL0ÎVˆßF~*±~ˆ±@H+}ˆ\HÈeI2 j„ª1#àí5%3³qÉ>{‚¾?—O/8ž’‰€/rÙâº5@·€¯  D‚¥ïæ þ%…—ICø‘ïËfå¹T\"Oü”Êoši‰<Ï©žxfv’}Í÷,Y¡ÿŒ¼lúŠ&ëL¦G†[µågf_-ò=èä z£žý`-lð¤(VœÁ^Ô™ŒúV,9Ü ‚ó'ŒH€:p~…‡ET©%?–—ÖÏ”nh‚ÂR=Y3 g6Ôb®\3׫ê†Ñ«»WÓþӳ⹆NÞ?(žR4¶l“`7*Ùb°&Cn†tì½$Ô"‚e{[°¹hm€Šb´Û ¦úNÏ#´0ÚLý–sÏ)âK!ñÆ)#ý=ÎÅß+Vä²mJ£Êa|Båéa>®07¦)µnE+îøxCh[ƒÝ!rÆL‹$”xŽ)Z*#—)Ni5P²O•æ¡…¬T|ÃMü¼n\+(Ô/óbÓZQßCýŸv5¤ûËee~/Êê ï#/W>ð‹ÂÅ8| E"Fp=›3/Œ0Š“-é`l%™ ì(£= ßý´ÉUQH)í:+˜Þ¤ÌÇÈ Šý_ÎC¥¼á:Uhl+Ý€²F’3ù•¶$ŠdW.97šSâs}@eGx8)Š@Ϻ‰O©Îõç8ÂìE‰ƒò:FÂiYÞb4‹Nd`ý1Z-fÈÈuí[zªsÛ‡òÂÐh‚h¶0Ñ5™ÆÒŠ9¿6°˜€Ái³[ÁY_SùOÍËÞ'ÀaþŸ’)0Ql?T#šgŸjÌ4˜!—ÝîÂñWÃîžJÈÇ;¸Ñ \Ú+)÷’,üÙë&Ò%4q'P-çnÂ0ÊZ—ü&˜ÇO»L?@ £¼Ùa¢ˆÏPó¹ŒbE1¸Óº;‘ò{ú]T¶G€Å˜ô…½ŽÃ ßtwidЋýÏ›JW7Îj±[ìYFpžû߃ݣCË®°Æ©ÀËÆ+¢¶Ö·”~2Ý>pù¡xK¡_•6To+lŒ¼RË6XSðåZñAÈÃ;£pf·ò²FJT7AF™ti•†5ÏËêRÜ׬X2üŸâó(´¢’û̧F!ÆÄ:l`ƒ”…¶x…çl(¹Õ“UF”Q±£p²–DÅ3ú NÝÍø‘s=HbÖ™²lgFšÙóÁ¯àC$’tãÎ8 oSEXE1¹ l`M&¸i0š“M=ÊIØèl63¼H8È8˹r‚pÙl¹›õ:«ž¥Ë"²åL£$`u¦,Q¼Äân&\Ä•qôaoe6ˆðœ7ŒMrÀ/,XšÎšn¥Êeam€±.=|BB¿Aا¥ÁÑÙY«´ž1Ý ®áÔ8}õ‰$ÕÒ+Y_ëA טþ,r-ˆöÈÁ V§S§»A_+¨»P1²5ŸsÌ0éD^F†Î*Æ&F ð4ŸlŸ¶ ‹Y/D¶°BíÙcФ ¼ ém°ƒÐ°ëF€= Âü"dŠ5P²tØ»%A C.‚´âØ ÓKHk°É ˆ–Œ‹5HRuÀ¼4 Ad3›eqZ„;îá0#K¦Áj‡Au\ uÇš¡µDЭÄQb"мNâŸJÍÒNxžIL…Íä¦Uò…5ƒãŽTHGJO3¿<2ÇòÀòù/X8Š» Ù#7ÓäžØ@jX;Ö\FU!kG¡RjY;vºiœ‡•k¶‘ø`6e•gS–L§H±ÎHvá®íàÄͦ2#÷µj‰kÊ Qœ×ÊbNÌ/µi*º,å£;鄇ÅqŒÍ$¿"Œoä·E¾NËT‚\2Ʋ‚s«<½k5½(»»\`ÔE÷ó•v>Û¨­À/b‡`§píGý&[†mÔÀºÒ,#L²—˜l^~¥wåpI¡¨ÄaŠWûipmè•Àba_<äðŸ¢Ø·4Ø÷ÕÌV2[w³Þ0Z*Ó­¸“ú-W³¦[’ÌÏ»”HOm í®tbûêƒm4æ\NztºbòtnzäwÙ8~»IëáÖÜCÇÁ~{¡_IƉ«¸»-• ™Î£í³MØHx7v Ž‹G¨™D¼!DƒÂÊ !n£üþ;BÍmÓàU)òÞÈJÅø_ž3HsîËe6 Å,âqßábµéñ¦°õ&»}JÙÉzÖiÂñpðÙ' þ§ÏܦЧ_ü=O¼Z—áûŒO¼Ö‚ØýüoMºÿvKÏëÌGßÂY¯pÖËñ¯@v›ûóqâû@îç¹a6¿ÐƒÄÃüéu6 [FwùXdx|e¶pö|öfÏb…ÛF÷(ó/N òÑûŒO EÁ²Ûó! ÷…ûÆçnæ£pá¼÷Ÿm fÞs–0Q*¿ÒöF~¢PX#•Ìî„BEÿ|Âøhð ¶C>oP|üó &<áÂM9)]àSNמ¦Ús²¼ÎÃïŠÎMwQ¡..ãV(ííŒù8F…Öm|‰nH€<™/]º½Ÿ]jg"¦ -*—QoHÑ9LöFA¢ V–ñ¶ŒšùOrŸs1í¢9àfM‚N®ëZ–¢_ñZ¾S#ÂÛ‘&q ¤íNºÌANÉè©U6ó9ÉÔeN±‘ó08 ©É-v£9Å Q_ ¼Ffˆ0ʪËÀàê(Ìí~ØvÎòëSÝ}3âŸÓ\@tŽGÛ-¦¡º$Bä)ÎßÅ2¬F³}¨Éi0¡bkð_½/_ù篯€\\ó·Î c~Xé/µãav^TÛdó&- _ÆB_þaˆúÖFñÿá—ßs ÇßÚ–Çgm‹ß¿Îß;ù4']û²êôFi² èWY¡ô•#jJpAé :A¡3‰ÙÍPY¯ êÝ«O\âÐ.‰}z ïܾc·ÎZ±}@G§Ç ÷‡lvKFÔá3$ë6+´¾Õ`‚ºy¤'Ø]’%ÓÊŽÒÙX«A—œfÐGHEýÀe?Ö Xñdÿ~DÑâ?žýš»õÙò7ÍU$Œ' *…ÁJ'Ùb¶[-&B$zƒÕ˜I|”BTC3dêLÒDa³éR ¤ÅGé¬f0½t¾0¦{z Mhµè½#’ѤGK{Íé·pàöCCÞFZ«Ž0Ñ2þž&Ú"£ì`w3Ïw“ f–õ-÷ô³,S*?gÙ@0Ëâöp “ÚÂ%¨ÆëÖO¨{yª#¡‹@§Eù섬fIxÿÇ]±žQo0ŸRÉ _‘2‹šÆÈwr´¤¤Ø âDfiµåôi•>GŒ©iv›s_ Ÿ,B[ñc{I4U ”¢2| ÿ3ä ¿)=Þ`Ëp»þÏtcü=ñá<#[ÝŸTú©·œÿªNŒ×¥þÿtJ>O§žN¦Ï².ÌSÒÝ3«“–/Ü5Õô™›Lãßãíý/ÏùÆÏû¹ÀYyÊÆ[ ™y™yyZÜŸ5éïSN°ÿãʆ6Ã>[Ò•§*Eþ¨B.̳¶jBþ׫Á¿.Ê~ÊÕàXòÿÉJP¸7gžÕé¸P=³p*ÎçãùVËtê½ÑÈ|þ? §eæY›– õ>‡¦WzŸù93—–Øg|fþ_Ö÷,Ü%NÇÿít\¨ŒúŸn“Kˇk(¡úç®I ´ñ’Ÿ¢–oå!3/X•Ô¼­(yTIÕ˜p9þ%UTè–ëQ+¤ˆMò¼©IÕv³$A§J•4ˆK =)§DyTE…-ÀS}äbÊÕWPŽ‚A®&HGYÝZpušP ÐNŒB?%åÓÀÚÆ2hÙ­ ô‡~0~ž^Ïð%¶ˆ\ÞGñ•å&Aâ„\{ä5WkO«`Øý†~C§k/ŒÂpŒ5}C—7¬òØJ/™ˆ}Á0âVHU_([H³RÏ µ5ƒ¾[`Ô;t&ÖæH‡¶ l#:IôegŒ‹~Ƹ« … Y,ØÓ,&*Ò=·ÓXüœÆ‚À4&¶H^æ±çTy˜È`ý{*MbŒ›™«|zШ3ÇâÈôæú>žó’ì2‰•wBR‡žð bbƒïšÕpƒ.˜ÔGúC¿|œØüd¹FI8!×Áª§ !Œð –Ï‹6C¿!„þÐO%Ö—0VÛb¬mÑ7t*±ÅX!lޱ6GßÐÀtIz˜aÄ7æTõ°-ãWª™j”™Â0Ãú²ÖÄ0úúÓt(ÃÙG!¿d>ÖCú¥²ôUhiy ó’»{ããÙ™5´á‘o¯»<ã”¶tÅ©Ç÷óÉÜíøßǵïwV[“í¶½æÝm™7è?ï£-~É>¶•Õ†ÏPùä²nÚ2O®ŽŠ-¯-¹~ÇŒ£õ²´õ§ÆZ±þ°¶X‰qÓr¦·ÒÖg®$®OX¥­f}çΰ 7¸se¼VãÖVþÚ'­Ö§_hÇçä½—8k¼¶Á…{ î¾8L˾¿öÀèŠmߓߜqV¸ëå Êk´åוyyÅÄ—´áúZ|xn¢¶èê/vïß¹RÛ¸Êëþï÷íÁKìØèÜñ¯µuš%F\ÑT[~D±Ùûúfi}ÚìxãÜ·´Åƒ“ÒÞ8XË mT:˜+Åý¾\õ 3÷hëö]Ú¨ëÜxm¥9¦ +fÕÖ–­¶xŸ}ó=mÀøS [|¢Ñú.^Tß›ßp·o_ŠÚÄo+Ó­zÛ»¯k¾ßÄ.ºÙB[«ý¬Ý¶äh‹æÄÆWß°ZœýªþÕ&÷¸³Ç=Õ%2H[&%8pvÉÍÚÆ³¾ËìÿÏQmÍ!ìËÍßÑ–½9÷÷À¾E¸¿w>îñÁCmŨöz³Ï!îVË[K×løˆ¿<·wƒÙÓŸhK]túøµÁZßÏæ½<ì5ƒ6:pæWïŽ ÔÖ=W¦wPÐm‰Ä™1‡½§-¿ëÍϬøV[¾ÛÈS˜¶J½…ÓËŒ\­-ûmûø/ý“¹œMÛ¾]ûÛmHöÞz×?É_J-eXûš6(q¼}ÊÍÜãW’ïh\QëSyÖÛþêÚZ#^<|êñæEC“›¬­:y÷ˆYÉîÞ–ÊíÚL¼ÆïkS÷jØØvÚJ\){}øîI«KƒZ•æ÷„ ù*gÄFm½Ë>ëêí*.É*pL’+ª¾h­«›ë±Øú<‹ëıتêXlU{,Ž{ÂñúX$hU±õ„ôÂc/¶‚;c„Çw}ª3ˆ™Œ ô‡~êÎÁ0&ý~ŠË™¸¸¬‘$N(A1ÕçLHkU0Œ@¿!„ßЩÄZc…°ÆÚ}C§kIŒBš1Y9•XKa¬¥d-P 9•XKc¬ÖÇXë£oèTb-ƒ±–°ÆÚùC?•XËa¬ål±¶GþÐO%Ö +ÜitÂX;!è§k%Œµ2€1ÖÎÈú©ÄZc­*ÊýTb­†±BØ cm†¾¡+™Fby«™Ü.Xô»âËt%QÁˆ¦ûSiàß}â»{¾íž…´Š/C–˼±e’)FƒÞ5i,û ö6{…ê¡Òv÷Pd’oM/šœnŽåÍJWZJ7Xœâ%ºn ØI]Ø<ÖEÞ¶¬üžúC‰­çmyë?eyë«(o}…ò%ñáG¿ÆêE‚Ÿ²Á*ê¬P‡a¹´ )oݧ,o]å­ûåõ§ðêê@?ÝDXÎd.©)Ç-c {þB–r!üÏ!#²”ë{†aúfIqGM+ë96§õÉ<ÉfXà’f…o§Ì«Î_*6¦°fC24«i%´)›G\! qˆ.N «ÉâöT8¨UsòC»£…‡ªBøL@F$æÅžÖ¢ðÍ÷ø^¬jIYnKO C¯@ý´ bœW þÈ/ïóƒì⊛—…RÆ\š¬Pʘw¬%™B)c¡”±PÊX(etÞ©Ri ¥Œ…RFå-”2Jÿ)£ärÝ úÉvðQ¯aõGNå‚5€AÛ ßÂoèTbˆ±”aˆœJ¬/`¬6ÀX oè `q%§%†‘¸9ªNKJ×°ªR~KF°â¢©‘_ƒR¦¨V¢ªQׇQùbÙH<Æ5¿J ºG‡XAÂÃ"ˆt`ߣ’³b‡ñûJÏȨuýÿK‘uS4ã/Õú÷gÁ9üî?F™Td;—S»ü²³u÷ðÛjÛGïm;‡{'#.¡\Ã=žrwáâLþòèq~!Üý9¿Ô œÚ‚{4éû¥W>œÉŸú6¢æÎ¥ù+¥š®ç§Uçù>·ÎÖœÁð·¾^žÑr×9~OãÎ7¯ døœˆØ2o0q—OÔ­y²ËCþ×o‡øQ˳>üåu{iîf×ý‹–µ^Åg÷}ýÍ´ .盨ñ¶“¹­Ÿ–RyÄþÜÎç–Ðæ®8*Œ~áÇñüÆòeŒ¿ÿ¡åO~þqCˆ–?Ù{ýå£pÞj{?­üîAÕÊ©3¾›È_øîX¹Æü‡Üé ÕÊÿ|wsÊ˵۱/ñw>zêзǹÁs&·g7ò7çÿõÖ‘/r¸ïßܽ¼ƒŽáþÐLÉèñEeî>·7gK‡ üßá‹o^þ=¿¯ZË¿ÖòÑü­½ë”X׉ÛW½ÕþÒuöh}Êý<»\»Aüƒ¯Žwh?~¿ù^Ìâœmø}Íß¾÷bÝ=ÜÝsSš=íxgg•7›Í¿ÄmŒ°=ZòöFîÞªœøIÙ[øSÕ?u‰¿º§çÕšÃzó{ÇÞ÷áø¹ƒ=&•OËàï ï2°ÇÁ¸;?;YiH$¿seÚò‡¡ÚŒÿñkïˆæ÷ƼþKǾïqÙ;¿|á`ƒaÜÐGí&tÚÃð§’¹7“¿öuªß芸eçd~\{<¿ÙÐ å—ø4n÷“cw®a¹¿Þ½øí‡l_îüÖ Cl^ÁoíÝ)cBY-¿õõº™#^Ƽ­ÖÜ—@¿6µXPn¸ú+¿tè ¿´ìž•ëfj¹³-l;z½«lè‘Gsp··_/ñBR çqZK§íxûù«Ú:û¾êÔ{ÏJmÐ;ú•w+¬Ð6˜³ã·Õæp_þzIßʇ´ÂÒêÇÆtÑ–þå“ñ³ºÇq·«\?ñiãŽÚŠc{¾ÔùåÚòËkûÆÐúT.Sif£IÚÐìM“t˵å+”i]ßþ¡¶ìœ]¾_û×ÖßykÝ+‹hËF†Í{cí!mý‰úI½æÖÖǶØÜ¼(ÿK£[–"qÇù [Ì=ü÷ þþoŸ\jz’¶Þú‡?µ;xYüæK¦=ïÜÓÖ½qä•ä&ÑÚ€‰;ÆÝÚY[©ßØÆE\×6ZÿÒéR݇kƒÖœº±ºµ6²T·«\ä–ì?ØeÒñÒÚà÷ƒ¸È†ïi‹ýZ¬È¿Eiý/nêùC/³6àDµy»÷¯án–?.¾v<÷x„ÑÒô^'mË!ßÖÿl·¶zPïÂ55´eÎ|Ô®‰Öoü»mw®ÅåÔ˜<äôo­µþï^Ú9¦Í`n] me6jK¿½{~ÕÔEÚšµïÚ´”»¹º”©³A[¿SÕk¿4Ü¥Yýwi:|¢-ûÖ¬U>§KiÃþ¬ZjT­‹ÚÚ_Üo_7cž¶lF㈪–pÛ—.¬^{£¶rtÝÝjÜÖ2eŠ'~uÿ%þÔÙ2âû.Ó–èÞwú ¡±Ú’û¶-xýF²6rvÅg;këÅßÈ9}¿–¶â¢5ï¥9­­p’h¾ºY[º÷£šü¢ÕV©³p}è‹&Ðoó¼'“{R~L£ûìІlësžI‹àÏþöó‡ý.\Ö&¾ýÏ’–;üã•í´.ÏÝï}§þ£N'´¬ÿÅG?½¶pcÀé2%õæj«~ñÑ”¶_Ôú½Ò¥èȉÜÒ ÃZüšòƒ¶r½¦ýv½X»ûÙ±>³·˜¹k%ëé^+fÖÖ±œ«:æ‹Î;†§U(q4‚…AòþüCih Ìíš ¼²=‚«¢¿›U. ÅbMw˜°(éñF3-š÷d›!€Òç²ëoÍ+¾J/MÎ+ÍtÏ8”6ÎïcÜš7–*Ø¿õDú†ö¥|ñ¬ðVá-¬gâ–0ùEm« [9í5îTi£ÜÉÝÚçÇC_îå/TïÙªŒÞÁß™ºªD¿ñµ¸ׯ5e¾ƒ»ení÷àêL.›ÿ¥2×i,llÝ©Ÿ×‰ànï©t÷Á’›üÞS»[5ùa)÷ûÒ£IÉ?r§o~ùkóFÃøãŒs¦Ç|Â_™S¥cÓþü­…OméÏß,þÍòÁ•kóÑ&ÜãßãnMËiúOweNí^†Æð¿U©ÖuZ·7ÐÀ„øoçÿ¨v~Uˆî´Ö÷Í+áË—×â/ÛFiu­1ÿ}å ŽMË2¹=š¸%rg·Ï9º?¿­òç£:wÝè³ãVå&tæï4ß²r^‡]Ü¡»Ã‹•Ͼȿñ…¯«Ÿçò7ªìêüûgCøõó×XWŒ¾Ë_)ß²ýÉáÜnÍØ¡ wæïýó·%q wxćq9>ãvïü§Ÿ1 ÷ÊÕ×+÷zûà³µ‹7ï®ÃíÝ:iô©þÜÖ¶÷­4—ß0á2=z?àÎk?™xî0ÇÝülú¶GݹͩUg<(Ìo¨Wejµëøë¿}òWÏ%ü}f¹òòÏøË6뜔ÌÝ)½ÚúöÒâÜ¥åÉo¾2í+~W•Šoßøk5,²Òè7‹vâî™~)¬Wi.ûbÜ£N‹?ä÷Îxö¯c?sw*/h|ÿŽÜ¹§Ý±ï8wçׇ?™~7òWonIxQÏM¨»³õ YüµÈ*ç‡_ çΖŸº£h³‰Ü†¯÷¬©´ù.¿¯T"«¾ æî÷\3î¥{g¸ßâ^{¿â7‘\öÙ*myp‡»ì÷hêØøKÇ}=ðð+üÙ‘£&ÿð=·àÈÐY/#ŽÃ[K¾ÕŠ;cs+õÕkü±·kl0uáø ¬^b6ªÈ²?kÏÚÄ=8Ú;¬Û–?š²zψì|võ¿»U}åSî“G÷Ó¾²››óðëÜåÉ“KL¶•Ïn0¢Ë 1Ü…Rï–Àßø¸õÙ*tüíåegÚ7ào|~lµ/W‚¿z°Ã¹yêò×ëöÜ3µØ@î⪷*Ÿú3÷ã[íØ÷p*`U¿ Ýåo&õõ;‘õŸÓ¾ÝŠêûN󗦯[µôåYüÍ+C?бòüñÅgwÝÍýy}Kƒ’eù[g{Doyówÿ°ë?]ù;? y½k¿jù±1“ʇk5w¯šÍ]ï[ùßÙüž:[ÿ¸°&uYÿÈyÛsg¾šb(wàÿÖ7ÿ¼òãõøÃ>?àslw``[c‘÷Ïñ'»ÍH¿V[¤ÓW/ÏŸÈ=83"¥B£cÜ¥[ƒBoœkÊ]ØwbûÄÚSÀüÑ=gɤŠÜµ=Ϧ—ÍáõV>©æO|ûèЋuörkOòwá&}Míi¯…>ä÷¨1dùž£üÙEßG®|ÿ£÷ÈsŦ‚ñØð·7¿½Çÿ5lõ“U ¯ò;ô)+FnåÏ ›³íà ü½v5×ß]µŽÿÉÿäÜœ†‡ùc¼¹.裇ü™ÛçTJÝÏebW¾8o_â¨clnNã¥óõÒùyéŠxéü½t^º@ïÜ»‰Fý$u.¬Y5:"JúM‚SÑ>éCi{¨ùmE–EˆÒÚƒÁ4Yp+ û±8Þ»VýçÆ–Ûé_?Ô/p;ž0Ð4y¯—ß7÷h¸ ?ñ: Œ>ƒ”Ø—q0l& £ü>qõ“6âä1Í"vƒ5ÝæqWqÍRÑCŸ’ÃiAQ0OŸªG)ÇloÊŽã~&ï·ùÑ?Ïc³äóGùP“¿æ¤H(ãŽ87gº ½Î®‹H±êÒ ÿoN€dÜ|Çz9¡zˆÇ®.O¿ºhæaC ÷!Dè#’z ùÑ„ühJ~4#?š“-ܱÝStÉv‹UìQ×wñ4ÌŒ•M«d|I §)¤XHw¨c™lȰ‡z˜L”s$ØçŽ"lháïIŽ3”ûK0ý<1=w+8åȵœ¥üOÓ'±e·|Ñ»ß4n¹»<´BÓUËøÅºFg¬±Å¹³ö«ïÿ¹½/J?™¤÷ÕV1ïB…»YÜ“oÏì¿ú0G[ZÓ:aÊ;q(^&‰W™»Ñvd—AýÏr;Nf:s¨2÷[ -ºö®ÄïX¼ÿà 7ªrã2?~U7˜¿¼â›t4ƒ»~ùtȶú»¸swñ›B¯pWþøþ× ¸ÛW¶?ù}ùΑœw;]æÏ¿·éæq[‡žx¿q¯ŠüÊ[¿8w ÿç5Måö†ò÷ƒÏ¸Ÿ>ˆß_®ÅÌfé[¹Kç´Œ{û=þögU÷YÂÿn¹°gH—ž`{üiÿ¹­ü‘½Aú„F~ã4Û/ßÉÝ‹ëÞ=aa]TŸ¯H¯‚ÒÀzi»ÿs¿ïµUGŒŠ[°¼ƒ6îÓe›ªÐHc­Zõ…¸£Ú~£[wýébÒ«B?ÌÕŽ|}Y;N3€|s9ìo5ý=0éœ_î—qè’¬óƒDΛ¾âELúøäÙÍÅ¿6ÛH)ƒ (¢·Úé$–p77½!“ÌÀ6cjºN )*|Jor‹›«8ìàÔm±VÆ£Œ‡I£MªMq2”{“fò#ƒ”ÈœN~úŒýìi¤&›!l ü­†Di»âgËèbP¨£_×^±±äwoøÛ•ªÉþÇ7YÌÝOoL—ú4_;_Êb°Ö¢`_˜úá¨h$Ü Ñ,ðx7‹X]î†ø§ëìVãh7¬Ù§½RóaŸâjˆæ*<_®†ôWð›Á%ćDÏ“YjA£ùVœ°÷èjf¡ÇîøÜvßwùÝ}óÖ}$zÞ®Cj¾'+l¤”†ÑÄ ÉóâOÕkQ®kè30Fås|uãbja8D†jNO†Á¿ù›ìù‹ü˿ɞ?ð_þ-6+ö/ÿ†›!Ø×%ÿåߥ4tËüË¿Ë2h“Sþ_þ u‘¡ÊT¥÷7¤í%„žÁ±Gøƒã޽¢¸OJá²Âtp# µµk2è¡pd”Ë2èi„Hàb¤ÍÝ’Aêlƒtñ¡Þx7ààã ½q~‰ÀAî4Tƒ¶Í‡/7Be0#p&à,ÀÁy ªÛÂ5÷eàÆ7¸IÀ½ ÜÛÀMî=à>îcà>n6p_7¸¯û¸ï€[ ÜÀ-n%pk€[ÜFà¶· ¸_ÛÜnàöw¸?€;ÜŸÀîp»ÜuF˜a›ŽH¸Íâ§uñÆ™ÓZÙåŒïú#Úý÷?š¸ÿÑÔýfî4wÿ£…†¹!ÔSC”ëÄ5a$ÀúŽû£»¸%p\´•€£†qwWM®„Û}6Ù†ä¸D2,Jæ.")Æ’:ÑŸHމäŽàÁ’d"Éý±dY”ìÖ4 ’^ÑŸh`ɯèO4°$Xêw¤™@$Ãb¾DSKŠÅøXsHŽÅøX“A”$‹x°f–,‹þXÓA”4¢ù€%ÏRûcM,‰–èkF`É´è5%DI5ÁC4'°äZš—&‘d‹þD³‚H¶EüHÓ‚HºE¢y%ߢ?ÑÄ ’pâO43°d\ÌkjI¹è57DÉ9Áƒ59DI:ñÇš¢døM,i—æ+¬ùA$ï$>ÑÁ’x©œH3„HæE¬)"JêÅøHs„HîEüX“„HòÅøD³KöÅøXÓ„Hú%zDš'¢äŸøcM¢ âÁš)D3@Œ5Uˆ¦€è5Wˆæ€ÔnH“…hˆþD³kˆùM¬i úcÍQó€àÁš0’&‘dÓ/î¹Ú‹êS;ÆR¼&—sº? •Žª„ëïž“PÄžf°ëÜð ØnM~p·~¢ÂŸšÞ·‡K˜Û5Eè4y|<ð¤+]Ï“ /ì € ÄY úN(ü?¹Ï4eñx²"#üól¨…EK^£Õ,¥~/£~/§~Ï“~£‹rø·Ç UÕ¨šÀ—œ¢(E}7ÏkMD¬ðœPÃÆøwcüÝB5Ö–„!øwþn©k+Œ Âü;·Rµ5Æa þƒ¿[«ÆJ]#£_ö¾Û¨ÆJcŠÆ¿£ñw[ÕXÛaL6Á¿›àïvª±r„õðïzø›SU‹1ieXµÈ©ÄÚc‚°>þ]·WµÆm ôÁ¿û`ÿNª±vƘº0N¦§ÿ.ª±vŘºÉz®+òS‰µ;U¾nTÝ‘ŸJ¬=1¦^²è‰üTbŘzËZ ù©ÄJ÷{þ€¿û¨Æ‡1õeœ)"ù©ÄO•ÆüTbMĘe½•ˆœJ¬ý0&(­5âßFìß_5Ö0&éÕðäTb†1AH¯†ÃS‰U‡1AHÏY:äTbM˜’d=—„œJ¬Ø\žéHF.oX展®B‹û=†¯B«Úïý§vFðõf´×Ä~ÈýœJŸ.?”É0-UÀ´T }þs‡l™²ej‘-§-¡ýÜÄŸGÅLû)·¹fŠßç,݆nâSWÜ}Îy…þ¥®ñ5+©rSš¢äÚ»Tè/¿Îî!ÝòÜÓib¨tI¿5«¨ß«Ý·½OO¥vvÓ?k¼ Æ3PzWü>'½IƒÃç:÷ êSwøJRmÆx‰ÃMÝ×>eÝ×*×Ý“áç48ÎKtÙ=”wÁS–wоÓ8·31Jô4}¥ŒÃMÝ×=eÝש¨û:库9ç©Æ©"7u_ÿ”u_¯bœ®w­›8N]Ê,+,ï7øÝÆËcùø§,¯¢=ù§hÏOYÞ*Ê»ÑCys›§6=ey7yÙÿb¼<–o³›ò‘µ–ÌKSœñ‹·KĘœÆ©5|‹<.ðÛú„Ò ß?Ëòø(Œ6Ý£Ùæ\.Å›)S¨:‹’|†ÀœÒ(µÙ3ýB•…ÔkÝ–nÚy;^ï¯ÆÀxw¸é¿4^*WmàLY$ËÔHŒ²Î£Bf{ÿçVCx'ž/º˜Bc¸†¸Õö•äI|H˜ýžKäîõX¹@í™ìšÅùÙ5ðÁôAJOÇ:å1I5¸Ñ$D·h<» Um Um Um Um Um Um Um Um Um UmQüBU[ä_¨j‹ò-TµEñ UmžGÕSƒhà2ßMØ«­5ÃêrK[×[mýð:¿ƒ›îoHÐ6;é~î.nOù;§ínÆïœq(8£ÜJm`§JA;¬ƒ¸_ÿ}szÉŸù­cW_âÿHØ“71à7§ÝèR­þjÇÿvãhé›6k»v Y:¹#7qÞ½0Ÿi5øÝ‹úwj|XدòÖN_p›úëZ¶üâ6?îþg÷ï|}a·gûˆÃ/<ÉÍ ><òãú×´~õïUò?³—ÛùÖ½ÓŽŽ[¸ýŸ½8Ò/f’VÃûÝíÿämnûû qßMèÃÿjî×+—þÉ=a+ß{}[unéŒ{[Iç6Ùõëî[ù³æ6gÓÎ\ÒúÑ\íwçcþܦÆËþ(ñ&·;ö|àÇOr´>GÞy§n¶Ž»RºÓÝðݯó›úN1¦üpN°±Ë»;·ð÷JOýrɹƒ=çü6½ÑNîÑêèy«8ÄÿúäNà­76q{™ïmyíGm±ñ/%^JªÅÝ¥hÓ­¡Ã¹½}§,:w©ŽÖzÌ{oÕ*ΘáûÍÙ1¸ßw׉¡T­ï—_¶›¾;óúƒãV”âÎ?q¶óõZ¦ç“Voo]ŽF][ù6Þ—‘±¿‘¶ÌãóνtéIzÝsÍû=?ù`ðg±MòÆ pNç5G uÓfœÊ~ÏuíÊoNe¿¼s*û©äTî&'4_mVv­Ì½/‡h‡mÚT¿Â«Çµ#£Þði\ùCNsLOþIïȺ¨çûÙFZ{©TÌg Nò º.ä-TÄ¿+2"¿A½:þj,¹¨ÑûÊJCÁêû j7ØcU1¤U¿!§ëaŒ ÂNŒ¤L|¹P›#ýÂ0’Úœš~Q~¶¶m¤Ck2˜Síi¬%…uD²Ø]2ÛÕLF$dü’«f/EÜ])¢ej{&?ÞãÛó ¯$7Óßsp iQ~N~ðíyÔ®Aî/!ùQITXJÚG¦ÀÊÚ¾_>ì‘z•ÝXç»Çö–üMÛ|R‹ÒáC‹iûü~ùóǯj{|xÐV¢áÚE>hP>`¿¶_ó«³ö¤j[|ʘlì6YRÁœ mõÍ:³ÎÖÐÛ–¡³Ú lÇ4‹É`‘ÅŠF,e÷~¥‰[Ñ¡)áw%¹k$#ýùPPÃ8›•Ë-‰¹ÜÈãär¹R¸y$r3èÊ1®r-"or'wªBÕÈžIþT‚‘dPåIÓYT-F’GA‚$2©FŒ(—R”ËTVËÈ{`½#]äçXnNäèrùyaüü_ |£…ê …ê …ê …ê …ê ù§Þç×gTໞGn¬?ÆM;½|IÒœþüã!“N|ÄÝJÜs·Ì·:îXƒ·*ù³?q‡FFĤß_ÊÝè³ùáÎÜÍÀØ¿Û×É_ºÚgÊÅw¸»u2ÍkJ_à/6S¢ñ‘’\öœ–ø#3¹[·’BÇö\Æßj³oDßzÃøý//qϯ>wgÐÜâ ¯5á5IfN¿WšËIXk¯üÓïÜÍ#/]lÊóÛûXnV~O Gés‹p7­öîøáå\ØÀøæÊ™ŠïÍán}—óÁœšòG¶ÞU}"÷oX·.»uíÌÖm+ñgþ\!Êg%7½Z×A‰ûjq7FÖén)îÒ‹e>/v7ŽÏ˜þÁ_•~ãnµ\øáÎE¸ìw¿þíÊaܹñóƒOß\Åݸ1ûä]—XmÚ²·òç·ÏmßpdîvÅái1W.óGc›Ìß]¹>·£æšk¿& ân¾ÄÎi_t wsúì7žðÜþöå>ø¡ì!îÖ×]îNT‰ßó[ݳ£“á–-Úù%ý§\ö‰“± §q¯þàLÕöüOcßy5²øîæÆ¡ó›u¨Ì¼–°9~d+nÃÏÑÚe»Wr7›quäð‡‚ÏjfÞàÏí,»ªå¹¹[¾>õËUÉ_XÙéå$[<²ýË/¦WÆÝ|°¨á{‡òÙ'&|°qþ»:÷]käî¾8cRêþf‘ß„mÙÇÝØÐçµ7û4äî>˜p$d­†ÿ+æ›é-Ç~Á]¯;)`hlîf½ ÑßWhÆå|RíHcnkƉ"ÀxxÒ :ó×!Ü•Ÿ„õOíË_üçáë­úWæn鿾¿:ÕÎïÈÜ:qæš9|Ò”ì™w†Ep·O.üûä.Ü–Éß]I}¹wÝ8éÏÍǺq7¯Ç¯=ÅâÔ]ó}³áù}|x­îÇ\Žîð+‡ìEµ>©‘“ÿ~͇;Y|å š¬àn®;¾(ì÷Wùóñ¯¾|ªVwþÌíôƒs3ü¹Ûµ÷”«²x¿²cɳKöàŽî±úø/#¹œw¦u.Ó(‰Û×d¢¡ú_ßñgfÞM˜yä=.ûÕ"#ß~ñwî…_—ûÈ_¼x´eÈÜÍ¢;¾6½Àð«ºß°áÈ;ü™ÏcÖ©ÃÝ~+ýåÜæŸL¿õÓî-«øS×úþPkïaîÖ‹·FTë¼’¿ùöµÉ{Jùð§WÔ¼óh)wkU¶íã÷Žsû*fø=ù}5wü¬k “'s·ÚZ;÷Zü2ÿÎÕe ÷7È}èóWÉÁã¸[¿¾¹cUYþÊŽµã»ÿÂÿÝ{R—uùœ÷Ú4Ú»†ÿêá_¿ï™Ø?_gû-–ªÜÍeõm·%óç÷¼¡™Û€?»µÃ>cŸ(.gOÍ#OÖæö6ÞØíæþÄ©Y#gû}ÆÝê<¢è’= øÛ?ÅþâBeþü¯m^¹÷kYîfÕ6¥fŸiÉö]£Õi~oƼó»þÏÝz¥…iÓ²vܯ/î‹ëò=·oðó«÷árÓ˜.ÚîÜÆ÷¿ôóÚ£ü…û7J\ XÏÝ©º09mábþÇ?›hö{îÚ§­gÖŸ£ãrJUØXjÎ%nÿßSÊ|ò]þò¤ò{³³Kp·6­ïÓlÇhþÌêyG´ñÃùÅÅ߸ò^ä‹ÜÝ—×=zû¿ûÌü]ñÆÜý?꺌û›»õ>3ïÓÆ ¹Óßd4e-ÜéÄ:?lx†ËyípSÚ—\NWM±rúŠü–9×mbævKI«T?”û%qü^{?õG¯?ö5Îæn—²w]ûqe~s½•B:Íà}7çÞ¤Ÿ§s·ÃýWmz‹¿òŽ}€±¥ÿj“ˆíÁW“¸Û=_þbÞ Ãù;]‹ÚùÁ‡üoa¯|8yXw{ìèá/îHâ/îŸ2+j·}½½É ûf.ǯë¼gs·ÖNX`þ¬6¿¿Hê Ó%·qw×?Y}‰;mýüò¥>‡¹¿Otc¸iáî,ѩŸøý²;Œ˜ÚŠË¸Ð^é­·¹ÛK|ŽÿùE]þØŠûvgøpö¯dòßõwû㎟ú—Ç«Õç­¥+¸c›"#ç}ú6—Óö⯩wÏs7Êý2 m£…üA¶ªéž»½à½!=‹nà÷›÷Ü>¿a wºõ£]ór9Mú‡®Ü¹ž»5g~éÕÃ.ñ;k÷(–’ö(ÿ¼ÚWÌäÎmb»8ßý,¨Ò¸Y-@û¼ûÁÀš×¹›u~Ü='ów«ï£üœ»yöËEÞã/.zïÇG§§ñgÊÕûI+wsõÉO¯fá>Yt9}à¾ü¶óYWÛúƒv‰ßݵÌ¥ùKãî6¨›–À¾Q´ß¦ —²Õï×é¿qgðûgü™ô>•Ì¿Ýånýþñ°ì)QÜO¿9ÚËçw¸÷ù †Œ4.Çðó'ß´|™ÿ¹Ï)ÇŒ_ñ׿ö)=ëc0o4ì{ªê ÍÜÝÔ-­>¾Êo,^¬u _w³R£j“¿¸Áí.Q¢rÉ;ùC/•øöÚWÜȾ‘Ù;VqÙß÷mº¾WþjñÞ/)÷w³öU>ºË]¸üÅN‡îÿõÕs{»ù‡»e[cx Ìç÷_²Øo/¿gë âý›¹[Åž4©_njßðobß<Ê.¶`Æ7×´Üí´ãCê­Ôòï56”\<¢"w¶âñq5©t”cè“»æ J¦£&~à³ÇrÉ ®”­Ñ,Ǒȯ€XŽ{$#©ï‘ª™ƒp«[ÃTü;[UcµaLFáßQøÛV ,GÒ #±Õô…2˱—Õ`wXÍ6»¨7˜mÿ×Þ›Hrõá³+­´;’%K²-Ë–­ç±¬Ù•º{úšS+íÌÎÞšÙ]÷ÌJ¶±³Tw×t×NuU«Ž9Ìþ@€9 Æœ !q IAC®?Æ`À@ ÿ„Äþß÷Þ«ãUUwõ쬼’%[šîê÷^½zõÞw¿þko[mÍÓÛª™‘mÀ¿ØnÃØÑÛE}cCoy.ëkXÊÓw,a‡üµL;$7ˆüzàŠ{‰ÿÃë€?¯!8œ’u˜ã‡|X樛ãì Š“ >.$K·ñùcœàü«±8ñùüÚ>ŸÛ•»–#Ë‘ïÿbÏdâ‡Æ8iÀ¿QÇñ÷8ê‹‘~Tü•ÿþ0¿¶ÇQÿ¥ÿ>,>?,¾ÿË›BÒä IÚ^Þp†%JÒdMÖ· ,ÊU`ŽÞÑ-ÝÑ<Ãê0cƒYzKw]ÍÙKu§Aƒ$6ÔAå%#‹‘ï?¼ç—ô#cÜX„/ˆÏÄ÷¹)/In²1ñ÷À^6Yì%)++xÄØñ÷‘Ž'åFþ´Ã»Si‘שíxÂOŒÀòË/Ý„_ü¾/ñW¸£  :ì!üS)xöˆ4®©ÿœøÄ¿üÅíßüÆŸ]\½ë~ûÀ'B^ÿÐÃO|ê¿û™/\|íoîNüÑOþ“ŵo¿øÕÿç§…4 ¢”þIEZßÚ£´~À¿õøåoŒqùñ±8¿ü ~moüòöQ¹ðNµÈßZäûoì™Ô}lŒüÅ-üÿw£þ¦ ÿF'“ÿ{¨|/cc!—ÛË{IçrEÛÍѱ‘·9šÕ¶{L ä(¦»žÞÄvMžáˆdþi’¹øžÚŧ»´Ç$JÞr§èýâä|‹rŠÞϯÝ$•G/Gþ–#ßß¿ç=þÍb_ãßÏŸ?O|ÿæ=ú1þ"Ô~€ÿ{NŽ|ccáÉÙË»H?9‹C£lB ˜kÄCÃm>–v˜"¢È Äi¼ë²È­'òóû)Š ž-Fò—l<‘°Ãd‘*e‘O©¾Wþ¾ò÷Åü+óă¼p™.ò¾ež·Ìëò¸eÞ¶ÈÓò²Evw-ó¬e^µÈ£ò¦Ež´Ì‹ò eÞsçÌ󚃺Ì?òÍe~¹È'—ùã2_\æ‡Ë|p™ÿä{‹üî Ÿ[äoË|m™Ÿäc‹ük™oäW‹|j™?äK‹üh™ä?Ë|g™ß,ò™ƒüe‘¯,ó“ƒ|d‘,óe~±Ì'ò‡E¾°Ì–ùÀ2ÿWæûÊü^™ÏäïFóuã:ü屘üú7÷ª¿ß‚éX—…ÚÆfE5¯u“4½ù[Ž|7ö¬#\ãzþmŒ…öîküß=Žº)FÚs|ƒø»Éÿ½ š‡|cc¡æ±—w‘Ã2ÝòGcK3}}ÔøþQ8~b`¨¦îiå—®ùó{öSçÀ:Pb=F±€ŠöAñÀg&ˆeP®4‡Þ­DžwŒS®‹S±ïå×ö‘ŠRîZŽü-G¾ïžé F´>ÿþ³1^yä!ñ÷ûøµ=ŽúA1þ}R|~R|ÿàžGýçb$ü{\|>.¾ÿó=úb$üû´øü´øþ7…âÊ}36Rܽì›%˜²ÜU¤Îߊ\¡žCW"àŠª m_"Kz‰ì.QÎ%â·Dº•(ÂY["XKdhYe!Žœ¬<ÍŽ?i¼‚A¤Ýo+í>šÑîwÔ•K üнæY6ƒòƒ·Ãøw¤Z_6§`".þEð£àj‘¿µÈ÷/ÞóYþ’1.1áßóâóyñýKö<ê—Š‘ðo4-þKù¿7BÈ÷26Rˆ½¼—t™¬fjÙðÉh ™åt¤ü—4QL|Ow¤pÓãïâ54=¾þÄŸ<õü™w=û{'>úÛý_ûÝ_{ý‰ŸÓϽøà ýà¯ü§w}ùN|úòÖ?ø"íó^øäþk~¬â?ù_Ž~䱟;ñ‰×ýÜ ?yìNüÁ¿<üƒßð]ß}â/þè§?þÛßù…OþßøÔß9õÉþë×ýäŸýê{~íÄO_ý­o˜ZyÝ ÿãõ?ýmÿõ/ÿù ÿù¿|ýÒ_}áN|üÿgï]/üÊsß4Óûéø_uþòW}Ý ñ-ý7|úÒ?áìßÿ¥wŸyTÖo~ö;§œ~ã?Ž·×žð_øÐ׺?óýßU>ñW—ÏŸ_ûÞGùó|ßg^1¥¾ò÷VøûŠ)õSê+¦ÔWL©¯˜RUS*\?ð>)âõ?¡¿Ÿõ¼IºÏmB"»ëèyŒÔlé}ï˜T*vJ•ðc•?àʼM $Ì/(Œü^Ĭ"mbJä¿tMb¿ù}¿@‰ü´ŸƒÉ.{¨ìño‡”\q^º/ç÷óåðš+Îhïæ¶°Çˆ0†?2ðЬÀªf½ ·îèÎ-ü^¾¿ _ŽäOÁR$M¤Ëˆ@†Ÿúãå϶¼ýÊßÏí¿œR|t ¥xǶç¾t)ø'ö›Rð剽FºŒÄ^ÇZþo²Ø+/eûËûÍb¯ŒÌb¯ŒÎbÃñõü×½šÕ}ËmÝzfõoã¦ôï‹›Õ¿•_»Iá 8z9ò·ùþ­{6zÛ7tãßæXX¤ýÛø¿{õÛÅHø·6Â~;ÿ÷&˜Òå» Mé{yé¦ô³Á€›Q3õ6ÛÒC³Zz±eËŒ{Ôd°Cþ4âßé$œ!O½}M$õöµ¸ŸqkܯL1†)뇈ð½|—L,¤s™á7Ìwƒ¦ %ýêHCd4u~û|ßÚëä¶»_þ,ØÅóÀWïŠüÆEgA14"Î? Úq‘`φ:Qäcð³ìÌù­è]r öj¼Í˜ö+Áæö4Ù—RåÄ}ð3cÿ@²'àóŠÏ}õÀÝ¥[[ }cÙÔ\!6ý¤ÜÒRM Ƕzºåå¦Ô¯KœðÒÎ) ½³²ÅOÉû Õ‡U61B;þþÓjÿäcæ˜{Ö]ð7,¾{;ðƒCba?"d üLk£¼9Eθù|D|þH„ߨìå(rDìò³bƺ˜ñ¿JA¯ Mkhåº{Œ“4 ß8®<ѫͿí}cÑRiú«õ¾£».ˆjîy«­ï„súè€Uü‘σ$6_|j¤ï¶”uÇ¿Z‘Ù~>ò>ùÓùûÝ¥öËx#¿ ì¼ö‹rõÄjþR´¸ö¥B)Fœ*\Ý»F[æ4pËAR¾yçðîÒ^ˆHžƒ¨§l¡QâG"×>{5ºÍö<‹Ñ9m/gš!—3ªÍ¥ê¿›B °Ï„R¦¼ÑaÄ'z»_N»òfÊžrŸ»¢™±³^šäs ½qæ?˜ð.&¶ï-Nx;7CúyyÝÏié¥Jù"û÷ª÷ ÕAí»)Òæ¯ì#áû»êµÁooó3 åºáÛ¤ˆŒY÷±•qnS6ì+ÔóÖ£žw½"6fб‘€Vwï-N@Û½Ô¼¦·^QÖÓwÓ+rãØ-Mù¢øº÷YoÝ‹{¥Í?M¼Q5Š™¾yðv¿•ò ÿù3c  âÐ/ÌÚù]qð(Xô°ßá$׃Hí'”{¡ÓÿÕbò Éh ¹>  ¬Š6J´Å˜ ùÙAÁ ÒÓ,G¦«0}Ž·@Dȯfð¢=E„áU¤½Ñëß붇ȹ©nAÚ܆ÏK>½Ãê#X¦Ý÷¶­/ $ñô|ä~ûüñ×d} þ‰zË}xdzͫZSžæÃñïwõÃò®šú–nòy”¡é8ü'6N´ 0à‰ç¿æ«¾üSðwýßÿæŸ~þØØ »Ë—~ë—àûSýп†/|‘óÓ ,ûÈSÐ],ÿô~;ñÛ·ÿüûÂÿwÿ‡èïÿúGÿ„®âäãôý3\ˆ¶[|¼óú{Û÷¾î}xýã÷½Ôî~å¨ÝOýÖçGÇ“í¾àþ}áõµû³ÿ5Ní~ìa»¯O´[¬ÿp…®ÿõá3ø÷Cw;ð¾èüä}Åx²Ýâì7ÿ8µûý¿¾'ör~â¾Áx¢ÝâÉéŸùöàuÅRÄÙHÐïƒòÕu­m„TøÎs(ÖhVÊk‹ìŠ(­K ylº”Ý*“cñ]ú®‹+—.¯_=³~iåjãôÒò¹Ó§Ø¥¾gôŒëD™ëÙý¾ÞfM½¥ù®Îh·9ºÉ0ySì™ü|ð½âï)òR3l{ðëÓÆ I‘c zþå)ôùØ7|fìàW†Œý Šž·á»¼}L†GÿßÏ\xÃkç^¿øÖ“|ÅÏÿÇs‹G>ü§'¾S[|ìÍÞ/<|þùù'ÿàï±ozÓb±üU?þÉoüÅW¿îk>þ+/´NüEãþæÒ•ß[|3;÷³oþË£‹÷}ùáÿÝþÖK‹wÿ¡÷O>à°Åâ·?÷úßþás‹÷}æ¿m¯ÞÝX¼çß~ô?ö¶ÝÅǾ¦ñk?úo}ñ®WýͯýÔ×/,>6öGëÿví_-¾Ñùêÿñù_ü''>qÿä—¾éÏú…ÿþþmï÷Ÿ~áSŸúØ_­¿ÿ}‹“¿ÿW“ùžÏ_dßðo~uçuöâäm¿ýýÏãï-þ¹/øîï~ÍÁÅ×üø}_ð£_ò7‹í˜û{Ÿø’Å#ÿúÛ~ñWþÿ\œzèoÝñ o¿ðÂo®/?ñ‰×â[gÖKÿmszñ5›w}à—ß¾»xàøG¿üïþÊÅ»'šÝoøëÏ[»úÄ«'NÜ{â÷¾ÿ‡â›~iñÑ·ÿÐg¿³±øà·›_ü£ïËâýoüà/{?õW‹w¾ïw¾wî\¼íƒÿì±_þþ鉿øó‰?¬|xü…Üwîá§þòo-Þùý?ÉþÙŸÍ->²ôþ_ü¿þÔâ‘O­6þ‰½8ñ§_Ôþ¢ú_ø½ÿûß9S_¼ocâðîù©Å©÷ßÖ³ÿçc‹o~ÕQö³_½xÿŸ}ç/~û¡ÿëõpáïþõâë*KmëÀ¯øóù?ÿ¡û‰¿ÿÂ'¿óâä¾þ3‹÷þÑ»þËÇÿûç-Þö-ÿè >ÿKõÅêáoúÇçùË~⾋ãã×_µþMµ_âë_ósÿÏ·þïýžÅל{þC¶YX|èmßûõ÷=ÿ¯ïÿž¥ÆwÜÑ:ñ©ŸüÈ÷ü›ŸnñèŸþÇ·ýñß{þ…?ìÜkÝùo¾tq|ý}Þßþ“Ÿ:ñé÷6?ï£S¯[<ðú÷oº¿òðâ#›ïùõßùôO}èȱÖúoþæW,¾á+~qóý-ÿÄ_}øõOÿ’ÿþÂ/ô¿¾ðéÅÿß?ºÿ¯ý؉Ï,¼ã‡Æ^ýÂ/Þý?µù¡Å·}òÀ¿íçî–ûð•´ÔWÒR?›i©Á>|%=õ•ôÔÏjz*Ix—ÇB]hØ¿sþ{[ÎoÏùÿÞ‘óß;sþ{8ß¿1™óv!ÏØ•b¡’4+~eÑþÊI<’þàßÿ Ÿßsq/.ËEd°ÛEYµƒ²jûØX\è|-¡{ˆ*ò·«éÉ#>WLõÐL<Â?PµÕÁ+örÆ·Åv'þöMò·Èµ˜¼Ú‡¥ tÁÇ¥ ç†íô|S`$}$Ûç¹%äàû÷ð†¾Y*rƒh둾îy—Éy| ÏÜEÛoQ_Iæ}¨ù·:¢4ì§“Öo¯ ÌØoá}¼ßå WÂx[ó´ÒfIðÿ7<ÂÉÖé{éVÕääûÿ6i¡: |,—Ç^á7Î%~»j™8 ÓàÈÖ䇺ü0-?ÌȳòÃ\ƶ»#@,UíHÆbä4„oˆø˜pªßÙ1R™… ‘}9äwJ¾Uúç3ŸSþ¹]‚çQ»úií¹ýÌö ßP:r÷þÞwøÃÊ·üÈ—?ñ¼ÝWí_û ßô«ÿíί<ñéÿ\úŠßúÖ·-¾ú¡÷}ß|Ë]¼Ý–lºÀ-|ÓÜ÷'~æ'^{÷×<ù¿^èüHùXíà‰Å±Ö×N|ò™6ÿã÷ú¾ñð7¿àÏ>ðÏøŸ_õÌWüêÇþð…O=þ+ò÷~Þ‰ŸÑþÃoÿê¿øõþêú?~äkî…ÿïÝ?·½öéÇ_øÐ×ø‚ìõÞC_õ7þøË^øOŸü›ÖÇþßÿºJëë/ží¾ð#Òý–¿þq>Ÿ,—ö °“Ž/žhù‘‡N.¾eîøŸÿì;ßqç½ï>sõâbeêïüÉŸ}IkñÝ¿xÇÁþà‹h½îüÎEçàÿøgì¯~U~?ñã×îýÙ/þ±ÑÝúÚÿý¡V^Æx`cj¯È}& Áˆ¶ÀÓs»ïºÏËFýȇڎë÷d«ÆéÕùúÛº´—Ýéžür„¾RSnž”’Êå±WzuLòšpŽEw‰ò4wË­uQ~°ä‡¾œ‘Õ“<\óºòI|W_“öG_yÿínÿŒžòŒ·Ÿ]Y]•Ÿ/âçlím­àî··^è<ø]ñº”ÿÉg>‡½ ·½ðú÷]N\žýÊßýü±±>ÿÕß±ø>¼¨KVÿ©Ÿ\Äß?X`xõ…¿ž§ý.¿/V^ø?ôû'?ýW±ßÅ÷Åù¿ÿCÁô³ê’Ý"VöccŸ-+û`*û²°¦ãÙÛÏÞÁ”½€ZÏU­g0¤‘;à? yÓ‘}ÃAÿ7íÊ ×νúkçíWïù;ßzµññýËOüäWüî£3/4á7žy뉅àwþ}öÄß×Á¯ýë/B½pX¹m}´rÛ8ìJ³þ=âÜ£ôz`gnæêL½ØoMÃòwŠËWæM”«G²šßÇ›XVƒ‡¯X°ãXÉŒÝÇvÔ·\Okšºzª¨·½mºTV÷Nµ\U›,'®$Úš›©Ï©¨Þ³jƒ š/;Šw/–ëÅj94¢ú ^±\cCw°4´m¹úó¾nµtW9®÷ȃÕ75µùxšÓ’Œð -Ûî®ëé½à›§y~Àø{Ú5Û ¾Vðåö]] °C{[[“ãî–¤GҀæfuüðÜß³¥;ÕRra·YÙÊ2Z›©X´ýFÜb¿¿²|uyý—O?¥[W——JWÖÏçž„‹¯¬žnœ_~j¿¬Ÿ_M4X¾´²²´ž¸¼zéâéõ¥Æ;×O¯­-=½¦^¿¼tùt#qó%¸ÝyéÔ©ôÓ8½rúò9¸ÿºzzií H§/®«œ?ÏŸ9¿¼´~þÒŧ–•§¾w‰LÚÔºíÀ»°•Ÿïᯘí˜F³¥îªû.Ûý·\½´ÆªÕR¹ÎVÖ׊öêUxQºeéÅõm’ïýÈyK¼Bùî¶O'b€;åÁMÈ À`û]£%¿é8§ô-·±”Ñ<à Z£ÎíêAï VElÃ&ü(ÒÝc‰@=¨<ßp <_%FåRµZœQ®ŽóCX+VUâp—£·ìÚ¶ÞV~zÝ:0_ÓpÙYñh\¬œÿÛþvëh–˶ŽNœÒõ¾¶«Y6±¦9›šŸ€êì)Ö::¡ùþÒrô‰c…ñ#,òÞÓ ZM´Å%—ú/:žccHVÉv:Ћºñ{4ì¥ÆòùSص ÿáßZ±^)Ï+ÓÓµ‰cp#ûGÎõŒn;8%«íèÛn8Ó‰–׌LPvxÞ&=ÙsŽÑézJûBdNm»å÷dUÊPuÃÄ‘ž1õ¾n ¿õ»ËuEíŶÝ»g¸-xkš¥Û¾ËŒ,ß–Ž?º™kñ®®q dAvô‚ßÑCê±»ô»ñ»l&bq œdûümëÙÃ_Ö|zÜU¬Lbš‰Ù/¿ ñP•4¿µ ÏÐ.i­’u=eIÖ<}ƒ¯Éi«3h=¶ ˆ*ë›¶—X eÌ¥V×èáï‚÷“|/ñe†'v,¸bÚ΀•]2õ 7» K;"¹‘q©†¸Ø ,º£¿‡=.§f;-£M“OáOÓ1%ÂÏÕgŸ'ð=x™È;ã´_eGctœ:#åf‚l‡}‰>3AœeçlBL#)4—Á…žý.ôL!®Ôé(D4¼9§„ È ¼sÉ£AˆÈ1AႹF©o& “TK¶ÍM¡ˆ$TJ݃Sêû<>õ?­t¿}¹±tQ¹ö`tOÍ,TÊ å*î)¥Ù“ 8àpÄŸd)r÷“,dšUk µúBužoLß’ªe ’<(e±ËZk3Tî|6&?Þ~ ˆ¡ü.;†ížT&­ž)<²äƒ踋 )œÒÝ–cô½p°;OÁæ³Iñðšßéèn(Hžïõm'”JO[]Í …ÐÃ+ÚõÝ[kG¿Sƒè¾‡40yp¯4¤½pü¤ßièѱ_}©õ²Ý릙áa±òwð§’ã¬j@áß@ÞÇa]ó¹(¯Æ›ºì7M`‘‘ô ÓËðÜßç·.©øSm93å»Î”ië™Íaª1w×a4ÍÙ HÙªîiSbÐ’#ãÈI¿_ºMmKSIÖØëó «{Ù!2°%K3wUª½Ë¥™be6~uüH WwŒ-  Ńwné(–lh=ÃÜÅ ÛuuD Eáÿ˜A=âwZs.ˆ7*‰Á¯œ…Ç(5õŒ» ”Æ«@«óÅz}v6)Ç&¹®cõºÜjâT æyÔ È¢`oZƒÚÑsx>h²ŒU«Ô;xÙÙ^ž¯Rœ®T*Å™ÙÙm#ù|+~+þT§töœa¶³Öv„‡‚¡K§t,|cCf4qJ³ Ü>‘]jB›McÈ„Hr<¡6]²ùx‘e6© ÀUtÏ‹Íêä®cÑÞ¿ÑY5i EØcš[ò[n³¤·ý¡SZÑm $ÌØ”žÕ, M¨o|­ kÃ^tt´m%$mwØœž5Ð%jh±I­%Ö~ã3ÚrùH‹~³UjiCgs:¾8«º³iÛÕ9¦Ñ£qôE§\DŒ\okÕhu5e[ŸÓL´w^V_êÊ!™æ±üÛ{Õ¸¶©Ç©xWïy>‹û07G޵è·Ú¨vùVl$ˈÍêPMŒMøíïÇš9ž½Y ¬Ût7ã»û¤æ ð³ûªôQŒ–R@Á/ÂË·MÍ“ñ†ÝÚܶíöOÌrÄP‹ vç¢gL¤Vœ Àu6n|6|ì’Kã-‚ \šÐ¿ntJ)&ufç”YÚ‡Ômû‹}w·Õâmj¹6÷9íºñ|l"ðÓ>Ì.]ÃÁ€L¶q2¥f–|2ÄhY«ÎÏ+åJĈXUsúº3ÂÁÕ½]½5¹œ¹%åLTçLPÊ «eúh¸F]rÃpz Ù8¸(<§ íŽßò|G3™þ¼Ïý±4 ö&s¿GÔ=¯‹E†·ä}T#Ê‘j¥„ŸgM¹…Õ£·~D­"ܼҳl§çÆûMc ?˜å÷N¡/¶À`ŽmP;cym)6ˆÛá™U[̓¡i%ú’ßá‚”Òì ¥ÚdÞzc­X©’ò9¿P›Êç“lwK½óÁ;P¼fB¼ÎkɈHÒÜ’!eevªÄ–Fº9­À£ƒ\o–(bª|ŒoÛÆB¥\ªÌÍÔf§®¹ni«†à.Œ8 @yÚ'âO{|€X0’è ‹]©‘èœæBL+uV./ÔæÊåLÑù‘ý…7êTýª»ðsÁß7;XŠ–‡5]ŽæÁw¯Qåhˆ}ézUåúÖqqÑ&s˜÷Eø¼d•Ì$ªÄ].M§†éÁIýP¡H~()>Ÿnw(Àn4›»”¨õž í§l«sÍùÞ‰æâ˜l<ܹbY Ä©LK7Úº£ ’C­Æ0÷–aÇÅc ÅaãYÃĈ]Kˆ§CF]ÓáA»¶b‹ÖÕQÙíüSÜ(¨ÂÞ)Z|kp Û24”ZáD0×G‰…K ÏúpWv´2?7ÜúÔ¥óÈ­«µòìTe¾ÔvöéÝñ<QAè»Ë4mƒnènWk&™$¿ƒ¬·Õ<)hüÖãB i‚DÃÄD±_bÞ(t0dÈÛo@6n…"QOþ8—X­ x(Ycå+82Èi°ÕZ*ÖæádKç—éN'Ï/—€Ay¤ZÍÄh°> ú ì¢t]l>ò¶ílÒ²­âë† ÀEÏ„­a¼Üõ J[ܰéS¼:°%ª/ú=ÐØÚé5Psg*µZ}Ù§Šäðí¾Ö>CöÉÞ–Ç •\3§~èÜŸƒ–¡y”Cºè5¡Q*¥êL©Ã\꾺S‰¿½»vzµÀH¸ârÓHJ 6Æ{¦Ý1€íÛNÛ€5âÒ¦ex „9=ÍÙlÛÛV6 î•8QKõâl©ZRgxˆb¹‡ 1„„ ¹d}zazŽsINv”æ_L´-0 " ™%9ÉaïD Ÿ´U ª5þq‚À’D DÅÏ7ƒ3*f¼56¡ãi´2¿xÁ—¡RÎ/^@ G*/TgªµLñâ5£[梲Æþ[éiãÞgŽ¥ƒÄŽ|½w5ì]ÐÌ.Úa˜Ôi«e·Ãô‰—«ì!ňA6¼{Õ%RÁ¢×*ÅÚti¤hå§ò WsW©*âiQ‘Ë$Ìw‘!Mž6`ù'‰ô®)Cßþ­£ãA€?¨´èú,óóti§{JD§sÒS˜ôT$Ff®V™)ÎO—yŒŒn•,70Úª¦·ºfÀë‡X-ÎÍÌMççÉ[xƒƒ&NÚæ&ŽE¢ÍSÍ&}—-fþ¢[)òР{V+ÕÙb¹^?Äš§oÑmŸÓøms>A½6_/Ηgçb£5|PwÎi~hh.í4±ÜuÈäAùO ïä ñë0~­6?ÿœn9Æ&Œ¹/¾ÊÕÎÕ«ÅÚÌôl|ÉyRÄ)͈iqd‘ÒêêFßÌ{KØ6•Y¼¥²mÎjM·ÊÄYm.VÛÐ[›Yw¿Œ†6ÞXeù€ìÎç禫±[_°»ô$g쬊ÈY~Ó“šÙÕêÔ4ŒÀ¿X¢TÇØ2 ÙÑágšðd£ÕÓ×'T!uJ ©Ó ¤¤7FHŽÅ \Š;ßU9o ÄUÐ1¦¡}pKq¹ÿ›/ÕƒÁ•¶Bï=Owpûø ¡]04ãÅ’' dÏ-Œ[@žÅ#TŠ•*Šº=Ãz^ÏÿÃIQæ¿#®•“!ÿ‚‹¸ã¡ˆ;¾zzn7.%]ñ4s%X“ñNM‡U˜{ }«0N™à|ݪåJ šÍ`3­×«c¦CfÊñskKW5˜´ŒGGëæx{ƒúÃp\Ã…†]³qà®Þæ 1šMS‡6ºC}óˆÞ)Á GD¤C"ÐáM)iÈúøT¹v`ãÔd)ñÇ$Ï{s¶nÔ˜uD™M8Hëv>ëV†¼y#Aï¡`z£’aiªk÷ô).œL©&.HˆýÍŽË_À©ÓkËó—19v,4F=¤ŒtßZÊÕàUÄ/Ÿ‡e·A«6ZlY3[>§Ñ& EC¤F—¥êÛ†«³µ 0hü´ Ê2hÍ jNìb/?B2ë‰g•ðîUßéw#^ÕÀõKJ~Ò\EÍ{[ÑØ=…]Ü<* ZâquÖ6Ð+…ñQòqÛÃè§È*ÐûÁRdÆH¹Äžû ¤!•7 a„®$Áxh°€É`C9´‘ã¹ì芾búH€ÍH'ÍÔÆœ;ç4Ÿ>Vâ-§šS€ë`ºüÐ&›Rà*ëÃýT–qFž}¹”%A {Šï¨©Âx }ͧR·Ý±á=ÒéJ`f™IšY&‰G°ŽkJ‡QÈMdÐU$}—–Ðð¼U²¡ì"1bÌjê4S!iQfw®«]Ѹ¢žžCºU<{Rí›0®¼¹Z®VÉFPfÕ W*ÂA ¯´~ {¶Äø‹XWTÞ 4<žÑ÷bdÛ³Ô¸DyßmlaX|<\id©saÜCy¾6åîºMdx»»å™r"îáPšUþ¾À!p,]›JåË‚qáR˜=®b¯«â³õõ@MâÊj:=Z“¶3ŽÚN’ߤYäNàŽP¤)|óM%Ïã§sòæÿ*¹Õkõ…JSt>–Ò¼ gŠù_lqØ©–ú7ÇúWNÕHFzœl}¡ «>š‘¸\6ÃzíÍgX ;QS†¬4¢p±—g˜@u0{Áí>€·¼^ÝYç/®,åc.WÏø¦ÉNj äcÀ¹ÌFBdŸÕ|Bë‹™íÇ­ã%‘+ZßÔ@%XꃰƒÁ|¨SÄowÛ¼ÂÎi[<³q¢áëÑ Ñ.®‹NѰLM„Õ†ªr¤wî+|éŒaq¬Ю€¾[Ñ7à·’)~HåP‘pÀ@i€;±®±7=ãÀF¡Õph[¥ÎVŒÉbƒ®þ@˜4ä‚°£#¹ðS_.gsÑ‚²†Ú&áòLœÔ6ÉŒæ›â…ô‰¥ äãN¬½>Çú jû%—_Í;/Šþ¤mz“{X‚áßA+9ü—EØ-Ý’åY~‰ÖcÀ¨gá-— û8ãwL`‚íèÈ|Mð{iÃ7;øcÞùJ¼»íh›ÑA{t¥Ô[ÔùX×µŒ>áxXî~«kØfìE·D‹R+øyqNšGy\®j W§±/Ÿ[-rnMåÜö¢î¶çvÁiØy@p0ªÙòŠ:Ù((¸÷†¶Á(=Ud9X‚U;0°(´¸Ø›S¡ûBƨUsâGEÂÕéVEŠsÏÀm[ µÉ±W…¤Aöß-ãz$/³m 9TßòllÛ—ƒ›µûæ.¨âúVæ{MÒžN>TG3²€ÖI¨ï<|«þ2ÚAF_„fYPówzZÞcÇŒÅ=¸ðo×°vá~í·õ~aÜ…·`¡ÛÉVã1òc T‰GBòN`?z­¼‚§£¶ðôÇ46ôÖnËÔ£¶xi$`ÅH5B¤YÒ®=&ı'`½a;¯œ_>}qítY2_tÇ¡¿šÄÕ(JÆØ˜d“ZGl}þÍ¡?MÍb#>pUø8.?ˆãdšôkK Ìð/É /™Z·lØG-¯ªƒoz.oÒ†æèʵ~—êÛ¼'l|O/q¸{X þ£ïñ¿»mƒÏ¶­7ýN‰Þ!õƒ}\²ômþ››d·Ä7 ¿dói¶]Ç·¨‡¾ÓÇ´¼áêÓïpĤ"¹”ÄØ\@4" 7>¹A?mtøTˆaÒ‡žîvuà"vô+õàETZÝáϯD¦Øql¿ùÔÚ¢ž]9ùÛ O}ñšŒ6ïeíÍ6ÿ„¼+øÐâoiœ¾¶¶Ä/ˆíèžt2ÒÕkpä:‚Ä¿õ©Û¦%ürx-øâjè/£kÂ5Tµàêa›Àß»¶Í§gÞxS~Þ,ÊÀ3W\r½bp èmk¼_l2=ÚôIwÄ®ÅU¥.ô!t?’7ÐEC}p©É-9¼¥­ 2µ\X>"÷TzzäZØÁ½š¢6V^©õšmÜ«hG¦ËvÓŽäñU±ûá3Ûâì«nÿªx6 ï¶,ß4ýVQ3û]m›zã7G^oîöäGÐïˑϕÈgØQ²+ºÄ4ù}iÙ¾X¼¢oÉÌ¿¥9²#l‘–üɵä'јÿ`c²‡a;ᮀÎ¾ÍÆŸÜ’ïŠUéùãKû<ÿ¯añ þ¼£Û¢7[þCd“=+¹%>úš„W/:E‚º½ht€Áמ-^a8®+¾Ë£ý¶¯‰ÝíD鿹#>[í¦½C]\8Pz‰¶ÿMlfN”({[‚íËDü—ï ¼ ·jOìü^ >UƒO5ñ)Øã.&N ²àúð‰ãg‡¿<“ÆÚü‰1Q7 oÛ˜TøÂkñÜ•<¤¦õƕӪÌt¸Z+•ë¥ÖpuÕͧï°j#ã¾kŽ]^eO”k¤]³£B ¾*PGÎJÉæÈØÒZ R²»IFù¿¸Ä@bŸœ¢Àdl!*4Lj3aÈ!©%,¡“„ PÅ`B¿ˆ¦ £¦ÀHM¯Š\k!ó‡×¹ü΄ð^$p&ÅïX¶3Ü’q:¼,åa 锇# q\QUó Ù@@lm ÁbO/Ô¦3m ¯Ñ²ÿÀh†ø{è«ü-†š–í0οø*U;zû<qä0Ë Ê„á—wŠaÒí>Ñ@Íý2±ì“á¤6Øp‚²á(–“ÛZZ"ôƒBTÓ¤H–@¤>å—GpiàDÁI…iIÔ‡æfE|Œ“ñ]“¯mØ;‹½VOCv%@’Ž„& D¡6GÓ5ܦž0JÄŒV{wÑïY2í"æ¤CºõÄe`#zö°ÖíRÛ,’z¼½åG38’ö…¥¶™ M‹5•Áž,í™eКŽù¤æ·‹'í­ÝÁ=(X“ÑšÙ¡Klz!hmkव-ƒ–ëŒáxÝ!Ɔ%jâ f!·Í!3> òˆ<´k *n¾ÖGÿ¼>Ô¶†­`§Ã÷Ë9ÝÀí’•ü L‹̺ƒ¶!žwEkÚœÝIä°ddÔÝTÃf;ºÜ~C$tˆµ ävn¡Yõ‚»ƒ§ÐU\ò‰‹ ‹$a°Õ±áÙ(ÐäRÇ2“> ^A?žÙŸÒxlXk@X½AÓ}΀ÝJ9ùÏêf yÿÁ6—Ä9vùs sè=Ãwµ‚k­n’â²슧Ò-_,mû%s¯X1¿ñèøí ½£ã˜û£ÀdLË«1Àäq8kh Ì'Â?& %¡…Ýj2H°XŸ>î<'¹Zµ¦ümÍtê"èµìô²‰˜ŸÀÎdêZß$%s—ÜxÜàäú8SFNV*”£êI˜ïS_%ÌÕWá’HEæŸô]•ñå‚uöQ$•ú.ñ·™?¬]v¡Ä€qñ0þ“L‡,ßK¼³!l±€)W ùn}]fMaHóª‘1gé¥Ã0SZ|v§`ÏD‹Р§$I aá)Ь «1]ÌtyJ—[аÞ)äÅS'm{Ó žs v¾“–gfT;è û§%Œû'V4”ñ‘93âÌ Ü$⯠ŸsSF¬4"Ès¶Éžþü‘qæ{ÞÒ™àƒQõè#–—„Q’¼-rSâcL0±Èèœa1έÂë‚3±€-…?ñö€ÿDú¯aF“ÔPG‰ª5Ä?˜`‘$FÁ—ˆhSĘ`‘öHüRþÈzœ'ñáU çŒhyxIPn&ɶºüœ>««âˆö–ÄÚ¦¥! ›ª|½1ØÇUÙ2ë:Et¾m¶® ΄‚3Æ‹ªVžWš<(›ÔʨŽ×3Õ2=ýrìÚÌB]$ú9DÆRȘ½Nn÷*E±ÍŒª@î9‘~´(®´)X{¸W>âDÏPFG÷¿!¼2% '¦.sš*7XJ‹°ØÈª±”&¸ëFO56(˜åŽÏ«¾8n{ä3”Ï×)£Ý)d•] X£ª™ã¯›™WíÊ„gÍ’ÀÈj о P†&3˜›Žñ^³¹y]tì¹ î:›×Å"œ§‹å9ì9 ¼n6“×½îæò:•¹ +1g{……íCA q¦±±7*#Þ‘š£w¨RšM <ηmiæ÷úÌuZSÒÃÓÅ ×›øS|ÌðçvH•S**¬Í€sOpå˜Èð)ÜC2de9̼d«¢8^<2åõK hƒ2ÐåK@²צáb HäžÆ)‹ôQÐÆwarЬU`* ßD°2ÄÐ:”ÜIã?BQÐ"]³À0ö¤…ƒ€BÕ'42‹é–‡H|%†9U¢Þ• ¯Ê0~Äî£7˜@ -FH}rxgÃÅo[$íP¸ÏäÉ•¥µÉ›\Yº¼´üÌ$<e…®ù°MøNŠdR¼­²ÄÑ÷FB@–Õ ÖwUDžã4JŸ'eŸÔÆSž£!ØâÔ xÚöSÕùúc€p¾Ì¨QòóÛ5I¯Ro;ö>4Ù¿1Re¡šgᇥ‡”òˆÃÉaM‘É"· c×z¢Ûü!c5GrNO=ˆN/3åz¤ˆ§_Çî”Óöàˆ-Q¶:j¼‰òxù—yv¦R/ÎÌÍÏO(e ƒ&"[;ÜÙÙÍ1(Q½’2ðtBVlÎQ^ÍŽ"~޾k3¾fþîèð‚ Þ=ÁßлQº. ‡-7|Ó,a)W÷)ôpÃ*è-Hâ–Nß©KÇd¦jÞßûÂR=; äb3Wbõôúù5™YžÝlYâ, LKIð@=‘Ø\± ¢ðZ~Õ@€ÛÓÔ§¢²e"°´­šÌGØqõZ}ºX¯–ËÙs={ñ »Ôò´-}¡A‹¸ž€æÄðÛéÑ…ØeÍ4€ŠYFòiáå“/Aï‚,Ý5?ü;z¢ŽcêCO–¨U ÓU.Ÿ‚iÆGFEÃÑÙºž„ïM±¯XcÒ•œ-€ÕFUãµ²¦alõ½4^:VN-NÈùƒDý1Šoæ–}YÕ,],€'Â%•Ö÷qº×PA{Ʋ=‹e alÓ^·u†Eâñ–S—|;øNµa踩჊VæYe f2}E’õ8{ºmY±öæ€äXG¾L˜HóÖx„‡8#¶c `@ºOfΠbàÀg èûÓÜxJÌ©`fѦ.*áFºMn·p¨Ñ4;0V²-©v¢},4?3A¦s¡ùùé#ÒKä·ÀF&³Çx…4faÍ1‰ …I±¤)ä ˜¦GCdG>GXX#‡rª*Á£æ2'Û &d*+¨'âx¶L5Z±È*Öë(Ï-T§o´Xd½ºP¯gêñoÌ¥Çß%¾F‚‰r×I5OIe^æ¸Äûc$O-=±#Ü-¿Gžô^2€7t¶n¤éË nH³P°èù)Îp¼ήÇ$àhJÙö±;k8HUþóDrX›GDLÂË‹´zpâ2•!5`Û³5ô_`—O.Ç³Ê¨ÎøÄ†ÕNtÄK““"²^DP:£'HÂHrYX@k6ÅÆ“å•þ@Nr>pù *ß []³€7}B!4RÖÔ[J!fêÐ<67¦Ãó«Uìx v¥iðkÐy®4{,’â TŽ•‚´'`«ªò¢Hïov0AAæhá©DÍÓÑrFS¦K”xµ#æ?‡ÓﻢÍ,íš7™¦Q3¥­cAͶf¶íqþ8¼)n'èœð¶8pdœÖý’Á.ótö±±±eèÛº#c`h® .渞ß6l­o™W°o½.ÛjyŽë¿Ó3U¯ujÔë0E …}Š'kÁ™Gfou@ÍkJË”º[óZ]Ý ãWg¦.¤æM¥èpQ¡N8ñµ…j}¡*LþE$(Í}Nx™ ºŠÏ%…ŽRñps­ö{"ò–‘·†ÓCõ¥3eDzŸGÎz úÜÓøÜÓê›%kzˆŒð‚Üstp~4˜}N¨¿ù€0¯!|§Î :SÛzå)¹ŠßB©s¤øùõêÏr;K÷‰ú;å7 8¡òVJ€ûKVȬJ: ol³Ý-_±°ÈGÅÀÅ‚¸ßâ{P9@œBó=¢–ØeˆÆ!˜€¸Œ~Oqc¬wú$EC˜ùAŸÉŠzH&¸ ÝÀÛF»“ T¸ÿÜúê ú-UÀEÎþÀ’"âRz. ©´µÄ¶ãb/–m ¤n,ødû®,)àé;žBËJÀ4É›l !$I&“,].,O®¡2ÉKèMY)ŠgÞ©»}¨p<™&Ïòͽ5•}ŒJ9»¥ ÃÏF¬¶Ø˜l­LJu³Š”J2[eFJgã\,œ;KŒßÕY:æ=$ÆIéR}½é%rKPIcí„,´ÃÃ4*• >°ÕwùaSzü¥ .,JZ¤$Õï’œD„ùÃV.\`‚ND®Ù:#‚^âG‰s>BWyn¹•V&Nª2;:ŒŸÆHÌí@éOYužÇZ4RU$\ú™…ò ¿ÔªHõ™ hÕ€—húßgS€Í®•2û2–¡ËPQº5BÞßa‰¢\|Èšg-ßÔP<Ý´)6¢ÁÄJ¹ì´†1æ*e©ÂvTb3,ç°p ’x*Í9nq7ňpÁˆ—»©oÐÀºe6ÞÙ%!e¸¼»(´ç8€Î 3ós付OÚÙÖèN#±ò£Ë“C¨•âu³6S4z±£³Õ§%%•{#´9M 0:eì¤l£“ìÎgYXMDÂn!Œ% 檆¨ï ­L$PZ™Z™ÐÚ¤Þ軆dÖ5wÃƤiúš4&q÷ž--CUyͰŒ+ç©3P¸¥§¿Ù!hŠÀ°$.Rr¾ì=ïIÔxEL¸ïØ[‘é¡,á´zmB&ž[rP>óª°¡EÍNe‚Œw8ñ«ÒÅYaãrD$™ìÌçíòøZÃÚ¶¼* *¼Ï1wx(´B Lß1i‚º[2ióhá:°vÒ°[« %t‚î5¬™0#V¨Ö¼@æ³ñÀ0V/S±#VçáÚ©uiA¬S¨º³>vºÁëÂÅ%Vüaº^€_GCâ8ÉY²×<íË â¦y5žvgãÊìÊL;êŒdÔ‰í%FÌb‡r¿Ãû­yÒl‡Oäöq_‹Wo-L˜Ï„—.9êVñÊZš8©º5À,åJ™J?Î Z„”/‰+­?bŸã’¢Ñcœ9„×#`Ä"MÅgDîóKñ椠ØÙ"à„r£ã ž’ÇY¬ÏìB¥ºPË…ãŒ=ªX‡¾²a132z^V–»\ç2sŠŒ8ÄØ÷’!‡˜á~<‚üx§`EÊåå@Jd~ƒÛ¿©Txƒº„áâ—r^šÆ'ÏÞ9¿©"Ý"\¤˜ŸTäʳþQ¦hÙýðw8mÑÜr‘©ÔÁÀ—4TÄÁÔ¤ÏåÚÑ„Õ(N£“Œ8M‚NL~§¥[MÍ2“p/¹-6O àaéGÝ!ëHÔ…f¯¤{àîSÀáH âŽTÚ( ÷õ¥‚‹ãð˜R¹) ôiEƒO4‰É“†×ôÇzøJ¶…¥Ímg’G‡›övý¦{&ñê$L•¡œÈ&¤"CTò’ï\QÕÁåáàbzWŸ Jnº2pjRÉlä¶N(@aG@t¶­aXPšÐñÃB¤£zª‡Šé'ƒ4&~sy†EÛ·"ÊVB1Õží6Ä=œR«óáx¤É1-žñ[šŽ¾-¿-šhºAA:3¼ªHtQ¿§µä«„,^Ž Vð#ݪƒ¤È·\€6²º¯bUr´žÑüº©µ`#“ùVnJwË¢¥‰]„ïcðGƒ(ËYJ®,L )"–œpƉîØÏs*ˉUܤi²X–Ü–!£`ZN@)rüY@ÎÂËÃý²ŠZ½Gy¸IåᎧ󎑢Ýpmk”ã–£ðhУ¾PE—õç´ð6DËaï»Zúó¾á'þ%™>$sMÒꪛޭ¨¬ü–á¦<~Êp=Çhú$×Iläx8ŽCµ®p4ªqa,Mö¬æî ’:R«•‹ãÕre–BÊÊ/¯½\b+Ú†¶‹Ö.BÜÐ5_M»{<µ;nÒµEßr· qZK”'ø'ËT`Pðývô17"ù|ð˜ò1-þ˜[ò1%ôt¯ko`È-±ÂÅtë.\jØ ]Mª¬éD@aeÅð™îÁµRô—üéÎéq1rmY¹ŠŽë¢À1_žá#dÐ;1j•¨×œ(›¬4{2PV³"OªÅ2ŒC$pz:ÀL!ðò–uˆÆø;åÃ)e"‡W¡#YôæE§O¦QZ0ˆˆÜ§ {X"€§ä™Ò\1÷úæ¥uãw1(ÄI#ÀC' ”øØj˜ÍTË!×ïúXlîÓÄxãGÂÊžcC †«£rÀD–µÃû”X0VXÏeãG0 µm[º,Ù,0y@활t'™Ž@é}[Vó™s»«[Ò©Mi3ÚøÄ>0õ€õ~ä¶|ºâ6„)`ÁXhGÁ}ºCEæÆp’AM1[XÖ™+hi¼1Žƒ…âãFVÈþÞäWàƒd¬%¿ìà'ÂE ” ¦ã»ú†o‚¨g»n‘¬¾%¸*ßK¬¾$*÷Ž€`¢tì–ŽŠÃÀNlàG3e_¼ª!Íž)>î|TCHy«VËå™"lÇJÔ¬Mžaaim­„€[UüiH žñ¬a6“Þí7G£gj1GƦµa=•ÖÆZïwø§’çmÍ__´Z)¨ ¤ƒ¡ ‹š×u§”ŽR¡tKJ¨ÌáyËuV©,”ëAšÀÍœ1ƒéÓ0Ê|®¢<¸ÈD½k •lô}éÔ{PýÒ´*&P6H¡ÛG‚„œœ¬ "ç•!o5SŸ$Õ£‰‡QâÁúÊõ ±ÃË[CÜïˆhx™×ÑèQé2ÇØK‘ §Zñ8mÉJ6˜òËÿ\ lÔË&š­Ú˜Pu´ ûœZ9A¨äµᨆLŒ ´IßÞ8Æ GÛ=Ž©´³0ʃ+}Û1óÎáµ™cÃì- CÍ'`9_„vÇ× ÆýÈKî‹—¬Ê­ñ¨’4,ÓŠAñ2õ…š wMzüÜôN 1—©°ç`˜™ÚB­v« °Šú§‹/UÚ&ÉÔ(nŒC” ¡\¼çY.¯œÓM´u«]Ðìƹ|÷ fr¥™æW`%8Î/îòLº˜s‰1ñ¬æwº2È¥WGÎ&£ʬ‰´0td¤…5´¶0ÑVÍE¸Å‘&I¦oc6/ ÝÕ 'F9‘…`Öªhµßa±Ÿ9¥o…³ômÐâ9­Æ ÐÈmÎ"×@㡱(éb! ˜Ÿ—z¹q›ë'0æV[\JÜÖMÄ8ÁxXlÙºÓB6£ >¡Ü5ì†÷Zîù1 ö#Ý”ÁÍ4ž6ŒcÅÇpaM ˆ…¸Žóu²0/QÚ0¨x̆ÖJ‚× ÷=ÌIO›|ñAiGìmƒ[ñ7¤¤L£€x¨Lt¬±x¦Vb¬Õ4¼™zà~p´]„œ£RZÂ1GéX¢ÜHe<ÓÔ€‘zJ ⋈: Æ¥Â3šM1ãšÈ­£2éýà^ ôMðÜ­ÂøuP¸L[UZn¾«"­dvÞ­7q®RÅ(Î/‰@)­=Ë•À©$aÓîF]P%Èžâ¨P(÷°£#‘*:uCÉÕ±‘ˆßŸøñ8­-|¸‚\Óƒd™©öAD1hÕ…é‘áa?—ý9bM^²^ˆú`)ŒÓïêåÝ*½H =T}ˆíŽçR¹ö¦õ€õÊÀ“Sa$¬Òø®0†òS5Š™q¼m‡DCQk·ˆt1f‰QããbF†Jò[„XaǺ8¸çbø )Ѽ ´1æ”'º ë\¼†™2Þ½—1[„‘ê©ü|:âa¼ôÄG„«×·B&€ôï€ôPÇ¢¥×´øþl Ÿœ™¦Õt’NƒÚ•¯$ÿ ´ „ëvŽ<Žf…ªdè}:vS‰cdQ‹ÝRKÁE¹~a™^<[«ñâïÐ…b´ÓpÛ.šWGF‚D²†(Nò0•j`g móêqÆHiU&øôH:Sž üDÜÔÁù]¡ùô´ôqFUžr’ðÏŠ‰ûÂó–ðP€ áèm¿¥³¾ŠÂû„tùœnµ n–‘©y@ë©R‡|oó½å÷š0,Ð~°Í]®ÃÀk–ÍoŸ""ORÆÆËNÒ‚q©$ìDw¦#¯U¸H/‚ðñíQñ;=úgß}Tâœ*ŽÑi2­W*µl9ym ”œ†Ça ü5ÌY•QßšT°§gñ\ó™U’@ÎÒE ‚iud ç[W*½¹á0/YqsˆÑ/ $λ”!ï D¼ü1,pÈ=è<}ܼV—Éê!Î+¨>0Q„ ôFÄãÛ¶³½ [é59dR|Q¥ßŸMiöõ!¤e<Ti7DJ=H)¢b-Û¹x×èç^•ãg … ••£®}:åL‰ïïAGâe¬ÃnÉ·÷ÛÖü>¹Ð¸&Æc<¢JfÇjÅ-ª}[ôYä ð$Ÿ¥A™šm ±£ž¶©‹t)³aMf£²´v1\ÙsS›º–½Â!þc÷ŠB|E­GW÷î ‚©É®J4’Ò8N¥ÀÐGùe4½Ç÷ž[PÓ1Gý&+‚É<òØË­:H|Xí.íª³aFT9ç ‡$ø^-™øwðƒ\‘XñcKÇÒÔÏŽÀ(Q'cZÏ]~_}·_.o´LBz7Ê‘}A~ߤ-¶v­MG€ï±–C2µ+õÊL±V¯T]2P傇‘jjÖÃÊkꃌøô駨º™ÓhØÐËÊž¼5 QƒMŸGÌ12‡Æ" KÕYCƒÍ>x6a>}Ö|D–ýè“Iæäg¯‰Ô¶³öP̨êŒ×/‡:ó¤×4¯¶7&¹€´3øQ™¾¦i7á¿TDT& ™FÜ÷$ë£CQl‹Þ.Á±² _;ítú¦íU ã]ý>Ý^8(,êÃÍÛÔ™àеÛÚ01,Í­Ô±’²™"V‹¾ï8N̈{Ñê)þÄ*4Ú8ÍÜÙLùÓ’ra=¶„»¥È—!¡Ü«Òʲ\aܰ(vÞJ( w¡_m:º¶™ˆDO¹Õ¡ ÍLˆ¦ùl6(’5D_žÇ¬YrŠó™ 9Ï úNÎæØê‡Ü E>à:<Å<ËÓÉ)>“„=„(RSÛƒÒ—Ù¹ê|ÆÊŒ'øg~#ârSVí<ŽaéÜ ÛÎÃ/5ÛÎÞa‹n>þäëDØf¶ëí•w[v_½äWâ{ŠÑ*üÙ鵕ßÒ Z/YsÔPqÁ'GpÆ"©’Ì¥‹kçê) »°5ýyŸBý—){ˆ}h Rú^_¶}ŒðAÈl Ámö€¨ØFß—ùa”.E6µZØMv¢¼" u£fIÓAø¿¨`ÓÓsÅôV¨CÈ™•òdQ¼>'8„yVsMrúè÷ÔD“~)uèòâ®ÖµíˆHOÓûÐÍöèç5,NÎNéÞ«µ•Šë±n\d}*^+f<Iá‡"*óqB8^ 'T§&€›ÎâïéÌÔ­HŽ˜l"B‚±Ê-¥ÖuÊ.Ù™§ô*Êu`ïeøWåÄi" _ѳSi[.-<Ö>]øK ÞàcUŠëï,¤œ@VQZ¾Z­9¯Ÿ&u¤Ê'?4‰¡wˆï–“l’æ\”g¯PÜßô%)ú€…sàÃø¤… 1t Ž V„“Ÿáðôäg·oÿâ7á{•ºb‹m~[ÏF>úhVÎïÃsaQxïÞj¸òÆ8ãôüB]ØNšªu‡Ÿ$Æ‘âøG©ç ",Äj†PDT¾«îÊÉø<ŽgãÑb™æÆûF$‹Q­§oÈk”&9 6\4²DEÂPIB6îD9í¥Ï‘‡Ä#qÚ5À~¿2Þ‘@ÉT~xì2¥ðéŒË5¾¤B°I8ÓQ%VTƒ ¸Èï{â`ʯ{„"ø»kºÇZ±¹Ù}Òl1 ù›¤‡áh¸%^»H´quÊÑ7§È–/€™Tƒdñgs”º"·P„´¥‘è”O}«C ©Z]gxŒkèR°E 86Ï¿ƒ}•^Ç2# ‚·ž‘’£cƒLcV©x˜r7O’樸Q9c É Ç™Ï‹=Õ¼àÿÙX÷®yíS‚uz}ˆ²5œîµºÑ‹NÖæ“µp×ír;Bc*×^•ZÎN^[nœ¿¼~þÒEvÆŠ×À¡¸ÜŠKzØ„°UŒ†‹Ð®èÄ(m”ºt-méÐ[þ>¸P!zv{k@9¤TçBu®2],׿“0°{Oc¹!†ñµÖ/’¼Ûv 4C4¼(rÔKݼdncç)Å…kKæÜ€Ø-"£Ûà‹ Î+fB¼ZásbÕ&À£ <«« æ²7fÒÕ™j€q…¼«Ó Q<£œl»kƒú" e"z*ݼmÃLžµú‹(]Ô¼"×™ÐFÍ#’‚ŠQ‹‹˜üzL=kë}ùÁmEÔ´qº H#5ÐÁæZaµeë"bxqeî±Ã•8Û*ÚvQëôƒl‰Ë ñ/âf8~v]Ž+f»Àv®’O‡7÷S|ÀJŸ¶@‘kó矔Úê\:èWEÊ”š?»0=€Éó³ý=A·RLΙ`\‚–1NÈrÕº HÖÓ£§² Tèø`ÌßÜhØöõAÀû‘‰²å֌̑„²?:à‹-Õ†Á™Ù ð=  wAn¨8Rã|ãaºŒ_Љ_Nïô5â‚°$¦Ö"Ø1⣧w€=ŠL~+I7 ¬¸ ÁoU½Û-,–Ó嘡X.=t­_ÔÜn /ˆŒx¸DèM· íµÖ¢o{ž¶­•ZU^݉F˜@|“‰è]$Ö‰"0c‹n²ÙâµnÏ@¤­ä ÐÔËED9:ï{–p°¬¶´W•³âwét"M#²Ü±DXýy\3¶ÌpÚCp É$ÍEçÂI¥2ð#Ñ'–U‘µ8ÊæÐÕÍA{ãè1.fÉ´]ÓPzÀ¿.VAˆ#ùæõŒë\éÇô‚%kà4¬àÝ1y‘a ¤û–Ø:ºt¶3n©dnX*sQþ{—5íJiö¤ˆìó•sáâÝ.ÅËÁ¨ðÂK ) —ƒ™ò}ï=6IÀ¨}X Í ª ÉØØ¥e0€ž9}[Ú26Ò³c‹š«À‘Ú%¶„hIAmc—¹v?92oLæ½(«~â¸G„`ކõ¹Ú†ÄÓÁÃ|QßF°J±VÜj²ŠÏ*Wžb %Á‚¹ø<(à¢!IJ·Å0 F𾄶ap˜¹(¨'2Ì„% Ïè¶w&$Ò×Kd—³LXc‡ªZ¶zÚP¡dK5ÑcU¯qñl< bl V}ƒÊ<¯X{ƒ^`aÜlntÜf­U`ô :ùM„»ÂPçù}kÉì¤'XŒ7JŽÛWŸ3íbBŒ}S@zëˆZ:=·P—°ñpó |€ììØ¤R1{”æ©=.€ @ïˆÉ& adÿÁéñ#“ãçs`“H>ÛF”!ÞZÎøYPT<D/)?Lñbt¦W  [¦' ZTXæ¦f9mÉUªÖï»S±¬Œ2Ø ²'€’üÖŽZ±>;= Çföûhíàkõw"K¯ƒµbK­ïàñ*¯×EF#æ¶0±~+(ÀFM­ÝÑEÑ:TÞâ†c€”4VGç›”É[À)ö`·X”*W°™ò/²ö^¶m:è1ÄŒ¡Õ{,NcpF3Ž˜!#ܰDJ&êq,ê"ÂG€N}#į=’n# j ã2ÙñoªÀŸŠ¾'ØÅ ¢Z€Š_ŠT¥ù$à+Bù4-l ¾9t{Ð×ß›Êq…®Œà®­P~^yþŸ—¹Î‘ï¡2¨r݃û Ýß Q_¯$úíÅá’²ªý¸2æáŒ¤—ÜiM¯[§§G2àãJ«·­ø›:[7tÇÒñèÀ·¢Ç¿-ú† !èÁê úlf8=„à˜¼<…\!^VxÄÜ¢Izääñ\rò‹›åsÓÓsäJTf‡‡î©ûwŽçç0AÂ=çh}±¸*)xàߥ¾HKƒÚL0µ¿ƒXvqÁ3£úñ —"Pk‰¡LÖÍ¥P8NÓ›w[.æ ›oblL®¥Ø.Œ Ÿ”î(4%D ,”­C‚"³Ð•ÈŽJøZ\Üc¤ôG§¥EÆpA‚ÔL.‹N\\š˜äfˆëºÃM"ÆŠc%“ý§è½@ÔÜ-H€ Ãk¢•Xµ}kL^}A5å0KŽ¡·jOö¨iɆqGåÂqJÙzÙa4ØxT&þP<º3»ÎÜM¯¼–” ãÀ˹ TMvÇ®‘1,òBnÉ’“5Þ”:gA4G™œ)³7ž|³šžÿÚ[Ži¾‚â´!D"Øu^­ wGÓiœªš«4†ƒ†Í«J&ÚØy´í¬"8 %c5"^Ç‹4-­s&ëø»î¹GÔÃq±ÓÔ‚EãKmÝlu ¶týº;]=¯ ZjB,^—¤€Š††•#Úú±°ÝªÁC»x¸–l$j3°ËçÎó¶XéLÓMv¡„Ro×w46 ÏÅgy¯³ÐºÄÎa YFãµõSAëw]ÛêÀÌ3»ìäÅg¯ÐR­>{òÙ+ÇT^TH¬Ìq_)iâÊ"û~»dx*º[ª&¸ÀÁ¹_'ŠqÜŽÄ€Š {»R›F8è¬BoíbÛèñÀ ØV¸7&¼ Ζ|Ãõ ¢&<¹CØQ VÑE“ñ¶múì‚nGcá %´LQ ƒI;€«¡e£Íõ}.n´ã;Sßié}7¤`Ñ2œ s.±U›GE À9ÏžÄK©H†ð!ä£;¸\|9õvA‚˜óàô-ÀOæ÷ñ;¹^ÂÇÁZ/žÞY"r ¶eh ã6WA¢Ñٲ昶Œ¬x2(tå…{ F pø…•¤…¨¤í§* z?UÅÿÔà?Oà xøÎí°¬_ðJa¨ûs`FeATh’;µ„Ñ4%¹]§Öž›º¼Ù)rʤ–iJ«T•&‚¼1¤V" D–eÕÔHŽ˜ŠÔ{`Êieãs2AæXµ²PÝw.“#¿:—%73âa¨7ÎmGâÝ™ÌRU;oñ(±£F¨Øt$@xVùf¹TMVPºËѹ$SùiOž7,£n#*O¸‘â ÷ÂCÔrI¶ q°U¤¸ñ 2œªìi†Q¹©qe%Ús*ko \JÚÀÞ$«ùÖ*h‚ÿ—…+ï‘ó˪ÙÇ8Y@˜ {b`TuP’kFñ¡EEŒKáñƒ;°˜ÚK¥þÐe°gFrð¤{ïÀ ê«5ßrn}ý2ñÝçôæáRQk‹ÅÒ$ÔaÈú­+:üǪ±Ç&7ÍrW·:"YÊÖs–•¼yMößæWGŽJ"MVškÈ<£g+AL$#ѽmÇÑÚ;éh[1´í¼ÃÄݱušð%»çn‹Yò×õk„"zlÓM#gí#ž|«™¥n¿¯ {ÆßbÂCƒ‚Í98@l=ŒØÔ)%Ÿ.O-]Y?w©±F6ŸÄãÛ»äš:oµJ´•xïEî ¾yóx’n†ÛºØ×—ŒVJ§Èᢡ›„ÌŽ1Õöh3uý& ž “[Þȸº^Jl«óg‹Jˆ»äeMÇð{|ÝnàŽ@½«}O¸é›åÙý‚¬ºÇeÚp ñ¶*µ{ÓÔw0ÙÀgëÞÞÈZ¸ÈD^±çnµªåò\©ËŽ’&Ñsá2–›rå·ÎÚv½Ð7¸&}¯‹ÆÒ↱£»É]³­]P]šhÀD¿6©%¤ë-¼yw=©;›:ú¤]ƒ0:Ö>,¼2Ç6ÚEcc<ÜR·¸”˜Ë3º[€LÖ«Zëm÷E¾ÿiØ[]]6m¿]×L³ÀÎ\ž‚}2‹µsAÑê€æê1­ŠûÈmV›/Wf޽Ès]óô-bg ÝhOäò\L¬[*V´Ú] º‰N÷¤co'’`n`à“6¦·L¬Ã°y]-©4S2pŒ@\Ö]sWÛÌ9þê©é!ƒ£çk$®yp ÍiKZ™ómçz€óÎÜah[ßÊ9r„‰¤ÕÙ8ðA"Žio±"«) ™¥³Å³[ˆjÁ€&@xf)2˜ƒX®ç²¶ª”gîr †z`NIäH÷£§9†¹KãÓæÆ#áIƒ|¹Iw#kÀÓktðD{!ŽžH¡æ„õ˸µŒÿi×¼ 9|ØÖ›²ByDž šÂqç®ÄÄ%œ1eõ2J>êËä$~PUf¾ÌcXˆ¥8Û&LŸboºF« 7w‚¢F¼LL9º¦ΩÀûE‹~7“+ °†ó¬”p!…EdÙ{¹¿Þ’æ¹âp³S©bxj¹’X‡twWXÞ|:©ÇΠÛ*¬/ˆÁ°{†‹‹‰ùäV¿Ä®ÌKO00L©S$¥\oòM®ªþtW>¸òS–‹¬–0±ßsöâÜ‘ \‡÷¥üªMâà§)*Ÿ§Oó5â)Ød*¿ñôkÒfDF6Ö^“˜¸pµÇ ž­êèI[Û„T¨«ÓhÒÂ2Á¤Õê»f°) sèKA)b¤…™B×a¤è¤ùà¸ë ÔŽ EAܼ”lL?‰"w¢.ÂP / ¥ƒE4‰ÈU)ˆXfë²K=8r4f^ !û<•oj@Ð1K  ’üϸðŸDštO]†ŠôƒÆ dvN%G”Ûéþ/fRRtà Qœnǹg8"ƒSw©ï ÉzÀXœç¤Œ7Pf6`aî"¤aÆEáAÏœ2õN|Ørù,hôœ3ɘ‰¯ eWéL“!ù9¥0TG‡¶!“q S6M•À”½*„FÙ%)Rû,QP¾™ì;¡€Ç¸t'G¾Ê!ú{\52å YàŒ`†•§)d!ÓA20d2O¡îõ…J6V±Œó‹–v¿u†ÄüY1,4×íü1 ÷ó×ß™¤ar8Ê›½L‡øk„8ÀüÐX.#ð‘ xX¸BGɹõUÕ!qg¹4xùñË›ûhõ]Öð/éf\zÁ{ty¸Õw”Âúüô\±:W¯'ŒÅ'5ÇÑ9ºo«kÚÈ{ø4šôÃ'±VŠóós3ÅJ¥žLbÕî=rädezv¦X­Tg·~§ÑõÑ=ñC<ð.^Éùê.èØyÉ4uÕŒ±Ï‰ºo‹oÓH #.VR ¥êÕ6å— Õ.fä!ÈŠ!¢u´‘êOËCHŒ¢„„Å‚Úa$£R5°}•0gæç@•›Nâ²®j&p,Ê„á„Tȹ=~Ë™^&–ì( Q®ÎϧçªÓ‰I,YmzëºgL ÙÂÛÝ-yüÊ~H›³sõ2,DuÿÑZþ0Ø™ýÈΔKw&ó4wSÖ!q6ì¶áêr"hä× ŒÖ×Ls·$´8²!—Sð,Œ„…'Hü UÇùÓ#HYGçæ: Ý¶Ï!k;Ž(èy­·“ðßs~s²  ‘õz’¯É¤¨¨4)ç/âÂ13gô´›'% G:WæMúñO+Þk?bþÍ7„ø/„΂EÑúÒ;Q#¹T¢¼ «AÈÀè•@ôE‘F[§êcŽwë ·–¿ãÈ®øZå_M_v¸ÛÐ$`âôÊq²šÖï· ¤~Ã×…h±òNx‹¶Zßå‰e¹ñmX¯MtŠð,ÏeWë©._Æ3•D>/ˆ @(ƒZmÁ“óg‹dû:œëU©Ål‰ÏI‚G¦IE•œ`…>MIŠª”æÔ3÷pÎNÏT±ä’%ÜÖWÔ­ú ßWE­%bΨ“h#¡ 'õƒd$囹pU¥ l³ˆþà½!P6íã7Ž˜£–RË+v<„#‡¿½\3 8É>4?—Ðð=`ÿ<¢<÷ñ8›A˜¦W…ÀGùÒ¥©Gu{€ä\™*9¿d¤åHÛ‡¢n{À~ÉŠÙCR«% d¿FñŽTèÌ +-ÒuºOb#°•òËÄe©(L–]ôшŸV5¯›‰ øÞP·\ö\‰ÄQ @0Ü&*å‰D¡²îvS4[ì—0"§¦ôJ­¨¦ÌeP9²·€0Õï-7fЊòVõ_4[—M”=ïkm`ÒJÉÒ4#й¦æ€)J¢ÛpЏ±‚ ²$J ¦HkÓÌŽû¢iJ(U¶&ð“óâÆ€vˆ)Ã\ú¦ÏñeÙ6pí"™œƒ·°ccu00¥éбW@®d“«Kë+K''ÃŒ3Ž*³0±§ãØ}‘‡e‡¨¸Hp _ÝmÒfš¨w“†ä‘b³JrÞ‡ãÈlåùÇv•Òöbc2¹+#|SiZH4=ž¹KGé(Söð( ”œQ[¨T3¹ÎkÒ¹NÌ|³Wl×ÑØÉpÞubz  ²êÇ5^²$~ˆÇ“둪nRÜS>êŠ'óÑ•±{µí›±œxHOïè-Îë ÅqÌÓiD_±í~ ð( µûÅú’âcʰv„øî T"ü?æõ‹(æ L«9g#-ccUsZ>…ÑžÕuÓÒœvܘ@Pï¢c4ªsݰv—×)â$  k [»-Žñö$‚˜·È†4qãoÜh%Ÿ}¿1ÝW%ÅÿXl7’{ÛÀœàå#~BlFÛð(ØSGùQÀ ‘ßL§Q‘§mm²®æÂK„ä· ä=28ÚV\¾{.âÃ[LÇmÊLئ*cy:p¦‘i"|F:>±jSÎ×Û·N·Q ·£<DF–K•jiþ˜ð¢©ì#-Æ1 ñãmI@ô˜Ê]M~òRÏpEª|Ö€'ÕºŒÆþjP,bŠ;)K…aðP2y")‘o±£iûŸ¶Îà3À#ªàÄ1yÜöeTeö+"(Xûy’ ¦o¸Æè´+¥ÆhT¨¸Qµv°—Á#ò“VJtoåÍ_²âÇ£œz >Þ¨Œw,h2ÊÕG–mÓö±Æ™°È6ó4ý^vç¼ Èz€›Ì[GU@,Y?/®ö…Œ|õÝ~¹¼Ñâ•õâr8XX(6lÒ[»Ö¦£EÊuçuDTê•™b­^ Ã’è^Ò+•õ0¯*õA¢‘.ɱ……?«/‡2UÞÄ7 ê$±“ä hËÒÚú$}ÕÍãxV8ûÅ—+¨Nï™°G@h Tê›&bƒtæ¾Eû„ƒP'Í]Ö³áìYÀ¬œžêïÀ$ýåÏ‘–>u3?6¤y:³oJ·ƒ4¸Sõ^‰>Øÿã@ôe2”ûÞÆÜxÔèÏ­ù1ÄÎé$ßþˆb3õ;uò<ú.š~¬S†Öq4بÌS¼'0ê;¾i{Õ¸„¸÷›U„+€oÙ\J¶a®çbìp_3‚Æ×ñ ´'DË­´°*w8Š¥Tœ-cK3h•R>:»ä£ÍÒ"l¡õÂ%ì'7ZÒObZÐù*]% ™«þõërá"—®ÂºE/‚Pà™WƒÃ¢|½ZQ/¨Œ»Ð´sµ ²Â¦ºŸÒæø–ðå>u΢íèÅ&N\/:OÕR@®óAÌe•À0áŠ,é+„N$ƒæ˜ÍL©å—Ë÷LnøOs‚àuAٸاÜ{B¹÷ñÏ/JáS ãÜÆ˜°öðÜ ÀÓå¦Õ°'ˆÔ!/7ß#ð:ѶƒMNÅ)·e÷ÕûG~b §?$~îtµ)*™%ïòx;^²bß0«gd#€}ÜÁKs)W3ÌN¯i𬥠­EFà‹+ÐW¥ÔñâòtñÐ[ño₎L…¶wö{Ú ø¤$ç·¼þµÝÝE¿e–´VÉßL}â.-‘tMÖ•³%4 P¥Â˜eÀ#Ö^VVfšÒ³e©!¸?Z•)J‰ß=âÉ,Öœ|àlwIÆ'NfTOœn·u³éãÉ7G»§Þn/‚ÔahõÌt n¼j}5üÑlk$G(*¶t×Åt^⻘i-óžÏøÖ?qÎv,#Qñ¦Üò‚oº°wÏûÜŸ‚Î’è·´åh<8mb©/Î {ƒ_‚è^¢¾Ñh®! Kƒ ‡A3p…; ɱ›1 c)ÚO­\›/–g˵ˆö£<ë;€^u< ƒ½&NiFb…XÆí’»‹²%<~R­ŸÜ–‚ßõz‹èç*µ,Ç-m8Yë¾¼ªmê“%vÉb+h­ãŠyOk]Z›$tH ”-ƒ´:æRÞGbÀ‡§¡ø‹=Z«ŒÆz²õÃ7½¥D` zíFùd¸(/sü±#Ò¦‹Ø—ÑI>gX ‚.l(»)Ò‹A£³ýN—6 ·7Ùœ¤Uœl°ãOP])íLâ$A½i6#˜¡Ð€ëUãkuaDÞS„5²§±;“ªÍகL߲ל¡™bhšÀzË[mß%_xÛ§eËLžn 3hÕe§$ qÔœº¦>Në­N/µRE¦N«jv‡¥¼¬\¯$=9—^΃KséÚ zEžˆiÄÐÍåÄ)Ø úN ãÄSË«ðnS©BeZDh¬}º&Å9!à@§ S´Ž5Û«Â9AÕ0™¿Å…N†g¨}r ñ†…h(cÚŠ|B¡U£ $RÊ_,*|…?‘Äĸ¸$ÑŠÉ$<³DÆåÜ}¸Ì„ÀAqàB#¡BŽ–C\àìl ÂH \á—q rΧq{é|nL¸±Œ‡T*”Íñxü6dz¥ƒ¼„`«MãVK5 䂯FøZŒBœ_¨–G­Â²Ÿ¾ž}ÇICƒžßhÌÎÞ—ª½- /We^Å‚Ç}Ǥ¤§„ŸûX÷¨˜7ƒ•DOlkSœðKø@„LŽçU€Ã¨h²ÍPó¶EÙ@O×ræ›L`•1,“&Q Ô`Z[ë{Q)õЧO޼$+„þœRV~@øshQðÒk&_ ­P(˜"ºÊ]Oˆ¿±ÈrAé D|`Ž,òN"uC©÷1 °e["º#Äsy98.õ»‰ s†%ò… \D›Z3^6Þš"’µÏÑeHbIBh|UgðT¼.ZJRÂíi2U†XWQã¨RLñÈ0âX'ùçg¦eA—6tüÌýDäIAe¤SÝ œ‘Þ¼ò/QÃþ‹QòE.d¥–É¡Z²ãYäéXFmf¡:r¼å­åÿr®Ù2?$®>¤£T-[]ZS“àÏž-ÕŠ3åÄç¹#°Õ_î~´¡o-°ÚL½ÂU~›âd©.kš‡Qêaèú€xõ;EU åò›Lôß·Ðãk’ßD®Ð‡o|à×Cã|¦Q7½€ê;—Cƒ,ÒôKöNh²?3¥¤06ñ¬nQÝ’¤…5Ö¦rÊö;¦FæõUa^G“ÎŽÙæcÏIÄ¡¤È,i <Ž08[«ÌÏÏ%o²d6aït=PÚìYónÒ­Ni[„';qÆpŠ7öô*›ëG ÒXm çpuâ„%°¨|Ô€oœëÄ*âXB¨Nà+khŽÃµ.)^›`GëðWÈì ¯åj¢ÐÎSkâ.ñyœ’ó@é$e“.K9Ÿ)F”Kk§<*j§loo—â[tªï7§ð¦u•åµÇñ²²£U&•2‘GBÚ€nèéJºÀψÒüCqSA²ò(™p±Bã?lµÄè@„¿Ä̰٧í1¶Æw0“ÛwhÚˆŒvaªJþhìyާÒusA\ðš®s utíZ¢M­&1 mâ0p#òÛˆe9ä˜<‘¨:šÌ£È–”*ãûÅë_œªkx¼FÑxcvrßMdŸ*'“ÆÞ‚?=g;¤=ý*•TZõQ²–CsJ‘ 7|“„i®Jíx¼¾e$›Š]A§ç[°wÌ]nËÆT?ÞI<7¼)®·Àz «`†µÖòF¢ §»‰ºLøÃð v‰››ÔíúaBZË6[H” Ûˆ&„€Lº›ô ÑhTFÜÄ xÔ@LÔáþb¡íçÅà(W9TâJ1—0RÓ† f+fj‚÷SRå‘+š ò c×¥¢0Ç: ÑMc¯£ 9Èòû=ñ¢¤ù8Q±(²Š°Ãua:7a“è*”@Zþzºš§Òü·fÔ»ŽìŽüÚ]0ß´¿bæàüBm~¡\UáS¸CŒ^§Ðódn]œ`çÐÒöQ'|É*|³ƒÙEp¬FP÷îhi $ªåÞÉΩRŒÇ–±)k°KM‚VáìB Ç-vÙý“Èêyá}·j–VJÝ´ [Ÿw+1Þ%»šiôr¾nL},ìéÙ\®q—jD4¸Æ¶ ßc6MŽ…ˆp/Hkp;„§‘·m‰ôÄËå ]À <¯$Lw_6<03'þ ¡atüP‹è>q€4×l_ηE¾øòÔ-ôÑê$œbƒ1ËÇ›ä|‡i7Ýd€^³ƒ^àá_ijí« «6ÿç´O¼2¥}iP×»ž úéO{ úÁ¤gSý!P8H ƒÕJ–_G¸ÙT?)ØG%ù!ù×I–yñ6©¿}nÄÃòs:ˆ;<¨ x—«»øÂ1øGùéµ ¶ÆdçÃР$©F²vüúŒ(é^ÊÊ œN™?hŠËHzÊpQ}V˜Ž‘ùœœì%7ÊnÔsÖÈg(ÛeOCÍO㉠{›<—YKæ^–#êˆÍØ4qÛà ¹c~üíQ+Ðó€ÄBæ «ïE³ÅYƒf$X‰‰D.H>¦†¢Žº]XMð”=6Y`Mß ¡õRãóøÍÂÂD8%Ž[Øåµ~pj¦,\ê¡T-oÏ”"dâ­aØÓ#0ÏJfz¤m.˜gõéJã]ÌsB+|8„Êã‰g­™æA8.Ëó"ÙÊ<ˆ'àè¼|æ¥dgäs¥ ]ãä-Í—Ëeå—DôY†T“&¶%ªr? eMW* µJÛD»˜ïheß³êÅ”‚NVÆR ð0ÉED†§6áå”ô©÷¤y^iˆ¨{7ņ:Àõ)y:·ë“4á*4i0[&z0]&Éõ™”n5gèУAbÓ°¨=ŠU/¶µ0XˆŠR¢L³·7m;QÛ+Û­zG¥T+ÖT1BøÅ9x(ôZ.YݤìƒeÍò¢©(<èHŒ†"6Ö{­Ų”ZZVº@z>P¥N!„Ã3z¶L¨!£gpoUxÂ#Ê,AŸ¡8ÈW…@Û’S™ŸŸ/‘Xø4rëJg`vf‹ û+i¬ÁßíúuÍÔ³ó7?TSô§Ç*ê·K†—öT=ÃB#‡ßaTâ)é㜊MŽÉ™±ãé÷På™õXqhËö"¡U°’(i1­.zŒ¼)Rð'a£m´yGZ[UÎx!à »AæÛC3L¿dÀˆ°zðÃ&扟Ù*÷úÓëd(Z Ë(N`âýR‰-—È1çŠÚè§+±gKìœam"s; a¶À–¯\ AnfA·Ãó@žÄQèd1:V|‡«3N*|°£—ÂÑRGQßÛ›±ðu%ôAi|:‰²¢rz†\±Èâ– CI¹â-qLÐj-(Ô'7•ÒáçcÏ›ˆ)O!Ç’áádván×ÑÎ2O©IžgYG+íxDC±•3¦¾©8«U ª—*•,1d:гZ§â‡Õ…éyQæ`ƒüîÛRÉí‰`˜{VA2ÇÈÞÛ—ˆœPJÈ RD@•.Œ‘lp¯2Ò!­iXêÑ;T)Õ‹ÓI 2ƒéøª€Ø4½&&Ž­búCÛ&áR%J¶ä8Ú®zâ+ëXYð2j4ì¸Gp ‹Z«‡–Þ§E¸I £@07@˜ï$BOß8`€xÓË©õÔ©i45ÌŸ³1Ï È<æ’áEÌ_ãòèÃåu‰L™9çy²…K&`\ú *4ú±¹ºoQE fÊK=¸ J‰î“Ó(1Šûg¡÷8ôOjmÇîƒò=©¹„?O7Ö°FÏÓêiÀEQCD\{ƒ’ð[ÏIlƒ KÔÂoƒ°nü¦Ê² øÖJÊ="º-]s óÀnÓTðPÜG³„=½P­/TE Oëç qÈþÕ º+s eu«f¨YÐzº¶PËŽ0½7—é9Ås˜M6MߨCí‘8ÝjXDbFB¸c%•kwÖJ `Ïdb)WgÕM™­á[x¿p:.ù¶«ÀeÛìôÆùå0Ò.²Ñ¹ùø¿GÐl÷Ã߃‚õeÃB¹/Q`#Vê]†ãg£„”jeb4,Šachßlæpk𱩑2sJo6ì(@êpÕìÙéz_ãeV`hgSKfѧ 89àéók——–Ÿ’R"k;:ËÅ$±dÔåš¡‹´ÕÆM­×4?$LµàwzZ¶’È«N<«aÖ­iÌ0Ïù²csР|£_°»šeÑ;žhhÖ¦>hÖ[šƒåˆ=¸Gÿè±ä"kÕ:Ïø T¹F±—EQŒ„$ÒÕ¿Œ¸ •’߇ա'¨!ºí ¬¸ZîlùŒáÑ‘ÂÒ¶¨³Õ|×5È¥·0½½‡+UÔÅqëÑqË`Iµ4–ôHzXv‰ˆk¥ùkÏõ ·U`\eY[Z£û+Rô“tKj&¿{ƒ4#ƒÜŽL‘åWZ¾¦QìêfqP›²ÍݲâƒM5”)Ïñ­Í)¤™ªQ;#ìHLV)/Ôf%ªKA©qŠwàDç˜$rA-aIÐŽE£]E¨+oR)^»˜(ãäH¦¼†¤‡#È ã4&Ñjš#‡Æi‡l%é¿¡ ²Q’ÈÚÔ‹vÙ>ýd‹Jèü3:²Cü¸‹Ø“×õXÔ–òZ¢ç˜O;½#!žã˦ò‚{õÖ‡x¥“r2rdEð*Úâ ôx íÈ"Ô0•P5K+"WÒê}W„ÊSZÉ_²îû!ÑÀD\¨•¨›³g$%¸t(«7®¢Å l©ÆœôÕó«§&Y'ûÃY¹öq%(J)€;}ÇЩDn ïã½éµØfêÓÅé™™dé],[éð`\ŒïO ©ŠuxfšéIn‘޵M ·õÏúº‹©¡èË¥Uò`•¸yR£,|MVª$U?³­;Æ–LIœÒ½Ö¾ª„Ú0»rñü;Š4¬ÀâH¸gÓŠNß Q¹ô¦‡*-ôTÊÞxt`ãt·kjq^Tí7óhÖy èÛ²p¿Ñm•Ö›ñ*¥9À"E‚%Ðî`|kD°(h0Ü©ÞÆ7„·>ß«#íòÇœ¦ÂK™Öyƒv§±âG&Cx !ì+hÂ@-y Ï2 ¯úåD=„„ÓA¡˜èíýînN4·² â"û\îîš6ZÍ0ÀvITÚQO)áðÆ/¼M¡äK¬¯EôôüiKXÛ©—»¸ ²<¡u%ªT¨)þ ‚è<«ñ”aYˆ]@ã8¥6ÿ:5àØpf0WŸ£UIT…Vü×ç—xbäE> ødâ/‹ô_ .îñÞµ*ëòte6¥2©$›«ÆfÏK×sºôm‘@jõ\ËwJ3®<´xbE`.´Å5S´x!«‚ùPžGP™zµ’Ô9üàÒ š¶ÍÕÆb“6^?ºñd‰'‘©s>¶¤äá˜<¸†¦‰ É»ñÚi:ž¨A]°€h÷pÝ€hZÏŽäi&à n Tïbh´ÖjÙ¾€¶ó5ŽÞ&¨kô…µnµu¬Y`ÖÛB«¦¡H—•:4¥%Ô€ç!OÒ=Ö•‡«ƒ²~Ç6–'ˆ°óW–&ƒ§ñaʦS4,S#%‘jšŠ6‘;"<ÈÆInBå×úza펖IsŒ ,Õ¡}@ tƒ [/Œs0üÙhŸFK9tÙò,Ûé¦qUiBÇ|øß%§§µA‰T­Þï ãµúúõ $h$ ‹‡}õ †ÀP¯¦nµºøsaWpyu¹cöpšv`£À_®Ù 1Çá<Þ:·ÔXÕ ãŽ£ŠÌ©dËò•Êã ›CN0•Š2&ó&Êi0cñ©r]€,BÛŠï®"®Må¶„0nšyÌXª¬LÊ,@õ…ÚôB]xÚ¦*åý¹à8 ÙM$Œ³&øG¾z’1páxF È5@@ÝeÍP"éŒÓópn’>³#?&x@qŸVÕ[£ãO%ôy¥Î`Ñgj7 uVÊ8He=ÓÕl©3£èM„êJ)¢3, 6Kì#`×@y÷Á¥6¡ÓÌ«Ž”G ý%Ÿ6DÖ%â2‚ÃiI=r4Tú±FW¥Ž½¦{(†¬Q1†©¶šà ¿¤Hµ+”ÜÉe3ËÙ!]^¹^‘ÎgÿfT~ßçî_bMXcØê$Ùp*’Ø¢éØ2Qn2(—0Iaç\zÑ6Ñöà1]swQì ÀfÅPð^7£µÊ ‹íھ𨦴‚‹@txGÛÚ./o†–‹F`Š„ŽU™E K_".^Hœ£×HY kTÉ •+9sÿeÃl…]†¤2×ÕWöùaPº(»Ž’ѲêÉbê5Y8m\^©Së§`‘‘´`ôÏ碬 /¤±°(:F¹Åe!^ìÄI)gŽ•Òy‰“ ÜZF,U¾I“/aïùªyd×cÐ\Jp}6 IêŒbx|`}JÍý~;'Œ(†’˜?R‰ï7Çnp\!G#TøæOTÏ[Þƒ÷¨²  µ=¸n]ì¯ fvQïŸÃcê7‚[⎶/)~õÀ'¡‚Çk/<͹p LMª¨ ‡j=ÃËHÀ/° pÔ6Ùºï^ßµÜM£@ÊØd'u«ã¹.R¿5£g[ìŠÓÔ,T;¬¯hØìŒ£¹-P9O:èþ\Ñ· mÕÇ8-6ìMÝÜ- Ö1úW}½kꆫ[Ðý0EèMÛv w˜ÐR`ÏùnþS`o'‘þ>®w Ý3~É‚1 kg`´ºðÈ+”2ý¬a@F`–›v! Vê­ÖÙ‹O=gä$(4ô\?iëìí¾n^³âœ‡Ÿ×|Çoéšw&¤¤S:<Ânƒ3¯µº~óBÐÇóy tbKž§!"$ZCp–Ls¹k8FËVYóåÒL©–³(hŒJ”'†¿s•t-;:Z}ð,i žÓ`uOÑ~âØ› ÞïàÔùt>6ÕÂÂÞ“|G=6ˆO-¼hÙ…›Œ³vx—XyX!p4tóLöÚÓ)èvµbE~¨NÏàÇ–ÓªU'a©'wvp\¼Öóø¿üæöm{sW~kš —Õ‚ž-ü=k ©É DúZ©ÎMŽG`ø¡lÙ3xÙ:éx@Å¿ÓB¡á|‚B´ä@ æ3ñM5w² »Wíuü%à…Ù¯‡Ô0†`evNŒ(¦»Ä.›0ÊÐI&@Â1? ›ÍÃÑ›:¢o›ö®Î¥Ù–³Û÷laHb}ß(*=s8{ž‰Ïçè]tºm\B)Fa‡¨ëíc²«D‹gb“—€›¬­­L2·kûfïÈøêÆ~6EÔ#ÛvŠoŽÐ:Ó†]ж .¸¢)aÆ+w)æ»Kº¤Dé¤ÀâJ‹ÍŸyk»â¢x]{= •†÷þ9Ã$hz±êå…i!sÁƒîM™ÙSlETè©,LÏêJ‹³ê‘)ÐaCPn@RÍ#ùä¡[6¤uœ8Dû•ïFfåò$ÅÌc)$k1ÚäÖà-n(m¨ÇªRªsÇÂüç‘=“‡qžÕ­ëé–D¼"'Ö&Ï/Ó½¼ÖuÏõÖj„ jl«Æ2Kùú‹X5rÏÏÐÛ ¡b$£V‚3«§ÖÙ€ ‹èF_-Е ŽCýN‚p4$ð4Õë5S¯ç*sÓÙ…Vä‘n²ªé­nZéªaÕ“f榋óó•röMÖACòxù¤s6’+Óø4$yPŒTè¡§ƒçZ)ÎÕʈ.6›æüc {ÑÓbEO BéÁÛ4AwBïÇó>°tƒ*§ÂîmÛ=`ì[ØË¥ÌRJøC~­KlÅîÉ4º6fóQVEôVA(+w”QÿàZËÆì ÇÅ\¯žÒ·áò²»Ë]XKws—mh”ÂKôÒ°V‹ ¤°Ø!ZÉ"ä‚ l`:% âŒÈTµ¥™E$´CHÓÐwPÅøÌÙ²gì ,èèöF dlŒ* MgBÈti¶¦òØxß É²Ä–XËÔ\HèÁÝ—A‰“p=|ްÁôÅú’{DJŽÌØ“‰’p„/åÁPKxÓïjd†ßó¼ƒzƒå÷Na„“:Z¦„Ä”¹Ô(ÂêÀL"r3qDÐeqdÒ.? Ên¾„$˜!ý ­5DbÑ×ðb@BÒÏð:'‘p1Ú_@Æé__ÄIô-wD$ŒIú%ãW:Ž¢%RH ˜¤N¹†HB &ˆF^V„\$|XSê˜ÇR¦‘Ãjë ÕÁІՖ³E¿ûG·w L³ÌE58•2ÛRö’µ0Í ‰—âTaȪ;E‘6—@“¶CYùeîŒæòDŠËð~(ß}¹«aFœ1îyb—yÍ)üxFk ®§}ÿJ ži£ðyNyúŽ7eižï•J9÷…ã{To_ù”«c)"üí¨^ꔸџM^Ö1É]5ŽN,£(î ÷%N¸…còŠe B:I¸AÒ~p,àØ|–"h…ðÌ9zjô=žš/]mc¹° ²%UOíc‰¯À/)=¢Ýy’Œm;r1#!SÍåݰl{+¶Ëï2©X˜ ƒzšµK抿Ùåa4*²¡Š>oé–AŸ±WQàõ§p¤ÉóËW&ÙQªí˧oÏ–m 1¾1Õc¢s_n­åØÀ­5Þ¥MUãùLaqò 朲[~hˆâHM“bÏN2Õ¯3PÛT~"˜¸ÍÁ’’,:•:Zä›mwÓ “åïŠGB6R& AgƒVì(Ï?Þ¶ P¡K•¹™ÚìÔ5×-mUʵ’Q®&cˆþÆ›¦¦È6²Sè{3Z>ÂN}yŠr·4‡›:XºäAxwõe²kÌT Tp_ŸÊŸ2b(³ÝuD1£Òn_o\Q]‘wpSþ§U2TGÞ‹m?4¶¹6[œ)WçžZÁIÐò 4Ë—p÷´ÿÈåê²£bíDuK²Ï{’:‹ ]`ç­V)Ö‡¯h¤GxPC’ˆAh T×m2ñÇ{xe1¾T û3oXù[BªŽ‘/Èä§%ô¿éð1H U4>!LCYà&߈‚ų=nSys¡G5.eW¾‹Æð 6AÅkä)ËÐäìý‹ ¿WÜùªá^=simíp$1!&<ƒv"—¾rñÍKì,¦Îi„µ‚‡4 T†ÖY)…-žn=¯ÄÎŒï2È€1$ºº>;= ‡möɈrQ_¨Ø ÈþnÛH$kç¾OµX­×ëÅzµšL'J ˆâ‘™0Ì=O©R¯ÌkõJ²ñ¼h¿Ó%ÃŃÃÕ¬h£ÑÖ|v¶X®Í%×üFƒ”:K Y,¬±­@AhÄa(Ér é¥BPoŒ1êé èq´M¡`{ó+£Ç ¼6x‚JAøIf¸P ’væŽ ï1Ä…“bYù™0\H”ÆBœ«cCU5ph\ɉ/r,¥ ´Gü—y¿1S«-T$rfõÃ+Jóm ZÒåq!(Eƒ“f’bÕ¡kx©Žm÷ ,¾yêäyý›¸^"̨J‘G2Ìz\/­h]û1 ‘Áá© ÁÃÀmfí¶6‰Ò­Ô è?tx´0Ω±º»ööø Üë8:ÿÿ50\JLüÙfK3ÇR¢¦Å:8±®TLд°¨J°=à~ ÓíÂ49ô'vh0T"†*wtª •"=&­/•V­`…!YŸ‘þmÎ â¼ãÀÉÌzCdÛ€òsÙ–“{Ðú|%UáßjøV&&éqÒütPíÉe‚ç +H,`¤ 15Ôì¸ÂwG²¤Uf)¨ûF,iBš[@ é¡‘á11ò%E6(&lH8Ù°°õ—SÙX"ÎG~W.>|&Lù’h(M¬§dISiÅ qàÀHBnž’Nû#ç TOEš\º— ËËKPcêhs"?R ³EÒëú‘µFQn™ ànŒ.ˆ-JªIï8.ˆ¥× ¹cÚ¶,‰QÑ%±÷„’Ø É#éqÚª¸EBQ\ ªSå£Du“‹Bí@*ƒ2wŒÖ" ß6ý¦c´prUJ)G¸¨Ô¦òþV"%+w(÷›Ò…•ô$¾|2ËhòIyŽÒãg*µ…Ze|Â{Ùû$Ÿ¤ËÃËÃì_Q0zv´wÍ‘glv¯åahðªõAž±ŒL¯[—‡'òº2˜zÜzµ,þsˆ¥sº: *ëUÊxwº}̃N0j‚ÇU÷?™•k÷Hžlèáübkt'¥æî2X$nÿŽDùØãMüÃ1³%öp¶dœà‹¥°íq ¶.ɯ‹-×pì’æ«'ºjÛEßÕ‹p©¨µÛ8õ8>™:ÂãÄ  ’ë±ãN ²Y"œ:²4ü%D¢Tˆíó¥QYù½—EðˆÀ0VVÒÀ‡“ï'0ä›uDTÊ>=÷ÚôªtÚ¤£\rœ~Œ)škp\f%اóZÉ*oÐa½O}yW[>T-UŒûnYɽœ¡{]¾ç&|Ñg-Ÿ­µÐ#kl-`§4½x¯ëñŠQOµÐ ÜäVàgJl>xÝ §@€GzŸ”ÎcÐSOMt©YÉÁqb8Cå¦ç窰!+Ù‘ƒ|ŽKà퉂œÐ8ßÇò)A(îõÔ…u0±a‡f@Š;ðä“ð" %ýŸñdÅ€·¥¿ 4ÈÈ §&x¬Œ³% HÁvä­ºv/(Ì{qq<ã«”æ zÅŒÞ/ã/Ť´·–ð!¦Á^L¤¨t >öTrw§)Jt%"…Ì}GÊÓ䎶 ö—9ùÎbbCɸ¯ô-Ä U±,%Ù!¾#Ôý0@ܬ«u,šSË0±H³re¡^…–¢È;i,` ƒ`¡ÞÚ ˜ýûr±E‚ ˜íM!÷),bÉ6‹ìî^•'÷‰«TKx,F(C{ÄA1ÅIÖÈ™úÔäO @B Sß1ðK_óº.Ç0ÂÅkꦽ̓¥˜ .9G+šÄ“<5Nþj¸¬­oÀFncº”Æä‚ïŠD.†À•íÕXKw¨‚.l ¾ÆÐ-šfx”µ ¿E›‰ø4šÛ ØŠ‚“¯VmÖ>K#óJ!¶¢Açn¾‘fi(â…å‘ÌŸZQŽ\wÒh“Û‘t6•d€¤¸<Ͱ0úìBU” çÛ9h΋Ç-§¸Rr!áDü)ÊÊÇçh$w¡¸`8:&€—Tgœv´‚óê÷Tûë¦Ä33Èšò:õM%ø¥s°1Ÿ÷ìÝ´©¬*A 4íüã9ºî†©€az#—¿]‘ ¹´¶|FÑL‘Ü·…Ð0 IB—.®Ó1*€€ ôhàíR6I]â­I‘Îf.8Êä~ë ¶£P¦‚ýN,;‹äèFÑHóQ™Xò“qÄ39røq°q£H„IjŽ–/У 2»u>¹ã2lºNØæ2¨ªâeB¿ -e’^R«Ö7BZê´Ýµµž‘nEÛå˧¹-ä'|Æ Ý°1 ¯_©Àóë-£°€‚Æ74Ë5púºçí"V=†„5á³"¶ ã K Ú%b¾”‰ìo4Ô£‘ ¸j•ÐÊ2¨0§Èqj>öœ|3A»‡ \JÕè'¯aeªš ˜ –#EFóùO*ó?žÎwF°R¢_y–*8ßp¢_en¡ž-ü¼î–3" ¨z%4j/N1$Ó£@¤+7‡el©rýMKìŒíÀQi/}]êc"¾Íò •” ƒL!%Þ©Htkž¾.cXny<‰H‘B@¢ßùŸ&^/µ7S¥:c²Â¡'.Éòï¢"<!¼ ¯/ŸT•ÛöŸ=zxuÄÉwáÕ¶/ËÓ°ÆVW³ ·ÇÑ»°Q0‚›[ÈâH·Ý¯¸¯Ø¯¸ÀÞöôÛ„¹P^ƒŽ¦)›ÃdÚ,ø ÔYß$…^rQà¹QµPò p2Q8˜ Û•hu²>Â}¯cTÅA¨ÜÄÁ$¬b_± Ï¥àCAÄ'Ô¿‘‘"ÒGÐõ+rKx2JˆZÞ÷R²¡cÕs¾Qtþj&–õ–Á¬I @ÐÕŠËp¹J#Km§%»’;QILƒ=€ŒƒZÈÕiˆ»±žt7NÆÜÙÎE•¤¹o{gâÖ7ÌM[Tè§ Lî*B3VçYy~¡V_¨ÍÀäþºbD¤àBÆÐÁäEø¯ùräðÎ6Ç*ó{K*¤÷Œ¬´&µ²,ä1¿×ðî™bµŒèIÓµxsìÀ­™®µw”ïÏUïÙ! K’àŒ`a:Üßì­A¹þ6 ×áyW —‹{ÃèͰ†4Ö¦ø?ë*îÀØŸæHÉÀÚ/¢,9ÂpnzSìV7š-ÿc„Fd“£20ò4‚²ˆˆ8K®0\Оw\àÞò¨=PKÄ?´}7Ä&âH†–ëKß'2ïËKëçD8:>öAõî&£¹Ë\ÆE%ÌŽ,>£›FžÊ´kÈ]šIä•Є¢ vtè`C,%Óꫨ“Q$–ô®fã“i bÒhÌ(c¬ ‹ 7(H£ˆ´…ðÒe¹Â€„4å9{ÞסG$eÂä«`¬Ì0;C'‹Ç†¨ùáµ6‰Ï¦y òÔõÊlT§1 ¨^²ç_±|®rÝ€%{»ïm¨GõA ÆµŽºZˆI˜ä±U5 öÀ.gG•¨`O— G–§/•axìe,d1¡üœnÉ€›+—ÅÔrå§Á·™3‰ e?•àÝm¯•X™ˆi#$-Çû>ñÞ8X [—M]ž†Œ£´¹ïFÂröŒ/ü¨D",Á¤ûHAÏÉÀGñ:|䣂b!€l.p‰DÚÅcK}Ò¥Í`GŸB¦S>ÆÞ›«ðVßsZ›}Ø‚ûâ¶MÂék^·h¤ ˜”«ôHgæw5d´P‚M>ÝÂj&95åhîôxšáÕj Ñýc·ê1ÖN(V«èP¯×*óBrMqŠÙ¥£ƒÑS÷‚±Æ±9K…Íþž`³ þ» ±»ôÀÕÊA•À 5Jm./Lg[â_ ç}éqÚ!…(‰L QºGîp¿il¥”‰xäYžl‚…›Oªå"–OQ5":”•‹ãÕreš²¢ÔãÞ9[ÀÑxÑ*k%ÊK 5,qõ$Fw‚ööŒŽÅ£8÷á5xàâR[7[]ƒ-]¿tß2&]6ÙÃ'ñ&³ ÞÅdÇ›ü{i“¾gKÆÝˆ {+\˜Fh.&s¶(í OÛ†dAO×v„Fê¦ZVVUpvÝšGS¸…xšÍ©ŒwÊÂ÷A²üŒpõ=ÉDÏáD9n=vU5¾;OáÝò,üŸìuÓk4•fÝ3:ÍŠb†Eå…œ©Ä"‹¨Ürâ¸Ø#…Yi}U½¾mº”(J)£àÊóÊ/“K Êíb·½Á.GjÄs9ðô–múI˜Îñ†…dN£Èç.¬ËÀ’ÛQ̸*ðÄ…’±ì]] §]Úp†¥?£%z¾Z¬Væç…Tø ±®ù M#x:ÙþÀa·¨”g`ÿÏÕÔ[œÔEÉs3j×mxœ|ÎV½^S†¿`»:—îO: Ííýµ¹ÚtqB]" ±Ò:6™M¬Tâ[ÞÞo37_)NÏÏÖÕçðMƒ¯&·õwz¸Ål±R­Î)÷8gklMÞÅ·­ì·ëÖÀ"‚N„SÛðcÝ΂ô¨ðé)£mìýÝ׊åéù™â|¥¢¾ØZ¶Aãœòý>߼•>…Åï¢É0£M¬Rœ®ë•jE]± 8Æém#ï_2-¾Dg5·Å DŽ~ë]»§ÑŸõq¹Þ 3 Õ¬V†m3;­Üd¹ë®góSvN7š{^±jqvfzºX«&Ñ’Í"oÁù-=&æz%óµÙéâütU¥'ÀqÁ¶ö~X¦ú<‚.ͨ€`—× ÛÂѺ7°§æffгÓeõðžÒ,ƒómÛµo€ÒM×*•âLµ¢.ѳ†2 ´¢ƒ,˜MåbÝ.cmT÷vØvö¼‰Ïkµ²º…shEï xð8õÁó ù=>1Ûßp¤†ïÚÙ:‡³sê´Nƒ²N¡ËšÓº¡7R­Ï騼C¥#6†øRœËÄjkÙ´ÝM}wï·™Ÿ4=ä¡–zââ.¦Zä%ð ’9ÉâØ‡_l1Íùv Ã(.™ æ²ÝqÐÏ×w•D ª×°wu§¸¬äÝÈ×û„ߘàµë€ô÷ºšñP¯€Æ0£ÿgl§ ªœ¨ç9Œ²gæô`¾2[¬–§gô 'Øè™ÏX"ø¨æt wátJ¹0€¥šta½±££­r§ß+0ƒÂË ¬j‰^c ËìA[ËÁ´ô 1À‚Pc Jv`Ä:°4“{ÛÆ9˜b…»óÒ*RÝŽí”k Ømÿ÷L¬¬›Ãæ 3yx­Óöø'Q¡F ï[x´PäñëÐ(T xÉ^ R牗†…Ø Ñ^„’Žà騳U„ÂCr´ø¸mƒð|6d™^>±–cëRã 7Ü÷i– x46W×O]\b®þ¼¯[”G$˜ÆÏÌ,¿e궇1^AËhuaƒÜIØ’FÞö}ÝÓëþQ•#^C »SÌŸe[ELŠÐq¹4KGg}dåyµ%Þ _ í-Å^ÞÜh6òwïðDèR vîFŸXd·A²áSÁH€‹ ìäùKøgõ4üûl£ÀÖN­ò»ð„@,‚Ó}²î ÆþQZˆ]Vn¯°táÑ‹·zœîó¸¸ÖåŽÕ3Tîz¬ÄÖw*Œ˜@Ï=ìòœ˜¸ m pxòÕ•[6}˜…õâ²½±hÕwaÃÌWQ’<™ÚÑ=ß±¸7ÆNBܾŠ*²÷²4è©ÇÒÊ; ¼Ïð©¤A!µ(t²Wº$oÅš(ê£&)‹[ÄÛßùfi9`Âr –.âéE!Tõ'Ó“vƒXßÀa;t8Æmy‡ˆØøÜÀHÿÏ?H ï‹Çj> tüüC:½˜)˜ŒëñùG ´v>ŠTÖiêŠ#H¨äŒëãÊ\ñf\ëÎÿb-;x1 \3®Y+wO(ôç¼·ˆèË¢JÀF:²2ºP†™Ð„•_¹ÊË}7ÿú-¿{ Ö2Òió¿¨@‡•¸n¤º2Ô[ó/E §ŠÕæê)#Ýt„G’º(…TP†úçïD꛲:ª™Œë˜ù×$Ð)ù(B•d\TÞ W™ÔG:²\;çÌè1ÒÕý/U?Æõ¾Þ¬Ôóø P½c\·a%¤.'+apŽúÛAêk’ÎaÁ ©£©”1ÑÄ”•‹ }Ki!+ÓªT4ªOLèNù÷i +ñ' T$&õ£ö«Ô‡ä~E5ˆ:Ð'Pê<‰b¸'¸åñ ËûÑguLN«Tcn ÏÌÇRveò«g‡ƒg¤å­B—p«r6K@wßù.£-–qcÎö½Ö—»åœàCRÏPFàÚz½*9¦»T>È舞|~ždë\5q0PkVqÃÑø,‡=ZóRrC(”&¸H‘"·}<=é²bÂd\wz8X$È;ä%“¾²‡¶ò„´%Ð#!g"Ñ#(Ƕ÷Ð7 býœ™aoŽÙ3'œE¼Ð´w\ ˜ˆ¾…¶³¬y\q»zÖš žŽëcïH}æ,dŒÖ4‚ÈÿÑ'¢Ö'ÌœC€³–5 ¾¶‡w8б‘|áØ']-qëüŠü6éUËœ¶í¥Éƒ›L`Eú%lCŸ4>ç¾Ê¯Áú_¥Îm¾Š¼Á{èÖý%Ü\ê)áTè‹Ñ$Ô_êÎKÓõž¤XsøP–ÖM_kñŸx‘lþ œ ê‰cÐÇêÐ_Ä"þÄ1ú€§2˜Â"^‡g¤Î ô : ý@Ö÷à©àƒ²æ‰Ù|i,épµu ¹ªÌÌku¡:Ÿš:ÊãS#-Ý$QÇ'L6I+HבÁ1âáŬ—$¶·¾Àˆü‡ Ò,ÃIwx}¤ŠoNÍAµ^`°²õ¼ºÔ£:‹Øåé…zvqÀ×ßr·{+˜#ÂöÎeN=ò…ìÊ«yɪ)CŠqÖ3B Þ¡mÍl«´`‚²PO 0Tô)œÔ½m]Ç*—x!au˜2p45Aýk÷·ôõ>gˆ~l™Üƒº(Ô·Ï&Š$“·ÄÑ·tt¡ˆƒV¢v¸l^nã6 Cé: ¡9¦á®$/¥Ìå8³MÜ}ôàqà®ç}X ±pmÜÜêí²Ä`€£BÌ<7Ͱ²9¡ÈöüV—†Ò5ׯ¨î®¡’Ñl ánÈ'¥ì›"¶’8:£¾¡·Sª .¼Q¾‘¸°L Hu‘#xtÓ¯ Ñg\Â_……û”<ÎŨÆLzÆ Ï-°ž©níÏB²hPB¸\AP*` yJô=™Y¢odN¸¯µsË”SL¾F=* ÕWp ròË—-—#j2‚9. Íž‘¬]7»„¥ÐµH\ÊeÞ°x’RE–Ü]«ÕÅ`ßÌU6U2W.~¹Â/Ø·ÜÕ):>^³õ›¸…Khk„obØF|Ú61¯Èãˬ” Ž-¾‹ð ¹º¥ø‚ÅZ*ÆÏ32ñ ßÚÛÝÝ à„†@C€í`µCGkê##ÕÜMÂR—ÈLMxÝÇö1¨¦‹lQ2ÖSìÓ&è_¯‹_tÓÕKlM wR  â= ¬@ãÉ Ú–¶F›v2x,k/à¥à=m‡ÊºàCmÃ&¨yiµ|Ϙìí&De—÷ŸJEOí§2¶öã9º¤óéS­:¨¿‹™ž“¬Ö{Œ3UË@vˆñ´Ú’ç6|ÔtE·*S4¨f,«Ôíë&†¿„µy lKï5õ¶jž¸KÌ+%-ÕœqÄq…1"ÃÖ­â•5õ"?Ô$¥ŒT+Bå¿ÊÈÉ9?»ÖB 4ŸúÀˆ8Üë~}8Êñ(yÉa†õ_¦PÙS©ŒáÔàùXR£½Uð“ö§6î(èI‡W„MêeÈÛ‡%’I"4€½¿Fò ›8åXSS•©•jI¿[1uÈsÖúðœÀïÈ-ësð#Ébíë<¾ú²ÞÔÝž–É› ãGàŸÀu¢c¿RŸwZ„ý^ìù°÷€@•Ú²ubÞá÷ÀÙh MŠs&¼õ*ñ.‹V·[²leÜ“šÃãÖö6’ÐXÆ‚ô^DÚ?k8Ã$TƉ³À)¯~3 Ò˜Ò§a7uÊR˜8g\fêl½ŠÆ9žA±æ÷¬4¤ñHëS¾§’a•úü×”æ¼h5NŠùÐÝè‘G”‚ƒ¿Mí§ð¨‰æöñ"k%IÄÚ¸óÇ©@‡¿l·ä>Ø[貅ﮆövøèè•JWÛ=œ3v1Å+wû8ü„Á‰8Ò†iô×Ξ:[Ý ƒflÚè™â½)ÝÇu1ÄûûT©cÉÑ5í’ôÒ zŠ75\­<¾Céq·¦‚©;ôô‘Ÿ™ná§¡ª«¶ÕÆÔ‰R< 8©¾9pðÍ£N… B"r¥pÃGHòdBìTkš¡ìǸìºDIÞc¡°:?¥dÇ"b]ÄeJ2\x]HkŒ‹jáu˘Ê«‘P`y Å*&eªHK ˜žbW1…@ÊIÏ­d’ÂÿEYÜb|¹Ž”¿Gràbñìì ¨¹4`*ŠP™[˜žRR4àפk½Š¢;R˜è-öFuä¸g6C~ÉꬕÁ:«;°„›Zéô¶ë¶êÛ¹£Rš+VT'Ó8Æ(cå—ÆZ·6Pv¥$y‘QIÁyGˆ^Ç’›k:VùfGß5éŽ_rà•€¸w è ³¥¥U®?¨'J—Z]Ҭ˜¸w醩gC¦D±R¨sItXlD+¹©±pâŸa(ó•¹bmvf&°…«ÚR0ñ³Ç''~Ö±A=°Ú†ÞÚTuìpÎ@üÃfiñ—é÷ƒE¸ ol8ÜÕ½„ð‘[7(B1ë–× cI+aËh7:êSöªr¿+&PÌ®¢%Fï=K½’OÍòßsâ ðÃØ¢RJöªõGnµ]qÛ¶x4­ê…øâ%‹ÁÎ&…ŽÖ£ºŸg{h‹í ÌDßÑÛñiÚ‘=M…©01ê¡×à4¦c„jÒºt@”Á6°”–Žy'¢Ë ²,©P¼FK Nô¤Ë÷À:6HañÁ4*Ì„:ê¢R|07þÍ„¿µtºñˆm þ‹.Pÿ;(òUc®t8¨¦‹!u.º€ ÷©Ê01,âA±£ð觨%~âd ?ã\ñm'1 iÀd¹Õr±:«j 3Oµ^s©Qµ½½=åvaAÚSמÇÅ¥+ëç.5ÖJÞŽº„‰™Á3ÜÐäÂ5È??ߘʞ¡‘ÙÄ%ÏSC–“8iÛÆ÷3^ÄÄ­eÓC¬ÃÌ,/S4òˆ‘tõ eúÞèøëÛXÓÕ¡B$ÃöèÐu¸ìè=vQÛÖ8ªnWa!x"·Ñä!5}Óï–:þ³Si¡]8Ðû<ú)ÌuE\XÓÑÕà«~Í1,cKs}Ád7mKs@A0µý½Ñ2PÎ]D¶l[–­†ÍÝØð‘ÂTÚîeDõiçäZ)*9ËÃ(=œx µnSDCrßÀÚY{•(e¼ã$i”›œtªlC×¶Œn"®ë¥knÖàkšÙPýú5Íö= _äo ¨U*»Y÷sÁÅyKGA5ÿm0mßA›ýFd®Òl)€´^×wFx L¹àÒ::6È%2Œà­õÝU½mhl…CKä¿Æ×¬cZfæ+¹`wé…€Lî*ƒßG×ÞÆ°Ço[}Öñ›û<ôù-}¬u4SÓ·òÞ5:]kŽgqk‚:î`=­—ÿz½0ˆòxÑŒelL£¦ªðÈ*¥Â‚gX °´&Ü\×ÜݰF+…@aÊҖζõ& Ã-%T£Ä@ñä:lÂÑy‡ †‘Fè7kŠtgKÂ…>8Û÷äwîOsñ6}GÇ{c*P»£{;¤©ƒclø&&¬"+ÂC3ûö¶îÀ/)3îÁŠ> ”ƒf®ZÀ^Cn«ÁÕå‚@àr©š| øÑïÚ»ü-™ÙÃûâYù¸ðõl øº…ž/UfŽ¡“O†°Â»ÝÖ1ß*0¡õ ãE9@1iÅüñ:¥ ‰Êsäo´}§¥S#‘jÄ¢9½2U`<š‘$Z·m}‘)f·HÓ8öª„™¾¸7m ã”Åfñ,cñµFßtá4ˆY×J¡%æhlè­Ý–ø“p*Ä aWÇ0ëSë¶ ­-·ˆ‰S©™ÈW&ž7 ¥ŽDU ¿+J·<ÓîDWk\æhخփÍÇS¯ ¬½KNSÌŸÖ:Xt )X>i®jÆœ—ÖO2j”¤—^œPæ•¥@RͨÑö©fÔCß>Éq‹8$ “"0ß®ÊDlº€§¹H¯†`Uè+èþ–ǵíM\;>B‘L>)?ð®¡X ÃqÇbÑmÙVü`Â~ó=‰kÃ3u9ŠLO Ô„P.A/ÞgX Ý‚0lzv[6ZÇ¢øF²!¾Þ.búciã÷1&’zÒ{å(4‚¹±oÅ6P@C ×t}ÕÙ¥Ž]Xq)>3ÿFA¡EIb‹vßãO¿6 Ÿ‰iQ“`?ãâ ZD—$h£5£_}ƒúK —~¢ƒÏˆŒvÛÔÑjQä‡/~‘#aæ­#MZ0ÌÎì&±Óá“oêüZ¶ Ú ,#ǰbìÂt|]\±;À³"»ˆº‚6µCöbq‘*ø¹kyðoxY|—߉Ið¾UôS~†Ó,€“@ÌF¸w‡ÏÃ{ _QD×*“ø&Hl£(qœä/¼;®K1 ÙįH[np%¸?~o†>#âT?¸'Ë–&¤ “† üy‘x-ÕÏgîiŽ~r½"_±ð{0Eþ:ø}ÜåüQC RDŽF_E®ÇÕ¦{^åê u•?á¿tL®F6°ü‘o´XûØÞ“C}%vU弿™?IxªÔ¬ØTgÔ‘€w*?$@4Æé5à* ÷]My§Uª°>³P¨V­¾Ë ÁñwÞ–å‘‚˜¿%:p4m—»¿.0aÁ¯q³46i~}Èk³€ª&«1 ìË9ƈXŽùd.fï0ôxl#Óo4,ˆÛmY`ã £j›Ü^‹BGÛ,ã†ÙðúàÜel‘0±ÒïðXyL©Ç"#D kä”`ÄC-£$¬·ŽFo¦XBÓî7ÐØ9à–qƒç±Àã‰&NîìdG&<¾Ñ~ɤñrpÛtƒäà>Q#£|Ké-C "CóarØ4û‘0GÛ ã†Áúq«&¿:ö<7æ0Yê˜4ÓÐ1bzK®göŒÉ®ÆÈ¨ÛxƒLZ1e”,âŽÖ“,`Œ›¿b=Ó,\¢®šµ˜°i¥÷I3[É· ÷†ªXß [”¸eÏ`Âúë4ÀÀÄ;ªÆ¤X綠H¢Â“×ÖY2ÁÓ%-5a{nöÉÕÍ9LÚrb=ÒÌ5ó>4ÍÄ:dZ_T•U Òâ&ö†"Œxá%9DZÐD 1€Œ˜[¨gm>”4EØçŠÑÒkFIžI §HàC4Ú«XpJŽ0*êþôiX/õ8!QÜ„0 †ô>e¼;ÐÀvå¼`‘¦1±†Ã#/N˜üE¢‡‘nk +ê‰Ó;Ë¥J2Rcì˃AƼ¤#whÇc&R‚(“ÖÙ5j£xrR¬c­ ž›4IÌâŽH><>³,YÆ#žôÀ£1l…ÒÝ14Çå‹£š/¥EÝß¾Þ¸¢Ú0§÷*Œk•šjEöHR“Ô[LÇB|³ô…GªåÊFjUæL•ËA¤V*:ÏÛ"b>o’®Xpο•NoTÀxF? §8·P›Ò8Rø‚øÌdRÒû^tJzxE»¾©H¡Ò—StÙôè2¢A£ ßÜÙwì­DòÈÔùˆäYÃõÑ‚¢Åàì6 ª$× ‚êaA»¶¢ ü£áQe¼s"ÙT&J/¯ø FµºF,tˆ~M7-ÜgÝèÙÂa¾ª¹žµ;°ùP‚¹×€ ìœý û¹É!?«®Mœ´áµFS&MäTmèCB“A‘/¹FÁÃ9Ü»™ÊËÑÓ´•ð‚@ã E¡)Õõ$ë;¸Ý-ÂrUª‘†c;1ÇI—š;—jL³3ì¦ ·¼0* ‚ÅÛðÅžs2Ä$ mW‚¢0NNÂë1Ž?‚ ëÅ7Váafâ$ÇUÚZ\Ý®¥Z”V#*¤Ê;ÛÇ|þê«(•÷ŒÐÀ¡TÃéÚBunT„†j•ªà¤b8$%¥ˆÞ©êCtÆ—¬Œ5$‚_RQ"ø‰ «QŸS©Òñx5kD f(8ó2Ã48׺ÄŸdgt =ñ*9ûÊ%ŠehÚ;\Óm Y EƒP®·‡#O£Q7Ä(p$yeªö+ÑÌÝBÑãQ&Ô!:ÙUt„`S­èõ(ììàmŠ ( ‚¥¿X!QÁ«0DêK- R Eh ãz0ûV<¹-ù‹-\QßóÑØèºB~Œvˆ‹mÑ_"²Ã9Ííª¦³&!C#ÜiÒe;;]h…a1Yó}'¡÷EoÍ%4M]IÌ55~eq&ÇmüvvhÎéT¼PÕpð褄4<ïvÏñU5#íÚ I‡ÒûØ2HÏ—“ñ?®, äž f<¨ÐÇ¥N !¦ D¼”@a6‚î‰bAÄOM†©³ÞÖêævR© D£\ Œid+»DµNO^LH_oj÷Í]§ÀrUAÈA® m·R[¨ÕD ]¢Øoþ‘……²’ ù—2×h'–;E_ŠŸC9J®Ãu,ðp¾ˆ•…Ê(±ì]ìáƒÔ ˜ª ¯cT;û `ª)'‰Ulî: {‰‹òÒ' Íã“GLJÉWé²¥¿8Ð^ÿJÝ¡„Tʼndž«ÛS Ùß¼¦k=äËBHZ~â †ªwÇá¤Xì1°13‹S•ª~Ù)ƒ2„Û:HˆMfXƒà¨PwËFRÆh¢¥É ìíê'ÏØ>œî‹< ¢á» F£VÛ4Ø•òS¶ß15D?OH}äáõ¨EBaŸHÌ áêÚ‹m½‰ð‚IŒ”ƒ?µŽ5qñ‚z‹a¥ÅF­6„šÅu” ¹Û]kÙX^ËÈ7ÂuFú¼Q²Á±m½@–•¥’Z°M}a!ûz› /ph$8/] |Æ›ëÏûˆ“”èO@ä$ô`Ó"5AŸ ¹¤oór–‘gà•ÔiÿuÚEÄP’ʱå&N $`ó«5Ñq!-¬LÙF¬$o4“m À:\‰–é·¹¥Œ²”e-· W˜ ¡ØY ÓÒw'žD” Bn:ü—’Íè%8¨Þ4öÂ)¸\î@v´Z®T ìxÛ6€'–*s3µÙ©k ªn•ëå’Auái0ŒRMŒ…½k°CƒîåòìÔüì\±R¬ÏTêÅ™¹™¹býécôŠN 6°©õ|xç8æ\l̹2†Õ*µòt ~œ-Uj³Óóóå§=IÀÁ“-ƒ/ýÑ \¨‰c“ƒ`ï ä°4ñ®ê‰X¯¼Ä1­©ƒ …²ˆn›g0üÄ’>¡R\¸Ô¶ÚÞÞHX:£ '°¤GžžD"Ü~SÔ­]©…6ðÑP£›J¡dÙPÇiqϱ‘Ò%°Çp.Å6lVsÑ$\T§¸A8TNQIéuh&Åç˜*r¦Èh‡””Ì!å…ÊŒÄ(Uñ¿ ' ã•ç5³6½ÂI9»úÓl2Q§a<7Í\“Ûë¯H8I¡â.¸ÚWàífË%{-·þ¢Ë µÁòíô žîàÙ$êVFØÌzR¨ÌS܈ºÉß|š‚n™Ûæ´¢­ëï@Ø÷së«+ñÖw +?œÒ€_°“%ÊI׺¦ÐŽŸŠ#)‰bÈ/Ѳ=™Äþ”4ƒ¤$ {ÅSí’‹5¿µ ’U»¤µJÖõÌ[tᘔù>Ѱm7H×<Á%Ç2¸c NšfìîÍõ_•ÖËÙoéšFöµ®Ö :¤•=ˆLOF% AŒ#O5¨ÛIhN–¢Ë@ίçìâX¼ø7ôÚÐö`x¯eS.‰¥ŽMp†¦iŒÐÕçéȶ޵B”ƒÁƒ=µjx­®nš£õz®KBV®NgIÜjÛ øñ}åj¹úõ6/¢íŽÖa­ÕõÍ|oì<ßgt,ææê"á,V4-áÒC$e>§™›ARæ.>õx§–o¯®[eŒc¦m­\½0î7Ø;° òMmFy’©ßtòíÓU ô[C§)®yFÇÌy¯°Ì2V÷0í\½Ö@¤·ª™-;߆Éä§ÛÛp‚óm…µ-žY}ÃÓÛù6Õm"F+F'„y*½âÊ£œ]Ù©9•”«Ö»…Á1M~HD3{DšÅòÎ*T*;LCŸÛ²­;-]èo’å¡„<[MÈ䢔 B*çºé²¦ê·}UCdnVRŠÈg Äi¢c*gêÕ B°OÏ,L 9° Ë[®ÍÄÛü&ɲòë(tXøjâvDÁCg ‘Äà’,`‘)É‚ Fz§cÈæBØTäe,ddáÄ­±ªèEÎ1£ðºà8,ÂnÔ}—I†駇–,C½.˜Bã5 ü É~ø ‘jÐ{wÕKœt‡W>3Aœ#¨þ˜RBä7Šôßµ'°‘‹¾…Ö×ðÑI&‰d¤*QB&È`ì:<#B½Ê©¤,Qõ@«ð:R$ÆÉQä"´'r(‚¤„Wn0N4R!éŒîë*•È ‹NóUæÉK­e`ÉíË6©í­Ö{Š*Õ•뮢:%U™=U?»¡~œ²ŽRÃövtc)×ÞH‘I}GÇ(5 ‚݆ÁJÉèœJiV-F{à15þ˜—N“ð±Ùð¥CѪ³µùâly®š ïC"¸!jÜ9 kÞÂå%àG™ÃÌü\ &2=¿ïÅrÿÆ’¥ú’ì ŽzîZº†}É;‰wЭ©­J©6ÕÓ,΀˜ÔÔ[c#ù¨E9j±òôèè®O65‡ |’4‹T÷hè¶L9SG‡vµŽýéE÷¾Rú¨Oq@¾žÊyËý>¢Üôxœ¼ŽäZÆì«âî—Ó² F²ÞÖgƒ…Põ÷³‰{;’[9K¶I:¯y„‡8“_ÎX»ClÄDjGHá:ÜÓSºcl)×O€\¯Ÿ3\;5MÏ2¿@í5‚F!Õª±LúôÆ97Wí¶ž¤Ê¥ªjt>ð#É:ëÜÒ) ‚›/þÉŸ/þ BÚÜëýM¿Ôq´öîu{N·;Z¼Òªîlšú ™¥Š€É õh }±üÑö£¤·ý½wªg+ÓsÅòÌtd·#©òÎ-2ÄDr6l×Õ  ÿHÊÚr[Ml2ª\÷Úe5ÏÑ£¸-7LKlºÐ6 í—í]ì—í¢‰Ø^pM.±F} 1)cÞA5»'~aG[ö±- Sª w oMj}tO‹ë%¶Ž.é¢ß`mYY݈ #M”yçú}¤^Ü;ދt„QÖlT€(šî# ; òØECX¥>Sž­Ì«âØ…F c`¤›ÙÓëBxÁ0¤cAè\àÕµlËB¬ŽÂ¸ ´m À`j[š¦t<(°ÇV±ÄÒNK/¥çlSÒc)’†CXmŒNÉ IcÓ[ðè²ç( =õ© ôÁÐIÝ3Vå¼µ¡Žû&®º×È#Z[¨M 8G¥ñµpqC`Æm.°à0 °-²rÑYIµId‰4u¬^S//”Óœ¹ ;E¥LiŠ3”‘m§¸ï&ñþQ¢ésÔÕIòÌD¨Ù`žûbsØÙahöüDŒb†¸³¿ÙA„1õͯ=Åw&VTYëµqú‚ÄlÉó´d,‚ê©Üô«³DZtø€¤¿l¼ûTðò6¥iJ¤;K uÏ•ç¸w r‰µéŰ6“…]"Qák¾hÛqá%s®&žx¤•¾ãa‚0 ‚€àµä&RŒcÿZ¾hY¨ÅF@n¡ŽdK bÓD ·eh´°,çdð ç!“‘µ“2ç,ŒqÓö“ÂÍÊ»¶¼ÕÑúFxÙài¶»h' @»›J®¤ó'3ãŶí âB‰­ •](FôL7#ðõ¤ÅcÝ ´DcÝÃÐöÍ!‚ò¤JÌK9Žm{Âí$Œ‹t\½}£ ¤«ïÊ{Bº×´üd·6ÑA¥m‚¶ßê÷²gcûq‘Èo)a¤¨$ð‘t“@`LPš'li˜·µÍ„£,wÔ}*B€ÐigÐU©:mjèú/dŧ'“3kä ˆ~ޤ!2ƒo/Ô€Ž^f?CØg¤¤ž †÷¨/Ôg^VF…0¼^ý5 Ó„-)œêï@®DÍt‚ˆ³—³µaX^  Ê#¥Eˆ›ò˛ִ ¸Ò¡uO“ùÁK—Ï+¯¦·bG z,sÓÔyÈ®ˆ\V Êg«¡ºãØO8Ю֡ oÄ®ö&]P¾XÑw”K•™„'¨¥ˆ\üŽÅ¿g;d"Åô°Ç4š¬">bÄcùêø SR•ÁÎj$ÄM4Ð5n ž(]™í hç‘H‚;žX>•z÷ƒ¬dçÚ‡;u*5˜YB/gîèB®Né"M*è¤$C£#â×9§ïp9C+Í7‘ÊÏ“¬[ØýkÅj ÙMÏ` ´øJk#úzp€$Ï,>{Œ‰ –ŸMÖ°_¥BúwZ¦W’MBiÒØçEdÁžkÎ¥±Á!œ3%\`Æ™þœÏ¿×(éϲ¶>?$Ç*M%8kìD,IªÀžÁ@*v Vœ^õt¶ Ò¦Jì¢æ‚4Ûж ö,È3ínÂnXOéôT^,õèÊ"Ú%K~ËÔÐ,­ׯŽ<ù>¹}rxÜçåã"ÈYø¸¾Ø^5‹Gl h êØÑZ %„Ù^(±S¥`Ë6¦;¥*ªªêó˜ˆÐóÔ\ !¯¦Ä¥ LCBÿJËÊ;|öâ*i¡\Oq¬¾•#hÌ£•°\G+SI7{½â¶aµmuFÐ<ø0Ó õAó€Aª˜b\žTó;Ãþ˜ôl/™#™„PQެ?¬Û’ž¬–C“êÚQ²é-› 2$y”(Ô šv¿2ÞÁ†JRŠ@ñµ¾K†)tñ‰dGªõ¢oèù;Ö@˜³à§”ÿžNÈ'—÷£z¦ëµ±(••Žà«–¬h­èd`²®œl¹pÂMÍAjÒ™žŠÍæOØAŒSb¸ÿ‡ÌcêÏTaEÞZáà@˜¸A0ˆØƒÞ.?¤o—ƒ:Áo”n­ D…Ÿ¡MÛÆ&bb´?I«æ¨ÀÇÖ»º«‡Ó@‹ëÓîjÒb](5”8™ˆpl™íÑöÐ-K^AÒ{ø$ò€m}Žb’Ô66hI<9›Dðs6\×=¡ÌÚwvU)t¸€^ ô™\5ÈzbPÛ,á;™˜U乌Ž"ˆœ[¨Ï Ï{}x–:á €§ðdä/¹ ³«Ì£Í§<ÈýŠ¿@þgŠÕ2ö˜†ÿg‹¿÷ß$+QÜò£ ¯7( ¿d 1•!©3ƒÜQoTwò†ºág–Ûu‹—aQÐHÂÎàyä<äYÝò×I)°MÂý­DáŠJi&b ¦ÊæþÝá²yŽEn<˳þŽ&/’¹ì~ø;œ¶Á‡i¹|.u4ø1 ’ÓE À„Ô˜ È”~Lº—ø™µív¡ÁÙ—8t€‡ÁúÑмß÷J˜_†GóŽ}þkÑŽéË“߉œsø,P äö)p6H7‡=äÙýÀwÅ·[–s=žµ"‰ü†›‹M$Ž@6—Øp‡¯ÖÕåÉ^}ofI¦(’R¬H[T©¯“{°0>W)pQ¥F°ÞX¼ê½´èË—.¿³qþì¹õ5uœT·n¯$Z¦ùв¥„—êu{…Mz”3µYÂû™Y¨"'äLN>§qš5öÓRìlŠòùöQK™ìÊpR™ôñtb8Œä, åL+[.Ås o(«Ìâ)’Ço’äq ½Y¶û»*V¹Ã+ úáC§È8Ùºîç"ÓÁi#Ô2¾ãž‘«– Ã.äV^|ñõn\24û&)»Azâ;ÚɰLœ|rS,¾D? oËóÉïwPÜ`]þªø.ïàÌA´¡Y®!÷Y³Ó¢·-O6FCÈ~dÛ‘MÃcâ6-¾eó´€W–#5Cš]îèYðØr/A?yôqîàeRåÏ!F²X€ÊÖ}Gkõ4ù8TÚ4ø‰x¨üf™ðÁŽó“ªw­o_]Z[“ƒÜµï†7áUIåû%Ñu<žmË:¤ayLùƒeö{•ŸûÝÝ`.ȺxÍy¿¶”"¶<+Ü(beåK;D9.ò ¡] ûó@¨t\¹Ž+²©¨ä*g×q ù·µLy«Ã2&ØZ"&Fvó½¹à·¦±™õmZhÿã’‡ü‚‰4A'Q‡Vª$®œÑm×m;X8KF@‘ñš¨rkñÚ#¢¥„ô-9Š£˜+ÙgE/‰"3™äËHW9¢Ùo.âä÷à>1ýÆLL·ú´B…îlëšo*uóÆX‚8ááßFÓÔÜ’›¨Ì—ÙÞÔ‚%{ÜQ+Uªè¸ŽÑ³{äîh”¶b|ò°”çewºWð¼ë¶pï:žç«^hî½Óñ)[[~m\<»Ãh٠Œ´$ÖD.ŒãzëíK–¹l̓7캓+KòàÞ±²tyiYæñ•¥«òIÒ9†<Ê"Ä_ЧÿÄUjdzi(lme4/tests/testthat/test-factors.R0000644000176200001440000000357514630365604016677 0ustar liggesuserslibrary("testthat") library("lme4") test_that("factors", { set.seed(101) d <- data.frame(x=runif(1000),y=runif(1000),f1=rep(1:10,each=100),f2=rep(1:10,100)) d2 <- transform(d,f1=factor(f1),f2=factor(f2)) expect_that(lm1 <- lmer(y~x+(1|f1/f2),data=d), is_a("lmerMod")) expect_that(lm2 <- lmer(y~x+(1|f1/f2),data=d2),is_a("lmerMod")) expect_equivalent(lm1,lm2) }) ## this will fail/take a long time unless we handle interactions carefully test_that("savvy interactions", { dd <- data.frame(y = 1:10000, f1 = factor(1:10000), f2 = factor(1:10000)) F1 <- lFormula(y ~ 1 + (1|f1/f2), data =dd, control = lmerControl(check.nobs.vs.nlev = "ignore", check.nobs.vs.nRE = "ignore")) expect_equal(dim(F1$reTrms$Zt), c(20000, 10000)) }) test_that("savvy factor level ordering", { check_f <- function(n = 200, frac = 0.7, fix_order = TRUE, check_order = TRUE) { dd <- expand.grid(f1 = seq(n), f2 = seq(n)) dd <- within(dd, { f1 <- factor(f1, levels = sample(unique(f1))) f2 <- factor(f2, levels = sample(unique(f2))) }) dd <- dd[sample(nrow(dd), size = round(frac*nrow(dd)), replace = FALSE), ] dd <- within(dd, { f12 <- f1:f2 f12d <- droplevels(f12) }) new_levels <- with(dd, levels(`%i%`(f1,f2, fix.order = fix_order))) ## don't want to pay the cost of checking if unneeded {for benchmarking} if (fix_order && check_order) { stopifnot(identical(levels(dd$f12d), new_levels)) } return(TRUE) } ## should fail within check_f() if levels don't match expect_true(check_f(), "'savvy' factor levels match brute-force version") ## library(microbenchmark) ## set.seed(101) ## m1 <- microbenchmark(check_f(fix_order = TRUE, check_order = FALSE), ## check_f(fix_order = FALSE)) }) lme4/tests/testthat/test-rank.R0000644000176200001440000000750614630365604016167 0ustar liggesuserslibrary("testthat") library("lme4") context("testing fixed-effect design matrices for full rank") test_that("lmerRank", { set.seed(101) n <- 20 x <- y <- rnorm(n) d <- data.frame(x,y, z = rnorm(n), r = sample(1:5, size=n, replace=TRUE), y2 = y + c(0.001, rep(0,n-1))) expect_message(fm <- lmer( z ~ x + y + (1|r), data=d), "fixed-effect model matrix is .*rank deficient") ## test reconstitution of full parameter vector (with NAs) expect_equal(names(fixef(fm,add.dropped=TRUE)), c("(Intercept)","x","y")) expect_equal(fixef(fm,add.dropped=TRUE)[1:2], fixef(fm)) expect_equal(nrow(anova(fm)), 1L) expect_error(lmer( z ~ x + y + (1|r), data=d, control=lmerControl(check.rankX="stop")), "rank deficient") expect_error(lmer( z ~ x + y + (1|r), data=d, control=lmerControl(check.rankX="ignore")), "not positive definite") ## should work: expect_is(lmer( z ~ x + y2 + (1|r), data=d), "lmerMod") d2 <- expand.grid(a=factor(1:4),b=factor(1:4),rep=1:10) n <- nrow(d2) d2 <- transform(d2,r=sample(1:5, size=n, replace=TRUE), z=rnorm(n)) d2 <- subset(d2,!(a=="4" & b=="4")) expect_error(lmer( z ~ a*b + (1|r), data=d2, control=lmerControl(check.rankX="stop")), "rank deficient") expect_message(fm <- lmer( z ~ a*b + (1|r), data=d2), "fixed-effect model matrix is rank deficient") d2 <- transform(d2, ab=droplevels(interaction(a,b))) ## should work: expect_is(fm2 <- lmer( z ~ ab + (1|r), data=d2), "lmerMod") expect_equal(logLik(fm), logLik(fm2)) expect_equal(sum(anova(fm)[, "npar"]), anova(fm2)[, "npar"]) expect_equal(sum(anova(fm)[, "Sum Sq"]), anova(fm2)[, "Sum Sq"]) }) test_that("glmerRank", { set.seed(111) n <- 100 x <- y <- rnorm(n) d <- data.frame(x, y, z = rbinom(n,size=1,prob=0.5), r = sample(1:5, size=n, replace=TRUE), y2 = ## y + c(0.001,rep(0,n-1)), ## too small: get convergence failures ## FIXME: figure out how small a difference will still fail? rnorm(n)) expect_message(fm <- glmer( z ~ x + y + (1|r), data=d, family=binomial), "fixed-effect model matrix is rank deficient") expect_error(glmer( z ~ x + y + (1|r), data=d, family=binomial, control=glmerControl(check.rankX="stop")), "rank deficient.*rank.X.") expect_is(glmer( z ~ x + y2 + (1|r), data=d, family=binomial), "glmerMod") }) test_that("nlmerRank", { set.seed(101) n <- 1000 nblock <- 15 x <- abs(rnorm(n)) y <- rnorm(n) z <- rnorm(n,mean=x^y) r <- sample(1:nblock, size=n, replace=TRUE) d <- data.frame(x,y,z,r) ## save("d","nlmerRank.RData") ## see what's going on with difference in contexts fModel <- function(a,b) (exp(a)*x)^(b*y) fModf <- deriv(body(fModel), namevec = c("a","b"), func = fModel) fModel2 <- function(a,b,c) (exp(a+c)*x)^(b*y) fModf2 <- deriv(body(fModel2), namevec = c("a","b","c"), func = fModel2) ## should be OK: fails in test mode? nlmer(y ~ fModf(a,b) ~ a|r, d, start = c(a=1,b=1)) ## FIXME: this doesn't get caught where I expected expect_error(nlmer(y ~ fModf2(a,b,c) ~ a|r, d, start = c(a=1,b=1,c=1)),"Downdated VtV") }) test_that("ranksim", { set.seed(101) x <- data.frame(id = factor(sample(10, 100, replace = TRUE))) x$y <- rnorm(nrow(x)) x$x1 <- 1 x$x2 <- ifelse(x$y<0, rnorm(nrow(x), mean=1), rnorm(nrow(x), mean=-1)) m <- suppressMessages(lmer(y ~ x1 + x2 + (1 | id), data=x)) expect_equal(simulate(m, nsim = 1, use.u = FALSE, newdata=x, seed=101), simulate(m, nsim = 1, use.u = FALSE, seed=101)) }) lme4/tests/testthat/test-NAhandling.R0000644000176200001440000002016114630365604017227 0ustar liggesusersstopifnot(require("testthat"), require("lme4")) context("NA (and Inf) handling") ## Modified sleepstudy data : sleepst.a <- sleepstudy rownames(sleepst.a) <- paste0("a", rownames(sleepstudy)) sleepstudyNA <- within(sleepst.a, Reaction[1:3] <- NA) sleepstudyNA2 <- within(sleepst.a, Days[1:3] <- NA) sleepInf <- within(sleepstudy, Reaction[Reaction > 400] <- Inf) ## Modified cake data : cakeNA <- rbind(cake, tail(cake,1)) cakeNA[nrow(cakeNA), "angle"] <- NA ## Create new data frame with some NAs in fixed effect cakeNA.X <- within(cake, temp[1:5] <- NA) ## NA values in random effects -- should get treated cakeNA.Z <- within(cake, replicate[1:5] <- NA) test_that("naming", { ## baseline model fm1 <- lmer(Reaction~Days+(Days|Subject), sleepst.a) ## default: na.omit fm2 <- update(fm1, data=sleepstudyNA, control=lmerControl(check.conv.grad="ignore")) expect_equal(head(names(fitted(fm1))), paste0("a",1:6)) expect_equal(head(names(fitted(fm2))), paste0("a",4:9)) expect_equal(names(predict(fm2)), names(fitted(fm2))) expect_equal(length(p1 <- predict(fm2)), 177) ## predict with na.exclude -> has 3 NA's, but otherwise identical: expect_equal(length(p2 <- predict(fm2, na.action=na.exclude)), 180) expect_identical(p1, p2[!is.na(p2)]) expect_equal(length((s1 <- simulate(fm1,1))[[1]]),180) expect_equal(length((s2 <- simulate(fm2,1))[[1]]),177) expect_equal(head(rownames(s1)),paste0("a",1:6)) expect_equal(head(rownames(s2)),paste0("a",4:9)) ## test simulation expect_is(attr(simulate(fm2),"na.action"),"omit") expect_is(refit(fm2,simulate(fm2)),"merMod") expect_equal(fixef(fm2), fixef(refit(fm2, sleepstudyNA$Reaction)), tolerance = 1e-5) fm2ex <- update(fm2, na.action=na.exclude) expect_equal(nrow(ss2 <- simulate(fm2ex)),180) expect_is(refit(fm2,ss2[[1]]),"merMod") ## issue #197, 18 new subjects; some with NA in y d2 <- sleepstudyNA[c(1:180, 1:180),] d2[,"Subject"] <- factor(rep(1:36, each=10)) d2[d2$Subject == 19, "Reaction"] <- NA expect_equal(dim( simulate(fm1, newdata=d2, allow.new.levels=TRUE) ), c(360,1)) ## na.pass (pretty messed up) expect_error(update(fm1,data=sleepstudyNA, control=lmerControl(check.conv.grad="ignore"), na.action=na.pass), "NA/NaN/Inf in 'y'") sleepstudyNA2 <- within(sleepst.a, Days[1:3] <- NA) expect_error(fm4 <- update(fm1, data = sleepstudyNA2, control=lmerControl(check.conv.grad="ignore"), na.action=na.pass),"NA in Z") expect_is(suppressWarnings(confint(fm2,method="boot",nsim=3, quiet=TRUE)),"matrix") expect_error(update(fm1, data = sleepstudyNA2, control = lmerControl(check.conv.grad="ignore"), na.action = na.pass), "NA in Z") expect_is(suppressWarnings( ci2 <- confint(fm2, method="boot", nsim=3, quiet=TRUE)), "matrix") }) test_that("other_NA", { expect_error(lmer(Reaction ~ Days + (Days | Subject), sleepInf), "\\") fm0 <- lmer(angle ~ recipe * temperature + (1|recipe:replicate), cake) ## NA's in response : fm1 <- update(fm0, data = cakeNA) expect_true(all.equal( fixef(fm0), fixef(fm1))) expect_true(all.equal(VarCorr(fm0),VarCorr(fm1))) expect_true(all.equal( ranef(fm0), ranef(fm1))) fm1_omit <- update(fm1, na.action = na.omit) fm1_excl <- update(fm1, na.action = na.exclude) expect_error(update(fm1, na.action = na.pass), "NA/NaN") expect_error(update(fm1, na.action = na.fail), "missing values in object") fm1_omit@call <- fm1@call ## <- just for comparing: expect_equal(fm1, fm1_omit) expect_equal(length(fitted(fm1_omit)), 270) expect_equal(length(fitted(fm1_excl)), 271) expect_true(is.na(tail(predict(fm1_excl),1))) ## test predict.lm d <- data.frame(x = 1:10, y = c(rnorm(9),NA)) lm1 <- lm(y~x, data=d, na.action=na.exclude) expect_is(predict(lm1), "numeric") expect_equal(1, sum(is.na(predict(lm1, newdata = data.frame(x=c(1:4,NA)))))) ## Triq examples ... m.lmer <- lmer (angle ~ temp + (1 | recipe) + (1 | replicate), data=cake) ## NAs in fixed effect p1_pass <- predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.pass) expect_true(length(p1_pass)==nrow(cakeNA.X)) expect_true(all(is.na(p1_pass[1:5]))) p1_omit <- predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.omit) p1_exclude <- predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.exclude) expect_true(length(p1_omit)==nrow(na.omit(cakeNA.X))) expect_true(length(p1_exclude)==nrow(cakeNA.X)) expect_true(all.equal(c(na.omit(p1_exclude)),p1_omit)) expect_error(predict(m.lmer, newdata=cakeNA.X, re.form=NA, na.action=na.fail), "missing values in object") ## now try it with re.form==NULL p2_pass <- predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.pass) expect_true(length(p2_pass)==nrow(cakeNA.X)) expect_true(all(is.na(p2_pass[1:5]))) p2_omit <- predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.omit) p2_exclude <- predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.exclude) expect_true(length(p2_omit)==nrow(na.omit(cakeNA.X))) expect_true(all.equal(c(na.omit(p2_exclude)),p2_omit)) expect_error(predict(m.lmer, newdata=cakeNA.X, re.form=NULL, na.action=na.fail), "missing values in object") ## experiment with NA values in random effects -- should get treated expect_error(predict(m.lmer, newdata=cakeNA.Z, re.form=NULL), "NAs are not allowed in prediction data") p4 <- predict(m.lmer, newdata=cakeNA.Z, re.form=NULL, allow.new.levels=TRUE) p4B <- predict(m.lmer, newdata=cakeNA.Z, re.form=~1|recipe, allow.new.levels=TRUE) expect_true(all.equal(p4[1:5],p4B[1:5])) p4C <- predict(m.lmer, newdata=cakeNA.Z, re.form=NA) d <- data.frame(x=runif(100),f=factor(rep(1:10,10))) set.seed(101) u <- rnorm(10) d <- transform(d,y=rnorm(100,1+2*x+u[f],0.2)) d0 <- d d[c(3,5,7),"x"] <- NA ## 'omit' and 'exclude' are the only choices under which ## we will see NA values in the results fm0 <- lmer(y~x+(1|f), data=d0) ## no 'na.action' attribute because no NAs in this data set expect_equal(attr(model.frame(fm0),"na.action"),NULL) fm1 <- update(fm0, data=d) ## no NAs in predict or residuals because na.omit expect_false(any(is.na(predict(fm1)))) expect_false(any(is.na(residuals(fm1)))) fm2 <- update(fm1,na.action="na.exclude") ## no NAs in predict or residuals because na.omit nNA <- sum(is.na(d$x)) expect_equal(sum(is.na(predict(fm2))),nNA) expect_equal(sum(is.na(residuals(fm2))),nNA) expect_error(fm3 <- lmer(y~x+(1|f), data=d, na.action="na.pass"), "(Error in qr.default|NA/NaN/Inf in foreign function call)") expect_is(refit(fm0),"merMod") expect_is(refit(fm1),"merMod") expect_is(refit(fm2),"merMod") ## GH 420: NAs in training data should *not* get ## carried over into predictions! fm4 <- lmer(Reaction~Days+(1|Subject),sleepstudyNA2) pp4 <- predict(fm4,newdata=sleepstudy) expect_equal(length(pp4),nrow(sleepstudy)) expect_equal(sum(is.na(pp4)),0) }) test_that("NAs in fitting data ignored in newdata with random.only=TRUE", { set.seed(101) dd <- data.frame(x=c(rnorm(199),NA),y=rnorm(200), f=factor(rep(1:10,each=20)), g=factor(rep(1:20,each=10))) m1 <- lmer(y~x+(1|f)+(1|g),data=dd,na.action=na.exclude) expect_equal(length(predict(m1,newdata=dd[1:5,],random.only=TRUE)),5) nd.NA <- dd[1:5,] nd.NA$x[5] <- NA ## ?? not *quite* sure what should happen here ... predict(m1,newdata=nd.NA,random.only=TRUE) }) lme4/tests/testthat/test-predict.R0000644000176200001440000005133014635071014016652 0ustar liggesuserslibrary("testthat") library("lme4") library("lattice") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } do.plots <- TRUE L <- load(system.file("testdata/lme-tst-fits.rda", package="lme4", mustWork=TRUE)) if (getRversion() > "3.0.0") { ## saved fits are not safe with old R versions gm1 <- fit_cbpp_1 fm1 <- fit_sleepstudy_1 fm2 <- fit_sleepstudy_2 fm3 <- fit_penicillin_1 fm4 <- fit_cake_1 } else { gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), data = cbpp, family = binomial) fm1 <- lmer(Reaction ~ Days + (1|Subject), sleepstudy) fm2 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) fm3 <- lmer(diameter ~ (1|plate) + (1|sample), Penicillin) fm4 <- lmer(angle ~ temp + recipe + (1 | replicate), data=cake) } if (testLevel>1) { context("predict") test_that("fitted values", { p0 <- predict(gm1) p0B <- predict(gm1, newdata=cbpp) expect_equal(p0, p0B, tolerance=2e-5) ## ? not sure why high tolerance necessary ? works OK on Linux/R 3.5.0 ## fitted values, unconditional (level-0) p1 <- predict(gm1, re.form=NA) expect_true(length(unique(p1))==length(unique(cbpp$period))) ## fitted values, random-only p1R <- predict(gm1, random.only=TRUE) expect_equal(p1+p1R,p0) if (do.plots) matplot(cbind(p0,p1),col=1:2,type="b") ## neither fixed nor random -- all zero expect_equal(unique(predict(gm1,re.form=NA,random.only=TRUE)),0) }) test_that("predict with newdata", { newdata <- with(cbpp, expand.grid(period=unique(period),herd=unique(herd))) ## new data, all RE p2 <- predict(gm1,newdata) ## new data, level-0 p3 <- predict(gm1,newdata, re.form=NA) p3R <- predict(gm1,newdata, random.only=TRUE) expect_equal(p3+p3R,p2) if (do.plots) matplot(cbind(p2,p3),col=1:2,type="b") }) test_that("predict on response scale", { p0 <- predict(gm1) p5 <- predict(gm1,type="response") expect_equal(p5, plogis(p0)) }) test_that("predict with newdata and RE", { newdata <- with(cbpp,expand.grid(period=unique(period),herd=unique(herd))) ## explicitly specify RE p2 <- predict(gm1,newdata) p4 <- predict(gm1,newdata, re.form=~(1|herd)) expect_equal(p2, p4) }) test_that("effects of new RE levels", { newdata <- with(cbpp, expand.grid(period=unique(period), herd=unique(herd))) newdata2 <- rbind(newdata, data.frame(period=as.character(1:4), herd=rep("new",4))) expect_error(predict(gm1, newdata2), "new levels detected in newdata: new") newdata3 <- rbind(newdata, data.frame(period=as.character(1), herd = paste0("new", 1:50))) expect_error(predict(gm1, newdata3), "new levels detected in newdata: new1, new2,") p2 <- predict(gm1, newdata) p6 <- predict(gm1, newdata2, allow.new.levels=TRUE) expect_equal(p2, p6[1:length(p2)]) ## original values should match ## last 4 values should match unconditional values expect_true(all(tail(p6,4) == predict(gm1, newdata=data.frame(period=factor(1:4)), re.form=NA))) }) test_that("multi-group model", { ## fitted values p0 <- predict(fm3) expect_equal(head(round(p0,4)), c(`1` = 25.9638, `2` = 22.7663, `3` = 25.7147, `4` = 23.6799, `5` = 23.7629, `6` = 20.773)) ## fitted values, unconditional (level-0) p1 <- predict(fm3, re.form=NA) expect_equal(unique(p1),22.9722222222251) if (do.plots) matplot(cbind(p0,p1),col=1:2,type="b") }) test_that("multi-group model with new data", { newdata <- with(Penicillin,expand.grid(plate=unique(plate),sample=unique(sample))) ## new data, all RE p2 <- predict(fm3, newdata) ## new data, level-0 p3 <- predict(fm3, newdata, re.form=NA) ## explicitly specify RE p4 <- predict(fm3, newdata, re.form= ~(1|plate)+(~1|sample)) p4B <- predict(fm3, newdata, re.form= ~(1|sample)+(~1|plate)) ## **** expect_equal(p2,p4) expect_equal(p4,p4B) p5 <- predict(fm3,newdata, re.form=~(1|sample)) p6 <- predict(fm3,newdata, re.form=~(1|plate)) if (do.plots) matplot(cbind(p2,p3,p5,p6),type="b",lty=1,pch=16) }) test_that("random-slopes model", { p0 <- predict(fm2) p1 <- predict(fm2, re.form=NA) ## linear model, so results should be identical patterns but smaller -- ## not including intermediate days newdata <- with(sleepstudy,expand.grid(Days=range(Days),Subject=unique(Subject))) newdata$p2 <- predict(fm2,newdata) newdata$p3 <- predict(fm2,newdata, re.form=NA) newdata$p4 <- predict(fm2,newdata, re.form=~(0+Days|Subject)) newdata$p5 <- predict(fm2,newdata, re.form=~(1|Subject)) ## reference values from an apparently-working run refval <- structure( list(Days = c(0, 9, 0, 9, 0, 9), Subject = structure(c(1L, 1L, 2L, 2L, 3L, 3L), .Label = c("308", "309", "310", "330", "331", "332", "333", "334", "335", "337", "349", "350", "351", "352", "369", "370", "371", "372"), class = "factor"), p2 = c(253.663652396798, 430.66001930835, 211.006415533628, 227.634788908917, 212.444742696829, 257.61053840953), p3 = c(251.405104848485, 345.610678484848, 251.405104848485, 345.610678484848, 251.405104848485, 345.610678484848), p4 = c(251.405104848485, 428.401471760037, 251.405104848485, 268.033478223774, 251.405104848485, 296.570900561186), p5 = c(253.663652396798, 347.869226033161, 211.006415533628, 305.211989169991, 212.444742696829, 306.650316333193)), out.attrs = list(dim = c(Days = 2L, Subject = 18L), dimnames = list( Days = c("Days=0", "Days=9"), Subject = c("Subject=308", "Subject=309", "Subject=310", "Subject=330", "Subject=331", "Subject=332", "Subject=333", "Subject=334", "Subject=335", "Subject=337", "Subject=349", "Subject=350", "Subject=351", "Subject=352", "Subject=369", "Subject=370", "Subject=371", "Subject=372")) ), row.names = c(NA, 6L), class = "data.frame") expect_equal(head(newdata), refval, tol=5e-7) }) test_that("predict and plot random slopes", { tmpf <- function(data,...) { data$Reaction <- predict(fm2,data,...) if (do.plots) xyplot(Reaction~Days,group=Subject,data=data,type="l") return(unname(head(round(data$Reaction,3)))) } expect_equal(tmpf(sleepstudy),c(253.664, 273.33, 292.996, 312.662, 332.329, 351.995)) expect_equal(tmpf(sleepstudy, re.form=NA), c(251.405, 261.872, 272.34, 282.807, 293.274, 303.742)) expect_equal(tmpf(sleepstudy, re.form= ~(0+Days|Subject)), c(251.405, 271.071, 290.738, 310.404, 330.07, 349.736)) expect_equal(tmpf(sleepstudy, re.form= ~(1|Subject)), c(253.664, 264.131, 274.598, 285.066, 295.533, 306)) }) test_that("fewer random effect levels than original", { ## from 'Colonel Triq' summary(fm4) ## replicate 1 only appears in rows 1:18. ## rownames(cake[cake$replicate==1,]) predict(fm4, newdata=cake[-1:-17,], re.form=~ (1 | replicate)) predict(fm4, newdata=cake[-1:-18,], re.form=NA) predict(fm4, newdata=cake[-1:-18,], re.form=~ (1 | replicate)) predict(fm4, newdata=cake[-1:-18,], re.form=~ (1 | replicate), allow.new.levels=TRUE) ## p0 <- predict(fm1,newdata=data.frame(Days=6,Subject=c("308","309"))) p1 <- predict(fm1,newdata=data.frame(Days=rep(6,4), Subject=c("308","309"))) expect_equal(rep(unname(p0),2),unname(p1)) p2 <- predict(fm1,newdata=data.frame(Days=6,Subject="308")) nd <- data.frame(Days=6, Subject=factor("308",levels=levels(sleepstudy$Subject))) p3 <- predict(fm1,newdata=nd) expect_equal(p2,p3) expect_equal(p2,p0[1]) }) test_that("only drop columns when using new data", { ## Stack Overflow 34221564: ## should only drop columns from model matrix when using *new* data ## NB: Fit depends on optimizer somewhat: "nloptwrap" is really better than "bobyqa" library(splines) sleep <- sleepstudy #get the sleep data set.seed(1234567) sleep$age <- as.factor(sample(1:3,length(sleep),rep=TRUE)) form1 <- Reaction ~ Days + ns(Days, df=4) + age + Days:age + (Days | Subject) m4 <- lmer(form1, sleep) # fixed-effect model matrix is rank deficient so dropping 1 column / coefficient expect_lte(REMLcrit(m4), 1713.171) # FIXME !? why this regression?? had 1700.6431; "bobyqa" gave 1713.171 expect_equal(unname(head(predict(m4, re.form=NA))), c(255.203, 259.688, 265.71, 282.583, 294.784, 304.933), tolerance = 0.008) }) test_that("only look for columns that exist in re.form", { ## GH 457 set.seed(101) n <- 200 dd <- data.frame(x=1:n, f=factor(rep(1:10,n/10)), g=factor(rep(1:20,each=n/20)), h=factor(rep(1:5,n/5)), y=rnorm(n)) m1 <- lmer(y~1 + f + (1|h/f) + (poly(x,2)|g), data=dd, control=lmerControl(calc.derivs=FALSE)) expect_equal(unname(predict(m1,re.form= ~1 | h/f, newdata=dd[1,])), 0.14786, tolerance=1e-4) expect_equal(unname(predict(m1,re.form= ~poly(x,2) | g, newdata=dd[1,])), 0.1533, tolerance=.001) ## *last* RE not included (off-by-one error) m1B <- lmer(y~1 + f + (1|g) + (1|h), data=dd, control=lmerControl(calc.derivs=FALSE)) expect_equal(unname(predict(m1B,re.form=~(1|g),newdata=data.frame(f="1",g="2"))),0.1512895,tolerance=1e-5) set.seed(101) n <- 100 xx <- c("r1", "r2", "r3", "r4", "r5") xxx <- c("e1", "e2", "e3") p <- 0.3 School <- factor(sample(xxx, n, replace=TRUE), levels=xxx, ordered=FALSE) Rank <- factor(sample(xx, n, replace=TRUE), levels=xx, ordered=FALSE) df1 <- data.frame( ID = as.integer(runif(n, min = 1, max = n/7)), xx1 = runif(n, min = 0, max = 10), xx2 = runif(n, min = 0, max = 10), xx3 = runif(n, min = 0, max = 10), School, Rank, yx = as.factor(rbinom(n, size = 1, prob = p)) ) df1 <- df1[order(df1$ID, decreasing=FALSE),] mm2 <- glmer(yx ~ xx1 + xx2 + xx3 + Rank + (1 | ID) + (1 | School / Rank), data = df1, family = "binomial",control = glmerControl(calc.derivs =FALSE)) n11 <- data.frame(School= factor("e1", levels = levels(df1$School),ordered=FALSE), Rank = factor("r1", levels = levels(df1$Rank), ordered=FALSE), xx1=8.58, xx2=8.75, xx3=7.92) expect_equal(unname(predict(mm2, n11, type="response",re.form= ~(1 | School / Rank))), 0.1174628,tolerance=1e-5) ## bad factor levels mm3 <- update(mm2, . ~ . - (1|ID)) n12 = data.frame(School="e3",Rank="r2",xx1=8.58,xx2=8.75,xx3=7.92) expect_equal(unname(predict(mm3, n12, type="response")),0.1832894,tolerance=1e-5) ## GH #452 ## FIXME: would like to find a smaller/faster example that would test the same warning (10+ seconds) set.seed(101) n <- 300 df2 <- data.frame( xx1 = runif(n, min = 0, max = 10), xx2 = runif(n, min = 0, max = 10), xx3 = runif(n, min = 0, max = 10), School = factor(sample(xxx, n,replace=TRUE)), Rank = factor(sample(xx, n, replace=TRUE)), yx = as.factor(rbinom(n, size = 1, prob = p)) ) mm4 <- suppressWarnings(glmer(yx ~ xx1 + xx2 + xx3 + Rank + (Rank|School), data = df2, family = "binomial",control = glmerControl(calc.derivs =FALSE))) ## set tolerance to 0.1 (!) to pass win-builder on R-devel/i386 (only: ## tolerance = 3e-5 is OK for other combinations of (R-release, R-devel) x (i386,x64) expect_equal(unname(predict(mm4, n11, type="response")), 0.2675081, tolerance=0.1) }) test_that("simulation works with non-factor", { set.seed(12345) dd <- data.frame(a=gl(10,100), b = rnorm(1000)) test2 <- suppressMessages(simulate(~1+(b|a), newdata=dd, family=poisson, newparams= list(beta = c("(Intercept)" = 1), theta = c(1,1,1)))) expect_is(test2,"data.frame") }) set.seed(666) n <- 500 df <- data.frame(y=statmod::rinvgauss(n, mean=1, shape=2), id=factor(1:20)) model_fit <- glmer(y ~ 1 + (1|id), family = inverse.gaussian(link = "inverse"), data = df, control=glmerControl(check.conv.singular="ignore")) test_that("simulation works for inverse gaussian", { expect_equal(mean(simulate(model_fit)[[1]]), 1.02704392575914, tolerance=1e-5) }) test_that("simulation complains appropriately about bad family", { ig <- inverse.gaussian() ig$family <- "junk" model_fit2 <- glmer(y ~ 1 + (1|id), family = ig, data = df, control=glmerControl(check.conv.singular="ignore")) expect_error(simulate(model_fit2),"simulation not implemented for family") }) test_that("prediction from large factors", { set.seed(101) N <- 50000 X <- data.frame(y=rpois(N, 5), obs=as.factor(1:N)) fm <- glmer(y ~ (1|obs), family="poisson", data=X, control=glmerControl(check.conv.singular="ignore")) ## FIXME: weak tests. The main issue here is that these should ## be reasonably speedy and non-memory-hogging, but those are ## hard to test portably ... expect_is(predict(fm, re.form=~(1|obs)), "numeric") expect_is(predict(fm, newdata=X), "numeric") }) test_that("prediction with gamm4", { if (suppressWarnings(requireNamespace("gamm4"))) { ## loading gamm4 warngs "replacing previous import 'Matrix::update' by 'lme4::update' when loading 'gamm4'" ## from ?gamm4 set.seed(0) ## simulate 4 term additive truth dat <- mgcv::gamSim(1,n=400,scale=2,verbose=FALSE) ## Now add 20 level random effect `fac'... dat$fac <- fac <- as.factor(sample(1:20,400,replace=TRUE)) dat$y <- dat$y + model.matrix(~fac-1)%*%rnorm(20)*.5 br <- gamm4::gamm4(y~s(x0)+x1+s(x2),data=dat,random=~(1|fac)) expect_warning(ss <- simulate(br$mer), "modified RE names") expect_equal(dim(ss), c(400,1)) } }) test_that("prediction with spaces in variable names", { cbpp$`silly period` <- cbpp$period m <- glmer(cbind(incidence,size-incidence) ~ `silly period` + (1|herd), family=binomial, data=cbpp) expect_equal(round(head(predict(m)),3), c(`1` = -0.809, `2` = -1.801, `3` = -1.937, `4` = -2.388, `5` = -1.697, `6` = -2.689)) }) if (requireNamespace("statmod")) { test_that("simulate with rinvgauss", { dd <- data.frame(f=factor(rep(1:20,each=10))) dd$y <- simulate(~1+(1|f), seed=101, family=inverse.gaussian, newdata=dd, ## ?? gives NaN (sqrt(eta)) for low beta ? newparams=list(beta=5,theta=1,sigma=1))[[1]] suppressMessages(m <- glmer(y~1+(1|f), family=inverse.gaussian, data=dd)) set.seed(101) expect_equal(head(unlist(simulate(m))), c(sim_11 = 0.451329390087728, sim_12 = 0.629516371309772, sim_13 = 0.481236633500098, sim_14 = 0.170060386109077, sim_15 = 0.258742371516342, sim_16 = 0.949617440586848)) }) } ## GH 631 test_that("sparse contrasts don't mess up predict()", { dd <- expand.grid(f = factor(1:101), rep1 = factor(1:2), rep2 = 1:2) dd$y <- suppressMessages(simulate(~1 + (rep1|f), seed = 101, newdata = dd, newparams = list(beta = 1, theta = rep(1,3), sigma = 1), family = gaussian)[[1]]) m1 <- lmer( y ~ 1 + (1|f), data = dd) p1 <- predict(m1) p2 <- predict(m1, newdata = dd) expect_identical(p1, p2) }) } ## testLevel > 1 test_that("prediction with . in formula + newdata", { set.seed(101) mydata <- data.frame( groups = rep(1:3, each = 100), x = rnorm(300), dv = rnorm(300) ) train_subset <- sample(1:300, 300 * .8) train <- mydata[train_subset,] test <- mydata[-train_subset,] mod <- lmer(dv ~ . - groups + (1 | groups), data = train) p1 <- predict(mod, newdata = test) mod2 <- lmer(dv ~ x + (1 | groups), data = train) p2 <- predict(mod2, newdata = test) expect_identical(p1, p2) }) test_that("simulate with a factor with one level", { set.seed(1241) y <- factor(c(rep(0,1000), 1, rep(0,1000), 1), levels = c("0","1")) x <- rep(c("A","B"),each = 1001) mod <- glmer(y ~ 1 + (1|x),family = binomial, control = glmerControl(check.conv.singular = "ignore")) s <- simulate(mod,newdata = data.frame(x = "A"), nsim = 10) ## very low mean, all simulated values zero expect_true(all(s == 0)) }) test_that("prediction standard error", { # note that predict.lm returns a list with # fit, se.fit, df, residual.scale mod1 <- lmer(Petal.Width ~ Sepal.Length + (1 | Species), iris) p1 <- predict(mod1, se.fit = TRUE) p2 <- predict(mod1, se.fit = TRUE, newdata = iris) p3 <- predict(mod1, se.fit = TRUE, re.form = NA, newdata = iris) p4 <- predict(mod1, se.fit = TRUE, re.form = NA) p5 <- predict(mod1, se.fit = TRUE, re.form = ~(1 | Species)) p6 <- predict(mod1, se.fit = TRUE, re.form = ~(1 | Species), newdata = iris) p7 <- predict(mod1, se.fit = TRUE, newdata = iris, random.only = TRUE) p8 <- predict(mod1, se.fit = TRUE, re.form = ~(1 | Species), random.only = TRUE) p9 <- predict(mod1, se.fit = TRUE, re.form = ~(1 | Species), newdata = iris, random.only = TRUE) expect_equal(unname(head(p1$se.fit)), c(0.0271816400250223, 0.0272298862268211, 0.0286188379907626, 0.0297645467444413, 0.0270330515271627, 0.0295876265523127)) # re.form = NA expect_equal(unname(head(p3$se.fit)), c(0.451147865048879, 0.451497971849052, 0.451930732595154, 0.452178035807842, 0.451312573619068, 0.450778089845166)) # random.only may need checking -- tolerance maybe too high for this? expect_equal(unname(p8$se.fit), rep(0.451569712647126, 150), tolerance = 0.001) expect_equal(p1, p2) expect_equal(p3, p4) expect_equal(p1, p5) expect_equal(p1, p6) expect_equal(p7, p8) expect_equal(p7, p9) }) test_that("NA + re.form = NULL + simulate OK (GH #737)", { d <- lme4::sleepstudy d$Reaction[1] <- NA fm1 <- lmer(Reaction ~ Days + (Days | Subject), d) ss <- simulate(fm1, seed = 101, re.form = NULL)[[1]] expect_equal(c(head(ss)), c(266.139101412856, 308.148180398426, 296.081377893883, 338.367909016478, 360.294339946214, 401.91050930589)) ss0 <- simulate(fm1, seed = 101, re.form = NA)[[1]] expect_equal(length(ss), length(ss0)) ## correct dimensions with na.exclude as well ? fm2 <- update(fm1, na.action = na.exclude) ss2 <- simulate(fm2, seed = 101, re.form = NULL)[[1]] ss3 <- simulate(fm2, seed = 101, re.form = NA)[[1]] expect_equal(length(ss2), nrow(d)) expect_equal(length(ss3), nrow(d)) }) ## GH 691 parts 1 and 2 test_that("predict works with factors in left-out REs", { set.seed(101) df2 <- data.frame(yield = rnorm(100), lc = factor(rep(1:2, 50)), g1 = factor(rep(1:10, 10)), g3 = factor(rep(1:10, each = 10))) m1B <- lmer(yield ~ 1 + ( 1 | g1) + (lc |g3), data = df2, control = lmerControl(check.conv.singular = "ignore")) expect_equal(head(predict(m1B, re.form = ~(1|g1)),1), c(`1` = 0.146787496519465), tolerance = 1e-4) }) test_that("predict works with dummy() in left-out REs", { set.seed(101) df3 <- data.frame(v1 = rnorm(100), v3 = factor(rep(1:10, each = 10)), v4 = factor(rep(1:2, each = 50)), v5 = factor(rep(1:10, 10))) m1C <- lmer(v1~(1|v3) + (0+dummy(v4,"1")|v5), data = df3, control=lmerControl(check.nobs.vs.nlev="ignore", check.nobs.vs.nRE="ignore", check.conv.singular = "ignore")) expect_equal(head(predict(m1C, re.form = ~1|v3), 1), c(`1` = -0.035719520719991)) }) lme4/tests/testthat/test-summary.R0000644000176200001440000000462314630365604016726 0ustar liggesuserslibrary("testthat") try(detach("package:lmerTest"), silent = TRUE) library("lme4") testLevel <- if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 context("summarizing/printing models") test_that("lmer", { set.seed(0) J <- 8 n <- 10 N <- J * n beta <- c(5, 2, 4) u <- matrix(rnorm(J * 3), J, 3) x.1 <- rnorm(N) x.2 <- rnorm(N) g <- rep(1:J, rep(n, J)) y <- 1 * (beta[1] + u[g,1]) + x.1 * (beta[2] + u[g,2]) + x.2 * (beta[3] + u[g,3]) + rnorm(N) tmpf <- function(x) capture.output(print(summary(x),digits=1)) tfun <- function(cc) { w <- grep("Fixed effects:", cc) cc[w:length(cc)] } C1 <- lmerControl(optimizer="nloptwrap", optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6)) m1 <- lmer(y ~ x.1 + x.2 + (1 + x.1 | g), control=C1) m2 <- lmer(y ~ x.1 + x.2 + (1 + x.1 + x.2 | g), control=C1) cc1 <- tmpf(m1) cc2 <- tmpf(m2) ## FIXME: correlation of fixed effects printed inconsistently. ## If (1) LME4_TEST_LEVEL == 100 *and* after running all of prior ## tests, something (package load? options setting?) changes ## so that the fixed-effect correlations are no longer printed ## out, and this test fails ## would like to sort this out but realistically not sure it's worth it? t1 <- tfun(cc1) vv <- vcov(m1) ss <- sessionInfo() save(m1, vv, ss, file = sprintf("test-summary_testlevel_%d.rda", testLevel)) expect_equal(t1, c("Fixed effects:", " Estimate Std. Error t value", "(Intercept) 5.4 0.5 12", "x.1 1.9 0.4 5", "x.2 4.0 0.1 28", "", "Correlation of Fixed Effects:", " (Intr) x.1 ", "x.1 -0.019 ", "x.2 0.029 -0.043" )) expect_equal(tfun(cc2), c("Fixed effects:", " Estimate Std. Error t value", "(Intercept) 5.4 0.4 12", "x.1 2.0 0.4 5", "x.2 4.0 0.3 15", "", "Correlation of Fixed Effects:", " (Intr) x.1 ", "x.1 -0.069 ", "x.2 0.136 -0.103" )) }) lme4/tests/predsim.R0000644000176200001440000000460214635070445014055 0ustar liggesusers## compare range, average, etc. of simulations to ## conditional and unconditional prediction library(lme4) do.plot <- FALSE if (.Platform$OS.type != "windows") { ## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } fm1 <- lmer(Reaction~Days+(1|Subject),sleepstudy) set.seed(101) pp <- predict(fm1) rr <- range(usim2 <- simulate(fm1,1,use.u=TRUE)[[1]]) stopifnot(all.equal(rr,c(159.3896,439.1616),tolerance=1e-6)) if (do.plot) { plot(pp,ylim=rr) lines(sleepstudy$Reaction) points(simulate(fm1,1)[[1]],col=4) points(usim2,col=2) } set.seed(101) ## conditional prediction ss <- simulate(fm1,1000,use.u=TRUE) ss_sum <- t(apply(ss,1,quantile,c(0.025,0.5,0.975))) plot(pp) matlines(ss_sum,col=c(1,2,1),lty=c(2,1,2)) stopifnot(all.equal(ss_sum[,2],pp,tolerance=5e-3)) ## population-level prediction pp2 <- predict(fm1, re.form=NA) ss2 <- simulate(fm1,1000,use.u=FALSE) ss_sum2 <- t(apply(ss2,1,quantile,c(0.025,0.5,0.975))) if (do.plot) { plot(pp2,ylim=c(200,400)) matlines(ss_sum2,col=c(1,2,1),lty=c(2,1,2)) } stopifnot(all.equal(ss_sum2[,2],pp2,tolerance=8e-3)) ## predict(...,newdata=...) on models with derived variables in the random effects ## e.g. (f:g, f/g) set.seed(101) d <- expand.grid(f=factor(letters[1:10]),g=factor(letters[1:10]), rep=1:10) d$y <- rnorm(nrow(d)) m1 <- lmer(y~(1|f:g),d) p1A <- predict(m1) p1B <- predict(m1,newdata=d) stopifnot(all.equal(p1A,p1B)) m2 <- lmer(y~(1|f/g),d) p2A <- predict(m2) p2B <- predict(m2,newdata=d) stopifnot(all.equal(p2A,p2B)) ## with numeric grouping variables dn <- transform(d,f=as.numeric(f),g=as.numeric(g)) m1N <- update(m1,data=dn) p1NA <- predict(m1N) p1NB <- predict(m1N,newdata=dn) stopifnot(all.equal(p1NA,p1NB)) ## simulate with modified parameters set.seed(1) s1 <- simulate(fm1) set.seed(1) s2 <- simulate(fm1,newdata=model.frame(fm1), newparams=getME(fm1,c("theta","beta","sigma"))) all.equal(s1,s2) fm0 <- update(fm1,.~.-Days) ## ## sim() -> simulate() -> refit() -> deviance ## ## predictions and simulations with offsets set.seed(101) d <- data.frame(y=rpois(100,5),x=rlnorm(100,1,1), f=factor(sample(10,size=100,replace=TRUE))) gm1 <- glmer(y~offset(log(x))+(1|f),data=d, family=poisson) s1 <- simulate(gm1) } ## skip on windows (for speed) lme4/tests/nlmer-conv.R0000644000176200001440000000171214630365604014470 0ustar liggesusers### nlmer() convergence testing / monitoring / ... ## ------------------- ### The output of tests here are *not* 'diff'ed (<==> no *.Rout.save file) library(lme4) ## 'Theoph' Data modeling if (lme4:::testLevel() > 1) { Th.start <- c(lKe=-2.5, lKa=0.5, lCl=-3) (nm2 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ lKe + lKa + lCl|Subject, Theoph, start = Th.start)) (nm3 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKe|Subject) + (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start)) ## dropping lKe from random effects: (nm4 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ lKa + lCl|Subject, Theoph, start = Th.start, control = nlmerControl(tolPwrss=1e-8))) (nm5 <- nlmer(conc ~ SSfol(Dose, Time,lKe, lKa, lCl) ~ (lKa|Subject) + (lCl|Subject), Theoph, start = Th.start)) } lme4/tests/lmer2_ex.R0000644000176200001440000000564314327770071014135 0ustar liggesusersstopifnot(suppressPackageStartupMessages(require(lme4))) ## Using simple generated data -- fully balanced here, unbalanced later set.seed(1) dat <- within(data.frame(lagoon = factor(rep(1:4, each = 25)), habitat = factor(rep(1:20, each = 5))), { ## a simple lagoon effect but no random effect y <- round(10*rnorm(100, m = 10*as.numeric(lagoon))) ## Here, *with* an RE, sigma_a = 100 RE <- rep(round(rnorm(nlevels(habitat), sd = 100)), each = 5) y2 <- y + RE }) ## FIXME: want lmer(* , sparseX = TRUE ) {as in lme4a} if (FALSE) { # need to adapt to new structure ##' ##' ##'
##' @title Comparing the different versions of lmer() for same data & model ##' @param form ##' @param data ##' @param verbose ##' @return chkLmers <- function(form, data, verbose = FALSE, tol = 200e-7) # had tol = 7e-7 working .. { # m <- lmer1(form, data = data) # ok, and more clear # m. <- lmer1(form, data = data, sparseX = TRUE, verbose = verbose) m2 <- lmer (form, data = data, verbose = verbose) # lmem-dense m2. <- lmer (form, data = data, sparseX = TRUE, verbose = verbose) ## Eq <- function(x,y) all.equal(x,y, tolerance = tol) stopifnot(## Compare sparse & dense of the new class results identical(slotNames(m2), slotNames(m2.)) , identical(slotNames(m2@fe), slotNames(m2.@fe)) , Eq(m2@resp, m2.@resp) , Eq(m2@re, m2.@re) , Eq(m2@fe@coef, m2.@fe@coef) , ## and now compare with the "old" (class 'mer') # Eq(unname(fixef(m)), m2@fe@beta) # , # Eq(unname(fixef(m.)), m2.@fe@beta) # , ## to do ## all.equal(ranef(m)), m2@re) ## all.equal(ranef(m.)), m2.@re) TRUE) invisible(list(#m=m, m.=m., m2 = m2, m2. = m2.)) } chk1 <- chkLmers(y ~ 0+lagoon + (1|habitat), data = dat, verbose = TRUE) chk2 <- chkLmers(y2 ~ 0+lagoon + (1|habitat), data = dat, verbose = TRUE) chk1$m2 ## show( lmer() ) -- sigma_a == 0 chk2$m2. ## show( lmer( ) ) -- n <- nrow(dat) for(i in 1:20) { iOut <- sort(sample(n, 1+rpois(1, 3), replace=FALSE)) cat(i,": w/o ", paste(iOut, collapse=", ")," ") chkLmers(y ~ 0+lagoon + (1|habitat), data = dat[- iOut,]) chkLmers(y2 ~ lagoon + (1|habitat), data = dat[- iOut,]) cat("\n") } ## One (rare) example where the default tolerance is not sufficient: dat. <- dat[- c(14, 34, 66, 67, 71, 88),] try( chkLmers(y ~ 0+lagoon + (1|habitat), data = dat.) ) ## Error: Eq(unname(fixef(m)), m2@fe@beta) is not TRUE ## ## but higher tolerance works: chkLmers(y ~ 0+lagoon + (1|habitat), data = dat., tol = 2e-4, verbose=TRUE) } proc.time() sessionInfo() lme4/tests/lmer-conv.R0000644000176200001440000000133214630365604014310 0ustar liggesusersif (lme4:::testLevel() > 1 || .Platform$OS.type!="windows") { ### lmer() convergence testing / monitoring / ... ## ------------------ ### The output of tests here are *not* 'diff'ed (<==> no *.Rout.save file) library(lme4) ## convergence on boundary warnings load(system.file("external/test3comp.rda", package = "Matrix")) b3 <- lmer(Y3 ~ (1|Sample) + (1|Operator/Run), test3comp, verb = TRUE) if (isTRUE(try(data(Early, package = 'mlmRev')) == 'Early')) { Early$tos <- Early$age - 0.5 # time on study b1 <- lmer(cog ~ tos + trt:tos + (tos|id), Early, verb = TRUE) } cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons'' } ## skip on windows (for speed) lme4/tests/REMLdev.R0000644000176200001440000000262114630365604013646 0ustar liggesuserslibrary(lme4) ## show important current settings {for reference, etc} -- [early, and also on Windows !]: str( lmerControl()) str(glmerControl()) str(nlmerControl()) ls.str(environment(nloptwrap)) ## fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) fm1ML <- refitML(fm1) REMLcrit(fm1) deviance(fm1ML) deviance(fm1,REML=FALSE) ## FIXME: not working yet (NA) deviance(fm1,REML=TRUE) ## from lme4.0 oldvals <- c(REML=1743.6282722424, ML=1751.98581103058) ## leave out ML values for REML fits for now ... stopifnot( all.equal(REMLcrit(fm1),deviance(fm1,REML=TRUE),deviance(fm1ML,REML=TRUE),oldvals["REML"]), all.equal(deviance(fm1ML),deviance(fm1ML,REML=FALSE),oldvals["ML"]), all.equal(REMLcrit(fm1)/-2,c(logLik(fm1)),c(logLik(fm1ML,REML=TRUE)),c(logLik(fm1,REML=TRUE))), all.equal(deviance(fm1ML)/-2,c(logLik(fm1ML,REML=FALSE)), c(logLik(fm1ML,REML=FALSE)))) ## should be: ## stopifnot( ## all.equal(deviance(fm1),deviance(fm1,REML=TRUE),deviance(fm1ML,REML=TRUE),oldvals["REML"]), ## all.equal(deviance(fm1ML),deviance(fm1,REML=FALSE),deviance(fm1ML,REML=FALSE),oldvals["ML"]), ## all.equal(deviance(fm1)/2,c(logLik(fm1)),c(logLik(fm1ML,REML=TRUE)),c(logLik(fm1,REML=TRUE))), ## all.equal(deviance(fm1ML)/2,c(logLik(fm1,REML=FALSE)),c(logLik(fm1ML,REML=FALSE)), ## c(logLik(fm1ML,REML=FALSE)))) lme4/tests/agridat_gotway.R0000644000176200001440000000462314630365604015421 0ustar liggesusers## require(agridat) ## dat <- gotway.hessianfly if (.Platform$OS.type != "windows") { ## don't actually use gotway_hessianfly_fit or gotway_hessianfly_prof, ## so we should be OK even with R< 3.0.1 load(system.file("testdata","gotway_hessianfly.rda",package="lme4")) # Block random. See Glimmix manual, output 1.18. # Note: (Different parameterization) ## require("lme4.0") ## fit2 <- glmer(cbind(y, n-y) ~ gen + (1|block), data=dat, family=binomial) ## params <- list(fixef=fixef(fit2),theta=getME(fit2,"theta")) ## detach("package:lme4.0") lme4.0fit <- structure(list(fixef = structure(c(1.50345713031203, -0.193853259383803, -0.540808391060274, -1.43419379979154, -0.203701042949808, -0.978322555343941, -0.604078624475678, -1.67742449813309, -1.39842466673692, -0.681709344788684, -1.46295367186169, -1.45908310198959, -3.55285756517073, -2.50731975980307, -2.08716296677356, -2.96974270029992), .Names = c("(Intercept)", "genG02", "genG03", "genG04", "genG05", "genG06", "genG07", "genG08", "genG09", "genG10", "genG11", "genG12", "genG13", "genG14", "genG15", "genG16")), theta = structure(0.0319087494293615, .Names = "block.(Intercept)")), .Names = c("fixef", "theta")) ## start doesn't work because we don't get there library(lme4) m1 <- glmer(cbind(y, n-y) ~ gen + (1|block), data=gotway.hessianfly, family=binomial) m1B <- update(m1,control=glmerControl(optimizer="bobyqa")) max(abs(m1@optinfo$derivs$gradient)) ## 0.0012 max(abs(m1B@optinfo$derivs$gradient)) ## 2.03e-5 abs(m1@optinfo$derivs$gradient)/abs(m1B@optinfo$derivs$gradient) ## bobyqa gets gradients *at least* 1.64* lower lme4fit <- list(fixef=fixef(m1),theta=getME(m1,"theta")) ## hack around slight naming differences lme4fit$theta <- unname(lme4fit$theta) lme4.0fit$theta <- unname(lme4.0fit$theta) ## difference in theta on x86_64-w64-mingw32 (64-bit) with r-devel is 0.000469576 stopifnot(all.equal(lme4fit, lme4.0fit, tolerance = 5e-4)) ## Fun stuff: visualize and alternative model ## library(ggplot2) ## dat$prop <- dat$y/dat$n ## theme_set(theme_bw()) ## ggplot(dat,aes(x=gen,y=prop,colour=block))+geom_point(aes(size=n))+ ## geom_line(aes(group=block,colour=block))+ ## geom_smooth(family=binomial,aes(weight=n,colour=block,group=block),method="glm", ## alpha=0.1) ## dat$obs <- factor(seq(nrow(dat))) ## m2 <- glmer(cbind(y, n-y) ~ block+ (1|gen) + (1|obs), data=dat, family=binomial) } ## not on windows/CRAN lme4/tests/modFormula.R0000644000176200001440000000501114630365604014511 0ustar liggesusersif (.Platform$OS.type != "windows") { library(lme4) library(testthat) .get.checkingOpts <- lme4:::.get.checkingOpts stopifnot(identical( .get.checkingOpts( c("CheckMe", "check.foo", "check.conv.1", "check.rankZ", "check.rankX")) , c("check.foo", "check.rankZ"))) lmod <- lFormula(Reaction ~ Days + (Days|Subject), sleepstudy) devfun <- do.call(mkLmerDevfun, lmod) opt <- optimizeLmer(devfun) cc <- lme4:::checkConv(attr(opt,"derivs"), opt$par, ctrl = lmerControl()$checkConv, lbound=environment(devfun)$lower) fm1 <- mkMerMod(environment(devfun), opt, lmod$reTrms, fr = lmod$fr, lme4conv=cc) fm2 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ## basic equivalence fm1C <- fm1 fm1C@call <- fm2@call expect_equal(fm2,fm1C) expect_equal(range(residuals(fm1)), c(-101.18, 132.547), tolerance = 1e-5) # these are "outliers"! expect_is(model.frame(fm1),"data.frame") ## formulae mfm1 <- model.frame(fm1) expect_equal(formula(fm1), Reaction ~ Days + (Days | Subject)) expect_equal(formula(terms(mfm1)), Reaction ~ Days + (Days + Subject)) new_form_modframe <- (getRversion() >= "3.6.0" && as.numeric(version[["svn rev"]]) >= 75891) expect_equal(formula(mfm1), if(new_form_modframe) { Reaction ~ Days + (Days + Subject) } else Reaction ~ Days + Subject ) ## predictions expect_equal(predict(fm1,newdata=sleepstudy[1:10,],re.form=NULL), predict(fm2,newdata=sleepstudy[1:10,],re.form=NULL)) expect_equal(predict(fm1,newdata=sleepstudy), predict(fm1)) lmodOff <- lFormula(Reaction ~ Days + (Days|Subject) + offset(0.5*Days), sleepstudy) devfunOff <- do.call(mkLmerDevfun, lmodOff) opt <- optimizeLmer(devfunOff) fm1Off <- mkMerMod(environment(devfunOff), opt, lmodOff$reTrms, fr = lmodOff$fr) fm2Off <- lmer(Reaction ~ Days + (Days|Subject) + offset(0.5*Days), sleepstudy) expect_equal(predict(fm1Off,newdata=sleepstudy[1:10,],re.form=NULL), predict(fm2Off,newdata=sleepstudy[1:10,],re.form=NULL)) ## FIXME: need more torture tests with offset specified, in different environments ... ## FIXME: drop1(.) doesn't work with modular objects ... hard to see how it ## could, though ... ## drop1(fm1Off) drop1(fm2Off) } ## skip on windows (for speed) lme4/tests/drop1contrasts.R0000644000176200001440000000144414630365604015400 0ustar liggesusers## drop1 may not work right with contrasts: make up an example something like this ... ## options(contrasts=c("contr.sum","contr.poly")) ## drop1(fecpoiss_lm3,test="Chisq",scope=.~.) if (.Platform$OS.type != "windows") withAutoprint({ library(lme4) oldopts <- options(contrasts=c("contr.sum","contr.poly")) fm1 <- lmer(Reaction~Days+(Days|Subject),data=sleepstudy) drop1(fm1,test="Chisq") ## debug(lme4:::drop1.merMod) drop1(fm1,test="Chisq",scope=.~.) fm0 <- lm(Reaction~Days+Subject,data=sleepstudy) drop1(fm0,test="Chisq",scope=.~.) options(oldopts) ## restore original contrasts ff <- function() { lmer(Reaction~Days+(Days|Subject),data=sleepstudy) } drop1(ff()) ## OK because sleepstudy is accessible! }) ## skip on windows (for speed) lme4/tests/priorWeights.R0000644000176200001440000001340714630365604015102 0ustar liggesusers## use old (<=3.5.2) sample() algorithm if necessary if ("sample.kind" %in% names(formals(RNGkind))) { suppressWarnings(RNGkind("Mersenne-Twister", "Inversion", "Rounding")) } compFunc <- function(lmeMod, lmerMod, tol = 1e-2){ lmeVarCorr <- nlme:::VarCorr(lmeMod)[,"StdDev"] lmeCoef <- summary(lmeMod)$tTable[,-c(3,5)] lmeOut <- c(as.numeric(lmeVarCorr), as.numeric(lmeCoef)) keep <- !is.na(lmeOut) lmeOut <- lmeOut[keep] dn <- dimnames(lmeCoef) if(is.null(dn)) dn <- list("", names(lmeCoef)) names(lmeOut) <- c( paste(names(lmeVarCorr), "Var"), as.character(do.call(outer, c(dn, list("paste")))))[keep] ## get nested RE variances in the same order as nlme ## FIXME: not sure if this works generally vcLmer <- VarCorr(lmerMod) vcLmer <- vcLmer[length(vcLmer):1] ## lmerVarCorr <- c(sapply(vcLmer, attr, "stddev"), attr(VarCorr(lmerMod), "sc")) ## differentiate lme4{new} and lme4.0 : lmerCoef <- if(is(lmerMod, "merMod")) summary(lmerMod)$coefficients else summary(lmerMod)@coefs lmerOut <- c(lmerVarCorr, as.numeric(lmerCoef)) names(lmerOut) <- names(lmeOut) return(list(target = lmeOut, current = lmerOut, tolerance = tol)) } if (.Platform$OS.type != "windows") { set.seed(1) nGroups <- 100 nObs <- 1000 # explanatory variable with a fixed effect explVar1 <- rnorm(nObs) explVar2 <- rnorm(nObs) # random intercept among levels of a grouping factor groupFac <- as.factor(rep(1:nGroups,each=nObs/nGroups)) randEff0 <- rep(rnorm(nGroups),each=nObs/nGroups) randEff1 <- rep(rnorm(nGroups),each=nObs/nGroups) randEff2 <- rep(rnorm(nGroups),each=nObs/nGroups) # residuals with heterogeneous variance residSD <- rpois(nObs,1) + 1 residError <- rnorm(nObs,sd=residSD) # response variable respVar <- randEff0 + (1+randEff1)*explVar1 + (1+randEff2)*explVar2 + residError # rename to fit models on one line y <- respVar x <- explVar1 z <- explVar2 g <- groupFac v <- residSD^2 w <- 1/v library("nlme") lmeMods <- list( ML1 = lme(y ~ x, random = ~ 1|g, weights = varFixed(~v), method = "ML"), REML1 = lme(y ~ x, random = ~ 1|g, weights = varFixed(~v), method = "REML"), ML2 = lme(y ~ x, random = ~ x|g, weights = varFixed(~v), method = "ML"), REML2 = lme(y ~ x, random = ~ x|g, weights = varFixed(~v), method = "REML"), ML1 = lme(y ~ x+z, random = ~ x+z|g, weights = varFixed(~v), method = "ML"), REML2 = lme(y ~ x+z, random = ~ x+z|g, weights = varFixed(~v), method = "REML")) library("lme4") lmerMods <- list( ML1 = lmer(y ~ x + (1|g), weights = w, REML = FALSE), REML1 = lmer(y ~ x + (1|g), weights = w, REML = TRUE), ML2 = lmer(y ~ x + (x|g), weights = w, REML = FALSE), REML2 = lmer(y ~ x + (x|g), weights = w, REML = TRUE), ML3 = lmer(y ~ x + z + (x+z|g), weights = w, REML = FALSE), REML3 = lmer(y ~ x + z + (x+z|g), weights = w, REML = TRUE)) comp <- mapply(compFunc, lmeMods, lmerMods, SIMPLIFY=FALSE) stopifnot(all(sapply(comp, do.call, what = all.equal))) ## Look at the relative differences: sapply(mapply(compFunc, lmeMods, lmerMods, SIMPLIFY=FALSE, tol = 0), do.call, what = all.equal) ## add simulated weights to the sleepstudy example n <- nrow(sleepstudy) v <- rpois(n,1) + 1 w <- 1/v sleepLme <- lme(Reaction ~ Days, random = ~ Days|Subject, sleepstudy, weights = varFixed(~v), method = "ML") sleepLmer <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, weights = w, REML = FALSE) sleepComp <- compFunc(sleepLme, sleepLmer) stopifnot(do.call(all.equal, sleepComp)) ## look at relative differences: sleepComp$tolerance <- 0 do.call(all.equal, sleepComp) if (require("mlmRev")) { n <- nrow(Chem97) v <- rpois(n,1) + 1 w <- 1/v Chem97Lme <- lme(score ~ 1, random = ~ 1|lea/school, Chem97) Chem97Lmer <- lmer(score ~ (1|lea/school), Chem97) Chem97Comp <- compFunc(Chem97Lme, Chem97Lmer) stopifnot(do.call(all.equal, Chem97Comp)) ## look at relative differences: Chem97Comp$tolerance <- 0 do.call(all.equal, Chem97Comp) } set.seed(2) n <- 40 w <- runif(n) x <- runif(n) g <- factor(sample(1:10,n,replace=TRUE)) Z <- model.matrix(~g-1); y <- Z%*%rnorm(ncol(Z)) + x + rnorm(n)/w^.5 m <- lmer(y ~ x + (1|g), weights=w, REML = TRUE) ## CRAN-forbidden: ## has4.0 <- require("lme4.0")) has4.0 <- FALSE if(has4.0) { ## m.0 <- lme4.0::lmer(y ~ x + (1|g), weights=w, REML = TRUE) lmer0 <- get("lmer", envir=asNamespace("lme4.0")) m.0 <- lmer0(y ~ x + (1|g), weights=w, REML = TRUE) dput(fixef(m.0)) # c(-0.73065400610675, 2.02895402562926) dput(sigma(m.0)) # 1.73614301673377 dput(VarCorr(m.0)$g[1,1]) # 2.35670451590395 dput(unname(coef(summary(m.0))[,"Std. Error"])) ## c(0.95070076853232, 1.37650858268602) } fixef_lme4.0 <- c(-0.7306540061, 2.0289540256) sigma_lme4.0 <- 1.7361430 Sigma_lme4.0 <- 2.3567045 SE_lme4.0 <- c(0.95070077, 1.37650858) if(has4.0) try(detach("package:lme4.0")) stopifnot(all.equal(unname(fixef(m)), fixef_lme4.0, tolerance = 1e-3)) all.equal(unname(fixef(m)), fixef_lme4.0, tolerance = 0) #-> 1.657e-5 ## but these are not at all equal : (all.equal(sigma(m), sigma_lme4.0, tolerance = 10^-3)) # 0.4276 (all.equal(as.vector(VarCorr(m)$g), Sigma_lme4.0, tolerance = 10^-3)) # 1.038 (all.equal(as.vector(summary(m)$coefficients[,2]), SE_lme4.0, tolerance = 10^-3)) # 0.4276 ## so, lme4.0 was clearly wrong here ##' make sure models that differ only in a constant ##' prior weight have identical deviance: fm <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy,REML=FALSE) fm_wt <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy, weights = rep(5, nrow(sleepstudy)),REML=FALSE) all.equal(deviance(fm), deviance(fm_wt)) } ## skip on windows (for speed) lme4/MD50000644000176200001440000003603414641242116011432 0ustar liggesusers2e5b726f280690ac96aa8279ec72c848 *ChangeLog 10b5b06e21d7d3a4404f3ddf7a869aa5 *DESCRIPTION c75721978ea4c8363ac3575f9c73ab5b *LICENSE.note 336fd453d19dab80f73d9c632a6317ce *NAMESPACE afd711c6c33c483ebe5399e100dc0b13 *R/AllClass.R c1eda7d4300d934fccc1271aba17f3a1 *R/AllGeneric.R 06258906fcb33c60df0495fc736fd54d *R/GHrule.R f6c82f2f97193a78e485bc127598fffd *R/allFit.R 3ab1905c48a13e835d3f477f88dad24f *R/bootMer.R 62b0b1adba8ca456c428f850eafd0343 *R/checkConv.R 6cdc50a61ae595a0694fecbd5ac4c3d9 *R/deriv.R 977d9b9359bf2288205f43ce6ec2a4f8 *R/error_factory.R 29b6afe495b5ece2876fae4437028406 *R/lmList.R 5017583c492d0ac0f869e4354156dbe5 *R/lmer.R cc1cd19af8888f6c89f772b86419a788 *R/lmerControl.R 4bde5438bd9ddba5d3cd26e5a43a494b *R/mcmcsamp.R 552b034ea37bd4a89141ae77be462ab3 *R/methods.R 2c2ffae4d9232a7f19ba569c97bd407e *R/modular.R fce30fededd71e3c542daf4f1a12f04c *R/nbinom.R e81eeaea1aed45340dc7c174f1d70291 *R/optimizer.R 86314743a4dfee67e59594518bb09360 *R/plot.R 8d2664f50aa1a47013591cf615bba911 *R/plots.R 5457209a8147211706bb58ab6481d910 *R/predict.R 859f74c7d3a88475c790ac182b79eba6 *R/profile.R b0c02d0440df7255bfebefc55ecf9881 *R/rePCA.R 301c7dc5694f9591adf7c237c0f1284e *R/simulate.formula.R 7b20c93bea72e7623e2899de44fb370b *R/sparsegrid.R e057bf248efa620aa2c5c7ad122cd98d *R/sysdata.rda 47767026906d97fffa57f3794d87e462 *R/utilities.R 6eedd85037874069e2d5564c3cd19206 *R/vcconv.R 0ba27624906e58040c9d6015ef2e9a99 *R/zzz.R b52aabe9a2757fc86742763db9dafc9b *build/partial.rdb 7bc318bd78805986c1c56819f9e1bb12 *build/vignette.rds 7b16a3ab29bb34e105b8edd5333ae95d *data/Arabidopsis.rda 8cf70603a6660d10c170d9e7159c2951 *data/Dyestuff.rda 2f1c751f7de40daa241601f64726c9e0 *data/Dyestuff2.rda 5d257c44f24c98310fbb2e9f85e3e396 *data/InstEval.rda b61a31e7665881741ebd2f88acc98891 *data/Pastes.rda bfd53f3fec03c93b634a4250d03c17a1 *data/Penicillin.rda a545020034749ad9c56e4510fdba6dc1 *data/VerbAgg.rda c80348b333f026d7fe927398894c6f34 *data/cake.rda 09bbd2170531a7256a2cf743f4bec399 *data/cbpp.rda 28d1ffd0a450108d274431f7335e859d *data/grouseticks.rda 3eb17ae1551f7a264c4214460041908c *data/sleepstudy.rda 8c81a4cdd4cd634e4102999545422b7e *inst/CITATION ecdace8304705fd5de0c6db4f79a5b97 *inst/NEWS.Rd 7ea2caa8013f7ffc6e4c333fa1db1534 *inst/doc/PLSvGLS.R f84eeec527edf425f54bb4754e23da61 *inst/doc/PLSvGLS.Rnw 372032d9e0c41ca78c77036e5c0f24cf *inst/doc/PLSvGLS.pdf 8734899d5f18360ec1ea4ea4e5e3d59e *inst/doc/Theory.R 4f0f087495b31139690072d1aca33c00 *inst/doc/Theory.Rnw 3f2f8a143b368f2612b3260b7fe158ff *inst/doc/Theory.pdf e02382c0dd2485db6aa5517df5192425 *inst/doc/lmer.R abece788c951856256aa6f9251276c73 *inst/doc/lmer.Rnw 19ef2367019117ba83987a87cda3e1d1 *inst/doc/lmer.pdf 0da36551f5dbbe4f704ead467fc19dbf *inst/doc/lmerperf.R ecde401260019bb51fa974bcda985f37 *inst/doc/lmerperf.Rmd 88ff2257d08bd8a6ac4229dd10321284 *inst/doc/lmerperf.html b63ce45d087ac1ac15e011620990b796 *inst/testdata/Johnson.rda 0ad4852aad9639f10ad13606ecf09908 *inst/testdata/SO_sep25.RData 56173e2cb895c04358bf1bf81bab1495 *inst/testdata/Thailand.rda aedcb80c37b6d01f4db5bd076ebc3298 *inst/testdata/badprof.rds da186eafec8322a55ec78451e19fd01a *inst/testdata/boo01L.RData b4b99dec3880c755f42a8dc9e77a067b *inst/testdata/colonizer_rand.rda 8a445ad28ddc63a87ff828ec55be99cb *inst/testdata/confint_ex.rda 5f381198d17abbc54763cb7afe2608f8 *inst/testdata/crabs_randdata00.Rda 693aae2f30886fa217ca1b82b0ed43bb *inst/testdata/crabs_randdata2.Rda 038cc2f0fce197eb134607eee63fe83c *inst/testdata/culcita_dat.RData ec60161c46be3b6dbb2840490204eb79 *inst/testdata/dat20101314.csv 2c5596646060c432ca9e53cb5b61e307 *inst/testdata/dataEx_Glmer.txt c340d92f256024616f2aaf56b3460c23 *inst/testdata/fakesim.RData db58d90a120922be1d62a9252b8f1e2d *inst/testdata/gopherdat2.RData 8fb10b3889a527fbb661415f7cbb8e11 *inst/testdata/gotway_hessianfly.rda d10397932e1069526d47be9e961e609c *inst/testdata/harmel_density.R cb4e78532620e108c5c3af0c77fdb092 *inst/testdata/harmel_profile.rds eeae66bdabc2c1af320e278718105a29 *inst/testdata/hotpower.csv cf78ea240b9aa971169ec4e513b328f7 *inst/testdata/koller-data.R 4635d7c7d32300f4dcd9c5c810cde517 *inst/testdata/lme-tst-fits.R 8e789eec8fededa43e13ebeed8711c54 *inst/testdata/lme-tst-fits.rda 4e4f8105bf0b78e879e2f96fbf87323f *inst/testdata/lme-tst-funs.R f01648354c4d6c08320a551d7bdd3c7a *inst/testdata/lmerperf.rda 3dffc4c30b964f86f938b6d8c656d13d *inst/testdata/mastitis.rda 3313df191ef524ea5b887dcb54b3f153 *inst/testdata/polytom2.RData fd199a7fcece25952b873986d3ac0b1a *inst/testdata/polytom3.RData 10d8d2dab0664031ff18831a9213d1f3 *inst/testdata/polytomous_test.RData 36f44d658986561eee513a4a2789afe7 *inst/testdata/polytomous_vcov_ex.RData c3a152c99372c2097426afb07adea841 *inst/testdata/prLogistic.RData 402feea181e789a9b24bd0df88b73717 *inst/testdata/radinger_dat.RData 0de901759722680f5c73ed77a6f6aae2 *inst/testdata/rankMatrix.rds e7fc63ccb18cc703074586afaa6cb4a6 *inst/testdata/respiratory.RData f3e1a564e23849bf8db38440b543c944 *inst/testdata/sbTobb.Rdata 3a50c8e1daec82e4208e7893cc963e18 *inst/testdata/strip_env.R 7c4e1116306646d99c9ef1a20c98afa7 *inst/testdata/survdat_reduced.Rda dca0ccff30089606e068a486f5b51d67 *inst/testdata/tprfm1.RData 0eec27a5b9eab6d5b3d190cd37ec6634 *inst/testdata/trees513.R 145eb2c3cf4bac44b217618a0525e0e4 *inst/testdata/trees513.RData 9873b3dc101b4bf520d632f42bc04a80 *man/Arabidopsis.Rd e763b611e70a7697cb6fe31b0561aaac *man/Dyestuff.Rd e2529dc3f21a20ede6b95e15e1f0db92 *man/GHrule.Rd 63bcaefc2718a7d338bf093d44f6ac5b *man/GQdk.Rd 63677bddce89a841f9f69c5f467b1516 *man/InstEval.Rd 1d25a90dcaa8ba7bc62594892d2f5006 *man/NelderMead-class.Rd ad16fef8b8dc2ac1d116bee141e48baa *man/Nelder_Mead.Rd a6d10b8014d2887c25df3954aab76cb2 *man/Pastes.Rd 2dfbaad44da43caaf910a65a19ecb2f7 *man/Penicillin.Rd e7f37aac25dad4d13a1bb2db42ff37fb *man/VarCorr.Rd 8799220ff9f8424bf850533d76ca94c6 *man/VerbAgg.Rd 8a175dcf7d874e33d6acf437e13e3e97 *man/allFit.Rd 88a026b470f8cbe855f56c6d8679629e *man/bootMer.Rd 748eafe3d76c725cbfb23e5bfe46afe4 *man/cake.Rd fd93f2971f3ebf948961188570e94b82 *man/cbpp.Rd e187936bd4ad87c41d8e7a51421f77d0 *man/checkConv.Rd 987e347b428a7ab7d01f6597682ae7c1 *man/confint.merMod.Rd 1dab3afe2e04f5b9b69519b6b5c0f5fd *man/convergence.Rd 3824501b16af01f2424271e95ba7c7ba *man/devcomp.Rd 22fc3d76c1055a4ca437278ac06b706a *man/devfun2.Rd a934cdd2a196abbc1e9f332281077ede *man/drop1.merMod.Rd 0ffadf84fce25e56463e86ccf165e04b *man/dummy.Rd c3409c0a52196a11daf3ecde616d3076 *man/expandDoubleVerts.Rd 20e78573b5222c04c999b4abd03f04a2 *man/factorize.Rd f699fae826b328940860943c133ac02e *man/findbars.Rd b6f832b80984b12fe181c79428184895 *man/fixef.Rd 2fa58c5a47024f77c29be94508844328 *man/fortify.Rd 4ae84a0ac87f3d359403ec1fb7698ee0 *man/getME.Rd c0c66bc34fc7cd0b242d62901a9d4cb8 *man/glmFamily-class.Rd b595fec321f7ca73ed88b843126baeef *man/glmFamily.Rd 7a77561f95c366c8e7baf40fb0fa6d5e *man/glmer.Rd a2f6e4133eff7b2288bcc20c01ca3c29 *man/glmer.nb.Rd 36383a0393e3f8f285f7c1d3fe04160b *man/glmerLaplaceHandle.Rd dc26eb9f86b5056b90e2e90d531490c1 *man/golden-class.Rd c1544d416f87de6777ee2281e5f8fc71 *man/grouseticks.Rd c4236aab077a04046402a23b86635a7b *man/hatvalues.merMod.Rd a68e2467e44316a346f4daf8bfba3e31 *man/influence.merMod.Rd 3af905a45dfae46c1eda3ac1be6dd36c *man/isNested.Rd e10407c28ced55696cb726daac2d9c05 *man/isREML.Rd e37d68fec1f6822ef5d4274309814074 *man/isSingular.Rd 5bb3bf291c363e7f818e48ce962027fa *man/lmList.Rd e4faeace55fd64773ae425a8d0f72713 *man/lmList4-class.Rd 7d8ebc023d6f58fd43e3a35047240342 *man/lmResp-class.Rd d9e3572637ffe3760c4a531f0a9828c0 *man/lmResp.Rd 5be68d6000e53966c5c7fbb470609929 *man/lme4-package.Rd 36b814d230675b6fedced4d5aeaa8840 *man/lme4_testlevel.Rd be220de1fca5446cbdb36a122f44d7e8 *man/lmer.Rd 96a63c1a6133cf3f9fb27586e9844f9f *man/lmerControl.Rd f299cea8d4a1b715d97ffa5e672507f9 *man/merMod-class.Rd 67daa8376c15b9f3eebf77f83cd5b6c7 *man/merPredD-class.Rd 2c4a82fb8f0e4d1d3a5f754c242ccee5 *man/merPredD.Rd 09352c1fb6121b13186be99c445751a0 *man/mkMerMod.Rd ec1d3b36d1ae7b26ea8062b25097f9f7 *man/mkReTrms.Rd 0b8a7c8eb451e46d3c2f589fe257faab *man/mkRespMod.Rd 97cd5db2899f0c8587e1205df415cd21 *man/mkSimulationTemplate.Rd c061c134315aa205c8f412e3114e6617 *man/mkVarCorr.Rd 96753925f2baeaebd6923a2a70404914 *man/modular.Rd 1afe7f8a3c84ec0759662f5c8718c2ae *man/namedList.Rd b6a57f539f0628c52c83ec28a3a1e1c2 *man/ngrps.Rd b31bc40c7d30f7c7661f74f4ae6529b4 *man/nlformula.Rd 25b163f661adaa3db2240d0c91a6f2ab *man/nlmer.Rd 9d0550af0e7bca952d48bc8e25535e6e *man/nloptwrap.Rd f6ab89312ba0f6e6312c4ad7a2a91eaf *man/nobars.Rd 6aa1db26560fca6afc99a6c988441f5b *man/plot.merMod.Rd ca94cfa042f96d97bf2639c88f508f63 *man/plots.thpr.Rd 6b6b81db97d494acb567f47f934ce3ce *man/predict.merMod.Rd f672d2c45e719f937dc9ce3c98075583 *man/profile-methods.Rd 64d299749bf5c9a8ed4889a14edd0dad *man/pvalues.Rd b88b10a913d43a8c2625b03185c48c09 *man/ranef.Rd 89e234815a580d83ee134b502432b620 *man/rePCA.Rd f1619455da67c1fe4ebb48da69d41663 *man/rePos-class.Rd 24efcd0c579045d6aa2b74818a3b3e62 *man/rePos.Rd 5f0d75e8351fd01aea599bf45d233292 *man/refit.Rd fc1dffbf663939a2c12d6a64ab2488a1 *man/refitML.Rd dbe8547e6c2911509a4310514b506803 *man/residuals.merMod.Rd a124183851ef5f2b787f310dcd53436e *man/sigma.Rd ac312d5990e96c04a3bef4613ab693a6 *man/simulate.formula.Rd 3d982cc9e00e4680300ee6e80fbe33bd *man/simulate.merMod.Rd beeed79153193c18bb44d318d3b41652 *man/sleepstudy.Rd 74597be45b8bc7612dfd345902340bfb *man/subbars.Rd a6be665c1a6b719b2ef02a30d1d16068 *man/troubleshooting.Rd c1561df41718c5e4f33413944777d45b *man/utilities.Rd eeb3cc1e7dda77e29d74b46216ca483a *man/vcconv.Rd ac607ddbd1be24663cddb063de18ce48 *src/Makevars 9faf9df33ef6101441741d018009a391 *src/Makevars.win 2ad2fef6fff1b12bd60f5cb4c8646aaa *src/external.cpp 29f517a9f513c55cb34ede9d56604895 *src/glmFamily.cpp fd71b2c3113a00e013aa1818b5e316a3 *src/glmFamily.h 6479d79445f25040d13ea9bde81920a9 *src/lme4CholmodDecomposition.h 32c841db506eca816f556d7afa42dff6 *src/optimizer.cpp e84ed1741b657d321391c2e98b24083b *src/optimizer.h 453a58aff4da0690a3151f4075962299 *src/predModule.cpp c3694080138b784156b16c3ca6783614 *src/predModule.h cdf2dbfbe86509142c71bc0f240da638 *src/respModule.cpp 9e54026971ddeae1ec36a759e38ec699 *src/respModule.h 8bbacc62f05c91663ae579ddf04f7a35 *tests/AAAtest-all.R 0c78c74ab39d4d99cdceb6c66c30c43f *tests/HSAURtrees.R a810120b26ea54a7c44ec24aa9f441f5 *tests/README 833ceca53231ca073bae73550da70f67 *tests/REMLdev.R 1d7c93d885154b156d3a387f1735e080 *tests/ST.R 4d36e8f04cc6dc309d6fe69f715271a0 *tests/agridat_gotway.R 82889c8158caa7257cae9143f34d407f *tests/bootMer.R 976dae1d199acbb54363e8cf0a65ccef *tests/boundary.R ffeb3bd97a922f9a5ff96d21609f37e7 *tests/confint.R e0947bd9ce40080d115a7f35304d623a *tests/devCritFun.R ebc403e112bc9788710262665525e2ba *tests/drop.R d296f685d1731f8eb26cc21c8aa45229 *tests/drop1contrasts.R 6d3709bac2db9daf69e1e29aa3d2d273 *tests/dynload.R bae09675aa2568fe2505d8b62d1264b7 *tests/elston.R 4a15fbb6260ecf8c0db04bdcb37729c8 *tests/evalCall.R 65c300f2156a21d8492b0a050800057f *tests/extras.R 46e18635f440a030fe3e0e57c902ad81 *tests/falsezero_dorie.R 5e49f8a8d4b7275dfa584ab6b5e1c08c *tests/fewlevels.R 22abbcf0bf53d87a69fb887b6dc29ee6 *tests/getME.R 88d16563d7fe047623b4ccb992dc8114 *tests/glmer-1.R 87fbf8bcb9704fe0d95928f441e2c85d *tests/glmerControlPass.R 46de511d77c5e07b8de44c9abcb7b63f *tests/glmerWarn.R b028e45f129fdecfb7971d307cfb213d *tests/glmmExt.R 1c3dbc408c2995ffd9263f68fc40f944 *tests/glmmWeights.R 214757f88c9e26dc7936ea9ec1594bf9 *tests/hatvalues.R 3693e1cc55ebb3bcf5aaf46ee0bf1eb1 *tests/is.R fd186269bb93bbac5dd07ec81ea3ec2f *tests/lmList-tst.R 1d2d60b8842fae30078e428d29c253d6 *tests/lme4_nlme.R 0e1a2e95602e958f00b0802afd210dee *tests/lmer-0.R deb3ea8a35d4a647eae7d7579acef6f3 *tests/lmer-1.R d01e36cf014c17a45a448da442fec402 *tests/lmer-conv.R 3626933bc63874cc482b23542cfb1325 *tests/lmer2_ex.R b14e84bbdf9344cb4514151d99d513d4 *tests/methods.R ef374523e11228e4f2df65883ac1ba42 *tests/minval.R dc038e000b1d664c0c3fc1afa713dd73 *tests/modFormula.R 28829ec0b0f7434390fd2801805e095c *tests/nbinom.R c44581c823bf500428f485bb6d02ea84 *tests/nlmer-conv.R 4182acd6af58c584c25d745f98d3491f *tests/nlmer.R b7265658c2f03aef75e1ae2fe1617fd2 *tests/offset.R f3f4fe4f43b835de94f56df46940c87e *tests/optimizer.R 243906ce404ce78f0e54487f9f128419 *tests/polytomous.R d43a3e94c09040bc3ea42155f9ac3e11 *tests/prLogistic.R b9add26a39ae6e9b7640010a25ff4ce0 *tests/predict_basis.R bd056d4618a5af1874bbd14e36f99ea9 *tests/predsim.R 962e548f367fac7d7ac6f6a74fd0aac8 *tests/priorWeights.R f66f45c2d7efe66c1a899ac004c6cc7c *tests/priorWeightsModComp.R 851ab07ade90afa06519d5b6524f9c2c *tests/profile-tst.R b2a49dcf6fde0fd4c2f163604fbfa613 *tests/refit.R f41d72b2048efd5d4aee555f78e1292f *tests/resids.R 59b7d77420eed731836649460fabdd3e *tests/respiratory.R 74532b4a6e422f2a558cb6d131030416 *tests/simulate.R 14328f790312794d092fe203766763dc *tests/test-glmernbref.R 8375fd1d85d82c024a5a2bbab8b01a14 *tests/testOptControl.R 8c2cb194b2102d830e8ec03a7d90e05c *tests/testcolonizer.R a9b61b064c85d067e523cdd9923f8c76 *tests/testcrab.R 0f215bf9be77528cf28d284888393ab8 *tests/testthat/test-NAhandling.R 5327e2d4780b0630089bcbb9de4715d8 *tests/testthat/test-allFit.R 60481bb722fbe5d948cd37ebdc42744c *tests/testthat/test-catch.R 5a7f64ae7704ac4828a9766568b96021 *tests/testthat/test-doubleVertNotation.R cc7a2bffc0e7ca1d8cd60a1d974e5f7b *tests/testthat/test-eval.R 122e5c6684959d3304f3da4e441de029 *tests/testthat/test-factors.R ae1a6c68a4c16818c81f0556084f80ef *tests/testthat/test-formulaEval.R 4fc4d941f9e8e52fcd53e30e687a9382 *tests/testthat/test-glmFamily.R c956ef97e5e8a028ca37723ee53813bd *tests/testthat/test-glmer.R 624f216b5476bddab915163bd1644f75 *tests/testthat/test-glmernb.R 313c5608464d5c195880cdac8d76950e *tests/testthat/test-glmernbref.R dd37600edaa287fab433dad3621d8980 *tests/testthat/test-glmmFail.R b56599eb941945b0bff60be870cc0df6 *tests/testthat/test-lmList.R 2d3adae57880d05c280684a1edbe2d06 *tests/testthat/test-lmer.R 1ef8bc825d617df86ba8128cef02eff4 *tests/testthat/test-lmerResp.R a21af6bea8c9606475a02187d8de558b *tests/testthat/test-methods.R 7d3cc50d5f8999d96bb6ae0338f0bb1c *tests/testthat/test-nbinom.R 45ef0bfa99cdf9d184bf91a67f945c97 *tests/testthat/test-nlmer.R c5a2a10463306115ca7aa399dbcc0fb6 *tests/testthat/test-oldRZXfailure.R 20394c3afdc7775716c4ec51534bd386 *tests/testthat/test-predict.R 3e2b37cdca465ac1121000fa1b73fda7 *tests/testthat/test-ranef.R 47463f8098d8db9155e9d8d98aa3f330 *tests/testthat/test-rank.R 32cc5a87610206067aecf0c6282d7865 *tests/testthat/test-resids.R a8b5c24a565b3e0f8afb5f7aa64234e6 *tests/testthat/test-simulate_formula.R ba9fe366c384e8f5e08c47e02350ef14 *tests/testthat/test-start.R 6334ae273f2b1c89d9d629c6a1050464 *tests/testthat/test-stepHalving.R 0371f5a0714714dfc3288543fe819136 *tests/testthat/test-summary.R 9d6da924a229c462c25ccbf1d9e84ddb *tests/testthat/test-summary_testlevel_1.rda 5a0402a0706e02a3078caa49e1e60233 *tests/testthat/test-utils.R ce72dd3a6585a6d08e5af85b3ca8c1da *tests/throw.R b8d09265b05a579ab6b218887b59b70b *tests/varcorr.R 888b6d0b47901ba9a40003d6868a65aa *tests/vcov-etc.R f84eeec527edf425f54bb4754e23da61 *vignettes/PLSvGLS.Rnw 4f0f087495b31139690072d1aca33c00 *vignettes/Theory.Rnw 9c40378d0fbc0a8a8709908391461f5b *vignettes/lme4.bib abece788c951856256aa6f9251276c73 *vignettes/lmer.Rnw b0e17938f9d8feac0ec8df7ba1c4aba3 *vignettes/lmer.bib ecde401260019bb51fa974bcda985f37 *vignettes/lmerperf.Rmd lme4/R/0000755000176200001440000000000014640613451011320 5ustar liggesuserslme4/R/nbinom.R0000644000176200001440000001401514630365604012731 0ustar liggesusers##' @importFrom MASS negative.binomial ##' @importFrom MASS theta.ml ## ==> user should use getME(object, "glmer.nb.theta") getNBdisp <- function(object) environment(object@resp$family$aic)[[".Theta"]] ## Hidden, originally used at least once, well tested (!), but if(FALSE) # not needed anymore currently getNBdisp.fam <- function(familyString) as.numeric(sub(".*([-+]?\\d+(\\.\\d*)?([Ee][-+]?\\d+)?){1}.*", "\\1", familyString)) ## Package "constants" {only on depending the glmResp definition in ./AllClass.R}: glmResp.f.nms <- names(glmResp$fields()) glmNB.to.change <- setdiff(glmResp.f.nms, c("Ptr", "family")) ##' setNBdisp(object,theta) := ##' NB-object with changed [DISP]ersion parameter 'theta' (and all that entails) setNBdisp <- function(object,theta) { ## assign(".Theta",theta,envir=environment(object@resp$family$aic)) rr <- object@resp newresp <- do.call(glmResp$new, c(lapply(setNames(nm=glmNB.to.change), rr$field), list(family = MASS::negative.binomial(theta=theta)))) newresp$setOffset(rr$offset) newresp$updateMu(rr$eta - rr$offset) object@resp <- newresp object } refitNB <- function(object, theta, control = NULL) { refit(setNBdisp(object, theta), control = control) } ##' @title Optimize over the Negative Binomial Parameter Theta ##' @param object a "glmerMod" object, updated from poisson to negative.binomial() ##' @param interval and ##' @param tol are both passed to \code{\link{optimize}()}. ##' @param verbose ## show our own progress ##' @param control passed to \code{\link{refit}()} ##' @return the last fit, an object like 'object' optTheta <- function(object, interval = c(-5,5), tol = .Machine$double.eps^0.25, verbose = FALSE, control = NULL) { lastfit <- object it <- 0L NBfun <- function(t) { ## Kluge to retain last value and evaluation count {good enough for ..} f_refitNB <- factory(refitNB,types=c("message","warning")) lastfit <<- f_refitNB(lastfit, theta = exp(t), control = control) dev <- -2*logLik(lastfit) it <<- it+1L if (verbose) cat(sprintf("%2d: th=%#15.10g, dev=%#14.8f, beta[1]=%#14.8f\n", it, exp(t), dev, lastfit@beta[1])) dev } optval <- optimize(NBfun, interval=interval, tol=tol) stopifnot(all.equal(optval$minimum, log(getNBdisp(lastfit)))) ## FIXME: return eval count info somewhere else? MM: new slot there, why not? attr(lastfit,"nevals") <- it ## fix up the 'th' expression, replacing it by the real number, ## so effects:::mer.to.glm() can eval() it: lastfit@call$family[["theta"]] <- exp(optval$minimum) ## output warnings/messages from last fit for (m in c("warning","message")) { if (!is.null(x <- attr(lastfit,paste0("factory-",m)))) { for (i in x) { get(m,pos="package:base")(i) } } } lastfit } ## use MASS machinery to estimate theta from residuals est_theta <- function(object, limit = 20, eps = .Machine$double.eps^0.25, trace = 0) { Y <- model.response(model.frame(object)) ## may have NA values if na.exclude was used ... mu <- na.omit(fitted(object)) theta.ml(Y, mu, weights = object@resp$weights, limit = limit, eps = eps, trace = trace) } ## -------> ../man/glmer.Rd ##' glmer() for Negative Binomial ##' @param ... formula, data, etc: the arguments for ##' \code{\link{glmer}(..)} (apart from \code{family}!). glmer.nb <- function(..., interval = log(th) + c(-3,3), tol = 5e-5, verbose = FALSE, nb.control = NULL, initCtrl = list(limit = 20, eps = 2*tol, trace = verbose, theta = NULL)) { ## ?? E() is a placeholder; [-1] removes it ## left with a 'headless' list of elements in ... dotE <- as.list(substitute(E(...))[-1]) ## nE <- names(dotE <- as.list(substitute(E(...))[-1])) ## i <- match(c("formula",""), nE) ## i.frml <- i[!is.na(i)][[1]] # the index of "formula" in '...' ## dots <- list(...) mc <- match.call() if (is.null(th <- initCtrl$theta)) { mc[[1]] <- quote(lme4::glmer) mc$family <- quote(stats::poisson) mc$verbose <- (verbose>=2) mc$nb.control <- NULL ## ** FIXME: specifically add check.conv.singular="ignore"? ## suppress other warnings unless explicitly specified? g0 <- suppressMessages( eval(mc, parent.frame(1L)) ) th <- est_theta(g0, limit = initCtrl$limit, eps = initCtrl$eps, trace = initCtrl$trace) ## using format() on purpose, influenced by options(digits = *) : if(verbose) cat("th := est_theta(glmer(..)) =", format(th)) } mc$initCtrl <- NULL ## clear to prevent infinite recursion ## in initCtrl$theta reference above ... mc$family <- bquote(MASS::negative.binomial(theta=.(th))) ## ** see FIXME above g1 <- suppressMessages( eval(mc, parent.frame(1L)) ) if(verbose) cat(" --> dev.= -2*logLik(.) =", format(-2*logLik(g1)),"\n") ## fix the 'data' part (only now!) if("data" %in% names(g1@call)) { if (!is.null(dotE[["data"]])) { g1@call[["data"]] <- dotE[["data"]] } } else warning("no 'data = *' in glmer.nb() call ... Not much is guaranteed") other.args <- c("verbose","control") for (a in other.args) { if (a %in% names(g1@call)) { g1@call[[a]] <- dotE[[a]] } } ## FIXME: optTheta should also work by modifying mc directly, ## then re-evaluating, not via refit() ... control <- eval.parent(g1@call$control) res <- optTheta(g1, interval=interval, tol=tol, verbose=verbose, control = c(control, nb.control)) res } ## do we want to facilitate profiling on theta?? ## save evaluations used in optimize() fit? ## ('memoise'?) ## Again, I think that a reference class object would be a better approach. lme4/R/plot.R0000644000176200001440000004754514634103061012432 0ustar liggesusers## copied/modified from nlme ##' split, on the nm call, the rhs of a formula into a list of subformulas splitFormula <- function(form, sep = "/") { if (inherits(form, "formula") || mode(form) == "call" && form[[1]] == as.name("~")) splitFormula(form[[length(form)]], sep = sep) else if (mode(form) == "call" && form[[1]] == as.name(sep)) do.call(c, lapply(as.list(form[-1]), splitFormula, sep = sep)) else if (mode(form) == "(") splitFormula(form[[2]], sep = sep) else if (length(form)) list(asOneSidedFormula(form)) ## else ## NULL } ## Recursive version of all.vars allVarsRec <- function(object) { if (is.list(object)) { unlist(lapply(object, allVarsRec)) } else { all.vars(object) } } ## simple version of getData.gnls from nlme ## but we *should* and *can* work with environment(formula(.)) getData.merMod <- function(object) { mCall <- getCall(object) data <- eval(mCall$data, environment(formula(object))) if (!is.data.frame(data) && !is.matrix(data)) stop(paste(sQuote("data"),"object found is not a data frame or matrix")) return(data) } asOneFormula <- ## Constructs a linear formula with all the variables used in a ## list of formulas, except for the names in omit function(..., omit = c(".", "pi")) { names <- unique(allVarsRec(list(...))) names <- names[is.na(match(names, omit))] if (length(names)) as.formula(paste("~", paste(names, collapse = "+"))) # else NULL } getIDLabels <- function(object, form=formula(object)) { mf <- factorize(form,model.frame(object)) if (length(ff <- findbars(form))>0) { grps <- lapply(ff,"[[",3) } else { grps <- form[[2]] } if (identical(grps,quote(.obs))) return(seq(fitted(object))) fList <- lapply(grps,function(x) eval(x,mf)) do.call(interaction,fList) } ## TESTING ## lme4:::getIDLabels(fm1) ## Return the formula(s) for the groups associated with object. ## The result is a one-sided formula unless asList is TRUE in which case ## it is a list of formulas, one for each level. getGroupsFormula <- function(object, asList = FALSE, sep = "+") UseMethod("getGroupsFormula") getGroupsFormula.default <- ## Return the formula(s) for the groups associated with object. ## The result is a one-sided formula unless asList is TRUE in which case ## it is a list of formulas, one for each level. function(object, asList = FALSE, sep = "/") { form <- formula(object) if (!inherits(form, "formula")){ stop("\"Form\" argument must be a formula") } form <- form[[length(form)]] if (!((length(form) == 3) && (form[[1]] == as.name("|")))) { ## no conditioning expression return(NULL) } ## val <- list( asOneSidedFormula( form[[ 3 ]] ) ) val <- splitFormula(asOneSidedFormula(form[[3]]), sep = sep) names(val) <- unlist(lapply(val, function(el) deparse(el[[2]]))) # if (!missing(level)) { # if (length(level) == 1) { # return(val[[level]]) # } else { # val <- val[level] # } # } if (asList) as.list(val) else as.formula(paste("~", paste(names(val), collapse = sep))) } getGroupsFormula.merMod <- function(object,asList=FALSE, sep="+") { if (asList) { lapply(names(object@flist),asOneSidedFormula) } else { asOneSidedFormula(paste(names(object@flist),collapse=sep)) } } getCovariateFormula <- function (object) { form <- formula(object) if (!(inherits(form, "formula"))) { stop("formula(object) must return a formula") } form <- form[[length(form)]] if (length(form) == 3 && form[[1]] == as.name("|")) { form <- form[[2]] } eval(substitute(~form)) } getResponseFormula <- function(object) { ## Return the response formula as a one sided formula form <- formula(object) if (!(inherits(form, "formula") && (length(form) == 3))) { stop("\"Form\" must be a two sided formula") } as.formula(paste("~", deparse(form[[2]]))) } ##' diagnostic plots for merMod fits ##' @param x a fitted [ng]lmer model ##' @param form an optional formula specifying the desired type of plot. Any ##' variable present in the original data frame used to obtain ##' \code{x} can be referenced. In addition, \code{x} itself can be ##' referenced in the formula using the symbol \code{"."}. Conditional ##' expressions on the right of a \code{|} operator can be used to ##' define separate panels in a lattice display. Default is ##' \code{resid(., type = "pearson") ~ fitted(.)}, corresponding to a plot ##' of the standardized residuals versus fitted values. ##' @param abline an optional numeric value, or numeric vector of length ##' two. If given as a single value, a horizontal line will be added to the ##' plot at that coordinate; else, if given as a vector, its values are ##' used as the intercept and slope for a line added to the plot. If ##' missing, no lines are added to the plot. ##' @param id an optional numeric value, or one-sided formula. If given as ##' a value, it is used as a significance level for a two-sided outlier ##' test for the standardized, or normalized residuals. Observations with ##' absolute standardized (normalized) residuals greater than the \eqn{1-value/2} ##' quantile of the standard normal distribution are ##' identified in the plot using \code{idLabels}. If given as a one-sided ##' formula, its right hand side must evaluate to a logical, integer, or ##' character vector which is used to identify observations in the ##' plot. If missing, no observations are identified. ##' @param idLabels an optional vector, or one-sided formula. If given as a ##' vector, it is converted to character and used to label the ##' observations identified according to \code{id}. If given as a ##' vector, it is converted to character and used to label the ##' observations identified according to \code{id}. If given as a ##' one-sided formula, its right hand side must evaluate to a vector ##' which is converted to character and used to label the identified ##' observations. Default is the interaction of all the grouping variables ##' in the data frame. The special formula ##' @param grid an optional logical value indicating whether a grid should ##' be added to plot. Default depends on the type of lattice plot used: ##' if \code{xyplot} defaults to \code{TRUE}, else defaults to ##' \code{FALSE}. ##' @param \dots optional arguments passed to the lattice plot function. ##' @details Diagnostic plots for the linear mixed-effects fit are obtained. The ##' \code{form} argument gives considerable flexibility in the type of ##' plot specification. A conditioning expression (on the right side of a ##' \code{|} operator) always implies that different panels are used for ##' each level of the conditioning factor, according to a lattice ##' display. If \code{form} is a one-sided formula, histograms of the ##' variable on the right hand side of the formula, before a \code{|} ##' operator, are displayed (the lattice function \code{histogram} is ##' used). If \code{form} is two-sided and both its left and ##' right hand side variables are numeric, scatter plots are displayed ##' (the lattice function \code{xyplot} is used). Finally, if \code{form} ##' is two-sided and its left had side variable is a factor, box-plots of ##' the right hand side variable by the levels of the left hand side ##' variable are displayed (the lattice function \code{bwplot} is used). ##' @author original version in \code{nlme} package by Jose Pinheiro and Douglas Bates ##' @examples ##' data(Orthodont,package="nlme") ##' fm1 <- lmer(distance ~ age + (age|Subject), data=Orthodont) ##' ## standardized residuals versus fitted values by gender ##' plot(fm1, resid(., scaled=TRUE) ~ fitted(.) | Sex, abline = 0) ##' ## box-plots of residuals by Subject ##' plot(fm1, Subject ~ resid(., scaled=TRUE)) ##' ## observed versus fitted values by Subject ##' plot(fm1, distance ~ fitted(.) | Subject, abline = c(0,1)) ##' ## residuals by age, separated by Subject ##' plot(fm1, resid(., scaled=TRUE) ~ age | Sex, abline = 0) ##' if (require(ggplot2)) { ##' ## we can create the same plots using ggplot2 and the fortify() function ##' fm1F <- fortify(fm1) ##' ggplot(fm1F, aes(.fitted,.resid)) + geom_point(colour="blue") + ##' facet_grid(.~Sex) + geom_hline(yintercept=0) ##' ## note: Subjects are ordered by mean distance ##' ggplot(fm1F, aes(Subject,.resid)) + geom_boxplot() + coord_flip() ##' ggplot(fm1F, aes(.fitted,distance))+ geom_point(colour="blue") + ##' facet_wrap(~Subject) +geom_abline(intercept=0,slope=1) ##' ggplot(fm1F, aes(age,.resid)) + geom_point(colour="blue") + facet_grid(.~Sex) + ##' geom_hline(yintercept=0)+geom_line(aes(group=Subject),alpha=0.4)+geom_smooth(method="loess") ##' ## (warnings about loess are due to having only 4 unique x values) ##' detach("package:ggplot2") ##' } ##' @S3method plot merMod ##' @method plot merMod ##' @export plot.merMod <- function(x, form = resid(., type = "pearson") ~ fitted(.), abline, id = NULL, idLabels = NULL, grid, ...) ## Diagnostic plots based on residuals and/or fitted values { object <- x if (!inherits(form, "formula")) stop("\"form\" must be a formula") ## constructing data ## can I get away with using object@frame??? allV <- all.vars(asOneFormula(form, id, idLabels)) allV <- allV[is.na(match(allV,c("T","F","TRUE","FALSE",".obs")))] if (length(allV) > 0) { data <- getData(object) if (is.null(data)) { # try to construct data alist <- lapply(as.list(allV), as.name) names(alist) <- allV alist <- c(list(as.name("data.frame")), alist) mode(alist) <- "call" data <- eval(alist, sys.parent(1)) } else if (any(naV <- is.na(match(allV, names(data))))) stop(allV[naV], " not found in data") } else data <- NULL ## this won't do because there may well be variables we want ## that were not in the model call ## data <- object@frame ## argument list dots <- list(...) args <- if (length(dots) > 0) dots else list() ## appending object to data, and adding observation-number variable if (length(data) > 0) { data <- cbind(data, .obs = seq(nrow(data))) } data <- as.list(c(as.list(data), . = list(object))) ## covariate - must always be present covF <- getCovariateFormula(form) .x <- eval(covF[[2]], data) if (!is.numeric(.x)) { stop("Covariate must be numeric") } argForm <- ~ .x argData <- data.frame(.x = .x, check.names = FALSE) if (is.null(args$xlab)) { if (is.null(xlab <- attr(.x, "label"))) xlab <- deparse(covF[[2]]) args$xlab <- xlab } ## response - need not be present respF <- getResponseFormula(form) if (!is.null(respF)) { .y <- eval(respF[[2]], data) if (is.null(args$ylab)) { if (is.null(ylab <- attr(.y, "label"))) ylab <- deparse(respF[[2]]) args$ylab <- ylab } argForm <- .y ~ .x argData[, ".y"] <- .y } ## groups - need not be present grpsF <- getGroupsFormula(form) if (!is.null(grpsF)) { ## ?? FIXME ??? gr <- splitFormula(grpsF, sep = "*") for(i in seq_along(gr)) { auxGr <- all.vars(gr[[i]]) for(j in auxGr) argData[[j]] <- eval(as.name(j), data) } argForm <- as.formula(paste(if (length(argForm) == 2) "~ .x |" else ".y ~ .x |", deparse(grpsF[[2]]))) } ## adding to args list args <- c(list(argForm, data = argData), args) if (is.null(args$strip)) { args$strip <- function(...) strip.default(..., style = 1) } if (is.null(args$cex)) args$cex <- par("cex") if (is.null(args$adj)) args$adj <- par("adj") if (!is.null(id)) { ## identify points in plot idResType <- "pearson" ## diff from plot.lme: 'normalized' not available id <- switch(mode(id), numeric = { if (id <= 0 || id >= 1) stop(shQuote("id")," must be between 0 and 1") abs(resid(object, type = idResType))/sigma(object) > -qnorm(id / 2) }, call = eval(asOneSidedFormula(id)[[2]], data), stop(shQuote("id")," can only be a formula or numeric.") ) if (is.null(idLabels)) { idLabels <- getIDLabels(object) } else { if (inherits(idLabels,"formula")) { idLabels <- getIDLabels(object,idLabels) } else if (is.vector(idLabels)) { if (length(idLabels <- unlist(idLabels)) != length(id)) { stop("\"idLabels\" of incorrect length") } } else stop("\"idLabels\" can only be a formula or a vector") } ## DON'T subscript by id, will be done later idLabels <- as.character(idLabels) } ## defining abline, if needed if (missing(abline)) { abline <- if (missing(form)) # r ~ f c(0, 0) else NULL } #assign("id", id , where = 1) #assign("idLabels", idLabels, where = 1) #assign("abl", abline, where = 1) assign("abl", abline) ## defining the type of plot if (length(argForm) == 3) { if (is.numeric(.y)) { # xyplot plotFun <- "xyplot" if (is.null(args$panel)) { args <- c(args, panel = list(function(x, y, subscripts, ...) { x <- as.numeric(x) y <- as.numeric(y) dots <- list(...) if (grid) panel.grid() panel.xyplot(x, y, ...) if (any(ids <- id[subscripts])){ ltext(x[ids], y[ids], idLabels[subscripts][ids], cex = dots$cex, adj = dots$adj) } if (!is.null(abl)) { if (length(abl) == 2) panel.abline(a = abl, ...) else panel.abline(h = abl, ...) } })) } } else { # assume factor or character plotFun <- "bwplot" if (is.null(args$panel)) { args <- c(args, panel = list(function(x, y, ...) { if (grid) panel.grid() panel.bwplot(x, y, ...) if (!is.null(abl)) { panel.abline(v = abl[1], ...) } })) } } } else { plotFun <- "histogram" if (is.null(args$panel)) { args <- c(args, panel = list(function(x, ...) { if (grid) panel.grid() panel.histogram(x, ...) if (!is.null(abl)) { panel.abline(v = abl[1], ...) } })) } } ## defining grid if (missing(grid)) { grid <- (plotFun == "xyplot") } # assign("grid", grid, where = 1) do.call(plotFun, as.list(args)) } ## no longer defining `fortify` S3 generic ##' @rdname fortify ##' @S3method fortify lmerMod ##' @method fortify lmerMod ##' @export ##' as function, not as S3 method, see ../man/fortify.Rd : fortify.merMod <- function(model, data=getData(model), ...) { ## FIXME: get influence measures via influence.ME? ## (expensive, induces dependency ...) ## FIXME: different kinds of residuals? ## FIXME: deal with na.omit/predict etc. data$.fitted <- predict(model) data$.resid <- resid(model) data$.scresid <- resid(model,type="pearson",scaled=TRUE) data } ## autoplot??? ## plot method for plot.summary.mer ... coefplot-style ## horizontal, vertical? other options??? ## scale? plot.summary.mer <- function(object, type="fixef", ...) { if(any(!type %in% c("fixef","vcov"))) stop("'type' not yet implemented: ", type) stop("FIXME -- not yet implemented") } ## TO DO: allow faceting formula ## TO DO: allow qqline to be optional ## TO DO (harder): steal machinery from qq.gam for better GLMM Q-Q plots qqmath.merMod <- function(x, data = NULL, id=NULL, idLabels=NULL, ...) { ## klugey attempt to detect whether user forgot to specify argument ## names explicitly (after addition of required 'data' argument) ## NOT completely tested! if (!is.null(data)) { idLabels <- id id <- data warning("qqmath.merMod takes ", sQuote("data"), "as its ", "first argument for S3 method compatibility: ", "in the future, please ", "specify the ", sQuote("id"), " and ", sQuote("idLabels"), " arguments explicitly ", "i.e. ", sQuote("qqmath(fitted_model, id = ..., [idLabels = ...], ...)")) } values <- residuals(x, type="pearson", scaled=TRUE) data <- getData(x) ## DRY: copied from plot.merMod, should modularize/refactor if (!is.null(id)) { ## identify points in plot id <- switch(mode(id), numeric = { if (id <= 0 || id >= 1) stop(shQuote("id")," must be between 0 and 1") as.logical(abs(values) > -qnorm(id / 2)) }, call = eval(asOneSidedFormula(id)[[2]], data), stop(shQuote("id")," can only be a formula or numeric.") ) if (is.null(idLabels)) { idLabels <- getIDLabels(x) } else { if (inherits(idLabels,"formula")) { idLabels <- getIDLabels(x,idLabels) } else if (is.vector(idLabels)) { if (length(idLabels <- unlist(idLabels)) != length(id)) { stop("\"idLabels\" of incorrect length") } } else stop("\"idLabels\" can only be a formula or a vector") } idLabels <- as.character(idLabels) } ## DON'T subscript by id, will be done later qqpanel <- function(x, subscripts, ...) { dots <- list(...) panel.qqmathline(x, ...) panel.qqmath(x, ...) if (any(ids <- id[subscripts])) { xs <- x[subscripts] pp <- setNames(ppoints(length(xs)), names(sort(xs))) ## want to plot qnorm(pp) vs sort(x) ## ... but want to pick out the elements that corresponded ## to ids **before** sorting xx <- qnorm(pp)[names(xs)[ids]] yy <- sort(x)[names(xs)][ids] ## quantile(values, pp)[ids] ltext(xx, yy, idLabels[ids], cex = dots$cex, adj = dots$adj) } } qqmath(values, xlab = "Standard normal quantiles", ylab = "Standardized residuals", prepanel = prepanel.qqmathline, panel = qqpanel, ...) } ## qqmath(~residuals(gm1)|cbpp$herd) lme4/R/profile.R0000644000176200001440000015027114630365604013114 0ustar liggesusers## --> ../man/profile-methods.Rd profnames <- function(object, signames=TRUE, useSc=isLMM(object), prefix=c("sd","cor")) { ntp <- length(getME(object,"theta")) ## return c(if(signames) sprintf(".sig%02d", seq(ntp)) else tnames(object, old=FALSE, prefix=prefix), if(useSc) if (signames) ".sigma" else "sigma") } ##' @importFrom splines backSpline interpSpline periodicSpline ##' @importFrom stats profile ##' @method profile merMod ##' @export profile.merMod <- function(fitted, which=NULL, alphamax = 0.01, maxpts = 100, delta = NULL, delta.cutoff = 1/8, verbose=0, devtol=1e-9, devmatchtol=1e-5, maxmult = 10, startmethod = "prev", optimizer = NULL, control = NULL, signames = TRUE, parallel = c("no", "multicore", "snow"), ncpus = getOption("profile.ncpus", 1L), cl = NULL, prof.scale = c("sdcor","varcov"), ...) { ## FIXME: allow choice of nextstep/nextstart algorithm? ## FIXME: allow selection of individual variables to profile by name? ## FIXME: allow for failure of bounds (non-pos-definite correlation matrices) when >1 cor parameter prof.scale <- match.arg(prof.scale) parallel <- match.arg(parallel) do_parallel <- have_mc <- have_snow <- NULL # "-Wall" are set here: eval(initialize.parallel)# (parallel, ncpus) if (is.null(optimizer)) optimizer <- fitted@optinfo$optimizer ## hack: doesn't work to set bobyqa parameters to *ending* values stored ## in @optinfo$control ignore.pars <- c("xst", "xt") control.internal <- fitted@optinfo$control if (length(ign <- which(names(control.internal) %in% ignore.pars)) > 0) control.internal <- control.internal[-ign] if (!is.null(control)) { i <- names(control) control.internal[[i]] <- control[[i]] } control <- control.internal useSc <- isLMM(fitted) || isNLMM(fitted) prof.prefix <- switch(prof.scale, "sdcor" = { transfuns <- list(from.chol= Cv_to_Sv, to.chol = Sv_to_Cv, to.sd = identity) c("sd", "cor") }, "varcov" = { transfuns <- list(from.chol= Cv_to_Vv, to.chol = Vv_to_Cv, to.sd = sqrt) c("var", "cov") }, stop("internal error, prof.scale=", prof.scale)) dd <- devfun2(fitted, useSc=useSc, signames=signames, transfuns=transfuns, prefix=prof.prefix, ...) ## FIXME: figure out to what do here ... if (isGLMM(fitted) && fitted@devcomp$dims[["useSc"]]) stop("can't (yet) profile GLMMs with non-fixed scale parameters") stopifnot(devtol >= 0) base <- attr(dd, "basedev") ## protect against accidental tampering by later devfun calls thopt <- forceCopy(attr(dd, "thopt")) stderr <- attr(dd, "stderr") pp <- environment(dd)$pp X.orig <- pp$X n <- environment(dd)$n p <- length(pp$beta0) opt <- attr(dd, "optimum") nptot <- length(opt) nvp <- nptot - p # number of variance-covariance pars wi.vp <- seq_len(nvp) if(nvp > 0) fe.orig <- opt[- wi.vp] which <- get.which(which, nvp, nptot, names(opt), verbose) res <- c(.zeta = 0, opt) res <- matrix(res, nrow = maxpts, ncol = length(res), dimnames = list(NULL, names(res)), byrow = TRUE) ## FIXME: why is cutoff based on nptot ## (i.e. boundary of simultaneous LRT conf region for nptot values) ## when we are computing (at most) 2-parameter profiles here? cutoff <- sqrt(qchisq(1 - alphamax, nptot)) if (is.null(delta)) delta <- cutoff*delta.cutoff ## helper functions ## nextpar calculates the next value of the parameter being ## profiled based on the desired step in the profile zeta ## (absstep) and the values of zeta and column cc for rows ## r-1 and r. The parameter may not be below lower (or above upper) nextpar <- function(mat, cc, r, absstep, lower = -Inf, upper = Inf, minstep=1e-6) { rows <- r - (1:0) # previous two row numbers pvals <- mat[rows, cc] zeta <- mat[rows, ".zeta"] num <- diff(pvals) if (is.na(denom <- diff(zeta)) || denom==0) { warning("Last two rows have identical or NA .zeta values: using minstep") step <- minstep } else { step <- absstep*num/denom if (step<0) { warning("unexpected decrease in profile: using minstep") step <- minstep } else { if (r>1) { if (abs(step) > (maxstep <- abs(maxmult*num))) { maxstep <- sign(step)*maxstep if (verbose) cat(sprintf("capped step at %1.2f (multiplier=%1.2f > %1.2f)\n", maxstep,abs(step/num),maxmult)) step <- maxstep } } } } min(upper, max(lower, pvals[2] + sign(num) * step)) } nextstart <- function(mat, pind, r, method) { ## FIXME: indexing may need to be checked (e.g. for fixed-effect parameters) switch(method, global= opt[seqpar1][-pind], ## address opt, no zeta column prev = mat[r,1+seqpar1][-pind], extrap = stop("not yet implemented"),## do something with mat[r-(1:0),1+seqnvp])[-pind] stop("invalid nextstart method")) } ## mkpar generates the parameter vector of theta and ## sigma from the values being profiled in position w mkpar <- function(np, w, pw, pmw) { par <- numeric(np) par[w] <- pw par[-w] <- pmw par } ## fillmat fills the third and subsequent rows of the matrix ## using nextpar and zeta ## FIXME: add code to evaluate more rows near the minimum if that ## constraint was active. fillmat <- function(mat, lowcut, upcut, zetafun, cc) { nr <- nrow(mat) i <- 2L while (i < nr && mat[i, cc] > lowcut && mat[i,cc] < upcut && (is.na(curzeta <- abs(mat[i, ".zeta"])) || curzeta <= cutoff)) { np <- nextpar(mat, cc, i, delta, lowcut, upcut) ns <- nextstart(mat, pind = cc-1, r=i, method=startmethod) mat[i + 1L, ] <- zetafun(np,ns) if (verbose>0) { cat(i,cc,mat[i+1L,],"\n") } i <- i + 1L } if (mat[i-1,cc]==lowcut) { ## fill in more values near the minimum } if (mat[i-1,cc]==upcut) { ## fill in more values near the maximum } mat } ## bounds on Cholesky (== fitted@lower): [0,Inf) for diag, (-Inf,Inf) for off-diag ## bounds on sd-corr: [0,Inf) for diag, (-1.0,1.0) for off-diag ## bounds on var-corr: [0,Inf) for diag, (-Inf,Inf) for off-diag if (prof.scale=="sdcor") { lower <- pmax(fitted@lower, -1.) upper <- ifelse(fitted@lower==0, Inf, 1.0) } else { lower <- fitted@lower upper <- rep(Inf,length.out=length(fitted@lower)) } if (useSc) { # bounds for sigma lower <- c(lower,0) upper <- c(upper,Inf) } ## bounds on fixed parameters (TODO: allow user-specified bounds, e.g. for NLMMs) lower <- c(lower,rep.int(-Inf, p)) upper <- c(upper, rep.int(Inf, p)) npar1 <- if (isLMM(fitted)) nvp else nptot ## check that devfun2() computation for the base parameters is (approx.) the ## same as the original devfun() computation basecheck <- all.equal(unname(dd(opt[seq(npar1)])), base, tolerance=devmatchtol) if(!isTRUE(basecheck)) { basediff <- abs(dd(opt[seq(npar1)])/base - 1) stop(sprintf(paste0("Profiling over both the residual variance and\n", "fixed effects is not numerically consistent with\n", "profiling over the fixed effects only (relative difference: %1.4g);\n", "consider adjusting devmatchtol"), basediff)) } ## sequence of variance parameters to profile seqnvp <- intersect(seq_len(npar1), which) ## sequence of 'all' parameters seqpar1 <- seq_len(npar1) lowvp <- lower[seqpar1] upvp <- upper[seqpar1] form <- .zeta ~ foo # pattern for interpSpline formula ## as in bootMer.R, define FUN as a ## closure containing the referenced variables ## in its scope to avoid explicit clusterExport statement ## in the PSOCKcluster case FUN <- local({ function(w) { if (verbose) cat(if(isLMM(fitted)) "var-cov " else "", "parameter ",w,":\n",sep="") wp1 <- w + 1L pw <- opt[w] lowcut <- lower[w] upcut <- upper[w] zeta <- function(xx,start) { ores <- tryCatch(optwrap(optimizer, par=start, fn=function(x) dd(mkpar(npar1, w, xx, x)), lower = lowvp[-w], upper = upvp [-w], control = control), error=function(e) NULL) if (is.null(ores)) { devdiff <- NA pars <- NA } else { devdiff <- ores$fval - base pars <- ores$par } if (is.na(devdiff)) { warning("NAs detected in profiling") } else { if(verbose && devdiff < 0) cat("old deviance ",base,",\n", "new deviance ",ores$fval,",\n", "new params ", paste(mkpar(npar1,w,xx,ores$par), collapse=","),"\n") if (devdiff < (-devtol)) stop("profiling detected new, lower deviance ", sprintf("(deviance diff = %1.3g, tolerance = %1.3g)", abs(devdiff), devtol)) if(devdiff < 0) warning(gettextf("slightly lower deviances (diff=%g) detected", devdiff), domain=NA) } devdiff <- max(0,devdiff) zz <- sign(xx - pw) * sqrt(devdiff) r <- c(zz, mkpar(npar1, w, xx, pars)) if (isLMM(fitted)) c(r, pp$beta(1)) else r }## {zeta} ## intermediate storage for pos. and neg. increments pres <- nres <- res ## assign one row, determined by inc. sign, from a small shift ## FIXME:: do something if pw==0 ??? shiftpar <- if (pw==0) 1e-3 else pw*1.01 ## Since both the pos- and neg-increment matrices are already ## filled with the opt. par. results, this sets the first ## two rows of the positive-increment matrix ## to (opt. par, shiftpar) and the first two rows of ## the negative-increment matrix to (shiftpar, opt. par), ## which sets up two points going in the right direction ## for each matrix (since the profiling algorithm uses increments ## between rows to choose the next parameter increment) nres[1, ] <- pres[2, ] <- zeta(shiftpar, start=opt[seqpar1][-w]) ## fill in the rest of the arrays and collapse them upperf <- fillmat(pres, lowcut, upcut, zeta, wp1) lowerf <- if (pw > lowcut) fillmat(nres, lowcut, upcut, zeta, wp1) else ## don't bother to fill in 'nres' matrix nres ## this will throw away the extra 'opt. par' and 'shiftpar' ## rows introduced above: bres <- as.data.frame(unique(rbind2(upperf,lowerf))) pname <- names(opt)[w] bres$.par <- pname bres <- bres[order(bres[, wp1]), ] ## FIXME: test for bad things here?? form[[3]] <- as.name(pname) forspl <- NULL # (in case of error) ## bakspl bakspl <- tryCatch(backSpline( forspl <- interpSpline(form, bres, na.action=na.omit)), error=function(e)e) if (inherits(bakspl, "error")) warning("non-monotonic profile for ",pname) ## return: namedList(bres,bakspl,forspl) # namedList() -> lmerControl.R }}) ## FUN() ## copied from bootMer: DRY! L <- if (do_parallel) { if (have_mc) { parallel::mclapply(seqnvp, FUN, mc.cores = ncpus) } else if (have_snow) { if (is.null(cl)) { cl <- parallel::makePSOCKcluster(rep("localhost", ncpus)) ## explicit export of the lme4 namespace since most FUNs will probably ## use some of them parallel::clusterExport(cl, varlist=getNamespaceExports("lme4")) if(RNGkind()[1L] == "L'Ecuyer-CMRG") parallel::clusterSetRNGStream(cl) pres <- parallel::parLapply(cl, seqnvp, FUN) parallel::stopCluster(cl) pres } else parallel::parLapply(cl, seqnvp, FUN) } } else lapply(seqnvp, FUN) nn <- names(opt[seqnvp]) ans <- setNames(lapply(L, `[[`, "bres"), nn) bakspl <- setNames(lapply(L, `[[`,"bakspl"), nn) forspl <- setNames(lapply(L, `[[`,"forspl"), nn) ## profile fixed effects separately (for LMMs) if (isLMM(fitted)) { offset.orig <- fitted@resp$offset fp <- seq_len(p) fp <- fp[(fp+nvp) %in% which] ## FIXME: parallelize this too ... for (j in fp) { if (verbose) cat("fixed-effect parameter ",j,":\n",sep="") pres <- # intermediate results for pos. incr. nres <- res # and negative increments est <- opt[nvp + j] std <- stderr[j] Xw <- X.orig[, j, drop=TRUE] Xdrop <- .modelMatrixDrop(X.orig, j) pp1 <- new(class(pp), X = Xdrop, Zt = pp$Zt, Lambdat = pp$Lambdat, Lind = pp$Lind, theta = pp$theta, n = nrow(Xdrop)) ### FIXME Change this to use the deep copy and setWeights, setOffset, etc. rr <- new(Class=class(fitted@resp), y=fitted@resp$y) rr$setWeights(fitted@resp$weights) fe.zeta <- function(fw, start) { ## (start parameter ignored) rr$setOffset(Xw * fw + offset.orig) rho <- list2env(list(pp=pp1, resp=rr), parent = parent.frame()) ores <- optwrap(optimizer, par = thopt, fn = mkdevfun(rho, 0L), lower = fitted@lower) ## this optimization is done on the ORIGINAL ## theta scale (i.e. not the sigma/corr scale) ## upper=Inf for all cases ## lower = pmax(fitted@lower, -1.0), ## upper = 1/(fitted@lower != 0))## = ifelse(fitted@lower==0, Inf, 1.0) fv <- ores$fval sig <- sqrt((rr$wrss() + pp1$sqrL(1))/n) c(sign(fw - est) * sqrt(fv - base), Cv_to_Sv(ores$par, lengths(fitted@cnms), s=sig), ## ores$par * sig, sig, mkpar(p, j, fw, pp1$beta(1))) } nres[1, ] <- pres[2, ] <- fe.zeta(est + delta * std) poff <- nvp + 1L + j ## Workaround R bug [rbind2() is S4 generic; cannot catch warnings in its arg] ## see lme4 GH issue #304 upperf <- fillmat(pres, -Inf, Inf, fe.zeta, poff) lowerf <- fillmat(nres, -Inf, Inf, fe.zeta, poff) bres <- as.data.frame(unique(rbind2(upperf, lowerf))) bres$.par <- n.j <- names(fe.orig)[j] ans[[n.j]] <- bres[order(bres[, poff]), ] form[[3]] <- as.name(n.j) bakspl[[n.j]] <- tryCatch(backSpline(forspl[[n.j]] <- interpSpline(form, bres)), error=function(e)e) if (inherits(bakspl[[n.j]], "error")) warning("non-monotonic profile for ", n.j) } ## for(j in 1..p) } ## if isLMM ans <- do.call(rbind, ans) row.names(ans) <- NULL ## TODO: rbind(*, make.row.names=FALSE) ans$.par <- factor(ans$.par) structure(ans, forward = forspl, backward = bakspl, lower = lower[seqnvp], upper = upper[seqnvp], class = c("thpr", "data.frame"))# 'thpr': see ../man/profile-methods.Rd } ## profile.merMod ##' Transform 'which' \in {parnames | integer | "beta_" | "theta_"} ##' into integer indices ##' @param which numeric or character vector ##' @param nvp number of variance-covariance parameters ##' @param nptot total number of parameters ##' @param parnames vector of parameter names ##' @param verbose print messages? ##' @examples ##' fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) ##' tn <- names(getME(fm1,"theta")) ##' nn <- c(tn,names(fixef(fm1))) ##' get.which("theta_",length(tn),length(nn),nn, verbose=TRUE) ##' get.which <- function(which, nvp, nptot, parnames, verbose=FALSE) { if (is.null(which)) seq_len(nptot) else if (is.character(which)) { wi <- integer(); wh <- which if(any(j <- wh == "theta_")) { wi <- seq_len(nvp); wh <- wh[!j] } if(any(j <- wh == "beta_") && nptot > nvp) { wi <- c(wi, seq(nvp+1, nptot)); wh <- wh[!j] } if(any(j <- parnames %in% wh)) { ## which containing param.names wi <- sort(unique(c(wi, seq_len(nptot)[j]))) } if(verbose) message(gettextf("From original which = %s: new which <- %s", deparse(which, nlines=1), deparse(wi, nlines=1)), domain=NA) if(length(wi) == 0) warning(gettextf("Nothing selected by 'which=%s'", deparse(which)), domain=NA) wi } else # stopifnot( .. numeric ..) which } ## This is a hack. The preferred approach is to write a ## subset method for the ddenseModelMatrix and dsparseModelMatrix ## classes .modelMatrixDrop <- function(mm, w) { if (isS4(mm)) { nX <- slotNames(X <- mm[, -w, drop = FALSE]) do.call(new, c(list(Class = class(mm), assign = attr(mm,"assign")[-w], contrasts = NULL ## FIXME: where did the contrasts information go?? ## mm@contrasts ), lapply(structure(nX, .Names=nX), function(nm) slot(X, nm)))) } else { structure(mm[, -w, drop=FALSE], assign = attr(mm, "assign")[-w]) } } ## The deviance is profiled with respect to the fixed-effects ## parameters but not with respect to sigma. The other parameters ## are on the standard deviation scale, not the theta scale. ## ## @title Return a function for evaluation of the deviance. ## @param fm a fitted model of class merMod ## @param useSc (logical) whether a scale parameter is used ## @param \dots arguments passed to profnames (\code{signames=TRUE} ## to use old-style .sigxx names, FALSE uses (sd_cor|xx); ## also \code{prefix=c("sd","cor")}) ## @return a function for evaluating the deviance in the extended ## parameterization. This is profiled with respect to the ## variance-covariance parameters (fixed-effects done separately). devfun2 <- function(fm, useSc = if(isLMM(fm)) TRUE else NA, transfuns = list(from.chol = Cv_to_Sv, to.chol = Sv_to_Cv, to.sd = identity), ...) { ## FIXME: have to distinguish between ## 'useSc' (GLMM: report profiled scale parameter) and ## 'useSc' (NLMM/LMM: scale theta by sigma) ## hasSc := GLMMuseSc <- fm@devcomp$dims["useSc"] stopifnot(is(fm, "merMod")) fm <- refitML(fm) basedev <- -2*c(logLik(fm)) ## no longer deviance() vlist <- lengths(fm@cnms) ## "has scale" := isLMM or GLMM with scale parameter hasSc <- as.logical(fm@devcomp$dims[["useSc"]]) stdErr <- unname(coef(summary(fm))[,2]) pp <- fm@pp$copy() if (useSc) { sig <- sigma(fm) ## only if hasSc is TRUE? ## opt <- c(pp$theta*sig, sig) opt <- transfuns$from.chol(pp$theta, n=vlist, s=sig) } else { opt <- transfuns$from.chol(pp$theta, n=vlist) } names(opt) <- profnames(fm, useSc=useSc, ...) opt <- c(opt, fixef(fm)) resp <- fm@resp$copy() np <- length(pp$theta) nf <- length(fixef(fm)) if(hasSc) np <- np + 1L # was if(!isGLMM(fm)) np <- np + 1L n <- nrow(pp$V) # use V, not X so it works with nlmer if (isLMM(fm)) { # ==> hasSc ans <- function(pars) { stopifnot(is.numeric(pars), length(pars) == np) ## Assumption: we can translate the *last* parameter back ## to sigma (SD) scale ... sigma <- transfuns$to.sd(pars[np]) ## .Call(lmer_Deviance, pp$ptr(), resp$ptr(), pars[-np]/sigma) ## convert from sdcor vector back to 'unscaled theta' thpars <- transfuns$to.chol(pars, n=vlist, s=sigma) .Call(lmer_Deviance, pp$ptr(), resp$ptr(), thpars) sigsq <- sigma^2 pp$ldL2() - ldW + (resp$wrss() + pp$sqrL(1))/sigsq + n * log(2 * pi * sigsq) } ldW <- sum(log(environment(ans)$resp$weights)) assign("ldW", ldW, envir = environment(ans)) } else { # GLMM *and* NLMMs d0 <- getME(fm, "devfun") ## from glmer: ## rho <- new.env(parent=parent.env(environment())) ## rho$pp <- do.call(merPredD$new, c(reTrms[c("Zt","theta","Lambdat","Lind")], n=nrow(X), list(X=X))) ## rho$resp <- mkRespMod(fr, if(REML) p else 0L) ans <- function(pars) { stopifnot(is.numeric(pars), length(pars) == np+nf) thpars <- if(!useSc) transfuns$to.chol(pars[seq(np)], n=vlist) else transfuns$to.chol(pars[seq(np)], n=vlist, s=pars[np]) fixpars <- pars[-seq(np)] d0(c(thpars,fixpars)) } } attr(ans, "optimum") <- opt # w/ names() attr(ans, "basedev") <- basedev attr(ans, "thopt") <- pp$theta attr(ans, "stderr") <- stdErr class(ans) <- "devfun" ans } ## extract only the y component from a prediction predy <- function(sp, vv) { if(inherits(sp,"error")) rep(NA_real_, length(vv)) else predict(sp, vv)$y } stripExpr <- function(ll, nms) { stopifnot(is.list(ll), is.character(nms)) fLevs <- as.expression(nms) # variable names; now replacing log(sigma[.]) etc: fLevs[nms == ".sigma"] <- expression(sigma) fLevs[nms == ".lsigma"] <- expression(log(sigma)) fLevs[nms == ".sigmasq"] <- expression(sigma^2) sigNms <- grep("^\\.sig[0-9]+", nms) lsigNms <- grep("^\\.lsig[0-9]+", nms) sig2Nms <- grep("^\\.sigsq[0-9]+", nms) ## the in ".sig0" and then in ".lsig0": sigsub <- as.integer(substring(nms[ sigNms], 5)) lsigsub <- as.integer(substring(nms[lsigNms], 6)) sig2sub <- as.integer(substring(nms[sig2Nms], 7)) fLevs[ sigNms] <- lapply( sigsub, function(i) bquote( sigma[.(i)])) fLevs[lsigNms] <- lapply(lsigsub, function(i) bquote(log(sigma[.(i)]))) fLevs[sig2Nms] <- lapply(sig2sub, function(i) bquote( {sigma[.(i)]}^2)) ## result of using { .. }^2 is easier to understand == == levsExpr <- substitute(strip.custom(factor.levels=foo), list(foo=fLevs)) snames <- c("strip", "strip.left") if(!any(.in <- snames %in% names(ll))) { ll$strip <- levsExpr } else { for(nm in snames[.in]) if(is.logical(v <- ll[[nm]]) && v) ll[[nm]] <- levsExpr } ll } panel.thpr <- function(x, y, spl, absVal, ...) { panel.grid(h = -1, v = -1) myspl <- spl[[panel.number()]] lsegments(x, y, x, 0, ...) if (absVal) { y[y == 0] <- NA lsegments(x, y, rev(x), y) } else { panel.abline(h = 0, ...) } if (!is(myspl,"spline")) { ## 'difficult' data if (absVal) myspl$y <- abs(myspl$y) panel.lines (myspl$x, myspl$y) panel.points(myspl$x, myspl$y, pch="+") warning(gettextf("bad profile for variable %d: using linear interpolation", panel.number()), domain=NA) } else { lims <- current.panel.limits()$xlim krange <- range(myspl$knots) pr <- predict(myspl, seq(max(lims[1], krange[1]), min(lims[2], krange[2]), len = 101)) if (absVal) pr$y <- abs(pr$y) panel.lines(pr$x, pr$y) } } ## A lattice-based plot method for profile objects ##' @importFrom lattice xyplot ##' @S3method xyplot thpr xyplot.thpr <- function (x, data = NULL, levels = sqrt(qchisq(pmax.int(0, pmin.int(1, conf)), df = 1)), conf = c(50, 80, 90, 95, 99)/100, absVal = FALSE, scales = NULL, which = 1:nptot, ...) { if(any(!is.finite(conf) | conf <= 0 | conf >= 1)) stop("values of 'conf' must be strictly between 0 and 1") stopifnot(1 <= (nptot <- length(nms <- levels(x[[".par"]])))) ## FIXME: is this sufficiently reliable? ## (include "sigma" in 'theta' parameters) nvp <- length(grep("^(\\.sig[0-9]+|.sigma|sd_|cor_)", nms)) which <- get.which(which, nvp, nptot, nms) levels <- sort(levels[is.finite(levels) & levels > 0]) spl <- attr(x, "forward") [which] bspl <- attr(x, "backward")[which] ## for parameters for which spline couldn't be computed, ## replace the 'spl' element with the raw profile data if(any(badSpl <- vapply(spl, is.null, NA))) { spl[badSpl] <- lapply(which(badSpl), function(i) { n <- names(badSpl)[i] r <- x[x[[".par"]] == n, ] data.frame(y = r[[".zeta"]], x = r[[n]]) }) bspl[badSpl] <- lapply(spl[badSpl], function(d) data.frame(x=d$y,y=d$x)) ## FIXME: more efficient, not yet ok ? ## ibad <- which(badSpl) ## spl[ibad] <- lapply(names(ibad), function(n) { ## r <- x[x[[".par"]]==n,] ## data.frame(y = r[[".zeta"]], x = r[[n]]) ## }) ## bspl[ibad] <- lapply(spl[ibad], function(d) data.frame(x=d$y,y=d$x)) } zeta <- c(-rev(levels), 0, levels) mypred <- function(bs, zeta) { ## use linear approximation if backspline doesn't work if (inherits(bs,"spline")) predy(bs, zeta) else if(is.numeric(x <- bs$x) && is.numeric(y <- bs$y) && length(x) == length(y)) approx(x, y, xout = zeta)$y else rep_len(NA, length(zeta)) } fr <- data.frame(zeta = rep.int(zeta, length(spl)), pval = unlist(lapply(bspl, mypred, zeta)), pnm = gl(length(spl), length(zeta), labels = names(spl))) if (length(ind <- which(is.na(fr$pval)))) { fr[ind, "zeta"] <- 0 for (i in ind) ### FIXME: Should check which bound has been violated, although it ### will almost always be the minimum. if (inherits(curspl <- spl[[fr[i, "pnm"] ]], "spline")) { fr[i, "pval"] <- min(curspl$knots) } } ylab <- if (absVal) { fr$zeta <- abs(fr$zeta) expression("|" * zeta * "|") } else expression(zeta) intscales <- list(x = list(relation = 'free')) ## FIXME: is there something less clunky we can do here ## that allows for all possible user inputs ## (may want to (1) override x$relation (2) add elements to $x ## (3) add elements to scales) if (!is.null(scales)) { if (!is.null(scales[["x"]])) { if (!is.null(scales[["x"]]$relation)) { intscales[["x"]]$relation <- scales[["x"]]$relation scales[["x"]]$relation <- NULL } intscales[["x"]] <- c(intscales[["x"]],scales[["x"]]) scales[["x"]] <- NULL } intscales <- c(intscales,scales) } ll <- c(list(...), list(x = zeta ~ pval | pnm, data=fr, scales = intscales, ylab = ylab, xlab = NULL, panel=panel.thpr, spl = spl, absVal = absVal)) do.call(xyplot, stripExpr(ll, names(spl))) } ## copy of stats:::format.perc (not exported, and ":::" being forbidden nowadays): format.perc <- function (x, digits, ...) { paste(format(100 * x, trim = TRUE, scientific = FALSE, digits = digits), "%") } ##' confint() method for our profile() results 'thpr' ##' @importFrom stats confint confint.thpr <- function(object, parm, level = 0.95, zeta, ## tolerance for non-monotonic profiles ## (raw values, not splines) non.mono.tol=1e-2, ...) { bak <- attr(object, "backward") ## fallback strategy for old profiles that don't have a lower/upper ## attribute saved ... if (is.null(lower <- attr(object,"lower"))) lower <- rep(NA,length(parm)) if (is.null(upper <- attr(object,"upper"))) upper <- rep(NA,length(parm)) ## FIXME: work a little harder to add -Inf/Inf for fixed effect ## parameters? (Should only matter for really messed-up profiles) bnms <- names(bak) parm <- if (missing(parm)) bnms else if(is.numeric(parm)) # e.g., when called from confint.merMod() bnms[parm] else if (length(parm <- as.character(parm)) == 1) { if (parm == "theta_") grep("^(sd_|cor_|.sig|sigma$)", bnms, value=TRUE) else if (parm == "beta_") grep("^(sd_|cor_|.sig|sigma$)", bnms, value=TRUE, invert=TRUE) else if(parm %in% bnms) # just that one parm ## else NULL : will return 0-row matrix } else intersect(parm, bnms) cn <- if (missing(zeta)) { a <- (1 - level)/2 a <- c(a, 1 - a) zeta <- qnorm(a) format.perc(a, 3) } ## else NULL ci <- matrix(NA_real_, nrow=length(parm), ncol=2L, dimnames = list(parm,cn)) for (i in seq_along(parm)) { ## would like to build this machinery into predy, but ## predy is used in many places and it's much harder to ## tell in general whether an NA indicates a lower or an ## upper bound ... badprof <- FALSE p <- rep(NA,2) if (!inherits(b <- bak[[parm[i]]], "error")) { p <- predy(b, zeta) } else { obj1 <- object[object$.par==parm[[i]],c(parm[[i]],".zeta")] if (all(is.na(obj1[,2]))) { badprof <- TRUE warning("bad profile for ",parm[i]) } else if (min(diff(obj1[,2])<(-non.mono.tol),na.rm=TRUE)) { badprof <- TRUE warning("non-monotonic profile for ",parm[i]) } else { warning("bad spline fit for ",parm[i],": falling back to linear interpolation") p <- approxfun(obj1[,2],obj1[,1])(zeta) } } if (!badprof) { if (is.na(p[1])) p[1] <- lower[i] if (is.na(p[2])) p[2] <- upper[i] } ci[i,] <- p } ci } ## FIXME: make bootMer more robust; make profiling more robust; ## more warnings; documentation ... ##' Compute confidence intervals on the parameters of an lme4 fit ##' @param object a fitted [ng]lmer model ##' @param parm parameters (specified by integer position) ##' @param level confidence level ##' @param method for computing confidence intervals ##' @param zeta likelihood cutoff ##' (if not specified, computed from \code{level}: "profile" only) ##' @param nsim number of simulations for parametric bootstrap intervals ##' @param boot.type bootstrap confidence interval type ##' @param quiet (logical) suppress messages about computationally intensive profiling? ##' @param oldNames (logical) use old-style names for \code{method="profile"}? (See \code{signames} argument to \code{\link{profile}} ##' @param \dots additional parameters to be passed to \code{\link{profile.merMod}} or \code{\link{bootMer}} ##' @return a numeric table of confidence intervals confint.merMod <- function(object, parm, level = 0.95, method = c("profile","Wald","boot"), zeta, nsim=500, boot.type = c("perc","basic","norm"), FUN = NULL, quiet=FALSE, oldNames=TRUE, ...) { method <- match.arg(method) boot.type <- match.arg(boot.type) ## 'parm' corresponds to 'which' in other contexts if (method=="boot" && !is.null(FUN)) { ## custom boot function, don't expand parameter names } else { ## "use scale" = GLMM with scale parameter *or* LMM .. useSc <- as.logical(object@devcomp$dims[["useSc"]]) vn <- profnames(object, oldNames, useSc=useSc) an <- c(vn,names(fixef(object))) parm <- if(missing(parm)) seq_along(an) else get.which(parm, nvp=length(vn), nptot=length(an), parnames=an) if (!quiet && method %in% c("profile","boot")) { mtype <- switch(method, profile="profile", boot="bootstrap") message("Computing ",mtype," confidence intervals ...") flush.console() } } switch(method, "profile" = { pp <- profile(object, which=parm, signames=oldNames, ...) ## confint.thpr() with missing(parm) using all names: confint(pp, level=level, zeta=zeta) }, "Wald" = { a <- (1 - level)/2 a <- c(a, 1 - a) ci.vcov <- array(NA,dim = c(length(vn), 2L), dimnames = list(vn, format.perc(a,3))) ## copied with small changes from confint.default cf <- fixef(object) ## coef() -> fixef() pnames <- names(cf) ## N.B. can't use sqrt(...)[parm] (diag() loses names) ses <- sqrt(diag(vcov(object))) ci.fixed <- array(cf + ses %o% qnorm(a), dim = c(length(pnames), 2L), dimnames = list(pnames, format.perc(a, 3))) vnames <- tnames(object) ci.all <- rbind(ci.vcov,ci.fixed) ci.all[parm,,drop=FALSE] }, "boot" = { bootFun <- function(x) { th <- x@theta nvec <- lengths(x@cnms) scaleTh <- (isLMM(x) || isNLMM(x)) ## FIXME: still ugly. Best cleanup via Cv_to_Sv ... ss <- if (scaleTh) { ## scale variances by sigma and include it Cv_to_Sv(th, n=nvec, s=sigma(x)) } else if (useSc) { ## don't scale variances but do include sigma c(Cv_to_Sv(th, n=nvec), sigma(x)) } else { ## no scaling, no sigma Cv_to_Sv(th, n=nvec) } c(setNames(ss, vn), fixef(x)) } if (is.null(FUN)) FUN <- bootFun bb <- bootMer(object, FUN=FUN, nsim=nsim,...) if (all(is.na(bb$t))) stop("*all* bootstrap runs failed!") print.bootWarnings(bb, verbose=FALSE) citab <- confint(bb,level=level,type=boot.type) if (missing(parm)) { ## only happens if we have custom boot method if (is.null(parm <- rownames(citab))) { parm <- seq(nrow(citab)) } } citab[parm, , drop=FALSE] }, ## should never get here ... stop("unknown confidence interval method")) } ##' Convert x-cosine and y-cosine to average and difference. ##' ##' Convert the x-cosine and the y-cosine to an average and difference ##' ensuring that the difference is positive by flipping signs if ##' necessary ##' @param xc x-cosine ##' @param yc y-cosine ad <- function(xc, yc) { a <- (xc + yc)/2 d <- (xc - yc) cbind(sign(d)* a, abs(d)) } ##' convert d versus a (as an xyVector) and level to a matrix of taui and tauj ##' @param xy an xyVector ##' @param lev the level of the contour tauij <- function(xy, lev) lev * cos(xy$x + outer(xy$y/2, c(-1, 1))) ##' @title safe arc-cosine ##' @param x numeric vector argument ##' @return acos(x) being careful of boundary conditions sacos <- function(x) acos(pmax.int(-0.999, pmin.int(0.999, x))) ##' Generate a contour ##' ##' @title Generate a contour ##' @param sij the arc-cosines of i on j ##' @param sji the arc-cosines of j on i ##' @param levels numeric vector of levels at which to interpolate ##' @param nseg number of segments in the interpolated contour ##' @return a list with components ##' \item{tki}{the tau-scale predictions of i on j at the contour levels} ##' \item{tkj}{the tau-scale predictions of j on i at the contour levels} ##' \item{pts}{an array of dimension (length(levels), nseg, 2) containing the points on the contours} cont <- function(sij, sji, levels, nseg = 101) { ada <- array(0, c(length(levels), 2L, 4L)) ada[, , 1] <- ad(0, sacos(predy(sij, levels)/levels)) ada[, , 2] <- ad( sacos(predy(sji, levels)/levels), 0) ada[, , 3] <- ad(pi, sacos(predy(sij, -levels)/levels)) ada[, , 4] <- ad(sacos(predy(sji, -levels)/levels), pi) pts <- array(0, c(length(levels), nseg + 1, 2)) for (i in seq_along(levels)) pts[i, ,] <- tauij(predict(periodicSpline(ada[i, 1, ], ada[i, 2, ]), nseg = nseg), levels[i]) levs <- c(-rev(levels), 0, levels) list(tki = predict(sij, levs), tkj = predict(sji, levs), pts = pts) } ## copied from lattice:::chooseFace chooseFace <- function (fontface = NULL, font = 1) { if (is.null(fontface)) font else fontface } ##' Draws profile pairs plots. Contours are for the marginal ##' two-dimensional regions (i.e. using df = 2). ##' ##' @title Profile pairs plot ##' @param x the result of \code{\link{profile}} (or very similar structure) ##' @param data unused - only for compatibility with generic ##' @param levels the contour levels to be shown; usually derived from \code{conf} ##' @param conf numeric vector of confidence levels to be shown as contours ##' @param ... further arguments passed to \code{\link{splom}} ##' @importFrom grid gpar viewport ##' @importFrom lattice splom ##' @method splom thpr ##' @export splom.thpr <- function (x, data, levels = sqrt(qchisq(pmax.int(0, pmin.int(1, conf)), 2)), conf = c(50, 80, 90, 95, 99)/100, which = 1:nptot, draw.lower = TRUE, draw.upper = TRUE, ...) { stopifnot(1 <= (nptot <- length(nms <- names(attr(x, "forward"))))) singfit <- FALSE for (i in grep("^(\\.sig[0-9]+|sd_)", names(x))) singfit <- singfit || any(x[,".zeta"] == 0 & x[,i] == 0) if (singfit) warning("splom is unreliable for singular fits") nvp <- length(grep("^(\\.sig[0-9]+|.sigma|sd_|cor_)", nms)) which <- get.which(which, nvp, nptot, nms) if (length(which) == 1) stop("can't draw a scatterplot matrix for a single variable") mlev <- max(levels) spl <- attr(x, "forward")[which] frange <- sapply(spl, function(x) range(x$knots)) bsp <- attr(x, "backward")[which] x <- x[x[[".par"]] %in% nms[which],c(".zeta",nms[which],".par")] ## brange <- sapply(bsp, function(x) range(x$knots)) pfr <- do.call(cbind, lapply(bsp, predy, c(-mlev, mlev))) pfr[1, ] <- pmax.int(pfr[1, ], frange[1, ], na.rm = TRUE) pfr[2, ] <- pmin.int(pfr[2, ], frange[2, ], na.rm = TRUE) nms <- names(spl) ## Create data frame fr of par. vals in zeta coordinates fr <- x[, -1] for (nm in nms) fr[[nm]] <- predy(spl[[nm]], na.omit(fr[[nm]])) fr1 <- fr[1, nms] ## create a list of lists with the names of the parameters traces <- lapply(fr1, function(el) lapply(fr1, function(el1) list())) .par <- NULL ## => no R CMD check warning for (j in seq_along(nms)[-1]) { frj <- subset(fr, .par == nms[j]) for (i in seq_len(j - 1L)) { fri <- subset(fr, .par == nms[i]) sij <- interpSpline(fri[ , i], fri[ , j]) sji <- interpSpline(frj[ , j], frj[ , i]) ll <- cont(sij, sji, levels) traces[[j]][[i]] <- list(sij = sij, sji = sji, ll = ll) } } if(draw.lower) ## panel function for lower triangle lp <- function(x, y, groups, subscripts, i, j, ...) { tr <- traces[[j]][[i]] grid::pushViewport(viewport(xscale = c(-1.07, 1.07) * mlev, yscale = c(-1.07, 1.07) * mlev)) dd <- sapply(current.panel.limits(), diff)/50 psij <- predict(tr$sij) ll <- tr$ll ## now do the actual plotting panel.grid(h = -1, v = -1) llines(psij$y, psij$x, ...) llines(predict(tr$sji), ...) with(ll$tki, lsegments(y - dd[1], x, y + dd[1], x, ...)) with(ll$tkj, lsegments(x, y - dd[2], x, y + dd[2], ...)) for (k in seq_along(levels)) llines(ll$pts[k, , ], ...) grid::popViewport(1) } if(draw.upper) ## panel function for upper triangle up <- function(x, y, groups, subscripts, i, j, ...) { ## panels are transposed so reverse i and j jj <- i ii <- j tr <- traces[[jj]][[ii]] ll <- tr$ll pts <- ll$pts ## limits <- current.panel.limits() psij <- predict(tr$sij) psji <- predict(tr$sji) ## do the actual plotting panel.grid(h = -1, v = -1) llines(predy(bsp[[ii]], psij$x), predy(bsp[[jj]], psij$y), ...) llines(predy(bsp[[ii]], psji$y), predy(bsp[[jj]], psji$x), ...) for (k in seq_along(levels)) llines(predy(bsp[[ii]], pts[k, , 2]), predy(bsp[[jj]], pts[k, , 1]), ...) } dp <- function(x = NULL, # diagonal panel varname = NULL, limits, at = NULL, lab = NULL, draw = TRUE, varname.col = add.text$col, varname.cex = add.text$cex, varname.lineheight = add.text$lineheight, varname.font = add.text$font, varname.fontfamily = add.text$fontfamily, varname.fontface = add.text$fontface, axis.text.col = axis.text$col, axis.text.alpha = axis.text$alpha, axis.text.cex = axis.text$cex, axis.text.font = axis.text$font, axis.text.fontfamily = axis.text$fontfamily, axis.text.fontface = axis.text$fontface, axis.line.col = axis.line$col, axis.line.alpha = axis.line$alpha, axis.line.lty = axis.line$lty, axis.line.lwd = axis.line$lwd, i, j, ...) { n.var <- eval.parent(expression(n.var)) add.text <- trellis.par.get("add.text") axis.line <- trellis.par.get("axis.line") axis.text <- trellis.par.get("axis.text") if (!is.null(varname)) grid::grid.text(varname, gp = gpar(col = varname.col, cex = varname.cex, lineheight = varname.lineheight, fontface = chooseFace(varname.fontface, varname.font), fontfamily = varname.fontfamily)) if (draw) { at <- pretty(limits) sides <- c("left", "top") if (j == 1) sides <- "top" if (j == n.var) sides <- "left" for (side in sides) panel.axis(side = side, at = at, labels = format(at, trim = TRUE), ticks = TRUE, check.overlap = TRUE, half = side == "top" && j > 1, tck = 1, rot = 0, text.col = axis.text.col, text.alpha = axis.text.alpha, text.cex = axis.text.cex, text.font = axis.text.font, text.fontfamily = axis.text.fontfamily, text.fontface = axis.text.fontface, line.col = axis.line.col, line.alpha = axis.line.alpha, line.lty = axis.line.lty, line.lwd = axis.line.lwd) lims <- c(-1.07, 1.07) * mlev grid::pushViewport(viewport(xscale = lims, yscale = lims)) side <- if(j == 1) "right" else "bottom" which.half <- if(j == 1) "lower" else "upper" at <- pretty(lims) panel.axis(side = side, at = at, labels = format(at, trim = TRUE), ticks = TRUE, half = TRUE, which.half = which.half, tck = 1, rot = 0, text.col = axis.text.col, text.alpha = axis.text.alpha, text.cex = axis.text.cex, text.font = axis.text.font, text.fontfamily = axis.text.fontfamily, text.fontface = axis.text.fontface, line.col = axis.line.col, line.alpha = axis.line.alpha, line.lty = axis.line.lty, line.lwd = axis.line.lwd) grid::popViewport(1) } } panel.blank <- function(...) {} splom(~ pfr, lower.panel = if(draw.lower) lp else panel.blank, upper.panel = if(draw.upper) up else panel.blank, diag.panel = dp, ...) } ## return an lmer profile like x with all the .sigNN parameters ## replaced by .lsigNN. The forward and backward splines for ## these parameters are recalculated. -> ../man/profile-methods.Rd logProf <- function (x, base = exp(1), ranef=TRUE, sigIni = if(ranef) "sig" else "sigma") { stopifnot(inherits(x, "thpr")) cn <- colnames(x) sigP <- paste0("^\\.", sigIni) if (length(sigs <- grep(sigP, cn))) { repP <- sub("sig", ".lsig", sigIni) colnames(x) <- cn <- sub(sigP, repP, cn) levels(x[[".par"]]) <- sub(sigP, repP, levels(x[[".par"]])) names(attr(x, "backward")) <- names(attr(x, "forward")) <- sub(sigP, repP, names(attr(x, "forward"))) for (nm in cn[sigs]) { x[[nm]] <- log(x[[nm]], base = base) fr <- x[x[[".par"]] == nm & is.finite(x[[nm]]), TRUE, drop=FALSE] form <- eval(substitute(.zeta ~ nm, list(nm = as.name(nm)))) attr(x, "forward")[[nm]] <- isp <- interpSpline(form, fr) attr(x, "backward")[[nm]] <- backSpline(isp) } ## eliminate rows that produced non-finite logs x <- x[apply(is.finite(as.matrix(x[, sigs])), 1, all), , drop=FALSE] } x } ## the log() method must have (x, base); no other arguments log.thpr <- function (x, base = exp(1)) logProf(x, base=base) ##' Create an approximating density from a profile object -- called only from densityplot.thpr() ##' ##' @title Approximate densities from profiles ##' @param pr a profile object ##' @param npts number of points at which to evaluate the density ##' @param upper upper bound on cumulative for a cutoff ##' @return a data frame dens <- function(pr, npts=201, upper=0.999) { npts <- as.integer(npts) spl <- attr(pr, "forward") bspl <- attr(pr, "backward") stopifnot(inherits(pr, "thpr"), npts > 0, is.numeric(upper), 0.5 < upper, upper < 1, identical((vNms <- names(spl)), names(bspl))) bad_vars <- character(0) zeta <- c(-1,1) * qnorm(upper) rng <- vector(mode="list", length=length(bspl)) names(rng) <- vNms dd <- rng # empty named list to be filled for (i in seq_along(bspl)) { if (inherits(bspl[[i]], "error")) { rng[[i]] <- rep(NA,npts) bad_vars <- c(bad_vars, vNms[i]) next } rng0 <- predy(bspl[[i]], zeta) if (is.na(rng0[1])) rng0[1] <- 0 if (is.na(rng0[2])) { ## try harder to pick an upper bound for(upp in 1 - 10^seq(-4,-1, length=21)) { # <<-- TODO: should be related to 'upper' if(!is.na(rng0[2L] <- predy(bspl[[i]], qnorm(upp)))) break } if (is.na(rng0[2])) { warning("can't find an upper bound for the profile") bad_vars <- c(bad_vars, vNms[i]) next } } rng[[i]] <- seq(rng0[1], rng0[2], len=npts) } fr <- data.frame(pval = unlist(rng), pnm = gl(length(rng), npts, labels=vNms)) for (nm in vNms) { dd[[nm]] <- if (!inherits(spl[[nm]], "spline")) { rep(NA_real_, npts) } else { zz <- predy(spl[[nm]], rng[[nm]]) dnorm(zz) * predict(spl[[nm]], rng[[nm]], deriv = 1L)$y } } fr$density <- unlist(dd) if (length(bad_vars)) warning("unreliable profiles for some variables skipped: ", paste(bad_vars, collapse=", ")) fr } ##' Densityplot method for a mixed-effects model profile ## ##' @title densityplot from a mixed-effects profile ##' @param x a mixed-effects profile ##' @param data not used - for compatibility with generic ##' @param ... optional arguments to \code{\link[lattice]{densityplot}()} ##' from package \pkg{lattice}. ##' @return a density plot ##' @examples ## see example("profile.merMod") ##' @importFrom lattice densityplot ##' @method densityplot thpr ##' @export densityplot.thpr <- function(x, data, npts=201, upper=0.999, ...) { dd <- dens(x, npts=npts, upper=upper) ll <- c(list(...), list(x=density ~ pval|pnm, data=dd, type=c("l","g"), scales=list(relation="free"), xlab=NULL)) do.call(xyplot, stripExpr(ll, names(attr(x, "forward")))) } ##' Transform a mixed-effects profile to the variance scale varianceProf <- function(x, ranef=TRUE) { ## "parallel" to logProf() stopifnot(inherits(x, "thpr")) cn <- colnames(x) if(length(sigs <- grep(paste0("^\\.", if(ranef)"sig" else "sigma"), cn))) { ## s/sigma/sigmasq/ ; s/sig01/sig01sq/ etc sigP <- paste0("^(\\.sig", if(ranef) "(ma)?" else "ma", ")") repP <- "\\1sq" colnames(x) <- cn <- sub(sigP, repP, cn) levels(x[[".par"]]) <- sub(sigP, repP, levels(x[[".par"]])) names(attr(x, "backward")) <- names(attr(x, "forward")) <- sub(sigP, repP, names(attr(x, "forward"))) for (nm in cn[sigs]) { x[[nm]] <- x[[nm]]^2 ## select rows (and currently drop extra attributes) fr <- x[x[[".par"]] == nm, TRUE, drop=FALSE] form <- eval(substitute(.zeta ~ nm, list(nm = as.name(nm)))) attr(x, "forward")[[nm]] <- isp <- interpSpline(form, fr) attr(x, "backward")[[nm]] <- backSpline(isp) } } x } ## convert profile to data frame, adding a .focal parameter to simplify lattice/ggplot plotting ##' @method as.data.frame thpr ##' @param x the result of \code{\link{profile}} (or very similar structure) ##' @export ##' @rdname profile-methods as.data.frame.thpr <- function(x,...) { class(x) <- "data.frame" m <- as.matrix(x[,seq(ncol(x))-1]) ## omit .par x.p <- x[[".par"]] x[[".focal"]] <- m[cbind(seq(nrow(x)),match(x.p,names(x)))] x[[".par"]] <- factor(x.p, levels=unique(as.character(x.p))) ## restore order x } lme4/R/mcmcsamp.R0000644000176200001440000000654314327770071013257 0ustar liggesusers##' @name pvalues ##' @aliases mcmcsamp ##' @title Getting p-values for fitted models ##' ##' @description One of the most frequently asked questions about \code{lme4} ##' is "how do I calculate p-values for estimated parameters?" ##' 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.0). ##' ##' Many users, including users of the \code{aovlmer.fnc} function ##' from the \code{languageR} package which relies on \code{mcmcsamp}, ##' will be deeply disappointed by this lacuna. Users who need p-values have ##' a variety of options: ##' \itemize{ ##' \item likelihood ratio tests via \code{anova} (MC,+) ##' \item profile confidence intervals via \code{\link{profile.merMod}} and \code{\link{confint.merMod}} (CI,+) ##' \item parametric bootstrap confidence intervals and model comparisons via \code{\link{bootMer}} (or \code{PBmodcomp} in the \code{pbkrtest} package) (MC/CI,*,+) ##' \item for random effects, simulation tests via the \code{RLRsim} package (MC,*) ##' \item for fixed effects, F tests via Kenward-Roger approximation using \code{KRmodcomp} from the \code{pbkrtest} package (MC) ##' \item \code{car::Anova} and \code{lmerTest::anova} provide wrappers for \code{pbkrtest}. \code{lmerTest::anova} also provides t tests via the Satterthwaite approximation (P,*) ##' } ##' In the list above, the methods marked \code{MC} provide explicit model comparisons; \code{CI} denotes confidence intervals; and \code{P} denotes parameter-level or sequential tests of all effects in a model. The starred (*) suggestions provide finite-size corrections (important when the number of groups is <50); those marked (+) support GLMMs as well as LMMs. ##' ##' When all else fails, don't forget to keep p-values in perspective: \url{http://www.phdcomics.com/comics/archive.php?comicid=905} ##' if(FALSE) ## C++ code in ../src/mcmcsamp.cpp -- is also #ifdef 0 # @S3method mcmcsamp merMod mcmcsamp.merMod <- function(object, n=1L, verbose=FALSE, saveb=FALSE, ...) { n <- max(1L, as.integer(n)[1]) dd <- getME(object, "devcomp")$dims ranef <- matrix(numeric(0), nrow = dd[["q"]], ncol = 0) if (saveb) ranef <- matrix(, nrow = dd[["q"]], ncol = n) sigma <- matrix(unname(sigma(object)), nrow = 1, ncol = (if (dd[["useSc"]]) n else 0)) ff <- fixef(object) fixef <- matrix(ff, nrow=dd[["p"]], ncol=n) rownames(fixef) <- names(ff) ## FIXME create a copy of the resp and pred modules ans <- new("merMCMC", Gp = object@Gp, # ST = matrix(.Call(mer_ST_getPars, object), dd[["np"]], n), call = object@call, dims = object@dims, deviance = rep.int(unname(object@deviance[["ML"]]), n), fixef = fixef, nc = sapply(object@ST, nrow), ranef = ranef, sigma = sigma) .Call(mer_MCMCsamp, ans, object) } lme4/R/optimizer.R0000644000176200001440000000613214630365604013472 0ustar liggesusers## --> ../man/NelderMead.Rd Nelder_Mead <- function(fn, par, lower=rep.int(-Inf, n), upper=rep.int(Inf, n), control=list()) { n <- length(par) if (is.null(xst <- control[["xst"]])) xst <- rep.int(0.02,n) if (is.null(xt <- control[["xt"]])) xt <- xst*5e-4 control[["xst"]] <- control[["xt"]] <- NULL ## mapping between simpler 'verbose' setting (0=no printing, 1=20, 2=10, 3=1) ## and internal 'iprint' control (frequency of printing) if (is.null(verbose <- control[["verbose"]])) verbose <- 0 control[["verbose"]] <- NULL if (is.null(control[["iprint"]])) { control[["iprint"]] <- switch(as.character(min(as.numeric(verbose),3L)), "0"=0, "1"=20,"2"=10,"3"=1) } stopifnot(is.function(fn), length(formals(fn)) == 1L, (n <- length(par <- as.numeric(par))) == length(lower <- as.numeric(lower)), length(upper <- as.numeric(upper)) == n, length(xst <- as.numeric(xst)) == n, all(xst != 0), length(xt <- as.numeric(xt)) == n) ## "NelderMead" reference class and constructor: --> ./AllClass.R : nM <- NelderMead$new(lower=lower, upper=upper, x0=par, xst=xst, xt=xt) cc <- do.call(function(iprint = 0L, maxfun = 10000L, FtolAbs = 1e-5, FtolRel = 1e-15, XtolRel = 1e-7, MinfMax= -.Machine$double.xmax, warnOnly=FALSE, ...) { if(...length() > 0) warning("unused control arguments ignored") list(iprint=iprint, maxfun=maxfun, FtolAbs=FtolAbs, FtolRel=FtolRel, XtolRel=XtolRel, MinfMax=MinfMax, warnOnly=warnOnly) }, control) nM$setFtolAbs(cc$FtolAbs) nM$setFtolRel(cc$FtolRel) nM$setIprint (cc$iprint) nM$setMaxeval(cc$maxfun) nM$setMinfMax(cc$MinfMax) it <- 0 repeat { it <- it + 1 nMres <- nM$newf(fn(nM$xeval())) if (nMres != 0L) break } cmsg <- "reached max evaluations" if (nMres == -4) { ## map max evals from error to warning cmsg <- warning(sprintf("failure to converge in %d evaluations",cc$maxfun)) nMres <- 4 } ## nMres: msgvec <- c("nm_forced", ## -3 "cannot generate a feasible simplex", ## -2 "initial x is not feasible", ## -1 "active", ## 0 (active) "objective function went below allowed minimum", ## 1 (minf_max) "objective function values converged to within tolerance", ## 2 (fcvg) "parameter values converged to within tolerance", ## 3 (xcvg) cmsg) if (nMres < 0) { ## i.e., in {-3, -2, -1} (if(cc$warnOnly) warning else stop)( msgvec[nMres+4] ) } list(fval = nM$value(), par = nM$xpos(), convergence = pmin(0, nMres), # positive nMres is also 'convergence' NM.result = nMres, `message` = msgvec[nMres+4], control = c(cc, xst=xst, xt=xt), feval = it) } lme4/R/AllClass.R0000644000176200001440000013331514634103061013141 0ustar liggesusers### Class definitions for the package ##' Class "lmList4" of 'lm' Objects on Common Model ##' --> ../man/lmList4-class.Rd ##' ~~~~~~~~~~~~~~~~~~~~~~~ ##' @keywords classes ##' @export setClass("lmList4", representation(call = "call", pool = "logical", groups = "ordered", # or "factor"? nlme does use ordered() origOrder = "integer" # a permutation ), contains = "list") ## TODO?: export setClass("lmList4.confint", contains = "array") forceCopy <- function(x) .Call(deepcopy, x) ### FIXME ### shouldn't we have "merPred" with two *sub* classes "merPredD" and "merPredS" ### for the dense and sparse X cases ? ## ## MM: _Or_ have "merPred" with X of class "mMatrix" := classUnion {matrix, Matrix} merPredD <- setRefClass("merPredD", # Predictor class for mixed-effects models with dense X fields = list(Lambdat = "dgCMatrix", # depends: theta and Lind ## = t(Lambda); Lambda := lower triangular relative variance factor LamtUt = "dgCMatrix", # depends: Lambdat and Ut Lind = "integer", # depends: nothing ## integer vector of the same length as 'x' slot in Lambdat. ## Its elements should be in 1: length(theta) Ptr = "externalptr", # depends: RZX = "matrix", # depends: lots Ut = "dgCMatrix", # depends: Zt and weights Utr = "numeric", # depends: lots V = "matrix", # depends: VtV = "matrix", Vtr = "numeric", X = "matrix", # model matrix for the fixed-effects parameters Xwts = "numeric", Zt = "dgCMatrix", # = t(Z); Z = sparse model matrix for the random effects beta0 = "numeric", delb = "numeric", delu = "numeric", theta = "numeric", # numeric vector of variance component parameters u0 = "numeric"), methods = list( initialize = function(X, Zt, Lambdat, Lind, theta, n, # = sample size, usually = nrow(X) ...) { if (!nargs()) return() ll <- list(...) X <<- as(X, "matrix") Zt <<- as(Zt, "dgCMatrix") Lambdat <<- as(Lambdat, "dgCMatrix") Lind <<- as.integer(Lind) theta <<- as.numeric(theta) N <- nrow(X) p <- ncol(X) q <- nrow(Zt) stopifnot(length(theta) > 0L, length(Lind) > 0L, all(sort(unique(Lind)) == seq_along(theta))) RZX <<- if (!is.null(ll$RZX)) array(ll$RZX, c(q, p)) else array(0, c(q, p)) Utr <<- if (!is.null(ll$Utr)) as.numeric(ll$Utr) else numeric(q) V <<- if (!is.null(ll$V)) array(ll$V, c(n, p)) else array(0, c(n, p)) VtV <<- if (!is.null(ll$VtV)) array(ll$VtV, c(p, p)) else array(0, c(p, p)) Vtr <<- if (!is.null(ll$Vtr)) as.numeric(ll$Vtr) else numeric(p) beta0 <<- if (!is.null(ll$beta0)) ll$beta0 else numeric(p) delb <<- if (!is.null(ll$delb)) as.numeric(ll$delb) else numeric(p) delu <<- if (!is.null(ll$delu)) as.numeric(ll$delu) else numeric(q) u0 <<- if (!is.null(ll$u0)) ll$u0 else numeric(q) Ut <<- if (n == N) Zt + 0 else Zt %*% sparseMatrix(i=seq_len(N), j=as.integer(gl(n, 1, N)), x=rep.int(1,N)) ## The following is a kludge to overcome problems when Zt is square ## by making LamtUt rectangular LtUt <- Lambdat %*% Ut ## if (nrow(LtUt) == ncol(LtUt)) ## LtUt <- cbind2(LtUt, ## sparseMatrix(i=integer(0), ## j=integer(0), ## x=numeric(0), ## dims=c(nrow(LtUt),1))) LamtUt <<- LtUt Xw <- ll$Xwts ## list(...)$Xwts Xwts <<- if (is.null(Xw)) rep.int(1, N) else as.numeric(Xw) initializePtr() }, CcNumer = function() { 'returns the numerator of the orthogonality convergence criterion' .Call(merPredDCcNumer, ptr()) }, L = function() { 'returns the current value of the sparse Cholesky factor' .Call(merPredDL, ptr()) }, P = function() { 'returns the permutation vector for the sparse Cholesky factor' .Call(merPredDPvec, ptr()) }, RX = function() { 'returns the dense downdated Cholesky factor for the fixed-effects parameters' .Call(merPredDRX, ptr()) }, RXi = function() { 'returns the inverse of the dense downdated Cholesky factor for the fixed-effects parameters' .Call(merPredDRXi, ptr()) }, RXdiag = function() { 'returns the diagonal of the dense downdated Cholesky factor' .Call(merPredDRXdiag, ptr()) }, b = function(fac) { 'random effects on original scale for step factor fac' .Call(merPredDb, ptr(), as.numeric(fac)) }, beta = function(fac) { 'fixed-effects coefficients for step factor fac' .Call(merPredDbeta, ptr(), as.numeric(fac)) }, copy = function(shallow = FALSE) { def <- .refClassDef selfEnv <- as.environment(.self) vEnv <- new.env(parent=emptyenv()) for (field in setdiff(names(def@fieldClasses), "Ptr")) { if (shallow) assign(field, get(field, envir = selfEnv), envir = vEnv) else { current <- get(field, envir = selfEnv) if (is(current, "envRefClass")) current <- current$copy(FALSE) assign(field, forceCopy(current), envir = vEnv) } } do.call(merPredD$new, c(as.list(vEnv), n=nrow(vEnv$V), Class=def)) }, ldL2 = function() { 'twice the log determinant of the sparse Cholesky factor' .Call(merPredDldL2, ptr()) }, ldRX2 = function() { 'twice the log determinant of the downdated dense Cholesky factor' .Call(merPredDldRX2, ptr()) }, unsc = function() { 'the unscaled variance-covariance matrix of the fixed-effects parameters' .Call(merPredDunsc, ptr()) }, linPred = function(fac) { 'evaluate the linear predictor for step factor fac' .Call(merPredDlinPred, ptr(), as.numeric(fac)) }, installPars = function(fac) { 'update u0 and beta0 to the values for step factor fac' .Call(merPredDinstallPars, ptr(), as.numeric(fac)) }, initializePtr = function() { Ptr <<- .Call(merPredDCreate, as(X, "matrix"), Lambdat, LamtUt, Lind, RZX, Ut, Utr, V, VtV, Vtr, Xwts, Zt, beta0, delb, delu, theta, u0) .Call(merPredDsetTheta, Ptr, theta) .Call(merPredDupdateXwts, Ptr, Xwts) .Call(merPredDupdateDecomp, Ptr, NULL) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(theta)) { if (.Call(isNullExtPtr, Ptr)) initializePtr() } Ptr }, setBeta0 = function(beta0) { 'install a new value of beta' .Call(merPredDsetBeta0, ptr(), as.numeric(beta0)) }, setTheta = function(theta) { 'install a new value of theta' .Call(merPredDsetTheta, ptr(), as.numeric(theta)) }, setZt = function(ZtNonZero) { 'install new values in Zt' .Call(merPredDsetZt, ptr(), as.numeric(ZtNonZero)) }, solve = function() { 'solve for the coefficient increments delu and delb' .Call(merPredDsolve, ptr()) }, solveU = function() { 'solve for the coefficient increment delu only (beta is fixed)' .Call(merPredDsolveU, ptr()) }, setDelu = function(val) { 'set the coefficient increment delu' .Call(merPredDsetDelu , ptr(), as.numeric(val)) }, setDelb = function(val) { 'set the coefficient increment delb' .Call(merPredDsetDelb , ptr(), as.numeric(val)) }, sqrL = function(fac) { 'squared length of u0 + fac * delu' .Call(merPredDsqrL, ptr(), as.numeric(fac)) }, u = function(fac) { 'orthogonal random effects for step factor fac' .Call(merPredDu, ptr(), as.numeric(fac)) }, updateDecomp = function(XPenalty = NULL) { 'update L, RZX and RX from Ut, Vt and VtV' invisible(.Call(merPredDupdateDecomp, ptr(), XPenalty)) }, updateL = function() { 'update LamtUt and L' .Call(merPredDupdateL, ptr()) }, updateLamtUt = function() { 'update LamtUt and L' .Call(merPredDupdateLamtUt, ptr()) }, updateRes = function(wtres) { 'update Vtr and Utr using the vector of weighted residuals' .Call(merPredDupdateRes, ptr(), as.numeric(wtres)) }, updateXwts = function(wts) { 'update Ut and V from Zt and X using X weights' .Call(merPredDupdateXwts, ptr(), wts) } ) ) merPredD$lock("Lambdat", "LamtUt", "Lind", "RZX", "Ut", "Utr", "V", "VtV", "Vtr", "X", "Xwts", "Zt", "beta0", "delb", "delu", "theta", "u0") ## -> ../man/lmResp-class.Rd ## ~~~~~~~~~~~~~~~~~~~~~~ lmResp <- # base class for response modules setRefClass("lmResp", fields = list(Ptr = "externalptr", mu = "numeric", offset = "numeric", sqrtXwt = "numeric", sqrtrwt = "numeric", weights = "numeric", wtres = "numeric", y = "numeric"), methods = list( allInfo = function() { 'return all the information available on the object' data.frame(y=y, offset=offset, weights=weights, mu=mu, rwt=sqrtrwt, wres=wtres, Xwt=sqrtXwt) }, initialize = function(...) { if (!nargs()) return() ll <- list(...) if (is.null(ll$y)) stop("y must be specified") y <<- as.numeric(ll$y) n <- length(y) mu <<- if (!is.null(ll[["mu"]])) as.numeric(ll[["mu"]]) else numeric(n) offset <<- if (!is.null(ll$offset)) as.numeric(ll$offset) else numeric(n) weights <<- if (!is.null(ll$weights)) as.numeric(ll$weights) else rep.int(1,n) sqrtXwt <<- if (!is.null(ll$sqrtXwt)) as.numeric(ll$sqrtXwt) else sqrt(weights) sqrtrwt <<- if (!is.null(ll$sqrtrwt)) as.numeric(ll$sqrtrwt) else sqrt(weights) wtres <<- sqrtrwt * (y - mu) }, copy = function(shallow = FALSE) { def <- .refClassDef selfEnv <- as.environment(.self) vEnv <- new.env(parent=emptyenv()) for (field in setdiff(names(def@fieldClasses), "Ptr")) { if (shallow) assign(field, get(field, envir = selfEnv), envir = vEnv) else { current <- get(field, envir = selfEnv) if (is(current, "envRefClass")) current <- current$copy(FALSE) ## deep-copy hack +0 assign(field, forceCopy(current), envir = vEnv) } } do.call(new, c(as.list(vEnv), Class=def)) }, initializePtr = function() { Ptr <<- .Call(lm_Create, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres) .Call(lm_updateMu, Ptr, mu) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) { if (.Call(isNullExtPtr, Ptr)) initializePtr() } Ptr }, setOffset = function(oo) { 'change the offset in the model (used in profiling)' .Call(lm_setOffset, ptr(), as.numeric(oo)) }, setResp = function(rr) { 'change the response in the model, usually after a deep copy' .Call(lm_setResp, ptr(), as.numeric(rr)) }, setWeights = function(ww) { 'change the prior weights in the model' .Call(lm_setWeights, ptr(), as.numeric(ww)) }, updateMu = function(gamma) { 'update mu, wtres and wrss from the linear predictor' .Call(lm_updateMu, ptr(), as.numeric(gamma)) }, wrss = function() { 'returns the weighted residual sum of squares' .Call(lm_wrss, ptr()) }) ) lmResp$lock("mu", "offset", "sqrtXwt", "sqrtrwt", "weights", "wtres")#, "y") lmerResp <- setRefClass("lmerResp", contains = "lmResp", fields = list(REML = "integer"), methods= list(initialize = function(...) { REML <<- as.integer(list(...)$REML) if (length(REML) != 1L) REML <<- 0L callSuper(...) }, initializePtr = function() { Ptr <<- .Call(lmer_Create, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres) .Call(lm_updateMu, Ptr, mu - offset) .Call(lmer_setREML, Ptr, REML) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) if (.Call(isNullExtPtr, Ptr)) initializePtr() Ptr }, objective = function(ldL2, ldRX2, sqrL, sigma.sq = NULL) { 'returns the profiled deviance or REML criterion' .Call(lmer_Laplace, ptr(), ldL2, ldRX2, sqrL, sigma.sq) }) ) setOldClass("family") ##' @export glmResp <- setRefClass("glmResp", contains = "lmResp", fields = list(eta = "numeric", family = "family", n = "numeric"), methods= list(initialize = function(...) { callSuper(...) ll <- list(...) if (is.null(ll$family)) stop("family must be specified") family <<- ll$family n <<- if (!is.null(ll$n)) as.numeric(ll$n) else rep.int(1,length(y)) eta <<- if (!is.null(e <- ll[["etastart"]])) as.numeric(e) else numeric(length(y)) }, aic = function() { .Call(glm_aic, ptr()) }, allInfo = function() { 'return all the information available on the object' cbind(callSuper(), data.frame(eta=eta, muEta=muEta(), var=variance(), WrkWt=sqrtWrkWt(), wrkRes=wrkResids(), wrkResp=wrkResp(), devRes=devResid())) }, devResid = function() { 'returns the vector of deviance residuals' .Call(glm_devResid, ptr()) }, fam = function() { 'returns the name of the glm family' .Call(glm_family, ptr()) }, Laplace = function(ldL2, ldRX2, sqrL) { 'returns the Laplace approximation to the profiled deviance' .Call(glm_Laplace, ptr(), ldL2, ldRX2, sqrL) }, link = function() { 'returns the name of the glm link' .Call(glm_link, ptr()) }, muEta = function() { 'returns the diagonal of the Jacobian matrix, d mu/d eta' .Call(glm_muEta, ptr()) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) { if (.Call(isNullExtPtr, Ptr)) { Ptr <<- .Call(glm_Create, family, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres, eta, n) .Call(glm_updateMu, Ptr, eta - offset) } } Ptr }, resDev = function() { 'returns the sum of the deviance residuals' .Call(glm_resDev, ptr()) }, setTheta = function(theta) { 'sets a new value of theta, for negative binomial distribution only' .Call(glm_setTheta, ptr(), as.numeric(theta)) }, sqrtWrkWt = function() { 'returns the square root of the working X weights' .Call(glm_sqrtWrkWt, ptr()) }, theta = function() { 'query the value of theta, for negative binomial distribution only' .Call(glm_theta, ptr()) }, updateMu = function(gamma) { 'update mu, residuals, weights, etc. from the linear predictor' .Call(glm_updateMu, ptr(), as.numeric(gamma)) }, updateWts = function() { 'update the residual and X weights from the current value of eta' .Call(glm_updateWts, ptr()) }, variance = function() { 'returns the vector of variances' .Call(glm_variance, ptr()) }, wtWrkResp = function() { 'returns the vector of weighted working responses' .Call(glm_wtWrkResp, ptr()) }, wrkResids = function() { 'returns the vector of working residuals' .Call(glm_wrkResids, ptr()) }, wrkResp = function() { 'returns the vector of working responses' .Call(glm_wrkResp, ptr()) } ) ) glmResp$lock("family", "n", "eta") ##' @export nlsResp <- setRefClass("nlsResp", contains = "lmResp", fields= list(gam = "numeric", nlmod = "formula", nlenv = "environment", pnames= "character"), methods= list(initialize = function(...) { callSuper(...) ll <- list(...) if (is.null(ll$nlmod)) stop("nlmod must be specified") nlmod <<- ll$nlmod if (is.null(ll$nlenv)) stop("nlenv must be specified") nlenv <<- ll$nlenv if (is.null(ll$pnames)) stop("pnames must be specified") pnames <<- ll$pnames if (is.null(ll$gam)) stop("gam must be specified") stopifnot(length(ll$gam) == length(offset)) gam <<- ll$gam }, Laplace =function(ldL2, ldRX2, sqrL) { 'returns the profiled deviance or REML criterion' .Call(nls_Laplace, ptr(), ldL2, ldRX2, sqrL) }, ptr = function() { 'returns the external pointer, regenerating if necessary' if (length(y)) { if (.Call(isNullExtPtr, Ptr)) { Ptr <<- .Call(nls_Create, y, weights, offset, mu, sqrtXwt, sqrtrwt, wtres, gam, nlmod[[2]], nlenv, pnames) .Call(nls_updateMu, Ptr, gam) } } Ptr }, updateMu=function(gamma) { 'update mu, residuals, gradient, etc. given the linear predictor matrix' .Call(nls_updateMu, ptr(), as.numeric(gamma)) }) ) nlsResp$lock("nlmod", "nlenv", "pnames") ##' Generator object for the \code{\linkS4class{glmFamily}} class ##' ##' The generator object for the \code{\linkS4class{glmFamily}} reference class. ##' Such an object is primarily used through its \code{new} method. ##' ##' ##' @param ... Named argument (see Note below) ##' @note Arguments to the \code{new} method must be named arguments. ##' @section Methods: \describe{ ##' \item{\code{new(family=family)}}{Create a new ##' \code{\linkS4class{glmFamily}} object} ##' } ##' @seealso \code{\linkS4class{glmFamily}} ##' @keywords classes ##' @export glmFamily <- # used in tests of family definitions setRefClass("glmFamily", fields=list(Ptr="externalptr", family="family"), methods= list( aic = function(y, n, mu, wt, dev) { 'returns the value from the aic member function, which is actually the deviance' nn <- length(y <- as.numeric(y)) stopifnot(length(n <- as.numeric(n)) == nn, length(mu <- as.numeric(mu)) == nn, length(wt <- as.numeric(wt)) == nn, all(wt >= 0), length(dev <- as.numeric(dev)) == 1L) .Call(glmFamily_aic, ptr(), y, n, mu, wt, dev) }, devResid = function(y, mu, wt) { 'applies the devResid function to y, mu and wt' mu <- as.numeric(mu) wt <- as.numeric(wt) y <- as.numeric(y) stopifnot(length(mu) == length(wt), length(mu) == length(y), all(wt >= 0)) .Call(glmFamily_devResid, ptr(), y, mu, wt) }, link = function(mu) { 'applies the (forward) link function to mu' .Call(glmFamily_link, ptr(), as.numeric(mu)) }, linkInv = function(eta) { 'applies the inverse link function to eta' .Call(glmFamily_linkInv, ptr(), as.numeric(eta)) }, muEta = function(eta) { 'applies the muEta function to eta' .Call(glmFamily_muEta, ptr(), as.numeric(eta)) }, ptr = function() { if (length(family)) if (.Call(isNullExtPtr, Ptr)) Ptr <<- .Call(glmFamily_Create, family) Ptr }, setTheta = function(theta) { 'sets a new value of theta, for negative binomial distribution only' .Call(glmFamily_setTheta, ptr(), as.numeric(theta)) }, theta = function() { 'query the value of theta, for negative binomial distribution only' .Call(glmFamily_theta, ptr()) }, variance = function(mu) { 'applies the variance function to mu' .Call(glmFamily_variance, ptr(), as.numeric(mu)) }) ) ##' Class \code{"glmFamily"} - a reference class for \code{\link{family}} ##' ##' This class is a wrapper class for \code{\link{family}} objects specifying a ##' distibution family and link function for a generalized linear model ##' (\code{\link{glm}}). The reference class contains an external pointer to a ##' C++ object representing the class. For common families and link functions ##' the functions in the family are implemented in compiled code so they can be ##' accessed from other compiled code and for a speed boost. ##' ##' ##' @name glmFamily-class ##' @docType class ##' @note Objects from this reference class correspond to objects in a C++ ##' class. Methods are invoked on the C++ class using the external pointer in ##' the \code{Ptr} field. When saving such an object the external pointer is ##' converted to a null pointer, which is why there is a redundant field ##' \code{ptr} that is an active-binding function returning the external ##' pointer. If the \code{Ptr} field is a null pointer, the external pointer is ##' regenerated for the stored \code{family} field. ##' @section Extends: All reference classes extend and inherit methods from ##' \code{"\linkS4class{envRefClass}"}. ##' @seealso \code{\link{family}}, \code{\link{glmFamily}} ##' @keywords classes ##' @examples ##' ##' str(glmFamily$new(family=poisson())) NULL ##' Generator object for the golden search optimizer class. ##' ##' The generator objects for the \code{\linkS4class{golden}} class of a scalar ##' optimizer for a parameter within an interval. The optimizer uses reverse ##' communications. ##' ##' @param \dots additional, optional arguments. None are used at present. ##' @note Arguments to the \code{new} methods must be named arguments. ##' \code{lower} and \code{upper} are the bounds for the scalar parameter; they must be finite. ##' @section Methods: ##' \describe{ ##' \item{\code{new(lower=lower, upper=upper)}}{Create a new ##' \code{\linkS4class{golden}} object.} ##' } ##' @seealso \code{\linkS4class{golden}} ##' @keywords classes ##' @export golden <- setRefClass("golden", # Reverse communication implementation of Golden Search fields = list( Ptr = "externalptr", lowerbd = "numeric", upperbd = "numeric" ), methods = list( initialize = function(lower, upper, ...) { stopifnot(length(lower <- as.numeric(lower)) == 1L, length(upper <- as.numeric(upper)) == 1L, lower > -Inf, upper < Inf, lower < upper) lowerbd <<- lower upperbd <<- upper Ptr <<- .Call(golden_Create, lower, upper) }, ptr = function() { if (length(lowerbd)) if (.Call(isNullExtPtr, Ptr)) Ptr <<- .Call(golden_Create, lowerbd, upperbd) Ptr }, newf = function(value) { stopifnot(length(value <- as.numeric(value)) == 1L) .Call(golden_newf, ptr(), value) }, value = function() .Call(golden_value, ptr()), xeval = function() .Call(golden_xeval, ptr()), xpos = function() .Call(golden_xpos, ptr()) ) ) ##' Class \code{"golden"} ##' ##' A reference class for a golden search scalar optimizer using reverse ##' communication. ##' ##' ##' @name golden-class ##' @docType class ##' @section Extends: All reference classes extend and inherit methods from ##' \code{"\linkS4class{envRefClass}"}. ##' @keywords classes ##' @examples ##' ##' showClass("golden") ##' NULL ## Generator object for the Nelder-Mead optimizer class "NelderMead" ## ## A reference class for a Nelder-Mead simplex optimizer allowing box ## constraints on the parameters and using reverse communication. NelderMead <- setRefClass("NelderMead", # Reverse communication implementation of Nelder-Mead simplex optimizer fields = list( Ptr = "externalptr", lowerbd = "numeric", upperbd = "numeric", xstep = "numeric", xtol = "numeric" ), methods = list( initialize = function(lower, upper, xst, x0, xt, ...) { stopifnot((n <- length(lower <- as.numeric(lower))) > 0L, length(upper <- as.numeric(upper)) == n, all(lower < upper), length(xst <- as.numeric(xst)) == n, all(xst != 0), length(x0 <- as.numeric(x0)) == n, all(x0 >= lower), all(x0 <= upper), all(is.finite(x0)), length(xt <- as.numeric(xt)) == n, all(xt > 0)) lowerbd <<- lower upperbd <<- upper xstep <<- xst xtol <<- xt Ptr <<- .Call(NelderMead_Create, lowerbd, upperbd, xstep, x0, xtol) }, ptr = function() { if (length(lowerbd)) if (.Call(isNullExtPtr, Ptr)) Ptr <<- .Call(NelderMead_Create, lowerbd, upperbd, xstep, x0, xtol) Ptr }, newf = function(value) { stopifnot(length(value <- as.numeric(value)) == 1L) .Call(NelderMead_newf, ptr(), value) }, setForceStop = function(stp=TRUE) .Call(NelderMead_setForce_stop, ptr(), stp), setFtolAbs = function(fta) .Call(NelderMead_setFtol_abs, ptr(), fta), setFtolRel = function(ftr) .Call(NelderMead_setFtol_rel, ptr(), ftr), setMaxeval = function(mxev) .Call(NelderMead_setMaxeval, ptr(), mxev), setMinfMax = function(minf) .Call(NelderMead_setMinf_max, ptr(), minf), setIprint = function(iprint) .Call(NelderMead_setIprint, ptr(), iprint), value = function() .Call(NelderMead_value, ptr()), xeval = function() .Call(NelderMead_xeval, ptr()), xpos = function() .Call(NelderMead_xpos, ptr()) ) ) ##' Class "merMod" of Fitted Mixed-Effect Models ##' ##' A mixed-effects model is represented as a \code{\linkS4class{merPredD}} object ##' and a response module of a class that inherits from class ##' \code{\linkS4class{lmResp}}. A model with a \code{\linkS4class{lmerResp}} ##' response has class \code{lmerMod}; a \code{\linkS4class{glmResp}} response ##' has class \code{glmerMod}; and a \code{\linkS4class{nlsResp}} response has ##' class \code{nlmerMod}. ##' ##' @name merMod-class ##' @aliases merMod-class lmerMod-class glmerMod-class nlmerMod-class merMod ##' show,merMod-method ##' anova.merMod coef.merMod deviance.merMod ##' fitted.merMod formula.merMod logLik.merMod ##' model.frame.merMod model.matrix.merMod print.merMod ##' show.merMod summary.merMod ##' terms.merMod update.merMod ##' vcov.merMod print.summary.merMod show.summary.merMod ##' summary.summary.merMod vcov.summary.merMod ##' @docType class ##' @section Objects from the Class: Objects are created by calls to ##' \code{\link{lmer}}, \code{\link{glmer}} or \code{\link{nlmer}}. ##' @seealso \code{\link{lmer}}, \code{\link{glmer}}, \code{\link{nlmer}}, ##' \code{\linkS4class{merPredD}}, \code{\linkS4class{lmerResp}}, ##' \code{\linkS4class{glmResp}}, \code{\linkS4class{nlsResp}} ##' @keywords classes ##' @examples ##' ##' showClass("merMod") ##' methods(class="merMod") ##' @export setClass("merMod", representation(Gp = "integer", call = "call", frame = "data.frame", # "model.frame" is not S4-ized yet flist = "list", cnms = "list", lower = "numeric", theta = "numeric", beta = "numeric", u = "numeric", devcomp = "list", pp = "merPredD", optinfo = "list")) ##' @export setClass("lmerMod", representation(resp="lmerResp"), contains="merMod") ##' @export setClass("glmerMod", representation(resp="glmResp"), contains="merMod") ##' @export setClass("nlmerMod", representation(resp="nlsResp"), contains="merMod") ##' Generator object for the rePos (random-effects positions) class ##' ##' The generator object for the \code{\linkS4class{rePos}} class used ##' to determine the positions and orders of random effects associated ##' with particular random-effects terms in the model. ##' @param \dots Argument list (see Note). ##' @note Arguments to the \code{new} methods must be named arguments. ##' \code{mer}, an object of class \code{"\linkS4class{merMod}"}, is ##' the only required/expected argument. ##' @section Methods: ##' \describe{ ##' \item{\code{new(mer=mer)}}{Create a new ##' \code{\linkS4class{rePos}} object.} ##' } ##' @seealso \code{\linkS4class{rePos}} ##' @keywords classes ##' @export rePos <- setRefClass("rePos", fields = list( cnms = "list", # component names (components are terms within a RE term) flist = "list", # list of grouping factors used in the random-effects terms ncols = "integer", # number of components for each RE term nctot = "integer", # total number of components per factor nlevs = "integer", # number of levels for each unique factor offsets = "integer", # points to where each term starts terms = "list" # list with one element per factor, indicating corresponding term ), methods = list( initialize = function(mer, ...) { ##' asgn indicates unique elements of flist ##' stopifnot((ntrms <- length(Cnms <- mer@cnms)) > 0L, (length(Flist <- mer@flist)) > 0L, length(asgn <- as.integer(attr(Flist, "assign"))) == ntrms) cnms <<- Cnms flist <<- Flist ncols <<- unname(lengths(cnms)) nctot <<- unname(as.vector(tapply(ncols, asgn, sum))) nlevs <<- unname(vapply(flist, function(el) length(levels(el)), 0L)) # why not replace the sapply with ncols*nlevs[asgn] ?? offsets <<- c(0L, cumsum(sapply(seq_along(asgn), function(i) ncols[i] * nlevs[asgn[i]]))) terms <<- lapply(seq_along(flist), function(i) which(asgn == i)) } ) ) ##' Class \code{"rePos"} ##' ##' A reference class for determining the positions in the random-effects vector ##' that correspond to particular random-effects terms in the model formula ##' ##' @name rePos-class ##' @docType class ##' @section Extends: All reference classes extend and inherit methods from ##' \code{"\linkS4class{envRefClass}"}. ##' @keywords classes ##' @examples ##' ##' showClass("rePos") ##' rePos$lock("cnms", "flist", "ncols", "nctot", "nlevs", "terms") vcRep <- setRefClass("vcRep", fields = list( theta = "numeric", lower = "numeric", Lambdat = "dgCMatrix", Lind = "integer", Gp = "integer", flist = "list", cnms = "list", ncols = "integer", nctot = "integer", nlevs = "integer", offsets = "integer", terms = "list", sig = "numeric", nms = "character", covar = "list", useSc = "logical" ), methods = list( initialize = function(mer, ...) { stopifnot((ntrms <- length(Cnms <- mer@cnms)) > 0L, (length(Flist <- mer@flist)) > 0L, length(asgn <- as.integer(attr(Flist, "assign"))) == ntrms) lower <<- getME(mer, "lower") theta <<- getME(mer, "theta") Lambdat <<- getME(mer, "Lambdat") Lind <<- getME(mer, "Lind") Gp <<- getME(mer, "Gp") cnms <<- Cnms flist <<- Flist ncols <<- unname(lengths(cnms)) nctot <<- unname(as.vector(tapply(ncols, asgn, sum))) nlevs <<- unname(vapply(flist, function(el) length(levels(el)), 0L)) offsets <<- c(0L, cumsum(sapply(seq_along(asgn), function(i) ncols[i] * nlevs[asgn[i]]))) terms <<- lapply(seq_along(Flist), function(i) which(asgn == i)) sig <<- sigma(mer) nms <<- names(Flist)[asgn] covar <<- mkVarCorr(sig, cnms, ncols, theta, nms) useSc <<- as.logical(getME(mer, "devcomp")$dims['useSc']) }, asCovar = function() { ans <- lapply(covar, function(x) { attr(x, "correlation") <- attr(x, "stddev") <- NULL x }) attr(ans, "residVar") <- attr(covar, "sc")^2 ans }, asCorr = function() { ans <- lapply(covar, function(x) list(correlation=attr(x, "correlation"), stddev=attr(x, "stddev"))) attr(ans, "residSD") <- attr(covar, "sc") ans }, setTheta = function(ntheta) { stopifnot(length(ntheta <- as.numeric(ntheta)) == length(lower), all(ntheta >= lower)) theta <<- ntheta covar <<- mkVarCorr(sig, cnms, ncols, theta, nms) }, setSc = function(nSc) { stopifnot(useSc, length(nSc <- as.numeric(nSc)) == 1L) sig <<- nSc covar <<- mkVarCorr(sig, cnms, ncols, theta, nms) }, setResidVar = function(nVar) setSc(sqrt(as.numeric(nVar))), setRECovar = function(CV) { if (is.matrix(CV) && length(covar) == 1L) { CV <- list(CV) names(CV) <- names(covar) } covsiz <- sapply(covar, ncol) stopifnot(is.list(CV), all(names(CV) == names(covar)), all(sapply(CV, isSymmetric)), all(sapply(CV, ncol) == covsiz)) if (!all(lengths(cnms) == covsiz)) error("setRECovar currently requires distinct grouping factors") theta <<- sapply(CV, function(mm) { ff <- t(chol(mm))/sig ff[upper.tri(ff, diag=TRUE)] }) }) ) lme4/R/simulate.formula.R0000644000176200001440000001317314630365604014742 0ustar liggesusers## NOTE: Unlike the rest of the package, the functions in this file ## are licensed under the MIT License to encourage incorporation. ## ## Copyright (c) 2020 Pavel N. Krivitsky and Benjamin Bolker ## ## Permission is hereby granted, free of charge, to any person obtaining a copy ## of this software and associated documentation files (the "Software"), to deal ## in the Software without restriction, including without limitation the rights ## to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ## copies of the Software, and to permit persons to whom the Software is ## furnished to do so, subject to the following conditions: ## ## The above copyright notice and this permission notice shall be included in all ## copies or substantial portions of the Software. ## ## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ## SOFTWARE. ## #' A `simulate` Method for `formula` objects that dispatches based on the Left-Hand Side #' #' This method evaluates the left-hand side (LHS) of the given formula and #' dispatches it to an appropriate method based on the result by #' setting an nonce class name on the formula. #' #' @param object a one- or two-sided [`formula`]. #' @param nsim,seed number of realisations to simulate and the random #' seed to use; see [simulate()]. #' @param ... additional arguments to methods. #' @param basis if given, overrides the LHS of the formula for the #' purposes of dispatching. #' @param newdata,data if passed, the `object`'s LHS is evaluated in #' this environment; at most one of the two may be passed. #' #' The dispatching works as follows: #' #' 1. If `basis` is not passed, and the formula has an LHS the #' expression on the LHS of the formula in the `object` is #' evaluated in the environment `newdata` or `data` (if given), in #' any case enclosed by the environment of `object`. Otherwise, #' `basis` is used. #' #' 1. The result is set as an attribute `".Basis"` on `object`. If #' there is no `basis` or LHS, it is not set. #' #' 1. The class vector of `object` has `c("formula_lhs_\var{CLASS}", #' "formula_lhs")` prepended to it, where \var{CLASS} is the class #' of the LHS value or `basis`. If LHS or `basis` has multiple #' classes, they are all prepended; if there is no LHS or `basis`, #' `c("formula_lhs_", "formula_lhs")` is. #' #' 1. [simulate()] generic is evaluated on the new `object`, with all #' arguments passed on, excluding `basis`; if `newdata` or `data` #' are missing, they too are not passed on. The evaluation takes #' place in the parent's environment. #' #' A "method" to receive a formula whose LHS evaluates to \var{CLASS} #' can therefore be implemented by a function #' `simulate.formula_lhs_\var{CLASS}()`. This function can expect a #' [`formula`] object, with additional attribute `.Basis` giving the #' evaluated LHS (so that it does not need to be evaluated again). #' #' @export ## See https://github.com/lme4/lme4/issues/566 for further discussion simulate.formula <- function(object, nsim=1, seed=NULL, ..., basis, newdata, data) { ## utility fun for generating new class cfun <- function(cc) { c(paste0("formula_lhs_", cc), "formula_lhs", class(object)) } ## grab the arguments and the call and replace the function to be called with stats::simulate cl <- match.call() cl[[1L]] <- quote(stats::simulate) if (length(object)==3 || !missing(basis)) { ## two-sided formula or basis given if (missing(basis)) { # If basis is not passed, evaluate LHS. if (!missing(data) && !missing(newdata)) stop("At most one of ", sQuote("data"), " or ", sQuote("newdata"), " can be specified.") evaldata <- if (!missing(data)) data else if(!missing(newdata)) newdata else environment(object) lhs <- object[[2L]] .Basis <- try(eval(lhs, envir=evaldata, enclos=environment(object)), silent=TRUE) if (inherits(.Basis,"try-error")) { ## can't evaluate LHS stop(simpleError(paste("Error evaluating the left-hand side of the formula:", .Basis))) } } else { # Otherwise, override LHS. .Basis <- basis } ## Set the basis object and class. attr(object,".Basis") <- .Basis class(object) <- cfun(class(.Basis)) } else { ## one-sided class(object) <- cfun("") } ## Replace the dispatched-on argument (object) with the updated formula. cl[["object"]] <- object ## If data argument was not actually passed, remove it from the call. if(missing(data)) cl <- cl[names(cl)!="data"] ## If newdata argument was not actually passed, remove it from the call. if(missing(newdata)) cl <- cl[names(cl)!="newdata"] ## Always remove basis from the call (since it's an attribute of object now). cl <- cl[names(cl)!="basis"] # Evaluate the modified call as if in the environment from which simulate.formula() was called. (A poor man's NextMethod().) eval(cl, parent.frame()) } #' @describeIn simulate.formula A function to catch the situation when there is no method implemented for the class to which the LHS evaluates. #' #' @export simulate.formula_lhs <- function(object, nsim=1, seed=NULL, ...){ stop("No applicable method for LHS of type ", paste0(sQuote(class(attr(object, ".Basis"))), collapse=", "), ".") } lme4/R/lmList.R0000644000176200001440000004332314630365604012717 0ustar liggesusers## List of linear models according to a grouping factor ## Extract the model formula modelFormula <- function(form) { if (!inherits(form, "formula") || length(form) != 3) stop("formula must be a two-sided formula object") rhs <- form[[3]] if (!inherits(rhs, "call") || rhs[[1]] != as.symbol('|')) stop("rhs of formula must be a conditioning expression") form[[3]] <- rhs[[2]] list(model = dropOffset(form), groups = rhs[[3]]) } dropOffset <- function(form) { ## atomic if (is.symbol(form) || is.numeric(form)) return(form) ## binary if (identical(form[[1]],quote(offset))) { NULL } else { ## unary operator if (length(form)==2) { form[[2]] <- dropOffset(form[[2]]) return(form) } nb2 <- dropOffset(form[[2]]) nb3 <- dropOffset(form[[3]]) if (is.null(nb2)) nb3 else if (is.null(nb3)) nb2 else { form[[2]] <- nb2 form[[3]] <- nb3 return(form) } } } ## dropOffset(y~x) ## dropOffset(y~x+offset(stuff)) ## dropOffset(y~-x+offset(stuff)) ## dropOffset(~-x+offset(stuff)) if(getRversion() < "3.5.0") { ##' Utility for lmList(), ...: Collect errors from a list \code{x}, ##' produce a "summary warning" and keep that message as "warningMsg" attribute warnErrList <- function(x, warn = TRUE) { errs <- vapply(x, inherits, NA, what = "error") if (any(errs)) { v.err <- x[errs] e.call <- paste(deparse(conditionCall(v.err[[1]])), collapse = "\n") tt <- table(vapply(v.err, conditionMessage, "")) msg <- if(length(tt) == 1) sprintf(ngettext(tt[[1]], "%d error caught in %s: %s", "%d times caught the same error in %s: %s"), tt[[1]], e.call, names(tt)[[1]]) else ## at least two different errors caught paste(gettextf( "%d errors caught in %s. The error messages and their frequencies are", sum(tt), e.call), paste(capture.output(sort(tt)), collapse="\n"), sep="\n") if(warn) warning(msg, call. = FALSE, domain = NA) x[errs] <- list(NULL) attr(x, "warningMsg") <- msg } x } }# R <= 3.4.x ##' @title List of lm Objects with a Common Model ##' @param formula a linear formula object of the form ##' \code{y ~ x1+...+xn | g}. In the formula object, \code{y} represents ##' the response, \code{x1,...,xn} the covariates, and \code{g} the ##' grouping factor specifying the partitioning of the data according to ##' which different \code{lm} fits should be performed. ##' @inheritParams lmer ##' @param family an optional family specification for a generalized ##' linear model. ##' @param pool logical scalar, should the variance estimate pool the ##' residual sums of squares ##' @param ... additional, optional arguments to be passed to the ##' model function or family evaluation. ##' @export lmList <- function(formula, data, family, subset, weights, na.action, offset, pool = !isGLM || .hasScale(family2char(family)), warn = TRUE, ...) { stopifnot(inherits(formula, "formula")) ## model.frame(groupedData) was problematic ... but not as we ## are currently using it. mCall <- mf <- match.call() ## MM: I had this (instead of below (inherited from nlme?)): ## if(!missing(subset)) ## data <- data[eval(asOneSidedFormula(mf[["subset"]])[[2]], data),, drop = FALSE] ## in contrast to the usual R model-fitting idiom, we do **not** ## want to evaluate the model frame here; it will mess up any derived ## variables we have when we go to fit the sub-models. We were previously ## using model.frame() on the entire data set, but that does not ## exclude unused columns ... and hence screws us up when there are ## NA values in unused columns. All we need the model frame for ## is evaluating the groups. ## keep weights and offsets in case we have NAs there?? m <- match(c("formula", "data", "subset", "na.action", "weights", "offset"), names(mf), 0) mf <- mf[c(1, m)] ## substitute `+' for `|' in the formula mf$formula <- subbars(formula) mf$drop.unused.levels <- TRUE ## pass NAs for now -- want *all* groups, weights, offsets recovered mf$na.action <- na.pass mf[[1L]] <- quote(stats::model.frame) frm <- eval.parent(mf) ## <- including "..." data[["(weights)"]] <- model.weights(frm) data[["(offset)"]] <- model.offset(frm) mform <- modelFormula(formula) isGLM <- !missing(family) ## TODO in future, consider isNLM / isNLS groups <- eval(mform$groups, frm) if (!is.factor(groups)) groups <- factor(groups) fit <- if (isGLM) glm else lm mf2 <- if (missing(family)) NULL else list(family=family) fitfun <- function(data, formula) { tryCatch({ do.call(fit, c(list(formula, data, ## don't use model.offset()/model.weights from stats() - warning with tibbles weights = data[["(weights)"]], offset = data[["(offset)"]], ...), mf2)) }, error = function(x) x) } ## split *original data*, not frm (derived model frame), on groups ## we have to do this because we need raw, not derived variables ## when evaluating linear regression. ## need to apply subset first ((or even much earlier ??)) ## (hope there aren't tricky interactions with NAs in subset ... ??) if (!missing(subset)) { data <- eval(substitute(data[subset,]), list2env(data)) } frm.split <- split(data, groups) ## NB: levels() is only OK if grouping variable is a factor nms <- names(frm.split) val <- ## mapply(fitfun, lapply(frm.split, fitfun, formula = as.formula(mform$model)) ## use warnErrList(), but expand msg for back compatibility and user-friendliness: val <- warnErrList(val, warn = FALSE) ## Contrary to nlme, we keep the erronous ones as well (with a warning): if(warn && length(wMsg <- attr(val,"warningMsg"))) { if(grepl("contrasts.* factors? .* 2 ", wMsg)){ # try to match translated msg, too warning("Fitting failed for ", sum(vapply(val, is.null, NA)), " group(s), probably because a factor only had one level", sub(".*:", ":\n ", wMsg), domain=NA) } else warning(wMsg, domain=NA) } new("lmList4", setNames(val, nms), call = mCall, pool = pool, groups = ordered(groups), origOrder = match(unique(as.character(groups)), nms) ) } ## (currently hidden) auxiliaries isGLMlist <- function(object, ...) { D <- getDataPart(object) length(D) >= 1 && inherits(D[[1]], "glm") } ## does a glm family have a "scale" [from stats:::logLik.glm() ] : .hasScale <- function(family) family %in% c("gaussian", "Gamma", "inverse.gaussian") family2char <- function(fam) { if(is.function(fam)) fam()$family else if(!is.character(fam)) fam$family else fam } ##' Does a lmList4 object have a "scale" / sigma / useScale ? hasScale <- function(object) !isGLMlist(object) || .hasScale(family(object[[1]])$family) ##' @importFrom stats coef ##' @S3method coef lmList4 ## Extract the coefficients and form a data.frame if possible ## FIXME: commented out nlme stuff (augFrame etc.). Restore, or delete for good ## FIXME: modified so that non-estimated values will be NA rather than set to ## coefs of first non-null estimate. Is that OK?? coef.lmList4 <- function(object, ## augFrame = FALSE, data = NULL, ##which = NULL, FUN = mean, omitGroupingFactor = TRUE, ...) { coefs <- lapply(object, coef) non.null <- !vapply(coefs, is.null, logical(1)) if (any(non.null)) { template <- coefs[non.null][[1]] ## different parameter sets may be estimated for different subsets of data ... allnames <- Reduce(union, lapply(coefs[non.null], names)) if (is.numeric(template)) { co <- matrix(NA, ncol = length(allnames), nrow = length(coefs), dimnames = list(names(object), allnames)) for (i in names(object)) { co[i,names(coefs[[i]])] <- coefs[[i]] } coefs <- as.data.frame(co) effectNames <- names(coefs) ## if(augFrame) { ## if (is.null(data)) { ## data <- getData(object) ## } ## data <- as.data.frame(data) ## if (is.null(which)) { ## which <- 1:ncol(data) ## } ## data <- data[, which, drop = FALSE] ## ## eliminating columns with same names as effects ## data <- data[, is.na(match(names(data), effectNames)), drop = FALSE] ## data <- gsummary(data, FUN = FUN, groups = getGroups(object)) ## if (omitGroupingFactor) { ## data <- data[, is.na(match(names(data), ## names(getGroupsFormula(object, ## asList = TRUE)))), ## drop = FALSE] ## } ## if (length(data) > 0) { ## coefs <- cbind(coefs, data[row.names(coefs),,drop = FALSE]) ## } ## } attr(coefs, "level") <- attr(object, "level") attr(coefs, "label") <- "Coefficients" attr(coefs, "effectNames") <- effectNames attr(coefs, "standardized") <- FALSE } ## is.numeric(template) } coefs } ### FIXME?: nlme *does* export this -- we export sigma() [instead ?] pooledSD <- function(x, allow.0.df = TRUE) { stopifnot(is(x, "lmList4")) if(!hasScale(x)) { if(allow.0.df) return(structure(1, df = NA)) ## scale := 1 if(!useScale) ## else stop("no scale, hence no pooled SD for this object") } sumsqr <- rowSums(sapply(x, function(el) { if (is.null(el)) { c(0,0) } else { res <- resid(el) c(sum(res^2), length(res) - length(coef(el))) } })) if (sumsqr[2] == 0) { ## FIXME? rather return NA with a warning ?? stop("No degrees of freedom for estimating std. dev.") } val <- sqrt(sumsqr[1]/sumsqr[2]) attr(val, "df") <- sumsqr[2] val } sigma.lmList4 <- function(object, ...) if(hasScale(object)) as.vector(pooledSD(object)) else 1 ## 1 for GLM <==> 1 when useScale is FALSE for [G]LMMs ##' @importFrom methods show ##' @exportMethod show setMethod("show", "lmList4", function(object) { mCall <- object@call cat("Call:", deparse(mCall), "\n") cat("Coefficients:\n") print(coef(object)) if (object@pool) { cat("\n") poolSD <- pooledSD(object) dfRes <- attr(poolSD, "df") RSE <- c(poolSD) cat("Degrees of freedom: ", length(unlist(lapply(object, fitted))), " total; ", dfRes, " residual\n", sep = "") cat("Residual standard error:", format(RSE)) cat("\n") } }) ##' @S3method confint lmList4 confint.lmList4 <- function(object, parm, level = 0.95, ...) { mCall <- match.call() if (length(object) < 1) return(new("lmList4.confint", array(numeric(0), c(0,0,0)))) mCall$object <- object[[1]] ## the old recursive strategy doesn't work with S3 objects -- ## calls "confint.lmList4" again instead of calling "confint" mCall[[1]] <- quote(confint) template <- eval(mCall) if(is.null(d <- dim(template))) ## MASS:::confint.profile.glm() uses drop(), giving vector d <- dim(template <- rbind("(Intercept)" = template)) template[] <- NA_real_ val <- array(template, c(d, length(object)), c(dimnames(template), list(names(object)))) pool <- list(...)$pool if (is.null(pool)) pool <- object$pool if (length(pool) > 0 && pool[1]) { ## do our own sd <- pooledSD(object) a <- (1 - level)/2 fac <- sd * qt(c(a, 1 - a), attr(sd, "df")) parm <- dimnames(template)[[1]] for (i in seq_along(object)) if(!is.null(ob.i <- object[[i]])) val[ , , i] <- coef(ob.i)[parm] + sqrt(diag(summary(object[[i]], corr = FALSE)$cov.unscaled )[parm]) %o% fac } else { ## build on confint() method for "glm" / "lm" : for (i in seq_along(object)) if(!is.null(mCall$object <- object[[i]])) { ci <- eval(mCall) if(is.null(dim(ci))) ## MASS:::confint.profile.glm() ... ci <- rbind("(Intercept)" = ci) if(identical(dim(ci), d)) val[ , , i] <- ci else ## some coefficients were not estimable val[rownames(ci), , i] <- ci } } new("lmList4.confint", aperm(val, 3:1)) } ##' @importFrom graphics plot ##' @importFrom lattice ....... ##' @S3method plot lmList4.confint plot.lmList4.confint <- function(x, y, order, ...) { ## stopifnot(require("lattice")) arr <- as(x, "array") dd <- dim(arr) dn <- dimnames(arr) levs <- dn[[1]] if (!missing(order) && (ord <- round(order[1])) %in% seq(dd[3])) levs <- levs[order(rowSums(arr[ , , ord]))] ll <- length(arr) df <- data.frame(group = ordered(rep(dn[[1]], dd[2] * dd[3]), levels = levs), intervals = as.vector(arr), what = gl(dd[3], dd[1] * dd[2], length = ll, labels = dn[[3]]), end = gl(dd[2], dd[1], length = ll)) panelfun <- function(x, y, pch = dot.symbol$pch, col = dot.symbol$col, cex = dot.symbol$cex, font = dot.symbol$font, ...) { x <- as.numeric(x) y <- as.numeric(y) ok <- !is.na(x) & !is.na(y) yy <- y[ok] xx <- x[ok] dot.symbol <- trellis.par.get("dot.symbol") dot.line <- trellis.par.get("dot.line") panel.abline(h = yy, lwd = dot.line$lwd, lty = dot.line$lty, col = dot.line$col) lpoints(xx, yy, pch = "|", col = col, cex = cex, font = font, ...) lower <- tapply(xx, yy, min) upper <- tapply(xx, yy, max) nams <- as.numeric(names(lower)) lsegments(lower, nams, upper, nams, col = col, lty = 1, lwd = if (dot.line$lwd) { dot.line$lwd } else { 2 }) } dotplot(group ~ intervals | what, data = df, scales = list(x="free"), panel=panelfun, ...) } ##' @importFrom stats update ##' @S3method update lmList4 update.lmList4 <- function(object, formula., ..., evaluate = TRUE) { call <- object@call if (is.null(call)) stop("need an object with call slot") extras <- match.call(expand.dots = FALSE)$... if (!missing(formula.)) call$formula <- update.formula(formula(object), formula.) if (length(extras) > 0) { existing <- !is.na(match(names(extras), names(call))) for (a in names(extras)[existing]) call[[a]] <- extras[[a]] if (any(!existing)) { call <- c(as.list(call), extras[!existing]) call <- as.call(call) } } if (evaluate) eval(call, parent.frame()) else call } ##' @importFrom stats formula ##' @S3method formula lmList4 ##' @return of class "formula" ==> as.formula() rather than just [["formula"]] formula.lmList4 <- function(x, ...) structure(x@call[["formula"]], class = "formula") ##' Get the grouping factor of an "lmList4" object ##' Important as auxiliary method for many of the nlme-imported methods: getGroups.lmList4 <- function(object, ...) object@groups ### All the other "lmList4" S3 methods are imported from nmle : ## .ns.nlme <- asNamespace("nlme") .ns.lme4 <- environment() ## == asNamespace("lme4") during build/load ## ## To do this, we need to make them use *our* namespace, e.g. to use our pooledSD() ## However, then we get from codetools : ## ## fitted.lmList4: no visible global function definition for 'getGroups' ## pairs.lmList4: no visible global function definition for 'gsummary' ## pairs.lmList4: no visible global function definition for 'getGroups' ## plot.lmList4: no visible global function definition for 'c_deparse' ## plot.lmList4: no visible global function definition for 'getGroups' ## predict.lmList4: no visible global function definition for 'getGroups' ## print.lmList4: no visible global function definition for 'c_deparse' ## qqnorm.lmList4: no visible global function definition for 'getGroups' ## qqnorm.lmList4: no visible global function definition for 'gsummary' ## residuals.lmList4: no visible global function definition for 'getGroups' ## ## which we avoid via for(fn in c("gsummary", "c_deparse")) { if (exists(fn, envir = .ns.nlme)) { assign(fn, get(fn, envir = .ns.nlme, inherits=FALSE)) } } for(fn in c("fitted", "fixef", "logLik", "pairs", "plot", "predict", ## "print", <- have our own show() "qqnorm", "ranef", "residuals", "summary")) { meth <- get(paste(fn, "lmList", sep="."), envir = .ns.nlme, inherits=FALSE) environment(meth) <- .ns.lme4 # e.g. in order to use *our* pooledSD() assign(paste(fn, "lmList4", sep="."), meth) } rm(fn) lme4/R/utilities.R0000644000176200001440000015320514630365604013467 0ustar liggesusers ## From Matrix package isDiagonal(.) : all0 <- function(x) !anyNA(x) && all(!x) .isDiagonal.sq.matrix <- function(M, n = dim(M)[1L]) all0(M[rep_len(c(FALSE, rep.int(TRUE,n)), n^2)]) ### Utilities for parsing and manipulating mixed-model formulas ## abbreviated parse for long strings: deparse1() pastes w/ collapse instead abbrDeparse <- function(x, width=60) { r <- deparse(x, width) if(length(r) > 1) paste(r[1], "...") else r } ##' @param bars result of findbars barnames <- function(bars) vapply(bars, function(x) deparse1(x[[3]]), "") makeFac <- function(x,char.only=FALSE) { if (!is.factor(x) && (!char.only || is.character(x))) factor(x) else x } factorize <- function(x,frloc,char.only=FALSE) { ## convert grouping variables to factors as necessary ## TODO: variables that are *not* in the data frame are ## not converted -- these could still break, e.g. if someone ## tries to use the : operator ## TODO: some sensible tests for drop.unused.levels ## (not actually used, but could come in handy) for (i in all.vars(RHSForm(x))) { if (!is.null(curf <- frloc[[i]])) frloc[[i]] <- makeFac(curf,char.only) } return(frloc) } colSort <- function(x) { termlev <- vapply(strsplit(x,":"),length,integer(1)) iterms <- split(x,termlev) iterms <- sapply(iterms,sort,simplify=FALSE) ## make sure intercept term is first ilab <- "(Intercept)" if (ilab %in% iterms[[1]]) { iterms[[1]] <- c(ilab,setdiff(iterms[[1]],ilab)) } unlist(iterms) } ## copied from glmmTMB, replace by upstream utility package? ## test formula: does it contain a particular element? ## inForm(z~.,quote(.)) ## inForm(z~y,quote(.)) ## inForm(z~a+b+c,quote(c)) ## inForm(z~a+b+(d+e),quote(c)) ## f <- ~ a + offset(x) ## f2 <- z ~ a ## inForm(f,quote(offset)) ## inForm(f2,quote(offset)) ## @export ## @keywords internal inForm <- function(form,value) { if (any(sapply(form,identical,value))) return(TRUE) if (all(sapply(form,length)==1)) return(FALSE) return(any(vapply(form,inForm,value,FUN.VALUE=logical(1)))) } ## was called "replaceForm" there but replaceTerm is better ## (decide on camelCase vs snake_case!) replaceTerm <- function(term,target,repl) { if (identical(term,target)) return(repl) if (!inForm(term,target)) return(term) if (length(term) == 2) { return(substitute(OP(x),list(OP=replaceTerm(term[[1]],target,repl), x=replaceTerm(term[[2]],target,repl)))) } return(substitute(OP(x,y),list(OP=replaceTerm(term[[1]],target,repl), x=replaceTerm(term[[2]],target,repl), y=replaceTerm(term[[3]],target,repl)))) } `%i%` <- function(f1, f2, fix.order = TRUE) { if (!is.factor(f1) || !is.factor(f2)) stop("both inputs must be factors") f12 <- paste(f1, f2, sep = ":") ## explicitly specifying levels is faster in any case ... u <- which(!duplicated(f12)) if (!fix.order) return(factor(f12, levels = f12[u])) ## deal with order of factor levels levs_rank <- length(levels(f2))*as.numeric(f1[u])+as.numeric(f2[u]) return(factor(f12, levels = (f12[u])[order(levs_rank)])) } ##' @param x a language object of the form effect | groupvar ##' @param frloc model frame ##' @param drop.unused.levels (logical) ##' @return list containing grouping factor, sparse model matrix, number of levels, names mkBlist <- function(x,frloc, drop.unused.levels=TRUE, reorder.vars=FALSE) { frloc <- factorize(x,frloc) ## try to evaluate grouping factor within model frame ... ff0 <- replaceTerm(x[[3]], quote(`:`), quote(`%i%`)) ff <- try(eval(substitute(makeFac(fac), list(fac = ff0)), frloc), silent = TRUE) if (inherits(ff, "try-error")) { stop("couldn't evaluate grouping factor ", deparse1(x[[3]])," within model frame:", "error =", c(ff), " Try adding grouping factor to data ", "frame explicitly if possible",call.=FALSE) } if (all(is.na(ff))) stop("Invalid grouping factor specification, ", deparse1(x[[3]]),call.=FALSE) ## NB: *also* silently drops levels - and mkReTrms() and hence ## predict.merMod() have relied on that property : if (drop.unused.levels) ff <- factor(ff, exclude=NA) nl <- length(levels(ff)) ## this section implements eq. 6 of the JSS lmer paper ## model matrix based on LHS of random effect term (X_i) ## x[[2]] is the LHS (terms) of the a|b formula has.sparse.contrasts <- function(x) { cc <- attr(x, "contrasts") !is.null(cc) && is(cc, "sparseMatrix") } any.sparse.contrasts <- any(vapply(frloc, has.sparse.contrasts, FUN.VALUE = TRUE)) mMatrix <- if (!any.sparse.contrasts) model.matrix else sparse.model.matrix mm <- mMatrix(eval(substitute( ~ foo, list(foo = x[[2]]))), frloc) if (reorder.vars) { mm <- mm[colSort(colnames(mm)),] } ## this is J^T (see p. 9 of JSS lmer paper) ## construct indicator matrix for groups by observations ## use fac2sparse() rather than as() to allow *not* dropping ## unused levels where desired sm <- fac2sparse(ff, to = "d", drop.unused.levels = drop.unused.levels) sm <- KhatriRao(sm, t(mm)) dimnames(sm) <- list( rep(levels(ff),each=ncol(mm)), rownames(mm)) list(ff = ff, sm = sm, nl = nl, cnms = colnames(mm)) } ##' From the result of \code{\link{findbars}} applied to a model formula and ##' and the evaluation frame, create the model matrix, etc. associated with ##' random-effects terms. See the description of the returned value for a ##' detailed list. ##' ##' @title Create Z, Lambda, Lind, etc. ##' @param bars a list of parsed random-effects terms ##' @param fr a model frame in which to evaluate these terms ##' @return a list with components ##' \item{Zt}{transpose of the sparse model matrix for the random effects} ##' \item{Lambdat}{transpose of the sparse relative covariance factor} ##' \item{Lind}{an integer vector of indices determining the mapping of the ##' elements of the \code{theta} to the \code{"x"} slot of \code{Lambdat}} ##' \item{theta}{initial values of the covariance parameters} ##' \item{lower}{lower bounds on the covariance parameters} ##' \item{flist}{list of grouping factors used in the random-effects terms} ##' \item{cnms}{a list of column names of the random effects according to ##' the grouping factors} ##' @importFrom Matrix sparseMatrix drop0 ##' @importMethodsFrom Matrix coerce rbind ##' @family utilities ##' @export mkReTrms <- function(bars, fr, drop.unused.levels=TRUE, reorder.terms=TRUE, reorder.vars=FALSE) { if (!length(bars)) stop("No random effects terms specified in formula",call.=FALSE) stopifnot(is.list(bars), vapply(bars, is.language, NA), inherits(fr, "data.frame")) names(bars) <- barnames(bars) term.names <- vapply(bars, deparse1, "") ## get component blocks blist <- lapply(bars, mkBlist, fr, drop.unused.levels, reorder.vars = reorder.vars) nl <- vapply(blist, `[[`, 0L, "nl") # no. of levels per term # (in lmer jss: \ell_i) ## order terms stably by decreasing number of levels in the factor if (reorder.terms) { if (any(diff(nl) > 0)) { ord <- rev(order(nl)) blist <- blist [ord] nl <- nl [ord] term.names <- term.names[ord] } } Ztlist <- lapply(blist, `[[`, "sm") Zt <- do.call(rbind, Ztlist) ## eq. 7, JSS lmer paper names(Ztlist) <- term.names q <- nrow(Zt) ## Create and install Lambdat, Lind, etc. This must be done after ## any potential reordering of the terms. cnms <- lapply(blist, `[[`, "cnms") # list of column names of the # model matrix per term nc <- lengths(cnms) # no. of columns per term # (in lmer jss: p_i) nth <- as.integer((nc * (nc+1))/2) # no. of parameters per term # (in lmer jss: ??) nb <- nc * nl # no. of random effects per term # (in lmer jss: q_i) ## eq. 5, JSS lmer paper if (sum(nb) != q) { stop(sprintf("total number of RE (%d) not equal to nrow(Zt) (%d)", sum(nb),q)) } boff <- cumsum(c(0L, nb)) # offsets into b thoff <- cumsum(c(0L, nth)) # offsets into theta ### FIXME: should this be done with cBind and avoid the transpose ### operator? In other words should Lambdat be generated directly ### instead of generating Lambda first then transposing? Lambdat <- t(do.call(sparseMatrix, do.call(rbind, lapply(seq_along(blist), function(i) { mm <- matrix(seq_len(nb[i]), ncol = nc[i], byrow = TRUE) dd <- diag(nc[i]) ltri <- lower.tri(dd, diag = TRUE) ii <- row(dd)[ltri] jj <- col(dd)[ltri] ## unused: dd[cbind(ii, jj)] <- seq_along(ii) data.frame(i = as.vector(mm[, ii]) + boff[i], j = as.vector(mm[, jj]) + boff[i], x = as.double(rep.int(seq_along(ii), rep.int(nl[i], length(ii))) + thoff[i])) })))) thet <- numeric(sum(nth)) ll <- list(Zt = drop0(Zt), theta = thet, Lind = as.integer(Lambdat@x), Gp = unname(c(0L, cumsum(nb)))) ## lower bounds on theta elements are 0 if on diagonal, else -Inf ll$lower <- -Inf * (thet + 1) ll$lower[unique(diag(Lambdat))] <- 0 ll$theta[] <- is.finite(ll$lower) # initial values of theta are 0 off-diagonal, 1 on Lambdat@x[] <- ll$theta[ll$Lind] # initialize elements of Lambdat ll$Lambdat <- Lambdat # massage the factor list fl <- lapply(blist, `[[`, "ff") # check for repeated factors fnms <- names(fl) if (length(fnms) > length(ufn <- unique(fnms))) { fl <- fl[match(ufn, fnms)] asgn <- match(fnms, ufn) } else asgn <- seq_along(fl) names(fl) <- ufn ## DON'T need fl to be a data.frame ... ## fl <- do.call(data.frame, c(fl, check.names = FALSE)) attr(fl, "assign") <- asgn ll$flist <- fl ll$cnms <- cnms ll$Ztlist <- Ztlist ll$nl <- nl ll } ## {mkReTrms} ##' Create an lmerResp, glmResp or nlsResp instance ##' ##' @title Create an lmerResp, glmResp or nlsResp instance ##' @param fr a model frame ##' @param REML logical scalar, value of REML for an lmerResp instance ##' @param family the optional glm family (glmResp only) ##' @param nlenv the nonlinear model evaluation environment (nlsResp only) ##' @param nlmod the nonlinear model function (nlsResp only) ##' @param ... where to look for response information if \code{fr} is missing. ##' Can contain a model response, \code{y}, offset, \code{offset}, and weights, ##' \code{weights}. ##' @return an lmerResp or glmResp or nlsResp instance ##' @family utilities ##' @export mkRespMod <- function(fr, REML=NULL, family = NULL, nlenv = NULL, nlmod = NULL, ...) { if(!missing(fr)) { y <- model.response(fr) offset <- model.offset(fr) weights <- model.weights(fr) N <- n <- nrow(fr) etastart_update <- model.extract(fr, "etastart") mustart_update <- model.extract(fr, "mustart") } else { fr <- list(...) y <- fr$y N <- n <- NROW(y) offset <- fr$offset weights <- fr$weights etastart_update <- fr$etastart mustart_update <- fr$mustart } if(length(dim(y)) == 1L) y <- drop(y) ## avoid problems with 1D arrays and keep names if(isGLMM <- !is.null(family)) stopifnot(inherits(family, "family")) ## FIXME: may need to add X, or pass it somehow, if we want to use glm.fit ## test for non-numeric response here to avoid later ## confusing error messages from deeper machinery if (!is.null(y)) { ## 'y' may be NULL if we're doing simulation if(!(is.numeric(y) || ((is.binom <- isGLMM && family$family == "binomial") && (is.factor(y) || is.logical(y))))) { if (is.binom) stop("response must be numeric or factor") else { if (is.logical(y)) y <- as.integer(y) else stop("response must be numeric") } } if(!all(is.finite(y))) stop("NA/NaN/Inf in 'y'") # same msg as from lm.fit() } rho <- new.env() rho$y <- if (is.null(y)) numeric(0) else y if (!is.null(REML)) rho$REML <- REML rho$etastart <- etastart_update rho$mustart <- mustart_update rho$start <- attr(fr,"start") if (!is.null(nlenv)) { stopifnot(is.language(nlmod), is.environment(nlenv), is.numeric(val <- eval(nlmod, nlenv)), length(val) == n, ## FIXME? Restriction, not present in ole' nlme(): is.matrix(gr <- attr(val, "gradient")), is.numeric(gr), nrow(gr) == n, !is.null(pnames <- colnames(gr))) N <- length(gr) rho$mu <- as.vector(val) rho$sqrtXwt <- as.vector(gr) rho$gam <- ## FIXME more efficient mget(pnames, envir=nlenv) unname(unlist(lapply(pnames, function(nm) get(nm, envir=nlenv)))) } rho$offset <- if (!is.null(offset)) { if (length(offset) == 1L) offset <- rep.int(offset, N) else stopifnot(length(offset) == N) unname(offset) } else rep.int(0, N) rho$weights <- if (!is.null(weights)) { stopifnot(length(weights) == n, all(weights >= 0)) unname(weights) } else rep.int(1, n) if(isGLMM) { ## need weights for initializing evaluation rho$nobs <- n ## allow trivial objects, e.g. for simulation if (length(y)>0) eval(family$initialize, rho) ## ugh. this *is* necessary; ## family$initialize *ignores* mustart in env, overwrites! ## see ll 180-182 of src/library/stats/R/glm.R ## https://github.com/wch/r-source/search?utf8=%E2%9C%93&q=mukeep if (!is.null(mustart_update)) rho$mustart <- mustart_update ## family$initialize <- NULL # remove clutter from str output ll <- as.list(rho) ans <- do.call(new, c(list(Class="glmResp", family=family), ll[setdiff(names(ll), c("m", "nobs", "mustart"))])) if (length(y)>0) ans$updateMu(if (!is.null(es <- etastart_update)) es else family$linkfun(rho$mustart)) ans } else if (is.null(nlenv)) ## lmer do.call(lmerResp$new, as.list(rho)) else ## nlmer do.call(nlsResp$new, c(list(nlenv=nlenv, nlmod=substitute(~foo, list(foo=nlmod)), pnames=pnames), as.list(rho))) } ##' From the right hand side of a formula for a mixed-effects model, ##' determine the pairs of expressions that are separated by the ##' vertical bar operator. Also expand the slash operator in grouping ##' factor expressions and expand terms with the double vertical bar operator ##' into separate, independent random effect terms. ##' ##' @title Determine random-effects expressions from a formula ##' @seealso \code{\link{formula}}, \code{\link{model.frame}}, \code{\link{model.matrix}}. ##' @param term a mixed-model formula ##' @return pairs of expressions that were separated by vertical bars ##' @section Note: This function is called recursively on individual ##' terms in the model, which is why the argument is called \code{term} and not ##' a name like \code{form}, indicating a formula. ##' @example ##' findbars(f1 <- Reaction ~ Days + (Days|Subject)) ##' ## => list( Days | Subject ) ##' findbars(y ~ Days + (1|Subject) + (0+Days|Subject)) ##' ## => list of length 2: list ( 1 | Subject , 0+Days|Subject) ##' findbars(~ 1 + (1|batch/cask)) ##' ## => list of length 2: list ( 1 | cask:batch , 1 | batch) ##' identical(findbars(~ 1 + (Days || Subject)), ##' findbars(~ 1 + (1|Subject) + (0+Days|Subject))) ##' \dontshow{ ##' stopifnot(identical(findbars(f1), ##' list(expression(Days | Subject)[[1]]))) ##' } ##' @family utilities ##' @keywords models utilities ##' @export findbars <- function(term) { ## Recursive function applied to individual terms fb <- function(term) { if (is.name(term) || !is.language(term)) return(NULL) if (term[[1]] == as.name("(")) return(fb(term[[2]])) stopifnot(is.call(term)) if (term[[1]] == as.name('|')) return(term) if (length(term) == 2) return(fb(term[[2]])) c(fb(term[[2]]), fb(term[[3]])) } ## Expand any slashes in the grouping factors returned by fb expandSlash <- function(bb) { ## Create the interaction terms for nested effects makeInteraction <- function(x) { if (length(x) < 2) return(x) trm1 <- makeInteraction(x[[1]]) trm11 <- if(is.list(trm1)) trm1[[1]] else trm1 list(substitute(foo:bar, list(foo=x[[2]], bar = trm11)), trm1) } ## Return the list of '/'-separated terms slashTerms <- function(x) { if (!("/" %in% all.names(x))) return(x) if (x[[1]] != as.name("/")) stop("unparseable formula for grouping factor",call.=FALSE) list(slashTerms(x[[2]]), slashTerms(x[[3]])) } if (!is.list(bb)) expandSlash(list(bb)) else unlist(lapply(bb, function(x) { if (length(x) > 2 && is.list(trms <- slashTerms(x[[3]]))) ## lapply(unlist(...)) - unlist returns a flattened list lapply(unlist(makeInteraction(trms)), function(trm) substitute(foo|bar, list(foo = x[[2]], bar = trm))) else x })) }## {expandSlash} modterm <- expandDoubleVerts( if(is(term, "formula")) term[[length(term)]] else term) expandSlash(fb(modterm)) } ##' From the right hand side of a formula for a mixed-effects model, ##' expand terms with the double vertical bar operator ##' into separate, independent random effect terms. ##' ##' @title Expand terms with \code{'||'} notation into separate \code{'|'} terms ##' @seealso \code{\link{formula}}, \code{\link{model.frame}}, \code{\link{model.matrix}}. ##' @param term a mixed-model formula ##' @return the modified term ##' @family utilities ##' @keywords models utilities ##' @export expandDoubleVerts <- function(term) { expandDoubleVert <- function(term) { frml <- formula(substitute(~x,list(x=term[[2]]))) ## FIXME: do this without paste and deparse if possible! ## need term.labels not all.vars to capture interactions too: newtrms <- paste0("0+", attr(terms(frml), "term.labels")) if(attr(terms(frml), "intercept")!=0) newtrms <- c("1", newtrms) as.formula(paste("~(", paste(vapply(newtrms, function(trm) paste0(trm, "|", deparse(term[[3]])), ""), collapse=")+("), ")"))[[2]] } if (!is.name(term) && is.language(term)) { if (term[[1]] == as.name("(")) { term[[2]] <- expandDoubleVerts(term[[2]]) } stopifnot(is.call(term)) if (term[[1]] == as.name('||')) return( expandDoubleVert(term) ) ## else : term[[2]] <- expandDoubleVerts(term[[2]]) if (length(term) != 2) { if(length(term) == 3) term[[3]] <- expandDoubleVerts(term[[3]]) } } term } ##' Remove the random-effects terms from a mixed-effects formula, ##' thereby producing the fixed-effects formula. ##' ##' @title Omit terms separated by vertical bars in a formula ##' @param term the right-hand side of a mixed-model formula ##' @return the fixed-effects part of the formula ##' @section Note: This function is called recursively on individual ##' terms in the model, which is why the argument is called \code{term} and not ##' a name like \code{form}, indicating a formula. ##' @examples ##' nobars(Reaction ~ Days + (Days|Subject)) ## => Reaction ~ Days ##' @seealso \code{\link{formula}}, \code{\link{model.frame}}, \code{\link{model.matrix}}. ##' @family utilities ##' @keywords models utilities ##' @export nobars <- function(term) { e <- environment(term) nb <- nobars_(term) ## call recursive version if (is(term,"formula") && length(term)==3 && is.symbol(nb)) { ## called with two-sided RE-only formula: ## construct response~1 formula nb <- reformulate("1", response=deparse(nb)) } ## called with one-sided RE-only formula, or RHS alone if (is.null(nb)) { nb <- if (is(term,"formula")) ~1 else 1 } environment(nb) <- e nb } nobars_ <- function(term) { if (!anyBars(term)) return(term) if (isBar(term)) return(NULL) if (isAnyArgBar(term)) return(NULL) if (length(term) == 2) { nb <- nobars_(term[[2]]) if(is.null(nb)) return(NULL) term[[2]] <- nb return(term) } nb2 <- nobars_(term[[2]]) nb3 <- nobars_(term[[3]]) if (is.null(nb2)) return(nb3) if (is.null(nb3)) return(nb2) term[[2]] <- nb2 term[[3]] <- nb3 term } isBar <- function(term) { if(is.call(term)) { if((term[[1]] == as.name("|")) || (term[[1]] == as.name("||"))) { return(TRUE) } } FALSE } isAnyArgBar <- function(term) { if ((term[[1]] != as.name("~")) && (term[[1]] != as.name("("))) { for(i in seq_along(term)) { if(isBar(term[[i]])) return(TRUE) } } FALSE } anyBars <- function(term) { any(c('|','||') %in% all.names(term)) } ##' Substitute the '+' function for the '|' and '||' function in a mixed-model ##' formula. This provides a formula suitable for the current ##' model.frame function. ##' ##' @title "Sub[stitute] Bars" ##' @param term a mixed-model formula ##' @return the formula with all | and || operators replaced by + ##' @section Note: This function is called recursively on individual ##' terms in the model, which is why the argument is called \code{term} and not ##' a name like \code{form}, indicating a formula. ##' @examples ##' subbars(Reaction ~ Days + (Days|Subject)) ## => Reaction ~ Days + (Days + Subject) ##' @seealso \code{\link{formula}}, \code{\link{model.frame}}, \code{\link{model.matrix}}. ##' @family utilities ##' @keywords models utilities ##' @export subbars <- function(term) { if (is.name(term) || !is.language(term)) return(term) if (length(term) == 2) { term[[2]] <- subbars(term[[2]]) return(term) } stopifnot(length(term) >= 3) if (is.call(term) && term[[1]] == as.name('|')) term[[1]] <- as.name('+') if (is.call(term) && term[[1]] == as.name('||')) term[[1]] <- as.name('+') for (j in 2:length(term)) term[[j]] <- subbars(term[[j]]) term } ##' Does every level of f1 occur in conjunction with exactly one level ##' of f2? The function is based on converting a triplet sparse matrix ##' to a compressed column-oriented form in which the nesting can be ##' quickly evaluated. ##' ##' @title Is f1 nested within f2? ##' ##' @param f1 factor 1 ##' @param f2 factor 2 ##' ##' @return TRUE if factor 1 is nested within factor 2 ##' @examples ##' with(Pastes, isNested(cask, batch)) ## => FALSE ##' with(Pastes, isNested(sample, batch)) ## => TRUE ##' @export isNested <- function(f1, f2) { f1 <- as.factor(f1) f2 <- as.factor(f2) stopifnot(length(f1) == length(f2)) k <- length(levels(f1)) sm <- as(new("ngTMatrix", i = as.integer(f2) - 1L, j = as.integer(f1) - 1L, Dim = c(length(levels(f2)), k)), "CsparseMatrix") all(sm@p[2:(k+1L)] - sm@p[1:k] <= 1L) } subnms <- function(form, nms) { ## Recursive function applied to individual terms sbnm <- function(term) { if (is.name(term)) { if (any(term == nms)) 0 else term } else switch(length(term), term, ## 1 { ## 2 term[[2]] <- sbnm(term[[2]]) term }, { ## 3 term[[2]] <- sbnm(term[[2]]) term[[3]] <- sbnm(term[[3]]) term }) } sbnm(form) } ##' Check for a constant term (a literal 1) in an expression ## ##' In the mixed-effects part of a nonlinear model formula, a constant ##' term is not meaningful because every term must be relative to a ##' nonlinear model parameter. This function recursively checks the ##' expressions in the formula for a a constant, calling stop() if ##' such a term is encountered. ##' @title Check for constant terms. ##' @param expr an expression ##' @return NULL. The function is executed for its side effect. chck1 <- function(expr) { if ((le <- length(expr)) == 1) { if (is.numeric(expr) && expr == 1) stop("1 is not meaningful in a nonlinear model formula") return() } else for (j in seq_len(le)[-1]) Recall(expr[[j]]) } ## ---> ../man/nlformula.Rd --- Manipulate a nonlinear model formula ##' @param mc matched call from the caller, with arguments 'formula','start',... ##' @return a list with components "respMod", "frame", "X", "reTrms" nlformula <- function(mc) { start <- eval(mc$start, parent.frame(2L)) if (is.numeric(start)) start <- list(nlpars = start) stopifnot(is.numeric(nlpars <- start$nlpars), lengths(nlpars) == 1L, length(pnames <- names(nlpars)) == length(nlpars), length(form <- as.formula(mc$formula)) == 3L, is(nlform <- eval(form[[2]]), "formula"), pnames %in% all.vars(nlmod <- as.call(nlform[[lnl <- length(nlform)]]))) ## MM{FIXME}: fortune(106) even twice in here! nlform[[lnl]] <- parse(text= paste(setdiff(all.vars(form), pnames), collapse=' + '))[[1]] nlform <- eval(nlform) environment(nlform) <- environment(form) m <- match(c("data", "subset", "weights", "na.action", "offset"), names(mc), 0) mc <- mc[c(1, m)] mc$drop.unused.levels <- TRUE mc[[1L]] <- quote(stats::model.frame) mc$formula <- nlform fr <- eval(mc, parent.frame(2L)) n <- nrow(fr) nlenv <- list2env(fr, parent=parent.frame(2L)) lapply(pnames, function(nm) nlenv[[nm]] <- rep.int(nlpars[[nm]], n)) respMod <- mkRespMod(fr, nlenv=nlenv, nlmod=nlmod) chck1(meform <- form[[3L]]) pnameexpr <- parse(text=paste(pnames, collapse='+'))[[1]] nb <- nobars_(meform) ## call ORIGINAL recursive form fe <- eval(substitute(~ 0 + nb + pnameexpr)) environment(fe) <- environment(form) frE <- do.call(rbind, lapply(seq_along(nlpars), function(i) fr)) # rbind s copies of the frame for (nm in pnames) # convert these variables in fr to indicators frE[[nm]] <- as.numeric(rep(nm == pnames, each = n)) X <- model.matrix(fe, frE) rownames(X) <- NULL reTrms <- mkReTrms(lapply(findbars(meform), function(expr) { expr[[2]] <- substitute(0+foo, list(foo=expr[[2]])) expr }), frE) list(respMod=respMod, frame=fr, X=X, reTrms=reTrms, pnames=pnames) } ## {nlformula} ################################################################################ ## Beginning to think about exposing tools to create devcomp lists. ## Could be useful when extending merMod objects. Commenting them out ## however, because R CMD check is complaining: ## https://github.com/lme4/lme4/commit/8d71e439758999ea8f90eb4752487e189407ef33#commitcomment-8773017 ################################################################################ ## ## .dims <- function(pp, resp, nAGQ, ## reTrms, n, p, rcl, ## compDev = NULL) { ## if(missing(rcl)) rcl <- class(resp) ## if(missing(n)) n <- nrow(pp$V) ## if(missing(p)) p <- ncol(pp$V) ## c(N=nrow(pp$X), n=n, p=p, nmp=n-p, ## nth=length(pp$theta), q=nrow(pp$Zt), ## nAGQ=rho$nAGQ, ## compDev=rho$compDev, ## ## 'use scale' in the sense of whether dispersion parameter should ## ## be reported/used (*not* whether theta should be scaled by sigma) ## useSc=(rcl != "glmResp" || ## !resp$family$family %in% c("poisson","binomial")), ## reTrms=length(reTrms$cnms), ## spFe=0L, ## REML=if (rcl=="lmerResp") resp$REML else 0L, ## GLMM=(rcl=="glmResp"), ## NLMM=(rcl=="nlsResp")) ## } ## ## .cmp <- function(pp, resp, dims, fval, ## wrss, sqrLenU, pwrss, ## sigmaML, rcl, fac, ## tolPwrss = NULL, ## trivial.y = FALSE) { ## if(missing(rcl)) rcl <- class(resp) ## if(missing(fac)) fac <- as.numeric(rcl != "nlsResp") ## if(missing(wrss)) wrss <- resp$wrss() ## if(missing(sqrLenU)) sqrLenU <- pp$sqrL(fac) ## if(missing(pwrss)) pwrss <- wrss + sqrLenU ## if(missing(sigmaML)) sigmaML <- pwrss/dims['n'] ## c(ldL2=pp$ldL2(), ldRX2=pp$ldRX2(), wrss=wrss, ## ussq=sqrLenU, pwrss=pwrss, ## drsum=if (rcl=="glmResp" && !trivial.y) resp$resDev() else NA, ## REML=if (rcl=="lmerResp" && resp$REML != 0L && !trivial.y) ## opt$fval else NA, ## ## FIXME: construct 'REML deviance' here? ## dev=if (rcl=="lmerResp" && resp$REML != 0L || trivial.y) NA else opt$fval, ## sigmaML=sqrt(unname(if (!dims["useSc"] || trivial.y) NA else sigmaML)), ## sigmaREML=sqrt(unname(if (rcl!="lmerResp" || trivial.y) NA else sigmaML*(dims['n']/dims['nmp']))), ## tolPwrss=rho$tolPwrss) ## } ################################################################################ .minimalOptinfo <- function() list(conv = list(opt = 0L, lme4 = list(messages = character(0)))) getConv <- function(x) { if (!is.null(x[["conv"]])) { x[["conv"]] } else x[["convergence"]] } getMsg <- function(x) { if (!is.null(x[["msg"]])) { x[["msg"]] } else if (!is.null(x[["message"]])) { x[["message"]] } else "" } .optinfo <- function(opt, lme4conv=NULL) list(optimizer = attr(opt, "optimizer"), control = attr(opt, "control"), derivs = attr(opt, "derivs"), conv = list(opt = getConv(opt), lme4 = lme4conv), feval = if (is.null(opt$feval)) NA else opt$feval, message = getMsg(opt), warnings = attr(opt, "warnings"), val = opt$par) ##' Potentially needed in more than one place, be sure to keep consistency! ##' hack (NB families have weird names) from @aosmith16; then corrected isNBfamily <- function(familyString) grepl("^Negative ?Binomial", familyString, ignore.case=TRUE) normalizeFamilyName <- function(family) { # such as object@resp$family if(isNBfamily(family$family)) family$family <- "negative.binomial" family } ##' Is it a family with no scale parameter hasNoScale <- function(family) any(substr(family$family, 1L, 12L) == c("poisson", "binomial", "negative.bin", "Negative Bin")) ##--> ../man/mkMerMod.Rd ---Create a merMod object ##' @param rho the environment of the objective function ##' @param opt the value returned by the optimizer ##' @param reTrms reTrms list from the calling function mkMerMod <- function(rho, opt, reTrms, fr, mc, lme4conv=NULL) { if(missing(mc)) mc <- match.call() stopifnot(is.environment(rho), is(pp <- rho$pp, "merPredD"), is(resp <- rho$resp, "lmResp"), is.list(opt), "par" %in% names(opt), c("conv", "fval") %in% substr(names(opt),1,4), ## "conv[ergence]", "fval[ues]" is.list(reTrms), c("flist", "cnms", "Gp", "lower") %in% names(reTrms), length(rcl <- class(resp)) == 1) n <- nrow(pp$V) p <- ncol(pp$V) isGLMM <- (rcl == "glmResp") dims <- c(N = nrow(pp$X), n=n, p=p, nmp = n-p, q = nrow(pp$Zt), nth = length(pp$theta), nAGQ= rho$nAGQ, compDev=rho$compDev, ## 'use scale' in the sense of whether dispersion parameter should ## be reported/used (*not* whether theta should be scaled by sigma) useSc = !(isGLMM && hasNoScale(resp$family)), reTrms=length(reTrms$cnms), spFe= 0L, REML = if (rcl=="lmerResp") resp$REML else 0L, GLMM= isGLMM, NLMM= (rcl=="nlsResp")) storage.mode(dims) <- "integer" fac <- as.numeric(rcl != "nlsResp") if (trivial.y <- (length(resp$y)==0)) { ## trivial model sqrLenU <- wrss <- pwrss <- NA } else { sqrLenU <- pp$sqrL(fac) wrss <- resp$wrss() pwrss <- wrss + sqrLenU } ## weights <- resp$weights beta <- pp$beta(fac) ## rescale if (!is.null(sc <- attr(pp$X, "scaled:scale"))) { warning("auto(un)scaling not yet finished/tested") ## FIXME: test/handle no-intercept models ## (only need to worry if we do centering as well as scaling) ## FIXME: adjust Hessian/vcov ## FIXME: where else will these changes propagate? ## profiling? beta2 <- beta beta2[names(sc)] <- sc*beta2[names(sc)] beta <- beta2 } if (!is.null(attr(pp$X, "scaled:center"))) { warning("auto(un)centering not yet implemented") } #sigmaML <- pwrss/sum(weights) sigmaML <- pwrss/n if (rcl != "lmerResp") { pars <- opt$par if (length(pars) > length(pp$theta)) beta <- pars[-(seq_along(pp$theta))] } cmp <- c(ldL2=pp$ldL2(), ldRX2=pp$ldRX2(), wrss=wrss, ussq=sqrLenU, pwrss=pwrss, drsum=if (rcl=="glmResp" && !trivial.y) resp$resDev() else NA, REML=if (rcl=="lmerResp" && resp$REML != 0L && !trivial.y) opt$fval else NA, ## FIXME: construct 'REML deviance' here? dev=if (rcl=="lmerResp" && resp$REML != 0L || trivial.y) NA else opt$fval, sigmaML=sqrt(unname(if (!dims["useSc"] || trivial.y) NA else sigmaML)), sigmaREML=sqrt(unname(if (rcl!="lmerResp" || trivial.y) NA else sigmaML*(dims['n']/dims['nmp']))), tolPwrss=rho$tolPwrss) ## TODO: improve this hack to get something in frame slot (maybe need weights, etc...) if(missing(fr)) fr <- data.frame(resp$y) new(switch(rcl, lmerResp = "lmerMod", glmResp = "glmerMod", nlsResp = "nlmerMod"), call=mc, frame=fr, flist=reTrms$flist, cnms=reTrms$cnms, Gp=reTrms$Gp, theta=pp$theta, beta=beta, u=if (trivial.y) rep(NA_real_,nrow(pp$Zt)) else pp$u(fac), lower=reTrms$lower, devcomp=list(cmp=cmp, dims=dims), pp=pp, resp=resp, optinfo = .optinfo(opt, lme4conv)) }## {mkMerMod} ## generic argument checking ## 'type': name of calling function ("glmer", "lmer", "nlmer") ## ## NB: called from lFormula() and glFormula() checkArgs <- function(type,...) { l... <- list(...) if (isTRUE(l...[["sparseX"]])) warning("sparseX = TRUE has no effect at present",call.=FALSE) ## '...' handling up front, safe-guarding against typos ("familiy") : if(length(l... <- list(...))) { if (!is.null(l...[["family"]])) { # call glmer if family specified ## we will only get here if 'family' is *not* in the arg list warning("calling lmer with family() is deprecated: please use glmer() instead",call.=FALSE) type <- "glmer" } ## Check for method argument which is no longer used ## (different meanings/hints depending on glmer vs lmer) if (!is.null(l...[["method"]])) { msg <- paste("Argument", sQuote("method"), "is deprecated.") if (type == "lmer") msg <- paste(msg, "Use the REML argument to specify ML or REML estimation.") else if (type == "glmer") msg <- paste(msg, "Use the nAGQ argument to specify Laplace (nAGQ=1) or adaptive", "Gauss-Hermite quadrature (nAGQ>1). PQL is no longer available.") warning(msg,call.=FALSE) l... <- l...[names(l...) != "method"] } if(length(l...)) { warning("extra argument(s) ", paste(sQuote(names(l...)), collapse=", "), " disregarded",call.=FALSE) } } } ## check formula and data: return an environment suitable for evaluating ## the formula. ## (1) if data is specified, return it ## (2) otherwise, if formula has an environment, use it ## (3) otherwise [e.g. if formula was passed as a string], try to use parent.frame(2) ## if #3 is true *and* the user is doing something tricky with nested functions, ## this may fail ... ## try to diagnose missing/bad data checkFormulaData <- function(formula, data, checkLHS=TRUE, checkData=TRUE, debug=FALSE) { wd <- tryCatch(force(data), error = identity) if (bad.data <- inherits(wd,"error")) { bad.data.msg <- wd$message } ## data not found (this *should* only happen with garbage input, ## OR when strings used as formulae -> drop1/update/etc.) ## if (bad.data || debug) { varex <- function(v, env) exists(v, envir=env, inherits=FALSE) allvars <- all.vars(as.formula(formula)) allvarex <- function(env, vvec=allvars) all(vapply(vvec, varex, NA, env)) } if (bad.data) { ## Choose helpful error message: if (allvarex(environment(formula))) { stop("bad 'data', but variables found in environment of formula: ", "try specifying 'formula' as a formula rather ", "than a string in the original model",call.=FALSE) } else { stop("bad 'data': ", bad.data.msg, call. = FALSE) } } else { denv <- ## The data as environment if (is.null(data)) { if (!is.null(ee <- environment(formula))) { ee ## use environment of formula } else { ## e.g. no environment, e.g. because formula is a character vector ## parent.frame(2L) works because [g]lFormula (our calling environment) ## has been called within [g]lmer with env=parent.frame(1L) ## If you call checkFormulaData in some other bizarre way such that ## parent.frame(2L) is *not* OK, you deserve what you get ## calling checkFormulaData directly from the global ## environment should be OK, since trying to go up beyond the global ## environment keeps bringing you back to the global environment ... parent.frame(2L) } } else ## data specified list2env(data) } ## ## FIXME: set enclosing environment of denv to environment(formula), or parent.frame(2L) ? if (debug) { cat("Debugging parent frames in checkFormulaData:\n") ## find global environment -- could do this with sys.nframe() ? glEnv <- 1L while (!identical(parent.frame(glEnv),.GlobalEnv)) { glEnv <- glEnv+1L } ## where are vars? for (i in 1:glEnv) { OK <- allvarex(parent.frame(i)) cat("vars exist in parent frame ", i) if (i == glEnv) cat(" (global)") cat(" ",OK, "\n") } cat("vars exist in env of formula ", allvarex(denv), "\n") } ## if (debug) stopifnot(!checkLHS || length(as.formula(formula,env=denv)) == 3) ## check for two-sided formula return(denv) } ## checkFormulaData <- function(formula,data) { ## ee <- environment(formula) ## if (is.null(ee)) { ## ee <- parent.frame(2) ## } ## if (missing(data)) data <- ee ## stopifnot(length(as.formula(formula,env=as.environment(data))) == 3) ## return(data) ## } ##' Not exported; for tests (and examples) that can be slow; ##' Use if(lme4:::testLevel() >= 1.) ..... see ../tests/README.md testLevel <- function() if(nzchar(s <- Sys.getenv("LME4_TEST_LEVEL")) && is.finite(s <- as.numeric(s))) s else 1 ##' General conditional variance-covariance matrix ##' ##' Experimental function for estimating the variance-covariance ##' matrix of the random effects, conditional on the observed data ##' and at the (RE)ML estimate of the fixed effects and covariance ##' parameters. Applicable for any Lambda matrix, but slower than ##' other block-by-block methods. ##' Not exported. ##' ##' TODO: ##' - Write up quick note on theory (e.g. Laplace approximation). ##' - Test. Speed? Correctness? ##' - Do we need to think carefully about the differences ##' between REML and ML, beyond just multiplying by a different ##' sigma^2 estimate? ##' - is it better to do this term-by-term as in C++ code? ##' ##' @param object \code{merMod} object ##' @return Sparse covariance matrix condVar <- function(object, scaled=TRUE) { Lamt <- getME(object, "Lambdat") L <- getME(object, "L") ## never do it this way! fortune("SOOOO") #V <- solve(L, system = "A") #V <- chol2inv(L) #s2*crossprod(Lamt, V) %*% Lamt LL <- solve(L, Lamt, system = "A") ## From ?Matrix::solve, The default, '"A"', is to solve Ax = b for x ## where 'A' is sparse, positive-definite matrix that was ## factored to produce 'a'. cc <- crossprod(Lamt, LL) if (scaled) cc <- sigma(object)^2*cc cc } mkMinimalData <- function(formula) { vars <- all.vars(formula) nVars <- length(vars) matr <- matrix(0, 2, nVars) data <- as.data.frame(matr) setNames(data, vars) } ##' Make template for mixed model parameters mkParsTemplate <- function(formula, data){ if(missing(data)) data <- mkMinimalData(formula) mfRanef <- model.frame( subbars(formula), data) mmFixef <- model.matrix(nobars(formula) , data) reTrms <- mkReTrms(findbars(formula), mfRanef) cnms <- reTrms$cnms thetaNamesList <- mapply(mkPfun(), names(cnms), cnms) thetaNames <- unlist(thetaNamesList) betaNames <- colnames(mmFixef) list(beta = setNames(numeric(length( betaNames)), betaNames), theta = setNames(reTrms$theta, thetaNames), sigma = 1) } ##' Make template for mixed model data ##' ##' Useful for simulating balanced designs and for ##' getting started on unbalanced simulations ##' ##' @param formula formula ##' @param data data -- not necessary ##' @param nGrps number of groups per grouping factor ##' @param rfunc function for generating covariate data ##' @param ... additional parameters for rfunc mkDataTemplate <- function(formula, data, nGrps = 2, nPerGrp = 1, rfunc = NULL, ...){ if(missing(data)) data <- mkMinimalData(formula) grpFacNames <- unique(barnames(findbars(formula))) varNames <- all.vars(formula) covariateNames <- setdiff(varNames, grpFacNames) nGrpFac <- length(grpFacNames) nCov <- length(covariateNames) grpFac <- gl(nGrps, nPerGrp) grpDat <- expand.grid(replicate(nGrpFac, grpFac, simplify = FALSE)) colnames(grpDat) <- grpFacNames nObs <- nrow(grpDat) if(is.null(rfunc)) rfunc <- function(n, ...) rep(0, n) params <- c(list(nObs), list(...)) covDat <- as.data.frame(replicate(nCov, do.call(rfunc, params), simplify = FALSE)) colnames(covDat) <- covariateNames cbind(grpDat, covDat) } ##' very flexible and convenient wrt formula, ##' very unflexible wrt everything else ##' ##' starting to get a little too sugary? quickSimulate <- function(formula, nGrps, nPerGrp, family = gaussian) { pr <- mkParsTemplate(formula) dt <- mkDataTemplate(formula, nGrps = nGrps, nPerGrp = nPerGrp, rfunc = rnorm) response <- deparse(formula[[2]]) dt[[response]] <- simulate(formula, newdata = dt, newparams = pr, family = family)[[1]] return(dt) } #---------------------------------------------------------------------- # formula parsing sugar #---------------------------------------------------------------------- ##' these functions pick up where findbars leaves off, in terms of sugar ##' @param REtrm an element of the result of findbars ##' @param REtrms the result of findbars ##' @return \code{reexpr} gives a one-sided formula with the linear ##' model formula for the raw model matrix. \code{grpfact} gives an ##' expression with the name of the grouping factor associated with ##' the raw model matrix. \code{termnms} gives a character vector with ##' the names of the random effects terms. reexpr <- function(REtrm) substitute( ~ foo, list(foo = REtrm[[2]])) grpfact <- function(REtrm) substitute(factor(fac), list(fac = REtrm[[3]])) termnms <- function(REtrms) vapply(REtrms, deparse1, "") ##' mmList(): list of model matrices ##' ------ called from getME() & model.matrix(*, "randomListRaw") mmList <- function(object, ...) UseMethod("mmList") mmList.merMod <- function(object, ...) mmList(formula(object), model.frame(object)) mmList.formula <- function(object, frame, ...) { bars <- findbars(object) mm <- setNames(lapply(bars, function(b) model.matrix(eval(reexpr(b), frame), frame)), termnms(bars)) grp <- lapply(lapply(bars, grpfact), eval, frame) nl <- vapply(grp, nlevels, 1L) if (any(diff(nl) > 0)) mm[order(nl, decreasing=TRUE)] else mm } ##' examples ---FIXME?--- put in tests // or export + 'real examples' if(FALSE) { library(lme4) m <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) gm <- glmer(cbind(incidence, size-incidence) ~ period + (1|herd), cbpp, binomial) simForm <- y ~ x + z + (x | f) + (z | g) ## ::: triggers R CMD check NOTE ## simDat <- lme4:::quickSimulate(simForm, 10, 5) simDat <- simDat[simDat$f != "10", ] # unbalancedish design requiring # a flip in the order of terms sm <- lmer(simForm, simDat) ## ::: triggers R CMD check NOTE ## lme4:::mmList.merMod(m) ## lme4:::mmList.merMod(gm) ## smmm <- lme4:::mmList.merMod(sm) } nloptwrap <- local({ ## define default control values in environment of function ... defaultControl <- list(algorithm="NLOPT_LN_BOBYQA", xtol_abs=1e-8, ftol_abs=1e-8, maxeval=1e5) ## function(par, fn, lower, upper, control=list(),...) { for (n in names(defaultControl)) if (is.null(control[[n]])) control[[n]] <- defaultControl[[n]] res <- nloptr(x0=par, eval_f=fn, lb=lower, ub=upper, opts=control, ...) with(res, list(par = solution, fval = objective, feval = iterations, ## ?nloptr: "integer value with the status of the optimization (0 is success)" ## most status>0 are fine (e.g. 4 "stopped because xtol_rel was reached" ## but status 5 is "ran out of evaluations" conv = if (status<0 || status==5) status else 0, message = message)) } }) nlminbwrap <- function(par, fn, lower, upper, control=list(), ...) { if (!is.null(control$maxfun)) { control$eval.max <- control$maxfun control$maxfun <- NULL } res <- nlminb(start = par, fn, gradient = NULL, hessian = NULL, scale = 1, lower = lower, upper = upper, control = control, ...) list(par = res$par, fval = res$objective, conv = res$convergence, message = res$message) } glmerLaplaceHandle <- function(pp, resp, nAGQ, tol, maxit, verbose) { .Call(glmerLaplace, pp, resp, nAGQ, tol, as.integer(maxit), verbose) } isFlexLambda <- function() FALSE #' convert a list of matrices (n, pxp blocks) to a p x p x n array mlist_to_array <- function(m) { p <- nrow(m[[1]]) n <- length(m) array(unlist(lapply(m,as.matrix)),dim=c(p,p,n)) } #' @inheritParams bdiag_to_array bdiag_to_mlist <- function(m,n) { if (length(n)==1 && n1) parallel <- match.arg(parallel) do_parallel <- (parallel != "no" && ncpus > 1L) if (do_parallel) { if (parallel == "multicore") have_mc <- .Platform$OS.type != "windows" else if (parallel == "snow") have_snow <- TRUE if (!(have_mc || have_snow)) do_parallel <- FALSE # (only for "windows") } }) isSingular <- function(x, tol = 1e-4) { lwr <- getME(x, "lower") theta <- getME(x, "theta") any(theta[lwr==0] < tol) } lme4_testlevel <- function() if (nzchar(s <- Sys.getenv("LME4_TEST_LEVEL"))) as.numeric(s) else 1 # stolen from car package # the following unexported function is useful for combining results of parallel computations combineLists <- function(..., fmatrix="list", flist="c", fvector="rbind", fdf="rbind", recurse=FALSE){ # combine lists of the same structure elementwise # ...: a list of lists, or several lists, each of the same structure # fmatrix: name of function to apply to matrix elements # flist: name of function to apply to list elements # fvector: name of function to apply to data frame elements # recurse: process list element recursively frecurse <- function(...){ combineLists(..., fmatrix=fmatrix, fvector=fvector, fdf=fdf, recurse=TRUE) } if (recurse) flist="frecurse" list.of.lists <- list(...) if (length(list.of.lists) == 1){ list.of.lists <- list.of.lists[[1]] list.of.lists[c("fmatrix", "flist", "fvector", "fdf")] <- c(fmatrix, flist, fvector, fdf) return(do.call("combineLists", list.of.lists)) } if (any(!sapply(list.of.lists, is.list))) stop("arguments are not all lists") len <- sapply(list.of.lists, length) if (any(len[1] != len)) stop("lists are not all of the same length") nms <- lapply(list.of.lists, names) if (any(unlist(lapply(nms, "!=", nms[[1]])))) stop("lists do not all have elements of the same names") nms <- nms[[1]] result <- vector(len[1], mode="list") names(result) <- nms for(element in nms){ element.list <- lapply(list.of.lists, "[[", element) # clss <- sapply(element.list, class) clss <- lapply(element.list, class) # if (any(clss[1] != clss)) stop("list elements named '", element, if (!all(vapply(clss, function(e) all(e == clss[[1L]]), NA))) stop("list elements named '", element, "' are not all of the same class") is.df <- is.data.frame(element.list[[1]]) fn <- if (is.matrix(element.list[[1]])) fmatrix else if (is.list(element.list[[1]]) && !is.df) flist else if (is.vector(element.list[[1]])) fvector else if (is.df) fdf else stop("list elements named '", element, "' are not matrices, lists, vectors, or data frames") result[[element]] <- do.call(fn, element.list) } result } ## copied from glmmTMB::check_dots checkDots <- function (..., .ignore = NULL, .action = "stop") { L <- list(...) if (length(.ignore) > 0) { L <- L[!names(L) %in% .ignore] } if (length(L) > 0) { FUN <- get(.action) FUN("unknown arguments: ", paste(names(L), collapse = ",")) } return(NULL) } ## quadratic form from emulator package: ## quad.tform == x %*% M %*% t(x) ## quad.tdiag == diag(quad.tform(M, x) ## rowSums(tcrossprod(Conj(x), M) * x) quad.tdiag <- function(M, x) { ## only real-valued, so drop Conj rowSums(tcrossprod(x, M) * x) } lme4/R/zzz.R0000644000176200001440000000733214630365604012310 0ustar liggesusers.onLoad <- function(libname, pkgname) { ## don't do this in production; also flags problems in downstream packages ## options(Matrix.warnDeprecatedCoerce = 3) options(lme4.summary.cor.max = 12) if((Rv <- getRversion()) < "4.1.0") { ## https://stackoverflow.com/questions/49056642/how-to-make-variable-available-to-namespace-at-loading-time/67664852#67664852 ## not quite equivalent; this *forces* ... entries whereas true ...length() doesn't assign('...names', envir = topenv(), function() eval(quote(names(list(...))), sys.frame(-1L))) if(Rv < "4.0.0") { ## NB: R >= 4.0.0's deparse1() is a generalization of our previous safeDeparse() assign('deparse1', envir = topenv(), function (expr, collapse = " ", width.cutoff = 500L, ...) paste(deparse(expr, width.cutoff, ...), collapse = collapse) ) ## not equivalent ... assign('...length', envir = topenv(), function() eval(quote(length(list(...))), sys.frame(-1L)) ) if (Rv < "3.6.0") { assign('reformulate', envir = topenv(), function(..., env = parent.env) { f <- stats::reformulate(...) environment(f) <- env return(f) }) if (Rv < "3.2.1") { assign('lengths', envir = topenv(), function (x, use.names = TRUE) vapply(x, length, 1L, USE.NAMES = use.names) ) if(Rv < "3.1.0") { assign('anyNA', envir = topenv(), function(x) any(is.na(x)) ) if(Rv < "3.0.0") { assign('rep_len', envir = topenv(), function(x, length.out) rep(x, length.out=length.out) ) if(Rv < "2.15") { assign('paste0', envir = topenv(), function(...) paste(..., sep = '') ) } ## R < 2.15 } ## R < 3.0.0 } ## R < 3.1.0 } ## R < 3.2.1 } ## R < 3.6.0 } ## R < 4.0.0 } ## R < 4.1.0 rm(Rv) ## check Matrix ABI version check_dep_version() } ## https://github.com/lme4/lme4/issues/768 ## https://github.com/kaskr/adcomp/issues/387 get_abi_version <- function() { if (utils::packageVersion("Matrix") < "1.6-2") return(numeric_version("0")) Matrix::Matrix.Version()[["abi"]] } .Matrix.abi.build.version <- get_abi_version() ## simplified version of glmmTMB package checking ##' @param this_pkg downstream package being tested ##' @param dep_pkg upstream package on which \code{this_pkg} depends ##' @param dep_type "ABI" or "package" ##' @param built_version a \code{numeric_version} object indicating what version of \code{dep_pkg} was used to build \code{this_pkg} ##' @param warn (logical) warn if condition not met? ##' @noRd check_dep_version <- function(this_pkg = "lme4", dep_pkg = "Matrix", dep_type = "ABI", built_version = .Matrix.abi.build.version, warn = TRUE) { cur_version <- get_abi_version() result_ok <- cur_version == built_version if (!result_ok) { warning( sprintf("%s version mismatch: \n", dep_type), sprintf("%s was built with %s %s version %s\n", this_pkg, dep_pkg, dep_type, built_version), sprintf("Current %s %s version is %s\n", dep_pkg, dep_type, cur_version), sprintf("Please re-install %s from source ", this_pkg), "or restore original ", sQuote(dep_pkg), " package" ) } return(result_ok) } .onUnload <- function(libpath) { gc() if (is.loaded("lmer_Deviance", PACKAGE="lme4")) { library.dynam.unload("lme4", libpath) } } lme4/R/bootMer.R0000644000176200001440000002037714630365604013066 0ustar liggesusers.simpleCap <- function(x) { paste0(toupper(substr(x, 1,1)), substr(x, 2, 1000000L), collapse=" ") } ### bootMer() --- <==> (TODO: semi-*)parametric bootstrap ### ------------------------------------------------------- ## Doc: show how this is equivalent - but faster than ## boot(*, R = nsim, sim = "parametric", ran.gen = simulate(.,1,.), mle = x) ## --> return a "boot" object -- so we could use boot.ci() etc ## TODO: also allow "semi-parametric" model-based bootstrap: ## resampling the (centered!) residuals (for use.u=TRUE) or for use.u=FALSE, ## *both* the centered u's + centered residuals ## instead of using rnorm() ## BUT see: ## @article{morris_blups_2002, ## title = {The {BLUPs} are not "best" when it comes to bootstrapping}, ## volume = {56}, ## issn = {0167-7152}, ## url = {https://www.sciencedirect.com/science/article/pii/S016771520200041X}, ## doi = {10.1016/S0167-7152(02)00041-X}, ## journal = {Statistics \& Probability Letters}, ## author = {Morris, Jeffrey S}, ## year = {2002}, ## } ## for an indication of why this is not necessarily a good idea! ##' Perform model-based (Semi-)parametric bootstrap for mixed models. ##' ##' The semi-parametric variant is not yet implemented, and we only ##' provide a method for \code{\link{lmer}} and \code{\link{glmer}} results. bootMer <- function(x, FUN, nsim = 1, seed = NULL, use.u = FALSE, re.form = NA, type = c("parametric","semiparametric"), verbose = FALSE, .progress = "none", PBargs=list(), parallel = c("no", "multicore", "snow"), ncpus = getOption("boot.ncpus", 1L), cl = NULL) { stopifnot((nsim <- as.integer(nsim[1])) > 0) if (.progress!="none") { ## progress bar pbfun <- get(paste0(.progress,"ProgressBar")) setpbfun <- get(paste0("set",.simpleCap(.progress),"ProgressBar")) pb <- do.call(pbfun,PBargs) } do_parallel <- have_mc <- have_snow <- NULL # '-Wall', set here: eval(initialize.parallel) if (do_parallel && .progress != "none") message("progress bar disabled for parallel operations") FUN <- match.fun(FUN) type <- match.arg(type) if(!is.null(seed)) set.seed(seed) else if(!exists(".Random.seed", envir = .GlobalEnv)) runif(1) # initialize the RNG if necessary mc <- match.call() t0 <- FUN(x) if (!is.numeric(t0)) stop("bootMer currently only handles functions that return numeric vectors") mle <- list(beta = getME(x,"beta"), theta = getME(x,"theta")) if (isLMM(x)) mle <- c(mle,list(sigma = sigma(x))) ## FIXME: what about GLMMs with scale parameters?? ## FIXME: remove prefix when incorporated in package if (type=="parametric") { argList <- list(x, nsim=nsim, na.action=na.exclude) if (!missing(re.form)) { argList <- c(argList,list(re.form=re.form)) } else { argList <- c(argList,list(use.u=use.u)) } ss <- do.call(simulate,argList) } else { if (!missing(re.form)) stop(paste(sQuote("re.form")), "cannot be used with semiparametric bootstrapping") if (use.u) { if (isGLMM(x)) warning("semiparametric bootstrapping is questionable for GLMMs") ss <- replicate(nsim,fitted(x)+sample(residuals(x,"response"), replace=TRUE), simplify=FALSE) } else { stop("semiparametric bootstrapping with use.u=FALSE not yet implemented") } } ## FIXME:: use getCall(x) ? check for existence of slot? ## is control used except for merMod? control <- if (!is(x, "merMod")) NULL else eval.parent(x@call$control) # define ffun as a closure containing the referenced variables # in its scope to avoid explicit clusterExport statement # in the PSOCKcluster case ffun <- local({ FUN refit x ss verbose do_parallel control length.t0 <- length(t0) f1 <- factory(function(i) FUN(refit(x, ss[[i]], control = control)), errval = rep(NA, length.t0)) function(i) { ret <- f1(i) if (verbose) { cat(sprintf("%5d :",i)); str(ret) } if (!do_parallel && .progress!="none") { setpbfun(pb,i/nsim) } ret }}) simvec <- seq_len(nsim) res <- if (do_parallel) { if (have_mc) { parallel::mclapply(simvec, ffun, mc.cores = ncpus) } else if (have_snow) { if (is.null(cl)) { cl <- parallel::makePSOCKcluster(rep("localhost", ncpus)) ## explicit export of the lme4 namespace since most FUNs will probably ## use some of them parallel::clusterExport(cl, varlist=getNamespaceExports("lme4")) if(RNGkind()[1L] == "L'Ecuyer-CMRG") parallel::clusterSetRNGStream(cl) res <- parallel::parLapply(cl, simvec, ffun) parallel::stopCluster(cl) res } else parallel::parLapply(cl, simvec, ffun) } } else lapply(simvec, ffun) t.star <- do.call(cbind,res) rownames(t.star) <- names(t0) msgs <- list() for (mtype in paste0("factory-",c("message","warning","error"))) { msgs[[mtype]] <- trimws(unlist(lapply(res, attr, mtype))) msgs[[mtype]] <- table(msgs[[mtype]]) } if ((numFail <- sum(msgs[["factory-error"]])) > 0) { warning("some bootstrap runs failed (",numFail,"/",nsim,")") } fail.msgs <- if (numFail==0) NULL else msgs[["factory-error"]] ## mimic ending of boot() construction s <- structure(list(t0 = t0, t = t(t.star), R = nsim, data = model.frame(x), seed = .Random.seed, statistic = FUN, sim = "parametric", call = mc, ## these two are dummies ran.gen = "simulate(, 1, *)", mle = mle), class = c("bootMer", "boot")) ## leave these for back-compat attr(s,"bootFail") <- numFail attr(s,"boot.fail.msgs") <- fail.msgs attr(s,"boot.all.msgs") <- msgs ## store all messages (tabulated) attr(s,"boot_type") <- "boot" s } ## {bootMer} ##' @S3method as.data.frame boot as.data.frame.bootMer <- function(x,...) { as.data.frame(x$t) } ## FIXME: collapse convergence warnings (ignore numeric values ## when tabulating) ? print.bootWarnings <- function(x, verbose=FALSE, ...) { checkDots(..., .action = "warning") msgs <- attr(x, "boot.all.msgs") if (is.null(msgs) || all(lengths(msgs)==0)) { return(invisible(NULL)) } wstr <- "\n" for (i in c("message","warning","error")) { f <- paste0("factory-",i) m <- sort(msgs[[f]]) if (length(m)>0) { if (!verbose) { wstr <- c(wstr, paste0(sum(m)," ",i,"(s): ",names(m)[1])) if (length(m)>1) { wstr <- c(wstr," (and others)") } wstr <- c(wstr,"\n") } else { wstr <- paste0(i,"(s):\n") wstr <- c(wstr,capture.output(cat(cbind(" ",m,names(m)),sep="\n"))) wstr <- c(wstr,"\n") } } } message(wstr) return(invisible(NULL)) } print.bootMer <- function(x,...) { NextMethod(x,...) print.bootWarnings(x, verbose=FALSE) return(invisible(x)) } confint.bootMer <- function(object, parm=seq(length(object$t0)), level=0.95, type=c("perc","norm","basic"), ...) { type <- match.arg(type) bnms <- c(norm="normal",basic="basic",perc="percent") blens <- c(norm=3,basic=5,perc=5) bnm <- bnms[[type]] blen <- blens[[type]] btab0 <- t(vapply(parm, function(i) boot::boot.ci(object,index=i,conf=level, type=type)[[bnm]], FUN.VALUE=numeric(blen))) btab <- btab0[,(blen-1):blen,drop=FALSE] rownames(btab) <- names(object$t0) a <- (1 - level)/2 a <- c(a, 1 - a) ## replicate stats::format.perc pct <- paste(format(100 * a, trim = TRUE, scientific = FALSE, digits = 3), "%") colnames(btab) <- pct return(btab) } lme4/R/allFit.R0000644000176200001440000002741214630365604012667 0ustar liggesusersmeth.tab.0 <- cbind(optimizer= rep(c("bobyqa", "Nelder_Mead", "nlminbwrap", "nmkbw", "optimx", "nloptwrap" ), c(rep(1,5),2)), method= c(rep("",4), "L-BFGS-B", "NLOPT_LN_NELDERMEAD", "NLOPT_LN_BOBYQA")) ## ugh: hardcoded list (incomplete?) of allowable *control* options by optimizer ## could make more of an effort to match max-iterations/evals, ## (x|f)*(abs|rel) tolerance, ... opt.ctrls <- list(bobyqa=c("npt","rhobeg","rhoend","iprint","maxfun"), Nelder_Mead=c("iprint","maxfun","FtolAbs", "FtolRel","XtolRel","MinfMax", "xst","xt","verbose","warnOnly"), nlminbwrap=c("eval.max","iter.max","trace","abs.tol", "rel.tol","x.tol","xf.tol","step.min", "step.max","sing.tol","scale.init", "diff.g"), optimx=c("trace","fnscale","parscale","ndeps", "maxit","abstol","reltol","method"), nloptwrap=c("minf_max","ftol_rel","ftol_abs", "xtol_rel", "xtol_abs", "maxeval", "maxtime", "algorithm"), nmkbw=c("tol","maxfeval","regsimp","maximize", "restarts.max","trace","maxfun")) ## name of 'max function evaluations' for each optimizer maxfun_arg <- c(bobyqa = "maxfun", Nelder_Mead = "maxfun", nlminbwrap = "eval.max", optimx = "maxit", nloptwrap = "maxeval", nmkbw = "maxfeval") nmkbw <- function(fn, par, lower, upper, control) { if (length(par)==1) { res <- optim(fn=fn,par=par,lower=lower,upper=100*par, method="Brent") } else { res <- dfoptim::nmkb(fn=fn,par=par, lower=lower,upper=upper,control=control) } res$fval <- res$value res } ##' Attempt to re-fit a [g]lmer model with a range of optimizers. ##' The default is to use all known optimizers for R that satisfy the ##' requirements (do not require explicit gradients, allow ##' box constraints), in three categories; (i) built-in ##' (minqa::bobyqa, lme4::Nelder_Mead, nlminbwrap), (ii) wrapped via optimx ##' (most of optimx's optimizers that allow box constraints require ##' an explicit gradient function to be specified; the two provided ##' here are really base R functions that can be accessed via optimx, ##' (iii) wrapped via nloptr; (iv) ##' ##' @param object a fitted model ##' @param meth.tab a matrix (or data.frame) with columns ##' - method the name of a specific optimization method to pass to the optimizer ##' (leave blank for built-in optimizers) ##' - optimizer the \code{optimizer} function to use ##' @param verbose print progress messages? ##' @param catch.err catch errors? ##' @return a list of fitted \code{merMod} objects ##' @seealso slice, slice2D in the bbmle package ##' @examples ##' library(lme4) ##' gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd), ##' data = cbpp, family = binomial) ##' gm_all <- allFit(gm1, parallel=TRUE) ##' ss <- summary(gm_all) ##' ss$fixef ## extract fixed effects ##' ss$llik ## log-likelihoods ##' ss$sdcor ## SDs and correlations ##' ss$theta ## Cholesky factors ##' ss$which.OK ## which fits worked allFit <- function(object, meth.tab = NULL, data=NULL, verbose=TRUE, show.meth.tab = FALSE, maxfun = 1e5, parallel = c("no", "multicore", "snow"), ncpus = getOption("allFit.ncpus", 1L), cl = NULL, catch.errs = TRUE) { if (is.null(meth.tab)) { meth.tab <- meth.tab.0 } optvec <- meth.tab.0[,"optimizer"] if (!requireNamespace("dfoptim", quietly = TRUE)) { optvec <- setdiff(optvec, "nmkbw") meth.tab <- meth.tab[meth.tab[,"optimizer"] %in% optvec, ] } if (!requireNamespace("optimx", quietly = TRUE)) { optvec <- setdiff(optvec, "optimx") meth.tab <- meth.tab[meth.tab[,"optimizer"] %in% optvec,] } if (show.meth.tab) { return(meth.tab) } stopifnot(length(dm <- dim(meth.tab)) == 2, dm[1] >= 1, dm[2] >= 2, is.character(optimizer <- meth.tab[,"optimizer"]), is.character(method <- meth.tab[,"method"])) parallel <- match.arg(parallel) do_parallel <- have_mc <- have_snow <- NULL # "-Wall" eval(initialize.parallel) # (parallel, ncpus) --> ./utilities.R ## |--> (do_parallel, have_mc, have_snow) fit.names <- gsub("\\.$", "", paste(optimizer, method, sep=".")) ffun <- local({ ## required local vars object verbose fit.names optimizer method maxfun function(..i) { if (verbose) cat(fit.names[..i],": ") ctrl <- getCall(object)$control ## NB: 'ctrl' must become a correct *argument* list for g?lmerControl() if(is.null(ctrl)) { ctrl <- list(optimizer=optimizer[..i]) } else { if(is.call(ctrl)) # typically true ctrl <- lapply(as.list(ctrl)[-1], eval) ctrl$optimizer <- optimizer[..i] } ## add method/algorithm to optCtrl as necessary mkOptCtrl <- function(...) { x <- list(...) cc <- ctrl$optCtrl if (is.null(cc)) cc <- list() cc[[maxfun_arg[[optimizer[[..i]]]]]] <- maxfun for (n in names(x)) { ## replace existing values cc[[n]] <- x[[n]] } cc } sanitize <- function(x,okvals) { if (is.null(x)) return(NULL) if (is.null(okvals)) return(x) x <- x[intersect(names(x),okvals)] ## ?? having names(control) be character(0) ## screws up nmkbw ... ?? if (length(names(x))==0) names(x) <- NULL x } ctrl$optCtrl <- switch(optimizer[..i], optimx = mkOptCtrl(method = method[..i]), nloptwrap = mkOptCtrl(algorithm= method[..i]), mkOptCtrl()) ctrl$optCtrl <- sanitize(ctrl$optCtrl, opt.ctrls[[optimizer[..i]]]) ctrl <- do.call(if(isGLMM(object)) glmerControl else lmerControl, ctrl) ## need to stick ctrl in formula env so it can be found ... assign("ctrl", ctrl, environment(formula(object))) if (catch.errs) { tt <- system.time(rr <- tryCatch(update(object, control = ctrl), error = function(e) e)) } else { tt <- system.time(rr <- update(object, control = ctrl)) } attr(rr, "optCtrl") <- ctrl$optCtrl # contains crucial info here attr(rr, "time") <- tt # store timing info if (verbose) { if (inherits(rr,"error")) { cat("[failed]\n") } else { cat("[OK]\n") } } return(rr) } }) seq_fit <- seq_along(fit.names) res <- if (do_parallel) { if (have_mc) { parallel::mclapply(seq_fit, ffun, mc.cores = ncpus) } else if(have_snow) { if(is.null(cl)) { cl <- parallel::makePSOCKcluster(rep("localhost", ncpus)) ## consider exporting data/package ? ## parallel::clusterEvalQ(cl,library("lme4")) ## try to get data and export it? ## parallel::clusterExport(cl,??) res <- parallel::parLapply(cl, seq_fit, ffun) parallel::stopCluster(cl) res } else parallel::parLapply(cl, seq_fit, ffun) } else { warning("'do_parallel' is true, but 'have_mc' and 'have_snow' are not. Should not happen!") ## or stop() or we could silently use lapply(..) setNames(as.list(fit.names), fit.names) } } else lapply(seq_fit, ffun) names(res) <- fit.names structure(res, class = "allFit", fit = object, sessionInfo = sessionInfo(), data = data # is dropped if NULL ) } print.allFit <- function(x, width=80, ...) { cat("original model:\n") f <- attr(x,"fit") ss <- function(x) { if (nchar(x)>width) { strwrap(paste0(substr(x,1,width-3),"...")) } else x } ff <- ss(deparse1(formula(f))) cat(ff,"\n") cat("data: ",deparse(getCall(f)$data),"\n") cat("optimizers (",length(x),"): ", ss(paste(names(x),collapse=", ")),"\n", sep="") which.bad <- vapply(x,FUN=is,"error",FUN.VALUE=logical(1)) if ((nbad <- sum(which.bad))>0) { cat(nbad,"optimizer(s) failed\n") } cat("differences in negative log-likelihoods:\n") nllvec <- -vapply(x[!which.bad],logLik,numeric(1)) cat("max=",signif(max(nllvec-min(nllvec)),3), "; std dev=",signif(sd(nllvec),3), "\n") ## FIXME: print magnitudes of parameter diffs ## cat("differences in parameters:\n") ## ss <- summary(x) ## allpars <- cbind(ss$fixef, ss$sdcor) ## par_max <- invisible(x) } summary.allFit <- function(object, ...) { afun <- function(x, FUN, ...) { f1 <- FUN(x[[1]], ...) nm <- names(f1) n <- length(f1) res <- vapply(x, FUN, numeric(n), ...) if (!is.null(dim(res))) { res <- t(res) } else { res <- as.matrix(res) colnames(res) <- nm } res } which.OK <- !vapply(object, is, "error", FUN.VALUE=logical(1)) objOK <- object[which.OK] msgs <- lapply(objOK, function(x) x@optinfo$conv$lme4$messages) fixef <- afun(objOK, fixef) llik <- vapply(objOK, logLik, numeric(1)) times <- afun(objOK, attr, "time") feval <- vapply(objOK, function(x) x@optinfo$feval, numeric(1)) vfun <- function(x) as.data.frame(VarCorr(x))[["sdcor"]] sdcor <- afun(objOK, vfun) theta <- afun(objOK, getME, name="theta") cnm <- tnames(objOK[[1]]) if (sigma(objOK[[1]])!=1) cnm <- c(cnm,"sigma") colnames(sdcor) <- unname(cnm) sdcor <- as.data.frame(sdcor) res <- namedList(which.OK, msgs, fixef, llik, sdcor, theta, times, feval) class(res) <- "summary.allFit" res } ## should add a print method for summary: ## * fixed effects, random effects: summary of differences? ## not yet ... plot.allFit <- function(x, abbr=16, ...) { values <- opt <- NULL ## R code check/non-standard evaluation if (! (requireNamespace("ggplot2"))) { stop("ggplot2 package must be installed to plot allFit objects") } aes <- NULL ## code check ss <- summary(x) ff <- stack(as.data.frame(ss$fixef)) ff$opt <- rep(rownames(ss$fixef),length.out=nrow(ff)) if (!is.null(abbr)) ff$opt <- abbreviate(ff$opt, minlength=abbr) (ggplot2::ggplot(ff, aes(values, opt, colour=opt)) + ggplot2::geom_point() + ggplot2::facet_wrap(~ind,scale="free") + ggplot2::theme(legend.position="none") ) } lme4/R/methods.R0000644000176200001440000002265014630365604013116 0ustar liggesusersinfluence.merMod <- function(model, groups, data, maxfun=1000, do.coef = TRUE, ncores=getOption("mc.cores",1), start=NULL, ...) { .groups <- NULL ## avoid false-positive code checks .vcov <- function(x) Matrix::as.matrix(vcov(x)) if (...length()>0) warning("disregarded additional arguments") if (!do.coef) { ## simple/quick/trivial results result <- list(hat=hatvalues(model)) class(result) <- "influence.merMod" return(result) } if (missing(data)) { data <- getCall(model)$data data <- if (!is.null(data)) eval(data, parent.frame()) else stop("model did not use the data argument") } data <- as.data.frame(data) ## prevent tibble trouble if (missing(groups)) { groups <- ".case" data$.case <- rownames(data) } else if (length(groups) > 1){ del.var <- paste0(groups, collapse=".") data[, del.var] <- apply(data, 1, paste0, collapse=".") groups <- del.var } unique.del <- unique(data[, groups]) data[[".groups"]] <- data[, groups] if (!is.null(start)) { par <- start } else { par <- list(theta=getME(model, "theta")) if (inherits(model, "glmerMod") && getME(model, "devcomp")$dims[["nAGQ"]]>0) { par$fixef <- fixef(model) } } fixed <- fixef(model) fixed.1 <- matrix(0, length(unique.del), length(fixed)) rownames(fixed.1) <- unique.del colnames(fixed.1) <- names(fixed) Vs <- VarCorr(model) nms <- names(Vs) sep <- ":" if (length(nms) == 1) { nms <- "" sep <- "" } vc <- getME(model, "sigma")^2 names(vc) <- "sigma^2" for (i in 1:length(Vs)){ V <- Vs[[i]] c.names <- colnames(V) e.names <- outer(c.names, c.names, function(a, b) paste0("C[", a, ",", b, "]")) diag(e.names) <- paste0("v[", c.names, "]") v <- V[lower.tri(V, diag=TRUE)] names(v) <- paste0(nms[i], sep, e.names[lower.tri(e.names, diag=TRUE)]) vc <- c(vc, v) } vc.1 <- matrix(0, length(unique.del), length(vc)) rownames(vc.1) <- unique.del colnames(vc.1) <- names(vc) feval <- numeric(length(unique.del)) converged <- logical(length(unique.del)) vcov.1 <- vector(length(unique.del), mode="list") names(vcov.1) <- names(feval) <- names(converged) <- unique.del # control <- if (one.step){ # if (inherits(model, "lmerMod")) lmerControl(optimizer="optimx", optCtrl=list(method="L-BFGS-B", maxit=1)) # else if (inherits(model, "glmerMod")) glmerControl(optimizer="optimx", optCtrl=list(method="L-BFGS-B", maxit=1)) # } else { control <- if (inherits(model, "lmerMod")) lmerControl(optCtrl=list(maxfun=maxfun)) else if (inherits(model, "glmerMod")) glmerControl(optCtrl=list(maxfun=maxfun)) # } deleteGroup <- function(del) { data$del <- del mod.1 <- suppressWarnings(update(model, data=data, subset=(.groups != del), start=par, control=control)) opt <- mod.1@optinfo feval <- opt$feval converged <- opt$conv$opt == 0 && length(opt$warnings) == 0 fixed.1 <- fixef(mod.1) Vs.1 <- VarCorr(mod.1) vc.0 <- getME(mod.1, "sigma")^2 for (V in Vs.1){ vc.0 <- c(vc.0, V[lower.tri(V, diag=TRUE)]) } vc.1 <- vc.0 vcov.1 <<- .vcov(mod.1) namedList(fixed.1, vc.1, vcov.1, converged, feval) } result <- if(ncores >= 2) { message("Note: using a cluster of ", ncores, " cores") cl <- parallel::makeCluster(ncores) on.exit(parallel::stopCluster(cl)) parallel::clusterEvalQ(cl, require("lme4")) parallel::clusterApply(cl, unique.del, deleteGroup) } else { lapply(unique.del, deleteGroup) } result <- combineLists(result) fixed.1 <- result$fixed.1 rownames(fixed.1) <- unique.del colnames(fixed.1) <- names(fixed) vc.1 <- result$vc.1 rownames(vc.1) <- unique.del colnames(vc.1) <- names(vc) feval <- as.vector(result$feval) converged <- as.vector(result$converged) vcov.1 <- result$vcov.1 names(vcov.1) <- names(feval) <- names(converged) <- unique.del left <- "[-" right <- "]" if (groups == ".case") { groups <- "case" } nms <- c("fixed.effects", paste0("fixed.effects", left, groups, right), "var.cov.comps", paste0("var.cov.comps", left, groups, right), "vcov", paste0("vcov", left, groups, right), "groups", "deleted", "converged", "function.evals") result <- list(fixed, fixed.1, vc, vc.1, .vcov(model), vcov.1, groups, unique.del, converged, feval) names(result) <- nms class(result) <- "influence.merMod" result } ## lookup table for influence.merMod elements ipos <- c("fixed"=1, "fixed.sub"=2, "var.cov"=3, "var.cov.sub"=4, "vcov"=5, "vcov.sub"=6) dfbeta.influence.merMod <- function(model, which=c("fixed", "var.cov"), ...){ which <- match.arg(which) b <- model[[ipos[sprintf("%s.sub",which)]]] b0 <- model[[ipos[which]]] b - matrix(b0, nrow=nrow(b), ncol=ncol(b), byrow=TRUE) } dfbetas.influence.merMod <- function(model, ...){ vList <- model[[ipos["vcov.sub"]]] n <- nrow(vList[[1]]) vmat <- t(vapply(vList, function(x) sqrt(diag(x)), numeric(n))) dfbeta(model)/vmat } cooks.distance.merMod <- function(model, ...) { p <- Matrix::rankMatrix(getME(model,"X")) hat <- hatvalues(model) dispersion <- sigma(model)^2 res <- residuals(model,type="pearson") res <- (res/(1 - hat))^2 * hat/(dispersion * p) res[is.infinite(res)] <- NaN res } cooks.distance.influence.merMod <- function(model, ...) { db <- dfbeta(model) n <- nrow(db) p <- ncol(db) d <- numeric(n) names(d) <- names(model[["vcov[-case]"]]) vcov.inv <- (n - p)/(n*p)*solve(model$vcov) for (i in 1:n) { d[i] <- db[i, ] %*% vcov.inv %*% db[i, ] } d } ## from ?lm.influence: ## wt.res: a vector of _weighted_ (or for class 'glm' rather _deviance_) ## residuals. ## ## residuals.lm gives r*sqrt(object$weights) (if non-NULL weights) ## for type %in% c("deviance","pearson") ## ## residuals.glm gives (y - mu) * sqrt(wts)/sqrt(object$family$variance(mu)) ## rstudent.merMod <- function (model, ...) { r <- residuals(model, type="deviance") hat <- hatvalues(model) pr <- residuals(model, type="pearson") r <- sign(r) * sqrt(r^2 + (hat * pr^2)/(1 - hat)) r[is.infinite(r)] <- NaN r/sigma(model) } ##' @S3method sigma merMod sigma.merMod <- function(object, ...) { dc <- object@devcomp dd <- dc$dims if(dd[["useSc"]]) dc$cmp[[if(dd[["REML"]]) "sigmaREML" else "sigmaML"]] else 1. } ##' @importFrom stats terms ##' @S3method terms merMod terms.merMod <- function(x, fixed.only=TRUE, random.only=FALSE, ...) { if (missing(fixed.only) && random.only) fixed.only <- FALSE if (fixed.only && random.only) stop("can't specify 'only fixed' and 'only random' terms") tt <- attr(x@frame,"terms") if (fixed.only) { ## ... may contain 'data' (needed when formula contains .) tt <- terms.formula(formula(x,fixed.only=TRUE), ...) attr(tt,"predvars") <- attr(terms(x@frame),"predvars.fixed") } if (random.only) { tt <- terms.formula(subbars(formula(x,random.only=TRUE))) ## FIXME: predvars should be random-only attr(tt,"predvars") <- attr(terms(x@frame),"predvars.random") } tt } ##' @importFrom stats update ##' @S3method update merMod update.merMod <- function(object, formula., ..., evaluate = TRUE) { if (is.null(call <- getCall(object))) stop("object should contain a 'call' component") extras <- match.call(expand.dots = FALSE)$... if (!missing(formula.)) call$formula <- update.formula(formula(object), formula.) if (length(extras) > 0) { existing <- !is.na(match(names(extras), names(call))) for (a in names(extras)[existing]) call[[a]] <- extras[[a]] if (any(!existing)) { call <- c(as.list(call), extras[!existing]) call <- as.call(call) } } if (!evaluate) return(call) ## should be able to find model components somewhere in (1) formula env; (2) calling env; ## (3) parent frame [plus its parent frames] ## see discusion at https://stackoverflow.com/questions/64268994/evaluate-call-when-components-may-be-scattered-among-environments ## FIXME: suppressWarnings(update(model)) will give ## Error in as.list.environment(X[[i]], ...) : ## promise already under evaluation: recursive default argument reference or earlier problems? ff <- environment(formula(object)) pf <- parent.frame() sf <- sys.frames()[[1]] tryCatch(eval(call, envir = ff), ## try formula environment error = function(e) { tryCatch(eval(call, envir = sf), ## try stack frame error = function(e) { eval(call, envir=pf) ## try parent frame }) }) ## ## combf <- tryCatch( ## do.call("c", lapply(list(ff, sf), as.list)), ## error=function(e) as.list(ff) ## ) ## eval(call,combf, enclos=pf) } lme4/R/lmerControl.R0000644000176200001440000002014414630365604013747 0ustar liggesusersnamedList <- function(...) { L <- list(...) snm <- sapply(substitute(list(...)), deparse)[-1] if (is.null(nm <- names(L))) nm <- snm if (any(nonames <- nm == "")) nm[nonames] <- snm[nonames] setNames(L,nm) } ##' By extracting "checking options" from \code{nms}, this function ##' implicitly defines what "checking options" are. ##' ##' @title Extract "checking options" or "checking arguments" (-> ../man/lmerControl.Rd) ##' those starting with "check." but *not* the "check.conv.." nor "check.rankX.." ones: ##' @param nms character vector ##' @return those elements of \code{nms} which are "checking options" ##' @author Martin Maechler .get.checkingOpts <- function(nms) nms[grepl("^check\\.(?!conv|rankX|scaleX)", nms, perl=TRUE)] ##' Check check.conv.*() options and produce good error message chk.convOpt <- function(opt) { cnm <- deparse(nm <- substitute(opt))[[1]] if(!is.list(opt)) stop("check.conv* option ", cnm, " must be a list") if(!is.character(opt$action)) stop("check.conv* option ", cnm, " has no 'action' string") if(!is.numeric(tol <- opt$tol)) stop("check.conv* option ", cnm, " must have a numeric 'tol' component") if(length(tol) != 1 || tol < 0) stop("check.conv* option ", cnm, "$tol must be number >= 0") if(!is.null(relTol <- opt$relTol)) stopifnot(is.numeric(relTol), length(relTol) == 1, relTol >= 0) invisible() } ##' Exported constructor for the user calling *lmerControl(): .makeCC <- function(action, tol, relTol, ...) { stopifnot(is.character(action), length(action) == 1) if(!is.numeric(tol)) stop("must have a numeric 'tol' component") if(length(tol) != 1 || tol < 0) stop("'tol' must be number >= 0") mis.rt <- missing(relTol) if(!mis.rt && !is.null(relTol)) stopifnot(is.numeric(relTol), length(relTol) == 1, relTol >= 0) ## and return the list, the "..." just being appended unchecked c(list(action = action, tol = tol), if(!mis.rt) list(relTol = relTol), list(...)) } ##' Internal utility : Allow check.conv.* to be a string chk.cconv <- function(copt, callingFn) { cnm <- deparse(substitute(copt)) if(is.character(copt)) { def <- eval(formals(callingFn)[[cnm]]) def$action <- copt assign(cnm, def, envir=sys.frame(sys.parent())) } else chk.convOpt(copt) } ## work around code check since we adjust formals() later check.response.not.const <- compDev <- nAGQ0initStep <- tolPwrss <- NULL merControl <- function(optimizer="nloptwrap", # originally Nelder_Mead, then bobyqa ... ## glmer: c("bobyqa","Nelder_Mead") restart_edge=TRUE, ## glmer: FALSE ## don't call any of these arguments "check.*" -- will fail ## automatic check-option-checking in ## inst/tests/test-lmer.R boundary.tol=1e-5, calc.derivs=TRUE, use.last.params=FALSE, sparseX=FALSE, standardize.X=FALSE, ## input checking options: check.nobs.vs.rankZ="ignore", ## "warningSmall", check.nobs.vs.nlev="stop", check.nlev.gtreq.5="ignore", check.nlev.gtr.1="stop", check.nobs.vs.nRE="stop", check.rankX = c("message+drop.cols", "silent.drop.cols", "warn+drop.cols", "stop.deficient", "ignore"), check.scaleX = c("warning","stop","silent.rescale", "message+rescale","warn+rescale","ignore"), check.formula.LHS = "stop", ## convergence options check.conv.grad = .makeCC("warning", tol = 2e-3, relTol = NULL), check.conv.singular = .makeCC(action = "message", tol = formals(isSingular)$tol), check.conv.hess = .makeCC(action = "warning", tol = 1e-6), optCtrl = list(), mod.type="lmer" ## glmer: "glmer" ## glmer: tolPwrss=1e-7 ## compDev = TRUE ## nAGQ0initStep = TRUE ## check.response.not.const="stop" ) { ## FIXME: is there a better idiom? match.call() ? ## fill in values from options, but **only if not specified explicitly in arguments** ## (ugh ... is there a better way to do this? mapply() is clunky: ## http://stackoverflow.com/questions/16276667/using-apply-with-assign-in-r stopifnot(is.list(optCtrl)) if (mod.type=="glmer" && length(optimizer)==1) { ## replicate() works whether 'optimizer' is a function or a string optimizer <- replicate(2,optimizer) } c.opts <- paste0(mod.type,"Control") merOpts <- getOption(c.opts) if (!is.null(merOpts)) { nn <- names(merOpts) nn.ok <- .get.checkingOpts(names(merOpts)) if (length(nn.ignored <- setdiff(nn,nn.ok))>0) { warning("some options in ",shQuote(sprintf("getOption('%s')",c.opts)), " ignored : ",paste(nn.ignored,collapse=", ")) } for (arg in nn.ok) { if (do.call(missing,list(arg))) ## only if missing from explicit arguments assign(arg,merOpts[[arg]]) } } check.rankX <- match.arg(check.rankX) check.scaleX <- match.arg(check.scaleX) ## compatibility and convenience, caller can specify action string only: me <- sys.function() chk.cconv(check.conv.grad, me) chk.cconv(check.conv.singular, me) chk.cconv(check.conv.hess , me) if (mod.type=="glmer" && use.last.params && calc.derivs) { warning("using ",shQuote("use.last.params"),"=TRUE and ", shQuote("calc.derivs"),"=TRUE with ",shQuote("glmer"), " will not give backward-compatible results") } ret <- namedList(optimizer, restart_edge, boundary.tol, calc.derivs, use.last.params, checkControl = namedList(check.nobs.vs.rankZ, check.nobs.vs.nlev, check.nlev.gtreq.5, check.nlev.gtr.1, check.nobs.vs.nRE, check.rankX, check.scaleX, check.formula.LHS), checkConv= namedList(check.conv.grad, check.conv.singular, check.conv.hess), optCtrl=optCtrl) if (mod.type=="glmer") { ret <- c(ret, namedList(tolPwrss, compDev, nAGQ0initStep)) ret$checkControl <- c(ret$checkControl, namedList(check.response.not.const)) } class(ret) <- c(c.opts, "merControl") ret } lmerControl <- merControl glmerControl <- merControl formals(glmerControl)[["optimizer"]] <- c("bobyqa","Nelder_Mead") formals(glmerControl)[["mod.type"]] <- "glmer" formals(glmerControl)[["restart_edge"]] <- FALSE formals(glmerControl) <- c(formals(glmerControl), list(tolPwrss=1e-7, compDev = TRUE, nAGQ0initStep = TRUE, check.response.not.const="stop") ) ##' @rdname lmerControl ##' @export nlmerControl <- function(optimizer="Nelder_Mead", tolPwrss = 1e-10, optCtrl = list()) { stopifnot(is.list(optCtrl)) if (length(optimizer)==1) { optimizer <- replicate(2,optimizer) } structure(namedList(optimizer, tolPwrss, optCtrl=optCtrl), class = c("nlmerControl", "merControl")) } lme4/R/deriv.R0000644000176200001440000000674314630365604012571 0ustar liggesusers ##' This function computes the 1st and 2nd derivative (gradient and ##' Hessian) of a function ##' with vector-valued input and scalar output using a central finite ##' difference method. ##' ##' The function has to return a single scalar numerical value and take ##' as argument a numeric vector of the same length as \code{x}. The function also ##' has to be evaluable in a neighborhood around \code{x}, i.e. at ##' \code{x - delta} and at \code{x + delta} for all elements in \code{x}. ##' ##' @title Compute 1st and 2nd derivative ##' @param fun function for which to compute the gradient. ##' @param x numeric vector of values at which to compute the ##' gradient. ##' @param delta the amount to subtract and add to \code{x} when computing the ##' central difference. ##' @param fx optional value of \code{fun(x, ...)}. ##' @param ... additional arguments to \code{fun}. ##' ##' @keywords utilities ##' @export ##' @family derivatives ##' ##' @return a list with components ##' \item{gradient}{the first derivative vector} ##' \item{Hessian}{the second derivative matrix} ##' @author Rune Haubo Bojesen Christensen ##' deriv12 <- function(fun, x, delta=1e-4, fx=NULL, lower=rep(NA,length(x)), upper=rep(NA,length(x)), ...) { ### Compute gradient and Hessian simultaneously (to save computing time) nx <- length(x) if(is.null(fx)) fx <- fun(x, ...) stopifnot(length(fx) == 1, nx >= 1) H <- array(NA_real_, dim=c(nx, nx)) g <- numeric(nx) xadd <- x + delta hasUB <- !missing(upper) && any(active <- !is.na(upper)) if(hasUB) { # only then may have non-NA if((hasUB <- any(active <- active & xadd > upper))) { udelta <- ifelse(active, upper-x, delta) xadd[active] <- upper[active] } } xsub <- x - delta hasLB <- !missing(lower) && any(active <- !is.na(lower)) if(hasLB) { # only then may have non-NA if((hasLB <- any(active <- active & xsub < lower))) { ldelta <- ifelse(active, x-lower, delta) xsub[active] <- lower[active] } } ## substitute elements of 'mod' vectors into position(s) 'pos' ## in base spos <- function(base,mod,pos) { if (is.list(mod)) { for (i in seq_along(mod)) { base <- spos(base,mod[[i]],pos[i]) } base } else { base[pos] <- mod[pos] base } } for(j in 1:nx) { ## Diagonal elements: fadd <- fun(spos(x,xadd,j), ...) fsub <- fun(spos(x,xsub,j), ...) udj <- if(hasUB) udelta[j] else delta ldj <- if(hasLB) ldelta[j] else delta H[j, j] <- fadd/udj^2 - 2 * fx/(udj*ldj) + fsub/ldj^2 g[j] <- (fadd - fsub) / (udj+ldj) # "total delta" (udelta+ldelta)[j] ## Off diagonal elements: for(i in seq_len(j - 1L)) { # 1 <= i < j ## Compute upper triangular elements (and mirror to lower tri.): ud.i <- if(hasUB) udelta[i] else delta ld.i <- if(hasLB) ldelta[i] else delta xaa <- spos(x,list(xadd,xadd),c(i,j)) xas <- spos(x,list(xadd,xsub),c(i,j)) xsa <- spos(x,list(xsub,xadd),c(i,j)) xss <- spos(x,list(xsub,xsub),c(i,j)) H[i, j] <- H[j, i] <- fun(xaa, ...)/(ud.i+udj)^2 - fun(xas, ...)/(ud.i+ldj)^2 - fun(xsa, ...)/(ld.i+udj)^2 + fun(xss, ...)/(ld.i+ldj)^2 } } list(gradient = g, Hessian = H) } lme4/R/rePCA.R0000644000176200001440000000167414630365604012410 0ustar liggesusers##' PCA of random-effects variance-covariance estimates ##' ##' Perform a Principal Components Analysis (PCA) of the random-effects ##' variance-covariance estimates from a fitted mixed-effects model ##' @title PCA of random-effects ##' @param x a merMod object ##' @return a \code{prcomplist} object ##' @author Douglas Bates ##' @export rePCA <- function(x) UseMethod('rePCA') #' @export rePCA.merMod <- function(x) { chfs <- getME(x,"Tlist") # list of lower Cholesky factors nms <- names(chfs) unms <- unique(nms) names(unms) <- unms svals <- function(m) { vv <- svd(m,nv=0L) names(vv) <- c("sdev","rotation") vv$center <- FALSE vv$scale <- FALSE class(vv) <- "prcomp" vv } structure(lapply(unms,function(m) svals(Matrix::bdiag(chfs[which(nms == m)]))), class="prcomplist") } #' @export summary.prcomplist <- function(object,...) { lapply(object,summary) } lme4/R/GHrule.R0000644000176200001440000000224014630365604012632 0ustar liggesusers##' Create a univariate Gauss-Hermite quadrature rule ##' ##' This version of Gauss-Hermite quadrature provides the node ##' positions and weights for a scalar integral of a function ##' multiplied by the standard normal density. GHrule <- function (ord, asMatrix=TRUE) { stopifnot(length(ord) == 1, (ord <- as.integer(ord)) >= 0L, ord < 101L) if (ord == 0L) { if (asMatrix) return(matrix(0, nrow=0L, ncol=3L)) stop ("combination of ord==0 and asMatrix==TRUE not implemented") } ## fgq_rules comes from sysdata.rda: ## result of ## library("fastGHQuad") ## rescale <- function(x, scale.weights=TRUE, scale.roots=TRUE) { ## within(x, { ## if (scale.weights) w <- w/sum(w) ## if (scale.roots) x <- x*sqrt(2) ## }) ## } ## fgqRules <- lapply(1:100, function(n) setNames(rescale(gaussHermiteData(n)), c("z", "w"))) ## ## However, this shows small differences !! ## all.equal(lme4:::fgq_rules, fgqRules, tol=0) fr <- as.data.frame(fgq_rules[[ord]]) rownames(fr) <- NULL fr$ldnorm <- dnorm(fr$z, log=TRUE) if (asMatrix) as.matrix(fr) else fr } lme4/R/sparsegrid.R0000644000176200001440000000263714630365604013621 0ustar liggesusers## Generate sparse multidimensional Gaussian quadrature grids ---> ../man/GQdk.Rd ## Unused currently; rather GHrule() --> ./GHrule.R GQdk <- function(d=1L, k=1L) { stopifnot(0L < (d <- as.integer(d)[1]), d <= 20L, 0L < (k <- as.integer(k)[1]), k <= length(GQNd <- GQN[[d]]))## -> GQN, stored in ./sysdata.rda tmat <- t(GQNd[[k]]) ##rperms<- combinat::permn(seq_len(d) + 1L, function(v) c(1L,v)) ## rperms <- lapply(.Call(allPerm_int, seq_len(d) + 1L), function(v) c(1L, v)) perms <- tryCatch ( .Call(allPerm_int, seq_len(d) + 1L, as.integer(factorial(d))), warning = function (w) w, error = function (e) e) if (methods::is(perms, "error") | methods::is(perms, "warning")) stop("Can not allocate a vector that large") rperms <- lapply(perms, function(v) c(1L, v)) dd <- unname(as.matrix(do.call(expand.grid, c(rep.int(list(c(-1,1)), d), KEEP.OUT.ATTRS=FALSE)))) #unname(unique(t(do.call(cbind, # lapply(as.data.frame(t(cbind(1, dd))), # "*", e2=do.call(cbind, lapply(rperms, function(ind) tmat[ind,]))))))) e2 <- do.call(cbind, lapply(rperms, function(ind) tmat[ind,])) ddf <- as.data.frame(t(cbind(1,dd))) res <- NULL for (i in 1:ncol(ddf)) res <- unique(rbind(res, t(ddf[, i] * e2))) return(res) } lme4/R/sysdata.rda0000644000176200001440000162111014630365604013465 0ustar liggesusersý7zXZi"Þ6!ÏXÌâlïþ])TW"änRÊŸ’Øâ •¡á°,¾ïÁÕæbo¿*˜m§à =îF῞ÞqÛ¡WJ/€«€mÿ[þ>]XIRHœm…#º´4‚Ce 3ö«ýцݺ#64K‹ŸA¡™¢ RtUÕƨ´%YT°½H¼¹4-çPìs‘_Ûˆ4?gÒÒ'×5µ`Æðw¼½¦ô¯Jk›8v«¹ÉÜp¹èÈäfôƒönÀbY€Ô–-!®,äðé!`Â=àåmØÄÊ·=$ûG‹(#:ʃpÏ?ø]üöXð5­3Ƭ1¯A¼µ4,Ÿ4C¦ÿÇ›ÜíÙ®”ž³AP‡Ýl+¹-¶®‘ûJ‘ã:Öæq«Ëk¸L)>âN t:PË‘àNZøñǵ>8øÄÇî´ò (éODþèßh=xNSqð†­k.RVÿ­qPg¼Àæru`h}ŸŠ¯`l¦g„*t/ð¨Ÿ6šÄ¹Ê&õàñJ^DT¿¹³D™ øê2a€Ÿ# í¥t†ð«èÇ4nìe'Nc[¾F† }¿ó5L"=Ã*˽ì¦ÛrÒcœ”ádîú@6C”‘>Fè‘ÙZFd]Næ:BÖ O©ÜU¥ü€Îl 9¼:™TòÞýr ¬ëµþv˜ªßM¼ÿh*T|w¼Áåƒ÷Ù»”Ê ) xÓ‘*IVB>RÞB×—š¿Á ÕçŸP™,Ë”±-¯ÃÝ+o=þr ·K)ÓŽ+û‡}f2Ø"iRYhy% æ(ÑRórÛü´Ð!õþ&N¡S¸ŠÇ„ën¯i´>öÓýC6 ¦¶u¸@m¿‰P¶o=ÔîÖÉM|•.ü‰S !àúDßó¬¢û§ánc=ÉIûº›cÁp8¬Ž"_¤8p’èמÂUäÐQÅ©fÒ·§rN“€gw´"vQzÙOÛÐe™+.³ûaì—˜ÂÚ­@©ñäŠß¥Å{´4ÇjÊ#·. £züŠ>•œÎÎŽÜÐÔ<®¯¬¢HÈå=h@ßwÏÚJK}›éE|§AËóMàTʯP(m;߉”õír3ˆŒ ?ðE%éT%]:'ê·¥¥GúPnD`ÄΉ3ÖímõÏ:Y›ïÅFUE¿\“Mihb‡ÐÛÕÒ£ÞÏöl‚iQtÐ@m“ %…ãáñläã<'CTæ‡Å˜&’¸J…Þ,¯Bú<óâ •©™V_%‰wãÁOº\cЀÐÃéLÕÛ@*FcøýD^pwH§½ú݆ø\¹ÌÆc¨¼(VzÍEÝZ+Ñu‘óÑ&¤zZE6y§vÛl<¾+ˆã›E³DNì;—¥ü"!ì~œ“>?yˆßs£öñx2eÑ$)¨ÄOrã¼ a•‹Hý¥ÏëšÁ´ÁŽ2³¬d®l£~(„Öb!­ÎcÝ଎'+WE°5£¡ä¸Y×Înn@DnÒ•h (Ò?ªâ¤“ŒðL k šRïÐÄÛùo2˜½³~n»P4"Ò–çž «6[L13&”^<³SÅîFktG´3Ý¡€®¬3 ×øÜ¢¼ ¿¢M=Ø‹úšƒ6qቦp޹_hæ:˜/CÂÎÙ©Ïp&À.¦‚Jès~£M”’\rÿÔ$ìè0˜õU™68‰9Ýnó DÉTÙ¾â® ξ£ Û ýÖrUPçÓŸ‘¤®]üôEJ©HÁЯTXƒ‘£å1ÕÚy@Sí +õ™¨©ëòvŸë=\ýäö`¬ÚÀt¥œl±ÖûϾ.D¯=DÏ´Âip¤¾=Žeo¼ö ¨í3CÍÀX~³L›F‰Hø.oÖO›—Œ„÷3Ñ‹f)ž– <¿ü¹5×rÀ5Q÷ ûzÑW‰ò(Õžâ¤=da•éiJ­˜É6°NÝÂAI¥®÷xúÓ(ŸZ)ìm²Š Ì­TÔÕôångÁfÃ%‰ˆN¢7}Ui|t/„ *‹ïØ,†ÐŸhwÎxÒ“ï'.ªœÀ¤ ‰–¾&dåû>žB$e¿€8)0T[7g~ÆùÏ]Y C„µ@¼ß´ ´ÖlDW³jÇY L!·KÒG3.6¿}4ø7•p`Í€nËË•.z=ÿd¥ëƒ D(@ ![õÚØ~ÌÔ¸bD¦¬×Ø44´f¿ŽáL…³Ûíø2Ÿ­Z›Æ)l+_‰~ƒ°–EÆËšbr‰ ÖÌ’ÚåÕÕ{$`'Õ¸ T§›•‘îýê4Ê)éRåúgÿ"Îä'ÍCïÏ h+Á¦·!‚Ú´…AbùÿÀnV"Øt¬5ÜT_>¤†ˆª,J2†<;K&(§3õÁMF$ØŸw›µp BÈã,èÐ:·tº!/íÞ;ù WrÏX˜°IΊB’ˆçïdg+z‚1=gÔ<Ìëd·@5ÛBZ¡8i;t5Ûö1AäîbÅï)8¹O&C‰À6–L¼Œ½T …äuh®#ø z¤ÉOsT5PãI9C«ÚÏÂ4´åJÔPÎÆ± wjNöÁU¾ÀIuùÌŸ¿ @Å~×äÕo¼ÍÝA÷{!Í5&ØÓËÆËý!âSp5oפ‚t»ÚÌ´µX)å$⺭Û)åÖÈîŸÛÚn§BÊôz¢YÌýI¢ÆÈÊ´vwöÂ0dñ8rÜb{¢Æ"sø™4OŠ>ö¼F‰HGæJYVñ‚C¢·ñ§loÙ×½²d­·ì8œûiÙN©W$àÈǧ`¿|ó’pRr£l0(7wDûkE$}×;2>0ÀÅ œ} úZ:Šùâ¹õÂÇT+ÑoŒ(P&«í¤é°µXn§ù™1‘ÚŠíÒ|8Ì'/p%e$¦®Æ'…q¿ Ú\©õf…ä‘b²|L$F^Þ'Iíïz6j²F愘èR>Ÿc!X]uŠcØ<Ùö-F;º'èáô€¬¢vw•$½—_ú"Èj!su>J50É©J„¹:u•ËÇd‰lÀhmo‹¸C`¹sm²*¾àHj©«ÉÁ?#ƒËRe=ð“Á+ßzø{?mÛ?¬ìŸ-ÀÎ9ƒ¬¾äµx…î‰êSɴ䯭tf‚’¤‹ÙÌâ6JÑ|¦${•SÞ¡þ˜f°ì"‘©n™?plYSfŒÚûgä¨1¼nHbæ?D£">ï#©¢ÀÜ­6]s§6òsò3Õ»æ©0¸‘Œü€<ÖJùT-ü—FS’y·ÁTT}©Ï†»’^ììš…ä¤Å•ÒL.È–Wû)8Cœ$—ƒÞw?V‚¡ë‚Ïi7ÍN$ ™pÄót^+<™›¬g ’—‹ixÚ¦¿{Mšg•.Ë*^„i% ~/w¡ãE&8ù•ÉÓ¥ëÄ-W‘Ì#áÇñ§^²8aÀ”u^>Ò…¥‘~¨ÉÓÔ֤ɼ§âsš 8o¹áY¥QmEOÅÄðå&þ.¿$^sôR]ÀwÉ‚‘1ôÆ;{Í$aäÛ0¡E©5„òFaF›FáAúSµaõW&æeÚ‚5…´Ñ¯MèñÐÝ w@0ÛÆÊ)½R/Ä¡¤Q;ßîð×g¶-kíñ;;?¨_fá_’T&0Œî$øÛØÕ`Ͻ 5þû·Zè _Ëú¶Æ(ÊãûgóD̃&_ü‡‰û9–€GÙFHu$Qd»’ãh‹¤¥wp$&9+´ÝáÙ¡¯@ì/O J^œŠO#k.#EõÁƒQJ:©ÊÈ£¦8©ˆº×D™£å>”}*eû…Ìé#DKÑÎ}Ü•‡Ú´óC4z0ýî,áþ(…•`Po£âõ µ£,rÐûL(¡|ͧ$$F#˜÷Ët¥—cD¯œúØYqж?Cn-c/$FÛÁw2Ü–]ÿ{« ÒY7†”R3Ì_†ðÜE°žÇÆ£üááÚøNLÃ*À¢„ûÈÖÆ°ÁmþüË&Sù­Gì-ïÏ×)b{¢D¶ë-EBZh©ªe&£µ¶iO€q…¼h…Xšb*]ž¤(m º"²Ì] uãŸ<¦U¬N@gÉ ÒØ„š0A„5¼9Þ®¨ÔTÑTŽá¦‡>ûZ‘SCú6êšÓå(ém¹:6 5¶"€°™ x”Hák/ÔÆ èZ”!Z’èCv•ý®>§Â2S¢OÊ<+²ÒOù¹wgöÝ’ö'n>ôÂÕ‚z*‹v16©\ìåló­ÈùDý@ ¼,R¹Ù–bçj±#¼lFh•TâávAÛN³Šf^ û<£…+²úè¿r˜”+·îL…œràÛ¼õŸ×õ#™Cxn##1Å?k8 úú„?¢HÌfúiÝ"0ÿ¹ÄJ5Pö’É¡f¾ùÅðŠò."uHVó_?@õ7¿c¤»nAä—ç/ÖTÚìp·Ù¹aWæ#Ài§W6 :žS¾ê)žYš-Õ8K$ÁÍÕQPÑ“dÁ¯Pkí.ÞR–nhÄšyûV£.R.)Ée#¨"4Ey²mª(Tj¼äúQ”B¨*£œ.=ø™?B°¤?Òö\t©']¦né[™.ËÆHò@+A5z”1 (Vðƒþ›Ó.*Ì.ªŽ”ÐbÔz•é"[7BšXŸÇ!¥Ï‹SÁuÑ>hýx´¾µo'¾x\çˆ9¹ÁðÞjt±âÍŠÒšq¬5шògŽ8Û¹{V~·’É“¸n¶¸ÞýÛfVÖ›×ËãÇ–â N1Eiý'‡C‚ã¿ó„LÍU ÏýµÅË2"Ò)öRF”Žð¦P— dý}ä*v(Ú3îäïýF1ÝÌ+5ÿ?$OÉÙ…¦ó—3Aç˜!(ÜìÿÀ3dßæÑî'î4¤º‡f‘ãËÍ@õ2wÈå)Um—HK³„{aŒ,³¢ù|u£j IøVD+MÁi(ö±jXkD×ôÁ›-MŽ8‹ gÎbÖš£ _ÌÕThæC 0…œ‡ÒX't®lÍ8ž­$Á(€CµmB?Ic×âƒþ¿ 0;óM@öz„YZgMÂLUvs˧œiõ)qU}b}» Îjæ!ýY#MÑîSuŒó`5óâÞf7ŽÂïVÀlÙ‘:3À„wŸni$•¬¾œcœ&í«J íYŒbµê¹ŠŠQÚÄH×îDñ E×"þSo#HîL„ßIn÷ D+ü"-˜Œ%§O…M¦ÿT欯2SwP‹×/3í¾–Ù,* ‡Êr„T+ûŠÎ$zŠTÃŽéWkMü$¤ª´²8¸yˆêG{KZþQIž0jOFÃÖ#^·ïÛ½ëú´Qü9L#w¨¬ÿ| Û‚vÓL"˜»9Ž\‘+L Ýÿ­K ã ç&·i=C¼ØDfëC½×|íj®"eö¼,ø 5=´—óõNkX‡féDTç°XýÕ†±DíÈXÍ™•®Qµ›Ç”ÁåtKp[Vzñ‰ýä¸ò8•=Q˜ÞéH ¯«º²ð9/\\–ÏJÒª;Ø›Çy3U– \âæühÛ Q¾&‹©’ZÝjœJàžl^¤>c³Ñ¶äÞˆ›Ó o‰âÐq³ðöp2>ÈÜ:XH»’WF9l°lWv†ÖazC‹XØ­Mí/ÊU8ióxZÁò–‘ø/è9+aßÝYÁ'Q°ïÀ Œ–Å)U¨ Ö0Xƒæº%4¥•ÎõûöªC§#‚~hˆ>z÷:¨µRòÄ šÃXö56ä¶*K[¡Ð¡8öÀ„¼NqáÐ:¸yÚÿ'#_zD-™V qÀXªH¾.›u¨ô˜5›²8’Ä]áøõ»dlg­ŒVVÎås $Ü…”õËÎïT-ãF´+ÚLçmü¦Ú|B€ŽØ°pÇ×f=$"_øÕ/Ñ' ïAÂiZ箈7‘æk’"î+v¼Æ^à_Ý£¦>sãjúÍQö®Ä{%èÕÚß®DmSàž¦Ô[ˆAþ ˆ%8}GÌÍ#®TèVÐã7÷“ŸÍ¨|Þ4ŠáNí3/ð§I½ ø ÒS@ qéµcŠÒbÒáôÀljRÒ¿Fá•sè›S Ð…¨é¿–Ì›­(I¾ûŒcz,ˆ©ƒÄ¹9&D™:fd”; =^ã‘<×ÚÈÀÄ¡¤øw…+FÑkèUážn\§eÍeÀ5½B¯â¥—ƒ'´ÌG¿Úu–»qꮆð© Ŧò eéúÀ½ %†+öعOä}lŒ2éØÎ7?§"]zwg´Mé}ÊL6W`´ovøiFñ'6Ë´…KDçv_òúMk£BšE\”Э‰jÓ†™ÝÛÇÆò•²oÀ#Xð(G¨1= [ ½¹ö];Ú#°L 7r7+vñ)œÛ¸ ƒpFŽßѸŠîŸ1QÊ"¡GÄiÙ]­<~ÀqD®¦;ùë˜e!¶Î3Òº« ñ‡èrdµiq(&e@´ä ÄÅŽ›éˆ”Kâ4Ò…¹/òX ›}]”CMŒÏË !XÄþP«$¾Ï€¼œn³¥õf¾†õÆ3ø§2>)ÿá• WƇm‚ .@ΈðŠpîðæÆ³Þ9§&\þ”^ S—è导Ęj{ߨ4ÚÂE„Ó¸_²D{=¶à[iˆª¼€G Ú¬N_`ìF¤²(ÕQ¥¡ÇFÛ(ÊËÙƒN+Ô2¦,Ø{ `mcùP_`iÛ!E½ Ä6êì^ò ŠÔŒ¾°ú'¿‰w$|a.Üëê½}3yÇy‹âUP˔Ͷ֖·Îý^þ+æýš¦Æ¿¯þ«ñ.™HêM-df€…Qq[Ý_ò¥×¥bKxÜJþ—ú ­ ‡f*‚¹†ƒš®^|hîÈ3ËÅ®¾˜A4Y‰j›ótØŸnÙ|ì®5Ãju˜ßÏ–28µ'¸‚唸x| pzŸ–ãeß:לŒŽ°%™,d׌EÐë Ùû)Ã÷ªÄ@/_û¥› [ËŽÛÒ½£CJ¤¯ ¹‚œ ¹”P½ŒŸ]ÄŠfûsv(~"tE 927aÉZ?õ'ððAmO’(ë¹€\¯$®,gÏ”xÈ(–H¶Up™=t¸ô„„‘˜ˆ Óúir7!un.}Œ ˜â-à!È~¬·ê5`?ƒÎýÖ‰(ƒí®c„MD±ÁȺ»Ð~T)qš¥cvü8EßD-¤&kYµ`˜ûR ]ÅÚÀmŠèKþ÷5ª¨$Z;Õ)³˜‡Úgþç}RWÔHAÈk÷]r—°L§¬{H~Ji¿¼ªjéîÝÉêŸÚî35ztÿTÕ•PnÔzJy_5º+ ê3àû-¶,z¤¯{§âê`Œº-_¬LLXËÇåÆK÷tÈ):oØh@ÖÐ'Kn1¾<$ÈR°›Â4¹T!t‰¾"¸õóÖOÔŒ ÌCÆ©Å9Ée¿[³¨*ºÜ‚XB¼x]¶tê]ª˜6£°w„u¤]1ãÝO}5£q*ÓXhZ#+k.=¤§ šÒßäÜ5Ôû#º Ô#ÜiT^^{–S§â­7»›á‡Ï|0}CGEÄÚ" µÇ=ÄZ…¾IjÀ›tõŽÍÀ›íÁ h‹ãtc¯Î¬‹hK*f½U8b³ÂYAdÃìÒ r¢àäèà¿kÓšR›¾iÃQŸHìÖz†n0ú¬Ž‘»ÁFTj¢ϺC® Oú+¨â3È‘Áþ2– ³Y_´|wg·ñ*†$î/œè<,´Ð›[}à‡qC‡::Îø¶Ôô²É¹d0~Œ–ÉÀû–£ièÍѶ¿/+8û¶¦Óï³F³P œÇÊùÇ ²GÌrmø6àWOù™½?š1ÏfýÅÏä ß]T·ˆW;F{X0›Aó„8\ötp—¡k7ÖÇ ‘ôf€g˹ $Xå-ŽV¹ ÒÐ…Çv‰Œrè¾UâÈCòsTZ¬LQ½ÇŠsZQ Wˆº_¶§¯ÔÕüž‡%ërýÑœ¾e®Y ÷[‘Lò’a2j ­ sT;±F±;þ¨× <.h£å^õÉŸ^&þ¤;M·wcGÞy&U£è#U˜§a/,ƒ4Ö¼åfë)„Š+•!øÿegQJùÀv6UFg»Z8†ù™‚,¤~¿ õ²À˜H=S¦ŽÉkÆß z…Ö„‘:QÏ&·ùòÖYðŸO3$ÞF‰a"¹z\w·õÆ4D§” K¿ÒRäGm ¡.$[n–N?Çö’EõES°x}¦çÉ TŠì.>,þ½owdºÇ&”GùX·ÙBzÈ=D!.õuo“ ²ù£µ óm1ËÃ’—¥îxù³mCQ6hE,½j œÌ­ŸË§ƒêÎP pB5áçrÈ@áHrÉQô’ý¶ÉÞ¦îËâ²%*”®ÖItCÒÛW3©®×É_óbcY”@0¬EƒÄÃnP,ê• õ9™Ã-Ù·D\ÖÊ::Æw¨ÜãäüÛ¤͓΃oWæûÂ( =í”–™¿p"Ù`‡~ ºÇ¹í»0ûÚ^\õ}b úó]oç|äUï$ÈÂÄÿKxiÔ€0çtϸ¾´ug®u÷a˜6Òc Ù#¿*[TnV‚P~Ϋew¬sÁ|pã|„75NÄ~áŠGZ’bbSÉ&ÍÖâhXªlD¼ÆçÙ6}¨q?ýp„Ç W©ªÿð½éšésÓ±{Ût ±ÊÓ³`‡Y"„z1Ï>· cSwrC%fX*ËÛ‰•sÜ‹jÌ “k%ä,c0×ÈN9¶šŽu8£Ø±[åb=ûSÍ[•!îÆî&£É1R¥¹ÑóPÝð>W´îv\ƒ¶d5åTš}$‡?)б-”gØêr"8Ô }ÄND®Îf\‚ÖéüÑÑhmÅ*üûšÊ¶ji2¬î1œó×™”7ê}ÀY ¬”ý‚TNtËcÌðåã\Ê.#B2D¶wâÛ6…ƒuÐÐ ÅV0-šôª{a±~ÐqÝjB*4$€ÅjÇ>†æ:†ëÑ ef•o%°—TÿE¸ƒ$=Ä=y³°è…Ag|mN7df–ÕJ óñ¬fÈ5w€Ñ4I@/¶*Ì‘G®ˆ~_Ⱦ. }XB9“ìà.uÆï Ö¥L ËÊŠ!p˜OÌIXrå¤üeæpSM¢“¸%ú¤&6~`ù÷ÖˆL½Àɨ»Å ¼lõ×Jâä²*O)Ëú¡O1`Àýo~¶RÔ7`à–íú’a¸Ìä•-¬C‡3Ýââa{4h)íãŒJïq¼ïñðR®–v;²gvYèm„ ¨ý³ÐSм|·ÛÃnùø*.$Ô qƒge𙷠ܘàsÀÔØ4; §ä"€Tº`ùUÿ1©q MÊÉå:*­ûç(97y?ûi!Tr?j5é?(Ê „À¯šñ}V`Ô-¦S+Óâ&‚k~XÙ'^D ™XðÒeÊsYú»zù :Ï˺6´5+<^9ÒìóA"ƒm(ß?먙Ï»‡,¨ØnÓìG!iÝ/ÎëXȩKsªû÷ÿ@;ß%è2'´:ÍÚØ;#]¶| ÓA‹Âk´õÍ ÄŸ]1ÆWáO„–Ñ©ÏëX®É­Aá—=ótÍtSTä0lªl|©X¦±·:# (L3üAa¡QĢ⇠ôElPýh–Êó˜,E´n‹úTJæÆE!ô¾Ý‡@i¦þ$œr¸­k88¾®5¾¬$Vóጃ~\2ôÓSÏ=ï¿ð‰ó']?(gkMå­°WÒÕü{’—ƒQ™iðÌŽ˜µ0Ì’5Ùh®?ò‚ÍùE†ºK)‹™€ZØ)PÍN)¦"Íè‚Ýö™8ÕLÀóÃÅ2¾Dÿß–oÖjN!1žN…XÐZêÉL$LöJ‘û¯Xë‘-é®Üq)iä€Hà?»ìÂff *xS¥jRq•–(AG¸4.õ¬7MôË“ñ F¡Œ÷—OýJ˜±Í3“©tMhêÖSt›àÈsYŸÁäK7k±<{æ Oƒ%¢»òO/˜QJ²1 rfà^2¯äž„ÐY¢§oÕØ¯ÇaVé¬ëa~½°›A¹&õeo¼¤ƒ 4ÂlöKã‹¢Í÷Cå¤?ò‘Ý̨9ªMÚ…›]×ÒôÔ§aÕ´áa8@€hÈÒÙ…¶ƒÓû[BØ=Ðð 3èyÑ-ñÄÓNïÝÕÿ”´C6š€NŒ×º²oÎëö‰áÄAVn“à è°)Ëëu,Պߪ”#]üHÈ™z>âc9›LãÀz¥Ÿ†hg)ÔóV¦·±v›ó år€Ë’š­W®-ŠU'£:x_þeË’ðÜÁ̤¸"U+Ä0hEý.@÷5Ÿ”ÿ@ßãÖ9ÞËŠ~RŒ*­È£P@˜°„`c6„¹ÞuŠõ ŸwØA"õ ß]á¢žŽ /âÖgffß;€ó1„Æ©úæuãy„VsÃèéÖ>ŒóZJƒ€ùµVËl°‹Q¶2› žaÄ£ŒE­î*«©3UØÏ}ž`JR‡ÈcºhSÖfƒj6,b{CéïíÑتŒŒ¦¦(u’àEvX)ÈÚüLJòkì‘ÑpZ—<½üš‡_ à"–MÙ·¨?ÆkèvàOTÎ… Á«0{̧}+î¡;Ž3׈QŒß¨§?mrü©GŸ6 ÒÝékUY‹ð[è.à‡œü$PíŸtAW?ù€A ^¸°Aw‰ná[5кš‚÷ŠÜs|9V«EöرL˜ÞŠ5³kÆ—ì¸Ï"o^lú³ð) ¹ú ƒî{‘ý|µýJäoÈÜÝw E9¤ü¶ÌÝbærK­$ÿ»õ7Ën„ó3ÈLkßvj’‚÷´Ò@¾‡~ Ó®K!zçáø$Ú*Ý2ŠîÚó§ÉdvpÌ‘I„ÞRŸ~#R®O†D&Ä=AxOFÝÜ@ÈBmàv8ä`Y ëM˜·²Fm/ç|0™wÔ/,ˆÐPd³z0oò~#“$ÁEÔÏ®/û™wÍ¥>—"þû+ ö(¹qwùþ2ïÆQÙ6 ]µ2¡–D]cäPÐÓ=DmƒÝzúÓܾd½Í—:ƒ€k½¾wG++BÕ-ozˆ¥Åö\zï ýŠ;ŸTˆÐñ(àBûXÎÝxt5‰ÁÌPY÷}%Rê9q«®¥¡Ý.xí±öâÁÆT­l+LõüñGû›Y&Ä`z2¨ˆò° ö¶vÄky¨²vvò+%ñN46z'žfKþ~«e¹y¡×Iñ€©€IÓ/=QàœxåˆÒ\iìׄZ¥—ç[ào£Ñ(CÍýÎl¼ àY£}¸Üµ_Fq±Âe‰ñ@{ÈSÏ'–Ö‚‚ cGw(na(»pÓdýšÿM-IŠÑyèÉ6 ÁW’dtøÍî³àvð*]Ç”)jLq¤¸Ç€6ÉÂÓ5¹«IG9>adcO»›VÉï&ˆÔB>Õäyóf,ä‚y(|Í ‡bæº%9K4Ü®¸«}ìJÒáОîÈ÷íjS%2å©Íu"©ÊÄYÍÌ»:ŸY’öÅ“ôì‡-(Þn÷¬ ކÚ÷ÑÀƒÀ,†McWI[x¨6J¦ó Ç“7«‰c«#Ö¼Ëô¯ y }9ÀpþC߬7u+Ü5€§ö…8~ªŠ>ùžîiU_v¡y+Ñâ"o3}ÿîã7ÐþïnæŽ*°„’gL–&èI%¸ÕþE‹jŽÇ8<‰ôO@daír…Jlýpb\‹d°Î×îh†&u ††N!÷%³.¹yc»7=1»ú^ãÿÉyx}H9?ë/ñVì¦Ç›Í [.&M H:½Hävÿâ8•>ÞyC^Á]dÛ½¸逅,…Þñƒíy°/°´ØiË2 aûà„N9 ½¥>2‘ÊN[©ßV¥FaY™ÅìÖ¡“]5'BÿÎÕÕ·–S»Z‹(ÜÈo^ž_±@t°)èŸËŒ+y_ÔI '«”)t ¥ ýŸÓ‰É¾1ìQÝÑaB0ýPf»vݳ[(ÀN+ü~ì­7¨×žH ‰óºg_7~t+$•ë&uÈUn{LO5û¨ÆI¸äVÙ]ëøžˆr³C˜XD´Ü׆­«VCÓ4œÛ>'¡¿Ð,¨Mg±žDª^Ž‘¡4ºçig‘’Ä‚æhÈ )ÂÛ?¯kÝ2˜¶•™ùV<5wïš­‡xßÕ áí}ØàùÙR?LiS·QÚ íã6†Ôñ°;üdÔƒù™FŸA Ðkë›íFܳàWÓeÊ#y®€ygµŠ\ø­AM&Ø ó%‰Æ)­gÉ!‹sÉž‰µ¿kt{çFËv„à¡·ÌíÅÒ¨! ÏÓÃË…2pœe1ò¸Íò“—íf7{$´Éd+û„w.m×SÍW'5÷;œ* cÓ쬮—RËÝ’9 ž¡‚W÷º ‹ùˆvÀÉ:áãMH„ãßÈ<Ëm-œˆ}Åj¯þ`-)%¢'qý\;ýŠcÁ«…ôW—TæK곂Õ)XèüQ†…)yÄ :°ºRHY¾z]×HŸè;­ÄËQн†o§k%˜¹)ö2M&¾fÂàNŸ†ÆFàQ‰V½dÅLk5=âv­wðÓrnü&Ã)Ô@í) "ãßÛõá)hŸël¯\²<«Îd— äS»oÅUÂa® +ùý²EMa%o†VGܲ;³áºAÛÅ’È„r7Î ïkpØGÓVóK‚à-ˈý1EÀÎ…cX%Ts¢îÄÿól·:qÀÏþ¤r|CËYüð 2@L<:¿àŠÞCìɑݘñ·DKLKª"<ñß‹—žVvÙMzÓ¾†Þ4§œŬ%ó>îSº›Ô·'­xï3üÆ¤ÓÆÖ‡.éÁéE® ÈÛ;ûQd­*™ìù{ï‘ö:x1>AÅ0VÌæw:¶8b—ðìÊØÕ¾×šìÔ·Æ3¥¸(ÖÚGÓÓdxC[»¤Ó ú²‰²õï¦ê€ÔØåÌaEO7Ø÷jÌ35(çòÄÄŸ÷½ÖÒB^Ç•oûFÖeF®#“´?;µÌG¨PõŠÉYE‹öòÏ,3ÊÞ&¾ÔGuVßÄ\ì·!ÀÊW] ZïIÌ.pZLqš/Ÿ‰sèôGpˆÙnÏ-»1`Ø4k™….ß.«×%eéÜlî,ŸBegã9ú,Cç­ Uz/Ó×<À¬´–À¼¶ÉyQ{æ¸7@*ŠçÀ“1môu¶H3'?¡;O+‹›ˆ:ͦû`÷ßÓ2{£ºR-¶=Ù¨Ýpj»Žé,ä;[úŠtØW¢ªá IûZ2ㆱ¥ïÕdi ¶6qݱ.ÃÎU´á›®äþ^ ê+†i<¸Äĺý|cÄÀý>â×¶$îÚ…T¹oy{£QYTÜô—/‘çßh¹MˆVx]2ôÖpk;øß™zÄ*ªFY¸šYvuÔ,p^»WÜ͘ òÃ<ÊÖªdW=39žh¬\<3ƒEFù›°Z“Ørã}·‰…ƒ'`wHJ@7ðIÖá œIë½n`·–«6,çÝ 'B¶§2þá̽Ðý’rµÕ¥j»><3ZÑ-`2Vï÷åb4Ù;V»ªØrûúüðXÙ›}“î*r8Ź×]TfY“g¿6¾øäG îæ•Ôái.Õã÷!ºÁfØœ§ À[ÕíàÐ ×)6éw’7Œ]Ç  jGº·Ýljå&9&©BG~iÑÒ6.ê©éFÈ]¯íg-9/Ù^ŠÁ€á7ôŒƒKüUÀy%Ôgm[8Ñ? ö14!JB¥bÇÆË‚A¹7b…ÀO aƒÞ¦èø*Š[^“¯.Æë­¬ó[v1Œw\ø{<çˆÿ{’ÊIù·®à#bSçÝb@3´ÈE1¡7Ý;nMÅItÆ(xiiªâчb’…îοpí˶‘6nA2”w ‘kjQÝ.-Ò-Áž­ùo›õƒZC@<«‘ƒò.Ï\ ©"5¸¡wlÅ©_–Írf²g„×ÌMéYSn&»Æ‡Nm>;JH3è-²(`@Š3>έ²HK^EüogPàÌVj‡s†!ó¡eîgDÉ*.¬‘wÜÈ¿u:£…(AÓ´Ö¥Å`´Ò—kÝŽ ÅÂQâA¿‚â’4±w®DPŽº¬Dž¸3¹®r“>%Soéns}ËEc´Dò(&~Æši+Üi ¦ûäyžîäû Œ9>!`‹hNçpM­Yû`ÓÀ^Qú¨¡¤‰–—€Wÿæí‘’õ¬VÃQ}½ï˜Þ†ŸîMN¡örœ6óØ”ßý cï½;È¢ßÄ„B%k~6{Èß³/œƒ®üž¤ºeëž‚ ê˜ ^B±Ž²1¦]N™lhñϵ,ž†Éœ+>¥%=L4ÇÎêω½w0=08÷Ð:3Ï3ï¶¶¬Û^¢ x¿‚9ý†KŠBsðG 4+×ÒP"rün@‚q9*fS ÂfË^ ÅgÇìÒUD«¦v¨©ÍJÉãqœü]“ª§U™uÙZ"†·b ÔWB£Ü¯šÛE󓣃E"µ7íg ì=S£ŽHY_ˆëòh¯Tð$‹LÔ^pvrS;‚{x~Há ?ÃË0ê<ùVU޽¬rÀ-1,fieêã†ϠJ~+åú•ä_bì‡ô¦ªÄ5¸VÅ@žU3F 7XÎÁ¬€Ì›®Ä`ú%fL›ùß±H'k4+LÔÑ"»ý)Ä:f Š½‰ï&¸xz¸Ó›Š×R½sV}qµÂ0Aó\Y+PCÞMÓ<ȇYqF3Є)zRQ³Á ’&ß#éóqŒâìÀv0!«X'Ò=Œ‹yCªÚy½@ö“Þ|¯u½FËg5v++Ht½Žc©lô ›=P>,Ópr‚Äí°adÉÂ'!V<ñNMŒl9AV¶ˆ/j'äc£eŠ1 „çCmá¼7ÌjY%îÌø×M8va?/ÿ›b1yëÍm°ËwCóÓâ€@|e¾hÇKÊELé6Ôÿ¶5ÜxÍ»)×Aö4öaí<xGÕÄ"ÔMHÈ{€Òê‘C*Öþ–&]˜ÿbë‘%4¦ƒAB’÷øåƒçª0úIÊEÏÓŸ60¡èؤbÄ9®¸.Ëx¤Bw€JæxÑ8²«<¸ò-Š&½¬œS9úY=¼À§éÁoÀ†nÈÑiiWUÿw XÒÁãÂDµ1 '_ Å)ÇW)iÚôŽï8aQ-aL¼çúÈ‹êõ¸_bFãÖ% tåÐ Ç:å`Ì‘M?òõÇ>áR€U…öºRÜ×[ƒ%J+„"Ûhä—œm°rw¼Sm iÌRô»­$øK/%QmúdÚ=,[ËÆÏCá'ØÈÖGÍã. ‡Ž#cÊÑáfwXÈš‰ÙÚÛ6[åùàÆLKŸBøKc×xê3Ëb‡£òG><ÜolP¬qK :É·þq˜¼îfm,Ï‚÷'ãC”uŽ´öB¾ý¶¹ª A´ªQ¾TìÊÃx¶cˆ5kðSr)ÇÞ¼ñÛÂkOŒ>±ÁSd±F¾mšÊ¿ŽÄ¹á %öZžð5È™É[†v¥-)miAÙïHó\},Ö⥎ÞsÍLÚZ* ÓÄÑ­CT›ìreE:À$l€0+„¨F*òŠõ¤¼òqü ô˜2ïsgwü£§€:Þx+¨,x5<=MG^â1Å;£”ó¹6ui8òxŒ=ß¾ þYC˜Ë×é€x¶œIÑX.Ä×8–e úüÁr’¬E2Šáñ#3k˜žïWŒO?gDÐÄÇMDI®¾nÓü(«l·%¤²Ùi#ll&ºïé=Ÿß¢jÅ¡Inç­qËVèÕo¢±*5Ý:÷hêkóEb ¢¤ SÑ T.ÛB­u\ „O CeD®1]ôñxw‚\*Ç`RÔgHêÚñoèëûãuqÀ¥r6'¾~lÁú˜”`î!•P“ð'½l #¥ûNWþäÉñ—å 5­¼À¦Ôl–ÿ¨£NHB‚vSë¸91ÉÓØÓ|ó½ j…sÀIUÞocc‘CÁ¯ÊxÏùR²GHfw¬Lp¨±ƒ4Ãø0? Ù^X\3@AÐ `5vªkWæ5x n€t¤ØÀ¯æiÐ>ć®3ù‡g%1aO,¬¨é/ ye¬ŠšÞ_rNr:iRóἩïd¦ú ÷Ï£DuaRNnÉÒVÕâ‚x°«J2*š³÷ñ eרҪsÄ ¡…ì òdÑ1%ñ É-µcÁT¶ŠfFMàZÜ e{ì‘ËÎ¥*:ö׿£„j6–?ê)ïà5uÏh¬¥2Aî |o<äªrÀ`!¬E™&?þiîâIÀ˜*`øî7ã`Ïoƒ@—fHAÓ(zþÓãÆ¬±]¨°p¢޵äM/@@8u&T…ôêKva¯…aãÀ&UĈLÇy%TÃCzÆW‹ ‚TVò`êÉqR[ù[pD·…·V@noØ™‡Ï]È%–ýÏzØ/[I·‹Ô¿¬‹-$!«xÎ’ 串þÏâ(. †ÕÏê˜É@øëKPÙpÜ,þ†¶{VA_ƒ‹P¡5¬­FÒ‹üge™ª®@¡§“$|¿Æ‹pƒÉO ³Mý9§7ˆxA7·=ÍÂu»¥¿iû§æx™¡'¬×.”¬ÞÏÀ&Ð~Â%z|Òka–‘â§·ŠœÙ–iˆÊå"¾Iï ×X~‡ÿtÌÃÌJ£º­‘…Sºa©!ª¿@¸1-V1Nš O¹±ÿ‚űPYk–âqîåšÿÃpԜԲ’ý¼+i¥-$_ÆÝ,”°zZᦰ½Á:JXñžô€Ë™p0¡Ú«ÅåRø¹•?Š 1äx/ì2ýNg2r_{q íÞÙË«N8nKcÏI…ƒNút§¼Œ1+Rà¾åÍ~M}ô ‡›J¾‹GÏéÐ`º­ØB  %©ÖAˆ“G MIíŸä•Vôð´VͰᥨÊÔ1᛽Ðɰqô£®†­Q­³Ñq¿âåqô6Ó°Bt0bY×+0ö=ßïWGÙp}@†•¡`(È<ÝVl)õ_²y-h΄‘DŸçú­ŒKÊLâ%½g‚ø×§ôö¥®½¬Ã'P€^é›v…˃¾®© ¾ÎWï²øÇ$µ¤Ì¯ƒYÝ.LVâa¡d9w´„ó#O§vD4G"ÿhÏN"C¸’û·ü`¤·øÉ!ƒh,8â@o;ò©ÍBh€vmù÷$]¤cPÌe­I]ìÐÙ¾Z)αA†ívLo÷j]ÊbùyÙ«ùT·eúFsÒ®‰ã¸ö.Uk‰[ÎÄÓ°^!H[ÙÛ¥Aa„á¬nˆ³çí !¥óDž"áËÔb"úoleœªu‚ t˜Ar¡ÁB°¢uÀ úŒí ²OK4‹•êy™â3iÅu®xô1«´IÒÍ9«Q3p$ó7%_*¤Ájï•íÊ  ¬—þ-6ùèxì÷ÕWgɺ"% r¡p+«†Œ¡kIÀþ™|`¼= €Vøø(4¸ c”ŒÇµìA9ƒ *Ü•ã´}J`‡b/®´oNRwA”ëú£!é£mÄü§|Р TGá(jTŸ³GZÎB\5+’ù•çÎTu?^-8¾Y uAüÉ ,øÔ¿ÕŸËö ᲃª×íµè8½W:ó\•“ò¬«ˆºC¨¦+ §(qJ› cŠ«ô'Ø­¬–8ºa¥ÞGÏRKb»=„Ò¸:õgþç ð©w§‡ y†Ô©ÀÃV}¨à‚ƒ5þˆßØ‘CNú$+Ä]âG"Î?^ô$ô±*Ëšv…)¯£ê¯òïÜ-¼v¤ µ{–††'þ©Q>õ-Â5Ž&µwß2@­ „Ù²±-?©n±ôø&*Ëâ²ÂD‡U•ÃPóû“m爰F(ÒÝÉÅŸÕ5RTa0œÔˆ77`ù|¨:¥ˆR§––öõ˜Å\ymëÈû˜týÔ˜¦v¨“­,¹•ë*!f&OÃPŒà-.ÅbÎþÝx'åáúŸÿå^ìÔkOó |ò~|WO¿Cà×D{ùŽÛUܰ{é3$âÂ5s:;2³P¡t”¾ï ­˜8E>éU‰½¹3j⌗ŒÓ ž"I:…'7˜¨¼>û[ YðùúIꪃQý™°®æ‘€¨yø,CŸH‡å°]„²aSÕ6]o1© “T€EÆh䕵 m´®q¬}»F\Ò'äG¹n;jÌš‘D;€tf«ÿÒª•S”Ϲü"ïà¾tÈe–Ìõƒ7Ž#XnC ]æ¶0×·*µÄ’ÜÖ\*Tqª!-£ÏÛó/"?þ†Öîq>B‚ƒ0÷ º£v#’Ùœf\{…:Ô‹¸Ñ.KMvÈH¿ýõŽ~ºLêR‚!JaÎo3Nª¬Pê×e€-=…dMßÁ-?ȉ[¨#»s€½Î'‹j¬Ž›Š ×6 {ÞÜ<ÐØûO]ê·á´U¸†Á­Ë£ˆ É,Î|ã›90t±ê^qä×éóek°ͳ8#È¹ÅÆ›½HÕ½ÞuèÌü&›ŸrõÅ=¿ë‘€ƒ¥[' ß8_åêG$¦sX‹Ó­¼PÒÌÁc"³§ïöµdq•UÇ ¿hþj¬q§}xr0óœvë¼‘ÑøSí1 gàS«¯°‰%øJ‡|Ë=§8÷m:¨YŽË ’Ôf¢Á<Ì ô4”, Ž:‰~Рœ"J‡P û^V‘Ä `¡”)‹¿ÙÄ?)ù˜Kï™;_/#‹2Žž¦ýš€=._„G_ÿžßúO,)rE#šO’È&Kqà¸Ü‡¼tÈ1ûó÷ïûÙöiΦʿÜÌ€ºÂ}ö9šó8.¥ƒä‘£m>º õªÁ‰+LJÐÊ·)sl¢ ’JÃôÂŶÝb Øî)1_ˆveiÒL€Žì¼ÂÞ;vëU»½@6ä‰È0…,¾I»£„Ø_’Œ§iǬR¿þ¼™p»RIÌtü0PÉ*ÇTØÞ¨JxkCXIá–º„–ûïqÌ”o®"ªuuõ>ã_´}n.ÖþãèdRÛ55üg¶MWç*ád>°o—‚ÇmPžµòVÿát«™ývËŽ)PÏÂ+eRðÛ#Gu–MÖ~\BQ£„vhOùF`ºéëàÙZìæ®8Ý_Öç¡shi‰:Ò½S_2\ºŸëìíó„s“§ÑsK¹:%8kîÒ¦b7™S¬­¹@8lè µÔ›Ìðá²Ò%§ÔÝxÉi8vWøô2€fø¾IyGÉÚ§,Æ« ´QÕ–º;(œ8ÉÃ9èZ¬Z…Ÿ`Ð>·~Äø ý~Xú#qû‚ Œù™4}~7z‹í5™:IÉelLúRnZ^6Ñ÷õ7ã)(ÀÈüvx qQ§$‡É |ÿË`‰¼÷gY'¤+«ìæeÜY‹1DoUש€MçExåKš*»Þd•ÛuL”Jöá:¸•6 Æþ¿' ¶ÖZlÒQÀgTnaáàÕŸu@C¨~ûª”úwHão¦ß !]òW'Pëuð.ìþ™B;Î÷¤GV÷F|Cꊒc¬¿ˆÇ !}’ o__s7Õ+OÕ [HÐþ«ß[Ú[k¶Ë œf€ÿ0•þS¦(AxÌ]sªFŽÏgG~ßuÎØ„.ÎFöm)鞆làH'“‘CЊ|‚ìŸS'™{@yÓµ‹©(Þ±•¼ýµÖ¡ì]”Y;ذ•«¬sËÇÈ_壸KÝ͉ZÖ½Õ«f·èÂ<‰×‹ÊA‡¢nS#”èa½>‹s—ʾ—§+¯³À•¬u€Äë<ð8Û£gg/’aþ[iìÝÙžkiþ4§ˆ?ÉÄHÏÞ Ÿmk–uÚ / ñëǦ«.Rkªè™Qp(r›Ç\‚j¯ø/ž“(f-ø/ؾ{Ç»wEdØDkýo p ¥f,P¢ß¬fJô1Ʃ݆û2¦ ,BOý5Êëjcºڼ¼„öHÁžªdVߘM3'x}M‚—]nxè„ñíc¤+4˜þ}Yø¹ˆ@»³@bñÎsš«€E¸ÓæM¼Á†¬Âþ#”~*íˆöDš8ÿ:ŽøBª‡ÐWµMò$fåícG¦þ»J#Ukï¥%~ÜåŸ<d–sþ#°¢·Ï3î¨Ýq)yäJZÒÕK’eü–ƒÏ¿Ù¼Nàõ]sÞÇz¯ÙD»Ž¬u? Iuþ:d7{[¦Û+íÒÖ¹+’Ò൧yÈjXμ4µŸ÷“ñ&þ9,ð¾[¨ ^ âwÂí¿jÀá³ÅOeÓ¼)q*D3 V¾žBZÐý=©ºG³T3(0†‡D[ õ!‹É§·Ó¥¿7QøPuÞPTÒÌëà€‰ .§Ü8¦ËN”6ïó4ûÖA–¬!|Ò3‰q›¹Ãz@eß:ÂK¨Jgeà<ާÞ…õÌê ½þÆIƒ@Á¤>T;‹w£·y7 x±´5:çÆZíñ­:䎣&°jMªW-£9(ÜJú/>ë¤xžÛ)ËÑ{¸ü‚[ƒ8„µ¬¾‹ß‘V3¤ìû§m“`ÇòŠ]2ùg²;Z:ǵ3u¯òï7\JÖÌ~`^jÈ8?•m[|Ó7\Ð5ewÌ—ÄHÛú˜¢ ›€^ªÕøcëõ|?…ïñXtRª®¿.˜{cŸ£¢®²,+Õ-J›©òç˜6:Wûwý ÿ#áZ±ÊeöOÀê@LÆ} Eq|`p =ªyggÒ)q’7ò6$ êL<¬‰J÷VÀƒÖþLfd»_IÑ9|YÉá˜1éÙÉvül Þ 2$sÅš$Ûÿh#¾íš…æ)>…1{ç,´ˆYO¥B[ðÒêf ±q†ØÛ±åW¹lòP[[Ær6ÌýSÝd©éâw·ùsN_ä{ÖØæ¶¢†™v^mƒyòÁQ« Y;‘kÎÞ‘ó§¦&ÆžyÖ=Ãb‰=¹c­!ª=”ìÉSì[ïÊV>Ô<@‰¬žeü[]ªí¥Ï"cæ@£ŠJÇÔ,Ó^Û©HÌe4uÙ" «¦õ–úßÐý™ìÎAc&èS‰“E=Ëë×oPjp-ê÷uœÖMÝð̪-½v“Æò$h # y"Õh•~WJGòôæ€ÖP'Çgd‹=÷˼°buÜJ{3r´.–‚ãÅ÷¶ Î_î°ÖG·Àmduû«ã×sh‡>.ÐjXÐ2 ¸ãú<^ùS ÎN+Œž–rõÖŒö*e%Ô-¾¯œÌ|øͽqr¹Qp¤3¥ÙþYÓã]¼Â„ ¤dˆ†xoÔjº|¡}§ZïÏNLøîÛbÖamb—¾´·äÈGS1A@»ßÍ £Ã½@…<1zcbdB!×+?ˆ*…b8b7DÑw]×ßp(T dâ ¹˜Ö1~K; [¸ŽP&ªô®œL×ì$é!ùãå’·§²H DÊÕ‚§é†ókœùYÐ’µ@›NÀ~ª]/Åh¥Û±·ÎÁ¸3ïØr"é9©þ² Ð$ ù±lÌ+)—¨doô»¨ˆ ^lѶJäµáý"-Lk«[î*åƒí±2æé³ñjˆpÚ&ãv?Om`ÀÚ,÷LÊÝ<…H稖~<.Î…÷:¢$Žƒë×ýg6~dùfÑÛA/ÔüÈÃõO6s ’ªy¼kÈqˆ3ÐÒþ)J¨ºši¿hÂVMaê² Ì9T9)w‚ ËnÂÅ×°æ~(/ò)€-½Œ·ó³ImVñRÎöÕõZ¿ÊS¤}:?>¿Þ Ñ×?/ÃI Î^à‘›ãÞ¯­°~¬>h/'F'i?GÚ°Ä ?=¨s°°ŽÀð ÀiŸ¸úã ›Ñè.Ûœ4´Ìöš#ssb“á„ygÞÇÆ®ßÅÊA [6õþJߺ¿F‹©OAC3É Œxzo Í!@‰[åþybæ'˺#õ{át4&‰¹%_gpƒÈ0“§€3›ºTÉĨ ±ô‹'XÝÐc'·1ï³Ü¹uM« “pÄ.¼|iXp&ÏqKž¤ºŸƒÿªD™Ñ‘†»ð’¡sÓ¹VgÙ9…[=Sr+î"QŽ‹ †¯EòõÖ«å÷ ¶”ùĵŒmmñÓŠJ`v‘px|a–ï-¼ìa Õ@µÀ-Iæhi¯$sŸ(7c‚”õëÛÛ(µÇø$˜yó(‚ódP~Õ¼§¢çùݪÍ44&-{å?CÈ>µ”â³È@Ùø°åTh–ú‰Á)guöŽ-Ý„Ëf¬`Žx˜³PsR¸CäUƒìŸÚ„×íášIÊ©üøý“ÂAåc#:ˆµ¼¬È:þ@Ñ€eÀ¯#§À¢ÌJB¿Š~'HyUÙí¿Î(CýÐ8ó(C„†<`Á,1tÔÈîƒK1ý›|w4kuf‰ÖLÔÿ5†äžteUÕ’¯Ó Ì·,ª‘<ï *·ÜmSVyò JŒîŸ0ëøºS¾K]U¸ìÊ,# ÛGßc¼û¯ûZ‘B^J¡ì’zC8ŸØŸØw­Bï¶Y“#I lP|[”®©XZà N°HMŸÚ]îd;Æ8Äs<¡·17bÌ­œÎEؑȤ¬“C»Vìç6ž”æ ‘rå «Ü5îC™ÊÂŽ/a¦‚Ò¾(éébç±;KT£¤á—¼'TôßQ¾…cD¸…ç?2uAÓü_ZpþÅ}a—%~X=ÿíÉÁ}ƒ3~à(;Ïm]ð1¤ô˵C Q¡‹/1 ¼jE38ʶÿ¹9Ûƒ]vzAX÷©›M\O>¹–g.ùÙk?kFë'Ù•®Ü¼ÝÊ!¤wìm^t)„![¢&ØáâúCެ” =ðõ*L¡Pš‡8) „ ”ÝQ*vHâ½²y‰½šè£äÒ1eý0.ž3Ö«„N,®ÂÄG,17úVCOCg†š¯—<(“­Ò^½I¼ž'‹ü–(×ì!ML²Â‚ @!åk?—Ä솔)¾ ¨·øg7IvÝùgáËP4ã[Y!2€þûÑ%œ–ºðÌ>ûºœ°A*~m_ &`gñx_,Õ=­FµŠ€u2ÄØBCœÞƒþå Þ.!0í¦Ó;6ˆÏÃmâËõv |??íÙrIhv¬£6ω9áÆ„®vt‰éž‰½|ö×"Ã}xq½+1ÛÌWÝŸ?®éRjß³Ð2”Ö‹î•6™þHéz¤dìªójmÂàd2Çö ³½®yŸlÚL2–6À5Œ“×›÷Ïdô¨ÞäH·­.Í UmÎ êAb×Ûó8Ñ-¼ú’ôÂ:–ûܽJ@\A©„LàÐWòK¯¦~Æxa9¶‡¤Åw{¶2þ„ê¶ãÓÒ Ÿ¬ÔÐ@¢hFd;>ãOµŒ/‘°T‚îÌÚפ!W#RXUZ^õA¹náZöwøO‹a /^æD‰©qœËnYjû·0}a#ºµ Wºpò^o¦G7"gYJ=ÚqT_Tö#‰=G0lSÖ€öúu·_ëB§¯ú¾ÂÛ0öêz¦Y4ù€Õ>Òó²’wN X$×륎5Ï·ÌŠÄ •åô: nœ|„k¸…ëJ¤ÙµD@›’oÍŒl¹ÒØv¼ë³ÁðëÖ¸$óðUÐH™ë¥¾«Ï®´ ÒÛ®jû1e.XN’öv 1Aô„Ëޤŋ¸o]:.½ÿjÝsÒHߌRÊìqªxÇæi˜¾ÂoC1»Üõ‹KR*…¿pY𙯑ۯq üwGù35õjˆN¿˜_Õ¡I;Ћ¸¼Ä:ê™’÷WL"徟üÖÓ”Qññ%²ký Å-!& Š•z@ÂqÄõ³Ó¡GJg?L¥FrPûÖCGãN•™ã¶S‰ñò=ËwHÜPŠü_YÑnÿÛ\žé_ÅGb¬™áƒb„/ŸÅP˜`ð£_Z#›Ø5¶Ó^¦NîG,˜!KVƒ5ªß/5”PGLˆ(d$iÑ[jú¬Nz†)¼æË"ÑKÖn´¸HZö¶è´Í¸[ã+ƒÇòÎL®ÚY_Pðt;Ø>—¢Çì¨ólÉ»ôµ£ÎÜF˜åä+ßG0«{–Sïæ¨tRE“¼0vÍL÷«S£áänMHzžã‡\ÉX¯WMõ{Ô.õ% _\|iVþþÑl š®[iÜ‘-¡«bƯ÷ 2v•µÓÙéÔ²óNûÿÉÚüóc*–nkZôµÖèÁðÒ<}³?‡Ûü´ö3LøF“ˆSíÏÁ­ÂÝÏBãB~GÖ Ec±gçÿ•†Í fAL‹­qŠ%+ãF×mŠ÷|îhGÏòöX-ÿ©Çñª‰Iö«8¸^’O’ÅŠ(úki^ÿ×OÛ^±vi·ß5<ì¤ìF"&(Ðxð!ô–õŒº¾PüÓ”—î€9EÒh5àÉÿ€iˆPjMшJôZæÜ|%x%Ïœdm]OMjT1éO­ÕÅ&†<uŽç ºá7]¢ÆxdD’ÉÊ{K³;q±m‘`ðEࡉVûøauîÍ2»…ö–4F"ì8«¯{ÓI$ýsX‰nö 0Þ4ü¤h¹*p©sÑ‘êeâÙÇdÜé)P˜¹Ý%îúéÕY×džò<KÜŠ£ œ£_`‘¯ðãËHœŒ¾a—Óö8ÿ/•cLܺ:HÆv5Æ·îHõ‹‚-à´Óì'³¡í„QРà Î ÕsÌ×{}«Ÿ€”´®“ôJ/é}Ùù”jαZ[Rìbuñd¦õ™ç­xôŒ™Þý ›RäœÚë·lÉj’ ÅQ¾ˆÁë4ö"ÑÒ²èhº­ö–ÌüÑ\‘##×u¼nŽÌðóæº´ó{P(Ú-ýmÌÇ9úÓN®zäÄ#®é¸™YÞ3à-o‡ !¦¨[bgòÙ²Õ–N(œO£a¬ò|¥y_Ö‹ã›f-|Ñ«ÒBÒOëuFª¿vÅqŠÙdBEšÖ&Ls?½Hê”Þìèå#9B°Êš?ÐAÈ$´î;?up¯øzjFÚ g²ŒhYõQK¼ÍAVÓÖèLÅ‹\Ò2áæjÐDœ¸Ë«Ëp´H9×öôžO2ÿ&Rùì<Ã×sÕnYÚß#ÑéÀ­r…Šü:\¼†ê䃱Îó…Ïþ©vzxR™½²žŠø&E‰¦ºgnVì&ÐîÚ´ý€¢ƒÆ±µtòNMwöð ojÇ%‰â|kî(àRF•­¸¾hûþ¼´02ôÆn,Þß„Ø-à輡\WúÖ]cÖqûÔ_™FПûçÀÃQÙ;Î#iìS&Á1YM_ÓOU„oT`¤ ±xrÀx×€aÖ¨îá>XPô³Ó•7lpc’V\+R³Häö•’å¹ýƒ“씟içårnÄaJ”c™ûŠœ%Èw·ó-·¿=µ}¸ûçÀ2÷PMò±B—óÀ‹tƒ¯åwAX¢³×E_- 7ÍÉ­Õ†KÐ;ù}í¡Œ$epêªÁx¾å†TeGk8ín§ÆH6ßüÿ~ÞÁ£¼5Ä¡Ï8?²ªòŠô¶ŽGóO® —¨‡=±IîFË>Ïš'#³b7é…‹hÐçõíúÁ"{tëV}¡E‡xdåX†•õz‹'ºo_m”„Zo€ ìɲ6|&hc}F܈¤{6,l‘òa_d0¬=bðXŽ—7.švž‘äI zÝAËÙ§:^°AÕ† Ãæ,OEû^ˆ®Øšh—!+P_+ŠHü÷°øÐù«:ȼ‘hAÑ\ÃG22Ñ$ì%¢ã­Ø]¡Z¼4žd,œ1Ê£„|-Š~cÉ7P¦Ù•Eà#ƒØ[È›WiÇi…¡xÐny˜°žºjË-S°ô­©8'5°Cñ1)㘠ý»trß–Šl†Ý¤šx( UÆ›OE~­<ƒÉß üÖé8¯´…ÐüÜêÿ`›WÛà ¼H¨V;úÁ[^§óTݶ4—½¬úÃ>ý"‘k',eÖÍ% ”Ú¹´†Jq=½ Ù¦ÎA烽Â;\suôdD HqÿjVÃH|ËÈÈDæð|í;5ÙGEMEdMÏ!Ѭ®ë¿ÑmùœláÄ~Rj„KÔdIïNÙxõCT]QÏ=©ëŠIVyK^-LŸ˜\!2-mùºÒ¤Nl|…¼*|oÜ †»?ä©bkä×N© ó×3Ÿ=9ºÕùÔ·DÄWPÁoÍ›y; Ôz-žÓûÖ ¾9&Ú¯ë"‘ÓRÏ/à–TžpþßJ4TÌà‘2Qžç¯mÊ úþªâ˜Ï<×xƒ4ƒ£ka¾CŽà౿^ד¢ÿFº!c3:ÒÛn'„ƒTZjÚ@Ùd¸¶#G½Ù*èRQn‡'S绎Êrp$Ñ=JÚ†XÜ·¡ /&®R›øŒVâD­|L`qACø €Ì§f±KñùHtœMöZÌïÓØ"Ž &»£‚ f¸Š³FÐ>‘,ÛkÕòPÂÑo€ls9/Aû #žQ*›M€§X ¢»ZÞç‘© 5­CÏéú„ƒÄ²Jƒ„„0Ò­ÎùñÃñz&ɹñXß“q;…ô±ŒŸº‚´Ýàñ•C¯jDnøœOL§¾CM°0@£¿¢$+_ì»F’5Ó…„}J\h˜J9r>H šu›ÉÖÐco¯Æúk|ð&ËÚ×f?,%ÿøÙøºÝ1©™r·ºZƒ¤í³„ºš‹%ÚNœ8Õ)½)“¬Ã­ÔÍ:pUØ@“jRó p§kjÝ:‘×,µ¿–§¿²ŸÏ ^°“¤Çó)IA>çUæ=¦ž–M×J”¯x)rîmõ™ƒr0nÑP’ñfç|'K-Aæi…ì4ê]¬ Í^éÎÆñK.Ï@‹ÓWqöéÞq~j)-À¨6zm–J‚ `T¼¿Ÿ¸±§‰·)nIù…SÄ ¯ñÊ1îKW”Ô5iÀýÜAëŠÈ1“OžÎµ½’{)M p«/¿¬~õ=V4ÀP·ƒØã”ô툶ã³m‰ýœ:0°Ï»Ãûéñpàà"`È ¼1m‰©ä©´#z¢>—Äëdé35ÈZXaÌežÉ‚šPK‰¼‚•GEtSŽ?6þ®á?ŒÏ³sP­¦ˆˆØ¼Ï‹9·†'/¤VÑ`X¢êÕfa“&ŠI¯#ʹÂL³)lƒü‘¶ªå"©ãÂè-½¯¾‡I]%Æ""Ê6ÕHŠ}X,SZ –Ee´Vˆò\½  \Ll*‚¾F(’½÷b4Z™"Q–Dm°t²i‰‘÷%riàÑ ¯ùªÄÅ«Z§·tC“CMÌhƒÔÅvGÀk¬+FÉW/®Z„nFæ÷;znyËŽ¬8ù'Óש«o3äMmEjÄr «F޵‚2Œº2Æ€q£N(  {‘>ƒ÷–iÄ ­‚"Ååüàwp ³°p$ú©»âƒ¤OД×Öô2$¾Aósˆ‹Ú®A’·ƒlœ%¢ñíóô§nß)B=û$ÆMòF8õamð&ë¾ï÷ʧcüÀa9`œ'߈<þ³öâUj’*ÙÉéÇË¡6ú¸y‘ÀËnÐLiPÑ´å9Ø^_J2m»©Øä˜o×SŸ¾ó’¥"HoŠsóR„û)AËMÊf²˜ßtnÆtÞk‡‘Ãa8mDâtÍ+ð8·ð²’3¡ó˜Ò3€þÒ¸W¸‚Yš‹\DÊð}Å‹jÊá Lx¾~h³1´®!¾}£Í*2MÁ}àU.UÌ‘þ: TÍÄê¤êësKïïf@NbWDÖÛ`Áú{ùIù!sÍ„\ ×|nˆ‡ØÙC«¯ÝùÅ4¸c§ê}‹7ñ<)ïG¹:§ ûMb(æóš£o»ÉÏ3Šô<ó﬎E}«°«‡‰|·M¢ºJgF2ÆrΊšD xäÅ0±oÔ—6擘t'Ÿ·FmSÕÇê=€bŒ‰lúÈ\ŽûƒoU6hŒH^ñ>jÃÎâME3GÊ=€ÀL#”bzgÅUË—ì]bL ¯òÍë[ëÝl•Vö3E¾§ä¬À,’¨…%}q¡:,¼Åfʹÿ![XüC Î&jaÕ<õf‡'p‡eÉxúÿHá•y¤Þ¢¸ñü@ã|&š"ÓÀ'0Våo|ô¤šðDÈ(øá4Më_|ÄïƒY(¦˜««ñÓ3f¨e6.¾™²söu–]ArÁß½Þ:tó.…pã+UBªÜÜo3“ym#·ºyÓv ;TàíßöWÉnø2Â@íZx…ôyTaMã¹o=éu*"w’w¿Ò8¾¾ysý–Ïp “Ý2h?æ/eQGn;i\‡ ŒŠ‚Ó+Ž&Oí Ëa#­X4Nu·MÜ<,u õ+É10nÀ¿xÐB†}žé-ÁV»3åt ³±ÊÊ/˨<=¤ÍÕ׿§ù¡ÖN$¦ìÎ66¡‹þ1²<Ð7ÿ؆‹ÜçC¼:8šßÀzåÖ¹ŒÇ›Òƒ2¡Á±ƒ?JoÉ éM³ÄuýêC'_E1¬ÒLL ¸)xýFüºfGntÑcj<À¢‘˜MÜü¹2#"K$;¦È9q¸C˜$⤪¹ áÑ¡ã¢èÍZ!nC©u'3–§ÆªÌ²çø\ߎ(ð’7FÌà¼øöL$ÎÖbj¢ >ež˜QxwºE DÕ¾?Ümˆ~³`¬”VÀ¶ó"ž‡Q걿vÂ4OE|ð2§*#êKdZKCú´öž¢ÀÂûNóÆ“GÏ?–ƒÉ¬/ =ûŸ \KçFF £´©¨i/|Êð<à1\Ê÷C«¿¹Jaà6jY5”ÉCX(ìëArÊëî·Vß 4ä‚â™eeubyÜ:Â\–òäx64'ƒ1otWúãCtEè¡Êžî¹@žsÆSüôÍËo"."§h ¬\}Í;"¦jüüxÑ-ØÚÏoš8<+%Rá*F@gˆZ%Ë?W­ºlù’éS U$V‘E9ÈZÏíˆEL(ñ×á „Qýdwª'< 9£­Rb‡rc¼ì Þe#–¢ÊVÛäAÑ/žÕ¹Üʘ`WÙ* ¦ºr"üã@­ —í/‚KsfWÚëNÿá‰)èRŒãȤÛ1É©€Zð\øÄøUw'÷óﺒ{Läç°â%_fPtƒø£êXî­8 7íˆ|ÐRì2òðòøtr2Iº{OΧ+àÖzØ'#wjÑ­‘´$õl!ÄB¶¹?ÞÏ…Vø³z"$HÃÛâhû™™Ë,˜:ÆyÓÇ%VËZVƒR j[Ô¨ÿºð’Œf…áò³mí(çˆ$Ã*h¦tÑ»S¹„²^ŠúyO¶} â‹ÇCÑ–ÛþFt èkœ´wC ù#<àÙJù.õçϨ §6YBÏRŒL~Ãü&޺ƒ.x÷w.ð»!‘wð-=ú%+@"0ç#Á˜ñ¡Å‚w"û«­G{Æïà·vÀ3ç´IÒþ»Äm¹ì=qð<C?ü¸w1¸ žäÎ Åi‡ ¦^‡âw´@v/VeµÙwÖ°ÞÊÛãÐT(—lëÒmN ¸Tˆ®1ÁÞÿúý'Òž´ób ¶Y‚öˆSy‚Wä*, £‘›Rsö|ËcWõdÜX—.Åá“ XêҦÅMéú¦mZ€;Řp±Gøë®Y1—ÆÔöL8~¦å’U)qZ3^ý ¶²E²†÷±®½X@Ig«äÝÖ¬ Â34 ½›ôè¢däïBÉ'mÍ^íOh¯‰s+¤æSØ>Ä|Ô‰äëQ›¼§–—Â_Jý»ÿD¸‘²JÏ?^·s¿¢ùöÌuÓß_¨ªøh€÷úØøÖ_F4qFJëèD€)0‹ ë¢ùpJÞ€ʯ€˜Wè9#ÎåxœéwÆ~”ºÔ¸:ƒ@îèï ¶ªK‘h(ìJ9ú(hê5À«ÛópõË2«†òÌP~V¡_yÆjÕ|8Å•:j¡Ó¬‰‰/J´7’ d‚²ÞÆ%•²4g’q54sàŠaªgL5«Í›U‘žæA|YQ´ +!`§ñ»ò°)0ÀüHà’¹äçd˜x°ï¨Ø½¨I$O@EÜfºûѣÅò¦73[;*ò%Yjpá, ¶:°äˆ°÷ÚNVÖÓÌTæAРÈ.î@fp€$!bPà1_yîB¾¬nÊ'( ¡ÉŽL àñÞÜæÖ&}ú.jÐ…5ðå³éÎ1(c­3€ˆÿ§¹GøÀ\"óK(Ÿ8mƒ ×îršêÇ{f'Ž7wzs¤Z¨ üp š¸rx´°þ/v;Z¯æÍºrˆ>‚¹†¦Ï74à—Æÿ-[Žs›eRŸ¼'ã9t;›Iù”Ò²@[¯ö›ãö#·²[ñ`«¹õr#7»¥V/Ç3 ádÍÌóº¡Ê‚Œ÷7ã—ûÏçkž÷ €Å5¹ÆNïš7+ºÊ4}I…'€­'‘£"kspzÍ#ü˜gWÖƒœº? ,¶†H|Ñ'^Ì}¸ë$LBb/)KË·é8³öθf£SŠ]wDíëÎ8=«)Ïx+åëïx"ž+ûZxm§(Ãp´—˜®Ò|Š»žï-f"¡o]¸†ÊñÝáÕÍQÖ¼§D˜Çì1oØx미ð)Üï©´í0<Î+é¾s+øuéÐoT=¥}L’{Ó•óè×éœðç`õ,b!AÛ¼W¾v#2¢"‡‡zÔRú³²:E‰%_}MÕõ%4ëÛõLÀxá•+¤QùÒºÚ~åÃjÒ§¶ÑïeÉmžî’îðP1Ÿasü»Ñ¬ö{VVsÅòòéìa'a3âZ‹³m üà'ršø$ìeåÐFP5þ¸©5¦ ‘o±~Xñ.Á‹´¹ð[ÄJ(–{w§@Ív÷p%êa¨©6ªa{ÒEWô„ùÚµ5ÿ{bùÀ»Ni„ ‹'1%©º[ œQý‰Øš‚UxC‡ÃpÆZ8BôL$Z—9 ÙO˜âÜ4=,ëFƒÂ¼–÷ËíËSK‘ì;¦\,gýÇ©›–Ò­Ó-”f{A#vTÆ7Ü ¹ö×±2:–Â([ƒ‹†E–¯š~Lhìžk¹í ”Fbí0T'À4¾8·Ï5_ hÛà_W–^Ì×Ê6L‚ÓâI™,Ýê nÛBÜÀñ­7ºaÕnZTÿ‰WÊA !~²:áçíF’mÑ}xrÙŠQÏ›Å~†Ê@“V’º亥‚zX]!kÀ)ÅÀ_y­±Ÿ¾GB´ÓI…Ä»‚ˆÑ¶±ã=§ÈÄÒ4”eÞ*Ò¾‡²Ë—Æfò1tàk›Õ¢Gyß–³Íbqf6Ç•“ ÓHÁ4|ÍOe3±ˆ«Ö;:ÒŸ‹"2t4°´;+%Vɽ:¼&{UJ@v¬PÆÊ_\Š€ù-Î@.ë6Æš3¡áîp$Ô„üF)é^Ãõ±È Ü !,ŒÏ3Âcº„Ž´_2®D°DµØ¼x©P\÷–´h4¤Âã1žŽ—¦Á„ìËÌJÃvTWÜFÝ¿“np%ýç•X=p=êÿæ?ˆ±Œ+)ùΫ]ª…£RòÁL= yÍð_T‘‹8G8WÆøªø~æL/i”š^J…zr²„éÑ¥ŒE³^©°é¨Q—Œ2Þ ¬¦–£W¬÷OÖgÜvçrØz«b6]þI}£·5¸ÙÇ?§;¶¯&‹ =Ü#ƒÍ:,òÙA&¥Šç †Ìø±¦—N§?/Uc×}Tö¡÷_”É] ¡§µ]qHÍ4‚'Lºò=ûK" Ø»=ÒÛf°Qb™Ë:ÇE ýÝ7·µG£ùÿ¸xøqbhdÁnÉxu+z‚ÓTŸ¶†z? ¨r­šÂ µ„ˆaêjý,Á@ÍïÉò3ÃôäçÖr S‡°n¹+ßoÇWXuû-ƒ#ˆaÒ•¸N8D̘>xé@¿j-Ê7ø”bÚkRÈàÉ­K0ÜUL=2=‘S?rCÁÇgû¿ÈÕË—ýí[Óš| ÂÖùrm@#r_òj¾°vœÁw{òÊõBM}ä.7k¨¹¯L¥þ%*{82dZ]ÝjTRi(6 ¢‰z˜úyû›ö¯Y@cÎ_g¤RW.ú/Ó§}ÛgU/ŒgnK…ÈU™Á“+0uêÈbi½,è¼WÓ4ÚÑ8_×®Ù–ð{L|øñßusæöÝúŸ†à¦ïcè!›ê±O1h0r²˜ëÕçNÆSœÆ#/®T zú{ÚÊm“7Õžá.}æ)3žÃŒ+Mö=˜"§¬a <õQ&8ò^Ônëywµ/ÚˆHÔÓ0æVÑ÷äuYZW‹:Ô•ý_Š5ׯ¨¤¼ c"1Ë [ÝÜím€Í®¤nÍm!uÂO8¬@ú”Q´á‰^Yélj²#qã{íÇ8ßßÈ¿²·ºŠ’ÿ®¥7“…Sáq‰Î_áwki¹7ÞòöOáE±ûÜXd}¦¶¬Ô,WÓÄK‰s€r¶r,È»<\OÕ§S¤ j%AÂÉ*T¦êáÖy˜¯âá~…wa=ïTÙFT¯ÖäÙ4‚–‡ºe–Š æøô¶Àxï%+Úß°.imÜßãWÅI4üçˆ!ŒHªS­ir”ÊOlt6-!pt]'OCÍÞ(Âd’T˜46­ue–ðUÛ7œLÞB7|f¸dp÷T®›0£Øú˜ÿÉ•hLåZït‰t…­ŸÔXûG™D·ä‡ÐñΉ²ñ{)>صà ÷ hÏrÛ¡ÁC‘ȰêFMÚ‘¦±­Jãý-å½]Ó$U¸aäá¹ÒºQÆÏó=Ó GäÈ~ñâRQ /è™Cx玓¨z5ŠõjÂë^“ƒ%E*õ–Æ¢šÉ“¾+ž“nQ°4Þ̱/²Y±Ý¾j0„» ¶eh .Ö0‘8«0®@ý^BgÜë™B„Ž}V·|â0œØ•Eøë@Ãz.ÌFçÃì¯Rw^ž¢MòVœå3·aRÐ@¡‡~¿úåM '•]‘}ƒ¿÷}%]@•,ÓÔ÷R)¢Fu@Ãâˆ}ÃJZösày€—õÈṙÒ-±5Td—Ÿ†ü@û¶÷í­20£J`ËT—_ã @ª a èò«ÚF[|aÏþa)á¾³ãß@ Y¿ñ®333@ÐÙ­î Ø®Ð`Þ±v€'Ïœ°êˆÛ$T:£Ú*8WÙFÎR´¡mЪѵ”;; ·/ „´é¨…”صÏT#. Àm± ^žŸh :¸ì)C’ŽŒÑë6G·º "C]h€þªŒÍE „qÌ uªæØçƒ$…B»‚/åïè~LŸÉ«‹†L¶ Y;;ý‚%–’–+ºº„Ÿ’Nâž°Be8)Žº*¥Yrƒ>ß1ÖÚC¯SKögߦØÒ½å7 ‹â›‚ê—¶¼æ²,Ì=õT‡€Y¾Ò$–?:”›ÀÕ—rÑ{=ýó˜¬F]0‹ P‘›Š®¤WUÌO®GœÍ€oZv[o¦ø·ˆó|¦9éªcŒ7Ÿ 8>ª$ Ébw톤 €{Üü¼šÏ„2yD@[{À6ƆG ¦ƒyªë6MR~Eݦ“8wÕZ“-ÌøÊy+u®ÆÈðV?LÞýÛ²JÞÌú¯Ò><óå,‘å@Îú¯á‡š¸<ª>|ÔòÔœ;žŒùN°‘S¡qTùÉÇEǽw‹ª}|ów+s•:y´ƒÙ„¦Ž"pרÐÈ¥·F/FâŒ:Ù/¬µ`À­úÎTŠ)΀¦[|¼õ¥äqpNˆfèéFs03¥j‘s5ÚŠ—B½®º©+—£Ÿ±ÒûBœÒØš Îr¥K²ù½ ƒOö—qâô?ŒËǫ™ @ŽŒD$“?kîDnڶܨS6 >ÊžÓwªÜWN£<Øq%÷Ìö¯4Àƒ/œž¬ª~(ëgÞV^sÞ@;øQ7œxf3yë4~©´3°ßᔕµ%JܦòycKR±÷/¨²"\mk‹­Ðô¤Î…£ÀhÁÉ“S©ÃP b°u”^ùq]¼±¢äŸçb$"ÊSÜÁö? è27§3øÿŸÃ¤†•ÇÓœ//L­„>¬÷òå‘“ÉU®°{À‹Zd¯ÔUNÝÙU *Æà^ŸýHCn,éÄ76%gOBþy¢ê}Tx ðéaÈ Ù|²Ý³¦ òL\•­²ÄT`ói_”¹Ôfà¨Ë2¡µ úÛ=¼ÿŲ6ðŠ@…#óÙ=)ueÁ2]•*ÖØNà w:~ Åõ b’|¼×¤éè lS=Ró:«ø:<û>Dð˜A‰Æç[')”F‹ÓÁ25œyDá‘`%7îC+쀉\Æóí:'ÖZVbo;ÆÆò^ÂlH1`Ò~tî|t^ŠqIñ8…•p É ¤gïQy9^¤a ½ìˆu£Á@#Œ%Éú4¨5oùÀ™ä¤ÄçV*UÛîªËd‘‘~Ù™>šŒAš1kTÀ–Qxâòd‡TòÈ­{…@þýB×ÇÅ€bÍÝ»dT‹…ê–‹ÿ͹Þi¬‚ºàÔaM Î2'ÍÁ µ¹w!ª¯çLŦ âôɾ=P”Še~Ö8Éù™3ܽ²‚ü__ç[_ë  c ðuÕþªŒf9‰PlП&à¾U>Û I îsôÕ"Á²¥Z%–ÙÛ4ûÆzp‹ƒtè÷àˆ,"ô ϲ¾Ç˜Lnô­:Ýhcí¹×ò;j4¬íÍÉÏpœÕZ(Ï!ûRP×iIϤqs¥/Ã:Å‘k"ÃêºWÇdJ²DÂÖ¿ $—ðw”È Bó˜ÍʆJ¡Ÿz¦Tÿ‚T´¸"]Ù`4‰YK0ˆÓ™5<ÎÒ´ÃHCo—a¢ ìatá´åð­2²[¹&w¬lçÔ ‡ðAG{ ^úÙÑÂMài$ÔM4kû¤UŒ‰?h‘j§ð2t<Ý ×ˆ ³5Ñ™&.-Ü$î½·Éö“ô“A·¤ó x…)náOxÿË?#‘ä™o9>î?‰Íël][n.5;…‹þ‰¦Y,ÞX®ML bJÞç6~†è2Îù+¢—ÕEýL4ˆþ Mc:öG÷<ÄM| azp÷ݬcH¶i;D¾‹Sd€ðäÀmyÑ׸ºM½¢U¹aC¼†ÎÈ#ÊÍŠ KŒ†q$Ê£ÖÀÍT6¶­è›‡æ†³cL# `|Ùב/TèLµÊ–KŠ·ÃÖú   @ÀBòo N‡í áÑéùdŠäJŸ…oöÙx‡±õ~3ÔMŒ£ÝLyàIµKœÛ¢b/ÖÆ®&^hÈ{12ñk-WÀ TòoV.h—–ÒKGòó‹ýS^§ú´ùó£ßŒé yG’+èßð9DÍíé5Ax1©êé1T°¤œ†åSñ4eË‹vOe‘Öªnï–i9å±=&#Q;nëÐ× x Nf9°_àŸ$÷쥙EÊ*:Ãè+¬ë¨6‚çÝÞÐ÷ì©ðSuµØòÑ£uÀŧna-ñqå˜,™ey5|n$Ào&Ü?d¿2X¸PÅê{ñæíïînÿ'$IÕ;ïÃ\q©šb­­Q½'M)~Ï1í´çlì'ÑË”†ßñ¬m˜ì;Œ›«õL/üDk*vu1‹/2ÝÅ¿d¶ùG¤X³AE¹g „ž;9=$žf 0 -5)ˆ¬(œƒAh…¿DžZ\¼Yîu*4FÏÑ€†™Åô3“ –DáE³ñ·è£T/lV.„Õ.J•èðÝ$}dÆí L4Ó)o Â,zb>WĘGâúv”"qª÷Š®xkd5ÈS»©<èbã¾H+€ÌÈùøleXLï üíûá‡ÀríŽÞ½üAªÛcañÑɶÀé§®}ýlwÝ¥³JŸÕôÔÀ@\•  èó®w¤¨ÃW Í©¡Æq´BÛU“~ÆìTpK¿ü³ùn¸î«à|£ ºGM:4l…êƒ:çÞ¨ÓÀiK¼õ %RX˜PtG77MWÀ‚Éw+Y§\ú˜8ÅàÌÂ069žÜï½êÕãKöÔbŒaÀÎ[°:ÆÏM¦ll²M-Xåí£€Agàf¨î©ý¨)bD+Dcô!Û¤3\‹mêBÖª%;N²LƧý ÏØ¿±/'ù¡hQÛi i¼ôúä±Ï¿xÆHÓoÞ¥Ç>v()||p~o|‡ý “s&³õQÌézïWø‡Ot½;ϣȯé"«çÕ¼ÚzézÇœõ­ )öµ`ÑJ™“•<ó¡ý …Œ&Оu)Ñ–œ¼åÄAW–qKRTëV.£lÙ.àA‰dTtÆ„ƒ›YH@ô?äšÍ{úŒBÊR¾4ñ£ŸP/."÷k eJô\ž£4`9b§ÔËŒW6L“¼Óy`ÀŸ‡” T;Æ÷þö¶}ÙýLe>Ò${€ã—3³» §Ÿ ¶‚â;ÏH+]K2Ü~Úœå%,g˜,…(”¢*i¨àNrö.¿¦e¼ÿÏÊA`î:mð4ü[g('ÍÕAÔßè4yŸ ô ´"y,PH rFýåÂ}A¨ŸlﱨIŸ¢8h€ªæÀãUœF—Q KñÆ 2Ζ¶|X­Tãµ{ Ÿm”JCaA ɼ12â¯ÖŸ¹IåŠZòü Âgl,½€×«ø_ [`ssfiú2V)Ñ8ªƒW¾»®ÐÍÚäS°kúŽŸ%ÖÁ“Èt°PÉsY³+[ovÙvø€ë½åÎÔìCГ¼ ÄLOD&i® ²sX.tퟻWÁz-Ìë#â:»×DßÂÁƬ-ÎçZOÐP~½ë³Y@; dÈÜmSÇIýÎö|V²Í/Aø·›'Ù­ÿcïÆ ¯Ðì&7ÄU4ÃGH^¬Gn‰ ÷lí)Žßéœ*q¡•ÙŽ]°F-þne ¨±“"—æõTCiŠƒVR¢ïKÊÏ·-­þ1x~Îéœ÷š÷¸& Ír“=LÙ³NƒšŠ_þ©F ;zN?|ñÛ‘ðyXk,ýœW¾@1¼ó#éìAŒP÷€»#Öµº"È&7ý¥,Nõ"æ@¬3Ȧâá¥ø¶}‹õšÖàMf~rcìE6S÷$™Ô$X¼Œ’¥cÙã¿æ j±dµ½sœE'Æ%åA óÖ/Ť ·é¬b–½K8¬Çæ½µyj Óqbý6òQûÞ†ˆœ éºÛ‚díì½ó©>hõÕîì Sل̱y ÉŒÜ,Ç7eB¸ æõ¿5m½™% E}$–ýÍ(ÎÍqy›N,‰ÛB%ÆÜÌ@¨_ªu’Þä”Ý4yòñ¥ÍHÑ;ïa…€obôUqI²»M׌€ÙGé@?sO2Ü:Ù|e"Ñ*Ç'„N¶r¡%ýŒ`f/$C¯€9Ñ,ö¾¸Å‚… ëPá€éEФÄå§±¤µ8i\vÇ7Á£JQxŽŸ¬ŽR¯Š)¾{Õcž(%>þøE)ófÐ…¯o½VðßK´.B LÚ|¦÷/ *ÕûMÁÅóz¥ÜãR,-r²¿nBŒû&þgeÛ­_4•ZG´ïõ¾‰Gý%ê0­õ¤ã"úBç"ŸÛ«ÿ áØÜo…²Vx¢ßÚw¡ÄÈõ°ñ$þ…3F<ˆeHâÌHš+ Û$}uÅnÓT_¤EëéÎë¥öÚÎgµWÞ|­Ê5;~€Ÿìͱ>†4ÔŽÒRk ºnöPKa ÝcÞ¦ F`éGQ]–´Kwkãêë.•»¢ÚõuØ4]8kÀẻo™e.‚ V[!éÀ·JœØd‹ßÖ#fé›Ë"]—Ä0 ŽžÇy~⃳ŽjX¼@;s$‚÷Á—÷~OÿÎL0NΟ)ÿͮق…±?»|ø™ô gÊÖÎ…o‰À3i7)Ô‘é¾<ƒ}¸+}TÞšÖ“æK”{ŠCë÷w²¶ÏÌôXß¾cÆ£1àöê¢>.$Ç…¤]PÕ6‚ùtŠÖÇ/îºcµ¹ {¬^?À ÿnVåŠINê HÁæ°l#°­‘q~½HDz-Ÿ ¬^QS™E ‘°`Õ¨æº=“Ý0F°ð©9èé!}|¿ivŸÒ[§¤$öùLõ2tÀ5T%†þ%ð¬…N×ÝùÌÿ´ü<—+‘½ÿ¹ƒó¬f2µ„‹Ž.D@µ‰zâ|ëãÓ.ÿ nô­'p1Á¼kËhľtÒ—k¯3-ües`.–rü‡_¼ÍЕ‚›ÙÉÇZ:/> “0œ¢­Ç¶!Â5H4 ’Ñg X #_+¸¬“ž>,q:H×߀Í4OûQ¸·Ïz˜²)n(;^ Wu%žx$ѶxðèPfÁzÁ¡ñ¶Þbƒ_?œAåóÊ¥åPC‚æf7azмÔÅ…€Á¥Ñ°fÖl88y¤™äm@²&L¥÷¸É–‹Ls­»ÈX3æu»]gùh&®þö”ÍÃCâ çÅ"$Ž/}„ 3—ì{ïœbPœSžàíES2èÕ¯¶Ð’ùO®A×Ãd:¯VÇ€Fñ)2 Ñöò†LÐCö<Ï›¶†œ¾—ynfE“¶å”ÉlÉ­¤m±S#e°¹JÛ ˜¿¬sLJùž³4­¸ h&ˆ¿*;>IÓ÷Ċ3S¯Œ›£]úÁ@ò«]¸AxÁ·mzv—3 òÚ4°~î¶òíì woŽ÷ Ý­8e`Ñ;úh á04´jFLßU[7IE\2(zbÓèh[ÂO4eç žAÓiG ûjTø S-Ã9÷UqjWC<à­~NÎçAˆ¹ú~4éŠñru;Æ£c=/1bÒð˜•Gͺ‰º_²ÆÊ ÈÏÀB"$YBæÙocŠ7wmçÜò¾JÜ ] tÉ·ŸÈGæ*:¶¢êïßüXÌëñõ Á£ÄZÒ0{whÉÀÙ<{“ô¯oŠF¢°m¢wª«ÄüW==ö÷ù3½4Tæß¼AêññåVLóäŠûÍ×øâ`( €ÛÕu½ #äÞêeCN14Qcç@½a+P1%ŒÉÏOºsÅVô·=Á!+¬$6uÀ‹ŠdÆþ$Ô—Èö÷Šm{„nV]8xŸ[)#½VXèêZáHD R´ÏHcq .ß‚üI/ˆ­¥ê’?ÝɲBgªS»>ÚB ¢õ|l»ô.ÿ€x Ÿƒ¨I=òuÊsQE‡B„4PŸè‘C¸²7f aX'Í•&åº*-~`<êãC~kéÓÞ šœâ®_9Ö¥Ÿi"'¯ï õPÉÆ‘ ©é öoð–Ö¿ñ^†:ÓkË[ûØÃÝ–M[ éd²VlûýV2gm’,媪Ž{ܨ¶–Ôå^ÂÐùúÖ–õÕ*Ö6ßÚ¼𦘘FÆRx±=¾âžaš:þ×\õŠl™>PCǵ!]Ó£3¶rŠu“=7p¾P:¹ž\?f8K±¥ÔLâïO¼~:U·}3 qÊ¡Ÿ¿À`$¨ü¶ Ò‰uñ$÷ë1ö⦘DuiÜ)ð•Ò4ñ&xÆÝ|2ßõ³à®þxä1ì¿·WÆÔ€Ççœ3iŽ÷\÷2~qÃ\|7tE›¹ê®ô™ƒ=G=·ôX&Sb€9%ÒIDƒŽ º?'{šG¸@„€Á‰]£ÏG£7[ #9딇 ËÕº9‰Ú+¨«ƒ’˜u“H耒½]2¨|°3u_.§èÀ›¢\+G¡P³™ýOEÊLëÝ!D%Û¹èÀ}¼njKâ§M7½÷sõWrQÖÅIz{#¨Ú†CÑÃV°CÕ—Ÿ9ê,†Arü4ÿ—.²&Ýlÿ8IJˆáNM~ÊOÙÜmï\¤Óæ÷±øœ¾z§%¿4Ð(fݺþF¥ ¡(®}«suµÉ¢c›LÒáâ¥%a*ÍU²‘2Z ýÍg!ÝBeª˜œmé]:VâêB¸…SâzæÄ;hÑ ¥ã’o8 ý!#(Çy)‘¾†î:D7Žßô^I¤z½yWVl5…òzôÊe°‚ÏÍùzè­69ÛrL~Bm–=±½£r®mŸå 0¤SfOŸð [šýŸìO&tWH‹*Â4L²]ìä3~¢Sù%\3àå¬ ëág©ïi]?à-8”.eùd¾õì.¨g"ɾÞÉ%•Ì_H“ ¼“(ɳëÙîk]Fß–T£´ÂRYðœÄO²…Åæ±sg!¹t8’§è³œ»Âüs—/Y>´h`6~h”vË Jºx?5ìæÄ0Y‚ i—½š@SOö'¤ù‘Ÿ–L;\÷†DÖî49¶h â"*5¦‚t7çЪü¹;¸1=:è(v·3›Âj¿3íÔ%Àf¢iL1T{ðÿ‘€† ¥‡™bI0ðÆè¼uÈðà˜· oïäÖb—¯ð§”P@l¢WQê;¯z,–*šÂ€üÀž£ÄhmÔü¹üð‚Ñ)—é¹|RZKÄ“]ó)6¿d.Œ)fôØ_^ÜúÃÅŽM!“¶Ò Ë«Äãc4½—¬H!ÓyÀ!µñ¼5746 ³ ûª>æ2‡QZ³ôÔÙ)0ÇЈ1d%Ô…fÅGöaS$î9¯Ï6I²NQûl' ¾!!6 çîïùz¸@ªg¿|¨¯nI‡æ;ÍšzbáÚ‚6¸üž¥DÛÍWqáxåàŽêsl*J–<`¹¥#DMÏ´ç#J¯Sßaµ29P^ uÃEßeE™–øëÔ‘âHxzËH øK%Kɺe¥Ë +Ç-:èÍõ-õ¦,_‚=·Yà6éqNöxø–Íj£Á.;ÁÈHàˆ»"éÞÀMÎ)ëJ÷ry™l.͈ öCÒ‘%1 1 }'“ì¡§€8œº_&¡èÏ>6/\‹D2åÿ©q‰:¶Aú^]Òç- 3Õ³8}Дe®` øÎ{eî>VE5üÿ%b¨é)'rGn$YyÛo2¢J–>3’rûûÂSÎ ^ ÛÆ]¤ƒ" ìãTØÝ{ÒC; ãÏÍ å‚vÂS…Þþb€Ôvš/zfPˬKL»Mì<9íÅöCߺsM”\65Âi &{“¢ÁòWÙ´¾¡3Ý¿ïN·6U†T‘o“bÿ°RAsV’˜æ¢ß’ >jüYÌY·G…AÒs¶Þ©}K Ðêßå~[=yŒ³Þ€àYÀ°‘[¯¢Õ´ëŠõ©ÃÅ‚ÃÉ_,*(A9ŸÛ¾›8 ‡ˆõ»Ówº&Úi÷}ݽu_ê¾ruýó¼¢Ýâ w*x+À“û&­c>ÒúE~+ã M­T‹Ë…äwQù×bîáW(«í:ú°v—Ò³¦áSŽ(L:\µÄž]=EÏ zs6úÀ½Î h'Z¯¬<+”ȬUZ‚ŒGHB‘¼-)Ò?è}ÕäÞ&íÄ‹°d'BG½ß|°”hX¶RÙÏ Ôìt€&«Æ"_5’ýªvt®ÛØGYªY\åjÒËæÊ¥©oz¸}ñg¢ìÅ ¢_iµP¿ëNG59éd³ß7óÚAŽÎ¼ ›Á]§Pæ"`FlFï™Cü6ÖiSñ5¤$uQvÁ‰‚`†ÈçÀÑnâôð` Â$ù›{&qf£oþU¨Vá~-lè-O-žÙýÙ~ÏOáŠûXùÄ'†%}¾ÍÀŠÜEIõ [@q˜Âbmãà³hö†»ã¤û N_†ÆŒÓÆ\ï%l¸¸R_e—Z±h…J ×§¬ž¨ñ ‹L‚)05FµâÆ+DA—ÍyE턇»Òªå;{‘CÄ©M 9`®£ÍÑ—kqu¸v–äLD‘§–øwEeR.3M?삊¿ð-ãAçp£ s¡gÊ*€ÅWÎ…§æoT’[füÀ4i6(PÉÂ#óD ixõšnW±þYtšÜ‰e :&Aöïìí dvÝþOjX(NcAÿŒ¨] J &v«™Ùyà´íJ.‘uØ ixs*hZ„R¥Ã´<Ç•“1ß§œN·Jäí <ÜÈs\KxO"Ä€ð³:ƒt𙊸©A«G‰vâplÏðéñB’O¬­÷b ù‚ë ‰ä•MËÄlàå8l´4X†0Еb<ºj˜?ŸÊ³1§$Ã_›-µ,H?åÃÄŽþäŽbáî%ÀäÒ<Û˜²ã Ù½¨›¼ ehÞ34>Ú¶î™éc 'ÁÜÈŸw‰Tå⥛‚æOÃÆe2óóùžìçŸoœ$ÄÊC0‚|!L ®Pôû‹Y%„3¬yU2ˆíñM\ ý]‹ LÖ ¬‰3Òàë™ò$mt×Þðy›Ñ…¾P¹*Á,³ 0†Ò;èI©¦>õúܬ…¤.ˆ ÒbcYÊq»M…BFBvtÄÆ ï…ºQË$>p¬ŽBÎh3åxÁõ.qNR¿‘wŸ¼#¢~í—ßǵ?y¸º\À¡ïŒ{¨¸œ%õÝ é|Al!'½Z%ßð’ëà´Žˆhcyû{¼eìN 5l×Onþâ/žKÕ:Õev—«ßƈlXð¸‹ÿ÷Œîà)A]ãFШ5T³Sq¹F P®Žæý èòÇîZèþî}z[ã¹[p½H5Ë{X°Äºˆ°±ƒJQÏvöy¡OôÔbh6v& ?À +o…ÒÌ7‘`¦·j*»7¼¦–êøõI¤²z­£¸‘þР˹$.ó%ˆ¡”<£>ªGQòï4˜æSEÊhÔ²?Ñf)Ûá¾:Mén×"¼&JK-¡çl{r Úý^Â%0 ç›û •c¬4ÚR)4v•$jÀ4’˺(ßû|O¡KEN¬­ï,¾ œ•¤'C|çŒ óY@‚Y–ø)jÅ…uáIþÝl‚Ùìž6xã"4^ªoúÞ5š¸¦:’ 39ðãoЫqÌlrRO5ö(Ê3ë*C²ÒÄòÜKÁVCW³,ù‹çõNÄI4Mcu+ã¨N’Š\EuÚ§Ì÷\gÑHQÉRºIˇêt¡ÅpBˆäÅëÅÓ.ÿpx7ŸÚHtnŸ¿¸p‰U8¿­Y°ôþ'ùq‰w•©b*'€óU:6äâÊl÷LØRhÈÂÃbÛ=8¡¿'Hí’–&F?ÜO×0_‡$F|G‘Šë\ô;.œ;'ºqAƒ–ˆÅÙU?;¢ÛU¢`\åõÕ1RÇî'qƒi ÃùuŽE x¶ó “H.ÿoÄçšSYKÂrá º”MÇ7h²!o{°•=ºáÖlmy˜HoÅ ¹Î…è¸gÖÿ7Y lêìÍñ‘ÔŒ´…³Âfƾp(¼yŽEoH·IÄŠAAÉ/Úå‹›nÞ"¦ª›†5o™ŒÇ½ ûÀ²Ã©#’ÿ ¬’øÄše»ccRö §/ªÚé^HA&dj )qRîTèÿHdŽyÚªÎC1ì2[U+\3ºá#wcOɉ>Ë48ö$æeV¸ô|ç®ÌÜ'6z2•Úî¢#ˆÅö°ö˜%µ‡’D\c*&«µ\±1`;i'ÙKnÍ¥·¼-aÿtã@QVÐ>ŒªÜ¨g1ê¼S'­ò÷Ò[©³1©X(`/Vºˆ#â|hH&ÌEèwmº_×¢ÝÀâ^ÖÓ±öVS{ ëìÂ6Îaÿf‚½R'&RmíÍŒpE|+èÖë* â}¯£³³LÇÇ%ÁIF¯ª¼âÜÊâŒ×© €à½uQ×þÁëˆæ\ÚÝ^)dM1ÖËãXfqz‡5•v÷A¤`–ÕˆÆôadbÔ:Œ;ü¹(cüLV'zÚµ¿w÷;”¿ªY9ÊJ=i%¿ïçÙDSI£á´´ãyÌIÙ¬M¿FQG"ÿqÃ`ù¦]·vGuÖT¸µ÷cäÁbÚ6f³à¶gGŠÔ/ RCŠÂ(JòEéÒ)÷êžÇ¥…„vJ]!ýüŒhê'‰ Óêbêþ½šcêgl‡]¥Õ¾ Kè:œ^gzf‡ƒämÚ4œžä²ÍS·ÝÁIx|}ùbSúcÑo¯äD´ïrò¡&±åE^$4ëΠ¯p)®.—=p²ºý‰ ?/ª—…\ô7£×iµêÜ#ås6ื3ÊéÍãN\‘`9ÞV Ù€&Çïx%”§»•OµYœ‰«*TÆB;Ÿ‹‘ý5?·¨á<—°ÝG¿)f²æþÊ"›ŽYÑáâ'ÙjÔŒü–NûUϸãÅ[ >@·y‹¯ƒÍ—Ý`ÇõÛ™sl:Iíµ+Œºd¢æÇFÝ f"…Ó`u tž%ø£гÝM"ðÐ~µ-&ãfý]N¢¦æ>ž{xŒÚÈßJÃ! §Ù‡æ«4Ñ4}ý¿iPX]¤÷\Ϲì`97e/ ßÐn÷0"»¼„=˜îµ\)D(’}[åÈxÕ†®)ñÉ#Ç蜔ì5ÆY) )ë6Së“ÆßÃÐö´`ú¿Tlœ.ò„£íPÍÍ‚GýÿKçk d`²áÕ+,ÄGõKC:k-àh5¨Í-Ç*oLÇÑHϳÔí°ò¾Áv±)ð—`¥°4ôïY¾ÿÆùË)®ƒÍ07íɶÐ`/ôf{°_K«lkCΫôä8‡HcØ^¿Tõã o OVö"b ‡ðØ@¿‘zé,hî^ßT³Ûƒ´&Z¾¬'øÕPßL.Ïl'fMo=óÁK9|Y„Þ0Øcõ$wÌ 1èîPÜ‹Ømž©Óö6ÞÙð<*g ΄Ûw……|J8 ~D¥¯v¯­°k[ð7"”Èý¹¾ï™1 ¤ñð⿃ QI3“6zá©›Qý й߫1Ú3 6OÖãÍèCüP±¬fèe³°oÙ mÐD>¼ß[x€.“f¼IuÉ0$êÆFüÄfY ›m!Uª•£”fªd§£8Ò¥müܨ”›LÖæ—­sÜ&>Çz¼ó8/37ó(:Ú4 ŒMÈ91‚ÄCšl‡Y“Kµþ„J0¯=©÷†^Íù¦5‚5Er™3Ð0ëLÚ æmó×ÑÁ¾æ…Ø?ë’ >ô,è€ëó¢ón°ù7mšb§K@ç]Ãm"̃6wÙ‹®Çvv1± ’(/……D7N†@czê6+¦ò1éB1¨,¦{L=Ÿd¶.äɃ°ª„sÖô>öÕ˜,?Pk0<~xçVÉxwÛ,è[ËÆ•év½èBAY`ŽŸ3¹/ÔìH‹.%è¶¥í}›òÁÔ’bŒ@±nb^ª°£CMNÖÌìsPñTÇ…#ÈpIü&¨s=í2·üˆÔ†Ôžzš³™Ç‚.úËÏãû×â‚»ÎÓh&«âVx ŽêÒ_u‡íN ìß¹<Ü(™ñH¹¶kÐ`q\‰ q»¥ <4¤,Ã}ŽÁbĵÊd?6æÜ9‚¶úí 5 ßYvsÏbïµ²—0å”Eòp x‹‘]»øÓçÔžÈ)gê÷kõèáöû=`ík _Iœè@6óm»Ǻà;ÏI§^—M€ì}›ÜIÉ„w†CÞ]äÚåK^[r 'º¯ÙÖç#¾Þ¹BQžt›VáuŠÔ¦Íå!ãõ©Å?Ù±‹ ¥fª`¿]À+«RWªðׇåXî4¾¼ÇÝ~èjƒ˜oÀZ„Ý>M<˜(-g®®žš@ÃŒáÎŽ7þ©áDjąЫQsÕ íü F’(²™¯²…>G<ï¢^3ã‘1úfŽ1.Ôîž¡´ã§a|ó+þ{¸\¢0XÖ Q鬢ÉšF§H_fïn4Ù5{Ffeô*PvÏÌ{àÓ£Éq0,Ûö'Sá=«˜–u(š\*ã-¤É8+°ît¶XB…?âàà 0ý8†æÃWœ– kqºýüeöµAª-Q$GªÏmeÆØY ‚îa×—}æ”Hƒ5 ”žkÜyKµM‹œá6£„qö<81€Å–ÀîùÔ·")LŒN(-„#zF×<'ìzù?YˆÀ:eptÖ™RvqsF*°Gˆ›È ;ò;Ì/âïÄÈÑßÁ™ÖMcSm”~H( ”äi5§ƒPDZy‰H­Èm&N½÷ıIö2Ä Î!ˆÿžâ$Ƨvà^§G¼K\µÒC±‰àë:{PHn« ´SFÑàçËŒ£!Óù ÚËüô‡Tˆ8öÑpÚdjÅydÎá¥][†$î±\ŒÒßPš)mV%™éaÁ7ã†lëåžq“µy'Œ{×>šªª"†ß ÐÃ{d‡¹‚+ñz.mVÐb&mZ´H5‹1É.ï¥ÐŒá ›Ã_â€&U_‰#cÙ_FÙ ´}‹˜&X|µAÃS¨ŸÈâz3?¯ƒÛc–´¨…š¯ìB‘} ÿzUOÕº`ÅŒ2!QHISEÅž³ýéöAÎ3ႍ䴜ª J²Á¨ƒëÄ>ú° qZÎÍÝôœtùÛˆ‚…X¾âÿ¬‡[KSZEC e5¤©ø1=ˆŸFä Åå úhs6ÄÖè“Mø:æq陽‚¶»:jtîFÐ>Ð=â®…Ø%®œój[üÌàfÁÉ:¡Yõuõ”°{ÃQ1‰À­/ùy›­OŒúÃï¸â”áµê&ÆW‹Ûà¹nDÇc@åø½ã:¡¦ž!—­šT8äB¤vŠa÷Ò"Ó˜´3­ØøJ”ªxbѵÉïXÑܞΙ|¥€<°$jôšÞü9²†Có†G‹îŸu¡Aµ¶‚~w<ÛBß° §ær—îáóßþïù3.~­óýcûÆÐ®Ó{2h,þîaÖ) íþNK·ôö§?|Ÿšl3Šb1Ü1ü¨)ÿ9h7ê5Á¢C‡°ž*!ççÞÛñЦb",Wnüc5/ÜRHM¯.vYà%ŒÃn— JJw]¾Z›^€š>ÿ‡²õ TÛö4F¸ÎfýîóæôžW%-›Ðó=} >Ótœ–æ Ñ¢ª*¤àbˆ•5Zz[kvçÑ‘›\¬wb9?ÈäQ¥¿2}û*6O|Ë¡çI¸â-÷_žð¹[ýlå·=fPE;VÊxކc=Z¶½HÂ;š¶º«žpßA•£hÅŠ‡…Y'À’Ϋ-¾F¡IS‰”¦5‹·Ã ‘ ˆn)G%àÃÆm}TGuÇÒ[Ó<¨U.¾–^0–‚„3‚‘]AǶÂÍZÌN¬½~Ø;,S‚ž]!¼!­¿š&b´ƒÓhýW‚ÓÝëÆr¿íŒ•€Eñ~Òdê ænrjJ;±`­mP…Šsf.j¬¢Nb³íîšÄ=Ž`yÀS€aØÐˆŸiö£f¤å,­%ü3rÏx£o Ö¯ÿR%!ÄÇD´dÔd’a£ðPs4ˆ}K”Ú$䓃ÜèêÛ0³Út‚åH]Â(0<Ù,iXve˜u@ 5ùsð(êI{©G5X­Ïg q=1É =p‰ˆb9ÏKHÑETõ‡R­&‹ß?ì8^ãù‰#,†E`è`žeðƵ(çaMh~ª_͹»A¸E%Y|ßw9? àñ;~k1F3xÌJ°$ŒÔ³„jšŽ%ç‰tÓC4)-¼ _µ 4:€¢eèfNÙ5WÕŸë8Á’kXéY ‡²¡î›¼°uˆ+ -—¦d¹1ñÉÜlwþ]°ê‰CpM:deæZ<©=ÙónÛcA  ‰ÕG!6©‡íÝŽ§«Œ†EFÈ#vrtˆ7·™øZ~.PÃÚÚ~‡Ð7š ²ù—sïFFVúÔ‚Ý•E´£ÁÖsà!GõßU¹ûHxªÑöóRßÚî\ïj ³dç'¹½•Y㯀ðÅðÖ¿j)xe•]c32j9s‚M•‰»¯¨\ÝC­æ+?ŒVCÑÂnjv5êÞz{B®[böXò)ÌŽ6ÐÍ‚gÂXÀúõÅjýÄ=¤êÁÎ\æÂx–ä:éöCX…öëžÙPLvXô‡âí¨å<¬%Ô–ä£îÞA“Åãlq0… ˆÓŸÝM{Ðþ÷C±Ý¾>RZB~Ÿ¼M‰ƒe-Ö%uYOÀ>úÈܓɫX å(’°h|[DAn4îU0_&W„Eh0én´k‰»ü/ýÌs‡ðµ¶ôp¯ú¸ KéL”‡ó–9GÏÿ^!êNž]‚ð{jNX@X$?BØSë0¯Í}eØ8%Þé6ü?•âæn>ä;ôn’±}60 Núþ¹H”² 4'e8–ú?i8Å'ÁÐv~EN¦^ÑÛÚ*UCç‘HQ@à ƒUä&óñ2º‚æÒ Æ$ŒÞ¾>j×@þ„Cîæz:º%>óor3ðÔäêÆk¦W&ÑŽº#xÍÔúŒJ‡Ñ€Ð0ÒJZð´²u)éŸSY‚{ªº$¬’$j¨2ïÂRòšL´?ÕxÞwÜ?¨À€Í¾,gw/u™”€Uäæw§Q˜‹Î:Dalh=²X²Œ°¨šk°±ŸÎø-V{à9—ìX\½É 6);ųɥw!+HK& ¼$‰&°Ðé›<^ÀP…©¾[f·’-¤£‰gÍëcå]_ùâÑ3l‡7\##4xúXs‚Œ´QÓÆŽþìöðyUƒ¼¾›£gNJ¹VÔN(ª¹õDʈìÿe¸^*gOÌé¦E1U\#>B¢Mèkm=ÖÕ¯ÒÏÐ¥Ý`}»lì¿x/–ªãŒæ_½hiô¡N‘çþ ãÛ5è?ÆÌð»*OóÝ!†˜ñßѲºæºf¬ßuö¸AôêC7eÝN!y˜Pñ©no™tôŒ\z«˜H©,2€_cÜMÕG(lÜñc±L6Ñì.PƒÈ:êOû(Î}…ïX`C.\,ÓðNiøúÙ21$ˆ;1Bl`FÒb'Ä…žö R­éÑõkäkÒFlJ’!ʽáíŽYB KðTú&{Õ}Ayô %c·`~ÑT÷&ž2mi´% ©ó…¬ßPëU‰óö¾­ŒõÝ•=N3èS¶”¸¢m‡éô9{¸‚ PN-âþT„ëA¸¦÷¾àM˜œA©©<7sGê—ƒ„WÅ?9pòG$zZ‰rÅy/#bFóÉ«…\ËEe~þØ•Ì^øÊ›'±½Æˆ…(KW6Z ÙyG_'wÒâý«f?!Ä„P±ü0cV“~b3²î(\9hÍiJ0o§Gáçh2[\Éd¥ùkr^a—óœÆä"çDÖó^¿kðYßVT–s9ß †TJç¶ù˜u´§A©YùèDÚÕ¸L©ÅOÁÿQ@*¹ˆ%4”ÕET‘ _¢4ió¡ÁæZµÁ~‚˂ڹÀ‡ Žn<טPÔ£"‹óLÚ8š3aýLþW*›~ã¹NMh¨œTá ðù[íP¥º8ã‹NĨZ?Þp’´óîØ´]1‰¼P%›ê·ÿºäêémÖým0'ô"ÿ¬í0bý I,E£î¡©€šr*€««‚øS€]º*ëèçk×·z+Az{;¤jðR€ho]‰[ çrgÎùŸzHo9®Ñî™ÏížX'¡ G¶)qÌv¬3üº£Ü}›z£•¨\”`y¦Òß”†ÁƒO°õíÿÅêYàï*ïy¨Â©$*ÊCáØŒbM·”¯C·²ÁÚÆ*ze‰Jˆ^ ÷F»‡nÏàM¶á˜2ûéçmŠ•é.W®d(úoÔ1Ý̛ޔ«y˜÷Ž³Ýˆ¤!j®óÑIôXxƒQ>'`—+êç?šç@ëþп,6D7žîEzSo(`íÜšrõ=Ì6™¦`š+VV"å Qä5ûsøâyÙj…~j¦SóubÚÓkñ€a… ³·ÖVøébö³ô1¡$‘Ó±(Î/~÷wšnþynÐgr3Q 7†ì‹ù]Ž[Ì×û‘ ü—N¾;ŸÃ‹ZD»e&"4š‘¸tB? åœY“¾".€#¬$ô-n°p¼8t,È(*óבˆÖ#cD­Ú‚õkQô¿Îòè:’ýŒö#SèYÖÏìç¡]%6 „Y{ö›Î²îïyž4qëGçbTS˜_ƪÑ`Ýá÷&ëø ¨JO–i?ãwÙ¢rlœý2Á H“”Jùid ‰„aL„3P3á—ö²û{ VšŒÞš …l0}9ŃLH¾÷nVéää_GÅêýÐ2ÂaS,í¿ÞIª ¹ùF˜–ØvÏ+}66D4€t£pAƒL=§“(ú1uJfFq™ª¥ê€5{ûž_4BÉÓBhA¹ttù"ÖzÖHå¬20éó¯ž/=Û†hኽ+Ù‹‰îñN-Nœ<@*:~‰¥©ÿˆ@l,öRôâß™ãH³Ÿ´ž6-6|:Ë…+ƒ;&ý “Sœeù²äwƒ¾ÕQ‡8"QûD?/b\$Á3CÚ´ÄLÛ‘–öº&Ûå@S/* ÇcâäÙÀÕí8÷¶ [Îþ€~îýFÀØÉ”NLŠŒ¯òhˆµ’ÑFÆã’089ÛV#oøí‚kâ%»sHsÇa²Ò@”ž«ÄÀ0¶íŸT&¾ô›ó?ÇK±æ“Ó£œÓ÷(¿BAxƒSS=sž³ÙÃå·¼a]HÃâ-‘‡Ýæcí§Æzòh1š6ýÑ2üQÿéåBEo©RWËüéÝ¥bý¸‡‹ÂÚQÇ‹AƒIЬ§’è§O0ßf•öËÑ,Ü¢6副1àùýbÿøútH1ɦRòâéAŽ‘lVß_äpjµ—B{¢Wãž:ž+ú­¢’ú6Ÿt)œa4’A[Ú¼§i‡…þóË6Mòø¶…ìŒXÙ/I#ó©üÍ'kÿèÑ ×•àË\& i8Ö1øžh4ϰ”wð<«2´ØmÐRIEàƒÏCòÛŽ3²KòHþŽh±&Æ%ò–ÚpµI'Ih@ÅE9Q eŘÂ!ƒ:î>zjÍ>Ý„JœÞ÷4z+¯xò;˜­&³ªè~D¢_Å<‹ÍR°³^þtÔ$fž§¨’æà´WâÔÏß/ŒÅQÚb_èJÙÆ/¬Ä r䤓LÊ UÐ •y~;Ø sU~r­»ŒNl½• c*wð„Çsð‘(ëŇ#ÊQ‚Wªh®«ãæ† ¦óõ*‚ŠOÞõQHmèBMåu‰s¢û0‚öuSâ;J~e8¹ô¨Å‡†Ò#D#bä¬0r#·RCw‡E™O¿”‰J—voÕR[ýªœ[Qóo8$©*(ay·!" Ú®D¤²…åíšJ}óÄοmEÂTŠDÀ‰Ohã~ªDTæ cQGb%#JzÐfÚ!ËzœÒ*ê•„ÑAjÐwCÃfO”üôzØH¶†WŒ7¡Ø˜U¦áì*×!4Á}ç4ÄEgR‘}DêCáçÁy¾rcFsüOà„Ì÷ðñŽ™Ã‘`HÐIz_.ð‰T¾²`,Pá˶U]>8ÚÇ‚oÙÈâ²9½„qŠ”† %YoÅWç/6o‰’X>©ÇpИû0Ç.ºÁáv~^ª¼þ»RN¨ÆÜCe¦<ã*µS¹©,Àtö¬ÇŠ™WŹ+ÂÚ«K4¶”­å?ß½ŸÀV‹‰±Ê‹E"ÂIÚ3áÄ%&iƒCwš>G͆hÕ-^¢œ”,:kƒyÎjiZH‰CMý.çP%"HBãŸiRHúmÂö{`Ÿ>sôvB·QraQpYè”FÌ#ŠÅ-nTUUŒÌô6,m>|a¥æç¿áq&No³µ;ùõFDq†‘O9™‡1Ÿ‹IïÒ»ÅÏ«EÆ;k{-Ñ†Ô íõ}}ºº¥¡ï™€§:¹/¯ZÀÁOoZ…îg¿Ï­'B„² |¢õ÷MŠ— JÖ´nj.¯¼Z~ìú›7›€Öá‘-›J+>RÝX\;Ø;:ž‚ûRƒYÒf’½¸ª²·ô;^ü—•fLˆ@â6Üo+óÊ’©gXŸ»ìƒØàÒ9¶ÙQFFTdw1ûMeþ´ÀlùÇÇðôࣛÒÜQ…žËˆƒ\t_ 3vž '¶©Eš[PÛ÷§~QáL¢y h^ž³^™ >‚xÊ aú°´2bq–Þ"§y˜mÿYR·Š©1Þ~YlAYè¦GS鿘ŒtÑjàf`ŸÊdReÀŒ&V•«9Ö¡3”8vîgcDú’Ù³ŒCëÙ‰v̬<¯Øm¬yƒUƵº ÿ¿‡f¢ªµª<×õøØüp€)‰®½9â+ùR0ox~°k¸”±\Ä´Ï@ÀKY€»*¢I•kß•Mœï¿P¿=©:Uô´ô¶_^~š7»š!üj8\\Dmj‚Åq9о¼Lù1, î`U»Ñçl˜P¢3T©ô½d~y–ñ˜ Ñëï?™î `Z¾Néáœð³¶Ao¬BNoyC i™-.Âòa±¡×ù6­Hh¥¿µØé'·|·Ð*ÜM—ßpº/~Bïß(a6î°U…¨9šó]j†ÞuÏâF'ñM`ï숑Òò`d¨F`oGQ~:já±#®³Êæ×:â-|™jñDj=5¬7œXE„ëþÚ&)T>#â¨J¹[æ±õ'˜—¯Sjô°Vj)³ ¡ª'¢”Ö§ý»uS[Ë_¾ÞNÄ.fë†þHÝBüÈ7é'&]¬rì£ä®ÿ/Iܼ! ÂôÓö˜ Ô à‹<ÌI¬Æ¼5`jƒ7ç¯zK‡´©Eœ&t±–ģĿ­¥¥z ô­kD”ˆå„ÈÆ&¦ƒÜ™RÑÀ:Ç?ù ­ ¬%R6‹·óüµ<3U¬gã&6»óR>‘_ €´Æ –=‹ø´w×ëm>Òb‹¯;ó™‹$«é_WêIKGܲ»´>'R Åœzæ·J_ef\8õÔZd+=‘†è³‡³¿Ž„øÃ,jw74ó‹€|ÕãuN°ÛKúŽT%VÒàaÚŠ›¦ ÜrרŷBëZͤ„,£<Ž×JDsÁ’ÓrK&í$'£t U{?kÐ g jñ9™y&JÆ;(Êxv¡|²`”·=°«ˆl4Q·ƒVÕ¨b& GVÆÆMÚ÷÷—4úèÆáäÇÍINIL÷á.©8ûkuÛªëûƒhF½òúôóÞi‹+Ôw"sßPŽlP!ŽDE‘·Ý¼8‹êLl¥ƒ”I_¸°Œ »•/0±Q1àÁ¨ðdª©ÂÁ^MÖmRœó¥_DxÆ_|œ÷mëÑ¢‹@ #,ü½µdñzŠw‹ ²Hà².BRäÐY8 ãñ"F†Èjm?9ÊŠÙ@_ð÷ÂïÙ!ÃwÅWI¿=àÚ»k0,yÿ5‘‰M3–À…”CÄtÑÃjèb„pPGcM?Þçø”M»¹`Ãî÷­³w†Û&ÇO”BùeyJú€™ç±,}p—PÙÓáîhæ½N#ž9 ÄIc{mfÇ|ÊTßÝ×y鯗£Jz+g¾ÐºŸ .;ÇÆEx) „ˆãqî)-S¿ìH{¶K‡m Ø€¹È9×DäÕÆ4¦”¨M¥ö[>ÞÝRVíô¾øwn9bL‚Š‘ìnUZSïÆ<~.ÔÁWÞ’Æ& £ˆÍ² rë-þõ¼1š³X†0ç>ø½÷,ýÍÙªèO ïEyõí—jü˜þ®—Q‘UÛêÿúH§.°ö)6¿U¬ üÝktœýÏ»&&©¼-;†ãlù-Ú| p¢;âà¼ÁcÂÅ7¤ürÁÇXIé½é;»2؃–—Âfu.Êk7FØš·ŒíZ…¿ÙNtvçùéhìøp1ù`Có$ÛI8—hEëŧ:ÚSŽ9zÚœ˜0gá•“qí¹ÔÁuÛ¤osR:Ö€c‡ÿÓÛèP;pCnÁ“ OW–-]ƒçœ~¿ÐTÁá{¨ýçò”¢Û®e½|~W°Ÿ,±_][zNß×4+;/8¡œÌüºVœgEÜu"Øå6•Ók_"¦nlY ²Wv¿ý˜ÊÑ„» ¨WJ9Ü>ÚyÕp„“Wò|èl*¶wôe°^±ÊÍÓãûw>‹ê5Èe›‰*“zØ'\AÈÖFñŽŠ Ÿj-­}úýœ¿¯:“D-+r{uŠl°;Ô³ÿèöi–Ía­D¶d Áas*ú ˜vtÝaï ðñóxvjöJ ^¿¨yé[ÜPY÷ÕÄ3‡ésÅ=Â3ÏîåpÍû‰ ÏÎ1‹0ÌHöÛq8G«6§nWš@Òñ4¿ïLp aUŽd—Üò(CÛÎæU]t((ó˶Q¤Aþòb$èY9Ò=G8›Ü^‡&ü~OT÷±“×gü¸gfÆ’ éêO¸Ô sc.‰ÜÂ'{7`åFt< âBlÿNòÀpÎj¼½ÂÞç]‡bȤrÓá3©Ÿjà* ½[—FÌLÒ†oX%ÆÞ‘³U7€g–©—.N¸Ç“gÊ”h‹ƒ}Úå\Ã5Iåa¶i<.„ÍÿýMàÕ¥®ÜaEÛ‡†wØÇÊá­ÖЕm2pß!:‹.èsÞ9Ë‘å©Øâ°Ül,\|)”êù Ëú:cà››úäÒ®EȰ7j¿9k[eû:1±žšõ#ÇŽÅê˜Gß¾0àSçPr$YlK·«!K°U«ÍwnæØºió[jÛ(woøúð ‚=æ<.A/ï´þM¹âá³X{¶¹ë«\y1ãõ·PÃD¦«ªêÄ4”*ýF-…4À9Õ½0ãE×ïQâêO̧ž¸%[ïqWžNSʪà¨HbÂøŸYjã½Þ>Zºb=¯ä–Ãéèg5{o[1f±Q0É> -º¶¾&å7<àD¨ð:F$“¡UÒ6©§°ýÂÜVΓ£ÚƒîS•3µÚCŒÄr(†Õí¾†$mÆ»+Àa(ù-ÞÔ­xá6oÞ5°çéëQ8oô°y:iCþZ›tOr{<ð\œÉ¼°ŸXV©Z’QåÒr¨w·D°¶Þc@TxF†p2;˜§ëdŒ ²âE‹Æ¦|ŸÑsKDÂÐ g†“šK*g¯ÀΪQDPõä[Ì~É 'x*ÀšJˆ0ì¡ 0!(‹äò“ ™b­þ¸æh^…®uøJKÄ{J*j3”žááHœÝÝ(ØÞ ð}Ä¡3­SÃŒe7œtLÏ 5‹®v6\ò «ß±o«JI¦ßz?!Ò3Õ"w7‰nW‚w'ÙX`“iÌpÚÄwî4r” z¯TÒ­XiHxuBaÎ'_ ã§¦œûwÙØ,E¯æÍQ×nîP'­&X‚°?a™üg©n¸ÝÆ7 €lGȹ*ã‚¶X<¹02Ø«¼å븶÷HA+w_ð9\”=OâMö‚= &ÁÃx3É´àEqÍìv—†ómÞ†2¨ÿ¯a‹ú€º)†àÌèsX0k’ø‡î½¬Ì §‰®¢MªÀǶgÊç½ÅEâ9ÍúMDwÑl¾O¸™’´Æ+Zv™¬–t\ #b<ÿŽ`½±ÖÌ÷[ +‚Ù¸"Ω¦9}–üi(”Ê7Ä—´ ÑÔ˜^ZÃ%3= k'ÙBü΋ñlwÿ{£îx‰c|”*ÈÝÕ û{‰jŒ ËOȘªî`逕=Ôö¥ÍºH¿½0*î¤,w›òùJ‰™‚Ô[DºÀÕ³ºm)ãgíÍÂæ›q´cn!cx‘B1Ã#ÂB]¨ˆÀ9žPºÛ„¬ÿ]ÏS²5űfçc0JwÁ§™^MkÚÖí¼²^‹ø“uAnÒy CÓsÌÚü¨¹ÁRr¹9bªLN©ø,:Ÿ„O£vcûÃíz$RéLø¢×2dC …º3`ë謣ç¶4ïVz¶ÌZ ÷¼7D  oÉ]E曊d¼Ó ëõÑaÏ{}ŽÃü§È~÷€qÓ[Ôzmjr8ðZa—¤¸e„h¨·/¶N|_­³ä1å"õifƒ—pæ)®e}ÒÿèÕTäà(c CLã(½¯îô@Jž%EÊ4ƒ‹]—FPçÌo§ø¼•6Ãøv :ϕ㠴Õ'kŠ+\ÖVûYú ­°„H«¿ÝWQ›èš9xǵ£ü^Q§‘§önq| t¶9Yæ@·Ó®Þ٣ ƒ98Ÿ³¹aÝë?S)C²Z`åÓ9j"9T›Âúë ³!´©V—7´‘•—GrèLpàM’•©BÃsÔrËù£S†”Úñbs ¯ƒB_ºÛ#u%Ó£²}NµW'g¥u숽D:JeiÀ‰“{þ¸8žçµeâËq1sˆ[›xBߌð í‘öeKoéäb×þŠí­+|7lü>Ò3uW¦Úƒ%ߨIQ«YÿLI›'»dþ¬ Š­a¥AçïÏŠ% xÓR…{]މ*…9k¿ômP%_[‘€!³¶‚o%ì‚z D)e~ã0ü(h!ô8ùAŸ%—‹Çj†0Š#ÅüñFþÕµDcª‘È™d‰ÃG³%ŠÅŽZ1|Ç[#ÒCÏTNhylȈÿk›ä¨çHßß)ú×àØÂT 4^µÑ_HOÂδé)sdJ‹­G±ضõÔySƒˆ¯ì'‚×S¯(+°½ï‹´.J‡$Òº­ «þ€f[ŸÚ¦Ñ†ŽQÉûª`—XÑËcŽ×:±Ã‹äSð8w;¼]i‰`§g¾ Ó‚:5I¼¿‡ÝæÁ©Ï÷®] :Ô»úámÍë|Íwˆßõ <Î5½e##˜ÀOb‚"V ºÇ´­–eÅìP¤f»a1¥£ÏØ*1쵕 Ÿu1ØÂ±Ãc­Úçÿ‘G#O‹¼ÌøÃð³b[ˆ ï«u.êéëÅ8á‚ÌÐI3€Ç#^ß!„¼ŽýÂð(>ÄZæPÞP Ó?ü8µ!Â:Õ4݇ãéù_Ò<ªOùÛÛmkgÜþà|"‚v(™8--~B…»¿é^ˆVí.‰xÈ®Àߌò19Q^ÜdÒ·>Â3²s+õø1L½A©$i¡}b‘€~=‘e›ËàyµýßMKüg1•JIðY s~Í¥a'?2ÏIÄx ß:Ç5Z¶Y/f¯Œ@Þ¿:3E$sÕ¸ ³¯ C ò$1'=9GWè@\7¶^‡Aº¸Ë2ëyƺ¢_"pý›sàîo«("rvM6&0<]\üïA˜û¹Q•è½AtPƨÆ=š±¥ŠŒF–û3QWŒ!pûí Å8˜h§R°”¼±rz1BiÉÑ”ÌÿêŒý#AÅãß®¸Ã¶ôjk‘:¨ê{4íT'kJ‰?X8Y¯³Ò{rPSj¨,±¿„4òƒfú aÙ»Q‚^_@¾o:)ifY{ÖÇà8üéýÜJ&2”yè¬cÈ7Éë2wÀ`bÎå­4¾véR™F­}Î1y¤VØÞP_4߯{Z‹TfŒ¾Nu~%H6ï·°1;UÈÖ¾ààjyÀÀµòù¦ü(-òë÷1Wò‚Æ òNì ?üÔ ô¨æ¡  ˆ.OÒ<ÞX^êËàRTh±ûïµ aPãÞÊŠˆ7‹[ñÇ/ö«½žªZR[ðÀªîµÔÖfFgÂà?·R¾Æ)Bzò€çöÒ…£(ðG„‰Û6täá¨ðš²¨!ý’•°Å2ò!FÑt5ïÄNN¶ŠdTÿ+Ýð¶.Ónà‹¨ô®ÐÌÉ.“”Ææìn™ÅéÂD}‚똔¼ÿjÌ×0cŽ™¦ß“b¦êÿ£Ú®‡hToMá:Ø’5réáöÔ5|íåÆÏ»Õµuc±©™ÃêÎE4ô ã±2þ¹d£–4eýÁLÖSny3¾°“½Ëª¢&÷üä{ˆæé†#ºÜó^w¦v²Ô܃ùä+§žÿ¾p&ùÇÔø§× Öpf`¢÷õì¢ùL˜ù—Kø'I»á›.Y³oñëú9%î® ù·<Ó}Š TãÛ®²Ë _–v-Uö¿ ÕberAßÑ膧¿¹¤cy ŽìH‘Õ›ËÊŽ·TÓÀ!9:gú¢Ïe¡¢öóÿã%„Z™:A’Æ!®â^„dÒ…?`᎔¹K=eЀÙeìÜ=\`¥qËÙ…„Ö ÔmñRÚÝJâ´@ñìwEþÑbLLéH@’s âIœj²UãtOw9ÆøŽ<»âÑì²F–Â-Ù¹ñ‘WJ‘E™Sâßšsù0ƒŽT}êSÀVÉwj®%Ô˜02²RÜ ° ³¨ÓŽæ !È;S§‚ZÒŠ€'ÀâI“5^oÚz—°rªÞœw[—ÊZéZ¢{ÆÐ¿ãÃÍøR Š òSÏЬ»…´ÏÅÔÆNCó³ÖZS"2SŸí}‰œºÑ³àÍ…³ž¢çSd{€^VŸÄ»S]À$þ™ðæü”ÑfÌ8.O-jd†Äg4e´’ép–œ"”.ÁbsdÃ[rª·v’&Œl‰I(ó<îúÂ75E Dè±´¢ÌuÉ9u%¿ïÇíQ  ¦^ü&;0åܬ¡zµz/J·ò¯ìX$w:;ipÔÊš¼àÛvŽ=6h¹Ñ(f %$T#÷BŠm²tNé°'‰hþÁK“¦¬DFМ'])<ð_ÝÒ4|tÒh†~0ý9ùÜ RAä=¶ˆ€¾¤¦™åu¥~½\È•ðƒŒ'R—ªP@J‚º…+9ˆH]CSÁzMŒºÁ_‹¾O\Íãu¡{éIúû=@†7°R1t\ÃÖaþõó.N«ÄjÁÏW<þF:Ì©áaãmÊ¢ŒÙ˜J„®…ÂÊ7ãÚ›Û°hJ¾Hó;*þ¡}m41CÓ}ý/¿ÂWŒO¦$jè®1:ñ@G.P?¯[j¬wWh®tÜ—.\¶u¬wàr®* |Ò-Ô^£@·#ØþçÐk¡ È|à¦q21¶ÀŸólž u£ŽêSÅñnðÔ»ó ~Ëos›ôp̃ç„üÈí¢¿¼âUR’áåF!1ú±€ã¼Wr%ù€Ršt,&³I‹Üwñ†ŠÀ({‚œ‹ngᓉC¶D…sºmâŒUWU4tœ:wq5‡¹î4Dì{((3L{’õ¸Õ;ÏÑ(±ËH 6sÍÝp;ô l ½¦+U4PÈÑý8ðƒÒ+f…Và”–UE(õ?O½[DÞ>a„ž¨WÌüÎ9(šè—EôrV“'¦l»4Ù¤jæ#CI¤Šèh¹°’Ê™ë-ß3(£¯D†Ÿ)ó5bl"¸¡ïmqZš}]œ¾ åÂÚ!¸jQ?¤¼žÓcµ¡h9¤bÇ+ÚYsGûIêgŒéýûwËZ¬Á Ø jÆ \N²b'yžvô2%‹ö ÀpŸ K¥ûÈ•E•žÂ¦l’1Ê0le-rtWš ¢?#½ŽßÆ•Ä<ظÜð,@ŽIb‰£©¶ðþÖoºÿÕæxÄÖ:þõÃܽx9`C„9#“brl€ü“E˘>ƒäXÎfâ(E¶B3uPwÖ¸àcã#¢ddCÁ]ÜÍu€nBT1×:¶žs“‡¼¸KÖ‚‹í…²5ï-AQºª$¸)BlI-|:oIÛ;29¯CòV˜äÅŒëoHá8nEù+¨ºíQ ý.¡N›0ÌÊ……"Í9JT%=æse‡ÉûF$å‘üŠ©.Ò.9¹ÖÖ7‡7¦žÝ²w7ëçõE×êJ5âHÑ…ˆ¹š¹¸Á£reôٶKÚ„76¹Nú¸3!ÌRyüQãòZâÃkóˆžÝ-©£¶b(%}ˆZ~q;™}\rõ!ceeÄøo¥fÛhëŽnìü;RTËÄÅ,T?®8øýÃè/ÿ´¯D&ìJKÂVoÄøM«ä¤Ò0g›0SÇ3wZ‚è‰à6ÃS2ÒtâBäàJæõ‚€*”}q:Vöÿ#6Y‡*ß{½·¢4¸Ìx×ÓÄ5×á÷‡·.(kbêféÈaŸ§ÿ‘îý3°Aö3ñÜ\ Dà+gÓã œûmü¹’oÆÔ`]ÍäT¸ ²¬Ÿ¢£3Á_ XÊpn?£”;³&ñù]7J£v"ì·„²àV&ÉZþºŒÀ‹:uÏóeï–¨2™ÜMÞÙõq¢DE;+öΆ=¢¼†ûgq³®õö5TŠ©Œ·š¾déÙ$5~»R[ Áf²2€yz…±ÍW†Œ{gÚÄ7Õxž“ŽÁ×ǹ"SubËÑ×¥ÛB´j#÷Q’ÁICD6¹:o±!bÑ'‘÷Jn 4Ã;h?²¾ÓyùrúíXwtaöïH ™t+ q•i÷E•|‡+©=cž’l:iŽÐëT6äÎÙHÆÝÍ›oZL™/:n¤dkB@áޱŽuÈ‹‡¼JË÷`¾íý5ºbîœõ[ûóf¢dNm"Ÿžò^GÀWÝÝ1À¾wÞn‹³Ú«ƒ.ª_æRüÛ…ÔÒƒ–¥í÷ !Îs°Å7ÕuPžB¹5 \°dg£ ‘àëׄάa·KY:F–l÷qÓ¬`á½î{ÇDYR·›âId%ñ;·¶@"Œ±`z©vÃjÛ ¬Ü‹$D­\qapKç´ç ;-c7ÚCq5û·¤³å0½ƒµ¢•NòÞìp©÷Ž~*eùÆK*YÀäG×n`åp]¨ð²(ò¡ðüÊ ÀšT€¼ÇúË FWˆèK%忹¿¹®­O&¦FtéÈ’ÕŠž²÷|[{Rû¤°1„ß#ÕvߣìcZÛ(Ž=ÎxRŽ)'~:J{9Ðÿ+‚ýU‚'RPÛ)T‚¶‘†ÐÁ…é@„‚YOVšuÛR¿ˆaÊÔ­#þxâºÙŒ*ЫX‹ŸPœvã*žâv0I ?,iMðm•ãógbî·i ¼gÏÉû¸-t=›Ó:´ŒZEÿ1%"×#†®±(_¢YÜåÙ÷±ëô|<™-)øh†sŽH˜³ï3³Ö‹@à 3¬®ëÓøž•‚qa.KµrèµTu!)!œ¿GmáKɃħ䑄ëüR·ÛãKTv; ±w2‹åyÿJ3ò× GäÏ\G–‰ï1iN0Â`]7usƒ¬/«¤ùK1‡±@“¾© =LCV+õÛiI€‘þB­n|ÿ™ïȪ)Ƙ|2²{Î\>,3¼Œwùýµ²86sQ%ú›Áð5™X·(näñ;[f¨:¨=ÀC’{ezíBFŽªW×W¥"Mj ~uW›©Òü¸¯áBÔ7#yµâîâó¢LÈ‘ ×:$iÈÐ+†ùÀ¥_rWZSL`ƒlÅ3pi Ý–œgGaÆœ0YPéóÂ&ׂr©fåojªˆGáPh£Õ¢K«ñâf-e@;Yj¤Oý͇%îãp4˜5ÁòŽyB6Aº¶›¥«€†³<#èždA#yyŒ3„²ä"¾+KÐù»Gcäóp±ÐÁmv’À..RrWÀÈ?(¡á^´nyŠ0ýªcÝÁeÎàÑYôlqró9%NZ…zVîñr£x× {Oek¿žå&èÅÞEvSþz>RþÕôyÀs8~)ìÃY^ˆv+‡H,¡-žfØaoa6<^]¦c9]2iϳé|rÎ×+Vç°Ø5ÉîØn­ ÓDGlä©< ¦» ­ƒy*þa¼~©JlÐAó/ܬÆ1äû¹î»BI_¥ÅQlj€mdææ¿A8ˆŒžLÈYõ¶¼y‡[`W`•C¡ïQÕå,Ú1ŸY`aDiÀ·GTxÈÌœ4¸ªÐSûW¤ §¢QÒÏŠÕ70„€ W—¦Ús@ Îã›8ª1(æƒáCëOúØ|_™M¹ Ct0x]±À’MÕ:×£okíº/Awg'q¯ÔóÉ£Œñè iøº$ iˆ|Ê]©dÌ)Y!·-âÈœ“¬ã Äî:ºEÔÒpµf*ía=ç µÚÂl:VúævµŒtýÞÑ.užðýΫ§)@LÓ}Öª.Á«L7õãòż¸–ê~Ïd‚oÌMdêEi¸+³ZP¸l™ù Þ¢¦²ïìø„aÜtn0˜àsÆŠWÁ¼øÜ•yoû«ÿÿcÁÀåYs×isÿââ1þ—1íØ£8= ¼ô ¨½ì¶›5«È—m ž`¯Éuç‹A“åEi©1â`qÉdaцöûO³Ãk€¼ ð.`é5eé&©ì+–v,JCàáE0SùäàÑ“O&«_ŠŸŠYà+¶`­&XÒ)Ñue{l¡»Ä÷´q|êîò û ”aTÅU<Ôœ%¹xЄ÷´¢€/ò-$ù»›5Æá2Tùƒ §Y.sô{B¼¥/–Dô׬·{É• { ƒ0èÎI¯)Àm»çÞØýTš)Ž•\Ub“ÛìÖ++±éuGd‡Ù€>¥°ï0® þŠ#¤×µ9à:ªý@Æ6Me øJ¥³™<ÕÒò°àj¸a·ï$vë.¡RökÍ d…® &¸ ;× @ü 0õ±PL<­® Lë_™aÇÔa¾a»~ÉK¸Ñ„GÔíä—¦è gJG¿I}ÑoX¤ÿGHí6•düÐ;tõ™0:-ˆÝæW:ŽŸŸ‚UåM“®H+éq©„«‰Z†’5öW»Ñ…ZI‘¼ìÙr[JÕÀŒÙˆZÌ×üŠ×¢§Î†Òõ »‰ZNù„Ý.Ój¨‚^·¯"‚x¹Ç·zÁ\««PÓX±Y~«ûò²i¤èjO—¥ýä— “ JmÉ%.CÊ¿4œÈ'æYfÀcn+WB|sîüýÅI¥÷]²ØÃ¼‚ú*¹OÍ)Ù!ûŒ6þ3Óiùù¦Cy¢J ‹“ep$Å9ºqªˆ¨~êDÆê°Íh»jüÆ2Ìš:ƒõÏÕ2S¨Gé2KN•V ¦Ñ¾ÕtÃêlç„0Ú°@ÍÙ +šf§­Á‚G‘‰Ö©ZrVÂ,f€{ù%íqÂX—{RÑß™ä˜<Ò ý”–wùZÇÌünô¾;²:ÙTî°¨·n%ߊê˜5Dnm 9¯ï9áf„ žÿ5 þa‘(†}æX º7¤4µõÐÚ¸oúqƒ1_ºq•íë¿tžã,N¶–ÔjLÚ$ð‚†4ß»O™™·ÄC !±ÇíÁ/ð[¼›á÷N’é™üüΤ áY¸AåÊ.:·2{©°ê›G¤uŠg8ÛOä‚õë»{$Ç–·±(ßBî<;tX-‘…ÕŒ’%媰KÉ2FÈø—e¾›9•w=¤"œí_7Yž< -Ý_´A¿2=³ÁÁjjt‡VÖñj&yDâmjÀ‰LcI*йJ©—Dê§¼õ¯÷.'ü C‰èÉF騇MŠxT(ê Áã+ œ µ­»T± þ‡‰õ7¾|jשÑV̯GÂûO ®­lŠß¾Ý7!H0ÛP³ý)¡P?²%NtÊ"òe°Cïóñ¡ Ýèð>ùñm ¬³1Õø´ü^ e# =û+gzGp%WRwÒ~O7Ô1U¶Ë¿yÛµº9­¦CÓ’ó©†= û¾«°FnOƒ/ʧ‘—MÑ[%gÞÀš×Ó .izæƒ{0¥iµÑÏíz r•‡÷º§]*: Ê ÚRõÖÓ-ƒÙ,KÚªÇÏ… …7gˆ[¹<­œ_3aÁíº“Zïãu-¤¸ê;E¤’hý/~=qî$Ï 2Ô»E ]ß<Ù[÷FÈP?zÝ~rýÊAÙ‘õÃV:Ê|x_„Éìþ„'ÑàoPauجbéjóg¤· ÿŽÇ•J‘VÑD0yÌÿc™_ê¯p3‘x­pM@—i(ò<0¸%§ƒ­O°Ž(2.)tǺ…öÀ±ÈCUÓ|½Ì¢Rlˆãb',ÌzAÂi•ÑôÖcøC'kÔ”Ͳ9)¯è¢éû=O{§ÇÙxblà¼O 15¬A9ýó ‰«*žõõ€Ù,òZbçahÎc†X¢è¶NñEX€/«RF°h1P„ú8ëWS©³´Ú‚=ÿfÿr]Q¶ÍÄ6]ÅU†Ø4á·K;hBxÏUÊ¿*m%°ÉÑFô½eúÓ)Niú²üá«Âó‡*\•™ö8oŠ<ÖñÕÜ<  ¡LÓ#§0v¢ñw­‡Í ‚WÚl‡¥8`EXI |E]QwTŸUg*¤Â<ƒzóG ø8WbÍ+u·ê*u`\RzH`'n}ê.ÆÐùïÐ}ÕK†~ ¾¿nW…eR¬R‰ŠË(Thÿ”"å×1G8©$™Âû?'ÕõNõöÂÛµFnkA0meEs—¾Ðœ|'°°òÔAt¼ÐŸû¦¦üÌ¿Ùçr)%ty|KŽðm_‚º®Ÿ¨N'Ä_|1‹o®eSTEFL”D$yzE=‡få¼@e [o½ÏBcãuX\FrÃ…ufXFC‰ôæ &±h•ãÔÙºE^mß »èÍçmK ~Ža«¨ÜL Ÿ›ëÛ”‹`ÊüHí&Žú–ëò÷iþd§oY¦¿©·á%à’¤øB}}DÆþxò¨vÎ’SzQSI÷–zb¥”]uHy³uy?Üyk`ä\æNeI:zë³ [â¨ì¿øR|ÍÕ†ÿ7׫-ÿ É=ð¥†ù»?­»¶Å¤ŠÈJÍÐ@vûI”X óå¶7ÒwX‚ÒÉ^N&üÞÇvZ ‰ 9—gÅË.àñ@`BвDº‘5¶ÏÚ+hÐˇ…XóìXgù€’<â! *rmõ¯³S°™= oN™¼‰vûxÈà¢Zo½õÀÂ]{¨$NçyJuø¶ç—ç'­o»õ|c4ˆBv Io!”æìŸeL¥IQWæ1?­m(¿ŸŠt·lEŠ*XmbûåpÂéë¯xçìf[Z[ìì žï¸=‚MÀ}¶/D_$Ø÷(濉ÛÚ.ÏIÃΑµ¦cxÃA>SX.ÍÈmÌ*3Ê{˜IÀ[”ÜE ì܈çl<¹|2þ'ØqZÞØ“¬Ä\IhÁ×2¡gýKFß±í^gdÕM¾óË´ÞQé#kÑ@HáiI›+nDNº²–š#ÄT„£Gp •×wã™DY­œµg*¢§Šͦ+l0œÝèg‹,ÇÍê¢Ò‹™U€ÔÑ”R-]5ä?~¤«3ÍåÖg>?ïÃb6øÒ1þçj£»²ÞϤõyQJš ªägè£êuž²œè„ÀZÙÆI§CbWâÀYež2Éu$¸ÉMFšŽx‘ô°PþÃ@Y0%@CZ6?ÀM(ƒ9gž»ZA!7šÏÔ:Ú%[Åä1EÃNžt2këa/>kE_Ð ZÃMýwøFS]Àî÷áT—Ø’xœ2—k§ Mm~È=õœyw:os”àß–X+%&ÞàÑrù|¹“‹½4fí'YýÔ u¯“q™'‘ÉLwµ„Û“‰ÊÕ6“_ðFò9Æé;´‚†¦‚ZÓ«€A—·0U]jæ4L+7êæ8¯È็j‰=°±K°=–hhÈkÛÀgNÆlk°7X/ËxKfcÖ›¢šÇR¡‘¹AV¶˜øÍbüBItùÆpyƾ¾tÍiÈï(/§ƒÓÊ%' Î <ÝÓôy—&M¶#:´×¸ ŒÙܪÄgümo©ßhá]a ¸cÀd‘@›æy¸T•`Ë6¼.±‚3FNk½ Å]²b\ͺ1¿Éùî/Š]†àn.Zäøì¸Äö0cÝc}EuƸ›i=¯×2X&CúßU·\0+Á¸äphÑ*½¬j•‰š?ˆw·HÑ Bmèø ¥ô%SŽÍÅ5>~¨;í~zÙMøH½#/Ó6èZº‡œÃÁñ¡ñ‘¯ »Ìp@-  ëodàºs)Hœ†·§® /‡èy£J¯•Ú÷o¿¾EŸüV_Í‘ÒÞHsh~fô5ç|Иý”“½Š_ÆËÃËFxجõ( ­K çKÕ*‡×N.ùÉà÷c¸ ± ”…}b)wß4|CGM8v5èƒ~Æ¡ÚkËq`–Òø2L}~_ÙR¬(Ûe’U蚣—Çžvðj– G†­33ƒÝ-g†ægËE2÷6‹¶ö œ{M¦â¶¦ü# Ñž’Ƶp÷Uv”ÏÐÖÖ?Ÿü¯ÔÀ&] ZSù‰Û2ß³®€‰rø%}ZÔ Ÿ‰-tšÍ¢8=Hý3L™æµœ¢©ÑáƒùÔ1‘ìàd8䓿*ÄS‹Yw²‰°ûªƒ”â—˜(U4ä}-ô2É^C²¦æ·š6†šø,Óå\Wt?Jeö² |@{øAÔçGHIƒ’è IÇí“!^ÖÅbúŽCñúJƽ°ÀÇJ5°ƒ•æg²a¼…í/µ_®þœÆŠJò<Æ\4û¾{_ljä}Ò,=75HötÝ!Ƀ¯.ùH²öðµüN]W.?å R°Ì¦à,i|›CëE‹véÛë¬æñœfü®#vSõÉ % 0ÝØŒ‹®¢wÓ°gÆPÑèû¶mo&Dt•Ëd)ħQÉIôj^ú8¸ÚNÈSaìdú ¡bÓ,¸rõß…Y¦±¿%~`å@yÈZŠÍ;?;“Ýò'ÓÅó}[´¶ËN)¤%¿q³¬*ÒÔ¶î÷­žZ°øöøìÓ<š~)fôZy`X¬f±ûÌN{kCÕ$oÿ˜T¨PÚ¤\?!½åUˆ¾[py£§·x[m´ï-b#´ØpTXÆxf[ªÁß9¹Ë‹ÙzÃún„ŸkïþùN?ë¢ÓTˆÃŠ2œ?÷ˆ/ÍQ4úýÌ2€:EŸ´åèF;§™î»ƒr=Ëån&!Îü¥|Ø{>8‰Ÿó¨=Ë·fëR袻Èåï¶³‚9P²ÞÖÅ ±ïA寭—mý^YP†§ k¤ñ'.BØ@Ÿ[#>yéèÑkä7£]îÖw¨p†O¦fÖ"}&b$N"tb†õ•±·×–Àÿá¦êMyÛ[’ªÆ6*fïQ9 ‘@t4ä[ÑŸàU2¼÷¾…±¥Áý Þ‹D9úCPr幸n];©Ç4P4üBYMèH³?¤u)JOlaÈšŒ©¢ jFE`ä#¿—æŠÁXʳ=àÙ¨q L† ”e-S(²ïnÝ*Ë&w--p~´ÂÍyŠú*ߣöúvä5 ¢së4Vkô½ýÝô§€eª~u80uO!³ú‰Î%Ê‘õÀË<¾cJ"~(‹> ×ÊÖ.'¬´uÌìˆ@±·82”w¤ZL! k&èOÅE©=Û +Â/¤Å*d'çèFï+¿?¨Òš|]µ¼A5}v¿÷;Mßâ©äSk1MŒ¢ ´xd§§&µr§K¦VÕtÞš5K7aá¾*öÜvŸOÓĶyŒM½®þ®ÉÞ“ÿ-_,_÷7 6N?:(¹A52^¬tÿc#߳Р˜^l}Ö%ôgûžDš¸Ûsä¼=%x`ÁDl–”Ë¡LÅ(þýΡP_”Z[ ý„ÕŸwâV2‡òRqo„˜ù©dǫռ²§%9Ë|¡¤ö¸Bzwm¶¢¢wõù ÖÆ™C–ÿíãú®WѤh ù“,"–Úv‚€Âsí}MÌ¢À)„ ¼u| n6–I‘°öü”˜‡Rõ¾˜HD2*eÆ•ä:ærU_7ïÈÒ”ˆÓ¬õçjk]|,§Í˜ÝGû:Ž>XM»»Gæ‚Qšêêe[³DÉkÕ;„ˆ¨ma™þÄWc?Â%P3ë E0«ý]@[ &~PÙ< a³;ls8ÒV›ÀÂî:ÞÈ@Æð¥³d‰µþ·Â«BJ¸æXí_²Ç(S%Í*9®qKÝëäd¸ ×—f¶lù^ÇÍ­ÃÛÃô:½"ìM¶‰]Ä;ÈrŒu?.;X5í$À‰ ”ñ¯Æ´TBe…aײã‰ä­ Ÿ†Û=»øøL‰rinnC@Áq^Ç€bž[KrØ…¸¶Kû->$ÌUúùÆ&Ù¼éyæGq{Xˆio‹)Íø­[õm*w”·ô8SŠþ|}7´V¾…(‰3n‚9±DÛê >¹Ešýÿ[„«qÿÅ:Nr9lKàÍ3òÀ¤t ñc82}Gôؤ¨ªÜpSˆ£”bS†ÇYšpö"Ä(©™xqˆzÃznšSLÇÀæ‚i× ïFÙtJ9ë°w2:–=¹é’RŠ6H ¦Ñ+æ…Q¤MMù;É‹¹I(ófp!P½× 5@á’Ø |¸B{1.‚pðpTø×È{„wA¥Mrµ‡V…h%ñÀ Êæ0uE­^y €¤¶ñvI¡GU‡=ƒû÷KÑjGâ˜oé4,»¤‘H*‰_nÕ™¶È‰6kA›s‹á¾m×Ig\"ø±!Ç)‰>fŽ]»Ç©/§9§‚Ø¡L <«$~»GŠzDû‹wíŠ €;ý¢ÏL(%Ïà¿MV±ù~éö­ù)uªpéILkbãã¡’ðnO"£zÑRɳºA9iÉU‡£pm¿fy‘×’Oß‹§éÎkÌcªEÙ_°@ÞaGÍpI3YU¬ù¥`{ 픘ýs©?…QƒN«^äÜÞ¿~„ý:²K£;Ù,J“—%Ø ÿÌת¸ýQäoô‡ñ¡àå >oô]á‰ÎÙCCƒ¨L㺼Œ®!\~¾ê .<È—OÊÊšË}ÜACºÞ4qJ’OàOdŸ½ŸÃÚ{1Ïè3m*š·ªÑÄÞšåd„—/´•*ë)FÊÍ_hÑZíì$š—ßG°ÆÙ{²é=fñ{ «Ž™GöP…ÛT`­Ž¶ý €½l—ƒ:Û©…õÃEŸw¯NÐ ¹CÇn¤¡êLªZªðy›ü[ô¨×šãÅx,oàXU7~šÃý–+E+ƒ K‰vW Gp û"äÒѻșó–±?"‹v÷ Ï>eÅK.O(~‹¡âU]Äùæ¶1ƒUåö•áí¬œË›Øó¶ú—ý5¨Íu‘YÜè×Â¥T³ʽÃr{Ró=d.1¬r=XÖÐ`*‰+å¼£QTûfWw‹÷ØkGwü¦]—¬¦¤í‹eÞ·{ù o…Xeĵ¡UÂEê,_Ÿ "(w{Ì‚)„W²&™±Ní€+û¸ I !;[x7¿ÌLç Ü¥í7øHp7Sÿ>h@R²©séC¦‡SÂqÖiÓ{½õâp¥g¡–o^"|@·÷\<Ï©ôîÀÀXŠnÔ#ãïrâ¦Þd´Ó•ô§Çg,o¸8ù„ž@†’jâ’EZ Ùã¾”v ÙWp,…޵î5ur¡j̉›áÅÑmíö"LÌõÖ"Bo;6½_vmºõÿóWmôJ¤qܹ;Òﱿ^ö„j–é‚……NQÐßðg^–6~ ø†>lióßcTV 37Âùã¬à¿R “øÉA–Fð¬9Ä©ƒœ=»´ì„²Â2íÔ H§¤"¶ùÿ„nŸûÊÈð%^—ÒìK|z7ê¼ýÁ.%KÌ[ÔÆÚmC„Sõ2?xÚJ˜ç;N#Ë^7šåÍü:«â¬)¾¥¡†”‚#¬§JŽžŸwö·—ªuœµ˜9.EúY¨‹úm¢Œ –”P¼Ï芙êÏfRŸ8;ÿS €Ké¹òd¼pqÆçÇN]‘ƒáàN…÷`Ž{Ÿé«¡D‹mz‚Éré[î8Ýå™m]“¿FH2·g(6†Y=íÈõ÷WÚаCxš Á«,>ü¯íh¡ë2ùùÑàb­³¾õ8Ýõ¼‹ Á(]á‹—-sê…¶µ±TbÙ˜*(PV¨ƒý#÷å<÷s,o2UŸ’=ƒfn»pÒ©6¤1€\Ë/Ëœ¼ÅÑ×7ûu', 3¶SódJI‘lŒ ª/½_ÙŸÔ¿E€MtâT~‚"- †6Â[ŸjJÊ€,ù‹¤Çrÿ<õ ×U,7‰9m¡=ž§ ÷º@n‡J¶>|*™_%•¿Í$.gNÉͯÓ~ïcÄiJÛYlq‹—˜å>^#»æSP LùÄêÑS§ï/ê­K¦ÿeê0!?(0ą́TU‘]ƶ¼– þ1ÚŠi§¤1ʨò{¯ð¤(š9òn^½÷€6Cà{—w A«»´$ÖUL<É=ÝÉO¤™©tþÇŒQ}p6>SLmâç pÁMuó´TǬ)»þ»ÆÀÌò`£FOj  Ĭ2 ^u,0u-¼Ov@ÚJ콎1D‡©N2©8}¯½åʇ§„œUÕØO(ÿZ•[Ÿ@8†|ªö•st¹ñ,Òpf$pT¸ƒá iEKÁ=a¿$W6'ã“q² žçÚÿ)]ˆ ƒ/×Ä¿—¡Ÿ~B[¹–oJD;{o¿L¹@@±Éè¡åÄ=›MIjp¼â™Á»3γ7™ß±«ÖR²½‚®ö"lôÁ9«óëÄEÀ‚l®oªv› &²^Í(Ö«Á£ù‡)’ÄìÖ?øßôzg(¹„ Ò/àSb?»ÿtàîmôª™ô†#¦þ¬Y}'ä:”P‘’U^WsÅ"ÆãüMJíœù¶²ºü®Vúæs΃rpS<Ÿ#Tú¡B’5Þ‡@ëfÛC°|¯×Y°I˜ç¤¹Q¨Gê6åb¯J+^ñ•†$çWfì¹S¨ÆŸ?Ùbš¾¡àþIÉ&»VïÄÁÐyƒÊ‚¥Ÿ…&Ƶvþ‘™Cä §¯{hGŸ;²Ö[êóŠàS u70Ã16šK§ˆ°ÌXN×Ã×ùK«*^°Á‹dbÜ^Il¦>HüM'ÆÖ߯C<Þþ,ùíÔÃîÍóÐ î’ûÆ}ç*¶9!J'N6J~uã³–vJƒ•m°ªyÂîP#© Bêm?ˆma©’Íû¾Mê]#WWÿPùz8¯¸‘ß1âŸ÷U’~µ‰g(38Õ˽ò°"ë^ BI³l%=3NŽûW³ Ž$4±p ×*»VæºêƒvjçOv^À‡´ïè h¨`úI¤CÑͱ~r~wKͶÍs{s™ßûÊk¡/6rb–™C ö’®_cNùÎõ4ÎÔ< YÜPѤ[Û?-bÁÔ™„¡ù§ìžlçÉgèÆ™Ç–pP*9êR‘ –ðMŸ±pÌuÃ/`Ý»Ÿá[ê3W*üñ™Q`ŒDÑ4õ¿°Ç&ì½þ^cP²°üèŠTäaèe䡺îK…ckøíö¸™ìû¾…Mÿ£FÿŠjöÈs¶5 y>@‚ ŠúeVŤ*yó¡AÙFÇ)ŒÆ=q-?\ÕE€ñy@Y]|\Ó½tO%¯“ÃLJîË0?·_Ôêhª($J.¸îŒ²¾é‘Cv Ú¾É|›‘Á—ÅÎÚí®„$Ô._ç>¥AIɱ­E$*vøyß–ŠñF¤ÿÖ¤« Õ&›1é\”§KÙaûÁVÅ‚ó'ŒÛß³ÌïÆ·º„@bÑ"6‘”–,ÿU^7[ã`mL­¥_ òoúE%~Ö_‰îU]&ª+­QîÔ®ß*IúÒ[?^Õ'«ôLC›1H€Çܵ±YÎkÝ@é뢴½%rMRTȨ–®+`ZÆâÑ èA`|SnW¯wþ›õÜÃÄ÷óƒLàZTg—ö(ÈŽØbhw26&4ט¼ü©7·™†)PU2D‹íMîéÔ¦Ýó¬Œi–úVŒfm§Ž¬èig¼BåJÅ]XÄþÙ9…tK™7K•å¼Iß‘iA¨í €›càZx¦KS5™­úÙó>0a:~ÁD£WŽLÔñ÷ÃOŽI¡ANÖNHG™ì¦Óg¨‹Ž½±n-( ï¹½Áp0ŠÌ¨ý]yá?ÓÙuzBb'€-5·t¤Àþ‹¶ «‘‰q .çQƒ 06óÌáP5.X™ÒˆÀ‰‡(‚6@<œ`¼‡Ž¢­:­ŸÏi²gÖÛ<÷S«Å"β¶nÑgþP³l@¸ º|½ô ¼¯`(‰$f ø¿{‚,D†`B…Ê _˜Àx°Óáq,Òi,næzœJ°“º„À‰S9]´â€JП(¢42Ô°¼9ÉfJc×µ~Ó^H€ÑCäÒè©©àBÔzüéCá-œ^]D–d(Âиc|xÙ×C#ݾZ#‡UHS=ÍÚÈEÜ\oŠC°9Fð¼Ì në9ÒöL…PÀß(Ê‚ð¯ÀV`Öba³ ”õ ŸÖk´ñ€çq¶¸òë6vïÙbYÒÕeçKÞà®4.NHSŒQk_6`ƒ0}È£WÈ?£ê8O_ÓPÇ_}ÈäþoÖÀ¸8FF’e={6)rÙ7ñU÷î/;XN*È÷q¨©*½6Õ…`}˜ëŸþ÷2Þ¶Û¦úú d~hÚ+â>l›Êû¯âÊ}†²34'\ŽÌætR®ã´Ö"ɯª†Dï=¶s x» ÑƜ뿯EêmhñöWÁŒCDˆ9Õ3ñL}þO³{gsh%éN_œ&†c£‡®7žJS9À¬ šõY\»úº”9,}‡Æ ¾E“…5Ç-o«œ®v}o§O…Ý×,ѬBP}ˆ/1G*?ÙÑ’¡Ca©C̸š$±_z¸VÐ0g‚j½LÕò1q ët?ºb@ó¬ö,(V}™Èº'T܆ôï ¿/ óPpYß\J `‰l½Âl'¦ÒõÀM–%=ï:nŽ¿WJlß`8¤‚¶ù—¾â‹P7KˆÙ^±OÀP°?cèZß xeWÝ…Ú?LM(.¥¥Jjåþ‡whÈŽ©î)Ý9ÞJŸÜ.–I".vg±%]må¼À{!ØèqêÛù]&DÐ"'Zöù`Þ…ëÄXí¿õmGLh„ˆ;ņøîoµµúœqÖQ¶˜ÌUxB°†Ê0¤NiBËmÆPóßNÔÀ7M_¢ñ÷úð'¡]7Îõ¹Ð¼nÝ\nîFFh*;ÂÞ«ý8s›°T(]q®8R MånüýYñ|êòB(èÉRªÛýÞ2ÈȬ¥Í«9x²šhZàK¢ÝĈ3¤†Šo±rfKÌÌ·Êá¹;RL…EØvO ä¹!b6â©¶à ìù[Žá|Ê骅u’>ñÇúMŒt„ÃL¸—-úCzí,þ­VŽ}éœ[mÑõ½Ç¤Ž,‘H÷oòû£á^üH¤­]Éîb‹wz‚âfi]*¢†òÖ _Ε…6êÓ‚iN]ªÉI1©åzBHéÞåpÉjÂoÀ;˜ }©¨3ùˆÜz©~ÐóÙzWp¹&¬iÀ'­pÅ™ggý_zÑÖw‡6…h TN×™ tÎ&Ôõñv°¾‰zä¯Ö×U v¢ƒÏþç~'³f¯È¦@qYÂÌ7’¦°œôsǧ[HÇgO¥Ò;žÑO²âGˆê. Bã–^lyjÿ%òO|ï£Ùä,*lê·KpŒð0x’ODBj‘Â9Û«Vîl²‹¦2éÀ?+â Æ=à˜2f7ûU¥;d²·öÞÚT0ÐoQŽEóP¨êKØ­Ù=M«I²Ò‡ºâ©œˆ’ÌîµÑÝ~éNÍ·ËjN*§›5Q(-Ù4î‡_îC_ßD™2û½‚P2Á)PiØnÌ[pÝÞÆ;*–öïàG_þ CfttÚ¦|Â3"×ÊG'ÁpÚ]óWæ[)1:óËž©dK¶!ç\ €‰'”6”1ÚO·Ûj´§ÿ9ÒŠ[wgÄ£Jì$ã× ¦_ŠŒ…°£={XFsü왼ԉ½ß‹ Í5ާ¾ÑqöKÅPsÚ2ò:GEa«ãóï RyQÂ.ðP¹2ütŒ%ìK0Gʤª6w ð#øõ—…ð€ŠeíQ¼/p©},õ1±Öºž¡)s 9Ü=j‰Þä=ps†ús¶x@pð2ÿ4ÝýÅÎnËè®nª¬)Èåèm}õ<¨¢Ìrט¦ncÛ½ù¬WpU–Ÿoüøcb;èJ #¡öA¾UäÃc(yËE1÷‰úŒo©°Àº€{ÆŠ¹c²oLQ’"ìþ¡ð°ÑøŽÝýMæ¿)†T:m\ÖúYK–r=5V-v³òÍÁ„©©{.â³ëçgJðUÆÿR]jCÌZóõAˆÆ”aZWe„«Ÿ@î#É•æUk1ü¯ßš©¾3ÂÍSd{2$B€±mÔó Ìæ§^Îk¿A˜€>’f¸ie$ÑVZ‡©Ýq¨“ô¹ì?¡M;!ªHmÃrÆøƒCxeÆ%Mo›)Œ1U,Œ»0±Ü)Ý‘—ªPbÚ#Ýò›þ½FJÊ켨 n…|PÐW›x†kiŸZR¼¼j.‰Šm0:ÿmR)à:$ Þõ²˜C_o^ÅŒŽÝàQF•¤ûé‰y¨Á-·–‡®™´Ã¹|"·l…ÓÎÒ‚UP_ ÿÆÝ˜ g’åi-‰¹2äw´¥tþk…ßFFoÒ®æÄááŸÞ™—]$ ¥t>Ï–¾O.…ZUÝßHÛo]Ù;8ZÑç›™¿@:>%õËXs@ê.˜oµY“ëd-xÑ4kÍLæÈ?òêã`#$»pÙ-P-`‚ŽŸ$E¦ÚÏ5Â9—Øsþ:•J‚H‹ÌžèêÀiDÚ¯ñF—úP„9àþ¯¢áõòª¢Dï¯KY×›}‰a‹fEm…ä†4:;þI.ù‹ÄPÈNák›SÀ$üu4¸g‚ÝŒÆæPÞb’æ µ­Þ”=åªÄ‡Û6äku#‹„MWñž½<÷hΦr²ŸùÜGÚí¶L¦hu$Å™&ÑÕG´Š£ˆA œ á¯4$¥f‹l3Àùe;!úaû.µ“\á"]+Ù³À: (suN¾Ù5‰–ÍEŽ—H‚u[òö èî~ßmO+L ½ðsèÄQ0|¿c<¤sðƬþëÒîúüRåÛíÖ?óÎWéÙU¶öÝ\îP “He†Þ8¿WˆÁõˆ’×ýrþºŒ_î ·&Òë««%,Ú&8Ó$¬Cžó³ò(CË:Ö1ª¤’ø°Ü´Àûº·„bRÂòØKÈœ,´VÒχ;<>åÔTš —È(Æ ·ÿdÕv`¶F¦¼ eÞWdµLíåE]sü6ZÄ £#5CÄ­-¨líÐ÷·œ<€¤QñusEeQÔ!L×€é9ÿ‹7™ÕoSÐËçBÙç_úGL^7Ó”.† <:Nî‚„½¾ÉG¡¼XT9“Ð݇ТIàº6ÕíUêv?áþëÌsuwlpPMà;›[Y€BÀ`^R‘­ñÆ Ë 懸QÍÎiþ”Ò…b­´bS’E‹H™¢Þï|iR=Ñ~âå7/W¦ :{Í£Á/õ¾’:· Ø=™m¹ªÃD-cnXÝ À¨ìx=ß|•zŇaàk>ØŠ8-§¨‘@ÚÔ0Ç&ײX»&ÆÞß»1—ˆ}›áeO*9ÇËkÞí…ì0ûн Ìó §ÌˆHz™=ù£ÏÐ'Jã~1©oâ«R·É24©_çx–)Pð}OÊÍCvQ ‘ï.Ó`û èm•‘„·ëäâo¦Ù”õÓ+RÍü¯ä+_PÛýqimzJ_üc ùrQÁ²E6ç´Ê¨ˆsÝdQH ×\*)CSÆû*Kñ+O#)2T©É³ñºß>Ÿ·RÒRDý¤„Ù—‰¹& 2j~€¡;öfîØLdÌÅe#!(‡W¬ñÅÖ¯h[tEbò—·L4j ±b?¨þ¨~Ö ÕÙ_,‡q8á!µùPÖwÑý,Èž/'yõ}?ØŸXÌÄÜHÚb#¶6ÊàÊá(ÆëÕŒ´BSµCÅçàü¨V ¸RÝ¥ÓQÐ`ò ÷‹=2®œ+™—ÐúÙ ¦:õØ\T>»µ2ïšz­1Ðûí¨#HUïýûòê¥SÛºUüÓ~³¨ ¬Ï*Vµ3/©Oú^•T±üB7Êø¿Ž«iúGL‘Sæ R]&G ö(ŽÀ8ËJ.ÇäU(Hé«É{Å HøáV‚Ô0*N¾^þÅŸøßpÒ ƒŸÓK“{qÍžca²ð”~8àøÚ¯•(*:п‡P à€Hû°ÏˆGO5N­ŽÓÞÌó&i.ä@~ … Ÿ¼¾£<·¥e¬*¨Ï(ø ­$Ñ´‰|Có&Êó9é„t.5£Ò©7€ò˜ÏßySËð%=Áž‚Ïq°€À‹¿Nªµ4éK˜÷‰£ØÎ>ÏS+MLHµÏ¯™Éß’vÑ{š6ùBfç!üë¥e@“¤òû3Á)¼áL+Ts¾Ðã›~ò}œl[ hç#ÑD¨0{ø¹Ë}Õ‘—G@†‚£)ìø‚3+b…Å6h&î=Þ(ïàgšÁž™p~wÞ.òµçM©»;Cm–­‘¯Ý)^÷<èoÛ.C$à(Êmúö Þ0þg]fwÐ訋Pƒáãàw—^h4H©Ew#Cyæ»5MÔ ÚüqÈAºÄÆ,¨µ§åÍž{Ž€Ù©rVsß]1 Û‹4†—;Š#‡§t¸FÏÜÙ”Sß Q«gÝî¨kø8<åD–3A5(žaH£D$›âÓŸyÕ+­ï;f}›ô(²Asi¹ÍöYŸs¶×Ñ‚uÅUV K4ÌÂôÃѰnN^\Kí‹Ê1=|'jVÂj@#ë·¶u½?©tNéå±™Õ)á²VP<ˆbÓG¥ktY¨0Ò“›L°ä‹ªóñï·»@ŽîDÆiŸ3òJw?ê‡Ðí³;C_“°Í4>éAû¹aºÈO¼…÷“Ø9&VÔu®Ö¦{ôÑí™ä{0Ðý¾=9Wu;Ücn§Õ‚¡Õ„_ia{<™U¹HªO‘þOQ EsÄ—cmP¸šT ìOÖ1Ÿn×ÃÙ<tIŠe¯ÓM¹ ¯ÅeWÊ’äèÒ&aª$}ÝÝ‹ÿZÏŒte'! £e0¯‚S&°ÕM1/:(³I ·µø[—)2_ ç\Sãr÷F©È{W©1ƒ–•áã';oj>Š˜×¾Cñ,x[Ã2½A ­}–…m¯LM̘݆*Õ]QÿO'úïÍ}ŽÉ1vÀׯàûŽ}À/ü °ÂáU­lWÃŽ(¦N}”W"~¬Â樅ý„z®/$TûÎÄΔ#¯DðD’C¼§à^r}Ž˜ÑËÛjw~X*߆Jößzr“FšQH3ÿ(Ùö%çö9¹m—oZ´>\°Xð*Ÿ1køz”m)ª•‹ÆÞ Æ8ÊÔÆ2Ÿ>ó%ÒV¨ŸX9š¬^v§ø1±ö0šDˆÊŒ—óÚ/¬ëX²ÒœÁ²ÝÃTcX‡!IËߎ¬µ´ SDyXKï§µx …mI_4µ9$ €¡“L,ªš± å7xs¿‡TN áÃ3HW2u³”;µ¢}Þ¡bFÙå}a smFZìPÝt§”¸#nu$ö@ƒ]œfÐŽ Øä…ÔDÖMä3 å»x¦ïât~[,¦ÜeLä-Ò½Œ=-?ÏôlÀôÂ~œðU¯–Þ x±ÚÚPèóAÔað×ðCé]‘çK8¿%~Q4ñzß5Ö{íçvn’)“OáE\ÕiaLS—7¢ˆÒAP3M üÃZgÞž´ÝAßôÎ:‹]¾):û¥äPI7¢{—šÆÑíC’™mPŠ$Ñí4’×ôŽmN@Q2NÊ'(òIËTi¯øÖ¾:ò…š½îm)CxµÁ÷#¬¬] ‹`±‚‰éßQᎎ«JÂ÷U¶ Qe¥Ç¸3}ñ—àªÓ¶î ùvÝù–÷ßÁp¥ÏqÃçbðj W—¤Ìõß=m_j©Áh˜Q±V†"Õ´Å>“˜A„×b©A9ÌÐLù Õ=!áÜ’K³¸ã">u‹¦ Úsìá÷! j·uÂþWÍ…˜4ôkrÆ {#v¬ø#·ƒÌ%ÌÔÜe.qùÍ €!Ç´‰r§¨äs£ío6A^ ¯O%9á*l!/ÅxAk¤ª4°ºäî°$$ÞIa‰Jn?³^TÌÆHûçÚ ^©Z!“Úý×î]%qæ¨k•ºCíŽÈ¯°u6î-²Ic3$^›w žð'Ïi*hݦø›- €ÀˆB™súâLÊÑFÙG¨0£Ãæ)àk6(ŽèSPìA dîç㘚Z? ¯_±r^6ókwc½מ–é¬êªNO|-/…µW74›Úƒ1x¨†ÉñT¢§¦l4UX‰í(K²|ÞyJÛj5ùî#&Ï­ÿïÊnwèb$ÐqÞøµ7ýׯ|Äcó*øPY”+Œ¬Ð¸9e62=|3ãYƬ÷D_UÃ’ÿr)Ä2®ÒñøDir¨êå†wä=‰¿ÃuÀ !éKFuM2—¿“‰ŽÒë —;„¾çþU…¾Æ·²EúS›ÇéKtm8]¡÷ïÛ³ú/rÕ42ª¿8°?$»§Áô¿Å¿´|UkªÇøHÖíŠ8þ³±3?ÃçnÉõL}3*«™íaªÄÂðÜö®µô-Ebðú1}J2©M®¤ c¶ÄâðŒn¿KOöíPþ³. ×( Q¹»iäd°%oóÔà#n…Ð-£¸ˆ‹²°Ç-#Ë]þüá¹j6##úeÍFy[Å?¯þyõdô^"…ÒïjÊNÕ¸uñœ ghR †óL£1T îØ¯Ð2]‚è Á³ÛÁI¯Þª°¼9ò˜$ã¬P_êÿ=¥€¿†n§D9Yjd%hº{Þx‚IþLñÅøbâ8j5`0CtæHŸH£ŒŽÖuö›§q„WÎGX Ïì(CªRŸ·•sê ÊX×ÜhÞþßoºªš]ÜX&~X‹!ýÓî¦êìîBY{Ʊ C}+€ƒEiÿ¿Ç ÿ0¾e$-â‘÷oªySª"À/F2xæ@˶VáöRÂ-wõF«}#¿]º¿€S4gÞª„è3n Ö›º9À ¯ XK±D6Í„±IO‡_9Ì®N]+%um¨Lû8-x6²÷ Ó߬jˆT–L¯ŒšâGéójÑ8/Æ5=çíõP ÅŠõxþ-—ëë;þŸwô*ßÁ³¢ s´éÐî$.8ûkÎÞ³hÃÝ=ïl#´I‘ÓŸ´>Þ¡­'fjX1šýêpÃ31`lÒ(SÎì=¿«XbúåÝKÞ|XõLƒ¾L)ò`YiüœõØ#W8¶è#jír9A¯~ø~h€Â¼´‹»”G•ŠŸYÍô ï~ûM—Öv߉GÔ£Iö¡˜ Çœ[Bdm TÓ\LØš*ž Ò&99uã jdC”¨ÜPsrâ݆ùò•‹e'GWÙí!xÛÁl³Ñ÷v̇ºPá~©ŽÅö",îȦ¯ì„™b-DkGˆÎíUÙ`üAó± ó]»Æåùo:d owÆ18 Wt@›¶ Ì¥ó‹åAêV‘¥gXÅ—;ÌA•“>å?T`L~ûv·èÂp+¿:n­‡b¼ QÌóÈ ­xžþ\[˜ÍŽ– T)¿«±ç±è‡Ÿh$nŠÌ‰L•$è¡g—'¸hsùñ>B¥>ë®\¯VAßßBŸ‹ˆ-ÍRèØe$W•<ÉnñzdJX]–'!Ø~P½Xý*f9dÛ%; $2KMt?ÌfÖØRŠxsÃ~gÄlL7µ·Ûã(?ÎdÇæ¬Œ-[íõ–¶ ç(:Ë´—9ô åñþD KvÃCßm—´}»ëÏžÑêÍ÷ïcv®RÑéù÷¼®¿Kv¦ŽmÀu[K¹ùr÷,‡¼wAžÒówV’ W—§ÿWÛò1)»E!}MiÉàiÂXŠú·Í²qøâåëÚ8Ÿ³KwÑÞÞAó4åPÀU)œ šæÐ {[›Ì}ǧ]žD3O(ÿh¥hOÍÓMªÐÔÌ<ÒH×@Þyq¬ †³ƒ­u@(;¯ºåŽTË¡ÝÖ£ƒ§º=Hh¬”ŒŒÄ׿³%çëf™€f¼±ñm¥Ý:‹$ñ95Ø€ëJD€Qb‘Fô ï–åçº> «òY‹ÿ! ©à¹‘Ó˜¼èÁ\³Yèµ šŠ\ê?µªèO×Rs^#GžŠÞßQ½û*ª4šLßÔ¯h£®T#¦ðßf_¦Ê°ŠmþPëú‚ Ù­=ƒ:µž >‘Þ",<šò1Ó>VÚ3mÆà Œ¨ÔÓzž$qþ§ –°z̦¡Àip@˜‹mëjG݉«W¼ ,àUg¶í)xøHVËÛÅÀZ×e^v‹(ŠîÊî…šû€ìz¡ì"†]=z©·{-Ã× ‰ ½âV¤ïŒ…ŸÙ^ž=ÄëÞ‹òXC 1Eú½¯ùÿk«wÙ¬#OÇ#a#æ>Ê/˜®Qòç¹×Ó0} QX¹´bŠÎØ„à1»1&oVë°D:+%E#su˜¹ l`e«¢ÂwÈX쾪žltlÞËÃÇİ-¸K†‰¸ñ9Ft’§ ‹îÏSgç5ÖêjÌÑ™˜}Š1lÝýïœÃ¼È”21fEúøzº€n¦j+ÿã’þ2¡Qk{­´‹I˜¦­Ì íÉ ¬#Ñn~æ˜àòµž<µ×µÂH8ºÒ´ÒlÁ–¸9™l5 òß/$c¸ÁsN¥ö×싈çO÷?ð–Ýœ(UfÂB*ÆWŠÒe}Ÿ›ýBr;Î5Qö=?Æt$yòûÉ`¼ÍY7 g)Õ˜%3yÌ" êÍp)&Ê®O¬«Y#³ b rÄðVÑÜ _ÅžYûBßl‹…®-—TÿÏÃù7z/'69š$»°qªR70Ï@Šã‹eõþ‡öïáÒÙ: l½MiÂ$ˆ=¤ž\¡Ù¸® ê™¶¡MPÔÍØõ½$ZÞÓ Ës«äã/·Õ–à÷pŠ«%aü0Õ’VdŒ‚Ê|Ò§Rx2FóÌ2˜¿Ê¤SÂÄ‹"ÜMÇ1Ž}§þï½e½É¯ª$‹\Á¶ ØÉ“ÿK •„ZŒ®nЦû¨þ4m[~P.²Ï«‹1j4µj¤Uä‹;ûð›Óq"§`YšgúFÏRötÔæYÒ‹TÕà?F‚¹º7D%DÿEך¨ê°( 0”H aÊÊܺê”FtL£F–U8³@¦JN>á4T-džB’•[:+´ƒ®L p¼¸±9nc[®‚ŒÃ·¿ó‰ö_M3˜Ê~JñË}fÃí#âPo«ßOë™ßèF>ïÅW•‰@úü«¾c±éØtïW¯¬74yÕ…ðo$cò2‰(q=XH÷@S£ ÉO¨ Y÷¶Ÿ]…ÛÝ~p{}éÖzRSéHü¾R ¶!çÖ[&+/JðíL`½»|nP¤U)h¦÷É i¼Œo6´lÁm»‹L€Ú8Ÿè ü,VJ¦FUjÖa¢Á°T<ö³ÛšÐ?.~¯§»ƒZx´šµ‰ÁH2yKžÄJF$ƒªÖ# $¢\_í+—He]³g!>‹öÔ00w–ˆê)üP[a02¼¼í¥I‡%<×ñ`%Æ‹þ{’½?ñÉŽ{¶¦¬™A+u}=Bä—/#rÛÅÖ]0wøjÚ•Bd“rŠºTù5Qà2 {C·Íàåešp›Y®Ä7¶”Œ¡õg•ߪI…ñÎiʸM'Êâ’Ýá®öûÆ©ÈUcáh‹¢†°ZfCÁÀ…w©ý #ÆYYG"UNŠÁgeÀín4¼Ê^ÓÐpI#GäY×B6o£êù$¿37æŸP>NsžD%{+þê[TÞ”Û>ŒX˜ôèHe°û¾¤†ëIrùÙL<-ò)Ÿ(¯±h3içK)(×ìÌ ñˆõYty环»’¥¾g‚úÚ¥j'YõRÛhŒ!M›)É­+ÍRÊ.‰V«æÞ­[Üq„{¹Ó…ê-¦*%" { ÑcÅë áyâk8zðF“måž{ô¸r^PŸ‰»÷Ø¿÷EËQK/Udm%G[]æA-ÖóI˜Åízòz¿ :=Õxœ BUpÁ{T|8HW¥«Ÿ“Þ–kÂÛ ûO\ä§”mÙF`±œ»âj;nx:Šò¿Ÿ ‚ÊãhíM½çqL²EzοÉ(„\ÆZ³Þó[$£ÎÍÖWuwÜö®7î5„qúîWw,³5‘ ÌzÍný? °²zÁc:Uµ7Dã¸YV”¶žÐáFc¨ÍM ‘E#K¬°Ñ Þú”·3ŽIw:«eýZ˜°Ø¦{XI¤»P©~X‹qTÑ„—ë˜*ü3©PÃ!É¢’ªÔæLy©Y ®æYP•EÚÊ˽rñáþ/Wå?u弿˜øh/6}‰ßø4åÛCí¹5’ã=íðÎL&.ß"óù¨rç–‚MØní=QÚÿþ›Ñæd¡€Î“ùމ®AhÇGC]–yvg3 {J°G)9ZEì~Šp—eUù)ÒiÄÕTÐî\bȉ½æ§»=0mŠ——ŸEA)öô27G|Þ›o;V¾U€„I¢°Élånä+’O+ [‹ UêvWm¾píònvZ(øµ¿P3Ë,žáeÌmñÂ\ýBž’œK•®¸PŸLØ ËN¥)è9!)lÜOWÄ)–MJ$dàËÃEØ%/’KFºñ YÁO³½Ö©.Ú-ɸç 'ˆÖ®‡¡ÿ9›1´*N é¶×Ýô|NÈUÀš“{èZŒ¿Å÷H˜:‡Š©­.LÓá…n*1ÆÔY•ö¼twª7Õ²2ø…ºF¦}Ò°däl:ØÐ¥q¹,Yúe~«ûÕŽ} gƒÐ sôr^š’ –W´“ @©s°æ~¥%‡jêö™'“È#6 g™±)ÚatÔK £‡Ø §“È£&Èw;Û§‚»|Þ ¶Ygmà[– EwÈùÓ[¯˜…Ÿ8jÓ#~åœø‚˼QyÂìÐ&'?ìõÖG9çnøXxFâ ê-äÏW±ëoð„<ˆê á"û >]%ʶ¥­§®-Œ¯£¸ðkiN(ARJþÝFIwA×/—Ý{ pÔEr¿X¯Ïp×xùzç”"œçi¸W)9û9/£Ý[tË÷ðð !ÒNOôäB×@–ò–Â˼ v:øä ^“^5–qöÉÿ ÌN6o’ÿQK<_ÀM<\£íh]:‰¤õ3¿kÇØ €PÉ=û¬±»Ú¼Å«õ4vN2Ñ×(€Gÿ5’MùÌ xN'Ñæ*±¹Š¯àYKewÞ­3cnÒªö=ߨd¤Ù=‚j€Æ.«ñûb/ö0ôŒ}ê (ÐfèM²…ÞÒØö‘éEa£Œb¢À‹Ø.þ¸¡ ³@\þ—»ÓŸM0SýU/ëÌDpe-ìÈVÿñ3Ñt-Öæ\'å»z\©µO\¹[ÀÙÉ\ ¼Î}©Ê‡î—ÿ³Ü¿±|ÚfnÛP±|#ðbK›ç`kS°çPéaný;¶¥ãcïÄåS¼&+TÚãæs1c<ÞÁ¦á¬ÀLéåÐ/A"xòxµÓ†”&ü5°% _{ýÁȃ’—¹²ÆÏÜÑfÂ¥¤Å6eOÁ°ÔR1FB· ÞHyçuý<á|;H…+˜èÄž›ßNÜb×F¨¢Þ[{½’Óxá¶ê“ÏñS¡bIóÛ?ðq#?î1­‚`™7©Óû‡˜0Q÷q`.©Ž!UOPDÙØ×`a€È(†»F(.+/Z‹+î‚7_!wœÚ<³¶ û¡X¨…ÁùÛÎ…Šä×Êç>ç´öXŸÜ~éÀSç±z.CÚ3N“AwÓ:Wñ’jĈ™ô86?ŒäS¾öóÞšfº‚ö7XÏÎÓÉô‘»ØíäŠúΑT}ÐÎC…¦¼m=çîéÍÏþðT^òxIwcZF#Ö?&JØ¿WAØm¥kà#ÅàÖž:o¬BŸ•˜ P>ŒŒñ§¡\°8o.@ƒï§$Ë!Ê d«‚ðl†"|\ß&°@–W!¥¼µ£ êì-âù® Z°´'Kç¹j¥Já7•Ñ7­™†CÙ‘NeOÔ’ gEsÆñEOÀ$ù'Êö½"“éÜXþ.I) Œ<ÆÒ»¹¿LõH5ࣷUwÐ[æ{•œï2b^Ò¨U¶x-ÍÅhq Kfr08=¼hçD¨%ÐÛm Å•€#q±F×eœï¶\­4ÊP„Êɘ&…lý‚éØgõŠm¯ÔâþZpìïÿ¦§Á±˜Â¶'™‡³Ã‰¹Qñ ön樜 {<XŠ0žÿž-˜ëºS0oºj79¢ðË«•ò·ÒQ2{€l¬Ý¡"öþߨ'Q3: ˜µ[y[ Òz$Wg•¢XIzt&³¸>þ/ý<}•[Ëž¡÷íŠÄÓD{jÒº¹‚¶ gÍ"à0º„>ˉll "Úì|\ÛÙM1Og°ÔlÄoÒCüp#*}ý¼ˆ·ôaÓƒ¥Rci1È®Þõ@Bá¦ÉÍbÎÕšŠ)K:Àa1j´‹MºEî@¤ŸVqbÕŒüY˜J¬ô³8zªéß$¸ù4eW2€ÚiOôA°÷qþç{0Çú|èõ7»KFnŠÛJ¢¬víIýÕÿ´m ÙáþÑfªiÛ¬cÀXý±ÃýuÔõÏUÛ¤}¯þV°Ê&3òE¤Fi XŒOÞ¦˜yÄ¿GÇ.9YäÒß’)S½?L®‘É‚>‡‘¼4ˆ÷ùAh—Z÷¤ĺEÃÐÊǯx-)F¥àëwNóÝöZ9  ssØGÛv0ª¤W‚„Y›ßœ=jìп^Ñò1•˜fºÀæ^5Â/žì»}^ž~{I)Ìî:ØM©\üÚ¤´qŠîuƒ°“úh:ÖˆKvÖUeN#Øì(Å8²þPí½¡d7ÿcû&îdi1Ë{kÐ(í:q-ÕßYÚ„~c¨°T]·u;Ì •*sZÆ‘66ó¶œ"ÔÍ”ÕeÉ`eô)ÆY²0Y…Tmú~'*¿ÃAû¯#´GU}—#Îþc3ʤQü¤¨úI¼ÀWDaN%f·Å¾¦XecW°ž?ÌZ‡Jމ˜Dѧ/UúHº1bZbs¦æzäƒï?{«ôά…J­î‡#|ó(`{P‹©€ñBªÂO”üBâä{ IÊßU‰Š|öyëkòÕ3h+ µ‹Y³QyóÄÝ‘¤J+OÞ …» tå×Cæ`ëE“_pö‡ Q^ù?DõNGظ eP-¤ËÛ´G ñÚÞ¹*½“Tb;ET˜‡vGPüº:·SðŠq´ åW zÆÔ©£…xv)çÚG÷}Á”ç"Ü%%­ˆ¢ŒÁïd"cÁîÖîÛBP7$t®ŽS«¡Z¼f@•êÅ“GEÃÏ G“ðLÊŸVýëÃÿ½[5%m…ÐÍhƒ% d(ÁÞ”Nä`)‹>”("Þ3¸èò V`ç0óo2GrõqîðŒ@Ó”²å$‘¤ŠR£7E6lnë|küJááÆ3Ýf?ùéø7„“Ãʲ¼Rn@|z·@„‘ 9‘úãoþßÛ{ÇüÌFBD·šm2f¯Ðç-ºÐêzþÀROšµ.rR¾­\L>Ÿ‚@ùÞ‰¾=é©/ÝMŽbP0LkpÉŠ1œ™îw#ínÐÙØŒB.×ø¨…¤<¾`Íeà­i¿ ¶ö¢ƒÿ·uÈYjÌ ;Ðt˜Ú1ð”qÍ€Áú€Ûoe•{oÿüº>ç-Ó<ê()43ɼåÕú½B¬èôùu±°Á£Ã÷\íO.þ$ÜrÁ*g•¯tº„œ¡bÚ)ÓÔby‘-äl5sÕŸãàJ“‡5´x{Íͺ‹½b¾¶Æ£–œƒÂê»×V–Žwq€]ÜÙÑ F«{Ÿ½é_'1÷¤§`ܺ…ꊙ2£AA5s/nù3õø1u<­¡•ïCLB¾@3‹¸LäosA›ÆA{S ÈáÄUOÖ R6ê¬s+¼×„Érî¸wšÌBRâ>ÕI axš ëôtŸ\,jž>d“Õßo öaÇZÊŸ$Oã‚¶žWæÆôÙ ×kCη%$Ûõvl†%ÖÓͿֿmè‡`:û8zèÇ3áÿ­9m`;ÏC üAùÂÕ€Þ‹îäϱ¹6¥Wwå+”ª/Õ—ú²êk»¯»a5:]ø¨Y&P7¦‘»Œ¤'bA¦È[žÙ&Ð*­øÑõxj#Î=Û©­–“klϖ̵íX ¼¤^<éÞÜDiÌܰÝ$¯\ß~_¾þ‹‘Y›ÏœÛGÎÑÕÌ’ö¿iù·×·~ü°j±81¦N¾É§Ç Ý£©ìؽ£…d¸ÁR<·…Ù¿ø¹³ø¨#õžû7;iŒÑfeŽ”©=ªÿ£,× ¦Ô-…tvÉò@8¡]ì"¸”D;²4ÚµuHÔž¶¢4±äó¡C_I_Ñó V<‘³8Bn:Ñ¿$¯MD³/À€¨i¿èïB{s¢ÄC)¬J'É{%°¤¿æo’8Ÿöol÷U¼#ˆf^éÄa¥ùJI«…Åã¹ ‡i%­]÷ 9@”Eà&¶ú`n ­ƒ×HÔhKaóT@ÓS 2K‡Z4µ²ÅëÖ,Z÷:•¡ã6Q¦ià€r¯Ë¼Âä.ƒ¸<˜{)ñr!1)±Û"¦YKP{œf[¡ôkP x±÷|c!n—  ŠqH ?v7£{z"ܼõÓI’äLFS€ô·ÞKõ*?ðûå_¶ŽÁtj•F}ÏrµÂ tBeue"  P1´žŠð»T¯)ó™ÑÇðü¶nä•ÐTŒš°%ª=Çäû«l}ðb­ïïPó¦¨ ‘"‚ D°€ô.¶av•¾Ÿª„»kðìµþf2èLêÝt¯sÏÓÚøk§ˆ9ÞQŒ÷¦ÏÜ>È{ Ìyi9k„5ÀD'i—ü¼®‚NÆc‚*–"ˆ"±èÝÎEtî°ì@WÎÝM ìïãÄdœ)7iŸzSŽ6Ü)6S:f£åk×õ_9£¦S,sá(þ”³>¤ú)u¨õè½Gˆõ,@6lu"0?|ÅòlYÆ«|T‹`;¯y§hþgÀ Õ0*Ÿ¢«÷²¾«NWôñµWš§Ô¤-’£{ßè²:q „·Û87Neg=LU™{þIçÿ¼ëH@Šœö j£Å¨öï ¥o™PHär`o Œ–M.Ðæ‘ÍAÅÇzkå”›øÌ#<,Àö ªWG;Îz!Ó3……•Ÿl¤ÁÕ³Ž[–ïØ %Z·V€az̃S¢°.Bg×n¾QïêšCsï>Ȩ5xÝ:‚_{è#<`G¥Š·œ ›ô¿›¹¥AØ.¹W9q×d]—žÇ‹«\œ”OþT°’È ñà_äZBîækÊ dòÙ!vx¤Ê9ñ7ŒÁë;îïC~|x·IÍù«Ô›ªÉxf"EÚ¦4%Ç©,Œ¼¼žð A·l *"|8~Ü6À÷Ζn;öåŽ*ÍUyà!ÎLƒ,ú ’5Yªø) >ÊäëçüÏX·“z²¨hçúQɤ‚ž[tI\ÖC©´Û<ñ>æøï’-pivDࡀ߿5{ÄZ…e‰›ö1ÞÐ)\ÕÖÞ’Ô›Däó¦‹Þç3÷ÇuÜ:žÈx4Ë‚Bt±™%jcˆSøÞ[Iøù îPà^V“a{êrh@ñKãOEQTãyÎôUqWV±È³½«¼âøØÄ÷&¸9a¦"’û¾Õ•f¼’0ë£HÖeð¿Ã½®òÄ:¹É\§ùÔÝÿýƒÅýºÛ\ç¾iO¿¯v&˜,ûÐÃkµÍÊCé~ÉOÔÎç:c]ÍUÀ1!ž6\ŒÊŒ½hj})Æ&"ÖX;´ûGvšê|>4rj9• hDÕ‰Xi?P$‹ü/@œ©ª]‰ðæ½3nþ9 |ØÝµäÐÆò?ˆy1º&I†Ðn%Cz²iR53èŽþûª›Zm“RðÅűq™ã𲺷n7 eªÖª4Iòg‚µú%5Xî¥ÿMŽ„tÞ€é@”¶y|ú*0ÁêÝOm=0.ŽâãY€3Ý+Å26/êtj} NôuǤîhÐä–îB‹`$ ƒÊ•’è…øØªëü&áì…É"W0=’ÊÈ#&­û¨sUóªÔ<,6ïHäñòWº=ö}ççK)+Â8¥Á_P!ÈjúLleÏÒVwÒŒ¼SÙˆÆváŒÝB>˜a|Èi?HÖ»˜‡ûM±8çV% ‹1•áøz,<©ü-`²õšîj¡Ä#Ó|<çXD3±&¸ °â?üæ–H®,¡Hø¹®„/«Bݧ #Þ¥îÕBâùñ\4²Á7å~Ü€·ºe>ŒÊ]/8Þ“oå2¡¾ëpÈëKÒ‰7uz®lñ αKÔ°ÈSíUáfx—‡>”z\¬µ\/Üý¯¡šƒuVêHÍ](àxX¨’³cŠsAÝÆ±ÇÅØïzzuäÚCExf0ÂÕêå¡&ÏÙNâûŒ@v®p4ÿR-BámŽí×Û´•ökŠÇž…°ûÖRÖ-1µÁ›ï‚ŠÜlµØE_Æ?$ ùMã«ë{æ*åêÞÞ¼uÐÏÇìhLºÄËOü»Ä]š(ædF‚Ÿ­vSÄW.Mi!ÛƒBñǸ}Zuà£giäéwàÅᩱ:75õâcYW@Mc#Õ&ŒnÀj€ps‰Â)u„l#Ì•ó©àˆ:?Y*鯔äAn@“ÿ{ Q43 W%Ûk$§/´±‹Ûi ÙOü«ÀpÊáŽ7ëÂ}ß8ÏÓ¬¨z7·Hüz57À²nzH+ ¸ „T›áеDÄ¿sÉk.Í€šj®ôQÉÿöQp­AKב›¶b·Ûªá±Ù}JI³³ŒjìØwÕãÊájL!OïõïÿÃæG0…zyDÑ3mÛðxšuËî»’•4ŒüîKQ ‰8ê“•þ•êq‚-Øî1 Þ§_tI¨-PF „™U\|*èÉ¥'·«kln~1………V|ZÁô[²•ýœlýiâ(P/°(Ì(ë”èÆ¨*ºN1+9=» 2¯¬…P¼|ƒu%.Xotõã (7\LŽâ¡¡mn†0ey@bĸ‡‘õ7 ;¥d‹j¢`‹!–¨çÇkniÛtƒx¹[ðW'0 Ü8H‡` ~»€ìÝ­õMFææ2QšÉT¦¿ ÇÙóÊ*¥Dk2®‡4®ZFß^QM)eJX×ÈPn›êIîN-7Œ*íìç:²«­ªAœMõ9õã¾Ïn&ˆ<ƒ:ˆÁ¤X‘ÓJ§ú© YBnnS+z:˜²iÿn-œTWri}@X9è,ÙOÁŸ(ªÛ£ ÷P:Á—Ð ™€|Fâˆâõ¨–E±sZ·ˆæ6¡äÙ]ê• ÙûŒzq±u-µ˜œû.Lm´ëÉoí~–õ¿ ®è˜Iûj¾>)›¥â‘üšKûž$•lN/b„z×X×Õ‚åDWï”k°…(+‚ƒü* ¥AÂØÔX¶Í¸Ö{¡¿`ª(\NÝ¥µÑíǶçƒÇ÷$*òå -—_âF>1ä–r`.÷–²©¾Ü° ­Aß; vÍ0¢B¤]•Ñ„ U&y(Øë©Y¦À¦aWMU?×/4É÷jDŸ”@¿Òé„+Ÿ©öi£O+AŠÌ7ãËÛ=\çF/@h£Ç5Óäj9Ö|3:@kî4i/¤›~I°£g_½—W·U<Ÿ¾xÆösOµgei͉À䣰?õ¿;N‡ß+9ŽÁè÷ë‘Q%=µÂycrJób-%!À.Órï·¢øQý“ tçâîïw.æÁ`é]ÙÆÒ4r“ãSsÀq07`·²Ó.’™˜ÇÂlx$í¨^+EÍÅ”P D†f¿è‡5Äiq1?Mx§¡ÚÖ½?' »cÅÏ?I(ÌHöu8ÀàÇ Þêÿèsgý‚¿”)îÍU ŽÏº·k«êíÃ2Ëi«­s'šAÏ_bêˆþ[\kõÅTÔ/Ôvü†/ø—nȾúüû)œt¾[èæy„P´=¥Û‰ÙtÜnº@…úæc÷íŸ4ˆ*j@¡jù’œŒFò“”ÞìÉ»Vnñ¶ …Î øužÞIKJ°6Ú‰<»¹aÔN¯èÏ2M–ª£± Ðþ†WgÑX·ö‹¿}¾:‡g` Ì\ålµŽÑrý¸ü‡£ÈXja`qÈoáí gšì<àB"÷‚Èà¬CÜî€ú—³?5Ì•–~˜åNU»‡Î)c䃰èéˆ-¦ÀˆÊÎæé7aI4t"„5–h !–å°,9¢Ò9¤—fÎLxMÄ8B°¦`¸š3ni¦÷¹˜¼Ü®ÎÛ׃.XQ­ZñEéëµbè&¹ùL†Ã9a§îÁeïkë~Çù¢  •! ïuÅ›SÏ‚)ZLJŽCô<4»J²S´[ ŠXï[&Ù’Ôç×[õ`RŽñÚ?‹ƒwcwAÔùöUzBÄ÷Så3ùT›0þmà­B\³í^}¼GÞÿj]-Ñ«\jÑÂóÍOWü²H}žCD«d•×ÒŽ*ûòW—óįL{0®³„{ɳɯê>Èö£É`=2£QfæÓà>2‚–þ[`8ˆ²‡HHÍ˰p%×îªÑw•Ž$Ýi‘:ÞF׳߮p¿ÖLE‡Ü Ê^­1§F®ãezGë*«¥è¤ê5>À"H}5œ¸k¿!Œ†ËÓš©»¹¨bÖÑòæ5Ñáó…ÑHP0ü†S:X·´Ðôn…;_(挱iáè`Œ6è9ç‘÷® r ÒÛ†ƒô?WøƒØ€o™°mqË> .x¤t åpjQoRÅÈX‰‹µ_Þvñ¸Hñü% ót\ ÓMÀ×–|W€¨BlPa°ª˜Ç3—dølp>3+½ƒž‚Ñs«fèí&Ãe ü6’zÔÀjŠë¥Q-y 6æŸ:ÝÇ’dôÅ£uÈ,Á<¦çÄ‘÷H9ÉáÊ,¸v?Qµf’jŸ1íe·N¢Wùû¨jÓvÔôOûÁÝý_˜ôèJ&¿HEó;–µ.ð©+o?²äÀmö}TS¸¥Ø¥8I3Ü÷ãðÎgÏæ«>˜¹+Ò¹$·€pkÜ¿‡ñOòµFnXå×¾/—7kHdOš‚ÌUÞOµ&wʸ€Ï{ ™'·ž•¬\i;1ÜG'å€Þ‚‘61N5vŒõá‹­S5ÿ-U,?KÏ>y ï±MÑqoòo(œ§çYb¯‘ƒûö«±=.B†ÿ™\¦|£·C¥…бg ÀgIº "1Œ †Å¤­g‡Ëd}¸m~Õ]ýß20•¾8Ó€€²ÆÃqs’d^%ççeŽÕÀôCOêˆ1#>Ûô©òœ;f{++±syVæ‹'¦¨ƒ›™¯ç‡tú[‚I˜Æ­Æ^x0˜,8ÙzÕ>JLÁüÙÅ´pZÂ_è/ÈÎUͳ½þ9q Óœ7É©}Ѹ?ùæDï¼ÑVoaž.<¤ºµéòB·Ë]Q¹H+ÌþÁæÓFñ4Õ±6Çyl>ذ Ÿv Åø…ÚG3ãSï—h5‹ ž…SCåLQ¼ê6H~S‚!ã%‚Ÿÿi$½r}E„Wõ WL ü0ªR­¼ Ú¯E”÷:‚ø™Ç‹V¸XñI/`Ä€ž“£ËÒzc½d¦Éeö_ô̼ëaºÆüËoñ øGS½ÜèµPÇ4ˆ•­~N!²Ì.*˜ßƶü"šc®¾óRwiÛÊ?M¥ŒQå>°*hŒmÆfŽô“ £GœÏ1û]t„ºn~N÷u™ñ'N» W©06—¢W ß6Œ4½4i}8’fF¨°¸)Ð?…šZB¶!Ò"ôU¨Ú [݃ tU5áÙÍö!„8• û·¬œØ¯½ëêH1gÀŽO”hÅOŽb³ÞlUúh;Üs-ÿÂoÙBg Ÿ™í5ÿ‰ øë¹›5Uò ¸¹áÓM¾ÊËÎ%‡ pvñÚKr¦Ò[ND6ÛYÔ}üƒ7-Û¿¨%>ÁÈ“RÙo…ûY¬\ÖÔÓjÇ(#m0:ÎsÖyèÓ!¬ç ¹§ªÖÈ$bæúaÖßX8LlcÔôCÖº;·ñŠÖûjù«NÄŒ¥:4if´âK<<„­Ä§YÂû“G£âÀæWºrJâ¨á\sb“ÜWILF]jût~ùß²„ï°lœj”£$v(=% ¢L^_³|£ÐËÞØ§k“´SJr zæ{š÷^oÍû`æp'¥œMÅnËàé¹YeÐîQŸ…hM&t¬Õ¥êñN~¸•òîZˆí Çž‰¤–ߦ¾ýÓHüN®,·‚îbšwxzŠ NÙ ÍâÉb¢Çk]_÷¼PèÄ6"kƒ‹‚rgQÏX:—¼ Xä¥ô Þ3W5d·?h;ÊÎtäÍ6a*‚iB Ôd9[ÝÞºîñ€ŒaMŽÑó v7i˜´÷èÈ–lSNðñ¹o8Ô×D¥T3!ÒË È䦽qŒ ™O@XàKatpܪ"(h©H°|jŒžþK?ždý–Òys™õú†}óæG´è׸y½j¤ã3ÀžªË™"£§Vµ½…ÚÕ‚Ê?6†§2É5ÕtM„ºUüÄðÛ“5JѧjýW´Ý.Šë‚Öö¥¼@«bã ¼´ ~PÊc`££¯«*¨u>@uࣦCò™ƒ8ù ±ÏCþ#KUyVb‰n¶<ÿŠ£“¹áU!3›*-aSéYà·?›u¯7æ7°H£ÝTÔ™Xñ)±Ö}ÖØãgÝ •‰cÍÞ§xÚŸ!>²]ÒÎdzü1Â8>“m4$|¬ªbãrô|oŸ€Ñ*­Xqó0c²ÿsìè0ŽÖE§·‡Y’éÐÛ6~q«[­%|D³¯å‚›DŒÿQÒU°¹VÌJ/0Èõ;G¯Ñ1=aÈØ·Tfõ]9ÿÐ×òv>6–M·ß{:¶ H‡CäÐ"}Tù,él©VÓü‹5r*"î]¶cG§HƒŒQA•’^¿v… ZŸé±õðãµ`Ô»uHòuJ©dþ´o×#§û^"“btÂo1[o“§ËF¤ -ÍòEþÕo×Ù¸÷dN§z±Š09†8¡¸ZFX^ó×h£ÌkÐ6w?DNQn6?Åâ_1\"ÉôÏè¤gûR„IP?|!Çù ‹žð·¥´zòÓt—ÅîôÁŸÔ-‰eýý $íƒÈ§Ô!g»»—ˆ5 m@bDAVþ9Ý|¶ý@µ0×A |13Û gÑËçoTµ¼pWl?¨D¥© á^v’]UñØ)fvwš, ôÏòî ;h~ n {¨¡tÔûÿ_ÀÃ~iÏyAk&$ŠS"­”æª Øu’²\¡(›¦ÇµéÀ’{ÿãáÈðÉÒ⌠&æÞFÏ_Š­¾`Ye® <¼%¨D EfÞO87˜¨º•·Û÷~¤ó;Øî¬‘ë}USù óX¡­Áqû«öDOêrªýÙÊp{ ’æY\< F˜`Ç™QiSJ¸«~d'ˆÐó“™R¤÷óOfÖ›SåxCA‡Éy¢¶¾OG®Ñàãøôr7Ò|‹+Žì°§Œ$¹U¥-)jXX¸Þ~óÆÁcßd·òÔ¬ Æ(MhÈáüN6-K0SAB³M¹Ÿ6EO®ûš PÏßÑ›‘øpç Š–‘3r1U³š¡C¸à¾¡1G¸öC»}ëð{ ¸=#‘Xá69Þ»'’J¶m¼ô2äJ¾ãÚ ¡¼eó<àôÕÝÞÖð¾]4D 9ýAô«ÒÿÀ…Ô%¤Î·6VZ{]Rž“$Š…m-.—ˆì¾{ >uèС%h¹¸ÉD(øé— S¤WµäÑ„4|Ôj’ÕKu¦s™3u™¾Ûu[¦Ì½°§*}IZf^’Ns¾UÈöÐkŒɬǟx”§+îIµ°I)Þe ¸Uû%2Xðý‰Æ0¥ ™}š¥òÖ­€«^¢ûI*AøIÉSB*bçRÑr`«7Þ¸³·ÜmQQ…µϬݬÓIµÌ"†‡"ㆎ—†”ÏiT<¨ÍøfNlÒEJrk ”âpþù/*Ò#Èð€ô^Ṹ£^(…?ˆƒœ±t¡úŽ›ËUYæ»pzöÿª{P0mÜ»ý‡ñ¾ˆëÍ Ü«<ÜF$Ü&€'¸hñ.¹)A¢Vœ¸WWVÀyº-³"è=hEÎ5 –öªnØF †Ó„ËåÂïÍ?>|Œ\~õòâ§¾·IK]ÐU €?ýÃ(CøFÒß‘$£¡_òžH(pYtéÂ3Çf§ƒÆŸ/o‰ ‹"ËoO?ÏÜSà(È#aßÁüwøó+ º4Ù÷Íráî—Ü^i²ª`ta³iÛ˜hö\×6Æ ¯Esà;wg¤Z^£çö—u*+þ_Ûʵ^Cõ„ÝgŠÝ„8 “Æ7ú(-±ílû5Ð u§ü ½;jîÎO … /Æ@[yn?mÞØËe–ì犓ŒºÇwßY.¥9«^#ŸÍv€ÑË9JâDò³þiÎÀOÌf;&Ih'ßbZ'–vF²Ž.áe¢º‰Áü>—ÝtLSÊ {R¤Œ1× ­‹mî‘\ƒŠ-›`.»„ÁëÞ ¸ø±ý^‡­ aò×þçاG™È>íŒÅ8–†2*Öm‘wX-@÷H Q(½¡¸¼ÝüøB&¢ŸYœCbrh¢Ã0>{Séjx`J _ƒ,«^87@O&ªÓ€+/æGÐàuÇÓ%ÓýÅîþÌ—bÐjˆÍÕmž*=£h¯²˜h¶rËšf¦cj­üëšùïCI\÷}8·kV“.mñ)>FGFòσç\êAбTýäJàFE’–/ÿA2üHÉCC[y) sÉ$Jb^´¾XRX®JšºZí3I%}׈}¨Õ2©y]!t"x²X„Ö: ëáŸHá ¼[DÃÒdB e@nôôÔAÈ•Úê-XšB‚NûæEE.ä€àË7Ñ„{œ ¿ñò7/¬6%>+駸C£: éÈ׿vD T®6+ìnÁN…/Jàâ}!rü÷|¦Í}õá» y2;}Ü÷N?p+E]±ÌÇ~a}È ¹Œ37ŸÓcÈøÚ¡=Þ<®0ÀJ\ë{}‚ùª«ÿpébBr,¼é¤®Ù#ÌB.}ïwy;VúBê˦¥;D/…ý7G€Ìôì‹_û¯gÊþÎ »·w8ù,Ä:¢#œX~ôFq–uM4jtV¢šeÞ£á½j„÷qìÅž˳<²ÕÆ¥ Ô'˜Ëç4@õ¸áR@¹=pŽœvÞ¼^}Š} (…¬‡ÜzÝ»<ƾ´|ëäý–cƒ, lÚ›"ÿ ”ÄŽ´W¶¢„·4ÀPEeã˜oÙ-§L–YÆ,èpn z¢3É5€ ù¡˜¥ˆ}ì»í³à{ÖŸçTt %mIløèDðÖ[Y“BIðñàu…òê9‡—À‚}}ô—ã}LðÚ[¨tQ,ÄËèÄÙË{p‰xoOœ$õÓÄy¥Ú€œê%°ÄÈz~¨Ìd9¬Y÷»‘²ð"=‹Š ¤B…¢ï Gœfa Ä—ä\)×ÞžšÀ; ‰uáŠ2ØöGô’X1ê§é©Ïœ4³U¸ÿX6*ð$G9¤a˜Šùóáœ` ѸfèªóÞ"½{êmpÀ†_Ç( gȨ³×<È‘‰¢àÏã: ³rÕL^L<'ÌÜô¹M«…©¯Ú¬”¨Ðâ#ò-}G÷ÛŒJ*º²ìF:eoüÉÎkþÝÿÞë~–Ò -c×Cmˆ( h¥X aÊÿñöQâ ð.ŸKÿã,qÜ2&…ôÇ3$뇙»ƒÏ l•0‘Ú\’L¾©¿sT>~!ƒ×Y—Nøba¡·-xÁÐH~€dT¦H\˜[  Ç² ¬vŠ­þy|2O R9y}Z¼½„¤Y߉)¸$ 8¦L4Ü9ü½Þ<5vQËÎ è‡jRƒtˆûanÍ úœŸæA‘©€W¿i¨ì>-~Ó/C»Hó¾Céq´*8Ã}6ûŸ¬À¯‚SVn$-úÁ˜ífŸø‚Õ®%TÌW¼®]¦2ÊéÔ,ã”/©¡TjN"¾kyS§uC hŒokZ‚ÉèÜ\µã-ÇëxnFàßC Lò‹ÌîO{&ØÛt_³ßjIPŸgsÏVwhÑCOÈ“ŒŽoŽ`ÖéÚéDÙƉïÆòÙó’¼xèú“ªc½àþ¶nÿÐ~Ò|‡tÔ £ªÎºÅ¬zº.uP ƒoöÂSjbù›¤uÌRÏ-±Ð 6Ô¢¶ø¶ñÆšt°¶b–ZÀ÷B”•bø.üà1jÎJ¬k\î#’çNO­SØ®°hË_˜"o½¹Õðèœ?pN±ß-„!ß°½ô…„6#¸Öâ"Ši1:×_ò±,òº¥ê½¿iÄÈÜ\î¯f˾Í-KÄ•Qe@Ÿž æÏÕK•ûE]vºùØÖ(™©r‰®y†òã\Hða£‚àlwœ5,Ã!ï_¹q7:/c\ޝà€Ê0mýiš{ºŸ}„¶.}«ýf_§b﮲TÅÌEJ Xž…'‚AÆï•k9o÷*Møœ»àˆÏFà©nO…˜3r ]8uDKcºÕŠIœ­‘G@MÊ…mœACv¸›B‘6½4ãOœ.¡4¶FǹBÿfÕݯÖÆØÌÇdÌO6R¢XôµÃË£AÌ+˜êìÄUªHÿÖêëî _ÞÊ\ v\.˜?ÖëdÊ·™àWkN¤3¸c‚Ž7"8« ŠèÜbž 8æâŠ9|òLBóïäˆr'о×uKõç1’üÌD$¶Qgï6 k³šâè{°˜ï;lËZ¥~ˆ‰opÎÿC59ŒŽî«áfg‘Òíž©Ë~™R¹>“ã(Þòh = ’ƒ<+b¼!E¬J Óг¤Ôµ˜ô¥ø1•",¤—º (òFà¤#1z'Ë©­ˆnæ_""ŸõSî®;ÆÈÕm¨4t ñßæy#aðàlLVƒXÈ‚­¯rF3%ØU(SúÛ›yäÚþÅZ³g<ôÕJ©ˆu¿wËHÌ÷gÎÜÎÓÞ¯`…i²Mf®òåK˜„t²nÙÃ*=OXÙ‹mžŒù"* k#p›«ò3hJ¢¦ Û2B.}túΨ@TΨ‹ùf¤òœ±RâÂÖò4ý(B#}h \ަ#Ü"¤ ¾Åmt=”Gÿ&×Ç­Ÿy3;~ùMƒë¦x»;Ì2rä8n$ÚNF&Ø”g!Zœ"“`û‡ ïxVF2‡S»¯´){aÆE…Dò‡Þy|ðˆq¨sȨhcßÔŒhþ{ñõR»±é¶‹qaE õ¿:³ ò]’ihO5r.®8k¾È‹’ñàéàÈâK2xI4œxE£ Ï©%‚ H¬½’IÓ$ˆjr—ˆWÁºC§Î‰0ÁÁÚ_7oÜrßwÖü¡y匉Úži¬y ¹éi¤6Lý$0ÐE P¯Î£ ñg§“™QÞMƒéhiS6ì”1ÔépWV¿³ TvÞHº)\ø¦ÃJè¹XAóÝÔú$d?‘q)ho÷ö ý+âR’8gª‰õ“So1Ê =¯Zÿ­7ÚŸÕÓVŽÏSßmu Ŧ|+ض¦G#”Še$µcOõ|oªÎÂ0ôú¨)cÀ]¥g"~¾óR¿Ô-NÐÖù ßà!™Nõ^ óVä̶ –ÃüìNâdr7BèOqý-ÝÜ uVdדß““'çJÖœ[/ ðTæYyž=hA…÷Å„—dzhƒÆ2¤XqœjkðÅ´‰ê»J¤}OÜÖ{«iF<عº®½YéÁ¬p2¸‡bü™nò³À,Çb À+‡ä™}ïÖ“‡ ŒÃ¿]ŽX·„pDH/è=ƒlÏzUž×ß;ÐáùÛÐKwL;ÏVãî+"6E“uÓvl?uvÌÌ‹†—vùãF—r\¬»´yláÑ/Qú¿ h‰à;x`cp«b—\–cN´]åˆìòî¬:¸}XºáW[´¼|Û'²ú€À~Gkp˜8ÂhàÇ,My3öy‰~~°Åü|è#%êaãuÜÔH÷C`¡Å/&Ð.˜–gëÆ*¼‡sG-„Ü\›!HT?FžõwÂjO̦gáB(”f¢xÕŽp'© ¯]5‡*² `qa-%Ñß“öx)ÓI\^8 ;וr®«ÂÉMÁ€<7Ü"vAŽ:þÞ~mï]Ï'Ï^)úG#èጲÊnð•+\Gî{J%« ȘPRuj™µôXÕÅòSÌÿÞ×5“‚08'Ký”0ʱƒÔ0ó=zÍA;Š“×ÝnyQó@“Ñ-ˆ$e¨Q)©<dz×Ëî9`q¢™²B‚~@rë†Ñà îÓ=È£±vbã (ųÒQ½hl*v÷1?Z?è¢÷¡ì3¡¯u·:[ØÀƒ8bF=ò˜¶î\§àÅqÌD~¼z“Õ©¯‰A$ᜲSÝf¼ü“ƒ:¬~ȧ7-T¹k7Ù9Ë£DôeËgv³Ëø0+95ꋸ–ÿ©VLEIÌþ5£€ÝÅ8Îá¼)À±ÚНN3¶ÄT¢4`ÂwòÜ™³ƒùœú[w i ¼ÃO­á5ùÖ7úrŒ7V¿éÐÍ~†Õý r}±á-ÅM‰Bp'·Zv’Qê¶WèóÕ‚®êŠWÉoOXÛC¶ ©%eõEY ÇPÜ’üK±`àî%>:Ðk„³âißMФ•ùEȤjÅéQS×€~÷t÷í‹rU(wFÅb¡÷L¿³ž5 ïeœ ¼ûTF©èÈŠÐz3A"2JénÒý ¡Mמ`¯™}ï£à÷dm僵(¿Á;Yÿ¹–ˆåÊ ±×ÜÑN®lé¶)¯×Þ‹€) ¢Oúµ0t–“{J AM ÚIC×Þ%>¶‹.)«¹Ãûäº/Æ ñÊøÃjpLë¬ÄXãù-îä:·Ð䓯ô$”‚+’‘}§}ÿœÒ´Þ^f,ErTÏ[X^&¥‹ìÓž>9 ÃRÞœ КÊGäMU‡{Å[™ÄÑz–±‰Ëû™l'd1ßÚ%â¶ÒKßq#f¸p׫ùAI\ ƒì"bm>'´ ×Bnã+B?d¯›•ÃÍ7ó¤G±:yüÎ%«Sÿð¡üd?uû—Eyu,Ęÿ““ÙUãÕïÛxR¿îûÉd¹j‰2FÐLn+áŽ#ÿ]ÏÔ!à¯wEýìÈÛ‹‘ÊXïØVïB7ø¬f¡ç^ë |EÑ9°–¿9µ\çvŸBðÙ:UÛç¾_rÌÀS=ÝPŒU/¿ñ?R†ñÔÛaää•õÆâä÷†?$Â"t›Ò«:ó‚%Î0,Œd.‹nn®O¿øÖN+«aú"p% h€¤ýo£ßÄ `Êö xFxN #8S‘]_’ ¢¿Êv¡™ú£ñC¸d—³\ºÐ*¤wjj7ë _Žêþ(é§o´(ý·-ZOšo‘/n <¶' Yd|ì1k\3VqÑâœÂzMžƒP”Þ½€<Æç(à«ëQt!§­xøÿÝty£jߛך‚‡ã‡Æ†IèYÖ5ÑQÙ||ð<Ø*›ŸUí[V¤*¹ÆäªùöJ¡_(‘ò†Â1÷ܤ¹æ¡LÁ ãѨ–¤¼Æ¸ŒÔÉ¢øaØÙy‡òxj¸ÿgö’—m¿±c›Þõ0…,IKu8²• †l»u‚šøï}©å¨B•뢫_pf}Ÿ›Vº²¢âi¾?Y FrSs§4ÙO.dÀO)MgéÙiN{³JÒ3ñÉÿÞjIºy¼Þð”6PõiýºÀµT¯7#´^bž‰”~× –lׂ CánsËž¼âBY‹ÍÃ;›M).qUŽˆÅkƒ_.úþöÇTÁÇ_~?g¿p^^ÏÈsLšÔ5´-Dè%Ži±9 ˜qtùNüÈí?F±€;Úþ»`Ôb_ý˜3 ™]à[phéÞ±>;ÅûéŽïÙRb4féOÀó¸7¤[¤M^wö÷xd—OŒUìW&fžÆEOfu’uNQ§j%˜²˜Xî>‡­A1¨‚úÕ—´ËÒŽ´•i€;ÙÛíŸ!k7‚Ÿx¹4$×¶ÎS°JÅU>DÖ»£(Še4–5X¢ê 5Yg<¡UÊÎi¾Vo9p=¿–D¡0sù}ÞÆù¬ÞhJÁ”õ`sdýZÔïÕp+#)>*þQ• ¿¨µƒA®ã\@›nl{{ïˆ/ÖGj™‘ÊG<àùbR)6d-Ú» ¯JZk÷j2™y!œ]ѶåA :Ö‹`”Ús0úÿÍ*¤ T_WÓBØ©¹wñEk'2Ë;މãŒßºdûØg‚ËÇ1â_üGœhÝgŠÿüºh¾4¤'5)‘µ«È!Ú…C Û`¦ÙExË7«áðH‡}_'øO5ç>c´’ä:郿ä鵯âË výQfÒÐÐ|<ÌQ__É^J×8ÿû†“oyÚ1ÚE u¥’{4ÖY I€W,67;v…ÓýÓ,[YsïP:[L–II6´ê‚L! b16ÉǵZO¢" §@õ‰#MU5’}UðaÏ´à2~Ò:}ø¬"Gý2I÷]êŽÖ7Ô¨…{EŒÀ’½Rw7 ¢8| p9L AwÓ\ÓuÑâtwEå´in›Áɇ ˜‘üÁúñ…ëSK—ÞŸù´‡ß6êØÃéä5ÝFç)‡» #á¹Íôç&ú(Ë÷Ë6’Ût¤êc7sš×Ëc+–ª„8À…Ñ@Sk¿&EƒÞ÷¼ûŠ¥gz<öO¦'¶ó/P^§ö5ùlÇäG¢økg´!ŒúpFƒ¤ ü¼<øKD*ö¥?—ͬ‹±Ø±›¹#Sõð ¨:ÍÙsF—~œ¦-wb9šDlõ22~Z8öÓjÛ”/c‰ò¬aCÖ`Îdr­ÝÂmv¿LñƒÏÆóãLvÑtt”P¼e÷«þÐO„äÜœhýÙì3Ê?ü6&ózØÒÞ@û%BcC¨ ¦„¡±•JSœŠtÛeKìÓ¸Ô U¿†Ð•°ÖÿT’­Ñ[’äm¿"í:•ºbp,Xßiˆ ή‚´ |’^eS³N?»÷nDø¥…=@Äâí7¢^*{W·Ÿàº{Žah†}¬ È X–˜F[Ÿ*ÓlWaJ|¾pZïr¸¼†{]S×¶âl ÑŒe£Ov៰f×G¼¡ýòýQ˜Blz”Éœ‰Ñ£îûÑA&çø~]þLµb?¾ÿ±uçX¨AßßäFÏ5ó7šáûŠQ>#›p\ˬ)Ù\Ÿz1À«¿ÇwÅà SÄÁƒª Ì+¾ з>91)Þ‘ Í–,%±%þÛ ›í¸dZÌ*¶º.¢Æˆyr÷Ú°ì.)Ç4þj·ÑýÚ¼¶d=tÂáô¼ú%g `ô‡®‡&ƒ³–PÃæy †ø+óMUÙâªÒ߾ëˆJúyä/ƃó,6ò¹ öò%®ö¤Ú´Åσ"Ê8¹'>ìÙ-NfA ÚÑ).ÙeÉh ›èëc<Ík`ž%eŽ\Y¸ßD‚W΄î.é>e×옴¯ïÉÆT M”T‡˜So°q¨U›²ôrajñµ¤¸_—²…ØhÌ7³ÆâÓ]C½\Öômï³qàîãå“ÓÁf÷¿i»“©õö”¬ù°ëWaŒðAf4fÐûî²ÁØÏíá|Vœ€Ñ¿î¬O­Äs[‰ØÁŸ K%Å Ù‘=¯”ÍÒ³ =ns²&€VÁÚ>ó¸f³çÔ:ŽÕ„|·fä*„⪇qµFzM[ ŒP{4˰mS膸낂ÜÑW̵¯5…J+7Ô#:³ï¿š‰û"@‚ª|å´õM@0þfìv,tó.ø)Ó~y‡×êà«,̧Á{®F£4'>iê!`å<(æÎ rYê¶4°ïÐ×hw§“í̧Í,ÛkY?•—œÑÇ9Ÿæ¨b‡Y'›«íg§-öYVþ ¦ú¸*—+[ýU²¹EŠê]ÿôRˆaõN½ìúyç+ø Á6}lÅÂqçeÒÛòŽÚ¤ÀÑÐpû3mzΟKdžÊSpÀY~pÕi†Q ënÀÌF` SÄubåcF÷btG2¸{¼&^Ȭ:g„¢P:c˨„e…z¦ >ÂÁÂrìj*ã%Ôa ”q"èËÙÙyUÙè'|*7¤LÓ¸E·ß³Ãä >ú»€|îË¡HhC|þpÐúÕík›‹0ãmåþòkgc „iÉT]øàþy}«¢ñ•4ÍvË%ÀI6Õñ’ZrtCLæ–fÿO“ÏcÎÉ W¯HŽR0âþ-_Iag¯nÔ\Ÿ,ÑÒó‡jÜ¥}ÔÃ-s§©hˆ©ÙÊùË5÷îs+hkŸN«&@ÁäË3³ø*•Ls¾`s*V5ç¡Í¯Þnè0tÚ¸Žh$1"äxö͵W×AÕëÐFnÍn¨Ðû*5?8ŸPw¹N ÕU•3ë—ÃÅá@ã5ÏouñA®)ÞyÏ7‹–&µ«²Ö„[«Æüëî{ofL«ß»#)øñV&`l,D³¯Rs?ì¹A ¼í9Bi|·pHûg§Ø=/©#œ[4ÈC ÷µøìƒg¢ŽRëäé3Ò‹ô9© 5ûtbÿJ‡´.p} Tl*'„®j:ŽúýËØãþØŽ{}æ=*É7?Û·05Ú°%GnË€'B©o¤#-ò°¤`¬0£mÆ?'èdn[²ÍWóSîÖcÆÑ×Ó1̆Òþ óD|Œ~´™c›íÝVœ“ªá‰ÓëÎ>³’íŸy¿hêe}µ¾B‹Od=Ò1®iZ ”ÙlÆÎE0±rÈm q¿!¸¯V¹ ¿ wd‚çw-w§€‰bØüVvø {öûi ±veT>BA~ççܦ„k;“aøç&9új¡ ñ–§Æ¢ÝÇrjµŸ›ÌgG&Õ¤'o- :. ×Xµr‰Xm¬€@{7¤%dd¥ER´š&̆zÚ Y>é®Âº’d5 €àïÄ5Oñ0:~f©ž– ¹ðH±ûï+ÊO½ÌaYï[*^Ö¤Z Iš7ç ;Y“B¸±»YGXt—ÞE>{Ö|–ǪWKšA±Wü-Eªmð”ê€{×6*Í9©×'}OØ{2bÊ‘¥ð÷½gò…ÜkZb{*š@7 ø•Ÿ`SÀ·>)o PˆÿaÄ—í6˜&!ü»•aXÜtP œ3õ£ÃŽX;Ãà ÆÙs ââÈ­¥nÀ"Ñ1§ÿ¾ƒ$Ð2+¢ÿái+°¨ÌR9Dõz¡¯Ú³—FÅ¢¶¡È–!Øù»K9â¾ŒÔ³Š°QÆi§™ï·•…9:X3ƒ}ÝÃó:yÔ»€¹Á‰Æ=©îæ‹5†,™ÏÓÐ:RN‘Æéå@Åÿf£ø§ê°ù‰ˆèÑç¥èÖWCpþzî)N7M%Ðjüú‹©*˜€Aä.È{5vrlŒ”$šsBe˜¼ôÊ:Í3‘sêžÊlŽ`68]C\©aAžâúæœÆŽ€¶æ1mŒ—<˜s1’ Îþ3Ék‰Zñ°Ðà͇ùðkEGˆ¯+Ƕ¥o\ÈeQ=wçMKèL‚Q‚ÚŽg¦p=a¬ƒx—]¹ó4šlQ(ÿ[‘>ÄÙ,Å+®Aäâ‘n|'òÝz«x.9²>)§ÇóµÊu%I`db{s¿¡SÈàâ=¢áâ8U·?“¬ãP‘¢´›2 ïœ:OuvÃÀZ«œf©ˆ¶ƒ£F¿ç ½¶LB1+‰Ð Ð)ØUÚ) Pã†Ï´$„ÁÁš˜*œ”.{ÿõÜTð/åU>{¼Å2’Ì¡cÌ[R™ž»l%“Dí)Oš– CºBîT"y€H·ÑKÑ›l!Ì(eØ€ÒwÉ>¡$G§áçá>}ç³ò½ùbq½@c¦ss=ò"ân·Å›Ý^d÷A…Ó©˜Xî¬XL[UP~ƒ1ÓÈ¥8îÿ2þj­‚\:Æ\¢µ%%4¨ÆMðÈ~ž•5<Ì€Ð4ƒWß!ÐÃéu ‰5e ‡®fî0 «öÌy »”©Kþ\‰vòÕB2+wUöC‚Ã_2—Ô*©l›:°®Q'hàØÓbPÙÑ‚¾IÕ;qüåªìYC†Çóá4×õôt!Ä?KNJm]#¨ðøýmo¯%mçV%Èñ§ì‡à˜ƒzRÚR¢@ëʇÀªrmb÷+&_Z¢°U6úì Â6ðZ½W²ÙèfVÔð{¸n²#—®¼ÆÒ—ôìþìÕD¼ÇOÚ”Y>õ«?HX¯±€¯’3gzÜñÿØ# ú¤ü'2X#öú¥ùhJªïì ǺÆ$·/ux9ƒÊ€È2ÏÑ›¿;¤+Ü6×íPñŽi+täZ‹Lœ»!ÉBݼªt%æé—MN¢eüLž¼7L…,Ôk.²i ÓîËI– Àvu&*~uÚ?¶\F‰yòŽå¨¦ìX ãM¬ L|+f¬­ bXä(p{ª\m› ®‘Ï i‹<ìuùúÞ:ëšla]Úø¯Ìû“œ™G´i[÷´4¿~p磗¡Äcæ 0Ñ´ø(ÂX)4HEâ{÷rrŸÉKv+ù¨ù}÷ó:,¹ÍuEïöAµ 3X—\=›:&_w¶•»Àí$iZo¨©„!æŒH<ì‹rÀPâß@"dOË%¡ÃU?Áẉ5‡aôrˆ&>‘ªÒB[<ýõ€š-Nøå˜ÞcCt”{i"2ú4)³ Z«\äFªß¸¢-!_³ð§ÝRw ¾Ñù‰XZ" ¼½@“ö pÿ,¡>Çæ.ÉSõ½ÕÒñúø5s_º-æé)Eª]+¤è³!©¢V3ÏâAfÔ23úD ÜÄB4ÚïòUÿ!ýh»5`ÙW°žJYzʃù¦~a vwÑ& ãÞf° Õx“O.¢†§ùµ®ËÈÝ‹ó\ý„jl˜Ò™²BÄKá)b‘‚æÔT§;®Ì‹Ðyæ9™À$~™ù)^Nêgƒ7Ÿ:„¥XR>>áÏä½^CØÒõ­ö ”T¹g Lñµ ܱíØíP£…Þ6&ÓІÒD à-¶øøÒÌU0:“{u¦±tsoœFvfSPn’·&CúBa¼ÌÊQiiâcü ÉåâàŠoA¾uœ~¸_Ï .u@H0ÆÅ§“h•Œ¡pÎõßuºAô¥y¢ðsÞ€À ¢#?âÀÛæ?ÎKn¤wÞN^ ¢°Lß=¡þçÞYÂ3„¤ {cSå5Ö½õf½WÍD¦´k,¬p“Ÿ !·L…ÈS BÿÐÆ6FË‹ š ÅZ\0s3£ubú…øEÝ•³žÏ ¿@y5}Jvo]n6Å*‰z×­‰‚E¢öß$^ixØvÅ]ÚLçê·Ç[ΖIb%1Ÿ­s+qtÍihâŠåòö8çÍ»ÉÿµPWøt ³oíEùœùÜ™O ìî&°4ìÌÍö³jOÀ¸¶Tucöé¢B¤:“$Jí§õìƒûZ.¼nÔòXÍk Am¯g†E;qô¼Eë—ù†#vxª¥É‘€æ×¤¿CçÈ<›íüð—™.­ö¼º<§|‡Ã:¦Š× ¥\˜/zûpÚðjZÁ×™ç:EåyZwbÓX¡­Pú¢òf6+¼4¥_ùuð#ЕëRËG »Xʰرk*Zc¿‘çæL ø!Íp‰ÛoÖxô_HiØ%)Kí¿ôÑÍñöý‰ùuR°Œøì‡!¬ÊÎfX(œ2Øïé¹cÊ„J"xÉ^j]Sàûõ±t”EŸ­Ù§§«›‡¼®L(†¡*‹@žNí ¶‡:_¬á2†½¡hW´úÂÎðÒš—&CšH”« f§”dœTbÆÝŒElJˆ5;\žr½¸’t7`î4ЧGê·±í`?Ûâfºvp¹ME‘£(,YpP}:§ŒÉÿ>™o GÜÊ÷øm8?ý°K<<)òP)¢hÀ³ýq‘ Èl¯? îëtžÞ)ìZô¼i‹{<–] Ù‰»a·N?AIMs•b¤ôŸ°“Š¢Á]E1d(*Ó`ön¡?gºe•$N^v”Ekû#¨ž¼ÙqzŽs€qèçKô‡××D¢ñÿÿcÏ_µb¸`µÉ9ë³DK°Éf^«Ãt2°â”QQçJðQˇlvßœ%©êGJsµøþËH/gÚül½I$xú²Äq6äèÿ„g§Z=ÅDtŽâws†êŒÊa°Ný¢™ñˆèØöÈîâUëo™ð9dO"šE ŠA Zv¶¾öG„Ÿ‚<´4Ü(÷°©éÄC~Ç&"iî/¢‰?´0Ĥõ®l`w‚c¯$Vt}n\Z ¼Ð5§Z¦ãŽ\gæe–¡í¤èœ®OHus×Ðï^¨‰à½~–ªXÉq²¥›Ò·É×h˲UB< ¢Ú‹îû¹yk4~…dO¥1%D+9ÞLèÂË.¿_}7N쉶°+x \ñ<ßf/Š‘XáwêB‰ Áí£Øb8m˜Pá»å$Šu\ÕŸÊ{Ä•§^úw€œ±9Þ2–ÄÒ¸ >2£×ÿ#3‘{ùê͆—ÎãeœYCjC.F©´æ¹+¶½÷xBÒGÃãöý¦¸KqÊéM“þúƒXÉ! ¡uDÌ‚K—boPÉX;ÊokZþÞ{ªúh…‚j›ŠŠN‰t®„) àû&ÝäŠó§“ȵQ"~ªi8z½‹6;?]_Õ„(¨Áä²ï͢£=/¥~« ;­{H5é‡9p"˜¤øWöõÀ½ºΕ3£ЀÕC±ä2%¸?u`9Ž2‰¹/%'±z&|´]8çXj«¢^µeõFIã ;³@¼X;wÉþ´Cò7«+¨ Ùn¾YÿR^‚±þâCxëpƒá¦Íâü“ý•œ¾BHê?ýgsœèÐ+ßP¸X+nÛòò†Þ„|ä‹èGÛéâ‡]I.&줴?¡,¿œÊ_˜zuÅF¡†z§cãvwLöû ó?mÇ^EØP8C~ãMÐgºÀ©ÎD‹è?=§gk#¬àP{…&ò>ù­ŸG/ĤŽX"¶ƒû"lÐÁ"ª»W.’ŒJ’z9Ž)¡kDŒÙ–“RÕXë£F¢*lìžÂ2†˜§µ?üˆœå4í½¦Ê|Гµ¸ïÉÿŸTž’"$áK”Ô>E äC[øb—Z‹hܵ¢dø¨ Ù6îI“'œ5´‘Á^î$ÅÔ×Ý aÀÄÛ$#ëœvÕNüÁoïGEfd`e/³ò¿EƒjsØØãXi÷{Â,ñ[Zj|?X’Ê(;ËÇÇœÃB»R3€Åq Õ-wã6}ÕKíßÝx¾ÑµÇTn8ën‚7VëæÊžqf®rÇÑÉ´Wü6’g¢¸:݉oWh²å㌰ˆÅl\øXœyòZúõzgÖØçë¾ôKÛ›Í:.‡ÎÛÆ’'ü±ËG>YTLBDZ޶U(†³Ã!à¢Ô¾$7”[$gÚ¯:e#¾'É{F£“˜Ð¥r*Úî=BÉp+Å›íÙ‡†¢:\WhãkJG§ÑAgMŽIÏ2§æ³Í-Ìï!Íàh&Úœ0T$¯×9âÜÞNjن÷W`þŠÏ6/ŽTœ9’–>qõ”¿³èm²G$âˆ_äÁ7¬ïè<7ï_ÔˆyešÆx&ã_™LšÐvóžøQ\Wk:·FŠŸÜîPùš¹uñùÛäol̈CQ˜ÖéyN"«–<ßKØ3Û’Dë‚ÃÚ#£Éµ8D `0Ò0R¯züEPå±xT:24ô–ù4ñhÉ]ŠliÏë.OV{’Nù ‰Ü´Ñ™ïíØ<Σ©í¯|"ÕÙJ’ç.U”åµ%øö¶LÈBED“h1ˆnIX>¶Æ]@͇9 ׋ÓߎF í–ßÅÉ8_Ü@/ôVDŒ%YÚ•‘$%o ÜùÖ,¡âì¤Íú2:‡u¦¾©‰æøµïe Y•ÙèPÇ“”{‘Í,ßr˜³Î\s¸¥ˆzÜ/"›vBÅY´ÌÞÀçs9ãC°ïBÌZç}¿Y~ðˆý,`\î2Õk¯,ÔÕ‚ñ‘6RPEÈ ìx«*Èçé¶Ö†È€ÑclÚèôS¦*AÈ­w~€6 `f]©rÜ”ƒd æ*ƒúËæ:Ÿ!ØåC¸á¼ùYü‡1\éh›Y"öÈ’.d=Žÿ3?°:¨àA ÷€ši.Ù4 Pœó¼uM«H 43Aÿ[ÑLÈhƒ ®^Õ-eý§¥MöGT™Ÿ°:{­6×,BtÊó´ i-K•{d œ0rsrú-$‡¤ˆ|<ÒDL'’xšï¼—éþ(uÕ)ã,>Ö‹öõì74éΜ€”)dÓÍ;¥n¤Ÿè”„WiVM,æ[…%h,Ýð¢H`ÇJ·ÃwûqÝsAD½¹J9Çÿ˜¾0…Hy”•®Pñmº²ä™*ÒØã«Å %å‹òVšè2$\¾¿0¢*t@¾ðR³YÏMºk%Ÿm9ïøs†•kç¶™b›·ÈçÍ ^G«ÚwO¥}Œ¥'ጅèe¬u´9•B"Ø-։ĦëúzÂ<¢$§£ ƒåé±n½´ùvŠÎF~íš½è*6&m¼Á#*Î_˜³½¶ñ”Ý‚“Í9¤c°½ÈN-ŠÀÍä:bûVƒÞâ³êÒ‡3Rsi‡`\’ç;”;—)Ío¤¨’å3Þ9ëàÞãE=4R߯aù^k<6V2éì¦$ß{!˜Øÿù3š¡Øò¯\ nb·£O€Çs‹:’%m²ÛÔ1Huï&v{>ã·˜<ǨËùÞ=®É½‰ŒÇ´@ ÷Mlü™D_ð,õõ—7âp´0õèeUÃöl’Cøäá,‡åZüÒM$&dXíuuRjá`ê±:1©1_2oq‹ÃŒÝdIÍþvÄ×Îñ¦àsÅbÐÆ°¼VbXÝ,rõ¹÷ã'ð-yA¶QWAé|‹y¤‡)òÖp*’¼ÑëíY{ó_ %\ãû‚+›ec©^Ò˜¨^w¯eF0P±G ºª¨ïà þÈF"Ý×Cêr¶ ¸3 œtu*­±L¤¨Ö Ì/@¡*ÝUÔöd¶ÙVttnÇh¯ëÄ)/~Úà¢1à&盇-!n=$°-›‘ŸH¾FÈgàœÿÔ™ähÀ™"´ì(¹[Þ‚$…óMµ¶CŠª}{sˆzo,·>:xI—á©t¼ø €s$ZJ:Kq@ioÃ)\èÕQÔsÌ´±®ØÇË-~ŽþšKÓܱ3ÐïäX•w`ñÆx%—Ã-•ä¹:ƒc¼.QÆmSÝ£âžnƒÄ]j¢çû¡Ä£ê­Y2 8ÊI滇ÄFk#ž&ÐܱЈ´ßjîŒ?y×(†ž¶'nÑÚ'è( ¨qö1ÌVs+³oóÓQ)W€ìlîþKŽ-ü„9áØÔ¹û,˜d„$’ÈKîõÓ¾*XBe£€Eu3k¥¨°éóݦ0öB(ø€A cÀÍŒ°ê ¥Ü¬ùãô„,Wôò“´Ùvâ­ò_ ·gšJìç1µ#yL‹¯õåf$YÇPäu„–Ú]©;›ýþ˜M2!£]Ÿ}Ù¸Y铿 zÕËÓÖ—‹»$ĜȀ}Ï/[U£5.…®39ª<˜'–ÓƒbÿRx±ËJsÌ"£ ^m6WÒ4HuÓE‰3£ìM(1?ú-ú”Üë¬æ· ôS—œ‡Ã¸•3¢Ÿ¿òƒ´ø~¤}}ûSsÍ'ZÄiq8ΉžÆŠUq²‰Tëñ=⸥ÌìwFcÌ‘ݵœò‹n¯c®ùS„ï®ýrÇŸ]OH •¡o˜§Af½~8Eù…‡¸i|FŸ¢Ò÷æçî÷Æÿ~¥\ñ%¡p…¬÷`¨w½óØÝ”9ŒH>\c—à3Ífö„èǨú w¢/¤Ûb-dp4&ð¤Êðy5ãpc•¾âoÓ³UlØ8çJGÀÃźâgF5rò,ÐM:: ¼ìÐw áwß–éyL„×S*æ,å¼·ž=k®Í¯ªÆ2£ !Ëâ„.×§;Ω¡®1Ú•@WÔDr‡m¹Sâ*ãÏvW‡W™™‚d$»òw F¥FÅÁx0Íc5v)ŽxÊIçʾE|R:Šÿ`t6Ó ýœƒIÌp%Ã2R—x™:ÆIÄÁtX%3ÍùðÄÍÍ#b… “Üñ… By ǨëÞà°º§7ZîÿÑ Û©'Qþ_d8>y- úþæœýÀ-Ô‚l„+˜›ˆUs’?E3ÍúPÆ J¢-šñßÂÕ«tA9äÁ·¦ù‹wÝÞp–DMø¥"ààkªNpãÏR6BÖ®?U:Úà­­`à¸6 «ÚG€GéÌUp]ǽ^ÿÇFBy…ƒÌ¸N¯¤s d=Sq˜ ìù,«,ÞBMZ`© Uh}x6æúHtò%Á¿á׃Çw6<ŸUZ…o®º›²¼'g„‘R`\Gr±žýJDŠÈRËêžÐá¡gʵÚ úzÒøŸ(ñ\(~7㑼e’Fí¡,·J^«Õ¦IIc‘¬uªã ™XÜc©°)^ðn«ãÏóCì×Õ 7ä¦üHyCÍÊ••¶^´ÎöÀ‚aÏ_‡èéý½º£©6¢¼2²¯“i±ÕgÐ'4ë]coñLƒ¸RD³êî8" ÈÏL/RöÃStSß!F ì2'Ô*a˜ï/(à¿ü',nJ)_„wàèl?¦ÎrfV`_˜7±(&cd|KSnÛNÙ¥;O®£Òúóœb$ìßåCû*žhÿv‚Ì©úÕ8A'¸W0Î2¤ëÊÅH5;JŸØõ¿;EÆìÄð‡»ú;x°""ø»ñJû•w¬ßÕ*08O¢ßÿ ÄÈ盯ã¡5ºØ‰§¼OkncÑ‚®¾e6½ÌþjÐ>„9⇰U’†ÑÇð]·!q º3²½åûžßsܰhÓ|ZÃîRîtЦAzkT„ô î ß~ñ¥Kô š„ê¢ïëíR×{;“ îůÇÊHò·`=Þ#³‡‡µ+V˜ÛLÀ÷"þ”1½xunÓ;@N«9¬Ãò̹3¸Ó×–¤šÚº½ %€÷÷hõF2×¶îQ¸‚g»ÞÆ©Dí·0îÜjfbIâ&sYœ,šd†è@Eaï½Ò‰[½½b~AÁƒB·0×$2˜e²­¦=ì 9Ý#5CLb7ðyµj”a ¿¢1l ‰Á¶àe 1ö­­­ôz9LøÑí’6ð ¬Yo#_›¾@ÝJ@ƒ}êo¤äY^)ɲØkÞ/Fñʦ¸×¥<†S}¤ ±ˆº¥Ÿ’?øZ´žÚ£Œä¿oWÖ†Cæ4Ä‚'S¬±þ?¦ÈÉ éŒ+2†!( bÀ¨C®›ª(2!Òøµ¬ §?¿á'EWãÃ"µ¬I.àŸø:BMgêl²2›BŽ5¤lR0Î=Íq«% šØãQ;ªÌ|ʇdz©³s‚Þ RØ6^ t’G䔋 žKóœÖ³w[J[k}W,¶ QsR9½K{wx™5ÝT/œRðèC•ÂJ!…[-÷"f¡Ä›ˆÆp˜ÿjÎÁDÅ&8â-¾-Í 3<_Jqdân´É—+@¹­e{ r?­ƒpÑ"5\«×„ÖäçUºû£<{ÁïXj»òãöÄ¿¢-œ&CEÿqé ÿUÓ‚·Gͱpk éŽô|1•»iû_YCtÐØÅ­ÿ;ÏEn¦È=Íað·Qfô2ËE”«%³lÆ3`÷¹Á8M4síÕº3xÔ’œo–Æ}Ø•,—¤:/˜ ‘ØdÈˬíñÕz‘%tëàÿ5Mê¼Àt5o+Á·1Ë›^¦0·p©ûR±õßš’G¾°Ó,¤@•Ötlhü{QDƒs ½±e.'+º¥˜Aj•F6HšŸ6|8Ï=Hã[ðøs¥„)+§dK&èºtsþ†‰ñ‡_—úP–ÑM‡¾§3š_MXÊÿŠÁ¤Š`âbþަ…D3äa>›rùP†eõ€ýÖb,èª`3Upqe`Vz×Åë‘_ਖ|B¹‹ÎP´ºUPÇ:«!@ÏÇ>³ÖD²žŽäL~3 ·“-ªJ}l…C¯ɽ;êÕQJ4‡Î|™êÝUð³žÎ?œ±KƒDÚ àaâ²ý½÷Vá³õÜÈÕ-$ÑOé7…–Ü»Iy ¶¿§Çø 墨l0Bôóe¿„ðK¾™m–Á'AüåjõŽoóáØ®%NþIàkÕ}°1tŠ9–ãüªíe­K¾³.ät£(â%â4R#¿Q•|$ˆ÷d6Òœ_„&O1KÏ5[?¦ ù¿‚Ý|&Åö†16œkªjÎ’üw¬©xÀˆÓi»)ѲªæÁнG±•æ>#ûÑ0á—zî'.‚¦ÎÄ›ëPÑи” ݘ°nIzÊkœàç(ƒêøžÍ¶„åH~zcCøîüãn¹z±Mû‡¬<lÃË“í®úø¥æä4ieGàÕ½Á—ŸO8:<ø“Áä4~õÕ¶ºõUÒù6Ãß@ú±Fá_r¼§¸W|FÍ{ÁZhü½Kî,0!¨ìnµ| þ'ÐxÅÎŽè3ßÁLö2%¸Íþ[bÜÔiDPj§Fâfr" o)ï`K„hâ`" 5Bç¢÷®7 åH¥TœûÌ1Êy8jo_™H¶âø‘–ÁYσ<4Åâë’è”ql•Ò6I5-ÿÊt&FGúd(†;Òî›ã×1ŸJf‰Ò°ù8ƒaVªJøÖª0A¤°]q™»9+Ði¶®¡«ÀZË…þŸíEJGš¼»ª [RG  ¢ëaAy½û÷ÌmzÔh2Özè’ÆÅÜ¡¡T[p‡xÓ¾ì!ˆÀšHH’D5b0}ËÓÀÁywÓ …¼ë±ÙùI¬îË ú¬kÚÅ@ÎVÌ#I›g3/óÛSaÌ–%ÜŽJ$)Õk$¬·Ý¿¹901~@$Wn{ÎȾ÷˜‘P=m+4wä $q +p¤NÂý‹(SZÂÌ4Îyn¥sÚjókv0³[’äëÎihkK°Ê \¦û°ÈÒjK㨾R8Úé”#éUZ—fFM“®])¶4õd÷c¾Æˆ‡¯š°É-33¨GËö$@Ä{¾p|ZXàyÿ5–@4áTSýŽ'{Z†"˜üoV¡±åüà àIüh—[`¦ó-² Ða–"ä±G6`ZoM¥äÆŠUÖaêK OnñæÒA"“ÂçF!¸€MoCþ3)¶CJëìB›ó–WC*BŒs;¼Á;ÌŸ7Îü©ÛåUÄ̽<µ³‰’M/b;Hƽó ‰‘‘ A'U©×*æÁyŽgk°"ÃVØ-Ý2çûVרB@ˆc“äóŠîT"©8»|¶€ÀÖ¹•^ÊpÇtx»=æ¥Õ“{Áh}%ÄK,_j.1„7_ù´[!îk´ º¢v«Aú3P´òém¦íô‰5µƒ¾9ÒuGëXÇò…ç¨V¡°± wä?]kº¤m,½{¹q«jŠùååë’sýo~T‡oóMÎ+h}°7¦fÀ`Cͪ¹سØxcçÌ¥µO>ÏÂ¥À•ÙØäOiã¨3ª¡2YÔSý›‹ÒË«ä-»-c{P$@5‡ñ¾%ƒÑY3ŽT>`9{(¥“(¢ãw \¾Éõ%NÛIìgúèиŒ_¾+.°u—¨ò<¶¢ÂÊím`JK‚[nÚy{n8r“–ôGû·vÖ5‰ð ‚tÈPp[… Åk~h¢6+#»“xA¤JAÊÖJx¹7Ôx{ÍKæYæ?¾y­•'é*ƒr äZœÉÔ|l›C›RA©ß{ç¾ V•Ýì1ðUVF’!Eöi·œ7àC/`³vÛÐ#9<^gÑñw7€Ym=H¨(V `õй—*?;ý#ýnŒÜ[«Ã|ù‡ÿÖå†ÿX©¸í(‰ºšB03„·,½%*‹(ÞÜvÌQȵj„ Íå‹ÁÚ}eàÁ2Þó‰þ…Îï¹r²¢2û¹< LLÒiÆé;¥iOÂsW­î>*F){P‰HEÆEû³'KÆúµ‡zo¼Öp 3ȱ¹T¿`×ÃÈPqÆ`~ˆ'xyb]“ÙÈôÎ#[ÊMbå}Šh·r»ê­ñôž¿ÁÖÐÒeuCî\áèRV*¤ŠÞåÚl¡«÷wç¶ük°s6Bœ¸gÊG?'÷ֲ‘ˆK‚„dQéãÇáR×@ÚǸ›­ŒÅ…Mçñ ©«z ?PcÇ™¢? ø586©> ‘ë¯þB0£K¤¾‹¯qñBÕ›Ò4æw,ìPø“]Ù‚sW¶Xò}·bøŒaʹ÷'ö¸†þA,e®#äM~÷Ujó |yçõ”Ÿ ¬ÖŸånDö7¥š÷²·Äœ_"Ažò6øF P]1âÔPNd„¿’@«Ï13½“K2;S ¥MIØû¿¥ªÈÂLS÷Ö&ïSgÖ~'Yn‚óKä×/=|æ½á œcåÛzÕQÕk =Οé˜ÜçöhmXRp΀@®Ïˆ\غÌÅnþzÓ§eò"¤Ze‰$¢¡cÐÛ‚gKZORh„.'Hãõû¡5µ”þÐu®òÝŸlÛÞÚÒ×ãV-4·v›Ä#èå”F¶W`y‘+7šîšF}ý9rC#ˬP»8öÉAÈHq³œrxö "+µ1O÷”(Ÿ9 Ï`U/;ûwx u˘â”]ãúbì›ÈÆóôù´+_*¶¬˜ ÒN Ë¥iƆë‚ñR‚5³‡‡·ãb“–þmÐ+æì{×ömB0¥)ÿ¡àí h/:’¿CÑÛ“)püŒ‘òñÊŒˆ^)bŽ™Œ ™çÀ†'º„—ÿûoÓù¬yœ8¾žÈÜSëéo*4…|¸ÚÕGH=XLVÞmðú‰†…&^å=(ù½rJ<Ø÷¯«ìn/NúÑE8ü³-_ÿÏUdЫÍY gÞ–iïîþ)¦wíãéÚJªK½\–E“ME ÚÆŽEvb骀C`¤TŬõ~MKÜᜱĴ-žÈsâá×ývÎ}Sjê¡gÿÐÍœP¤¥ŽíW¯áVÃùFbÃ?h·âtR~kT>n=6‰µFý¼Ü޲Vñ+ïhÌ7¹ŽO¾C󥤟i.p¯½¸öÓÅ @«ö›ç³¯ð´Œ|tÉš§Ñ¦¾\««Oa98ÃÉŠéc¦Mø•“™ 2IÐÇûÛêØ‹ ŒDYi$¼†€¥=[?cÎõuÙ:‘4 ÿ?–ßdÖÁ?Ï!.Í͈½[NNíÑËž³þ“¾pšO;/i“´i_AêÀ}‰¿ ®Þ¾Í¼WMÊ,‘ÒA'ߟí‰fihª™v¢]Å?Ñ °Ð›„tÆÏã)%ƒ×?Ù|Äbœö2…RÉÞÃi Óa„À &;;²±w<ýÕjl2Ô!ÛGHè$‰GÚùèÝ$‘$Jý%À\v©±h1?\'?eÄ2W:¹}lŒ„Ä}Ò+“î~œ ΣO°ØŸi0•Ç+? ‹ `çV:<²xüÑÄÈqgÞîm³ÄÎ0×÷]‡„ªîäe‰ÝÌy{ãüÆ+»™öb³} ‘-±™„g𠴧概ÆUíK=Sص¼$I}:§9°›tª£ÅcÚô,Ä*mpµêàB]ÔòV>œU›ÐwWæj˜Á,¦O¥’à™©æM›LO2² ™‡†ÊeÚ”] dW"‰ö½W´™ Øcš ™µvrý§ºŠa çújNºAßÁûF3Ç7›µ4C‡ÑT¦¤}{‡räm1䤵»0>‰^~zM|ßPµåï¢*ã5ã<Ègµqm!gO|Û€°È•ìj™ZÙ*·Ñ$K f›DÙê°çj‰·A¯0¡6pÁùqó¾µ{ âŽ:Ëázà-½=ÆÚ.ñûRO3éxôšŒ›è³Hàj„RQb|Ø{ÚÎy’;æ*•5.ÔÜБõCˆE‡ ‰ýsþ4[vxŸ«» üCìå“ùG’cµYj÷ø_njÐŽís9¡'†“[–1ŽÕPÓ““ R[ “ÛVó·LKK¤ÄtYžG|OÙoô‘TXò[¤ƒ?³x–2Á»ržˆíѶ4$Ê6øFërùýøÊ†ã²´ÂÚ®P¸ü–Øah9€Ø=íÁˆììïÿOOY ÛÖ2Ѿ^Z½ ÌbOP6`¶YËæq¸tºáÞÇЛ®®Züd.ÐëÄ+£H¨ÕµrT ý•€‹ÓÇMÉžõTGíé"DH¿,aT½?êœP×åÐdÃÉ<±ÞóOj,Câ÷Ö*ÔóÛŠ$ ™(Ä:·¼Íê¦o@ƒXÏ&{íå0øm¼šÅÎJe¡­NÆyñX˜Ü[%ÔÎ_€âØ`ßÕë•ù0O¥¨œ~lC"ÚÇoû,¨,+CºÿŠk'Ÿ¯1¦™ÍÿÈç­ýO™å×ož$Ü"©m ÙÚ†©{ÙÊhSж7X™¬Ž Ö!«™Ñ¡þÁ–H®E3X9AµËô¾º‚•VeLRT6œÑdb«þj èº'Ô‘¯â׈.?<.¸iúço|b;¿ÈµƒYf—윢; ¹4÷íî¡„˜%{þ6)z|ˆ…a YȈQ½Ïo8¹pãÚ²ßÖE²,é¥rÃ[¡]Ù¡–'“,ÄÔN×YôkÑ]$×c©oQò~#Ïî9„é|á±cís;ST_ÛxØ~†½fÈ{¦®¯W‚¬}û²Û#Ò†Y$šS­ÿ%²>4ÿd&OðGL¯ƒAsi¯™ƒ6&êM’†Û¶ê±jwì!¦ËJ\ŠÈPû{5uVÁø:ä@l¡ýX ÑLZŒ"t*¢ ÚT»•Õ錷@d^ÅR¿ƒX.ï°çy­¥ó„Ñþ³oaèß4Ò"³äŽë¾Ͼh9]!AD¦ ¢”Vr6Ö.ÒaðXO’qòÊ^âÛA€Qf'"èPOw…½ä³ , ¹öÆúÔ×ü €ãD£0’¥89 š¾Ñ7j&\—e|ÎLJ_Û¤^ËØg~/ms„Þâe ÞŽŸ3ý$Ö­Ë{bCR½_÷±áÙ Óf Ǥ.>¯§; RÔY:ÒvLów­‰}o+ÏÖe=±€Õá“Ó±WÌøàµþz¿½¼§­»Ü2MLLš@“a=¥ÿÓDR‚©Ähö¢o“xAÃ̳§`‚x4ÛÕ,·Ã¾)Öñ–™€Ñ£œ‰ÓfëLšâ&Xó€vÙo3ÐþÑÛFò2ca£ššg}=V‘²ÞãoŒé¥P¯·í W_ ˆ–ÀiSãP_4³®  9UôC‘MÐq‡¾Twºô5ß^•„WÖl‹%­)[ÇDé|úÜ­l†ª/;”UÛÂ5+:¾±F‹*Ð#Àl£ó3lªÂÄJŒ&v'ÂN,J¨|´=H\ÑNÎN )W1Q¯)=;'Þ–ù®°pakñÖ3 iìŒüÕ&ýQV·h’li¤‚¬×¿ ßòü˜Â'ÎünÍ^LUþ‡Ýv}þ8Ã$(†gI& Ô¼‰ÒÃÿ5uÙ?@•Ka—Iæ*£Ë ÑíæÈ“Å6€çSCPŒ=KöéÚc)Æ ø|±B¢›µÎ"‚oß@¬òã‹-½2-ƒÏaMF3‹D´ðk%ŽyŽKâw­©""í´/bö u‹ðxÁBª‘E»‚ÜJ|][~›Ä…M\Pž|evÊŽ× ¼ìõ,šTl Úv Q ZÑÅ‚±w@™GÏ)Õ›¿Aï·Œùj³!Ëæ€‰ô°Ö"ZxS4vêkab H3Îÿ|‘jz&fô±ô)e(W:ÞwL4{Xl2ñª=q±øq l£!ïs»Éw|p½†Z8ù(á`VëöÔHÐøs ±+Ç^£²ý\¸˜@@bš ZtFx]Pûתå{©)x`ºsr“GòÚû‹žÖ﬉IS墳¹Þµ«ØÝ¼GÎð ·gøÛ 7ó ²£3bßéz:S¯9l'aˆhÄiådãc4:bÍûX]°÷0àŒßË_@{u-Ö¬UÏÐNuI©)ÄrË—ªiöµÓ=@Bü &Bç‘áIñ()~–,¤Ft'Xnä+¸ª¤7;TÝ 2h_¸\ñ£ž#)ÎÈ%ÍŒbf4ìÿûú ·!kÁ=ëMC¨œ#£ÒBñ­S\Ç|àÆbK%Ÿ[n‡;‰–îX‘‚JFÃ1¨ï€þÕ2WDˆÍ»Úù^5tš¬|¶Í<Šì\ö(¦÷ù‚ŽçiOíuÒå>,ÏnSZ§¶VƒW„úÌÕÅÑ­îx7cL²ƒI‘~· ®ƒ¼Íî)Î=xGÄ-V8Å©ÊIÌÓ< òX/1A+!I\ÜòÒoMJ±sÊ÷ÅñzVhÛþ‘¹—þ»@¼"ÞTœlËC=ŒkŒ÷UÚ[›K@DVùkrXàòê.Ü䵑RRÈ7)Hx H…Be)'2ÊÕ”h߯¾vó£oúÕî…jWºŸÚãy1-–”ð*¨té(è~RÁZh€'5kAœh=ìW$9Ò›4á‡7[XÀÏß_Éz¶ûË:Þ!®}tÕ+FÉ^žgA$QéCF€Kg,Ë—ÜB@µ"1ö!5ÌœäÕt†s¥÷Ó~»¿#â”±ÜÍﹸ\˜¸ˆz~ ï&^à>ž˜(À×<0îjpûIШ @—ì’šªX ÙcX³èšrjôà D¸¡½aõ¤ ©Ý\Ù·5¯£“_ÔX6­¸¤"Ynf_úçqtî×Ê0RšI‹®¦;ÑN`¡õLñ%TI¢Me8'‰kˆN:$n_4ypÓz+uüÿÂnî°»y¯D¥0'¢h9ïeÈÍÂx–ykèÒàñÀ÷8+%J‹vçÊ䆢tàäv)üTÚ¯È÷á:3oS‡ Ê¢™礃ĭCôd=e~Qä [í£—J)©f5°¦M’¶Ó½(^´2Ùí˜Vܾ¬!¿$ÜtЧ«&ãÚÿl$rÞU%õô>f‚‚-×hN’Äs;Î^Ú~©žø÷ßê.ò}np1G÷דl>T‡0_Õx9’;ƒî2\¿€I\û" lzôì)’˜I §dGÃÇFEڪݞèÁ#¬¸ü9&gÄü“‰PSžQ¼Òab,·Z­.K´4¤Élª¼¯®x†`?ÉÏ"Oå?=]œ¿—Éù_!®Ñ}æ&£:v…Dç.DÐþt«!;*ôäF(ŒÅTU6 #Å·¸þÖWîùÄFé˜©Úæ'®{øøŸÛ„ú…Ì>LÈxßJ™ª¿ñ¥³~Z§ž¸ *k ¸‹e7o}¬$;ZSÑH0VÒ!&ù@µåˆ¤D@\Lí]Ö7Í8š÷óh-ÔÐΠè‘®þ„ÚÙø5æ @Œ“L Ú—:(“ó”Ø:“¦š°´­ áð·í+Ô…ãô d¾cЙ*bfÒ©ç&(ÁB=LØo²4 žx4Ûè­Íþ…[ ³´_>*4,IÛ`_”«5[¿Ô&ä84U¶nªµ€@ý ²½ ÜÑñj³¬çx’ß¾1*‡rÝÿªɽ*€ïÐRÏo÷ D‰Ø 2æuZ®DÈ™gæ—®|ëÂ)÷uuWŒ×3‡Éðý˜Ð‰xË)¦0øæÌø¶<ŽÓ3Ž/æò›˜•*·Î­ãðÖµ{ÅþEBxÇ«µfCÊ=õ®bJ~O,{5_œVf-w™)®²Š,—û:·ëŸè`#àL™•yWäØCºt)oxq±ûšÓS@ië°ÁCÂ6‘0¹“ôÛñ±˜ë­ªáçý‡!êÐs๜¡C šÿ§÷€Ó*½}ªæp8ÅÛCt·ZV¢±¬lBçyoÙàfÈÃH%• ²&Ò)ø:*ÔÕyÒ#pâ™Ù¸?8aÅG–,êì¨kGmÔ´«ØC×…{…4gJ…#È€i¢Ž¿.ôE [ýè´\&;néMRoÙã«pô6¢ú¤Œ¦òÓ¯\)ƒ²‡féŸÞ¸tC'ÆÛ–§Vâ3šŠÙÙÎ`u¯¯˜êeùt>`4Š8üÀ€PݵM.Y²…2‡|عP‹ñËhD@Ûj1‡AKŸãNêé~­$-¬=\èØSW•D#l4!(ÐÜ»6Y¼ øYPšúÔÒÉmÆ7Rá{•»>Gâ4e_ZøZW&ªžä/.r°9ö‹%‰gZ ybDFŸbQ¢ø…¶"j¢|·jbÁaÍ/XRŒ¼:~WÖH§å 2¢¾Eq$íÏ…­F¥•uŒX^³tÀ{—¼úpWÃñR˜ ܦçJ0ž'hë³úÂÛµžÂ¸špª¹…²ÕÄR3=ÝÒCƒ'¡ ¾*ŸUÙ\Å+ öÆ9LñÀ¬)TdÉáÎÞÔ ò Ž‚“1‡§é²úÉ̬u9RïéÍá<}’ÛªÖ5ü“D’ÑÆ¤f®×ŸJÂõÚkNõ¯^µ€ åè>į*ª§uTc‹c8ó•A&œÇÎ>Åsœ‹0U®”3Q¤0=Eàû¥Ü³Ì°†T¬DmÂÓ]q®+Û[¼DΰfXßIAGâ±$òèn£ì%jH BÇÙÇŒ³"N®Eø_¢üTþhy”h{›x±¨Ž eX`ÀRñ`:2逌¿#ªœÉäÈßWŸc;‹^“š¡ùK¢hcY=âÐXâ·[O¡éx*ëbiwΡ¬Ø%%„¿9“~$Ùœ®>{bŠ¢9qmù‚&HGégQŒÿé½»¨ô.=O´b rN…ÏÙ×0¯iªu¢_ÐDm‘™W‰¬•Š»(:<¹T6 +ÇF󿳿lÅ?)™u¸±œ‰t TVž™ô7ówê|÷µÅ7¨%ÀÁòQ iP÷x±$ µüû‹2ËÌd¼CX½b£:öŠ` -@½zÌ)_Ë8‰°¬qVnGÀí±pC¸!.þÜÒ)ªW™Z5Ì£N,…–æ‡>?0…³q܇[7¹8¸"ÝŽƘX¶N ˜’¡v²F¼m(rùlàƒ9úì+ðDŽ-#ÄNoÑŠ.£´ÆCgŠÃ滣*FNf%ÆÎCxÕ·a_J°9ó/qQ&SÖZ_|¦k•Þ1ލ²ò¬`VV¢´ºŸ}A†AÅ$cf‹ô»ë}·z<Ä'çb»ZÒÒmj8 {ÌVŸdØê&w=Fˆv‚‡Ø½þÓ{Ÿopš½“mäÞÊ‘†ñ‘à;ø+\®8q›Ã\µ¼ÇÆ:EÚF÷à³SC‹…šÁM§‚ïÜ+57€ål•f÷n—ÆT‚ì˜Ãa…ÀPKs缘¾y"ÚÓöù7=ÃW+(,õñÀ$ØØÀ·U0ØÉ½·òcx?ÏÍåvñÍ%I†ù¾Ž¶ªQŽº0÷’9ú&ƒ[ú½±ù*~-4<óÃĺú‘NuÜ€a2Drdº’Õóv)ˆÆ ¶Ffõ”f¬•+Š &‰f™}5'D¯†eû÷F¡‘küù1„ ªW6°H‹Ð‚«/kF¨Z‘UŠù™aFmrÎg'é+=òlÒ¯°™Aøè]^m‹[Cè’™ð'XPúïÌžpHãp3y±Ø%QV/½Çkh«4Ëe‹1M¨Á-Ƕ=#C[®&QôÓFâ‘·¾ÙÜ#Ã3M¬²ÃHeI¹odvЖt¾vÊš˜\Ä“~Û¥ÚV¬­Ê²íoÙA„aAPɼ2¨bqAÍ{ºAÍ௛ìØnŸÌ}¹G S0ÖÜI˜œœÁ·rÐ(3½‚ \6¾®rûá( $y"gz§Y.B!š%ª­–<‹B—U>0~æ±Âê±5$¾” À3ƒ!_ ƒ Ê'n00¯{ÁC*PUË˪{»Y¼¸¦5 .ÃÑýc•~ŸRØz¿Å¯}_o*5ßärËé™ìèQ HÁ¤T¸DèþÈÛ0¸–:æ÷ž9öapøã(~x™¨h»$=X·w¤ð©:Ö™½Ãn%cȇ¯€ylï¬$´ÏG€ Wæù‰‡@heªÀ,X†]£h‘i—AÂQ™ì‹¬¨âU5>T’Çõå%”9kLbO½Y› P¢ˆ4²ÈîŽm@‡†´ ûã6©]wøÖ}h˜9Æ“*ˆ¿»í*6ÿ1Ø”æ³fWc‡`iÙèðxèbp«à]èÑРԿ&¨£Æû´u°•vð!gyðNÚ§Ú^€pA„ &ÕûÅ5ô1V¯åitŽyº‚H'9ï툋b!*™;Jñã 2ü>úر Ð;g)ûLÃÕ´iAèkšÇrŒ=Œœ»9?­Nz t¬8úI:o-ä:YA£”¢}ñ—b{S xCW¼ÐœÆ} 2[”¤»G‘ËFr†ñþ"ýÈ`zýâã=ÔräåLa3%0ç™bœ’€£=KSõ÷Ûáñ£Ê€µ4“ìI¬i^!Ó0›çÆÒ2q‰W­GbŒÆkt•’?V±3:äx{ bÔ㥷 “^ZÐm€Â•[Žôzü-«O«¥ÃäØ5c• W c@‚ÂaBOCãS”În~u™Å kZiáœ÷$út:£&½z Þª;+ÿÈÀ T^üÍë™ß Üws¤Å[k½¸c_ªìx»w ¹•—£ûIçQe«Ì+xÏÈ–ºgê Á$Jh¬8×Xéñ³¯ûX¢Ð-"Î}¹ª5§~,«õ4Þ7ŠH"RõA»“wPÀˆÑÚ”Ë0-ˆuZ“öªãïa… ù¸úÙ´î×eÝ]Á(¸ð8{ã¥ú”bÊüИßÕÂK‡[ÅdjR­½¬~l?YÈÒ†gyœJU/õé]¸kº ó:ÍØ…ÍÑ VùÕ¼¢x‰·œÁ+Èü Rz'ÏjÍРfã…zÜ1›»ÖäøjE’W|V6u—!zÒï6FW è°bäÌšºò}··ÀSÿoõéBçÄ.…ñàol†qJ‡¾þ<‡âÄHúpÛ ]U‚‹pÖæ9¡LÓ•’CûðôJê<áZu·.wFqk¤”·hÊ'æ?&Çê˜ê%¿el¨Êd—i—?ÆÚ t¿.§žv¦ß`¶Z´’ãl©à0wwÛ÷5pÃÁ]6xÜg4pb>"¢½}ŠÑË2ׯJq6Ïî ßW,ŸË¾ ]!ùîd®5ü~'kwIº kñZ‘¥s§ÇsFÄNÀ¾ù‰À@Et3t Êž:×€úø-1Ä(Ÿ[YÒʹÏJò¡w’Db¸ê¨{²й¥ŒIJנ¡ª\N…G>üÌjW‘ÇÄ;KÁ¯È^zýáÖÍÁ\áó<œc °‘þ`ºÎ@ÍCn5ÜxP‹ãeœ)á5S@'ayYMÇL~Ùôá*ò_ÝèñËz1{c5{ÊgÊÄ/ËCµ_W{!ÛâD3Pö¥OÝTŠï‚Huµ|©ÔôGk—7„¹©!Å0ùLBv©Aá·…t'PŶu¡QÖ¡íVë¯ö@qôD*†ÿ h4Ë›S0lIU–zÁxÈ6_ÁW;6¢AÕ øx\9dÞTçÏ>þ¬/—™F2É_+“0¦g4­T˜ù¥/ÂЉBwvœ g}Ó ä.<Ý5@Â\gdbÿåÅ¡QMkÈ.M‡o”gEë²ÐÌ/§¶ó[­dýñsóB%ŠðU„ØÛ fY°NÎñ/q/F5'Œ†f¯ì„Jð¯i*ñšJeF‚dÕ×Í;Ú€-ã]á2Zá X6„‹ËϹ÷SµA-¸œº÷·ÜçãŸ5˜7Ú\BŹhLCîu6£~éËŽÀ­:8£–­Ø!¼¡Kq3ìÜ)_ö²·U8ªx:»`«;@ÎRb· Ót¤:·v%luú&”ëi#§²2Vv\*-²÷9ðÜúD82Çû¼E¢fo èÊ'%™ "]+3lŒs=)-òF®ìÞEN=}ÍðÞxŽ…ÔÌž»aª[Áå¡qÆ ^ÞÆ°h~Þx&ò²3éÖ÷h÷qMè¢Ð'‹öÍÓ?M Z½ ¹Yj«!ùßÞ z¸ ¬ “+”ÍXrRRªþÓ=ï º€‹†­•–«8`C×mÑKÈÏ{ÛEËrT5îÕléÃ’a¹ö‚½kŠíñ1¸‹±Ì¾´¹Šr¼:öìlvÙ3P^^vFL@=4•òõ…8MúPE™Eh^Âó üQ³`ûŒ×¯Ž„¦Íì6õP[~­~€|… Úæz•k­,‘ìxȆ+}é¢UÃâ}˜bz.˜íiÈD>Ž’\ê"-6ÉF€e¹˜Ê»Îê†fá o¯úµ=¾áKVMb.eÑ6özuŸè%‘7¸BÑÓ²•ÑÿXo\ÆímJÔ.ÇjË ƒ…ãÁÒ]ŠäÃüŠbÔ1@‰ä Ç< ‚û‹A‘}G^„j½RTÔè,õõè²÷¤w.þÖ”,Õ"žSê|Ñ)|9câ.õì;ÕNTo Mÿà¼]ÚÄ#Ðí¼1"ÂQåF!Y·&tÓÙÖ ·_ÄB«_¸Þ1׽˫OR;¦x‡{K–~ÅqnM-ð•îíçe·ÕIñGÚžT/!ß)Ùfo(Íœª„ã ÏÏäÎtZ'ŒfCl锼W $£S‰C²¿«€Ù€Ô ⬓4Û;:ìö¯pŽ ™ÀPíì¬RÛyÙ‹Ó„£M™m:Þ~ŒXãuÂÑäéÈÕñÜ«¦6Oî«6Õ;• 0*ÈÅÀš”èÀ3£W=½5'Ì5õ ÖÔñ÷xNî|? ôøuD^2‚:;Sa`qÁtÁ ¨÷XÎ ïÒÏÏÿÍøø—ÊŸ{Lò¬fÖÁ‚8sPiûÞ7¾8ÔeÜx„›‚À±çÉÒš™ÇBˆ˜m‡©SÎ2Ô&õ0LF½Û ¿œL ”Ç&ú\ ÀÊ„Ï;4óŽ•Ä]h›6á6(vZ7yéãuÌʰÈê.$DŽ͌×' –¶¬œkø’³ÛȲ¡‚u~¡ ˆõßÔL"rTýùÉwðÔ=¦öyùýú©J­ðÓÝë¢r%oïBÃã;F¢ŒÆ€ÆYÏŒ«&Yþ„-|ðx°Éh`JJZ³/0ÉR@aÖ>}¼FðâpÆøêª–Ærÿyi•VEˆ¯ü4W媥dîâ“ZS˜Î_ð¤ Ôá®lÄßÏ Vóqîð¢)E(Ò¾”BLõÚ¹ï¼á Î%Šð¡õnñ4ûI«“ ÇE£a «yò×ògÎ]f¢š ÒŒ%ö ~¨BpÒ‚ˆ‡ ‰çð¤µÂ²2/áb™™+8s‰ìžD¨ª¿„ntD‹!˜6‹¹ÁO…ßÎõX¼Û—jÎÁ ÞÄR¨(XѯÿG¾ùÙð¹p)÷ô%q&²3hæÄF×lõswÒ;y æ½?oÛ¡%}„Œèõ®.=ƒº4s@ ­ous„ÅSšG:™™Ï>÷ 6Ø¢:Ä„«§<ŽÓ¶´,œï–¼‚­ã«ÉºÏãà/6nJæ„ÈHq¥Òõ]…3¾Í1ÄÞ?í,sØ~„Ï7ýKìéÙŠ¯ÿóªE¶oJ¤‘æ’'÷Už·aE¿e‡àiöY0vŸrzÃ¥¬î¹³(Ç˜×øèMs9V5¦UÚðñ1ÿ‚\pÚ@²]ò_ˆÜ ²<ªÊ¹ko¢ãš>² ÿ Úñ$_n/·¿Ê!Gõí¾ðæq’ÒQ1ïJÏÜYb8'·†Þê?ND®z®,]ÊWŽbèºu½gäré‰<ÀÉQì=às2¾RòçÈðD-ŽrE2÷f¹<¾?ð£`Ù·ÙÔÀq©¾Šûq¤â´¡âO-l¿ç¤Dq~¶Âq Œºï6"æíjb¹Â~ËáÕÍÀyö±>¤Ê -BÑbW3R­®¢ÏU÷ TÂ%K‡Š8ň—æSÑ(]Ð6H Þ pKš÷^–SþÖÕ–)$ O†¨'‰ŠeÓøRž¯Š¼`·8ðûÛ1)wÀ´¿Ï‡àÒ°( Ðò&#bŒLÌè1®ÓÀ¶œ_ 48Øh³§ƒâUüÞä¥[E¡á ÔQÅ_ý¸)¶õ e²X_E‹Nì±ÂåÐlÍ“à/7ÕjÆOÀ1°ªÆŒt&Ÿ.]Rb ­MÐLúÙ'EÏH '`×mJn6Ç4¸hH×HáR ŸF!•*éŸÅK–iY&'Uë„F1šN¸"8b {áý Qñþt/†SÚû©ûªw’VÎÁŸÆò=Ü^ßBþèHtÁW½8—{l©lk›sè G¶? ƒ-÷<Ì3ø*#'~“\Ô½Œ+œªÂRgÅ×ÊÛ£ ³f׃dk,'u½þNï&±Óu“ð ¿å?;Éøl‘êæÀíOšší_E?“¯póâR˜@ ÑAô)µRiz×vQý‡©îëó uvšÀOR:ÞÊ{%œ¼ýM³ ˜?OÞQ€®±IËÎM/?bQ|öMÝñ­X¿ºW®)©ŽŸÕ¸oÆÂýµ!V®Äá'õ"v¡Úi9z ô(œ4þ:Rt‘ÿXI”´˜ì‚bþË ]òô†,¥ÉêÇæ/zÈ„?°ÝOMå=Lb\S slmÁ”ÅNF„¶yIM%ÒX>H@K¥ú»ÔÛº‚¾ÎÅso-¯ÛëÒ€i ë œ9ýt…R]Ø“gª*X2šs™¼[PÌH³/b5vPa×ôöïëÛg¸iÞ'’>§ö*íð ûMÑP:BIVNMÆþÈ4†’Ï>¨å‡‘¡Œ³\ÄˆŠ¬0óîZ©6Çž™‹úr÷Üã 8† ™²'ùÛ ô”qÉ·/)÷Ä%8=|a=Õ_RZúSµÝGç£5Í®U·i'.ÒÐMvá,mrº+] Ù…—‹MÈQL J¸c23©›vþ e&F1Æ¥|¤ÀW_¡KΡ Ö=ƒ6f)f÷4ßÔQ3šMè(ãk¯)IÜ6n5e |ý^4yT©µ™ù«…¤m{ßú-I*ËžÐv7 å!8éDƒüÊÅ#³¼SÝïÁ=5‚õç)¯ÞEílíÉz1¸ømÀ_:ësÕàN`îÕØë³9Å5 ù t¼÷¸%gjÛ:kû‘ϾQKôÜá+Heâ*žà¨Ëõ¾*Øù–úØT#ÿª~!@(Yš43%iÀP^– £ßLz ÈfÇ7ËýS5a¦*âÎ=s—\²JRÿï£]ëí :ŸK^ÉpÞ_‘GC¿ˆ•ÐþcYÊÚÊ:4Ih¤µÂd–…×DÝBêÙã·*Ʀšµï ¢Ê¤_¼_/ëgöÉ{ÄÙ„÷pظ´+JXºý”¢ˆ®Ny ªÎvÖ´É[@ò:¸_ýuQs.rc¸°.}&1”'‹¯ÃáÌ šÎŒW  ƆaœÅßï˜ög^¸æÀ5:Sþ½RXWõúŽš %ÓÕáû‚9¿±a‰Ã~z~‘a0ä„<7SX ÙÕÿ°Í Ãw"Ì|$™‘zddD­«ªlñCiMŒç,¶À=e}üž×À¶“dr¾uGpvëÒ:ylmƬÞûÆCZàî1%—f…+ƒ×!ž»óxGQ-Q³ö>Š|h 1±ЫyaTϸ?׆µ›³ÆYÉaÁؽ0Ï‚ÿØ¿z÷¡ÎÓçYÈ/r`SÖŒ½DE:Å£uý¶7CÛœÖx×¾I¡Xæ:5œ F 6vR¹Ô?}M©T»µ£>”êQ^ٚ˟ÿ]yÊY¨q±|Z ­ãH (V²üIu+[íʼ‹8º/5Åñ~xÇË`8éÃYÚ,Ûû!Ø›šëÅs”Rgþxþ™i|o@Qcâ%ÒŠ Dî[Wà¾?xЋæñ¡ÁÐ –†{V/Xâë‚4â/ds5‰tCWg Û”¦ÑOÂY>÷8ðô±¾gØ«Á©çÿ‡-gbIÇ;e¿ÐNžœ‚cSþJŠFÍÎA~ÚÉZm‹Ñã­ÎÁI@âÒø£Æ»­¤SºuâL}Ѱ0Þ„|.Ç€{dì#¥›Î['QzÄ tvÿ¸´Ž®Ë¸Ã*ô²3º“}…½xfÛõyH'1ãvµƒã[œ|…êUýh™€„q펣dúr•0†ÏÈxóMÁ)xíè†Íä øÕX‘\D ô/¢HrjðRæ?ˆƒ˜0ï.ð©Ô]ç7§ œþ[Ì{Yj‘¿F¦ÈCÝÔ¨@ñhͰ×Ã\Wšdâq2ºŠbcÕI¿j™ ÙÏtkÀSÉí²Íñç½ÃèªÆ7f°ÐQîÒ¨‘/!JFÊT˜WzU‚Ú ‚I‰OÚhÇ êïGˆbLª‹ô†< É¢™‘ñ ïuü°|uîª>d6kÚ" [®ïµ$. EPÛtãö—Mù=˺§6ÑCú@dklÝæ™Z$›9W°FIöÖúÂMª~³áÌÚô¼Ç8¶ sØÂ˥ŵvÅqË?«¯ÜQÍ»ouT³Í9g Ú*$•ÄF_¤îmQ|S­šAÑíØËdòåC™(ñ+$pQê+ù.“Áèü(ÿI%p‰ÂjM7 2¡m@?`Í]ÊË¥_ËfÎå• èz³˜et¼è§:-Û”÷Ë-ZIlT˜ËïƒqE:ε7¯ØÎà?ŸãZTuÀIa=Á2áßßÞÅ ïÃÞí¹¹<´Å“j÷)§2‘jšè ì ʤé ž4Qäm7;ÖJùF¾ÐúÝ ‘-erjþÂ'›]Õ›7ŒC8¥ Z^ªì2L³^*…C´ö¬A!XÕ&KSp°÷èw­¤~^î)#ÿ/ð@ñJ4XÕÛG’ÙºÏc!-€­³¦Ûøa—¶¬Ñzbâú½¬G⊷tÌ'‚àö‘šy¼»’]Qpߘ¯tòòóú?íä<(ˆ{•{ ÛÁ¿0ÂÜë&'„÷ؼ̵S 7.{¤Ià\E0ß4RÞ•”Lƒ‡¤\ºÉÉF¸Ö7uÁ…]yMú³;éLVœ–°Þ)¡Xž‹ï(ÉœYŽ£¥¦^Î(¿}TsåãâTù\jvcŒ…ú®cݸ´rß+Þ×bœþ¼RXÅøX„hoKߌ0š ²·*šèømò<’¦6©Ã¿f'ð ðbGYÖþ ÕAq¦SzÝh×¢ž£F²ï3¶¤.x¨×µX´›1Ûódèn…W:˜m.XQ"צ‘í^èï/í,9€|É­ÍyÌÓ«² ìe—ˆÿXØ–ÊüèÀ}¦³âæÐà/+|÷à ='U—ØÈ'(z®K ²„Ñ¥îŒë >þî&h¾0ûLbg9î7*êžÕ¡¸,*¼Ùò±½Óz\Ÿ<¢¼ 6*ç Weª‚Ù€¥•çßKáöXýµOÂJß—˜®¹…„ô*¿ÛÎÑihÔεà(†X§›.ÌÇÌ´&¢½¦ûú7O&kËãUšg+lŸ¸ý9”f •^MsØ÷ˆgȲmgõ£â ˆÊÞÿê8òæ]“Ÿ ÜPõ˜êØe鵌q-Aö¾Çg®Y;Õ òȅẋúÃcì½®ÿñJШúm…ÑËrxôÞ&¼ 5 Ö3a•Vt}"Í(8ò.¥“Yû¦þÛþ@ls†NÚ„!¾S»¼c¡'cK™£˜ YÀ¼‹@tâEûÞš…oÏ¿ 4UÈ!@1ëë–Jalá̤B‡á 9w ŽâA‘¹ ]Qà0í2ç{„òc7ë²ð5nr~ôïF˜#æ<*Nãw±ší#úL þUxþòû^fªRÔÎf6%Üw‹ïSÞ~¢ÔîwÙ’ë›v'‡_‹Á«%îN˜ˆ€†ÿtJytqøÓü%ä_êRŸ•5× Þ<|’†"މ«É4döv¬ôÔQ;…ùóo„ÆžO éè°œ'yVéÙø2•ë¹øõ â9 G@;ýÂ.Ceè5®$V†Çe~ølãZ±¸NˆÉ:M °‹YW‹½u v÷cU§Ö6,¿Ñ!P;îpYÝ.¡Hw×=«÷îIÏÝ¥ÏGãé‘EÀ·[ÖúÓw²£Ÿò‡)á Ñ å­fxÏZèd}~äi½B›Ç{Ù/8+ õ¯/•œ)†Î…Ì[w}xß~¤<‹æ1ÔB ˜pبֿ€Ï ŽM?UÖÑî_´*[º2»×Ï^yYLIž´š®Ãu"n&­‘ŸðBñ.Éͤ*ȬB—m8ÀéE¨]¢áÞhÎ- uå8elì%ùœŒš ”3™s"`B,êe9ü¼8þ[–> ÕûŠÿ³ÇV7ßÎò\Tç™\“ú¨°²Y^«£ÏÄ',¼‰¹)?î”[¢ `õ§3. Õn}4Yî÷.ˆ %¢¡º]ÎË`å Ä%Âõýo[ÜàÙ~!uò„C¼“¾LïŒËµð¦YÕEhoãôŠ’mSLFí|¢Wš>/׿Õ{„xÚKbGOò åáý/O9|ä{ù#Þÿ~ís¯CýÛõ2Xë™Ý6ØŒûQd¡â“¢²aƱ“í‘i…Žêg¶ÏBàè:ý<©Û$q?ÖcìðK›aa2vp½(n|rHCÔvH®-Ý|é mLTq „ ´-²°xcPÕF+sDÚAáé‚£XH³ƒDXYBî$ÿ˜¸\d1F_0:èNÇà™ã±PU©|p¼Ô~xÃKšbt @'­ŒÆåhÕNÛ#¯(‚+º”NX?€Dˆ°ì m£Ð¦‚ äøØ4Æe1qýÑEªírbSÅ'èðU~§­I `ìk¨Ña¿eKq³–åšR‘¦Ç¸ö±ÙÌ‚²XAÒ¬RyÑãQ%3¥ºA¸©5½s§Ãì¹~9[ÿ¿0ñ`ðøå< :Ö¦6`êûæýÍQI©™Z<žy R߀×$†E h©zI¹€á áóÎ?>ºe'®UîžM¾ËªV…n£Õ’$¥ô¿§T%¡çŽ =º%i9Ì?íWKz´Ê¦±Y¬™9Ãq<ðêVF¢Ü9¥àöÂ.½lG]{?®t KïÙ0o`úg%³ç²€Í2´ä¹qPgÊ€ ü Ó¢4=Ôµ×o,_µ]­múJüVEš-³nüš”˜à°Ru…• ÀYKŒdΑoú…óøLÃ߯ŒoÕÞä™L®JhN˜3ìâ¬I–)ä˜éÑ‘HK i[4äÂO‰ ‚ë OïËžØÕáÅ3òá¿—M öFçÿ£LÒE =s1#*ãXÆ£€¯²/_µbd5¤™¶ÑÀÀ[Í4Û½¾3ƒDg –3¬‚ÍÎé)£û3ê×eù7=PÉ ý—´øÇ°èR²oîF5Ò^ଡ̴©¹zÜ“µOæ‰ÄvÖø+¬plÃƼ½áÃÍŠóÉÈáç®mEYê8Wµû2|·ƹãÃ÷Æ¥9ôR¸·Ë¨xŒ\…¦‘Uï–^xž¼œâ7íj΄ÇWN3õ›ý®ÖLå'§ß$^x¹êàÜàÐ,b‹¶Óú9ºò7m åžëÙ„‘NE}* w6˜j•Úâ‰)»?í!^eîTðá>a±=Ã1yàÉl! Y 3»Óç¿4÷ÉÖà&gOë‚þ…7-ç?5çÛžî"™!gÅ8d-±#ƒi|²„!»2˜"¸šÛëË„„×ùO«²«Ü{~u<ÅøÖÐß´iáCa®êè5Íâw¾92eÆÉM ¼qa‹7¥Ç ˽9í´‚¸,é†ÇÍ„à}¼[4”å:þ‚œÎÎþwëIî©.¦»w)üª‚˜Ö‰±Ð¾Q§Úš8QAæj»gm¢¹i~°î¶°&2ë Ò¾­¡~¿7‚2v˜º ˆs•*[÷b¥âgMÌbÞ¹æ|GÚ¾Xm:Áþ øÛ^GP¸Ù ´-Óì¤ìnâ[«c¤„zz<ƒ2¢„j79d9É:À›.ú©¯7£û5O×ÃRÉxõÛË‘[PŽ‹á­rme€®V&ôyRIÑÕ¨õSܰ]Ž]ÂgÚ!Ägëk#Ny’ÿŽÜ¹²¶¿V1êeV'×À õ¢ëÓ±kp©õÞÿ¥Q}Æ tÊÄp¯þ» xÉeœ•Í”¶3Lû`¤Ÿµ_»ldÂÅCæÊpvª—ìÓ-,~J9_+ÈÞ ”Q¥ïºj.x»Xù8æã½¬mÑ&sŸ2üÕxÈîx‹]ƒó#Mlu¼àºÓ}$ ‰ËâËÆ¨æí¶ÏDµÊB…˜¤ï™£Awø2DþÊáM]à­ÓjÓ䦩T ƒ•¿wr¡û´26i=¯Ô{Äd©)ÃFÉÚœ”`ÒÊóRþä¹ú¥?†¯Ö·32®Lß}¯‹3ú`¦^3oöUYl<ü ­Ï ÒõåeÃ×zq‹TZUIƒä†ftVìoëþ}¤_Ba÷â ²Åâï'þ$Ë›C•aÏübfx"âÀÛÔŽ CÍ 'زغ¬xT°ÔfH‚N •RðÔŽÂ~cåéSõŠŠþ[AÕœ$¿¡é®v@ÕÇ¿¸uþ¡ªZ†0U¥ š¶45;çÿgÁ=KE°ªÌ²8mú<ÚÃ>W'wãx)ßóG„J[¯'5C`Uˆ3à,S|±í`¹ÈÞÝÝ;Ö™e»°üŸ"‚œ‡\mFv6Î^€>O²ós…uW'àZ‘Q€¥´z—¡sYGàt_MèÙ4yá™­Mf9Ì›BiÜÖ{àb.`©èUn[:‚ÆŒÖA‹‡´?Êá ˜—“²vLô@§Bã›ý=e;&cÛ9!»¯f™cy“ÏÃ`iÑ÷EÔ¦…„-=ïþP ìƒ{þí> ªT$‡® 8¼Ï†-X)¯ìb}Ýñ2ÔeŸâxÔ]æê~¾_•!™°é°]u/,¦_•ÞDÈJ ¢¹¹5D_ªËçnìúåvZÊ^×ksF^ºçðÆ~÷}‰o-Ø«_Ä£«•¦5Zäò ÛrÜôé ]ø¾‡‰˜6ÐH©IŸPpE˜Ü$|-° áZƒJœËõG‡ÊdÅ­¤½½ú÷…‚?Ý ä0Á`„†íLço!1ÞF‚Ó„{(rÀ5Ö°°/8%ÚØ¾¿×x›Å™-Ö±päg›×ù½RÕòÌìÿª0b^tþÖºvÄÊEÚÀN­a@†Üb™ß,É)WÚ*½9ca'+¨B]òÕ±óýÅð© ûÅòiõ{—WwùÅ3 Ùý(䤑|2ß]¸››\ºÑ1s6CCOƒlìLœ¥Q“—.¨A›(Ð^ Çr5ö;˜C`èujs’Úó_¶³ü 耓ÞDãÞèbÐ7UN¯ôÐűv<˱¦º*ÓŸÈÓ1A)«È|Zš_j÷ÆÎòÓ¹Ì*{n¬ŠbW?3 ÙƒGWä"¨þ ¨N±´ÄŠ.o¡ñÿzÖatÁÿ†¢µ)¹0…ÚÞ[]P#þžÅ§Ì[—GA{ûw¡¡ËN±™Ë­šÏ·Îľٞ‹ð”#kt©:4âqÆãvÅ XS´äŒ,ÓPA :°ÝAæÙ|þ<ß‘7õ lZÐtzˆãƃ-.Q‡×5fýAã…Þ‰wéÙ‰nCÒqQL|ËÚˆú6¼£‰ãÉÕ¯’ŸÐå¦ÎGÃ÷›ÞèÌ0½MðÇ”dCÖM]ý\ÃÐ÷ÔX«FÖBð±ÄjÉXׂP˦´,ñ$§©Åв ›Á.¾”Ç%ö”ôÔð5 9ù18÷–#£"ãÃc~­~ÉLÂÇ{E _r°çö¬—`Üíï⿲뵆k[©Îhž©¦Ý¨ŒèÍqÖâ%§Z“ãófLbIM–ÙžÃX¤“SuE•`å9Œ†VúÕ}ó !NPë4Ò‡¼&–#*Á4y»Ò¤ó¢2ÝUŽ>ª7iwৃ[¿•†˜yîpó£h.ùÝ™ŠÅ:–T Ók…xŠå‚þÉ\Ð ûR•Q‰Ç„Y°IMGÛ¡Ëìf³²~[$ئð4eðöÛÔSû²€ j•C7;ÓŽ|4ÅWаF哤r>'évI¶h"À‹¼ç•1»htÑa¬å­²3º­o{V^|>IõmµØQÓm¬rï³MÀkÛoL{Ô%™1à—•KõQ³-!.Ê€ÒÒñœ££³ÔAH£?­€¶Ðè&ävO®âOñ$k/mIÆo)è5 ÒwF±;ZÄGV?¬Ëùãº1Wv©%íùé—~[y-õöqK£Ö¤¯úÄG&Kl—Áň_½ û…~­Å÷½PQúmí·qäÀü³Â9·Q×ÔI ÅÝ |­[E¶}^>‡{OÑryÄÄ2ûcñ°ÔÄ´6ia‚‰Y)ÍG‹ÜÌoŸ!¥Ê\’U/^wñU yüpãǸ ÒzÛrÁšoL ×…Lx؆1!ìÂ)C…l¼ý¶€®¡f­s•P£Ôm.âTæëÃP‹}ò`u ·^tBG®mË#ÑçMµ?í¼.!17íqj Ë#õBEü‹ÌT©${ž1›Á àÄ pöÊ™½§‡1{xê?üi"„²SÀá=«U#¯¢:±€hp¾Û¬ТĠŽ¡Ž3-׃C‰!º¹¤[\¥»²Â¹ÑâÚ˜õÒ±ÊVv½Ë(Ú;D7’(wåö0UÀ¡ýGô5Ï·ýÈãP!¼õT °ÃO:]IZBÑ©î•þ*5ãXºÌ•%xÝ­øl­è*Ù$´høÏÐn­˜qÞÊ¢v(îìevú_ ãâè\·³çZÓ®Å^E:GL'BÅEñ“G-—Å'Ê>Â;aüP5Á·TìÝh<Œ'•N=µa'ŠƒÖ‰á™h`=bAYªLìjûŠ»‰lb€Âaü¢"¿¹)Ĭ %t?°I òšgŒŸ]Bð»Æ¿÷™xˆE;ɲ8›76/ÿ£Z^kÓ¢P[5šsä¨7d¤¥ïºEkû¼{ð;K,¿ˆÊ‰lÓ4=ä’D¶fltFV§ _¸d=näsÀ—BÂÌa-8g%Ô‚¿\ÛÇ»QÝ‚ê²0Çüßó@Ë5°Õõ÷x1äFõ¾]åáà‚É$XxKXßDöè„_ÃG'.g« öà„T%ì~NtÉ1·D!ZìKÂ>ÿ¢(eÝŠêœÓ0'<õŽ8é¶FÁT˜úÃÐyž óNH ¤´aXRX&¨•BâI¶ÄMàMQšÅ©à³Š€dœã&&`/F#x½šˆ¿"|îéEñäý%°ÙµÂj[ «Îrû€{½Ö¦¯u’gkKʶO Á7¾¬Hݵè³ÖA€ \¾!rê¨*’ôµÇ®º·„%±®}“¯å^Û~$QØ&3&$슇C•óä[ÑZùžVžˆy£è{¤  Â)µ™„SÃ]ËŠŠÕ¯Å3ʹÑŒ{jqzÔ{æ+øwQ‘˜ é2ý:? rÖµ,âÚµG(0©¢È©¡d76ØÇDÄâaŸ÷SÏt “y³;P Ýmën³ä ù£E|[7¢àqƒëqŽF±|i à=½û%¦šµáù\uADtœU´§›Oc?>º¢aCí2¹Ø×¥Zh•Ü$iw#7õÆJ…%ûG«+B¿‚pR”£3=u~¡Ž™„aà¥_ÍÙ|ÇÛç:ŒÕ!÷˜búB΃ÅÚÓå‹JSRóüÛ,Hs‚­ï©¨liß%ÌðfMuÆ?JÙ#=Êhêʆ!ãÏWèð ø‡/XÊ¢*0}ªÄº{ ûI…µS¬î>)IùÖ–œ1†s¦]X2æ© ‡÷ìá»ÓöS½(÷[¥W`™Òêªþc$4 ñU)Ô˜«xy3ÕâÓ¶JrÖÙ µÄ‚þ„AÔ‘ðhîá¯z…Üáºf²!áÍ G úî“­î›ôo·_£;R´UÙÂaól)lj¦ágßFj95"Äîå¡—Ç´”.ù:üúMõ0o[¾Þ#]™ßÆp̰pX¡¶"0*+3ü!qý^‹«6BFƒá€R5 4ß9,@„›âíùIIô ‰á›ä"‚Э•Aêè¾,_q'`Xÿ®] «š•G8ªE8O–v*7•RˆuWTÆž×/:ªReÐ;‘ÆBžÉYÙѳ!V6œAƒ„þghZ솬ùî$+J Cd²†ØÒ4u’î,$o£™¸}O«¢dYÜEò¦àeµ6o`ïÕÆvZ:œv+ááÞ6cQÓ«`à¾Ôÿ—£µ;+£p+ͳqc(?%+_ìŒfð‚`yå çfä0“£eƒwBÐÌ{øL+CNJ·`'ž–š6¡¸¦Z :aì(êv¢^£"›¯ y¡À¥IÇû€?su"ǭж¹uB;xîwšäUcæJ9ÏãÌÒ¥gàþkIÔçDû%µüÙúÄNáCÇSô5\Þ–’GÛçšÏrâó¤ÄØEêÑZ"! € +Ÿ»_»bò‡’ôæâ¨’ú[’åÙFIœÂ¬,;+‡0ÁfeN(ŒˆøÐXÜ#]zSmsÞwB¿i‡“߂րlðA0üîHwÑ9ï—¼\ÎG6Nû\!ú Ùuã -ub…ûx$PJ¼õòƒr"Ï»áÊÝPw%iþ^G­Or8g;yq"Ó` JÊc ¯ÁTK¦]×_"4ð<†8€‚p™)âIŸ?ðw óÉ’ÅñC4õ±ÝÀ•î“B¨kÅôÄ» GKèÒ \™p |]ö;µõ~Áñ¡ŸU‘ŽÖ68M[Á ÏÉÍ®/% _†w=ÎYbÍÞr®Éu=¬y:pᑢΦŽJ«’ù5á+VSð²šÊcˉHQ¯MMœkâR·B@låPâå¾R²Wå· /§IAE9 ”º‚ñ5æ]uãp¶ÓÛÃ(5#Víýµ·>9 ó¾£ZÉ6 ”:A%7¶"Ñ…m¶(¬|ÂSçv¶ÄºŸQ½ëËö\Ú„-çÇ,k5qqí”TÀ8,dΊHªÄ¾wO>TºR[TÐØÒ·ÔéA#y62`¼ˆv•B+ãÚúŽI×0ð!, ùñZgÌŽ4±'¸®ŒÎ´ ²ï„Q3;!µØÚÍøgU ]è­t¦œvåÇ> s{âÉ”óÀØPyY£°Ò‘ê$GœåQ.  3‰žqªÉÈjþ¨J€r#‘aÝWyZ¬—~£âs€ ”TæŠ-Y¡¥ |]å@TêÁÞWܦ¹æÄ¬gË Z²ÄN6BG* PU8—£žüÊn,ž—¥´°YÓÕÁ/ËxáT]çŸGiäú¨Ñ­R¶¨]Ðwäp¼’t ÒŒ¢<ž8ßàH‚¦‡v‡é ¢±)®Q «Ï)cLQ6 ðè¢røË/u$à |¦\mŒËŠ y3ª\¨$ï&%f­»32W)RºÂ¹å/×á…·ó6ŸâŠÇ\Iñd&_wÉ-éÛtü|nQ¨5–bx¥"³!|5^ÐÛ˜·.d.²ÂL×ßY 1}ÉÅ7/\iT Ò·«ôt5·f]‚§Óf NPÂÖÌ"’÷€ý“llú x³*UΓŒþ“{£oLuÆ¡›€+Ÿm>ú%YÔ>^|‡‹¶åÇU½fq#ˆrœZ"€÷ U%àAl%VÐ0ô£Xª++)=ÊÓ¼½‘SvÆâ.ŸzRØ2õTß§oªuû–_öN#}QÕ|¥™]ž$T?êœK\ñ™ž×¬W²9ôÕ«ÿ<คü,1§=æSM&¸tZýûø>}²Á8ßP¾r©¯x‰åÑñ1³·H ³Z‘XÛÓþïÅ£d4{ËÞ'³§ª>¤U: àEÓôâ䆿;Ue ¨(˜XÓ’ÔŸpx>ŒÌ÷‡@ˆìÔH‘c¢ª:g…-éqY‰àƒl®höúG8°è¤A£6ŸU mj“TæÆy~€¤Ú2°&EËI®ZËöÊ,Íxs¢l@ÙeÀ A*[Çaå{*À×€üf.s¥$ÙOäˆÏ„K!}êØÀŒZ#?¹O†L©°P|Z‚'ž9´yñ2 à„ꜟê)ä+ úìG:ž:ªô`Gâ9,óþ=`ÒQQ`Xü#gÛyëC+$3’?õì‘Ó25Ü|’y÷µ ·6ô!¶l¦j×N|Ï]FOÌY j럒˜ -fßy%š2íöoȲ4sÂÍÙxTŒªmû„£-£—nw Ù!÷Í]â‚+±èÛ-”¬ïõWDu>Ô˜`7DÔz¤ ’ðXáÆn×±_0äy>+§z‰cð€²Ït^w@zSËŽ•òëgu È&è¿Ïn0'³­œuQ¯bò¢ª(b6ãøæbzÄ¿SéKÉãÖ*Nœ˜»ïsq"ΛE©Ý.X~êÊS œ“1”ky]½ÙÇ k5@1”}m“•ßuøDëÍ^q¯´8.ËŒã}e«÷«”Ê\_7î»]^bîšÍØmåj(ã_‘Ã~P~Ú5R]IZPräXÇÓ%víg«+@ùðGwü ãÝ­+n^܆ÀÊãÚ­¸ÊSK°r›Ô Y øŠ÷ñGI¿ÐpÆvåXêÍËN2$ˆ²<ÿ#ÝÜbãcvcá´[î öŽÐ›š²íMûй¾ÎBÊé×H2Ü5BÊv?ƺ žîTÔÄ´ø;˜¤¤ø³søÆp[©ÝQ ôk§¡”e¬'<¸3Ñÿ6-”²êt Æä‰H]Ü1\!Ðv2Afºre¨;5”Ã]§›C ÛÝÞŧ­•gòl¹~±Ú¤é½'½ä¡‰Å„;ýá¡„9n¬üw,Ÿ^Ýý±1û.uƒþœ`]à¤_Šú8uœôäâÍsªÍŠ´òë\f¦ÈU1Ÿú™?’äÆx · mÖ¢¹3Èu4ƒÊóa_4 ùÁ:_G¾ÌqÅÉ“»³ ²ÄžFÙñ. p÷‹óä)G§®J ÷v“›üê éí¥`¡bdðœ4 ʪsY%:‚Ú Kæ{ È÷×:eAJMÄÊlao?ø€¶Rºç5R¿ƒaiQ$ ˸¡tÀæT¹žÎêZp.}ÿµÀ±dÌmR%ÔxSÎèn™ÇÑ~ì·Só• C’ÏG:žÇJq÷_Š\6Ýî4cjý@LlYcãÖDÀRô×âW‰‘Y[ò¨Œöæ‡ú÷î=}ÁNÕ!sŽc=ŒÒù/|:ÒRïýO¥êÃeU{4æÛ&ªÜ ±pó‡‘Ç„òG#T§ìµy¿{Z‘œÍ $.^"”¢åɘéÔŽÎeÿ´Ô¨Ñ뜸úX°Î.·gW81T ¢gK‡Dô¡ÿD ö9Ýæ|Ųµ¡+€X0éרÔ">¶×_ý=c½?xæÖ¥ ý¢£„*LÒ›÷0ž_Çßú>s GoÖïê¥ç Æ¶¯CVÜ·ã`vi÷ØЉH¥yØG£¬v Ö—>£eáî-[¨Øk:‚yо\ê›fÄÏÉüÉ⽎Brw „0 ÊüüS—PÈÖ5Žì·$(dîÄÜÝéŠâ¼ r43~0dž¡Ìß ›_*Ê 0ÊÁVÒä 8b­×±îÊt\p[Æ£ ¹7`,½ÊðÍY”út¤X“8ï>¸W¡PmT±Y#(ÿ_`ìâŸ÷®P \±84 }®ØÙ #•hl³ÿyî#ÚTšÓ¡}vNO3´26à’`£¸ÄoµÓ WÈZ“báqôÏéÞáÀ› re,‰ÎYQ×’™N1[zZx½ÝjAZº²ÎÔy8cyˆæ½÷tEí@ãL³°UõUXIßK´²âNåØixA¤A;à†·á›…fÏKt,ŽQü±°DƒƒŸîÊÑ™ºvà¸ÊăãýWl‡%i»"ŠIuLYþÓÔ£×úÇf-«GJoÙբà Vc&QF¼®Œ±§ÁÏ×yTØé(&;>Œ©æ¸•茓ð®ò¬£q±¹1ô¬X‰Çý³çŽø€í—¶ ~8ð‹{ßËõö/¨q³:ÂÁ?’kc‚>LÇ·»Ö1?¡÷#8:Åô®|?(gyÊ©b”Ø`S&aO°jˆxMŠÖ8¬-ZÿÞCƒ] AëN@œ¢!v0¿~IïhnE6ö4*б!-5Yâà´Š3û./œr‰y™ ìÇæ\m?ãÉ’‘V–`ï\œ‹=ÜÍ f'nUx4[µ‘L(Þ¦×&{Tã,ä_1 ³÷¯å–B÷ÿ+@ãúÐAúN?ã{nŒËÕ$;;žz©×Uõ@Ãd‰öGŸÍTwÀ'6'ÎÃ4yÕAݵ{«'Û¶÷^™%Åaùžu;ׂ©XÆadšP  Eu=ö°« ’ÉZš"‡™w¿×q»P§!l½ÑÊœþô9fé r "l>¡ãž²{r ÿBÛP—kÀ '?+yW[Û" †ŒÂK$þaö³½Æ-Ïxžæ° ›µä6¿.Ÿbô/¹Q9ú9¨ä´ éȲêòA禘!›qõÎTíƒI+zs†ql—¬P8Ç÷²ˆ–ßµz¦PóG¸Õžˆ“Ò g¹]ÓŠ_+ЮùŒæÏËÇ_<…·®ÀkÑs[ÚVÂé"ÀT(ŸÛÖô7}6ù¹h†î§Hå„:óÔG±}<¸•y‰kû Ÿò\Ûþ/xàjÿ?c×qw±ï®wó[u,CèfÒW﮽¹!Ù”·Peû¬ÌDü¬zc^õŠ]¸i8…útßµÖÍ Ig[}÷ñ« æÙŸ‰Z&ÿ[¡Û¢WtbµçÐ„âæ á—þ(ªåBS↠wñ2l‡0ü»q°_1¡@ ¤:»]ŒÍG]ëáq뾃cå¸veÄrqî¢5¶E¶‚S×H#jJgú‚}p);–k Å©ñ¤!{ð¯8X1üg`H ÈþM„âN[ß¾rL\âïÂÒYm^’sã}Õû[ýc#ÿáôquÍ Ê@f—™ô”ÂáãL§ÝÁpÿ䞣îÏ/];·÷ª¾¨ø–˜~xJFìFñO‘Q—6§=B¥!ÙR(EkŽÛÜ0ÑEZoŸ“›2Ru Ñöô âuúö»To®Z`6Y‘œŽQs¿¯é÷3Œ& ãÃÚL2{Ò^ÈzSGWžYT»º †þƒ:/Ù݇I ~?{­1ú¤-)‚Ã58ÿe¿!VnŠTæ-<¬uŸ¢›{îÿÅ3Úÿ¯ þš.:ëïg^ÚÖSÑä·•‡ÌCÉ™&8p5I+,•µ)å¾…}GÔišªZ/”Q¾€®±ÓÁZ£>ê{:_Gê𦱍;åÔÆ8áfã„ó-¾ô…\Åg)­XÔ¨i+Õ/ˆË/ÌwÎxþaù¼ÂȨ2Ejæª÷ǘv1I¿®:£?åî5ß!Ú%ÁÈĹCô2,rïüÏá|J— ¤e\æŒèÍŪ2š…G§îè>âTQºÊšg ¨q8éÎî8AêrUH°èÉ-ûSš¿¨ÿ?ÉvË©¾U»/„†£7 »Øcû ¤îE¸§.ŒëpÅËTÞO|£ŒÚ”E%“ÿÚÖwh.I ’Ïbêó.´l¡RJ_­ÙD—»GÞ×?˜QTÎטül/Œõ 'LÏ»þË›¨›†iiˆÈª(ë÷‡mr*ð™€ûÑ(ˆ.|Ž”õŒ÷’Ô­8ÙS¥—Iñ^XÂ\ñzì øÌ;Š‹Ã:ã<&K8»4zÓQ þ9*R#‘ª¦0Ë‹#418§¢Re–L¾'£¿4. } uÓkYL’šËhŽâ‘Ê"q{eŽ w1#© fËjÈ];âG(4…-²PœTȘ¡UŸ9:PX§€òýûž¿2‰Wïg”79MÔy:5ºŠêæ¼ròë•鉢T#û \gÕSŒzè7ò±i!üYò>ɾžè¦f}>¶Ün¡Woyù…ÂTö<1É}Ê‚p”˜ô è Õ]ŒV¤Ë~ÑžÀö)Ø%AÐ6“E[ÙÄ—LÇ#èL/‰©iÆ×^àz•/x^î¿J$8|Æs×õF›0}4ø½·>w$}Zbt“›ç«›VÚX­8]ôÞLtªm,ãNÒa÷O¿i,'îMÀ'û3ñ½é•‹AÅUßÁøLÅ›¨=1®l¼:^ý5T\ï&Ç(,×Û¸œ‰p½>Y*¥¹ìc4æ<¼0U_Ú nüG•GC‰UÖkOÒyâ6kåK¼õr->Kl»¶0u´U»ÜðœÈ@_.SŠ;ùć˜ÙOZþ õLÝï\ çí ™|O»8¥ÆDK½Û| †Íâ;Oo®måi4ÖV’Ud"Æ#eŸ'÷RÖòH~邇ۈA\¸ÌŽÍSÜMØ&&׉ÈøP÷E©|X„ë#Éž×2 ¨ò@öC™ãeõ&}Õe¦.ÞZÕ-Ž-9%Jâ·ìÐâÌͼ–²éŒCA<舅“ÐÏjm¾á;IÍÊíwt-…{‚Å],îr'0¬k™¤ûñ!°öºñÑ¢Âõ' áP´èp`É õ°·[е;ïn­¡YR||©Ρ†äN4¢þŒ'ÚìöéSÍËø‘­|„ûŒç×Ú?.K>B8SkÂ~7Ï E3~1<¨5Â,´ÔèrÊæbù‘ÚÅw7ŠiÞU“´nä\þûP³R׋O À€Ë^² æüÜèÛß, Âå®ÿÝ0^7Óù¤ èUrÚõñ­É­pÈËzè°·#yyø9#vè~JO²À_ñ0ë&T/§¿ð⼎k£)( €¤ÕŒ¨}¾ao€¾áßa(?Û?ºüÀå¸Ùp(,Ïgy¶®«ò¿¿c¢ùl<­ä©'û¿`lI.¹8NSÚè±xGˆN5#±ÜéÑ9¶qÚF5=´Æ`4d|=(€M¯°Óá?úšp¨äοÁX²&ZÓ°Þ›À×±:AìJ–¥ «Bž£dÏ:’ªyŽäG^OŸÐ{p§ßÖÞ%)h‘ù‘"O¨ëž‰lÜ7Ïf¼CÖ­êËÛª6=u¸–VšaL0ñ+м} v&dÀ mº Ý…ÈÝJù9{®+ž½;ÁPÎc¶ ˆÝú…ÿ+È'ëU:D7ZVF÷fýŽßá,ôIýRÆ3%†*Òœ×Tø¬ïÇŒ"»´AËmPtí’·–ébM»Z+œ™ôæ¨f‘‚Wºu]"zq÷T—íW :¾ÉŠñ]ŸR[¤¢…zÔÆ^ ¼Î{‚âÎ[Ûjî'¯˜´s8ªÒ¤ÊÞïü£[œ¹Í,†ôît…bè#ƌؑ0È]Ñj ¥EÑ+œw"^ÈWwwWQŸX´c ø³ï‚f…6OÞ™öT>¢åV®pÜ ë=šM<¹•â9ÂŽ:‹È yÆDçU©8>³™“@Þ|PÍ!\Ý”a9èIZ†gB \‰B :^t~ûnMßìðˆÎo«Ñì”ÉZ8Ì ‰Uấ*!#ŽÙAÈ$g‹‚0ßO¢YyI´9ºîFo¯ º!{ʸoMïàë°ù±óO¹4>R%1Õ HþÜ1åö³ëT,0e5q6ؾ¨±xáÚN³µV$1Q Ò˜57 Üùô!1ìÓ.â”6þkº80Š>üyÌÒõ=¢ðÏUÏÉ+ŽÒ¾¨ÖÿGKª~þÝ‚'IÉ)úÀ„•‚ö8üÔÛ‚JéǦqðÎg\A HÛdzÕŸ»¤|þ¸èÑë¹]¦ý»¬×Ü)¶QÑ™¦|TÀ À½A`ˆ ³?ä5}ü"óhäk¾ø•ë¬E3z­Ã`# ÑÎÞ±³Æz:|U4 ²ˆFLUW7³×¤òÊ<¢™]aG‡r CImk9R~LDšåSUúPq[QµpÖ3Ø©ª5ö¡fÉŠÖݒѸ@UàZ±=eÆfIR¥²Ù[M-“GU3Ùuöß3¤§hÉtºä=ÓÞp²”I~8¤UDˆ¤$’ ´1¦ö‰U%OÝ:üm”Â=ðÞ!MVì6†K¢Ë+„L÷‰Ì/ð ͬAÚIr´ ü•º1¹×ø¹dƒXٸ狚J–ƒ`¸¹j¡TmÈŒú@hŒ4¼b²eý’×…]å5À/U­y*³€,7·Ýw*jÌ·Gžb6¿Ò½Áw‚çÐØ3_'M±m@7ˆF¹ðM{^›Á_m ö1îÈ¡sµç£þí×ÁäS2µ¼*v¥mÒùò7Á†h‚.‘ºê÷' ´…X'[²I[ogÔZ„…9ÓV2|,ç)È:T $SgµJ)7˜ðuÚ²£RÿS]Ý–!£¨K^7&Òð`„žìO$.päZÑU°»Í“ås'•!Ƭ˜[0Gh¿!Ån”Ä¢!QdøÅñƒ[pŠëœ–Éœ§—ߨÖwPˆnmK<ÞZ.l M§®!Å*Júr÷ŨջÕhú><ð“L™Ô.µ eÆer”3' Eª¦˜NÍšli›ñ@k1NÈ/±µ²Mµß´{K4 ²ëo@è—Åß š÷÷³8½íëŽOeìv5Ôñx;ó©ÀÞãSZ¿ŠRR¶=Ð/Es%bÉ)Y¢ª­Y¶v†þ¤éY¥E#Y{3nͼaZ¢ˆ"‘µ-à0WbŽ›ÛêQœÒÇ1ÿ®ÒÉÇoíÑ@Á&“Ã#žk/Àg„>1óvŸuIûøCþ¨ºN ñ¬²Å¬€þXyØf«æ­)øñ„;ÉÓpM{çF†9i¯èx{ÆLÚìT)ØÆ¥ðFÏO Û—XÆ-§»¶ !!6—n•¥ ‹}Ôênd>„ý¤ò…ÞP4Ef,6|tB†ž6Œ_z 8¤oQ®]p.¨ ¥èj™p¿4#uˆˆœ'=-!wòI‚·ËlÆ`ý=gC[²E…nQ…â X ‹÷ ºS™§0Ú¡×·)”_—Í’aWêF¯ Ó¤m[é$ƒ ÿC8æ1Üî(>™ŸˆxáÈa0˜{pÚõE¸›ÁC‚÷Æô­ÀsÒËî[|eU¦,+š8.„ð(’È ¬î§~¶Œ9Ÿ¹^Bø”O¶¥¼‹ö eÈÇ*´[*„½±2hŸäXÆ×ey:p²I¦¥÷X¿|Þ —1 ‡ ÀU) ||šm®«½¾+™–­æ§LkÐÅÕ|G߉Þû—D±Ûgª¶ô¼Ï¡´ûø{€s©s_TuÑ¿í©·(n?Ý XÜf`Cl-îúˆµ-PXCsïÿ4 $7W³29);¾§SÅîñ­?±<¶K¤òiÄt±y¼>VlEÏ€Á3;+C§î›X f«Éžûð<Š©u®ïòjé&ÃæjqT,¡N‹¶¼º‹—VyeNÛ 'í}~ì pÇgÇŒÃóJbÐÊ'³õ½½B,RÑ¥16ä—Êþ¢ûpŸ’Éa8^h¿?›«|Y4Çþã`Ê?åï£Ë¥ügݳ†2ö‚ £Œæl W„“\Iœ šë~ ? äyŽàôTè[ÿ¿§ÖuùÞ½¾BÂÜUOw`°»Š<Ï))[ßXñìZNï~ÜT+y<ªí>+i[_lžæ›¶»ös9•q·¡yT° ¨4û%„ºz£gð]ö\uG œf! Ê{ª"ШC€ÁWT§Øq‹¥Lç†8OTW «èÂùí4pǨWœªæBÚ¿ÖÈCƒîÖQÏuI–oTL$êVI u4¹ Ñ£ÌÂÓоùûت‚¼Ã¬±ä¡‚ø‰äþ²”¦v¨gCXÚ% ò$ CD¡ì$ì‘ѤÇPŒfå…01‰5¶ èCÛ\“ã&ý 7Åß,£™ÕÀ‹Z)¢o9bþá{J¯5¡"”‚²¸E¹¾™vIŒÐ®¥OCÔ Ë2 Î)Jy/ì'ñAõµÁŸìÔ /·ò9£FêL«À©¦‘Ax•2|\olû¡æ¦xopY}ô*.I?Es¾ß7~ß5/ÇÕ»ÿá% þû_§ºSFвé w{âYÖ¿À;XXB& èC–ùL@µuŽ­$oŽÜšv GT[uìׯΓ+ó» Ç4,C7Ç mZÖ¶‚áX-[2³»z,À¿¼¥;56¸›’à.˜b÷UП¶a¿¦œÏÌÃí1WŠõ^ÃY4!}± ¾5/¦¿n]”¨V0Ü·g5§0cÁÕµ‡¨éŸäX™Ú(“°îÑ¥“D°ïö(S¢á¦z…‘÷Æ>ÐX%Ó¹‚Pc¿ðKüÕavÜùá6ïö#@H©Ñ=03N¨J[ _´ÄéRb,ÛÛØÆu4âWsÎë ÅB˜–\U [»:~Xòx†IÌ ÃúƒÕ ÿm”rc€°{¥‡^Q푃]Πr’¤ú±vvô~RT0K6Ô…zYÄBvd‚+eþæ˜Ûü¬ ø2ë®zΟ„õõ$¥@Z©Py4}Ùqöë1¨i š#&{(™—ÃÅ—« Ú8vhœ{ìpõüÒ‡†ø¶° ZæÓeÇ`þÖ 6o½”—´x¨î &<é9ŽÁ‹ý±'Kg€xо‚ùÃ>%1}„¥Ve|öYO –®†¦–QÏð^IëcÜt¼5l–œuà¾ÖÑß~§¦~‰ý³h¤ KÀʦ™Q9(mYm‡}‰%‰š¹@¦—¡víϨÜz£.ü#6~Ílôi È·µŸ:œwºBùÓ¾V­¦”à Ç»#‹¯÷êÐõyU²¯&G`寪2ÐLns&ýãåI¥‰úùÛ9û³p=I”~”!·%òËÇ!:µý\ˇ†ß¬j» Dx9*7uÜY¥›kKÑGQ‹Žz­êF¨†Ò)œDñ À'Ûöç{>•ÔøöÈù¬ä‰Í¢–æg÷U«ÅwEk.Ö‰áNtËŸ£å–yfÎï•Å@é  „èØ¥ªú&ÐÏM¸¨ÀjÆ£ Û>Õ~·,Gn³Ë’-ck§ƒuÝÊÕ΋€W&À¦!CÂó8ׂäd¤vD› /˜U¨k+ûb–ã‹ý·˜÷ ÐsªôJ"#ž¢cS?•¬ê ºV²„¶‡ó¡>v ^'Ié㾌³2°yŠä³iæ\]c”²è(-ìqíß">¬d~òXQó#ô6à+¸¸=Ä/{¯çov–JDλÛué@”²,Ûâ©.a˜TrÞßÑj,±–zì’¼ŽYó<(ç¢i¨ÀO»î®{‡{t$G¡ì²3 ²¾»¼Á8³õëÓ·`ÝÇ£|,NRûnµûÕ EÛ>SûÅò€È-@ÛûpÊ"RØ…©ªƒwH6ûÿx?ñÂ=°B¯Ô`ñž—‰ÝqW@úòÊžÊÂ3ÁîMµA­èFß[{Ül_@ïŸ>èw€É£˜ÇcGå8ÊŸtXÉRÿP»ž!EBKã%GPj‹Hi¼ì¯*J*:Çž¾6m‚lüe/ØðÇÞl¨a¬†´À7‰£ßñá$¤ry3/b²è<-µ—pÁì=ZÉDtøk«Eá©ÉÍÉî±ß|ӖˆfN¡h“t´U"˜6ˆ“(¯1hYIK(®FÔ’8¸ÐþÀgn€ªYÈ‚æëü€â€ Ù`RïNVè/!G¼r,ŽGû¿ø ÍbÃq3ëתþ»EÛõ×@ H­˨öŠ{äõ íB±ÑjÿMùž°ôx—íâ3çB†Ôæ5ìø'JïËð9œ¹b¡M«ÕÜ;ƒbH£u“Ùщc{`Û]öƒx›©5sÅ£–9~Ðã+ôÐ+XÿÕ¤Li“QÀìj“ñˆ„å!˜­æn•ÜÌ£ûîèYCGêõ ß×àŒF±$×ẊRŽA.zÛüܾƒ¬Â´ÒJùˆøpU3¤Îs†Ç»$lxvý—…o%=(ûoÜ^û® ‰Àñ}ô ý,†Å‡^ØT’ì÷̈“äXp"Ï<'PÃŒ[ŒgZcøó.=£ZY𵈤I{>Dš˜.5ûîEE9ã÷Aj‰À3}²ç@í­î- SUÊG6tº´ÍPË? »ön ëBÏ_Ã¥&¹«òP‹Ó$+ãiÔŸÁÚMw›»hŠÎÛ¤;œ—K÷™vctͶ÷ÛÐÇ¿µÀ†Ã¾ÂY b•bÙý!ÑO'•ôG£R(¹ÃR„|U¡N\#ŒÑL²+ƒ|é.`+›°¼‚·¸XMéÿ½j*ÀQ±Û\•Ø{]H²‚c"H3-Fçy¼_Çb#¬u+T†lï4zæBUqðäKGgÉ¿ñ®)tÃ{&ô¬`…Cp-ÊcÌã"<ô ÊÆ' /:‹?¦ú-„âáK­ëö±¶‡0#*ßT}ß" ½ÿ^úíVQÊ´¬§BÆ)Ú`çpç  ›1 QÚì[ª‰#„ óã°›6ôÍhbêMH³$·ÑëÅõêÐQhusß¼pÓ£Õëaæ,sŒuv¬1«jßAðý˜ý¼¨ztp­*°3  Ž3i‘Bâ¿“äp † arj¯f3«œ!|’D">jFy~·XÎå™ûÈ‘.‹ Š^Gzrw§³îMŽ)®;ŠA³5’§/l3u®›žªŠ²¡ËˆuýÃH{õ²Dë?@î¹[x`›t~Ɇ:¼tQäsµárÛ 2#–À½Ì Êæá¿¶ü„·»ò”/Až;žÈŸõ†";ïHb57 è·È‚CÛQ[S%%Ò ÙO(Ïè=Æz0cÑ«!´•ᇄ$ê8î:‘d§ø­éšò¹´St~f*wüqgέl•l­Å*Øeˆ“$«á”x…ÖûF›‡:Û+í».ˆFüÛÔö=JÁ¨BŸ0)'뽺¿¤úúC>ËL ÓŒ»,Ÿãðþ]HÖ÷„,}1”~,8*wf.Ÿ’oÝ1z÷%ç$¾(õoãØ‹Ú–‘B,(b>8LW:ó§Ií ·Ê‹—Rsñ $,a-ﯳ=ëP6’kB?yJ$]Ï5hØfµ¶Ÿî{ípy£%%·Q7£bä~ªGT¹"ÕC0)eÜàÿtjäI"èMXż†N÷+S>úB~lþH0F'JZÛÌB€3"˜l<^Mäè3¬GÕÛ|®Àf‡Ëç+¬@–%þn¾:6ÞÊ[;žü") šõicQ‘lË<ŸÔŸßõÙ×W÷â¤Ø)q€vç‘è‰ÊNîÅQŒ­jóý¯a®!Ž¥ÄC‡¶/Ò"¹Ú²¼udɹ¿uªuNTÁ`Öt|p§²Â%äéôaJÑ®$t¸xÎŒ–ãÈ„EàmÝ@/¯ËÔÓ¾ØÐ¥ÜÙàô)‹BJl‰])¬¬!¦„˜;.XaMÊѾ÷SË`“‹mçÍ^2‚T°èÄ ½d3$™¶yëÅ.?üÖ1£lÕm `6Â)­Q……i—b ¢?'r¨H-4¨Ûþï#Ê2`¯L+f0Ÿeñp¡«t×> ã/ˆ§ŒÑ ›«È$û°Gu~Pò9`/•lÑ(¶i3þ+¹¯ÃeAaEÓº,ÚF?U™É.+PX’óÆ–àÙÁ–M2(DI(¥ømH ¦›BÓŒ-?ïÄê;ßcœNôRæOîw!˜ÚF”«¿'ÊZø‡‰þ3¯°Ç‘ë`žaß 2 Œnhžûù¿ôðÕ½@ÃîÏùØï^Cjÿ”âåžϖyÒŸ¡ÒÇ^ÝVtêø,4/Ï‘¨°/=HùýQèY@Ø®<šðê]Så;å·/u-v º¨!;7U›9Õ-Ù²Üúev³7IÒpЉ‹í4#:5ö$®´$}ö†K>Ùì@MBÜZÇ@CX°¦Y‰HW˜@ÂT^â,añ‚´y’œí&ßzìÎüÍéŸéûþΖ†%BlÜóžáLZ6;¹ËÔëbd÷Ôaü±cÝÑ:7:؇Ɔľj%‹#”šºù¿Â—"³¹¹¼°]Gb>½aýF­çضŸiéÖ)º[©Ã“×i Ž«p¥ÑàÔ’†r‚×.DÅCNS·c:¸y»–)\ð_¨ì³ý­iOÛÔóßRëaßÒ…d_ûÇPìÀ˜²üÔAž×‡j;vëàBËÂ`kžû"ùÀ°·ÔŠIñ((·j9þ/Á ÌÉŠh“Ü'†™Æ*Î:Ã¥ îžDɶ*ј Å=ÐCbŒ†ø>`#‚%'FP§nEô_ux¥þp‘z 4ý¤ö•`ä÷dã-13† ‰Œ²qæö}!ÓÎ}¸7ô‘²b|CѬð" <}Ú—UXl¤£s”Ÿý>ãý6ç÷Š7W$/’ú± ™Ê1—iGÊëðñƒ@ZFW{‹¤«urÑZº¡tSml%9À­ìï?å˜×N‚`gÕ$¾ª×N‰óé#OËÒÆìÒ[鿢W¯s‹Ö°NꓞGV7€Üpo3ªvÝHçìW°[ëìÖL”À 2~®&ºŽ6B~|Œ[9Àw³@ë.ÝðÛ4 "ðR‡Š2ÂH°¼ª+L’c‚çÏßQkÚ­÷ùuV’ :ä -p¨É)WfÉF”,ÂâOÅÍßË7IÑ8£óˆ:Þ òQ´áÜÂìù,ÃïÕ_/:¯âc~rfoñQÇWWËœÏï2 £2‡3ª3FmZ…{GCWŸÓ<ï$ǧ\Ò^PcäÈ@vH°ˆØê~U‚dšÞó›ˆ-Jõ_áå(ðK\ ²'vPmD8аï)‹`xCTuuõ8¿‚¿mÜò¤Œä•£ 1]ÐÖ[º>j‡Ö–%$Bà„ Iˆº’ä4ᥒˆÎXÛ“ n[&¨/$PwèSÛ %cz°®8\ø ŒÒ:”j`>¼¸rõaì`'°„yUoÀ² ¾í[Ïà˜}Ý[ IJÌqˆnd·¨Ë‘œ/j /ôv(…T³u0´q|8`pƒ ìÕ†©@ONÓÍÞàe¢)‘ Õžƒ;¥ÉÀnx„DÄ jyHÖ~:qÓb{¬N%>q3ßœªÐ')6$¿²xiÙ†ÅàU¼öˆqWφ½ 5°è…iÔpæšÊís¦ èÚŸ ¦6qN  §tuZ²ñC`ÜAO0"ÿCkú&H‡·ûÎÌK"-Kð’J ä~LƒšæBWO’Üìn]ÖD éEöÈê¶G^¤ýg¿iú>s#ÈSrDªó:syÜßÖæ…Q }?ÁdÚÙŠÓaiª/@:0I‚§Ø‚®˜nQükw¨³å‘ãkîÁó·Î´Öb›-E¹­~<:AèÙ!¨³ãÚÆ©-5Á~m9úEyªÛñ)“–E²´ní>™ È"Ù´—#ŒÐtu5XG…Å»lGÚU:J²N‰§À%ž.†TB<¶ZÍD súÄKSˆOKê’7D»·öe~2ÿnB}Äì Ûa<{’Çê»k/„©˜ùñÈ~JQ_¡Æ£zÖpöŠ£zOÓ(ŒÙ*Ë90£‚Ö@ÜùtÜ•РooCË•—¢+è Ìí+•@Þ1¢¹üÎWüXî‡QÒìÏ†îæ¨âÞW‚g‘¡ÛLµcYsyÙý³2ÐãèT¹âVp/Ü…Œ“iÞ½;¨÷øÝ‹æ±1Uį/¾®ÏÓ˜e$ÉB§‹KU–¡@ƒ¤öõ—d@Ç&ž·[6J`ÓÃ]-ÊëÇz'êŒ}®.ùr#´À%š$sî3÷KHäæÌ½oq7£×o=î‹Y*¶EãýÖ0ƒ£Ä›VÇŽÊ£xæË^FˆâaÛV !öBXoLt¬c°….]…£rÌ|€÷Ó,à*Ûci/¦JL)!ÈyT¬h.Dð_¹pAg&Ò¡µ††=;¡Ëþþóœ2ÐFµ¬ÚF575tì6Ñù¤ óÜ –I–Im÷.£¥Xt«¨hm Wdô´¯~—á˼P™Œ>]2Ì,uò« Êó÷–HìüÓ½-p Økcj¤½]Ÿ¥˜ÈøùPXtN\_b tYãùóúŒæúÏoGq†hÛùg¯P£׿Pµ,{nÌÏiÌíø··U¿RF’ÓêcvãJFÐeN:e àVEô–Æ9/cC?C&«kÕY¸'ÿñ0{£Á¡™pø¤Žßú¥¾µ‘œ ÖŒÃR$e á+­ªåíì0]m(‘çú½2‘…±8ë|C¡Ðjf¢žq…Žz‰mýªçp ‹Êæ6ýŒS/h¬þ÷.DçiÉ5¬ÆoÙqêv…wß$Ö˜œý©7fÿ@ã~äÑË'¿ÈÅnÌ4¥ÓùkDíj Ãðª¤*‚>­%¿ÊEÞë*•’{ò릅¤©  ™Ã£‹Ôañj´º7PMÿ\¼PÏ+¥¼ ð6R#DjqZ©~;„~¾]Åúuoßû6Ù~]ûRѾ1*‹þ³Ê7åþâ >ˇý¨ÀžÃ§[QÔn¹Öd0>€û“ãñ¾x­Z˜™rb°Pi‘V)©K,«úÞ[_…›HTßZñ²'cw§¿„Y\eQ”w/Ãç¼»Œ´gJ°Å¬{® N`Ïè¦>ù)-<­gèˉI8ë-w™ÁCXý™~ƒr_&:CpBqǦD„ö?™“”o-Œ%35u>G_ºZ[cT¿¹äµzQXþqÒŸ¿ŒŒx×Aª¹7™=V'–UÚÆ¾‘Îýî}™\0j¤&AÐg«,/mTKj¢sÝûÂ]ÁôÓ’ùÇ!Ã{ •­S\±‰É'îKQ₆\0+üžebd jd>p2tëšæJ=‡#dÝf¯9º*·šE…m'¾˜TÜuòÊ´"<9~SpUêRn)Zb@S’d4ð ±› •M 2`+"­žxžµ1^Å¢µMa«,×ÄØš3¶CËĺ¸×î´·Lr‡ãYÙ$¹Šý6¢­Ñü‡¥!¼ƒŸ+m®'š2œGªÌ>߈Qœ¦jTäsÙ}%Kv·D© žÌóË‹¬îÅÀxDùÒ”= KA+S-?wÉþÐü uu̯BC _«xG;Á&"XíŒR:¶è ¦·Áæ8#-X„ëïýÑ/^u¦Yãã™LŠ2ÂBI`¹»Í™seô;í • üìõ}N+¢1¤@åÍ´áröQx‰nžTa¶û­u…oSNS¤ ´4Ë-2Šùà/@s@Ó‚³¾bõ,ÈU=ÊI{FZS’¼µŠcäæY)?A…ÕÛNú ÅL(F¯üÿÍõĤwiJZ)Š—^Ùÿ"_2èd!IY£Û'¿ ¾ËÖ-ÖÌ(ÂáÒ ‘]+Çn/üwWƒúù0>?¾‡ˆÇ âœÛµñLEÚ bª¬2•\ÛVx,åÀ‰á-%`zɲú óQ\|>‡Uh²XœQCñŒ¡~¬o‘ì<›ÉGC5j· N”XŽ·vÎE5cïR'ꟇÙ~qV·põ+^­Òo4Îx.Щ¬5Î2mvJªð>½}Ó¨Àû_Þ^éº (ühÖ¤¿f¿–yï¥eÜ{&¢El&z—Š_K= Hn¬¢‹©µ´¬ÿ['Õ ÎN™\AN¶¡ÇØÙ9¡¯@„ Ûâé—ƒÐÚɬAÉ]°oñK{j¶›àQ<±Ñîí€éØPè6-|ñt³‚î³ùm­(¤ÈOÆ"†¹ 7m÷¸Ž~zxÏïC¾ÅåïI²èÎþ q”É_þÍÎÚvRõMµÉÍ|¢•¢ðG=Ƹ}LLKG¨’6ÍVϬdˆm™¿Ý8š2°ÏUnØÞµíÔ(¿\†~GoXo…jj!\wˆÿl=és»t¿±ÿkº:VBœ™°£ÊÌmŒîÁ‘ù>޽u¶ía÷ŸeB ,0Á4RîU‰Å›Õ]ŸÿÁ¿>ÿˆ·=kyŽm±ý TÄo“'ŒpûÔ6\_²œ@Ù?a`>Êä4Òo|Ï%úhÉx‹^­¢È/2XS2¦$v©TÝû¸ë¶¾Á[½Ú¤“MA-±·wOM‹¦´’àë+ñäšß«Â¦ß‰ëM¯‚v%BIØ Ïd?ä«„G‘­Ó‹…›ý¯~¤2ƒçàä°‘{;ç%Ñcc/S™KH–‹úÕ ukÉ xí¨‰Ÿ>ì•kç©LU¹ÅÎ4kÆ×ê*»0CÅxÓ“/áꥴ̊Ú¿ j¡Â§ÿÆ‚{0°1þšƒ9C_/ ù~#⠱怱µ €#”dú„9áãâ®XÂT4°ð RŠÎ—ûшòPÖy‰bº­¬aœTL;@Àx úÀH_¨áªFWåj·srx+o©õÇàÜ—êô³h‰, ?Á¹üû=Ïrêø7ùˆ9e8;áµýxj“pšµ÷hæ´ê7P»ÚÛ¬Ÿ6ÚˆÐò(¿Œßd·ÌH“M#–€ÅˆèÙƒ¿t9.úòrð÷ÏòÅÂä¯X/5Ëxé7Ú«xÆûw¶ æ .-98½óöθüè7# ‚Ã-ØÊ–·1L_˹‘qBRŒüÅE ½ÿFŒ–Yõº4åUDrÇL]+%ÌÖ &&ã´ayæíUO4ìéžå¶à¯ÇåcsàT€-aÍv"D3avƒšò·%Y;ŠÒÃKd4ÑÖ¿¸jÂã÷¢7 „ ¸¨Éç¹´Éõßžåhå뢳rk[¤€–lë¾€Æ$ÙÞL|b“eNÑßoý;µ,€âÌ‚þ–QÛ¹Ä2×Ñņ„oï‡ØªªÒí€yÁÔ£^…(¸ô-ölG`²²M‡Róø:´Ñ] HÀ¾‚:ä¸8vúýhµDŸú:tóÕx°Ê’ˆÞ!•ñsxv^'OIrZ[MMaZ\`N<5 žÌáæ‘ˆw4YD˜l(ƒ”ÛHö÷Û"×ê âñuô—ŸÙ¼©o’ ‡¸`ŠôÀké²·ÒÈ.»Õ‘»0Ü®möV(Êê»3Í݆’Ç[ui*Àz{L"òú¬À%’ЗŠe5ƒy>ɶ|MÍQ(¶õIkQr ×#\P»à}ì*¹÷4ÊèHœGÞ“Vu—J#|ÒVÐ<Ô‚ÎÐvbs§iÓÀ’âä©^GŠ'Ù8̉»m!wu‚\X럙ˆÀ™uq¬§ˆ:Î þ³’gFšÿÞ¸*„È­ÊÃãÊeúâ¼òsR”s½ŒP¬æ2[v©|Ô¥nƒ/•æ|!}¦·w¡82bºp¹1NbÛAo(zFü#PÀuM4É 8,Êv- ÖN;1 âó[FI«|qztã ÑR‹>ë)Jì$ð ©ú%"ŠX(BPø.U{oCZ²¾~¶“Í‚H[Êq–ÀÔèT¤xÍÑ–?ƒ x,žµÕâü\aë q0¤]È™©"ñ™Á|ó¹Â\«Y¿6S£ÓjÓHN#fw̓8À²Jt¸Äñ}/eøÅælÕŠíÓO¨'ø2®&CD“1Ø¢™}¼ÖMŒˆóbkTG½ä"•¯Öe¾LFí‹9ã½ p—?f¼íÓèòÙ¡ Î@v ŠÈÅ¡úsϽÂíÜ¢;ñ2¶)ÜÉ Û/¶ 9霪SS‰% ²—Ä÷GcÖ–OW@ð˜6šF'(Ú•ê¦0øªÈ~o6ŸzöÖ Óµ(Ò$y2…‘CVBÀµûÐ-î À'³KVQ¤`©'G‡ £9ÚZ¥ÎF›W›VRÇÇÈ>˜vöãKÍMj–=êÝWñÇ-»¢è|ÏyÕ8·…û…åc2+“BbTºoOAù°Ty­ÖùÛÚRãÁŽ9–zŸ_aKNQKË´$§8aA#Uc;§€&¸ÝÚ(ŒT¨á)©'¸B_B×øÍMÞþÞ}iýY!j1ÂaE'QÅš0ÊÚîUâ °þr4Ä ”ì°)kç…áôT6±ÆQ)¿†˜›7Ó.%§1—çÅŽúì´M³ØM”Usø˜mÝÞ0n#où²ÉÀÑjTÉ€œð·D­[lÍB$<[>G‹FzDƒï|¢D3¨¨OeY2¼í‡Y5ÌbŒŠ‰EÆŸ1¶(?àL¤-&Z˜ÅQ 4·ŽÀ¶ «$mÙÝml‰‘ÛÅgõÃ[úÞãñc„¨\ìYÌh"©î› g(‚:…†©R–°´ä$ý?g 3Ýåy]!À‘&†½ÀuiZî§(?zŸOøÿ¬ñmì‹u<ÎónÝCŽI?<@»_4&þWÝßÊ";”å9…Ü\;ˆ}×;k§®LÀw¶› ÛíîyÄöB ýì%YÌ\Cþ¦Æ ÀŽ&Z|¢Cj(gEäñ¥ëþ¡)FŒŽµ>‰e;z¼”$k%€¸f–…Õþ‰aÞ%ö¯À‰U¡zšI Ê¬ÃL£éÄò¬.潊÷/&hj­¿ÖðÉ]П?r$P»]Û‡Ëiú|)8&CW¾;‚?®RŠeE½ï÷­žÛÌXWŒëd³ÓÖ³\+ùúª†öÛ 7Fñ¹s:È®[PDxžmð£Ý"Ä*%[ŽýF"š^7ævú¶ú9ô ƒ¡Òg|7ƒI§Ò‘µFÇ@Bþµ{H:†Ø'È¡²äAëÊl/f»vz÷á78#¤ƒÊ¦ó±ÐAZòù}ĶTŠwjâp—×A⺵7#(¾ÝVpS¨hç­L4*Z¸¯svm9÷Wèp øë©ß=ê· —ÃÓþ…DVQ8у@ùêyaæÍû·ŠJD ÀQïÅß44Ìw ^éKü/%µŠâl„”C± Ä…¢>‘‰… ~0BiŠ×°Ü]ÆJåÌ%×âŒQwšÝë´ŠaÂpñN"r9¯ãƒÞR pÙ­É·‹²ÿÐK›VXB…Õ8Ö¤!JlÕÑ— ·^÷ïh9 Ä\ý^æ¾öÈà§‹`œV<̉¤‹?vL.”Ûü*õÍÉsa“š {W´¶Rj²î¶u‚Ôn>¢cÉhÄŒ˜CFÚžÆGÛ›üŒz´ÛÀyW¸ƒ§%òÂ! “Ì%4rUC—¡6Æã¯PÝÉ (zrÍâ³’Êį¡‹Vwë"0¯ã·"Ÿ)q†™0<"4-á°¥${±îYŠPíÛòá©×†;QÙ U>5¦R ÌÅë#-œ´R:³»»…»Cƒÿ¦<¬â‘tò9Yþ åùÖš·µôL±Önùåa ±YÚåòfØCùUr'"Õƒ&Ïàën3W]‹é —•¾ÓÀ̵yA<¯9æAë¤!¼KÝÖ(´pþRŠzÎeŠQŸ-ˆ‚ |X;Es²@Gæ¹Z ѵ׭ä#blAh€‚ìϘ¨ÝS¢æ¶µ'Ú%0Oè÷ii×'Sô/‚‹ÏYJ—C¶?°;Ÿ"ÀFŽ Íä|Æo(ªÍN'Œgà*‘1q{¡Ñ©(E;ÿòø¼Ôí€ãl¯téÎá8$añ䯬óo¨P"Œ¤›-î‘ÎNÆVc²Q*yÒï¡´ gæiF–änïJCõ<çš°½îá3C\ þ­Œ½€û:1ß!R¹PI÷K‡èCŒ/ƒºÄÿËù× 8kes8œŸzbŽ/ˆõu^.ºF䊒†îÖdäÍ’™r9GDYï5aÿ刦ÍGK6ä¢xvš%ÍÉ}´çÙ&Ë;8jÇ7ɃBÓ9DNÔ$Ô?˜ºÑ¬À>W\µ1ôo¹øñ’Àù, ¤4ÁÒ,\jçKÎF¬ óNNúÜTú–æOX††­; R×Ëôã‰Þ”¹“³,Bf’Q_äØÇA®EK%Ú(5eØÙ‚ˆÒ 7Ý‹v±«éj¥Z”%"Þ}ååÎH‹úO1•Pi¥¥é•ä QøQY(ƒ½¢ø¯W€>GðýF¸JÝL€v»|)?[CnTþ&òµqD L`Ll;*ßRd¸@Ìò’†Ç$frAM¶'j1¯©¾´Gïä9xHƒ ,ÛðòäÓÄÚ#á‰+ת…ë©+~Å!’ÒMV Å ëà\{Ëð·¶ü6ŸŸ|>ø2Ú”H†Á=ò`¨ù’Ì¡ E?BÞr°£Ä£rmº0LÇï 8ü T° ”-¹iùtHY“1›%]DœÙœî ÏÎÓF‡Ú¸²½Å>HïçFlIÂ^uó9›ÊÃ6ü’‹Õ†ÓEG;6b‹á´+ô´|sD4€ùhþï(NãÕsfpÐZžø‡&¬«šKÉØ Y›»Ñx˸Åݧ½q„»m¨Jˆà¨SÄA¹$ ®i{é~‚Ϫ…[u —FÛg>Š'0B}ÒŠ¿°OQOPŒä=ÑŒ»¢ŽAG4ê\¡ˆ]ä¦F€àº‚hùÿx#Úø‘<Šb300{e?»f›ÎgèhKŠ"¾í’Ì-Q4ÛÌÖ× RÍÀyGl‚ÿ[¶Éð¬<4­žÝñHטX§Ÿ¾ˆ `î¨8¶»ÿ"Å‘µq©O¡À ÇL[•n†®Ÿª‹êy@áG5·í^ ÿ à¸(W× mu‹>lBÀ±¦ý ÷ŸÁÔêýl‹ßF !¢³µ;èa]ô!±rÀ–ð¥·$>™(ç[¹ÊùL¥Äv²Wúax9D7’ig„kˆ‘Ahø€ØÈÉ.t³â÷ >Ž ó”vÖ™ùÈmêJ­8®ôŒ~·ólµRÆ~ÒÔV%¡Üþ\Ç—<^àDQSí÷Bœz•-Ø°Š…¿zõ™i9L§ÇÄ4ÁU´©O´€'Eé“S­*@¦°žƒf ófTOôH™/¡_vÝ Ýï𙓢ÜÛ—½œ «AÊÐïh„Ó?\!J™/ê6—šéËŽ]½[KйšÑOÝÑÙx¯mô^:T5ÿç Ænäà_çÃ-M¦C´Š.ãUõgÚ<£Ï ièú„NÀÿn5¬‹=ÖKiÏM‚ëØÚRlFà©k&ƒg 7®\ŸMzÙÈ÷DGÖßé£äò¼Oëì÷r£¥zÒ&Y縢²|HÓÇÝ`åÐòW—×HëEkød|öâÓÞ9CÈgº•±N•úRæ8>{K,•â_üå’²'md†Œ‘øÖÔ |óäT"\ø\‘åRŸ›Ðò#%åV-ï” ‚tž° ‘æVÀ2Êç«9º˜1ùod8ÚòîéÞÎŒµt£ðGöÅ„ÝõãPg#·¦ÝШìú™ÏBý'çÏw} ® @Ww'œÛÙäÁÁ¤E±i¨ýÅÙp˼»–Ï ´`ùÓêrpÁ|ÁØZÚañwìLYQ ¾9@ !¶m¡vF[&:b‹T*:wuÒG«³ d݇£–(@úôº÷9Ù«f9GÛÄ{©å¸—sÀ(èÀ\ª×ô]é„Pë¤ðy“^`€~—ˆ8ÁdÉ"!kâ)%0‰í‹qz9«Òd–ˆçÊ™ë)±ÄGwà©¡KX%+<,d‡ü˧ÁJ–~Ëx-[„ˆ7ÍŒÞj80èaÑõe}"û~QhsøëýŸÇœÞ¦h yvoÀQNÖÁP¸¥\­ÓXN×éêS‚4> ô=R¯=ƒ»3ÔEÖ*døz`¸‰QßôíCEcXà&èÒÁyzzˆ½'­|ù•VÇß±ˆfA½ÝJw ‹ªùxT̬›îÝÍ%ðgË)ÅÙ_`[‘äd7q’ Ú?ü÷º[c´ì7áS[IOÞsܱƒ§"üU9°a¶x&Íä³ÌJÚeYØiË`È"Ÿå°O ùAP½‘­Å«‚\ÞÍ“rö›QN'c'ó¬?—® IįÁ@$Öj\í(ÉG.…£¡ÝŒ< üý0¬éA@´}|õVáÈ¿†™ð:ß—ô;sk½ãñeBȃ;‡™H5ƒ9cDæl~‡ÿ.ç%ã|Á¼¤àb¶tÐfZ gYÔžA]ÿYÞ:éu_×è+zAfI1¨–0eëòÛwÁ)˜y² œx¶¿[ÁуPmm sëÃvó±&ÚL™Î>¹¤•'‚‡óÅ~Öš±n„Ë(À”ís—šmöÆä‡;‰ÜbJâHyJ ªV…¹;WËQihM]Ñ”ç`£}%O\}Ûà½6¹Vs+ÞÒ{Ðò¥8Ž×š†,0¬ØåxÙ wZ§ŸÌUßÄí<§Ôkü+Mó d½·Ý\ ¥Þ­Þí¥Ó¬ªU³–Az’ú¡ö¡ðžYQ.ÐUƒ ‹Ñ§˜Þnežc6pó]}~Ê úX¾¸ ©TÀR¦ðŒæÅ7ˆ¸ÓÖö@Ì-ŸÄ¦«'ÆÕà ~Ü']ÌCÃKcJ)ÎxÑk%|í°0B~LTvÔ©÷_Ówå<ã¤Jaéù—¯às}¯GÎdù¶´ª Ï×Ë«}ÈVÈ׋9.^ ¡ÙXñ–Ö3@Ô'tÓR¼Tml¬ù ÙcôÀ#‰dðç=øS¥ xµüü+Zë”èp'çÛg^aJ1t‚™b¶šôª&i{„ˆ3©¬S´%•Œ‚I7D¤º™p§Çžû‚«G©é]L™Öí|›Š¹N }INNÛÆHÁMþTïwx܃’ ž‚‹xO¯ɦ ä[ƒ‘Xþ©!ß(ø¹ ÉÔOÈpY–ÅÂéÇ’¥¦ÍʱÓ(õþÓO±éÆ Oº£J¢©iÀ?…AzP€T“ZjP­u+V¶Ñ»ýÊÎÂ8O–_QÛVlÛ x¬ :kçþ»Aà«Ã|Fšms ]Ç×1‘.¼F´G†°—Ç”$¸„`?í´,ؽñvÔaºaÖîWó¹ù¹ê:ûã¾äÐ’ŒjIޏ¹E·ââ‡m è{½èÆ®X¾HÄÄxço ò}Qƒ"Ý¿à ÷<ɽ8û\÷Zãù´©¨‡L1ƒªÍ¤A`'8»ùc Ù埩e3Ж" ,öN±f§äíÙãM]›K§x¿ZÒÒ%Ÿ‘õT¦Hèo`[ر6 A eèx8ÿy…Ÿ¸VæŽ `«ó%‚Êr˜?IP÷°]üšZPû諒#bÉkKÚ šZ{×R)¾âOùŠÔ”ö'[ØÇ“ùcÏÃ{Ÿ¾…• ïE8õ’4–…7îTŽêÆ’vÿÒ²å΂֥ói;æ:*µ»Î#æbä½8ïk¹SoþŸ•Ø|Kk»q +•»Q ·xDoT4%´.È2ÂçãÉsé ¹Ã°_—)#‰l´T_Þ<Ùˆ‘t·˜î¡E» ûåÁ-‰"ç°ð&<•íÊ•=<ÊÒ¢©J*þ¦ Ü ]‰o®Å­O[»Õ5eÞñZ@ 3÷‚)ÙjÛ Êû»t’͈ŗÕot0QC¢‹äxµ‚œáŽ|Þ“%¤­#\òš 6ýÀk»«%9Sª!ºWHÛÔþ'Äçy~sÒÈ_\©‹×&hˆøošÑbg ô­¬[@ë€shK¼„s|ǽ„_dãÈí7±± m1Ë´F§hwÁ¢‹Î“ÃäéTÖüþSšäßú|äë ¦ñ2Ü<‡ÃœÔwi Í}2sí¶Òÿ%6ôôæo£G¶„×Y¨–Md¯RU eíí2ˆ3ÿ°idÅýþ”PfÕ}Å*?‘cMôµú5éZîÿ´4çêÆtŽ“÷‹Yed-a“IŠÒ*Øõ‡SVüN#ûšOxÚy» ìÿÊ™ŽUÊ cºñÞŒÏÕõZº¯Nôr- \Éí»Ü:áÃõ'ɼ—P±ø›ÓÏ"Kéñ¼¼H€•¾óz¸Ã¼ = ³75l69)c2oèÆ.F"³Õ`¼_£¼ÛÖv‚&ÅoÖcG‹xsp+u!êJ¾‰söh–Ÿóê® Ë{Ø U)Ï\ÀÅ‘cÚ‰ú˜eŠ>¬Ç¡­eI8©’§†Kþ‹‘*Åû¨~©ot"õ²¹ç~ÚyƬ ˆ·…óTGüê¡ûè§ÏÅgÚñ5ÍçW LW;Äz'·‡s½qÅ\óe&ªµ¼Ž¸*¿Ù'§ú¼4jhÀˆ—5Ñ®nÔUýT½¹ïyVd"e>6%ºñFZmk1Ø,eE,Œ¯þ\Yª±ÜÀ •µô¨iŽºÜ²×f-CÔJ|«à-~’1 à¬{¸¨—tm«Ÿ–ˆ‹§ÑžòIMù#tõÞ‡çîÈf‡â4‡aêO¾~Õ¦ÁÆÈ[¾W— _¢6¼¡½zy•â·þêÞ8TÛý¦¾šUìaþÅæ÷"©Ý)s2²”w!;øNÙ“ôˆË RHY?N^_“;lºýÔX—©§.4Ò VÍ72´¬›Ù‘*ï*ÂU³â¨ÑuÉŸÐ .]˼!3ÔÅ\ôÎmŒÐJ§¤éhŒzÏùÿ›–K AÇ[¦Ï]ú¢%??H@¼ ¬¢¤}ÜXÀi c­åD%Áz^ŒX÷·ªœ>D›1Äëæ€@"x‚¥*&þ‚%¸ í_2Ô´ªQ ÁÆ<†»yü€¸ªr•*½} ê”è.T0«m›DàÐâEq—X÷Akœ…D-žrçÓ4Üv,Œ2ô]Ò,>åÁ§#¤ºn-¦ÇçíÌZ5™9D7…µ<Š$qèš™óÏ2D¨XžmXÿŒv¼S÷(p“¢à¹íj¤GD¯êQ[†TÃËY²ù^F>¨À}}¾‹›Û†jsÒÝìÙÞ«F/Øò)µ„øB'±dr‹DÇuLt‘’7ÒÙð¥›Ç¾v…Î$Ç*t0-h(= RC ÆLß–-!–QîQŽà`šgÒ=„-s*ª2Õ×_á@/¬ •ƒ(xk¦dZJ÷n«rùÃnȨs¼I0ÛŒ¥@ì¾_`6êÁ†Ôk²”k÷IKáðÛ)À:áÅ-ÂÆ0=/v­iD3‰}¿k-j®O«¾äM\@²'žÌŽR²eW÷,2ñ€•W¤ÜÓ6‰³¦>¡õå®Â\R<Ã%"ºütöþš˜vè8{6mtG¤’Î+ôÍìHwoKu0×(;¤v¼•d¿ç“JÁþé0jvýÉDVWh»4d0cԇ׬òå6¤7éÙPÇN¥KWñÓCìK9eü!¨bɶ•=Ò¤ÝqäF—\‚йD{\Ô­;UE‚Š7QTÏt¡úŒç|E;©˜¡@ äqY‹‰ÚDlTÓÐÃÖ7\ïSô³_Dž8…Å¥´6U“ÍrOmð .ÜõúõA€½»`½E˜Ã`ûîX¶îÞ“¢4Pà¡X‚@›uwŸ”ýé]œî, 3{îÌJv~Ã:2 £½qO|;ÀØÛ õ!ÂÎ#ñ«DÍÇŸœ©âG€?gvKÆL ’·ýéWuj±ïñƒrÞ`[Ò>£ÿ>·ý`÷IéÀðËkÒÆV8¶§w÷9s“/4ް-꾦¥¶Æ ,¾id>¦ãYÜÝÌX;ïµUZ=ñ/ø{\_©{Åä+éR±ü¤VùYù 3Òo±^ÚIÞ fÓ–^>QM¦¹$P;×>ò=‘Sè}<5¡#Î5=…­XU! ˜ã1«ÖÀÄ–’ ú¸qHp…Ðo¬Ê#ƒj÷çýèÁpÂJA¹ˆC%ü …vߟ˜Ìû’pDØž¸†\4‹í¾+QeôKMð~¿ÎݠѬ՜4`?ÙZt>›@”Ö˜R0’?Ã=ý§yc Oùé¿ÞÎÑÁ1•ü¯L 's„»NÍøcêõK¿C2r3Gµq(ZGh8CR[¿óú1Y@fÆæ¤4p¦ßUYõLcÓZOãÿèÏ6œ¥£±O\M8/ •^³nn4²}úðŒ_Þ*ÀgÃo5€t›³1[×¥·†Ì:(Wn/}"Ê&LkM`§ú;±³YÔòñ[è³q¾Ùû¢þm÷ß 5ÓBܸlöK´L<P¡$í#¬³"{v@o|ŒxDn>fN›ç»ÿº‚ €ú.ÿ¡¾Öè¢ep4P Í­aºÞâ#¦årºûO Ù=q.OÈe§+¦sÁ¬ú­0ÔSœ7í·Üòl˜ö¾ßàdôºß (¶Ð ‚Æ”àö zG—iɹB{—9¾ªW\^Q»Bmv©çUO3SöÓ¡h²c‚¶áÒðÆÐ¶ÁêyINkÞª¯Úæ‰cwUv:w¼Å|ßy¦×…TfjÆ7ß+íþ‰{³„ýúS@±4<bÓïÃwº/º  ¬zïRŽ ÊG1[B’Æ(ä¬çë‰G2_C„ºB>¯;­¥Ÿ”%nb«sÑtû^(Â8,5¾~±Iºƒ!œòÇȉjö‰ÿ¯¥èœ<ÆÖ6ø“Ûz1–¨§—ebeà‹ëñþUöf½šDõ‡]»ÆTÁfÚϾ;úSEÿubZî·’9•¤HcÚ”‘ÊKÙˆ›©úà|¯wF¿‡è“õ²†å!$ÎÚ—…c1sÂyŽ#Uy…6Ã@…ÁÂW~Tfµ­$öºÞ&Xþ>=ÎŒµ;• ¢.ï§ÑUÈ,Þuä¨AL­ñ¦" KœÖLfûçÍ”G'_O#ï@Þó寤”+>ˆ‰#µK8L¦ÑðFæ†[µì†'¤µÈZ Ýúã–“Ú­Ÿô¤u…¸ÓÉ¢³H&—¤ (z¼Fwø&Â1  T“àË%³ÞÝÏYù©êxû™D `‡¢Ôšð–x®!Šçצâýäÿ4zø—ýñÇ&ù¨á¿SJ,¤Å“nj0ÍmRÔñ0ñq¿/ÉeÁ”Ø(‰Èå¼bTÐãöàmVÿV'~.'±¾Ò+´; ï9Y*«¬6ój,xMa>u.Œ°§b1©ä@ {VõÂÞ"DV6Åî³&º4n^Fø]zíFf 6~»afÅJÄDWŒ„h–˜¾-3”åèhÖ”Y¢Χ|"YIÁ6Ú.¼O·AqEh=wûÌþ(•^5®Ë9:†D?S¼dC¸N¶Õ·ó«ÐÍðxžê}!)oƒÀÒ V:4én² rbž+ßÙèM·.—ÆÐÉéP`—BZg»i‹a8©QõdêÞg#–Gª—Hîì鋚+ÿî½LŠñky»µ. Qgt©@Y½ùcøÊ„mòŽMûïFú‘L^ôágjœcß™ªpð"Cñ¥RÛóN…ƒ?ãgþÛP)‹JGáxÍß kýîÌG딘›žtÔ Óáb’qmÇÈR?ÿžUñm\qãì½}F57# ÿ’.;#ç÷Íh¯a°ïïï±ó ±¹,ù2aßÑŽ$! {ü;ü¤dÂCx=õ©|o¦¤ ·¾ø½ç¯j?Þ‡åõyÁ¡Õ”ñ¡=gBèÀS!z/¨àc-uq¥>4¦î’ñºßÄþ–Ñ<­€ÓIÿëD(Œlƒý»$[¯^Cí•°¬3ª§7Q’T}ÝíœÈöpöþñæìMéZö,} Úþ.{m—+|^(I~Í%É·Y&Bj‘Ôû‹Þ6—„óF˜=ngÇ~PN£¥Î™jr@/Š¢bM^M†¯/¢^-?ÕxSçþœ+îðü8™ øÖ2ϳþC„ƒ7½Š(‰ç»nÔ(5“O¾d;匫H§`=XÈöÁ,_kØ/èÀ(øX&¥æ‡…ÓpjûIðM" ˆŠqålpâ‰ö7о¼>GšJ-…ŒˆÑ#½qì};Åy†<]·³`dÔ­Íxl~©õ‘qX/ò©.…ÚÕá²øj¯6s´OÁ’‹ÂPì²ôþ¾Z‹³Tb5ÉbËÌæàÇÆr†¿ì1)<ճç.ò ý­/Šö‹³ÁÑ'ÙÓ&|BH)»þù+Ôî‘Ô<sͰßá Ò,cÄ:Ò?µ}›ä¬dõ繘¹úÈüé m×nQ¹¶t€}‰,èµúVÖÅvÇËðoÉfæï´†ÿû“iq (4*{ î~+¦J‘IvµÌýjbÇ P GªÕcI;o'΂ÿiÑÔÎ#”@–ž,¡Ô!¬Â5n­Ô`sǬê{ê¢E€É§÷GWN™ÏØ™2W<`GT¬ A¹ÃF™Cij͋dAª­½Ã²¢à£^?Ÿ!ƒÏLfLH¸8ûLÍê4×l…*Ìz†CÔÖši¬Ý¦´A”ö•F8²ÇøLÐ×[k=)ÇòÆ^‚v3s‰ÚOM£µw~o¹Ë˜½–§UA¶a’#ö ËÇóë4{°S¹Yª%œTln‚Úó­Ò˜)»Àß\6»=BU¸@ƒ„ñHTLÑ­ÿøW]r<,mS½1aÍbüì¤!Q‡wTg·ýSr€Ö¸Õ™—µœNhA6Vï²d;ËR­GªÞ:Ú„RÈ¡äKÝ®’‡û£vY]©0¥Ã[°'’HJ üšÚæ¿wç$í]–BAAn†G ô)}]ÚCkâEì º›ù ª¼sw¨a“ÏO“ó“Ê»‰Æ[Eœõ ’M’2~h§±ûÕïè(V޹A÷§äA3µæ³ìcÿyÍ/ToTžÛK¨‘bq*M¤ô„2ôÛvåßÿàyæaÏHÅä –G?¡ zHz,:¥,$0Ò‚}Eí¯"eKèÓÀ>ÖŠïò*$ÿ!îhë$©¢I‚D”,«õ!ɓަ’A8É£õÈ]©D€ŠÙCÚ»-sòU‘þ±ÚmÓéT03cŠÔž;ýìA@¿1›ßåà-¸ –„ßîZê²×ø N’4i¡Ü¢²ˆ#´ÀÉåêU¶bÕpŸ p?‘Úée ]où$­àçH#»@°Ïª›4©6Ì®nÁC©Õ. W‚Í÷ˆŽŽyæp£eiÂxùÙUŒßÌßS0\„â2ƒl ÚÞ¤ê§ßÅéNŒû”-üÛ±ñà#¥˜ý“²»üPï>­"b9ôNƸjO©]hI·yâ«²Æ ìªvd§ZÖgÙeS‰û¿Œ =“j|J4¶œ3g^'T)2X¦ç_§)³Z¥cÙÖ­3ËÍ4Š>~šª$…Çø¸0ù ù%må>5¢o0ãüˆAo«òss=ÈeÝQ[£W•Rã™XDidÌþ¿êC«½Ã-§3èãOµ§¿ûá0–•¿Ðœ—qño˜6›oÌ—Á nÝ fÒø}DO³TÉßjs` 2ÅÁ¦Ï"ñÉ}.KJÞr^ó=èüIÙ½4è è´„õžJufTñ‡j.¼ ˆÐá@óG¾XÈ*£ÕnL§_úå4Ý+ëV>ðhÞ?45Äs2bƒ è©* ˜£0²’ñ3+>ÂlŸf{í˜}X51µ™géBã‰|BÐåRHW!3ÜÞAP¨k€Ö'‰‚tä !õ?øh3ørÏ~çƒNAáμÿfhøŠ0L¨Œ7HºŸ“ œäpó!98¥A½G« ´HJO5ýë¢ uòS#cv”â—`.’ªµú¬b‡ùIJͱ‡#$ÎÙþ0ëì¬ò |mÆïÌ›ÙyÑ´‹ˆ….%›?ü±æ>ºæËÍç =>½ÛI=¹¢lÚ³¥ˆ‘YþRȇ ë·´Ê¼ê‡}ÏiÓÄ6¾³Áqå3ú¢Ã á §/ÅÐÁxÁËO¼ÍâÒͽF@B)©6D“ %KÉ’gIÑâ–¤yˆÈl8ÒTê‰ofý®ãZ¯¼[ŸÖâÉJ['¦’ÿÿ}¡©myì¥,óºé#5’]D’ì6ŠÕ¡2-ýnæ¯pÄo¦…«ÃŸÄ€HCŸŒ¬Û±'ÕÂT#JÝNNOË›—†F¿Æ¸•øCÑÓ,÷júy}¨>›{HuEˆ¸ëûs";A䦴߀ÞN–Äs¨ýˆrïÛšÎÕ±½á ÒêOB*Æ ô.î·zÔ¹é/§r']ŘßñAº¤ÙfF»¡+SmSœÙÊ #ôsêת0Œg˜6hr嬭*š`aõôŒ¦áß Ùc¶Ëæök,"øE!¼±`ØOÏ·à ;í‰ÿW:í)¨C¨Èƒy“ öéÓcI-n«úU7÷ZY×3gŒÇ<1'÷ŵ9V|ËŽk'ðQ31Ðæ TêìóÑQyR@š"Ü0ËájµŽvža÷ &¡Ú ¥ýŠej¯4­QõHf¹…ͤ&@ÉÀ1lc6-j­[ OEìÇ}§~“©‡Ì˜\C‹iiÌòjö~fŸ L#]ƒkœ™¢ã“­¾Ò2'nØ_õúî¸û /ª r*Z÷(dób<„3„'ŽÐ5ŒµŠîü±í%°õdæ"vÝÃ]ò‚›êS%ÿLN¦ßìfÅGÏG+ARóè="ö÷Æé¾Éâ̾Ù`4ÎM•ož51ÈBçW…ØÛ7Ä—›ê™Ñ•xÖ¢J}¤½<ÅÏwKª¤Ypå~úõÊÌ<Mf÷)J,*Õ:xåo›¦0ýzƒÞc¡‹ÍC¡!Δ` aÔÍÛÔ•Ë÷F¤ýÑ'vt§ – Õ&Fžôg{ùÝ8àÜ¡\Asp.TÏ<íSÁS·,™%A%æÄGÍoÕí„üNCr1qtOÈ(°Ÿ, ½Ð›Ð‡’² .puΤ‚qíðl*!Á Ÿÿ¥ðÕšrGOX¶ñz*“©|—=‡ó  VÜG“KÆ¥þÇ9ØñùES¹å`ÛDÝ æ/ù™™Â Qµ¼âyp†pŽ*m,麊J®tÈ œÓŠ¿ß£½ œµ¿¢'L]k?ÆÜ}a¢IŒM°®°e˜·2&dph”P ñP3—TTcjÎ2‡ãƒ®É.”vÎ? \Ší.åÍ3-ù´1My€`ùœ;È·÷¸·j‡©„öº–4î(ð¹ºó*wsÒC^U]½^D]²/'+êûFÎÞ’³Ýž’|Ù-¹MÃ:´IÊ*»Oç…Y?`=Iþߤee–0pO”41ъʆ“-Kª‰äp¡°6k/~û³Ï˜]ò™©=÷’£óE_;Áq¡68wT¡qÒçÙ´xaTF`‡'ß½z7)ñ< Db&’ *„ –×f›Y©¢l 6#2Ð>Ñí^­XRŠ5Ëæ™í·‡Í/ƒ\@ˆª.ãã…¯ à \8IKÐaí^hÔ¥%{á‰+²²cƒ@ζP£À:¼ˆ[1svßéY¥A±m×%X ü½óê~U<ÍñÙ˜’ •´LÄÛÇ¥¢Hø ÉëT¶J1}Ý™š…NßÅÁÍñ©Ð÷¡žµ6Úƒ[näꢢO „† Ñš²†ùÐkP}ˆÕJ0:˜¾‡pË)agÖ2·“çªS¶ßRâR\ gƒÏncjcàØ/Æ…¶um†)._8iÔf/]zT0ž¿Ùà[ *å¦ý•å`3K\ñ`,3‡—FàÕ,«“i4zš€ct©ùóê$ãÉWܯg¼AÞË:ž¬ Wå?´T÷÷½KDõ’+a…Êð=çr ƒð nïåòu ÷,\’Gç¦ÊHÒíR‹§O0—̬0™yã[À·! F' ™¬ReF£z^™*Ók¿â=ðtK¿*¦=nù[xü({àZ¨òoe‡ù…´tÇJùGšDÿšÏ/Þûd¬>’Žiw‡$Âb?ŶjVxižow…Æ)²¢±2S㡘S¿2'‘è~ø4wj̰ù¡Þ«*Õo’Sï›ó¾ªA+rjUövW:(o@UOѺ7›uîi®4~ÃC|J6øwøÅvu+‡\×HEQìür»…sñü㱨öMܺ, ëm.(àêE”`I.ÜX+R€|¡MÚHJ—2~\F ,¯u¹¼cïÀú¦_Eÿ|'~$ ˜.å|UmN»¤Ýœ.àé`çÜÕmd…yF‚ÅžÀ=ªÆh÷ŽlG$ÌÙOØðw¢P…-Gê‘Ù].•pâ%¡êcôÅÀuâ ûŸG§MO#0(K«a%ZmKà @m8‚EWù½ÿž>S_ÿá0o¾…ø{¬3ÄöÈ&42…ÑÎFî\i4€ÝÝ4I¯tv~uÜDz¢.îM'·â{cGªŒE?Ø û†Ë×3Š/Þ>ºJî€ÚÚ*gmRÌÌÕ¾,íw5ÆBÚƒ,IäÙ®”ó“Ì*½û³±Úlîki˜‚‡rR©ú#J‰®î¼A=)S²ª#Í›"Í' “7òb­æZÛ¹ ¿ÊuíÏj“ ·€²>(&`ÏÚágŠ…ˆŽŒ,€ e¹ršg¶1Ü>g.)áˆPJ\ÙÒ~Âùá‹®úÝf†AüÅpÀƒ*ÆÏ {ùø ʤ?vG;·ý2ôà"wûg¤ƒ: îäœWq-±/ÊûL 'JÛºâö’ˆÓÂûèèÜQ¬Bã?Ú'+;”á: ‘™AÒŒ&Q}AEk§Ä!Ù|xG[ê{øMžÿ~†W¸\Iks5áWyëäLÈ$©S Î:8ßú*ÉãrþU…&øDRµ‚Ü#¿g•ÅÎ3TVÐ|sKYj˜õZw‹ôÃU–Z˦.V?Ù´®· äî¾Ë’IµÈ*j]´ãäÎ!¶9ãè†ÚùmßÏ©p“zªa}( 9ZBC]ï7»@¡ÿ¸«öÏeÒ¾b-°8€KZÌ¿G©^x<@ºµŸ°g‡Pß&1±\ÃodJÎ]G ×P¶´Óuš7b¥i‰L°Vè \e\ߣÙíWìPÀœý5f4þc€£‚öd™Õ5z‡H1BÐAOb)ÕG`iÜ;ݘ‰Κ‚1ñr@ªàŽÿ‚f8 xJu+)Ö?Çw¦Ë'ŒémÉ”J›«ÐÝä)š: f …x\ßÛëæ‹Í…=$¡vÑŽÕÁÐ xˆkƒ™D5DbC¾‰}#wD9uÎù’Qx\ƒ7 ˜‡­g|¾“äÏZËQk ²“ONëWèc’ÙŽ]ÞK½Á=Ìo™À\Û “Ýëz?Èç{έc°"4¼¼†•¿+§6‚:¾‘êO¥¿ÉQBëE~Œ„xd|O0€këï×áæø¦I‘×SbxPo÷µhÃÞçF³·%9 ×H'ž%¹xÛ÷˜j¾:êªá 9¸ëq™¨<ïù±Í*¦´ >!— Í^÷½>Ãqš‘vÔ pOZêa‹:™íIoç)–{tQ N÷wÌ<àñ%/† ±:fëaJú¸„#7±šžxú{u›ŠQs¢ëOTíA F“Ày2tœ“uC߃۟9,Ç^]L}vpÑ<ìä g†–„Wy,OgÄ‚"f1=MÁÚçÕö߸/õxqf#’}o+;oaÜ×s©§9Ü ¯¿#FÙ"\ÑøI¤×Æ­ï°Iðk¤€€I¨˜GÌ~ÕŠÏ‹[$´'3±JeŸ½Á²vý.)f~û}™˜qó—/âMäd/ù'~eu!ß½x:ΈPÀú¥¼ŠuJ§ãÿOVzùÝ£¶´™=¿{±CÕ‡ì€#¨lÏGù^¡ÚŠ£õ(–ŽËÒÙÙ…YìÂuH¢ã!ãyFV Ž"éØÊùj‡ªKÔô²µñ4aǃ]³ùaÜ÷¦qªß¨ì(rc‚!PjÀXÙS²d5$J¤fCuL9p†ô"j'Üëi‘Ú–e+}UbòC¬|&ÈÅXå3¹à5ÿ=è“úÅW [x©‚çy·FðsC6Ój‚/欑óÕ=‡šô?0ÇÕ’·~És,ØŠv²6ÜÙ• (Ø–ò«O90'³Ô‘¡jm¤¦;gc‚&BÎÐ" ²÷æÄXdg?(q&â©A„°™KéH¸¢XW!—9;˜Ä‘Ø 9émÏ:48-Qh÷<•Õ™]O7 xî#ܰKÇ ùßøsVqc:×ÖE‚¡¬NN;ôœ"0hµ@~SznevJ ½.Õ”åéÐ?HVÏUù{r£nzTd¢„äÙæýËÓ®¬¢ ‰uMM‚ðºØÒMƒt¦ÔæIeyPsú¹€´m'Ù"ƒN1`ÁÚ¨¢-IÛ:óR3ÑXÃJ€éQårÌèPS má;³Ÿáo%ïz«PxCˆá:°#W7Ÿo˜j¹ÿO®«ET †Ïá{›®þ&Îúç_„¸œ«VƼ~vbKÅ;¢‡Ž¨âØ0˜øÀO~*“®öÅ­¢¾s€ùp„ aÁ·ÿ îLjÇd±Dü€ÿç¬kÛè·Æx÷ŽãâêfÏw{ãT™€\Ò¶iÜX$½÷¦öþË@öv)UâPMM'î”æï6ɉ—HÄ%“WÒ]šû&ÿ“‚dÄB›JWÉÄh$Bâ³,çÝ@7 ©82 õ3á÷ ϦkÉ4Or ågö6Þ–­Ù”(x~`û—,‘U\ûSü)W¢¥¬Ü ÿw¢–Éé÷ä:ïåÆñ+jÞDá_’bb9Ü3G’¯šFt.ƒJä\Ñ´ÿñ…¢!ýlÕîÏQ¿«ë÷f¼–kã™Û…¿4 žœLk5Ãñ¶Zk‘E3?·‚C ]»KB™<´AÛΣI°àâÔ Ú®öþìГ“¿ò¡…uöZ„ýõ— =ÉЮA+ù4†òiwî¤zÛŸ÷#1ÁÐÃÀmrÇåýð®ÉU,æx÷7°aÙ‡Ë# «oe­i·ªÖ¤Žwz`»yÿ<…õãØÄìkþ“ÁuÙbz÷,kÇ||÷Ö/ÐlÔÈ„*Ý/ýãõ¿©TPë¯D©NÕîšpEHl#K)ŽKB앦/j3±s(#¥Yš¾d_¼®#Yçå”AfbØ„2°}âéÉ4BHyL!O苜O€ü<`ÑâäØ XÐw¯0 fÙŽ1šöï¬!˜ ÷¶DBZ±¬aô€nzP hcæJ½§¨†çfY+ w"à Ýé´¶Þ†vŒH3ÇF=aLÀ~¸õŸ|7@ ãu‡q[½ÇMó ´VÍüëÎ[¼í÷âøÂ?Æ×˵…aÎW. j` ©ˆå^Û½q­§låS¦›œÔŒ<çàmŸStE{>­‹cŽßl/˼ˆg¥sE¿fڔ璜psšÿ+¢}/@PŠÿ4NìB!£pµI‹V€3Îäó¯›.Å]á)YÅÞÿ—™ˆí‘lÕ9k5š÷¼lÒ=TÔb1}1WšëÈ\)œðok»õ Ú>SÇbî0p2AºsÝ+íí`‹Ãñf ô³WRÕøûRÛé[HÉb,€Z ¸´K†Ü¥›íbÄí¥¥'ëCµ™ó#5)4{†Î€ÎyãQ› OŠŸ…¾vÒV¾¤Í¥± {r7ªñæ[œ’hûœMƒ§¬.TuÌm—EœÏ÷§9,{øXÎ>]—X=kQÕ¬¤;[Ť2¤7nÈEüYLý3YŠXTbX!Ø—=¦l{ìîà{¨_,„ñlÍ$KjLèš<Ú2l;‰ÊÇÙWËb&´“ 6ã%Œœ$ª„n +ÏÑ‘p¸åê<ÛŸ¢w03½@] ÖÔj©>O`™°Ú‘-·‰ûÑzP2çŸ-¾XÓ ú`?qjÞ–L‰%Ž çÁúžžƒ%+.R‡\ \OWwüºŒ{ ŒrñÏ­3,xX*Üö;¢# ¸Q# Ùë#Ü"ýµAÿv~ÎH·èOá¹Änè ”÷Ϙك"3#¨¯W7'hØä™=¢BºØÛKÀŠ2>ÿ­¿íô:í%z¿.Pã;JöDÄý¬ósÔ&,J¯qÕ ‘¦ŸË ¸u/ ©øÝ€à£ƒl½² lT‘âþVî9[.ÝqõÞ¦†÷ãHê*´h˜‘ϤÀ³ *Î{e­ÏȦ„vãy:øBû}<ñrÚ«¤ò(ö¹Úë¯_¢;;°•ªJænïlüÍ£xÄÌå lÙ œSZø‘3§,{<¨•X³ujì ‡±Aóæ£1sƒýKʨIàLª€¡Õ?cg,I2„´ôVõŵQÕC}òú¾Òz2€6ý¨Á^©¯†m†#mÔþ3‚íµÂÑÅïpATy½%ÿsŸQèú<;±õÙØ(Š!i“±£ºv2³_P‚ìòÒ2òéÇW¡ÛÍY;-’ƒÊU™ s@N–3¥œà’ýë9Ϧ/¥.—Е‚¸…¢ÑSÀv²ÍC®}lõ t쥖‘¿J1+ªÛÂÕk\ ¹_»U_ØR³g®eŠW¼èv>ßiϼ¾×ÚïJ0TÚ´€a¸˜M·‚©ÉêƒÔ`]HÏN´ œÃZûâ`ÉÙÛÔ%ÖÉqR%B)4ṇ!ú‚ê‹ô=€ FZ}i Õ7N×y†(«°Oÿ(&A›Ìn ÍüV’Þ`(S ¯1¬…kªT"øÓ2Š„îsµNµöø~48tŒ½Rm›ú˜Ãù‡[bë$¶„ð©2Zqï¦3DdZʼnüREÃð¬«îR£GÏø…þŸ›o» ¿Û»œ¤â Çk~ÌïOéT[; Èéy¶\þ‘OlºÙE7†]^#g°pÿ‹1EËá¶2\è5Ïm„c#wVØ›ó>•c¡„¡`ÿ\8 „ÓA64J ª+Vù†9}~§Mý“[ë~ˆ¤EW¯ý¡ëàöɼxŒ}§bÇ70ÞÕ?Ö§#cÙ}ñ´C&úf# H^ÑãþøA ¬)ˆ\²ã! ßÓùÏ‹ô]1; `{ óãÀò+ eÝã®XÏŽçšk¬F#^áCš‹°·I¢l8Cw53«Po¾téz†ÒÑ};÷;CKìŽÁ zµÇa瓟2ž[–åjÆoñšã]J±p6Ê…ƒˆÜî,>ƒ“ÊR¯ñÚY?®·œTõ^ùÝOH³ X€ÛUL kêÂ/1õ§8LP. –ίj¤ –÷2»˜PÄ8&›˜r;í§™:…ÅêùPÔËLE§owÔúžKYž\J´õÕow ½<ÁQêï_:×: Ê:–À3Xþ '1èÕIHSË„Ë.2÷ÒeÞ´'9³R_1·›ô`iºMèË’"UÈ'ác›ü¶ÄNö “Nª]ðûâï垬âQ.¹ ä!PõÁ­qîÉá}vÕEÞ„Ku@¹'y{I˜Jeƒ|>@ŽøF;“KÙúÕßQ´ä¶AôÚ^ôÇ••ÇRŠ(”_깄çËE]Ȭà,#¼ ò‘¥” X0AÇÝl(žŒqØ_‘:¼ÓE;ìcqRÇ4ÙHýuÊÁ”­–2jŠÍj·· se9Ãs]sVH°[ˆd°ƒSˆÎòÚ4ÒwàÞ:÷ŠFÃìPª¶«A™’È—õ•ô?cÿ0l¸× q&¥þÚâÅ%Ò«d^JÙ¸ *“ú•7x…uÖŸ-ÝkÕ~’2Ý•üA1èèæq l¢€ú0´ÈWçT¿=ÒpRšGâVN6,…§À >…AÎj“âd3`;‹k$Çe3‹@x)ñÖÕüéÍ?“=ia)‹åf%BbgQÅ$™÷yl4§§>hqMÝiåL>D6Oò¯x»ÅÉðLü™C¦)È¡`u^þ´[“à‡¡{@d=i´¯Âg9"ÜSœdV%)¦X!AÏHžNÀtj¬e<¾¡d«ÛêiCUÉ5‚Ò¹CâAÑIutÂÓJâQ©3Q=V+Œã¢‰AõÍ Ä™%„`µö1á‚$õÈceß¡]^Txn¿'çD¢ËÔl¤¸inе;µïå'‘ræ$6ˤî#…öüÊni»ØÊo­.Q 4“Ú-¼úÀ€»÷°àú|>Ƭí¸È»\©o´³i½nÄPöRR ¨-—Ж+Â8‡b ™£¢Ñ½Œû3b§Èˆ©ˆ#ñVç˺öù0:)^‚N¢»]Jˆ½×ﮂŒ;êÊÁj Ö+­¾°Ï0#µˆ„%µÅhåî4 ËËC§¥²&÷\­º*E¦CÆ{kÚÏâ —ìÕ\-K¼v¿‰&P™=¹Èf¢sŠõŒëÿ®–ðN«„i`Ùï÷Q ª&¢°mÕ'¾µÍ¹äøÝ’ZõB†®S[x©šÆO  V2™†‡¥Í0™¯ÙÜ•á=ƒ~ÂBêáÚ<:$­â•Ñö€ÿó·W]ÐkY¿ÐÀ§Du¾h¯v˜§Û`¼K06 .¼#Ïb—=÷m#ÙÓJåK ™»‚Iw‹âTo¿…gÚ„x²˜"SÙüøé+p$(^6üis÷Ò¸æßGF²ÎKœ± œÃjÛo$äUÂ\Gef»[ è-Á¹¡¸Þ…Ù3‹]í{®`YÑ{6ýü±»_o³Ê±9åÐ(–¹O–é ”{±òðâP ÐÒRd›rÌF~x °]jjÖôCö¡ﺷ¯àÈæCVk<àE=òHèÞ?V‡…´ÃïÃõÍpJ?àð.ŸºÁüMÊ¿½¿ìôt¹ç³|ÔЀWJNKˆ‘+mãå—ŸèëVžã¾ãºê.?­=æÇ£¸õôal*DвcEÊp/´ÐU™Ì‹r ÔW‡×ܬœ<Í¢aÌ~mÎÎÎ[a4ñ ÷Ö5‡I‡sÅIÊÈe Ÿûð(wu—H_ìŒDzö¥q¿soô¸qKGÒ¤´NaAÎÜ>NèÁü& H8w1‘‚ªêe¿Cg KÖ”F4FدÉB9¤¸­R©ÿù*”Oc^f&¹ª†@ýSbÝMŸe1é¦ÉÚsŸÖ < n¢žyÖ§Ù×Åo=ãîþZ/ë½û[Ø•ØÌY<(þ%xR7åþM“wÎhï6MçÖÂ2´U} âñ¥Ë?bvPò ýcYݽBß.,•Séún3£°hè$,Ié%Ïü=è+þeFTñŸT­…Zaϱês%ÜŽeª•%$åK)p³†€.%ÖWŽb,2úÔ¥R ”Ž/dz2'5èþ8eZÌAESM)"4Uçt$ò%€u¾ä³+Ø|¨6å"¤ÂsÏ˸m–»¶õ& UW(H/`&‘”KÙÖÒ•Á©jÿãÈêdöÃ^p~È òó :aí–`É¿ŸÂçÏQd?ù SæËE'n1ü(ë aÙ6H`áž´ÕF”¬K;¶}¹{F©A×Bõˆ¤Øî^¯û1•”“¾m»ᕆ‹¼Q=¤»ãq•,[=Míjµâû»ÑoûÇg 1t n.Šà/ÄÁ)çÄk̨>Ç^5— йõÑ÷¿Nn§ýÒ;/•nø]ûÂ%ŽŠóüŽ˜¶|¨æ(Ôǰ¼ÈS™´W£¬^IÝãí­B>>¦•øT©oe½í`ª½ìà6!)¶×Ó&&- §ïð^¢¶™;6ÎùoKüv,‰¶8‰¡,ÝM¾Âœ×KÚÜÜU1—ÚNɰ•ƒÅgPÊ+¤røì„l_jê&/e)IÊIp5:H‡±‰xµ^#T¾‡R´ôÝé»—b|’ÝïR¢Öî¾ÁØD9…dmrOµé‘´ED6ør:T[´ßÆ·ªÙ¿-ó[ýÝKÈoÛãõŽÌ»ê¡ñ µqæ5ªt0ðgÝfFÂà/”(9ßñOš_j¨ý3cx4V&ϪÙð•j€ßi»€óÒûžùÒ\Øm¯£MpãwwLEßRLXhÓdÔ 'ÕC¹¸89.‡©j…IöKº€-˜Õ®2Η¬Üñ5ò÷$ «ÞÔø|+|hôJ–’CAo,ÝŸâWµ ú6Ë–%`øÀO{w ÜB'fo—VíuÙ÷™Ó‚4_U!wS[ŸcåMA-Hbó/a©«[-†•£èí|áí7°~ˆ¸æ×ÂK:ÌÖšènx×`ï@‘Uöî‚È-Ö”eïëJÔƒ”Öôôá’áˆn*HZ'¢t‚$y)ÕrÒ#’ÿÕn_±ëìX]ÒY©–—*h k@p ?_©È…Fôk¸ÎMK ›cŸ ÔfÂwœž§¬­ y—[‚ȹÛè‹kM«Öà Ï—RüKYŽî}]Bíû˜€ÿù¢á—, “²( !· µJ¤—Ö†ý÷ˆøJU¿Ú«XŽºv[î“ G™:tQ.2a¡—0Kåaùâ ) VFÓ¹ÎnÉ"B9üVÖ(& 3µ6Ô…Íô3¹R$Ô5«úö©¨þäP[œ=¸rÞQyEþ PøŠý¼@åUyD¡w&fs‘°o¤$aîN€b¯#D‘ÒÅV·Y4{2œ€¶ûP!ªf-ëÖ¢”À—'1«â[XBVÕ² šƒÅpŒiDç~ xÝž¼à9³67•«£DUzþ`YjMÖ“&_¤;‘4 ñ†.œI5ïP–leÚâ+¯]Ì»ž@ƒÉt÷W!Ëø‚èà‰:áU¶Õ;³GÂ!Vsö}€O/qZ8˜51Ñù™‘k4"ò4ÝSÊš*ÐxŠ?ùßh|©çʬù/:ë74‹ÙþÔñr‰w{Jkî{ô”ñÿ´§3[§Ùdò¦Â÷dŠĮ̂…iÏî8gòåàŠŽ8€Û ŸÜ"™“Ǻ¡€*ó2Óþ_%j ×â§x‹ï^À³Qæ¥4q×>™måa ¤aZq>² ‡Á¿ÅÊVcë¥ZÌD¦qâŠIëë¡áL<'ù°Íc+ql½æeÃ^Cncëo`Ãhî¼:ÉW¿ðÅ”¿p©qsÑJ¦¡Ötñ5ÃÔ¦k5—!æ´‹%vN6Z‡¤ 1ºîv×ʃÿŒ'o–¡ÉwpTŒ .¼÷øBö9T‚#4f ŽSÙY³ôxj ¸V²í&Ù#„ʺ¾Oó:Ÿ’ŸZLäï•Y*5†¶4Ó¥;2Ø&©¡.ÿ ‘ÈЄÉlÖ šþ$‚Á³´´ÔÆ {ÛaŒÏpØoPÉuÿ· ³.ì¶%h—˜Ì]² Ò'B>*‚ME~Bó©ý3ææ 2æõ7ô¾P/ÎüÞ©¤vÆÜîΕ‡ïÙ”]Œ%PQC°ÈoüÁ釣Oz¦FY7Ô¾n Ö|5j(ˆ[À‰®-!NÖMËê&pEhP20bŒ§´´°|ƒ“Icoî«Âªg Žä¶”WõýÈ̆I§ÒnÞÍ<·’«íÕ¿ÕÁfçâ›'mqÊ•€Ç‚Ãõ`%–o è·µµ‘EÁV²ñÃNÞÜŽ#Ù»Eßò7ÑG?ê* g¤êÚ:¨›óÀMêŸHj¢ùÁ±j=©ªsSg±?„ÅhÎýh£E€ë¯üÑѦe½wë·]z-˘\øÕÒ£ÁÓõ÷?á`†nÞF'Ÿ™®G8 ¥‘§Nøô§ÛŠ5¬V%QŸÇû†w+X¾Ì{-7,Ë]l:Có¡}>2E ßìT„.& ê^®ØÉ¾(Ú)O¶Ç’:Âû$::ØÎžm{,?ïä…õ8%>•ÏæœoòAOÇØÉv¾•;Ç”f`ÌBqÖ®ÐAxqì`ƒ\ë=X-@à)ïbÉL|´Dø*- a¢PfÂüp_­÷3ϤÊëwÓh´Š®ÕØ}LÖ×tM®m‚(ôaŠ‚õVìÝ©¿Añ1®³­/~ÔW¹ƒFÄM;/|¸[ùùGeröØB“R^:@‚pn“þάáåAÁœ˜ij£Œw¢OBR»€I_/=Àtí6µ–lÛ1D[1‘ßTÈŽGÏ|^“wóZ0AFš‰2šÛ·²à”ð¹ÉJJ©ý´vø§P+Æ¥·Äpl]`£?aJ)EÏÍÓpÊõIchçÕLÃ’Þãßò¼îC\× 2ÍÙ}ÍÍV—ÛÁ…Ì®G}‰²@î©þñá¤'T˜¡é£æŸÝó˘L?~|Î/Ï=¿Sñ5•Eíçàû7‰È%íS)E„ÞãÕÝÀ>@äöcùO½P&’4|ñc–ñjpãåß-ɦÈñ‰aäüñˆY*µqHW¿5Z=Ï;û8’¤0îñ›á½V5„Ô»åW0´ÖÑÁ½ˆ´Åtõ£0 #bŠ@—tË; kÔvŽŽÖó2ÌqY52Ø!Â}$máÞÑ´{-DÐÂvjæò†›Ç~ÓÝ’\DñÚ”HçÝàìÝ“â)§Jú2¼sŪl‚´(é•3ãTÍOç}çØ¶¹¸œÿLº·†~Øþ”Ãq±‹eùëLY0]c?æéƒúWE×ÔÊi/]äØF†b§à‰vãM+¹X7˜Ï‚5¡È©£?°áî¼ðìZ¹Ù¥ÑÔ>¡T0¢6•¸˜´³·R¥À†ý'K»-u`C)ˆ4‹›­A39¶3F£õl…Ì]þÝ*ÿ'þÝ,j%Ë©’ƒ"` 6´¥²EÏ»E­®ÓÁVŒP¼û"ŸÝŠ«ön,YÃY¢Mà£úA'Ç„+pXçüm\ïæ[µï¨<4èÆÛ/âDñm– æŸKk6ëÿ$ù";óA¥'‚P¸üÈCð'ô(7¯&áfƒ«æÎl ¹ò#j(Èè eÅ¢ezqe“Æ1u÷ñ×2&¨Çº#WºŸ¶Øc°ÂóÜŠèFèþF{‘—‘÷!e¢»ƒµ%“€#êIqAK¥ï°ðbœÔ—e€ ŸzKt¿Õ4§û10‹¢ì_yØú6H•LºÉ¬µ*u¿ycb\%úúæ¾'À­}=ñIWưL¸ä—Ž|8âX‚¦h$ƒRBZz33ØžM'B‚ô=õ߯äÏ®š ~ÉY Ò Žö}m¤ì›ƒ:£º¬Ø·”A…úrØ+Šð*o¶ïàs¿å&º[ õÜæT£ ‘ÒêIø’»á DïЊúõä'­ÈãMIºs_ò¬m)iBáV¿ù Héâ3f6<Ÿôø»ð™]Šºè_µU‚„þ%u›Èâ‰Åó ƒúVHmð¤€=µ¿oQ ;à¿ð'/W™ýq{¹é¼K@ù¯BpŸ†á`æâ¿'_»pA£Âø;Rß›!PçÛµ®M¬Ò…t ”/t`¿&ÐcPïs$Ì"ŽAŸÌ3†ñ6sk-·­é^$ÖCIE†•‰ûßyTIwãå¤4%$ùLþ˜¨vCâRÖ¥¸ Wa$‚ø W´1쬸t(¥ 3ZÎ[òOžÏë¹uÚ¿Éb š?ti©fK]A0QmáðÞ÷qÕqD€ iŒó% xT@r[Gyò©‡âã3ýU!è@;7ý¿im·ˆ–«æ°å-©‘ß°Ñ÷¥ è½YEc £C;‚ô œFغù_ôŽnŸ-*ÌüÈ9qÛ„4CÝ\Š/N0¤z›6RØ}]æùPX☌õK€oî=CÎ>ô†êÓ. îµt¶ïr%OÅÊúmyë¸~Œ26ŸËó|å3×±±¾æ™¬aš$xSÄÑZÅÞø7Ûºg}¹Ô¾d=ü[9ɉ#G+>e}Í­‘ -PuºúÙÂlUwUåé }(L¸O(íŽEcl¸Ž²ÂŠ0$Õ1â{^1±áÿv«J=ûw-¨A³+3«Å£MÈ#Åèhm§Y3®Z½m3ÅaÇp¸¬çöQ\n.3h—mk%Ö'"¿íQ\h”¿BÕÔkü/ìéöÔ6EK£=¹WyäCzÆúFÌ]óï1ò!4å³µéÑhÜ”ð1˜¤ï{Íd²  Â^ÀòQg)Ö$¤¥¤âL…g„dhj„ØòÉ=û⧦îð¤gÌÂ8«—–œ>8N›¯V½¡„ß—.J¾•qç(ÇÒ¹?Ϧyy©0kÊÓÕ™³:•:¢ F·m;û™ZµÞÆè-F‘€7£Ìæ$)èYú×Ãù;¼Àˆ%1ð!î* Dd©G¬å¤åRÐå’g‚´•ŇøucÀ£ûˆ?Í×ýrbì{ÒLAžÝv4@IšM ç.lóc÷¥óÓÙؤ0Z—Õ!cRpŽ=ô¶=!ŒwŠÞÖºnþlUqá© ±§.´N?óõÔ zɼ“$¾vJ„{øʪý ³”}ÒÏîRœ¯Nšùç”ʶõËÍU—qG3'†ë|2ÙßK +tìš jÜü«ºzèæ'{' XáA#zËbYÁ…^ÖžÓa˜³³Œ´´qPÃï ÝÀ8ù7úþÂòþdìÎ,%R]lÕÜ&–’ÉnŽR•‰«›)jÓÛZõþîÙ¿§jd> l¾­>ZˆˆvVÈ.>¨jZFÑÜB-Ÿ¾¬†–‡E![̨çê!( Ôt6ªÌÞ<\¾OLï«=ŒdmÔ–[®!$oTÜcÍt ˆBØðdÈ}I›Ï:7¬=§.ü!]=,«%‹š ø÷fPž+Ç?‚„§§ê»ò/3 é²šÉpsh0MÊpŠkË“ˆ–Á«WwLqAsÜj<âjÝFi-…ÓË ý…eÕs ¯îèÝ}VúPRf¿—DhÍWh±=;_¤-|söÜRë b@€h€ˆÂ70ÜÓ„A2¾U(” £™ i+Ü­ýøO¡w&£5û‡²è¢üð`rͧ©W‡û pÛ˜£8‰+ºáUÇ Ë'Жx’ûit÷@ñW?>½Å©× @–òº/J.¯Î­ûÞûÓ¢äöhÔ´ò(·q‰B8ÿ#é⊳Á:÷ÕS \ ÚÁ-¹±Êm¼¸Ú—ƒ@Ú%tѼÛiá­À©\¢N`dt~j]#c›Ï3žÃ=¢» ôù4ÙômDϹ%ÿü:ýÊhúŠ£=Ù˜¹kÌá/#¯LÎÃûëØ‹é’"3ªzáªÙ^ÇO[qùó7ÄÓ¦]&ü0Ä¿^†ù‰øwÆ ;sŒpͺD$îæ¢A·Siã¶å³"k£Þ˜÷Sƒºð7 ‰åö¾mó•å¶ü†Hpÿã;ûái:ZÚŸwæmê+$ú;f Ïù•ˆ-G}à]Ÿ[NÁÛi(Á÷ª_ìo«o1§qÛ £üÞšá*Ø,F ¦IN©x…gá«WDX£ébe&ê5]Õa]û`ÊE® B”Wæü²2Éo]?±3U×Ü÷ÓŸïï[KÁ†#ÎÎ Õ:5Gp!]ÉC:—®ÏkTøÖ"ý{òC˜©À‚ùê¼bœ."È™ž9PHÃX-ÐþS=Q¤X4MñÑxÚ·KÝ଒_–žl·´Éôq2Ýsè;”~Hf=×,Š@-Wïóßvv°ÛW¬;ílˆhqâ ¬9õ‘‡E…Bãejø® Mæ€ÓXŒ9ÎàÃÕU= ‰m§%BÔ“þS|@º:íÉ­ÏMГ´O™C¸š’šÔÐs£ÅêAÜl¨ùKà {³[íkêãé1œvÄ!Qš.xÎÐ5ÍD!‘tnøÐ“bªjp´‰9Ó:çè8´eZ5¿k0ÑþÊŒF¨K #©æü»ª4SíÛî†Î(+1­!ÀøEæ¤Ð“$BKCþhî4ýègÎD M£è(]Ô®™\‹“PYòHoÑ•hËìuSµ#à«sä%bJ}Åi5+rc«•´ÌFŒìF˜óQP¼Áޱ.kÇKòˆŒÖš‰hWÖ¶è Åu:ëÀÿ6‚,ƒØ#‘¸©K·ŸÄ·…ļ|x),•mÛkW+)LLWâ©F˜ÒQgD|¬]"Ã4_BGï÷ú¹zVçMW³†!âîçX÷©‚è'œR·‚NdéBbŠðƒB„‹”òjŠ –o•žóBÓ uо‡lŒ ø¯ÍoX°~mlàa…ê¾P[+VS†ï¬ QëH½áS¿xñ0¤Y¤ý¥s‡œ‹œ‰š-£eöÚAUÆ@+³D±¾süo_þP~¤/Ü l8Í;fðÃUö#LåÙ®ì/oøDÅçè4Ýú¾ó„?®5–Á#(þòOVlz±£»^½Æ-¡cÎÖž—9mG-*…ÿˆ¦Gê’™,!.G¿!fÀ&à¢U@ÜA®HoUJ~\o……Ã㢖üÙðùš×ok-•ª$i£!ÁäkCwÊ/Ö €¾ó§ÍÛÅ!þ$¬¨zkVpôf_´‘[Š7ƒ 0•¾9ãÌãЈŽSùv윗ÞÚü¾ñ#Ú²)cgû¾‡7As±w˜üBÛy]é7`4À €åþ¤Y™ nSX[ØÇÕ­QN%íìDÎ×-WTï²E»ENx_!w¿aèPè÷ÄÎæ§Æ ÍÖéÙ/.n{‰tOôÿ ð›®@šYž #tqµ‡&%ç_šïõh„É­ +7›˜ÛÈÏ]—e(9{¶!’Ž'Ï!¯7U’vmN&ÂÚ Ò ¦ºó:¨ŽØ;9 Õ†«TsgËÍ¿íQ7‹xƒÕ“BÈCœgþk,ˆÜ¯¯üoè(ĨBÛ h€‰Š &Ätø1~@J-nÝ.àqb6·>V·až‡ªžàɦ^˜nEšQÈí=ª-'â ü²®¹ClVU»‘\|óÚžA:;Ð~^û·ã^Ûh²XùjŸ×pºsOÃkš~­›{-°½*/Ißj›×àKÏb„ù½_zË'7v¦‹XLCu;IU ›õgž\÷¥)ºŠ;ìÛðíËÒüñþ€¡9yƒ‚fæzØ¢Š‚6,_Ý+4‰p½| ߃¸¥ÿÂo KÙì&Ù”^V€•hðP`ßËaƒ‘§Ã8OÛí8€Þ™Uý&93äc?aœ`Ç :²^+èYؘW‡%œà³ 4BÌDKªöø]xð(nj_ý}§3¥ü¶|•æ7ù*û‘­©Ä^âËΧ|¨öìÌÀá&–ÇMQnØëä¢(P‡@aùkC ß:õ;môËrp(µbƒ¡·DÎë½í±9–]!š Y²%óû  é™Ú›%Në‡GÞø”è!!­-_7â÷ãŽÃ÷ƒœÂpH-‹]:4öìŽ'{¾ÂæÒ¿ H“ÚüöÈÚ&s£]d¥™H9ÍŸÌ.Š ¼ä6à× Ñ›­”â/:õy"` yàìæL^»Päýt8twJ#x§&I&‘åÕ=6_HÂT;¶®8–N6h¶+ÆּÇö«ÊöOS6Êâ± ¢ªÿíZÍõ$ÛÓP8)äO1ÿÇZÚ6×T0pÓE³Àóg<æAÆaŸI0 …ö”Ö¶h\ØÛn¯´Û Ë#φñꬌG2´«0j²¡¦›î¥¸,cn"Ñvm5ÒÔB°˜kÐ6RùèaÅKÒÂ|6ì8ï™ÉòýfÁlzn4yR¼ˆ©Ÿ¿ÍН‡ìض‘™ 5d±HûqÛÍ2›—¼M‘‡"(59MÓÿØün¹ÊShœAÛË@lâ»ýi#ûQ„"ÖHehÆ"…ÏjC‰¶OâpªÚŒ¯hK)³×j„Ôí£¹†™q2=¡ 6¥1¾üpS3e³Ý‡l³†-çy†ÊzŠöcˆ5GŸýKSu6…Åýö€¶ÿÜÃÈN£[æBg›& ¦Ö®oäWí÷Ƴ/[i1G¦èù/äΙøéößêÝ®“ë&¢Vù8ÍJ¼ËtüH¥OS6Œ%}¢€ ÕÎáÉÈØvÏ.'e3ÿ°dt÷ ˜cÒaaèÞIÐ&›`>-ðQð¬Bð5œ ¢’m©mESæD@ê4µ<ÆÞܱ—B òø $Û'Z/×5ÏÇ”Ù.£¶ ÖÂàY¶>QPϼšò50pç„z°1fi*ZiäЦ 6ô4n¤-õÓíê‡&>7ñ\< …Ç¢ç²k”}m5÷iäÁ±ïD~ Áö¿Õ–rOåÒóëÖýÕïÔ§Ô(φ8Ém›¢”V}n ¸%a‚éît«8Uï‹¥MÊŸôèWC)»ÉiWâL‡/bü>YÔ8k¯ëÎ@%5Ž3Ó2Ï(€•@´ž¡TmÝi¡Ä/ú@B¨—Î8Ó”0 ºèöp^ùbö¥' ÔÊÍ, •9u‘@9ÿ¿Gž±½ÁÕ#uì?ª,ËÁgzÂo–œ7 pe ãË&,÷žÝsAªv² !Ã!SbzΉr©ŠóëÅþÅ¢k«æ¾Ûï ç¤?ùÊõÁŠ´y󽿬”u¨<%kÅ< Õ±L9Í!"ìÇÅΪ¯!ÿSbÒÀçÿºfïËv©-7Ç(½²ÞËwÅd©ºS1bKŸëKÁV½Ù쉃w4sáG.Lÿ!A¿·e§˜ìôÿþ@gVRGÚïƒîHa9ÂjÇ8¾ûëQv ôÃi4q™Gq´¬ïTÅ«~aŬ¼Ž¢àFÔ,{0yåÊÞC»F&±´Ñø£¸vƒ‹·ûµTÙ7‡ë(7u>gÑJ>ôvécuhfÛ‘pàÛq·äqE‡Eý<» úØ`»Ñfø‹ß“š¡M¦%ј4Žƒ9í3‘‰Lô@%ri •)òÇ™š~ÅÔã<›ý¡˜P 6QÍç3Ùôu˜“ãg)Ða沯m#;Ù‰ü¥£oÙÚ5õ¢®é¿¶=ÒñëÐÍÈâZ³4¾vxÁ ìÅ'~¦w*[‚ˆüC˜Ð|ÙþbµkÕ¥Â0¾F®>Ÿôà` €ÝÄÔF^SÈ‚L課¯¢³‚š?~u”}¤ð‡öòœ-Hö7ƒÜ,>¼E|Yz!v ªIœÄ68ÃöSŠÜßÈA„·¡“DS4Ÿœ¬å^Û]æTY§v¬D¹ åÑiÐå²B†·³9gÑùrcp÷=ò"âZLjwëÄ0ý)—b£Xzý…võìö¦¦â‘L‹n#?“¸ƒ©¢kkY#yâö“ö…¢©‚ñVeáfI1ôCl×Ìž½ß¾OÔ$Nƒ_!ÖŽæ6v¬@¨W§œÿþ“ ô)õ\T?VK-ùiiÚoÛ\‚Ï6*’4'Ì)¾u’kïöçIšçëoZG¹£ê >¸n9QøîŒù‡“p—FdAFÕ %{g¿ø¿`a$@ìËä¼<æzèïªêŠý†2!×x¶È`ž†ºÚN'سŠO.ꔉ‡O”ƒtÇ[UÅŒhÔƒ­Ë²~ɹ„ò"ˆ§3vIÛé¶E‹k›Ã¦5+Výx£À¤ K…ÝÑ¥ð †ouHÙÊsƒrF7²OmªJ‡Ï ünÓÜ+9÷sÒ+…—ÀSèœÉ[><Ì£ßF"bœE±&ûà¾ö!q’7²6$ÝâéÙ™cÄkçƒÄ" l4™ÍebyíýБf!zÜTuYFÈ7a‹ˆïïIÎÚé G :àYKçJÖøÿ³Ì¿P…ÆÙšýÁÖ1ûË^°ßÛ ÇòªAJ¦Ò1;`Î_ž+âÇàMô±%’ÖŠ®Pýµx‡çtH„üÄšc ‡±É@ñæ¡‹Íí®°Ø6é,Ë{ˆç”ûì_åævÆè ù<è 6á£ô½(tW ‰¿ÍICâkœòé~jzÖ‚õì§à4(æË†œ2$Ò§ž“oÁ±á.³fÇÓˆ¤'Zò ¥e¡êmo[J¥Þ!ÇÚÎnTd{0À7€U•ïFÜšèø4vý¤N;â ãÏÇB—¨d àÌòƽýÕN„ƒˆÚÒ\λŦÊoü„Ò ¯HDÙÜ—Ó´Ž%®@d¬^'hµÙ°ºÍ¥£ßJv„§ ݧ•Þ)t*ÿx¬7û‰×f’ ?Ìà%tc£C§!Ë—|Z³&*Ý|­.•Æ3,ñI’1õÂ6Áo<-¹<ð‰º.î`8oùþ‘[ï3m|Rgäɖ_!¤sÄzÉжÔ^#8ƒk÷7çE+#[4£ÒªøODæ¾·f°×UJKú‚s©ê¦"cBß)dæÞ/;[º¡w¾î…nŽ=ؾŹ }øÒ§.:%ñ ú¶(ü„©0®‚s¦k¨É[Ø¥ëgoféˆö( ?äqïx`yö!¼¸ˆ†9h¾wx÷™Ï-Ú ;M>9ô(e$ »¢ØÎïfã·EHQÓ…ó#¡."³Qr$XiÊ€:'ZŠÂ'ši”éý1°Èm“©gøåWt_\ ócÀgÒ+ßM I2Ë#ŠHÓpq«#¦ÖÜvgkzܧ~<µˆ mÒ€9´¸ú[ÄW6‡Pu•G5Ê”ÌDðk-c˜ò ·6}Íöp; úÄwÂ]û¤ö‘µÓrÊE7qTÌ!:<é GP-ÿ©Ïk †­ß]’/ËùPE øáí‹úèk•qE¼ÖËnQÊ,ë>!gmùö“AË&$b—n*> ¢m…úá RŠk&…ñŵ`›Àn¼Ôu·ÓNi†¢nת<Ö-ˆ;ÚõÆ–Wä>0ر¶œ€Äa_±Å,gð½;‚*À±Ó+~Fœ[’],3èd ´žŸÊ¶þλ\i¸¥*ù…cƒ,ïò™ösèBk$5ÓúÒÛ)+d¶ÉJåB_ùÍ"/d<\¨Í#ÆJó æ†×"5¨˜Q³àÝ™qâ§û1áÓ]ãrmEÃQ¶ÈfP-מ&cÈÈÁߨ…]© ƒåª².À5`](à΋“4\Ûß·ÏÈÚÁakgÂmEÆ¡ðò³ŒŽ—‚•"Œ´~Ÿ ­cB†Î×KcåV?ħ¶¯E jjön"5Ýñ"™+?å,üXû%;þd‹Ó(㓽M$Uƒz%aôîµò îÃm}U²f¤;Kc[?æpD+NïI}õ§,I™Wù/’åAWwßÄJðOµ6”o Õ©x’-¼×Á²hЪx‡"› ƒCï Ï²BŒ'|å#,ÓûE%˜%,Ö¿ð^Ú¨ }ÍšZU§µ˜—ô!X$Dè—¾=V'‹cƒ´ÿÔ?é(o|<º¬òÀÑ÷ÿ»–DË…Çc0¯“âNž¦âE¡HÜÌñ «rIW§ ˆÅ­6El<ç%¶kE¼MI1ªÒÍ•‰]3áiÿ iÍÑ øqпIJۡò)Ô.vþ´Ø‰·b4ºÈ9ôqUð¬ñP£z·È‘L)BôDŸ +óÓ8}n}±DÕ¬jˆ™åÀ:mO…¬Ÿ±,Œ¥IbfµG_VÆï“é/‹·°ÖGÌE4¦ €ÊÏmRHˆ†]&~‹ÀKZöiq~€úƒ¯øù7°—,YÕ>øe”ÚBJê „q" ÖRV.&i™¡´®4ÍFÄ4Be]Òs´‡VYä w ºeµ´T²Þ¥~ˆ{¥¢,kôìªÓýÌŽ X8[ŠuumQ,*:/… Ý0eÛÛ¢éã8"rç¸`KÀelÎÅg±wÔM ÄŸY*UPº÷L:¤á¥<ëŽk÷ ¶aLâ_Ÿo¨„ü;î´ý"|åhа Œ”1¨›rYë?÷L †L‚:kÂ@á)äÏdM·ÝöpàÄ ˆJ’;‘ßKFƒ½i2OdæÔwxà<±&„A' l£ô ¡˜ä½ß'~ „wÿä’ÿü†6!ÅH 9ÔFS¸î–~¤¹2UÙÉ“ ЦIfrÎd%üþdCR“â_´bKTLø -ºl^ü6„¨m"@tabëNæyÓŒÈfSR弦.Kòl0´›ãº‡'’á#U°ØÙXS줸( îJl†[…oÛ"†#b{±öFª¯ÇŒ7ý±9¯o‰  Ô‹9]ü˜@ ,M”¿Û|q°^£ð(s˜÷—ª{ö— I VÓR1ƒX0*.€ÑÜPcÆÿž­ºH¸7‰Å÷ßÄ6srv|ãïŒûØ¢ÝÞB•õž¦Çf"K/:´UÒFé€~1á0+‘¡×=²Ó-\cpZì^è­KŠÂWÎí¤f¥ƒA ýä`»OGbô)9ºÉpêPþnmìÐ4 ÏvÝNPrß A$v#h™b­ðædzhÑÊw}p{ß·fpW3GœÉlb|`«=ìô{Ș›=§¶\ áÐá@s”Ùʬ-„‹þäj±-¡{ÊÝ9ÓÀ˜žUé'Sþëÿuéïé¿Âƒ”!Ñt+-˜ŠÞ^è±Ë%Ûæ©ÚdÞôe#Úp¢ñ×Ã+:G ò|õ¨ ùõÑOÿX "ýa³éîšqülYÿ¯j¤·ßêmKrÞrý¼àÙ%…ƒ,c‘Ïi¼¨ª-œÛ´È×%Ãj°šD3hðw‘çJöâ=}Šk­øSLÁªn,f5¸8°N“ÓÜ+\x……-î4Ð/~¤d씯¶2õÄ1\,»Åék§)ë6ÕµIkšµùÊ ”ÝYH¤øþHšTZòˆ9ŒMp2ôçUìrS4L–8¢)l`-ñ1ê˜]6YŸì¹“˜°=Rûã}„蟋֚©IOÔ1Ø¢îÏ¥ê":Y6'¾ñB}i!·:˜ñ©ºb™EîyÐÐÚ:<8ªF ¿€”&¬jõ¥¼O”/?qìÌ®ßÏ$ÇV¥&²G”Óõ¯ú¢Bä 7p…¬ê_èU0HލÊ(²Åé½Ádïœ wW¥UJñ©,Nx#îÝ—­2(ÒæV†ú­Ócwf‰×ähâåe I£xªH”™‰¤Þ¡•µ˜óLLhOí†á<±Ý °Ú>ÃfpZÄ‚!ìâ’™¨ÙÙ5ꢢ:A^1^Öž‚’¶Bw\qß/íèË¥?­'@zÝaH;ЬËÒ²pϻ'áU—Š–=ú°%•YS‡ÚtϹéLEûèÙêû Àã¸ìø!«àc:ø³»ó|„Y[]»â°¤rf«°*#ó-DÊ[&ýk0äý8¦ÙFJ(W‹êý–ıþKIa2”¹Ç5ÅZ”îôC€LøÆt>²-V`­¡cå$A’û9jºŠÓ-íu܇â7‘>0m tÃÒ«H ÅXQ¡ƒªÐ¡1–ªÍûù"ÉÑânÏQ#1J™gßép^kY ™ì^4@–¶‹Ÿºž~‚§ úF‰ÇÓ•7ú°3ý¢(´WÍê–‡ˆL…àÙ=oZ µ\HŸè¢붆œ§>Hƒ7(í%îéœ8ã%«´.®C}î›ótH6äzlÅ:K þ3ÌØ:çéHøåH_)ëqÀÞçõ‡±Fu(¶‰95A7%Õ¹G`àý;ýèc47IµŽ× Ð;rhD E‹\bEhϨ˜‚£ŸIoã¬Â‚}>}öY䱈Ÿg!+#œ|öoÏWb'y>C"†š.ÅÌx¡£ÁêÎü¡*R¹áø¦p¼h˜ûË’Øúòöä%ñOLúY‚Ãø¸!Šf<*}x‘M €…ªÉˆdêªÌ[‹p?}cU¤z¥£z‚Í!ùSå6º–É}øçE^c ;A(æ•a’P€Ÿ Zˆ~ãÕÿndQñ\¡ÇS™ …ýÙ®’¥”Lšr© óu«€0Wu~`™¬jLZÂØ2ª}U£Fpžÿú„'è ßïïÚ3@ã] ¨BAúŠz33FlféO`ð32Tt¯î“­ñ¶_‚«VO¶Ñ—õ¹‚ö€‹X‰¸æý†ùŠ<2ǻ׋ðy¸ßC™·0bp]XNLv­[¶G_ÃÍÔ  ´÷¿ÅG¿“އÌð“O|F³Q0袇žjÜVa—zÌ)ÂÏBⵓ‚à SÍðiìD‡€Ñ@‘rëqbù L£Ãߨë“Npµ£Êe=žó ë‘Þ¨è®R2\圤/dºï¸§±ôÄ[q×­B§ê›6¨†®oaËJÌþƒq¼^ Uß{dwÚŒü¬¡­›‹qG‰ÂóÑ9ŸòŒ\7)GîŒ'óêµLBß%êÜðp/±áуçx¡„éòæ!,ø=Q¼•äâ‹ã,¯ìƒƒÕ€gbÑÞ™Î¿Ž—l¯­{Iœ+~ p„ï´rm”É}h¡CÌw­­‘ylרžN@UâǹV€Ò©Ä št²YÂ9† ¶†¨ìkª{ñ†}Z/¬d©Ž?1óï,æô¥ÜÒ.  ˜Û Õ/,‹ÎU¿0Ö…ºc~lœ‰G‹gœZܱï>cÒmüd«ÃF‹«·z÷TÄ…}~Iȹòª;ˆí3ÌY…¬/Ö<§YjÓú|wö&°–!=m9î;¯NÎliL_ã¡6¯’³à·ì¦1R:NÀW£Üö8 OÀˆ |ÛÑÿáÜa4¹æ ¯Ð_Ù+w厺‡q™õÈ®MPD0*h2F„¸Ì¤1g$=e™… Smš (Õ<ýÜf¿›op»P-—èö[®êæ}‰¼“å£ ®0mÓéµÎœµ»våPßõÑ`ÁËs¡'õxß1.ô¼¶¬n䏨Û8œ¶&Võ"ÒB+h$ÌŽ ¶°±Zˆô²Z˜¥ìãcôûiM.ÄU½&Øzñ ôòsºòІ¤=}9§AuFÙE—ö¼чºcueQGHð|ëxºÐ'Ý`˜ rI} ¨Lkj¶óAÚë¤/ÃÿB¸‹¼±èí¦h±ÑWú/2ñԗÙÙß5]sú0ôÇ­uf»M%Ò½!K$t ½K!îx3Aۨ׋yùóQE¨Šï¬­~Wm®àU_ñôß’ÖÊqvCq+ /*ñ`ʈbN³ß]ãÛ1;JEef¯ûŽÕ.„Ÿ¯®á‚nSUW¶cC­!]°ñ"Òz~€œµWµÒ1<([h¿Ó€øá¤cpë*â `âÒKB¼YÄzXqܲ۸–ÈrFÐÛ©#ѹ{øañ³ÔP}_rá®–ŽŽÜÖ¾ÏRQ“;PÉpér¥ÍÜA·}Du6^'nÂlÍÓÇã?î-Ñ”™ìG¡“z°ƒ ` `‚ªj ø(—©L'¦…$Ï#ù11òâ ¨Çÿö4.^3óUˆµà{ûFh÷¼‹Ìz Ûœ7ÏV9€¹Çün;vþ¼ÂºsƒŸÁå¦sä@D6Ž5ÎÙ½•om`õU.ÀæÀYIêšdïl9•2Ò.€„»BË  "üŽlßeEÛ‰§bË8ÔÑë¬Ô-j´ŸßTu™ƒ 7)ÔšoIU˜ÍÙÐ æðJA"}y–£q븱!JÎ"püÎ04Qÿ߬o\"y¶šcùSj“ øî …&/WiÀ ¨¾+/;F }ÚÀÉiêݸmÒŽî8ÓM é#ЊµÉé#^ 5á°DºÒrÊýü°k‡9™ ³^ØîúàÂø3~ƒ8’ÏLñ~ÌéÛ¥KM1™7$Øs lûC] 0Æîµª-•´)Gè¡yÝ(nÍa졾õÝ"Öî‘롪2æÌ"hÜ™[/àõý«× Ìf¦Ñ ê!Ïõ†Ñ0B±°_BÔIÓÔ£¢iðŽñõ™ãf„<,Ð<'©å}b ±vøg:fœÚûÚ¿o§'¸JëeõuÊ€€¹U¹7j8áf#õ‘“hå¡;cùGIût}kÚÝP¶i®ÁHju;*oµÄ1ngÆ ÀZ­µoÎúÞ"Ó_ävMܶK3>0Õ,Ñ•t¡“OÃh'P<á¶RE“ ñä2BÅíx úX¶`°°)2ÙšùwÒ:P\¦€5õ¤‹Ù²´ÚÒ·_y=î…4Y´?¡‡õ“hR®\˜!Tׯ¦ƒÉf2 ¸«Ù~Žüȳªc¨ü¾»âД­¿WrCpž=¾»À*ÀFŠ–èS¼Ïê8C"D§eßyá‹-H½i¶îèÑ|æšØtBˆÒ–ðDio¨û‰qÕæeÖ°÷ä3Iä¤Dá^ûA}²î€í¨à@1›r¾Çº¤iqwÉÜnÐðuÊ~À7“·úŠT úŒ«úÖÓKÄ•»xêàsßÁÈwƬyD²dR• êôÀb–ÍÐxÁËÑŒ—Ñ“o©™k*TG?(™í”BgSÈœœ^¬@E{ »äg„ B Ÿ´äŦ8 su¢H{†Aã#æ?¨²_€¤„8Õü¦'9X ‚Ïm<"xÀäN=Ñ`šõ‚¡,¢@s/`ôö¯ DÆûÏ•Þs+]lYY}ýPS’ÍåOSÒì6àhl9ƒßÛÑÜ^¢ý{‡b”±T~9R²ŽH¼?jæé-MP$’]ïQìIÿj×»¬¡ˆ³b¼ÐÝvïüú¶z›fHSS±rtÐ6—vÆ ñýF~íM[LL!þ0oÄ…?x^ŽÃ…«Žº2tDþ`›+Œ¨?¦Ž±ì}6Ζ‡v—4V`O,~x-I!åQCɲwËLH‹Kºÿ˜KÈ?f±¨9„$‘|TÇ—å!íižÎ¹Å¥_du/£ŠD2¯ÝDó)¨ËSçäyãȾR«I¤¥|¹¦Ûû—½¨¶Gµ/}Ñ·ëF"brE¦"—¾-…¢§ §Ü¨ZÏH(e‹’Цù¹$NZÚxë’ï)]/wüÔ\î~¸Clj‡^…냑sºlöX'nvJJ\xÿú|o=눺FJ0Îý¹>BÎ @7:fº|¬0¸o³ç'jI?mJ*ø@å üÅ,ûpg ^Vq2²ÅF@…Ÿ~bŠ…é8âÆ‹åT§x«™ 3y69½M"õÎo¡Y»çž±ð&‹í[ªªæ c‡ôû:É^@ëÀ¶A¬²TÑ™œå%gll¹ î1´¡óã0 L3è©5‚C øÝfØujªDAÝcóœÍ]æa¼£ “õdÝÛ^ž/2bBÓcT¢=.CD &¯FÁ±X0}ò‡eQÏ4Cá@ƒoØôZøð9r&˜—¼»ñú.{‹¬zZ„w)IÊ´Ï×€>·—'š+µÂyXáf 0Ó+¨AÒ&0·ŠÕº¦ê %ñ®49ÿ¥u¨èGÖJÂ‡Ž‘&'$¶+¼‡ÒŠ=Ve"|ÖßáÚÛžfýë#TÄkÎÞE¥òÁÞÓß¹£áUOfKeÿ9ÚјOÃÒ­è˜üÍëªùðÏ5ðßóŽV‹ZԇꒃõTª$Ñç […ñ` Ý…Õ”ÿ!ÓW ÔKLÙ›ÕÒ½¤kÌ| úoZ…6œ £À¨"®©—zTnb‘㥪…Å¥ÃÜPþ˜Ýßñc±÷u 6zÑæòœ¹É/\YH]œiÚYï ÃøƒbÃqî4Õ©*ýuÕÁßÞÎ"¾Þ™= îð7¼×N©&|ËÖ™9é îîmŠ>£´âÇ(!$Y9Y•¬Ö>P¬…{þæþŠPÂÃæ-W“Ài3AM)wêXL÷Ä rú¬Tøa„ê 0Â<«¨F®Y”D+BÅON7á£Ìrs>O0¨šÖÒ‚³è„o¢Ý)ÔŽ\)*F™j+Fâ¹™à`Ú.rR3±-‚rÀë­süÉfðn>©äWÆÖ;Ñ•zfC=PkÀÙ ý}Dý&BOÐø°•ƒÖÎDÑÚý—4ÿ_hÑíTAלWÚŸX~žÁ¸ ±rÓTÜ ¡~l‚«V‘jH™œQ³£¬öÎ1»' ±aT.½9ç$ðƒÑmH­—íí¶Ý Ÿ%]I¬lE•Wpõ°·ìû¤µæmSµüüºB(ÃRÝ.ffµ/kB¤Í11…1 @+pV"âsÖ_(|C®-Xù¢žI)a†¬F´ä2\ê‡Éï…÷'æ–ì**7‰@0 ]‘Ñâ¾SÊÂ¥~Š “¿š'´Ç×Z"WÆÇ "á\ü0–’ 6@d =ª/S©e®<ˆx~'€` Þi5Žñp7|‰8#Â4¡Pñˆ¢SIÿíÁl,)?Û³P“¸~ô4EßZãµ.ÇÙó`{øQ‹ê˜jõN:Ö j~jÅÏ~¼¨›,\OôE7[tEÐŽO¤³P ¢‡ê$ Â%õi3ÜÕHaóÌè*NN—óO4ûŽ›HdvLM÷£Œš©¶©µ“@¦5í˜S#Ь€9Ü5®¡d£Xb b¾ð¶Æhõ'\ÆÙ¬*0~|v™‰ ÊX˜µ *y f3r™ß¤‰Ñ™ô„ð&íP€±ÙS~ɤؘjg܆‰è*4³ Še–LáúbB9S Ø›ðÑL6,5©ÄZ¶JB¶Ñ®~ÌZïå–C< øƒûàñcéMxÔ÷7L½{l`"$ pŽƒzpЭ_GKjÈ%¹ƒüëÁš.`ET"nüQÖBÚG(éךžN>¯[ÀÊwÂ+ÕÈD·(M[Äe×,´‡¯… ÐòE%‘]ò©`)‡žÓ¿ÒŸÞÒ-``kTÆŸN ´NáÚä8º‡7ו—P))¸©6[~%³´yilë÷ðûS#Š4È{óílgÎlÊ»£•—8GÎä„…îïþ‡Œü?'˜{ßóDQ¦¾à¹ƒRÔ)é0“¡tâ«k`tU¶šõÅ®æ¶-üÑU%Á¾•I}0ÿ±q ÏC,5Œéx–¡B٭ꯩË[ë¤o„í?‘+s%åf)¨yÛ ¦ôÁ÷gÜ M4äÕzľ>çö›…- Âr‘ R$í]+ ²½ b=ôÑ'lÙ¿ÅúúÉ•+:%>—q6Cå5ßQ}=?ɱ»9¼¬•¯úB,±)xŸe«°ê¿¥ù¨ª ¢NP?ìåܶîiü8©ÇÌ-$f5w%PRÀϱÀ‘K³+lˆ8ÛÍky‚ÚëG²"·2²¤3y"åÝ=²”µÎq2‰ƒÆœ?†û‹JáeÈR$—&i ®ìUõ»‰™?ßL2*vZS²5„h^(ípó)•b«Àe}1 2@Ò[—ç,SdhrHCÛè@¡¾»ÈØY@…4¼¸>¦MF·WÙ‘‡Gy†U/Án;‰<{Û_k &¦mõ.FY ³N ­çKþ …_NA=¤¿Cý8z§ôÇõº  0!º|ìÄ@Ô£éûCxvŽC¾ $}Òa~:üÔÉQ»~\îÒ†ŸvñÒ3Š_—¶×çð¢õjšt‡¡WGXG•ø•Uuü°ÞÕgÔÎ.^–G_VAw[àH^*«iVÌÖŒ ´mñsüÒWèØPBû$¢ncïUïj#bÆvô±Äo$&5uûzL]êÑÊð*Ó•¥ôB>²íŠÏ´µ ª ‰’U‹LÌÏÿ/¨^ÿ”kVRÏÚÀ¡K_ÍUº7|#ÿWž39²ù-TçáyÖö»žSB ‘T«˜qíªô‘ ‚ÉŒAI„²9‹„xœŽA‚4Ù/éõþ!é@P5€þ}õ"m¦7¤ÀIDÚ¥eT?rh–è9‹Ê»Æ‘üø¤J†\3cf\Õ·¹È~`– Xì5ü¾5L ¾­ié‚3$”4„‘¨L}ûèSX‚ ùÂûEôÖ#\ Ò¢TzC>´•}(¥-*TpÆ'\Äp2 @\ˆŠKÝtt°=B„Š{òQkM äh]ºŸ Ý‰`âdšßá~Ôwm’Æmí™\ÓÈ“µBÙ¤2æ^G=RÐËU½`à=iÛ cDˆ< ½Ë?úoââßå¦,…›qÞÃB6äqn,ù¿§7y1.¸—4æ§)\ﵡm×tƒ¥V½'ã)±¦) mA×údÔqx÷¶¨ø‡±5ü~aL^ÊÌ9cÐ#[+’SÒ’JKîiéù/ÇPÒÖ™·/κYõ®c  =úùX’q.¡úW5EÑÑê¸, pAͲn+,þÐUÜH¿Ð$n½—p±'øÄ$p.ZÆÅ£âÕPÿ^©Œêþ&¼ ÞW¶Ef…â¢CAç«:oQ6véµ»^¥¯Ãà~!Ü—±(:¬ür÷Y&DD-%|·³!°ÿGX㫪ŸùÚN!‹ ýE?‡w1èÿº 0>Â…wç©ÚWe޵p*ê¡>š‡6Ìs&¸Ž QÛC­TïCNÌi$ô½?ç$îÐ"©ž!£ÀáËmÏia—û=~Ϻžº( öÒq˜'uT³Ðˆš|å$·©z-Ü{¨1ï…•ï_=Áv”AÃ¥É]¯4Øf%ûYé·næÖ€¸/Ã%y¡Ã;I¤êŠ¢}5f¢N6~Á´,ÏõÂà%†¡e@ƒŸD¤$ûÎÖy¡øÅ/ÃêýM3ÈÀym{ê"¤ò†¿K¦Oè Œ-w¶¾¨{¾šËF~äðEEn¦Ãue×»E—”1Õ´òVþU´ý:¸ö֧¨eU(S$Q†2ªYÖi†Œ$†kãdêQ°SÖ7s¤m„ Ãà)5¡QÄ"¢å’¦g šè× ÿÑ«ÖaU“Ñô½á š:Ä<«ó æ½ë ÞE¢Då$î#7Ó@újtÒ—³ÇkJlñ­Ýò\áó±É~|î^»7>.§ò_F4ÇÊKüE>ŠéHñ¿bùP"ŠýIŸ#$¨œ0¾–®‡Àlª¤/õ›|s7HžÓÅóãEÆ!cµ×Çט-[¥¢0¾àäŽÝµ-ØŒ; `TzQ.4ÀHÓS;‰Ÿµßn§D„à2÷š§V®ï¬¸ªÑ7o±…Ó|¹û!ý™ïqè5* n6ï+5w`ŠJèŒáÞAÚX¤€£z÷Q„ o"5sóÚœ ¶„›‘žúêϨ.ÅhZ…ðnmkùbÜe"TŠæçÔ}ìÝÊiÈGù¢¸§_7¼÷´Œ‰›E-[`;ˤ‚$©Ë»9wÙ_ÓV¡¬­á#T]°Ù_‹žÿÏKó6Ùøò¿ƒ>ûÒùͱNF!"Ý/­à>r!pÌŠƒq•X§äûU|ÞG@peDÀÄÒÜU[^Á!M‡\‡Œo×]çüOC_2Òzñ¥×E×b¤h6RC¤1×5Aý~Á$‰ñ'ôû]àKrÕ½U‚±®b²?3ºƒÝÕbûc؃"‰ü»ÐgJ¥Ïb žäeéÃu‡|4ê– ÉTR4}a1¸.àý6ò"ØÑƒ”aëï^˜/·5:aKc’zé£Ì©6t·®ÇY{)”ýœ¾„€ݧz8\­Ÿ]‹ÅHŒ»ú¾:„Ÿ™EWTÓÒœ|1¾¢ÿäbOäZIHo‚fYŸ‘&•oV‹æŒ™Þ¡*$UXé0xl\õÑ—P>UŠ•IXÏ*_Šö6ËÛÖNÃ'fƒ¯ÍÊrÇឫ۷rÎN.ùãõ-<ù¦_׈iìIxKƒjïdt¬XŽƒLÔv?þ‰”‡ð\÷§—aÒ|&vlp"AÍæO/€JU‚Ó³ –nƒ{ÝãžW5^ÒW$¹~ô@T5TYŽêla@Ä—m;¯ª'‰Rª°ÅyÙá¾w\ò“.¼Å½Šh'Ì\Pº^íµ\è=äýüUˆìBÖ×n{kcÛ=›ŽÃ5 Â`±Vê,ç¶3­()ºê¬/h`‚k,àXŠå¹k#}{w”Zæå¾]GþØez†)DšâïÒÙhÈtkÕØ+³L¥ ›§ç æwHüÆ3k|µÕÝØ®ˆiz`²àB%Lü¶ ôÌÀ¨ïžÄã<äÍ/s†ëÂ6à3}h‘Í#?¯½Éó«#'E÷óéî+ÆQZWZS–+üòÔâ™nŽ×¶Ò¦!D>›7ÞÜw›=UºìPñØòê¬á’ÇÊ·Êk{!ˆ‚¬†2ævù/60è»^¸º´övÌÁw]Õ.ú nw÷?£1‘eCà™Ô~^4Êî$1|×ÃúgÀ~åS/IJ+Lì9…ϳ€qUCð`Z:³5™˜b#ÜÈkß© ^™J7⟓þHš]ñ$ð1uÃÙä"9fú¥^'Ÿ×§SåG/8ŒÀ¶Mû²{å˜DUDqå |Ä™òmj…Mšu¢Êvg—ú“ñO˜Aydñ_ü]¯ƒT3XM+‹ÂÍÔOx“Ч4Ø6•@ë”nSNsnDüOPb‹†RŠsi¶Ö"¯VJõ ¯Ô}J®ÍÆ=Â%¤xªÊ¾¨góêÜ·, Nk°R„À-Ó)†ó:/\$EÅúigÊ Á é#Ì#2½sà «\âÐg÷v¶µ»ü9Î.u1$qoØHzJhc h¶“Í)&h†žÎ 9²7™ïü|Õ8ÕC”›´ 3+ô²F<¢ÿ|R÷:ƒ(ôn˜ø”g¿¿U]ûIE›(ìãÌPcξGhyßoaÅqø[ W^W0åy˼×/9´èªIÍ@©8R×›nf¯L0˜ ü”[/zÒªpÏ:pV¦jºv7 ¥\÷†©×ÂòðWS/K¼9ðmò¡›ÕJjáZôkHß)Ü«X¨} rp<—“SîQáÖÁœÃ¥ð5On‡? ‹ñ€"ƒ t83·×m¬j“V]aµª­lÞŠ(ÅUJgjíËQÖ‰¯ªÖ"µWÄ•¶Hï'”0(hÃ(ÀGçË–2½q^#§OQÁ¾ ¦ð_%l‹=6š²J®Å&Áép\“²< UÌ—&Rb·½ å4­°Ž õ ¨#£ò€ÌfCp´‚Š ‹Ìxrx3µH¸V¬  Ty™?†åÉ«Éç•e쌿ÊU:6X/8EÄ2è䋤¥QÆ^ÝïZžFÃ!:tKúÞíG½KÔ#`‹1ȤO…Aò#²Ôv±LÏRÒ ˜ÏãàÅn3Ç‚e=ÄqÿÝ ±¯ßg ¡4H­oî8—¡Çw‰ÓOÚ,M Ui’ø¾IõÿÉÃ9uïm5àéo…*|3‡cSfÁhpÀÀ-z"§ °ð5À) Eˆº0Èz›ñÎ"Õõ¨s€PØT'í!È;F•ö"SäX Ø6äó0„¬žý-úXC]®'×F óìè­6¬ÐÝ_@oTd¸.ýÓ¶ñmo§ÈW– Ùa^ë7B”Þå¥úÉ…F˜öô_òÅ¡5ðWuúÏp°¹'ä€J=¼C¿Ÿ ƒr86=.¢)úBþѥŕ‘z¾À\ËùÎtŠ|-@ •x;ß6{–áÒ‚²Mœ¬c ~¶wyïÖ¿§ô€þº ûèˆõr!†bœofÎIkÒ—6 Ä Y¶o³S²€æ…Ârˆ£Éï¨ µ4 RA^ê·ÍÒAÐëG!Ç ñÁÝ<·°S¾ÿý~lŒWC è*$þ½ ›¹Æþz1=ƒí.‘ %[_ðEš!ÄG4õUy’ÎYâÿµR¸âÎw‚P—ž¸]–æq}X{.8Fç–yÚͰ6Çd€µs+\š¨vB=ך晨yí¸øË %ÁƒÊƒØ^#Q1†½Ö^¶ô4áae¤”b·Šo…UŸ•S»q„ "g)†ŠŽ"Ѹtš  $àpdÈ÷ZQÕìÎ6W|ø½q´E·W$m`(BEÀMð¡øhç¼Í[BÛçÛ¶²Zn™\Éa‰È̹ÂõÝJ¡þDÈ›¸­¿#¡šÌ {Ôœ6ßT/É.,v›§TApŒQN7º¿=a¼ÕXxÓÐ,\H˽̫?çŷʾÓw tvúß…Äï2¥¯êE\Yc÷3…EOÅÓù»°“æÕ’ÔˆnŽ{ÜŸù”È ‡Jé™Yñ]õ“WÍ\€ÃŽÓº$dæe^TáŽQ•ˆLÆ Ùr'+¢ƒ¾8Ø<¥*¥Š:1æÁÙé ƒhpòiyùäö#zã^f¦Êc™lwXGóaABmaÎ,†L4]oãjG+ÿbxÞ§c˜‚œ».T~ä&xÛr™Á*Êý¬úpa'×óg·q¿ Nh^¹LL—#µËê‘„xª²3s12‰ñéÆtLÖ ŽŒCÌ7ï4(j{q¦ÕX‚ÇwïØ>®,Í•>©%d3{˜0Z”'ê×þV,ÑH×<ˆg™dø²£å¬xä øqBÆžGáÍ‹wó°·â’%µï±Øê-ÊNtæ™§ }瀬a[ñ)ï‹ï‚‹H®^}°"ršSqó4iÐmµCõ7KnUÙ^ëÍÛTŒ¤¾¢Áú%™†Vd¡ID¸ïàÍDI¢eÎÕ‰‘;ð•ë7àó,£¹¨ÐF€ó ÀMf_Éí6#.eɃƒp²= Â[åšè¸ðùüÎà¼P)È®òÃÀd™'ð¡¸;ÉnݤBµw/W™^!U9÷Í º­pj‹é Õ~¸b°©2«mþ4Ö‚ÅbtQ ¾^<_&ꦣÖÜ­.)ëÀÕ-éb0“˜À?iä[˜ýZ"&¹Dô³ûx¿ÜË¢+rÆÙ”Ò~ÙQ ž&[ª‚ÛÕ¼&^æ ²\¶Ñc¦ĈûÒuPWU}®„!ÔåIz¶ˆxQ©|âImËH s&!X)­úµ:™4'+Ù¬±™š]Ÿ—Œ7¿ôŸ’ƒãÕ0úƪvHi› ÄÉy‹¼Þá%³ª™f4m$¤­)Ù=‡P|”½áADœ[ªÓHº” šD¡hk&TB‘ã6],E©d`J.õë­l ¼€¼Úÿ5N½4¶j‘xLGÏGÊ¥ÎO•x¹ö ôÒÇ•Q;3d¤A—~¥®ÓŒ±y §}¥Á¡¼ò?Cáêœ!lAf"ÄÂg¯!ƒ`ôu§~Á÷7 …à}ªcÍ‚àè¢ -´i¡-ªÁx÷ulJ „F"”e67"Gö8zÈžé ýùš/Ö ;L( t²ÝÈ(ç ˆKîã§+ñH>#û¸î\ó×ÓL=èé^k»¬v/äÅÀ¶äd÷‡åNpo<å+£rM[„ xß…ªºœ…Tùµµñ©ÿ…Uœ«þ¢ …Q}•mhäÚÞUýG’ìžqq`ò>¸iÚV‹9¡Õ4бo›|l ® Z”g‰a`c#΋ï¦öÄBðêñ#‚ClâlÚ¯ñÒ3Q2«Ú+Aï­ áòËjJÏRc!h˜´sïd{§Ä¡B5ä–.¼¤5‘@÷ŒPtÐIzƒf™${¥1`Ù^¢Áå–ÑÎE/tþQ(¾‰.ñ~ÉŽ÷dœaû¿b&ÐÂ7‹Öù–=Ó]ת[¡}Ìz½ÀÀF2àîóö¸AÈ É¾‰Sß–¸=Õ§ékþÚøeÁYpcäGÓ~³]6¯+ªÞ„#np§èÉKü‚°`+[ÊFUý }Æñ|¢žO—í}"äô:ÇV«º1g.öUo#vª¨£t«•ß¾“(³Zq’hµ,}èeRT S×åJ¯°¹Iöf³ŒsþÄi ße€‘øXXª]ÁÈÅ­­6Ñc9¤¦š¤ TSë^ºUÔœˆ9Î8F¦!>{K*à©k¢]’ amnWOlÁL}«7?djˆäµfß Ê¦ÐCŠ2¾I]:Ü®#û¶[û— ûb&å…ÃþÞg HáÉ5V ÐPÇöÚà“á}*V*òÓ±¹•ß+HžÝÛú£[À‘.ìV˜^`)Ø[©h¿Ò¦´Y§Ž·{ŒJ\õxÎô–•tQžý3r®ÞG°Œåî Gñvi΂ãټȸ—Z½sl—W¶ÆµojÙŸYÀئZ¡bÔã@=jÞŒkiuHAü½7ã8ðãj•¤»L]AÙ{6¡] (WKŽ–P½ù¼ëà´,ã~¡ç3QjÁX.0Böå­¯O-˜eVi²Þ¼~†²E)ý<µÁP¾Trµ¶™¤l:Ѥ9 5BÑ“K»7—¥)9—Ý£X¥õá]åµAÁd,ä­ É<’/3WDÿ*‹ %ít QD©[)[bugãAÃ&µIH Åîíz°¶ŸiF˜ç wã„Ö‹k¯’›Ï(#Í]€æÂù‹;R­–?W;Îÿ~aJåõe°«ì€S‹>2DS˜•¤)Gfïpe19Ÿ€»‡5"Îâ T½é«h&Žº¨+2ÊùI/[¶< ĺìWÔߎÿÃoZéþÖ7dÙTöļ4­®K,J3Ör ¦ÜZ‹?"V ¸(þ6ÃU’%öÅy3Ñ ´+Äù°Rí•ëJ"|Dz «Gˆc ãHbˆÝqóÆxÑš{>œ9°jÐ(‡ÉŸØûG¯.uF‰z…¨PÏÙ,‰ª@Œû;…w£‡rýÞªFÊ›:¬ßúPÕÕËÇ‚«=®!ã7ã”ìzQ`m­H†<À0òÖfW¶—¯‘œÔEñ¹eW¶+ùjyýÛô»Q­ïbm]ávã8ÎÑÙJ‹:­ÆÇvBæ!r˜H”%š9u¾zþ‡JŒ^®fû,þvêŸÜeþ‰¤"Û°nY¶Dݯ?íÅÎz;˜‹Þ‘»ö KH39—£³¸‰¢,¨|ñ?îšœ§&[×Çò`þ :ùĔžTÚüŠtmø@â(¢´[dfÛ1= \Ÿ"&K‹Æ/¬kf)ÝßX«ó¥ŒBN×i™koa½{4Yæd¶£âaØ:++ÖZ®Ìü7xÁÑ*Hõýš±SE•'¬Žáš¹é ñ€Ð|QéÏD.²¿f ”½NP¼_‹ 0ÈgqFSàS³5+Wôfï‡|ÀʯÆá•6Roö…÷}x8¤=í×Ð@ƒ„Áq¯{ÂVM@߇á$W4-SÌ¡Wÿ"¦Vâ¶©…㥅õÊóÍL’¿äÜÏát&¾Cñ\üELô½´¶Õ$øÃU3@ýyÉ0¶•Ë·¯-i,‘npW’T:N/&kA.Õs@xÐf!X’0«ö0…Ml§C´¦uœ+²Àµ7½#É䮄”úöbª¹“ç2=5õ1¶‘]w¨(WxûõŽÕ…ƒçe ¹þë¿WXÔüQD)ˆ™_ ¼@z®G ÚŸðu+å阧ov,öQ!¸Ó>R$«è¢ÏÉ‚ýzê£ÔèÀ(áà$®K¶)±ÿ=4höUî@à1òOÝèÄôá»)Þ#tRØl*ùû­jÎ.µ ²eçg‘I umD…R;¦ùÛxÙ4]ý=!Z‹‹cÜ÷+Øâ Á!ì2)í¯(Øüîü®„—-åƒÑ¤ªâÁÚØÂvÆ”µd˳9Ô—C[þs…g‘÷,¡ y„\'”·K¤§Ûu¹r¡óü‹87ÐQ#5ÄÝ!ôåYd”μÿ¥ý5„äè]ÿ}|Sµ‡s…S&§»šônKëžÃçÞ1…27zâôûº ¨w½? ÃáêÃM¼ÿ¥­ÏŒ æè«-ÿ\Ø»XªX«wÄÕëÁ¥ì=¿l‰´ÚŠÒ€ý‰Ûn ô9ûdG–Ô´…ÏõŸ°×1Y÷H\Ä ¡G)ôm»à71jÜŒ¦•ÄEJ\–H+G¡çÿ‹ Â&äH#‘g 7å|žD M<$òæªÖ™bÙBÕo×Ò5x³œºnÚ¸UGl/JÜÃÌ—Õ7‘ã…W8êCj“&;ÝૌÎÀ$ÿ»YT÷†÷˜sÚã_OÃÛIŒ™¿„t/|€¦(`¸PôIú€^ $Þ÷”8ù¹Œ#ÏÕk9NgInŠ¢ò-œ-.Òg›K5÷¶¹sKlû@Ö§ú’î.÷’´¼]üÞ!ÌÜg­Pœ_♋Ür0:qšêS;@ÿæ×¨îpŽÚr³•?VË\ÏÀc_ck]pö<Ê-ƒ1Ay]ú,È*‹fôWä–=,ÁÿAŠ] ›Ã&º;01¾Î´Ý£Q9 ^.NÇ*7Å3ÕÓ· Ù€ûùÈçÈòWqHR£B°prýOy2®- wd.?¹T(£¢`’¿'Ô¢’&q­æç­2nË ”ÃJÖ‹ùûåpÆØvÌ1XiḬà¡üEDSLbÎ:òÁI "¬)Ä,«•k¿7óYi®¶ÑW›Õ*.ïH&R.à¬ÀÊ«ƒùÄ®2V¦üN$$¸a>.e÷f†ÿvþTûѦÄkŒŸJ gßdp êW·˜É¡ï_á±­é#›xL8,Ç œçüöæÇYŸø=_⽈m|(óÁ;gÖa Ï`°GìQSþjµÊÏ€)mèÇgP *û>+•å9¼ ësP»ó«.ã1íÍ®~Ï„´þ¡dß©X‰ƒÐ+Ð& ^Î0)²ùZÊ$bMz ÒÛ¶îìðèó3Óiú¾:‘JO—Yo¯ðì$u­*u*4bqâö0Tïy„>Ë…¼Ùœ>:Ù qú³á%ñ²eèÔ¤Ìlâ[°ìH‹,ÂMä¬hü!xÝLPt)•‚y]~ñ àϱ9¡¿‘€{†J°=@Ê©![±N ˜¡±xÆ_}&FÊã¸ÿÂZ¼PòEí¸¼ê Èƒü|K¶Ï,›†vPUõ&ÆWFì3ëwâU@“@jሂ±lË“Ô"Á`â̵CpŠ‚>b=±U—4¯¾QƒòëJºéS]ˆ­R"™]†ÞoôX„ö–U+õuÏ›…%É… i{žÎX[¨IœÌTEtŸF¥ãËžy\yVI=d—O‡‚®6òM•ô˜àõKã²ðÙ“UˆñÆx}MóˆÇ@£Úœ²ÿù;÷ój5‹˜€s[¼îŽº³/6ÛÂoKaå_á½#iW=}x¨?1=qEï§–‚ ·™îè@×7vÌÔТ@ï¼H†=2Š6M‡âƒÒ§onRjôƒI…xOàÆ8yP;»ë\ÕU‘³ !3«Ž¤ýÆ„îÈÍíZH0 a¾æ>MjRW‡ðE¨ÅMRžVöiÉ/ïq—”ð’öÜʹž’Ng´?nÚ~`´ÇݽuaýÎ_™“£‚wò‹¡ªf?Er·2{†¾ðÄék5FÌ!¹FZò+Œc¸PN Q&Ó;‰‹šuÿõΠ­/V"Ëõ#N’ñD:!MÙ€ÑÝPfkö»Š7ë<¤½1Pü'לÖ<·‘ÚpÔ> ÏœsíA<’×§Z,°3/ƒ0J`3ë‘sú j¾T(Ó,bþf´÷y3#˜Ó!6kµæ8±g\×ÅX³¾ÃN°Àyšum–ú¿¤ö¸Ov‹(¼>ªÅÕ *ÕCµ Œ¥Ú–éc~ôÐÖ½œ×îÕ–‡ð0öÈUï²<²›ûD–˜–3ÑqÖ"H´ù賂°j¢1ItûL»¦2GäºãÄ÷è´” íìvo©X= ¯æv‡ }¢ù\ÌHöo8éò¹ÄUÚF†÷#}ñ™û¸œìÆërUƒUÖ ò\ÌŒ#}{Ň¾{s£šöåÃ2–éŽû\~«ëHê?ÌÉKTé7q›Çl÷¹K¨zål{’NSÄ@RmçôÕ§æZ¬Òe¼/×[lY mKœæÿ/zßÈ×qÞŸrh›Tqäæ@9%^(/"{]¢L.ükF·âÕO8Û±-6ŸŽÂNÜoæ ð9[ždÖìo05¸³Ç•BßÞ [. €0¿äù®@1Ö!Ùü°‡›ÂeüÆÈŸžä±a½¼ xq ásÑõbQG( Þ~‘Ú@"þÉ^§Õ™ò£’ãØlË¥Hø7~ì÷î=ö¼ô˜(ÒlBÈô›SﮂœïÍŒ›1’òuÜ1\ï†(¯rЇ³N¹-÷ÿ n„ÑgýþG©ž`ºì𝑠ö®gæ¨=9]0ß°9ÄæÐàØŠXbäD°As€æ4©ƒè¿M â|B²'¡qÞ¨1ñû‰uˆQ•S8"”¼%=(²¬E«ö#³Ñºq‚ôÇò*_ú@}¯("FŽfòÖ6«ê² Óõ*Ö”È"Ä¢ÕogîØë6†™AT‰)71˜0ÿžæB|°iL,Láz/…FšyÅŠH¼¨µŽÈÈhoU ;Ž• c ‚Ù‘½ø‡a4-Ëk%V¨€• [¾M’«Ÿ*°¤°òü(”C¥™ã”88"œÄgÙÕ\‚<¯Û#_*dB7òC/µ[ùÊëð@ýüà?iVa¯Wò‰™çð’JT&|±®gyÌ(ý{ªðñ¼ß‚º¡¿pߪ·Â'¢™¡nßW%Ä\¿Ê§½t*NÿWE Ð½Õõýõzy š³Ñš><üŽ'Ñïhͼ ¶õ#Í_9Jp¼Î½½ˆë#.÷ôè<üͪD”Dj¯z£$–9¬žšÁë‡N» Ó^ÑJ¤àùɤOÕ^Š‚©âßX¥é‚ìȺ]Õnµ'¿1–±Yž~cú·ßÇFsÔŽàÈå7Áõ>³œÆp.#ä#ñ¼]íÔ- ÆazQEœŸà^•«@{†1˜X ¨Ùl ÕFxKMì/go­§Pƒ¦9Ò¶5C|af*èõp|Éôk$ܬ¨,-ÕRño‡‰¡ŽV±;O!®’E* Ÿx$ë¨v°ÒÖU&°3¸oîz î-z¯?øÔVƒVA-Ñ€ð¾tuô]xÙYL½;ñÙôîýÅaÔæŽ2%•–¡1+w™Ð¥zFÁΫª # êIZ^¡‰âxÏm6 ùéìòšPñ¨-o°AlÖm‚Ex»dǿ电ìyML»qiŠÛᬋé¤JßÉoMŽç‚ˆý»8¨Ñ#„Ü 2ˆìöªœ-÷` G¬ê\ò¦£S&?æ—~²ð¡É•fþoÐC\ÝžôŒ'<m P+t ØÐ½¬&0½YJ¿Ì@¥JHµ J›Ð)ú…¹C €Û|;¬*jî¬+Œ“аV3j ‘ÞÉ›``”»í¨æ1b"Õæta| ˆ(ØW)ñI„Šb.Õ{² 6 .Àê(œqñ‘çë½ÕcØ”“ö7r¯øMi**F놙º‡ÜVo‘)ðOªß’×ËïÐzô¿ºò&Ø3 k"OøªÁ¢7jµZ™¯²!ÑáÕÄK›3ÍïŽ txïþÛMëðz„„ VÑl`ºV÷á †ÂŸ7µüù(ìL²iýlߩ׭/,‰}&d:²n“*êIÕŸwyz_îeùº÷ãËþ„R ³–t«­f³{Vïª.ô#ˆÈÍɄ٩4¥ÂTÜi¦nSûußúiZmRc|¢qŒà2ñ‚¼\G~‰WÉ:÷z«èiPMšâCX •¢L¬è¹å"ó¬nï½e½E<98í`$¶ƒ,Û%Wuè”ç ¬sW;¾=§<›wy¥mt[ѸF·+Eu ½R@_¡×ð#2ŸÒj+ç`RHDøyåPüÒâŸÉ4*túd;Yå/ëäX¤ÝµÎVA(œŽcÓö6þ"‘'´}òoáŒjGzU ¦ñ‘6gT™¯§AÍ„,«I¸6¯ö»rèž@‹z²¸X]ŸÅ]ƘÆAÎ.éòï`óo2P>bcûdü`îÞ km.={r¯ÌM((ƒY ›1v)Q gE%Q¿PVÞӘᷛ~ I$s¡†ŒÇˆ2cîGö§Œ•Þ|w(ä?„BprsºÝéÔ³dĵ°ÁÝúÚBv=¦ðÜDt΋ßÓuÛœŽ ÁçHŒ1˜ž/5dÜÀzŒÑíT•ŸžÚ*ùa|§>¨ÔÌ=ÝEk- ×?æ±~ÊÚ´#i‰K4kû¶EgâBK_ÇŒ ¦ñ:´µêg-újöÄPk2f\P ƒ’étpÝð4Tv }Hõìw&Z*×bÇÔ_˜®þWùLǬÎbÃ4© ݉j€8êþò©‘~¯8¡ük .ù¡I!Ë|ôBe©8ïÓz¦ÚЉÛ'x Çÿd²–Àɤ{¡’dö…_ ´7`vm]{ÜAÆš0ó­šj\WëÅŒiYg]*µ†?ŸFæQ§´™Mv(ˆÎ€Ù &öØÉ”¹Rb§4r½2”FZ éYS˜«ÛR¢7ï ($UàVj§Ý åŽVÞ{MÇDò#G #ZdÏÎ ^‰LDIqý uP’ÿ4GÉt–ÍU¿ƒàMO±ÙßsªOfe`Ʋü{?ÝŠû/÷ǽñ «wóŒ^5a£@ô—m–($ œHyD ל§ô!ä0ƒ¢íëwÍ:= ³ûЮ`{Þé$É6.£">OÖ³iÂùU½¬ñ9†ÎÌ®8¬ý ÂE’fáHéÄŸ¼Ò 󲋨ɮ f/$L  ¢yÀì>pöWêå%j©ŠùΟ€Ç‚hVQoã•_~ˆÜ$Å®w•rQ”Ç”ÿ ·Ø°P•I;î7!þè ‰v \(޳Oqÿ½R£šØEá9²ñ'¿A 1*—€ éŠìe·áEÇæj.ãõ~IæñÔqåŸ;…1bK»ö¹Õ^ŽAnžÂÍ „ÚÏÀõ›ä÷Á¦_.‰.ètüZ±Ìe/"ƒ P$ƾ•e“£õæ½ ‘oÁãRöþQÆäÉFÈñAçše$2Gd±Œ·‚N{¢s¤Ô¿ü“óþå\Â7Ò¶»çfŠè\’ó,cꥣa_BS•~닚pÜéÇ<ˆI‘~™§Q*_aŒk”! €er@+Y£î=BÖók &»j«ÁúWÕýwÙÌÐí J#snBvI›ˆA¾Ñû óJ=Èúz²…‘GˆŽ7_à ©¸VnZî—âÑ5 õ#R ¦C„rÒ8%S•(ÈÛDÜNgLùµ3L†ëʤS&p_šžTJèv銴§gµƒóâkCLe4èã2!›Ž•goYàJ!'í~lÄ-ó°uì{s Eecé2rb¶Ÿ7çSÖëÈuBéwtž¨}Á ôж¡Š7•t HÆ6;NÔɤ6­'¤;!!ßV1³¥ÑóOdä—ó"Zî(ÝÀÉòÌåˆ#›íÕÐýt'P=]© "xŽZÇ~FG™pÛÁÔY‰+[›Â» j|4ÒB© ø!¤ w9osTÊê^ÉÍe'Æ#íAàÓ4$u˼É5–OqÿϱyèYE›a§DÚF[K­ZVêX®lJÜÑX–+põ"Óa·e2G$'|>²¡-M¿À;¾uè³°|wÕåQ!xÑŒ+“KJ"²ðx/^®Êw ™˜ëä!ì„S^w`ÌG½¾ªô™M®’¥9o±Î³ŸˆGåMÚž»¥ïx’“ÞfùM— ™‹xM.?Rȹeó¨ð¶€w Ô­ÓkyÊ¢ó¸´ÌœJz›á[ˆm÷´5JƘ ¢F}DH«XZÃrq”îMð1!¹na1Ìhµûí6sIœ•„ º |vVä5!út¹ðsgà]P„6»šùÓYm·®Ó —)âR¸‹å”Åü¬$Z5£´Â®É…ù3‚¯¹e­QKG8| ›k"1@GEó–%×@ :ãh«gd8?±Ôèl‰‹ä;,§`oç}YvåtwŸ…ÞrXö8ÞÛ^¬Éxÿ=÷Û*à´ÝïØ#XÕƒcá²ÜîâB œ¿5âÍõiFlœUlÝsýÜøIé_¸:ÝÈF¡™,Gð”8/nÍ¢í(°-7´·ŽÙ.«Iv˜ãâèfo!]×eeÉÞÅ‹Ï,79«$ñ „Îîƒô áö?L$X@²ñØuZ¸š¤üéO"e1~µ²Àî A wq ÇŽBu_hÒîº,d¡rÿÐJFÖ¢z4Ô;Ã*èÕ·ëºÑ±´wiÓÏXU¶£Žû™i¹J˜§›5v©Éú’a§^¼F<\ýp9ý7¿Œ,ƒæ9Í"ʲf#»$ê¡ÜDŸÞlLOµ¢Fâ¦U§šl¿ý,^E L?:ÜRSﶆ].ši¿áæ‹Rj\Z+j¸\WG³O»4ôÓ;›ë!°£1qEîÓq!îÞeס<äØõ«ƒÉ|BÈlndú¹r.Ù(Jç³.ΰ'ú7ÒúO.¬Fèê]yùŒœö{Áô7iÀf¶qd‡½6IažF&1£ä!ðL‹èøãT_˜XÚ~{´É ìQØxÚØô1°\uIè7ÃÀwæ””ɕݰ‘Béÿ}jŽÁ¹I¨A¼À¡ëZû»EñÏcVÿ§~ÐWÝ,—(^±·"Š×}çÙÚÅMy;lôÖé¼u/ïáeeiÌD´ì'¾å òÕ`xÝòæ*ð…E1ë4àŸ$¿"HP~È™‚—|Ùm;©¨wÍf¤älêrF5ÆõoË¸ÇØÒݯ`ØV”bÁDò9jžÀÞ¶øê®Š0^£àÌÕÞÉ)óØ#ïà×÷_$q«Ê²•¥¡ãèqhKBÎùf`Ø’’œ i¾€¹ÑÈ»°4ðOÀߣSÝ%0Á8ÚÔ‘ïäYÛuëû­®éœC¯«y#¸,úä½%O¿BÛ/Ó¢ÛÊr­ú¦xä¸ûµsù Þ5xfîtàÇ!3ííTU›ò©œy#$zYŸ¨Ä;+U{#,mÉ®ißGÁ#ühê÷âYœ’ caØÚ·n)Ÿã÷¯ròöÜA†P8Öl8ÖúBèÞÐÑÕ¬]Îl]LœB À ‚Ë̱QÝñÏŽB‰E!šPlã^Nq1²û¬H´rÂò²”¯L8hÃÆb3{æUØ š˜Æ&ޱû'R”Ag¬`™ÒÇóò·‹I[ù±8âNø£Áf°FŸåšÂ¡ÃúÚ\¨R“g'¥ïyy:µI8ý¶¬Ë/ üê+Ô)­k€¼ð.@I–¬w+*5Áü‡}±ä¢.Î b:: äHz¦o¦¶«ëQ#Á‹\¤v¡9°K¡VÄÆ§8‚$¾×ˆn¤°%¤^À¿H?ô¼%( Êtóå׿¿+!§{°“ÉJÁ²l.ñÀŒÉce±JE(QdøÒ‚A«¶TmkV»*9EUÈqRäzÀ›a}½QÑË$ O0©óòŸZ1W !—ï°ƒRä‘ŧ”¦õ·NÕqûMø‚§ oM¸ -ØþÕˆ$lkFÔᯕHXå)‰ÙŠm «b‡ƒá{ZߥZ1¶Qûº[Û?ÙH_ý …Ä>Ô¾/Ç@õC!PxáxØê!¨ï<Ò²ákÏ-­c„<>+Ÿ ¿ñá´½›<¦—àÅGÿÛ‘XrcVð‰±g´ŸDªX¨s]€Aíëztî¿ZFΪk‡©çaé&éz>gáûB¢j ^_±YbŸ]ˆ+¡¡ápxgÀom¼óãÈs éÖ_༻ÈíWÿ¥ÿN\¤ù7õoVýTǬ°e†‰Ïš®ð‡"¨£Xd5qèŸkX*t ªìß&ã•[&W¡]qœ8 †r/L1÷«²äÖ¼U×uȳœïÍC;¨}r’%f·ªˆÏü»î™Ç¤åÎøqžxåТ6zâÇ| i¼[ã‹ÃÏÞc'ôH“Þ;°V.PÌš–‘ÏÏ6\L÷/+J¼fYç|é e7\ÖÕÎÙò·iÞ 4Èg¸q™ù«Í)ìܦû>—eYY¨;ò^A«‹æßRU”Kxk—%L@È,¥ßnd !nB©Ruýìl^Ù|´Ó_'¦œÄ‚cóFyPû–M. ±Ð?Ê+ŠÍ*V¿¿çuøò±½NëËŽ³¸â“ÙhK Cƒ¡ÙîØB6nÚSݬ½â‹eì·+1]e].ù¾y®,WÞ„–Ñ‚ÿ!Õh°Rz>"œû ðýº_2ùó5]—ùy¦E4Sƒ˜Ä+YDxaÔÌ6µ?çñ0Œ½Äx(ºeEú#“LÔT¤Ôé6;%}̪À¢É¿ ~ 4‘mŽÐ%ð ëÑEX³fšî‹ÿfñ`Or—m×ê–'«ç£zœv~~ÀñN? õ¹õrÖÏc×zžS½z'CýB° *¯+Á^윩X½B½1õ0øçíL™3R7vÞ<–‡‘óóurCÿi¬‰(ìXÐ0N§òˆÜ¹ßÙÝÌLR³ÛŒ.ñ’$*ÆÔ¤¶|ôÆì3_ìtµn¢º0ÑÏr"êSýî«ÖéÒ<ârKçRor#9§xÓÓÅêkÒ9Ü*¨yÕW 7jü†NjXn}/sƒ±ë¡5ú±S øÝ÷ KØr™]tN%NðõÌÑ#€Ë·êêõo”§Aš¼w¢&:OÛŽGEß:B5ŠÚ 2 Eôm?õ[„·lf ¯°®š^Ù«"òöÂé‹bá¿åªvïtFu*YëüÉ9ߊ-«Ü å=Sïp³^µÍÐdk÷éf‘\Ú“rzý0ÅO¨‚ïçSþ«½ÄZûІ‡)Ìã´!éõÃM×ïP@Ÿs.cÁqãgVr|f ­3:‚ïî‘Ðzo}"`¨ÏÕ|^Wt£+iæ–‚ªPýÿgL[!¢Oè&ùˆ¯¯:q2á×îÏs}f¸¼É“&Uƒm%aSP)ò·Í÷NBg¯Å_Üg¹¨ÓßÎûémÄÕž'Â7Iœ$š×ª ‘JÊÕmûõ¶9'‡¶î‰„Ä!-m—ÈbÏ\ë¼ÇqpJ¦h!ƒ¨Oïß#W\¸› -M½íº„©ç ºv@\h –Î 8í<šÌì ßräXr‡b*Õf0`÷È^‰—Ô-aîO9KŠ:·6lD˜ Oj(¶³vª†|~¼¥é©`ÝË)MJÅ®> Øvìâ#²¸Ù7q~ K£„Òª"°ñÕüªüÌ¢ÕR2év1JþŒãËú—ôP0€IŽ u›Pv‹…¼×äçßõ‹xy{£÷ܾÑåLZ›g„ÀÂgaf^JåI1zÕ‹æ>„k æ Ñ„œBÒì`$7=üÛE9,ܰñ•Ë–©/i²'ß‚,À•Aò¿8‘²Iæð*wO(>ˆ¸däüéÙµÔøsg™×¾Å} Bà I œ¬?¿m>L•§8÷c!8¨ôPV˜_LÍÐŽ tú.Å’Þr²գÒ/†êJÓo0“T^KòàDyž —Øô¯›§éd‰ 3Qß ¢&XxéálÍÉLX¹uè‹vçÕi…FaYŽEÔX6ÑK‚ kÏ‘‡ým!§jÑFûEï  —î°YÄÞ9v²üžpÆÆœ/˜ÑSŽ¥×”ìóœV6ÔpÏÌ?D—WÎxé³îà^é ˜áxã^Ùž:tή.·^ÙQ&¢©ãV£/‚oÖMˆbÈëH©‡qϪIK|o¯Eg XÐׯÛòBš©Ô­J÷ïï_ˆ6#!t˜†ZMPãsŽ®#Ì‹ì}‚„»°käÜ)e¢±W;o„D˜l ff¹3µ©b nq-£'ˆçßÿel`bloÉ©EÁUTkùc>Œ”Eu&*0Ÿc÷¤x÷ÁDà« ïÝ\$ ‹å¼Zç@•¢ÒƦü³o7cdTqtز”±ÎŽ(ÛóŠh‹*¼NÊÀ|ÒÙ¸Î/‡Ð¼âH騗áã ¬€{¼0§Ðwn—Þ`X|Õ¼|þ?7féÝ2î§Û,Fd¯Fñ,ÉŸPíEƒŸéo½¨i1J``ÇÍ % D¡81‡Öäìa¹D¿:ݦ:ÿS—p%mϽ Âmgû|õ‚©Ç)½Ï«ì†wŸóX£z.PУç¿G‰Ú°¿ìwÓÜ¢„ÔõMûTÂeGŠÉ>怚D†ü&‡è÷«ìþ\Î¥9‘‹*´1*kÃ!шÅ@Ý+ísåä ðF]¼iÂ?Ãyõ‰É#Œ«ÇÇý´šAˆÎ¥‰û»Z3ä:Á_zNBË;]œ?³aÖÖÛêÆJ°lO&áúŽ»Ÿ5ˆ ѵñAn3»l~)4¿LŒî¾âü[eLr+í¡Ó(!¼QŠçQQ€R’寀mﻦ¨;¾ôµ É—&[†òìÁ¼z!åUêˆ(LhÕ¯0¢ÐöT‘í·¯—ÿHS u!<&ø–!7ÃÞï'Xúw]vŽ’/° „çsd`9Ãzû[Ã×Ķ8«ËÅ鋦ùé¬v4¹qFº3fQJ€ëî\ópïxé•FÏ@p DòëkÔ<^ax¹nííhþþaÖ\ô—í¿OÆ`gè_W;'øÍx9Áˆ]Ýùà  ƒ…ûzýV,cº÷/†VIƒ$ù×~ŽÓi nþضYo[NVtE*àþ?ÛUp{ñ. \ßuè…‡ôlìÀ8/ ¯$ŽL©* íïÛÞzÃ6÷ì³jQÍ2È”¸V‡º!ú™¦g9轄øKê#bޱ&áZ¼$$ßToöå·Lé€Ó!i{–­Âåñ4i°V+‰Íàšžt…¾K?fó<*Õà8 ÁHÊÉ\mÙ[2®¶xuß}6§í XòöÇ‘r||Â/€qO»à8cjVQ>´x1C<èÚvÄõ1¿ˆÞËÞ k]¢'½‹~B¯I+ÒªÞ}ɽ» ìséókwûÊ™IHífý3Á·ŠéÎP«¿H·7C$³±œîê]ä¢ã JGÕÄ>:]Ö}/õÊø×4¾¨^“sßå)Sìú›ÆèÝ1h›1ÑB Û‰÷óçæ}Ç1äk)'o¥a&%LßFÙu×ëjáJß×Áãñú¡øíË,—¿WÕûJÎ_.z(`ÍØ 8—åð’­oôœŽä·åÅÍ~PŸ8ì_š¥¼:é1a¡Sì~ÀÙþÄ$Tëwb±@â5ùkà¦Ô ØŞ펋`Ê›cmƒòÀ.„‡iMT›š _m AûqºM7&¹³ö¬ÍpF¬ihy]?†5- vªnW‹]U uÊáÜ‚ÈÃaÙ F[ébïü3“Ç•ˆÈ­_ Ù¡ P‘Ó¦Äy tTm ×âE½ÙA³ýÑ1¯#6¦é'Ý…³:’Î/æ¼Ú],å•¥RZ\B–¬Ÿj4êXi®#ÒË_¾û`øÐHŸîèòLÀj½äJ¼¥&ò[sþC8ÃÜ6‰,bWüMÞõž¾ÏH©”GU9›0·´-bnŽ¿ÑGF<g:m(^Ñi¨ËNG ¨³pñnv!𢹒֨l_å>¥”+Ý݉\|6«—‰Õ‰rð¹LA.¸Ulïg.;ü35¸ "”.êõ0ÀÔ)«²Êt8%#0ð°KF/mˆ_Zœ-*ÝNçýMÍÍö\€dèÖôú£ŽMÆÄŽe¾e¨qØÌk%•ƒ,Àûºus˜©C¶X‘Qê3—~\aHÓé¦Tƒ2ÕkP`qIê Þ¡§=ö4¬úROô06Ý%°(Ÿºql˜É¥sAÐuU*¡R•ÁÞ§ïêT$pvþø‰êá+ Q°Y‰NOç÷óµîþCûë‚›°öïï‹=–SÓäÇTº“7«¥"§·ÆZêg]𛋩éç)]Mø0 лݯWth~5´jb@R´§H¡óåi ²h©þ™ŽYé›Ý &¤Vu[倾<-ÃyŦ@ËÜÏÉÌ(ÔÍ2YãÒü¾7/î…¡¬‘•öÞ\%A7æAã }þ޵"G ’AxZ[“ÑÂ]|˜qWÝ-½¤%½t·'²OXL&ˆE·¨⢯ÑEš`ÍZ>Õ$J¿ÛWø.ÆIÏSí •zdúÔr »À0na&X¨3Noã÷.Mô”´° ÊÀ@oÇ×ÓauÒXѵˆpG4{Ä2U€ÏèyÀÊÖKO_?Ýx†ÇméåÁZfIRçœ2ºÈÔx¶žÒ¨¿!e³þàÕ'ËZ:ØjÀáÔ=-¾fPs m„Y&L¥æw+ lÌx¸NQ —ÞÐpëÏ7¥‡â-CÄW[z\ç 4‹N_4ï%Iß²pˆB 'Š]¡ öÕút(œøX^‚;~P¾û¦+u~,ÉDå®×uïúšs¶õÉuá=çÝG?•lŽi7òVK8Ù«*‹bLÅgk±ÑYû?&ATô0°Ä)_7öló­C%Í+H"~"=§1HxL ‘¸ê†HêÜçÚά×àGô°F ïòa6<Ü×BçCb_îÉÅ~šk6Á?T¤”Aå7¤ ƒi»ñv¶9 ¿Ò…÷ø*pV7*b{* Ï5Z‘õ2*÷«¹PI€dR䕎Iûœ¿§Æú®à÷_A¿Éè6ü»u¹NÏ1UÏÂÄ 4°8ÙX‘^ïìRˆ1“¡ßÊq£½°BõÄ”¦bd0ƒ3ÿç!Žïäƒo |8–æÞñ<:ùî9²ÌüŠî¯•a‡Cª•±?µ_Ï šûä¢×áÑ''—¸ýft£þõôÏuG±Ž0º…œ”BN+ ˆÏI .Íúرˆ éX†þ|±ƒÔ::–{d-_4ý¿V4GD5"è/nàôzï‡ÚL²hШ?âŒñ3.ïÃN®ƒóÔJ¬¿wP|ä&ca÷1'þ·`ùãb¿¾þ,ä¢e ×B˜é3¦NÊÇ4äðˆC`\Ñ®1@,y%gâܦ Í„mÊjžÎÏ¢õï¢|t蹂†DW8ר¾PîéR˜¢6Z£Ïy+Uò²¹]­ :L^#‡ wج.˜“^p$|–“jŒ8­¼òm£<è8ç‘Î;}pz£­•þ¬ûNs'üÁÆb;܇7ÌÂm@Ž>yômIŠÙl§½Œë¡Á¤Ù{@íY<[¤Ì&óý€H ĆÙ};"g 1ÙïiN6nH'¨¿äoVr` ®JÚÐÚúœUK¿µg3) °S®ˆÝ…|pñœ´Ég™€]ZýSkZ‘G S`(ƈø3ƒŽ2ñÁ…dõõ`G̲ÓÑP×›ë™ê#DœbÝcÉЋ˜ %§N‚1Ò›XzÕ,Ü~míÈh¯áAý— -’aëE`ÒÉñý sfÅ'Rœõžj„VRŒÖ7`3_§ ³´ªùa½Å\M„¾pÇšFÅì¼øææ¶83˜÷ÈX¿–ŠÊ›#éîÑ2* Ú&Ô×å¹Ó…'…¯dÔ7°½M‰U ’· p·%¸íÀYßAåèÒ€ÀfÉür¨Ð)ÝŬØÒyÇd,iúnœ] o~ÝÑs8¢!Àxë‹•[±pšŸ´#£Å[_Àc54ðC_½¹EXoª#KxÎqS˜¤¤,úh£Þ/âª2N¸žYf‡ŸjÕçB˜i´Ë½ø™ ±ç•W¤BQ|h÷±Ä" TaK ã¡·Áó™„S)€<@\ªdÐè/‹áT–é¿9Jäû( ìb$¢mÆÕØ+RØæÞ¬4Ÿ6Tp¤Å®rÒ2Ô‹üI}Uãáï¸ÔÿÊPbƒã 2¥·Ùº¡ÖT²kd‰— D)È^Ã/4Á¿öNÕIðipIqˆÿMîÉšåàX´í¥H:¶$,!gù¼XfùJ’¸ v¡Ä„2âó_QÙ-$†¸ž/V5ݨ=}ºyÙÜábùÞ§xƒè—1…¦Ä‡-²µp…“Äè§¹'©ÿИ¯Jn·§‡:"°!(uû¯Ð¹ftìVç•àcáLP'*Í›pÉØsd †›Ûˆƒ—²òè„+¢Xv#ßÛ<·v=¸ÂW4î¤ø'‹ƒúóŸëªÛø—ì9Ê;‹åx(Ñ”þ5'[_¸V,¦8nÆÂÌýNõMS‡TóÍ ÞFjØCÄ¿T]’Šv ÊàÅÐ’’B³cë ÊQêê>Ê_éžPë`Y¨'šT:S ¸SIÎàE¸éÈ#êÔñÙ^iÕZCëQÙç°VKŽý%ó¤ªUî|Rº¿ÛÇ€’Òr´ìŽø[V,žG«4í9Wv¦¶\þ q”’j\ñèß%ö±µä$Å %kYÆiifAÀuÐŒXŒ®äåV]b0fôÉ™ÆAYÖ h¤3†£«ô[﵉ÊDŠ¡÷ÔÌðq§`1Ÿdk*¡ß«ÞÜ­Sëi1½ZQå™ N#`2ûµXŽW‘Ö {ìaÝtµp/VZB(kÙ:sn…NQ÷vQý¡û‡>«¨YÚù.ü$Ë;ÌaíÊ vV¬‘ÛpOÛ]>)IµÎ—Ò…+ø¨‹{n¡0GGTÇíŽÈä±É\C}#›”iU•²žPiø&áK!äÇß šRÌtI»ÿÚÊ,ÞC]€‹áÅq˜‹bfH,¬ú\M%[+¬lwpà­C¯1!È©"ÍÜÔÓQñMç¥þàÍt˜&ºËª&‘aE#p€Žue„—jÏo@Cl‚y-§ÀS>ÚÚÂ| |tþ9ñµXƒ¶©“b%iô9ŽþüÄ‚¶™¶«ŒеÀ 讘©‚]¤©º"»?©bEŸÏžGz’¨áÍ´éÒîôûfX֤РêOC>ÑŒzkßÝw{§;{¼õ£JÖšÿù3’Ó«ŽŠR9w=v¿5u"œk rÇ@U¯AŒ /uظ€¹›¢¤$ɰKg|­vÌè8XË:ŠDÓËGqh¶î òÿoòxX2‰4‹íˆú ®è¨q¿§ž½ˆzF G¬2 ߈L0/*ƹë¯{àµ3˜¾„FÆ<üt}\‹>4¦È°9¯°„ad='P¶ž9…•¼¿Íò=Œ)ä'·zz×$¼c”Ì&‹,ãáz D³Õs«˜¼“ÝeÏ‹ß|t‚mE,á”-Äû|Ñ‰å §()“Í¢³ ºà‚jÝÑN:I'Á- Ezðô ffn & í\È?-6~7Ç&Ø?»‘P¿3z 8ê̿î7ÛN‹¡#+„Zy©ì‰ zÛ(rs™?¢ÝÆï¬‹]˜ÿ¥¡i˜¨ü`W?תÝí`´C~â^­0b…¡N(Pòh&;£Þ`P Ö¶¯##Ý( K±› ä4àCDìêÈ)TNHhzˆ@÷ËcQó¢žëO¬û>ô­i„×À¶ ˵-ìÃEæÁ2Õ“^AÂ[B”pSäBÝé‘ν6lŠQìæ£tð;óoÈô­…µ7@ººØ/÷)6üÓG¦Òtø•EÃŠí´øl$6rÏÍB` Îg¸uñ,šµgtx¸Ö-SnPOoÏ[ÔB0ÿIÙN œÚü,(2mÀuA£¥ä‡/«â*P«B·G/ »2+¸ÚòòØðnL2pœŽfýÛ<kØyžÞSU7úù‚£é”ˆ2®4½©’j×ñæàFT¯9{¨ñZÔÿ/¡¿[]ørÕ i¶ÿ…ï]¯'31Õ^OôEa‘Ot£šopÙßF(è+’7Û+µÛôuƒÅýWÓK€2ë¬ú+óS‹½=Fñškt”\.ökcƒ°ù#ö Œ&D£/Qô}Ëç·¹m."qjf²¶»ÊVÞdì<#’ÁuFmuôµ,/·ò7ÿ¬¾â´Ygä[š/ÙÛYíUõîôb·3`†XèE"¸_ƒöõThh˜†Waž†ï=ê + >äø¦2à,â5$.ù¸«*÷йø¾‚H,g­…BMyð*fEá 3òÍÕ_ж¸Ãõ &Ï +Š.oOÍ;{dzÓËmÁ¤SÅd«ïRL”ÒVГðLÏLŸÆF3vtâ¡ÎNës ègq¨!¬zNËÀ n‹å¡XUg•KMßO©Ìê4Ñ· Ûd8q:šT ²lk§GÊØtxPw>?5ÉØ? ¶( †þ…6o°ñšÇÃ(`>´ofo”{Ëù÷26?]åhŸéH¾ÆJ‚ïÁDahcéýùqŒ^4 Xƒ=c²ªº€õܵÍù eÆã@ãÿ¡vÅW誃ñ€£J)îž r³læA6†š E‚ÑqA¬Ú²¿'¢jŒCtSØöéX0êÚ³GеNÎÀ™qŸVîxäæÜÍV ¶óì0B»éïþ=?Žä Ĭ¬Öõ˜çM÷Dïx³ÜÒ‰h›º6ãÅ…5óÒ¼]6îÿ ož ¥É. ÕU´ßéÜXgÀõ´µÙ@¬NÒfbxêqIü«¡ãå[ „]¤@Y­r£ª‹€—23xà-¡!w¼¥ƒ1ª—ýú‚\\GH €Û¡K²,wbi=¬§ª-ghF=¶eÊ„òU´E–QœÔ­³(LƒIZMrù{UÂ#ʾ5Å ÆC|SÞ§\Kb-®nsjÈ’‰£R&Ä8žÈ4 k›_†£œjoA SEÇ<¹!N÷jóýȇ©)qFÊ%‘-.‹}x ´\[ÃÏÔWÝPZêý$`P€-±¾!‰¦ìÊ&…³!~²o ‹oÀ¾4a',r­k¤t›|o/ò|Xy,ì&^ªŒ>óEë&. â‹L‡ó²¾üŒy=æh•¬é6ï%&‚•5±v(êS%cչо†TDï>Ø1¤«–6zù-iÍÞÛïäç–¿æ²À!ÈÞ~°U„osf*J`˜ëú¿ÚDYDoÆÏ˜ª.Ð,…dg6èç$G) {òMº טbYlö4íR“*…‚^ÓÇh0€é¡ƒ@IÕÐ/qtBÄ“I.¹ö Û\º.ŽÜáîg×›ˆ0Ô0Óå$¶ø'A~ϸÎêÚ6ƒ7t.oáŠö»¦c˜®uªv·ŠIòº%ñ'®ÞÃd-&O”Y÷è‡7Ê6•µê1h7ö‚Æ04{ø&U![m€ggO°A•ì‚ÒãEj5Vü® Àâ`üµæzÇÖ|ùeºù¥ó\ǘyŽw™!·º°ösg:¥·ÞÒANþU Ã=´Ì[Ó¬¬áAI²&Eÿ_y§>p o ¾øŽí`xt¾®hçH·:6œCmŠ²Ú  MØùËã.›:l·5 [°¬¶'6‡ «ÎBÎ8åÚ=¹yÝ)Ÿ;ñ$‰tÙ¼¶bl“'gXªEráÌ G‚Tíéúg<«¼°g§10Ý÷Ô<7!ZT§©–4øVŽ„‹¯=#óÍÁæäj‘Ë®rô]­#2C>nŸ@›Xm‚Ñ„ÉÌwH‹Ê̪¸½vëµBûc?çú¶L«Ä7N"šX&ŠC]ì9©/o§‡Þ‹³~ñ'EÌ}†ö1*ï#ÛÖЏG· |ƒ‹¯‚ýœ,¦ýI6ï'â`*G’ ÙFe¤*…ÊM­V’ÂXÿ„(¡ ¯†¤]Çn¿îÅ%ĤÎS8Cís]6 º×Þ'æstPâkCYŠiá§HYQŸŽ œ–oû( ÒzöP"¸×—#¶ZÏγÿd>†b¢ŒR"¹£¤CÄ1œ,Ÿö…ài‘Z C BÙ.ßæÍüĪ‘Ò{œ×[ÈV²Œ•£ã¡Îxœ:½_"eh¦¼Õncð“a%W`§üD9_Q"=[Z£…ÔX „„¬¹¹íÔű®¥1vtЋªš¸´€Àj›×ÍJ½ô‹û& g×:#Ër3»Ç#7ƒÍ(„¥]œä ÐhvxD‘Žº¥¾p6lKèÒFëçúájaë)Ÿ ¡G<Ì Ýq=>Nå•’É[Kôëãi¨I“~`ò¦æNFíþÀÙ:¬wËWþøöê†.I2[b³Ák7eù+|kÍXïXNõÎüa :2J™ãúH‚,1{¹®ê;œnj‰ûÒjÄ­*ý¿ÉDãßœè·Ùƒdï„§¦ªu1ÛzûÃ(›ôî¾­´/&ì6IòØ3¾ˆü3>ØV%UàÄø±:ËÔ~ï+ÝwG °ÚÒ3ÙÌ;Õ!.L,©ðXtf®¦°¸YmÖ¦ßaP!D/ºGŠmjL8Š»YÀÁË1ó­Ñ0 è aª ¡å‚BꙦ$ºÁÇ ‚J*Òþ“æñè Ó$ØU_·ò’`ÖoáѼw¯ÇÔ™Gô„/r›‰ [WÑPä‚àxûž#›…¼Ý]æÑJòN.@ñ òÍ·å±Â³h®ð]´r›%ñ_\œGÆw.SIe÷…XÓ0nîÙ©m Ë'+y¾hhŒ{'aW½qœ Jœ³„“o, hß7öÒ]K/¥Jz i\İ‹í?…‡m¿©Pö‰/—‡àpJ¤àa’ˆ¦ìaåwÌ]ßÅ-ØHIÑHV[\y~5cáÆCK½2Ýp¡¾.Y„~’ò.w®ëóô šFfÙ¢hH”<$z àö»£yÚÄgAÅKŠñ«|Ú6ÒÝjœ; ~<´XÓ͉×bR<‡é7‡LÓ[˜ä“Õ±e…^+-ü`£Óþº¹fþ²Kÿ2u#s :&°Ny£p -daÙªe«å‘”U¢Rl(*É6Qs Õo‚jö1æ!V qe4W¦åõ˜¬oe8å »Ã±ë5¹‘Ð}n,Xï]k•±Nh ’Ï mã#ªºÆÒC,lKò½Æ¥á‘ÆÈ¡Ì,*Ô2¥s\üõ|r;nÜϘlUBZ…5ûÏúDm¿c†´¬ØhÙ‰èÆD€~â jH§Cþ×¹ lÿ@»U%ç’˜³¢Tl˜YÞ¬Bjaõ¯¹“uôs˜Þ׋¤àxbç¬ ßæÏâP£D~õ—ůPÕqùµ¼xPÐö¨†¹‹&tè]ò«Øñž÷xñæÏ'RÛòüÄIñ^38à+÷ÕÍ0SÏÕÀXS+‹ó4èý<É 1úÉ:>7Mª’¸ô ëd|0šéA©sª«ï=fA^æO³µGAy\˹}ªª+?û¶ŽÆG“Ψó6ãç£ÞTzð¦‡1[¢¹˜5 Tï¿êIúœeeʘ·“J¼Ñ“øÂ–¾b“PþcÂEÊr·-2ØÂ@®ÞAÂÍb8µOtý^HŸò\¶vöDбÓÔGDš!ÓJäé'ƒqèâx ‹¨ [w*³ieÀ\ï 9§QYЃ¾Sq…àÌp‚˜g`:ÝKñŸ…ÒQA*¯±¡ü‰pûàÔª®C¥C3{ ð"ØŒ6oÛ?¬_WÂì¦6/¯ôÄyÕ¿‘ý®Â)ùDf]÷ {$KWé½ò#~GåÏü ÁdÜPî äÔŠbÃ_ôZ]®pþ5:jáO9®ËÌâЛjþ껣öGÃcjPf#›ôภŽÂš|šLÖ†¹zÈÁ6̉p[²ÿÆÜNbšé•WÙL _ªÉ»¬ô)=øÒ„âAÏ–-Q«1d„è‹S~ð+¡’ÆÐêEkØã×+_œVÈLNŠj¡U™N‡VÀ3$¡ kœ9ÿcon:T—XúJîAÍ@lþ ´¸Ú¢‡uÿKÁ0M â(Èh›Û9Û‹ʽQèÀß²°ì:—ýù{ɳŠpú ¤^ñ²Ö¹ìÜ’nÔÓ^ZY þ­0Uë“«ã¦ðpë!ëß=«p?îèCŽ&P‹,ˆ{¡D¶ÚÐÕ¾¨ýä¤ôV V×¢>{_ÄOˆX#H ýqA²8Þx 8£ŸÊûáÒ ýwÉUÈq ìiöé }Oty¯ƒI² S CV<Ùja¥Rª7ÐTÛ/~ŽeóQ Óö´ÊRcãßy1. é4Šóƒ°ùP”Ýá,Š,Àƒ3&n~ÓÛ1uË/5¿ââÁKÁ'*ó*^ÀÅÚÂÞ I<Œ€NÔúÆË?LOæÄ” ̇>·EÀ Û>®å$nÇ —¸·’åêxÞBŒÂqý¡àôL!…<…O×_úFíºj‚€år…o ¸yêúŒÿêR ô·¢úeëPáŽÉ:fe0(‹˜À|¨4'¼ú?â“ ÓO[>žoÙÐßÌÃg•¯ Ì3´‘àVp~£Sûí>Ê8égÉ™9âPJàa]TP†g¥_6Ús›¥ã ¯‡ÛFZø¨]¨(*5®_“µ|ƒsIõÇT74ÍIà¯Dß~è<‰Þ? ¶ª½›-¢€)Œẋ_©+¸½9¥©žmQ½ÚáY/ŠA±"K“;fÄ¡4Ïfíï±V-øÉ3ŠZÍ) ÁÁëH^Kufío‡‡>èø‹˜7Öe•øºäiOðŽÊ"F$"G¯›LΡº¨{Ï÷ÖÀыؘ{€ÉNµSÿ`¾(Üz2®¸ª“„é|اóý8”mÝÚ&&ãNfYoƒâ¬\&Â(b PÈTÏSºh{®W!€nî»3ä¡]¼S¿s¢tzRkö ”ªí/8ÏS2œóPMo}…jÙþ;ÙW8[AaûY‘îžhËmQŸ¾!ýX'†qꛪô#Å5¾ì/tè2/ ²Òs}–E!ß l=st•Y$Ÿ›¬ËÍ=„“§s,´ªÜ3}Qö ¼C…o~Ia„MtVo¹\ëƒïqwûºLä"LÉîwM –Üîù|ò!*·s_ñˆº¦µgx¨‡¤Z[q©„7ħØH´*Üx¥TïÀ­„½eK•Ç|,xbýtk3Èæˆ"ï4\4L7ØrŽn#Ö¶‚fl#瑹R1zþv¤“Hƒ`Zf]ÎN&Ê'ÆÊQð fÚ§ce>®ü =Žð¼—Ä W«©-vÆð¬90'²£g ¬b¦Qû‰P-üÄš·*•! ^¯XŠÊ ®Æ(mÆÙ_ °Å&û—ð:óYr3SòSÙ²•O„7ÁÃQ6)åšk‘ôsx“Žp«Gç]5/¬cBÜV’OÞ‹»PÇÚUuû¢7¸ØV d"3¨+0)É^I’Äéœx«{üN|7ƒm=imZ®»éÕNZR$“ø‹°1=_ºaV¿1‘…t`Ôh~?V†œa€ÈÃ…¤"M¤$0™ÝGŒ:Yy–Ê**¼š…ÜcDà³¥7ÍÞ&”9!¼}™G–œ¾ýU´*zrˆë¼ûzª1©—uù¦‘JÀ}ïÅÇ~%Èñ&¦µÆ;ÑÚTRù¥Å1f“àÊÔ+jØYëQ™|Þß|¬wS=IFƒr}n!™ùS%‘?YVªLOÌž÷èÝ 0›¡öÔtíÆ/ø%-ÂÎ!+ ÆÅŠÜh*¬ÉÅ–8¸sܤK È{kÃD;*IhΖqHzü…éGÔ<ã“>ê^’wAná\j )”æ(†•Rº¹Á¦›d­ðãl¨ÖlÕQGò¸a•„ek6Ø¡Y@ZtÍ ^æ=±"Àý,ôP $t ÕfiS‡¯>ôÅêØ€IŠh¬—óŠZF¸fß?ÊÍqL•¿{šÍ§gkL@9&sú#w×äÉõ¡ü,;^ñ§ Q šjRõñÏŸàp›Ï͵Ëì•þ ͰY™{‹WÏ—KÑ|ýŽþ J×dy¬±A^sØÞzŽø:þ[ÑYõæ¿ÆÏ‰u†y7Js‹lSˆ03>#M“.•\m:´†ü»ç÷‚Mþµe2jÖ]ZŠ —¢#”*ÔNœÔ~ufëÓ™-ƒÄã¹µy?4œèµaõDçÙ²ê³xÊ7f¦Üi©‡x‹ºÓ>Õ’õf;„j'¯Ákþ(<^*ws“G{ p|“—+ðæu‹e‡Zó¢H‘Ù}ô¯Àc! û ³žëôçjh«C1uw|WIyý{Nt®(_-uÚ¢œ€—dâm Ö‘˜…üßÎ;X6¥¹ªOâdŠ@ÀÝ¿o¼NžÁæ3üqZ ø½…Hrè‹â‡;ü£|Ê|kÞÚ€]®ÎþSgt!Ò´‚½@¼!ðX°e–®bDÍÄŸp“ŸðÄ—‘¸·ü:KjîiMÆ÷H÷sh£ÝË;9øÂÍζ™ ¬=Öjãm§@f\ÝâF+Ù*bkÁ §˜DþSúÛ×Q›ýººà»½ Û¤ P’ ³~<ÂdüvJ–-î Ùñó9ûF˜,c¹8C–±ZÄꛕï²eÏ&/eÐ|dçj­p( âI]2ªj¯ßóXqÕ¸ÿüŽýË/˜ˆ E Þá_ƒŒÿÀUìòhæ©#‡ qy.½Èn4r#8ðTc:$•^Vâ\úâ1%æH91>¤™«½S QÇíb‚–dÙ_ ?HvÄUÿ&ÒÉK¿ÖSþÈE¨ÓMúæ@IlžGðÿ3<^`þ•òÜîÿˆ°–eþ¦®™{XûÝrqT‘$:JÜktáýÚ¦âáFMžœZ,Q:¯Ô¯Ã>×^7 Æß«³çƒ&ɰ5õ18)êÿ†ÅÛ'éP'}J«ìâ>‹SÔ¹ÉSþ%¿a%Ö¢á+Ž¿ÈMãlަ+›ÇÀôŸòVy` »áÙÜ©—š4ö—ç°ëÃKV£°•Ö|L±lS% ÐK´*w`#ݨ·/ã>êSšÁÂÚ(»Ü%&ÈæŒ±À2œOmçßøW b㫃*£°ñ]z¬÷zJʃÒɇ¼á –¨£¨ùÿi¼¦?¦äŒµŸBw›è0ÙY3{Æ0¼¸â—¦xÓy‚‰¾ƒÈz¨¨²{¼&0è»ÚTyv_¾\úq°óŸ4´_]Êuª¢F¢»M ߪڪØô“¹Ç AµÐú»(—¼ê^ÆFŸ)NW7ðà +“¨aò ˆª:ÖöEiÎOÀÉ×i¡Ê×2ÑË(Ômbžn¯ñ-XN1G9?AÊù¶êd’°Ê@PZIÏÆ½Ú”%õ»Û``oo]¬?ü†BVÓ×× Þ…"Ê7® ) ½)ØÆ õAN¬¨yßMf/Áîriª½Îîɼ÷› KœÂ³^cDZ×¶÷ßêf'a|”DFw|ܘËA‹Uî»ꈦ]ä»Ë&õŒ1¦S«aîbZ‡HMô›2Ìð¤=Ô¡Sä&"–¼;7öí÷…J7—+ÞMMÔÀ÷¡¦ñ|È YL‚cZŠc¯#›l G¡×À‘ñÍqë‹“mÁ])•dš‘Ô½ø iwËL”:n,EiIcL/EÀÒiF–À\½*k?€chX6rß ÁC å–3HÌ¡÷e jŽ: Б†“–’Ï´Ó£+”»ÄfiËÞ&ýµ°`2FÈ=u“\•BéÔÚ›‘XçZA¼gÃ!›þCä†õÎàšý,¸ílÑ|€æub6Ÿ‡~¶ó°|0UÇ—[B¦+Tˆ“$,6ÙpÓ+]Ñì7ˆÇ”Þ¹5Q<­¥k³‘r6Á·ËwÃ0±ÞÛC_1¿xîzeÚcRN[gúµIiB,š+‚(ÿÿ׈…|¥½œ#uÝ!f˜ŸÙŠLÜØÜž°n?3 ìwᆴ y‰\o¿uÔqTj‚©*è’Ä*=¡è়¢?MV+›)„uiq—F‰ ÈÒk§þÂÀ˜öæëÉ ô­xEÕBÐ,Ö+¼ÕÓcÉ ÏãØ¬c&& EM=âD—2Ѿ…{¿&[ÞEçÚú®ëJáÇÁ?ÆA²]¾ÀLŠÑŸ¥ƒíN˜„$Ž–rµ·».òJ«¡øD'ÆÿsJµžKlCœÕþ ÛPm÷ê½ò¯öºžêuù0mY_6xØ¿5úÞfüùªó~1z­vn†„‚|Ní4‚í·&Ûi¶¼ù<ïÒÛ_UƒÚoEŸPŽHbcÔBIî؃K’ÆjŠ- Ãcàó`È­ï#KÁU¬ÓQuüÆ \“^5GAÃG¹}˜Üz¶œýqÑ‹idWð©Þtüðä/¥x&ÐüQMÄXÏÑfxŒm¤§^ëˆX‡˜}qìÜư Z±(ŽÔoÿÄ.Ý-“‚ÿÔ߯·J^å7|QŒõó¨ âº%ƒnxͶù¨@RDô¹’ı‚µigKº ò%pÄg ®ü—¡áã«©Ô%~é•.Z”òÏ8Ò¸ªÞïy LHµðÁj©ï‰åÛšiB ý® °n vnгcnº ê«Kœ…ž£_R]-uÓ½0a‘ãn¢6íIó‡d$uë+JA8p!,ª½ÔÍim·ÁèÝðê'XÛ#Ó°Õjj‡salb‹î×úC_9±½gù?eR¬Œ²tC(ÆïR˜7¥öÝ<0VVb¼,z@upl*1¥E´ÓnDâs1>T¤Œa'†GÉÉöÇ`š3dMÑïq k;Îj¸øÞŠáLœ–c}×}ÿ[åVÄäøŒ9 g“ۃ拷eE= SìùTÞã0]l]Ü÷?ŒææjkÓD"+ ÷•Ï2l‘¢YÛì V´ìùx¨£ÀXvÒè*|19}ËQò3I'Ðwá|e—L5+PG9?Ÿ&ÁïœØxDœ6w#¤_B¹í5:ëü¯Ü”¡»tçi=–ô£æ£´®YP”>•Wê(Aõ”Ñh¾AzºñZ-ê:m˜ÚH­6ÎɘÜbB-×g¦¾Ij ­ K•ÖÙ©°„¤¹áœû˜G Kân'=Çm1§>¬`ÀßH<Šd³6mdÓc ëïúJ T%Ò%~Uk®Ý]ÑøfðèžE¤Êl3f0AäØj$ncæ4b BtfÓ éV`âx«À Η¤tËÙ}÷“jté¨ìúVf_èMWÃûò`ÛÈF ­>”Ž T¯'·„<Ý1vI%”øÝaÈdÑ ± y‡WÓïôD{*©ŸS»3Ù¥ŒÆ¯}N%V#lì;\N¦žï¥·Sij÷çoû„Ü…åÇÚÅ{×Uþd‘ziÖKÎÌ¤Ú ›È„SM˜B¨Ðâ œŽò½bñvzbþPV«ÚñeóY:Á`^d‰Ž´ùLF¯'\Bfe—µý‹ Æœ%¸{¡ðuÙh,F`ʪ”\Á»`„ëá[SÚx£ÃÛ” .ÃôlQ,‡VÿŸ„$¸Ôè¢Y̵٘­1Ñéë–‘8ôn*ÿ-e©ìX×üL>`{=ü>%ÐF®±‹bUc8 øv,ž;Íó=íÌ?ø‘œíYö0G¾2`ÉÐE­“œ„58mž[ùª~>M_8| ë5žP;Žƹƒ®õÅ{"“.Ý|ÞV&‡mNËëØKDi/÷8³õTæe“½S·‚ñÅþ/]I:SlÄRšQ¬Ë,É_‡wâáa=ÝþjÞìu¸2γ†`û ×"³ìlÙHy F< hq°ÎO·í*s× Ñ:EÑb írB=œÖê¨]0SZg9»:Ñ <®¸&ijN–D[cÕ¦4/[KcìA†çbÉeõÌîôÀ^„|ÝëA/Œ´îÌã®1 H0OŒm¶ððì=ÉÊ$Øí¾¬H2¿túC_Њyð¼ aQ`K†÷è¡êd_ÏÏj$f¹3>¬Ï_fk~[pÏ‘ÃÃÖÞo-`:ci\•àÑÃ^Æ®¹”聾ëÁ¤Õ7Öf Å>>I¼õèp©h4Hö~¥ba¶Ôðæ¡]ÿàW®£cbû\3ǾT ª?vN:g'HŒ¸~1Ë·­©!ƒíÔøµ~¬žgeÐÓåM¿0ˆ „Ä w®¿©@òc´Ÿ››E4tìxwxyX«h5Uµå ƒ(º˜\bmFgi•y‹¿ÍgÒÍa•lEQæK$ë˜}46mö"œGì\ÂM'#„¡.·­5&>ßÄyœŸ(Xº¥Dò¥'Í£2MoÊâT"R”ü–t 7Ç%²3É=~:<ù8Û¾ÔÒÒÌxló`ÆâæK[fn_)Æ\䤂©Äé8,êŒ.é; 1ÖËI M¥‚8X.·å”ë©U½‰_G–£²SqåѾ)98^c™Ü„™|åš!R…ó9uÕþ [!1%öÕAÖ)ÝD²W&*(yKÓ0s$å6æëù™DQñ»{´X‹%ýmùËÚ˜þÄäÎݤ›¥÷+vªa»Ì;æÎTï?U–àc`™<êY“C°þüúÿx¥‰…ÁÒ­Ës¸ËPà)ˆÜHx&§bÿj®ë/?izZÌGœOýíLÄ9ÑÅ×û F@ë g"µÜ«f·r"^²¢Ò6bVùCÑÉ uxá†Zžû4¹ÛÌøŸ–z†uþ#*ùÄѯHt´ìŸïzg‰Η.ŠiE½«>Æ!ÚÆ>´8È'÷÷I'TÙ{$ç[¶Gy‘ ùɯ˜FÍ’tLÑþza†ú>nZæÜ…§m…m¦9ZV¸ Ø¿µÃö€sw>p3Ä«9S0 Í +âÈ=ųýM¦Õ ÕÞÁÿ­âò—¶>&›ÅJûL 3-¸ÝÒù¥97°Nr±Ö*ÅÆm÷ù~o©C™½˜<¢#âzòz+X€´ (6-à›Ú”¸HýoŒ~àû¾"_¨äê2ö.‰ÛŒkWÖúüA*!”‰ËOBT¼Q £ôÿ:ʹݶöƒöUÙñgý‰,+œ¼u×r>W|­¾¨~›+FŠM›8Ëk*P¢o(‰A º]ð–FF-×Ú%Àñ§µ×ĵýÅ÷ÙCN'yI/Û·Vr¡¡·$ Ëìð!¯Öc$À^ÏÇÍnYbê³.”))`¼L(U&Šacªgá­{hMô+è^ØÉ´·•9aéÞ+‹î̃ÝXj|ï¿qT—†/"mVÀ4øÕ#Rã…ÛCbœù<ñ`õ? \ i½˜ rŒ©Žm—%Ç©‡Ò˜û )ñœTÁMÍ´vx2Ø­t»þ­Ë °m2?x~Àd«ìþ÷öÇ-3!êdÀè,ãC¸S5eת™XËnØ7|÷èŸgb•Kßî¥%¿+Nx¸gÏ »Ýò 5’KÕÔE)Å+}˜ðÒçÃ}¶kQ5ɺ¬¦ ž¯Þ쇣êf¢ªHÁ0ü^—)ŒMÅŒ˜µù–8AÕÓÜ5³<߃O Úšå5‘=v«´á ñ­t)4·Oê$sвäE`¤¿ÓHgòÜP8íö , Êßö²VððÉÂ%„-³Äòuæá÷—G®t$Ò„’8ÂxO¦áÀ9î"Œ%Ø‹œB§…¢±A›ßa|8®{×zt¥ØÇÏDãm™£ô׺„^¡ÿ R0øizl çéþÀêÈžÎÖ̇îKîXîEv‹£cµ>œ,b‹ íîÐ0Ï\2 h7^ä\$ 1ÇT~—_£~†öÁ™ú•qzÀEè˜5ä8ôMø#•NÈ &áhpÝ6AlÏ«˜ð º'K¬M(fyÕ ¬A˜±é…ÍTCë¬åÕ‚ðž\·U3b¡=~Ñé0ç? µS”?Ä[„£•Ôè™WÎOÍ6oŒéx¦`³Õ»/Ÿ§ð5*Ïvó)äsn¬êLÝBÞõví}œ›¼Ôqr{#h¸úošÚÐ!ªDtïm%ò)óˆ; r•ñÀ±,üFÛTEÚfQie<††‚ËéÉ^AÁC¢Ý1E5K ÁkØu*d€P\>‚Dt,Â+–Ük¸Öpƒ‹$F-e½á!²IÙ—Imi[ äQ’¶ãЫ›,BrˆwòꧤÚT18c Ÿ*AÉ/6¡Îqþ¿5¡ ª„JR`’/7ã–‰Ÿ…p±G‘w¢Šö³w”8ñ½ø‡nžŠ@,…íûJgd` ‚TÜÞöÌt køÞVvsð¹í0# WÙ=+”h.Ò¬QIŸ«Ù÷XìTê•Fúì¢#ÞZ‰gÃX§‰Y'‚dø¯¾Ò@²©äË®Q‰Z8iÜ#ø‘Óô=%õì&v|fËÇÌÐë®g­½yî鎈Ce{_i²]ÉÜâmÌ%Ð0·…øŠÕ¹”‘q4r|-9íÍ,ñëdíq­×òHóv÷Z)ÅõÕ-vFîììhæï×\áŠÕÁwV:íÌü+ ÕQžÜä„óúK®wÇx£JKèÏeâÚÒ-ʨ¼†›Å‰”ÏPúTÝåDZh:·°KCÛÏô*¥ºrÎH<ÉçA΋ÌU\s6¡Á6ɉ´¤(T‚k“E$HH—óu¼aŸÅÁ€=æ”/üë¸Õ4@²ìIX¢¨Éhƒ×;S#6õ©ÕröðXNi³]fŒÅ“/}ÊÔÁ6 [”ôëÏ×¹´FS÷cXEáP´wž*œ;Œnqj˜wµ±‹»<õëN؂҃ “]‰š0>3ù5mÙRÛÛ^èc¶dcÔZïŒm´ªUá]Pºé½E²ÚÓ zù¾ Ëtò¢0cR‹Ç2SÈl©<Æ-/ñ$Ýߨ^ÙÁk¹º ¯q8÷?Ið‡µ-P—Í8¨²kí#ÍR¬#-:§07ÿbŒSÝ©áæn«}›åÚÈÛ"¹•ŠºX“è7)ÏĽÿÎ ©î‡öÌÅè"§'½ `ÁGÅI9ðr[¬-\š>ì¯E¯$‹2š—è­àí“Æ•Î=±‚ÉçVH\ª¯±ÞFM™‡àˆKNÜ!@G ØMPšGZ—Ñ'€Bëþ§à?”oùvï“£èR+5½¯Ñ×!øõ~c¿Ÿš<aÃÿJoÌ9„ 6gùí‰ryÖ`ÑÊÕÀÓ Sý¥Æì½oŠ[šøF7M„Ôéîo§ŽN3æ¢ÜìÁü«/3¦u¡†¶pô$Öx@ÎVdŸtSŒ¨yÛyË‹XÉ£,WJ+˜¡ëÍ'¹yÕâìд<ÉML‡ø*³§o.Ü‘!ßKÔt©3 näDh­?Ä)&Ó°ø±8áE/rô»îQœ~ÀÈ›(¶ÃôvMñÜŒ dNnèï8²ÆF…a?•@,¿ƒ%öGüÿ7W¹ÂEÀõn‘…>SÿÉ;¿¦Èç”´ëmL(x"ijäEÝÛK¼|cE冉·y÷¬á(LF_Ã»Š 'P¸ÿ«ºÿùc“ ÉÒt  НTòÍPåÖ²ùI !ŸÄތšNGRíLˆÿ‹|ë=m"–T(˜m~ U,<¿iŽÂ-¦'Ì—s¶^· ÉZn¹7ÌZqDT¡ì£oiF®mXáNòŒ¦âžª’L¿d c,@ Ç^]oÎ5#Á5Áï ôõU$Üí]Ëf XZ=ìÅg#©‚Ì:ð^SýYþ@ ¦“tÄhœiYOWYæD]§!J­G€ "çµ=õýß|¬Ð×çËëxw„먢Ò#ÈÝëA:U«‰í>ë°Ð*º?Wþ¼+(aÞyü¥º´*|.úɈ íÌ'ÁÑJ7ï"… b‘ž¢3S_;#DZOë=þ‡sEn‰ªX @Á6ç:Iâ†ÙÁgÀÖý#ýøÇø'×l3èùù¨›ÂÜö–ÏøŠš“ëaBDg d¾½uïïÞ#ÈTpi(•~ì홂sÕ¿á×\W·ÂÛ§*x¡j²ê‘” Vx=ž&Ü£m›Ö®LF¤w6†:‹k—\^eéVZ8ûW’y)]ÄÅ¢¿(àÒ)ݲöXxÍÁ±Š(l?¨ —å´8Ÿ€«ã^«#®m:Ýú…¤y ¶8¯ü$ÉÈ:ß/|E¼æ%|ß¾¯V5ã)k:Ûu¼xh£&ëÀj@Øþ7Š~1[8¦öƒÓýÈ&æP°Â=T¡T¥ø3©B/²µ€™2w‹c¦º¾A[м; ­ŒH€}+øf.cæ?3ÞYSµí×y¬¹õbU‘êrb\•ò¤ÌísÖT¥¸­ÿM²q“-Ç[Â¥å¦[µ4¤<Å·F„G)a½óš®\OyèPŸ|'_Њ ÌN] Þ2&Q®T¼óî·`Oé23é@èMN•*Àiî;Ã\ù™¹H#øóGº+/O$ˆ›«€ü«Z¸ÁFéEïíæ„6Ð)[âi;•• ùÃ#޶²ËÝA¯”ysà'oVõ‡NÌcuåôÒ)¦9KSXÙÓM;¨F ƒÞÖO–’×_Кžß¥ Ñ]˜qhɸÛ_‘¸‰º\¥ì0 ÔGˆÜÂQsà1ÇBezÕ ¸f›Ô‚tpß 9èæ"-"ó+è_0­ép›X0p61óàu³ §t^œÞp›eÛÐ/XÐáåq±­+­99®Ì=.w`ýáœXÙ.Ê¡?0$úM Ëoöñôòð6âl| ,MU\Jr@zRß»ÖÇ—ûT§Ü‰VŽªC™'æD’V1ÔW—׎€i:eYЂRY&êàØAfŽû!ìû*Kˆà-+™g•©Ú¹«ƒ(zÁHi¢2†ÕèÙß×@ÖAØ~¼ØÚS»RjÛ*óqå ЈÑâÅö&©MM"4ó$£4 fõ£Ü7òÇK9ÉÏ¢ç@(,Øf.ã1ú®r7›Iž 9à¬Êa8ôößÞ(´ hý·@jô=cL?ÚÓÉBú÷N21ްŒOïi1î^%²è£Mq‰ ™ƒÍ34#w1Ðu—·Ÿa£? ï r:߇/Mé²´NúH!ªmï’¿²Ã+ƒíJÏ ù0Ýê é¸þpÐßBQƒUvsˆV\S1ÉÊ'(ÐÐ !Ù‚M¶¤œ>îák4!61× _ŸŠš$JcO—R†5ž¤Û}XAøH£n(,zºÐd`rãnÝL5CR’4M¶;·îšõJ¬†ŒþN8]û¿‘Oò¤d¥–¾É¹+ÃJ E±å°+*:OCàÔl°$Œ¼æ†ù…ë½làYá¤ÜÍï)ø™cÚK© 4(ݽ”2³ëö.A϶ŸÃý) '”ýùeäÉ0SkÃkv„§Ü”Nªr‘G¥÷Õ[,JDZ‹ù²YõOdÕø ÍwŸ}65”„±Od9›aˆÃ3æ'Dtž‹™ÎÇ?"/9¨þFtÓÅU¬Á6å›ÄT{V,ý¼˜A æÉ‚†çÓwE@ªÑ³Èr¹;Üâ MÌpž|ø¼hô–@W爵Û-Õ2ÌŒ3¦ ¡ëåÿÂýÕDÉ(>i #ñaGŒUÛýˆ«s§æ{=:vœvÚ­Rzj²M÷ÿYŸ´FÝS±'Þ™.Y¹Ú]bhþŠlßñƒøè¨ëî¶@ Í&ÿLuª«SfûQ+”†µ‡pš~¶ü÷<º€{˜¾Ôkdz¿çDð7)T4·~Ï,^?[À'γ±þ(Ã{H3í¿ðR…ÿå`ìë©Zr— 3¼D\»Q+ORhV™ ò»Ÿz¤ cŠB[°Ñ䆳‚-†(¬qGÚ‚uѰbü—ßЇÍ4àeíáV*¿Ycu`Âw†/Œ£êdºA"|›Ÿ”|ˆØ +ôA· "¼^z¹·éË„{—Pû‡ý2]4y:ßïî ÖZŠ“+aï\ÄqèRx2dÿžzi…ybh²´B…Ç‚[JS…Ä»ZsšÌ¿q²ëÜǵ“ r#’¶`¬ŽŸB@zVž÷Ý4 ‹õ솶±„Þ¨ËMÈ…üí7›zRàB !¤¾™õéþ3³Å¦î?È&Á`ÎéXs€Ïã§ÈˆVqÇ š±«d/1dæhÿ:°¯«´¸¤/LËÑ|âB?Býìb}§†ÉA¯˜9Äž‹ô¿Šƒðc]ï\MÄŒfNÙ1>öøPr¼*«¨Ç„A‰If †34uãunb›¬ A”ìE8òà0¢²/£¿B -Ûc¥I•ÍjŠC]¥òåt £„üã·©7Z,èmT~Iúê刣{ž©—YŸ$3lîTï¥?DpñHbEéã[+åO8Ó€§Î„5ƒ)? 'XÞùU)X7úp]ìJ,Å®kÀV­ IHŸ™.iL–‚>Ê…­§“THIÛ¹ ZÐûDî ÷I—û§zÁsƒš¡í¾(Ö û[Ë.¤Î?àµfÁŒÊ;DžÍ±<‘kƒ‘XxK@•Û]ƒ%:<’h‘i³Ö(d‡LÞº§¼˜ÏÑqá<¤¾š®¦îpGOÌ §ñá›H£©$\ÚN¹DëÈÁÁLN_· ¶ÀzôÌ}Kåm1ogWÉôƒ¹þ ^Ønãì›=nàÅÌZ¿$ºz´ƒEþCRTùñX×í˜åp±oH PòüˆAŠ˜õ®-ø¯Â ~W®›§ šc’¶m&ýsMéÈJUÐàäe0"©t£o” Ðãè±£ÏmÔØ§þ‰YKy…K0.‘#ÐöEª…ÂÏ/<ìå^h¥ø™tÞ™ „gè‹™c÷‰‡Ä³ð6xµ«Ëæn³ŽrØI˜x(Í9¡M"U0RýŸ\\ÁŠ‚;içÁb#Ó¼ºí: \žaÀª¹Ø{ÊÿvizŠ!'¾ç\MóTQnQxOà'HŠë‚8mçïÛû€Xú¼„EQÐS°yyCxøvƒ%­žž k¾­=$úuÌTNè³ôlú–ýœÐs]EŸè^MEyÈU¦*@ë=•)€v žy}ÜO™TkúnJç+Ñ^Cݤ (ûDŠ—0çÉ˨}%DìL©þI¿êë¡…d(A ý‰ Á8Ø 5"öç±F£0p¸ ÞË­¾™¼³ÚsýN¦X «âzÕªÙmÒÅ=<ÕÄjø +žáèjëÁëGzj Ž®¦Ÿ&*«(fïaà%nƒ9ÌGuj‘®öwƒ³°pC›_^dvì\Œ×Mèg1rûÿ½þ ‹Â2'l}{xH_˜@¼.»cú©•;Ùe ¾á죚‡Lr\D€˜ÁM×VÒ}Ým¨ˆ®²BÓH+͉®œV—øç·úUY·¼Ùà—FÏQyj‰´1IóÆlvâ#câi*Mî¨7øW®Z©•pX“±‡$É»c|ûSø–óÑ9Øp ÜH1à—³XRCX¦¤Ìk€¯œó›üŒÑ} Ù°óÆÛLh…îÇG'£øÁœìKnÊ(Íh–C`·a{· ¡±S«%€½é¶­÷Î㵬f!Ïz2ð"†ëq<µ÷, –ɵöÂHšêsqȸ;b)Ç4+ÅÑþymLPªƒ“oH oEyzy2º-¥o§mÆbõwˆÂð+#~ÆÖ%^,¿¿ñjš@”û|Ø&Õ§ö¦›âÜ÷ ¾;[gÛ ®9©ªêöC3 ~8Àm^FWÍÅ|ìxôýû”½)ùïÌ.ët®E˜Z¨y‚–¨ ÛC¡#ýHKeto¯øxȯm»J§’¾ÅR.ñªIÓmi˜ä.ÙgIó´Kep•'ªÙ+ȧ¤Í½|!°u¾œ¿uƒÆ+—xÐyW0Âë5 lx»ò;qç^)•é•XìJ43” 2GiòrLÝ¥©u †Ç 5VRk3#T%>Õ¶:uBÉÉé¿Ü¨™6v=¡òõeÇ·þ«…Ö¶;î„¿?ã ¸]ù&‹•í]ïͽŒ1©°q¤ºSêÞN{:ýhî§* ª¿ûRYò¿ç1}XÔn$Pò·”ŒØO¾%1‹ÐŸ‘þªü”Lp2vèªI=nKOšâ)IǤ”Ö¹ N™´0ªÎfv\oT0§À²˜XG̹~Fó4÷[©Gê¸7~¬žý„È´`ÖáÔ¦ê¼ÀXŸ!uÐQ燳qàœÖÖ¼k¶†Ži+qÊWo†Hî¿QO¬ T3º«š¿9U¿åj.i"cªQÕB‘à9G’ÆæÃH£Fmô·.× óÁª_cRj4Þ߉cõè“We½T½åñ͉´È-¡â ÐSG TïÈó¡@¡., µ_³b¬ºÍó«M[Ú1P«×䦅ÚòПV«ÖO~×¹/½”ÀÖC´±’šE9d|ª=“ÒG:óð3¶ñD&£ÄSp8‡ Ï=¬a߀'›«žHÅØ½žXfcÔ­üò`¢Ñû‡¤Í«êæì†[Ê…3ÒËUäÅý-™GC²,*h CJ/0yLJS¤á´Q¾±›}‹Áw¾u.¿ÈÝ£RÚ‡y&ØH)À‰".áJêñú­Á4µ5‡ Q.l©­ ¾ìÈGކ¤Ç2RÍ¥øJ‡y½øZ÷Y½±þÃþk-BÒåaÙœ á}*¦ã)@ X×ùUÀXAŸY¥X•Ï^q>@N ­”IôpÖwõ^p| #v™ÜÞ×äìœ<ÖÆÌ8 0È”sÁ{¦,1`5½ãa@].âú¨H|,ã²/—ÛoE@[³Û`w“Çx•Ì"lþÛDÃkK|¼ü„^z©ýp] Aì›|à-›«Ü5}‚¥5¹÷êf¢u€g5°/¹¯]øÂQ³×f;O"Eè çT j)Þ8ãÁ1<ŒˆP1Â4@U©È±Ñz¸ñKŸâYðc¾º<k-V¬˜Qá·óaTÐTš$+Jo+¢o“ mßx½öà,ûðØzÈ—]5¯±Yù­Ôo/‹)™WÌ×i+CrL}(œO +`E¹ `ýíÎá—yrë¬Y%ï"©‹ÀŽh›ï¤`×Q…Af_Ö~r醦Ƌ—¿!Mƒ$dzX²ùÿï<`§ÿ{­œt-顨"ˆñ·<€©2>khcé¿Âoó«R¶ ñ²ö%¤s”ÛòÚ)É\¯ ‘EQëp¡T†YÅ€X8ÊÖ4œ:[4bâ:Tqtí[T2¨àENÜss§kä.TJëJwîb<žs%<À”±P½w!Bú+[ç;sá—jäˆöR·I ŒÁõ>×3àÂ{ZƺÇïFе‘êI¼icÃDM³|š÷"ö…ç½LàTP¿ÊL4ëísAíÁöݬãû›Íù|`È[KKÇ@$Ä|­AIöHMŠHª.¯ëŸ;f†(L&‹–œ0 „6Ô }»«›8Ê ¿ûw÷à+#(T”zQ¼sÂðx?¡_^;hŠc>££€`w÷cN—ÊD¸pœ%«i™Ä–ݦ®” ѦÌé*ªãËŠ’pGjtš ºSfÓŠZÞÑ¥ß8]Ï5ôIÎ×ÔïДžÎK|D)rl³°Ç§e¨©‰È¡/xЛ`äŽèÌàÓ\ûÊöˆ˜Ù5er ’`ˆF…yÅ+ŽƒÓ´*‘zØ¥nþ3Mú\ï%p”ת5·Á3u©*+H{6¼€Î…VWU¶[H$’“LÁú§­ËSöçõtÔI¸_ÂÑ+…$õùéÏ#¨F´žùÙTWØ’†¬‘Õû+ìh¨4ÏŽæ‚jkôU';›« ­2nÈMÙ´ÀóÜâÌ›3p#Þă,=.‹Óô¡EŽ‚pWÛ ßüë@BN*“Îé8çâÓûÛþ+ÂA¨âÌn_6=.©øÖÔiÜ)kó®“’O÷R€Ì ALH¬]©ER&SâÙûûHHŸŠ€H9=…êz9“ü³×Ö †È½l&I€@/† ©` ¡óšÏ%P`–¨÷û©ÀeÁ’NGܵÀíÞ_çyc¨Ä/4˜³÷âudUk­rÿS/è×s†Ôõá÷|ÃMY‘®‹†‡n&T´ÜœîÒyz¿£úb#޾zAx mAqiûÇH:`PÝÃ$4Ζ9µ©¡ÐŒñ%‹VÉà½Ãå6 Ö݉x·åñž€~­Ù,<çP»1ê›/m÷Yåøüê”8âLëí¢ý‰˜•.ejoÝäÿ J8ï¶ Fµèºb/Žá3©ä¦Õ«“šø”xaìT$ k§Þm°¥Ńt§Œ…‡¢Oiw—øÖGÞË‚Ãý·ÿ… Û}†ÃœîæéyêЙ£_´s ‚¦m,á`í’Ü8Ix.¼ŽþøDÑù_òý€ß÷ ÖÌæVh åX½ÎÂúç•ôŠ5F”°^“^>UöÛÊ=–Ê;ÆC\=A×ñª®iÁ׿›N8‚Ôüõ¤.›á G1¸V5/NõRû#ñ‚ }D4ÿ2 êr~&¤¼]0÷\?=3*óÚè믓u˜c±êVl¿­µ"…ybñKXã±û@óùËW¢£¬ÆRÐ`¾³“P÷ÎÞ¦5’O8¾ôF°£Øx_ß [ϲ)n?å Õâ:z-®¾ÀYF-³@Ÿíçs/õ¡ÍØÀ¨*/–‘¶å×ÔˆÓSÖTÆþèÀ‘¤@†Ä=— oO“úr>Zdtˆ2Z¯+‚TFÚ´´’®£üñ“±b^;t#mº„RØaÆ(ù‡¥¹êŸñÆ:Ó©Y=Ò|§ó/Ü‹§÷Ü)Ò‚=‹« \*B•Y–v/•ÉdÐç颰$gLùsV™ÊÈßZ.RÕrñ\)¸÷‡U_ÓZ~XX.ómÿîÔéXKàp&YBÖïr8çpìQÌÉ6´a‘H¦&V9ÂÔƒ ÀçøÐ»/:çä+Z-Èõ‡Gùïå™óÛ›lY@þôð3*ªK–袟15Š+sü±Œð.+‹j\_o9ðŠñÛE©qmù¹âúŠWR¨D©øÄ©(²›rŠ)aíøZ./*/ÚJëå–ƒy#®µÊ ¢d8X4äÛÇø 1é`‰íÊÌ—R Ûj§Í– -~cò¨L;ñÑ’`ȲlÈÙL'·uãÀ& É)»õÕðŽ¿z:Fm…œ…Cé~,xþ‹›ÍŽËè·°»Ò²Åô97”ˆÆPK`ÔG‹=8?øE¯WЋ„òûW[Ç‹/ ¶©a(á³´àžàìÙ"ïãò>3 ÚVcôµ=j1R2³¯;F”"ÀrŸ|Yå·³žUÝ-![å=Sêyxòº Ÿ¾>Ûa×uê_Éó;%˜ÈtjéjçÏN+1Ì~h-Pe:aÌ]œ+ø™HÜ|j¯€]›]H8$¥PQ=-Dì¤ÓÉ€¯”๥ݭٺ¦ c¡”hß¿/¾QF,¼ÞÒÔ'9“«–ØÄmu‡#hoºNŽ·T¬“Ø‘V%Çìä™{Üd1©á‡¡DªhìI¿ûVT|ÿB·GôÒ™xz㊠ŒB:5_Þ¤U÷aIèæ‹TX»˜¸§[$9¹¢Ø£eÀ±Éhv @÷>Pa=½\™_i´,)R‹z·EY´ n_÷¾ Ï_gN6;jM€)Ÿ/[†ø•‡%+søÅž„¹3d÷—)lí©ÖÙ^qömËèäz`x¥*SâÖÞçgÍ W±X1œ$‚ÍxЕ¤¹‚‰˜øP?bÿ~6SàÎKŽ®§/ €i¾¹(Þ„†=KÓaó„Øžõ³=é%CÈ ›w‡Ät¯ç=/ëH}¥&õ耖÷*ESÂVV¬ýÊñGqÁ—æ7"¦‰åÿÇõ­·ˆøâ&M¢“:¶ïÔd¹"Ô©8M1oß2£lëBÑÝrdžL+±¾!îõc¬pýØxŒgñù!L`PÖÚUê¹Ù b»Ž‡™tØÓ¨Èå…>vÎg”éæÙ¨Bâ_ɬùúº&7'©Ö•'O–Ê5ÿü}C#àÀîÙ—(¢4¡Í—ú¿±„ ©6Æ"®ô²­HÅ~Ò톳Å!Žî—Ó_^âT¡xçs‰j;§Aãö#¿ˆgŠÌ$Îì¹È¹‚šÞ2£ %ûSòº³Ò„ÔûoM·8¯[,{'¢Æw|X3|hA=¬Ë`ò>yÑiD}ùA™ÔÆ•Ö÷ˆY]¬“S3»é¼ ¶ ñ”üâ;ŸøèÈS! }€`ü¡Pè.é §l¸©“§Qš¿[wŠt°5—j±Ù"7†@ùL ÂïfOt€»[1[‚‡BUGÅÙzÀN)ã7(u Õ<ËÅe"ÄPѲÛÒ‘ÝÌ{ÁúMêâŠÔú;ìèhdz?TD¿Ÿ™/ßMÅ^V†CÐâ°ªVèx¤!cP·<ËÍ#‰l£2¾;zuª ÿ^ÁíEqžcVµŸýØÄ-¯L4ó¿mƒwo^Ǔĉ7îØ–gHr¾¸vÁKr½ÐÆðà/ŒÒf Ó`i8zrÀÁ¾*¤l–Li®ñÀPœ×u(åÐm ¤—’÷+dá "Ç9f°F m,)ׄž¹å¬èU yêÐn‚þšœÙlÔ6g'þéô¹ìÕA)mŒP§ç…ïüY`_5„ ¿B½ùùé_ݶO¯ Âܸz&«ÑJÅÈ0Ö½]$?ßíy¦3®K@Ã>ÿy¿÷| ˆx=Þ{qªÅ£/Pºç¨Èf¿œi uÅû›¶J7Sµp…}&Éy]BÚ*¼Ÿ0ßú‰¸Ìÿó«ˆu€ S|bp$—?)V¯¶Óä0JTÒ<'5&¾$ T¨¹UÉ¿» Ö@bÒ­/·NƒŠ¿<æƒP½ªµS|*ô¥«wyµkÆoÿ‡âÞB²+ñQJ lq*D 2:Ãõ„©ÙQw‡Wþ~íÔ˜I@¯(©ÏD /3Öäš0&êq´û>½%ˆ=Ê·3 ‚”tž Ù&ÊGÜ1ßcMŸmø½bH -Ý\¸k߀4Ñ~p1h;`¯âÃŽ—‰5AW´;Ľ:g¢8—l™÷|·gŽè¢Ó,¬päOyWh ý9}ÛԲߴ_õ.š.†MNÕ£”âF'ħ‡WDÄúëgKLlëHû!–¦&Xð«uÑ ¤czT WÖ:^^§eÁÿÎÎI@ ñL ,¹úb—#2ÉïÄY¯úíÓèƒ=n¾ÒtkÙNƒ+>“†Òú¸€¸3MŒ´Ý}Š„lâžÁøÔHšw<òSw©·ïP$ÑFP+±|oHFèá³ ÓH«‘‚ð@í7ˆ[—E4Ü|õ‚ÉÑñ=öS$x'öUi§â° ·°¦’”‘£’ ^ÓÙël³_Ó8 õ}C¦ÓÌGÑOW‡Uí²3jJxÑéé¢âL‡Ë£ã$§Œ“9W:^D. _1J CÌ,:sd‹*hfâÃ\ ‡äv¢ÌȈ¢TþtÚ(è o+¢F[èŸrù¸`&LdWXºêÆrGLPê@ò÷/“5%aâì«18U£œ|p¼•Å£ÅBn·>Ž~ô–éâ/‹¦Ãô»of§csšÏÑrxÞör·nydŒ¨NfçH°¨ø{‹Úo)íý\ß–ß¾ý0–Vút˜ìTDô–¼cÐÊyÇa—šiÄÐßÑbÚWÃ]C²”eøÝ´òß&“æò Òr¯`îÐþýˆ¾µ9Ù‘I Ám¦0 ì^sq òÆmGV‹òx¦Ù-×ÙU5 ŠæÁ@“®´.Ežû1@&µý2²Så\3Öád ixêQjÞ{ðQÔ›õÓò3Ëo|F ²¯ZGÌŠ¶öãÊýÜ„ëËŠ ó†–ߤu´ß•n;ôä3 ÕˆÇ(ÑN®³®ÂmbÃk1¤ê3›É¬ùþU}MF”7ÓŠs­°ÝžNíÕ')Š?Ça:1{²ý¥î¡Û”‘tN£9¦Vظ"QK>*«íë)3à$¾աõŒ¸à}0¯ŽJ!×¶WÔOÕ×NÑ­×î¼ûÑË Ù|o šößzÒycJúܱŠÄÌì¥`˜)¾8—ƧòñPfàåÌ»a»îŸf8“òóKãCˆ€ëø’û8µ\¯±YY úçËS·ÝþÏŸ!)w-Ò÷+ǃ@îÖ~vÁÐáA?öf²º!%ý3ÐÑÊFDDãîŸ`”`¼ØW‰”ÉÆYÇ×'El@T> Ðùó-)µd£8ÅÏ¡fîÈ"ì¢S5X…¼@Nåa¦V#qßsz·Úm:UI{9‰ºKØgWÏjŽYB‰%BlV±!댺ðvVAYë.InD&Ô¯Ÿ¡¨ål5¸¨ñ--é{ ”_¶«ÏŸÆh W˜Ÿå#¦Êø‡±)J²¥db.Î9Ê N×#š(^q…ö(Öáß2´ “‘ï‰Wš´™Žó1?øþ>ë©n•iÍ@Z;’tÉÖh‰$ÁXì™êó„xa;ãìHÑ7“$Ñ`Õb]#¹óËŒ#á9í¢žswäý¡l?œ0ˆŒ3J1u|*_Þ>SEöŒ>¥@=6PTˆ e a¢„™³½ƒôéXI›POٚͳb¤KUçì.Áo“ãŒ,XÁX‡6èˆYÌMmÄ&ÉèÐa`H$@ø(qqì; °1=Ý1ízà]}îè ë§÷itÞ^ý[¶¤û æ-ÝMþ1 9 ‡`„Ôézå¼¶Ûˆn£þW›6 \¼«ÕÊÚ;Eሡù–“§_#Ù½òÀcî}yk«í¨w˜BÈÎçZ`Hy(Zï ÿ˜æÓÝüÔƒDýÓ1üª¾F'fˆÿî4¼‰N$ª,õ‚`‚M‡Á5ïî2ýÄÈlŽ€Žíûô–I³¶•{ËH#Þ3†Ï±E¹K|\È©x'\cÚ Ž4²½g>5iÇØ8à„Ç{ó˜Nœï A”ÙcÑÈ<Â%Œ]‹üi†¶ü#ËAžûp†$±[¬ñ0uŠÈ”½ý?rPwì$Hæ,j|E„@¼Ïù>ߢ\[îÝI?lS @′Ì”ÑКtŒ¥ ÕÖˆ\ÇÈXó¥#lNÓ†¿2õ¿)ÚžSðúéú2ˬã­{Q—Ä9¡€6+4Å‹Ìg\iÉö¦í:2ãÒ…MF*#킵Ћpnœ.?Lˆ“<]g?R›WB¿¬Ã-hàPÓ•³nHœaúxJ¹Y]qr¿RšJ¢æ¨6-ûdsåL’–`šJ {µ!ßdp(u«,á¦SÕH҈ɑ˜æÑÞÛâ³ÍE+¤¹ß`ŠJ¥Â7¡}$èû®ÒoJ|dz’±áA¢tèßbóv–2û[3Nc|?]ãvofþ®³¡äª7Ö1å ÖGîBÿ¶gÞ–as ·ÌP-ÏAWUDsštež`}ðBkó“ ¨‹z­I¾×ËŒÄÌ ƒß·I #ýÈzq³:¥ùŒlón¨`âg« LëO@µrḲŸGsb¦d s,:†.þe¡ú;äoñÕêoäz†+Oo7ÉBЇº€õ¶ùF žaµ×ëÂíûI7 iñØU¹7ÓXŸtËí~ßQ¢¬jó«MxQý’À´»EŽÄ'i> Z¥­çׯ»×èu‚b_ÐíŲŠ„¹î}‡wr*˵<+p† .‡Am3ÈÞcý‰x°«.dÕ÷’kºx¼.Rëå{fˆ^v¸ƒ•ü=rÔƒIs¿E"­ Éâ¼´9•éaä­£ÖáYyv_ÉP/N}°gÅÒ¸=Ÿåætk}€äÒÒ ÁÁóÍßÒßœJÙ¤æPËdÇ)Ð=¢]ÖªÈx觉šü¶ø?AØm!wG¼Ÿ |ÞkãPìð‹«@øÈ€úÈÙ¿ê–ñr¬Sq3æ‚ZËgZ~‰ñŸj€í¦âP I{Á½Iü `Bgâ»;#w¹[§ øF@ŒS /¥¾;U 'ÕµCH½þýAõˆk¸ø˜õ„ 6MůjOF¨ƒ»ãõž^íðªòèŽIÓ@j{9%Ï"ÖIȲÐ-A<ñ«D>¢šæë {t%Y¢=Bá«ã°e+>vHâba:hþcëv]¦ÑÆéf—úÿ¶J?:ЦåÜñls`3˜å£ªÚQ:(-‡ž—eº9|Öó>„†3(µ[–` ì%(ú ™Zwà²2͈%XšþÓ"6¿¹¹7Y ƒ­*UvÖÞæ´½ Ì¢AÙçš"þp7qo<šå9£Ô?óþOJ‚ê¶|ÕUõF)cµêº8_…r_ÍÇGžÜ\±:¦s…7í8ìUÐ.éÀºƒÉ-»ò}¼„ôžïn;ºé‚f'Dõ  ég.Šj;$PƒWo÷e6£‘¦ë ¥…_C^öðåÿȦ-½Î p~ñTK‚ÒIŸ4¾Pû~r `ø4G6¸ôÊåýùF™bØ„Â) X«_¿¶ƒvD¬†5 i#šíæ˜[ŸrºÎVÞuc˜…„´ËtÁ‚Ÿ—ÝTªjáb0¦Ñ"ùÛ‘v@D4/U”N+ÿo4õ€ù„§_ok š#K‚å[mÖç.~mŸ¸œÛ¦© Ú6ÝÚ ˆ ÑÔá<Št.›Ø 1Š—8°ç˜_ÉL재qrÉý!fÅl-¹¥!½ü¼ OKFÌí¼Ãôõ‡íç[´ûuJ1\ëþ¥Ñ»²b"(>Ûˆ©ÛÑžÓ¿fùÏÕ‡òŠ ÔÚÂñ`%4Ö£àzåwþCvj߾Έ;[w~å9ž3í¯"¨Ñú0â.c1Þ ÛjíS}(‚{0ã J™4Ør¢Uï¹xXàïÊ–¬è™='f©‡ Ŧn{N&¾Ÿ[Ô¸R# œ!‹4¹ûaYÁÁEc; £‰ÓÝ?|­U°Ì¤0ä ºÍª'SDéN¶Â8±òœ3è½:æáÏ;}åüÏÒÈ]ß<šnñ؉*óƒîûÛgù.ïE¼b]v;ö•ÈN +¼ÿ ,IÔË3üþØå :SP²ãAÔlMGøå¯HMÂxœÍÄ øþ|Õ'ê!ñzê^=Í¿F=Ø!¥ñhÒ B ſy$¾sj„eNE0áw…O{ZòKÿ«³ :D¡Y§§#Ý3»RÃ&[Um6©,\O¤‡“@¿Þ¼Ù¾áÜÑu7A 4­Ðbyµ¹¦x{xÊÝñÁëú[cÐýOîÅÞ±íH«þ.KÕ¯[|¯æQ™3HðÉ$¹vB9­NðuÌ,3›dTÁ’©í %Ê2y ŠóAªe²NÒ~†ÉyPƒýÈ=›'ie AV`=¬¬Å3Íy ¹ÛéçÚVF˜/‡bTæõpëTüÞ§MéYúR!¤Ýéšcq¼UYtÆ:½i0ÜrÖW¹›†Î‚µ\DWn÷ÙÙˆLZë±nÖ}jázîb†pDÀ u·{}Æðîâš"^›eàºI!ÛîIžâ1ü%~!ñä U ·•P¹wQÌÍ;ß«½ÒT;Íîz#÷DaÖM]E*`78fàC6QÛ3¥áSUIÈöX²a‹9†TˆÉpù½ È jÁµHÑ/¼f[܉ ÓÀ¥;Â<•¤ ¤Ô` .LìiFÉú–iL\$é£uS÷/t–ÿESÉÒ ]-§ô°Ñ£p‹çoiDþÿ¡ls÷ 38QkM¢0œ¦\ô¹âõúòÙ¿«ïOÅs—MÑ’îòZGF´tC&œ•Êj'%³"lJ¸S%öjˆ f:²‰3ʨß™=BóS¿Axç{°Pˆ(yí>©ø£°¢Q¹ª-¤—“ÓûìÒâ)ˆò€Aç­4Èõ_”Ÿ&Ðo¥±®å9Ž¿vÓì¶¡9Üäê$ÈkÂ5Ô‚¸m mÐ ö§·¸Ub+Œ2`­íCµ$®¤?Æc È>Ò%ódÑ[Ãõù™R¹ ãg —¸ó²¿.ùÊqô—Î2Þ÷€þécet¥BϾÑ."ªÙ»¸èîÑö¿%Œ5Sµ÷Ñ¢yMÄWêò”oa_;•4ôÒé"5c Ý÷(C˜Y µÝ±!A\ÏuHl$öW‹ÛË5hÆÙBŒm‡o~Ñ‹„'†&ªhÛëû ñ‡¤>ikÃŽ@„ÂÏ$²u¬U: PÌÍ<ù9–È)xLö_a ´!Hbùâ®s­öDç6T ¬ä7v}>"„à“h¾’oi鉎ˆŸ÷—¥ä*`Ÿ†&p.è¦.Œ’¶¢ôìµ{ánüø5%g—#µëÂ…ИÔÎ-ÂR‹á¾¼@¯ŒÊyÿ“îæ8¿wWs¹ƒLzÜR/ƒT¤ÄŒ=·ŒÉ̦iÄÍæ+1¬á¬À–;sFŽ ‰Á)íåœ/ú='¸Ö˜üši¶*>츪àj¥}J2…T:w#½o¦æØÂFÅË¥°”!•–ø\dk¥™ÙYÒ¬ó>¸Ï*ª‚Ý/ý“à6³Ìjn!Õ»¯T½ýÏüˆ‚Pô/nÒˆ¤ýŒ8KøÞ`Óž~ohù4YH'4Ú×>î¡÷=ÐØ1ÌÀÃŒžjv›+(ÌL®ô˜i:‡õÓÞ$Þ˜z²íúŒRV]•¹ÃÃÏQ5V* Ìží­À¾O÷Š*Ñ»ûL~œñµw©¤NÞævXBœ&Å…Á˜"Ëü4¾J½]æâ×Þa1‚£Ó–­fT´N¾FçµD±‚]Ë‹hÒ?Èj3^R¢ ±Z@ái}¨Ø4ø!ºú‰©¼g›¸hîåÀ´Êvïç]ĹʢgY¾K—€Î¹ŒMp}¸£ 5lº¾$ÿ¡S|ã"¯7V"ÛÅÀÏZ êªB«]wÿn:ÊDzâu/DJDyìr;½Ç]_MñZºW{Wy£&Ÿ p±£™úkpWÍÃÁýË]3qª¹ÖC…çªðlÝ]Ÿ5µ¶úÌ’VUÅ1Ô²Sé h~³™GIðª8³ÿbÇï(â'½n¦ñã®Ñž»hƒôW8Êb"†‘ ö×€$÷mÎë9Ypfñ=¶éáEʱ#÷š9D’Uã6ŽmŽÊæÛ"ôùÒ±œ¾¦ÿ=õ9½§ ŠzJR{¨„{G:ÙÁžüŽ»Zx:ÕÕ¶M­ÚCp¨/ŽÅ<žt…"'Ùp :½É(}ÇIyâ²o?ŽejbX(Ñ%ÁïAS—GÿM6qXY¡jÞ´?×q§±sBج09‹@ð~kÅÙÑ]oÁ-}“¶hÜ¢ì²p¶Ñ|õX‚éäj~ÔªÕÆqÅarÔÇñªŽYgä_/ë_âšK¸qÓíšÈâOØ Ã†#LU•°û»,‡ÂçôGʈû9i\¾x,pß3¬ìx9‡.h³9ùHÌó#Èd· dâïéY] À€€Ø[Ó€ºuQÁGü,ª”¹ºól³Õ5ý-ß)½êÜ 4¹Â=ÛT¬Ðæ+¾E¢¿C_Æ·¿ävÚ4/bB@ÏÒS‡þ¨œ4P›…MÉ+±ÆKˆmŽyÕš ^¸áæÎë„Ò JÙ¦`iPN]±Dþ×ËŽßÙ¦fIzUñæË̈è9O{ "MÑ#v¼b:ŸÖ…TresÇ\Èüâk:õŸCü!iªÊôðrqËŸ|Ei’GE’<*=[ÅŠD›cì“^ÉžÊíóΚ“‚0u‹ë%rÍÅ;Sž,|]袈…˜ást°XÐx š$«;âA¤“æ#ÁÌJýèjj:?(ÿú˜"‡³ Ç“0æ-]2ÿ Zd߸ C»)«¼‡¥ñiÃZàÛ¨ˆÐºãñ+ÁÐøêP­Ag}šj1àWR¸‡ñß+°ºi[H;úÍåõ*ì‡IL.Ä:Ôë Ò>¶ÌÏÓN#ȾÜ2lÎ<ˆ¢~E÷Jõ9 \ Oût˜óú[wçF§j#k´¸Ñ»~ ñö·Ž» €6ûá€%[uZ{˜2 KM¬Ò¦RA-wÒ-¬Æ%F–­WûÔÏ| ^ç.»ó)a­×'&Ú*µÝ¹.ÜgS"Õ Ÿ°cï|B[_ eþRÔÙ˜ºnb¦Ýt˜«ýɉ~|.uú ,Ý`­Þâ¨ÂÑŒ@w)›œ9°ÈüžÊŸX‰»øX˜žùfïèÒ¦áå{ÂgÓ-•Ý@³—íùŸüÔý5?Oggw–a~HÞÜ~ÃæÜéÏA$—SFþG†½åMcƃ%‚þY"—u ²EÞxJ®H¾ˆ IÔág”¦™#­ÁÒžþkòÇw¦ªœIö-í„b&Öî—)²ÅÛö>úê¸<Ý‘ÈÌd?«@>¾ÿ9CrÐI_¼XŸÍ*À_ƒÕ§ãŽÃl„L.*Ëì_» JBœ{›-¢ÊºªÓ$[*ÝpIsÊeÔ‘"罸hW–ÓLJ5’˜7É-êhëôR8EÒ^LJ¸\TÖØ qºhünÜêmä’aí…9Š®PÛpèÀìe+ßÛ?½¶¸é9Hä³u@aKXÛ-¢/ ÑÖЇàÝLkõŽ¡â+éýú` cÏ®7Û¬c¹ÒÄ‘>©]× |k6NOnU]q5Ù+¦ ^äQ ½©ùÇ]ì§„»1—ï£z£” û]{Òæ­‚Ÿ†¯´+çæDd~ù¶!RGÞøçõ_|“¦ZÐŒ|ÝÖ#stzĬ¹#Uè럄 h.û±ôBŸ,Þ̆2åþð m·¸$ü§Ü" S?j*80Ê€Û±Ãk­UúG&0¬¥ “ÜÞüV#ëLÄxî ‡­‹ˆûÒ©œîÆV}hcjßtÒ³﵄ ¸¢™›>rL-u«³´jj`q±8‚!à}&w.úA¹mÆ[e˜ˆóí»+Ðë±9—ÆÂ‹ @¨)yˆàج'ÂÖƒ>—L Ukl™é¤’¾)Žª²sß_“¡éAø»£ïwŒÒ¨yš7Ï yfa§×ô%%Ÿ‹:,€«=Ù=‡†\„MÊ=ößk¦§žX ¬´†wªß¡q¨ÎÝJlOm˜n¡ÊhIºHú³98·%<ßßV`·ëÃàêÓ†ààcúQÔïûÈê‚ Ë«J5F™“FØYjíÊ ù†é¥ú[¶Ë“¿ Ì‹üÆÏ׿$6“uDä÷Ç>ŒFO«¤¼m–}þªˆ=çžN ìó®bÞÄÞGj…UÕfªEÁKÍEádQ¹f bG¸3S€¶@¤OS¼'ÊÙ;£Iæu5ÄÃ@Ðæíµu^ýæþò•Ïj ZnÃç>KCNNV¶ÍUO$Âõ9¼‘¤ƒìÍ»OÄ:µéK#–¿?XH3,±v·ÆEQvÿ¬œI͆ð½óý_ËÖþ/"nØXÑÞLÊ‹L@‚d5£KP1¡´m—JYΨßc”ïÒ³¸»­§+Ù­CîÃäµu³“]IVn81*B©(,ÂÒ™Úcø´I£ÙÄ®ãV¥’ å%wæ ?7^€Äz+š`Ùêçdp­ªJ s"û‹#xÃÙ¹Öžïm±kUÏÅÁÀ³È>8fe·Ÿ}þz&¹úñæï¯D‚`x|©µ*ˆBÃ÷tÚûØ~2¡Õaô"…·-Í›5N"ž9‰–Vðo=ž#¦Vïþ4%!d÷oºÔšª¥§¯ºÂvÒþµ~Úta' o?„Šçôê˜}{ ]±ôØ’²Oý8š»Ssˆ¾Ïúæ¨ÐׂrÝßE4-!Á±…ó~ô?ÅvÎáÓÒ&zmG¥1ád3õV;+9Sk»4&tâžIM]Pè$Åb,)‰×›º;þlãpš¨¥9ÖÑdóí˜:“‘c‘|¡ÚLªò–îÝÄ•pËoîHë$œŽ žcf\ÖùÉ¥–¦M{ö9¤“sZ’ÆœðsºCPÇRκ!ê§Ú…Dþa<,0ÐpYjÁ|E ôßáÜ¢uøÓ]FÅ¿¤¥\;ƒ®× ö¹gxs‚³~ô´Ñ›óD³qDõ¢ÃH,0! `­PÏñ‘î¯ei8†R‰¨NŽ“ˆËŠdî{Úýc½àì½ê@äQ}(o„³ßIÀc¥J‹^«È,R°{2ÎCø&ùü}­©­F“tçK…nË;Dò’Äw˜C®åªòy3íÖS²&«ÓêÄÄ_Ø©°ÈHü·Â Œ°Ê„ºþC¢3õô štéÕ—á[÷¥JÛd-¨’Q®L앃Åbâ%½á¼¶Ð¥XÆ /ÁÒßÅÏiAÔ·¦§ $mS^+=k~ÍÃKöhð×N7â*èI^Ø|ZAgE¾x1$”2–ð}ÁT;G"zi ª„Þq—ÝdSùÖ"™.!¶[¼í·»Ï ÷¡Æ(#‰¨¿ /=R¸r˜Û´˜z1°p©kê.Dc±u3è÷Ã3ð²“f·žï3sÀ›UñÿvšPÿ2|É„TÏá—`@@OÑAåRN±}ñfk}Ö¹8 ÷ÖØð[›úÕo$ö|õÓ×ïÅs;8Õ tzv<¬Q幺ĪáÉy@„Úvã[anºP«”SÈ y MHÆÑˆ9|%¤²5+)ÔOùÝ¥ÔŒ¿óEÓ&ƒ­çû$ èÛÿÒîKT^ù®ÕŒÄߥڽVpÛ¯Yý¹ƒÕÂóÈ€åpƒ0ÓÚrÂÓYµÕÉ›@:ú28ÆU³ ~Q­c5Aù™ ÚJèÁxN¨þ²_ìYù޵‡@T ¾¹|mžÅck=zì‰ë“Ô Jd¨È{pR®väíŽHÜýÕð /`ÃÉ%iÇMŒ>…xe…î1uæïìþp-Äe·<øSqÍòïDF=!ÕøhQ &ž Þ&)ŸñHí’וËS& ¬Xõ{¯šXÞ²äa`²1QõµoÝ¿Î\æ§>Zi#DŒÃñJ!“(X­¥ì”þ"?ä‚<â¬9Ö{WZ Ë]¿6q ƒ!ƒšaUå„û);CoùÛ„œr3ôX9 Åv>.Èþ)9‚øk º`ÆpE.ÆÎ Všô­2y°Tq&H‰ãíÇDzµº|[Ñþ%Ë)‚ø¥b…_ͼìQA“­è— Ya\ÿ殤$”·Àæ/QQr˜TŽÏÉ:™Í åÛv—MþÂQžï‰:XL8NvÖ®BnÚVfb*²Ê¬]¼aMk"p_rèYrŒ¾ú˜ÁyæÚÈ${%¦vpüýØñøD%‘™ß§¿¿Ó$ŸêN´¦ÆÙëN ™þ”`‡üIÃÄÍ[±pKÌôayu>º—#׆ÕL>WýýŒ’;ìAN[C9¢–8Ÿºž ªßõ¡Oµ6ËÐ#6¸D&`¹ÿb1Fjì†qL‹ÉVÿ*íªÂçàÏT7ï‡-‚/Òe#Ø2”TV™ L!ò­A.Š˜Ù ÃŠ㮪ä.Vç1Sl·~‚GýnˆÌ[hY: m Ôø7Ö(‹çSæ-q:_!¹A=S(aA‘÷4ÄP¨¶3õÉ Çµšh ¹Î´W1‹ ˜×Qà(»þJÝëEUÂ^îœq.:ú†»ké&fŠØ µo´(é†ÍFe­ÖЪµC(./|œ‡„b+5+°ŠŒþ®!CÍl|ÖÊv1È@¤eD{ĺ-Ó0‘U='±WzXÑwüÕé¬uwèÆ8=Nò—ÈÂi0ëv²Û[9d°=ˆ²Î N¥áÐlÙM+-ˆÎéðÜ*#xLeÇ7Xȉ]†ˆ)ä&>ø÷´êåšô†Õ 61ðl…·*#âÈ´@ÿ) õ¦›gÆ_U}d\Õ ìWqá ¼Ës}ü6Ê률b0pµŸ*„½5˜Vf´­;)øT¡æ©mÈq¶*»nòP0J>Á0y{˜±„²¥•ö~µ#ãí9ý€šzá‹‹ø…ƽqxWKoóíµTpÁ¡!A¸w¤¶²¸Ö^{j°¥c3ìÁ׈”dë>;A_°«ÑÞ Æ‘º{(êô*Ic¬ˆ‰¥ª0Da–W#v±èc  œˆÎ‡¸N-^ ³“1çŠ_)ã–º±ôÓ™*£¬à¯Ã°ëÍcôœgüøî2›‰üçR'VÊâdK7å£8‚` èßlIo”Ý:xö½ˆ 5*‰÷ÎB¯c%µ*u¸Ü# ˆðsˆv³.¥=;…Øðx³°æZwéÕ¹\³¾ˆWúÏ ÑÕq6h}šBFŽm@h'G0>¦GqÓÏÕ>%_¶Q_a.2ì_¼~sñ=²©l>´Ç+÷>ˆÚKjæ­Å³Å(<§Õs["ú‡Åš¼õ¸AÇɦ’ˆÑ„‚ü¼ÜJ,…_;µ¡qÚ3æ3¹Ãª‹¶~ÖkÐ/óJÕ{zê4hNRñÏY¾4¦•1N¡ù[ÏÐLc@WþšRvP+³=]ç[àóU°x‚žÛ‹P‰ðzmÿ -Ë«{.{—1©su SV+i„70|¬Î®îò»°_>÷\„We¬¦¸ §›Š,©0übP9·UŠbcÆRx[ˆ“ªNt;ƒJtpn`׬a`ø=»X:Å(2HdŒM1qQäôË*¡¼£èvÕ_g*Χ·è2•ô5ÇŒ¦o7FͶQæÜuu~O‚/Gë>-êÉñçËHµ §â¸lï·iñ\öWÔœ5Üoó™Kv 5áÈMÛOÔw\‘Åp±ýƒí-Ž{la”R‚½AÞ™×U4Œ¨ ŽP/'PEê†>”`H<ˆúáOªã{PUåå„KøY–ðõyýjÈM*c$ÚYò³¤MÆÇ½ K8¯½Í/Jù× pIcDxÐ_?þq’¶&µDa{²¸…?Báz<+&è5ÉŽrË“‰»‚¥"°dvææok /„@þ*ßE"Ï%3IâŒ" ÞmÏÉK,@ ª^2¤û¹›IŸ#Ò>×fúÅ»Ápµ{Æð¸°ÐŸ°îÇ–3’¡i;‚2£3…b£—Mé'ÝBÁ`ySjEb{Bå1¼b}Ƥb$FªÌç0¿Ãxú|ÊÙ/³ºG¬.R€aî¯ÿ‡+¿,ñ6µP½ŸŒtùŠ.8òlÈ'” zÛò.ÇDî2Gû¿©àE:&˜¨ªñRDYÛòO‹DX±2ã¬(ÀÊ…âR/•òÑ^©l®6„5sáPnÄEè1 LqCÍÈþ£ o·2€ÀM6:Öª_ÏF3µG³˜Y'NqIÍÛÄñ˜=çÁV5Š5eͰñkÃhº‚«ÞíDÇ]µÂ´MòÚ?˹V®K4´1¥.÷¹C©¯‚œ²%3õŠ”mÊF!øµ¸ñ¸öäN7’«Ì ßx5?Í9w¸æoý’žÁ]w!B¶ú¯iYí`]ßJ‰—Œ¯QÄaöÙkvL ¢ZI*fW€û¯û!åní‘CBr­¦ØÁ°2 ùŠ|z¬Äˆs¡ä°”g+¶?¾u8&¨wÄÎn¾1äÓ¬ËáÊ›BK} ¥MS‹ä«Àª3þV£?t·49%àÈþØ|Æ„l¸b,oÆÑTnh™\ì'¸“&­žǪ6BcH}Ú#Ÿ9ä61 b॓ÐðC-èÌ ßºÆÛ&QdE€$˜yÖê4öü;63M*ÀØ4Py¼ àmtx¤ž¶UÿL(ýUp²^í_$" Ë&±ü L"(Ö‡þQhÕ8ôÄn›F ² ºÎi†ÎÛj÷/«5í*›ÔhUýÝЯÑí[H©!¼­Y3ÎAø-ߎ1Uå‚otôǶ·¼+Ò74Ų˜Ò‹êòT`yßžqÑÈNNծӱ˂^ò÷7M¹ N‹åƒ3T37?À›« Çê9©xj9Úºg‚¡rÉ áõ—ö™Ms'œ>ñòL }®ÇÅ„ÂÇ÷iï¦2×íž›¡¤×±YÕ( ë9Iv2ÙâàתSdŸuÖÈrP„Ï!Ròp¡Ã…“L”is°LYo¨²¾lÉÊÐf¬’ѶÉPÃ4Ç«Žnó¬f‹Ö²úÂú½ræ t ‚P¸büL%Bs( ïô†•¾¥£>–ãÒq_°Ê…튻Htv[„Q¤?­•š‰oŸ]ÉÄ»+ âK?½ƒmfìbÖAÚiJóÞ•Ý™V\yŒ.’›|JÒßÂi]hðA«œŸ"‚¬“ÌZeM.Jœ°§ÅæBéáäˆ<^ýeVÍKRÉ‹á8N@]u[nùÆí_…Ù öeh5̆ÌÄOÌ+Ãâi|dv@Qü¯GÁf̼È1Z÷¹»U „WV´;&Ö/ ÿÕfFÝ?ÕÉ ±:5 äÉ¿"1{쩲ì—ET ÕŒð˜öcöOĽ¢wp¿¤ù2ÌWp*€õÔó=5kþ¾¦¿Î}.•µœÍšh|²¤ Â¼jó“ݱã7ú#Qû‰£K­O}ˆT$ r>Ð:z‚”ÇÓe;`m å±©³®7–Y,¯Eà²òŒtY%רÙѧêµòü8”ˆÖ;ê-, JÙổ-D… ·yýjfËšYlîw9ë¸C{ ±Èçk¹çëÌd Ü©CÕÝVR+Òpˆ¤âï?ùÕ³Ä' W„S8§=câê̪‡v»Y(çŒQg“fÛl N§»‹ðgÂò/^¿–ÿhe¤çÓ·hø1×›É''¹õSP§þ÷Ñ× °ÒO‰[çU‰ÖUôã¯MN'Ž…< ‰h•ËgÕv·ZpoaO<jÓÁ™iÓÏãÌM(çP°·‰”kë-Oæb¹p­ HÙÓ˜¢RíÈKÕî¼ýÌ«ë+ÓgèiŸ˜ÊœÆdò=ô2Älˆkar$Yo\`§¦F?ˆeMñÍ*Ñ¿V;$2·nÍü‹%#cL/üzEÂdÖøU·Q€šVöúU"}"7Ex–78ÛÆÆãðU¡Ïi=+D¿¿±í¿ØÓNÄ#K•cA?ì«Ëøi:ªn9¨]ìß •åâí|gö†„>u®^¤ ÇŠä° á€Wü8{ñg‚¢Þ«ÊÒgd’àb7ö6b¿A÷&Š(¿£Fú[+Aåì}R¾ ¿KmKvÅ´¢Ô¸§ˆ+„ÉŽ÷#§ *Þ9e/†O_m¤s 5¿‰V@çlÇ&4*Ý(ÁY(Æ>¿'kÂ…Þá ÂPæÚ·>С֭¤Ïmª<…óƒ¥qm,Z v¯ý´‚ýûFu›u^¶"oNhÄà4–d£ÐçÉÇuÁ°œ!¬9Î`·“4Š,·ÉBbYC)ZLç›8Á.ߙƄ‚ÄÛÖU¦ô[>›tJ§aÞª÷̤bf•—uªòÔïÓR ­¤°N0æÁé/–S»}è|ÖÅþ7ýÅvì¹G¤|ÑI:GŸÃË•ÕÐß_âtú%³Ü€äȱá´±h—Q¬.sï=HL=Ñ‚¥Gã‰Ë’˹ÊEÞ9ù‡„œ±\£Ìí>_Mщ. Vú"ÊÂöõ …x+®§1ÿ$û~‘ð  «ÿßçßu( Žñ‘=:QÆÝzDJF|;{×Í®›4w°6­V Ek¢‹~:ðO1`î©ø¬|,Bg% œEd‡~C­7^a|T 0©Ü¿X<ŒOm B€+‰ÇPƒ¸Å²0ÂÈ+í€Ôð2¿÷ÿ! ®3XÃ]˜GèØ¶Š¯Õ3Ö?ù,B °x½Ë&ÙPÈdSn}óÏ¿ëOF²æf ¦wo7õCó¾£m7Œ‰ ®+Â9®k)hêé˹> xæSQ’¡é4Ⱦä¯ï%Cìî_û}¢qGœÏ¦¨’¾|(¤,"ec£Ý°Í0i6`½ÿ6tÈž\îØJ1Ë#ñ³Ô’0guéÊeU ¤|};Ô,YEc|uOº’rœ©tŒNú70ýÉ&|ªÛ³öЄ†é“p ;®«†[ç|®¤.èðI‚JÅ.úÑPf·»ízîrY„‡™—§ul|'±Šõ;ÌâaËä5¡ë²©à½*u%ŒŸñj-†î#«d×Éqí…ØÏVVÙÍÿúñQi- 6J‰5üb6ßà°& iu3[¾•Û+¸ >cÃË<Ø¥0¹.'ÊZq{xûÃ2¡ÚBìmþ‡wàüNI¥o0‡³)7W„B”vs7á»Åu¨€Ü¢]ÌPÔxVدa’‹ö› ýÝœÉ+ˆÿ(-a½h¾MQe‰Æ\Sp~šªAêðêuØO;ú²;%‹¥b#Y ]´à¶Š#߮ѱœG‚lä0“ÞüÌE ò /ä\j¾e¬Õµ€7о¹ÊédŽ £¼Ön},ù²õƽKS›¯°^¿Â KRMvØ3>ÁŠ[,šÒ6äÊ5’ÀpûxÓË–ĘeW‘F&Þ“eâÀiÍy›æ—9 4Þ‡EIü"?¸M*ÊúEÉ ô |äy| ¶V̺™=0¢¼vD˜X÷ˆÜ «:¡¨2ª¬ptïZ$ P«ÖŒ…lðVÎD0²7·Ÿ97]5Ñ`m"â¥ÓáÃ5˜'ód¨·Mxy4YuuçÇÚ%c çé/*NP’£“cŽ…ÿ€B„€%GG&𫵃ñ§Ù»GOÔT§ìÑ'*°[uT™/œë£÷DðO¨^ ´¦G«±F4œá#¬šØ §VŸ¦Âru^åZMšÐïÊ‘¤”³¬‡>­1 u¥u\m$¨JwØG÷„ÈD [õí#š9úoÂh&KVR×[TŠÌДCq»\í J *%¦$1FO b«TËÛè’¬gÌ–þº4Ýû^‰Ûy°€†RP¨¸Êa€<–ržÝõÝL )?† 6(ÇÄ÷ˆV9ÃÂ69ñ_›Ke`?,WYäq;kŽÊþ•DÜÞ›ªÊ Ÿ¥Øé˜ù¢Z§FÚìîzÇfWÚ—íºÕ—°ŠÆdeèÚ<é€'­„¼£s¦2^Ì5H9„@eÚïQ9ó“v¦ÈN¾ˆŽÔÿÁßiSˆB>wwÛã§§ÛjJÑ)\ÒAï…OȆÌWç“–¢¬|\’ŸÂ¯*-y¥¥ÏFÅt ‘²Õ©?1tìę¾ˆú·]BUaýßì’ ]ÅÃßý3S9øèsœ§b@™¬¡fzØ×ýâ~ÔöÁ† #§dÆ ÚŒÅ# 3þV96VÐd /Â^[\ƒ«m`˜vQ|yaw8Ä[Õ!Ýêë¢o'ÙTGô&Y í‚¢1æ´5»y¶Í[žéÇ:ØèɬÏ4Ši-¢0ý’|hŽ’ }¬Ø¾xǦ Í®û+®6FŒ™d;]g}1š˜{ëKD—0Øäã–|…l¯MâÖJkDSðVµÊJ*7YšGuL˜BZ$¦Û°o–ªÏ¸é€âÆ ]‡µO{R°Åac7c– ³ß~ÂJ[¥ºíI‰-.}2û4,M“ˆfÌWrýÉÝquÖ†>½ê½zb[¯ÅÕ˵ “»XßG«û§E¤k#c èû‡òÜZ†Ž #/=ú¨—„ú /¦@ ÊAr;Â%Rìi¼k >0C»:rLã fjßr €­Q[µáïÌV¶åüNÖZHHR:…»qÕµg[ŠGáÙÑpœ…¤–}惒’…§7ºûÀÿ¦Ñ.2˯nÞ¯LS»`WŒÎÒ©×Yb(bÉxýðzÙÍ[+šÖ¯(þΖ $k Ôz½ ©dߣŸ´Ô¿DÕŒäù‘ÓBè6t¾¤×Ö±ZéšgµC¾]Ž›v ÇK'Z\Ò@m´ã)T†ÔÁõþ™wêcÔ8mæ¢Iå 8SñÀÊŸö¾°-946’7bE$5-8ñœ¹1ú•€Dsù´üUaúõ}%ÂŽ•%–t±»&€L0 $³|õ@^R [p«SÈlp·± õ äŸð3ÍVÌî}ê•ÅÁ‹þï¢ØÉHÅo¨àô‰°Ä*þ|3UZBÑ-ëz(Å67·¸ùtÊÆìçöµ“À'ƒj ¾oþ`<Ú¤T)›ªÓ3·Ýü g”Tž'7Þ W±'”JÝ ÊŽgŽ—\Xìb±Y¢TIò9‹]œsw‰ˆ÷2N¤Û¢N¦:•ý™Oò¡A †‘j3~D¨0¤ÄÃ’*¤?`kKi¦ØÚo…óT=š¢búpQßꊕ\1¡@ V;Ò;þ… Ñr Å?/’(ƒS#ƒ½Ÿ¬¥á„8î>É÷²Îóÿÿ üRbA?ð‡Ô²DþÏGJe(oõÓòØÝ…S+}éЙ^™‡ÊÃì1øñ4S7˃^NJyk`þžÌß` :Æ™·ËdûC²ð´š y”.öÖÏÝýÇ%q»ïÞ¢¶Ð¢P2túš<Ýð>>Q,A2!pà'Ÿ¡Íû^«ôXÔÉD@:Ö|ò‡IµQÊuNÝOJÏÐîîÁ0¬*©0ÒA‘ôtU(snÁ™HÜtæ¨EÌÜì¥8¤OIi‰câ{NÒ±ËËúÅ6õz*ä6­'¹ŽÊ~Š@RϲuL•höV4{-ûý0«ËrúŽø¡’QFXžgP[Ubý×Ô«êvýŸ–¿o,M™^Ò»ñ¿nð› ó]ûÊ£'.% ®lª–£“o o”ê(È1´[möpÁ†È:ñß ðQ[1¿böWœˆTo¿Æ†ßW;‘WÜÞQ‘WÒ=ë•­zª–`ë3+a7Ø£Lõ_!-qeÛý\U lz.ÌÐzJÊù„¾C…Ùym†gn¿@ÍÊÆ4¾Œ-2;áT]‘È¥et×ÚÈ:'÷S7ÈÈsFäê/Ø8ý7êAçåŽCð%í:ˆ’‰d[èeàûÛý¥rôÁŬ6ˆ»}‚DKK øC§—Ò¦Ÿ»D]Œ¯û2I[|ÿeÖi«JôÄåúm°4MѪüðå\¼¹,ðaºT4ÏgÝ;íº¦7Ù‡"B›SñÌ Å罈qŒÚ0Z wòˆìŽð'ü{ð2êÉcVˆiE½cßcý #¹«¦éŽÕbˆ•ù~®äJÿ¾ÈŸÈÆ%]76ãG†NÕ®µu-®!Íœa ´Òâ@=—ÖéZõÍíõ+tÃÿõq&³˜|ÅU÷¯ßÌÃøG\ûë¦D1h0aÁ<½…yFöOš¯Z0zÝ-L»(¢1Aš¢­ðÌ-Ä5Y¶ÿ¶8oÞ;ò´y¢lNà K.ŠËS kªäÉêIC:o–ýšÍ‘úÝmšCèߺ.A½¾=@ÊÓöýeŽÎÃ䑊ºßÔ øLÛsSš{öT_UýŠ8ˆ3òš@ìµÞüƒU¥ÊM‰#–ÙË" ªŠzî6dîLÅÖc°n’·a†&ú®š! ,»æìZæ/{cÃëß¾­5‰®ă÷NÑãÅ!Òg¨¿–Ó§t‡nŠo3g³”ÉD *Qä|NK•Å!™) ÁÐ?ÄÐ"ýÿÀè1•N_úŸVP(í–Eâ9–$ éü< L¬NRˆñxvÓùJ›H§4×iÚ¸&k%;Ð׫‹×5æÌ.çS™wÊëžb¹,O'„¡9Ø&—¾˜³¼ß=îcRªÛ©`”߉/ËTËaqAÍ{¹¡(±kÞ¿^5ër@Ðä°½Yoøœ7 ÓH64¶“&h5(^,5†FêÿF_7-änÜ[Ax_à#;Á6&ˆœ+y¨Hnk—z>DTȉ×Jÿ.]UV¡/>©ämΉùü™Ê ÞϸG_X)èöôp³2}$•q4îègXp>]ÏÑr¨„8r*R›©¨Dît“¯ƒb¨”Ê)ÖH­„Æ×$ï~˜û3}%R¦¼fØrÖ{¸Š2”¦ØÚ̃™­6,µìiê/¯k3‘àíÚ¶©„óW– ìÞž3]˜ÙðeCR™“r[åù8l˜4_«tkTèž]¦nðXÖuˆ>\ª¸éº£êPNëiÀ€¢ª—–Þ—ž9àwTô—Ãp,K€L„V…Û1Ý’• H¿‰]îY+}t‡àÀ*@ÿº=¢ÐoRÅÃàƒÝ’šù¡Â‘²FÐk¨­kP]ËÎaW.iFEWº²§0Ïåè;üQ‚³1?¯¥MG^2ÏÄJ zŸQwfÒè÷ט³ôËÃ_¥ê•Jx2ÈUPíÞ˜!Ç1~sñŽ>Cï: ðhð-Ê*©ùç8sÊ~8èõܼ‰€÷ï/H:^ Çþäq­ð!n c´ØN<á®»ëÃÃz9([a»èï%ŸXRöSþ8…Ék‡&d(>çÄ…áƒÕ ’Ã3c'†]‡¹å´°Á>0÷ýÔP'ʘzšS^Þ«…b§*Ø-Ï&ÑåÛ”¼Ô°[—“©Gš§se^6ª«ºØ$–ÍÂU¨˜†‹,ërxoÖ(‘.¢ý'áÀµÓÎËlÈ^µùíybsÑÀ-S·‹Ÿ-Ϊ1 "õÄsÜ>z¶ ¥ÐŸz:?6-™¶í±€ƒÄ±2Câ€e$»’Ò>vòpA„\qÛ&4³ô¢ræÃöGsØ$P…TY üâo÷Ã~!+*ppññÏftÏWî~_ÁùšáÐNW€”ÖYmðy©½_êöŸ+©°w6«ºí‰ÈB±Ø›Ëý¢LªoQ+›J ZÎh‰ÆV|¿OòœÔìoòOGÃj_«Þ[ìoUŠÑMŠ#ǹHÑ\…)±Ÿ£»î…e™[ô7K³ÍÎÛ›¸gî£Ï´º?/„VÞwTÑw¿£_ôsà2`o¾WÙo/¿$TÔ'P·¸zp}Ro_.ãz+‰AÖøý‚À,|<—è®cEW2Sè¿)Ógå k´©¸ÇÉÕj”‘½þË`VÏfsïR‡‘ù.},±ÜbKæ=6Éf“1–N "ÿ ¡_¯êwQ¥™¡\¬N¯úò,Ò6åZ·ÎË옶UNéyôÙ©‰Æ[ý>*hž¡$ºb"J¨äl;üH}†3ÿº|KEéáÝ/1]ï_1—ªÔT{ˆïƒ–{»0HwV¹'¾˜Ic>Á scÁ)I#ôÍOðºì ’Ç "Ê Š`ê“·/JV[¾È5YYè`§è ¯FŽ(/î®I‚¬|Í.Ù#ÿ—äxç ÑWÌrà)¹˜ó?Ø;  /ˆ5â_IŽ-¶uô ™þéßx—ü-‹ù×ÏvXÚ½š5:T;¹ÁàkwK*Åû†¦"Ò¤€ á_|"–$o-Ô™&Zjÿ‘l2®jJ楛7Ášœð4ÌúJ˜ä?'Üæ¾SœíW?ßÙ›¥P¢ã€ts2äÓÜ Ó*#îh‰´R4³Lå?­È® Ÿ kK|Ê.+¨pR6Wø^Ø…áü1MnÛIÅó¯Ü[xT Sïe•š=Fe&rœµðQ}EÙ ‹…-Úä¹óË.Uë7æ~´Œ@s<øq};ÑNn k|DJo´àˆ„ˆ•Ø—]®%`s-J`œ¢ü\,°ŽçÕÅì»]'vèŽmäd;éÀ÷b­·ÔÒÓûŸ‡àpV”ÇÑY;·¥dz&l9>¯qœö‡ÂðÖá(;_OœEWèB–£¼¨å{Ó<ïÐݾ”vÑãÿª4.óé9‚çÀ'‰LÎY€0*ûh6ªÓ|®âÑ‚ºRЏÄÜv‘ãW¸î? ¾"œÁÛ’VË®ôU×\õ#Xjjsƒ™Ò52DÛï1€8H—†Ädö®n4…õCUpaZµ3uørtCÔê×DJ¡¶–¼“Óƒè.À‰hFžcYÊ!M¼ˆo­Ð¬›Y}öÇwO«Í{5ô¥¸¬=8·©ÔÌ}²´5:î.Ÿ-A«Ù@‰Ö|áܹ¸ɆùyEŒÓuëYÃnbQø’Ú®†Àï…/ÊeœvB/nŒøAO9·Üz.¬'vCŸ©þrCØ$ªÇÑáÄW›ÝÝšêÛšÜÒß)Ùxs I°õk¿.Š©@|Æ_lúÓç_  ê'¿áTþ*ÕMeÏ<y'WÆqRG„sTZ©óꨴÕžªc¾üãÉI©ÆÄDÙl;Þ‡2ùˆrv›ëý¥ú Vý”²ÐÒ!c¦Q “ºþ ›_—})Y¦z±ïG„ÍxBÉ´–šPRÀ‡>2xäoø½Ôµ7CÅw¹œ"@äEvXjìýnuùË`¹=ÊFSZ’LJ#µÀÍŬ³7†O–µ~°_“}öª§@d9m’ª½BþM$ªÆÑÝÌ.€”ö©S&ÜÜ<^\ïìœÒ+¶ñ~aÕ¿Š¹Ü%“„Ⱦ šÁÿÇ62q+Îh¯Ù4Y´k%–gsp@Ñ•ÀñyØ|¦mfC>5IÅ‚ÊOÿãõ6ËÇ}¯º¾Šík¡.¨¥é¦nmbìÈ?å'œž´ÓëÌò9?뢹Ó‡ö©²´Ô}ÍÇMRs7®uËW¾5R§'ÞÆDoŸ~KãChe1m°¯¦N¹üA?‹ìRœ®r÷S¡JÀ¤`°³V X䬕2_7d$½ôT Í@ìå¢hîBþÄZÖ.»Àš ª#‰ýÃæT·Þfy—êýß AŽ)ßéãúB‡²)çy+üÔ>®‰z)c€•áþÝÂuÙ·¥!ªh¸O™Y‡€}0 ɇÑùE›öùô¼É»ÕÕÛ$@™W9›Y‰pïz®¸;³c®= b­71‰ºÐèl%ù—Ö -õÃOB2‡ÏÝò*õBj0*%ÑËt0P×¹+ðDIvš¦þ©Ìж†Zrn-ø”f°ü¼ýz\ª’_ô×7poLôÛ^YÝ=44C  öá ¯§sÏdú«"qr.{ó+ ÙxKN‹,v¨:ZceÃ-·iÐ×Й¼fï' Ñ ë™o­Ž¡¢¨p‹=_z"¡É:sÝX2°ùOõAHJ¦\¶iØÅ´©¢yÏôÈÊ)'ÝYüîª)‘ òyì™U«¼¸ùweu~'Ðq ZuÓ228²º“šÖ¾~\R×n©)ºm ¹­ÇÐSÔ0æò2 ¤"ö ¡½óãfüñ^Ð{àWöiÇ…þ§Ûý¢Ùv ¹ÕºTý‡[J¾|œFB î¯" müLÕö&EŸãÉ{GÄ-vTž÷ËZL©’5«lîÝÆaD[?èΖç³Î·€ÃMÁÈܹÞy)©¼6¬Ç)Ñ€ó´õÛ·½vƒŸöU¬Èq8èǬº¨i5³––ýN/ÉÊU1òØ0]F“JGÃ[ÔOh+ð˜,H¸Ó nqØ!ºy\åñ›Ž¿å®6/2§Ì?Y» RÊǼÿ• [ïý²W‚è ifh£ÂÈCrªî½é\òuO8·å[M%;ç˽òüZ}seƒãI{LÉÖîÍ.P3À©´¦FËk¥8 Ï˜ìb=@‘©q ¸WÞ×ÏQmînÀk÷eó/¾Ïš9’Ô¥vy-TRG©Í åܯ›—¼õŸÄuçh] ÖÏ܆Y-¼l;v€uý4=Z¹Œª;¶â‰­ò¦š«6cû;ãþnÑ×|\Sœ±Ip½d¦í/»)±¦õ¡ðFfbzBiÞ€ˆ¼r[¼ù¨ l»)[Ÿ”š÷ö°-æÙ¼¹6âú±C`P”K§õî|£©pG^ºIòµºEßDúö6p¶‹ˆ e¿Õ§-kÄrá.OyüP À¢‘¼áWg|Ü4ÃM‡.øË”ÖšØ(vÕúBmXðœ]’ÊÞpªpÏNðw§kêsz\ ‹œõ\zœ>íŽxÊj ºsð5C\‰„5ÛF ëöø¬Ïø›…ß DC”ø[ÝüÛP@vr /õ)•XíaBæ= Xufp6ÍÇa+5—i¯þ¢Yz-œ,ä¯:r8¨é°|£ ve'×öjÁ}ËÄa%6FQ4×~„u1íÖpùW1 à€ÅâºíµÁ5ÎL–•$wÁÓ!Ñðàö¸ºeYë×&b·mT}<ŸÞ€Ö ,g '÷`ÀÆïMô@»<’¢@á±9ÆFaý88”) zn6ÞB„Üö0ÄåÏ*g¡ÁTˆ.ô[mõ´C¡³!;toFx-Co¨X—>~ûÞå÷ÿ#™H@ˆ4ª­4/Sò6Ñ¿M³‘ß«6O³¯ÓÆ?“?ø¿þƒ²nU·6Äs/Rø’FÌRÞ‡n=Ý+3©IÓi¸žœlÓãµdìþ\s¸Ðeùl¡\)‹0­˜oéîKýü{'#×$,M¡ ,²KËðoFSÒdŸ¨:¨†áÙk«×r}ÐZ3^>iÁÀÍé ìó|J‚àBSiHæD´[¼ïwá/D ©ÈPljù•ÆÀP}tg'Hy™¾9ã´"Þ÷"IµµVÜj¹Ð#>$e ½¬t»>4‘¾ßT®å™\¢šRÓRD'âþ02jmxW¢'N!¬LèÅ~A5æá¶ç#÷*½{ã\OAâ‚7—åÍ©¼ úçµì!°)¡BèŽê£þDËÍ&§’5Ι~¬¹¥x§ø‰yt­Ð/\cÊÆ[4H\†Ù€ ÷áJ>9ØÍ Ö›Åó5PpâABŽï¢u^âҾijSqOШ€HÆr gcBêÙD ÂÆ¸ÐOÓUÌÐßÄ¢¹#\ô<`Ä!{J¥ÈD‹±r–òñ˜vNÀ vç)éï´7ñÆÓ‡þ˜XH¾?aSo„ò)ÜKhkm÷Ì+Ê+¹€mzj, µ%+Çfáû ÏI û+ ƒ¶Ñ;ß™ëÇ’R~Í·(¸’ÁÀ†ð(è½Æ‘̱d½fMõÜf¡]Ã>_àýb°•›s†k§›Q†¯ê[ˆÚ‹õíd¤¸Ó34}tŽh,´À[Óƒ ,&.¦¨ÌÁqKZW+[ µ›×Z>PGU/Y”ûïS •zEt̼ûÏÝ’¶.îwKŒuëÝI”a3¤~z䤣H‚˜³cépù^ËÇû‰fQ$lÌŠFý²ÇQžavÙÌÏ¿ gG¤-"ἪqLÏ~-î–ÅógÎÓ»ÓR:²hb¨F€ÓŸò(mL.\zj!m`îÂö¦^Ùsóªˆ RæyTWE˜´.ä@#pI ¤ÄE¿+tá·íµ°°.ÀT£„ˆyb °úèôd/Uöý nF–™qÂá=‡í;]s¨*îÆ|%Avœm6‚îŽÊªDQRSò½\y()$xë£>4‹8zhÓ,—šßiG ª‚ïÌ_>å ±JNêÈŸbËHåÿˆé`W¬˜ŸŽ³-é¼Ì ߟ4ÃíÂ""I½¹&!‡ýp6Ľ§ÝÙ(r¬?tcÂÇâo5ž@tJ¸F§€žï71ÊSÝN~øºüÅËF‘š‚"©Úk|Gñ(ªdÉÖžÉd{¡iÌøƒcÙ î ³Z‹–±ãŸ\% èÝhºŒ…ÂÒ-t@©c^ô4®B-@ëæ¿e6­“ÅËÌVÜ¢Îgꆊ•ß‘%U¦›¥€Ú„9“$¥·í&ä£[6 yÇÀ¦Ðƒ3¼ÊS¶8ü¾uÍcýí„n庇.Z²¬îdf ›=^€{pŸH:¤ˆ’·øÃ…¤gˆãü¾q¬>Åû2ãbG ‡46*ÐÙÖ>ùìÜÐÖ¥ŽY{h¿Ÿ«y{ƒ²¬4Ÿ9é[°“tärÔ¦=%M”‡ þÞn´©æV]¦FΛY„vFíÂa…ð–SÍéùÄkÓUT=U÷]4ý1×Êûï4/Éÿö‚š ¯EŠ»Üäiþò7Žƒ`ÝŒ}³n²«E½HgÚ;Æ—(èÊRºj^TFwñÇìFÇôÅÁ’ñ^"ÉŽª&Ùe¾È–Àš2;‹ ²ÒŸÒl!¸bWšã&d±2Öùñ«{ˆÌ%~ñ 5ènâ ‚9KQj³ÆI³}œãc#`KN$.ŽeÐÖØûA7~}ªw±×­"š–‰Î £ÒDA=vÿ¶ãà»ÌÈP±†? E˜d”bmT±²Lñ½É(¹níÍ!÷g”›ZO5¤2l5t™H!ÞãÛ±O~=UÉåg-ü0 ½|žÙð ^RÊéìA\—Œ¢Öð¾úÂÌKƒ6G÷-ömcã˰Rv3؈Ë<Ì7¢˜Ø¡ ä×dk 2…C²ŒØ-¾ã9ó…¬å­†•ô¶9ýU4Á@¨Ò|²ˆW 3¢-@O„î,¯ža£73›ëÿéE/FÒió/ÀI0‚îÙ….©BÖ°ùõ·ø –õq˜[$Ä@¹Å¶óJ õÞjyL.·Ö|þ ÑùçhŽL¡ÝÎ)qɈÇ[$ wQ=Ôž®KDã4…™¸Ð"}&Ÿ´¬g$H÷ÈfÜ·¹0ÕÙ{‡(©ÕU»ã$ìVÓ9,ç~œÖÊéÎ寙Þ|çÐÇ úúƒT«žûØ•>é‘Î?%wU"D6´«·à¤™æú.§˜Q[«’?e 9Da¡0š†cb£ï²âa ^/œSßÅAG´\v|2[//ýãKŸ—>~†í’ºzUÏ8å¿ ™Û@ìô;Hhž‹\ÅdVÂR¤´ÙüuLy9_Åç|‚cuæ¾NŒà\‡|F@Oû–5º^ ®cz’qFqµŽÓcéìêÇ ÷5ÎÂbt^ËDP@o’ÿi|iQ_Çú®ý‰ªPÕÍk,~¶:ÕÛ,ŸÒp¦˜ FŠÅÇ`Ûº:W¿†×’é H×íÓgý¼ñβ7ÞÀ:ÕþJò•°Wð¸3ŒYªL-̳€Cþ(¼çU&jĸGIcxÎ9LØÀ‹Å(Ê5(’0È(3B`…ÈÂ/Õ>RŽ™–FÆ2‘oƒž¾þÃòšFÙœ¤À¨Ú¯|ž‡œ"¹‘ ÖÙ3ŒÂI«Ù±‘¿먒¼ŒRÙ&Wûëí ¤U^„Ï£ùTÊïÁ¨Ó\Ô¬-õn §¿ÚØ¥­®L8¶ç[?Kq:qðÙðM³^»ªw «fŽZðºñ¬Õľ~´€Xy[»¡Ô8â±?7ª*| ç½ Ìç~Ç’mÙá6X…ú;Ñ6E¦²ñ- .ECO•î€É±U¶Ÿr݃"¤Ë¯’µL>n ]ä‡Ò–sí´•š~­væ2Ï-퇮Œ*Ä^ÍT^¯™¢~3ºNÇ90fÀ noÖJ§2ŸißXSç1ëâzoECäz`^®â&u=½CÍrkûã¬Þ¤‰¯â<_¢56½ FigeYD,Wõæj¢-ùs^£qi§AEF fö{€vš´ñó8Éú9—Ïm Cá¥Y©Æÿ»¨ø4fÔeÜ R£PÎg0˜‚æT#q…ï ®›…t…ôD pa.2—Åæö ýÔ&ÞÒâcÞžŠà¼QT²ÛpÎâãÛ¨,Ë+:} ;^‹’'(œgo‘‘¾ëþ“ú–ÖÙ«G(Ú«*FJ³ÆÛä†rJú@[ƺ o€ã€ƒSKÊÒœ0òf’Èÿ;g_‹§Ý“¥Iy¹ÎÍ8u5 2KDüæÈT W^UÊlø $;_Lh ¢7꾦Ùâm#Ö¾]=u*KƒN¤¤"s’¶†+¤OOÿ&/bjÈÇq¬Õ†ï+3 a¥„mïFq A2½[¬šz›á™äÞilO¢û–šâ•“ƒ?ù¨_׸0ß1Õ)KrÒþÂÐáá60/”Óåнú±È¥…$jZåªËd»©YΔ4ªÇ9\¹(oØ» 8¦Ä›ÓùÿÙ±²çm‹º&…Rì¯`£¯½­éÑ·\ðê…4jáéÚã]zt¤Ø¦«rÇ@>9`¦x¢7Jqï77@7Ýïa÷­€ç´ª*ͤ]۠Ū‰½aS î­Ñ„yf¥¢‡Æ«ÝqLÒ×w,p‘ø2öq™ÉE€ÒHØ–ÝÂ÷‡Jg$'‚Vò!4ñ¼B˜µ ¤ð-Ð!٤ߕð\#Š2˜ ÷¦(Y¿1½Þj£õ…àgpb²þ}?+¹S'rªOÃ[%‰é—Ý7€­´^°¤É:ö&HÊÓ^H¶ `8nHÓH¡Ì6C1KÄ»…/¦sÏ–K[z)!ð$HC²·{˜LÉ{wŒH€3ˆ90õÿ©£Ù4äjÈ"1Ap@î3ñŸ4Pç"yAu¡Î(,í#ðÝ®÷”Æúе¨øx®°0¹+ûÁyª¼U×û~ av |OUÇ>ÑnHŒ @Õ±-µ;ÛgdGòˆ*B¡±K!Û³_ÝŸ`Z™×>ƒÕRÑW·ìÇiLÖç˜cGáéK#8Ìõ1hÍäLÐScFQøù&dÝùÄ-Œ>R¶¼ÄÛ`Lo‘ùåuiju$EÅG‚C÷¬oàÕ!w•ÙJÖ‹*€¿ËzhËt Ç'œâ3ŸŽAìÙ©ÀHc@_›ÅƒØ±á¯ØΘUêô`ú0úu¢¾åQÔSàðv'”l¼ïôœèò)D¥$u¯Fàj$À—dšÀÿ]Æ7K^¢ÖÜß8¡Fß/. eÑŸÖˆÞõÆ ø±%Ët3uÍiÄú}qÓ— /Y‚å<÷çz;ËÔ_)ÒðmÀèc<9¹ÒŽfo¨Š¢é8* | ›]€¶©°:Óèd¢–Æ@ÚÐHÍWVŸ©Â鬢£Ö‡-uHc,ƒ5¬GVÊÜôƒøïNÿ5êyÀ›X•[@ÂÒz<òùº<%ÈÇK“ƒ›©ý}jèæp+s€ÌtÁ u¸!y+‡…)°§×7 ¤ÞOD ¶^5B.`È·Á!$è½¼‚æ;yà{¤yÜ•+ò¡j¹Õ ¤2‚Ù‰e ‰¨ Æ€4Ö²G¦_aì§szÍ4eÛif5]FÚù»·âHò潚>=mæ/dÀßeHÿHþäçx? ˜2þ€®+mŽMõçbÁ±XÑM¦¬Ô׉ûºQõJç½&Ø"á ö,ÜÚ©ÖC$Ãæ#0éÀát£°ÒäñW‹ß\Îó…_½[±°2*þÆé¥ãMÁ=1úØ)¦ï-ÄQ3wLØ mõÿÕâÁ ~½JMVUJKûÂ^á ÉŒýlïÎ/çÈöKzH=–ÄÎ{±› ¾Q¢ž-•å’­¸PYGÛÍ^»C"zø‡käÞ†¦¶¦ÿpë"ZP¥È´úùÞEŸ dh>Á¾ µC_©#8™@Ìã0¥9y5hmº.²cÁ2eÞÈ iVK/á·÷¶ú¦ó•Û“µ£ª4ûV"¨²|4 1§ÚiO(Ò×Ow³¦ÅSšë†]°ê¢½ê“â!ª á0Ð 3,Ïl§pBÚ™7¯­ì•w(DAÃí $—hØä4ÑÔºµ’«vO¹zð2­Æ6:hF[ºDÈ:-,‚cˆ“v"ûš1/²ŒƒPrMµqÒO©&¶<1Gš¥?ƒDtI÷ƒv?Ýõlnår1¦ý¼)+·~‡V/:Ýðo鬥 âD 43tŠNÙi‰tY®2шðûÊó܉¢_¢–ŸDi U[ᓄж€¯¹±4ß•©Ò` H@€kÛ€5c }ÆŽNí;(Fw3}§'R]ñ°öåö‰¥R"} ¤)‘yzüÕ˜+NʰiåýQ€$¡+ÉÏ¥ü%t2^Þ¢\:ºˆKàs[ÃΑÒe]ëÂe>°ÀÂÍ<”-u'èûôÌC£±C]zn6›?e–Þéôêw?z×øiìÎhâb32}+%‘1Îq&Z¦Z!8µˆ"€>|6ý/å†[Ök5L4‘wo´Š3„ÌÑCHƒ.ñOåH†§:â_Õ ’ný>1ƒ"ÄøfsðV›Éõ[æÑ Š!5E r3ŠXùæÑötþ\P&v*ºTׇÌqýr}*2}Œàdh€JlÖôó´Q>_Õžû½òqw·»X xÍ¥ü¤Scà[ ‹¸®jq·ŠRî¸ßm$³þ²˜'k­ºt‘¶Åüó…¾{àŠÆ.üŠ’s¨Öù¥¼P¿O6Ž1xÔXá\LTzÉÍò¯¿Ë=9âÕ‚íèà¡uâ?• iƒ,,ñ³‡í­§žÅ…á”uÿ„ô£©×ä{Ècg;$Ýc‰Ï52ƒ>Þ ^#ôF—¤ ù”Ú`ø)!eÛ­#µfS” kë„ÒZÚ9¾û°¬‰¸‹ÌCž^(ÑÖïÓt]ÖÂ&bO:^¥$ùƒx̃© dÚôkrÕ…Wb+g?ŽßvÞ*´Ü—"›•i†0+2úûÉ-_ýîö z\µvï‚ç`1hÂà|-DHv”IEôZ î WÍ3枆Ś`p)M´N ݯ¡ºòÁëgQöôlY¿JU~ô"AéR™±ìnàá<Ä?ç©|c­)+—^·2‹jƒ¦K£™(%ЉB/:¯_è•~Ù`tIä0|k|+œøÛ{õÍ@">î{l½9˜åÑž¯é…BnjýAÀ™ ' î%0ß쥂Ab‘úõëå„«ÏÿÛüÜ­ˆËXóçÍ >ÒÊ¡›Ýmx¶ï¾‡wdV#¬!¤}à']r07ó4Ï>]dJÛ™’}ÔÍM0ßE »"1Z³Œ$ò¤œé-þÑsYb‘DÐ×Ã]8–§®¡W`1Çöõw–WÉ´ 3ìð¶²eÎGÛªe8]hñ7ݲ:"¯ÌQ‹²·ºðÇQ4’ð*b,ëv0ÅëØA7Kæ‡_½#ÆÀhª°FÛaÀCÂlïž Yj?ÌhO÷Ì‹ ÕÌ‘^•y~œkH¾Ó7§—¸‚ªJ-¶çj¿K]ïb£—âP2öëVá›ûz‚%B‚¸GÓ—Ø¡äÔ¹…¿t’hÙùˆ8Y¾Ïºû×p1×íEH_+}ˆ5[–ºŸe\Gý•ªŒ4MeÛfñ 9:GzúYñ)Ä>¸Zã”T+ÿPyõ˜enËÔ+І¼ ^zh&ÉÆØì;õq»'[†Þ‚G¹M郞1-ɾoÍ&Cï~3ÀРµÿƒò xL]ì© ¹ú©Ï0!N©”ªI©3†ž•À!”RÆW™ÜÀþ.e]„ÝÓ‹^ úè0óÌ#fµsQê÷§ $hÓvhTŸ:µ+òàñΚ°·Å¦t§ª¿+rpPùÉÎH¯›Ü\.áÔvâ¿!Ý 5 HeÆi ƒ®îvþ1k)[¯…hÛ~ âZÝr€1áÄÀ»ƒ u8›› ‡ƒïΨ%xÇãþ¦ öø¹~XHÁ øQ}juáO½ @Ã.¢à`P긅‚:c†;^P‹ådnbÖÉÞ£s¼1+ ÀÉ‚Ly5p³af¢›xXcl½dKT½ëjHUJÅ¥º¿wØ ùØø›Ò:³*Š× ëÇÞã…~2‘xO–à.åå{)~·rSûNñ,,nGDëÙÓI<ÒÐ7FDÃ\AÄmù©½\&ôòÜ4›©« ò”ӼΠ/ܾ Èð™Ú3Anžß ,jHªB ¡ !¦¹›`I*Ž;tÍB 1 Ý¿-Nþ@´Ã³aæy¡ìÉ™µGi¦¯ƒÿ…¥Ýûd{Ðø£ŽÓ×9*8€€ó0¥/K›K;DfºF«sôã–K©?(ko^Ï «•0Ëõ¯K™k7ÿ”TìæãÇáXŒ³o„m¸ƒãTïZe«³ ù̇ï:‡¹ñ˜Š ¶°` àQß*‰¢·Þ¦þ4™Ðy­'E ×ô¦lšM¨îƒÝeYS©˜pùÉœ‹q‡/“ÓäæÏ©§’Ô&¿Ø"Χ®îªìˆ¥ÃeMûÚi*Âp¸H׫:&ÓŽ"õ—Ra1™ìô-žêðIÑôE+§ƒ}ñð/ᾚÔ8`S½¢õúÚA~YÁ~,SHJ‚PD ­6/Øóh´àwnN¬ƒ¾Ê9=(.mé™ùDµŒ,­òO¦n[Ê€x'CM™èÙ«õð)?UçøQ®˜Œõš¥íÀÊè’fÏ?ad`câçº<ˆä-Žd¡l½¯O&¿4 f¨øiµÒÍ ¿¬oèFtoMmzVÙ…wHãJ¡¥N$+óDI„U3À#]yêÐ>Bä9¬AÓj*D+c}&¤ Z¿¹‰c’k)¹[¨&kö‚´n$ñÔ¾vŒÔ-%Ž_epg—­†ýFfêº36ª0õU³ns”ÙwïG¸7€é â^Üyžhýkª€=½&Ê9)3lc2‰bvF”>ZÿCµZô!w_Ïki« ÂŒs!Œ{kKj—·ƒæzÇÇDZ)¶A[ ßDÈv”­Oƒ u¢„T§ˆ=á‚™:÷+µYì’7*9.,*Y¸;¨ä{¯A.ŠŒaBoÙUdPLMp‰JHüŸsçëz±•GßÃhÏé)ÂÌѸ±J wCÕa¬ô÷ îÑûÍFpÔ$©ö_sÆÊÚqht&ögèø½ý3Hþù['zß‘’Ù…³3wƒLÊþYÍÞèÝ*M· æJo±(qôV—â8~¿DäÌ5 HfþP‚W««" €E¿Oÿyg‚ ® @©Qžs4TÃla;§]ùÞ¨ØÝã矀ßãvÑôY¤‡PðE+ó÷a«û‚ QOúÀØ‘}j:µ OEB„^5{D:!Ç-ÒÜ ž0μ¬sˆøh(üÍ:™Á’_ÕKÂÔãÐ$Ù—óÚôó[='$- ÙAø1ƒ#H|™„f£Ô×÷wÎ0Ê•§þ_ukfã…vëôçw É/×û©™¦ò>a»é§|áâ«È¾K0§)0Gù§Mk3åT±ý"æã€îñX/ã ÕŽ²HÜ5$*AÀ® ^á&öwbLÄÐNI4ÕO´’¶g¶äâ’’½µbš‘ÈÄþ›Gš‡ðC¦ï¿™¨T |±³xd²ûÑÅóž#òšTŽs­½ÎLd"1×,š*™ƒMSpÔE‹Év†« ¼¼ð‚ ­m軫ó?1Ù7£ýÁôg)£^:1"¦³Öï‹UñVzY ™³»óÃÕ„ôÌ+3Žö‹ñl·]ÌŒjJجན]0[;Çc{ "硦®½'½–{‘[=•n‰-îÓûÁgo=ÚÍTBFMÕù4Ô^|Õ€,ù+$Ÿöðr†ròB–ı(fÇpâù¸ön¤=–‡L.Y¼ªŸcõt[ûwš‹Ù‰” ªvò/‘<™‡¯«‹øÁú"ß|Œ[¸´K—2A„`ê¡RÓËÀºÛÁˆôgAžydÄÛèkâD;’¤à‘c'OëY›CÑ®hÈ/¯rcÏV~Í\˜ðPãlCt§Å…+O_AIp@¡n]³ô瘑ÎGÍžŠ=˜|ãö€p«Ä­7JTv<Ä(†¨TfýܘÞO¸£fõ®^8ñâµòÛ± _ã†_‚R}úRj39( 0ÍØŽ„–Z?ÂAò]Hó—ï«`þ&€?Gʰ¸UáÐø{0ojä‚#Ù8íÊ9:Ô1œî'=;÷î㸺¼Ï?מNåRáuy ÞœéÒƯ®PoÐp‹Å,7>Ö_¸ɲ oõ2¬©,,c DÝá@òO°§.ׯ“¬)¡[‡kÿÜ’Z4nL Ð9ê^¢OÇGåà æPM¹liˆZà–g.wu…±ÙÑÑiÿøßM¯ô«2µ :‹YšÄÙöý;³ÂzËÓOµÁ"–²ÎÓÓ·ÿ’:׃ L‚'K=Q/ÜY\ öF™}o­î*÷7^û*6µãØö…uS‹WØ](X½ûæw§ŒÃFNî«’ÿ},@¯jBH¬¢+ Ô¬=+¢iÎ{ø ÃËKúÏ1ļìT< oxЦœÿžLѺb{Õ¿$ŒÏËbH-m¾èªÉ<”!gpBÜð¹)P—ø^m¨ç(©ð±öË=ù’ª¼³‚Œp­1M1P.W™ŠÀ¸]Ê#ñ¤M$§šÎÝž6ï]øbJè$E"A”¸(Ä0:Â4Öåâþc1 CÇ^Ctnü @ ´^ðšü¶ø!½sÃU"8Z r(ï =Äjbî”)%ûcÝáöøâ¢Ž‰}Y»6çy8 ëQ$w,’¾”¯E0–½_µÕ*Õy.Œ§ÛýÓ§Xˆ]÷ºì(÷U gCç «ÂòV.O¿@j~/ãn‘°:z•<øðrÿYâÑû#ûD…Ê›¢ùg$óš%åÔΣSr™{dtvž|ØpKdÒF+bºÝH“§«)Þr7¿þ2Ë$8SÊ¥b‹ªË6Þq¸«yµ<¿œøÚð:’± ú¶pUÞGégÍyàKËi^5–LÁ Ô·IÁ¬¦d\|øž@ÍnÕ9èTán¯Ý°'@Ï@ T? ~'¾4\¢2Ù&£9P3ôÞs#¾¥Ä„q{BbÔz€•¦²f„Ûsð–$X¯–_uzÍÊ\.`» Æ«§p(ðxjP¡o«Ý³Wð²ÓÙÂiWŠO·À åàøõ³0¤”ËUÕp€@àݪÍÊн2ekCÆ÷9Ç ç¦B"!7<þ@M#3øh¯í[ábÑk³ ¯Æú±½¸qÒ·šî¢\¶®ü`—)nºó!Š’œþÀ¼¯º»¸( })†`0óÞ„÷ìc÷“åTÒ>ÆO;TJ^,…y¼bÔ`.¥©C÷ÄÉpà˜hÄV㇌À[îbâ5î—U'ã MTáXèsê>bBÀ?É? ëKÙ˜Ûþøs ¡u)|±ü0ï 2ä£>Z‘ú]Ù(!¨rvÕÊîœoUe¦]„µÌ-ɳ$ºÂDDÐÕ¬ZÏ×K‡IˆfXèº ›𵇭˜åß×oŸ½¯“­†X’²ÅœoF·Ëpîôh¦ÂÊÏ,B8|úfKi«É¹ŸÖP€,ÏÓÛG"wg÷ô³û·.S<]òáüÃÝ´<MÌc þúöÑ(sQ•­I4²Ü Yõ0¤Ü xäºÐ.dyYk7Y7=¬úð ‹I.–ÈkCX†‡O°{Uˆ™/ÿuPÿ²ÎŽ$›…9AÝ™·ívuh~„¶NÀÁ7^„ D¿•M* Œãk•;»´²F ¥ {ÿp‚¸qw4,W}4¶:ñ;"ì"O^1ËjÔ•ïóa€¸i–›ëÜ̼#kýËÉD“„Vº«  yMÌÀ÷® ç«Óƒ7èk©à =Žgãé.ïQ `gJP{=r´¥®Jžm¥ÿÓþš]_ |®‰Ùúè0»»¬V±C/ÖÆ aŸŸcŸSEàÌxÒõ1¸ˆ?ùp{ä˜mÝ!Ú ·ÙRØ{ÖÇÕaoSuÝIn$¾Íw_¦¯æc»Ã[h¦ì²VP BÃ×¾âŠG4ÜC«Kj`3²Î—ÊÊL òúÙo82n¸÷„ÎH¸/®+ô¡Ä}~gln¼Ñ=NûËMk,̨´|½LèTõTgS½$ÀK1Û}³¢àà@$Ê:-¨€™×L£„k×Shãé|šÉ ÙºÁž¦(é¢ÍZå_>tPJNäv¡¥ô´[+A– P!”ɨó‡/k’&­K Ï«DàT)5D%«‚’ªÅK²‘kt=E ¿8©ˆOúš”Îñ ÇæôÇòVå'!FgT¢™V8JLó±+yï7¯Ò³IÒæ9òüï9cÄXíròö¼¬Bã|O¨jöóï}ùã9dH *†oƒêo+ÉÌ~ÓÜaY¥(ª ÈJx úöÿyѹ†Ôi„´·OsÏ1„-šÞzû~èbÞAäÑ׋Jtà±· ¬Š77›’5/£¹Œn€UVNS¶‡D'ïØ% s̯·Ã“ŸÇ€€%<.¶›Áo[þŠ„ŸàÕ8ö"†ù°§)݆¯¢h+j{Äg¥ÞÂÑ#%˜2Ô÷Nê9€CâC¢Òõ&Ï„/I¬eäéó 2Ð"–!C‡k¶ÌˬZ²d•87¨ýïl2ÉÛjŠ-û'dè¼yœ¦ŽóßèuPw6à ×{=Ô)îÔìžËÎÀ®y‹Îò.À8|¿·0·ŒÌþ7“¦L`Ò²¤QÊ0©0äÍöïRbG‡ÌÜJÑ…Ëx²þM™“'&>–~«Êu)ΘÚJ'oC:¿®”gòùNʳV4„ÿâBø­•ãß÷á5I‰'Þe–D7\íDuƒØf…1Ü‘1Ÿ{IS%€uº|g‹0C¹ÀGL:¤.R@™Hõž÷WÚ(Áªõ€.ÍêŒÞç{Pß¡æx0ÍTb›ð¬¦-†“¿ˆ…²éìNîÔs°+;•èÈL49ݸ¹‹!%žpZãî£ó/b‹ÀÈ¡id>}/޼º\Èé +ÞSÂ3ÕÃC†£_«ß¬^Bë:÷’nf® ä…æX#7Ó!U!u~®$ÒKkm]Oçy}) yaÔþ­Ï,íä)¹;Ž×d±kq®N–ÒÅØÚâni˜>Œê¢Àqzf£èÙ‹˜‚IÍ#O«>å5Îo†‡cc;ƒ(ÏÍœšŽïï\ˆ­\üõšg”/4ÔkDl^_iÒµDŒQÃ_o2µBôtÈ·| ¡.ô¨Qì’ó²{÷ý“7%‘¡z f YK<>éÅ‘ŒÎE5 AaM»oþwãg†ª¯lõ´^Ââ”ÛEBÍ»Ùýáåx¸âª7Ÿõ"Hßæ[áàÕHä´…Û{?©RÃŒÛ½Š¼ @õçï’+tžaë6숌u1Mäµ7á’9xñ+xv.Õ*î¤4 ¶Ì*̆–xAMjP©Šðj±?€Dƒì-#zyï–-uüQ½Œ Œ j@ÃÔ /m _exlQÁIl¨Ð#XNV¢&ŠÄ¯8þ?têºlüÂ=jS^&YÀ_hðçØ´¬Bjjx‡yºÅˆ@YŠ©|ƃÑÕXV4#s˜Š ¡x0×nu¡Ê<1h…Wß pœ}®’¸¢ìó†2Z Õ¿+•#ÝOQ8!¢ƒ–f;L+6”àÝ7æë [@ÐTeì;~4à$Qøo€‚r5}ŽE¤¢ø­X~µ&¯ï™ÆõL;¤qƒ’BWpuÇvù ƨ)np—ãœ)`ÔOÓ# ’Ô Ç3닸Ã!@ÐÕ6¼``æ‡{]8! 0ë©*Ë©g .ðÒs)?¨ÚÔ½IçˆL”c_Ñé‰R¿$}m߯R‚29z•Fxçβ»ÄRÎçü±šúˆGV£ì·éN=¶:ºyä%¥ ±_’Bܸ‰Û?â {?N½îq¥tFB™Õw›Y/æZ;oÈ¢N(ËXäÔ(zùýªÓ¢–ÙZXˆ‡M1ô˜^œ³ôk¨VÏ+|“C¿ž0y¢ SyƒÕ0 yçð* ÎEÍ|lÜiõ<=Ú¬Ìüvî ¶eÐT9h+Áª“H9ªÇÔÃÑxè,­†:´ÐH9ù¦Jñ–8'öIå£0­j·€nL°ŠÐ<4UÁ5— ÚDÍiP÷Ä|ø‰‹îhF/UxRž9ç§Kó¨q‚;_-±«ø¤†K{áøÇÆ~¥Ž£^Nt¿fâ—%Þ ÓÇ=ÝÛüxJ)J51%€¨â¾›Y6RYî4"¸¤ªóѧ¨¼XªGåók,l§½='W¿2±ÕM1Ù†]Œ }°•òeŸÏG%Ï+™¹ÛÑWºU¤‡^ÑDTô%ñ¶è׈›-Ýü|yßþªx4éûïŠzGŠ÷À)œ‚÷²Ås«UÕ%Û£HTSDÐÆç¹ÜîµnÈ9F‘p= n§}gÑ3MõfqØd–ìÃÚ̘¸2a°S&ïÉhõç¡vjÓ~f5ÿ­`Ìš¨_8ÆK÷CwŒG—.ò8—­ñk¾›p¹µÂõæU)VöÑ]0>õ0>Æ+ûÎwòuƒæ2©“éUµÄ®qêïg$dŸ½’‡Œv&zÃbà„¬ÇvŸw!¢Rþ=Íyô“4P1zT\Rç'*mýXRzâ¹zƒ=@iphVˆ_ÍñF'Îô͎ѺkXŠKâŠÃn´-5’®RÅUÅkyÑÙ:°[ÅæžÌcÅ»‡-«L†à¡{þ°µaäjPlv°|ôqQ4#“§Cú·Þ?f\Î| (Ob­3v$Ç>Cep©¥·v ¼H•¶bjì6‰îÃ(»bÎã:÷Kq{çåÈ­9€À£±<±J!q¯÷œZ¡Ó)ç$Eö¬Ô•œB&@þGà¼8fˆ R†ᥘz¯@ž¶ÈÆLðš~žÜ@è¦â×}õyûþþ0K?¥|ç†ìÓâD¦mWŠ`–,Æògðÿ 5[Âdž&†¨ó« ôfðnc};q3´(A¯É}ØÑ£„ßÓ'ÄÁqò™ujtí§l õp 뺲PÍà¿ÕÂ:Äæ§ßw€5AW‚YÍž¸ $PBÅûÙø]¼Ãp=÷J1J4Õ£¶'ì¬í¬Ú~ó÷Œo³Y›ÀÉs=¸Ûe•QC$ü¨ÕO ƘŸöñö{‡;¹ôÎ!TgŸr‡7¹¯í«@Í 8]_ì£vûq]~sËìQÃ0ÆŽ~“ý ÉàŽ«Ìñ¬&%Ô`Ng†¯ k™®hгYbÿ²ÿ^<™ÐÌvWÕꀫP^ã &ÎIƒ¬§lКǽ†òíw¿™Ûÿ©×¯¢±Å.fƒÃ(èô©8ë~‰E!Šmƒ|a @ËXaL±Üxb”|È!lu+¸i#Ð; "M.˜G+Ö°äO§ï5ð}«ui©c-øÈt¬ë,•§É.åGUê›c{,¹2âFCöI–d…˜FƒÝIT0L.§·+IFÒJ"Z˵ÃxË…#”c ¥hôé¸CȺò=ؤìÕj¡Û*•È›wÔÚ$‹s_GÓJàr)M†& /Æ=uÅ{paùþ̧ü¼ê—F]èjÖôÊÁtSCR­ƒ<Šmúá[Fë¤|иöð´†k¥ž[ß*‹«§”­•­·ÕÒmc¯ÃïKÂÍqÙ)í¡ˆüÎ6ÐÑéÒEK8ØÒÙzIù˜ÇX"é ×úDŸ4©ôJ%(BÞ½¹â„Ñ幃æè³žÆ†LçO!Ö"rûu€øHÐo^/3Êëa•vh!•§­¸[E“‡š#"k7é&Ê«Sk»/ôâX¼IÛ×Fðh`ë’€¹Lë¬2]|VÑë=5?Pö@¶—§Ù1uá‰2gf4¯ÿ„¾ˆj|ÖiÔ3"b ¸”VIYcZæþt $B HÀx^e~ šîÑ¢é“lÏBÊFËúkncÃÅ ãQqk­à Ÿ±°nwŸÈžyýÓ÷±KÎß ùVüØå[Ö!€3ÞÇØ…Å´­à¤-èò¤£‰º}èIAéÛݧ>gÎüõÏÂ1ŒZz•îe™O]1Eˆõ±»fƒô–wÐ"PX¯žbVMX*gÌS4lº¡êE{AæšùÊn¾µC\”g€-ž ‘N ÓÍ¢cS{+ÇŒ£" NèðÑ*_îˆ8ö̘Œ8ˆã…J§ƒøù+–áÒš4cÄw߯Çk6¶Ä¯'½V¹}\1Bبà T.w`”Q)õ„TûOŒ$~ÊE¨ÕQØtó³"¶ŽG¤‰×;‰òž,ȼaµ¼Øaì)’žÓß¶b£t\JBð1k¯ <®‘nm@ÔgØ«€5ôˆÿq™é¾›£·@MBg¢- ²¤ËîÚsG¡$ç7uì!Öçéžùo„oŒ8ÌÐ0I 3r'ÏT}tz®3úî^eІΉ\|i‚õ£ê‹ÿÕ÷RYUÎ4ΙM,” gZ':´ÎFõB¢6ì¬Ü·?§eår- ¿BçQ).Th!®Þ¼œ 1˜ç÷DµEhŒÁ ³e—¡". º×«AòUq< ÒÍPˆhžp«ýL„ÀØà[XÇ¢F)Þ^ ­Ytë;,/k/‰©á”ÝsºQ ¢Æ¶EX¦U¾t%^lîñw"¥faû»÷ÿ y>U3ñ Ÿ ÝÌè̶0Ò öê2c;¦½y«„˜¢0J"+•Ö=Ùè}\Ö Ê:]äŽ[“Ϊ-Eóõs:%5¢™ç­#íµ³¸>"Cùª¿×}hÍëÎpL¤ £¯T؇h=2Ù÷w”E'¼Äûî Ú=(†ú²›¸o}‚’Ê–uˆ°!¬tß‚0÷lé>³:•gûä-Q6þ{.heQgä+ø¾¯Ö½rZIïÙÁBT½T¢Zn&¦[EÏNiÍbñlä×½î½Z…ž¨tצ[‡ÉŸ,y^2õh¸Õ~|¬Ò6Æ®-ˆZ˜ÈùQÍð~é±ëbû»†pJ™ÔŒøc¹ d!Ÿ™z}ñêý‚ŽhÉqX¬ÒÉÄ"çß|$`.³_>r`EQ}¾R¦v%‚k­‚õ8œ+ @{Ä£†À»{taÀcPÔæÛ<»Fxˆ*+IJ?ÿd –ëß6Õë…}«@5›-¢)Cò~4›\Á%ÆÞ·å¶m=µ§Ö>¤þVҖα•}/Ïxî­£ˆ)J^sCIk¥Èty7 ÂòIki­Y9À9›€?Ný rÒD"f*>#3x£ÕH|¢ Ÿéœ¦ŸLÄÀ`M<‹Á¶ðîm´;­EU(WwË"iå ÉñÃ{uçöÆ€ Ìù§¡3Ñ9Öž¢ªÿ•º@6rl6hIÑ1—¨^:kLËo¯äEì·L¹èÝ‘Ïå¦xI:4 -d/ÐÛz‘wF®&³aËó]d Å]M¶mnÃHð2›ú`/…¥`Ýz~‰Nd ø€¥ð¯U›?8‚.2IìÝCe€,ø ©hëåg¡Dì3‹äð¬I×Zöpˆ LQ£¢ÜÂfÐäß÷.=^d?Íꈞ-²lüSWPŹw n¶ß<•,žsò, úå_a¤¦ú“Í4®…˦£‚¹ÑÇbUùôô&ŽØõOh\C±B±à—•u"kîÃjwXêÆ´ŸÌ×Ӥ̠Êâ{þžø-¯™[€´j/C}Ä®Ôck{Šƒ8„c@×y/n龓[Û“x,Óˆ‡‚ÐWá¼¾’‡|HÄ„v·QÞ¿CËYµñÿK|çª%x×gƒBˆx¬X'¶dï[¾íßh6p”Ö¸Á©Ì`àätDà[‡Û~½îóÎ10‡ñü’4/ÊÁçÔ䛬Šmä]Œ“ÜóÊì³Îû"[:N P Ôˆ›îî›Ç?ªceJŽÅ8’æÕ¼Ù_«¬õz·ä„ù4?žHzê™°/«ºñ{Ë )dÏÔðѸ¡™Cv@+.6çxçÿDÅ"ÆÊDc)ÁkG{G½ ;JµøC‡ p5Ä\Éú5”Á¡*ìXŒÎÿïqS˜l]<Æç™Pê>Ñ¡¼þ˜âÓ OçÂlOR×wïju]r‚V©6¹osL’"O±/´/Ï¡x†ýW ­ð©sXØ<3…þÅ’V7µ€î3èÊdñ_jŽrÝpG›Îý"ñÜÑi9¤KCà ª _cõš j¨½Ãñ9Z?Ýgò‡ç¦ãŒ7F[UJÑ•ê^š‘:7þfl™#ä˜tÕ€(ôÄãœà;Qåg‚Sa h€kò…-ŠÖdÄbaSdë7~!hLö-ÀtDúTI 0õÃ(MÁÞß=ÒJn¼Ä?dÓnQ¼‹A² a|oò½nËìF¸Ô7ަ½Lyû¬*Cªñ· ”TeüŒ8Så ‘ejdT°2 ‘ÏF±¡¬0ÑPkÿ#ñ8{Þn?“¨(ºT_ˆNÿôøí7±}"s¤« ˜v”ûD»KVÎýuו€d¶ÒÛ‘‹õ‰}zÊn?½P3aÉÿÿl'¢­ÈøÝê\ûð%j˜F®M^ü¤=¡|D£kÉwà%6{Ý.íè‡Ñ9ò5Ï)ÑK*>)[Áæ6Éq äÛHeɘ™—‹èSÄ»[ĸØZ“¯Ô:¯PŠù@ðCSøÆhh¡àÖåD«Z™IϾ¹Ìò-pœë Ù¢>Xè/à)ö ¨è8Ч䍛€Ñ¸_¨a†Àžp“ñËí2ðNĶgw·!–tc2±‚{&ÞoBÔ‚2–ý'ÈÌJK6g=–Ÿ¤Ä « F¯§ávcáúIS$©7'~ÈmSjÌ7ÌTd%ù£ùÍÈ7l<Ïf;‚†&xÛSóú$Þ:ƒÎ¦—«Ô7>4PšÝG‚Q>µfñ˜úzÔ¡ÍZ ny¯Ïl ýí,c%vNÊb3{$>Ÿâ’îþ¤aH¦òc½Wœî—I¤ ²»˜³ëJN,ñê¶uS¥,.tþºTæ§²¸È³À®5\Ú®»º6ke®.˜<> ˜™W‡Òå)ó>$ý}çs;)q-*zSèõ—4Œ ©ÞÌ‚$ fÄ_(Êt?”Ô‰4¨KR‹üØ—m·­€ã7M¦œ7§$8¼àŒû8÷T*ÖOâÜ‚Z»×Aó€Ìà$T¯£È­51ÃÀˆ‹1 &¯çõ¼Aˆ¶ˆKÖ ô ™2å"–âáÏإػ|Ž~!xdZa†ô’þ$µ™*ªºN²òLbå@Æ;0Ä5Ê?¼-.•æQ‰×:$u©]Øü¨¢Tãí0r=8:@ˆIC—ˆºZ^¡Š©q§9Qojç¼ÛïÈY˜zŽz¹Ž¬^€3R÷ñý÷cOæð\BÀõîº Eþtt—LÜMåòß‹øÓô[é¸í&È£úX( 3SLÃqö'‰hO²µLÑ~·h«Ê¬®Pê’ QãÈj{Aƒ¨yøuzƒ'VÙÿ$RôÜ Ðcÿ¸â˜ÆGË’ŠeŸêð¢èœü~ÁEm%®áug;K{uóøuÑYÐLŽÒÏׄƌ—m4q%“Ü:$Ìïï8Â_)áÏíÄGw°ØÉ…rÓ']4—È 0ž$jeÔ uœ&{ADäË«z×0@£¯â 8ãr½ßÛ®¶×.U[)Ç»a¯wS|m@üƼ.cÜ@»¸±&Âv!zT`0jù×3ä¿ÄàXp´x܇IC j«:Ô¥aÝy4‘åÛÏé”…°Â—à¯Y‹ ~S–il„n¶÷ƒáÒk±¢€ çx/÷£M'ãg k ¤‰£üÀo=f©-îº|M\rå~ÿ­ÄèmäªÕ0âWæê{âÃ’ÝP#ŒReVÓ㡇I’%ªŒÝH ÅÒ[²×Ͷ´ ,„3v@­ýïY­–\†S£-¸†,ý:ó‹/‘½[ ¼oò±žnÂú=ÞëgXmg©û ³uGñ²ÐîˆÁþ(c¥<wW$õ‡ÜAȆ>žãøÛÿ˜Óò³Ëª£æå’Ù³3ÌΈ¢_Ð|Kvô^„†Êjûí+úÝ%GõúÁÌ‘÷¹É\ýr–Dö‰í„äBÏÀµ5,…3}‚Eæ=pÌÏ MÁ¦ä®öq_‹¬V 3²×åSàþ};M Ÿ.F%>óBG«Â fpDú!i«Ë2çõÝpþ¢ÜÕ%žZ{–]zsñoßÁ£c3Rô•âŸmôèþeæ#Ä&$åƒ,vÃ3¹}-»Âs‘$ òicp–b÷÷HÅ=ðà©ÂȺRóƒ?ûq öSSø†©cÍC6ؾßîד'$*Äz©b¾µSÑ88€ˆ|¶ŠžSq6Nª§w àK±Á”CÉOÜ¥ÀS’þ»hÄ´%aÿp`“׈™Ív†ª½ú0œ"B@“ CË-^™bg;ñ%†°yȤ­Îý ‚hûþ¼¶X?š¸hÙ<©?±é{ cKU˜ˆ‹'h&G`¯H¤þ÷»ÃÛ`?B½^!"Es:-ãE²Ì^³ÛzRѧ(»o_Ri‡tñúŠÎ¨ø!ÅÇ‹ÏÞÆ¥\"nù#Õ× Ný ;PŸœmÇú×âÖLN=ßõkŸ²móP pP»·–î{˜âùõ¡m\úîô€º°ˆ*jLƒéX'=´¤ñ#¾nhGûV²sì2jÄçÂcxP¥+"f5ù”&OØ@î¡R3Ž)¤¦2|V8ÄsU_¸½ñ¸ÁÈ´óéxµPGŽócB掉Ä3˜“†Me Ê¡¬“„Wžcÿÿ¶î g¶l—´Û›¤È½ï*¬¼öˆÛ!D€ þw\ÆÊ«NÜå±ínf¿s9#ÉQlèˆì8#´ü=‚|Ž‚åÅiÏDeµ‹ûÌ\\fšÀ\Ã9.‘ú޾ÅTl½öŒ¹¤@·ñ5D®f ÄúìGüNÛkÝÙ‡ùø(ÞˆÂ.Má‚-´WýÏÇÞ|‚Ï)nï§ÝÒð™Qý‘Í=ä¶:b ›º7÷Ù\ì“ú¤FC¬aŸÚIœ3,wÍ÷2Z±¬ߊ#Lý±Ò¾ê°ÂB¾ôG â yÑð>Oúh:ŒÍklwb÷[ñôDrº èºŽf¹³¸Ž*Sl!)/GO1 •i&k…~5MÞs'v{˜iÑ áwžÚ%«YNH•ŠUÏ>O†ÿåèK´ód¥~z_aNO€o›‘ Kã>°%rt³÷a(™ÊÕ¨F}{ ðÈ­pX’ü׬V™¹@`ûM_ÙJ•9gUïk@ù TD^v†ú¦íeH®´i™bâTuÓ) #Nª¶'ÿøŒ ¨c¢Þº—Ç33Ž0ð‹ªU¯ÏåI:‘ë;ㆶ’ÉÆA õ(*»Wÿ!χ3ÆÓ[¬p²6„ m›ð;Ępb»Èèd$£xv3uŽ•um1ñ½®ô$ÂTG¸Ý“§½œoo™>˜Ô±tšŠ~h©Í;‹± ,Å—Øj…‹+gD+ÈCò˜ðw! C\“ˆ|߯£(ÖøÏÿÝKX]{#Àì‹ô²*U– {A(J,ÅWäV\X‰2®@ÖÓ¢,Ñ+ïUŽe×ÂúÍȧaÕïÈ!r:ÄÜZÁº¾ôŠ¢_}Fí³¨¥˜{L”ãqf›¾¥‡uŠ’$Í]ùX|?×£/~ýQ˜D#WxùB±U6êÉ/% G Ñ•&Ä•Å9×g&åYÓ»œÆÓn[|¦\ß8%!Ë¡R½Ãeke4AŠ|æGty‡pN‚î½—™ZùÃ#5C¿€KóݲÈtyèô£äˆéA ]qŽ·óD×¢¿p''ç›ÉVç W‘W‹Ýã°OÏÁ2¹(HW’B8¦¢Êà{l8ÚªS•m4yýrKCZRŠH#2K(ÈÔ\Ë«i¹‡‘°IDеüº‚ƒRêÜ®ª¹T–7¿ ¬z`sCKÂÔ-ùÙWj˜bÕKÒ–xM‹‚˜µÈ#î îö¼Gž_þá_àÝ3EX°znœø€vºÐs«¡=ln_Y³.{‡äÀ[óå“OóäÖŒYÂvaÅþ|Ö4è&e¸Gž âR‘š@ÀSfÏ!3¡.M ði˜ÐtÐ ¦D“DGÙãÿŒ  ¸­½ÅʳÐè/¿77η%_%ù¦Ú®¬Yƒ6)¬’Ôr_Þ‡…´R“þ"Ž»ûäd£>C‘‰cçî?G½h ×°Æ‚mb¿€t>Ã5[Ùvh32{'PìQ˜R óá°éZw€ggX@¼nT•E›Ž>:_x˜ãžž¨ÎªÏÁ1ø0úÌ)šú`¾)*ÓÚ3ô£JŸ¶‘kŒÌñ+²Ñ¡»²éíu¸a»GDà€ Ë»÷n– èÄ„¢m‰wÎÝÔÞሬ5MØô]}G#W˜J+£uà~$Thî %)jF‰o²xû_@•þ [bôˆ:HƒŸQ× ÆÁÞ*kIz&| E6f$°<wº(å ©¶ æÇ«¡m™pµÕjrfßeyÙ y&Ňå .Þè*Žª-ù×èßGn@Àºbõ\Ãó'™c—aWþxñó¶¿ Eå¤Dðf6}-ƒÅžW/Û+ÿŸ I½r2k Mm=9u¤è>Þ(ðT­¸Õ8VI*¾Ÿ4ïÍsºª*céžV’žXÚVö¶Àmû_ú)h¬Ñ5g‹G7ì¹ý÷z‘Õê©JÛØ1a’1dù—{VæA:éèÞ85ƒ„‡a`hÙqÉ@qZž÷rÒªÉ{©ƒæ€(¿·Ç .ßds#è¨>š '‡ïZ¨¬A¦ÔLhýåyØ0^A2¿‰M ÿ[®N'¶&?Ù p€K.04#H@B˜yóô¿Ë䨚Ü4ß·.Ÿ=`L­tr«_ª4ɘÍN Hi ´õ´ÐM¸{#GšÆ5Æçúüð1¸$Ÿnè`dÝÇÈ ?òw°Í›½X^Lƒ\Šó6>~â±FM~ÆZ§ókYâe˳ç÷6ù}pÞm¼ž ÇßIJ´òìwp…cìã(–9Råóy˜áÕ ®´ºá >ôÀRãM§Ë&ÌÍ$ ´Ö;g7åJù›×$U½ûO¢ÐtܙܼQ)›¦¹-ƒ:F³I\n¯‡è¥E K_¹È>‡æÓ,2ˆë„/øjâSø+†þê©>Bûj Ê%ÿÇ—wœ3Ü·2 àƒ«‰2ÊtÌâA«Bêz®zÎ N˜7‰î˜Þšé3<5+YÍcÅ^r*oæS0H{jJä7AÂÖbÙ¿Lü:$\J•Zà)‡Ëº·%Ê~SPôŸ[è#§8+Û‹ßÈ{§—XÂC{»²m“fÔw¢Ù~¯±+K¸h;ÆÍ²:ð”QIZ]ièø /$´*¢Ûp¦-‘0·?œ!(·jE´o –í>‰ÙÝÿ œ"z+»Ë‘  lçzW›:Ÿ‚sŽ¥A¬ÔƒoÙmÿ½}ÑÅ}›;EDzšK Þs>é.6L(î'ktôŠËx ’mN?rÒ˰õ Í—pV48?Ó†ùU_¼éí=ÿYý1¾³Ì •ß ¸·+ç1ïð>±dMZ_ÐJ'ò2uO·QSnw±“‚wHåÙ·*ºVÏQê¸]4]ËÔà]àPOR”uãûßÂL†Í« :`˜_3Ä«&nÛ fnPÍ™œ~CžÇ`M¿×¬£rlöú_aPÌA¨ÊåwÜæÃ&¸%×ã£Ï7WŠ­Ö½ÎXFÇíN.|Øì@Æß|}tØf>ëÛ¿É{.ͪÜkÀ)~ð žò´^§ˆúÙŽwª«9a.i@ÙËh…Ûã:YÂÙø=Da~ÆDÔ^ †„I6Ô„W®×ÌŠyÿK)e_ä¡™–O2!·³íóƒ¯iÖË‹!R‡©×µ ŒÅ #2qžä4úÄXamÌžapIŠðbÏ¡c*§ öÂh ®üÅ´îJœ–ÿ˜è“ëVD€|µ”Í$Lm]vJi.ž0ÝU>oòøuŽ›u[dn"Uè9%ú zTŸ[4¸Q§îú­àØŠ€L§O£ÐeéÉyýr’Ô‘ÀºV)FFÈm 5;ÕQŽSlL¦yj»¤µ´š—å×V¿Ä®ðN›8z2‹@‡.èƒH¦{í:íÿ›LjÀc;ö#r’;\/ #rÎXläÜ-ÜÝ+[FK‚i#âAû³Õ•^aAgòæÖîaõç0Ç‘‹ÎbT­%LŸ V€‚Žëí_Åëð˜ip“ãk¢÷XƒÊŒ·È>¥ >šxŒ3á9Úš§R´~šóýuá»GÖÕ.Wó'§ê›eÒjœV‹·»‡½Ì"üÅ=Ñã:8Ë ”Ÿ>§±qàWvq*z <þÍ^‘«÷T‰LÈ'÷Þêõü9à†nˆA¦Dnù‹ô&Ò|J‚2úy&SÔ‘øÑÌtÔpî8å³IJmBÑ”=Xig>­Ä¯Éú¨EVÍnšº³Å{éŽÒddݘ¨,nzsÀ®¤€?i¥,[hU Øà@ñd_Ú^ÇçžÄŽ*^îÞe‡­úºôhçÉÇRÀY”ã3{ë’`á”NêoZ %À\—â /vL´WÂëÑ€õEMëz%IôÎýƺ´÷œÍ ˆMUxWCiË àb¥µ$û/ ×9„}­XõÌ`:*}ÙïÏ/Ôúã¾_/u]Ó=kÚpá>ka õ Š<’,ž+~~p2?ăuÐI_ž£—øó(5%óX\èZV{9–(!ïyG’ëÔøzÕ·¹j`\X3ë[$[жíöBÆÒëQïB^?Äk! 2åˆøLæÇwΑwL€]XYÄûôõãØØ l09¦G¬Ôˆ>EøÓ´á²«ëþBO#xµŠ­QÅSUSYÞTf”¬QÂ_ìöOe‡ÚòX¬•øŠ ­SLÒ8ˆz—Ë”°,²z[ZÖh<2CÍÔ|±"˜î™/«$‡;¿F•a]H û“p'°±•xoo…wã;PíA5bŽÔŠÉkÉnÆÑhD3!ÔÅ`K¦jå4ªA¿fNZŠý" œaF宑Í.T‡" gV¸#$%b¹¶­S0Ê<ÅQf¢"þM%òº Ò°_öopßíÖRØÅÎ:­ýîœ6¹0‘ë{.T#xNŸzÛ¨:uWcþ'¼»JMPäpSÐ pâWÕC†9ìVx´‘+H=¯ 0רþºªFˆ¯~\È.¼;åùÞ#$[H­u^@b£ÚbuL»Ú2‹`@j±£Èœ!œÔáVTbÛ°kÀ­±  ‹äH°Áâ>#›÷ÇOfƒûæ:ÔOHÞ¡µ½öÑeN¯„Q²ÑM¼±¾ãßÊÈØÏ?€>:Ë|et' 1‰ïP]ÄøæÑ?u‘É$¾Ãç^É«5ݸêõº­$„3ûUú)pJXtpÒE+ì!¿‰;ÌEÂùñ;Eú€£› H€1ù1y§{Î> Û>úÅ}´!:¡ÍjÁFó¼«+ó‡›￵/Gã:ÜPÉC\·Ö"Ä:tLRs‹n²"B2ìaì‚4Ð'Tž ¬´Ck(7*TÓÒ ‰ÒM ðÆè¹Lp¡Wß,¯=¡k†×_ìC ïyNßšŽçl&9@Ñ¡™ø1Ðê˜!¢-úøHWí,Çu xDQŸu$Û‡"õ¬üØDüÑ{Q1œÕãü4"õAÔ^§‰æåÒå/’Æ)Œ*ñº'ýÞ.5…ãP¥Ñ*¥&°.ž¼›ü ­l|߈Pè¯{cÝÃT(Þîš ‘ÁsҖȦކ¿!ÁK¸Ö£˜ñ¨ÂLVeâ­ÞÞÔ¦4UÜWú9ðÉGsÍ™ð7¼‡ ¡S³ƒbÖê´áCåÁRûÿqýÄŠAØ"GòQÁ.ï7¹zr‰>¡^rˆáAœ©›‹¿’% ¯ÖÜÿRz ÇÄ£*–VñVzÜ´k±:%¾qXù-Ô¨e§(¶˜x1#1Úúä™ ×ÑžõF™–~áêÝߘ¿©B¦GZ ÿ#þÞc‚ý¼»ôE÷–;8ìVY—Ðó¯Ø^.Ìm[sö Ê'Í&Àjàm¥aÜžÈ$ƒ¥pÕ0õõ–©š“V‘c)„‚Œ†Vr_"£ø2þÈŸ]‡`ˆ¹t:ÜÂeʰAG½®y)Mø9àšÖšX Ä `´dˆõKÊÓH‹«—PtóÆ<ý\!0* JΔ.;AÖ…© ¥I ƒE=/ÌLÿF‚Gœ®„d ¹³PŠkle¤©~iªâMðá âÛ9š‰Î/šÕ# -ȦAµìôï*ˆé>)|0Ö«ÜëóÞÁJŸÑ€ÙYë\¾ƒëžSöøÔD˵YÀ`?Y|;׸ìY·Ü\hµC74¹iº¦®5{aâA0ƒ¼¬eDÑnÀ9©>•Ôá·b 4—]Á¿W˜Ø©ðLÈö„(¶v=%y1þù½áC R,Ü€°iúžæO÷GQÔƒslîñ\Õ>¿,È_È[N³@V–z¨¿æ32Õ,ÉL &®€†™ù6³¸¢ç÷7äÓ!Ûð†œ»°¯ê„Ѥ5lÕÏž·ôöêéëŸ0<Ä‹ â’ÄòÇÚCß]Ãb x"5u,ìD6Ê@´ $Ly‹ìÐ4S6A0슭ê絇‰p?$,|LX7|4¼;±'îp1¯K'ùZgôו´è¡ Ö'²Ê°>Ÿ¿èVGáL½ŠoéFN þ-mn°©”Ï à†ÈMhäesÂ4Ÿ)ªëœã©7ÖSºa† ÿ£_ ,“Èï^Ô+žND,ðríð=V²Ñ§N+Úd¾8¶û˜i¡dÞ-3[#Ì ýƺYu`àËH$˜p¼(ržÿ0@0UݶTË>e"_¶¸î±Jñû uEqÕðÔLÇI…K^ê›zT€æ“ìq /4ì4ˆöþÁKì — N SÀØ(k_B4|<¾)FÏëbmö`;ï΃Ïû?[Õ»üS.bñq|H¬5ßw }“zÉŸÑpóuPÏÕ˜µh@ ;w†à“$àÑY ûËÛÌïvšŒ„`ªH¨ÎØÙc™8ꥫ2`úD~ê¸w‚Ó3ºîoôÐäšnkNïJJÒIiãÛlãËYj1@KÖÉ\ƇðHè@Ãòø“vX_SŸñ:[þ)C9Êq}é_ßËãßì$L¶BgÒ>MѬˆ'HKOÔ£¡jКòdýü™†Ž}·¸í¬xmˆ.fý“ßš±Ôt´¥_Ô~åcåfGÙ•Fùï·±Øþ!¸­¤Îú®ÁUø³pø$.öp¶|ë˜Âéh¢·[aÒ æ0ÏЋ¿ïh¶q)Šƒ–ùð·½í_¥Ã'ãK¾³PON^ŒÄ©Ž¾Ýßlü3!Ûï‡f¸m Ë{©õ.'b‰…+I9½ ᾕ)èÐŒw¥%©9ƒSVOž9‰å\¨Ìgez{v]Êgˆ§Øóí¥ ôäHIqb‰ž0RÊÍÊñáø8¾§‹âžq­4Í¢FwhCbÂúÀÑ+åZq³9ëBüMåà ¨/w·Œý9CN»-Ý.6gÞîM¬Xÿv,£ÞC<ŽßÑÞ”Ïõè¢æÝõ]¶õàÌw¹·ôý(ÍÐFUá²â’ÄJ¯3]YeÅqf¶jîy©åÖc ƒV³U>«ë†çª“ ·E ²ƒ½|ãæŒ™Ö7L¢%ľNó“Õ|3üÙœŽL£BQ@Õå°áÔ[‚%̶:/F'gk ÿ‡ØéÔiÅf ýtɱzçÃK 5h|VóäÃÕ™é[8.`—e{ œÉ…Š7Juú²¯Á´®XÊBz›²¬N«ÊÝ!L£F«\4 N¼+vM.±Rn=úZ®”tyDIÿË~¨,äCM•oRœJ4ÿ´—Ø—E!àw~ ÷?Lj5ßfcM‹¤žê/\ä@9UÆsDUÄ4u/õäàdZ „|yˆ.!)3aäÒ6whËÝJtQƒ~h½.eG²¶Mt þ$F©_ùéÔe‚™d^y5©¦! i£ ˆî¶fâÝ >463˜˜Œ%ä>JËëîžmnÈä•Íòôïü›-OZ‰å?+ bA²F6­Nµ¿ªGd ®ÍÔh'o'®Äǘd&{Û¥¾/ S7¯ÏR‚@ÈÄNRûê —Lji]ÙHú^Ò—ÄøÀœí]oÃUU«âx5Å:WÇ·ƒôÅ&¸”-Ÿ‰#–:NÿÜÂ.ôàÙš×NòùõP"9—Š­—bòQ,Î;àÎ **>§¾ý»¨†©úc:ËŸ ´Ö'{¾n¿LËÆ!8)§4Ìý[æ¨gÿsŠ•è¾éhbjB8]”d† °r/ Î¤Ž‰"îÇUKŠ æèaÆ­=§Å¾dßßçí|w.½V!´í+H¿ª°›SÚÏH6§ÌÄ`ÿ‰7áñJ3”odh®K1'z¥6:è ¼ÛŠ?Xåòvb,ßvr‰Œ8Ìtõ›Ð?*ÄT¹¤­yÑå:hçM­íûo°ÇO7áN+Í×cÿØëÞH2ÿsf‡ÔŸDÐE;B±áv^C]qŒ¿#¹ÌQοa.ÃaU׉p1 üZçuqrÉÐ~_å†1HÕϰ‡§-!/wœoL!èîh ÝÒ‹8‰kÐMÜ~Û¶0ÖðRk¼XÕ­,‡:Åž¦«ð7 Sÿ+\ûNwRg=à–vTõþ97¦¢{õgÙôs9ʦÿ%÷%§ÿ÷„û&ô-úW„¹T+³’{È 2HÁ³€¯b+Gèfñ"š­ðÁYžN)õ(¾~P`„5Œ–/-ÿ(âҺí…ã¡A*ò}Lû~;¯È¨çÞËèpS‘#cÜ-¯œŽÞþìö’eœR›KA-ãŸà1­13eòÀê±Yö¸S¶Êœ)ÆÙE¨VÆP)Ó1‡¹’mæg'Ò`¸‰]T!þ„M–Š6U­¶q]ãÆJ¿Ð´'Fåó…ÆYûâz FÍ#tC¥½"–!¢_ºa£·_¤úÑßs#°ñ¡.±an`ü²ÙÚɘ9­dd-ÛðYÇ)ùC,Špì¤|½.S4 ÊΙé !jÕê‘r¯ï9BKÕ-Ú=ìZèy$˜Úqî‡ö/Ç¡NÚK{ØÙõß6‚ÀÏn(lÅਃ¼n*Q9¯Î KSŸÓ!±°Î:ëiÖ4ùÐ2TÁLÓó!ls—‰iÜTÂDDîÿe³ÒfAMV,YŸù2æÇÙìX–7^(³¶çµ‡ÌµØÃ™OîÏîª;™ÊÂ}Ž$óe=M]­\€ÇÑÑå $®>Sޤ×eš|®Q£dîzwKÁ„¦€—F•}ó•Ìé«È&ë@ì×»Õûü÷ˆ?+ò´oÅ›‡¡†·•‹¢|:kÒ©ž ‚G̓é%qœN,xŦ­k6mƒ«y@åÖ:ì=01JÃÄ+vápL¥°yÝDÙ{xLô«^˜©LhÖÍ»WÃ{hÂÌB“W)vŒ¨ÔÀN“‚®ÞéIP²úïé;A¨ð–ZiÓ¢ Ç*cLMíÙ–Ž}ø¤U›zjßW"ãŽù1kó¾ðìDUA‰à÷mz#Ì÷QÇ_ýÔ^uáþØØ¿$vwéb¼ôà¡qƒˆJ;Ä—›3š†Ð ö«Ÿty-¦œè”3‹6‘«ç‰Šº% d{À(œ_©|=ìÙ!é\À‘»>§<Å zk%ªÍZøIKÔ†¸£ˆ‡˜ ÊÀ?i 7é)ò®ÕCÆî§¨L:+©tê±D‘³_°6L"‘àhUÂ\Þ7o˜2òUÂGMܼλ®*{MÐÚ3ƒx[N-~‡*Bm]8«’4›:A³U¨¿2ÍDËþFáEÊRHþàm6;#aªÈÇ(‰eÐâž´ õeý'vFNØ$iÐVØ[ƒ-¸—Frt}Éj³{Ó^z\@¼/“¬ˆot86qJœÖt½ÛÈ—ÒlÈíÝ•¸p¦OH#KŒPóœL8¿c°{¸0À{³µAÁÊùtòM.–iÈ}iɼRü§³–2v ¯„›éØL=ùÍÝnZªÝ–,ùPKFéC+Aˆ(,•ìþ5€­‡lñ7?+‹¬ãîNÊœ€Žêb¸M?ïÅÊ…^†kWü%e@4B3ÕÇZè¹NÈ9û¿D1kìa>­.;n¢Â¡DÄ‹¢lý{I~u;m”³T ëé (,aZ0YƒQµ‚Å%gJ °c\Ôºþ¿3?ÊüÂëy'wû*™ãx´®éÜ­ásÕpýºTv® þ~™YxñhñÖ Oà ªƒ†ÏñÓŸ+ÖŒš³Âô«†Õ×·Ö¡R§©v`|Τ¶Ž¥¥Ê¸Œ°·]öH¸d'¨ílpj$"gêpb;:‰ÿñ ?Ù2¶¯QÚ Æ—)²a¦E9åÉù²a©ÇRaù ‡ymøÐ‹ZïöÜ™æmö;gY ;ó µ°Tž/®ÎEmßð Ø:¹öT! 8¢Š²>ůpê`#„šòw™&Ãq´?_0 öæ¿'ŸWy]XÚý¡BßQ}8ÔÌfŠÛMêèhTWíäªÒ!ßÜ4¡Œ4*£Ñ¸>,SËHo·Ìu_ôÑ)H™q¾ZÊô?ÚªÕñ5Œ5ß›²j_•“¬"Ÿíõ£øS.P!犸†4Œ¬ýI‘U"$‹š%HÈ McgÍr«_WdÒfcÂFF?@Âx!ú: ÚÈÈàþ Ú6w&×zr3|»õ»¤/²7WŽ'ÁzQx<äqnq1âàÈ%˱@ü®„N”üþ-ª[$VŸâÚÒTAöv'BˆÈ­®ÌDøhb V -¯­dHOIÅ ”ªYèú'íóÍý2Ü7S¼pzºÏFØiÌ.ŒÓRpªö4¿CâÓJ~· Þ£³ÔÚ'UÉ|èî:È~ÆR±lÉ¥#]]¯$™£Dè˜dD*4$Ãuqã ø¶rŽ ² ú€µ+Ø›uØ6 ùrBÀ4h' Ö¢¦9y^‚ÍIóª´"WX#øzøGWEè£Ö€®|·ÔbÇ‚sd>ÏÌŠ*z¨‡Í—ÉnTÇVø)bj^{ÔvÔýðÀDŒ˜o,/SëÕ„ˆ_ZЧëÍ­{ÐæN!bÙÑõŽXý*HQ‚ °^¶I !¶"ÌfÛúÈïDÂ~²qhÊ4FÜH DüEìj:r.¬ÁÂÆâøy]núÿOl²Ø,U H’Îà #a:»-Ô¸Ž°^g ½J—Öª'Âu '˜ö|Žw­³tÑõüb(öŠ‚ f¹¨÷C`ÒºFHN²na-Ô4É5ÆeÓ\—%awqÉsÕ˜Km?RÙ&ˆœ~(ªÏt¸ŒWÆEN†Æì‹…×)èoAl”í6©Jìyèc›]»S}VMf'ûÒÀ³pf]qÓhY纭 <íb}™o°'¨òÛá»'?¿Ä>wÖ6Epˆw­ÿá 9Óul¥+x¾`V}½þ2ÒߨÁacÜE³Q-%?îãiÕ°V¥M¸‘üÙÀ)bz0—ç#ÝÉå…ˆÊUýìÏ‘Ïü@å5€tÂ}ÆCöÎÙW1wo€^íaãšµ´LîF|ësµšrRUàšþJë±<Éç`ÔŽx“ètÎj½6’,Æîª[&¹u EÈ€LMhÈÖW—¶ ±ÈT 6 7Âz­½ùÄ. ÕaxïÉ(hšïëú ó§K‰¯ó¦J(+9¬è9¦ˆågï!ŸÞšÃîB!7D‹ÈŠçë¼*føÄ@ñ*Xög¸Hf©[Ÿ.Ò{¸óú#j’/ é3øäQkx!HMRaÈâöžzõ ~)¶QOo:ž»-Uã-"ήÆWèÒ½b¢È\JX§Kq4hÓ?/·4ÙpÕì<<'6OÒ›€POlƒ…N) øÕÙêJvæÒO‹Bd jòïDj;m@›hkUcu­Ê9ƒH†¤v¤t¶ž¶sîGJ=˜/«x žm$2YÐW÷:´ˆ™d€zrC“òo%¦«l Ï ó¡Âz±c¶£!g4\Ô >‘뻂Ð^¤ÎÙÌ ¦B¸¿‡±ã‘j8Ä«^ÁÔ¬0Ãã¿gÏue1Û'ž«Í}Dà°1¨¦šÃÅ!ÝÍf…`ºs4Ü65]ûW;2‡j¿ÍÎ é¶W21Ì[1?Ož9¦pk!Êîí&È"MRÛUxùz7i\6ýŒFn:qܲo7QsºjVñÛqd\t&‚–U±&j~jj,YüÛ7K§ÑiIÎkç/p`jé6ˆßƒ+äT9ë{` }µ±¾›„È›¶k¦ˆoÒîh’ÇN×½d¤"‚½yU§PúÇ Õ?‰³%‹§¶%OÁPuÀaçKԢίÿª[¬2ý¦†"ïh7&¬ÂìÎ0$Ķ~¼Üq¡úUÞ¨Q¨ô½æ îž9hGÔ¨8`£¶–[5ˆ*cGnÐõâ…2Žª9ÉByùÄ€,—ê|¯I3ûªÇ>TІPöu2 žbÚkŸÞ÷™Yè]B;_z‘©¶cެ~3e«Ž‚áÔÛnë’Þ;ñMHʱT/AåªÐ.O÷,¿Êº5|Qdcˆ¬+!37ø2 ×ܺ ;Ù¤û$dð*w¬éc´ëîLzøNPÐ>ŒÏÇ ó#9nàÍ@¨fÛá°W1³ë¾ñ6ñIí3àöÖ«Æ‘Hr}TXÊj,Ô>ÞQ€šÃúû-\cŸSd8›·Ý*ÌÀ!´­Ï1E±ªœ^„yÇ5û„ÙY=ºñ³Ìäuüí¾g€œr)3;뾸 íRu…ØÅÿO°Ü}¹^ u•/ZˆìH;#äùñ4ß+ÊüÀwy}!Y:Û‹¾¦R^x¥Èöi&28æ–ôN­1ŒØ—‹éˆO,m¦kß ý‰ç™ÃpÓW%…ÊÈUnJЇb1DIªé ÷ßåû‹!2ekÄøj¿9\ KÙþî=ÄÔ‘n#6\WˆñUñcý‰_%»ç*yO¯ÒBaüùä5Ódt0ctŠd€g|àXmÖg4-¤—Œ4xcéY…kÖ<±lÌ’z¡ø(3 µ`4Ÿ•‡ö ðò·ÇƒÉ¿„Z9«óÌq©†ÜÈ÷ÁÁ¯£Í)×NÙÍ>ìÍ€´qfu;ý°“ÇÍaŸËõ¬Wh>ô¼UÛ˜5&/8_¡”©Ð^Ê”™ŽÂE› ¬V³Åœ1RBNÿ˜„ †º™È°ÎÇ0r¾S1*[ÁQÈk´y´(~‡/Ï}èÙ•'ŽSå Fš Ñ&–Ý*ÂùzáÜH1 žÉ'(žXÆnßG×`5{íüùaœ³¬#ÆÙöiq;[êö!‹"žNèEkEK÷VhÆÛþ»äë#Z¦ÛHÕiøü™öÖ[áù¨1Za´AV¼ªá̧æ" Ùo:£¦F:ññ/Ñì?ªOÇxYuÝ-‡S¿þð#á*H?¶ºÛ±ü¢³g¦/΀n˜ÝÇøï:¼ª†ž¡–]HïeÒ)å¯3ч+ÌB¸?Mœ*FÝ„`ä­(ý¬š±ÒHÃGQŸ…K–©öB —‘b'¦·¼d¯£ÀǺݥÎ"“N‚YâÞŽ(ÄEèoÎÛ–\¬¾îpÑj“ì‘;| zâo‰ñÅÄ'‘Ä: S¯8öàjÿ~XY®ŸØï66D9¬@y.Ë€ö³Œ/ÉÓ”ë}Š0Ðì´÷Fyf ásOT½qÊÐûb2°ŸÌ_û#¾ÓBlXlõð£÷Ú˜5T‹……'€÷ƒŠt¢Pïn§%îÏnF.&I$ßH$þ¸öº˜œO¶N3|âW¢A½öX ˜ŒÂ äƒ …qƒ§'£”9½º‰³zHÎ8æœqÓPí6~i¦+ã¡øŠ"làa_Í!‰½4¾º8˜Ãƒm\:Òx“”áçc0žÕÙ¿®èò“´é©qÙò ¬/ª{v7êFÕð~ˆõÓŸ÷oôÅâ¦\ñaŠ -<^¦Vy™bÿ·Ãá-I°ÂÅú»'lýÈò<½RòZ…›u7z²ÛàÛhdÆáH4ýŒAmvê dUùaòEJ‰ñÇYdh;ûåcîˆÀ>¬e2¡, ©ÀG·O¸¾X&¢v¹=Û†Ä Ê)[|‰œÞnÂ}âLD#mÓÅðÈfüD~gØDý@~‡úõø…'® ;š·«"Iª ŠÁßZ²³Þr9QP’ï¹ ;æýr/îg0žh¹—M0€M 2"ЍÚ2Ý®4§‹«ƒ¹êln|ŽÓâ~ï> 9D•@TAˆû“8õì\øe/H¶â”jŠ1Ø9÷ÓÓV‰Éy“a1Á©Ò ÙE¸b Ýª‰ºÑë†ÀïÌ=ln5ÃáÇF¿pƒD2ð7d¡·ï‹«Žò ~­KÊíÝøNv¥ b§&M²!ŽOˆª÷±ø¬ŸâØêDÿóã5Oq6¾—9Óö Ÿ›¬U0 RóY÷/”|Ø¢j"OPn)y2 æBD®:yf ›|Þ ÄBÍ ˆ°4øüêÙuIZé‰A½ÍîŸ;t-Ÿ:üŽÐ¸¯¬‹øÊa=–­Ô²¨ÕŒ4‡v|ßÂyDš—¶³æÝØÁ(OgÔpF©Àk‰4=EtGl/ »w |“aeò‡ïî®t!êS7¿ gp¿Å«›Ó3ÓPi,E Ñ·zB$8шm~•ì†Ó$y87ÍsÕ_ü ±îáޫ㊽ ÷7e7óÑé¶n@n¾¶À©'‰‡Õ]—ÝÃ2i\\‡ÛpN4M™ÝÙýŒ2ª^?!8aU*p¬ñõ¿¾0Äž^)8yÑ}E°Š>èX1u‰WT…ÚÆ¸ð{Ày»&ŸÀï‰S•^"“prœv˜ù;µ“ž™Ù2”[¸¥~ÒO«’ ucÖ+­ qèÓ!²AƤŒß“E³<'®Míæ °—ûc‚µð,¬õµf¸ÙÌ–Öa(?sˆ¿¼üù=‘%ê÷9¹¦ß{øøïûdÍlŽÎ2nà|`›ã\‡Il²=¢ÔþêäÁc6Ö$±G¶i ÎE4Ÿ3~<Šoà[XGZ—y'q¯š‡ ë&zÄžChè j®dÌU–ɺ†ŒWBµ„|¢l ;]›k8—+¿†–ÐÔ"0ª+m]Wø‹ T :®ÃÆÑíP´AôLºÏ•Ë?š§8Ù 'S "ŸD?Þàú¦z(ÝMÝÁÿõYT¡û¹¡/ަ´UÂ~Ú@>h@ŸÂ–†ÕzÊT&버{>Î0®Ÿ5}-<5×@O±h9êtk‘ÄCß¶6ÌÂé!ô¤ëƒOXµª c5*à““á·ƒS®À·”¤»Y…ßçbÖ3D*ÝüìC¥ïྐྵ/(—’üSj6×t6›Ñ]`J“7ÇEæŒïµ2TŽ TrJeŽTmÅÌ÷²–6JþuåôL³ÔaºÎÉÁtï#kÏ»;ô‰“ÄWçXÎà[‚^•¸{on;åÏ_á'¹Õ[r•Ÿ8ãˆWÁ¿Ò$ÇI}åZ8ߨÎÉ-[åÅ«Mš+vÀrÇ@ ;8Ö”¬Å=«úá4 ÖRD wF"G®[?™ëdv8dMZ½ÓBA‘žNïýzÆžàüc®˜”ß`Ô|ÖŸ¨l[6åܱõXÓ}Ѓ* Eƒßê u³cš„}U]󙟫{›“˜ô. ?Æ9»:·Àì(äA³6& @›s*_eÞдj#&[ÏóÁ+1–a9;EúYŸiae5¯¤BãÞoð5Ë×ñQ-UÕóévj﬷/EŸÜ1ÏÍ^ÑizZ¶¢K³ÊÁû?êKø ÷Ä팺 HþmeÀ$¥W€tÞ1¬ùhÑdžû¡ú›ÄÎ7|88“/'S·)R1ç¥"læœ?A™JÓŠL£ráyGî`B^¨,ãûw)< e=oz °;Ö;ú+\O¥° R™¬ã¿¦öÚöÊEWÙ]12ä"ç'GÎZ Im©¬¦Ü&j‰à ³hYOý´Jå´M}³Y{ž¤OTÚàNœ]ïÍ[ÿ¹^}ÃðFVdó:û´›ñ n‰á¬RVžÉ³k’…ÒÕ‰~´yZä<Õ'ö~Ùz)p„f<CÐ2wtáZÀyP,õs¸X{ßÊÚ?ÅúŠ”Í4-MÃD\#ïXյѪ›ŒyGâÍ#|Ù}Ë•ÏD2Å_%0~ß05Öõ>–¹»%û5Ýü"BR}ø¶?‡ b×Ç`îN2|ç '¿AÆ<…^.ó!}wd$ê—’åò•¢¾»ß‚Ö=xgG)m­hÞë á—¶úÕ@1ïÒ“žfz¯uG×-í¦ÒK ŒP4ØûXË¥o‹hF¬C’ßòΫT ¨êcZyÛIÇe™7-ÿPkDí‹NK¸ROsgyôDž»¯ÝÎÎdZ€—/Tl½ñn¨"¥1zWë[Á-zn ]mGŒ¹¼°ntN"RXÄ#U˃d<§'B)TæÖ2™Tûò§ÕOŸƒé* û±hÕĦ¹ëñ›á‹d0I̯½ŽåËsRvïks4qj©úßXžrØÜ5¼fÆ5Ö¤M›&«ª¹ë0+ÇÃø¨zÇ|äâÙ”.˜ aKºÖ¬¶ãØüwËp,ƒRz…®Ag{¹§"·¸³kÉt ä‡w5V´7?·!.2þGû2°¼ý]±Òú¬xâ ൹èÒñ)­Ÿ%0iªæó>­ú9Œ&Í×J—Â"E»[ÅÉPZ°UD…±À+ã3†‰BàåA/›·•ÕÏåP ºäLìÓÀE®4Ÿˆ05~0bH·”sÕ&`bÇ ×io^/®÷Ðè}hgp ÃÉ•40/íÿ&¦@ båMšß$Aô'“rûí» ÙŒ÷´ØkOäêÇÏž`qC-e°k^Öæßý\ÈKdÛVàB»Ÿ±gN"ScsNü@îç;K-:Þ >C§‘Úí¬*‹ô|DXRÌHøu[VaØ L%AÊ­º^‡WëC]Õ,ÚÄGd«µU™¯Ê½—Eñ’¸¬0¬@~.—òs1oZû]¢ÝQ«BXApã_$î´ÙcÚsA6²°‹÷0mïsø)±Æy%”=ÎY"`‚‰Ÿ2p‰œ÷ë×^ÑæãnH|‚`N\õâNT&‚;(‡óZžNæ„òx„Ì~-ÀåL©ãºDø7‹´ß ïóaØTŠ­À6d)Ç©¦c £+jÕÌ0Ég,³ ÷þ ìx4¥°QÍßP¿¿þsvŠÝz_~TÈ|Òu€£4ÌOH‹>P»½ÒS?Ñâgè-£Þ7ƒßâ݈½ –Ö€¶rÖ`³ëøÍ}¼K{x \¸…PÍy"i…l#qg$æï0yŸ›ŸË2˜O8D°Ìy»ô±Š8fw>ÇÊáÏ•ë”Ô&þÚX–‘Ö}¾zk­F†‰@€©,˜‰,×/ÀkÌd4&¬ T žÎKBe;õ™ÖÓp¢wt+ôäˆy©çìê•*ÎÄívÞ}^Ã=Η”iwa¥­ÅÁ§þ1µRiM< †ŠÔd¢ö”ªø` ~yŒsO/Ù(ìx8f}ýojb„„²èMcŒ6!"Q_c.¶-"³}×úRÄ"Õ“WÅéÅ|µZò»ikn¤ =Õ ÎÎTh•ƒ]«R· –é•ÉÔj[¼D!²èÌæKÁó×­Ÿ§Áxíær3T¹Ž¥}ò·K„ _êñEäVÙàùùƒk'èØ.$nåj»ššBö›ß'…~eØdRžÊ)/nR½QQUtº‹-’¸òn²šžùômÌÒfJe™öaµ¦AžzÚ/šÊ³­lèañÊÁæØ Ï+¥sø‹mÑhÝi-ˆ.Q8˜Ö±^-vÕ/C”¶øiø¼ìß< Ñ'ŒÅ0‡q¥ýSž½ý”ú…Œt?žWKo o=šA茻¨â2Nµ%å?tΫf†À¶þ*´ ærÆE?rÝ?qáæX³2º7Ž»ždb‰õ¶v? þ}DEâñ2JŒ—I̦òÎV)“ßÄ꽜íu5®ßš;bé…‡Ÿ ˜\»Z+´<¸Öz2q›]eVö‰CÍÕ`—FÙýGÜ™=Ñ'ä8vŽVÎäBÈÓ̳?G+ˆaãºÊ3òÞ›¦GaóÏ‚ d="ifNÇh1xÈ6}5^ôàMU0ݾRˆâÿ6^ðn(¥nÁ4j¬ûrж%C(S§lÎ6ç[*}ª`@[Y_T%2 Í…3Ã7­Æ[¸úÓ²êUhëK«ì5œ‚ÙpgŸ¢|j6ü ™²:åù6Ñöú«‰¦£0„– ²„ñ ç8œª²Ô)\<=hšTPZ€.Ê›w„!+ÁÁ‡öçµÇíBä¦*[EC ¸$,Jˆ,4[ŸZ$jP V-érÄÌ…ßj@pX¨}åíêÇð0þjI–`]SšQÖÁwT»¡BÙ¸„aû"rfuúÎ …ÚCõøòÛTäpSþ*¤¦Šù6÷w"ô¸Ósñ§·Õ€$™£°¼Æ(xy%;B³v¥;ȳ±íêƒ ÿ¬Õ‡˜ç‹>‰êqå‘ÎÕoê’$ râǰDg,‚‡ë3FÁ¯U’VÈöÿš0Ï7-õº‚—5zïžY¿6Õ®wA§šb Äù/ÏèˆÎÈ!Úòûæš‹Hv=õÃ:yØsT€åÓVÌ¡õHvG)"eŒ0È-:Ú„Ys[Û aËšLÅ :elÆ$›@g,‡âßÃjÖƒqò»Ç*y2Êœù ü†È7â1¶¦dlålF@5Ík3Ìÿ:vö¿Yˆû ŸS¬¸‡,%ó¿#ð¤I ÀïzÏ×öAáX¼V÷¶LªPŽ‹Ñ  Œý6eçëÄÊê‰îs™=á,>ïilñÎVàFOqh\™Â©41õ¼‚Ùi°^tfû–?ñë‡ãÒ“#–ÑXN?ui¾~ÆQ¬™í{Mö Ú:ƒÂLbßçîÅ8L6,HüªKŸ‹yÂþj nqÆ‘O%¥²#2u…Ä?žô¤At(\{­ÐœÜÎýªYàºÔ}*bæ§–FaDÑÚZÑÁF9Üö½MQŠþÊ…B­øqj+JŠNä'~rV“™)}Iì\·C!nœéðøAPŒ¤vÓ«›Ì¶ö0Ê¥mÜLÝû>Ú«@Þe· &ç\Yèšüu\–#ËÌ_cðz®—J¨(vIª63‰D€ÞSÁÅ çÃÚ´ÉU¤Pžçå¡äÏMÑ$nJÖ?¦Äxœ×¨ê¬6I‹ëÊwWˆKÉEŒŸ(Ö´ññŽÒ£¢…%©¿í³.ap…+DÍa¥ç.rϨúÙ©ŸÕd=ÓƒVÇ¢dî9z/ê™WÁê `óñð7Æ—yW à,SÃh Îbº…[ ÌT„;‹iî*E8Ö>Fg3]Ä1Ó›|n–ã›Óx²Ë†uìF2W'¸ŽPç²gˆUØjDÁϽÚC¢t‘\¶úÑyƒ€“Ã5¶HÈò G•¢Ëä¥Xþ uCŸ%£XË/8Õå·Ø•ÞY?÷(|Êí\}Sê¨þÈN·ñ&½n®d®ñ¤]žêìh‚áçœËݨÆ5øD ‰ŒK?XfŸþ¶Ï‘nQTS¹¦²ü<ŽÒÉÎC£wP‰K ÒV¥Óì³û¶ñ¸Ø÷^ßE‘{38ñé2’M fjýº &‹”ê=’-¾zÊ»ƒôno‚`¥ƒØXŸ=èÌ`§û²è/EñymÐUg|âS IüRŒŠY!=ÉU@ø~ØëýRT3zé¼n­Ô³jÿyJªš/NU* ,4ÉÈÏ«í•Ky ÚÑ7Õ{yýú»Þ3ÈÈ])EíyÖædÂBù̃åÑ0@É墬 Y±FFI?ÝΗv^ø*`ìùD¥E¸¶×õO[Ž694ÞHß4ÕQZúE­{¡ˆv´"5'r®•G¹ƒ™\r‰Àkw5>”˜]7S<o°ŽA0&5ý íۧM•MjËx‹!p\é<© ù«Vç;ƒˆ~:,}œöâ€ðM¼¯tJ—,×Þü!Q’';¸Ì ghçá8·ñ€e¢ø°Âç D#Hxýºh­ôÙ]ú• 8éÌ>J”@b ¯a’Ê !o¹gÞ×vñ¸Ì’ggŠýP U\ªL”Û+ÁÔ‚Ù—M’÷æt…±g3e•ÀÓn-À\0~à¡§»ü°±éà‘ôØ|Òžëb¼ürcQŒ *íkè}Vf÷7}œ«<ïSàùÚ¶ízfÄìOÜÓW6ÑšÙÉ™a>ÚŒ+ä‰ãøóK‹þÚ|9ƒûeÅ{h`™÷¨&Ò¾{ÒÒ»6C퀰âb¤ÄK´eÆm`¥·}ð÷ØÏ¢DK,U•GŒ‰8xø»RÉDd„;k‡>¡s£U;t¢éxÿ¡¿KÝ„œÄ7TeösWˆäK5yñjÆ)}*ø< ªÓ‘ˆ¬×ˆØÀ¨“è]Ú¶U¨O…t¤®fw’¢ÏÚŠ“i˜ ŽÇdf\Á“ØEäÅ&¼ã6Žû‹-uHbxM•oÂ`É=UÄyÎ4I¿„7‹Z¢,r„ÂØÖûû+ù»3a7Ùæ…Ü ŽE&‚¯Åú¥&X&ÍÅ,¦ï-Y¹ŒÜ…’»ø‰°BJs/lÝ»•[¥*îø]†Q…*¼h‡kñHMBmçþÔÐÙKô ¸×¾°)ŒçñªŸé˜TŠj3R͸Ÿ»ö¶i!ú‘vgM+uŸ›nwÕ©Ô…¸”ýçŽãÏv’<ä*´°ë ¨ä¾¬ë+›‘}’íl/p†ð2Øà 6 ¨ÿ ‡3©8y8UŸ+¨@›'TŽ !¾| pâ”m¥$Ë gæÒÖ ÿ0úxפ'ŠÎŒ]š›á<Ç~ær»x¹7Aô§ É‹€Tì@€OË|û+k—yßMm}œržµP)Í¡—u ¢ön‘º ²um5ô!1±‡!c Ò®-mÝ@›d •϶Ù@<}è©ýM~îÉÊ@3]™ÒåîûÜíÅîð0Ëî×eZʱIe¦ýlÈ[¬¶·-ŒÁ;%‡Ã‚ŒÐÝ„o$l>¨¨Ð©+µ¨™æ-ÉÑØ2Å ’Úo¸+1;Ýž†Ó½R?LZ4ÏD¬Ï¯•(•³c·êëö¦Öä<(`@WPÖÞw[_#ÎÑÏÊO5”=«ýyŠÎ¡©˜EòCˆÁ±#‚þ²§O ‚*†>Óqeêy*<ÕcWÒþGSa’&5â±Y@© Ø=•+ ô£[t%¤pß4y úºÂœÌ‰âc+9Yo_8—$­vÐü¼Ôe7;·ª NЋ”él%°œ«± µÚKøÈ¿ÿÓ¼D¾n¿HØ^ƒåÛ×eùdY•‹ö}ékqÓœ;Hù÷=)¼‚Ò@ô‰ ލ†X{¢i',²ÖŠ\ø™}hŽsØG“@!Ã4ÌF¹jÉ"ž†!zrgVá=)j²¬mÅ0l°0j¦˜åEN|Ó…àšæ¤ Mš‚ÜoyÍÖôxYïrWCîqš],jì»ìÑ5‘žíÕø»:–/’BM(}6q …²&š.¢™L/£CfÚ‹jF*™§æŸò=Ñ;ýlúU¯”ü7XÊŠ“îQ hzRü’HN”Nt²|]ú«²ÞÍ}¬ÃàM?Í?Ô Ú¥C‘ xÌûd-æóž™ÓÄFm4ãôcÚ6í‹áÛ íIÃì%ýùQÜ‚Ù-ËDlùkßÞœáÙÓî0N¹ ~b4¡ñ̾!‘†‡D‚‡v°ÍhŸÏ^‡8b2¸8=NXá1G³¾È[¬!—ÿQ¸Mºò7Nî¾J‰/vÕâhmNüb†Ê?W¾RYÈ«à%)f4p„ÓèJó=HÞïÀk .võ¦ÙzÿÅpWí;×bê,M_õɽ¥ŸÕõøþ‰fX!ÐR¼ß‚à‡O~vÞ öbY“ºL…­¦uPXÈÿëXºJM|ŸÁ¹@„ KXÃ{eÛP 9Ö’]1ˆX™·åÀ;¹ƒûžac@âͤ­!¯´w猟BþÉ02lêSì’ÕèSV¹]À-NÜæÐ\^fÂÕàDš’UµJ>¥o :8(‘'²ÊŒ³Ñ¸/¼2áßzäK²»à9Â#®7¯Q­ßtî{†(Ú.üˆõ]b|ˆ_çíM,íF±d‘ùq-±I{µy)LV‡† ÁÃàöÆó.…ÑÞx±içÐ ½BÞ´Ðþ%¶:ó‘Nó¼6šebiÀtƒ¹fÆlöm›áH,¤MK-¬¤¹Û M•éR¹të`D ‡¸—f? ÏsP3ç4 ÿEoC¸T½Q¼uBKø¼|›;; bÕ>W³[Я]¡£á{ßYÍýf4Žš/EíñmÅÅÙl¡Ý8ü?azè›=â“S,~Õú‚üDð…4?ç4²-MpèÞ¬èq’¢%¥Þ!JNSêhͬb¹t­dÑ:Ó–!ˆY«yÕÜÖq_æ“°u¾ô±Ší Z$ÒÆÏ±1€‹%Ëvûà9BÁp&çp‚½_0à 3º)OñÙèÐî"xJ`Ó6Ƹ¨d(j¨šã{îÕeÕòh-¾A8Wè!Zù!8G¯¬˜'e”KÂÒe˜>ôÖ(õð<Ù·à.mi#± YKu7.]X ¶?/™@ñ#MIqÏ-àž(Âo ƒÌk$ý8Vm»6vsîØw©7Ȇk'Ò)¢ùŒ iŠ*žcL )ç³¢•%äÇ/ß ÆÍDKJíÃBq¬Òs^§rú›Á?‹œ³‘˜§â‡Bšѹô)%¬Cv¥Q”†šózÞ`ýk ,ˆÌï· †ÕÁŸ>/:ª§þú¹7ZKl™Õ1fU`Ý–ñYÄu†;aÜæ×œ"|õ&3:{!÷ø »ñ)‰~DAVnÀ^2d,£B̺4xÜÁ`ÞÂèDü83l¿þ'ËКÖhäÔ9c‘]NúIû¶®“b&ùÝþ«:ñ5ewý—Øocº”}'M×Á_Ng<ñn@›fyrn[À[Úû³pâq£óÑY«!ÙÞ*èšãÀ¸ ãàX­ß\)hÓcÄÞÓH.{TÁvØžè]–•û`HÇUÔUó~2UÜ$”Ôü‹öBw²ueQGŠHT!UR |/!ÑíbǨ´âާ]’žAüI®>ãRXø§³@V\¶àºwc÷WÖ›]Wܦ•ȯÍq>§øùˆg,hwõi˜e]¯gÖ×¢¼ßηYAþ¨0àà»:̪˜sÓCäȆ5L^d—8´#«åŒÚâ¡Ã ÷'Ÿ™T­!l÷`·©§Ð”[ Tö®rM|6yc9o‹C'X©–¦XU²nÊs+pœ$eæ¿kyv¹¯Âë”_En |›Çå‹ñ+¸7/¦û$Ø œ¤‚ãP0Á‡gú,œýr7R>fŠzìºRÿ„Ãév£liP_cß{œi75Ž%nœ§ö”!êÙÐöB`t¹y½Î®k¸0EI`toC€ÉS¦‚àûòÃ’šæÎã\„|²°´cîrØf|û[¦”Lè ê4ƒÍ“ŸLàŸç­ñ8fdZÆì0ø 2¶\P•5…«5´WŽ…GÀÆièvšâ¨òožrîüu”¤ï$?“ò5”HróxŽŠ•"‡g°Á‚³ß[Í ” —‹”8Q^‡kœ¤²翎óÒ§HP“ýÀ›Ñ;Ö~]à‰?NW˜öÃX">땤º+ )DÍ÷`êË`.Ouâ uˆÙo$Gû9³ uG8õÍ0—ÏFØÄ®+ˇw;]Ön¤"Æÿ' ®ë8‰E4åšµâpœ‹g„s±„zè•S$¨å é´>Åͱ Ù'ôt“teK&5ºíYCÞ+H·Œ…Y/>’Êã·ÌçdÚÆOàV=í CÕZŽø(1Sbvì—J°åÄ Í͉$¬“`Ä y¨½Q Fpì ¼o­,ftÉ5Â’ÙKÅ$ó‡0Èz"ŠÚŠ—yË•¼æ­löNSGhC'=3(;6Ëä7ÝœlÀÔ˧ £M}¼M¹oE´>”…_Ëgâ¢ÐE(·ÓÎo*êß‹àçvf0€œt·ÿ\dˆW yJøÀÆÓr¾º¾î+¨ “ÅÜìÀG·-ÀËšyË%å¹ã™Rð`üLبíù5kØ7€|ð€VS>â/Ñ*O!MÉ0Z<âEœU£éÖ.–Ì»‡³î‚c4E ¼‰·§C•á¸Ã!ð’ÎÖ´R¹;5¯-l™Eú¹Zá° œ p.ë#!~å…’Ô¬Ê+[Äj ÍlüI î¹êY€%€DJ0â|º‚o‡¦\Ýš˜(ŸòY‘ÞùSÿyd©§¸ 8KFZåÞè¢íÆb_cüÿ¿ë6·³_Ôÿ§p´yDcJŒK2Kò]¤’Gf=(J v×äôeT,‘)'(‹êÁY\Ýñ°ÆÌ¯\;j³Ù )_˜-¤—ì?3Ì‹C™`¡ˆw.tfÃB¤ »’ßÑaˆ: 8¨*³)hý°«þú™¢1Ò¢g6Y}À¶UšžOÜÏ¢Ö?­¡*TG4î½Õ§qPbN¼ÆâgÂ2o‘…µG—5Ùû·c3H‹qܯëê}ä!ª3ü{h–®ªZ¤ðø$QÆ_ÀEÕ+äH&¸é·ùÈ2eSìi2kEñL{1þJ) ÍØƒÓfØe<ÑÎæ—‚pk7ìŒ$¶­êe€^Êd¤‰Šr¨7a¨¼»?¼ýVºÀÅò¦+â^Pp϶,¦€ˆ©vÅ‘ñ¼ñÁ~¨½®·ËNóF<øk»ÏÙÌ(b âvÄÞ2*õûÐöq®©w^kÒšMèŠ9¸qq$’&ëÞµò†ÇÎîÀ²Éý[î×_P&-"ù5ð…Í/Àõà|ì‘6ª3çUèeâæâŠ/^ù†N°âWèlB÷ƒÂ =åÒü (´yܾ€ò&FÉÜŽLÒþc·ÍïXtAûc×QË€çØmöU‰Ž„ÏQ©Ê ]÷V]9î0ÑdtC…¢….ÿL ´%{Q½€Ú¥qëö=uKYæYû¾²rÕ€´I/5ð㼘ˆEÎç "¶5×#žÜ9Rnɯ€¨ë­O±ˆ¹ôÁ°NhÊžÚû¨ÀbéßTóÃüÞË„‚IøÌP–Ù³ Bã|ƒŽg¦øè·<Úðƒ ç'di|S6´D{O‡¶7%j·Ö®`(~tö?Gß_|ªÎÁ¤ŸŠÀk¢ôÞ Ÿ”0sDVÍÔ«F‘·A³o™Ùƺ¥TÒÆ wög"jWع\¦µžnŠfý+ôÝ6˜.ú½$o÷üØÊ8BÔª4sEŠ8»ûD½$³Ê|ÌsYÍ´ê @œsw¿åQS è’º—EdU·þìL“˜^Æ0ÑP¾/œõÎ&u¯Ø¢ÀhŠ= Ì f‚íákª@ÕS$Vˆ|òªŸ˜Â”sTÀáÁÉc9FÕ«ä÷e$à5½â`‰4C}Ó.‚z$þÅiJÒÅ›—KõQü¢§r\¬ =Yll[˜ëÓÆ=BFt½º;î ЪÁ/Œ´€nÛI•ôGÚ¤óvQ~rY&’´t˜ÞE'|=‰Snމ+ùœë«ö£–¡ÈyøšíÕ*ªÐ‡C²Wu=~ØQ w¼äjï¡ìnÔU8ÿ?WC±/AÈý§Ý¯&ÂÿÀ/D¨OÏ]|S~ ˆR}ßm9ºRÀW9£ìç$¦f¯®Üœ+"¶~’r¹Vþtîyµ×–Æ®³b‚²¨€q=¤døOúMÎíÌn<Ê¡¹yƒ|µ½èÀºMÒ|µÓ£YsC 4ÚšºâuUÍ{7ýò ïºIàlP{b ÙëGry/EÖˆ¥¸Àø‡ÿó= ;"K9~=…-”¬Ý½ oa–§û¸‹ ~€X`c¨$X- "UìKÌB¨5P4ÒÊ ú á36—ªxÁ1®h×ÔùÙÐÖ†#“Ê7ÒOïŸ0·²D3‡‘:Ñ_ÙÓÉl9;÷q ˆÙïÐÛf¦Ó^öbk{÷Æþž pÑš‹U¸Cß÷FáOÌ×f+vZ¼©HvLž÷—y? :Í\ïóv^'ÇbÁtô>¾ûõAÓñîIë!†]üìökBÁ{ ¿Ã6Ëç²² Îò9ÝŸgG ñ‘ÆîsDû¸¦l§XìnÞæ`T)`›LBRabÒý¶×ã€JÎåÕßÛŠ-}œRšüù— MåæçiŽÇ† "š–jeN í3^Óc_›Ã»eÔ5Þn— e äýˆŽR3Œ$»q²Y¹4»àŽfg¨÷›¼fñdœŸôxÞslÈõÊ1ò wsªmrÈ@°+Ó5sMUÑ´U´¥êø1Ô-OíÂØÅN¢€øë¨“ªÝÞ<ê¹–¾f– JðÍ{0ŽÌéw-’ûŒÑ/¦ª0z‡Ù/¬¤ó§ûuÎà ‘úH>ÈŠ±mïBYDnäÆ#ø¸ÅG³åL4õk¸®-=¶½û‹ ÍÎw‹Ü3>sÞŒl#תªE¬ÅqÞµâ•Ø®F _kÚâT­âr¿ŒÅ ¥-9…‚)/—xè+ &~ ¿T±«A^öXxWH{Ë–wÃ=f¨à,|/’°Új¯²u\Ñ–ižH>@ «5r˜ƒZ¥°òùGƒ±xB2ÑÝ©ÌWYAD €7ÎëzÀ-©Æv9ÔPÊT&s‹_³ÜÅ4²#à+`¸tиèã4< SsÅß:÷VÑÁíªÏ¬ä†w²lÒl³ÂI_ˆ°› Ý A’—Ù'Ýe[,ÙK/QøÚ€B¢ê¯`Ÿ@›§kÃŒ±\£l³ÞJ]|‚~ë\byt°œÎÈÖLÓåæ>º¹¯42–yŸ I$•q͸ýx„èÍÉFèŸvJ`æPW†Œ±Y²×SYzÎ4 ®ð˜l2 AY¾½ty9D]Í–‰ÜOï@ø`µž„ã_^(’òÉÜײ7ü»ŒžÂ19ü#ÓnÊW‡:ÍÆ].IŒ.éajŸÄ欙&™K&Œu§é—«†‘OÈ·gÔƒ³©_0!WªÖ D÷ ÐÞ6~ ‹ò É%œ½Fì¶qA?$ÞÓ¬ÊEJuö`IâÏ–´pjÊï£BíØþxKoûsT(Ñ󮟂ý¢ê~ó c1™Ša‚ ÆŠ™•@ÌCºŠ 'ÍÂ:wý· ì^õKôÏ{á¿hw›ÁôóoλÙR­)…l B$íø’&#êþ'ˆ£yij͡ÛS®³ r€j†»è_‚$Šu0´Ð-µƒ2 ðǬ¸f™l÷ÿ>ï¢uíÞúTÚGð9§åôa™ãµ¤øDRÔëÍ[ŸZà8ƒ:y^T÷8ó¸*½’ãö'"ª±Ëû™¥é­›x,ýðêeE9˜XèÁáסVÕkÚ˲å0š9-u7†"Ø.‘,'Ÿäaª 6"§ÓËþÍÈE4¦9“¦ $ö”ûm;wAMšQã%`ÙQ1†XtÔb­åp…ý>›DM 8PGÃö§Ã™Óò¥öþ˜MçDﺺTy¤ì9>øÏ¯¦‹XHuÎ×£±§[. SƒmÑ1µ$t2÷³º@½…¢S 7|wŽ ÜÊSQD4“{£õJçw†T³ñMÃL7û͹Jg°8òØ2f{Ðu zËÞ––8¬¬ùùÓ°F°¸¼êbˆ*ÕbcCFTžm1YÉV»`òTRâ°*3>¸LÞú¾¥Cxú Wõv^”3™ ‰£¯ba­YS ø#Yò£‚ð_ ’R‡÷m¡Áø$üY¨n¹Ÿí¥è¡¥q¼Þ=´C3vW³ý¸&)­µM’¤T$Ž·65/a"îh–®;‚0‡º5|KQ­¬xTÄÂÒX6µ¬dÝŠ"l[°ù3´…ƒp0ú]£ä Ÿ^2ùDèÎ2‚<.«n«”}gµ¨ý ßRÿʰÿ8ªçÑŽEµŸ˜Èm{¸ÐÕ/˜¿‹óîiü£òŽ…r{™z!ëbXŠ¥0mGçè²'·^Û\ ÷¡0þDÞS)åŠPÆ“žìý®ƒÍ‹Ù¹Óœ¡d1®µ5$lâ þÞ\@Î'îr!PxæºTÂ\)}xÏ ÈãТëͨœÙwiõPEîˆááÊÕÕä !éUÄÑÛ²–ïI¾sÕIÉãQ„&€b+{ëŒ0]· "`˜‘j¾?æ¦FË+¿jsU.Ò á r@"8ÂÀæÚ,J_ÃK18³Â´ü磿xá‹'þõ†‘7Ñí4 Y”tا݂6m_C;ÂíˆXopõe¡7‚ÓTRÆY¥ÜmE©m˜*#å !M…ž˜ÌïäãwJëŸë üŒ3=éB¼n:#{ÚCF " ì33ФŸ ž “u~lß™{_ÀàÁù1L‡}A¿sMúöE0…Rp:ž×±ø<Éæ^Ññ Û ®!±yì#$p™€®ÕÄ[œ¢œÌ©iÂFÁ÷g\æ >ŠËrù'}¬Q¤ŠOÑÔ_MQ³÷x÷ãâ°-¹<’®Õ7š5Oo믚Yný̯-rs™}9’Ýÿ‰6yEÁ Ù,)û¬?±¥8- ¦ì}®%©8ü¶á¬à”ßà–u#cÑjJ)èuò= ¿ <,ºüVzä« üx˜=âÞeЂ@§^µn‹lx¤\ÕïR`Á[R| MÒ|-Ä#üêÈ\ wß@z 1Yw€È)¶ЉÄúÉáÝ9ÈrçÄ–6ñâ°ÙÊ'm˜¼÷…¨f‚zá·Žš}<Ö«à”sš Õ¨"#­³8Lx¾p}¡h"CxDø~mx﨩ˤ²_Á‚Îå*vöG’Œé™c¬¤†>á­óoK°¡›>˜ž{n‡r³·º¹»›Í+ %kŽ* Ù½‹Tâ “?V¸¯w¸“.ÆE{>Ñ Û°&|°6„5Þþ|q¬&à&òè72"õ6”U‹JN;qÚ³÷±‘Á˜!Ö¯M÷Q]pñ‰‚³•t.œµwö~çQĺyÃ]ªú[úØñ=„9bz¥•[ÑÜBDCñ#ìØ±uªõûßrA¦?):ŸëºË¢E#‡ÜÓ©YŠR˜m½¥ˆAü›¾„ŸI~J)¾Xzÿ¢„¹UKˆ…Œ—ôèOIöê‘êvîì ­Ö• õêMÒm9@fpÅÕJøq'¤Ç¿½müTÕßëáWîÜŠ§ûÅžwsè›è•LËÖÖÍñfšIy&×ÀîúÙ<½¾ßø²÷Tðûù™“œ±Ðt¸îîMÝZ³h£Ä–®ffÐ B©®¾1$:SQ!N^Ë·cŽ…UàÊc., Oé*l3Ñ~x¿ïíñÖþ8Ìî|)›tPbÎKíX#€¯ãaTuFâ~x@Mnîr ™‹åL©{ÁS^wÐ@†g˘e£Ck E-X瞃ȶ|Ljïuë9ýçc{6Éìß[Ÿ’Q¬Xzní3÷çnZÖ¼»ÑRƒ¹ £?ÄìÐdÉŒ¥Ëf îØðff¡ã¹vRòêìhP!Ô*ñŸI£ÃÓb wVñ>à4M4WÑ4‚gåoß—L*çÉz8¿#uš›L £àÚ3M©4‘Ø·ï!©º²MÜ©OCNÎúG›ëÙÿkX åcNöì£òcüµá7žÚØhëÙ烚¢Ž}„€Š>ã>í s±Êɵ’ðø sue!IT6[h['þ 8Gš>L_¤„±®!DZ4pSÉ—søñ©ŸËþÙ褡ÛÞØócye'¸Û/Îë›ï(1ãQNõ5z‘åž—b¤ W ØokÅ×¥Ì(;hÕwÊùR̈ Áªí8æ›ê„ˆÜ%ù§!g²bUëÒ÷ `7¥ÄÓÃ&è‚s7ñ£û‡ÉßÃv(Ä΢Ê%È/è\lð”ç=œpÓóvT–×þé‚É`úþ¾²3+á¼TVþ­öä ˆåR~:meÍNÎt 2Êû,Þ‰Ó•oÂý!×hÆâuËÏÕè…vÁ"‰²¾rÀßC<¤Àv³x6Û9Sø óá oÓR%ðûôpP¯™R Î_˜3ˆV‰¿™gÙ»n½õ˜á„âîÊÁ í(êÅ_æX$!†J,°ŸŠ“†/z!#ôÛwÁMoÍÛJo³n‰ÖºŽúM4‡i¥À$^ôª½µ ¡SÔŠIŠ6ÕJ_cRn(Þ6^¨… rFʉh]dûÜ&%Î;íãÞ/ý~Àvœ«-¥Ô š.Y±—Ü5_g§_g‚d\ˆÚñÊžb¦jœût û‘da-V~¡Üq4âû,:sdrA€~wÿ pœD%R®|ì¤+-øËëH­;€“û¦Ï€Ç[…R„Ì>™êò³nJeŒ>Ôé©F;ƺS?Îg×}s|”4+¿-ûʸå¿ÈÿÛ ¿PUú+8ƒJäNÀ.á‚XQè®ô¯Fü€ù0‰€ûQÔN}3ß?w![‰yÑ‹íXª%QCÝ´ÛvNyØWT›¢8q:îsÎó'“°ì\_¡üò8„:(vQˆÂN¼³J¾á]ÚÝ™6öÿåJ”%Z Íy‰H7ÝãOÍ·HÜoÙÐÞ‡³ã#/"Õ :oU׺5ÍÆÅ¸-“ÊÌ]x)¹!»´Õñ¹?3 µ®ˆá¿¤òw¡,$YË+Ó_´¿Kï—ëé “»œé¬XDA@C×5”}Y0z¥7ÙÎnŒáûèÙ,ôŠ`…î¹ÁZ=™Ñ`ŒÊqrÖ½÷3ë•&5¶æË„ì`YD°l<Áƒ”†}ºj«e,Lþž¨÷½Aå̾:CÌ©înx± w›ÀŒFÑêü’`Ýô2îB_ÉþH$çzúmÚ—(ç:ÎCôô½‡Q ÝKÉøíþÃV•m•çŸËNx¸c ñ5bÖj8ƒç°pçïí^^{oã±’ûú8aTñU|‚¿í‚ýMÁµ¾÷N|–ºo"?È ª}.{îRÉR=ü—AÅ¡>|dóÌn—›AqÁüœëfˆYã‹Z›Äz »Û»ïø.ÃAŒ[Ñ ¨žmƒõàvýž-qú™çÎõ´EmÛ‰îvÅ~_ æZ1F˜ "+¦Œg{MÎ Û”|Èë*63x` ÇÁëVv>¹Õå&[©=z¨º.ã>¶RÊ¿7NíÙÏíØY3(YÕM CJ[r.k„—En©)ÿ*£Ö‹’™°(.iä& 9[àôQŸB½êÜŃ|9ÑiJ ­íÊ|`9)¾2Ãñ¼ö||Ý6=õž²¾W•‰¼Ù‚u€]'Š%  5k‘"ÒD¿Õℨ¢ñü7n%wýd`úÕ-ÃÁGïY¬Ííþ«*»+›|ósµvÄÕðª>JÔ' [”ä˜ðá¨ÛfùÈ"JL.M·eßV$¼DÎë;5;zÐôn»÷ùµ* ”ð€v©áéÖ寗µÀ3¶?^×Þ¾þ X„»rŽXc¦µ¤û¸“ ”¼[å¼W¥L\':tA¥!$-ìêò4°nØxñj^”.er!ûôÀ-B ×»Ï=;÷$#nµVi>Æ“ÃVFvkÖï|+ŸS×6ïá`ÄZ[±S«*tU§~¡(`2sW‡µv’·ž³êX±Y­Ókz.™DPó–<|²VÈwu·•Å"Ð}C»jŒô[‹sÛº½@É•QkXÃPˆÉÛƒ{RX”×$qظ7»y6ØýD‰Œ&%ÅVÜfœ_•hCøC'²Çžõçä}ÖèÔ±Á¤Tô–¶²Æ³lþ„Ð^ŒÁyó2>`&Äÿ5Å Dà7ÓfÝ·U%ï‘g¤"Åo#=·b”Ç>ÖÏ‘8ÊYƒ ŒØù=öÀÎJ2ðF3fRsxßLgj¦_ŬQî Ÿz‹û´·šÇFSs¯Æ¡…®DzVP?VÊoá)"›qê§o;ù±´å®¶·_ë–@w çÔ¯ <®Â(“eÖ1Ê› báß|å; J3c³bÖ䨼 ©qx+â€/ú{ªõÜ.Ó÷¥¨ÊÎC!>7;Ýo^zô^9¸W¸B„0JõrÁ—iÜåj®«@ðóGAl¯u‰¼Š —ß—2̤ܰιB 5‘ŒÙ‹LÖ]РRÂùñ”Ή;\ìu¦1çâÄ©Ç@B¥÷vH`áœöëåz"·ÿEöÚuþFšnP˜ƒ]²N Ëã9÷åŸõà#8$—±q{y“ø‡Döâ|úê…’Ö‘Ê!pÒ `sULt'*Nß{‡oøôÒã[O6úçõ•Plåèw/ Í®åèw’µ“.ë/„؉`øŽaK7œRƒ}ö½ƒªÛ^³%lûêOþèðW÷¥$jÿ7¶Šë»MS+d“E;ƾ–™ÓË–§%»ÄîŸáÇZ×Ó>l¶fÂ)jFT€œÄ„Cy‡¨=5Ûµ¬|#lïÊ¢è%)¥ÉšBÙc§/i×®M A•l¤šÔø®ýcÁƇ?eðˆÖI>•îtÿOÜYý\ø„8ç›ÎlÎZhmÞ®`|€——ZKÑ•`€U7Ì[ç¹&ŠO ¸À¦#|ƒÎIé«Î>{†‚L¸œ ¨Þ ¶øH ÄL†¤È±RÂÉ2¢©ÕÑVÉøçiY†¿t.ÆàUþÕ`5’ƒ?¾<犰O£NB"),ÑØÉþ9GxýÚ†›¸J3©l¹G>NûáJÄMÈ–nêqÅ[ úÁòäÏDwœÂ†5Ëç.bMµð9rîlŒ"ŽžûÅþ¶-…w´5@à{~âýTõO"ysÃUÐ?6qÚÑj¨Ö¤–Y­â0mšwÂaA¼Hó4û#ÑÜí†×!ïŠdÈò Ó-Q=ø­»ç/Kà\¼R…›hkçž:€$9Ù fsôu‡X[ë¢ÿt\àM¬W× ¢”YHÇÀLK%•Yt+‚]7¡ZEfl$.ã±%v¾]íäÞº‹Ì÷ô$ ãO_•33æÀg¸®tËEŽö3Kžg]N!aØîj_[eP‚rÔÊ݃Êwš‘,»\y3~_1‚¾#£i~‹-X†¾¯ékï¢ ¢ºïˆú-·€–ˆ)YÊ@qX¤®®‚¤‰š›ì„"çy·5®¿,~_´âÐ _jL#ªb{CòÂ40Î"‘“†hªý‚ aŒYƒEŠ—:ºóéLœ!éIä¦8Wª¥…&P­Ç£€šÙ½ªÊª$(sOÒ<”‡t³ŸU @ëv”–QB>[¶wÎB•©ëü.°>j¸ü%‰¼É–ƒ·cq¡ÂMLÕwfÑÕùº\âj±RŽ× "ÿ¥>ŠõsP€µ—úšÛ¤tNìI )w úÆüEE6 ôk¶v%Fg@¹a…2Úÿ¤ÂƒsƒxǾgåw³â2h¬Wëõ“c˜÷8Lw=01,0&†Ä®:‘á¿î+#.\Cêò®y> oIx’`~Žì»] arµôz‰ß®3ˆWÿë„]ÑîžJZÒcµ-|ïšž’»åáëçñßÞ\)‰˜»Bc2¡·eúˆ‘ZÏljø#õ°¥òÔ¥ùBEI¨ýwS8‡ˆÕUâ½õîÝá|at~øûܳZw&‘Ggg(_p$”§×ÛbÆ(ÓWË`®u6¼&€G“>•A"ö²‰e1B5•13·>+Ÿuü“0™Óvëúëuíå59Ñ‹ E„ûy‡ãŒãlõÄ„SÀ „VWÿCo™‰½. ×ñØý¼.òv? úe)>~þîŸÎ±-;o™0c¢ekå4HÄʼnâ7K ZÑ<œdÃ|  RM p*X¶ÛßôKžHl(›'3D.ߺ§v$4·Y³F­s|JÉm (#è¹ýƒöñtÈFUÜ-ÀƒßcÙÆ¥¥…ùÉÙHí~àñÄÏ‚TTKc¦ëw ì½6Óçv ¡¢•^A‹™µS2usS-‹bËQCÂHîð®K– /éBn§zV/C§• к±°…Ç'áßç¢Æûî{AßÛ8“‘ 4 `ØÕ¥äª.¤Z~!ÚD2ìÝø0<^,fòw:p18ië>N­çcl~^±8¤ ^EíB¡ÎéqŒ™Õ8Ó2åþ]ý4"0Y¦k˜A~<—gUÖÔ„ÃjñðŒ$5ȯg>)°: PZ ° äv@èîŽ$§Ëõƒüê{]"IÞMÁ¸aqÓÞéP_ër¸Ã€,ÈIC…2Z_éåf¢ÙŸè«Å}ž¾;*Õ:®ñ/<é2'rÑ`÷ŽNOÌËtûå(ùËÄõˆO^öãÂyEôIžCìM¿*P#q/¢møelFgõœ¼ãn8–I±¼ÏQw2¡ÅùÊ{¸¡Ø¼ìE¢âÊɳž÷0WÒ¼à’pûî8à.þ¯‚Äé70Åå0ü‚[êæ²ÇšAp™‚Y¹EÖÙïH04Îhq mÞËC(¨Êv_'}YW~e÷“ðÉŠ‡e‹_ê†À"ˆ&4¿Þ©T ûr¬‚z‹90ýcew­´GlÖ}gsÛ[H¶üሱ5%KKþyPk‘Éý(ÀŽâav 5õ°,iW±+öf÷^#ÂÿùVz«ÈÓÒÀ>*Í>°j sFMÖ«&ôlX«I;òCÖž‚wuùxW÷ ^ÊQ§üJÜsý‘nR7»Þ% {~îîƒ5-Nu¡ÕìH,?;_Nä!؉nøKiÅZºá‘¬÷™D{ØhúýùÆþf¾uìe×~6°•3CþW:ÏÉ×E”„û4{ì³)ˆ~¸¾#´rvt~: RqëfìíW†C³óEÿ9ÉH-Ôz¬j§_é<ÒÊÛmŒçŒ.gjج$è |–¬ë°´¥j«-cßà¶•è_—’u 3¥zä¾|zDÖüíI¤ºƒ'F)lßÀILߺ²ùW:^²X–Óä1ćî/ëtŸVƒ´dWþ©ÝÁ ÷žG¨b¥}…_ÿíÉ+)RySiɘH"DÍâLæÆ’ÌZðߪ7R-·€Y<Ú§yl[F£ÚZË0§SøÄŒ0ý@ ¹ruZ˺WÞŽß4¡Jœ®%R$Xk0ôÓÍû°–`‰Ã"ÈÙ'¢½Eä%XÙ¨½fHYžÅR (ÿ§ó[Yv> ¹ »!èVžg)9n¡“a™–’³`²N2>c¼}yšÔÝ@™"×V,pgዾÑàvâ4Ø×0 1Ž>áršüVø‹ÑŽ— ¸ÚSd M K¾†û!‹ÞfY°ÃhôèSlÑõÅ}üæ+«û[äÃH(·«ú™†7 %v¥Íþi‚tžJÊ…#§6¤4±Ã•õcÆ4·x#ÕÒ‹G•U%ò 8ðл+Ã<ßJ‰:»Lw Ñù1c2Ñz/‡ÌƒâÕ[¾`ÏZC%ÐEBÞ;˜m"29û“+nGE¿Vžÿ‚êq©®oô$5M6—dðšJñ2ÎOtq[o!Û#³ºýècåíuõ-5‘fXÓà/r¦ªt‚0´»±S§°Ü±å$ïÀ8Ú¤ÀùŽÓº÷¬ä™@œzÅ87‘¬ÜQàìöüê¾ÓøÆ/*)¿ã®áÐYlæ¯qšû²J,”7m6—Leϯ·Žf²hÿDü@n.§Z›U²…Šö.‹ñOy/•È›îáíN‘9©ÚZ¶!ÈaÝÿ_­=¾†¾ …=ÿÕj$ªËÀïAWÆv@_&<{,©‰´g0N%ѹ‚±žyRè•Ôð'ñoY”–·6ÝUÊeûxar$;·|,"‹Æ=¢.û™• ÌB¢<«EÀQÎ/U\rl­ô³W|Nc«¤ QxB½Y “ Ñ¯Ñª£â‚“úÁÔŽ§iÍ+M§—"R%éý h kê¦Mðè—šhÃÚ¾õ OÔϱš¥¼oõ—Øîû;UŠi‡¹@–L}Œ`œæ+»®C‘8þ„o^j&–å jh3lóøì–÷¿ÇY݃¾¥³v1:kHTâ™?$@~lËVãzÌxªRÿS$Pi‰ïת(Â÷Ø£1cgÑ ×µˆáÜÔÄÈÅclÒApvßïRÞ×Û0ލ9€}–Ë@¤CÙ£™PÆCcÈë`’X¥ûˆØYÒÏçeD™˜#\öÊ@§§þåfy'†nõ7(<16\ñDô p«oiuHË­­ eZ…D±@Ü‹˜àfKgnb7ØŒgé¦û{Ž_ÁÃ̈%üuN-2ç PöÔ2F8(v<#‚€ azÐ,O¡>#Q9Yb%:ö9Ó8 °d½.ܺ€£ï>‚²uÖWÁ™‡˜m¯2îV[Â>æF>äll¾sä×™ W} m÷zÆ×ÏlÃ}™]sZ lD~޽À¾Ü£ô,+6ö1º†K|bãˆDÓ¹|¢ˆ[öÀÛH(!úgç {ŸûÇåÈÖ ù §ôªyA¶ÌÐ׿|éÿ²OOÔh]³Xªß»ïϸNÈðÐ8Ëe+¼¼g¦ –fîëè|1,çáz#®^Éþ¤(‚Mg¦’cÏ£Ó×Å.5«¹¥ ð2! Ïùø÷^ZãŒÏC?4˜XXP†T_ïþ5÷tËOšÎ%¢²²d9Im>•<éSºCYGµ²RßDc_ÃßÂüQ€ß#¾ÒˆH…ÊpUXwT½ Å]—гûè €#|Hqstµ}áoÐÜ€-âöºúÀÀém4Ç¿ÓMÓ¼nëoö¾{iªi†Ö´‡Ù!Ò©Höv‰nTÖÌÅܪ «9jPÎÍù~oå‘‘ä]@ˆ¦Û´IÖ0©b)¬€€Œ®¹5?¨Ó |ÌQÞÎ5¥"¬"Tø>e” A+«ˆïú Ò`Obu ÌTñž†Å¢)>:†´Øm¯¿^%ãœ,¾†š¼zb¸ëyFÈÆŠZœC —‡š°]vBxÉ-’k"{30ŒG1½úÍûjªÞ;Gi"§EoË#D­MÒÚÍ•d*6j€ÝÏuEÝ<]XF¥LÖ"jwÙ žÃ=—bê0«)‘/Q ¡€Xða–ŽPÁŸxlBëŒÜq퓃ÜO‹Ç»bj>ªU©m » ¼dmIášç0‡›9ÇìÝñ!û‚ç ˆIÁk& ²Û&æç‡=T)O ¶à6àGìGOM§‹žÁÐã~Î=µÇÐ&ð’9M9WAR˜ÞæÉSVu4‚ãbˆ(“o„ÑùrÄYô"`¯|vŸ¿¦X¶‡Ë"èÛûDº||…LM3²rŠ®˜þbV;=J ?õèIk{ýµ@‰At!”÷eü¼K†…uJ5¡â–ŠæI;”;‹jÒ ¹xSÓ–@ѼƷ¬zèâWY*T O$΢o¿±‹ÀlsÛKä‚ÃÍJ†T»³£kD‘"ÂÞÍ þ9ùò4ŽÍme5$°™>7¬àœÎy¬¿ÿã0) [PûÃ6†Å¿Ø@}×e<²î’éálµD EªáÊûI®Cº8ÏàÆÀru¨Ù0S~Ôê‚áÚ¿@VEQ§ƒ¶é¥èmB†³Â¾”{–b&¼IÚâ„ñf혂‹ãÅðÆd,»8jÌ÷¼ˆÓ¯;©¹ûñn‡ÓïØu„ÇïöÛ'dŠŠÌÜl±ëYŽQÌâØzÞÛ¤~sn…¿YîÛÝžÈ ÞˆQ§x Q§€e)ó;nè˜#ô—/Yt^™]0tAA°fñ»…Êæ ÁI–D×'ŒídðèPÉ@ÙNFÀðC ÁÌÔbH­sÌþÕBly-q_êó:ª7ºXè©ãùäâëXŸVÅýa~‚õ«§z"1æÓm[ε?˜€ÖQÔ ÐijÆ%ÚÛ׈oŽ€aj é?Îê_œ­É©¬¦òZ,Lv{•ˆA Ó·9s‰ú߈ÀüË%Âù.ŽÓu×;œÇCÅw”—ò—ñoucЦ2üdÛôgNÚÊ“•ájŠ™úéñ?8Ckšé„lñE#Û`àE‚ÚÆM[;¶ íFå‚·D­N¡êxžG±7î Ö•`n‰€»?­ÓnRËç]oäÔâz:€¨e¨$jVdaøèññÏ$—ż´ÿÂÈv|û¸%`0rrìòpy$Ü&oGìz¬wÌ»Q¸S¾š¾£ê8‹A0&ÜІh°±(öCkµWë‡ˆŠ¤åÕzǰ—)çI,Gó™B&8v¤N%iE"5ˆ@œ1…=Ì ŽÖÜÀˆ´‡³PÔ ÂÌþ¬#QQ¯šoå€o?QVÈì jï äõ}Lh££›RÚ WÙlµ’§ù!Êšœfg=Ìot´¦LHXSö77ÿøë8ÂŽä¼™p7|èÜj§€ÝüJØ:ÿD‡û¶"Ée´ a#‹†¥÷‡Óçj{›lµ^ãcáÝÉþ]8y%çòa¡ðù+~m5Ü ™4r×OüÝ´Õ‡ œ%ø¹càhÌ7Kd±DÚ%–¼ïòµä¬Ü×/g °·øÌNÐßGD•w7ªRH»(Ü•˜0ùÍ_jÒ…½^Bä7×Ï+ôReD°ì´ =$[i‹ç’@»œìË–“:‰Ú)[UÃÖ83W¨šÚš¾¹=ó À¢U™ÅÆa\<•ó±cóLÁú³,¬»÷šyë+_VštÊÈ’ xF/P¥\Z§© NUø¨™ªwº½(O¦8‡[ãyb»:˜{DKº$PôêÔª‡xBBa9RHû0âÆ÷‚3e–.Øqf½V/ùD·á]Œ½ï#>œN° õ ){’½| fO"‹(«-;`‰8aH¨M[|{Trê/Ò ÛÑqÉ'½ï'ÈI–¹æ™´qÆiÁÆá;kÿ²ÖwœQ 1òÒ°7ü+ºŸq¶ ‰$ÎL_E­¬ÿiɘvêÄaz2¦÷æ7Ïû6$ ôα€?›ò_ýz06Z<¹åõ€/^Úsx{ѬÆ26¶îǙµ‹dyÌ«­yb¹Q».®âøªÊU£HM߯,‰[‰_ïkñÅþ|Tíu í·cêöºp´,P³Ì2tµ±¸§e­ãd¦Å¡mÒƒœÔß³ú'I3Â&ªËga4µò·I3‹¡$}šuÅ'tÏÚm†¤zo²8ÛyfW¾9øH¯¦ÉuqIzÇß­[ üšŠŽà¾b¾Pߥº•Ÿ %öåF\Ù¨sGzoé×aZüìÍ‘ü¾š_|£ò2?ãúhz{yñ„×ôI°‚ú½ øËÅõ e+öz(Å`Þ#dÁÝÏû^Ü+¯«ö7"Æq \ÃàNk·ŒÉÐÿä?¶ÔAõæa&,Ï/2°‘½¤¼œÛÇR°_4´~í7² ?‰ÓjŒzE_Œ=~ƒy_˜ØhÙƒ!’í,_¡_P3ˆ*ÜY3õ­Âô¾R}Ù¢Uu»*?‡Có?åGÖ8¨Åýò3âx¾ ÀÙ%ų¡íÍf¨¬¹–ˆê´ÿÜ\^ÝAÛÔ‘ÒÉ[ ?}ÊOK£õ^ÑÊZsGçë "Ãm£³Qì'¸ GÄ?¡Yz]ä|õô~b)¿ ¹9‘©–’GɆTš%§%ƒeí=ˆ5 Mb4_Lìs§lL¤VÖQTª IÙšæ÷0¨Rˆ¡9¡t«ñGm ÜYá A¾qt&¿íp{ñkrµ†rôh¹ž‰´·÷6Ø®„`DðÛ…žÁ7Íb¸ŽNœjîXÓC£b·Èhõ3>Ë9Aƒ.è/QÅaNS5G™`ë´cxVuÆŠÞÓ¯í몮¤="?ÃìCÂ0à ã—bà ßc|­81µzÙŠ:¿¨}·î4ÚI 5~»É¦: ²éT<4Ý‘ˆ…S0¶m;½vî¦mYÕù[ÄìI©¯W#8Iè#¡«âØwÜÇXÔy üzwV:Žv|oq±?ù×´ú[&Û“áqûž¯é¥^&ʯú„•ùˆÏ|Ó-¿â%\QtôRzÞ›4Pb#8€RIŠÄùš£hé¦îg›£=X;VO?<ƒ\iœb7Õ_ô’¬^Ò?å+&_”ÛÇy¹IœÞ°dÎ06,÷a%ž8ª^U=ˆàÑGÐNc[Ÿ½ij¬¬¬~¨®}DCqõytÉÆ’ݤ‰[|pEY“ŽMÿØ‚ùן‹&÷{Á"¸Þ¯Ñ„6±ï=ÞnØËǧgØH†WŽMùpº¥ÝŽ7´ôC/PB ÇCitäDêÐù_3i˾ÿ©—²ˆió0g…€( ¶§Œþ­ ‚€ í§U­‰-°•'uòÒNdÀñbËœm›±t{û]òµH‹ö/”:G!úÃ7å~|s4s³[âÅO¯9¬0¯â~Ëo4þ ÿM°õ4rÃþù½Kï E)~øÒ©O¤hk|>'û –Þ@¦Uh Ìu§+¥†‡gò<¼½‹©–±#³mwÖôIo¡NG!ì—¬2i¯R£ `Bþxz+i„Ç}³žœiUm#ActÂf¥bàDY'fÔô~rp"Š8÷!åÚ ºq%h±„d”ó‡@ÓÄ|¼÷ˆ”ÑÞºÈѦ'I2Ó¨„]§˜Ú>9•”R$ Tÿþy|?¨-œ×‚¡îŠKÞÍúãáù·7æ¸#þY]Z )™V½ xvD[_¬¬ÏË!Ÿ›+˜ìê M̧C4=Š?èÙ^³j½â[?’Ò¢1C¬lXÞMù€Ô~â,ÛÒ`Nx|ùqSŠš4{5Ùí4qŒ}ÓÇâ¾X Fö/>aºw7€""QÉïÞþƒ¬+¸Š¶»Ð3¥³0t) …~Z¤—ôoðùoRŠ–ê­cEíÞIÂ<èUÄ]Œ½q—r~±Kp»ýQI„àj·ER¦75O¡RmNm/™ÈíÒûYã½ÛÓFZ§š‹FçrnE´`9k¨Áš„Æfÿk*«13ré2”á±Ê´ª•[dWâ™*üPÈpÜEˆ>j¬Æ7{é«#¼ø‚4T2ÔýP±§–&ú¤+©þ«š[(ŽÀܾ,™û¼ ïþîÉ;þbt ¶Îui¼û ûRD"¤mB_µNû¡˜dõ½¥ôxj6ú{~xH<Ϙîû>B ±¾ WÚØâ˜>—~çÀw\že$‹ôtlת̴B“[â2¸Ò)Ÿ*5sjøÆÉl‹ëô•:ø¼MJ²s¢¥ÆTœ¿¯¡‘ötbEÛ݈$õ^X!Mëž){Èîxƈ…Õ If¡ÕI9ikß»oáÔz’µ[ÕÓ¹ê9l®È%0¥H½â ¥E؆N³Æ‰GrT.PÍþN¦3ùµašK O@8Y7òˆ›ì¶ÔÙNwY2éh²%§Ï8½¯PýÄÉ«z²Q`ºü1ê#U­|€[Àï³Ûª ‹!Ìáé¨(©ðÑU©ñªá©}dð•÷&Êù©w˜˜gnhç\jI¦’@ÿ0=?Œ!ë-t¢™ÉyÒõG9Îç?hÚ_Yn!T¬-r–þAâ‰Ýètc’äÆÚ¦õ$,Uú×ÅÛ`Áç?üøs ‘h'ô#s—d6Uäë/¡ù­Ï—£^#À¬Î¥Bøh»ùîT¯éç`i†ÝcˆA‡Iá;L¦hZ*ÖÛŸ”?)ñx7 Xè­ËsùÂö»ÞÚ¥«›;¨oBI-š’©ÕÉrI^Qò°€§é„ôÛS^·¾´þ.‚Á‘€z×uôŽOÈ~ >Æ¢Vô)t”šçöµDÅU•|§*öA–yéêTÔÌÌÖœ–°ìõrE㞟2M6]T»;Ì6äÙ@~m_D‘&¸¶â§A# 0v[‰ë˜@Ð5 ²’ïÅ»GÙ‚ X/ãê'üYã•—(RÁÒÌHs1æú(zNïí°ÚäA"¸vÁ£…ËŠæ ¬'/›˜¬„wbKÍúºÅørꇘ øíuµ>² ¤þÂS°»•»¹kqZ_žM‚_wøˆ4ž_þ‚  –è‚"­÷°mB_z¹t}.ÿžˆPíBzÇWû“ÍÞ•é[ç~¯‘Ð"Áå«-ñˆrá˜Ç<ŸÀ`ÛŒ¿ôxWÄO ô¨,eÝæW¯Á„ôü‹U{ópm„ÞÏ5;¿Ã€‚ZO5cýæñ¡áJ ¥2ïÄô^º} µnrU ªrÕWÎÈãÍ8àér8®´ˆ(íÊ„w)9 oêùð' ©\ÅÊÛ7©H»—“^=L QROàÅÏí2J[õž[Õü¹Ìgy0øÙŸNz_û)¦0Õ 1šHécüë<öH19UÚšNÞ¬¥@ ‚¡üæ^nÖiÓ¹QT?ŒÂ »CšÇrzLŸ¼z/©Rºo¢_‰€Ñý :R_Ðx‡˜wÉ»^wô°nÃî!<‘6èè¯dOx|øÌöylÜ•_\°ì6´®x§çŠGªµ¯ÒK„= F?Ôƒ¯Öcv²WbÏ9nBõö».oXFè}ô.øj-ª /> gÆõŠ,7:Ú0S©uòL‘8ž»&4)§‚?Þ?eÁÎ-!æÊ;Žöœj^&ák;FødÙºx7uM ¸ -}ÕÓñÉ{pM æ(NqBMÌ•Œ)l[”íBÅ{Þ÷ ‰­ñ¥«NP×ñXj»5ùFK÷Óëíid¦M>„©Î£1‚dÜm%XØBÃ…ì‘ôÂ3´LÅÅý27Ø[ïêIt•»štã=\æÅóêèG+¸9^ËÀ䉈-˜#Ê)¹,Ëîç÷6mþ™]º—¾· «§ nŠô!ËuOƒ_þÓ[}!¨{q¢Ëœ@•Ôåq˜­`‚íšLx"Í;µ÷n+ ÒmÅ’=¸’ë#LÈ’€|l¯ÐÓX!¦(4ÿÁq´\(Nxù›ußmá*v ðêØ†c¨4§ÈðöÿR4ž™2˜MÍQ.·ÌaÓÇ’®Å)º8·êDÈcedãf2>é!lþ×ǽúšuBi8„¥Ð …9У9H÷û Ûm;H O2ÓéñÍJûq5ÓZ:_˜ûÞqÏ·Y»ÐœªÅ€}®i9òÁªeï®|3ÿÆz[–x ‘&_ q ýK—ñrî§í"÷Œ-lá0kÒ–  ´]Ê%A­,jÉfä3†E!¯d^ÏG„‘Àл¾m¾žf0I´ð•[)—ÕnG¢äèWWö-1S–}áç\—¶?-ÕŒjç*ö„ÀҸçÿÜuuó‹)°5¤¶cb)u¥ÇÍq˜Í0Öy Bê<γÇÀvÞ[7s²LSÄ”Á£¡š´Hä ì!¨H¸m¡q×ëôuo2cpëôô ÞKñšXJu)7OV ¼!“+ôQÙ¶«®õTÏ䎈\A×¾m ˜}‚Ùè8ˆ)¦›‰@2R ùè,æðZÂK¿¤§Ì9xá7f÷FL—´Sˆ*.ø;²=t'‹3ã¡„by} zÒîþk[vH&]¿‰NiŒ8DvYà?ªC7 ·Ò@ËÅ/Ÿ“îaÿ¡ê4 +OZÿ­€X/Dõ¶@F¨¼¤Nr¦<.B ÎPW~y– Î*Ž£¨Æ\q¸úDC?lŸîÈ v¥C=Y‚¦˜9ÍgmÉEŸß€jÒNPJ[º•È¡[añ#¾è‘…fZwé šM·Ð"‰_Oý枤A‹ å ü“÷äŽ"YªEº}w¬ÍÅĉòeƒÛÛ3Ep/eÎâªb,Dˆá+µ' 0TÀ¨c9ý=öØ =Å4†°î² $ ¿îÉZÊôd±|ê2Cɰ{Pª-õ¯è]ÄðÀúgÊeŠ€¶¸ö­2º ëØs_°7Áñ`$ëÑ圿T¯K¿´ÉϪ©ûu>N¯ #Zy)>‚ –êí±­ÒùÉù‘;'Ëœˆ€2}i CÎö«µI†3uÝc®xgƒ¾s÷®4t«Ä˜b‚¹‘y iÑ#+Ø.áb3¡ÆÂdŸ¢>ã£,0‚5†YIж ?d2æ/Û<Èh ö¿ ;ê0ÎŽúqÃð[°cFµMØïb€Ò<%´OŽåº¿„I&¸8»­E±ŸëÌ3 V]«ã\¿e˜¹5»‘®j'ëÊ´äØ°Îòãߓ疣’¹î–µÛåØš.%vºbóÊe¹€í+'_~ŽçE•똜?K‘>ò(“<Ê/œ!ýߟ41“Ë4÷2dÝ/PPÌÿ ò0¥![Q°¹o ž…WºÂÉ9D«²•O4Æþafƒ¬6y0 µëͲ¼¿np÷ÑážZØæê.ªiœ0qE¸€xBH]>”>cÃZjãeÍ›:}Ñ; ø™ðÍ •¦Wê`*±i“ù-­Pì$8i“^žAZß~Ípç>ÞEfæ‹ÝŸ‹r{ïûŸNÂØõ}¡ŒÃ›>P>¹~$ íñz™^ÉR"þtÚys……ötÜ("Úì˪5’€8ªiWýø{ˆ‚Æ`£)ÿ#ï1÷?Üÿ½€0Ó:÷ăÏÅJÚ¿Éóm.¬$O”°*Ä€Ô–B^¨Œ¤ÚŸ—0îë@üÖ sò#6Ÿ_óP%:êD›…åÂE‰Å—¤²TܽøgÅY:kYPþûèÔ3áoÞãÓ¢÷Ü£yIœMi•p€ü¼f–V•Ö5zãÅ,¾M¢DpHµÙcFøÄåŽK‘ì¶P|I¬Ö©®À2Ne9´h%–è Æûf>Å*lSXêtäG‹P¨Iëv9Ê£,}JC޹ù4%û :3|u„ËÄ:“Ìçi×¢L‹—Öéý(¡SØô—ÜVŽ Ò‡¬w¸/ìAôÀ4ÑêMkÁá!jÖ SʇҹïXEÄA½Å¬*…[ïFâD60úK q­\a|«çSUŠ_]5ŸÚSÕ„_C³[ êÎׂ¡?µLôhÂ8òI’ÿq²%¼»?ZíÿúE­±a‚pKÄœúva”‰¨zÒÔ®>Ž.øïç†_=m|qHþËèmB47òú Ü.ˆâœ2 Ù,¼%tx¯¼fõƒÜåîÞRÚ ýñs'Gc»ôV¢âŸ¹{@ȸ”ºAÙ0Í!)~¯­ŽzŠõô—œg+½4p ™26ñÍöF0Wñ‹;Êßóv÷é6º1Lâ`§cùob'd§g(t‹y$N„Á`ë,J)ygJÉxLLÝ V7í žâz1[T‰xú¬„Ær Ì› YcÓèk÷7`ÏsZ6.MŽÓ/¾œÖu8Ø(Õ¸é~ËfžB‰‘–WÁ ,Cÿ6Ù²Lìn²yû×ÞH›¿æÜg× H¦Bå?wdz·þÇ;j$Õ›)Ê`;êÓYs#º†ÏóÃåþ™Þ\j-Õö±Õ{÷¸Ö¸ç?[T†ÀMJÛÈ4ÕRÉvñåLGJGQ†GäbÛÛd »Ó7_° 1•]ëŠ-:·_BÀàˆ:wæ´ Ô\uW!¬FàËuëçèžï®n,ytßYãЊÃÖÀ”ÛÈm8CÔy4Gs½vÉtÓ~‘wæÃqüx€^.¢ À[ž^äÁV•qañͽÚmœº2Ôµ°èhÜ­XW:àIf}KD ýˆÇN‹zdœªÛ!ãï´áØŸý–höíKÔŽ'&ã PäýrQWðl‹-Óm$nÂàúÏOªTNqåR£hœa³DØå•ñNbÔ3£†ùSTöÕjÓ¤°K8}uEÔòA(ì1@r˜=‚­*„àØñ@VâhÛpð[‰9Ü_€`á^þÀýwÎ÷‚öÓI9qGÌÇ6ÐÌQ I­Élš"?‘“´ãa@Ë„XAƒÐd0ÖTÛç¡O0YïɺÓ6ÛÈNÊ[X7û_Ö{dé\.ó_Њ¹¶l‚w·}ÑRY@ÞP”߸j=7«+]c‰U[-ÖS´ ã9#F¬LïZñø… í3šp'è7zŠÒŽ[a–ÈÌ“asKê㉊ÿåÅ›çÓg ’ AZй^Ÿ†å |ºænÓÆÔ' ò@«šo >©Móéa©ZÞð*küýt¥.2 ÐÞÛÆJk‰^>û;oüîkÑ`®}ÄL‘…ôvzX¶^ uK±¶ß?P³~Úh•%ðW̃E9ÔÏ,Ü4QfΧéîÚœ¸jå èõïäfçtxs4´71ú+2! NM~Z=¶F–èæ4NlŽ{è)©Fa=ê'üå­'Ô>ÄU]õã¨ÈVwZI‘^6{É&s½g”™–â’ø©5?–®l» dP#=Ì/Õ¹iª˜‰©–åÚ½v(Ûò‚ßy¬ˆaeDÖyÛúïÐèÿÌ'.ÁiØb÷Ž‘ƒ– ò˜ãžñla´ã²ú–Ñ{–¿Â±†AÝå¸7—l5#zºùÉLÅ0GlÓÚQ/>I ¨ö¶ª óûî°ô‘”êSerŠÐf»ÓÑ·ZÕC]õ­Ø ¸ºƒo†w)G"ÎÃZ¡¿J~sÌ¡Fµé\ê&ø¹ˆâtìÊÈ®»G·ö2Õ€Ç,$Øb>/í8ƾ~±èÊVÃÿ.ØÒÑ)]n\–Ö •8\”éÅ© ¿¨›o5»òFÌrÛ¶=¯ñ)Ì\jjÁ%KÆ QL{°ûQØ?:×B/ B2‡»ã“¼¯2²>Ws!ÌÜb”eóˆ\hp»U±p Õ@lwîDÙN:Õ,¨õ\àáñMÔG‹w1®}ð®åCžˆ¬³_h¸¼–×sIm /ùÚ¸Y$‘)4M§3{»RùgìW¯ÖßÔ~ˆUî¤%Ÿ¶)ïD-kyÌ pcÚ~ŒÒºÙ¨ ¯m6Ȧ)GJ„  öuZ©(¿ÐëܧÕp ½Û¡Fù¥ã[¶j¹£.13ÈR-’ ›…PÃ&T²1øÕ¿J‘õ;†zÞq’ì£ÁÈá¸Øbha0ýƒ‘è¼(ˈÈ_ €JE„mž¯zº1µ ýã)¢G ²ÓÕp(ߨ:!€•ö}¢–)ú²Iš&vEAe¾²Õ,B2R•'RØãG`"¿Õ6œM+ŒV/ÉQ‘ Ÿ¶‰ú¢Z±ûýhગs9{¬ét8¦_ƶÈ&| F-Ž,â×`¨á¥ù=KK”@/KüAã#ÒY•p@ÆÆèÑ^(ñà··ÞV½þœ¶4Æéyí€H„~ƒÂÉ7™–^vn‡ Ãº G±*Ãìö½Æ{ªµ7žµE§ÜåŽÐ×ô· HóWt¨]Šqöf®Ì¶EÚ¼0ç>x„*ÿv?SN¡Ô³rD®…¨©qóôD(t‘MYþ®í@‘Ñ3nbÆãÅ,¿ŒšÛœŸ.g¿ý7Â6i ¾) |Éz6ªjdü^¹OÄíDpŽò“u¹3ì.Myiá£ÀçiPi¶Aâ–0†45ž¼ £‰ÎO\Ëâüé¸ÞiÑæñ7t}U¿¿qIä~FÕ¿sH8„8燉³ ¥Šeºeî³€ûþ$áÿU0N…ºAœ”Y£ÕèÎÑåj© kâ‘m<Ù¬\û”c·Ç ¶9ºµ-eŒ’œ¯ ,ÒYû &"Ó-¶Z,Q_ÚۗŃ| PH4 šøæò‹ fÒÃD5,[‡|®„×0S¼”¯t´Emw…Z¨©Üuçš•ůFàxß”ÀH^s„©ð8s^æû21PK4AA®båZo€‡|¤€ÔŸ‰Ñt§E8 ÕcC‚Þ¼Ágȱø©nZÛë+„7:-ÔKp¤h€¯Òrθþ¹K©UŽP˜ž|b1¯aMdtŽ.Û“sÊÞ!>mLe|‡hRû’ï3ó#²ï”テrÑ?ˆ”($ãLu+X•ãjô]“J«˜ÈÛúÍëQTXËíÓˆ®½FcBaèá=~ß~Ž0Z×®˜k=n*ÖÇÄøÿ!ó䕲ì=Û2.ÐÅ}¯Ýe•I‘¬µ¬ˆ*7'ì7Ð@fí<ô­Lµà¿žDðw´vèS3ÙCñË}ÉŸù&ÊŽD¶UÑ4ƒcª°ey§ûý=óÏÊÁ“Øü>™˜ðÒOÒ¦ÙXßžx…3aaõqÏqŠ¢$1ÝATCÛÑŠ?—®Ï åÅૉsí–ä´c××4Ì…ˆ;¸!vq›úšžš %-WëÛÇ‹\(.4ÇÆªbš=ȼFH /J d„2êæÝ„⣿ÑGÿš†\Šy…ˆ…ˆè5qyJH)¡~ò^ùC#Ñ4ÌŽóňº€Õ`²¬–ô@Ù^®KŠ–âõEc$±Þa¥îȺg'ÊíÑvM·†þ¿›0ûOÒÖ`{R©Šs ꎭ QNÁÙ›\ Î'þ8-éux™ŽŒ‘‘”ÉGiḠ֢\ÀÈ»‹f)éÖÒ*V}ëx~4áK-\èV!ñ9„Úz£0axç6Éb‘§ ,(ôäpi —‹¯ B¶’_êÐ#h"Ÿ$ÑÂÞ ±³Íª$1 ½º œ¢6ÆGFD[PÏ«EúqGÿ:zb»&½¥¼p¸ùC9Æ_ñª¬tÏAJ<ÙFUʨ+z¿Ç2gƒÁbÝdEÌ r7–Ê|¨ ?{ðÀ—øè-«w£‰Í‹l>óJbôkÚüý¬OCA› ØT'T…÷1.§¢ýš'œ%AÀ•‚Ó-"IŽ ÍÞ‘Á—…†iÙŒ À(]Éîi9à9–DÏb¬ó»ÕY>`o̹ú%6< ³6ô;̇7c­»àgqŒH7ö¥5Œs!ð§T·&h )6ö°Þ¨;rBêtð4çMÅ©ØÏéì¾¢Š+a\F®2mr¡E¢ÆÎÍ^íƒ䆜h»Æ;:¤ägˆkƒ.nÃ2¯JW½nRÇŽ/7ÿ_Ê‹ôv´×ÚŠî—Px]ºéËaÃË à`` ¸ŽŒB'…ÝG•9T-¯ÿ>\­›ÓjÏJ±'Ù䦼4Ó»üp% ùÒ3=œÔ¶C]¾ë îõÂŒn €j¦ÿÀÌÛ»ˆLFl{o½±%yÇq¯¤WH¼áý*_꺘/^ZQäð)ëËí1 mþK&@ó ¶å›óDçSù UaêÁ}¯²ÁÔ.Ҍ۾¡è€-Ҟ±8‹RÔp¶zãä«Fª‘rø¸D¬ ãÏ;:¤UzWÓ¨Z9øÿ—„góƒûϾh¤•VÍjn¿ãHU‡#^-6‡D*—7 6µ¤…‰ÍV½È„&yÒön3f-‹¸ûuIÈ$KƒAF˜_)ê?æ XÂþÐ ·¸Q/¨0cÔE~Ì?dLm1º|ÂúG'’ŽG^N\I wYå€éÄUŒ™[)•Aàw×søL &õ¦ƒWÌNÏô f‘Ý w­RŠÒJr]I½l·€ßÀú"gÆ<¿'Xc tŠXø’ühENI b†‰ÜÞ¯:5ÜÞÆEÔY,ÈE(ÄÒ½”~¹pè[þDÝÚ|éÖ€û³£f–?RºÒOi¸Õ™A²®;ý+b2¾—?;˜¿z-‰L ƒâ¦BèþEÝ“ÝßP@#ü<\BjQ÷ᢲu‰™]û0šÕ4#¢·IQãWª^e»mÉRÅß]NP‘É1’;¸»Q®ÿòkGyòûrÊÜ­À?3òrý;V¡Ü6WÊ$7_©4‘ · Å®œµW1Gfj¤Ë r,ÅÊI0ðkæ ¤qò„¦Råwæί§ ³Ék™‡Âë:‚¢„L¢ô(Åýo›=¥€J‡ °›ÊgP¥$}1ù[ªuôˆ¬*VÂÚÇ|!Á…œË¡'ý?Í[2Ûk[ÓýÈ)BeQ•ýÐ+BÆœ£|ÓÉüqĉ«›Ï*uŠ»zSJ¾†*‡™×U¦¼Ú¶°ºð(‰ôâíQ]Í¥.e «Þà7ÂûÆ|Ügü{훥ӕQÆùíCA×ëfíϲžKdÝ0-&=Ý&ttè7ÉàÓ:TŒ`j{žÇ¶[ÕÀ{+›X?ùwÍ$Q’©¥(ù†yÒÄ‘f֦Ϫ^T½bAï?  MùQ-1üžîn«þç<½õ ks¼Ù}2ŸG ËaF¢Š¥®D ¥P4\× Þy$5ø·_aÑq7ÑSÐhˆj[øS@µû^c“Ôf–½Yø~:¹¥gÁdQ}A*™ô˜ú!òiÆ¥Ój}ÅP'Q§n-‹)©|Ÿ2Çﳌ–‹¸*H¯È8/ ³¿5»é@ ÍXuºñTòÍöhð·éÄe¯H&1Nm³»þGíט!£‡"/¾ Æí+‹¹àÝþq€<¹ã¡xÎIYz$xV¬} õÚ$•,±z¿»kØq0~&5œåøÀXŸâwâôó'iŒ»¹Ñ½îÑϨZt:ΡºaÌ8 ßGJeé+ů›´ËØû Ö‡›»¦€Yƒ¬ä%2óæøÏBÖD‰v<¤³"£ 56÷MÕ3KùL“®¯m‹RÇœF?bnlº‰s·D]ðÿ!¼•íÛ³$J·œr=^i%¥Úë0•Ä™ƒ<ÐçÉ`%·»õñ³ÙçnÁSñLZ˜ŸÀo‘¬”ŽyïxÞ>“g°8A$—ÒÈ…‹¨Å}³=ÐyiÈ\b£æi]ÅwPjKôüÚ ÿ.‘‹zeÃçc^—~‚¯¯FX ‘;0â+G/7ÝY®¡‘äß'/­Þi@›¦‚:”`žµ±¤Õ€Ç4¸kzÔ «èéÊKJz%¼â•ßfx…¨:b[xÇ&éw+"ËãgÈðú@þ åîÁV6²"ê,oé¬váÍ/[ùrçoߪ#}0£&Ÿ³-­ Š öÞæÐ-É¡–+P„ˆQÆÌÅ&aJcßæí®Œå><öóÁ»íNmòÍü*2BRwJÙÉáí$qpG‘RWåÒQGk9øÅ¸@i·oöªaew§*i¡„ÝTÖßR`@ã› ÚKãÓíkÕ·5„*d>a9ß–í§â¡i]9zï«’–´dKâí[‡LæÈÉ!0ag H Qq*°ï³42RZÐñŒá¨Ät†°ø•²¼kØ%Ò¥q5ÿ=“}¹</- $’%üRzNõß“çC}¼YÿQº>5²`,¶'—˜â_Rz)\¦Gˆ[y¤ÆŒÍ|”Tè§œ ²ê82´òàó3Jé¦Ú]Çô­iãµ%3lKo¬ÚëIZOÏ5¯%Þ/(¿ÉaÚ÷Ñ»%÷=-DÓ´TM¦ÀåE2k${°;LÃr ?‚jA>wy9°s~èufpwU+\i ‘«üMTÜï/&Ù:àËZXH›uí ØSò%MP`íƒ*àÿèA5¶X´Xž(ÿô\à”fì#zA¾’ªàNž[õPÐŽcãdz÷hŽšŸĺH?E»=cŠEAÉg‚‘G-·cj~g8¡­y¯ru90ŽB:S”ŒÁú4î'•\EL$וë/Ù¯K­;jFUcc·Önj#,Ê‹Å5UŠþŽ mÝ@-©#b»|Èî÷KßeÈ´J-F®¢Šðð+zqÍ }iÉq禣ð¦”%–/jš¤ç 0 àÛó´ùÌØ}ŽoI¦Ê ‹hÁK­Ìò<4¬GâÎÒÒa!¿Ò} 4 óÒ Êè”aÔD¬%*ñO¿‰ÚÓSÄÀ—Æð2RzS,Ý•M ªG§×lÀZ¨E?Ái– ­2+…ú,*tË»i‡ oíFsðr«û“²Íéîl£ëoÇ‘F1Là©®?ªÑºý-¤ åf-Jì ‹7DãÜ¢d×Èrã·-.$åKº–6|>d-ÈC–„i;èmSŸkãªèͽœTq§5"ÖB4ÄF;q=„Ó€ËÝA&1’%& ŒNg"¯ÂspvA¾R:ÆW[vìÚE› HgŠñ‹R’œ_)3¥ó*¦rgE#V§1 ¯qÎ!(° €€k“Ä?•Y¶Å“)vè<9èüý×ð@¤<`Õ¾måÎÈö1ÆÎAü†G>xƒjY ´* Üúçê?-ÂÅÆ¶åã®s+hNýâ2Õ ©A´–„«–“‰åûi ½/>P‚„Go*LꑘßÐ3¡Š9â÷ûì3倇¶5Q£ŽÁA!wóL>ÃÏ€< ô»™ðS!œ5èÎ5‹ßú>˜ ÎYÃZÝ4b†kOŠ”7ý4ö†Ç“ITÙOUè ²m™îj·?d]wvé ;S­„õÝ›ÄÆzö¼˜ ê!ß~á´¢^ãYÆe€½¯Ô¾ÓÆ&µŸ~˜µeÒ4†^Ë ûålå$ËHC6ü+sxä.ûõ}œ?ÎK HÛø¡3ãÝØ:é?.¹a€4b*8ÝWÖ<‚#0Ǭ0vÑËò„Øýꘄ×nŠç ‘¬ëœ. qšAô£8¸øÉ"·¿‘3ÄŠ*ÐÜÙn÷yDNw¤ÝâEòj¥D(qö]è»V LÎTOV*à¨Âf±Á8•(š1 ì:Ø­“9¬™­bÅéö>óúá/]%ŸR°#G<Ðk³wRðþ)´Ó­`€L~šÔÊX3ó­ËÎÌ=¯ÜνÐâÊ£]üÿ% r}Ìχ=Õ¯¢—o¬õwÕræþ`ÃycÈ–>o+3–:ßL¦@ r/ ¢JHc±4±¾4ù” ïK7wŽí'›Ú© j Hô¥‚‡Pâ£Íl2 <æß<Æ—Jß;OY*ƒsdà÷Þ–8ñr:l½Êê½ZÈg·‰b¡(郧¢W=Ò 1„Þ‹øåío[V"ér3 È?¡4iœH¾P­±j-?FÀá9øÃSßå!ºHæþðM½ÎQGˆª BØ87³ ¼Õ‰Ó<@9JÂÆÓÔ5î#ãD*ÏÜâ[¨.]‹4yûÑÈ[ß%·=LŒµR¿qÒ+Е‡úv]“–ªåÝ.ŸÀq×cÎеó sGD;€®½øçž_E$&Õü¢ŽÖ’އ ´R³ŠpTPktî¨2‘Þ"2>ÖòÇ–j¤RÌ¥ê ñ CM75êİÃóRåFñ·CM|·+Bƒ[¯µŽ˜×r(W ;9¯VGPè«&Éø·†Tfg5þÛž™Æ}¨8†~¼£aêTø‰½’Hkðñ²þý"•È1ÊTÑßÖÞp˜ËïÓ H›… ﳓAÆ ¼žZòañݬÍŸœøz€@”nº:•úËS?·×c9ú Q(kWn½*Üy£DG_kšHÇi¤©ÑÆ^]"¯ýɈÕj¯Rà¾×4Û—ïÌ3~Ï›>—yG"ÂM°¯úèÜ.ª‰õë)Ê1e ]@¼üØíO‘¼9yenñܧýHêöšü¯BÄ!Yž€›‡®bFJÄ46Ý…ªƒ22J\°\oúßáÈãk‘´ Ûµ?ì§*WSrxKŽÄ»%è…Ñx½¬0¤A½„\•J–&ÇpR‹¥Ûãï#[‚²„!õå_`»&zŽÔÐdEÙ3ô¯°"6j‡U¹‡—G ìžÂ)7sÄâì(HÛå÷¹N‘§IP§|k ¥a ~oºbt·v·ëÍ7ñ¿Þ¯æYZÚ`¿‘XÝî‡üÑuÚ€S×ôÑá鈣÷&Ÿò«ÛLúûN‘2å MEW‡© U¸Ðª©4Û¬! ÄBŠ…¿R;µÃ¼§4ÅŠ4â(ÈÎ-ÜŠ `ãkÇÕ‰QàVʾKµ`0ÌP&”kC­°°®ƒœÚ÷©©2²qÞ]% g[ÝQ¹èºÇìŸ}z|$8én÷›âÌnpq°¨ëêÇ¡LEkác›eŸ$;>Ð$1ø¨w‡úOU²Œ VÜyØPþá÷ ÅßÙ]‡¼,ÍæÉ®lm× Ú³€(1U‡±v„8Tºí&Iç­ S¤ÄïÒŠ-â_Zk‡+@’lBu(B;/Áa¤Ð’©ñ˜Ï â§W'F²7nn‘©ô¸$NE Dº]È;¿¦E£ˆž*È%TpÄQ›u£hÂЗëûC JËó¶;´Nv(&ÞÇã=²àƒ…Ñ7¸høWHcƒ‰-¬çk† h¡«ºfVdn³`2zÑžáäÍ|û”a‡=$Sç¤ãv<ãîÓäOít$û½ê"´*¨ƒ2Ęuœ)Åzìò±4™¡ð¹º«’¢¹=‘öˆ 0ΰñ³9>¯[<à­G¨TN¬\6BG©E[o`SÚ®ô_æ²ãnõ$AÎÆgBfÝ'R…k±Ð.e" I£xâ¶BPKk*\÷õ‹D€‡ Ý)Öx¸Ù$‘Q»ºK9%6Á¯†'ª ‹+ezö]øï÷0Ì[º¥¾l‘_„ 7æ©ZÌ#aý›‘šs¯½jˆöh9®ûã”Ná 6ãëny۳䞲“Ösò)¨‡Èý>]†4‹Ã^\îkî9bçô¹·êšqƒ-Âkõ¶5Ä³Ö üîÞJíúFa´„ë!È`MÔ×,å})uÒ#=ÅÁêÌWÍx~·6· è·ê.'Áo×yº©«Aì€Z¤ª­JÔuUAñA¥Ï÷§ë ÊùŸ¸pW'›—Ö:è< }0ßjˆ\ëyÀ»[NZÊÞ‘~J€j–ÞÆø£æ„âZðWOHxzâEíE,™pâzîd›w±—·Y‡cm´î¤Ìå:õkŒ³;p‘{ë–ŽpâAÞâ9„+ˆö‡ <€ùºóÓ1 Ó%A=Ÿïct‡„QvàñlsÁrtXxÇ'!—³]öŠÈû56X:I^Š4xÊnõßË!Â6ßÇJ6k<¹‰ªv„.&­+Ó>Î 7N=Å.|gYÀ@©›üƒRør '6é¿Ô¾q9q…˜þØ9Éý±z—«©#@Êd@(ÚQ‚˜g£ÝìŽÁõÉIF»8ÈãMÔ£È ü4·Z¡©µ„iBYüL~) ¨Ë}GPÝ~°Km¨8FA{±F9 ùð6 ·õÔ ðFº®¬ä31,.EcÆuÝÇrÅ=Øa,¨JæKÃÈ©OØ‘â2çXú«‚>ûª‚l3ÿêužƒÒ:1ŸýªB8±™¦)HºjƒOxòΨ¼Öpm¬*Qüiýý=f²"±xW×»C( Þ i.lØ—/¢ ¾u@Èm`î sùzƒ©gc#(›RÐ\u<Ìd¿Q'9Ǿ“ˆ†RFª”W­‹8(ö{óÓ#ÿ(\g‘̯ö"ø«‡ûØc]!ò’[ÛwºÉ0eêjF/¶1i¿ßšEƒJ³(l2Kˆò5aa•OËÞi­'è|cX¯ #$Y=[Â* 8¾¥€;ÐoÃV*ï¾IØ78ˆóYi`i ²Ut¥²ÍJ?ë×B=Nɉe;ñ@.Aÿa" rÝ´ — ¹ïå6‰¯«ÌFnŠ%Yæ¿ßðT¥ùY)üëÌ÷lyŒF¬­’â>'(룙jâ áÚ…hÏák˜ €<,„žM±B C±®ßµKkˆ)¥lø§È¥ŒÔ6E¯ zþªªÏ¶9˜`•¨ú=sµþ±D ïŽAg‡Ð>N ÖwÚµO9Zùîè[½i«]þ7´'Ä-Ã$ðúë©9Th5IRˆ~!Zð£ŽÇáÅåc#Ch «2š¯üÍN79çøM„YÍ_N—ÇÎRÓá~¨$.k…Ì|êÔ˹Ѩ|žé!®B)Œ##»‘+UêÙ5ÉÉ]·ÎÞLº]foÔ—®÷"!ß'5l(È8çW=V éí1—µÃWa}ÛOש= šD(8r¶Ÿ%}H—©†Ÿ"ãnªïrÓ=sRxöœ<÷µ—ðÀ‘¨´øâ²´,S“ÓƒÁlЉ]xðØ~Ae”ÇMqnI(&wý%t€¹¸“Õ^>ΌԊ¹í:ˆðÂá] vü›¤ºEÓ…2Ùú†L¤yhq•T{WµQ1ÒrS;±Q¨ñ%µâ+ömÙ¥¨åˆä´YBs7 --õ¯ÆÕ}‹u…¢¶§ÏË w¨÷¥:½ÑéøIC»}Ôe÷•‰ˆ‚nw¾Šv@ ‘éb¿y—ðˆX 7àÿ¹>Óõ«|rw=0³|˜‚ÒÚ‡4È?3^VE­÷,æê‡])ÅÔu—˜N2î´ýЋ¥êø£¾Âc·eúòñE t£2ü´à K ÌåY&dº)ÏI@¾@«áO/e;Âú´ (Í)‚_}ö³–Üû þìÅñ+fÆ[l *È8‡‹M“´»¶ƒ‚FÌÈ*c3J~lÞŠ“ίªÜ¢{J(X½a;âÄþt)eÐZ,hiM7…ð‘ˆkd\ÈâàtÙu¸$aM‹O> v‰lÃð€8ó`çŒoÁd'$'á9¯°þŽÀ^r„ Ÿ  ¥Š˜Py] CƒH;1Цî÷ú‘Z’Ç3Áλ…_ù¬Ù½«µÙÑûqøìU!g±…„€*ÛDmM^`YÆrZ`LËüFs’¸£3QŽy:+·b¤½ûzâ ü#ИÒyõŒxQ“¿U'ʤömÎOPúZa"ðº©ðÛ¬Ah?Eµø×Ñé*×8L´rÔòYÆÆ¤ËO¤HœS•å7Ø‹ Ç’µúutSÇ€Æ÷c7†u¤c Þ¯!•1âæË|ÐŽ´@­9Ox …J È÷u ÓÏ¡ƒ4ùwÍU}ÿI (ÑýÉ_åVÇj n-†Úd¤¢ñ‘nÞ^Ic|§¬TiªDPâì!M$ð[ŸvvŽ Ú/CKµçßµr\#iÊÝp¸îF ¼væçî[H•àẛ¾ÝƒÍtbþÿ_#j‡Õ[uH9#´¡lœÉB”–èš,¹t©LÛVÁ”²“üï?Š»`Ù`¢¶³GpD ¤…ÿü1Ù‹†qߟp@¼yÈ|ãÇ&WZ‘4’wCIÒ8«ÊóìèeU§ú”,^}h‡2ë#£E'¬Þ¬NÎ3×sÏeøj[áïZ7íô ¬RD~œ¤1ýX‡¸=žÆé„×dŸÙì‡Í©ž£zT&/þ‚àÿ‰æã­òv%Ѿ|:pY´mëß„y† ¾œgtƒ£Å&·^³ wåÔ¬C 5Àµnò,­=ˆÃcÊþÍçÁøzˆ¤„=XEØm+¾«9’; qt¨ëäøUÃXü­!8†<È|ѪŠºwËCvãêÀ¬ªåF·ƒ¼ FíêÇèïΚ2Qªúž°ÖRUbrÒ½…ºjŒç®v‚íãwRXûõ4ºhÔ팈‚‡â ÕÕŸ‡~WÕG”“¼d}T}èj³DžHPYéÏQ[g4¤ù¸À8]Ó§PÂVåv&Ž7eO§Q%0PGÇ%³ܧ–î…¥Njky‡sì û‚&ýîy~S@ã´‡»¥¿˜ºòçŠüŽrXÎß/>ŠŠTcŽ&„ `ýñÐ˼™V“ÒG±óR3ƒd°FF£ ¨RßÅö³?¢ÊäˆU§{Š”ç{ bâXÒC*<‘š^ó†ø=i¾,W¬åHå“uæƒÇ‹>0÷iB\.áIšÈ„èþ²dýá{¸ícn“î p ¦·ØÁV4t~´±–jÏöŠ.{3°80þ¾ÊlYîûÇ"w½3ñèÑdíð ÿülý‘¾‹Åy±· ä ~ 玦酹ˆéÁ÷q˜åu ½”tgš¶Ük¬_¢QÜÌÛË÷H¨¥­°‘xÿ‚Y|µ›_YDÂñ¶°g-ëËR¿ƒ‚j„æÌ„¸QÎ~ŸÆl™`áîå“Õ΄ûÄýì¹ÁV—t9àºÅ‚®öÂä˜;@eŽ'u¡DEN,Vh¹¼c ¹‚Äü×½‚²uIÔj ÿ«ötçÑÃoÉŒ‹ô}ÊÒgùgJÑÒ¡uÿ,Ú>˜ó.g`¤bn5IúkÃ?Ô@[Ô{Ñk= égËíxÛÐãn²#FÆé#z½Ä%ËÉ¿Ä8ÓùÒ¨JOkbàc•~ÉŸ²ÚAþè^ò7"M·Ÿ¨U†VúX>(YhØèí™ßû­3zïm-¹¦ê‚~Øæ¹­Nzà6$A j^ˆl É¹ dÿ9~ÂÞY¨[¡Ö•à>șڨ«Ñ¨&#¢¶µ œ†™ª;Uî —Ã>ü=ÏÐü{_O&:Šx³ôjS071ÃÅ×s(áܳÀ„ñ2Ü<…ŠŸ©V\o—VžÇï*Œ³ƒÚÎÞêvcø‹cÍ=dF…$êµU÷³8kü…†Ü‡µñ¥a|¥K7äßÖÉSÐzàåi}«ÌÛi-„qê¥o¬ø!ÃÑ?té Švÿ„gbôŽHƒÖÊcÃE5%[!Yüa&º€ËjÆbX˜íIÙeF=ïkõS Jo›Ì9®¶§sÿT@ŠÉ7¼Ð(„|€êý&@âÚ¬'ë„TË^Þ6o`ðG&þ‰Œ‡„„ñè@'J/Ë™±iÔ®%Eƒ0»sWœyÇ /]ÞäÒwFêi§nâÍDî½÷Û‘¹…q8qÀ\®ú‘cE”Vp#˜k58Ê×!Ε\."¢HS-Îó™+ˆ<ýAŸ£ÔHí öÔ¿vΕÂì3dÒúëò™ÿ<~Í)Ð9Þ¨…ë€pvY+ëMK¹Íƒ\rL̤¶©¹p޽;c—<Й5·Jé§DÁ5U{Á‘tb6Þd0݆îJµU(>Ïœúnj?î`EøcfôeûÝÓ[õ†IÔ3)„P/ÔÁu¨åmj–™¹1?$ϪåíØ x6ù<µÏ¬k Z-ô+îp V‚=Ò¨ú ²¤KƒÒª3dðýI9Þ•²ÂBØÐnqÞp«¢hÐÌJÐL–À~}—El¬«‹ð8 :Õ‚·ªïÈø7õ?ß锽H¤ÍÚºB¥ÍÏìá¤6¸ –O<<ªP^”ï”Í?Ô14är­¯œ–î¯xp-"çÑB8úf PÐ >éˆÍ1-ƒ*´ã{Ôôpc@Ú¨è®@,š7¯i¶‘—=Ußÿæ2B¡ÝïÆ5¨²_žLT‰,kÁ™ÌúºõW™m}¿£JÖBˆ}/ZßûÐûÇç ãÒŒqÓæ–£´PÍçµಛÇVaP3X•çƒÀm­÷'¥BHI”ËOH`4Mè#âÌUšñnÊc3Ÿs±ÔµùvÔœ¼y)¬:z’M¡û0™öJm%n7q~zvêýãj?ƒýMHKê§èxÇN¬ ÝyêuÄAº ‰%_¾˜îv¦¢ŠòºÉÒÝ·Rp„ûËܤ}ûí¦³–³–Pù§Ñ@B#“ëøÚŒûîëî* `*À™ÅÀÌEZ¯ƒ§‘ÇŠP^~Ìä‡fËC,©âüŽ/´Á-ž·|SÓ8ö}2©ªuŽqÝJv“óú^ îüÀ¶qXQ„Lš‡4"³oµ¯D)­ïñiÈû¼f¶ûTÔ½%°ÉÄ•±šÇÑ,¡øg#e…æ.-¡·Í}6'õ=¾n$ܧ€V©kÀ±c?× ,ì^£ò§ WÏæ²IÞ {)M7ˆ‚ßѨ Ñ/ÚêŸø¥¬Òs|´`8ÝgêE¸ϲëÞ2’ÐùÀÌ ´@wãPõÁÑmS] Æ Èr ‚Æõ2„'~^ôý賘¾˜«ÔñⶺÿhÒ_Μ*eŒ/Áƒ†ÃS»tx0´ùñè)÷!O[ƒnb<ÂiÐ0<Ã^t 5·‹“FÛ|’:eUµ0 MœOÑn€UAnU¾3#ω«a}‚´Å™ ž¤‰^UÕ¿fÂËÈ Jó1Ù4è(e¹ª0í±ü?r™ý’u*¸ø<‰ô@Á‰§ꢠ!8v®Êm#ÞTƒ¿cySñÄ[K8ÉP«HÚ44¯Œ3°Í·%ó@<ÍìjccZ],Áê+Â_LEªd”lb«Ùø+ÓÊá³ø[öÆ@¶îœ^0a_©øˆö¦ñk3)Šç§(NŒ%¯jó·÷°˜B"ªžv¹‚KuNÙRµöG4¯Ó#‹Z2£ÁŒ~|àz¤B#i*Å?R0gŒ'A¾¡{™ÔýèõöÈf³£õíð'îè¸Ò!—jIbÙäCé[?°ê©öÓ„ÔD—vjPXC¤Ðô ”w«•µq]|Ñ^×&M¥\ï3eX œmÈKêȰwÛÍï´zKM›óRš§*;^-‡Z 9Ãþ£ô=—X§Á$DzΩßÅ*Öò%¹˜Ù*ßix*ÝÇä¤ýᆎù«"å™Lñ—¹{K‘)Jm"àˆ=) ÃKþ©ïŽœÔwáÔ‰sjÇñMƒ.ÄáÚ²wñý`ó8™u+k£d²½ÏYN~hÆ5.hÔâ€ÚjŠ®“;Vɶà²Ì´X—t€¨¨±#œ±W‰Œ ùñ¥q+JÖ\C:är°íh>—äqÑ idiéŸGš“D¦È9+iðæL]@lÈ÷rÊ›°<ïa(ÙAð#nÙ9¸ý¾¥_/oÙźµÅŽJœS_,ÁUƘ$ËÑí£Y®š× mD,:Úƒ*Þ#ÍoiMˆ¾.KøUÏ™O”0Ê`F« í YÄ á±ªsÒ9]ñ‚E"¶ÊÏrʹô5ïY¶êS¸ ÄÑG¾’É`A±‡¨Ì’å#Õ˜ÂçÌ?P`‘©²o1nÙ€ÞßÍ£}!¾(ï¸r·Š QmqvŒv)~uMÔ›íKìNæH8¤ 42o9| ×øu‘RMÉ•¥YÔÈ/f‡`ƒV¡‰ iõÑfWÃFJ¯ãØ-VlçôûÖ¶«* M½suß #Ò·Ì¿™?E¾º!Ý«Åßp/Gc%;æ:Å¡ÓñO1¦.ÒO…gŽƒõ ¿U*ÌñêºÖÊY»\v˜j‘<‚pªü Á]]ó¡{=nÒ…Ø~?ûq|ê²@Z¡wº’˜èìäulû}–ýïü™]¨ßª]|<H_7…/5©ÅpôD"{.¦Üè*àëœê ‰/*sõ½.€cN¤ÿÅAèÃâÌ… • D_²¤Ê@Fñ͵Uô¶Œ/åö0ì^¤‚à]j Ù±”ßΧéÍûÕo1Š<ý™P»n¬ â«EHƒtâ0ß9ìÛ}­5_IË Š^G‚!w¯žau¥¿;ÏN‰’v'* ã(æÚp÷g°™' %¦&¾4ó8ñgkE½Ô_(žFÜÐLN2…ßЭJ*Bgp´bˆßQ%é´ŠjÚW;á×3ýÈØðP7ÚþÞŠ}•7Ꜳ½•Ÿ qñ¶ W}_› 'n‚wŽ[Jfÿ¦%У“(®o59™=ñY ðq„as;cBÚûÿ{Rß…°ŽîxíÄ1‹’‰®(1ªíDUÌו ö…d?ÒzÏá=äÕ:Ø1†O¥ýÄ),‚Ò·Êŵ²JÞê’m7CR9<¡DÚ ÚTœNÌÀ˯.C׬´?®¿„o ˆøû9³5fúÞ÷¡-Úím¤f úËÊB¾Ü¹æÖ¸þ QÁ¦žšÖ๙¹Ápø?ÒšîðõÏŸ½^>íæn¢ç<\ ÖÄo˜ôc:eG@;wªf}§IôOVZêY'ò$}º`@jˆ³G3=‹‹n¦•ð­ö÷ÓÄÎþEެì#îŠÇ4–šT°P·ÉQÔ¡µ»dV¹¿½Og-nVßœú…óµ¤X¸œÆw¯0â ¨?Óí©…£³«ÍÕˆ<ÿˆ8HÓÁ’)/­‡h«ïÈ™ÏV~>»#°#:pK摉eó“¯ôÕ­{Z«z)"ÜU“…ç ËŠÎXU®}fÒ©ß3Ѝš²,{ûdZ‘~}#§6/¿Kt¼°Û¸jEf7/NrÂfþܬtX„“þ^(N» KdÓˆg¹£Íc¼jD—…¸%[àî0¾½ï?{)„µí˜ag©cR¦ßh}áw8®w£š‘/JÀ]1u  6 ½†lÐk4¦ Ð^¹c»DaºNÖIΜg“k¦\`Üš@ƯpqN æß¼êTÕg½ÍmØ…æËÕli,LTçõꤿ‚Ò[2ÊGŒ‹èw²ßk5ퟒy%™Ê廢 wÔÑ®»¦µÌ‡.—_žà,ä)°Y=Õ×Ü8‘¼ºÇ€f½CC¾6ï ¦³ïƾÅù×bÍ4lý¯nMêÿ"k´«±ƒ‡ëüUuI‘jm¾.±+³û‘Ò0ä](ÀMÐEnº×µ%2j÷æ‹|{HýhK=ÃÍc‰É£pÁEJl´åö¦‚ñØuŒÏeÚš5±È­{ÍØ¸rÒ ç¦ò%C}Ú=5µ›¢¯¢…«êtZZ2̈&n+·Â½Â·±oËP=ÆRªV^ÜŒ]<¶v°ðOõKA¯ó"Û@1c0pÇ ’ F.MS„ŒÍ'µÇì˰iÊ.–žh3/›¡Ê ¹+á€yUÂô'ì1d²œ7A¨òV˜Õžá¿KÂõÐX^Q³5F ,Ñ*jV€uíR«û›i uåóJ46¸ Ý3—²Oã(DT¶bɾõù»´Æ)}§µÝ2Ø0’žL…u<ô‡Y”ôlpOe X“{òBøe…¤{=F5›Õí½æ„]InŸ1ÐV‡#…ësF3‰è†8€]é:ùoñf…ö`Æ“C]PՎنܩTÿø~­‚ m’Œü("6›*e2Þ>þä‡ßÊÞ׸$•¦¹„éBœä¿ Kè!Œ ¤^¥„zð ðÝqtï‘æ¡d´¥á§È!<À†^Ǭ·×HyLÛÿ£yZåÞG„wrù_¦ŠyŽ­#{ÞLÿ‡—¨‘¢ûÁöI¬ò}(÷\ø0ì‡5% ÞP4 XãÕÙ nÒ‹z?ÌïÓƒxbZm÷[¬‘ÔøÐ€pnâ”Ûªž^H&”ÁÚn…º³ï£VqŽ§à¸•ÒÂì]÷;¾—ZAúÎ׌ê&€v»í‡`Ú-1XOkÙjì¿ò䣦èGU4¿â†0öÄ&ò€ âl<–Çë¤?ãÃ8§L¼8Ê3-sø‚¬^8Þhz±•_zOÌåõ ´Za?ÛÔÚ áBq”­ƒhõb@ãÕadﵨðhé¨Kævج™†Å.2Q,•ÍÇòJÏŒ4[×ó¸èü Ü2x~9¥ÿ»Ñ $mþHZˆfÝ…ní³–úˆ^y1 \Ñ&?*MklJ•+­ š Ðði‰®2 r"®åSô]ÆÂÎ3hRrV9ÐÊ”דîb€¾gRÝU‰£ò€î¬Q¥ |Úví(«°,ÄVHíå!Ý÷7äOöçÙîÒ…ñ÷œ¸G3ãfêE"VN ðâÆ8 X²ÀC¢ö\k…ÎyÀAHÒÁsˆ!À z´Ê§ðw}AWÒîL¥4‘›ÒBRP˜°AÌDƒxçqH¤‰rˉvåµ+Ò£ÛŸÂMÑûfæÕê“\Ѹçî•ÑÀèdb'W½5Àæyâ|= •Y„ 5«•@_¢ã¬ÎruB  û—Š ¨k¾Ž£Fí-waXw¹4v] I¡<<ê'0fF£Sµà0d ÐÚÇ{§"áþ‚÷µîf€ü¸… C_Ó±‰KŽ ›3Îoî™"‰òC¤=9©)P<—„N{pU@–Øž££ ؃Epì%ŒØ íjº7FêÝ|vgm…OnYZ¯™í"ª ¡¥ôûwßÖÁ-©¡ê…¹UЂÈ]’¢è#Gë‹Wl×5ëq¾É-t™Ln6 ;¶æˆ^¡ë_¼¢»Eø(ùvhÖëЂ—¤s• Eѽ{þk/Êr»Ë#¢ßW?ÍfÆ9Tó¼®}?:G/œˆ±?$.Š”àHuŒ˜{øÉ3yê?K°[)œõ˜ÝŠŒ¹ÛÈjAOa(šQÿRšœÛ×T$<ÀðCï6k²&ÇœÿÏÍ·Ôëó©q1ß’:GÓ'Ôì’X¯u¸2‡ÉÄ?Â%­`Ýùá¬/Ò[‚ç²ÏØ™ÖÍNãàk W¾®º£ºÌð¯¼Võ–=ô¤-Ç£qÌ‚;SÚ”J„S£Èï·]_*Ö8!‡[Xséœõ:]ü[ÈeUL¤Rc#Ò¥¥Âaèö,Œýö6'úÆï¦ùwëpÈ=hðr¢û³ˆ®içã’û!#—ÖÏÌA[#ì*AT;ö-„²r•ÞR•mœ ­ºã )3€3ŒH»üÄTi¶(þ5ÖV×X÷Gë![‘™½ìÁæ,{³‰“òfΞ¸KlŒo»Í8ö„KÍÊǤWBº—€ôXïņƒŸtòÜL£¯IŽW Ž^“ùÛeÊc ¼Dì¬U«¸Orúìé%X"Ȭç¯ç-?˜Õy]8ºà—, NB ¹(!±â§Ä¤žr.o%¤yr‰¾®Å…<ß4ûHÇ'ŠU"|ß”",+UÙ®Íܨ—ÓC)›µ^‘Ÿ9ö›¬kkÀÄàМĘ…[jdâ`=øFãÿÄÍÐÊvƒ= ¸Q‰ä…7¿xS…§“gW sï󨚲ÎÃÑÞvëIhtÎ5Ñ—­VI«Ïì+žùM.&˜kô"ë×#YgÈu«sH¥–[j†ô/Â’±ßwËmº:ïÖå¨ë«ßà7šó^½÷ýO‘!­,iÔƒ…ˆö>™4Ž('ÆØÂ½>ŸÔ¦êA]ûµ¶mšr'Çl=ýN÷S’”ä<»T~˜³žÍ"ìÙ8åœnm2þÐ#àšFý†à‡4¤ÃPú¨.Ï#¨œšòd OŽÖ—×ÜV%[möÛž—±L»ðVº}`šÀÇVÃóûFimE½s¥;½s…BŸ ן…‡_-º$5TÔ6E¶ûµ4®D$Ô/4EÖ=þ’­‡ cÖ ³ÕCH•·\:#È|PgÅ…OâÃ:5îr]^ÎOÁeºnGOÄ»o˜®J—Á0qƒùjzVüTç >é'iÏp qþ#@¡-!Ê8ãOŸ²ŠåµEË(ß=í¥î̓CfIŒk^¼É¾”r7²½É,ÐãU¤L¶"Xï¼ðkt*œ‘Aqõqæç½U¯_yˆ|ðA ÃÌ‘¾Í«foFI|‡x³”_¾ fIûöÍý4óùÉYÊ¿oÜÿ罩ÿ.ìIß §™h*³o´Ó¦æAÇÈÏïŒWÊ£‰¤#&ŸômsVQ–¹ÁN?ËK±ç\ßvf!Q‰'î|Kdã“dZeŒkßgPÿÛâþ°©˜¸þEÇ.{äzâòcïüGNOQ9o}­zc; 6«•®+7ð£©ðpqV1¢„Û ÐóÃñjî¹ZÇuæ”0Ež|S[‰~â‚~ö+›a¿nBßRsØO0qU›0K×Ag\âËD9À•½ÌbÌ@ïÅSØ<[ †mÓ&¤äjN“ñ.IörDq¤!’Ætî¶;¬Þ„þ“û9XÆ!ô ·]ßJµ…/÷ dä§0ñ0iÑbPÇY½­åcY®Ú‘wa&9Rm‡¾íwj¼×‡c[ÉÌIåF#?íÒCP] âŠù¬ˆ+î ìyéÖU¬ðâžrÐìSTµ™Î8¼`)Š]‚ ï .3Uƒó»êÞï˜:ãü?œÚÛŒ³Ð&4Ÿ¥F†_Ej8 ”Ñ´B9®„j5ìû|«ûÕ]/gMŽ ‰…­·føDVÇßÑ0@½ãqu¹bð }UgS°-Ø@eG…ղǺd r7–P._^~"fëWÙû—«,Ì80׎6d½Y¤¶TÑ/Ór_"Yö_¢¾}B„/a~جѤV¹Ú´ßI¡±î †Æç¯;oÏs ídsÚ[iÌßbÒÅûŸ¢?ÆÂ€vBo_¸¾l‹ò§êm|D_$þ9<Õ‚hêÛ†î3O$ãpLé5œÖ­)ûµd ÑÙAŽñªây‹PÏyˆä^±ÊÐRYèelE•;‹‰‘Ñjšä¶f)+Pð!puƒºŽÝê{&§}˜fÄš|Œ•ÝÁaÒ„I‡ÎåØçX²”Q>£Çòøj”‰1ü]þ»Œ¬Ê¹d42VYzï•”âÜ}—ÏšŒsdý+ ý·@¼JréõEØ}YåzïߢPè–‚»“b`¹ !z Þ¾H1[ëÍÊ åÊDA÷òþÚÏìVF”öÒõ#FÓœˆŠÖkØÉ讇–à̰' _wY#ÈÛ,]ž×UÚÛxQ£šã3­þ!hêÀUÓƒM7ö”n–¬äH̱O|‰'’7w@[b¨³ummž]Òvû8…=˜•v‘a+ÐÆÎ 5€¯ëïsÇ÷äôªˆâݬ¤X˜…¸¾Ö©«;xPIš*½âÒ_%Pñ)š°‰Û%Äü>”kYþŸÑtj!D” ä ³Ýî Ü`WÔ\e†¾%)¨Æ…¸¼uàÙ²ß(•»ŠûÍ€ñËO…Æ ë{}[[Ÿô«“c½¾+*“b75 èux¹ZP™îÝÍžÌûgýüÇÚX˜Ã‹×|¶péžâÝRj‹B+£)¶~ ЭrPí˜VeÃbª–¦DÞh¦/Mrǫ歧^Ü»/Z³ Ÿ§òX/#M°—ëÊLJ‡ì«UÇ…Þ¤`î^Ѽä¬0 t}q‹UM{¤H“É<'gãþ×Ó¤î੼¦bs.ÇÅÑgxvzËÚA„¯]!IéÛ+‹q55’ +‡¡|ç²Ï*¯@ÀeH|/ãéB&fã›P$Ðßú‚¥¯B÷(1•§ý?î©c…{ÍÞ† Â<2l/¼}š[Xš"رv0Ó+—ã ™ ¢9ÖrEù¯ý‹ ){ß ñeDKDí=7Ž ðä_~Ô£ònè¤ƨRÎ9ñYÎõG~ôš“®[Ä/‚4ˆ·»Bñ@k3Uóƒ¹Ðôáz =bBÑФ¾…̲ž¡máJXÙÇ |ç…™±«.Ê.úÔÉîɤn¸|Î*žioN¨½ë\8Q®+¼ÔäCý†’ÝèÀÖoŽ$šßkbr\NNû"-Œ¢JÅú>âGZ%h+Æ0™–ØížÏm·>ÿ@¸=@1âµ ¯‘»ß:ÄÓ|lH­¾uY ¢é`£ý„Å¿¨Á|.§K:/Œ.T“¢Mÿô®ñ7…ÞjH2Š· £,düSež2†ìX£7-~JqF5Æ—V¿ôÜPÂDb`ªXÃ}w8äš0oǤVC½ˆ<ù+RÕ˲RÚóÁ;t«µ~®‘À}³¢§Ê;óqyÉâé{bšàß2åÔPJK„Œ‘âJ\EªÆâ/R(¦²1™ò7Š»áÍq¿sÐëæÏŸ{Ÿ\ú%ËyÛk4/íøFDíãì™Æƒ™Y9PN º"³á¿ ÒZ'òýðOCæû¹JVĽ1Wæ•Ë}Ðã"6µÒ(6뵜—Loo ›MLf¢ÃYn•„`ökõ 0ômmr„8æõ‹:®JÕqÃ+XI:®n›ÑyãE(—ÇL£ÚÓñô…!büÑüîûÏA Z‡Ë–S¶7Í‘³Þa+·¬íV€K¨5}ká[Û¶ú° œù) Š6D üÔR§>n, x bŒF‡Í-t7ÎI}ÔÃÅ÷¤ÍõCŒôØ®ØÚY„и!ƒ·wô“!Ƚ§uÑ{³¹Rv<£ ÃUe:®úF;ç¤ýÎ\ö ùëñ}­kVj¨ˆwüú@ ;À/Ó„ûŽÒÁúÑR­À"dSM¢¸„í rBY¾Á05#3‘. X¢„SaRüeúgQfËÂ%dÎÇ|*óIhóg¢9Uf2^¾rÛ—7 æZ“~Ç¡Éü#n¼<©s¤–9uÇöÝDÃ$Å<¦F1u´êç´DG2nïûý™œè÷Oòâ4Ç?cŽ2:]Ô¥[è˜ý9ÐËFKæËnÆ¨Ã­Š„ˆ4 6‡/Ò̺29Y‹µ$U³„W=DL×Å *«¯ õ!¾iËm;ÚéU£øÜ?FÂ?>T{±—ó‚½.uËÒ@ê€âB3=6é†i)ºS–$µ «bjðÎåžHôÖ…b"TeæíIM XLc^x°©|ˆ„™:Þ.@æT2ö$¯–*q\„Î |ƒæî{…ÝM~ÈÙ‡F¾MDO˜hbpu›@Û8¹@6‘HŽE£ ¤¥~Î-­NU?‡tµ#Ès¬±%„KS0. ü#©` ,Gƒˆû¦{Ì4åd†sd[¶1)›ªSV(5bÓh0‡®I9­4ÀŒ:Oc!Øòß2_ ®ópž b¶‹ƒÍCwÞ夵 &¡™–ÖÒ˜W@­@”.86%­xC¶fÿ>wéÍÒˆ³Î×ÎîìÑøŽ0Š_Ñå}m_§¤)ÊOÔ±{$x4íû\篬uPþ|GŽÁÌPô?˜f÷–eð-ñ²; ‚~¤…jmÖ? 142ʫĮ»¬9¨@ëmËÊ(Dý{8hˆ„!ìýQÔ©Ð àD­†Pbßoœ¼Š~í¾/¢±b ™@Ǧ‰U {õû…)Pw]µi`°\e½äw[+¼N»9ÐïZ¨øµ‡ðÓ“{Ò¥kþÔ3˜ŽP2ÉtíxâoEh, £w ÄE‹@va"ZÅXËž­B³Içá´Ð!¯ñN·2ÛÙ&´;ÊÉÙƒ¨ =ÔÅ5µ÷Ã)ÝŒ,ÙÚýâ—ªò³È{m2pa\tœjæB(\\žFÝ¥çî²)@eØZÉÊe㸫96¾ÃR¸Ÿý^'¼]±Z²…”}«¨ô˸H‡XË"CkYü›èí¸bnú Å$ÜO¦úvèìš «f‡Ðì,5€ú‘Ÿp´‘™Óúñ8›×gM£íÝò$ŸŸÄUI~%ÐDð»À÷¥²%ž€*Z~x3'Ÿ¾ýÈÅ— Y®=Áã¢(î@M„•ÿª]ú³ô-cðv¿¦Ñ†B‘þ2”ÒÏ].`:7QǪ"s~äINìþ÷‹f¬…wqÈçHšo¦‘?/hG’Ë<±¼GRî¬ÒD\ãï²¼BEKÇrX­ r^G†Œ]Û¸aÆ’{ñ¡ÖúÌ7ßø9²ô⦵ÿD£#Oì¼Û½Y¼WjDx&UuØß”{ÝK(+S/deò˜AÅMR¹¨Š-"áO5œZ¢xœã?ý^Þ!“ 1B¦H¦–eÀ³­âT4Pùæö+QoÐȇàBŒ¿ž ÿ›zhþlÆYŒ÷ÁH(„+•ë˜ÆÊéC‰Ái]Çèd»}k8’™;:'Â-?.Ì{bÙHWß)ÑÆ‚¨ ëÙiû¡A¼ö»'2ùª$ˆ¹—žnv!}¤2›\C1þL‡­Îä$y2éx§ÅzQoy¯–ã‰Ù#S¼K<×ÑÑß—Qøñ‹8åÇG áÏú eÙŸf&tòñ „Å‘Æ÷ZÐ;\àÌ}.Å`çÑ ÂÂèôgųDÒŽÞ3Ó€ò`Ézrè=@7€ TŒ‚’+¥”ߎ¤!NM™•jýÏÑ8Íɱ ÕÖǯО¤¨¦¾BúÎáÏå?sè¶I£¿™þ¶,ØNí\L Iw¤&VÛ‡“1úäG*ú{_¾ÌH+ŽI¸ÐÉG>²Ð·@IÙåói·›¹hžåk„ŠÚR¦VŒfMœ¿€XÎq¼æ(Ë7‚%S ¯k ÄÔ?$°ì„ÌÁ·iüáhOÕ7Š'¬hEKâ îá‹à‡ïc/©MÛ¬Ÿ²åfVó—  <¼ÆD&c²2u*£4Å*7á¸8tÊœ¤\~™†^%󨘼b¤/‰céº~ ç>Ú+ùuPÅ( ØB'¿J@ãì¥N=*"pëbý”«4(ìË„§)…ÖrGÔPGŒ×—[À4³$Säzù¬J}S/ä‘A/AâK¼¢Y;ëÕ9ùlú&É~oèµ?sC_7;Î[bˆpäM¦â@R£j5š¦ SÚî ]÷¡NÁÁa|Âp¸ˆeú›%háˆXÑ•›(ר·„»8µÎÎþ%Ó¿²_$ʤw2– †m_sÛ‡ÅOï30¼f‹€ºÕ5 ê@tÒüg|‘ø¸;œ—XxŽýRÕ1å©>±áËU¾„ÜvaJÛ ÝiÕDZ.@ƒÔb¼™D ȶ¦zŽ(;d™*¯Çðì?å@¦ÙóE¦½Ã½%1ŠÅÎtjÞž4/’{Tù;¡:³Å[Z û0µ643Bκn’L¬àx[¾(«nO#ýÔ%‚˜ƒ}ØXôålÖ^û⟅Ðx!ùU¾Ö‰R÷"ºm¶ð"Ù°ÿåÞkj=ÍYÛ Åž±Y#qž\k)èœÇA…Ç­,ÖäfOS_ÇÿµÇÄjõ`t‰“óªŽ@C9A€ÈÿÊ&W Dûù32N6N¹À£×ÚÇϵØ5Qϩدlò@¥‚Oeã«í¸G]<ò¨Ý¢K aBBK÷ýnÀQXã³Þ’hhˆ@9"gÐ+'µ{·h:ÊØ/>M+\øÀ'ñ¬O£–¤—õ"S‹2%P2ÄCaÀ© MgÏŒ¦ØÑ¸ðîÐ^Ž‹ÊqþI¶ôu!;ðß‹¤Hɶ­ü<\ëtQI•›:‹öó51ŽBó7µi‘Ö„?w@ Ý™¡Ú/`AñÅÕ}lé´Í<óì=%™e·UF­hµïM&+ä z™Z`dµkv¢¬•óKƒÖšlF9 D^y&¸Æã:ÏmDáWfQïM’)而á>Ï÷ýjF#ã÷ÿ2Öà¥(!¿ I'~³t}b¦ß &ê!…ÌcÜ Ü5©ìªÄÉK½b¤"øè@ï(VµÇG6dÂeƒÊ§ËþŠ ;›‡ýàÂ14fâµ¢ @ö«µ^e¢ QØ:[}>ÁÜ:@ÙrÅ‚$¸wÙÄgLYÜŠ´?ÃëdÃDb_HyѧêhÄ,$ÈE‚Hp!—i¬>ò¦Mý¨s•R§«FL×`Ét|51ž®ßãfÔÈâ>=câÛ\;Ã¥z­ŸÂÀ“–´ÆÍ—È~Ù<8¥¬l Þ Ä¤·– }?ZÂc©Û¥o’'ù[Ëm¸4¶x`Çõ±¬‘ï0%t¾øz ¾˜‰@gÐãQ íIC¯ÍååG -Óƒ[…Яf8ü.&Ì®ˆzOsq!Glàuap„µi:: T#­të6J ÆXí”š!ë°fn€zRVßÎLµ j½ì—±Ñ»ðØ<÷¡&gÍ0˜”¢§òЇ Ÿ q¡ÄN@²Ïª£`¾o‹uãs Ÿ2Íuûè·ää¿ L5¥«ôÜ$v›€gôGns‚ÐËþ»D- ç#ÙŒ…ÓSÊÝõÆ,x@?vVWÑ`¢'5^NýMõæCM­\»ií8šµqBï_ Ë|ߊADÉ;_ý¥¨L†:é'3¥JKºdÆC NJœ/ªÿÛ¹TXùz û ™´âŽÁÒ¶[]ûºˆ¬ýî¶ÛéiÀÑ,Ò¿:ƒøôöƒüQ=cãœRȉ›ïp?ȵ}¼7r³"#˜ÏîŸÌg1EÀr’ç¬Z²Û¹´‰8ãòC=°’û†Âáël\"åAðé+¬ŸÙ†³©62¡—Äý ­¦B}–8Þ¤,éß9ŪEE £ÿ¹–}qŸP›ðÕZyá‘Qí“~äÐÆ> ÷—˜rkLV! ÀYŠýcçÓ£”q£[èõZROé'¢yÓ…¯>ʹâñ¼¸*rm¼Ç¾W ã#ÎÏ]¶´yŠz9Ô=rD!ÓÊÙé¿YzϵÊcˆOÁ²Ê_œêYéwÔË€pÁØü$e9}©n¡Î*F° ËŽÊ:5{FÜêD‘ØÓ°Z¶€jŽV–§Í̦;ᤋH gö#ÓÕ' ß&Y³Íjãõ.«Öèó£^ªæÄVÁáY~4ÈÏ0¾(>8›OFô:/NƒŒD9ˆà± !ËxÛ‚ù«/¢ø”ÉD.T+3*éìT«T~‡žÍç­~yšªƒQj§PÉÙB3Ò›q›ˆ§Ó4Tj"!bO›v^{îXèË,#ST ëM”4¶“Ù€Õsa ³ïdÍN‘Š^Ÿ­u0`%`€ýq¤ët3Ïr½¡ —Hlh·G›TŽ °Ü²ÜhÖît¸Ä4Qç벓ËÇð—×»·¸buÏüŸUhP’Ÿyö?o–§’^Øæ‘½ç„u‘Sþø=¿D?Ž‚Šk)I˜×¦9ûwÈ>÷¼`NA)^9âúZ•¯³8jE}lOè/fhœ‹‡ I‘ º¡è˜þ»”Jk¬PÃÄ2kÄPÌ9íRÃL«Ì vòt7’dFº:Y[þ½0q88Á]2“Ì]Ñyû±%àÙµ§h`\½Úè‘ñâã$8ÿSðèv–ƒžéz®^ãuxÈùíw9á¤j¤F>Y GŒk>Æ[äSp˜Y¾UJe…8EÇ¿T"{†hv1³^v›ÜÕÕl¦µ~7ͬw™#¢v¸dRN˜—‘Ÿ…N;¹>µ¹3/ì`Ö¦m3b9QM@ùZ^Αª†À%Ü,ô#†›ÆiÁÒ!ÿ‘ðŒuw)ËÀ‹À  å6Ït æ äÄw8‡ëT0“;.£ -Wtži¢¯3âVñtŠ*^˜)&yI&ÜøúHpLsH­ììÒ•q—¨ZƒÁ¾´Ò´{Ò¬Á×yE*¯òm+]ë¸$w‚*ÿÇþª?ü˜Gw@Å÷‹ù§/]àZ ]Îá®êU 8©ªR»ÆôŽÜý¼ëšÖûƒ¨ÞÿÚ€ØÒ D×аîlE¥?=,\AZÙ±mrAÛU^ÜO0íl5ÒxBŠó²Šé2V)3ã¹£$M¬ ®=\U5édê@ë0øà)P£ +µFéÏÕ× «òèUp(]ùMíúYoœ± .æÏE~ « -FÕÓ7÷NSÙ$¦IF£¹Òt0L7À €þøeŒú¥ø"•ÌS,j‚­'Æ«üB•zd769P@ùþ.…­‘åþÆÙǰ1RÚíØBû|EåvåÜd÷éPh39J˜d´³4ê¡kÈÔ™~‚nAò\í/>áàáÏÕ4; Ý'ªŠCÙpt2÷~$ ³(üƒ€¦åÎÜ”Z®†TÊ»µX¬Q^h?ZÛÚ½’Û W[—B|ãERö…êR\fqäë~ôôØ®øh.%ÍQOEpvÌ5@ß©%PO^I1E5<úÀÕÈÉ®ÅB~Œ$N]&ˆ§ñÀX†ê‡>†—ä`y©´p(œ¿X-Þ¶3Y…MB#è+D6jÑ29Üד‰±­TÛ@å$;ëõÅ©íœ'>\ËA/)*XÌäè´H©- ]³– r{äBé„ÔÂ!ÜþOÈ5i=^ã­<÷‰‘OÊ‹! Œ.?øJîqs™Ö¨Æ×ŽœgD CØ9~MA‹E”e½úÖ·¡îoG´½®ÿä ÃÞ®NÇjló‚ã­¹síò…ñ8E}6Te郚2-£ÈsŒ±ýG[ï'A¬SΖ‡ª‡¸$.î»?ÀÒø?XöM²W$ýð;|­ Ví¤õ´)À’¦ã—º ¿W®  /à­J‹Åà¹Põ'nãÏÖtã9{ìò{‘Vm]¶nx3ÄK©<J8ùBY..±ùÎý¢AØlN©…£7ØËùºOÁÞc±_Q¨tâÇa9i}:Ÿ B¡·¸µf æ¥j*&ü´˜Âvšvbmœ$hàS™——ßK‹Òªˆ]ަœÓÊ=¬,öDžÎ¡¯±Ø6©fÏë_GW xå(°†tŸb nvÕ@?Þ-!‰Ð£µoøný¨ŠÔO¼þ挦AÃå3ûôhôŠAiÚ$í[i¾YP¤_)ó3cöAÖ§;û':î:w1§û”Ý“B¥Ü—øý7¹R$»þº>@m™Gþ6ª¬3[É1„¡èÆXœU¤†OʉrYøýv9PgòíŠ":¦ôþu’Ü“àÞ60¤ºØï9 ߥ…®Ë‹¹Pªýõ[kÂkèd[rž!¢‡™…÷‹eÞ©:ºÍ$Aß®ïxl˜¸2ÊeŽ F0N9^0ö“Iµö ‚]8ˆÇ2"‰i–'éÁ^"ËXï—P%Ÿß)„Ûê¿ æjo Å­4©±yø¹5§äð €jœêz¬Ø{?…½B£0{ùÏ2uæ§jg…iXížs"ßéËR HQÛ59Vv‹ÙPØ ±Û]ÓÃÎóó÷ Ô%ü<²Â ]6£g-µ3 ©KÚôwÉí êLúó¾€µÊqÑ(½(ÔÍ P\Ú„J«a!Ãó8)[q¢9¶fD+QÈüt‚ŽÀ¬:›µEÝÇ“(ù™*ÑAò,À©Ë´ÆSµì@Ú¼ÖSô‹ÍF{†³Õ$‰`€=f’Š#³1ìŽ^VC0^%¹'ãK8zÎûd_CŠì«æØ4›)åÆ5Ü«áIWŸ,÷C'C™é7µegYÐ\U.*Ú _ò1‘W@¶ÚùÖ[ãR_|4ž.Ø·èãA0…’[¶r¼;¦ÃEØÎú#Œ$¢‡ðÈU !:_—ì¥ÓÊ øˆüIß…èÅû)ytøðdóy,”Ÿ2Ýf¶k9+Ío|RÆvˆ:\R§ך,êÖ§ˆd¢NÛEšÁçîåƒ ÇTîùAFW”q‡¯Ó,üÒ1U@±F‰UÀ„j‹‰´t&$wÈâG"+L€z`w‰,ÉUÚt¸Ý! @ ~ÔYø\Œ¬e_ Þe×OËÚÞI÷cà©R÷Úøbgå÷´Þúr†RS¥ÛÍ5#ŽÈþ¤›9uŽØ!ˆ#lD©I¦ûÓ¨Ò‹' î²¶±½3V€¨ô7r軥i©TÅš®¿8Øêõ*ph„ê¦C±œàÿÚ ø `®b…kn©0¨T® øö±-î÷rïå¶#ŒKq[“ï®Êcð¨9i½ÚChS,îãQ©]kå&%X)7+;»µ&]4únó=QÀ“£—CaOTûß¾{Úçí'—['ΣvD¶'1¾'ybx„¾Šœ±[·2¡)¥n*‘+™©Ò· ñŸBªÃë+„5ü™ÿ~Ä(úãuŸgœ_³¹PLõ{i(]¾€:;µ¦ÓíñûЏ=nò <„ÜÓ1*ú2±ÿ[1R,!I,V÷…Þ«xÇG—>ýdq bFë0Sç¼?¦@äA¤¿L8oÝ_`‰îQ]•&27ä Nj<Ë…“Íü…õŸ,HÓÙþÔùŒ†WΕ\æqŸˆY¾[!á?èiCäÜñ&Ä’™5ï@:¿8¨¦Ù¿çd¡Šàt­í-„ï(yk‹Q¸ðBtæ4¯ zá4h•ÚýVJ_¦†Sn %Ü,»yà0Qö2Z°v[UçÏÆHzæ 1ûÆE6˜Íÿàø s‚Ðþ«#ð([„¹¾ ö\x$®½ËIªí™è/R³-UÞžLE=…ç#@ ëg!·ƒ±žÜ¶sÿe$1’•=—±qP¬:0 …ѾÕó«ù&ò(¢w‡Ït­ø_4>wd<%–ŒcÐöiãj¾DÉšrU{}]É6¤i-EôoQŽFm»ô´[­œÃAÿâZŠMÜ2[BÁ+”ÐN7êhŠþ"aE쑯aŠ½á ¸•¨´ìtA4ø?"à|™­ÞõóX4be&ž_ÌÿNkЉ—1Á p-Ÿd0Åú —¤Xɨ½" )sšTyV{ˆÙ©é[Ê– ï Ã4ÐöÁã£2<\òݱ‹xÚJg[¯Ï*/ƒ>Ájön]責èƒ$ zòßÝD9\ûŽ¿AòìB9M-&^Åøw.Tn·_mžzL¼›.C×7 êTŠ£ÒžÖÄ•×ÁgÃì{¨êÈ59 Áåy-³#î€K¦ë`¨¶ƒHᬕc ›¾j,ukPÄÖ=Z»ÃàLý2b&Å©§à'—<ässËú¯Æou?ÌØÝ½mÇ%Œîú†í „’úò€ÙƒUÞ–JëNü– YÛ’æu[™$Y/|CqN*ÉqFò)¾™=-3V!ñl>A"Í.¢(çÏF^6ÌCŒlŸÕ u¸†È—“¹åÀ‰µR"E3dè]¥ì2¥ccmÃ,áI90}Îç\9‘XÓéÁ¢„§æÆ ̵×qÅzNŠ—cA‹Hoª£”K¯>Wf+wJ˜ŠâíkróS‡z~ôß,›ùZ¶ÙÇkhƒ4+9󈙙å;ŽÚ“b[À(•Ýlƒ0ä ‘//º‰b7šëR2x6¤›Ò VÏÝ Uhõj©>‘t ⯄¨qÀ‡ì«€‹OQ’ê–LWÜe€‚ßÚÄœ-$@¯”Zª¡ô}ù7b¹Ô†™8¨çúêc ¹ªâúÒݺòÌÐl;Ýøª^3K]Éþ2¬‰5ºuÓéVƒ²ßqyK–wY-OsräB›frÌ{wsÿM"WvÓ£Ïz«÷ÓèϾ%º¢3£\Èn“̬à¬.mðnÄàÚ‹²ßÎS$,{L˜të7ÎKMFÝß•¾Ð—éi ÿÇ™GÝ_0Å:²j2ÆAíHÌöJ .#êPôD#Y`DƒtåÕÎ<ŽþX’½»_å϶›D†üj— (TÁŽÅÍ+¯1)FìÚгL%T:Áy·±^öž¨¬2,Ì6O£\»þϽґ±×u%ƒâHj³11¿ ¤ô6W¹®˜__Z‘‘(1f–^øÓù »Í úÂý¡¤_ÝØ­9~[7öž‰c {jðŒ •ÎÒVãMŠŽðª3à>Þ/V>8e‰¸¶6¸tcËd¡uµÒþáЀŒ{¢±¾áMáØhNÞŠ F¹ K…ü[“ª.gmÆéC~˜æ˜ï¿‚ô.¡î[ÅsÃ3l‘£Áçú•—¹jÉqØÆ½v}V0OBÀ jIÐŒá7)Ç DÀQV <î¹÷ ØFŇF0Äuä$ Ü¬ß.X/êiÌ@}$‚ÂÊáU9ñÍ=W îËžŠLtÂyæ‰RU›Á':Á—ƒÞ0’w Ínc²Ä¨? å[÷ÝÒÁìŒÜç³¥;Äc¤ò¬®·ÜÂÅ5Ãu"¿I‰=”ÔŠ2WÝÙ#L…Ö?^è;@"TøJBäu—ýÙ4­)µy'šBHñzµÑ%‡vWÐV–9vfЕ^zn2ºoß?æN_¬²"@Ç®†7í²™z ;•¸{W„ý;ÂFKgÉ+cøÄ¼ G/aºÖ<—‹4‹ÝAI^vÍé™^kp4¯~PxU¼Ü)èYVzŽõ†èxßz-w§ÝfÍž•’ò£w"£¤m±.Ç·Sªm“Pf…l‹’UU*1åph[”Ó­ÚV+Ñ#B"‚íï›ù=Nà­‘óÆÏØ OÙ '˪ŠÁw $| #«Ô² ]'ØYxJL^Ç\¼[´²Z:†óòÚr±5òóZÖ[ããßÒàÌñÝ·Áýðޏ*~"7[ É Fò{f+d$èÌAD“ –x2ÃÆ@*W;\t ‹Q2æœÖöjÈüÙ…/à3­•9ÿ¼±Ø¦âÿÈ¥u¤ÚWŽp©]ßÌO4nÚ§´€è³ L´hVmé·©#´ÇêvaMõ¨Ýn¢¥t?»¾ž½ÁUFþ>=:ûÓ—¡Ž6Ÿñ¾áÂÜ-º°dvœªà¡½ðç`¿Z›Ó4hoµŠKZ÷šœåõ¬ÞAÍ–þ3Y`R¼âÇZ¨ õÁ1›æª"­s¤˜„)k.Æ«Îg„oyìK:Lɧ4Õ>a¬+(Ž‚†ì¢ÊÜ S…CÿzÄÆgDÀoX+H)VYÇ‹û#ü¯¢Çhî¡7Å ÝÜ?ÌR²"£-³*íxÎf'^$°¬Ç=,rÅ.f4ˆª´ˆ¿õÅAJI‘†gNˆÚ‹e5Š™ŸŠuá‚*S‰Êô–XŠ’&Ô5R~¨|^N‘K!fçxKW‡<WbrµI%:¯Lõbe@f—¼3Ñ*÷–G¬VÞ•ó`à¸ÅðR’XY3ÌRá!í¼{;Š£Ì_¬¯UB1ö±Û9oŠ3k{‚aæëü.vëq¢hÎV{ߟ$¨±šó3Î÷P§ÜehUؤn+YEQ&îdÏvZ™V$@±-Ò't§'‹-ŸÑ‘½c®ØyÛžG~ž7¾ÎTÏ«ûïcýi,ëêíWŠyøL4é8ILÔ¥z! &°‹ùíö–¬©p_Gw|ŒnI±háÔâC<¯vãmc°§ØX»‰˜hñšïµaqò…p¨B0"|™À.ƒ×Âßùm%¯"·š¼-@·)3WW Åó¥ûW|²œ¡QMë fÒã¥Üj8¾‘YÓÆÿ »(WWÈ ¦©»õò¦¯˜Z¥ôçÃÎÓTÎùN9%1Mî,÷™ŠåJÅv¸QsÍ,\¤Ü×ñg"Í‚ƒ¼äMբўÆüpå¹²cú‚ÒÏTÎ@w—¿¤üUBF»ÑI@`W$ú «f@þËÔø[Š^w ‹84ƒÆÈêà+ÿðܓǟAÇ:4ñ ös4‰ÂCµ sÚx\Œ,â¦b³-—. ÅLÂý© !¼]ÐÓÀD|krº4áùÜã×ÝóÂQÜä$ŸñàØòBxÔ-…¿ÿc¶ NžÆÕ_«Òš7T] ÞZ–¿SÄ „Åñ× Q—]ÌÜ6 #¡Dããá¨i?à÷ ¾¦‰ZÚ*Îjˆñc¹wº÷SJÐ$ü¼Šr<œ¾N=jàÓNÎúÆ”-H>SÎ&êJÉ©ƒ Uø`{[à\óCe"2à›ƒª/¿ejS!̈ùERÏcdØF¶d›ÙÒñ¥{ÐôäȰü½V—¿Úœ5ÌSž¯ŒP´lÏÒú-òæŽ7¯+ÓõÃ'&ÚÕˆÛÐÓ]>HJéd>D­u"’kPüVÏa“³õú˜Sè£~yóÆcê¿©cÑ8®FhÈÇ© µ¶')¤*GÛKá®ÈÃéhÞzûÓÐUQ×+(áÊN2P·8©¿!õü¥þs»Ðyf PYÝB‘ñriû~±wY>Šw¡”¯)ÁÄGžßÒ¼\ÿ«"Ó¢s›¸$1ÕUxècW~µØy¼4UÜÁuÃñ \ét)_VXv^ßU×k^È6N=-ñ9 ¿gÙ¼Úsù÷eŽ”ªGIŸÙzOî…¿t_&f(†òÃåxû‹ ô6oʯ§†O¡œ¤–Á}i™H¤c0 ¹½¬’ÎEHðK¯«‘_!°GŽô“Hq•Ý—Š&þñ 'ðô6£Í&ù̆ÛK^ƒí¯¶‡Ú@—΢ÿžUϺLýEù“Âì({k¿‡<Ye5Øsð9qç}Ìo„‹ŽÕéo,Q“-7|¬³ôþúäGËŽ[ŸOHd ²ÐŽÄø‡pqy”§Û>ÖËõñžÀ:ë¦5¥e ¶Ýó:t«î(Ú®©„žŠÕødÿœn!:™FðfÛÛê„ôXqïÍCäïê¨Û³¼f_`òÈ^¸yO­¾ÏÚ«Ðs³¢ˆýò‘sU¾„Ŷc.xP’¹c2{,%-¶yÝ7Yðoþàç¼ý½ÇöY#f,F¾jo˸é/-Ö rš¡$î²°jtÅÝNŽì0¡Æ[þ§–ü¶yš5ƒäþ‚ù ‰ÿGÕѨMë*·ÑZÅBü‹á†•ôý·¹br(Ix+£É¡â< !"¼¥´¡Ó›Á,(Ð"urÈX†d%B!G/ö~Ć4êc–$¹50ÿž%£·xÇÉ/¬[Õ5¼xUCEÉŽþA—NÕ`TB0h?F$Ûùç˜Ý`xÆ2ãƒvÇ®-ÞÊdV„å>]K!ÌAµ öJ°Á‰ ¹k"Å»ÚÐ_yª+=‚‰œ3êqœD]ÕÁEÀâÁ&Á±›z=Ž‘ÏR¿é¢Ññ)²È ¨\Ý«ûòE@…ì‹qlô”º†9éõ|çtíÏ­¤ÅKý|ÄJʯLŒýL )ô®Îͪ°Ý˜™áüÅb VÊ)Oô\÷è<ó‹iËX}sÑÞPOt—¨ƒÏ~–µûs®eX‘ª ëSɸl¾ÿNÙßLJðLòˆãvßF]_5²p‘ âÓQv:Ö-q¼a'ùA`,[àn«·úp†åmâ©XŒ¼4_ ñ\á!ÄÂ2ðõLQèrÀ(›àä®F󻡠üa[AoÅÃ{ƒ.¬0`e—·ù(oû;¶}ÊgÏðò¥‚Í3QG×ÍAÃeŠ Œi>Óõ´i3tj>Ⱦþ®r¤¯xå¢Ö [Ë •ÐZøœ½’¸æÒhƆÀž+wyÃ)JW úŽ ûß’˜,öÒðT&§_±ôt°¦éD¢ÀQa9ÞXd šÞW†r¹š— ν[†Óª& ®à|vV¶ #¬ó>º8’,fÊÅÑ^(HuÀîKs§•Ø·š Éx-þ o>ÆhnËÁ7ëbÛÒÏ–6÷#Ù¡,PDÍf~å;×âLWã•%ˆW‚½=ggˆ#c©¥º[í×Ç“óܬ „eU«6šœä1ãGÁO$4h‡œGüi°Qì¯é£R¦6êÊz3ûø:‘‰%%„Kíú5h¦Ÿ)²Ù«ç¼ì#q2s,5º÷®wÏüüÜt»‹l»8£ á¢%ñŸ1nëÿ¸oÕ|~ÍOØìüŽŧsb=»ý–—`Ýy¦|N wÌfµ‡)‹ £§'ouý?Vm(ÈÑ£]KDX?Öb(ÿ¯®µÉå+Ý?Œ#Æ}¸7倨Wà÷Þ%¤æZbŠ—b 5½ªšÔDx ŽÑ9ö§Áƹè½izש #€þ%\÷ßu–}œùòËø ÷á×f¥7íæ& ¤çEŒˆ8Ÿ¿îe SÍÆZöwmȾh—QSM“ÁٌΠބ¸²&î¾Îa“K‚5¶jb¶€ó m{øi×D£ˆW„[$ÐâR =9%ÿ“ˆH)TTÃêug+óè¦WEÃ~S«Ì´Œž®‡w‘[äµñæ Ò~†²˜J%l¢« ’Kõ¹ÎËQ¡ ªXa©ƒ~¸o}®­µþO– ”mçA«¾÷ò’'©‡?É×óbíÖWGš–N“áíí„jŸ‡$ëlWãd܇£àÙ=½Þx³8xÕ;{€8nô^=5Œ?‚y¥  :õ :1ç¡Ó­kî<Òé]7„ê§Vn„Ì 9e+ä'¿ü_ÌZÝõ˜ËÜŒ\ÕæÇ­lbxÎÖñå(ácö#2s´Lk×Ó^ù­ÝlÎiaÂ3Š–t¾˜Žé éWâÇA›v÷¤âÉ»?Õ;-ílįPÇêò§ñhsçþ²[w¼y‡>%áqÑ_ᨩù_"ëh“(mL N©Yú+‡¢5Eë§&Ztuöçdô›¨(tÆxf"CMÉ舣ï¦<.:—“„Õ8!“$q´Þ6@„¿Ñïòè®û•¦7Ôù¾ÁèfŠÁµÆU=¥n«ßo%XÉͰ49-õsÔµ'K¢N¥cÐN&‘h~¤g—F“HhŸ¾h›ÉW4NŽNAñàÙW¼‹»ñä 1 Ù"ˆJÍ=å&2Ñæå¡ÒÑ'z­m‡—ÊJ´‡ÈôøN @á/ì8·¬èvgt½¬«H,"ÉÞ-'NÅœ„^¥H¥ßÒo¢ä)H[åvÖí—½3ÁŠd^máDù˜$ÜbN–ÖÖ…B¸lßC{?ÞPy£Eenìå˜âu Zç´|3®ÞÞ0ÑS‚}â,ýOWçUzh­ˆ9Øc_‹ó<ÚBžSxl/­aý­˜ü5š`XÃ-:5q @]>8íÒÃZ5úvÏ^OJbµÎ¨þvyc½t0•ÉÎQK0²’òIrj?K¯1ÛK­3Úõ³>±6ï INüÈOCô‘þ¶gW÷ö!•V(ɧA5’ƒ0¾|6ÀÓCïqË6¢ŒÐ”ÈAþ&b˜ŠOgjвí?Å£#KæÛèÓ! MX õÜZxµÈME¨0GmPXœ¶íÙïâò“S^‡ ½µ/¾"ðþhø5b&G1cLµrÒŽ…¶†KœØWÍ)·ØKÖ‰k“•7 ¶ìv¶KñKøTÝw^}uSáÝÖa†Pé­aï4Ûeý]—~zçÙì ˜A'ccâ*«C›¦_Î÷ÁOX2/ãhCn¬=æïûe‚ªÝ¯º¼ L=è%èÓŒJš¾+ñ!IŽ9¬ÛÑžÿŠ­;VìÈë­v—Z@X3Ü׎û IM” Ã!A°³Â/õ´dÇ%²z-”–î¾ßX€iC™¥‰ ¿d1zûÃ!ÑloË|’· õWÇX²b±¿š¬O¡Œ}ïÁÒz]‹rf‚ÚêBF¼±00¸Ö´ÞÚÃÕÀiÙux\keÏP^ý`ò–ÿëÂGDG\£î¾ß{„¹¯8¶ì— ¥#:CaYž 1›: Z2‰r Ë>'{·Ñ„$Ow¡ƒ¸GtÞƒU×þ“JÔ•I!ôÞ ½Jéš¶µt†Ã™ãšiä!Ÿ\}/]O=¨–ÍÎ.\°’Fö?Ò³"¦èú¬â¬~8ˆ…zðĺ¡Q¤Ÿ ä—qÞL¶o+'FT¬6:wUПûªè(õÇ[£ïdµ u>„EGÐ%ûmny—ݲªLý^â”OCÓqÍ~ ,‚1È—´¤<œÇ4ˆ”lýÑ´ Í¥ˆàÃÅ®ù½}Š‹àÌgZ™S1[±¦üJþoá±ÑVi‰6ûÓHòDø>u¡7jÑ^5\º9 3)£3ñ{ÏÖ'³—]ñe†:+¹öz–˜iNóY¹ÍÅŸ¨Åf’"mõÞ[ÂÞø Á?lE_‚>’ÂǦŽrnöbë&µß°Ÿ6¿ý<0ö6µcg—³7ÀsyÉû<€&l5ˆüQb Ì©3.š…Ómý¹³ucÿQy ËZäŽD½‡ÛJÔt¾~op-ÞÌñ“\’ ­jÛ2ªê¥6ýÖ.‡iû%°íT©¶ÜÜ4¹¹®×æVùy¤˜£ÖÈð~)q¨4‰0âè9qàK@Ÿ%­ IoÆ›0è²£^ev_¸{-+ªNò¸O¬"?Ђ¶C?5¥ã\èK6sxH"=ÄEþŒd¦ãk,¦\‹éÑc¼ÂC&ò *qU ”3EK'è&*m ÑÜцærÌ6m·ú{­õ>Ǹ€¶ªRÿé5qÊ:ìe€Õ¿Í[]ÇqÔ[XD ¨ÁwÕÃÁì*tiùì’™ »¦/WئB )M¾ïQ ´ä1-ê­ÉT[ý² V®×·e £–U@’>rñøt¼l«Z¾â,¾Ñغ'@óšQ\@Q‚Þ)ÁÖN:7:£ï8L˜Iì8Á=ézóyÀ û$Z“šØjË¿ç©Rš;añÕN,{É‘9p‰øí 3=ó˜öÞ%³bÙ]Ëœœj)îãk\-žªñÎ¥Õ Uß;ÍU¦]bõ4éM‘¬5hWKÿ8 Â·q'Í÷KMþn©°U,£ñº³4·ÛàîSÜáÜ ñí °dCe"f“«a ´j;D9la ‰düa“«ñoú”ýݧ÷¸òûìKüRfÈ Òî*ò 4¯óFQŠ<æ9¹Àß1ºï*Õ ûŒ+KÖèO/R÷™#IX¼*n¸¬˜Hmz›_­H®kÆ÷ß;†ónÝ”é’SØï‚Qh{þ£­–ö’^éö1Z!’ó%4ñíZv— «Þ8F²ª¼§FexDûEg_ÞD5¥ÉØëœvqi"~çl­{e’R ý-%37Òù¥ó‘xÃh 7Ùýî"ÊdfŠ%.Áåe¡?ën…PV¿ßëi»œ‰)rQã@4ñ}üw¤Éÿ ê6·-ÐÄ"ö"~:ùéúS«tÉ1ÂoÒöa¶¶`ή~âÂŽ6áö¹æs|ð€¥MïÀœüD¿j§‰t ÇôX—×uó{y¥¬ „>¬Í® ŒSh_`QÊþð»qÃñ\½¦‹=¸$ÀéwçÜåj±EÞì®rQÅ´g¹ó[Ìgý “"ÃE:] ð¶¯Ãp^à0à-Md(` Ú8‚oÄ\åj)Dɱ3õÊÇÕÝè¨Qˆ’Bîf綦²5ÝÍ—Êf3yx~|–ŸW#B!Iyùš £ËhLB^N¦ËÂäàÒ\ï£fgóƒ>ßÌÉ•0÷x‚õcX[ÁyÇÎXÍäp—6ãpõ2pu?‰ÅQu´fÔËò«‚['-\'Íxå•ÈÐÄüM €_¨ÕŸë 5ð´…$K¶ž\‚/ô/'Ëv9éžå6EãY¾BÈ@pÖ°«1–ütK˜&`â$Èð6¨‰J¨Ädòøv¹ØŸÇ/×YSªà^eŽƒewxÛ*ûIÄ?'Ö_ŸèöñlE¼! ¨ò.T~ç?E§(eÎ$3…KÉPå÷6ßÂ>º3Ê!omÕ§ä;ˆ@ý\½%Ù‘£T‘ó_ÃÖb@k£KPõa¬º¹yu^’’·R_díIyò–@\†Šw¦/1Y¸¶z‹ X‹Ì@gsï¶SíèªTk?é¹—{ªì›@ó^™FoRg\DÓVâK‘ˆKi-ÖžE޾¬ß¹ŸÝ+kÁå|†r´W(¬Ù4tãO²,×!EøslˆÌ@qÌ%¯Äµ0=› ²ËÊkpút˜„˜à:P¤4ú£°"8htg!‰%¦L4ÕefºÑ`ê)5˜†¾”ç§w­wgQÓ¨o;ê+Osÿ2¦äÉÅÍ´YgɤM«ßs#µü„65Ϭð3þÒB| gœ? 멸³ÄöjŽþuúX æ3œP¶•Gý!Oÿò¹o=m|fƒÌôzî¡»–hðèØûˆ ¸iØ4¦ã¸„¿KÛ¡ÞÍü{ù¹õìçtˆ¦a§±} ómƒ,B§_ÅÿŸCßJç•ÍŸB°|õ¥ú¿4ê ábä¶OÑ"׆ ])jïáð-õx´Dˆ*&è]©çÌÞ%)‡égEröhƒsn§ã(yF›ùtÙÇÍ<&¤vFŸÑ£KÕ-]X+«àŸG•Œ‰°Ó6Ïä,,ùÁ£gïò”hXÆÄ…ˆ93B7ôo þ¤8K.!&´¶ˆì¤0±"‹¥Öx{¶K³b!MYÅ7ìüᚆb"˱í_X®¦†oßÀ€Þ¸:¨í Dí ÛMh,èk‚ËhíJðÈkÊ¿aH£ÁïWæQ—ý¶”º§ù5ÍÐ{üˆ iÕE‡rz ûKÇ/VÑâ ?j‰&–ë]edj"Þèõ£õgù ÐSÙMd«Ðs¾Uÿ𤔋«zsÑ㈅b8BN6ÅÂÿt4úŸò¾Î(÷Ä…WL}ØÂ¥[Ö¡ûw{ÁüeV°WfÚH‡ØÙíã^w± Z]û ˃„bߢòÓê¸k»ëÕµ!”¾wIzXÌ sÙWª‰yµ]zç—÷\%³Ââ}ç7¯'ˆþ¨`2ÅRœõ„>®?P(^©ŽÊ'ÂvÁ~ÿ¢I© ®£•ý¨/ ¥mî{¯+ˆ– ?¼*JOT†ž­ŽTg²R!þ»r«RØ„P°DXØ_žåÞ,À¸È¸qöØÝEÌ%DI¥?`ôºf>-JòÁ¦R'eO©U¿›M ý> ‹ªcÊJ¬˜LÄB² ~«ÝxŽœ¬ÐðRˆ`ƒ[y¬r§õ¡Ðb¬‹•®’åqLmNÖæc 'ÇþJAåX„÷"âØí»0äËÚþh¨?}}lÌávã4h„¶¸•|·É‚ÿç(Ò³áú5~ý¼]¥ã5ï*êP8'DBj]z ¨W¡‚¢T.÷¨<ß4ûŽé·Ý›€þ~Aû¹6ÜÞ!g-ßÄÌÖîåd®'ÁPâñ†ë–¾ùxIÑ$kVJºã²æ:kÑoJàãDª1¸â7¡°È¢ã —ã]ñ——ï;?w1ôÃã$=ïã`ï¢7{¬r1Ñ[i‚1>ÄÔA÷R»fF%Ju *75€£ž½’Ú¡ÜýÐ|Y.RéÌtWqOíø8ù7I\dº‰^M™ËiË%þ›§•¼€·ßà¬ag) 1þj™Dâ­ùsÌu½¤ÕÙ(œBØŽ†C ÇÆwtpEÓ2(—Þ¤a>®—4öB˜¡¢†áÁËçÀDµ#Èäà•Õºê ”7X€YJx÷FYÈ£Ä7clÀ{êd@Éa)â{טÐ0\£=_O‚¼b•F¯sõŒ„iªg´rú»³É9þOµÇ®}Ö €]xSÜcO$³t¦Y‘ !,ç¿¶L@óUWtâ´BG‡©Steý¾Y%AgëÜ¿™X%ò“áÊgº»ùõ/ÿ­ÿ»ÑF†’ƒ9b®¶â÷Ǘíÿi‡`õkkC8ÆÕMg/_dóñâî1ú͘³K[µýà%¾¡f¶alTÏùˆåÞ,ŒݱoBC!ë¤nOˆx§ ¿œÕ==–µH'œnòêÏ^ÏõE OoÄ-‡ŸkO; Q""rOÓ…À.á9 g|æ’¨ãRó,¡˜ˆim:³ýwuu Ý!³‰EãyŒ¨sRÓÝðSJ©îóbg3QØë­n—#¦Ðã“ýÊ/±i´é—­r3zS@I˜+²Ä§Lªg¦üF¸Ý÷Y½ç¡oÛï]‘)™úêN.-ÂQw{ BÝ;ê¨J‰vôJ2r¦·à#Bž$£®æ˜ŒCS%‘Ì\Y/[Éçî2ͪ^@ïÈRo²òv¼×äÛ·ö34oÛêÿQâzvä¸Ûxrü¬{´Å„• œ¡œ¾È`áçîø>ÇÁ‹êíÂdOÍ\‚ @“MÐ+– Q?u¬ÙWÈÙº÷DÞ37 á$ÇNº,ü뮡 O.7M,-ËÀÙüc â‘xäõCmB§¹S÷¬fþÅ[ÔsжÿW¿`#_6®¬^¦mý~¬£GiØÍ‡|yg¤n/MÚÝOüL~rÅ¢L~ñ° 2¥¬Á3^®.J«áÙˆ á]«ÃÇþE²ú;ÛdÚ®ïo XwF;Œ[ä‹È>8¦ÏESÙ÷P¼•lnÊ@=X±ÀÁcÍ”ÅÙtù`)ÐÉò¹;©ÔÁªLlš0™WOQÅ›„íz R1®§â/sPϧ£¦²ÄÈ@D™!-ùÕ´ZJòö¸Óñ&*½Â« 3íã#š e4—Yt$³›.9¶€â[ø¥Þ9W-‘ p° _vñË4ï¯4,1cï;Ùm²5[f¶Çh.›ØiWðI1õûí‹Þ|Ì9I}f.\™tò_„îŽÂ³…B6‚4ãíëqFÈþi0¼(K9®UýF³…J6éÔ­_“jüÚ°Xœ§œ:«¥&zñõöý7î‹Bžÿ<ïu½Œ‰Œ:Ÿ5‰Iäµ@}§÷ŽˆqeœÁýTCߢ£|­È.-×:ú iÈò³šAàdÜ¿|ȉ ‹Òecjà‚gÝÛg×%È¡ë&µ·É½Øîæ' ùÜÞ ¡D©àËϦ¯zoÙñ‰lÁn¸ÃvÈ9ôˆŸÑ£ö%»ígw .Nj©Ý§èY˜²ç LÃË5Ps‰ÇÓÃB2èœ\$+¿ÿ Ž ù5Ÿ©ð4Ъ±0|†‡_ÝÓ߇}±\m8C®+‡oöÕYM]À,Ä8‡Ø‰œyE½‰é{{U.E[v[mÕ[‡º±Äñ{G›»tP.o°B6[Á°¾Fñ¬·r±R°Þ†Jy˜õý”^äò·ðŽ>TaûƒèGÉëInÆys¼zFt¯Á«Ø§÷ Ïë5g²c1Œ¿£¸8ZñØæ.Ãu[™ Y ¢OÛ–ˆI´â?°8xKÃp/Åç€1WêÌ•ï¥3µòdâ\_Ô¬VÞ˜~Q¼i—Z]®?„ŠfF±£wË{_íë›åyhKš‹JȤtÆK¬'‡òTZ®žÇuª:P'pÑrÒZ–ìn¾õÔ& €6 due®‰Ÿ[úÙ®Ë]Û¤ÇñG… ˆäŽŒôb>ꦞE}ôŸómÔ_“s¾ç°F¬í©Ç–âðÒU$©Ã}»fµô*»PÛ\u¢SHÂ)J@3æqú­ââÀ€Øñ¹zt— lýjYªýî¤yöÍ'ܘk2vÒ`èÿ_‹Îd.9ùÖŒ~×a1”?¦%ÃÐr×4»x¤mU _kÇ\nh] ™vÌ„€Ë>º¸EòŠ„4óÉT1ÙJ½ …øÔòh¬úb ÅÃëîz‹j±­Ô æÑª8Ën/Á+(P®b¨lØ)'ö~k­ïÂeµEs¼c3˜‡+¢¿®ÉalwW ÔjX&Îz4rì!âà…Ý»¬ô–ñXRÌÉϘð{-­z!''\ŽôÌŸôÅ©‰6•t ïÓ §]â/¼2×,ÜU®ª¶Îƒ;+˜+<ÛÞhŒ{h£ü¤0¬s‘PðÃmgþe9¼Ó=¿ ¦TLy¿æ%ô˜šg¯Ì²É?1gÜØ$È-ÍPPuñÇ0à;d‘{k@„KG¨ŽÖŠnnÈ ³¼7 JaÖÿ¿8èI”?3`Uhƒaš~{ÊksQ®:í|M¢ä¢ŸÇýÚ‹êÞ Ezº°²nï­ê*dbQ¬RÛ=¸˜ÉíjOšÝjŽÖ¸ÔJkí9ÐFúBa{'MT¾ªO¨˜&@™À¨GÖ äK|¥'LRߢwèf“ÌAŠhvæ £¶+@Ôn&`õÝM­ ÏºäëZó_Jéf4®v³{T6ñ1¿¾véƒÒ#Lª¢íOÊkSŠoŒì«Ï8Æ‚¹¢³ U… ¤ð”Á'ª‰Pr‹ÚK‚éîÚcZ¾ÊÐI+ʼ¢™OÈÀ³ ã=ÇHíKRíØküìÁ™Ç*5®¬éݨ¼ç%wÀªì&eÚzSè|Pc$<5¢n‹Íå;©ÉÚÉœ®Ïóí?TD±ˆs¡ÐŠ]•,äLû+ýíÂt‡+Ü7ÚÑ¡9 ¸l‡ €øïT+1œeí§¼ÇO³z¿VÚr{6a»“÷†ÌòØyÉ,xÛv0ÂYòÔe™`‡ ý£‹&¥$0Âç@r½ÝŒÒˆ"£)±¿S1¯øü ;íuæûËßòî¼o‰6Ÿè&úôÓ_P[&^È=C3Þ‰ˆI j}C›T¸ø 9•‰ ⪶MÌJ]ÈíÚÏ(u¨µàúþâ5]Àr<úÏÖ“õÐEÑ ùT¶ç!‘p7x'k"?¶¼ ¢WKä}þîfߪêxéo®4'l’B¥ó!AM‡/žÏÿž õ¹ÙÙ&Ççl£—ö‚­*}MYîòË„ª¼’…ÆŸ·#ü§øib*Ÿ÷‡¤%aÙÝÞ¬€J?ë%o»ë2á¤{µ‘…-toLòÛa‰òE"„q'¨`cÜò {€«‚¢JsÇ5ñÚ‘À±£,/t#[¥6fupdq·Ú¹Ä~OèI‚·ÐtFÍSqÝGAã‘xË&í]å[è‚ÖÖ2—Ž…"Çõ³¿Ì|QœÆJÈÝîõ1{%ºõé̈%Ì W"ÏŽâ2X^O¤¬K²e¥hå,9ÙL‹H‡M™¯Î¤e*7Pe-0õéŸ<ÉDÀÌ¥ÞHãQ(Þq2MË3C–pH¶åï¬óCÍy!ÐPPoy0?“ŒêÛŒã5BÀÂܯ+„5›(½<'¹‘Âôɶë ÚM.ù L6éâV$ô7‚Ñ\eÐÓémÛý"sÿá ÈJΠ{{óÞ–b¯aZÛwß‹ˆ —BÒé óÔó7(ÌLÅí)ÔŒ"lg1†¨‡¨=Ktšòîmë:`®´áVÙâw%;:å2Eì¶cÎJu ÇÈóY0 &D&·¹Ïf´SIg&'xaëÝ\²±ÓÕœoV’ƒ5*sPL+Ýšð5{ÚÑÌÜ'ò72–s˜›=§£G1)R¿!w=ÿXRx ieâss&×{ƒ+ÈTDûä‚îB½{Mqx–Hupè¯qv±[i‚›S­iÚ=ü¤VˆØÐyµNTï£5Ú_F´É;´¶Å¹ií±±ûóTª²¤’ë@Ÿ‚AP6†÷¹C›„ÜÂÿúòKð`cò—0©jt ­o´H„< xÝšº'†òÅÆ €¥Å¥k1Ô_2ŒŽïWÞÛIêÌâ~žÌ‰ípË¡Š/t"¡ ÚUp™GŽíûB^6ù×Å RB‚ ƺ¢ÔÝE«X=¦ÎÕC–›™ÝFûò7Xr£5p¡" w¯¢öþü1¹øÓÚ3ßø µ]Š+åü­D­öÔ¦‹þf†§v$hx6µŠ ºE³#®¿Ç_©y¶±˜Ý·ÍNдö ÄÌ*ï¹Ñ’¦Õãý½uåÉZ‚x÷Bë„Ü{~úLdZÆx6€BgæJÍëìp·66’°®†Z¢ÛY2±àZþÒYLûì ¤6âË Ä\±;|Y5fº!æ½ààöìÂuw«Ñ•ëÌ53‚í)~šüÒÆ(æÉ=¶wXá8m½?{gDý5ÂH5®7cº¥›*Õœñ­dÖ5 Á=3ߢ¬'­ÉFGí“"UTRÓ{L-ÃäEAþ³ t„G ö73ر¾“@÷+˜rÔf·ìïãd¤µÈmr.¯Ë./öÑ‘¦ï."©Bðhø“r²äŠJ®{lb9#c×3Êc²qˉ”ÀŠGÜìÉ—ôq¿Ö$ü<]â˜å–4GÒX0W1ƒðsú, ŸU ÿ[[r,7¬ŠæQÕ¦QÑÞ#{ý ¦AÖ:¨àÌ…{Pjå"2;Qã£ÔÚ8?ŒÔ‚Ýy”_[– ûI -í0Ýh€v =H+æ(j6ŠMþöét²§ÌÓÅžpK®]þ!KÜÁË ‹zè”Jb€#ªY%/«ŠîªPð€ö{¨¬G¯–ÇÔOâ¸Ã_^/¹Øy¥7…„’Ô*u°–¢úD]G”¡‡Æ>Žž¡AŸôتmká¿û°ú«‹š5â¾mj_ˆRDV—C.bŒ4W²L žÜ!¨ E¬tâpãßïã°ô¬yA<ƵwÊÈì½ç%1ƒÁóži’ñ1U÷mZ|&õ¼î½ƒÛs†J]SH‡Ïä¦ðÐÔM\‚ïG]Á´®+¯qDd_EðÎüü¡FŒ{Šêš,žBñ2 1ERÂÅ7²‘mÏ–«¾m£è:Õê IÈßÃ[n©¹°%EÇôñg}šÄã÷¶ÉȽ3HuåB—ÆïCFAúO=!d\½h‹“§žc>µžIÛ²{b£öÎW¢,o×Ñ'Òˆ$xÖ>^ å$C,§¤Uq$ÖæQÊI78À7=߈Êxªä¢c}Ž’L4UàÛ7%—j5¶·)ÓŽÒdC‹nT|Íd¸r¡Á7.ÑæaxOb7±sê…Î`­þÐKŽÊE’´à/j2#ãuUX] µS 6Š÷øµI*ðÎ Âüfuáo>P˜E0<äÇŒ>ÓÔõb‡Ò´þkP1+§ZADI•ë’iç 7Fe¦ü\bmÒ ÔÒW¿÷Õ²¨"CzP…ª<|Ø-.ÁD«©WC0TaÔŸü6ð¥.µiÐ,žÊg x7&C`¹öª†B>g1J³Ûýç)¨P/ØDÅI¿i/¿]Ì«9Œ=„ý†í‰\cß%ކ_«÷÷ÕÒâjÁ[‹a(»ýxEõ}u4­}”¿hQ¡ä¢ï¸R¦x›TÌPâ>Ïž`ØqËÎ0\»ÃÂëüÏ£¹~D…`{gtŒëH_3cŸa,…Iì¾?‚QÉÓÄifF|ËɺÙGÂ9Låу„uQx*ÆÂ §E“UŠ ¿€>)&áãËO8CíXþâEÌ7¼È 03c6¿2?¸J1x³[‘|•ßàéˆï™¤dOPh2h^°­mvø¹L,-ò‰@Ï»‚%mÿôŨ¢¨°4u{î<Á0jî°À®%G¹×z hmËÒ$qZE_TÜØŽ÷uÎÆ»§:†Xý»‘ÛVƒÝí+Ã9™ÀÚZÝ.ZËu6ù¿Ð%Ðlìýå6wõ‰+ˆ[˵é)¨ñ¿–cnB‚XÇî& ÖÅŸûhý€®\ù î*8ö0CºŒT;ëj4|([À샭¢QËx¸¶øÁõ$Y"IAmŽi'–Þó¹Í ÷IAVâúT‹2%€¨*&-29W“½1ûê1Býì-ÍûÆ’ÕUú®y¦ðJ—±»ò&̺iŠ@—X[Òü)¤ m]H9hë›J îV 3Vÿ¸ª¸Å`6Á o¹m\*Ì`êZ%Ïò0ßxi—4Èiö޹Ëg"„ä¹¼=I) £‡€É‚qF¢DnVa–‰-ë…ÿßÐʬÀ,†¶Xh3 gé>0º»Q °SŸMéÍ¿²sÂ.-¥/ZoHÎp;Guòº÷7Î,0…^–ÑÌ 0Û±‡$Wa-$Úšˆåü†üj]Ô®;¯T°bÔ–^°…¶{=ªm^¶½.3 JÃ×h£¬,oh³å:²»4¤’@9ÒÃ1¤ˆ¥dþ¡¼ÇIoÉ •”Ý0‹(Z k>âZºáŽÃòÒØÇ ð»;ÜÁ𚨬ÏÍ—nvê­ºÓózøŒñ–üØèyÕkù¦s ÏÛ^SiïU³NEd´ U*X¯2äJÙT´A#{ç”pÔ2Ž]Eâ™âËGgdq ª&¸y„Sµ[¯ˆ9 ìd.N.+õe£Ž?þ«”ïÄØÎ~#dk(¼Éݲº9°X{Ì•i¨ êq•E/ÇÌUÝ=•tDM.c dW¿˜|,ì³ñ8”¾ˆüÉò1’:seò†øwÙâ,)¨‘»†@Q…Ùî|+yTú´%f„Xáá#ÂxÛ6¢9À÷¬jh8G*íÛ“¯Ûì‰/…Ž?×RÿßtÀ9…3ÆÝeÄ–‰ªóy´èÕ6¥Þ§óÓ¦‡+a#RÚm¢ðÇgÐn üöÄPF…Y[¶×ÅÙ¨´›ÀÇA f˨:³p´@EýÕ,];ûQý˜H¨dH'p>Ð2mèd–EEûšïšáB.ŒºÙjclµ÷Ú©¿óîKƒ!ÿ¼:(烷&ÕzÍ}5²Õ¯k0¯Ÿ$rí(páÃÈåÿ»¸?2¹lœÞžÏ-3oá÷â,d’œTªŠGÅ—Íç—MÕ‡©¯aa ºÁ°ƒüjˆüµ:v®âìŒì½2äÇpË{rðùpÞ`w%ce¨½igñ'ƒ~þ¸Šª(…°½º °¼•@V›x=Òå„…Ëèb4’wÏ 4±Ò†º_ìFê%÷‹X£Ë'9 ö9:ïðñ£ÍÏO÷ܺ’iá/Ñ+‘D{4‡fn}K¡ø _ÞØQ:9O¤þG®hÀúÉŒ ™1$Ýïýíª cŠ#à˜ë§d KHÑÕ/µ½ÛŠÃ‘½q/Ö;ÖÈX€£ª ;î ,ÄíE$iÝ€>$‡›§Sg,z'¤~{Mð­Vñ«ÎÇÝ ØÖ{·_Úù·µž8 š<<ÏõI%çG[LªQZn9†d¿e· %…ùC eu&ÚõÛe‰F•βÊ0eÕŵSpƱÖèB) I諸7ú¼„W:±Ž,`ý"«Õß§PÜrâ…ì›¶'Ûôj,|+C¯Š;¹îd¬BSÔvøhÔ`güÇFÈ4ùò-Õ%aCrbf¥·¢ã¡óýÇ’ë°¬=KîYMuôoɦܗx¤3£Îsý¦¯·óná³õÐéÀæ¾' 5l¾J#'Z¤ á2É*ïÅCê€TyÀ”õ¢Õ‰lF:Ü‘1D)…7£$G©Z}Uש<¹é.ydh<¾%'åñ8ò%øK¨¬®÷m/#í5|:ÛÕç['·ÛÞ|æÂöv´™WP»*Êú4õÙd >aÞ}Ë_ÜEü›g”Î8 |PÝ8Á‰ÏQ…O¯K}Ü£t>‡ˆ+”¯I¯ò»þìêYðË|ÿ4® ‡˜èÐÌú™·XN äãŸ]ëÊYQP0?¶³QoÆ,0‘k$R||'Ì¿•6É]”B:ÎØxFé±ü‘XÕ- ™oê[†;¥aÅùtEfs¨¥šüìlA2?Ìøm%¼‹r\÷ír0igä1Õû9x=¬<ú²EÝŒ'<ªåN c‘ÕØ‚¾‚YoÈh(É×ÃàÔ^UÈÆa†Kåׄ·]ÈŠÐ[g¡™¨gø.¡2”UMŸÍ(bE ÕhÙ¦¸‹UŒG¡‹bœr²ìèöŒµ 2ÍûƒÔñ¤xÑÑC8*A YÕP œf[ê¢Î™2¨cmD)ìÇLÖ‘ØbÞøÿÈD÷1ÿÛÄzíc®¡äîkQ$§j`‚Œ ý}—JA£v0¶9»MÂùÈ_³\˜^Ý#$”Aí‰æVÜw: ´Ø£P½†+o’Ö'+TF‚¶]ÒP¤dϬX™¦RôXb!iy¨&FoÙHuŒ3® ,ìX¦°¼í‘t'}®üÔÒÈ×Çæõº1‹U¹">¤lþ°^÷ûÀÿûw¾Ž<çI• ª}AMoê:–{ùÇÛTÈ‚hÛªåÎâ[Úó‚ ¿R<ò잦"ýíkíî¶zz¾#5SÞ¥YÌÚzyĦ*°‘¨QiZÁÐTŒ~ûª½ÿBð&=Eôû¤ 8ý¯Ïå'2áQ½ÚF´£[nlº+dþ©µ:Qû[BFÑSŽ8>Ö¡ Ù7WÓ¾ü®q•žFÞ†çŸêfÒ„鄆÷ 3ž¤‘©aåŠü£š“x9spg¼'ƒÔ×}&öåHiê_ ÿJT}6ôˆ­ÜÄ=OÛû„œ6Ó ëW±\–}Á Ä‹‘Ã…h)²K5ò>i+ã1m1; ]ØÐ±‡~jƒ£ç n1‚ÕVd›Á¢0û®3'Ûû…¼PÕ¥Îðs« ÉuIHž’°L‰âS~¶qEíX_M‚ˆÆö~.o¢ ½G"‰ÿƒ!êßI–|¥ˆþ´«éÃ[%2µâ½¨ÐáX"+KáéuÆ%fºx6ŸX%pWJÀ ATÆj?#]Æú2¶lZôþ¬òâ?&”oÁµutL Í ¼»ê´¯kÇ;uKCC¦¶½våê\5®Rç¶GÆduC„`œ=²û¥ bzÜä˜dÏ6týêõqlï B¬\z™ÛŽÄ•€Ü=ø½l—3>®àô¢ÃÂÝ ‡Å*ë£79 úÒ%ηņÛÜ0nF [ÿ¯5àëÛ\= ¤ÌŽrûeŠìT3â+¦ur¦j·ü„ŠÈ:|O.)Ü:R›rÉ­Åav«L{k²g²²Y“nyWËö Ï• ÌG›}ê¶Gmô>Žb óò£^‰û‡?’¶rÛ­¡ äm~ú¥u9'ÍAzÑB%ÍÇp(Y•¥åD²%²Ûï‰Úw ð¦Ta,ðˆz ä8¹ripíW_ùyÕ öþM¢4(1>f­þîí0ÌlÁM®šï1U ‚q³~“¥Ã1È –)äS™ãª[Œ¯ue>™K¼_¹Ô©0Ç´ÑDô ºŠ£H¡|@ÖUHí• ÇùË VÉûž½i|7“Ýd3çêÇÌ]¼9˜~U¤´ônß<UÙ?d¥† ³´B¸áˆÿýy60d .þܯߢ¨YË6çê<4ÔË}%í §«í,*'ZðÛ½G€XÕ!­ªr”ûí¬]ÀÆð•;aà²KJ†e/lW•V¢æ³Œp~ù£ÝìÓ^Ÿà­Û»…]ü(>3Sa»+У’Ò¦IZ2Ƕ ¥Áó}/êBå°È¬:SâìZ²†ƒ'‡6¯š ǰǟë14Q©åÀãÆ¼S®"oô¢_Ùè¡_s_I=‡§Ë†£¹‚¸žã{FÐbÂKÓGd›š²ŠBìù·½ÖW£1$bËD®RZµë€«%”¼ãEVX\ÈÕ&w" iÿ柄k ´àULÉ2œ‘¬îy/¾4˜N”¯ÅÍÆ ¸¬Lî¹½D’bgá¥ig P¬Ä9Ü–dzd°ñ†ì°ÕZ6èJ.ŽAÎ9ŽÕÔƬ#ÑŒ“}Êk“ëýøì€ÎÃ>l nûâXpÙÃÉ…THAA˜³;L‘\•ƒkÃÑ•ÜÒ79Ä‹¿ñ °™ÙÇ,ºF_–1£îNʶú¨û ÿ§*9pé­\|ß4À ìM¥Röоe=MäÏ–Z„· Ãð:¼Ã `…žªdvÊ„™ä·%ÖlŠÒôÈszöàšÃµ¬XŠ £¸ÇÉ€Ký” 2U²% <į塇,"Êý²ÀÂmˆ0pl4@`B ¦Ç»lÏùsjNŠMãeU9xpÂÂå\<Ð"þåv£ó ð94µñ´j&ñYJï("ˆ¿ºbÆxÑ‹Y>#0e±™÷êtÔúãÎõ·@£fÅ®+þeÔeE'32 é»&k™oh2¶}©Úq™hhëЕ,#]I달àÔ’ ôßëâ6Ä:-ù§£)!V­ÍW$»ãè[qx Ì$/5JMÑK.86›´Æ©¹l™éŒ„¶bEh’䛩º 5´Æ;;Vá •MFH¡Xo$Ì8ó6µDg’»Ô–Ën¾õeÔ)34¾³‡æ©ä ú(·a›sBÛ' R†öõ#¢Ç˜º¥AV‰÷æÁ×(ªW—4;–9ib<DtÜå„Iêíy/'Å–6¯X–¨èsÏ|˜Ÿ¡qè'ò5ŠqSÅ<®“oþ@U¶<,Њ±×‚ÙÿruZufBÀÌÐçѦ¾Ø~ø q°l.Göˆ:âc^n—û€> <£¯8©í 5rî4 Ç·bëy=]ÁlÏéš!&˜ŽÔä–pÇ»uð,®ã.í"‡xWÕ«FG—.‚ËÕùéKzî½(+™}óò¾9yS–³¼VÀâ‘qœÅCa+­ <GÊn›¿ot†Ï™³_ ½FxÀÒ¹¨•‘Î~äüÈOú Ÿ 9áC`™®a­(Qdž•mY²æZ8_Q¡DH¼l+à2¯ÏÙ+uÇÉ`—Jð*!žnÂ6õcÅäH ¡%ZÆDõÈ{² Ú< o´ãµs‹©¦ùÍůà0ÑIä¡mTôBxÍÉ  ¯6Bã.¯Ö£&Vöàahœ–±ï[·Š¶°å¨ßc¢wyÚ”EnµÍ²¯2‘ œ¬!í©ï|k ú|á\ßÏTAR¨ÊG¹'PŸFöÞw¹ŒoóÞ‡dN’yË mP& õóßIe÷ ØÌHÄl¿R=.EˆHc8ÅZ©CEŽYU¹3 s€’5a}ÂLa±F¬màÊö£Ò¡pº*)Í]¬<8€AçñS¶ýgÜ{–3‹xÙ\ÿÝ`;Sa/’t´·‰Ç–ãpd¯˜‰È­#‰à®Ò§ÅJ.꣩!“`Ó’¾{ùEQä·¢µä#—zm*¥{Ã' ú¨˜s«gÓ}r8| >”ÿH¥­óÞØ¼¬.}š=yë@¼¦ßÈýMõn¥v&”tçäcÐvd¨ úuÚÕ[~ÊùU8 1Ù8*”³èM70ë;×£TãÁ°p/2n¬¤ ­ôîxÓ àÔh)>çv_mû`‚µæ²»ˆnBNxœ×¦04¡þ^Ž' Ýèç×ãÜãSáÍÁ‹QX=x åö%ø˜Î»²Ë\Ì34%‚öþ~jCOB2¹­æ(U!ÏÙj£aÐaš#çú ¦WiRq‡ v/hW¦ŽšQx¥ø·ÿiÅKâÿ2`êûMoBf‰Ýzuhêøàü^.ÓÐwçÐúéQx¼uÜ [+$J=ë¹›Œ×öþ$åÁI|Ï}³ãKÀÇxòºê-dqÓâÃåìÜ}.@FSî§Ï‰j3‰²~´53žxÛ¼ݧ¨I»Ô§L¾0”q;i9’Êœ’#POëD#ø¦ç´ý^F³S" |qßÌ-ÑÌXùù¸c¬Õ©õ™;FGÿzpºØ5=p™®äÊã.ÔP.1ÿ ÈC ùH2ü3I'à ŠóøP†>~x" ’~:9yU/1Ì+n3­î íqäöèÒj"ÉÀY–›ñÝ ’p^Ã4Vþç(È×Ym!Y)o«ôßÝIÄa ç'—”À—_0¨’ÓÒ©)ÒZ@53q6JÒ´æÓI¾œ:›Æ¿÷ ‹>W_‰®då E.í%x`¤ìU?ßÃ3áŠ!.»XÑ´Ó¹¼e©Z § 9ï—‘ "…TR€fÞeÅjEº—üPràó÷$Th/ƒ›‰#Ì/„n]cNk4‡ P‰Jb~íÞ $íØ†³Tƒ!¿OXúuvõ%!ûŽRŒÄü³K”¼TŒ“N‹*aË ¸.1ëSfɈùÕçæÀ¼Uì_¯ó$ÙŒo±p?Î ¡(oÔå렅 íh¢oz¢Ó!ýj±"1yvIFeN†=¥Gƒò-øÎ}<NŽÑ‰µ![äp¢Ü‡z½VûÄ´å¬Ät÷¿KÝ'zÕ–€–öŽJ]ETÆÀ«á|À)2VHhj]²ÊHtùî &· rH€AõîûRdÌ´ë¶1aãþÚ<öÒ Cf¬ÈÚ)s”í„AL.1“LrvØ™%›sõ5HdÍ<S‰áBûë°R …r%˜ª£ N|NuµÚг4©›¯`ZÁ3Á²’]·?cæZòäWÍPk“)Áá£à>ƒ6œ©Ì´ßS§€CO“ž¿"Å~ÕKq†UßÝü”ÃDˆhuù³•ôÅ=ù¼úËÇÊlG(`"ÿ‡ß…9PÝòÌT-oÒ *:áßLçãþMP7ñDi Sˆ9$=~¸‡’*锫jU-`SûPbÔ<ÔÍ“p×6ÊvˆöšÈú¥÷0pçSêWÕ¯¹¿wx£×Áˆ&ˆúÑ ×+•ö)æ5ú¦C7˜fû©®z/,÷²÷úù½“Êl›%UÖ½~Eež¶O°üÆ^º¯{˜ñË•[t\Âþi´Uê ¬—‹oiM.SÀ¾,ç²äÀ®•ý[R”‘ñÓèâG†$R©è&F¨TX¦L-ÐækG±¹bÁ-ÄBrKõé B¨ä—8(7§~…K4[?¬¡S欷;§ÃŸÆöE¥ÿ2ãĵªñ[¡ô’µ¯ v;Ðãr7œWâß•§{_iÇÜ9Í­%îâc_vàuwÒ-ÌðMp§‰»9e\]ØeülFK¸èÙŸròË¿Ü×û‚YËwÉAt‡mƒ“éÈÙb;à Z/Y£tÿ! ¡˜gæ‹FÙ¨T§’•’ÿoJx4ÖöÒÌ™À¸´V5ü³Ö•d8ᬛÞÊ`#{"o WŪUË×gP{Š«>|0¦û?A5¸ZSÕS%GCs²æ×lyWüz[¨Ž™ëˆñßúІ†{¡`es¾ ¨;¤nñlöã¿Ò˜åw Þ;ŠL=› ±ŽÕ”kRŒßz<”\þøÌr³wù 6®È+¨õ•¸‹gÕi¢»èç{±Ù÷tA¾ZÀã»å¿VÛ·»Y0'}úOž}ýPÖ!” ÷»þ<$RxîÜc¾3g¸à*‹ñhÁÙ^áX¦ëÃcOŒ/oë$?¹)UVÏíc²A§xÈÏRof0ŽôNò8Ÿ úú]¼îš(›â7ÀòŠàA0‘­ÛwîMü9äÚ¾¹­}ÿŸï¹Ã_z)RvØfrFÓËCà}]ë|!ã†çyü¸³ ðô_,°mâZ@;JZ~ 9V3_¼˜CIõ;Ê„ú l™£kY€6œ6&ŒqP†·Ð®™ŸìňHàŒ"¸8ƒ+ˆ,¥ÚÀuEò.‡Ø(W¬oЙy®¨wüø¿ƒ‰!d’6l%þˆ.ÿgÞ:TL"rqX©è¬+‘Æléºÿ¶œÛΙ¡Ë°õ^Œ¯ŠëwjôUà“}ZÆe£‚ëÈ—Ÿ%àÕ²ü[ßåï†Ý¡¡¶ Ûx«ÖŒo}|¥ðÔüÀÒ‰Ñü©¢ªµLßQRdqšu­tðP¶Ô,Ñs§ŸøfÔãc•œ®—€nØE1\c ÙŸF]Š|"ZЪk­Õ Û‚è•%b)c Øä±¾š‡Ò çã«MÂÌíbQ‘º¯À‰èïJ)A¯RvB)•m]˜G`jEïY¤½*6®®Šé|w®QäÕ´?.G½Z`vðL…D/Cž¡¤iº0l”º4ªî `ÚÅdd°ß«èÐHÏ4{ “‰þ…ËyüA…Ý”q6¶¼ ›)Ý©})%mU öŠ¹ÞÆâñ϶fQ§d=~û ñϪéUY1øA0/K£ÃéKÖ–ùŠª‰µùñéœÞÃà2wߑ͡çt›»>–ƒíœmm$rLÔÙ:Ê*½øX6›ê3°V”ö«¡eÊTj^ßjuUÚ¥<V¾Çá¼»Ñ̼àÎ^mçw·»g™î‰ESJõÇH›¤ÆXÔlÝ?®æk>¹ï£[\á÷ím¤.@õ#D2I71›<![™•JÐB{:•¾h½Éi·jòM䆓kñoà@n_•1Dý0®KhÝÐ8ÚØ ä©[ý#ÁL7Ä|_4Üi­üÙ ‚/Ì’k~y&Pûú¤“Ö¼ ‹ù†g ²“AR ‚#Â÷SæfÍÝf0ô|.°tZo›NÔ!Žz%ªÅÝêŸIw»­[phU÷ÏJÊXYô¨¤ˆº¡PoD 0s,0͹Û9¥0j‹%f_œy+¤}Æü/e=GÉlõ¦¶t?À™Z6"Û”žNæÝƒV\e=K¾‹ƒY²‹Xnš×½h\â«®Øâ:K8¶MžûcÇ༧éë„;š"”:÷Ö¸À¦Óc_mMq‰VÎÏɤv›7¥ša²¶±vâf)Æ›o5Ρ z!,¾± l«(Ý?´°ã,“qðÔë<É1Ÿ™¯D(¦ù«“âµÙƒ³u;G|<?V÷eGs†q­. .gÜ„…Âq’ߔٗHC-ënZmÓ½ßÃ%‰ –œÝT†\)¬›ÛÆÐ{c¸”ÃÜW×YfÌ'Üæ‡­qµOÀBÄ@Þ+rõà ¦˜gï1ÓXJm9Äê7Äx&ë¶P1Ñ“ãêøG?ù´À^ô¨÷BónäÀlS[`¾½±f‰úg"ƒ×;Uâ»c‰²‚2iU,ÕÊT޹À”Ò˜xóØûµ†£ÃW£)ôW¥¼ [¢‹‹*ðF5 ïT/Mˆ¨™#õeTé×Ì#–lÚ÷«Úqg³úǡꃔ½"œ¶;ÑíRà]$x˜üK-ªÐUO‰o—©<ìáÖýþŸ$ždÅr\m÷tö•›N°%z³›ú -2ÕÖÝNÓÑL×,Tãeb5öXÊÝG'gDDXËÔ<Ç9cüζ¹X:æâ2­ª‹¹6Þ«á—+ˆq[¦VÀšÌ†G1ÙOÔ^‚ UfTŸ>¹süÌN’â7O›°àíauˆ éÒ÷蘟é/íN‰\®*™¬*© ÔOtes¨ *z‚½U1›É ­Ød0-²Ú~ ÂrüPf,“âŒî©ª±I¨¼ÐÙZêt­=ã ßcíLDˆ‹Ð”-<þúþ¼ÛBO‡=¦CÐ@”áéÀc¾{Öv’êYrG"ñ_5úË øŠŽ·1ô8zÖ±eFë “¢%'…—gN•Ч³lˆY`”É$…™¼çañIžRw©Ä n ]ÊÔ”” Íí®ct t[ÏÐÍ3‘FSÈèq.ä3p‹“R¸H˜ÄÐè :¡q É©«ãQ9ã°p~é½2«›âžá{ x½i$šqs¨£F—^iXtèR1å×Ô b¨Tý ÅXä‚ì´ó­’µ)¡Ñܦ4$sõ©ÿºÆmò_J1”BT8†3; Çñb% V~×1¦Å³ô1F_ʃïÍÑ}E»9Â;#¦õ*ˆ”î%?‹±Û…ùä´y™KCÿÖwV6x:-Õ¼%±,ï@íTOr36Л;®LžÄ«´µ'KËÚvöÒA…ôTZÐÞI±lFÈÃÕÍQ²m¾aL³À¤ ömk‹ÞË’7» FC‰R Q1Jm±µw— 2ôœ—±aâ_J¿Q5ö¢âïgnÃCQOÀaÒ*„ðïB˜”)ÏЭuiÿÖ¶¥Ç@Zg êæ«qöaÎFH  À®ðúà÷²V,ê“j[¥ü—³ÆÀËLó7Æ®‘G£ógè×ñ´ RnÊéÑ0Ûô^è£.(Í|4çÐÖãã 䣼”ùIÔÕv”ã3‹æãÈhq׈936¹ sa\¼Rc›á|˜zˆ'¹Õ~F?|‘”çz å þ†Ñ] !4xXÿÍ•QŽ{—Ýk^'¥§ú9€Ö/_“D1ŒÕ] ™GK$Iíx¨úÈßSbxe-F4ûígXå‹>Êd°B¬Kv*f«À]ÅŲ^žÐÑ0šEqSN$Ô Í:9û¿ w»ÔvvP þTNƆAx÷ùBXÿßV|Md“pÄ'YtT9ÙÇ|¯nè¥ÐqB'Ñ‚=ñ¤6}äÅ"Q|²^É÷-Óö¾H¨kvûžRï-R;ç"¹—LÝ.Œ1æó ú&µ|ÖÓKž ¶ – þbi›„Ob`¬…·§GPÁ/,\«8Íõº©c9Æ6e“18£Ñ!ÑU®õ}v)T–z2Ó;pq© *ª$6#åøhÙ×iâñÈÉþ!ÿïÜxÊ{Ò _©xŽü›ñÎÅZuöïÑVÊü Ñf˜P¿hIÉSiM”êéoW=èÌ壶ÉnaKIº2žAËŽs-¢ýUr3•ñm1|‡Á«uó>iŸŒ+ Ç¢W‰ŽSÌ^õó «ñ½í8õ'Y´ËP“… š[¦›­Ÿë(I%YИÇüRË —î¦)¶ðfÃׇ³•«?Ó±Ndç#¹HQâ\g§[K„Çÿ×ysšÜ¬¿£Õ“H‚ÐBMêX>Ëi/i(RöšZ{Oã„ *é€/·‰R£r‹{t63ÕÐMÖÂJÊCÏÆÐ$¬i)^½^œ`ˆ¨QFä|zs’ÐàÜ!Ïí ¿³&ðçNç§žqU¬?õ¬Ó¡DXŠqTbIè/ßo¶DÒ¶ôvd£dpXèí½q~œŠ\ÎÞt*’\ þJÚªwÖ^¸DEL4 Ñø³c,¡0sò\Ü-¾6% ß·:VkÚeð°Ìü]êI l5œ{T瀆ÐüÕˆ©¸Êº¬@4ת0[XUNr#þ‰4iµ2€íYº·Â™äjœ°·J…P¬¡ÄÝíEw®¾µÄϰԖŸ†"æÿùM£t¦£]øÒ† ‡$K(Q›¬h} ¿¾‹Q%t¡ÎÉœ ͤ¢Â¤ÊDóÆ‹”`ãêÅj‚>Š6j©ÓÛfXÏFVlçYÙÖiA×;­,|uEbó¦Hž«K$o@9ŽõšÉ73îh™Ë×-ÜXòÍ­íçÝé ¤ ­  @Â,9¾Aúú èÆ”KÌíQì4J8"²o¸Ï•¸2mV(#ߪ9jv ÝÍs†"‡ëº ƒj’'Cz#·”Ã<ò纰y·Ù3ö_¿Yr£)zF:É~¸ÌÐøò¿õ”ãÓ!Æ«ÖIaô]çG¦ÒÎ/”b2å3ãÁœë1«0*¹ójÀ$Bƒ‹õ#Ý;÷ Tѽ1eWY÷P¨“#¸Ó&®Ï§Àã8¾ÊÉ.hC>þB‰ª2â׌à9—l+F=ëÔšÇ?Î:™ÀÌ {ñƒíjBFÆH Ûœ——R"ņܨZF?–áì¡\_>¢¨¤ðN%ôòýŒÐ¡4‚î{!ý[”cŠl¼øŸHF4DËq'k¡•º!­o4ˆJ¾¡\aµïé¬ö‹f³qµum’t ^­è"«,0!y †iNûŽ ÚïšjOGÂB9)†§¸µeØiy¯ÍÇŸ ü± ø„7Jвý¡Ìø+jøÿ«íx4k™ºVß'z[[v¹ýè|ÇÛc‘%;„hM÷Qƒ¯-ïþSA26`v*j ÛqÜáÌ i§¼­2Ç ðªÅ€•ÒU}ŸH©Ü*@)ˆ,‚+(œ ³á±Ô?pÃ|F\¯ ‚K™Îk) {V£Ågu_ÞwpØ‚Ôj Œ6ÆFr4=b íP;AõP7ƒHÐW:ëÿx"`-\~¸å¤Aè4½éŠK•qyUïѬr,¬Oj“ÃËG!“kë¶Ë¥Ó>ï’ÝUÆXzÓ–D¦ãˆBÉ7îÈ‹”$y½ô){.ï²:ž?§o~Pn` sÉÿYµýûQ=CDX¶7¨G'FÁÚ_{f½'ðνò¯pwTlÈÉ 63ì¹@-yÞÒa¤„YRüç@y›Ž4ñ¥Mx) Úk»?-Š)¥ÏfÉòÕ¼›,þ0k•–´ùÎÐ?Up´•Ätž‡Éý½ån‹£Þñˆ¿\å4¯•ìŸõ9cóÿÚgÍ<ö ½nÕ´KÀ&+µ)Âa±q>ùR:æZö_±ÀvÏ× :žâ›Úï":pÅ]Ø ,4‰Ãi½ ðezüþß‚±Š± [ cü56|¾[˜ðþû4òHüö×çÀ#•"\ý}݃å“Ü_äúõýQ":‹æm|kåÈU¿)“,å,©al:†µ$¾`=T6ñHÌßÔù¡}eÞUµ3Р îA-|^Ç8åt¸¡°ÎS±)q:`"1Ò¾WŸ?«•a*‚ñ̓)Ú|\ÆmVfÒ ÓŒÖF3a®áßùåú^Û7s„âhõ|4V8“¾øNlEªª5!h‘I% }7ò8:?Aã¿î%—aÍî‘kH’zÒ M¶î’úz&ç—÷CSTývqðÓ£ç{Ø<¸d¡,zá©•6KÚ“Ê\ÐNÿuÔz à’qóѼ~f—³«^ZK­eãêÛë¿zÉ™¦Âvg‚´VT_o2Ù¼¡„‰©ôCu†¢kfP¼×²˜\?oìé r¬%ñÆTò< ~¢~·íª2§“í^äA¿a=Gcé‰~’kŒ/’÷±Ê£¡’hUjúô6ωÓ.YÔha@5º–1 ]È1—V5'ñdJ5ÝÙå˜/gìª9ÿŠÿùØ;Ä¢EsJ§,¸¦¯"€Ú~à˜—?°ˆàý!~ÂWI÷ÇŒ:ž{A»ˆyr7W_È;<4µD§øvèt@D„¡y¨¹ò„`«¥¸JKõSô.åz¥â­S„Ú9¸tËV즗ÅÃçߺºo^  º¸i@ ÄKz9½lÛžûŒöµ¶‘Q«8éhŸâ¸M iLlÅÇ•Sº°??¥íÈ C<À…@¿u¡éî—Òœô§3NzQ;¬u7UY>ð¹›H×ÕÒâ~eqÈTL$J‰•%ŠçqzÓ¿‘óâêJo-[ áϹºyÊÕy¬TqÌj[ÈYa5p„ß0A  ÔÔN.ê…æ J£M5ŸúX—æ_JÈ5 C4†IòKq®Çâà ÓOJ€G\˜HÙ¿y’©H [„÷gתšÃ/‡™1œ¢aË܆G¹ðó&š6|Aê©5å¯Muø4h•Ý™KHÍU5Ÿ½‡|Ûß_DM«ãÑwm®&ÅX€®ùfóë\ HÊ»÷@‘Ó³nÂ]M¨»VËqã’þÁÖ7«Šüúö½­÷׸ç²`.@â•V)Ü_”ÆWx¦ÜÈ0(ñ‚+&öOwsƒLaãȦòàætªB9È÷K$úÝ+,%w|¢,@fuŠ#ÓÞDzÏúQ??Ne×¥Ð'+еìDnT‚{¢4““B<¢UED}fx#ÌœEcZ©·$è­Àz V) K÷8øógO9v@ñAc ËL×·5LLæø®ä>úvîŸÍ샳XVÜo©¸¬fy–)J,óÑõè÷è~ä ó—[ý­‘z5D®ýÕ»µßÔe+¯ôžÙÚGA‰UàW¬=ùPñÔrÈfŽ­;BˆéøIA‹`hUkØ2›Ç¶3¯ß’Z NÆ úfYa¹)®ÔùÇ…P”^kÄŒB¸oæ/çs‡Ÿ¡GRê¦` Ì‚´,ˆ.B*"qZÞÊÜm/X©Æº‚/L˜VËÓ¥Ì]ˆ£³«zœ÷‡F¼£ÆÐNw;Û.~Ì’]”¶UQ¯Š¿õþW É•xüîR9"úè¢ä?åa“07‘ÛäÝÐi°&™Å12¨ÕjÌ ÿ¡…T@µ¯Ç…cøê‰ei{¢)üø¤dëmANË:D¨Ê³éÒÀ£ÈàƒÁ5§Êf@:›w‡º^{—Ê“§× Z¢Ûlñ:ç“õìZå¡g?ÈEûFÞtßVFòÜ;üß§G´PÊ{cͤ•Á=!΋ýû„ÔâäÁ4ò¨™G/^jkWÛŸV>"ý§­/= ùæÂã©,V®)Yl„¸ÍÑ•)î¨ÛÌ’.bh¹@E;è~t CgN?Q6Ñš¬ŒtV2·ëj³xë‚À¢ß.äÊÇ:ËérGÐU‹Ýˆ˜Q1¤w«À¾{ E‘z¦ØžCÊj<ú°Ä 1›^nBµMéײÏïÒîW[Ÿ-–¡§)^«“ùµ;8m¤§hÓªY.ô–ùФáê?oJJ`z€m„Š1\h´=œh¨ßº7¼¦Š¸±¿ö Qè¹Ã=ï»M' Þ“».^9Ç/Ô;ò^àù•¿!6âÎÂsV=ƒ¥:j/îx¦Ú]±í¹Ê HÍ5.0;ôLæYôy*™·y<­µ‰{r Wµƒ¡m˲¾y‹ ˜Üˆª.ªòðGæ!‚ê!$¯aR!;ÄÍé( ͽòskZÛjÎiåJ;vþ²‡X µjùvéðó‘¹Iqº ÀIU-**uK¤çž®0F‰ãØRwô²î~Hßyú†‹¦w], I&Ö{—rŒ:…!G„ê¥0S±ûfOëNÛ’ˆû ÑØåf®JžGÇþrKÍÅMÈ/¿ .eöÜ “Š„Rß³e‰JB—OuK†É¼P¯óAÛEàU››Ã5¡õO!Ù„94ÚASÈmÅ•Ì%¡g$c×ì#¹àÙGÖ½ñÝ£Bª8ƒC{Ïå(Ld”§]μÐ&z¦óP{ÃêÔítÕÚ¨ÓŒdÃ/ øë/®Q®8s*‹Î‚œNJ5Rn/†‹y¨ëŒ¾yõË_Õï3%âÞqç§]yBÊâhr cÏ‘eu™Ó;¢pÅr{”,Ù¨Œ¿ë$£mðäñÝ<®ðJÀY¸‰QÛ†šÇ Ñ‹Aý4˜[¡ ȳA6;Õ“cl¦„KÚ•ª$ÞH ^ë<Md®áyv‰/l„Ö•|‘°µ*ó«Å"ùí;ƌ̵ÛÚ嘎ëPïk<;—ú+é†ìÿáCR ãK½ûù§í¤n¨#<<µºöÛ„8§³ÈdÐцGƒ~¹cØ)\¬(ÔpBÅÙïÌi¶…9éPL¥¹}°¡@% mlþh™ë»2ïlÿ8ŽÀHµ¹&€ÏÝöÐ Î=½L¦Âhô^D,S¶0h0ðtì „nǵR£Róœ7Èò½ ÅkÅ¡úïRã+·|Q·ÇX¶¢=æ·Súñ5œ‡ÎbsC¾|’«ýzÖ-ïÚžôÎ3|Tm•ÁؼxA$`//N—ck&ÓZAÊ4„FÈùu&ëÏ )æVk>{çº7ˆ#Œ±fîŠÐ¿ÄÏô{³÷fŽœkPý¬í„xz±cvöTžÀp*uú ë%‹€;µ!PºâÆ}( ó±¹·{ÛVÀ¿±Ô.ñž~r½?ÒOp°ø݈ĩƒÔ` OÚŽ„¥…´háº0HëÿåŒaõ„ œa_Ÿú™+opégæ,“+ÍÃÛˆpO÷ì•ðKBš2²m€—ÆÐü–`ˆZ²TÎ7Ñco¸Ñ˜ˆý¿4Ï$Å"ÖƒÏy²¤iÔAs\¬Âè‰6±¹h.3KÅ®1háQ¡È¯¹b[À›ÏCŠê“S™Z=q´âƒÛÑ­ËdFe*-ýŒ|ÒØÛËÛK§åH«tõÒºc³Ræ2s ¥õ?žµ=ÖµÅMôÓDŒ@©éRžËÒÜíeyN¤[Që(Œ¼ßÛo’«!ö(51[“Aäj›_œ] `^j_ýî<`Ëùî¥d(¢-¯N¼+‰+#èçîåP%Þõsºåf;®ËD‘6G×9y¤f²ªÃ#±†IÁ ØnkB¢öº¥‹ãвüæ.±Ú­áük1¿Õš”áF£FWKT‹k>ôA)ë+k6¼6Ç[Q0¾‰¾HÌwÞÙÌã)FÒ/øÎTÅŠ…,¸s(!ÑQ vq°Ê)Ýñú>]l€s¥ êZ­œ…¶´ÌB]|§ßý,'úK^ll°kû Wc–9¨­¿‰ñîñL6Ò‚6õÿ„ê2Xs4E)mYðîäÅÆfxe,j^Œšæ{ê‚§›ª€jaŒülVÆ;hýÐk[4¸9s4Š ¾§HÁ==A$RKm’IÄÀÕÄݵîàn‡ 7ÝAg!ŠìÞ÷-áºL%Ê2‰®ÖBBWú›ž­æÃžÖÈÑb¼|…íoxq•É`ørŒ%´Ç§Ë<4ÄA¼+ذ?B01btî6¥^zœd©¨Ë¥¨¬>¶¨ŠÓîÈO1¥ kÍ+ój=ÆÂ@ƒ8ER³{yÈLZ÷+:b>$8å¦ï^è¹vÀ¯ÔŸ ­ÔÁð:,ºX¸–xUȉA¥r]ÿ¸MáHγ6N:(—飻÷:Ot–:iP_"¤ù¯ˆÊ~ïqG„J:Üõ~ý´ø GBÏî^öÜí¢ÑñQ{7xmöiÛ5ˆ ïqâ 䜱\1£ –_KOˆ®3°íÈó¦ÔÙ-G]†Rþ¦0r¹…•!}P?°4¸‚%CÊ’t‘Åmp‘PëvšÁm•°S;¨‚3°[åc§öŠ| ô¬lN±œ-n2°Sꮨ?ÓZRέZ{†“]¯š¥z+0@vW‰W¤OŒ_Gš·Â¦uNwAŠØº,þ9ÁÜtyjJ–’ÂhÚ×n<¡ÍG·V?ಓëä”r;{t™éSà»ôp²„æøÅm¨ÿÉŸ%쮀Òf'(²©ß¶ýËÆÖ}.¨ ”ÉÑù»¨ºùÒrt:Ô$cÂH´q5ËT— -½DK^»”c?º.;¹Ûí’­û›w ‰æ~ü—í"ã] sryÓ´UF@c–žG€¡ÍµŽ#cÝ–£Û#"Æžý¡øéËþ®ôi$_ H‚í}§gtûQ¹³bóÅDŠ»›ëò©¦!vÂw‹‡Dµ5àûD³ï@P+Z7§QT8ÅÆ¢ñe˜1¸H>Û:Y2k„×’ÔÆÈOâîmàºsõ·làÃÄñÌê?8ե뛪PNáM-D}Gíl|Žs1ÌXétücMùüRBvW1ÂA~tId "û@,¿’³üSQØB²Á1h˜?%.gÚ™¿˜Åzö0ô”ÙÔ­™·6yk7¦BK(q•XÒËÁØâ¨S‘¨·©Ûbèº™ÅØŸòölæÑ ^| ¥Á_ígË·ù\`=žê:."YÌ…–ð[6qv„.ÿå ŽÆšÉAð¯/ÿ”‡Å®’fV þW†7•ÎÀF¢\&¸7kYYcc¥VÞ©nG6²ÈÍÓ™€Ͻ7‹2K^Þ$çÙlã‚¶5ÄFv_ •ªW6Î…]°Íz¥X¿“çœÿ âü¸H)Ù‡°‚Æ0³˜öýOé§$$ü¬Áž2ê8Ì+ÎE)·—VìÎ1$yê'árâ›J©‰ÖE¶*&ÄöŒ'<øE2“ "?Óv“/]×ÍGª™?ÜSرÙYþÊ 6,ì¥Iñ~gä\Š_9:ÎëBZcZöŒ¯¿Q¿À<½¤¨íGθÇþÔÕÞN‰†*&®¥aB•UXNH›Â€©7y¶¶JKlâ%ôŠh8µ—E±)Ñ">|NæGïâY¡7#Á¡àõÆ‘ ~9S ¡¯pH ÖüKH&AêËJìBC‘UÑ@B‰áÊÚádCSÄvöðd†Í‘u ÃïÀfœÓÖ£k«±ƒKò¥èãÞ ‹ N .ôßxí ¶ˆ ìÆâÜe°€ŒéAFwxèÏ)Î9r™9I8§ÿ€é|oÚ—Sñy³1Áø¥ïÈ;¨«× 3¾ÔƒZ lÞ´ z´¤¹\g)£L~&ßðË0z‡¡˜ uØCãMAE `Iezêç¼Ï$ö½ zÌðÓñÑ„1ìnRˆ(Ù“÷²Ô ƒ}3ÛZþU¬h÷F<"Vbü™– Çm¿³ÕX˜BF‹ZÎIâe…Aætù\£,80kJñܤ¬9õh (%lõ,ëªkx9‹wL¾ìÿ°7ÿ³–š,ì«8¬nJ²‹ó ®#ËÚ%¹³ ¯}”i˜ç¯Äª’¼ß|µ\ž¹jäEXnÊí?Öç¿×1zu´gŽ»’qG4±¢À–f‡ÙG*cíYsYóªÜ4L‡Z0¤wÐáºÒG÷KÕ\Ù?MN[5מ‰©p?U¿Ï”ºJ”²-85CÈê ßlaÐb°÷¼ô;Ÿ¯ô]‹|˜ìýTÑYK¥¤P†cÓÙNÃ#Eû”&OAŽW‘Mõ­·}«íIyC¤Tò }άz”@• ^¸†íöx°Ô7r”숦¢¸Ï^x ÆŒ4LJ&Â1 ‹¢@û“œÅ¼L›ÎëÐ(0N2´v0âÎ3©2­Èˆyš­þ­6YE¥}ö›–]t':!N‡ÞØ¢:jÑÊ)Õ¿Š9~Ù^ …Ï(ŠL)v'Ì^é)Úê°MÊpÃİ #:vP–Â+ûµ—Ä-¾ ¶'mè•›¸,1cøuCùJ,×49'"HéˆBÖîíî|¯<ÙgU¨ôDòÌi¹ÉOû¬CP7ˆäbý#Z^Æ'Î'èÜáÖîú†]žƒGTÀ˿ړNs†×Dµ_jc&ì̪MbèœPa}n®öWˆ_ë2„y¡]×£I_‚}mO ’¶t¤ú¾ÆV TÛïc ¢®>¢¥’¶[Ü[ïj.:DE"é›LjϲoŒ¨OÜ`®e‚·šèmáWÞ„ˆñëN;bo±o¼ED^+”S\RÊ.õ‚.*Óµ]—ŠöRr!aݺÕ2ÉfÛ”ëT{£Úû}ƒ³'¿×‰w2N—.º9¬VTð2y|®ˆá8YœX FDïý¨ª!'ÿk¾‘i¦È’àR•HÞ`] ŸÎBœ•pḫ7 ½¢Ñ#QÐXÒBž«0‚4Æè ¨X$;pñA€|"Š´žŠï"˜t9NuЙÀRt4BýÕ’2†_ €G®§èQ›Þ…‡£wIn[‡Lþ^/Ë"=ÐÖhÀÂï 9´¥«Ûˆ7&êCá›™‡ùoœ¯ÅBQÉñ¡«œ^OY©ýÑ-¹HcÅZÃ%.ŇŽá颫à«CZÜÛ‡V;NhŽya6”Iã$7S(â94\2RÆÄ>¡Q óÌÔô Òô¯'[v[;ªÍDÇÓyÔvlè²´éçYG(½³tˆ”µŸ¨]Bàô’3œ¸±&) ŒB®¿I\15^\å ¾þ®³Ðq¼‰w¯’@/­L DWT7÷|RnüËÊwKRlÞ»´Lºú†‘M•×ü^«©®MÍ–Õ¸[y .U/Ó·À'åÛµ½L-· ”kð+Å“Ñg@*K°M÷ýxFª¼H{C¥D2[cª2ZÂ`S9@„È•wY¹i ñ—®æCnI:=›Ì¨X¬ûó—T")£ÀœÊƒ ª˜Zcðo5@”Ödˆ¦T¾CÈ!öøT}[0ÂkBäÏûËÎoG-tÄ«Šs3DàŒ¬þÊH«t¶IþF"Ü`£*ވʙ­§•¥¬à&‹½Å%ƒˆºr;ÁÜNK*TþªïoI6¤ÂßœHÂ0X6Ê}Žwía”Ý)‰{D‹·ý«°¬Oø{´¨usÑàÊ[£•Å7<æDMù+3­QéÀQ‹ ¿O_ü®[àuA;ƒ¤”‰ÄE½àwŸ÷,Aõ¶mû-,¥žHbª aA1ãlô?JgÄf;aí ­€g#¼ÛN[š6¼¬rFÇwÍO4Á)Ŭ©ùHC™öæ±ZÝ`Sš;­¨[é'3Ëš" nf›]§I²Wóët„ÎUÐy‡Ö7*ÛÝ`öK`%.©6\¦åZk›R;];uƒ¦û£ØÊ´»Fg…Ô<ÖƒŸÄWƒ§H·f™•!” 2ùž¼›e²Ho å"¢qÀêÔSâKŠGàëY¶3Ù1p¬¡10MK$ÁV‚•}ÿ¼ Lß[E¢HÚˆŒÒX ÆãÏÈŽ}êWÂ…]uŽÃrî˜^ÙD/õ^3\ù°bØŸ êè¼ ¦˜qE÷)»¦‰Î•yŠ÷¬ÂlhGé<çèdtÁùmQ˜ ƒsŽƒ`&öÕþ?\dgÁŸ`5éNêÖ@ƒíÕ°\ TŠbFcíŽ5öÙÛ†°?§?wJžhƒq<†ÈGG†“E„Ìu™«ñoµZm5Ó ºµfº\Þ´íE–p¶ f2Æ&‹õGîf¸ \­áÅ–ÔNhÓ6;±‹ -ñLôË‹áD¨rP¾ó>?”ÊÄEÛ)ˆu‰–bO–ɳc§Í}]çp°s¶œ­-Úh…{Püÿª1“ÄPþÉì}(Ã6~&é ºœLå¹î002ºk™â˜\ ~0QÓÙ¸áâ*psiׇ•®VSdWœ,›Ê· *A&9ԥ›=AñäÈ&¯­öÛ5Õ"ƒ`@9èñæDÙv“O•û^¥ƒuƒôrþ$ÆÞý.†I<’ãòWÏ”þžîØÎQ å ^=²“²wt‰Ô¢òÜB.÷Y”t Më=Û/òñ=q³Ë$£+)¯<ÿÚœ­‰~yÿ—€$júÅŒ[9Ôi¶v”““³ÃUÙkþø7ư7Q\”s Q¢à²“Óº½)š—å®íÇNÆÙ‘ myB®H·PóMèï{D7X…§X…J\¤ ‚!ÓÇÇÐ6¸$³ÿœÂÝ1 ³Èj(÷ÖhóH⥘Ÿ¬_Ã¥ [BÎyá?a-Ž€äB—Xl^¾)`nOu à¬û.-kGøÓv8gÁb7õÞ£ìά3ë~Q¹-<ï’áÿêÞI’'ˆï2rß@0sc½ éf-K,9pî®ÿÄ?"µ=âIÓÖu5Ù /õû£ºÆÑü(sT¢x©m™°FJ&i܃»§µç/ž÷䯔ll†(íÍ&@SŒÉËSB46Pø‚ŠBŒ`çÅÓbk“¬ {pV1'èuÃ2³KŒëêÈžnz^€êDkÞ.¸sÌj»¤ão«ºvwñÐ+QÁ‹â]WÎãs ‰"¼xqD·EÊóöx,9,H k«–öñíó΄Ì,µE¿}÷ iä/¡c-Mõ3¿ŠÇŠî-¼–¼žÞtË ¤O±ˆRo”Êœé—ä5¶›è4Å_ð7^‡‰þïÔ½ë/l!-CY®ÛHšd©‡LÌ[õÿ¼ÚHa£…ƒÙÎH UõÎÕI‘Ë¢ÔÍcÚñ†C{AéS ºû^ΆȂ4fgòØƒÚ ˆ˜PÌ`†ÎÜß›rÎ&,åeF1 Œ-Ëž Šp:oÏÓ¡¬¸ÕRy Xö1…¹Ní¶VmëÝEš <„WM„œPÈ5^Í‚ª_@RM[bT©+ÖTâ¡òèÌ…âG†r&tC8,w³¡%錰,¢L¯Ý¾n®ÊoÐÈ=…š$¡Ö7]ãÂijÔèÇíØ æžW˜mKc? P·PNŸ¼Ë«tjB¾·suÿç)1Dyr iÜ23š ì»qÙ Ô<ŽÛ‹x‚ƒm= È™”QL”Ö?óŒÓ1âù,†)¨¶! 9ÌÅ?ÊZø¢XC'PL¬ŒÏ0ÉqQÀ6è“V¼ÌåœÔ"ÏÞÈn‘„q Ar+hкZ§ngo¤¯øØa¾Þ«MiJóªØ8uC=KòsgEF[&ÿÞt*§wÁmRol±%d¨H~É7}Hñð"-zUMµsÎNuq¥€7ŠùÍ!dŽ:7åÉ´õΑGO3?i‰5e$ıkêÐ1<Û ,ª>˧÷ƒá—y S›÷UAÊû^L>í,9–Z6Ðm”Íèö‘øy±#,•°h¥ß}bå”ԭE_‚’ÀÑOÓ©}ŪU2çÛd5?:p<›ËSÿ,²ÉáÙœml×Ç}S¥Å±6T©ôÅÝ«ªŒB44äà†Æ¦'bôõƘ݅qætÕ%6B¶]Šª2i;A<Ò’ºà A`þëm€qϵ¼¦ù0†–àÞÝ“äª ÷™#ÄóÖ ©ìdOœ[–Oœ3}NUÇ‘…b×m¨ŽóLÛ£‚µ¥¥I‚™–·Û)å+y¡Q¾àq3—ç{a–â,_F Õb Nˆ·štàÌ Q®&[! ÌÛŸç;rS¡¸byÒÔÈÛ¶'Vù¤‚ë¬nu`¯²÷NüMû~µÔzêZƒÛ¯œ8&b-ô*¨*ýƒE?™•>­•”Ûµ zé™jMŒ¯²‹,÷݃[¯~ø¦÷§TQ<^o2j¦SZo² ôŽ)U«¯”sœÖeý²ë$&}gb’ÔùÂ¥3‡é|_§j ¥çD¬G¤±X5Ç ^tôà;yO`õ-!˜cho8^L[þçl¥ž”—1ÐTZìèžý“]¦Ô[Â߬»‚¬×>LH¢ÒnÍlüJa,Ud™g´Ás Ç…¹TY#/´Ík<º;ãm;RËë_|ü°^ßaâP©ªyýò\ì 3¯ì„^¡:amÊd&¯eo\%¢=cý“=Lõ}5 „ ‹‘jwuLP˜6»(˜œÅütYCôÁeĈ. ‘BÎ\D"‚³+¥#sÆg•>îüjÚièqìeµéKY˜å7èm]ô  Úûg'Ü1Ôf„¹²ëcã\`ù(Íoþá[&EyÛØÓ:½ §z›ö«¬"Ä¿SDòŽ · NÐ+½ÞÓŽíQ$‰è¯rÌ/ÕÜtdÉdˆôÁùÒAEÆ9ò•Ø â‡ÓJ®ov>¨‰>_ƒÀ’OˆÚìÃz¢)XɵÅÌû*œ’Ì÷<­ÓHEð#ç,Çe²ò'1ÄŸbtpñÜPO€ë¯¨zÔ,àq³§+pí[HžÝ×Ä´Uùlz\°;­fùµÈjCïO‰¤QµÊ‘ᶉ¾SÆ(ÿÎôN&´Lüˆû}û´Ú¼æv’3ÜÓõª ÓȽ¨*ö`÷™Föq??pp}ý*IˆJ#ŠNײ…“ò¹»Y¥ÝÌéDPA—+ü· >€ù5?õí—;ýqœ‹S`RFþG¾Ýšß:½od$È[Ò§ÑèùÊ•ØÎØÎ)4 ÛéCÔÓÐXC$*öFŽ4ð.Ó­ŒºÜ[Û(]þ{é§MÑgzc(±½)·¯q†k·a3ÞŠ|­”Á¸Þ_å㽟S…47>i¡•fê¤hO(äk]´[\µÍÛ-@Kà ðÄ6h—³¾h«ìöQÚxƒÔZÄÀåư¥³¦ÙÍ¥bf˜P!Ëû#®Ý#¹îâ©a2*ÂKS/Ÿ9:ÜîDe·ˆñ ?%<{ý"³Å«@­jQÃ7ÙT†âi?úSK×(ºmUe†Ö˜u¡õ¥ÒÓ•¶Tç©—\† rêž‘Çmìh ©¯)·g«GYµD?d`Îë“vAñî‘vÌS›êkå¢%X‘ ±óòLÎï<:û¨zþ‘OT”ýÃ۵ȋ\_K¬WJ­ÄÙÁˆ^ÏxЯ¡ž¥:è?`m»ô¼Iþ"j6‚as¢×Ç×YEè“ùÜízÔ$ã M™í× Óp‡×„=¬†Ó:MXpÒà%L`ülêC±mÐvW®·ãóÒ#žLë»ÛN=Ê{Ã")¨ßž˜q¢!1yíÜ ",OxFR<.g57Š —mïVÒ)ÞUèÍS‰kttÜšä›QZ6•^ÐQðÏI+Ö{2·üÇl°Q/ŽSÙPîÅuj± Ô]Äš·ðJ1zЮí_újlÍ4} ¶|Äâï*ý²ä}8Áy +J³zÔ•£Û[W%nÕôœY(d0èL,…§¥m£l÷*Ûߢþ»’¼Ø¡Ó âáÝ€zOúfVILG€f4ö "LÈcŒ. y˜pÕZyB‹J‡¹;ßä&ýxH9©™<£«+é’OIw㆜ĪÉ¥ÃÛ©Kw.íBµDˀ˷<½“ŽKFS ù¦E€ÑœÿYÙ}£½ìM–Z7 Üô 9VÌåÁïbO±ÀåéȽµS°‰à]VÖ’‹lªÄdkÖ $Ú®ÚÜmœ¹@^!EC,ù’Èot¤g¦Þ!9fÄ(º'µï{Pðï9¯¹ÉÿÐLä p¡+ óX5wIÛ=ªŒÈ{bÖÔcþRØûçØÑ,iõ:Á¡ÎÅóF:óã#$ä•u¿I3™LCë—Òõ(%%›ï>ÈS›¿ÙÆihdvö§7Öêq¿m³“n£þ¹I{ûoV'uìßí‚ý¼­›ÜŒ}EMÊ_7†,u:|kÿ¼o*LòË‘Avì‡Þ•¿+ÑÀ[ê”ñàÀ<®ëÉW@tÝ+®À-¢äØôà¾n† 3z·U ÖKƒ)´W–mSÃ/(äÁÊJW¹… …¦ N¤”r™g^ƒ9òSÑ ¢GíCÆ#‚  ™`DúìŠäcôì?I}Ö«®V)ÆÌ'ßHÔ<˜ÒjCšÿ‘àyudªÆeƒªñ{·í(Gw=#(FÛÉÙ>q7saÀjß¡¨ŒÝ~å¢Cc~¬kû·@sµ4U|r_Ó‡1Ô¶•v…=¡´uç¹Ð9z¶Ñ¦a¸'’0ž6ê×~+yÑ÷þžˆjW«ë–Ü÷ô Ó •ï‘_™z&!‚Û‰©&Òºæù6Ç|æ_/©Ò“j¨óý£‡2«:úÇ7¦Á˜@´îëN–Xd§§ty®GŒ'¢Ut†™©pŒx•wkA"öW@„þPÓ—†´Ð:&ê+íîšµ#m/Ö„…¹ÃíÅûùz@ãw‚™ˆUÞ á“añV{Êïn†?ç÷‘Ÿ~UPÓû…(â\Ê æÇ.u=§BD¨ÏËK |¸ÿ{¸Ñ~^Q½ÏØs'¡¥"-†óCå/Ô…+øpÉÛŒ§•}*çQç$ ¨‘\ÿiâfy)+®ïÚ,°^úŽÃÏHÓmÑzÁ猀¼ÿiÍ—®0à†Ëµ7CÛvCàñ5§öÏmLˆ| ”ñÿ)²#ÍIõÀ±žÏKu‚t;jk ÂÕbj‡=‡Èw`¤»BÖLè’Žq°„<”Ï…j=(ʰ镢ÕÏãhH5g ù!¦x"¿K‘Õæ–¿ât*¾ó@­5‹Ëëèa_G´Š“j®*–ÇÞVæG“̯kÓ k3ç|›Ä+BØÄs†•óQ‹Á!Kà‡wnŠCÁN‡ ½üSÎcGEdœü oç1Vþ²æS“.¼k‚Oü\Æî Q]éìôõ¥m+PÙAolÝÙ!ÝSYN©z~–ý!z€$ˆ °7ÃVwó·Ð?ª ²µnü7¦í¡]5ä¦Á|X·ï&+h7lÎÿ5á†\à³ê!;_ ÿÔ 3©‡h[Š¿ra‚ŒN©w'º‡ÌϦâ1¬Ðc þO×êJJ,ÕaÕ*¥ô°ɇÄq¾­V”=¹^‚hãwâ…A"¼DÈaue5Õ>}yƒ ‹«qÛˆ&7e†-˳ 0GLÁŠÃÄTÎrÅÕåà«l3ÜñÅÐn’6ÿ°qU¶AhŸTzÑ7 ؃ºÆÌ”Îe˜…E²…GÔü.3~w5E`)ˆ¨ Hщᱯ Uç–‹’V*y*”‚¦É!}>UéŠÐxÀT‚° 6ýŒï u}Ïႎ;Î<ŽŠx"Fá1s­@@³l9J@l¦IÁ·¨ž=/»ûˆI–{ïáØL}¹^+$±I—Yæo+§üöâYN32ìY ÞQ—âÄË2õ×/GÇòÔßíÇõv‘¿ÏßzÆð-\Tx‚°"~:{9߯åýݱûLŸByêš©xl²¦q=•¸ÿ+->=GƒŠøüÇGɦY”þÀPÔѼáê”›°Á]39újúEÐæŽ¤¹¼É/sÅ$Eøtæ ŽN—¼5ªu; µ-ãñƒTö޲öõÂ…¥ÊY‡ÐÃü•ÃW)&˜º<†ã‹ñŽ·ŽòæPç‹áð¢˜qÉàNˆáÓ¢ãöp |~¶…2<<ô¸ dÜ­Z‹Õ8’Æ N¹²ân UozJ¥µ¢CU+Û÷ç¦ý½T04ÛN Îü¹ïdàüŒ\êIϵ&û¨Ƈ^Õ}¿ÍþL¤¡!]œZ¸`ÏP¸³ÿ.çbŸñ©èF—JK…(7EºC$–‚AD¡[CúðéRKø½bÊÙ'•£­çY0sEGȰG«U•:°©æm“6ñEE‰*}«l,wÅÔ—†@ŽŒSξ܇xèAª[JË“Ú×2)ž¿i10›³dð=¤73êÇ—´Õ°Nó»|5|Ëæ¹NH%zTï ;ÿ,E›¶Á™ ï‰âM3§´Ò1î3-‚ø˜4æuĆM:Ç0HÃ$ÿšÕ, 1dg˜©ú>̬“²˜ÃÄx¨Àa:#°FÎVï;v- DØàýÊ´‘­j6ª6Á[(›atzÝÝææá…t€“B ÙøG¹1U:¹Ù‰³ÿ^ÆjEâ uE«mK‘¬=XqgÔŒ1—éÑRIÛ¢Æâ©ãÒ!i#l£ÅS·å!Rä¥~Š¥ÈyqäêhTÁŠìù®]ö=”ë¥)%/QÀÙl\P&G ç—ŪÝçˆãèºÃ/q²h(ù Ç`ÞB›w{‰­¹N`í:¢vÞnN Þp|un©U Ì•‹X 1vˆvÒVlôQ+Ê'UzÀpçh(ïˆÁøÎiž×–üÓNv«;@´-&ÕÜ5í rú¡#MÉæ‡Ö*3›«/“j”ˆ×þ^ØÌxŠÊ;iª› €¼%üÄL{UÛŒçí”ß0÷ÓK-·"Iüõ‹g22\&`i°a.ÓEuâ&]¬ ›ÿõ…«w<¤ÀXV#?OÛBg Gf÷•nö¥ò©Lã¢cµ)²¦<˜U ½c«ˆŸÏ_Ÿ ÚFsF¯V*ƒ'4âüÈ¡5)Ë'šÓ42]“ûsl&ÞŽñã Ð@¹nd濆"p ®¶‘¡îF“®lðG â5¬7«é/ü²NÚ‘Nû¸îrêz_<®'Ûñq̵ó§2c>ït‚¤!ôï“ÉÄŽ%×÷ÝølõøF[Pÿ øé&²S…›W>^Cñù=­Ž*©?ý°>ÝÜ‹ZûÒ;R™67"Ý–IÁ¨á+«ë†0G x`{ÛÞsE^"d·=ºs.òRÆJY0ml—w5¥W¢RÏœî—@Át®&<’8-dY¸¿ï}ä (ÉtÐÅ´N¡=9Ö«üÞ‘mÿºïq=ÑŽbÙoÆb¶d ¸*F¢º¹sݪÐС( ù(±ÙS_‰’ž…`W"MüÝ:hÞµiëßoŽ¿è QafOЧ2zDß¶Y§•UýiKµ ÖÇÄãéjöѨÉg‘ÅUˆêbaäõ-d*–;]ÁŸT,yTs(‡r'Ÿ៊? ©aÍ”¹³/H´Zhдà¯_Ôýgù[Ø%{B®E ßߤ/žýMBédz›nçóbyIXbÄÏHšûtWPâ©á÷Sj“ÆÉï›*WÞ-¡‘ÿ x;uKÜxoîþÁÖÏa†ã^nHziÆž¸ÒßX™£§?oà›Ñ2 yôÜÐ U „?æÛ&Áµ¾îØªÛÆ—Å­NyÖÙ@·tØçè}Ã-†Û&4Žž¾È6Ÿðs®¾(È»&a lt V¥`ê5½>f»Û@9ÉŽWГP3N䵃;^¿–lô¥©üsKv_·¯þ R-×G‡úG’(1Â*:2‰«SÀ’*  ¼`9àõÝ•¡õ÷íkµER¯¤±qÈ= ®°êtTëˆb#vÃæª±''.BíE+„£ÞåÝèD¶RÇñaépÙqŠAÏÍpì]F®’xZHÀ&Ì5ø™5yE—×8êÅ:7.½qä5íBÓäˆT!΂têlb”Þ.ë äUÕHàpqôc¿³ÑP¡ØGùótp´F^öO†ën[\Ùëdlºlrì˜Íò½ºQç—_µÝ;âkƒì)Œù'Zõ®‰1ƃr–›üº¹“ù ÇÝÏÊxô«ž‘A$-#䂾-é $ñ7øôû¯âk€NàÕ!Q(NÍ)¥•®5?WO¿À 8²L)ŽõjTÏàŽ(è”ZÓˆ^¨Ó(>ëp‡³‰ ·b¥_e?ÎþNâ¤Y0ØXˆÖÍ…Ï%nêœ7eü¥¢ùŸ˜Yeïl]¤4U¼ˆ—Ú¥¥8ß;"†#ĺGⲜ…XÚƒ8Œ¿'½ô¬ßè*‹èNK.ïØïkèàBÏÖ|%ø…wãAO™Áa9ÕÏö=«°ºF)1¢_ö8±e¨“«pR-J½û€)@XvÊÆýô>Ÿ‘ :¹^jáY3#¬m¶áZÒ°Àô¹¼)â~šÁ(†[Ùâ U£ÙÌ(Ä›Xwà ¨(t»<0}ez]¡Šrúõ¿ˆ‚s4ÉV€oœÿT§8G‡@%lÕÄéÄ–s§M ŽEo€'Ï×*<„ÒkËÃh…-›*H*@Ögr˜uF³ž¡¦%¯1nC:­þšHËH‘qÃ|¥8oŒFà äü}ÐðۨĦ6ùrÿ-Ñ~tƒš`„] HyQoÛ”b ¸#›¹Cw^·ñŠI]˜žPŽƒà1ú‚Žï>ê`â …<Ëà* Ûß×/*bÔ${펾Át˾†ù §’¶£Š {0ºû! (™Œ&Eµ_1}îÚܳT’HaWÖðך…Ruµ"jí0tÿþÇ„v)$h 7µŒÄOBælJ;f8ªoŽÌ©pØiÊ$y;¡»¼ GÉ«ÚYT‚Mt®8¼ËÜö»Ž0G̘”1š>lÝ,·™äRi9ÕLÌ&|NáéëREÁU,À‘1ãX²ê™è³…¥Ûü„z qfü¢Jdd˜Šé¤ÜPÔÁbvïE)±_®W®3¾ ,¢è pZ¶LtòèÊcÇ-èèÂøJþ×Ý=$!TH],Wãƒr±Ûz¯é;Á™¨6òâþ.Z?üû¦l~¡ðs°×ãã3¢®æºèbKÕº€0´EøùµT}-×Ì ›dóíûÂXHg ¶Ym‰·²®h"þ.‡~0\\)ÃÉÊ3ªSžµ~C¸Î#¥Ö'bÙøÿ9lD˼‚xÝ’Áù©½f! \ø­yžB@uSkII·ÂÍaï¯+±H'±(ÕU°\*,UtÜ9<ùŒcò•œƒCîrh(žÑmy„´A‹­ÞS‘;±ÐZG€K—‰ É̺ì~še8Ù>œ¡axÔ šnXRˆÿ™?&‰AB?w† 3î¼û YžUNM*4]þ”ră.*~wMÐ&ç *·8 zãÉv]å=Ç—%î …1±rJ‰ÛNTu˜ØZ[P…6ºÎ|¼ò21haä.Á®öš|í?…l"'&߃ÊQ'»#‰ª£*'Pw/Ù…Ž/VWP‚BÇ'Ò»o‰w²—s‘;&ÖÕ$ë¯] ‘×õ}Ó¶Ô§¦Ø%©k÷ŠK¾åçFÏð±JÂújEmî¥sš-¹cPB­ÜAÓn1Яì4Õ›¸1mZ.ÜL?íàg^ñÑÄgÚß—sÆÑ;as´~tn¾ßF %¸¥Ýž.U•p9ê²F/ÕwVt Æ×nÒ‡yÂÕþü5ƒŽÝήƒˆáRœYœ:¼Ÿ_ÍohéŸ#ß‘ä°Qb¨Òc4õ©šÉ^Ÿl"` £!õœ¨³ë̼„}òì;GÇŠ§ Àwæ){*Ò“á·Î„.ЩHÏOG˜s\»µ}“¦ïlÊø­ŒãMs“6Hq)å¯äv4`ÎWwõŸæñ‚^,ɳò—9ÿ‡a"dÒ¶ê˜ÖÍWÓì®þ}Wh áõ9‘ùÆZ~gZ2Ç{ ‘RÓZÓÜ=ÓÜ›=§w#š©–Ï ÎYjó=TöŒêkçÝ.-ÿ‹ö3GªY žIyôOkþX|ò$’{°w9ôŠuúLê”Ø@püà]“+'•šØ_Ì•¥ýÙ¢#ÛÀæ©dîo‘·ÿ<]‰n«Øƒ¼"ܸ!¾#§/ Ê"C!ñžê̈Ípee¯÷ƒÅ]¨É˜sOszµ£ÂÝSOƒb‰2üÒ0NxO9(»lyvþ¿Èxšû(–Ÿ[ÀØOT#ƒÿ1…J¨ú×Ç> ¢ª(ÄO®þ#thVuõ27¦]‘ä±5üfCO¢µ˜F€Á‹ÑgÚ³À½kBø˜Oºë(T낚'> æ œ”À1Ò„\ú¡/  ßJS¤Àû2Ÿá&&4ÇÞ=ÜvÌâ?`At³¿\9Ýn~C50–d£³ï ³hcÅp ¦1ΙØ&¯Lð‰Äb+ÞƒCdƒ# m1›TËÉìgÈq-w/ ÏÑ·Ò²I«è& #ˆ»‰Má¸w3ÕÂhE!êS°sÏR\QÜ ŠR[60Ô¢IÞmç5ŠÒ~žC"¿» _þëo92ÜÐ>o cx–© WžÛ›Õ jÞÃ~kw$èU–êɧ˜ë ¹ƒt]ÝæF%F'ñ±´çuyÖÄWw©5f_ËkÓ%FžÔ«“@û•Õ2øy;¹“zûqõKòª„Öúe¸K4F:Ö UÆJª¯B 8,G¯4.3m6ܰùÜ©ýDË9¡Èâ‹‹ÏPiÈÃÝPS ˆ¸ŽãZˆð´S&ÍœfÊKi§¢]çÝ?[Þ{ÉSú¨¬Ä 5öêB;Û2S½—íåÞ.ÙuF s^âÓQÁ?ˆ&YV:U¹t¨Óö*þÜ󼆹뎓ò Ìy¿É©¶d¹ß üW0N¯3M\¢þÍ–K™î³°­¨O®•þ¼ûº¨qÚ´ãQ¨Bjô'ç—ô„û?õŽÝ3&p¦Ï•XrìÆTõvUSGê­ÙùèÉú ‘ë.7~g+YyZúg¶êq¨cDVàæÇ‚ì)j‚GêwÁjUØ»VäòÍæ©o%?Ývó÷ŒÊ¯ë=’Ì8ž±|+ÆE&1%Eêñï8ó¥$…5bvîõp[΀I¡çÚcÍøbÅ‘…Gài.|Ò”•hÂ5 YÛ8ÌTô–n™?)J(ªrôÃQÏØÐìW(&ùͧÑaf“î—Ç.7û¾öY=Ζ8êRñ3ŸË¶Ú7Xªd‰§JhtŒx¼–¤mÒV·f¶¥ém6œ[²»’ÑçÜÔ"e[¢pAÈLù¸þÅû ²°/º>K§ž;tŸ%=‚}g˾ÔòC$ÚJSm˜ŒÅ+¯œÿpŠÕƒIW**”BÀ—Švµ˜o<+DüÀDÏO™e¼œ˒Оã©É󕆷î HÕɃ¿À¢Ã©bEZ×=[Ø;Ü0ÑY«R°êa»-ñ’ƒòÎLWׯöáu‘I 9<¸³ë0&÷ëÅ1[B8n™ Ÿgõ|zB— UÀµ”˜Æ5$‘ý2_Ö|ÐgÏžhu±£ßoEu ÆöÀà¬qù3Ø×-çû¨$ Ã2äZü6nRßíº¤°áwº:Ūä$5´ü¥`ÞtåëšjÀ˜ÓÛ-¿•qÑFÆÍÁõS½=ø¬û–.Uè~[mR°´9¼(dn$m (àQ9³ßëìm1Ä(*4lJÈwlÃÎ5ÿâƒï€¾3F——3,szMjWù¨§±cnÑbêR.k–‹ä*—A'Yî#%qê*ôÈ·ñMTiGp4iË{óƒ¤ðÀ– q‰ûy’‚@Ër+yø"ÒºQ×ýïÜæ&& –2“ ÝXà txJ-Ž|I{á<Ù€0dÊnçq6uóû›YÀ=,tðï^ÇÕ*ñ5ñcÑ­ô]-'c˜öWt=Y³ùC+ÑrX¹wpIAH$݉oÌt¹»ÛÕŠÇNˆAiäH7#-î@ò†¼kŸxSxJiØ©÷«B£þ5QËÝÂ̲F\Ûç5»ÈÖÌé)ñŸóä‘›yþ}—àòXŠ#˲(oÅÔãZ™ÀÔ64#ah7k2=ª¹!Ü«îeùO™yÇLði³Ýĸ„îeµ. ­¹¿† Öh1o¼`Ákß Qÿ\¼ÙÇiÞ ?ÚU-­X—‹ê<ëáÆ5Éñ~pt“²møªþXªpF©~qtÖÈæ`6uW™€Ð¬«•ñªzà÷9ðâl£g)<«s8ܹ1¬j‡)ú jÜagû²³›¬ ‹qêG48Ô‹ø–3FÄOÉãÐQñÇÕc¤¦«à´BþŒÙ1ÌéÇ=÷ ¹€ÏÌT|¢‡bv qûµÔõW7iäT£FË‹UN~”ÞЧW·ÙܰDX´”MÞ÷kè“Á¯ Ë6(­ä²ýÅ5 aÎX/€zê[ìTCÐ4ø”^ Cd›§qÀ„™Æh«¢GX˜á˜)‰ìH¸bnñ!JwŸ¢O·ë•ãÙíðÕ;ÕÞS\RãdqÈ¢hpVx²-ß\«ßYoæMñ˜D yÊ}L"Ƚ¿ŠÒ‰{:âA>Îñ†*ž":¡ެóØD ¶7_êä”pÏ!'0µŠåÝE(¾çT’‰f?Á‡4%ZmìB…ø¯ZpÄQ*°'4[5÷ëÃô]©ä1[Þ–åÁÖªýçJu"3];7çínÜvÍ*ÙNX\æ¥Øö^Ia‰Iv݃Þ3ƒLWÏs;‹äÇw€m‚yqL¿ÄE x§ ”–H¼Vðž+9¾tT6’dzy9²œýÂÊγø%ã‚éjK@­©X½yQ" ?skkÔÊÅ´%¶Ë++™ÑçB1–…‹xN ‰ ¢å…f¹]NõÔò4ÙðÓý˜cÍòG0dRÆU sõ<•ÖãÿKíLa™Î§éd²c´&V(+¯i »Ät¯X›© s„™–Eø6ó|AÛ ê9Œó<$dóÈ/"ï¯]ÎÓ(£Õ•æÊ ‹ìÏâ· ¤½Í˜¬¨2?óÁRoiã+Ò±ˆ_ºYúÛ“?“X`$lêêk‰©h;Ÿ37 ¢.*žˆ’IÎÇ~s zu+Jи¦-¬–0±2˜Y°f²ùïL Fmµ® °fîŠÍ­F§XʯDïVx—qØ„.M€ârJÊfhÆ#dp¶üxun’EŒ¦±~—»ñNÊØ?p?S¤Õø\. ´Oáë‚Cbµû{[ÙFÝ Ø¢m†ýÞÓØ6Q¢´Ö»¨KÅ}Çjz?3cZ‡°ë«W¬>òl~ösÐö!Aµ.0|:P?&[øN/Þ.)×­³¾8Z§¶ã)³š¬þs>,‹±Ö@dÛ%ošˆ`Ù’dàåõîÇU6v ¶ïvDòZ_Ë"%ªVèo¢"Kb¤ŠÈŠa´58Üó†@ö“ÎO øå“)ù!ñÏj ucé[ÚêˆÀ9Š£»Õ цáyCS›±ÚG ç¡“ wa95Ed£&ÁJ›‘º2ôVáøk“£–ý_°Ñîóoúl'Ë.'¨E #Z\(zMËÀ¤J«B½f;K’€ÿš^žÓ_Q8ù£ó±˜lîçn=ަ%YªÉ”ë#­ÿglkÂß÷-ÅõÃ(’÷û)5|÷”õt{s{‡Ï‘Æl÷C½¬Ç°†EÈä¬þĽ\L X¨µŽ¥ GñˆwæÃñyCü.Óâ¯òP +òEÍ?é7Ê¢¬/cãE¬&_–eD2ø‘™TÍk­óã{áÆ¦Þ¥%®”cìªKÀè¶«“ã„°ƒ¾ Á¸Á4ÐRk,­C`AÉVÀ !º_S†Né¬üâQ(e1DÖ»¥ÆZ½aài µÚI3Ρ¯f=‰÷…\×qPäë-é§Éj}š{œ‹·O‰ðèã³lF]Õ¾­ Q1Íw ~òÔ{¢Ù%âÖ43³ä%½\„gÁ§‹¯²Ìgdë@z„˜NRpQkÃo¨Ÿ%³of{G91™îó?r)8ºÇxâ“Ô(i;ÎÿucîÒdz©¤üú¡Võc\I÷MþE±x„ÎÛa†Â;ºçPÿ 4,ߪ‡­,AÝ"^O•íÀɆ×=\€üóŽÅŒ¦EŽTî0òÉ1¦  €Õ¹)HU?ÿX¿Õ*ø)bÈ)ÅÀ Ÿzg,îG 먠FbêKŠl¶Èܪòƒ‡š’Ëš²˜}…O7˜ “ƒfçÐu¡qÄ,;_1Q‹– ‚¡=-B3HßrÃe>k^èôŠL÷ãàûa´àJöÈÉúLɸ*QŒÒrô€Ò—lj“p©Ù³+B;=#•®þ!÷Jó Åí c¢äMæ¢,Õ‡,*\jA`Æ.ÛC}ʘ‡YAI™,ŒÑ¦`PÏ2þzŸe3|ÿ‰ƒ»³£eèÔî(É:{ï7é ìiäp¢3‹ñUù*ê±StŒ˜ë;ò=ãh2“…Móh!Á—üp½6Ÿ-g\qŒB:e(öÕ0µ¯C‹£“¦ Þ÷JÊ9"¤j&k΃‘œ‰E|Øÿ“<[‡î‰+Úi±T^£aÎ#“¢º ”bOÁ¥×¡j]½#ð][Ó3 TÚÒ5¯}»kïè=”H5ÌÜ„ £xD±¹óú7¡¿Ø7-݆•ãä„Ä Œƒ°6„Þq Öy¬ÓT±Á¹•rY“tæÏ…ÑÖQ$Û×e£Ëå<Âê/øÂÙ Ùvý-ݲ†G4–^É"–FÞ^ Œ{¼% -˜Ð,ÔX%Üù4À|ˆ i6BÞ !M>¢4ðê–‚k}›pÅý¿ÛoÎþÃWdIŽšTHé'xóR«B ÉgxxGB—ÿÙê­mËo“ 'ù«Aë1µ 4a;’ãJ:—_J% 2x;(ËUH`¾Ï¸„Ðwç¼ÍŸ’B¸ÆÈÔ£ 3Éì"òÖVÙtM¤K0A~òäî³14mȇÌpÅzlߦ'dL/ùßHÜš@k7P©z±eàôZÞû_µQ‘ ÄÓpøÆùNPÈyÃ뉡NÙz?¥Ut=¯³Ájëkh?Aû|ûW!#¤©ÝžÛ5Є»·˜Â\Nd©iT_s: 5çJËõ+yH ±š8NWt™.²q¤vevlW§¥ÉCÛšñâœM^DEÌÊMB£.$tÙP.6é-eqþ‚^ç¯ ôˤÿr[ä@ žÀ%;…ö0÷C-LV\ñ©#Á8.Tuï€:#ð‚¿Dúúî’ÚþÛC%×Ç…÷åšdºÿĆǻѳK#ÄKãO d.‹ï*Ú\ïvVé¥gZ¸¦Ñ >Tz¥T)~Ém†d``‹Û¡Ö”Ëhé¨ÛÀæ3E+„o5œÙØìeköòÝ™:°£1‰ 15<Ž@•Ñ J¦Pï)öËgÀLñE5+Y2£¤6"¹iØ‘ß '’C!J•Z¸ž©@&KÁÑ¢bÇõ‡ cLŸ î¬4—ƒþrHü^×@¥>ö?k: ¼©}Óc8hº—- Á¦ Y,V~HœäbÈã•C¬gE6ù‰Èmf‚ciq§Ç/ŸÒ0žÏÅ+«TGºÓÚF,µj7¥¡P»Ö#âJ>LíØ,“e= ®΂¼„Š;%ÝxDBx!]ø÷8¯Î†’Ç•þxlCñK±GäoQ»h)RKç»Ù‡Ê¶ ‘)Él0¬ç<&zÒRÕÏ ˆZ– e“ãJóÂG½E¦QÆCi!V Ô>&Ó<±(0ønMô HíØ”,ûÓ¨s?A϶ÞQ ¿ö¿Ä½]k a¿•¥¢Òž¡Ž¿f(Œ8³àG¬éúòÑo ȃIeŠ©Vý×NzÂ1o‡þH@;Öz¸Nè!.ޤìPáŠs7k:Iž²Ù Ô¾'Yÿ–/QSUަ1Œ)OÍQsµMDë}Èvºþ+‚«‚ ŸÀþbVE]-Ø_®…¨ã濤Cš†J¶ ’lhn•Jƒž¾ä|‘ô|Þd,}ª³4&ÞEÀÜÙhóÃx9Žè øyqiŸ”0_ßÉ9Ö˜<ºDÁüÂX-¯Z´ò|gÎ%rÐçœ~‡€VD2ÃeÈ£K–SB° M¨?¿5ÞÜzrND¬«C£xŠÿ3Á2$?y@út%3°áNT?ÛµøÄ9úpd’Â÷¹ç±€*ì‚Fk!dÆ1z-ù–‹S•ŒÂftÛCŠ„HÉáÂ=ƒzÞWƒ¥ikÒ®Ç b8ã€êŒ×÷F¶YŽhÈ¢ˆ>0ã\äÒ˜ræ³nÎbza–Ò?ÁHbÔ€ݼ–f݇­Àk¬l"¦ÐN‰sÎaKûšÞ"DJcƒ»Ük;ÚT¬O¥5GéFW¢Žµ`ØQç¾â ²Â¬>õІ›bÖ*ŒÉ¬ƒ0´ u¯S—#»×˜ðð5d>ÏöÉ÷f`7ý)'€09!ƃŸÝlÞü¡§Áˆ½ šOqµÚæE€¥‚å!x¼TÒŒ}ˆŒ•µneé©á^ÁÀe«K:$:™ )—¸d+3fÝÇ)£¬œr¨âå±e#%‡BS` ¸­aül“$©ü$7þFNN€ð ÷ÒIPé H›UýËÆ(JâPZ‚ Žž¡zXì…wS©Ó0ç`S4±e%^t$¯‡üö¨n´Ä'áÙ^Bb&êÃ9r°ò­}ŽkÏß®¥zD“²«ûõžÿOôxls0ñ£Æë¤ÛïþCôQŠ/ì{î¯Ø8´:yò,,åF_‹j´&ø70"¾ä¾H´nüRX\'8FP¥À3ݾŒçæÂ ß»•;žKëUÏÑmÕkUxGµ*êÐ|´ý V~ÐsQû¾õs¹Sà,Ze)‹ð«×)Nx6¸æÚé’¶såGuî0‰qàªsÛÙ8~îHÃ<Ûùþч2P6·á Sô}°Þ dþŸ¶ˆÃ+¾h›Á \üº÷HœiN“%cU–j<ºV!oܼ}æLßï„Ø›òÕçÌû;|W 0"±$ÜãIh×ÈÈwO\—á„¥b\“v{>õÏ[0UGƺîgB¹ ßÜÿƸ2ŠTwmÊ}Üx÷]NÒŒb±òôõ(ÐûôdFP£9  ³Š`PgåIîâ,UÞ¯N}‰À–ôar¤m‡øÔèAYí6ñký¾eD}ˆÁ]Í|éU%¥ƒA€¬ªÊ8Θ·«aß&MÆò%`ûn“k‚¤Ö y=BØ<}]OÅTrÒŸ´[˜ýàžñ˜ØªâÕ?„b£à€¯ô‰)vnoZ7¾E'ãÑR0b\C•.g:Ïm^\Û¯L>œ#µ–_ÓØÅ3ËE²›PO“ôc€Y®J¿A6ÆÇ„ÇxJíânDÑQo€_a¯S½*!*5Tƒ'0AÑN>,Z€ø ¤š-=ðC D³ÒœÐúàþàïÃ$ì] ×Ñ*WÚ¬b ºFÐtV‘èb¨–(øŸ]¦“ˆññ©p¤~šf—²dÎ߃ñ¹:©dj…¹F#xÏ1WÊÇD‰¸ñ”ÐâǨI²Á:oWŸƒÍCS­±ææ:â1‘"R^„04TÓb„Ü VÌ*3jü‘˜b›ØÚe‚¸2kÔ#2ìBØÕ?y#)çàºÅÕ÷ݶÞ%íÑÉ9áäW°ýG\¸Š[ï±M¤(*!Ÿ¦ÑU´û߀BÜ­f´*+;dYæÊ|3ƒçd€ˆyƒ(³ünß¶íÀºÉLêïA6‹—œ‡Ù¤]¿|¿ï*žJ$RHÜs Öc½V²ÍðÀÃx£“ï­5³5ÎéPb³žš¡´]ÇÙϻݴ‘ïÑß—t™¯6“ª>Ý1D*ùâý„å$’Úþ´Ä\f9‰õI ƒˆ‘æZûM¶IÁa=Ûó™­ µ\NŠBÎ*zr[¶Çò?–Úä£4 ¦š_™'~  ø 8à—Þ¤Ç!³Tél0œ5§ó?c5'n‡Ù ÛúE\é|¡òRV[‹^÷üó™M§Q[×Ñ:vµx.ù[ÉÐMKåêèF·Ž(Ú\汕½·-<¦-P¸(efä·Lïc°5¯YÅ=>€¾”zz#f9ºg”Þº* ·tEpI[Nù`LúÎÃ㔵g9¬Nˆ»:K̶ÊZ³ƒV£Æ¨]¨Økc®IK\«­'¸xS¹JòRŠÓþì²9^¨trüéc‚Ño´^ôõXyÚ*uuʩۺf¯£Ë>F‚Àº™@’Ñ+ZM)Ú™5ß3G¾ ˜G–ª.p´å>¢²âí¦E¤‰…¡¬,ë¨f}ÌÓ]ˆ°Š6ÜæŸupä¢Ð Q<S× .ȼóy0¿°ñŸA,/‘LÂS™73µ¹PA¤gÅD‚'‚ «Œ9„^ñ >‘\ë¦ ¡Œ05“½¯¦4RwA—§®’¢9¸“Ðí¬ñžH¶Z]#›6…ÜÚAL‰Þ}ÑØ7šÍbmÆ”á9wÖ#Ë”%^ŸÇ°Àh)Qr¸É¹x„óEUEZ”GǾO‡Û ß+ærþE„r²DãƒÂl£uÎ!ËïÎ×»4ÀoL¶ADòEÈ?1;\¸€ús Ì Ôk‰ÓûªDOÍ ‡;†OôèU¸ÙfÞùTct:zŒàîï/M”…•¦ˆ[¤ÃÙ4e´©(G.Uª)EtØmÒ¨V$ÎýEzËëYÙÓ’NÜ£Oj›º6Âõ„—q®IÚÈ)$ŸBEÑEŒ·ÿU͛ʀT‹a[ç¬Dƒ†ôFœÛVú°y•õWCáˤg³xp9X¡¬(¨µLz{òòù Òä²9ʺ´eé|’‰~5=zŽÞ`… ª{é ?ã›—­«:€°õŸ¯½ƒë¹(°–¨fU>rã=÷žIÄ®)# C~B”­d |a{K®`í”»'ÝzÆó‡YžI£:Û*仮͹®±ÜPA¤¯‚å À»à«ðŠÅG¨ÍÊK“»ªÞ8Hä ó¿0pÑ/ÈÁPª£χ"$ •r ~¡„$(Ö¿ÖÖ‡@¸îÐ’î_ ¸¼öš".}ÿØÌÙ£Fkð•„Ìôñ&ƒê‰¯Cy¿RY¨¸mRèc©œçkÕöS­±ÅÃf^|Þ^ØÙ8lPëÑGªÄ±8TŒÊç>m!”awC÷`˜ß=‰p¢PÔ›¯kR¥j‘5x;ص>é§p3ý=µ?G£ãq}µÀ¾òïäsð¸¡E"é†+Z­IV¯×¬f‹Ïºp°W÷QÎ,VTHpƃü-ƒLhcé„¶^h®æVj˜Ã‰'É&uc_u±ÇN¤-CÿS³ÌÄ:iðcƒh¬Ê„¾?yLG‰Ü#uˆÂŽQø2]¶‰Ÿ¥VÂ&¬AC.g:ûûY¶Ó94‚”LœÒZô»0óú<Œ2 û PÚ¶Ñ%pð_ˆ\¨°çL†¬YK)*´Í‹nw-9&fþfTɗÚB¦ÉË*f–@’œÛ[Yð”õ0ÒÛÑí+ôƶ~œûhC·•ÝU…ë‰ç¸ÿ-0XË ¶Ômå îꛨ0TœLÖ†2,3ò4W´ýÌ>fsñÖáÆ{ílÒ}kÊk[¤VÿQ>‘LäZ6%–~Œ¢_\pmѽpQÅgçˆÛ>bŸÆ8Â<X‹ú8®ìí a¶Õ¾.Ôôɰ/ ïøJ"±ß1Nûûqy çl÷ócŸ.Òv—D’6?–Á¦!G¶!ö)™aêodx·@H U;/dK1Ž8[•Çì¯'̦pÔRèîøTì´ð‚53û„÷%­Ö›èåu®'W[ p„ ½«°|x-CEÞÔÈÌg™P ýš^yÜmWÒ¤çvä„].ƒ»ƒÄAEÛGr5'D|–Ý¢ƒ|EÑšX6ÀØÓë”Õq”óœÖYŠ¿Bq…4Þ ïM^ò°Hm–üúQvÝÌ(³/Íä,‡j,9/» B±«0,{× de)Š‘‡?®Tz¯D8Àž-T`Ì쉭$»ä9|ûîO.ƒ@Xx¿þhÎzy'´ž“_µÔ/T.…Y»þrnzœt¿ £ú§»l{¯”b÷îù~L15\)EÙ}®o•ø]U`Öšû3KßŽŠŸ[µøúp@S׋ª‰D¨êr>§“ صáÏÿ}噫Æ1EÇ A/lYRY~ÍŠ-u iF‚7!`aø‘"IØÏ! œ–ˆ8£ÝÑe¼Ÿ‹õ=4N¾ä6‡È•õ*‹ó9€©(éaŽÀׯ+C§Ü†ì-TŽ­[CˆEOJ!¿BBžò•€ <¨+™ÿ³&…ü98E ƒR÷|8¸Õ[1ºsmÊÕº¬ÉÄŽ]Xˆ§ò˜+•„òTÄCÕ(9§+”ÂlÝ£˜_ÃGfÁ:}ÿÉŽŸŽ&ûÞ«Y´_»ã3dqF󶨬stŒ‰Øs9„3œ} <ç*r°·Ú–ýki×ÎØB[í‘§8 îÇW¼)-†•éFZIu OöôÑñ`=Bnþ‚ã,.ž0ŽX”’ð/Sâûà+~­•n±tW•AêA‹Êí6RÊe«ÛQ8^Ï^O#TÁ‡4\¯ÂéÛ7³§ h¯®(çú¸5ûÚ. ­´¬Ï¼,ûÂÉhq®²ý0‰tüå¥KG«±2&Ü®õ"y2Â}lìì[ZwÈGûE çn×€lW&†õ_|ägõÄᱞ¤Ã?¼«1 ¾åM/1›øQ…ò©evôûÀ[¡ì;M/ѱ \­’Ñ’ÝJj0Es©\—+WºM:‘-™ÝQkæ×ÇT.ÂîC€ø @söUÈ˨WRÛôùZëLí,2+Õ/ü¦Ý.ežÓ©ÁáÞ}uFê9Š_kÒ ˆ4¨µ nûXŽ"ˆyø/jn5‚Zm‰–­ *å¥]ùútŠòÐ4¶[¼9úwî0bèò„3íZ†”^U׸ïšÓ3ÇEB”[ßvÊ:‚Uψä׃Û­ø{$Ý‹Çï´‹?ÜuòÁìÉMØ}4Ç%-†Â÷‰*ˆÎ­òVEqÿÇÿ&õGW±ãÒ‚] n«œú/?üá¹Fh ¨˜åbFZ£˜(ä %ïÜ.™·"HLT¶:” VŽ+AGÝÉ0úVþ}ìB4ôSò%d.UNP£ò÷Ì3±C™›•'*nÌå^úØôú”z“ÊcÜm‚èø.Å¡1*Ô¦õÿÔªx»Bš’×d"/9£ÿÛç´bE‹¯ók¨³!+—Tâ[ ɘê„ âNèé»9ü0f%‡FW©<`éÜ„X‡ú¤és%’,:𹂠þ…½hlÓÌÁÆÅ2ªl™-ؽÁž (­,ÄŽÍw¿t`µ(äÈÞ¨ñäø†VV'Üéfþb3ïÑ{”`®t—·$V}ÇÚ΄ çíwy- r„ÉŸcÒ§ @¾¸ÚµÚšÓdCJe¢ÜEI÷O<·‘Û£®c”¦+.ß‹ªkO̱.¬V²þ7\²=«øÀÊסÙÁæöbÎÜ7§’ŸOeÄM~ š(ãËBÈÖèS=@Ðߊ«YÉpº’ é%–€ù  É 7 DIùEï¹áV˜…öJÀgâEwßvIðý®Ú:–[Eè3»éÑ<Å @αG¼·–ÚèÚÍBm²–foýGù+Šý rã]í)É_W÷Ä‘0Îåa¸§X;1QÁûû¸Â¼”œfO: R'AâÜÍDy*?ݾêöÚ䛯–È*oM ÞùVh¦ “6gô8‰~‡{œ2|^?í¾"A okWýirO©“¥,z© E[]å˜ít² ¨þÎüˆ¥C ºÝ¹q:K6Dàa îW7SÈwÚǤðæ±ˆíDäJ¸z¡#n"Ò>sf pÜJ’Äe=°LmBdÈ€•¸å/*.¸o²ç¬Á%5ŽâyàµZbss™Å».v®ü´N )!³Ø¬#„:O“åçt&HF²OÁZ¥|o_¬SE­«pÝȵ®¬e1ooÉ R+`‡íxC¯Õ<¿ât?ùÀÄñañoу%À/¢‘®òaiìõmq¯ªœ7sžÜqFÃoRï}À2>Ë®^òy„LrF¾R6;‘¦â·¾} ˆÔtùt 9¬¿Ë›j€@VrÖ¨GÕ¿wÐO}óêÐN剭G‘nI˜ÌÚÕe32jQv÷RÓâ¹õ»šÓSj€ãЕvlêümit<™9‚µ Ä&î¼R1Ó©¸V…ÄÂ6Û‹†þ0uª‚5a0ÉX+µ˜…ýöFB×’¤UB¤ÇAÜBU˜›Á^ÜâÁ¶ø>…êßÙ¯Ú*}džÉ¼s †С¼cd€P*#!-æ ɣў¢.•—¥˜ÑYX^ }oáÀ«XNzøkç2«£:·-¤WB"ÇcÓBgÊ›J“$ÃÙª±îD\ñÓuâµ|sv&7À}Dº­š @K/)R÷ÅwjáñQ§<ÍNÎNd¡gÓd€5îH¬~ÃaIÙ«º¥“ ºÄF¢»a’ÚU«¥'b¯‹à\/*¤Ä;?¯´ãÿ‰Ö/³óI&sés–¨÷.âjIN#MÓŠštŠÜðÛè·ËEÓ ¯…ȇ~S {—ÜF¹ÚÆqX •á¹è¿M5X#ÀÓZ¬)àõÐm×Gú3¦LÙ ¦—OñÀ‡)9<ÌQ^‘ÎE‰Gï.¡JšóŠXsðgy+š²Vºu0 ·¨Iɦ-YŸìóp­8;°ñ’á2‘Éý*~Œÿ•>ldïà¬3±GÚ&™I÷ÿ¹.Ê€xPß~@\´w©ª š°Œø&Ã\\€ö­Ø—CÜÞÞnøuG{§H·Ü`DNØ‚·È€hbÔ'Xßϼ 8±£ÚãrdBz!Õy/ŸÓ'ö,ãÔ•^¹ä‚%M=Š˜…À¤&ús1º`RA@Žü›Ëo|]Qh$X¯ùºgqVð9‹Ç\\é4 ÊH üL@iýŸ‰R¾J&07©_Ÿÿ€)äßW8'ÎMíw‚$*ºÊU7úïι}ïéóbH¹¿7¤šø^F¨n…hKöÀÀöß›”AÌ6PSï¯ULËÈÛ[òµö×ÀÉQ ´x†ñ•å½éþé IËa Éš+‚0ѵáK) jRœÔWo-LÜ(oãY/nãË`N¯_ kÞø#‰Uü\Eñ,úÓ²xÞŽiR»}öaújV;íÜéÂ=Ï¡t¨¾‡î;k4ù }M¡LpÑ&2‚7¶Ë-ž¥Rî‚tŒã,D#Þ3 w€@…í[îÑOJ—­«`ã& xÙiµEãž:gV’ uö!ÝŸÜ¢QgˆiØSûvÑôÿ]!Ï*ó«CøÍZnMƒ 42´+PÁþ<£.¾Õ”=Ê<彩$@=çÁ*Ì÷aÑý½¹@ Ã,,Ì’î«Å©+!Q‚7Bĺsj޹Ô\ŠÌÖ0?ˆ±LÁtב¨I!+òV¯ð‹â,™S3½Ð½ž©yØÒ³@^‚÷ؼ͉7dVx&?BñÚö5^5ê’ã|šä®”Õ”n:WŸn<ºu œexh®·¹)«°;/Ú÷vÔ · ZªñкÆ|÷²èwmAö”½¶è]“F£•‡0çCè•pfÛ²àlsAÝí°÷(ïAöÂÛÞ³>ö¥wFOdøªv~“vZ+# ÊX9ÿŸãØÊ¡ßQ»zþîPÆnÒ Y 9˜‹fLYÝGzdBÀÝWS«ÖÕšî¤'Šxa¤%ghî¡G“:iÄÆ[=o‚Ÿ2Û·ÃͯÿL\¤\ºé×ÿôBÉRØÄqî÷•NŒ>À'œ®Ó¬jAy Óš@-£ÙŽrʺÊQ$Ŭw…ÒÙµ‹¿úØ3´ŒÑÌyÃã'H_=g¿^Dêû™°hOÄ·J†QæÚ„ïà&Ð|yAœ×r$·úĵÜ(˜XBhHvõÚüü x0A«•§¨qA]Ú£¼9#2Ľ_ #qxZI* ¼Øœ$Û¶¬|Ì·[Rßt'¢×–ÕýWækìÓ ‰‹³I¡I† m!› Õ2ff"²ÔQxCS´‘[Në¶­ƒ{¬¨çÒyêúqOGRÎPh¢îŽzo7-¡°®‚ä­…<çNsL(hƤYTñ×9s+NŦ[°½Š$ w e‰ ³É:´/‹,žúA縄þ~^o¦-hÿ¿Ù¸2hYª´cQ½Ñ4µ%Ù½%WJ³UÅ0‹ÇÃïf ݉¿iQ‘½s©Éu'ƒkÏÑñÝp!CŸ¬¬_NÅX‚Xœëª >´Ö¹êúši b~úúI#qÕ,p¦|591ÜGʦ$ÿ{ÞµÑcýr Ó’Pþ/Qî[+X7Üo0ûZ/`õú‡-Ùµ=%×ÉÑ´¶˜,fË™¯Næ p«q€´}gšÅ οB8/Ö48sÙXÙÜŠÄú ù²(G©¡>átp§‡Ea¯Z’EªüLº‹:¶!=%½óBP3Y`ñ3 àÿ  @ÇÖ €±Œ¾·¦ÉÒSà¢Ñ‚’Ì…urÕ¦i5Ðe˜í›^½þõ¸°oÓ©7'â¦YXDÐxvlSgöZéý Ã8°EDå¯-wÌÒ/5Ëå±­Ø Q†MvŒjläÆÊÏ@[…3§A¡]Ý¡¹dÐÖÉ1ûOê8“ΓÂÉ}œiML Åè‰yU{6D¹úòÐØg ާ!…OL ß3±6ó3qOÊóú<¯•ZÆ*_QŃ Å@hU£­Pœ,l /`¹ÎàÌ^¥Àæ ½™Ë{,¯¹ê:1*«€ŽtNŸÚÕ¿åý|IŸMø /gë#´4ôÕwþ¦"dÖ‚÷]ÚîÛ:l× W–dسI¿úbq–EN2¨lrê%O½+ÙkTk_Sjç¸ßåwËP³:dã‰ØVøÁÆ7Ÿ^©–I„<ý\† Û²3ïüÿ¿¯"vgŸ…ñ©·W¹ˆUåo—²+œ0²IQe\Q•ÖÂbrÀÆÑÀYíÐà˜Aøqsc‚çù@;=IncßôAŠAÁbv óü‰0°¡‚$Q"ú‰Dü‡U0ûrj(T„iÀ=’ßZ= &ÃIò·¡ºƒ¤³˜5}$³7‘”Ô[2ƒãíEÃÐâê¿©ŽÈ Ⱦ ¯Óÿ)°.¹pêŠ!ôïp¼þfù*¯©³ùÀ#^_.“B²€¡,Eª ðª˜úõÙ×ËQ7?F¯ïÜÞLép“Ì{fÕµwv‚àGºÍê˜ûÑiô ‹Õàg©ê0-¢°Šô .'g™*y<£\hk6:dS Èp"lô ¨¡”Ê|¼Cî~¹F ôª¹¸·EQvÈ@z«âMh¶þ–b²¶MÉKvgš¹Oöe\!︆ݪ&à˜†‚ykf7~Á¤h_i9ã™bÂíÍPp?,½ëAB–O•—GÚŽ´Sp»ÉÊ”×w¤ÃàúÊ ,vå2 }$}#¦È›ðÿ‚lZ={¬³xE¥µßËŽÅR9>'¸ê#q*ßÃÖËÞÜþÉ¿‰ÈfiÏkEL ˜¢œXÎ%®§mµ}ƒoæ€Q=–èLœ¤ca½ÎÇì×¶Ö{škMnÖâ2Ù,ÿ ±G!÷ ¤%j…–9¯pÊ\›õ0÷ 6f6½O€š¾’“e `j+™Û3¶çî¢ì–JídȨ›sÝc6ƒÝãØø(É·) Ï4H‘ÿÏhÓÕ@®¸•G™qYP¯˜´ýkÛq-ØÞ )eÉÎÀqWwÉë@®’+;ö±s' ©}·H¯NßãÌô¦èë¾Ëùúë²vzÀ!DyÂwªR¼2^CÓ#iŠÂf“W°¼\6ùºÏ£ÞY s9¡ É ¨A;NãDJØ{Ø¥Rçé)ZýºÁ&Õîn7¶„z‰´µØ/®Ò:[ñ§ºí‡¬SÊO<ã`åÖT}…j¶¦þ‚–ú…2ÉᲕ+ë‹@Ì—kQª‘e3Pn*®@éO7!v¶i KÔ>' X–™YÓ÷FËà(4®¤:ÀÉœ­2zck#æ>ÿñv§²µ÷»Ðì“Æã`¹bo.ÊÃ?Þo7 s#¸ü´_âãÿÏr‹3òæÞŒÔȪásE-Π#|·^ÌÿN°ÑÎÐþ<ï¦"œnÀîÒ’±aÐ]Þ“›>•<´ (G·Þ*0L…èÇô7ß1qR‰û}¨f#úÚÛ>æbç ц¸Œ(ºÑTLU¶£‡Ö—‘{cÍ'üÖF_,Cí\éèJÈݓՓ·Í¸¹S£cSËÄP†+yáŒ,ù¡à ÷<Ð1v/© ñkêÈ[zVêߘèÇ¿“îøü᜙Á Vï»Õå*ÞZgGô†8I Gõjcp)¥©Xy^[ O€EÞ!Å·ZlRsP¯ã;&ÄõÃ{_ÒKÃ_ʆŸù/¢¢ÇPüÁBÞ­ ÍâoV>Ôó1;$dæó©*–s§‰ØÒæeî“¡ŽVU§ïEx3}ïâ þµ–ƒÂûD«WÐWRÄ´š„ùGÕÁÏå]îV…I@—ÉÒ85ðÜ¥É|ŒuipÐ>Ëm˜TbLG7 õÇ'§Ò å-/!ÀCÊ„b¿8ë…Éo¬´we%žvTÜ9Hƒ®y³°©(ÉJ œýæÀ§Âhaž·Xþ ™ÃD’“ádQgƒz•Ü‹wyaj}çþprã $ó™/#˜Æ)Â&r˜OäÇš/]åèàõ†ÃI2’¼¤¿xÙÔã9ší#™_ÏÔ|"œ–BÍüì**³\‰£•SS? 3ñ ÀʘüF 1ÇãSn±7UWGÍ:œ¶äa³ÂCr";p)|¯ëèÎÚ¼W)Ÿ³…&Ü@¢îÇ+dp´x5 Ì·»Öð¯Þÿýá›.`þ@«§¢•óHü]†Y>έk(¦PAé{”H’ !…U`!¨ö; ƒÏÞRƒ¢ G ‹Í–í5I™Ûb‘¿¸ÌšìáÞ;KCàDLŒü7\f ûjJÀ¯ûs"a¿où36`Oµ¢Ì`Ø:À |샄¾1L$|-RÖ/3õÃ4 $؉}phaî´u Í9m>ntƒ®× ëÜoNŒE>ÛXŠbKâä‰5.Ê—ŠÄIPÜ—GíödŽXró4uèí¢üuÉË ³›4š˦ñ˜v§Mü*•LrDGñ%Ò–ëiNÁÍLzî—sMÓdž6OžªÖM¼{‡…¢,r4‰ªPÍ›Qö±4C{ŠdC®î "VÑ÷â±ÔbØz±x÷7ˆÈ㥱ëóÊMPÅ¥”†fûï¿-i¶+™Še AÞSô"';#&Få»›;`OS²/“–¬H1k+œ_ÒãÏ›*„ߺfŠ3¯œç{¼#¨•Û] R¯OÙêx¼ šÍÕIëåô¡™”Öoq!Vî03›µRQ1pà€ûjJʵPHœCåÿº@MÖ¹?Oú!¡ŸTmj馶'ècü±ëñë'Èk ¥¿—¥¸Ùňûã¹®àyå¦Nl?#ºßTª8¬½¸iìòqM–´1ö{|f{?Ù¹€¨æv ™‡bН‚¬gÑ‚Q35i§Õ”ªAkøI‚[$˜C™ ²aÛ>̇ÁêS¸eÕ4Wmq;n¬Á @ø[ÜPiÈ-*T$š¦Ü•SŠIjá{!ìÜ­#šü†15ÊaŸ?CIIf@± µÁ@qŸEš“õ› !|T½ÆþUl4­t„~Xü³‚²ræüuî ¶¶¹‚D[Òá ܰâš×ì~ÀNT~(7ÝYºäXi$ßãŽ®Ôæ‰r˜M¨‰"¦ ZG/«9fþ±ƒ§®XšÕ ;)*d¿êSTú³34]Ä‘žµ‚v~P¾¡rz'Ì ø¬ ŽhõÜwÅtà!S‘ýf-äµp¸pHNªChéï™ß Êð»•y~£¯Abõѹsãë³à))W‹Û<¡àµ(l¬ $Ä¡ö¹ÐwW]H!m+Jÿ°(ÒÅ$±‡¾DðÝ›ê©0;Olåf´ÚxÂÈ#noW>ê~¹PF0;`ôP€ø³î=ì h1I†#p$'Ù/g¸Û;ÐF¯ ¤›/6 £Äñô‘2´qØ·t »é‡5¼¢§výi=5®)¸’¨4êš”|±Ö#ø Á6IzÖØƒ!·ÃM$¦ŠéÍi²åÇN!MË¿=Ûk%²ÕëñliÏ\˜‹ÜÙUÅV{¯¦ÍMh_6ÕÚ–Pý: Ëžëøx^s»¦Û+Oš½Fúô.eE†?(R“¼ÎË,Úm;žØ¬\x$ƒ®\vúZÈêÍùþ &ÈòÙþïxïUzxð_±Ã&^Tÿ/àkÓØÂñä<,ôÉX;Š?…v%8B=ej,)‚)ÚÉL䱿  $ù6Ë¡ï2È»“ î ÈÍvG¿zniX N|BÛ¢‹÷ “÷B÷6á"EÄG‡ggáv)ø„}Ýyø _´q®‰ºûÂÿÝöˆUqCЗK‘Õ™ÑÿÇÚ_ðx6P@oôß~¢ªº€xÁœý÷š%ÀˆoíÈõq›µFÏt‘8•Á¦æ×VGøAù7ã3„þ9.u—…¥3&>¢io¾$u7þÀ7"×݉+¬À Ðã2DLìúIÍ$ààSÑñNgY·UN)ãܯê#ÜRÞ3R~vCKš@£ˆJkF샑$¡¼ˆ ¼x•#P .Š(ûrîÇ)ÔÕJ=ÌÑöN ]ª¤¨óܪŠt+B³¤›8 »sÏ•‘ÁEYuQrd¹¹ÊPçfjVOª4Ò2:qa,Ò.‰s"¶t|?°åãÖ%à†©Ø8»Qšð糿RÉ«ü¡º2iÄ8¸ØRw¢ây܇¸è§Ço3_ÜX]™À»ùÊñÄ”p!GF׈¶”¥æÚˆ½W‹1^@ë}»§-å“Ieý†þliÔy÷:™‚\<…g€}d†Q Hí^=¤"ÍÝä‹—kŽ­†£1ú®.Ü·CO©Òªm†iÐȧÅzÃBðE’Bñ(R†Z=h:Q 7ù|"< {9©œ¹æó\•àm+îC¤ é‡!¯DOø@Y 7ÔÀÒ·4ØçAèPmCš Rµµ’!ç«Æ]saÆÃ(h šm+ìiâ·LÊÎÇó°Þß8ÞÞÄrsóñ¶©õ5<-6@"¯ÖCЮ’iØçù6™zhG׌ýÝ[ÿ@uÐÓ,?¢€jœŠ)<ÖóŽV±Ôñ¦Ä–·2%:U dÖ–æÛû~t#‹Iƒ%J¢°®u ÃAû6_I 52Ôáâ|õÆryÓè°¦¨Î>’Êû‰vý<~ˆ År]Þå t‚#„b(8ѤLÛMèlFØs²'ˆãc7|}éC0ÞÑýåß~2´ù±kÆíKuW¯2W„™¢È-N—­áÇ=ÚÓÚÅé­Cï9ßG8µÑÕÎLFc$'OQ´õ>‚Cž2ÔÑwé¶*-Ö¦ì§N›ŒÐ½á"ô=v3²Ïy–˜AãAa¡Jã!½þ{ø–<óYòf‹´\KÚß÷'·{$ã¸}gÁ \˜P#¶ù)gº®P46„˜öÄêÇËåzÀ˜'¬ÄW1ãVÅ<ÿÒÔ/%Xæ Õ“còKŒ´ ãÈvÇŸè´z_‹`.ø.ýõ#z*á\ùF7yí˜>s{Q²‹Hò‡VÁœË{Ì;#ç<7»„ŠÞnb³Ñ"¤ê\ê.ÃA¼gv‚ˆà†‡õÎ4Ί]˜|–λ3Ôe²hy´)Da„Nà¯Þ5ä<…TÓDÁ¤³óçjÀƒšÈ¶lÓ;Aö£¸—DÑeÿŽÕ‚—I™©©ªþzè—õ2>|롃¬.ž“³<…)HStQzE4£«ÿNÑ„œ„Óß?²PRí ]ûã"ø´…«¯Qˆâ×h¼ªLâ“­„~ö[iqQmgÖXkôÚ¨RÙ ës)ŽÌDSðÒŸÈKéñãk–ø†lš1n5~€B8µ%ÝÊžG:Þ±µ8ôê‘ù_¬Äu6ÑкìhC°NN³÷åx½ H’JÅËÑr@½T›CñÓ¸Uò‰•ÎY®êì,ºÜß—¥iEƒmž¹û±Uºf,]ˆ™Ã\Ýõxç&äž|ƒqàhÿtü0 b0÷Qß7BÝówé¼Fg‚€µ ý'ì<) Ó¶vhIXdkÈøÂÆùÞcIëŒT¢Ûý€ü$JÏÍ7.}ôë‚guÙòí¥c‚€t¥P<Õ9 ´}sÓW& D]“&«ЬÀNlI’®Ú’¢â £É¶–šúîìÃçÖsÞ3g­ÅÈA®²05 ã1ˆ¿’ À9Û†é(jÚ"è3Šj]oÏ)fDÉ'{x‡/dÓÉ_%FþšÎ Z[î<Œî¦%JŠÔ5e>׿QUóå;邪2jÖª—üoæoå'Ñíˆz©“>A:ÌÎù¶¦[sÚ=œöö<Îçòé´Ûƒ8§Q+t<ºz¥mûìœþÍ*Å·iŠTWCŘ@%¹¾wé!}Ò¶  `¨¨œ±=^=6˜ýKZýXÝ8Ž²Ï†A=JѾÿ”m“Þ,x&j†¾ÿÆõÐ'Ã);VMMÛ}‘8@Ž9ØTRáå¹bp³tpy‘Ž÷¸kêq¶<[MM³~\R–,bHfà§Rô^¨»0´õ'GÐËÞœ\¥‰E â£p€¤P¼®­2p»jåünGެa>ûIükmçÎUžŒô;,û¼u”Ïþ¸ß6÷•¿ô˜ˆñ÷ùFê¢D„fR?åë<ì éøñ«—ÑÎêh÷£W}o_õd(zÞ9ILè°á[©XgÖZýáÛ$lÄùH»HÖ¥øM°x{S=#tÍÓÿ‘N`™§¿fù¯È!ñá¦ÌíÖdç—`¸éqm÷¾çÆJu«2¸nTBô>ÜKB'æxÿDy)W1–È+UßçµÄ¹—´ïÿ½š²iCî”G4RU9Í’„+0XÌj~qÅ#,FÝñíkéc7{GvHþÛvôm_‰:ªé p%à⢚—À~Jq—V>yëƒZäPÊoº fá1quÅ3Äáç´c!Uè3¤/YyB)“!Q0ã\¯ð@·Ažb—‘Þ—Ò[¤³±-Èi·§—y.w,G.¯xöÐâˆàyî˜i³ý ÁÌ7¢äÃá?s¶¬çîk{¼&¢bù Þ Ã?c?ôyTèC²ø·{>,0¿©Ç|äQ„m¯4ÿŒ<ón3U‘ã,Ò72Æ/ÈBžçEâh°¹îÛoQ./çY©´â x“€¿J)Õù½Úýéì´ßbtŠí >Ìð Öµ§¥¼—!˜¥(#î°¢ÓÒÓö«—ßÀ§3BA8”J½Î[h7”Kõš—WDýüÆŽy©™ÂîÃÔR*×UÀ»AÓÛž{ð“f­¶g¿uð–6ª{OhM^Ãûµæ?ÒϨJœnébK=>|þƒúÅ»8y|ª2>´a«ÔŽL†d±f"HÆ¥¿‡(x_ÑÎÙJ¯øëÅ£éÈ;æBŒ:Ô/ãýú‰Ü¡Û#VÖO|ë¸Y˜„‹ô $hÊKÙÈLÜ:Øø‰Ë¦á:öKOƒLᙜã„ÐÔuGLojJzoÈ䡱çZ4Aà8÷HZuˆh!ô2^ð˺¤ ¿ 74åþ‰³+ÖÓ ¢§rÌ…3ømñô ÌWó}H4*$5ë°5Ø ñÏê'˜¶eSÄ:ÌÛ³ÊxJQ®0÷%~†æˆ àŇdw X§jוB„ŠÄ¸ÖL»ë=;õx›h ¿=ý²öÙ’ÀFvfÖ<MuÎ^3—¾u‰Í™æOÃêÇ ¶ß"¶µùͽ=ÄÎ9V8C$qªøådÍXx€:S'F¯ô*ê­•ºù-§p¡R´ÁpÕKW­I(¥]§'F xÿ•ø¢´À2w¿ý(šÎùx''ù逯h¼ã/ÖֈξÈ!å D;1¤'ÐQ—öw¹y®â)xþôæE´ƒü`šºªMNÈ ñ>1áq$zÙuÓixë# /Hâ=€· žm¨Hö!+¥jƒhŽT¬>ŽäaIØ(‚Þ¡¶ÂpŒmðž?a9Q‘P…õXØÉ BéNж½õôý†ÏîÍ@¹p› “_¦»±eš%”ËÀ`7 ÙÒxÊ´½“VÂ1ÿhÆrÉpX%y÷óðRjë(Ú¿á\vÿ¹‹; Çq˜»Ðfƒ,‚~o_|MÓÃÑý„ò$r•¡p©@ñ9Ï…jeÚÐM×}ƒ 卯Œ“6ΈtH)7fƆ˜~¿ýw¢ÿOUQÞ¿ùè²ï”%–nX”ÀÆëh4넲.Æ*[³yvߺãØÛâOæl!W =¿ÄtÐ,+rê‘´®ØÚ “å×r59k³{¡gðZF²FC(+Ég2Å©_±Ãã,À0±áÌm¹Y‹*ËEGhÞîBGZ¯ÐúèS͉Ʈ®ÔÜù«e¹ Çœ¡E<’¥f 7—º®²%íÐЊr3%(I¶dé¾*BÊ#Û\í è}âÇåÛÑ{î òvô ïDIeY„–OØ^çæãåø¤@Gǹø1ÓFÒ’VSû©†"7X…A3¡XÚD^ñ\hæeg0iìÁé¬åd·ñ;âUºD\Õ©¡(ióá›úÔÚ(ùÈ|æ×F°Q|ÌÚbª'æv· †³%ȇH TîEF}Â.©º öcÌ—~»×©÷”±z¾h³€ó-ケ)8`w óû-Š˜ÁŒ{jE"`D_ËYTuaI>C¦8™+ÝEžÂ«õ¼ävŒ>4Ú ‹ë~¢Y÷àÂG¡¼ituÂ0h¹,µŸT\Æ3¹‹OÀ "Ô¿Fµ?®& ¾½>ݹ…ïÓ_œ°ŽŠ ¥P˔ڋ° )qëð=‰ÿ•-J©!‰‚zufª+DØ9aêwf…Ä,”W3‘ý+„ÀI2¤KPtâ°Ì-Gû“ôð¸CýÉ&ó +K£sKmf6ÜÇÏ„pBÎ32ð„Þ«nÃO.=þý<4š„ØÈùúÅŸ ¬‹…ó×ùhõÙOºkÔ+¿²u®¡<Ì–ïØ}Ý @ÿ{«ºÒîúŽ)òÈ\Ã…9¾/§ÜŠ/l”Ïé=£á6äïþ–“˜’M³Ti•$ñ0’6eG-az†"‚s(Ù{ŸØ÷R³Ó²é r5º+þ2ÇÐ-?£Q»½:ÈD—¤Ô} @âa§sW½`ÐcFûB†ËëØBÒ‡J.]7=—@p:gÛj'À,Ÿè‹R’‘B|ô(%ý½gÿË+oûb€®™7W‚dV¥¦‘¯>Ü5­ ¬ßM$E û½êd&ür2Ÿ"IH¾PƒÇzö;¶ÎÒŒ…­c¹éènõï ƒ•õîo]B{Ì¨ÕøöÐzåé½ß¿\J³“ÈÛ÷Èv^¨KPÔ6~…ŒcöøÃu£¶Å€ÚPIÓª¢•«û¥{ú¼Ú·®’aÎ|Zæþ®úFÚ?4m+@Y½hŒ3¬úª0çmœ‰élhrŒ»·çoÐó þ‘=¬¹%:¼ heþÞ¡iJ(*BZœâ3¿ÖÅ®Y­5m; d¢,*À«îÍËÈÕ„~.³2^Xbãy”~§)0ýá÷£#pJ +Yþ¿Ç§Úpëô,W)ˆá•ˆª²øzûNf±¼Øû7À{»Á(yY škMÝ)Ó%Þë4kŽs §ë‘êâž ŸKØô$Ã"n­²Qr¢dÏ>²½ÔD †"¾Dø 7µÍãÍøî¤Ä$½ /Xø® ;:y^´7‚"%íŽú3 ‡5=?²[”F¸ãFëÓ¶0Q&zý#ZßyeIÊ_Ûtóy “ÀGŸµÔÔÉ–üH¥5$dÍ«¡^¬™j:‹N[3“Þ‰çÜZÇ%„.£ì ´¿²ibvS97qAPUhrÆ}µ ‡JY–Æ?- Oç´ã—fz’,ĸÀA3V»z6¯³ ÃŽÆäš‰·×vsòfðY{TLec%Öú—Ñ ŬÞäÕøø·y3£«vÂûáB)úÛÏF=óžÃ› …?Û¥¨ou®Šûj6ójÓÌtlÒ%Ÿpr®ŽkÒ\ P=Ë<@¾áλ#O †R0Vû&‘¥I”öôÖ¤ÆëãÝîÚ«2¥v]Ã[sR"w‹ÌÀ9$=írÙ†¬Ò]ª þ„tg'—ºüñõXOrµ3B½8Œ=ùŸ´m€²¶ ó¦ P—µB ûæU°~Gáý§“²Fη€å<Ý’M¤Cò „|0·…eÒLX©ýúƵtv!þ.¬òx»ïêA†-ÜØ&ÀV÷`sf@ì¨ñMÍ!F'I–zGíàñ'Ýíjôù-Þ¯HÚ*un­9¸‹ô#å"Ñ2ÒÊK‡>‹ªYvCsh_m$¬ž‘×"úPÛ³ÁHnÙÈ{ÇD—^ý_$‡Áû©ù\‰·©ŠŒ¬Ï’û*Ë$Æ¥±ž™cC؈Æÿý‹OŠêþ´ouæ†òn¢"ŒiÛiІ¨u¼× BϺU™¬/Œ N\Í:n°Þ@ `¹4h+ݤWåž Wõ•Ф¶&=n¬ ÅLHh¢™‰˜¼|?aŠG–ôüÐD![œU_\Ø!ÞôžtÝ<¼âM ]ɫҪ4+·ÅFÐåµFÜàöÓë‚D+Wßã.“kœ¥bRÏjžXXLjkå œHmk á´ö-^³©Íñ¶Q¬Ö³5”46äQ¸TñžmÛs1¯")I½"³S`΂ŒmI?à´ó v¼äî…˜]ýB)(‚,!Þ®7£n)r`Áàà/ ŸÕØ#xõ±r§>ÒÃ_°(È›„K:ÏýŠ«ÐÉjμxA‡<åÞC/(ôGú7¼{à \!Õ·§‡¬AµÌ½Wíkøz9ùUècÏóè²ï…¾…䎥š†m*o±¬B¨ÑŒNcG£'ý %¹¿ñ„Gôž ¨WëÑL»úÛäw|à†HQN7àlXXi—û-øz’Íp•Yzv0ù£.u­¬®ßVDsÏ7ž_n?ed–xilã¤T\0ˆ¨Š_ʼKާSvµ?JŽÿ OGŠé‚¯ÿ¸¾ÍÔëËóþU¢)çrj®~Šˆyý‹“ò¾€öJçÛ‰_ÌP`ûS<_¢L˲œJN.c™ïZѱ·××>Gœ¬ú¾{S< 0ržn# ³_^õÇ_txXÖ¶6-µ7Ûž×Ö蹞[]áŒl‚q ¹šË$öí¾Ï´µm`L a ³ QÂè‘gö7y–=¨…õC † ›POh¸¡ígϲ`ÐIP/³Ýí{F…5׉‹âFplÀ±¬›`žh¦Åê¦_äô2÷ãnAï4äzæ|<–¨;NmçOq B«–`:æDZþ-ËOq IÍ#§Ó›ößúq›Íx ï„Â,Š')à «9Syá ü› ~Šì7ó¢@ðá^©žU[̨÷z›ôÀ)ewzf"À“í†&ù÷¶ñøFù¯·¯ä%hÓwÍj¨\gƒ9`ÖŠšž‹ÛõãÔ–!CQg÷H>ÅîÚ?Xí Z±ûÑÍ“‚‹˜x9é/LDì·Ã×E>™§<Ž&I c¼…rªÊùûì5“ËØ ÷ŠýŸD—í]éÇ…²I€éWäp€Y â½Èý¬+óƒ¤Ê›.Þw’Oš=³›x§á¡ù×6 ¾{Õm‰qëœøðµjÛy€º¿kÀ_sé¹ù³8Æx %þÎÝ:r^ì1&MœÂØÿüv’úQÞu5Âq÷%aË·;áPÊ€AœÏ˾ß²ê€ö70F”Ë$goo€˜ìukEBÀ,اq•_ç„~åb®7Zåch3yµ:·s«§â O)Lc¤¸Ndªf'#$U$K¡l™ÔŸIènÓÊÔ§‚ }sC³áOæ~õ±u¶l:‚EÃ8èH¤¦§™ƒ¡–yâ ¥ä¿RX\š0ZħF_Ð%Œz$ñZá°xÑ‚õeлÎH_±Ål뀕•ÝÔgÊ&¹d½Â†ß¼ÛsD"YÉ´ô_6kà?ÀW%á_ԙȣ%¦(U`ŠÜ@÷±Ñõ;¿ ˆîß ðdºª#¾ÒO/¹8ëÙ¶‡²uB^"³q ³×=s×jÌ>T«  ÿ¸ûÜ÷Ky^èön0fyné½^• <0ätšày. %–‘(&«*€À¢·åÕÅC‚%{ÖÿL(hòOXÊ0( H)è Z,áEzã sb2Kí”5ïÐa¨“kµ 2ßÊTU—âE4b3Ë@)æTÿ;a®Sí™W¢ HO`#ʲ®Äo ÐR÷|ïÇõxß_-u¬ æ½ûSK-jò¦V+z.Nº¨µã·=>ñìsG”æéÅÇaßO=°ÔWåÕ½Õ?˜à¥@â­i£x}$½w\ßUzÆŸÔœuoeð·C;&;·õäËAB]èÀÊõ­ïÜE­ñ­}?¤{žˆÂ(Ào †ì¡šë†¹r@³ÈÛãÔ£,¿Œ§ý÷0>\ÙHÔKñšÈ.SÎ)¡èRKŒ³K3IaÌ@Œs/wB0b½å Á‘¾q „e@X­UHaýIC´¼¥.͇6ƒ§ò~JÛW)¥ÖW%!Mxýv¸¥ ¬0–Æü‘xÙI÷ÐcC¼m¦Úö´NÉŸ­~^L¹ÙD`Rb¬ä¢’B›~i¤üˆáU½^7DåéÛ¦öå—Ð’2(N(DUÁO` ©+dgšTTOWJÖ1äC­Ïƒ^E©éÐ(©;Ñû%›@ý“Ùít¿Ü­FM%RùóçîEtü¢Ìç×é ä˜EK¼h7 d«¯ÏY-;øcyvZyêEu¿j¯!1Sí#s#è¸%*d`)£QôóV‘}©k‘YÓ_Lòö[(³žÚ®î»)r¬'ÿtrœMX¤ÌÕvW•´/ ã2Í­h+÷gçÒØ³Æ÷¥…éè©>ýy´m/Þ¼I>ìÁ´ßõ£gS‡ö<þqf¬“ò2$ÁÑ„è^‘ù§WòSñË¡àãÇ™ ézãc°u*âÉN,ZÜý¥÷#ÆÐ•[¹&ù˃¼+Oøò¬)cîw0{R_ªÃ¾®>cÛY=Õ½ßxß< DF×"³)fZ•Î27ó­_¿º;iFLå¦'Ÿê‚µ·ÓÛHƒ=OþcEÄs(5%S) ÄûóÑÈ3„ò™HrðPò5 m3Hæ\¹¶!W‘{ÍHG/²ÒÎ,ôÌYT–EAP¨J ڽߵ`$¸¬c õQÁi½äAë‚ô:P/ £]a~Fð¾gü÷~uu÷jRTŽ›ž~€{ ¡l?tP(¹jß:”q• —Ôùçi=[P¨ Û'gà‡‘¥}çAÁ‚"Ѱ¶¸Ø[9H휗+Í&gµªŒ$Â8U8L20¥Ù«$x5£w±À6|Nªþž*D$m£Š*áà  À>–ó^f—Z#³Àž—K‚év!ÙÛêۻ׆÷ßg°"k·ÈÅ¥`|LÆ #MA³2CuT¤õ¦‘TÅAÃv¾#x±Ã`H—A[ÿ^î͉a"CJüžFà"x}q5‘9jwtàœ×¹› ¦!NÆÌõ·‰(¶Ù|ú]Yþ=6®qwk•mÅ ¼œËÈ -Aê7Ý©ý¥tŽC#[ Œô+¨ôk°JËï_i•^}!@‹ðí.s[°·ëÕÑŸ-) C6D¡DêrúÞ#…ÆÝŠ¥>þ(é‡Gl¨O”ñ÷–Øe€l.d#wIÖ©$Ìi|ëÜH1/Í%Ä›ÑYý‘„E­FýŒõ¿”Xå5zæÀõß‘¹Ý[‚èc˜-á‘_iÅa6È ä0þV™1™çþîÏáo½ä> žS´À”}ÃÁ|‡7|W†Ö›%?1_Z›•×'5°ï!ç|0o… QSªóO¯§¨Mµh}MÒÙ¨!‚ÅÝ4ê÷»»ØÓJYЯ÷Sã(HüTŒèœ:å²Þ·¹âQTçŸ("º4ÏJ'5eŸ j«’¯¤ ¸° YÓ°Ùönÿ§›6žuDp9f‡îE¢rôܸ×Í%OöHÝ.aÚˆ ‰ØÉš„'ü(Ò8|™L¸þiæó¢GÜÔ«u~=2û»äG‚\GVÔæ Á‚7اŒ ”·ªfŠ+Åã¾· ºä[5ÎŒï©ÂÑÎMÀ¾i¡Ï!Á„Èdc–ÐÅQýÊiç€wo·×>ÒNã·¯]£Áê®bF‹ýÄì{ÿ!¸+õ‰`ò·0Xc‡ÕT‘›\÷Ñ­h°nr~U›Ó ’N½èÎâUõMY5°kyš¨©zUÒAäð¢†àøOoÑR¶~ŽU=νx°è—2±€k<1kÅŸ'X…•'E31þÀì W[x|@0ÁJL‘j7£«H€ñJ^º‘¬¿uŸ†›ž„k0ò»Êï©eÜIÎAáE¬ iˆ·ü©+Þ~¥c¥ß‡hd¯îBÕc©-~J虎 „[G“jÇElR ð‚*“§£2°Š¥õÊŸþ#ñ£4Vws½ˆÅîn¨! '1‹,× ¶§ä¦=UQ%)Pª¥ý¥yDân•eôr7}3 ½XŸìýnã}íÛÐþúÅÒ™^§à”¬D (íÃ4±ñ²bà ¸.¿>SqN(bP}Ïø]¢)Ñ#ŠL¾îÉ`b0ÀÙW~<—ê¨ñ‰w`IÁ1úóhr‹Ìáýyo¦t•xþ3¨u}Ö{¹ -MñrÅÊÞµÀX\1uÊa´BE2>Z`¬}x°pä¥Ô¢(îx†p®~€ðá—ýÙ×Õý3 jÏ~¿Åo¶µI¸ÚJ‰Gíô*jWŒßÇ–f¯09ž-Wê&Ô¬´SÄJMÕ@ dæOƒèœ ÙDi€Ž!;@ZYŠC‰Ò›3 àLSbkò^ÙâUv‚, ˜`wjïTqqFU^×f†½žÁœä)!þ»1ïÇŸ Ì-©Ž±ôÀ²:™9{ÂÑè¥^áÃõœ.Ê´43uúíC-͵HÇ’üÒÐy–Æ«ÈMJ ÇêåâDo²‡ xî]¥>õª!e0½ìêÔY/5-õҔפáÑ@7Õ_|†ÉÎyŒìÉçùca¶OBe¼\Õ„Í6-‡Fët–O¸Ó§fµ‰ÊÃ=é~%¢Ò}vb€>jZÓ ”©ÙÔž£*±kšû¯~(¢‚„à ÜÏSûáhÜ7¯.NÓD 4Ó˜4ï²ruW'CÕ§±U:Ú‡¬¦:‹ØùðZð oq»S¢¶rí-íFó|[Ó“Z>D¨}1)–yªÁâ¦aP›Ô:=› ý©Ö<|Dè¡Gˆe%>W£ >2F¼Ç<$ØE"õ­3Wð=ËæPqÒýVkµF+Ô";3$'¯Bö²ÓØ·9 m©ºõ–¥ ÊU£¾°$bFãî[ɼðžVŸ#N1õSÂòó!1øo÷ü‚táÖO´y“ÖH€µ\Ï@Â-ð€ êC!àþÂÛ¶…[ûÓ³ƒî׈+éî‘L}™:©æ̧½*“‡òÑ“ßßTž©þµóèþ8¥s†IJBÀeGÇrzVÆ… ¹Öv+~÷bꢄ®k†S!x.3Cµî30+öµZS©Ü·}¢Rcé}é—`×ÊŒGùO‚Ö]ÂÖØÐèh!Vpªý¡™}¶K]Càb ç5ª«ÐÕ7-£=Z´gCÈQ¶¥W6euè°å•oÚÛy§<gS\ݤõgæ9§ Op4y¯h’À€ØÜ<:¯s%b¶îÖ{bUµë”kÎS‚! yÝÓ½Éý©p„ÏéÆYš…ñ`M¥i¼j „©a•[c 3SËkSÍ_:—7¶¹øÈ>È´²ux÷hžz~ý$¡\«Óa/³1,PwR¬Èê¹3„–¦…Fõ®ž ©‹£Ìb˜sæ×Iuðyñ‡é¢¤,~–|ÚlÄ¡ª ±œøÃ¨Hï˜Ã&a)K$QÒÔÂÅQÿ ®Xÿ9`ëìý<䧆ŒN÷šªGÃTu‘ÓIÔ4š42-µÿTUÁW"§âTÊÖÂëÒT¢ïkKfÉr›I˜ˆšÃy€áü¥ˆy»cœ)9– bÍ .ãeZ¦3C\ðÈÅ  0\ä¤:$óÕуàáYÜ•[»|G;véz¢ä#¯wc³ün ©2¦jÐ(Ù+ÝdTÙüŠq¦ž78h%ÿo¢—)Ÿµ¥×²›®«SÂr0š…1•ëB•eé—ª˜×ª¢MϪw˜ŸÔT;â-º‰½½§.î•íl¨ý#ÿïaÂá©–~§”Ýåvàè7âÙ&½üÎõTeW=tMqj ˆWóBÔ'’&ÙÛhþRK]³"¯ªæ8žÎèAåköÁmßù²Ò ¶º]Š®‰Z_[ŠäŸ!‡šI7Á4myˆD ×nÌDžª¾Qv^qª€©{Lý”7p–2.C%º&ý rṳ̈™gL›läd;KÎùpkx«%ñpî­s³E#kªY¶ï+RO1Z¯l8Řüf©—hTå™~ää…p—ãße°·Ý"XRIþ øÎh2Ë#¼cx‡A9bñ†–pà=åç*]Ña6R‚¬‰^ ,Uz Ö7ŸßpSøp¿w3ô÷,[Þ»q>”Î$ ­CµnMCVÒíuâ ÌK¾­²jB£°Äè” @u39úÐñí‹dUJfy±ˆµ°@Ï Ò±^¹˜ž沈ÚÎyØÐÄÂÞêùó8elhª¨Õz°¢+ƒù–ÑÛù£…u2+§áFp§Ï/ ̨-õ1‚ì¥Çƒ©Í`¤)ÀðeÀïÉxV»dæ]ë9P’¿˜k~+ ê1š”ÓL­v;_ÃøƒÿÝxÓÕüb¾M={X¸à3ü˜†Ì楫‰×>Ö¯BÊôÖüÏXŵ´°™ü€‹?²&0–E¶®†M4rSdc@þa¶Þ„v‘k@ðµ>©¢õ /.Se½ç°ÚónzÝbõðüGY–5¯Ä "Ø;˜x˜Ž”²¿äÀn‡Ü¬;½”‰·Þƒ‰Ûš°ÅšVZëȱ ›ž1€ß%D ø0¶yù[ïŽì½KM[±–ì5c5)‘öø3+6ÑÕá+z ŽüÅåëv¥]åjæì;#qvŠ6d¨<¢¼õ¥nqß³(fzCÊSBeÛp‹ü㽉{µYRÔ\­yªš¬»^Ä¥,4M=ªMn:H|mîm0É´GÃÅLñÅø‡­a†@ä»ÿœ‰¾‚ÉsÂS,ºbð¥%RF¢7I¬~•Àö2Aâ’ð?ùÓYKͰ“Ô;颸!æ¤Ï¹òFåFÿX;‰?=küa𛥦‰\ÙüåQ¬O]²±òüP¥Ÿ©€ÀÇ<ÚÂ> Š«h¹¶ƒ.‡DƒegÛÞGëÎJFl)¿òEdÖ ±Ž+‚¿7– ]Þßï]î[y/íR ŠA?"X½u5¾_UÒEXãŒ&¸ˆ… ëïn `Ã{ÀÈßÔû鄤{› Æ~c®”e“¶;ÈŒ(†Í6棩.&*ÛÒŒsãUƤhoɰzÇu©Ùg;Ôªt.¬¼Ö‡.wÆþ¬ H˜™Ý"nDIb®`1ÿÀæökq´bàûkº@{¨Mü¢EÍa^ '›²ØóÕ ¸JИ^/‘…«,XצÙx¶Üv³Ò4] þ!Öxz&çà÷$üQ;'x÷})j·dÖ>9Nâcb5ôuꛂ°V*b€ý\ï(ìcûÂâÍ„A@R{¦:‹{ó•Ô¦jh%¦§õæKHõPs´¨ñ»¥v¢ùUc5µ‰~‘˜XÒ`ÛË,ìÄKµÛŽ\DÆþ8²6t+*®­ãŠgÙ_õD5¥=†-(¦¹ j;±¼ññ.šz±º÷í6×R¨´C)WHñÀç¥qÛ<×GârloxlQˆ1QíèYB\—Z`ÜŒ°_̃¥pnäæðŸÐ`}މœëq°×Î8å ðù˜=Ï °½Õưà¬ÓäHA%„g`}šxÉ‚B4püt)~#Æï¦¯Ä®€"6@j¤ÀŠÑ:nª}Îã0­’§¶°Ž_•h¡ ôQbu|) Üì„\[aPJ¿à"[Ó+ây„¥H ËÄý« ËÛY ë‹ë#I&bÕåÞ¢ÙIÉÕFHVî;÷Ó–Qy˜‚7ùGÿ)>DqOwïR3ýÔañ›¡XîŠjÁöT)”È«3Ó©órÊÚ óë0@—8x …3¼¨]`—×a6æ|B)vhlv«.Á‰>"¼P÷Ÿ–|^¯°ÇI©æG¤ëšÙ1+‹|ðM– qô¹øÔ&`‰žkC€’f`OÒã:‘Z9~ñ¨—:/_°é–q‚\‹A‹úDŸt ³Òo †€5™Å%-#jhÓ}eñ ig¡%¦a£Ö¶Šs³Õnâ=²Ø½ `»F\9=ƒh»‰eà€”†ÉFÉœ’·ö(Ü­)6Ÿ§ËŸøo9Eój#FºP ÀìÁH¶'þ“ÔšÌ2š¨36Èï;Í'ãß{àußé )Æk<2Æ_ƒ•‡u>ÅÕX|w›yfF^]nÕsÌ„ÞHeï|öK$Ò­·éŽœ"ê¡.Ÿ°DÅFCôV%n+wFꦕ¢{ùË- z…b&(—orïB ¥,ŽF©Û+£ãxÿ¹ùp«W7Æü²ñN¼•„^†›ºI'ñ€¥P ÍŸ;ci(,8ŒsŠæEkÞÛGEÀ¯Cè¥^xc‹—h•HØ8ö+eØ‘<±º±b}h‰les6 sî@›èïbÏs|l‘J;"ŒmWLµwC`aVÃÖaj©eíˆRó)ÏßyâWCuqÙ&É¡fcrÜŸÄùÛÉ%DŸX±] Oé4óªÌ!CµÚIðÑÊkñÿYã*µã2ÁpE%"ßð Í’W¿ãùmÁ‡6Æ„²JÒ+SƒêU¢0=–5éh;ÿHS-䪅+È;¼ EÉs'ì7¤ÅÒïTµÎóÁéð#88ß5o¾¬`‘ü`W|"ø…¦Âd{UM¨,!0uiø¡¾²Ø%6YQØþõúŠÄö€$g}¢Ü‘ñö9_×»`ûÆ`H!Û+KrR{)üÙÉŠ^=CžcgÙ}wüh"oN”KÈ÷äÎrDbÈC FšàÛŠØÏ]21HfìGO_Î{ 6Y“»kú”4_D¸?kaHûvÓ ¦òðÂÄÊ…žÖ¦žc\Ý._,Ë…Ýv®$£²C£Ý¸m.ã¾ë+}¦ !ÙèZû“/’oõÐÂ7UX¿½½©Bqˆ‘¡uq97]5X™]sNÕÂÓP+§Å †d4©ÅºL£®N©rF’èWú‹¸6¥p"âÖ5qÄ?7aª¼\™üb³ÛäLHºS5(Vv«• ¾ý.»uµ”µcÆ øè8ˆ“O/'1Ô³¤‘€;‹ŽðÉw¬=éºqA¢Ë§–¦úŒ3*3ê™cÆ Gãï¡)]ˆª'ofž˜m'гº¿ŽM¬‰MŽSKa@™ÇþœÊä«*iÊèáïÛÇÍ¢XÙ«^ÿ=kRMpòƃýH$Åx8qA¥¸ëcªÅùò%bÔ~$,»‰3ïÐiF•'?ü ù—P¨›Ç‡Kˆ”C;&0%ÊxȧÛÄó”ƒÓyÈÿÐDIömGÔžl€—|<ØT\ð¢uˆݽÒlöIh(í¾u ç|Á;Éj¸ð 3´ÌæB<\ΙßhCüédüñØ@ edM±…šÂkÛgO]öY¨ žlÀ9¹­ßÃSšVÚ¼+ƒy«ûuãŠa΋\WžÐ{±e¬¼ÿau[¬‚u#]ø<”òµYÅI­)ªÃræ´ë7 Žbº­cV²UUúXVläU¡3k%ñ©âǑ˅6kjsA§´î&ïDó.nU7aÞúÁW }7­Íæé¢Y<­úVTÁþ)Åæ@hÇ5Z21§”´âÜÁòbðEz_ën~Ö8T0¡óèñõ>Ic àÈýö /—åxÕxv–ñ™Ù€ç#žËÛ%lq6ðS³öÖÛÙSÎä&¤ÚÈØ´÷^K¡âê(™O­‰êÖä4a¶ÿÝ37¶ÐÝEÿÈCÁiþ Y4ã9ðä1Îýv¹àz9fŒÐo|ù%ªv u¹ô"ñy%ÇÜ"?&Q¤£ÁehK@°F:«XveÿÐôú^ýÿüNŽ‘Ûˆ âùçWD°ºœqºr´oƒÝçzÉíÄìò}5}C ÛºzSÍJ.izÂÿ¨_ÈHÎÕR·ƒñ¿*N7ìŠÇ3C¯¢ ´ê»ÝµûÕ^‘D»…q¿E¯ÐtwÎz$U›ÉÛŠV:hì Šç\ýÒ»YÆåJ=qè¥}b¿v“5¡„—*æÓ"«Rƒ`ÿ­š'Ýæ¦"âílé9ÓI{¯—x#þA¦öÕ¦ú†YR,žpûÀQ…$}2AÇ‚^òV"»{ƒ­%I-Ó èS )M©©È"YîТí¥Uú‚þâÀ‘M™‰¾:åøÕú¨ ŠÉÂM¶Þ>©1òÒ Ûn¼6÷­žÇßÄX}¿#­bÍ“õðç_ÅeY>…pNdi+3 0¬™}¾]%Ì2»…°('žAw E'ƶÀD^.þ›„¬~ð¤Õo‹—%7HfI´ðüºé{Á½4ë“û‘…/A°`’h±dÊt½ ‹½qvàEðz˜ám ufaJôY¦R^LÚ2ž…Þ±³g¸[ïT®=Ô¾c7•)O_’ H»tÛ]ÔšHññµ´ ¨[î7„'öÉCru”ã 0…¿b徎A÷ˆ™¢¯éÎãêBÐah¾¥;W¥l7wµ¨ T4ÎîRÌ©ž`¬= šñEòhG"Zû»Ô-ïWiìïFQ ªAsñSV¦ÞžPRÝ÷C¥ÞDöÊè@šÑ“½ì¸|´¢vô”¿X§¤hJ¶z±)cpˆnÏ‹{gT8D}áHR ?ØdGA“™"%mkÀ~ºáÝÐKÔ·œqDÃl’Úi'ÔªÃ!Ñ51ýK5ãöFŠ«Kt7Fíp_Õ/“Éfî“Æ-¬‡=` 9Ø[h…©þÓ¶œ¬î¾êT>÷‘OVc§DŠUpsÓÁ È)èâzÍÅäFW…k ÊQ®± ç´ÕJêŶ÷ƒz¶5E7h¾Zp ã‚„ÚZ`¦y¨þɸ.—v¾œú\kÄHüxv³XòÚ×¾›ƒRK ëÕŒêK¬»ÃÕ=’ ­W‡©þcŽåè·=³ƒ¼‹ù»²joÔ®"ãpqm'ÜõzÁòý7€­X w+# ”Íbñêìè¾2´ h~›ÄhtWà[£ OšÀ¦,àŽ/êå²ðhwÏÒV$øæ]îJI ðB1Ä 0qý…ø¶Ñ”ê®Õ…ì¿ËV?ò…ö}ϿŒ龿 øí€ÌÉèû¯›½¦¼~Í9©¼œ» ½yAf )î󥿱•7²¶ 0$”æ=zp8‡ŒÊòug/²•¸ S­YW4š<ŒŒÐÂîããä²ÁŸEº`¯´¾š=cº™[üÐ…À ¥¾s¯šD6°Ð ³–Xl X{ðLWÂÅU%Gp¼lÌ;‚ˆO\ŠÐ%Šöu¼ýà®É6„öb"R?q»è¤ úÿDezVòœ η«§±æ6»KEbsxw’»ÐF¶ðqŶœZö‚•£˜ÜS¬;Ƚ†.<·ÿƒ=•:'¨£Ãl¾È›ô[µ§;z¶p:üdÈÞôdÓòñÞ¾I#Y>ÿs¯(ÐêÅ›WÐ1•½“±7Çä+¤@Ë=¸ „ö{=}°–U—¯} {ôh}˜:{´åÅæçSÄç\Xé(Ï[G3 ÒlâÔ£D޽ƒkäûé›»þŒ1ΕfIZå¹7‡/©t]ù—¤4&àEV¥ uº®4ò«.ûÌÔk—a vE›ˆ*‡BßÞ) E7YK£¨éâ 5½I¶Eƒœììo)•@FÓj:ïè–þ¿ó,P¡H¦Ï¼Sò¥>øEèWc ³¥LóÙ“ÊšŒ£à‘g— À;^\TQû’(…Éœ£Ûdú¼3†.:›ªka‚ÂNz=X8©n`&‘) LO;ŽhzÕrá” WE;„<âšuÀ>“¯Žbæþ7 ±Jw°å¦×=2%wí|Y°rÒ@5f ™êD;sÚ ‘³EˆAÿtúdè»dÚ2ÂÁŸR€è¹ÍÔý~™ýˆzuIî®Ñ9x Øöz <ýOQÜWÍ :®‘5ëïÈߥyiº³jWÐêÀÞù5·Iø8ÀQÝ}¾ °<ëÆcÇâwKÃÊÏ£‹äu÷„6–n6¬æÓŠÀ;m‡f GˆÜM/%ã,œÓåaÓ9*h–pæ1‹Ÿg”‡/0´ºÈIÈÀjà†„}?£ ‚ÆÕ ©òrË›yÚpî$\J¦úËÒy)ê±jÓYáSjþÉámýý¿¤§zcKIq|,‹aL‡ÿ[zhÒ„*ŠéT<7ªÿ“N0 ±JÖ°Ñæ+€—É»æiÝðFlí;|n)ä¶ðFû)€ƒòš¬êsG=ðkÁ]ŸNÄ)´À,øf1vì‘SÕøæo*h¤¢üÏ'¦®>~W´ŠðR”qƒ´¼†§úSÅZd¸<ÙgRŸLU©ƒ žšgÈüwï‹+hÖþ T,fb‹ÝIØé¥'Ð_4^Õ¤“mènÜWpÍÐG1’­`Îȧ'ß9€¤°¹[Ȟʜê½s!¦ªá–róû¬$.”ê˜Zz‚þál__sÕ™_Ùþÿ¥ïŸPPÛÃÙ¾ŽÛ½wã÷1æ3…{ðžÅЄF“su\ñÅ¿ÏÊ4–ö,ìŽ}ŒÐ §Ž¼Ã&…ØZÀÚ)ù(>’,¾´}š9Ñ.îî‘¥}½¥t#¢÷]Žª-ÌwÁNµm¥ïâ~—i¥-dV3Ô{÷\& ;Ç‚/±{ÝJû÷NÊӢϑ úÍ/ÇÂù&p¿PåÔg!fœz‹t׿Þnº€ˆ€l$è Ä+¼ÒÐ6éÀJ¾c´‹Ë¤ #0²˜ý7ÑÃR°BN~ð·ÿ_X:˜ E|ÄÀîÓ£¬“âÖîàÜ¢“oOoüÂuåX¥þ>â3qûzCߪ»å$‘ÐŽžÇ‰('_¡©ÉZdaùC,y’Ÿç;‰ýŽ’Îí#ã¼tŽ_ˆTø9:0% @rÝÀ€c]çqŠ”Síp¬ÏØ%ÎdË,tF¯:œ¿ëD²Q7¯t\Б”¿SŒVµn@Ôæ¶¼Ò«K¬F+ÂXjݸ£Ž^AÚ[³nƒQd g­ïƒ…çÝâ·Ù§\ñFµÏJ§>x`™I±G2uߨ˜ÊS7J¡-ß_é´ÈʽË+¬N´VxMQ³upÅËA>ºn[œ}íQdŒâRûÏ´P€‘ÆÏÒÉ ÒQ¶ÚOA+²!O¹ÀçnÐ1¦.xø¸b­ë˜¡“ïr9£0÷7 ~V9HS„þRø)yãEæ„$læ£i˜%v/"ÜõXãzUÊåí:JpÅ8Žý?lVoá¨â£Ïè­oPSc‹%‰šÅ‡pc]%ªU_É$…ådqÝí‡ëåš«Z¬):–ÒÊÔjœïc°ãB¶®ZÆSU­[™°²týH|˜W¶5(õ+EPbÐ!NééN;ðYòˆÔÄ0%'V@/7O#jçŠÆ¶ =@Í;ò„KÉu¿«P2èN­ÕêDÆÅ ÷Ù”„´G¨GhS«éíßЬã/“Ý—@û¢„}•ËÄz¾S/ Š–ò#AŽâñó"ÒÝFæ°±.êïÓsKØãEСO¨HùÕ¾X9û/nÜ"ƯëÿQ‚mxñ›ä@ ‘^fÔÁ´ä :fõÝ=ˆìQãùÙxyE<ïy˜IÅNË»ž¯Ôãrÿå}ò±©gR†b’lzk+Þ¿±Á Lü‚8õh‚uØ„"1u\oSöã[nU¸ 8&.†â~÷Bp¦¹m„*©>œÃÚF¢‰Â«ØãV_” @åâºVN¦† fãÒèP³X²Õ«»ƒ2 霪{Ks°!èàçÏdÙ—¶p0œW Ì»¾Ã}rÙ‡<§6XýŠ06†3G+zä:è©:Õ’h)ÜPd4†€Z°û(7pÊí“ÆÑ¬ÜTާpÓ¸â%mÙý‘ÁòwÞ›á×äz° R„‰¹ž4T~“ö¿•_ShKÂåä6µ­ó7K%DwxâÓgµ2¥OM ÿ³~éÏ‚Ò[á &¸Ùº“á~ê­Gšk¯°hˆ“KW¢EoN‡kô–öB”ýtBVZ­6 B§µé¿R—­è¯©R»í€¼¼²W/÷¢G’,ã¢V(åwñh‡¿L½_môÝúÆ(QÈà]L¿T¡ÂͬÛçðZE¥9]þþ(?¡ƹ¯ºêõ{§Õ4;T2øñ¶;¿©_•½x²— Ì ÌcÎï%èe·hWtD“§ Nlpé€:Ÿ%wZ_p!ó hÕÙœ;Õ§°Ç·Òú[È´òmxˆBÀ Q¸«ù;¯1<˜ é»mÂÁ.8M:stÿ`DäÐF·QßDxòbåED35Âÿ[Qøq£nÈFŸ¥¡‹F°Wð‹Buöè£Àa¶#’Âi2ç€Ìxûì°¶¹™Køt«ñ+ô¦óüãäâk=8ì¼t!¹CÖ,Ÿ~($£ýàT»j[†6käÅÞñ}Äó´XTôéÇ«ÁS·E:ê—E%lÌoø€i!#˜2©?ùÄ\̵ø‹Vùläjñ_cÚhiÌåé;lP(¡‹GÂ&7 °ýý·•2¿Úü.¥s'SœÜÑ϶ãúõ«©ˆ9žíPÍG1´æ[ Œ¯Ëë- @.ͤ^רÃÂ(íq/H±JTÛ"Æÿ7q‹cÍÖÖDp…Eº^ꃂò4üaÉШlÁ%çøÏ9iÉVT'y¢×XæÁ«;×ówñK 1I+È\zt‘Ø{¾ä›"[xþb«A¨_…úÈÜ0bŠwjé"Æo«S½,=dM±Ò!=ÇávGÜ&BŒDEò¤ LôæiïÆ7][ü'0gàeõæv|òp(Ÿ"ø€FÀs¦¯Õ¨ɦv£çÒŒ&Ðæ°Â¨d‡‹Èçõ¿ª¹‹åÒ5eƒH¯£lq86È9½`PéMűDjÃ=‹ôÄz @^×1öÑÆ(Ï–èb£¸ñ‡™ ¤ýd°dçMRâêM<‚‘ºU(k’:Ð_ NW¥Û¢'½Cò{÷WÉu¯)N1ÜÀñ}å®;Ž¥°óæã€{\fÊÓ_Ô™²¬+õÀª×µÅZÆä~PJ} &ùbZÐXž.Gü`’Îò“!›ªŠß×l/ÊVúiT/’ñ=µfæñ 7‹¯‰È,Êéô"¾%Ë^°2$_QS¹ªúé¨6‡bWÑÏó\®¿\L‰7Õ—'³÷P—Zenª®áqXòHæÐâ{uºNß»]¯ÜêD´4ð ¯ï±ëø57¡Ô5S˜\ÔÀH30ÒÉXMÈ[ÌU ^vá¸Jõ¢E1+œÄxöwéab‡GÃcÝeBÕ ïx¡öciŠÍ,åäj愘»À }_·s³ž@°w! ‰Ôy³È-ôì'ÚéØ9<$F›ÕD-ÓÍ|F$:BH9UZiÊ›ÙF½ÚÑ4ß152FŒ_Ĭ]`:•~§wþÖeþ a Ï[eÄó ¶Ænöè"ŒjÒ2…ðfúæ¸ùòPƒÝR®Þß1á-—ÿhÈWÚ«œ º²ò÷:¾•BEšòd+[Ûa×Ksn®¤V`7ÕäVúªØrü‘Qò§}J…F­DÆ3‡÷Ö)Hg0Úå ½¹KËÄ R¿:•Ô‚ãh¨¢ÃÆç>X Ÿ™oBš&@yk‡ˆUå{“>¨†m^X’áŒZ<ÏÞáÆTßpanÛGEàHôõN+yô͆ˮëOÙ¾)þ±õ&xbê®.'ÍzD\WlN íï ôÚi2–úvAl ¯Ÿ%©ÕëE“œÎSY°Ì[ªç·–Fž-ëE‹ìlÝøJ¤ÿ»´¸§©ƒ–á)³6‘z§[e·2çNÔJuÀ™(úÔ(sò¼×/ãQЍ½SÚ/??P#ßë‚Îu¤˜8ÇkãKXG¹Å4d[rÉ=¡¯LÓ3ªlq7¢«òS×À‘¨Z –Ù¹ãm³‰¼Ý¾&Ÿç¨.¡È,·‘QUïÌø9Eq’ðXŠQg+•u=9a7Õê´¦ÕiU±çs½_Þ$tZ>ír·ïÂÃÓwôSì–óÍ&ÐôKähŸKô\õ€v>ëÁÖjÈÝ}úë÷\’ÉïmÁâ²aÌÅò#NbÎïÓùB«³Ríº^‚F_Å4æÍ‘ŸP*¼¥OxÉEª'+zÚ$/ÐÔtQX± ¨¡zOX3„,jåøÛü$)Á*fwÆŽÐW7Ži™í—?Ͼ¥›Õ‘ƒT«¤²#²µœ”~â,’ ¡·P1°AÞò_/^bžÎ¾UÅåÐ×YÀTÖà¶(¶ƒ.´ËŒm éœjù,Véšßçü{=Pr—|ÅÜX¼(õ¾Ewjà·±²ýÌiÉ÷ìÖjϯ•f*Éï‚Ǥ%³Žøýû}õÖÐ{pÍ.#wðhk¼ùŒÈ³·‡>ÈJ|.ŒåÅ+gæçaª,ŠÈ&oí¡/± n«@Ý×Ufø„î(×l(µE6¥~Y¢)«Þq¨ |; ªå —üKŸB}‘å_ÿíKnËíYBGƒmØÔ ,«•#¶QÇï¤VI ™@C·xn’ÂWºuÖ¡kÇ@N[Ê'µƒ39µlrÓCå9•¯‹1ý°ƒiëpîE÷2è´ùÁ’Òâd#¾„ÅsVp#nžÕv¶_ª7œ¶Ú ¿Ò’5Û‰]`TAµm‰³!Êx!ìâíABEeÖWuéHmÂPt4âËÑÉÕê&¢_ ‡£/%ò„€_˜Nó!çÐH0G‹Œíÿ³eL¥ôbpü½ÚcqØËŽ‹¤(óÇ_¶¦°AÆõÐþ ìnÿiÙ+å{éòÄSfDîiq5MÄ ?ñh[%h*M^áã@Ý´Í~C“,á ù¥‡í1O—õá;Ø¢©6ìåÂ3m3©([<ÉH ›:Wi§Äì«–êvQúÒ¤a‡‰À²I"bõx'A€Ÿ^}=I}¤»F‚]WðyÌ)ÕÐÅCÇÎS°ßâ©·SËÑÚe%I´/Ò OÈôvJs1•`Ú惼îUžŸ¥FŠª[‡¦ó!@wâ‰yI¨…-fìs³ÜUâQ+qD´†w8NÛ0´áošÿh5›`1ýåþ›g yñhk âMLéÉJaéZ[Б~Vv“5’ÚfïÙ¶ÿ¡ ¾cà–7ÈÉÉz ¡„[›Ï˜ Ó–«S0kòßd)¬º‘6„¥´zPE#gèŸ5g:ù uÅg§“¯„RÐ2r“IbðÇFJRX,nBa»|jW‰×™¹¿©;¥9^ÅŠ^Ùp_üª„6Õù1>òªoGÂ
Ôù®Ê®ì‚È|Ä+‡Ó:ô/wMŒ$ìš%ÿL$vÈçÀ™Üñ†~ïZ…ûˆS´n¤ú[¿\g£·Ø+_n©–>xI-„\Lç¨wŒVÒJ¡ Ó™ÈÂçÙO],ràK,È¿-zqÈ¢²ÆzX3ʬ&-4ªk 9Óef©^©^ï Â8MºvÙ`,Ñ·ï˜,Žm¼¡ Ç_ܪaåpðT‰O‡©ä—y9t}‰þŒFÖŸµCO¾Gÿ@„}Q¼=ÿ"¼AÑ'çà¹øµÙò?6mÑ$h[CR´ £íëÃ@r›¢BRY£… sw˜–ž"¼LY0ZÊ©9Š÷êb”*à{(npæ‘Ñ5‡¸yQ\ÓæÔ¯Í;S«´Â/ñQrÇnüvÀç¼§”Å®×â@g&©é!“šUu1>‡úvÈücNa~ôÖ¼ñûGÆÓ²²ÖÕÍáªïÆ·“:Úæ\½_8e<|%:÷KŒ¥Øp› †ß䕺1Z¿ˆÀ¥Œô…†…À1ÅÚpá“hYt8u€Ï_Ó‚3 È<9šóC ï¹îTÌ$vÆÔ$V7U£…rWÿfÒdüdoÖ‡,1ÕÛF‘¯òrkPtƒBƒÌŸk(ÿÜlûxõ>6 I`Ywƒw޽y0CÀÕÞ& 3tç9>…Î×É꯮’©a5ˆF)%# 5l«¬pRcÉ“¡,|lÕ[îÊÄxúlóøzâ)fÛ¶ß~Ü‘¾Öd¦‚rwå4ëÑùJæ`K‰ÿ LXOÀJ€·:›ŸZ/”ˆ®ÀޱÉ)7¦²3Ô`UÉÔA§ ¡¡ª(ì® †(˜wŠf[{üJ­[“‡:¤9ÓëÌyµ¸W˜ó›äQéÔ(ÎGÖ¿ ¯¦³¾°·<à ’”ØÆ¿ ¸d‘×/Ê{U¡ÿa¥Í)O2„Œ@ñB*z‡ÆžU˾ jÝ/̴Θ(=Oq]‰6™Ý¸”þ¶b jaçLh£Å&˜±F–±!Š'Žœð\œï>vt8úò’Eñ)0®æ|šÁøv¡5$½Xßêsòs<Ø‚ùê@?UÕ§ˆÒú³°$Rq¬¸ 4 Ï‹`Ž=øy²èÙÂÕ¥Cýn@¹·Fº{Sd*Ÿ¬5=! ‡·µ’)9¶¤÷¥ÇjIÑKuáÏ(±BÿŽV€’RRŸõ<^¯£a @E+„ÃéØXT·ˆ·‰1^~06ð[ü J` ¤àgŠ '"Åó›Í´VÉÍ+ G…s6‘¼}P+ð‹æËS÷®Kk¦Ú‘ ÷ôkÅPóþ•R<äÔ#󓪨ãùþZ‹ÛÞéýt/r À}eä ¹™ ü¬Ê¥-Åb8àÑÃËÃ8Ë”~nabÇ#91^A·2Õ¤M€µn2Þƒ£+<Áo™ó*Yç¼Q™­$wõú7Îu>vjëq)2ùP§d6Ïz®vhM:¬jÞµ»©Ò£ÊòøŒñ†5Ú/‹ Ñ7È?.RXNÜë—Ö¸;Ÿ`½Ë|`ÚÔ)¹bï늴 øŒÉ)¥­ðë4pHgk‰=l·»yhwOšb „þjð=&–…çÁ¤ äêG$ôöƒ¬ýñZèòjo‘·T4QqY49i×¹é&ŸEnLÞÓ©Y!7Õ$Ø-Êvüà•Yåý%„ãæö'lÁßsò::…)*®Ê‚Ê`à~?—†º&pl´^¨RCÐÛ¨üR]´¦´`û‘+ÿj 2&c ªÀÐQæÜv”:¶îµ¥Á"Q]€Úc«yÚhV’ ¯pîàÔðÆlŸ?¼J n­=K¦%gu x%ºQ5Ψ¿bÒ‹šºM Ìj®„ú( ZxÝexေM€¬Âí¨5¥õT!õ Ç{’4•ìPÍ=D(Zî•¡»mí|U] v:GUìTÕ'‚•a>/§ì,:£=ÅÇsú}Ý¡†çÔ üNÀFÖ@7#ÇùøÚ»d}ʰö „JŒîn=Ì~HÄ ÀyÝò=ÇŠ'œ*ˆiÙÈöé‰Ïa¡Wã¸,z½85èÏø›EóIq4›zõ!]Ä\SEcA]h:lm*+)tˆm^3ƒÂ1,ªóÎð´ˆ>k5S“A[Þ Á¯åÔ¨n¿Í˜ýtƒÔ¯³Ÿšm”3Û<…‘¬ÉŒj:©çŠ„ PžÏ!ŸÌlž~ 8 ·¥¦ÅLTH‰«¸}°<(AßÈÕªü‚hÅgå¦úgOYÜè:}ÐÉš]Ïj¤«ï:‚”t¬Ü‹}ön¶5—Þ1Û“ c؉Y„ÊxµwñfP`<Š _{"Ýœ¢ç @!¼\H¡n…JŸ´qê|EñB]JC”^ØšX×c„³ÆíÞμ £2ÝøR·’ç5„¼â¥É¿›ÊÂ}«6Šöuˆã=|±^b‹˜ûúPÿ‹™þo´œÿx0Ù\PUá2&„:)˜g×µÝhHÊæeRŽ¥-ûö4ì!ü@Àž°n±Äq¾MIf{ÁWšX)ÓϪEµéÌ¡Á¯áÅ"÷€w·frµRdãõ€49$ÀMÊ¡FÊ]W®‡9J•¯4e}ÙÏSáKþ΄lTùÄg&if¥Johö£n)§lí›Ù×jœ[‡àA\õ8סÉí ëG¦¼& ºá–R²×¥!ÈŠx˜dºÛû†˜? ;»K5u~ßa®;¢ü•Ã%j†£ŒåÙÓ„D úŠ'3ÉÝkÎNYs3êŒÇ´6¢LY¯BŠ\A–!!„%ÑÈ „ɉ)/àe‘žF; )Þ%Sðô^MTÓC\Ä©¾ÏQ»b?èþì™IλOÊüâc›ÔÒ%‹Û‰ž~¿ûb:iÏ'òp†°HÎæÙ6×eá!±nërq‘,Ø® Ôiá|'(â}~ érýrÜÍÞþky½e1~8;ÁôÕ5¹É¬‚7ù¸I§ÊÎ-ßX“ˆ KI£ôkK$ï+Àˆ©#Ÿ@+•íjGÏÞ‰ø(ÙÁÏ[iQL‘1'uã{m‚Ѝ?²ye“±l®Taåvç6ŒC$æœF:;U‘)SÉ{Òó¥g;þ|Š·xüÔ×ÊÊUUŸÒaCz^áîI;·M‹¸º˜ˆ+yÛêP .»_y³¨v†¨;¥Êo§™êŒc/ypx ‰K˜"?Û,tœd.DTéGÿ e¯Á†lÿxºßþòåä× _pDJlш"–U™îÅ¿y* ÇÍ÷KjQ Ŧ íÂßDHë[h3j{ÈNæáÙ°ì:ëÅ¤Ô‡ò6\°Û…!xV ßû^JÌ>ÚËö„SxôA Ù³Î^+²yk˜ë*RÀSº2†ž–"jA83®®‡ƒ¼‹«FÞxiÎÅ?•§ãï™+‚ :ìQダ½`ÙÛ<ô¥v³>+{Ús£°Zãqø:¼×œ}Èzh2yö"ÖÖGvíÓ9Á¾Q» Cõë–|yï 8‹6%È~ùBŒ™Úd°€Ð.ØNÖnÙ[æcãðÉ„‹(áBXgÞŠŽôJ£pÙ˜ôÚÏkׂ•sRŒ¿0iÞ}oí2t²5¡B?=ÉF#œ®žûWÕgþ ÅkçÖ¡Ö|nxŒdºŽmbŒÞ¿Vr7mb•¤HyL6ÒÕVª©–ªFÑŠŽ2~Ï`åþÑ8ý¡ˆHüXú1P«ºì<šÛˆ«³öKi¿ÉýƒºC¶ßf稳NóŒl‘ñng`¾ àß{NFŠSeq6V5ñÍÛ0LÉ ÆåUá±TÁë :ÑrŒ›ÇéM­ûf0p÷a®ê>ˆÑÓ]Ç«‚Y£Ñ«¬çzɱ!Ûo^èv´±ãÉ|ÃlS ´"Ÿ£|ÊðÑN¦ù?É—+.•ŸßÝZ7»™};4!ZXxth[•*¡ug°)R„m€iééµ]ã+*@ª9pÝ•ÐYDÀBÇ¥i‡†ý÷`5uã¥X´ô6F‘²5 Á«bŒ$Œj¶“+t>£†±¤è<ÙžrFÜ>—Ý:¡{£¬¦eös›ü×5&i¶4 z{”ÝP'~lÉŒÁgoS¿õº¥™b¤.ºVð­„njFœÿ}™s)`\Y_w¥õR_µU70Û索 -Z„Ýn_w„K4õ‹n-û{ǽ®äÐcœIÏ /&SþÊ{a¿BÚÊ`~ò¢”½ñö‘}ïm´ÛÒx0d·ï•8Õ9å"†šÓÀ †‚ľGé–Æ½‘$T@ñ7á;ŸEEB§ Ôøj· {óÝV¼geýsg'[Ã\ŸÒÜH¨ÈÃëZ ãň#×Yª×‚luúÜ"t[Á}œµW@… Z:.w¯ÕÑ‚ÀH¿7κÇ×ÁF£ùرnÄc¶á’Žç1ö}úCmƒ®_¤Í§6‚ûÉz©‚æD’ g£þ0GÄ Øš²W5áT€Žÿ·²†1ša‘SùR“¹B¯º¥Ÿm˜×CE&í‹÷¹Ÿ+Áª[3=ã®Ñ©7¸8°U ì/LåQ=w´‰Š°ÏÚN>E‹º8ˆvþ>¤yoˆ>}Rt}52_º˜*Vîº\DùhG;°Æ„Q‡:ÐÚI$¥r¥\ÄÖØ:†5©ÔQ€cü/âúWÑD †ý¦bÄS;.Ÿu»›™ã.»j(©†2&8ÒúGÂÐ!Ôó=‡ÚÈ)W¯_¡°Ì"ºr9 3wš^;Ø‚-@Óm)d7&]‰Ž®Òƒb¦m§F y­ÍÃb¹Î!2ø2š€,1Úi¡X]5®Õ æ~›Ÿ¤Ì;*Yã+|”m.§ÒTˆ\Ö BË™äµËqF¢{y£x®"¾Ð*z¼ éÑ»V6Èc Ú5Hü´¡¼r;8SÁDè¾g««‡`.´D¼Ô5,œpÎæ]ag&¥í¸¸å„fÌÕÜ6„n6& åVˆD«LýÅüÕ©‘oVšû¬\—ñîéDèÉ[÷û:HÄ eM}]”›„ªM}L:×äã™àAÍUz6jHI¤ûÝÆr§OWiwâØ˜të†ÈLq`]ÁöýNÝE¥pX­§™°]È”îrQ53 •N¬W=óvÈz¸ZЂ¨DRJà;퇚½`•¢ƒÁ„š¥Ô 2J_ã]&ÊŽãAM$•î,Þ]Ö¯7è ›–G Vœ¤Í‹ÀPŒ4x‚äò Å¿/#EsˆÕKå°qDõsh63 d"¢^Ð/‡ÌÁ k? Šp´n­S3;üì%éª0ÑÓ}S£U[D¼ÚLJ_Ë»eN½÷œ‘Ò1±±˜RƒÜJo2ýÏÚ–°ª‘¦G׬ԡqÖP(ÕYÜMî´fb´ ù´Ãõ;^ë@ÒLä4ìV [mÇ›]1Æ#ìðÇUŒÁ殆ÆmÓÒE@s>,™¯ˆè.Bæ"cóÃÔ¡ ³¯H4Ò>/ËZ-kõ>„EIÚ ±$?”´Ô?èÞ‘oнr ¶þè»R©s|ç÷´Œ¶É©ƒÍ¦~«ÞµZÆÆ9Âøðå[º|º+ÉÇ~ë“â©o+1< ¦5ôÿ_Í=rñ ÀPú(”Uz)Ìõ²EÎÙp-s—›”†$u;d±…êƒ<ª+¸óÜ€óΤ´EÛ{9 P Ä»QµŽ>w¾§/='_)¡Ñ50ý`iú_öýj¶8‘Œ}:`ËÛïODÅ·ˆ}¹úÙ$mKÂÑÖ­¼’¤©î¤ü‹Êç/ùÐÄéзj¦Øº€Ü(О‰Õ†ØÃwnŸÂ•< ÝÿE.Œ#K¼0*© >@ë´"­S»…v-ŠâÝ(渠Ü$z”Mß´età„ET‚ià ÿÃ!1!€¼'\mÍž‰ƒ ,w@º³<ᛌîÿ‰Á’LýØL|”€gfU¦`‰ºr¼ó—áÜ«rÝÏmàmÁêKa¸ '¤¥Vª¿÷=4zÀA²I…þVLÈ^«/Öh6÷'›z'zy¶R弇Šs>Ny”‰›ÖI´õ'ÈŠï>‘X=2]¸j\ÁßP·q$ƒ.iÖÖö‹i!ÇÖrMY0þ 3õ @¾+fü¦ž1–¸>R¼ÿ<–£Ú#³¾ül¾é#1ÏÁ7-•¡§³à:Ê=},Km†üŸÿ!ÜÐjs‹Ðí~ˆC–5ÉJÆä:ÊtðÏœqÍ_g@28Â:Q{ëÙJpªêw'2»"„[)D±|ßÁï& kí9üCב‡„lµånZ¯Ï3mEyÅÆµØôaÇ·zò7üu/") 0ïì8wƒF5W܆’Ó°Ub÷†fçÙÍ KIܨ ^—Öl ÛÓ7þ¨—Ö‡‚ýèXq‘1½¼P²,¿.e'½uOE_ažY®ÌGJÏÀv‚e1¢Ðø9„HMòòñ"-çaÁÙM¯TªwëÌJ¾#I ôü½QÑ€;; ZAˆ=|ýÒÜáQÁ‰æ¾ª¸‘T3 ŸJÌF6 VYUñ¥35¡qñµÙo!— ×¾kîÖà=³j4± ¯da„Œ²ÔçÝOt~^2VÉI"+"³(æÁƒ—CXϺß<}ëš}UsøBùPÚŸ+'£Âû¨±ÿ¢ß³'Ö‘eI‡hüikýÔÔÞ‡gC‹•’Go…sð}÷tµ‰19>7Ûûtn¯|˜¢OxËl±ã¾¤yr{¾Ù¸¦CÏ2tÖtåÎÇ4PÔ30Ä 8wnŸ×b³¹cî‹z°m„q ýÛZTuJŽ”|‘pŽb›mZÍ8÷v£jìÌÍ–h9¸Åðg'êöœŽÄò©Ïix*ž¸Ž’€þ¥E‚í¾è,öÛ¤iæc‡…ÆŠï_•¯;'GKi …ø¹`Fn;¥fòúËøe¢éœi ÎéÀ%˜eÁò>­g¯f;@kT·¬x™cß,ñQ¯§ß:+oAòqTÞšù¼ØÙ#j%ÑúÞ7ïùqH[gh[K,bÒ~åµøWb§lg7ßÅÍ4+¶îôfzš|ÜìÔkâÐ3‚4û¥®Æ&] •3‹×îl—TíBmt€å”m)©^K|^5ΰ¬Åƒ‘–&…a:=ªúÇóžkÖ÷sÝ!6/¼a§d9æUÖ´(Û±µÁ•ô]›šÿ —[©CªØ}h)Æ*?ð>¡(Úh+1fì`¦᳨"F0?¿ôo”ŒoÚ˜(vÿ¤ˆ)£/Ï® ÉÙNa‰tv!˜¾Ûjj9š}kì.Tt#`pŽŒ¼ãÎ⌓}O|2,ÁàÀŰ©ÁÜZWì•É¡”y‰”\æÑÅ‚»Þܵ…Ô50C5› ¯TZNŠÕzÛ]‰H‚]yšÂA4ˆËkÄDKPFúBàò]XvÇ"wR–Ìn-Œ„¢œÖnÖ‡ À©…Ãa”´¼9Õ…ÃXóp—åTޤi =ÀÕªò ö`a/ËÈ¥*¿žÏvVµhÝ@ÿ&ã)B/#¹~qk•…œjÇ ukÏa«Æ©XÐHÛæ@dÒ¨Œbš«Pv„.oÄÇ Ç`§jb xÎîLùko'X ¦È6sŠ £ÿ‚¿®]ÿÉÃ6TøŠ} +0EÛ¢þÀGòC^qN„w¸ÞmÈšÆV¦Þ]~ÖTÄ~bñÕda|¼\ËÄòì;¬”‹V|CW•ÈVŸÆƒ'gRÍ! E𬻕¾‹ËÔè«à–£~Ôð/žŒ@Ê×´GEbkZ¥ÎÙu‰z_‡·ITdÇlRôj;Ѩ­íxÒ__/>¤°Áå}š'´‹Œ1ýtÔÖÝ7"ŠªÀƒá]ÂØ% ÉmiôS؆`Û!ŸÖƺH µ"ÌwFïjš<ïwžË—Ù•ØÑý—8KM¨ÀË%m#Bq›1²óq§+' ‰•®³¦`P:’&J‰ãÁ,].ž»Føw µ€ÂÎ]©™sö&-‡`½£Êˆ0¿‡SØÈ¸h ÜZÅ‚ñJPÔišl­<¿ã§F.‘èòý¬by_¡¯N ¼0z`¥^ò+I3 =ri A´Ê‹Š’¬ø¶ø&³EÇà?pñGzñlE{Ò¢V¿l¹o¶/±fÝ‹¼{ðæ£èˆÎß¼*Qÿ¢XYÒôõ³î•Cdm|=ìl3²œür˾,v,n]Ý.2ÔJyVþZN} Û›J³þã]±ÁêY<%Û°?áÆõºaÕC¼p4L›… æ›M¡k+þ:0¦úðYªÈ;«š$¸wÛø¢„ÐÎO ä¿âÏ8fœ—ÔIˆ £–þ¤Ñ°Ê›1VÁÕÉö»&ÕUFºÅ0ÄøHDtX W?”ÔKEcÌBòÇ*t!><" ¹o8Á>òlÃÛ¤XD¬T›ÁÃ+{±GÓ߀8UQ4ß’D¾Hø;G2V! šáãí59aúJi‡Dßh¥'ñ‘Ùµj¸ýÅ øåïÇWôîŸ&™—MQí›GZ>D-þ «.ù²Ük°¹“…YEm¼¦x&ðt±­ˆâ/|0ÈuhŒ/°"Æ<~zþ–…<:4tÙá¼&{™ nÊBŒjCõ|áH£¿+×åÎ/JÂæea6ÂvûúŽhATùË%S°0>^©<¿à‡2”áú`vã°‰,}´2X…ûæ¤÷ØßÇ>9µßãáqbÞ¯¦qëÕ¼wìNÊä.Ï]¨‡¡fȦˆ³å\jÜ ¯7J•Õr"|=DaãºëÍYŠuÀ¤f¾bNæòѺŽÊn¼ð/¼AàŽ ò*¶HæH¤'J" ‰ï·ï\´–f0ø±/B™{\/gJsÞU± ªZä_llŽàÔÚþÚ1Š]”hc-uvùù7D,Ü´h'á\’#MO‹/‚æ»Ë% ÷Ç‹e£‚ßø‡•OòKŸÞ}ÂmvkWzj¢Ý© ©…© û†^ƒÍ•<'xÙGÈG\p:çÒ{Ç¢ðCÂa·|§ök°;Þ„¿UxéºE”|,’9*R{ö/ë¬\ÇŠa ¨·— õ3J4xk éFõtT­ ÜÉâ^‘AùfÅx˜¾c2ú´ßvšô ”@,W°æ‡– ;nv|FцçUÔϬLRUž…T»=ê~ô³ù¶æ†iCl‰Ì”"¡åZb°×ýµ»ðüDùÿ-¼´†ª™nô't&GOö)M½fŸðÑžz~£ô¸îyçÜGñÍ=^¬û¤WØ"+^<¯r¼B :ÂsõzG¥:?µ³Á&cmªµÄ `z›3pÓùm,džI ž}—ψíù¤Å cæ„uÅt5ç¡âiÂü» OÈnË^ŸvW;¤büš¯ùLQtÖ•¸ê')Ä…F„…ÔQÿð< ø´£É3úSw+ezÈTòê·?k÷¤/ëí¢¿>È”šÂGhh |¶£#U‹©¨_X½N/¾ u¥J]×%÷Üžq³lU$YÈ(‡õ»‹tæuãò¤Uç<ëÒUlCÁ¥[M]t]+uÿ¥$#l4…ìÊÕñ2i›“ 5/U+‚nyÑ££K5§߇Ŵ4jÿÂÇp‰öÀB9#¶È*õâƒØØNo¦@`?Ó«G4@Ùvïå›í®Ëï:ûÔTc"§«ºçÁØ»bÆQÓvƒãåðØ üÑ1Æz¸ÔéúI\Nþ»TIÀáÞ¨å¯ ­>_Z–_˜5yÝJ"ä¨YÚñ±ÙTñÇ’þp¼Sk=dQù·DÛ3$ƒ,&}_‘Áñ‰Î\òÒ)þšÛ¦žÏ~k!6~ß=´G=vBƼ÷ËÚ³[ÆÀ‰o­êù %­(9KKÏâ"I¼ÔfÙì%˜oÂŽÑiÏõBUìÍ´Çß y²êÌ⡲çR˜Kkm)SéaTMø“ÞŸWU•D¾UrÚ¨ Z#`£|n™) ¥~ ôí[ ÑR§ñ·{Ï€ùéaÅç ˜^/U1¡Ðŧj ›¸“ƒ¿:wAÃPij¬özl°eñÏ/“…~§@…¤èJZ"˜!¡^zêr¹å >kÕDÏÀÜCFϺ÷f—¿©¶c‚\¼€¿ó±6 f/>¿æØpƒ&Ð ØBt‹^&¾Ü î³HC‰©„ßÓôЦê­mðÇ&ͱ¶Ä8ñÇø©ç§‹É+“GKÿÚXÊJty½×L"óã$NŠBÂ{œá()sÀjÀ1Ö´¡Gº{”Ä žEbœÛ"aHóêÕI7Š&‘ ¢£åÇH^÷óž0S(VA[¢g<ß6Yß®©ìñ 5<ò°"JcW±p½›Q¼ˆFÇ—KO t´v_³ŠÃuóá é²ÅU üÐ"þ@éºë„…ç4u þ„#Ø© ѽ¿üµb6Æ‹ë`G.ŠzãùV U7¡÷ j>áW»ûŒ€ VJ–òyN‹_†HSÅZóáèÏ5Ê.¾$vù4Ù Äqä’ÎP lWñ¸ÊD†ú¯ŠÁÍàs-ž³SH…JhŸdGŽÄ^Z)Æá[èroó(`UT{œŸL,K\µyãlÑò^‰7a¾°ÌÐ6ät ¾ÇîËÁ‚'šíf©NË®§ZøÊGYv§àé1®°âW©Žgn$ ¦)AæÀŽ%g?Œˆí~0Û6nÎ(mĽ-±=Û^yÖ2ð.3„Å,ûÕ.sš|ÈÃÓ=(([«O]ƒet¡“¬¯¯üÆÍÙ'´ÒÏþPë¦7ððÉBx°µ¼þÔR¯T§9÷f·8ÃiŽËØrD‡Sg% ´"­U k´wÁ¾Œã?70B½ÈMÉ©Ð}¡ ?H²pô»½µ¯†‡ÅêøèÇ;˨âÅÚ¢Jð,!§pÛÙ±qàx»*¾VÖ$RNnr§×ÊU&ÊWÒ®²Hʦz,¯>:")Þ"ßíHôÉ îçUÀÞRô]Tpç–Ejr6ÖPÅt,¦0÷ÐT¦ÖBgØr³/‚Á3[Äycm6ÑÌ2º±z´ŸE†š^äŠJ‰Ñ[^¦øðíÓ¯P=ü—ÀA&R’ÉûöT!Wf×–ºWí³ª–³Js¬ª`—Ñú÷jø“ôµ°½½IDhÔ˜gë êqË?‡ãÅ- —lâ%ÍÏÁKÅ‘Óh“ZöØ&Ö®ý‹˜;”âµbù™A}…Ð=J‚þZÉÅ i\©ì†Õ@ìjòA÷ÀÒc—Ó^³5ëë'Zs÷°Ð÷þ"£Zï©ÃguïIY9kÉÚÛcØŸC]¸7>.£âüÈ£’ ÙU€Tª¬X.&BŒÒ³ãõÕ+ÿ¢õh*J£\”D:™!?Ï5ŠørßYvpš/ïž$Îá§'þ(f“z7xN!È5tt£ò ú 1È«a§ÓT)ç,6°‹sY%^±°)ÆèSñÖñdD9˜ik†#fÃvÏøe™˜Ùq‘·þà‡¡¾*¶Ù±—ºXƒõ!蜜¢Ž{ýÛÿÔlØ<…˜WµhùÞ2¡B¦<þuJå嫌ÐÍgùUž<ÓÓ5x†ÂਇM¥{É®æÒ„¼Ú™ѬΠ3¨+ø‰èùùª[ CVâ‘ÄÒ¼Æ3Œ³æë:sŠî9².{–Á/&üã €Gò}¡9ßSmÆìi‘AŽ˜jµ&ä-áñÖo2]\ O•[Róâ£Ïn09/çS„ ƒýÞ¬æ˜W[g2VmÏJæ"¯þU¨{¿Ùª¤Ö fÙ†_ã³.Öºil¤¾h©§º>#Γ$ªØÏ"Z¾ªb¢(ʜך¿,ºõý—šœÔûL½"0ì…"Dß2㔲[¼ Ö >ß…&¥ TáÈv߈XƒF©Jß:}BÆg':‹ ïÐBÆQsžx^Àù5¹oTnVÁ³W¼^e¸z9 /Üî¿å»s O"o½È8ì¤-—5®]€/_wz0â~Ó$ÝOà4¿Ù{’cÕ ¤aÞÎ<]UèwÑÚsFëÖC  ~ãoT'Ô›ËõŒJJ¥º¬gKØy ñ…¯ê‘·0>KFÆñÿ(#ìtÐu 1MO8jÛ ’ÓA$­ò”]ðUdP‚ÖT€/Ulm‰›×T̂ԛ¬+ÁOÚžò¼<”s;•ð:Z† §…îŠÂ#3Ã/*$÷fºÑÀ\²Ôz¢®&ÃÃE²h±c!L“SS ¶ïU™ðIrðš£z´JèÛ«³['¥Pì?[Î1Z F Y"ë7nPnpK$Ôb†y ö’!I{Öðx˜9%ēƒì_~LeiY§šþh™ülƒöî—€½a’»°‡¾‚Öh>ÝÌDmsÙ®ÝÓëˆòðÃ`Tâ‘óU|æøÚ=®Q>Ay&Ñ^kž®ª³0±!›ùÔ§µXÄ!æ‚"8[›*‚i™˜;8\Ї¦XÇ¿¥°ŸÉQšv€ƒÆ/7Ä{öÄW`°ž C÷tôP‚¨ŒIê.ȈHFÍTôV.ê.È]ªi9²Å"~ÎçžhÀæ<á3p1  ì/Q #Òó®[°ôùñʺJ²¾a¨` —ˆt3q r™7îÍ_ÎÌ”êâWÄ*ÐG\ž›nßèjYîD¹r°+pçÓö~TÕOÓÄ (®-3fW=6z,*¸ ·0í‰óâZÜψ.–Ã÷‰52s¯ôa¹¹Wœ°8Àû—#k-$/.ÇòJƒ‹µ'¦Æ’±Íóf¥Š¼X |àeiöíàza§–KhâûY‚5çÂÙHcÞŠ§ƒC}anwµ;W`"ÞÕ1#ù÷ãê8ŸAúØ‘«Ç½÷:IÝ9(àªnøÛ¹Š]²éüH¸€oŠžÏ?¶¥ZëÂïŽX2Ö¥Á ?ž$™‡ëäþrD‹•óŠÇ»ÞmB…Lç²Ä&~‘P‡Vq¥à]¡2žl­ê|Ô•!Ûûªx;?É2ë‰nÍË}ÎcTG*V&ÆÎeú(­_§³ TÞÍà¨/•¹µT2éQY:_Vàê΃qOOï³5ü…?\>'÷—ˆ|yd€að°Ð¥ÍÈ#«èìïܤéºçŸuýWeÙwEŸ•Ö›‘±ýSêïñ‡Ã”Iït¶Ó÷‹Û»€aÁU¢Ô§!¼¾¯g„…ÎUvWÚÏê¹V7Âòc(*´Rèz}Æœ N˜T‘»À¢Wv¹+/û”’@×f¨…/ É7ІbÖ!ï®·wîd¹ô/½°%[‘7€ä’(}ò÷/,¬Zv0Ø:Ý@qF_}+$3EFßa¤Jê4«ÀX-ЄXp˜Yjà‘Õô}NÙ½éë´›C|rd,ÞÇšÊ(âJìîO¼ïÂÀCäè½üúœG¶¹Þ^ª-ÔíG¦·q!ƒ,F½*ÈwˆSÞ¹à]Ÿ8Pº"Ì$ç°ÖŽåC×P‹ë2¤{cÛÛ”]ú ZßY«š`Mw½œF‹Îlmzé%®±3¦7šµÎww?sÈéD>íÙÆš1Z ¾ D €n.ü÷”ñÄûBÒÓ%¢ëîñ4% iFFG–WpÑþxN~ˆdeqoi¶ÉN©>ä “µ¦ˆ)é+V•ÔO²c«Èv]æ­Pf´YœrMZïÖ&ÈÊŽv¤2äÈ®#Ýxzlm\úl…›õD]å\[tƒ Þâ÷€ë¶©'‚zÇ™§HÓ„!{e¶;ï§Õù_?µ.ñùín{?û!~ßø²3­]¼NBÃPÅÉßÚÒi^ž©™Â;À;©p¤\·; 6Þ®½r: ƒ]×§ɱÏÁm pDò"€!ÂDnÀƒ)Uuê!^òˆBÁ¡ÓÈî´9 <£Ïïm=÷å"†çØ+x±¢ ÂÃŽ:‰Õì".åOSÙ¢Š´Ò­Çÿì,Š*Uõûv ÜX¥A8Uæî3¦eM¦ŽK÷ ÿDßQíÈÇ”i½¾êNWu¿ Ó!M—Ox¶@Äí?Cˈ!ˆ§íuié?€œÕCñ›ß·P‘ˆ+ª0RhG5ä¿jãþÑÙ=§>Åf ¡Úp>“Ã’—â7ø¹ä÷'9ÉìxþqîOÀ¬‚·Ô=q®@ê­wãÔ®õrÀ ƒÚö¿¤×i€Ë€Ì4|ú:{Ñ…KqT/7áq“ ‹`›•ö{©ꧺ™ 4PaQo '¼HBqòLùͤ,WnÊ`¡Mm¯ñD¶ÕÉz–W-½céIÑ“ÔAÖ ;E1Í)—q–n¿ ö.ÉÀ¢³t0—F6äÕNõ¢éLÑöˆ øç¶U_ ïOí@µnסӻç¬,ú»1‰€PØ@zš0òõ«MàtG{p·\y!œ{¾ô‹¹!êo‰VÂ*.¯žÛÇÿ‚ää3õ1Â?rÉKJÖà…VÕd‘Qí…þf‹ŽÐ Áv€TÛ]ìc­V;´ë®æ ª]¨Ô”-áZ}„‹•ŒÖ<üðeë;¨ˆcbR;aU¨»-ãɈ°/ùk6õ±VåÌ:É–â+”(%rÉEÙ~é8º³o–5òÜâ¦ÚøŠ Gzk—7®fÔ‚Òq›šd:æ´Vv9• @Q:ÈTU~ ›ð¢¸Æ×òéwÐVÆpÂZópÛFØÉk[ϵþô–ê¢IÿùïëžU<‹ÖFïùdþ¥·U[ËÐÕðí¦°Õx/ba0,ïQ¬»§äâÓg;M+Ç[ÝVoR0Y©Æ/™„éz Êò‚ºÿ•ÏçB…® %.d?ê2kÿO 1T›4rÄ 3ÃcìÀÒI‡”•Eë¯å„~w ž/ 3’æc=#‹üVÒyõRŸG•ѫԻá¤*ã.½†Æ}ô˜ÝF 0ÔVíF¡Î_å4tìvK‡Gã!õm©[¸ù—3@o)¢rëG±€Ðk¾ê¼"aÝÖ ãæšó]¿]Ôá³¼‰Ü¥ ß…ë.ØK ÷òØäQ`t6^ý2?®Êf Ï¢'æ(en”æ8WŒýöÛ*”‘‘€í£¯C“iUžƒJt’`\»¦!€Âš¼¯É%©Ì­‹ #µZüK¯ô\|6­Q³ 7»®»¥‚í=2?ÄŠ÷Žª õh˜ÙtÃÃgË œ±Ø·?ªÁ¾K;&1Ó(Ž÷‡œ÷a—>çåäq ‚*¬mƒF¾~r+ ÌÊ­ÎçX^=‹ƒ»Î¼ë£À¿íËý|“qøÒÉ@` „ŸžnZuˆ[¸‚Xì &—gæ¡î¾! á¶-Ÿ: vy?v™ë(ÑmS{î‹~]«"oßeÛ©yîö'kH§ò¸`S¤…ôìÅ×ÞFci,dÜd@ºœ7ånÀå;ÐP‹#v‡>#l´]îìáÔm`U(ÐKxå–„žÕ-n=Їì'¥J¥Cã æéïØpõhAZÀ˜OÆæã•ËúädizžR˲•‰îF@W®’E Ê™$§w Fyԓʦ8öU²Ä'ŸÔp0LÃVÌ™‹TðËC\*c( Õu°¡Ôëš†Š‹¼Ùì¶5Œyí4÷Ë6#ì(2é¥Ð’;íÜVY†(É©ÚÕE[ZTÎåÈŽI«T•)îN¢¹Špˆ!dK$‡þéc+™V ̃j{ç·˜ušA!гQÉù¡·ú˜o™Tud ¶ÂuuYýFP€z­g’2ºð7û…ÿû¤ØeæÀbÍGÚˆŸæßLo=ê|èð²Ö": !kôÄ y-Ä>ØÐOª…ÅÑñžÍØïkG =$*L>öYGÞ›îùerw—–$[“½ykþ®7ÑÒ |5öÊùÊÌ{¤T ¤CîRœ×²­¥54yj¿ô‚Q“í¢éò‰–õP‡ÿ›£´÷äŸ&µ‚ ÞŸ½ø®xgjª%©¤ÖL¤s9Aß ú#å÷vöðžsr9‚QÇSÍÚh^"ÿe.Èj\(´²ÐÆ¢®Ý–R㬾»þ&˜Ø—¾°À/O¬M¾þâõ…ƒEm°ãœåƒ ÏO áT² Ç0pC(›Bœfá Ò‰ùÐMv;xl½ ±7¾$)½ÕpgæS…™.5e‘÷¤ÞWt˜ÜY ÆÛ[DÞu‹†Á@ÁqykÛž£Âæ­½ l5oàÁí­‰O*ʪy¬"R‹¸ÿçéQýë¼wýž‘lž=àA.¥Ô½“ц1Þ3 ®~Üãèpdt=5f?ó;a­±½ó 4‰Öðù#» ;2„6ˆ ó›7|¶WÓÞðÀ½ry¥åÚöQõ5D <Ÿ0§WÆ^¥Ñ ÐȤ¨¿4=zR¸ò’Ödr>ÓøO™ËÌTvŸ: ~¸º»‚²\[ÒØ—.—nH•ÌãRW˜¯nNào‘K¾€û$¹j˜Wy@LY&¾ q÷&eÀ;:ÙÏè}{>nò©³X*~ž—\7–½Bµ¨­Ü¼j÷ò(¯Hu;b#ñ ððCÿJXïW¿Ìîê’ ¬ß œ§‚‹?±<}¢ysSî*I§Èãæ£ÇÚeØùïŠÅÿÅ~n¢Tó.^µ™ù§&fº‚ò ¹@h™Ê/út°fö'fû…G®FRÆŠüÿ}¾±ƒÉÂ4¨#SÞ ùÊM\æá/ hœ¦ÜÐ'M´1RŒ$þÐ’ëLÉu=‹;ô‰ø¶]y·¿ƒ©õJwÚb@aÖ?á’, óZp=‘s…Qó¼ƒ:ORì‡Rm00¯‡”}»IkL{ÕF¦9 Æ6»£¾T^GE0é§ÛÉM#TÅÔ˜³ýU‰[û®^Øø„ú¬"ÿËß}žfw4UÛ ã €˜â’æO‰§,—åÅ‘àg­r^:@]\ ¬ ùfàü"ú¥‰‰x(½eh¨€Ã…·$ eñmµšXÉf0}ôø¼_¥ZšûR)–îW5ò¸^ÊÅîiT¢HÕé®^qÝÑh: õ?õûý \Ÿ®1òÅÝ_Ö˜U—÷wî˜Î¬‰{L#bj®Fj–eU*Nóð®ørîÓ¾•ô•&5Ú"§Ú…6ÕóTØ¥oÖç#ÃASÍ,+N¾1-"4´|¤YÉâF L‰¢Ÿ—w¶ìG-³\sm§ÛžXÙ­@—<²KôðÖáxµ‹œèÇ[Y@È<äÇ–x:“CUÃÑ^lí#o¬JÛ7…HsÉ2ž½ã1™/|®±Š¤Î†ÒÕ¤Ž(z¼¤KkxZE“ê/Ê:×X ½pAuUÅ" ¸È -ŸÕ›¥·ï*ä’#¨KTøÚœâæ_ÿn¯e=ST‘Œ7XÕ=qbƧ¹ ØèXÚPÕ´èbõ¾=ÿ‡=¼T\nB±ªoO­.–ïUûñðg†cÅô‹Ao8ÃkH)µ"ËÎÚÌäy‚½„kEueÐÑ­‹À›;=–ìï^{;D§{^Û(°{ m÷]7h¨º?™®ÀˆCó@Õ@üg¥ð€†ý2ûüKÎu§ú1Š-Ø?•I¯iõÚ•{Tµ2ö–Á¼&Ÿa;;E»ÕXa± |{]å}OËÌ¢› ¬jpe5 ‹]dÇ’ò•6BmTØ»o}ƒj£P y9a¨ÄÞB‡ÅE¸#cPî¥b¦¨´ÃH½Õ¨ý7Á£R6y7÷Ôã÷vƒ}ú²[VŒ’>jëÈ{hmXùCNòK«Z%%}8!_†Yö_c·?…jê;·Ñ§w¨ŠùÜŸ²ZÅ5–\^ÑaßÞÁé#ÑZ°O;ÊqÖ'V˜«Å;ÛZ¿.nˆéTô:Á!ÆÐânj‡ Õt¶wÉ4;Ð:¶¸Znו™U ¡´ûÏò¦3¸õ¼”0¾w‘Ë2ýÇ4º‡U°‡rU¬%YG(f0€>¨Ù·Ä2»).Ú@ MÑÊåb*8´•Hã ½i ›Â¶ÖÍ¡^Ûd|)<­1Pv¯Ôk¶c©9u:-™¢¹Ø2Bj‹3qÔØ>‚ƒ™ÃZ‰Ï’©Ô»wÁ7h%Ê’~~Z’êïØJ{…èí•äõr ·°ô àbwLh`ŽÃ²Px<\¸òd/9ð\€Ò}Ì Z•³pª2§ƒÃN‚r3 ‘—ÅäÚHGÛ×ÍÐÆN&(Ç‹fXý[»tÊ ¾Ü0`Zúc$õ’1”K{øql©Ur õç|°WÒƒ wú>—Žq0*a¡’˜UZœÕ¢5Rñ§%)ÓB?]ò'~éiüR$¬h;ËDÑ'{@ˇû(ÁÜ-“i+ä œî¯ëÒ¾ Ö{íÑDpmûïoº\6Ê‘a<òÞ=h­N<² œÕó¡ÎJL~÷×|Í“Ð~\ ƒ…îîÂN5„~ˆŽîù’ïTùž÷îŽF]c‹\¢ÂÕtÿÚe’ÛœÚ*È€VwB ^¹â+ ù ªŸˆ@Ÿ¾\ôo.Î|€VVŽD#¤væf4ñø›ˆ‡3øÓ8ô,½ÔÐÇð”Ñ…»"n%f©@v$[¾¨À±U®•H‹÷ù2ûv5Â]r;²µ¨ :ì+ ½÷ÊítäÚ{rµ V‘ÿeôÃÔŽŠ- NȃU@T1–$JúoÈ’ ›­‰A`ë/ÕÛ¸È~«Ï•¢ã´Z…L4 ¶M~±ò&†³„½Üp—Þ¥PXöX%®€ÃÝÉV-hÈÍ’w̘ž–¶ÀÙÚùÉGWD A(‡,Ší#^–-úQãB}‰:A™wt¬R¶ÏFïaÉ™é5°×iTí³ng¦¾<ûrñÊX鳎â Gâøà%9P¬ö­œÍ´J°ù5ŽIÉ6LƒÎ~ëÆWf;É»+üPžºwUèÅ-ÌT®AW½ŒK¸q»m§šÙžaÐÜ¥«A2n/¦B·àDGÎÀ(‚ à[{‡ÒÛM5è&`«%TG«8žÿöž©ªÄdÞÔ²sg/Sy€qßæ]RH¼oWe¹”ÕGÖ TJÅš±/\Ú-u¤]iû%3wWº“x¨šš›2‹ÌûC”!Ì’»DÕûiønÅ °SÎ Ù„Uÿ%ä9–°~÷Õb©208°l»Q„ÙÑš´žVÄNg'šð~çØ÷ýYŸGG•z‰>7 ]Fc± 9qÒ¶ÕMïi à±póž_&Ö!=ƒ|‘"î¹ÖàiúÈ~9åxýÎ+ý|Y+È&íwŸ¸“û”ìwn+1 å^¦Â‡ËKíÒN€ýÒ©D~•Kò^W6‡ÔY|Ùõûâô½‡êŸ%FŒPŒ§;”<ŽÀ%hƒM˓׽›$²""ºUæ´Ó*È^(AÓ‰ülôU’mk)IQDuæEä1+¹*¶DIëýÁ žßheœƒÌ·aüïži\, B_CIN¿v-)ù ž·x#ÒÂåú„G¬b$Õˆé¦(Á>Á‘j5_:®É€K$ÉÁóáM=€®³N‡OFšAY­¸Ö]Õ7a@W/Yj)߸ÑL°imiйɓ‚7¿0rC£N4‰™<;£ÀÉ#8*je‘öXÎc®õœPˆ)ls  ëñÜjάâ_•Í„¹´ÆAËB’s+´›HjÞA‚勈¤ „êÑfÀ<.[ÅYšȨ̈÷7Tp£´Gf&Ï>ßÉ äñXëkMœ(ÜD†òù•°Sûuã(ÈëpyñÐöÎAC>vÙØ.¬«b¬Öú/쯌 ƒÏw,×Ű1^½Ž¿õ“šîÿ(®"þ b IÐ2KßóvÇÖ+ÁµÄºaü«Ê¢DÕçj–IJ…à ‘}âb€»Î賉>ñO€j<àJ+½,æ»·sCÿÀ©ì•Gr'2׸ Q_œ.Ãze*:dÕüÉÈ{g™XûÃóÙ0"WçÄm¿o8³Èi4áÕ5i—9)kI¿ÑùðÞ¢ Cà<¤¡eïÞÛtýÞ}kmÑÔ'§û(íS•y¤ðÎB*ø‹º·°Ïtsïšr¤5UÚQØ”ÚÛ´%‘ÂN¸V¤c¯…&dØ]†©ó”)œ:¹“û´VÔ1súèÎQŽ! ¸Ø·-¬Ÿå…cÚ(Èò{‹(ïäû}‚ÓÀ5 f%0ÅÛî|Id/ßžµB:Λ!j#¼ÅD¢*ôôB)ãPM.ã¤鯄ú‘QÁ}e’¼éÞï~†ßD'O ©!KPCš/t#*¨°µ¶šÁjÁO¤ÁSOô‚¤pವ„"ƒr\¾± äY)¦wá ϳW•¦zŸ!ùèÆÍ  ‡MP!Ó ß`"ƒPb/¯æf.ÿÚ>ú*Çk%϶Wãå ±§Î>œ ~ø£tzh<,DYU5+ oé@`ÉÛÈóÐî3^¸€BÍ2)> À‹é4jì- opwX¿ª½ðå‡ìÆßa’î$\{Cá-:”CCRys§Q@Áü s#âbÛ¶ÜO°¯Èô°l¥Øhx«,U”_)…`¶F¾ës"»ch:dà’âR²ÙÛ}þ{1Ay2Iq‘)&ßo¼  Õá!ëö9šc;Û ä«Ç/©›Ál1výõº…p9<€r|d¡·Û’ÊÅË#Qúå`UââÏ+Õ1ïUâ02cV1-ÜM’|† 1ø=rÐÜU‰l£no¹¡6Ú~lžØóÁ‚Ïù:"&™ pô°©—R•wøØÈ­h2äŠðDiÔÃú¸è6l*Ô´µ9J}i”Lƒ¸¹i‰ø†¶¤ËÎãIý1¢×hcF…Å$ÍÚ¦Ùe-îLrÂYÒ{|"¢v>·³¾fÞŽS8¨–µŽç:Ÿg¨’‚YnÀ)Éât¨ ËÖ³Qc@¢P^ŸÑª`½@ìtùýÚ\c ²za˜"ü^¾R®ß=1$'e  ¿[yl9ÃëC²šIÔõÝFEÛ««rùK·cåZ`6sÿbçmËÊ ÄwT‘v1ưá.sø ú ‰Wtl&º,$urS5´ß‰[Ü”=É®kbÁ=•Ô)/Uµ9HÚ¼‹0e𩳣¤†Ëp-G‡îu–ôìÖÙâ2œ†ù¡…ç5ìXþâ£xÝ£S„©n é¿å˜\QfÑv”EIެÁÌ’’G«s }C‹ýê}zû©uß8#ÓM†Zûþ€Y(>y¥t¥!_-TSI»Û‚U ?¥ç6šËt•û/¸k¸8QÍ'ÁÏmÉ J~UÜU}¢³„C2´g&9ðºçï1‘²¿?ÐÛÕ‘SÅë4PKõéˆFMéþL嫯Ònz¥‡Ÿ-ž¥¡Ñ6°)¥lš@\wȃ,W}5Æm¾½‹‡`Üp‘$5Œ[XŽßèq¿s8iáXÆs¹i ê‡+˜¹õíRFžÝu×MÛÚ,GaDâÂÑÔ Žñ¢tËÄù}•B®3â×{öW´¦ƒž‡Àüªî.F‡˜­1¼Q 9Ÿœï˼ñ‰sîçŽhP$®'’S’Sh%em3jíhùá‚Þ;z'™Ìh(¥uˆO@>Ö~ÉŒ‹‰I_Πq6nÖywqç?ØõŸi3 ¹éC„Q‰’VlN¸—¨)BŸ õU­¢.¶Ý2#' Є zÝQ§yÔŒ;Ç2-oA P1W4Àµ—…cÔ™s]­Fe‰<\r²bèTô;9^›é1%$ÿNµlyYËS8¿©¤œSÕ¯@ 8TV½y87 Êþüã!$ö¢\(Ç’C°yŒ¯?ž“ °´/’M!MÅH·A—ÚÞqÝ’”󗣯d´Ë“š 3‚ ƒ‚ÁÕ¾ŒJ}Ã×É0¤•{pÌ|'OÚ] é`Ëcò'v¹Ãì>´‚ÄÒ3ÕdGqFV+8œ™ª0‚E6BÞâú./áÄÍ2æ³§u~ 2öAo¨‹5•„t½9µ€ïŽ«b~Œb“kê“yü Ô‹h1C­wE™”òˆ¾új3>C}è‘÷§=~0ÒþÛaU«÷Z˜P=ëŽò¤)—QŽÀ@ùPàQè}~*Ý.'xHÃcÊ+2ÿ“ _l7Õ$ÇQl-­U]¨G;°ÊNtÁ-Y—à8á³Ë‹žñ›j?Û üŽÁedìl?p‡NúÙÚǨ |Q½bÄ¡ãѾ—iÙ·÷t¡c«äóÌ'Èo¨Æ$j2Q—™˜,§°ÛCßæ—¹ªp2HoðàõÖÁ=_Ÿ! €ÀxŒœQ1AG󿪑$ú_ƒÝåb™\+ù jèó™=¼Äöµò$Hp(:£7mP_xX`•ÀÉ–ICl§·[ó¼‘Cp‡C~qcóŒRƒo“PeXÖßqns4«ÝzpÔ 8 ¢‚Ü…CœÕ«$‘±Æ3¦sÇSõ¯£ÐŠôå06QYß‹³ÐlŒé^ ܾÀî…PNàÊ™¬ûZà¢x!,ÊVµ¡k³QÖ •~MwLy²—Š›ùѼO’Õ/b Ñûé²2'öÑf®PXG?!ùe7Ý/÷ʘ˜F¨#áí@+ô{×Âã3ý#“»ÆYD©„rH,î{5]§8Ä õx˜ÕH•?ÕàƒIû‘ÿ®)_ÍIxstñJÓÎ0­ÐLcY+s:¨”KðœøiãÿÍëÂ3_IC 7¬&ä!d ¸ #¦õ~G„w5çFY~ ²K´&j„«Kß•ãMÙ¨gÅ[ýä—óæöÞ¦¿Æ´ÀÔlýà `ã<›Á^±3á¿&*´ìàð–Ïbà è¡údºRÙÕjèÙ7¡$p¥Ç8‰aGy/b¾ q ç†-5ˆeǨ—Uÿ³´»P<ìxøÁ[¿Ö1ô»{”a ”~.߉&hlŠÕ­ÑQ4>†€ Õ—¾à¿¡b‚óÏŒQ 7¾|ÙÑ%x:§vf5ò³Mº!ä/Ï¢\‘ù‚=vê¿c*;DYžŒBä"éÌEWI} Á"ZÛƒþÆ+·Òƒ\6”º].pL-R7>nÆZä—z¯ü”eµ’KM„àqí¾ —â§„>ÝÝVaã…Ïrmà™n„Þ² Ç–}˜ü˜ Ö]ßõS†ÕfùS*VõŒƒ*ZÀ[í‹—2%8Í4›þþE`¥+%&Ó-q¶¼Ëy–ø ·3€aßœV³˜9ª¿žÝÄgÞ³¸­PôtÝßÉ·GkŠì§×ðeg¯ìÐk2|k -q€fƒ¥dìm~qA|QõZ¡(“ÿ €j!f?ù§Õc‹ïX›¯Dªræ%Ò?ª ©@ z]g=Ó…ÅéDøL d3œƒ”ÁçËQoL!X)M`0ú=êoäKi?iǪåZŽ7zÓÚkåû† TDV9ì7zù¿h=;=¢ £tÛº½Ô\Õýlš´”ÈY¤o¨Ûξ T|o‚ç2ñ<âø]¢’ùœýŸ ma«ú^ý3J×ÜØ"Cftz¿ôÞÚ®²e•í pÃí·ÝÒ”ØãѺ=º$q˜ç'+çbH2’Šh`–”îWŽï£áø´þs'(±F`BÜȵ0” +£C–eúB¹@‡5Ó|³^eéà'âÉÊEŒÎÍFsLkÛfÀoŸŸŒ&%®K8QÐÏcìMÒróoÊ óô!&ÉÔ6L†¯£ W-X1HÀ‰Aÿ è!0:zÿÃ×BòbÂ`‚š;€{¿+‰WRâ4`Ò›ñh`Ó_¶‡„eA€1Á§Ÿ6OÉþ²m¼6Û¨Q^#tИäsߥ$­ÚÒBäëÈ6óM"¤zUÑŒ£YQ¿8 g”W#¡“ƒÁk š Ø!æXör{˜¸³\9dí»"ê­-½KÉú ™$ÉÖy#e€@qsåü Ë´Á)lK«ëè*6” "àR²XIÝn¿Ü N/ÒúV ròú51ÂtpJÊa¤–Þ+ŠÓÀý¤³¥Ð7_# j‘ЄÉ覛~Ý/¾äh®^y¡¯ú!µBðQ·þ˜á3¥ÙÖc ÜFµ­ þìc—-ªSZì8iˆâÈ~–,u2<ýwñéŸ{”¯uDHsý©&3üéƒG£¸0Õ}Žå"–n&u+¢*•»Ü;FÙ³ç"‘CÓ¼å%ïÈx¢ë`iJ‰À¹L×cHKµ~7Èv'iÒ*@ñ*%€øwq)T¸¯‹T‘õ´/’Zöû¶P¢ª’+†ã;{ÃÞ°Tö*¤œGÃQ¿­DÖ‹y©ÛAЈ¦Ðóóylý³B1Ü=øüÎb®4[‘Ú†S° @k•ÆŒIl݈ñåÖâ“‚†#Kô,%UùRÛÈï ³ ƒÈtQž¨¸LÕã8îp¥iK[»QYÓ PM''S¿ºŽ:ög€'rºù³uÊ SÏÛ‰š* ; ™FÍZ¶ÿº¢Ü=Ï~ºÔŠœˆ´BÜ$_×HBÄÈtxñù …¨2s3d§NÖkñj}j:1dDÌ_dÆÿ' sõ»å¸^„*»5㟱`G'·yA0OÁÇ,O“ÁEü,Hr{_¤9dDË–i‰ïÓ!Mr¾‡ ¡e*ï#gFëZ_g±Lh•§¿f÷ÏD›aûÿNµO„¾¡{\UY_ÓÂð}Þù'þœ¼V)ø+±l2ïÆ8ÖÚ ó€ÿ¿2+”yêÇe`Š©µHìo¼ódã·÷;¬ÏŠà855¯Ê}µ]g´›‡‚ºä³i³^MÏ’ã®CdàW ²qœ­¬`µÏî# ÌÓ9’õk:Jÿõ²ÿrŸØ;ÄA0J»š/!À¤Éc‚øÀHIòˆ¡™ò ¦U˜–g>“ñé<÷ÁA }UY¥Amr¼jW*ÞJ}c¿‘æ·fŸxzT é VÍÞó¯Áà¶v=6%Òü·†klÃûN-ûi·૽ҞÎ<¥œw¸~£ZëŒÐ¿ñðûgtƒPœ¨¦+ëA÷:A‹÷¥÷žßÛ‹/²úŸc¡î.þ–füÈú’—ä>À Ö’=vŽÿRNígã_/1ŸÃ",rîm‘c¬4&³; Ý¡´ögâ•1ªÉíB[Œ€Å¤CˆÝ*!õÖ< ì e‹R‚¼Ïêjå&@Pû¿€ýÏaóN²¼DŽtí•EÓÚ*‘çKº8íš¿k?Y~*LB)Yë#-ž¶F!r^®ÄuµÅÁC¨Ñ™žèH(q‰ólå YèÅi#aÓÚ™¦HpMº=P¾à¹iÙ hÑÚwÎl{Ò§HðMn8=BµŸ½!6O%jÿ§ÎSÐy¤ÿ¦QL,,NÆÖ!·ãÈú ý@öíÑðIJ¸dxE=Kå$ß<Þlnw5ãe9~R€*·Ç ahfÅ”#Ó[ÍŸÄ‘tšÒJÉ@×é¡‘ë°{ÀžßÀóúî6pvá…Dqé½ÒaY{bgE‘î??lñc´PHÓáSn^Ã9O‘k#áZƯ³¤¡Ämó"“Ê}ܱ %í‰?ÈF9Ú/ŒÄ–£Ž¡d°CžRÊM!GÒY^½Ëžª>BŒo‡'+Ce§UZ. ÏØO#1yšßRïD_°/ô’®v bÙÙÀ€¥F>tZ¨œî–YU@‹ÚDkoœ’6ŸŽr”ÞaÙÕÎæø¦‚½º»ù ø«ŠC!/<ÚÞ£¬¯âä থæZ›÷(¥T]žñÿÙ§qB6tîÂⅹǖ—º%W§{’Œ¤£îTsïdaA ¿^\îiœ[­080úb#Ôá.!‰uëZ«˜€ ÔþóETJ¿R¡2ªÉÍ9A®0:5ÌÅýYz›#Ï6ék*ª4^–ŠÂ¯Íïæ%x#ˆÝq—y ØfùQ¸Ó’ž`ã Ì„C_ê_±c¼Ì>ÁƤÕòOóhò a5ÙÈàëÎýøGãj0Ê®vä³ßihâ¿^]m æeªÔkAýyy²ÁgÜηº¦žÙ€íä(ÕëÈ?L••Œ$p.’©ãèÆÇ±Ã¦3Ô#ï¤s‰­Q¦J¨*yÂ.øBRm©­ìy&¤.‚Vƒ¹NæGMÒ(e×¶: GJY‡ôqžùAf*#ˆ5`l.°-Òð{Ãk(Úš›²vÜ0n¡›‹ ¿ÐÜgËqb!Æ ®˜OÜ$Vü­|ᆵö²Ÿ÷Þ!UPìøÀ²B•ž»Ïi;,¡$q³ÌíßÎîÏp VôË{´³æ×`¯h.e°¯4ÅlL"ù Ü@£¶ŽÈ,ÁßPòŒ\¾qìñóþauù<0H”Õ¸‡‹¡LTý[Ô .ãxOÆ§ÓØêGøú¦V æ‚ð¯çZlË·3Hû˜8´’À«Kmæ?ÎnGUâä²Ôûx§Ÿ_ yß@­îXÊÝÏ›‡WAËŠðÓ_4‚m¤&Zò.a0Ia—Mþz\ÃNé·ú|ݾ„Ç„ƒìºì³‘bVúÆË½Î¢#4= ÎêЛ‘]mp@í9­=0eÊÖÀ€Âé© ío°Í`oEÜšj¶m¶šn‰¾rÄ èê»s@X¦ ÛA]ŠóÉÐåìœ3‡ðTŒ¸mv‡ÔáUÛßÏÞêã¶rÕ‰žK4‡'̇±–—/­vma°4‹!I^g0ŽHÞcyìí¡T“÷5eŠw¡IÊîƒóô*Ò {ÎZÒ—úк«%íóὄ®u®(¯>jhqk¤Ð/€_1%G«gñ‹°†=|ÛKÕ“!npF¬­í0y”—Ñbà´ožìø5LEü짯QöÒ:„å¹…œ4%ÈÚ*åíæ2dExDë^AÜ´™;êÂLóRP \*4 >$W‘ã¡¶ñ‘Š¢§ˆÔjðwktæB~’ÃóûD8¢C·%Ÿ¼usÔ÷—éæér±º j N…=‚0GÕ÷)°r8hø¥§sÌ’J•DÓ €àïQ\!¹…(öž$Eß ¤ “&çå 9×`Z¯ìʨ—1ò½ÝV1¤•LCÁ0ý¡¤.±b±oaP²£íÙ4+Ò°Ù ¸w„Sõ‘4 Œô®ìn$ž•[;Ì¡ $D™vÛX”3lØG?‹Â¥^Û[ÐsëûÇÉ£ûLÞ% OpºÎ™ý·cãÒ#Ñ;_BRnrë¸ÔYñq|¡s»ë˜H6úV«`+Ûj÷f)¯A¯1çÜהּF¹Ô‰>É¢©‚ëáë^•ø«Nœ©ý…%t›ÐZp¼boà$ôªOŸÃÃXhh)ÿ^Œ°\lÊ`` JŒ“•ý%k¤´åM¦¨i@+¹ZýüAL‚§6£Ù†‡®& ih ÇàÊ]KÀwÍbsÆC1ÔD_âÇN 3 ÍïîéÑâ^Ó-é&pùÜdx¹úiÂ?h›’ïÛÆ’ÚÀ °•ºôdxźäv¶üõ±”x°ÇÈÂØ~þRkJv±Æ@dPÂÞé™`^÷ ר~Úzq™k‹憨^ýŽ»ªìñ'ÙÈ(_00¡×Œÿ€L&ìGûsÐ>,À3-vá瘹„¯¶ÈY6Ýk¥L¢A}ÍT¦uÅëšôÆÎ_KÎYäL‘c SLOƒ}‘YO0Ö³xÌôŽ_Ìò½µªn„=És¿j)\Ѿ|ª2}‡V­;*lZ ÚwMŸ³å%SÌ.˜ŠFSž…2X˜‘Ë "ˆ@H•X]¾íUOÍsà^¬kY‘ßÒ„Qó eÚõ,6*Äã21£|--&dW¤î ¨ªÒÚ"•¸ªÚĈaí‚·Z—˜µAâ¿[å÷UhC¾+ÓÑ?În>ÆgsòŽHøI<²) Œ6íkNwù6~Å+öb a *­EüîTÖ¥-4b6’.h¥§y¬øVzG©Î]Hüw€W-ä]ŽC´ÙšOFÏ7†Ê¬å¤¿ëp'à“,$îÔð¿fJ5™Ä_Z….=¹]*;SÛqšîÓh !t`ª`Pï\îÆÐÆîÈ·7™Ë…ýýÅÄxv4-Í# T$»·•q@¦U¡Ç}¦µÜWöùCbþ9Và¿ÕAHÊŠâhÛŸ>VaÅaqÐvb/»9å-+†Â³…³"=i•#¹¶+*^"I;kÎÆòÏ#”È—l‚oiÓe‹“òš-¼.\ƒ–hI˜ÞYš¸ Äæ¡ýþÅFcŽüOšmçú `¿9Ä¥Ù |𲟂…âx몀9Ôr܇-Dš…$šK³Žß™=kXQ—Ó_«aªæë—ÛÒ”›ì`JR_:öíôØÅ;¥ÆCñÚ£ìÈPNßÎÿøW¶µÂ3§1<Â~LD BRôlò»š¨ÍV’µqF~ÇCïé!à,~DÈ¥â°ô;/¸IQÑ÷é†!Ñ2eA_ý9Ns‡¾XLL|îÁkZjÄûÕfÒ@7ûžú`§…É(&Ø|Ú’e¬¥ðáí ñÕÒMùâøκ J¦|ÙÍKW—9“ èËKž0ù–æê0Ù~«Qk¼’% Ì$}$xƒ5G TÕhg=)DúHkš¥¿EŽìÃ}?¬'(}Ȉ™Å¥Ç7q>Ál"—‹db=x¢¿©Óš`I“Ùî·g>žë(WtF*Ôcð(ÞIì0ý!‹@’T[Žt¼lŒ‰¦‡pQ2àÝdÉ×sj>Ñ݆T7$=›ÌÅzTjŠ~=ŽÌ;_‚®8’í ±Ÿë ?nÜÁÆ †=¢|‘ŽôÌ瞬:b¨á_–*Zè‹oƒn/0öаâ+°‘á\ûøn'ã¯Ì£gWî›ú zpWÛ¼7ð¦žàc#ÁÄ TÿþˆQ–ñaøö[ Jo¨>zŽæj0Úú¬—6U ‹•øºN¢øÈÚ.+#¾jSíäàUÕ’š~L6ußeÕ°ÆFrñÑêëêÖq!;–Á³$#Þcµ]¥ÈÃÊ·®ÎÄíÚ›­Â¼¤¹òí-ò¸Ý/‡· R'•èV`,šþÈ݃Ý7•oõ#êÅ_¨‡;«7-qAߎGi¤°ÑeK¾(z‡/µA¹\*Ä`r¼‰>„à G^óöÉ›˜QHŸ±r–’áv0ôki™šI|W婎ßsãæ9Œ½£á/ˆâÞ§Ó|È‚NŒ;3ÅK:A¦ˆŒO½ÔÊŒ³„Èpœ;|SY·‰enß¶z1oû™P¢æ¬š )â<ÆéRÁìxì@a‘øÑ”¬ qá0kÄpJ“zj"ãàF²B²QÇËõ.(Ʊ›u’’¤2–¸w/O‹m†Omý€À%—1 ƒÕIDAÙÀs%t‚|â FÕô×{U¶$ Gx†Þñß,ëÕ‹AI‘åj©Qòý´†Ép™œg)Û/ z‚ÊðÐ Úq‡°HÜ_.êz±€ßCrùAº[Ù8¨'­ ̜ƷrwtFj(©ûd¸ËŽW\Ü;ƒÅ¢«O ÄmÆÇK;UÀ3z­k¤TS¡I àÙ?Ì™'ÙÅ9˜‹ï7F@AùúÏ^¤:×[óNžìiœÂ}8õÜd¨yÔ>Häbˆy>zMo*D¿7N`vèÄ/qDwÃÐñãe3Ø+0äî¤GÒT·Ì& ÝK´.ñýø”C–¤¬ß´#vÚšIÆÑNdV»{ ˜ÚÛáD0Ó Ý«Vk´°˜_>%]×å–žðÄ^qÏvIC“3h¯‘w%Tè÷sé!žŽÐòy ‚ïm;šzÇ´ÍàÕ)‡D’3™yB˜€Î|?öбîv™i†ÊJ~vfš{•à ½Bœ¤}It¤çh¨~i¬œÏÖ <Ce†$E@ÅÐ8F˜*T^;‚ÝØY¾ :\_g°˜éX¯• ]®"c±I^ô0( ˆ`AÝ@ZýøÍñ¿×'^.\-SãŽÏŠ™ÖêE‡f·/?Ž×{y8môÙ¬ÀeÔå9¯·È·ö¦øü¾bô‰¼yüCÈ€Uvkà"–?Å‹1vt¶N«lveÓãÒ½wí“¢÷'‘ú“웊Otl"…ì+úýÆ Qò@P£ÎI›…L³Õ%7è¦\ à].(߈¤ZhÂbfe|à ¿ÎÒ˜,Z´ÖH ‰(ÚAƒÐoÙÀx[p¯´›úågæÆlŸ?+G^}çÉF¡`ò½÷ìÕNjú×GíQé>|Ž ¹ûæd³Ð;þd£¡LìÏ=ãzg¹¯T¹çy†æÅ\뜌Ÿ6í’ü7R¨A ú¸=f–Çut_AçfÿaÎ(rƒ ÝXfx]õ‰]¨fø.«S› žº¾ìÙ`ؤøåÇ‹—g©t€¿ït8žO—•³Zboé*Ú}^¼ð€À¢û^ØaÚÅfûÝ×3éîZt{%Ù[ö,#XP—+³N/IÃàSæ=&õÁ]sš,ÛÍ“v]“ÿñ„ºœÎ-Dœi‹šÙËÚ-H6Fúˆr;2dsݺPZ2oxW)SÆâh‚Cqa~^åêCí… z³yÕD?rr}a½`´jª :ï&Ì>îp§Â®Î¦FñŠ"F>Õw£¨BÈR¤­m4 ½µ‰±5.²FÛr -ÃÓp ‘•„VÄKH";”roq@D¦HuwKQÊ.ýeÈy’x øÐeœ >F³\ô/ Ä÷“ýë«1íËêÔˆ°°ÿmÇÖ]Èü,Kà–5;ºø–#ô6’2ðÿœ;ŽÈw-¸å[”O1Á4±Z~IW*KEf ^Ïά¹ÒÎJ³·ábÑêñ ¾{[áIr—𠃌aÈâïuÊÆÈ-;ÛÅF`è>ý¿&²û<ñ¨æÒ“ncŸA±Ð¡íU÷¦RÚ^`RAÃý}S—ò;‘àD€-(Q«]ÎZ” %É}¡ê™EðË=02ú­Áܤ¼¯ÊSÖÈv„Ä×c/Ûeq»ð?6EZjæFa: Ä0E‘VÇn-ILïa±á„«oëmÿ„ 'E‘¢Þ} YSáŠ\ùÙ "á&è·þĽoTæ!¡‹ ¹HŒçaÀB ‡q™‰Ê('ã‘Ð|QkãKÆú†/Ãåð…q·z,–αó íybh ñOAæXÎO8±ŸÅ‘·ü»K6©óoržBÑ­ÐâFkG4ŠzµÌjêÑ—…jTá…h ¬™úEÎô‰ú°ÆržR±ïÐ'1n_Ÿ Ëk¶¿ EZ«=ñ@cüŽ+â|Í <Ù•Æ}ž„ú ÆÄ 8ç|ìâAXèÒ‰XVÒcì>Qùå'›Ô€Št‹[👆±~Ô1g(׿að¿æ%Ó)QÈÒÜ›Ìn¬h*à”xÀ)îŒO}* }¡C>uJWØ¯Ì <ü_voniwTBÌP ¦æºV¼A7^g.`g)œ²¨2ÔÞ²RÁ»P(Û_/¦Y¢“¢V±è`¯õšfâÊýdo£O”ŸØS&N@OÒ°ãõí{¦…ס Ajxç^"Ì¥â·ãO7óðŸ÷¤ïúÒ0µ÷õ¡)“ô7ˆ_áA n ô¯èçØ.¡ —a‰†pê…ôQs¹/óa(Ú̬©4óU㪺¥ñ»@ŒÌhWßø%|ÞÄQs† Îø(6RŸÔË0)ºkõÁˆdççèS*¡ºî”¥rK€#˜óN“¸ P$_jµ¿ä×H¦L÷9€Üu±›˜N8¡r+°›¦ÿ"?ë0v 4eäʸCƒÜpU6C¤—'å±´o«jV‡›´è€ÇÒVY# ˆ[í-¿i³_ÕvbûÝ!`ôi¾’5üå2ØFðA««{vò‚×[]g–˜­è³tm¨3§‡ó‘‘úç]±q#ùŸ`d{ó×ú‚Øçùµ¯pÆO‰!läPzO˜Ã."…L©$4ôàBÍ;K¥²Œ1£@&ï6qh'³oqc¹» S:àVΞ©±Ù5ðU®]‘÷,ýÙ¯&f!öŠ×ë]ŽÎi/ù¶±TvšsL8¢\Pø’MYòÔ¨<^¿J+'úW‹£fºÊð+CR9ÕS@ÜU¬)Þ-éA‘ ŽKfG?SE*N.$¸8Á~¡Ø{ÐãsmܰøÅqÇONÉ#çXüß‘°ÏÙn±£4âJ´ßf— À) J«r‡ª#»‰‡rYó#Åv­?ž   ”•v–1ÑO2ULu­ÏÜŠ¬ž`yóC7ûyãÖZ”-àÙnc ‰4Åý"•¦5âÓzm1–©dk³zSê‹æÜ4“»´lâÆ[_–bF-œ÷¼à³]Èk Ÿ]ªLX¥À{pŒß}ã§!`Xßoj¿Ì©ˆ+ƒ¬{-†åt–Ý›þ£ÇÐ#—Y%|‚Zý§œOE"â}Ü •&fýÎ4 M&Þ¡©°< qÙsû½€Í5XgÞ•#N9¯Ø¨aclZ À„S›¨lôeÚSJ–Nšÿ§ù^-ìãmŠnáÚ¨]nùæäž¼«5Ì¥J2Ú§ý/?¿Î±‹±:I›Pb&;ø±Hµîù”õU²¨âA×f&mÞ_‹YS²êÄ„¯ýÞl«äôövm¹âÒ´]¸÷bdœøà0×61¤ëÌE­P†è÷3–µj pŸRâ@×j» _0ÛT³îpÚÈŸPd^ÈïJÜ?÷@ñPæÍé*šÿMuH5¾¬tìaÀnÓnk žÛEeçØòBªÏèRE¯¨%ï[ôR”aZ`.eÎs5×`$0žìaŠ€Z»<ƒ|Q©3÷fE¢ÖŒ›ƒ5ë3‹ýn¶¼A`®•%0¿šÊ€ôþ«oŸvÉ@I2À;Ë–«dõäüÜ"ý)ìtVe9ñT0ßÚ*°#'„"vnwàw’N’ýÖauDj=zÝ­ø–ßBþ´Î2hcV‚‰¨ Ó´ÀDÛ•ˆÊ!æ@‚’,T:î$õW¬jB*ä,\NÑLœ¨­y\wò·¶„rì÷×n?¡kiÖë°ÃÜ,ÅÆ•çØWÃ+ú²”+ûNR¨^04Ç V›c‹¯»îÇ)6{Ÿtž=5Âï,-GðÆwTï" ò ]‡F{£Ïu}2`ÌU+$œ@nþOWÜŸ œÌ€´dØšƒ+¨ýy0ÐD΀·„pس®1ÄwÁžÂáÀâ<ØÙbC,²-þ:šSÅ_¼ºP•r‹®ªåä}P èÖ\н¶ŠÇßQÜg.GˆÓŽP5¸º¬±mȺ½ðî½ö{BD’ôÑî„aWöÖ ~¯ù?‹ÛH]_ÀžÆµ@5 < ˆ_YÕ$Ù~yá{{é\éŸ+ uq­:û`!èí×zEøŠ% aHbf~n€¹œp•Ñ„<½/L=ý?ªx»;6ÚZ„ºü±Þ`¼Sò^ÖQ’Ezv²ßÇ·tVK;Âç÷ª ¿LŒeýAXËš±NwÓ¸û_mâæÊ5ŸÀEôžM¶.m–Ù²ƒÍßù5 ²üȯÊ`áh=$à‰uÈâ\÷MH…’´_yß΀™¾=#d(|röú˜räjÌÉYR¥0¿RJýÉö$5c1Láðë9ðV+Z!ƒßq-CUϨ¥£š62Êð«a”/Ì’™ ¤d´±Q~ ‘—[e5 d¶ó ,àôÌc ]c²G—Ìžê—ôR÷«&ziX,p’¯aó5Px‚X_B‚ÆôfË{å`Ôsj‰ ßdCGÆTó”å|GÈYˆÐ•Õvi:Ù4Y-øR>2\¡¤6RX¥ ÐlÒîŸÊi—W£–M$v×Nð~¤^²û!ʺÜeëçÓ·[>[„ïIîK(Õñ럽ã3Âlß·å+t¬ë¾X=>tµœ?|`©±k[= ¼/Æíå0]¶õÑ]’eµ‘ÕÕ½uî¿ØÒCŸ‡•ÄܨU° €´j¹Ýôïˆl×1}ç!¶´ï|ð8 1[†ê²‡ÿBq¿ |J+Tغ…¹##³ZÀŠdÈ‹¼e0¹°KMìQ­çhÊ_ŠÄÖq÷[உ QAú®rúí¿¿Ð’aتòã’ÜüÐ!,ÇžÄ糨ñÓEø/g£©Ö¸óãÆu`i}u‘Ô›á;‹Þ+n,ýßÍò«Ÿá þ.N0ÛÇ0Ñ4êJâÉq9'€êŸŠ ˆq“]7-(—Wó†íVnƒE>~Ø.¿Œ‡GDŠvhD%ͤA±äöc§&bÙ6í¼Ø3 8g"`yÌfDï[Û tÈ5¼fJ+FÑx ØôNrlÒàTŠìî,e…EEÚô´m€à^*bŠ&µñ½»’ó4p§’Í}»"EZr¡5_•Á\LD?³ñÿì/Cš1gøÐfï"PlæjÓ”?hûVH,VÈ»8$£‰Š1— c<è§øŽ«ÂËÝ‹qÿ`A“_m±w‘ò]_GSK+‰™ùg4_öiç õ8V0ÀÑÏ·É””ãj‡s„œsóa\'x¬Z¦TX…lQ– Ð6pxT±ÈËáÖ¹©ß¿;N,ª"÷h¬,?÷µáK™Í=Ǧġtšø„Ÿ÷í ôÎòX:1 ‹èNKúw²a[76€ÞIg=×@eœDÖDܨ¬¡ü&TãŒ-ÿ®,Ó²ûÐs×cFœ þp-x³™¦ŸugBHìdAÂwxÕ%ÛúH’{ pÓÂÅ{Sƒž¸6‡>Ì´M¢à"Ô ª.UT¡†ÿÃUBa7ÀÚs°–eQ°Bh'h :ë97éû•]çíÙ ïê¨0˜;êÒŠYn¥/îÐ2MàÕCG0‘¦ÄiΖK¤±‰„«C¨ñéY‘+f –ÁvÂ@OÀCv–]HÁÇŠ‚×4ùÿeþ+3?D³X»ShÁ<÷2öYm/U8jÑâÈïýöŸ¥6…°™•ýϯ ÎŚͧ箶×>ÝOµmÇ^¾ iý˰M-ÞJÔ‚±ü¬g ¼`ëecâ ¿e]àèèå˜ ÈORÆg69„ä©Ù—Õf–Á£pÄYñÙ¥³¿C€1øÌñÜ5|$ç&®Ve˜‘s ¡ö†a=:aRM8ú ®½£Ûé†ä°ÿ)käF`S¼”{Ìaü}u\Ä51j¨éHe»&j”Ë¡cIgÞÈüË!_§'Ó÷­¢¯4BRÖŒH¿ôwà_,™‹@`œbß’^ê"6ß<Ô Ó~øúpÁ?>þˆ™.µèT"r0Ý}D{Ì2Ùó„líòº,{"Ýôýv#X3%uâ û¿,©åaóýÈ÷èç{?„UîoAƧ¶€¡DúP€œ¢OËvžÃÓ€xÎfâ)À9ì6 –#Üñ_\~Ã6Š#SêäÑ#254ßùã± ø‰Ôùe(¹¬ ñzô"\Ὺ6¾:èªÉ´<â³ô»“?Q)ú"È$†¨]ZOrDØÓ`ܯejxÈ¥Xæ¶h u£p‰Œ`BˆÁ¶#üGZ* !hê8ó IÌ·ˆ°Ðµ/ËÛÏK×ïd-¾ \OT-I‚5® Zh¢ž¡Z-ÿú\j¿N=ÞÂ7M&‚ÓT¯2mxŸi÷ZÕÜÐn$N{F£íƒ H#½'í¶™b$“—ë@cô»Ÿ¼”gZÄ3ç­U‰”õ¿µH¯¬ø¯ò “ð¹Ýµ÷~2mÝ×¶Ý"ƒ<;·Ð½k"Yà&Z𳎳‘La<8¸Ï¾Ù||áì-k¤ÿ‡´Âqö¾O‰Á)‡Ú fB gÎAl#8Øy7}z¼1deèOŠMsjlš9Ñ^où^®«»ú±0zÚW©V³ó«nYSÒà±FxÀþ%&ç{Ì€2 “ ªÃ@m¦ã1>Wù° és€j ¹!Ýɶٺö—ê#T°ªå‹‚ëÞ „ŸsyÒõ9!wM$™ÇÍ‹T,÷LA°­Ô+ч2ÎMª?Z"+cƒâ =ÎmÒV×|“h¶@x0SÅ s@jNÖMã}»´ ?èçÂý€äôÊÂ|¶>lè_©§8¢÷‘›Ú›ê=äÅ" ‘(¸£JêÊK½î  ¯K˜õ”.õÎÇÞ<ß·´ Q¼LU ÿúIFd*®äbÔç›]Ä:ÐÍë:Uª¾_HåÀBkÏKO#kT¶¹t*¨ÇïMóëT9×'ñ‘Ç Öf¶Ž4òJG§=úl¹„ò2Xïþmc’.œ±4ùù8å-Ö†Oó{XçæR£{+0ÊrÚ¡çþ§ÕZj˜=a–I-‘ò6ZqTŽGƒW–’z]îš!»c •ðþ‹ù'k)”G (eL v¡žøu@¶]™nÏ&Twû‚Úår{¦½ËPêç;çŸ6ú5k+ÄãÒžµW[ˆ­`» ¸= ©…Bãl½B(GFß”p.ã,è°SgR§@r´líç>[;nœ¶w¥›Rððõ–ïtÈ3öÔD}ÊÙ/#RN6‚ B¢4a¦Õ°Öý›ûDdå<Ûr_†ÊžU‘ÞÕcÜP;BCÓ X#RÖEo‡cKؾ’½è »8§@¥ûA=§Ç Ëýl•[ñüúÒ½ö×ý–y.êîž0gÖbÍ8Çÿ‚Ž+â_x#½iýÍEn[F`H÷§øa”6­6 š4aH/ùþ”LK*Ÿ“ƒÝôå‰ëºÉ¥¼ÔÃ4.O½ .™„8è¦&?çl*ÿÞ¼•føg²¶ª{õ–‚ê:Ú¢ý§`ÿË{ò™þä£98ÙЊ±IÆhŒÒ¦lg“WçgÓ8h(ÓßjpXο,@•RÚT"Šš\¦f%#`HCñ2ÌŸqrö_ƒ±s0i&,ál3–SûrE6†Û—‰²ãV‚@!„åÙ3k-jˆ™mfæ'½~ƒ~‡nà% 3[»6­m.ßJœ;þ«…•d}®£mW™Ò³Í´ªihþÕeHgÅê\ü{Vgç“ùÎ_Ý•ÀØH æL‹“\ Î9jáàŽÏ®òbk¯Æ¥Èy&˜gýª¡˜‡‰P|ëñcÌÿñòè§ÉŸ÷»d™ÎƒðL`+ß\íñ`¤|ÓŸ’?\Ÿ%ŒP¸&Ý:J ÷n9ûéM;*y‘1c¬±ÖÇál~9.Zx/§d”qp;ÞóûÀ©ÍÞPã•ô_Ç‘ñÓÙÅÔD²ÂÉ{6E1vte'áΤú iÅ›¨ õáÁsc¯÷ÃnpO­"O޾±Mý¬eK–‘–.:}QËøçò½ ÛÁ$µ6rÅD—ÕÉ“ø?wöL/šd¡‡“s®Ïõá6|á7R¼}*yn'{¬‘{íƒO‘H¬®BÐÜóÒ+éNX6BæØÏýJŽ]Å1'Žñ0ÕT4¢©Ìœäëžâ¼8Mû Šˆ†x g®¾æ<5zà°¸@<•)Þ1ñýë©°ükukзì yæ°i@ìnÂq"¦2Å`«â !}i³×«qZ4]¦ÍÝ­—AE_Š#ôm‡LL¶`…¾Y†@9ï+´3䳎o´lh[%»‚® ü°.hõ ‡fR;à2B(æch;Në^ᦪ~pHó3Ø$Ym-%õÍPSáþ7ÄuQ÷3Áø»bNlZuxøº)÷ ‰±SÛ—ýä‹Im¡ÕI<®“)f;ÕÒm%Àß§þd,p•ʺt†£yÜ~tôWô•òj½mS¸O—ÂààPÎôúJöX^;ødtùë|%l<‹í™œz*‡ôr{Û&€7B†ó”JÔ1™” 8Øêhød+ÅrÓTÛËà„°ÐnbûP„P ­£öD’‰(ÇDööÁK¸'ÔÝÎR‡ê÷Ö§ûg‹ÏŸ !h)/'âÈŠ‰QâÆD9.ÃB?2Ä>ù&KΚ›`8Ú€è˜ uÇ}À‡®úö޹ +Ñr}wØÌßjûŸzÉë¸Ø„Nkz‘ÖôÕz¯MKr DÓk½ ·«üMáÎö[qÇì½fémp^|o€c©pîÚ¼æ³xNdá-jˆÍš_ñ\"ÔšŒÈóêæSE½®È8ø »ŒWQ¼ägkÍü}õV8«5,,/*WGqùKÇ7*œz¨]ì’ps¹¸ŽÑ¦]|ƒóŠ t.ª%ü3‚YVy¯!IdÒ!¾¨ç " À.«+&Gæà§z×ém'É´( D¼Û衹TÎì}„RÅwª…Ü’”zA,‰_ѳé|M¥_ãx¨—·¸Å¬çJY•h ±o˜ó(dÁtÀ*sù<£“eu3ç:…E^<ì"ü¤ëŸ$ÔãE¦Ö²ô~¤D˜­óÇ[mâ/ê.èÁÂ{=ËÖ\ îxˆL~xq™ñ»íœ(øüäg¡¾ÂUïçÚ¾gJ84ûôùQB§÷3€øi@°Rø4Gá ¥+CŠla©X7“gÔ+A´L™(/‘ ­_ƒ¡Æß{rû°ª{º~ˆe1³É)HÏÜEЊæ-zÌî_zÃöÛaú7a:¿“5·pí¬ûÍËÿs´yÏœ?³×ƒÝã}7ÐÓ›}$»ˆwLµïð'§R¥_ç/W5'Lå nýýß/¡¦ï°^È>Gˆh'¡ð C_‘ ©— 䬑)LOMQïÁE}ΘXS'ƒFJíú‰bÊ;CJæóš½q_ ß„éÃú¶g¬I.ç,Þ ÿ£Ö®r°1Áºm°I¥\¡º— Ö·jô³€°ô`™”Êú£<37°·ÓB‚/ _Ú£S¶Z^ºPÁ‡²ìq®š9º!#TØiÄÆÇÔìmÓ©k•>°Ö–wÜ5èœÑ&@Ô†ë¶ä°‰_ÑhÁguŸÉ±H>PÝñ˜6òxC¼’Ñø='q­sÉB!5ÔÉ% ùˆ‚ˆ¹aDÚnmò‹*14Øó,äh—ÓÝp-¬]ª¤&QN^ƒ„·÷óžEâWìt¼!îMò¬¯¨TÀáÀì-¥b€ Õ!¤˜z§pÏÙK·µÙF¶æ![~ݶ¶ÊX„D›Aµ/nßÜOÎ#YXšJÖlx‹ A1c£Î> RpP  ê¡Ëà…`.þ ³4AÕœzÃ[4ºkUóÂF\Hzá!‚»¦[ß­ÔK˜$x3É*R÷/b¹ÍýÖ5æ@ù%”ì® j‘Y‘Xì)¾‚(ù×ÂóÀQÞ«hÇÞf7¡w¡_—Ž}N.­ŠŒ¹8¯[9êýRL§s-`‡-?SQÏÔk_V-»- î:Dq{~¶=Ø —7lÍ|ªúnº$S•Û8X´Ø*¦kp5 Ü1Ô$þTgû±™ Gxr¤3ER…æÏöü)·;îãKÒÂ|’#¹»h4šV7=žô§23äÀHm-uꢨUÿñ¤ÒÇD‡Ÿ|YÊ*wAÜœ­uÁ!Ç|6b¸P\aý´’K_ÃzÜ5tjJAw÷@vø{«ço¶”õÜþa^·íˆVU¸Œò•ŒC¹ùgÜÀ™Þd¥eðXÜâzEaƒ0?î¦÷ðŽÿÎÛÍ-±rlZ^ßó,ý0ŒH nÿäx¸…~~Óz}íøF… ¸lÀþöuÛ<Ùn á… ‡EÀ×G”­ì‹µæ…¯9÷OÍŽ4ª1è!¤ã,yÎy!ÊßçVù‘;¨@HÜAvr4LÑò&€(:ý‚aL©½ݰSþçHäm|·:€âŠß¤ØA‡3’ÌJ–æ•…47@| ÐÒ?¶?#$"¥Òééâ¦Ä&Èá¤ËJ¯hg˜»¯÷õnä<>½ôH,¯mX¸•º%%ü9„qTûªÍÚÿ}hÆ9Îí‰m;Ñ1¡œÀðŤº%=Êÿ:^¼doÃ=ҾƄÏm!¨M·«ä"öv4,¼'\ùd…ãV6Û§VYê±¢v: rk¼7œplÚhé­O}5íT¬Ùü¦öÞ±sa'²AÎ|"5>!qÙä/K#D9…§=Xw{xìT¹ç—‹=<ËB>=9¸ÏéÿU="zcÀɞV2ö&ëñðÄäÞì øDÿêšQÒœ&PüãABÓÃhaV8Å¢=§©Ä‡[¤ÃåÎÕŒ82±çÜS6­ÒÆ¢yžÏOèP—f÷ÈØ=ÿ_ê¸Ç¦[.{lú8Í¿b®åO7.A¢>ÎS4Ѧž4=²Þn*QJæSyJayžáÓUÄ…Y8-ÜÌ<Ç¢ã–ÚLë±%µØ(‹ÑòÝ@w,?;/Êkª'‰lvxÁ··xÛÏÌ,¡ÿbÞG/“ÌK«qDQÐ6 _]Ûm®Ó ¸ü>–pÆ—[Ç0å‚9ð” /'Ká|=Ç_å/øH ¨Œ{ž._ ÛcpmhÄaéÒ¦p°ß& |LeK:§yÁ{%ã&…‹fNk}0`(}vê¬1¦)`]¿c•lp+sçÒä‡^¿G›e4Ö™sÖN¨ä”AI'õ'›Îò°Sz*÷DtCH,KÈÀ†Õí 9, :Õ`–îèX–¡W£‚n ÏFä-Wš õæfPüü¯/¦eá<6ŸrV¦zñKïåí÷d©ä2 =ÇTOÒòwcz}0žc¥7õþ‚u¶ø¿âÖ(?5+X½’(7bbÔNY0òØÕüøp¨¿ùWGXÃ}›À§br!¯5ÔòmdœŽ+q®ŒO¾Ï*¦e§~ñLúí5>ëH7ìÆÅÕ²_×=B嫾6_ëxáw­œ6<÷>‡Áx—kâvÿªóE« ­llÖHâ^ÁorFŒ3fäP²ã1öBÈÔ\ë¹J€ßBÓ TÓµ}öL³ð[úûί)”Ñû=Bð¸a}o&Ôó*äPÁQx«¤üÓú+*S •“È :›¢9ତbö‹ë@V¦| ¹#¹ò扅EM×ÉÝMüË>Pq¸fî7ðÙO(|–¼„º‡ýÒ}ë'Z8(ºyÖXBa`ìSP^êç~åòrªhK/Ú`P/¹¡ƒ`å¼m&áK='ðˆ§ç(^M*wç|b–!®áx 3eäsŒš}Ó4ÁôÆ‚mÖ?…k¢Ò·ÇP쯈uC=ÄâWƒ´ÅŒ?¥ e@¥mÔâÆÆ°ÖÇÇ1‚Ù…Mó.âÄÚ™Y¶tÒÊç$ñ,s¡3‚ŽV]+£I0¾SÖ·ÆŒ%KÔXÓ ãYŒF±»}¸„õZ.±²|åöTYÉ^â”V›: +•4Õû™))솞æZ5—ðá ¥Xƒ··5ßž¢×æÞÅÜ"´Z^ˆ/(!Œ(¢LÈ´ö™x‘¾¢Æòr£_„vX¨B&)( \–Âìž8Î[ÖðƒAñòzìs¯V£K?,šõÈÆóËO¬^ì 4J’GuçМ«E»÷¯é­õ %œî|ØsúÉFá÷æþÖÍŽ’‘‹%YólȈÈ0E‰© ˆ2q”¤) Òãq1Í97ìrý-“äЭ$¡âÀ¦ß¾KŠhŠØ$ÄÙ–¯íü:È$†Õc¯箩Ñq•qÓ‘wS° 2Y‰íckï!·½üŽ  £Õ“ÿzn º¿ ®Á…S»5¼,[ÕÓ×ÒÛµìea‡ýà‹Â³÷ÕÇè¸^ÏãæõbÓ0A‹Qe8ˆW°Ñ1Bê¾l(ÊùéuKù»‰cDøNBŠö&+Øk¤h,Ä.ÀÞ aÙbuï뇣p( à“󄢄˜6¶W{‰ë~Ô7ñX³û†­S£ÚuN±Ú½ìQ3$ØG$º·3¢%TIëH›θqµÁq"°õ¿”äCÜ S~·v)µ¯P½—wu­¤×¹§HBâ¨zâÔ¸m»°¿ò DæœÃ±]q}M/bg ^¥7ã´¥L42( ZŽÆÒ f[›ÔgE*’ôþ®šn÷üçâZË {½]/u¢+-v³³ª/‡ßYµôÊPþzxÕ|U ?ý`> 뼌‹ËD§ç¾LM"©¹¨dÇË^ñ 0”o­×ãÊ#E&ž oyGý27 ³gîU«>ùà<È›òç€\±°¬ #é— Ä÷…¥á“ã2›ãQ@YZlme4/R/lmer.R0000644000176200001440000033151714630365604012417 0ustar liggesusers## NB: doc in ../man/*.Rd ***not*** auto generated ## FIXME: need to document S3 methods better (can we pull from r-forge version?) ##' Fit a linear mixed model (LMM) lmer <- function(formula, data=NULL, REML = TRUE, control = lmerControl(), start = NULL , verbose = 0L , subset, weights, na.action, offset , contrasts = NULL , devFunOnly=FALSE ) ## , ...) { mc <- mcout <- match.call() missCtrl <- missing(control) ## see functions in modular.R for the body .. if (!missCtrl && !inherits(control, "lmerControl")) { if(!is.list(control)) stop("'control' is not a list; use lmerControl()") ## back-compatibility kluge warning("passing control as list is deprecated: please use lmerControl() instead", immediate.=TRUE) control <- do.call(lmerControl, control) } ## if (!is.null(list(...)[["family"]])) { ## warning("calling lmer with 'family' is deprecated; please use glmer() instead") ## mc[[1]] <- quote(lme4::glmer) ## if(missCtrl) mc$control <- glmerControl() ## return(eval(mc, parent.frame(1L))) ## } mc$control <- control ## update for back-compatibility kluge ## https://github.com/lme4/lme4/issues/50 ## parse data and formula mc[[1]] <- quote(lme4::lFormula) lmod <- eval(mc, parent.frame(1L)) mcout$formula <- lmod$formula lmod$formula <- NULL if (is.matrix(y <- model.response(lmod$fr)) && ncol(y) > 1) { stop("can't handle matrix-valued responses: consider using refit()") } ## create deviance function for covariance parameters (theta) devfun <- do.call(mkLmerDevfun, c(lmod, list(start=start, verbose=verbose, control=control))) if (devFunOnly) return(devfun) ## optimize deviance function over covariance parameters if (identical(control$optimizer,"none")) stop("deprecated use of optimizer=='none'; use NULL instead") opt <- if (length(control$optimizer)==0) { s <- getStart(start, environment(devfun)$pp) list(par=s,fval=devfun(s), conv=1000,message="no optimization") } else { optimizeLmer(devfun, optimizer = control$optimizer, restart_edge = control$restart_edge, boundary.tol = control$boundary.tol, control = control$optCtrl, verbose=verbose, start=start, calc.derivs=control$calc.derivs, use.last.params=control$use.last.params) } cc <- checkConv(attr(opt,"derivs"), opt$par, ctrl = control$checkConv, lbound = environment(devfun)$lower) mkMerMod(environment(devfun), opt, lmod$reTrms, fr = lmod$fr, mc = mcout, lme4conv=cc) ## prepare output }## { lmer } ##' Fit a generalized linear mixed model (GLMM) glmer <- function(formula, data=NULL , family = gaussian , control = glmerControl() , start = NULL , verbose = 0L , nAGQ = 1L , subset, weights, na.action, offset, contrasts = NULL , mustart, etastart , devFunOnly = FALSE) { if (!inherits(control, "glmerControl")) { if(!is.list(control)) stop("'control' is not a list; use glmerControl()") ## back-compatibility kluge if (class(control)[1]=="lmerControl") { warning("please use glmerControl() instead of lmerControl()", immediate.=TRUE) control <- ## unpack sub-lists c(control[!names(control) %in% c("checkConv","checkControl")], control$checkControl,control$checkConv) control["restart_edge"] <- NULL ## not implemented for glmer } else { msg <- "Use control=glmerControl(..) instead of passing a list" if(length(cl <- class(control))) { msg <- paste(msg, "of class", dQuote(cl[1])) } warning(msg, immediate.=TRUE) } control <- do.call(glmerControl, control) } mc <- mcout <- match.call() ## family-checking code duplicated here and in glFormula (for now) since ## we really need to redirect at this point; eventually deprecate formally ## and clean up if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame(2)) if( is.function(family)) family <- family() if (isTRUE(all.equal(family, gaussian()))) { ## redirect to lmer (with warning) warning("calling glmer() with family=gaussian (identity link) as a shortcut to lmer() is deprecated;", " please call lmer() directly") mc[[1]] <- quote(lme4::lmer) mc["family"] <- NULL # to avoid an infinite loop return(eval(mc, parent.frame())) } ## see https://github.com/lme4/lme4/issues/50 ## parse the formula and data mc[[1]] <- quote(lme4::glFormula) glmod <- eval(mc, parent.frame(1L)) mcout$formula <- glmod$formula glmod$formula <- NULL if (is.matrix(y <- model.response(glmod$fr)) && ((family$family != "binomial" && ncol(y) > 1) || (ncol(y) >2))) { stop("can't handle matrix-valued responses: consider using refit()") } ## create deviance function for covariance parameters (theta) nAGQinit <- if(control$nAGQ0initStep) 0L else 1L devfun <- do.call(mkGlmerDevfun, c(glmod, list(verbose = verbose, control = control, nAGQ = nAGQinit))) if (nAGQ==0 && devFunOnly) return(devfun) ## optimize deviance function over covariance parameters ## FIXME: perhaps should be in glFormula instead?? if (is.list(start)) { start.bad <- setdiff(names(start),c("theta","fixef")) if (length(start.bad)>0) { stop(sprintf("bad name(s) for start vector (%s); should be %s and/or %s", paste(start.bad,collapse=", "), shQuote("theta"), shQuote("fixef")),call.=FALSE) } if (!is.null(start$fixef) && nAGQ==0) stop("should not specify both start$fixef and nAGQ==0") } ## FIX ME: allow calc.derivs, use.last.params etc. if nAGQ=0 if(control$nAGQ0initStep) { opt <- optimizeGlmer(devfun, optimizer = control$optimizer[[1]], ## DON'T try fancy edge tricks unless nAGQ=0 explicitly set restart_edge=if (nAGQ==0) control$restart_edge else FALSE, boundary.tol=if (nAGQ==0) control$boundary.tol else 0, control = control$optCtrl, start=start, nAGQ = 0, verbose=verbose, calc.derivs=FALSE) } if(nAGQ > 0L) { ## update deviance function to include fixed effects as inputs devfun <- updateGlmerDevfun(devfun, glmod$reTrms, nAGQ = nAGQ) if (control$nAGQ0initStep) { start <- updateStart(start,theta=opt$par) } ## if nAGQ0 was skipped ## we don't actually need to do anything here, it seems -- ## getStart gets called again in optimizeGlmer if (devFunOnly) return(devfun) ## reoptimize deviance function over covariance parameters and fixed effects opt <- optimizeGlmer(devfun, optimizer = control$optimizer[[2]], restart_edge=control$restart_edge, boundary.tol=control$boundary.tol, control = control$optCtrl, start=start, nAGQ=nAGQ, verbose = verbose, stage=2, calc.derivs=control$calc.derivs, use.last.params=control$use.last.params) } cc <- if (!control$calc.derivs) NULL else { if (verbose > 10) cat("checking convergence\n") checkConv(attr(opt,"derivs"),opt$par, ctrl = control$checkConv, lbound=environment(devfun)$lower) } ## prepare output mkMerMod(environment(devfun), opt, glmod$reTrms, fr = glmod$fr, mc = mcout, lme4conv=cc) }## {glmer} ##' Fit a nonlinear mixed-effects model nlmer <- function(formula, data=NULL, control = nlmerControl(), start = NULL, verbose = 0L, nAGQ = 1L, subset, weights, na.action, offset, contrasts = NULL, devFunOnly = FALSE) { vals <- nlformula(mc <- match.call()) p <- ncol(X <- vals$X) if ((rankX <- rankMatrix(X)) < p) stop(gettextf("rank of X = %d < ncol(X) = %d", rankX, p)) rho <- list2env(list(verbose=verbose, tolPwrss=0.001, # this is reset to the tolPwrss argument's value later resp=vals$resp, lower=vals$reTrms$lower), parent=parent.frame()) rho$pp <- do.call(merPredD$new, c(vals$reTrms[c("Zt","theta","Lambdat","Lind")], list(X=X, n=length(vals$respMod$mu), Xwts=vals$respMod$sqrtXwt, beta0=qr.coef(qr(X), unlist(lapply(vals$pnames, get, envir = rho$resp$nlenv)))))) rho$u0 <- rho$pp$u0 rho$beta0 <- rho$pp$beta0 ## deviance as a function of theta only : devfun <- mkdevfun(rho, 0L, verbose=verbose, control=control) if (devFunOnly && !nAGQ) return(devfun) devfun(rho$pp$theta) # initial coarse evaluation to get u0 and beta0 rho$u0 <- rho$pp$u0 rho$beta0 <- rho$pp$beta0 rho$tolPwrss <- control$tolPwrss # Reset control parameter (the initial optimization is coarse) ## set lower and upper bounds: if user-specified, select ## only the ones corresponding to random effects if (!is.null(lwr <- control$optCtrl$lower)) { rho$lower <- lwr[seq_along(rho$lower)] control$optCtrl$lower <- NULL } upper <- rep(Inf, length(rho$lower)) if (!is.null(upr <- control$optCtrl$upper)) { upper <- upr[seq_along(rho$lower)] control$optCtrl$upper <- NULL } opt <- optwrap(control$optimizer[[1]], devfun, rho$pp$theta, lower=rho$lower, upper=upper, control=control$optCtrl, adj=FALSE) rho$control <- attr(opt,"control") if (nAGQ > 0L) { ## set lower/upper to values already harvested from control$optCtrl$upper rho$lower <- if(!is.null(lwr)) lwr else c(rho$lower, rep.int(-Inf, length(rho$beta0))) upper <- if(!is.null(upr)) upr else c( upper, rep.int( Inf, length(rho$beta0))) rho$u0 <- rho$pp$u0 rho$dpars <- seq_along(rho$pp$theta) ## fixed-effect parameters rho$beta0 <- pmin(upper[-rho$dpars], pmax(rho$pp$beta0,rho$lower[-rho$dpars])) if (nAGQ > 1L) { if (length(vals$reTrms$flist) != 1L || length(vals$reTrms$cnms[[1]]) != 1L) stop("nAGQ > 1 is only available for models with a single, scalar random-effects term") rho$fac <- vals$reTrms$flist[[1]] } devfun <- mkdevfun(rho, nAGQ, verbose=verbose, control=control) if (devFunOnly) return(devfun) opt <- optwrap(control$optimizer[[2]], devfun, par = c(rho$pp$theta, rho$beta0), lower = rho$lower, upper = upper, control = control$optCtrl, adj = TRUE, verbose=verbose) } mkMerMod(environment(devfun), opt, vals$reTrms, fr = vals$frame, mc = mc) }## {nlmer} ## R 3.1.0 devel [2013-08-05]: This does not help yet if(getRversion() >= "3.1.0") utils::suppressForeignCheck("nlmerAGQ") if(getRversion() < "3.1.0") dontCheck <- identity ## *not* exported (had help page till early 2018) ## -> issue #92: -> also look at devfun2() in ./profile.R (which returns class!) ##' Create a deviance evaluation function from a predictor and a response module ##' @param rho an `environment` already containing `verbose` and tolPwrss ##' @param nAGQ for glmer/nlmer: #{AGQ steps}; 0 <==> Laplace ##' @param maxit maximal number of PIRLS iterations ##' @param verbose integer specifying if outputs should be produced ##' @param control a list as from lmerControl() etc mkdevfun <- function(rho, nAGQ=1L, maxit = if(extends(rho.cld, "nlsResp")) 300L else 100L, verbose=0, control=list()) { ## FIXME: should nAGQ be automatically embedded in rho? stopifnot(is.environment(rho), ## class definition, compute and save : extends(rho.cld <- getClass(class(rho$resp)), "lmResp")) ## silence R CMD check warnings *locally* in this function ## (clearly preferred to using globalVariables() !] fac <- pp <- resp <- lp0 <- compDev <- dpars <- baseOffset <- tolPwrss <- pwrssUpdate <- ## <-- even though it's a function below GQmat <- nlmerAGQ <- NULL ## The deviance function (to be returned, with 'rho' as its environment): ff <- if (extends(rho.cld, "lmerResp")) { rho$lmer_Deviance <- lmer_Deviance function(theta) .Call(lmer_Deviance, pp$ptr(), resp$ptr(), as.double(theta)) } else if (extends(rho.cld, "glmResp")) { ## control values will override rho values *if present* if (!is.null(tp <- control$tolPwrss)) rho$tolPwrss <- tp if (!is.null(cd <- control$ compDev)) rho$compDev <- cd if (nAGQ == 0L) function(theta) { resp$updateMu(lp0) pp$setTheta(theta) p <- pwrssUpdate(pp, resp, tol=tolPwrss, GQmat=GHrule(0L), compDev=compDev, maxit=maxit, verbose=verbose) resp$updateWts() p } else ## nAGQ > 0 function(pars) { ## pp$setDelu(rep(0, length(pp$delu))) resp$setOffset(baseOffset) resp$updateMu(lp0) pp$setTheta(as.double(pars[dpars])) # theta is first part of pars spars <- as.numeric(pars[-dpars]) offset <- if (length(spars)==0) baseOffset else baseOffset + pp$X %*% spars resp$setOffset(offset) p <- pwrssUpdate(pp, resp, tol=tolPwrss, GQmat=GQmat, compDev=compDev, grpFac=fac, maxit=maxit, verbose=verbose) resp$updateWts() p } } else if (extends(rho.cld, "nlsResp")) { if (nAGQ <= 1L) { rho$nlmerLaplace <- nlmerLaplace rho$tolPwrss <- control$tolPwrss rho$maxit <- maxit switch(nAGQ + 1L, function(theta) .Call(nlmerLaplace, pp$ptr(), resp$ptr(), as.double(theta), as.double(u0), beta0, verbose, FALSE, tolPwrss, maxit), function(pars) .Call(nlmerLaplace, pp$ptr(), resp$ptr(), pars[dpars], u0, pars[-dpars], verbose, TRUE, tolPwrss, maxit)) } else { stop("nAGQ > 1 not yet implemented for nlmer models") rho$nlmerAGQ <- nlmerAGQ rho$GQmat <- GHrule(nAGQ) ## function(pars) { ## .Call(nlmerAGQ, ## <- dontCheck(nlmerAGQ) should work according to docs but does not ## pp$ptr(), resp$ptr(), fac, GQmat, pars[dpars], ## u0, pars[-dpars], tolPwrss) ##} } } else stop("code not yet written") environment(ff) <- rho ff } ## Determine a step factor that will reduce the pwrss ## ## The penalized, weighted residual sum of squares (pwrss) is the sum ## of the weighted residual sum of squares from the resp module and ## the squared length of u from the predictor module. The predictor module ## contains a base value and an increment for the coefficients. ## @title Determine a step factor ## @param pp predictor module ## @param resp response module ## @param verbose logical value determining verbose output ## @return NULL if successful ## @note Typically all this is done in the C++ code. ## The R code is for debugging and comparisons of ## results. ## stepFac <- function(pp, resp, verbose, maxSteps = 10) { ## stopifnot(is.numeric(maxSteps), maxSteps >= 2) ## pwrss0 <- resp$wrss() + pp$sqrL(0) ## for (fac in 2^(-(0:maxSteps))) { ## wrss <- resp$updateMu(pp$linPred(fac)) ## pwrss1 <- wrss + pp$sqrL(fac) ## if (verbose > 3L) ## cat(sprintf("pwrss0=%10g, diff=%10g, fac=%6.4f\n", ## pwrss0, pwrss0 - pwrss1, fac)) ## if (pwrss1 <= pwrss0) { ## pp$installPars(fac) ## return(NULL) ## } ## } ## stop("step factor reduced below ",signif(2^(-maxSteps),2)," without reducing pwrss") ## } RglmerWrkIter <- function(pp, resp, uOnly=FALSE) { pp$updateXwts(resp$sqrtWrkWt()) pp$updateDecomp() pp$updateRes(resp$wtWrkResp()) if (uOnly) pp$solveU() else pp$solve() resp$updateMu(pp$linPred(1)) # full increment resp$resDev() + pp$sqrL(1) } ##' @param pp pred module ##' @param resp resp module ##' @param tol numeric tolerance ##' @param GQmat matrix of Gauss-Hermite quad info ##' @param compDev compute in C++ (as opposed to doing as much as possible in R) ##' @param grpFac grouping factor (normally found in environment ..) ##' @param verbose verbosity, of course glmerPwrssUpdate <- function(pp, resp, tol, GQmat, compDev=TRUE, grpFac=NULL, maxit = 70L, verbose=0) { nAGQ <- nrow(GQmat) if (compDev) { if (nAGQ < 2L) return(.Call(glmerLaplace, pp$ptr(), resp$ptr(), nAGQ, tol, as.integer(maxit), verbose)) return(.Call(glmerAGQ, pp$ptr(), resp$ptr(), tol, as.integer(maxit), GQmat, grpFac, verbose)) } ### does this show anywhere ??? [i.e. is it ever used in our checks/examples/scripts/vignettes ? ### message("glmerPwrssUpdate(*, compDev=FALSE) --> using more R, no direct .Call() to C.") # [DBG] only oldpdev <- .Machine$double.xmax uOnly <- nAGQ == 0L i <- 0 repeat { ## oldu <- pp$delu ## olddelb <- pp$delb pdev <- RglmerWrkIter(pp, resp, uOnly=uOnly) if (verbose > 2) cat(i,": ",pdev,"\n",sep="") ## check convergence first so small increases don't trigger errors if (is.na(pdev)) stop("encountered NA in PWRSS update") if (abs((oldpdev - pdev) / pdev) < tol) break ## if (pdev > oldpdev) { ## ## try step-halving ## ## browser() ## k <- 0 ## while (k < 10 && pdev > oldpdev) { ## pp$setDelu((oldu + pp$delu)/2.) ## if (!uOnly) pp$setDelb((olddelb + pp$delb)/2.) ## pdev <- RglmerWrkIter(pp, resp, uOnly=uOnly) ## k <- k+1 ## } ## } if (pdev > oldpdev) stop("PIRLS update failed") oldpdev <- pdev i <- i+1 } resp$Laplace(pp$ldL2(), 0., pp$sqrL(1)) ## FIXME: should 0. be pp$ldRX2 ? } ## create a deviance evaluation function that uses the sigma parameters ## df2 <- function(dd) { ## stopifnot(is.function(dd), ## length(formals(dd)) == 1L, ## is((rem <- (rho <- environment(dd))$rem), "Rcpp_reModule"), ## is((fem <- rho$fem), "Rcpp_deFeMod"), ## is((resp <- rho$resp), "Rcpp_lmerResp"), ## all((lower <- rem$lower) == 0)) ## Lind <- rem$Lind ## n <- length(resp$y) ## function(pars) { ## sigma <- pars[1] ## sigsq <- sigma * sigma ## sigmas <- pars[-1] ## theta <- sigmas/sigma ## rem$theta <- theta ## resp$updateMu(numeric(n)) ## solveBetaU(rem, fem, resp$sqrtXwt, resp$wtres) ## resp$updateMu(rem$linPred1(1) + fem$linPred1(1)) ## n * log(2*pi*sigsq) + (resp$wrss + rem$sqrLenU)/sigsq + rem$ldL2 ## } ## } ## bootMer() ---> now in ./bootMer.R ## Methods for the merMod class ## Anova for merMod objects ## ## @title anova() for merMod objects ## @param a merMod object ## @param ... further such objects ## @param refit should objects be refitted with ML (if applicable) ## @return an "anova" data frame; the traditional (S3) result of anova() anovaLmer <- function(object, ..., refit = TRUE, model.names=NULL) { mCall <- match.call(expand.dots = TRUE) dots <- list(...) .sapply <- function(L, FUN, ...) unlist(lapply(L, FUN, ...)) modp <- (as.logical(vapply(dots, is, NA, "merMod")) | as.logical(vapply(dots, is, NA, "lm"))) if (any(modp)) { ## multiple models - form table ## opts <- dots[!modp] mods <- c(list(object), dots[modp]) nobs.vec <- vapply(mods, nobs, 1L) if (var(nobs.vec) > 0) stop("models were not all fitted to the same size of dataset") ## model names if (is.null(mNms <- model.names)) mNms <- vapply(as.list(mCall)[c(FALSE, TRUE, modp)], deparse1, "") ## HACK to try to identify model names in situations such as ## 'do.call(anova,list(model1,model2))' where the model names ## are lost in the call stack ... this doesn't quite work but might ## be useful for future attempts? ## maxdepth <- -2 ## depth <- -1 ## while (depth >= maxdepth & ## all(grepl("S4 object of class structure",mNms))) { ## xCall <- match.call(call=sys.call(depth)) ## mNms <- .sapply(as.list(xCall)[c(FALSE, TRUE, modp)], deparse) ## depth <- depth-1 ## } ## if (depth < maxdepth) { if (any(substr(mNms, 1,4) == "new(") || any(duplicated(mNms)) || ## <- only if S4 objects are *not* properly deparsed max(nchar(mNms)) > 200) { warning("failed to find model names, assigning generic names") mNms <- paste0("MODEL",seq_along(mNms)) } if (length(mNms) != length(mods)) stop("model names vector and model list have different lengths") names(mods) <- sub("@env$", '', mNms) # <- hack models.reml <- vapply(mods, function(x) is(x,"merMod") && isREML(x), NA) models.GHQ <- vapply(mods, function(x) is(x,"glmerMod") && getME(x,"devcomp")$dims["nAGQ"]>1 , NA) if (any(models.GHQ) && any(vapply(mods, function(x) is(x,"glm"), NA))) stop("GLMMs with nAGQ>1 have log-likelihoods incommensurate with glm() objects") if (refit) { ## message only if at least one models is REML: if (any(models.reml)) message("refitting model(s) with ML (instead of REML)") mods[models.reml] <- lapply(mods[models.reml], refitML) } else { ## check that models are consistent (all REML or all ML) if(any(models.reml) && any(!models.reml)) warning("some models fit with REML = TRUE, some not") } ## devs <- sapply(mods, deviance) llks <- lapply(mods, logLik) ## Order models by increasing degrees of freedom: ii <- order(npar <- vapply(llks, attr, FUN.VALUE=numeric(1), "df")) mods <- mods[ii] llks <- llks[ii] npar <- npar [ii] calls <- lapply(mods, getCall) data <- lapply(calls, `[[`, "data") if(!all(vapply(data, identical, NA, data[[1]]))) stop("all models must be fit to the same data object") header <- paste("Data:", abbrDeparse(data[[1]])) subset <- lapply(calls, `[[`, "subset") if(!all(vapply(subset, identical, NA, subset[[1]]))) stop("all models must use the same subset") if (!is.null(subset[[1]])) header <- c(header, paste("Subset:", abbrDeparse(subset[[1]]))) llk <- unlist(llks) chisq <- 2 * pmax(0, c(NA, diff(llk))) dfChisq <- c(NA, diff(npar)) val <- data.frame(npar = npar, ## afraid to swap in vapply here; wondering ## why .sapply was needed in the first place ... AIC = .sapply(llks, AIC), # FIXME? vapply() BIC = .sapply(llks, BIC), # " " logLik = llk, deviance = -2*llk, Chisq = chisq, Df = dfChisq, "Pr(>Chisq)" = ifelse(dfChisq==0,NA,pchisq(chisq, dfChisq, lower.tail = FALSE)), row.names = names(mods), check.names = FALSE) class(val) <- c("anova", class(val)) forms <- lapply(lapply(calls, `[[`, "formula"), deparse1) structure(val, heading = c(header, "Models:", paste(rep.int(names(mods), lengths(forms)), unlist(forms), sep = ": "))) } else { ## ------ single model --------------------- if (length(dots)>0) { warnmsg <- "additional arguments ignored" nd <- names(dots) nd <- nd[nzchar(nd)] if (length(nd)>0) { warnmsg <- paste0(warnmsg,": ", paste(sQuote(nd),collapse=", ")) } warning(warnmsg) } dc <- getME(object, "devcomp") X <- getME(object, "X") stopifnot(length(asgn <- attr(X, "assign")) == dc$dims[["p"]]) ss <- as.vector(object@pp$RX() %*% object@beta)^2 names(ss) <- colnames(X) terms <- terms(object) nmeffects <- attr(terms, "term.labels")[unique(asgn)] if ("(Intercept)" %in% names(ss)) nmeffects <- c("(Intercept)", nmeffects) ss <- unlist(lapply(split(ss, asgn), sum)) stopifnot(length(ss) == length(nmeffects)) df <- lengths(split(asgn, asgn)) ## dfr <- unlist(lapply(split(dfr, asgn), function(x) x[1])) ms <- ss/df f <- ms/(sigma(object)^2) ## No longer provide p-values, but still the F statistic (may not be F distributed): ## ## P <- pf(f, df, dfr, lower.tail = FALSE) ## table <- data.frame(df, ss, ms, dfr, f, P) table <- data.frame(df, ss, ms, f) dimnames(table) <- list(nmeffects, ## c("npar", "Sum Sq", "Mean Sq", "Denom", "F value", "Pr(>F)")) c("npar", "Sum Sq", "Mean Sq", "F value")) if ("(Intercept)" %in% nmeffects) table <- table[-match("(Intercept)", nmeffects), ] structure(table, heading = "Analysis of Variance Table", class = c("anova", "data.frame")) } }## {anovaLmer} ##' @importFrom stats anova ##' @S3method anova merMod anova.merMod <- anovaLmer ##' @S3method as.function merMod as.function.merMod <- function(x, ...) { rho <- list2env(list(resp = x@resp$copy(), pp = x@pp$copy(), beta0 = x@beta, u0 = x@u), parent=as.environment("package:lme4")) ## FIXME: extract verbose [, maxit] and control mkdevfun(rho, getME(x, "devcomp")$dims[["nAGQ"]], ...) } ## coef() method for all kinds of "mer", "*merMod", ... objects ## ------ should work with fixef() + ranef() alone coefMer <- function(object, ...) { if(...length()) warning('arguments named ', paste(sQuote(...names()), collapse = ", "), ' ignored') fef <- data.frame(rbind(fixef(object)), check.names = FALSE) ref <- ranef(object, condVar = FALSE) ## check for variables in RE but missing from FE, fill in zeros in FE accordingly refnames <- unlist(lapply(ref,colnames)) nmiss <- length(missnames <- setdiff(refnames,names(fef))) if (nmiss > 0) { fillvars <- setNames(data.frame(rbind(rep(0,nmiss))),missnames) fef <- cbind(fillvars,fef) } val <- lapply(ref, function(x) fef[rep.int(1L, nrow(x)),,drop = FALSE]) for (i in seq_along(val)) { refi <- ref[[i]] row.names(val[[i]]) <- row.names(refi) nmsi <- colnames(refi) if (!all(nmsi %in% names(fef))) stop("unable to align random and fixed effects") for (nm in nmsi) val[[i]][[nm]] <- val[[i]][[nm]] + refi[,nm] } class(val) <- "coef.mer" val } ## {coefMer} ##' @importFrom stats coef ##' @S3method coef merMod coef.merMod <- coefMer ## FIXME: should these values (i.e. ML criterion for REML models ## and vice versa) be computed and stored in the object in the first place? ##' @importFrom stats deviance ##' @S3method deviance merMod deviance.merMod <- function(object, REML = NULL, ...) { ## type = c("conditional", "unconditional", "penalized"), ## relative = TRUE, ...) { if (isGLMM(object)) { return(sum(residuals(object,type="deviance")^2)) ## ------------------------------------------------------------ ## proposed change to deviance function for GLMMs ## ------------------------------------------------------------ ## @param type Type of deviance (can be unconditional, ## penalized, conditional) ## @param relative Should deviance be shifted relative to a ## saturated model? (only available with type == penalized or ## conditional) ## ------------------------------------------------------------ ## ans <- switch(type[1], ## unconditional = { ## if (relative) { ## stop("unconditional and relative deviance is undefined") ## } ## c(-2 * logLik(object)) ## }, ## penalized = { ## sqrL <- object@pp$sqrL(1) ## if (relative) { ## object@resp$resDev() + sqrL ## } else { ## useSc <- unname(getME(gm1, "devcomp")$dims["useSc"]) ## qLog2Pi <- unname(getME(object, "q")) * log(2 * pi) ## object@resp$aic() - (2 * useSc) + sqrL + qLog2Pi ## } ## }, ## conditional = { ## if (relative) { ## object@resp$resDev() ## } else { ## useSc <- unname(getME(gm1, "devcomp")$dims["useSc"]) ## object@resp$aic() - (2 * useSc) ## } ## }) ## return(ans) } if (isREML(object) && is.null(REML)) { warning("deviance() is deprecated for REML fits; use REMLcrit for the REML criterion or deviance(.,REML=FALSE) for deviance calculated at the REML fit") return(devCrit(object, REML=TRUE)) } devCrit(object, REML=FALSE) } REMLcrit <- function(object) { devCrit(object, REML=TRUE) } ## original deviance.merMod -- now wrapped by REMLcrit ## REML=NULL: ## if REML fit return REML criterion ## if ML fit, return deviance ## REML=TRUE: ## if not LMM, stop. ## if ML fit, compute and return REML criterion ## if REML fit, return REML criterion ## REML=FALSE: ## if ML fit, return deviance ## if REML fit, compute and return deviance devCrit <- function(object, REML = NULL) { ## cf. (1) lmerResp::Laplace in respModule.cpp ## (2) section 5.6 of lMMwR, listing lines 34-42 if (isTRUE(REML) && !isLMM(object)) stop("can't compute REML deviance for a non-LMM") cmp <- object@devcomp$cmp if (is.null(REML) || is.na(REML[1])) REML <- isREML(object) if (REML) { if (isREML(object)) { cmp[["REML"]] } else { ## adjust ML results to REML lnum <- log(2*pi*cmp[["pwrss"]]) n <- object@devcomp$dims[["n"]] nmp <- n - length(object@beta) ldW <- sum(log(weights(object, method = "prior"))) - ldW + cmp[["ldL2"]] + cmp[["ldRX2"]] + nmp*(1 + lnum - log(nmp)) } } else { if (!isREML(object)) { cmp[["dev"]] } else { ## adjust REML results to ML n <- object@devcomp$dims[["n"]] lnum <- log(2*pi*cmp[["pwrss"]]) ldW <- sum(log(weights(object, method = "prior"))) - ldW + cmp[["ldL2"]] + n*(1 + lnum - log(n)) } } } ## copied from stats:::safe_pchisq safe_pchisq <- function (q, df, ...) { df[df <= 0] <- NA pchisq(q = q, df = df, ...) } ##' @importFrom stats drop1 ##' @S3method drop1 merMod drop1.merMod <- function(object, scope, scale = 0, test = c("none", "Chisq", "user"), k = 2, trace = FALSE, sumFun=NULL, ...) { evalhack <- "formulaenv" test <- match.arg(test) if ((test=="user" && is.null(sumFun)) || ((test!="user" && !is.null(sumFun)))) stop(sQuote("sumFun"),' must be specified if (and only if) test=="user"') tl <- attr(terms(object), "term.labels") if(missing(scope)) scope <- drop.scope(object) else { if(!is.character(scope)) { scope <- attr(terms(getFixedFormula(update.formula(object, scope))), "term.labels") } if(!all(match(scope, tl, 0L) > 0L)) stop("scope is not a subset of term labels") } ns <- length(scope) if (is.null(sumFun)) { sumFun <- function(x,scale,k,...) setNames(extractAIC(x,scale,k,...),c("df","AIC")) } ss <- sumFun(object, scale=scale, k=k, ...) ans <- matrix(nrow = ns + 1L, ncol = length(ss), dimnames = list(c("", scope), names(ss))) ans[1, ] <- ss n0 <- nobs(object, use.fallback = TRUE) env <- environment(formula(object)) # perhaps here is where trouble begins?? for(i in seq_along(scope)) { ## was seq(ns), failed on empty scope tt <- scope[i] if(trace > 1) { cat("trying -", tt, "\n", sep='') flush.console() } ## FIXME: make this more robust, somehow? ## three choices explored so far: ## (1) evaluate nfit in parent frame: tests in inst/tests/test-formulaEval.R ## will fail on lapply(m_data_List,drop1) ## (formula environment contains r,x,y,z but not d) ## (2) evaluate nfit in frame of formula: tests will fail when data specified and formula is character ## (3) update with data=NULL: fails when ... ## if (evalhack %in% c("parent","formulaenv")) { nfit <- update(object, as.formula(paste("~ . -", tt)), evaluate = FALSE) ## nfit <- eval(nfit, envir = env) # was eval.parent(nfit) if (evalhack=="parent") { nfit <- eval.parent(nfit) } else if (evalhack=="formulaenv") { nfit <- eval(nfit,envir=env) } } else { nfit <- update(object, as.formula(paste("~ . -", tt)),data=NULL, evaluate = FALSE) nfit <- eval(nfit,envir=env) } if (test=="user") { ans[i+1, ] <- sumFun(object, nfit, scale=scale, k=k, ...) } else { ans[i+1, ] <- sumFun(nfit, scale, k = k, ...) } nnew <- nobs(nfit, use.fallback = TRUE) if(all(is.finite(c(n0, nnew))) && nnew != n0) stop("number of rows in use has changed: remove missing values?") } if (test=="user") { aod <- as.data.frame(ans) } else { dfs <- ans[1L, 1L] - ans[, 1L] dfs[1L] <- NA aod <- data.frame(npar = dfs, AIC = ans[,2]) if(test == "Chisq") { ## reconstruct deviance from AIC (ugh) dev <- ans[, 2L] - k*ans[, 1L] dev <- dev - dev[1L] ; dev[1L] <- NA nas <- !is.na(dev) P <- dev P[nas] <- safe_pchisq(dev[nas], dfs[nas], lower.tail = FALSE) aod[, c("LRT", "Pr(Chi)")] <- list(dev, P) } else if (test == "F") { ## FIXME: allow this if denominator df are specified externally? stop("F test STUB -- unfinished maybe forever") dev <- ans[, 2L] - k*ans[, 1L] dev <- dev - dev[1L] ; dev[1L] <- NA nas <- !is.na(dev) P <- dev P[nas] <- safe_pchisq(dev[nas], dfs[nas], lower.tail = FALSE) aod[, c("LRT", "Pr(F)")] <- list(dev, P) } } head <- c("Single term deletions", "\nModel:", deparse(formula(object)), if(scale > 0) paste("\nscale: ", format(scale), "\n")) if (!is.null(method <- attr(ss,"method"))) { head <- c(head,"Method: ",method,"\n") } structure(aod, heading = head, class = c("anova", "data.frame")) } ##' @importFrom stats extractAIC ##' @S3method extractAIC merMod extractAIC.merMod <- function(fit, scale = 0, k = 2, ...) { L <- logLik(refitML(fit)) edf <- attr(L,"df") c(edf,-2*L + k*edf) } ##' @importFrom stats family ##' @S3method family merMod family.merMod <- function(object, ...) family(object@resp, ...) ##' @S3method family glmResp family.glmResp <- function(object, ...) { # regenerate initialize # expression if necessary ## FIXME: may fail with user-specified/custom family? ## should be obsolete if(is.null(object$family$initialize)) return(do.call(object$family$family, list(link=object$family$link))) object$family } ##' @S3method family lmResp family.lmResp <- function(object, ...) gaussian() ##' @S3method family nlsResp family.nlsResp <- function(object, ...) gaussian() ##' @importFrom stats fitted ##' @S3method fitted merMod fitted.merMod <- function(object, ...) { xx <- object@resp$mu if (length(xx)==0) { ## handle 'fake' objects created by simulate() xx <- rep(NA,nrow(model.frame(object))) } if (is.null(nm <- rownames(model.frame(object)))) nm <- seq_along(xx) names(xx) <- nm if (!is.null(fit.na.action <- attr(model.frame(object),"na.action"))) napredict(fit.na.action, xx) else xx } ##' Extract the fixed-effects estimates ##' ##' Extract the estimates of the fixed-effects parameters from a fitted model. ##' @name fixef ##' @title Extract fixed-effects estimates ##' @aliases fixef fixed.effects fixef.merMod ##' @docType methods ##' @param object any fitted model object from which fixed effects estimates can ##' be extracted. ##' @param \dots optional additional arguments. Currently none are used in any ##' methods. ##' @return a named, numeric vector of fixed-effects estimates. ##' @keywords models ##' @examples ##' fixef(lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)) ##' @importFrom nlme fixef ##' @export fixef ##' @method fixef merMod ##' @export fixef.merMod <- function(object, add.dropped=FALSE, ...) { X <- getME(object,"X") ff <- structure(object@beta, names = dimnames(X)[[2]]) if (add.dropped) { if (!is.null(dd <- attr(X,"col.dropped"))) { ## restore positions dropped for rank deficiency vv <- numeric(length(ff)+length(dd)) all.pos <- seq_along(vv) kept.pos <- all.pos[-dd] vv[kept.pos] <- ff names(vv)[kept.pos] <- names(ff) vv[dd] <- NA names(vv)[dd] <- names(dd) ff <- vv } } return(ff) } getFixedFormula <- function(form) { RHSForm(form) <- nobars(RHSForm(form)) form } ##' @importFrom stats formula ##' @S3method formula merMod formula.merMod <- function(x, fixed.only=FALSE, random.only=FALSE, ...) { if (missing(fixed.only) && random.only) fixed.only <- FALSE if (fixed.only && random.only) stop("can't specify 'only fixed' and 'only random' terms") if (is.null(form <- attr(x@frame,"formula"))) { if (!grepl("lmer$",deparse(getCall(x)[[1]]))) stop("can't find formula stored in model frame or call") form <- as.formula(formula(getCall(x),...)) } if (fixed.only) { form <- getFixedFormula(form) } if (random.only) { ## from predict.R form <- reOnly(form,response=TRUE) } form } ##' @S3method isREML merMod isREML.merMod <- function(x, ...) as.logical(x@devcomp$dims[["REML"]]) ##' @S3method isGLMM merMod isGLMM.merMod <- function(x,...) { as.logical(x@devcomp$dims[["GLMM"]]) ## or: is(x@resp,"glmResp") } ##' @S3method isNLMM merMod isNLMM.merMod <- function(x,...) { as.logical(x@devcomp$dims[["NLMM"]]) ## or: is(x@resp,"nlsResp") } ##' @S3method isLMM merMod isLMM.merMod <- function(x,...) { !isGLMM(x) && !isNLMM(x) ## or: is(x@resp,"lmerResp") ? } npar.merMod <- function(object) { n <- length(object@beta) + length(object@theta) + object@devcomp[["dims"]][["useSc"]] ## FIXME: this is a bit of a hack: a user *might* have specified ## negative binomial family with a known theta, in which case we ## shouldn't count it as extra. Either glmer.nb needs to set a ## flag somewhere, or we need class 'nbglmerMod' to extend 'glmerMod' ... ## We do *not* want to use the 'useSc' slot (as above), because ## although theta is in some sense a scale parameter, it's not ## one in the formal sense (and isn't stored in the 'sigma' slot) if (grepl("Negative Binomial",family(object)$family)) { n <- n+1 } return(n) ## TODO: how do we feel about counting the scale parameter ??? } ##' @importFrom stats logLik ##' @S3method logLik merMod logLik.merMod <- function(object, REML = NULL, ...) { if (is.null(REML) || is.na(REML[1])) REML <- isREML(object) val <- -devCrit(object, REML = REML)/2 ## dc <- object@devcomp nobs <- nobs.merMod(object) structure(val, nobs = nobs, nall = nobs, df = npar.merMod(object), ## length(object@beta) + length(object@theta) + dc$dims[["useSc"]], class = "logLik") } ##' @importFrom stats df.residual ##' @S3method df.residual merMod ## TODO: not clear whether the residual df should be based ## on p=length(beta) or p=length(c(theta,beta)) ... but ## this is just to allow things like aods3::gof to work ... ## df.residual.merMod <- function(object, ...) { nobs(object)-npar.merMod(object) } ##' @importFrom stats logLik ##' @S3method model.frame merMod model.frame.merMod <- function(formula, fixed.only=FALSE, ...) { fr <- formula@frame if (fixed.only) { vars <- attr(terms(fr),"varnames.fixed") if (is.null(vars)) { ## back-compatibility: saved objects pre 1.1-15 ff <- formula(formula,fixed.only=TRUE) ## thanks to Thomas Leeper and Roman Lustrik, Stack Overflow ## https://stackoverflow.com/questions/18017765/extract-variables-in-formula-from-a-data-frame vars <- rownames(attr(terms.formula(ff), "factors")) } vars <- gsub("`","",vars) ## weirdness in deparsing variable names with spaces fr <- fr[vars] } fr } ##' @importFrom stats model.matrix ##' @S3method model.matrix merMod model.matrix.merMod <- function(object, type = c("fixed", "random", "randomListRaw"), ...) { switch(type[1], "fixed" = object@pp$X, "random" = getME(object, "Z"), "randomListRaw" = mmList(object)) } ##' Dummy variables (experimental) ##' ##' Largely a wrapper for \code{model.matrix} that ##' accepts a factor, \code{f}, and returns a dummy ##' matrix with \code{nlevels(f)-1} columns. dummy <- function(f, levelsToKeep){ f <- as.factor(f) if (all(is.na(f))) return(rep(NA_real_, length(f))) mm <- model.matrix(~ 0 + f) colnames(mm) <- levels(f) # sort out levels to keep missingLevels <- missing(levelsToKeep) if(missingLevels) levelsToKeep <- levels(f)[-1] if(!any(levels(f) %in% levelsToKeep)) stop("at least some of the levels in f ", "must also be present in levelsToKeep") if(!all(levelsToKeep %in% levels(f))) stop("all of the levelsToKeep must be levels of f") mm <- mm[, levelsToKeep, drop=FALSE] ## # communicate that some usages are unlikely ## # to help with readibility, which is the ## # whole purpose of dummy() ## if((!missingLevels)&&(ncol(mm) > 1)) ## message("note from dummy: explicitly specifying more than one ", ## "level to keep may do little to improve readibility") return(mm) } ##' @importFrom stats nobs ##' @S3method nobs merMod nobs.merMod <- function(object, ...) nrow(object@frame) ## used in summary.merMod(): ngrps <- function(object, ...) UseMethod("ngrps") ngrps.default <- function(object, ...) stop("Cannot extract the number of groups from this object") ngrps.merMod <- function(object, ...) vapply(object@flist, nlevels, 1) ngrps.factor <- function(object, ...) nlevels(object) ##' @importFrom nlme ranef ##' @export ranef NULL ##' Extract the modes of the random effects ##' ##' A generic function to extract the conditional modes of the random effects ##' from a fitted model object. For linear mixed models the conditional modes ##' of the random effects are also the conditional means. ##' ##' If grouping factor i has k levels and j random effects per level the ith ##' component of the list returned by \code{ranef} is a data frame with k rows ##' and j columns. If \code{condVar} is \code{TRUE} the \code{"postVar"} ##' attribute is an array of dimension j by j by k. The kth face of this array ##' is a positive definite symmetric j by j matrix. If there is only one ##' grouping factor in the model the variance-covariance matrix for the entire ##' random effects vector, conditional on the estimates of the model parameters ##' and on the data will be block diagonal and this j by j matrix is the kth ##' diagonal block. With multiple grouping factors the faces of the ##' \code{"postVar"} attributes are still the diagonal blocks of this ##' conditional variance-covariance matrix but the matrix itself is no longer ##' block diagonal. ##' @name ranef ##' @aliases ranef ranef.merMod ##' @param object an object of a class of fitted models with random effects, ##' typically an \code{"\linkS4class{merMod}"} object. ##' @param condVar an optional logical argument indicating if the conditional ##' variance-covariance matrices of the random effects should be added as an attribute. ##' @param postVar a (deprecated) synonym for \code{condVar} ##' @param drop an optional logical argument indicating components of the return ##' value that would be data frames with a single column, usually a column ##' called \sQuote{\code{(Intercept)}}, should be returned as named vectors. ##' @param whichel an optional character vector of names of grouping factors for ##' which the random effects should be returned. Defaults to all the grouping ##' factors. ##' @param \dots some methods for this generic function require additional ##' arguments. ##' @return A list of data frames, one for each grouping factor for the random ##' effects. The number of rows in the data frame is the number of levels of ##' the grouping factor. The number of columns is the dimension of the random ##' effect associated with each level of the factor. ##' ##' If \code{condVar} is \code{TRUE} each of the data frames has an attribute ##' called \code{"postVar"} which is a three-dimensional array with symmetric ##' faces. ##' ##' When \code{drop} is \code{TRUE} any components that would be data frames of ##' a single column are converted to named numeric vectors. ##' @note To produce a \dQuote{caterpillar plot} of the random effects apply ##' \code{\link[lattice:xyplot]{dotplot}} to the result of a call to ##' \code{ranef} with \code{condVar = TRUE}. ##' @examples ##' fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ##' fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy) ##' fm3 <- lmer(diameter ~ (1|plate) + (1|sample), Penicillin) ##' ranef(fm1) ##' str(rr1 <- ranef(fm1, condVar = TRUE)) ##' dotplot(rr1) ## default ##' ## specify free scales in order to make Day effects more visible ##' dotplot(rr1,scales = list(x = list(relation = 'free')))[["Subject"]] ##' str(ranef(fm2, condVar = TRUE)) ##' op <- options(digits = 4) ##' ranef(fm3, drop = TRUE) ##' options(op) ##' @keywords models methods ##' @method ranef merMod ##' @export ranef.merMod <- function(object, condVar = TRUE, drop = FALSE, whichel = names(ans), postVar = FALSE, ...) { if (length(L <- list(...))>0) { warning(paste("additional arguments to ranef.merMod ignored:", paste(names(L),collapse=", "))) } if (!missing(postVar) && missing(condVar)) { warning(sQuote("postVar")," is deprecated: please use ", sQuote("condVar")," instead") condVar <- postVar } ans <- object@pp$b(1) ## not always == c(matrix(unlist(getME(object,"b")))) if (!is.null(fl <- object@flist)) { ## evaluate the list of matrices levs <- lapply(fl, levels) asgn <- attr(fl, "assign") cnms <- object@cnms nc <- lengths(cnms) ## number of terms ## nb <- nc * lengths(levs)[asgn] ## number of cond modes per term nb <- diff(object@Gp) ## differencing group index is more robust nbseq <- rep.int(seq_along(nb), nb) ml <- split(ans, nbseq) for (i in seq_along(ml)) ml[[i]] <- matrix(ml[[i]], ncol = nc[i], byrow = TRUE, dimnames = list(NULL, cnms[[i]])) ## create a list of data frames corresponding to factors ans <- lapply(seq_along(fl), function(i) { m <- ml[asgn == i] b2 <- vapply(m,nrow,numeric(1)) ub2 <- unique(b2) if (length(ub2)>1) stop("differing numbers of b per group") ## if number of sets of modes != number of levels (e.g. Gaussian process/phyloglmm), ## generate numeric sequence for names rnms <- if (ub2==length(levs[[i]])) levs[[i]] else seq(ub2) data.frame(do.call(cbind, m), row.names = rnms, check.names = FALSE) }) names(ans) <- names(fl) # process whichel stopifnot(is(whichel, "character")) whchL <- names(ans) %in% whichel ans <- ans[whchL] if (condVar) { sigsqr <- sigma(object)^2 rp <- rePos$new(object) if(any(lengths(rp$terms) > 1L)) { ## use R machinery here ... vv <- arrange.condVar(object,condVar(object, scaled=TRUE)) } else { vv <- .Call(merPredDcondVar, object@pp$ptr(), as.environment(rp)) vv <- lapply(vv, "*", sigsqr) } for (i in names(ans)) { attr(ans[[i]], "postVar") <- vv[[i]] } } if (drop) ans <- lapply(ans, function(el) { if (ncol(el) > 1) return(el) pv <- drop(attr(el, "postVar")) el <- drop(as.matrix(el)) if (!is.null(pv)) attr(el, "postVar") <- pv el }) class(ans) <- "ranef.mer" } ans }## ranef.merMod print.ranef.mer <- function(x, ...) { print(unclass(x), ...) if(any(has.pv <- vapply(x, function(el) !is.null(attr(el, "postVar")), NA))) cat('with conditional variances for', paste(dQuote(names(x)[has.pv]), sep=", "), "\n") invisible(x) } ## try to redo refit by calling modular structure ... refit2.merMod <- function(object, newresp=NULL) { ## the idea is to steal as much structure as we can from the ## previous fit, including ## * starting parameter values ## * random-effects structure ## * fixed-effects structure ## * model frame ## and jump into the modular structure at an appropriate place; ## essentially, this should merge with a smart-as-possible ## version of 'update' ... } ## FIXME DRY: much of copy'n'paste from lmer() etc .. ==> become more modular (?) refit.merMod <- function(object, newresp = NULL, newweights = NULL, ## formula=NULL, weights=NULL, rename.response = FALSE, maxit = 100L, ...) { l... <- list(...) ctrl.arg <- NULL if("control" %in% names(l...)) ctrl.arg <- l...$control if(!all(names(l...) %in% c("control", "verbose"))) { warning("additional arguments to refit.merMod ignored") } ## TODO: not clear whether we should reset the names ## to the new response variable. Maybe not. ## retrieve name before it gets mangled by operations on newresp newrespSub <- substitute(newresp) ## for backward compatibility/functioning of refit(fit,simulate(fit)) if (is.list(newresp)) { if (length(newresp)==1) { na.action <- attr(newresp,"na.action") newresp <- newresp[[1]] attr(newresp,"na.action") <- na.action } else { stop("refit not implemented for 'newresp' lists of length > 1: ", "consider ", sQuote("lapply(object,refit)")) } } ## oldresp <- object@resp$y # need to set this before deep copy, ## # otherwise it gets reset with the call ## # to setResp below ## somewhat repeated from profile.merMod, but sufficiently ## different that refactoring is slightly non-trivial ## "three minutes' thought would suffice ..." control <- if (!is.null(ctrl.arg)) { if (length(ctrl.arg$optCtrl) == 0) { ## use object's version: obj.control <- object@optinfo$control ignore.pars <- c("xst", "xt") if (any(ign <- names(obj.control) %in% ignore.pars)) obj.control <- obj.control[!ign] ctrl.arg$optCtrl <- obj.control } ctrl.arg } else if (isGLMM(object)) glmerControl() else lmerControl() if (object@optinfo$optimizer == "optimx") { control$optCtrl <- object@optinfo$control } ## we need this stuff defined before we call .glmerLaplace below ... pp <- object@pp$copy() dc <- object@devcomp nAGQ <- dc$dims["nAGQ"] # possibly NA nth <- dc$dims[["nth"]] verbose <- l...$verbose; if (is.null(verbose)) verbose <- 0L if (!is.null(newresp)) { ## update call and model frame with new response rcol <- attr(attr(model.frame(object), "terms"), "response") if (rename.response) { attr(object@frame,"formula")[[2]] <- object@call$formula[[2]] <- newrespSub names(object@frame)[rcol] <- deparse(newrespSub) } if (!is.null(na.act <- attr(object@frame,"na.action")) && is.null(attr(newresp,"na.action"))) { ## will only get here if na.action is 'na.omit' or 'na.exclude' ## *and* newresp does not have an 'na.action' attribute ## indicating that NAs have already been filtered newresp <- if (is.matrix(newresp)) newresp[-na.act, ] else newresp[-na.act] } object@frame[[rcol]] <- newresp } if (!is.null(newweights)) { ## DRY ... if (!is.null(na.act <- attr(object@frame,"na.action")) && is.null(attr(newweights, "na.action"))) { newweights <- newweights[-na.act] } object@frame[["(weights)"]] <- newweights oc <- attr(attr(object@frame, "terms"), "dataClasses") attr(attr(object@frame, "terms"), "dataClasses") <- c(oc, `(weights)` = "numeric") object@call$weights <- substitute(newweights) ## try to make sure new weights are findable later assign(deparse(substitute(newweights)), newweights, environment(formula(object))) } rr <- if(isLMM(object)) mkRespMod(model.frame(object), REML = object@resp$REML) else if(isGLMM(object)) { mkRespMod(model.frame(object), family = family(object)) } else stop("refit.merMod not working for nonlinear mixed models.\n", "try update.merMod instead.") if(!is.null(newresp)) { if(family(object)$family == "binomial") { ## re-do conversion of two-column matrix and factor ## responses to proportion/weights format if (is.matrix(newresp) && ncol(newresp) == 2) { ntot <- rowSums(newresp) ## FIXME: test what happens for (0,0) rows newresp <- newresp[,1]/ntot rr$setWeights(ntot) } if (is.factor(newresp)) { ## FIXME: would be better to do this consistently with ## whatever machinery is used in glm/glm.fit/glmer ?? newresp <- as.numeric(newresp)-1 } } ## if (isGLMM(object) && rr$family$family=="binomial") { ## } stopifnot(length(newresp <- as.numeric(as.vector(newresp))) == length(rr$y)) } if (isGLMM(object)) { GQmat <- GHrule(nAGQ) if (nAGQ <= 1) { glmerPwrssUpdate(pp,rr, control$tolPwrss, GQmat, maxit=maxit) } else { glmerPwrssUpdate(pp,rr, control$tolPwrss, GQmat, maxit=maxit, grpFac = object@flist[[1]]) } } devlist <- if (isGLMM(object)) { baseOffset <- forceCopy(object@resp$offset) list(tolPwrss= dc$cmp [["tolPwrss"]], compDev = dc$dims[["compDev"]], nAGQ = unname(nAGQ), lp0 = pp$linPred(1), ## object@resp$eta - baseOffset, baseOffset = baseOffset, pwrssUpdate = glmerPwrssUpdate, ## save GQmat in the object and use that instead of nAGQ GQmat = GHrule(nAGQ), fac = object@flist[[1]], pp=pp, resp=rr, u0=pp$u0, verbose=verbose, dpars=seq_len(nth)) } else list(pp=pp, resp=rr, u0=pp$u0, verbose=verbose, dpars=seq_len(nth)) ff <- mkdevfun(list2env(devlist), nAGQ=nAGQ, maxit=maxit, verbose=verbose) ## rho <- environment(ff) == list2env(devlist) xst <- rep.int(0.1, nth) x0 <- pp$theta lower <- object@lower if (!is.na(nAGQ) && nAGQ > 0L) { xst <- c(xst, sqrt(diag(pp$unsc()))) x0 <- c(x0, unname(fixef(object))) lower <- c(lower, rep(-Inf,length(x0)-length(lower))) } ## control <- c(control,list(xst=0.2*xst, xt=xst*0.0001)) ## FIX ME: allow use.last.params to be passed through calc.derivs <- !is.null(object@optinfo$derivs) ## if(isGLMM(object)) { ## rho$resp$updateWts() ## rho$pp$updateDecomp() ## rho$lp0 <- rho$pp$linPred(1) ## } optimizer <- object@optinfo$optimizer if (!is.null(newopt <- ctrl.arg$optimizer)) { ## we might end up with a length-2 optimizer vector ... ## use the *last* element optimizer <- newopt[length(newopt)] } opt <- optwrap(optimizer, ff, x0, lower=lower, control=control$optCtrl, calc.derivs=calc.derivs) cc <- checkConv(attr(opt,"derivs"),opt$par, ## FIXME: was there a reason that ctrl was passed ## via the call slot? it was causing problems ## when optTheta called refit (github issue #173) # ctrl = eval(object@call$control)$checkConv, ctrl = control$checkConv, lbound=lower) if (isGLMM(object)) rr$setOffset(baseOffset) mkMerMod(environment(ff), opt, list(flist=object@flist, cnms=object@cnms, Gp=object@Gp, lower=object@lower), object@frame, getCall(object), cc) } refitML.merMod <- function (x, optimizer="bobyqa", ...) { ## FIXME: optimizer is set to 'bobyqa' for back-compatibility, but that's not ## consistent with lmer (default NM). Should be based on internally stored 'optimizer' value if (!isREML(x)) return(x) stopifnot(is(rr <- x@resp, "lmerResp")) rho <- new.env(parent=parent.env(environment())) rho$resp <- new(class(rr), y=rr$y, offset=rr$offset, weights=rr$weights, REML=0L) xpp <- x@pp$copy() rho$pp <- new(class(xpp), X=xpp$X, Zt=xpp$Zt, Lambdat=xpp$Lambdat, Lind=xpp$Lind, theta=xpp$theta, n=nrow(xpp$X)) devfun <- mkdevfun(rho, 0L) # FIXME? also pass {verbose, maxit, control} opt <- ## "smart" calc.derivs rules if(optimizer == "bobyqa" && !any("calc.derivs" == ...names())) optwrap(optimizer, devfun, x@theta, lower=x@lower, calc.derivs=TRUE, ...) else optwrap(optimizer, devfun, x@theta, lower=x@lower, ...) ## FIXME: Should be able to call mkMerMod() here, and be done n <- length(rr$y) pp <- rho$pp p <- ncol(pp$X) dims <- c(N=n, n=n, p=p, nmp=n-p, q=nrow(pp$Zt), nth=length(pp$theta), useSc=1L, reTrms=length(x@cnms), spFe=0L, REML=0L, GLMM=0L, NLMM=0L)#, nAGQ=NA_integer_) wrss <- rho$resp$wrss() ussq <- pp$sqrL(1) pwrss <- wrss + ussq cmp <- c(ldL2=pp$ldL2(), ldRX2=pp$ldRX2(), wrss=wrss, ussq=ussq, pwrss=pwrss, drsum=NA, dev=opt$fval, REML=NA, sigmaML=sqrt(pwrss/n), sigmaREML=sqrt(pwrss/(n-p))) ## modify the call to have REML=FALSE. (without evaluating the call!) cl <- x@call cl[["REML"]] <- FALSE new("lmerMod", call = cl, frame=x@frame, flist=x@flist, cnms=x@cnms, theta=pp$theta, beta=pp$delb, u=pp$delu, optinfo = .optinfo(opt), lower=x@lower, devcomp=list(cmp=cmp, dims=dims), pp=pp, resp=rho$resp, Gp=x@Gp) } ##' residuals of merMod objects --> ../man/residuals.merMod.Rd ##' @param object a fitted [g]lmer (\code{merMod}) object ##' @param type type of residuals ##' @param scaled scale residuals by residual standard deviation (=scale parameter)? ##' @param \dots additional arguments (ignored: for method compatibility) residuals.merMod <- function(object, type = if(isGLMM(object)) "deviance" else "response", scaled = FALSE, ...) { r <- residuals(object@resp, type,...) fr <- model.frame(object) if (is.null(nm <- rownames(fr))) nm <- seq_along(r) names(r) <- nm if (scaled) r <- r/sigma(object) if (!is.null(na.action <- attr(fr, "na.action"))) naresid(na.action, r) else r } ##' @rdname residuals.merMod ##' @S3method residuals lmResp ##' @method residuals lmResp residuals.lmResp <- function(object, type = c("working", "response", "deviance", "pearson", "partial"), ...) { y <- object$y r <- object$wtres mu <- object$mu switch(match.arg(type), working =, response = y-mu, deviance =, pearson = r, partial = stop(gettextf("partial residuals are not implemented yet"), call. = FALSE) ) } ##' @rdname residuals.merMod ##' @S3method residuals glmResp ##' @method residuals glmResp residuals.glmResp <- function(object, type = c("deviance", "pearson", "working", "response", "partial"), ...) { type <- match.arg(type) y <- object$y mu <- object$mu switch(type, deviance = { d.res <- sqrt(object$devResid()) ifelse(y > mu, d.res, -d.res) }, pearson = object$wtres, working = object$wrkResids(), response = y - mu, partial = stop(gettextf("partial residuals are not implemented yet"), call. = FALSE) ) } hatvalues.merMod <- function(model, fullHatMatrix = FALSE, ...) { if(isGLMM(model)) warning("the hat matrix may not make sense for GLMMs") ## FIXME: add restriction for NLMMs? ## prior weights, W ^ {1/2} : sqrtW <- Diagonal(x = sqrt(weights(model, type = "prior"))) vList <- getME(model, c("L", "Lambdat", "Zt", "RX", "X", "RZX")) ## CL:= right factor of the random-effects component of the hat matrix (64) CL <- with(vList, solve(L, solve(L, Lambdat %*% Zt %*% sqrtW, system = "P"), system = "L")) ## restore dimnames (needed since Matrix 1.5.2) dimnames(CL) <- dimnames(vList$Zt) ## CR:= right factor of the fixed-effects component of the hat matrix (65) ## {MM (FIXME Matrix): t(.) %*% here faster than crossprod()} CR <- with(vList, solve(t(RX), ## colScale(t(X), sqrtW) - crossprod(RZX, CL) t(X) %*% sqrtW - crossprod(RZX, CL)) ) res <- if(fullHatMatrix) { ## H = (C_L^T C_L + C_R^T C_R) (63) crossprod(CL) + crossprod(CR) } else { ## diagonal of the hat matrix, diag(H) : colSums(CR^2) + colSums(CL^2) } napredict(attr(model.frame(model),"na.action"), res) } ###----- Printing etc ---------------------------- ## lme4.0, for GLMM had ## 'Generalized linear mixed model fit by the Laplace approximation' ## 'Generalized linear mixed model fit by the adaptive Gaussian Hermite approximation' ## so did *not* mention "maximum likelihood" at all in the GLMM case methTitle <- function(dims) { # dims == object@devcomp$dims GLMM <- dims[["GLMM"]] kind <- switch(1L + GLMM * 2L + dims[["NLMM"]], "Linear", "Nonlinear", "Generalized linear", "Generalized nonlinear") paste(kind, "mixed model fit by", if(dims[["REML"]]) "REML" else paste("maximum likelihood", if(GLMM) { ## TODO? Use shorter wording here, for (new) 'long = FALSE' argument if((nAGQ <- dims[["nAGQ"]]) == 1) "(Laplace Approximation)" else sprintf("(Adaptive Gauss-Hermite Quadrature, nAGQ = %d)", nAGQ) })) } cat.f <- function(...) cat(..., fill = TRUE) famlink <- function(object, resp = object@resp) { if(is(resp, "glmResp")) resp$family[c("family", "link")] else list(family = NULL, link = NULL) } ##' @title print method title ##' @param mtit the result of methTitle(obj) ##' @param class typically class(obj) .prt.methTit <- function(mtit, class) { if(nchar(mtit) + 5 + nchar(class) > (w <- getOption("width"))) { ## wrap around mtit <- strwrap(mtit, width = w - 2, exdent = 2) cat(mtit, " [",class,"]", sep = "", fill = TRUE) } else ## previous: simple one-liner cat(sprintf("%s ['%s']\n", mtit, class)) } .prt.family <- function(famL) { if (!is.null(f <- famL$family)) { cat.f(" Family:", f, if(!is.null(ll <- famL$link)) paste(" (", ll, ")")) } } .prt.resids <- function(resids, digits, title = "Scaled residuals:", ...) { cat(title,"\n") ## FIXME: need testing code rq <- setNames(zapsmall(quantile(resids, na.rm=TRUE), digits + 1L), c("Min", "1Q", "Median", "3Q", "Max")) print(rq, digits = digits, ...) cat("\n") } .prt.call <- function(call, long = TRUE) { if (!is.null(cc <- call$formula)) cat.f("Formula:", deparse(cc)) if (!is.null(cc <- call$data)) cat.f(" Data:", deparse(cc)) if (!is.null(cc <- call$weights)) cat.f("Weights:", deparse(cc)) if (!is.null(cc <- call$offset)) cat.f(" Offset:", deparse(cc)) if (long && length(cc <- call$control) && !identical((dc <- deparse(cc)), "lmerControl()")) ## && !identical(eval(cc), lmerControl())) cat.f("Control:", dc) if (!is.null(cc <- call$subset)) cat.f(" Subset:", deparse(cc)) } ##' @title Extract Log Likelihood, AIC, and related statics from a Fitted LMM ##' @param object a LMM model fit ##' @param devianceFUN the function to be used for computing the deviance; should not be changed for \pkg{lme4} created objects. ##' @param chkREML optional logical indicating \code{object} maybe a REML fit. ##' @param devcomp ##' @return a list with components \item{logLik} and \code{AICtab} where the first is \code{\link{logLik(object)}} and \code{AICtab} is a "table" of AIC, BIC, logLik, deviance, df.residual() values. llikAIC <- function(object, devianceFUN = devCrit, chkREML = TRUE, devcomp = object@devcomp) { llik <- logLik(object) # returns NA for a REML fit - maybe change? AICstats <- { if(chkREML && devcomp$dims[["REML"]]) devcomp$cmp["REML"] # *no* likelihood stats here else { c(AIC = AIC(llik), BIC = BIC(llik), logLik = c(llik), deviance = devianceFUN(object), df.resid = df.residual(object)) } } list(logLik = llik, AICtab = AICstats) } .prt.aictab <- function(aictab, digits = 1) { t.4 <- round(aictab, digits) if (length(aictab) == 1 && names(aictab) == "REML") cat.f("REML criterion at convergence:", t.4) else { ## slight hack to get residual df formatted as an integer t.4F <- format(t.4) t.4F["df.resid"] <- format(t.4["df.resid"]) print(t.4F, quote = FALSE) } } .prt.VC <- function(varcor, digits, comp = "Std.Dev.", corr = any(comp == "Std.Dev."), formatter = format, ...) { # '...' *only* passed to print() cat("Random effects:\n") fVC <- formatVC(varcor, digits=digits, formatter=formatter, comp=comp, corr=corr) print(fVC, quote = FALSE, digits = digits, ...) } .prt.grps <- function(ngrps, nobs) { cat(sprintf("Number of obs: %d, groups: ", nobs), paste(paste(names(ngrps), ngrps, sep = ", "), collapse = "; "), fill = TRUE) } ## FIXME: print header ("Warnings:\n") ? ## change position in output? comes at the very end, could get lost ... .prt.warn <- function(optinfo, summary=FALSE, ...) { if(length(optinfo) == 0) return() # currently, e.g., from refitML() ## check all warning slots: print numbers of warnings (if any) cc <- optinfo$conv$opt msgs <- unlist(optinfo$conv$lme4$messages) ## can't put nmsgs/nwarnings compactly into || expression ## because of short-circuiting nmsgs <- length(msgs) warnings <- optinfo$warnings nwarnings <- length(warnings) if (cc > 0 || nmsgs > 0 || nwarnings > 0) { m <- if (cc==0) { "(OK)" } else if (!is.null(optinfo$message)) { sprintf("(%s)",optinfo$message) } else "" convmsg <- sprintf("optimizer (%s) convergence code: %d %s", optinfo$optimizer, cc, m) if (summary) { cat(convmsg,sprintf("; %d optimizer warnings; %d lme4 warnings", nwarnings,nmsgs),"\n") } else { cat(convmsg, msgs, unlist(warnings), sep="\n") cat("\n") } } } ## options(lme4.summary.cor.max = 20) --> ./hooks.R ## ~~~~~~~~ ## was .summary.cor.max <- 20 a lme4-namespace hidden global variable ## This is modeled a bit after print.summary.lm : ## Prints *both* 'mer' and 'merenv' - as it uses summary(x) mainly ##' @S3method print summary.merMod print.summary.merMod <- function(x, digits = max(3, getOption("digits") - 3), correlation = NULL, symbolic.cor = FALSE, signif.stars = getOption("show.signif.stars"), ranef.comp = c("Variance", "Std.Dev."), ranef.corr = any(ranef.comp == "Std.Dev."), show.resids = TRUE, ...) { .prt.methTit(x$methTitle, x$objClass) .prt.family(x) .prt.call(x$call); cat("\n") .prt.aictab(x$AICtab); cat("\n") if (show.resids) ## need residuals.merMod() rather than residuals(): ## summary.merMod has no residuals method .prt.resids(x$residuals, digits = digits) .prt.VC(x$varcor, digits = digits, useScale = x$useScale, comp = ranef.comp, corr = ranef.corr, ...) .prt.grps(x$ngrps, nobs = x$devcomp$dims[["n"]]) p <- nrow(x$coefficients) if (p > 0) { cat("\nFixed effects:\n") printCoefmat(x$coefficients, # too radical: zap.ind = 3, #, tst.ind = 4 digits = digits, signif.stars = signif.stars) ## do not show correlation when summary(*, correlation=FALSE) was used: hasCor <- !is.null(VC <- x$vcov) && !is.null(VC@factors$correlation) ## FIXME: don't understand the logic here. We can easily ## defend against the problem of missing pre-computed correlation ## function by reconstituting it if necessary ## (e.g. if using merDeriv::vcov.lmerMod), as in commented code below. ## However, we currently have a test (using fit_agridat_archbold, ## see test-methods.R) that fails if we 'fix' this problem ... ## ## if (hasCor && is.null(VC@factors$correlation)) { ## ## defend against merDeriv definition of vcov.lmerMod; reconstruct ## cc <- cov2cor(VC) ## dimnames(cc) <- dimnames(VC) ## Matrix 1.5.2 bug ## VC@factors <- c(VC@factors, list(correlation = cc)) ## } if(is.null(correlation)) { # default cor.max <- getOption("lme4.summary.cor.max") correlation <- hasCor && (isTRUE(x$corrSet) || p <= cor.max) if(!correlation && p > cor.max && is.na(x$corrSet)) { nam <- deparse(substitute(x)) if(length(nam) > 1 || nchar(nam) >= 32) nam <- "...." message(sprintf(paste( "\nCorrelation matrix not shown by default, as p = %d > %d.", "Use print(%s, correlation=TRUE) or", " vcov(%s) if you need it\n", sep = "\n"), p, cor.max, nam, nam)) } } else if(!is.logical(correlation)) stop("'correlation' must be NULL or logical") if(correlation) { if(is.null(VC)) VC <- vcov(x, correlation = TRUE) corF <- VC@factors$correlation if (is.null(corF)) { # can this still happen? message("\nCorrelation of fixed effects could have been required in summary()") corF <- cov2cor(VC) } p <- ncol(corF) if (p > 1) { rn <- rownames(x$coefficients) rns <- abbreviate(rn, minlength = 11) cat("\nCorrelation of Fixed Effects:\n") if (is.logical(symbolic.cor) && symbolic.cor) { corf <- as(corF, "matrix") dimnames(corf) <- list(rns, abbreviate(rn, minlength = 1, strict = TRUE)) print(symnum(corf)) } else { corf <- matrix(format(round(corF@x, 3), nsmall = 3), ncol = p, dimnames = list(rns, abbreviate(rn, minlength = 6))) corf[!lower.tri(corf)] <- "" print(corf[-1, -p, drop = FALSE], quote = FALSE) } ## !symbolic.cor } ## if (p > 1) } ## if (correlation) } ## if (p>0) if(length(x$fitMsgs) && any(nchar(x$fitMsgs) > 0)) { cat("fit warnings:\n"); writeLines(x$fitMsgs) } .prt.warn(x$optinfo,summary=FALSE) invisible(x) }## print.summary.merMod ##' @S3method print merMod print.merMod <- function(x, digits = max(3, getOption("digits") - 3), correlation = NULL, symbolic.cor = FALSE, signif.stars = getOption("show.signif.stars"), ranef.comp = "Std.Dev.", ranef.corr = any(ranef.comp == "Std.Dev."), ...) { dims <- x@devcomp$dims .prt.methTit(methTitle(dims), class(x)) .prt.family(famlink(x, resp = x@resp)) .prt.call(x@call, long = FALSE) ## useScale <- as.logical(dims[["useSc"]]) llAIC <- llikAIC(x) .prt.aictab(llAIC$AICtab, 4) varcor <- VarCorr(x) .prt.VC(varcor, digits = digits, comp = ranef.comp, corr = ranef.corr, ...) ngrps <- vapply(x@flist, nlevels, 0L) .prt.grps(ngrps, nobs = dims[["n"]]) if(length(cf <- fixef(x)) > 0) { cat("Fixed Effects:\n") print.default(format(cf, digits = digits), print.gap = 2L, quote = FALSE, ...) } else cat("No fixed effect coefficients\n") fitMsgs <- .merMod.msgs(x) if(any(nchar(fitMsgs) > 0)) { cat("fit warnings:\n"); writeLines(fitMsgs) } .prt.warn(x@optinfo,summary=TRUE) invisible(x) } ##' @exportMethod show setMethod("show", "merMod", function(object) print.merMod(object)) ##' Return the deviance component list devcomp <- function(x) { .Deprecated("getME(., \"devcomp\")") stopifnot(is(x, "merMod")) x@devcomp } ##' @exportMethod getL setMethod("getL", "merMod", function(x) { .Deprecated("getME(., \"L\")") getME(x, "L") }) ##' used by tnames mkPfun <- function(diag.only = FALSE, old = TRUE, prefix = NULL){ local({ function(g,e) { mm <- outer(e,e,paste,sep = ".") if(old) { diag(mm) <- e } else { mm[] <- paste(mm,g,sep = "|") if (!is.null(prefix)) mm[] <- paste(prefix[2],mm,sep = "_") diag(mm) <- paste(e,g,sep = "|") if (!is.null(prefix)) diag(mm) <- paste(prefix[1],diag(mm),sep = "_") } mm <- if (diag.only) diag(mm) else mm[lower.tri(mm,diag = TRUE)] if(old) paste(g,mm,sep = ".") else mm } }) } ##' Construct names of individual theta/sd:cor components ##' ##' @param object a fitted model ##' @param diag.only include only diagonal elements? ##' @param old (logical) give backward-compatible results? ##' @param prefix a character vector with two elements giving the prefix ##' for diagonal (e.g. "sd") and off-diagonal (e.g. "cor") elements tnames <- function(object, diag.only = FALSE, old = TRUE, prefix = NULL) { pfun <- mkPfun(diag.only=diag.only, old=old, prefix=prefix) c(unlist(mapply(pfun, names(object@cnms), object@cnms))) } ## -> ../man/getME.Rd getME <- function(object, name, ...) UseMethod("getME") ##' Extract or Get Generalized Components from a Fitted Mixed Effects Model getME.merMod <- function(object, name = c("X", "Z","Zt", "Ztlist", "mmList", "y", "mu", "u", "b", "Gp", "Tp", "L", "Lambda", "Lambdat", "Lind", "Tlist", "A", "RX", "RZX", "sigma", "flist", "fixef", "beta", "theta", "ST", "REML", "is_REML", "n_rtrms", "n_rfacs", "N", "n", "p", "q", "p_i", "l_i", "q_i", "k", "m_i", "m", "cnms", "devcomp", "offset", "lower", "devfun", "glmer.nb.theta" ), ...) { if(missing(name)) stop("'name' must not be missing") ## Deal with multiple names -- "FIXME" is inefficiently redoing things if (length(name <- as.character(name)) > 1) { names(name) <- name return(lapply(name, getME, object = object)) } if(name == "ALL") ## recursively get all provided components return(sapply(eval(formals()$name), getME.merMod, object=object, simplify=FALSE)) stopifnot(is(object,"merMod")) name <- match.arg(name) rsp <- object@resp PR <- object@pp dc <- object@devcomp th <- object@theta cnms <- object@cnms dims <- dc $ dims Tpfun <- function(cnms) { ltsize <- function(n) n*(n+1)/2 # lower triangle size cLen <- cumsum(ltsize(lengths(cnms))) setNames(c(0, cLen), c("beg__", names(cnms))) ## such that diff( Tp ) is well-named } ## mmList. <- mmList(object) if(any(name == c("p_i", "q_i", "m_i"))) p_i <- vapply(mmList(object), ncol, 1L) if(any(name == c("l_i", "q_i"))) l_i <- vapply(object@flist, nlevels, 1L) switch(name, "X" = PR$X, ## ok ? - check -- use model.matrix() method instead? "Z" = t(PR$Zt), "Zt" = PR$Zt, "Ztlist" = { getInds <- function(i) { n <- diff(object@Gp)[i] ## number of elements in this block nt <- length(cnms[[i]]) ## number of REs inds <- lapply(seq(nt), seq, to = n, by = nt) ## pull out individual RE indices inds <- lapply(inds,function(x) x + object@Gp[i]) ## add group offset } inds <- do.call(c,lapply(seq_along(cnms),getInds)) setNames(lapply(inds,function(i) PR$Zt[i,]), tnames(object,diag.only = TRUE)) }, "mmList" = mmList.merMod(object), "y" = rsp$y, "mu" = rsp$mu, "u" = object@u, "b" = crossprod(PR$Lambdat, object@u), # == Lambda %*% u "L" = PR$ L(), "Lambda" = t(PR$ Lambdat), "Lambdat" = PR$ Lambdat, "A" = PR$Lambdat %*% PR$Zt, "Lind" = PR$ Lind, "RX" = structure(PR$RX(), dimnames = list(colnames(PR$X), colnames(PR$X))), ## maybe add names elsewhere? "RZX" = structure(PR$RZX, dimnames = list(NULL, colnames(PR$X))), ## maybe add names elsewhere? "sigma" = sigma(object), "Gp" = object@Gp, "Tp" = Tpfun(cnms), # "term-wise theta pointer" "flist" = object@flist, "fixef" = fixef(object), "beta" = object@beta, "theta" = setNames(th, tnames(object)), "ST" = setNames(vec2STlist(object@theta, n = lengths(cnms)), names(cnms)), "Tlist" = { nc <- lengths(cnms) # number of columns per term nt <- length(nc) # number of random-effects terms ans <- vector("list",nt) names(ans) <- names(nc) pos <- 0L for (i in 1:nt) { # will need modification for more general Lambda nci <- nc[i] tt <- matrix(0., nci, nci) inds <- lower.tri(tt, diag=TRUE) nthi <- sum(inds) tt[inds] <- th[pos + seq_len(nthi)] pos <- pos + nthi ans[[i]] <- tt } ans }, "REML" = dims[["REML"]], "is_REML" = isREML(object), ## number of random-effects terms "n_rtrms" = length(cnms), ## number of random-effects grouping factors "n_rfacs" = length(object@flist), "N" = dims[["N"]], "n" = dims[["n"]], "p" = dims[["p"]], "q" = dims[["q"]], "p_i" = p_i, "l_i" = l_i, "q_i" = p_i * l_i, "k" = length(cnms), "m_i" = choose(p_i + 1, 2), "m" = dims[["nth"]], "cnms" = cnms, "devcomp" = dc, "offset" = rsp$offset, "lower" = setNames(object@lower, tnames(object)), "devfun" = { verbose <- getCall(object)$verbose; if (is.null(verbose)) verbose <- 0L if (isGLMM(object)) { reTrms <- getME(object,c("Zt","theta","Lambdat","Lind","flist","cnms")) d1 <- mkGlmerDevfun(object@frame, getME(object,"X"), reTrms=reTrms, family(object), verbose=verbose) nAGQ <- object@devcomp$dims[["nAGQ"]] updateGlmerDevfun(d1, reTrms, nAGQ=nAGQ) } else { ## copied from refit ... DRY ... devlist <- list(pp=PR, resp=rsp, u0=PR$u0, dpars=seq_along(PR$theta), verbose=verbose) mkdevfun(rho=list2env(devlist), ## FIXME: fragile ... // also pass 'maxit' ? verbose=verbose, control=object@optinfo$control) } }, ## FIXME: current version gives lower bounds for theta parameters only: ## -- these must be extended for [GN]LMMs -- give extended value including -Inf values for beta values? "glmer.nb.theta" = if(isGLMM(object) && isNBfamily(rsp$family$family)) getNBdisp(object) else NA, "..foo.." = # placeholder! stop(gettextf("'%s' is not implemented yet", sprintf("getME(*, \"%s\")", name))), ## otherwise stop(sprintf("Mixed-Effects extraction of '%s' is not available for class \"%s\"", name, class(object)))) }## {getME} ##' @importMethodsFrom Matrix t %*% crossprod diag tcrossprod ##' @importClassesFrom Matrix dgCMatrix dpoMatrix corMatrix NULL ## Extract the conditional variance-covariance matrix of the fixed-effects ## parameters vcov.merMod <- function(object, correlation = TRUE, sigm = sigma(object), use.hessian = NULL, ...) { hess.avail <- ## (1) numerical Hessian computed? (!is.null(h <- object@optinfo$derivs$Hessian) && ## (2) does Hessian include fixed-effect parameters? nrow(h) > (ntheta <- length(getME(object,"theta")))) if (is.null(use.hessian)) use.hessian <- hess.avail if (use.hessian && !hess.avail) stop(shQuote("use.hessian"), "=TRUE specified, ", "but Hessian is unavailable") calc.vcov.hess <- function(h) { ## invert 2*Hessian, catching errors and forcing symmetric result ## ~= forceSymmetric(solve(h/2)[i,i]) : solve(h/2) = 2*solve(h) h <- tryCatch(solve(h), error=function(e) matrix(NA,nrow=nrow(h),ncol=ncol(h))) i <- -seq_len(ntheta) ## drop var-cov parameters h <- h[i,i] forceSymmetric(h + t(h)) } ## alternately: calculate var-cov from implicit (RX) information ## provided by fit (always the case for lmerMods) V <- sigm^2 * object@pp$unsc() if (hess.avail) { V.hess <- calc.vcov.hess(h) bad.V.hess <- any(is.na(V.hess)) if (!bad.V.hess) { ## another 'bad var-cov' check: positive definite? e.hess <- eigen(V.hess,symmetric = TRUE,only.values = TRUE)$values if (min(e.hess) <= 0) bad.V.hess <- TRUE } } if (!use.hessian && hess.avail) { ## if hessian is available, go ahead and check ## for similarity with the RX-based estimate var.hess.tol <- 1e-4 # FIXME: should var.hess.tol be user controlled? if (!bad.V.hess && any(abs(V-V.hess) > var.hess.tol * V.hess)) warning("variance-covariance matrix computed ", "from finite-difference Hessian\nand ", "from RX differ by >",var.hess.tol,": ", "consider ",shQuote("use.hessian=TRUE")) } if (use.hessian) { if (!bad.V.hess) { V <- V.hess } else { warning("variance-covariance matrix computed ", "from finite-difference Hessian is\n", "not positive definite or contains NA values: falling back to ", "var-cov estimated from RX") } } ## FIXME: try to catch non-PD matrices rr <- tryCatch(as(V, "dpoMatrix"), error = function(e)e) if (inherits(rr, "error")) { warning(gettextf("Computed variance-covariance matrix problem: %s;\nreturning NA matrix", rr$message), domain = NA) rr <- matrix(NA,nrow(V),ncol(V)) } nmsX <- colnames(object@pp$X) dimnames(rr) <- list(nmsX,nmsX) if(correlation) rr@factors$correlation <- if(!is.na(sigm)) as(rr, "corMatrix") else rr # (is NA anyway) rr } ##' @importFrom stats vcov ##' @S3method vcov summary.merMod vcov.summary.merMod <- function(object, ...) { if(is.null(object$vcov)) stop("logic error in summary of merMod object") object$vcov } ##' Make variance and correlation matrices from \code{theta} ##' ##' @param sc scale factor (residual standard deviation) ##' @param cnms component names ##' @param nc numeric vector: number of terms in each RE component ##' @param theta theta vector (lower-triangle of Cholesky factors) ##' @param nms component names (FIXME: nms/cnms redundant: nms=names(cnms)?) ##' @seealso \code{\link{VarCorr}} ##' @return A matrix ##' @export mkVarCorr <- function(sc, cnms, nc, theta, nms) { ncseq <- seq_along(nc) thl <- split(theta, rep.int(ncseq, (nc * (nc + 1))/2)) if(!all(nms == names(cnms))) ## the above FIXME warning("nms != names(cnms) -- whereas lme4-authors thought they were --\n", "Please report!", immediate. = TRUE) ans <- lapply(ncseq, function(i) { ## Li := \Lambda_i, the i-th block diagonal of \Lambda(\theta) Li <- diag(nrow = nc[i]) Li[lower.tri(Li, diag = TRUE)] <- thl[[i]] rownames(Li) <- cnms[[i]] ## val := \Sigma_i = \sigma^2 \Lambda_i \Lambda_i', the val <- tcrossprod(sc * Li) # variance-covariance stddev <- sqrt(diag(val)) corr <- t(val / stddev)/stddev diag(corr) <- 1 structure(val, stddev = stddev, correlation = corr) }) if(is.character(nms)) { ## FIXME: do we want this? Maybe not. ## Potential problem: the names of the elements of the VarCorr() list ## are not necessarily unique (e.g. fm2 from example("lmer") has *two* ## Subject terms, so the names are "Subject", "Subject". The print method ## for VarCorrs handles this just fine, but it's a little awkward if we ## want to dig out elements of the VarCorr list ... ??? if (anyDuplicated(nms)) nms <- make.names(nms, unique = TRUE) names(ans) <- nms } structure(ans, sc = sc) } ##' Extract variance and correlation components ##' VarCorr.merMod <- function(x, sigma = 1, ...) { ## TODO: now that we have '...', add type=c("varcov","sdcorr","logs" ? if (is.null(cnms <- x@cnms)) stop("VarCorr methods require reTrms, not just reModule") if(missing(sigma)) sigma <- sigma(x) nc <- lengths(cnms) # no. of columns per term structure(mkVarCorr(sigma, cnms = cnms, nc = nc, theta = x@theta, nms = { fl <- x@flist; names(fl)[attr(fl, "assign")]}), useSc = as.logical(x@devcomp$dims[["useSc"]]), class = "VarCorr.merMod") } if(FALSE)## *NOWHERE* used _FIXME_ ?? ## Compute standard errors of fixed effects from an merMod object ## ## @title Standard errors of fixed effects ## @param object "merMod" object, ## @param ... additional, optional arguments. None are used at present. ## @return numeric vector of length length(fixef(.)) unscaledVar <- function(object, ...) { stopifnot(is(object, "merMod")) sigma(object) * diag(object@pp$unsc()) } ##' @S3method print VarCorr.merMod print.VarCorr.merMod <- function(x, digits = max(3, getOption("digits") - 2), comp = "Std.Dev.", corr = any(comp == "Std.Dev."), formatter = format, ...) { print(formatVC(x, digits=digits, comp=comp, corr=corr, formatter=formatter), quote = FALSE, ...) invisible(x) } ##' "format()" the 'VarCorr' matrix of the random effects -- for ##' print()ing and show()ing ##' ##' @title Format the 'VarCorr' Matrix of Random Effects ##' @param varc a \code{\link{VarCorr}} (-like) matrix with attributes. ##' @param digits the number of significant digits. ##' @param comp character vector of length one or two indicating which ##' columns out of "Variance" and "Std.Dev." should be shown in the ##' formatted output. ##' @param formatter the \code{\link{function}} to be used for ##' formatting the standard deviations and or variances (but ##' \emph{not} the correlations which (currently) are always formatted ##' as "0.nnn" ##' @param ... optional arguments for \code{formatter(*)} in addition ##' to the first (numeric vector) and \code{digits}. ##' @return a character matrix of formatted VarCorr entries from \code{varc}. formatVC <- function(varcor, digits = max(3, getOption("digits") - 2), comp = "Std.Dev.", corr = any(comp == "Std.Dev."), formatter = format, useScale = attr(varcor, "useSc"), ...) { c.nms <- c("Groups", "Name", "Variance", "Std.Dev.") avail.c <- c.nms[-(1:2)] if(anyNA(mcc <- pmatch(comp, avail.c))) stop("Illegal 'comp': ", comp[is.na(mcc)]) nc <- length(colnms <- c(c.nms[1:2], (use.c <- avail.c[mcc]))) if(length(use.c) == 0) stop("Must show variances and/or standard deviations") reStdDev <- c(lapply(varcor, attr, "stddev"), if(useScale) list(Residual = unname(attr(varcor, "sc")))) reLens <- lengths(reStdDev) nr <- sum(reLens) reMat <- array('', c(nr, nc), list(rep.int('', nr), colnms)) reMat[1+cumsum(reLens)-reLens, "Groups"] <- names(reLens) reMat[,"Name"] <- c(unlist(lapply(varcor, colnames)), if(useScale) "") if(any("Variance" == use.c)) reMat[,"Variance"] <- formatter(unlist(reStdDev)^2, digits = digits, ...) if(any("Std.Dev." == use.c)) reMat[,"Std.Dev."] <- formatter(unlist(reStdDev), digits = digits, ...) if (any(reLens > 1L)) { ## append lower triangular matrix of correlations / covariances maxlen <- max(reLens) Lcomat <- if(corr) lapply(varcor, attr, "correlation") else # just the matrix, i.e. {dim,dimnames} lapply(varcor, identity) ## function(v) `attributes<-`(v, attributes(v)[c("dim","dimnames")]) co <- # corr or cov do.call(rbind, lapply(Lcomat, function(x) { x <- as.matrix(x) dig <- max(2, digits - 2) # use 'digits' ! ## not using formatter() for correlations cc <- format(round(x, dig), nsmall = dig) cc[!lower.tri(cc)] <- "" nr <- nrow(cc) if (nr >= maxlen) return(cc) cbind(cc, matrix("", nr, maxlen-nr)) }))[, -maxlen, drop = FALSE] if (nrow(co) < nrow(reMat)) co <- rbind(co, matrix("", nrow(reMat) - nrow(co), ncol(co))) colnames(co) <- c(if(corr) "Corr" else "Cov", rep.int("", max(0L, ncol(co)-1L))) cbind(reMat, co, deparse.level=0L) } else reMat } ##' @S3method summary merMod summary.merMod <- function(object, correlation = (p <= getOption("lme4.summary.cor.max")), use.hessian = NULL, ...) { if (...length() > 0) { ## FIXME: need testing code warning("additional arguments ignored") } ## se.calc: hess.avail <- (!is.null(h <- object@optinfo$derivs$Hessian) && nrow(h) > length(getME(object,"theta"))) if (is.null(use.hessian)) use.hessian <- hess.avail if (use.hessian && !hess.avail) stop("'use.hessian=TRUE' specified, but Hessian is unavailable") resp <- object@resp devC <- object@devcomp dd <- devC$dims ## cmp <- devC$cmp useSc <- as.logical(dd[["useSc"]]) sig <- sigma(object) ## REML <- isREML(object) famL <- famlink(resp = resp) p <- length(coefs <- fixef(object)) ## protect against merDeriv's vcov.glmerMod(), which only ## handles binomial and Poisson values if (is(object, "glmerMod") && !family(object)$family %in% c("binomial", "poisson")) { vcov <- vcov.merMod } vc <- vcov(object, use.hessian = use.hessian) stdError <- sqrt(diag(vc)) coefs <- cbind("Estimate" = coefs, "Std. Error" = stdError) if (p > 0) { coefs <- cbind(coefs, (cf3 <- coefs[,1]/coefs[,2]), deparse.level = 0) colnames(coefs)[3] <- paste(if(useSc) "t" else "z", "value") if (isGLMM(object)) # FIXME: if "t" above, cannot have "z" here coefs <- cbind(coefs, "Pr(>|z|)" = 2*pnorm(abs(cf3), lower.tail = FALSE)) } llAIC <- llikAIC(object) ## FIXME: You can't count on object@re@flist, ## nor compute VarCorr() unless is(re, "reTrms"): varcor <- VarCorr(object) # use S3 class for now structure(list(methTitle = methTitle(dd), objClass = class(object), devcomp = devC, isLmer = is(resp, "lmerResp"), useScale = useSc, logLik = llAIC[["logLik"]], family = famL$family, link = famL$link, ngrps = ngrps(object), coefficients = coefs, sigma = sig, ## explicitly call method to avoid getting m ## essed up by merDeriv's vcov method ## (which doesn't assign a VC attribute) vcov = vcov.merMod(object, correlation = correlation, sigm = sig), varcor = varcor, # and use formatVC(.) for printing. AICtab = llAIC[["AICtab"]], call = object@call, residuals = residuals(object,"pearson",scaled = TRUE), fitMsgs = .merMod.msgs(object), optinfo = object@optinfo, ## put corrSet **last** so we don't mess up people relying on numeric indexing ## of elements (!!) corrSet = if(!missing(correlation)) correlation else NA # TRUE/FALSE (when set) / NA ), class = "summary.merMod") } ## TODO: refactor? Why the hell do we need a summary method for summary.merMod? ##' @S3method summary summary.merMod summary.summary.merMod <- function(object, varcov = TRUE, ...) { if(varcov && is.null(object$vcov)) object$vcov <- vcov.merMod(object, correlation = TRUE, sigm = object$sigma) object } ##' @importFrom stats weights ##' @S3method weights merMod weights.merMod <- function(object, type = c("prior","working"), ...) { type <- match.arg(type) isPrior <- type == "prior" if(!isGLMM(object) && !isPrior) stop("working weights only available for GLMMs") res <- if(isPrior) object@resp$weights else object@pp$Xwts^2 ## the working weights available through pp$Xwts should be ## equivalent to: ## object@resp$weights*(object@resp$muEta()^2)/object@resp$variance() ## however, the unit tests in tests/glmmWeights.R suggest that this ## equivalence is approximate. this may be fine, however, if the ## discrepancy is due to another instance of the general problem of ## reference class fields not being updated at the optimum, then this ## could cause real problems. see for example: ## https://github.com/lme4/lme4/issues/166 ## FIXME: what to do about missing values (see stats:::weights.glm)? ## FIXME: add unit tests return(res) } ## utility function: x is a ranef.mer object, nx is the name of an element asDf0 <- function(x,nx,id=FALSE) { xt <- x[[nx]] ss <- stack(xt) ss$ind <- factor(as.character(ss$ind), levels = colnames(xt)) ss$.nn <- rep.int(reorder(factor(rownames(xt)), xt[[1]], FUN = mean,sort = sort), ncol(xt)) ## allow 'postVar' *or* 'condVar' names pv <- attr(xt,"postVar") if (is.null(pv)) { pv <- attr(xt,"condVar") } if (!is.null(pv)) { tmpfun <- function(pvi) { unlist(lapply(1:nrow(pvi), function(i) sqrt(pvi[i, i, ]))) } if (!is.list(pv)) { ss$se <- tmpfun(pv) } else { ## rely on ordering when unpacking! ss$se <- unlist(lapply(pv,tmpfun)) } } if (id) ss$id <- nx return(ss) } ## convert ranef object to a long-format data frame, e.g. suitable ## for ggplot2 (or homemade lattice plots) ## FIXME: have some gymnastics to do if terms, levels are different ## for different grouping variables - want to maintain ordering ## but still allow rbind()ing as.data.frame.ranef.mer <- function(x, ...) { xL <- lapply(names(x), asDf0, x=x, id=TRUE) ## combine xD <- do.call(rbind,xL) ## rename ... oldnames <- c("values", "ind", ".nn", "se", "id") newnames <- c("condval","term","grp", "condsd","grpvar") names(xD) <- newnames[match(names(xD),oldnames)] ## reorder ... neworder <- c("grpvar","term","grp","condval") if ("condsd" %in% names(xD)) neworder <- c(neworder,"condsd") xD[neworder] } dim.merMod <- function(x) { getME(x, c("n", "p", "q", "p_i", "l_i", "q_i", "k", "m_i", "m")) } ## Internal utility, only used in optwrap() : ##' @title Get the optimizer function and check it minimally ##' @param optimizer character string ( = function name) *or* function getOptfun <- function(optimizer) { if (((is.character(optimizer) && optimizer == "optimx") || deparse(substitute(optimizer)) == "optimx")) { if (!requireNamespace("optimx")) { stop(shQuote("optimx")," package must be installed order to ", "use ",shQuote('optimizer="optimx"')) } optfun <- optimx::optimx } else if (is.character(optimizer)) { optfun <- tryCatch(get(optimizer), error = function(e) NULL) } else optfun <- optimizer if (is.null(optfun)) stop("couldn't find optimizer function ",optimizer) if (!is.function(optfun)) stop("non-function specified as optimizer") needArgs <- c("fn","par","lower","control") if (anyNA(match(needArgs, names(formals(optfun))))) stop("optimizer function must use (at least) formal parameters ", paste(sQuote(needArgs), collapse = ", ")) optfun } optwrap <- function(optimizer, fn, par, lower = -Inf, upper = Inf, control = list(), adj = FALSE, calc.derivs = TRUE, use.last.params = FALSE, verbose = 0L) { ## control must be specified if adj==TRUE; ## otherwise this is a fairly simple wrapper optfun <- getOptfun(optimizer) optName <- if(is.character(optimizer)) optimizer else ## "good try": deparse(substitute(optimizer))[[1L]] lower <- rep_len(lower, length(par)) upper <- rep_len(upper, length(par)) if (adj) ## control parameter tweaks: only for second round in nlmer, glmer switch(optName, "bobyqa" = { if(!is.numeric(control$rhobeg)) control$rhobeg <- 0.0002 if(!is.numeric(control$rhoend)) control$rhoend <- 2e-7 }, "Nelder_Mead" = { if (is.null(control$xst)) { thetaStep <- 0.1 nTheta <- length(environment(fn)$pp$theta) betaSD <- sqrt(diag(environment(fn)$pp$unsc())) control$xst <- 0.2* c(rep.int(thetaStep, nTheta), pmin(betaSD, 10)) } if (is.null(control$xt)) control$xt <- control$xst*5e-4 }) switch(optName, "bobyqa" = { if(all(par == 0)) par[] <- 0.001 ## minor kludge if(!is.numeric(control$iprint)) control$iprint <- min(verbose, 3L) }, "Nelder_Mead" = control$verbose <- verbose, "nloptwrap" = control$print_level <- min(as.numeric(verbose),3L), ## otherwise: if(verbose) warning(gettextf( "'verbose' not yet passed to optimizer '%s'; consider fixing optwrap()", optName), domain = NA) ) arglist <- list(fn = fn, par = par, lower = lower, upper = upper, control = control) ## optimx: must pass method in control (?) because 'method' was previously ## used in lme4 to specify REML vs ML if (optName == "optimx") { if (is.null(method <- control$method)) stop("must specify 'method' explicitly for optimx") arglist$control$method <- NULL arglist <- c(arglist, list(method = method)) } ## FIXME: test! effects of multiple warnings?? ## may not need to catch warnings after all?? curWarnings <- list() opt <- withCallingHandlers(do.call(optfun, arglist), warning = function(w) { curWarnings <<- append(curWarnings,list(w$message)) }) ## cat("***",unlist(tail(curWarnings,1))) ## FIXME: set code to warn on convergence !=0 ## post-fit tweaking if (optName == "bobyqa") { opt$convergence <- opt$ierr } else if (optName == "Nelder_Mead") { ## fix-up: Nelder_Mead treats running out of iterations as "convergence" (!?) if (opt$NM.result==4) opt$convergence <- 4 } else if (optName == "optimx") { opt <- list(par = coef(opt)[1,], fvalues = opt$value[1], method = method, conv = opt$convcode[1], feval = opt$fevals + opt$gevals, message = attr(opt,"details")[,"message"][[1]]) } if ((optconv <- getConv(opt)) != 0) { wmsg <- paste("convergence code",optconv,"from",optName) if (!is.null(getMsg(opt))) wmsg <- paste0(wmsg,": ",getMsg(opt)) warning(wmsg) curWarnings <<- append(curWarnings,list(wmsg)) } ## pp_before <- environment(fn)$pp ## save(pp_before,file="pp_before.RData") if (calc.derivs) { if (use.last.params) { ## +0 tricks R into doing a deep copy ... ## otherwise element of ref class changes! ## FIXME:: clunky!! orig_pars <- opt$par orig_theta <- environment(fn)$pp$theta+0 orig_pars[seq_along(orig_theta)] <- orig_theta } if (verbose > 10) cat("computing derivatives\n") derivs <- deriv12(fn, opt$par, fx = opt$value) if (use.last.params) { ## run one more evaluation of the function at the optimized ## value, to reset the internal/environment variables in devfun ... fn(orig_pars) } } else derivs <- NULL if (!use.last.params) { ## run one more evaluation of the function at the optimized ## value, to reset the internal/environment variables in devfun ... fn(opt$par) } structure(opt, ## store all auxiliary information optimizer = optimizer, control = control, warnings = curWarnings, derivs = derivs) } as.data.frame.VarCorr.merMod <- function(x,row.names = NULL, optional = FALSE, order = c("cov.last", "lower.tri"), ...) { order <- match.arg(order) tmpf <- function(v,grp) { vcov <- c(diag(v), v[lt.v <- lower.tri(v, diag = FALSE)]) sdcor <- c(attr(v,"stddev"), attr(v,"correlation")[lt.v]) nm <- rownames(v) n <- nrow(v) dd <- data.frame(grp = grp, var1 = nm[c(seq(n), col(v)[lt.v])], var2 = c(rep(NA,n), nm[row(v)[lt.v]]), vcov, sdcor, stringsAsFactors = FALSE) if (order=="lower.tri") { ## reorder *back* to lower.tri order m <- matrix(NA,n,n) diag(m) <- seq(n) m[lower.tri(m)] <- (n+1):(n*(n+1)/2) dd <- dd[m[lower.tri(m, diag=TRUE)],] } dd } r <- do.call(rbind, c(mapply(tmpf, x,names(x), SIMPLIFY = FALSE), deparse.level = 0)) if (attr(x,"useSc")) { ss <- attr(x,"sc") r <- rbind(r,data.frame(grp = "Residual",var1 = NA,var2 = NA, vcov = ss^2, sdcor = ss), deparse.level = 0) } rownames(r) <- NULL r } lme4/R/modular.R0000644000176200001440000010763414630365604013124 0ustar liggesusers#### --> ../man/modular.Rd #### ================== ### Small utilities to be used in lFormula() and glFormula() doCheck <- function(x) { is.character(x) && !any(x == "ignore") } RHSForm <- function(form,as.form=FALSE) { rhsf <- form[[length(form)]] if (as.form) reformulate(deparse(rhsf)) else rhsf } `RHSForm<-` <- function(formula,value) { formula[[length(formula)]] <- value formula } ##' Original formula, minus response ( = '~ ') : noLHSform <- function(formula) { if (length(formula)==2) formula else formula[-2] } ##' @param cstr name of control being set ##' @param val value of control being set checkCtrlLevels <- function(cstr, val, smallOK=FALSE) { bvals <- c("message","warning","stop","ignore") if (smallOK) bvals <- outer(bvals, c("","Small"), paste0) if (!is.null(val) && !val %in% bvals) stop("invalid control level ",sQuote(val)," in ",cstr,": valid options are {", paste(sapply(bvals,sQuote),collapse=","),"}") invisible(NULL) } ## general identifiability checker, used both in checkZdim and checkZrank wmsg <- function(n, cmp.val, allow.n, msg1="", msg2="", msg3="") { if (allow.n) { ## allow n == cmp.val unident <- n < cmp.val cmp <- "<" rstr <- "" } else { unident <- n <= cmp.val cmp <- "<=" rstr <- " and the residual variance (or scale parameter)" } ## %s without spaces intentional (don't want an extra space if the ## message component is empty) wstr <- sprintf("%s (=%d) %s %s (=%d)%s; the random-effects parameters%s are probably unidentifiable", msg1, n, cmp,msg2, cmp.val,msg3, rstr) list(unident=unident, wstr=wstr) } ##' For each r.e. term, test if Z has more columns than rows to detect ##' unidentifiability: ##' @title ##' @param Ztlist list of Zt matrices - one for each r.e. term ##' @param n no. observations ##' @param ctrl ##' @param allow.n allow as many random-effects as there are observations ##' for each term? ##' @return possibly empty character string with warning messages checkZdims <- function(Ztlist, n, ctrl, allow.n=FALSE) { stopifnot(is.list(Ztlist), is.numeric(n)) cstr <- "check.nobs.vs.nRE" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) term.names <- names(Ztlist) rows <- vapply(Ztlist, nrow, 1L) cols <- vapply(Ztlist, ncol, 1L) stopifnot(all(cols == n)) if (doCheck(cc)) { unique(unlist(lapply(seq_along(Ztlist), function(i) { ww <- wmsg(cols[i], rows[i], allow.n, "number of observations", "number of random effects", sprintf(" for term (%s)", term.names[i])) if(ww$unident) { switch(cc, "warning" = warning(ww$wstr, call.=FALSE), "stop" = stop (ww$wstr, call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) ww$wstr } else character() }))) ## -> possibly empty vector of error messages } else character() } ##' @importFrom Matrix rankMatrix checkZrank <- function(Zt, n, ctrl, nonSmall = 1e6, allow.n=FALSE) { stopifnot(is.list(ctrl), is.numeric(n), is.numeric(nonSmall)) cstr <- "check.nobs.vs.rankZ" if (doCheck(cc <- ctrl[[cstr]])) { ## not NULL or "ignore" checkCtrlLevels(cstr, cc, smallOK=TRUE) d <- dim(Zt) doTr <- d[1L] < d[2L] # Zt is "wide" => qr needs transpose(Zt) if(!(grepl("Small",cc) && prod(d) > nonSmall)) { rankZ <- rankMatrix(if(doTr) t(Zt) else Zt, method="qr") ww <- wmsg(n, rankZ, allow.n, "number of observations", "rank(Z)") if(is.na(rankZ)) { cc <- "stop" ww <- list(unident = TRUE, wstr = sub("^.*;", "rank(Z) is NA: invalid random effect factors?", ww$wstr)) } if (ww$unident) { switch(cc, "warningSmall" =, "warning" = warning(ww$wstr,call.=FALSE), "stopSmall" =, "stop" = stop(ww$wstr,call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) ww$wstr } else character() } else character() } else character() } ## check scale of non-dummy columns of X, both ## against each other and against 1 (implicit scale of theta parameters)? ## (shouldn't matter for lmer models?) ## TODO: check for badly centred models? ## TODO: check scale of Z columns? ## What should the rules be? try to find problematic columns ## and rescale them? scale+center? Just scale or scale+center ## all numeric columns? ## checkScaleX <- function(X, kind="warning", tol=1e3) { ## cstr <- "check.scaleX" kinds <- eval(formals(lmerControl)[["check.scaleX"]]) if (!kind %in% kinds) stop(gettextf("unknown check-scale option: %s",kind)) if (is.null(kind) || kind == "ignore") return(X) ## else : cont.cols <- apply(X,2,function(z) !all(z %in% c(0,1))) col.sd <- apply(X[,cont.cols, drop=FALSE], 2L, sd) sdcomp <- outer(col.sd,col.sd,"/") logcomp <- abs(log(sdcomp[lower.tri(sdcomp)])) logsd <- abs(log(col.sd)) if (any(c(logcomp,logsd) > log(tol))) { wmsg <- "Some predictor variables are on very different scales:" if (kind %in% c("warning","stop")) { wmsg <- paste(wmsg, "consider rescaling") switch(kind, "warning" = warning(wmsg, call.=FALSE), "stop" = stop(wmsg, call.=FALSE)) } else { wmsg <- paste(wmsg, "auto-rescaled (results NOT adjusted)") ## mimic scale() because we don't want to make a copy in ## order to retrieve the center/scale X[,cont.cols] <- sweep(X[,cont.cols,drop=FALSE],2,col.sd,"/") attr(X,"scaled:scale") <- setNames(col.sd,colnames(X)[cont.cols]) if (kind == "warn+rescale") warning(wmsg, call.=FALSE) } } else wmsg <- character() structure(X, msgScaleX = wmsg) } ##' @title Check that grouping factors have at least 2 and 1 sampled level" switch(cc, "warning" = warning(wstr,call.=FALSE), "stop" = stop(wstr,call.=FALSE), ## FIXME: should never get here since we have checkCtrLevels test above? stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } else wstr <- character() ## Part 2 ---------------- cstr <- "check.nobs.vs.nlev" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) if (doCheck(cc) && any(if(allow.n) nlevelVec > n else nlevelVec >= n)) { ## figure out which factors are the problem? w <- if (allow.n) which(nlevelVec>n) else which(nlevelVec>=n) bad_facs <- names(nlevelVec)[w] wst2 <- gettextf( "number of levels of each grouping factor must be %s number of observations", if(allow.n) "<=" else "<") wst2 <- paste0(wst2," (problems: ",paste(bad_facs,collapse=", "),")") switch(cc, "warning" = warning(wst2, call.=FALSE), "stop" = stop(wst2, call.=FALSE) ## shouldn't reach here ) } else wst2 <- character() ## Part 3 ---------------- cstr <- "check.nlev.gtreq.5" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) if (doCheck(cc) && any(nlevelVec < 5)) { wst3 <- "grouping factors with < 5 sampled levels may give unreliable estimates" switch(cc, "warning" = warning(wst3, call.=FALSE), "stop" = stop (wst3, call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } else wst3 <- character() ## return: c(wstr, wst2, wst3) ## possibly == character(0) } ##' Coefficients (columns) are dropped from a design matrix to ##' ensure that it has full rank. ##' ##' Redundant columns of the design matrix are identified with the ##' LINPACK implementation of the \code{\link{qr}} decomposition and ##' removed. The returned design matrix will have \code{qr(X)$rank} ##' columns. ##' ##' (Note: I have lifted this function from the ordinal (soon Rufus) ##' package and modified it slightly./rhbc) ##' ##' @title Ensure full rank design matrix ##' @param X a design matrix, e.g., the result of ##' \code{\link{model.matrix}} possibly of less than full column rank, ##' i.e., with redundant parameters. ##' @param silent should a message not be issued if X is column rank ##' deficient? ##' @return The design matrix \code{X} without redundant columns. ##' @seealso \code{\link{qr}} and \code{\link{lm}} ##' @importFrom Matrix rankMatrix ##' @author Rune Haubo Bojesen Christensen (drop.coef()); Martin Maechler chkRank.drop.cols <- function(X, kind, tol = 1e-7, method = "qr") { ## Test and match arguments: stopifnot(is.matrix(X)) # i.e., *not* sparse kinds <- eval(formals(lmerControl)[["check.rankX"]]) if (!kind %in% kinds) stop(gettextf("undefined option for 'kind': %s", kind)) ## c("message+drop.cols", "ignore", ## "silent.drop.cols", "warn+drop.cols", "stop.deficient"), if(kind == "ignore") return(X) ## else : p <- ncol(X) if (kind == "stop.deficient") { if ((rX <- rankMatrix(X, tol=tol, method=method)) < p) stop(gettextf(sub("\n +", "\n", "the fixed-effects model matrix is column rank deficient (rank(X) = %d < %d = p); the fixed effects will be jointly unidentifiable"), rX, p), call. = FALSE) } else { ## kind is one of "message+drop.cols", "silent.drop.cols", "warn+drop.cols" ## --> consider to drop extraneous columns: "drop.cols": ## Perform the qr-decomposition of X using LINPACK method, ## as we need the "good" pivots (and the same as lm()): ## this rankMatrix(X, method="qrLINPACK"): FIXME? rankMatrix(X, method= "qr.R") qr.X <- qr(X, tol = tol, LAPACK = FALSE) rnkX <- qr.X$rank if (rnkX == p) return(X) ## return X if X has full column rank ## else: ## message about no. dropped columns: msg <- sprintf(ngettext(p - rnkX, "fixed-effect model matrix is rank deficient so dropping %d column / coefficient", "fixed-effect model matrix is rank deficient so dropping %d columns / coefficients"), p - rnkX) if (kind != "silent.drop.cols") (if(kind == "warn+drop.cols") warning else message)(msg, domain = NA) ## Save properties of X contr <- attr(X, "contrasts") asgn <- attr(X, "assign") ## Return the columns correponding to the first qr.x$rank pivot ## elements of X: keep <- qr.X$pivot[seq_len(rnkX)] dropped.names <- colnames(X[,-keep,drop=FALSE]) X <- X[, keep, drop = FALSE] if (rankMatrix(X, tol=tol, method=method) < ncol(X)) stop(gettextf("Dropping columns failed to produce full column rank design matrix"), call. = FALSE) ## Re-assign relevant attributes: if(!is.null(contr)) attr(X, "contrasts") <- contr if(!is.null(asgn)) attr(X, "assign") <- asgn[keep] attr(X, "msgRankdrop") <- msg attr(X, "col.dropped") <- setNames(qr.X$pivot[(rnkX+1L):p], dropped.names) } X } # check that response is not constant checkResponse <- function(y, ctrl) { stopifnot(is.list(ctrl)) cstr <- "check.response.not.const" checkCtrlLevels(cstr, cc <- ctrl[[cstr]]) if (doCheck(cc) && length(unique(y)) < 2L) { wstr <- "Response is constant" switch(cc, "warning" = warning(wstr, call.=FALSE), "stop" = stop(wstr, call.=FALSE), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } else character() } ##' Extract all warning msgs from a merMod object .merMod.msgs <- function(x) { ## currently only those found with 'X' : aX <- attributes(x@pp$X) wmsgs <- grep("^msg", names(aX)) if(any(has.msg <- nchar(Xwmsgs <- unlist(aX[wmsgs])) > 0)) Xwmsgs[has.msg] else character() } ## NA predict and restore rownames of original data if necessary ## napredictx <- function(x,...) { ## res <- napredict(x) ## } ##' @rdname modular ##' @param control a list giving (for \code{[g]lFormula}) all options (see \code{\link{lmerControl}} for running the model; ##' (for \code{mkLmerDevfun,mkGlmerDevfun}) options for inner optimization step; ##' (for \code{optimizeLmer} and \code{optimize[Glmer}) control parameters for nonlinear optimizer (typically inherited from the \dots argument to \code{lmerControl}) ##' @return \bold{lFormula, glFormula}: A list containing components, ##' \item{fr}{model frame} ##' \item{X}{fixed-effect design matrix} ##' \item{reTrms}{list containing information on random effects structure: result of \code{\link{mkReTrms}}} ##' \item{REML}{(lFormula only): logical flag: use restricted maximum likelihood? (Copy of argument.)} ##' @export lFormula <- function(formula, data=NULL, REML = TRUE, subset, weights, na.action, offset, contrasts = NULL, control=lmerControl(), ...) { control <- control$checkControl ## this is all we really need mf <- mc <- match.call() dontChk <- c("start", "verbose", "devFunOnly") dots <- list(...) do.call(checkArgs, c(list("lmer"), dots[!names(dots) %in% dontChk])) if (!is.null(dots[["family"]])) { ## lmer(...,family=...); warning issued within checkArgs mc[[1]] <- quote(lme4::glFormula) if (missing(control)) mc[["control"]] <- glmerControl() return(eval(mc, parent.frame())) } cstr <- "check.formula.LHS" checkCtrlLevels(cstr,control[[cstr]]) denv <- checkFormulaData(formula, data, checkLHS = control$check.formula.LHS == "stop") #mc$formula <- formula <- as.formula(formula,env=denv) ## substitute evaluated call formula <- as.formula(formula, env=denv) ## as.formula ONLY sets environment if not already explicitly set. ## ?? environment(formula) <- denv # get rid of || terms so update() works as expected RHSForm(formula) <- expandDoubleVerts(RHSForm(formula)) mc$formula <- formula ## (DRY! copied from glFormula) m <- match(c("data", "subset", "weights", "na.action", "offset"), names(mf), 0L) mf <- mf[c(1L, m)] mf$drop.unused.levels <- TRUE mf[[1L]] <- quote(stats::model.frame) fr.form <- subbars(formula) # substitute "|" by "+" environment(fr.form) <- environment(formula) ## model.frame.default looks for these objects in the environment ## of the *formula* (see 'extras', which is anything passed in '...'), ## so they have to be put there: for (i in c("weights", "offset")) { if (!eval(bquote(missing(x=.(i))))) assign(i,get(i,parent.frame()),environment(fr.form)) } mf$formula <- fr.form fr <- eval(mf, parent.frame()) if (nrow(fr) == 0L) stop("0 (non-NA) cases") ## convert character vectors to factor (defensive) fr <- factorize(fr.form, fr, char.only=TRUE) ## store full, original formula & offset attr(fr,"formula") <- formula attr(fr,"offset") <- mf$offset n <- nrow(fr) ## random effects and terms modules reTrms <- mkReTrms(findbars(RHSForm(formula)), fr) wmsgNlev <- checkNlevels(reTrms$flist, n=n, control) wmsgZdims <- checkZdims(reTrms$Ztlist, n=n, control, allow.n=FALSE) if (anyNA(reTrms$Zt)) { stop("NA in Z (random-effects model matrix): ", "please use ", shQuote("na.action='na.omit'"), " or ", shQuote("na.action='na.exclude'")) } wmsgZrank <- checkZrank(reTrms$Zt, n=n, control, nonSmall = 1e6) ## fixed-effects model matrix X - remove random effect parts from formula: fixedform <- formula RHSForm(fixedform) <- nobars(RHSForm(fixedform)) mf$formula <- fixedform ## re-evaluate model frame to extract predvars component fixedfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"), "predvars.fixed") <- attr(attr(fixedfr,"terms"), "predvars") ## so we don't have to fart around retrieving which vars we need ## in model.frame(.,fixed.only=TRUE) attr(attr(fr,"terms"), "varnames.fixed") <- names(fixedfr) ## ran-effects model frame (for predvars) ## important to COPY formula (and its environment)? ranform <- formula RHSForm(ranform) <- subbars(RHSForm(reOnly(formula))) mf$formula <- ranform ranfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"), "predvars.random") <- attr(terms(ranfr), "predvars") ## FIXME: shouldn't we have this already in the full-frame predvars? X <- model.matrix(fixedform, fr, contrasts)#, sparse = FALSE, row.names = FALSE) ## sparseX not yet ## backward compatibility (keep no longer than ~2015): if(is.null(rankX.chk <- control[["check.rankX"]])) rankX.chk <- eval(formals(lmerControl)[["check.rankX"]])[[1]] X <- chkRank.drop.cols(X, kind=rankX.chk, tol = 1e-7) if(is.null(scaleX.chk <- control[["check.scaleX"]])) scaleX.chk <- eval(formals(lmerControl)[["check.scaleX"]])[[1]] X <- checkScaleX(X, kind=scaleX.chk) list(fr = fr, X = X, reTrms = reTrms, REML = REML, formula = formula, wmsgs = c(Nlev = wmsgNlev, Zdims = wmsgZdims, Zrank = wmsgZrank)) } ## utility f'n for checking starting values getStart <- function(start, pred, returnVal = c("theta","all")) { returnVal <- match.arg(returnVal) doFixef <- returnVal == "all" ## default values theta <- pred$theta fixef <- pred$delb if (is.numeric(start)) { theta <- start } else if (is.list(start)) { if (!all(vapply(start, is.numeric, NA))) stop("all elements of start must be numeric") if (length((badComp <- setdiff(names(start), c("theta","fixef")))) > 0) stop("incorrect components in start list: ", badComp) if (!is.null(start$theta)) theta <- start$theta if (doFixef) { noBeta <- is.null(start$beta) if(!is.null(sFE <- start$fixef) || !noBeta) { fixef <- if(!is.null(sFE)) { if(!noBeta) message("Starting values for fixed effects coefficients", "specified through both 'fixef' and 'beta',", "only 'fixef' used") ## FIXME? accumulating heuristic evidence for drop1()-like case if((p <- length(fixef)) < length(sFE) && p == ncol(pred$X) && is.character(ns <- names(sFE)) && all((cnX <- dimnames(pred$X)[[2L]]) %in% ns)) ## take "matching" fixef[] only sFE[cnX] else sFE } else if(!noBeta) start$beta } if (length(fixef)!=length(pred$delb)) stop("incorrect number of fixef components (!=",length(pred$delb),")") } } else if (!is.null(start)) stop("'start' must be NULL, a numeric vector or named list of such vectors") if (!is.null(start) && length(theta) != length(pred$theta)) stop("incorrect number of theta components (!=",length(pred$theta),")") if(doFixef) c(theta, fixef) else theta } ## update start ## should refactor this to ## turn numeric start into start=list(theta=start) immediately ?? updateStart <- function(start, theta) { if (is.numeric(start)) { theta } else { if (!is.null(start$theta)) start$theta <- theta start } } ##' @rdname modular ##' @param fr A model frame containing the variables needed to create an ##' \code{\link{lmerResp}} or \code{\link{glmResp}} instance ##' @param X fixed-effects design matrix ##' @param reTrms information on random effects structure (see \code{\link{mkReTrms}}) ##' @param REML (logical) fit restricted maximum likelihood model? ##' @param start starting values ##' @param verbose print output? ##' @return \bold{mkLmerDevfun, mkGlmerDevfun}: A function to calculate deviance ##' (or restricted deviance) as a function of the theta (random-effect) parameters ##' (for GlmerDevfun, of beta (fixed-effect) parameters as well). These deviance ##' functions have an environment containing objects required for their evaluation. ##' CAUTION: The output object of \code{mk(Gl|L)merDevfun} is an \code{\link{environment}} ##' containing reference class objects (see \code{\link{ReferenceClasses}}, \code{\link{merPredD-class}}, ##' \code{\link{lmResp-class}}), which behave in ways that may surprise many users. For example, if the ##' output of \code{mk(Gl|L)merDevfun} is naively copied, then modifications to the original will ##' also appear in the copy (and vice versa). To avoid this behavior one must make a deep copy ##' (see \code{\link{ReferenceClasses}} for details). ##' \cr ##' \cr ##' @export mkLmerDevfun <- function(fr, X, reTrms, REML = TRUE, start = NULL, verbose = 0, control = lmerControl(), ...) { ## FIXME: make sure verbose gets handled properly #if (missing(fr)) { ## reconstitute frame #} ## pull necessary arguments for making the model frame out of ... p <- ncol(X) # maybe also do rank check on X here?? rho <- new.env(parent=parent.env(environment())) rho$pp <- do.call(merPredD$new, c(reTrms[c("Zt","theta","Lambdat","Lind")], n=nrow(X), list(X=X))) REMLpass <- if(REML) p else 0L rho$resp <- if(missing(fr)) mkRespMod( REML = REMLpass, ...) else mkRespMod(fr, REML = REMLpass) ## FIXME / note: REML does double duty as rank of X and a flag for using ## REML maybe this should be mentioned in the help file for ## mkRespMod?? currently that help file says REML is logical. a ## consequence of this double duty is that it is impossible to fit ## a model with no fixed effects using REML (MM: ==> FIXME) ## devfun <- mkdevfun(rho, 0L, verbose=verbose, control=control) ## prevent R CMD check false pos. warnings (in this function only): pp <- resp <- NULL rho$lmer_Deviance <- lmer_Deviance devfun <- function(theta) .Call(lmer_Deviance, pp$ptr(), resp$ptr(), as.double(theta)) environment(devfun) <- rho # if all random effects are of the form 1|f and starting values not # otherwise provided (and response variable is present, i.e. not doing # a simulation) then compute starting values if (is.null(start) && all(reTrms$cnms == "(Intercept)") && length(reTrms$flist) == length(reTrms$lower) && !is.null(y <- model.response(fr))) { v <- sapply(reTrms$flist, function(f) var(ave(y, f))) v.e <- var(y) - sum(v) if (!is.na(v.e) && v.e > 0) { v.rel <- v / v.e if (all(v.rel >= reTrms$lower^2)) rho$pp$setTheta(sqrt(v.rel)) } } ## theta <- getStart(start, rho$pp) ## ^^^^^ unused / obfuscation? should the above be rho$pp$setTheta(.) ? ## MM: commenting it did not break any of our checks if (length(rho$resp$y) > 0) ## only if non-trivial y devfun(rho$pp$theta) # one evaluation to ensure all values are set rho$lower <- reTrms$lower # to be more consistent with mkGlmerDevfun devfun # this should pass the rho environment implicitly } ##' @param devfun a deviance function, as generated by \code{\link{mkLmerDevfun}} ##' @return \bold{optimizeLmer}: Results of an optimization. optimizeLmer <- function(devfun, optimizer= formals(lmerControl)$optimizer, restart_edge= formals(lmerControl)$restart_edge, boundary.tol = formals(lmerControl)$boundary.tol, start = NULL, verbose = 0L, control = list(), ...) { verbose <- as.integer(verbose) rho <- environment(devfun) opt <- optwrap(optimizer, devfun, getStart(start, rho$pp), lower=rho$lower, control=control, adj=FALSE, verbose=verbose, ...) if (restart_edge) { ## FIXME: should we be looking at rho$pp$theta or opt$par ## at this point??? in koller example (for getData(13)) we have ## rho$pp$theta=0, opt$par=0.08 if (length(bvals <- which(rho$pp$theta==rho$lower)) > 0) { ## *don't* use numDeriv -- cruder but fewer dependencies, no worries ## about keeping to the interior of the allowed space theta0 <- new("numeric",rho$pp$theta) ## 'deep' copy: d0 <- devfun(theta0) btol <- 1e-5 ## FIXME: make user-settable? bgrad <- sapply(bvals, function(i) { bndval <- rho$lower[i] theta <- theta0 theta[i] <- bndval+btol (devfun(theta)-d0)/btol }) ## what do I need to do to reset rho$pp$theta to original value??? devfun(theta0) ## reset rho$pp$theta after tests ## FIXME: allow user to specify ALWAYS restart if on boundary? if (any(is.na(bgrad))) { warning("some gradient components are NA near boundaries, skipping boundary check") return(opt) } else { if (any(bgrad < 0)) { if (verbose) message("some theta parameters on the boundary, restarting") opt <- optwrap(optimizer, devfun, opt$par, lower=rho$lower, control=control, adj=FALSE, verbose=verbose, ...) } } ## bgrad not NA } } ## if restart.edge if (boundary.tol > 0) check.boundary(rho, opt, devfun, boundary.tol) else opt } ## TODO: remove any arguments that aren't actually used by glFormula (same for lFormula) ## TODO(?): lFormula() and glFormula() are very similar: merge or use common baseFun() ##' @rdname modular ##' @inheritParams glmer ##' @export glFormula <- function(formula, data=NULL, family = gaussian, subset, weights, na.action, offset, contrasts = NULL, start, mustart, etastart, control = glmerControl(), ...) { ## FIXME: does start= do anything? test & fix control <- control$checkControl ## this is all we really need mf <- mc <- match.call() ## extract family, call lmer for gaussian if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame(2)) if( is.function(family)) family <- family() if (isTRUE(all.equal(family, gaussian()))) { mc[[1]] <- quote(lme4::lFormula) mc["family"] <- NULL # to avoid an infinite loop return(eval(mc, parent.frame())) } if (family$family %in% c("quasibinomial", "quasipoisson", "quasi")) stop('"quasi" families cannot be used in glmer') dontChk <- c("verbose", "devFunOnly", "optimizer", "nAGQ") dots <- list(...) do.call(checkArgs, c(list("glmer"), dots[!names(dots) %in% dontChk])) cstr <- "check.formula.LHS" checkCtrlLevels(cstr, control[[cstr]]) denv <- checkFormulaData(formula, data, checkLHS = control$check.formula.LHS == "stop") mc$formula <- formula <- as.formula(formula, env = denv) ## substitute evaluated version ## DRY ... m <- match(c("data", "subset", "weights", "na.action", "offset", "mustart", "etastart"), names(mf), 0L) mf <- mf[c(1L, m)] mf$drop.unused.levels <- TRUE mf[[1L]] <- quote(stats::model.frame) fr.form <- subbars(formula) # substitute "|" by "+" environment(fr.form) <- environment(formula) ## model.frame.default looks for these objects in the environment ## of the *formula* (see 'extras', which is anything passed in '...'), ## so they have to be put there: for (i in c("weights", "offset")) { if (!eval(bquote(missing(x=.(i))))) assign(i, get(i, parent.frame()), environment(fr.form)) } mf$formula <- fr.form fr <- eval(mf, parent.frame()) ## convert character vectors to factor (defensive) fr <- factorize(fr.form, fr, char.only = TRUE) ## store full, original formula & offset attr(fr,"formula") <- formula attr(fr,"offset") <- mf$offset ## attach starting coefficients to model frame so we can ## pass them through to mkRespMod -> family()$initialize ... if (!missing(start) && is.list(start)) { attr(fr,"start") <- start$fixef } n <- nrow(fr) ## random effects and terms modules reTrms <- mkReTrms(findbars(RHSForm(formula)), fr) ## TODO: allow.n = !useSc {see FIXME below} wmsgNlev <- checkNlevels(reTrms$ flist, n = n, control, allow.n = TRUE) wmsgZdims <- checkZdims(reTrms$Ztlist, n = n, control, allow.n = TRUE) wmsgZrank <- checkZrank(reTrms$ Zt, n = n, control, nonSmall = 1e6, allow.n = TRUE) ## FIXME: adjust test for families with estimated scale parameter: ## useSc is not defined yet/not defined properly? ## if (useSc && maxlevels == n) ## stop("number of levels of each grouping factor must be", ## "greater than number of obs") ## fixed-effects model matrix X - remove random effect parts from formula: fixedform <- formula RHSForm(fixedform) <- nobars(RHSForm(fixedform)) mf$formula <- fixedform ## re-evaluate model frame to extract predvars component fixedfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"),"predvars.fixed") <- attr(attr(fixedfr,"terms"),"predvars") ## ran-effects model frame (for predvars) ## important to COPY formula (and its environment)? ranform <- formula RHSForm(ranform) <- subbars(RHSForm(reOnly(formula))) mf$formula <- ranform ranfr <- eval(mf, parent.frame()) attr(attr(fr,"terms"), "predvars.random") <- attr(terms(ranfr), "predvars") X <- model.matrix(fixedform, fr, contrasts)#, sparse = FALSE, row.names = FALSE) ## sparseX not yet ## backward compatibility (keep no longer than ~2015): if(is.null(rankX.chk <- control[["check.rankX"]])) rankX.chk <- eval(formals(lmerControl)[["check.rankX"]])[[1]] X <- chkRank.drop.cols(X, kind=rankX.chk, tol = 1e-7) if(is.null(scaleX.chk <- control[["check.scaleX"]])) scaleX.chk <- eval(formals(lmerControl)[["check.scaleX"]])[[1]] X <- checkScaleX(X, kind=scaleX.chk) list(fr = fr, X = X, reTrms = reTrms, family = family, formula = formula, wmsgs = c(Nlev = wmsgNlev, Zdims = wmsgZdims, Zrank = wmsgZrank)) } ##' @rdname modular ##' @export mkGlmerDevfun <- function(fr, X, reTrms, family, nAGQ = 1L, verbose = 0L, maxit = 100L, control = glmerControl(), ...) { stopifnot(length(nAGQ <- as.integer(nAGQ)) == 1L, 0L <= nAGQ, nAGQ <= 25L) verbose <- as.integer(verbose) maxit <- as.integer(maxit) rho <- list2env(list(verbose=verbose, maxit=maxit, tolPwrss= control$tolPwrss, compDev = control$compDev), parent = parent.frame()) rho$pp <- do.call(merPredD$new, c(reTrms[c("Zt","theta","Lambdat","Lind")], n=nrow(X), list(X=X))) rho$resp <- if (missing(fr)) mkRespMod(family=family, ...) else mkRespMod(fr, family=family) nAGQinit <- if(control$nAGQ0initStep) 0L else 1L ## allow trivial y if (length(y <- rho$resp$y) > 0) { checkResponse(y, control$checkControl) rho$verbose <- as.integer(verbose) ## initialize (from mustart) .Call(glmerLaplace, rho$pp$ptr(), rho$resp$ptr(), nAGQinit, control$tolPwrss, maxit, verbose) rho$lp0 <- rho$pp$linPred(1) # each pwrss opt begins at this eta rho$pwrssUpdate <- glmerPwrssUpdate } rho$lower <- reTrms$lower # not needed in rho? mkdevfun(rho, nAGQinit, maxit=maxit, verbose=verbose, control=control) ## this should pass the rho environment implicitly } ##' @rdname modular ##' @param nAGQ number of Gauss-Hermite quadrature points ##' @param stage optimization stage (1: nAGQ=0, optimize over theta only; 2: nAGQ possibly >0, optimize over theta and beta) ##' @export optimizeGlmer <- function(devfun, optimizer = if(stage == 1) "bobyqa" else "Nelder_Mead", restart_edge=FALSE, boundary.tol = formals(glmerControl)$boundary.tol, verbose = 0L, control = list(), nAGQ = 1L, stage = 1, start = NULL, ...) { ## FIXME: do we need nAGQ here?? or can we clean up? verbose <- as.integer(verbose) rho <- environment(devfun) if (stage == 1) { start <- getStart(start, rho$pp, "theta") adj <- FALSE } else { ## stage == 2 start <- getStart(start, rho$pp, "all") adj <- TRUE } opt <- optwrap(optimizer, devfun, start, rho$lower, control=control, adj=adj, verbose=verbose, ...) if (stage == 1) { rho$control <- attr(opt,"control") rho$nAGQ <- nAGQ } else { ## stage == 2 rho$resp$setOffset(rho$baseOffset) } if (restart_edge) ## FIXME: implement this ... stop("restart_edge not implemented for optimizeGlmer yet") if (boundary.tol > 0) { opt <- check.boundary(rho, opt, devfun, boundary.tol) if(stage != 1) rho$resp$setOffset(rho$baseOffset) } opt } check.boundary <- function(rho,opt,devfun,boundary.tol) { bdiff <- rho$pp$theta - rho$lower[seq_along(rho$pp$theta)] if (any(edgevals <- 0 < bdiff & bdiff < boundary.tol)) { ## try sucessive "close-to-edge parameters" to see ## if we can improve by setting them equal to the boundary pp <- opt$par for (i in which(edgevals)) { tmppar <- pp tmppar[i] <- rho$lower[i] if (devfun(tmppar) < opt$fval) pp[i] <- tmppar[i] } opt$par <- pp opt$fval <- devfun(opt$par) ## re-run to reset (whether successful or not) ## FIXME: derivatives, Hessian etc. (and any other ## opt messages) *not* recomputed } return(opt) } ## only do this function if nAGQ > 0L ##' @rdname modular ##' @export updateGlmerDevfun <- function(devfun, reTrms, nAGQ = 1L){ if (nAGQ > 1L) { if (length(reTrms$flist) != 1L || length(reTrms$cnms[[1]]) != 1L) stop("nAGQ > 1 is only available for models with a single, scalar random-effects term") } rho <- environment(devfun) rho$nAGQ <- nAGQ rho$lower <- c(rho$lower, rep.int(-Inf, length(rho$pp$beta0))) rho$lp0 <- rho$pp$linPred(1) rho$dpars <- seq_along(rho$pp$theta) rho$baseOffset <- forceCopy(rho$resp$offset) # forcing a copy (!) rho$GQmat <- GHrule(nAGQ) rho$fac <- reTrms$flist[[1]] mkdevfun(rho, nAGQ) # does this attach rho to devfun?? } lme4/R/vcconv.R0000644000176200001440000001716114630365604012752 0ustar liggesusers## These files are not currently exported; we are still trying to figure ## out the most appropriate user interface/naming convention/etc ## These functions will become more important, and need to be ## modified/augmented, if we start allowing for varying V-C structures ## (e.g. diagonal matrices, compound symmetry ...) ## In principle we might want to extract or input information: ## 1. as variance-covariance matrices ## 2. as Cholesky factors ## 3. as 'sdcorr' matrices (std dev on diagonal, correlations off diagonal) ## and we might want the structure to be: ## 1. a concatenated vector representing the lower triangles ## (with an attribute carrying the information about group sizes) ## 2. a list of lower-triangle vectors ## 3. a list of matrices ## 4. a block-diagonal matrix ## If we are trying to convert to and from theta vectors, we also ## have to consider whether we are returning scaled Cholesky factors/ ## var-cov matrices or unscaled ones. For the code below I have ## chosen to allow the residual variance etc. to be appended as ## the last element of a variance-covariance vector. (This last ## part is a little less generic than the rest of it.) ##' List of matrices to concatenated vector ##' ##' Convert list of matrices to concatenated vector of lower triangles ##' with an attribute that gives the dimension of each matrix in the ##' original list. This attribute may be used to reconstruct the ##' matrices. ##' ##' @param L list of symmetric, upper-triangular, or lower-triangular ##' square matrices ##' @return A concatenation of the elements in one triangle of each ##' matrix. An attribute \code{"clen"} gives the dimension of each ##' matrix. mlist2vec <- function(L) { if(is.atomic(L)) L <- list(L) n <- vapply(L, nrow, 1L) ## allow for EITHER upper- or lower-triangular input; ## in either case, read off in "lower-triangular" order ## (column-wise) ff <- function(x) { if (all(na.omit(x[iu <- upper.tri(x)] == 0))) t(x[!iu]) else t(x)[!iu] } structure(unlist(lapply(L,ff)), clen = n) } ## Compute dimensions of a square matrix from the size ## of the lower triangle (length as a vector) get_clen <- function(v,n=NULL) { if (is.null(n)) { if (is.null(n <- attr(v,"clen"))) { ## single component n <- (sqrt(8*length(v)+1)-1)/2 } } n } ##' Concatenated vector to list of matrices ##' ##' Convert concatenated vector to list of matrices (lower triangle or ##' symmetric). These matrices could represent Cholesky factors, ##' covariance matrices, or correlation matrices (with standard ##' deviations on the diagonal). ##' ##' @param v concatenated vector ##' @param n FIXME: this has something to do with the dimension of ##' associated matrices. ##' @param symm Return symmetric matrix if \code{TRUE} or ##' lower-triangular if \code{FALSE} ##' @return List of matrices vec2mlist <- function(v,n=NULL,symm=TRUE) { n <- get_clen(v,n) s <- split(v,rep.int(seq_along(n),n*(n+1)/2)) m <- mapply(function(x,n0) { m0 <- diag(nrow=n0) m0[lower.tri(m0,diag=TRUE)] <- x if (symm) m0[upper.tri(m0)] <- t(m0)[upper.tri(m0)] m0 },s,n,SIMPLIFY=FALSE) m } ## Convert concatenated vector to list of ST matrices vec2STlist <- function(v, n = NULL){ ch <- vec2mlist(v, n, FALSE) # cholesky sdiag <- function(x) { ## 'safe' diag() if (length(x)==1) matrix(x,1,1) else diag(x) } lapply(ch, function(L) { ST <- L%*%sdiag(1/sdiag(L)) diag(ST) <- diag(L) ST }) } ##' Standard deviation-correlation matrix to covariance matrix ##' ##' convert 'sdcor' format -- diagonal = std dev, off-diag=cor to and ##' from variance-covariance matrix ##' ##' @param m Standard deviation-correlation matrix ##' @return Covariance matrix sdcor2cov <- function(m) { sd <- diag(m) diag(m) <- 1 m * outer(sd,sd) } ##' Covariance matrix to standard deviation-correlation matrix ##' ##' convert cov to sdcor ##' ##' @param V Covariance matrix ##' @return Standard deviation-correlation matrix cov2sdcor <- function(V) { ## "own version" of cov2cor(): 1. no warning for NA; 2. diagonal = sd(.) p <- (d <- dim(V))[1L] if (!is.numeric(V) || length(d) != 2L || p != d[2L]) stop("'V' is not a square numeric matrix") sd <- sqrt(diag(V)) Is <- 1/sd r <- V r[] <- Is * V * rep(Is, each = p) diag(r) <- sd if (any(is.na(r))) { warning("NA values in sdcor matrix converted to 0") r[is.na(r)] <- 0 } r } ## dmult <- function(m,s) { ## diag(m) <- diag(m)*s ## m ## } ## attempt to compute Cholesky, allow for positive semi-definite cases ## (hackish) safe_chol <- function(m) { if (any(is.na(m)) || all(m==0)) return(m) if (nrow(m)==1) return(sqrt(m)) if (.isDiagonal.sq.matrix(m)) return(diag(sqrt(diag(m)))) ## attempt regular Chol. decomp if (!is.null(cc <- tryCatch(chol(m), error=function(e) NULL))) return(cc) ## ... pivot if necessary ... cc <- suppressWarnings(chol(m,pivot=TRUE)) oo <- order(attr(cc,"pivot")) cc[,oo] ## FIXME: pivot is here to deal with semidefinite cases, ## but results might be returned in a strange format: TEST } ##' Variance-covariance to relative covariance factor ##' ##' from var-cov to scaled Cholesky: ##' ##' @param v Vector of elements from the lower triangle of a ##' variance-covariance matrix. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a relative ##' covariance factor. Vv_to_Cv <- function(v,n=NULL,s=1) { if (!missing(s)) { v <- v[-length(v)] } r <- mlist2vec(lapply(vec2mlist(v,n,symm=TRUE), function(m) t(safe_chol(m/s^2)))) attr(r,"clen") <- get_clen(v,n) r } ##' Standard-deviation-correlation to relative covariance factor ##' ##' from sd-cor to scaled Cholesky ##' ##' @param v Vector of elements from the lower triangle of a ##' standard-deviation-correlation matrix. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a relative ##' covariance factor. Sv_to_Cv <- function(v,n=NULL,s=1) { if (!missing(s)) { v <- v[-length(v)] } r <- mlist2vec(lapply(vec2mlist(v,n,symm=TRUE), function(m) t(safe_chol(sdcor2cov(m)/s^2)))) attr(r,"clen") <- get_clen(v,n) r } ##' Relative covariance factor to variance-covariance ##' ##' from unscaled Cholesky vector to (possibly scaled) ##' variance-covariance vector ##' ##' @param v Vector of elements from the lower triangle of a ##' relative covariance factor. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a ##' variance-covariance matrix. Cv_to_Vv <- function(v,n=NULL,s=1) { r <- mlist2vec(lapply(vec2mlist(v,n,symm=FALSE), function(m) tcrossprod(m)*s^2)) if (!missing(s)) r <- c(r,s^2) attr(r,"clen") <- get_clen(v,n) r } ##' Relative covariance factor to standard-deviation-correlation ##' ##' from unscaled Chol to sd-cor vector ##' ##' @param v Vector of elements from the lower triangle of a ##' relative covariance factor. ##' @param n FIXME: see "@param n" above ##' @param s Scale parameter ##' @return Vector of elements from the lower triangle of a ##' standard-deviation-correlation matrix. Cv_to_Sv <- function(v,n=NULL,s=1) { r <- mlist2vec(lapply(vec2mlist(v,n,symm=FALSE), function(m) cov2sdcor(tcrossprod(m)*s^2))) if (!missing(s)) r <- c(r,s) attr(r,"clen") <- get_clen(v,n) r } ## tests --> ../inst/tests/test-utils.R lme4/R/AllGeneric.R0000644000176200001440000000412114630365604013451 0ustar liggesusers## utilities, these *exported*: ##' @export getL setGeneric("getL", function(x) standardGeneric("getL")) fixed.effects <- function(object, ...) { ## fixed.effects was an alternative name for fixef .Deprecated("fixef") mCall = match.call() mCall[[1]] = as.name("fixef") eval(mCall, parent.frame()) } random.effects <- function(object, ...) { ## random.effects was an alternative name for ranef .Deprecated("ranef") mCall = match.call() mCall[[1]] = as.name("ranef") eval(mCall, parent.frame()) } ## Create a Markov chain Monte Carlo sample from the posterior ## distribution of the parameters ## ## ## @title Create an MCMC sample ## @param object a fitted model object ## @param n number of samples to generate. Defaults to 1; for real use values of 200-1000 are more typical ## @param verbose should verbose output be given? ## @param ... additional, optional arguments (not used) ## @return a Markov chain Monte Carlo sample as a matrix mcmcsamp <- function(object, n = 1L, verbose = FALSE, ...) UseMethod("mcmcsamp") if(getRversion() < "3.3") { sigma <- function(object, ...) UseMethod("sigma") } isREML <- function(x, ...) UseMethod("isREML") isLMM <- function(x, ...) UseMethod("isLMM") isGLMM <- function(x, ...) UseMethod("isGLMM") isNLMM <- function(x, ...) UseMethod("isNLMM") ##' Refit a model using the maximum likelihood criterion ##' ##' This function is primarily used to get a maximum likelihood fit of ##' a linear mixed-effects model for an \code{\link{anova}} comparison. ##' ##' @title Refit a model by maximum likelihood criterion ##' @param x a fitted model, usually of class \code{"\linkS4class{lmerMod}"}, ##' to be refit according to the maximum likelihood criterion ##' @param ... optional additional parameters. None are used at present. ##' @return an object like \code{x} but fit by maximum likelihood ##' @export refitML <- function(x, ...) UseMethod("refitML") refit <- function(object, newresp, ...) UseMethod("refit") if (FALSE) { setGeneric("HPDinterval", function(object, prob = 0.95, ...) standardGeneric("HPDinterval")) } lme4/R/predict.R0000644000176200001440000012375014635070445013111 0ustar liggesusers##' test for no-random-effect specification: TRUE if NA or ~0, other ##' possibilities are NULL or a non-trivial formula isRE <- function(re.form) { isForm <- inherits(re.form, "formula") (is.null(re.form) || isForm || !is.na(re.form)) && (!isForm || length(re.form) != 2L || !identical(re.form[[2L]], 0)) } if(FALSE) { isRE(NA) ## FALSE isRE(~0) ## " isRE(~y+x) ## TRUE isRE(NULL) ## " isRE(~0+x) ## " } ##' Random Effects formula only reOnly <- function(f, response=FALSE) { reformulate(paste0("(", vapply(findbars(f), deparse1, ""), ")"), response = if(response && length(f)==3L) f[[2]], env = environment(f)) } ## '...' may contain fixed.only=TRUE, random.only=TRUE, .. get.orig.levs <- function(object, FUN=levels, newdata=NULL, sparse = FALSE, ...) { Terms <- terms(object, data = newdata, ...) mf <- model.frame(object, ...) isFac <- vapply(mf, is.factor, FUN.VALUE=TRUE) ## ignore response variable isFac[attr(Terms,"response")] <- FALSE mf <- mf[isFac] hasSparse <- any(grepl("sparse", names(formals(FUN)))) # check if FUN has sparse argument orig_levs <- if (any(isFac) && hasSparse) lapply(mf, FUN, sparse = sparse) else if(any(isFac) && !hasSparse) lapply(mf, FUN) # else NULL ## if necessary (allow.new.levels ...) add in new levels if (!is.null(newdata)) { for (n in names(mf)) { orig_levs[[n]] <- c(orig_levs[[n]], setdiff(unique(as.character(newdata[[n]])),orig_levs[[n]])) } } ## more clues about factor-ness of terms if(!is.null(orig_levs)) attr(orig_levs,"isFac") <- isFac orig_levs } ##' Force new parameters into a merMod object ##' (should this be an S3 method?): params(object) <- newvalue ##' @param object ##' @param params a list of the form specified by \code{start} in ##' \code{\link{lmer}} or \code{\link{glmer}} (i.e. a list containing ##' theta and/or beta; maybe eventually further parameters ... ##' What updating do we have to do in order to make the resulting object ##' consistent/safe? ##' TODO: What kind of checking of input do we have to do? (Abstract from ##' lmer/glmer code ...) ##' TODO: make sure this gets updated when the parameter structure changes ##' from (theta, beta) to alpha=(theta, beta, phi) ##' @param inplace logical specifying if object should be modified in place; not yet ##' @param subset logical; needs to be true, if only parts of params are to be reset ##' @examples ##' fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy) ##' fm1M <- setParams(fm1,list(theta=rep(1,3))) ##' getME(fm1M,"theta") ##' getME(fm1,"theta") ## check that original didn't get messed up ##' ## check that @resp and @pp are the only reference class slots ... ##' sapply(slotNames(fm1),function(x) class(slot(fm1,x))) setParams <- function(object, params, inplace=FALSE, subset=FALSE) { pNames <- c("beta","theta") if (object@devcomp$dims["useSc"]) pNames <- c(pNames, "sigma") if (!is.list(params) || length(setdiff(names(params),pNames)) > 0) stop("params should be specifed as a list with elements from ", "{",paste(shQuote(pNames),collapse=", "),"}") if (!subset && length(setdiff(pNames,names(params))) > 0) { warning("some parameters not specified in setParams()") } nbeta <- length(object@pp$beta(1)) ntheta <- length(object@pp$theta) if (!is.null(beta <- params$beta) && length(beta)!=nbeta) stop("length mismatch in beta (",length(beta), "!=",nbeta,")") if (!is.null(theta <- params$theta) && length(theta)!=ntheta) stop("length mismatch in theta (",length(theta), "!=",ntheta,")") matchNames <- function(x,tn,vecname="theta") { if (!is.null(pn <- names(x))) { if (!setequal(pn,tn)) { ## pn.not.tn <- setdiff(pn,tn) ## tn.not.pn <- setdiff(tn,pn) ## TO DO: more detail? stop("mismatch between ",shQuote(vecname)," parameter vector names and internal names (", paste(tn,collapse=","),")") } x <- x[tn] ## reorder } else { message(vecname," parameter vector not named: assuming same order as internal vector") } x } theta <- matchNames(theta,tnames(object),"theta") beta <- matchNames(beta,colnames(getME(object,"X")),"beta") sigma <- params$sigma if(inplace) { stop("modification in place (copy=FALSE) not yet implemented") } else { ## copy : newObj <- object ## make a copy of the reference class slots to ## decouple them from the original object newObj@pp <- newObj@pp$copy() newObj@resp <- newObj@resp$copy() if (!is.null(beta)) { newObj@pp$setBeta0(beta) newObj@beta <- beta } if (!is.null(theta)) { ## where does theta live and how do I set it? ## (1) in .@theta ## (2) in .@pp$theta newObj@theta <- theta newObj@pp$setTheta(theta) } if (!is.null(sigma)) { snm <- if (object@devcomp$dims[["REML"]]) "sigmaREML" else "sigmaML" newObj@devcomp[["cmp"]][snm] <- sigma } return(newObj) } } ##' Make new random effect terms from specified object and new data, ##' possibly omitting some random effect terms ##' @param object fitted model object ##' @param newdata (optional) data frame containing new data ##' @param re.form formula specifying random effect terms to include (NULL=all, ~0) ##' @param na.action ##' ##' @note Hidden; _only_ used (twice) in this file mkNewReTrms <- function(object, newdata, re.form=NULL, na.action=na.pass, allow.new.levels=FALSE, sparse = max(lengths(orig.random.levs)) > 100) { ## construct (fixed) model frame in order to find out whether there are ## missing data/what to do about them ## need rfd to inherit appropriate na.action; need grouping ## variables as well as any covariates that are included ## in RE terms ## FIXME: mfnew is new data frame, rfd is processed new data ## why do we need both/what is each doing/how do they differ? ## rfd is *only* used in mkReTrms ## mfnew is *only* used for its na.action attribute (!) [fixed only] ## using model.frame would mess up matrix-valued predictors (GH #201) fixed.na.action <- NULL if (is.null(newdata)) { rfd <- mfnew <- model.frame(object) fixed.na.action <- attr(mfnew,"na.action") } else { if (!identical(na.action,na.pass)) { ## only need to re-evaluate for NAs if na.action != na.pass mfnew <- model.frame(delete.response(terms(object, fixed.only=TRUE)), newdata, na.action=na.action) fixed.na.action <- attr(mfnew,"na.action") } ## make sure we pass na.action with new data ## it would be nice to do something more principled like ## rfd <- model.frame(~.,newdata,na.action=na.action) ## but this adds complexities (stored terms, formula, etc.) ## that mess things up later on ... ## rfd <- na.action(get_all_vars(delete.response(terms(object,fixed.only=FALSE)), newdata)) newdata.NA <- newdata if (!is.null(fixed.na.action)) { newdata.NA <- newdata.NA[-fixed.na.action,] } tt <- delete.response(terms(object,random.only=TRUE)) orig.random.levs <- get.orig.levs(object, random.only=TRUE, newdata=newdata.NA) orig.random.cntr <- get.orig.levs(object, random.only=TRUE, FUN=contrasts, sparse=sparse) ## need to let NAs in RE components go through -- they're handled downstream if (inherits(re.form,"formula")) { ## We use the RE terms *from the original model fit* to construct ## the model frame. This is good for preserving predvars information, ## getting interactions constructed correctly, etc etc etc, ## but can fail if a partial RE specification is used and some of the variables ## in the original RE form are missing from 'newdata' ... ## Fill them in as necessary. Filling in NA is OK - these vars won't actually ## be used later ... pv <- attr(tt,"predvars") for (i in 2:(length(pv))) { missvars <- setdiff(all.vars(pv[[i]]), all.vars(re.form)) for (mv in missvars) { newdata.NA[[mv]] <- NA } } } ## see comments about why suppressWarnings() is needed below ... rfd <- suppressWarnings( model.frame(tt, newdata.NA, na.action=na.pass, xlev=orig.random.levs)) ## restore contrasts (why???) ## find *factor* variables involved in terms (left-hand side of RE formula): reset their contrasts ## only interested in components in re.form, not al REs ff <- re.form ## was: formula(object,random.only=TRUE) termvars <- unique(unlist(lapply(findbars(ff), function(x) all.vars(x[[2]])))) for (fn in Reduce(intersect, list( names(orig.random.cntr), termvars, names(rfd)))) { ## a non-factor grouping variable *may* sneak in here via simulate(...) if (!is.factor(rfd[[fn]])) rfd[[fn]] <- factor(rfd[[fn]]) contrasts(rfd[[fn]]) <- orig.random.cntr[[fn]] } if (!is.null(fixed.na.action)) attr(rfd,"na.action") <- fixed.na.action ## ## ## need terms to preserve info about spline/orthog polynomial bases ## attr(rfd,"terms") <- terms(object) ## ## ... but variables list messes things up; can we fix it? ## vlist <- lapply(all.vars(terms(object)), as.name) ## attr(attr(rfd,"terms"),"variables") <- as.call(c(quote(list), vlist)) ## ## take out variables that appear *only* in fixed effects ## all.v <- all.vars(delete.response(terms(object,fixed.only=FALSE))) ## ran.v <- vapply(findbars(formula(object)),all.vars,"") ## fix.v <- all.vars(delete.response(terms(object,fixed.only=TRUE))) ## rfd <- model.frame(delete.response(terms(object,fixed.only=FALSE)), ## newdata,na.action=na.action) } if (inherits(re.form, "formula")) { ## DROP values with NAs in fixed effects if (length(fixed.na.action) > 0) { newdata <- newdata[-fixed.na.action,] } ## note: mkReTrms automatically *drops* unused levels ReTrms <- mkReTrms(findbars(re.form[[2]]), rfd) ## update Lambdat (ugh, better way to do this?) ReTrms <- within(ReTrms,Lambdat@x <- unname(getME(object,"theta")[Lind])) if (!allow.new.levels && any(vapply(ReTrms$flist, anyNA, NA))) stop("NAs are not allowed in prediction data", " for grouping variables unless allow.new.levels is TRUE") ns.re <- names(re <- ranef(object, condVar = FALSE)) nRnms <- names(Rcnms <- ReTrms$cnms) if (!all(nRnms %in% ns.re)) stop("grouping factors specified in re.form that were not present in original model") new_levels <- lapply(ReTrms$flist, function(x) levels(factor(x))) ## fill in/delete levels as appropriate re_x <- Map(function(r,n) levelfun(r,n, allow.new.levels=allow.new.levels), re[names(new_levels)], new_levels) ## pick out random effects values that correspond to ## random effects incorporated in re.form ... ## NB: Need integer indexing, as nRnms can be duplicated: (age|Subj) + (sex|Subj) : hacked_names <- FALSE get_re <- function(rname, cnms) { nms <- names(re[[rname]]) if (identical(cnms,"(Intercept)") && length(nms)==1 && grepl("^s(.*)$",nms)) { ## HACK to allow gamm4 prediction hacked_names <<- TRUE cnms <- nms } miss_names <- setdiff(cnms, nms) if (length(miss_names)>0) { stop("random effects specified in re.form that were not present in original model ", paste(miss_names, collapse=", ")) } t(re_x[[rname]][,cnms]) ## transpose to make sure unlisting works } re_new <- unlist(Map(get_re, nRnms, Rcnms)) ## only issue warning once per prediction ... if (hacked_names) warning("modified RE names for gamm4 prediction") } Zt <- ReTrms$Zt attr(Zt, "na.action") <- attr(re_new, "na.action") <- fixed.na.action list(Zt=Zt, b=re_new, Lambdat = ReTrms$Lambdat) } ##' @param x a random effect (i.e., data frame with rows equal to levels, columns equal to terms ##' @param n vector of new levels levelfun <- function(x, nl.n, allow.new.levels=FALSE) { ## 1. find and deal with new levels new.levels <- setdiff(nl.n, rownames(x)) if (length(new.levels)>0) { if (!allow.new.levels) { max.err.len <- 60 err.str <- paste(new.levels, collapse = ", ") if (nchar(err.str) > max.err.len) { err.str <- substr(err.str, 1, max.err.len) err.str <- gsub(",[^,]*$", ", ...", err.str) } stop("new levels detected in newdata: ", err.str) } ## create an all-zero data frame corresponding to the new set of levels ... nl.n.comb <- union(nl.n, rownames(x)) newx <- as.data.frame(matrix(0, nrow=length(nl.n.comb), ncol=ncol(x), dimnames=list(nl.n.comb, names(x)))) ## then paste in the matching RE values from the original fit/set of levels newx[rownames(x),] <- x x <- newx } ## 2. find and deal with missing old levels ## ... these should have been dropped when making the Z matrices ## etc. in mkReTrms, so we'd better drop them here to match ... if (!all(r.inn <- rownames(x) %in% nl.n)) { x <- x[r.inn,,drop=FALSE] } return(x) } ##' ##' \code{\link{predict}} method for \code{\linkS4class{merMod}} objects ##' ##' @title Predictions from a model at new data values ##' @param object a fitted model object ##' @param newdata data frame for which to evaluate predictions ##' @param newparams new parameters to use in evaluating predictions ##' @param re.form formula for random effects to condition on. If \code{NULL}, ##' include all random effects; if \code{NA} or \code{~0}, ##' include no random effects ##' @param terms a \code{\link{terms}} object - not used at present ##' @param type character string - either \code{"link"}, the default, ##' or \code{"response"} indicating the type of prediction object returned ##' @param allow.new.levels (logical) if FALSE (default), then any new levels ##' (or NA values) detected in \code{newdata} will trigger an error; if TRUE, then ##' the prediction will use the unconditional (population-level) ##' values for data with previously unobserved levels (or \code{NA}s) ##' @param na.action function determining what should be done with missing values for fixed effects in \code{newdata}. The default is to predict \code{NA}: see \code{\link{na.pass}}. ##' @param se.fit A logical value indicating whether the standard errors should be included or not. Default is FALSE. ##' @param ... optional additional parameters. None are used at present. ##' @return a numeric vector of predicted values, unless \code{se.fit=TRUE} (in which case a list with elements \code{fit} (predicted values) and \code{se.fit} is returned) ##' @note There is no option for computing standard errors of predictions because it is difficult to define an efficient method that incorporates uncertainty in the variance parameters; we recommend \code{\link{bootMer}} for this task. ##' @examples ##' (gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 |herd), cbpp, binomial)) ##' str(p0 <- predict(gm1)) # fitted values ##' str(p1 <- predict(gm1,re.form=NA)) # fitted values, unconditional (level-0) ##' newdata <- with(cbpp, expand.grid(period=unique(period), herd=unique(herd))) ##' str(p2 <- predict(gm1,newdata)) # new data, all RE ##' str(p3 <- predict(gm1,newdata,re.form=NA)) # new data, level-0 ##' str(p4 <- predict(gm1,newdata,re.form=~(1|herd))) # explicitly specify RE ##' @method predict merMod ##' @export predict.merMod <- function(object, newdata=NULL, newparams=NULL, re.form=NULL, random.only=FALSE, terms=NULL, type=c("link","response"), allow.new.levels=FALSE, na.action=na.pass, se.fit = FALSE, ...) { ## FIXME: appropriate names for result vector? ## FIXME: make sure behaviour is entirely well-defined for NA in grouping factors ## Dealing with NAs: ## we might need to distinguish among ## (i) NAs in original data and in new data ## (ii) na.action possibilities (exclude, fail, omit, pass) ## (iii) na.action setting in original fit and in predict() ## (iii) NAs in (fixed effect) predictors vs RE grouping variables ## (iv) setting of allow.new.level ## NAs in original data (in the fixed or random effects) ## may lead to a model frame within the ## fitted object that is missing rows; if na.exclude was used, ## these will need to be reconstituted in the prediction. ## ## For the most part, 'na.action's used at the predict stage ## (i.e. for newdata) will work on NAs *in the fixed effects* ## without further intervention; 'na.pass' will automatically ## produce NA values in the output, so 'na.exclude' is not really ## necessary (but might get specified anyway) ## ## In the random effects, NAs in newdata will give a population-level ## prediction if allow.new.levels is TRUE; if it's FALSE they give ## an error (although it could be argued that in that case they ## should follow 'na.action' instead ...) if (any(names(list(...)) %in% c("ReForm", "REForm", "REform"))) { stop("synonyms 'ReForm', 'REForm', 'REform' are deprecated: please use 're.form' instead") } if (...length() > 0) warning("unused arguments ignored") type <- match.arg(type) if (!is.null(terms)) stop("terms functionality for predict not yet implemented") if (!is.null(newparams)) object <- setParams(object,newparams) if (is.null(newdata) && is.null(re.form) && is.null(newparams) && !random.only) { ## raw predict() call, just return fitted values ## (inverse-link if appropriate) if (isLMM(object) || isNLMM(object)) { ## make sure we do *NOT* have NAs in fitted object pred <- na.omit(fitted(object)) } else { ## inverse-link pred <- switch(type,response=object@resp$mu, ## == fitted(object), link=object@resp$eta) if (is.null(nm <- rownames(model.frame(object)))) nm <- seq_along(pred) names(pred) <- nm } fit.na.action <- NULL ## flow jumps to end for na.predict } else { ## newdata and/or re.form and/or newparams and/or random.only specified fit.na.action <- attr(object@frame,"na.action") ## original NA action nobs <- if (is.null(newdata)) nrow(object@frame) else nrow(newdata) pred <- rep(0,nobs) if (!random.only) { X <- getME(object, "X") X.col.dropped <- attr(X, "col.dropped") ## modified from predict.glm ... if (is.null(newdata)) { ## Use original model 'X' matrix and offset ## orig. offset: will be zero if there are no matches ... offset <- model.offset(model.frame(object)) if (is.null(offset)) offset <- 0 } else { ## new data specified ## evaluate new fixed effect RHS <- formula(substitute(~R, list(R=RHSForm(formula(object,fixed.only=TRUE))))) ## https://github.com/lme4/lme4/issues/414 ## contrasts are not relevant in random effects; ## model.frame.default warns about dropping contrasts ## if (1) xlev is specified and (2) any factors in ## original data frame had contrasts set ## alternative solution: drop contrasts manually ## (could assign to a new variable newdata2 for safety, ## but I don't think newdata ## is used downstream in this function?) ## isFacND <- which(vapply(newdata, is.factor, FUN.VALUE = TRUE)) ## for (j in isFacND) { ## attr(newdata[[j]], "contrasts") <- NULL ## } orig.fixed.levs <- get.orig.levs(object, fixed.only=TRUE, newdata = newdata) mfnew <- suppressWarnings( model.frame(delete.response(terms(object, fixed.only=TRUE, data = newdata)), newdata, na.action = na.action, xlev = orig.fixed.levs)) X <- model.matrix(RHS, data=mfnew, contrasts.arg=attr(X,"contrasts")) ## hack to remove unused interaction levels? ## X <- X[,colnames(X0)] offset <- 0 # rep(0, nrow(X)) tt <- terms(object, data = newdata) if (!is.null(off.num <- attr(tt, "offset"))) { for (i in off.num) offset <- offset + eval(attr(tt,"variables")[[i + 1]], newdata) } ## FIXME?: simplify(no need for 'mfnew'): can this be different from 'na.action'? fit.na.action <- attr(mfnew,"na.action") ## only need to drop if new data specified ... if(is.numeric(X.col.dropped) && length(X.col.dropped) > 0) X <- X[, -X.col.dropped, drop=FALSE] } pred <- drop(X %*% fixef(object)) ## FIXME:: need to unname() ? ## FIXME: is this redundant?? ## if (!is.null(frOffset <- attr(object@frame,"offset"))) ## offset <- offset + eval(frOffset, newdata) pred <- pred+offset } ## end !(random.only) if (isRE(re.form)) { if (is.null(re.form)) re.form <- reOnly(formula(object)) # RE formula only rfd <- if (is.null(newdata)) { ## try to retrieve original data ... fall back to model frame if necessary ## FIXME: this doesn't solve the problem if columns of model frame and data ## diverge (e.g. transformed objects [log(x)], offsets [offset(x)] ... will ## fail farther along tryCatch(getData(object), error = function(e) object@frame) } else newdata newRE <- mkNewReTrms(object, rfd, re.form, na.action=na.action, allow.new.levels=allow.new.levels) REvals <- base::drop(as(newRE$b %*% newRE$Zt, "matrix")) ## only needed if called as simulation? NAs sometimes excluded within mkNewReTrms ... if (length(pred) != length(REvals)) { if (!class(fit.na.action) %in% c("omit", "exclude") && length(fit.na.action)>0) { stop("fixed/RE pred length mismatch") } REvals <- REvals[-fit.na.action] } pred <- pred + REvals if (random.only) { fit.na.action <- attr(newRE$Zt,"na.action") } } if (isGLMM(object) && type=="response") { pred <- object@resp$family$linkinv(pred) } } ## newdata/newparams/re.form ## fill in NAs as appropriate: ## if NAs were detected in original model fit, OR in updated model frame construction ## but DON'T double-NA if raw prediction in the first place if (is.null(newdata)) { fit.na.action <- attr(model.frame(object),"na.action") if (!missing(na.action)) { ## hack to override action where explicitly specified if (!is.null(fit.na.action)) class(fit.na.action) <- class(attr(na.action(NA),"na.action")) } } pred <- napredict(fit.na.action, pred) if (!se.fit) return(pred) if (!isLMM(object)) warning("se.fit computation uses an approximation to estimate the sampling distribution of the parameters") s <- sigma(object) ## need these below so can't getME(...) all at once L <- getME(object, "L") RX <- getME(object, "RX") RZX <- getME(object, "RZX") Lambdat <- getME(object, "Lambdat") RXtinv <- solve(t(RX)) LinvLambdat <- solve(L, Lambdat, system = "L") Minv <- s * rbind( cbind(LinvLambdat, Matrix(0, nrow = nrow(L), ncol = ncol(RX))), cbind(-RXtinv %*% t(RZX) %*% LinvLambdat, RXtinv) ) Cmat <- crossprod(Minv) ## FIXME: these need to be fixed if(is.null(newdata)) { X <- getME(object, "X") if(is.null(re.form)) { Z <- getME(object, "Z") } else { if(isRE(re.form)) { ## FIXME: newRE is not computed here Z <- t(newRE$Zt) } else { Z <- Matrix(0, nrow = nrow(X), ncol = ncol(L)) } } } else { if(isRE(re.form)) { Z <- t(newRE$Zt) } else { ## this is inefficient and we could just calculate ## X %*% Cmat[X part only] t(X) instead Z <- Matrix(0, nrow = nrow(X), ncol = ncol(L)) } } if(random.only) X <- Matrix(0, nrow = nrow(Z), ncol = nrow(RX)) ZX <- cbind(Z, X) list(fit = pred, se.fit = sqrt(quad.tdiag(Cmat, ZX)) ) } # end {predict.merMod} ## all possible LHS evaluated values ... simulate.formula_lhs_matrix <- simulate.formula_lhs_numeric <- simulate.formula_lhs_integer <- simulate.formula_lhs_factor <- simulate.formula_lhs_logical <- simulate.formula_lhs_ <- function(object, nsim = 1, seed = NULL, newdata, ...) { ## N.B. *must* name all arguments so that 'object' is missing in .simulateFun() .simulateFun(formula=object, nsim=nsim, seed=seed, newdata=newdata, ...) } simulate.merMod <- function(object, nsim = 1, seed = NULL, use.u = FALSE, re.form=NA, newdata=NULL, newparams=NULL, family=NULL, allow.new.levels=FALSE, na.action=na.pass, ...) { ## FIXME: is there a reason this can't be a copy of .simulateFun ... ? mc <- match.call() mc[[1]] <- quote(lme4::.simulateFun) eval(mc, parent.frame(1L)) } .simulateFun <- function(object, nsim = 1, seed = NULL, use.u = FALSE, re.form=NA, newdata=NULL, newparams=NULL, formula=NULL,family=NULL, weights=NULL, offset=NULL, allow.new.levels=FALSE, na.action=na.pass, cond.sim=TRUE, ...) { if (...length() > 0) warning("unused arguments ignored") if (missing(object) && (is.null(formula) || is.null(newdata) || is.null(newparams))) { stop("if ",sQuote("object")," is missing, must specify all of ", sQuote("formula"),", ",sQuote("newdata"),", and ", sQuote("newparams")) } nullWts <- FALSE if (is.null(weights)) { if (is.null(newdata)) { weights <- weights(object) } else { nullWts <- TRUE # this flags that 'weights' wasn't supplied by the user weights <- rep(1,nrow(newdata)) } } if (missing(object)) { ## construct fake-fitted object from data, params ## copied from glm(): DRY; this all stems from the ## original sin of handling family=gaussian as a special ## case if (is.character(family)) family <- get(family, mode = "function", envir = parent.frame()) if (is.function(family)) family <- family() if (is.null(family) || (family$family=="gaussian" && family$link=="identity")) { lmod <- lFormula(formula,newdata, weights=weights, offset=offset, control=lmerControl(check.formula.LHS="ignore")) devfun <- do.call(mkLmerDevfun, lmod) object <- mkMerMod(environment(devfun), ## (real parameters will be filled in later) opt = list(par=NA,fval=NA,conv=NA), lmod$reTrms, fr = lmod$fr) } else { glmod <- glFormula(formula,newdata,family=family, weights=weights, offset=offset, control=glmerControl(check.formula.LHS="ignore")) devfun <- do.call(mkGlmerDevfun, glmod) object <- mkMerMod(environment(devfun), ## (real parameters will be filled in later) opt = list(par=NA,fval=NA,conv=NA), glmod$reTrms, fr = glmod$fr) } ## would like to do this: ## so predict() -> fitted() -> set default names will work ## instead we have a special case in fitted() ## object@resp$mu <- rep(NA_real_,nrow(model.frame(object))) } stopifnot((nsim <- as.integer(nsim[1])) > 0, is(object, "merMod")) if (!is.null(newparams)) { object <- setParams(object,newparams) } if (!missing(use.u)) { if (!missing(re.form)) { stop("should specify only one of ",sQuote("use.u"), " and ",sQuote("re.form")) } re.form <- if (use.u) NULL else ~0 } if (is.null(re.form)) { # formula w/o response re.form <- reOnly(formula(object)) } if(!is.null(seed)) set.seed(seed) if(!exists(".Random.seed", envir = .GlobalEnv)) runif(1) # initialize the RNG if necessary RNGstate <- .Random.seed sigma <- sigma(object) ## OBSOLETE: no longer use X? ## n <- nrow(X <- getME(object, "X")) ## link <- if (isGLMM(object)) "response" ## predictions, conditioned as specified, on link scale ## previously: do **NOT** use na.action as specified here (inherit ## from object instead, for consistency) ## now: use na.omit, because we have to match up ## with whatever is done in mkNewReTrms etapred <- predict(object, newdata=newdata, re.form=re.form, type="link", na.action=na.omit, allow.new.levels=allow.new.levels) n <- length(etapred) ## now add random components: ## only the ones we did *not* condition on ## compre.form <- noLHSform(formula(object)) ## construct RE formula ONLY: leave out fixed terms, ## which might have loose terms like offsets in them ... ##' combine unary or binary operator + arguments (sugar for 'substitute') makeOp <- function(x,y,op=NULL) { if (is.null(op)) { ## unary substitute(OP(X),list(X=x,OP=y)) } else substitute(OP(X,Y), list(X=x,OP=op,Y=y)) } compReForm <- reOnly(formula(object)) if (isRE(re.form)) { rr <- reOnly(re.form)[[2]] ## expand RE and strip ~ ftemplate <- substitute(.~.-XX, list(XX=rr)) compReForm <- update.formula(compReForm,ftemplate)[-2] ## update, then delete LHS } ## (1) random effect(s) sim.reff <- if (!is.null(findbars(compReForm))) { newRE <- mkNewReTrms(object, newdata, compReForm, na.action=na.action, allow.new.levels=allow.new.levels) ## this *can* justifiably happen, if we are using mkNewReTrms ## in the context of predicting/simulating with a non-trivial ## re.form ... ## paranoia ... ## stopifnot(!is.null(newdata) || ## isTRUE(all.equal(newRE$Lambdat,getME(object,"Lambdat")))) U <- t(newRE$Lambdat %*% newRE$Zt) # == Z Lambda u <- rnorm(ncol(U)*nsim) ## UNSCALED random-effects contribution: as(U %*% matrix(u, ncol = nsim), "matrix") } else 0 val <- if (isLMM(object)) { ## result will be matrix n x nsim : etapred + sigma * (sim.reff + ## residual contribution: if (cond.sim) matrix(rnorm(n * nsim), ncol = nsim) else 0) } else if (isGLMM(object)) { ## GLMM ## n.b. DON'T scale random-effects (???) etasim <- etapred+sim.reff family <- normalizeFamilyName(object@resp$family) musim <- family$linkinv(etasim) #-> family$family == "negative.binomial" if(NB) ## ntot <- length(musim) ## FIXME: or could be dims["n"]? ## if (family$family=="binomial" && is.matrix(r <- model.response(object@frame))) { # unless the user passed in new weights, take them from the response matrix # e.g. cbind(incidence, size-incidence) ~ ... if(nullWts) weights <- rowSums(r) } if (is.null(sfun <- simfunList[[family$family]])) { ## family$simulate just won't work ... ## sim funs must be hard-coded, see below stop("simulation not implemented for family ", sQuote(family$family)) } ## don't rely on automatic recycling if (cond.sim) { val <- sfun(object, nsim=1, ftd = rep_len(musim, n*nsim), wts = weights) } else { val <- rep_len(musim, n*nsim) } ## split results into nsims: need special case for binomial matrix/factor responses if (family$family=="binomial" && is.matrix(r <- model.response(object@frame))) { lapply(split(val[[1]], gl(nsim, n, 2 * nsim * n)), matrix, ncol = 2, dimnames = list(NULL, colnames(r))) } else if (family$family=="binomial" && is.factor(val[[1]])) { split(val[[1]], gl(nsim,n)) } else split(val, gl(nsim,n)) } else stop("simulate method for NLMMs not yet implemented") ## from src/library/stats/R/lm.R if(!is.list(val)) { dim(val) <- c(n, nsim) val <- as.data.frame(val) } else class(val) <- "data.frame" names(val) <- paste("sim", seq_len(nsim), sep="_") ## have not yet filled in NAs, so need to use names of fitted ## object NOT including values with NAs f <- fitted(object) nm <- names(f)[!is.na(f)] ## unnamed input, *or* simulation from new data ... if (length(nm) == 0) { nm <- as.character(seq(n)) } else if (!is.null(newdata)) { nm <- rownames(newdata) } row.names(val) <- nm fit.na.action <- attr(model.frame(object), "na.action") if (!missing(na.action) && !is.null(fit.na.action)) { ## retrieve name of na.action type ("omit", "exclude", "pass") class.na.action <- class(attr(na.action(NA), "na.action")) if (!identical(class.na.action, class(fit.na.action))) { ## hack to override action where explicitly specified class(fit.na.action) <- class.na.action } } nafun <- function(x) { x[] <- apply(x, 2L, napredict, omit = fit.na.action); x } val <- if (is.matrix(val[[1]])) { ## have to handle binomial response matrices differently -- ## fill in NAs as appropriate in *both* columns structure(lapply(val, nafun), ## have to put this back into a (weird) data frame again, ## carefully (should do the napredict stuff ## earlier, so we don't have to redo this transformation!) class = "data.frame") } else { as.data.frame(lapply(val, napredict, omit=fit.na.action)) } ## reconstruct names: first get rid of NAs, then refill them ## as appropriate based on fit.na.action (which may be different ## from the original model's na.action spec) nm2 <- if (is.null(newdata)) names(napredict(na.omit(f), omit=fit.na.action)) else rownames(napredict(newdata, omit=fit.na.action)) if (length(nm2) > 0) row.names(val) <- nm2 structure(val, ## as.data.frame(lapply(...)) blows away na.action attribute, ## so we have to re-assign here na.action = fit.na.action, seed = RNGstate) }## .simulateFun() ######################## ## modified from stats/family.R ## TODO: the $simulate methods included with R families by default ## are not sufficiently flexible to be re-used by lme4. ## these are modified by: ## (1) adding a 'ftd' argument for the fitted values ## that defaults to fitted(object), to allow more flexibility ## e.g. in conditioning on or marginalizing over random effects ## (fitted(object) can be produced from predict.merMod() with ## alternative parameters rather than being extracted directly ## from the fitted objects -- this allows simulation with new ## parameters or new predictor variables ## (2) modifying wts from object$prior.weights to weights(object) ## (3) adding wts as an argument ## ## these can be incorporated by overwriting the simulate() ## components, or calling them ## gaussian_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { if (any(wts != 1)) warning("ignoring prior weights") rnorm(nsim*length(ftd), ftd, sd=sigma(object)) } binomial_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { n <- length(ftd) ntot <- n*nsim if (any(wts %% 1 != 0)) stop("cannot simulate from non-integer prior.weights") ## Try to figure out if the original data were ## proportions, a factor or a two-column matrix if (!is.null(m <- model.frame(object))) { y <- model.response(m) if(is.factor(y)) { ## ignore weights yy <- factor(levels(y)[1 + rbinom(ntot, size = 1, prob = ftd)], levels = levels(y)) split(yy, rep(seq_len(nsim), each = n)) } else if(is.matrix(y) && ncol(y) == 2) { yy <- vector("list", nsim) for (i in seq_len(nsim)) { Y <- rbinom(n, size = wts, prob = ftd) YY <- cbind(Y, wts - Y) colnames(YY) <- colnames(y) yy[[i]] <- YY } yy } else rbinom(ntot, size = wts, prob = ftd)/wts } else rbinom(ntot, size = wts, prob = ftd)/wts } poisson_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { ## A Poisson GLM has dispersion fixed at 1, so prior weights ## do not have a simple unambiguous interpretation: ## they might be frequency weights or indicate averages. wts <- weights(object) if (any(wts != 1)) warning("ignoring prior weights") rpois(nsim*length(ftd), ftd) } ##' FIXME: need a gamma.shape.merMod method in order for this to work. ##' (see initial shot at gamma.shape.merMod below) Gamma_simfun <- function(object, nsim, ftd=fitted(object), wts=weights(object)) { if (any(wts != 1)) message("using weights to scale shape parameter") ## used to use gamma.shape(), but sigma() is more general ## (wouldn't work *outside* of the merMod context though) shape <- 1/sigma(object)^2*wts rgamma(nsim*length(ftd), shape = shape, rate = shape/ftd) } gamma.shape.merMod <- function(object, ...) { if(family(object)$family != "Gamma") stop("Can not fit gamma shape parameter because Gamma family not used") y <- getME(object, "y") mu <- getME(object, "mu") w <- weights(object) # Sec 8.3.2 (MN) L <- w*(log(y/mu)-((y-mu)/mu)) dev <- -2*sum(L) # Eqs. between 8.2 & 8.3 (MN) Dbar <- dev/length(y) structure(list(alpha = (6+2*Dbar)/(Dbar*(6+Dbar)), SE = NA), # FIXME: obtain standard error class = "gamma.shape") } inverse.gaussian_simfun <- function(object, nsim, ftd=fitted(object), wts = weights(object)) { if (any(wts != 1)) message("using weights as inverse variances") if (!requireNamespace("statmod")) { stop("The ",sQuote("statmod")," package must be installed ", " in order to simulate inverse-Gaussian distributions") } statmod::rinvgauss(nsim * length(ftd), mean = ftd, shape= wts/sigma(object)) } ## in the original MASS version, .Theta is assigned into the environment ## (triggers a NOTE in R CMD check) ## modified from @aosmith16 GH contribution negative.binomial_simfun <- function (object, nsim, ftd = fitted(object), wts=weights(object)) { if (any(wts != 1)) warning("ignoring prior weights") theta <- getNBdisp(object) rnbinom(nsim * length(ftd), mu = ftd, size = theta) } simfunList <- list(gaussian = gaussian_simfun, binomial = binomial_simfun, poisson = poisson_simfun, Gamma = Gamma_simfun, negative.binomial = negative.binomial_simfun, inverse.gaussian = inverse.gaussian_simfun) lme4/R/error_factory.R0000644000176200001440000000615314630365604014333 0ustar liggesusers#' Catch errors and warnings and store them for subsequent evaluation #' #' Factory modified from a version written by Martin Morgan on Stack Overflow (see below). #' Factory generates a function which is appropriately wrapped by error handlers. #' If there are no errors and no warnings, the result is provided. #' If there are warnings but no errors, the result is provided with a warn attribute set. #' If there are errors, the result retutrns is a list with the elements of warn and err. #' This is a nice way to recover from a problems that may have occurred during loop evaluation or during cluster usage. #' Check the references for additional related functions. #' I have not included the other factory functions included in the original Stack Overflow answer because they did not play well with the return item as an S4 object. #' @export #' @param fun The function to be turned into a factory #' @param debug print debugging statements? #' @param errval the value to be returned from the function if an error is thrown #' @param types which types to catch? #' @return The result of the function given to turn into a factory. If this function was in error "An error as occurred" as a character element. factory-error and factory-warning attributes may also be set as appropriate. #' @references #' \url{http://stackoverflow.com/questions/4948361/how-do-i-save-warnings-and-errors-as-output-from-a-function} #' @author Martin Morgan; Modified by Russell S. Pierce and Ben Bolker #' @examples #' f.log <- factory(log) #' f.log("a") #' f.log.NA <- factory(log,errval=NA) #' f.log.NA("a") #' f.as.numeric <- factory(as.numeric) #' f.as.numeric(c("a","b",1)) factory <- function (fun, debug=FALSE, errval="An error occurred in the factory function", types=c("message","warning","error")) { function(...) { errorOccurred <- FALSE warn <- err <- msg <- NULL res <- withCallingHandlers(tryCatch(fun(...), error = function(e) { if (debug) cat("error: ",conditionMessage(e),"\n") err <<- conditionMessage(e) errorOccurred <<- TRUE NULL }), warning = function(w) { if (!"warning" %in% types) { warning(conditionMessage(w)) } else { warn <<- append(warn, conditionMessage(w)) invokeRestart("muffleWarning") } }, message = function(m) { if (debug) cat("message: ",conditionMessage(m),"\n") if (!"message" %in% types) { message(conditionMessage(m)) } else { msg <<- append(msg, conditionMessage(m)) invokeRestart("muffleMessage") } }) if (errorOccurred) { if (!"error" %in% types) stop(err) res <- errval } setattr <- function(x, attrib, value) { attr(x,attrib) <- value x } attr_fun <- function(x,str,msg) { setattr(x,paste0("factory-",str), if(is.character(msg)) msg else NULL) } res <- attr_fun(res, "message", msg) res <- attr_fun(res, "warning", warn) res <- attr_fun(res, "error", err) return(res) } } lme4/R/plots.R0000644000176200001440000001110214630365604012602 0ustar liggesusers### Plots for the ranef.mer class ---------------------------------------- ##' @importFrom lattice dotplot ##' @S3method dotplot ranef.mer dotplot.ranef.mer <- function(x, data, main = TRUE, transf=I, level = 0.95, ...) { rng <- qnorm((1+level)/2) prepanel.ci <- function(x, y, se, subscripts, ...) { if (is.null(se)) return(list()) x <- as.numeric(x) hw <- rng * as.numeric(se[subscripts]) list(xlim = range(transf(x - hw), transf(x + hw), finite = TRUE)) } panel.ci <- function(x, y, se, subscripts, pch = 16, horizontal = TRUE, col = dot.symbol$col, lty.h = dot.line$lty, lty.v = dot.line$lty, lwd.h = dot.line$lwd, lwd.v = dot.line$lwd, col.line.h = dot.line$col, col.line.v = dot.line$col, levels.fos = unique(y), groups = NULL, ...) { x <- as.numeric(x) y <- as.numeric(y) dot.line <- trellis.par.get("dot.line") dot.symbol <- trellis.par.get("dot.symbol") sup.symbol <- trellis.par.get("superpose.symbol") panel.abline(h = levels.fos, col = col.line.h, lty = lty.h, lwd = lwd.h) panel.abline(v = 0, col = col.line.v, lty = lty.v, lwd = lwd.v) if (!is.null(se)) { se <- as.numeric(se[subscripts]) panel.segments( transf(x - rng * se), y, transf(x + rng * se), y, col = 'black') } panel.xyplot(transf(x), y, pch = pch, col = col, ...) } f <- function(nx, ...) { ss <- asDf0(x,nx) mtit <- if(main) nx dotplot(.nn ~ values | ind, ss, se = ss$se, prepanel = prepanel.ci, panel = panel.ci, xlab = NULL, main = mtit, ...) } setNames(lapply(names(x), f, ...), names(x)) } ##' @importFrom graphics plot ##' @S3method plot ranef.mer plot.ranef.mer <- function(x, y, ...) { lapply(x, function(x) { cn <- lapply(colnames(x), as.name) switch(min(ncol(x), 3), qqmath(eval(substitute(~ x, list(x = cn[[1]]))), x, ...), xyplot(eval(substitute(y ~ x, list(y = cn[[1]], x = cn[[2]]))), x, ...), splom(~ x, ...)) }) } ##' @importFrom lattice qqmath ##' @S3method qqmath ranef.mer qqmath.ranef.mer <- function(x, data, main = TRUE, level = 0.95, ...) { rng <- qnorm((1+level)/2) prepanel.ci <- function(x, y, se, subscripts, ...) { x <- as.numeric(x) se <- as.numeric(se[subscripts]) hw <- rng * se list(xlim = range(x - hw, x + hw, finite = TRUE)) } panel.ci <- function(x, y, se, subscripts, pch = 16, ...) { panel.grid(h = -1,v = -1) panel.abline(v = 0) x <- as.numeric(x) y <- as.numeric(y) se <- as.numeric(se[subscripts]) panel.segments(x - rng * se, y, x + rng * se, y, col = 'black') panel.xyplot(x, y, pch = pch, ...) } f <- function(nx) { xt <- x[[nx]] mtit <- if(main) nx # else NULL if (!is.null(pv <- attr(xt, "postVar"))) { d <- dim(pv) se <- vapply(seq_len(d[1]), function(i) sqrt(pv[i, i, ]), numeric(d[3])) nr <- nrow(xt) nc <- ncol(xt) ord <- unlist(lapply(xt, order)) + rep((0:(nc - 1)) * nr, each = nr) rr <- 1:nr ind <- gl(nc, nr, labels = names(xt)) xyplot(rep(qnorm((rr - 0.5)/nr), nc) ~ unlist(xt)[ord] | ind[ord], se = se[ord], prepanel = prepanel.ci, panel = panel.ci, scales = list(x = list(relation = "free")), ylab = "Standard normal quantiles", xlab = NULL, main = mtit, ...) } else { qqmath(~values|ind, data = stack(xt), scales = list(y = list(relation = "free")), xlab = "Standard normal quantiles", ylab = NULL, main = mtit, ...) } } sapply(names(x), f, simplify = FALSE) } ##' @importFrom graphics plot ##' @S3method plot coef.mer plot.coef.mer <- function(x, y, ...) { ## remove non-varying columns from frames reduced <- lapply(x, function(el) el[, !vapply(el, function(cc) all(cc == cc[1L]), NA)]) plot.ranef.mer(reduced, ...) } ##' @importFrom lattice dotplot ##' @S3method dotplot coef.mer dotplot.coef.mer <- function(x, data, ...) { mc <- match.call() mc[[1]] <- as.name("dotplot.ranef.mer") eval(mc) } lme4/R/checkConv.R0000644000176200001440000001730714630365604013361 0ustar liggesusers### Adapted from Rune Haubo's ordinal code ### extended convergence checking ### http://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions ##' @param derivs typically the "derivs" attribute of optimizeLmer(); with ##' "gradients" and possibly "Hessian" component ##' @param coefs estimated function value ##' @param ctrl list of lists, each with \code{action} character strings specifying ##' what should happen when a check triggers, and \code{tol} numerical tolerances, ##' as is the result of \code{\link{lmerControl}()$checkConv}. ##' @param lbound vector of lower bounds \emph{for random-effects parameters only} ##' (length is taken to determine number of RE parameters) ##' @param debug useful if some checks are on "ignore", but would "trigger" checkConv <- function(derivs, coefs, ctrl, lbound, debug = FALSE) { res <- list() ntheta <- length(lbound) ## check singularity first, and unconditionally ## (ignore "ignore") ccl <- ctrl[[cstr <- "check.conv.singular"]] ; checkCtrlLevels(cstr, cc <- ccl[["action"]]) ## similar logic to isSingular, but we don't have the fitted object to test bcoefs <- seq(ntheta)[lbound==0] is.singular <- any(coefs[bcoefs] < ccl$tol) if (doCheck(cc)) { ## singular fit ## are there other circumstances where we can get a singular fit? if (is.singular) { wstr <- "boundary (singular) fit: see help('isSingular')" res$messages <- c(res$messages,wstr) switch(cc, "message" = message(wstr), "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } ## DON'T check remaining gradient issues if (is.singular) return(res) if (is.null(derivs)) return(NULL) ## bail out if (anyNA(derivs$gradient)) return(list(code = -5L, messages = gettextf("Gradient contains NAs"))) ## gradients: ## check absolute gradient (default) ccl <- ctrl[[cstr <- "check.conv.grad"]] ; checkCtrlLevels(cstr, cc <- ccl[["action"]]) wstr <- NULL if (doCheck(cc)) { scgrad <- tryCatch(with(derivs,solve(chol(Hessian),gradient)), error=function(e)e) if (inherits(scgrad, "error") || ## some BLAS versions return NA rather than throwing an error? ## GH #677 any(is.na(scgrad))) { wstr <- "unable to evaluate scaled gradient" res$code <- -1L } else { ## find parallel *minimum* of scaled and absolute gradient ## the logic here is that we can sometimes get large ## *scaled* gradients even when the *absolute* gradient ## is small because the curvature is very flat as well ... mingrad <- pmin(abs(scgrad),abs(derivs$gradient)) maxmingrad <- max(mingrad) if (maxmingrad > ccl$tol) { w <- which.max(maxmingrad) res$code <- -1L wstr <- gettextf("Model failed to converge with max|grad| = %g (tol = %g, component %d)", maxmingrad, ccl$tol,w) } } if (!is.null(wstr)) { res$messages <- wstr switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } ## note: kktc package uses gmax > kkttol * (1 + abs(fval)) ## where kkttol defaults to 1e-3 and fval is the objective f'n value ## check relative gradient (only if enabled) if (!is.null(ccl$relTol) && (max.rel.grad <- max(abs(derivs$gradient/coefs))) > ccl$relTol) { res$code <- -2L wstr <- gettextf("Model failed to converge with max|relative grad| = %g (tol = %g)", max.rel.grad, ccl$relTol) res$messages <- wstr switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } ccl <- ctrl[[cstr <- "check.conv.hess"]] ; checkCtrlLevels(cstr, cc <- ccl[["action"]]) if (doCheck(cc)) { if (length(coefs) > ntheta) { ## GLMM, check for issues with beta parameters H.beta <- derivs$Hessian[-seq(ntheta),-seq(ntheta)] resHess <- checkHess(H.beta, ccl$tol, "fixed-effect") if (any(resHess$code!=0)) { res$code <- resHess$code res$messages <- c(res$messages,resHess$messages) wstr <- paste(resHess$messages,collapse=";") switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } resHess <- checkHess(derivs$Hessian, ccl$tol) if (any(resHess$code != 0)) { res$code <- resHess$code res$messages <- c(res$messages,resHess$messages) wstr <- paste(resHess$messages,collapse=";") switch(cc, "warning" = warning(wstr), "stop" = stop(wstr), stop(gettextf("unknown check level for '%s'", cstr), domain=NA)) } } if (debug && length(res$messages) > 0) { print(res$messages) } res } checkHess <- function(H, tol, hesstype="") { ## FIXME: not sure why we decided to save messages as a list ## rather than as a character vector?? res <- list(code=numeric(0),messages=list()) evd <- tryCatch(eigen(H, symmetric=TRUE, only.values=TRUE)$values, error=function(e)e) if (inherits(evd,"error")) { res$code <- -6L res$messages <- gettextf("Problem with Hessian check (infinite or missing values?)") } else { negative <- sum(evd < -tol) if(negative) { res$code <- -3L res$messages <- gettextf(paste("Model failed to converge:", "degenerate",hesstype,"Hessian with %d negative eigenvalues"), negative) } else { zero <- sum(abs(evd) < tol) if(zero || inherits(tryCatch(chol(H), error=function(e)e), "error")) { res$code <- -4L res$messages <- paste(hesstype,"Hessian is numerically singular: parameters are not uniquely determined") } else { res$cond.H <- max(evd) / min(evd) if(max(evd) * tol > 1) { res$code <- c(res$code, 2L) res$messages <- c(res$messages, paste("Model is nearly unidentifiable: ", "very large eigenvalue", "\n - Rescale variables?", sep="")) } if ((min(evd) / max(evd)) < tol) { res$code <- c(res$code, 3L) ## consider skipping warning message if we've ## already hit the previous flag? if(!5L %in% res$code) { res$messages <- c(res$messages, paste("Model is nearly unidentifiable: ", "large eigenvalue ratio", "\n - Rescale variables?", sep="")) } } } } } if (length(res$code)==0) res$code <- 0 res } lme4/LICENSE.note0000644000176200001440000000022614630365604013073 0ustar liggesusersThis package is licensed under GPL (>=2), except for the code in R/simulate.formula.R, which is licensed under the MIT license (details in that file).lme4/vignettes/0000755000176200001440000000000014640613451013127 5ustar liggesuserslme4/vignettes/lmer.bib0000644000176200001440000004257114630365604014560 0ustar liggesusers%% This BibTeX bibliography file was created using BibDesk. %% http://bibdesk.sourceforge.net/ %% Created for Steven Walker at 2014-02-14 16:07:20 -0500 %% Saved with string encoding Unicode (UTF-8) @InCollection{Chambers:1993, author = {John M. Chambers}, title = {Linear Models}, booktitle = {Statistical Models in \proglang{S}}, publisher = {Chapman \& Hall}, year = 1993, editor = {John M. Chambers and Trevor J. Hastie}, chapter = 4, pages = {95--144}, } @book{Rauden:Bryk:2002, Author = {Stephen W. Raudenbush and Anthony S. Bryk}, Edition = {2nd}, Isbn = {0-7619-1904-X}, Publisher = {Sage}, Title = {Hierarchical Linear Models: Applications and Data Analysis Methods}, Year = 2002 } @book{MLwiNUser:2000, Address = {London}, Author = {J. Rasbash and W. Browne and H. Goldstein and M. Yang and I. Plewis}, Publisher = {Multilevel Models Project, Institute of Education, University of London}, Title = {A User's Guide to \pkg{MLwiN}}, Year = 2000} @Book{davis06:csparse_book, address = {Philadelphia, PA}, author = {Tim Davis}, publisher = {SIAM}, title = {Direct Methods for Sparse Linear Systems}, year = 2006, doi = {10.1137/1.9780898718881}, } @Article{laird_ware_1982, author = {Nan M. Laird and James H. Ware}, journal = {Biometrics}, pages = {963--974}, title = {Random-Effects Models for Longitudinal Data}, volume = 38, number = 4, year = 1982, doi = {10.2307/2529876}, } @Book{bateswatts88:_nonlin, address = {Hoboken, NJ}, author = {Douglas M. Bates and Donald G. Watts}, publisher = {John Wiley \& Sons}, title = {Nonlinear Regression Analysis and Its Applications}, year = 1988, doi = {10.1002/9780470316757}, } @book{R:Pinheiro+Bates:2000, Author = {Jose C. Pinheiro and Douglas M. Bates}, Title = {Mixed-Effects Models in \proglang{S} and \proglang{S-PLUS}}, Year = 2000, Orderinfo = {springer.txt}, ISBN = {0-387-98957-0}, Publisher = {Springer-Verlag}, Abstract = {A comprehensive guide to the use of the `nlme' package for linear and nonlinear mixed-effects models.}, } @article{bates04:_linear, Author = {Douglas M. Bates and Saikat DebRoy}, Journal = {Journal of Multivariate Analysis}, doi = {10.1016/j.jmva.2004.04.013}, Number = 1, Pages = {1--17}, Title = {Linear Mixed Models and Penalized Least Squares}, Volume = 91, Year = 2004} @article{gelman2005analysis, title = {Analysis of Variance --- Why it is More Important than Ever}, author = {Gelman, Andrew}, journal = {The Annals of Statistics}, volume = 33, number = 1, pages = {1--53}, year = 2005, doi = {10.1214/009053604000001048}, publisher = {Institute of Mathematical Statistics} } @ARTICLE{1977EfronAndMorris, author = {{Efron}, B. and {Morris}, C.}, title = "{Stein's Paradox in Statistics}", journal = {Scientific American}, year = 1977, month = may, volume = 236, pages = {119-127}, doi = {10.1038/scientificamerican0577-119}, adsurl = {http://adsabs.harvard.edu/abs/1977SciAm.236e.119E}, adsnote = {Provided by the SAO/NASA Astrophysics Data System} } @article{henderson_1982, author = {Charles R. {Henderson Jr.}}, Title = {Analysis of Covariance in the Mixed Model: Higher-Level, Nonhomogeneous, and Random Regressions}, Journal = {Biometrics}, Year = 1982, Volume = 38, Number = 3, Pages = {623--640}, Language = {English}, Publisher = {International Biometric Society}, Url = {http://www.jstor.org/stable/2530044}, } @article{golub_pereyra_1973, Author = {Golub, G. H. and Pereyra, V.}, Title = {The Differentiation of Pseudo-Inverses and Nonlinear Least Squares Problems Whose Variables Separate}, Year = 1973, Journal = {SIAM Journal on Numerical Analysis}, Volume = 10, Number = 2, Pages = {413--432}, doi = {10.1137/0710036}, } @article{sleepstudy, Author = {Gregory Belenky and Nancy J. Wesensten and David R. Thorne and Maria L. Thomas and Helen C. Sing and Daniel P. Redmond and Michael B. Russo and Thomas J. Balkin}, Date-Modified = {2014-02-14 21:07:17 +0000}, Journal = {Journal of Sleep Research}, Pages = {1--12}, Title = {Patterns of Performance Degradation and Restoration During Sleep Restriction and Subsequent Recovery: A Sleep Dose-Response Study}, Volume = 12, Year = 2003, doi = {10.1046/j.1365-2869.2003.00337.x}, } @article{Chen:2008:ACS:1391989.1391995, author = {Chen, Yanqing and Davis, Timothy A. and Hager, William W. and Rajamanickam, Sivasankaran}, title = {Algorithm 887: CHOLMOD, Supernodal Sparse Cholesky Factorization and Update/Downdate}, journal = {ACM Trans. Math. Softw.}, year = 2008, volume = 35, number = 3, month = oct, issn = {0098-3500}, pages = {22:1--22:14}, articleno = 22, doi = {10.1145/1391989.1391995}, publisher = {ACM}, address = {New York, NY, USA}, keywords = {Cholesky factorization, linear equations, sparse matrices}, } @article{kenward_small_1997, author = {M. G Kenward and J. H Roger}, title = {Small Sample Inference for Fixed Effects from Restricted Maximum Likelihood}, year = {1997}, journal = {Biometrics}, volume = {53}, number = {3}, pages = {983--997}, abstract = {Restricted maximum likelihood {(REML)} is now well established as a method for estimating the parameters of the general Gaussian linear model with a structured covariance matrix, in particular for mixed linear models. Conventionally, estimates of precision and inference for fixed effects are based on their asymptotic distribution, which is known to be inadequate for some small-sample problems. In this paper, we present a scaled Wald statistic, together with an F approximation to its sampling distribution, that is shown to perform well in a range of small sample settings. The statistic uses an adjusted estimator of the covariance matrix that has reduced small sample bias. This approach has the advantage that it reproduces both the statistics and F distributions in those settings where the latter is exact, namely for Hotelling T\${\textasciicircum}2\$ type statistics and for analysis of variance F-ratios. The performance of the modified statistics is assessed through simulation studies of four different {REML} analyses and the methods are illustrated using three examples.}, doi = {10.2307/2533558}, } @Article{Satterthwaite_1946, author = {F. E. Satterthwaite}, title = {An Approximate Distribution of Estimates of Variance Components}, journal = {Biometrics Bulletin}, year = 1946, volume = 2, number = 6, pages = {110-114}, doi = {10.2307/3002019}, } @Manual{gamm4, title = {\pkg{gamm4}: Generalized Additive Mixed Models Using \pkg{mgcv} and \pkg{lme4}}, author = {Simon Wood and Fabian Scheipl}, year = 2014, note = {\proglang{R} package version 0.2-3}, url = {http://CRAN.R-project.org/package=gamm4}, } @Manual{blme, title = {\pkg{blme}: {Bayesian} Linear Mixed-Effects Models}, author = {Vincent Dorie}, year = 2015, note = {R package version 1.0-4}, url = {http://CRAN.R-project.org/package=blme}, } @Article{blme2, title = {A Nondegenerate Penalized Likelihood Estimator for Variance Parameters in Multilevel Models}, author = {Yeojin Chung and Sophia Rabe-Hesketh and Vincent Dorie and Andrew Gelman and Jingchen Liu}, year = 2013, journal = {Psychometrika}, volume = 78, number = 4, pages = {685--709}, } @article{doran2007estimating, author={Doran, Harold and Bates, Douglas and Bliese, Paul and Dowling, Maritza}, title={Estimating the Multilevel {Rasch} Model: With the \pkg{lme4} Package}, year=2007, journal={Journal of Statistical Software}, volume=20, number=2, pages={1--18}, doi = {10.18637/jss.v020.i02}, publisher={American Statistical Association}, } @TechReport{Powell_bobyqa, author = {M. J. D. Powell}, title = {The {BOBYQA} Algorithm for Bound Constrained Optimization without Derivatives}, institution = {Centre for Mathematical Sciences, University of Cambridge}, year = {2009}, number = {DAMTP 2009/NA06}, address = {Cambridge, England}, url = {http://www.damtp.cam.ac.uk/user/na/NA_papers/NA2009_06.pdf} } @article{pinheiro_unconstrained_1996, title = {Unconstrained Parametrizations for Variance-Covariance Matrices}, volume = {6}, doi = {10.1007/BF00140873}, abstract = {The estimation of variance-covariance matrices through optimization of an objective function, such as a log-likelihood function, is usually a difficult numerical problem. Since the estimates should be positive semi-definite matrices, we must use constrained optimization, or employ a parametrization that enforces this condition. We describe here five different parametrizations for variance-covariance matrices that ensure positive definiteness, thus leaving the estimation problem unconstrained. We compare the parametrizations based on their computational efficiency and statistical interpretability. The results described here are particularly useful in maximum likelihood and restricted maximum likelihood estimation in linear and non-linear mixed-effects models, but are also applicable to other areas of statistics.}, number = {3}, urldate = {2010-01-05}, journal = {Statistics and Computing}, author = {Pinheiro, José C. and Bates, Douglas M.}, year = {1996}, pages = {289--296} } @article{bolker_strategies_2013, title = {Strategies for Fitting Nonlinear Ecological Models in \proglang{R}, \pkg{AD Model Builder}, and \proglang{BUGS}}, volume = 4, doi = {10.1111/2041-210X.12044}, number = 6, urldate = {2013-06-11}, journal = {Methods in Ecology and Evolution}, author = {Bolker, Benjamin M. and Gardner, Beth and Maunder, Mark and Berg, Casper W. and Brooks, Mollie and Comita, Liza and Crone, Elizabeth and Cubaynes, Sarah and Davies, Trevor and de Valpine, Perry and Ford, Jessica and Gimenez, Olivier and Kéry, Marc and Kim, Eun Jung and Lennert-Cody, Cleridy and Magnusson, Arni and Martell, Steve and Nash, John and Nielsen, Anders and Regetz, Jim and Skaug, Hans and Zipkin, Elise}, editor = {Ramula, Satu}, month = jun, year = 2013, pages = {501--512}, pdf={bbpapers/bolker_strategies_2013.pdf} } @Article{Klein_nelder_2013, author = {Kyle Klein and Julian Neira}, title = {{Nelder-Mead} Simplex Optimization Routine for Large-Scale Problems: A Distributed Memory Implementation}, journal = {Computational Economics}, year = 2013, doi = {10.1007/s10614-013-9377-8} } @Misc{merBoot, author = {José A. Sánchez-Espigares and Jordi Ocaña}, title = {An \proglang{R} Implementation of Bootstrap Procedures for Mixed Models}, howpublished = {Conference presentation, useR!}, month = {July}, year = {2009}, note = {accessed 25 May 2014}, url = {http://www.r-project.org/conferences/useR-2009/slides/SanchezEspigares+Ocana.pdf} } @book{gelman_data_2006, address = {Cambridge, England}, title = {Data Analysis Using Regression and {Multilevel/Hierarchical} Models}, url = {http://www.stat.columbia.edu/~gelman/arm/}, publisher = {Cambridge University Press}, author = {Gelman, Andrew and Hill, Jennifer}, year = {2006}, keywords = {uploaded} } @article{khatri1968solutions, title={Solutions to Some Functional Equations and their Applications to Characterization of Probability Distributions}, author={Khatri, CG and Rao, C Radhakrishna}, journal={Sankhy{\=a}: The Indian Journal of Statistics A}, pages={167--180}, volume = 30, number = 2, year = 1968, } @incollection{zhang2006schur, year={2005}, booktitle={The Schur Complement and its Applications}, volume={4}, series={Numerical Methods and Algorithms}, editor={Zhang, Fuzhen}, title={Basic Properties of the Schur Complement}, doi = {10.1007/0-387-24273-2_2}, publisher={Springer-Verlag}, author={Horn, RogerA. and Zhang, Fuzhen}, pages={17--46} } @book{gelman2013bayesian, title={Bayesian Data Analysis}, author={Gelman, Andrew and Carlin, John B and Stern, Hal S and Dunson, David B and Vehtari, Aki and Rubin, Donald B}, year={2013}, publisher={CRC press} } @Manual{Matrix_pkg, title = {\pkg{Matrix}: Sparse and Dense Matrix Classes and Methods}, author = {Douglas Bates and Martin Maechler}, year = 2015, note = {\proglang{R} package version 1.2-2}, url = {http://CRAN.R-project.org/package=Matrix}, } @Manual{minqa_pkg, title = {\pkg{minqa}: Derivative-Free Optimization Algorithms by Quadratic Approximation}, author = {Douglas Bates and Katharine M. Mullen and John C. Nash and Ravi Varadhan}, year = {2014}, note = {\proglang{R} package version 1.2.4}, url = {http://CRAN.R-project.org/package=minqa}, } @Article{optimx_pkg, author = {John C. Nash and Ravi Varadhan}, title = {Unifying Optimization Algorithms to Aid Software System Users: \pkg{optimx} for \proglang{R}}, journal = {Journal of Statistical Software}, year = 2011, volume = 43, number = 9, pages = {1--14}, doi = {10.18637/jss.v043.i09}, url = {http://www.jstatsoft.org/v43/i09/}, } @Misc{NLopt, author = {Steven G. Johnson}, title = {The \pkg{NLopt} Nonlinear-Optimization Package}, year = {2014}, url = {http://ab-initio.mit.edu/nlopt} } @Manual{nlme_pkg, title = {\pkg{nlme}: Linear and Nonlinear Mixed Effects Models}, author = {Jose Pinheiro and Douglas Bates and Saikat DebRoy and Deepayan Sarkar and {\proglang{R} Core Team}}, year = 2014, note = {\proglang{R} package version 3.1-117}, url = {http://CRAN.R-project.org/package=nlme}, } @Article{HLMdiag_pkg, title = {\pkg{HLMdiag}: A Suite of Diagnostics for Hierarchical Linear Models in \proglang{R}}, author = {Adam Loy and Heike Hofmann}, journal = {Journal of Statistical Software}, year = 2014, volume = 56, number = 5, pages = {1--28}, doi = {10.18637/jss.v056.i05}, url = {http://www.jstatsoft.org/v56/i05/}, } @Article{influenceME_pkg, title = {\proglang{Influence.ME}: Tools for Detecting Influential Data in Mixed Effects Models}, author = {Rense Nieuwenhuis and Manfred {Te Grotenhuis} and Ben Pelzer}, year = 2012, journal = {R Journal}, volume = 4, number = 2, pages = {38-47}, } @Manual{boot_pkg, author = {Angelo Canty and Brian Ripley}, year = 2015, title = { \pkg{boot}: Bootstrap \proglang{R} (\proglang{S-PLUS}) Functions}, note = {\proglang{R} package version 1.3-17}, url = {http://CRAN.R-project.org/package=boot} } @Book{DavisonHinkley1997, author = {A. C. Davison and D. V. Hinkley}, title = {Bootstrap Methods and Their Applications}, year = 1997, publisher = {Cambridge University Press}, ISBN = {0-521-57391-2}, address = {Cambridge, England} } @article{vaida2005conditional, title={Conditional Akaike Information for Mixed-Effects Models}, author={Vaida, Florin and Blanchard, Suzette}, journal={Biometrika}, volume={92}, number={2}, pages={351--370}, year={2005}, doi = {10.1093/biomet/92.2.351}, publisher={Biometrika Trust} } @book{cook1982residuals, title={Residuals and Influence in Regression}, author={Cook, R Dennis and Weisberg, Sanford}, year={1982}, publisher={New York: Chapman and Hall} } @comment -------- Software manuals, mostly R and R packages --------- @Manual{lme4, title = {\pkg{lme4}: Linear Mixed-Effects Models Using \pkg{Eigen} and \proglang{S}4}, author = {Douglas Bates and Martin Maechler and Ben Bolker and Steven Walker}, year = 2014, note = {\proglang{R} package version 1.1-7}, url = {http://CRAN.R-project.org/package=lme4}, } @Manual{R, title = {\proglang{R}: A Language and Environment for Statistical Computing}, author = {{\proglang{R} Core Team}}, organization = {\proglang{R} Foundation for Statistical Computing}, address = {Vienna, Austria}, year = 2015, url = {http://www.R-project.org/}, } @Unpublished{Julia, title = {\proglang{Julia}: A Fast Dynamic Language for Technical Computing}, author = {Jeff Bezanson and Stefan Karpinski and Viral B. Shah and Alan Edelman}, year = 2012, url = {http://arxiv.org/abs/1209.5145}, note = {{arXiv}:1209.5145 [cs.PL]}, } @Manual{MixedModels, title = {\pkg{MixedModels}: A \proglang{Julia} Package for Fitting (Statistical) Mixed-Effects Models}, author = {Douglas Bates}, year = 2015, note = {\proglang{Julia} package version 0.3-22}, url = {https://github.com/dmbates/MixedModels.jl}, } @Manual{lme4pureR, title = {\pkg{lme4pureR}: \pkg{lme4} in Pure \proglang{R}}, author = {Douglas Bates and Steven Walker}, year = 2013, note = {\proglang{R} package version 0.1-0}, url = {https://github.com/lme4/lme4pureR}, } @Manual{Eigen, title = {\pkg{Eigen}3}, author = {G Guennebaud and B Jacob and {and others}}, year = 2015, url = {http://eigen.tuxfamily.org/}, } @Manual{SuiteSparse, title = {\pkg{SuiteSparse}: A Suite of Sparse Matrix Software}, author = {Timothy A. Davis and others}, year = 2015, note = {Version 4.4-5}, url = {http://www.suitesparse.com/}, } @Book{lattice, title = {\pkg{lattice}: Multivariate Data Visualization with \proglang{R}}, author = {Deepayan Sarkar}, publisher = {Springer-Verlag}, address = {New York}, year = 2008, url = {http://lmdvr.R-Forge.R-project.org}, } lme4/vignettes/lme4.bib0000644000176200001440000000611614630365604014455 0ustar liggesusers@Book{bateswatts88:_nonlin, author = {Douglas M. Bates and Donald G. Watts}, title = {Nonlinear Regression Analysis and Its Applications}, publisher = {Wiley}, year = 1988} @Article{Davis:1996, author = {Tim Davis}, title = {An approximate minimal degree ordering algorithm}, journal = {SIAM J. Matrix Analysis and Applications}, year = 1996, volume = 17, number = 4, pages = {886-905} } @Misc{CSparse, author = {Tim Davis}, title = {{CSparse}: a concise sparse matrix package}, howpublished = {http://www.cise.ufl.edu/research/sparse/CSparse}, year = 2005 } @misc{Cholmod, author = {Tim Davis}, title = {{CHOLMOD}: sparse supernodal {Cholesky} factorization and update/downdate}, howpublished = {http://www.cise.ufl.edu/research/sparse/cholmod}, year = 2005 } @Book{mccullagh89:_gener_linear_model, author = {Peter McCullagh and John Nelder}, title = {Generalized Linear Models}, publisher = {Chapman and Hall}, year = 1989, edition = {2nd}} @Article{mccullough99:_asses_reliab_of_statis_softw, author = {B. D. McCullough}, title = {Assessing the reliability of statistical software: Part II}, journal = {The American Statistician}, year = 1999, volume = 53, number = 2, month = {May}} @Book{davis06:csparse_book, author = {Timothy A. Davis }, title = {Direct Methods for Sparse Linear Systems}, publisher = {SIAM}, year = 2006, series = {Fundamentals of Algorithms} } @Book{pinh:bate:2000, author = {Jos\'{e} C. Pinheiro and Douglas M. Bates}, title = {Mixed-Effects Models in {S} and {S-PLUS}}, year = 2000, pages = {528}, ISBN = {0-387-98957-9}, publisher = {Springer} } @Article{bate:debr:2004, author = {Douglas M. Bates and Saikat DebRoy}, title = {Linear Mixed Models and Penalized Least Squares}, journal = {J. of Multivariate Analysis}, year = 2004, note = {to appear} } @Book{mccullagh:nelder:1989, author = {P. McCullagh and J.A. Nelder}, title = {Generalized Linear Models}, publisher = {Chapman \& Hall}, year = 1989 } @TechReport{Davis:2004, author = {Timothy A. Davis}, title = {Algorithm 8xx: {A} concise sparse {C}holesky factorization package}, institution = {Department of Computer and Information Science and Engineering, University of Florida}, year = 2004 } @Article{tier:kada:1986, journal = JASA, volume = "81", number = "393", pages = "82--86", author = "Luke Tierney and Joseph B. Kadane", title = "Accurate approximations for posterior moments and densities", year = "1986", } @Book{Sing:Will:2003, author = {Judith D. Singer and John B. Willett}, title = {Applied Longitudinal Data Analysis}, publisher = {Oxford University Press}, year = 2003, ISBN = {0-19-515296-4} } @BOOK{R:Chambers+Hastie:1992, author = {John M. Chambers and Trevor J. Hastie}, title = {Statistical Models in {S}}, publisher = {Chapman \& Hall}, year = 1992, address = {London} } lme4/vignettes/lmerperf.Rmd0000644000176200001440000001321514630365604015414 0ustar liggesusers--- title: "lme4 performance tips" --- ```{r opts, echo = FALSE, message = FALSE} library("knitr") knitr::opts_chunk$set( ) (load(system.file("testdata", "lmerperf.rda", package="lme4")))# 'ss' 'fitlist' ``` ```{r loadpkg,message=FALSE} library("lme4") ``` ## overview In general `lme4`'s algorithms scale reasonably well with the number of observations and the number of random effect levels. The biggest bottleneck is in the number of *top-level parameters*, i.e. covariance parameters for `lmer` fits or `glmer` fits with `nAGQ`=0 [`length(getME(model, "theta"))`], covariance and fixed-effect parameters for `glmer` fits with `nAGQ`>0. `lme4` does a derivative-free (by default) nonlinear optimization step over the top-level parameters. For this reason, "maximal" models involving interactions of factors with several levels each (e.g. `(stimulus*primer | subject)`) will be slow (as well as hard to estimate): if the two factors have `f1` and `f2` levels respectively, then the corresponding `lmer` fit will need to estimate `(f1*f2)*(f1*f2+1)/2` top-level parameters. `lme4` automatically constructs the random effects model matrix ($Z$) as a sparse matrix. At present it does *not* allow an option for a sparse fixed-effects model matrix ($X$), which is useful if the fixed-effect model includes factors with many levels. Treating such factors as random effects instead, and using the modular framework (`?modular`) to fix the variance of this random effect at a large value, will allow it to be modeled using a sparse matrix. (The estimates will converge to the fixed-effect case in the limit as the variance goes to infinity.) ## setting `calc.derivs = FALSE` After finding the best-fit model parameters (in most cases using *derivative-free* algorithms such as Powell's BOBYQA or Nelder-Mead, `[g]lmer` does a series of finite-difference calculations to estimate the gradient and Hessian at the MLE. These are used to try to establish whether the model has converged reliably, and (for `glmer`) to estimate the standard deviations of the fixed effect parameters (a less accurate approximation is used if the Hessian estimate is not available. As currently implemented, this computation takes `2*n^2 - n + 1` additional evaluations of the deviance, where `n` is the total number of top-level parameters. Using `control = [g]lmerControl(calc.derivs = FALSE)` to turn off this calculation can speed up the fit, e.g. ```{r noderivs, eval = FALSE} m0 <- lmer(y ~ service * dept + (1|s) + (1|d), InstEval, control = lmerControl(calc.derivs = FALSE)) ``` ```{r calcs, echo = FALSE} ## based on loaded lmerperf file t1 <- fitlist$basic$times[["elapsed"]] t2 <- fitlist$noderivs$times[["elapsed"]] pct <- round(100*(t1-t2)/t1) e1 <- fitlist$basic$optinfo$feval ``` Benchmark results for this run with and without derivatives show an approximately `r pct`% speedup (from `r round(t1)` to `r round(t2)` seconds on a Linux machine with AMD Ryzen 9 2.2 GHz processors). This is a case with only 2 top-level parameters, but the fit took only `r e1` deviance function evaluations (see `m0@optinfo$feval`) to converge, so the effect of the additional 7 ($n^2 -n +1$) function evaluations is noticeable. ## choice of optimizer ```{r glmeropt, echo=FALSE} gg <- glmerControl()$optimizer ``` `lmer` uses the "`r lmerControl()$optimizer`" optimizer by default; `glmer` uses a combination of `r gg[1]` (`nAGQ=0` stage) and `r gg[2]`. These are reasonably good choices, although switching `glmer` fits to `nloptwrap` for both stages may be worth a try. `allFits()` gives an easy way to check the timings of a large range of optimizers: ```{r times, as.is=TRUE, echo=FALSE} tt <- sort(ss$times[,"elapsed"]) tt2 <- data.frame(optimizer = names(tt), elapsed = tt) rownames(tt2) <- NULL knitr::kable(tt2) ``` As expected, bobyqa - both the implementation in the `minqa` package [`[g]lmerControl(optimizer="bobyqa")`] and the one in `nloptwrap` [`optimizer="nloptwrap"` or `optimizer="nloptwrap", optCtrl = list(algorithm = "NLOPT_LN_BOBYQA"`] - are fastest. ## changing optimizer tolerances Occasionally, the default optimizer stopping tolerances are unnecessarily strict. These tolerances are specific to each optimizer, and can be set via the `optCtrl` argument in `[g]lmerControl`. To see the defaults for `nloptwrap`: ```{r default} environment(nloptwrap)$defaultControl ``` ```{r calcs2, echo = FALSE} ## based on loaded lmerperf file t1 <- fitlist$basic$times[["elapsed"]] t2 <- fitlist$noderivs$times[["elapsed"]] t3 <- fitlist$nlopt_sloppy$times[["elapsed"]] pct <- round(100*(t1-t2)/t1) e1 <- fitlist$basic$optinfo$feval ``` In the particular case of the `InstEval` example, this doesn't help much - loosening the tolerances to `ftol_abs=1e-4`, `xtol_abs=1e-4` only saves 2 functional evaluations and a few seconds, while loosening the tolerances still further gives convergence warnings. ## parallelization/BLAS There are not many options for parallelizing `lme4`. Optimized BLAS does not seem to help much. ## other packages - `glmmTMB` may be faster than `lme4` for GLMMs with large numbers of top-level parameters, especially for negative binomial models (i.e. compared to `glmer.nb`) - the `MixedModels.jl` package in Julia may be *much* faster for some problems. You do need to install Julia. - see [this short tutorial](https://github.com/ginettelafit/MixedModelswithRandJulia) or [this example](https://github.com/RePsychLing/MixedModels-lme4-bridge/blob/master/using_jellyme4.ipynb) (Jupyter notebook) - the [JellyMe4](https://github.com/palday/JellyMe4.jl) and [jglmm](https://github.com/mikabr/jglmm) packages provide R interfaces lme4/vignettes/PLSvGLS.Rnw0000644000176200001440000004356214630365604015026 0ustar liggesusers\documentclass[12pt]{article} \usepackage{Sweave,amsmath,amsfonts,bm} \usepackage[authoryear,round]{natbib} \bibliographystyle{plainnat} \DeclareMathOperator \tr {tr} \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{PLS vs GLS for LMMs} %%\VignetteDepends{lme4} \title{Penalized least squares versus generalized least squares representations of linear 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}} <>= options(width=65,digits=5) #library(lme4) @ \maketitle \begin{abstract} The methods in the \code{lme4} package for \code{R} for fitting linear mixed models are based on sparse matrix methods, especially the Cholesky decomposition of sparse positive-semidefinite matrices, in a penalized least squares representation of the conditional model for the response given the random effects. The representation is similar to that in Henderson's mixed-model equations. An alternative representation of the calculations is as a generalized least squares problem. We describe the two representations, show the equivalence of the two representations and explain why we feel that the penalized least squares approach is more versatile and more computationally efficient. \end{abstract} \section{Definition of the model} \label{sec:Definition} We consider linear mixed models in which the random effects are represented by a $q$-dimensional random vector, $\bm{\mathcal{B}}$, and the response is represented by an $n$-dimensional random vector, $\bm{\mathcal{Y}}$. We observe a value, $\bm y$, of the response. The random effects are unobserved. For our purposes, we will assume a ``spherical'' multivariate normal conditional distribution of $\bm{\mathcal{Y}}$, given $\bm{\mathcal{B}}$. That is, we assume the variance-covariance matrix of $\bm{\mathcal{Y}}|\bm{\mathcal{B}}$ is simply $\sigma^2\bm I_n$, where $\bm I_n$ denotes the identity matrix of order $n$. (The term ``spherical'' refers to the fact that contours of the conditional density are concentric spheres.) The conditional mean, $\mathrm{E}[\bm{\mathcal{Y}}|\bm{\mathcal{B}}=\bm b]$, is a linear function of $\bm b$ and the $p$-dimensional fixed-effects parameter, $\bm\beta$, \begin{equation} \label{eq:condmean} \mathrm{E}[\bm{\mathcal{Y}}|\bm{\mathcal{B}}=\bm b]= \bm X\bm\beta+\bm Z\bm b , \end{equation} where $\bm X$ and $\bm Z$ are known model matrices of sizes $n\times p$ and $n\times q$, respectively. Thus \begin{equation} \label{eq:yconditional} \bm{\mathcal{Y}}|\bm{\mathcal{B}}\sim \mathcal{N}\left(\bm X\bm\beta+\bm Z\bm b,\sigma^2\bm I_n\right) . \end{equation} The marginal distribution of the random effects \begin{equation} \label{eq:remargin} \bm{\mathcal{B}}\sim\mathcal{N}\left(\bm 0,\sigma^2\bm\Sigma(\bm\theta)\right) \end{equation} is also multivariate normal, with mean $\bm 0$ and variance-covariance matrix $\sigma^2\bm\Sigma(\bm\theta)$. The scalar, $\sigma^2$, in (\ref{eq:remargin}) is the same as the $\sigma^2$ in (\ref{eq:yconditional}). As described in the next section, the relative variance-covariance matrix, $\bm\Sigma(\bm\theta)$, is a $q\times q$ positive semidefinite matrix depending on a parameter vector, $\bm\theta$. Typically the dimension of $\bm\theta$ is much, much smaller than $q$. \subsection{Variance-covariance of the random effects} \label{sec:revarcov} The relative variance-covariance matrix, $\bm\Sigma(\bm\theta)$, must be symmetric and positive semidefinite (i.e. $\bm x\trans\bm\Sigma\bm x\ge0,\forall\bm x\in\mathbb{R}^q$). Because the estimate of a variance component can be zero, it is important to allow for a semidefinite $\bm\Sigma$. We do not assume that $\bm\Sigma$ is positive definite (i.e. $\bm x\trans\bm\Sigma\bm x>0,\forall\bm x\in\mathbb{R}^q, \bm x\ne\bm 0$) and, hence, we cannot assume that $\bm\Sigma^{-1}$ exists. A positive semidefinite matrix such as $\bm\Sigma$ has a Cholesky decomposition of the so-called ``LDL$\trans$'' form. We use a slight modification of this form, \begin{equation} \label{eq:TSdef} \bm\Sigma(\bm\theta)=\bm T(\bm\theta)\bm S(\bm\theta)\bm S(\bm\theta)\bm T(\bm\theta)\trans , \end{equation} where $\bm T(\bm\theta)$ is a unit lower-triangular $q\times q$ matrix and $\bm S(\bm\theta)$ is a diagonal $q\times q$ matrix with nonnegative diagonal elements that act as scale factors. (They are the relative standard deviations of certain linear combinations of the random effects.) Thus, $\bm T$ is a triangular matrix and $\bm S$ is a scale matrix. Both $\bm T$ and $\bm S$ are highly patterned. \subsection{Orthogonal random effects} \label{sec:orthogonal} Let us define a $q$-dimensional random vector, $\bm{\mathcal{U}}$, of orthogonal random effects with marginal distribution \begin{equation} \label{eq:Udist} \bm{\mathcal{U}}\sim\mathcal{N}\left(\bm 0,\sigma^2\bm I_q\right) \end{equation} and, for a given value of $\bm\theta$, express $\bm{\mathcal{B}}$ as a linear transformation of $\bm{\mathcal{U}}$, \begin{equation} \label{eq:UtoB} \bm{\mathcal{B}}=\bm T(\bm\theta)\bm S(\bm\theta)\bm{\mathcal{U}} . \end{equation} Note that the transformation (\ref{eq:UtoB}) gives the desired distribution of $\bm{\mathcal{B}}$ in that $\mathrm{E}[\bm{\mathcal{B}}]=\bm T\bm S\mathrm{E}[\bm{\mathcal{U}}]=\bm 0$ and \begin{displaymath} \mathrm{Var}(\bm{\mathcal{B}})=\mathrm{E}[\bm{\mathcal{B}}\bm{\mathcal{B}}\trans] =\bm T\bm S\mathrm{E}[\bm{\mathcal{U}}\bm{\mathcal{U}}\trans]\bm S\bm T\trans=\sigma^2\bm T\bm S\bm S\bm T\trans=\bm\Sigma . \end{displaymath} The conditional distribution, $\bm{\mathcal{Y}}|\bm{\mathcal{U}}$, can be derived from $\bm{\mathcal{Y}}|\bm{\mathcal{B}}$ as \begin{equation} \label{eq:YgivenU} \bm{\mathcal{Y}}|\bm{\mathcal{U}}\sim\mathcal{N}\left(\bm X\bm\beta+\bm Z\bm T\bm S\bm u, \sigma^2\bm I\right) \end{equation} We will write the transpose of $\bm Z\bm T\bm S$ as $\bm A$. Because the matrices $\bm T$ and $\bm S$ depend on the parameter $\bm\theta$, $\bm A$ is also a function of $\bm\theta$, \begin{equation} \label{eq:Adef} \bm A\trans(\bm\theta)=\bm Z\bm T(\bm\theta)\bm S(\bm\theta) . \end{equation} In applications, the matrix $\bm Z$ is derived from indicator columns of the levels of one or more factors in the data and is a \emph{sparse} matrix, in the sense that most of its elements are zero. The matrix $\bm A$ is also sparse. In fact, the structure of $\bm T$ and $\bm S$ are such that pattern of nonzeros in $\bm A$ is that same as that in $\bm Z\trans$. \subsection{Sparse matrix methods} \label{sec:sparseMatrix} The reason for defining $\bm A$ as the transpose of a model matrix is because $\bm A$ is stored and manipulated as a sparse matrix. In the compressed column-oriented storage form that we use for sparse matrices, there are advantages to storing $\bm A$ as a matrix of $n$ columns and $q$ rows. In particular, the CHOLMOD sparse matrix library allows us to evaluate the sparse Cholesky factor, $\bm L(\bm\theta)$, a sparse lower triangular matrix that satisfies \begin{equation} \label{eq:SparseChol} \bm L(\bm\theta)\bm L(\bm\theta)\trans= \bm P\left(\bm A(\bm\theta)\bm A(\bm\theta)\trans+\bm I_q\right)\bm P\trans , \end{equation} directly from $\bm A(\bm\theta)$. In (\ref{eq:SparseChol}) the $q\times q$ matrix $\bm P$ is a ``fill-reducing'' permutation matrix determined from the pattern of nonzeros in $\bm Z$. $\bm P$ does not affect the statistical theory (if $\bm{\mathcal{U}}\sim\mathcal{N}(\bm 0,\sigma^2\bm I)$ then $\bm P\trans\bm{\mathcal{U}}$ also has a $\mathcal{N}(\bm 0,\sigma^2\bm I)$ distribution because $\bm P\bm P\trans=\bm P\trans\bm P=\bm I$) but, because it affects the number of nonzeros in $\bm L$, it can have a tremendous impact on the amount storage required for $\bm L$ and the time required to evaluate $\bm L$ from $\bm A$. Indeed, it is precisely because $\bm L(\bm\theta)$ can be evaluated quickly, even for complex models applied the large data sets, that the \code{lmer} function is effective in fitting such models. \section{The penalized least squares approach to linear mixed models} \label{sec:Penalized} Given a value of $\bm\theta$ we form $\bm A(\bm\theta)$ from which we evaluate $\bm L(\bm\theta)$. We can then solve for the $q\times p$ matrix, $\bm R_{\bm{ZX}}$, in the system of equations \begin{equation} \label{eq:RZX} \bm L(\theta)\bm R_{\bm{ZX}}=\bm P\bm A(\bm\theta)\bm X \end{equation} and for the $p\times p$ upper triangular matrix, $\bm R_{\bm X}$, satisfying \begin{equation} \label{eq:RX} \bm R_{\bm X}\trans\bm R_{\bm X}= \bm X\trans\bm X-\bm R_{\bm{ZX}}\trans\bm R_{\bm{ZX}} \end{equation} The conditional mode, $\tilde{\bm u}(\bm\theta)$, of the orthogonal random effects and the conditional mle, $\widehat{\bm\beta}(\bm\theta)$, of the fixed-effects parameters can be determined simultaneously as the solutions to a penalized least squares problem, \begin{equation} \label{eq:PLS} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \widehat{\bm\beta}(\bm\theta) \end{bmatrix}= \arg\min_{\bm u,\bm\beta}\left\| \begin{bmatrix}\bm y\\\bm 0\end{bmatrix} - \begin{bmatrix} \bm A\trans\bm P\trans & \bm X\\ \bm I_q & \bm 0 \end{bmatrix} \begin{bmatrix}\bm u\\\bm\beta\end{bmatrix} , \right\|^2 \end{equation} for which the solution satisfies \begin{equation} \label{eq:PLSsol} \begin{bmatrix} \bm P\left(\bm A\bm A\trans+\bm I\right)\bm P\trans & \bm P\bm A\bm X\\ \bm X\trans\bm A\trans\bm P\trans & \bm X\trans\bm X \end{bmatrix} \begin{bmatrix} \tilde{\bm u}(\bm\theta)\\ \widehat{\bm\beta}(\bm\theta) \end{bmatrix}= \begin{bmatrix}\bm P\bm A\bm y\\\bm X\trans\bm y\end{bmatrix} . \end{equation} The Cholesky factor of the system matrix for the PLS problem can be expressed using $\bm L$, $\bm R_{\bm Z\bm X}$ and $\bm R_{\bm X}$, because \begin{equation} \label{eq:PLSChol} \begin{bmatrix} \bm P\left(\bm A\bm A\trans+\bm I\right)\bm P\trans & \bm P\bm A\bm X\\ \bm X\trans\bm A\trans\bm P\trans & \bm X\trans\bm X \end{bmatrix} = \begin{bmatrix} \bm L & \bm 0\\ \bm R_{\bm Z\bm X}\trans & \bm R_{\bm X}\trans \end{bmatrix} \begin{bmatrix} \bm L\trans & \bm R_{\bm Z\bm X}\\ \bm 0 & \bm R_{\bm X} \end{bmatrix} . \end{equation} In the \code{lme4} package the \code{"mer"} class is the representation of a mixed-effects model. Several slots in this class are matrices corresponding directly to the matrices in the preceding equations. The \code{A} slot contains the sparse matrix $\bm A(\bm\theta)$ and the \code{L} slot contains the sparse Cholesky factor, $\bm L(\bm\theta)$. The \code{RZX} and \code{RX} slots contain $\bm R_{\bm Z\bm X}(\bm\theta)$ and $\bm R_{\bm X}(\bm\theta)$, respectively, stored as dense matrices. It is not necessary to solve for $\tilde{\bm u}(\bm\theta)$ and $\widehat{\bm\beta}(\bm\theta)$ to evaluate the \emph{profiled} log-likelihood, which is the log-likelihood evaluated $\bm\theta$ and the conditional estimates of the other parameters, $\widehat{\bm\beta}(\bm\theta)$ and $\widehat{\sigma^2}(\bm\theta)$. All that is needed for evaluation of the profiled log-likelihood is the (penalized) residual sum of squares, $r^2$, from the penalized least squares problem (\ref{eq:PLS}) and the determinant $|\bm A\bm A\trans+\bm I|=|\bm L|^2$. Because $\bm L$ is triangular, its determinant is easily evaluated as the product of its diagonal elements. Furthermore, $|\bm L|^2 > 0$ because it is equal to $|\bm A\bm A\trans + \bm I|$, which is the determinant of a positive definite matrix. Thus $\log(|\bm L|^2)$ is both well-defined and easily calculated from $\bm L$. The profiled deviance (negative twice the profiled log-likelihood), as a function of $\bm\theta$ only ($\bm\beta$ and $\sigma^2$ at their conditional estimates), is \begin{equation} \label{eq:profiledDev} d(\bm\theta|\bm y)=\log(|\bm L|^2)+n\left(1+\log(r^2)+\frac{2\pi}{n}\right) \end{equation} The maximum likelihood estimates, $\widehat{\bm\theta}$, satisfy \begin{equation} \label{eq:thetamle} \widehat{\bm\theta}=\arg\min_{\bm\theta}d(\bm\theta|\bm y) \end{equation} Once the value of $\widehat{\bm\theta}$ has been determined, the mle of $\bm\beta$ is evaluated from (\ref{eq:PLSsol}) and the mle of $\sigma^2$ as $\widehat{\sigma^2}(\bm\theta)=r^2/n$. Note that nothing has been said about the form of the sparse model matrix, $\bm Z$, other than the fact that it is sparse. In contrast to other methods for linear mixed models, these results apply to models where $\bm Z$ is derived from crossed or partially crossed grouping factors, in addition to models with multiple, nested grouping factors. The system (\ref{eq:PLSsol}) is similar to Henderson's ``mixed-model equations'' (reference?). One important difference between (\ref{eq:PLSsol}) and Henderson's formulation is that Henderson represented his system of equations in terms of $\bm\Sigma^{-1}$ and, in important practical examples, $\bm\Sigma^{-1}$ does not exist at the parameter estimates. Also, Henderson assumed that equations like (\ref{eq:PLSsol}) would need to be solved explicitly and, as we have seen, only the decomposition of the system matrix is needed for evaluation of the profiled log-likelihood. The same is true of the profiled the logarithm of the REML criterion, which we define later. \section{The generalized least squares approach to linear mixed models} \label{sec:GLS} Another common approach to linear mixed models is to derive the marginal variance-covariance matrix of $\bm{\mathcal{Y}}$ as a function of $\bm\theta$ and use that to determine the conditional estimates, $\widehat{\bm\beta}(\bm\theta)$, as the solution of a generalized least squares (GLS) problem. In the notation of \S\ref{sec:Definition} the marginal mean of $\bm{\mathcal{Y}}$ is $\mathrm{E}[\bm{\mathcal{Y}}]=\bm X\bm\beta$ and the marginal variance-covariance matrix is \begin{equation} \label{eq:marginalvarcovY} \mathrm{Var}(\bm{\mathcal{Y}})=\sigma^2\left(\bm I_n+\bm Z\bm T\bm S\bm S\bm T\trans\bm Z\trans\right)=\sigma^2\left(\bm I_n+\bm A\trans\bm A\right) =\sigma^2\bm V(\bm\theta) , \end{equation} where $\bm V(\bm\theta)=\bm I_n+\bm A\trans\bm A$. The conditional estimates of $\bm\beta$ are often written as \begin{equation} \label{eq:condbeta} \widehat{\bm\beta}(\bm\theta)=\left(\bm X\trans\bm V^{-1}\bm X\right)^{-1}\bm X\trans\bm V^{-1}\bm y \end{equation} but, of course, this formula is not suitable for computation. The matrix $\bm V(\bm\theta)$ is a symmetric $n\times n$ positive definite matrix and hence has a Cholesky factor. However, this factor is $n\times n$, not $q\times q$, and $n$ is always larger than $q$ --- sometimes orders of magnitude larger. Blithely writing a formula in terms of $\bm V^{-1}$ when $\bm V$ is $n\times n$, and $n$ can be in the millions does not a computational formula make. \subsection{Relating the GLS approach to the Cholesky factor} \label{sec:GLStoL} We can use the fact that \begin{equation} \label{eq:Vinv} \bm V^{-1}(\bm\theta)=\left(\bm I_n+\bm A\trans\bm A\right)^{-1}= \bm I_n-\bm A\trans\left(\bm I_q+\bm A\bm A\trans\right)^{-1}\bm A \end{equation} to relate the GLS problem to the PLS problem. One way to establish (\ref{eq:Vinv}) is simply to show that the product \begin{multline*} (\bm I+\bm A\trans\bm A)\left(\bm I-\bm A\trans\left(\bm I+\bm A\bm A\trans\right)^{-1}\bm A\right)\\ \begin{aligned} =&\bm I+\bm A\trans\bm A-\bm A\trans\left(\bm I+\bm A\bm A\trans\right) \left(\bm I+\bm A\bm A\trans\right)^{-1}\bm A\\ =&\bm I+\bm A\trans\bm A-\bm A\trans\bm A\\ =&\bm I . \end{aligned} \end{multline*} Incorporating the permutation matrix $\bm P$ we have \begin{equation} \label{eq:PLA} \begin{aligned} \bm V^{-1}(\bm\theta)=&\bm I_n-\bm A\trans\bm P\trans\bm P\left(\bm I_q+\bm A\bm A\trans\right)^{-1}\bm P\trans\bm P\bm A\\ =&\bm I_n-\bm A\trans\bm P\trans(\bm L\bm L\trans)^{-1}\bm P\bm A\\ =&\bm I_n-\left(\bm L^{-1}\bm P\bm A\right)\trans\bm L^{-1}\bm P\bm A . \end{aligned} \end{equation} Even in this form we would not want to routinely evaluate $\bm V^{-1}$. However, (\ref{eq:PLA}) does allow us to simplify many common expressions. For example, the variance-covariance of the estimator $\widehat{\bm \beta}$, conditional on $\bm\theta$ and $\sigma$, can be expressed as \begin{equation} \label{eq:varcovbeta} \begin{aligned} \sigma^2\left(\bm X\trans\bm V^{-1}(\bm\theta)\bm X\right)^{-1} =&\sigma^2\left(\bm X\trans\bm X-\left(\bm L^{-1}\bm P\bm A\bm X\right)\trans\left(\bm L^{-1}\bm P\bm A\bm X\right)\right)^{-1}\\ =&\sigma^2\left(\bm X\trans\bm X-\bm R_{\bm Z\bm X}\trans\bm R_{\bm Z\bm X}\right)^{-1}\\ =&\sigma^2\left(\bm R_{\bm X}\trans\bm R_{\bm X}\right)^{-1} . \end{aligned} \end{equation} \section{Trace of the ``hat'' matrix} \label{sec:hatTrace} Another calculation that is of interest to some is the the trace of the ``hat'' matrix, which can be written as \begin{multline} \label{eq:hatTrace} \tr\left(\begin{bmatrix}\bm A\trans&\bm X\end{bmatrix} \left(\begin{bmatrix}\bm A\trans&\bm X\\\bm I&\bm0\end{bmatrix}\trans \begin{bmatrix}\bm A\trans&\bm X\\\bm I&\bm0\end{bmatrix}\right)^{-1} \begin{bmatrix}\bm A\\\bm X\trans\end{bmatrix}\right)\\ = \tr\left(\begin{bmatrix}\bm A\trans&\bm X\end{bmatrix} \left(\begin{bmatrix}\bm L&\bm0\\ \bm R_{\bm{ZX}}\trans&\bm R_{\bm X}\trans\end{bmatrix} \begin{bmatrix}\bm L\trans&\bm R_{\bm{ZX}}\\ \bm0&\bm R_{\bm X}\end{bmatrix}\right)^{-1} \begin{bmatrix}\bm A\\\bm X\trans\end{bmatrix}\right) \end{multline} \end{document} lme4/vignettes/lmer.Rnw0000644000176200001440000041427414634103061014564 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} %% huxtable-ish stuff %% \usepackage{adjustbox} %% \usepackage{threeparttable} %% \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, error = FALSE) knitr::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} 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} 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. <