Guerry/0000755000176200001440000000000014516023372011532 5ustar liggesusersGuerry/NAMESPACE0000644000176200001440000000013014053052354012741 0ustar liggesusers# all the rest is data # v 1.6: removed thinnedSpatialPoly #export(thinnedSpatialPoly)Guerry/demo/0000755000176200001440000000000014513000475012452 5ustar liggesusersGuerry/demo/guerry_density.R0000644000176200001440000000264414425214446015666 0ustar liggesusers#' --- #' title: Density plots of Guerry data #' --- library(dplyr) # A Grammar of Data Manipulation library(tidyr) # tidy methods library(ggplot2) # Create Elegant Data Visualisations Using the Grammar of Graphics library(scales) # Scale Functions for Visualization library(Guerry) # Maps, Data and Methods Related to Guerry (1833) "Moral Statistics of France" data("Guerry", package="Guerry") #' ## Convert to long format guerry_long <- Guerry |> filter(!is.na(Region)) |> select(dept:Suicides) |> pivot_longer(cols = Crime_pers:Suicides, names_to = "variable", values_to = "value") guerry_long #' ## density plot of each variable ggplot(data = guerry_long, aes(x=value, fill=TRUE)) + geom_density(alpha=0.2) + geom_rug() + facet_wrap(~variable, scales="free") + theme_bw(base_size = 14) + theme(legend.position = "none", axis.ticks.y=element_blank(), axis.text.y=element_blank()) #' ## by region col.region <- colors()[c(149, 254, 468, 552, 26)] # colors for region ggplot(data = guerry_long, aes(x=value, fill=Region)) + geom_density(alpha=0.2) + geom_rug() + facet_wrap(~variable, scales="free") + scale_fill_manual(values=col.region) + theme_bw(base_size = 14) + theme(legend.position = "bottom", axis.ticks.y=element_blank(), axis.text.y=element_blank()) Guerry/demo/guerry_mra.R0000644000176200001440000000132114425217565014762 0ustar liggesusers#' --- #' title: Predicting crime, multiple regression #' --- library(car) library(effects) #' ## Fit models predicting crime variables crime.mod1 <- lm(Crime_pers ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) crime.mod2 <- lm(Crime_prop ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) Anova(crime.mod1) Anova(crime.mod2) #' ## diagnostic plots op <- par(mfrow=c(2,2)) plot(crime.mod1) par(op) op <- par(mfrow=c(2,2)) plot(crime.mod2) par(op) #' ## Effect plots plot(predictorEffects(crime.mod1, ~ Region + Literacy + Infants + Suicides), lwd=2, main="") plot(predictorEffects(crime.mod2, ~ Region + Literacy + Infants + Suicides), lwd=2) Guerry/demo/guerry_manova.R0000644000176200001440000000522014426762677015500 0ustar liggesusers#' --- #' title: MANOVA, candisc models for Guerry data #' --- #' Load packages library(heplots) library(candisc, warn.conflicts = FALSE) library(car) library(Guerry) library(dplyr) #library(sp) data(Guerry, package="Guerry") #' ## extract pieces df <- data.frame(Guerry)[, 4:9] # the 6 variables dep.names <- data.frame(Guerry)[, 3] # departement names region.names <- data.frame(Guerry)[, 2] # region names col.region <- colors()[c(149, 254, 468, 552, 26)] # colors for region #' ## MANOVA: What variables predict crime? crime.mod <- lm(cbind(Crime_pers, Crime_prop) ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) Anova(crime.mod) #' ## bivariate confidence intervals for coefficients coefplot(crime.mod, fill = TRUE, fill.alpha = 0.1, level=0.68) coefplot(crime.mod, fill = TRUE, fill.alpha = 0.1, level=0.68, parm = 6:9) #' ## diagnostic plot for multivariate normality and outliers labels <- paste0(Guerry$dept,":", Guerry$Department) cqplot(crime.mod, id.n=4, labels=labels) heplot(crime.mod, fill=TRUE, fill.alpha=0.05, cex=1.4, cex.lab=1.3 ) #' ## Canonical discriminant analysis crime.can <- candisc(crime.mod) crime.can #plot(crime.can) heplot(crime.can, fill=TRUE, fill.alpha=0.1, var.col = "black", var.cex = 1.3, cex=1.4, cex.lab=1.3) #' ## Use ranks #' Guerry recognized the extreme skewness of some variables and so used ranks on these measures Guerry_ranks <- Guerry |> select(1:9) |> mutate( Crime_pers = dense_rank(Crime_pers), Crime_prop = dense_rank(Crime_prop), Literacy = dense_rank(Literacy), Donations = dense_rank(Donations), Infants = dense_rank(Infants), Suicides = dense_rank(Suicides) ) # Guerry_ranks <- Guerry |> # select(1:9) |> # mutate(across(Crime_pers:Suicides, dense_rank)) crime.modr <- lm(cbind(Crime_pers, Crime_prop) ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry_ranks) Anova(crime.modr) heplot(crime.modr, fill=TRUE, fill.alpha=0.05, cex=1.4, cex.lab=1.2 ) crime.canr <- candisc(crime.modr) crime.canr #plot(crime.can) heplot(crime.canr) #' ## What variables discriminate among Regions ? region.mod <- lm(cbind(Crime_pers, Crime_prop, Literacy, Donations, Infants, Suicides) ~ Region, data=Guerry) Anova(region.mod) heplot(region.mod, fill=TRUE, fill.alpha=0.1) pairs(region.mod, variables=1:3, fill=TRUE, fill.alpha=0.1) region.can <- candisc(region.mod) region.can plot(region.can) Guerry/demo/guerry_bivar.R0000644000176200001440000000507414425220641015304 0ustar liggesusers#' --- #' title: Bivariate data ellipses for crime rates vs. literacy #' --- #' library(Guerry) library(car) data(Guerry) set.seed(12315) with(Guerry,{ dataEllipse(Literacy, Crime_pers/1000, levels = 0.68, ylim = c(0,40000), xlim = c(0, 80), ylab="Pop. per crime against persons", xlab="Percent who can read & write", pch = 16, grid = FALSE, id = list(method="mahal", n = 8, labels=Department, location="avoid", cex=1.2), center.pch = 3, center.cex=5, cex.lab=1.5) dataEllipse(Literacy, Crime_pers/1000, levels = 0.95, add=TRUE, # ylim = c(0,40000), xlim = c(0, 80), lwd=2, lty="longdash", col="gray", center.pch = FALSE ) abline( lm(Crime_pers ~ Literacy), lwd=2) lines(loess.smooth(Literacy, Crime_pers), col="red", lwd=3) } ) with(Guerry,{ dataEllipse(Literacy, Crime_prop, levels = 0.68, ylim = c(0,20000), xlim = c(0, 80), ylab="Pop. per crime against poperty", xlab="Percent who can read & write", pch = 16, grid = FALSE, id = list(method="mahal", n = 8, labels=Department, location="avoid", cex=1.2), center.pch = 3, center.cex=5, cex.lab=1.5) dataEllipse(Literacy, Crime_prop, levels = 0.95, add=TRUE, ylim = c(0,40000), xlim = c(0, 80), lwd=2, lty="longdash", col="gray", center.pch = FALSE ) abline( lm(Crime_prop ~ Literacy), lwd=2) lines(loess.smooth(Literacy, Crime_prop), col="red", lwd=3) } ) # redo this as crimes per 100,000 persons Guerry$Crime_pers_rate <- 100000 / Guerry$Crime_pers set.seed(12315) with(Guerry,{ dataEllipse(Literacy, Crime_pers_rate, levels = 0.68, ylim = c(-5,45), xlim = c(-5, 80), ylab = "Crimes against persons / 100k pop", xlab="Percent who can read & write", pch = 16, grid = FALSE, id = list(method="mahal", n = 8, labels=Department, location="avoid", cex=1.2), center.pch = 3, center.cex=5, cex.lab=1.5) dataEllipse(Literacy, Crime_pers_rate, levels = 0.95, add=TRUE, ylim = c(-5,45), xlim = c(-5, 80), lwd=2, lty="longdash", col="gray", center.pch = FALSE ) abline( lm(Crime_pers_rate ~ Literacy), lwd=2) lines(loess.smooth(Literacy, Crime_pers_rate), col="red", lwd=3) } ) Guerry/demo/00Index0000644000176200001440000000037314513000475013607 0ustar liggesusersguerry_bivar Bivariate data ellipses for crime rates vs. literacy guerry_density Density plots of Guerry data guerry_manova MANOVA, candisc models for Guerry data guerry_mra Predicting crime, multiple regression Guerry/.Rinstignore0000644000176200001440000000006214053052354014032 0ustar liggesusersdoc/figs/.*[.]pdf$ doc/figs doc/figs/.*[.]png$ Guerry/data/0000755000176200001440000000000014347134633012450 5ustar liggesusersGuerry/data/gfrance85.RData0000644000176200001440000055624414117675226015172 0ustar liggesusers7zXZi"6!X])TW"nRʟF\ Xv +.DJwFkZ/oah.,d<ю2D%Мq+t)~ߖxl)8!|,a|clv :[Z;hvω7}\U5Gċ&6l@2mR,D`/!(Z1 ijbNNyM=!pR=GL`цt.XBLtz׈5A-@`gĥ,s/޿)ѹ"28huqu4+#հ>.Il:vǪK(ϝH]I5Vw7]%w]<3]$6'iWO[{ Bӱ+HқQ{&JFWzg}ʠW_6D;6s/#@xMn Idڹ6Q#~ pR2q?S(2R8ÉX'6jk'5ciWRv! ӑ#sMuy #VR$T 6g+?|藒s$\!Q)b^Y@~nȑhtKx2_/kI!HN齱b<^R Z }[YM*u t&?h9$b(6=V;nl:z(nԡy6GuFȔ?&Hh)}N6bM;7OhNgHh!iz^*IPl~VSMj t@75z?/h,wئMETI*Xߠ[F3h'-HFtEq|c.C4Tw IhqPI i3W;y& rط~'}N1 VSq4+?18ozfOihy+C (9648 vhP)лwOlHT]wR쑆#eTbGgO,>X&[u5T%sr&֕LOxW^[^lɍ݁0>{P1@fd;Glط+,8u_1}-rʎ (NԚJ*ڦ5rVjaJȵfc@0:ȉ#9E4c 1뙨!Nehf 9 Y@E:޵a7pwҍmyCr);Gl(?qd%mP/ 5Do_K1іmslN^ }B ;Y8S#S_`nO Fi/3@bs_s/L7Sn}Iyx.W(:yeTbe tX`e{*K߀Ghxݣr<ٷr@R̗RjmǬёN.62m{$Q~!F{S;Tǐ wn2 2RadU?$k,DǏ j>LF ޟ}A.kWן>ry%{/j'h.o,cIK[{PI&1J5DkJZ(#\h-A#Gt3xZӌw/4ܓʂۇjQ^2ezX2yN#BKJip[q3sct*YR}o8UMtW?8g?Vkˮu@Le\x69c;(O<1o!PXywfkmNi}6 WD;An7ݐH7+\x:7^lx+%5o* cQ3`NuHa1UY UNr E#M-XgINۂVD 'YЫ`Q#Tɪej4:G-gW|s E:wÊyo1_QjxXa>-3MUQQyli2?tQthAs%"_ Uh$-#K  Z1TP XŻ7'#Š~A,YvMp8a_ _OJg"i޼9∙-֪Zǔz~#{.N`3eyv --u'r f.+VfASchdPpVQGp 񒂔;v-ËEBgztaO|ck:^Ll DEՏʁGG pV9H=raA/ I)eI>o?ʏ ǤV\f3-9Z'.4Yy1 uE)³=.miH#~F5xh3ٳ$ K}2ڀݼe+(Mfk[ $-7{%S\*59b9W +\\dōXʓ $ؾ]^Tyz%oJ%"vhlCVyjU? 0;ٍG6'TC (xBo/ twmhqq=N | G~_w%.d%-/]{^ ?"M'"f(9˯'"/5l~{~SR!U1Д]` c@AB:)l]G$lv%#p랼*.PPv4Ϳ.CjH W~f1HҶ*D/G FֵsRmhJ 7%p*lR|84iԠTʠeGܶ j (Are;V+ܦ>Em}fƛmK7Z:(vq9KB<$A"i)ϬINa5W&0:i]2^Et`d*MU-ApJ|X.oirݲ* _~G$c[iBwD1\ f;P&eVӬ'>#@#% e0?>r {q1%Gʦws"o!נ:ݗ5fJ> <πDl?=9`DB1*_']UCG [R X>mSLe(6ӝhԓx7cp H:(Co#EUû1jXE$MDqp4(gŅq2 i>{e# u|,2髀2xu!39f'*re-¬F Fi0n9C6]#O& QUo "SMU6'`3#P!)n])l s5W\ӹX*xF1d6 ͘N۹c.',L٣)ǒOĶ `L]r ?ɓTmq}q̪Qkѹ\[u>>dGK; |'3A l+H?439t7٨W_N_?fccȁz&9]%I_XAN̳Ac5<R3.jꆪQR,{@Swߺ ~scyf}|z0b}E"f0*PD}hFrB1Vs;r?oWĎEcCAAxݟvӽ3KA>a"rrCB'r9GsI KD-AWl;( >>iZK uɎg7-$+}ZwSNqx<&]{GE}an.W^N)-q4ayr*G=pi|@fŖ:l.P^7V|ylj-bVOHG ⓁG9/.Y}%L}΁Soѡe<~Ak=ad1RbZ4 ph5u?(`'*!pg,[=W2.oXʲc 5ȖH"X-L:(zEk⿢kg$FDIf\͉Dq*gX1߳muGBGFx Խ  M ;|pU3QlɈvќՠqsʻjAwXO5y"hz%]ocB8=܊҅OR@a& +"meɗСh|Y#8=ЙHOT\1 <=`_ݓ "jS!QWGGKz#Y&CS ZU r{]}.ƾѵc;,HN;UȠ>F[kzfMKSw#l!-mht%l5#qi*֍8Y I4hvx3~hL_q<Z,Ơ:m9JS~_ZyЧ,MsQz!6 ~/YE-{v7t7[p[9hn'H#m,1/%-@%iqEXfk9<&Ulԏ V-A&%r p+2Y'd6t ȇI-RϢJ$XyEfK5pn< 9A%t_`:toNq˄DXYd.7q?Z&3́J$3G/T2L$Bwew\;ۆ]WQrH0mPVM4HlCB!T}Ga*TwFA-{/uU+Bl'L$/&_>)/wܷp:| *\r3cU׃ԧqה5u3,nwr)(: MnA2ّ:uy"ŕG{b0˚~i-`t(Ab 'NZ|&51.bTǵ)=^S}bnő0z(]䂝қHJ3Lz{TMojvy%B42WϬ#]S ^TW]|s]H3Pu.4gEk١J6ڮ6U x[qiJW\Fop^c|̶Yk_ȬD;Ϳ뀀;Cm*n\)֛1ٛ8E,HeԀzP1`y0e92b$^pH`ycKoE1`: ]!0Dt,鱋A*JG2 `$޸c5pB*@,\3!p;kZ1ȃ֞-'%]*bNw?jc!G,~)Qwf$N ö10/zEz2S ȁ*esG&d9AhqP! }g!eX^޻ |Ю}7dMEIimM7ҁwZ;0^,QDuya0|p}tɗ8Y3U폎AQ'_El+)<3#75OOPua > u"=k1hY% B]rYuBŷ=xo }A)4`F.sC ! n:`e]_?:QHbG>d_/Hu2=L>sѶ+5w{K=iɻڣ ~s- 11I@cɛJȏ||.D>ac1*hed3͆X" J>}=\X7eI`~UyKllrs$V |5ce hOwM7z̑ϮʺO|~@[=l.,PQa[q:fs-A%|8 M*9Z(E ?zA]auz{x~Nw[+.؎QVg=UlCb"*xO'kۊ hBp<˘lgWo%R\С1=N!}ܿ! !`zKdϩZ!h*$;ޙ;IAnh΅ ΞJŰd5neCzyv! nԪȇj\t1"eR[LɊИڅ(i%ӵx;͇[ʁ)n?=5| 8{qW|ʷ.jWw!B&i%!Rĭo23_ϩaV{ ':^%;yp(5 ?O@)f樣/_M '}ʼn]Mq=2OSsz9btp v Oi GU~oӯ#pq뒁@%YSܡ$FNo7NPaCPi&WO|!j|,58}eF,^ {@!)'oݑdCȆ̱|Cb)5fYKQvX>[ҿNc`E4 =aS:>^ a"x1cJIV%u, =3`zwZY'5B?|F.z. _=?!ΆOl!QWnG(%r;ST醚= re5~2{,AK^fJ)ȍ-c[,sRn^ ¼jn G:4EgLwɎ}'Fdk=T'EeOCO̐1!G&(Nl j:W t[a<|Է*  j7rsͮ%/E&ֲb1 *XiloY;b~\܅)qК-o6(\sP.S'`?UwWq>M/ z֬ 9\`t@G /x|V%%Oq>)4bSl-gUf>&7[5tP%#"xe:.td)VLN=#P,Cyf mȾt8J@1,m~D79O*}-N:>{ة:Ȃo#n[IEq=u>(Cի|Hu{wO0q117*Ma6l R]8)jv%SSKn&sJ! I lxf2J*.EDzuH\sR3@?8"_YDaM:juFRLo[wL d.T|{VHvT H.L NS]V%{y Zh*1D!¯vF;f?Ze/Jp9aS,0mfY}3S8wwLeg6 GٝhܢADXm< |o˻v*%7 qZ˥ϸ/+us;WVRُ#0@@\߷[rϥ~߫y,?8ڿROcaLx9S[5&SCFv,!\/ bi'iq9oR-ԓ+p( /z9rRq3wlX֐jw(W߻`EޢkShYHJQqU1m-K@&}bffO|GO~Dapؑp12D+c>-#͉`Vj,Ѝ}x%+^X *K͹Jey\.|G9*=u~ט%$($^PX;W%4IstgaE9,)A*Ui!ʣmB.zs#F`F15Dh(/f%j`eo|1A8V̑(%"`1 UIxL3֞tD'L_C*Q%6]"nK4B' pe:B' $p--+#=Qd躿Hƞ sZӟ־g>qZOsdmDXF˹o *Q$٩[b@y4!|6ƷPY =MU$]ޞ`-HTtYw4 jIOt܈$> w#r`CT#Z-(mQ}b(MxP/0~);a%G| l(e=8ޯn&-e$^tG m_K_Y8NMAFVm+LHC Vs%"P9VJѝ|:@ TY8I-zcC[Aw U) >r0v\. xsKz6rF}# B+zԏոuX~\ 8Lw* sJ bOݩ7QMUHXj;#M@r*Mr]i WM+SLU..sj1[}U4PdRVϹܣJ`sϬ6%iObQ^ aσct8BQ )9h|q\iPG(-ͼ,1Afc글>cT`48 E3Gw-GP^'H@\,@͕=x5͢f(ԭV<暵 ;S& W'D6:ѥ@1LQ^axFm,qF No45ֿ(q8fb Flla4HF1FmD@G^=aMPեy0C>E- wu\g`)GCcpR e=Ƭ5KͲ|L+!qԈJz0P%F&j %65i@`]LBp jE2o!9y jǍL,qK :9]S7bzE0'ZQMNDwEB^e)TiWP: OҥJ-^uin=I. /! 0:NUhVI׮C w\yG@ ikPEKM@ u{"0mj Eg0XX?Z,bT³0n}_2 _,.8ⅲ0~!*1u;ې?DjRiRW'Ċ0=yhq vQ1Fz^hGw.mn A eʘNGnhgCB~t{B:K%3d9v,Vg XdB6}8?A͠Ј1fߪS u2@)Nh]K+T/(G"(57T>zulE@Bi)JQ2Uq,Rh2 ;X,|Q)X=sNh!4kv1@Q0b0R],YZ +N ]VbCXZ+}B``2>wHҽ ]@xQKcΕI|m[p݁LdFI̝]9rbsPBF/k-ӺN(wJ-Ucͬ8a,q.I 9.4o(gC.,6m>o{/Jo2y+$|3=KrsߺC}& ;VMd||(mD:hn HL~̬>)9=dhG'3P'ʜE:xΑ Ԋe]Ud0o%I&5s1j۟bGan|؁`-?67>r؃u,%ǧ:KJ2(!UFd~ ZffO'E D}CMumE!9EY3&Rz3D])thu.1CKtY^K>yML+_^;ͅw\穜t?lsD/!a\[M DoTS|Ptܽdzo5L/ַл ?aW^ |*ܮ35ʬR˵Ӂ`wk&, RQky:E ᐋ69x&Z"D&T~OrǤ&dd˜cn]xW7-9T,f&> ` uٮ՟fo#/5hk@*r#_::W@i'w'ol䭗Ja~h]-JkuM/#LStuQP$l- sr|#b k?1hi,6VP|G%b@D`}e"b^o->TJad.UF}?TqeVOPWz$ot+L "Vzs1R{ʋΔ܁f i?葇W7R1,H) UPPB&WP`zu%DzceɑШykty5QAzy}GzYFHŤmm@pXD[g3X7:Ї33\˔n\B<|juvS#x_N1=܂bp04gu^~,Q!< K^av$Do~pMClؗ@ח3Z @F0ZQBFO'AI)ggVh- .]-Xhpg>ց%Xꡝ[^cZFA=;Z=aipɡP|biwMXXqIp@'BZzIcd::5YT1Y:{'fcg/4q`hp$f|H]Նi/C28jU9&JELS%G90;C cm.~X :AN䜴ea/D{7񗱲7t926mhsjKFV<8C)K2^|YR]Q?V`.h25kJ( 155PlG2sa@ʬlE>xH5M,0<fٵ3˩T_̀۵ ƨHjPdE.Bjdt6!ҥ=d}8E6Eo6a_YYl?bS#D|Z!nOs~u꯭;{bo*z֊(,ǹ9vA^gB7S`tg42u[WY{ј.mQgAIԚVl09Ix9ǩFM.y2-9N&G >K:u6UjG!,@BwD=8=/ s?-kHVӿv ٸ.R _+޶$ n icOڶ56C /ect3m#eΥݡ6"r69Y|Yt@V-ټϵ| 7$Pd1vN2SlldQo% זqˊ'td5v$xCReuxXЄB3vѾu|҅ͺ{Tޕ^2+Bg*'NfbrNtm"m Hsw궊L^H;j>G3k~_Yv$`|L_h'Gfr\>&);;%G*36O=!CoҴXxAu%s$2 !\E 2xTJ<d{K -V`괉ɉ/SeJ.X^ٯfTK QYc u X `4&͓UD%X/<M6JV~Ȧ?m+977$~y(Ieõn0:IGD9#GJy/\q~GUTzLɩ|n܏Ĭu͞CXZSaQht Qkt3w!i`6h5ߤ]j/E ?>5ihIiՑλ0MAnl|($\gSSs1~ 1;±Ь.``OHS .>#K{q3dn4ߎ&az̃`NCFhh?K7 Q ھ^ߦ5#;\gi*ntg,p3"_}d#ډE]pU3V=R"glF/GR?3s-M F5߻ѕ؀qi@]T%WjVZ>rDI=KlLfC3?oX8@'@[> g'=mv3WcHxW?i9n~/Uwg驰_ G5ڍci{Vou1Ku[;Ҽ' ,kLx\t(`)(ymʡ͂>X#Śax@p" {ڗRl E_h]:L(cy 6ZSH-aF4|4u)'뢯&S:#"hD(1]֝A5ư ,/vA`z_T5,-:8W1{ 맞[o$?=KMg!O!F$Ϊ$ vKːB,">i!)nӢ V/}=ڇ&zѕh )Dv`3$?F>Ŷe|Hp?GRRȺc5ĈЏb1 XN)e[ w#N*01%1'Z4%9B͟FWQϠ2\lg,T (Шjrbi*g0L _Vװ.I *piK%y `H~Z͇:V'6˟V=5' QnH#E& ٓ<>uUOVv,ڎ W!yVEx#Q_Ū墢.^@م->$j5", )˜]c"W,͑{xI n'VȝxK®f "Xkz٩]"Xy.$:F5+lLi830&0Mho킗  uӔd/#j$)H hܠkdI\+ \BA3u9 M)75 Hn>IYIA/wT uw蝙.(;}t*/Mc$9pvQ ",۶%^LxJi߸G 'Yv8PK׍&[VڰгuI:x]OhQ3`bu 屺&3+TJQd5-ݕ71aEtbܤժX~`X~"ҶzJ46{6G92oy7Wν PK*$;q..T}R|դ>wx|hF!QȬBdoI ܀rmR2=i1ŻYi nP8uU3G8:\#Y\mb&S3<\ڧۏ;rElu*R/bkG]N׸T+Kb&:M;F~q87w[]OHr@]N&s!=^v A4U2 ΢LMp (]&C +(kv»=pbns0&{+g^ѳUX5/) TG~hqDP0C:O5b&/0E\stubgt,Ӈ..qP&AQoF0xg%3ϑ[}; Wf\f.:Tއ#Zdn"-v dqG~W@GlVa[@RG!/r[¨#U8js=D nu bWIo;fh'.+6yh-^μ' 6G Y)1:-.#S0yjdƳLяDVˢzcZMK`/LEC[{d޼IҀP1͡2QR;Ip%EilV. raid^|H|qW' R=kn?q4@'eѰwi̴~6:j>VbH?QS5Wsz L6F}+g#Y Fypxz]0Iև_Ugakj԰{|n%5iEnt[ A+- ܚe:x{;?bOeUAX0#Gp-@0 jخF6W5az&]A!ĒH²0ƪ 3%Ȳ3Xfp(E3~N%]V6#x+t* x4U)Nqq\>GSlfoEӷpƾ?ٵvl-D9|zjT؆̊_֥)do3.)ڕpl :+:&|GYZ.'HF[ہRt}?3̣A9Ёұ57k 2Yps2I_l.\1Xm2sApI1yR"S] #ZBODiT~\C[K»V;pҽޚ^:Jx%h!@.pqEp&ȈmC'Vx+vp%dUyY%f1nI Pp?SNàav藲nf>wkE~AA/UU"KHW*5c&ZG~U;~o[z% 4U.&JjimtI]T6^KYy"NMX5']еϳS0g64{J(A63T7up9P95en^6o[.oBVzh #v,SЕ'L^׭+XĄ[?HFTbE&D},͵+LMjnl0F`#>Z_2ICwݢ"6{ bUݎ_}7zo K/쾛~&rCa)XD6ՠc :TU@â]B$|#7; ^}4T0]0%a2IuL׵CWh+* ?h= iU:Dk%"3r8_gqrI9 oL1S k瞾sɄN$g4"i6ÝE9fevE|(@LdKꕈ1bJ&.lхQ1rɀD@;IZW\4-{H.sݎݠMv*W],Ly7C95 2d`Oώ:i<8TAzK2F\NjQf&SY-$g@L:mI)0] &WX3eKF]SY~  9Ϝ@灺DDZS{S?u!DdFpLcnQ Hxf9o y'Q)kd,gF/}ֺ¸(%,ZC+iZ_HԾW}W]1/Fn*jLv,5E6KW~~[vlXH)lM۵כZWyHFͼ/ k1(+Cn NO#HB)d:g$#%U]p`U:[#7_cBZ,j}`Lff:_R0oA互ZV (+w<I!?;BwGHnƆ/<9q[?]mIߏӽ>}]oJ/<z) ^cfX9J*h_}'Qܲ39S^c}DES ޚ7e`C87]BOY/#_ރPg ~&VXMXai#9)X=N:s/v=+jmgkF{~fg@ta BCVWc2?5WA ̠P a,ơ߷)F9AmlY+Dn.]DyCP.iDYLek0u'yiZRS_B2 6+yitͩx|af+q0૓F;SQGN:bu.=̕KRbs"S1O0%' &ґ 7$?9LJ ȡ39wP Edv,"Wj>~fҔ'gAZ@dt @aUhvcvpSnj KgN෈-P䦒<hl^ٚ#C'N+9P\9NxL ؉h7/ oSVc1o":}GM(8\%e9)ZA͘YjW)ǝ\&C4.7w5GŒ%啫S®uۂfEOױY5Uo4(`Gj<*r+4@S{ê9i1#XW|١WI :j?bPAYIPuejoX~Ĺ޽]`/JVԅZ@v׊Ň&vēAl {f /_Pزu_ZZcg` د {/OWh gKXc :މ^&+kzӨ;'SS/@'/?ǑU2|& -9"?i@lL@NT n ]؇pJ(W_v/Iym*h>Jͦ\c7e _C(&\AE)A}Uˑu$F'$a`[p^Yt1WfVM͓^nҊlS[vuF\tՋlcÈBUN$PةgI'ݧtUѷh序-Yӱ8&kc2(ك'5X'R0 qog TT%I[(c1W.ME#4$]}晄 ħ26)8P{t>#1s$_ ηoN Z)ޑߑV)Ȑ[TFP̏7S Q2|n*4aHt ׊sx,^=ߥ.--Q2G羗%}N4=6R*dw0Ѡ%q.ĢxA'zOoWNud1Js@ڤ5S갩Eޚ?ّ\m%, ugΗ㍹Oe"BRKVb, GlߟþVa=kb  J7$m3bd?t ˴=rl&H-Y)|uݻKZQ]9J@<^MWqMaV^Z~`cu~З=U^ݸgIIV\Bt}nХDT^H}80Ñʽގ pyN"7ֹl'=O_j+Kgo{ǔdc}UXZ&FGC2Bx]~_JxZ1Љ-Lleav˯*'K%Ä ъRm~@zó$F@rFS݁9>&= ^֙"r{rc5qƂi4fS34_3 t5hu6O@DZV~ w?V8ה!J=ū];p֕a̅W+qjd-T8+}:S_rE>mIHֵ@:9M$ ao2 G2d.`Ro&x?XTv1ZAݻO7ch QlWY6 ?O%9R8O.SFa/nhyQV` NOMG.zJIF}H솳XeAb`ddEby7'E&rEjFgUPM0&'h%&9XX~+oGտ3Ź`\d5p0?xFg[7Լ1B$ˋ)4n0-IB$>w-E3G[:I}̜0 p|IrW wDgrDE>^^?/*#~h>%&=Htf#W%L3y*o|.0rAc5Rq?]Ù%oQ&h8j 4zM52arTa-HEaNȢʏ63W:` Ty64,bǻz=Eŋ/"PFl0\ˆYy9H} |ss܎#yŞ"DI[Wnrq[E%izRZTŔIY-ˎQ(-;7UiT9hJX.qQъWtBEm0w]˛#b*39%lwޮ'kX33° o3ùrSN Fs%QHvDT<9$f5IV 97(Z2G,0`p/CǨJ׶ i,;У: AqSw݁/H>E6#}zOCzm}\խ!Vԓ5s&5K~ գoJ |.rrRPb^+;SCtlM+_rIYql-g5^s"H2YϔTj/HbV&y҈· ᠻ<]>PR!ø1n6u` DFΈa }{ko 1E}V0O\-̈/=-<Ծ=_2Ts=SϟXKU*zÇ7Kq mkxwzP ?|h8mFT}aچ=Zx5W! Fd"xZ23O7ctPR b C#>ݳnp9,F\* pUM`EËɧA3>,g3]{amVٴCi\a@IB-ʧ18c/q$OЯ.Ĩs_c)Z =@/ p iUcus~(/a]iL`<" b[e/=^1}lA9\1 g.z@6jC.66:oL& QgկHU*%92g^$]TAbRӾޘ9F5 P0B,R$kgo3~TIZa}"8o-Őp ϹO[, ^Q$p|<\A (Cs( F9_K8iR=S5dCYU1qx~,q{邻u}naG^!ϡo.}:CgN_AH2+35fھd_QUӆ䯨F?pBNDbDI"a6Q zqArCy_v= :\-z [M"U@0}R,pUxU!Pe] 鋒 K'oZldUjy^w*>_/a egҼ B^eXzXHbڰBK>^9)"2][L㯸BQ4A6$jff)YŒӨtߕ\Pi, ?>3GT<~u]u@i7c{8h3!" _*_Ol-# 5wא$ gc:gB,PI}F3 (rLEߧ=r *^QK`g8x0'$>ב׿c02'E13D>[)ץԠPM"Pzǽ\1jI 74:`c O,Gj d3QOӫ)OY=" c*ïT\.y~,lb_ODyB.RB~Ɠ );E^S2l]"s5)k4w XƊG ί嚮@NQ~^lQvf۰wWSxlEB:wqB4}~wkÔ&Cû ɞ8k+xgI %d\ yJb61CAْ᱾z'Q  T15]BECEpkPƧϘF O-4bCg0Z:jA>ҙ{+ ~ľ~*RL/w43Omg^7QØRX8; }Kǧ5`I57'߱ܣfcHQ@2|D_4{M:o(n\t']e"YTʁbdn<G$Z3e6 ,ɳŏj~Ϭ0<cf( T ?1)o(XR=UиEu#G7@dSd[T\w{M*V. bq:b=උ8/Z|sŗD9?) DF{{6AX2v)%DK-55a>,o%A0 !CD.JG鈍Z)nB{c=xcca.`u[zT[EY { 2by䧥b^I F;1<gҮE2oSNm3WQ"ks/N3+'YH;g)f p9*v@a!x9SBxK6tK 󟑄T4F~ EeЩ%N"$uМ ~X `Y관Ÿ@b n` R*s[;Ŀ^jYm=BpcjK)2em`~:`479N4 _P7>UaHK (0>"4{+GP3_MΫ/o0Q즏=6\Nc&qEt5P ,;SCe2INRMs&ϱ^s_I7hס]w6 5"#5#Q⟑`AݳzJz (i1&Gg?UY끎?oH:KC^dd_pL@@<#hwĕd?@Fׯ/:RR-fpwD6R>ҹ~;?- N֗ agN!\=9D-1%YlVaVT!,T"&0 /%J?JNy$mRz* ^c+}]Vn{^:b-b)E5-9M_nhɵD$躋AU<8^a҆dvZLOETH"= X!RӾrB)\]vP(!U(Ttm&Dr{&N$u 2j+tkxNvߧɆ;Qo H~&L87R~Wj4UICCtk%Ei4Lb@k5w(n2WSU_R%\%/@5xj5Kd jfG"r [+ o3avrs@ Ty%nJ,[R sS> d;uJ1A+ZCV|kӛrB+%ܟ.-y;RMPl6c'П"H9vP= K u(^[x<~-(rf! uny}@B#IiǗ,o- vp4h ̃eZDm?LuKxA z l0,ˆHM{v;p5|2aiR.i=9L Ak[MD۽> HFh,RvZe5qRk3 YW`{ZPo̡C9^CPm?ZlW.2կN֦Mr!S:b;,sTqpLr,5YмߊV4h#x՚Ó~*F]ר_Vژ\BhS=.YSk= >-G%mYvnjD+\O/"WTj'[_ɬx(U>Mvŗdd#bGS<(uV<-o3RA2y#R`emLRW @墢-Mrctd?Oٸ(iܺ4@RC>Ddis UG }YgqrK֒Hm_%C`|OC`,YL~tP"_f^cdouDڞ"k1#iJQz|݄Zmq>Z9quYK&4~<`kX!ۯ/&=ʧGgx[WZ~GiVy]9fh<"d$K( Ok'M ]F?щ+9 s3b_)OB>(V|BǓ6ۮp ah "[}o-WuBti1g[y$mpC$u:$pjKLb"`\ɯN :h}6o1iDH,@~Hu:Z5NU1 0lPEN (_`uv6 cU/Y(cīH\ i0o|[=ċQ/=]ЬN&y+VKf9PڼDR%6CC 5_J6[~q3ޕn5 _eiVd^FP].]D gip"Gu#KMKLqYy A-  b'hPM±O":%dLw*>HpeCW9_ n4ZH#t2ܶ`K=PoSCA^*і {f̾/H |ea=[RSԀiu?9r#PCpzi:X LVI#_ jLԊ5.XZD Y#7sRF!BNM(xC4CN/}=a [Md+^})g@ U:F^̟[\I_Ra%㘝$HeU h 뾤hfh _.=ҬByG䘕WT6[Ni.Diԍb_x!3z89@j yb"|sKFjȰ/z;eSmVF 3kRB @⸮}}fSBpY*I2`OL5~ {B7䀾g j1e]G7jJLN[ᖛK|׾FỪLT5zx͂P[̊K%UAr^ImF<'NP\=3 %IeJ}pj=K(}pD,UdBoBY|ɆF/FX^☧A1FPiŔ\79fYtз9gE#^}6lor]uKz߈$2iaԚ@8CYD.G ZZP~p]SćJ/ Dj)C#tLU|^l-BO\ay:f{ Š'6E$s@ty/!Ob6n~ȟu?eИ^"lX]駁Zg ,v=w|:}>)Šj~:f١086*rmGҝVEf)0nT֦dVW[QJF<@8J~BXXpeϦHY?ȨxN(lxzkhÂ{]UWBӢ5( !n ZHQ gC8fs4d5Q;}:S5XCD/TOC:(Tܺ!_V}"R/ИX>LOo|JVhN^T7dpaV% eNEHda!(8B2o{2ȁ;-HOs6qY ~N%飪C\MoDȆux`7IYw'Lic"l6\rUzejsn>TfQ¥"wr*\=DRn+Uo'> csrSMNIԈvj6xlGb<!y)ذQ74> HBbJVvS G?0hLeZ Yak+9_"5z(l7BI8E 1306 ]>>W]#0%ƛOf>@S`^r;$KX\)q ! J(F&׿t;89SsK(3[t@݋7 ՙ1\0=ƗĬDf䘵>mv CR/&~i,*a!d{!qoᅪqp+;IU]u2Iq5Kל²SvrC~cit,#D8tJk'O E qduO'my#<Z,NPNb;asyrАGaQ:VͰ> L [ÙS{R "H;ݓx8QY7* l@*IA~PR5NYu*- ?v e#nRjK~-afEFYl3٬>vS(j ]+zͳVAzM'Qvj];_wg%>&;gri@kT|C7Iu0؍1\p/x&-]%iWww61$3`_xJ[&q/Ų[RT+ށq+neɅKpW0)sUk9؄JtΆ*V3ȿZ{Dc/MY)j-cms('7A {{< d?fdSX׃S" bZG֒DduriX_,J=1{LZUnuЕZ~FѠ=;#BþKB2-tMRXlm;MWHzӘ Ν)l Z' y!ט 5`?q)CmA}[JzZ Iwb[RxA־w֑22-#{*~EX*io^} 5h_Gq}l '=5֑+v SE-L=>w*;4>},"6AW3Iշep,9q8Af 5(1dj0J3ݴjp_VQ bS2e20[H{|*URw!m5 "^STNjܦ͌05K9@ gO(,P()S(a#o*jo |辌A}A7_%[O|+4)^$F69SL2˞^6$8ߢ5 ֚e aKiQ֣o$ʣ"KƹHfwIQ53>Isid?<8/˸k$ے=@M i-2weq{88#"+iww˺u O2zyT_wd# .HWdRVvl#o\c@#8j7km[eTXW'Au:֣F9n`$hmyiiK糵] jq)1Y u r"RٌLLť茁פ4ˆ1rե[SNosXpU/PP,CiS_kO}f9 )TJV57L,\RU_+\vx(_,f:OQ&1/mYRn }zVZT DR$7:Bmj%fqI-R>;/Rz)dҕ`ѶwODR$bsn |A<*`Au= W>^LW({F j/rcgbm /1Dm9 㭿9\_o:Xe9.)y%6ݽC|XE ¯vsBs!Eÿg~7Tmy(rm!Q+ce֐η5]304NnU4ЦPQf=ۈ/VO9oGV`XצrNF\wqZP@G0R]|j$n!Wq!sH"vj]|W&vCĕC 8 (g67qǷSzsBL@BJgFƔ)O~\Q}l,y7'Gmn"}^/5ךS٦W 3p?ȑڪ!ꠕ WIt:{JAFԗuMduښ袩uCEg< Dz,؆ץ|іIy6P \ɗF#Bd{ŐbqPܢJxXK%r]Ոb%c/E~1K*^OOs,S 0L'7+f를a-y%qoKY5Yݙ퓈^xy-1CEe2|ڦtn=Pw ([w,gSmLN[@4wdx xE]衊-R׸F2lV^E%f\][:}Q}$8I`8am?6uʣ *K,oa4]6\<ƅO+ !c`}ՊKa6x Sn"Pe´B5ru<'Cjԏx_K:osJD?,cT[֑jx..L-g+ml2]GN9²?[7t=XӶıǟ-}~<8D.J@O t l}7#I9=Qn 7𴜟i IzEƜa7hJHݳysT.> ]M./\ګ39ϳܹjۅcxZ2Op/r jңca,r aն*Ʃts:z`gK M,/$ўbq0{Dk˛'GGJLCe*𜔓wA݈K_aLGQ `T 2NFT\H6#Wt^yxEFTуenИA$5dd۶B7C̳zYS/V@_Y8Crl&Bg6TUB8 VKل5V|AdfZW6U@KWE2↲t%^ ؛)HHb?L)~b|[Y6+TRQm u}5_1LN2d%MvOM͸ Bbw1 iVJYc6Z(^}'TF\yb˿R6)lZ֋Lafh~^[ (͆F\5D>mЄl@F$ HpFC. GfWDh{gf#3hqd}!<)9?pJ$R>z47Pn<@y&i :w۠[bCbI; 2g97u\ugԮS_hhw[ OnnvVu\MχM;?HX{iϠ]'N9 Xr9 `ė+\CE[1\:RϝV.!˼!rXETZbll_ G!C2| 5v4񯂢Ʋ#DWh+QU)hg t*dguX WeW$qD` L}S\\7p*,5 $?] IV'd1 aؔ8nfPpIjʵӪFWL _*?;E&[U 1N6pn|ҨW=ۛ>_fK" " RcM,"ꓷgU ҩ6 իHy`"6نҷkB Rp<[d1A ZvR_OoG .ـ\4TcbyQ\og?ҋ :qM PP⑫LS*y{"d^HȍQGq^壅eܯX mO]7Hk9ڭt/rEM(2,Ҍfx7,Z豦QR(rTYR*T"+_ ֽg=JZJ4f!(LdPȍH%n?(J&-pkL(iAwc׹[P-E22nd¯e_>Ѹ%mgOz4vb?H֢ys~0nDOϧ,`mS4"k9j\g)]P8l. )@EV2%(F&W,̜튠REtZ#L@la]}m<Vxxu`Oru@Wv6"* -pPkd՞CI?; +uVQ+B;t WX{6g{:@곸<840G?QlȮ(|GF6LPmj1GȆe/'-]GnoWq;Yve2Z*?A-iZĠhoaHOf,2n3U܅3UTc5J櫵efCOp̃a-EӉm6;i uS7(QJC2YtgK3yv /,-6RQ-LL_ݟ}) `JmkQF^P{}RcQGNCN-Ibݲ/5dKv&eG%wAUr;)ǸgU.ލ^OoAL*-'#[bGW5i RS.o`0aZ2 V,Qu=yv oDU݂Pk.A V)(k"_{,}sd,!f:2ɴΜ=4a g1Ii lg9-M9gVpB kD B/<e}.71، "s3) 8>ӂ{fFckO!8ǙNO+gVXAxUs݇4IaKFe Rq>j)AA;\LƒݔHڳ,Ey k1=3 IT y{5w<q}gI5^wԪL7hFK?)J6{1Tݸwbцe Pp,@a}\l #ru2FyV[.ȶXbLDPǡUf]2V+E$sb͎tvj$Mbil4;6i9_]g40a. ! 8RUMp^Ғ{ aăjԤ6JY,sJƓls4֮swGM /x:;iʖs;!Ah.+KⳡhȱJ^ ؖˬpTHA`4wAoFvM߂$nQ2dZMb"\tW2^f$Wi83lB"Ӹ]0rʼJ!B8Mj+C賒Ryh/ 47ni}ʙgi%5;aj݊wG*@eţGWwV+Pn4twLWe5/^#˲VCz-xr寨,ҿۉRoM{C͚_*X LvqXd,X]m[C{[h@^Q `/7,O$dyo ЄY:I7;_yS .ja߽fVC?3DSN`cCGwQK{a1Hƽ8ƒ/8G->wdh(xGXKfcֽv} V~IÔՉwi1%ymK$7.cAe9wdp+4E|;%Ƥ.iV!gE4WC4mXgGR- ZKf f)fh^@=n}nڼO۰ Ob4H {q;5 墟ޞQ(\З)Gz*vphm|Kc|8PANT T¡p]nV*,pvecחktV$m5,1E`S~_To7yඔNX`FtuN{MYS/3_%QZ (s6avPCIq"oT]dY[~:cԇemmc~Cvi$u9 )O3z#.Vm97 F,=&xީ"y?PEA.Ww_?/gȋYo@|zcn/+3(\-OF%Vz#;\9 N6 2=^-Vl6==1a 07\RSt >vA=DI7O(o${ ? 0D̽0ڂbi68{_G!4 Pⵉ^Kd9 35̭\'A 7'%&l.jCF|UG(}PT N  ˛O5QQwTD(̰cS~P詮wLb=#adi>k8f&Axˁw"qC,e? v@-/e=0}ШYjYiPCZZThQUϰѝ DZ`{6_AݐǚSiAK&9WN}Pı=LZ)+¼W `{,DZaW;yQٛ$"Jc-r Fvu&;Uo 7>@ īJpJ Zw9ȁ5{1yI Q1ݽ[KF͠@}Bchm "JpOg !.L fplܞw1Oۣ-0[yaW%q 1m+.NDs+NHаA,+C;^7"n)ғ= īS''u.πvrkoy1YJ{(TsN(I}<ܓ`4,be}Ŏ zZBqe8UXyV?Fԙp.?yϝ6G2/@M1Q]9ʋO[j~^ ˋ7F ۡgcb:"% Y)@zqL xsNdxDcP=X%Vf LDrvoj𭞙6xlk?8]y"&N]4n3q<~j00FΚ>l|-U=tN !-\jhMc%/,H-wm-«5 ~?;b, dTS)ې,[=KXR#|7)2F0ShX~hȝBbxS]ܫC^6a;!݉a!:@ mAlʩzn_5jq؈V%py X?^EЫ gU}[Ay.Á7@$WȄ:{#6lvp2?|q4unN Z;p-!܅Q[l 4rhpš'r-k'|~er<']& *^NmvˤM҃6EwǛftS'K4/bה;B=q WT: > =Vc/C;:PUogKAѳQޓ/Eވy&4cú|cX9"hbLlՒ6w9hÔa'"5V1Dwc-qDVz 8AS~kKrlH"Oڍo#!7V/.:y 2ux)bJ)_ ir:aAqj0nc/2`: I(AjT߉6e#( ++3XCA_%!A5+1Ve:pcw>}1 ʢɽMDUN j"Xr'AmӨD|mR z0at}N Z[T9qޞ'H<^X!(;oɥ` \J`1#'!< WgRӥ:X)4hvV3L/m Д}|ŏ DeLإz"?1*y'z:PG_E]tB}N% L<78N F˯NFGj}Oǁ ` q,1RDZve.XmjKJO(B!,]_Zb6߫I\Zp'KH YoD߽A/%0u| 8іE.EvHg]BOt@4zPw(9tp\?b*r\D3McI.o&{!?v~ϲQ͕$a_wYl8xr| Jy?q/NNh-ũ13\,AŢ p"ė]/EA}^q8o> %K=:x4V޽ 桵_(p'a3^֚aAPKݣnWm5 Y(WXtE$k ?(6ׇNgb[g ngg4ڏ2]46?[~q@B|j9Ti(cfJj5N<ۜ\\h]*Thiˌ/ SDJTl4ŖTp8G >aoTN  40ZR4W%}J8E _*gmT[C ƿa$,&PQv=s/lY/p8YkspJ b'PZEf;wW0tp]|wm.V2^_z @;{XcgvX,kDՏHkG3\˾=4Ϥm*YE!;~N@n+Q7Vz 'OH58xRD%j6`ZEg'+y{Fط%Wⰲ!I"Yۏ0iULwpǾi(AWߠCsD 0L8]Vg-a"G&~= ( Vx05/:Špy4%a^A;:xo^;w~llYZpqV=`vbDjp3 ꝓ^ix2 s O<=gZ"?FEeT= c<GWS7EzILT N(lU4Xa3A;K,^נ5j̲5!_F>lҊ ?+_`hQP`޹+}$.jfvp#y7eK\ӏRunC@R 4I?=sB'#UqLZ0Q3fd"1o3VcpbgJvszVkG.NX'Oa$`ԟt@|ષI"K+Ƀ@к*.Tw z '6f,zELIuϾop{GocO0fWx&aRȴzKV/X_z\@TG >b}+w):zOWu0 3'XeQ۔'b8A"ndnbv m֘l9Y&:я*+h'tAv:oQG60wӡyJ49_Egd|1L~y>͑u7maC}ʞűeybjOZ'93vy10߹6z?>`D} 2/Rls|P= ovK6P>@I_ #;6A伅#f{BUƦ&x|`;79g8ne(8NOiqo <:xYFu!o%#yHeUw k+> -+V6^}[oIS2{w;}3^kyPɾ /B `߸{y%jo t88ѻPc.b[uN>OROV3 kw9G?2K||]Z.ia~9}ߢ'56L!{@KmFD!PX8mD5ẇ0+Rp` ;5|hV?b^+ L9e9rYE=8n%1|~~I}"y?#D4"J-0w\t=fPVnj ɞ׊"r v=csPrzbiY!2@" }:h'gy#Q7i3]{D*XЯ[\3{;^WZmʁw$LVDRм!({Qzumx³1-d_iWBT'S՞bH;}> ~/ϋE4%L}aP GTlP}}/ti"miB\ c^`,͐=}`Tio&!l2|TavG=J:yU!!zQRjRS+(%X,PVudv~V#Ҫ? tE-p0z޶XdEPg-?8>`1;`.G GPt5=ZȾtjY&ckf' ΂n!(q֫?UT퇗NWwZGU8.&V +n|T1ᮃi_`wN:D.D!kWyE/FKv*,Jm#=f4Sev!tTqM;).{i5|l& B; u3}*.߶ǐ@c y/ 3ji#G.CnV22$/aR>{L!a-9ASˈ;kq-NU$1KSo%}=xWxH6O@2i H#~ |HGdl_UJ<tplg1;1md?р$I\ WXBi\ȴҪPBiӒnd*,KuIBh7J7`.Lm\J d`FgƄ!+q}|PJ9{Ņr~iuTeST*z d9«3_roTg18?&fV"n+*uS>sxv*y`Gg(M8҄@96r+E"Rע!Vv! a,) ɇlxqE!@v&Srjڟ` $Vh{? ThBSiQqe7sB]$zxHbן @|>!7Z A:|XrBh! vI$tvvnv1+OtD^=}v}g*SLO&~vy/"vH'S,Z]C^6>Њ!#J# 醯+gtFuO Ӄui{^FWen<4{oLp9a'fp8EfvOPdx"Apd*nh|5R2SU"^+fg M˛Ɵuլ%GQm@q~Y"9yz_{(M56(YA@ s谼\>c?0&|/SO@0W߰u ŗmb.V3W@TDW%M^GKmk񱺴/0 -57ëC;:8O+໡a;V9>z_!~tI()y^i+4dSާBH 4m+t ^r%51g8M3-6Fjcsist_eA2L4UJ..oy&@Y$&<#A6ⅳ' H" 1Ha+a}K_{3c9ePԠ ?Q^r2K 'L<_Oy@@j`/Y-Zgk <w 1ZL[~"AkڅI[?n!O "G&SXkrZrdt%Q~zJ~z1;pzJȻ]f+veَSC?M9Teg]U}xBsLv'̑2p3wrJnL'(ϔ強{AT&m!75\ϖo+PJ,S`dBM2b p,[][#xuG(ޠ(AAw*92leiٸ_W֋$ez%{dUߣujc![$CcBO;@y"etM+ky"imD=d/枠k%sN" 7`I7Ҡ 욓׫1{}[1@kV%k6K$FE@XqaaahRlwZQ6|;FѸk=3 ̗S]t|^ޕA):`F>iY >:@(n\ T)WG-^D TE5qnlbĩF5n7+w9 i RJhVE~i{Tr[8wWql%*>-|Y+p`*T* .JgY#|4/Er<gHA?UM~dV:,mGXBX2 (DCE̡^`ʲ`_:8VA^l3 ˜Mo&Q=ԇޫ 鷝Vn;̰/Z._4b߶W!):ZO|W -E\ak5z6(Ggn CF;a ϝD4ԃncd{2$17ja(eg0'f1pwcGPQ)bfhL{)iqln)Z-iU6tW :_G0T8ݫAUwSV9⫙)#_j/er*V_0 H0z 7;}Cҵs_"ORԗOal˛T]Ùz5$i_C޻)޾D5, @*ABRoMN!e&Ej+[b.ZNa_.sME:V>,@b2 23*:HVE[dyEv&d 72RߣVamIRж 8ٖ@iߋ73)d[){qf|XbO@3+},hw01E >*&"L|V-xOR@EGRJE x'J/9OKnؖ}y.\0L̠onkă8,"D.=P$6`{Bj!>_%a)b#5HX~oR[ M٧ qYo˪sQ4rrHDTLI߁%~{-0t%J혃!$0X-@;j2du0oGd_VB ؑN;  ;y 9. :Ģ^1bꈴseM!ReumO+A:8z$Бe,wLrj&b8Ȼ&bHP5>b'N2Iͺ!FB_rTi":Rm#GZnp&\RY%B!Ӹhg8a!ы[&Aj{ڙg\\e%Rc2DJiϪ,5#!L*t3Su+ ( K7!>W5 NZNcnmL EhҗX7 f^S}D ?Lxu\" E ~ꈛz1]alʧw1=]"j±%K?yI4Q x|qdfW!!V#8opU$e rb!$Ojx@8v9wdGϼ8>.Hgc=5K[ݫ[Lm V1[`_5IApI<4. tq0}:n(_pP[8$3ٌl0A#@^W/٘H/(&z .v iZ ܠs@_@¹I ANfbQWgƿuF2Om&7Ԫ;%(׳ =Hu[N\.M^WfY2v|2%.K:&aR^W,?JA]IvԓppuUrP< $e6}W&DzsUƷEx>?؟~Di[-h2 01 Tb'9x@[YNS,AZ3GMgD-+_*g`$XvzZ1s6O,B>07z<ѡ@zkCi lb܃HBLGa ib 4Ȼ=)rlÖ)t,{r3TuUak^.S~},?e+(;DZɷ|QHL fRE}l^Zũ;e oc,8B;E%zBD'7F1rNV:ucًn+w]!f?5/ tcz)S̻ LoČx/_Iu>)G7~)yiSFY>G焒] X4ʼ =׋r$ ~5Flǂ_P|l[I`s@pHQZ>ݳLT=S;FDBa}bq/Nnj*(#{>Iyb"Ł/@69, [ GPSEWthbKǁE>&mcR@̑ e JϔClDZH|ck$^0[̫\^ & .2p٫6p~\ s//|b *?V\2hWYU ce?¨6Pv[1]%fq/Z +c܍ibȴ h@%[u|xM}Z}/䷍hT'd5.(hBUo#\<hU[޳ `_M1[ɰ_.zS=_ӗŜo.}mإ!9H`0Bb1nfش(ЭnFzY+2QZ=-QuUD~x7zѷIcBO\"AЀ~o R5n ?OX|eA22S\b$8paẢy`#-d;txtN-a>ț e / &B(.*;R &3*buة+*%B Ѹe*W3E.,""I5lvv]7ko`6oL`!1a$kGÃX9cupWwXU 郆p%ݬKUsWSe=mAQEpkY]~hp"∤KNjZ>&Om !EAsjQ3& ɂ"'h sêgf󐡏[XS(? G97.63ݴ.^䷴lDܾǁQ7XN$9   F=Ϣz =7MRU͕&Coԋ¡ljȼx|.~0W`'|Y^ _^痎kez{L-?2K~t3v tMfE0|(Wǡڎu^&fq_K)neR.mLD2pџ40V_~N!|[|)Dz~++qxEEuwR5YEo)VcUYYJ,9M@71,3($K??GTHh!x*m4N;%G  K,B6HgVG"N,/cUe+dj} >0‹[ ?!\2?QǾu>L0C ؎2VElq+u;${P+ SZ}JmpbW9˓"uֳ+uL5mN<#$}pDe[i[&FrQiɻ—!hRE hh;BYE6i}bgvqh~&)*]m9SF7UQ7tsOJ.{Έ/ͤ42}$/âVy0n߼l@5x0slD%lʆg.гޠiC)"AKP|;}f4)F*BBM!AzFxf89wI3WbT>1iR {l8_d?hf,r JA`l>^'q+;'xcDR BMBd:F&von9-i oA`9* _Lj*e%&IDe3lN&;R2=魫Ɔ5z)iƫ*{.Ф`{lPy!SV,?NsU4: >FM2B_PkcuJjfU:IGl*uJ_N2qkO/BVJ;'ס>ݷۀ{Ӝ.c/ir^;UK$h 1~'ŸKlux' Onj)*x,{woZBIs {mvZ**mWR1wv _j[o QEdzc4霮gB}?LX8TAIm>BN߲qr]MUu+IKi3O/%+$$X25HD O( a@hhqqpD=VeK#-M^3I͗^z]pt6*; L "ylڵĨ-9M1?֠ CÖ]R;36Ȭ`@"s8Pp,}a$lB·-W( ;`p K/]x?mv:%a̢vTBf/ABx%8D(,vu\F"SoEy\0rqNت/ *R$]p'p- v_bG`@05Gxs{,ޭWOc=kj>wXDlM~=KLՈKU4>40t]"N?xL2hDΗc<În̋W_̔zɖWAҟ+Q ltX=hv?51:yT伜$4 }zDQŀc8ck-@N&sܼKwb oaa>naBޮC]"l-,!E/PkH-# _rsF~IrYX!^rB,I: ŢTCbxy8+dg#Ǥw a ˇ%`؜a .$GH :s̕x$ cIgm@v؏j!uIm>-?>Q'VWڹB 6TEPy4Ŋ5:vY ՠY@.z_8 3J о<A~c;^=l9|b ds_:,9\?me0'|0BRC ^+qT#P/ [G(hR%yɿn7 ՂioSB\-Ψ!7*ٹiMoT\@1K(u#h.hx-I<-+yȀ_\Q+*k#_ "9w8 G.кa %a(|":d,Fہ<ݽJi*Wsb{Y# 2IpU#B;9n:Ɔ5Y)(Ej}|`gne|Az븼IgXr f(6+/޺]rzNHgÔ:x t"yk@ YJankPVc5Cc7RA1엟Z8ȲN8&m#f|^'ͭ9[D_$ta7ߎ00M˘-}uJDM#{zǺ~of&0s ~5N '.bu 1Td2z1vu%*O?6|b5:~u=WSm8Z1pu9HKPuDBۈ؞콽kqvhK .?`xb.;\xsgZ u9]iV6]@KK#G$0'N۲c$JtaaYpl ?qkI2G"U\'DDfn5޿6jmpPtBx|PS^uGofU!W9MEP9((٪┐w29ΤM*8 $*Ω1J;;cefc;Lr@mC.|;d0Rq45"o=^69#SɞULʊLA)fU#!CFz氃k` Kb8v3 q(b$laf)rr F#3Wᅣn:V?91RBqS5NԗB{ߪ+ x; ۩;Wx$86ٽK+۶욊Vrqw*mo# i/[@)R)la ->o,Lsz!ܬ\!d&ΛːQF5TB0+$[砽}-3FVh@GYͼL</oH3ڙlj E^̽e#J̒m ;tp.Y!E.Kd|c9%4@&J%Nlݞ=5-A Aa{_U73v %I-9%6np3D8%bwjtrS8BL.K^cw[4.1A^kj|˚c&6)x5ڗU\km\wnG@a-#~L; 0= G$;721]Rq]zR sbKZ#lahڸwz1^B2M=noE4tI,z9[z›fo-?Jh5?ctgX)RaR'UI{F)-i0*dׅSu]-]gxӳNVQY+Y89w( KiS,IjݼfL1K[xs8_'\eW@Pq FRhc~{-gϊd9{%z~r qWeJ}jB_lI>PE gb?ҩ#LnE7kCRF Չc—'*[>&D4B^kY6$.X|!Z:VCe7hfȠxnĘc%0/~\l[ҔO.OsQyaEKj=oQc]aʘ+i4qګg2Ȱ`%0-[eTO;Vr+z(6@E5]X D+o1Hjm=jNdb,bO0 Ż^#X&6*O a~8suyv -R>$/uC;zh/agN,yܪ[^Q{vJ 4&?@Lskd6iWV Fm]37{6~(8;ٹx"QnH?YPls`.qx: -RdG#DX^n/]r r [<(7Ԝa^mXf/Eob ԣ[AZɿ57lBE ºq719- 6}1N)cQ;reGWh&΀2 ԚL*=nwͽ TZPF1 7,9|ɀ8i&͖ے* 2Mߕ?6=NdWZ.ba |}N1v+9w эQo Rv UƒQYOiit+Ue؟75Ccw`W#;:'p 2 |[ [Պꠣͥ+5`RuReeŭ9,ۣ %M\zֲνNmZ)@)*ʧƠzha~k&fc}HV*o"#'7t>jO̍+ =|Ρmؚuަ1bW&XV !()4[-klI3L0eZc!ߢE I:*F&z  KUoܐv[M5cFf~"=*GlUC2Ųq![vH`f ]btTXAV~:{Nȍﱛ.*Obd%5YLTMQ?` ],quLXn&Ec# ݗ|ͦH5q;-I\W"ŒeT0l`HZ!41:!z{3cLi,i`wUc8"$e-`N0jKfs67ԐK^0U"/D *bqYh#٩S~zK&Fp 8Dsfki} ]\֕#J?wep/^nDX;Rg J8\pp+ k?~va pݼDmsIs5{v?37aE,md]\BSa7!q7~OF.Ѥz?1`Wߠ X=ZN`d/zEB:ۖ+SnS=/9ښčvĘ}+{s,㣯cDGuq4k2#([V"1HKŅ`D/OM29{<<o"iBJ_3tH,?;w|F6@36 %2!ܘVV>ƑI5ic;aNz1#v$=ؙ.& =z`$]˜z>4JŗJXԼ&x=uj 1-hFhfa) V 駦<5<8NG4ntv<: DSL &Ր礯z+!Y'S7sᑴhW$| lo '6,c~t`wNL}6$##NT$EDSh?|E"ɯvݼLaTLܔ**j5{R%>Ts6٥f~P/?+KJv4ppVNnOL! ({jV Y^[hFAkJ5SRM-\1>.G4w~-bB꠱a0e6`j{AUQBxG_h@erںYQ1?ۦev;c{Cǧ xA^ḷː˹iS!;S 7 $ѷ`a"u.Q.O`s aHq0&.$.j=pmq1J9yVx0vQY'xz)ety%Au}p vI: LFtdrR{.`hHC@ICʺox9@Y'mL&]k惞\ LJ c*l3\֞3Ձ!;reWn~=, odW;=G;Ivd(!5ȉ:96 (#Hyn(OLoIu쳨2$/p0?"H a}U)VxXI?Ơ:pu@  L2 $ZfX.3~>7u>T R YT"9Q:è6v(m?wh\>ݒ܂K} Zyzؑ/l>i-"%8J?Y?P am:r+iO.l\U$v"nХ$4AhVEqB7%ADU~-P]Y93W>CI3~ UjX/q *$ .qa3m,l$=)Z̎Nbq=||҄VN'Yxlm̜0׽y {@捨3,G6BlK;^j; ~>  w6\b GD33|[/Cv*ޛƥm߿4\n4o1 oN8ݘFH{x:bӼM u?<1tGQP '9+Iyp( ωPEEǂ!̆YR[$8@Dv쿂.} |f̒;ECXcyOOUb"EǢ " QvbLVq қ㱳Zx1tƬ`ˎZe'uvf3Uk'{;I>JË aGB)Q6]tů0lXU}489JFQf7 /} o7 YBH7ԭݪcU;ARly.7Fu8BY.{iG,' Yv;!@y8fpе"9cyGf.]Q1[mM\q{.H'QʡI-cT|%vs!z$"0 K1jDʽ~ޟod[B v B]7i!D" S+k_c';z,D9fGΤzoWa)|rh5';8]ٷ:91޽zxtHI^7RڕPv< !ؚ8W͡~~)E:w.gރDXQZ 9qmhƀ5rX%Srk@ջiZPC OjEZti60^jRULQĞ[{<ޒX!F4Bn -J6R+Z(Qw嵺5IJ,`W!`OPeSՎt4p,UϊVE~CCІ`Ye٫0JPdѺq(1c2+ - FGѥYOFV'6ǿZ f'm#z(ˈ`>@J\`. O> ]1NŰObg| p$R.݌̩/!߳OLf5֋SN,SPWy:3j$#V޽ݐ(DH0*OZѸ [vm"{.*n qP.nؾz@dc}1%JWuiuz(`ky|*Փ AhYΗ1{@hY1Ykl *9(P1!Qvy@GG .? pUbCvp+O-:į0\Ap&jsJccSi'fKrp}X:|jYA FufzCXqU:xbJ$)` c{ cQt׷5odb@Lygg9)V#uP"a&}uw|,Ni޿G^axoCh:~ө~W%'΅BZ;HOӛ"d਷gAbCuR?6A输}0q ~H58K߆ Tt d]7RӍg\9NвĞ8"捳Md}℉v ?^Ƶ`OC M=Xfr]ħ-4틛soea[- /I0Pft4R3Fė#SwѼr!3Zf.l$_2"1JC&τ2$Nf).%]/鸩ֶJW9E@*Q;I1 5sukDŽ-qR|F_9E|<`w\ ID9"y a?>ЄD} 2PŁ`+g!3a“^>@G ȦTA(ǜۍ$a=I"S@hƯH=jﶒv' FN98nn{޵ZmOCn{ƅk׉f '' Hrz8}z:i:ZI0dmY -Q@pi|r.4 qgR7iR t?ore*&eYq=iQ]k[RZt.uIs_.50b|2X(1 )$Bƺ8֒NaqV۩7k$W[EPXV!O-O&ZvBȢkBȎAHӄic[G#'Μ˅9EmӊMU8 |ETc3d9PO"a%`=9IJ.o2U).$fh1f'Uaco>::[E"{~&](0u;ޱ& _%aJ 2uDsxYNقYf_wn2R:lr-aV2ە0̯{yD% nkXz b3?*朋.(,:݄cR~ك["jJȳ GW9MD8OEG(G6-ln>`#%Δ 7x<.b.,bi3PzG}/kru@LCJPɼjƒahĺ͹ AyĮŮayc 5uEfc/~>CK^3׏74VVP@ 4;ywuۄKWo>UUӗlZG4ƪ=XTe>fhg[SzK2h@?V cU&Ѩd!h˲L0GFlbvd17q^i'盠&X`KNc1BiU*¾CrҚELƮZHTHs +=CROițzİ"IGO^R3g\X y3,)G xexPy?[k fJp Ss 5.pH3Gxo$O#uQEShngwQ3i=@},a Xiw3l'jGZ{¹VT۫Ax-}Wp 7G jCPPi elhb@c4#)2[U/iy$ʩ6>>n Ի oYWč5s$Yot R EěCifAAh%_ @P\'+VH^,ˋt껙t 裐ͦJ&Tk(u\'}U<rS/aGjc(Ȝu[\ׂӓ` EJFjgv r${rOsd(A謊ݸ5VoYXՁn9+C -DnAʋ5 x8-*8X@glHP{EYQ{=]fHEʇJw]}`5iaN8Ĥ_t֙W%ba 筘\ҏ~m&p۔w\kĽ-¶BmW_Mv򐿏z }XQ;v>Z|)C%3[X6P?렍Eh/XȊ5iκGJ7wun#sIټoȨ@3$Y76/|bu<jd3Ls5;4 Wzx򗣧f8ː07~%,a4Q9gʨ'G$u[͒u`\erttKA nXLЕV?SO+KHRM$ֽgOCU8i`T6&c;SBފi,X=1P)21Dv@J~YiH d ̚B1ubodصђuZ:;Ȕ5 J*g+7xԖGUte;8:";P5ahC:ZW][aA WN%9bxצ7`Rݓ7g |p̴ʫ@[9EHː 0lA`2@vEA)j]Bo5K!WX[g ^:y 7u!], nw cuY+i%M⟪2,N1 Y3|Rs5}g^7)rUH-[KgG&6Er6H&Gw=Ģֲ"P'h(zNW<2` mOHkFd$>|X!~o3<#,H @^ꍍ1. 2}eӺa0͞"3 9+ G!.ܽDEUɻ(sL;f8B-f/jǍ@)lj9EqKhE)^@r'm-j-堖ݳ)@'ƿ9ԕ.+WjBvW£DL?"VYViAnK-O|!Ɔh V$ d0t7&p2RKFrRQyV|$C7kH|UaDR Imb(^vM2F7Ev1tJI}]!5t%2,OavO|z$Y@0eƼJ٨ҹ'F?)rħD@.@y5$ͧ_Eg\;:= )ruYWg<$/X4-b#&]R7}VVQ:قF{Bsgᔷ=(?߳H:ȳt$&%U:rؓX_]iHTW/=5B`l5O% B&)L%z͆ԝN{wO2s RG+Y]T~'2@ rm 8)JIt_FE9qB .w:+Ii&=h-P!X"-E3 [݃6@Ɯ}MIlp]*jD̜9EׯQ: ϓy.wTm׾)8Q|FvۤvIeD-ӃsLeFH.~1KqiwO !l$ Xh:Ywn=7"#d+iko5)] cؗ&mSR}$ZM[hFZ5iv߁  Cufф&g_U9-) wj|>ΏUP2-@Y$_"Qq'sXFkhqZlczsr9 Y 7!-ͮX,YtyaE\ Ko4qqyi`xlhL茷ODSP4G6Vi\H1Nj1rFئk97=-^!Z8w *Ӵ̧Wbֹ: F+RN."NYyOLCvՆh&w?*aGdߌ#5CŖYs:+z4Z7Q7 _ qyFMvh <{( 50"5[ z*Yb"{}yf6Eе2lǴX?H@dP+nָN֣AN6bM;&K/MƦC+Q]^ HHx"m@iS:!7^0'Ru4D?A ulօyL~ȡW|Ae{-mSưdm!Z7c>v3n (o2P2#-3V) __rrmkήLcT:ܩcbɷ+%R6ɼ<#ڍă-'m9_o{ Qi'{\}6];ǩٹHSq-{=R\7A?H=g+STqZ\R5@(H%1a|`$Pލ퉥{?.(GJR/Gus-^,VA¼ԯgxe0+٤FH<UnTw/<KWgB+.2Z)x/2T;wԅs(LR@{sw ^f&qn@P)yI`os7~%N sGcR Bċ2MB$w׶僨A!D7_g?"5L0p3<*}zL20K600C*Pu(hs5 ( Б+ _Oਆ#/#xbaVZէuaMyiXb+p>D:)"z{ZgƋ܇If#: הs}ݩ==鈢Mf;ډCk_?h ˓y7')րZ&5?e&v!`@-g0!\z$B:.Jmiُ'?܀JΊ%wd 7m55 894փR7 [ xW-sinw_\Mz͋#瓪 |Dm:2?2oACL@h>56@Ԋޭ9k֔dkԮ 5Čoc]N@>Z! &5=Z.xJq>C' cb~ȬE|&+גkl%d4Ye&AȂA e"J8[]8P6*N%q äip%۱k!z>=]Z1Jw#3j@i:ݑ fW7a86I0d|R'bar̰߂2y3WuY uaY'mS1ԉmrEI24y(/%ܳߛA{GUNf&ubPCXUy$sqIaS?5-qDD"!~bGi?gە=IQ"!ot!X3E%?vHk ilc+5ѣG{XW+B 4D\lh'˜ʼnP1s6"E/:G%H!= ^~Ċ$wa/Ҽ*QD7=7$2Z@B`oJh t30ֆH=QN]w`) zF\H؉حD% D ^ӄW#Ī <)jYg˒)(,ea{s&fD f,ONA`#Xga;ձJY,@_@OLkLCLGGj"|tȕ]k,LU02]Y1D(c˲W%l.;IӐ xh\m UE>=%:Y;f>݇u2Ԉ3Tѿ[[LՊqOg(dz.)ZYEh, ٜ-)M);5ԻK=uz.sD6l!݁H1ڳC~Fpn$ur3b;eIĆC V";H1QZj⡈u:lUDzOkWᒃ7ȫ3k܌wf&"nZۺEU /ja59?TO!*ALKN6Ykޚ2ywqK2FeXz[ ?IA]v󑯯qN0>tmLeƘUKE;@^Z!YD8d!^{Zaboybju:oYH?2F emхD7R*ޤKr'&o~ ySȲ1Zd:"v8нayɼ&TPQRys z3r.Gĺm.en֏ ۋEgxxk ve?q\Jex;bSVgFxpi:<v>+o?Uo$|Rߌ(aUQӧ󍧊klژ3+q#q)iP?gxy$F$n@;΄LwQ\OYƞkEP0UNmE#LW)"|l= uY__uK zneOs-QtĖmZ:꙼_H# X(z Vn>'v'T!Y4gFԾU [{z\PB_Wv2zn=H2ƎyԿQ97\ ?4yGi%#ηEl0r;C,̕e~Ԫ0'rk7ӟWA1 bRH/)f#0.o>8Nǽz/E)~*~&(ξjFF˨´ܐ3y$@J+jxU\OpNWqsNzt> ^osYOR\;{[taTPm jɀԙ_QBNZ KQ\A3OqxuuL4#ac>$bC1:W|^}*NW7jvՔÜ 'HbTi p<8#1oFt?iDB8g+GN~7*_JB4ONIv~&E0kQIׅA(ڦ p,#^]`2N2;U/ O N>S79@K.Ǎgecֶ%Swp|n'F}ioGIN% nD1xhNЗK?W^9u{tT ç:Ъ"|.Ѿuk/{d""7QR ̟p|aFV-ӅSef!u䠩#K@ , 4K@pkGzcRӜ]sU`B)_x3X`s%k$䯅*]}ޓi0_F:j5&AJtLoL(7.0U2q_tarZ'MbQ -_ TDg6tTsYCRѶ[?5&(󈊑x|V8lcu1s '9^2>.mmU:(v+6"Px>3ABo=aGG4pS{ %8D~)ɿ*H$.H $ f` esp77u,Hl;ώ} *צNۓ?SV8 ūr!l7)>P9*/5"ԉ+lۖ˼yp֜JHTC "ǦVA( :d3WBHCW,h5}AA^آywxiSݵo'g B%̓fMq\)Fw3f""Yٙ*dyEQʀ>QFşh_({-wL{3/*duGh8o8Qk~ü3vep`I#Tmާ%0M7]1haDXҒφl`.ewWX5xa.H3۟L;]n4Y@]B7uZȬH^ۭt)aFb1Ud[iGq%>>T:wD"`vεZm롪eragp6" 0ڛ̣ 4lA մwVCWāֆ#K [mv_MI! M%DP}ʮϻE{:.Sj6X*1mwyXN$77r^mSH><4$+_r=!}Koܗ%άl4$4k T\-0V c<;wIIe oql\N(qN|0#d)b]@>.m<-b[GdKn؈7VMQlYy!^io<8H!Dj)a6%s0Kk)okwask(@Օ JG#*M7q;XjI+?cD?[@,P^]{ѣyuh` xFd c@oGitx`ʽNUx>339cf?년o{$oaJ/ȓU]TP[fQAKsEO^}`EWu x/pʥB-ͯnvD ZuKAؙɲ54(eg7V,*f/.eG q;QP_7h"To;oG2 ;Oc$MV%z6B1 Ip3- wjA6oZbU\SXp&{j3e(~n&,є1VWv;HF,@lJ-0n=pHv.*_qoB=gMLxn8ytnG+ꏭCPK},[i"0 0IOF|õ2%`͓dAΜk89=mLi48`I qfcWC߾RCb_cœG  {[@ ;l_[,ۼzj{1cj28mcPtO__K5pZٍSz.IhlZ"sxUZv^A$+ZK%lAؖr|_@)o̸ f۽&jƊ ؿwаzouWb_ۉ0mol(-Kj4g󢖼i5~?K|8a~jR3vq뿑*K,'57E[FHY r,GlKq, 3lk['OVOiQ]-ȫ!&wVeJ+1K_CugI b3H&}J_ǹSk(._m es@{u&FU${oTYhvmPDm2Zo Q.qv1Nk`Yvhj:}B44TQ++„t_$=P ܙҍ N! PQxKى.P|dbrwǢgoY[ I#H`PRԀyTv8\Yׂ#aFicHJpF7Pu&RsRb:O[ ?$FaeSgPq0 ϸ.'l="# +Tw%j#k}~Q(q5؉)ƒ!zz?7| *,Zl׶aLl)hlc3\B ^#4RzYyi6g'!1isJz%jG E>?t^v ˹='P*$O8IGUƧzBX:)88?h!}ú^sXDI%(,8ܞ̏a x9)-BcYC. ; ěF[v٘ c'2q;ٴMA$Yj}<;Î eGo"p.\`'Ff;}d%KI@r<@5Z,g*d}h5r͠R#UV?{H@AFua 3oHYT6`쵷 I**aK he1Ao90>)B\"(*7EbLUl1QFjJcRn9yw_9:XRXdE ڽ:C |{\1uTDM*vޔ"S=C~agm4l2JL΁ lҙ=ellT6[ HqGTmoShkI+8w"mcuTEE&΋@ͪy7M)B'2m%c(S2OdX|KQVVYh7_=Oa4+cEq]=:"Hd\W'=̅ 1i *zx䰍4GXpRrn<@7sX[Q4rmei:!uc $9A8l/xno8] tZ5#O$3\ӸLL!dsqhܣ"y3F!jIM_cݼcmICJ?xaܯCdH#R__i)sJ aULC?hd|i7=-a_syIh_x*<=&e_;[jPG~\vZ@LsJXb H(U0Z/ʣ4agg a⺺c 6 njW Q,-x]d#.m:/bAIu\lx*ҭ*4+yퟜwJ3Fٱ] IxLqkTfH;oK o`үdpeNt 8d̟UN5ÙI)  1.s-#_>68[ .D@JӺIs3B%?IR<r"me&f>8Ϩ^55hB( ɘ^w+#_cG[OV}N| ϛmK_s-RO1 Uc@[C$6VMV_O61z|xQMɾ\7Hjnj]d9КۚVaՠ_ǏB3+ns-ϲ CTenC=TH>JL&dEQ@bGOTmR؄{ӷ$n_{&O^'3EPbsh܃Ff 82s<w37Od,2j8 뿽B|Mv3?w9E`U8#,Nm{$GMqԁ}16]Ej)?<}Q&vz{*z҄]n^_#BUF?N-plEsפg:T6cHۋx{6IQoc[G8L}C&UŢDzcd]գd0(TPZձV(hOۺ~#A$ԝTp}۶9]44bLԙJ&K r1UbȞh)6FKw(U 2GMxliAy<^Q{Sz@d6;?:TV0A}5Ix<$ڋj/ytrLkmgzZj)~)v;1]7FK#-VE;k\!?0.N? ;z^ͥRrZQ5tㄭU E) \^Rz!YʙXIC̅[/N"c hU'hr0;۟o N#!}C=:8s[̨0 xkUE PL =M 7_Yy{NlFāɵ&%bB8[Sٙ";\= CYOA,Ť6rܮџĥ ?[Pp ']IpղjªUIly-MVH ?9QXj¦43SዂC|3#0͢7L >gwe~AV>x0H!Aj$](T~^ o~Vm\qm8O"!I!:K=!{Wr\WO"I:=+T+ _*met5[noڌ,=gy9 fpPY!X̔*pe Õshcb?BMz*d 8̇nkܮ#rۣ[%Ht!T%lن~6}YHVƫ49/cn~6J4djj2|jobhm.b"p aun|V\GAT><`{g:i䷴K)Os%& y`~eHy7"*F@bļ2U2 a]-)5 /hj? [oI^R@l>((g y`zӠPHl8_TKHne-Nz5h. DE<95]$̈́51mOk9kI,r"ںփ9ZSI [7rI}@amHOm_Dq~b1 qVҝіˠb;4&&e@on%"L Unh k o[շ[1|7^2Bp+ִ80ܞ VaGxX! 5ykA3I SC-$rntf(C19\ t ecIY|cgHQ{ԚmngJB*50N1qLA3l/l:9pSsH1R]9jɕy2bZUbHy "Rw|Rv&؎>[ieku[7yl9[yJ5Kd. 51WU@ @3/] } =wd=X훽L|r@QcuBy->G`93U-$fbFBfx14_]L 7)=l{Mh}=UTDa=!'Qk$ŅOJg)pR"0]Q,6bv_ӛ z˜ZE[E2XE{]id8skE*y84:B=GA3XRey2SCG 8ƗlbR?!IvGFxN쏮Ʌ$T]SCي;u¾L(?SyŞ2<􊲢ngPxXYнd z jhP/[$q-̸gѺg^sWM >pau-qLxGDi@%VVБ+3$Qbiyĩ>'A"~w8n*`SjѩPCs('HS`Ij8(8C0b0"alěUA`P~1_ͺ~p`r{?9BY F S\rA0n^QԺTPvP,rv+$XCSG8(xa_gzkqGjZlCC?{>u=bx] >/qU  IJB!OL =rF q>Es]}rz93:m)aXWNG7+SCfiHpF\Tڼ2h`Zלժxl?+U"i;pjC[cy ĖpXYBT%oh~ 3+)^ׁa+E^|U)xIvxۍC>= #}Sk굫ez[bH |[#ImDRnf2Fv /i\JXٱU"k/{5fbZS+D1^okOʖ917҃=›X GM;*5Yj1 `_bt5NtrAr+[?eS:0?5Au>˒7e@ <w si1*=x]9!þs;A^ug1RIIMiK,약-N  \#XvgtIX;f1Ѳ;4k֒-,{ FaGx5jɄvMU9Y1{Pr 3v<4x%l2&r@o<ɞ~?1#1eɰa*U!n%ø~Jt-T6ܓip E@p[3]$wWrU "xz6e Սd>Ņ&ۅJM ePB ,ҵ u m"= ^+Y% 0vEZ*Opc6%FRB~2~f8Nk!W90L7|.̃G Uޱ%nּVkΡNrkmf Լb6'(nFGM8M(K;:Wv]D\y/[ 4@+$hlwQ~gS-E+"0s)>_˗7NǷ42ܴeC:\TP%ʐKoQdGGc >2gocfElZ,URk-QcHב=K>fMQ쏤ݓp@c05l@ Շ2Ve譝wyD9sPʉIr8Dkn{+RNF3UQ s/Ѓ%|;)ɂ/Sv2 ,"<5tp3k]CsL/"Į&2avQ |TޛF-y!#D>Y]G?^ fEІٖ&& .WtBT`Ncw^^#TthEf<6BS e\k1%`DM 6eeG47jZ_2/^+#!QZw@) q(E'>c곈,Ytl3Lrl2\HZ!ƫw#i܁!l^q[^>z4QfȌ9A~u2*Xcʁ7ItҸ JMVũgKRM2bZ'Q ?:’ezu,G(`WlXD?c%2]UHG>xtv*w!83 $Wk|3A1IFK8`*1wvshX,VhRLk' Ag+%48axf1>fݐ5˂xȒ; <= 3NB!, %w HLFŠ`6e@ w +w~yWv\.kPAKݲ CC O?-D#JQS"'w;cO1C'æYeHBڔ&uWqx%kef7Ӻ6:sqSMX5xLpP3xw"p$}8gs@_їBT[.޿f'y5ۨw?m'4ħr๫+d;9g6iPT*>h}'T%w0tO +`Kbw38fU,:Y-2xJSi>vXCl7-l|j= ƃz_;akxA~MN'8$ mDlN*@Iρ;FZC(?O +{8Pn޺DQ-]' t#3 >R ʲ| 5U >²R{3?~o!^_CO{xZ*y<W׿|aMBzm6.ܬ%ID$isZt7~F\>v6>3 'Y88T+ŭu;ʴ$Z2:=˧,H>y@7+ cko0ZA{YyIL7(}C; Q!t}7Z4E9! Gh#~b8=l@jr(-T0(Q޴ן\vڶ7(? yaK0.v-'pb}EDc >\#M5FUʱS U [p3r>3%#죒_g36"K[/p M\{t>_ra~iPfNwi*¨:Hfz S Lœr +h ;$+NHzvLDkc&ϼ'>@)M_'iV<ӑ}M 2Ev9z4c,E&ԏ<8{߁k>Vܢ ;O<CkYǚf0ھE QUy3CDsq) ܝ%j^6^Pgߛ08n>¦ 1W_?]>+gL\' |Gg@y6>(,%8{̊fxi `+qZYi 0f ͗ (~L40Ojdo(΋N^RqbD1>" .U@Ʌb 酪}}-uA,o%k)d)Нv/ R#߭dʜl`Uk.c1B'bxӶNVDLK :hq8AYgVkN"L9xQ5K%":fZ(rpD1$>CdB뱟YkT.mUE#w*K]Ԍ(8Ix&-2Ktcblyp&9uo1hq|T:&ao^[};",]gBҽ N6~"P?oq>>I$eE6p~=y5$c0ćJxA|/` @XP|g\;$Q0WRZK!/Mes VJW=]n3p-@1"c7^֋\ARbFǫ 7Rʹ# ډa8f8 ߰GwUHaxPx7[fH,8x~GVISa>)̮0ZJ @NLs&o;F%.\IM h[~Xu2+ U;cDoגץ !\׺a'1wˆ*ވ$>_ʉãe gH-B7%[3 )2KrwLJ6-p(H. rړM^.{9}VUɂX߸d\o{f_{>SG@,)f/<xLؕYHJqImC;+E)xݜL4F kz5]fy h8~NґnXE*yoUp,~pfl`>Y]S(dpj7MCPkG2֤JВ5h`Ǩ=/JO x*uzwnĪV41-ϲ;!K‰[WVYaoGSXKD#,amԜ͓jK>Υ1jƞ΅k֟ܝ rwZp4LxWn8h" }c7̅٨XۆX!O3MqmGVr] 98 qzZDֹi7armtJѿcSbEOx`effrH?5mmdaIɄ9+:g_z&7%$?Wx78!9Ya!VX3wЁB!+U0KvCր@]E2KkO36E,7u0Ϣ|zɁf}L#q\^\[) [lM Tг\ >#PJof $C9U״y;.3.N 2" z}=`81$?0/[rmH6AY)6Y(O|!91^> wৢ &NErF(2"lT;PqG!?NRg a#{SM}ЋtdiGh;NyUh7ѫV яzN"se۾e8?}Q( DښM i/w?Ns GAbht wRHn5WMNŪcxT"ښ3I֫y~s7jPEd%%O-phӦ c5L^`G~:0JrPe~3&8n+L$'P–)cl-UƝnVv}_:w!-]Nsjq]{D-+hUɶ=l-gr @\:\`!פͩAYa%}<E/kbVMvDon#_QgTK}:`wZT ڨEoټ(e#.؝@0ԥhoZ<׳GuiV~eeoIkXӆio]8 QBX X= a(NC+ᓜtPl"^kYUجA#,;q46TL΢a*#?3L^ŝfY-W{S@7 yzX GU_*( }U)uBJ+j{ ܿ k0z\FirԾ{e~ԛ(:Z<]Mbޒo)y92>o|ʥZHd;cbIWHPx bV :syyi`m*X\|P8h\"IСȧO;9T2`pHiLH#{P1:V6u.6{8EQVJ |mk3[ZnNmlۤ.g9[&q/հʂ brT/>?ޣvޕCepeԖ.}O/3x4Dl9fT%[BwQT̄D,Xv3wثEb>.m?ju5|tS6amɻuj#t!Ic OZirѢH}PRa2([Oc+ Z jEqAL%hǿe3JF&Bgל`}ۚomLjY_ vn- '@w3-*٢qE}uQ - e v$EҐd%v3,2j QgE?< )=Afl EA1F4_Ψo^k9AVKn:=x;3?+H ۚ A?'\6iNQG2FM@ĕ>L -kzהцd fM@mG;X'Y4ZQ-DkAf4 LqJ؁¼N0An{=7׍jzl麐kOKghC79A˷r<}:']b]X~ feni ,8T-`2 fIMcj@_u:%0ݲr]˲R|؏Z:p|>NV)AGY@բ2G2YETSڭ"iw8e:`Z; 5\&Q [=L[=Ur nYu` N1D y"XNC$<ɈyEdJ.MƠx+Zn&{n@Sni2m !UTME>R2Eb$A̍H5O'L9XaCQ, cZ%]f2)5:O#by.Us/7juL2˞{.=CiX]zk%ӍI߆"Gl]?bKSt돸wDG#KUQG6*.=[~jVPi;P,~^q.|(Mk(3[b{wACxt^t⳴;T5&/M16B I{G<XJ(/Jj- R1\BHYrW۽oL`{/lx)Aet"sq}mzqoU2ɕ"{ E==`LKGFgu:6.ri/އm9$:}[8'΅ k1+GI U!V Ik{?xKl(j@yfKr{)%c4|?3@MT$nף^‰JL Z[F#W] dU(u,unͯ嚛\Edj`j@dk~kc!+/[*`>X)ٮ[0ز@9wPU.[ wp*]9rP& xj+ #>~p-SCx )ݙ7FgYG=< JbfXp)AYLɵ:19.)3pY]Vўr&a gq_P"y(@U8t2qtlg tQёeRn_6L5;8 n."Lk3 'nYSQwJOki6)`b0ͽ3^rtՆf+0ژ+AExV$x +r?: (-OlVKS Ytj߭OJٖۖk. 1lׂb(|==Ɩ C:RuXN¬UYj ctSrL_be,J15ĸkߋcZ61V.Sґp-ɷWv[ >TP$kl^GhI^, 5mOSz>Woz81EkNi28oT)AwO$`tH!?}@J 婜R Ε# 1|?"wA+jJC)R:]0n ʹh@R4JcU{Og5Ԧ;tc4 ?L@P) 7✉L-2*%Pł P>{ġ޼,1(o>QΨ@ :m.AКaZꍼS n(DLK|^@/vCTH\kT$w_d'p'uULL ݆k9fs,^,P%2+Жq:i;zx1Pp_*;'!{S!޾I$4p)aIKbG4.Q8oB6VF^햺^L7Iŵ*HJuPVqHEÿ6C'J"T"kjJJ3bL#D4N_WS,pʆd 6[#B46$]ȓ{F%)o*. v{R(٥#]6T4$c[B7TW1ױA-XkmbEVZx/Q[R Y]im%X 3P 4d9Hgyr;zʮ2O~ ղy ەKŕ-j,c}*~ZܗgֻruqQo DOu_ͻfǗ]@m<O|6uCe:OފZĂ@o~eYBT2Kسbӑ2V~q( Gkqzwy#Ev[9Ј=uaJL}Jr1;CCmuk֫۴f+ m8:\>ݩVp6n27E2+ɹ3'_f V!8rd>!3F3=f@D@o-j1@!F p2N΁"W9RZ)IO_`WQeyR]y[L\3&g;}\HTKaZ,yeD;1^5zЖXqn!, qͮp$$=?z뜈@ , 4yA wl# dqDL饾j$d 7r+wvSX JX~9+7Zz*b;ۘhSsl mCa8^\55stn+|qBhWQk:Dty%h:d0&脠Ğg$z~)\\!c°S@rG!3 vˆw: @j%f 94I$tIXQ.V˖UjB}ƘM~ğœDTu~9gf:l<49?-VPǗD5=mML^XxX_ 9五î&R3 s%/DS/']T #7+*:JMcwc-Fb6cC F5KV3U< E##+aftShKЧ;"ScV1fђmu=Է8. JuTe9I6I)iAAr!MͣE߈?RmOՐpeBXwNzIT#jĒ5$/ȵq3h@憜"OᩈK&FzӦ5L{fJIkFAı'h|צ1nb G7zfմS(gcN6ɂ*LwE-_q^ҧ#mČ̲g.L+ PˎO#γZz-11`ڨ P0XZ$ak> `JꀚJ'u\cA{%ɯ~'ƹ,KmQUirv%c2[f6ZO"l{ɍ2 9/YV<Qψ{ؑS:'s,_dNj `{ 0 (Akuv'odFfK l^sIx+$Od=l Q[l\S 1% Woh= lINku!Jg9_ZYB pIU8Ծޢ# r2_ m9" w@S@tcLл#k齟{f(K燦-i$F?qt>Df]TICN@K ` zϢv2˄ch!hh@L {O_ϟCOUNhMtɉƮX 5/P1UW6AAK+/ .TVRH+Z}-,%h ;^_Mõg6HU Ҵs=#Ou9ރ[OX'c嗰Pa~8٣v4xr;/K1>~kxM;{ץ"Ɖ<6vʒi iB,,Ead.Cf(Ps֒my((3@K{^+v򔘋#4 =y Nw,Luc'mC2[ect35?6 &eM\L$pG%zпoxiX2$05IWAmznf]5}kbSu"+Y1N0S:a/Ü6@ghS18;$L_ccEܤ 2/ZR^\I-!98l`'.xpK^Y7iG1iޗj:Z=Y[Nr|.Bs6Jsy?E|r)bP.;ǔb@yt.Bw?Vq $77qeAr ;3Gl#5"恰w sD3[W#>! :NF瓡XCpw_(]7Fjs f {4&wKiH~eSO탩"XJ ܯ FN`6'Hx֜9Gk$W/_⾹pzg~_X\MͮXq)ߏ|-*{`Gb׆z&8'|Qq_ $2udv`7F rVk !ﻨmcGb<7/UکѬ߉ȅt D+TF ye+uشJmRP.@[FW+ ILN7XolkYX}%'O}]wDȔK¬hQt c_IL!S*i<0Ğ ;3d][z]jblÆR?= vZf!Hs)쓸{Vt|7VUWu*.RIrqY,v(=…\"7Vt;@h`ׄ D= g9)J, k:D$WwL =@' Mk;6FVt7`puiHbv>.%WU/SDa[UmK|McW120Խ5YmH <~.2ZtbVn౏fٳM>ЀG `.Nc.{([-|a(4K\U{Mnķ 2btx!궪1DfrT%^䜧&Y8ٽrE6ٴrKj{uSfA*B5e ߶o֌5rx )h֏nOg[ vĢl0OI'*LHVk| w\RtL`ጊjAI)pi't逪H?B*9QFї+T Vf"If_:zbehh2buAK> |Lk8UT;Fވc^QIG8p⡉OgN; u:^ OD1/Pi6Q|,?Zc>˥%*ڴZNǾ~NFRZ g? guǨxv_ۙѠĠDw%!S|72M^ЖEQ';!mv Sx26&=\ X:ռHTdvv >o m;=6^ , ehΟE T7+I턄$FtU"2%ij|_Oai+JS/B_񋵌q0}@j}hpn켸IT7鸄e'iGYHU͓,޲ͼ[/rˌ>&$Ñ8dya3mu߂c-'(:#?Ypi' ݵx 6vΖ0e͎K o)5R i /2A0r`%7Y'fb$i; Z #j3+Oo5OP{ѾQobV%'}` h͠_cwE~<:f9/T͒y,B][ePcʟw/%-z!rAuk06|OlAN9`0&b jwVIr"oGeaZ <d'5@KUpMR3y5fJR9Kdo@l)X;'h*@[G+hLh &AxU_u <YJL'pmggnҔ_`YCŦ,ZpG_UBy:?|jk,ݺ[BG,Z=K\'Q S٣<[_$OÄL>X/1ᗯaQ]`u#1\#cX|8n&wvp0*vniQBѵ*"C`~GOD\29kUf9}v4-l<)1`Ȱozw7 _Ҙ jj͌D"\WN$РU :JAPXGx_T:}vk}fm%oRȴ0|)pZ 9w58lf )% `lG Vd9?:(!IWɋXPJ<¸I>CCåy32wR su@$B2} :s$wwC8sF?̱YC٧9/]IJW}#)`0'|/\۞Q qA-(ԣw͕S+s}]64V| ;) .BSH`$@LNA=K},TW# B)E m ih4+I@7l3IC#:نOy߂*Gwr#Ew1OQFB+`ndgAFp>V,GA mxjg:N uÐ^`2l<>;I[+DVY,|qKS|x-W<ZĺsY[B(W2zL?R!"$ ctN69vg4{QiTHhm37m~|J\7ͧ" nv!8iddpEWa%x_>+*Sl;g5|tRľ A4lq,Ȯ)BK/eዳ!j&_ѱeI?nPُ=^E+ ':M{d\ÿ\2E=0qz=EӚ]Az5wp0ʘ4' #q0Qˉ K-z"?ПKj7kw#ke =S`Y1cڵtΔm m]͛<ӹVI {kdu=3k)*( H3$sKQ($. ED4kc߶r9MZ#[t E6靊;cch@,VTaЊ@Z}p.* ; K[pde#k)Ivd[Sr q4ǥ|>ihndfu.o;( Aǹ) ZPkIwNQ,ώ{|, dS`nTѐ"FnE)kY|_xcO<(,7|q-V&0W'kıSg.(GQV3F Ň139J竫W@ 5VJdyPFFtLVeL~wqP6IPye u9<ٚm;`BѺQ`<4t*(t=Mw6dn.BALX.M1x)C8İА7BlpkrC o:)ݻ $?pr 2,Nh=K3[HO{y-Sjp -wcGkRN A\ ,Ivb_?RS  vp(54TIPl#n V+)'fa 5w4&shtwtQAMيZȫTRPjɶ( 0`#>TGP ѯtfYi. w<ZR)|c@C<ĮrWD\]ř̝sΏ3Ϫl{ѵ-H}$h`Ռ2N 5Cf3}d@@v=JЀ]x!Ա~lpM.Br͟a`^=98tjjgN <-Sfzb&<<w P}Ay f)JxjIP%uTKY*KD8*ɻb]އV aAWEPh0*|I@9M4:g69Ɛ1HnG f2ѭoA7nèt7a؟v ᗟ" œ(R%6}+$xQ6V(,rYҡO'\͖16qF#Wj! XG2A02|A1 3/@Z{ȩ4HBHVwi| }0O(@>E3mGv%:yGPcT.o955.-F}75cKR}~âk=Z!븦=x< 5r^ł|hiFɃ FB70ΆE+5 Y~R/)]# עOuQ;NC̠Z%n]V!|֗~0d­ձ{p5u;^h'4v2셫9M a'RmMI_7U- >`.Yңod;~ V{ C+pk*II&O]^aS_!DhZ8ճ;Z7k_Ӕjh˜w?( 1=s&2O܊#"ARŴ9^<*>[)zdTZ+S@  [:Jh!c))X]wbID,?M߷F$ss6r/J7{6 Y4?P!@2" _n'-{oFR\[kg[}9P^RZ#Sr5uh! H̱? { PG'B*P` o/ӜrF\y3**hMt,٧SfQ ~ "ԏOW wǓ܇gwC7u =[aG9Iѥ@Y$칪>)u;Z@`I$j F)QD.ÅAbh=4>Pl^93dC$Nr"euP]R?u8:}zGXCyH!C *yr+sK4N"x(TF8gHQ@G g<=qZa/߿oL?ն3#䒐M»W|ySTƧa VG-iiGF-TJdtVtz[^[&0_{7Mpdk/e[kSFِ'}G'q/.2olA!ƌʅ/u.gyھN% ˔#IRAqcPؚ G`3.bP$]WtC vxh;pLZVdh> L[rԂzӚ弰W` yM >'$Ѿ.oQsNs q<N}8YG >9B_Q:|BDT5`SuͤLmDzow׌ S֘#9Cc /{`d<[0鵭 DgXV FCXm9ƤcC; 0uZp!D w 9>On)θQ3(Nn27aecĂz~DoR ЈW!+SǂɦinHRó_"<#z}wIV+Ѩ˘Hvխ*TWx(`+ }bG eg#҆c iC#CMHQ>VK` 1Ll8((:b.|*䇄FBp+N}Jb8QDeErv~=ɷhT!{j<)[>fa |L͇Ll*`j~x^#,M JLR~  -AvLfG&t+7SՒ=7M'e\2BA&wj0+\ A09 } ! ;MiJ#"X?FEYD-䗩d]6/_FznP 3p8X.-(J/qe/!JZ?U~DH Tܔgz]%-7m=l|87Wi҃r'͢1-du1AhލSdD{ 8lw̢-n`{jEגAU~y!\lj2&Ya'[ߖEpa7SBÄ Q[~`XR0׬OblsB~ZW6#%4ܮo 2'Ӕ ~/RvIZƩF!8i,m aj} | 6)ٱT iWbsK)E'DefhM8gxv秉r&=U\ǘ\Р58D 1ͰWvTVM3B$ER0v!`9)gl@8 զ&(Lܓj~۟_3.cL/YrˊĈ!em锶HLثgF]qdW q|[%s,?(v^+rD*RR`_{Uf 1@EaK49}MJΥ С5zvhǫ-5ݶ~ ~d(U+i_i\-,?X숤bBXӯOC?SE~";יm {AzНg/0%+]{g fYbk.My.^?oie׊m-Z5PF,M^^$ʰ#qCl l* T$!uޱvB-贑G%⻒yq2刖UiA?QDŽ ٷ ZyWˎ{@Lø@s,dɯXʛSlr4يeC=ڋwyg0CgXFωqU˗~8[9N)>{'1|N 6K]/[s D =a<,F/[nFnq4Y=xF`HPyx=0C.t3P"Vzt > Hw)b=3gm!<$'=1O%n02)o&{i_E Դ&}G {gA1yکaz4i ۿ'܈p=;ѶQ3}WfF nWFu-*!H۳ Y(t]5_-ٲ'{Y-២.,:1gl~d<$T v G.- kō?7%UnΚPX{)y>bF{]j4¤?bA;"TO xX97QF-!bXdUl'IǼ0>Y:O_a`z]e!Y{QbOxzzEisCSdtiC"䑞n~?[>i#|[Pl0"jן)=~am.;24Ov΀`<no_(Ow%=>kȝKj5Rzȃ((W6Y,B\/F&`RWWƎȬ?o![Em܊n{Q MA` )cE0yl /XVٰR4 M?@Yl| HAL)h+RH͗箨y2U쉴$ ڒ8~PKˈg~@=Itm5T Z`fEH}$ %"3ې(Y'Dgz㲪iƢ4ǼTWа"Tx.и;W<@eـPRDYI/mT||FBџ)PqߤZ{z-.ѣLpE$[`gp9[AH`rOB:_s{? A5N)AΝ-h1ؙ 6 lYǴtnٿO򽀩J_Ç|zwR -XU|Q<,2hUeQovq{$-hR`?'PT\2%"߱3U1za ?E7ҌCc9]D|J%UGd}u@`J*K"9%OUdm {!|eeD38!/vj+zq__|^"}#TJQ:pӬFZb8]=?X -6+l%?Z r2y )-*ipCF~8Pق+I&YCWc>BHx){B ר- )XvˇrC)̆]_Z{\՞OA+̺d=(f ycP>[*J`LK}j9UaaxfqR|bzZG߃g:im>%hP3ā9(Am0AZᚯIS0~֜]Hư7v90:).jg!JPjƟшRAO.Tx'FXnx_VJl5@gMXi Ab VOsԁΫˈIo,0_h[sQo,.|h} LfDNɿYgqE#4޿L\<`Ί"Cj\1n w0ʯT'ҕL7H8Fȟj;$Zc!4r[?V$;`׳{~UͽnH V.z5=uo]FQ24✁f O:WdOmJs|]rR-<宜Rɬv;4%x@zB}j4\ -S0X;\\Y9_%˞UW_?CjDF;u7~Ua_uӣzsщBpIg1gWFDJİeH7]?`wdo[7Pxqŕ SC X-údcm)=ޜypmvT9Wu/-8xAݻlB>B٭;e; tED'J(^175vn  H-՛}w 9Ɣ)-236kyd:lNm7fu[C9WBw㓯$C;:J5蚠fS/3D,&iO),_)Wj+Fu}OPB嚧JÌvAꋴ-Au{@ҧU/LZi~>{DMJ` f)!k77k T`;v5{o.cG6^?7!*}/#O݅:@㖔1'q}E1m9A|s%2"E̟ĜPKe-L17 srӘ8s>e򍉧 Kb*w eTu]$3\\HEsyY{Xc>dI0Ruk60by~&2b^h${C͖?ҿ\AYxmbeȍWf mJU2ɐ}KG*姴I*ӒCHkrdfqcloWxyVEKw%yCx"^ʉXHӎ!PGaavzO1hj?I LDp2Sv ħ25Py96ŢKЁ`w\;*L Rzū 4!Lqv.;eߋL ]3XfBjgazQfqVvn"|4  R1IcnrS3I F`! I JeJ%+ڹKeS$cW*e8"agB1]/u-m^OqѹƆbݤpPՁ KA _;gM~;)o)\k%ILAP&5&iVóRV8 sV}*HyK8:=Кjv*5,GМƊ U]S\AySjMwSVՄs8v:}QUd9i.|?>< Zו3r"!`EG;*h=7ّtiʓkM?Ԫw׺6S⣙QMZM'/0k?R_s#GX %lhR 2~Unh9~4NfdCeTeIŴ))MU]R1uhiNѠz_0"Pѹ]6ȕQiT:׭,(b$c2.jO!h%T:nmލ{5Ӣ6 ԽǻEZP'A޼mf//쯬}5YedQ]*H_; LDSg"Ӕd?m QuWš1lzqI 'g>Z^-s!Dq+wJ ,sf.wZh"2fcS8LJn5_7f.\NH࿿Gnuqr5CD VՃ\0INU˕n| SؒؕUT=|nb8C&YK龋Y~,Jɞ~*jͅ?| 6Jo@7lOVA0#b~! u[$av [g+!vb(MK fzYEGO/i BkW_RI(Tf}2C?Ef CC $\gTLzF lJ-&Y0RBPw!q\a &#!nٗLC۹M^ $JD/~#jP4)Wi3΍dvVR+a2b=Ah#=㏊s%36zK|*<"> /rHoO1z^"$ R1amq"I\%j:i؛1%c/V#貰i*cVGpFX%r5W+ц$vH2W#gݸ*b́LP J{,҃Tɉji=ִ0h-uXL-YT1Uߓ«Y }eQ( x+o vwDlsmOZ:H[}%2`ЋQg_6`p&T[d~(Z~U<h,-(Ϥ0P.jbgCD ue=?׿WK &0 'Lh\!Rŗ ;E9~bEj8PU{B}_(f\GYRh,x.zb i;>o>9S:  fIr6yƖTN A l=0 o캟(89X_׷Z04Fc8"zޭcs8(e1+\Ƥš>*@5EYVn[H,w}޵ N 01(/1YqZ]x"?O8g. hak`{MmV_ڀ)md/Shd2 iHAZoAZ]fN4q)ʙ+C?<#+FZWhU9Yk*6=\r/lq|?iP#7M5S! cGh\`  ˷4J8SBذaK>Umwu. 'Xiӻ6d_nz?WoQ /''o@;CPWcaU_ȹvgpyOƒSՄ\Ϩzy!.aS&Kvx_K[,Dp}tѭg#DPm{$_RtzfݐxiЖ{HYG)m^(ZI% =CM˺bJk!Q6$6OK3EĖU5ӛqk:ˁ@C2~T|rYs+>'R]_9cV}Ga=}:u@}wղQOWމ;ed* {/Fo]&h38t[| !xWB9]Ctx6"Ѱ^ >: bEt{[ kЍ_.{7{ (:4SkMXy(7, *ɑ21 C+a,~a߯I;אaN$#k #q8\IK4S>tlA5[9Wɴo߂bsHwwJO{vwQ NL;:ڄM1fN=LH8&l׍Su䢡kicbF.h` &vCShRX"Fj]橩f̸슶aqDj/b4KVNl-6%D,)^i\~qy:/_ꁃ򐢈kyة+\DZG~Yrqɵ4:U"W`={C(\w/=H\b+Gr_xLZN ZTxswMS)gA`4 |hVz&M)6KqhI-,AȩǮBPFkkjV]~ocJJ;Xk "F+csd㑌 2kE[eոz]yU$)۵Iνap;>{j )%VKF}LiyĭQQ4WƐt~L׳xrC--1{қˤSL%5z]K| eWB@Ga$Kx\reLZFdraę `4ф2r2KOIҒ,oe*lIduL+ Hxa V?˳MFX{x*@- iBۋgkhXTZTJJT{tmh [ͳ:ڋ$HgM2ѥ$Rx")X;げWM-^zƀg"i-heΝS9yO㜄 TjyU梓/Yȹs6Vo8_" vW]inYV0{#j0z]ŀGҌ ;7;g,˴RkC@<yqa9tVY.}B#`2p-l<-T${1<TGMOt")Drw fK=[ONmF] \\5oǾݞ̻ճQM'F4 yU@uVf$xa]ppcJmfS@Es;; Kf /^Ő`iC1xB2BZ{'"E*O%ˎcoP6ХC*5kNHT&_8,}N/Y3:]OƗFK-0/tn[ǮkFiuGRmM;y};掼'\gI]K ܫ#ͪ$.cHL2vzlq4>0"F]}AW0.BZ\%S Ua&~SS]!ȴB3 ZfipF6ݤF+KxṴ@g{ yt,4 O~^v~MǸ};-䭐PbXG92(0(CTrnTg6BBZ3SC6ﶂeso\#:쯨Q%Ԍ xeI6S`NdKZgjYj5syIir );J<)`=pޖ-Cd^b9<-*u*tp_ \}}Yv๯YżAC\@}HtT5fì ŷ$ .ȊQ^9Wm +O? cB#،N@ܕX%%‚Wcݢ\@1b9s[.Kʒ ~ hMcjՂɖRCJCg)y]E5T^^vӿZem, ve 7C2:n9{ % 0Q±4U(?C?*{<Ȭ>!ǃ^g6c6fLVY6ݹRvճyӬmRζ]v5K{,Y#6R3 vqvEN+&1qZfzk >r8{y!sJ{@b!i X$ 沄m 6/{@aB*%9+d2kG:JQ$,/uhmB\s*jqv0͜v!J@2+9ŀsSn~,f@(5]yXRY.RT8 4IA'\GRFRja&tTac;@yW/w`p0E!_MLosF6rSVOJ6ר?8e1;xM0`Ն7b.6f q3ρ7GَDv'?9GI|v9'`mGSm!OWWP˟O/ksGU^R IqR}@ Z[L֗)JEs˯nxR빔.7 Ōs0VQI<|Z(Wà M/-[7v Il!}:xuPĢt9yV"ޝDF * ae J)6qKNs"̤,q$ r +Ś\EbH9ؗlsR 6ڔe2ԢF%)+G_j[QXa}fk^V= DͿ<5"=~Í,%h+OVjLu*qS>';-<D^(qQv +#Yub i7Cy2\m3`;͢tAk5l7iק"QPTfbENa(fOuѹvUu@jp"PvL6a5т)AeU%rGoDLM.db0g'FW= ֑pw-~~`Ĉ wSV=;WM%pi j⩗I@X Ŭx#Ez376-5A{l?75e~1ۘSx#q/RҐnJU¯_ƫJsXFfFMkCL8UzxPM48c1]-5ncK=w?4 '˻ .0m'|x̩*ݻ( :T|2tHFG'蝳'T;&~dqۻ_1E iMjΏ} gqoq♵ ^8˄;fR@ԉĿ[<ЭIvqFl NJQC#Yw9 d$@jɽ^c&rAvk<yȲ>dC3ѶQ+rb#`;^#1x EP=[?itRol|17=77/nt\u{EUU7܄LI(< vԆ"qU['O8k"e9mɡ5 > “)*EZ`n{-6a;45g3E[ VǼJ٩Y8k! kQ<^_a:nVIgXx筇Ѹ~C:kT2j8|nMM4E 5]bSS:8GYLyrڈ띢ĬPpG צuً>}ϭ\ޓ7pS|][.LIf '!*o5B~{~kͳ$@[?s(T@vfyKLPZ{ՙ|93N#sϊhZ\;Z5=hB&m^`"$d>[չ*_ oQdz*'I( ;#S~D"1uSU1PGpۥLjHis#5GF[3H-H0QnYU*qI;Ya{iP,pCi@+Am"\i'>ZWSCr\Y~n8=ftpe2/'w9AxW# 3N\m~o|iQK@\l!hb _-w?ˡHjձV]ΠU{7[EM(!˪ްb/gW/Y_&wju}p̠br^w^14~%ZI5l ^5|݊,xp ZtuY1L^.Iܫ4.w:B4kY>E"c"JQ =k?Ξ\h[h udf  *f.,ȼ0JQg 玊ZOU8 &}+ f%3Lyׄq>>7Y{" D9GhiN)2}l=vi Fk*7HWuFD趞d9f\6nV,7ϻCa k}tp;ޜTl^ LS3L~E?1W}+$!GUƒ$C,(;l?$ AwmIl 4䱳& ndv`~$*_Z3Zw^z>\MS=vq,) -'1of8@T_(kсZ+L09|y{tl$` h߅w"] 4~V#\}O@7IEhR#:"2Z.!D#5Ա^B8.LXvgv#^2"dG4k+J=ZM3n,&r~7 qCu"qk%-,Gcy{ن="8I`QXl;niJ狳Wp/Fi/P%3Bvx8q)s^u/ie["lz, cmNmP3.ؗc yg՚*oo(k5|А=VRv3U"Q>S**E|Vjp@Ĭ2VG'IvXwg?8~JHD`j;&toncxEtjrC:e#k,*oO'ڮp{ L#H.GpŀO[2\[#FuJSq[i{ւ5&  ݐa\D_e"=]B&P *xl{c`OuP``Y%HDڴ)BヿyW/~uil~(;yA;{e{-uAjt(݋^-8uy$>]c8Q%ۏ?cπuv$fP8[0<~ UK({~ ̒\w{tO9Hh^ߴR8ֹX_K布-]-P|X\}#ptP{=?.4s|!!e3}́<=>p 6ml'ш!b?1D"( leښl87&hDٲ~?t+P׹ a5:Dz9^pC X+U8"]?,<ފdFan;ɠnE~9:m|0U:c ?e3]Z"MS7"kzA/CUu\0䊋aL!Quݕ4/=jQ%uj¾-+bqM軯QW,٣lR:}H`R3'Fᑜ%Q@׶ͥ`tS#HSo~6Gr?lݘ =HqX[&3M~Jd!hC~OtA6XB]6rT[(/sB$UI{෠Tb%!>hZ *9~R؁]5 N ӡ03=Kc}+4kP6"\4ن\Ԥvs}Q8@: /}ʜ S>GkJ3g%u@q?sF&t5(̨FN3iaO:RyHkt$EEN9ha T(&{: {2[U#"& e+󪦈MyD01y9 k.;MN3M Чr V2JdNSԬ5\n }|'#[p T eЈT;"P(ІV*[jĘš7+XBm>e? HNBYa"e%UG%)6 #q_jx@\5XPOͱ;uO4J_ʵwne%>V((]kvMT=Umߠ!S)))$D 7~ufuoWr X%XlFIfST}3щf=efGy6l| cN ]OuPB(fh nbySD]_I=Y `Z%9 o" >&o=[ܼc>V 9DI5XqF ZV%+FقPykPa_zȏMÂ&V8GD]A=qvW Ui3qFTxrGFOAY$qo$[{$O/gz C6]vMyF޼X@g]סZ,q~pf9I- \IEod|qW} mTez&ֆ۵Wy(|a J~όD *C& w3@ô;R@ƪe+ww_[ЍĜ#+i%3 Af>eis /FM&4TP1A,Fg 1bEfΎ@=T0К@.'5|˶$)2Z=ѲZv 趿M O|>J7l\osďٚF%r`[+m&bmlfVoěɛ.m~nA0j[_'*NSدNĸK֥!O}rE[u4cPLn پd,٩0:zeteG|VT ;fCd! +֫8ѡddl[16=t(t3%HbAթY|13F?xN.Yܔ]:ӑO DP(S]5cqQ{%  Y󕃙%CEs&v^B~'~kh۾<_gZRRk"]'a^He \Yb8LDO& w0U[#$Bw.Y(8 >qԲBSF.Bn(_cn|Ͳ1N&mL8r NyŤ nO`dһD܆MSA S5Wk]>iСf)O9vr}2m:ZJ:t*07 @QISo)bƏb}lA4`XNr>4:)Ia}T!16:WV!b.IS>c|o8ZРVFhؑ+Nև+\ؘfEƒU$r8VqQ|`A'#/ExdsnC6B0k4{gȩ :eah-vV*ŷ-GеTt `)o 6z.,5nM2"#xڕZIjņN SBZ1鴌Q-~]73u_u-Լ]uh]a#0 {KANnwlCboa5f#B+M.z,BqbCDcPlpPO`k߯i$6UG\ a&7"bw~2o]2Zco7!N&|a>-ӎP"?83 3ƫ%7E} -T?i:^Pw~BYr VV7=:=BV_þEH/ l)wi6 @ ~qc*jn6>~)Ck1{#l2 V$ڮδo{DB02HQ,OXyqm Gփޭ-'K|M\kbrgUoZ|U$#FW`}~?cu2`-X:\Mn"CozOSX?h.KB YW؁!+o5nCZRLμcW9n.^srTRt-ΩZZ[.к/8dzȱxSfg[hcZ Uc@ްkgg$P(&P0246HA75-x"=kR;&i] fό#aYU$Tw'_!?a WZx&#C:E}ϑαiqDcwc? =Mvzgҋy0Ne!n@2ӁN3"Md6'RqaɑxǮ~|*<#{w}DiWJzÎ/nL>4vOhla#/TNE67#-C_G -ț # ^ ЛY/dRVsQ4i)VwЋL1,qid|&Q c,SsJY[< jQvL78w]pvsUp/0? >6QTZx*!Z;∤"$q,Bߟ;k1w+WQl Ox5Yk> KK b z~DB*fIBx鬔|rT(!OFrit2*SoDےLXDᣆXEĆ8=+$Oe$'Y+Zn&έ >Tj|O)Y͂۸]%+e;4lWڽ7o/偙W@%t)-(p8510r9nwQKYH u˝S* 3R&8{䈃+s25iZͲ>b_Q|p7Jنb !ƪxiWW³,:*9FgtsY&IƌE͢)J`d1d ƽA7Wӧ^Ĩ|ϯt#CtQ%$Z| MTFN/cfb LtBZR^f!+0r@+fFj.%O51ĈUv4:yK"yIx*{<>k tZSbv>9-I$*M.Un,K"ޠ~>߇ٜf*JfcJzS<=q͓f`}elGb^G1+4,>hm9&Vvwdb cυ!4>hDAN3I>ڕ>&Ctvvj*yGӵ޾յ,FT%>uSǀF0Q,J?v_+4lqND7Prf')15lZ´"߻/MW֕C?wdK 1:+#!]y' n /G&3iet;-&ZOY5pC= Z,\Qk:}v#7nyM0fUҙ)RdK1w{o2F)RG8p!ҚFD^٨?E:0h+N-3_VkIU_KM^!٬x;`K͏wY1-7pP-rD~Clq~M%{htz^@Ό='iH[3֖ڦ. b%:裩b`AH^y89tR礄BP/_Ϻ}?!NrAbID [ءy2" p>.6EI1ŝ/ {L"~R%.AۙݯWo4&7#s q5^s'2M$.\wzP y+wJ5zF}Sq/ h=,K' sUP1OEs|&V]go^9\&sN܊Et[ѝ*r&A QRKեiM11º2Jr .`zaߏ0{[,J *@{ASM;eBGd Z{ÐL:!xJ쮠!u/tM}GQEH,:kRW :|9}Rgs1aE-]]ZH|roc}ϼ {#t8`Ijeb'C<]P| xmpm8!/7$,_ܸa4zg+VS̓b'wVtC Ox11.|E 7 x)&z)0+bve H]m3/)3 yC`\W_Tb8;]mI'˯jc]fܘ/؄AimR[{y!!9aZ{xDP۱,5Du,7] <.B q(z@j3 όQ&bS082 \nG 3U rOmA'I0:֋#TH ]t{.솒 ŏ*Q>(pxLnA:X5&+!7]:JwvZE]B_}߂(erA r| ,MMs,-Iܔv/[pwtBuZL@XZteEV?L4LI%bHKp .7"=cdpr[Avkm"r~ Aq+xrU-nPFù4e s4Փo[~>՗@9'Y7nY8`OQqp5Ъxha8]Ks \iiA&-g@n6H'LATlHowsPUjl)&ća:;'Im2&c|#Hi==k'X 8^]sa0]؍?d_Ҹw]kX0~Y̥t͐r0]:VqMz֋7QI rԒkG* _y;xռ[I$7#r]-ݨx%ykzwK"N}#d!NPM]7147Dԛ7ɭTTwyIz/s) _ȥ́0c&YXӍ_-p]ߌ EhX )ԑ{O5~kw#Z .L"T#xqwfUoFiL,#7$wc ' ]X2JŶ1^:D;U<  T3z/r֭Cc+Emj~x$}ymXK2]ĄQsrm{VJ@+W Zgxh۶&bhd8S-ϥ{yyuZB1c ծ|9OR-Rۚ Xr1mcy1y/ǩ۝\dH㔅D}檩J !LjɽsC*/ ybDaw`bJ+3O.'4<ߞlgL#ՇXD;c}JϨZ3A2NNKWFGD 1P쌷ckVTFkih17lqa6IX76ۻoSw+$6J3U"AS*='I| #J2"ߦۻn~{ A(SG٭zN^ŧ{0?%T!jXҺ b t'C`J)BP,4Js*J5H]BRwvRKCɷE +vU}l*+LahSx$E!p1+po'DyjQRb>%jB:] $Gs֨m/pD]aBqDƂGRW]̕+0wC$nDz;i9)/m8Zc@WI뜎Lj\"C>A;Ш裿5E}cOm_b/Ѵ8lX%2Tm.C/й8 w  .ĀT 8| 8aZjd9JsQNՒ!"%4" xϸQx-pi:r܁ٌ ҅+o$TĆ"u9/pËqJ AE[ϔ@)jE4>m.D8AHB\C}:&nE!!M/|yA(eg4hTRK9z/GBtGƮqtDqᬼ<خ ^!]NԚt2_PV>ܠ7x 4bqsN؍nkj8,lȟԫWT'͎ƠLUtiOėLeIRe/&XmDCYEXjM~lZ"S7'Hpp߄RSСI߶E5Meg# Y1 MʆHn"xpDlq0b+MJІN`mpa#Fngy:r >eg3LT 2Iha֚TI Ke +0"A Aky+iw mZh *W Nv CpѢc&"E=$XRω%g6eg227Ea73pâ;>.h(TFD y%>UOpXEz9_ݿo3IQġŴ~W!/ ov tZN&5 ۯɐH:9l 1K{1'Ursbҍ~h޽RZKCTW]؝vd%D¸ٮ%HyG +wQy"ivA&^`J#w*UsS·ig5sQa%Stεםp nz*TV%/=Ռ?%}DU,ly A:nκ!M'ϯ 2,=0]+8)ìN#-5t>~B53 g}}H$ܓ0 ҜQ4˾7WV5;>]!ReN.o*ZU hW!ٚɗGr B7DzP* B/X')PhU] )(:EJ86Ee^ ֣lfe?J4m$7+6JqÀhm}>?k#(ǁ Yh}pCz]7(TY\^Y~$1aکsEDã9ŋ[{+5*!?3=ײX7 2W\=ʧGTgtޮI*z]嫗2SEBD Aۄ[}W gIMX6 |isARaI,EHsEfR8OH=ٟ*_lEol$0~w-h2]Q+L7"hN'5.r!̪?!_JK7$*.%C:v;@ ^lZ}{(^V͹kB?mP;iٵ6zHX%O>Y'ӚtA_@6mQb'e Ffk vW7͉ӛ*~Гyhޫ}1VQrm0B eJ_0kƌ~nIƆZ(+=Ư!)Y)CO w/0qҁ]xxY3yTv𜐬P4v3T5Շ>btMn79(!ѢqIYb㙃~Km`?>W C-8 Zbpҏ.#8Ԉvr)zOg9*BL"mWd}3#.C@]|AYDWWTDv|Jbrbv=wtv,_Q⠋®2?w0uHbFQGLp)wy?1|H{/.nE(mP8jRWZSjڳ@Z (戬DZ&`f3_sGBz:6mk >ak {f= % /aۀ+ У蕈 & ,{M"MG̣o")*w/TfCp]{^IL^8UJ`׎.kD_yE0#&7aGOpI13PNu`HаU([/o^V~x=ew`ܑ?(!^֜[XߙS+|TEt`t4df]Nqtt3使JcP1{!.rv;$qq%u : s{Yϋ4+3v %HɭvF[J`#_!:IUX"d+ CQ,r`$}J^'@mbPF%Axgo-{ uFThWil{'a_K&+s%%.g#X:. Yֽ/Zl4e rP'H0*gNmfֹ~e ʉqK?2Tґ2( *d \ J^ XV0m _@MpL M$p [;AGb_Q;(b& 1m"rp1)1 /?r TY o**d\0ߊSBH2>g͟3HFI Yt|qg4d9ݞ7tu/X ejG`7lL:WfB N_DlciYX`cUFܻ!şuؒ ʅ`DV6/ n+fdDḗ@AsaK_ 8_\~dB0\%}]ј4W@qlSXLHsC'.MCb3 o|<]t(փIesYbJ.gCJA\6=lCI&!J IڇQKBb DKF+qI-݆F{'#2Z {yJ=P9[ޡש<9.jRd{n#`v:]{{nzةG~Nί6@A`:s"i:Yn`jilϑiI>n:$+Z*HຊlakLέG._; ]1Q2WѾٔLrӹaa{BOYbі<޳7.b*yN5@n7W|n),8 iޅ|}S܉27h=whXb4m'X!McKXeHd|L ;Rn?{%VX41vI (aGş8;d9n/|{xldR`3n)Erbأ&3Z<, |ثUY;"_;Cr8QI2o*w#gO~P* ?X3=I) Cu8'kh~c_ 5l۞+ӥusQRYDN)nPzH4-~ J<3,~RĒUHІ3CSYSI,WE@Fa&'ʮtkp+{ y,—J|X~g.!CmО'nۖsuhaq.9ɔn3vz#[/ZgqqֺٓO힌ʐ+kbX J%nJWu!7f9 Z}7Zٟ ~Dz7zՃo'RZ.x%mcr,m'E ScCQ8"ys0z} |CKlAE%|Mt7 @"Q,˄'־*ukߘ+UaĀu+GG nkvJH3&< sĎ|͖4gdh A#| {YSZm;}^r#0z=|kV>B ʼŕ0hֿ7Y;foQuM&)>|T~eڙozb eT0߂fMt$rCN-8|M7)yIuLFq$~>}"|nmBElξĒ6b!9.HY6oIJQG {L"n*ե񻠜p_3P,QoC/t X=UIG|ʂgyJr֓- IkXޕym m p,;lU;F츂?$Y=Jl,ƈ՟ ڙ;e聑y0%R-giWY5ЭLY_ʧQGf̮y&cf+{RԦf-BHfi䴰E{ #ĤJNOwo b~R0n;!VsxN1@$l)Cs0ψ󓚋WOeci[*W &p8l &_}7mj t^ljݏJ7*X=wtfhů< T0-%{~,.ב6!rHr- _ Н/3֯W &, 5%EݮWė:36";!`B?1Iڌ{ ?qRxzdB,mqǪ){] XNjsx!ԃ>! og3.[L!ޚR3CCѫӧBg-"9υIO-mwр"U zA&n6WYI$z |fߵ(r4X ;+ -["D%zw%rvqǤ-am^Y*s5ɺN$0tynݦ1%.XJ uqN\1fٓ-?vFF>h0S3Q>AR($?pY'ޱi&IsHasX+ s'' %ڐ|}~HaQxcϾY/,z ^5M?1eǶ5-)aXm#gf_\8tTbALw̹(%Xqbϑ Nݐrmd$vq,.e |VXW< ;@Un ԧaQÀӳmQC4M2:; UQ<6%c+*u)ќi7~3xcMm(Q& ew\@R:Rw M(A3AP̹$Oyٯq KfEBh {^V0:u #80r-C"Q|pXm^2gF`N׊Ϻj[ӈFj492 6ૃ6x/'#_C4$:;jЀM_5V>ȼߒb wk,{sb=2Ɲk͓X?_Z3*Q\Z ٮ W RF0W&l:_Y%-F+ߕWڊjv &(Mk)SGL9X&ijO09=YrиeC>3#To2\dV4"䣩P28@|RqFM_{"Q ~&}!`힗Xjyl "a:^؈052YaM< 'FS6*A-H 1b~ d]r !n9叱WQU7+r gWGstEt)1UF^`?JvufjK~Ɠa `jů6A6IV ܎6S՛)ej0#>˧kþH{*Bu՟6q=Xd%W`ff]$zqݒ_}yp1tH'"'IV?' } yvpL:`\0 3G4p5b`,("ٮ\;67:AxgZNM wzrц(&;fiCnȳXKZ_~HUVeMzKo0Vϔ LYVi ]Sp2%F |Bj(6G\khEizlle`LÀ.(Y p7ǾM.ҝˠ39Q9 .g%F)djAK:<"ȯHXdq}X=O B>rjuۂy`Mա!3ukMQ(H" ɞ[` W 5l.uhD6BP=4u:x} CX iNo*9^GYa U.BYFU iZ$-"x R9ZĥZש^5,Q⋷H JR׷;~>Y$)PlF»&gj}[Ux^abؐ0_h$&͂$9Fn&X-iOmAu`29 {fJ/>%h5Lzc.y;_LG<:x!^^ xs+oOԱu^FNM)@>Vcx)иFT&U7=%d}˼rokAG=yci,Knts3A*o>*݃ӷ8#Ivl]#"XX)k1ɋD6 E?yf9FcgPʞR Vk`EUnuYz'Iضj%/Ap!fyZyaJylpf'GK4HyԳWR: {_)3Y C> 9{%?^>'aZTZXfNM'zϸ'P"qQ`֭jE%)cO8i<_q-_mNEs;zA hW"8DM6 &?Y!Wr@f[0u-;K E#V|Ps|J5eu[o.MZBO]SS̅t82{ |ӧ!Dqn aߐrEjl$4| (}~m*3n@qf"B rR="ߣ\{m$tH@t1J,)eHR Q|poqbg̍<\!_fQ6)iڑmD]a6Ǿ0IB02CVE{&A,UC '¡͔m /b7- !/H-< WB[d "wiGa0[G-"x#? "ۗ1kgU6H`K!v>?rVӿ}?KVU֛[@H1P@@'cxZqH"W"QO',mlUw MŘՖ杦 SQEV$zTF>rUیIT*wzV/!O %xTA M3d{.[ H o\&!CN t/NXD̚al W2XVs1Kͮ^GwyDt4PM][&q}HHFnv`K~aɉd/U4Bsb^.qQ5^"^UՉ|Vwt\x+q!(V}C'Y~R“/OyfQ#^c*AξNdK15]t\6 7i݃sώ4,~QAM#~"yPj>DYqld^sw26INl9rAÛ?x8{c=wr[OL]Gؾ0.ۘ耯Aqk OjʯŁdEUt+$Xu91/gP&կP%Efulmm(8wgy"Z(uWCN󖣯 ?["paͮetxF!if8G$Q`%sn[Z ]Lܒğ6Rڈ"5yeįV o0ux $AfH9*űeʶ_ {P%\)Lf>/K˿4$\z8E]IN8}#L#;X"zig;KJzЛD,_J]` @fBŋ^O8ث-G([ܛnr0/p7$%//ͫs[hGf=٫{Vxl@K07=Icq{A՗tI >Њ CC|s=ULgٽ^v, 7,}W[Mâfu]- 3 qg1zvQY9x'ʂZL*RX;WFbUGJ=덭[K,)CYv1( ޚ4д!w!%ԓ2n7u);æ+'}HX*~.AeŎG.t0P !- u I`4YcgG3IBUH *eK_THKS% P:+Lg:Q^;0Cef6F JLPǠ ~V=uKc]MmhΕQv/ V#ka@"\BQuFC@fO#bu +F m/3\- U!aX7{imie"}֡ Uc6+Dj￯tqdqG߫JP0բ `Su"aUcgҖCȡ!P MHzi7p m`X6>@N]?CQҮNhŸ"M̌ၭL\{N =DE4^3:3R!Ĭt\I{#_X!+- J&9v*,T&UsxFJ?- ҎGwG% 2oV Y6S!euWPFĐǍ}XxrKLz g3T dLS}gB23X6w XBG:ԐK(h˖^ir<3]x\n?AkpoV| (Y7>ޜnDbq!ѾX;76݊vRls68М_tsmDoUKڿn]E9Q PEz_~8r9|a;ϚEY`ݐ*B_ҷJZXVZdO-6#BOksŻ@3ޣr\fI`׼'$*LF%} *i/7{ɪOXORgx6WxI|[Lk_=o '`YIM<|~8Js[9z'Ȱt'-nR*@Kzq C`62T3vC&Ωʤ7ITɤzvD ?]FvjgC *ڗM/?,+gKlOD4T x2bڥN);luu^rNqKMԐT(eT5S,DhG!++}O`CjցL5Iao܈yqe9{6I&ƨ8! #uM% ?Μ_ W0HK5oyɵ"qKW^HqjX`"v^mokrH&v-/h/S85[f7AhG-r$\@P\YX45 HMLEnTX 9FdTsY/إҤa<.TO,`-v-\;l [38G:ֱK/ͼVzZ)RW Tl1NUXT"wZ@F"WDIQ&oӳ%p9RV,wΥ$.MMV [C-.P,c!9%^%cJxȽ,#0`a/-`VSHx6KKDzC@Y˺"fESWPYo6asX1z:IIMޠCzZ 6"Y{boY +ǣVSP m zU+>C<3C&pYttw;zjXLow,G 7)HYಜun5Ww_/ ;BzKX抅N<)\iCu-* ;fO(ӫ}#V= splj8ua4x7"[|=#hh]3} =H؉3@FI,4,FCdBHǤ97WR}} yAۇԛ= `"f*tߖ%޳dZ@MrvmL;4Nh zL(AxҖ1GגxmB "LpHim;,% ~qC(xb9l džnas~3xP1WXĹIWAMM(V tN??iBQm.mrê.Ss/ҌS]c3 ޵U]6ݮ/ z6|XtMx]Nym:r%H!dAPM*3)S2IQ_>Z/&AhbD䶸3e\f8*zx6`De-1N4W&>̞ oIp( ^~9aCQM7u9)]!'ThRhkqJ;nəÕ{gxІQdAacpE- 1I2q N3j9( hXnCf?u޴&.҃ä{9dcՔᄽL^ԛ!{ZB3j-?Ss 9{LxE,,,Џ7@`԰wD7-jz5m֯%2mІ#*x#RĵHhX7?ֳSa\os,^ $f=u=F)#%fYQp^ח%l,G>RFhZ'IӡSȗ\6doHivKv%CEI3|F3ǼM%iJt3Wo9}WF퍨3)F w}fgQPZ{LuB y>wvm}u9%%{0ߵ5jR?LpdZy~Cv9y}s$AGw `ڎ'J. ?uAW#{rnlД4샶+4t8?ˮkŬ$xp/LS8IyY!vS zT<˧FӐ9#"] mYJDH:l&&ъ/,g *`_rHLwb(m=~.ڷIaCT;(3q,SH`6\y$ԒE`щd~'dK*O4]LihiًYY5O+ˁ=/:U-˭- @7{.pzɜzt)QO_o+1h7:G靻maz9^RZn5ٗAɢwg ?%:.uE"Wbq6;Mpf}]gPFBL4y~(gD#~gPRE3%gg ^d;I/b^ĵnK? ^>dSB$ X=?άVNEG%d% GR~ؐk>N'Zk˨3!>O3ݰvB8H>t Tcm-r BU x+܅g1҃?CZy~nt̞.ZE׺Wڛ[=HƓ>2/2!^8r et [TCvX^hӓn:?°B)hH $4qMQo<.w7i1$WbE8勨GФ= FVOMw Ճsf|%'\nHm]Zf(u'e,d<J#uIy9)l WwEE|iu_' >ŶJDŁVيjptuedS S&At"BXD:O2@K3ms>'6'H]w7/]Fx~'E,dś?^h撠掴"h@c3^D-M8 )ÿᬓoa{Qn;G$s# gd4uݰW86B xΔfLSxI9VЫR߬ ,晎Q16-R+eCr.WE<GߟcZA^ ;tŔdqql<7..jxc7ub@W@Ovmjo&Q9F9np{; WId@3' ;c7>Cp(n~ }. ^ jp{߉v-tRX#jzvpћHL*/1rJƵ3^DIOyzsߠT&j^[#zGoNOmIbF*8P=QJR;حX^dH f"oLHsQ(uÚ]\|N d,LT#o?A%07SCxӋ"i#eUؤ&VEFl*S,hLꖭ#PD Ǩ k94Y @Cۜ`؛9MBPdQHP]X&5w3CQt#p D,3K Fdn٭,d_{Ɋ'7D `t;%gN~842$vhJ.WKFwxQ|>)%/^@WPpYؠ]ŊdgAut`8eV48Ƿ\eSzA$b@xH%yяXowʰFhƤ9g%E}u/G$*{9EJbh"AkեkE/[ {ް;6.K>. u{j3m@:A C8L E|d3t}pl>N3yk1'TWLwWѧ c53Ku@ZTj0U9a5'w51c7xmޟn)Z~s*[\Q/yu ]WF}K"-/*sE>t Cz=d9#my,g%^J#蘛N/G{ORѳXdބ>I ><zNp÷ǤSro*toaÅhXߞp2!Zğd;w 𣭤kc 뛎9HtrzF8}6&#eD8V }A 'N9}:Y]' ̠G~qb%Pڈ 4~ouWȁ݌Q6{5. ,w uH֥aYe~EYtXkm)P Ş\:s(mPCu. G`Q:+!p@j}Z 5cYeÇSegKV Zc G #ݻ [..5q,4_'u^;f6{97n^C 1}OHcaĦY#+}<c䣁K'M֊u^w0nat|[帏.A fOWX O ebD/[jэч(%!w?t U#Lwx` as"DZ o߲R~A,n* Y>% SˣiT-kwr_/,$per-N93 )$7 ٥C_'2uPf2/W-QYWUexKو5tmsӌ49EtKs=@o- mqtbɷ"4}<[p?\EKolw9qC;EuٙCuGͿbn1&F9#I6㐼hŔ%pG"#3I3ˋ>B7N21{Q6'|fVoKJKh{oH:'S>XPś.l!?>Ͻ(|l L0ġe'j,>hdÃz74)zmjdz.eFur>D\T(Qs%Ee 3Q!s@QX)ƞsEgP0MW]`P.YdN]+OJ!ZCXAm%;aE'ٕ'Y= Ǘp_0 r&}nb(UjcRdLץ 7N Y ˺%5m΄Ѫ$7؈".0p`--{!X!4qd:d7Jb5;AX?>%?L^ӋwVuIrX+ 3$LLOZHuE ί;5Ґ`l !Qۙ3B񩝜75~U1i0tDwQ/ `4oi&sH'2"s@Ta^@\MKBK$B?9Z*OksW€6>h>345F-[9#0*4AKgB=C%3d ۽brE ^m^]IҿڽcOO˅Yݿy1%D 6uccMS06#E g_+'{l -FFtUȟ^{5HV;SE*1-/5RU5yz9ih Z o/iW) <¡LNdOb' x6.PM>Vh#Qh`HV|=HX95%7:("ۋYܓ:qL#*ٙfRqd;|pO}Jw2`Y] hP*I7L=^gzz&8X[  | pO%X vysE";&?Y7[yKR%ѷzXO r7ړ0,3b4 oP=ayN\ư[vn1=hoQQ?.ƺnJZ} kf`՚0~OQ<`}[ )8CfkKI1Z˘_P+3kaAʰU7$i89ci;L?x^VQ+)q`}eAӀGΐm s\oQ6#Xb&Ifnf<gְ{ !\u HMֿQ}18mRT "nAT{|'f_gF#G:UXe_a -KPiozhT,";FTHBke:wCb7fK+`E Dj(0想QrdQ3k 0j"zDFgD W^2"UC~)Ĕ^chL}{lk?IY)Ȳ{̊C/G5IvPrƬ'd5|e-e!.#zi`Uσ=nm 127AV" Վ$ Ƙ}@IikʀgTrY0fk^33*}:{̂}~D5 /E>m;TJXc*rRO8Qʆ"L%1zo4PFZܙ.0$#~x'xv*L{-xK?InEEGI$d*;.z분?f){eYNƖ;l+i~uS^Ɛ[!1O!/_LP>sWS5eAî`B]:9W|C-|;/θg *7;Wl`~>Yڅ+7 e7,;&cOG<[a:DB܁j+rJ [kTpȶycp-X[c:p/@A x8>AʍfFnŌeyٽew#X[nϵJ56Scl?ꨪ>(' +hҐ~G#aT ʴ<] ;BN^e|MX#wls" ]z|/ôehzT2!?v9Q}΅UmcjH NQϡ/PܥAM1*`j2mgUA$"͖dIy|H B`(|an嶌3nբp g/ї}[6xxԂ(ߤ谭*;"VGB7m+HʖژI}Jl,S̯-D'5K# t.Z&ûT|HLݙdȖ{D>Tzu 8ێ%:wwh5*,ye\TY}|)t LB=3Oeх?aS -"Sf91xlQROHk_AJxE$0.3'EB/hVbz+]oK4-@/a%."jFy@ݸ؇؅}?ӻ23m^L4:AA"7v킹-CA똗D'p4y$jB]Ti0-B-APY!;Aw=cpq=oaPw՘pkBUb*؈vjTF4Q]ben-R5n[mnY\BĴBa=20Y}*lhNJT'6ZE_{x9^>`篌Obk[S>L xۏl K̓BaU5^J}xȿ-77rkKP\hPbb?:}k,JgA7Rt]XDda &S@AIޗ8JO@p0Igۦ5E6(N{;&1Y9H:ci1)zE'jxE@ː#`ynoruǡ[7PX#^Aq`OT:Vyˤc ?i]*jVV`{V|O&,=/ϻvX1K7`oG !.dVzaZ@&|\u)T)^) [%cսB7Ɠ4w[,6=\ ,h= W|袓yUslͶ!CL8n=",~kn{,qǍmk}ЧE(P*2sshApPm|ᴑtV_1T=/Q֨>l%voD ~C[6p/uDynl'lg˃ѿ<fBܻ@~1oTLz.Z}md)Bл%X5_8H"$}Ѫ#.ڠ4zLTT.=gqPK6$('p k)TɲIW`IoaD d"WٹjBnhU]t`kkb6~Bq8$c =O\{Mm5G l M%ᕬϝβIB_%Ͳr[+nb5 &os{x v+`Z bχgo%{i F 7Őp39D ǁJGr^ .mvdAr4.24-'@lr4W?_eM#;"\,Iy;`P4ZhAR$&3eG!FMs)I8 5?:s @̒#q̌)Ȩqs+w(-%Ynٜ+\C4+ ~œyD誷qc <9X~[(i:VJ޵^spGKFjpWMd ! C_ AU b;5!?`vH~MyN-`Ć V͟i[_z8x ^.h9_lt]'Ѐ'yn!Ȟ4gVvsSµc3(6a\IPI|,^}'ܿtj<X̬*^mzv39K61,Jq$ՒV 1 LvçXkĈ}Y++ե6:/>5.3sr4TI2.[9 &aKd VHCzѡhϮ/Jg 8HO(]u{Nvnš/+\2r 3苺dd@\2$}hԢ Y`24B*q۷WH!<)`Y!~$ys.6y14M+> <7UkGuiR9f4d <5 $"[qH#J)pW2"ড[˧͎m>[r< C͛\d&W_gƀtK|QRZwo#mlCncO˺/.nA[ف㦚X,:v-^CńZc8iTWr$|560lkc*ޚ7x+5˼>G~* PegmQ-˙Ԏ$cV&׀?X7XnwvUV0I4+!Ψ@,5BpM=3r[ELVKpZ k6Wi srp}s?ēY8$1&8;mrg8`&*!e*";Y)j,0ԙGwa4ZSXƎ_ 3sØ1FeH`']FX^~fUxIvY<㭰z5QG?ӂp_)A!@8H"4BCP>v1Ut6_{npߺSȆ{F&tՇp?dV!d[HH 9 -rYg~H#yӮH K AD1gjr'?^峳 yeJPi;8?dhr~)H߂$Ur3/AĠVp鐝KBU5ȓG !+^+INܰU5vH/9e}JGqC>G`Y+S)Z'a9~ڐ?V# 8`-T}wop1ANܒ5to?y{Mی" Z᫪!)!WɀSf)^8Qk+tG$+1u?UeM!YUyktsUhsQh4i0u*zl3 FrI/aJ13Zx]6P-~}1%I\O`4X^U$vvr<>/̀c "^` IhXfF J ]-|GOye\_yhtF E8рp/c m l(d1z5#EPĮ0bE甹gH& 1уkgHv5:1%F=QIO)NahPqg=OmV+?.w#TY t ? t7P9j/qJާnI\8=}uG,;Ck횊=h'򭉧!vU7VG XsQV #wje Ү%D2#!oLR[ZtArDJ"U(H8zJE%:zZ@e!. T]QC *#׎!ЊUJ%jnfi2|hɟH%"M^<,uNOw\9n~ӖƏĎC ܵ&#欟^!TL?؅GrS\?6e`R/Rs[:\Z7Eg0M?Pyo g=SPQHJoTpBPO=҇=t] B iL~Ufڎ'I:aگ&2'bZz?Y8|WLӰXZS'qf2:$tuBqp ;5x2+%&u%B=+p# 8,C!!&ZHW9o̥頏.݆o@ >{}k+Iu7 k%M057 xf"r(qkʲklzq^oijôI8rLK9BRdvRg qvLE=8>5$d∐ X,Ld#0( 5JQFDGJi۴5,k".1- +R"i35 jM޽0/|޴ӌ^B< &Nո"e&.V 62".Jǃ~|(:Amf2ܐ OlF{5u/ߐI$Wד'LDUbV삚h*2 .?W(YۏZjWHjjmLlNox2VٽWs *xT+h ߽wTUߊ}O më2=8s[>YV-~b]AtI & A[!| N!RowP!ZΜBƍAI4 a*}|2;uogS슌Q i%{ .#PLCɊ?zlQm<_5Yo.Q#6?Һdwi:,O2#Ҍ= ]&H'{Ls׹kf?2K%s#W]=a"dd8A]s] kEW_ oJ}~){F}MTB.33dP1a,Js<le՘ay.߹y0Pȿ2hh aQ$xaj+øP[y'kMPwX{$W|+nszl~b"scϽߪkLEY.룁9 I F~En[A nY)?Dٺ-%k"wm"x;:cmyDgd"dWN0o"+l_*Y%n8AV$Hv8FՙfШs vA.u sհ* @U_Yr^fV<ىf%BA<-:ml*gG2%f3P;.W&*Gۭv2͘@eD u)c.>.A"s$ zDGnM"D 1"Cp~s}za Nf<}ܱTLd8z16+u~tt!Sl`d9[fqa[!ө]؃^yf` ȶ0*{{oNo0O|'IV\D->H%3;ۮaIk֪.>%ҁ6$D'dJtk0w=|afkJ&QpHyUg7VVsmD>mӶ@ޖ_^X'bfX4^I7OB۟Βhמ/cJ =fؐIٔU1vu3fş'cّp#M|)&= )k=E!D\ 'о%e)%*G(qktP]\HscMp( f UThAћ&➻Ne?,6T~>LDU(vPk>Kr=鏃LҀ@aiZQJVvƥz6gilt݇#PCaժIR9pܞ"&j%ez N>}b75kdn/ܴ75(63{ t Xy=Jef$8Jo1~oHQ'м'B}6;4v۴ FxMJAҴlD΄;2"+^a.pH-;*t{H4ܶvE6dԳ|N!T.AM6T滼L+@znOP .ל9ՐetKؒ*UO/_b"FʳeGonLIVQS6)Ccu>r&/谇ֈ07MUj2JԦ98vpW>xq:)1L :7Dgκl@X]}*,~؆PN7(D~Fg9}8@B, G_f1RHNoD+x0|A`\8D"f`vρQ &u8'|6zy,h ei;f[J˼]r7Jmc60ĸ{.s״w"1846HŠAvW|!oW6 _ڤ 鑴̸AgҞ+bRa]~--u =m PϾ馚pyko{2b-@ Wq%!H*D"0&f5?܁Mõ%Aihj /rUf"kÒMc>,jfQs82eP74>~p_]8 B2wrNDf( 5o_{TpD^#8M_".dsH׆**BR)Ae6iyTS2llE(c"cOJ?ϡR{jTz{Cf{DECHZa Eb+ԛ^}PJ^L ?@,C"bws?zd:#m!")&K7 - ޜf{LbIE_Z:@Sv{UONS^FN~ WZ擜aͥR)MC /Rȼ{[KO.l*ߖu7"d"1h*Ěv&Uԁ|&+ xݟ涽^HKoi?Q8KvEa 0,U|_TmQ7O.9 d:CA$3)=c~G@<<9#CvJ73ro:Ff_IbYT1p䧝<9FbtweXH{ROhQq^)p?] joIXv[Ogv3M}y!9r0e}= 7d z@ !cOOC0n-vO~I˫ת?IO2eͯ{(Xdٶ+.uxt ӾvY_2M ypTöwcAΤ'[)e'FkEzhKjsH8.Sz,Mx.s eVn`SRX|M봉ӗIgL̀j9c3*k'by]%1"ȸR 4iD~VD.ck~ׇlW3ϯ=*ތ?&'Zz}¾Ӌ`1}Wd)T4.Qa9+{ R*-2.c3' |bIu/Yv!*Yv+,򅸺". ~*)"xo 5JkK3{y" .X-%rA )n&W.x|n YzլYE`8J7ȡ³EmV#܎h:E?ᇸK}:ك{If`Êui#r@Zg?Bu⇓a4gr)B,|w˸[Z/] 'S`I/obgf̲, uRiqc:Z@.#^N 5;gJEY2StxfmݍRdV\ aCٶ٦h&YS y "4..ŭ2Ck&Ջkӵno" XiR7&t$@CncQep8dDfA)VFqW 9[x^H W?R3%AJt ]}؊Wzh5^#}zt*s"HKiA*IHS031+2wm^Qͨ 94.Zp@)!K2dB}!B-WNk}L59Ꙡuc=qj3UZTӖkrB"Y7V:\DgEN9ҟ=! 8Zn[>AtӱUtUyIv4U\B63BWjiL` 8S啗D}#IOP$BwG~Svco `QM{iO {‘*Z8{6r?-Ir0#h3a+^՗aMĨ+8@P\ʦ/r\; XtuhLtufiMQ48] iUvgiVy2A㙔Fpij8%qCBNIPa8֌K:=󽳟S)6-tJgg:H*ʵ.648OHrUApwvO-H#N汻j#T@ޖ+0pͨ:X*&&zwXvٔ;q.Ti]"x0hnW?_O@OT¥J ˻Qk_MVJRTTPZ@"eLܑ/{q5 Wsbr0+W/Dv8Mҡ{1!FCXǕte %x/nIuY;e Le{Ih}O4"Z_l{2^+_bIU _n^?مl*5umIZdX`O=6t..n+9e:vRH#ي&*Ҍݜ'cAԔUWXTa])`:̓OOnusZ-!)%-F3"}qNkF?DK4G)AE!Uﻃ&+L;>+,M3 8QV/)׎+:^6:dvTG] 9 -',WHnЊ[У hzT+fWǚx*@`l'G0i̫ Ix#@ IoIN/p)ޛ;D'kvRvkNӈLl95e=ݟ5g5e!J7wےY2X~%k@Cq $1QV\۷S%@S\-H$Jb\e_jg^%i'2ϼЇ/l /O~KUK j ee"tX?c^JۖɌيs;S |C5֕NR,Σ"vӡj9+[!:0i^3_7fiNa_2E<`UvҶы 28G!y逇' k5NrwWorSMjM2Z)f%Qɪ;0ثىbkG㳈$,a΃EH:[rNU帆Vż[đĄ30;+Y]s%}K|'dCR| 8z·OXY5wya$R a`|XL,>G Sl03V)֕ӓP^ewV5 mbEfqK)bǒvYr]~qL5|j}Smڢ")Ҟ;y{@v'bjaTcj=pf.c*>}utW:OϚTN%0ғ!hQUw_B~ 3,Z+DH,gGTF|;k_'J7X5Blڈ K3J[u6T㢨б'.e awJxԑKt5#y u~_F3mg]i\b-WTPQV2/%ȺCtY u^j*t4"ľ)d2()Y[~gj~= p;݇1` `|so*?k-I!`:Ѫzt6?(## ZM ) 忮nB޿qxkw}|9*Ͼ G \ں"0$ y0d>wjrcox"g^՚+B"tL'sT?\bC-Y2A,) ҜAYa( 0_nQtMpљ߰p9^̓OwE:tkX焖{m@Ou7F*z4{.~O>8UArh#v1Y gFXJ@b{srȆNِ,T@uK$LUmߤ@!2;H[1eg)o-XK->#W5bgq[&I5q~3"˃BoOч=oeanq|Qow.?`OIخOa43-u`S=w3-ZAk?XϪ>!'!TTPkE71U_N_"HQk?vr`n\?&UI0^B|Ҳ Pk6|@%O yp)dZ×ѐj: =-T77r*bvҷ;DģOð%דYh^.*씾l跺=9Ctx 9]Q4xt  -!V7kY e讎H[Y5>X)[73}Kgvk>AC[8B8E,F+3:`V݂s\)[Am&fT&xAC"aEВ$8nZU($]^ a^[]A/ ңe/2-Xv[ z4uGfѳIҀX N' R'"&f+밿@U6I?"˨eu6^2)},07bR79Rǜ|)YrAϟ@0G+xu%n%b,[ͫ }d5|)d;{_6Ort.~YvPwunjB:)oI&f3k1\bŗ=-wcx>R ShhW{ ;J޵ϞF-deNj"i.ا^5I ITVSaig.cWP:Xh /eݷ~ [`COP,/. $.r# _XK쉍y~D*g%'7i(,3s 4yhz隌9ɸDimOg$`-SWq$u剐wUͩEiˀǃw<9.(85#1hھ^k$I݉I0&oKd*]Qtr->뷍/3~p_sIDhڅn( )zĦo52qҧܦ3P+[4)o"|=ASnTo{[u0e)%Fw@vC 2YJ|jձZrŕLuH>tC%SBh]!$g6˚XB1gW= [*bvkin%DE;f ir2;|XClkuDEG~F n% *+ >iG.Y\w߮.&hڄ:QS| >r7'f+!C*J*nx9sPSt4Gmh%%UqSVӞML1z΃񗿝5ѢvzHODp"<b-ur4ˈe?c;釿XK+W8cg\m\#ؤNDDbݢYuI~`w]q3'Jk&2egn d[\ׂpdDl\xUS09:>,zi{Qqu8-*;T^6O&Љ~svڸݹ`+20iDג&?]|Y$:CO#]M 4u Yt&o@_Y*oqDaf<2~ "N?パ3IAc!Fh|!!I@gPʗMNA3S65ȥW^n- ,@#m1lp /JV>0 YZGuerry/data/Angeville.RData0000644000176200001440000001010214053052354015256 0ustar liggesusers x]u}˲l^ebRl?m*aX8.wEw`!|, 4fe`9 A+h +*[k\j7ŹHNU:SOȇ^-)rDj*dub@%JWM-T6 rM&))vcky&sWvD2[ź46h+ע)9y-ꜹ|dmɂjP%Uk\Gv-;|.Md`5'=-nZ3ëq<7usy9ٟcGh;޵`' x[a˂?E=B )-M>Gxfm!޾Hy#8[,Cne+|ck@O:KJ5XIHqoJ؞$UwK|t|| H#| :r](IGbC>z1oS>7=* 6tjjG:Ed;/&MZ|,dlLVs79&CY;o'[\ ؋7uL4j2\vWxn7OǞ,,bw&C٤?D{gcd.L=Xh]Y;bŤV |=dWf|R]˾Zғ]$"#ҿ٫|O*?~+1=? J!C\9z _}lv@$?D1KuZö=r`>Ա;sjXcMaOe^%rxgF_^{=B-1[ -?AX-DZd):|b=$|sj8ʉ(gJCTS/W`溱j줜st6^JeQjWʱ);gA R񩌹*լqɰk$[ #p> lׁ ޣcoj$vv*zJR'Z/Ӷ=s5IS۷k[{*m:W tm6n+c"t؂٧zإ1t}*Kњע#&~9cws'=&#}|Ars.&H_tKbg>lHƆNG] aqO$ %l_*xQyH}CLVv|_c_QJ%~Xxoᳬĭ.îc?C.AuuF7KkUs_1eO&o~6~>io5vp_{C?13v&߹Į:'>lY1%0޴&!m]0'o3~ƾy~Y!c^gbo=j]b.cl$ԎAc3xuƿST&=<@zn3bҧQ3>2x2{O[NA)T`sY42ȏ=*h5EeY_Em2ihp؆{t2AW#}{ uD:?n?cOʳǥco|wV@`i.3E8KNH,?tcŮc3i;OҸy[LZI3dp>*qVr\ymBCWGT/)MrP׸Fݠ_K97Kny_v{%[)+wGXx|cG5c0/+/rtMJwQ{n\۽nғ}\F/>aC.:o\izth>/t3"-jaW.U歎OoJFѺ# ɛ[jVcRAkQue|z}+fHnmo[T]&wu|ַf[/t3+;]ٻӕ;3n}a'֗sk>H:≛\{9rю. '@3[O樫Qyr۟]8uO[g}qCݾ:g;yu8>;?[n/(_]j7N/9vrlnJ\T7뮠/y9KA*j)[=|C" 9dǦdؿ%&tVtdT/oJ2aoegן][J&FG,:ݩtKYֹ%ܒ oOW$S]t:cԺ0ٛ;2!yV%7ξhu .i?eNS/J'o#%ZN:E{o!D Guerry/data/propensity.RData0000644000176200001440000000167614316162422015604 0ustar liggesusersYn@H @B!i&R Nl1vd; $$xC*O$>7',Yw{r=K[12,3%IȦV˕2c{EM\uچYk(w^o"s<>N 5X(#X,*TJ/.Ew?2v\zʀ3<8pOOp>~9?M|Ƃ W=wZm]s7ר:bfآm[xbm;fStC\\/itװfq~cmQ}+v۾YCo!'z{m}zpw?c4tG꒬i&-ֶ)2*wiT[NݰLMgMUޘzǩTE1ZPޒU%<GyEK8=q $D]mݾ#"DĊaTKw/ن_#VD?6%9> p81n |3Ū_+c57sngp,a/Kt56!S;M1v b!A V"Yሻ#GC}[aqTMֻTC ೏n>xXE|iK}DBliKߊ@mQh| py \x%$^$ 4vG~Ue '뒄ޣJ."0{:,U+I[C&;._PLA34Zu^iQZKJHI˯6ͫ:yኁE{oGuerry/data/gfrance.RData0000644000176200001440000055033014117675226015003 0ustar liggesusers7zXZi"6!X])TW"nRʟF\ XvӖ:ݹm~rY2E3CPv9O(Ԍ[+8ZRb)~&9q?i]&s5p{h럸 tċO+\x0R$@a)yͧH#f߈ǶmT:zEYVG~FqtXNIu_sΖQԠI YV^!d:rş i]ecB s{jxx o1?Xٙ9x3jG@ە!kslܥӳ s'UFk@dg{nԡ~#y7{';2u[ o, "|ڼRo3OIK@*),<m7Z#e?2nf~fbka:^A%wM87)gr:p꒤+u״g`lTioUPL}/i $,sm'ʱݤT9uf5d@+y:8 D9t;ܶax-_:;%U;j?hV%]C 0ؼR$s{ !HG0HgVY\C/tP=)mJqzfaf67|hBa^[/^;`Dt]B;..+ pʨNU_4v} onU<y ?%~^J2my,OE՚ņL1G>ʉmX<חpk2zÅ)/ fSS8B`p鳑 Lq>&li`2c~|6BU7HnW|4t:)1望bϓ5(p9杤(uO-dbHd1h2G#Uxg Ƭ}㷦B0d]pS.l/Lwd1E?4j)tuLT[<>,3̘wJz~#Z:)vL\tjK⸡F:ࡏHbT6VE8<iZ$]M?^+YZ: -HL!Hh~ R+) *ah*+c5:*x}6N?$m9EtTtΆm\pEш&"*=fC5p# |{'W/oFuWDo- h͖ z?'O&j{mvB_5*8쁣96j*#J\Klg*hۣ~yX|=@"j0/)KG[ EyRG86ZXR5 NdU@p5qV!xaTv֨VƘ~38_`z&(# !2 |[_ R8j'vޣ5Dr=B=RNEۆ١p R&iI vҕγ.# )Ԧ.M%:FbcФS9ӐW:k}6OSʨ/uŧmܹRO[9#-9)[X'^6b`njK|5 $**jtG2T\g c)?*??d!ss(Rp݆>/j9eɯ 08zaJBzj-rj!/Ϫ%/)ڼlk\,h(`F%ܓCDoGqC$6JCt-d甏*VEl?n7 y S+gΩe]4s2V?lfF tf)m4VPawW{] ͶR+ [y&Cd=̠f{MFXg)J IY&CG|"C'T(g"gמA¥@~! T[T .XC Y:BC;*ܑBu&XY8IPkqUu4cR-ئi밵ZT_#Fj Qz`>n']aeS=_)Nkn}Q1G>:5t|/zΠ.=T*ir\_Q+#V-dhiqxW=t#EL5{)%ؒ"@;;lPt]1e\@9)0Nlģ + GNc^L- =USGM˸QI.PFCم$:p'UnjSWMKGԊ<5zS ujM(B<۴-$ 3 ䷣Vk!<. ~5YFwAkvMsZ@r5x3(7# qYVJ8\=xDi6dCsCNWyf R>zr!ΎˢmU~Pzʶap 1b>h8~N,zmo> O&i32ho[-h؊Un颶~;,aq3C0qt5(ul7O:϶r%yt`1j$C9Wvja+u%э+:GjP{Qp] 0[V+&%@R]2>oy^hNq˪9>͂ nϳ]N(p&W߶СV]B ]/\j;t~>57/2O4}J|vvQƇǤJ$7jID3&W#{|tK:IdмYӰOڸƑ /_ǻtXSY7\u HT JwN`Fvl&V[C3tkju>KX=,)>gu ʉON0Nz4tysUdYI"NNUخs7au,y ~ynvq_}ISaQu(Ց.;GBEWtu D}Bp^H4#g~v/v2LEL=IOO]*GBJNfEp q u^CT4#\ Ʒj7X3L3m+}1 u\ė}4ȹy.^܊BFI6d*7&h7ŹyM* hO|o&bw:%ǚ%uguxel1gԩ.ĘcqqdO?/>k̓vߟﴘaV?&O?jEl]Cm=È'-TQ2\MC^+>V3 \){E+*rrVMY`5'j$kqW,w1*%҅Ӹ _PhnQ8jx1s Ļn?\? 7(S79ݼ&\y̽BCD了ՈiO޾o 8j: `ҿ̔{#bJ":J=L`z8MFw ,2`rv;oXLg4-8| <.:uL4ap*(ҁjJ+9=mUs^b@0;ڪ`|HFS߾B[*7;6\,)I엦D4mZ-Ä' \}Vh'P]Qf|cix`mQV`ߎtJZ2||X6WONL(笞^wT )|ٰkub ֽVk̺uN|-Cg۩G''bs6 SdQ ^l.| _:-Si%%PX3kL n49ZoIVu.q3)\ʖgnm#QC $ *ղcXCb<AM\ݵ)}e0씿]OWzz ."+O R/86pisr$-u> ͌yZ؞_΋l%Ʊ(Y4EکL2O QHMS}?qL:B 8L huO!,;'? 2Ϻ`8H[ӝYa{̲Uj wEkEʩ\I6}1/&vؾ=$w-/rT9%ZJ^tӐ+@@6$Ǩ)iqPxh reF*%l̑= vz 2/^!o 4"a pV*nZeE\s8Ƚi.o9|T]3$9/ފ oH`qCM (*^D5\2 -c1*i6f'{QZթU$piŞG0өētl0un>eҙ2o?ͯ݁G)>dRa:ZqIԪOQw;Fy̩yKEz"Nj4's]*r"3'x1>W4uo\{73ǝGFZ4zl^>.eӱ P_QiT(">a+W; B.5Cj:L*nXj$%AC7UH#f؊`&9 ((]!3A.nȐؖБn[I^I-E ϕ$}K/>,=L]c+eGBE bj<4~CCaLyT둃M#@$TBڗ9G\IOߍ %9>ufDy1g|y 7>f7JDZp|ˡSk|0/Js/7g TpO3my nazJ6өxW@WM3# 1'/RV"=ڙ]X7ٶV4d–oMDJL ]Ch%>3kouFFFm8v' ֭2H&@ONs^^Y=jdI!Ua2_#UX32~M4{K+YY𴑓e,qˈIn#@*aXo0d)^Dߖ>ܧG3Hܹ,3~m= _f{RBE!U$#iv]m-?-b^vg," ==-"%( U<['\GG3DԝRnV-=O[/:v1ž/0-Î˿^@dŇXWˤ.d$\7X P8 D=}[jGBNKG [#I2㽵P ܦCwⷍw @.ugt5I^*G3dG?Y>H0M&g于 Mo|C{1;%JW;O-G˾ vٳAѩll@L(XWa0/J\2p&b>gܗ@/=9+XVޖ&Vb0k/oZE!p p8}OU*,z`/K bnCx'rż"LDm}`;_}G.~i : PE@0`u5_9o9's#qϷyU'P<.(y. ,;lx}f|'T: d}UQR 6=|(:>8^>8+]`Шfeb_Hc$kߖcϔp߬71]^U)/Lf ,?fň߄U):aА*^i&p/M\V|dsWt;7VtB>~eiE\"S %?)6F25O$g)\XWߦWՊ)SJv1h nY&Z6T4uK,&?|gR?)sTEG^\W;j1+M78p\4vY+\A Yn#u@&DF$i;qS~MpX"$IPUVKUvY|}C^172Q6ϜE8–,艙w1mrNa)[TBNcđ893ƹ}<N>5YW^g|J*8^Mrua3hZP&Ous&Q$9–4RMB .d)VHQcr'–څrkHZJjJH0V٫ҙ2a)?"F_H^X)@H v_ d, q]awl]4<˨V_Y `,"3>Np#ZhdɊ{?^s0Ձ'yeAWi}߇2DdwO1O~?}o67Jy3bnʡb&4BpWAa*'f@)b>\oskfm{k/w:k%+hnD0킲V><\b1O!7R>@%8y>UgTh_m)#ݬ_a@]{Bxl2_"̬`F.۩m# wCc]q Hxah?c{j'$x\dg$ʂ!ğU ւ.F~W\ :_c7k<\C|OǞ~5a;+@O"أ,c0dNuۗCw|TBڢ(?l˵) ܾRaޗOC$ -X d@S+q/gO1hY;5w_ ;G`sNwZ.g?fx_8~Gڨ*7)rO^_L“ 17S{{m "k(Сp$)CP r9Hm G2gULT'_^ UA^z=|){s8d%D "*}\eZXU6m͔hs<թ^ϥڌwT/Ձ0+Ϭ\:c݅4pcI?&G}ARyM;tY\ŏ R/;Hd [Җr eݔk_1jQqJ6mqhMuj%杏㯺s%dN']9Q{6X:=s-~Bd`A>j_E~,Ai?(Dh7G 2nɜm:,c@^H g#F]؛4 i_juA8Hlblwp7,f u)䖵rf}6^‚Wi$ġwYu^ߍWMK)1,9fۋ%`)ǞIHԃrʏ :*!BXs66j9n+\YOQj[{Y\)u #=ǵ8bmܕ2fA;+DT@ڰ*4X}'Źt4-!F\6Q9Q9mKc0R{]V>1eSw;U)I.%\NN.na AKn}۔wn!:8Yf%Qcj)ϦalzYOWpT a\3!_ ڞt u9xW+mu[Y_Vlcx὞qlw4t ,!N6@.* @ &Q^۶qFQ猎p% !& ʥ4/07ֽR٧Qts*g>k+fU#LAS2_u|9xCnL*Y&_R֤Ej>%fWIUSFGtDڹ}#f+CX7\ZpzIpx L_l(Ihgu r 9!+n6A~ނi]Uy{;s]bQTFRM%d.ƍ%~ȑ 7T SFIk@S~%Y&J}Lq|+7˴ًSڂ٪3$ZkBa[ 3a:p15G$lrېW N,nF{`{JFzxrQÒrP|2^&P/aϠ&U\W0jUL<2m!F&iTo&5< z}2Yϲ_b*.d- +k hM ;Ǣԗ dB7LnE t=cU}fuė Xm ];r)@ CI״4 Wk*\_Mc:ZKnZњ/gvANJ j(Ya(o|*ŊnWRV鳼Myr+R]Lag -&}H) q7rc[7/.LK݅D=yK6{"88 ,)c ?UŁKLpivmiCNγ#%bi'6o},u%g!~,F1Bg?5Ngekn.4)n%*T4",( C@Rokl䭩Фڪx5~Au3u7O>Xbi>yHwا×12?HhSPv97}"E k)<th/@~@0%`UnKBF%X9&d#/+4u1Ktufc`yR1iC;':FL;j2G4a>&ް&åpeQ23G\/np%!4D]8Q~{[s<zu\~`Σe<|pK݇+Zrd6_.*yǁBX/Xj&@s -0 aV'꘻̺,3]2M=fjpM<Z!*7_ A(s*q 8ʍ $nwnϟI1|pǛB %{yea-h^-p@<]:T?e}#0u)Trյ k$!0QPa$*Ԭc8E,?:Fi1V_: ϣ\v2{5-Rƶg-ɋyZW&oÕӏ۹Ykđ̖L6Aia]I\ r H󴻬iyhrPBQ([:@8b5v,geA\bN1>&=U=;\6ΖdT$ CL=bDέ"DZK߹3Nuqo5 ܾSYу +tC;b<ҁL*'ŴAuɹY0-'bZXRVXdRkČ#*fupFࢺCmoL;<^pz̅6eLJ(isxȠE;Nx^?<DCiFϕ*8b 49(r MH JB%f\ ϹI?a;8j`~yҮZ`٩1̃5ejOvM DgC++ez%ޖܪ%Bk:@TWUllp s'H`5qW7^Giv07ܹ2N=PF|5lt__` \Oc½yam+,prMf]jO/pgm{6=E`50 Y0̤1\Źhs,pr/M1"Ģ^#i`xZ#~H-&eJ|H7Oи18]f䡮h6b&r!nId\vZUՎOeݢtx'rvYҖs@6I3S\vsow#\\pKC3"יH/]#!ll4d|П)t+@2+dpL v3ӯ7RdbAgWwʕxU$1avXmWBl:>tH@ ʇrjG3  R`A^耎ˉ#' BP+«(bWeὗ'S4v+KcKvO3_ d2 QQI݂oj7}|R,p?od3 r]crB9yvcr%ZXn@S􊶼 |y=FrJq^N`P_5|k{'! ~ JT{'[??ť+l|>m]3zޝaC);Jw2e*3FNMF|Hz natM(Vi"L{;Udllih7: "6QCY%G@vTu*zE+ (͇;pmXWv2 b2ڗZ^XO7Ą. `G )dO9FdhxGjq!P\k7rv74EX.ΖUK۴V.mU\a@L>rǶ ?ij,n:<`nFX ,1}̖EϋObMrx|/ru(m6h`k69HY(\ݲi#mD8v.8eȅYHliOּzEE "y }qυgf;H^ D[$f XO"|L߀+|=XJL7]_2J (z8 ް= Wwdj#}x8s5ky#;̻WL>`JNRS wTwqi~ 6kP8\G(Ӧ9Sϱym2zrg觹$K9 u=EhUh[v fc˪r*t_/}NI)U1Kqy:|S`i-JS( W:^FISV^ڵtuE4ޮn*S wJXNf'/r!Y2nI\ǡ'"XgOe$Pz;ͨ"CLI΀2 !sQ-"ĸ6!: ffy9dd#j濶d/=[D޽nL UE7~bm\^ДR\8(1#63%X5G\ W mGԮ. '%M3X`nJ#oK5EMi0]g*poOUu) Js`?Y{!՛%܂Go)LƏk(#+K=lDhqĺ \}PƤ*[%Pvvrd;2w]|}YBG%hsD58֍FC{" t0 -HC!VХ4"vW }vT.lJc& idfGl)xXmkui[:O(xFX%U c[m qsIEZm/G:rsu\J53^J9'Nrm`:ۑV9ڧC-+0X0lyLlRyLFvA֯σP^q_;N!cԷ Q>xXwCUO 4ߐCFds͵ޮadb0۔VǠJ+|G4܀ x%;-hBˌp:Vh~,߫]x)ҋU<^t.^DyoXOx>V OVo[ew:jaT1G8&?Ђf⚑`W1ٵ?g@rH3Q?xuVȬ#q b 9ـ`[eHYdR{ʺsKO>$N/"Lhc:{:s`/H##dhJGQI9κ=~̉wx7ÞK_59v^STM'ZSw؞Vq 4<t'P@0sk-EOx˔п_jjtM &EɁC3fP ŏIts5V} =x#PAK`.d$iQ-\~;=(0zci Aq`7` '(J/1P*s޵ؒ^jv x)S?sfnhjʓC>*xR:[J\ASQp| и wlL%T)(:!ћu_ q_p. ͪ[ zސWzg _Zǣ(_}!Zwnh&g&sr˱| l|]c $=@n'HB>B E NC|.]Dʞ3Q uk{T({7ڑbkuOTCxK1 GqJA,U$efN eF" șbʚMBq0N9 .EJ!Gj$wdVɌw{D$z HN [:õFo\ο&EG&[^!Yi&0\/*%a$#: if:}i,d~P=}? TdP3UII$1xy?7η݅d[UN QƳxѲU9VLeOTS\I~o`AFr /OhpB܏W$MU: /,6䞰Ӝ"}.Oc|#j6l WX.0^ӵ!A6;3ql(߅YH_>!mtrqXvJms5Ԟx͹KqN=}hy1fFՏRh;'O_%0!a=O?m]@2]%*HeE?n'~KvUoY(ZFYS-)Cr+^0A/JdZ/x2!XKak]K!Ž$qF`s H& ́т[e2%>#qʄ} ɫPz=N0_OYF5mHc+_Q32? 71T*lbz^mnv&cÑpfjFҍTB^s|G~^ : Gwrƿ3}Diݕ3fdj]u&2?yȤh6|+4cfG h%_Ƕ2pu0!;k3t0~K˲"ÄIkV]`Ku ܭ ŐuTl*.z.2SMLq*|97FRmѳ g̴;A;`^hU̐%Z;zb~mC$\ f&iNy GYyrR6)bNf!1u,^zD֥ >7**BLdn>`h^NC]ٟ>Ԕ*am X8鿹!UBr KjF5d/e,SJ)pr% ^EX<#S1L^>j$XׇJt|ϓyjvnU|X,6Pу&c^dئ1]_"gL]Wv\t# Sr\P H9erY4!~ Kx6sGp|k F&?ac#3Q+6&z8k>OVmƐ6>DJn*@G/?"9}~{^\2MR6G/qvdZ!cshZ+RLJ&0jYwzdijٽ^W#P]ڶ)'c˶]ݣ7W8E=5% >ePێ fn欹kSW5Y J%if?W~MaFX)jv1Iᔡr+f5SduL IQt߁JNC'Ԁ"Gě>Ћ.^( (6mAe jC|j-w OJQ8u=P]CH<4 ЪNAp<<ǀ@HaIAu"`N5^g#dfZ!^%u.K LGrI EZB4/FggD8V7B J3UBv; ?z)^L0GtBo/X]SʄQ{Ͳok>5?k& ~B{ll@5dS=~ԛҡE'"2Uך -y۔t&"JCo@ sVkg& <x2oB)y^ZݐJ'|(|. v[xFvwv{md̷Di=6ՐoKIf|X rIe.'u=,]@RՍPSҳM*|6ڐZ ed KFJzO$2AzɨUiG\'}t`h@Y/*vnEqkRCN5}VXMx63K`'`Ttv2qB)q)P9 q&4snSI~C#J <ʍb"+}hܘBj,.YE!C+Bqi/S$dg+ԒwS<&8sp3r i*({\Aay%5clHCʜY:}=%ٜګ@m)[6⋡W#&ߜKU/MqPMi'M%F52N PԪ  0ƪCU=KeIf81yva47XZAD .m(2>7Uz:3cJA >җMGJSc(D,UX[P4QM6.0ßtA'!|UkFa}l ͊ ӇDQɼCW#&ǷJS7nWE@ bJ/h{ 3u8c⪑[Xb$4}ZA 9m9!D-!ׂe#6hM ![fv@6#Q^@>)RVy|!u<1J**KY~Ѕd#Iɵrrns9G#^UxOi<@9ʭ53pW3t{L9 C54&t]ީ/hiZkF 4iq*GVY{̘S&t Ԇ]\R{F83MJ5.2<כA< eah<ށ(hJ2-|$%YZۢEli~z?<x ,AbCÂ&O6'Ph=9ꠖ)̀I"H"2;o4܍k@qM'ѫ'esPj/wP~Rۮ h_u 9 Xدn:^&a@d%Nsq+-2/xS p k')+C<ͅT8߃U>" tKN9ZOj4Oۗ*!Bʟxt]zbU:.i# ,2kQvKvH4^բHE`ڗV Uj͙PZsGG|b1̠i3x:߆}lDr%0?P`,ea6Xpŀ\e=T=~i|[* B{+Tu PN ֖1#ns0aj󹇱VYU*304`yUg]Uz ɬu{vty5ڧ|w-ߎűT[Il X3H}H7ߴ86FC'\ű~Pz$"Wq=DbSCXo _:"S8}N7R{AdRd|\ծ0[<9Gbq4}Lȿu%0j0tufԘt"8_[a2neh2>!2*Q9zψ4Hn~78& ٔufˀJ_/i Gzf.DAkb$AeK?6* Cǃfl@-xR0* `1 E.,;2Gp&g!Q8&O!NJP-hĠy8WaVz_y֢gv{.).QLcїkm-Q/ܳ\n_MM ܷ_Y}zR$Kgߙ]Zoc=6e .^m`VwP%C:N 7f8Q |HXA*6 V7K$#-GZ4zoXzA-=\YݩbGõ ʴX7(f2d{\>ή$5y.MMg r~`M "( m,S ƵP'@uR`8˭9y ;^@9 OW"?"z߰[VL,Nwf-e`ov ,?ͦ%>;4G>x&Nz:Ef_rM^7 V^6$hp=m-VfrѳNbK¯Yo!1 P{&Hf1 xG^)zֆ)$UFcܞ@*J)?k^'12lUpx_/${SF/p_oCz^+X!h:Ĭ9wHBѺbwypa‡f :^Z&yoqejg6Qdȴ_sh{H} B,vEto4 > ̃Aq*㇙Ρ,5X:Iji R +AwIՉ9y. D4 V}suT?z|@XORPb%?6>;,M(Q Ѿc 2D aN馨H ,Ùn+0Jo ZISrmG@p<$AA CMٔN`8BC"@3`(M.|[ 0ݒB"( tG7y<.rה?|5Eۍ])D5$)Y!/z!M(gz3dcJ!F%~9:>H.m[0q0ydiT\pb(`@Sr/doky3:7K0u }IfOB$/V;(I5.[9' Q_)Q~~sJzЛ偊5׊l2$Uns1o]А@2e=$ߜeGTR5\\3M[^?WQf50Y-36Io+ 3qLC͒3֤jO]zGsצ㕸6(pFvN^_b 2rM,^qI{W8Bk^T >[9A,}TK,OKD5 4O?U9~'`m%vMܔp4+t` uV$;+:L&$G%&uZ~1Q.5TZՕNXZo3+֌V@ p]#j5:cRV39 \[7E϶[M5\RF 6cAj.a :|F7 :+*U>e*-pbHd0"gZ _l#\æ$YMq\|` fMv[m.0 I`] !JL>w͏+Ϗ^¦nj>q|)3U%?LGAT > f㚺=~vI{"BqA[!lݾqnVެ`X5M)Jy iFd>Oߊw!u 3٠Bc8Ui)W(v=iC㌪23?߃_Ӫ=87iZ)σƵR# 8*]cls7:׳<8EסzAe-x9ٕy+SHJ%iCܼۨw7ԅxZ`'4]9;H9ÁC|Oj"qGU/\pPCזQ/t_!9J4^# z'>c6cZa$uԠ5< &$ƨ#>Viqޢy5w|d%Z-Q(ť͛Zqa–m7 P )ZyΊoDz[sٵe`njӫe D3;w:0[*}I`#9*P$lA)y2HNn+̮ޡc])GmlGv- AiG1#ᬂ$dwEh&2BP/UicaExzלkFq?|ͦͺM 7|qeP5~"%agɄ )ʩIԩB$w 'ʓV G7Ti_U͌(i*2`qyud._kwcqF!z1s#{`+P/pȒQ|"D6vRLe_wQ82!~"g%(_tЛ7]BJ?tEsdRR;dh~]N.r&ҪBx6>.#]-qxε- {:LD殨=qiWZ>/հk?y k?|Ч&꼑lO8aZ\BdG+6s_w@.9fvp=g")zr`In߸ %BP]J=c=`p{t  |+ B'N2l_K/ixE,YH_CpiltLKd4Ε*:)l~l}q6@ZsQ:uѻA{?dU$42x;|^nxdI` ϸۊ"-ב.UrpTF>VmhqM?T7jaϏ1Oo -B$ԓjGAؤNcT¯s[_a !5q}Ő͒Ts Llig~k"ȵ:VNBk[н+n0Cm0%¾i }fQ3y_ xvH{P2iq' ˇg7z o25ėaJup 5H{1c.ޛw L:uB#8[LSb2@YTQwrc ?¹ <s|@_Xi*b,6@##@=(tI " mwL/0@Ph}bu.FO32uM*E@J: sǫΨ?M1ZyޕlݩЪsL ~|k~8)Gl]q$_~.Ҥ~rl{w} @LsJbb'\t>U|.-YeSJbOGo1~&W+'>eHPqzSCyumʲF"9F;/8턁ͽ甕q}t/m(ͣה"֡ns.[[.{w6#M1_"˝֮Cp&mHҒaS8-??3Vl(9JbmB*яoD'FBOBv=%mlL!&DOmiJۜk̦Q8?zɧ3OF]Ê(ei5,Ոゼ-nt%.knؘtyހyy[ؗA$S\П6&WOEhE@x)PN܀PNs4Uvl|&\ `q<+k 2r2T>,&l+(>|^5]X~ .̱2ݢb(@?"PYNY霴mmn3E; fK v\bAI%i}{. lC|W[q_v(>}lГL}XN KP*5:!_{C=fgGIpkOͲd}.GĠ oTjC1}+0 6z?̈5u;D6o,<_Z{8]5x6{̌=l PY]x$, rMX^\%fj8YFif,) ϩ齍:) ?\=AC]!62En;PJ|2_ DbR0NC"-#L﷒MFѿk@:}A ϸpm1ɰVX" ,(Ke/UhNAp]ͲLCe~LO&gvZ&tEü޶'hyB?II6uMrs)Pi,r #5 {ZU s; SӴx;\~96vZBQZa] u I*ﰾo>\3z2\I˰~=xVإwC & K^c'2[&+yK';U_`4xGeu>7 :Ҍ>r$llbn->?"]y 8jX5%[Y)JV0zLV=Vo~F#PT6c"zlnf-C,/JRh+VӞX0zcUճQl q\: ג)D'^500Hjg1A+,YM) /laTdi{x1L-Xsȵ? ǍdOTB+6J2FTDi{I!cKU3O'|Qe _N,E ȿz'㛲WuuwjtW&Nhx{ \ܙb.h OWz61g[si[ri?5mۍaywpkx("uk\9/ެ).fƿ+ rw7dEy=GI@`RXbܠm_oE:r3Xaib4Aq|@zBO, =hד];YRT1Ny[l_VטE %)+  `Tl%UE$&ˬ^L #ΖMLڌ7zFM9bGI߲v2hOr0_lG搎{IG֬FP"W;2Z'9ߏurO;'biUC4{ {+9QM7`o ǗE\ l'F{(~Ba\>#.?Ӗ(APFnɗEȰm#39Pv//9njl`_5S͛ɻ 2&b-s" xW+Fjpï*_8Jk96х%(;f9\j.~3= %)eK:Wh2 /ZeE jhˋ{a4ߡuz6 P%J0l,Cvr0677fyRΣH ,2Ne}bkTy+֭`2}d۾y_ءΏBu;|i[Qm%بŵaby6h{*:S /_*>$vǻ$܄~6!eHLUԺc>TX1by5C"o4g^ڮ : Eҷ 0r{~ɸ8&$;R EKـwB,Y~Qp9[*~'NdPm."t6Kb[+Ūp8$̧]u?N ŷ M3٘W\ђz+RJ~xϒ꿯:~zRqDi}.Iib KGl#)f}?"( ^|*9"+޸!>JlZ|zGq=Rɸw+OiJRU (E!iD#oWȘ01] SyiL[š뚧,nIY^!_q+VUuEhCE )ILNWSw =Hx. 4qނ:*WJ)-ʛ Q*<"z es5s=>ң.u-]ERt"NdjZL-_yeC q*`X0I7nvBVF#S ?Fk7Oh@ l_,Ey@*Ap K%ĭÁӹ { j\>3Eu꽞$N8U9oq&4u@W JZ?=sgb,Qۡ²P {-<>b@TfV^JpW4A]1tz1O#9',w7iۡ-/q`J돐6=:p7#c0$7Je+Eqʫ,`0$h(k<ڀ01xQ 8F?3S TI;u=Le +#ҥf2]-t=sj/.W$"].\L%7H|H$\u$% |c,H@j:U`k) vؼl>r~+c?/qgߪ +F+5N$B9z<ȏ=óymӵ AWbgJpBmjG2W7ٞa3a(%}+,P 2_Z#H.ix\Nt,c}fj:p[*T>ϵHV-}[fe5J~K%1 oБuAv;2f~,m;GWIPG*GJMuϋRүUXr0g4 RM2uy[Fe5P;UBv27|s|D+&sI̅GQ~'5Hsy_>3$Fmȵfy8?&|^`u.I'P %CiZkܾ#neɜ6/^)N|lC>%n!{ hw_auy;bb ]MjJ`G vŎH Naa9p\xt-+NGa='WR,6o]Wm^AvːB7ok|/: 2:IRq^UFȷvl5FkAWc&T}ۏZ \r×IY*.ʸIÒ5*"yd*w2!3 BmIC?/oծOJaG/R|n# y7u=ukˈZjD!s.–W6gO[Gna\,&Yf uroIwI>m 8"҈G+|q!䟓rf*@d)d X8+M Vк Oɪ~ƏTHwOЉ8{^L-܊oV/[nEIsBb+ s C8'9+Z(M;!;j x\,6 L=8c9hO4.G K487i>K[ 7C2vdu1R̰4ou{Vkmc_B'XLǎ+,O/a ( ]Z4:S֝Uг-sMfxz"W,L)N~8&I}BE H< 8L\v`F-|C(GPW[ۏ{q# U˚lUs .es * OkbDRԛ]eG[]"`e;@qk[g HEԒ 84VCvrK@¤3{hJSspXp{uj{o!ˑl)$%w?xDfs5{WL0݊:ws_Xb\ o(!fD)%d?.]_'G[*a !uѰ[d^L;$* oPx cg@ r*} ?P5sziZMf\Gq0]û@8vMcz݅4E ,7I%qmyJOqO2>G^3niD<|M> l,jkH^c8]k\[T#ɿtCֲ"qkƱIo" J|mm垃A"{?f %_ Mx\5,TFcjsk7Glh^m?0Y,2u1qWgŦ]j_$YzdhsI*09g'~t s9xvQFFOQ{k"N%f7^.xj: VRqzz>L{H(Ludj뀪gSyA0kh&T]jZ،xа}zEe~ճA?@[ұL(ҏ3ʧSnG*nY-؊A8z0$b0~}#]AX~<> d"\K`&P"=ċUY9NrJxJGQ"O_k0Β W_ӰՕ&;V1+~pxjƍ8sծ^Z!)XjŸ-/p3`b.WbL:I Hr%x}k2L 6,_oIUذuK)gRSUJ᩵I;:$wzIJ eX"|wpSK{) wKCu¬t#P+p fGPW2 2z_"^|va{qlWh^pU\I݋&HY3yC+~~֏`UCM|Gcz #%[XT~77MЌGK@}sM] asWw!ǐxs*ըڋ1rƳSW=^ ?tjI(RQ5 &D4%cKV4\TR͓T˪@CK*ؼR2Q;v}cЁްc _tfxzW@#qs_4mjH5]g\jZYvG# JsDHn2>~g ͜B JB;IX:;z8HAJ ՋT~#eQȃI>Th's ʻXр1 mJ'B0"*r(6?gzemUۆ4nw 'RXwZ1,\_=*V8㚏٦:|2V(P?Ҽs<<*((Օ٨Im3IyWКiZݶV `.|N5"])Xs^a\j+?Gh $I~A(F }J/W }H(=1iGI뛐+{d 6=̓kex1h/߬Ţ@mqXD4ēCVfyob! LM6ZfˋO.Y8p$dH2"I`rC7em9Ci!ZUm+I$ 7Z)c!t nlrE7F^ccc]v}: K?Τ0'YXMXY╵s4CbHANH_)oSh_:zuV 4)׳%ekW2Ra3SM ˵_Ѳ{0S }p]xXǔP66lZuJztRŞV龒a#+9HfݚV?ck\@ג+/Ŏ`!)>^J(R@鐉7E BYE$W+E }9U*8g{Jt)bx^y"{V6iBes1z֖-6Um0s|BݬngE'&xhzTߏQ<Afm=l, <7rҞ?\~2M7W>y+LX/du+"cA2@{kBUt*U~KfEz2&ܼ>(E# 9}i#"啦[^,I>\y|[Wd9k [`İqVJ\1GbV,cr\W+8Hld 3 (~c0a7*,?k@-SO{\^+@yvb keHsjF˖^g 1v)Oq0RK8/S]EXɝU߲6O/3SlM5V':T r|+̕HTN).`+$Mv} Xr1| h| YRhT #N0I"N#G3E},sA&伸m䉈.q-}90s>wN [L=m+ l`1wٻ4ݵ0y%2֏|ƶ-ab/\U -L\c`OW.!!yۭ6٧ M"vzM*,19I򆎗'xԓ@Qd7vh+RҔrlWN .ͤ50CKVwx@>2;0k})^ @5T=5!9yR>7s |- v*d^U4]8AE.YrG,8~B{ӕ\s$;^꫉o[iDĂ!ZFh-=Y*={(v8o&d9n3̶T$-|aWtjp"9 7 f37\F \rVQ72i+`0*ZMR9q5!*5~@̶R˞b=3XVQ C;Ŗc`h8P8 nkmZY ^$ 7m (u}` `>3<=AYo3ioGщ-BHUpn'AA ~flӚś45n 3sUs =w ^սeb 7@4|~<5D?7vfv5oHASmvM>%e3 C>: 2}kDu "/'H }/8Fx"/#JdO8O`.K P@6bmV"ZXafľ؟$7mV;5;އ9[&)G)E4{_,$Fҥdx]m۹A)?5*7eFSH4oᦘ՚bn u!cMA1(e>G0׿0ubג%c ]Tdg8?x tb/֟ٹhf_<@zQ:b* p+ v-uQ LLꑺ+"@Y4‚&6yZ ёHʍw]ziӃ=1߄ Yr¿6(Rs 3UsN5|O0ȇؠ'j4NJ<8=[NvlD8xkE['s ࢊvAehIH8:GaemC: i{$db4;ZA^A ֵzi2|kыK$R[dOE|FX/y2`\NfbSe3Sm5Ñ4@Mgj޵E{J])h7NHM)Qor(k_+9/d$7%l> "hhYϒruF}ⳁxRuaLEEY(M _jIctQ.3O-l+OvvM` ._(jےa^LgspLJ;Ҙ&> `z y{9N_%-83w NH9 cc8|ץ>7WJ9޹lI3(P+)7ZIasAz>!83ctDZ7z!}@_H[^V&@.h21xnO񼶧%}_m_/zzZrP|XuO󒴔?5LلvTzbֵdx ۊK2F^Ws [ r ijc$S3$]7:`g"4=pٜ1'lնpc0b]<;R06 L`M20q˾C0ZF.2(W^``J3wqkDȾϑތЉJTٌ҉9hHR0 X,5Dz [nz <P,hQ!SnVnK]2MhĐV|uT?s(lh̓&b Wqm $ej-Ly@fXűYHXbyjm{Jcv)a0`S{>^F)JluSp=1)"hS׸Z;<҆ϼI|!ѫJ}[tq0\d^mpu}:E2st#е()`B퉐%_Bg׊ͻv]4z?r?jqvq@Yq/:!l:$FZ.;$VZK1<)8bbU Us_Ug{PjSJO1' Yģ7@<5؀Y ~A7(жU`OR!9j ;BrL۲x0ǟ"!/cwS&xuWsaA\] \DWWEp ғ<+}ϲV ZMQKvܑnxqLHv>Ș г8p+< n~0B:sq+Lgq[;J)ҥ]G~,P?m2<8c{?T^QXkJoL!ff)Yѧ#SY\gL)&Q&O*ΖJ:`$J P?F`c.OUXyx8 p+X*QXs4hLcP֭}OfY3P`X>rz> +cnSh!#,z@)*}WC"̓0B; L_t$ǵNIBRf.-D.+'C_Y+9"3NYgUSg0ŗۇ\lZg! !5cv|!a\`aADu{"ϵ+B#A6 K ACb-GZFˎkRv ҍa2K$D71쯍cjd<_Q4RY?ǼkNO[;;5CD4ICw1ap|G q.Mvl="s欃݌(eQ r//<[:rO6K襽sx? L3]al 6LWz|' *dc(_-!?+gӪ7n`C՞{z0J.NX‡V&YBD@< G6Ȧ>;Zo1g[ .ٗ`9-= yv~;,y!)7XvlyxlIQwhиd[\EuxO/r{rv}V%e?i)x5xk 8|xW&";a_u!,*'NMXBȨ4[Y wJ o^"TeKNwb+1j B"r>y٢Qr!J{'wKG w14C엀\ǘ󶰎K{\|qෟ''lky^;7p4XځX/)Վm9z!ʽsPD$ zޱW"?-KGiC@8]R^4bGiqJIu"%s륨j](KHu1 W( o(u58h7iE˧_!PqrZKwלuP5P+Q<(23Z4S5#r D!!=?z!zo!=+?{{UL[פֿIZӲ4ʼ;0 ]a{;߂a;=]j$*pnzvdP*_`6}7صPCTCCa?t6֒LGϓw8D󮏎2Cc'w--WsRs|pUq@HX' g«4G&_hx9()7|` =lՅu&sː3ܱ*-hpU2Hlf !:ʎ𰓶ń g'.ypΨs }գJ:n3Ļ^*+ֳqRwSZm˨: RC' JQ] ^oo$8a?P6;Z*\58D牺l$ 9hĎ{w&sgJD7n転[P;v{;" Yc4v@ߞQ ?ʁR\0]\cX<7]m^6+mdq= #mS lW q:kgIx+iȢ#1eG#rpL"(EųUWa\%˶YT@0d|TF_uJKa<@]Ӓi'ESi⦞klUd0 ["cQmt6{,yp:}9[S6F9!n0r 7m=){Jt6B؂Si_j|W5*u`w&e,>6k'c>E )1G0a R)F{V]\Z2~06!q͝r`Wx"mRTp;ތÅmw.FGm2~px7IpP"?BIRiH;'@[Tn쁑ajq3;3lJ .d9wu&=n/@UZ?G#6<Jnf:P.;ǪCdY#4 qT .ⶄfVx{^ET y8sZ=i'n$)@zRE 3^U+` ⊖ ԍ$c(gT^)،x%jV6s ط~ 7rɴ2 ȱ9lH1VFUbmg%Y'PF9;.PgyVX/2q#of$SCoL7YuMsJ(MF&R,1/e!At( 31HJiEaOx@b7hfu s뮘^ےKEavG[|E?*ؓ+^f[GHIty ({. 5m''ۼarH,ϬΩ{LC58߈#`t1 ?6Y|7@;:-YL!Dd‘#(ONl߲Z@پ#2[n(#=] 8VW(xt DoqzEY0R%)Ly[-SƒrMF9]74&\M[q s2iQFE Ԓ`O'-f{(VFaCȢr(Fb+ Vʾgt\DI-F0Z2Ur̘4bt&`Q?۾034h4k ;eS0[Ҟ6e/֯+n. kGRb`Ьk5zsLh(EQ-G[f*0I1|wtPgG͒5)Bej B mò<|H҂__1FJˌXZLjr\yT];k:j#Eם__%;NWvU&z}55HoM7qE΢GBۡXoHa~{_1 ,$ Μ,SM;<0P8Xݟ"U3h#)r }06*kڊ0I@_IRf7ZZ# K vEօ;ٿTL01]z"_Sd1sB?m#4~(@*kjk@!WWn&4\}z}޽Ie*.EUŜE#2 ,&?OMi8SWgnjgᔜB))q3eH<E(8Llw0m? f,5v P8,y@XV'_Qd2~9uhArՙJibd4[kJk'S9ʣ{|VqP΂Z E~q(WkYQnх%;<q=24˫HV.@.VG>aph aJ=zg FaN73gԕs%P3%E}ޓmy?DxE'B\e4MCufmL&e&\ OjBNU(a@c{?O46Y7 q9 ؃$"'o_$xOTImkj#oOK}kٰКVaf:.t/R՚EmUB3t˦*Qc_2TʊA}e3I`HF8DC6j1AtXI vOlc˓HXi-KZ1I̷=(p0̜[-KURj_u 30Zw$^Hq1,w .;O_g\9>t]%[L4dEණq8Woz{A]|wthјͦ[݇U*yqȝsӺNLNC)0à<آ9By+W>d޻ mcF.(i`:])+@_q>pKiWk&@eq"==ýv 5F8`?4ow!B xX[E EpWI=Zw^Wy 4uvY`6ʪ$[lRVðf·#@<:b|a2ZqH"yԊӲ==J'k7jD#`+ ~-4+B`}狖+{uׂ> nɷz~!}k,Qy֦5ݬ$? ƓЀ@L+BuObY15^PlQW'.8@DzlW¤~ ĝ.őOV:Qu O]˹afQzZ AňJ[(2c`-mBB\ΰP̾/&!) FF` +_) ĩ: BSSXJ4YwwOc1b^*+5Sh᭑zt;ee1yqiJ.tyA|[5o4WWˁ߬ 6\Pfבz0of@*PS\ (g귌_xPxscJ0+jEW3#QVjCDQ.FG+N{AbKeij0'2t y3{–b;AgK~+0X@egv 3y1-|!lon|GW^ߵ5t] <'#ۈ.FN1-B@H&}MG';% k#2{ۨiu^NF^X=(.OFJGUXdom6"h(֎nrI5݂Qnd+XHwMo}R$_Ei/H"|P}d޵ (ʃhd-,I7q}POG'nGV-X_|T-]'SkHÜp: 2ub'Dxqa%kkywmOܔVà+Btك(P]G *ŬYm*JOȥXe%$;`b>NR>f/0~pR0ΡκꁁW/ @/KQ4asr3\z*_lBbh= ơtEqS *t H,Uԧ/o'(W$ թ YrKe=>[{ 5f#Çt*_DQ^ ɜ6ׄ' Lr $㱯.i=W%5[h,FBJ rȭ ^Ү.tFBK_`.`-gJ1p%wAA܊i9*\3H_gZVGԂ 8͍.LBߨ!ާ\g!"?p,.-xt=K-Fᒜ0>n* J]:ΓrɽȫX+;gYX*\ Sq ICru`5_|?:xB ɞrdNI=ɆKgpBFƼk֒KA8 pG|݁uz,=NԲS2/hW?K,[Un(H"s%aa?!d;vuSOp[`Wc'ƟlM'$JMD>>KN{ux1QL$=-3EWĉdGC=FV襺!ڷG9Tr{]ٷ>;nz֜ Z=Џ 2U ⍶-JݔGYr]'yT~<)Ok쑹N4=O3X7L'MSݻm:AU(7-Ǣrm}]0@tZ>$#"PL9 B@$e8^u,gs>NˉC#k0Sm;l?HWI@9Dtcg0@Jh%` (L {=+b t!HJOʦytT6pf Z}u[Wb"N82*O5: tq.MS'kWf}8tkJqʱgcm_D;0\GXxjI9"c :/THW<}9=?iS|}%'WXp6`=$ $;|%p]욷RݪGYWQ,/y<])D-d|:"\0QWsSQԼ!5ITN0E L=19]ĩ`~\L 2P|Gy<<f Aso<`*ѧ`sڢD.I_~sz1^= aK<{ t_ݳEcc&i5] q?9=UߵdCЗ7{Cw^^da Q{Hd%8_u$ (ҢKQsaq놿3Xe⣷)m|??kԛ2LG :Őg[wpHqDֵp|hy_=e9ۅ 6:II,a<2aĴjYۊ8}=||D'̀]iIcfG9m"T E^b> # NF04'B`@43ZWlF5gr]^R۟oZ[v΀1H#R>{Ă8>)֟nߑ|P5;diyinC!;Gd݄{RZN4;$?eXJ,qZbG ;=[bfFX$l˸N8"൫!LЁ2%H_~7)dQ};Q@835^ Y8_Q?t'a|a3nbfFrgܪ,ǻA8S2trџ"0«Y ތE )W^VߔUyUoHGWY!io(DhOa#xlӰEL$IΆ;φ]Hǟ3V9rg\E!?/6E+Ty4xS> 37Vg$+i@%Fix$~˙c #>Az+y [Wl]ǚ*`#dY:ҋYNER"Rv$$Jj_}-Ɲ 4#hˏ6Z}涍\ M\Y{͗ C ~5s9;pJ+F 52\2m1I8JqHW.L­$Zxkߣבt㝗#:iͿ)O=/ӻ7dũ?ܢ\_⽅9[JpF^)e\`l\3ָ/ïqd6Kͧl#VDLI?5JCS!+hl0/`,Ƣa=Xt6|0FiW!;C>-E-b U'Ъu]æ ~OpN6"֭w!7ht$H+mвPu^w= J4Eno-]<:Bn<sG^krtޕ?֘kfwvJCn֨?y/7跂s _}a Q'}5Asą A!_f ,,%ǬO&~̮TZ451=9[s-1  B)>X2c!}ap`SGI C 1& %d'oGn^F S$S "U` J!5!0L똝R~C3oB-ݦdXt]}MmHөp]h_'?C<)zë_}l$r}銎(xԻ]"j.xTE?@$yu^ }T/9&#Ϧ_tN<ԝ'sh2Phuo*7Vx6r|t\s87L \ eԏMIhOQԞнe 94.ˮ'taJ/9.BHĘcp=@ֹ/ӏAuZ.\!e7cqSzVn˪. ]dA]M7IR[%PXCN^*}%\9@7TTȬ:/13%0r/X^*!B,튯,Gٟ'/vD 'nŘun\TMy~ۿ(Z(Rm],d@EaHt1T'sp{@O4pThLV9 OldxV TUz݆@i":)q,JRW3y̨ QwctUuЬy6hb?3k=}%YI1sgIØ_#Ч PKx)pz$c7IŸ>0WǏ~O8`v /j)_rx_fcGA!HN*uQ=&n`k[\<'Ȥ.Ko}\`mνGހbOGuf4 Je QYϩ5y'Z'+tɐW-=ق>Gjs!v7MhͼɤwvhuN[=BL}3ZĎQ?7;aԏ#WU,+uV, *9Z}c!a ՍH:H74BcMB}s+261d*Mg.; ~(#/8r 45(Ðt;R`VW?٧{) (u#ZD + boZIM;16g9$8>oA DgAXeyP gcŷyAt S兪%]hJ">0̌sqtpqpq$B0gAe,> rZHgn)qxErtD5fFOp 05:ɏ`6VOo>4rxd; ot b_{ԮS 6׈_!X-͞P 71}JO<-٢MD2Ͱ1 mFC:#66 vUDt C#OՖxͯ~wb).!,0VѫLC5^ilꨔF?$y"9d;[!& A U)ˆ0˝p<ѽW{ޑՐs1J"MHd=$?}MDi#~!kC&{Ђ@o,(/EwMڑ7_I?TO1PbиL/W*s%t2 5͖>EQ|@}!g!KmnH0\`/ J`0~ ^s(ޙdX-EҮr>qQ,xnmaQrpGqht,]hlKj^]5J9`CAEK \Zt͇z7:h?hJZ/ߌ-³|U>,`o}/~Uqlcdر%xd`]ׅ t@Jk&/a)##UGALfU\Sr60k_&`N{?o˙1d;b )߯; q"O~wms2i7e(~(M4o x] V؃RF[*t4ĨaF%!'TM(;*dY""hVI=މ?2>r,{= w(wTd)|p =}Qf㱦|;y3 BSkRRD%6GsiG}2r+CvO}FH;rxEHNՇOPϣDNMySG3!%O}!s{5(Jq&Aˀdќdb&=~\.Śd(Ue 06MtU1yT -n# .~ɕ6>D1rRÓȹdCND|1Z cd8Zy_Ʒڒ8sf]y+:탨:9Me*Yil"f:, !^3~'ZqE]5rjU'9/9\ Ǭ+? +]ő2L )kѓH-70됼3i.q{M g)xicAc5eIиmp,}BWⱃS |Qz:CϨݴR/ d"v4d6ԭOV2GܶOldCPh~I5n8ЌnS<ڤtƩ|):01r=)!Lh_9ΦMEsks5N)$ZL憢&f'Tݚα7$Q62MS<>j),χv@ue:}#O/(/^*zc]AM@e+}jfzΓl(f E30G7*ާk- KG۳rGwww4 > wl)EZ_ineD&̻Ik`fPH%HE{93B#ٖZN-VU7f:Ghwf *4Lx TF1GRiO[LD 0Sd;VNI#`{.aKAxV7 `nXa5E \B[oFqy u ;34&;6*t:[MtriaHXA<`;n3K{͡5Dq:~ACݫ!ڶe'5κf|[ݼ@W喪U5o{Pn-ʝ#kR%\o (\j0z Jj{(aG Vߒ>| >9W@2\+wb'$W 5<-E4K|KN#{``kd'uo$xʮ5a2#HI6^ٯߵ ^t598pr/)d"&2E+/\-lB6bt#?n|tl1%9n3+Ea#.u7^D40]Źsf&Q"H;N[gqY j(.S<@"c`dznǎϽОwqP^jBU%rq\\bW(c0,E-C.WMɏ"؜+&K1UnoIyb9dHn!FoTiI#TVXߚOtjm;mǷPmͣgf_;u9=&8$o58[iJO;hʶlaRPחԳ:vU.ƙ@rZ٣|eP8G+8,$ѭlXVKM+7 wو0CW@e3 !83*~+ 9Oj9v}(0'C6! $G;^ ~i8"a0x}KƑWԽp7 # YfXRW.5t~#KX>9,(>h_z)KɅѨ/2<^Ṭ98o\( x5=S2!K*c K9(̉bAOR~ 8h9^|+])G&׉y Pҷ+`SK52/L ;oi]Vq?B즢$bLB/6!`JZIyOK !j]vfP)ۚ>.a*S:0m۵ۭ!*C؉\nhv߃.yLGπJ0t*DF c,'\u&;}ȔdWy*/ܿ 3sK'nI"kW4QS'^^o3S\MV эk~kw>FU¹%լ`BRPM$BLӚ-r-~(m2au7qO2H`pyZQcDHu|㤆,B,, fv;'r$ZVJQ3鹥-U EyS='m0H@}Ⅷc IъH6ø:߅؛4fHb!/qD š.zNvy?Thspy[ʊ!ٷ2ʚ}K@9ڵ;\4F^1WqfW]C(kfz3{W1hjWk"?lHODЈ@ޚ̰Pz]5nhMOQ[b34eUܨskMO!B6|WO#x /_dAEXv]N?]Mݩzp9^'/.05>+|iҤhf\NNДl$`^CRDS.ʇM ˩)ѳfsAӌ/zr 4b 5\#HMtSݘqEdY2$}Ys ۍޔyhG:N[*kc9JۗNnA~x/+yzC%=Y7}osePx*a0YЇ` R/SUyȕk:9G[m2NJij-"hPXh>w=n}$OSönJ/d^ALI7l uc/Ec%ZԴqݓi1yd e+H"t%R[h ?b47oT`G&=N fX~UOn.+ʕcy ȼ)g2{ avWCXn¨ay-$*~c#ح[rBZݕ+Ʌn3- WqwH$ԀKb} @Hb>ЭmLV͸SJx({PQ0Y.d&a^r;5KfyuW{{*byĩG^m?9¦SnΌdD0 >8$h=V9"{'cHmV|oTG217^|l ~,]{sNP?Q̽EJmڵYJ)dڕ .z (h4xG By#|ҍf$||cGƱl;r-z]9uĴH&ti?eM@w$SHZ|u&&+$kvLgBKU~dkYc%6 R5Cr5KUVzdZ܈;)# Hʑ IPY$&¢‹Y Uk9ubrxBEF`2+`Ao}̇1:g[d~LE|]{~_Qgx ]17Ł;?Pjra/Ie,јdzd>D8hm(O]En \B7As*@Uա5Qm A#CyDDN iG` }DžtKcTG*d*dư:M͝M 6#.sO]WmMowY5:6`Zʍ6S8/H53#CBttʜ3Q>5${/OL&[ţ2mNM{_Iv{hl4D~=mR;98MYsUXሕ"K?H˵A T >*J^.`T3@X@[^=dLm=|zirɉam O|>88OL} nL! ;,c[.wdBjC̝yAr'8lCQlj929rJ4c#'' KKaK!pA& ; ԟhQ!\Y'x.~Ho!emxf茝SXAKIkOz}5_[-¨Zu3ҊpVJ6Ya.yͷ͉0p-۸Y,P훔'!I2y-zG ,Td(>(ʇW ʘoh>ĐˮIXs60EI\w97p(=ٟ*[rm4逘v?( &2{=E&A؋ R,U\;}I򲴢]pzNvg\:qH}IQ1x8-m-ď&J{Y-o=?SƝ̖d8 ?t=쇔2YcԧK/EGr'qT[ieumE|P9g >.'GFݻ>츓 y 9hVK}ph|"yz ::Z냃u\}4C;p|{^="*QP%,ol6p?#oN)6ˎB׏t:&/f\i ]#ܐg*nzũş t(*yu{|V IY~|]s|w;TϾi"v_\ԘEհs u%s&ȫ*kEEwGG$A\ 5?ƉopP]6l$ZJ2?']m{3΍H~х%Qڧ@!TAQF>[m@jPKtط_iBZ ׿'+'g*.>'5;j9T-FK}xbpa;ak*.R^" oA|$O#_RMQRldASeEIP\{P|9T-&(!PڔXa;ĉ\5"'Bvtat*IRxwr?.Gz`(I#^|aRmv5ܝ (-2X%)rj^w Q+) ר13\ʅbXt2,a<`e; y:oXF)9Αk^|QoNf 5tlʤ='FsFcy]cZ[ppw^A1t@+DH,Ih98lfO?;|͒KW̕-;xup{ hG5Io@/@577}y688r\a~zY:#&3ZI߭+ћvcqĢM#,>Hv@A[p>#ueqv\{9(V]wj-#Ejo"kTaONXTƒUovo *q v)Ak* 002t9VBAn]1s 99] ޅ49{]`d=|5"i)k辇Ƽ`u$X"N2[y@b$ 6͐fc=JRhW5ثRQxx`?BeW!;NPO"ȌY1MkP Y5#բ[ 2Hz]{^DF>ן1 K+ O+f:F θs8k[ژeNol(}0nwp}M=3H ]X}&]yP x>=: V'_d[J(޲u(Z*HX~Fg"So In!!;z5ɷXGMXf>囩"g0(.΁R59qmZ ƛ?%If_=x68 j%#nrQ:uȄlo'IJT=h:JSu\%{Q+\QQ 5[cWARH3;MN݅ۍo+u/Cd]3CQP-ұ_dͺxիomDXvAڐ6Њ)?mէPǷ戽7U>.އLȸ;ɧ \ȠIMOV d/&y4Tshk~Y*QJ}+E:z ^NQB XXJ0',Ycpg! SZ H j龚r齬=z80c}Ci"g:9ԑAjNn#>Y2; Ү9liM'd=>CX,wf O &dAVjHL$qaIT+tI[ /W02?p [BAf+w=+9#0#k_^9zU)3s@|T&Zj"5%$eƁ `zo,fu?ERzS ~6n8e@En;$ OG-ls$t_"éAXS$&?6" ʆ 2iԝdR<?T۟ @r 5DudNtpNO"9 w-jNMp6RCρgaXCJ݈>(#BR NFgma7ފN}},^~z@/ v;p>d|M.SKy.Nc4&#[ģOr"y"dDֈJFb:e,|#4GnB T\brz2,ed=ؾ}q+mwe FF؎D3^ *H~D7 R?A?:OF#hm,8f=Ǵ.ئS|Y.ԙlddWz !+ qM|D yʧmNkFV;@LmRS˧O0 4n*h<9xlM)ȁ#^qH"jy+ oƓm„Za ( UhtD`,%6ְ"p1١ƓT(fj't&` (jyiZZn`{@p\jItOvcV8.޳8hTNV*1q AzHw=@(J瘂V5=IۦTk?]qƂS ebF{gd5+E`ܕ* kg?M(NCQӧ?}?>0mfbTQ9{^\栒^/b|5Zфd,O,Ԕ7N$@I"@m5"狯"Hz˜M>r@hծl@\ QFj[~QSy|J[n>TO>ڷ2ܸXUq!ɕqoҔBMw(_{ʦbS٫ge14"uU2Pv\+Oax'\t>%*/֒n $ POH:ہKU%004<͋(z.a5ylQZ42G r׽2V'5 %x[K!C|>} i;%|,Ah>f˅8 RGꅗ߷C}#6HFGdl FjN}پDvoUYr Vo|3+*Kd̒Dc[! (Z c9ٯ+?.-/J}}B {Xv- '=%,1bP<!3u6bv{wJN.M BHb'M3w~l~XJ66w&< E6n(n %Q aۈŔ=;{rזVԘƅV{ _ybޞ` ( J#0Wl;"x%yҝ$VBݗYTJ m6_r&55MFGCfs.,>{)[<0cW[jmCK>uG)HQҊ7sj>MJ JsDl\wCj @xxaׁƵbrfL~}b;Fp;(H4Vjs >Qlj؈㱶 g'jS^z bաkqK٩0"񔁲;kZg,r\M18sx%s]kj޶,H~ہ 3 -+"yy}F HuT3akA(7YCLSzޟr)D3,lU8wtE2}2{plO}]fX^ ̉[A x4bYlq$[_lY+cw&sq}! US=!MTH`8i_5'őLfF>d|Wf[x/>~ei$V :ԏAm.-2yؑI q@F|Ki\?@l{ol怜 w|mQ53#`iQ Eǭ6OGit3vva-> 0VS}kv/DtHV^E?hB6tYJZtX]?"MuaSѵ+⿪ |J3@6VyCmyē%6#wO4R,-C"hOVVJ˛gYχɁ R78{u0Z<^ae|siXjVTTNǥx^M^r (87c7J:4I1#eV^khkg3mŊIز Ύ)tn+M52'+T*X`BocL ^sPsEU۾Za/.;h[]2Qτ MqS;)vc˩~?껃ou}kާ _O}w<̣Q#ֵVj7բ]t!,Wo!!-xuj`M&A1URrGFЬ7F 6u֯0&نDK]P95I;bw G]Ճ]%َig\$/ܤ^ ]Uܲݐ|oUjۘmQCz!i7{ hvCPˋ]8n;S({݆>j*c'[" :&s=maj)$1$uq-.>T1Y l[pLRt\fT@ 06;TpO;di*/ PiAnzJr;R{!ۮ0/KJ|`l0X/ m]n:iwʙ,ʓ5=FũQw# uzn YqeN֕ OGgzrIýh)'PGNYK6QՋdž򫆧rVXm2zaV[T$O[ĺx0Z(ejGsDQQ}riE&$Pfn]yy?\]@xMk&5J{Vv'Dl,JceD.7H*7Nʓ*uTKyduS pfNEC!BZR|!AY}R#K_Ї:lUZ] i$(xӚW͉/*N 76~_$z"T44ng$ aEq8JiWQJE}8b!$/\^R zld@ to #s7R/Xw5d;5B]zl@XL*\8 +qTD9Uf o@ *>,z!}d1Xs<'hj&>;(t!O5WaLUuͤ(Tb!a}e`Y#o ښUGc*vG`z5a#n9tѕ}"1<͗6L0OrEۚ ^ vBw4lN+2򱹈h9[tJlU@ ?^[7x_eqq]Nm :jY~U0KY~@ꋤ2+U+yd|ᙆ\w.Lڜ'!Za-]PCJ7iRK ͆.sk.*u>*{5A ,w:JҗmE2 ^"ƋKLٷ 0.V3% GDyh.y =~CG(9RϭKGF!AX3Gy6/y%*r]ȪEA{j=vln=/OlddUw *+`I VVGrue%d5K^^yIL\+{+sI0xL J|I>'hTqSBz;8IՊP!趀.1BaēFby-Uc.=HPU hWa_! `Q$}EZU N' VB Y|)pM4lHLͬr˶D-,Z-k0陻5ni=k:S EoS.;u~ҩTZ_ |<ќ[~K3tGvʲÂe ""fT? I͔hd~)y%O!2IW)zTx8,SA" KyuىsH~HK۵kRy8QDaY%q]56{׹GU33ʙbP|ɑEp}'|}xiIN6/#y\iGlJ J)1q?DƇ#.Kԇ7Q˰z 6,,)˫ JO裡y-chx?soz4;8aũ"kp\R2pGWDŦPt]ϛm!R#!iY>?rm|0-"?t~b$`NW?;jWVUTU=.2 hs+0 ]=jI;P T.Vٿ1ISޙ~ไYz 5THkY "Z5e8*D^ٟ(' Xԍu.h( Q `s;#XyɅ)y!_ 6ڬ # ]{3;cP^N:y$Lb KRybfP8$-Ǖ5,sքTBVUm*{5Ʉ+X݇PuŅ|fsm)V@u}oCm uz&-7*0Th! ־nBZcyꕩ.j)bqBQ!W.ZQںĩ)JWf߀0s]:8q* y',1#ƎEUD,WfCg<:Zy+5[g o ( |b'uB.x[pJ)"' ]>h>~WFԊOqe):}7ኸ$HDVOrD"u;cZ( 7ejm BM1y_(?*?l!D>xYZc+Q.hHq[&ZϾ-2c6D6\ U)h*kvL.r{|Һ0> t+sKyɧ1o]b{)T֏I$xO#\A aS廥HBKz7$(j56Q.+v |ٲ6lzbQBzw.OF4-CְCi3<;ڮuV_ɦy4kr1spEIz/ra[G< Eekk pm[X cz3p9 IQ.W@B)H(@-dn䬝Ba9NB6?VU=,s~|(% s9؞xh7 }o sr [~P'dkgԦ`SI(` Gvd!Fcҿfte7@tw@9++%xndY*6n%YA3 aY[ Px6ϧ!Ԉ}M (˄ruDYό*]Zea h[Ota,:2Tc:Ar˔~}9(vH] Ivլu76.}ɑp\"z-r .u opTQZ|A e>^bHFO zL+ ='ɻߵ/8ɯL\4ifg[9pXW-> se4Tjik}7 ~₼GaKh&iN(҉5ĆBvޓ-ſ nχc66s|-)1^equWLVwOY)9(zSP2Be[{16t)HboVZR5|\NԶ GJ׬|A@=x PI?uCDN#c3Ā&XF4TJ5!ugTz7YD˧Qeƅk$_2옉&ˬIΌ3 #%8]CO(qD ^{IzuPI$..a&g+t`>X/!zy/)ieGζbM;/*cl$c>$ӭy&<;E թF y4xU{ #p b) kS2:MuT\G[O-f?URX,>ٹ\oP˱ϗ % n3w%&0=bGQ`(i C&H5%!EvFHe?F˩BH*#T k{n9y0^VBc}\t2|aӥ-0jwcEN$6G$̧nM_h60atxfluy6r$sI.Yr!k}YNĞ7. Bg;}-'|L%&wq=Hhȯѧ);0׋x& d'J]ĈFҋ"Mo!U"D:;j6sdn. f$ mضߔ []>ӂy3۪р,N;&py,Ce>_67wJt\.B`D|(r6;di)xU)+e2**chx('?2Y8X,ɧhǶE~gCʆCG'[o< }NbS'Q rܨ` A*P8Aݽ:g; q)f yt$4s{ei)N3ٙqcZ;~<.$3 6y:Q[agl 3$1(x"1.gl+#™agSa1—N5eL$ ֙uhb91, Y#TgGi}l5'J"=kbh/߯9s&mKH`.C8pYOC-) ^Uv "esr]E>L]TR䯲_oCo˥1J^ۡ/El*0;.YDS*7Q q<'PHޞ/=+iEV;%fi`92^Qh@b}h1T<V"篙0uNtɈ-Ɯz}<4=me'Bx3?+ !pIuS /Sq";S WSCxALڭ:%q[~%G>F|/Lc"1'/&U1AğFS?EJf2xn`δ4ZZ:=<}v)LIW3!?~fz'مVŦ{ݸOܒ`9 %{Ko1t-8 =g'wϛhp8\4 q#& UN0u`_00+3~gG{*&Y*!fV㬒8mW z9_ژ  :SY'Øk#ؓS[ւ!XF#u neѬŵ#.J%.vq.G&3K"z¬t5I<$S{ PfM`b+@ymż Rڰ;~|u _r͞JU|<Zl푾5<FUn lrW@1mfD] WU/p{>z>ܺrif\lVͺZ-Q[,CNAvۦjײ@y#m(W6,sPl4؊rrq"yI>b)3AL2;FB.z&yÍb#7`QxB˧\AXV^^P }Uف֨~pڴLΒ}݊q"X&=RO7JB/I̋7*p5/GAPvz$;1$Vd~-6 N{@Sf7!{Ϫ[{-r$n"=mج+G m^\)T&ȣky[ %?yjm< fL+M{$sWR{(9+$C]$fA柯2t,N`R2$'ti6 ]Rpi1nN&Wq@JkiG>%`)*t2V':vF[gnV͈%[O/y"GկEmzrEˤ|p_ 6 xoݩ5U-A FO(hWb 2N2o[n<5 (a! x4 R{]ֺߤ/ ?̈$udi| ,,s|iDiof d4h{J'r:^%3*PPidY-;^T{%SЕ|0{Ӽ$D.&~/S MGgqQZS e1qR)VǪ×NàxVTY[_ٺE$ RX3=GRgSr)9UtqQU\Ct&ɿG  .N>JF%$ӍG}ee]s()>.6/ҍ}Lu6IpWvf^Ɍ>k베`Ő^ja[Nk=V[w? '3;pup)(a_MU_9Y&!r.'> wЅHs?WO#9kWɩIFTp}hN4tIڬv{?HDL2j+<+q#Ε@r7ܟ:Z{Sva.{j/{RsgV=zBfN' {6"XY<3v.]'^LP4o*Rϝ w /ȹz:M.~ `S44oã)De9K &f91KK|9u̘˱ |ugGcK;>.,"MO)Gx윷v8M ^S6€{޻T^F@ƞpm(8m1&>H;q})[џ-Zv"KXA ҨENᆲFPC9+'@N&o]VnH%c 3W{vr|K8 oˉͤO@rX2~][ vJG`eDd 1E`Lmr{B(%G RV7t'Gd`!(+&tx/츧҄&XMTygsxزBH 9 _P pXG?vXXLR\4s+ +穦jPQ R+w~HBd!r)߉ UuH1X/2L?Iu}01DxVJ?^ &ɗicb-hg'G9M4:.ܠ}hԪI* z=p9g#kJ6r*hvyD;YӅ^۲H[(q+rMh#lhZ)D{fTr#K;j_ʴB:^o*(e ^@pæyuk''ݹAZdVN7SlQA>"G<&~ 4]U#85M_@E*ߢ$R(FW8Vh߹2XhZe=f(kƤ|L0=1,VSKNYR$zP,QNUu13i!j/ҚgF>xY[<ӭ>FISH=[K AvvZfC|Q?o`ۘAL&"zAnֆ gxΜ: ,9D hҢ"jfٺضdj%iJ:E|}wJJg@\ 95jW)&>÷ASZU7fo ʻܗ^\{Kƛ5j׺uia"-_~ɿVһ[:mFϓ;;ab6bMD+`7dPqu*:Xb21 {X/0]U$ARi;!J4Q@8jH,M^ZX~ X!&Oώ aQcr)9#6G\^.PW:Ҙ;Pu\N +Tޕ'oӱbĪ &(A9)ܽ@B9h7osP=[<3ALOu|JQ&*Im[JLQIٚˈEj n񈬍<#E\0XI{ ]1dbw?gդSJ5Gv60\Z- ,J ^^ߙyE5i#ƿlCϙznX dH 8B'+ΨР,vMV[iB֣6?8'},PO:#n=Ö÷_R~n=axٯݐA;*~=map-˴ +P_]inᾳ^v&6 .[p}@1Jo5ddҸj6TPѽ7q77Xdݤ)m~Aob7E'p!, 7-|)OPY"ZyKZLoScb0?|Ĺ˲o\tBƹCrZ SLVWi[$"e?z9UIxOUW- t0/\َ»eaϤ=dM YلO6~pd,Q߸+iBjCKJv ;aW 7|lBټXJ:&t1' pt乡"KY5 T]"ʜrm+@zj;kq+y8/HZɶH.N1pH NI ZSmٕ pi߽A aĤ xlsB^/ka6/hDR-Y `F._ݝqcM0'Q"_jGT\Q{@tFdB>DTV-BϾ憎aB/hBn9(>fGW{q(z@z 0:UH k3QvXӆcxJs%?\y ~- s[a!0+/>(MNO^b wӿ#&gR'UF1#)H31 S9PzQ3Aٶ ?S[gtF'Xne ;wC%6^T 0lpp!8:?*2nZ˶'# /Hf%e\__pQe{}3Dyôʀ+\n2wDM|v Z-s0f<-nCjΩ-|u9PblwH//wv 4&U+⵨]De=ߤhoDjkaRs\Q =#w h._ی)UP`+Vw)콻iGbm5\+NR/%/:z \QB-58F8=d5dr_PHhHjYY[|E8]G!!4ofnDMwR8*qp v&`m&jD`6gƢD`c,:K?0T7):J&{QQeݗTgirC] > RI v<@23/Q~BUbh%ШT~b_gIY6pVx@r2ȶ,؞<0G{zJ!^RC Uu~.j/)O8'*H_\zb(M95y! Us½T-9W'jI$NI^mLƒxmw4@Cw&#pGPޝacMڤtDC?d|,bqHFILu5*/&dweMa#-etp+?hPVc{~힍TXK"ն"<  S-c.N KZT}q C|eŘ (?C ypC)),{9\Y60q%j#atWzpݵ׭TP^[7vUpO%n`B'~d"Hb:O2z*'L彰h4}Uh󽐴ѱK5ѿGglqz4w hfJp2nKoXYHX&3hS+&ouz\Gc @ȣ:R:kKJ`~_uY*X!)‚؜N]ڄ^(_!s8ؗ`&eT 0u} NSCHBxaWT꫈dyˇ@UPPxX-rl޼(.IKrG,Ԝ װ ~,+ld3Fv'$-@eN.kδ C(aAt|nEZ!yk~qe pl˶bF!jyY-h2&h+v#gMsFXߍHϥb-$Z޵H]w=]b9C6&)-p]b}/WkhѼv+./ @+ K0ܘa.Y*5JlHRJ ,TF=)*wE[VȒ;xSgґ{8ݱJ, Nחhgg8;ԖK?.p2$AC'"q îiŰvxBG{HD3nBn6F1ZKN)^* 'cc9vM=xRDžݗ%`MȞPҴOQ]3`;M!x辸XT^c!h[=0 &k@ԞSpD*j}23-]~o8`%s"e2nq{& 2'+ۉ)ڴGzXM 夂繭*epgZPa bU1DOJ3'2uvm)!~@[73aP8g`(1IC?djǧLyl$Yu'LYi%]=!$'9uݱ2 .&l*rz3 _"NPc[ONClDٕ1GUuo*h?rWrok7F:.df'BzG~7̄eS<evӢF*o'M9|CVc*?/u@` g*Y:KszH̓#%# xƻ,r͈5TBވ X0,CNO!„3aF B\-'&iVQ9eg9MmelOgO"ZKm=xbFb ފ1 qU )G4a5[ .k͘ vc VOpK(P:g:^UlLH͔IڹKO/QhFbOw|>}ky=֤b,a#_ۿg|MJqұe *4Y{F qݞor;3~=fV4 u;h{#N๻(pQةbi]~=րR~x%6D}{"+8C%]^dLI o6|I&Gx֦fyЭ!'jמ $'m0ۣRCMV>'InsXMI`ٛzQ= 5]pRŸcAϬ)@:Vąt*X.cҁ\Yq[ġH:YJ#s~^D(*>ABaaqus:\X9tz7SF26ϥu{+ {uխ)b)A3@ ujL%Ğy -aGS|2`&SOؿ%ݒJ$ F(J< *Scĵ8^#c"< =CJ|O<y?yY`X;(!j~ BI2ooU>vl`=,U6:SDt(#ӜXLGU:T-zv.N^nɞK`Mh78t;Ķ! ,&(9O¦! 5HA' e!MI\T6l+Г6}MxQt/\->k+ q2*54?-M| HSE`o޵4#ɒbC \ 00Dwt[0U*`SCřз]DZPuyj`Vy(`ylIAD}(={#Lzu? w!6TM ᛾`tiխaH0s/,2N෾Hf ^D:$yG46E?ݎ,20@<C\n",\/#Xd=O2xSw!B權p67U?Op~ТQՋem|z.RMg1>yPK0D22QȔ-0^iY8 `?ZtΨy]5NOvgcHlWӰXȽ`1&n1~_i_ E{+T(׹X<3YO&~Bӏ8^|K?05|lvYr3glۛWMΨi=lYW 8dP.;n>I_6FɊPZT7$iAujڮl6VH*.̯1x,TrܓwJ')0?LW9^&H[}zvcԢ - JYȠ(|kGyNbiG <OkG`^lEQ%IpҳM-_qC&6IZ">'.,3P`+Uw^pm vYNKՑuoj&I`0лV.]݊K[0*wn*vGZ+(hHpƇh 4|I+]1X+ƷViK$e+jԉ8E(=₻aCvs7zk=- X m=yF}r+XzSm s_f?v@nt&4M)P g<60 "ľJt [+-L/glgyc Fu:z50'E .CslLڸBk4ݏiDd!gXc+֟ǾY)fZ9??@[Ϋ(d1kHw @?8Oeg~HOAY֙fiK2<$c<f?2C66V lIX%h{!=dHǢ[IgHԓ"嵠 sEEV;)HEqҰ *y'̥>*g~2 ܁9̵l'r{:?$]j\nVa8s#ثUx/ּSQH9JdJMEQRѧr-΀|Vd֮{A46\;E%NtCdq#nM}tM+HIBdH9T}$ '\J3EX?74M !ž3K/C.tn @׮I0jtCkoNJm#&)i2 LJ6[8ag+ڄC᫅'JMYً[Vo]R $F-ʜBNP9pn|m o]HQHv/,"̕8ZP0 X]4nAhOPO>"ܵJY<Y_N3[8:dH $܁^w?khfTf3@K 4PKzĥO5{)D1KU%A=ѝ 10 򵉫N^LTM [)z\)2xŗeKxDF S %Tax(ն )_z[LonZ1# ҋs..8WaYN=SaP:g`B>I:aRo|'ox"=BH|Td"QRCHYm^4)in_tC7W1k2uA;6uП'2)[N! q:=J$kpy&~e͍0]G3bUW`pU,ɔĖ8$?gP~5yDU7u<q'jjԓ`"o7Ͱ\|r_:nEO{8'h[H h&Zi?[>Y RN0}ˑs-.=i> ?Oት]28px?"m=B!8+T*k&8͖% m5åQնY 3mɠN)=lǢFƘ&/jO ʻ0֟{z: #" X12ZRmeY W"S"t:fys}Qc3΀KwMBńB'm J_:hD"cO_)?k>gâĵu{014Gq@D"wuH@E()!E-9\ ?-,X9tp0ʬm=)NV}#0AVٰ9ǧ!ؑDm;.zPȾ/C̳,VL>Y [*_6p"8c0RN49`1ɬͦ xCMjQAQaaVRj&S%=ߩX\ NɌ<޴ccbe01['-F+dr[#[CigE'=J6]fQgm1##ҦϡP1fy)%u GV Zln"o<<`G8u^m-[H<(7V|j BsrJ(GfG{KpgiJ$jU<&X;@ Ǵ`+v"k@T^L]dn9m*$,UZh ˟e#z:"{,ͅVeɨ:"~3ϩ;bFS+e+' (5k(k'_SBb٪xn]Er5SI5Lܪom h1eO|=ג]N1u]AƱ3r;MY?(3];3jt%*onp Jv^Xziozlr94Д C5J%E2PA,alEb2܃DZ/Z*^3u`%>-oSqFuDxu^N$A$+RRi\nc :7N$JIg ]{\ q"tɲaxIdM~T("zpϴ`-ܕ9-{I镝` O3T#cۼ3^; wJ&*pR?>7u;2~`GmiT: Pݵ 6.,pIJ#lƜ]6 um `.瀲mŏShӋٙj6r}ԳQWb DIPD@tC;9F,~\q/'M6~Qg*bIFIP[L(dhg*~夲t*ʑ;}hL{]҃ZBH)bf Gv[ˋ# ܠH;% #=b-:1ǭ (g Pܗ)pc?V'S ٸJ#eɽͤ |TfS_5RAY!T5R23oۚTLTi8$,{E~ƹX @#sddE2+q|uHbRs 'HF]mIԔ1Ýoh*w$Lz m4.2/uV| V}DY/F$앂Ӧjڿ%Ҽ]C@ڵCR@w)=[: v%{5 }бD#p+ƨZY^mOKuD,cEruRh;iufHyr7EAٹr"tچn-$ Im?}VhK;_O@C s;HIb`_"L Fј3; (lY|gSf1<WZ1ZV\j1sP碎!6TC"Q6RF<[ *]E+3ù7J%6=xCR6B WiTu1k$N's^ +56#n&2kR\*&zVqDf4@\F_ z)ޓ|/>O+mHA8& /. [ye~}u=@}gbNVAKa]5|Iէ-b˛d:zkUC$7՛')ZA9F(K"Ei:%esjzhh8u,$傄Z "X)sth){n/xѵž i @̅hq2$vA[ǔF+ ?$+s5nUCgaME*~v>'RH{F(#9KijcmKZkxmuxoOqp9&mH 8#/KZXѾn}'W|N JMW .?at OFˬ p 9'at0<4-(w,CUV}(Th:x ;ռ`gUOcs )sT9 O;~(t?>C<{Ҕ Ηm/ ^]pOV±2z"="-U_t GWu)btA#As b ow tKm?B^|^]`Y[R_+gd kZR>`S:ZibC:|iSF_zuYz7GKap+7$#>V_ e wK;2 \p⥨BKtÒܓ'"'s\eI|dy}db+o!Pu>f}d^ZCTU0#S05 !ܴ9lSHcbSڊ$tJ2,bM]j)$իYd/u.8R%x20?%kǢ8fc lu(L=tP֩i̩:Nʾ,&n?1P ) zLgj =' 铢w*_MlnꜾ8ѹK%nk~ĺJ-[EKicY{)hA ?yPrFxKJ^pЧK྆iIv1Xqv%cJfy''[># 1|Ym"_~Q8h>H }2 K2C|tPv`3JIbI\q/Zj,ɵֽƣBY+C&"-Ґκ;#GCl= OT,<|^ws =JGK[uٸ =ߠɺ2L.&Fn 3P褾$-:{:semE(B:ϩFqP&&'G't8 04Z&+3O5EacFZ}_Mpu1 bB-~Fйr˞[-Z-w3r}8 =v0;69H+&vrTߎΚ7`O/O~Ue-':9P:pCn?BR5j{JK69)w CiD͆ԩtA~ %Lʱ {mD 7 լjI(MHS:nz(+TJ|_Zĕo:WJ2ZII nՇAE(%HLN4059"}^:f}N0p?]0?#bjcˇ٠N|t|6~J 9ۙ+S4T4'?7;rAM^w5z:ߋ1VMgN\p1GCZGZ.Qx_q9I6R1?ojn rn_Y^\*՞X8(ΠV$)+ae ۳/ιe 0  "K:'6xw\j2qX";dwݰ~f|w'<@e4]3.P W>ek\E GUCw\sAz}U:iq 3#+fI: @p]?9gI=uzy=r1-13%n/=}65 ?ZdKdF:7su7 ]:d ?lPVRF ~ſ {Z4-/bLu!rz5Nk{v\zqpa&8wԓ@vv+Z4?ao qN߰BZ?SF2!-Fr%ֹuXȢ擐4CP/P@b;d> OKf !F=*yw]d&tzfl[Mo^L@U}_EQ롾J:?yC! ›snPQ0YD @x䌗?&0ZufE 6?p'5G*q[$_1U7<` }J4|꩎zN+.D/E1m`[g1׎L!b]JgDXhY.5!" q SÃi>W +;5gRZS]vu("Hg [_eQ3g3fgh@̥nl<ܸ:R=m4]]yaH':+{zkzo+#6p rVM~. ,WWZ8%SrB'Cv@3ӳGT/7Ø]y"ΙpUτc;Li$07ɗ^Sfz#H?h.av;Ll{tUKi:ܝE=΅{b>m 7JJ0k*vk'm|Q={wB2c04 76%SFKrF~ wB3`eRA.(Yn4 A,&b X=ਈ{L,rZi3'ƜĿ_yGYj/ǰom4㭎[sQn7>IKyU-amLhdBLj ܷ#SQs8#L43tD]nAP"6||?%D Dc~<|#1׾4̐0_5 HQ'7L|6<βj2tW0&L`a1"M۷{H%Ozm Q U+|(Cla˱c!Y+yJ]@I5 KG 9t_i6<•8~ɜȫ*͘+K'w/ʨ {6~#*ُEb: 86X(͐m/x g522P$*T \`}ͽV6ϛB/񀫇Fe*:tvi._Mc[8Ib], 5$ů<1ˣjxz_:q2bCk%R>m߫7!7qzHp5#֒#Xbg.[VR#";\j7%X[1饸 drKC C& 2\Ffc퇳4iB=9,^议_f"@=tZ$=º0C+cڞD%0sn!mN3c?5U:8%=8#&(_SJ NJu J͢F)7u̝5xYF†7W4p͜ߕ{,IP+~Ƀ|zyŻ ~pEc{Js ,BF-&{T[u(9)O .c(ziyr&}l ǘ -!>*̖!^J@;a˄ӥAqOqQmu^+Q6]=lwaVS^[ 3YšP@ 6O|!4ʚ$U(5\JܹKtR9h7C%4$;z'28 ,8bcy]y>}xcY_쬕8YD[߀ H5Y<_+|X X#9Z~2TŐ4FWz+=ZR;jEg8He8%L\9:WDħ)2 ߷A;ESD_akA:;n1_ N65z4PwBgҝJ:'[qk(JȎ5c[+w ׍E> t z̯TB G%]ƬSDXZ\YHD(tF̄"f.RZЉ1k3̨_}LJY3]fUC+$}l'qc6QE2& *ї#~$sU+AtH?7rpdCjNl0#}7kY0\Qkvt36T:K'" k͑aU4lw;<8QT>hdsO@-5]?~(ɪ,e{>?mlDp:[7}rBRS*h:Pe1AqGS*9HqL'xْC2[DSIDj9ksBy+HCU9P0N_Ɉ>N zy^5A'daEW%wV>frݨ.F^lFU?>Fw{״;b?˷-c77bPSqгu)WZAI>T@ܬg.swZ+Tk.CqfEߺTڨ>=*r4=!@e>|AlǶPٰ2Scζ[wjE- &-Mٜ^q9E]WM)LCu~\)JQQ˥N(*jA:ۥcSJ%%>dP)E1A-͐PZ+ Wȇ)HP}v?@|LCge`X::bUEb֧ ߶L9ײch > i^w>fBBMޮJټjs[/66"v\2Xג(  ƑxnԒcL~ b;b]KoN~1",B O)44vר/GhYG# vd\LqkȀtuiLJJYLCILʸhLyU9iD*j /H]kԠ`>FvL" D@2Eqy3de'ԄqXw Jڏ V؈r c. +$?g%8;u>fgYWxP2P=<$# fF8TγSZSyj( mV[G.Yx Qej.?QN`uXT*5j`STK,:@x5-a%|mv}6JUF>0t,+qNkL +ꁭ/'C~q\ i%g߱dQǘJ' q'˨awXn]fRze{ 7M~4j;^&橂[aGU ӣaa|1x]qtyO>jgse#6f`V|O)-}eΙ.QpˏY<ÊO;ԡGU|9)O}Ϟ0[^v̆jLLP'ҋ.|m2^ʩThjS]Z{^+qTLLZO# J^@)6r,`ʪFۧgORElb7uܿlD&Hz<F-mbOŮRUd72{kį ]6&.K@t kN)m$_\lDi3u%ڜ)#ysM2BYYCoV"_4J-t[7b1awX_21RP: 2h6ˆ஗SeUSa˫c'Tۉ|hIv/pd\Jy:iNy~m \S,TGK<8U9rirX8b D/1uHG%rH~`/:WqtpxbӟJ3Z2.Ɠ`XOXTC96F42ʨyEQ*פWb2 a'9`higHRpYuFC7l&{?qxFDal>,`6kW vp Hr*'nt'M"1`23=+y-4 !%{@IvObf}bEaۥJAVǼ*tY;4]U?"Ya,4…6P,pFJ 2jxԽ5y8%F6kS%wmB,w$%9/\;OΈն ?(lř,n݆Һ$*[I(-:Ǭ$s٢4/pvDu2اRp]\'5DY?.Dv_:n qٯ vC9!-?2g]?Qfo5JlcH% 1] a2_YUj2NHJ˶`qO3%FV%?w4;-΍yx6 J+"Qy"m[)A1ۭ!3}Qv)1T~Ruw5v ZU@cbeȴ];}1]Ț\t'њ^HCt!4y+4vpǠD=,º(B>ß5\c -L5;p 1>G1]*N3+d]u~(Yhc+ A']!A`iz{E }'P̵b#Y(V0G>XHPNESqt| <ڮ°̄IPvSKA`eF%`/ڵa܏YtmgX3k'5ϿE/gU^_<⩫)>׊+bS8bu9DM#埰mj\*H(8xlVkl/'HvK5caߍ6˼sbe7 Qp3éy+ Lݓ wn(l'r}ѶKUN_d9<MvuT/rDe*JЭ~'^ƥGx9ڶvcW r]3:ENн¹lV;Wljq1i>1KV,kʉwlhwUh҄G}cIu>ob\ P-9. ? C 'bb,;ڪuU+=aRn\B,; +dttwENݘnl 2K&p 3SͰRrY,}\Nlqs`gP\wC[rLPDT;/ppSEBңNd*p91Լݧ==>!ap9Tp]hzwY_u9V>&Sq)yJZbNv=hyr=KpsVY4`Umr}Eߛ獽 ~+.)n_TH ;_MeފgVT!Yװ,K(/)qJUp""&ݫV }\Wey(`GRBTbLġnO&5_qpd c'~#B14Rn0`s7rL]P}Eu6w¹}nU~ыfS(. \ ZBA+ ]m˥(GIڦ_ܪ,za|kJkUe'1N{RGl?0aeS@D^"N"Cճ0NA9IS+\ID•-rs@cF9G*xXq ڰ[*rȾ msob|H$EM;P◕pF] Ү *[cdwL)k<=[gnMu$^͊UH7j.RZ6iUQơj`k4Zj?g fuƢYUM[l!OI`.,;nX. M-}ݎ[T~J< ۘݸ;¨IAґ-MQ,jjaf:nvLg5sڅd[j,f.JyU?$9lמ~8npѻF&$ 0gtM6}tm);#Ņw>^eTih'BCAW b4Rb~Ad&{Rg۷rК^aib!EV + d&yu-B3K"S3I&2v-51{=VqU-Pz7ǚUY^l|Kpm Eʉuhi,yްԾjyw )g"276 vg YJݶ}f%>YjG9х*OίfF ȻHPK<5p8o^dbbe(WR{BF8l>G:Rh٢:j`H[ (*Ks*y /\-E&?QL-V$mҮ$2[~ n5E0t>΋k +>sΒU)-/]`-g,@j(9flƗ uH$~;RLw, }P;MCڑ-İcLJ܇ ǩy/R`c.$ \Ŵ`OZ'| Wd Z3Y s2t4 \CY5Ï_aCEN-75gln~f \\L/ YS/l#'v$ \ywmE@AָSط9Sn\Be 3w`êq~,S'Q]gx?.j{yrH&=fgB}UogC)mk8?Y]m-_ =nFFQ pfp}hvU"&%m\zFs/_ru!qf%ݫjOOjTگ{ }"/~3)9i_J(CIYEw#wPu?*l]Тl[])N;B@-{^RQ+F3!`qQ{\!BW,ˇD"0P#xqqJqf'D?((H,aZAn'6oVBF|6$a?v F>P7 v!BCxRƛsؑF[/О>%'&bFRqYrt Έȿ;(d0.V{ꒇSC. >XYuYf9T'k91WNg;iKWs?{%gf;e^=1gOhV P1z8Vz&1{3Fm!iFP\qf:E]9% UhQ#͞qsԉpT=(2SH\ͣgY(p 2ybFHWpjwPU0f\:dW`ˤy}(oV!4pituQ[/E^! 'hu˃Xeq1JE 55P4ȋG]{B~z\ |@f.Gm?'6q=??ﲽL$$V}9qޓ>wÛNt5xyi;O6קNuB &-{_ :P!nź.**_DgFUW_!"bY|Ϧ7.10'/ L~zrOiѩkByp%5'rW]\^2x"u@{J=kaw4d[A.Hˉ8e8Hyh_&ѓ >T|ele+fbZG'4!s˴1lYI7P;һﵞm#v_Ll#IlNpyZ]qPR9/*+XYכ -yh~,Q)X杀0"S*OH`Jj4 a'dsG\|)l{3rx@o={ܠe)J2Cwsix+)'%[E$jۉ| e:_)QAҋ<6WT$G;PB_9ی\bw#H3pFVfO,K^Rgwz>b鰉eQØWM %ñWSZ3Ud^'`CkDZ+@?ˉAӂt_9f5w \ikFY]vXyyRl,5vЦGԸ%"X"KFDxwN 2{: q>4y r3m |&bAAJ4^UvǶ9jX06f5,P).]@]SWMX< VvV>zb?\0{J-}{,[s.` $:5STߡs,4V [#7A`@ãz vGZ[H:> 5"\] 1?)8 )f`}[Dx|VGiZR 䆏uGG"u* mV0^J%F}.k=2 |ض jr[BCDU(J2]E0xYt5J3]5j,eUǔ QH(#E;X0 rd=4ApTU  %흌YgU1| ~ "FK*6 *IJEDsML$P?aӰAUmv - "`èŢ5Z=i|@qaoM5'w.gElCǩa 䦎A@Zbr}~FS#ߏX5ct,@8APF/\PQŹMnq+ u ϋaNhՙQL~r|`y %ZꞄAzk5Pg tvv}[yoH 8*=&U?-X"n`@mk?lڌF*HṆ KQp*ZpvZ5g׳2T&1>}՝B㇖\?yڏd6yHV_4"Q Ԗl{fݬ$}'@[[L=zFrsq*XOl^$RM-ڭMˀ?؅ 9P̡hVɐJ8\[qT# B ͌$B7ԵAӗ8pˡ?qr-VtL) )PRJ=ݚ8<|F l&5;h.5EЀoɛ[4wr-@Iɂ5+՞SJ8SncCԹ!X1l? {1N)([<2Wl)<65|]=|6yN<={"SQ>O=o%ʼ &Hdɵe #(!kUfA<ІZF⹟ośD.Tt ggea|c7١ hJ:e3k_߈SnEE 4jG³EkQrm]IZkEbtO=Jړ*ӨK4NJH| 9ϝG+Grv8g3N{D +J=QwQ ξyXi]s He'厩C횣M- Q~]ÚiDCL;A@Bg {.Sњpȝ[  P8N=_V.sWL(Ϙx>UN}4Fi؃@}:Q9:i?̴ GFn§m}%Wɾ alɵ zsKChh,!0b<zr^6v#jyMz"sHӥkJ=я/%75,%S@3 Y3|M=ӀlM||^?5ˈ3& a &>+a-M~$?iٍ+7OA1 ~a\$ݘꋑ.܅;,Y/#up{ Q_%/!a%wӈ@^,ʳx^s$2u~Ai j8W.[lֶq}C'VXe#GvF٠> ʗ|G%4)|ƌ[ОͿ!Aw@/-bCI&j=/25tMaO ȴ1d%1 ɇVAGg L_esMڝ7oĵm51S IMXOFx%2">{Y~7 T6Jv~ោXtx[=='&rt#S]gKʍ< Yy7' ΃4a'M?dU]o;r([)$tAYbD<.uid;Hc:մ0\n$yw4qً}BIg#r&~)9H-HO<מޭ+/4 !b-KTMK#}^\Jm/}o0lMaO rE76$ͯ?4K*Qe`c#xczF7x^m2% ;If#k5-b~ '1ӕ!MNh7UAg#!BNiށi4rUf onB xG8,$|Fx ԅlüȟE7Fjfڥc BvA腆:7cd 6= sM* nڲUƹm8r ]YwsmR;m4%b-0OuiVץ;>*`2FV:}:fax'p.N)tn8Y\Ps{CzA`,8h8{7tz5據MUg҅xqDpܠU1k1iը B-uN!r523[51_׾B?0U6WT߱c0 )x\eߩn wcU v_p^ތIX eR^q(!~6Hm,%s.-u""Cs{Rj>PMؙS"^J^19 bE4J6C(}ذ+IC6FQ4ԊT˴ շWH.@˓/]Z+iGk`qwg!O, ^ѓ${,9{ẒCnUſl߮#/DҮ*u{#q]F?)͎{ۿ] u&[@2$ $.:1RsgM)uI$ }̨ܼvr!D[źk۞T\!P{_ַmHnuj_ ze&6eɂs䰵0RrS4 .Quj1fZ&(p%S)е)mO`O L%`5LzPXiu3'ҁtBE#GcR_;>VE=l sq)ȸ'+h/hMglՊd?v9USϵluWbkfR* Y06֒% קO,A{vުw{D|$nD!hk RڐV׵m;SlgLW=dZW >k|v3}/Be] UH#zZ gyz ȆXc/hڨ`VD?;ϗݤ30MQ{_#%?&e3:~&T,v\O5é}98?1og_w[}u{ن6CyɩkFdD .#O2]$;!{$6~hFD Xc\7aqHU8JbbX^Ơc^'1i"rVzr@`g9 u Jn o-5&_q2)!|i Wqߨ0,Xè4&ЎV;`J?S#z?`X cO;nS~;?lB؞.w)A%I̵r;RZ_l[lm&+U lIyXsZd(-MJ]5ޯR(SVU)c \j "rggLi:Ag+T o[,,6ܷ~x[{?}A +͒ Zx`]ZDFS1!5N!qo#\|ixO?ْ7* {wB"JsQGc*sR$*OCHkmQcvJGtªҰtnI F9!#ʘh[{q<@(PA }ow]A n8@!~Hnmpi܉2E΃X[|,H=I`Y vθ<Cr17ں󈖠Ps yN ?b@i'xS .I@'wݔ )9ت&uQQ+̝ X&+*E.{vFԽgw~oc7" oDH{#s=ב um1Tft^ .G?wJRQώRH'5g@ [i]tZjeEiym" h]2; @[歁ɓ?ퟘN מ VpGmku sB=)>$<4Rd<K^Z8qa6xP?Lcё?=ƿ/Uaq|Ky}4{]hR)ZܔBP%bakzU?0c&^g#$p xGڥLH~H*=WsGޝ[IW*$dczS,PYo@7='0/~PKL1fy [GBHa Dnj6\(oq4ՐE_Y:j.Sf+-kU04LPl>cJE IkL+GnC} %"Qa śԩ+z:38 g!E5s8SgøIxtb%[**?b ' m4A׺K;$zl1ݥݱcm۫d7iZ`3zۨUT\&gy5iL#ߡs[[yfr Cwz/J|F+lkvw@dž#iDJrm3dVdBcP Z2pƜGdzt? 5$H#Lr?At"J\ѡϓЃA-vqw՘C- <ࣉ`d 5iI>˜͟o CW]粻u.0GZq"a× !T#&UPU)8iH?Ւ5~s×@nn1)F>0ʼn0E9 PiD_q^v2OCCש6]ᇨy£L+n6_B"lPt5:=O5(Th>j4sNmǧ O׎9`ftQ:,²g>{@al Kסc8Ga`q8EZ1ΆKud"ndX_WsGWK40Ol'VF#^,b, f6,4'?C4u1d 0;G]v'7<=j!fjrsjJl#s~r[c<&zꑳ:<]!=H  )'&W*C5ljܠ +CI0yБx8/MdXl$ɨ% S*N'':b%y7X$qO5wr3կs7Bk׬Gp_Ȋ]eVt80nG~O5h ̽"gw*lڥ}8ơuΪn8ѵL-&/3ao~SDa! f*'qQqEzPjp-^p\ҫ 5a_%WåŔ#1#NP67 P5'A@6EvIѣ){iЩY8郿%9%'^ـŤƵ"4޼8@: |S>D^mP[{:$ˮ* Kwkн6`Se?n;%0¨3Ȅ(O"z?ΞWlNNm*^*1{k._y"]jݮ[ο< ^ĕgg^NC$9briGk?Vq[}:wNPD2+R[t%aTw{0xyBS\gf_9!x4P}myL}qK02L8]oƑX [&GF@^jwB҃ \[s(Qrezi8Ob[RQ@.WpC&g~mD TR\Ȓ4cLw7wZUY) 2vɕ"& {Ƥ [?&\"/Pjl7"qJn2=P h"As,Иd;unD%aA[s.;orqMS^HYwvp4jf2QqBҼ|qV\ _&2gQn/Q|rn5NYz~n״EU^N>kowǢ4쩳ݢC,K[Ae4ye%Bz;v48`Uyێ_B V`3&(47ZExwAL_(2\I8˨ ܷKy7?)zQ]05~@úȏv,|[3Bd 9ب1#"$R 2a27Dl` ճAp 0ZL+0Y7x&qqb'bdJ WǪ.8|t+ngz7E^'ujÁ[ 7]ظc -Rf9< }%7߼ѹk 20ޕA>_q\ ׍W0Ky~c0bp5Gd9v7L=iөQiw?J-T9qx;ժ(#Í}@CN=P{e>BtATKS_zU?J%JoWΤj ,B[6 ^e+{FL>hR8y ta~_}WWNEs 3*[Ƭ,>mbͱ$ߣ'biK#ϙ&̔ JAH_2^mɬ-'1 &OpbfXX*N$SڠHcO^k4kO;}Í" 'E8()Dj:$6j߀PASn^_fM|yZH@T͇htZ Qs]b#ʏg;p5s.Fq8gI3@dD'+6@noT)LJv^kMa˂ ل5^Z^Nɒ2.wLsZcq=yx> Ҳ$?w%%-"ld[蘘+(C4( IVb'.:rR.P| h'[" 5ѱZ;C,7qk;OG҄7#&%#>u831FfK)&}73ͱfi\2tҾu7tlLY!mSepL&YnܠwzRjQ'EMEZ*Of{`j{xnXH-'&,k]j7mޕAr/4EQ&>8lKJ/ELͧhL'jZT$;D{JM7 Pk!F 6ȩ~0 rFǎ%o`V90VZSEIVefQz6()L7u3x`}|r1eҶyƫF(==t&*{s[i5{ځ"2Y5lT8v^{f2k~CS]XƤ/+"q4@GCFFkhxiF}%+Imy`A >́r!>(΅& 6xXeЎr 2g*[=2JqФ}ei;ukC%хj8qWh0}Lϭ[*+z-BX!L+0`!!g@fٰ/m6~ǭ5rBdsh[9I}_]'cU#rbŮ$ͪ\0dFI@|o]?saͩO#+4.e#A \+tΪ(r?KT=eY E.ī=n?rXT@JZC$jIrl8. ]s(^:owȘ (wpQ|=,61&|=nM2*P!YyU @J HEj ϟGŤ<[Rǰ1&gHpXϭC Z-# \-q&7݈ڃ g?pG>Kf~'eka!%-X}))9K\9ž;HH}"cfhc9du. %Z<~] KHXS? uC~:PI˷{JuMRDDmpiVa41]).}WhAxi+=+0 A? |7p#YB+| J0AJng[4Nr{ hTMg`Tg#uى2CM +@*zX2%]*"=/9>Ojh Nf[zխkm͜*`c>`:Hq Q~p5{J>?hZxCĬC$iɮC)e(z9pGi9h/aդ仁_lx;20'/F@v"W؀LX\VV'Kdz.κZ WH(30K4 DA9cɌFK}ҘcU`JH[^ZA d jo>,< #ź8]&C1W*6q>(}b`_KZaڏ+A6oN Bvބ7T;]' ;6l=ȋ_aCoFx;V d!34$P-b"t < 1k4EQ }i!5o{+TOkFwB|Uiz>4=zT@,Ǭ:C%.ڽT2!P @8@cc,n-;5VTB <=Aze퓱h"S5}+Qץ ?zr=uMHܫ9K/L-_b!>˂>9HMR.i=,#Yjmhglmtk"NbTʰwIYLR A֬A"d{+XUD,^S˼[3}J|}49hY87 r|ۑˡg ߸>LeCyKق N_)DRF:5Fw"{-fu94d}IwnLǿlb׃RFQzX\Q뤹F; QA`t'jn`4s=S ;Ї)\ݰ)nhpQɿ[u]Ž$*A{~`Tria kZ6u?\U`>,:n#79ا%@IƗWIoO!HjvL*!d4 w!dCt:%3|Si2~{ w iUcEU<1n9qȣrxV v,;& A0щ>)d*%ǒ48rr3̓W$ *3}T[6t͗ JgݴC.oL#XB,^-H)iMޖ5 bX>~ub1~Ig451"櫫 pԻYA0U&W!7Ed5ەϵxod!O~֎vꄫ.C>l8K`s'nVkֶٓD:Xol uJ'gb sxj@6:TZԈbhoӅyf(N/b0X+7Gc4>֟MR)n.rJw={QuL{ $]o;^6Z%LZ4x ;w-3k*YqZxݜ;sOФ$ZK@e,Ͱ"xnہ|m=/M 헡҈UO1BCywn#;k&*"pvO*scx }$SSnRV_.&jjTr;4\ T U_ ʪsfxh`j[arʑs:Դy8g0MabE/et PXʺƇZsso2**4s$o.:ow[5/*LJ/98a p Aհ|=넪R7WJՆmEhm P'T(v/ eWƻ+MlB2B.]ը8^5@E"%>7n9Zû@C0 '7&Da1ycl&r8~dIߕ -Gl懷*b9{'$g Ȝ=ͻT+ v嚚/LrsBPX{zヒ3m:. tjNjʬ X2vQ&nQ)Ζu!F\&jxJ!xg6+(fnЏMƫK7ǝ P;2: JRA\"5}ФR|wTu|ޜBe猭"~`vu'C<+-p,?#ok(u{U+u{|ъ;2l Kus't۩Kj!= b~7*X FH.4*7(HIHk'ڎuT\qʋAK,f'(>kl{gesԃ@`#Zif6<@l2˺}eFxBLmH3]u~R j~*<|v4{ J@SBҔqw%ȴ"$ܣ}fav>/_娒g6nA,wŗд8/Cܲ$u:52G#"G7:auc'eT:h\Q}s .{l`˼T?4 A_#HPօo@ov綶r5FK~P$wR(uB?=<ɁV9oeX5BEzv_֮O`inv$z9ld2;Eֵ(B =Q"@@+wxQ tXXT1GonNk+MhrrEl$& id!z]Nnc|}%i H͌SB>{M \ +^ AvJMN NC8e-͌-']t \D6Nn:r&ڀOHF/7"8} 3 ֵO6ЏEF3#OZ.sJ#^H/ +W2/0M-Jg !c@+Hn_MKID;De\FOF#ғHr/$;snnq.Ggc3/P/7Oz P4(cI8m\V/F[?b+EcKn7M Nt3-sG*]֎n2BC OfuPL4 ,4DMSx> b쪺$p"*ΙOC߹ǀZ.4ƍ@_%߃%kd s` ;`46j%6 x/3XR"עi>T.Gʊ+rEEܗ_?CV ,Ai|YȟZIIу Sd!= Y8rncd$L:O;$uyY$|$Ef>pH91ޣ4E"}Ƚdkyߕ`}6>Pkˋb;ABJ&)>sу'A: ]Mد0#zÂP Q@I$ &9ԁ`QQgza\O1lZӇ?i=Z.v$Ā'_M&G[+@hE.pB n)(g dY5`58|NmZ.,Z:9o1nlf73 uEOebFct$0|SV.A/ a؝)ESQηyx$ e\dھ04{S/Td4䆰&D 8K3Z;? jn]{3ez1E 6)a4*A!e9HZlʥ?<{ώ3UFEK,̂H` %}_rxܵ*>Cz6-^G} "U`#FZI׎a,oc`W7,!NiMb1r;̥?ƂmF/  @XB0NƉ{jQq7SM&DqW, ߕ|,ScR0ڃ1xo3MDȥIzvsr|ₛ)t%^X?;eWS~?eo@OԒKI8b7eDn*JS-Kث] +Qɽ*AO'cϐB .lc|g". ($\+GFr 8;?g΋*&)*HIt- khijgW_r ^8yt&Ggf}zh>|Ct[{Da7m`77ai@o jlӤj{Z%TUקi8:61PD:nbg̔s,!^^{zSk))okEFlwkaCbAHeb.gH7@ ',4mㄕ`^ows%ĽG .CpDzNS Ip늪*R VŃ` 2`űo5uZot-

s4(P.U@2r[Bj$F I&b2"1P Lu^u)e/^E6iN֑s+KRF~Y;;:9w3;QgcdmT*~Vqc "C$x γYXjAi:u~ 9a[=ÉU(JH\K u<oD h&<G۬/I|mI(8M9+mVQI|qjbLn],/Krf3;Ȇ[4!5˫y8D-iW&B@a2&d|#xx1= #UCtg|ƩԓcG)oP&/Ca^>BDN,%֗S(jqg/xf=6TEH[9)R K?O^j.Ym=^`cuNj9Fc+=ߍͲ@B͒KP- l>^i o,ok<|nƑi0v tO:iKP%2]gs{S Y K_.0{Qn*ֻR::fj@DTp- i^D*î|}d Xƕ]_]{k5uQNL1ۻB20 E9)A;Eu@ji2`qw զOLy0^ /ZbAd69)c*\sηjHy+UqA(v͖VG"<3OMG_n[0]0-Z[[N4LFD@G*pvh ūd*$h킂57+r+A!:IJʻJ߇e(!C.bCH(pOӽ8ge۬.Eu60(^=ⷨBF"W{20"K˰fr-?\4m9)% &Fos; 0Fg+gk G6j+IEyaDYL@XqB1o=M'[E}FVéc6mdW3wDIH[F2;.GL'}SLǯN0HN Uj;H?njEZ6d :vz꧹,Lt1fِr0g`e0 y9ʷ-KoÚ+ݷ8Ӂ(?_G(َؑdS2d&`D?s(b>X&@j &le9YwStu;xoii5NLYy'd+n67 Z뾀Ǘ"KחŢ"LS Cڈ OD?:ђr_KQɌ2|8j,ڀiHŖ;E1 +eA8[R4ht&$k_2@fԧ5.ۼYP37;k*ggJ##MK% o,=s?g2IqXGexgq}+Q 8!|6㩮c+tŕQ]LGk$hlf/oRb3PF(j1>gcE ŌLQF fjD8Yj`#,-D+b_P_|TP3 Ȋ)ɛsJ]>=Ow8 NB1 beVVuL\kl-Һm=2]ڞྚ*DbOζ#:% { ^o 3t.nUcP+C܃F*We.BY0JNU},1R3klu=B]"9ė+6A<3 tw: ,Yh$ 7sCKS9h[bZ{ f ==sل]jHtoN Xzf9k&-vkl yorԤ ԔMT,z#!-4|>2/< XZBql ͷ yn4QQdsjTӌ 'S!W)\$n !󎒊{d쑕!O}4/^869i(rXG"˦6& 0&!FV%Ct‚}S6ww/ͨS)S. tCEVr] Q}OO&i%UDhk.7qI/xڂZs?\ٖSJMo P1!ݡc; H ry.cHxDkkd8F (!;Z;_vZc[h+6)B&Fio\֟v4,0/:A¤p2 ";*I#_rP^ K o %1̱j9eʠ K2tSj¼{%I¥N;פf?] 5$݋2V  buEIP ]T*;>R[GL0R^#'ތBҏA85=;\ףL\ʞC5 E([џkz$}^e+؞!,)o*/Y'$Md~ $)gz0Cݯ6FrZpǞͷ%n^.(prX,^@u.କ\oHHv^qb*ݹ?Kٔȥcv>9%T)kI*?pUMӺ 5KE"5h7T)X86w4aǒSEIY0ɵ$DƎ7&e;x(5$BB7a\b;~;-zC2xB*җg ЍR*`|[d#4ofT2Dd1WV9Ք)ꀐ' ^!^Vp#;Xt4޽'T.]fc oY%]? t#۩,2wBH]uEBT}WyZVڠYZՁeWXNjC!7?R#*D-;7C&ORE'͐-.sܷї-sO1^˦P#ddZ J?doҁxO+'Wk@.5#+ 'Pud G"Iv(iHl:gT-O=b,NNzIkspaDK^v4Xdh Qd%2RA*o;3wSߊLJe] .u&.3;E:6N6I[E24, {|07ϝXvX-m=_+n,'ud/F4p13boU?W tN3y?v|;|N0dh#첶Kr z:wr; 7 % ֌Oyqls0kڋF `)򝿵ǦK#'Cg#uQ+|.Z&Ybwr蕭n-:7X|*H;U/N϶g:$p;?%o &}SԂ;vq% +߬qL vjTYYK̺)X̀~#MPb8 #~,Ҁ j\)Nr ' w +FL"WjSٝa4-aUqɻ M[n ^17mԾ x"AkjK+,Y"XtCҾЖ160.Q#/7{_fͤ_Leb!_0~1]b_{LC(~pD~" k[ /;xK \hw{SlS_2pAzh(@͂H:[\䆐Fa.t{6)sV,N߼ NUg1!xiI[^璍K *D:DߜIr"J='G2=|sCLady@c W e9Ch\&_TBܹnM#[0KBNz4::S4%ySި;ܱH3BU6`Si>nfDT ]9ՑQ {n t w N7ҸSʓu͔!oW8&QĤ@p#]SD(&pJB=-?J*q 3&ߐ᥄5ʠ){#I+]KsL}FƗ<\ B&LN9[.͒"x67#95_"_®2'ܡFMf]AzW%GW@ Oroz9#Y8v3%\;3 !ޟP;4k/Z^AW=<?`MW8_g.3Э(j~yEq׎`e\e4}V|ٷ(yaz$eu%FI/{LiN8:ug[r'x~q[ zy(TVJvEMra/s PmHpAeCw Y3_Y[,XI>XGEvYR㡩C#kv3;Ϻ3!{ F#UQ&?3`8eB%~9ۮ GAS\6Vf;ZNdIEI&M7Tr~ rWIKˀ[ϒQôNm1x,=C[:ȋ*-"W|3Od>>&Tjw'FybS i @P֦In\jr- ڒY|̋M@/1jCO>*zD]$/A &hʻ=#7 ܉~ԹODωZo܀s@_Dy?u22AH:r ^Zk\RzY|v6F#KN;#$qʹ|e,0"yNCeZИ$wNNy8veEF4P Oy0i*m^Ռ^VCG7/7^pr9PeOx{g@+Q>v>/HsjU pz:/]`|&Fz-k{ >Yfgq/` xq ^K/L̵1z2. f ,EU'j(j -jF12$u[j6$ ޺s}zev@9/ۛrGSRP 67LHAe# :.$9M|#%T N%]<֓,Z1mn%,TUJ;^jwz&NNGGZ]tde{ʸ4?J5 ?~ئËq=tt;z%6undF*+k'RAy˴8D Ur>dA9Pqg܂O%e݆RqT} ހm%&﹚WĆkW F NtHݙ⩑#D}1܋'O_Q֝5UsZ{g(\)"*6gUTlUΟA w Zi_Wk/Zʠ?0cϙD5VO K{,g[˕ۓ8Ī55<#bPxLmS4!&8hNc6lg$RPU?rpYx=Q8ЭhGκ^1yǓ9lF]tb5zU'2.@,Iع3 䢷KlQrf'x +2A/'>XDI$T[2|O[f,4!k!UH^L(`ʯȊO)t%;K1u;u!p8Յtg <KL/Ȁc$id-p?<`VEȵ+g̹Rkd1VeXـdUYCI^ҐU0 Q2b u} c s t3i<}8^}24$htU/Hެ;tL#!7Mx3R& ݀ M]2g J={g'Tyfޅиa P%Hb6!Gj߆[8+{2-BŹaTe')؛)f aޓn0+p`}zjj.0δ?<Z*@ Ԍs9xȓ+j^MJ,q?c5WgWI!>4 Lt.,‰p 3(F%v%i]M~?1 P@:S6. XuMCđPj Hi\|`n 0Ym,֦+aDe4Qڪ'݁(PX8|9>s|K~{p8TJ ".zo򘫘K _}Lmr[%RV(M&CXu$hHUC5X:=}3=3b>.PZu]շKetƋb@,eAgN23l*KM Ba"-*UD%B|EY<2l9U68(&uD\- 7O(D+# L\/XׅO |Fs՚$N]:l0+xWFi'J/YGɃR1$;6ѓvW'" Yt_f YK1y CR%x9R{ߗMve*BNmM'"rE ZAKSlJ=PDv u^8xTrf4 FD_g6lG#>cie.r-9.B&f:!`oo}ڑmVVT%]_;6҇T)2yz%GF9< RB)dU`nL{=qh12 Z5cܻ?I~d`+f#Z>h.&@.y5J$96b!>k=Ɵ7#ZCD{: k$x}hG աT޶9AM+EyY|֬+(K]z8AMH.+:R9+t`];?+=qr|QHRos:ۗĩcp [ʟg&Hyv| {Cfi 0\IkY;[*pM>{I[FNsc#Ȁ=~G=Ɣs>)\0;#4x #j;K{QYEMtf@H+6T0A~_3^Tc'M\)j ecѹ6,!qx}.'}(5YhOȇJJvjhr clǯ.fk"0uLؽ|tUCooC5&|# & $7a}Zǜc]Z_.ok]{OF2IPٮdѦBO(Bˆ:[#MJB.˧naK &ޖtmSM釺}c=J5YcQɖ&A}<5}+\m(§g ^\%F:4܉0zqmR"lv3aIVc:˷ %Jդ<@~_TD;I0DER;o27HJg1xuJo#l{#Ÿ*z8Z^x]{Q(kERކWôeoʸݺE8ɮ#Pb6)$˚*ʁ}/l (~IC a3뜫'K6^\; kߤx/hK6R7bSy7yO5{_@|[+[(_*DIv( Ef+~B`;Ђg9< bT8 n%\ 9ٗEs\WZg(ӇȿlV8긦BzOB!k.̈́h5-$6!rÔG*קo`9žhj:o'b6VZ[+bԷ}wϧ'I$Mߞ85UMU"h.ΗL^Ktm=Uk ^UPrO&}[9פP%Hqed99:n !qy3hO*Y8f$Rv.by -&uQ#1VƦ8ZFB<-h24|wj͚9x|*ͳL EsXH˩0ȳK$DC0=;H-B?@\꙳ͤѲaQ7,.F+e ~;Dd .gwVC?Z+>GM #WHݜ]&Q[ 0*OԶP""%_8W]TO%3?g'hrRf#Wuo>ξJH4Gq)Fk$, }%7_쓾(0ƏJz!Fk6X1dFGY@[h}n |NrHQI7u_?N(\~dl<' +g {CM'KQT }2_6V`м]PnE$z#kf3]3kWd*1ړl-|tR#ӃB9"a/y{,#~i\x.]*=_z9kF龆'@>owq7- ѶoIo`ub{G Y@Lyv߅jYkWG !#Iw| (o ѕ}]('zBƬG1ߣ<ܹ̒=.`NI,¢ :˩,SȲ6Yԕٮ" ל)t?`FT9,6YR,Sy*-J .^:ކU/˟c(v_,߽to(n zpLq跜 媶SzI!ItW*ڄK"tlm*Dro]3ԻF5)}.a ;@و`̂a<7V)-&WB¦҉Km).fB2rOw fyw!e45- u,7NI&@Is[;D#UL)t%4adiҮmyEI|Ω_۾7cе-Y E%Bŧ9Ai\R_sIw}N%R6<} 7?Y;cDn5j |10 7Ε=L BqHgeϫtsPC: Q> گ( ڨ^LÝxbMC3_|t3UhOc'1BcU(mWX٬ѕn$P;!ϾE]<τy j_kG[EOn+wGX RΡ3.oC צ *M6yKG$Z߅Z#2K(Sepiz7QG]#␞ x=B0=溩vZv} &0fBwD"Մ.G\.eϟ#x-լМܸqn6J;'|yf++WòsC{\t!Wσ'g rBI+wb݌@a~6!e$V#I z1}@4E~O-ok[̸ދPA(ܫ=T9GA$_LJUxEA5Ϭ- ;`g 9#<4{(GdE9H@"{'6+@_nāCZ$' 0b"Tb-վUR#5IryY ~H SbwXjAś}swBCR,Uo,' Dejޠ6IBo,V*'e'zs:횲n:]\ZK& uS@p?bՑM_\"i'Fi;V\2Pqvݣx?w9`C18:˷m9@Qoe@)uMOe!|1`0᳉[AWN6z^P%B +OVM`Y8FA}K3вHu2)h30mzaƎEVZ#gƑ3=y5ڎ,N~{wVT"qpZ#R5n^M i5Ks1N :QNb$y]3D>}Vo,ϕ(4y07ճať2amįyeA5V$jEKeLx&wlq}}ǜ+t BmS;h >JÄ8Է[DD V:j;` Wщ;PI)k v'=+w3ÏaW]}QRTKMN~(nذQ 3xa2~>I5iHҒxvѝꘜ@ G9#T-Os7%N&ɲ\;[dABW\fnd4܎ϩkG㼎ts9;ywJ& [dz4|3-w:Μaz'!`WX)cMӛp"*yE@VaZ"yJV \Zz%E'0',GLƱkPpK+gZ<~vӨİ^l/Zn cOU+J[iW=|m&D6uJ_$@ Kٵwp7aRM[.`*)%ƝBL'MPZ7G227~4׺NƴU\UXKG gMp7KXc 1TbC_Mx;oz7גT t v*@@@ƳI: Tٺ'-  Vjm<.QH,'@s l_D+ap$Ar%X33^X0(6,Cߗ?8Cݔӡm ԊM򧮺_@ku6j5źH(6蹄`> cY#J?ðzt .kV1tG(LҲh8z7y$5 #FZۈ7jQ5cnF N1p[OyGj\G00f#UA5xa@۵bN7a8)2*MDs,-aF?!=E񟏟n)<,Y9=P)L~;RJmj0MvP[,k `=nbkCK]*XTwq;9"A$dq){B*z{+nOB.E{fR򚚭"x!s #T'펧 kdA辁ܤX5zj_AN;#T)nY]&8PJe_m))] 4Ay#3#Z pl^7hmo;  u/H.u| mcx93ZwBfX]JDY>t|qhw*٠nw5O|PZXuƜ|[PvSBZݽIbF4FڌA%hޏw=T[ˍOq;Ev*0^Mad<>;Sxb ]E;==s,CQFNr!{0WJ!<*.ʹ&NM  Y'9YdBuӹR>0D>a )S&}oK_J\/sګT "JڦVL~y]-b2'tώ/*jq6af f?)*V!-cRā,{%.}gÐŕLiI(\f .Q(S?9XQ/$,J8zyDHU|% ܁vM0mďq(l̊[tpe0&^}KAW0LU~c(-V`B}sh=pp q]!m%l}q Kjm:'~:DS|uqngyAFzo H%pvKtC醁 Bu;ጒ׬m 'H]wZnAmxGzyqՃGU_4UVup?Nfcy\ 0aX h#{M>bȁA.S0P'38iz} @.MJ~Ț02Qd_1A5*,ĚIxTЂORTS#g XlƧ;Bs7b:4zV rh}Q ~2%=STZ"֐ WKF PzeJgVLyѴgKCq@UGN*J.Zd&?ѺPjS|FS!Sn쿼W`vE_c5>_(!yk7lڊJIb*u&f%6`fSkĭ0(/'ᡂ!ZPj Mj?.T25d< {.zRTVq̞)M עq0b¹T7`/oipHб0 =Е)^BѵN]`06o،A]9Z W:àx5Z4ŸOGN˞X.+__Ѩ 7b"mzSP:소}ek BN0A DLp9E 榻b BUX [;v/{9]/ʼnw-!)dʘEiA/EB4$~D@)=S˻ʋwsUWAmn5Ia GGjB(tj>L٦x=_ $@ƒ(۶̪@mgdh 4 ?̗k&;sWG%,u8= p^%yK>)i4ĄCX5hgF|-sJ?=YJbMx MR![V)vw-҅I*ic-x3̉>?|;s9ܱ942[+4ymc\=%Wԅf41Q8eg)]®(׿{QQvȯ[%Z*0I9gsYi J&*;>"ySR?:1ϻÖPHY`M-1 /Yy{=hy;0&*á0MP1h:^piR G,!lMuPXUNT2IS1jOO EFkJL`f=H)AE.͔7sm$B $"q݊`f=X7J1v\j*o[mWyZjVۋUQ? ЭZ'VևfktueLBEЭT33a%c' )HC_VXpUkDalHIN8GIRP ^aOl>6TtE³?=D r˖ʋHHw~6ٌy1bEHZ{`ڞa[zlU 4JP{=ovlPt`r`Dљq%}Xy+HIs%Ř0tvi*8߷@DYG3i< ٜ";Igom%|#题Xe7qKb& sqzs]vFL F/)ଗ2QuB ~[yIZңz}VB,nس=hRy1}@.i 8AJI>`D<4l]m6=}ٸk\G&,䖎7w}@+/Tsjk]J!^P!׋Vy.EX @P -ADz H|MGQ|dw}oݪF)Hԅuݽ+J&ʣ5-jYmŷwRfm43ZS77}WXWVXcP g7]GĴbM$j`:4yI!^4½,`~~ mkm9EdrɌTbP\2:WN{{!CøH%ouL^5q@-+7@ҽhNhZ;Ljn "aNڄ5iyR\yV 1m#^T Q6 xHx2YF6  ʸ0f vn*٣nM]G赉~Ls8jRq}U"7Ojh"Nl5JܯUx%N ^ǂzP.X㯏BŶ* FL1S48XL`^eSdZuT).fs:lER+L|VS%eE0,-soa!-&VcS`~x! *6w]$H'T9 Pѝe.Gi}P啋AOw 0 M`ڑ%BJ.=b׀Rn7>ED{tu+WU:0ZoӴ&-sa!Z%йjHvoTs]mmeIیCKHͶߎ4 +l̊e ]A+];qI lGum 3,]֠n>f>@)LQ6^@b,餂&1ee%)S>kK, }=XJC ZZRl 8DÙW(ǭn-iA̧W@dx KtVʛǚF\c4<}&(C`@'d9Iu7eʫDTTK}KE " ~Y58S$DERfmO kN%Lx-I0ɭ>яtM)KM3 9YI{֟: ;صXrCZ ,oeBJ F=$d7'N[<nF;e){F7~>'I/ߞϹwpZ^p25 ot[:"Bͷlhɣ)Bc  K~sgY!{_<$: )+;s*sSN Y {-v*`n0 .{o]椷Ԏ3~B2g{'7B܈K~/0GZa;'y LY<ׄ2#1҈̜ٳ]\U|];춏YsP:VIH6"oYbczLȲ.Ӻx.1zCnj\u@Ztu 9?xL~Is$]?1h\2A/@/_@hur5~.}'O/bZvWj O@][+ WPρ #o>8/zvⵍ_F ҅F8/IK0gntįglC<0lA9aM 5l~˲6Xbh#+>iUeF~‹Rd vPs5_̕ڌ9wa焱E^2<4-] rZgJ#y.Gc@hVs_ej5}6п^{+ՅL =Ř?vH Ps')͵!Jl&ǐA!in| FUZ[@@>…*p֕/H, wps6y ILs.&d*ޙ7,ػU4BUafëzA,iáŽ8&j~N$쀋Wph#,[gqꇩ;<L gd#K f'.a/e!>6G#ApLrU4,>v0MTE&ۃl\P[5 mu{A(w,i}Z&D"_WE,N({}؎r^qKc: )0 vs &<ƴ#.5M#&L[51TL<~{mYT wdm 3۟ )8U)`rnoX]G4J;Q,>;Ib8ɪh_KZ4 b3> 臟^A00ɱLtkSkb%, :N rmدd:187O )4>7G`C~n>oA#Y-u_>W Tz:yYZnʖ}8Z@9NKkr]bO…>]7@/pPTzP7G}ruF9[U~4}F"QGzbA9zo~@#{˺wb;R"j4TP-5!34=AtU-n:I1J]N)l:YSY-:(ʸbEJd4aet;LGb=ЪKN|SՀލۻwMB&zB ɻDAG`#81%m Jus҂v.BMM LYz5&@gC ߥ ǃ_|)(VuueztX6[eM۽=ZPvO)\gO`CQ]&^QԈw(!MjHWy!+yﱷeYf *ɡYH*\'eni3 c h0ьS_3CR'8@-etWT!ɍc F{3o\XtTȑ\63".'FgW|1G*9[ jֲ3kkbeYjٌӓIdmLقQC&dl$S\]5pSM*;U8#FKC(M^(nXW@qcS\>]TG,)^! XX@xV^$r2CO$FU^"Nud(>]( y 9^üqt6|()ԕ\+j(|_A&=%e&+(y -|3@hJOSax2e~I0`İ%nyZZ\HCAITR09|8 y,E5D6_ygIf{2'o6W Ǡ_lV{͘ppt"P֥&_ƶ>`8vʲ?K :\-ɷޚ<u889a_|TCY0^H-0H>$daH]b waU3(6E`H3lfiGm\PC/>&{9Bq8*)G?OiԞrW5YD6! vyry3rM!.7#jMz 8 DAy2mxOjdM*W{JeiCKfl}a[H:=DMtF9P#=r*vb}_먴XT QC61/*Xlht+i l;\Rv-)Yˋڿ<S5M !WN7`2V-l4^[(dj0u,bjŬ-O)z,?/,<Ԭ.S@ /cϢ}X8\{0PD| ӂ+"ʮ^baSד/Vh,$ŵ9}RU܎`z.?qnnPL/lpj/aR3r.r7u֗3du:q;8J\ қN +\9jaCZa)-eDl:  #Ϋ6?Y&ER׭V?} H,)eyH}w3ׯ|*iDž?6Aw'stVuOZ&3$֕>uqv%sPR;1UgGRp3BWFMg[VtZ$QS#JɚDEx>i0MdG2KC3'6}#~7^R4j%"p$ُ8dBJ%9^o3Kož_ 븍|I#_gKV;KrjZ{nN%6V2.Z@keH9,,лC oܜF.~սzKt8`)VЌUʌJy6.1W]-ӹ,dlq DY/MŤb=飼}l.JnǷ oɏT밸!b1tl(ҁim6 [n*_R-~XJE- pRFN1Sudvv%# H¯/32 -fMi }P۳;QRhLUU{YnQhz{ TV 2he!w}yn;͔;mB,lfS mG>:x'Gw/4 s}h5e<F<@[l"˴<Fk)>YE: *g,n/ @B*sЊ\xIjiVC+:^PD.ZH*e:f9-/ tؖQi8jzEo)}A<"{wZrUUG0͋%l{Fovn\ˍg)p,ac'sZvW WRZo֡ԑZ cGț Jg+OJ%9G {Zԣ3 :.٠seBgk 5>obGduvfo1ګ -uzD.%d\bc"/hIЗj7`zhǗ"Qbw~Vz~Kg6 U3ܘteu@ϟ a`ҝ;H5`\xϦ?ؖ i3`f yOrh䛹*:0 vݼ.osy2N~겗xoB8]hMprg\/> Csܪ]Ihj5d2q#T7V/68H>3ݬ<=s*dQA=dv2/? I^y0G~$ )4uYI^f}F5/ҦY W7Jx !0aƄ˿東_D I~ʅuVlR אV e4X+хhnr`Ct~)d!: f}&|A!Ҏ1ʌ9݌:&ɯMFGL($)3Hp0.CEu9&!9+/ض^=f7(I؋< :;:V1؊MUup`6!Šsʀa)@\z?X+EsG(Nsz X#9c"!5MfPCM%20 4-O^c \M)$+_-K@6nFsFnHpB!9x(t<ۯu2"ĉo;kudG]q (E}qD3^#g&?l>sʊ5<˦AV-ICm8G د"]Aȿ>ۢGeYۼAoP}Id^S·NAHfdW$DP׀#l9pBߚrA{Ky Gd28"ɈcpcbfJwwI7v0"H3R9Y5">Xa\-d؅SXgdOsAumǬPkr.BۅqT騞n^ 8tE#E 0C@BN41'_xpTx gCza>([)17SvO$B$;?Jb0'NOX\%xdӏ!lG8& mMQ}5ZMXĽY!Ft3"x1p™ke;k/r-8[,;,a-YZZQKNGj1wt6pF4b]ﺯi""&+zteN/W\ęIWNV+  o$iS=i@}.0}GzJجbuz/kUC8WI'S;GzFMrsL|AH(a} !4I"@wC~/o 硬]m10"Z.XJ"ëm:UYdxZg?r0sIDWͅBE0Ŷt[ _b _{/9UfE3+!E")8!:H EJ&GYZ!QV/ 4 c6!Qδ[ph40gVXu̮Iq5wk:U1pIC /i&S{mBa}2ޫ9F8\ ;@.agshWU6POkg|%•E0=cX&#Pi̦NCy!_=@"t\JʮEuDJ-lت\xn._c8*teA}tL Gm f 3dk% dgD6:*1 \O3~n٥껣gA'ѩDHC!՚{iZRB[x2ꥨl)<' +|Xa%hrBe3roM[Ct$`ɷ8 M eACˁnuxkGV _kC.3S *]ƻ14M(mkNpexNz6!7:F2h] 59|BEDG2hœi`t=7wVGk%#-!#Z;xNMi%niX_gAEz ]Pq:: i\_+>D:jZ?@!Hw_ t$~W}1ʟAƯRmT \v="537: j8/Tj )B lVdAkRff2OA̴!j:9g5v\!I&y.nJTAL$9"J4zouT1xzƅTd啞9#B'lz?"PW =Y<}$Tg#eLK+̶k:,rl8.ŤY!퓤 s"8\;< ̀apEmq/3w/kK.R~#FBh..bH_<6X >:c>$3Xaj[眑#J+58- KGܴ˖qV{9WLz86J8)o;'lc/Lc~iQt0-|VsʳVY"UdZjlN`s=(zpuhB FcP`}wz^}'J&~&ڥЪM?_Kg?bMF9Ē>rw]]BF,.MLZAŖ?riǮm\@ = Ti!BR:uY%г!y)|o*!vZ 188]jʍ8;[ A^@b7\83Q5WȽǀ;4fd<)!v3$7X󖌜 ja e_!&rܲ_|{}Pko+^ȮS̅HCR(Ě>;xܕv @ԛ}gmƨg Hu]%rO FtR0,i,|JܔHPM0iEtrMw[,p E4T v%/ikܮj9Wybsp+.tϺs`r룉NEO˦l{e |; 99I65q)7\FBn#D?aRXY0*~A(W#1U!Kh5+H R$eP̅ziZYMQǙ&'h0'=HL4BSzid:Du8; }BzbeECٙWQQhUr*UIrc2}Gx򄈍8^O#/9C0,,ڀa\s;)>GlgiX`H#Km,L.%>]V039̡8K&ϡH+n0vTWM )X @قKEU!o^O9C$[_989|oD0= p7}Hf4BU1S6l)_aylرv}#y_ /Hok-cyt68HlW{6h1DsLM;9O֡/)]>Lզ/eF zb ZÙkj*=!+Mx$t3&a+h랫"J-!/P"AKW~+X`pYx%e\1+r+?~0<@Ᏻы:|C&K11F&wZ)Cmw~p2,ْ-tfI~#1j6 Vk\ķUaίكFWfGQtͩc!zS}!J*<ʨ\KEFrL[Hi໛Q^ukgxHo]7 *s15Sj:Oڌ@ ?՗3 q;Lb&&ÆUkë_4Qژ3'V{L wAdY"D래9hm>0] e4nq#AЊ ~8_hw9nir3 mg%O0@)*)oh %vbKw)0DtDǾ;"59|B`28T#0DU_A=UM2|16NT4:EjpUj04!ڲc4Npt]/Wl-p{n&ߥ*t|-fmTQG݁-9:hV(GWPd/P5N[^|c"Ф.3]@M\ip@:%6) VK%T+"dIaٛ͝EPnb@(Fi3T7 A?mi3Rj\:2 v`WBQ R8{[<3D?(]šB! 9P-hZHgV̓9 hd52@7J7:2ܝ9_3~wB5uG>2LM$RhJb]~:|\ʃgF+<8Nj &B§E3wƷROymާm˘cea`9a ;fm{6☨b_Lٹv]W篶 N'D$d!N SS,!.4I rFq<H)x7ĜxX0u,jVLpv|733ۺKTX䭈MiܞzoOF 1瀵ߩl2Ӵǿp#0&.ČpF"=W$)\*?r G}q8#!~Br;FnϨT{Jǧ a%OCxf\&Pn))4tX*5nsL=МY_Q mCڙupSGZL*qoٷSF"n7zM=ߴ;x2E`f^9AiQ(e : UuĘqKuݏZtU:k~)${?Fb }ё[q&03H< Ŝm=n#.$0ڷ.aAۛm 1:{XZk_{,I"ʙdBv'q7%0 \4ɃV տ1O{k-4XSepsxY""z*p}&n-% ĚaeMGH`שkN`$4^'Q>Kž!|ԘX\nP½ eS0z|Bhw2u3in:~|4g^i^Yc.? j1qv8fB:Xby?gClY"P}µA VGBΑs{#'0ʱ5Jbބ^]:n X>raQoR$zf+<+lFEwaނF1y*]v I`gX#Pbj+` B a`rk!QQ KAOir4N{"cu ߱NdgW_Λ=^>nNGDF.Jm w#ܦx\׺kvq GHB%<BE6d@[ ӮѮ9ֽ=R2aAT&RTP$W2 VN.m 23ցHGtz%`N΁_`LVŕwi/mgbIWy)E y-5QP'r!')Uw^ GCUGtJy:?ot΀ e#z2>t*MQNM|xm(nyKw\W_gBaa|%,w-O齸l- HaUH!N.~c4z|%1=mN,4UX3u0L!u]Xo!ZTL1<ԩw0uii>&O ~/.ʉR92QfܧMcaĂ^ueȗ;!Z$-]^LSX|? ` 9܈N%[ښ)+0+miٺ\Gۿ#n">!hӍF|@y!k+Ev/5C2!%:-ci %{P$*)Ex1"w@(RZ ;l]Ѕu@pneff-4'1ml^ x)n]ۙP%FP >2]Z!Az.^%QK䫌$PYx!^gD|%1 g NȔtB jc;LUO/?+8 9פFzۄ߽\%g ڎ-ts!Ih:_b}T$A  /|RO2$*vD}8K Rfwۇ )u QPbf bBd^cFo(D|5&޼(AUVHӗQuXvIc+I-bcQ,xxE&<0 7J]}3R2X`~γ6 ũzq6ZY>ݫ'o(W5;%gi-Y9pR"{T/+E({#Ub.92 C.aJ|Q;O Gy`V~=d_nykvYH+ysdݒ4yz54."h_H@! 6 J4hJyQW e#CHY"nH(WLgSl=@GoV4fb8>brQ?RїG?H4x:HrCxfkm(C[b\eM"52%:pV7nD$&|+j,lÌq1,4x5i'b?R9|[Ih%T\1dMwn{0+'K8t/Դ,LgͿ6z&>qB!=§EM4ZHGVZ $| ru@ lP!" Z3k uu*'˿h1mq/Wg-^bi7kIA`,\D?~|sӷP ]o\=ge6\kuM7ok+ZXS_dljd1{m?$wBFӪOpK|]7(?HG :yꖰ}P<~٤۱K<4w16|%\Ɲc–-ϸ * T4xC;Ho. :j1dy' ڼ.kB S̸xUX0ɬ{"{D,) Zr+B ߝ2iIvS 5⩈@@$ͽhrF!wc6#vsVaj@}Fu@РFAXK@ac|=`.Qp`!HO1 xWuK0bAǦԝ!aC뾈529(:pmkjn4OÈ@"xT6ZC]-xAߑyzn$mZH*̢-!"- O/J빭(-¸tc$5EN$X1C*PM]qZmvq1;WL(3wB7.9vֹ/~ cc8'KH'{-lBg8'M hv&2QuTxK05 4h cn/x~\0״QAqCLv?lyDdd QQ(N?,' N. tz ЭȞ*MHJ.k{٭\ȓZavdE*9wcTD3*%L A8+8UO纏t]s5:$1~ BK_HSV> 2ͫac/Nɝv2v1"f) W^H!֡<@_.=,r=$4_W]XOd6Yh` irs6>ۇ?F%qm5lxOLX+0Lex3JڲNQ5JfU":_jCs0qPM Bʹt]*bn ,nֿ}j¶Ǘ y1O@8o3ÖXWX.G58 6C_6qkޔ_1-]>5"oa%#0Z68{fEU3޵>WٸHtzC~9&+ŊqWP /\M2 )՗,5 %Ĉ\Mj)6|S4cLe^4i3 ؎:VE˜ B ɳ->nZ V(h6|𤋮PxI7[ J}q tE$8HЧ:2_JWHy(Z_Fڰ1)O0Zd:7W %VX@+Dیa߈~Q/==h$-%j;$2u+#6M-J$4Nbn/ϩX/^|ĥG[?nI&Lw+1ٴbVY\k =IY0`ZeW\BZ\[Ltu 8d=QRG7JYzU([+l-\(5A5'R-Hx=\Y'lC]& Kwk+mn6_`ޱA苐bp6~"(EEx[Y0o7skxc~[4osf}"jн[KW+Br|S ғ|*oډQCMjOC-v^5kbȨ0H#YV֙+un/A?WaaZ{I?z`O BZCA\(Z0V6]٠70yK#opUytG7AϾJ# aa0mWU*ՠZ˔+J8sE woSD-b0\mH6Z~'[@o<O6_R  }OQ Oy"Ӎ;G[|6}њ^sfn?. I) 6@ozVF8F32ȶ0+hK\JA0y5Kz a;]cv^W.<2M,_Poy YOFsОKt*kl.3XO/@KAh"#*vbk \tu,ک~Uz"1O[WG?ڦoKw+/JׂK7ggGNXryTz+bpxwl9EC]oXzVpz?]X+*'$M =Ƈ6̶>^"ΑH2?v`#–> R!=:{}U8^]:DRf)Vm"TZL,bR0k~OCa{VV U # D&ьjfD_9Vۣ.h"jaiψΙh\_/ ,P.^nF0ܖ:d4~ 鿷h퍀x裶腠y"=S/Dzߚ뭴gKWM[ǦF:]-jV;tJf]pW;`*RPQKDI;%93p@z>`3)cY/"0Ҟ ul,W%">d K;3fGi@x TD"5=۹H9VC*WWޢiXC഻LLq/8[rW-)"*ļks0kX~Ef>Ե>On PYt)a(Og\-TbH=ߟ 8,ZAWC dMZ7K lo@/!{_ƪل , yk~Cml򴞑"@Զƣ%z唤 #u./Lyjc%Ecf`Ā@aiz&k=&b y?|/WgQ顿kdf7j82Qvm-^O8Vu//qX^tWtxgv4p3}حGrıXf]|թ$EZ2pxa "@946q^NaDC FT$Np0X n8S3*[߇:ׅ.%_;*ww:]gY4ܤ@=n9K/Y2dGM̂.LBm'c2*|}t1V:Rq"uG>9C=Tbd@yY?Me\ő'n. floݒMTsv9[VĤ5h>LbpRiebQg{)J{64~"_܄XW; =2OK8Գi/vX4VtԏyA导7r.;;4=O!'jϦG`z= qkU,K|$R.$%Q0^ 3Γ;|!Q+E FW0,!s! {}8ÄՉ_xZh)Y {*[Up嵉M` cCL,\(2iޭxu5?Y@XJmKP,LҒ|x hZDF?ʶ66ɾ14ߞ }ld-ūTNyr|SYcϝđͰؚ/dd=WoRnu.CV pl(K`IVmקaz`!7ʮ䍞鮿;,bUaab%5;e9U\1Sȇ2EEYzr ^0ʅMsJ|VXVˡu5lOl8'2IׁRjTsp?h,*)C]/F1i-rY==j9)ELENxYNZ"~L,4hʿ3n.7ߞVqFb}7zغH"7O_DHT;B} #wC$5NKT34,~ x0rm C,%lvF;g+| f NA4=UhWܒLz;^nB)mr##Ph0@ADW7٣`C ]+*Λiᆒ:tԳI1F =EՊ٦ T|Y |۶P 2\g FEd6«;{c %>Bi?jaJP2n|ɿXWى҇оBgQ\NPu>vߌ, k^eJ?`!7+dQnRqBF"=!"Ut\VZjM`zF)ڈY"T`3^|"&1wo Gb= #P&WKe,HiYJ7jb-#KdHW@j=` ƪI_m\*j֬&i=ș-ٺ8DUAA@vtJ{Jeβ6Zud{4^~3*p;:Po6չlMW &~:PW^kGˆ"WOG@ SZ?@޻z^ӎ<߀`åx; "_p< NaFW`2°:%N@aݺ;ӓ*c"*I |v:+.&UCqF2t06 !r)P6z3bƋOCӎmn5KXy0KƔ󏋊3DX#eW"3u'ksתܶUvk2/ZhθB!AIyo*<ݧN| Miͧp'?+P6 ۠sݕ@ǁZ8zg[m@pK>y>9Q-@$dw[(xlM, U߫tÏNvNjwp";zu4 }"h^@~Ki  kIEUC|yvEЬS`;3&@;aͻ75\-=̧V2-ɑ72p=+tVC(j]9Д=؍ʇk Ԧq_g|;)GQ[sS 4'k%-g7J^ↄ=SgA::xbTzVcL92f/k``蓪=o 6Q=l)M92(d-UK/4Ä/(!b lBF_^/ð7̉6e3zNħ"eR:$@>IsS(۸=[@nr0 SGI/W2ƹ$A: RnXq&ګwi2GSX !#A3BRt t1vg_4$GVJvrHHc~rʡDWFwcAPîs@(r >Z;(Up\%=jNf4OɢgbzR1|P@ W7@A8H5*6z7ܠ}9bAo_f}@S"B7$V%'9 ,",qx.NHVۯzDFtE-} .NgA|hi&n"?Y nˡ&U^&sX= 1U`ԆtcѢ.ӑuќGa:s|7ԍgayH[Mkđa(Μ:Ԕ DT,xYK 73n^ bauIwͲʫZE+^R! lؾyRV$";sI@qYl9I@a,`H]<\Y*|i5vR|\ (dcj?#iD'~}!9~:lSAlacGbEe1+!i]j \Y3rEt-;b^=`Dii>I@D(]7gv%Fi"P"cKE22,p M]ZBU;ŝNj]٫RHE0(5GAL|]ƅlen埊ܙJ*h~rc4V*,c?Gevfj2.!­O ݰDɎưQBВ T/4NHˋoAόZ3$+dIæĝ-YfU %ǥ/o]n&JY4@[ do #*μhke(ꊼ _|-) |X+"Q: Jp'Giy/HAV-we`~ʍKA!{m͏-宮 >9n}""ZS*0/5h?B8 2DƮT.LnmlBNPzID|{"G{` Ч ]nv)D [au+-D@|=-޿ j;0Ť|K茓cy.Qt/?uV"B/@!^l[E":l̂~!/Ives̽}Sé۲;;—(]. I,~^HօIND^gx.ʄnp7Mh[5̈́)uDY:d];)C7W@LjM#JfI,D;g3cϟzޓX54x)@n {} ^4fxN*>A#gAi6O:$XR@ Cy02?=uYw%$YohoQ@: 0֠P"DG ;X .#ڋܪN*csl%;B )hD}DChAm%!)Aǵ0 YZGuerry/data/Guerry.RData0000644000176200001440000001220714053052354014635 0ustar liggesusers Z |Tՙ?3NHB$! !@ȋG!$!%!pg&$|ZUK *Zu]J?ժVuYujߜ̽ uq=|{ޓYۺ.iC):CD\Ci usQ+WW(Nzo3eC2&q87l|QP 9_&2(VtP_"E&E e`\*!FEe/ xE9'7z HLGD&czn0"LFqӯKhUk"ۧ9`#<;n>#2A@@Zt>բ7vH:|4[,[iLW.<Cb*zT˵oD0PdMr3F͈> mDLpD6K2U]~?q  Kv="Gla*"bĕz(hF* UXEJ_PnF-ä!EEٛǢ07fuxaP DJ ?(t)4BLԥ _ 67pd3˯npK ',yҺIhuy.; nHM9]B}&= x"Lb{S{F"N(ܒ{C4j9l2eUh첇nZ]SOkgxl FIjd&wYF9ݟo!qnc==찴(9R6QPu# 1(?Wd חc՗u}%u5k-BQ6P#?RtBŻuUP'=1&DA5ԬK'(???FBM~QP3;!_^'hԾҊ(b!|߆[bԣjt:BܛP+[P"QǪ!kj_ `oALo8 @_םN| k.FI<7`5 e&>Y'o Rxx&YPwsC&xMm#u7x5(Y*>Eہ~cjsl ~ SКC;ζk9k<+\i[x\KV6&:R]J|T1I>հ_ ;>F?y n>/`.u'96C/Q,-Jp-Gȅ^12|4|7 3SPFj'QC; ^G<^G=,M=3m|z82yϩn| yozJרzc_ky~tE\{vOkwoe̻7_!h舱 /DNISEBo}PzI9|G@8ȂߦqJU?|O j< d ?; UГρ @t=1&} ~_kv_|<;sj(63GO VȅLyÔq ; Wxh?B_$T5s_'-7'SS@_+sX#m6l�7|=/Cln:÷@q{b]|?56>`;_X^^ 9 q^>_{ =6q8 Y^ߎ- [+G'b,vg:0X>S o%{ۍ0Z͸3Wx)ہ8/OXuKؖ}6|V+)jM :>ƥw2f,_!z-lƾ+fY1 I-c81flniGvZ6vv_)ۘpdMoTJwW6|y<7a/b{ ۘO-2`*X|2ƦIaְX&u.a3..-c<Yll_dƗlB~FA>|pkf :;'H~]b]XbXx0e(dOW1z=mUȲf}yltZ:-d.S8뫧mru cDX.b엲} [뉌?!ٝ!Fr:m]ƼkYDa}-d+1R1JXXf 7SjmVl8aI1 lsš|/eo  ^ƲY$a&볊9Yjm BƽHg9SY:֡enV^cV=Cxa\yq۵1g[g1 $;+*Oo5 /|n@T{f+~=&0 M<_!ˆA͆i,g cNxĞD.X"On]v=)pC6;: : pcvJs'pr~Xv7k[nzM@6'Bl~oiX9{}mRml3h랽{UinmOuu]?ڣ+g;S-[gDCy&D/[=ok[2{ͻ1lNcyP@ igv]?§=B4@9e߭OZAlnColϵ8d>X^|+ݦovzݏH>OkE;m Ryi~ֶ/j~7륜[ޔrn$-մ`S6Ck&=wtjcc3߁G] R]%;Ǖ\] Ӛ+8+|eO/B[|S?9&?F>A@^~0/!yǞ~Я1xF )BO#HcoYtO.ֿ|"w8? ,9/j!OS9ufQ{c_O8/.@yjֿ3m[i=Bd敚9e'|OKyM=r|J r9,h~r|?Flvki~=,@o-MhC/5R ANͣ21yױl.ե~ΣgxJ#I~ҥCr<)|GR)7_5+K1vVgRR%qjK=9?yrai3\)ρϾ5GrI=9yT^/y^)oץoK9v?/{Ei4^^}Ӈ <0F(sC? ?%#6|}R6rΈᑄ.O0q~Nl %AT }!O'kLh Ro[Gf޶x sǸP҄(/ +r)Y?-ɍa=@S hC?w0JVO ""6v6F&Cy}_~y4A;W*Guerry/man/0000755000176200001440000000000014513011617012301 5ustar liggesusersGuerry/man/propensity.Rd0000644000176200001440000000263714513011723015012 0ustar liggesusers\name{propensity} \alias{propensity} \docType{data} \title{ Distribution of crimes against persons at different ages } \description{ This dataset comes from Plate IV, "Influence de l'age" of Guerry(1833), transcribed in Whitt & Reinking's (2002) translation as Table 9A, pp. 38-43. It gives the rank ordering of crimes against persons in seven age groups, in long form. } \usage{data("propensity")} \format{ A data frame with 124 observations on the following 4 variables. \describe{ \item{\code{age}}{a character vector, with 7 age groups, \code{<21}, \code{21-30}, \code{30-40} ... \code{60-70}, \code{70-}} \item{\code{rank}}{a numeric vector, rank of the crime within each age group} \item{\code{crime}}{a character vector, label of the crime} \item{\code{share}}{a numeric vector, share (frequency) of the crime in a population of 1000} } } \details{ For each age group (both males and females), the 17 most frequent crimes are listed in rank order, followed by an 'Other crime' category. } \source{ H. P. Whitt and V. W. Reinking (2002). A Translation of Andr\'e-Michel Guerry's \emph{Essay on the Moral Statistics of France}, Lewiston, N.Y.: Edwin Mellen Press, 2002. } \references{ Guerry, A.-M. (1833). \emph{Essai sur la statistique morale de la France} Paris: Crochard. } \examples{ data(propensity) ## maybe str(propensity) ; plot(propensity) ... } \keyword{datasets} Guerry/man/gfrance.Rd0000644000176200001440000000502514425246450014206 0ustar liggesusers%\encoding{latin1} \name{gfrance} \Rdversion{1.1} \alias{gfrance} \docType{data} \title{ Map of France in 1830 with the Guerry data } \description{ \code{gfrance} is a \code{SpatialPolygonsDataFrame} object created with the \code{sp} package, containing the polygon boundaries of the map of France as it was in 1830, together with the \code{\link{Guerry}} data frame. } \usage{data(gfrance)} \format{ The format is: Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots: \itemize{ \item \code{gfrance@data}, \item \code{gfrance@polygons}, \item \code{gfrance@plotOrder}, \item \code{gfrance@bbox}, \item \code{gfrance@proj4string}. } See: \code{\link[sp]{SpatialPolygonsDataFrame}} for descriptions of some components. The analysis variables, represented in \code{gfrance@data} are described in \code{\link{Guerry}}. } \details{ In the present version, the PROJ4 projection is not specified. } \source{ Friendly, M. (2007). Supplementary materials for Andre-Michel Guerry's Moral Statistics of France: Challenges for Multivariate Spatial Analysis, \url{http://www.datavis.ca/gallery/guerry/}. } \references{ Friendly, M. (2007). A.-M. Guerry's Moral Statistics of France: Challenges for Multivariable Spatial Analysis. \emph{Statistical Science}, 22, 368-399. } \seealso{ \code{\link{Guerry}} for description of the analysis variables \code{\link{Angeville}} for other analysis variables } \examples{ library(sp) data(gfrance) names(gfrance) ## list @data variables plot(gfrance) ## just show the map outline # Show basic choropleth plots of some of the variables spplot(gfrance, "Crime_pers") # use something like Guerry's pallete, where dark = Worse my.palette <- rev(RColorBrewer::brewer.pal(n = 9, name = "PuBu")) spplot(gfrance, "Crime_pers", col.regions = my.palette, cuts = 8) spplot(gfrance, "Crime_prop") # Note that spplot assumes all variables are on the same scale for comparative plots # transform variables to ranks (as Guerry did) \dontrun{ local({ gfrance$Crime_pers <- rank(gfrance$Crime_pers) gfrance$Crime_prop <- rank(gfrance$Crime_prop) gfrance$Literacy <- rank(gfrance$Literacy) gfrance$Donations <- rank(gfrance$Donations) gfrance$Infants <- rank(gfrance$Infants) gfrance$Suicides <- rank(gfrance$Suicides) spplot(gfrance, c("Crime_pers", "Crime_prop", "Literacy", "Donations", "Infants", "Suicides"), layout=c(3,2), as.table=TRUE, main="Guerry's main moral variables") }) } } \keyword{datasets} \keyword{spatial} Guerry/man/figures/0000755000176200001440000000000014513000475013745 5ustar liggesusersGuerry/man/figures/README-gfrance4-1.png0000644000176200001440000003475514502051152017247 0ustar liggesusersPNG  IHDRMR/APLTE6:af6:::f:aff8XZp6666666666::::f:::::::f:::ff:f:f::aa6aaaff:fff:f::f:fffftψ6aaϬ::::fff::fې۬aψff::fې۶۶ψ6ې:ېf۶f۶۶۶aψfې۶K" pHYsod IDATx #uߟp:!6aX"D 8'k'Dc-EIvH]|tQjta ]ޯ_p0;b:o?<ǿ '=|xĿN^~bpx|y|?~r#>u8ɑҟ?k {'/ Α,h~N"r.ſYkrO}4{H17apH a=|O돋?Nuߑ44=Z}+}_+,K#1Hoi$[,D'{g )8$~ ?w>sߑ44=Z=n@C1-uP2F!Z9FJtm')8|?OܻhE7W4$FX;?}@1|#tL}VHӣx$ӋdV:;ŠF,w{(yl:{4=Z=r@IG=ٿ4?I@FX˩L-EPъRMǦoϞQ -L=$ @Hҿ'Zx>u+>|GRE?:AM+4c7>E=!ku=t"L^ihejZihejZiheV P0=<p|e gd:߂@|Ŵ-h?͟|v{i^@IM4, :?h7R 5Ն/ˉ\Ȁ{dHv5Ӷ,CN4h)_f h ZIH6Uc#G/h hZh"gWXN~p̉kΟݔ%_O?>_`}Wq?~omyvx'=&?7&}_M/~ˀE;hԪs.$}8鿯?>pȔ οӁS}1Nږ7m'|1|O?7mJǤ Qu AWDUgz$ynXpѽlO'/| ޿ptY>?U8W{HJ>uP~ W޿?MLqL4'.|Aj7  Pn$ L^|5T`~Gcu;=ExOږ7MGS%mlÀnrEW`LV\|*&EE5Di;< APfPC0&p" +Rsձ/!Sw^y:S WW:_ۃݽ:Z)~1|5w?A޿xҶi:ZdM:!hlL;ޔ-Gg `xҶi;\>'D>:Ikwy44|.!фokZȄmReaN2@˺_,VPNXЪ~LKrX;^㩯ނKp5luu&j}=LrMRNr݀MZ@]8Y ӳM&tI˕<zLJx6I*T=bN(Jo?}vxe.B] . NZ@} J u!*"hxXzc􌠾_;N˂(#pBU:Z !h'u<]u!z t7]e#JBhg@1O?DpX:(k+2g7@qFR訯\%;'w546:E DP ZJ-$@:]WuE";% ݏ(]ʝy:KO!pfChErg)i@SQĥ8A 1vY->@Ch dA9J K9AY2Ag%ǒXVxnC#H3wDU\B`3AN ԚMhuBfH㹋w tB PpдlÚ$F pfDmpoL"'v/y>EPk?ड़PA]!LJMĪNU+>I!- h%,(<թdx.*@G^ ['뮁9Y#,kfJq/(g8 7~ WUxي+/՜9w]E@XقR GOX\juU$5 ǶGjUz&NեWO@PၐK"P3af+8a-Tz[ ;G[ k0&ކ?|ZJr 5bu{Mk;0'>Hp>.(X&@DJ[(kMfjȃ i<bMe>HmN- tB(2sS֘0# =rFHI01a"bOѐ(3F5O&%yԽu]p5=#vfN)M@l@٘'3@-?  %Q4ǂ&@?yV;'8ue**4JZ!o['D"(e) &@@O/bz& I,I#3Mo LAjόՆZ4] Nt3_bch5 (!4)@25/KSwT~Q޻@H?UPN(܅=2iU)œp@*Ŗ7BtT;;azMZ}L͖ItB'zU5q"zϚ|::Fm2,hOjfFKFҘPރF" [,xJjJ^By%qb3{zl!z9I. a|kJ؛+bW׶:kpi'NK{$Ώq ~+sz!v/؝,)d>0T?)V}B`h@/;hROkElF<(^&=+A%1,ZR?**Sb*҄@'2-ÐXP4x}.+"Fh@/m)GP(s7PYbҭM@+=P1Zjuڛpєr8uA2d+箖1 ($P959F>Y`1T|f>^)$XA2Щ"*0ڄ@g @,5DC` ## K^l^gyoP"9⩘B}H{%|܅B>Chi"7ˀsF>/y"9ŭ(ch~WГ'(MJN tV GȩԀ2he4IoSʀn441ZՄ&~?߁aLP˒$$ih+uڼ %a' |cye!jbW4C(4N("U#"^ڄnh̒Lv &6wBz@} 4uvKU*(MЦZ4M ΄MKEc<Zc% dA]L7r|Jh0Vo$]!*-lPL lb~zgAϲ䣳r|ޅDV3z@]E,a!8M;S4v͕ T42 (O c '@HgĞsOCVP;9>C)@SP3!˒wf̙b+"ʤr?@L@ 9>:YdI@{َףH  M2b.k/kL@%֕Әv~*4=g(KsBi k=h5Uud(`eo~)tġwpt$wv kEfڜ3=&[r?QP;ߧZBqF4IRS wխ&єwbe^)"cO=[j[3J:$tfy8e XhZKD輸FF87a~O W?ĭEJC37Yܴ%I,Mt8{wߜaWvaS{2JN&T߹Y=|>"|s`' 4D3ج͛Нf2br:OP(ϵ;!c|Ǐt2 ˻0 &t7!y_ldU|#Rӆ O쀮Ȗ&ЄTvjgVZj kArZI[&Vq^AP',ZMӚ7WgFPEwM|E+kܼrSe| P2lFc P^<BѩBj @6u lerOGS:lBz{B I:3733^T hL&fY J01\v7} Px8a|3|gY4Oqw` Je|\fE{GS"xRⅳ܊{ h@"&4C;AcGD/zzRӝB*v w,[R \Oh "x'ND])]f趴DALB{2@1Y'#(7k"hLhq'H@Wu,UF wB$DWht&R~q@7luB}U}dfPh 9>f&U{m5yBU=9sK¬hj' (r@y<\3ch*^X1(>6R2fRsTGT]#hj $|V;A"wB)7a*cp !THlFIDATk1Nv^B[;7L(Pֶ>û&۱2f81 fL&<z ; OrZ&e!GC&Ab2)~=)evtA-hb:oќ:N!T5J[3U" V7re: bA M#KD݅U#Y0$sB(Jh*ے2Ay'g' N x|x=ETTB}ڣgЀztn(B!TTfg -xeB`/A1 ]Ž3X\B3-Y$4)Mj,^8@L8 O̥`c)g:! .˝&L 8XkgmSZw%SB1J-Wd kn6=o,ܣ^J+j:gE}aݍѭ%3|ߒϘ\m&fN2*I<7L0 hz*}e%TN`FH{2Ѷ0!xB|E\xa@т-*WrJ@7ՊB2n %@A r:~;瓤OF7Q<Ͻ.Bx~:#|'eotұ}}Ն9>}{Ck/#CU䀖Ck|x@UP gE]PRQ;N4ДCg ɣrʉL*1[R*%:.]E鄇n$Ρ2m\!MmA[Sg@I_{^7 PIurdWGMK]A^p:?ͤS Cߜ7G69T3Te<ζ]#gMX)D%t&GEK?ȋʆ(LN#B[v쮻qƫ$Zz7ߘX-LT5;1Ȇwv2~T-/3YY|.(j\R 2~^Sda[[ĦIkt+E:^]e|6.;3ƱdbM^{*挫PP&@@%dM*̙]U?5P?lK4r^u~kQ2Qi SVh>v**Xu2в ' JɄ&(`uц1uerJ([ ZbsMU r) qeN<'WfBhh h`'~ ˢ92@𼍤gؐ/luLHʖP(iN!EP^'bAr.Nh4jh84gW|c6%(m#^*L MձE z$P39I"O*[̜%=,fе>U-LVSWi}Ө3 A&m\6֧*,c /~7Ôs;eFx,N $ Pl'1T-V 4 bmܑ TgUg-֡(a`Ɗ85ow6 ΐTe8Ň {$)9S unG!J@ [7$@BKJ_1KUjYe rNDHvlܑ&3 Ŵإ S3t e6)|JIr@&&DK@_ޥ$7x7ywEhnm[Ic%[Ud]~,'O*Ua7ӤŻ2UP }u#q\ƻ7M͡YwI~9]=gA.kt֧'ћPq1ȊdN=!.OW JocI|$fcȵ9BCr pdNH=s(N&BCGo}ߑIu!^TG U/xði[) 8~ _D3jcN_e j[^Z hfV/񅊠21+SVm +Y*CdU' - hW ow־3N/4Ud,^aBPF.?I?;C z拎f'<x̃le143DS!.^\[K$I:wob=|.lP bh~ -%zG!j,G?7+H_Yύľ"‚фгF19π9'9A<'<  zW|8ǁzMMZL{>{S tG6gZ@uN`|48FZՄr-<#i=J wRƂ㷷|oV$L H@qPQ`UwD]$L%g3T:5^ѽ3ʖ&2M@™lU}C&z@1d= Ud""E0.Ɏ ٝ7G{: C'oLv g^PNV9s}8]t]|fŭN] h̘(n,&<+7oe@Cp'r{,=a9SƧķaQ恷>6@u D$=o¾ڵ/V f@JBg`b u 7/ɂ;^U rYքV@ {@1l5IL: ? %ZisK)H:=;~aA c9l6a*24<#F9O׫JNh>fgcrAH^Rb\@ے3 NO;>FCl-VoPηuki>/tCWb@y#:{v1 (@=} Щiy nO \& @{< Sj؇ Tew̹=iWeBH)S(y<}S@1!fx@ToJCuf6|w:yݨlS#㌒-HsO"X,dG=vƏ4/s7e9aNDP`#L %/M@:<8ΉN`EۖLY7Y= 0i Qz&r։-(ocwݏhKQ-]8oXuwS 縀8[WJvb5z4&\+ 3ԝT'sQDgN ԜW.xfrԒ&Nknx[g!]BMXFh/ 6|_ W h@pn͜ .{XЀ(Mb@SCQB/ J1Dx"_"˟{E;1v,p%=tEJX'/FI՗Y:ݗByJs;,ENeR *.|/ 6Du&{fP|3KWY>R@i;jM3U~+=\?(ݷPRwic_BWAhYp|ЇJxk$ (WAN<BVt3a?oJϗxRċHK,K wZ M.͟g\ a-0i*Z5ꫡW\P0@ }o[Pi l@M!djZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihejZihdK?NIENDB`Guerry/man/figures/README-gfrance2-1.png0000644000176200001440000003313614502051150017233 0ustar liggesusersPNG  IHDRMR/PLTE3:ft:f::::f:::::ff:Pff:fff{:::f4ې:۶9UuniMf2-ې` pHYsod IDATx흋b7Zu9mFL|lfd-ƥnF7Aj2jjM_@f.jj)jC6)jC6)jC6)jC6)jC6)jC6)jC6)jC6)jC6)jC6)jC[G@ ÆjȢƴ]? [_)[~)cMk+S@l:Pt(y4  fᴦ*Y{!TR>sCo4thK%$i fLΧe9&9S@5ЧdS*Baw2!l&aXЁ1Zxy; z3o0t`-؛y׹)Ze44:yt\,rF.-:aC;) ֍UE =K?k(OpR@5zt>^x@:qjtc*Z rrfqN>)=n?AS@/h z*ÚI DQmtX39fKUZB/^:Ys/ R[PtTsAˣ)JA-C3Z?AR]]c Fz,F0/K>A sٟK#E~L>C_4QМP畴R _tzɘN~7T\?H'FF蕴R/??)?cv%M9}v! RDbE"_}<_:Pv*pj :T!S ]gD .a+Q m^W@h9,{9Ҵ z%tQ 0weJxYFBuс :,־8@ŵ xiZc :&A>:L?<|E|U@Q)O upWu@* Xg$""@%T]Vb@<JhxF6yaHhSYtNEԔxRIŗ3 jR>}j@/B` p#y>w+b@1:þ "==" H!QcWjZ ~@'T(ǧ^:X'м7j_=<~^PtE=3w_ΝC? Y,eQb@ B+k*]|EI敀"@RɹG c5 ^j g]r $t5": cT$%Bҷg^H[)vǕxs n9 Nj O8^ h6 9!}g #T]US^gM TfI4QM@A F4I]Ub"@IeB$Y"fƄU@WH<!"B#IMxݠU5mQAL#gH/L^TS+\MPIw:z!- ms8@M{Hhji\L RAc03xր)41 (W J\@aD>爖+j:=&)8S= |@l 袪 *s8nbƆDM!'~P@U4)9$WNH2@[𩀮TO!2iƍ*h Cxt\"D_޽adPPG$b RWߣoL e6˧=aJ jBk&O*c9r[Z2Lb)VW }{;H¹I@dEQ~?muO^D5=,bV88S1"URlr2佁|>bdZ K TWc~|\xbNx~%4gkmXbgBaFH4ȍo?My/UEy6$} nOS\$Kr`@3 RAtK僾ԫetVOƋ-dĤP)Alg?A u`ܠef.NYn4Q V<̄0[D%k i^ =~ a򁵝M{1:2AD&@es" Ы$`r0% ~v"1y6>$AhLG4/ 7vM!_>]Ai<La۟}d\ f`V}k'bq0Y@>}SH6@O ƿ/Ν#d&/ϐx :+)'s^oܬVtS @AqpI&菹ѹB?|JYřL܌Sge7m'adqÓZ:#BC%"@A sw+*f]6ޕ̌)eJ1k[;jE!s)8Y}.m3%ӛ'#;,s"lw(lч|F2$|43UF;:3.+B:g$?ēRDDyvA: VH6/u=8As@+Oڄ^Lk P(_iFL֠.hŞ. 5 <8.*@vA7BSQUB#hww hcQV=ا'͓iE3 @暽5%4t:onZ;/:z x֚u =#C,?Dxz PܜJPO[4;=ک(<nVN.1БLRb.S]\$jf(ŀc P*]%&_=DR@TT0Bg J:zЃy@[1 ytB#ȳv{"$POlℚz$E[) |n@gVi+F>>b"{vDS() s^=StyQL0.*Dž2L,aiPCt@ Q6YP ifL|侌PVe+AYT肺0I(9R"r $(? )ǹcОE ?~ gX]hFuC~ Z9fy ]< /6g.}}iaMeQj(d47!c?J-3 .E/&QP\@x"7*PzDzxtZҕ@p&gb5ȧEQSP"9ExmNݥ(O`_;{xO8H'iݾ){PB3@qHA)&@u6yQY@gIL PqQ]=er@7]q 2w)'-brb|6*o *E%Y|u_I% Mp="&C/*!=҃.XF3Az#4|&>}PG).Ζhŷ(E[}ɘӷetF;uBl?j:@SD@Y0s5e0xN5gW+mmK45Rkn߭^+W+uw,4x h>^Ml+>O`2>م'ӿ!ٌSIՆ 3U?&XVGK=4alRn>_Ph,s?ݷEMdo?Wm'H\7tπP:LQ??Dq4?&ݻ%|^><z?oP,ց @lXD] KH@C'sf m[&} +tt%;шO|GJǤI oc $YAXdGy4Hgр ]eyh>O~ɷtcaׅt: HdWh/,,J~4QBJB+o_{T٫-x6`4iddP=A.TI fah^բUj @&ۚƝM^M(Y`#5$@#x*?U)VmcqNJ*1N3B?p=OJAJzӼx[baf1It. KD璄O*_FL] 1 ; P,s)8 Ht#̀zWo}дй*<|.R O-ƥW ęPik"1byBXNh("I uA9KPB[ T^,('a_ʶK?)m'HczxKh+@,X/нIm+PM*ȳ m\Q)z#ƚ}<)2c嗩v[9ɫJ~~&mE'8$x?ww  (]fz$q\S΀{.|P:m?)΃|JLP7϶[`]%7?XEe*AR$:ŀ3U8]ڀJ y&CjkPwFG)PМO`DϟDg/ 2 /Pԕ„ΝPvt$ wg+ej;_`ӷz*|kE.?3QP@Q@,*IYQ@2&z|*la â,yk5SKKc\#(F(Iq Q D ٵ] R }>'r'Bh؞~fZ<\PQ2@|QV>A@nlN[Od“;J˷dE~*e%ZvBM&*F6)᪀ ZZA %Fd^^N?%j(BS P-[ipU@/vRBX>H(gڴEWTZB@)/=ƨMA%oڤds*-] pX,=JmwB7郌UT0 b/TBIRȲMipU@5)kH(Z.ɯ#7(᪀PPeF§Q' x%:\4%{=7C{2nnVhX t򀾾Gk?rPS4홺]ID{O&s~},xz?K`{5'q @pSV!xE|Ԧu#+xYE'<}"=kHꖀa&?xکMFW O h$F8@PӢWn=|hHF@?B h^Y1&f`Baӄp*.g@h(N(wCg^ݳI W C$vk"OE4sm糷BTuatjޏ6c÷5~C,E)njan)v_GPPЗBjV3$OD{)m䳒HCA#]vۘ1-Ei@DBoÀ|BҞX3+>2VQT-1WM8y޻3R7^SET@U4Pv|VQH,MzYBuUYJ((,QB]p&mdk>UA(Ta%8$&%<l6ڝ* 4i EnV=}ST#4 EX|@d%)c O%fV@(q\89{:}Wpt<)*2wpM)&-HDA*Ʉ =Oa`3 @@@YBitBU5#y Pu*OjMbMQ?H72>!|*jXP %CAp/"R^#~'{hsyy>D;9' 躪|qgx"aP2((2Kxte]pH q;PQ~LƗ8|>f hIq- 7o*Kk&ޓVLnI)zd$AP@c3Ta>+ -h>m%VQ!"@MF>XEIjW! ń+k<|€IYzFrBZGHtWT'DU|aFmbIDATԆA g q{x>4ߚ2VQPFvAs"?t;/4 <#t >NU.2DE讋Oկ(UTCN戸nY>MEMx]PK4"` hJ$4LokO 򕪜;XT/ш)]j4P.lu<  )NvoElhy+k;{ڣ£#ZaS`K.4^{7#h hǸmE(5B*V(P.0d5U üP(Y}BtK3^"TP1Z-@I2|09;%PntBN^P8khlxT( dqa^ȡ IڡcBC%HY B:F>P.(( w~~B&dOo9`j *P$5MJ];hWww~qR] )dHpL4hkR?6ꎰ$}Y>9BYhỻPVC413ÃtWu"|AѶл`&!a2+YqWkCMyPO)Gk T@CmGvCe҄v̀=ef d ("P2;PA9'?S+G@AAR!ňk:A#~IL6 Q!f$;AA.~;uC(Gcc`cA] pʜл 5E&hqnt(ImEb#T]Nh ^E *,c&K'aFKо᪀.?@M5X%o]л5~;o* +٢捳P ~6.E *@@@Mp @MHh+;HN G-D$T s6.~Dw05gUAM}(TA.c7 ;4e2$B@}/9fiWtY]m*LMP˗t|oʩQ_O᷑Hj(*5@*-DT7D]YU}&:㫒g w ˤc¥x\_\Q,qdbp)&VhmpU@*|&(b@wOtmUkL?' "Ns&SL{ BI=M 2DJSַ۶p*hXD8ddE [xߦ-@S@8wNPV ӕݎv1t]U[' @>Z0Y0^(gǂ|s0PPhn`Bw*JF/P8ιSDjų@;zP@ȕo y 9yA jRw;CdKKnpU@ xy: z($ 躚D2A@$wLM+- 4w\ItBWc8)P)jM 肊0>K4 F@S [X})*ߗ̾{=7S@TDs>̈ M+fQF% (m 肊X@C (_( A_Opq/ !m 0A*h++)8))x lD@)OcHkd8 _ChC]4?&_Ãt5 ך>(Mh k5:>kiO(RMA׎Ͷ*kiOBsQ:iBȁRfJK؜z(迃<J<"J*n>?-TI d[7#3Bh(%*TL c\@%ӸN?n ewC8$ɃvIShsp|$8Id%5|dg+;:94~;ՄpnѤ6(y&#|ϧ}|"$-0S5ipU@rO\IIBϲek4dCaS P[չÃUTV:- ϶*K5)0R>)tO(^܅&%]8QS' %}Pw θg8U6 FD?ez*tpU@%2C:"Iu&%.T(ݳe 9t(dh 棂G;VjR2>[*lsO p3t;4 - ]UaUmPP7fTr1[ݺ֊g+كU^GNXs:F6$02msV׼7f()FuDjȤA鿄o_^ xti%KP{&wkz4.$tROQמo}b l?RC r>0 hw^zxzU8D@|tՇ`S6yay NT]SABaBs 6znNs錕u hCƇxf!F|bD74nS/eUh#: FFES$ NHnuQ!zP &@wy^K7w heh=Q@{ P ;DB2"+;0 IE/T2t [(Z*>A]2T_z 7J5 &%PO1Pd̲QOƼt=3e/t%1DjPPt3Z0'Bg_T{&oKM@t?zL+7@AAQ *&s6:J.Մ?2qu7Ō9 ~tp"3@+vE=|z# a@xG@uda~Ĵo0>?O/|0Sͽx 3UjHWOA@QkSЏ_O١Eu6wBnMsF&.~ 1j@:}oJ:ߐ#T̼q=4 Oy퀪^! 7 (W@X~Rx*ΫOtpyLD>T@dz>Q|S膻W@7Iqw7NM Fл(\gL.t\3Tpܾ<3?y 3)`&g,\:zVpިzVfM/0=MU4YDmp#U@.o8ͫ:7|!RPBP uIWU^U>UP᝞rȢԶ7b]v W@.c P@4q)j#P! TPTm CP1L0թ]P`k;P1̀P$ cZ"d9~w f`6]U16U$ ڮV6.}償nȢvBCu1tCyֳ]A ?ڐEoѰ)S=֐E]2::(j+ &} ԾS0wj#PPMUPMUPMUPMUPMUPMUPMUPMUPMUPMUPMUPMUPMUPMUa@IENDB`Guerry/man/figures/ex-bivar1.png0000644000176200001440000003764314317143444016274 0ustar liggesusersPNG  IHDR|Qj pHYs+tIME 'tEXtAuthorH tEXtDescription !# tEXtCopyright:tEXtCreation time5 tEXtSoftware]p: tEXtDisclaimertEXtWarningtEXtSourcetEXtComment̖tEXtTitle' IDATxݽvkcHx&UA)R[ ҭ6UH+G̷@ o`g 1dƥW= |G8@:q>#t|G8@:q>uhc̥ooOu p :8@:q>#t|G8@:q>uSyZpYt|G8@:,,JZ2FTK"jE}9JCcg]҂-z՗ &JCWۇ|ZR}&]M[=Hɧ -Zݻk{]5{9 @[ * u2b_N}~@ъ:|Lv7F"7Tj-a`Tݙ1bl(-1Z( pV> /hA21Z( p> /p+*+-7CEUPltְG>Χ|c[FiQ<C;ehZ( @U;B"Qxp-|^w.}- /Wxyպi,hF z)\9T\8ڨhdG|cT9J%l( n\ _>^Sx`-|?eҵUOz7~a ja7H佌6h 't) Pо}i^qXxޝ*NSxZY,*oNˇz)[xi@jEhZ1|8zjn˘aوPD=Pxר'+ /@K1,4֊/Yj}N5/'Ǚ_+OZbh8WӑqX|aW^>jAimgPnɕ^-k[ hpGpoifq /Ԋ,ٸ/'xN4*Z|epNxӶҊ'-C3s/3M&Չh>p:\# /8@:q>#t|7cLN]8zvőFYpzflLVUЇ=:q,]+am-=|\pGp$z:q>#t\_qȘW|[B|ٸ/c=֖Sihҷ pUZ2}%rTQDi*y@*f Lл{O c}Ђޕ_iڢgWIȯ[rDl܌mٯ%oNa4T8̶Ңwy>"8mC ۆnp.-4; v>p:Geõ Qx-|^8F тGec 7Ɏbƨh*EeY.,u, עi72U7V"Qx0pՂGCl{26T>G v {>|=^<)-sU0^*ür4d.\^=zp6Co/^Ct) N]lsQn^}k5tw7C!h7m-CTؗq)Le]i(it1G6GovL1_&֣تjܝU4k6Y/=+tJ}}V15AŹ|.aJ+^I\[xyU><}%^ol{)jǠ Z*-vj /'cN\6 y/M * y/'H>?6t_CU;Bp* &#O S-N7Ɏbƨ ZK@=hK/ 8pʆg`3ږQ|{ p㺵JW!ޢqQx\ض—^I\2Pߨ'ecɛZC ^8\E{%nD4$ <)zoG-["7Rxy0QJ>.p]#Iy/w /" wZ}47H$IFnǨY7CE{3zTvLܓ ŞV6e#J\e)ntv?|򞼷\P8Du=E*mL532!*HR, /i` q_o0tniUhrݜ2W/yp-/ <2Ii3+ @Uؗ1O]=on}Rd!Gb |1I@7d_W:2,S֋w^ /o`ޝSx!vqN;^.orLbsKg:$E^ /8ۻ*cK+f}/Έ}U.ƾ0g-mcbVm(/o^uV,Ј}4]pn|@նRSx9g"wUϺvٸ/,ye⑲z{5`ppG/?gEUN<~ސ̼sxd* Uۻ_'KLo0-'hbS%G /LHhf5}\6 kAstJH7,BûZzz|v+ &Syp5VE ͔s +V.nwv9l{OA=\KeŰw}@;rk~ Yk=|o(չF튯^+8FP.|g/u-O*}qgVfp*u}ePDo vG0N\#Q׿[˖BW4m۪\Vש/ŶeX}'PMe'%>{bGأ6T"{ɓBK[anNeYHEޣ, BᎰ" wZɽ#I7H$馊.]OM5tcf,0i4; no>L[>gpʲ\oS,[W]*,=&ew*] S8U?~U}GAij',M0b< W[ VݣhVU_YػX59|89|w۴{8]]z򮮗OCΠ,K #yS,W,ۆm) Ӽ59x/]\mcK2@QxyT3nq6eJÇ˸*uJp; =||cg >vzBhbfmٸ/c=3 \>tנs2}%rtF+ &JCWۇ|W5lp.ק&mmj5gۮ)T]r%Ee"7TjЕi>tr%yӦt]?_iஐ\>?E+*/t:U8c_N9|aT^naϭ72_`"m vU=-+g#zjp8N] U0ŒDoy>ޔ0Wjv-S^o4Tv2PjwHi`\qQT?=5.nO]Q{&v!fGe,˲}/-r^Fk *@'IrÍaԮJw>v-SE4~$osu1t^هQ)%s|0T48t0*[ šk~[CeCT^xJЩ2RoVS5,!pևNZMR; OIq/Ӹ_b Ж:|eèEf0Sxp^踚rSC^ޥ4@U*rC* ]ɛCi(W7mj?f /W6Z=ҪqAC /73Πvjչ[*=>s26Cg[ޝ4gDe@T;BNr>w0c'/G7%Ε@YFCMe'v$I [iw$UOotToi~Sד -L"IC͆= /6nHИhN˸iUT w=A _3k Z) U-|^T-.uEo4-h ab.۶-B12|+ؿJX /|lZl"^Vb_Ƽ>JCw`2CPh[/)5s*_k$7PwhF^ﻤE|TH[/u?c.k |Pzwgq_N r* L*E./uZUR({`ebo@*Ws T+ ?L9m2ы$ͩzٸa$y/M-mi4>r}#^s*MZb2؊ 5ՕeLdmJ7$%rL Uڒ}6}e7L)oꞀY\xҮ9MY6y73v㗑{N4("o$I^u17"a/]>Xz^=_G!-`r5X疝 mtu8[,ujzfeדvC\^9E_ݜ=zj[F×i*rC`N3Mu[ y8TE_Xe1d Rec7=K\7C\(p]?س+Mmv uǫ4; [Z[>ӡ>/=:iC[a!qځ=|EO= e7܆/ژC-pnUA,Ceh[}`MEi/ y5s!pڟ׶q׌Ipw#eհ;>u:>wlYM8f\6͏fH=|{owtUsC7{Q( ;7vA=|49|eoڬv^wҍ}n^ttɹoмQx @WP /@ =^q/L]6 |o4Jg#&v.4jЇ\*_H^ aoeԓV6Goi^Si؁M?i3p[*{Wk~[ SF5uC|@lmgWIm6 i$E{wR򩴁h9|L6 5n8ozNm}oI6e_sɽ]E+e㾜 7Tu+ƾ0>{&ml$hv-j^dG|c RkKܶV] zC;;vhʲ3s1 BW(Qx|Y˰G릊k)b|K63\{2!f|SӢ5 RxvUסr/]I49 /׮jZ%-W՛G/_,K /וiU|yrڡ.(dUիt_&|i^Ca[/|ݱ/o|'Hoz^kFFžy}jd @KT{#o?$ ^ /rLm׻{8-De\f#<1*_})=j q9UC|<v^@3*_OOI[fٸa$y/#5lC)?,hگ3@1$WajKKIo^~>qu(΋oyPxy(˂v1FRɯWp-T]h&;{+"P 3:t7CY`MMD./TMII|˷赩Gv- J4VxyCyũc /H"hۄ$%78w|/ڮrIiIkU^*6(ߖQ*z@Œ>/slhA* xm@yUuq>S1j[/^z |ObIDAT`)|k5k@-֣Zh#Ӹ(H%2mYYkT 'vdYs/:D^&maq%Ձ/e̫.>1].0|}z5C|ϗ޴7Cni#3tczWm;rqe!T{ɓO'Aܶg{Tzi鶪]k-MY貯ޫ";9wS{MyÄ>*ы'34Ɗlܗ$򦳛i5c-CuѦzuWpvsbfh秹lA0ﴪ>'nx-T#aԭ:|F;=z߀Btd>༊M>>:Nh#eZe24_Z9Ǐڌ7W 20lcO& !5._nآ0Y.>pW^l";%Xp W XWI_q߬ ^?|VTLZ[~L1?u?_49F" /֣-a0QJ>DZ!{%= oIUY1Q3WaE1+ѤC]i.K +ѤgWIorD(fX1\J%l(lmZ \=V@(Qx|^8\ тGec Qx-|^8:{2F^q- |^8D+ׂGec 5Sxzhf /W6jA21( q^q4P^BSۖQZ]q͏1>Ă`Neg@nE/,mE2ڊ`-|^F{Y[>|ː.I-|^Ω{ 5Sx8>έhEY /{2lk >#t\ b[ 4BWNKٸ/'t1Rl4)~qM}5NIVv$w{D۽T!!7{nWDr7H4zJknkzr3=9| TFr*{!=y_'y[-ݻRJ;% LesVh%Q8ulgWUE${qxs#TMk3u$I>pc$NbMebLgqPilj=ۡ|(=BV[ʛ| ({O}@+]8l)&o$EC# t#茺gZ`FCMemm6u4)uNl"V3{' >㪶t3_ȩX/bG?I,W>yz*D^6m~qLpPMl!žb'y*Л2zRpٸ7i(w튁&6UF01@c,;HM%[zz;˺L=)5 - |Bו雰 {>@c(~*eT^qhE˻S=Jõ8 9ν\Ez_(}Q-F˘޼]\;Lo0lT3r0QJ>.Vԭլ]HB7gy}&Dv)|ppYE=yR8g)kb?PyU2]}s5,ܵyX ste zݻuf_sɽJBfω-]ׂ㳫$p8Ǿ x 2u!=@ro4Qg*w] {tQ ]tfW st:08w]ԢGe[Љ7Ŧ:KۂGeWix#ǵhAKHwSWu8ʍ^u+-|^IzxѿP k֧M_q")ߒ8<5VWOg[[uEo4Ql7Tj-a`C t]Ӂ!]/Q_/OZxZ~}{kŗnLo{,2ПUznE_u^YThbzXqޝ*Ne_sɽWM}3ũaVS/loova |Iଶ4$E82fL~*~$oT(۽-|MV黰]I}n~ W12}U SOOFe!eCcUCXs{fZeDZUիiIPf2H!pvڻf*ojeg NMii*z(y]E'ݐc0MCp˂LHnLUUY}q)BY;8FF Sn12Eهncѹ?:=g͂S!(-Y(pgi G,_,Q5oIn&"{Գ[VޭAwk/T"W¿k\a $RX؎u" hP6 2,]8wc\ƿ%Ghlد~w &I1Aᄫ0Z6N%34ZᆩꢞF> Mɓy U0֞tscDsp|ζdH|G8@:q>p3b,,)eQ}#Sa7Q۹@±/ޕO<+옱:DreSG|56C޾,Wַҍ飘/6#V w{ޝm}QnB_D+1 /7CX}3T$)- ܐ|oۤ겯pz{B_Hޓk}9VZ4;ec@yke4SyT!ܔ'Ϳk>yOs_sIFˤi6KRDV_"IkJNq^jMF\]Q|>{^I" " w{=I-JΥJ$Ig}~q%MlЍ4ܜwA>*p&7 Eq9IrmC=fߏO=)_| <%k4s'yZ_ŻLS"˝+K"E? 'tž1bWsϵVZ{x1ƈ4.iw(T#t~]s[3\moЖA;my:iЎsmɐ.@:q>#t|G8co |G8@:q>#t|G8@v7s/ck5}smi7v25mU6oo#qoodch*r|#ocҖecPYkZP[vw%|\aje>(p_qQvJCWIିі[e㾜AS[Fb_èqrٗ:&khb_oՆSyѐ} &e[J7eykmiQoYIóӵ ]Y7L7DV7- +&ICЦvSivn#qyJrCrΦ^cm]y>yh-%=|ub_f S٩|Dz=ܻR^>{z#ͬU}I=H+m&j6U_B;-*rCi˝e_s{ҠrCo6fv-xlA"7$Yt ~սHdMIz7r_w>TQK;,w F+EȝnK[J?Aw⿁yzY~[mI;FY>OҪ sVqіYL4vDnO1qyStbGRg9S/wX-ʾ" ͻV0יv<@\ݓn- |hb\tK)*&%/>VV6@F*S I!4z:;؈]~"1{'CX)΋,N-@HvUa(Ih8r=mGyےwD#y<6e*іq宵MD{0rtі)Α-}~ڒwޣ]i1؟~&+nP^?.7XC[n(kDw|\5$rr7EO mI޲'v<\~ĕtmy0mSUgjYɵR>:|~-z;Ԋm-meS)mkkK߮j řb9zlE[n7۰F(gi]#t|G8@:q>#t|G8@:q>#t|G8@:q>#7"8ҷin7ỏľk_߯X[.?ō%nZٵc*/6|X0M`/'xZY*T k V7X 7oԓ7}\CK=)^==>TD 9r3~hm8b_W|p5l* ˆ3/~~^E_s嶵6(ymm\Lop^~nev: SOVnhVrm8ih]ɺu_VK~ޛiSZ}AjCw}ekn`6z__u}}ww5wmR}?Og=w큿{K]DnDu 1k*nmϻ@o>mש'yϝ߫.N?].s׶r/7\~]?KĐ.pK@ΏUCTv9=~W$WϏoν\Ez/ =ɾ4|aןo$o54=rut/7T*I=+P> Yv+@MLؗq%%Wk;KDO3xo&ˇɇ0t$]kf 5>ҵ6?4F0&@NCwW=y+×4W@[W}J4{T%}cNěډF ])5Jiw p|J ӟЮ(Suιw}(xSpz}Kfwվxj wț.ɑΖ^zw;~[w;4M)Q8  kDnmXmWŊCwx||3jCīޒm=kOϓ~*eC{vi]bs&ßCE'F3AlO.w].\S;y T"tEZ)IڜUDxJPdQ{яQpI[G. \3m^z#|ؗDH/ ìy%IxnOݶ{ U[Ī$(b^-6.yeR"7œ.;`\t}ù^* V*/MCS^/"c珕t:q>#t|u ܣIENDB`Guerry/man/figures/README-gfrance1-1.png0000644000176200001440000001607114502051147017237 0ustar liggesusersPNG  IHDRMR/PLTEٟ pHYsodIDATx흋Etl@ ;Wս-@r@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p  \@5(p ۠?|[S@sp޻q֞Ezn[nޭQ{Rpλ^2ٽYDi A n/50.;`hzV&1KKc2ugحYA=v+Bw2~Fa"B!Y":ihAo3$|eI])t*M!'tpI mU"] tɻ>,0MAT!gUR,!Q zRO/ϺJv Agt&NM% ^u x $@Wt+XgA}"Ao<"[P/#U1K]ޕAf@ b;Pys%1Y8ߵgnȢpD׺p @MxΉı=x /6È*tY""37`t)hư:+= iT7,Fd$,s񒔖WCL" A扜@M@zp0`>-r)AW@Lc?*i * bmAו0U(>\.ΉǢ^@v:,whyN}:uIjR@/ȮR'ϹK}ր=CɈh&F,KӗED˸ ~@N(B$`X%q )}q)Uh[||1Ai+(@҅F8þ@ [>#P1P:5KU{ScҰiwsUf#niZeP0QҧӰ­CE,wӲLں|xX\@:OLF/w,{(厴F嫭``ײG[kLMSZ57O\9 S*M~6%}B(+-a="'X3똃.jfYnPWnFf6ƒ䐤,Q!f! 6Ft;,g*EGNDxvm\w$Oi+(-s)c3ie^.W&\v-q֝I¼#h vybI4v3z/߂$*>m^ķeoty;; i]wݶ5Xy)=vN>,yw![lZG ˋ5O/1m!>@V%h8m(co̧'Ne%>ȶQ5=IH޶dD-zSNvA$Zvbq.JaqHl$gSvD!XP2?#Pe9A@R 3sJcJ/r8JgΥ+sy^T_ӰUiUF \4ꛦC>~<[nm̡Ρp6RzEyȃ+u$JF $) <hJ\Ȇ: 77gU))$?$.m[rYA/nJ5D q[qAAow,oMslq'=DZ~ˆ+G\Ɗ/I<~Z6޶L.Gy]3k|tk"*lAe Ǯ-F \=d2OinTǒCB@2=.ߺر[Vl\.Iajmu7DA7wCN\}eSՄkS1JkIN%@}l (5( {֖42V*V)fȣO9F9gyM2l/Tjd޺ I"SY<MFىx}!⟕Dew<7 R5L4Uw6S艬E. ԥMF|W)f0 ti hqt< eh 5ɦ }^IX˞V!i5#yL_ mIN9 ")liccClu}o.ZUp|* 5xїc.SzI ZF/VR}8|Wk@SF+t_@bVJ:L5UE>1 MiNale ]SwsV!,y !dZb)qI.^:OVK_XU %_<^;snkStٟ)!J PPѾ[@Qh[[%%i W+TL?NlYk ^7ޞV=йn Z.@f ߟOZsv>e U$$,W~Od+.E,VR2R:)҄$R})AĦ7֨;q.CiAĦKW +@u2<$M~TrcT̶KQh>M3̶K.wCI&}RFv f?g3.$IW], MmĬσ4XG.S旔v VL6eػR+&%e]bRQ7@1^sK0iip3=DZˬNz{$ eR5 %7_ IgeXI`n3kEn% я.ä߇K+zM3̉|S򾨬v:Q1 ,'CJ@Ru.:giy'%W}=C3ڼ [GvOIkY\ST\ qiV/}LK* M^sɧi] 5hO$Y귞agTƻ<&irVc"_dK(7n<$6m^2jmϟ庲eey pD7(WRW<+<%8m^RtXK!j.;ٗX&KOP[6R@X%y,3I;?'=@x{#|iZhndf %{+P rU<ės|7pʝgV"$qlR<HLY/w-񅤔X*1@7pΦ)Tm^:?S,_1/0}&:{%wڿUt?-E?W){.tTMh(:A$`-i<_ C| ѺTb:iT|OOtbCg+$lC֜*x ]f]1!w4|2YЧ=2 }zB~ =-ܥ-ޱ>Ϗ^hL[K]Oz0 T p~ٌN4hV{߯ 0 J2)!vV}FRC@bEh^<ݥ0rYr}: 3~(EhW PxFŸWjc ? /Vavy[%g&HbMnY#5<&+tCJ;؛Kv+@Sa9^]+hۇk/.=f? )@yd)Ôt~ĵzxAHaEw +k&Q ` M8dqՈ},* HwXi%;D[ U3'-A5T#XIZUoCd"\"v((s̹ƒ~;PPv̑ؕЃk(96gk(~DMGщYВG%ysI̴T_Bhg@m$x'U\;wN~B&zM$.apDq$?)|swt-Xx)I BY,-\J߾T tat$_a#B-?Gt2\ ~X)I@ #W:aKjde|lLAIa k|7Jڦqtao$+Nq5t^M٦RKQi))40Jqt3j$xsجzIaU9$֩MKa u~ji "uH?$l#24}cM䥷!C/ > yXf)Y")A*QyE[L<_Ar ԍתXb)pcCEEņlf~Tw.O\o'x:@NCo4ȼWV~sq|9%-\W*t5kZ=ikvF>vmք4sPSٕ~^oך'y1o Mogcg|C>S:?C4||B!o!<4@Qf)( I3X$ߌbS6xH3=t?]7f;;i&eCϛ>c O(};eXp\䀺Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ˴Pi9.r@]债Lu2-eZ_ Ǭ)~M^{6'c;l+ͼW=p@ PuT}~1o|??Ƨ^?,Vr1߼=$׿˷-xpl $~~?p%|_t/_Qmf6=X=l@J8rG@F,׈QHtLt%hJ12oE ->@F2;|);:xar}}x&lzz؀fo~XI~ԟ8㛷*Š&1e],O<+5}}¦(jb=6W~-4`TJ?|6S}UԃyA!wX->mzzvfTAc;$t M$ĠhwFE Z+Iz;蘚`~'oC2ӷb/t=I ؓMi.wbr^qٓTmf6=X=|@g6W!{蕏s*"ޅx.r@@_6债Lu2-eZ˴Pi9.r@]债Lu2)@t~ƦV*m?cfglڬ3M?@?}_O~~f~Ʀ=J!N+ЏGEz~ƦS=*d3;@?~#ǧ<:f~Ʀ390>ῄ/C|͏3á}]7ґt*\czl?h'Nc:*GˇO$c?{3v<}w| ;?3<979O+Chsl?pAz]Nc:A%> ?pgsGy'$+>S NҝSbrDsq@i~ßx&Cw}'?w>+| ) Tr>iz ~-Od:f쨏2kb:@i9>/rͧb>FŠG|Ds @io7|y3UhK熰*Tyl94tAJ2A?mk(jџlۣtff#ɱLLg1#C1(D\r{4CP{ʱ=c)Zx*a:~ZϿTSQ@dGÙmbLgcSo .7ʏ`fL盞|TnT=!Gdc2us[ZNe{,[mڧ)V'aQ韆X!@]N`@q5ǯg/8~OY+ֺ?lo,v}~N_]mYŋs|ʣAghz}ٜ(ۧeO_{Ϳ 8X~שo[ݍ|.wE+< p|.wEŃ~~o@G<"Ag ($6߃C :_ӟ[2z33}.4UŠ1 niHߴ3]±1 =Ewj->V+ćjt5@hcӗYz1Tju3]C=iܱ4|:m W 34k67&f @z|*ٍe^_LLGf7"ſ TүPVh,Thrzw'}*ECݝxP\UZ\ 9__?We@gTДCDEێet풶/n:)cG'9S9@MB"~y;~@w#2CZqMۢ0&Fk(bBCIٕ>Trٺ)P!c %m{mX+l¹Y)P[NhtϳboNFhGIWW֊*7\/.NhթNlչŻy$E|5{~P^U'[ӧguN8ܮ >]yfttahEJ?%@=?)]AȪElg{=hԆ)@퍀>}:c)eb(PZWK.FStF0]7e@p%Yt4:3!Mw@ rbe1rH A(MO5RJk)AӃ:Oh@k<錀έv7@q$f?@7J_VigT d{{ zB@K>+iF huW0H@%|Nڛh@#B) eJR]啤TS@Ϭ"^!45}N+Ij/ BOQI4zшj}W@*|9nfB(Eǟ= :h\m20d-T&7--kuJ7l^@N\zV'(Ʒ77'á硃>ڑM=qǩTM`lBA]в lXhsdž0@!loǵ)c-*D ]hSժzZ&,4'?[-ՅvޓhT]jKhu (dZ5# LzssSR @h lϜ&r<|f h>sX2=X @':aQ9ne9@ e5L^y=hft 4BT< in_oxQӋ )43z!-DSio=!k[S*Y2^#O-ЭLI5.%D˙=9~LGv~D[tߤ%msZ}D‡L)c3@/eA@0>op]t0mėߢZҴP[] tn=^Ֆ$Ao isONyhi+I:jg]  -O].*ps #hcǥ e=]!tڃ9K:xo4] :F+ CIIx-"ްI5Y=i@sa l@xR(U$HmLe>4ߗ >QRL]KB ? mOZ( !g3MSաpڎhJLQ'Kn5, ъ"7PKK~ ex҂ZIY|+&ƧB 5Ph{X ,%$R -پ3%{ώ}^SIb;ng/J%>P({͓0ДŠtPg!"( o$ΊlAZ'?I츼h=4uk3x U^<׶& p P@p s=hAc;`S|q@ા܅NxxThq"tڳ)zRT/I 42 #9x VFǒu $ *y]C]cⲫڋݲAI-ģPH^b?̆CSf;Z_ vtk1^I@iQjtE6srPL $(eu׸ T>y$"DMtBQ. ׷N3&@ bhM0#T9ItQ ^CK(FЯ}o+,? AUj50T>yMt1I.I PzBWQ7Jh!!X%xHP^LU>6;z3YR~.@M,o݁@$H㥁'O2y| $T( NEMRGwBK9]t'ROW(cQ#qD"#ɧtWtEL>;S*<a?HIzh.ޑ -P^nΫjU$PJRo(}Շ{KP%Q(M˺X ШkLzPV~2Ê>A.4$I4-JGӱt#>a>ݳPB@i].*oVttf۱qgg(E3! U aZpEP+Sv/*S@!sгZ B&Ҁ>}%!xܴ>K=֐p %I>^{a-$rۤViE>@I\\p|(4"13:~b2CEqON5g Ч!dcpneJPun P2MDnZ͡ jK}:As+=9@/eپ81pOVOnxgAN =]&k瀲GS?4>@/{I=+mXO8fBIBI@:w]v ϝ4>_X!8ms)4U@Wyof\cX@!_ɉx $4@mn_@#jr4Z-2B!@s($ǬmeK}mg8(eC>9T 2rДxqPN! zօڞ8w@z ,@yT\kU-$!;پPIj=\˯IKy@G?ҽrN4׉% [%ޖ}@ȢCwm7DtN ݊ythT^~vq$h^Y4>Sr^rvP{%N4>Ѹ~@c+eJ{J|7"+; h,r+c:TNeK3@s@S)O46wbAJΎ( mtj/X:p>_hʞebzY<( 輧L! QD A^ 4e —(ӓ~/-1VkAxh-hA=%eq> : /Eh} Ш|nd>r6ٔY|$zR>%tuL'.p/Qd6cV]IZ{;PTPI@y+lP&1B3S>6;ʼn#CЋy|vh+BxvFZeJvd~VVJ sK#ay /i~V7 hQM&T\i h3Dl=7fnK?f)djMEz| ]t4:;-9ʍ>/LJw>;~-i+v˄گ^VTSzGΗ ~>جY{z*hu (ں,ߛLU=b-r P4o)yY7q%Āe` PAN@S{Rbe^RQL fB UC:5@TmE!t i+v,edRYЛ:Ѓչ0=h(B>tqw=LA Pts=(躙kr>tt tr="$F9؃aS|$Q@1kMSӣC$O4@9 (Ќo_L:\7D[p hP[̓6M&ŻvTH R&RgёGR1: ^{RB5el:vˀm}ƃ"OB[wob2~[u|= u#t>kc0t…@w1b҃Pؒ(5V] g ]sm ;s1@E boQІ)]r!2+0c!#l!QMJU4 T@/9[!hدufN{(r)Z#N+\eDb |nIzz3+3x:@ozbsm7(oX4A* :b#%r mvͿ-b&&@7qM5,u^ Hu:@t">MCOF+KYہ;IDATV3}W'iuw?na|(R=׎&4l GW3؂%%$ΰD#&O0tn ИWi%( F3h4TpG1Y]PuJt#D@M UaDQK2n_RBa@@CsDG M>wv*SP>dd=L0(lp6 \h[ }ch/cP؞m $\!@rћ6jxgu*\1]󩿦i^A([L"D+yS4J!$ c{4PfM PS C[]=] %?@5@p"@w P=J#F8c] 3['ak Q24 c ^m!#P8 O'tJğbePJTNJOFOaݼVNU"^zPܱ4li-'o](<c|5@E܅#f.kW)6^s@I G g4Le=G*Vh][O%W"?r˅:5ɖMKBO@ɺ W4] $$U:1D gnPK} kxP-vkwh'xZksExnsH&NY<7][O~^#x>YvJZ읶o+|]9 /Rsc{騎.(Q$wdM@3@" O@]=!hw->%1<ר"O.JخiH-INA]4 (Y ͢IȘA &=q@az]dS~jVW5MbMLeQ9ɀiU@!iC+ߋ-/a|, K&=q4 -M^ *A4}+oP9iTGȕ4'4yDOa>'TmJ=>}E̹yjd7h) qG:K(vP2Anj<UUJ|Cmf@O̔J2cPnn쉯|w+Z&*GSR>Zǫj5bD i't 5ɾ@WL6'EV#2 u8WCzP2ܭѠ۫mDNZ|c(clE7"cr@˰! )D곽 y\Kt$;^J>G&-)v́J<>챽Ei7KV=#'J\_ z >xnعeBEQ@ѧĠΤDQL'1K&A(>x;u`Ӏ6 oWT9:<Х<{zU/)"lE8^T^›Ze;lk5%ӑ8+v5[͐>JsK.UHAģ'dm5(Tu$o}7f\AɋkBPOY#%j<.-pȲ6rl],6P.6z[%gYZ$N|3YZ҇/ZYT<KIBy6u@Sȁ"Έ&mM2䳒Ө6]\;6E/YyF3ӞOcvvcYFlٚRh/wTfM2!^;̗}vN7H`%9Dz!5Nۭ xMv6IDqI& NR9i kV7}/λ, >P{,Wh.賋MM2~@! n> -ma@ERk^PtydB;$VD 19 Rc-@rO&.TQdT] P4ICUEMQFBN.뱽ІmH@Z>3ZV,n"@uֆ" mU*dٍ4? x5CBox*ߜ4.X'΋m Ҹ{`)@BmHӟ'vc絳Pd-f(R1ҪGo&IO<9> f8E8imxЖm|@379Ir,^/ڭg>Š䫸B~S)?#nXRmߐE7e9ij:.恴 #U6btɨ&o0ezXO 6 _ԑ$\ LAw9>#$ 21 vP}f^0;Τtd'dDf&f@ׯ$Jvhgtύnt hy wuPMt9Jloe|ol*|D+@h5=m5:xPZ6ݿ@E!6siӉ-a|ol-X]t˝hW[eؾρb78U_N$jD7gv]hmTnxk\bBqhs eNJwƥ9}b|AsQ2 h%"?*ӺL@ O(, W0zE.AMtj|]򿹄6p!t 1sT,Tt2-/ z6LL',A!t2H'98ihtT;9&|7eg,woPq<)ÓhݻTW}}ӑ|̓tr-޸r-2~lW?W@%jU@S kN])I_-5R%_]]X]3<~o>kپ>+f\@աWt7*X^k+ fv})PtٷPez%ocSн g h=;tGCVVnwO:g ; 路 EAizgyܮ s~'>4'q*m pHYs+tIME 9=tEXtAuthorH tEXtDescription !# tEXtCopyright:tEXtCreation time5 tEXtSoftware]p: tEXtDisclaimertEXtWarningtEXtSourcetEXtComment̖tEXtTitle' IDATxݽrZ[fObgЁ˵@D8NV֙!:rԉ!.CNiBXO}!*A`q1A(?U :P8B' G@(#tpN :P8B' G@(#tpN [ \oI}O`^g8N` r/BvQ{o[7Z 8Famr`l o6cW뛶N(tnKW/[%C Y:zp>]Y{u, 4E9< Gs` C'lcU9<, 4EȟEȟE9< Gs`D9=hx}{S 8@5xxܓ$6cyb'gQԛ*zt&8` Z&zΫƛN UYVG_v TMm:j7Z.-$^"-HfW66tJf'r^]U\Zm5 f)1?B,Y:%IwM:m$=V}>*cz#h2Z&I@ ˜{%cbF9J8J tf>#ytRދhP[BesN@ )L ߀uͥoB(P=S\Dp1R1 PYFpad5 D7`!a߀k^) 3~Mo'I_Rzo5mжnx˷v/KW]0vLڸ]ػArllGDԩ;cF[<=$]?Y~Dޢ+uDY_ΏהGNeGxxq3%dN4BV$phFp;IhP-m56cq ܓ4o4!wZ)잼5M96db+B' nWk93I^{vwFEӯ|h7?-jCu[Ii8z-x?SǞa*!hBKYc.j|ysFE}P;q܇s%c G؎]=vGj_zD?/?2p^ck84' tpՍ}- ,&9jIs,SmrNQlw!M: 1"LC-  ~굆[sR<{7_ -__Q륣f ЉZ h}D'jQ<>i' 5= 8#~mգ;'rm{:MbxV!p@5ax y*070 UO܂J tC͕L<+C(j߇{50  tJ0^ D) yd!tRxDnrɜΒ1@yt惹?8[yG m0Q \P?\D(ax ߎ 9(OSכ t^ "ty.(Sfb&v$Us,0'B'JAv+ ^8uPkzy*tHՊ7 w#ls`7&{=@9-Z:q3V|ՊkeXHt/$b/!x(R?7,,$BPnt4q^=M:8"&G;:mK9E"ɒ J]!x *[Ꙑ`"ٺ>p,Jz^iUQj4͔-}{g,}79V/5~9ޑh;Q=74%)4S;ZoƊ$1κ({4?P|nNZLFセt8mlA1MF#{9EGY[aBFብK6cW{_ #pYйnE%B[iZMCş!샣Da;C`'\"oh*g5s}[ιi+[585=zhh ME,_ƜCfh •BsL?h}6ugM`2|izj=yЀc׆8e7ԧ_;+뛱7b:p_ ; KXG?jrIDŽNv MRTEw]-ׂrub~g9 ~Q۠>4UNQ孢nv(Y6 Ypח366DM/oyfN}:i4ٹjf*e; hz,ҿU•[w./4,GuL{yJ !x#OhL;Qps1X4RPE3:Nn'eR8}$k&v"逧y0-eRx/g+ חݹτu O G x)|x};No(gW_\7aE1{}ߥUi4 M4 OZn5)yǖo^Kk"5%O*qrM@D>j$BgXM< lQ܇x C`yE"l_@=]eCEj ENY7rAg][1\iaŨSۭ&#DU/9|b(*Z9E,W7* #>oht(1ҷGIHvC؋ўϱU_+./X܃YE5҆hzXY?zTNԉZ*/8_ b;yNTdZ( \'7\O"*Q֛0xFyl7=_TPZ/WdG9T9U H͑ ܎'bFY{}1p/3WZkó_^&ӫǜne{zᣭ.Mܿ|3$IujoӋb8=T4k]nǭףHJ=k&O5:mbg 7C^|n~1Xǿ][+5y Z+6nwCJgJ$csITa[jX9*Wq8r86i.p L7FmVkmgP_ 8}ihmª;4S2+1245_2MEFVCi_7%_ٻ4/q{+Q7{SmV7) MXLӠ< 7q$"pf+b.UO\;3b2(WgQl[r<˥iRM-F~mD6P}6]|;ۑ%>ޔV57E(W^K<ҙw9:E ta( }tNb +m& g}G3o(N^U=Wo'74춟50oLzN^X`ş|3j CVrg&ΪJ.FhD\L;szq%truƛ,84D0@{p6u{E~8EDlMpAs>)I6 DD$BgK%#9@h;MNLɅr8fcg ,r'u"hxs@3I["դ=% M'+!y)қo'U짜\^c4K Wn6Xh]v[fڜmsQl.'%rʮV+===LYo TA쎹X1VFb$BgK%#uKZm~ w;CXj'ʒXH$i;Q=74%5e8͗}tDM]ĀpfȽs; ^H$5zGIJv~\ta"`h"vwr~+8Jg=:aE X?U:/X[Mw {E歾LL[~zS/zʹ IDAT @dYA`!:uaM\We۫|U#(t.W>z:L p,zyqߔQpGCEB& 'BBs$hV;}w}&lnz-'{Fm:m/|{}A͕?syo$<6.ÎDhhLftJM`vԩm82uh=&9d;ƣ Gj kIEN@y<1 aǟZo}nboۣ${[ Ilb:-屑Wfrr\V}JroSGqeS yk |5onsni0oz*;6N;sc̵̼h`Q s{{WV<7P \-~ku7&~Cw?ڛ恂i|y용zw"Ǔ F]4o8 c--m1Ğusk.K;T:F#pڭ14N@?[:7P/|Z̖ N>q1n/Bg=$aYw$TÀA<:tۺY `'> A:9Kװ{w>@mmLE8WN @::jί}Iwz/v7u {DO|[9T{ZR6A@j ӯ}[:ni<~B*g'.W.P%v:UzsxA?Z(IO]}J+_>›.*#Pv$ RuFm (Oָy,|2~tj3*h7 {+LzJ[}vy'|9#'+ދUEWLkؼ,O?|%EOH2v*^[)`.4p װ{a?ohڰIligZt&4 ]Aꯄm0{_Upg'bg 'W#E5/҉stR=WNXK,9sK@];:i$'cE0lA[w޹Oef;:PդqIhn8Ԋ+߁`G.4Aa&Bg(Z]Xhر<ͣorh#iestN_«ZJ5 H &یW Om6=^ss[&CE 2;J;NX.I`\p2fjkѸT':|^nYTb\f;JVo$O-wz^\IǾч/=~;}^n%Dnl8dLSC>ajĖ_[EV鶟NI߉6f5hp-ܢ58Rh1P{}sb.|2I`us9d]?,N~{{ϱ6I7TJ+W~&>3=ťj@yF4eZ Pۉ:|I R\ gjY+w֡>(ܥᲦS}Qٙrmi~HsIV>$iJ/4;3] :VVLjڌo㍂¹V/%p$VB's(M僂'asl^{/ڛj3v!|йդSp6Q3 ivN0"~u1.Oy~sQSWL2x8yW_8mtR:9v_yzK`:d5 _pz ˓ž:v7%9<URt.4p>zp&!PQ4cЛ<lM1tF梤>XQ_+VW,_iyJrm\zJq|FK_%nFs>%:62^xiCʵ4OVXAsOUzM q£ K 箕5VRvKΖfw&_gyOP|hoC Ca>sphs%jcWt<^o ~!Q{keD47҃hx41:#F_T}C$J>tPl ڌ݃[엙pp?] M橺$#OU% yd$d9hkD-^]sphuI*z_kym0  殥rAICSo"]y1僙)(C&$V+===\. =\gXU4N;PA &2%isl*um7\{.jxݔky~o{㲀s, ѶYOl 9cPebBє){.f`tюD9 (3eTIism`,J>ƒfb9ó}ѤDԴ7&7퍳izg!Sń祎, asϭ;%/%m 4%3~;򦈘*W)S2\|O/w%V Gӏ=| dvZ._jjMc4{nS;P Ufڮe/rCzsOp{w4 @3O͓YBS┛ ńiBu#VZZݦ3䩅ejfZ yFnɈr›/\&[C7R=D?{C*@EUm-hQ( ¶dDixaĜ΅$c6N**9<ԥo‡*CC}-$j ך8m."1ʐ`BCC9V!9|XYߑ;Zzk8e*jQևnQn[9U=:ܪ)CF&k e.pzshڐM=0KbGN_3o(;٭~rMQ0ISFR5iMSDL !8Eg^ –I׷m%'8ZJ[uz5\k3vLiBay l,4Qbx=Gm9swiLŒ#r eR4M=M@jP3;>;zqGm$qxN=]kGYXn[ yOV7h2$5G_F=={[#n=gkEi :ZH՜Wo'9rg"'ꫩs;*rt<ʉHC)<дT*MTƜΦ]xӦ-H̗i׾&#Qo j1u&xsML0NKQBi(ɅDi`Z֩) )s\USLգ`64&MFlc?( - 5i=j=oEy@PD^ЄJl z.S|N)eN:B'iJ% 5چ2y؇3Ẇ<9(C"tn58rm4f}mأ UN%2W_ɹe!7'BgKF5jwZV5'V&=_V9LN[#_|ڎS9f`^\^"^תU9ŴDi :Us֠YO6"pLT:pFdZ4uakԐiUNnrk~__/8 0Y՛z=QDAڂCI 7% *M RiL-r@N#aY̛+2(IR¡MK't\NNo(64݌JҬO ,(j!6.EHNT(t.+ EP]3c1e} /˔vY˓ yyp+>$s:g`5u~Qí<&W9 }P;瓪;v65<1j(xFǵS3e!pDJgK%Ff锴L1\ xvf C}<1̟s8*29;iw>h=LbI/Ig'HʐOVd<,j&w$NiO9½Џf95V{#'̈́/x> #Oy睓`n'G)ѳM 537p?Vw*XJ"twN^o Ԋ"sɽ׷Nl]j=aVɛ [{=jYk #Oat|0}#T\^"ԹTMYDdf#XVł/,h;hݰrgQSbdvb- >8ԓM31[_$ov:`:5@Vɭ3` V .eheM'D`P,'PCXGD^zYdDw;?πnCV唎BgK_\tN~-$FHθ['hx5\kI-3Ix.n"OLT<_SRB^$#S𜩟}#x ϶GgJ,cs68 &v~Q!_p"=8̳A^l|>w$IeHdkŠ'`[zd7sAyJ'` * N:N$%v :&TE 4\)QYd{+\JVN;<;J'p oP@=0Q~Ͷt8mlA1Ι@$[*V MaQ՗;h=<3|oؕVhGr:(tnKNΝַGЦL|"xcz9l0V-$j^?Rt~K%` *v p ̪DIG/o(s@Nv~U/$a`.'.a{}kJwm ؀yyY s,J<G3PyBgi Pq38y9}Y_Q^sLr/7mV +Û$DXXj9QnHۧv 7Coϙ~YkS#t+GsC iOlt.OlؘR,LwLp~m-YT9<@TakG~D'envJ[_.r8_W8Mr2t~<Qı]s$]Ij6/j9wt•TAE%CvNTM P~Qj+>]i] r_׾uRQj  M|]_Eޥ<f]R;fSDM/$:dT+ڳ"V+===r;@UU1p!=t.U 9=0[M:VrbGqjuv"08tn'Diӛ,jF:wTfvߏ P4$Lm;t: &[}KuOYup#{w|9&biOT' :jwgVϒ]9ᛀ[roD޺%AЄMǙhGgO?ҏ3 qvJGs.}^йo=~Tz-8=ͳVjbE;jҠC!¹i f}GQɳz;Sߨ/'*.6!XIGQfDǠ攂Ul58r:3;^z;-Be fk*&ڼ7L]MPsO oOQ>FQOJ(&g\Rׄ8X.en\ʬ?r7SiNsy`_X2 U"xNb`.-eN$zh'?g~9#;8GP_vjDؒ3uJ0K鿾]&#C#߅'f094Xfqxoo֟\s7"pЉJj_lP9\ty&({pkŸי:q5'jX  |75~ig&WGt9|~A#܍93#t&!Mm"nw͵ 67*mbȼ;PX.tVQy8o,WU#5W1};FgrzcǏݼяztVy n1j7^Yhp4o4}jɚGįm2sLSw&/REofQJT6{ϻOy!#MH?,)w8Ck4MͣGel{kI;fSݯrYޛ9N̟Eq-qį-+)9ΪrUbyCo.{&Cp> tGT!maDEy9( @!xLUFBD2E%y?s:o1Pޏ.B":o:j<^KEa5 QK#tt|=z<ȈL@4NrY=X|i&*0 + qd 2L*N?2`#tY:Jk tY+i}$'4Gc$Ӈ{]0Z"%_+pݲ7`x6jשJxo~4/7hmm[C YONe[h.w&IFh:}%'1̻)5oXpguvJ̓l`Yhn}jx zUxku(? :X|juVx6lyNil ;:o@D~vcm.W Lv"pڍiB'8J `f=w T7 9)y :Ndy*]묭WT8*=BWһ>w>}p~#:J~b#ٵy$>z1 )Z(ۙ.Zˣ 7sm;-2QwNUc5q"m'=ׂ7Y-gz{%=EE{tF!49vL:4!t5ƛVi7}\N:rv+ǽ_Q[I /!otNIJ ^pM hhã.ozm08}u< okyo7OooD՞豚&  ii%yW4 v+n>W\{@;yp{5:ܱ6>VQDPNѹɛ#- t jҊSUPGy*P;ʐ dlY&UaApB'0uEǜ0H3eҜS缦,$28EH)s tto(xr^`9+~Q&^o9tހJ'PRUu _T:4sp ^tހJ'PYBNzJ tvYZf  z"thSaaݦUNiNP1魡.󾿢~@30p-U{*efaL:@w N :P8B' G@(#tpNйդqU"X:ח H?Rqԙl>]X:z{7Z[7M_D0Es_zv"p=J67}ãd\ǢWB#_w V}h GX p /8 Z;X4[:P8B' G@(#tpN :P8B' G{qQ E&'0'mRΔl-Ɣqm4dR} 62߯fv1z=H#s$pΑt]Kft`9>=s_.be B<0H:I'#s$pΑt9N8k_I7N8G H:I'#s$pΑt9N8G H:I'#鼤\eVɥ h5J1ib d6sOd&%YiR7!&#YM*m-9H:/e37PcdZ+8Rd/b }mjB fYdx\O۬D3F ThTEZy`p }?+Ϯ _*/zuǡoO'ô6d$>0,oPu]j]_/q2P"?T7eGGwib΋u?>&k$Aɠ$+\J߅/ #Vm4?8~3p $YMI Aa3KL.5G< yxy{ ğ6,_w爮>P^IF~htZ]g}kRucȹ/){Ck1 tA >,J#ܨTڬrcqA'}(Cѯ6 uuV$P |zi[CS۶KxO笜\T݉ʟS+G=8Yعbȹ'ٳuI'K7G QhާUi{=WU"$[c߳EbiMJ[Poܽzq׼ױhClz}Έ9I"9&Wa ^|w@?Yn>z|RXH<ѝ{c@,M?7-߶1y{VCR憛Kʥ{,2iqXs. s.Pu>Ƕy$5խ飂{+΢9]۹k8I'TRq5ԸDcD8˫_rbe˿^qتէ{O-ͣK?P5xp-\:v\5rYct>]jω{FFI6?g'L"[ }v=߉VD'X_s2'n-wC솛e/Cy.ݥbɭ\H:/WZw:Ci.F~sC:͉7CRmO#g8Z?yBp<ɛ^bO;|vtzjtcMO5Ҝc㝺Yd;]=H^y!HV?;t~6|aޯ4ݹ&>@8xl_ٰ{Ys-XB?Z㎿tmr3aQ}wU{-&~xme_$j^C>jcm"Qc/,KqbȹoZWΈNRύ7MkS]&9ˊ)d>7yLKKںmt]fk&9^~(c?[Bw=>Z8}zΎ/XwKk y3ƘK=pΑt9N8[B1IENDB`Guerry/man/figures/README-ex-bivar1-1.png0000644000176200001440000001465714502051152017353 0ustar liggesusersPNG  IHDRJ NPLTE:f:::f:ff"(::::f:::::::::aOff:f:ffffffff:f:fېf:ېې:Skfې+| pHYsodIDATx흉z㸕FYN<]=I$Wg:1T1bb#@WrT? ā`@0q 8L&ā`@0q 8L& ,Ep 8L&ā`@0q@0q 8!~LMu?MlkmovfctU3A`Yg\)&NY:3& J0q0Q'D('p2 pJ'{p3B8%n.< 02 F  tA?8LhVȓ@yya\; #Xͦ=alVt@pJ%ۑٽ<\Tsk^\]&udApBh w*' n+vɤ n\p]Ug4llzQKo6$hE+@ 5 JpXѡm>'D#ZicApBhAON1&'Ǐ#aN̏q Cpb 8$6:FV4FN?& DKz fRT@Τ]-`=I Aā`@0q 8&l;J C!&Rg e{6nD@ຓ1>?}V! U}y|TkK`wGww\[`WLgp! c#kYm&^#nZnXce xkII:x=6Lr ־ 0>ޜ$'Ɉ4gh%FJ{K&C0 (t뱼=EP̍,n5|+ZnhIbc-PL X\船X3>LJʅ@dR٩vgK/إ`57Q <Ά@;bl0d|gC` xINb]8cZ㧙XI˓SCX6TKVSB7îcyPm-Upqe*B'WȺl%m$|,&^[M -1wﵶ-34[W;c#[F6m2hrE`V34C&3ޒ@Y7V%t<֭&Q%,:X6u*=:@h[fP&@G~Q@FVfN$no&Ȏhi(i: x;%X}4@G\3ϼ}N4UD]ѱ^&pJڬ: ؇oYt@  7`#Y &ڊfݰ`+tZ-k_5Y\0o?s)Hp5|ɁVp}ɮd鵭-K&[50J|h)Gpuc0J<@VIKoEϰX^T%0Bp0JԊKa:Z7} SN?s#FGT:h 5ك^f'xOzLD+:Cnu>YYU׮C;n8}-nEf5]"gE?8V&ѡ҈ۄq{Dï(@~OۅDS;rvqɋr(Fs:ua5 l‚2,Bu̡[ߌ`C Zq2 m69`1#Z`9uϡ2 &T232b1вQv= 2|0ɆOЙa?U6϶@|0SfcG:8LM2YŹ}\&VX>f@_v>2W18^\oHCp:,WUwvʀ,:Ls- h3 noG c`'Ɋ1Wt`$+: U Vt9NfH`E$bEsMLěٴQcf 9cf {P`C\.r_i+z$ؿf3cW1_GmӇ nF|z&qޥ;}KNKA헷d8+mCF zK&?mJì :M60%1Iuäؠ׊V%k,2۪z/Q)hۮnEL'- kvO0$:~) It6XRCp˭rfg249775&$S΂S QQG3:\D,wn.b| 98 im=$M&>7`oя +)I#˯b)X: XjdAphFKNGFVS/A[|( Σ7c|DWF֠mpؓ/D>=ז\NLoߒ`:8 c7Kl巡i Ҋ3@Ap)r042t@~$`=*`#`݆i :xcI`iert$v?iR®0 >u.I+Ti IJlwaS~wܟ@CpuTxgLhQt@GH&* : sLػNp3v9mKzf}E ؊r:}[3IVtAɫQ}׊;!&Wt!; NЊ:!t͒"a벢 .W;T!鱏`yl]c(/%8%EjpQ-Lv2~9^t˛faO΂jm\bh'%{k \dh eͻL:xf~قiEg/:6vwzY$'|Z`OtY<;6<wY&1X+~-X[47J5|}Fߚ~nP4}k'ϴ@7QtS t}F_űz}<de ^Fؒ9J`YRpDcpf ` u { _4A/XueCM#sLzaŐb/~o1Yl^{:G["W]!a^=K.e+ւˊ!sGt+=Aկ`JVҚc6v 7Ɇ$4)8@͒*K#K:n<e2 Q`D|wpr!jȁo/zY4(񍚎|$kt|"`t1QؑP_j91Q 3*mu8lxY_0e24.\_>9]?Hcr!:rBȒw%;q`K7J=}'%[b3ϚeqCM1@Xq1w]j'`~vf U~~- #X^ݤd9V0Jp2 r4Y p_Y9! өθcȓ_]pft+ꟐPp+"0ˈzuuBKv͐x 9DŽ*VkB~}r n#0FLG: y]%zTF:X`'z$vu)X윰h-&l앐gS¹Ng{w/e|W4my=X혎-?&uG‹voc9kTү¢t;&b<rn7P[ϾGMQIMunHw3P t\{xT::qUOL-xxZy[B1 ǿ@0q 8L&ā`@0q 8L&ā`@0q 8L&ā`@0q 8&u/׽`MŃ,3(F0" 6c Bu_;Q` fJ7H|?t#b~|7i[3߽/hlg}_~7E&PyA%xKgYaQ`Vjx褧|^8W[Tiԯ?A^C|2ȂoSWoᡍ~xQKYW cXL^ ̾￟_xr(/M< Ի_^/"~[RAk_e5݇R ɫ`㷿݋_42HU&S&tk q,]eGܗ>,_V.c }Ӓ>zK3̞*_jy~B5p(X=Jzu(R-k]+2*Տ]ߠOy{s_ > o`o_Z5̞k]Z (OlǪv2뛌^ey|ZD᭎sȦ,IJ4,*3NyT%UiUR?)|CدY0}-~0ZZȯV@0q 8L&x Z.IENDB`Guerry/man/figures/Guerry-vars.png0000644000176200001440000007114214317143444016714 0ustar liggesusersPNG  IHDR?l pHYsod IDATxK:9dv=ACHx7@T/89in[T0^IIcE@֒D+>Ii),,,,,nή@XXXXXXgAY+,,,,~ gAY+,,,,~ gAY+,,,,~ gAY+,,,,~ gAۏO~YcUTZ7vۯv[c.>z1r)q} lu~mm5iZ5) d.vrJGbǏXlMQ jeT޷݌4̽n⢩h uP^Au3k o_ҭ59qE=Ђ^O%bϕUĖ" ϵ|7r??ǖF_q0\>U\V~h >.>}+'| z=-68vJ`QRV~ޱ8<** KHd uŪ fZpD$iU86qϷU[VF cM68эEfѫD>kw u+BHj J~H8ZP+թDڰ[[뉦7Hw|}3}!IѳD!q/y5 V ʥWe-WZ=I/}>ux z= R.l1z1陋TWЈfԦSQGPj{O^9g'r[롦 Ӌ[ögm((F˼&'CqW}9.T7_ȡܫWiج 6'[7{UWeʣ=Ђ^O2P+yrlEo Cå3!G5nɇbFQbaq)6qʸ4c>xҼ':oA-{_:g!l znu~ ŽW؞;r"r^A gAY+,,,,~ gAY+,,,,~VW {mۅ 'k_x%Jߦi z2z %-/!X^-_v~ >};\n ?B.+C%u㷿$o7W,0^/)U[bjZc˧kߧ_~)3|/~[?=1g>oF v5f `-i[9.xsPb?54e?-_ 7RG'Ogߌiz;8~lRMysyG?/:3ٻӚ\_e w"ԕs@~m QԲ/N'D7^5F/r}&k=^Vpze;oC?gQ43k:J۽rdpzWs@^.?;;\F~q;GI#5G| ݙמ{(z qCz\]@;EEUp5r/̣3r=9h싄-Nוk _{ryKm8 Ja{9:#:P.n>+; =fkZ(c9%s/^CY0dܫ8Ke@>pͳ?_βX!ܟ|3P\x+iJuΡ.= L9!ywQ .A{.múY ^^]쮁)'кrczݕ^yM~:MEZ_ߧyywuZ ?4/s.jYs z1{| m zM/ ]90zB QJz}}#܋[E9DE-uES_n ՞} ]2xvH{ZA^䚠&蕦_OZgE/%agz=| 2]:TZk=dUz fgW|=dgoZA~фqTgE/TÞ}>`JԴv6^VjS9}<,$sw$>YhMMe(8XJH'q=[#̰!gI^!{ 6E6:yX늶^mȓ^ V}N6}k|z?,u9An^ٚ{^5-J/Hk%2ȽdA@47S%W{paS4nYy.2p r rKyzcT`Z։[sVb,p_~)d^1>}bv/v#oU[|Ac09*!+V%I/qz 2&&y[]L<7[sj$E&nNoͩQ4jfh%j0X2M[՞M%nzTws6ZU_릍^E՗~m{G_WU40^I z-q jN#­v ATUNM;]A}Au(ߋnI2L6⶜}:fIe{Uv\3hw'[*i]a^6^*96{JA7n: & >qr# xKkڽ] 77]W5Е}juLA/d4 ]RٟtʫB /Ы{ͽklW+z*~#&vLA/d.TN!ݻpċS^Н5l3F5p5I/3X {^BIv~:Tc]+}ç^zjs}޶˖SiuZGMsۯ$N?6Y=7f;ֵ^yVz+0WU t5e6С&+fH9d:}vITJ9% D[U׮*ܢ2{ wߧ iw&x؎`~9; kKy Y}tD%2u{ܿdUs/}10dKhUk?ǧU*Yzm)Ė9ʕ^r}[1>ZlLoc\sʕF|w贡oz/u%CaITΉP`#n 0}~<9/J5zɚ+E/YozGQCa*KC"\';粡Zjh/x,X 1$heefzKrƜXZo>PJ/ ]sT]K<K[r/+9WC/6| @2 2#}/ |G5hݏ Nnl A{݆`jX`;r;⬺פuD/,|K.t͡QDwR_rj @z0Rt?_urNJwW5ql+˧[y;Bّ^s5[γ706kK:;ӫ#xU#~PM鵶^k8@'nN{dL>܋^DYG&Z꫏,h__5ҫVn+^c-{mDWU pic yh S0 -/72~*HzYh#6O^ Kt! ^NC krCŶI5T sh?A; s/TnM\d]4zrڇ7rK<1J­S(*v<.LZȺX?{ɍ4vsKU1m>&^VInk>lإm[u^!kW޲ ]^4Z80BzVv˪TVV&տ|eݒG('jzU߭zHTmư4n+9NM'm lXZ䵆?7༧ú|66裗0P~G`B/'=WPVV}꫃^Ε̤܋=.kk_qHvi~^d6>ЫXúj5Nجs.(9՛P,/L4+^Ni@T4ы:@u 3UMjw+9s4D9M %k1*egqgo8@Z5Pye?9L`mΪHU0kQ]\PVY4S29^ Ohm|[ҋʫ^z6[hVՕ{>E//pݗ]jTf}`>zH+y]^K6ɇ865,H Wnm;u8@*zښ{I;r ir?FԪjz(ѥ2LY3ӨʖG5UvɪVe+"U5̜ՀlFU% %묝3ݤԎ(g\oɁ|xFC"#V M)q;!)#oƼ^.W9Vƌnvr+PKB˕-)qz-H/<(wDpj`GzUZ >z!]&O&Fo8IA4z-Um^$R=P0ECLB֬Ug |T)5t Gl[zz? U ѯ؟ Ƚh,Gٌy9r>{ xzD6뷒8T]a^J~O rX?igw_Hd+b9͝k.^Srh'+Gs݄$f+ PN/$\rS.<{1Tԭ^NЋ)JnwȤn-IHѥa&E/jν@uk'^*R}z͛mQku.D dv(@(gkƐ9; :kN | ^&i) bsݿe_Zx 5[H2^ p @{^J=ԃ禰ڭE o=<znΑ֗x[O{5˟腌.Db]r/P5nJM,[$/`+oW* _z O# [ A]Q=O̽,5nɽ[{!X>B5Ft~T [p-k_ "58%^ٯPZ!A̒1N,HPE4 5]jmynr.3(kX5'ek*gR_7ɵ `>ڗI=qP5Pճ;תN( Xr٪Rn1hUYM.V^^B>zfO,mjdы:b&, »|yZ…KWj9qP5K/ulّJe 6DilA읐uWPj`-WV y6b#ڪR]xu ӯDn8Gd%]֊.:oHv;RN=G/c^`+:^rK2}.BEwれ,R6&^%䋪ֵ U.VKj`t=:%.Xۡ޽ڟ^Lsk1%/W˺C5oD/bX=rzeo:1biZl*]RؼҊJP[&JyBb/bī#[:.!t?#Sю@Zy}[Fmɠq@"qruRJx(]'y\Mo50iu&,.D_U55b_50L^h.L1")&NY.0J/^j+; ^۝|jHܜ}j +6>^j6tOb훵QH&0)- DȽptqeAtb6q} -7qk#xg4 hb$hֵ=EVɡJ2慍pt z{R qm`_39A3y=,*!1)Rcyͤ|-r~AF:;DE"l@4uJ0yϤ.ҦKe-I8F ҋ^fr=[B/c^A)jj*f&^#O-ٍPЃģEǿA%BO E';˺Fp+#goq~%$5CnIeY] ;susǺ;뉳x긂5#;үBVבi Du[].UM5aݸN>/~NƜ]Zn-e7@z;j%dӢW[m k=J#gr|gn|BdN^yaXH9faK:qc{ IDATg`ы]TM&d$C ^V(")xF/e}pLtK#8\܋keKtfЗ0K24A/VޡTpPM,DU"crꍼCҋ JqwAUu_7:2DvwA:l$)9pWkl{vn^f:CLqr/֍GTYī^ۿɎ ^QӋ%"R=HaIs?UWfъTmjE߈&[vKAe5h"_v?{s5ӫ:ո. H>p' [9x: *[5G%0infs~ɷ^!$ ``]Z}&3[~u&^CPX5都da ׀0\^ЊdPjC# PE 0'Mܪ"^R@*^Ryq͎y ݹטjr^rJ/s܉\4Al_ /Gc @$f#/kN|掝.Ύ pt%^,+ Ћ~>jF˘L zζѯez,5ket$ `IcزoM+tS B\w,M,tupM&z]MSЫr %5Kүuw0^^] w,P 8E:eM]5ЋPed]!ItU `Lܗq8,5*H *Sh<&e6b1\ >5^Ʒopk,'Ap$,60](k^Y܃^ִU^`MV)B(!Zқ-cRIډ^ɂ^'n eH<~FqVz9蚭]aj_?'M"V.B*԰w"ll&B5fFz?G Ly60\z1^hߊ_KfY^/NimN\zuhzdY^sZUt] /^29(y1 zTZG%_ˎpzyl6-;h`&X7Y{]L 9-;W W`vjMW9S.]jQlWW:x1;7x9Bǐ?oɽd! v"].]a.-݆C1R~AZu{J0\wÖ$/J:fj N$k^ou4#*nZeM` /"s& _(:vɅ[;@KM!/kݥl;Z0%Wh>*PWeU=甑ǿ|]/\xTW@ucPS ]T,;έCj~-k\,`ZWӬ-z7XعT_(fkaZu{%kRAyC/X/U59#IvVS/Ysߵ{9p {˕{>ڪVTiQ||Xb$;dp }>/s(]ASЫdfjDѥNTŻe|GU/Zv %[NX╰^9\za/zD$ֶk9=3k٠_9& <~|4oo?|aԪcof ɽ.F1ˉ*>aZ:f DNy] c<us.z" Vgjz wE v+Wr(< ^fIń͌*)18ԆK|ze,Pw5 *t%a_5{ҋ9̨C\v輯Ә@UH$"8b@)j`rސXyR1I丗YaF|#.*Wm+bq/Fқ䫒^ 3VЋG2Bٗ^=˾ljٺ%/*/ ׏_]UrkJT1z)m΂]I2h0÷qtV5e`5XELKNFtYg\2 ֚~ɱ^˷t>'_l ,%I2Kx _D7} v4JQ֚~)20tK E:蚂^MFe7 30b6^BtՔ{9@%'q(szsfqĀRrאBw̍DR{8B z֔xU2'V7Xm~U(_)H)q.ϰ*2I+C`Oȟ(?㊫CWe哵"W0}!B$ uU ח~%`˺2c 宧e]U)W}LWD.ZcX>qĀRrWm-.t5bƴQk^vFWj )WsrvaONBgq_9rGG3,h"A%[cxB zم㇠kk6$^|1ܬ@rGj+g$\R3|qUA/qmpeU˺w+.KVI9L/9n~IIyxѹ-+)l*9Ա݆kFu#Dߎt\ uBReXj ;*әGlzpK.zW_ZX.,Usᖀd yñnuJ r|uE5p j5k:,;ѫ3i5RX}fߜ~_UOQOZn8ײKVob)WV>Z5Tu3 42$a|_:@ v=NU/f"q^h nF/[ u .ljɟd8zQ$CA^ſo:}!Q$# 190u8]a5nVz! [Nn_(hPw ӋbLɷZ) P ;l FPY,˗zЫ^Q#2;CN`玱滬D* Lg?eysUGCү٧I͗ - o.b!*NvGƚ29Vz`ZnkQ#̭ [8-j\d=ה~AnKc<"ݟ!*RgIv@s\_ܞ+Ȩ&^\)VZb;* (`7T_[Z=p zkEԍqe:&z9Y.ËkIThIJ@}1:р>%uGθ10뼻uuhVT4`k$u8X{Z AzyhW>=,Χ\IVmߡhUKf5GIZ q6~U uXea$^kB8&G:eɆN/d\j{jKuYp^W?#  >W"Oi HuS׬0nFzm6Sd& K.^x1,: )NLa c`r /DqʀRX+ kI)D/jWa}fL) x\hKvK6lu#*yJ `26iaؼ ]P+k[AL/'j4KMy$ ּFz l>?[׮1&K_|64{ׯUt4kqFW^n?NJsЈ ɺ@z . GN1)}U+D\Ҿ^Qoz4KVhUEN:_W5z[bJ^AzMyڵ*̟!R<8S/ s> `sɠW}rSWG0UR}Kj:D/u˛_,68z?qy%Y]j!ٳDN/5tKkg%S쓵Ea>Y+ ]A)usS9f{:qdg}h,a2-; gD^4䏶g`(^GS^r0ug {a/=tYah3Y6=yRVmWྶCS*u9Kr/fg3}^!;zR IDATKΧ?lZ3藳g=t`TJI}Z{Nu:eg%.gXOӯ0ح֕mPjm!H6}kt4@;&)uAE%1FRs2ݷUc$?͞UQ,UѥyA u-Jr_jL6u/!.k,xߚ8(Y{: 9bj2NvݺɈӁ1D0ndc_馐^W,,>Mꢪ[s_^>`_hXpl : >;-uIХ`(ddo3޷x4ˡerfoͳU0dcU^Apenڒ7$+,6'^UzTws6\/^7m̠Wݘw@/H;Dl)Yvz @u z-q]ߍBUtN `x0l/H̊okbuv:ke1-p,Zr_UMA/?.ŹEq n׼ACw/Px#)U@ŰC[r//Dֶj|$> >Ջɪ,+n/@WnWq ܡGq|R,״{{R5` ./z-Ɋ 'p ` z&HpW.O!A"Oڡ ^{ыNv~ϺZ<}Fz mLO9_Y)|wfHdau7nt!B/Ciũ/wW>Y$bkCH$m2JƷ?dRK-N.oe;Zwxee+^>|ӵ{Rɰж]4z4s܅4+;-G ,I[mreċ>>MݱzLV e^Ƭ#;Z1/ΰd~!M@Z+L9o 3lWK:tԻMҬzvt%k:Hk%ʜFhj&ZT4jپqЋgޚT])i3˛߱GK֬K)^ gK qY 5zt.)%> FZ;2, Z>LјYg^̉ ha@%\^jY@:eQ O&mu`bɟ噦Wq&zcR%JiH?M')*%ώjMRhfty:c 5#`ebъ闕f8mʫ]Y AzkWI[5[^~)+^c>- *C`2H/KHl W݄ zso5P* `;]zHrxelYc `RE  TH%UȎ+@Vm92\gLKLuJ/,ptezM Nm%Owu%^j"YL 8ʙI0gJ۶ ]U 1jHb̟{MUt{d) sDھP@D0LI_(~1vo; _9nz9IB/~tT﫭JfX&$ z zE֊.>0ohgِr/U uo5m<қуg$ki;tBJ֗,|yTow 4H/y%E*ɤMߗ^s$ך Fkn`̟7 {*>X)R|Ov/5GGCo KEy=2P|v%^EWP/jS?7˹& Cꚸё{&^^vejHs*G!VrW*|g U/cEZb_`zIOQWR'HE+(oX ʹZ+`u ~so:=\Lx"۲]`5Zkܪh*ݘ6A]͇%ixb| =w'Vh)`UjPM 6&^`޼ RqRI{gnTfAi{|zqznw[He٪l^u8פP{TMY`zb/]DP R#e `‚@SWX&-f7Fn!@`zgnàZocj+W`ُ.^z u饾؍a Qp罨d@SH7^^_Uz~R5Pms<>[},i@z.KF7"&5v%aWޥUjWFz-j1* Z/wIHLAHrWGSCUI7j*`M8B`"Z@o5^R--Zrz%1l & ;Ƚ:W#1+S^wRs7eYׁ.zxZh9SܰnrUX͞&^å⨅ ~Dc-TЁ.Хz-QH^1ֻTzAs&熽8zMn[0v5|.nTkG+ѐEwgz0\\aC(Ƚptqef]5yG*̺{*c]k#x!ݿu560 CtRA/dj[e @x6#1;u)z5{R!S5"|79P窪5Qk%EKAS`z9կʇZ/^@zd7B@[qzy)Q-xyVA  ja6i./邌a8TY-^>۽Gej ZqX^,U1 %BE>{G*z5]vWy&zYqy#Lnh_ZT'Z.GVc,oI/ҶxK/>jWY`Ti ,~߽!@e2^(;,5txC}j%l%ܒ5s;[lVtC_Q :3^ rOso:̓Kf$ $Naѡm{ &eӋ`5]'4$xU%\YUv.5G rST; Ƚ+5}noW!t=tMij03+nA)e͋ӋعGu#eM;F0- {ۿ${'CGw4UHRjMRD$f-2NI`G @RY,PǺs/d Cv!>XSW饒yMpªg=^Q53엑n4"j{I Q ɽrE >^LMR+i ,ْxKEY;Lť-7hͽy@AEs/vAڵOQ^Y@AZ_]ӑ+a lk~\\֔{95y&A/խ8imIq@9 #:,zUi'sF{R6kcdR *D-0AlE/gkLW-U/nka]J˱ʰY+L _Q߰lLWmdM th>."UG#ej`IPy'E;w^be`TO>]*` wX|ψ,`vfmlydMR*ʗ( Vt]I-%LO( њK:UBLkb;5f/+ L/:UB-I z9%6*Մ.?CWJMQð:6,gp[vA8Mܪ`;QM4%-O0+HgrVL$,zUvt1s̗F6c :"*SBn6݆~{%༞}W>|,b]s:VEc0Yr iB%ee|t6̟~2vd;7kET@ ER88-;]'>_H2=?ovdeRЫZTTTuW+wH2Ym.f|nnXK/ZPu߿_Ʈ Kɽ)VQs|nJ]SЫR9H1GHg6F/>ppzomՀzg&Nכ^LcLʺf P T LM @MV)B!El=ڽ^{zBe }G֟Ӡ^L8+KP$a埻$vopdR)ZU[S15_6I:9o==cկy!Y^N6ljdDJ/0[wX|7uNR c_ZE/> M/p**5g5eA6ҫAެz;z.~ѮR A/h] xuӋ i,c\tߦċ ZNb&^~UX33a՘G/%xww ,-M_te]^ U^zpWj@ /ҋ?C벉j5<$r/5EFG^Ni ȽC.K=K@vH/D^ *p[Oh<ʟ~DWulU5m6Lew[H͙+ALAK<& ͩu&Bl|Ij톳ZڹQ4KuˏGyۑ*iK]DցCwD:^h^WdSӲ܀^`pDt (^_6x"εsu?[5F%ǧZk◵/!kn d:a)U-Z,^R˸VbG 'cg۹ J`% Z՚:m!%+$X\fPα^ =+e*`۹`LMݘ?#! vvmC{~ЋxV^8$%?Z˺M?ʟ*RճF zw--G|9q*CIDAT1EU-Z4f,[ƣ466iY˞m*Ƚ̢e?aκ DBЊ}-^ASЫՒN[>VBЅVr Ft=PRy}'me8 Vu5`eE B*Bz& #.dG®ݓΆ $0+ w,;KAEFz%`q^N}X&&[=C0rɢW6^'ZzhA97ZДxox셓,03U0>yWUyf#䚠S.Nl݆MR1-ݲN ?QM.v8jա,;$)ךxjv\r=^j#,5%jJ9SʺG (E/`zYC  ]E05ҫ ]Չ?׬4k|& j<^uz8OD:A*#?#ׯ9X)fG (E/0hw2oUs$ʠbJv4B/&;@{u8*>[_k?SJ34+ 3i/c>|aԪclx_b݆M?k)u)W0v} pEXWB+{EmwR.9%5ɸU}u+ a cUeׯڳ-$5_6s{}_(kwz9c+˾la]2RcO_~s&#v߼IK9)UcAtZ20[9YdwIC~kwd)ix?>} >3HȊ:t{ѓȽx3P,/^6޽ /:ɞM}N? TGutM@c%{@t1'.D_*zwn s,*rVY#CGXDml aN/t+ΎzO0dc*[U3l9A8&'JÛWz*˪B³@A^ T vzS[bLAJbF"# 1Qi^i}_@Fjx EWF}_kƽ$.|g辶gc[0X bLA\vլ-ܢ/rJOJX T]c^}r.-}f!e/5sޤ)'(@K=ԲD[?*)|1 ^0pz6=+֑~e.'"%#0n^..zmskQ{pFBY?kQ'mcq ]>J`ZڬcW~cpͩ"Sj16O6w=Qlwج= i+_lwgnFv,ײ{M/1oc0捫{-h<;x%]aLS}$U$`78:E ~d2zYTƽ^j}ҩCF/PmUL|_N@SYC52;E}r+$j}S<&)ZS8Pe8ͺ*oG|WV (Z2"t+ &-'ӅAk0r%}UVͫk)F@ z! WRs5#ʚZϰ1=ݒ~=[S/{t5סe5m8@$zښrS>cΪ)k^Xc]̐$ fd W^%7#m>;^82b-Y@uFcKdY㝢 zpz5ujIA6]/{5u G@n:4?HOD/i+$Ԩ/*ֵ9)ʚ+ DWY/ߵ2ګ86{>} 8rVQZ߱ycyE~%8c'<2Rc!Bd%Azk# zptYNv5KMԗn [`z##KF1|tʧ18e@)#ؾIٕUz1ReMЋ%F >e%{!bWώW4?XJkt, Ͻ&<Q6~cMSO!ܒ`&}=zLeMЋdjp>Ŋθ,;B ^Vݖ~%w4-9wwU[By_."jpzU=kw)Rza@c`Px(,&G ;5cJ BS.zF,z&x F= [z zFZz\UMzGC^I&tS񏼬ƈW>]jGǰ@a>Eml55@kx;:%:AʚW %/[&Wᇝi^U; ^[4+e%xe.| b_kW05PDK=z<>I_ 9GG ` zUKYNLӼXhJg*?*]ϐR|*-b5]g:{)|%zM6>e}5L&z-65XS ֔ii!g Vipi)'\'NiiɴzYv9k+x( 3-dΡóg]FKťRV{t-csgjNj&B5t?lAT xeEnt-}z9H;U^F=%e>|*vdpMPn@t&U'.T Z44\g5Rwgi4.( MA/YVvt[?m@Dt#E K/\^jI/եe)2{Q3T7AAT/DdKv."dS/zjX|+U~t0D'rJ2 ]4BPGBeBA z AN[h˗Ū4L}Hw 8_I*.uv{hIb,~Z7Ut#-CR qu\AFIlwtU `")W^),/Jْ0^k/7pE˧IvkU:%i o&t:Yatf:]դ_C3gK[pɫsdnhϐn^pXˍJjתt޻}~ꤳ?r83#ήjjPQDVc*^XKor>|W91`-WW>YKrW ^̺_뾯D/^u b~Rg˽flH͑suU-m̹>6#/jxU-96n 9j[יn,~|ά7|}97PwޙWrF/ܒa^OjDO:lYL/8t$:YcȹaܺQ_ hUt=^pn=lxu ojȹW^͆_&jk``!q8^1oI3kc5[ X"-䙂;hLc#ס$BҋzSl C#o7ǟ]]oߞ}94,{#^a+C+0+ zo>Ͻ^7?@+dA40xA v' ze/^Ӳ^a3^^" sƽW5Ͻ"x^ܢ0Ʀ2,z_ѯ}y)z]Tt^dz) z҂^/nja,vWKĂ^/hT_C/iTQA{/ 6^ҪA6 {eۅ v5 zς^aaaaaWXXXX,v? zς^aaaaaWXXXX,v? zς^aaaaaWXXXX,v? zς^aaaaas89IENDB`Guerry/man/figures/Guerry-logo.png0000644000176200001440000014532414317143444016705 0ustar liggesusersPNG  IHDR9io_ pHYs+tIME $ZtEXtAuthorH tEXtDescription !# tEXtCopyright:tEXtCreation time5 tEXtSoftware]p: tEXtDisclaimertEXtWarningtEXtSourcetEXtComment̖tEXtTitle' IDATxytek=a DEq뱧t?{{3:0G[@~Nm{v#(Y&% .soV*놀In [<ܪ[˻=( ;````p+1D`@c9ۂ' 55۷vw x0ռlڴFo999lݺ3gb 2vE^^%%%7?)/Æ =3L"g㔗G~~~g<[;!r=ѦO4[r=܂ V 3p=֭[4iR`cxW ¢Knݺ8233 qVtC Ecc#yyydffRPPpKm6222x7oIcje|M{:ʚ9s&[n%''```A),,$77^ڵkٺu+1]5N= ,Krzw?|9fw|233oHҠۭWR/Y|QGouh^_+)a;l0/Ko&>1]5d+|)l&V߷ϛyx}lnJvvv0"gByy9ڵm6~g<ϰm߹}ť˼nGe֭FAl 6m۶ne+o/oȨ#}yrlYoy饗1 C ؾ};yyya8W6o/omuV֮]v 7 b +7..?Og=1/oV;FI'C!۽gy=.wx^g0x0DnPPP@^^^X)ɬ{g[^^gt\"7q8兽BSO C=>ת~j(480Dnxi8!!wX+72~]pi;rxs܈ko)bC9=כYdawٿ /<"Nvv_H"O),,$//ndz/{f/^O#Ea-f׮]兝<pWt}V;>([n5Rn!" +[fԓFB(1D1'=U70RzCz|rss.`FB?Rrrrغu+3g졞 n JJJͥmg2FI!raȆ ضm[X SnoaÆfӠ,`9)b!r]\F\\/<` 2ת~j(u $$bpSNCtx<-$$l-Ĩ#{w,K/!'m"3 zJۺu+>h2EVx?빎 j׍N=Vō/ S J۶m6l+7 ϟ +Enk &{ݠVHNIf  /o +E,==[NBlQҩk hS6lVH% FK>EOtկ~5`Sڵ\˻FrJ2[~깎0;}KF||fh 8+))!///lO?3#[_xy%:`\cc#6m ;[a}xyF#[_bt!rFA(="~~m"WTTDnn.n#..g_xܧW:zA bOw|n>?b)b/R-/E{7|3vY3FA $IL^^ҩ߉`ЗQ. ENJ:~#r]ō/<҃=30$IBDQ3"A_9}L۰__}>Eϋ 77>Ogl[&'2u֦w,%y<^}U6mvW6o SE~Wi{} u_߾|=gt"O^^^X Foi,MA@edYFQf3(EU-GEf-A׹#r3jvo="K/){]gUAh8U Jȩ|{/?bX%Y~})'DNVxWjg}M=$FSMIhhhR555nbbb2diii̜9< &SH%z]~m{M˛7xYhZt:9{,_}W\pPRR$IDEEnGeV+3f ;;~Y>P"A{}ߧoԩgN/8~8x^)--ekv,.\Hbb"~zm۶qIyx bcc՗ӓ%xے"v[Dn׮]兝~ 9fiR233öwD\~~>a-3jH[(HDee%׮]pt:;xF`6AuN72Z @MM ---x^hiip[ۏp\vߵn|g|ࡵ|Ѱ< uў.]ʺufxq >T獪 zQ|TTTOmm-w?я1cu hn?Q3$Iŋ\rEK Sh{? Q(!U:n_7>OW_r}_# c?566Gff&nG{wѿArq>S<QQQDDD9p :\.׮]jEOlZ`xMوcݝ{oqhaEAl߾ -"aܛoIff&۶mvӦO]5.84guu58bɒ%dddȲ~fȑL&u0l6,1?ma p[~6uÆ }[WNű7pOco*~x"YYY\Sy]~ORwCz#5G/n,'?!E%GLr8[KRTTԥ} =X؆ܧOn'ЗEEZ}]~mXlӧOf\zajoU:^fgԩ!K ]׽/ڿ2߇PUU?W#˛7mo/(( ++KNŻ}nwp{= B=I|Ǽ\|1cƄȯ#{jUU\r:M<@ll|Gy=b#UTT?^{_端R[AGhq=9:S;En׮]deesu;+9%~&ටc}Ǿ}_ Y3f*_zq\ 2^SNQ__lfڴi7N F 'V}yf\.w?LnU=UW̼i \yy9VbժUNDzm<7G{-fSΒ>yGXz5Eue$UM&va---sqjkkZ455QXXȵkט8qV}b1e5hޟ3k:?%};w )>`[ZIՇE_e*))V]wF<Ok2ϋ_蕐RQQ;Cyy9?8={[Rũ$~?/!CJKK >}EQXx1SN}8п|vG}G.]fcٲeHYYǎd21tPf͚Ellu5::_"??K.a20a ,`v"p3۫m۶F~\wnqqq}>;rA0趴I$11߻*ϟ:t">}: ={/""˗/g̘1ZB?3 }nw&o6~W}U> WG}轃bhwjշs#;kGddu3MAʕ+|޽Ljj*qqqdeeiү7s)>Ο?(deeC1k, c}yV|2mym[^ k1@o{0oWPST)Dcc#/^$..iӦӠ{^MNؿ?nÇrJ͛Gcc#I1b@t5N#lWџa+7:Q+XV xn\TGʪ6)GQQeeefNb[ٹ jOX,ֆx5EQ$99#GdB׮r)222Xr% !֙ޣvٱc{졡Vnhh_]s!>N8A `ܸq]+O۹]6ֿ ?]),6}*[~9fmC?dq9V+X,SQQ˗qƒ<СC_ʾ}fС=2 ku{*"]yMt#EQ$҂ܹs|~.]̙3IHHж466r1?sEn7=cǎb|PG\.\.'O?ĉȩf͚},Xx<466o>{=HLL$""ロ]|:N/jHJJ"999E":>>PHrrrXc{XoڄȌ?vIn\rJ2_x׃yB}@rr2ڈ'\<w믿jjԤ$9x uuuȄ 7o.~@ lF!EV-ULJ~(I6SG(jBU4_psYΝ;Guu5,STTĊ+xHLLvW_駟jk-5}IGb :M9rR**,sQL&X,N>ٳgp.\A(r}|nvվ'駟rE-K'::;SiE"IW^?;@pxb-Z9积dw%~.,r).Ov}bܹs'|ɓIKK KE'NPQQARRSL!;;Iعs'Gl6pB֭[Gzz65Rf%PRRBee%iiiL8; jjj:t(cǎ%**;N>̹sx^A 33y摘a1QQ}qJm_z;wt:9r$W^ĉ_fL3ut>TUUg:Dyy9n/^LJJ 555=zөw A۶Zpذa$&&rY߿aÆa٘0a75 СC{\x 4Xcڵ3gt:6'Lի8qbo4mY|"g->]9BRSSIIIʕ+x<N:Eyy9iiiM7Xh1F׮]Iz'pY>sիYhcǎl68:EQwڵk(fΜCjG!ya߾}|7TVVt:^|C9ӧRL&MP}}=G;vL'>)Sh7\{QsGСC;v ̙3YdI#;wڅT;_|;CDfƌmGVj裏 =c:Z\.=ʟgk|GUZ,(--b;Fyy9ǏgŊL<8 裏d2xpdee9}\.'Ofڴid p:|\vs/fٲeL2%~Bss3 IDAT:$(wذai̘1 qiGpp8EŊ+HKK ""ͦ"O>)//'&&e˖@II nAڬ2*++ **ٳgb .\xГ̠9 ɂ 8w{_ҢRSSC =Ù;w.OvM||<ƍ{aZ_™^\u݉۷sY s=DGGҪ>O?>Zk;%%ydɒ뎭>ff8Ι3 &PSSÇq:ɓTUUQTTĞ={8v06ɓ'l2-[MgΜF)~wAcc#cƌ0n8FSI ++,͛GRRu} t:9s6Vgbb"?HNNrf3YYY(ȑ#@Q)..&ͳrQcRRddd0~xؾ};r?C 5Abb"qqq7rN'111vZf̘04"&Mb͚5TVVR\\?g߾}3%Kh"ƍGDDv=qARRcǎ%))I7Vr>C>s-| 55uֱvZU4 `??߿_kSEƍǃ>HNNN8N={GQZZԩSٻw/ǏaǏd…L&|>Nbǎ|444`ۉ'995kpwkV"&&>̜9$;;z-ZtӇV iq:4773m4?~~1z3hD=MM:իWSUUBm_C1|5wzwtCHbb"ntvYd5x޽C}߯tt}.ҥK8qBkj2n8֬YÒ%KBZ#3gӟDee%`())ᣏ>ɓ2b|A,6z{w9{,>Crw2b׋dFl.\5LLL?fKUB2dYAvv6G$f М&k]^^G}oG111̚5xŒ:U_2\222RСC|9ӧkXͦmkeY( s!332JKKZ$%%1bRRR/cǎDjj*K,aر!e:] 4"~䥎ȢYtP ZΝ㭷/$++ٳgqN]ϟ?_W>sML&gѢE$$$AP8~8EEE={2m8j(/_΂ ͍RyeyQVVFEEuuuHĉYjw^z*dee1gΝKTTVr>!XԩS\tI;Ѥb2Qި]Շd2i5oCNl UAGR\\"\iii̛7Oqy7_S͆f޴k2%++cb2lܹsX,rrr9sv}ӇOꍸtA#rp}:INNFo8}WWWS]]ٳg),,dܹ,[ѣG.npF被E磸|ۧ!1^|9cǎ Ivĉ? }=z!m:?gzT_͡C]Qm4UV1z@;w{z;OG<9rZYjt^?ʠ.*t@VZԒ83gU;w/^dѢE̞=$fLt @ A_D֬Yܹs`^W >|]Ү~:")$I477SWW}bvZgQZlZyy[WWǤI5kYYY1"d~^"""B\iiiZQەHG!@ꃯ6\C媥.\CF}֕>f#@}?.^_W9j%;;G}I&iS Q`PWZ,bcc5k'OfҤIݻj.^}544s)N̙èQ:thf3qqq! cccYd ň]zK.q1.^Hii)6M+v5|\v;wRSSÐ!CR]]Mee%477c2d,cٴ%U'OŋDDD`28q"֭c!رc9w))),]9s`۵ߞzPU_ǵo{hQ˗{LBCCO "##IHH`ƌ?I&̮]8|pX)B||<'N$33s2~xMEyj?dYfɒ%0bf͚esMO.,( QQQ̝;˗3w\bcc|%w#uxwe4^~h57EN"ORINNfɒ%WP-jچػw3n\kwvr&,sU>S>̕+Wz&nVd|IDrrrhnnfTUUiU%I)))y,Ytf3vł'**F.\L£>̙3|NR{ (5RFOffVQD_V zA`ڴidggSXX_1rHm ؛V߯U%1cwq!@Hu.pЁȩ情I736l/r! s1?㏇dڤJIIIHԔ)S0a#F 333gxzA 22Rwr&I >CjcXfĈPSSCtt41"EW}_;@uvOSؽnmG6:8GcҥڹUQq8$''rJf͚}'V:a,:fcԨQ5*D@T(o>xINNnݾ#ܹsHEO4LRSSl`,qwjWj-K=b;v,cǎO!kon/צk6dm[#"A8q_ŹsHOOg͚5u]vzw0 & $z{]TTYYYg}˗5޽{0a/nvN԰{ DQ$22R&34-fb\7R/ɧv0x2Qp|Ú5k] r0nDEn葷FQoT֮]KZZ;vȑ#?}{\un.\,ĄۈMՇVoi?Q?o@W='!Rϑz.ۧ&N]viÇgǹb:>SfT&Iĉ'S=$IDFFLEDQi%\}8Z/p߅ޫ:(}| 9Q)((H~&N|Wl"I: СC*Ҋ [#^n >7 D4=UEQswT筩h!?#F`՚URh/b\7ۣԟcbb3fV6!!Apcwv?77GnM.#Gc=FRRq0GGFF$֌5ܠP/^dΝرO??iՇe00D.,1G555ZA#::z2}V)((tMNNMuAAA&rIII=*=}I(g3Axڽ{7}q̛7"IG DPW0D[{8o,222 55i0ht]gԿIDLL )))L&&O̺u4i:/p4K!rDIԚ\bŋ/2HӭDՇGo$̽ޫ-3j(j>M/pσ}a\Pe&ӧOk 0rH&M}M CuAJbb"vJԃC亀>V<b{IMM UF:-gЗoR=7JA[B-h0_u_:r\.'N$''*Gk,se\.^W[nc6db?7j4@p{JرcrԈ# 4{"7[۠wEۭ-(TZZJmm----\|9ʌhرch'L-,G-$ۄAL_4Lr+mu ?uVFV8;RSS୷ܹs7M$;ǹx"O>$!f~l^aP RE.**ߧ#G+V鑒Zri5\|ݻw̕+W4ۜ >,( d!!$ygPv w˗ٳg(Š+Xl&ћ /9X_Ejҕ+W2o o0AqYZ}v޶0PLL ϟ:Tǂ> C:@q:XVFҥK{Iו5׻x PDaG (?7 2$$">>hmZ5c t`޼y݀lL4~uہzkB0=--o0DdY&55|4MƬY4W10TTTPXXMWM&IIIZ}V!r7 ""ٳgA||u]xop+>777SPP܄ 924a܏MMM]ЏԚ]Mdd JAizwIC}}=\Odʕdddq&g7Z}}~1ȑ#AA ;;j9>*pj.)**Ҳbbb={vHcLW 87Ñ#G>OIIaɒ%!_c$g`GillD+̙33f63n 30胸n+&fSLᮻ 1cpwb"p=zݻwS__(1u1sLc`&",p8o׬YýKLLG_DEQ|+ Xw|{Ӗ& $u\/hmu܄$M".6e qDNư Kn;Y>I>~֬YClll]1z!r YhniYKKqc2YtfO+eUp2 -NVdI"#%CS^e^o]]Ǐ^ I;Bn VwVݥ M^TPy<.WfPY#B\L( "`T(Oɱsgp|((DZxZIOA|t,"c6!0M&ǎwޡ I$%%h"RSI0D6hhfVw3u-6H"#cGc } Yn4K>@\V^)' Mx~' e,6V+ pIvə3g6- ˗/';;{_nbmBe~fCږ3F=!)$'$2"mYiqAs6riʪ.OKj0n(,|ѣGCI8q"sÇז49 ]( `BP@@{}bb6Z#z(rP̢[@kRP$x|>mM&R$sNW\Ҙ>}:,\~I2amBeDA@ ֨ A'E}5Zݭ(@tTh">&ޫV+Æ$܄@Vd|~?Y功*3Ep*(I#ӈx"| ܑs'ǏGQ$)ж`d7Æ ~6D6l -NAi(I[@H$)$n- "im>l3l8ZC5ZLfq2$($|>?͞^/ K&!ڎcܰ,^[Q}Djb2fã#-BeRV'.⨹ӂ,X,Vk0\c( (R [ EKk3V[4YYd&-awwƠ($K>jHe]4?"Eָb1 </F[\=e"6H J&cH\>78j]./%).I)u$0"iJz5=."dk۠K@V?nw ID P3'ܞ*^JC Rp:$Ԅ#pyZq:n*z܀ (("  DGX$(`6lW}T7n%{LL(WF̡}I@0G$-RQj@fO3uju((+XLfȈʷE! ڴt` 硺*ngȲLBb1bBI 2f4MLWfw N:\fDQ@Mm@ H"*&ios0"fZZ=T\D#HD勌LJ!&Ҹ=I7flӊ%0( QQqDEvjsT58ЌY/ IDATe Y Hm64D ȚYi3au6>I­ 2 PTǙK%JJc4b#b  ^#juQ܈( 3V"n{(+2fʯUPzN@Z$qAM&Pd)WP5\2@gk3Nw ^)@ (Ĝ 9860=Ut5 D"ѤILU稨D(" LD4@76D3"- x%!8{p4\vdF jG,&3VwF@cKg!*0H[I(xZ(L T7Vc$ TAt]믧MEBCP5,'yHRX@\TB>x_^`$ HDG@Td,&фdFLfM(5foVQWXRT%?&3&|~?~DEѦH9@mS.w35M5Di$ X-Vb#b0 ypF6sz] +@ld fфY4c6Q ~-N\fAi·PYtk!ր$jm% IDP7:aEQl+,cIи a\;hRo C]cp jڱ""dA$"<)KPr 1O0=fJI$x1<>O{jj,f[l 2xIBRЩ*AD (?i[k"m*"MVZ>۱2#0 " Y_&[ͨ P^}Z"m$&`d?1b#bP"vfk7x[beEh ҊM}~f+Yk) " x$mD'_:&b<>ZW̊փZ-"m6,ftR]KQh 8)*#j'ARdLRl1l~~AЊQP@0); &cdF,EAK(|0,6d Ql{2@F'Kyh@}R%DQܷIA0qQ $"l2"qOa̰DX*Q})$bR=bx6q3 HImqAAplj}-^O0(XQ0"6QQl6A n#f$w9iﯶQzQ`xup-eEnl`ڨmCn )b`6ʈ>hP$p{Z6=+$@n[&!h趈f|B !&LmJgLXM&Ed9o%PS`e`D @ (( *6toنdEmхFV$?{o$uΒYYKwUӳhfZd[Y x?_@^l~Bgg\^U==3lI~9~h2a^},/sfv֢1TBHwo*[px^$*A*TkWh2ὃL"8GR2e !`cm )5,*fE XYVw-SXg38oT.'>}qr>l݂1Pу([T鱳y5({цB"j$jvH9 {R‚2%Ӂ"1ZA<*Hr k(%Q4M)'c̫7v/seiλtI"()m.o{79 9c]y?7|8 4+ %'=W_[)%Z) rM>֣1:8+P:@]6Z]zEsYg&'GLC5hD  $}|W˨,R҉E9dd: e 'S2nN9ssaC/ws iq nRm73 yQmgl*LN#,ifϸ;p>D 81ps},J*I#FĒ@lVmHs,ICCI!:p))3/s1J ]K"[cp-K77!'NG=x& X[3!p3*G퍒*ª4ThQBQUiT!]b݁2֐)M?q809hkfVHjIJ`,"%"(Z~<4c[iIί~<I4콧 'G{'14 -5yU0/gEbm3g(!ZSTlx2R  6::C>+R"eprSLE$_E [di֢+ש͊9GZBh23hO#ֳn=YO3MS"* -#6"JI)Sny;it,K`̀[RZ#a))CTw߃UIYl3lNd=IPRR?@hXBN6xBM%0:uBmS9.Fm!Fށqai$ZcMT)T (.`:0RY(˒ҚBt_#{:KBLs>8sףQ6)%Z*D'k7V혓su? 3y>z<0p22q@k%JPN:EJnw D4CT8k£kȋY#dZs4h&Ӓ:a˛Y' J٘A:)L Sp : A3MYo#]( v=gPZ_Ev: "C5B,D""6Dk*Ͱb.0&z8?a!Q2NI3mdg.>(p<\ޡLcٟ #,D%%Q͛sryoB(.ѓ>% Mx8 B8}l$SUxw!C'2{*&M҄ c}H$DPht(D)+'$Fja&Efes" t H6~QP#PkNJRLd= 49y NjOyU_GBbLҌ_ TZUG3 ɋ))BޏZ?iuC!`qb;*?CZCAX$Uqq9?<\aYGc~"5Ӕ56:vsӪyR8w?ėƑNIt:h]|/BRC^aH3vz$*y31=|`:b02/p]Xz)CwˈMcB-9GIt|8$u:LX}̲kRJF`4DIffu^9 )l"ϲl޹ۛdID ;5:@ڴO=yBk22p֠BkeGMu[zgU>vJHsʀ-Y"ՇG;ɉ0礏RPd`2YO%i(&`6 ($PO.d~%J]op`b=6لшNDI: ֊8CM\kQb Ϊ=>yFڤ0-| ]jm4GjƖHҚ P9KUX#vCOUjc;\ތkxX%aΧu.F&@D:YPr XC8Y#hl/΄t[snL2T1w1pL"M::Ke<8Zi.f{eIBHNgpd>[|h6``oc RJ[.*ᕩPZaM Xfo%5Z'tZgl@U!!uί8W뾞gAy6Y&Uhĸ2yG^aZYF&ArHШH= ;qDƎqu&I,$B׸&Oȴ,ɸ}DklomwL̊)|p:4F*UQ9҄g5Qij="9PZ;1bTXD#b^_׎h Z+ZYyQ% 1 vXޔHR:HWWqrRJҤf$Iٴ{TU`tȽMB˿r)}@!cqMgepo2q?潧NPWję%$A[IES'PT.?-4bS+ FҠ *VK)ieClUA^-Q`A^P:4Qȷ?hr.~J@>k#<A,iU"O`c bd:`C V=+hlNnb n.BXR('W Z'4TJ x={9ZJnl\bkc67vH?%3 :YN9ǼO.rNQh9)q%qW{ Y݉?+#i[$2k(Lʘ Zx n^{Ϭ٤4k'W#m鸫?BR0e0KiJ$\\)ُIA!,bY~%V[ p )Ya* Yqg iVwn^HuB/NQMJI;ka]`ʪyO(w#LUg+t~Y-)/@RJ{bwld\nC#mĈj9=5n؂?P)%9fq8ӟ({𤋮 LjQ0 AC{K6{[?ı~,K2v\]apS gAA$DQDiNaa;S9RRِ ؈{o  m֚kds3]uy~Y 7g@JDdZX c! Bʀ/ˊNqpɒ$5t%m_AKŸK/DiAU8;V҃lNVQbA1PpEgI)ɲ;W޼JъhpwJ)4YA&^q< /J>ĥm͓¥pt68?&"Xz͵+q~B(u_%8fAp2HPu-݇x|BB ɵ%DtEJDt;(V Rrecg/?%prl>?:(guy `QJb*D p$Kh"N>fŜ[D+WVM_$=G.l!>+I|s$Kэ0#NVn9a~s>F]g7^8 'h0bP)A̱TyLY#15Yk$t <-<"2xuuaC"tBCibHFcݠylLT¼ʑJ`mseBQ 06v\A $5t+${Y$~`e{mcQp4X.;K/`>)i{y>e2Dt+:/ vM&.ٜ%djkêm6ln4I.)%Ƞ3fϨ B}FKEޣS[WieabJ(vws7c#.yU`2:>CT"(.KT[99-m A* ÓFeX ZzƟθ8PW=&.{݅o{{{~8S@dlo^a:Q|AS49\bN5F LqlPt&ffh>ZDTXSu) e {H *1:\{W{(Oyhwyr[@|M%p| J-R/ [XhW) +V,dx[1(izSZHQ;]w}b(xprDds+D s]&Z+{˺jEԗjMm[192£D Rᡸ3ۛuZo)o#=1+IJ UQs:{$J0 V(R}6v.kI&^~DkwjLUm{DoB1zC)$dxށ7aQ "=%;I,xAxNAwj46saڅ&M$I32>{ªYgIm]rcYRTD7b pIH\QM5jim=Nuy]-DCpJUqo4p?~xuM IDAT\_윜jJ}NMo3ޢU-@-H(!D'\G2ZEMo"%B&x0'_gs)Z%`JVI3k2'cܻN/YXf~T&re)zm=dw64j*u^#$ZjtpFC s$Z"|jRl4hj e2!"s>od-Л먨 ^kCH:J8fE  H+9%*)H*V[ȰnUj^OUI2 MO4"]=ǂ^{frտQ@©-7˿XBSNIyoy´(@I>G *9Dak#|vz?}S[cX0?1gƏcfzOl+CϺuT!HAMp5= sp IݰAzA8Dv9p/uth>XM *ltv5Y#C|^BF(m`6AYK RqQp82zƚy"UZ* C 0ΒR9zs_??__?\|q5 0AmX @Rb5:m 4PEprp< :vǜc3">v)򲸿Z~!јoaJH'/{Ϣ&XDB-ƚEjy^c{,Bʄ& tSmZspp__m_|E~fys3UPW@ǬV42aFtwA_8YAmؑv!Ko UHooFTU| _ /}VE0E" vĽ wn'_@|4'F j\`BHn uL߷ Yx#) "[޿u&E(/1|$27ok-ŗn>O~:;s9O~__xF1_0GtҌ,I))!Ȥ) ` 2:S75(C:IBDt>pS^fpIJ~1]3LA,"NR EFƍEaj-Ck ddr;)xf$ +9򣛏4>xy·mZnݺŷ-?cီ\Ÿ[[(%$a~BpXrȹ!M@:u&4I^%g}8cbo >#hNć-@(V`m ɫCqH3G<[.B#(:$23]Nè>*:ͿT+vmf9Og68Z,489B&HYGG+i,2(CR yU`#D H S&z|ZT @3 ,v` t S)pw-Itz~g3lN McZM)S fB,RQ3a6c-JHA͕f:R]u&!4Ž]Lʊs6rj[H#Hb|>OxNwNֹǝbǜ\_UIilroBPC]ϭ{ScUICiR4..D'n(zi3+9w‚j&K(%4[\߽ʍKWIl5B9Nj9x7w|>,K&/2JHe ZJd3M>SyP7|EGb}1A+3bsϲ2_"QVŴ;W4ΝOo4=))<*TUE[A$ s0W=ŔHF/MyY0rb^~? Ku[߿hAW&@f|27x饗9Yacu(>mjhC8< `Q2YD xCZV;-%e Cyp4=gNi*ڻZ\Eم;ji({b^0 clQ7˶ɍሣyN[GJJv:)!or4[h1*XA䃌>IQ:UԪc[/RBۿ["%z> +Џ# ]+|HQٹЄA&_6k"dpTRR9ȭen*%kBJ hÕ=ֲ?NvN3OC4Ύg!3s0PT{{ƄiQрy(/Hp:aRx`89͐Rr42`eMF 6g)^1lcC)yy7ַŷm)Zk\z??w~w:E$D>ꨴ.pEh%dXH- Hz"К 榢2*28xg=$uXkv>3GGvrYOxlLYyp`JKL9!!=3-+`:aZUUʆFv¸QRdEǤ":ecL<O]#{dִZ#[}>C1:Z3kolFeFZcnW<Ɵ#{aD 3[o5]lZ#"#bF,aAq~ 89HtB~1d {d'{Ӊzs19xS( {F9񔢬qo<`2 )PT-U?BX IE({-# A.PgP“Z%kQ=RV%G>N^>VNw{\8g)b`*NLs?_4s.HkHeUbEZYCQ(IlQ"EHsw1pC 7kyp9 ,:YB\& Lc`"g"6RQ_afB p'?h->F+ϰucpr'G>"謝l4-EƄ"8Ϲ72gqq*O3m((W$:EcO@*|"*xs602|s*c4D,#Pe{s2,quRk+SW:4AvNجs8>dO[El)ʜYY2LsUE^L92QJs4R0Z*oBt4zxE+vﷺ @0wG)}XGDll ׷.ps\8cf?0 @@/CX9$/}xxRɨN}cGKĞV6u=HH)f" 5=cM,H7\m/#_'?(Ev/_|h|HYH،ՀlЍx\ > Z XLJ*fzb=TrkqQedU~u*c %O楋9.FlŽwy/cRIuP+BҊ QmPxHD\^8V8qչp:ṫO򍗾W?z?74ݣ;?OQJG%M^~3A9b;os4e! <,HXDx'B-o9r9]F* 䶸X=.B'ks}O=.# <_SF:{w|*aާs)γ}kPJU*ڢEIҔF֤J|ÔRkAS "™=4[{\{.y3Z|B3PR2ʧeq iýRCKt`W.ܕ,cNn0|\ZC\ټLfW#Ӆ Ni%-& "Hͬx8!BgFj0NϽzHZc89N"K7[[{'9NmuxS<YkxcP46kkfBYG?^[*_׾ޱ,׹zI:u>ܾEH:zZgtHQI\TAw_DzXKU.\g}}Ahal¼JFNNc 1Kz.{{lo]8hVfDIfgns4KqօA>DcZFfxp koJSI`xo<Í+J k]6׺|ړw6eI;kr}2w.z@*0V|LU髅wp g YZ1'W1?я~j|`gggш8\pdk{7)yL'=J\O'BRTy`"4D(;\{k{OzyUGfcUqR7Xܼt ,Ҵ-Gꇯ# >|.{n$ow޽4Mҗ+BѠ rBnuI&[{LF#1Dצx'|?B0r )PBՇtpV ?UIaمɄD:zk-6H;LkGXQX IDATqeMQ>AZ7= i%)paPγK>4_ DƼq9Į2sR Gh;;UUc/xz Zaz1iC]_۠E{CMBRT9^T렪 JxPʡthXoI G' kpLxv2$5>H.!7יg8 9<ܕ$Z>wG̊ H(XwV5a|h(R,ׂxR1;\tͫ4&+ym}~8}Y$,>N;vNH!Yl[8VnG:xܧ(`ɏ Ԭ_ {=O'ĴԬ5ԢZŜ*.yYΒ10/ ޺>oz;!ܻI>$Ybf7nNo'wfeJF 徝Rܣ?ޙ5Zj2 a>D?`ҧ?DJIz\M)Mٹ3zD#mu6:&!ǀ,|1Ye::ǜnȑy^<{.a,UhNH.zN9K6h$)Y`83Md-{;\m}$eA !˂ZXS @2' 3Fa6|>ecW~61ETUE?&QäZ%ؔjf0- hrH3ky1{#-YV7uu$'./v|nmi67s8hM1A7bY!)|x6`ۃ}˺h+?kbq$\I1MO^rr\p"w\ffSU*LTcq-rUs HY5;$k(IHI":$g^q: ðk;x=~r ʷ;WNĵ=v*u]5M4GZ1L +0 nTײ77:Սu$~g %׋(YEK4v$gV7ڛISX"As[Su Th{ yd*.Jbԛ&8bsXurYq۾r-$]CAVQt UL\ u\~bZ<2inc>Lˎ;a&O# Z)ɘ$dgdThۍv[wX)[=44Q܄aBp,_q#i/Kj6NYKfW#unq$t}hOtRM㦈 ]BˁM7sC̚uÔ7u~?rq W'xNP$Է.=Ǩm ]%bEܲ bEϣQ(%\5a&m8U&^2T KRa6=fFQ}hZx%p:ɁaMO .\n.q~o}.*mY 膁$YvB?HuhgX>緻2rԈs~mǯ|! 4 GiD2{m!V5Ia` DcK MMT7sS4s&_sT]=-mQ4$hoe#8Buk$ֆnxܖӊ)hD4&tQ"O1膆i H)U#s?. fEq9c#p8>>qcgPVŪL8fqْ JbmNև8Q[E.#`vj66 bFv[Zijk,ǔHyMg%*x*^E%C*S"İBrUer&Xh3k:-8 mԴrw*j8-@G'kDL c 5\kWvcjWkmuk҆ |@ SsC_o8[v䚁Cm&44ģ֒]ݫhIR2dZ= :hxBCD.A4A$"ǃWv!1@EDAF4$,=h+e-Qp 2(ٹZj wR9֯%|(Uc{5"׏Qk oɘ 0GB'8QSeƣ:94MM>d$Г ` qb8ݭEYcD fZc,(bBr;kQQ@Vul*hD!IcPT/frq>ݽ9?|eKkL>{Mgڏ+,/C~Vr3:O{&I5=E2X^@u+x.]d5z.7R˅$JDQx''=D(nְp0zf]#Du5 H;gIf]׉'b$8S,mDLyɲ Ir 5=<'g籷۪Xa-?(˖sVrZ';Ayd 7͑55j:\Gck3D'`bt*l&HV4Hh9:<ׇOUq"Dma#혘@Љ.$ }hZ4u\4D4-a U!. [lC}3[e9nUIN>nV1eKV?旫 i݇g2x`]|rMb70,o^UX"F[4J\K54]OiMBdIBqYtI8d%P] l,ia).LDVtY#2a9O\Yvqdwx?7t9;v}|6nNmWjNM}iB!BU5iߋQn=^wPX)ޢn:$Ik tЍ%((ٍ^B1P$Ač5b6uhTYr!CQdNEfmb:3L([_ogJǿ;㱲ŋR+90'ӛ(- /GSe֤}5j MVs ->}u&kĢDQ4jB.""à 2CFULBvlo}ߝzQxˑ2lذNcyef1L;1E#qH6 E%(  {[-m7t"8wr6u S'$ =iswsl`QFU}'!/>mh,CU?/gR4?ݓ]P  !˗GUcD"DEzi;ȒOS<=*$Ũoi"3R[Μ%4˭D-C[5MKs+jP8JT1E23ȶipAh,xg-cʽߡts(چryGAUao'P]"TPG]nsQ] t\L%/dPN 1p0 C?d˥G4k?5LdDCG2niiefP0̌\$ȥM,8xO~?xCr~>/>U^蒳t.Q"CQR<,dD[%H'[T?ܶ1C0r˗b+*TZW'f?N:rv}L.;=PuϔviX\WQ)0kF vXuhz#mlVʕ,I.ߏmm (sK79TX7 0G@ "Y.GN&w uCeioS}A UqI8fK+Xh>Oy7e;n gU=zpKMcؑT g^sH?G1fu\ݖDLA4,/H/\j5e7QDt e\ 0%R o(x'$[3p49f}ȝ:_*?3/`=޺e)Mkvذa^S-~\)))={5?Cb=Vь8V-ϚT/`o]."|u$Ս $4 MR1[ɘ#hwrϰ@0MܢW#:u3R}IHps-x+,EHE/>_Y=;^^5hmmoEC51[RWU -D':x+WګWUǼg]u[*++y:=OZGu+}.7 !Y4IѾenA,G3ttCoU,4FhE_4Qi@@`$,+st&DzVLb&M-5%si`ْ3L)?- IDAT9f=w1XҊ^:צs^#pբn^A.]Jeey/z($(!gnQ;b& = T.lV]aa5`͈] 3xM0ίrL]3pn{15~2k^Eϱc{U1-^D U5*..fΝ= aضm۶mRl$e+;ttDH+q-nuLc#ع fBLKYG!`Uzz]]# [~3 \ۡ5XES].sB_qcRl&yQ#x_ tނ |gLΧ][Y|qjX7X4c9yd>쳴P9IOٻw/c׮]i]9O`,Τ'iikzDY"O\ADDZ1Ü ݶ; n܎it G gxVH"f%tuz ѥd7:^ծe AP^rWC?!2RyyĢ1 <F>vlfv0b H)((Gy>LgXի^xD թ5"$k%dUBb p3kB46.mws",YREr@Nû=)p`mmi,Giim$yvVJ=MX旀5;z᳄aB!-Yc3f1w=.pǎOۨ#V8|p8@i]ӧOKu^X:=->‡{D:A,a$+.ɺz[[HVmjmyE!ja5~?CݮvE_JĖ,_|.ùٹo7dg%I''3I 7um-5Fq+1K-^vi`VA Ev1 ydyDsS!Y:DQDEdQFeF,ETt;t5iA&E&ͼb0m)Ĕ{ \WXL$7n$kvqTUI}}wٴq3 56zhG.%㏙7oq OygqzɶO?w_j[ 9A%PE\8QSGCk3 MOR.7nمi)4 k2nP$ hzY;vKXZ"A,9g$5ZۨmneЀ!| \_8C{+Mv*Ni%m˓l@?]CO'T=.h|,ZPV" RZZܹs/t.yҤI|GKұ{X:HINTϞYHĺA[,$d:qôDZ;mgږInYƫy3$7 ~$Yp ]%7&!J4&-@\rTDKAtCGXq%j&8XȇGchhkCjٽ>?4N})(ZȦϐL]:Ϙx믦 \:S7st >G:-ͻͻx<5IƦӧp礻LiZW>cҤIF_pI oΝ;0 6n'l G"vQ$#7KM0RN<" *y,^.YDUd|Uq#dII&!DV !ӠEi iiU,<}cGb|U:SJBmͪ¯zpI ɳ琗ǜ';/[1nH}Uc݌7T~v.%A| wj8]:X>¢FotIΝKee%%%%F_/ΫWNnْx6mwx(k 4]k˒DN 9Uôt MC3 IӤMKЖH3Mv1 6-Ns6hkih`M X8 XĘa# 3/ؿe_dz/RcGo=˖P4%J ~݆Tajjj{Xn6nXo/Ɔ]N(t\dI%˧eGeLƎJtUaB/O] .f͞|f**s~,gf][UBrWqDžࢍ3o<}ݴ3kLJͿ-؛#m|>}>D̳ax sr)@߇( gt1")Mi Jc'Dkj;cȢ*M8_OUs0:G"i2rP&]_L -5 0Q]JF| -$c{<ࣔ.zp_8eUŊWX\h4:.$=gu=x 5̫*c.zwc1i$Cmmma/7M,FK;D屯5[) i&dz哝O&("h$T-" K.4A$4D"ԷEhh&AkYPz\Drða>yW= Ȣ$Ji%JD$,aQilix(D}s $r~JMk+Giź UcЗI^0Gp2!I%BRgn[So ?ٿ/PT= 嚁2('L~/:ad bҜHZ6 H,F\% n$txCt75vZ>KV ."t >L}g9ZsECT@m" "*tY:SɒL010-I!Hk,~ݭMPbom9n9Ec2\^\dbR_?^IAùV9rE/pws7*pm'0UXd%`n|g=׍U[ -pI y1+n%בF-[FEE蹣i^ Z|~KZIXΪ (17Sk$6XBjK*K2&&1R7uim[ 00 2X&j77 "nمn!>=v3 ()'3y ^=΢en{NHI-Yol`r,ZPya1Z }AU<rwcqQ߫~_bҭ}}|&'sڦ4?#q4G[a߳O[E.9K'"̀R#o( > +bxP  ƯQ\ ~R4` 3,0# eT5\? $!7#AEL]̄ƒhZ[xuXO=fs/_; XEN<[ZapӧOg|j$v⩧u۴q3[lts<5. K^0Rn aXZd 0m%y,[Ԥ&}k-@]@?a ;?[r!K][~hjkOP-ϵE $$3M෻gvǔ{ڵk~ʟ.}ӫ_n˖VXzu/G٨_LK" ImUj9Y_˱|uUuHϭ04?!99T0R%r ѩ! BB$ ô^$a&AyC9r3_eE1jDZ%?@nFct!SU,'xc#2ϩr8ei^xᅴ/G٘4i%%%b^wa&;2f Sa`F ʰdgDXil|S4xq+553d^*Tlb?_}qF^_r\u/-~9iE8^SGu}ꢱB&UT| 6c+LӶ5Q ( =Y]2npM0Q4A}R.p>ė!MZ%uSVzKVz_0o\ ѣٶm[k^xN2W0r03{ͷFQ0wd ȥ0w آopCg@\.ի d4C4o)2ZX"n\)ZL}W:K/Wv+@Z!t[j7|P+WJ#h0--iKzZLgA$ǭM8Q5GQTfh COtCoSDt]'`\_8s)IwץaeSȴc̸ŬG{?] UL)[l}ܹs)--7uhdbO$ Ki֪Kqqhf;A­(A D`.~ŏVQ] nus6m̱y<6c瞦l"2ksl|g9bw|k @'8x]덪+Y8+n#p,g.W$drk`c5hC#-.ʨǹغegAQzъ0{f h*gb*-^nxa-(㖛nK=|?^rY*͛[ou+OX_s@3WƢe4p\PYYH5k=,i@ kWQ^߯ǎ?q+1;$ODp\ Yt)}YZYý1Ҵnf/Yc3f=xa'왬_@S^2]Ν;)..5:]}]͛kK'~О?粱t/$c{+?9Cbu[ 8hHhZ!C8+ ԩS[p8%rmi\|{)Q WIDATM祊n>/ιLvanjI=J_.] 466/RQQu.'Šb+,{iUUXn7Oϖw7pǷ*j'cˎ9nU᷻7meiXup~J?L:ӧs9ҫa?h 7qo^տ?u̝4om|Ȳ̝wygNvN6rwAɿ}_%zy5]uH/~ GupbvܙS2rtPb:n8>5ž(,Sg-ZأΤZ!]##|^U:Lҗ%e_ Uc\7j6m% -$/?OwI}\*+H'>9^TRRk8S1uX]ç<ɳ\=!+]amJpK'{'Oc˻zpAY*H3{iqI&EcIpĸTĢ1֮yg⁩u*$Nv?5IƎâeĢ1UaOm;;ys?ݫ07yG#B'i%b[nϔR]v0 9ۙ.K/s{>p76=618-((fΝN״lW)Ga޼ylޜޖ顇ŗixl,n۬鲳&B$K/3fORPu/BU^ގ=gJjਪJii18Es%X:%Ǝsp$bG;: ?'zx:k^O/#^ZZ ӧO< ]EQK![[CvpUlI nႲN{o.n8>e_[6m̍ObEc*˄ UREukNvXJjX4fXdK*V#olX?]e3Kz-JTVV:r]FAsݗi <0!n$ݵ@ {)*]Sի^cq,.[ʗqczZp8N3'H.3˘iיLij sTJ-YZ8X4ƽqqߝ@Ȣeim xe]x穬LC<<ࣽ>@iHŊǣ5dJ>sǹso?pVrW{e޼yڵ+<5I,gdӝg6npgn^^}=X0SP6oSO=EUUU(Bf͞'tq1+9j&Bg?W;gJ+6lLs!C)rW0h4u^F{}ưdbn>M7sC2v_ܫv!.(s )rWWS8啫DNnS"ҩtsD"W Wf}wc]꫼i%*{cF>ݽ Mf+8iWNJilldٲeTTTu^wg8%Oʴ=JJJxUSrVp "XNO=T}vAZC,]'xp2pC'***xӒ -d)jwIc*sΥԱw"TTTu%WƨX +{Zk"pVϼyxwӺά3).%b[lcт Wvtp8o9l0@\|YVeַUs=wuMUUͥKHR9cCFTTTm;푐Gyrg$8EΡGTUU/bCqC XOp )ri[o1o޼$b磤K:#!)riWN3i$V^Mqqq])r}F_Y:P^^#KѣGS^^.Ns(. 2w\'[9ʻ;X:\4"pEtWh0[NwIENDB`Guerry/man/figures/README-ex-bivar2-1.png0000644000176200001440000002514214513000475017347 0ustar liggesusersPNG  IHDRJ N PLTE:f:::f:fff::::f:::::::f:::ff:f:f::ff:f::ffff:ffffffffff::fff:ff:fېېff::f۶ې۶۶۶ې:ېfې۶f۶۶۶ې۶fې۶B| pHYsod IDATx {8z)oNf7MeM6RjώG>I$@8_$LF)ď^/MV*b' ˯2ĕ' 8qe+N\pʀW2ĕ' 8qe )9Y2,NU!k2>.=$& ^&g/\ID'.6FfE;x 6,AV:2x6tdXcǓ;` CGO'.6XeȀ 4td+N\Б#qaRiPhdP.+:W6t$<N\pʆĕ +W^ёr N\Бm|}tn,%UQ:\ i[)X %DtRb|QN޺ĮPxeWMY|;(D7˾KvWU*V(d^FXeޛkhK yUp)J5׸>]+!;N !^}bgL 6함Dk*&H_r:m`T>OUЀg<5m%wĢYF7[WDKPX!߽kS߀+vSNSO{rK  nTݜeq⻊DQ *zIjhrmbtzi@܃Eם,x3x]&ft|Wjc*v5Zgt򖻼2y|_r} ܡm-ĭH sz9vgH!MEf0Wi=Lry;T(/UK}Y_ɆO˅-1i1Ё8iKex(GM F? aR>(fjr@KjCD+2\DKlC["X%Ye ںHى޺:IM#< |36dmSl68z4aҀ6ZЅrMU|SYrNfzB^HDL>7e1f`<6%twކC^52a&&i>qm -Ӑf;iOiLvɮA|G VVE07[mHW `7?^Cۘ PEs3 E Xlr6Hߑ^!Hl5Qz?ɯyf*< lz ߿# 7(aϪFb~ P`⿹n2L+;-!{R|c#~f8/;Ƒu컂.scRzWTOe6'Da*x0^v,#( ԂCcHHƪ!e"jfy1$+iS -׼[(C}53?+0^ڢmMNe%i |KtjAl;AF ,6NiC5>;!U41NˇUo|?+#e#c`+CXO N9ddsL&YΒZT!nWWn.A2xR/١Zcu :ƒmfjr7t \4 ӊi^)dkg{0L_)[nteQϳO |R*iA1KWK7:Kp ZmEMYvO20#pGCG4fppbm~+8zr2t(.d:VWtBE%CsdKw6еڕq)/!ܑ߲iS ''bt {v1@/2¯jkƗ8 >?@a2T04ܱuàרeE x;n.U9Z ]oCa5bzڒTeYAC7+g]"qT |Xc9Q̹LXUh"?{]I/E&o@+PKq",KX?Ŷh|ѿ_YSU38w~l~U,ٺn*55<&e]]p* bm|_P帻{? `}{t:=+ lVlPge } >|[' -;;vblTLVS295f~|3_w <}ttyE]vGm^8ŀoJm}6OFeEVqMyf&YSUd/ nzSdBĿNv&]o(U"՚W,6x5g~Cf3tF{$ 1m0zYkf>nލr(7w?{ϯ/ipJCd+wGVB(wq"h%+\ASԁ'lga (s46Xa@ULըZ(Yg"hOܢ x~G6C~7H|vA8-0-:UMӜ6o&쾳!0iBK.8 0ƀv62tl:mƨT{!lXGl5w61tȞ\Eklc?m` hgՈ0BQ>ݜ"R4 X{g(ƃ42`ݝ HܤEFH*z; qY*6_IXogC٫aYlG ] T!ìm2°0zhtԀ-ݜqot<-r<CG lA3`T[WNjrےYn(ӳ]ɰƥ qVt--*wEdT'+Ίɣ_j?jW`6;^tcuET<ɖbon v_S`K(F{Un/nk(q~v,u~x\UkwEqH׼2t^l ?Zȱ VI>sNfogCXZ]empu/@7y^S5YղA8B";\_m%;|E>S4K萀+p$F `xIacOڭo`P&0 zɦ:dcmtTXlUo/TlUo/?3_BqhFß?v> ཡԆt؀[0 ]9qiW 7~UX0& MʪSzFwE=m2eх]Y&p[=XM25 `Ml~o3`ku n{ ~Pv> 8"9F߾gWKq܎smK#a;F9_=zF` *Cۢ]IMnsH\D0uv*߭~\O,lSJ:;N7e19lpܮA l&9/E8z0ƍp`ݼu  jN &pڙdग |Jh¶G9ۢWI8"L0}p,f~DkN4` Pma#8|<un}a#mH[tHa|ke C/[$tEGy6ExF:ـdYˁK P Dc!y #W_rVۑ|%CpH wSx  ! >ߎ{wwHSw۷J73w?Y+'yLb4aҲ6Er8w] Y2ׯ}3+:ZO^|M MXvyBu^^k¬Wn( TM6P7eo` AxQ.`xod5Yi Q%?a2Ju"d?v>]7LXDR+`r,Bt̖ilK5LO?oTyp['gCGJ[Ah1+!6~yN)'>|Pxٺ/8xuM MWtpldUVn%~`69jwם2D4eUt/J GCSv]9]:ylr4t[KLw4mhjhʀe2ۢW2[e$q`R#Ev>p] x~ ίSŎ?U#~A¯v aInJ އK6GsS5pwj?7ݓ) ް>Sڀ;(KFvTMdJR74 0iH(bpzJU byP⺂XޞRܷ `p M 0i瓷^YyT-@8j)FJ|qHgFq?nX 0Fr;q~GGdöKrD"fջ)̪flCL>9z0pG}sܷU㍙,^yzz*\ ڦz0?8y=/Ni۸&h?y"^[ 5|tnl:JhO+&U/zEn6~9(nyY45iHkU W=ȪR&d9? 8ڄ>uv{?2[?G5`\IGu$Z;sS\Pfu= ϹQ%*g)9<OG]bu).oH%{>sdjo}u$Ypz/|}u$yD;غb, -+AE?ƒ0 Q=ح+cD3+J%ЮH:jxpغb2b#Al]V|L6l+qĠlcɆmY/Mb J0+O6ƟlRJxUq"dCճd-%+Iqp͔ߘdCU.t>+e)H3C9,#SF/OTIDATsuuPdK@rh喬{lPa Ɔ8HzG9Я:&x4 V~x+`[ seFSo0XpW\] ߕԽAK0i9p5iˀWm[tʀ;t? OwHt]9 _Vy93}<+Rs x poe]i~ʀ;5' ;''UZޟ)VoO S9‡h} p oMOrVww0xYYW}NFg5eh!'wڌ+f..mY%8q  z^{]Oy2ĕ' 8qe+N\pʀW2pV<&~pf'nxpf'nxٶ2ĕ' 8qe+N\pʀW2ĕ' 8qe0Os8\=H}7+ 9f 8u IaL=A=;ޔ]bOЁ0`pipNS\y]B<5to~p5`p&xw0r wL` =:Kn4tŪR*|$pWi8ܹ~y!qe+N\pʀW2ĕ' 8qe+N\pʀW2ĕ' 8qe+N\pʀ׸-4Yuӣ7΁]\)=mӼ~U'wţ(`Ab3&fYʼnfx^o.Kd Ư;ݧfɜIfn_A>߬UYMPQ@n)~~7ʑy\/$ St}u;JM ?lޡ+O%xHn[q`K볃1,ws&׷!}x}H )֤g.T-%OnqP6 ~;ST*HZY\D] s? O/xL[M0ǝdqVa`GbyjRGՙg%7 -i;Dܮe3m؜I/s.٘YFi ?`=n{[h'0#2sKo%tY7A xퟒox\ubE3YoޤiTVq0)q/m"g(j<RWdLn;v

BZ/قF(_Uu@!P ULtSk*f\ʗ~%bDTdk VKS̀nzJ|lWvv(eY+STP (_eTPa~R:B 5+_eTA;5]DKv8دDe@ץ~%U;لz/K*8^7]4/KrV9H4Dԯ0@sse_&KqNY|/\zٳO^w[ɓo$xHfrzmn>)}yͻm}Go䳟Re~DBעf!@G{t'|kKov$w>7 pϡwE(_{_{;?zԻo{}?O%G(lj=&UJ,dAQE~}ӏq ?}cǎ|7}/"@O}xٝf@5+QGrw Wϼڛ؏Ob/ Cܿy61PMJԮ@7(.ɀ:D2mp_;̛nۏزNt[-_{5S.i"DdP1jwRHuj6iN jb6b,jLR/|a4Ҳ~IGlQM_|WS:\_|a"!.`s嬕o[5 ۝Lkm⍷i)R| (ʠ&7 ] 5 jxXVNxc4PKp| )IEʾV'-̀*˓@[9hľIgNœr{Nk2Y iLҞ"`] VuOjㅑʠhNESEʀfQ]!w 3u "-̩#})j^H-ŗ\O}ɾC uc$^+.^z8 Ipl&4N0PMk U~|3&IʰK'i";\6 )gIlm޼yQp[C]à Ivﺾ=?}壽.%* {nId@apc3v-WYaEUܡP+֪|!|Pµa  s~sߎLad5S`/{=Ոj0jۢ{iqńm̈́ b8ʹ 7cblū F5:$p&G{ {kph~1!vg ߺBDl:Cd}hKtO~)UH͸]"z(G}ꂮ`ڋIn8wTD?I|:zObNDo!cd .6=t9N 9 /+s cʖ9ӆx^<.kj~}w?6{C}l帓G/._vCS1u:g66O^Z_,T<[Y^>ekָ3l9&w! [9Gn;X hӽ6SYnP@{90]=(SrGA\-׾OI3~أ@q{Hw/1uAm kf7{{n(]J6g Hr=<2YШo;%8t ;yES#Z61yb: şS# M6oi G&u^ V:Ns*4jm5v.oŠG46Sb:JXHzs{~@MGZ(y;vP 's:U0]GJ>~{\}x.,-vjSY+jNG f.2"¾Aj(/%BKm]բVռ!4*) ;whAi˧UUÌriȼ#1Z/U7vϠN&7\ծ[)2#]3#!2.d r%pXtl=(*& 7nN, {& &B\:Ԛ%,h#K7>'Nis5K{`P>\p:˻9<^J}WN[a/m)2曪Q*5=`zNk rm|Y{̶nB[OjG)Whr8lMˮ߇2vRw _ǡvr]sn۠F8eW)u~z8}trN@qQe]_ F0qvqVi\[b0ɼ\GS.[V948]a'|H+@8|2v}ҕPQ,s?)R{*fO#ƶ5`qYd@?%Th=c8*HP + ZĊJ4|$%TfF<$ȷ3Ш*4P_O)!E:%YΜ`SHPZP䱋TH@B(QJ>(- ?,;Br7w5x`]Ve#V9AB\G We:?eB:T>X0ؽ[@x7Ogr |NJ'/})v|L9$*soP6yyոrއ=E1q!CܛGh}7H9M+5/ 'uR_#!x?C- 7i3G/|=Z2~l9I) 'onv7N`[;Nܩ:E6V3O4?ng_C3@ڐ]@zG0?IiwIv3蝟~dqwu~:;}S UW, rʍГo}ay<z44V^{$~~d¤4qݔ/t'{9IpN xR3@gtʻ"CRG8D\>H3IRU;y׿f z='Ey@j[bJt@y{\>ϼ q{3B:~|X؛EےdW"YF yt.U(wُe Nhж(+QrX̀%ǹGlMpo1vZ6&{R>-Yڻcż6΀+%` o" ?:4@ukyʼnyےeJ >< ]J&s04[ r<=uPpc ݩe|vEM=6Jj2 {`OG[2 YP\taS8 &u`gH᭑NٶtP\taSX.~Bfh775>Ԁ"dvw[tv~`dZ^F sWoyK31@l_AYkuG89Rp'<ݠ,;u}vӶ6u,.n޶>Y1[e]s[5i訡JO2`P^+Nd:ƀN8h VKD#Qmj{`4B[3n{ 3 b'dr7`4x8Lx4BN%΢$Byu*L0U&Y@O} `?>/uk|Ʊk<:=vD`|WWWGSt8Yj@]x>5jKO_|H"H >ebA :zĿzI3W(Y t2!\ =Ypk`2)zW e 5KdT7~BA;.$d;F;\+gz?߱?=S?bNdu:NVQ:\ŀS7z'_w߽72d^#>䷯ky!p(a@y/Z}ҹ?ߠlř˄o{nNni=OqǍ'H!l ynFٛ;]rw$ @z0͘Nd}W'GxՏ-%n0CQ4- f9oM9 牃6cO#<9|!9QOĎQWyڟ[6@z7Oָ (-m'om]z$$B37I@v$CeuN]߽Not;Zvz](9z3xUԿI;e ˄lt箻:&"U1^2QQJ PU Szt+Jz '!O;vĠ#rO)&+Fo4$9^  \*=EIu#vA4VVB2W4³n -XTH<5-JXYu׃G3'LIvAmf@]A mM`fS+[r: H@sTZ{*!i!4>&B5^)~|Q5XNܐ\ف>.9zX c-(5ņD9.2wi K7OXqw}@hF{JZ{=l _F/N \ƌ؈3P6Gu+߿K_ؓIK8K޸ɭY%I~mgKvb5dAltB}4) (Ǔ:PW5 r]/pa< s,8l7-ʔ\}|9ǣHG%J]{-Jס8}COӐny)/<OtT:%<RYYFAR%@ L3&٢4s3t>O(}#g^8s,~o9ky7U1t%Sj5PQE4D4Sdwpbn}6/Лn7]ӐNpʧP~M4 A4ꔥ!,Lyo3`ɘki"Rhr@یVe>jafK&$RVCua:lhnј@*2LSA|6( RHsqp)Vɛ!P 4)mSh< 9$#H(J?Nc|8{܀wF 4V@G> i([PiRP\7G8-g T;$1~\%cR>ZHgeØu)ta0a:Z*~&K:xD^cA9\wlP5_K2=yJhz.Q\RY~'e ^˛O & 8+zlYM@!l?t:PJ>a^'AǕwr`{=20@/Z^d:T \P'd+>b?D?FpzĬek:m#M( qRc)' E(Į~%w%~CPxEӆiu$9߽.GU/W@̏+ @șZ+IgBKx1 Aw^Sd #p"c*s_s;76J[yDJSǧ2vLP/|^ /@hÃ(;4wi ");S={>OVN5c<$*Y‹&?UP _nԾf 38*0>P:{<մ-p٘<0L AZeYH;P/-TT'/fOLʎ"1]M$ *;ZPUf8KtP{z_ hU ~uJaT@AagU`sehV̀VT1$68[Ɛ}\%*~W$H~1PP!78iy=̅W#Q!w|_T IDATC(@SPEZ![)>k}fbڞ\bp8XNVvTEUį6b{T@e{I Y'})37{w h!K[o48ۅ|[;Bgϱas;'t8*>~|EHGu|&DbsaGs naMo2'}NI^&uHs7 OaAK| pP(-&Gg!Buw:ǞsAv;OS(@]|2Ii'` @',*T\\ n%jZ BqA뜟et0>qa=" 4@ؤ)∷,bx*_|] Pt *p!wHB¹Qږ&y6TIwnΕgҔ Yo.J1Ʉv"hTL^fPP' -ASDn::؝2]Kv(mJsE=9K :E>FSLy̟:uJszIli %Ry^k"~%&S:XPCs TtROtd n|&,)قDft#@5jIrE&>94 #*3xJ&B׬Ug5 ٻ$,xWd (A to_I*Zl#l$ (]ewuq:Ut7 B)rC$b*(m+{Pf"x (]eL+^_uf t4No7144:?0b*x[hVŪ$y|x~HF: %;Q-V5YC@Oa"b"BD7}JXs gO9%!%7?q4:`DN?q%@wWWUGoU閬B*@I8 Iy:'?pXe;Z q"xtT,C҄)HhU@@q9t^ g^'.Q9V h,fG?q-R ~kѼDsyy-g.?hu>ʧcHd>e< Xe N "5ɀNrf4vʕ.F@ވ=v$tTOhM'EVGGU|$^r/cg=S9)BYn%^(1fm(H>Kp8c P;`/cO|¯)0;I/N"Vl%Y^` @Mza[+4lєM*zPźHZ ĕpuAn|#$&-$ sA!(mc+uFhi&0 "IJ,'WAη*U%lUH#Unι0'4cѺ%w% w9GUXѹ&|aM%R4rhA=qzgX0(505}Ԓb+vVwXP;HMFD5p[r[Rťsu I #_^s|FjCm2(>u@KYTO2`׺5@(aR-'yt|8:1]R1|6}w"ԦHPuiNoOl :U󹫵$k66*>m= xnA|Y@ $7{>@T*P)bA(Rd'g e@uU&ǹlio3U<յ~ *t$TBpuhp2-ZJ% puBfO#\--+n`lCi.|(zgμ܆nߔ?ja2U|%s"h0Qba[Is|$7-P3΢&ʧ۱T Sa]CR*)_J-!rrho SI q/gϐxBِ}9^ h MhgeEx}i_8؄*@3aJB[W1@X"jBwgiVt9#Y|_b!cj W)on]#tBOq xnl[/Y^Y ?vbBIh254}SbպGي>nC6,E݋UZ;1ʈVQŷnJ|N>j{e\KW_ܻQO @hTeNhlI[]-,rv:&tWpFZ +]yM;U>QD v E;2P<`k~TiDPBc2^FxoGZX83- ; Ш[ ϝyjacwGl5h6|'=A8n/hm]97ܵPDU@hDVފrJ>b9mFכB6^Ƶr:K[7z2J"ŁE'BaTnz^ԟ8,[Є%En3X-N] @,h{Zsz0@IDi@ PdFՑX̐hiVp偃Aܰwߺݺ#ڋ-妷jlʇX6n}gtre~H JɮJ /ž#/2gA m -]@U2-dnL~}w \AO[I;ܟ$5"_v@MR_yۘvY2AI5, "wZHr:Ci0N~ ެ/tk΅mv:^7U5NˌN m-}-h7ZYjBWU4P=0b{E@2Tn@#Ӂ3y'*sktOL*2]L9 &^g;k 4P\t8 y*- =.ڜPy5y3WdbG@kvj|#2V󹻔ZC)8" v .:owV_SG9GI lq$}Dvt\m;Z@W1Ilj$}0ƨ+Zlwie]'2"4"[|[\x1B 82k-&dC.A|{HCw'|LovD^]]9!v`Ч;=}pweĞhMtٹ >pVh"-KS /|uF#k;=|/ᡗnF NjvʫuiC['ӑ4 U>};ogAʠA<\@ߟ_}~ _`VR*~O D3gny.cJЃ0N&bm}玼x뻻BA&MH/E/$//ځ7]+?ˆ^Q&^8p't:%i4Ixmk~㚯^ ]~_@d8 ?XoOt#=U;Q@_<Ǿ5"X,فRx$`;őں9aPiz沇G. G?A- 9@wtcAG?~˯P;Obms_~)tAm{KLwor-9 [/Av}ٹwq]d][wܣW?W:K}حvQg_̭J&@h#ar),(-7Ych'Hg/vH%@8YMPp5~?t嗨7mVၫNS@_ϒ,HBy儶඗,S~Gw97DЦ/j iv@œmIwKxk&C;[/j{+DX߸-dJiґYU2, -O-/~kއPyi:mN\.jySﴤ?^ooBѕQ XP+|hoqKb򱥧dl^P{3bB92#1x7P[墚rPb۶'"%LzYDYPG=kԲ-W^ G ]PWl2?,qO36k/mUͪj]b 3"V>PjBt8P1̂R^h +(8P,w|ڈlggG8냻KM߃(K xfp ~RLe ( (~f4jTn`BVt<ʀSzHr;YN<'.Pw%g-B\&P'"T[vevvnU;d:kp߼[9c O@t<#n.;-h*̀A|U wJ|JS*N.w* I h, %]%[l$cq{*܊G&iCq*c[h:glhZT6Y#jOEf/4{3ߝ8|_Qѳ۽)PSMNMR-bT PTJr4{,إUb8݉ço1d*3K BZbu5YN1ᢸtΨIݥ*c'{%!b-FU Y;ΒEQ/zA?S퀺 (95 @^}Y ZXv,8hjx; ^YѠE/>3lóT^h;LhZ.ʼ89.{A€^ yO Zʂ1)B-J T%Hu{1ި>݀P` ĊXI2Cs \]9M-|F tYG*bh>GaԚṔ[0ߦJXIuWZ3&D*c!M_FJ[Ȁ&nEdx ēPD#euy!q*kQ|N['.􍒕Ta4Х8te"6I yx eu'RK` i~bkFJ0  + :C@ؤ\;**K(Jks#OH+@̃{ $Ƨ \ڿSϩߔ,)e"2Bq)$96)P';J^჻b۶1cOfdoD=S*PQ-0euZʘl}} 33#zqg:&iL(k/; f@.lmcg}km~#zéK1t"^gj8"PG:ӷP]ExV*Nqct4N8pD36a2Uh8 $-l9ܱYʟkM~֑"[3#nբz|-d2D|V114U%m_%[\2@ڨx'#F˧;v- GlP7shٍTN&c #.oō\6@#%j`+OxQƶey[PFnp2 g36 I FǏVI''ښgO ^u8k&y| Pd4s8VE*P|mF2oQT~MC,u|<  rA\goH`Rf+-Ja))ٓtϒ'O,> )c4t 1r^@P6iL]a@mqIy=2(,yϢ_ @acMv8LekB&iF-sﰱgӷȨ4KĆv"Y4=EC|=bM0>0G~3,4݀iHO.H22N=I뛾EFY M/eɖSG!xdA;wCTaj^oB%!bծP@?T&ͦ Ckކ`yrQ~;҄!IȄ~əM)]P,_Ya1w0tTh}m]yZH'zǙЯ!$ 99ࣹoDU;K.#Y̶Ynp&5>n l E4""r4$XU_QaJ6f, {9}r2j[kLLda@ӄ:os'Whn@IpVll!1ZC1G w2C`D7߄)5tAhӷJWrZ8lڇ%>=g[ll $c;w Nh1-SΈȕ <̤)h e@S",DJ3)..0nvؒhdq֩tyHǂJrț=;d팪;,aƙ<#;I ZhxА%J${L;<^MPjMP63l!HS[}fM 2'IheWÇ* h$󘻙zgby?2hdպUVEYh*h8iÀʙNQƉ Z/UVEY 4Y#b8(jq}FsjI4}JH5k>/㥼QT(>a24^KRɛvZ5}JJDu+1-F}{*Tiz'.qA1n]+Pݚˀ07n[[" A?3$>@oJe@i 3jEɡ8ĠWupӷLQZ_ss07N˪6BZ7q ;{(ԯ*JА07nfX8h Px'Qf:;-SXqoWYLk v$i*M8Vr gQs?C7:3@glC[AmmyEK5}T%V" c'/xڂ_;ؘ:Okpokpo8٭SWo-|~)%:&+-a)♿)HC'u c>?sK屆C4ǘ%0!N0rEϺ)щtM7YIfi,G_Mغb Ԫ*~ ;hj{:ǘ&0Y_ۘo֯/1t?s]JtBg@Vaћ8J۠YgnmФ}!|(&ٌ'0IEG&MFNx<>3]ӔVijUU>yȈߙA\-~hi__)Mc8'a&':4jSHڻF-JGߊR;5G8kZ?*Xr*b,e>8M`A)JAK[YuYM+2ͭ9ޫP.6b7<-BPbKn dunPR,Ӽ|RDn>aƦS#]s YId<[]AnY:|JǸôLcɒ}rmC5FPU@]@;w-uqYzկ!@{=vEFJ6+蓏8VV gZNmLں15|hJP5镻v_G?]>[KśyBpdA{P|Dn£,cm_]e/>?M,U=z,"ߴBH%iRpTwZrܽqB5ZtCl:ڔfd[B0ć,">&\zkX;4ʀ. R|fmJ|tQPtYWX/BhQɥ/|Ӊŧ-4l]\tH|s<''y a:RΪ*,63;J}ϵb>bRbc nr:D2IӚpj S8耮+&ُ @U"JА0uYԍbN)CrQa3ʌvz Y$ 'ϲ'!r)π+/栫 >4m$i>P!CSW@-[;k[R<-l:|"L :d1;A>wYCt7YPūYU<[)YHBfA ?$PvlCjtj6ַ5 ʀ;AJ<"5#$F'SLSyЙkH Z+B%ԑא  x9iyLuhBmb4:cvyʉ:#.xD'Ȯ>3v-Q[aʱǹ1#ҝu2s]G}jJhv㜑 k[;녣?=kR$2 2C=8g$-vtN N-ISϊ:YꐸIŔO_/ ]K~i1man%•JA<됮йeuqC ]W9dP׷('P~ZK'0vL~`n8(_U1S7/&spPr[hy`kB h)ww E0vRtw|iʒ&AeWZ}?k>ͦEBʀ+dAww_b˴oH3H5#H7>#6-R^@N/ifܓBf<?ooǯ}*Pt O)Ze6]4/$1A3P, aNNs&Ԩ|U!N05M8I嫲@Yz 4MY/UYXr/2h Et}jZX%|rӒ//|u UPYI+2YI+2YI+2YI+2YI+2YI+2YI+2YI+2YI+2YIqcR}IENDB`Guerry/man/gfrance85.Rd0000644000176200001440000000417314430775011014362 0ustar liggesusers\encoding{latin1} \name{gfrance85} \Rdversion{1.1} \alias{gfrance85} \docType{data} \title{ Map of France in 1830 with the Guerry data, excluding Corsica } \description{ \code{gfrance85} is a SpatialPolygonsDataFrame object created with the \code{sp} package, containing the polygon boundaries of the map of France as it was in 1830, together with the \code{\link{Guerry}} data frame. This version excludes Corsica, which is an outlier both in the map and in many analyses. } \usage{data(gfrance85)} \format{ The format is: Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots: \code{gfrance85@data}, \code{gfrance85@polygons}, \code{gfrance85@plotOrder}, \code{gfrance85@bbox}, \code{gfrance85@proj4string}. See: \code{\link[sp]{SpatialPolygonsDataFrame}} for descriptions of some components. The analysis variables are described in \code{\link{Guerry}}. } \details{ In the present version, the PROJ4 projection is not specified. } \source{ Friendly, M. (2007). Supplementary materials for Andr?-Michel Guerry's Moral Statistics of France: Challenges for Multivariate Spatial Analysis, \url{http://datavis.ca/gallery/guerry/}. } \references{ Dray, S. and Jombart, T. (2009). A Revisit Of Guerry's Data: Introducing Spatial Constraints In Multivariate Analysis. Unpublished manuscript. Friendly, M. (2007). A.-M. Guerry's Moral Statistics of France: Challenges for Multivariable Spatial Analysis. \emph{Statistical Science}, 22, 368-399. } \examples{ data(gfrance85) require(sp) require(scales) plot(gfrance85) # plot the empty outline map # extract some useful components df <- data.frame(gfrance85)[,7:12] # main moral variables xy <- coordinates(gfrance85) # department centroids dep.names <- data.frame(gfrance85)[,6] region.names <- data.frame(gfrance85)[,5] col.region <- colors()[c(149,254,468,552,26)] |> scales::alpha(alpha = 0.2) # plot the map showing regions by color with department labels op <-par(mar=rep(0.1,4)) plot(gfrance85,col=col.region[region.names]) text(xy, labels=dep.names, cex=0.6) par(op) } \keyword{datasets} \keyword{spatial} Guerry/man/Guerry-package.Rd0000644000176200001440000000761014425246471015454 0ustar liggesusers%\encoding{latin1} \name{Guerry-package} \alias{Guerry-package} \docType{package} \title{ \packageTitle{Guerry} } \description{ Andre-Michel Guerry (1833) was the first to systematically collect and analyze social data on such things as crime, literacy and suicide with the view to determining social laws and the relations among these variables. He provided the first essentially multivariate and georeferenced spatial data on socially important questions, e.g., Is the rate of crime related to education or literacy? How does this vary over the departments of France? Are the rates of crime or suicide within departments stable over time? In an age well before the idea of correlation had been invented, Guerry used graphics and statistical maps to try to shed light on such questions. In a later work (Guerry, 1864), he explicitly tried to entertain larger questions, but with still-limited statistical tools: Can rates of various crimes be related to multiple causes or predictors? Are the rates and ascribable causes in France similar or different to those found in England? The \pkg{Guerry} package comprises maps of France in 1830, multivariate data from A.-M. Guerry and others (Angeville, 1836), and statistical and graphic methods related to Guerry's \emph{Moral Statistics of France}. The goal of providing these as an R package is to facilitate the exploration and development of statistical and graphic methods for multivariate data in a geo-spatial context. } \details{ The DESCRIPTION file: \packageDESCRIPTION{Guerry} \packageIndices{Guerry} Data from Guerry and others is contained in the data frame \code{\link{Guerry}}. Because Corsica is often considered an outlier both spatially and statistically, the map of France circa 1830, together with the Guerry data is provided as \code{SpatialPolygonsDataFrame}s in two forms: \code{\link{gfrance}} for all 86 departments, and and \code{\link{gfrance85}}, for the 85 departments excluding Corsica. } \author{ \packageAuthor{Guerry} Maintainer: \packageMaintainer{Guerry} } \references{ d'Angeville, A. (1836). \emph{Essai sur la Statistique de la Population francaise}, Paris: F. Darfour. Dray, S. and Jombart, T. (2011). A Revisit Of Guerry's Data: Introducing Spatial Constraints In Multivariate Analysis. \emph{The Annals of Applied Statistics}, 5(4). Brunsdon, C. and Dykes, J. (2007). Geographically weighted visualization: interactive graphics for scale-varying exploratory analysis. Geographical Information Science Research Conference (GISRUK 2007). NUI Maynooth, Ireland, April, 2007. \url{https://www.maynoothuniversity.ie/national-centre-geocomputation-ncg}. Friendly, M. (2007). A.-M. Guerry's Moral Statistics of France: Challenges for Multivariable Spatial Analysis. \emph{Statistical Science}, 22, 368-399. \url{http://www.datavis.ca/papers/guerry-STS241.pdf} Friendly, M. (2007). Supplementary materials for Andre-Michel Guerry's Moral Statistics of France: Challenges for Multivariate Spatial Analysis, \url{http://www.datavis.ca/gallery/guerry/}. Friendly, M. (2022). The life and works of Andre-Michel Guerry, revisited. \emph{Sociological Spectrum}, \bold{42}, 233–259. \doi{10.1080/02732173.2022.2078450} Guerry, A.-M. (1833). \emph{Essai sur la statistique morale de la France} Paris: Crochard. English translation: Hugh P. Whitt and Victor W. Reinking, Lewiston, N.Y.: Edwin Mellen Press, 2002. Guerry, A.-M. (1864). \emph{Statistique morale de l'Angleterre compar?e avec la statistique morale de la France, d'apres les comptes de l'administration de la justice criminelle en Angleterre et en France, etc.} Paris: J.-B. Bailliere et fils. } %~~ Optionally other standard keywords, one per line, from file KEYWORDS in ~~ %~~ the R documentation directory ~~ \keyword{spatial} \keyword{data} %\examples{ %#~~ simple examples of the most important functions ~~ %} Guerry/man/partials/0000755000176200001440000000000014427014144014122 5ustar liggesusersGuerry/man/partials/_ggradar.Rmd0000644000176200001440000000547414427016662016355 0ustar liggesusers ```{r echo=FALSE} data(Guerry, package = "Guerry") library(dplyr) library(ggplot2) ``` ## Plots of means In his discussion, Guerry often referred to differences among the Regions of France. One useful display to address this is a **profile** plot of the means of the moral variables for each `Region`, typically shown as a line plot of the mean value over the variables. Another term used for this is a **parallel coordinates** plot. First, find the means of each variable. ```{r sumry} guerry_sumry <- Guerry |> select(Region, Crime_pers:Suicides) |> filter(!is.na(Region)) |> mutate(Region = factor(Region, labels =c("Central", "East", "North", "South", "West"))) |> group_by(Region) |> summarise(Crime_pers= mean(Crime_pers), Crime_prop = mean(Crime_prop), Literacy = mean(Literacy), Donations = mean(Donations), Infants = mean(Infants), Suicides = mean(Suicides), ) |> ungroup() |> mutate_at(vars(-Region), scales::rescale) guerry_sumry |> knitr::kable(digits = 2) ``` Even in this simple table, the regions that stand out as best (1) and worst (0) can be seen. In particular, the Central, North and West are highest on personal crime, while personal crime is highest in the Central region and lowest in the South. A plot of these means by region can be produced with the `ggpcp` package. ```{r ggpcp} #| fig.width = 8 library(ggpcp) guerry_sumry |> pcp_select(Region, Crime_pers:Suicides) |> pcp_scale(method="uniminmax") |> pcp_arrange() |> ggplot(aes_pcp()) + geom_pcp_axes() + geom_pcp(aes(colour = Region), linewidth = 2) + geom_pcp_labels() + xlab("Variable") + ylab("Percent of maximum") + theme_bw(base_size = 14) + theme(legend.position = 'bottom') ``` #### Radar chart A more attractive form for this display shows the axes for each variable in polar coordinates, known as a **radar chart**. Because the variables are on different scales, a first step is to normalize them, by scaling each to a range of (0,1). The `scales::rescale()` function handles this. Here, I use the `ggradar` package by Ricardo Bion. It is not on CRAN, so you may need to install it to reproduce the figure here. ```{r ggradar} #| fig.width = 8 if(!require(ggradar)) remotes::install_github("ricardo-bion/ggradar") library(ggradar) # Create radar charts using ggplot2 guerry_sumry |> ggradar( grid.label.size = 4, axis.label.size = 3, axis.label.offset = 1.2, group.point.size = 4, plot.extent.x.sf = 1, plot.extent.y.sf = 1.2, fill = TRUE, fill.alpha = 0.2, legend.position = "bottom", legend.title = "Region", legend.text.size = 12, plot.title = "Guerry data: Means by Region") ``` Guerry/man/Guerry.Rd0000644000176200001440000001633714502054406014060 0ustar liggesusers%\encoding{latin1} %\encoding{UTF-8} \name{Guerry} \Rdversion{1.1} \alias{Guerry} \docType{data} \encoding{latin1} \title{ Data from A.-M. Guerry, "Essay on the Moral Statistics of France" } \description{ Andre-Michel Guerry (1833) was the first to systematically collect and analyze social data on such things as crime, literacy and suicide with the view to determining social laws and the relations among these variables. The Guerry data frame comprises a collection of 'moral variables' on the 86 departments of France around 1830. A few additional variables have been added from other sources. } \usage{data(Guerry)} \format{ A data frame with 86 observations (the departments of France) on the following 23 variables. \describe{ \item{\code{dept}}{Department ID: Standard numbers for the departments, except for Corsica (200)} \item{\code{Region}}{Region of France ('N'='North', 'S'='South', 'E'='East', 'W'='West', 'C'='Central'). Corsica is coded as NA } \item{\code{Department}}{Department name: Departments are named according to usage in 1830, but without accents. A factor with levels \code{Ain} \code{Aisne} \code{Allier} ... \code{Vosges} \code{Yonne}} \item{\code{Crime_pers}}{Population per Crime against persons. Source: A2 (Comptes general, 1825-1830)} \item{\code{Crime_prop}}{Population per Crime against property. Source: A2 (Compte general, 1825-1830)} \item{\code{Literacy}}{Percent Read & Write: Percent of military conscripts who can read and write. Source: A2 } \item{\code{Donations}}{Donations to the poor. Source: A2 (Bulletin des lois)} \item{\code{Infants}}{Population per illegitimate birth. Source: A2 (Bureau des Longitudes, 1817-1821)} \item{\code{Suicides}}{Population per suicide. Source: A2 (Compte general, 1827-1830)} \item{\code{MainCity}}{Size of principal city ('1:Sm', '2:Med', '3:Lg'), used as a surrogate for population density. Large refers to the top 10, small to the bottom 10; all the rest are classed Medium. Source: A1. An ordered factor with levels \code{1:Sm} < \code{2:Med} < \code{3:Lg}} \item{\code{Wealth}}{Per capita tax on personal property. A ranked index based on taxes on personal and movable property per inhabitant. Source: A1} \item{\code{Commerce}}{Commerce and Industry, measured by the rank of the number of patents / population. Source: A1} \item{\code{Clergy}}{Distribution of clergy, measured by the rank of the number of Catholic priests in active service / population. Source: A1 (Almanach officiel du clergy, 1829)} \item{\code{Crime_parents}}{Crimes against parents, measured by the rank of the ratio of crimes against parents to all crimes-- Average for the years 1825-1830. Source: A1 (Compte general) } \item{\code{Infanticide}}{Infanticides per capita. A ranked ratio of number of infanticides to population-- Average for the years 1825-1830. Source: A1 (Compte general) } \item{\code{Donation_clergy}}{Donations to the clergy. A ranked ratio of the number of bequests and donations inter vivios to population-- Average for the years 1815-1824. Source: A1 (Bull. des lois, ordunn. d'autorisation) } \item{\code{Lottery}}{Per capita wager on Royal Lottery. Ranked ratio of the proceeds bet on the royal lottery to population--- Average for the years 1822-1826. Source: A1 (Compte rendus par le ministre des finances)} \item{\code{Desertion}}{Military desertion, ratio of the number of young soldiers accused of desertion to the force of the military contingent, minus the deficit produced by the insufficiency of available billets-- Average of the years 1825-1827. Source: A1 (Compte du ministere du guerre, 1829 etat V) } \item{\code{Instruction}}{Instruction. Ranks recorded from Guerry's map of Instruction. Note: this is inversely related to \code{Literacy} (as defined here)} \item{\code{Prostitutes}}{Prostitutes in Paris. Number of prostitutes registered in Paris from 1816 to 1834, classified by the department of their birth Source: Parent-Duchatelet (1836), \emph{De la prostitution en Paris}} \item{\code{Distance}}{Distance to Paris (km). Distance of each department centroid to the centroid of the Seine (Paris) Source: calculated from department centroids } \item{\code{Area}}{Area (1000 km^2). Source: Angeville (1836) } \item{\code{Pop1831}}{1831 population. Population in 1831, taken from Angeville (1836), \emph{Essai sur la Statistique de la Population francaise}, in 1000s } } } \details{ Note that most of the variables (e.g., \code{Crime_pers}) are scaled so that 'more is better' morally. Values for the quantitative variables displayed on Guerry's maps were taken from Table A2 in the English translation of Guerry (1833) by Whitt and Reinking. Values for the ranked variables were taken from Table A1, with some corrections applied. The maximum is indicated by rank 1, and the minimum by rank 86. } \source{ Angeville, A. (1836). \emph{Essai sur la Statistique de la Population fran?aise} Paris: F. Doufour. Guerry, A.-M. (1833). \emph{Essai sur la statistique morale de la France} Paris: Crochard. English translation: Hugh P. Whitt and Victor W. Reinking, Lewiston, N.Y. : Edwin Mellen Press, 2002. Parent-Duchatelet, A. (1836). \emph{De la prostitution dans la ville de Paris}, 3rd ed, 1857, p. 32, 36 } \references{ Dray, S., & Jombart, T. (2011). Revisiting Guerry's data: Introducing spatial constraints in multivariate analysis. \emph{Annals of Applied Statistics}, \bold{5}, 2278-2299 Brunsdon, C. and Dykes, J. (2007). Geographically weighted visualization: Interactive graphics for scale-varying exploratory analysis. \emph{Geographical Information Science Research Conference (GISRUK 07)}, NUI Maynooth, Ireland, April, 2007. Friendly, M. (2007). A.-M. Guerry's Moral Statistics of France: Challenges for Multivariable Spatial Analysis. \emph{Statistical Science}, 22, 368-399. Friendly, M. (2007). Data from A.-M. Guerry, Essay on the Moral Statistics of France (1833), \url{https://www.datavis.ca/gallery/guerry/guerrydat.html}. } \seealso{ \code{\link{Angeville}} for other analysis variables } \examples{ library(car) data(Guerry) # Is there a relation between crime and literacy? # Plot personal crime rate vs. literacy, using data ellipses. # Identify the departments that stand out set.seed(12315) with(Guerry,{ dataEllipse(Literacy, Crime_pers, levels = 0.68, ylim = c(0,40000), xlim = c(0, 80), ylab="Pop. per crime against persons", xlab="Percent who can read & write", pch = 16, grid = FALSE, id = list(method="mahal", n = 8, labels=Department, location="avoid", cex=1.2), center.pch = 3, center.cex=5, cex.lab=1.5) # add a 95% ellipse dataEllipse(Literacy, Crime_pers, levels = 0.95, add=TRUE, ylim = c(0,40000), xlim = c(0, 80), lwd=2, lty="longdash", col="gray", center.pch = FALSE ) # add the LS line and a loess smooth. abline( lm(Crime_pers ~ Literacy), lwd=2) lines(loess.smooth(Literacy, Crime_pers), col="red", lwd=3) } ) # A corrgram to show the relations among the main moral variables # Re-arrange variables by PCA ordering. library(corrgram) corrgram(Guerry[,4:9], upper=panel.ellipse, order=TRUE) } \keyword{datasets} Guerry/man/Angeville.Rd0000644000176200001440000001054714425210321014500 0ustar liggesusers\name{Angeville} \Rdversion{1.1} \alias{Angeville} \docType{data} \title{ Data from d'Angeville (1836) on the population of France } \description{ Adolph d'Angeville (1836) presented a comprehensive statistical summary of nearly every known measurable characteristic of the French population (by department) in his \emph{Essai sur la Statistique de la Population francaise}. Using the graphic method of shaded (choropleth) maps invented by Baron Charles Dupin and applied to significant social questions by Guerry, Angeville's \emph{Essai} became the first broad and general application of principles of graphic representation to national industrial and population data. The collection of variables in the data frame \code{Angeville} is a small subset of over 120 columns presented in 8 tables and many graphic maps. } \usage{data(Angeville)} \format{ A data frame with 86 observations on the following 16 variables. \describe{ \item{\code{dept}}{a numeric vector} \item{\code{Department}}{Department name: a factor with levels \code{Ain} \code{Aisne} ... \code{Vosges} \code{Yonne}} \item{\code{Mortality}}{Mortality: Number of births to give 100 people at age 21 (T1:13)} \item{\code{Marriages}}{Number of marriages per 1000 men aged 21 (T1:15)} \item{\code{Legit_births}}{Annual no. of legitimate births (T2:17)} \item{\code{Illeg_births}}{Annual no. of illegitimate births (T2:18)} \item{\code{Recruits}}{Number of people registered for military recruitment from 1825-1833 (T3:32)} \item{\code{Conscripts}}{Number of inhabitants per military conscript (T3:33)} \item{\code{Exemptions}}{Number of military exemptions per 1000 all of physical causes (T3:47)} \item{\code{Farmers}}{Number of farmers during the census in 1831 (T4:65)} \item{\code{Recruits_ignorant}}{Average number of ignorant recruits per 1000 (T5:69)} \item{\code{Schoolchildren}}{Number of schoolchildren per 1000 inhabitants (T5:71)} \item{\code{Windows_doors}}{Number of windows & doors in houses per 100 inhabitants (T5:72). This is sometimes taken as an indicator of household wealth.} \item{\code{Primary_schools}}{"Number of primary schools (T5:74)} \item{\code{Life_exp}}{Life expectancy in years (T1:9a,9b)} \item{\code{Pop1831}}{Population in 1831} } } \details{ ID codes for \code{dept} were modified from those in Angeville's tables to match those used in \code{\link{Guerry}}. Angeville's variables are recorded in a variety of different ways and some of these were calculated from other columns in his tables not included here. As well, the variable names and labels used here were often shortened from the more complete descriptions given by d'Angeville. The notation "(Tn:k)" indicates that the variable used here came from Table n, Column k. } \source{ Angeville, A. d' (1836). \emph{Essai sur la Statistique de la Population francaise}, Paris: F. Darfour. The data was digitally scanned from Angeville's tables using OCR software, then extensively edited to correct obvious errors and finally subjected to some consistency checks using the column totals and ranked values he provided. } \references{ Whitt, H. P. (2007). Modernism, internal colonialism, and the direction of violence: suicide and crimes against persons in France, 1825-1830. Unpublished ms. } \examples{ library(Guerry) library(sp) library(RColorBrewer) data(Guerry) data(gfrance) data(Angeville) gf <- gfrance # the SpatialPolygonsDataFrame # Add some Angeville variables, transform them to ranks gf$Mortality <- rank(Angeville$Mortality) gf$Marriages <- rank(Angeville$Marriages) gf$Legit_births <- rank(Angeville$Legit_births) gf$Illeg_births <- rank(Angeville$Illeg_births) gf$Farmers <- rank(Angeville$Farmers) gf$Schoolchildren <- rank(Angeville$Schoolchildren) # plot them on map of France my.palette <- rev(brewer.pal(n = 9, name = "PuBu")) spplot(gf, c("Mortality", "Marriages", "Legit_births", "Illeg_births", "Farmers", "Schoolchildren"), names.attr = c("Mortality", "Marriages", "Legit_births", "Illeg_births", "Farmers", "Schoolchildren"), layout=c(3,2), as.table=TRUE, col.regions = my.palette, cuts = 8, # col = "transparent", main="Angeville variables") } \keyword{datasets} Guerry/DESCRIPTION0000644000176200001440000000362414516023372013245 0ustar liggesusersPackage: Guerry Type: Package Title: Maps, Data and Methods Related to Guerry (1833) "Moral Statistics of France" Version: 1.8.3 Date: 2023-10-24 Authors@R: c( person(given = "Michael", family = "Friendly", role=c("aut", "cre"), email="friendly@yorku.ca", comment = c(ORCID = "0000-0002-3237-0941")), person(given = "Stephane", family = "Dray", role="aut", email="stephane.dray@univ-lyon1.fr", comment = c(ORCID = "0000-0003-0153-1105")), person(given = "Roger", family = "Bivand", role="ctb", email = "Roger.Bivand@nhh.no") ) Maintainer: Michael Friendly Encoding: UTF-8 Language: en-US Depends: R (>= 3.5.0) Imports: sp Suggests: knitr, sf, spdep, ade4, adegraphics, adespatial, RColorBrewer, corrgram, car, effects, rmarkdown, here, ggplot2, ggpcp, ggrepel, heplots, patchwork, candisc, colorspace, scales, remotes, dplyr, tidyr Description: Maps of France in 1830, multivariate datasets from A.-M. Guerry and others, and statistical and graphic methods related to Guerry's "Moral Statistics of France". The goal is to facilitate the exploration and development of statistical and graphic methods for multivariate data in a geospatial context of historical interest. License: GPL URL: https://github.com/friendly/Guerry BugReports: https://github.com/friendly/Guerry/issues LazyLoad: yes LazyData: yes VignetteBuilder: knitr NeedsCompilation: no Packaged: 2023-10-24 16:55:48 UTC; friendly Author: Michael Friendly [aut, cre] (), Stephane Dray [aut] (), Roger Bivand [ctb] Repository: CRAN Date/Publication: 2023-10-24 20:20:10 UTC Guerry/build/0000755000176200001440000000000014515773424012642 5ustar liggesusersGuerry/build/vignette.rds0000644000176200001440000000046014515773424015201 0ustar liggesusersR]K0֏}DC_`o¨2݃4j F:/_MmG}IϹ9{ӷ)!dHa@CH0KlߋO&vJiL2$/?Juu\ ÛpW{.IW-}AV(PqQziD&UCjۛ AOZ{0IĴPX 5 (ǩyt]͟n'}:9(=c$TH%Z e?ђoy?jٱDov7y~ۥqELB+-ɻz?@ZGuerry/build/partial.rdb0000644000176200001440000001621114515773401014763 0ustar liggesusers=vF,Y-qIlDz"%J'^Zn3" hq?`Ιyߘy/0=u " {oݭPT*՗;bzw": p}?5[E$w`+q*/h e .monlz h4Tܸ.4a]쮒P} B4_ Ön(:?,֫k'`Os.-WVO5C CڏK/Ljْ!SUR]_,!ݥU=KSl~&+8s٧5jlUPq_(L^w yXk{ի4T}PK{qn;Ὥw5jm=zzxA\M>3D˕m(/!~) mUˈ_%H-_ ^hC/#JD* ,= di+@t BsM&u?ǖxo *Q@p!^!GY7Ԭ)А,0C;4|^P~dK7wp/G/ +ͅ[n;& UA44OE$QMA70TlRI&SQXq$33wf )X,3-Y4V"t<`u02<"D/l9lhTKAF: ƲiN"K \Wkyra(5ӵ9(U2,VⱿ$VlY7-Ze2hNDMQh,Rej pL(3!Tb uLx 9JE!u~&DɁlUl (75"s$/QFkUV S&5ʚʾj d<,)1*⫑yZD7L[4jɶVUYm-jW{ 5XdmP\/p <}f ^a E~84IL9&5 d: ?*DuY=GfkA3&5Hd4N԰Y.V5!e,pl<]0hCfS;e 1AY̜C>EicGak*Lr=r@ђRfl!kHEXY}ˤK4\@_LfeC+cM9b1 +rb5"K3Av@J>rxbzD7FElk- btSFgZK  YaIeK#0bMlLCu5`|qDREӡk}ȌX2㾘g y g\ڤ@XXiзֱD!?A|jN5b9C ^'I9 T~ x 8R~}gw}{AiGzFOuǨQq6Ru`A1oGSܞlz%`9aʱB#䣑IuX^τ1HBz#E$`ñj28DvBML9#scdp| ~dKjs+gf)OQ9O1gs}QLNOMf)OQ=Gj,BmDHFLe-UCbEx:8P{JBUV@*.I w}54>'ƅgwI ziUb'uدeDa<̉͢VG23//vL$r3SN߹.ZkAQ[]pc>:6 *;[XTRLk3Ss,GK ~Zї] pQ~+Rb ^Rt8qDT26~'t Sm 3NqIAƀ} f件Q")ñ¯ۺ"a$sCP˵azW;:HI|9LucLAz'\f8=M۫9uVbç#ZLcմ"l yGoBɠKTO1_ M'3%MьEФf2&QHhiDE+#7/ijB:UM-岮hV.! 2rĤF&u+*1fBX Bа(l !gL[2EAIџaV5+1 JROJdn|4RuAe];U`agwt>a68>>fV@dHcQ,M?kñM}<4Ͱ'FԴ2O o"U*6tg#rUsE~X-ibY -VjTωڱZ9O_ByitJS &H n&K7anftKRˢijWgj@"%)*鐳X7\kFYiL|禮!RF3Yՙ0lw&6/%K똈u G&(%/|DMUouxfU07m$*"5c]Ёv۪mdzNQ{ǓQ0TiF)N,ME3;:;y4zئܳuѺtYf뀁0]kJvz̸ϚZK8Y>MWL(v{2a|VAZM n:@dT.93a+t={t{ʉB,*5{%0e1!_ M)[otސj$ 2eAVM w`[o <퇹*[nyeUbov3YuV]66 ^0 RNy8h"mT[JBn"YP"-ķbV$󋡺n#Y; ,.R77Hk%̦,1O f)25Ȟ'9Sݔz|Qocp`D>V{ -(=g)X7pȼ\rjgIAj^BR$hLO/d\d~0xmp69JL>Wsyߦ^Dчn%CYS05-DK{"3sdp:7Ү !ʀ[! HIvq Ay(Bu!~5@i[u!^ϵ^>E#=t8[D%÷֡DYGI1}j&X[6JP48O8P> G%gyHRU܁{ZElrf ~%˝q圉 >:ѷʫWP]7y26^ra<+V3H1"[Rp+6xRFX,k)M#1xt; O'v)@^~NZM91υlTr?QS>d!Cp?pByEsC%ߖY3"4,Q7;}?tt~71v:}e"74 |@V3dY0JZܤ@ҷoG0 8&=LUfDnjz:|5Hgi.5W;"UФA|E:iL;p/R7e30ob翟p`Lm_Pq]Wd*qR-Z/SY27nſCi271\ Yij7P.xo,5Ք45M^S3M;u?"qo ~#2=` P\B̤k""8ۏ%"3U#Q#r0=&q.1R82e^9 -(,S)& Ҟ8x^ȿxNi2ˑ9bl uUӬJ%R4ݐMj`J:t SEx 8ԪgdUIE'T^'U܉W9zlX38n"x1r9 7zP.H/q9ۋ f#̾eX癔Ry~XΎ:̈́lO-tfע˞$ Q~b۪y^C<΁9!Tׇ ģ e?&3'g&1Enu) ՙ D# F0%\Q̖ޅBnv:KqhD8ǝA>"q^:xe?u$`|3 5502q[ˆĕUb ʡSPDǞx"r>bv V{t n9 w1e`Ȩ,jQ:bϲMyF N">{ײ"pa<׵rw$DݜpR)C2,o1&ʚMeԪ!H#,!^: m `rtOi Bq9ͅGG?{"#Bq#Bsf _sse DOM;>62(irSTLnLTo;RaמPmLvepN'u4غɱw3 {ӆίMy34{[i#ͶDH* ̓vy:A\O.pōΛ$gp= Wb AwtB{_ 3(kGEP%C+!1@3o.٬5XZ\!;"[uE^eH꾬dvjle~y@VY%:kdy2f5z "N{oڅGeB"=Gb^dPO c)yKCXHiQim1h?U q8?uW]*(aj@-}8L@H9o?y/%zw" P +Le&3dQX%iVIV^D $WX CZG3`+|>yn+֝`,(J,t}Z? MQH;ao0|wXvx\\cw(# ,]~xE$&H 剤5exe02= `d ^1EA\7hoocrCE5@xoUz@ O#jt&)b3<7 TxP.'U? U? Gh1n0o  "4"}к;j"(:$^ ^Q[KQ .Tx}'~d;#E,]DCX r@d|VV~/t+spAqWU%ĕcuo P04' ?{tfj< OmB[G" Rfv}aEiǬLeF/Tg,`R>:x**f`~2_l=E D7Y=u1k5CU{>p51!xsmdʿxʴStC.MyRಯ⁳2+AYuRj  2|.r^b\|55j|vy]S ȮNaخ:7m(}_kMڝ",ېuup"Ը@LKNZձ.i}JGԘc(1+8vI|PM3Mr*&:WB/1g̥t('-5E}C[_tX3>;tZӶVU흿i9v\^N)j}k< xx:SSCP! /'FН 5]X-ZZMɏx+ 'gsNgffE0h6/eNc֬Iguv 4\uXhDA^H6oUߗ ټ-=q67}?7'GvA>/f^u};P%y=Dči_ᆧCl7]cB_v;1{wcECDYgK++q/E8,1 }YxðlzBR~aqpx߹Mٙ$Y> C;6>,p 7ߌeۘ ^k_YK?>GNN!>E_}::(]mQ(xPUugבwe49*k?) E?D]F6@fRRXʯoo#)GCgy[\@GvC.l~9 dq6x|9e9'w8ev)gFHK{GOppeof[Ojt0ُnֽtRIx硩?{Guerry/vignettes/0000755000176200001440000000000014515773424013553 5ustar liggesusersGuerry/vignettes/guerry-multivariate.Rmd0000644000176200001440000005455514513000475020241 0ustar liggesusers--- title: "Guerry data: Multivariate Analysis" author: "Michael Friendly" date: "`r Sys.Date()`" package: Guerry output: rmarkdown::html_vignette: toc: true toc_depth: 2 bibliography: ["refs.bib", "packages.bib"] link-citations: yes vignette: > %\VignetteIndexEntry{Guerry data: Multivariate Analysis} %\VignetteKeywords{crime, literacy, suicide, France, multivariate analysis} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, warning = FALSE, message = FALSE, # suppress package loading messages comment = "#>", fig.height = 5, fig.width = 5, dpi = 96 ) # packages to be cited here. Code at the end automatically updates packages.bib to.cite <- c("car", "effects", "ggplot2", "GGally", "ggbiplot") ``` André-Michel Guerry's _Essai sur la Statistique Morale de la France_ [@Guerry:1833] collected data on crimes, suicide, literacy and other "moral statistics" for various départements in France. He provided the first real social data analysis, using graphics and maps to summarize this multivariate dataset. One of his main goals in this ground-breaking study was to determine if the prevalence of crime in France could be explained by other social variables. In 1833, the scatterplot had not yet been invented; the idea of a correlation or a regression was still 50 years in the future [@Galton:1886]. Guerry displayed his data in shaded choropleth maps and semi-graphic tables and argued how these could be seen as implying systematic, lawful relations among moral variables. In this analysis, we ignore the spatial context of the départements and focus on multivariate analyses of the the data set. # Load data and packages We will primarily use the following packages, so load them now. ```{r load} library(Guerry) # Guerry data library(car) # better scatterplots library(effects) # Effect Displays for Linear Models library(ggplot2) # Elegant Data Visualisations Using the Grammar of Graphics library(ggrepel) # better handling of text labels library(patchwork) # combine plots library(heplots) # Hypothesis-Error plots library(candisc) # Visualizing Generalized Canonical Discriminant Analysis library(dplyr) # A Grammar of Data Manipulation library(tidyr) # Tidy Messy Data data(Guerry) ``` ## `Guerry` data set Guerry's (1833) data consisted of six main moral variables shown in the table below. He wanted all of these to be recorded on aligned scales so that **larger** numbers consistently reflected "**morally better**". Thus, four of the variables are recorded in the inverse form, as "Population per ...". | Name | Description | |:------------|:-----------------------------------------------------| |`Crime_pers` | Population per crime against persons | |`Crime_prop` | Population per crime against property | |`Literacy` | Percent of military conscripts who can read and write| |`Donations` | Donations to the poor | |`Infants` | Population per illegitimate birth | |`Suicides` | Population per suicide | The `Guerry` data set also contains: * `dept` and `Department`, the French ID numbers and names for the 86 départements of metropolitan France in 1830, including Corsica. * `Region`: a factor with main levels "N", "S", "E", "W", "C". Corsica is coded as `NA`. * A collection of 14 other related variables from other sources at the same time. See `?Guerry` for their precise definitions. ```{r guerry-more-vars} names(Guerry)[-(1:9)] ``` Among these, as other aspects of criminal behavior, we see crime against parents, `Infanticide` and `Prostitutes`. `Clergy` and `Donations_clergy` are considered to be measures of moral rectitude, potentially counteracting crime. ## Guerry's questions The main questions that concerned Guerry were whether indicators of crime could be shown to be related to factors which might be considered to ameliorate crime. Among these, Guerry focused most on `Literacy` defined as the number of military conscripts who could do more than mark an "X" on their enrollment form. A related variable is `Instruction`, the rank recorded from Guerry's map; as defined, it is inversely related to `Literacy`. Other potential explanatory variables are: : `Donations` (a measure of donations to the poor), : `Donation_clergy` (a measure of donations to clergy) : `Clergy` (the rank of number of Catholic priests in active service, per population) # Multivariate visualization methods Visualization methods for multivariate data take an enormous variety of forms simply because more than two dimensions of data offer exponentially increasingly possibilities. It is useful to distinguish several broad categories: * __data plots__ : primarily plot the raw data, often with annotations to aid interpretation (regression lines and smooths, data ellipses, marginal distributions) * __model plots__ : primarily plot the results of a fitted model, considering that the fitted model may involve more variables than can be shown in a static 2D plot. Some examples are: Added variable plots, effect plots, coefficient plots, ... * __diagnostic plots__ : indicating potential problems with the fitted model. These include residual plots, influence plots, plots for testing homogeneity of variance and so forth. * __dimension reduction plots__ : plot representations of the data into a space of fewer dimensions than the number of variables in the data set. Simple examples include principal components analysis (PCA) and the related biplots, and multidimensional scaling (MDS) methods. # Data plots Data plots portray the data in a space where the coordinate axes are the observed variables. * 1D plots include line plots, histograms and density estimates * 2D plots are most often scatterplots, but contour plots or hex-binned plots are also useful when the sample size is large. * For higher dimensions, biplots, showing the data in principal components space, together with vectors representing the correlations among variables, are often the most useful. ## Density plots It is useful to examine the distributions of the variables and **density** plots are quite informative. I want to do this for each of the 6 main variables, so I'll use this trick of tidy data analysis with `ggplot2`: 1. Reshape the data from wide to long. This gives `guerry_long`, where the different variables are in a column labeled `variable` and the values are in `value`. ```{r guerry-long} data("Guerry", package="Guerry") guerry_long <- Guerry |> filter(!is.na(Region)) |> select(dept:Suicides) |> pivot_longer(cols = Crime_pers:Suicides, names_to = "variable", values_to = "value") guerry_long ``` 2. Plot the density, but make a different subplot by `facet_wrap(~ variable)`. These plots all have different scales for the X and Y (density) values, so it is important to use `scales="FREE"`. Moreover, I'm primarily interested in the **shape** of these distributions, so I suppress the Y axis tick marks and labels. ```{r guerry-density1} #| out.width = "100%" ggplot(data = guerry_long, aes(x=value, fill=TRUE)) + geom_density(alpha=0.2) + geom_rug() + facet_wrap(~variable, scales="free") + theme_bw(base_size = 14) + theme(legend.position = "none", axis.ticks.y=element_blank(), axis.text.y=element_blank()) ``` You can see that all variables are positively skewed, `Donations`, `Infants` and `Suicides` particularly so, but not so much as to cause alarm. It is also of interest to see whether and how these distributions differ according to `Region`. This is easy to do, using `aes(... fill=Region)` ```{r guerry-density2} #| out.width = "100%", #| fig.height = 6 col.region <- colors()[c(149, 254, 468, 552, 26)] # colors for region ggplot(data = guerry_long, aes(x=value, fill=Region)) + geom_density(alpha=0.2) + geom_rug() + facet_wrap(~variable, scales="free") + scale_fill_manual(values=col.region) + theme_bw(base_size = 14) + theme(legend.position = "bottom", axis.ticks.y=element_blank(), axis.text.y=element_blank()) ``` For some variables, like `Infants` and `Suicides` the differences do not seem particularly large. However, both crime variables and `Literacy` show marked differences across region. ## Bivariate relations Let's start with plots of crime (`Crime_pers` and `Crime_prop`) in relation to `Literacy`. A simple scatterplot is not very informative. All that can be seen is that there is not much of a relation between personal crime and literacy. ```{r lit-pers-scat0} ggplot(aes(x=Literacy, y=Crime_pers/1000), data=Guerry) + geom_point(size=2) ``` More useful scatterplots are annotated with additional statistical summaries to aid interpretation: * linear regression line, * smoothed non-parametric (loess) curve, to diagnose potential non-linear relations, * data ellipses, to highlight the overall trend and variability, * point labels for potentially outlying or influential points. I use `ggplot2` here. It provides most of these features, except that to label unusual points, I calculate the Mahalanobis squared distance of all points from the grand means. ```{r lit-pers-scat} gdf <- Guerry[, c("Literacy", "Crime_pers", "Department")] gdf$dsq <- mahalanobis(gdf[,1:2], colMeans(gdf[,1:2]), cov(gdf[,1:2])) ggplot(aes(x=Literacy, y=Crime_pers/1000, label=Department), data=gdf) + geom_point(size=2) + stat_ellipse(level=0.68, color="blue", size=1.2) + stat_ellipse(level=0.95, color="gray", size=1, linetype=2) + geom_smooth(method="lm", formula=y~x, fill="lightblue") + geom_smooth(method="loess", formula=y~x, color="red", se=FALSE) + geom_label_repel(data = gdf[gdf$dsq > 4.6,]) + theme_bw() ``` The flat (blue) regression line and the nearly circular data ellipses show that the correlation is nearly zero; the smoothed (red) curve indicates that there is no tendency for a nonlinear relation. Doing the same for crimes against property: ```{r lit-prop-scat} gdf <- Guerry[, c("Literacy", "Crime_prop", "Department")] gdf$dsq <- mahalanobis(gdf[,1:2], colMeans(gdf[,1:2]), cov(gdf[,1:2])) ggplot(aes(x=Literacy, y=Crime_prop/1000, label=Department), data=gdf) + geom_point(size=2) + stat_ellipse(level=0.68, color="blue", size=1.2) + stat_ellipse(level=0.95, color="gray", size=1, linetype=2) + geom_smooth(method="lm", formula=y~x, fill="lightblue") + geom_smooth(method="loess", formula=y~x, color="red", se=FALSE) + geom_label_repel(data = gdf[gdf$dsq > 4.6,]) + theme_bw() ``` So, somewhat surprisingly, increased literacy is associated with an increase in property crime (greater population per crime) as opposed to the situation with personal crime, which seems unrelated to literacy. Creuse again stands out as an unusual point, one that is likely to be influential in regression models. ## Reconnaisance plots Reconnaisance plots attempt to give a bird's-eye overview of a multivariate data set. For example, to see the relations among more than two variables we could turn to a scatterplot matrix or some other display to show all pairwise bivariate relations. For these, my preferred package is `car` [@R-car] with the `scatterplotMatrix` function. `GGally` [@R-GGally] works within the the `ggplot2` framework, but doesn't have the flexibility I'd like. ```{r spm1} #| out.width="100%", #| echo=-1 par(mar=rep(2,4)) library(car) # Companion to Applied Regression scatterplotMatrix(Guerry[,4:9], ellipse=list(levels=0.68), smooth=FALSE) ``` ### Corrgrams Sometimes, particularly with more variables than this, we want to see a more schematic overview. A _correlation diagram_ or "corrgram" [@Friendly:02:corrgram] is a graphic display of a correlation matrix, allowing different renderings of the correlation between each pair of variables: as a shaded box, a pie symbol, a schematic data ellipse, and other options. This is implemented in the `corrgram` package [@R-corrgram]. The panels in the upper and lower triangles can be rendered differently. ```{r corrgram1} #| echo=-1 par(mar=rep(1,4)+.1) library(corrgram) # Plot a Correlogram corrgram(Guerry[,4:9], upper=panel.pie) ``` Or, the data in each pairwise tile can be rendered with data ellipses and smoothed curves to show possible nonlinear relations. Another feature is that the rows/column variables can be permuted to put similar variables together, using the `order` option, which arranges the variables according to similarity of their correlations. ```{r corrgram2} #| echo=-1 par(mar=rep(1,4)+.1) corrgram(Guerry[,4:9], upper=panel.ellipse, order=TRUE, lwd=2) ``` Here, there are a number of pairwise plots that appear markedly nonlinear. For the main crime variables, the most nonlinear are that of personal crime vs. donations to the poor, and property crime vs. infants born out of wedlock and suicides. `Literacy` stands out here as having negative relations with all other variables. An alternative analysis might include: * converting the data to ranks. * considering transformations of some of the variables ## Biplots Rather than viewing the data in **data space**, a biplot shows the data in the **reduced-rank PCA space** that explains most of the variation of the observations. This is essentially a plot of the observation scores on the first principal component overlaid with vectors representing the variables projected into PCA space. First, we use `prcomp()` to carry out the PCA. We'd like to visualize the result in relation to `Region`, so delete Corsica where `Region` is missing. ```{r guerry.pca} gdata <- Guerry |> select(Region, Crime_pers:Suicides) |> # keep only main variables filter(!is.na(Region)) # delete Corsica (Region==NA) guerry.pca <- gdata |> select(-Region) |> prcomp(scale = TRUE) print(guerry.pca, digits=3) ``` In the `ggplot2` framework, biplots can be produced by the `ggbiplot` package [@R-ggbiplot], but this package is not on CRAN, so cannot be directly used in this vignette. Instead, the code below was run locally and the result included. ```{r biplot1} #| eval=FALSE if(!require(ggbiplot)) remotes::install_github("vqv/ggbiplot") library(ggbiplot) # A ggplot2 based biplot ggbiplot(guerry.pca, groups=gdata$Region, ellipse=TRUE, var.scale = 3, varname.size = 5) + theme_bw() + labs(color="Region") + theme(legend.position = c(0.1, 0.8)) ``` ```{r ggbiplot} knitr::include_graphics("figures/ggbiplot.png") ``` This is OK, but there are many features of such plots that cannot be customized (line widths, colors, ... ). I prefer those created using the `heplots` package. ```{r biplot2, out.width="95%"} op <- par(mar=c(5,4,1,1)+.1) cols = colorspace::rainbow_hcl(5) covEllipses(guerry.pca$x, group=gdata$Region, pooled=FALSE, fill=TRUE, fill.alpha=0.1, col=cols, label.pos=c(3,0,1,1,3), cex=2, xlim=c(-4,4), ylim=c(-4,4), xlab = "Dimension 1 (35.7 %)", ylab = "Dimension 2 (20.0 %)", cex.lab=1.4 ) points(guerry.pca$x, pch=(15:19)[Guerry$Region], col=cols[Guerry$Region]) candisc::vectors(guerry.pca$rotation, scale=5, col="black", lwd=3, cex=1.4, pos = c(4,2,4,2,2,2), xpd=TRUE) abline(h=0, v=0, col=gray(.70)) ``` An interpretation can be read from both the directions of the variable arrows and the relative positions of the ellipses representing the scatter of the component scores for the different regions. * The first component is largely aligned positively with `Literacy` and negatively with property crime, suicides and children born out of wedlock (`Infants`) * The second dimension reflects mainly the correlation of personal crime and donations to the poor. * The South region is generally lower on PC2, the West, generally higher. * The North stands out as being higher than the others on PC1; the West somewhat higher on PC2. # Models Here we illustrate: * Model based plots for linear regression models predicting personal crime and property crime * Multivariate analysis of variance (MANOVA) and HE plots for the joint relation of the crime variables to other predictors. ## Predicting crime: Univariate regression The simplest approach to predicting the crime variables would be to fit a separate multiple regression to each. ```{r mra-models} crime.mod1 <- lm(Crime_pers ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) crime.mod2 <- lm(Crime_prop ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) ``` Tests for the predictors are best obtained using `car::Anova()` which gives **partial** (Type II) tests, adjusting for other predictors, rather than the **sequential** (Type I) tests provided by `stats::anova()` ```{r mra-anova} Anova(crime.mod1) Anova(crime.mod2) ``` These are somewhat disappointing if you look only at the significance stars: Only `Region` is significant for personal crime and only `Suicides` for property crime. There is no evidence for the argument, supported by the liberal hygenicists of Guerry's time, that increased `Literacy` would reduce crime. For such models, we can understand the nature of the predicted effects using the `effects` package. The (marginal) effect for a given term gives the predicted values, averaging over all other terms in the model. ```{r mra-effect1-code} #| eval=FALSE plot(predictorEffects(crime.mod1, ~ Region + Literacy + Infants + Suicides), lwd=2, main="") ``` ```{r mra-effect1} #| echo = FALSE knitr::include_graphics("figures/mra-effect1.png") ``` Doing the same for property crime, we get: ```{r mra-effect2-code} #| eval=FALSE plot(predictorEffects(crime.mod2, ~ Region + Literacy + Infants + Suicides), lwd=2, main="") ``` ```{r mra-effect2} #| echo = FALSE knitr::include_graphics("figures/mra-effect2.png") ``` ## Predicting crime: Multivariate regression The two regression models can be fit together in a multivariate regression for both crime variables jointly. ```{r manova1} crime.mod <- lm(cbind(Crime_pers, Crime_prop) ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) Anova(crime.mod) ``` As a quick check on the assumption that the residuals are bivariate normally distributed and a check for outliers, a $\chi^2$ Q-Q plot graphs the squared Mahalanobis distances of the residuals against the corresponding $\chi^2_2$ quantiles these would have in a bivariate normal distribution. The data for Creuse stands out as a potential outlier. ```{r cqplot} #| echo=-1 par(mar=c(3,3,1,1)+.1) labels <- paste0(Guerry$dept,":", Guerry$Department) cqplot(crime.mod, id.n=4, labels=labels) ``` ### HE plots Hypothesis-Error (HE) plots [@Friendly:2007:heplots; @FoxFriendlyMonette:09:compstat; @heplots] provide a convenient graphical summary of hypothesis tests in multivariate linear model. They plot a data ellipse for the residuals in the model, representing the $\mathbf{E}$ matrix in the test statistics (Roy's maximum root test, Pillai and Hotelling trace criteria and Wilks' Lambda). Overlaid on this are $\mathbf{H}$ ellipses for each term in the model, representing the data ellipses for the fitted values. Using Roy's test, these have a convenient interpretation: a term is significant _iff_ the H ellipse projects anywhere outside the E ellipse. For a 1 df (regression) variable, the H ellipse collapses to a line. ```{r heplot} #| echo=-1 par(mar = c(3,3,1,1)+.1) heplot(crime.mod, fill=TRUE, fill.alpha=0.05, cex=1.4, cex.lab=1.3 ) ``` In this plot, the effect of `Suicides` is completely aligned with crimes against property. The effect of `Region` is positively correlated with both types of crime. The means for the regions show that the South of France is lower (worse) on personal crime; the other regions vary most in property crime, with the North being lower and the Center being higher. ### Canonical plots The HE plot displays these relations in **data space**. An alternative is provided by canonical discriminant analysis, which finds the weighted sums of the response variables leading to the largest test statistics for the terms, which can be visualized in **canonical space**. The analysis below reflects the effect of `Region` in relation to both crime variables. ```{r candisc} crime.can <- candisc(crime.mod) crime.can ``` The HE plot for this analysis is shown below. Variable vector represent the correlations of the crime variables with the canonical dimension. ```{r hecan} #| echo=-1 par(mar = c(3,3,1,1)+.1) heplot(crime.can, fill=TRUE, fill.alpha=0.1, var.col = "black", var.cex = 1.3, cex=1.4, cex.lab=1.3) ``` This gives a simple interpretation of the differences in `Region` on the crime variables. The first canonical dimension accounts for 83% of differences among the regions, and this is nearly perfectly aligned with personal crime, with the largest difference between the South and the other regions. The second canonical dimension, accounting for the remaining 17%, is perfectly aligned with property crime. On this dimension, the North stands out compared to the other regions. ```{r write-bib, echo = FALSE} # write a packages.bib file of the packages (.packages()) that have been used here pkgs <- unique(c(to.cite, .packages())) knitr::write_bib(pkgs, file = here::here("vignettes", "packages.bib")) ``` # References Guerry/vignettes/figures/0000755000176200001440000000000014425210321015175 5ustar liggesusersGuerry/vignettes/figures/mra-effect1.png0000644000176200001440000002567314425210321020012 0ustar liggesusersPNG  IHDRRS/PLTE:f&:::f:ff::::f::::::::ff:f:fffff:::ff۶ffېې:fېT pHYsod IDATx c:zl;xMl;:q^MO'>f| ^#@H ()P R@)HR J@ ()P R@)HR J@ ()P R@)HR J@ ()P R@)HR J@ ()P R@)HRO-nF|e,ko϶Z͈;tDx{-nFߡ ۳mw3"ޞm˵w%l[݌ȿC/AgrfD: "aC`گYxjGk/vuNT*5ڻ xFoE(U j~yx_y0h5>~GQT)(j'yRzf/rg ooU,TP*;jUj^G}X.G jP>( (5c*O,~fq Pj+ժRʘ7HuJ͋rvop(ѕxz֯گR0Gٶ9uunN)UTΥ!: JݚWaP*R/Թ#Xkn0Wif+kip IJM)q$pn9FD~+YHT׌k>pn@)MQ!ΥE_*7?絺 I'pj<7({o-ʧ4v-[ ~RP!P܉NNVh|U+۷mvNMOډT;.`͘x+ C}\ݾa8 VJEnM%|NP~hϋY3h0|_~;:etGQj9(O Y3hɋ˗zno)WxN&=ʗze֌eEƋRpԷXJ~#YWnA9{KXJݹYW;byb3";q?Q jG[PNJYRQ~PJt#ZWnA9)ew{ l*)x,N]XnA5(A)߂ɔrk{XA@)j RR*jGWnAA)⦟(z#.2!uneQ ڑ{7[P9ZkK)ʦ1 ڑy/`[PRaDS)^RW;23r{TaT)#λNv[PzNEq87RPw[+2ye֌eğ5J9x:R R7nmȤ.'{{>Yx_=q=Ô#Vx7{bz_^)k`=K!AK!dPoI8R}CIXoTu'9QZJo.=~S~;HG&Vŭfg8R݉Dv$c ϪWjKqRR:V}Y)h"aV bJRUrz9:#Ց}n6YHϻfJ\DJoS^0 [bS@b]=K7+8+36 jTsJ b0y_!3$5DZ`Rkhާ=~AIBzۤqa(Ţj^Ւ#ɲ(F*>z$&wetEEY-~]<{V`eWZ9,ps$B^~E_{ K˄m߄Y_Fb:Xv٫XC3{k%BgqRzuߪQ11YRehnTDxgl=ڕVvl B%*{4:gu gM[{:zAӱYHR J@ ()P R@)HR J@ ()P RZ)9{dj50L[&ӡ|p/*9apIf-s<᧞;Gr,̷/dә&5m5(%3s}Ĵ]mBI<虋ez.%S35鹓S2AVz#g򧚫R3u?o_+5f%_Ie4übS`\sz/jVN)$/^11Nd8~9rpE4 ʮvT JedԐ ?ɑILi)WJ ;N;R*#cq>TMA^ZUE \>8wNԨQR J@ ()P R@)HR J@ ()P R@)HR J@ ()P R@)HR J@ ()P R@)HR J@ ()P R@)HR J@ ()P R@)HR J@ ()P R@)HR J@ ; oa6HOմNvrٕ#=\wR._.2rZ:eWRpUKY'|\ʑj)d/]K9uW-e+s)Gz3Y X#Bm}>Q e]ݧS*Ն#B|B$^[x8JBxz_|}8?^/ @RV3!7}%HURy{/˟ݗ?NJ&^ܽ A朔3]R|>ꓦŰIxAUJ]Rq6ӉމA,[x{ J;)GFwL\~NR*A5o33Brm^俗C'-OrYjRR.!A)%B83n?03Ր;ȒJ`'( ʤR8 J:T0+NTl|RLO*̊ K $ fʼnNP*;ђJIԤR87T0+>ALOʉ=篿sOD(NntR9H 'T7$R,)w_Np_}͆[=ԨɬjnOFsq^ wS4!'#9LJKY A<@yAE(b=A^U̹'dBSdbD. Rh2'"ӫ rTUJQb}O ^ֹr%FPj e/8&$yYnr_沊wmՎ%/GoN]Q֔yu_zY\VZ`=a {!9;=xM'ZP'R#V'bĨkAM枸7$p8VC{ByS\V\J/РSV,pkOHeǟˊQR B AE%4E&퉳Fҿ;Z{B,V wPC jq0x'uä,$|W3(cI-PSPi" ;T*G.IWq&.KRrڙ;WRK0OjC<5ty'~FՑ +0f̈́'b֌e"b*"fXVH*"v؁"b֌e"bwAY(r8ʇ]vAY'{afP6T>"c)wW[PnJN[RNAIFK-('D'-)$;wLlTd2 h={۹0Zջ>/e$x\aƤck85 ?r j||}0kf1'pk'sRvMt,ǣnY3{,ؘ9pΆ[R.AYG?-nAm枨\q.4XMtBܒr 5ì cm^`4)qK) f,+4I >jY3hD5ì 4 0_MlE`JY3hJ;tCk؁`֌e +(Ǭ 4Pv@ؑ;(Ů5cY&r--4J⒳[A}<]JXF9ͽ4f챬iy IDAT^mPVc̚a#IR<(GNLrÿ,fXn.ԆDwJ#a֌Au35yBQa5E\R̚`=y B.*f`=AɈLY3l ?KfIl1kfۍ[A5VPZ>-#s`b~Z) NHQ5fPJsSܚ<--ƭfU`YkUfP#96; jR 0+̚F2';jRʰL5C(mNwGs2GW9&I"f͸y.|7/1х*(j @$Qwjrq`[vr3Au)m8-"x6˂ itix=A~OIjA!gB](O Mȅ2Z"bP_P/ҭZ fPȒWP'>T0+Δ y&N*̊sG|ZXL GF&5֠Rf|IM3KFx&5R|qKQHRI J=!˛($)95[lr+() J=lRTP3j!Ua=AsOﶟ|GiAE'fOAF$ufP2w/#ΥﭥG&(<`}fK}$oSĉ w1sb&Y,hvi{P u`~$D܎D99[A J=CQJ SrjypЪgh_[c7dLjRM :HCrʹ`mwC\ɕ+\J7ݗ,(?\Ve.CT A74!MۮQjxYM}N\-OSK?IxHA(UY}NҤ\6[dT}M{+ PR%N (U̕RʜmRrz8y;&=P*@2REJ*(UP TQVJ=qSU1(Uۮv"R8 U~M~ (Ug1 UYh6k~Uq\t涱~VZ RRsO{Aq3ԿΩ _'ki&y2.23]8U}o .;D$VHJPyNJ]rT*㥠5PwOVlY64PJJQJNV݋sDJMR])٧JIT)J]#V)|J @aEӵsTj\w\A_d5* Z JN)F]ga6HOմNvrٕ#=\wR._.2rZ:eWRpUKY'|\ʑj)d/]K9uW-e+s)Gz{()P R@)HR J@J^[62|mr۬ 6 v3XGUrrev3PJk, r9U{j:*ɩ~`sqG/geYvs[zwfa²(K٬~/^ *2*5/tf;!\.U6v㣂h{.u{yyϛ˘ rܖ>Wt6 w_8Y/(KYz/qXZJm_v [˩Bw.R[i/tLY%ѐ[by1~lr9{j:*m J@ ()P R@)HR J@ ()P R@)H9Rh.8`|:_5ǑTi~ U{JqPj(5Q@t(ŅNדSL/l_~%~6P+[C}˵)5뇿S9VR}EO`rmDǦk TF*3lF%XJ=)D<?m_&tTj8ٖe79ʕ*6(L`/w|6tDiSS{s`)շƿTJ=i3Ɲ~4xݎJ Sm2ǽRn\pu(56ʔRUiBozN&缳sim`)PD =}$`}6{щw`)&>~y=v yk@ސ$k_u)`ѕ 1P R@)HR J@ ()P R@)HR J@ ()P R@)HR J@ и0IENDB`Guerry/vignettes/figures/mra-effect2.png0000644000176200001440000002457114425210321020007 0ustar liggesusersPNG  IHDRRS/PLTE:f&:::f:ff::::f::::::::ff:f:fffff:::ff۶ffېې:fېT pHYsod IDATx 8r7qlf3ƹKܹx;3}@CT*=c)]@((P Q@)DRJ @((P Q@)DRJ @((P Q@)DRJ @((P Q@)DRJ @((P Q@)D)TږmEHIJy͵ZQtdz-ۊ(@/AQtdz-ۊ(@/AQtdz-ۊ(@/AGl,Uh +0o| l:Ռ(JՂQVEV?GH ʎaeQnr%c|.[ @ZЪzJՂZjL!x׵i>X0WR=j!Oޞ?4Їϐ\J% }vP*LЇ#J=IJ6OWׯ/O>@BFO~w'S)c|qTyJ?݁RJBgC_ѓlS/Qx&@)řSVH<݁RɈ7/6gMJU) YHu'R(WYY(Z#Ijr#:VPvJRiO?IQ*_b:T)J>L`y'AWjZ%(}'Y(+3P\vUꂫ_r~Jj죯K@)Oʽz.I UGJ&Z"S+ $¸T- ۳6 eKS*(U 9Cϱ{Tz̶RK((TB~!RdH6MHX 5/RlUR';7H<)諁r X Հ?w ;@)OJjnyw@+O֫#dJY^e&:H]i;@)O{)GR'/bw8Y{IwR0M.RͮM"阬W=U@q)~Gҝ\hE֡AX11rq>;$)uR7RYD`ɗ<7=~!I/ ?QHRB^ɗ>'Ie9I%)كSKSM鞐(Kx}%` VN% r{ߑYTZ?T* p$:#ɓ|sJeSU}2-c?RrXT)MI&b},^9vT}g`8u%abX */OR]*Hh_ k%I)|Yzdlohѩ(E ~MG*NV=RUqw'JeF;ʓث"J|읍хR37viRٔ1u +_{)W۲Vjt0Stc(`ØzՊ.|Jұׯ܏JT:1!+5Jݝ*ToS~@oHi!n'SR@UwO< '+ݝwOp?ou gN՝3Zu^hU=!MS"^$z n*]DZs7~<Rg}RU؅R@%)y}ͨPj0|x 3H'TUBOGR-"gDĔbfH"r\OPKc\heR.6"_TT~l|_" (rׯvJE)ڽ8J1gUڅR@9cZ{=1Rm܄ T}(EH{(TTEj'J0V:Ry8R6A`@JE8YR@e'PJ(dJ QV@)12ʊ(%ZFYqrG'Beg T(UdQ(lCyj, QV(TE2ʊ,LQj}Yke4m*oz7R1E5ο.yD7SN'RJvucB7SL'GWқ2{q:2$5]ɚY>~sm|hpշ˷%8Қd3ːDɢQe==gH:RfNoÌgEz!Z js{tn[+uɢ)Ź=R^픊J-R^(eRPRM/kRPRNJukRYz(5sjozm2ț^(5ܷRQV3Pj (U!jJ~Y)V!Q6Cɶ~[1;lEsVŶ|o+]^lG"KŶ|o+]^lG"KŶ|o+]^lG"K1P Q@)DRJ @((z4I'e:17n_.3IEmbT86wpu~w?^]RW\,9a%WUp1foO{b!fC\ir}~뜼7HĢKQek:'J\;E۷2 Sj.%`OڋO< ?L_b_FZt"J]TRax+Iix$Sie/F ?ˋN_,'ꢋP*N"U)vÏ_tsk rRG(˶˘gy+pe=%J'X+1:$KsˬU^_ucn^dt,k[&*N+pCuG&mQīT<*xA=a|+ev#2S~vZ' sPUJnNZkojo_5:l#sߵ]s_gy+pCtGE {uIǒThwU2`'3R[śzuK7*D] ?KM_Xo>U=Qίפ?/^ş }w9:c:}jqDw-;f@@ۉuf[_# ˆhmDꝾg+p¡^HII}JN#WeY {ϿMg]^ Jcz/չc{9ڨwlǑ32r-AbzRoύ߈#(B`5Kۿt'ƥT1|'n\U/`o܋W2qvR6er]hW͝GT @)DRJ @((P Q@)DRJ @((P Q@)DRJ @((P Q@)DRJ @((P Q@)DRJ @((P Q@)DRJ @((P Q@)DRJ @((P Q@)DRERQʷrlOiPRzֲNur(k)h=TkYj9c{S]|Zʱ=ZZ֩.Ze-j-T_-rlCun,Uh +0o| l:Ռ(JՂQVE@ZPV3ʊ(PV3ʊS@ABTD J|RUڜsYY(+NARs>C*` JmJ?PPjKg(U)Rq>C*H چ(A) Jm\B]i'i>1'(@V?Q4sO7!mCa!NPJB dzpws:}M?mh',F JB0PqxmF)Ӈ[I @A)=H*JZnBԔ==R*HK96(j/Ys!uCW)׏d8}yC?"ҁ+uz' qʬG2\[C'4J2+n-(R7*)8eUjЏtV)jJ@14/'!)Wm5{)#=xJ~}~D}HDQʜR1PN8]M8.]aC"*L2JmR b/3b}b$T(P9aZwĆ_zq w{nN?;T| j؜h^=޾ #ʼnR@yB'z ].JQIB`JƏzҽ":ekBK6 l>#'Ee@1g?i̤8arvl(ެ7b@/ܟۑHͲ(>Tb'3wӘ݇wHI{b!P PDwOfG{S&Nz@=?w |tL&N”@ PCX JM)0uu *D|xK F"NZq/%@pz7Q@q׋?a3)>P \Չ)~jFYqI ʗGeAzô_y(UJȨ@zfyPOc&Fi?QY5=!)P $)@JD P{JR,{@DpGF$D ^NڬkTJLyWS|"(QɜW$Stq-R qⷔ5阅─_$cVΤc+U>̭{J{o(~`.ɼw$q\ΤcÎ_«(tl}2oI(q̜tlXUzNL:>$^xMM:WSt⒎&V)^fM:WꛥS|騷= S ~+ui1{=p[kG[TA{}J|=6 +cG+WBp+; mS|xJRݛE*1tTjGUB<Sj?Q^Ⱥh1Sj/C"Q\z)>PLBGt$8 sW(Fltήm8>](E#f#BHW:/#_P<ĉT=*&TtffE\bEj+'# O?OID*[OxlFj䇍(%|,*Y#VeDj*'- 4_N>@H3”8CF+irNjT(⥲k=&/Z@ES\NX`WٔS+}'VxJ5 TIBb*XeK ȵejx/Wms.L#k&*+Qݬ I9O$zN"P31Iڹ)YǥR͋_WJ+$!Ox,U)E^0[3sE5r_HLH٧ YHroq<5 TE /YH[O~j:'KUiDrURdǥ(.QySkfuړЂI=7qɓ\3/UV=AD =N`ޞ;+|C5 $!$=aUMO]L(PE6eNjMN]dlMI`4' YXz(w[EerkA@c>tOD1TJfy]4b\3 r* u!E=`A)^[Mqp<,UEzHrړ[zJzyRj-U*uB@#g2P aV Jӹk ӈC@#Wqf -4JDf̋q̶C06YCřd(:y117\B8s΍x"*Dw"A1 ӈH@X=gEH\ ^z8g&KR!Zݎd;.5gURlŠ{\jn%U 2?= u^FEhdߨPB ImSקRJU'.R@#t_#%Bd:J( ?HG'P%L4@I1AIDATlq?dNR׮w|o^G54Y5!P1yr-[jIatYMgqALꀠ~v'%jcJ9ɓ?i3l7_heRc!ĥٕ羍e2 ^acJceKJV_4C R:Hnܰa#ms l^GYUaFJ a&C_mN1۾@ \gwط?KAb9j!jq1f_SW!7צsjѓyQese!z)Lx޾pۆԗHX?㙻-ksT+Pjؠ^:D{c/J8R}?w;eσv4|+ZqH)j.+ե)e~JֻqA\nW;R*͌RM/Bw5W=^_Q).P@{k=mHݽǯխL)tԆ(K~IͧKv])6J @((P Q@)DRJ @((P Q@)DRJ @((P Q@)DR_^q2?#IENDB`Guerry/vignettes/figures/ggbiplot.png0000644000176200001440000003466314425210321017526 0ustar liggesusersPNG  IHDR[xIPLTE:f:f}333::::f:::::f:::f:MMMMnMff:fff::f:ffffffnMMnMnnMnnn$$,15:X^f=((*:0M:IIXf^fffffMMMnM::::f:f۶ɞC^!:f*::::ffffۣI 2LnMf:Tm:::f:f۳۳ff:fffem::::ffǐ:ǐfǐǝfǶǶȎM+^̨0vmkff:ڐ:ڶfڶېۄ5ې:ۨnCkk^Ʉ:fېT,e=v^vmfȎې۶ pHYsod IDATx흍#}fg\0Ye!s`sdŋKvˆ,٘ l.D Y@[tretUKUwvJխJQA A} C'@=tp CXt(hs WzO}zvS>=;@)@O{ Чg=ӳzO}zvS>=;@)@O{ Чg=ӳzO l.}TR0, >}Cg7@_ B G=1RҾAvS>=;@)@O{ Чg=ӳzO/׽5VqzO頧oQcx''΋lsv^yLD:ut j2Bʉ^xO_z9;͹@O6׷^zMQQc!+V˟z0CC. ۨ{Pӯo~Z}7+)W;@)SxCž1uǬ^`PW1M=,I5se Y@߻rztJj']}Q}zO_U{*jr$}5VqzO] whTBXm=zO}zvS>=;@)@O{ Чg=yS^v-7(JӳCM)@O{ Чg=ӳ~)VGGGC*n;@)K\.iGUvSbPy!2j]eKkޓ*n;@﩮5wUXm=5_5PvS]/b:_ f=~pG6=;@)@O{ Чg=ӳzO}zvS>=;@)@O{ Чg=ӳzOu[GGlmَl.d2im[QcťL$tbR{sMOczL{ 1}zvS{o\(LS>h$G%~ι4o{+JzNX( mo(JӳzO}zvS>=;@)@O{ Чg=ӳzO}zvS݇Q*n;@)K!8E֑CzOY\ +c=rܯ vSkǛ<Czt*ѩ1}auڜOUV}!lc~;@Ojya]85VqzO彙pG6=;@oFzO Ra삸{jo.c5&l뵽0dLr\葭-ߜ552ϫƀ>#kX,$eFe7Kk@Blވan1{oٙBC!O4j*_7>}C~:&5N=UCA__፤3^!M7}j.Ź'Eev'ˇ >5`iR$nA'ej{1} xM{oƏ6Wmt}z)ΗtvXܝ圂,r{vs} }g⴩޾ZRfΗN9P!Ѱ oZ66򝏼=7gDB=Dy|}rJ^y%7lU⿪G!xoeU'-կm/aטjr፮zeUl {u=j0nV|bXSkev =z]_֡5߹']/!E){81!4lMdޯ^@JΟS<(J:,ooe_WbKlzov*OҴ[INLm.}Eų{Мnu[>*}uVۓ ЇohPiva=hC>*%q@nU __>7r,@r, D5I/1!r二>e'@B/?G e fYD(} 6.scWca2wЇаO6FrOv>>}C^AUnR}>oV܉>9Y;6в0fu$Q_iߡ'?Kq}(>eP/a=l7aIeuٱ(q_qt; ihRu\ BNӼ0A/tۥլ@Bg eulq)˗t#:N$JX+[ع ڭrgǛ>V,Dn'gOk# \x)/ Ik_[?o *}  ^Yt5<3.5gzӫ|)V?z:7W/+t G~ۻAo횸7?\}5QL>z#tݱ32_^z֓N{І3 ל2A_v i}O_闞0l)CUГUl# oVk Cyo z:-@N20'5n2Ï ŞCo27+osCRT|+L~G^-Ŕ<&;h]}Vyy$vA} YMF}Ӂa=Q)rmرafO9Q;T˷t]=Яx=/?VC,39Det;}oo|+ X G&B3>*14U8NrVG=Q%j>S@/p-^=UC}3aÉoވm5dݡ<ݴ~KE,]T?o\ -OܯOrfd8r,Y܎?)8HZWv/zDek6^uMW wLalʙ =f}ʃZ~@\!0zJ<3qZyx6S@zng)ߛYp\ }q|{G/K[Nf;);C@odBhG\4fʊ1}QQeM칷2|dfKm?_bo*wfзC@҅^$dW/GF7Sо|'WP2}30B_/Y,0`rv3ە] NLз;Mv<u):C߬YT^vd/ɚ;UYY<Ȣtnz![676⡷-\^"7c(Q60۵ԩ9 q}2vէzʮf-iJ-@MKR^7LaXP\`ӘfjP^f!(m4Fr؊/zm~ }HvK<=5eP6חbM)Է^&M@~/DC:9;R/7/k V^}ChMM1LK 6)χZ^d ݿ,@.&$,΁k 5={PvUډvqsWMIx3xzG}$YʐRO?uyWޤK%eL_:kWȲt7-ݗ"CͬV#/S1p_kԬ߳Oo{D<z'!4>Ev,c zOEGp뼑zO}1}V.Ht}Q4BR=e9nsjzCC=TTKFT zґCe㋕#ĺQ?zԩ4V""t9eCA=7<`_QޑGllwiQkKNS?&S[]Moe׮;UĮ}~]z:m^zJx!?t{Gʅ+Q`zַԉb^5+wGDN_tb^=6{ [wЛ5,Dߖ;Nr M.^-:^ 8Q΢s|c }'F嬯HPE.K>GЋvg,φ^7c`zF7z!oɘt@߁z@視7 vC^jg+VድIg?kzzS.l$Ї}.ɞvvl;zEdXבDu wvACݑz@Qۢv;w0U=Hexc_ zyeمoL7%ܨZ"oiK7@JNSA8>b]W4ew}kȺ%A:~fK U=J@/HcΠ'z^\{Fl eML1)ʱ7*V"xNGa&ZM؛87B3z .mCA=!@_ ;KS_P&igz"{S}kz9}¾h9Z%RZ񍽉/d%PʈJ`߅zK-# *k/DH"mzw3Q`lF:-xDztvVz 4d#6)c-%j;b7i.XBݛ}E(C3i@_?uQ`腁g]5H2z"~5~W<{6Y#r782Ho Gk(NMBj.r7WrLšxնkSCݱ.!=1$!>E_ ГnEH37͙$,З=/vGvs)ʛqړϲbWm*Y0Y|tͫa^FB}S"_lK~^"ГVEF YsoX0 }ELD$Lh@d z&rۊ:78td$'Co%.* K3嗅뿒z@7||aA9 zzxNzx) Go |!.7蝵8//4~aWs)WFҙY6i9ѼL;Jg1 =Ǽ@=b_艶_苐| ao t֗r2w =1zg ~n\mǺ97ES͹i޹b!ܜm5zʣ=յhϧuk$y@#˦lҲ6oCϽf̧Օл* ϊ U`TzA_hb@i `H=wַ>Zv!K9:WzEznL&{) }$QzE%W:>P>痳w>F]D]i3gN3L|p }{?JPJ52Z 7SBOxM_U;VbAy_uf5,HefBMDuMO:%m;HI sNQ [g">S8Q.˽-(WԪ t '+;^z :-BFzo>G7S3ݝ;zY-td}l:C;]HO?}px͘]+hQijž]J7#H*9-OVJ=w zA@/ammm%%my K{;9]Ex $ɛ3G;Eԭtm%\ _@#WҊcHblU}It;K}Nj, Kˍ;Ʈx"[NmHzB2|qUIL >etܠ77oRA_m=-H½ Л4̓u*KG$'t%~uuN +2MjAH/p1%Qo <zuo}u$vBӤ:dQ;0J]ųE'w!d jӣQos9KCSIWZ߳[VWRAI'TUѪ*4 ڜ^0]7/n3YdӃIy-;q9?˾9ln#~zYJ.|-dc7U,µ+9@OMG3o?ϲp9=y*^~ل4RzKf/_\O @7cvqMIx%T Z6:Im8@%}&!7c/9/>W3i&ԷKG sPW"NMOZbVŏcqIEQ4ɮͽ/ꝭ!AO3i8C"$oUB@S\zCnA8ѝ[ )[dɽ_IΫ^> O>.+{RqlSY1SzF=}lt~\гLg O}Ilzt~%lu`H9uΡAu1OewYЫHzr(kx}o.\}eh谠'DRd}e2Id#[ jBPrrbz0uܡoM~,"\_ Г;"j϶fNVg|N^e˝AOΖz5''fG4 }^ͳeUS@gtsU,j!zv |GK(ﴖz1i'=ġvR7Qr}S=5%>GTv޻ |%:c?-5>hRuz3^ @Im }-nM@QJs:E;_ 9ɸYBIzN A_b.ڰ} `fV~ؕHBC_%~ g;~?D~YN%Uomu؎^)NZzнÁ~ g7e$pm@_-]ľ:&=B!5;G} s'@o\kz·QizYj~.{v Yq>*% Vi=V"qB]S9FJ^:%d'-쐠tV2JLh-eԳJ^݉Tk`}Ҥ%Zv7V]戫KnVqMzʼnV>5"#TJ UwʭTYv>5Áި/ӹ&y.j'ID[ULitNWPJ2q MetY9nr}!NN|~d.]84BaG繱n$E9߹7NyPzy5[k5m 뵽8^3HJ7?j)#JWUX^^zW>v+iR }a{+g4ϲeIIJGU7_%פWʹԏԥ+QBhyopFŠQ|-2aΒ$4M>K4?2zˑwZ?Päf]nī{u^οE%[0\NC8椐+ojL+L_@oPgG/z}3i],+KgkG)ݪþ1V<^}&E~/D&I*j/('I>Uz l"<ԫ\J*G@_i36,E7y5̋e]i:V#їN;,].S eLU(ן@hb8TE͋u ^ۭ;-]{֫IN<;E J ; 2LrQ`9ϓ=U?D)< oIhz:-iz?GX/F,ldY B j=5Пȫ w^WIvV?U+BHX膤_!{FeNYB\KoYBohKzίPtT+ /%K?_U.9|Iތ=y+~/?^1SCi~77a9wc3d?,^޴ kv vbGy:Լ7-e]0yˆüQN֢ /t%"7Oֆy@oА'ªN8t!'k<7(Vthȼӥ_z;V*ٓrTPMŠvv& .m:Tᠷd4蒚 _:#O3ڵLu85 fTfgZTmKAUS.vz~szk>.'D;/I}Н5 eA}L=M#?bή:U 0K#+7's뽩|ov,mwDk[iהR=3#:H(Ӯ@0 r뵽8]: rzK;N̂{]?Z9,;c_8m,Q+zr׎X}ŝ]{`mbF5k7T<[&TsŞ'Xx\ZqA׺Y W ̕{;kv#&ߖjFKE]RdgJ*%1*5){tO$;p+}&^֚7-7Bv+ͽzι`/JB563[م}\z}g^jG߼4P:WO@"j)QC,ȶ+#J)@ϴ\ 4^.{jK-Q)91˲zaW]:r$TvNᣥ~}}]{q^^Y2J"2ced~K>}CޡUj۽֮W7@_)A}l>*zv3rz=" v z{I|2vD2^KG%@ogJAoǥ\1}T6v+&*%]ӈ|.n>*ݕ.Ģ>*zh#TRkQM مZG![G%@ Wv=Uv +B2RBk1 \ J^zO6GdûJ}N6襇dûJqv}Tc ~}%@/=' W,epJwZM>*vNQ S' Wҁ6lx7@_ Kǖ ~}C^1r +%+G}C^3h~ +.y"ßlp7@_)%C1LdCJ q6`' WJ @i,&p}jw' WJ zE,qA}Ԡ[skIMKj:$dJAmbVvQ)A襕 x}TJzIesMvRзu^i]>* }3fiڝt^f)@҅>Zǥϊq:h=ӳzw='>=;@w>F(ϧ˪Чg;e CC[`pjzӫt=;@XGL Wzv}zvS>=;@)@O{ Чg=ӳzO}zvS>=;@)@O{ Чg=ӳzO}zvS>=;@wA4gࠨKux.]ԅtQN:8z衃N^WUc;/]bpMzA|1t1'_˾ޡKP%@/OYcɞg.\1_}KҊQϿі*M}r}=qCk W%X?kx/\K^WKcp-zA1t$|& D~~1G} C'@=tp C'@7|ҍ_8"z4eUo^N[./=Gyiu/8WCTʴT(WU`il{Ah~:48ۜ{_z9;'ڼ_ Ve7v}N.47-S5/=W@2/_OE}IkU]S?r#} %\VignetteIndexEntry{Guerry data: Spatial Multivariate Analysis} %\VignetteKeywords{crime, literacy, suicide, France, spatial multivariate analysis} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, warning = FALSE, message = FALSE, # suppress package loading messages comment = "#>", fig.height = 3, fig.width = 3, fig.align = "center" ) ``` This vignette indicates how to perform the analyses described in @SD966 of data derived from André-Michel Guerry's [-@SD955] *Essai sur la Statistique Morale de la France*. It illustrates some classical methods for analysis of multivariate spatial data that focus *either* on the multivariate aspect or on the spatial one, as well as some more modern methods that attempt to integrate geographical and multivariate aspects *simultaneously*. # Preliminary steps Several packages are required to run the different analyses and should be loaded. The `ade4` package for multivariate analysis is supplemented by `adegraphics` (for associated graphical methods) and `adespatial` for multivariate spatial analysis. For further information on this spatial analysis approach, see `vignette(package="adespatial", "tutorial")`. ```{r} library(Guerry) # Guerry's data library(sp) # management of spatial data library(ade4) # multivariate analysis library(adegraphics) # graphical representation library(spdep) # spatial dependency library(adespatial) # multivariate spatial analysis ``` Guerry gathered data on crimes, suicide, literacy and other moral statistics for various départements (i.e., counties) in France. He provided the first real social data analysis, using graphics and maps to summarize this georeferenced multivariate dataset. We use the dataset `gfrance85` and consider six key quantitative variables (shown in the table below) for each of the 85 départements of France in 1830 (Corsica, an island and often an outlier, was excluded). Data are recorded on aligned scales so that **larger numbers** consistently reflect "morally better". Thus, four of the "bad" variables are recorded in the inverse form, as "Population per ...". With this scaling, it would be expected that all correlations be $\ge 0$. | Name | Description | |:------------|:------------| |`Crime_pers` | Population per crime against persons| |`Crime_prop` | Population per crime against property| |`Literacy` | Percent of military conscripts who can read and write| |`Donations` | Donations to the poor| |`Infants` | Population per illegitimate birth| |`Suicides` | Population per suicide| The dataset `gfrance85` is actually a `SpatialPolygonsDataFrame` object created with the `sp` package. It contains the polygon boundaries of the map of France in 1830, as well the variables in the `Guerry` data frame. As an ordinary data.frame, it has these components ```{r names} names(gfrance85) ``` To simplify analyses, we extract the components to be used below. ```{r components} data(gfrance85) df <- data.frame(gfrance85)[, 7:12] # the 6 variables france.map <- as(gfrance85, "SpatialPolygons") # the map xy <- coordinates(gfrance85) # spatial coordinates dep.names <- data.frame(gfrance85)[, 6] # departement names region.names <- data.frame(gfrance85)[, 5] # region names col.region <- colors()[c(149, 254, 468, 552, 26)] # colors for region ``` # Standard approaches In this section, we focus on classical approaches that consider either the multivariate or the spatial aspect of the data. ## Multivariate analysis Here we consider $p=6$ variables measured for $n=85$ individuals (départements of France). As only quantitative variables have been recorded, principal component analysis [PCA, @SD308] is well adapted. PCA summarizes the data by maximizing simultaneously the variance of the projection of the individuals onto the principal axes and the sum of the squared correlations between the principal component and the variables. ```{r dudi-pca} pca <- dudi.pca(df, scannf = FALSE, nf = 3) ``` The biplot is simply obtained by ```{r} biplot(pca, plabel.cex = 0.8) ``` The first two PCA dimensions account for 35.7% and 20% ,respectively, of the total variance. ```{r} pca$eig/sum(pca$eig) * 100 ``` Correlations between variables and principal components can be represented on a correlation circle. The first axis is negatively correlated to literacy and positively correlated to property crime, suicides and illegitimate births. The second axis is aligned mainly with personal crime and donations to the poor. ```{r} s.corcircle(pca$co) ``` Spatial information can be added on the factorial map representing the projections of départements on principal axes by coloring according to colors representing the different regions of France. ```{r, fig.width = 4, fig.height = 4} s.label(pca$li, ppoint.col = col.region[region.names], plabel.optim = TRUE, plabel.cex = 0.6) s.Spatial(france.map, col = col.region[region.names], plabel.cex = 0) s.class(xy, region.names, col = col.region, add = TRUE, ellipseSize = 0, starSize = 0) ``` For the first axis, the North and East are characterized by negative scores, corresponding to high levels of literacy and high rates of suicides, crimes against property and illegitimate births. The second axis mainly contrasts the West (high donations to the the poor and low levels of crime against persons) to the South. ## Spatial autocorrelation Spatial autocorrelation statistics, such as @SD455 Coefficient (MC) and @SD223 Ratio, aim to measure and analyze the degree of dependency among observations in a geographical context [@SD577]. ### The spatial weighting matrix The first step of spatial autocorrelation analysis is to define a spatial weighting matrix $\mathbf{W}=[w_{ij}]$ . In the case of Guerry's data, we simply defined a binary neighborhood where two départements are considered as neighbors if they share a common border. The spatial weighting matrix is then obtained after row-standardization (`style = "W"`): ```{r} nb <- poly2nb(gfrance85) lw <- nb2listw(nb, style = "W") ``` We can represent this neighborhood on the geographical map: ```{r} s.Spatial(france.map, nb = nb, plabel.cex = 0, pSp.border = "white") ``` ### Moran's Coefficient Once the spatial weights have been defined, the spatial autocorrelation statistics can then be computed. Let us consider the $n$-by-1 vector $\mathbf{x}=\left[ {x_1 \cdots x_n } \right]^\textrm{T}$ containing measurements of a quantitative variable for $n$ spatial units. The usual formulation for Moran's coefficient of spatial autocorrelation [@SD577;@SD455] is \begin{equation} \label{eq1} MC(\mathbf{x})=\frac{n\sum\nolimits_{\left( 2 \right)} {w_{ij} (x_i -\bar {x})(x_j -\bar {x})} }{\sum\nolimits_{\left( 2 \right)} {w_{ij} } \sum\nolimits_{i=1}^n {(x_i -\bar {x})^2} }\mbox{ where }\sum\nolimits_{\left( 2 \right)} =\sum\limits_{i=1}^n {\sum\limits_{j=1}^n } \mbox{ with }i\ne j. \end{equation} MC can be rewritten using matrix notation: \begin{equation} \label{eq2} MC(\mathbf{x})=\frac{n}{\mathbf{1}^\textrm{T}\mathbf{W1}}\frac{\mathbf{z}^\textrm{T}{\mathbf{Wz}}}{\mathbf{z}^\textrm{T}\mathbf{z}}, \end{equation} where $\mathbf{z}=\left ( \mathbf{I}_n-\mathbf{1}_n\mathbf{1}_n^\textrm{T} /n \right )\mathbf{x}$ is the vector of centered values ($z_i=x_i-\bar{x}$) and $\mathbf{1}_n$ is a vector of ones (of length $n$). The significance of the observed value of MC can be tested by a Monte-Carlo procedure, in which locations are permuted to obtain a distribution of MC under the null hypothesis of random distribution. An observed value of MC that is greater than that expected at random indicates the clustering of similar values across space (positive spatial autocorrelation), while a significant negative value of MC indicates that neighboring values are more dissimilar than expected by chance (negative spatial autocorrelation). We computed MC for the Guerry's dataset. A positive and significant autocorrelation is identified for each of the six variables. Thus, the values of literacy are the most covariant in adjacent departments, while illegitimate births (Infants) covary least. ```{r} moran.randtest(df, lw) ``` ### Moran scatterplot If the spatial weighting matrix is row-standardized, we can define the lag vector $\mathbf{\tilde{z}} = \mathbf{Wz}$ (i.e., $\tilde{z}_i = \sum\limits_{j=1}^n{w_{ij}x_j}$) composed of the weighted (by the spatial weighting matrix) averages of the neighboring values. Thus, we have: \begin{equation} \label{eq3} MC(\mathbf{x})=\frac{\mathbf{z}^\textrm{T}{\mathbf{\tilde{z}}}}{\mathbf{z}^\textrm{T}\mathbf{z}}, \end{equation} since in this case $\mathbf{1}^\textrm{T}\mathbf{W1}=n$. This shows clearly that MC measures the autocorrelation by giving an indication of the intensity of the linear association between the vector of observed values $\mathbf{z}$ and the vector of weighted averages of neighboring values $\mathbf{\tilde{z}}$. @SD566 proposed to visualize MC in the form of a bivariate scatterplot of $\mathbf{\tilde{z}}$ against $\mathbf{z}$. A linear regression can be added to this *Moran scatterplot*, with slope equal to MC. Considering the Literacy variable of Guerry's data, the Moran scatterplot clearly shows strong autocorrelation. It also shows that the Hautes-Alpes département has a slightly outlying position characterized by a high value of Literacy compared to its neighbors. ```{r, fig.width = 4, fig.height=4} x <- df[, 3] x.lag <- lag.listw(lw, df[, 3]) moran.plot(x, lw) text(x[5], x.lag[5], dep.names[5], pos = 1, cex = 0.8) ``` ## Indirect integration of multivariate and geographical aspects The simplest approach considered a two-step procedure where the data are first summarized with multivariate analysis such as PCA. In a second step, univariate spatial statistics or mapping techniques are applied to PCA scores for each axis separately. One can also test for the presence of spatial autocorrelation for the first few scores of the analysis, with univariate autocorrelation statistics such as MC. We mapped scores of the départements for the first two axes of the PCA of Guerry's data. Even if PCA maximizes only the variance of these scores, there is also a clear spatial structure, as the scores are highly autocorrelated. The map for the first axis corresponds closely to the split between *la France éclairée* (North-East characterized by an higher level of Literacy) and *la France obscure*. ```{r, fig.dim = c(6,3)} moran.randtest(pca$li, lw) s.value(xy, pca$li[, 1:2], Sp = france.map, pSp.border = "white", symbol = "circle", pgrid.draw = FALSE) ``` # Spatial multivariate analysis Over the last decades, several approaches have been developed to consider both geographical and multivariate information simultaneously. The multivariate aspect is usually treated by techniques of dimensionality reduction similar to PCA. On the other hand, several alternatives have been proposed to integrate the spatial information. ## Spatial partition One alternative is to consider a spatial partition of the study area. In this case, the spatial information is coded as a categorical variable, and each category corresponds to a region of the whole study area. For instance, Guerry's data contained a partition of France into 5 regions. We used the between-class analysis [BCA, @SD148], to investigate differences between regions. BCA maximizes the variance between groups. ```{r} bet <- bca(pca, region.names, scannf = FALSE, nf = 2) ``` Here, 28.8 % of the total variance (sum of eigenvalues of PCA) corresponds to the between-regions variance (sum of the eigenvalues of BCA). ```{r} bet$ratio ``` The main graphical outputs are obtained by the generic `plot` function: ```{r, fig.dim=c(5,5)} plot(bet) ``` The barplot of eigenvalues indicates that two axes should be interpreted. The first two BCA dimensions account for 59 % and 30.2 %, respectively, of the between-regions variance. ```{r} barplot(bet$eig) bet$eig/sum(bet$eig) * 100 ``` The coefficients used to construct the linear combinations of variables are represented: ```{r} s.arrow(bet$c1, plabel.cex = 0.8) ``` The first axis opposed literacy to property crime, suicides and illegitimate births. The second axis is mainly aligned with personal crime and donations to the poor. Projections of départements on the BCA axes can be represented on the factorial map: ```{r, fig.dim = c(4,4)} s.label(bet$ls, as.character(dep.names), ppoint.cex = 0, plabel.optim = TRUE, plabel.col = col.region[region.names], plabel.cex = 0.5) s.class(bet$ls, fac = region.names, col = col.region, ellipse = 0, add = TRUE) ``` The scores can be mapped to show the spatial aspects: ```{r, fig.dim = c(6,3)} s.value(xy, bet$ls, symbol = "circle", Sp = france.map, pSp.col = col.region[region.names], pSp.border = "transparent") ``` The results are very close to those obtained by PCA: the first axis contrasted the North and the East (*la France éclairée*) to the other regions while the South is separated from the other regions by the second axis. The high variability of the region Centre is also noticeable. In contrast, the South is very homogeneous. ## Spatial explanatory variables Principal component analysis with respect to the instrumental variables [PCAIV, @SD540], and related methods, have been often used in community ecology to identify spatial relationships. The spatial information is introduced in the form of spatial predictors and the analysis maximized the "spatial variance" (i.e., the variance explained by spatial predictors). Note that BCA can also be considered as a particular case of PCAIV, where the explanatory variables are dummy variables indicating group membership. ### Trend surface of geographic coordinates @SD626 proposed to express observed values in time series as a polynomial function of time, and mentioned that this could be done for spatial data as well. @SD59 extended this approach to the spatial and multivariate case by introducing polynomial functions of geographic coordinates as predictors in PCAIV. We call this approach PCAIV-POLY. The centroids of départements of France were used to construct a second-degree orthogonal polynomial. ```{r, fig.dim = c(6,4)} poly.xy <- orthobasis.poly(xy, degree = 2) s.value(xy, poly.xy, Sp = france.map, plegend.drawKey = FALSE) ``` PCAIV is then performed using the `pcaiv` function: ```{r} pcaiv.xy <- pcaiv(pca, poly.xy, scannf = FALSE, nf = 2) ``` Here, 32.4 % of the total variance (sum of eigenvalues of PCA) is explained by the second-degree polynomial (sum of eigenvalues of PCAIV). The first two dimensions account for 51.4 % and 35.2 %, respectively, of the explained variance. ```{r} sum(pcaiv.xy$eig)/sum(pca$eig) * 100 pcaiv.xy$eig/sum(pcaiv.xy$eig) * 100 ``` The outputs of PCAIV-POLY (coefficients of variables, maps of départements scores, etc.) are very similar to those obtained by BCA. They can be represented easily by the generic `plot` function: ```{r, fig.dim=c(5,5)} plot(pcaiv.xy) ``` ### Moran's eigenvector maps An alternative way to build spatial predictors is by the diagonalization of the spatial weighting matrix **W**. Moran's eigenvector maps [MEM, @SD163] are the $n-1$ eigenvectors of the doubly-centered matrix **W**. They are orthogonal vectors with a unit norm maximizing MC [@SD264]. MEM associated with high positive (or negative) eigenvalues have high positive (or negative) autocorrelation. MEM associated with eigenvalues with small absolute values correspond to low spatial autocorrelation, and are not suitable for defining spatial structures. We used the spatial weighting matrix defined above to construct MEM. The first ten MEM, corresponding to the highest levels of spatial autocorrelation, have been mapped: ```{r, fig.dim = c(6,6)} mem1 <- scores.listw(lw) s.value(xy, mem1[, 1:9], Sp = france.map, plegend.drawKey = FALSE) ``` We introduced the first ten MEM as spatial explanatory variables in PCAIV. We call this approach PCAIV-MEM. ```{r} pcaiv.mem <- pcaiv(pca, mem1[,1:10], scannf = FALSE) ``` Here, 44.1 % of the total variance (sum of eigenvalues of PCA) is explained by the first ten MEM (sum of eigenvalues of PCAIV). The first two dimensions account for 54.9 % and 26.3 %, respectively, of the explained variance. ```{r} sum(pcaiv.mem$eig)/sum(pca$eig) * 100 pcaiv.mem$eig/sum(pcaiv.mem$eig) * 100 ``` The outputs of PCAIV-MEM (coefficients of variables, maps of départements scores, etc.) are very similar to those obtained by BCA. They can be represented easily by the generic `plot` function: ```{r, fig.dim=c(5,5)} plot(pcaiv.mem) ``` ## Spatial graph and weighting matrix The MEM framework introduced the spatial information into multivariate analysis through the eigendecomposition of the spatial weighting matrix. Usually, we consider only a part of the information contained in this matrix because only a subset of MEM are used as regressors in PCAIV. In this section, we focus on multivariate methods that consider the spatial weighting matrix under its original form. @SD694 was the first to develop a multivariate analysis based on MC. His work considered only normed and centered variables (i.e., normed PCA) for the multivariate part and a binary symmetric connectivity matrix for the spatial aspect. @SD807 generalized Wartenberg's method by introducing a row-standardized spatial weighting matrix in the analysis of a statistical triplet. This approach is very general and allows us to define spatially-constrained versions of various methods (corresponding to different triplets) such as correspondence analysis or multiple correspondence analysis. MULTISPATI finds coefficients to obtain a linear combination of variables that maximizes a compromise between the classical multivariate analysis and a generalized version of Moran's coefficient. ```{r} ms <- multispati(pca, lw, scannf = FALSE) ``` The main outputs of MULTISPATI can be represented easily by the generic `plot` function: ```{r, fig.dim=c(5,5)} plot(ms) ``` The barplot of eigenvalues suggests two main spatial structures. Eigenvalues of MULTISPATI are the product between the variance and the spatial autocorrelation of the scores, while PCA maximizes only the variance. The differences between the two methods are computed by the `summary` function: ```{r} summary(ms) ``` Hence, there is a loss of variance compared to PCA (2.14 versus 2.017 for axis 1; 1.201 versus 1.177 for axis 2) but a gain of spatial autocorrelation (0.551 versus 0.637 for axis 1; 0.561 versus 0.59 for axis 2). Coefficients of variables allow to interpret the structures: ```{r} s.arrow(ms$c1, plabel.cex = 0.8) ``` The first axis opposes literacy to property crime, suicides and illegitimate births. The second axis is aligned mainly with personal crime and donations to the poor. The maps of the scores show that the spatial structures are very close to those identified by PCA. The similarity of results between PCA and its spatially optimized version confirm that the main structures of Guerry's data are spatial. Spatial autocorrelation can be seen as the link between one variable and the lagged vector. This interpretation is used to construct the Moran scatterplot and can be extended to the multivariate case in MULTISPATI by analyzing the link between scores and lagged scores: ```{r, fig.dim = c(4,4)} s.match(ms$li, ms$ls, plabel.cex = 0) s.match(ms$li[c(10, 41, 27), ], ms$ls[c(10, 41, 27), ], label = dep.names[c(10, 41, 27)], plabel.cex = 0.8, add = TRUE) ``` Each département can be represented on the factorial map by an arrow (the bottom corresponds to its score, the head corresponds to its lagged score. A short arrow reveals a local spatial similarity (between one plot and its neighbors) while a long arrow reveals a spatial discrepancy. This viewpoint can be interpreted as a multivariate extension of the local index of spatial association [@SD565]. For instance: * Aude has a very small arrow, indicating that this département is very similar to its neighbors. * Haute-Loire has a long horizontal arrow which reflects its high values for the variables Infants (31017), Suicides (163241) and Crime\_prop (18043) compared to the average values over its neighbors (27032.4, 60097.8 and 10540.8 for these three variables). * Finistère corresponds to an arrow with a long vertical length which is due to its high values compared to its neighbors for Donations (23945 versus 12563) and Crime\_pers (29872 versus 25962). The link between the scores and the lagged scores (averages of neighbors weighted by the spatial connection matrix) can be mapped in the geographical space. For the first two axes, we have: ```{r, fig.dim = c(6,3)} s.value(xy, ms$li, Sp = france.map) ``` # Conclusions Even if the methods presented are quite different in their theoretical and practical viewpoints, their applications to Guerry's dataset yield very similar results. We provided a quantitative measure of this similarity by computing Procrustes statistics [@SD516;SD161] between the scores of the départements onto the first two axes for the different analyses. All the values of the statistic are very high and significant; this confirms the high concordance between the outputs of the different methods. ```{r} mat <- matrix(NA, 4, 4) mat.names <- c("PCA", "BCA", "PCAIV-POLY", "PCAIV-MEM", "MULTISPATI") colnames(mat) <- mat.names[-5] rownames(mat) <- mat.names[-1] mat[1, 1] <- procuste.randtest(pca$li[, 1:2], bet$ls[, 1:2])$obs mat[2, 1] <- procuste.randtest(pca$li[, 1:2], pcaiv.xy$ls[, 1:2])$obs mat[3, 1] <- procuste.randtest(pca$li[, 1:2], pcaiv.mem$ls[, 1:2])$obs mat[4, 1] <- procuste.randtest(pca$li[, 1:2], ms$li[, 1:2])$obs mat[2, 2] <- procuste.randtest(bet$ls[, 1:2], pcaiv.xy$ls[, 1:2])$obs mat[3, 2] <- procuste.randtest(bet$ls[, 1:2], pcaiv.mem$ls[, 1:2])$obs mat[4, 2] <- procuste.randtest(bet$ls[, 1:2], ms$li[, 1:2])$obs mat[3, 3] <- procuste.randtest(pcaiv.xy$ls[, 1:2], pcaiv.mem$ls[, 1:2])$obs mat[4, 3] <- procuste.randtest(pcaiv.xy$ls[, 1:2], ms$li[, 1:2])$obs mat[4, 4] <- procuste.randtest(pcaiv.mem$ls[, 1:2], ms$li[, 1:2])$obs mat ``` # References Guerry/NEWS.md0000644000176200001440000000550614513000475012632 0ustar liggesusers## Version 1.8.3 (2023-10-13) A problem with the adegraphics package becoming archived triggered a warning on Guerry threatening the same fate. I did not reply in time, and so Guerry was archived. This re-submission fixes that and other issues found by win-builder. * Moved some examples to `demo/` * Edit example in `gfrance85.Rd` * Restore use of `adegraphics` for vignette `MultiSpat.Rmd` * The `demo/guerry_ggradar.R` used a non-CRAN package; this package has been removed from Suggests: and the example moved to `examples/`. ## Version 1.8.2 (2023-05-10) * Incorporate parallel coord plots and radar charts in vignette ## Version 1.8.1 (2023-05-05) * This is largely a maintenance release to correct a problem with latin1 encoding used in the DESCRIPTION and in man/ files. All non-ascii characters have been removed. * Add reference to Friendly (2022) * Moved a number of examples/ to demo/ ## Version 1.8.0 (2022-10-04) * Fixed problems related to retirement of `maptools` #4, deleting Suggests: maptools * Added a new vignette, `guerry-multivariate`, illustrating some multivariate methods * Extensively revised README to give a better sense of the package datasets and some plots. ## Version 1.7.4 * Restore MultiSpat vignette ## Version 1.7.3 * begin guerry-multivariate vignette * Fixed problem arising from new spdep when rgeos is not installed [thx: Roger Bivand] ## Version 1.7.1 * translate/update/restore the main vignette, `MultiSpat.html` by Stephane Drey ## Version 1.7.0 * Update links to Guerry supplementary stuff to resolve CRAN nits * move `sp` to `Imports:` to resolve CRAN nits * Removed Suggests: shapefiles * added a hexsticker to README.md ## Version 1.6-2 * Package development has been moved from R-forge to github, https://github.com/friendly/Guerry * Updated Guerry-package.Rd from `utils::promptPackage()` ## Version 1.6 (2014-09-23) * Removed MultiSpat vignette because it is no longer compatible with CRAN policies. The old PDF version will be made available on the R-Forge project page. * Removed Suggests: spacemakeR (not on CRAN); moved sp, shapefiles to Suggests: * Removed thinSpatialPoly, as this is now provided in maptools * Made some examples in gfrance.Rd \dontrun{} to reduce check time ## Version 1.5 (2011-11-08) * Added back MultiSpat.Rnw vignette with MultiSpat.tex disguised as MultiSpat.Rnw * Added NAMESPACE for R 2.14+ ## Version 1.4 (2010-02-15) * Remove temporarily MultiSpat.Rnw vignette ## Version 1.3 (2009-11-19) * Added thinnedSpatialPoly to calculate thinned maps * Added MultiSpat.Rnw vignette ## Version 1.2 (2009-11-12) * Added MultiSpat.pdf vignette (without .Rnw) ## Version 1.1 (2009-10-28) * Added Angeville data * Released to CRAN ## Version 1.0 (2009-10-20) * Initial version uploaded to R-Forge Guerry/MD50000644000176200001440000000524514516023372012050 0ustar liggesusersac41a1b61819b0990c771a9cd012c0a1 *DESCRIPTION 195963848221ae8485a2687d34977ed2 *NAMESPACE af3969ad56f304eea5496f7825bc8306 *NEWS.md 96b987a34603fd84c6812422456bf2a0 *build/partial.rdb 7a6c0748d63c87eabf11107a662d7331 *build/vignette.rds 4d3e3b1d1307b61102745af6c164195f *data/Angeville.RData 5c12af3e1e4d205ea46f96e4d0ce9813 *data/Guerry.RData 91bd93041f2bf418dd0424591dc4b5d9 *data/gfrance.RData f45237956849addb495f83a6cded42d6 *data/gfrance85.RData 38c0b190d2e04426f583f730508fa0c4 *data/propensity.RData 9d335b5da2c9d08bef69c1c0843b386e *demo/00Index 5efbccd5b4938134fe3bb71ad7e2b0e8 *demo/guerry_bivar.R 2325b820028904882212d8c181ccb746 *demo/guerry_density.R e9767bee7b6a9aecc81586b67c5916aa *demo/guerry_manova.R 97cc3976d97e9498554ed6276f558568 *demo/guerry_mra.R c2205213c9cb481eecca62e249e495e7 *inst/WORDLIST 53d06e0f28e9a4b15c6b705e5678162d *inst/doc/MultiSpat.R 236b43e2bd31825fdb9e47aeacc75cf9 *inst/doc/MultiSpat.Rmd b7be1409437a2e0583a996f652cf1b43 *inst/doc/MultiSpat.html 4232086974d295b93f9fb696a54fe72e *inst/doc/guerry-multivariate.R 45b35a13dec1249da4721432100db57f *inst/doc/guerry-multivariate.Rmd fdbd38bde258773d437a88675b788540 *inst/doc/guerry-multivariate.html 784aec924058f686ae71c7ee30f311b9 *man/Angeville.Rd d523f6c5eb0e61dfd0023f47cba886e2 *man/Guerry-package.Rd c52ff62c1bcf54b8d5926fe760530350 *man/Guerry.Rd 67c34055c5d8715634bd379e3b546c02 *man/figures/Guerry-logo.png 95147e3a56e181a7593ed2e9738f4c4f *man/figures/Guerry-vars.png 4d33f110f118c23e3fae7a5de6582afa *man/figures/README-ex-bivar1-1.png 8e5f86feea111438c100c645f661921d *man/figures/README-ex-bivar2-1.png 312a3bfbcfd21f20cd93f4993f8e9254 *man/figures/README-gfrance1-1.png caf191eef097cbf06db511508892f5f8 *man/figures/README-gfrance2-1.png dad456b45718ae97d2669064b7839af8 *man/figures/README-gfrance3-1.png 4e2eb16daddc9b15aa19d19581b932a3 *man/figures/README-gfrance4-1.png 6b9d1da64fd1c7641fc61b7fe2f9a1dd *man/figures/README-gfrance85-labels-1.png bcb56ad207d38925fd1efb67c58970ad *man/figures/ex-bivar1.png 41344262e0fac14ad1926648b58b2829 *man/figures/ex-bivar2.png 825a20bf7dd3d9eca569bb5c01b326bc *man/gfrance.Rd ab3c1d250c29f06e5b92a943fd112547 *man/gfrance85.Rd 3fa0344e30ec297cd23840f60107722e *man/partials/_ggradar.Rmd 7af59b0b943707b57d500cb05a03058b *man/propensity.Rd 236b43e2bd31825fdb9e47aeacc75cf9 *vignettes/MultiSpat.Rmd b8a19ad70279d557599217caead45ff4 *vignettes/figures/ggbiplot.png b4b6dd98e513ae94ccae98785799e2ee *vignettes/figures/mra-effect1.png b9cb4eda65e56c5f125c873cc346e781 *vignettes/figures/mra-effect2.png 45b35a13dec1249da4721432100db57f *vignettes/guerry-multivariate.Rmd 8136ef405a97754b841982699313c585 *vignettes/reference.bib b7abedc70441849d1c51c243ff902149 *vignettes/refs.bib Guerry/inst/0000755000176200001440000000000014515773424012520 5ustar liggesusersGuerry/inst/doc/0000755000176200001440000000000014515773424013265 5ustar liggesusersGuerry/inst/doc/guerry-multivariate.R0000644000176200001440000002054514515773423017436 0ustar liggesusers## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, warning = FALSE, message = FALSE, # suppress package loading messages comment = "#>", fig.height = 5, fig.width = 5, dpi = 96 ) # packages to be cited here. Code at the end automatically updates packages.bib to.cite <- c("car", "effects", "ggplot2", "GGally", "ggbiplot") ## ----load--------------------------------------------------------------------- library(Guerry) # Guerry data library(car) # better scatterplots library(effects) # Effect Displays for Linear Models library(ggplot2) # Elegant Data Visualisations Using the Grammar of Graphics library(ggrepel) # better handling of text labels library(patchwork) # combine plots library(heplots) # Hypothesis-Error plots library(candisc) # Visualizing Generalized Canonical Discriminant Analysis library(dplyr) # A Grammar of Data Manipulation library(tidyr) # Tidy Messy Data data(Guerry) ## ----guerry-more-vars--------------------------------------------------------- names(Guerry)[-(1:9)] ## ----guerry-long-------------------------------------------------------------- data("Guerry", package="Guerry") guerry_long <- Guerry |> filter(!is.na(Region)) |> select(dept:Suicides) |> pivot_longer(cols = Crime_pers:Suicides, names_to = "variable", values_to = "value") guerry_long ## ----guerry-density1---------------------------------------------------------- ggplot(data = guerry_long, aes(x=value, fill=TRUE)) + geom_density(alpha=0.2) + geom_rug() + facet_wrap(~variable, scales="free") + theme_bw(base_size = 14) + theme(legend.position = "none", axis.ticks.y=element_blank(), axis.text.y=element_blank()) ## ----guerry-density2---------------------------------------------------------- col.region <- colors()[c(149, 254, 468, 552, 26)] # colors for region ggplot(data = guerry_long, aes(x=value, fill=Region)) + geom_density(alpha=0.2) + geom_rug() + facet_wrap(~variable, scales="free") + scale_fill_manual(values=col.region) + theme_bw(base_size = 14) + theme(legend.position = "bottom", axis.ticks.y=element_blank(), axis.text.y=element_blank()) ## ----lit-pers-scat0----------------------------------------------------------- ggplot(aes(x=Literacy, y=Crime_pers/1000), data=Guerry) + geom_point(size=2) ## ----lit-pers-scat------------------------------------------------------------ gdf <- Guerry[, c("Literacy", "Crime_pers", "Department")] gdf$dsq <- mahalanobis(gdf[,1:2], colMeans(gdf[,1:2]), cov(gdf[,1:2])) ggplot(aes(x=Literacy, y=Crime_pers/1000, label=Department), data=gdf) + geom_point(size=2) + stat_ellipse(level=0.68, color="blue", size=1.2) + stat_ellipse(level=0.95, color="gray", size=1, linetype=2) + geom_smooth(method="lm", formula=y~x, fill="lightblue") + geom_smooth(method="loess", formula=y~x, color="red", se=FALSE) + geom_label_repel(data = gdf[gdf$dsq > 4.6,]) + theme_bw() ## ----lit-prop-scat------------------------------------------------------------ gdf <- Guerry[, c("Literacy", "Crime_prop", "Department")] gdf$dsq <- mahalanobis(gdf[,1:2], colMeans(gdf[,1:2]), cov(gdf[,1:2])) ggplot(aes(x=Literacy, y=Crime_prop/1000, label=Department), data=gdf) + geom_point(size=2) + stat_ellipse(level=0.68, color="blue", size=1.2) + stat_ellipse(level=0.95, color="gray", size=1, linetype=2) + geom_smooth(method="lm", formula=y~x, fill="lightblue") + geom_smooth(method="loess", formula=y~x, color="red", se=FALSE) + geom_label_repel(data = gdf[gdf$dsq > 4.6,]) + theme_bw() ## ----spm1--------------------------------------------------------------------- par(mar=rep(2,4)) library(car) # Companion to Applied Regression scatterplotMatrix(Guerry[,4:9], ellipse=list(levels=0.68), smooth=FALSE) ## ----corrgram1---------------------------------------------------------------- par(mar=rep(1,4)+.1) library(corrgram) # Plot a Correlogram corrgram(Guerry[,4:9], upper=panel.pie) ## ----corrgram2---------------------------------------------------------------- par(mar=rep(1,4)+.1) corrgram(Guerry[,4:9], upper=panel.ellipse, order=TRUE, lwd=2) ## ----guerry.pca--------------------------------------------------------------- gdata <- Guerry |> select(Region, Crime_pers:Suicides) |> # keep only main variables filter(!is.na(Region)) # delete Corsica (Region==NA) guerry.pca <- gdata |> select(-Region) |> prcomp(scale = TRUE) print(guerry.pca, digits=3) ## ----biplot1------------------------------------------------------------------ # if(!require(ggbiplot)) remotes::install_github("vqv/ggbiplot") # library(ggbiplot) # A ggplot2 based biplot # ggbiplot(guerry.pca, groups=gdata$Region, # ellipse=TRUE, # var.scale = 3, varname.size = 5) + # theme_bw() + # labs(color="Region") + # theme(legend.position = c(0.1, 0.8)) ## ----ggbiplot----------------------------------------------------------------- knitr::include_graphics("figures/ggbiplot.png") ## ----biplot2, out.width="95%"------------------------------------------------- op <- par(mar=c(5,4,1,1)+.1) cols = colorspace::rainbow_hcl(5) covEllipses(guerry.pca$x, group=gdata$Region, pooled=FALSE, fill=TRUE, fill.alpha=0.1, col=cols, label.pos=c(3,0,1,1,3), cex=2, xlim=c(-4,4), ylim=c(-4,4), xlab = "Dimension 1 (35.7 %)", ylab = "Dimension 2 (20.0 %)", cex.lab=1.4 ) points(guerry.pca$x, pch=(15:19)[Guerry$Region], col=cols[Guerry$Region]) candisc::vectors(guerry.pca$rotation, scale=5, col="black", lwd=3, cex=1.4, pos = c(4,2,4,2,2,2), xpd=TRUE) abline(h=0, v=0, col=gray(.70)) ## ----mra-models--------------------------------------------------------------- crime.mod1 <- lm(Crime_pers ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) crime.mod2 <- lm(Crime_prop ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) ## ----mra-anova---------------------------------------------------------------- Anova(crime.mod1) Anova(crime.mod2) ## ----mra-effect1-code--------------------------------------------------------- # plot(predictorEffects(crime.mod1, ~ Region + Literacy + Infants + Suicides), # lwd=2, main="") ## ----mra-effect1-------------------------------------------------------------- knitr::include_graphics("figures/mra-effect1.png") ## ----mra-effect2-code--------------------------------------------------------- # plot(predictorEffects(crime.mod2, ~ Region + Literacy + Infants + Suicides), # lwd=2, main="") ## ----mra-effect2-------------------------------------------------------------- knitr::include_graphics("figures/mra-effect2.png") ## ----manova1------------------------------------------------------------------ crime.mod <- lm(cbind(Crime_pers, Crime_prop) ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) Anova(crime.mod) ## ----cqplot------------------------------------------------------------------- par(mar=c(3,3,1,1)+.1) labels <- paste0(Guerry$dept,":", Guerry$Department) cqplot(crime.mod, id.n=4, labels=labels) ## ----heplot------------------------------------------------------------------- par(mar = c(3,3,1,1)+.1) heplot(crime.mod, fill=TRUE, fill.alpha=0.05, cex=1.4, cex.lab=1.3 ) ## ----candisc------------------------------------------------------------------ crime.can <- candisc(crime.mod) crime.can ## ----hecan-------------------------------------------------------------------- par(mar = c(3,3,1,1)+.1) heplot(crime.can, fill=TRUE, fill.alpha=0.1, var.col = "black", var.cex = 1.3, cex=1.4, cex.lab=1.3) ## ----write-bib, echo = FALSE-------------------------------------------------- # write a packages.bib file of the packages (.packages()) that have been used here pkgs <- unique(c(to.cite, .packages())) knitr::write_bib(pkgs, file = here::here("vignettes", "packages.bib")) Guerry/inst/doc/guerry-multivariate.Rmd0000644000176200001440000005455514513000475017753 0ustar liggesusers--- title: "Guerry data: Multivariate Analysis" author: "Michael Friendly" date: "`r Sys.Date()`" package: Guerry output: rmarkdown::html_vignette: toc: true toc_depth: 2 bibliography: ["refs.bib", "packages.bib"] link-citations: yes vignette: > %\VignetteIndexEntry{Guerry data: Multivariate Analysis} %\VignetteKeywords{crime, literacy, suicide, France, multivariate analysis} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, warning = FALSE, message = FALSE, # suppress package loading messages comment = "#>", fig.height = 5, fig.width = 5, dpi = 96 ) # packages to be cited here. Code at the end automatically updates packages.bib to.cite <- c("car", "effects", "ggplot2", "GGally", "ggbiplot") ``` André-Michel Guerry's _Essai sur la Statistique Morale de la France_ [@Guerry:1833] collected data on crimes, suicide, literacy and other "moral statistics" for various départements in France. He provided the first real social data analysis, using graphics and maps to summarize this multivariate dataset. One of his main goals in this ground-breaking study was to determine if the prevalence of crime in France could be explained by other social variables. In 1833, the scatterplot had not yet been invented; the idea of a correlation or a regression was still 50 years in the future [@Galton:1886]. Guerry displayed his data in shaded choropleth maps and semi-graphic tables and argued how these could be seen as implying systematic, lawful relations among moral variables. In this analysis, we ignore the spatial context of the départements and focus on multivariate analyses of the the data set. # Load data and packages We will primarily use the following packages, so load them now. ```{r load} library(Guerry) # Guerry data library(car) # better scatterplots library(effects) # Effect Displays for Linear Models library(ggplot2) # Elegant Data Visualisations Using the Grammar of Graphics library(ggrepel) # better handling of text labels library(patchwork) # combine plots library(heplots) # Hypothesis-Error plots library(candisc) # Visualizing Generalized Canonical Discriminant Analysis library(dplyr) # A Grammar of Data Manipulation library(tidyr) # Tidy Messy Data data(Guerry) ``` ## `Guerry` data set Guerry's (1833) data consisted of six main moral variables shown in the table below. He wanted all of these to be recorded on aligned scales so that **larger** numbers consistently reflected "**morally better**". Thus, four of the variables are recorded in the inverse form, as "Population per ...". | Name | Description | |:------------|:-----------------------------------------------------| |`Crime_pers` | Population per crime against persons | |`Crime_prop` | Population per crime against property | |`Literacy` | Percent of military conscripts who can read and write| |`Donations` | Donations to the poor | |`Infants` | Population per illegitimate birth | |`Suicides` | Population per suicide | The `Guerry` data set also contains: * `dept` and `Department`, the French ID numbers and names for the 86 départements of metropolitan France in 1830, including Corsica. * `Region`: a factor with main levels "N", "S", "E", "W", "C". Corsica is coded as `NA`. * A collection of 14 other related variables from other sources at the same time. See `?Guerry` for their precise definitions. ```{r guerry-more-vars} names(Guerry)[-(1:9)] ``` Among these, as other aspects of criminal behavior, we see crime against parents, `Infanticide` and `Prostitutes`. `Clergy` and `Donations_clergy` are considered to be measures of moral rectitude, potentially counteracting crime. ## Guerry's questions The main questions that concerned Guerry were whether indicators of crime could be shown to be related to factors which might be considered to ameliorate crime. Among these, Guerry focused most on `Literacy` defined as the number of military conscripts who could do more than mark an "X" on their enrollment form. A related variable is `Instruction`, the rank recorded from Guerry's map; as defined, it is inversely related to `Literacy`. Other potential explanatory variables are: : `Donations` (a measure of donations to the poor), : `Donation_clergy` (a measure of donations to clergy) : `Clergy` (the rank of number of Catholic priests in active service, per population) # Multivariate visualization methods Visualization methods for multivariate data take an enormous variety of forms simply because more than two dimensions of data offer exponentially increasingly possibilities. It is useful to distinguish several broad categories: * __data plots__ : primarily plot the raw data, often with annotations to aid interpretation (regression lines and smooths, data ellipses, marginal distributions) * __model plots__ : primarily plot the results of a fitted model, considering that the fitted model may involve more variables than can be shown in a static 2D plot. Some examples are: Added variable plots, effect plots, coefficient plots, ... * __diagnostic plots__ : indicating potential problems with the fitted model. These include residual plots, influence plots, plots for testing homogeneity of variance and so forth. * __dimension reduction plots__ : plot representations of the data into a space of fewer dimensions than the number of variables in the data set. Simple examples include principal components analysis (PCA) and the related biplots, and multidimensional scaling (MDS) methods. # Data plots Data plots portray the data in a space where the coordinate axes are the observed variables. * 1D plots include line plots, histograms and density estimates * 2D plots are most often scatterplots, but contour plots or hex-binned plots are also useful when the sample size is large. * For higher dimensions, biplots, showing the data in principal components space, together with vectors representing the correlations among variables, are often the most useful. ## Density plots It is useful to examine the distributions of the variables and **density** plots are quite informative. I want to do this for each of the 6 main variables, so I'll use this trick of tidy data analysis with `ggplot2`: 1. Reshape the data from wide to long. This gives `guerry_long`, where the different variables are in a column labeled `variable` and the values are in `value`. ```{r guerry-long} data("Guerry", package="Guerry") guerry_long <- Guerry |> filter(!is.na(Region)) |> select(dept:Suicides) |> pivot_longer(cols = Crime_pers:Suicides, names_to = "variable", values_to = "value") guerry_long ``` 2. Plot the density, but make a different subplot by `facet_wrap(~ variable)`. These plots all have different scales for the X and Y (density) values, so it is important to use `scales="FREE"`. Moreover, I'm primarily interested in the **shape** of these distributions, so I suppress the Y axis tick marks and labels. ```{r guerry-density1} #| out.width = "100%" ggplot(data = guerry_long, aes(x=value, fill=TRUE)) + geom_density(alpha=0.2) + geom_rug() + facet_wrap(~variable, scales="free") + theme_bw(base_size = 14) + theme(legend.position = "none", axis.ticks.y=element_blank(), axis.text.y=element_blank()) ``` You can see that all variables are positively skewed, `Donations`, `Infants` and `Suicides` particularly so, but not so much as to cause alarm. It is also of interest to see whether and how these distributions differ according to `Region`. This is easy to do, using `aes(... fill=Region)` ```{r guerry-density2} #| out.width = "100%", #| fig.height = 6 col.region <- colors()[c(149, 254, 468, 552, 26)] # colors for region ggplot(data = guerry_long, aes(x=value, fill=Region)) + geom_density(alpha=0.2) + geom_rug() + facet_wrap(~variable, scales="free") + scale_fill_manual(values=col.region) + theme_bw(base_size = 14) + theme(legend.position = "bottom", axis.ticks.y=element_blank(), axis.text.y=element_blank()) ``` For some variables, like `Infants` and `Suicides` the differences do not seem particularly large. However, both crime variables and `Literacy` show marked differences across region. ## Bivariate relations Let's start with plots of crime (`Crime_pers` and `Crime_prop`) in relation to `Literacy`. A simple scatterplot is not very informative. All that can be seen is that there is not much of a relation between personal crime and literacy. ```{r lit-pers-scat0} ggplot(aes(x=Literacy, y=Crime_pers/1000), data=Guerry) + geom_point(size=2) ``` More useful scatterplots are annotated with additional statistical summaries to aid interpretation: * linear regression line, * smoothed non-parametric (loess) curve, to diagnose potential non-linear relations, * data ellipses, to highlight the overall trend and variability, * point labels for potentially outlying or influential points. I use `ggplot2` here. It provides most of these features, except that to label unusual points, I calculate the Mahalanobis squared distance of all points from the grand means. ```{r lit-pers-scat} gdf <- Guerry[, c("Literacy", "Crime_pers", "Department")] gdf$dsq <- mahalanobis(gdf[,1:2], colMeans(gdf[,1:2]), cov(gdf[,1:2])) ggplot(aes(x=Literacy, y=Crime_pers/1000, label=Department), data=gdf) + geom_point(size=2) + stat_ellipse(level=0.68, color="blue", size=1.2) + stat_ellipse(level=0.95, color="gray", size=1, linetype=2) + geom_smooth(method="lm", formula=y~x, fill="lightblue") + geom_smooth(method="loess", formula=y~x, color="red", se=FALSE) + geom_label_repel(data = gdf[gdf$dsq > 4.6,]) + theme_bw() ``` The flat (blue) regression line and the nearly circular data ellipses show that the correlation is nearly zero; the smoothed (red) curve indicates that there is no tendency for a nonlinear relation. Doing the same for crimes against property: ```{r lit-prop-scat} gdf <- Guerry[, c("Literacy", "Crime_prop", "Department")] gdf$dsq <- mahalanobis(gdf[,1:2], colMeans(gdf[,1:2]), cov(gdf[,1:2])) ggplot(aes(x=Literacy, y=Crime_prop/1000, label=Department), data=gdf) + geom_point(size=2) + stat_ellipse(level=0.68, color="blue", size=1.2) + stat_ellipse(level=0.95, color="gray", size=1, linetype=2) + geom_smooth(method="lm", formula=y~x, fill="lightblue") + geom_smooth(method="loess", formula=y~x, color="red", se=FALSE) + geom_label_repel(data = gdf[gdf$dsq > 4.6,]) + theme_bw() ``` So, somewhat surprisingly, increased literacy is associated with an increase in property crime (greater population per crime) as opposed to the situation with personal crime, which seems unrelated to literacy. Creuse again stands out as an unusual point, one that is likely to be influential in regression models. ## Reconnaisance plots Reconnaisance plots attempt to give a bird's-eye overview of a multivariate data set. For example, to see the relations among more than two variables we could turn to a scatterplot matrix or some other display to show all pairwise bivariate relations. For these, my preferred package is `car` [@R-car] with the `scatterplotMatrix` function. `GGally` [@R-GGally] works within the the `ggplot2` framework, but doesn't have the flexibility I'd like. ```{r spm1} #| out.width="100%", #| echo=-1 par(mar=rep(2,4)) library(car) # Companion to Applied Regression scatterplotMatrix(Guerry[,4:9], ellipse=list(levels=0.68), smooth=FALSE) ``` ### Corrgrams Sometimes, particularly with more variables than this, we want to see a more schematic overview. A _correlation diagram_ or "corrgram" [@Friendly:02:corrgram] is a graphic display of a correlation matrix, allowing different renderings of the correlation between each pair of variables: as a shaded box, a pie symbol, a schematic data ellipse, and other options. This is implemented in the `corrgram` package [@R-corrgram]. The panels in the upper and lower triangles can be rendered differently. ```{r corrgram1} #| echo=-1 par(mar=rep(1,4)+.1) library(corrgram) # Plot a Correlogram corrgram(Guerry[,4:9], upper=panel.pie) ``` Or, the data in each pairwise tile can be rendered with data ellipses and smoothed curves to show possible nonlinear relations. Another feature is that the rows/column variables can be permuted to put similar variables together, using the `order` option, which arranges the variables according to similarity of their correlations. ```{r corrgram2} #| echo=-1 par(mar=rep(1,4)+.1) corrgram(Guerry[,4:9], upper=panel.ellipse, order=TRUE, lwd=2) ``` Here, there are a number of pairwise plots that appear markedly nonlinear. For the main crime variables, the most nonlinear are that of personal crime vs. donations to the poor, and property crime vs. infants born out of wedlock and suicides. `Literacy` stands out here as having negative relations with all other variables. An alternative analysis might include: * converting the data to ranks. * considering transformations of some of the variables ## Biplots Rather than viewing the data in **data space**, a biplot shows the data in the **reduced-rank PCA space** that explains most of the variation of the observations. This is essentially a plot of the observation scores on the first principal component overlaid with vectors representing the variables projected into PCA space. First, we use `prcomp()` to carry out the PCA. We'd like to visualize the result in relation to `Region`, so delete Corsica where `Region` is missing. ```{r guerry.pca} gdata <- Guerry |> select(Region, Crime_pers:Suicides) |> # keep only main variables filter(!is.na(Region)) # delete Corsica (Region==NA) guerry.pca <- gdata |> select(-Region) |> prcomp(scale = TRUE) print(guerry.pca, digits=3) ``` In the `ggplot2` framework, biplots can be produced by the `ggbiplot` package [@R-ggbiplot], but this package is not on CRAN, so cannot be directly used in this vignette. Instead, the code below was run locally and the result included. ```{r biplot1} #| eval=FALSE if(!require(ggbiplot)) remotes::install_github("vqv/ggbiplot") library(ggbiplot) # A ggplot2 based biplot ggbiplot(guerry.pca, groups=gdata$Region, ellipse=TRUE, var.scale = 3, varname.size = 5) + theme_bw() + labs(color="Region") + theme(legend.position = c(0.1, 0.8)) ``` ```{r ggbiplot} knitr::include_graphics("figures/ggbiplot.png") ``` This is OK, but there are many features of such plots that cannot be customized (line widths, colors, ... ). I prefer those created using the `heplots` package. ```{r biplot2, out.width="95%"} op <- par(mar=c(5,4,1,1)+.1) cols = colorspace::rainbow_hcl(5) covEllipses(guerry.pca$x, group=gdata$Region, pooled=FALSE, fill=TRUE, fill.alpha=0.1, col=cols, label.pos=c(3,0,1,1,3), cex=2, xlim=c(-4,4), ylim=c(-4,4), xlab = "Dimension 1 (35.7 %)", ylab = "Dimension 2 (20.0 %)", cex.lab=1.4 ) points(guerry.pca$x, pch=(15:19)[Guerry$Region], col=cols[Guerry$Region]) candisc::vectors(guerry.pca$rotation, scale=5, col="black", lwd=3, cex=1.4, pos = c(4,2,4,2,2,2), xpd=TRUE) abline(h=0, v=0, col=gray(.70)) ``` An interpretation can be read from both the directions of the variable arrows and the relative positions of the ellipses representing the scatter of the component scores for the different regions. * The first component is largely aligned positively with `Literacy` and negatively with property crime, suicides and children born out of wedlock (`Infants`) * The second dimension reflects mainly the correlation of personal crime and donations to the poor. * The South region is generally lower on PC2, the West, generally higher. * The North stands out as being higher than the others on PC1; the West somewhat higher on PC2. # Models Here we illustrate: * Model based plots for linear regression models predicting personal crime and property crime * Multivariate analysis of variance (MANOVA) and HE plots for the joint relation of the crime variables to other predictors. ## Predicting crime: Univariate regression The simplest approach to predicting the crime variables would be to fit a separate multiple regression to each. ```{r mra-models} crime.mod1 <- lm(Crime_pers ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) crime.mod2 <- lm(Crime_prop ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) ``` Tests for the predictors are best obtained using `car::Anova()` which gives **partial** (Type II) tests, adjusting for other predictors, rather than the **sequential** (Type I) tests provided by `stats::anova()` ```{r mra-anova} Anova(crime.mod1) Anova(crime.mod2) ``` These are somewhat disappointing if you look only at the significance stars: Only `Region` is significant for personal crime and only `Suicides` for property crime. There is no evidence for the argument, supported by the liberal hygenicists of Guerry's time, that increased `Literacy` would reduce crime. For such models, we can understand the nature of the predicted effects using the `effects` package. The (marginal) effect for a given term gives the predicted values, averaging over all other terms in the model. ```{r mra-effect1-code} #| eval=FALSE plot(predictorEffects(crime.mod1, ~ Region + Literacy + Infants + Suicides), lwd=2, main="") ``` ```{r mra-effect1} #| echo = FALSE knitr::include_graphics("figures/mra-effect1.png") ``` Doing the same for property crime, we get: ```{r mra-effect2-code} #| eval=FALSE plot(predictorEffects(crime.mod2, ~ Region + Literacy + Infants + Suicides), lwd=2, main="") ``` ```{r mra-effect2} #| echo = FALSE knitr::include_graphics("figures/mra-effect2.png") ``` ## Predicting crime: Multivariate regression The two regression models can be fit together in a multivariate regression for both crime variables jointly. ```{r manova1} crime.mod <- lm(cbind(Crime_pers, Crime_prop) ~ Region + Literacy + Donations + Infants + Suicides, data=Guerry) Anova(crime.mod) ``` As a quick check on the assumption that the residuals are bivariate normally distributed and a check for outliers, a $\chi^2$ Q-Q plot graphs the squared Mahalanobis distances of the residuals against the corresponding $\chi^2_2$ quantiles these would have in a bivariate normal distribution. The data for Creuse stands out as a potential outlier. ```{r cqplot} #| echo=-1 par(mar=c(3,3,1,1)+.1) labels <- paste0(Guerry$dept,":", Guerry$Department) cqplot(crime.mod, id.n=4, labels=labels) ``` ### HE plots Hypothesis-Error (HE) plots [@Friendly:2007:heplots; @FoxFriendlyMonette:09:compstat; @heplots] provide a convenient graphical summary of hypothesis tests in multivariate linear model. They plot a data ellipse for the residuals in the model, representing the $\mathbf{E}$ matrix in the test statistics (Roy's maximum root test, Pillai and Hotelling trace criteria and Wilks' Lambda). Overlaid on this are $\mathbf{H}$ ellipses for each term in the model, representing the data ellipses for the fitted values. Using Roy's test, these have a convenient interpretation: a term is significant _iff_ the H ellipse projects anywhere outside the E ellipse. For a 1 df (regression) variable, the H ellipse collapses to a line. ```{r heplot} #| echo=-1 par(mar = c(3,3,1,1)+.1) heplot(crime.mod, fill=TRUE, fill.alpha=0.05, cex=1.4, cex.lab=1.3 ) ``` In this plot, the effect of `Suicides` is completely aligned with crimes against property. The effect of `Region` is positively correlated with both types of crime. The means for the regions show that the South of France is lower (worse) on personal crime; the other regions vary most in property crime, with the North being lower and the Center being higher. ### Canonical plots The HE plot displays these relations in **data space**. An alternative is provided by canonical discriminant analysis, which finds the weighted sums of the response variables leading to the largest test statistics for the terms, which can be visualized in **canonical space**. The analysis below reflects the effect of `Region` in relation to both crime variables. ```{r candisc} crime.can <- candisc(crime.mod) crime.can ``` The HE plot for this analysis is shown below. Variable vector represent the correlations of the crime variables with the canonical dimension. ```{r hecan} #| echo=-1 par(mar = c(3,3,1,1)+.1) heplot(crime.can, fill=TRUE, fill.alpha=0.1, var.col = "black", var.cex = 1.3, cex=1.4, cex.lab=1.3) ``` This gives a simple interpretation of the differences in `Region` on the crime variables. The first canonical dimension accounts for 83% of differences among the regions, and this is nearly perfectly aligned with personal crime, with the largest difference between the South and the other regions. The second canonical dimension, accounting for the remaining 17%, is perfectly aligned with property crime. On this dimension, the North stands out compared to the other regions. ```{r write-bib, echo = FALSE} # write a packages.bib file of the packages (.packages()) that have been used here pkgs <- unique(c(to.cite, .packages())) knitr::write_bib(pkgs, file = here::here("vignettes", "packages.bib")) ``` # References Guerry/inst/doc/MultiSpat.R0000644000176200001440000001542314515773415015337 0ustar liggesusers## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, warning = FALSE, message = FALSE, # suppress package loading messages comment = "#>", fig.height = 3, fig.width = 3, fig.align = "center" ) ## ----------------------------------------------------------------------------- library(Guerry) # Guerry's data library(sp) # management of spatial data library(ade4) # multivariate analysis library(adegraphics) # graphical representation library(spdep) # spatial dependency library(adespatial) # multivariate spatial analysis ## ----names-------------------------------------------------------------------- names(gfrance85) ## ----components--------------------------------------------------------------- data(gfrance85) df <- data.frame(gfrance85)[, 7:12] # the 6 variables france.map <- as(gfrance85, "SpatialPolygons") # the map xy <- coordinates(gfrance85) # spatial coordinates dep.names <- data.frame(gfrance85)[, 6] # departement names region.names <- data.frame(gfrance85)[, 5] # region names col.region <- colors()[c(149, 254, 468, 552, 26)] # colors for region ## ----dudi-pca----------------------------------------------------------------- pca <- dudi.pca(df, scannf = FALSE, nf = 3) ## ----------------------------------------------------------------------------- biplot(pca, plabel.cex = 0.8) ## ----------------------------------------------------------------------------- pca$eig/sum(pca$eig) * 100 ## ----------------------------------------------------------------------------- s.corcircle(pca$co) ## ----fig.width = 4, fig.height = 4------------------------------------------- s.label(pca$li, ppoint.col = col.region[region.names], plabel.optim = TRUE, plabel.cex = 0.6) s.Spatial(france.map, col = col.region[region.names], plabel.cex = 0) s.class(xy, region.names, col = col.region, add = TRUE, ellipseSize = 0, starSize = 0) ## ----------------------------------------------------------------------------- nb <- poly2nb(gfrance85) lw <- nb2listw(nb, style = "W") ## ----------------------------------------------------------------------------- s.Spatial(france.map, nb = nb, plabel.cex = 0, pSp.border = "white") ## ----------------------------------------------------------------------------- moran.randtest(df, lw) ## ----fig.width = 4, fig.height=4---------------------------------------------- x <- df[, 3] x.lag <- lag.listw(lw, df[, 3]) moran.plot(x, lw) text(x[5], x.lag[5], dep.names[5], pos = 1, cex = 0.8) ## ----fig.dim = c(6,3)--------------------------------------------------------- moran.randtest(pca$li, lw) s.value(xy, pca$li[, 1:2], Sp = france.map, pSp.border = "white", symbol = "circle", pgrid.draw = FALSE) ## ----------------------------------------------------------------------------- bet <- bca(pca, region.names, scannf = FALSE, nf = 2) ## ----------------------------------------------------------------------------- bet$ratio ## ----fig.dim=c(5,5)----------------------------------------------------------- plot(bet) ## ----------------------------------------------------------------------------- barplot(bet$eig) bet$eig/sum(bet$eig) * 100 ## ----------------------------------------------------------------------------- s.arrow(bet$c1, plabel.cex = 0.8) ## ----fig.dim = c(4,4)--------------------------------------------------------- s.label(bet$ls, as.character(dep.names), ppoint.cex = 0, plabel.optim = TRUE, plabel.col = col.region[region.names], plabel.cex = 0.5) s.class(bet$ls, fac = region.names, col = col.region, ellipse = 0, add = TRUE) ## ----fig.dim = c(6,3)--------------------------------------------------------- s.value(xy, bet$ls, symbol = "circle", Sp = france.map, pSp.col = col.region[region.names], pSp.border = "transparent") ## ----fig.dim = c(6,4)--------------------------------------------------------- poly.xy <- orthobasis.poly(xy, degree = 2) s.value(xy, poly.xy, Sp = france.map, plegend.drawKey = FALSE) ## ----------------------------------------------------------------------------- pcaiv.xy <- pcaiv(pca, poly.xy, scannf = FALSE, nf = 2) ## ----------------------------------------------------------------------------- sum(pcaiv.xy$eig)/sum(pca$eig) * 100 pcaiv.xy$eig/sum(pcaiv.xy$eig) * 100 ## ----fig.dim=c(5,5)----------------------------------------------------------- plot(pcaiv.xy) ## ----fig.dim = c(6,6)--------------------------------------------------------- mem1 <- scores.listw(lw) s.value(xy, mem1[, 1:9], Sp = france.map, plegend.drawKey = FALSE) ## ----------------------------------------------------------------------------- pcaiv.mem <- pcaiv(pca, mem1[,1:10], scannf = FALSE) ## ----------------------------------------------------------------------------- sum(pcaiv.mem$eig)/sum(pca$eig) * 100 pcaiv.mem$eig/sum(pcaiv.mem$eig) * 100 ## ----fig.dim=c(5,5)----------------------------------------------------------- plot(pcaiv.mem) ## ----------------------------------------------------------------------------- ms <- multispati(pca, lw, scannf = FALSE) ## ----fig.dim=c(5,5)----------------------------------------------------------- plot(ms) ## ----------------------------------------------------------------------------- summary(ms) ## ----------------------------------------------------------------------------- s.arrow(ms$c1, plabel.cex = 0.8) ## ----fig.dim = c(4,4)--------------------------------------------------------- s.match(ms$li, ms$ls, plabel.cex = 0) s.match(ms$li[c(10, 41, 27), ], ms$ls[c(10, 41, 27), ], label = dep.names[c(10, 41, 27)], plabel.cex = 0.8, add = TRUE) ## ----fig.dim = c(6,3)--------------------------------------------------------- s.value(xy, ms$li, Sp = france.map) ## ----------------------------------------------------------------------------- mat <- matrix(NA, 4, 4) mat.names <- c("PCA", "BCA", "PCAIV-POLY", "PCAIV-MEM", "MULTISPATI") colnames(mat) <- mat.names[-5] rownames(mat) <- mat.names[-1] mat[1, 1] <- procuste.randtest(pca$li[, 1:2], bet$ls[, 1:2])$obs mat[2, 1] <- procuste.randtest(pca$li[, 1:2], pcaiv.xy$ls[, 1:2])$obs mat[3, 1] <- procuste.randtest(pca$li[, 1:2], pcaiv.mem$ls[, 1:2])$obs mat[4, 1] <- procuste.randtest(pca$li[, 1:2], ms$li[, 1:2])$obs mat[2, 2] <- procuste.randtest(bet$ls[, 1:2], pcaiv.xy$ls[, 1:2])$obs mat[3, 2] <- procuste.randtest(bet$ls[, 1:2], pcaiv.mem$ls[, 1:2])$obs mat[4, 2] <- procuste.randtest(bet$ls[, 1:2], ms$li[, 1:2])$obs mat[3, 3] <- procuste.randtest(pcaiv.xy$ls[, 1:2], pcaiv.mem$ls[, 1:2])$obs mat[4, 3] <- procuste.randtest(pcaiv.xy$ls[, 1:2], ms$li[, 1:2])$obs mat[4, 4] <- procuste.randtest(pcaiv.mem$ls[, 1:2], ms$li[, 1:2])$obs mat Guerry/inst/doc/MultiSpat.html0000644000176200001440000132717214515773415016112 0ustar liggesusers Guerry data: Spatial Multivariate Analysis

Guerry data: Spatial Multivariate Analysis

Stéphane Dray

2023-10-24

This vignette indicates how to perform the analyses described in Dray and Jombart (2011) of data derived from André-Michel Guerry’s (1833) Essai sur la Statistique Morale de la France. It illustrates some classical methods for analysis of multivariate spatial data that focus either on the multivariate aspect or on the spatial one, as well as some more modern methods that attempt to integrate geographical and multivariate aspects simultaneously.

Preliminary steps

Several packages are required to run the different analyses and should be loaded. The ade4 package for multivariate analysis is supplemented by adegraphics (for associated graphical methods) and adespatial for multivariate spatial analysis. For further information on this spatial analysis approach, see vignette(package="adespatial", "tutorial").

library(Guerry)       # Guerry's data
library(sp)           # management of spatial data
library(ade4)         # multivariate analysis
library(adegraphics)  # graphical representation
library(spdep)        # spatial dependency
library(adespatial)   # multivariate spatial analysis

Guerry gathered data on crimes, suicide, literacy and other moral statistics for various départements (i.e., counties) in France. He provided the first real social data analysis, using graphics and maps to summarize this georeferenced multivariate dataset. We use the dataset gfrance85 and consider six key quantitative variables (shown in the table below) for each of the 85 départements of France in 1830 (Corsica, an island and often an outlier, was excluded).

Data are recorded on aligned scales so that larger numbers consistently reflect “morally better”. Thus, four of the “bad” variables are recorded in the inverse form, as “Population per …”. With this scaling, it would be expected that all correlations be \(\ge 0\).

Name Description
Crime_pers Population per crime against persons
Crime_prop Population per crime against property
Literacy Percent of military conscripts who can read and write
Donations Donations to the poor
Infants Population per illegitimate birth
Suicides Population per suicide

The dataset gfrance85 is actually a SpatialPolygonsDataFrame object created with the sp package. It contains the polygon boundaries of the map of France in 1830, as well the variables in the Guerry data frame. As an ordinary data.frame, it has these components

names(gfrance85)
#>  [1] "CODE_DEPT"       "COUNT"           "AVE_ID_GEO"      "dept"           
#>  [5] "Region"          "Department"      "Crime_pers"      "Crime_prop"     
#>  [9] "Literacy"        "Donations"       "Infants"         "Suicides"       
#> [13] "MainCity"        "Wealth"          "Commerce"        "Clergy"         
#> [17] "Crime_parents"   "Infanticide"     "Donation_clergy" "Lottery"        
#> [21] "Desertion"       "Instruction"     "Prostitutes"     "Distance"       
#> [25] "Area"            "Pop1831"

To simplify analyses, we extract the components to be used below.

 data(gfrance85)
 df           <- data.frame(gfrance85)[, 7:12]    # the 6 variables
 france.map   <- as(gfrance85, "SpatialPolygons") # the map
 xy           <- coordinates(gfrance85)           # spatial coordinates
 dep.names    <- data.frame(gfrance85)[, 6]       # departement names
 region.names <- data.frame(gfrance85)[, 5]       # region names
 col.region   <- colors()[c(149, 254, 468, 552, 26)] # colors for region

Standard approaches

In this section, we focus on classical approaches that consider either the multivariate or the spatial aspect of the data.

Multivariate analysis

Here we consider \(p=6\) variables measured for \(n=85\) individuals (départements of France). As only quantitative variables have been recorded, principal component analysis (PCA, Hotelling 1933) is well adapted. PCA summarizes the data by maximizing simultaneously the variance of the projection of the individuals onto the principal axes and the sum of the squared correlations between the principal component and the variables.

pca <- dudi.pca(df, scannf = FALSE, nf = 3)

The biplot is simply obtained by

biplot(pca, plabel.cex = 0.8)

The first two PCA dimensions account for 35.7% and 20% ,respectively, of the total variance.

pca$eig/sum(pca$eig) * 100
#> [1] 35.674507 20.013665 18.367448 11.116102  9.144584  5.683694

Correlations between variables and principal components can be represented on a correlation circle. The first axis is negatively correlated to literacy and positively correlated to property crime, suicides and illegitimate births. The second axis is aligned mainly with personal crime and donations to the poor.

s.corcircle(pca$co)

Spatial information can be added on the factorial map representing the projections of départements on principal axes by coloring according to colors representing the different regions of France.

s.label(pca$li, ppoint.col = col.region[region.names], plabel.optim = TRUE, plabel.cex = 0.6)

s.Spatial(france.map, col = col.region[region.names], plabel.cex = 0)
s.class(xy, region.names, col = col.region, add = TRUE, ellipseSize = 0, starSize = 0)

For the first axis, the North and East are characterized by negative scores, corresponding to high levels of literacy and high rates of suicides, crimes against property and illegitimate births. The second axis mainly contrasts the West (high donations to the the poor and low levels of crime against persons) to the South.

Spatial autocorrelation

Spatial autocorrelation statistics, such as Moran (1948) Coefficient (MC) and Geary (1954) Ratio, aim to measure and analyze the degree of dependency among observations in a geographical context (Cliff and Ord 1973).

The spatial weighting matrix

The first step of spatial autocorrelation analysis is to define a spatial weighting matrix \(\mathbf{W}=[w_{ij}]\) . In the case of Guerry’s data, we simply defined a binary neighborhood where two départements are considered as neighbors if they share a common border. The spatial weighting matrix is then obtained after row-standardization (style = "W"):

nb <- poly2nb(gfrance85)
lw <- nb2listw(nb, style = "W")

We can represent this neighborhood on the geographical map:

s.Spatial(france.map, nb = nb, plabel.cex = 0, pSp.border = "white")

Moran’s Coefficient

Once the spatial weights have been defined, the spatial autocorrelation statistics can then be computed. Let us consider the \(n\)-by-1 vector \(\mathbf{x}=\left[ {x_1 \cdots x_n } \right]^\textrm{T}\) containing measurements of a quantitative variable for \(n\) spatial units. The usual formulation for Moran’s coefficient of spatial autocorrelation (Cliff and Ord 1973; Moran 1948) is \[\begin{equation} \label{eq1} MC(\mathbf{x})=\frac{n\sum\nolimits_{\left( 2 \right)} {w_{ij} (x_i -\bar {x})(x_j -\bar {x})} }{\sum\nolimits_{\left( 2 \right)} {w_{ij} } \sum\nolimits_{i=1}^n {(x_i -\bar {x})^2} }\mbox{ where }\sum\nolimits_{\left( 2 \right)} =\sum\limits_{i=1}^n {\sum\limits_{j=1}^n } \mbox{ with }i\ne j. \end{equation}\]

MC can be rewritten using matrix notation: \[\begin{equation} \label{eq2} MC(\mathbf{x})=\frac{n}{\mathbf{1}^\textrm{T}\mathbf{W1}}\frac{\mathbf{z}^\textrm{T}{\mathbf{Wz}}}{\mathbf{z}^\textrm{T}\mathbf{z}}, \end{equation}\] where \(\mathbf{z}=\left ( \mathbf{I}_n-\mathbf{1}_n\mathbf{1}_n^\textrm{T} /n \right )\mathbf{x}\) is the vector of centered values (\(z_i=x_i-\bar{x}\)) and \(\mathbf{1}_n\) is a vector of ones (of length \(n\)).

The significance of the observed value of MC can be tested by a Monte-Carlo procedure, in which locations are permuted to obtain a distribution of MC under the null hypothesis of random distribution. An observed value of MC that is greater than that expected at random indicates the clustering of similar values across space (positive spatial autocorrelation), while a significant negative value of MC indicates that neighboring values are more dissimilar than expected by chance (negative spatial autocorrelation).

We computed MC for the Guerry’s dataset. A positive and significant autocorrelation is identified for each of the six variables. Thus, the values of literacy are the most covariant in adjacent departments, while illegitimate births (Infants) covary least.

moran.randtest(df, lw)
#> class: krandtest lightkrandtest 
#> Monte-Carlo tests
#> Call: moran.randtest(x = df, listw = lw)
#> 
#> Number of tests:   6 
#> 
#> Adjustment method for multiple comparisons:   none 
#> Permutation number:   999 
#>         Test       Obs   Std.Obs   Alter Pvalue
#> 1 Crime_pers 0.4114597  5.797137 greater  0.001
#> 2 Crime_prop 0.2635533  4.160819 greater  0.002
#> 3   Literacy 0.7176053 10.357515 greater  0.001
#> 4  Donations 0.3533613  5.204476 greater  0.001
#> 5    Infants 0.2287241  3.628118 greater  0.002
#> 6   Suicides 0.4016812  6.081180 greater  0.001

Moran scatterplot

If the spatial weighting matrix is row-standardized, we can define the lag vector \(\mathbf{\tilde{z}} = \mathbf{Wz}\) (i.e., \(\tilde{z}_i = \sum\limits_{j=1}^n{w_{ij}x_j}\)) composed of the weighted (by the spatial weighting matrix) averages of the neighboring values. Thus, we have: \[\begin{equation} \label{eq3} MC(\mathbf{x})=\frac{\mathbf{z}^\textrm{T}{\mathbf{\tilde{z}}}}{\mathbf{z}^\textrm{T}\mathbf{z}}, \end{equation}\] since in this case \(\mathbf{1}^\textrm{T}\mathbf{W1}=n\). This shows clearly that MC measures the autocorrelation by giving an indication of the intensity of the linear association between the vector of observed values \(\mathbf{z}\) and the vector of weighted averages of neighboring values \(\mathbf{\tilde{z}}\). Anselin (1996) proposed to visualize MC in the form of a bivariate scatterplot of \(\mathbf{\tilde{z}}\) against \(\mathbf{z}\). A linear regression can be added to this Moran scatterplot, with slope equal to MC.

Considering the Literacy variable of Guerry’s data, the Moran scatterplot clearly shows strong autocorrelation. It also shows that the Hautes-Alpes département has a slightly outlying position characterized by a high value of Literacy compared to its neighbors.

x <- df[, 3]
x.lag <- lag.listw(lw, df[, 3])
moran.plot(x, lw)
text(x[5], x.lag[5], dep.names[5], pos = 1, cex = 0.8)

Indirect integration of multivariate and geographical aspects

The simplest approach considered a two-step procedure where the data are first summarized with multivariate analysis such as PCA. In a second step, univariate spatial statistics or mapping techniques are applied to PCA scores for each axis separately. One can also test for the presence of spatial autocorrelation for the first few scores of the analysis, with univariate autocorrelation statistics such as MC. We mapped scores of the départements for the first two axes of the PCA of Guerry’s data. Even if PCA maximizes only the variance of these scores, there is also a clear spatial structure, as the scores are highly autocorrelated. The map for the first axis corresponds closely to the split between la France éclairée (North-East characterized by an higher level of Literacy) and la France obscure.

moran.randtest(pca$li, lw)
#> class: krandtest lightkrandtest 
#> Monte-Carlo tests
#> Call: moran.randtest(x = pca$li, listw = lw)
#> 
#> Number of tests:   3 
#> 
#> Adjustment method for multiple comparisons:   none 
#> Permutation number:   999 
#>    Test       Obs  Std.Obs   Alter Pvalue
#> 1 Axis1 0.5506343 7.704990 greater  0.001
#> 2 Axis2 0.5614030 8.237265 greater  0.001
#> 3 Axis3 0.1805569 2.701054 greater  0.006
s.value(xy, pca$li[, 1:2], Sp = france.map, pSp.border = "white", symbol = "circle", pgrid.draw = FALSE)

Spatial multivariate analysis

Over the last decades, several approaches have been developed to consider both geographical and multivariate information simultaneously. The multivariate aspect is usually treated by techniques of dimensionality reduction similar to PCA. On the other hand, several alternatives have been proposed to integrate the spatial information.

Spatial partition

One alternative is to consider a spatial partition of the study area. In this case, the spatial information is coded as a categorical variable, and each category corresponds to a region of the whole study area. For instance, Guerry’s data contained a partition of France into 5 regions.

We used the between-class analysis (BCA, Dolédec and Chessel 1987), to investigate differences between regions. BCA maximizes the variance between groups.

 bet <- bca(pca, region.names, scannf = FALSE, nf = 2)

Here, 28.8 % of the total variance (sum of eigenvalues of PCA) corresponds to the between-regions variance (sum of the eigenvalues of BCA).

bet$ratio
#> [1] 0.288139

The main graphical outputs are obtained by the generic plot function:

plot(bet)

The barplot of eigenvalues indicates that two axes should be interpreted. The first two BCA dimensions account for 59 % and 30.2 %, respectively, of the between-regions variance.

 barplot(bet$eig)

 bet$eig/sum(bet$eig) * 100
#> [1] 58.995823 30.159802  7.417445  3.426930

The coefficients used to construct the linear combinations of variables are represented:

s.arrow(bet$c1, plabel.cex = 0.8)

The first axis opposed literacy to property crime, suicides and illegitimate births. The second axis is mainly aligned with personal crime and donations to the poor.

Projections of départements on the BCA axes can be represented on the factorial map:

s.label(bet$ls, as.character(dep.names), ppoint.cex = 0, plabel.optim = TRUE, plabel.col = col.region[region.names], plabel.cex = 0.5)
s.class(bet$ls, fac = region.names, col = col.region, ellipse = 0, add = TRUE)

The scores can be mapped to show the spatial aspects:

s.value(xy, bet$ls, symbol = "circle", Sp = france.map, pSp.col = col.region[region.names], pSp.border = "transparent")

The results are very close to those obtained by PCA: the first axis contrasted the North and the East (la France éclairée) to the other regions while the South is separated from the other regions by the second axis. The high variability of the region Centre is also noticeable. In contrast, the South is very homogeneous.

Spatial explanatory variables

Principal component analysis with respect to the instrumental variables (PCAIV, Rao 1964), and related methods, have been often used in community ecology to identify spatial relationships. The spatial information is introduced in the form of spatial predictors and the analysis maximized the “spatial variance” (i.e., the variance explained by spatial predictors). Note that BCA can also be considered as a particular case of PCAIV, where the explanatory variables are dummy variables indicating group membership.

Trend surface of geographic coordinates

Student (1914) proposed to express observed values in time series as a polynomial function of time, and mentioned that this could be done for spatial data as well. Borcard, Legendre, and Drapeau (1992) extended this approach to the spatial and multivariate case by introducing polynomial functions of geographic coordinates as predictors in PCAIV. We call this approach PCAIV-POLY.

The centroids of départements of France were used to construct a second-degree orthogonal polynomial.

poly.xy <- orthobasis.poly(xy, degree = 2)
s.value(xy, poly.xy, Sp = france.map, plegend.drawKey = FALSE)

PCAIV is then performed using the pcaiv function:

pcaiv.xy <- pcaiv(pca, poly.xy, scannf = FALSE, nf = 2)

Here, 32.4 % of the total variance (sum of eigenvalues of PCA) is explained by the second-degree polynomial (sum of eigenvalues of PCAIV). The first two dimensions account for 51.4 % and 35.2 %, respectively, of the explained variance.

sum(pcaiv.xy$eig)/sum(pca$eig) * 100
#> [1] 32.36025
pcaiv.xy$eig/sum(pcaiv.xy$eig) * 100
#> [1] 51.423264 35.152362  5.954475  4.799075  2.670825

The outputs of PCAIV-POLY (coefficients of variables, maps of départements scores, etc.) are very similar to those obtained by BCA. They can be represented easily by the generic plot function:

plot(pcaiv.xy)

Moran’s eigenvector maps

An alternative way to build spatial predictors is by the diagonalization of the spatial weighting matrix W. Moran’s eigenvector maps (MEM, Dray, Legendre, and Peres-Neto 2006) are the \(n-1\) eigenvectors of the doubly-centered matrix W. They are orthogonal vectors with a unit norm maximizing MC (Griffith 1996). MEM associated with high positive (or negative) eigenvalues have high positive (or negative) autocorrelation. MEM associated with eigenvalues with small absolute values correspond to low spatial autocorrelation, and are not suitable for defining spatial structures.

We used the spatial weighting matrix defined above to construct MEM. The first ten MEM, corresponding to the highest levels of spatial autocorrelation, have been mapped:

mem1 <- scores.listw(lw)
s.value(xy, mem1[, 1:9], Sp = france.map, plegend.drawKey = FALSE)

We introduced the first ten MEM as spatial explanatory variables in PCAIV. We call this approach PCAIV-MEM.

pcaiv.mem <- pcaiv(pca, mem1[,1:10], scannf = FALSE)

Here, 44.1 % of the total variance (sum of eigenvalues of PCA) is explained by the first ten MEM (sum of eigenvalues of PCAIV). The first two dimensions account for 54.9 % and 26.3 %, respectively, of the explained variance.

sum(pcaiv.mem$eig)/sum(pca$eig) * 100
#> [1] 44.11597
pcaiv.mem$eig/sum(pcaiv.mem$eig) * 100
#> [1] 54.928640 26.300082  9.042300  4.574408  3.532962  1.621607

The outputs of PCAIV-MEM (coefficients of variables, maps of départements scores, etc.) are very similar to those obtained by BCA. They can be represented easily by the generic plot function:

plot(pcaiv.mem)

Spatial graph and weighting matrix

The MEM framework introduced the spatial information into multivariate analysis through the eigendecomposition of the spatial weighting matrix. Usually, we consider only a part of the information contained in this matrix because only a subset of MEM are used as regressors in PCAIV. In this section, we focus on multivariate methods that consider the spatial weighting matrix under its original form.

Wartenberg (1985) was the first to develop a multivariate analysis based on MC. His work considered only normed and centered variables (i.e., normed PCA) for the multivariate part and a binary symmetric connectivity matrix for the spatial aspect. Dray, Saïd, and Débias (2008) generalized Wartenberg’s method by introducing a row-standardized spatial weighting matrix in the analysis of a statistical triplet. This approach is very general and allows us to define spatially-constrained versions of various methods (corresponding to different triplets) such as correspondence analysis or multiple correspondence analysis. MULTISPATI finds coefficients to obtain a linear combination of variables that maximizes a compromise between the classical multivariate analysis and a generalized version of Moran’s coefficient.

 ms <- multispati(pca, lw, scannf = FALSE)

The main outputs of MULTISPATI can be represented easily by the generic plot function:

plot(ms)

The barplot of eigenvalues suggests two main spatial structures. Eigenvalues of MULTISPATI are the product between the variance and the spatial autocorrelation of the scores, while PCA maximizes only the variance. The differences between the two methods are computed by the summary function:

summary(ms)
#> 
#> Multivariate Spatial Analysis
#> Call: multispati(dudi = pca, listw = lw, scannf = FALSE)
#> 
#> Scores from the initial duality diagram:
#>          var      cum     ratio     moran
#> RS1 2.140470 2.140470 0.3567451 0.5506343
#> RS2 1.200820 3.341290 0.5568817 0.5614030
#> RS3 1.102047 4.443337 0.7405562 0.1805569
#> 
#> Multispati eigenvalues decomposition:
#>           eig      var     moran
#> CS1 1.2858683 2.017171 0.6374612
#> CS2 0.6939887 1.176551 0.5898499

Hence, there is a loss of variance compared to PCA (2.14 versus 2.017 for axis 1; 1.201 versus 1.177 for axis 2) but a gain of spatial autocorrelation (0.551 versus 0.637 for axis 1; 0.561 versus 0.59 for axis 2).

Coefficients of variables allow to interpret the structures:

s.arrow(ms$c1, plabel.cex = 0.8)

The first axis opposes literacy to property crime, suicides and illegitimate births. The second axis is aligned mainly with personal crime and donations to the poor. The maps of the scores show that the spatial structures are very close to those identified by PCA. The similarity of results between PCA and its spatially optimized version confirm that the main structures of Guerry’s data are spatial.

Spatial autocorrelation can be seen as the link between one variable and the lagged vector. This interpretation is used to construct the Moran scatterplot and can be extended to the multivariate case in MULTISPATI by analyzing the link between scores and lagged scores:

s.match(ms$li, ms$ls, plabel.cex = 0)
s.match(ms$li[c(10, 41, 27), ], ms$ls[c(10, 41, 27), ], label = dep.names[c(10, 
     41, 27)], plabel.cex = 0.8, add = TRUE)

Each département can be represented on the factorial map by an arrow (the bottom corresponds to its score, the head corresponds to its lagged score. A short arrow reveals a local spatial similarity (between one plot and its neighbors) while a long arrow reveals a spatial discrepancy. This viewpoint can be interpreted as a multivariate extension of the local index of spatial association (Anselin 1995). For instance: * Aude has a very small arrow, indicating that this département is very similar to its neighbors. * Haute-Loire has a long horizontal arrow which reflects its high values for the variables Infants (31017), Suicides (163241) and Crime_prop (18043) compared to the average values over its neighbors (27032.4, 60097.8 and 10540.8 for these three variables). * Finistère corresponds to an arrow with a long vertical length which is due to its high values compared to its neighbors for Donations (23945 versus 12563) and Crime_pers (29872 versus 25962).

The link between the scores and the lagged scores (averages of neighbors weighted by the spatial connection matrix) can be mapped in the geographical space. For the first two axes, we have:

s.value(xy, ms$li, Sp = france.map)

Conclusions

Even if the methods presented are quite different in their theoretical and practical viewpoints, their applications to Guerry’s dataset yield very similar results. We provided a quantitative measure of this similarity by computing Procrustes statistics [Peres-Neto and Jackson (2001);SD161] between the scores of the départements onto the first two axes for the different analyses. All the values of the statistic are very high and significant; this confirms the high concordance between the outputs of the different methods.

mat <- matrix(NA, 4, 4)
mat.names <- c("PCA", "BCA", "PCAIV-POLY", "PCAIV-MEM", "MULTISPATI")
colnames(mat) <- mat.names[-5]
rownames(mat) <- mat.names[-1]

mat[1, 1] <- procuste.randtest(pca$li[, 1:2], bet$ls[, 1:2])$obs
mat[2, 1] <- procuste.randtest(pca$li[, 1:2], pcaiv.xy$ls[, 1:2])$obs
mat[3, 1] <- procuste.randtest(pca$li[, 1:2], pcaiv.mem$ls[, 1:2])$obs
mat[4, 1] <- procuste.randtest(pca$li[, 1:2], ms$li[, 1:2])$obs
mat[2, 2] <- procuste.randtest(bet$ls[, 1:2], pcaiv.xy$ls[, 1:2])$obs
mat[3, 2] <- procuste.randtest(bet$ls[, 1:2], pcaiv.mem$ls[, 1:2])$obs
mat[4, 2] <- procuste.randtest(bet$ls[, 1:2], ms$li[, 1:2])$obs
mat[3, 3] <- procuste.randtest(pcaiv.xy$ls[, 1:2], pcaiv.mem$ls[, 1:2])$obs
mat[4, 3] <- procuste.randtest(pcaiv.xy$ls[, 1:2], ms$li[, 1:2])$obs
mat[4, 4] <- procuste.randtest(pcaiv.mem$ls[, 1:2], ms$li[, 1:2])$obs

mat
#>                  PCA       BCA PCAIV-POLY PCAIV-MEM
#> BCA        0.9788594        NA         NA        NA
#> PCAIV-POLY 0.9791939 0.9897463         NA        NA
#> PCAIV-MEM  0.9885944 0.9936217  0.9954116        NA
#> MULTISPATI 0.9868799 0.9954034  0.9951133 0.9986471

References

Anselin, L. 1995. “Local Indicators of Spatial Association.” Geographical Analysis 27: 93–115.
———. 1996. “The Moran Scatterplot as an ESDA Tool to Assess Local Instability in Spatial Association.” In Spatial Analytical Perspectives on GIS, edited by M. M. Fischer, H. J. Scholten, and D. Unwin, 111–25. London: Taylor; Francis.
Borcard, D., P. Legendre, and P. Drapeau. 1992. “Partialling Out the Spatial Component of Ecological Variation.” Ecology 73: 1045–55.
Cliff, A. D., and J. K. Ord. 1973. Spatial Autocorrelation. London: Pion.
Dolédec, S., and D. Chessel. 1987. “Rythmes Saisonniers Et Composantes Stationnelles En Milieu Aquatique I- Description d’un Plan d’observations Complet Par Projection de Variables.” Acta Oecologica - Oecologia Generalis 8 (3): 403–26.
Dray, S., and T. Jombart. 2011. “Revisiting Guerry’s Data: Introducing Spatial Constraints in Multivariate Analysis.” Annals of Applied Statistics 5 (4): 2278–99.
Dray, S., P. Legendre, and P. R. Peres-Neto. 2006. “Spatial Modeling: A Comprehensive Framework for Principal Coordinate Analysis of Neighbor Matrices (PCNM).” Ecological Modelling 196: 483–93.
Dray, S., S. Saïd, and F. Débias. 2008. “Spatial Ordination of Vegetation Data Using a Generalization of Wartenberg’s Multivariate Spatial Correlation.” Journal of Vegetation Science 19: 45–56.
Geary, R. C. 1954. “The Contiguity Ratio and Statistical Mapping.” The Incorporated Statistician 5 (3): 115–45.
Griffith, D. A. 1996. “Spatial Autocorrelation and Eigenfunctions of the Geographic Weights Matrix Accompanying Geo-Referenced Data.” Canadian Geographer 40 (4): 351–67.
Guérry, A. M. 1833. Essai Sur La Statistique Morale de La France. Paris: Crochard.
Hotelling, H. 1933. “Analysis of a Complex of Statistical Variables into Principal Components.” Journal of Educational Psychology 24: 417–41.
Moran, P. A. P. 1948. “The Interpretation of Statistical Maps.” Journal of the Royal Statistical Society Series B-Methodological 10: 243–51.
Peres-Neto, P. R., and D. A. Jackson. 2001. “How Well Do Multivariate Data Sets Match? The Advantages of a Procrustean Superimposition Approach over the Mantel Test.” Oecologia 129: 169–78.
Rao, C. R. 1964. “The Use and Interpretation of Principal Component Analysis in Applied Research.” Sankhya A 26: 329–59.
Student, W. S. 1914. “The Elimination of Spurious Correlation Due to Position in Time or Space.” Biometrika 10: 179–80.
Wartenberg, D. 1985. “Multivariate Spatial Correlation: A Method for Exploratory Geographical Analysis.” Geographical Analysis 17 (4): 263–83.
Guerry/inst/doc/guerry-multivariate.html0000644000176200001440000113337014515773424020204 0ustar liggesusers Guerry data: Multivariate Analysis

Guerry data: Multivariate Analysis

Michael Friendly

2023-10-24

André-Michel Guerry’s Essai sur la Statistique Morale de la France (Guerry 1833) collected data on crimes, suicide, literacy and other “moral statistics” for various départements in France. He provided the first real social data analysis, using graphics and maps to summarize this multivariate dataset. One of his main goals in this ground-breaking study was to determine if the prevalence of crime in France could be explained by other social variables.

In 1833, the scatterplot had not yet been invented; the idea of a correlation or a regression was still 50 years in the future (Galton 1886). Guerry displayed his data in shaded choropleth maps and semi-graphic tables and argued how these could be seen as implying systematic, lawful relations among moral variables.

In this analysis, we ignore the spatial context of the départements and focus on multivariate analyses of the the data set.

Load data and packages

We will primarily use the following packages, so load them now.

library(Guerry)         # Guerry data
library(car)            # better scatterplots
library(effects)        # Effect Displays for Linear Models
library(ggplot2)        # Elegant Data Visualisations Using the Grammar of Graphics
library(ggrepel)        # better handling of text labels
library(patchwork)      # combine plots
library(heplots)        # Hypothesis-Error plots
library(candisc)        # Visualizing Generalized Canonical Discriminant Analysis
library(dplyr)          # A Grammar of Data Manipulation
library(tidyr)          # Tidy Messy Data
data(Guerry)

Guerry data set

Guerry’s (1833) data consisted of six main moral variables shown in the table below. He wanted all of these to be recorded on aligned scales so that larger numbers consistently reflected “morally better”. Thus, four of the variables are recorded in the inverse form, as “Population per …”.

Name Description
Crime_pers Population per crime against persons
Crime_prop Population per crime against property
Literacy Percent of military conscripts who can read and write
Donations Donations to the poor
Infants Population per illegitimate birth
Suicides Population per suicide

The Guerry data set also contains:

  • dept and Department, the French ID numbers and names for the 86 départements of metropolitan France in 1830, including Corsica.
  • Region: a factor with main levels “N”, “S”, “E”, “W”, “C”. Corsica is coded as NA.
  • A collection of 14 other related variables from other sources at the same time. See ?Guerry for their precise definitions.
names(Guerry)[-(1:9)]
#>  [1] "MainCity"        "Wealth"          "Commerce"        "Clergy"         
#>  [5] "Crime_parents"   "Infanticide"     "Donation_clergy" "Lottery"        
#>  [9] "Desertion"       "Instruction"     "Prostitutes"     "Distance"       
#> [13] "Area"            "Pop1831"

Among these, as other aspects of criminal behavior, we see crime against parents, Infanticide and Prostitutes. Clergy and Donations_clergy are considered to be measures of moral rectitude, potentially counteracting crime.

Guerry’s questions

The main questions that concerned Guerry were whether indicators of crime could be shown to be related to factors which might be considered to ameliorate crime. Among these, Guerry focused most on Literacy defined as the number of military conscripts who could do more than mark an “X” on their enrollment form. A related variable is Instruction, the rank recorded from Guerry’s map; as defined, it is inversely related to Literacy.

Other potential explanatory variables are:

Donations (a measure of donations to the poor),

Donation_clergy (a measure of donations to clergy)
Clergy (the rank of number of Catholic priests in active service, per population)

Multivariate visualization methods

Visualization methods for multivariate data take an enormous variety of forms simply because more than two dimensions of data offer exponentially increasingly possibilities. It is useful to distinguish several broad categories:

  • data plots : primarily plot the raw data, often with annotations to aid interpretation (regression lines and smooths, data ellipses, marginal distributions)

  • model plots : primarily plot the results of a fitted model, considering that the fitted model may involve more variables than can be shown in a static 2D plot. Some examples are: Added variable plots, effect plots, coefficient plots, …

  • diagnostic plots : indicating potential problems with the fitted model. These include residual plots, influence plots, plots for testing homogeneity of variance and so forth.

  • dimension reduction plots : plot representations of the data into a space of fewer dimensions than the number of variables in the data set. Simple examples include principal components analysis (PCA) and the related biplots, and multidimensional scaling (MDS) methods.

Data plots

Data plots portray the data in a space where the coordinate axes are the observed variables.

  • 1D plots include line plots, histograms and density estimates
  • 2D plots are most often scatterplots, but contour plots or hex-binned plots are also useful when the sample size is large.
  • For higher dimensions, biplots, showing the data in principal components space, together with vectors representing the correlations among variables, are often the most useful.

Density plots

It is useful to examine the distributions of the variables and density plots are quite informative. I want to do this for each of the 6 main variables, so I’ll use this trick of tidy data analysis with ggplot2:

  1. Reshape the data from wide to long. This gives guerry_long, where the different variables are in a column labeled variable and the values are in value.
data("Guerry", package="Guerry")
guerry_long <- Guerry |>
  filter(!is.na(Region)) |>
  select(dept:Suicides) |>
  pivot_longer(cols = Crime_pers:Suicides,
               names_to = "variable",
               values_to = "value")
guerry_long
#> # A tibble: 510 × 5
#>     dept Region Department variable   value
#>    <int> <fct>  <fct>      <chr>      <int>
#>  1     1 E      Ain        Crime_pers 28870
#>  2     1 E      Ain        Crime_prop 15890
#>  3     1 E      Ain        Literacy      37
#>  4     1 E      Ain        Donations   5098
#>  5     1 E      Ain        Infants    33120
#>  6     1 E      Ain        Suicides   35039
#>  7     2 N      Aisne      Crime_pers 26226
#>  8     2 N      Aisne      Crime_prop  5521
#>  9     2 N      Aisne      Literacy      51
#> 10     2 N      Aisne      Donations   8901
#> # ℹ 500 more rows
  1. Plot the density, but make a different subplot by facet_wrap(~ variable). These plots all have different scales for the X and Y (density) values, so it is important to use scales="FREE". Moreover, I’m primarily interested in the shape of these distributions, so I suppress the Y axis tick marks and labels.
ggplot(data = guerry_long,
       aes(x=value, fill=TRUE)) +
  geom_density(alpha=0.2) +
  geom_rug() +
  facet_wrap(~variable, scales="free") +
  theme_bw(base_size = 14) +
  theme(legend.position = "none",
        axis.ticks.y=element_blank(),
        axis.text.y=element_blank())

You can see that all variables are positively skewed, Donations, Infants and Suicides particularly so, but not so much as to cause alarm.

It is also of interest to see whether and how these distributions differ according to Region. This is easy to do, using aes(... fill=Region)

col.region   <- colors()[c(149, 254, 468, 552, 26)] # colors for region
ggplot(data = guerry_long,
       aes(x=value, fill=Region)) +
  geom_density(alpha=0.2) +
  geom_rug() +
  facet_wrap(~variable, scales="free") +
  scale_fill_manual(values=col.region) +
  theme_bw(base_size = 14) +
  theme(legend.position = "bottom",
        axis.ticks.y=element_blank(),
        axis.text.y=element_blank())

For some variables, like Infants and Suicides the differences do not seem particularly large. However, both crime variables and Literacy show marked differences across region.

Bivariate relations

Let’s start with plots of crime (Crime_pers and Crime_prop) in relation to Literacy. A simple scatterplot is not very informative. All that can be seen is that there is not much of a relation between personal crime and literacy.

ggplot(aes(x=Literacy, y=Crime_pers/1000), data=Guerry) +
  geom_point(size=2) 

More useful scatterplots are annotated with additional statistical summaries to aid interpretation:

  • linear regression line,
  • smoothed non-parametric (loess) curve, to diagnose potential non-linear relations,
  • data ellipses, to highlight the overall trend and variability,
  • point labels for potentially outlying or influential points.

I use ggplot2 here. It provides most of these features, except that to label unusual points, I calculate the Mahalanobis squared distance of all points from the grand means.

gdf <- Guerry[, c("Literacy", "Crime_pers", "Department")]
gdf$dsq <- mahalanobis(gdf[,1:2], colMeans(gdf[,1:2]), cov(gdf[,1:2]))

ggplot(aes(x=Literacy, y=Crime_pers/1000, label=Department), data=gdf) +
  geom_point(size=2) +
  stat_ellipse(level=0.68, color="blue", size=1.2) +  
  stat_ellipse(level=0.95, color="gray", size=1, linetype=2) + 
  geom_smooth(method="lm", formula=y~x, fill="lightblue") +
  geom_smooth(method="loess", formula=y~x, color="red", se=FALSE) +
  geom_label_repel(data = gdf[gdf$dsq > 4.6,]) +
  theme_bw()

The flat (blue) regression line and the nearly circular data ellipses show that the correlation is nearly zero; the smoothed (red) curve indicates that there is no tendency for a nonlinear relation.

Doing the same for crimes against property:

gdf <- Guerry[, c("Literacy", "Crime_prop", "Department")]
gdf$dsq <- mahalanobis(gdf[,1:2], colMeans(gdf[,1:2]), cov(gdf[,1:2]))

ggplot(aes(x=Literacy, y=Crime_prop/1000, label=Department), data=gdf) +
  geom_point(size=2) +
  stat_ellipse(level=0.68, color="blue", size=1.2) +  
  stat_ellipse(level=0.95, color="gray", size=1, linetype=2) + 
  geom_smooth(method="lm", formula=y~x, fill="lightblue") +
  geom_smooth(method="loess", formula=y~x, color="red", se=FALSE) +
  geom_label_repel(data = gdf[gdf$dsq > 4.6,]) +
  theme_bw()

So, somewhat surprisingly, increased literacy is associated with an increase in property crime (greater population per crime) as opposed to the situation with personal crime, which seems unrelated to literacy. Creuse again stands out as an unusual point, one that is likely to be influential in regression models.

Reconnaisance plots

Reconnaisance plots attempt to give a bird’s-eye overview of a multivariate data set. For example, to see the relations among more than two variables we could turn to a scatterplot matrix or some other display to show all pairwise bivariate relations.

For these, my preferred package is car (John Fox, Weisberg, and Price 2023) with the scatterplotMatrix function. GGally (Schloerke et al. 2021) works within the the ggplot2 framework, but doesn’t have the flexibility I’d like.

library(car)          # Companion to Applied Regression
scatterplotMatrix(Guerry[,4:9],
                  ellipse=list(levels=0.68), 
                  smooth=FALSE)

Corrgrams

Sometimes, particularly with more variables than this, we want to see a more schematic overview.
A correlation diagram or “corrgram” (Friendly 2002) is a graphic display of a correlation matrix, allowing different renderings of the correlation between each pair of variables: as a shaded box, a pie symbol, a schematic data ellipse, and other options. This is implemented in the corrgram package (Wright 2021). The panels in the upper and lower triangles can be rendered differently.

library(corrgram)             # Plot a Correlogram
corrgram(Guerry[,4:9], upper=panel.pie)

Or, the data in each pairwise tile can be rendered with data ellipses and smoothed curves to show possible nonlinear relations.

Another feature is that the rows/column variables can be permuted to put similar variables together, using the order option, which arranges the variables according to similarity of their correlations.

corrgram(Guerry[,4:9], 
         upper=panel.ellipse, 
         order=TRUE,
         lwd=2)

Here, there are a number of pairwise plots that appear markedly nonlinear. For the main crime variables, the most nonlinear are that of personal crime vs. donations to the poor, and property crime vs. infants born out of wedlock and suicides. Literacy stands out here as having negative relations with all other variables.

An alternative analysis might include:

  • converting the data to ranks.
  • considering transformations of some of the variables

Biplots

Rather than viewing the data in data space, a biplot shows the data in the reduced-rank PCA space that explains most of the variation of the observations. This is essentially a plot of the observation scores on the first principal component overlaid with vectors representing the variables projected into PCA space.

First, we use prcomp() to carry out the PCA. We’d like to visualize the result in relation to Region, so delete Corsica where Region is missing.

gdata <- Guerry |>
  select(Region, Crime_pers:Suicides) |>   # keep only main variables
  filter(!is.na(Region))                   # delete Corsica (Region==NA)

guerry.pca <- gdata |>
  select(-Region) |>
  prcomp(scale = TRUE)

print(guerry.pca, digits=3)
#> Standard deviations (1, .., p=6):
#> [1] 1.463 1.096 1.050 0.817 0.741 0.584
#> 
#> Rotation (n x k) = (6 x 6):
#>                PC1     PC2     PC3      PC4     PC5     PC6
#> Crime_pers -0.0659  0.5906 -0.6732  0.13973 -0.0102 -0.4172
#> Crime_prop -0.5123 -0.0884 -0.4765 -0.09861  0.1381  0.6884
#> Literacy    0.5118 -0.1294 -0.2090  0.00797  0.8213  0.0560
#> Donations  -0.1062  0.6990  0.4134 -0.47298  0.2742  0.1741
#> Infants    -0.4513  0.1033  0.3238  0.73031  0.3776 -0.0696
#> Suicides   -0.5063 -0.3569 -0.0169 -0.46220  0.2976 -0.5602

In the ggplot2 framework, biplots can be produced by the ggbiplot package (Vu and Friendly 2023), but this package is not on CRAN, so cannot be directly used in this vignette. Instead, the code below was run locally and the result included.

if(!require(ggbiplot)) remotes::install_github("vqv/ggbiplot")
library(ggbiplot) # A ggplot2 based biplot
ggbiplot(guerry.pca, groups=gdata$Region, 
         ellipse=TRUE,
         var.scale = 3, varname.size = 5) + 
  theme_bw() + 
  labs(color="Region") +
  theme(legend.position = c(0.1, 0.8))
knitr::include_graphics("figures/ggbiplot.png")

This is OK, but there are many features of such plots that cannot be customized (line widths, colors, … ). I prefer those created using the heplots package.

op <- par(mar=c(5,4,1,1)+.1)
cols = colorspace::rainbow_hcl(5)
covEllipses(guerry.pca$x, 
            group=gdata$Region, 
            pooled=FALSE, 
            fill=TRUE, fill.alpha=0.1,
            col=cols, 
            label.pos=c(3,0,1,1,3), 
            cex=2,
            xlim=c(-4,4), ylim=c(-4,4),
            xlab = "Dimension 1 (35.7 %)", 
            ylab = "Dimension 2 (20.0 %)",
            cex.lab=1.4
            )
points(guerry.pca$x, pch=(15:19)[Guerry$Region], col=cols[Guerry$Region])

candisc::vectors(guerry.pca$rotation, scale=5,  
                 col="black", lwd=3, cex=1.4, 
                 pos = c(4,2,4,2,2,2),
                 xpd=TRUE)
abline(h=0, v=0, col=gray(.70))

An interpretation can be read from both the directions of the variable arrows and the relative positions of the ellipses representing the scatter of the component scores for the different regions.

  • The first component is largely aligned positively with Literacy and negatively with property crime, suicides and children born out of wedlock (Infants)
  • The second dimension reflects mainly the correlation of personal crime and donations to the poor.
  • The South region is generally lower on PC2, the West, generally higher.
  • The North stands out as being higher than the others on PC1; the West somewhat higher on PC2.

Models

Here we illustrate:

  • Model based plots for linear regression models predicting personal crime and property crime
  • Multivariate analysis of variance (MANOVA) and HE plots for the joint relation of the crime variables to other predictors.

Predicting crime: Univariate regression

The simplest approach to predicting the crime variables would be to fit a separate multiple regression to each.

crime.mod1 <- lm(Crime_pers ~  Region + Literacy + Donations +  Infants + Suicides, data=Guerry)
crime.mod2 <- lm(Crime_prop ~  Region + Literacy + Donations +  Infants + Suicides, data=Guerry)

Tests for the predictors are best obtained using car::Anova() which gives partial (Type II) tests, adjusting for other predictors, rather than the sequential (Type I) tests provided by stats::anova()

Anova(crime.mod1)
#> Anova Table (Type II tests)
#> 
#> Response: Crime_pers
#>               Sum Sq Df F value    Pr(>F)    
#> Region    1388267847  4  9.0398 5.005e-06 ***
#> Literacy    77140249  1  2.0092    0.1604    
#> Donations   54505520  1  1.4197    0.2372    
#> Infants       102152  1  0.0027    0.9590    
#> Suicides      205432  1  0.0054    0.9419    
#> Residuals 2917886368 76                      
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Anova(crime.mod2)
#> Anova Table (Type II tests)
#> 
#> Response: Crime_prop
#>              Sum Sq Df F value    Pr(>F)    
#> Region     52269436  4  2.0939 0.0898250 .  
#> Literacy   13366819  1  2.1419 0.1474514    
#> Donations   9218353  1  1.4771 0.2279870    
#> Infants     7577617  1  1.2142 0.2739759    
#> Suicides  100890796  1 16.1665 0.0001355 ***
#> Residuals 474296314 76                      
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

These are somewhat disappointing if you look only at the significance stars: Only Region is significant for personal crime and only Suicides for property crime. There is no evidence for the argument, supported by the liberal hygenicists of Guerry’s time, that increased Literacy would reduce crime.

For such models, we can understand the nature of the predicted effects using the effects package. The (marginal) effect for a given term gives the predicted values, averaging over all other terms in the model.

plot(predictorEffects(crime.mod1, ~ Region + Literacy + Infants + Suicides), 
     lwd=2, main="")

Doing the same for property crime, we get:

plot(predictorEffects(crime.mod2, ~ Region + Literacy + Infants + Suicides), 
     lwd=2, main="")

Predicting crime: Multivariate regression

The two regression models can be fit together in a multivariate regression for both crime variables jointly.

crime.mod <- lm(cbind(Crime_pers, Crime_prop) ~ 
                Region + Literacy + Donations +  Infants + Suicides, data=Guerry)
Anova(crime.mod)
#> 
#> Type II MANOVA Tests: Pillai test statistic
#>           Df test stat approx F num Df den Df    Pr(>F)    
#> Region     4   0.42933   5.1936      8    152 9.563e-06 ***
#> Literacy   1   0.03707   1.4434      2     75 0.2425951    
#> Donations  1   0.02615   1.0071      2     75 0.3701736    
#> Infants    1   0.01833   0.7001      2     75 0.4997450    
#> Suicides   1   0.20772   9.8315      2     75 0.0001615 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

As a quick check on the assumption that the residuals are bivariate normally distributed and a check for outliers, a \(\chi^2\) Q-Q plot graphs the squared Mahalanobis distances of the residuals against the corresponding \(\chi^2_2\) quantiles these would have in a bivariate normal distribution. The data for Creuse stands out as a potential outlier.

labels <- paste0(Guerry$dept,":", Guerry$Department)
cqplot(crime.mod, id.n=4, labels=labels)

HE plots

Hypothesis-Error (HE) plots (Friendly 2007; J. Fox, Friendly, and Monette 2009; Friendly, Fox, and Georges Monette 2022) provide a convenient graphical summary of hypothesis tests in multivariate linear model. They plot a data ellipse for the residuals in the model, representing the \(\mathbf{E}\) matrix in the test statistics (Roy’s maximum root test, Pillai and Hotelling trace criteria and Wilks’ Lambda). Overlaid on this are \(\mathbf{H}\) ellipses for each term in the model, representing the data ellipses for the fitted values. Using Roy’s test, these have a convenient interpretation: a term is significant iff the H ellipse projects anywhere outside the E ellipse. For a 1 df (regression) variable, the H ellipse collapses to a line.

heplot(crime.mod, 
       fill=TRUE, fill.alpha=0.05, 
       cex=1.4, cex.lab=1.3 )

In this plot, the effect of Suicides is completely aligned with crimes against property. The effect of Region is positively correlated with both types of crime. The means for the regions show that the South of France is lower (worse) on personal crime; the other regions vary most in property crime, with the North being lower and the Center being higher.

Canonical plots

The HE plot displays these relations in data space. An alternative is provided by canonical discriminant analysis, which finds the weighted sums of the response variables leading to the largest test statistics for the terms, which can be visualized in canonical space.

The analysis below reflects the effect of Region in relation to both crime variables.

crime.can <- candisc(crime.mod)
crime.can
#> 
#> Canonical Discriminant Analysis for Region:
#> 
#>     CanRsq Eigenvalue Difference Percent Cumulative
#> 1 0.337068    0.50845    0.40681   83.34      83.34
#> 2 0.092267    0.10164    0.40681   16.66     100.00
#> 
#> Test of H0: The canonical correlations in the 
#> current row and all that follow are zero
#> 
#>   LR test stat approx F numDF denDF   Pr(> F)    
#> 1      0.60177   5.7097     8   158 2.209e-06 ***
#> 2      0.90773   2.7105     3    80   0.05051 .  
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

The HE plot for this analysis is shown below. Variable vector represent the correlations of the crime variables with the canonical dimension.

heplot(crime.can, fill=TRUE, fill.alpha=0.1,
       var.col = "black", 
       var.cex = 1.3,
       cex=1.4, cex.lab=1.3)

#> Vector scale factor set to  3.10537

This gives a simple interpretation of the differences in Region on the crime variables. The first canonical dimension accounts for 83% of differences among the regions, and this is nearly perfectly aligned with personal crime, with the largest difference between the South and the other regions. The second canonical dimension, accounting for the remaining 17%, is perfectly aligned with property crime. On this dimension, the North stands out compared to the other regions.

References

Fox, J., M. Friendly, and G. Monette. 2009. “Visualizing Hypothesis Tests in Multivariate Linear Models: The Heplots Package for R.” Computational Statistics 24 (2): 233–46. https://datavis.ca/papers/FoxFriendlyMonette-2009.pdf.
Fox, John, Sanford Weisberg, and Brad Price. 2023. Car: Companion to Applied Regression. https://r-forge.r-project.org/projects/car/.
Friendly, Michael. 2002. “Corrgrams: Exploratory Displays for Correlation Matrices.” The American Statistician 56 (4): 316–24. http://datavis.ca/papers/corrgram.pdf.
———. 2007. “HE Plots for Multivariate General Linear Models.” Journal of Computational and Graphical Statistics 16 (4): 421–44. http://datavis.ca/papers/jcgs-heplots.pdf.
Friendly, Michael, John Fox, and and Georges Monette. 2022. heplots: Visualizing Tests in Multivariate Linear Models. https://CRAN.R-project.org/package=heplots.
Galton, Francis. 1886. “Regression Towards Mediocrity in Hereditary Stature.” Journal of the Anthropological Institute 15: 246–63.
Guerry, André-Michel. 1833. Essai Sur La Statistique Morale de La France. Paris: Crochard.
Schloerke, Barret, Di Cook, Joseph Larmarange, Francois Briatte, Moritz Marbach, Edwin Thoen, Amos Elberg, and Jason Crowley. 2021. GGally: Extension to Ggplot2. https://ggobi.github.io/ggally/.
Vu, Vincent, and Michael Friendly. 2023. Ggbiplot: A Ggplot2 Based Biplot. https://github.com/friendly/ggbiplot.
Wright, Kevin. 2021. Corrgram: Plot a Correlogram. https://kwstat.github.io/corrgram/.
Guerry/inst/doc/MultiSpat.Rmd0000644000176200001440000005474414513000475015654 0ustar liggesusers--- title: "Guerry data: Spatial Multivariate Analysis" author: "Stéphane Dray" date: "`r Sys.Date()`" output: rmarkdown::html_vignette: toc: true toc_depth: 2 bibliography: reference.bib link-citations: yes vignette: > %\VignetteIndexEntry{Guerry data: Spatial Multivariate Analysis} %\VignetteKeywords{crime, literacy, suicide, France, spatial multivariate analysis} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, warning = FALSE, message = FALSE, # suppress package loading messages comment = "#>", fig.height = 3, fig.width = 3, fig.align = "center" ) ``` This vignette indicates how to perform the analyses described in @SD966 of data derived from André-Michel Guerry's [-@SD955] *Essai sur la Statistique Morale de la France*. It illustrates some classical methods for analysis of multivariate spatial data that focus *either* on the multivariate aspect or on the spatial one, as well as some more modern methods that attempt to integrate geographical and multivariate aspects *simultaneously*. # Preliminary steps Several packages are required to run the different analyses and should be loaded. The `ade4` package for multivariate analysis is supplemented by `adegraphics` (for associated graphical methods) and `adespatial` for multivariate spatial analysis. For further information on this spatial analysis approach, see `vignette(package="adespatial", "tutorial")`. ```{r} library(Guerry) # Guerry's data library(sp) # management of spatial data library(ade4) # multivariate analysis library(adegraphics) # graphical representation library(spdep) # spatial dependency library(adespatial) # multivariate spatial analysis ``` Guerry gathered data on crimes, suicide, literacy and other moral statistics for various départements (i.e., counties) in France. He provided the first real social data analysis, using graphics and maps to summarize this georeferenced multivariate dataset. We use the dataset `gfrance85` and consider six key quantitative variables (shown in the table below) for each of the 85 départements of France in 1830 (Corsica, an island and often an outlier, was excluded). Data are recorded on aligned scales so that **larger numbers** consistently reflect "morally better". Thus, four of the "bad" variables are recorded in the inverse form, as "Population per ...". With this scaling, it would be expected that all correlations be $\ge 0$. | Name | Description | |:------------|:------------| |`Crime_pers` | Population per crime against persons| |`Crime_prop` | Population per crime against property| |`Literacy` | Percent of military conscripts who can read and write| |`Donations` | Donations to the poor| |`Infants` | Population per illegitimate birth| |`Suicides` | Population per suicide| The dataset `gfrance85` is actually a `SpatialPolygonsDataFrame` object created with the `sp` package. It contains the polygon boundaries of the map of France in 1830, as well the variables in the `Guerry` data frame. As an ordinary data.frame, it has these components ```{r names} names(gfrance85) ``` To simplify analyses, we extract the components to be used below. ```{r components} data(gfrance85) df <- data.frame(gfrance85)[, 7:12] # the 6 variables france.map <- as(gfrance85, "SpatialPolygons") # the map xy <- coordinates(gfrance85) # spatial coordinates dep.names <- data.frame(gfrance85)[, 6] # departement names region.names <- data.frame(gfrance85)[, 5] # region names col.region <- colors()[c(149, 254, 468, 552, 26)] # colors for region ``` # Standard approaches In this section, we focus on classical approaches that consider either the multivariate or the spatial aspect of the data. ## Multivariate analysis Here we consider $p=6$ variables measured for $n=85$ individuals (départements of France). As only quantitative variables have been recorded, principal component analysis [PCA, @SD308] is well adapted. PCA summarizes the data by maximizing simultaneously the variance of the projection of the individuals onto the principal axes and the sum of the squared correlations between the principal component and the variables. ```{r dudi-pca} pca <- dudi.pca(df, scannf = FALSE, nf = 3) ``` The biplot is simply obtained by ```{r} biplot(pca, plabel.cex = 0.8) ``` The first two PCA dimensions account for 35.7% and 20% ,respectively, of the total variance. ```{r} pca$eig/sum(pca$eig) * 100 ``` Correlations between variables and principal components can be represented on a correlation circle. The first axis is negatively correlated to literacy and positively correlated to property crime, suicides and illegitimate births. The second axis is aligned mainly with personal crime and donations to the poor. ```{r} s.corcircle(pca$co) ``` Spatial information can be added on the factorial map representing the projections of départements on principal axes by coloring according to colors representing the different regions of France. ```{r, fig.width = 4, fig.height = 4} s.label(pca$li, ppoint.col = col.region[region.names], plabel.optim = TRUE, plabel.cex = 0.6) s.Spatial(france.map, col = col.region[region.names], plabel.cex = 0) s.class(xy, region.names, col = col.region, add = TRUE, ellipseSize = 0, starSize = 0) ``` For the first axis, the North and East are characterized by negative scores, corresponding to high levels of literacy and high rates of suicides, crimes against property and illegitimate births. The second axis mainly contrasts the West (high donations to the the poor and low levels of crime against persons) to the South. ## Spatial autocorrelation Spatial autocorrelation statistics, such as @SD455 Coefficient (MC) and @SD223 Ratio, aim to measure and analyze the degree of dependency among observations in a geographical context [@SD577]. ### The spatial weighting matrix The first step of spatial autocorrelation analysis is to define a spatial weighting matrix $\mathbf{W}=[w_{ij}]$ . In the case of Guerry's data, we simply defined a binary neighborhood where two départements are considered as neighbors if they share a common border. The spatial weighting matrix is then obtained after row-standardization (`style = "W"`): ```{r} nb <- poly2nb(gfrance85) lw <- nb2listw(nb, style = "W") ``` We can represent this neighborhood on the geographical map: ```{r} s.Spatial(france.map, nb = nb, plabel.cex = 0, pSp.border = "white") ``` ### Moran's Coefficient Once the spatial weights have been defined, the spatial autocorrelation statistics can then be computed. Let us consider the $n$-by-1 vector $\mathbf{x}=\left[ {x_1 \cdots x_n } \right]^\textrm{T}$ containing measurements of a quantitative variable for $n$ spatial units. The usual formulation for Moran's coefficient of spatial autocorrelation [@SD577;@SD455] is \begin{equation} \label{eq1} MC(\mathbf{x})=\frac{n\sum\nolimits_{\left( 2 \right)} {w_{ij} (x_i -\bar {x})(x_j -\bar {x})} }{\sum\nolimits_{\left( 2 \right)} {w_{ij} } \sum\nolimits_{i=1}^n {(x_i -\bar {x})^2} }\mbox{ where }\sum\nolimits_{\left( 2 \right)} =\sum\limits_{i=1}^n {\sum\limits_{j=1}^n } \mbox{ with }i\ne j. \end{equation} MC can be rewritten using matrix notation: \begin{equation} \label{eq2} MC(\mathbf{x})=\frac{n}{\mathbf{1}^\textrm{T}\mathbf{W1}}\frac{\mathbf{z}^\textrm{T}{\mathbf{Wz}}}{\mathbf{z}^\textrm{T}\mathbf{z}}, \end{equation} where $\mathbf{z}=\left ( \mathbf{I}_n-\mathbf{1}_n\mathbf{1}_n^\textrm{T} /n \right )\mathbf{x}$ is the vector of centered values ($z_i=x_i-\bar{x}$) and $\mathbf{1}_n$ is a vector of ones (of length $n$). The significance of the observed value of MC can be tested by a Monte-Carlo procedure, in which locations are permuted to obtain a distribution of MC under the null hypothesis of random distribution. An observed value of MC that is greater than that expected at random indicates the clustering of similar values across space (positive spatial autocorrelation), while a significant negative value of MC indicates that neighboring values are more dissimilar than expected by chance (negative spatial autocorrelation). We computed MC for the Guerry's dataset. A positive and significant autocorrelation is identified for each of the six variables. Thus, the values of literacy are the most covariant in adjacent departments, while illegitimate births (Infants) covary least. ```{r} moran.randtest(df, lw) ``` ### Moran scatterplot If the spatial weighting matrix is row-standardized, we can define the lag vector $\mathbf{\tilde{z}} = \mathbf{Wz}$ (i.e., $\tilde{z}_i = \sum\limits_{j=1}^n{w_{ij}x_j}$) composed of the weighted (by the spatial weighting matrix) averages of the neighboring values. Thus, we have: \begin{equation} \label{eq3} MC(\mathbf{x})=\frac{\mathbf{z}^\textrm{T}{\mathbf{\tilde{z}}}}{\mathbf{z}^\textrm{T}\mathbf{z}}, \end{equation} since in this case $\mathbf{1}^\textrm{T}\mathbf{W1}=n$. This shows clearly that MC measures the autocorrelation by giving an indication of the intensity of the linear association between the vector of observed values $\mathbf{z}$ and the vector of weighted averages of neighboring values $\mathbf{\tilde{z}}$. @SD566 proposed to visualize MC in the form of a bivariate scatterplot of $\mathbf{\tilde{z}}$ against $\mathbf{z}$. A linear regression can be added to this *Moran scatterplot*, with slope equal to MC. Considering the Literacy variable of Guerry's data, the Moran scatterplot clearly shows strong autocorrelation. It also shows that the Hautes-Alpes département has a slightly outlying position characterized by a high value of Literacy compared to its neighbors. ```{r, fig.width = 4, fig.height=4} x <- df[, 3] x.lag <- lag.listw(lw, df[, 3]) moran.plot(x, lw) text(x[5], x.lag[5], dep.names[5], pos = 1, cex = 0.8) ``` ## Indirect integration of multivariate and geographical aspects The simplest approach considered a two-step procedure where the data are first summarized with multivariate analysis such as PCA. In a second step, univariate spatial statistics or mapping techniques are applied to PCA scores for each axis separately. One can also test for the presence of spatial autocorrelation for the first few scores of the analysis, with univariate autocorrelation statistics such as MC. We mapped scores of the départements for the first two axes of the PCA of Guerry's data. Even if PCA maximizes only the variance of these scores, there is also a clear spatial structure, as the scores are highly autocorrelated. The map for the first axis corresponds closely to the split between *la France éclairée* (North-East characterized by an higher level of Literacy) and *la France obscure*. ```{r, fig.dim = c(6,3)} moran.randtest(pca$li, lw) s.value(xy, pca$li[, 1:2], Sp = france.map, pSp.border = "white", symbol = "circle", pgrid.draw = FALSE) ``` # Spatial multivariate analysis Over the last decades, several approaches have been developed to consider both geographical and multivariate information simultaneously. The multivariate aspect is usually treated by techniques of dimensionality reduction similar to PCA. On the other hand, several alternatives have been proposed to integrate the spatial information. ## Spatial partition One alternative is to consider a spatial partition of the study area. In this case, the spatial information is coded as a categorical variable, and each category corresponds to a region of the whole study area. For instance, Guerry's data contained a partition of France into 5 regions. We used the between-class analysis [BCA, @SD148], to investigate differences between regions. BCA maximizes the variance between groups. ```{r} bet <- bca(pca, region.names, scannf = FALSE, nf = 2) ``` Here, 28.8 % of the total variance (sum of eigenvalues of PCA) corresponds to the between-regions variance (sum of the eigenvalues of BCA). ```{r} bet$ratio ``` The main graphical outputs are obtained by the generic `plot` function: ```{r, fig.dim=c(5,5)} plot(bet) ``` The barplot of eigenvalues indicates that two axes should be interpreted. The first two BCA dimensions account for 59 % and 30.2 %, respectively, of the between-regions variance. ```{r} barplot(bet$eig) bet$eig/sum(bet$eig) * 100 ``` The coefficients used to construct the linear combinations of variables are represented: ```{r} s.arrow(bet$c1, plabel.cex = 0.8) ``` The first axis opposed literacy to property crime, suicides and illegitimate births. The second axis is mainly aligned with personal crime and donations to the poor. Projections of départements on the BCA axes can be represented on the factorial map: ```{r, fig.dim = c(4,4)} s.label(bet$ls, as.character(dep.names), ppoint.cex = 0, plabel.optim = TRUE, plabel.col = col.region[region.names], plabel.cex = 0.5) s.class(bet$ls, fac = region.names, col = col.region, ellipse = 0, add = TRUE) ``` The scores can be mapped to show the spatial aspects: ```{r, fig.dim = c(6,3)} s.value(xy, bet$ls, symbol = "circle", Sp = france.map, pSp.col = col.region[region.names], pSp.border = "transparent") ``` The results are very close to those obtained by PCA: the first axis contrasted the North and the East (*la France éclairée*) to the other regions while the South is separated from the other regions by the second axis. The high variability of the region Centre is also noticeable. In contrast, the South is very homogeneous. ## Spatial explanatory variables Principal component analysis with respect to the instrumental variables [PCAIV, @SD540], and related methods, have been often used in community ecology to identify spatial relationships. The spatial information is introduced in the form of spatial predictors and the analysis maximized the "spatial variance" (i.e., the variance explained by spatial predictors). Note that BCA can also be considered as a particular case of PCAIV, where the explanatory variables are dummy variables indicating group membership. ### Trend surface of geographic coordinates @SD626 proposed to express observed values in time series as a polynomial function of time, and mentioned that this could be done for spatial data as well. @SD59 extended this approach to the spatial and multivariate case by introducing polynomial functions of geographic coordinates as predictors in PCAIV. We call this approach PCAIV-POLY. The centroids of départements of France were used to construct a second-degree orthogonal polynomial. ```{r, fig.dim = c(6,4)} poly.xy <- orthobasis.poly(xy, degree = 2) s.value(xy, poly.xy, Sp = france.map, plegend.drawKey = FALSE) ``` PCAIV is then performed using the `pcaiv` function: ```{r} pcaiv.xy <- pcaiv(pca, poly.xy, scannf = FALSE, nf = 2) ``` Here, 32.4 % of the total variance (sum of eigenvalues of PCA) is explained by the second-degree polynomial (sum of eigenvalues of PCAIV). The first two dimensions account for 51.4 % and 35.2 %, respectively, of the explained variance. ```{r} sum(pcaiv.xy$eig)/sum(pca$eig) * 100 pcaiv.xy$eig/sum(pcaiv.xy$eig) * 100 ``` The outputs of PCAIV-POLY (coefficients of variables, maps of départements scores, etc.) are very similar to those obtained by BCA. They can be represented easily by the generic `plot` function: ```{r, fig.dim=c(5,5)} plot(pcaiv.xy) ``` ### Moran's eigenvector maps An alternative way to build spatial predictors is by the diagonalization of the spatial weighting matrix **W**. Moran's eigenvector maps [MEM, @SD163] are the $n-1$ eigenvectors of the doubly-centered matrix **W**. They are orthogonal vectors with a unit norm maximizing MC [@SD264]. MEM associated with high positive (or negative) eigenvalues have high positive (or negative) autocorrelation. MEM associated with eigenvalues with small absolute values correspond to low spatial autocorrelation, and are not suitable for defining spatial structures. We used the spatial weighting matrix defined above to construct MEM. The first ten MEM, corresponding to the highest levels of spatial autocorrelation, have been mapped: ```{r, fig.dim = c(6,6)} mem1 <- scores.listw(lw) s.value(xy, mem1[, 1:9], Sp = france.map, plegend.drawKey = FALSE) ``` We introduced the first ten MEM as spatial explanatory variables in PCAIV. We call this approach PCAIV-MEM. ```{r} pcaiv.mem <- pcaiv(pca, mem1[,1:10], scannf = FALSE) ``` Here, 44.1 % of the total variance (sum of eigenvalues of PCA) is explained by the first ten MEM (sum of eigenvalues of PCAIV). The first two dimensions account for 54.9 % and 26.3 %, respectively, of the explained variance. ```{r} sum(pcaiv.mem$eig)/sum(pca$eig) * 100 pcaiv.mem$eig/sum(pcaiv.mem$eig) * 100 ``` The outputs of PCAIV-MEM (coefficients of variables, maps of départements scores, etc.) are very similar to those obtained by BCA. They can be represented easily by the generic `plot` function: ```{r, fig.dim=c(5,5)} plot(pcaiv.mem) ``` ## Spatial graph and weighting matrix The MEM framework introduced the spatial information into multivariate analysis through the eigendecomposition of the spatial weighting matrix. Usually, we consider only a part of the information contained in this matrix because only a subset of MEM are used as regressors in PCAIV. In this section, we focus on multivariate methods that consider the spatial weighting matrix under its original form. @SD694 was the first to develop a multivariate analysis based on MC. His work considered only normed and centered variables (i.e., normed PCA) for the multivariate part and a binary symmetric connectivity matrix for the spatial aspect. @SD807 generalized Wartenberg's method by introducing a row-standardized spatial weighting matrix in the analysis of a statistical triplet. This approach is very general and allows us to define spatially-constrained versions of various methods (corresponding to different triplets) such as correspondence analysis or multiple correspondence analysis. MULTISPATI finds coefficients to obtain a linear combination of variables that maximizes a compromise between the classical multivariate analysis and a generalized version of Moran's coefficient. ```{r} ms <- multispati(pca, lw, scannf = FALSE) ``` The main outputs of MULTISPATI can be represented easily by the generic `plot` function: ```{r, fig.dim=c(5,5)} plot(ms) ``` The barplot of eigenvalues suggests two main spatial structures. Eigenvalues of MULTISPATI are the product between the variance and the spatial autocorrelation of the scores, while PCA maximizes only the variance. The differences between the two methods are computed by the `summary` function: ```{r} summary(ms) ``` Hence, there is a loss of variance compared to PCA (2.14 versus 2.017 for axis 1; 1.201 versus 1.177 for axis 2) but a gain of spatial autocorrelation (0.551 versus 0.637 for axis 1; 0.561 versus 0.59 for axis 2). Coefficients of variables allow to interpret the structures: ```{r} s.arrow(ms$c1, plabel.cex = 0.8) ``` The first axis opposes literacy to property crime, suicides and illegitimate births. The second axis is aligned mainly with personal crime and donations to the poor. The maps of the scores show that the spatial structures are very close to those identified by PCA. The similarity of results between PCA and its spatially optimized version confirm that the main structures of Guerry's data are spatial. Spatial autocorrelation can be seen as the link between one variable and the lagged vector. This interpretation is used to construct the Moran scatterplot and can be extended to the multivariate case in MULTISPATI by analyzing the link between scores and lagged scores: ```{r, fig.dim = c(4,4)} s.match(ms$li, ms$ls, plabel.cex = 0) s.match(ms$li[c(10, 41, 27), ], ms$ls[c(10, 41, 27), ], label = dep.names[c(10, 41, 27)], plabel.cex = 0.8, add = TRUE) ``` Each département can be represented on the factorial map by an arrow (the bottom corresponds to its score, the head corresponds to its lagged score. A short arrow reveals a local spatial similarity (between one plot and its neighbors) while a long arrow reveals a spatial discrepancy. This viewpoint can be interpreted as a multivariate extension of the local index of spatial association [@SD565]. For instance: * Aude has a very small arrow, indicating that this département is very similar to its neighbors. * Haute-Loire has a long horizontal arrow which reflects its high values for the variables Infants (31017), Suicides (163241) and Crime\_prop (18043) compared to the average values over its neighbors (27032.4, 60097.8 and 10540.8 for these three variables). * Finistère corresponds to an arrow with a long vertical length which is due to its high values compared to its neighbors for Donations (23945 versus 12563) and Crime\_pers (29872 versus 25962). The link between the scores and the lagged scores (averages of neighbors weighted by the spatial connection matrix) can be mapped in the geographical space. For the first two axes, we have: ```{r, fig.dim = c(6,3)} s.value(xy, ms$li, Sp = france.map) ``` # Conclusions Even if the methods presented are quite different in their theoretical and practical viewpoints, their applications to Guerry's dataset yield very similar results. We provided a quantitative measure of this similarity by computing Procrustes statistics [@SD516;SD161] between the scores of the départements onto the first two axes for the different analyses. All the values of the statistic are very high and significant; this confirms the high concordance between the outputs of the different methods. ```{r} mat <- matrix(NA, 4, 4) mat.names <- c("PCA", "BCA", "PCAIV-POLY", "PCAIV-MEM", "MULTISPATI") colnames(mat) <- mat.names[-5] rownames(mat) <- mat.names[-1] mat[1, 1] <- procuste.randtest(pca$li[, 1:2], bet$ls[, 1:2])$obs mat[2, 1] <- procuste.randtest(pca$li[, 1:2], pcaiv.xy$ls[, 1:2])$obs mat[3, 1] <- procuste.randtest(pca$li[, 1:2], pcaiv.mem$ls[, 1:2])$obs mat[4, 1] <- procuste.randtest(pca$li[, 1:2], ms$li[, 1:2])$obs mat[2, 2] <- procuste.randtest(bet$ls[, 1:2], pcaiv.xy$ls[, 1:2])$obs mat[3, 2] <- procuste.randtest(bet$ls[, 1:2], pcaiv.mem$ls[, 1:2])$obs mat[4, 2] <- procuste.randtest(bet$ls[, 1:2], ms$li[, 1:2])$obs mat[3, 3] <- procuste.randtest(pcaiv.xy$ls[, 1:2], pcaiv.mem$ls[, 1:2])$obs mat[4, 3] <- procuste.randtest(pcaiv.xy$ls[, 1:2], ms$li[, 1:2])$obs mat[4, 4] <- procuste.randtest(pcaiv.mem$ls[, 1:2], ms$li[, 1:2])$obs mat ``` # References Guerry/inst/WORDLIST0000644000176200001440000000152314502054541013677 0ustar liggesusersAlmanach Andr André Angeville Angeville's Angleterre Bailliere Brunsdon Compte Comptes Corrgrams Creuse Crochard DOI Darfour De Doufour Duchatelet Dupin Essai GISRUK Guerry's Guerry’s Hotelling Jombart Lewiston Lifecycle MDS Maynooth Mellen Multivariable NUI PROJ Pillai Reconnaisance Reinking Reinking's SpatialPolygonsDataFrame Statistique Stéphane Whitt Wilks aise avec centroid centroids choropleth compar comptes corrgram criminelle d'Angeville d'apres d'autorisation dans de des df du départements d’ d’Angeville eprint et etat fils fran francaise geo georeferenced geospatial guerre hygenicists l'Angleterre l'administration l'age le les loess lois mathbf ministere ministre officiel ordunn rendus sp statistique sur variables’ ville vivios