sandwich/0000755000175400001440000000000013136167475012262 5ustar zeileisuserssandwich/inst/0000755000175400001440000000000013136164261013225 5ustar zeileisuserssandwich/inst/CITATION0000644000175400001440000000264512770752313014375 0ustar zeileisuserscitHeader("To cite sandwich in publications use:") citEntry(entry="Article", title = "Econometric Computing with HC and HAC Covariance Matrix Estimators", author = personList(as.person("Achim Zeileis")), journal = "Journal of Statistical Software", year = "2004", volume = "11", number = "10", pages = "1--17", url = "http://www.jstatsoft.org/v11/i10/", textVersion = paste("Achim Zeileis (2004).", "Econometric Computing with HC and HAC Covariance Matrix Estimators.", "Journal of Statistical Software 11(10), 1-17.", "URL http://www.jstatsoft.org/v11/i10/.") ) citEntry(entry = "Article", title = "Object-Oriented Computation of Sandwich Estimators", author = "Achim Zeileis", journal = "Journal of Statistical Software", year = "2006", volume = "16", number = "9", pages = "1--16", url = "http://www.jstatsoft.org/v16/i09/.", textVersion = paste("Achim Zeileis (2006).", "Object-Oriented Computation of Sandwich Estimators.", "Journal of Statistical Software 16(9), 1-16.", "URL http://www.jstatsoft.org/v16/i09/."), header = "If sandwich is applied to models other than lm() also cite:" ) sandwich/inst/doc/0000755000175400001440000000000013136164261013772 5ustar zeileisuserssandwich/inst/doc/sandwich-OOP.pdf0000644000175400001440000047417513136164263016744 0ustar zeileisusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4958 /Filter /FlateDecode /N 93 /First 782 >> stream x\Ysǵ~"U}K床HY))6; ɱA"yo6PK8[gyfYfm`gAKXTE&0L & LJ&dI#HÔ)op1" yˁ<2Ct`yd&\SYcpm 12eSs.qePL5)pkfZ0aķ G͂ЖE>4Z,zhm=  x l0-40h`'yCr h@Dtm$b 'F٠,ûe10,YM2RPxQ*!bee-{}̞]ǓqwT]OX,@i&oI^;{Rue ^6Bjx4잕毟qDn*x²q@tU| k'tk}~XI!5.RsV[$㖼UU>h꣭>6nkt-꣬5ZM1zfRљDtnmչ&֮`r3Md*&S1 k$aRV.ª{ !RB$^Ӆm:Ni5z) :O)xƴ/ LAQ@9WXtPֻBBS$.o GI- %,|`b|ϒY_!+dCRGk5L%d*!S uk4-L-w0]uv_@o 6M˦θL57/?ɓ^~8{ņ/ ]%!u[tkr`ӹzr{_&ؘPS}R- )7n@>!TP̀(q|X$r,\JY0N51![:'rs` 7OPǙodXB]_V%t@f)?oO]%??>/%h,x_h>% 7q =B߹ Iv==MϏ4|ϝels Ǫ?@vT16W??We/߂ٓ3TpNm ̪Ķ #xyhΈ/{H%7VZG)=C|ul>^{.?@6{O,sT!_@sˤ|3ʭP5q]Th]Hk Zz uƤV˲o\wsZ.ߘ V һEww9&Dω.&xơ 1x}ZyOlm-ZתEYw%dhѪDz-MMJ;L[OBj?LRPʜ.j Ҳjdnh7|qzv,TZ! n5lή:zsKΚrY\錛wR7.8.x[g?DJVЁD;,I1t( um"K*ԧ/=y<_F [LͤM{ >>~装;KkFi 3/SvMل"*&h1NosN\4י#RIuehXk=Lrl"XlreX]|)s+D]ao@@aJg>>'KnUT(O~)exgBYTg4QEM"0qAF娝xD?#ZƛrG7v%O-A+^WtoVse; 2 ٵ#ʲGlf6)h'Ws!8 Q6Pތ‘:G B*m 7!Cnesm1q0%e3{.CWqAe*.SqTꉺQ1~M4=ưgQdpQ \eO'PZ%fChڭdws-rc\5%ւ/aiq3Bcb.ZZ8ȵ |^[+q B잜=a݀9mc-Hn*-fvH`uV=R6Vûpf&{Nsӂ +uj:MZUS \4}]BDm!أ;w//NYcdi@}{Wdٳ^^gCƬzBM߿%Ö5ʲ=!7M$9yg6(hЇF*<`kXi Kd(4ЏUkY(tg P”`y_ӆ( Y*HvЅzΔAz>>?-``N"]9Y{J 2赕l-k֛zG&sBy]͹K +̽mS*tH|#VF:k'mM+V6[.'s޻-zê.8:"8UA8 761:e QSxŮXB:>???L=U:=#u#7]{Mis0itA 3wEtvlwWc.%rVadoùVz/Z_俖F  wk4q݇] (L{"dڦ#rUKdVBo堔4[HڽZtǽNON qiR>[ɒvk2>@P|=6eyЈ՜PiVŪH!%cnW3_ BZ.q-h{"C> H 't{)vzA ꆙ⽖{tNJ7Mg/^|HHL˹[osi|1"n^nE"wX3ZC*M$Ɏ3̅/eGdGd]͔􄛛Ŵv7 /q9@+pq ooCA;=z9Tc[S;6*"ͻpnh𐥎no*2x/: 3m#g׃ J! v\J% [Ѧs]fW^ Ҹn0)k >% -̞(؟G!m۪R<`ZO;i{ .7BVFm.9K:D~F,Q;MB-RmòZYA  8O}qf\Gӽѐ~!~^* $/~ƽ*oÙ[ ſ;[/H*-{XA\tc;>U:"%ikSl"FP:曁'DTt~Gq#9K銒^S]#pX"Nn<i<ܓ])hD H Ky=u<.> )JnZĴuW)m|Yd iQ/o4MVJ^Bh tPތ қ<!ZwhD/[y;l%n*M4`ZS"™ҬܽyF X^G iE ~,?W ҪR/d j8FFYjN(y?WQleMٴui#7–n4Y/gv^?!zM}endstream endobj 95 0 obj << /Subtype /XML /Type /Metadata /Length 1693 >> stream GPL Ghostscript 9.20 covariance matrix estimators, estimating functions, object orientation, R 2017-07-26T21:08:34+02:00 2017-07-26T21:08:34+02:00 LaTeX with hyperref package Object-Oriented Computation of Sandwich EstimatorsAchim Zeileis endstream endobj 96 0 obj << /Type /ObjStm /Length 3599 /Filter /FlateDecode /N 93 /First 868 >> stream x[r7}߯nm~JJvF;KH9v~Oc@r.M۔X[28nO=3b`J1I1J+& (h&U(1YƆck Ԩʑ)Li-QLb)T)-TTh^ZUʎi+ϴ#3R(@)`ƣC$3:UYͬZ`"CAQϜN`NIh: 9tjͼxK\:Ў,Hx!hEDG;t@g(H I!xI,*@ˢc1 x"bbtT 5MJ#V oi,XMZ"iYRrȒEҦ#B:C-8RHI! Q GɈ{gH$q*C ?Bеt`Idxl$BтDaj,i E76T$]z#IO $EO'qA򦱒V A'B[L>I?RaO F6gS5?Ng'`g֚kl4elZS֢ާ_l^Fo<3Mr1?Տ_ԣL*g3u|Y4g^T{Aø< - aySbV U3E3L&TS=XIPUDXPͻ:8RA^XYhC+H6HrD0a/tIBa@L]}$@ Y]R/'‚[8`ӷ@ YWHꠠ$"nG" ,`4T^aAY#Ǥ5QN;&E({ƄeLs݁Td/"QUX3;, Al"?W&E>$ ]%(UԻ5Z]GNiWg"QƩVEr4O񼺮gZ'e% gմB%S~@x]חD:LYJئI@B)h*;pL-D_<,?]?)-dE|<O)/zd(zdt`ڃ6lzRoǏI![etUMbR"? (?N4YW( k;P<6sz¯͂_Lz_jvNMGx4i?ohE,]o??çl׳O~PIlM7M&Xwo[H lYKui0X M욂I~P]\Uz].?uSNf~?ݮhͲt67u5WT;;"ͲCv+kLgy; h'gO:Bgm?{M84q%z&rhj6ڗr+%)0_2XewI%?OxhgӒ::K9k]h SƹfWgRu鮋aMc/w;j*S=Z;]Ⱦ]-iZR &;DDOԲ/,vu{jWI?~|v:.Zzm2˾T[T*ls*w׿4w]ќOFu]zvi*;N.-&~Fq&#y:FvFgHWЮ~e\F@wQLg9|P U9>7.Ш")z a^ӎ`aZ#`׮tҤCsiNT"xm"/ o6tptVd.`HCzWg|˗6ͅi3\aM+F֡hvҺX)Vsѩ}^7[}\.;Ǟ~_W5G|Wոor]MKMV7KMAW?<#$̦90?~̄=_},#t/rb|'-Yb%PK/5 _LFK^r^&oSv1K?Og92T *b(<7SL¶_KtȮ_7Y-qӣAZVn aZ٣kVoZʍn-"XwC,PQnAnp>b ӾC4X)%4I߆ RS@)a:j;D `=$u(m #Z PPv$ ʩ"g!pXL)(c݉697q"PލT|$e*9hA@i NO _KPV_~NSxxCg~GSSvK%".aMm`N%|9{)(\'-,{X`M`1%(JK- ]xƖwm[[- w~E,A.sOH9 r`Yp0E6 $4EG$# Z \EA0ihvԦh" ai::5vij0Y S Rwj 6.? 2Kࠠr3Ev6DT&lDYe]}r:  .-A) ?$(CaRBԖC0`-nI< */(%Viʰw,%dAfFSPrTxCH_pa6,CQ}ck9' :e@͓6jwOlL]~Xe|Q vjX ma#;(b}$*(#8`Qͼ-C(,LOGJS0|Uzut[w3U%wPL݊]ޜfjY |,>)'˺Fv;%}0 {PLjn97I^W2*A9R Tz6\hG[)\ NSp(L`Ҭ!y]DIzWȡBxH9Eɱ껎Cn(u#V*}`S+m!H{*>[ i֥O3$յ mp6%0ߧK2$L+B2| AKi~͞w_&߮ϦqbڽSSۼ{V߮'mͷT_)}Eo2yX/q21X+8}DL+&)6RYAt{I)q_ q6WA%0u6S%۹v;)]'ҲNJ,/ivY;uknlJgICJg2"ej^[0endstream endobj 190 0 obj << /Type /ObjStm /Length 2900 /Filter /FlateDecode /N 92 /First 838 >> stream x[[~ﯘGsA1i~.(C{3R")+[˜CR9g΍c%LFŤp5S*`4L21-Fϼ #%I T'SZ@` dPDЛZcϔDM,ȔYW+ϥfZ/ @X \hBz'"0u\ @$,h̡f8g`2[HxgVXfiJEfok 3%Vk}JfRf'2ف J{ JxKB0B$-慢;yü@h,ii@LMAGf fb `)8Æp{9ɴ7~Vu5ĭjzs< ~\k8ZO~Ĥ5v~CdE>2@.xЬ|l{'U-b(tGl \O'Ea.zyxپ4%;xOj1vIK=݀S)\,0]z= ɧӛқCeUuMm]|*ϧ|:ϧޒ5b:(/#p-4H"מ5x^\1Zӏ_E]~ RȂZL_$OAT$ַܔ4e9Ѝ)F).g?,7!,0}&;ylԮtVY}:P<⶚r5BnC"뻂f%W*VӫR: Bq΁mC{:dkw%D hE]ey,W+0a3&oeͮf`kٶl-mf۲5<<9Qmmt&Uhϑ pIߝd]f0CV'ꚒZ5\W_OtWHOho1{|D 7vw^NP<%j휲C {/_I?V?Z&jL5܆0T>TJQ9[ZPFq}oHkGڳcSJx@7"rsN@]Al# )!&@pKd"w a:7T%Tٍ&ɷ4*&-uZx{ۭ_mМ6ˁG2h8@c=ur{LR !*rY*IKa,Ҫќ({)-9FM6ȢIosMF ?=20䌷V/7LneWF@ ,#5L_n ^A #KVb%*nEd8H_IyaXMp0{CXSl1YI: bIn좀|iT06fBvz iQct043EKhqŒ=(x構/uV,g:/;έ.Op+/; ,WlߦͭojV/=^UrV;x\^/F,dY'=ѧPdN9l<|b727Q=2t6pOYY_ͷIYŜwbʋz6$k t 阠(x@-vzI'wJm˳Iwi4endstream endobj 283 0 obj << /Filter /FlateDecode /Length 6992 >> stream x\Is\Gr##pڵ/s H3>4@S _w.dU69tP^UVV._.~9W;}˻ə3u~s˙]ޝ auWg>:\v_7U;vo^n/ت`\o/m\>?\:o.UUa~O]I4*o)fJxj ]\m/l;:A OLؼ{e09>9Iǁf#8أ~ŏCvy:؍_}W] ',\nBFm^oşϴ ;p6k X#. 0sX/#Q18pC@MH >Ï66#S28%2Dio6ۃ!~A⥒ie 3x[hƔ#O{#I)}!҃2 yTj@(3xS_[|c4̐jU2D# r>"`AH nwgl_7{xZKm g78 @diLCx bV<{:7yv/gv _w0Cwgޘ۳׭@<;8 ,}N;&"$%^L,Ne<πH[7θ}YPyBLud#X g =JSƒ29k"E݆016Eǧ $8ALn]Nd2iywr@Q"58{u lME%.&X@V H'(p{A25Ö^-ҳdnb"p^ՙ')"E2 N I2SQ‚~س2efsGSv yO ʁY S  0JZ+$~WO֫.R /]r 2Fp*-#LhV6׍x02kPRk`]N+= aİH*fez^&8ܶ6372V~s)k5:<%!yAfq@;!jN<8AIJӓ݈? F=O'{N>GÑ=$*ll0ᆄ'P_wקe+(5~a _߷X?|Xbefruw>u}³tb1rJnbE p$Y+ |2(C.32ZfM /Z( i@#qVy|F0lL.0"^Xjm"w(CHOs|Asd TO;/-Lz.n>#Yw7"ws"! &KVqD00sKȣ-$u*/½Hq-9%S{9!Bg~T4Է$O>F BEJ%\iP3;I= b9 d5wϿD{s8[6knuY0ݩ14nۉ^_K ICd;ŷXjOxQmKf|*Iqjn WѺd'Tuxg@e>43S'7<#2+xyЍ[C֞5y]eJTlL^J*)7.ֽHYlX,fm8f V: B(r>1,م7SJ,6que9>AÂ,-5TQ2i},P}qy,Je$tFka;.EkC/6> k2W,*\EP 0Seu'CjN0pQ׭ws riXpQI3(% zJZK)nɹuNJc=j`Zb=-;}KHe2H\3*T ԓ_-MnesR.GNZ0ܗDRl.VJi&a4{6`J?/EI+-IFgF R7;+oO>ޔ\QW`nFA-NÜIMqh; !Az0|^p~ě0MlSR!ZX8Y~*Aq\+QҀZl<PQ2>x(x(]L枋'XͰUJscu})AG ֗;Vj BG~/eI'Rv4ݏWH'a-tDTMo z a)mT-N`h5TCqj ʴύ5< }`0 Bc dI#KS@r ʮ =jE +EXѕ*'w7#N-HׂW~YPw25) Ta0 SR6[Q_I;SpS>ˎ˥NcE͓`r;=.i7g ݕWFɄThU[ZddTkY$ 9n~ǀVY[EC=&D_0!oۦmq/+07lj,v4Z{TKO.jYxO 4typ (Q:CUWy(6^u\׻LXFL,|N{`dP9)]4&}2`4@W[ T&3VmwS}O)OSL?A7\%K&Orx٥V3N#όLv 6*/jgF/X'wMڹ $@9P鱋 %ZE}id@{JQi q/ ;]W @+v "'9pƷFq7^t#2%]ֲٴHs:JE/ ~Xz֖q 8sSnVn AKvP< G|NHSyO_6j|9~11aAӠ t[N&49>|Huro$h[5f rdBSYJS*~Ěi, 4fЂ,̫|6tmb~o I2g`=? GxMODjuk T]+si >lgB=DTaQY|YYYfVf=nV4%2jɧB*φE!#EEɎ~HfOrN4}W.<}ɱSU@1l۹%2)&DsIB`BFÊq]A3Rڱگ4ݛJ"6G5ci=$Q^-NBJaR51il^" \UתGFPዣ27p\K}BkA:qԦjl',X/},ߙ`F>jS흿fw>t-f| fHYF\/ c9G*,X;*ˊcH~4iNK6&?u)3oRDcreDƻ1Ҋt8,2 ̕+ `+2Ri=/$otAC=q2B+l<=eAx~MD]tY~Kҷm &UNڼ87 3dOGEi]ېOݔ,mqIzM! Q$%r$+G9@̽9֠k6H@D]휗"1_;%˅VCwz^FtVB("WN!Z +e/~Ku08gXF_c,ܵO_g&%],n= oAMT09=YS%^<2*0'Q>Yl~kF{Ծ=*}WPfEEF0o9;g`Hvjc_{6NG~XXM6" .ZmoxF܊ͥ97.D,Yw}'Il/tMP.i.[$4R+gFYiX^ɽ4Z)]m󕷟}'pKw_IJ60djSpr"{&ZDG"FYkа_@šendstream endobj 284 0 obj << /Filter /FlateDecode /Length 7169 >> stream x][\qГ$O3gH ɱE$(-rWMQ SUݧO셆-k]绍8ȍ?zs!6W]HMכ=7,<9DWS r?Dm7O^_l_]4;9hv{k6X .P@K82sbJS(lipK!+(bcIԈ.fe{Lj`؀ՠ)@I wmԁ8 jY~hBp;8'ɧO 4c :`a%,6W+Lor`o}5"K/R3h^I:Y4UL q7D>YrVEj\D06oRsƥ/nT!XBnEXy{O$g 'mM-soQ9e- ugPp~TАO!I(Qsm,xa»t;5Mf, l$+!g!UC lm}z],[Wվ4"gcAX\Mvc`G=,/A`4&i~fiGQ`(f3'5zK#mLԥ-8 wJ yi|vf"/O|p/)'UESrT£',/e <2l#RglXVL̼^9Y9i[zŦ( v4-u-m∬)$*/z-)*zEvo0Ş࿣౴B;QXh +Gl8]="Qs@ hp#mag!QEHR`goGVN->Ef\V&{,1 H(¦,hsDhN枢#F;GtUT㳶5VVfW/ ep Ed7&* FS 2Xh@  YD5˷66~n|ek,162aM6,g9 [ma2h m%/I[peJ6sI\6_y8,8c""*4FT@/Lnb_HsyŃ7n Z(R Yx Iyu -(u00Id {XP-G(?y? NV>(gdܤ$(١aH~9wݤhJ,NΣm5eo1`j^ ='.MszNrI90lz.rqt]cS 3*XsMNEꖰƾ(DA2< |' 7{vlA_:8\Ҟsp67ف`HQI@]J m]5nL9VG#Z4|O.e^m{& %L%RKr7\~nlY>?9<>Ꞧ?S_H{ ńP, !1t]a0ȃNK-l_WFSdR9AqLYAsKI#[9"QIǪ*66 Aw8ެWu_mr40!J'|hA,Xڀ.M *ג Tmž[g*WPCX4q85’ǎqkE }nO 8p C*W*-a`ØIqad`AǟJ$ B'bCn@xpZ\JunS*aMۆB(HIu,2kuy!ZL bX/Py$ /H`e1PÕL<1Pv *֩eXD؈:wC_r8ac8I%bAwzKN=EŠΚ7bm4R8)+AgVvK_\E.z`pFk Xx5nzr#,(RA"UÒ UG@N@õ7v%LyFL>gY7cOr.$HP( wҐhh/P6rXqpql^Z7l/fE+B%% NfA޺e?:|JX}XYWY1he$4׫"[L}AԟP؛״%rM2E%e8yncG;_B vo"_hi ^@`/pƗ'.EݤJr)NT!EI,`9R!Y+0?~ ScՆT#Ϭ;-U"-?Vӆl UQWnW*Dcnl亯{x 3+`\S+ٯ X6+<ɛ9\>NT X?R&Hv'1Ƅ:׹ oJfuOeX^[`!z0xSb ȥ8/S"ylj g-3ū|M64~ ;Z-c(B"2ؖ}EŦIOymQڄD{xf| 'ղKR b*=f/ I?̾:$Bݤ>$<8;jbb1!&Àˬ=Ԝ tS`]4}fryY'(mi98*J޶G{Mxӣ [( 9ިk"LħO\qc.'C/4H#D/3!Q8oic%Xسd HVi3ʡV8$l◜n/Ig67+K 6T^pꄽv]z1&SΌmX d%R]ab1?ߤN833>!yF]{"ub;i,<g|R͜&!?4 6Wr9mNmٴ-RZpI5>WuZ8S>4< Q?`Yoz`*bA*')EOAcӵy.,['O>Hz[ ~rf#XX_r'56,,+-㩇z܄.e]|D'CrK_Mc,4OcD!x:.沶ehSQqSW{A0`0$|lmxͻ -GoܼPFFXBRڄI.ij:a6eYk-p4 [V 7xDR{X iIJ fpK`Mޙp0:SLAAO ,#QϲRdߵ2GNҁ%T$j-S]bI",ӞT$gϖ,|W:9hhi CcnaI2u5)\0Bݦ qmB:4N.h9|ˣ3EsyLZigN_j7+iKJ.UW_T: ki8u cb aoLfŠ6V6 '4cvw: "a:e!,Y`VWskh>%a/ghZ޲?H`B2 l#nD$foK:U?8aLPEmbV(N99Ò`XqhGyܧާ@`cAzo-dere 6nEle o>9m, vX+a[;8g"O`&*`/}"1(Go>zr' w9>r/+i0^n/nvx}'"MC[KօOKz `’bzhoCR*P -W<#fy_J?B8?^~WbAU{8ωθmX1%A r2% hމ98^{׻3'^hr/aE&RmH٤WP1AMl"K#kʫg 4|oi2[흤귉:./ Yc^W>̩SjfB}Xb}P;'m]n~~l(ܻng87iЮޣؕD9Fy&4JM|}{vwX\r<a1S?IՏܿq|Y bR4 3~f9d  EI@> stream x=َ$q| ?uvQyX`IDԃ x%͝!\AȬ̞̈2ښ<"Oi6?eb\B_7/^o~ FxoqjEhǍ>y^;eݴ9nG&7n{w &?5_ᵏ!W;sk>=51ٿafU=ӸgW[{NjKk}}](#,ަxq4bt|MM]-ݥ)R lK\oR^DBs m=匷|mݥ& vTX`ʐNog`gw4iCqo :=Z0ݷ⾽;}?,FC;<`e8ﭞԻtG|[sE1~Aי.} k*%_)&%M ?Q'BՆ:j29.~{ɼ3 q lk\DƑh3ON,(Q N= ۏwf}S)6#\~9@ꐏ8k J{"s7ngJ% }ab4 [Uf n8WNZA^pZtr@6狰)C2#aij B}?'  j>h@Ъ U5'endzj#, m@YMn'#1*tI0op4L{T*ϒU>$7BRRֳ(ҭ u#5h3 zH5똯: UJVY.@p2k;)A놧 g`hc&d j  SL=a8 k;N7OD6lgI@A7dvE7䭋&t'U >щ/,ȏimh$nNɇ[س/ٌqNdYQtMZ%sjiLhqsx7ixJaeLܻvHc#\!l4b$+IvQKZt"m7M:,$QDHs"45 p:584 hĭ#( qB9Wx0P=69Nυ̳-DD# pq"t3@+3 Mq(̌1>5ʺl2 mqkY򯊴ZҤZm_6 R%R]MQ5B?$GJwLa,!j#0C5ii#q0P=Qya I] "zX=7ZWȌ7BVs$D 0Z;~HMRJI8Z{&$Ҳ/ؐ4*BKhLfa4WkII gt#Ncbw*s I(Auu\Xpmpíݖa!pMWfgmr"*$Xy`,cB*&O?R@}/=Z4p)=bC( iRnF>4;|Z)cpqyV"EcAM Mx _(qHh@)RLVR#ΰRh6UM )v3,f /6ZZ mn[Lf_9F_#F5ZVqq.Cod9"Mi4jɰp} !6'H)g?Foi RgK!=fi&W eQsZ (z+hTZzCXoz,FF+{r^2rrs_N9UU3/JB6ZF@g0l3gx=῀Lx#7q?ՆN"t B}[GLbޗueD'ˉtQ8Ui@b/!;T2; 䎧ؙmz0HeqJWTȴrUf51ub쇤*-X3:+x8}ǽ&䡪WL^y?Ї 2ZPd`8G4ƙ cJ#;p ZV܁qNsh` mN̉ xg4yop-UV|BTOǎ߅ ;2Ta1C)=t- yVAV;!6֠ۚZ"t}K yR (8=qi6sỸۿMAt-4JpQʆ!iOm!|h?<\jGsgCkq!N:B|~fCE6 Rtѵf9 io.!0b0brCZryJ3t]; d~{L 6]B -?b[-c\v)b  >,U~j,M{Ss]6m2YZR}8p:*9}V6Lc 0qZԠb5G4%,K 6?mڨ%OK/iio9:Nan E%$a'UD.[xSe#-YkaN~ȓC5\@zxk GάWâ+'H֟"\R"*U^$ MȜ^ľE" N!E䟾6I#0>ˮM囲KFʤ$~ S5Ula2ՉmW[Ԋ1hQWxI>^(9,F۟U=J6. yT5^wLSm¨|0%tKJv?<ޢp$@ 漞L{aa qR"N3atkXRh[r(?Y+%ofFD- #|`|#Ys,+T(< :-UWzKbqU#n{Z  6̸]'#4 qZҭЩ~ӱ:-cak"~T͹>ќofSNK 8wj|uKO×v]֩ twA%I "H&%MiFUoWZ@\Shr0Y‹g,lEٴ?5S_[JoYJ%1+r:#))T2j0F[L"'QkXT ARI3c3%RN KX%7rbokV 'ĴQrNXW*eΝիgݱ |_k šnq4)&$Tr7n)=/A.]:Ի f 9W}/#ݮ*F.Á~Hd3}]`IȒZGrrq4r5_.wT*" %qLzLpjI:<;Cͧ be2PvrF(964uvqE"- +(Œ;Δ.m*QnI#$w[jEMc@ܕp}S*ϒ|@F=Q6>_[I]}X3ͧ>̓@b͂;U;zeSl/Xw}1Z^c`c>UJjԥD?û+%Z~t˥̘>>]}XxSײXٿ)uĤs>=~P :Y}ŃL>XkLXl^,3=I_U0uE.5Y?6ʄݧ =tv7WeFM?'#t+ ɨ-=yIKK )sH; BA‡()|Dj3ZoD4AX}rt* ̣AƸ4]^ ܹER뎮0-nRrD<̤Nm&39$mtO턶&کڢ5fֆdC6-/.nwmͺ:XDHl{Ҟ V8W,1ɇ|Ugm Jz{)7gWOyD ҥAWY(wJ"#kI_ѼBA@?#+>MhF1o# ^~Ǿ>~SYǛbo?cwwv(V:; %He2/7SfVT,'hD*t*t"&+(AW@t7tNpŌ; /ю}P+RL k]0jٚ0\J:{WY "Mpب[اzr6"&Ȩ7GX+St"DtCSmͰ(絏7V^LlLQ$,`jqAܧwXX_We[RmG SXO_ɇ0k_x]=7gR\xP+iTqL5үlKM.#fpɯo{`%mc3 2]@~Xe;6Dq,}L> fkSԁl6ݠ{7U?8Ж-$%+ltMnu>N]Fq@RQ^3VINOYFqʁIbͧHsVB;endstream endobj 286 0 obj << /Filter /FlateDecode /Length 6717 >> stream x][s7r~WGCjN8U偾jmY+J<SE".֪*=} 88$eRIjK .n@_MZM/iS)XzOqRi;M EI &%pnOGp8{SJ.AO?\+0`v8ApH1on{8p6 y.^ 4XLR%躘2bk%x@Vii6,v)ܔHJޅ F.Q%$ˊ_)A9U68쉾|O@Ofos&|F5&^AǫƵpޛ|Nj'k=;QȢS5vB)0-ewxsS=V{ʌƭ>% bd@q~kk<L4?a,g(< &=\>lje3^)ju܀Sf8:EOU8L^Tv<{R5e'?qc)Lscп—Qᱬ}Du&W- ʼ<'Ӏ@򠜊+Dqxʓ{ح)fP#>)f +[|]KA_WKy)y)u_{['ݧG}Ytu^1oeqEJR|^R.߃:P}Hq1Z MQ}C*kЬs+DP1_w6fklDن`Yv"[>`,pTqaQmBJuUisiHMFWUF kMkN֍5M&vCCYe"2ᢖ(&Y, 4̲0!mkBļ4 z)Em5Q l>f9;gs I(Pz Ftт5(VgO3Qd40P, ۊ+e} q$ w XǧE*ˈݙj_ ;OA8/m@aL (~Cz(m F0 CSS)m"@8ص(8!im2(CTs4A)!Aa||T:wR:Ba?+M $~AV@Y\٭`ͮm\0i7.)|0,koR/'Xha-@<,EUS +ݧ~t:3ު0 yL|c)n>BO]iV40mo&۵aǔ0Ie*"ZT&|[e݇Ҋ<8v@f UtРm6Ѱ0dH\G:*ZIy͗<R-39ͳXJy^*NfI?[G ˘ljp#CXUnr 5:M=U[[z f/ ?3/M Aj:5SP3!a6<6@Wb o'^H&oTtc7-ުxeb,6}Fjb,?lmIi/A -OZ=&5+bm+䠙LVp{t$V?t59v<)vX~AX )SK`(z3 } la͵=`\`]hC[@7t@к *@@loZվTOAb>vyn'P@Kc)[qiX]+L WVSچ 69[R4LCUĎ^Jr?{[GZ;-l+*E9&@uۅ! TdS)Lyè= ~_lڹsa9>/^)T2ٮDot$81rEDkBh7i`s07P'!md(ɩU$@1.R^cx#xr /"7A6 >cW{ bkTs(-`XPuh+|Z/e=;M.jwŸ~"Z_o7# ;70hl?0(Nc23t痏| da;?uVΰp7v>g²Gn`hLl 0W4ڍřz{X;q=z$h}'k?}߼kOmDD RH&n$8Qc]ʩ۲Y[3c OT'>$mQWB-uSh"dCuLڄx3ץ8=$cޢf7Xt{J6*XX#,LN?{pEz0ډׄ Qq5tt =kۓu;=s%!|ğà"JFߖuVr bjC0=c$Ҿ"$tęXx0x>BSwiN+"`#&HœRJfkux}M&uoGciiQM)/Okb9īv 疆S1 u k Crѥ8'qBxTi&PO.޼&]9:)޶zZD(< oMvu'*UOߣOF>ߤ,jxX {S:^%%bZyFbewDd*l@e[֋eȶ1Ұ`\yӠyFU3(PT'b٥xdˊ<z[JˇƤbp g^5vILYRva+-73e|8b@i:;xIS#^!Ƽ("8 8{ :0e:E~ungDI3v"^&܈79:KIŬ8? 7@ YbW?aњ=A%SP@DG:0':a0VfSM!dE k|Z"'>OE*n?eV MDDYtz/;š XHߋ *R`~\8`_@Z.0B_k[ [cT؃Ila򟮗dio>հA!/!׋c HMpæXMkّAlp:Q`6,a +\Wј-Êi&=LeΒس()>NM3Df=N$;2麢YY[n V}66~fAZS0' *o6#P̖VS,md.\T"Uǹ0K+# gVHkBVq e:|)Ms;XU쭤FU5CO9.gyln UP|8h-7# -$mmlA;r@Dٶ6s0a;TXLAi@As(ݪ[="1ƒg\9N4 +RSCF8&xùrrT0'kݹXG-č(7 ? J>ɨuTd[!X40#ml_y<apdO kѱH*I"i:&ɣH(,1K񋘅+~ LJ՞$C݂ȩ\~ָ"4%S&T?[i۹nR=לuMBoo${sB/tb:GIGonK2%2a~)"c|TkeV So0dX,ҹ6ʴr]g8aAaaH27dUUU*{' BUY!`JF}BFRe$rwϺhB,%rK̖҇/T f\ *!$b2;{×~$E\]uI]}p@>ʴ&ځ,8&C7`sT˲1Y7`΄k3nGIt,>r/J++iyLغlwu2w0NƑCnX49Juަ-W-zrQd4L`+vQ;d8FD/K.kƓ{Wqã}S)@ϐu4yN9')0g*Eq$;6VUNsl$mZ"ɬ'ޣ|:wȥ/ | /:;2@9Ysd)MKľ:WM{ 9G5_s&<20fb~<)nQ|MDBŵG[w3t+*"o4k«AS_r7F`*JV15UPB*㴘-y*%ܲtv:Vg“'w`x~]2w9wq,7o_yzqm{AVɦ̴ /mM+܉1mΝ@,: &eUwdΥ0m<ޭhfN9OӭJE+:&îxKA[ڕ+2)磽,azoR>vGu?>WLɻ|5Q @ tG-ou*4BXs#< `9n7U 25oXtw Mx-nWĦ>ٽcf1ޯ3 CVxm[|Ok*w*' w}KMa2q1hm\bqK6tn aǂQo$G7N!#Ӧ(D?ER|ZE]sa1"O;[W۳]r34cݘWI.܆rl9Enl (//R>\a3~+rS`+2>AT^qclgNWI75RI3ohOaՌ3N&))C:I欗Ii"(!YUP n$K9:UAsK^dzZwW3[^l y2Gj|[<;-]nnnM(nn\u7N/Ju,^;3+rx˜g+zendstream endobj 287 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4433 >> stream xX TS־1$SJ#T_##- L2Pfl2+ Db>@XUZ]Vk[Z7 `ֿ,ٜsDX`$ `_!qhqt*"Y0o؈OO+)XYʏOaVH%0c`/Pqo;8Lh|`wU*_J_ٮt whΙSOVL DpPoU!jO[PT]:cΰP`[@a&tܹiаpU]WޱIf>ŒbV2f5Yˬc3 f#,d&3'ƎY3KTf3YY8317 b0L3`ǒEs=fttLh2^.*c|=o[:Xf뼕UcM[}o ܿljmzF3ˊ%V9MD5AaE* *im5Ȇ'g^Eb'ۡj Ȓn9(#rk ARVHC!=Ga9(S2CA>sRep;OH?b[RARVVRy2 'ӧ$ɠG'+y2睓:Ei, ,^6q}1.+A7Ӛx4 ÄyO-)6$L&voPNȢ5Z&ECN@&~=,V_=(O7NӜSp 0YOȆ<@_E$8 d"!. ^l}*M@x ={o޲d=p&5Ex N=밌Wz6U4a|^jh'I`XOxI_<4.> 9)z`oĩSHͰPؼ>Nh h+oѲWPމi'DÒ+T- 3*I QBJj&95`{pd<#oXu2ِAͱBR.mpjH UM~ Ex`sͩ C[Oڜ)(AiƢ`e] )ťtX#-B1׻I^hG(\ƹT^yMU]>\.s#9r ?_f;w{T1K(Y<;rQH)2#묁c тVnR l K]LuCgg3/zFL3B =!%^1#,>2C. 96vF{c$'@2hS5Թd``9>T+w㤎~{4`KU ~A /mJ!=#g- V Z"73;+X&OWDV*/ؕ+ˡ+ wMn#R;¯~abvP,4K$+Ҡ8"9Op;d+Ё}E{ljZ^%vը$YCJUL{k5v\cю?66Z6J^tPEfAZf)PJTJy2\LsLaZJnb םk'qؤd_7^WȩM@, B+\7b~*V?%z*WR*zcO>/wtɂ&b)N- 6mN1Q̩jwU;yk"ʲ,e ֯ZgeI8'H퐚*rR"HB2BUIأKRN O2=[ٰmUN4c[2;hsdb=NIC^ކJ/O+϶eA#4lIU8$<0/ˀÚ[[N*TM4;Ib'^GAn]jL"hRYFpYE1XI]Q͑R#lb&v/Է",RS~ϣ7p &!dKڒḓ.[^ e#?Py8n]hq^YY:^g?֌c6-7[&sookkP;Q 6pNsOG%B-wtpabzLNS$oSr\N| Jj$2R1Ozb;M#xElG(oQYxP(d)?q>8LF oh!c6/-쾷89LjWnJnx4l"|#OЦ(96oHE={IZ Qkq:G7ZH] PGMu/:{?ޥ>FnQ/MuU)T)OһW=0G2R w"Q >XuDY|L dSPu)ڤT@ +s!T̟@f\|q8_^Xw/SQ"'%[Bt{T@\#Е5쇓 ?,nʜ@m`X&VR)WˍE-P buZHVkB>U \,Rtsi9YBhaһ0پbG>} uAwDnt셓`_q swMU*: 4ZDpT/:]|`ϔ݁ 9h(<~=_$qO_R`;&qPB!tJVnC6}Z[ڞ`Ha/BivֽoU1x?eR|bb*- ef4:JB6t2ko`{6z>zRnӐ[W՟zn̬1~k@+>b/?y+ȭz_3>U{FY)'D5DQт.ٸ8'ONdFK,-[ͶBIU4+k?endstream endobj 288 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 8394 >> stream xztSWºf 6B$j􎍻qo6nrU$^drm\(B &!!sdޑlg&foi--[瞳T.@ -Zn$_~`~[Q4az g}?aEz#>@P/2x˘gϞ9nIf^ojO7_.Bĉ|'y|73 y3ſwd[׻ ۝?u`Р.<l?8!Ci:qaC ?pzëF4B1rǣL+xukV\/j] 䇶bUJybvi6|KF5Ckhk-*L cNJ~VD'xB+z|ZU఺Ie^NCT>EV0VMR r]'>,.dܨFs\[d}{/! ZE| q8_^@]ɠ4<OmT~-,W3[xʇMbݺx՛l:b~b]X#zQ3cm3P4}Qx"`xϵu)<$m%c.؇(BvO70Kaq_Uj5M-<{ĚWʌ$| 佑}bٟ?@P~@b.p, 8tC-ɒe *k <`QK[&zH?dΟMD\k=1/,T&V%x6.ё B]1g= `Ik^P@_4Y^ rtZ5rzJsXB菕nuZǛlNkOXfS4$ALF@O}DjAGǓH=e0y+X:Re s[n9؉c{<OŻ[&g횂6o/|'{ȸ*wyvBlE[ ep\UG8Ρ䈦_zbx쏸Db.89JeQ0]qhq`pOf.pq7H@zƚG$bWցlj&*ɓC(׶A$R+(YUCfEmvm8Ajۛ E$Gz Q<ǫD֭IašyO ݉Nv9C@< ~oY X)R9\_|`Mt Xf-4`ڑ^|IOC6<>Y?-&Y_G;_hf/F"D*40T0:!4xKvLjF=>qi&sH3}41fDuF!x e ! |"?_dzϐQAhg,7%SP!KIu5?\z}͢.4qdi^Ӭ-hKN2k%h_jAd" Ƭ*]BX$`bf n7s #:m;%a6IFxڑ^8Ȯ #Ngz}MG)`\9b5 Bjcn 9OMAq?1[<]8uV' lKdjA[Px鐺`>/OVdI\Ӝ#\}Mi#%yĥa!P%U)q [3DY-[_&W˿"1JMqzdGXecϚ~H6[ L:JB>) Bg *_p3YD's͸+jq8[t2o ǻj`?3석4<#}gIʌh,+?A~80*H;x~+hyLkAhܗ|nBL<+Vy+1< H pi#q4nA\;5 }?܄ ~-E-8Ϯ"T+3HHa;d ϴ2џħ%GK}™}mPN\qSps>"~]lb+鰬L)|t9DV7 (!? =bӋ\ҐJS@0mu8B!lqWT%&ڕCz*EkHg٦Di!ғ2*23+$hD]јGBNܺ~|)Z*KkQ ?~uL&lЍ9prS y*Y hOBfuc)l%?pІU6JmG*EڬAOSoQ/uZUydyojth;:WA4+A2_mtf?hSs~Bp]]6}g 6M?C3\'zR L{SAArP2vu[3{ɎҬIYLv"qNlQ~\;wfpd>|t#\ LŎ-͹gMd2 -{;&uAq/[t!!ш!z9.JK;_W"8(ߡ鍰'dKIkŰ-)566aU oFâHMD깶s3;M[V"`*h?bv<}K&M)T@]Hu ِ _~56MA`B*5"ՕkC* L3 NId\/]qBi{n5fF|4$ibm̏XDy.NZi(Mf^J:ց3ym( #MX.v\;m.( FD]g>6<-] DfYd(xK =SIږ^8Ƀwl;y{IV%ƌj[,DE*dairG6:BlDcQ^h%+! ǔ兄J}<]h<}א VhVzER7ǢN_P{pJ/D3?}'b Ŀ~Mڿ Ȉ%aP"1i4]bvtG^ .K u gP1x;`pKxT[ pS_2 _o] ^2Aԭl5mDYUlUu*33\Q :!%#AdDhGfc!׉bN{ʫ:ԅW RI8"8b]Y1,ё|4{ba+TKPK.,Zꆞh4+R<ODM}"e?E9( 4l1Nx̉ktBh4u!Z/bC{A].$r1hbBB*r%u՛>i9>w?!n"no 1j~-D POD{o ~ş%gQq{Xm;$T;ug#()o ެiq] QӪh׍A֭!R j1ِռߗE! h(,.C[z` O}fH"3tJsR[B訦MOI~*G`4HEjZ'ۜ* ._DrmYiuI8cw#i h/NKV$p|+M8sY'd*\ˈ%T&fbo]4o^MړʋZuF<(;7UL@U0ԁnw@]$rz3}[t7e/f07}ebdrI(cJᡁOŧNZ\W\QQRRA;"NPkDiQQ:u6ۆDaR[> UdL솨Q kh`… 9Ց`, ) rrtР]\&K7pWTBA{/~vkHz ۫#וkjFPW_Rp;hZBtWҵsi7iO DeFBu !4*!ږL#.ZMfc?w7uOEy/A &@H NW!s=PoWOخC=$B0}Һ\ͧ9FRF*!uUgs*.k:Ffnۢ. $r)^)Wʶ=x=X:Ԋ`LsӶî~aքn(mjX2AC[s-֌fAûyw·C NȨ7kj_ӁQH/Wmshu*4Õgt:9 EaKL#JG/ IYhG[.N $>Ih6l>lKiЮSs3 /d9 r|ڮķ7$ĝ; /h]lLkKK=UVr_;h %xiD&&8F&/'gTZ~(ŨOmPG':~a wSO}0rwPtnæTE V5L ;KrI<]D9X xa t8|epiLYɤG?o(|, *=rxi&Y/]y:!h \bM9=iԇ &kvp1uAF";^~t!{k[VĢsÚ}S7Ϟg.~gfx\a+DXoG۹vF`ZE)8W׈%:y &GL_a[.! 3cPWNyhl*>>|.18 'w;dy'̬crb ;r}.\r`f8yo_ k ά/!=XЄE.[z}DIھEAhh!J&6HI_E%;yN0lZ@-܏ިovM:yXۂ`!!s3qϰ9ъ `Rto"Ƚ2kG \+AU.ai<yx1m۝&ORd s*?D0^хyg74-{laϷ@vr0# [;5FN eepZFZ\NN0D)2Xg=V{ PkZg P,X?LZ<"yeW)"b!"q㩭q,qc] 5z2QU { .Xk=._W6E> stream xET Tuٙp։D]5R$BQ(p$c)/VPA]ǠHfnny-O>νws=s|3|=rBd2f嚈ࠉ qL3EC*|}}:L rpw"Ol?dVfdSxMpXXbsAAai)t>91M~l̈OI4~˒̗,ԥfd'XO$$f%&hVg5kui8/+32sٚ5 Eyv?| KC_ yFjVR(5⨧(/ijMyPFQˬϧ5K v5nvEb/3_I96 kͲSr1},+;Y !g _6]pt}CZUo4_bic]neb*4PZ)Iuq!χH=D We AM2k*8' Ƶ[,BHgwv混wڻ/nnʫ#! }40:ٝt_`R$m5^ 7"kViQ:~3$Yɵ@ ^͙ͻ.bVui-Y| -+*0D@Q[%V8~r 4ہ6FB{j+ҍnͲHTA@ˑS//jcԜ pv4e~~&6Q4םg'>*z`^ԨVAu0>MiiS~ʌˡP:.wW"3K2L X~ E|{ 쭁"Wv+)32+$_vb*s4I!}5KE(> -FΓLWγlnom}:{J,kQlTXX{Ȫ pQZX0?kkmwN?#N|or5rG^* CȂvBe,Iwqqg0&#b)*oQhȈqU89#ChX1#8 a~"y^G9dDҷR<>ʹU4HTJM_bXV]yj դ1@6kR}ժ?#`!qωVr]zs)U0;TO"Aqrעx1r@k;*\r~GጩETaȄ46%d {?aY=rITQ;BU㹰tcn+dv=\ #pEK]XVb-zȮ N/7@%8XYXS\Wm3׳Z:]UccueC7pD* Em% oVe=,|00X5h>a'ɋHom#oM mbWXqΰغ;3ͬt/߂ Mԑǫn[e*Vjo~)H o$ 6@  tS)&OΔ':wς{-J ш*q}TKKF/0޾V gXܑa.IZ]c&>)eɹPUf}1@f0 Y?<Ǝ7z!M&heY߲7d"$?-n;mӬJ`{;endstream endobj 290 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 662 >> stream x%oHSQޖY^ C_&V}ئ7q>y)fce"HSĊCB"BZMrYi Â>t*99G!w8 M& !]UYhJPRz_$Ԑ }Yгzض.鼆|\@Lt| V{O6;2Xp~㽴iga[ygKo G׳ U;N bP̀JR`A!O%QX7$MLѪ)pd*{C.b,Ea;jZFNi+An̢P !qxN!ApXPMV-r-a5B!AT6q`rDfrIXQ|gO/mY`QІuj4pCŢΆ3*4X$ADh89G*UsZO]vAI8@l'hS*Cx2v+FaOXXޮːmJMe&endstream endobj 291 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2167 >> stream xU{PS!+b(zu VE ZjyD@%).F 1&jcͺ$1M5syј`X$ +>$U4ެWidʳ\o.9dUx^KĸUh2[b56O&iCb3+"Bl%5\"XKX@ p"P t;rIWK^F yҏLT>z<J/I *24H :~KgҁVS~:ᚭ;Ceʐ$5r| n耇,&s|R#Hp xATM6P %.lQu B 5i-pjYAj%Zjkt cB?(*Vbo'\@9jᢸʡ KQ2+V"Yòi@K6[ܟGٱ3 >#qпBj.ٻH )亄I͒(=~8 %iٖ#R]U6krg> t]ZAzum\KT:UdSLaB[ @#{7PmI(-VF}0V'еPX 纑hSRM@x< mVb&? _z 0m׽L::wO3""@I[ !B1|(*81"l=[}A)\G_^_3:Txt(BZJKuHűc)MaDsyTE6֚\#&Oj0[2$O MQzv&AAٱP~#o@ 톡 3qfd2eA2$s." ؀bmQ8 ʔu(LZO[0s`AfgG#|:khp0ׅ@ݴ]W\u lR뛚:M'Y*(̎u 'i>v1ÖgL',Zg=SPU4&o( tF?Et#EׄيC`[uf9_Uxeb&]v0d[٣V&b [ :#;F??Uf? Nj.#6&ϑFe/ &` |3mQ8sp򄁅2ٞA5-r2<)0@8k1I3{~]FTY5F[:PC/kr/zlzxז3Պe&5k!OQYx݇%/!EIZcv'&ݖxzqyLo;ŕ>Iv 1e/H>쯤yTbYIIoyr(1! wdUt^{+&#!nY6"UÞBp‡zk[s:`"OojUs3*]QRqFAR] ˵7N> stream xY tSeھ!4\P#D޲.Hwڐ.iii&Mn&itoҽi -ڲ#T@qAqos/muǙ99=7yypC3lKgsf`,'Ȑ 6'E0:QW=:GaF m|oF?DQI.Hd2#'M9k S#1cV a\Lj䊘̤Luiq„̜/%efg?D"{zZFSFJIkv'dd'G.JK͌\9p22"W'd1m~i į-X{qfe屯ĭȍ_subZٓFLFUb51XC?*p?νvhûZˏ<C|> {S|w9Cx2:eؾaj 4 4ƣah,ZH } 2K% ݴ=Ĝ :<Dt% ؐϲ|v<;ikc+;Eܦtk}@Z5QN]yV ÃQY4?=7x,8o*4٠4jT/)6Y}o6!uإ]4 ˎ\"/۝zDKcc5U`A_Ƥ?јU@I_uŷpӁ;l΋@z]Ƭ XĆ Ol|,}]+_ov8=d$+6у->fԁ=JjfFf®it'l!;lhswguRR[]dl'gKA/uMʗ;m@h^owtY9,hh@vvKTO 0 BYo鼵 cj4fslJqn}>So=ME"|K|m1*ō ?ֻH1MiL{/3pp-!N4>76k( 8Mzs 6U+ƴ-c+ Q^!k߽5{]Cu"Pg":JE,Nzktć{ûy5ъA]xԏkzY)` 0Nls|:VUq62Ai[T6d0 a F+]lglט+]Gq^'f-LQCaz{:uJb(?id 88 siA^0ao5f]3nu5=瑯KP04*cNӍbh0c{&%lVP1&^ow\Жv;0aM :>|!S*,vUdjVY[%r~4I+5ԴB%k|#5Rt !ե55{VN` [HiPB{or: [*6%UI*I_K!Iq0vsohCCjY<>G.z]䣧xhW4s,fO%mB]|wXrIޔ(:)~tsGp90Lo>/N\_?喂4 n{^ H^^_,k͹/WPXVXEaPfjRT rq}Xv(;̎{b/~8=<*`iD+xp} kNvt  q5XvrgF 3[TP%M!{.͹d.ol:xc$))%9%ˇ+}‡9i"ԑqmt@o@n\ $Z%{/|W^ȎزChӸ<* Cq9/_G %^oa7 NPRD@0uMjK-mvN%\'$\^q5UL9MNܢ͵7[.s*U+S^TR@z#cjFORC-eTj++pHgsж (7x?ntF#cw5{, -mDD>x)qYHΘZgqS`61B7&FGf7]mrn8wHj.zjж7~ejԚԙ%MN~7n/n(<^0 TrGb0AWW!I6pj5fKjDM`B T' g5x n?VyRX e6LCh\lU^5L>ג~Sl`0>',8d Q*jȣx2H63fB1npfZwZр ^4SPT\6- ev+ܔO?[fb< UUzzEpaaΪbg_QJd@ӿ.՗'.ɒr+8\'<ƽ;UQe{ VW:f.Ƥ|Ӏh?~ poуybm!^jI=;Ww}M[R(M;`l%|QڏPGGed4Ѯ]幵-F*_%L&3K%-&?V=ˇt{}׾6M@"~475oK"|F*EQR, 񞆊\G^v` ώS9–{ * 銍vP;{@c!F8oPZ{yqJ|jГEk/GнZQ\FRJ,uZ[ѪSONU lfV&+ :ihmr*<XFͥ>½=C_11 +endstream endobj 293 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5580 >> stream xY \֟h VmJՊ;ZFB o\v6QuW\*.Am n>mmV{aK{Aι??ADP"H2S&" ojaKQ/n޶W9e%)ԊeX)3g;e3]B>.}2%vY% S]̒)\zKRM $W;Ex)",*]Vt:|yȶe|"nև-T+DG|6/SFoYu3`U`PpȺoǽ3m3fΚ=gعO)15ZIA}HGyRUjj 5ZKQQ󨏩Dj=ZHE-SS%;6AC-Q˩ JJByS,5r(gj85Q<ՏOF A`j.5J9P)7ʖRS/D3Du6#l6> >'McTߪ~ xn~~2fc,dh99J;^Ѽ.b 8lða?:$qjtz9ιQ#WU*dۢBLm6i_lF0 EvbjRSQRʹgtE jܥB|ov0~_CjP.Ci;sԬ<_`3d讇Bq V_ ۄJ}yFA6C%m.ްyrc%8"ZӼnGfqү (<;_EgMPk I`[l;i ?N'pƺ-˗^1yn<"(EMpXne6Di#m"~#rn;{@0`v<(T˧u ߌ^8{EDž3]KLM#b"00[F҃W.6B9{7{gBesxCIMA '^^A[t;b &U8(Eh'EqϓD=@P(w:Չ1(%:TJӻ JT C*n>Xt jՂ ۽(ڏְΓg,C~6W6Wx^@!5Zr8 y=\?sGonu3-]96~ldCz^ |w0aD (ٌ4{JQmf;7h}.ٕ#GDŽ̻6Z&`=GP ?@.#\U*}N}-U/[KӽNzZ.5* XL2FGS8 2[ ^\>cvmIHX\&cSESyX^%÷n aU-V0 1fq R4e4q-tS=K0k驵+_"ĠhfXgܡ@Nwtz7n@Y.2-LT"f:Uwi/ dC1jjj{V\*D G*з js{[YfPbehWcݕ?ŦB8yE=~F@v43} Q@Ya@ubz:Sp(y$/V"|]VH?* #rDըp9p3(*F p汄VQ%BOuqG/P"bBDz/涫NڵtkE5pG2+f?rޏ *3J :g]3\]P3*ˮbz5pƴE 6MlUq>W('1'+`57645gdT^z /Lǃ??|Eg4$bWB3r? %#f=m7@7@ A c%;{ԓ*wS(~1xfkyug+wapl'x?3|{Hl0]IvbϜ̥U(D}-'m9@gҘO: ^I,  x!qՙ[r%i42TOvIQc<mMU;$CJ$HqkZa$~H猴qGLB-ZǷp*uw[R5ZU  1$0J3d517\yW? B mn d ,T#ƏxE S/H.Ew0EzTʜŕڛO(v?gĄܿhbSiiKCM#h|`?Y@*s|pZVQ+DSچVmܘ^Xu^AAòbY97eZIߊ׬ۻ\#^W3&!@΂U5g< ?ƃ=5'NG|&I梹'4w lg)Ԧ(xM %^fz|O fdŪA[_Fn{ !{s6ímmUQ=Vbҍ"RZR6%ΕG` V3k,bm_?ZvE PR_g.  Rٹ9J]sÇO}~pZOouݧlA:yCQMvqF).jڵ&a.`#)UnDso*,⥘J$E GEAZiW+4O|󩚂t2Cəfk_PӣLY";zMMz]GLءis7).jZ,GYP<p/:\3wS5"|l@'&&nw~xx'>ϧauEs`Ι{jDMH| *AŚ/5Q8-GGO_DI\|[GO"#htphŧ>Om}D\!WEWUscéPvy֧~B06%_ӗٹBWة\V4pCK\2w\?_o޿-ov#}ZSs>r*/eE{-8uܴdn5E^Κf+Kҙ>!@.( }PLuNQ4 m &3c2I;DyLn?ÈdXa3V`4"MVۨBjuȀ>q?`wyX,t8v$ڃñުEqI1@O EW"Fz;ĆGl}&Xj : 'X:fY&HYzi&U+Q*H|!m9(GW:C`Ϡusd5ā:ݡ9Vghu(ܯA9{{=nBI96)95 2GNϟ[^B0`?&Ϛ9}k}B(8)+=zlj 辺] ȼ@'t6/acA OϢϙlEzf%;ҳ]^!1m|PBP(#LD(%Xlca|NNLM^ CBw<|Iλ7/ăe{d;[SIHMKMBaX䂸b!mCr2ZԌTSV5ו#\_P*zeE ht6)=XL-K,]-l[)Gi8;L3Iȭgiv5OhYN'Xl Sx\)Q#eSEvΎ|ngӁsʿ92+_FN#6("cBn!_霟tg fb;֑ 0gKG{PYBNH%Wj-ɿ؋>lj`;v:.k3.끶\]6AHGFB'_iIglpO/q9+,l6%%γl| ;p(RU1)9b ^QxwX P睊OQ/Ϭ5B338L]-Т䬊SDlVbje|J\*R9oG9rMsGI(pnAΌmn9tU;1*PHh/!L:]dHHISSHK%ht%;KUyŹ}[t‡9V ێ{Ċgl d8a 2rzX<gwP 3}!vDǧq~%Di5H-3s%̶dPݙ|9K/$*P_X'17 ۪&I>sendstream endobj 294 0 obj << /Filter /FlateDecode /Length 6222 >> stream x\Y~?CoV2Mc793-qH4ꙡI96R g_~6j.||ϙ͓;jOw4uS9|z[xx3g;$>;v1tUw6i C`~ɛҦCmwa:>{?S*49@ew CA135\քiceWhnwZ?7}o!p!2JO:&'J$e`𡆹pɝc|60PBl?0!OK3 T3X lL.sl[sEv3eYl0i/Ds1RK6dz'; bkfgP".~Z)#l,dg5ȎE^RvzR E-.M`"J2{-]S)ZS ew*ld@-/b<e;gm?igkK^L 9IWT%31gB GTɻ@93 &ߙ8( =p#m)F9F%? $h-'D$A Wp:9iT#!)L쁍`/ì-X_07n1[^ZnBr3, >dddI](F?业I Dg!ny>euلԯd.gؙb(F0[D(9{󶙘ysl._:%<EBc^9gEКJfϫ4H sÄH+9dȑM(l mfd4=9hMmO{=j-Kavise4?YU5Q9YX0 3opzIQ%i1!@:%#t WE]5.8e=dZ~#?-[) SQˏbTRp{ o ϸDŽ Xz4>`@0|,)لY[?:seՑx^cq1N'';TlK𩑛E#CSԉ=M2@n @d" M\֧o@Neb$/ȠA N{'/#tYe0 :>䓝 vˌ{Y@n-%,<v 35 IGt(BckT F)>,}BƉ`p :lT{bwBk1+Wq$v9?.a * ʻ9eB[sg(j(b)0%ÒHJרv=:?x$srF6e lv6Q*)*t̬c2A&Vq"Y!ęQu%u$bI>1iqDy{ nP N$Ȳ4Jp;>5dž挄rRB&eNp;PS<{|İ,ufFj=f ׻ bUXɨ!6%qVSg< #)$, 8$\R7ń@.OEMPtb*)\{^v,Duyi*g\Zz>q/Q Us2!C*~#!cYWs%2bBWyVugʀK h/^L&~e`4f EB=x)lxчsJ'": $cc m1QUȤ@pR[l疸rɧEU!@.Ak(8xK  \EDa^N9qz}hL`HG6Ǐ;|A+g nmdg #7]\==ez ^@ƅ<[盃 0VD2cO(Y)~C܏qLO fazJf[i{)\MËneLFcxx-vdxhʍH-rW身qKZ;lGJ%7I+OI22gҢx+Zx;7X9#,2_DCa̐ʳ^O  f܅Cs~AD:UNŒTQ=nW\d_p YB8DNFwuD ;r }RIJG:`"Y‚IhVڞ u)ˢ8rz$.7jd%QOd i4r}zEasB3=HZB|=~)p&t8V:ù=hVߺq{ܷC{hWxӣ38oPL0nAU x-_+Ě9ߣ F] _bMQtL6,+8$pAh5,7ee>`$x,AWfYΘey)SvN,3"EښWm o&TفgQ'R 1[rݥ$Qm^P0褅cg- O3`kwhVp臣"]8].~ퟷK76Ľ [\!cL .tPȬ#Г6`z*}}Q! u *\`_'Kb}& [k_.?m|Rb֥"]Ў ^]Qlxq[AGc%i^c>Ć HH =C9OrԊѾ[,' x4;~d@^$(SXY8>k$8_n/>b@rC05!w`i9 ,'Z~>on]bs Cei8YDRPVS**Y꣨NaT:GAշ vj=WȈ_dXaC來1YA5ëyQx^L<}1~ZxO&rpNY3(nP[]\|juOx Nbw\|"-]6N[ޚJȟa7 R_6\>]9x[HwoM`/I_ߛ13ho10'؝#5m[GSo$ljg3ڇyN?'aq5'jfDLd\{Љ_Es&QEHu }ٺ~3ҎnvE!)yItp*d4i#- o 7 RI#.(|Q.,\.6JSLQ)8ž['6 -{h"e}%w2 jٗbnSMd`7[E2$NKQ-._bnC"S&L2ek£ZIx>$t5т{cE`KhJ_Ϯqs=r Y "B;!ϗwwo?dӋwN4XU?!x꣪%܈1S%=859C c`-+19!F(B^{@}ӃֈI7x"~CFrI@ 6XW/>o$RA:KvU}񸺉]qo`(#8{&C^w NH~4q4V<[~ڈ,Sc6>xlɷ4ܓ /r©Wk,I[ 6S}@-B '4 ľSliM8kb{ҁоG͝#vޕe?-UKv3ʀMe,Z 1~\QHf6S`}n] ] %/gGBYP[/:Uuzlҕ_՗2 [STpXXɓD*4 3qAW< ˏ9R$ᚹ u|){gַ0a D}'kylyz0pF{˥,8`?e~YzVy(x2A4|T5[d k翹CkeH `ŭ5= P޻P$_¾uP9V;=COw,=7,MN71|Ȱkendstream endobj 295 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3132 >> stream xW p׹^!kY1) ʮ Ҙ;<clplK ![~HmY=OY~K~ JҖq۔Gɔ6msVx:=2nMܙ{G#if|߷"d!H' IoKPVarba W{nQ8߷.߀ aT"QkMb}iޱ\MGWGFo6QQ#*KfE&eirYG>#hlؠgW{~H]&7rLYZ̎ܡ.D*TF>.txuaV,LRg+KXH_Le9LKW#D2BHA@+VJiȞ188^+4[z\yBK>~-CZ2\+SnJaOygheE%{R\w , 7IE1*i 7,闽}vøϺ֟u4\x70>S*n/ (_S{;: :2wOVRElm\Ͻ/->@Z+om!P0 >E&dcak-p2sΔPwPƈFe~@r:IKzle99p\ZRx`rg^I:~GPoM/ng@M5:6Vn{19 hv &sƃO&1Fz6Pv ӃpW\'KIa96ؽpiҏ;,0~ޒ^S4@fxl:NVY`en,8 ?۞Ӏ~&9XȍyިfEFſ%⟥e`uT}dH?\ p)e9]3?FjNMwGVJʜhcCbqS\ÑQH`4d:ږ-Iqm6{'ojul[ga'3:8@ABz( Iw6@l:%l*g1ߝp5[BKe>/O(NoQ֪l X=JeP_ن0{`&[#uSNqOϭ4ꁎ*3z|=ى˰Zl7aRqUnkS.irjyO3ם^Py/~;#.0|;pYVAK#:+erXNAt.gkٟ7n8)\5+}WLklHm(|6K5&a5G\쇛<'I|RWtUKfj#~Cf~VVkG;NNT4J@eN 5 xCoސ98P嬥dc˙rȬ2?|HQP2Ǐw9.LϾtA[YiHǩ=_5h?5@  чHq؀R-.K> lbCy1aZNk d* s~Urx ny5X-E `/og;><4~\F69UZ, /,*wqXBEׁQ@s[8]ix2*q聥(j pWTOɭ%,Xx PZ᢭q Ky)fΗR+~}K@Ǯ6+Se8m6`=*/<p ۴kq.ɄC_ /s)H==ꂲcE!?>c'5ҫ-_aU[/x Ϧ_,Szvapd@f ⇳}ïckG "WZ[C?|NyOK vKlqtf ZRy(sYnw Bc=}mqXG p6ecΙ`巪FeC|oN]N,xgG0#.FjDU|#4ArTb~1%]"LK^nH)Ke@ruo'oM'd3$Ò"~~|A8#\N;Ǥ@Mi`_e~XҶUB~XOG0yR2p rrI`'%ёАO> stream x]1n0 EwB7,b\%Cl.V|őMNPW݀`;6yDg0)lS2|PD@nd0*Lc&5G"VszTp<7h?0fՈ YMR&`Hl<|I} &dFFg#{:D,<ޥJl`l t,3̋f9endstream endobj 297 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4070 >> stream xW{T[UNJKO+Ҫs^YᨭheƾD By@8$<@HH!@ym˱!}Hj{NVǫg t53u"d}P0s@(ްleɟ f$H}b4}ࡱc3!-fv/^t7y Uu ƺU2iInדmD֡٢E {i$W~^M[ȅ-`b,B\'ȝ7 HT FP~"}"#財1AS/rDDh'pVzhѨ}?|)"ZkP5H#ɰ\e;` vloF*֕mBm_j;ùejvf_O䁲ȨH603L#DN  in>6 {IU1ѓhun;3~DP4AK6UCh3(4Kxΐ}&9q1DvAW =7LFAr% 2>x8!R]d78MNP.if4Z8\R[WEwv%:^u@_GV@] qL^ ntR>g3q'X a@.29̫1 A+Sr4-~UFRmSt`wҴb|(f+~OmMQ8/z3Ж/?\*=Ў a}q_uV+\;u#mL8Y@jM@ߝqon4-=%J%ս? 'dM8?PA .c5zK9 ̜CFid ^B~=!HEbe:M\_X2ֺ:mX ]΃]‹T1q`-J}\T>NêZY`(qtnqf"X܃"KSо俉>K@EH@y"a_MW9KMdb֣Rnfv5_ 6 62Z)@c7}__B?KIC30k`H+l/-flWc -C4t L3)i :->v]M!)E{[_$R]'ec/+X&7u>n,D[iKz}1IiK W{Etyy*Fp.2X&2Hۇ707 o&@p)0T'7jZ鰙* ~z>î r #nR-܁IG?GaXcQRnbŊ7]]n>p{TR ǥjrl }~_DO(/)7Y]d{moD oJj<5rB8q9cM"s@ R :AXHS7e W9U&R:}00=>^j+c@ +$g0 ` Qq1k~ĕ.x [9ZНL,Va^$( FHs@0N |~;za&Y^S oֆ1u g\Vp,vvh6’'eOf[_,SFeG;{xeUO}lrX-4%߸IY PqҐ]]J&4)t?sExLdQePJJ]e'?Yg:i~Ė &fnu2rL Ӵy.蛦Hl58_R71j kBEx e4]\Vlxӽ48>KihWWT+X7D(Fm%icu\V 8E|p?|>?s]V qdz2lяQT|X\>3Iϙ5ipD|IZ?<}*j9;x{ l ACl _l3M7Ф9y^ @sP0ox"8qؑt~aedhS@":-?*t)JDzF]XDrLta d0065PIWֵk^4TցfK5aYka> H(0Sj ,)oj9Ød.&~p)t-xCXhC4eDc2:Rs0re08֖TVF SO'p}4o}(QQYY[[YQHtt$04j~[Dx&"S j sd,$ɯ/DCcm+ɫxo!bubK͎I XRCnս<4p̫yƝcX9+itIBޅmPEt- u88\F24JȁuV>f—'y\JIjQ A'fgWQZKt׿-fxvrރ 댶H@ZbS'i=>C = Hhiog"reӡ= ˜݁Q;|8qǙj2])G_\A zn^A2&|CGݾx0Bn^iҒ7A `;뺒kc7oąY$ q3^wf 5k ZGDKteۇsĉ>:#O"MZl̜izk߃a菵77p>tMѼvc</h@a8J 9EyY Y4^ D?ͯvɬ@ *|A`vw"|26'Υ  +=8endstream endobj 298 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 371 >> stream xcd`ab`ddt v04qH3a!S,ٝ"|<<,k?'={3#caes~AeQfzFFcnjQfrbobIFjnb ZRaQRR`_^^[_nPYZZTWsᜟ[PZZZ`ȒgP./}"zj֫8G펓–^ߐ&{ r6NN-~oY<{a1sW1U{w1 b=jC.7{BI_r}b1]fo^endstream endobj 299 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 676 >> stream x-_HSq׻]͙˶]Hѹ?ҖINA^ݲa޹f/["JC|@YM(K@4s/(߇ss>s$CAȬ6Qq-7#א_NK5(Pf NNrrɠp% tY=ޠ`LڔoɦFc>]b|FegEsy 3 ,o0-k9Ma_;DY{lD41>7B#E{QRxH$AYȋ^yD'_V7[HXUf g-Is2szJ!(~Q_#!OUPHV)?~I:|u}vTAD:&B"s$>MO>,s)E/w0-\ xZo'j[p|?ůL$K0jr2l27[u<a#m|\P%(:^m-< )=<ӝynhy̾v$xjXQak)ŏQ{4{2l.Z߻֭RZ#y8*J Z,BABXj)Q ꅓѻQ 7܊HI(D a"endstream endobj 300 0 obj << /Filter /FlateDecode /Length 6420 >> stream x][uvS~0W9-Q@r.Cs =Ruz8+RS]SK⳯<\^(u\m~-Ҙ6Qm C2nsywmmrW6BoOvlwnpĠ>9% ^dU781nBh=|Fi?X9 Bm?qtޛN G}&Vc :*[s?>k(n^vi{/_5OJ iX⒋ۗSgj͋yugѲh-D2/"*]0C[ o ęcr1"dYbFU(xrNI0#4sˮ̋X/3>Mǒ6NhQG PmZvout'» @5IU +A/7hf@ؤyj|Tfdž d([l<1aFjmaTZ2'_ Y= IY=̲_oT7&q}zpQg.l.M&ƳtI2z{Ca{)z~9nY,i0^۩+h,;Pl{nVwְ`%^GA;E[$6"EkyT.ḣZm<ۿ섀ByDIvE2$P֏b77DI as,1.fjf{Lb /`B,kdbl#^v9$fu R8 tPH+"@83պfg.YQ6Q3aCkAڨ`^m ?ɕI6u,0LLRs45#;| (t{qW#R#GLPCpJ8w+x=Ar!w9F+"|nR4z?ͩ677<@-8 A / yQuĄL#`1]H~=KtBjTiHre8){‡69W)gaftxeӃRq?צf19H 9ws+cAo ,e>0qŨo4]E0|=e[l6zM6ϐxf@H~FW oΩ}3۝G) 5gFɏn{pCU<Ҏ+.'G+ɮX}.;c#s^x>0î=9tw6?)&gW핒&6cLdX4ۙC]Eؠ]6, JxD [ãsD6s: N4| *=PI?dHƆ?י+WK] Gˋ?]pHm^?5,SoaŁ4ƁrOϧA  ǼۺXq@C(Si*n :ԶC ɢ&@Ga%=jtQ '7(F&Sc$RCs-:,5-BCNʨF@o_]чh/]İMRkfS8Hn^.X 2D bw-ط g j~sx!# nVaNQ-2ɜB1KL{hZעFy5 fjRʀ2I/`ve3.4yv,&jTG'>Ew6 p jbW]#ȼg$-9`Ǯ +)*|w&@#c")/)zi~MA!1,9!"9m(U1a6W 0[Y>NFDÆ+&Bd@R,@,Hl+MV )cC `=Q{,즊l4hk$H!D B37O^om%r|:eC óm]p]Ͼ @Qf~ޅ1qiZˠRs;'0?us#Dw&h̴$oNO9xL u TG^k;$i2t9[D@㹒S)$X,XFΝ %˹,0P" O,( PYiф89k2ˬ$BcCgS2 bt~EA,@M|J\"H+L){K9 >oEM&DWg[8R*.ws,¢a]!8ȖPMH=fJм+|>muQ8Ѩi;aSJ6;`ڪY09JDy_5q/.C@9_}(FUƘ1)C9V""X+Q5h6Y D#Ocm1M 2$% 68Bі@:lL,qyJ8Y bBmNZw֑A̫IDZEr13AxaY]`N%m?+*y2a_Joά zZC߈PRj4Ֆ( H$1_98;c҈AC 4xPAҮd4EbW b wqKLCg k7rO- {5רl-!Oc>Z3(q:~[& DD?3{;!9LHWx_NW kR9vkFئ6|}jbX42@':ݸFyQ}9n"oF h /H\^0_v{,]xu= !ܿŐ'Jb@.2V9= Z{ٖzZ0LZWlf{NSR F4` {,9IS*UL~a,x2zOc`˫1%2b;fv:3N[4<]7,baԛ8 Jr!W(@Gu8,5s񄨖!#J"eijȈcN< ?|nq"71K8}x)P& ,!< {~_#T``Dg|g9*HX()#0Dp}dC kx{X >n`-UFF=:>}S,VR cC'cSX֎Gjx 96[==f ieT9 ovS-:atkۢ,5z" Zk S ka6F74.X@+Sico xnl&֑qi/KYHY-$]Ŕ{6LVߖǡ<>PEgx[~%X]KQ)ģq%/DžΜ^=ټhVOZWdfyz{iL9h [>0בrH%TQmZTTFmgW%ef*T"TLgчŜkkc[P!Jub*LyxʄDOFEm*s. HsTyDݠ >,r#ѾQ`bѡ+颦&2$z֕]up$`ˆnZpmL t1y5 te\,']E):^ٴ4XamUMӞ2OթGQ]%F& vy"ݯpZlwUy`:s=yZT{;|}Bm'!N2tNd],֘8vq|<]8(bN]iD b1mXӉ)讜|9oTx,&{JqnY!a[MW'mK;Kk 5`>㔍/С`ͮR4-(՚,"}OWJm*@2:VDU^M x_cD^ c7̄.X Keg>Se4?gJDk)L=.k:+)X u,rT_Pܶ qZ["0JM1gOE9"f𦽒Jשo5} Y\2&3l =p/xI~%`j4'DD@z} b4/Kaݒsb-+;^ FN<ޜ-lm6YI`~x0?ɯ lt`endstream endobj 301 0 obj << /Filter /FlateDecode /Length 6293 >> stream x\Yod7vB^p]s_30ғx: jْG =琼!/Y*Y2+׳|gM|/VbuqwV'>ᯫo@k7NOJ?IWVKzs}Fpi7lRחIכr\s0f[C>[^_E蠽VNj7tB\𛳓޼d_m1;N:جp4 ~s>ϊ1&>3oֱފif㒠j=mJ1~}NDZݞxevIw؄M9?, R8NXX8֭o1zw8z7̍34bo7[_G9 7pTyo]o7(˽ + G8 !Ņ\-f I?qۺS i;R q=aj WK'͜ :#:Rx$2R7<$TSHev"S6PMLpwB $E\gȮ:EWr9iłoWqia5xiΛ1mZBFHt{yFbopFsH93,^'{|+5yHETט@p`#;נa2f"䟊"Fx=<Xy#= qS3F#^S3fIRyG~4ydE?-FAO+\r '>Ƒ;C=9.ʓ308QDQ '!)6m"z%J"+p(ݶæ  ŝwdjz2g-Y51j"z3{ 8'Q${EʈgL<3a40aXYuwqJ8Qc5DfI"W"E9'B\&Bg&M .K \2ONFK@7t^#uxGF]:70#i2@K@کy[Aj|ء+L9. bL#[p%ߕ}i.WLKR5n8k)^8NuTOYV(kAǙRk&L0 "zO+hΪ TͬfK,xȼ U끩%F @b ,U0K \i`S5 Q<0Kn#FS,H3˜Ĭc]mL%=8wo`=69wee'wB7TTH%쇠j8{Ԃy fmI8+#19'kC1[@~mij)|/ڏt zo3N3 [X8!m΅+}ȡQMIeDŸjOlkzQ#h[P;j+k,"*[ Vn׀\NcHp@!{ G6||WJsXћ “aW6%27μM1I &)+%@b .`{,Ww g)]c6,㡮8]%A"x)3 ShM̋Qq'g os¼ 1e;W;JH;':~25(* WTqvO|,-HMl~BƻJ~+: i?}04͆D[GFLfnMtxyzqF˥\ *gE;j\22h%UīQ@ہG]pɸKȎM|(GphwIZvo*FYeR5%~rlW xPDɮS3IXwr(nq ?g7nVO5`ssՉv;lW/t"k1jIyj֤*ͻ'YwM2|>G>;d(IJOi bf.],"*Tϯ$ b[ 7=XArѯ,1KJ.\O3iy'L3M\;@jUm*xO4~,7{;|} 46C,$lX{ ΔBΔє̙ŔThM;AL e} P G*p5CtVx0yx9xHxL7,=oboT$GS0]v?`cB!vGgFt1~}FH0Sܫx|zL}^ K؍SM~'|sL: t|@K DMb9԰caʎ$wP7d__- gBtuϑP)Z"D3jW| Y򀯆f~qF#Jwqn|{_ֿ'bU28<@HbWn q'i/j4~ap@JmlAD@TDPgCģph"kFv#! a`;[r)nd0qqB^lߩXF V## kf4^0׿ o߿/(V3zf>C9ZP8]Q.T]7<^Pg`S˴K8<:K. w\ɞ>%>-WdrBv\~Y[",>M\'/)IJ,M~+&\;, I69.l֯zKГ^$˃L(~#2 ("280I5QhD8Qͻ8\pFQI#o~F H@ٰotӱGn&N`Eҷzf RpE4~NgOzI fRYwJ9C?/IUtucR4G*y[bxf-eiu $;^&e;OȏW*W)fI|}i&k\Tץ+M@$$4Hs@pNL(0OUwe酘H_a+45A)K"A/0WoN~G9TP n@дjm-a>P2^yU: &cCZfn(aHF"E%tʛ3":c!0Q:i|W1hFi]Z4;z'ёNNJL0:`k%Q4LT$bJq<k.X%0I#pQk`()J/m[K4 Ѐeܙ%<%Y3B^{q?.a#\qVHs@,ܬawt8}L $,^ҩ)އoG@NHs6ȉt``K /ܚqUqS+fW /VS! Z+nج f7!k0&.M4iUIŰAԩ(٤aphp),Uނy:M)1D].&Uɭ>h>4hT05%&>G>L Taqn^OK|ʔsdNH0.m &9?~sZϸr2DX.?{p%pC}}|MzW8iua,5(77Ox9⍎3_&%h_b'HSTa$s!+ZcX}GƠ>VN4)ʚMʊ$+~H.1"B t ‡|}r- 0C7X UQ?Mt{7\Z6rCVy,[1UR_La7oIREآ>gghivV3fq]Fo³ 6 L9 ,HE֖89J Kv d˰6ĜrVKG8{G3RQ]NE<;DReƫ,ZdPn֠d(!ha ­Kz;8!N\[_W.d?V-~!댖*6><]tT;?y&!Is 6b<Dl-𵽳!KG(&yQ"Lt&cQ,(B6iɵ3T#1:7zd%/;0lg<~ﱮKq * k:Cn K%7ؖ(MNrS9*B6^KA8}Wu0_q֑LT.:RcP%zz_/O±4SF`1շ/2]]q,1*kŷiɇ&:hr8Z*[}aX/ńN29<TM9R -\s,5xs3muv5ޮeBuH$b×o^N.&K ϲ!nXMkT|]?]?}ltd"[&v{[&a9I yPФ~֙*F֥H bo*T$ m;׃,$\}nS$r` :S (9IJd^y>GoI`ZDV!bcF+4X4 UoQ]-rF'4T\9DדĠ$FŦxX%{ w@,$꼉n;b$d389,tPy'@e]7F,;p=.}[Z Ը% =K-͆QW SxtUa:;8vL%fk<Პ3X[:Xjmi%x}`&@> stream x][7v~ tH؅,v53ɒ"9U<ꞛ t۹}BO}N{_'ӫIzuӉ=wΰ/]:={}~N:wѸӳ'> ?W^qvjqsՏau@;F>h[Y>6C@ ήnpFxc뻡lp:C]{Xo18[z7 f&׽ZAve-viklk(FuNCq?a<^\tafL~}f/X[m :Zx2bG!R: =f$Ƹ. C"0`-l4K󂚾qSmi&iߕuzWn?aUp!D٩ci~3'7yYҼ(ͮO-ñ[CF`w|\l=o^#S)9OV]R5X!So nӈt_]i4oJ4yQ5Txw-\QAD? I?mt|<GC"`Q 4Y2ԟJsi~ߦ#I,1:E{2:_Ct!Muistg_ODJ`)GĨy5"0 йd2;׬Uaެy@R]00FL053C ^:`{~Vb"$(!^ŜlpD5<:0 vc4`Eb!'E!% j mMGq鼞kuDz}W`MER.P2UQ|%qakzH,NrNb|(I,R/SğEt?a Ld$i"WB;@ isKfo˯˘|S_`A5lǡ#9ش_eV_̗;;:`w@-r`E2z`a!E)讳4.jǛ-&Up8x߭7Jk2iiNk7R~/Zyzq&JӍ*2(>ѣDU-h` N2,>,H^.$9t#0VҚ{5DXo@AM fl]:?z+$]\ h ̆& Li2_]i^zW3`{1 (pȼA\ԪRn@c5=ץ9gnX2FYXn8\t& ,q|<0)=/E^d&6aqO_n k$n"sbXT7c Lj;Q!A (,ƜڌFro ZW.AHC2^ 78&gZ \Nr"桑w=L J I Eғ H(-:;a/ܠ5[>~mrTܹ֞[r8ܧ B UY)#cAiw4+1/ҝGLX5R ϣq2} ˨WXVpxr1=T#Iion"S.퇙G1ZWBOp.M#pDHNWjˑHJ C&~fJ2@p0SܲZdV$ɓjCB80pj&@פ|hBdؗܡς8ه <1hO4ILhǀT1rjFSj+< !SZy`r2gTͧCpHIMGÀm:+d'ݗݼ-.P(XQRdA@Iaf悒$wR7 khb"m=d>O/e K4~ܔr81PjbQL=@0! JW\v3[#$tVL?CujJf[N y #WJVS!ͨ>6SF=]ьѓWqIO/dZB`|NLN1@7*.N[Q^lB3 Qv0`݃ţ`dQb1/M>`#,-4惵oP]C>9Fz.EDj웦2nޗ&õwmVUD)є*U1,rœI4}ͧI}P33u1ai T6z2Dt1:V/_Lj÷i 'ci-KIv!rm.n5eZb@ʁaP6g ̈́mF_3l La Y]8`z < uƋ#S9ӒShJ1uf=nBr䪱0&-]sNa 05fc3%XP m!•{:L_3pj8X|dc8h 2B?zI/9#Wi1e֒U~<0M,UiiR.4i-r4c4_b%vo"Y Lg?H#^b$]ΘUs'h&``ڡ.D8hP|q*:Z4XQTGQglYYkPd{7HQ g fƄ#sueBx]$6m."]WdAܨ;R93ٱK+Ê+GfaUR K;^}>$\nDR4 ,]_D*2d#Om-:x;(IHaOoX/TbsG 9 z*bx]Vx<1EcrjRr(3 [6YJ?>2k`@t+`41^:2=Lb5K:U-y;fL ф̍]ګ o tgc gÞPX0!h.Ta">0.JFx{XN/LeŦ5C,6V৔F Ky^0>12nsj_ h1`atlS%C@x`䇋Y8'Ng-zyN&$sqTjޔ&e-Ak .X?6f@FSgvԟ_9$+!G>5;FHXH~2a bPUE2ldOl "b*n(O Ǚm#HZ '\+,$Rc fuOI 4Ym3sO<cɩ$H/wE.ac{ʨg.a"Sl{$*jy>ٵlL"pp VЏ<8e V HL՚)cnTzg"QV ? E*)Xb,ŬH!]]_IUx711d\[jl_ϫQCħT &c_-Ν_`7I} 8ķn^OE$i Ċ0 laqyD[˅K l;t6+#@Ӎ ާ8Z/]vpazR@=}#t6 ÂU@LYzj؈~ড(ʸq5A'Z~ckZ؉[Ƞ(%ӿ8p[x9A,0=ǭ{'Btjo^,>Ʋ,|{7qJ%līX:ORVELLΉ MӦ]ezXP38KաE?p?h,~n]cX*WA21 ^LGy: w$+ SPtEKduf؀b䫈HY*8_o7-JrEӁ*~QUSR0Rex>Q5dR(C,L ~LfySY ,};B$1ں>rIw€̃Q{{Km$m oU+*~JmC8)Į66>Vi dJiO c[fCi%.bd_O2Fcȳju-a "#c+6#US7TȘB$jU7OOjy~6kjr-,>(UNc-HSj[ˢ{Ko( fԕr @p0鎏_r@4{rsvi E^no87&d ʴU- VlP0x8ۨp'߆ GnxmR`@V+~ TŶeE&%[Oς\>%=b8%]ѱheGt2뗋LLvU!]z>NBK?fVƂNbNvC 7qݸ]ӯ_V/|$ʽA(G{0W+yC|yxTQǪ"myKm .YN80sZK|4eAK'Ń}KRҕt2\Wd$}u/͢q+Q'gMO!v[xK@ ZzeT}FɄgVxW vbE\ _),ۮ;ey0:#:U"":}EigzGXPADubpCE*Tx`\TR@a=Pe]fu(u~hi8_¥SꎏqzgN^/;=R'|+n`QIA>@K_]XAB> uYݑmkJWX<׹elgaItgk`+ߚU߱c75ZM󥔲$)dg ÎIPa5;֭ K=M#Ŧ${m8T,1V៮zή~@JgIJ*7|d(q` _ú1Yru`y6u7>nZV̹Ysr)#L,-ve,t?h>ɟ}}_1\H-Kendstream endobj 303 0 obj << /Filter /FlateDecode /Length 4554 >> stream x[mo$n8n~9H%))6&k>SU3]=Y kk/ ˅WG}gb$GI"sz1PxO(\WBk>j8:t\OK锍%,څjZZ"%#cCݖރ+"1z8=u9cʪ)쨋㟏z|-T,~ =3xfRXЋ-\4~+}P -mo#Њun 3hx <$  ,RՐYPINaf/6gf؝9pʆ CxaНnR^sJ*KHi+AJOa;FQzX{(BX) 2ztOiȮ6뻯\ ڤXbޕR3UPFD@ZwYBߞngY@5geZr$d,%: aVND Ջbb 6J݋ؤ'؁D=ML} "eAB "(kC^ DKR)P[JY#M!N"(WIu>#35$&ܗsRCSe!%![U^\T=XT*c-BXpU7-j~K%\{ Յk" ""mlwK}.yo J<*@%F!~*dXa:BtV5t;ZE-k6)E@"D  E2@&B@ $C43p.`u-0>LD$%IZs%$9-4iv-*nED鮫#NcN+QHLv2Yq))۪踣R"iͤd 6 Z΂Y,I@`|!1u#PcdGMx OCH$KVu賲|KK[*8WG4[`h2@)M/P7VdB?AurϬI1u $ 9E^ܡ)k[*Ȩ@[i[e8J}E"Y`?"wI&Ҁ*JfωrvCFPjW*%'K;5P8Po~_6F3c}Lfd['im=Tޑߦ 띷sp7]07U{bKvHHq3_ܕ%# i0==i=pAku @199溑3 NSviw> g=ֵlL3I4TXfVCS)l,CۀdNJ4u{L3!Uȳ̱dF0M}zM:Gs 䂜u2.#]0v]eyVo?( ,NnA*]S+ 7ey^wM}b; pAp\9kO~#PQʨ͌!QZa5dx0UE@F*5ij`VW)nppɌ 1YffWjni4(t3-sl^}%4ZE4G=|zN%GH \%=uDB+`K-fk W4N OoG]'<-c-7.ǷEt^!$0Ge[YCf)ɊGZRQѩ:Qly_<`. xͧ406I =g6Y_d&ӌN3 rݳpV^-Li³u@#:(F#v\3c҆F6mPZخycgZjH0e}R]Mi݁=e,|N 3ΞToSB_PkH :W'2*RjeUj.l+ J&C_fu>2zwuyid;,%~"(G9C5ԡKbP[q(FĶ1 r3QVhGXM3^M1(feF8TVO:Y%19H\k!tl/}FݎB~T3=hu)8\<{` -lj+na6i"hdY%3xAY_#=o?8 k~6Etn-Fg~W@+@\gz%^llO&}.ẫVޢ0<x,45RV3rR:a|*sv0b39>=gJUh`,RGEH(*_l0@8R"X$ZFf!s(5m0H|@9{b.x8 4χ#RLrpǩf MFFdjZ S!ymƝuuZR7Z|(>;iH$2xⓜ%B4Wll|Rܞ)]9P &{X L$X q k3YՐ6m"N"Ϸ'G ԍX!Os^XQI2?C+ד\*QΧrSGEІ+t$aD˻˲M˖ge'SeR34K! KpXuYʒ\fRڲä<)˧񡲿*B$4=dweyS|){%{6_ 6dsei&+͡ iDL*38z#Vs[C㽮J|BlyL|nE52"']~ Gbyy봆[G_]0|>DԳ9^6og&_$i9/VPNe0u4KBWl ٱrrwF 2`-7&4^raF8X8o8| *[iפ1*'%ɟ,lhfQ}1|Ja=V5)R{Pnjdh48ZrCmŌ:˚azL+|$hޘzYZ,Փ9UK0+]Yyag&[3=b6tF[u6ۡ&"݌ktN2M<,bzܪ7-giv\LےPYl\~y+R5i?/yS  `KF۾yF ;Aqd |oA%AK1*v84^x?Q5yE@bjD惞fj. $ٻ&ƀX6Qid y&TLe D :<3!ciam#R4@>jZZT7ʨJ8GNJ$.=Tj `jD W_2oMa Ty*~2CPUYNdCy ܵ= apOU RUaa1] 1 y- S:[a +_KXйG|Thw`З_d4N*jR b}к0օ<`_0O_y>\rl6\n<&x诳mw"MKtZrJu= uC{QI[|ߋRR?6v?LsQ욆7Ki"-k&~mY |4qx8.5Zh6`2Vjp aM+U)Eym'6S,5.sZ#y쎍f[ %^N]},FM{%]`$FNZʱfeDEMOO_endstream endobj 304 0 obj << /Filter /FlateDecode /Length 6964 >> stream x\Yq~GLE upZ,[r8$1If)*,vÂ5h<c}/4kmZ=54X5O~5[`M5КE66 }C_Mk֌m ns/G8ɧdm[3U5;_<{o*MmMAM[mսl.d8l8AӚ5]k'`hM';LH-}3q/:Llʊ`'mI:'6y;;s>S .(L2K7| LC, 4z.蟦4M^FbUxuɘ : =sڝY,/aY5&{ Sg҇%Oh?,ks ~O"]&/`M2lZ+M鱼@ -߮ۄRo>|0 N +QxrI,F[)OIvk*w6>'( @CcDjD{׼$W}7Dk-g_Z4Dw>]D,&~=pN7)ƨ<*JBS ʄt['ƚ _AˀSnk'-r@ɓAdU:ՀjOJN6U si  XjϪ\n7ON=&Gc Jɖgޙ&0%1Y%={RǦΎY[+M-~Ě);j **8qvƻSvqeY%oȜד#gmƟNPq5ܯo(G[M2ӈC?u૏nn"8if)eYڻ#Zef5KuS}RdJ@hG}muϮ_*HmvوToƾa{ՀEs%$dW^AKߣ)ՙh CA?ʑcH'Pd壟Q!@% GM-oЛ$U|(Mo /h 8tID)@$y)/$S >=XLsjsĄj|^ `3xƘ`m~=j=i_eN2PzX+.X$)2TanaV@0tvق%|5@-r [l`ٲn Ǧ*SĊ `XoH)[ǀk ~Vt|7 4^b/ xzk1+LJ 5s:H9(d d'3aqA#ݱE=j/Bc\V8('U8`9>V@)f*%k{"Qpٓ=pNΑ` }%]s{$bRs{fv_̀ x=c?-1 FOO?'οMB]Y2Nr l\@cRDi ב870qdǦo 0hskf3c04fGI &ZL@8ڐ<LpR£eJRu4!hqF}]*ٷ-ˣ{y@ғ_z'KFM:| UҸWZzP@E$Kc@GF`S>/΄gQs% w~} !܅Ap UWuZqk{;fpB4#c&LV"A v| ̷gCP(aYA@Ug l!Q\K18tc )q&~~Ƃ+f<"LhH C Soo$JdpEx-! } 'WIYGEXGD۳B ῼÏMKNFfc $ a'.,{b+m=wqv1:)3 t*s2q!I iޖy=η?pqbd*O  hIcn;fl^4xw)J,P{%Q]]m0_(}H s;yz(9pbPza^6Gڟ~yb-8E'l.T BIb(##]|rl=o=Vik*nD4_ƴ"pQK0ә6qg& Mwd{ܥImAg d&"IXx.-rp9ө;|'EX@ ]G`[[θ 38i*%cbQ3bE嚻WUJF2OCw6`'m3w]E[u(H PeJI$&[v5 OIrS ;)_:6l1lZj*"L$n 5|H|a, 2u)CxLG(*׈yOڡb$@Z+lBbj@v.|FܕcQ@I6ޡ;nD3G XPeN{5nAUzk9{?,0,![8X[.HrVe{6] >߶. 2gjR2|tn˞KڑPI IQLQ܅Ε?h10Q9x"GwOIzYASVD3Umʑp]]>@͉@;-:x c((WoK^*CPi"so6hg˻JqdcM7K%ᦢʚ-Q-~4py#!:Y)+K!P]=_ CXP-c*7Εت稒O@1w_Ehlhf6= i #%84 u~`K*WtplWH#5 k0nÖO)H <;XTU}Qt qMC7EVj-2KZV1,+F+'| XEL@NeKwR,QxYJ }lb;zLlV9!7-AyfX})zfdE?Yh&M;hw-UVFc3۵>$rCC=3P[IE}NU/ɛ5>np)XnyGU`kU}pz ;X}DZ3~}9p]c_J?lΩYKo+A U*.A{Ef9:NՎ x~l&RkPsGEs=owItIH{r@\Hi]DӒ?k5D5Ǒ}gV_6P_͔5_Ј:_c%8%˓tw(xV'g ?Ԁhpnmv3ߜ@MyS*\zf- {Ζk6VR!H{XY9}ݪWkN[MV~'Ќ:|VmhAg:]veo#XP#%x'Q[r)T\ >} wq|C.7ĥ*JM`j~:?)mP'34JN.Z_Մڄ#(VYxj/`)dxX:7=o#R 윦S(2BS! l M95F7;x†(+g,F_ HߍFvAB.zEY<%N;0u-K!^Q3ss3DψaYrVU^p4!P)[ѻQja]::Ĩ:Pf)U*: z۪ɵ 84"yi}/֔w ֒W!B 8ZMIh9^z鉝28D%{fc8:D ⫆ 9 m#,#zKZZC "6: 뼓.Qt05Ybzb<,&L} lO5iP\qTx98Pa .ΦG6 "U=ϕ~KwJL"^]*KE^1@}h3G!ɵH%i~ũK Dr\FNu3=Px~a+wDll.d|buW+ .T]I\.֔$~g{]C w|6 wϼp-4Q/!_zڄs  tW Z[S}[w6DEAE+}&qdmhDΏ昖[[7V  Vz(umǣ,L܁K8W D^ =s06gRD$St k]}5׳òBg:߹DƏ"խ!;F>D\O_8l pz_X8p>?uZ>PNESJJPUX{/jTgc{.Apk_xs`Q_*= )* iS4J:5|2bKLӠ{`2{,/ :8z N%5`+S:i\70˃ʊ2)G]aq۰Q(M41`/zA=Hx:HfA 1v>~p5|M$=] >q3˰d zAsoDj"*%❑ )K U/a60޷_`3z_h˩I~zu(˴ YAzx*'%#,.ÜQrh>_s[endstream endobj 305 0 obj << /Filter /FlateDecode /Length 198 >> stream x]M Obİm@ .z¨]t&`3] i2/X&5= >.f u$U{@sz) f29jIHØjS7CN.H#{bLu~Hp. ^\3jʨ Be} )[<Ԭ)AX04*Y|߿)"_Y|dpendstream endobj 306 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1047 >> stream xU{L[e{[iQn,08`ISB)w }^ZJ_|P嶥w- Ը!u44f1&wu|''s;'dE3%JQ[7s-,}jW#/}#>dğ\ m{`n~مjSuv9EʊWKK+*SȤjB"JJF )#QxXNQʒbJ_ѵQtQPrԓn8QS1$v;ZvQhH:=ve:B$SPۂ H ,:$+-DOyB˺yV3(>ɇ\ IOh30<=7w=5"ݍ\^ܯvЏե4A.\_!m#g}Pr fطg+֓j|pyh:Ch}S_̸0ؔbti>s:Ĩ-8 g7?~EmvRSWu]蛞ܾ09,7>~۩C2Y,cw*1:%& "~)G=8x9$XVXVq- R|, zU2D3 ΑO_}4NFc`jNI.n݆$_O`BkxQ? y "J?~ʝ*Ga-Ç!1I$N g~|ꗚ=&Y&q!k2<ǠKᵴ]ZDpOãr+9.O(Ź\Q 04VZ Q#T%;maNx5}fA|XDˋ+62.4qB.䎿&7z{?<# VZ浟@~$ñeqpmx) n񂩑b }k<H|Ai9LGvLaij#\ 53xNlfT @&endstream endobj 307 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 671 >> stream x%PKLQ}c?T,EMj 0EC 馂vE1Lm6MXDWԥƵqI޴Arsr﹋sνPh:0SMtÝgn PzfI?@aL4US0xԋ_k> ? #<)dBxaY#|>Ӌ^ƃ!$=KN#o>?Lw/0Ð4HO4@S.ru X@l, vQoH*$V%<&"C"EΊ&{K$` 9A(,hB)b, ͥ\(tᗗ9΢SBF X`غVAՀ6kBN2փ5?kzV[ ͧ"EIG1EJ0W^*i˿!v)ťTbAYn@x) CD~-kWۛӆST}Fs}kl(coHz ơ9 c{uԒ-抖lfX!M8ySYqU60 ]/DhlZزպuҪ>(?+h,eendstream endobj 308 0 obj << /Filter /FlateDecode /Length 196 >> stream x] w7@Xb6M@8 HP}~~n=¢^Qc.{P@G#eEUAU7dؓ"< t(Dg ;L @,EiMXSgWGDnI誈\${I%<=p[ B,_E/Neendstream endobj 309 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1383 >> stream xS{LSgrWXwi !#>`SARPh S@{Rtb {gGYR2JmW@\6QfE#&k8j0j31{ <ڇ  U{zT4ՠ2pD}^qn?3 ?7])h2ɘS{fq삽Z34J>X}G&qupH"v^HiURѨԀ2Z49\:- OrsjrD1Z+Zu4!r:$1jj\6JhTͤw'2֢ Qrooh>"~)]_?)q7 ˼6E m%ͨ3NIQb4]İۨ_vLW26JEt01%f h"Aq*.o49][&d񴪏JVboHO*isfZ;M`U܀82,;6֫ѐu4~3hJk+Kd Y޷AZd*]X~!ثVjuX5Rvj$KgTW|$*i4BVRB6-r;('縤&rom!Ë*̔ƝҸ*ZmfjNkx\ye1:ݜk[mݶ?tW?ŐkhB~g}˟dy3 04(rZK+Zcv' Npw8!M)y <~_s=r_ACX Os&k`=@ƽ BDC}מE$I<(77 6?{o*CdXqiIM#/9JQ"%[<N TV7ߤ$K>pp4T *'*}[` a Dendstream endobj 310 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 871 >> stream xOekcGYYjFshF2VXD\Q6*fJ{p-C aPln:-b67dDc2wx?`&O7ILlWC㳙L{Ҟ0ifBw`Y+f`.S;m% )uI@{GKUZfw=-+Rs(w N,kp,m%!.{F1(BbpPꐅ>QȄ,wb@hZ@BsW<)T##`CYhmP3WMӚb?VӔW|@7(wHpc}G?t,^fa"96ԙ9ėض_o_H7pXü}c Mq)mOT}J-^2Mz} Oz;\vťgIdQd>؄ uNFA>FJ6ד`$^o9ODrQJ% šraVUjʪ]_P?Skw.߄_-x5b#+Ϯ7ʅ%>CryOD 'h%;y>8 rkeɬKxݞJùsABAӐ\ⱧN8ް7LfU[P?OS86l|ϽZБYnZ6ƙV%<^:|aaʄ\),;ɨ9wr9YUiv;"CJTendstream endobj 311 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 386 >> stream xwCMR6/JB@"͹  b_\mqCopyright (c) 1997, 2009 American Mathematical Society (), with Reserved Font Name CMR6.CMR6Computer ModerndE7_?dєZ__ZU '&ǿM6E8x{wZOJxb_ilJ_zxvCoa  7 ޜ ( endstream endobj 312 0 obj << /Filter /FlateDecode /Length 184 >> stream x]A E@i.6uӅƨа(.@1.?Ͻ e 5鈳_# pTj G&.*<_i*@髚kq*Ofq 0*7"i91_fOeFJH.eA$yPJM)1[Z%vNk~7>dM7p]kendstream endobj 313 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 455 >> stream x=jQbc*YhU%шďbt1H磓;mK\$FS) ih& qمo (ܹ&i.q0!\,^=Nj4(-%ވxMݾ-T  s|kS|}clU/EpUJ,WeU͓[&uftjjlTHٮm:cεEsYj!@|dV;=ͤhċxdPZM8aRP =)}@㧱Q3)s??Ŭ$s? k0@'_!ӡ QcՔj^AG'!.RtW̥x(LʛyK<^~?ĻzO|2?k(b94a]؅a`"Y}/n6 'n"1YFendstream endobj 314 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6157 >> stream xX xSUھ!rYdӋ-˽ePdE@AZo4i4ޤٺ- (4 TT\g\)34果-~wD^@ pO3!FF QĠB0wȘr``B(J s$'w?3fN:ys1 2ĩbV&$e&2beNMʗ<9;%??g֤IEEEq yqOM)JOY$.LJY*!3)枩qXS$Y$"b sr/-XVXPkdJi⪤{S֦K[!#sTcfs>&nzGIKb52b K# SFb##L!oyK;[~~h#[99𙁷\7dݐsC ~t'h߰>N?n}بexGF72mdKF;*awԟan W#n 9mhһ" =wHY.Hn6m{[@6{N'BRҳ?5}-y Eù>wHE3eJ'A)BdPx>(.Az'BzV>M@&ǫ&;mvfa6_6c=wj >kYjcQÆl5wn[؍p JXD|sT*QN[@ph(W|[|Fa +An~^Y^z A`"곥Ap c@;W?xcNP+O+jr3+IJ5(:umBqh4Z6! "cn?KU 5lNfjk؉סfVa*7Y|"pw\uӀ/ {ϿP+>-UaNAfV|7Z?)ϹZ2 dfEr ,^ #/&BL&^ܫBD&jJdj!PxZ-(] 2AKk#%u'D>"FאHq").o]8eFe=fÏD{#l"OPkA-S7Q'߼!Y9FCo$GuYuL@W| E]&Gxװzh֜o\c7/.>?{IJ2PzޱTv@pwP |ӚOM2(@& !*YO0uPY_ EFXe^z{wov^esiTsC6 صњT}IrQn@mJn X:J Qak5/,jH7ѓh.Em8$J)|gl29N۵? BN6gp>{G/El f_7 1xyF(<߷g`dơ摍P.#(& P|F#QTR̚ )9cB^BofCvZSzݵ8P+t ݧ.l2࢐;ۻh$B$Ŧ"XJ@N~()pg#=Fh\;6lP_),OCK>'30 =xC{5`rYk->`ͽ@:{nŚTY2$/1Gacd !ztۻS^BWn`Sc~e~w :U5⫳xL6q @Jѱ6?A :3S'%3:8_oW W_q_ 4޺ɂ}mGϜ 7m5WYzC}4-~77Oc͞!⎋#)w#hChrWM?_2n41CS8zCwwҐ+/.a0f6J\+k74n?|Y@}Aq )Nr5(Sjˁ<: T{e?*BU g~BW.'u,-n1ڙ6wF/ESŬiU͒YeJ> 2LK=e%Bl撹8{Sdl'-ڒgƚ4_)|o% 掓N3%fSME`sل{cnWenUhNo8 mNiWW7Դ`bwt|:U4^ɍ 3*!}L{Jk$eZZA98]%5ҚT2 InXo $Z&Z֊vCU[mNv=[؀5!(x \Gɜzt2ǎ} O09au9\xY[i_l !?Ǿ[~%6g`+vNw@9( mFU6dFb [*X;-C\?-9%553).gGGAf3:@ 8UW,}O ޢҴؓ $7blj< :G/1h/c)Z< V ʼnH ta`[Mfzj*Ȧ{ ̫$neuibf |L/Ks&~Vzt>X ^^ag3Pƞ|^6ה e 5s'@ _Yv0o0f߰iŝiN3fX\U~5]!}q k^쒎ԃ93 ZU^nǖ%ۘ];ngkJhxrAwPBRĬ$MO(_JUWykj%Jn[1%'tv&G$34w'D*SIĖ2XOT:*Tt&E\JLTI"_.whYBL#/Ҫ Voy1Yoܮp>qbj+30^]/؍tùkz!+l8:I61&>ULmV "4Tn$j\5RTހ?C;sӓ +da"M-6M62ii17DcEhrǼ& Yĭ8-+!7;㯆5h(F hIj[6'ګqNf_eS:0_kJoL/y6[~\;y:0> $!!E[CLU6qJƏ4K_ڂUbcFveئҗz\Mqpc9ۤa2Mq&Lw:Uq>isN7޻;`Bn{UBZ12 52c7x]tPu] ޝATVr p^O"O߅Lޒ} c&endstream endobj 315 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2607 >> stream xiTSgo6mi+bh("`Ba dOn5 TZkv=gj;33ޛan:t>$}ŧN_2'>cưr7xxӞĞDHCBlԄ?OAmQ#ǓRe24'W)w8e_ϙ={B7sxu2WR7J%2J䒒YEd3_H"B%+ۯeHΚHȋx,KO엥ʗ*ˊ3fIdH 9b xXGL'6Fb&XL,!e "rjD+o)3? v8.Y0Mp>~KIr/yn=e>4Z# 2ljVXa~LդPNj`@S ϻ|یt]]-4}OJϵU嫭"Jh }+UL!5`1I|GwBN\"; p:xlM ~#'`k8|Su"*ۅf:<:0W[-fJ'lR tg=w#;rv,C};A ZUFiv`H}-l!'82d.5b)'[Po0JhTbj@'t1M6BYq!4zla*sSx(BI+ &Zw2'(EP+˅Cn%{)~$]GjD5v7y30?ċ*v^-XLX(ї4=L q`s@}#ꮐd'%: :)l 9-Tɢ@!l^ DQJIA)@mk6dFC95YP74 g8]Q?l 6Ldgk[ї5p%բaMzwP !4VT5FsvJ7gSьFl{xA9z1$ sLIK5{N='&ed˜v.$>YҴGɝ9n";n Uy.*qC75ss7,y¯{p)Ƶ]14*tpJ<!o Rv<)46 ј+8x]ݍ@Ua'?ϲBO}fwLt.d39 {Nt0 #X# ;AydP`zAn^=Tn7~A2/ܶZNdʹ|a:1r՞*^>|eLܝ@ u!tvj!@):mhEoipPΎ>g*Rh U9U[ L-:y7peR޺sPCN@ݪ4R%oʀ,6"A g',ϐZ:,sx 681t iC ~pͼu@nbNuMG莋C#ǀ*G^Дkt^2tYu7zhg@x䑐L*oB7:U( Co9cH^8Lx7 ( eJTM?7V8gmx!޸:zȯ-O͘ƃx9 VF} 7|αfY$s59;ϩRQA B{^R'Jyq,Wati"Mf0Vw9:MJeپ~an{#&.-lR`yemH䳘Ixzu:ry Mdћ Ҁ }A' dIY(ϓ TWn(5Z/K[ȍ̍;Q\akqFjbtQ&H}C:G#|aW^VX!+殟@«]B}1T\7_”RQ]?IyvFJއg"]w9TSh,7qN@DYSt[ }l[ss(l5c]+7ڠ6?&ݍf )f& Ҹ~^6Ulٛ[8|!jr끄IOBA +`Aendstream endobj 316 0 obj << /Filter /FlateDecode /Length 159 >> stream x313R0P0U0S01C.=Cɹ\ &`A RN\ %E\@i.}0`ȥ 43KM V8qy(-> stream x]O10 @ ]ZUm?eB:gׁm_Xց$i, x> stream x31ӳP0P0T06P0P05WH1230!U`aS027i`9'O.}O_T.p .}*.}gC.}h\nn@n.P9?47XΎEAmGTa?ߠ pS! B)endstream endobj 319 0 obj << /Filter /FlateDecode /Length 160 >> stream x]O1 y@BvX%C1C2 tpw'y?\gG:ikD&X+@[L 7ޟ@fϓ8UkZBMĺ1R :EV,C\ H.I.` >l`_@Siendstream endobj 320 0 obj << /Filter /FlateDecode /Length 4882 >> stream x<ێ7vyݧ|A#/ۼ_8"8Qk mIifdYXs.a{.I٬Co_VjW +}3Ӌ#:=ˑ_Wϳ? 3۬^8O*Uq_ a} f %X5CvO aҦCNN8\gJE 09Q6x7C cN0 * [Nh7ZnxI?qPF=,qZ$U&)ǀ5- sT/pl`4|OPy؝W &Nau/p}^ -{Eoѵr6>F71r2)j$e7#i7oSL3sp.zpW@wc .4HqE}_u/U8tW:W!llz.?zj)1V\H\^C:{ѥƵD5ʕx2ymJ@y*{~"&]%u\GY!\^=wshsn>C!u_/B:~U;'^|U ~Ŧ$8DOyFCUl V/P.LhMP=? >7hlܺl'1xD&$@\`,=h톓WgK6w^i,\&2ߣmV`Pd+s6赘H~K)R1S\?Mvv2LP rlٜ+pmt2`}=AW2yr]΍q\LI5ŕgIIU|-1{.܎S2+te,| q5|E@D8hҁm56 '':VG#ȩ] b"#2̵4"џr96[!wYEc #k1=-%QbA|,A.t-Rc?3Ӵ!hjbva!v\B;UJaGr^)`AKJ V܈=@1Q .R8T^PdA67M)`k llKPJ&>i ޽YE#tی +!fi>x {9e 5h)(!:zҾBcK-n a wt m: p<"Ԙ2EPCڢV5ӺZVOgaSׄkp@&7WoѬBM-- mNݓ;O5)W>#c"m.pdACC1ïs@263נImcbr7B{R" g1aLΙR6J$ Ʉm!Ā5v2`6%({$;%d`haϩ9zTbc]oB(Ãk[w*[pcO"5+0{Ý &Ir9#szf[HqkQAiyr̫HivS+F)-ڽ{d8>#>rR va*RX2q#2b+m({ ڴzLEbĆ~9iқKkH1Xv͑٪j~o,$aLQb0l0޳=v*cE$-xV8z&ه!Թb3rg]Z3(/@N U.dnSp[-rݤi֣rP/W(Pl&a/nR!/5I75΢+3ȄK wJ C9Z{yEYzHp @q<0Nه a`Y=6Tn$aLqS/"SהemVXj&DCr˘T̩T}'a[άhjM&)Eo]f "iS!c> 9F('͌6ح|YB6⺨/qnQ>Ç'-?C=CbtZ/Pt4]tު;jߟR;tک:C_|mr: m5}VR=w1% .\PΚ:{_sϦiW ^a.5-wn&w BO]|v\ty~ht Mr=UIXNLWFo[O~: oBHu`>I&Q(Bl&fTRkw(b^dTUzv8EH01@li3/$ҞyNo9 g]iʩ#|gru0hM;VF`e"7W ˁ`\p*bч[p)҉}['b*8mB\Hɡ_ 3aS9m{!/yEX}JTm-IF>Vc DnVK݂xIo ki}42,a;oS88z=ni/HG[piI,h~JɰC47x:-5FvmA.},aåQngUԋ"/[o#29W 7f`SCs!QEzz7#ΥxwIښdV3F.OZg5oguOg$ J)W-07}BO١׵pUò\6A m)<n6S;itx(Hf߯\B5LLGtQu{" <"Uqs1N7Ց>38+'/i[k1k.dM kYBϕo[=`cO⿒">(2:\,:a b[Ty@3lN ! rTh=|l^0puPCJPS{,c>9}tЉɫP9㣫z7}Z|#ܛoԷnp2ī& R En<۾DHU&Ǡ腛~@6:8hnWk vKk`%yK7UDe- ":IbyЍDo\RGs5^4p& EW_ʡor;HXEsr}c(Eɇ͛qeJHVDS=o਻AITxSIIOSMI'2$#D~v /@.H)y&N>*:1:; >w=퀠< #8XҬM1(=a1Q`m9t :w0fvQɽ1戀H7 "p> stream x]m7r.K &iw/69!liGJ$=UfMX:#q{|)O=Ua#Fog.$v3wr%QD|z^}xǨ˫r϶b4)PTRh۝z @" O%#V>h^Qvuu ںgCUVN/_ ~{i;k؜1QGz8$ "oN=7PChCQ?I54Hs 4#&TFWr!auta\c? 4-!B[PA+,U4nt!4sYvїC0a-}RS!h[($vU@"IׅKk'>npDJO I2 g0fUdefUOoI\LLM# S'NԚ=?ykrq!dPVNˋ?^$sh7毴)`ta _/Sg6ʲv3 Ż$S#gIKD٧ `]\P, *:8PߵmtG9 )E)8ۈ(PѺQ#`0 *D7vffǪ_pi"i@Ӭ@ QL`~ %K70 &0"r4Veٗ_.IaqzDsQ#.pt$D 6H%e%d+aW,j5޲kd8aq[zH_Q!I3z'PBPJu KI uF -j#"I5aYNeL ec c%(`!X!)i{XMz&"һ>ƠW-PC!Ӌ\ͳ06-ijʂ1Ő1oZh+ܐ yZJ] '_){T>WGW@m~,c[9k,@<#` x"m~Mr?չ3Nb3M-Z.VEN&[7Zq1Xn(UIZ<`"7%&鳷G@"/V\_V`Tɯj,ϲ `3㈷4{E(HlۆC+AIE`AT!0 wWnxϴt7(/Ap[ 8-[5lLe=x )a =aK{kƗ\\1چ#lGg`|1!J(|8ɶa[MӹfTmeG*u!UCTTf|MS5TP gؚUc5j3 a=l;H#zD}v|ЅИyMҝ㐁qWv;31+%?@I&J"yL"AnnihvVș_ѯiP||A{'@NwpĘtI:`-|l'lmszmz  (tT=\S PeV;" q#5hYq3^9I*0, L!;p2NNdЉ@ML0 n?U0 `݉?ʒ?*ڥ)Nܦi*zcq}=*3=ڌx*c0z ?VB^JOPf`E7tBu wbOJFg%d(CykPj <W#כ uĭG ]Z7,; $O72K~o*-.>rD?9ȗ;Fyy/͌g3 *bAyy[8aNdqc6s,,;4Z'$gdP|TYG]~֤[7Atr L3<)"cEMzjkN5WL2<; m&#(r<>\Wsym^}dRcM$˕]%Y}͡Jp8cNۺD0@>"{5]W6Ѣ1ipeJvGsUEbv|;-{!S $GX aR}@̟ >Dj49 ̈GࠆeN2Mh7;I6<;x,GP7h7+ۡ:x$u̻,?Sg8Zmʉ$Xgޒ"B˰y'AWrm3;X]vJ3`[53}E9V(IU$ mWhLm9ɥM̠H㛹M{еd#t~ L(GMe/Q/圱qU]Y8e)SޚˎHe{T6FF>ԭ0<"Qi/or,1"1 l-~x׳|z=IgZ&"nG=]ޝcq~wqBsw_ӨJ _ K\}ʔDox~t3UN,%btq,U%=\|?ℓSbPVYLtxlXim ϤOack(Qt6O9W9$t1^UO۰B8@#+W tBwgD[^Bua6M C7eI8Nl޸SǩFnާ~$^sUg4_efʤfyrq} S {\Gl7j񁾑 w1(8>;26!ab.&Ao$J8\,OVt%RF,VP;cEh̑]ŜĜڍ0t; ٮ>%ɤ_Kw.LX8c˧)Ob–D,^}J,nea%!"E_ #ItS 'LzxA~̹ G21g@I.^ýiqd9 H?3,ĔwB YJJt".+62^OHE8 #ʌ|R(B$#s$79eZt+  /5^zr*u(1Vi$xLy}I8Iˎ~H"͓cP G/k8k-ч!Y\ч/wMJ Qۣ\P;YJ-x| ?]lH2IɒLK,1ܬ)ٽ4땒aQ3B:ҀUBS\o2syF  6 `|]鈗Yh*,4䩸6m.NQ*]#t[0ΞQܩG.D4UA.ʝGH O3⌬X oBGpP=v?9Ok7ŧG7&Qh`%)xz}MjJ<+m2v'K{*c(!2_9= * WPݻ%rcj' b* Vd=i f !7i"P`3}u ;V~h,`8fgXJe96S1vcMK_.=!\UPI%vɩajzFYS˰%Kޏ6r fQ@_e)d'y>KvKKKYKc.!2f)cOxHeJw\%PR8?ݒ tݸгnWW^&MgQ[gU&"Z_(|/A0.Gh65P;[fЊ}1`Ih7ZMӒJQ9"@m_e>Y\se.?OӷxWȺ`k<xtO83jaOI_`VŮ}07;{ٜ\.W<:5k8;4uwnxoi8Z(O6 LBYʟ⃦~N2zUxy\ůRy7R|uꎵlV`͌H;0s4fiK~m.k.vmnfߴg`5tReM98kK rfJif %{_^]~ࣃ/{L{`a͆YwKrh ̄v[3iʇ)j[&AܮGm9'*i&ugx98 02PMLů"7&LR3[$E>S䠷3[?A" sjxɟ /<~GmYb VkBz"_9sN}ŬYM)SNj065<ԑ⁜n9kn0}R^ZN,]sg-$@qY`|2`8>zrvY'Xi @tc=5i%~Dn'B((:֌B)o^%.KPffx fw#{ cQGr]WQrmv/hqQ2_vc>𸋬I0_*w*aff8o0h>L&IL x$| ?kC38/KGGK /Le'm -o=S5}9 F]!%wʾ_D^KUav`,Ə r cvn ?3SS$[n; ^O_)e}> stream x\[sdq~g#{VRk_vRRHCT~t *a B r!__wG2(^/zx-CQ.GB8h!j8>ztoVb0)@*) Zk=hiZ#Bx;C!Uz~W{Ga_oǿXΪjp >>;ZJ:oc>kcbno?V[T1:cbb"¬ZR)o$FL!+ @kU~1~5ޔDn}i_wD9}C![ZaCDc%_?Dm*y],`MTYeԤJ%F|UᶻZZ/!"KZ9J߲odK)Uc>vNHL9 ˣeG۩~5U0XИȿ9GkڤQ# +pJ Aa+(!4XryAq4&vY-:r]51 gyl c#0kw aFl\DL^tJר O|ߤG. 2 H <A`x:(24kLK[S$\ KH|hcf v |}U?aѰA'(PvrΟz eYo\OBC÷.cL3HwCY;y0 Η3L'Zap*,e-Vm09| +~E;y?}1UqPb;j2&vCM\HBb/QPB..TYqNKlF'ᴧ }pshrPI?PX18myM .eS(ZY$fZ# dTLi/piIƙ&bE6rJ|lxƪӽ`!ّ|%-<i 58:0\<^aiU쬱3 Xڀ}m\y6^Ф9n9fip6 !Cތja 7Y &taKAQ<n%]2M*xby5IL\yNZm}ΈJmTr u= 2?X+{CIq&f;F蚖܁'+T߳쇕n{ U''mB**;(Bw&0A6 `r(U-&g<&A6\"k~l"ihF[sQndSrZPzRm1 @uTf& +Be-`_Cv#bgÁȍP|O_;,D]  p!}tUt3/])ѻ=I]V K'd҉uf3ƪ!0Ӫx(E SӦ$ Ec'1Gi( ]Sc&CYA-Di ZcZG&r2N,SX*ZU7 PmUO/<_uv|M^NlQ^I6;uɽ{^To)u'/GJѻ"M]ymeW+v;ŎUa*~ҪO]qzK$9vwh7@VMȒ'Jy8<Fc1R0x!bA"V%K"o ,-H:b~%LR{ϼ>(:-{ `Xx2#5VN ^èɿ klƅEk_eF'Sj:Rl̀ "o b38=Z^,!3<&`GL^={̛$(ifN*NiyoSl޵[pF4-6 j&(M)m<:sk;r76Aκ cj<zmZ0Wl5Up *IjАlם\Qb&ᐆ;RVz=%@9WO|L0=q5#W>+9y a]udXp:Q$MCҜ1\U2)6mZKUaC$'K] :WޟU?;] HW z(; pI Z3) %g*.+~q!,=BՍ䀙K3bREOD+AS`#czo諼~>qo*V_afXM{MĖ Ɔf~X |XzѽDEj 2z҅/0'c_ǚv_xk, ObE佢`GO 2+ߔ`,7=`Sf(dn 0s^מL_9(5_Ks]\Lҙt9ƵB*ujXVb}7 }me)/˲Œ{d ƯpXapAZy $l5*9WIsbFS=cvC}b[<ly:5`=8/z YZyCo0ȏ 6utZ80miF|O]6N ·F`bpM X#^V~.(O"bA.vTՙKݛOSܱ8ΠruzAvP#h֕n$> V:z~U߸9_n|[x?vm=ZMW>"s%UXu k"N$H֗ >.^&V*ٻL']rEkjʤK fDܕ_;&nfﺬ7;Ϫ''%>gc9nQ˴hyN䎓1Ki'ȃ5-7'd+;eYO5Ey1xo|Hj…eNRH;Μ 'hĊtZ%PMD(,`XoLŘ1';inH6ayH}]4n7~60Nc>lDcOI $-KRWIITAG'e(>_dyZKӥQ9#qϒ|L=C# ?jdqҹ6|}==_n)6ap}.n`uoiavܤƷV?ᅋ5n|ed@[kTQh ?V8 >|>4D*J> stream xn]( z˞g%HAh&4ű$+$YMFo̐Kp%vw8}<_lr'OIu?sxaad"{S侷~ R~5w_Vtt VkkG~Atn8^A[7°VE7<τ" kb 6%fD0<} 21:LJH9cZ zZk s :[a'sbptE*dh JFj4>ޏm A%?@hnےS}hu#δy},-Ӕ;BNɵoCn@D]⩢H*QR+^ӽ1 * V\ k)B ϱppVCv6%~d =Bi[b,Ǩzm\ DB!0@GmS_hg8 UaY>y=nR49u afs8 ldށ=-;5|! N};labWiE JaOTHaƧD\2<t5m@/&/XlHu:FbOnܶLA:4 SջbvvOF1&Pe4ߜ=EÊ#li! sn?ș0԰ |t,* [nӖ9}gU*U3!&-gqC>8`dB$-0af]؄g2@Wqձ“ ^uA6<֠p:iǫR%pKG#x3KAǚO&%༙sSK*r%EoN'0 \6SjteDm:ٸ5@&K(ӜU8β|㞨+ǣV&{CG< h P1d2{݆vd Ux) 0\G 7PE2V2.vWXDRmղ|vB+729vK|F9aE 6,cvslĊvs;*zgRЃ#2N?E B=ٜ*[G[6 6K9WZ~N4*yɅ-ficG,˒h bMD j8W12XmT!YG7sC@)u=I% 1@" MO_}*Ϧ_+ @.Q?*x%Iw2j]~WAY+༂j?V0Ww<<T{]y?^(pəIv]Z*q:/nކ棽>H6 }{l.,cJ.֢V/qhq$^Z8~ȡtn }pɛT]nrnP>gT&J^Ԙ QP O!ɶ 5U ]ΞRx$_s5d"6kT憤?4OMB}Ul{EXsfxKdB*J$U8XYh*Y4-3R*دXPEsk]'rm^XHeL,3-b#oR??¬VL#Ѳՙ6R Yi* ?ia X&?]nÕ=q Q\9 >' UE V"l5[fRWsu2>&-utiUr%_% x_EhD& _ ߴSʫLNW:G8닃oҕ`W[k5ṅ| !NLoNj A{Ե:=ӇtF]&~0kŶ{VsRch8Rq1'i~2Mk5!s36hE}1^%6U7}jm4y 3iID\Ѿ2 X E W]7B~\uxóF\{:y;S_V𬂼Zv@Z w.Pc;-뎪C1HQqJBN+N0 ,۴1L`;_ivQ@B( %6cXCcT<,.1(۪K[nB̴㣻woQzwA?? >R ,FQqt'ud! Km! ⥞״7}~jD)]Cᰇ@XC'Umǘԑe,Xԏc:-u ]>~f9 9:6N8|t4:?ȺsAn!@f Y&l-m6 ƨbL M3]޴/Q0|2xG voLAuWyn;F[:zKNG.]$ j0͒ ҵ y\'mkqXsKk; lӥe]+\X"/+iPfNS3;2kĞ5 ~ ޡ\Jݟu=݅yv]Wmo*eK?Tb(Qqem˳nݞN>{.[k o&v!~AF0l{;jZ}OPlhN7 Nm3Mި^#n>9xJARo)q>08Sڪƌ}'X4TL}Xj!c$#/I˔b7yyBcMtKz gnJ^.=dIrggR=Ƅg]Y`Yѣ~L'0R3ٲ!+bi_@,)SY ;wQ:ƚ $VTx1 mG:ȺNdcI_v{Qzt7`QmzVO|T#HtmKy9XzaqnHpպ~ 2EP7iendstream endobj 324 0 obj << /Filter /FlateDecode /Length 161 >> stream x]O10 @b C 8QC_Bg|wYu`A>E0uŭ F,m1' ߔOK^{+x"VU b'h9w fh*q\C in X3 BSmendstream endobj 325 0 obj << /Filter /FlateDecode /Length 160 >> stream x]O1 y@B+uX%C1C2 tpw'y?\gG:ikD&X+@[L 7ޟ@fϓ8UkZBMĺ1R :EV,C\ H.I.` >l`_>Sgendstream endobj 326 0 obj << /Filter /FlateDecode /Length 2387 >> stream xZKo7t~9lE]{n"4@Ȓ F~bfzd+:._=HV\r.Obs'731?ybUa"լ|*Aνmv5R-V?CgBE`l9\,mmuҹx9fM Eh1)5u!@Y!Z&Z' \(4uޫfXj/|AXt ]%y]>* a B4C s w7W +(4/ll.Q:\l~I2F`9  i/L6Rn17y]jzdFyYZTN{l4bP&ITX[YR68Wa1:cbV]&C/DBx Ħ4 l5B!r2B/!C"4.E) aWrz4&H0O|le6(eB.!pTx\'#'[}m`ado3EЭѥbu!Q ̊^T+2 OKzEX:_ \tB93!SU냹.*)Rn1랓2I.c̀<) myZ-%/z5~S. uAat&TЪb`(;Eù. 3% 갖暿%aCY209*Nqu!2P-.@&O`|a%NZ_WK"d=o]0eO f,|[,X]R4]6]HPSfy o i'Vj`[;kë4uպDN4=r -͸u}YG< Y 4(7D@C~@aDe7U@0}HqJ%'IB`͑{!U Ft p}!؅N1a;dї)x6+z3§mשgw3ß^!FAx !J3Y~Kyi] ճ7 1o_u'2=ِ5Y% /:j+Vbz3bNĚ˪ YBNRˊ+j_q%{ҺԸyу w􈪊R5O/HD\;;ŅR#kv>5JPi{,1>6>JJXhY@OZg{~%cIJg@d|~Hendstream endobj 327 0 obj << /Filter /FlateDecode /Length 161 >> stream x]O10 @UuA,tahU@p' aKB,N>~l#GpƲ5 HeQ7-Yy!' dv~W3tΫzӴxO$ڪZc:AMq6?M%k17MR{;RA|@Siendstream endobj 328 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1066 >> stream x]LSwϡuѮL& pz2 D [,d8 *hR8--m(H|"Z &8 d5qbK]m.n^l\,?x1vqw{$1I9Eg>;+2DRH%m>'9B2 Ȥ$鵃f-BB\}VjtJhVY:Ֆk|QQCeZhS5FctٜlGGRi֨ Úr:O_kPiګ#Wk02,/gZ Z[C* QH|EJHVRN^Iِ|*Y:B7'1),;E0g;o@4[8aJ.R21vSFNgr q.aS~".: :j-}׻=\r,~|(2$cJ1 P& U7B dbm_ohTQi/UTߕ%/jBS[|n& !l WYWီ~|6o\DSXS@7Ьad/o?Baw v֦tkuVme5c(Z:{XL46urO]& W?XL-5c\P\+kWl {|SK(a;4xm* -6Uʅ93t$Rqp0:Qf tȡ;Dz6:(x &$K(B-w8/!* իZ9C/>vuP*ڠJ M5ᛛ8npZ޺1200XX2)'uZgY)¯hurЄTTm'v ;@atv+×{Ga$Ώ|Rv8p|?NQ8]ݽoŸKYơh(Qba6hO8y* > stream xVMo7!aTQ_COh PU. zeőDz[w\-){]E :艚y/-tߋMsrL{ol4:_Mr&W:cmm#٦Q'+x $~`v|P?MxkBr|2uŋ6)c֣Z'oխ< D1e3`;u#93@<']j;19mlj6L˩W#ZT] F08Ctu`D0L-6'GjQ።9eAIͷ%ER dQF}>.\ էC2^Kl_>=W1JeYpMf5&ѠhdZGqm{#:;/E,1ƨ0mI0 #,PZ{-·GOؘCif0$rJ6ܗAbSMl:=6\-$4ɑ9pN*%`u8G:N!6 w39Ťj .Xf#ovؘzwlyb#Gn !rARhyY*0Jλ.n<8r!e6Y;0h_!pҹB<%eI;E²G/T@=*T5G3$:>aU$1@8iJ3)18C)c3[?(CsYAKD>~,A*ϫd譥LL~(Re<|f4}EqGT1鲒~NwB~Xٲõ[P/eFEeM]tOwzᆯt8'%Ya*=?'%-iW|panYU}lT% d.]W. \x[`7{9)<k4K*ͿX^hzx; <-d.yvnGs7"G9P5? }&O-mҒendstream endobj 330 0 obj << /Type /XRef /Length 224 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 331 /ID [<670fcc572c395d29dba9c3ce520a6a7c>] >> stream xcb&F~0 $8J —A)є3Jr4o--if$ZL,2@ED* Rp TT } H2b Rb"HG0,X?)&"D:"YEx"@$Aiw`0) bsu_W`| "c@ y v2$`5s"`, endstream endobj startxref 161418 %%EOF sandwich/inst/doc/sandwich-CL.pdf0000644000175400001440000076702513136164262016603 0ustar zeileisusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4821 /Filter /FlateDecode /N 91 /First 763 >> stream x\[w6~?o]s'i8I6M;Em&Rί?@IlGrg^}÷7@)&f3Lie+XL X`R*J&U8Ť'SZZ&5J4L7Y.Jnj4=gP/B7GЎ2e )%5:̫"F㾒yKC wL+#AK@Ӗq*(@=R钕Ԟb, Ɓ ó4<6?Svx bi5=M]l0 U}`V`V{)xG !G]<\f;)iuw=NG7ϻY5F-[և4ÊMiUݬPݷ}X;fIud>G}ޗv4V gYͺ>P7SGps=W wU5Nʄv߱O콈a O&jғ`1Avn,kOkpw$TЕXM vRBXj N/Mߗ;rse_e2'S:hNU8iuMΈeI=h!:ՃGFق# XtTu|Jb":~=>n2lvx\6yc>߯뢬ڨ݌%AG &v;` ]^dʛxL?ެ_^"+fUT #RCWMHIYxZgeV^oxd<,KK^].}.C.Ƌ\{ܬܬ\i&OKܦHW>Zs+!""S%J6+V^l\v-GM\+ La*JHJ W,#:YYݼiJA HYNYL %id|66K6 4YS+6bS+6;%)HEKAl7 r3Fd!"]q6l d#6}yvكgwv{g|g6yIJ;C??'G?9_]G7; ꎿo*`Y<LSՌ瓓qq{2xWhН`O < S~U [7A([.Hjލs~N-ek9T툟?sS@ޟ8>WғTy'3~s h뮃/#xVM^!W醗~q|pxM'ڄMog8-\4g2^[bˊ:9^1T]1 o' YH2|Fz@޺ƬdRKԫ&IiJ obY.W1:s`зGzj#3Zxm{70cz oiU# :]E@ 3ғ䜊m2AX8?1mT59Z+ pF5EptaC2PS½E̲$__D1A2L(v"I &|+d2W*}fnt%h-#(hIy_r:.x$i] 邖 n$A"7 DqΖE QOqZ֖" (:4!.(*Q %-JV& ^$-K蝣u zE1w@$g 栞(x`viK!Cʥƙbpڝյtnrwc+-  [&- L @{xQ$h49S#wi~zp|S? lplrڮ;鷄wjn _ԃݸLีsn-r)Wtm=Z>{tQjktaQUN1eLt c!LkLkHȬ#O֩Cg?1"' Խ;GQ['>M0|]6&WA QZ/xv>+gJ=%S36Bŝ]MJ*n5|,K4|A[ƤL7N >wk@ٴpS~7$%"h(0[º@MVqy[ںw]V˔D;x okTgp]WP;M3vܣ ^*8Rp /oO|2nON>蒲^U8-!&O[jgRO&N 1T ڒ荋Pܪ^nnoj>ma]NIH@IPE}vFo$M Iśq'mnvHk}5d^{.Č?<{Ņ}"mdUą,WլC~7ӤŨKs)q}꒐WdT|JuR)륺uF~:b7Uǯ-}MAmjSM[oע}1ҙ7TuQԂ7FvXldܺŐ?RۊNdͩ^d0Xz/K%,^΋1&a*Wf9#:Ҙ+ٙ)؊^(m.QoJ!-UF9J7:[uJKGem6F\AѽQ @m,A]R$j"an@AÝv$Xo3xUʴM2A*})wK*, D1x-YOO:~vw+b("( l8[ \J[eT[qGky-b&6>|X#~'FC]@|h fHL8RL~|~۪1裌+.gԒ'J\аYb(w;C9mna0MZ( .Zڍl W2n"WGyc.*}{:=E۲X +Ubko?V8IxN\CcV ~*kPҪ5|0~p/~Cя:ؼc~|Eǚ~'cz=~g2a7(^^P:U]sS?ᮢ wE\hEО\TL@A\1#!?jN DzQK)vy˾h(֧t!Fɴ EI42_ִe4qka'}q&[ 2~mYli΍2פ^ꓓjZ 0hMZpNNoAP9dL^xǚ]|ɚx_ _—Nwe77oi12I|T>pendstream endobj 93 0 obj << /Subtype /XML /Type /Metadata /Length 1785 >> stream GPL Ghostscript 9.20 clustered data, clustered covariance matrix estimators, object orientation, simulation, R 2017-07-26T21:08:33+02:00 2017-07-26T21:08:33+02:00 LaTeX with hyperref package Various Versatile Variances: An Object-Oriented Implementation of Clustered Covariances in RSusanne Berger, Nathaniel Graham, Achim Zeileis endstream endobj 94 0 obj << /Type /ObjStm /Length 2551 /Filter /FlateDecode /N 91 /First 833 >> stream xśkoWcyb$t&Ej/^#$Br`)@GcXx2@3g\f\q&b25⊩x_?*$j| ]42.tɈxpو&UpPxW5Rxg$yx#!?`T<Qm=h0yW1Zigě  zQ 6 ZO4.C=z!L*&f-ԍ@IN$_xM֓L fЅbR.դT3x&!0D!#Ʌdi(F+TKpMthћbJj=jJJf("0Ja̱XH`<%C'9"&ZG4 %d⬇L4 4LSI8.cĉ'a3rZ%AyE;m*#Q^cpܒḁДJbRN>`h}mfsۚ7vYjoCocoSosoKo<˓.O<˓.O<.O<.O<.O./ty {yf@[)e-^ޯo@k-[(x f/aq|Zm 5/?]U[킗x@[jً7?4V_v8ߧX<>8cg}3vŮohoCocoSosoKo}VN<~J BϗU}۟/rz7Y]omv{qy-mj{uj0w]# p~ȉ`ӿ"ƶxjp o3 >W:Ȼ^~#&y^O}9ey^_=|^A-4aܭ~;QʠN䚅? 6ch>6yꊗg?q[89#1YjbxwG֛lmeM,22AAEp2$b YCjKIDlF9@dM变#X:L%Z'lPtC@63[F@c,z)}QLYԍ͹%xj2L}E:8$n-.Z|6Cy8Eku IK#rf_"րbtc}:[H>XYSP/X-n"@s0lLtʋ-PUla٩5۠sS!ey1bwqBU)l? igU@wT(NU.xԕlY ګ0AZLQyBHVF-}0=#CD`o6J`M枣Mi* BT+F5@,KB֘* PI9##kn\-?EPVW&HYP'6'R-o%Cc|C0N*f|U$T"fSP~gVPVwH̹aGq!?E1 zP\+*V\U%> _2K%T 9o cG2#(ůȍSY*pg*x5 Nd4p5|!vf~`=qz`"HҀpy zTE5]UV?t}4c#9T )F*^4e 3%CrO\7v4zLbi36/Ov:/P$TN}O0x0'6o&,8 ObS_(RSؔC4 uu 5Yjء ӒUb|3ғBK~TT_QdYt{W=߷>yTdPGL`:U!gM -sN}'#0.pwX~=ԉ貜B g2R!ING*?n6~hde2ҹ?98[S~s`JN%xdXG;'_0ۿ5C@sPYޚMs 9;%{Һ"aT :vϚt GB*VJ*~}T^j_Hc6lT,pʋPRחW e,_>endstream endobj 186 0 obj << /Type /ObjStm /Length 4469 /Filter /FlateDecode /N 91 /First 864 >> stream x\r}WcR)b_SqRX6e)"Na4l-ϖDs.=;G3򌥤r7zs76e(d X8 qMYH4N讦[P2Bpb e e}ĉ/Wt OB W(xCB[:*'A a *0Љ+v/5V((%baR&JB%Ua !h%Ma[8Kz.^ :- P"H"hj]"8Х*DOP]QEAhaT(( uki C- p4#/CC@/EZm!q5FXR8Ui-6ё. 0hÂA2h:8ve>C> QG 당당당h7̏<@-̏3a.?^>zgH%Ǘ:qmMo ݶjҌJz!薂_ܾmRۄ@v@چ.H! ઙ!3% lo>>;KzfC"1F=.wt `g?Z(CzʢtDduWC蜺k(2O@O{o+bi?s_s~_y}#~K~ů*~U)xƯ 8)G||Gըc>'|BWM{6%|RN%{^Wwʹ,yao{)?hC9! z5(X؈tW jPbԜ ay/5A0x?Ñ3+M9|]]Zu =*'K =z0_>[|^:𾟷cET%ᄶ'Ѱd6UpYBIb{Jw/\^#tG1XLLm:V.R sHތp *dWV“J&Qt<,ٲ$ &Ӑ-υ:[v0>=hcvڨfb>iՌgi2G,MxzK &2sH^c e7p 2d`gaR3L4n0&

nnnnnnnnn\eW_eReSx=\\ϵ-o~wC>YZZF S8g%o5|35=Ӎ;Pf?/:㎳~FMYۉw:wfٕ9ͳѷ *cFo .6!Z1G7۝ş=U.tEyM{_ˆ8ʉŒJPh,z~WbiQ*RuԷTI^Vd["B{U)ݔ:b]ZY4Aw J*R"n-7%YJݕHY]I ĮdRaWr)+uؖRY`ĻBLy >{QzYaQZ2,Te`ڤ,PB`\]D*q? QZIZ <C.} ~[#COF"V7wn|;?4)?(GoF@a|Y2ڳ񾡌?ՕnR%?e.ұzҫtܿ)ahyy'uOƃaHk]5b>QI0Zr*hrŁQ{D+o>A7Б;v5-˫^$׷eYs]O˚6ajX^ӪOƣ몹@Ɠ7.8gfH@Sa!d(2g(9 3q ނJ L ɪ+DBϽe_;n5E_$"QQ * A^dǷ=Z Q37?}ikӁ<I)/#]tldmL{VWa6诏hn%"9(q7?+ %ST ذ f6s=瑾@ZlrV3=i9h r" WR,9RE7?XL($ d%MQ,Y vvf},h\{_Ѧ ByLUP}!S>Mp,teEK/.=؆`\]U $b%_%fJ-jŴ6o-]"8IgPO /h*\endstream endobj 278 0 obj << /Type /ObjStm /Length 2910 /Filter /FlateDecode /N 91 /First 840 >> stream x[k_-P Nc6"ka-t ve =ÑkIXuKg|_L8I£75z0ⵠFBh$jF!IҞ)Fj{/|„,ڮx|] vEQH Dp v\! !ZMgΙ" bBq|ÛP Ϝh4U<\6i(p5j( W] &f&SI pZ#٤5IGI)-L*u2&<"e0٣ oPLrhWSa BF4xS%G|") TGGdBFAV15d^F^QD TS *R"7"9'XEv8%EzHW"߭F!@&JQ?Z$k%m `x,w'*(,7 wU.o Y7}&1ə H-HQS8K(K3{\^nͿZ*;s2y8~,XۑY<}?~~jf/_Iy={58~;KkFQhx ^07}:_[ڷ^-7l^>}_}irӻgiCz=$c܏_|~ݞ|=nw{ ^B琶^~S{=S{=S{=MߴM=bn/v{ۋ^b=~-k~Ma/^zRWJOt?Tnt{zP>?ϯoo:DƓ4O?b$cdͶ"YC1#Aso>{`|Xg8L@atՄT耢z,FSB.s 6zF|2Xps0hR莅 þ-5$'x>Pl@@*-zyJU >T^PNIKu(J*1ZCzDs69(e`[Ӡ 9X [bK'EB@x[ːWI!mMTUR)``H'Pc ZNmI,JOW-fU#lgu ¬39!l 28d 2nW6 6C_)$һ59K C_mGLN)USBZi ) 5 SbB@lF0*΄dL{A8V]'qzY=@[d:(f~&' 2Z!4.ꆔmV ThuL*8HO[ݫ&hn#Su^dYڗ"Tbz0c'L(T)p]5 |mClpPA`OjG{TEN1ՠ&YnAq>';O{-}@םtF (xg׀W}٠Bx"eIn+STt(xGs^#~~f\._ +\wpUa4J]Uxgw8]/g˼^˗ |~0ޭB.>xwrEs;GoEqq~ѯT#Y<@c ɖgǦ[<] :<~54 Qt4TeCPWNo8s0AB:n0͒ҸKAT%= ^YvgzI]" 'WO6?1!H=endstream endobj 370 0 obj << /Type /ObjStm /Length 2453 /Filter /FlateDecode /N 91 /First 833 >> stream x[n$}W (֕$`8/ X!qz1`W l>8H=H=;{rªSEJ*rn%jR瞈<.D-x'jZI\W%VqEpsĊx]K\k;;pR=ixs<Փ"x@:H<5ݒ3O%IDoI{zRW W+n,ģxXe,^&3x2-5Y8h:i JP*(Qrzt0%InW4yJpTK|*<~jAIlȔ8ʄ )9UV%UⰥkW >WxT 0*&R,"8' &5uWZ0~o UDBmT@,Uő:pC #|_aijpV 05MCx87@%gX p8h.94Mw|n~{{w1c8hIonGsslsc ܎4GQhs999}L7nw}˺!-:S2/S2L?9Otʩs鴧N{*ڡꯒ_:)M9mi|D\>CV.rٴMڴMڔr#^g/b}qqgl}Y'іrrS}>ѧ\|dܺ~~d7~ݾQqBۓ7E"k2Owݼ;[@Z#Il~ϿghhՐ,n H21uUHbHT5L"|~SwBkQ\S7$Pky2O!Qm(ّJUF˨ C܃E@(о(@P:(!2JD9{k;%l E`ðKo3?h1Na%? 0,0}:6%syT p g5O(.eeH,hdLP-W̚bN+VdK:ݥu<]fUCaqPRك2/w~\)uV&\J&.J櫘fNmcV3qPGʌ"(0+71 yhtjőԣ ##E?: GTx}%PD2>[,i^cW ]\RtE145K".4QAu5S.ꈧˢAUi\A)"|@>%@K3,DeQgqx±W%g̓y'ZN|_Z{OgQs MsBeQ,7R\r,❤<ڶivʊPT TgK+.?{&<)WJ4@ʘvl݌2&L1q/ 1 ?c9f/#JgK \ȍ{Lk:cub*QJ_WjفB$ Jd[d`G!}ULLp,P/o t tD-.bV-(vtl9Ԛ o\뱅_@hwDi@…tmA ʌF8HZ傆.+ޱL7Q1<+Ps̋]~-;Q À~q (8w wr:e6l &DB:N$ m)s}P _}CxHԷ}%P:ڮhBRxS*~]=yIqzm`i _T]3䗎*Vؕ۬Wnžۣؖ> stream x[ks_dɌG≝Rb'd:kr-H\r}b44;Zv{qpqq] zˬ(=SRLQLPILѕ ) f*)aH i/VpLGmt9U:Ѡ0Π9+Y i%Cbp3Ocŕ2@̢=E68KN;> xH! lg퟾ټYd,C[RRRRRRRT*T =UBOzS*t =]BOzӅ.t[z1p>kFSKC<Ǔt~ ~Po.9עUS7^T ڞY,F'6ߞ7USg ,7b>:/=aoAuM/j\n̋)0e[b _2NqZ>N>kӖqvRRRRRRRRvtZ~PB/z ^(B PB/zЋ^OOq(8dF ]IfT+LEdHun~<7䆴[zm{䞄mгo7ڿndIp]Ô"o}>,Bz۳ i'%XF:x,3Qg\$^WHE-ވKq+1sq-b)q#-މ[/Yr'$ɴXf;=8Oc5}d2'?TWG-.5'%$'30[⼩^f˹& kR$~){ya2K 87VɼA&su6V7Ăk8JN'9vݣ4CRnQ90RT8:¤M>Q*Fna:PFE04 M6A!%r8Qɥ>.Т@v m; &ĜvQzPp޴J%qo$&dP;m1{Nʁsp*Jj0!ѡ =2*K*Kڟ2v< MVC넣괂Ɋ ,8s|^=0.@E0.كj*|111`;| zGRNQȢF,O_/.:2IW7 uvƤ,uV|1@aoq1K?݁q>.ΘQTi;^8OO1]ܐAJlhxv7cR1i{ǤOBIő9?%s Koo*bG K;=t,9 4S\_fMˉbr@Wi]YY]!('t*bL{^@&\!t$:,^j%"}ĘY:o c\sAME=*Ȩ4Tu*Z!668%`e0)ǿݭtZ]+\c!:@ie3zT>~Twm. {T~o:2*K'AtrݡO39٢)%tDVG6``1G[(j_>,p:ŴpB z)e`CWrcΝݘ;iddĚ! sLH`b7dFS Uԧ():VMd_!PKxR*@%Eg*PRKKIA)%CeL_i/ ܣ `)3X:lI}Fy,p,ʏ =9.*M  ))jJ\| wVamt<R_nc&N)reP~:%cHzx|׃]^<0L&0m9etqV1vPE'OSvQ0![%ڰ?$c@mS(﹦{w~}~|:_lWnW2Xx6`%rf "b+QX4*aTFňSN6<ɵ=Ə܎*?VŜ}^b/l~>f ~V_L!g8Sf׮"Jja #jއ=o家k>Hڬ/T<xSȺ+,e5j9Lt\MD8WMH _]Ub,) v4q!.uԋ\Xz,IkY-5rR.~74'-R4y77fu&S/)7\kTҦRZ*'cIp&~: Nnk DTn\)0Xi>pC[MTqm[JI&t?ܱ64j(G@=L|o0j&Y{ϗMsW!޽{֋7M56Vqk%~\a Z4hqT/ZLu?.|a'Wpĭ9+I^Þm8AR41H0\;^s QlѦ [heS5j/F|TB)ɭR?Q-hZ (xR.}M#^ lLIHJޢo\Ťzӆ1'`!ox>ŅPCRh:ʟ(IcoL-MʈÊendstream endobj 554 0 obj << /Type /ObjStm /Length 2745 /Filter /FlateDecode /N 88 /First 788 >> stream xZrF}߯Gù_R8MmdKXS -;{Hb@Ҕ"0etL0kFrt8Ff5;8J#"ਙäxY&tSJ kr1D*.R'\լI/|r}b?ZΛu/Pzq3 qI6E>gY &ӈqakS~l~ )?=3^[= UF9pD6ǐ\d{?̂' 朽yo,.jpɿy]6}Vez rLқ-# (FfIR+sTx+DSC~Ζ]^yVkXikLp! mrEI= }˳?֐=<$E=&`qhHaB©}I;B冶(rh (#"Fo@%4ejpeS\. cDXPc~gT.MLOWgk5X\Sk\ Of[>7,L$n?s<}!ml%U(:@hvڠ-C&jm]tU1ӷPSKB1 %!;Zg;> stream x[wܸ49䔗$rLM2C=R͙nq![UHȖqn>U(J/>^|]m7/~t]7_]z#R 7W~8] M-E)M:^~EwRպtFOLSa[vVUcw؅aNNhwm/s0/geQMq7ŷo(ʈdzvw[zjM1nwBic8oݑ#lq ,>O78z O ,_p%#M]cUnvS|>h!@BJͥ5!v*]ltD͔Vn.*nOwH̨ZT>le)(Tn({NJ?o/Vp2"?aQ q?f|C wqJ&;ն*|ハxLE 1UΖLbj[i_. SZ.uGwU*,)Rdg]/pf蛋,k9^)篇gX x+m$ؓiU65aeu)-5Ե l[wBb#;gh pak&>Ze[ aD$*SA{<Z5ƺ@6Qam@C~ajUd?ơxnذCR06/ yBY#Uw_r8:ok 6Vbۧv5;cQ%p.RXTIHpvl_ 3=^L<'OG'RM=;v!nQnC.cKɆefRh*)]Ag hMΉUՀS)88W'Gs)^Zpջd Br/oiP R>] m}r8"`#*+ jS>=JH];.Y3w.fx>ss@~Mц,OM&v/'Bm{.|t_l?g7z_?ڟ"w 52%aFGC.;x6& zK޹*Q۟PmN=12dt{N}ycǁƣ )(IvV,AlKŀ630 w&p6Yej~%)7_eExbbQůӽ&XT7Q*C^~ffم b NA$?)qv#2?0,4[<K&A[@AX;>FS{|=4֪'~e,!*o~>nƖq$r" p-SC%>;@0}2r]jX_Yݟ.1ǑcY!PJ,P8?Mc ThnOrccnoāBI(tY9Ll(Uދk5P V`g RЕ] { {qʫ<~ Ctث,rj!pR Jz-zQ,8Z?0Ԏa (!ZAkKd %ԏO/|qHIfݡePnTXY*MTpxjbԍ(8b@uFYs(!OŸ%`D|5H(, 7(43rm?A s(m/rټxC ls#$KVd^D+AT[bzԬ!IS8ׄg wa`W_gtkUB>u !w?M{-]6g]Gxo ~iӢ"įp|j sL.sdUėaTUJvyl -fWgWDw+(y),\ĺolj8y-;yVI v2vb0~s^iF_EO"H)sDӡ Ç:؜"[|\`}O ceD|kܔktǸ_捆yVv&?22 jJ:@6D%v֏Tz4_z .²lċ yM}!c$X) ^+!50 )L`mc?7Sfn{i$]Q|.<(DNGY^˩^.DaWDy3TP)w0hi!8TVnLz 4GK$]Ε0޾;ܵ)!h˟>+\To r[L7:o]>d!zc@ܙcpP<-uOV2c+ڝהpߩVL61>}TD?/F qRRR>%-BbJȶt\.6WTD6(zΕG=` >ηgQu~&"|M ū] ,]oAYD y_Ip$EUr_Gpx* !ʪ:QePV?0TuBƪZh0#Zʮ_ި %T*eg!B-g hG.KjV{TnrfmplkJ1HԢő .`?Y%90*T|u%ϩ?>-84PqKϖ.ECy년gM97q %'-9he Ibl fX RJJnoJ=S64o7=$sBT$cj}\"7pBPxн2d.*.~3ar)4HMŬXRMH_&=bXMviEIM|4Іp!o;jYWx6D$%4(*"BS)qbC+kJJW 6:JBվ]oU~XɥB(k:z;DRb<<}pe vMCJ[Q/23`6X0pӔuOz)oB@+dn}8<1mNi6 *ݳ(PbߟReO>FypFKA8;&59ܞ;sI͛(;j ;up*pŪ{VDkS GMn ,gaV,k$$ a;%nN$tKt;c*f4V~p5vtJ,xik.ݦ!YmLdB+jIr >RwB]淥A.tDB)3OwJ)agHn;qvڛ潶8sKf0(Hae|mj{k{qudLU!dCӂn)Oȥ!j.Җ_$)0 a+@ SߴRFE4R6>M#tC]6D^Gߺ tG'|z +Q'~Q5j#@|ZbEf^w|~xmec0vP7OXU,XӘJƽB7I=zSV= tf_朏Xy&(@(ioj,DNz`k%Q|7l]0 [UX.kcZpWCo݅, _?'>Y ´G*_MWohYh֒e /9(äq2žTv*PW^@~пRMO8_Xc~䳖5i4#6G]/qCmACk_7,4,^Q\R/^+}"ݎYbxI7-ᜣ(TC(e9ЊVMqp݁l&VeZ_?4YBe36X57,:Z.6o"4I`"f, W`eEIYSG'5I&z)/j/AU\.yBG$.GVeZ>ۧ*iu3c jT PtOHMN9 ayA_gLfT8„)Zl{r3d&\u<~ !7wg|[#Ox+%Ra\$]苙ߎY]rTpYr=,<V6깮7|e|!c/jguni~FM[^p5JBMʿp!Rth޶ecTH=yTB/<>:ޥP)~f7|3w ~p(XAw_~x{r8ZJΠ]PN;FC<3Jұt`!YW'U_.xendstream endobj 644 0 obj << /Filter /FlateDecode /Length 6278 >> stream x\KwFvkx]5z93$auFK4{#"Q-MR͓BnVխꗋT =_\Ϫg|t9o~$Zf绍*6Z16>Cho>.CX@g[/aְ{~PBH*={+C|;[J.XaPW َ㫙o-oV4u}Arm4#.(Pû[*_[%&;2n|wy q\N]*Hz3Xo-*_#QLMQ" _m&_t&dDdQui8XOΤf-nGM"B~_D: Z<.>m-}f㣍\ K_v]xO<=#,eFx'AH`yf3&ˍ3ʫB+n;$Qx,Xcdži60)Oi+Z [; *, 17*CSI󎖯8|ȸL$v)K8N.!@e=6r_Fd ʿ`Tc4pquLHL]2w)\ݴ?ygemܒy),Ի#Α!r.jh@< 9 h(Bm=Hpx0|9OQ^;.A>|#x)o{ZZ|6ĸ>N޿fuis¥M*f6Id̨JLդٜ1 ZLȦ(/|}2|>5gHFl@aCbt8B41 h,7eT_8tiS:%JD"lߠ)LVCXbm(f}.iKhSB.z) P[ʞ_* VMv [[D=e3eӖ @J1yCǫt:G"HA!BĀ34vk j2IKT U0|UTbX*vlpPxYdb+;B"i@Ɠ!BrF+ͱ04KȥIQ6u ̥H0#q aNPu2Ĥ9`.d<,AvmwcdEpaaI v bɤjWF g-gUk#PEq}hN% i/ )K8=O"))*,} ظG￟ AV~Rp/tC&a UYn Uop`w`٘Q $l_">פJ0ʅTIB[ ZMSމ5J1+d,g/JZ_G5e?2+54'=ܖQ.ɎeWIhne'(Pgk&j}x(0GtJ1֣ Rm,ȳ"IeYPӒ'Ŭwa^}*~;* !rIrNZ/uwu&iC\Kd58c!1dJ<3K%Ւ@O]x ( ? 2ŀq@iT|'RX9spl=YW^ٴCjUWOS4dV4F1p_G8ROW1fR(5-w,,t dHLJT{jd ˄\uu/֘G -?`PɆ~6Ӂ0`/,`eN50$0|EJ.SRE^IW0&y^b/jc2\G5Up~تfЬN뵵R%0w"<063L9 yhʯflg!]6UQڝ)|inx#lWeFUfC2+ap)nKaG-4N8ʻŶk- 9 cjxM ԽɩtUB4hU=äR"sqפ? @ҙ~%2mC+~I(V; bՙ|6h_AwtPMPi=йŪVc>.{bãOb4mN}etXcJ\ܨ@LHS赹hnm7$i2r9qcvkCMs΍B XwfdM) #cj!Ŧ+ 5SvQ6{lp|.#NCOr);s!<"5m- fT'7,KˌQ\*Mِld#[quZ9ti SVqx`):u2=l׋]D۳! 33sIh4f\i fmSQ>Jz9/ҥr\H2&^=Q^i *}=pݴ:ʺ xf=&+ 9e7lPy.t@ǶqFhfnX*.m 4wZTBd#TO ٜҺ$J]鈣iBra5 \aAJ7|#`lէ <.2҈0}EPwnkߖM{ Xٜ5Q>VHI%6Cȃn${*N$Әױj;뇰M>gyP@_I{x}a*쿲~FZLS;c+NIZН`U՞TKQY Y5\zY|q-R[ƦqOHwJ~+;Rv:P2֫z4Z \fpn3Q}>ضu.3x\:(L`9Ƃ1H@l sfa(kmMӭdCnLѺ,۵p$'r7JĜ㿑s!S, ?9pW2k@`cwh*jj/6VqٟGcvaeӇ[{AX#sLޓﳾ=UqKžȪ%J3y826;QP/mYq`Jk4 g:DFP9,TḆySS ƟlG<3B-Vi" Ntz1=³7TV#C8|xYҩ/^ɜlX 1t|PtC$yԡ8ZϹOۻXdzr'o,TU:}:L5]k9TuTsv*?1W4r [itW.8^ݺY$Kaମ!mmapzv.kl.n ETFGUn` mOQi!P)XЗݧ8Kt(s4(D89LG̮.?ov 7&p`{r-Nh.KƤKfͮ5;oyp @(4 M}'Lk[cjn֍:? ᾚpF( _k܍b:bd{ \"cb'B`J5o#*:/4cBTkB'>uN`քyՈOycX\.}y%HvwҕՂQkHϺ_'uP W)ٟom\̧k\ ' a(B 0E*SӁT2ڲ<=r=ryY7\C?3/E"o/zendstream endobj 645 0 obj << /Filter /FlateDecode /Length 4222 >> stream x[Ms6kYxZMUnS5 $=3#kU&D-;_@6@uKNW$={/aYÒOWG?=NWONЂK[EUVAxr %ն> ʲ7".͕kNұ]}[|fg%7U%yj_2}xfR6vrv|8+R3{ZbgDkV9S2= %k%K^OZSn^>oWN2~矱g /b6W>xw k7/Ś?׳8"v*mٵ~L8t%^]e־ʱm_Zi"%_<`4X0Fషs. *s+J˫~l^B 캶˟eUeqa'ɐCIZ vu6tdMi 5e҅-UGdh"&p;Tel3(&ld .J~sv [tam ,m)ӄFu~ Y`6<|bIMr?%OBB)3pZFpB`!pފ"84܃]W Ya*n_ɧ`&h\ ^`681gl@v)8Lv 7.DA S谉/۫n]5)*< o֋3Q\!ߩm&L:FTŤ[B|94R# =*wݢ/`me,oì\;@(sh* $~ njGH YYXz=׷TpA$كDZ Hu2F`٦4zxH-9 WƯ݌TŦ9I!{A3£w|!`5V8f{- 'm?{J jUj/arF̥G -+- &3Lg^gPInJ+# љ*Ũ |(0`ENlCxFzpzF ԒF5A8Dm=fCo骈pC2heٝ`4.zݜn}1p@^9k Ղ׋E@ vqnxUr"?d;yW!O!Ǻ '¿eyAO~! D]I8X9v D!q(8NSvz';ǽ9  *edf?c(Q\n; [۸.$ $o;Y rM 1,mtMֶz;['{>/Tedծ/n*$v"aޖ'tq%-@ZLL]H r/.Ct]JǻP@ ߽7ȵ|`6bOY1xٴDg E,,zvC#nP Ǵ*b:${qCE׾.X ^QޠY̡4;-/cEM% ycMU0xLJPRwюKfSG\q*%,P[ 閦P"6Y%O2pJ H`!j8D0{T>& n >x5րMzJV2fPJ=YL}·rǮ}Rw0_i~9W\_re/+6&>ik0z \EdZl2Y6yVi[YazCI١vбS_y&%arʍqpӒP ׊b9zεa͌Vč'Dt޺!4|GAW=Tp8XoQ :UĹ@0.^`B/2I`}::uO!7:ƚvo;LdX_MJ>]i﮵TԄiL($ ]kOY&C_Ѽ9:\wtAkAA֮*3kC:բ3 vL6v?g6>| f@kSZb{ɵ +ڈzo?~:@bcMYvㆼ5nJDK=n*bJ$)5Ko*oDȍJJdfVdĪr0=zU({0=ʐgF?/յX1_SMS6#fsI `&[*/AcoVQX&Hk$ jwMhuguLRIdk^Oo)W->-Ci6tw$!<80uM{~!lj4tEl:)cϙ!O*q6= &iNʻp},HY0! SR%ٹ#ym{\>"JX/W(8ފRyu7%"vwkvSXL ',Օ/,bkGw(*-ZA.WK"zyZb,m~^U:oc/J%'vǼ K^L~ )xi32"z eIIJ![pE:ϟ +crw1}by8Nz"#)Oa> [Q5Pr{NJL׏\]E~/P;ZOAC0 ɾtg8l{!!qç_O7^h3=E+%B+(&1fp:P1omUOEa'n_,VjXt>/Y,sR.r_3n?seJCZ8 CyHƵ]] dPQbI>s]=Ov۾ړDs-CJ嗏;'L'C2;PnN.Unʿlg2W1zz1d6DÛP,iݔ,CkliB;CTWs )0^BH ±>2Nn_=ɖb4ArlMr{qՅsPm,SA{%pSȱ4'm9Y~?)痹2^?:1:ê@߾ ϬF UErC'va WQendstream endobj 646 0 obj << /Filter /FlateDecode /Length 4505 >> stream x[IWIsR8u8z wzokjZoFC5#h3sH OE/}f-sN'W[\,ꝋnqj݉\>\*xU0p+%նR_m}dG얞޳~icYTJM5}\\.k~5b5<{IPġ-=' vkbo:(0ZE~9N8&遭ۄ,?ȟ烰!E!z30 $iW},<xQ' c`akUdZѡwS {6Y Yzf $ ioDt]?D­e7RE 駒2Z"Sa%t_%N¤e9fmmԿ<j&QYzt'z TK /=-DhK@C^Ak B9'8 i%AwNi|gPIBy@z>;te[(XfnDFWv> 'hGw ɰc9WATƘAq+r !%gi[ؽ}PmŇIup[ZMG pe>1O_ׂc hd,) ·.$1% Y-aׄ%XBj/y錴cР$5kfq^Y6zd= }FFEu[[ l^ .hh%hFL r/n^XV_ '}МzMGQ:ĎYYg|l%0&|gw} "!,L',#1qc@5af".|m)KI>g&B='`-N@D PCi!' sB0(DaQD>L–)8IC]0!(<'!̆;GUU#.L^,UJT%)~eiV񴉟 ._vk˯ms22]U8i"tZ~o6V1e --t<0Wpx;0:Mzl/_tqֻ ;͕XFO%]dt(DUmO5o1:eV|L%Q}@Qk6_Bs 3U$=@4A=( Pٞ^@ 9L| ;7K ځ:shCaj _L-EOѐġ`.G#%Yd'JV!5)GE:,GENDVP2]. 3˯Jp)4 3́=mF̬Tt3ﰵ!unjFHuR flE@3jSY/D [Jk R"ܬ_"`/>;r>,{6W̓t6P<%=wWۖأxP~0Bɭ<2bEq}^T H-f4(9绎k.ёh=]:@@ ;>i:X>TQY`p|8'^5Pą㫤V~ JB[6mr9Njcn]Z %5E@[~EC:W|ԑ jpq2d+:BS8m{ǰƐcHpu]"m?gp(4`U>ߢ=9t\~ķ5&Z0[= kR1ae U4 x!dt''XJe%OfW7RiR=mH[tUH%ΎLTͮb!}#/U)%%:xщ L#"K ǻ& 12pX~u}״tuv 1 /M А1 =/[` H -š sCoaElqG@=uy`]E2@^QVջͺ:65cr^ˠ  z Y~ M(XP,,dg98y=[U1೦*ME9(ۻ>2N$C0!f00qtK%z &Es/ duUuW,"0I/<1A$ GDߘO&MNOrjk_#lƖ7_/ɢцO cdÀ[!g1os hLsd(*>Vf|n|x t;|{qK:bmcz;Y #;=k$+D?&q:ASMjao&[(RuQJP;֐IE KG0Hi~t3[)&hMfmmhȆĴ|&e] ;ݧO7z~} 4qYv[לIgS [p[]R+*!rj)!."V%P2/d5)=tY,{R,5-OoӲL1Q%MSTBx<`x ۉ'x} 㤒 ۲[>%3yw}s3!OM.[1uUGSєOԹB3Uq^&ɏu rL9/$F1*yUh|fcʁBje~Tj {}~RTO:ֳhn볶i'_@*Bp,'؃=0:nϟ ԯ$s~s"R`ߒB<\rمzUw?V .y"֨X!?)-JRNʺMX#͟S@D?E? ־68=1ÃY J'<-WCٰ/k]33RSD]F^0R;gPkPx#HeTͳj OQ|0#endstream endobj 647 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 8940 >> stream xzXTWrԜ{7{/]w fP![bI$D%1nn1_~g||Nkw]ke҉DfV8azg`/DЉOu-Q={M LN 3#z=]/D$/<-r҄ ǎ%ϴt\0rohqY %-GX:8{XXnplicxV6kGXNQ}nYu%K/Yj2aU]Nk\ֺs[nkIS6}YC9gxTsG>6z;JǍ0sNCQ(+j0E QSC0ʚNmFP6Hj#5D6S 1j!5J-Qۨxj 5ZJMQdj5ZIMVQӨtj 5b %R9%,~TjNI;TQ MS)K uLͦQTw/ՓEͧzSf"+2eBS/Eq<;}+_4iRe:4UKr2]Eûzp={zzEzUfY3VMRsiP}{n[w?P{Uq=l$?-tmCf:yh /F1xĢ1#.\4R7jG5=Zbp "5ثTR&Db'͎mԌ*S#%PdjC$I*!8/N AR,A&i4ZG75*fu|ݜM= " <n绚f S/r\BT2dC&‚)٪_nr9f=#ߺJxYntMfHތ=]ܜ="G+pX?kܗkU&U[h$\?@!^ʭӱCZRM;̡^ieYh!-ٞV#Gh-͚4nR zQe3,=wǽGaFQ!.W iPuT:\vv nE{▐KJrTu2/1?,TJTL\#񙠅CAHBcHW#D7vNwn@12ȆF6瓫x *2(:#n"eÃ-gb0k8:6D&arm$r]HL8n|FSdl4<Aӟ!9bHh0F^^Gl/yI;Gl268FO[7ҔV71!?5ΠS"lugO\EH}W:TX 1K$qX6&2CWiY4|%r$ lj!=_%8^jؕ%o/!R;E=lBh=&p' 84 Xf5oa k*nCs%||чk3^emF|(6vUp}9̠Q/tb>iJ/KrR Q~ہYQO?iFuU] {F49j@ :e?qA ՏX*nIo[6)ȓʵFM913)D^y=rШV,`m%+ zgBw6xls/ ]t_Hd5$ަb~2*͌De3nE 0'_7̸v;VxnxL^Ϗ#vUnBPe_e%ʫD1__ߑ?:>^aol^E,sH!ۇu8\!44RN)Q)YKOB2M @}V|Bf,߇e|g1?Y]Bl1CtL 22H/'9|HD\T:" H4=YG?6[ #JנAJ~yJ?Q^qˑHRo {y;;eA/-Ѥ^\x v nh4vrCr7}h[ѰpM 4t\{|_ZZzJ]j6.q ^w>G##G >N &(?*{S+Gf/~ab+F|˿x"Ģ94ꆨˇ$2'sPi{}@&Bw;"(.5C?'ܜ|8?BZ]jtXdzgCyl-0r4Irblr. ˯sl  x&uL &ʫ*i8_%^`r?tئU+F?I^Aړi5zt@Z4O-<B_ZipK9[f}pzTDDֺs/X+љa6VJ9'K#8=%P z] yLP>B{`{5!K"l@@<1A΋i,|t5CIYNZMګ`eA~{W!5b#khD*Eg|t")<_b([tTٟx3vr%(:lPW9UAO8~џ쪈_R̢- M9[wJuE]Όj{{[fq䚓F+H.3INxD9ߖY&?$/ՠP吙T bR!r%i 48҃ w*f&gi+D"yodBԼb]3N6$fRZJTc 闏7iK죊_Wk#\T@FF?A4[P7qr&kەƵI*RWIl/wf>xa|p7I?Qَzo*4L!I+ Ϡt lҎH1qK=]h61ზXuH4Rel@ğh82IWȰ5UUgք^B֌Y򫂮uF[_RT9Pڔ\ߕWT},6/іSH#ָppduFWW6Oy'y-1#uRG<5AQTR9mZ*xp9;,@~ [㩼B#2L΋O~ .h{kLɁ\Ц%砙| jMm?h~ag k³f6ZWВ_2ٯȜ}۠D7'x쎏[N"$/_ p [ /ql:$c+n,/wK+z0>5S^ްo2 QP߃"wV\={Ŋٳs;Y\p Rv )E]~dq4W _=sgFk5CVe,W9k9u4V]S&C:^ 1" 뗎+8&M0aSWi;HzPEF)VIlf+lt3ڢG͋Vuf~ y0G$}`E6fuS"\9feqM|uG9x9ۙT[C҉riKtB7""(qiZ]j2_+8.Z'"*> 'wgy::Ml#-~-M> K|})Bh^{  s3SIFj5d)L_j<:Cħ$d5phc6OJ75=D>4g[ f줈/uټ-+UwIv;N= l}pRb,NΞF'#|F `.Wo$G ʼ%2??\ lBCý[+l[dR(= )' x` usRoCَl'M=ZC`&wӺ駒Ks {W´Y j:Vr 1[ uMa%+Z\cO:;aµ;sY]|Zf~EO v6+7Kَ={x+r%RyfN]x\9sNeaoXcѶߔ^6c4ѰOCԋIH'mӎsdۑbcӹRΓQweH*0Gx:-;pII2y?pE*sEp )8\R_ql_N-5;=Wב_"ߗ{/hCZXSXUUVV&;~#lfM>y 4M6=ȋ9+ODԡz~^Yu먈dr3+?B,,{9fF:z eWcJS1RU$~xzɱZ*%{ϔpiJ8{4iTsXAcxas/Xٱ-܉V42dvhllGXzכtͺ'[Hb31 Jne~ `16l8V EqgY<. 8nLM֨e6kb,ѲD7(2c33YkQfhujJC/ZH%M 7.AWsJN?Zu#׳{$zbV٬}Sh6gocyU ZoȪ!hQWHRr"QH),qEgZ 0ZDAhh%yEP,Mȹ\r\\;)YZX郺"~jK/iD)8o 凧":%,xun;r԰;(/}P?~ل>mxki S'%$&W}z<[ =1w*amaE/~8X ĈJەldv>f0J_mC!s,T(FUJz Q^|ЈJ[ׂ]|8Ûy</H!!gf&gf8)9m#&!}ɨoE (YۡR2Kv03`8% s}> stream xUyPg{n#"L"(=hH6! J18!2 )08 3&FEMI2Y&nrv?܆MVWuU^NP>Դ`[)] \͚BpiF9)[֧v%%$fh.+5MH ]\>;=9IK׼Vf>[>LS4uwh6mDEFDj"Gm(}ծ ]lܒ^Xŕ)jImj5(S ʋ) "GI_8t9yPY31XwUjQ=B 5]=9?i̟vxJ%/(%+īɥZU;\, W3Cٝۓ'ȿL{m+,ʓˑģ]56Q"{haOT-TU L+CN֘XN3-m/no3( l"Ȝ6:P(5A>`P]L[N%6@_l̋iψInYm4W:쒓!e3 2oZ]W_]\FNCNx=9t(a]4B̽5WwiLoΑ崘*5= 5&b-2b.0L5@lE/\T+:w)\t"Tp2$nϗ@7RΣdn)bH?y 2ͭ-[YjɾGxL-lJOZ n~#]#+XΒJTvtoB |S>1 ʄws%jyNGdjTs Y3FؚNV1C֪vxgEjPs< wZڔ]f~i1rey830t+O<72LkΞ󪄮N{ رSakq]A!CJU,_4ЃA\ฎ>v6Q>>,u<_^1f%Ypʫo;>tŨB}fQ[^n.31#˹٩A0?Z sMRu]CQC1#/p F~?JD(;H;Iyɠ⁸@Z)gy_Z' e'Vw+$cx4^VNLlѭ'[p'7,#/e)Y+ hY} &@!ky} { 6[&`(WMlg{Kzxh>mzޖuo-K*L6napx 5r :5d b[@}SؼJhx6BTblS ɋ0=x`b$F3)WArш@<x[wBD,->\4ܻV '?5ĕ 9B$OFeB]ZQ9 E<Yfkf}DZf>G0hb] ^{]=->Mz2RQQYUaE޲Oe*E"uendstream endobj 649 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 544 >> stream xcd`ab`dd N+64 JM/I, f!Cß^ N7-u0w+=M{,pfF|ʢ#c]] iTध_^竧_TSHJHISOSIP v Vp CwĠ``  CC?}Fk3ZŰ{n|c)${&?lgbv{l'j~!mw4% ت6pN*Z4-Ԃ'7a|>K9~~މ7~c=kz7w35^933~~G}iKw$f|[Yw_/~7b"k .~|];y~z3)S᧗-o߯~6Jv5oNԴ =K~WG g/d;u[%$${ <> stream x]n@D{}@aq H2Thgf,Hq.e>߆2tK|,S6rq8~iө|ﯺq8fMM4c A<0NM81؛3{gm-#xMFfA4F M4XMXp5} &_k5ؘF`c229l\FN#iq96.#ߥTp ^bv2;x]Nfq}Gq𺘝d2@ RBTA@ǡ=CA@bCAQ*H)UD1r$RIB #@Ha$1)$FTWɮD)$U(EJԖ.Y]0L\N^D&M&.B2$/CTbr)`RŞ r%`A$X,ȕ`Q W, JE\I(X+  r%`dT4*pr| nu4L盖wyr[fb8endstream endobj 651 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6339 >> stream xY\̎&#E%&DQ.,r*DJ؂eKLb413ﲴXX3w=|;ӡD"itYNޡ2Ź$0YG#PmL8dO|h"6w'9{KVIG|}y,#f^ix{>K-䢯 KO/K[7qliMߙ&Cr En#]e6D..>=cCި}^}|7m< ~h%o._wf|wl̍NQSb j&!FmS[;6jLͤS6j5rVS;5{-K){j>Z@mR#b(7&ReNR$J) 5 )CʈKSVʘ2v(;.JQWuu?қW?^ZN-+Ř)Ï9i 1ohj`z cݸG]&O2`5 3Na/&'.{0q ֦ff{, -6[O&d_M8)LϿo+}PT?EͰ9lR[9TVb+Ԙ%U ]FV|RkhgϗI78|x`^fެyXI38`ppkp0eo )Ć`i:T>r :FQd5ԣVV0Մ%4Pl+Ci6:XH?b!H.y ٌ'CSI6WsHy[B>~YaQ|S1+йF $"0ҟX z޷|yE/Gj!g# 2!qāp$n[cld#dX|plwܢ 4l[-6ec65ߗf._P/Bz:vWWgw+jQդtE#jfDC; =XFH:Q]&D 27.cF"1#jA֠Zd^Qq;;a"Pn-1Y&8l7bӃi;QS*<4]/-/o9!pV%N]!Oxk A<ӑ!ZMg]fDЌOghg8߭-r!x-1 ˕EGQNa,QyΝxLnrIT*A(" j-@M5D*HuOI!@|s=o!reaG2E)*D?5x4al?[vgNg#[∌ ɰQޮ(yǡ#;a#*op1e K4~  o˚3:,'A8V+F`48|hA$a|/fAj}T|(q`ϧQFoJڟ ԐCSgH :*Gpѝ^##h#*&؁=[aZY}R#S̳ڔِb׉FT[n"@!q2M ŠR kY%c"~ẙs%Su'im5 ^ A(5:13mHy NU#Fj4q;}3ʧ먩P *L`=~<7a(`n?yFyۙ+ċ?+^1ivR:utL /qm[\|wUS{ҬV TGHXh|d$&X  ~q_zYkKyf{s\{\ĬQJ2PU,PnvYnQNay7b޾'aY֤(emICn"}Jb*KZ$xܜ:ϳ.?~ǻ@a̹Y>ƒkƊBt1} fCD8[Lp 0Մ+;TgA'gzEII||6aYx6M_'2ua(٣j@e!|pσq.W-{z|ab|_+ 9ַC Ol}܋ǎBibB JCCҺPN9f>) ]8UKK<;)l`P>+ -Nʹ*;-*0ZJKju' x>[L*|Mˤ.{y􏳪*76Pue 諤2 'c58f/ zn`!ጇh<}{%c gF) FlQ]t??S?%/]!mT3/DXg񈜶!kǶFaÖ=`hl %g*4^Շ_؏uw(M?re0rI+,7w6sV1h[e壧0#vkġ7āĞH=7j`X {Pmv d0CQB@ 'cI? e/[3Q$# { rc"X+fNu՗E8V1D$w0ohLZR$MgBjlnacsԫ%+?^GD»GyY)JkV*QDAg5ID~\ܣD^Y* uj̊e6:W5 j)hv;ʰ>9y 0v/R&TW*KJ >Ã{_ ƎIɩi(\0g)2C3AWEeroc_i9pv=)/ ϰi[ٰ,(#ok0>??T,tJA(f^] s(>,+ mÇ$LyL=<*b*RRS@ipt, Hra\I\ix/ڏPDGWʦ2TDjGi|i\M!Ԍ5-ujPP*aJQ ;\H)//CPZV\8%šL)Qf Mla 2xm DՐE.V |RB=xpQO)h$ G"ܼ|K$'l엮tOy Za1I}Ֆ^XLB?IDO >ʗ=x4JRXS}a ' }#"9׭ P{?э.2džeKNg0޴ [bƳL>_G9'7mq8s?_,)G8[͋xi]Zuo^INp9{ A 9nLD(JQEgh:IxpMSkb]Xw"v<9w',{&!%oEXEn^^>d"keQU4#c .{ܖNlΣ=)$ᙃ #V[hOfفv.&OY@WkÍmm[~Smwݵ> ch| %p^#1  N ~Ww:ޏTtY'!̡ DR3O'd$u]ǡLrm{pPJ J P5Zxª&ub^_R.;ԧ(ED 6ajS|J\* 7OGAGyp+38'!v^ؒu=WzpoFSSZU>+ 7D~CW"рq*ACFoxOSt<@%<S%Z"mZOӅj@Y{~"qF ZLyTW@`o#ݤcu i34mR*oW~UTĥ)Y%GGo  K8XMw+l :,-`r{0aŝ7q*GjYqP*i IEǧ "22UWw>/#rX88R<[)fʫ08nW^7e3"IYQQrC s+BҽH*;j%Eb2|'yD0UŰ8V y-R1pEBWodQ[V]h/2KQO8mendstream endobj 652 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6702 >> stream xyxSWRr d:cBEnlYd+mIV^n`)6CPBz7oIن0y ٟ-rk>b(L޸i[JRxӋO}g3sank{r~`"L„o̜'#$AĊVc2/Zd쀕 ևG S҅QnZ9% 07%9 ":.<1& %&`G۶e^ݿ X"ye*Wd\'^A1;rS蠘-[o!Lܙœf_pA"Qb+1N '>>{I{p䅓0M~8VX0Zpiz zF̦ ~J?Ikjn<5Ny7ngOwmX^¼<`@ :F?0]^a0d1Ydz -L3bt@e5XRTX~ MG}/+]D^掃fa?*hv5hڌ>[P< \\gh6ߡusuJ$HQoNvO~õׂ$yx|sBV4IYKPW+dr^c#Psm6 zV[\`,o*=@1oǎEyL>}ny / _`rnw\(^U&69|@^rPTaJw0hvAUFGB(g<4 AcMҗcy;̅m 4wݱ&ʾ(}f0Z髨-ݲ>JȎТQWQUNJo\y}峳9z[!,QaP]{w[-莁c<޸o ~ f"]'nr'/F+`p(A |j㊰+[BAFB6~|Q(qP1|VCb_b'oXsKNYQo?LV Kl,/tè Aǃv'SEi H)4ܫJT1QA>ڢ5`7-+EJj/(9>y4;]˗rl4tjo; 8& 7:p{93k?z`xyU`4JD)F/w1Ry׹go3L)8U𿤌f[D]DFQh*Y+WK tu¼ kE'2Az@a4惔VVLydw0WH\qTZ(_v |Y30Z*{4 K Nv~t%H %18_`2ycr/&є7|REDa57t(PTXsjwGXǎx2勲F uDyT P⣙[-' i+g6zM`A2)D|Βπ 0 UypB)mCP jJb")%,j<Ͽh'f醙MϘAy.Lw:&y m֘G,vƇcq ($ 3Y.4;9UTk˷)2wQ ^s$/:܂0DVXiJ1nQ;1o{РIA&m#jXs6\o j B{A)fx:-vyTBSmRGG0EGB9 HMޯi3cxg߻״aeAbpapgm>ЗPjc}>w|O z`P풍@BCp.ׇYTf%Uzj%{T <$%9i{~UwW[JMp-cjTR@ t2J,N L]!3ɧN57R5u΢t4MM._M`s؆ao^v #]d8t#⑶&`=o9إJW86#]tf@FODi@i4KGo322ljM5 Ic-7Q2k} qiV!]H>؍qe.#ssn.j̪X⩽njkC.W͹jXr0_|[:U`eGv곊xyͩ ykzm6Q:}yTq<=P|Z%׻w6Y9!ˆׁ v*4:Ї.A>$E5X: ƵH\3->USVip3!DoOoI9ʔC 7(9(:gPW͗pW2@:^k$eB8v>;giw{T?H;ww _% 4؊Ct@wou!`P58\DvrO665|*F('m:Z@aP,tH<;'W]G8V{nG"KqŚ zц<_ji3tP5ឌ}Ct9ybՑK6ZJlhT8YZa{݆.kxf2Yqh[w$(̳i@>NB,t}p)7UfDw/t)iA)Y/楥etkl.W 4. C4M$zz߈ 㩫uDQ 5W%7( (Pr̤V2 QF@CkAXv㴄7!mSiUζN U?Jz~e&pZД8 Lge~3zɑA[@,ݵT4}@&봀d3nKQRg65"lLΏ\O|ʩ Jbb]iGO6boQ̭Gؓ:5 aĹg}쯥>)pd歟~/$D rh!^&0fo ׻V["h^@0d[[s؎1\EjfC)ZPF#o`;SKAP G;pvҝ;D:T &Ӗ'Rk-f{.galerݢpٵb*qEv1T8dc5q7LX. >y,xs"a6-,j5 k FlJwsb;*QҬ`lGLVN"$m5K@R<eNX>Z Q˻t:fd>VQ \s`,v6cKiaJ;}]!yFveu4+O ɳ=gv FJ6}v4C|X v.ZroYퟢ%(*H;7Z;neT~쑸т]nS#j"楱WSbv:_0RJsc囔@ J͖Z"]iZZVP~eS^c^ⵠ CXCY,jzzt 7¿fhJu>Z zCc% |ʝ/.*T=w5L>]=npyf ޸|/(R`H3T:J$jF͎a粏,Yމ]EE9yF/5b$Ye/Ʋ825;Qّ}~%%E!Xl~ W}f4;u(T4# uh̍/]h:׻i-^S)1( nUS}21B@z21F-wW#|kRڤWf| Bz=4f֍73/iV:.*~S$-=GN*Tn W[6..)zOc4 |0i#FSEKUWpT"Ӆz҅S<وմo65/Ϡ3T$!&$\k5#P @_ rL心nq* wX~Q"xdLl;أڵb@xzvj'Ќ5@lv$Z #d1~:ƴdѓ8C*^q4FoD,gi46#]IbʢufQ}[ԀO:ו$& 3M--jx.j.}Q>]-iny~ĒX5ŗ@_޸ݸfEAˤ 2_F'}(щ`PS{G]Zm]fcB\;EqiJue}v<)sfB,/_Kى34r/$!l^m`&XtVS΢GqG> 1pt4edX nUk17V,O4[5KpVfd2=jW:Zm;}-?._,'NC*r\M P;$inkdUnek2W>yZp;?]585U5FTr`šwߙݽ@V@qrƊ춽;#mҸy=o}D@:İUj12ՠ$WuqV:)Wgx!~6"qn֑=i5e(uZN$<+N IcuV5S%Mw)Fq}z"]@ dlp>v2Cit &&h* jKkO3gM !Fgmڝf `i#: IU{CKTWB*BNq0U7d7z߹ٞw\OC<#Y,_»]nh.ku0?ӣZyHqL(bh͸E(P&DuX5JV6?Af6]2 ܍syTFqb t-Rנ(MO{Q n;W[va,(9LJT8)3m vVR+rܭ'C~*%>QQnqQ.P5׮)hhwY7Z2mj7 ]޸?]qQXT8Ԝ$IeyukIֆC N&Ǟ+Αe}';Xӡ7;A86V–v/k(3NN+6)N@;݂f8m\In^@@̩WaSp ShZhW$~ b_/@#HW-?VUՠŝ=,+WÇl,E ԎOU7*g7RX OlJ-cX5& Dc>AnRhZF;Grw&?nrwu7V 3S 9UܪSy4ԥˇȑcAKbQ r.p*M`W@*U]9"ik΢K~h= >sR̭}^grQFUV/LK(ʜ* {"x#V&a> stream xWKs6rΘ\'mиF:t2]<(Q!X,vǂ`Z/֓LbOH|P?[uV _%IJ Ɩb f-,\d‚ 1Eak8Gu״%DrME}Yq1:Y,+P zhqRz[0a9bFd%6JW'?]IV37W }Zngڔ`"AC^gNkTz<ߺڛ0cEޡ QVfHw4E,etEk4/p7IS?e0tr^eH1FmzDc熮Iv +*ʱt10Gz` D sib][/J招4\KKcr?u0@i(X}foV!G/~8+%w&-$o8# 1tjxDcEH+Blw|##f~Ρ?|fBd=-kd_yӘolPB/ 5Ċ=/f8&+ԻTZ?S1=0>Tgn 4ƻ$;0 ]Y: &M-Ïz5HE!|-tB9| 6.Uܳe2NƟ$ ޏ{G*%;4zhށz`WP d[|Cĕ{S7|ECnIF!o1!e{3|;?G%VƚRFOUG@ ٫57}NJ!ŒCQ\Ooo 73#sX`̗E=1R"nM\%t04:yA ^4*0` y+|-$T*n5BYyyᡠʘS706PǓ#1˷[b hKDQZ "U "lXFH BAތ; Ÿ۷&%C%6\=D)3;dMa3"%@dP@BA-)-z? tz>;{g 2*vpۭb:@`_BGpPUn&Dc{2Ä5owYh\q ˲n:F̣jr=Cc2=v8h[XZ::uV3\Q8ب/wY)˔Sϭ؅hk>։Cl X!s]ġs>;FR*)P@j'}vKTH"ӎ r[hTһ䠱%F oAiZ="ńg2D8J⸟.\ ߈O[h?"̱hghThN}D bL04ڥN*/."e] ~HQ ?Zpʹruـ⛬U 1 I [DX TrɰĂ򧰡|Tm"fF=+D:k2oHU B/(G[e/>JwzJb&m!5e'VbA9#u୽7 Kwendstream endobj 654 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2878 >> stream xVyTSw}<#yŶiʸmZWTDV4PB6ޗ,@X e3PԪU[[K:jvڡv^9S9$/_~>^@ \2,3=>#\;yİ,>d.H>M s?o9=zhDJm o`}Y;sRRsS&M:q":KS,]-34i|U4 iBRj,Y,]A8,\4luĚ1jAFHfTUI)i <C!:bAD!"/"XF,'+*b(SC"Ak}>>EQAȒ-CN BnF9_ev wVn}c@Qw%Whe~fFk47E(A jAg0:ZYWwM r1ltU+,.NR:аKH96z^ Wߴr:hE]FZ-+ .1J2Xժ(:;Jb VD,qʎ{ !kg.U\$yX=8F8PuP]4ޒ{.z]\}k,gB$z//V&|C)R2u &E v}nE4WOr XH b,h4\D}"I.V,Z6k,_3B ~5I-4+CINl&9 m;YP#‚<^TȄm`T_>x*s uFU+Hkł춘ƫSp<!OEa;h:N=\T2cM+ XLCKBوZ]54j h0GDTS,HNJ:j2u# cDYtzh3nþRtv|h(Ju̅rPd1wRxcMe%, zzӜA7~- p _Z$43p: \1gigx|^[t`nG!KWF֮M0 F+i &c%o6?ikprKR^X4^KRE_ 4wD}}|wޯSO)b uى\G-ޏg{xop:Zp=N qKN U$C$y MoA3rxiMۙWf@4ԙԑ%]s<ㅉ<<<b"==XA>*nK[8]-]WIV+뇒hmh`sJư\ojfFcڀ]*}YD>ʺMΤ50FZ t5w\bn.,;PAޏ(1j=h%c'C1lԽ:l6$`XasS}/sfd,Ÿ/A?(pzǨqB ;wA!Е+zbz_A+Y=HxqǹqbNӶwMTI &ړXyP0^{.I=T&9 oդje֤qD^! ! dU~ʕlZ rxWd].sdjߗyPoڥO-Nyá}=i Щ }MQ ల $ĄXٖSL\@L{bfK܂t䱁!bUĜEX}/֣G:x[o!vd.=)̀C #=} Y`|@$;H5",E缅y@$fþ} Mw6CdrY콰[LN{b:B[/xsh^s0duMs/ hhRhl7>Xg"52*El$5Ƹ;+y0 qŇMV36ۼUUẖɨ CE wR~5j,=+iL;|EJ?㞦 :Q٨߸~!ÓV1yWm6ҽ?M6!+M`yCVfriDkp@Dumn= `vIK p+nxbkF daW]Zp7$m gݣ>dmO2Zhit+" 275m &B*fuٕYP5 _VVktj p3;D˝:a8E.߾![78 h4~~5MeY7 {&endstream endobj 655 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2724 >> stream xVyTSg!CG$FZ֭V+*EY¾#$!!$aG6qc,nO.;UOݜ.Gujm}3ֶ?~߽}$ %H[YBp܍ɉ*? _0ExL#w?H?Fy._ؔ^z]ߞ//웊OLBI%, ,;W}Y\>O&*&IJU~r:WNUF86epAʀ2󑢨iY9Q1ĠHROSA*zJmSTZIj1@PT1$KKE^qUD31NO(g=nN<0I˳& xly;dEd|SӬ<9MWwKMѱ*;E^j.@-b1T l(m? ˋ5Ψ)&C0!jP-ęt 2P>Ife>Y~ ,2mvkabaltVj=-ÝK5%wjC؜y~@H{Y‡>9p,A,)F=r̈` Ę3B/D0"(>{;RAvaqݯXEs5dݯ' kALX=CŒ]/E7 'c&yZrYDxO)UHb6L^ G*5P/%SH| bS@\M.0,fPKrk2 ~$N^rvvVkС=b}Em*'W:к^\"J6BlԚPrmq 91@\FX41{j4kQnds-or/t𽹝]ed#c{'\ <)$f[8HU).M0weӎxKta ornn9D6jۓ0R[`L- /&i/.dXGX!n M\g:y?,Hl)1=䈸qOԊR9'ٸ5N,.T.c3zl%45Q,*}.ja`v~^p#e}IgU%i;椆I޳Wg̬Tdg؃ִ(ETUe'{wl2^\G\K#wk?((#endstream endobj 656 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 719 >> stream x]{HSqw۽,5HJGGdmf 6sj7f?|kf(HKz(>4De ʈ s"u:Á s$! <%!Iy~ fv7cnCC C>#b=!NA;DtĔWo4da!!@nFк:*NЦg 6,D7q7:}6'6ejI:ETGI) U@BBRP BrH!$@@ȉ1vCQKXq'Kʥ%:KY2+,_h|)ALR`5 m$Q ->2/L2ɒW' r{Wo^mz:=? ҴԮ(, Wk#KӥҎjME|l|ays0;] ,)W/F==Ԭ]Nh9O4peql Xm6k'sC_h8-endstream endobj 657 0 obj << /Filter /FlateDecode /Length 6077 >> stream x\s9vAi7n.'U.o/YVK!.2zs% k\;WuzHZ]-S=?Xfvwn$9SJ c3ilu_vOɼ kgUaZW/'҇gcw?YLȦVݮo.*quϋr!TmoU﫷o_DHPKBWJÆ6l9{a~¨@U* &_^~u|QJ85ps8/%?nS [V w_ۇ 7M.L8ʆ@p+ !Kj|vp>ǭ YMd7kMkMc@dE , H 2-81nxWq/{6DrH;NeRk-/ezmzvz*joÓ^ڽEXhGqfX "[68]})ë}#*7Rsrdӫ9׉d/G~1o8@^@[@ S$ZT<=QzZ*`0/W+><`]Ŝ5h>("W4k(@U&nT5{T y8螼pSxltɮq}\OӠdތs0,uTSQ /]Kk#BuVHӋ%-H@3mt|(H¥ /vahEv6v 6z5@?R˦.R 4G~\a8s "lb=pWs)/n ? RxN%l-vHU߲\[CH\iM5B;`J+ "䃔ҍÂjdҍ "y+?> 86}QLr J@_s< @l}0@7"V!rРtutKB&nX6 H!N;P_܇-h11Q"Wr; DYkFQ&DOK-s!k`=o3 EV.tկ헇lSKuE:'SϘMJ`fnWYHk(?aȩ?0O!ބ z"Qs T{+^(0#{_ 7Ezץ:,EREjb g"!.%yLt*۔A;Ӕd卮(3Y3#a$=سJD 0< D#ǩep>Qao2_@uY:X -,7>C3yYd 2=f sdp꘬ Ҕ+\vo7 ~P=&8 ?XJ^eF.XҧTQ`̿~~}w&wv1SmLg8YZ2plji:,DC8/zJpՄ?SL9ŏޙs9:EkmMsyBJpO>4}0@?{^_g` ^;^!9,N(ܔON&'Dsr7ZK%2}`T#hE Vk .;U`xkZ>Ҹ52j!Z'z뱝mLvx>StD~& Kr'BA<UCMH+72-_eG;as+@7ȡz_IIϾok!8-i h7,Sj+4wϲMVbZys9-H*P>W7*"/`…&](C?AAx' Eb"ׄzKTIʉZˬ`S iƹ X렂D'΋æooOVVӵeCe N"!d}\reny2.=֙q 3|d0H 朢?:]| {f\Gn^.֔Y}*u(P(]Kd[ {cZ@Ql_"ŝ 饖U1I0aqv:S0,52/o!"LwaA+z|؍x|fvAq$+p /moGZT]$e_uX'.6z(؆ }U%1Nv'VF`i# "I[nvX㾜&|v(fa)dJƷtjQUOi A.6h5URTCrjݯ}4Ph -fʫB^T^u9t<wawFu?w1S&VvNJĸ'-;Ϳxd @lyFeCn|c"n2}9mj;@jvHI@`f N } &|H6n |ԓ7 `賛2$ E(ADd»y$:PHo%S *SۅJT9 r gA*X?d0-df@ԍoT$k"A,@E㬄 Y =Ԍ!5Ə=5yod1!r8 Ȏ>5Sfϧ!M4`YD]V6@lƄD0qP(DEyz_UHVۼuΗϐrMi3AZgiS\f_NiY-k`e-mYt#߭nKm߫cMME(ˡ>|(W S5eD_H,}AoS1\[?аϏsTqOkO&ӂt_fp-Zv 8{y_}1',* 7eXDZF~fY14ևe-p i2HP[H㩖#d !Zi?Qm֧Sa(GΟr /҅sp\rM>|35w˶(&y# F]QZmFR0ܓӽPhaX18LR"}/BmI{-sjm,^z-g"y?~C9iDNܭVa2u^+UKC2ZC6 ~aXVCFw #]rW[erK9U(66lp׷5޺fy F 8LKG0 1g:׶d8G7R7~N>})hݼeCrgp)5įc8A6<Ha(ש?K%C_U֒1fF_~!f&Q)7_6n<6nw˼(zxW ;kd>RAHj.[nYl8~<E|_JYhwLHKjyÔ@.$%v݋f ߇rHL!`gܨ{FwƜ`pAi6.a!{C41yTt< |I1ji\TUEͯ"5A;-{ݲフpԦ[OX@ܔo`3) YA9c JE 4xIn 9`7ew8Ma ՜nf OQ,(2TßQnJ'`iݚ ʄX $Pv5ʎGD!)BƮ$47d3XpZ`u adM/ɣ' 1O-ؤ.>K ):El2.LУFúåoE9pš#}AI"h'D^^CA0 Ul>eleܺ2v5}Mm6?~C)71Ѵ?sQ$Goyg'zzK~=}f A4ه)H:LAXeDwkPm a@ d^`GUy"YI%d2r^ئwH_8=J=-:mip#h}*e~Bov(СA4^ b_qÈX7bzvׯBil#uV{/,ޅ8NWlϸ O]' 񷤞at\jv/nݤqwb$£XGP5L,G$#` YQJe|A4E"V޷y[H@oɖ-b2ktxj^N W^/L2f6S) OO=@f4 Eny;/EUlՉ2^ #Ŧ`gXb'aHνq_c?.k19E4@WD@֔d ͤF-gEjK:l̘W<{%}ǎO)_?jDendstream endobj 658 0 obj << /Filter /FlateDecode /Length 5925 >> stream x\ݓ7r_)=0Oso.NV9VRJRoUJ(K\$eYf 䊲.)WYhݍ_`~u-u_nvwn/~`twy}O0!R:fW/l,k3L넚]/])aX[Z\[_IkWK!jx2mNr >:g]r6fYm~.qk"[gUxM1 zx?fY3!Vi|hťlv)TkƫL6Z_hVpY}[q#m'![ǹZNR3Kނ8agpxXɷ}L+,0n0ş.@bvGxWVLs|ﯬ.~V|Q h+pO~U&L_0Mf8]?ggu ňIΟ,Ƌ8'ߵvrkFXt(o0f!ʄYM"Ԟ7Uj咻,vjvZ sj%manÓ7K@u^cmgW)} _Yjdv 5ֱC޵7Cm;tł<*fIvo,qAHK \׳߃Fƿ.Z "N;ORCUsՔj s'$Q{YwhN ǯ0l8X<Q'aLxtd0WB观~dn@uUvr0iZXOA`jx8 w4 7$PxZV 7. rk= TL  Txx(5 l0af[rxhcGvA 5Rkk&v>1O)K?Bp:8on%#[i Qb 4[4K҆Ң&M'?l%IӬqD^eJgt(-d:(&uUA 9O V3%X'z}ǩּs M`kKy% i]'hEhek| CK3, p8R#KUH Y!UkD_2k2 KS *ÞcN-"Bkrwhm~րny [sӐ!8l^ ,X^w`p㰌;Yplΰ0}f8+7q0no;pO]JšNy)T>[`i5eZeb:YLg0'V3}t_ x#Kt}U3aT AnrcE QZx NTAZ8c;̕FﭛvA2PœB1)n]n-X\`?}Lr7F( \7[NjB`މLhI$r^"S(?5WrIygMU*1wI䯇vDq9;yPx@9lqmQ&oQLhy߯$o |G1 {rql W X"}eC ~j]xr;O@*IfO6Z=6`A3$0In쏛 h<0|bNbOL|4n&_ PoX`6 BMn ОL @7i?? h12%Y _?1\, : I cLlyaSs:eH(g;$AM{DpI5lՆ؅~;s{yl%^B3ρ >!$%vE)-}07P VR'ַÓmy'TR ԓK@5vBV5؇w~!=Y{h@d>OĴc,ub8.QA0X6 ̯u|F5>+< zb |JY@\ qhV-4H]C!%r-0Z /AP3+:!QQap(-8qefNERvU6{v| b[e(,ET#$xGt 6^p} |Pb9xr_ u8z70+γbȅɅBMsk 2&O{8n͸b!|Wx``BŽmUjy?GLpHEn|Yb؝DT*@ `=RI<L.mV]h ExJa|P7i®%e%K2X+L? Ƶ-[s`ϊ CF}-?z92 "r!̖ C8QTeW1e[sh4 GjB!{aQ+&HlcJ HNi i>3p. 0.7> V0jFTf?KϴtVfzt֠UtXfO,Px?#{йjq<'hh7HV_IϏ`b& ܑt-`|x2z MҴRQN*rk@U2/}8BRPzNӐþ0;V6+G+ڣA,Huy[u-d @yfs UyJ/$^|Jb*QB5^ȳ ^]R 1Vy!g H);:!.n^]b8?iOo\c%,G9OM6S{i.j=b@h,'ri6×ak.x7/|L⍏ Į 1swt. ==} 2h1cX+Ei oMj? e&W/8[ 4U*|CH[CMf& K]"{m.?Z7zR6l2\;|ty41<Vȅ xK t4jY`53WY6 [nYJ: [L5UD]ͫIUr9NR%:d^S%tN4OR@FTcIE`gԒEόfk9j~zo 7*=eL5R2}i4_Vw;94]u?z [IF^s_y(crB[Z@Nӗ%)SD`*u_V0/iOLH|fPސEApnB%3㜾wVB!;Z짌ĥ4'K硫69 ;~Wwp:`t$y/gq S;뀎= a$zɔ *$=rNȪrP]cOc.XwVr2aV`㰏)5!+9u SU|y;۵hOkXMTʍn445 2-K"S@'|2%5uA cqSWf59>ʎ`^%hmѝHQYK:c$xje~ln^ZpSӰq,IfDZtGPXY&ϛDNj':~Rj9І= -*+lvQ dMSg`AUaGګ| E>wfeSk~jORζejaCP 5ErLue|*p4 uSL5/7sJqS -|5 Xz? 7K^$ 3˕rnW,db`n] v"gwhA(ĻzZl=E<*NWXCJ#Yz> Z)kOq*ӊyXo|* I0H7s_ *u/ wy,KK11h#Rz((GCt C/8by?78ch3k]ŘBM-¤|#c~i]w+tX7̓D83% C/?Cx:Ueb/z,ƝMeVe,}$F j-7>%j b-&b?i3δU pR`(XRyOWC2lB0OO 8&pZD_)EfI<1Dո9sI ԰g[ޔ q]ۺ;uP[&>Ѻ@fCDؘ\b%Ϫ f`az-,l> yy|Jqnnw01Qk!J\vY~y#%x4Z^{>^37K ;HDtcLhFO!(5:)ެ>u"-RJ˪ Ik^d'z*eèiph띔f|NDqsA*g]@jTzv=y;iLwLbQ _tD~ד6λaj8ƍK}NeFR^^t>7m<tlb W堐buQ(bq#>(> stream xcd`ab`dd N+64uIf!CO/VY~'YyyX}-=\{@fFʢ#c]] iTध_^竧_TSHJHISOSIP v Vp Cq`R} }'}?}{CgU|./.SqoNz߹qr[؄7yŞ>~nSg>;3wߛgO^-ymԆ-w| 2wn9.p{n&Nnt endstream endobj 660 0 obj << /Filter /FlateDecode /Length 4430 >> stream x\oOV=hO={A8FZ $ڢr в-_Lݽ۽ۓ(K-Dq?f7selO?N/'~]?702xRƱ?-QvB-N'\ c` ?}~rV}iyz.Q°Ur%fA/+aնwCyi/dup]/qIV/Ku˟N:9*кZ{<#6biaM'j}{drV; n-RR) 1T5ESQTuj-g{L~ZS7R:%E\VW\ևYxy|d>IHS] s?]pXi6׌eb tSmw]Jg+e37a7g3?^X]k :uN>tq6^&3m<Kc1<ݣ}3[ډŊZ8IkX6ѹ"n]W/W(Wd5:VY3VꗉrȦ!u$j&,NMf\^;ˀj[d:](YKM[Y[;%冷n,[Qä>msn8vɹh <5.,iXnIفۜdctE䁏1*(ݾ}:ASvo/ !Muy*TS7UϼgWRjC@-,j\i,btԋzE7m&$^Lxɬn*yG0ED12ٍha1@8`<ڴ6Rp"F{+ lA@ ĝZH DWEZ)%. hUzB+_^$%Ivdjŵh_ti`j Dn TtCz#Bt)Y^Ӏb^(`U0 238Go3(]8ʙa-kO̩˕~;KpjDf3 INi=7 g^C`D.냑CNߞ|s&6GbРl ;+1Q:)a''aǙ ~ =U>.dKG,[2JR!Wg:]5.DPǙXF5^w Ԫ(ށ~-n ,`ޠOb{ ^wa/& / :>uaw/:Θ9'} R׊|yq6cr/>O|ڇeHCl= XC!@衧Ycdes_,"E,M~~}䐚-"–kf\Nc"l HTVZ9$[SxXSՏK+V`TwK [jF(H:1,^BY-g,r+Y3nxty`:R5_s444DZ`:m&jI/g՗XHD7OF}1/f pO4,br*|GqBrQQPz0z?~9 ,&`h\;T4M^"p?{^oA"MhCq5A+ 3 }5nl+郫NE[{bgLv5J!mݥYwGEVB >SqR XjG7!QA?0uOWYk>BdШkWOpm,rTߴ^P?BeMvucQpaAZkGj5,*!ZUbK:-վ - J娊2[_yAH'p_JXMFR*0Z47[=J.bc&bDPG=_ cQQuIBnl"  (O48'WBE[1f#jzThK0oH&'H0uy{q: DD4Lk5]"P5$-x@t˱X0)>XeCT%N)}Hw}XyGFES =*Nqk 1!pO/.־}i% /gp 7ƥP?Ad0M 2hZ~zt4R EckeBH$n<6jr4^oe)ee4an`U7*ďkw$^&bj~9yhJTCM'3|S\`ޗbw7@cz9V-TijFg9(`/WAH[)@h*1M>-n(؍fvLظz~#Rx# ҇6|K+41߇&]M!~:LtgTY+*mjIM(\ *'D-:)0t 5⸦DCw;g>*32 ") $3Z:f{^C`,& +Z,VJ%@7Ñ#$VرpoĹnf0UzCY:4Wqq*8Hgu }7CF=(Rdw(WwY@=Qm=/}jT=I8KY Oa}T1>IlRDcSK)Gcؠ$` LEd9ͽ'Q6$XиP adslz=>B̯9aQȵJ]gvJ+B~c8ܘ"nmv]\/ h!$;&ْؾP=7!~.%kT.D/t}֧.R aűo@d]^u2/LjGII؋ErPKLQr)1kŨSC8bKV*V UC 2 [t#F)ZL%ݡ彖}P[?4LwԨ?ۂ2bέ-~q\Y Xt挮]-t%]Eh DJi[0TZ߲.KG!_@@1}M(DsTiN?° gՀɎ~8 H2XD}LeoHF4qn x>,_ XOE4F' >{vV3> stream x]s7vc*047WRek]*Ҧ-RC=%9@l g{xt-t_ɯ3zs9t˓N |F0!um^=ϲ Bl2jUk;% \>K˝kRNZ\'.NτS|,6åSwKi%Ӆ45l]ͳ yj<sM:x{5k.seXXiާ,:r\@Z/O|uJmuUK9yzuAS L_uwX.w4_Hu&'w&?#pE݃V$l*==ST Τqz5~`rlO)݀@xՁ^7R:B@U1W:mb;f08~4͕pV5PF> 2͡}oc6wQ=(%3٥=@_ZtJ Mqend{O)uk&$h2Lz#C&??x¼L&IYLmbOSuSb?)q{@}DdR^diaf,㦠4$JOD'̵ 'BEX>3@`,Ĕ7ۏH&83@D ;Ȑz)GsDu O /3qq;銅HUЏ* ?+(tpo}L\./Ak>*}˰O(8Ϗt(d5] 1gَցCU?_+|3=1u<'1@!)MT6/x X,cb:kn2UCA-k- XKF| wwBs:ٖib\ica+C>gvoVF&ZZP`% HìW8o5? 56EԳbi-WHQw&C^mL> 0Zrt=yLs~MjmOIE [-PZd/y{֠FUަ;_ ǖaJfU5O1R1^;ȥ#~d(7G&(B5$L/O-.<>% 9{gAt>8=$4cSW9ɧ2͎/"`aPn(}|}=~tҶhDm>Ϻ7ג{ee>=)O~-Q&IT%+Ģ S 5!"Un0-eaGa?D<54*xWuP["[.99`` .߈#lF@nIFfݧ)J ;+# (`jF d.J x濫T,<o-=B s:e!!_QFgAc˴[ܿيupIFfLSJ`zفG>1၉b RUc!}*T !Kr}P6%JAt*p~Vڞ34ÐN֖c-CÙu 8Yy[ &czDQ+ab3u? OOX(}HZYKrTHXlje݀ƝmG2-#PT 8[Z]Vemj/q"iH* xi]NH /ٔ5R忞A"7eGw]c]oqezWF>fRJn_-&a$C/UlͦEs(˪>*/U0?b0 ! sK[)IEm\+D6-K&"kt9-Y:3#5KtfߢwnkE-dLp}zJgGTfV8 j5U2j҈ƓG7A`~ em%aa,xlcy֦PKD'@F1ȫKkO>DKN[J[gp9|Ks#M2f ߓm%?ٞX.r[/ TAXX[œĺ1Uxc?|hEKmH< a0 zvڟ_Z1-ʬPQ0Y3$}tF pݪ'?ϒY4[]$;J&pE$ڒ:z.Gd0>y/ c &nH]C ary`+f茖0Ln&rfJVÙe[tsa)VmC:V;. KIU.ITQDtExz:c\Zt4]Sxtcw. |P[FG&Žn$Rs-P 51p"טQN3u.' ٚ{t6ntzqOi [@@+̄_u)ݪl~cnNv9֩fXn6*¾~\{X:0e0} ͱ';>3.ΌmuaB֨)+-",A$^pNTD8%#LY{n1ymV_,D b!WdYLYÙn4j iDt,  M6UKD9X3c8lX,ҝ(鎂 Tx91G-Cj PPJSAWW#ݭumO\>]z?p$~##9ցyM$Ui(th#L3x"e7Y/)b,s-5NܙM}>Bg"IU<7Gw TLc> uVfC3MŦS} A̷y,,f쥅[Nu@Ѥkj 3<#f̟PƳZmla~[ :4V@ۗm:T |d1ø\xTg{Uo7W)LP{ݪDmPg eFttݣyH[<m 懨O0m֩{,8ęī5z 38\/2e)a!;S_)O-ҐX X4XY=>JJHR? rx%˳&5r긠)mU$n|Bl7I,Bwg0&%J@_8E*E(9'!sfɳ罏i>ݾG&n绫!FM;E~X DUYu24}v_Z|:v6ľjVl+ b'b@tk& >|Lendstream endobj 662 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5391 >> stream xX XW(%j@T4.D Dw4ֈ 4;ݧdߑMDhE cM\f&lch^${m?W˜ b$0Oa~S_VDhTA"z4jƁ P)Ѭ1SGN#h6Iڠ]LJ`W1rӯ4@5 Og?rK.O7A& }bOwHR8bby,ZMpfKNJ+D7 `+|!>zGgV}! O))ˏ5} *r˳r7n4svԋ 7ŖjyU2"}_S|Ԋ]!*ֶub K^%!R7t{~n(!tʪZA`! 'E}"r б_GM;ްq_k?ʲkΩQ~cVFo ݘjΤ.hw@%~Fx(Ft 5/bNABff6H+n!Zr,ӷZ+TӄYoB>3 -E'iO ޗcp,"dGI :'A#_q*zzUʹ+y6n={3ԙ|E۵o]e+`N 1 A'V c+oH,O ZM')y-MK;hK>Qڂ]&Ǔ=Lz'TY4 㝰`q/+AD]1Lɦ&|vj8lxwS|i][cvE^Wūޚ_@Uo, -oVD+f[nA%+gqV4D `D;S&Pӕ|JMw/w7'(jHT%;( M>]p IA 0yP b' .˗T2͏*2㵁W7- L.o?l1ÑI4xԀF>S=:=d%Ԧ&hXtu" 7, %+ lU? {-cДXy(vd Π3w?}S Md*t2G -e8#k7^2s*;BkZrĖ& ˟'op+7{6{)zyOƭ!5ZMu7\iF*^r7DRGF5ڹVgހp7*!K}665S,(7DUo@jSdqƒ3k=y[V'4D:NzM#C86EV@V +oeu0MwL էO9lXq3&n),YlTSM&h+9w&d듅}YY=8*:hŰ_?X]u=NQ_'7V<-_(ޠc7āZ7+#K]B`ZXTPl&A$;[T(R2\TPz>/eE8rS ^Iq/N(vSP -6$2k=4z,m{-a>R Sqj_ ,ZAu^;DB$FYJm+D{a៖q2A-*).gPEsa=ӟg؍!_z.W`ʗ;[ΙKGcAkrCZe4JC{ƑRQ!_TzIJI {hٛ"aϯuh #M\cS\u=*4[8v+ y YT0L+v.q&?gV8ٚV2CVDQa"j=p:;2o^O .1={} G*O$ޘ+]{XXƦEdpf&QФeB*dpr`pJf0w38F$밯˜_Hs-_SMyO}4P((79z=0Nux IȃJV໘ma7NtZ <WX<Y8h"'<ҥ| sJ'"q-B=K Ńg;[RۜY5cwc;>3A%%"h_QAx^u6/Ck a]g.<9#hD)1;9 /Q)p~et|N0ȨwJM䩰[ yu%ŹBqm:'٥8= {5p/PEs>0GR$ +&9)V~$x2АSUM\󎚐Ytncɟc@F _:=|5+oVҀҬtC"ŝ"'o=jhlHٿ]? TR̘nhAR  ͔L54C"9ePE ą:@gS)Axr@Ow EVk DHMe> stream x}WiXTY"a hL1,FFE4EQ 2a,  4zY&1>}L&$uMҴ皏̞>so9;{ MQ4MYcؚ_ۚ5gv]F~NrdJSƉɀl:^!‡W?>_U%u9ő⼬Lٳ熇Kg5)ŚlC1;KODGDhV Y&E1k^ЭE,[*>6W̟(j"!7*h/(LN)NIӥgdfel}2QXj5(G@Skuzj1ImPTZF=OVP1JJEQI䔉z^@7}\,LV"*_ ?XxSPyY\a_65 ߕGqtR ` f{OQmCH1l\Ujꭅ5&(Vˉ>VGAA J*in_aWr7rPijra'HQpj<9-;~rHApLF νA$YOGO'Tu,KZ)Ai~pi𥮗@lb_p[졀kE q/U'"OLޮO1^5{PhOn6}g@YvcRΡE<3#C_ZNRF$HW։ӴEB=XtTr\I*W'gAmD Tjo^ ׊/+Fi.5_+N7c{6%m)Cd/Ke(*ѧ:1KmۨJ7/~ GQs9[gԧ4h{k8x{zK'|IAlܼlk٩,?Q6T~~'İzzY*MjB3EP^vֵ9d8 m]:MW-*B00cTjO.~x&L}"\cND2g Dh5poJB}TpCS*x#hO0[sTG-R Lx&2syp?>c;ۗIȍ&Fo˃lHrlK\ PSmQ?I fSqFP+; ><:i[snWsn_v֝//ϓ㟅.;(7LgiT?C,MqN,n fb 'EqT:Sg +qY%nmwLv4NJ MΆ.+Q[ /z1Mwx|2Ѵ_,]V`1,Bj$ 8gj8 HO2uC[IPLc̾r~xx_k?*~5F|}ixapK{Dn\}V d0|B'faKfwN2'NĻa4v1KuY[ea?n8llѵl8HeLn@EF379vx`j$o&͟1:< ĐQ^W:oܟeiOc~-4C/ NsqjvVvVAt{=pn"x{QϯIS̸@ 7ͼ $ Pչ5~(HSu<7 ĉ6ʙJt(!lF+˙PZ(Bu*83NԷ2 Qas:YA5Wֵ#tZk[D<>p΁ʙ=p3-$xZjG`/1'+M$IHq%?aO#[HCytCbh:w 9ɠaww.zjE?wH&[p+Ji/UqT)p95:dx2̕@xOa>xRrڝ\aWyЗH2qxOu4x)D?Z{|s70 t[*6v@Qᾎa^rqɍ߆ynw;Ý1Ѓ yq(X"{W@Ji5Ksr .C({S9ti_1;6xYzӚ7-Fw_2 ˯Vnsl넗خ+ZB^4[]\6kMXؼ==={UaҥpϝY*t b6G'Ҷ8Lw˰XIi$kOv {~ $ֳ6X7Nl_k7j̹?r|FpC*@!F c3d7OKl]j@1op[3 oAXI*):w$LZ+U?(g`>2UW;Kk%o׸|̯l|ֿij!ylGҁ-w*= Xl{5j1n;&Wᑔ4裾/Rv:IuVKKRH]6,6H#Y%Q8Z#ﻭ- ;zVV0rJ+)CwWWX++klj")B\#/u ÕQK1XYOITXL(tBL[-o/aD{ w -nvotLW]$勮/pfC$Oѯb]T8MJЂ#^C}9YVox J-<VhЏi0 #OX#lVf8m#;|';]v^_zqPgnPkovNc-endstream endobj 664 0 obj << /Filter /FlateDecode /Length 4462 >> stream x[or| )4女Ń-٫g^YM΁d3٫Cd7gFr"a5nv_w>Z3lN?pdE^Ł'pjROL̥JF)`ߦNdMUL,`t&rnA G8cM[n23&][y%uvuYəԙ3ou鷧k~}.G&rn>N.,EwEeRJv3MgZ,%{[]-uagE߶7ᾳ՟0Ay7ްWт-6EeBmZ!E90d|T(Z^pa0H۔˷>~U_(S$Dg\ga:; 4isV]Z͌4+~kRϛu 2ԙv22Ӫ`wl:Sd5n/&u3XF;?:3eZÀ = 9gyߦ |=AT;k;eϛXvr ߔ:L^ूK~2lk2,զv!9W:nsAcvQhz<2$kNnVaM5m bsѬhaS^ޮQh=MqaAhF°ma& 9fX%HVr:MY6N46ZwY$6:w?dJ H%auQ0L8%tX|P86:cw]2$ j\ymQCQ?h@L"3aK$ >g0,`Qg|}΅~(&'&G?B!×a/|I)7ڲ]W9y(0?&=(Ym_]5gO,܇c4UHlpLɓ&H$U#;Lȼrp48rL#hqg SĮB1cPQ2)H2\hR^;;A}HS[1lqyME05۱@EE'q}  $ Va@#wm%~Ia (9q'GGC!d5O~M4PE>HHH\Ҷ7 GY# >L᫧ggekĊ7˲lλEb$c[E ve g3ڳE.=9'wY.3epi,` 5C2fr%T"^FL! p\^_w"Z'$ٯû1`KW)WhX} |a/*'6Iz^R'PR} kF/$_&M}hij@*{@uN^&.H3w?le{"~c.LB p\|] K|R܉=\9lc vT4\P!= 0\8TqKM"9FvЧN߿Z`_DE_/.YQbYn@*N\b0oE!1T[*W؅CkmIxDC肈XiN" ߷IDvN?+_p6EuV_ b#՘(0)"tXR#=6*y%f:99ލq'w#m`RG>Pᝁnpx$ĿBѽ=k&pTQZq쇼KT2ZL ^ Do}< #W?׽3e{A!|l.c1pÞfsJlE$y=D# DD ĮLᒟDXXrB9M<;WaSD hg(;8u v$-`UP)HH3M¯4Eq;LY @䈻"`;urm#y> F~ @6 4T=N#T2s͚zyly~3nz^n>C3p+-Λv3zH(!hDJL@F[Ad@ +j4G/ T:ESΨs/T >\TiiePwu>$7c,2F xOoZumq4Dma36>}x4$In k\4x#=W#ٌ`mKv,f˛|1z.!5؎*2 0/mm. r;8}gn(pYzЅ>qU`QoI_R@kԍvTg[ LF곜jƓPبJfd84FIJwomx ,w"SBVAGu`MEJdM~fX3}0}>a(G E= R=Ϸ@:"֠Ȁ.<.}с*9mۺgo}'sPI<SEz(6- vQا IT*-lC!B{ǜUJan/8PnNȼxH&AH9ejIEb /I d?s7ՂZt#m ɾ6zk;&~douV폑rL^v QFO,zö5r~*X9=o̒Q pe^4=."6>UIx^xh~8M:{J9v^ W{p[ # ;B'垧X_Nk2JA掂CZ0L GJ 3t^6IuVyY8MI\l05ԣP7:Gє];|3`͏clXf 1-mP~bP"W!]JXLB#**RFG%H@CoI^m5$Yv:y$얆/e4{{&iIZ0~K(rߵR: DQ{Pm݌4[3 xJn&6_W@C}wtknf7[r $BoBxb\~8;q1t~uY"yV)ť\Lۖv>bu>2v-Yq闃Kendstream endobj 665 0 obj << /Filter /FlateDecode /Length 4411 >> stream x[Kw6kYhM/) xgaflerfYtVqBR=[`-;I1(T}}IYI/'go,r<󄺧zZ w [Z:> R01S.J x԰ɼ7Ӳ(%״8EIuh1a C2nmZvJ7Ig{ x`yi 򟋟pzBEb85b20Jo׻Fn+Sˢ,5ZjXN07ь VgV1{f( WƬepK&>2ˏe8wcӡ.(4ڷI/!6\?n+??$V#8?y췹7s[8`~04vd3ezG 4>[ab vcZr]mռmiAGmnd^P 4ޚv|;6S7`j"7б&_>uSbnnӒOSQД}.,vh6q\")S|1%옖f26a 5U/H&΢ _4\'uגwLVUreB@0)a8o[5a<*s} zX]Lg 7LwkM:F^ ;pTq $M1/n=XZ#4io|\3AtE3?%*_\;n*B @u2/U_!C&o.yE]SCgY\q`bp(a!+\Vߢ4HL-v\w韠V{ν N%!M=Gn\åXV.aA2 2Ԋܮ|ȲL"Eh!s@$g5pC`q3A2?+c /#F߇,@~Tdn+ˢ9C)o!x:6IMs#冁g@S4NmxO2d2?0dIJ p\0ĬwA8ci wt:g(yμ  PϿN7u!`Y!NA~birN?אN`BD- vlPMz"vQ~z~rH>&3/O@ t%nB W( 5~vl3wHͲlvAd\WcԀ&4*W_%.u50 {zVXcKMU=ߓ$! VH ='LIMY@R t9e:s^meG^F FiXN97!A8b"v Z?_epeL=l zy? &e;ҧg|O@ͫ_ǦuD0QE<}#?NBR}ѧX2PJ.\9C'gg8cK3k˵73 !dve[lY2oQn&::S PP%{ Vo%1Z9uXze1o3)JU~΋ yHŮ{- ռCYԋNz5XG C⾮!e$MMk?>M)ys1ux?;|w+3f[bBYW}yc꣛ Ir}_+c2 P50Wg.mަŲfQ7YYy+w[3 JR1p }Bؤ#'>4(7d_&>2ܡyR~y;cےMHK^x2U,pq*tqJw9@koH^.H-xחBw]-Ɣ$«4KQz+i4sHTYW|IEt[5;EFS\Za8.]BMp2-Ői/ if0nQ&SXUO{,K!R[>H^&%FfA kglەOC ql{yMtcacBtweX uʻ>Jyh̄D_\fL,5ٹ;YVj{iu)Xŝv1[])]P} ͘iFc+/>}3[t݄l^t{Of0^8 <8 ͙-l?mojQN4:k[P^ÚN>wa.^_p7V9C*ʽKɳ4>n=Cxy$ vd=@8z<UyTR<.#96qXC^ Zx](kex*^g)R@PH!RHG=RH)+ V`8dF=!1]IWD"qaR7*p*!yW q5%q|'W `.H wM>ȴG?q!OϷi'X6NH_ArR3{;Uu/CM3bA `s9B RG]8$0eyH]VM6+' 3T3PBmO͸Ocg8U"ܴ.(J*saVK@,b Lsڸ*LB{~Ͽ2[B|}x 2^$>zV~~ SUُڄ7ʋD9~qx-J~e&,de#"4)u?xfRcSznaFuY gշ7l:آ3UH×Nf jhƴ:QWEJ:*{J 0euy 6ہ']RNnoo|S,/3%X `|k@̂KohIb,vWDjBaD^S=9 ^kOSW}n^d- \ ]#  cL#[\{6~ɘ;X[e(0t=>v Bj31tU>UMկo (+N P:cш;d.J:h> stream x]n0D IMc/%E(*!8}gVu= g/wgV{|Q[?ub}ܻq{o= r]~hv[!uYkW97Q:٩avj0&sbB|6Wj Ul 0d|@*q61]e8BȎ\LTsd. frnsqa6`s \ m(Y|n\}*bAxX|X}6[xaSWI@O$L$H#HH A *©TTT74pJJHݕҕ‘+ܼNJq Ώq;;U^ovӊendstream endobj 667 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6037 >> stream xXyxTտÐa:8poi -Rd-m/e>sg̝}6 / "RHUg^|-$V|}9031?a0y0EobPc,2@b`O"WIQԌ%_\dju+ɩi_znQIGEQkyTj5@M6R3ǩxj 5J͢^^S+Jj 5GEVl"9DNKƊ&,6tW~Q,? ˅wn)aGS;?iwtɎN4Qoxmͤj5Yȣ%i {9~U؁*:iKɨJ69ʵ([mNCቚ4hC&g 7 ZVK!Z's ybx[Y w<\"1~={䨷j{*\W_7@`v~g}{2GQ?jh/brhs]:+11n*P] m5-t"$D+هuEר}\5M$13%Z%KqTgj/,.E;,$%j]vŠ>&țɏ5G1z\9>/yxߍ]\`5K==ȾS"&jA%/6mFu5h!q=L`/ffch.VK=P {b|rC-PbER8+Ϣx4˟~y+/.w ܪJѫgd#ssNz穁|mj=lƁVrzMyP;Puhe[I@1Q^~wpD ew@d("2IXA]2 &[(\,Gsʿ .vOi|6UZU:a/eWvMpۜMl;M6r?N0h1:p}h.Au\qA8+8E)Doӷ>jҗUkw5=&{O,82ɡN Z+^#8㙯>x$vnhhD@"oRTe9@oxN4ў^ SK6{OKդq( O}}Vg)rQ_#yBjS&IuCv^BoC5=2ΦaLh9`qj}][^''zk;ig`Hדfz.":v Knbӱ@/3`먺-7 DI>>N{cgho 0 NOnfz˪fd+Oݸw"£b4\Zpˣ*5UOZ2 Z~l78~cmt,3y r^3՚ ՞=D޸_Ŵ  x1O_X"/Rem)?{ lym9yWCM&2Ms`X:T)cX>|=JܞFoRDo#X*񴁛AƓ+&ouu dލ~(.^vjTwvدHݘEz@;!iz*Cq&Nw MNIAQRRR^ަ9%WPxIC0E]R}@g1%_T t!ruw>QsΜ!v'%i?wk1G\UTFIP!\iT] 9 P,? iȩ\D;GāYGmggC3q+vkB̐nݒ@=hܚ"ڕ{wl?Q$'I.0_0Np1NQ V̜֢D_s'4E7ÆQJѿĺӇ RRki̯pغTiKlmbM\}%F)ߐbs0MursN&:zw##լ;M uZ )Uo/ܖpݯ]m&^:H Z+|)@TKV%gf :TQ: kDC& j}2zӾ"2䘲 j&-7sāf{@E6_BNOEP% ;%m'*q1';5} ?M#$$ *BY,Bï:kw(SmrCWn:Kh޽i22j{ *'h>wDO{,8M|vB&>͐p1B&Gߏ.!SՊ%?<&10_DZә{h44]zX f[W%d$b^3 y*tOgKц*lG~~C#;bᒰ]3ms*ʕx99rx4Ơ)So&Gmu:6gvrۏqia@hDs <_ C\H|/'ejd+) A»^?8l.=# Ҩ& Zmh* fBV^uvwk2+J&FiβfoLH"*JީKaawhi9;,[M6%A=mNy 渕5&7;͈UuU,$ 0KFԍU3۰RO^df)R,~햓=ٞt\U_0eH5ۋM^,y.>9:;$Wbi[AcvvAAvvcA[[cc[TK;(u3'WPfX>7jWcVJ)'mG.1yÿz-$]|12 XG80&Vy<moau7W| desx^?Ј@wAj;hDYIdd(fW_;bGElvxꐭd""&eMQԥxendstream endobj 668 0 obj << /Filter /FlateDecode /Length 279 >> stream x]1r0E{N0 ӸH&B, "%H5<'-r}i3:O8a\oS.lm)mkǥ(/q^ؠǝˏ`}ew)?xEWUԍ#lx[*%UU'4@l5 i +0i6L <s:q=:֞QKw:Ax^]nK`+Ih/`#]y*9(I<$7)39F`s]9o:8c7e^2Hbendstream endobj 669 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2953 >> stream xVypH623fc `'dsX\1:GF3==s FH2 @H#NkؕJעq*Tej_}_}=ED6ՇSk*˖.ܢhf,  w5g.q_̝Ar?tO{/!rDYש*+ XɅ gtlU++ u 6.*\TPl/+ + (k ; o]ek-۟/5xc^M֬Wk7,RTTVm-Ye G';Z':bDkެR=&>LX<*y4b&&?Rotw"tr . ^VKQG/RkXJHk ;I &Ck5ʅVFN:ew$c BC璑Q.%ݙSo9ܩٳM.Hhc0`$+Ǿ< T7!22)ק?Hy?KtFbО9 z2¿LYnJiMciUr5KPeoSY@ K^@Bސ7(L~xNmh/ M3<! 4b&,TP l+[ƶɴQkͺY`\F,wZ7,Pr@z w?48u`qŽ5,vj>[ Atr4GA"×FXu2>{@{ϟ`: Rl?$tncN,BcrD^qک;1%2).wXΗT R #Ћ%_N}^Ly9?hTR,dg+}=Ãz1N~ ?ME7Ї|lްe @V5v<N\+N}igv'5>vis[EA5t$uVT$ܧakqt;/c_J)+MjRk^! 2'4&q& cݺDS}ZQzakx8It_Öv;Z@i淛vYŢB׾NZ=ďbZy@ ܉VMۣWKFS |X6ACJ􍠞uGAk`ˏʑP >3_|Fi$-:{M˿-Aqb -@ji_;=)?s$/8QzBX;WKQZT1JKANJQhsL!O5i^)!Z8)[vso ~(oỏޣZ92dV+W#E:5-8'#o9I5RYx2'{=xiGìbU;U~v=fuư+R܌^̈́aa\?u[* R7u@)鷭ONCҴT!8p@7g8˄@n*mdtZhׂ=- .;hL=: `qptkd8lBtyx=AdT$X U,y̜r< ^:\ఛeB|z ~O}(u9wNmyq֮үNղv E;%>׫c-m k@4A g0c=c Ũxjߡfe2I&aaKa!t m!&5t _E:fkb1_=U-["FdqR_+KfXmXG!@|~6N}~xj֤4f('O0=N C)?ܽm$30Z+vZK-KlzZEyM_ 0p0^\o[x h鐲2td茺Dƻb^1rmԁ݊R [:4珄#]2zȹker\7\* Uy3Y+nSKǃ-! $u\8 ԑdDI r_\_0LΐN#rȞt#(g]Mަ̽rgy7~.s!/|endstream endobj 670 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1070 >> stream xmLUǟ2V.6ijd&l+,t8H;@Z/Pm k҇7!P%(Ʊ-oi,OJn˝/cbsrχ?~^#HJ jR5=Um*ZvQ2X\4mDjk@s(F$ CzըU7Pggb~J利|eUlPJ]5/B)j(^GUJm Jّb[\TrL?PUFmƠ* ޢ:ݨԚ4]~*#D IKI$2 O,Yd i!'ƭ^B3):wd˽pU{[^(yw4ϝ_bX-G\!wtw`Sc{z;N5rW4@MλN /^y815).~ LN'fQFFxs](Lu]lM b3"n~o-ܚla2a 0`@Oa^'P:BǙ֐iL3t1S(46l`kFDaڃ `}dddڦ"D1LF'h)wnsz#(+M:[ݒ#ƞ?L-uRI{E-`-?lstZwT~ŝ3~㎸isgQ|[r࣊!wIw>ky/ w&\]λU|rؿXI s p u⑗9Iw}no{/&> stream x]A ENIæn8 S5#|̧}"SB#"΋py+^q2A3LdW}4*>*W݃AƏ$Ztk䇿z5Oe-*m3*IF.ɭьR rϫmW#F yxa%`endstream endobj 672 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 554 >> stream xmkQ cA[Sۂ6*QI,Bi6&L E4 }5HA06(]j(rו ʿq5E nEޠŦh'Τvf1G^s;~f!&Fy 1mendstream endobj 673 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1951 >> stream xuU TeٙV 8*)zZ_FѨUQA kdXH"Ec &A|59i&IBrg!==9?w(WJ&y[Y !}aIƴC4"N6tjʊ7zRJ6^:{Rr,&IR0PJRA;/,l~H.ҮծM؛7ehi׆nЛl}v䄴D>QevkK7v9iLQQ6Λ^=gnX8Eͤ9TN_Pjʇ8jF))/ʛhSEY*vq%ϗ_u=HW с~DD>mc1$sͬjs9R Y`)*#N-<{:&.8ka&J3TT֝AF_"+*߁s:g3XH h[ '.OvS3H rg k:RRXPr&/`7:0wG"kc`{]fjp˓Zsv.8,],x\.[s#xmD,̲^Vs&A+tf QC5MLbY2Ψ1 iEk? !'XNͳr2t\F<μ \@ﲬ@BAZ*iT@to cc1櫊u_ϸGr~<*1 \gZq,Ւx .$#Lsc4FTuQERpZ_?~}:Wpb*n>jQKV8 =/]4L8F\6o[ -Sv0s'>,_ ,}a֊F&k7Ql(;/j0dv}rkJbq"qql#wPTf@.$:7 fk^Z5$ٵ4sMRDnm?.<ȚS$+&٣+rQrk~=<` V+TœG8OzD 0J0`.[UuETCp?c$YZKJάA- 6q'qRA [4;_]š?j;1 P 3~$'$խFa0Qgh;ARD灱  ?t{r1+\BI+fC 9Ã0w߃+:ԛ̙t3 .(\O[ިiIvsX;'Iboh! IQf=ٻ-#xꙃd߅/ga=2[ĕvTЂuwu^9 ։ZQuYk65dendstream endobj 674 0 obj << /Filter /FlateDecode /Length 196 >> stream x] w7@Qb6M@8 HP}~~n=¢^Qc.{P@G#ڪYz `2 "xRKA HW3FpϪh vFFEiMXSeWGDnI誈nVK1y>U{:Y߿)"_&eendstream endobj 675 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1396 >> stream xT{LSW?-Z XwiAD >Vg0|-åG)J)z[(80%u:dhls"Dz?v};ߡL(73˫K+h,)ӛy;HD)0OE$XזGŀR J9Fn'Y|x4^EP% P:N~tT@7ϙ#h 뵺4mӭ۫jmVZNvmvqT\Q-4ˊEA-y4dIK4B$aRA~lm;m鄮n8Nq8x&>GCS2 7T@dT+YJ# DV؃էQ3 5Lhh$PxA&6)I2pa>{sXWЍV?Žk]׳%tS\KEM1 <6/| Ԉjl3mc JDLXJv RUi89vX) Np:v#IIē"9jETj@=p Cuo#$5ed߈\XU u Ng"Gxfwg,H5齤O!W.,͗ t. S2˞@:vqhNm\- 7 eVUhglmyy^g{Wb`!kWHb/"OA~;(  A<|g JWa3ҝ %<'r1Ojaw!'Anl٘cXA&< yNCpU#qņ564 {2"!:''3d,Ia"^@\!wH> tȕyS 宔? gW|O$ pj*NL~ɺv$rsh" 2h% @X dh[Ab;8sSװ0>y/ċ/: 1Î[)J|؟LrÌi$r[m[JZ/;?io E 9 |s[;pitD )e6u=+ǖ]ABknrZ!˫PeTO7uu> stream x\͏Gv^'om3;CD>l2H ҌFmCzWͪrFB|X4U^h`-_0\Y_ŏ]?o7/ap廋(_]m^\n.r-x҉;)nod-rr%lɠ G8kvЯ8cɖeLg^/6jki]I:cosVl7dMJh"m@]ӫfiCMov70w 93 ;]|2{710 W1Vm._^4_/i% a^R *2!iEU1yDa'SP1!,@, iuq$0Hji lZ]ȩt;y},Pٽn-nL:wuF8bU:os*!TrBL40Ldgm͑t g \t$L_#=\!2`{X`1B0^[Fr \đYK8@+Q'+JJgD(i4 q %UqOQ8b('<]_tZ29-ogtU+MZ0h΀4lOWp6@Hiej&d>*Zη &?Hɀ?|ys7wپIg(aR+F71uhMN5at9a]g)!<48@se,9v} }Я;Dz {U]NC@0RqD` _Y⶷a;\&  'IScOiذdH" ON*f Aͻmr?L0l)C#ݛ`[TC|*j5}:/|>lH3eP2UjPpM1OqwUpCw3pߤ7nW_D}8$p8V ^JX4?D8ou&7q)=w}2PR%[ `$21'PxT:uk E2@lc_i CHeyw4ȓNfRwT9o N=5gJ6`g9-5W3e`@H31l$2&.L8dv$wWqm>:UnF&.0WC>ouFm,2Aj{0EKqmrhA\@ko7tR"=&<݅gʆok+Ҏ$^_a]b}G~5!Qא wWc1vL:Yy&si`/4(a]aIhq2$v߂AQgͰm6J P uJ_H~)Žv3PXc { {⾉jؕzn~s\d%xH%Y@=H È6Gd+ X.a!ew1} Os SQR 87!85I dNp'2>Hjܼ0_ShqAڼ/N$0 /KgGBCw{%TN R2 BX1̟$Z&Y(>$y(јi173g5m9ϋ mz;mCǀZ([6]vm>"78zK&MKq{AF ']]̖l7$E8@}`ȁFqdDhnCtZ$qԣaM6 gr>nIA~@{pH8νA x.ms>Ek7k Y\d0Bw[B{C!õTgqX}l&]:RO207dnx }vIhw;!udBqePx@ Bxo/[033WhF^ء)1'%j2 KTEՀ)Cu*F0{N7>ă$ǿ\9S%"@k667 u$? eB?Iva<=Բmt(#_$}s)|?sS-J{FJbh V"YGAWaN)\JqlEӓp< `J!" exX 9}?E%~ RhcchAu\a೙HNk7t``y<)E=`טm 1Z{|wM0-BuyHh19˯bXQ|g '׻Cחss: ;4T٦>9de T*-bD2ٻ+9&q:zu{u)4ii& \X1JFAz#+i@q >qK(!C23O۬n%1 k5J `7ca DY:+0͝Y ª n OبL+:lv쬈Ňc8O2G8X*0!əf.nof˘e Y$Ǩs>ˑ PTfvCa44v`#bT ! iIW%"D2Si5<آ">QV&@3H,KSErf=|Wtnb+!Oi@*%cpytsIC]؅2y|.T50q`x `DN-5M L= M>A\ ;  5:ˉK9M<5T!M`C +B" ze-%iG {5^{'oyҏ"$N*MC("~1r'Q}Eh3kf{pFt zKZ#~j֋}?ѭԢd}=..|vQ 7o Ŏڼ&x_3'ϣ~<-T#Q} *sc55zL< s%󤭉+lMڮQ0H% -TŮU/#8}5&yR_*)}Ro9*?C"(i]y23E{8]!S֌Isd] Ek}g#t^X2b縧<eӼD DĄug[xYK<Eϟ*y'lëju!rl"SK~v!E:uZa3( 3S+T Z%#S W%rjb9UM3HM>n_H9F3 V|Q/|ذendstream endobj 677 0 obj << /Filter /FlateDecode /Length 5969 >> stream x\[#uv^;/v^zK)w҆سEl7 3 P;ӫ]l!=%RF Vx9<\] ^OF/nqwЂ ?slq̲V 0ʴNuevJֹ==K˝kRNZ'n+!j~ 2mNr  3Wᛤ7fu w|oC:,i;u`IǶ W e)̈́Z 1oVRJjn>êdfm׭vyrFӍ(;:)AeO46WIWu*`5[Ϝ/r'G?%-d U2H3b/3lB+ƚ;jYb;z6C uu`*WӠT4V`(ǣxעu! LBñ@58{ ʄq93ޓoz'"ј@̫"fo>M4~Gm2#ywߌڶȼiuwȇ3lw74~ܠ< 9ZL;x96܎ex42Tt= X8\ tg^R~7%$8l/a>( _Yeل6gl{g|O5K"h;૰3~GAgy$(̊m6-8_ٞyXRK?+0G]B@`4R0L%qE`)`x>,qjMs܆yA3rMq?ܠaB2Q5.boÇ~vG_6$lNc7jyɽˬ:rQx|넒@\=_h7QoO1f|=,?rnC;Ϩ p" QybjyX 3lLqϱ/9:(z' RMO8S{ڰ4.bHxʰ5V2tcdp4MC7:}oKcv U(=.⏻~߿]m=4 aR3ޮu21.Z(`Hкw^] u`N(@/9ր>W\͎rHp,6'bkF mfÐqN"Te$@Gw);Şb Jo/j&1=ρ5W`23+6c~ Bp;??7 i!l2ղN- 9gtSШa^"nphփ,$=B@Vv)\`psr[$ ܤtF&#*mbBe&F SLlٹƔu-(j%J(8 6',I[ld%ʡZF6:U`QߊX\dQQ DlY@80gH0 OZmֹL5: r8/ri;_!`$.PetBL_l+._<\5t(ygי !B4FifJ王a\̅>7%p㼠=c^J}q@Fs.ƀ_ܐezEps_}!j2#I5}YFUBOP4`U kY'l8x|dZn~kUkcтӵ`ߢ,EO'&~:)ت~AeiEMQ36,%L1陸֧sq~[]~D5V`c'iXKBGԙ@i =(>f:CLqDgf CD@cLyۻ}k/x"remq?쫵SoՊ1U-ni K f p> />c< 3,?ń2Z.9sgX!uz3DXPA*J"co)s(ž1Gl==rl^[A27Y@*0*E*0ͥbLfn-cBҭ\m8x =OߛO,J -<}V#KuҎ)5gyh( `Y7eh0T|= fA$Wg"d`AX&헃½ TJ#>G1@%|s,ϔoTd/K,=ۜB囹6-p|WE< {+OXG`1GU7 #W%,WR?v0B.jkA1 ύ&'4aq,^vtW|1LZ)lQxMabF>7R+n֌?'(וՒ,B AQ50zD˫Iu$-A?\Ly.QEhb$/ɜR 0Zh7SyJj9'.#+wLaW,c U s#:yB)9*-4&=)Ł;yHh_T 1B/]&I]A1;ShbmS>&-MoC[$&|t>M/bSe%km'y8NɩnVRt>Cvo#M2ʲpi[qPf'BL&•YY0@kP TL%O%:~bN-HV8G2+!o%FO;t?tI,V;*NN\P+,Fa0iXP%I_z`ĀoYTq144ߚxchptQN]rsE8%j6O/cd=)t2&񖺯+ NjJ+>t9Od>#N{ʍEBZ+?: 5s7HilK BO*FBb1>(JRüI<"C=vcܦlɄϠsknp_NJ;sZdric_q`G0]GK?L|eKyC x uχ*zg&Pw\w"5/01FYZ_,:#9!Xihp 5D:Y c^CΎ9+œ)_eqd?e2J/C{Ueƞz>qxȝC#sD۾vI;֖4>~/xuyI}J~ݭ7%DxcrT g+>27|XdCR6C&>XQGIHp\xsCv.lpF(jx0endstream endobj 678 0 obj << /Filter /FlateDecode /Length 6038 >> stream x\ݏ#q^@8İ^N Bݮ(Kt:~Ap%>?.V,:.n A.ovO/M ^Įb:ڠrwwV([?^+լOˮr qRJpE [xoiN-Eu6[TZ4oQIP]yUZJ[W|0[mǙ%F Fl a?)89-zOiG?\6W֧uI3=Ls[4/lޥ0(ekFia m՝6 jnæf'oY7KiɳːDgDGb(BF_^(Uv(B5oǤL P(K{Apq'mQO?%vI2/gw|n>^)p SDH˴4|[n0=4M|m_F̬ܵ)A:o~ |cm60u4Z:X*JZizVh*ohSaHK38UCfRpI[y:MNND۹:KL'SZM齊[^2%8a=R4QW? v!Z"o A`&|T(̂'1A '|ˣb4z "DAn"0 Y$->Lzc (E_5\ u\3qMCԲMW` [-2ǿLf1`ltp[]*k=NQKD,5 ugt3B_>#1juelyC>X:>SgWY6"dESO:Jy ՝WN!B#O!ưYb~1tAC!@FvPfrΟT @'IG)Π/ZJù{Lrk6뛙l게ϤV;6+nV. Bw#Ǧg䨌) aj`t02OGA dJu5!8Oi Ɛ<: gw\9.7sӯ?􉑖^0H2{d1YltĞf?ץ2u7"f~^2 qG/&@`PB,pzBAgujA0#Knt)RXn]*4 GOTb\N/RdS5wx18_wh a{)tURr=]gu*;b-!2rnT 3}@WFkOCAgs?=XE0TzUϋ򨮹A#@ƨ{iuAaA|YGi#&2 =QwF|KYGo4HU]U>qZ%;!T&Y d(dP5=h@BڃABaF_Qc'aK{ٜ+Lj>"8Z NUm"U5 -#0]S,ՏQD`D̕۔SuˌTBԻwX}6=iZL*y~㼑eAHZa4A<r`q̍j]rs#0MJU"8-xвRQl7|@'L9}6m ЮTV}>06+&x ]%[tsD!߻y Q{z &rG48 G!V6lI?;1f\]{hxa1)q.RPEn8y_ cs0Fx2KNS!\^)+'pW;\u(n31>0W2DH|Z [G'!=[D5^::DZa8#B0>cr Q6I=ͫ}-Kp2gVM])1&V{H&&J:νX@::.|t}cva?iuB ^$5o;;̱=]N[e=Ԥ 4JٲJMorq,)+ݩx#%*h8VD-?2ɲ1QՈVgml?k (8Qxr1׶ zJDB"l -ɍy•wZ啩J'㾧WOJRXO),sĊoh!v(8:,oAo>V h"941#mV`e7Cj0c$UkA(u "䎠S$۴5 SLylFMc=X3/*CuO(GZtt|tSmGwx5P6Xzcj@QDDijS ȓ3φ;caxފb>;0OŐ @p9o憼Y2}YOJ~{15mz./Iosl'Ub2 |Urc2JpZ]OO[c0ĜB19ST'UǺԏޞEiʙP z;Y"g@v|ɔ~3wKؒ݅Х ߃2^P7amT7+ \ЛXC= W:sdg4Cڜxgpֳ֏mdS FX^@TQWz&pO : 3)x5O;ƛx̢hzv5a_tG~#RD5V!BJXm.&)IURb)uց9qGrO>$8a  1t! S8a $aɠ_-Cvh9]m@>3K+|#A-t!t( Uqrz#jɼ:|>R!=+|EGqx A5ZqAxvCtT+9"t0}F nJ78Ύx,L-_,{1 j)ɃE%OIԅaBN\:& v+-Y?M=#@l,]~s ;ՎP\\}Q GU?[P~ A1ߨ1' FL,Zlؓ{CަM^fH?| s'U 행g">ObDVxAbclkʄ=kܷ3ئ 7{TyАN~.?Kk5^Nn؜ l½%>A":|*cYVyP6N,O~,[ k9lz_@wh1&tJ,±_zdr|~~-~Y'2Xg;#<ۙÔEgXm~౫cRl׀_,Dn[Qn8JD>nxqO_<7Tl"V+H7~vH*1(?_Ǿ(endstream endobj 679 0 obj << /Filter /FlateDecode /Length 4405 >> stream x\KsS|P퉓0ē@R9$[vS<%xs%D#ICnC$gՖˇ я/U+{y8>Ϫ_z<FߔZեpVjw fB&.%0;Kk(Rf-^QV]80M1v~)."vϻE{ʼna{JtKֲ*۩l~2/ <9Ҙ◷HJjOB+^|__ݳ:{\3`>9cr=Gui Pw;^T5p7dUm|7+ XUĥXnS"+OLn2c?$4 0JYs7qY^͞YE3Q*i0yl{rn[$7ćqW/>gpJq*s~?dn*VyvD V1=\_y>0U\;7Ż]*xTkT8(../AnAX UQ1|_WO͵h~5[fMF׉Hh@d͋Rw7N}n8BHOlKe@pND`թ]=A›}ճ:3>y|>ɩ️nTj.ewyn_Al/ Ʌނaf|*"J‚!0c 61O트z4ǗɼM3,-e O$wn@Q6:^32 C 73#A^o zN{e m0#,T9hWwCf9g˘R"q7QdHtYFu3Y-oexZf| X LIř]W#3W J3`j֗%y0p6Z(zt*M t]pF*EB(+8|?f30!<喴ZX?DCFR#t8+At7,&Mu08̋lʏRObL<&Wu]XWo@EUKS+cYjJeR1 sHUIP G6jk~v S|etQW6oh+3QtcH l?L8 ?a`R[2@kV W(-| 64`!U@ N?49TCŋ.A{[.VUrS*y 2XdϚxnd1B)S>e/?P,#:٤v!DV'o]ՋM:S~ulӾ74v>5TSeJS&)^a"91 grE((o=l9ҹ$45 cũPBH0P4o\@X17_8+ `&ef M]&32D3Do+O@- '%pQ8yތȢ|T҃5Scw~#T.ycE&-0eJĥcͭ{%ǖrl4W~ `ky. i\VD : 5zOnrPb4/g'+Wb:ku5%ZBٟ&àc ˕*(@Tx,.b\{\h8гٳ%ZfM ]]!kԙ~U<0TN,UUv(1s.Й#xL2?&V$SȢYo Q T]:ڶl]-EWjUQ(I59n,f"-MtB a–kV䈝+.E@.SVufn; f9!RHcr@M467},tqHKJQ>Ņ6)Rp fztoǭ)VA_JA^$aWrw!WFWB8 Ñh_37ɰMhBB=Ȑ䀛}ڻ[K BEBXF!_ \8vޭH]iX;DtYJ㩈uJPuqRzR\RIuM,0ӑimO@WL}{V.<+ۈ:AτLQfҴݔ'QQ:7^}DR G7׆tQ?OE2=9@SfzGt(gP{>wzj>!{[fWL͝|\4B,r PJJ^ K7)C ?drwbo0Ҫe#gxҥ<0"jS5-0}7),>̥}]y:p$ihR;OZ抱rъ5OO8Osr"n-W"c@fܺ(.qKg\ iN. r.l-ky.(8NS=11UL=F(5GM`Y.3DE29:k?kKX)PW8Zl-PԝR1"!-ծ a•\]q3qh`ϑ`_F+om*`ĭ'`O6SϐU4lrԋX(CX>Lb)gVb&?iIݱɧd&7Fe" "fow6rzӼym64Fdtt- .4slO-|uc,=E+jOpJ#yBtI ~Z|yA?Ux8Yǹ w>dJn{:kK=4qW }T ~'viPtʌ[iUWx X$_R4KWSW" 7"Wʓw E^e8]m:Mb@52kt5ʐƞ|-/f!'VlPĸB@6RHϨ,\;MRN2sJw w.˩tO}OV2q@I)ְ8DpduLT +crڸŬ75[3s 6or.jrlOpqS3=p ͒(56EVv=aisD(M5-25K[›_د]!D=dNe]Ͳ-@!&B3X隫xFKhWYV dsD Z13c'[w}|ꞘxJE~C>nȗGچG4+4wL 3llǹiCJҗ@b%}=*뇫~h6xxv'gngn xʣ7~Rʼn}Cq3endstream endobj 680 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 331 >> stream xcd`ab`dd M3 JM/I, f!CGO]VY~'Yv|<<,o+={3#cxzs~AeQfzF.THTpSJL//THKQS/ f*h)$f$))F(+k꡻g```4d`b`bdd ?SC7.g!^M *3ž;W[;#}i9guש%}ovj+[ym-ýwRO<<z7O;cyGendstream endobj 681 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 814 >> stream xm]LSgCi-bҍ=$n ^L̖l L>3Q[Jp ֶ~iJ ΏVm hLp[%,Kme3u[$OEQm}M6ܽtbwQ2YbxUޱI*붯_Ts;H%T`v,6l\]mRu9z;F͜q׬osGxG j~3Zz99u5<־W/BF jԉky^֢\U~KqF N:p2pvx[€d1B8}"ti1AJo1v{ݐ8$V$SW<TY* depPXB75R4FCco3W(LMC,1~l”rn3^po)oc&+SnP Swΐ ! ^I$Bymcfi?y7u3z2"r"SeHDϻN׈g3M%睤{> stream x]mLSwN:j)&cK31j0uq- 6ҲhKOKijiIs D&L/$K&K̲D/Z_}9yr<@"D|zYYEU6*+|IQT%$hYՎRmKA&x~|/Z9Dc+=f2֭XQQ[=T]svet-Lz "|b`XL m70oE֌B5I qDWK_- <>`#bAW2|]K]sd/Bl`~oID78 , AO[OR8$R{mnվL*?/cc>ΊCxo_[;r6z) {\XѩVʹqo%FU j0Rz)@t9ܿX+NY!x2#;饸&v" j(AZ>[+@*L%ݻ d*⬽v>w/ xi-Κ,?yB!|-nlA}[|eh< I]Fi24_&8\o]1Nm&/t"B%o&́wtp_w}x<%i\t1ѩ{#^}rpB3{ܞNJi cm~ {>pf0]Ɔƥ% qEȊs`( ƆeKt( CC^nBendstream endobj 683 0 obj << /Filter /FlateDecode /Length 5160 >> stream x\Kܸ^_7P˲*$9h3]+&V;TQu,GH[ TM♙iji䛿zs=4_Oo6ߝA &$(ؼ ?y^zlx..ݗYmEp{ ᰻<='2ڪ͖ZIZwukzߙ5h oqdE/u]=-rpښjRco>F  h[KEru$*%A]aÄnZV}>U/ڪ.>]p&J*T1>.͎ٙ"f0:Wtۑ_[zv_{tדtCINr4 30 Br5[e) ,+ye&qċ O j6g!^.jijp H`T%xvDրxo*8[ixv2 T9czDwx<$ dy躉_1.@5= 8 )۬y8͸V"-gIQwX` y AS%RJɪX;ܝlL?z:Y]uC;\Uu(M'M?NL423?̏F;L]{jI=Xh0E`FxjeصY,T}oyoēf@g= @祶C d?5J>nK&aޏ M2G 7W^KK 4րrߘ٫/^Eu#Κgxe\9zq%yqbupjD03$|7Ր!K#^%kG*%erEjBSZlR *F9- o FT:(뻀/hFH^`;'9cSQ>ZJy@Ja%v`)3b Ooë)Ru8V("C G^ߊ[~zd· 5KR<\P:Lm#P jƒM4@Y#z>DB uQ!20AkBؿKE ,h"|Og(Eh.)5fLucJp α;Մs^TY}8Eul:*: (ܶ9sP)YfHp3lXyʦ10AZVkh'sH!;pFKMn_ <.Dv!š52Hs)ޫ@ƪBAtUѼ6W<2 P&m2.o=BSR)i( C@tM0wdj~@ֆ٬Y#oՉ$܇K)_2⃥? ̎,_CD3J;M}vGDd/vզ aPU[%\saz%#rv@bM?LIrd]) ۘu8ndˠrJJr& Cվ3ΉwΑ./;b>2ї ilB3̮ į aMqJR`OhŌRsqƩ2iuk(, Ԍ#$ KO "!x$lkxNx_@&ӸzSCB/ e,܀!ܿY9X/I-.LeD!ҁ/sbd i yHE(e*H/#bdpƅع&s: `h.^e8yNۅo\ԏ]a[0ƆBZ*_+6w'AҢ"*{T1*^*2'̏by cIVTo^Ra@ AP>zfܺD]VoT3Э2 e6xﮙ$XfN%5DSխܜn'ӓ Ob1iR(@5p[VNd'9(ATȲa <=9[Z(toa.3_ Jht+!Jg w(5\+K6LJc bOAXr;]qaC\QA}%]~c#1v7Q9t.'/+u<,gt7 4Cn%WGpIni.eSτkY_ҼVtlC{*`.+*wL!bv[ވ/a;(-G)*D+ZwweD6ߍYm& Ta nsъ5Xd*Qy#fphRK9VJ]ԸJΖ4d$lg$t7`@{H$H4ď),)rPnb!"-TecI0̈tvX+$&@cϧS`r=Ǡᒮk W]u~YC%]mwEiո&!oK= wѶ ]^c;#."4Zl`;16p-0b>/_G!!)OwuO8V v1 Kj)p= kLϨns=] P D=hH_Au}y9:*ٓR-2Yk-\Rqt˗B>vpף)ūϟ 1Q{G_o:Oy?SEҷZ<X#__N~ܲDH>0q,4;7U'H<)q_T-6[nz7P0W|ź(2ܨ\oȐ~hLMӰǬCVu@6ZPg^ Q֮{b3 `[Tn#H۹~UVW$ɂEq#~{,gn,8H;Ť{["Z: CA[,ϹrW>WbJMῇC&xBlbQgs;vG'xoH}2BYviv\.@Z!i|.9D n)endstream endobj 684 0 obj << /Filter /FlateDecode /Length 2140 >> stream xY͏Ԟ{1=Љb,MMlKA5ʖ#ifvP4{)R"ez&-dm||~ g"C͡*RF|]뼻Y٘IP4Ci;hDe\Xӟ e~mm enj4Bn aܼ{gM%I5I&z?3t1z沵I|i™"-ͮ8wۥ>42t&B/qE2"ly3|r>A)SDp_tB^<"k& e | Y :݌g2è:Fu 4(w$\D򌸣8=/'C:FA&`E{qZy[@J;.X;щij/ %uN8hX! Ep[6gq?np!W0@d@~]w<*1YIa4xES}EUwzOH;@,a=a;݂ @[![0d" SX#&  Uƚ7QDdV-@!SAQ5-i&k,Sz*@];{?-DH |Z͛'$|SӔ;D*K&(i McT'&1r؅11N~f$p40`\~'Wt@]o\V}>Suruܢ~G[Wn F7gnE/՛XΎƯŹtXZOku~v٨-c_x7-˭$Hwbiy_lg&+V>*3Q/m.qv rAvuٓy{0vuq;_Yt 2=C~`%zx-翜vׇѽ/4V(HkFx=.4A+NOncY=#¿߷m-@Ҷۢ g." Wosu\U-X+X[)n"w=HF_j{:Q-xB. ۧVϏY_j5|ήšw+]"p>Pӫ=mn4قNɿ0e[qg癕 K3Vz s rNLF(o5L@`1 Ӧ\@30"PHi }, }CP ~_mº_DK~v juJEFmWv9-;^eaGR#G=O^v7z:NuYYry!PޔD¾əC3ҹDŽ,ց.G<&[AJ &[ohct  B 9rPify&y6n<聃Q{.`u$ˋ] )1<[d}ʘo&ڌ%!n z `z>)ۨ Д_d6;?DÚI(:jH*ZίoyPd g؍T/QrJ5BQ4T{_n$%PT9$d}}3럟z`xmV`scMf}k&Y@I" Bo< ,/ Twlyf,[̍wa&T@']Ѓx= h =3U\Hƍw|dF%6ouSe7أANj vy.܇,0+NSŧ\/feof?endstream endobj 685 0 obj << /Filter /FlateDecode /Length 2854 >> stream xZKs[U*5p{ƉSe1vɑm&1wWd, !=XX,t wݣjqݝ듏'}]?0tqo x., jyS.J q9yK4sRӲ,J5--+yQR,.WP imXTNI}[`yi M$ZE&W\F)*? rnoFJpH2aȻ${Ef-zXeFKJ},i3]tꚾA{-ۄS!W۩3:j7n˜F/rW}+RuQbiF>AA Ȕ6zjó? [ݔLoBȠU,sI/N; Y.&`D\( bkY-9wfL9Ǐ{F 4FFKTK Ҧ >3[ڦ?aV Fp9][V٨jSUB a2<|՛) tuWo ~-Cl$ < 8$muaW9F7^Qp@p6<@ K䍨twj/:ỻ%a?k;yA=z"l:"fwdȺmTηޜCGMM/1Uw\"ң2 C c_TРM[HBA%`G>uGq}G@G{LpU&J3|Z*/uo<#HGFIϫmZ;aH28ZE}fDs'(% rlӶYYQ # B\pNf=>ie0ht]s G2SXaf0RMP<.{׻N+# U߄guxuC9m(8!7~2w%Cq1̵[X= D #L{(R;nb_]{6CgS!tNI`4=H>fC[]7q ~B+Xs~6U[E\z^}H_"zz,:##ܷm[\= 8-a#͎΀-*'F/3x}?cef$~1{Dt4ci!N00XIśiɴʗ7sj<[|wk$"β'0|n3I'M#apr-% 7t gyӊWuVr3 FM̢#/<i~}[H5Z9> stream x\K#q6>9dKVšE0i3 `_̪jTUW0\;±Š%%/`]_|wefsp=Ex_·VK}y[\sJ(xNI٭vLK˙gfK3Wa}SNz&߻^2p?]dGDRHlKsw4r5RD_Bu߽^qꆸQTw?Z9`wo#ܹL˥r#,m^8Qt] < dQtCzezC)= =e=@Ɍ~;L6n=/|CDC'%{@iD< ,SCM.#iHμUztA7/>jK26B䬍hhdL8jk8smpJ5/|FYV GDfiXy|wXJuo0qt0s<zcz=Y G? WaO~ 0rU3R 4Yg? l)<ؕ@g]xf U04rO>j|S]n)C=n lۏWs?.ƐH*~CB)&jQX\wEbLMxG7ҭ(la4Lv F +_䩔hlL 7SIW>kܮj3ٖF93='TpJyG[e5yθJl ΄rooO BlOk pW ‡0DhOqJ&,iIR8ұSsAF[8{q2'qd;y,4LBfxWuZR & Y[XM ϊACU"-aWTYK~IIʁ$І-Y2JVxP"T Ke,sFBe0&ˀLLdʗ]$WʟɑfdvNN5iSnFc>N( )zͰ? S[lϹ\#;0+'WeOK27?Hk9gS2Nˀ+f9v>VQU2` RH+h MҴ7{,!S:I0[TplBʬm$"*jF _\}{j'PPSnj TƖrlf{'/ rf5yϽxb,pOR"\G>ȮP[44HpB8Gc+THXpds@S3Y /13d]\ @`26_QӕAS0U'j>V8-<"cG6<ج2f1?1DxZ᭖ʀ;QU|Bh@( .Q bp`ouEhO7 wӺnՀpeU(ۡ09Y؇66P@X_m:|l?'Kb`ݰBM_vh^4`ަ)ܱsqJn {BؑA~Aq At p '{qM;=| a~_"MaJF]|Z|%ݗ́?Q5"&a_!jJZKżj?ۢJB&YV[J뷡7'dR4Iw:ͮTc7]/4B@ې6+gop'&w҆XX}C]}1m]!K,3LIVvv"28jW'F9DNv'oj-Srao[ݪ̘՛mXd 탼tAFtv1Pt;veMpZyF˓ٍs8p¹23baQ`xi6q@6˰ФP۬쵉 |_pL$ 33Jx=L^< Մ'p⺢xc[ +COYY0*jf- khhlflm[BIs1O|IFێKqez^%Zͮp6Pc9G]=n05a1؋aZi#u_|#U僉iVwunpuWUaW,BWw ZfI%$$ ;+ 3z]殣Q.l0PM8;JQHb~} ZLO德3GPBr55ݺBY/c)ޅ8QuM4Y2)$4Ƭ`$]LVU;1gnb"wtDo&(!VmlR %τ&K5/$( ty8l_vC)>[ LcBZw[Ō& 4XoFG Jv9hx峰(C 7mGzA`±wZ'ѲSB*})>)+pan AKi3/?YR)>v*=2æ ,؏OҚoʲsoH!KxekTT⵱w;N{ 꿊y281blͮc6y98\d?JaG`.oe\eLⓚ=%N4ynjglT g-@nqA k')2r8{n _|yW.Sob] V^z"0Zy*Ny׭AxG#0۞U䳜;sOw[L6VB/!rVaޥLaC`-j~RxnuGa=cp Sm0sfw`[0;YB$4,:HvNMK(Ŝ& 1Hv'}cfk+& kG$XݴRΒZj|dKSV3Z) q a'=v]|X ;W%svtD6['!-yQ{3/~^Gь}5pt}Lo~]iAAD"> stream x[o{ @Ep}pTN-$@ɮW!W>A IVܺap}J{=챒uwP-?vn8<*MeŁ,&%gl* ɲ*+Lqi] õ.^FΖ1|U|B-uѮݭ8pG7U|]ϣ܄+j&dgtϣu뭝F"Rxe1E<c,ln4ixU n'N=k C >0B1Kjn4l2)]<xDYIq|y~ ZTTH⫝S1FR;%LRlC؁.k_VF+xD-mSrqu-8UDj 2t4V8+mXfYF'Z@̈_t|X!*AXT%$²FYW<[14x<-6 ”!I xu{ut@m>:\v @YqǷgh)>~tT} RC RjqHX AU BnM' Q ~Dao"W{ `?|ԩW?H1}&L ލDvu֖߆'<&R|DJ<XVDŝ^EUq@[)Ev)Z# D |8T&<+GMyH]Y]mQ L.1Ḋg:14<+:g}vFAPe`ikxgo?'14<_xr{^r!BH8%'+XG,IA-9/GA|4`04ay,݋XM?p&;Ïn y] /yzɨ6@aM^6CټGjkRYWT ]ztI@ёvCNL haq x` x-m@A*΋ƊQAجpe9g 80I`m[(G hnb Wġ ɽ)p+<?#@Q܏s+I"#BH4E1*сin^b]q/Vq$ZúDN+d1@8Zq)֞Ш04 s!DjpjT ߹kcygfl V89Z:̶+ &2Oྡx$nG%e9VK6˹M2/Z$f{gRƋ*Ε$ FӝWڐp5VL)~r-=0&oYJxP0wez+T(FPڶx؂Q3J'Ld!E*uӤKvv#-ݵ= yhX{ cC܆s:zYyQ@'Xƒ:*ht*YE/&d yDTdGuZR"2"u"ryQ }p`.0fȅX<%|I0/"`vb7rSAڤal2z V1޵p=+8T^B F2K;߬dv%unb/7%Еt HK'x%mq^K/]VKo pu.܎}]6qg臱UE 4?* i;@]v1 $ͩ$xH6[&[M}!=ȵqyDS;gVivIHXd YȱO3  h +VA͐>fL+݇}=F?iH(i\Ky0wJ ;ߏܤ^Qϥu]<!8n^J3C]bW `fX"dyxQ*JmnJ gjvDuj- !nM<ۤ}olzSCU&>֣yB g'Y -{wBO7˩>:~ ZG25ve^9`oSefendstream endobj 688 0 obj << /Filter /FlateDecode /Length 9935 >> stream x}ˏ$7rOa/6`P~,d}kym$̖=$`LtEL2x1kkppt_Jo??_h4P~kFlQ7o kDgxwq̒(oVyw.JG-H:;]r6["[>?\;,626~19`Ƿ$?qunX7z!#aOfT G!S^wǼؐq?~wxsT4ni7-9{{-PZ۱f/~y20됂Zgk﮾֪&ުSX+b3o)O *j:Jn}V9γʀ ke :~V(>\{,Me$)eU*h[5h_*EްVB+xZphx\AZ b GeDF kĠ6$;D{z/$֪/k)U_֪SX*UVU~YNaV2Z5Zu kU嗵uZ<>#U@iA`asmȠS*>X.¾C"7yhJqu*H) j)V@n௿(MAgpo1@2'=S{ekhY >!. &|uvD01-Ftn1&9FɈƖ91%Aqo0 h1:o2E)1M(J2dDpIG wmDԄlqY YBIH,愄HiEYEo 4 i ŸʥvmW D-HMڄM l2Ǯ]&ʴ7l2`Uߪ4h4D\ @JZ氨̵aZ̵'tGX"KKJ$J@U 8i3E PySw?~5E[ &"&M4כ( :6P[.n2" yWxLsl`*H96(I3xEldlb:Έ  F+)(p%DpH\ql`E{Dɠl)S/ 1+TUve$N"b,ƒK-(HHA\B@opH{ƒ`K$Ģ#D(-#LD2P oBW}K䦃$2NYk#+*y]+r^Pd/p, tjfR)b5N"C"OX0FQZ@Jf٫0h3rtF i.5bQUc u+YxT3UNc6/:/!)(!Z ͌\S\E9T\a hDvԱra]%.Cc---έ\8r[Ǒ VAԏZE p2VQc+I --n8"xGZAvҫ UJϞױ粕ְ0 @c/h~nDdCB(~ J/->L+AjPXKYNa",:J_֪SF+tVZj d:rjVN  ;|ƀT(JK3p|>ۨjҴg..p)bBŠ̰VZUa:2Zuhdf֪ k)U֪SX*3UVUfXNa̰V2ZhE۔/JhӍ}6orRgִlsrLt`79F1X\1l2Uh=Qm[_7D*o2EƔTeU 턑W8-0ƄskeAe6$j I[[ 2N!E6tPt #8͚R# p`߶9kjZ N)iiZ:7iJ@를H#qdmɀU `VM]yNnlRشbgJpXg5ڕ5ѕC2Wʺr:}\݉I+\;AwNP}x$jʥkJ ՛Ů 6yS-jEobgаjY ] d!Z QsPd/O%8af'. f@bA$>Ѻ{ϘH_|vK#iO,ۊ"{I|K':A$>p4&OڻV6@uTcaJ$l5=ֹ ls _bBȩ].-"D:ZjUEfkfL D8U)xDjh}ʄ,uնפ%Cr'{~D=!'Taj7ഏx] X2'QO wOt +6;|ˣ@{ 0#LXnE6۳CKLÖNg *f׫k,otJT~"u-}s`j 5v?5vtȣ,MimtcY),:3am>^/`#=e s{i[7pm`\cX~cXXJ@-LfEbFZ3PK [ja ZHԂVQXYGmt@-Q$jBGW鮭p^Gnty[nX-inr@v&׍_XX7!^"ms sU["7@.Q$rKQ8 sQ (;!D.Q$r}PG.=)&Xаsf+9Ű#b!αh~XGV<?տfO,k,(#f|j B#(V])'RYZuhW kZW keh 1Aa0-f?(w k%kܸrIȯ\rf̱1Z&[נyE6_[kz+v Zk5Ak5hUbנVފ]UDmSq5WݏU\`D* ^6y ׂCG!xG 徨M*%_&u@C7X_@k[$Re}":M@5dECT#1+6`@{3[T3TOWs1;Z&n;Zw04e+q!SG~E, =uEXMfaUk)@1Z^T2e;,be; lYDoKÚ$)qwv / 0wf) ^ 5Om:a ,V_G=?ڿO^KO+W'S5ˑ_|u^KT.~էtVpb6zzqd~: #?7L_vv F> h';4~)y;<~H$^j.:SJ' 6B]-q6ޠNdr`t֕Sd˩PY*l3DG8EC;h Rl.#5+>i^{]"x>kl\Ӌ?W]{Ƿ7&P ͭ4Lvߕ6.wm k F#펇(e^?t}B=BO,Q~')r/~"K )S{ji fW>P 7 aů{_bk,Pw["J<}f?V%Тǝ`sɕU ηvOlOvxϠ[|I:߮leJ|V &|mɷ.\0/gOB(am$#\Źs峻LJQ`DL(fwo|Krƾ1NeWNn$9 ƃ-sSfv^&*;wu[^g 5}I@yw ȏOp}Jł7 'Ի3̔@Rvn8wXWkR ?ª"^w0eg(Kb<ذ.6CAZG.h57Ze>!6g ނU@\C{tkQԱvL:2{x.k<#t"6K|Ǥ )-ArBT , BQ^<ŚB0jE!GD_ zE<]Z6 8_翵o㰰j߁Ѥ5z{<ܿQ*~_&@ Vš_]UWKKr}0; T/ o/g<돻woӓ0+.υ".`O  -cȕwiq>M3/n^e h"绌=\ֳ&<L9"=76l|Y: /w? Bu㪍黍8O3eTܨS L6#D N?^\;ScE2D'Z&%[l=iDp0-/{ݝ5ɈK}2όYO[vk][_/RQ`E~ f ]wYhP{.m*w[Kɯ/g8^k.dQł⽴r %t,/ s,kS+[ {M]('Ot|ğH)3'S Y<^gօv}xK?4Ts;-D7|/CgԜn$Bl…WDZLIgEamjH5]?-嗯G`C\}LZgM㐑i*njGlH}`g]qmi5kn/+9-uz<0xb~Cɪ~SSR} d$̤~FB^&m8}so֥Ɋ6XG{_4M(_>K[ .e掎I˸n|.x͹He9tXra>5=YJY0&"+書xDȢw4<(tIQ$^YLjEQE7upȴد]\Ck>ɜM2S/6gC賟'Gb=̦m^arg- ߗgxvV~&&n;B$-_ ӥhNќMwxvQ+vlb UJqCO8,y|RX0q~`1.DF 螜_9;tP*!0ם\="LJ:9Q1~3-g1d[\*9ۄCf7r}*t{ VcsS-ÌdWw;.ǽ]f\6dLk+⧜l+UXvgS!ʛ'ܗ4Jst|͜/*YMb$p45B ]\J/@`vsR :6"]}] &p:nOcH'`MFO3ws!e)f3.%Pe!Er?bn`MG{~?K1 xWR4.der哟fk>z(R@17d mGUS`6_6xk̡u'Rn+GT+MZ0Dׂ*ECӤBu@jָݙN1CI씪uoV V`1= 簿=_NHUSEUM2ϿnKmԋq_Θ,5(ro驪%M#念=`::֊'DL$28l6"*{*%y,B RaQpVrHj!ֻNJxdK ͘d`/43߯s0/&IHJstPAovX~IdJd2 +NHVu=4Efao/+Tendstream endobj 689 0 obj << /Filter /FlateDecode /Length 10140 >> stream x}r$Ǒ'3kcb(e#fm#E,gW;lbwYRAxgeԘLR#2yggOwW=\re^]`+s1ׯd]vŅWwWwspe-ezؿ_ͭs4&<8{gXJ;1]dtPs8фvWrƦlb^㿊3eȇp^+-I3] dͫ?]}3P;v6]{??y,C3qsܹ5g2Þ}6eWO![Nm\~~WRN `6O{8K -BEW_\;[XuqEs}' %юW_]Cyry#:D`%aCVw*iXv.KX.,V? <u.lƵee!f+*DadvJ XѺX v^ +%'(*L#婤aS K;kY(Q q@Hϻr"r{^`u\.:D`U.X"* XVCV5 rU\`u`~0&> l˞ jҼ3˿#I/eS"K5d$PT{zlc b9,ٙ!,@`ő=2a͵$mi"wt&|AxqF0[AYрɌ]I[.vdldBd%7Ψ-cE3 5[Ok,qm'SڄB<"088| \w_"Ҍ**DB[7+i.HDtw#/QݵơQ=7:ŭn`q^%jX9 [jcM$jMX.ģd96R 8lƦB3ɄU c^U++Z/-TZwjoaP¾}rm"KXB{U URU8QL g*p>~h햪 zpZ&tlo\C~IYs,n :v,[@B]E'uAT,]Ow%p1$].zXi.yli"8p6r&3t8)r' !pa9ص (cdVg\ (R|DdRQG":Y::xs@) =%@$ 8<Y+d YR aU+c /s. ЃT8?˘U=JC - 3!9 e a!FjrϘoDp/iW(‹ bJO Tz @=J=Ŝ.Loo)<,rweQ#=]p!(2)(#.?A,:3DRr!!:Èȑ81D ""uFuq|6vS Ϛܘl$@@6( VxB(6jU7BLXTcJ/ӈ̥ԢSb QZLaU,JLViA 1ŢӘw)(1=j!3vRLACt@(-@阔Zc1m -%ѣbMvy)":bB< AO9 zBWX1 1XYhMZ[PWb-\bC\CjwR0H?lOcaC*RV7-mpDDc(B=ۚu:|{ٰ3W(7^~juwC,L P 6pؿIO$34j@D"D`%PQU"2:0ꐁfdmw5  ^, @`ub"[~@%VȮ잱7g|Tq=~{4cӥm3m̲{f]ꞑ\$:DUX"*XgV 3k@V!UyF`u<#:D`UX2PCmJȹu/!kGqMm Xco0!)VI=m|-f4-4oQp6sl|0[F`&]e.׋C: CbCInZbݠAuc"~pjf>8L\tFq i`v`HM D45YM 30oRoj&t~453,b0-M 7uUV0aSXyw5 [̜ OD^W/@(1q}-zw$@HXi>&KTpMw=MUS@׼1zW=M̻;ΆM޾q7ifUn\sB7x;3;`3Wc;e`b.lt=/7w SdwÐl(۽h\q a~B`[lǷ`+2`E`& Jڄ=0)-k\v qiC{ED`a= AG lI:0e?2|\["K<,F$*8MUZApMC(D @= R`+S 5͵$'mGg@M(q 9l)dlQ*E 6Rr+2\+̔=JQ6@Jw5q4GT/y밚_ Q*aOB`\YAB(pʭhQ\!ϑzhր,S(nX"0Qdˀ,>Z4/W!+;D`lpF PQ[?thX2րJm!R[`uX"*VJm!R[`uX o$?.mxٚEkϭ5 ;nM ^΃׎կXJկXJ5jXJկXJկXJ.Ԃ=geX߭'qC3؄Mrx͆\KU?knwV= xC3%Ձ "OVV3b尞6'As٤ 3FIo.ZhCg,:?sOAw2P`zУ(`W:)4S_tft&_WF7GߨklWMzV`nVk*`sLBoR^Hi mIWۢ[5@ M}+$ٵЛRy֛NHJ 6B1 s6sIv2!^d4\4t5m:qkSh6|GIYyxng fsh{qIT< j0lJ[4tW_JLuJ^\}b "|3*]p=`} xV3.YU0,VcS[4 %Q6/B lsQWV&Дfp`k{F8`vv+.F_SXBڄw@~orS n@tơ N-:@:z,n*kg,?֛\.UVnPHL,F<+M3_CYdRnj2 ztُU WDRZɔ˴'N{WDR9]RڜӅ9Ăt2&u>zH F.v- z `)D;Gez ΂gL`7Q+G. b0cr9z7Of7D% zBc݂,Vċg E|9l4)#]aeh 6 NհwpL'ԚD؈ggK*Uz6Ŵt)~.BWSM-(B !s}~QZ,M~.hX\  J.ަ!i{XVQZ,k.R,,b9 QJ,!`ʫ%6i=J%0ﮋ%fѣX{!:f:Q^%tz$q1Vr`t,zִV{@,4z26GYl7M64kC@f@$e$E;~wAg[EڱuXpiAtKŽinP.%/GvDV.+0zjO+ 댈>N 1up͚ l=kH?wm*`}V[6+SKf'mq|00ԙEZ3\wܥk]wZ 8$#B;A1}vGg||T>O4k#z]rZ+j6D?=W- Ÿ qת øir<Ģi:B4uziuZóڏq{>ƌ+` ^/#J٫(~%ÉB폿=o-L5+,pWZ,0pԴkh6Rvn0(',&+؆<,*1`XH,X Ձ +bӟ i1[-&Uh;U#j)rf&l;gk9cهOK3󺭮\\h C7,`z@J0o/yPu%ή9ށ "xg.G<4lң(ah'|pO :[s8B2)Iҹ!NOU^'˳ل]wwy`VE{jmc=W\Q `)uRae:%Rnh%rY|/v>${8vڐnZz '飃2PY*͹1/}^N\5Yѭ5r؆}tz ` QF%,p/Gc]W7U'kpZ2a(K$& _k̏8Fl7d*2\f7gև3rwo@σ:s{IL/:8q+5e/և.(QU8ctXxGz= VSd͋o=2HiZILXE?%S"?I+V"['Ѻpb* =VNC88yʅ+C"6/ཱི>NhCc_Wdy$hscsNL#7rCLNT&W漽LJ:}[I2 tT{J^ql9VҶ Ed >6{1yu!yxy Z~wQ9%06"{f ϣɋkF:/ZP\s&H~))R8z! n,l|؞*"劶h*Y/OhEA=3h(⦦s=ߴE_ G< 6zؼ8l IucJ'?7_~=K) e%[k|+kl /{aVe0n=Uts(KIEs_jBBU<>QY?T q67tO79`Zn{S8r*gI7+VbRѳ9 r1[X~1VZ~j޼e])^@IXj(o`]k9\WTBgnrK̵ۛ{1Rк`i*S54{}LEsߣVC<*ĵqַP?ڛWendstream endobj 690 0 obj << /Filter /FlateDecode /Length 7850 >> stream x]K#q]77f׻J$rt }1Y,,wf֣33;pX;HdUWeDЫ̀W}qo7En?/7QOCRoPjpOmtZoj #6>Eci|ԝƘ~P1"GTt]W{9  HfHpFئS:lZnsz̓p*mBa!nVDrBMm6OΆF=V~/v͋?+)н:ml{5.6WxQ`7߰9|w׽QqyZqkzc8W0@#jƕRĹe 4ud) },¸LR#e"+z6Κ눫G7 r{8Wp.,g\"lRuPWwǸ %a=\7F@zd؀)iX:fR25ʠ{2Fa\EOW0QWS()jUq5E:QWS(#ד]ODdtopdaO7 >h0ccqC\sEM]!)lavpx%,xނ% ׻ͷLK[gSƑ>\B1JO%'_nC3Nhl᜽ ƌСZa>̠} ƌv[v NVhڭ1 DhWQ0Ӭ)SlOOld e"[d=Yሧfd1εlF=`,16IK σ%<-ѡ\躮>@\C5F'4T*~yGʮupe> @!r7 7` )p7`5<\x^֥tzH^T{>wb~iڹ6-K^P(QY0i%#p0`.E178 XxD}BvNDͧ!gpH@Ai)C52$BkozOf73@9JCHx'p,*AKQ@פXy!Փl1OC,c)1zR1 "2IҔÂA4&V^P(Q 8D raHR"GxU&bVIPÀu(n.{D֐[d'(>cMqtPQ(i$ap69h9R(i.%n 5{Vf#E ՗B-m[hLI 9nZ,Q(aj+}oБ"GI '1 >" H$m4i8mQaGm4e;6(rQ=$LtABhBA Ng!ܳU!9xy1rBx|%VlLu*BWG21BYbpjs7C?LAiNA2亱ewzurO#}v֜ vDCaޑ12Fa\1Fa\I-1F`PF¸Ԋc#qzF`!6 l٦.[P3Α2%aZf"G T!ְfK,Q(n)ϭts+e1HT:.0+K^Je2JXi-T4JEV θf`ϭQ(a&xQ )ʨ:"picIZm<gK>]E k WH39+ǏI'¤?~äѠaBv^7wD(d =5 :r5e6o|) /S%0clk) ;\DHa\` W0l)+3Ha\ h))ʚac"k(#W5RW6cSd͘qY3Fa\E֌QW5jUd͸qY3FR Tˍ^Ĭuū!} &P`átxÈ Wkn\rMܕ7q76.6ݸX7NjׇxQ 2("`P1U h+Lfqv dXۈ4uզgP  ѯB,˕_sω~CNЯFFe"kĜ@ڱ?Gha5ɵpTl G vкVBx@Wժ@E֫[PiEs0V93YUiuku7GʳJoVU\?%GB(;jlZ{#XZ&~l~7?`-6?|Ee t*U{6cd=p)r(ᗪv$Ϙ@ QK!nr-B.sU"uQ(^oQcgRlI?HDM-ckI-83$6k*B$6i"Gnx߆3y#b@K.#(r(@0 C5sRXFĘQ&DaǥHAP~D+*r% zB&R+x,4I Rʦ9.Y"H~Q TP<疿pe] s+&գ9JX)^)Sh:Nf#AVCJk8b"Gq+U LfjVެtAJyJg?ZHyϬ%oJ9E@&j.ٔ]`RNFҀPV:R&P乕̬ܿQ(aȭԁtȖ2$d8mۨ9Mk >%d*3q EQ~yQyM;"kK"|$<( т{~}|^G*{,t޼d f07vx&aKGΗݛ&1θn d& uqCT;8<6;|bV V5wU"\OU69A-ds sz`wCB$(R޿"ژd wf̧BHC*a >VOq;7ϜR^2|9d^Q\cޔV -cp/ˎ.a&?=u۶\vy ͝x>,MSoprau-VEyޱ|~ow [Ƣ-?|\fXu;No}]mUxx[gw[Mf8WlЩal}9(ȲbD|w18)Pz6i2Ģ4$<ߑRÐsg{8,_X۹'d<lj51JB/0GgY&М݋m5an+`F=ڏ¶ԉ~Jm9 ߏt`{_59Sؘr\ )$<ɇI,^]5*j+a8b8 ķPKWe>42Fa!K@ofxcH‹@aK^?9)+N5h|mj,UߜUƂ^pt/Wjldfb=.O۬>: ;ŚfK6SQ(y1eqؐY8hO]>aKg!q=Be ywnӥИ'Rc!0ÂOД>Ub,-(-_nWv?m]nXĽxؑbM1aEkaoU=KP)cR8>(|N z(Lw nʦ P/ifʣ |Zudd5<$D{m Y`mgJJxpUROlsᢚULt6KUQ pKL q6+q+U ~)-­PL)9<9<Iz/d?NG,iTIIs)ś(j5/G! -!V`MevSlzvrd:*M ~r,s+װ!B!sL#K &q<ݓs3ݎAyȏSDU|cT)+}>[lH!\ u3tLJYfQ  nAc 8[8MOHfmR  ZoRD2L{]oY+ݿnZr׷mrѯ@TawqÓ&f $C^\c|)}P>@4>XX>J A]EBC{m$w ٹd[bL.)ˏ?"/[>kyE{i6YrZ_ECQe" $M;;!|{e}WW&.a4 nLW%?<:/W 镸/qPӫUl=WPKRS=Jc|AD+ov M;NF\"K:05Կ#j)='AbFBn-ʚcK< TEۜR>'ic旹@n}ڒfzYs7/h%j\xC\WYǫJF(As:5j&?B<"k"r'tE/;@B/ _ SoT BJ!Y2J^琵~wg9,d&BiiGk In$en¤H!3ɕnZUTB~٣ 隟$tVB& `sI;5L6};IĆn&E=rڿ|i>PH e{ʠ=BMAhَ)qT+6]°?FӬutyC_lܤti+X4-u2F\ҎxPmLݵs|p?H~F+D}.z eFr>VE@UBs1s>_+):JA(=-~% lx^=ii$,S[?zx h5OŞ JO4/+%bP,2f91F~Tߐn-a~lE/#e}wT'@S="fY6l ft? Wi$WV*ߝ2+K`<\#IJ}v < &xvSG?f9#p!᯼٬߳rQkd.m|^}+PVB{5e-[%>eKA%z+09/v:f\S06>exw $̆8@#h 'ĮKOkO윙"o~8Nwv wAM'`z@sAۅOb굑9UHuQr3riJ燐j4/'2@K<T袱n~ Hs>Kj0]Yvwf0w&؄hEEj?# 5w\q|+6B;_6p` [))iighBq2PH}5LWi+Kp_kLNg>nve!?Lun 5ӘiXiW5uB/'@ę3X~vpuN$]O0kwsc]jڒ=cu/.smDOUZ K{s7?dƹ4S1)Y@ f4i.@smYLwVFަ#me$D|x3cb«MiDu &endstream endobj 691 0 obj << /Filter /FlateDecode /Length 5696 >> stream x]Kɑ>^< w9ߏ0e/Y,բnjH_bݩJFEf+(~Z. oF,~Es PP.`͇+/]PC{BK[.7WﺷK5%}Y'w%0{*לs|/ 5t`.   lwbWc1}d'T?YNmW3ߪ VrZʌ KAn7wW˛ ŐZp+%\F)$}+\r +aZXV)<a<ᗲ0`~nP|نqcO:/DyW{X-6{K?fp 5SV=璪5|v͏Z2\2j`]5~#xz zP㶺ǫ^!y/"9d e|8@GQLoKdDي-{21?N9*7W~uJ#ئ٦6}*]v7ݜjpb|dF3lW^`FX:t?ץλHMey9rĪH4HE'g')?Wuz͕荰k v 'N(hԻ#p2~C$7\Mh0θ޹;͇01R_CRL5:9zkxn uaD;ױC1ܐSFP^MVPӡ(> [/~27VRYA ?u38H[Km,L#g o/BhznrS){id֛ݡ% 0ؠ;^w $;ί$3k(R*PHFaI;a0O 6Ri0<~n^@׳1bGȉ/q'cܹ(ȇ-WE/!p*ViY X k/a>onwK/eUX`/J0Mx@pv  $f.&ʤ *ؖt@0n ?W ;g9K i\4.,r1Gş$C֥G^8F< R~fL 1 @S/~g%|L@%8-V?; 'nt|\(%Uz~en翫>)(af@sDx^z"W!jjV u>;/Ĵ.2ayTCO!QQb=a Šシ&"-Z.EsK܌'bxrV7Uc(Aw7k)PE M±-7T&48PN4:^KT<& p/YNh&&I Kɤ#k!/UĽ r[{p.4 I@AF'h텏>x!Ý{i?Pšf]~Dgѵ1 .p64ihǝ\F[$ vpIܡ8?1txNGwӪVQbra`>CH&vۄxOJ8>zJY 6|D>NJ!re ̘Jd L#;M3|4n[%#VfPҘPItj#5λ w.OH w#ݿ|#G0c&F2` A[J<|.M4S  [0н.PTipgUT1ޓHX< 5f&y:?c xѽQA[l=v 0HKr&> faII{F*N0/,@ P(Qr qdGwj玣 -8 =G=ԅʂv1$.GZ#HH#85i/!4n<%M, d-fuIP=S]D<Í,MLcn3l` bTaw/4 s)Q* JaV 3ګiuo;g ~˷q^L gYYk㟳 `$d0"`)&%U)x( ROܠ$T 1Nc%䓰 bjbTX|4H)GHiJ9DUHUʑ&"Gr4R9Drȑ!EW#LH9Fy%_ S,: Dr4a*z|ˋ 0xqdӍ7j-Zaʤ.@.iP[(ښLhSb.R70ev0+U:l 2ʅ&1 e=UE^^)OQ F'w_֏`%)0:gJuZxs o~hyjsYShWJ&8ŬtY,HArUT1H҃.*+lK0RQeM< 4G-:őUHE癲GbpI+sm B5N.ƁWH`6ʄ:p{Gh1y#Nz,,GXs0BVh/b^VlQ:t1溮a(-&4r2VIlW, Ǿj{&o%]F|F._/ 擂]0ʘ4iޱ[m[~_tZw4~JRBI`^v;V ۬H[09뭚,dX5/?0c` jp5gSzه^dp c0}_xAk~W *7fpz wK{Y^7бQ41׭GuI6Z2VˈyT6nmOQ?l8I- h|_wKGz_ Vs"\栣IvXisFCnalu +عFAI Ekm]0MQ۲3cA5hwcT|7i_ɨ_){͋f×DèuXvR=G8,X>HE!(O-H!2Ю;\0xÜX{׏.U&gUAqf*}RzQ3N5?C>!dG-DVO+]v !pXUDQ^s`0-KǕ$:Mt+h},cwaw/ sqUQ|ٜWa\9endstream endobj 692 0 obj << /Filter /FlateDecode /Length 2507 >> stream xn]O{e-.>S l"(-6[JtHک~{ϙ 9#1-`y, ,/߼jy/ズo_*liz%5/ԅry_| WeQJiiɽ{YKN c!ڭ֜sD^3~0(CT`ZMR ,3$M^ǮMV{H݊颤J >YN-I@~? MuEYHAo|uOL@k!reaBݷdr꒜}pv@)w_L2 p Ton.WA ),[^]\ 5UWu@415r1:xm%o~ZZla׻k?6#5U(Sނɾ7%TwP5wM.@jv|XFqvPQrR#G=m3@LJU} ;v^h,\&F]dTX+dV;rHFGpsj@Mi48>g2 M2_m2WϾVxEpC&ʖ\ׇ >h#뜒Pd$~Ke[?@>pJb%ax.Z׵]4̸"{YczPt44M\υPՇ9NThC2dhneY\2ͦ]C )+SCpOkX:^iiTIa>B EWo.?,|aBcuY`:\$b2 j vĎ- *,g3<)aSyg/h4gl]XZoR$^s %xW;]GL4GߗB1Soߥ4{p9waJu9">ΧQsMּv ܑ+ddrb=&jZ_,*6 Rjŋń (aX4;O9sL{I( tDO%"NAQXNAUfd.&a6 Z ޭ7$/_Nu)f@4)[DzjH%9ABi@gNti&D+/O=c P Mda^[ ]f&n0Q c0W:T2!ǴV c S G}}s$d!L"/pA}"u5 /a[+py G=E!"0fJZ:?`NzvSX~hm v˚jw!ye59dx/P1ڒOGˇFp vTBX |7: ( L|V(Dqhz<Ϡ@7>% `0SM EޤZ&)<,vm^ ҇:5H]݉^[6drsͷIT\[6vsh=3 "]aH{#HWZos0HHg£:Ҙiðbs_ڥ_%sI9"xĚ#g-=w#kބBĵC}F">MP -[o\~ ^QL :9-*s6p3CW4]BwUALljH"WtsuIp'_Bos,W ӆqR},G>-&Ns Mi]u̗%B>J023CmEӝS8ZyhTelg Hv}W#p>]"1&tMOUZ!cG' H`+w`,,g;H 3AVE tV֭^ž%PO򰙞? s~aB~8<.(O(0ͬ  OqF\>|]_9+DPm;<T0y¸n޸ "ZMkkqd ~[}Iuu>| 'HTkP/r@oJB0Q8ͣz'z~ \"0]-Rh:y6>"(K}S`ܡ/n"endstream endobj 693 0 obj << /Filter /FlateDecode /Length 6234 >> stream x\K6d4s۲7T `{Fx݈@ۭUd$of Y]jdž" /3US__{g_^*z <|SM+n~~+W\_TB^J0ŏ]{Y^뷇MDVF)U7e]o /U?t.>g-'ֽˈjZ/ߛh(S{kj/۶m h_ :}[ZTkQ7Mdz"xm6||>W6`7CdYHo(_& WӵJf_"&c㛵wwᝰ"0|\'tuO s?VZ ?\`!?^K {-ʛxflȿ½6W7߾,º(yEg{ ll#r}Xq.7Ʒ46流d/7/"ms?,K-j _Fy#&/8k#7iMU%ɜ25mP}5/\ִ>ݶ`NF0E?I0` r(k%#UzTjܐ@zȽI"ajlFH"~z c9C8mni7>ӧn,5$!+;"Sk1U}ŷ?,oY+j Y1 2I˷rL&)P^ȉ 8`̕12vk6j3P"J5L}^P&3@Ah{߆B_4jam6hI(ٳl]6ՙS %8ϡTMv܋ n':i)d*vp.matI-OL҈Z:Y 758TN)= mWM;RGEMdmS#^^ 7ӁWO;1J#GCA1?gbg1m\'׷OJh9`۽5ņ6k#`-.,#P7jKez}zjR[k4fI{Jto ,7a-I/g&Xv:mʶG'ZLqs4[o /Lһ] 6z[=AG k&Esv<-|[!i ,U=\N8Apԝ?0&_c)/Do31#>- T{K:}tFW'7H;N;vZa Aئ8ň<ȢOαܓ "Fyt0qͷs6۠^ XlAӎ! 9Cݻhi ׻8D. {bnnVƓi¶(ؠpr .pD=[h'a@ Ck~dP0dGldS jCPu0 ݂mH;zt0rVk 's Ll]rkd v0# 1W=êAesx?֕5}qs Jҁt83c#~lJbzuto+18΋i)hIUHa2WwLlMd?,p)#Jcm?i0@tW&@ wT1<;xY5\'aīܑ+A> qJdm Zb3B1>LRퟮ_- .>r)5C9q5"J?~3xetz(`-b#>`$<G*QZģ,M Q~S 8Y/;gAU?[|т΃U@cRg2 ^w2uikۊ5)3f36dWrBTUQG,b\0~ͺIh&"r3ʇ[x.DoFg(_G%>6D_ ]%H*/(𒇀*絔~3hk Bwwbͥ -NX.=۟ KzU:0k'"nz^Dkj+ӴQ-W)P(GPN\93*Gi\ \X`+jJ7{ MEʗk+@  ȅ!$|0#MGkc3v)ڰ2%xn|Gx\ 3cF/}^ai1̦0P}Q&P7;Qe q;spDEV1-~!1֑лh_y-`cttç)SBmtuXn9MI IU_>~Zԥ)3$h imqAl,Ri T Tw@J4b? 8ک3..hZ`x"83|OkZ`Nl"Z6Z`aXq;BNy[|-=ˆ|'n2VC,9 hvI<:1`\j3zt3a@aD9RB眫B x!,6Xs 09U -¾8{Y@#zHbh &BdvˈdFdq<֣mF\gT?-9N x<d%ݴ(s//9}׿ՙ%g %Px ֤. p]Sdb5;q+%9;KbteӴ|a7t)fIOv!T alloը2u!jeijyIT5bl-1)fXSAp:"Uwqs%-Qc|ГH2`Ť`kpPjyr?&qVv/.t+xG;GRW} )R[`7 c]fq@~\t)2Έ~q`g䛿]dKL N4yWC1**)n^cRwȦ KY'HB'&'!C+;Nܡ :&j}X GuAjR ~L6ҿu(<&/Ƥ RoAx(ݏ)0!j)E Kƅ|(Bِܔ}s-Twk^aKkW}w]_ ߷g0iq%aC^zއ}UVVB̋<#;?f'-3EP]mD)̅ *TJ2iwn'׆/b`fqJٲt9)CCF u;w#w^XU,s!gQyW6z߭ P^/AhsP s&]r>Ǭ '+FQ!I\{v(u#{!}{ylo}҉rΫ4X!i[p]8חg )Z^+,Pd!f l&z 31e(VLBpvUҲl}⛽+~,qښpld+IBغv!#Ą#.y\4"7V=I.=n۵CbwxNM4Gb. -+$!9?Ϛ]b*Qў( Օ:Q`+f۬6lf01HwQCeS>h/.AAP]cD>q[ڥјWcŬDa CMDIkcw |EkC65/m$qg ]P?6T@7j}lG PJ|j,zrc2Q\PNlpCffo>B`mX̉T]^雙X'œ,U,gp#PΫ$g(&֠Th cҦ1Ѝ}p N<{i81i-_к$HR@8n ,z&(;%S߼Hx[' E&>xHuv~G׍k .\b=w[^5Cddf?"y3**Km[DS1Q@re\slc~Ԙo#*ڡ4Jh  ӌSW5Jփ%5G!qeތzZAXQQLWgDw){a3PIF׶YH݅_jXi̡ GꏬPO2 n7ee.$x[Cez5t鱸Eo\/;DK٠7sG7#3%(E@9qyq Tz=Y!DRB2T0 c+cn;GRWBFMhtk`qx5AʔwkYo ڑxWei8?c*s:p /G/OKp$"$p??cen솔ʮ*1)֦:ZK ]7M|~-}0WD=5붎ʝt~~zÔ9ANŹ~(.]4&FMQTԥ|`" e疤xPq/h|U2 f`)^0S̈́tݣl?&?ړQ!c}!UYi~hjiQf]T/ye*^Eʬ[xMT3)@)>Isz.3NMp'n6t@Wpe q«չ7'?J=N)rpw8 UΌ\Wk՛-pPʡZ;5&Vsocq3FnSfV W՝FZ`I;޼g"ϥ[{!6>j~kHǥvI塐fT1 Qd *dM& {endstream endobj 694 0 obj << /Filter /FlateDecode /Length 4200 >> stream x[KsrJ8EWR񦜊Q+EK#iIjeߞ@$g$yڃf8 @wu7Ӫd /'g>iOӛNz\nO<U_W)<5ʔNIḠFk]J..,/~QUhK!DY1 Z-82mѴuެ8]2e ~pr_qG&q\ UZ]~kuw߭;P*`RqY:GOZfO Od`TOo.n՛nܮvgQ>΢`%-eQJ0řd:]I'uhŶެZ\Ec\3ac&۞Wٿ(Usx`ĢUkWY)q GKTe%m0Q#rUT` 6[눦XTKFghidCZhHKΘ\dYg'X#[;8*:Bڢ*o-yZÑJ6zf~c(6aVxbE;AUxEaF ]W(TΘs4~;E# 0W|\pK5FJؗ)HF/X*Gu d_K~pLv9un;_hKJ%lU/]Cv}~FZ axaxp xP&\()ўT oX&~wS!7Ao]2 K6ΟΘa~<^ L_ݐe f߮fb'\knf`\Mkxp ,[FgVЙ0eB} n 7uĐH74 j"d98R\\0.JAex:)@bY.l~ R-- K ~d^ch5EqgKViO/<-=#pʔS[qk \a%t nH@菴gW1ldxD; $y*3T(@{$oGVSOZXf(ȃK{9+^ÁWz6-9ta`xhoCV2B߾kNp珩nT BjK(RLEv]BTȸ_n~&xk G <$Hj`}~W|[ Do NTHB<,̀2H 0ȟNRy$iRe|0dFD|9#<0Ur)F[6XMݭg<{'x?m jKKy&CΰLL,z1̺xMX4YΝ3[*&Jx#k,g7Ŝx9uƓ6 lBRRl,%4]|~퉯Kp"2!دuToJc-⛅`GR|$^;/,⵴КU\-h[™$r0dOlE.%r,HWx[T%<^hQV f33DL|bTztJ$h&( SD8QWhàR1S;5)6Sm}qvP~Xm6roۇfGXЋi)VWg{<#HXn]}_Y'[rn p7}$+BBݶ9̶㠭'ss^ b$'mT$gXJ共P k,fXQiu(чOJ ( CԨdӆ p{@97@䭫엪`aʼn пՍ0^rea duDI}Ղce+TBIWe.!\5qIXlTC m 8>ՊGuq`ل-/=. {H7xnspm9CB6/43xN` m7nRRS؟ms./oEBYE7#DkƤ??\H6B,}ؤe'+UB#yU,|f)L_ CHy`ySbO<%GA.7R2Vy/< pB[c& AbJQ<puei5t0%46> T!*@2mIֲ$rZ,Ɋsƃ46zJ t@V Zr AL8ɽ? כv&5"z3nP-$^nYQb[IzWM~;I0Qp^XȨoF0KT.8$nRT?=AKoJĔ} pf}u6hSƐSH/J?r^$hİ,@zx2ދ7ljQ_~oV Z0 0W ޤ.q~=IUa9{~O?E%" Bq| n|1:cº!}4F4z4 PJ^`;`N6 CB2#Y%SSsGjv $QVFk)r' #Vf'fi>5I2B&ug"rfxqDGWW,,Ѷ}@VvM lҬNPlVQVa]I5U7QYHTCG{/s` m̬䈔m ؽ1t`ۃԒ4Ea#r>+RgAYHPx(dY#`TD+'wؕqjY]xuc3ǡě~tyydo tb[/(<ҐH{r]?Nfy zp^\4 ys?&xNn q/әF8\7];=Y(xK}+DAzC=>v]/_%8uoaBO6l"sys?:8HcxVNШʵ]O)/ ">=e>B+q#w| ~Ap`u:[jmCϬ&,z>vޤ6 }0BE}$^(X^ClBk1̓'=rMi]ָ(odELDŽ 0B$*d*y-91Ic1>я\ ̦iTelB 1]p LLjJo|6+-fI>u0 ]_`W' Y+gՄ,,4G(9 )tW(]-g6Ɠh1b%3”///]"¥.|*ρ1daӎX[J$yJ8VSY`. ,7@qgaZnVݹp; 3=*݈GeOx2+ lHҵ bDϖ1eK88>BG%DѶWv A]PM@߭3Rw$hԜL{@~u13=dS ' gp`.fk"*tABf\ 06'?|VHN-Xiq#k~Edu$ӎ *` "]/Y>CzI?4XޓMłhdYh<Љ_d`t0V~OiY2J)j9lJRRZ^GKL0qr[,lpZ|y WjOk,g 2J> stream x[Yo~OH y$+}wHu؁c+y\iVxCnrtGUu_tWG9q2.:.zV|}Z2>k0FcՉUʹQM"||Rr %]+m%yx'k߃?TDcun;VMO dmAŕZ|tW~?h] ` b7[]~;9̴ۡб@؎; pn<mَl5o1qluOğ!<]I 8NW4VC6{AdK Cd?jto9l Wm3"&e8> yppE~e,Ёܺ6M JD *AV#n:tɋ8Q ]Eи=02qp>st9Ѵx(aW[+ L `VNp`*;Hd%OD)[aakx\N[!3h ½B:w/.G2F _CɅT#ˤN9}Ieku.o!X;)g(\2 񩬪F gfU;2ɘF5&WKn0A2&YI'Xn|}n9i`ԻV8zkuse&N(I VҴZOfXHY2r-YlA1#`v?]}m6ES<4aҌxv%cByƟLx ];%UZPTeI$+&Ļ'όg+CUyaYY>z*Cu eி "5 !t?q,&N5A*%ę)׮ڵ\ uy S;sx#`*vX(3CXQ;oZ(Df-8 *ㄹey, 8zlg'\0V'6<@m%j0I# m7'i2$e].CS?8"!? 瞜PkD3!yY,r Kܢ頹d3h%֒Lhkmc z84Gmu'KkA\f t"HEmYq>K9%$C̍z G0ˇKhQCG=7Mnɹf! 627Ŭ}#l H0 v؍\bcȻ6oȚnd&,ޢ}KF/'uOb뷛qG=hgDZm8ӏH>d4B{"632;]S[~| ]m~V`r4$%"ꀔݝ (b%( ´.7Y\Т@WrWՠ\gB5nRi͉TB'PP8v gĻw4?fhQ/Dhd {8тic> O3$T6#'&TfW*|I,H?Ϛ:/O b%aZ/6.g ¢ >Jw& V<Br l{2,)>[M8!p1Y+QF܎P~YqHs[ (C,=C4D5lÈK6$<,uCUGSy|v9ZgKts Wy,8aŜitS˧_#X4j(Ⱥ V?E7 ]eB)b3Wz9 `*MŦ3OgdDeR/OSҵ\tlA%˶VvYPY?_x5TCԸrùZ8B NYKw,G>{J-#PEJ9:j!t\7d)Jɔ𵢋~l| Ĕr!3qi cJX~Y'_$,)\!;2mUqyS1[g$C;x\ @7.5@Fr1e UU|l? cP2$`\. ()*>%J'Y鳢-7gi5ŖI靑#067k9x|./oW%-3(q2C~GER5]eV`;1?狚aĠ uMkx N$|M579Ab$+1%qG=^^F),\xƶX⺉J.+ŝ@JK ty RұЂC)R_И3q.pGFbfY:ŏSj?daCE=>0tv1ԮVXcmx!^ˣQ[LP(hqs Q:s(Wn*Klگ!*zE])KY ~7:# ǃI_yf26k}(;+np)}kpw@$!F胦Q=FeqԻRק~zD; (LަJv{P^`g65ݾý$I 3G5f&69,c uw^o}@sӯ]FXrѝj3|x BVD"h|%RZt[,~";"46]ʅ0}oG°4['ck#7˚8)[hUc_&zMR.|sΠv8pd?ZJf'bsGt1)#ɯbfIx9I `eQ T*2R"ͥ !_+U|LUWg+> 0ԗĈJLy[to!+)Zr5hb50912?_6x-`6r̐nj?ŕ|i{@vnsފ;Jx&endstream endobj 696 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4315 >> stream xyTgƫmiKĭ:K3QɸdIeQq,C#K7 BK[M[# (QQG3EsoLf)r~ drrsw{<%"Ǝ!D"kqY ̋HM|?-?+vgǗ[o<b{'qy!6&g/grRS̟psIX*lܰ԰İ殙!WSfɳwe$ɓbvƆ~;*:lEgq',ysrW*q W#vMZ!sXK#"L"!D,XF!6ˉy;|bN$/5D BL #mc(n=AA$+#Kǿ; Xf&OLy|'k4?uiB!|WoT3b9[fղLRãܭw]utGmd7lMޞFYz2n<إU(H*Y@Ke}l6 K]`7Ks1X,S5>OM:Sh(l*\\u ߂f۩2R(s]F"no !, ASsh&C ;r9)@ƥri=C_d_(VGyu" bތImꍫ &JwQR,e`gwQ7|>?Uڷ)߶3c;2=Uv?Y)셆ݐC*5{kJǷЪb~'/Wmf;]C65\W;d3 fR,U״MX%ؑTpkZaSb܅˜Mq*W>q&CvOQ!~~߄b(&4VFcØ(vV}J:TRj7@!kI g9 s* rt.Bxböߑ,MJPlk; 4?v9S/{ɚgȁ7׎|Un+R.sr @Ødʸm@n;"Cٕ۱y~QkS}M_dהݥB"~6u]-7qtB_} *)dt zcyT;zuy@VZ,osR"INH䒰j48,4zsQ@daȊ1RCrvL1j16vi~4/'J媂<g˶%AkP&->A}y=Hd3nBE7Q!ԃo3h]8$VvB9jI[b T\OP(9I)R\U)qQ }-y}/,Ѥ2䃪r6BY[)ܥN8ni>@r>$ ԭHҏX?j!6'QWQ'dmx>"b *s&`5Q3fahd:3Ƣ 4=Gl/>uoylO'gO'C%RlXyN͠ZstT֒c< p?w۝ sp[8DHv>wgXpT㹒 ;>:L~rj/?"#)=ҾMMߞHlɩgqaxRS4$0i}a塁G[b~_NˈE6,{S@UvQvxapIؒc/\2;{#~&"_GEB`O)/k+/fV3Nw<*RJ k$;ZFs! $d03x0'n@&G3 cbBfSU$ dd&̀asֳF:;t+B|#Jήf-e۫/ЪCv{ D9u^@>-G{=AДu ae9a«N)qY.<)|nw[ >Jf,FA%ltB0 a,fv#5zT(BrA]rއ^QpE ?RxA'U֏^zH)ʾQOH;}/O( Zg%ˇ굌(BSoM3%5N>p S+/O؞}Et-?o$-hD;l* R lАjzh5KXۤF 2~nI\% Bs$h2 M_mJ7'6ly|HfwZAvOr3m-Q=Y9KJS)p-.aKĭhrrw M d:֏~[Ncvak@B f̼4 }Γ4vV\?F} u9FwD DHnWoH*ҧrh\rN};7OL:}jwⴹY@^ t,?NASN`D7~]Q@jԥMkgbjd}i͉҄Yp>xhv *5!SN٩hjSÚd^e23K]_R߼W o(!n'lzZ/n 06 Y{3˱8xDv$%c+hIWfxa@ \D>*PqM"l'>}; raEfjh0zβe\s|Om['> =yccY}h%[SȫV&SQ:òu.ЈM36wXСKkL="72 &z"ӲP,y?ԹQ {w2"iʆͫ Re2PVyEWpmqڔ!Y4[-h[ooUZqi8V /$˸S\$~7]@GR){ bI89ji>*G=nZ t:r#&y Y638(a]2=% ^|ec)㕭- 37+ʪuN(ZS/myO< EJ*zPijҸJ~%A%d3Z abTJ:hi6jzl(/T3:+ɷ~r@wBVŬ220-kX3rN׽3Sqt"VSD-'~'U#v{!)'}@>G-(E` BQ:<6/pԂ Q<('?FM#ղUf[jR-g EGendstream endobj 697 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 422 >> stream x-AkAgt]VA4$ zX K:tӺ;uSH&MCjmI$U> stream x}]lKaӮuX&9B$!1Dd!l.[mjJs:F༧d?֭k2R!1b$A"̅+ߑOB7^ԒJ > ]K2zМu{(!;$5U.9YApI tc   1ْO6\Ij4&' !Lt8ִ S]0Cڪ+,ے6$$e34Q_| dJh{<:q-TNJ̴1YBJH&YJ؍CN0 %t'wƪP(>5E?? )%xZr 4g7 Ahg{\}'\4:SXW'\e9jÓR*DJDerl&@UA [W]*P-.^ ` B~pq8endstream endobj 699 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 6146 >> stream xY |Sz١[RdS+Rd)PZR ה6]lMri]h"IXDQyO(xnsynRJS>5~sΜwsċߏ|ŊĄĵq i3gL["}ʼnkшo |&I)f?0K^a[_% e;xk'bTx\:yvvK~i@S-fe-ZSM=+L |J[ŀ%x,օC#1p9Nq3z8׺N7l&ؔ3aS{P{zHUQfB {NFmy}WXfHv!l޲E ǎgyGpdas N-1Vp0o-mUm4D6K7qEHkS.ɎzcElvB=|ۧ#Ŋ5% X~πa]}/@aB8:g<1>o9,.2V3/ ڌ!J!_Z]+k60+nqj# :j;} )DHGG!mZc Z`d7{ cP\lz|Ns`=, \niXg/<TF`rG{2.{$"Do+~H Pn b\+v×_b<~U8[0nׇP=&Zܳtnh6ql7F+#j́v.h/:hjhd]> LuV6 vQsQ9QGna]I5FW+I7;dS8 ㍨Sf@Xuv r;o #6Vj!4Rm|EP~'M RO T@Z RDNO plׄ*@rІh7>?Oi<xr'-|˲jr? @r-0.pxmm/O|SIb#tٴ9NO'Dz5G4%ѐOb)']ZǨ2=C'D{ 42&ťACbGC7eEuL!]ZYU`TXb~.9|m|r8(*Ǖ\O<P_-C`-,1彊i1AO.le؀cNI3E%XV $vndDY=in}h#6_SF_ azƢIC$6C֑gsH~XoI)Zx)HNѦ}{vaZsb=/f*(y6]*.pp"0x9N{7OqOB4 'kUsI෤os/_fODQ!}(B~-Pjtcs  ~|=J*8#*!}ɠt-WKG57GD($ $f4N+޹'Lr|$BY_DeMb0{Ksnbbb]5 %>igB@KOs"4O'GK}HO_`5Panmi^"+ҡxks#/Y7ErAe&~/S뀠ELekuoˤc 2k1&թlP vx&NhX(]GO1߇k;񷓒m391Ū&DXFߌUk+ ٔEgu;^K?bhE+0 + w><~݈5,Kfg.9~Kl'¥K^̂DW]Wrcpٗ+いc _*Sv]M8ݔX--HWʛ/ė2wx{Mr^LD?WכiKh RnЏ 3/zձx\ ;.gsa: n5՛Ֆ9oh:ҕZcC>|i0$m>`=a=Ρ6b́({?}r_rk~@]DrTe z嫳ݺ\XNTaMnDWh$!' yaKt/=n_^6=S͡U+&*֖,gK^R-/1i,ݶ _3O NkyXz "!|K4k}i8 &!5*hZ| ^,?D%$RC&R&YY-bQQrw)46CTGh;K;I1G&΃2Iۤrs=T]('PW-T̤yi%J p /<ʼ (Say1ORF|2PS։ j̎3Uwh,uUd(/kIۆ3֙M/``Z+Db\ w3WN%^+u*M^yx|YUx,2#+_e땆`" T얿{OғҨ߽'Dhj@Qhb1k&ΔF 았О>▋ח5mFK{ q4AOwu.dT<˃hW ty2DsN"N*IK{Xx6G0XUDC q4Z +6 $h3tJ*ѱp1b %)Ҹoʩ}{%rt/_ХF8`/-_7Ql#J[Wj3Y5Prk)bVQn$Ɵl>\ sW~}_7kA˘%> stream x\YGr~@`}]BDx~(qQK=TW<*X A<""2ݰo}}}\lsu͟_ Z<߼|{xXm[/[2--gyO7}wCߴW57ԛNJ?g|39]) m;TT Jv*wVؖqcKRx=OP/4KIZm,E#_/йmk.t+F)"ӛӛ67wNlc[T0'VHYsҼȍ=6iU:zF;:}nZ_ws[Zomޜƹj:K uCK7_\pyc@-Ss+/[K\RHY&p,T.)<-r %8RCI!%k,r Ece*A}P,d$h@R(TRVVR* DKyrTÒ ll#avv(eJjVpP4*m_%T@!K B* R PRHE RdzZ0'6,dr 5Fg  ` sM_`AJ' &I^h2Nc߹ 2Y O55z݀zi%*BiI ++R*2+d&fhaa\`|W#<0B`Pt+YF;*oϯPVP̸5j)4Ԩ`1Wcص%hJs/}2ٴ+Cs̸ h,&[Ce M֙ڠk϶Z>Z?et`@:pN`>|00]q aT^R+V| T *X?v|%Y ?m@gkX~& ,-?5$7:O Q ?WK' y_:4ܦ@d%wq!\ iX5݀@r5) (@oAJWA܏! /čXwNa4k#_,_<8Jz ̬Puս}w3xO_\ 2%E@l͹ތ\2HI<Bj()8S^B^!K@! 2=(" AXbV>"RE4K3%TTs!KAj() \RHE5RdBpshBV\)  =}RG$jTjmtkg~E_* +^RR٤1H*WL)xjTAk-Rl DMPܠ'׾r>X5x>Go(&Ӱxwb/F4wfA:1XFy=}*DNԘk|86?J 7K5\k] ?Tؗ;3-PSKUjLIQlv%0Xeg-YK%n|30r* > !cQuDfu/~gu >1Uxj~=q!`0 bNe,  BJyjWJB2JQJBs0"e߇z8r-A Bc*rI!THB*%TS!K>cS; )MO Oi*7TޘOB|YؘRyc>KbĺN<\C7T<,h` Ǭd+tK Z@?(PTН5j40ZAWA34JlE'sV"C֧CD n }kkV, H!AtZ'27? = $tTP!Aqkś ~_, Nĩg*Z:pʪ[k ~˧(Yj4D֗ [ #{IjMf+}g8|ۏw8hqނL tEw .CϲXO59VGlJ;F(U퍐 /fF7۝ o.n|z/vi]} _tsr0 Rj;/Õ{"m-;*4o[+mz7ԧj.k-qre'|>: LSpMYC/~ơjsKzE?Ok8 ݷWv W${^h`Ib̥:JJռst:^# ĸl^tՅ(:Ĥ)”W[8i^TcZR{ .W#Sdˁ nȥKr8L0*gߧq;0FXgt~`7 ݀so/4끥qC !Цl}( 1B@ N^<gc]Pk /(W >V;p@7QF*Uە)w} >>vA] 7cQ>~5{}X5١0T7{ʇ7Qz6 L6=e: s,c@O"HnT ;>SƧ1ݠFu0&xm99YuQ?WNt'w2a( u"~MU^9Ƒ;8)U4|[?^W #3`@+[Ռw",:\Nbx7;ihaM8ᐞT#Q-).: %.4}/?$bu~j=;G,pyLu.8'b!"M|'*,FZa#e0A^#4|p_&]#؏&%}ԌR*F}Ӣ*\%$%l}##4 jD]s*՝gѳ%og i99~d#5U! Wol )&=Ah9,z/~c(49ѧ]F zƱ/TZ6)Ṫ!kHZ79 PBƩԏf;14" oxJіpXuc;1EFP$ӰCeMzCFH1 ⪕ʄ<4n)~sGej __w[jDy#\ Ps T " NZzG{3/W@y%rxWD& $;0BqwM̅X\ XQP T @T_Q88XJ~_ AP/ ~:>Uw޿}S-A6e~t r9sZ\SK)t}7;L,{9_+[#DfIJ6vJXS+ry f}H`Yڄ,"ܕVa8Tk|q:Ǔ0`.&(A.C wg7h"٢VH[eafj"5!&)=5]=2هt#4U;1is>%'ȶWF;&tآz~LMW*T%Yn\>:LN.$R=`NiM۴>f@ iuڼnv' ]gLim!F,Xl]`pjwY4aɓH, f3:q@Ng^GL9ReTXhx{ Tפ#<:Ƅ3qC`sc<.Lfl =2|$m0To~_C`UmjXW>>~x֥}HP`j_ub?Ta>$v>Ōa HQz@fSm'xcRb9UMKsr_~6|)!ǼV= KJmOnGC() yw:ӈquJgCeYc,D+Cq &E6oz4|L*m5&Yasri6o ss_jx?/-+\~>\`3tiа^fvg4JvJvt5JXdDjz24Z6UtNI9< %ҁ[ g9=kU1Ikaˇv }qZ!09Ybq2?f1w7ԴA4~ 49(2\P saʄxN0?O(d 6 xKɵ4X8M#ۗ&x#tAGA#P)cҸKCZx%O_]_V6s$z푩PAmS\x5;Yκ<Ktr~[WRV5caQ"oԮ2iw ,ڙ|aO׹qʓ:)ŸKOtO s>:?3P0Έ@deX ÛmViaWa*y:|ۜn1> stream x]O10 vA,tahU@p' aK,N>~l#GpƲ5 HeQ7-Ɲ剳B7O~W3祩.!tD[U]kL'F;e4',CIT @s$Lg)mjSendstream endobj 702 0 obj << /Filter /FlateDecode /Length 4666 >> stream x\[o#~OXKq 0 l>LQ ;"K%l2-ѧX9׊|ÿﯾ~kpVwWᯫ?@qyx/+Zm{/l}Os*icz%pCwRv5뙖3Rʞq[ݮIqg\?l gL=S1[Kn`d/J)|vOC ={Ԇ0IkI%?tvֺPl<|:>Ww? [zg5azJKK|y[s3fE}٭?;Rpk8Wv\굗V~\Z1#Rd)5R[^HJJHۋr4RIމRj!K5=y+mj2up,"iϊ :T ,{'WJk-q%@T)4((#ǗB(dr)z` 8Z1Eqp&:>c\YI ]`# n;c^3A5z͌ű@UK/E?VΫ왕\L!^`KnaUX-&‡ 9 3 {L媹  3ڲV #\ŀ` )F!-ea(ʵD KKj'Z…ݫY8K!FpqbP%gmK$STftb0޺Ȉ)D" 2C ʈ)۫2` WyS9*!SVTy%Av>]`g0wQ,p$HHů>Φ͒/')!ӤW,RϠP.Ҡ!<+L/k hq~ٽvwu3>7WWҔ($ʑR*Rےڍ#2|#;6hJp_c#G'I |lP+J"Jue(uio1#b6l6!K&P)0I6-^+#t4lōXhd,Fg;)l+e J ֞hA%Z`1#ZMQFiA8)di[D20'v%d\s: ejL_B.I_H.?\.5/䋖Zip5,L-@ J͕t4䑑`6CӌRH!pe=k),vK4JtgNϕ贔JU*$*Xy4kQR>hIf\RE}4KeN NG^.9e'+i% GncIN!1%ÌM̅uBi4!bť:@rPhpE)%ÈK>%H/ɄBHsM~FE5%vm ӳdΔhqDKhIѵ$ٿlKİ-";?1Ҽ]_"0/S Qr dThOB 2K%ՒLʗrEK4L^_dz+TsyU2pcx^VmB*R]Q&GqdJsy);цYGGQ*TRBJ|F*)2۞F*)L]uH %yFMPuFL1xХlD5Z-lJv0'UP ܕkC{&2X-{-&`)3={iyz- :#X:ƽF ޅ[0 2^҈K l/xKeT "E |鍅Vw^|Q˟@5qѥVtP[4xghܕ^3S35>ޱmZЫKvT)ТY.nګ%%b4oMHI*2cP%\dx 'ƅ$FcSZ k֪H²2vY|[0yۓ%##%J5Qj)u!G X.@]S\S}ɢƚZ*kjY*ԲTQSRZ*K$RQLߓߓPY$OG.*U7SyRi7SJgv EYc<ihܬpa(NF#Z36N6ڻV]؄H4HK3P3Ro.PE-m|K♽^6}njkm~3P]pb'q/T?7aHiޖPDB,{y༌y^_ԕlnշcEpq-a›{j<]^} J"q=z*UacH1TΝ=8sS6xva ?DYuj Y3i>= BU?qw ظ!FQ>8aIv܃Mۄ]Gs$m0ڬ)8KQ +<}G`I<2$'!ym\"vwhH#FȻ+6,y}xf:yгp# p@^PsOkl>DkN@4R~ T*P%'zI^`0aY~r&NNp2B89fҼ4  '堳'җx#kYRx2dxUtH{]oЕ m e]/o4yJw5e{ B-TpXNCjb!6lR0uA^<8叩K{SUcÚ81(ÔPCLy hGVA Dէ6jO]9 :llӖGPpir&؀dSdTֱ}^s ׋ĆlJ;~a&̈-tM$>KkH\ o*i! `Ha ,R̎JR%t{#@ZCU -V8%9<,U@P?ͮzd-Lx ;=#\su1:K'&j>vL7?0Êe8G2m0<0aEza A|RCؒPQX6H(Sw%P"*EE͙Ax.>jԷ!s{.ĊsKCfQ|̦|?T0jpڱh\:``m>dX\yPECf_L;50;^KTJ޽L!Kd&q/]J~SkB> stream xVMs6Gtx:D|>ٞ&v2mbӗtziFf, Im!]ȶfZDݷoo9N07UR2^wQ_^ŗ)Xa Đ8ٳ$&`X†8_"`$g1q% ՞UX2ƆWhQKpaOY﹛|Aed3yO4Y5:h.TH0bo\V{Ar.ů@&>g'XHwbd~W1!A%$^272˦>K$p"}:-oWOxpLdUѮe c X=%°s6K%CQ7,E)~ 0p$p G= LT,\#PPiL^NOP6&T+c[;oa+/8Cs ?u}ݍ6}GhɄ&QJ9]MAk]I~vfNRprs6zF#ϣ/V&\Ā 9&- |Ykwrýю,LadXQywo{ (r6M>>Ā‘1۳ؓF~۝VxOs[mkl˳:!+f` W(KK iVQyS}Ӗ<`WHCǓZ*c|́#9Pr7i${XOUp ~/O`f =%jˀgG֍>!އ CSL$0J S ¸.ux伨Ppٸ>Xɂ.R:ĩ}P#%RNޤף݆K *RopKO8oӔkB3^7zS Ǎ՜^Gnendstream endobj 704 0 obj << /Type /XRef /Length 332 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 705 /ID [<7dd65bf7fdf3944b42f749871e95e477>] >> stream xcb&F~0 $8JX ^ˀlvoPjyvb4Retrh:%3IP:9mD2"#mD`G'ӟL2P"7s4;n|j,Z;olڛ尿nצ}ی~bldoa#ffXvF֦6V(f@#;O19nd%NSo63j V4xOI?)ne鷧dC=%Fk3;gv}S}S+ZW [pjQnhfzT,z:0U|Aޝ̚^oZ<_yAD.Z4l?"'X.Z_<*Wn] S;  m'.kE\n "/ycf NB8$I(5!Ylk|]tg7fBIqԽƁq\;#.7ua#hA\0*IW q]j׫J+.Oû XuƉZ޾ȗJF7 q#'ŬrB,-\`T^wTtTKuuP{mhf}gLu|Ѵg=C/!D59M+(q9 ϸc 5 N U"8@G!܉|+E_*?(I>C|^6'We U>0NϪ˻|.-CwSGHZY} <m{U^U^c0DrzK%Xu8g"ף'.6+_1DŹw<ȗ#ۖ{)N"nUP+өrׯ~q`$o +bm%vW. ~P0G1;ls-+䅆G k?U|~֛6~&1}0{i$~_' K*l ').*NnY5 6M颱]=D%sX6q^ds,7$u|k, ̫e]e\̦qH{\nO߮ N4^gĎ-'CiT q%}%)Aw m &~[Ҕ)ǥ7Fv{B'ν b㦞ƭ!掓ݞ#Rv3">RLN0{ZUf<`hUF*z`1/j e>=W?Vs@L5d;No,1!_ CB3?s+tU+.OgN|67#-S7K"w9d $ 5$)R|wH`Z3 NGԴKç8AXezܾŐZWd_bX.B(Hvrg\Kq~}.shOz{zu"}T87il eAjI]^$yIRӓBOJ6a#ROz)nÈrxUjzɈy/7S-u6į+BwRg6Aڐ$ӧz;w͇^vC|A}H`^m!|Y!}sAܼ[}7Wm.E Ҟ[$7L`_apvIJx)}y^| D;6+? ׹' }Fw-MY/s#% |HtHCs+~%|,8t u圓ro>@L͐G!5M?dH?܄ nSxߚc!C|nV]t҇$c/`zGT oHZUsyQ>ExBDeocP+ C@dlig&Oǟ@ߖ뾧7ѩ@dw1C CH|1w/D{fJ\@.8n}z\:r!硃B"A%DN/ı T1 ȴ^oʑ|27Psr'\ _yFJĝ5_΂bqȝ J?# oc끈\l~wTŪvuȟ^vWO⚚*Pg=_ G$od4X?*UlK톷Dd;@(K"r&/e̍G4z凋_ ώÄz@fK2%~;'zBwYn'wۥ/y3׎N\{=6|ɵYh-QLϗ yӻ\@D~twCD47 ?l]gG[/Lx?ʋ$4[Tu+f1;O؟ "Dj#m=Py׵ח|Ê~zarM{^ɒE kRk gLXf5 IϻaѮrl=Ϗe'P]3! esu`qKY>ԛ]TOwmZ ZdܼyZizrxR0٥"f:_B: *뇮֋_n%hN5U3A\^, #7 h,}TZ>yvc끈of1EngG^YY6BZChpOBc]3\Ir3EN0C(r ~+n\{QT@Jcۏ#q?kn~\,wxrH@JG5Y}Z+;*_TKϺy֟!I :RGĔ/y/Z\R.j[%-sG__Y[~QَzC|5)~q`p F}S̚7< !>9Z&xLy QØ}^S6e* N-rͻ>EwJ|>.c>ݾavLymf7wcǯ^P'C٢c)|;[U+V]ɛ|P/!1o<8UIձ_WgLy%R-h2>nLy4?Kǖhl~cʛW1R;}2/R,0viHcʟS[NN~c/Bqǖ԰0.Mmc>"|`cf|J QK>Ĩ V1Sձ4%V^)oӠ_ퟎA;(G=drn"|PڽG>߱˙U;v{3Ⱦc>_~o? it] ClQc7*}ꀆ_ BݾmOMX]6庢ty?%Az~zR{ud)叭߈Ӭ{! Ɓd[djws9 _ݧK S_dT2uX$d-~dHr@B@>q/OR3dӢo*@*I v@F#Rk]8M9-T1`#tQj+t,=C7\/7mGdWSoe"C/ +RïHVCOJA<:.P Hz[j_dwYޥqdH& dĻ|jŊvuk6 ,NQx=)5x "^P{w.tHEU=%y` seDң<dNfY3@v?/Hb?K"+[iDk}ֶw6ڀD/PFD<¼ @[A/7.v֫.ʴޞ(ѾLr3H@B ._h퍖O_! _ҧ$4?X}Gɕ~@< s4 > RhGv;vT3=V;Q?݋·;VK<9Iӷ:MS^wR 5oiI@Snz9Y$_Ԣ:!jZd ahXC(R2yL|h^!8jD@>:؏6C/4v)@'?~ϸ D3uJ>2Z+H;y{1\J/輊l@ :M`  Vݔ־4tOOvFy郍#*z{25FNuk@̏ hvvj=B;jq5R??hG?i!fO])= XSNoS#گ^P r6ͯbܶt.erP$;?I Mz4v%ZN$KAb"K9T_]s3@0F&=SUx}ɨ?&#~rG#Q+*}VR./ m7QtS7PqF9:PW(ۃd ̀6_ RFRjFus|rmz#j:m$;YnOBŸCk]ՇHDo~X¼+l 3;#3Zٜ#6؟)^s;'L." z88MdGr LϘ4zl?Ϗ8Z9h3!F,L'-?JLWDYYZƸjJ, hZD,fZkD/1ƽܷ@L82́;Ono|n3QL%#ǵJ@T0^f#%h4"?$rIyi,DCon2R/GxJf;3撲 C,;HY [D^;*k"[R^!8Oi{o8u~[чW呿o|ljYBQQ'91Q]3~웴VSpM"*53)FgmQ!^Wֻq.Z$dN :d;}9/Qy彟p NҔ{a]u3PBٸ)mܹ SMa@\R:O§M5J3v7>PKҴƊVc\Do[~( ֯a*F@ʳx#YXMfbTN8וώ}X n0x vr G܈?~mXKr5boeli4FK '2/$OB.~ڐoDWG!.K]mxڔE qˡÑ"ʅpD,ۻ?j;>]͙|Rb +(EPk`z[mAoKﶮ ~RyI~ئj*,D5j}o|kͅ>,4|_@_4O`a[Y_L7콢q S>2m(c,u@C^y+;RP3`yۼcC|I j@t_vECl7(Ž>zL0$YF|9DbnEi`/H}o0C\B`EU-)`cSFoX=`Uox@5f3CVYt~\S̵ﳨޕ o@L#,+!>S{Qy@{ù^Hn?|V8붻!5%N3e )v@zkr/^!22'^o| 5N/ 0Ģ]@[&ٱ)/@o|"+\nFd.}nZ'171%7$ Ȍ7>3{܂2<+%Y)/1Ef{\ F³"d>x'[my&/5E?g~VfՄ_Ôi(sH? v"8n?\}f%~ aZ{0% 97|Ԣ4+W)yn?9"J+;$\Y)v|gmtd_7)8Y^BO~AeR E㘡G<bH0ps ay2KԹ?C^SًBBΏvlK[!+TzX C8~h殕'Ch?>S4a˦BԻv晎q~&O8LvCԬ<"u2X¶t,`M,x߸m.e=E5|k|m AђW@LlK R!\8pާVy@rS_ viQ}"AV]$q2sgNvU->jBi<ٸ?w'vBtCw~QǕgpC. u'~ͻrm~Y@-yj&boeD)yya3x/87.܇^ɦJNV)_qkE?0.)Cz.k]Α_!,yEx@Qa7ػM˯ҳ[z!HxD%Dh|XN}iZRW5{gA[ }_C q-XHݻ~)$TtJ+ AV1ٺ Apr.H{< ?FdC~OWZsΰ UGNx"mΪaEH^> i9ACj\r8V(HX mN9E|g Wu/;a֩d@[ l`H<\g½vF++D@lEu1`|Gen0mJ~"bAi\;bY,!<{.?H4kL]p-&LkA_U}.=/#: WVih!8c*Ct̆n"3m8[p :$r/]LKwqJ4fN*v_Ϊ!T*}Ed,jI"% ~˺48@Å5RMn#{YK@TϪ40A|s%=yn @ʝsV ?Iy9M#&9nac bYrRߕ@nsC4a 21QZYBIj9-)dADRurvkXIr:yȪL75W^!US+k79$^͇ǻEvfْ8cK @jHcHQwT '(c+O]G5YHO ʳhYO ! ~X5_l#-\0Ӭo=i BlX?: W MacXxs dS zAۃ]?43d'k9p/p~40 Ѫj SϭB;H{bd:{1dX{CNpī3 ]!4foM< '{kWT ~͇xʝNj]Z/mh.)C> /iaJ(E߮H[oD yd3} [=ykU!ta.Wom>{,J\_EY&f BuYH?k n  %k5o :|ɹzq6 Q[ȼy' <|1?^q1}$gr;lO 7BL*j}^d#}{J:?^-Go D!Ӎ nN=i@^ݹ2ڨڼy1$鍯"~v72?z{ZLܔxx#w}HzCn/XEW1y]Dy!O(8(o~DsAJǂCT[yU|aהT(#÷ !aK,pς!!/~ 1ƭ<sNqb2b7]~ɾ> G큰K8=nK( Yմ kgE' n]G?/4E?o|Y'j#ct?v`2cf9۟%,<;|U~~0Az ۟]/$a7`H^oΚqLJϞ Z̥!7l56L>jҴʹ۟(ϴK_bl?xގp~b}V㍏?&VaAc=t:FV]QxϺ|z.xלy'b|bg..!KnlR1ll?gg }cVbFUS_t{tX}guOnᨊe`U 7 x97>S73~p#N~ŝ;>lvUNG_bl?Ipّ ~Kw|VsUgct?X=i ~֓27㍏?{#zA ~bOk|ґ]Q㍏?N:C_d=xI)CVlg|~pc{?I!ul?y=IC2~pmtgK^kkmvy"g3~䗞 ]U۟]䛹G.!F "V~0Svw|U7s.If_6](1y;Ym#Lt3~Hq0]~7sT7>ly/hCr#TY㇇۟?%4W|1~r>o|Y-sbl?֣O9?cxϲXLg`_엯*tbmg6Ka~0h޾+SZmv@ۏW19I ~|Įu㍏7 7DžAKO[U~ O,, l[/|v<z8ٵ qlҕylY|6npq<_la綋XvA\_r.[5hč;i9!L{Z5c5wS(>>p&4!/ڸK/#5M? .db39]ς\AnͫN\`m>W28j%NB@,h1oEU<6t{/z_E{{T5K 1f_ eU:}` ǹ}e6i\iYfdsH-'HBQ/" VIhw|R<\x/uь8!wy6'\BK!z.VBKpW5w|Gy~߇.=fMwrB(/" bLC>/Gp'Ⱥ~@ }xI{4ȑU;N 2!Nq,iO~."_IH=ؿ!"_!<8n:v`n.v%>7> ce_Z JEkQ_{ l%0%>=߬=sWȇB7 SFcKlqVnp{ιo0|3qsKz{^69Œ?v0E%p?/$y 孮I/^tL칬ݵ'mIŃx%h=N8yi J߯c`xz82g;k|gpN/e cMdry'ZO)l6#(uP*7Fȥˎ Q3ZQ= WS.S4 iGT/:%#⒖wTnA:1hlԃ~9¾#(gQjC g4RE41\H|>SObsXfpk҄1Sߌ {t |*#68?/ߌRbt?)2JH *<(uBq%{a@/?30_Ì[W{#Yr0yNGPǍ Luc%JH=J1H=R)b?o7tCAxC!]L߱7lW2T&Qu?Gt187P w+rlr z%cp~AQix7{^^#C1އtLe^Bm(*< gOSz/gz}(G%iSѷ:~ߑL/%*W瘿0R_DU4~RFt{l#_%9't|/A>#?#6nJKoxZQ(8#1(E2(Q#jTw9}Zl0h~D{{1Bz{c3X5.Ý#k,؀>^,Zp"JNS nAiR4]j4\R ō&'HFNꄀJiJ>FgD=b<;rPL$YqoC!'gR9s9R>L'f2QJM컛*9_7&Pa<Qڣ2W̅NL.Sg2:O()nrtQs<@D-$r.X2HF>ڈf1Fq]FG)hNF Ln0t+ozDt@/=>1YL;ѨpQ p[Y9OxRnQQaq /1*g2J5N>G){)ݢ ^ԯ*wiF;(ÎE]AJaM:Hu@V6 cT$`r(8:2cԉnt>Ѝ#@8V$23/ Ϣwbqt*q^`?/2J C;Q.H]D]6SucG{X $HtB)y^@-@T,ZftE)i(uv# \ :hoԣdd6+-h?ЍU6Fq߁֫.^wa(uH^hR8'Jeߋ ߓWS&@7A>c *="!ֱYdrF)I讧(V'I(1=OuPeh.@/yS_DtEv@j~[ 7J0Pن.%() iQ4 $Ji>"{#+3䀌W=IhExI9אaw/ /*FfЅgea}B{S}M=Z5s7P?҃+Ij~=a&RFsڀDUl5_$ RԆi Z{AAA$۱ꥨ^Sx]g"SsG{jw:PMNVo:!]L'z*^N=:>7cڸxBu:w ޡDT2|_D)aA)iJ^% c3:(-Td?B u9w29Pb}N)4!"^>fԯNtK Jwd:u#"^فSz$֮Le*%@F%07~_#'u=mz;( . xZyuR7ZO;uAjM')~hNtڽ΢Wz:>mGaDjT;q6t[=1@LPiShF-NtuҽQ 3LԯQlFݷw<Rfu _7<mu:{+u^:|Vt\݊ P3< ۬Sv5̮Wko?0bޭHB<=JpЍ?K`-k"ԁI6/8PmDΌ"vqD2F!DlbQj=hP:jOl~ 'hFhAҞhׂs{لx~p d a2L00Y4&d a2LkN"u, äO?w]8+SsXY?nsĂF8I{{ #kOa?Ô0f\QfđB5٫MʳJ 2@|OpJ_Yˑ w?Btӄ@zNTu\}S!dԓ!XB‡ݛ@d*łTWH4Hy]}DhpwOnY#HppT?dVNr9KnBBkR_ӽmKsf? MC NCӇmP~Cx*T %>S8R͗H.3Bh8Y/]aB8g Sn4s~ACH;lLn D9aAtRm NdQ.=?2ۿiC|~ga\;2'/Wl鍅C-t}!*.@ tD,7ȽzJ5D3,;!kAڕJHuwXBB=de8|/Hy( ܒ!QQH;&.t:T7;> m!P/sbLp>TBbS_r/P,,6T Y1E7]Np+\'hϢuKn13Cصs^@P獄I?ڐ| ,3kUN3BnBľl/֮'U^P,y?ʋ,ܻ( qi5|VB ҵ4l!$G-:Su?_ޅ*k/#&)U+^;k_%4h΂hLjW%&| D~wu6T C {Jy>'iՓ Ðt>$X贞=rj"xWBϊgCF\egM3Xr=,{`gCݓD6ԯX`~fA sK3gOG=-|*1Ql:xKb9_L+9;v! pG&*C X!gC__fcH+-PsPdNZl nCc?gz bM7<P?h+)5GYC |]5 sJA YzQ,vߴwaJ pBz7 "T ux/1 G = d]o+dzO8BiR4؉ ΪPۺpCT= Ll ߿nW&ɑ3?;|,54y=_% v'slT4{ ~S1y/8 ?8;Y޼sSQmJt3]HuWP$=c *,~%i?a sxԼE8 ų+?G"שKڐƦ?hg9BVB}@IU|!NsyҷTH U+c x[F·  Y!mr<-g2>',G`\!FQ{gR51|V=CqQOTw M֞blcYS Cg : Jr|wy=0mg> 16][%wa~c]{ckbl0P.!\KVԎJrl~|kþTGOcS \D|WFEny\z6L;CgD=9*ʱU\&d0CgWr:D|W}Cw}8[!!iҟ6UM5Mgiݽ<bl>kJc~R?n<QXAH} ql0(=&*$o fc 9.';n`S\=R̵r[or/k'h7]a*dSbf}ъfC~JyEjD><,!Nr%I@ء qD_߱[QOT"PN|޳!N>)u<ldӛgvkA @GQOTwԤz6~ eSol} ;~e3~X m$QOT(6+঩\Z0!N={EuYWɔ'3Y=9)!~TGpֱW2%%:)rw>98'e{)قQOT?աg\pPc39+/L\MCYGoQR.[M>'R<^u /rz9]~ zz=]CHacBjtt"~"\]4#ơgRHI@N`YB ]#JR-]Tw1 hHGjT uH-̫>v|ITZPǹ]6_AK_XICXC/o:g~D Pl&;RNEB2c;P$*5T?X;":y#SZAByPޕjg~@a]?ߺI(nv3{h|~߁a|(-woQykO(h9ƃwJP>q2Ɠ%[((V/H(9 md_G>*} F2~׏Q^*M91HH(_/lh|((y':.Ey:)6x0+ԏtD((y 'bjڎpLq,. d]q]R_u=(:`w;?ʷH48G Qls踒E"%A(/XC:(hD%c|>8Bt =ϣ/{>8Z%oCyzP~6o?:d 2Lb L&x_>!K'㟌Of76s03;Ϧ6?b v;im," 7I~1ǟoꝜLo# oTbIcב#lD0)?e L]o+ýh19O|]MeG/ je [,ظÕ#)A@\)2c۠bPY;g&eHS`xe2W$ֱ9]WRHܑuƲ䖅%kNM/@ B+2Q~+6q>:gz.qbfJU&gcqCq}yZ׿ɠTGJ mH~@22Ҝ1^ x0 ukwy }\_ē?][Lz\Fċ7O:ěRoܘ6O@4Tm76|Խ/oUc~J/7{}ˀ3+..Ғn,Y(+OI{'#7L&xҷ_t2|~2oMd8A1d jy!T+īd%ad |Mh@`zi76zZԗGjC_CXL7[] I?缕ѵ~*A̞4,!B~9'hZ[Ig7 \}Wb.75FFCklWٴw%Hw /_S:+|t"  /խs TZ$eM]?eP ~)8n ǧVrp2C\ /?N-n<{"cv< O_Ma|_ em(Sfsm(T{pPOqЇL՛gOGI@-ħv\/ : FY@}JHhcJyI-Ԍ.AO .E| K!b: "$]~kED}Cw殉7g>1VUz 1|WAlwSq/ur2bʫBY@^]s_菵koDn^ u9 rs 婷 rGBA"HMiX<s-;__/M=jd:Tr K«]*Zg:Ş# 叵Y2>_3sWڍƍ1bGx-prbxyr 4 b9GJ5Dl2*^P#ohdAO v%EVaj[}@b6lN8/>2#2]R Vmn C>.lf齐bN4dߚbu Y,4BۊcBܐnuws|1@&H?Șf9';m9W B$iHpج1v-zb]3 5.2Y*~-tdHMߺc87eg@jw[e;#16Q|Fx16!hvgϏ(7b޺9ǍbZϚ 2N>7F72no4577~j5noDXa,bf779ն'l7N_/o.ܕ,?xߜ˔;wu16qt[qcl|uwx1m#Ǎc4}p Gg< ~5#7 r_Z)Ƹz> Q"0nB|cmYxQ=q?(Mܾi8_G6dmx"v8r0Zu8=1>nXtBY&$I-/ D,:Hɫ>}D^kR䩔SJ8{@G;L)Gxv[1匛1Q ocQcBy9y.IC\4d~8?̏L ~43օr:*zv;vXفQ;`=x~ S#2( #^,"Ȕ3}:o쀦?z؝VgN &^Y>CYG$[ aA$P1 =LBmZky @FzOP1vHf65̞Xƞym @Q@7Kt;R:R?j.:^z 7:d2 2%:L SI|"H cT }Er(Nqb{,+hoR*a_UUx_@ =Iĸqß~_V6VFŏ3I{{ #kt&d- }L7E?v/?A}gڴoa/Y##/@ {-S!\eW1A3kka ˵׬> 8*xN -3$BڭfCQaSBOhf28-IKp~b902PI_ʱrIpԶP- شGCguj4sb7?p^M)!V YN<ˬ9s6 %/_-7EzlQamWR6ii6޲`Ϫ&,|֩o:A,c0oF iy ﵌| ~>_].xOMK=uɳ_Rg1/1Q9=DMM>س/ S81݅FiOXM=pKs7L. kuGŇnmϻg^,|Dx/ԕypᚔWd쁉iz"mOl+Ʊ/~_9|Fwl )g?rO1([ǔFrʽ_ƒʁ]؈]OneMա;eyF/DlG/EH۱6So09b{H ]Ђ^ׅA{T腚-{ {z%l/i:u3[BEE/@nF/vA/l=l `v!eLQSvD?snQC;e(SpOb{eǠ,L"853vI(^ȟiXZB__&Y?e2^hcMY132>n6-']R\ߚ\ׯomj D9rx~%:L4apw 4 IEwD~_w? Rok>MTNVy?QӒ W?[?x>5F:kT vl[HsKqI޴6-B^ڤung5 \m_N"A J= oݾd: ׻wA; Tf.$hp3<,AҧXXBt,U_ω{5jz}G甍_9ϝU&C&pZ>D~ಈY8tu^F(^.l*]gнWW/l"CTcW?%;nEX)[Cw}ρ{&&Op_Kl@PFAM7|#cYZ.O[- Uv * NTN*,W[o\- ʜΫ ˱*%9Mne.%MKNTNkTCΏ273BE>WL۴~kiͺx',ozEFv0CGlˬfTf9}-pc2e^tnϿ->)*}`Y;X,d)B ;qS)/. )/SO9alY bI_ߒ.߁.CAyy|B}:\ZЍM8$ 'tcwnQT,nt H9yzr}A hcng*H(DDQ{*NrBٞ(A~(0|ЃgŖp/ %PO+CzՓ!Kn xxɆے6d=U?C)@#c!nEϸaIH|va2f Cg 5H̚}>l R d}qg&^HӶb5tHsz|q)Qqj̇N768 K@4`sH^*>= bOp*AL&ܶګœs,wBXK]B;KCBxgY:.dʻrVpMni~v!D< !ŃՊMvsvP=:3-8}!ʍpO#9]]s" q3`hШ%~${ zp."75o5 ]'pOgQ}ѶЛ{ؼݮEϫ3 jwBaA3h'YbyktB`9OV7WJKDU[/[ NJOGC:{!"1 SnK=[W"^ZjUWt%vE+ OrG8*\VSyfW-S)^M\o[\;\FT-9%Gi| ׯZޓQZuypPdiܮ!MtJL91lr̟[>nqQܹFo'\5a94r6a~J܉  &D/ohO='NX3# "޼p ^d?W}KF?Q/JÄ?7+XYs7T6d<#OTNkq2bjU4/.n.n4 2uu7L@bӃ'}]7ay$Sn\ zs?`^sH<:a9WM9]A\q 355^||r_w|gG9s+[]\v|EH~sqk{|Ǹi`$X/*f%]>a)Q]kē/(6t9/#?PXҔ Z1 _63ݿKkJ_j#?$Ɣ'PcK(_ụ̌3;mI~uv;#Ɣ{hV{עbV}9>褒IB,jMt6(m?=UAO(b-uLoe#vHhE%Q̦}T2Ω@D#z&~?SH|?~??/ 9}Ҹ(/QaO 0& ?cL4 kS8aǤ"\;Ԭм6{u?EKw -h !k/g%p41u p-IK=M}n&,iw`"!:gv%lkrT%?ٶ󿟛^p=bYzy-|P]}A{\iFNO ?gAaU~)mwǯxrK#VLhC´k#g7gXX;X8tڑo Êp0:.kfu)+3k<7$K&D߉q~_4а&7–Yӥ)t nFK a91vMޣbokx_Kе*S=>ʵ_6>sZêcWʞq<%x2 K6_P<ģBZ['>1z bYv 9H/ 'Hc;9WM<hzٿjԹ]iKݳ$.\yRkz(=[OO4s7|3"4@@]}h1abkSXU.hcv+K,sVOd[ɂ%NAi. @`ܤ5a ߢ3\~?wF8-y%Rc_=<#w?X~auWyb6> {aӣ^~<?oOV/=㮿Gxͫ7b{Aۤlcw}^nTURwLO-\0KƧ_8K)w/2)S%@lHhzxz,(y/a nU*rI+o[Ͻhz꿟SVY@Aҟx ߷&|,슖C,jOvAwՓMO}͝lmk { &*o]:5$oXaWVEp(Pr>`)cGT?{"ek6x?hg.lf%ZVC,xrUPe!{-BD~:CAJ&SPWN{]C&[q4=ŖL;| I9* 㑳7cz '-=9H!L([0S{+KpiGΓK87߭`KMh+F& fi5f6c?:5K#_{FL?dkYvc?xYMY~N?d~RwkN;@ҡ>_K(k9ClcEnuzlN sO6&,gî}O 0绹W9QQ)([]. Ywt~sK/{'2?na-\ۂc8NR  B%e=tsD堠?ܘ]p]lgYxxiO!v䚦ǵ*GDV}Fu>ld+ qILX.$p=ʤȍb3;:,L68Uk]â?0ngdw"x 5'j2㔊{cQ{ff!%1„we Ufvnح;p(hV;/R@"f\QfđB5٫MʳJ 2@|OpJ_Yˑ w?Btӄ@zNTu\}S!dԓ!XB‡ݛ@d*łTWH4Hy]}DhpwOnY#HppT?dVNr9KnBBkR_ӽmKsf? MC NCӇmP~Cx*T %>S8R͗H.3Bh8Y/]aB8g Sn4s~ACH;lLn D9aAtRm NdQ.=?2ۿiC|~ga\;2'/Wl鍅C-t}!*.@ tD,7ȽzJ5D3,;!kAڕJHuwXBB=de8|/Hy( ܒ!QQH;&.t:T7;> m!P/sbLp>TBbS_r/P,,6T Y1E7]Np+\'hϢuKn13Cصs^@P獄I?ڐ| ,3kUN3BnBľl/֮'U^P,y?ʋ,ܻ( qi5|VB ҵ4l!$G-:Su?_ޅ*k/#&)U+^;k_%4h΂hLjW%&| D~wu6T C {Jy>'iՓ Ðt>$X贞=rj"xWBϊgCF\egM3Xr=,{`gCݓD6ԯX`~fA sK3gOG=-|*1Ql:xKb9_L+9;v! pG&*C X!gC__fcH+-PsPdNZl nCc?gz bM7<P?h+)5GYC |]5 sJA YzQ,vߴwaJ pBz7 "T ux/1 G = d]o+dzO8BiR4؉ ΪPۺpCT= Ll ߿nW&ɑ3?;|,54y=_% v'slT4{ ~S1y/8 ?8;Y޼sSQmJt3] a++IX{2TxY$>z 2KbM @kgl"ٕNAI%mHcx 43MDf_>~w* pj~~WH*%GHRz//&;B Pcd!°7a1Z1B!] G1D9s@ǭ=ISpA#D*ob0$[tEcfQMrEl Y*4EMמm7~WVVTz~9^2<00_ T $N{($?|p=>4mDKv} 1W+9)@QGPIUsxy}+!^{5r!=T*$Ʉ}.<dXzz gC jéVZѽTg?-K"<,}d*0s$<>TiguN Ah~] ^.ĭ,끄Ԅ,cymr<-g}NX*sA]SKxg!}8[!C9 F?A9mO506 (a^cy$O9F719mo['֍al= wyz A6uU/v ni&XRsQQc끺wxUYⴙ@FC,H YRQc#Im!8yl=pGz]uz{ž`)J^KNvz[Կ%i; _>&KY;?~y/{MχQckk:&NK\kiz'RK[4eܽL[-F?Qyh!R=%T!N!}1D\!u_b%ٓF ņ\c4+^ f2iBg.<9d8B3;"%ďJ[|=?:6ʲZ8=D$\"eC.'=oo %[0*:ޕGtqC/1+AC5PM 1I)"IЪIxu3HR QWsxPmgוf-kYk~w}i?~T(.q| bJzVr挲^0jc+ o]06DDݿO 崣=.  =^5dFx0v퐼v`+D|[mQlrUDz&ŧFm\~rt$LܷQCg!}H!ƭunwt6|0d׎1oǒ./,wM>hOcw'i~4?؟9vR҇LU9?{gaӡ{!䃺V{]#ήqe~B9?F<,O8$pۃ@˫m!9;A|Ҝtr~j:,pN}0`a5fJK3ِkn gRPܩûG¾CJ#`CeC̊aQu.=|6h !Ko#hdb0S?݂"#Hc-(~2S5{}W#x_&S>K|69ӕ`=w. <gIi,SN'I;H'p9Ɉӝ /6Cu69A aMm/38ڽ=/L(Syp*V;_,=v4kmcڟ: qzB:Ҽ[g Xwv#SW(a;H- ;M Ydr|v X n,--2A1|p\؏L>d7_%dtä'' '~=s$ {Dž )J0oc,g; L#˼6xA;:MEOn* t EOGM [}_0!%[ O8`[w)`fW|}|4hk8EUKa8H`50yf4bCXU?g&'g˄5x'{6EtLaߐ?XONZ](N';.쿵y,y͛z*p(jGx?hbE{zɧ۷C:vY ^" [u9&U.p^GF"' '*s힗05x?Tų!,L1Ρvڊy?I??M(_D^qA]Z1 0ypDeߡ tHGWܗoU3Rb>G#lϷ17lU1O :9K`CmDze&?%.PVcW0S^a<;r{KHZ t4Bd# 09z%HKoWLv¸#,//9 \@|]ac*{B/oXbՅtE? @u$ TPV#,5smYy:xWH&\%\gpĚA:n8Ơ"mWYA k%~tWoWl(GkbOz\;.cA? ,6ƠI0̗#Fx~b> ;a[7CXg2qNu_ qt{~.ۇYŖ$7i3+B 1u O2϶b<=S"n{cPqP)}hmd! h-i zPLYӫ҃$LP):6n(VVDJcN@%ip7`ђzOPh$ǟ`O@$H"<ZIyEMuZ Vs9V|*53$ ZFV{cebb!gvp * 9iNIj ]ub7+|\]߰c()TҦgء58c8c<24)$$Z!).D Xp3լQ>= library("zoo") library("sandwich") library("strucchange") library("lmtest") options(prompt = "R> ", continue = "+ ") @ \section{Introduction} \label{sec:intro} This paper combines two topics that play an important role in applied econometrics: computational tools and robust covariance estimation. Without the aid of statistical and econometric software modern data analysis would not be possible: hence, both practitioners and (applied) researchers rely on computational tools that should preferably implement state-of-the-art methodology and be numerically reliable, easy to use, flexible and extensible. In many situations, economic data arises from time-series or cross-sectional studies which typically exhibit some form of autocorrelation and/or heteroskedasticity. If the covariance structure were known, it could be taken into account in a (parametric) model, but more often than not the form of autocorrelation and heteroskedasticity is unknown. In such cases, model parameters can typically still be estimated consistently using the usual estimating functions, but for valid inference in such models a consistent covariance matrix estimate is essential. Over the last 20 years several procedures for heteroskedasticity consistent (HC) and for heteroskedasticity and autocorrelation consistent (HAC) covariance estimation have been suggested in the econometrics literature \citep[among others]{hac:White:1980,hac:MacKinnon+White:1985,hac:Newey+West:1987,hac:Newey+West:1994,hac:Andrews:1991} and are now routinely used in econometric analyses. Many statistical and econometric software packages implement various HC and HAC estimators for certain inference procedures, so why is there a need for a paper about econometric computing with HC and HAC estimators? Typically, only certain special cases of such estimators---and not the general framework they are taken from---are implemented in statistical and econometric software packages and sometimes they are only available as options to certain inference functions. It is desirable to improve on this for two reasons: First, the literature suggested conceptual frameworks for HC and HAC estimation and it would only be natural to translate these conceptual properties into computational tools that reflect the flexibility of the general framework. Second, it is important, particularly for applied research, to have covariance matrices not only as options to certain tests but as stand-alone functions which can be used as modular building blocks and plugged into various inference procedures. This is becoming more and more relevant, because today, as \cite{hac:Cribari-Neto+Zarkos:2003} point out, applied researchers typically cannot wait until a certain procedure becomes available in the software package of their choice but are often forced to program new techniques themselves. Thus, just as suitable covariance estimators are routinely plugged into formulas in theoretical work, programmers should be enabled to plug in implementations of such estimators in computational work. Hence, the aim of this paper is to present an econometric computing approach to HC and HAC estimation that provides reusable components that can be used as modular building blocks in implementing new inferential techniques and in applications. All functions described are available in the package \pkg{sandwich} implemented in the \proglang{R} system for statistical computing \citep{hac:R:2008} which is currently not the most popular environment for econometric computing but which is finding increasing attention among econometricians \citep{hac:Cribari-Neto+Zarkos:1999,hac:Racine+Hyndman:2002}. Both \proglang{R} itself and the \pkg{sandwich} package (as well as all other packages used in this paper) are available at no cost under the terms of the general public licence (GPL) from the comprehensive \proglang{R} archive network (CRAN, \url{http://CRAN.R-project.org/}). \proglang{R} has no built-in support for HC and HAC estimation and at the time we started writing \pkg{sandwich} there was only one package that implements HC (but not HAC) estimators \citep[the \pkg{car} package][]{hac:Fox:2002} but which does not allow for as much flexibility as the tools presented here. \pkg{sandwich} provides the functions \code{vcovHC} and \code{vcovHAC} implementing general classes of HC and HAC estimators. The names of the functions are chosen to correspond to \code{vcov}, \proglang{R}'s generic function for extracting covariance matrices from fitted model objects. Below, we focus on the general linear regression model estimated by ordinary least squares (OLS), which is typically fitted in \proglang{R} using the function \code{lm} from which the standard covariance matrix (assuming spherical errors) can be extracted by \code{vcov}. Using the tools from \pkg{sandwich}, HC and HAC covariances matrices can now be extracted from the same fitted models using \code{vcovHC} and \code{vcovHAC}. Due to the object orientation of \proglang{R}, these functions are not only limited to the linear regression model but can be easily extended to other models. The HAC estimators are already available for generalized linear models (fitted by \code{glm}) and robust regression (fitted by \code{rlm} in package \pkg{MASS}). Another important feature of \proglang{R} that is used repeatedly below is that functions are first-level objects---i.e., functions can take functions as arguments and return functions---which is particularly useful for defining certain procedures for data-driven computations such as the definition of the structure of covariance matrices in HC estimation and weighting schemes for HAC estimation. The remainder of this paper is structured as follows: To fix notations, Section~\ref{sec:model} describes the linear regression model used and motivates the following sections. Section~\ref{sec:estimating} gives brief literature reviews and describes the conceptual frameworks for HC and HAC estimation respectively and then shows how the conceptual properties are turned into computational tools in \pkg{sandwich}. Section~\ref{sec:applications} provides some illustrations and applications of these tools before a summary is given in Section~\ref{sec:summary}. More details about the \proglang{R} code used are provided in an appendix. \section{The linear regression model} \label{sec:model} To fix notations, we consider the linear regression model \begin{equation} \label{eq:lm} y_i \quad = \quad x_i^\top \beta \; + \; u_i \qquad (i = 1, \dots, n), \end{equation} with dependent variable $y_i$, $k$-dimensional regressor $x_i$ with coefficient vector $\beta$ and error term $u_i$. In the usual matrix notation comprising all $n$ observations this can be formulated as $y = X \beta + u$. In the general linear model, it is typically assumed that the errors have zero mean and variance $\VAR[u] = \Omega$. Under suitable regularity conditions \citep[see e.g.,][]{hac:Greene:1993,hac:White:2000}, the coefficients $\beta$ can be consistently estimated by OLS giving the well-known OLS estimator $\hat \beta$ with corresponding OLS residuals $\hat u_i$: \begin{eqnarray} \hat \beta & = & \left( X^\top X \right)^{-1} X^\top y \\ \hat u & = & (I_n - H) \, y \; = \; (I_n - X \left( X^\top X \right)^{-1} X^\top) \, y \end{eqnarray} where $I_n$ is the $n$-dimensional identity matrix and $H$ is usually called hat matrix. The estimates $\hat \beta$ are unbiased and asymptotically normal \citep{hac:White:2000}. Their covariance matrix $\Psi$ is usually denoted in one of the two following ways: \begin{eqnarray} \Psi \; = \; \VAR[\hat \beta] & = & \left( X^\top X \right)^{-1} X^\top \Omega X \left( X^\top X \right)^{-1} \label{eq:PsiHC} \\ & = & \left( \frac{1}{n} X^\top X \right)^{-1} \frac{1}{n} \Phi \left( \frac{1}{n} X^\top X \right)^{-1} \label{eq:PsiHAC} \end{eqnarray} where $\Phi = n^{-1} X^\top \Omega X$ is essentially the covariance matrix of the scores or estimating functions $V_i(\beta) = x_i (y_i - x_i^\top \beta)$. The estimating functions evaluated at the parameter estimates $\hat V_i = V_i(\hat \beta)$ have then sum zero. For inference in the linear regression model, it is essential to have a consistent estimator for $\Psi$. What kind of estimator should be used for $\Psi$ depends on the assumptions about $\Omega$: In the classical linear model independent and homoskedastic errors with variance $\sigma^2$ are assumed yielding $\Omega = \sigma^2 I_n$ and $\Psi = \sigma^2 (X^\top X)^{-1}$ which can be consistently estimated by plugging in the usual OLS estimator ${\hat \sigma}^2 = (n-k)^{-1} \sum_{i = 1}^n {\hat u_i}^2$. But if the independence and/or homoskedasticity assumption is violated, inference based on this estimator $\hat \Psi_{\mathrm{const}} = \hat \sigma (X^\top X)^{-1}$ will be biased. HC and HAC estimators tackle this problem by plugging an estimate $\hat \Omega$ or $\hat \Phi$ into (\ref{eq:PsiHC}) or (\ref{eq:PsiHAC}) respectively which are consistent in the presence of heteroskedasticity and autocorrelation respectively. Such estimators and their implementation are described in the following section. \section[Estimating the covariance matrix]{Estimating the covariance matrix $\Psi$} \label{sec:estimating} \subsection{Dealing with heteroskedasticity} If it is assumed that the errors $u_i$ are independent but potentially heteroskedastic---a situation which typically arises with cross-sectional data---their covariance matrix $\Omega$ is diagonal but has nonconstant diagonal elements. Therefore, various HC estimators $\hat \Psi_{\mathrm{HC}}$ have been suggested which are constructed by plugging an estimate of type $\hat \Omega = \mathrm{diag}(\omega_1, \dots, \omega_n)$ into Equation~(\ref{eq:PsiHC}). These estimators differ in their choice of the $\omega_i$, an overview of the most important cases is given in the following: \begin{eqnarray*} \mathrm{const:} \quad \omega_i & = & \hat \sigma^2 \\ \mathrm{HC0:} \quad \omega_i & = & {\hat u_i}^2 \\ \mathrm{HC1:} \quad \omega_i & = & \frac{n}{n-k} \, {\hat u_i}^2 \\ \mathrm{HC2:} \quad \omega_i & = & \frac{{\hat u_i}^2}{1 - h_i} \\ \mathrm{HC3:} \quad \omega_i & = & \frac{{\hat u_i}^2}{(1 - h_i)^2} \\ \mathrm{HC4:} \quad \omega_i & = & \frac{{\hat u_i}^2}{(1 - h_i)^{\delta_i}} \end{eqnarray*} where $h_i = H_{ii}$ are the diagonal elements of the hat matrix, $\bar h$ is their mean and $\delta_i = \min\{4, h_i/\bar h\}$. The first equation above yields the standard estimator $\hat \Psi_{\mathrm{const}}$ for homoskedastic errors. All others produce different kinds of HC estimators. The estimator HC0 was suggested in the econometrics literature by \cite{hac:White:1980} and is justified by asymptotic arguments. %% check White, maybe explain ideas The estimators HC1, HC2 and HC3 were suggested by \cite{hac:MacKinnon+White:1985} to improve the performance in small samples. A more extensive study of small sample behaviour was carried out by \cite{hac:Long+Ervin:2000} which arrive at the conclusion that HC3 provides the best performance in small samples as it gives less weight to influential observations. Recently, \cite{hac:Cribari-Neto:2004} suggested the estimator HC4 to further improve small sample performance, especially in the presence of influential observations. All of these HC estimators $\hat \Psi_{\mathrm{HC}}$ have in common that they are determined by $\omega = (\omega_1, \dots, \omega_n)^\top$ which in turn can be computed based on the residuals $\hat u$, the diagonal of the hat matrix $h$ and the degrees of freedom $n-k$. To translate these conceptual properties of this class of HC estimators into a computational tool, a function is required which takes a fitted regression model and the diagonal elements $\omega$ as inputs and returns the corresponding $\hat \Psi_{\mathrm{HC}}$. In \pkg{sandwich}, this is implemented in the function \code{vcovHC} which takes the following arguments: \begin{verbatim} vcovHC(lmobj, omega = NULL, type = "HC3", ...) \end{verbatim} The first argument \code{lmobj} is an object as returned by \code{lm}, \proglang{R}'s standard function for fitting linear regression models. The argument \code{omega} can either be the vector $\omega$ or a function for data-driven computation of $\omega$ based on the residuals $\hat u$, the diagonal of the hat matrix $h$ and the residual degrees of freedom $n-k$. Thus, it has to be of the form \code{omega(residuals, diaghat, df)}: e.g., for computing HC3 \code{omega} is set to \verb+function(residuals, diaghat, df)+ \linebreak \verb+residuals^2/(1 - diaghat)^2+. As a convenience option, a \code{type} argument can be set to \code{"const"}, \code{"HC0"} (or equivalently \code{"HC"}), \code{"HC1"}, \code{"HC2"}, \code{"HC3"} (the default) or \code{"HC4"} and then \code{vcovHC} uses the corresponding \code{omega} function. As soon as \code{omega} is specified by the user, \code{type} is ignored. In summary, by specfying $\omega$---either as a vector or as a function---\code{vcovHC} can compute arbitrary HC covariance matrix estimates from the class of estimators outlined above. In Section~\ref{sec:applications}, it will be illustrated how this function can be used as a building block when doing inference in linear regression models. \subsection{Dealing with autocorrelation} If the error terms $u_i$ are not independent, $\Omega$ is not diagonal and without further specification of a parametic model for the type of dependence it is typically burdensome to estimate $\Omega$ directly. However, if the form of heteroskedasticity and autocorrelation is unknown, a solution to this problem is to estimate $\Phi$ instead which is essentially the covariance matrix of the estimating functions\footnote{Due to the use of estimating functions, this approach is not only feasible in linear models estimated by OLS, but also in nonlinear models using other estimating functions such as maximum likelihood (ML), generalized methods of moments (GMM) or Quasi-ML.}. This is what HAC estimators do: $\hat \Psi_{\mathrm{HAC}}$ is computed by plugging an estimate $\hat \Phi$ into Equation~(\ref{eq:PsiHAC}) with \begin{equation} \label{eq:HAC} \hat \Phi \quad = \quad \frac{1}{n} \sum_{i, j = 1}^n w_{|i-j|} \, {\hat V}_i {{\hat V}_j}^\top \end{equation} where $w = (w_0, \dots, w_{n-1})^\top$ is a vector of weights. An additional finite sample adjustment can be applied by multiplication with $n/(n-k)$. For many data structures, it is a reasonable assumption that the autocorrelations should decrease with increasing lag $\ell = |i-j|$---otherwise $\beta$ can typically not be estimated consistently by OLS---so that it is rather intuitive that the weights $w_\ell$ should also decrease. Starting from \cite{hac:White+Domowitz:1984} and \cite{hac:Newey+West:1987}, different choices for the vector of weights $w$ have been suggested in the econometrics literature which have been placed by \cite{hac:Andrews:1991} in a more general framework of choosing the weights by kernel functions with automatic bandwidth selection. \cite{hac:Andrews+Monahan:1992} show that the bias of the estimators can be reduced by prewhitening the estimating functions $\hat V_i$ using a vector autoregression (VAR) of order $p$ and applying the estimator in Equation~(\ref{eq:HAC}) to the VAR($p$) residuals subsequently. \cite{hac:Lumley+Heagerty:1999} suggest an adaptive weighting scheme where the weights are chosen based on the estimated autocorrelations of the residuals $\hat u$. All the estimators mentioned above are of the form (\ref{eq:HAC}), i.e., a weighted sum of lagged products of the estimating functions corresponding to a fitted regression model. Therefore, a natural implementation for this class of HAC estimators is the following: \begin{verbatim} vcovHAC(lmobj, weights, prewhite = FALSE, adjust = TRUE, sandwich = TRUE, order.by, ar.method, data) \end{verbatim} The most important arguments are again the fitted linear model\footnote{Note, that not only HAC estimators for fitted \emph{linear} models can be computed with \code{vcovHAC}. See \cite{hac:Zeileis:2006} for details.} \code{lmobj}---from which the estimating functions $\hat V_i$ can easily be extracted using the generic function \code{estfun(lmobj)}---and the argument \code{weights} which specifys $w$. The latter can be either the vector $w$ directly or a function to compute it from \code{lmobj}.\footnote{If \code{weights} is a vector with less than $n$ elements, the remaining weights are assumed to be zero.} The argument \code{prewhite} specifies wether prewhitening should be used or not\footnote{The order $p$ is set to \code{as.integer(prewhite)}, hence both \code{prewhite = 1} and \code{prewhite = TRUE} lead to a VAR(1) model, but also \code{prewhite = 2} is possible.} and \code{adjust} determines wether a finite sample correction by multiplication with $n/(n-k)$ should be made or not. By setting \code{sandwich} it can be controlled wether the full sandwich estimator $\hat \Psi_{\mathrm{HAC}}$ or only the ``meat'' $\hat \Phi/n$ of the sandwich should be returned. The remaining arguments are a bit more technical: \code{order.by} specifies by which variable the data should be ordered (the default is that they are already ordered, as is natural with time series data), which \code{ar.method} should be used for fitting the VAR($p$) model (the default is OLS) and \code{data} provides a data frame from which \code{order.by} can be taken (the default is the environment from which \code{vcovHAC} is called).\footnote{More detailed technical documentation of these and other arguments of the functions described are available in the reference manual included in \pkg{sandwich}.} As already pointed out above, all that is required for specifying an estimator $\hat \Psi_{\mathrm{HAC}}$ is the appropriate vector of weights (or a function for data-driven computation of the weights). For the most important estimators from the literature mentioned above there are functions for computing the corresponding weights readily available in \pkg{sandwich}. They are all of the form \code{weights(lmobj, order.by, prewhite, ar.method, data)}, i.e., functions that compute the weights depending on the fitted model object \code{lmobj} and the arguments \code{order.by}, \code{prewhite}, \code{data} which are only needed for ordering and prewhitening. The function \code{weightsAndrews} implements the class of weights of \cite{hac:Andrews:1991} and \code{weightsLumley} implements the class of weights of \cite{hac:Lumley+Heagerty:1999}. Both functions have convenience interfaces: \code{kernHAC} calls \code{vcovHAC} with \code{weightsAndrews} (and different defaults for some parameters) and \code{weave} calls \code{vcovHAC} with \code{weightsLumley}. Finally, a third convenience interface to \code{vcovHAC} is available for computing the estimator(s) of \cite{hac:Newey+West:1987,hac:Newey+West:1994}. \begin{itemize} \item \cite{hac:Newey+West:1987} suggested to use linearly decaying weights \begin{equation} \label{eq:NeweyWest} w_\ell \quad = \quad 1 - \frac{\ell}{L + 1} \end{equation} where $L$ is the maximum lag, all other weights are zero. This is implemented in the function \code{NeweyWest(lmobj, lag = NULL, \dots)} where \code{lag} specifies $L$ and \code{\dots} are (here, and in the following) further arguments passed to other functions, detailed information is always available in the reference manual. If \code{lag} is set to \code{NULL} (the default) the non-parametric bandwidth selection procedure of \cite{hac:Newey+West:1994} is used. This is also available in a stand-alone function \code{bwNeweyWest}, see also below. \setkeys{Gin}{width=.7\textwidth} \begin{figure}[tbh] \begin{center} <>= curve(kweights(x, kernel = "Quadratic", normalize = TRUE), from = 0, to = 3.2, xlab = "x", ylab = "K(x)") curve(kweights(x, kernel = "Bartlett", normalize = TRUE), from = 0, to = 3.2, col = 2, add = TRUE) curve(kweights(x, kernel = "Parzen", normalize = TRUE), from = 0, to = 3.2, col = 3, add = TRUE) curve(kweights(x, kernel = "Tukey", normalize = TRUE), from = 0, to = 3.2, col = 4, add = TRUE) lines(c(0, 0.5), c(1, 1), col = 6) lines(c(0.5, 0.5), c(1, 0), lty = 3, col = 6) lines(c(0.5, 3.2), c(0, 0), col = 6) curve(kweights(x, kernel = "Quadratic", normalize = TRUE), from = 0, to = 3.2, col = 1, add = TRUE) text(0.5, 0.98, "Truncated", pos = 4) text(0.8, kweights(0.8, "Bartlett", normalize = TRUE), "Bartlett", pos = 4) text(1.35, kweights(1.4, "Quadratic", normalize = TRUE), "Quadratic Spectral", pos = 2) text(1.15, 0.29, "Parzen", pos = 4) arrows(1.17, 0.29, 1, kweights(1, "Parzen", normalize = TRUE), length = 0.1) text(1.3, 0.2, "Tukey-Hanning", pos = 4) arrows(1.32, 0.2, 1.1, kweights(1.1, "Tukey", normalize = TRUE), length = 0.1) @ \caption{\label{fig:kweights} Kernel functions for kernel-based HAC estimation.} \end{center} \end{figure} \item \cite{hac:Andrews:1991} placed this and other estimators in a more general class of kernel-based HAC estimators with weights of the form $w_\ell = K(\ell/B)$ where $K(\cdot)$ is a kernel function and $B$ the bandwidth parameter used. The kernel functions considered are the truncated, Bartlett, Parzen, Tukey-Hanning and quadratic spectral kernel which are depicted in Figure~\ref{fig:kweights}. The Bartlett kernel leads to the weights used by \cite{hac:Newey+West:1987} in Equation~(\ref{eq:NeweyWest}) when the bandwidth $B$ is set to $L + 1$. The kernel recommended by \cite{hac:Andrews:1991} and probably most used in the literature is the quadratic spectral kernel which leads to the following weights: \begin{equation} w_\ell \quad = \quad \frac{3}{z^2} \, \left(\frac{\sin(z)}{z} - \cos (z) \right), \end{equation} where $z = 6 \pi/5 \cdot \ell/B$. The definitions for the remaining kernels can be found in \cite{hac:Andrews:1991}. All kernel weights mentioned above are available in \code{weightsAndrews(lmobj, kernel, bw, ...)} where \code{kernel} specifies one of the kernels via a character string (\code{"Truncated"}, \code{"Bartlett"}, \code{"Parzen"}, \code{"Tukey-Hanning"} or \code{"Quadratic Spectral"}) and \code{bw} the bandwidth either as a scalar or as a function. The automatic bandwidth selection described in \cite{hac:Andrews:1991} via AR(1) or ARMA(1,1) approximations is implemented in a function \code{bwAndrews} which is set as the default in \code{weightsAndrews}. For the Bartlett, Parzen and quadratic spectral kernels, \cite{hac:Newey+West:1994} suggested a different nonparametric bandwidth selection procedure, which is implemented in \code{bwNeweyWest} and which can also be passed to \code{weightsAndrews}. As the flexibility of this conceptual framework of estimators leads to a lot of knobs and switches in the computational tools, a convenience function \code{kernHAC} for kernel-based HAC estimation has been added to \pkg{sandwich} that calls \code{vcovHAC} based on \code{weightsAndrews} and \code{bwAndrews} with defaults as motivated by \cite{hac:Andrews:1991} and \cite{hac:Andrews+Monahan:1992}: by default, it computes a quadratic spectral kernel HAC estimator with VAR(1) prewhitening and automatic bandwidth selection based on an AR(1) approximation. But of course, all the options described above can also be changed by the user when calling \code{kernHAC}. \item \cite{hac:Lumley+Heagerty:1999} suggested a different approach for specifying the weights in (\ref{eq:HAC}) based on some estimate $\hat \varrho_\ell$ of the autocorrelation of the residuals $\hat u_i$ at lag $0 = 1, \dots, n-1$. They suggest either to use truncated weights $w_\ell = I\{n \, \hat \varrho^2_\ell > C\}$ (where $I(\cdot)$ is the indicator function) or smoothed weights $w_\ell = \min\{1, C \, n \, \hat \varrho^2_\ell\}$, where for both a suitable constant $C$ has to be specified. \cite{hac:Lumley+Heagerty:1999} suggest using a default of $C = 4$ and $C = 1$ for the truncated and smoothed weights respectively. Note, that the truncated weights are equivalent to the truncated kernel from the framework of \cite{hac:Andrews:1991} but using a different method for computing the truncation lag. To ensure that the weights $|w_\ell|$ are decreasing, the autocorrelations have to be decreasing for increasing lag $\ell$ which can be achieved by using isotonic regression methods. In \pkg{sandwich}, these two weighting schemes are implemented in a function \code{weightsLumley} with a convenience interface \code{weave} (which stands for \underline{w}eighted \underline{e}mpirical \underline{a}daptive \underline{v}ariance \underline{e}stimators) which again sets up the weights and then calls \code{vcovHAC}. Its most important arguments are \code{weave(lmobj, method, C, ...)} where \code{method} can be either \code{"truncate"} or \code{"smooth"} and \code{C} is by default 4 or 1 respectively. \end{itemize} To sum up, \code{vcovHAC} provides a simple yet flexible interface for general HAC estimation as defined in Equation~(\ref{eq:HAC}). Arbitrary weights can be supplied either as vectors or functions for data-driven computation of the weights. As the latter might easily become rather complex, in particular due to the automatic choice of bandwidth or lag truncation parameters, three strategies suggested in the literature are readily available in \pkg{sandwich}: First, the Bartlett kernel weights suggested by \cite{hac:Newey+West:1987,hac:Newey+West:1994} are used in \code{NeweyWest} which by default uses the bandwidth selection function \code{bwNeweyWest}. Second, the weighting scheme introduced by \cite{hac:Andrews:1991} for kernel-based HAC estimation with automatic bandwidth selection is implemented in \code{weightsAndrews} and \code{bwAndrews} with corresponding convenience interface \code{kernHAC}. Third, the weighted empirical adaptive variance estimation scheme suggested by \cite{hac:Lumley+Heagerty:1999} is available in \code{weightsLumley} with convenience interface \code{weave}. It is illustrated in the following section how these functions can be easily used in applications. \section{Applications and illustrations} \label{sec:applications} In econometric analyses, the practitioner is only seldom interested in the covariance matrix $\hat \Psi$ (or $\hat \Omega$ or $\hat \Phi$) \emph{per se}, but mainly wants to compute them to use them for inferential procedures. Therefore, it is important that the functions \code{vcovHC} and \code{vcovHAC} described in the previous section can be easily supplied to other procedures such that the user does not necessarily have to compute the variances in advance. A typical field of application for HC and HAC covariances are partial $t$ or $z$ tests for assessing whether a parameter $\beta_j$ is significantly different from zero. Exploiting the (asymptotic) normality of the estimates, these tests are based on the $t$ ratio $\hat \beta_j/\sqrt{\hat \Psi_{jj}}$ and either use the asymptotic normal distribution or the $t$ distribution with $n-k$ degrees of freedom for computing $p$ values \citep{hac:White:2000}. This procedure is available in the \proglang{R} package \pkg{lmtest} \citep{hac:Zeileis+Hothorn:2002} in the generic function \code{coeftest} which has a default method applicable to fitted \code{"lm"} objects. \begin{verbatim} coeftest(lmobj, vcov = NULL, df = NULL, ...) \end{verbatim} where \code{vcov} specifies the covariances either as a matrix (corresponding to the covariance matrix estimate) or as a function computing it from \code{lmobj} (corresponding to the covariance matrix estimator). By default, it uses the \code{vcov} method which computes $\hat \Psi_{\mathrm{const}}$ assuming spherical errors. The \code{df} argument determines the degrees of freedom: if \code{df} is finite and positive, a $t$ distribution with \code{df} degrees of freedom is used, otherwise a normal approximation is employed. The default is to set \code{df} to $n-k$. Inference based on HC and HAC estimators is illustrated in the following using three real-world data sets: testing coefficients in two models from \cite{hac:Greene:1993} and a structural change problem from \cite{hac:Bai+Perron:2003}. To make the results exactly reproducible for the reader, the commands for the inferential procedures is given along with their output within the text. A full list of commands, including those which produce the figures in the text, are provided (without output) in the appendix along with the versions of \proglang{R} and the packages used. Before we start with the examples, the \pkg{sandwich} and \pkg{lmtest} package have to be loaded: <>= library("sandwich") library("lmtest") @ \subsection{Testing coefficients in cross-sectional data} A quadratic regression model for per capita expenditures on public schools explained by per capita income in the United States in 1979 has been analyzed by \cite{hac:Greene:1993} and re-analyzed in \cite{hac:Cribari-Neto:2004}. The corresponding cross-sectional data for the 51 US states is given in Table 14.1 in \cite{hac:Greene:1993} and available in \pkg{sandwich} in the data frame \code{PublicSchools} which can be loaded by: <>= data("PublicSchools") ps <- na.omit(PublicSchools) ps$Income <- ps$Income * 0.0001 @ where the second line omits a missing value (\code{NA}) in Wisconsin and assigns the result to a new data frame \code{ps} and the third line transforms the income to be in USD $10,000$. The quadratic regression can now easily be fit using the function \code{lm} which fits linear regression models specified by a symbolic formula via OLS. <>= fm.ps <- lm(Expenditure ~ Income + I(Income^2), data = ps) @ The fitted \code{"lm"} object \code{fm.ps} now contains the regression of the variable \code{Expenditure} on the variable \code{Income} and its sqared value, both variables are taken from the data frame \code{ps}. The question in this data set is whether the quadratic term is really needed, i.e., whether the coefficient of \verb/I(Income^2)/ is significantly different from zero. The partial quasi-$t$~tests (or $z$~tests) for all coefficients can be computed using the function \code{coeftest}. \cite{hac:Greene:1993} assesses the significance using the HC0 estimator of \cite{hac:White:1980}. <>= coeftest(fm.ps, df = Inf, vcov = vcovHC(fm.ps, type = "HC0")) @ The \code{vcov} argument specifies the covariance matrix as a matrix (as opposed to a function) which is returned by \code{vcovHC(fm.ps, type = "HC0")}. As \code{df} is set to infinity (\code{Inf}) a normal approximation is used for computing the $p$ values which seem to suggest that the quadratic term might be weakly significant. In his analysis, \cite{hac:Cribari-Neto:2004} uses his HC4 estimator (among others) giving the following result: <>= coeftest(fm.ps, df = Inf, vcov = vcovHC(fm.ps, type = "HC4")) @ The quadratic term is clearly non-significant. The reason for this result is depicted in Figure~\ref{fig:hc} which shows the data along with the fitted linear and quadratic model---the latter being obviously heavily influenced by a single outlier: Alaska. Thus, the improved performance of the HC4 as compared to the HC0 estimator is due to the correction for high leverage points. \setkeys{Gin}{width=.6\textwidth} \begin{figure}[tbh] \begin{center} <>= plot(Expenditure ~ Income, data = ps, xlab = "per capita income", ylab = "per capita spending on public schools") inc <- seq(0.5, 1.2, by = 0.001) lines(inc, predict(fm.ps, data.frame(Income = inc)), col = 4, lty = 2) fm.ps2 <- lm(Expenditure ~ Income, data = ps) abline(fm.ps2, col = 4) text(ps[2,2], ps[2,1], rownames(ps)[2], pos = 2) @ \caption{\label{fig:hc} Expenditure on public schools and income with fitted models.} \end{center} \end{figure} \subsection{Testing coefficients in time-series data} \cite{hac:Greene:1993} also anayzes a time-series regression model based on robust covariance matrix estimates: his Table 15.1 provides data on the nominal gross national product (GNP), nominal gross private domestic investment, a price index and an interest rate which is used to formulate a model that explains real investment by real GNP and real interest. The corresponding transformed variables \code{RealInv}, \code{RealGNP} and \code{RealInt} are stored in the data frame \code{Investment} in \pkg{sandwich} which can be loaded by: <>= data("Investment") @ Subsequently, the fitted linear regression model is computed by: <>= fm.inv <- lm(RealInv ~ RealGNP + RealInt, data = Investment) @ and the significance of the coefficients can again be assessed by partial $z$ tests using \code{coeftest}. \cite{hac:Greene:1993} uses the estimator of \cite{hac:Newey+West:1987} without prewhitening and with lag $L = 4$ for this purpose which is here passed as a matrix (as opposed to a function) to \code{coeftest}. <>= coeftest(fm.inv, df = Inf, vcov = NeweyWest(fm.inv, lag = 4, prewhite = FALSE)) @ If alternatively the automatic bandwidth selection procedure of \cite{hac:Newey+West:1994} with prewhitening should be used, this can be passed as a function to \code{coeftest}. <>= coeftest(fm.inv, df = Inf, vcov = NeweyWest) @ For illustration purposes, we show how a new function implementing a particular HAC estimator can be easily set up using the tools provided by \pkg{sandwich}. This is particularly helpful if the same estimator is to be applied several times in the course of an analysis. Suppose, we want to use a Parzen kernel with VAR(2) prewhitening, no finite sample adjustment and automatic bandwidth selection according to \cite{hac:Newey+West:1994}. First, we set up the function \code{parzenHAC} and then pass this function to \code{coeftest}. <>= parzenHAC <- function(x, ...) kernHAC(x, kernel = "Parzen", prewhite = 2, adjust = FALSE, bw = bwNeweyWest, ...) coeftest(fm.inv, df = Inf, vcov = parzenHAC) @ The three estimators leads to slightly different standard errors, but all tests agree that real GNP has a highly significant influence while the real interest rate has not. The data along with the fitted regression are depicted in Figure~\ref{fig:hac}. \setkeys{Gin}{width=.6\textwidth} \begin{figure}[tbh] \begin{center} <>= library("scatterplot3d") s3d <- scatterplot3d(Investment[,c(5,7,6)], type = "b", angle = 65, scale.y = 1, pch = 16) s3d$plane3d(fm.inv, lty.box = "solid", col = 4) @ \caption{\label{fig:hac} Investment equation data with fitted model.} \end{center} \end{figure} \subsection[Testing and dating structural changes in the presence of heteroskedasticity and autocorrelation]{Testing and dating structural changes in the presence of\\ heteroskedasticity and autocorrelation} To illustrate that the functionality provided by the covariance estimators implemented in \pkg{sandwich} cannot only be used in simple settings, such as partial quasi-$t$~tests, but also for more complicated tasks, we employ the real interest time series analyzed by \cite{hac:Bai+Perron:2003}. This series contains changes in the mean (see Figure~\ref{fig:sc}, right panel) which \cite{hac:Bai+Perron:2003} detect using several structural change tests based on $F$ statistics and date using a dynamic programming algorithm. As the visualization suggests, this series exhibits both heteroskedasticity and autocorrelation, hence \cite{hac:Bai+Perron:2003} use a quadratic spectral kernel HAC estimator in their analysis. Here, we use the same dating procedure but assess the significance using an OLS-based CUSUM test \citep{hac:Ploberger+Kraemer:1992} based on the same HAC estimator. The data are available in the package \pkg{strucchange} as the quarterly time series \code{RealInt} containing the US ex-post real interest rate from 1961(1) to 1986(3) and they are analyzed by a simple regression on the mean. Under the assumptions in the classical linear model with spherical errors, the test statistic of the OLS-based CUSUM test is \begin{equation} \sup_{j = 1, \dots, n} \left| \frac{1}{\sqrt{n \, \hat \sigma^2}} \; \sum_{i = 1}^{j} \hat u_i \right|. \end{equation} If autocorrelation and heteroskedasticity are present in the data, a robust variance estimator should be used: if $x_i$ is equal to unity, this can simply be achieved by replacing $\hat \sigma^2$ with $\hat \Phi$ or $n \hat \Psi$ respectively. Here, we use the quadratic spectral kernel HAC estimator of \cite{hac:Andrews:1991} with VAR(1) prewhitening and automatic bandwidth selection based on an AR(1) approximation as implemented in the function \code{kernHAC}. The $p$ values for the OLS-based CUSUM test can be computed from the distribution of the supremum of a Brownian bridge \citep[see e.g.,][]{hac:Ploberger+Kraemer:1992}. This and other methods for testing, dating and monitoring structural changes are implemented in the \proglang{R} package \pkg{strucchange} \citep{hac:Zeileis+Leisch+Hornik:2002} which contains the function \code{gefp} for fitting and assessing fluctuation processes including OLS-based CUSUM processes \citep[see][for more details]{hac:Zeileis:2004}. After loading the package and the data, <>= library("strucchange") data("RealInt") @ the command <>= ocus <- gefp(RealInt ~ 1, fit = lm, vcov = kernHAC) @ fits the OLS-based CUSUM process for a regression on the mean (\verb/RealInt ~ 1/), using the function \code{lm} and estimating the variance using the function \code{kernHAC}. The fitted OLS-based CUSUM process can then be visualized together with its 5\% critical value (horizontal lines) by \code{plot(scus)} which leads to a similar plot as in the left panel of Figure~\ref{fig:sc} (see the appendix for more details). As the process crosses its boundary, there is a significant change in the mean, while the clear peak in the process conveys that there is at least one strong break in the early 1980s. A formal significance test can also be carried out by \code{sctest(ocus)} which leads to a highly significant $p$ value of \Sexpr{round(sctest(ocus)$p.value, digits = 4)}. Similarly, the same quadratic spectral kernel HAC estimator could also be used for computing and visualizing the sup$F$ test of \cite{hac:Andrews:1993}, the code is provided in the appendix. Finally, the breakpoints in this model along with their confidence intervals can be computed by: <>= bp <- breakpoints(RealInt ~ 1) confint(bp, vcov = kernHAC) @ The dating algorithm \code{breakpoints} implements the procedure described in \cite{hac:Bai+Perron:2003} and estimates the timing of the structural changes by OLS. Therefore, in this step no covariance matrix estimate is required, but for computing the confidence intervals using a consistent covariance matrix estimator is again essential. The \code{confint} method for computing confidence intervals takes again a \code{vcov} argument which has to be a function (and not a matrix) because it has to be applied to several segments of the data. By default, it computes the breakpoints for the minimum BIC partition which gives in this case two breaks.\footnote{By choosing the number of breakpoints with sequential tests and not the BIC, \cite{hac:Bai+Perron:2003} arrive at a model with an additional breakpoint which has rather wide confidence intervals \citep[see also][]{hac:Zeileis+Kleiber:2004}} The fitted three-segment model along with the breakpoints and their confidence intervals is depicted in the right panel of Figure~\ref{fig:sc}. \setkeys{Gin}{width=\textwidth} \begin{figure}[tbh] \begin{center} <>= par(mfrow = c(1, 2)) plot(ocus, aggregate = FALSE, main = "") plot(RealInt, ylab = "Real interest rate") lines(ts(fitted(bp), start = start(RealInt), freq = 4), col = 4) lines(confint(bp, vcov = kernHAC)) @ \caption{\label{fig:sc} OLS-based CUSUM test (left) and fitted model (right) for real interest data.} \end{center} \end{figure} \section{Summary} \label{sec:summary} This paper briefly reviews a class of heteroskedasticity-consistent (HC) and a class of heteroskedasticity and autocorrelation consistent (HAC) covariance matrix estimators suggested in the econometric literature over the last 20 years and introduces unified computational tools that reflect the flexibility and the conceptual ideas of the underlying theoretical frameworks. Based on these general tools, a number of special cases of HC and HAC estimators is provided including the most popular in applied econometric research. All the functions suggested are implemented in the package \pkg{sandwich} in the \proglang{R} system for statistical computing and designed in such a way that they build on readily available model fitting functions and provide building blocks that can be easily integrated into other programs or applications. To achieve this flexibility, the object orientation mechanism of \proglang{R} and the fact that functions are first-level objects are of prime importance. \section*{Acknowledgments} We are grateful to Thomas Lumley for putting his code in the \pkg{weave} package at disposal and for advice in the design of \pkg{sandwich}, and to Christian Kleiber for helpful suggestions in the development of \pkg{sandwich}. \bibliography{hac} \clearpage \begin{appendix} %% for "plain pretty" printing \DefineVerbatimEnvironment{Sinput}{Verbatim}{} <>= options(prompt = " ") @ \section[R code]{\proglang{R} code} The packages \pkg{sandwich}, \pkg{lmtest} and \pkg{strucchange} are required for the applications in this paper. Furthermore, the packages depend on \pkg{zoo}. For the computations in this paper \proglang{R} \Sexpr{paste(R.Version()[6:7], collapse = ".")} and \pkg{sandwich} \Sexpr{gsub("-", "--", packageDescription("sandwich")$Version)}, \pkg{lmtest} \Sexpr{gsub("-", "--", packageDescription("lmtest")$Version)}, \pkg{strucchange} \Sexpr{gsub("-", "--", packageDescription("strucchange")$Version)} and \pkg{zoo} \Sexpr{gsub("-", "--", packageDescription("zoo")$Version)} have been used. \proglang{R} itself and all packages used are available from CRAN at \url{http://CRAN.R-project.org/}. To make the packages available for the examples the following commands are necessary: <>= <> library("strucchange") @ \subsection{Testing coefficients in cross-sectional data} Load public schools data, omit \code{NA} in Wisconsin and scale income: <>= <> @ Fit quadratic regression model: <>= <> @ Compare standard errors: <>= sqrt(diag(vcov(fm.ps))) sqrt(diag(vcovHC(fm.ps, type = "const"))) sqrt(diag(vcovHC(fm.ps, type = "HC0"))) sqrt(diag(vcovHC(fm.ps, type = "HC3"))) sqrt(diag(vcovHC(fm.ps, type = "HC4"))) @ Test coefficient of quadratic term: <>= <> <> @ Visualization: %%non-dynamic for pretty printing \begin{Schunk} \begin{Sinput} plot(Expenditure ~ Income, data = ps, xlab = "per capita income", ylab = "per capita spending on public schools") inc <- seq(0.5, 1.2, by = 0.001) lines(inc, predict(fm.ps, data.frame(Income = inc)), col = 4, lty = 2) fm.ps2 <- lm(Expenditure ~ Income, data = ps) abline(fm.ps2, col = 4) text(ps[2,2], ps[2,1], rownames(ps)[2], pos = 2) \end{Sinput} \end{Schunk} \subsection{Testing coefficients in time-series data} Load investment equation data: <>= <> @ Fit regression model: <>= <> @ Test coefficients using Newey-West HAC estimator with user-defined and data-driven bandwidth and with Parzen kernel: %%non-dynamic for pretty printing \begin{Schunk} \begin{Sinput} coeftest(fm.inv, df = Inf, vcov = NeweyWest(fm.inv, lag = 4, prewhite = FALSE)) coeftest(fm.inv, df = Inf, vcov = NeweyWest) parzenHAC <- function(x, ...) kernHAC(x, kernel = "Parzen", prewhite = 2, adjust = FALSE, bw = bwNeweyWest, ...) coeftest(fm.inv, df = Inf, vcov = parzenHAC) \end{Sinput} \end{Schunk} Time-series visualization: <>= plot(Investment[, "RealInv"], type = "b", pch = 19, ylab = "Real investment") lines(ts(fitted(fm.inv), start = 1964), col = 4) @ 3-dimensional visualization: %%non-dynamic for pretty printing \begin{Schunk} \begin{Sinput} library("scatterplot3d") s3d <- scatterplot3d(Investment[,c(5,7,6)], type = "b", angle = 65, scale.y = 1, pch = 16) s3d$plane3d(fm.inv, lty.box = "solid", col = 4) \end{Sinput} \end{Schunk} \subsection[Testing and dating structural changes in the presence of heteroskedasticity and autocorrelation]{Testing and dating structural changes in the presence of\\ heteroskedasticity and autocorrelation} Load real interest series: <>= data("RealInt") @ OLS-based CUSUM test with quadratic spectral kernel HAC estimate: <>= <> plot(ocus, aggregate = FALSE) sctest(ocus) @ sup$F$ test with quadratic spectral kernel HAC estimate: <>= fs <- Fstats(RealInt ~ 1, vcov = kernHAC) plot(fs) sctest(fs) @ Breakpoint estimation and confidence intervals with quadratic spectral kernel HAC estimate: <>= <> plot(bp) @ Visualization: <>= plot(RealInt, ylab = "Real interest rate") lines(ts(fitted(bp), start = start(RealInt), freq = 4), col = 4) lines(confint(bp, vcov = kernHAC)) @ \subsection{Integrating covariance matrix estimators in other functions} If programmers want to allow for the same flexibility regarding the specification of covariance matrices in their own functions as illustrated in \code{coeftest}, only a few simple additions have to be made which are illustrated in the following. Say, a function \code{foo(lmobj, vcov = NULL, ...)} wants to compute some quantity involving the standard errors associated with the \code{"lm"} object \code{lmobj}. Then, \code{vcov} should use by default the standard \code{vcov} method for \code{"lm"} objects, otherwise \code{vcov} is assumed to be either a function returning the covariance matrix estimate or the estimate itself. The following piece of code is sufficient for computing the standard errors. \begin{Sinput} if(is.null(vcov)) { se <- vcov(lmobj) } else { if (is.function(vcov)) se <- vcov(lmobj) else se <- vcov } se <- sqrt(diag(se)) \end{Sinput} In the first step the default method is called: note, that \proglang{R} can automatically distinguish between the variable \code{vcov} (which is \code{NULL}) and the generic function \code{vcov} (from the \pkg{stats} package which dispatches to the \code{"lm"} method) that is called here. Otherwise, it is just distinguished between a function or non-function. In the final step the square root of the diagonal elements is computed and stored in the vector \code{se} which can subsequently used for further computation in \code{foo()}. \end{appendix} \end{document} sandwich/inst/doc/sandwich.R0000644000175400001440000002125213136164260015716 0ustar zeileisusers### R code from vignette source 'sandwich.Rnw' ################################################### ### code chunk number 1: preliminaries ################################################### library("zoo") library("sandwich") library("strucchange") library("lmtest") options(prompt = "R> ", continue = "+ ") ################################################### ### code chunk number 2: hac-kweights ################################################### curve(kweights(x, kernel = "Quadratic", normalize = TRUE), from = 0, to = 3.2, xlab = "x", ylab = "K(x)") curve(kweights(x, kernel = "Bartlett", normalize = TRUE), from = 0, to = 3.2, col = 2, add = TRUE) curve(kweights(x, kernel = "Parzen", normalize = TRUE), from = 0, to = 3.2, col = 3, add = TRUE) curve(kweights(x, kernel = "Tukey", normalize = TRUE), from = 0, to = 3.2, col = 4, add = TRUE) lines(c(0, 0.5), c(1, 1), col = 6) lines(c(0.5, 0.5), c(1, 0), lty = 3, col = 6) lines(c(0.5, 3.2), c(0, 0), col = 6) curve(kweights(x, kernel = "Quadratic", normalize = TRUE), from = 0, to = 3.2, col = 1, add = TRUE) text(0.5, 0.98, "Truncated", pos = 4) text(0.8, kweights(0.8, "Bartlett", normalize = TRUE), "Bartlett", pos = 4) text(1.35, kweights(1.4, "Quadratic", normalize = TRUE), "Quadratic Spectral", pos = 2) text(1.15, 0.29, "Parzen", pos = 4) arrows(1.17, 0.29, 1, kweights(1, "Parzen", normalize = TRUE), length = 0.1) text(1.3, 0.2, "Tukey-Hanning", pos = 4) arrows(1.32, 0.2, 1.1, kweights(1.1, "Tukey", normalize = TRUE), length = 0.1) ################################################### ### code chunk number 3: loadlibs1 ################################################### library("sandwich") library("lmtest") ################################################### ### code chunk number 4: hc-data ################################################### data("PublicSchools") ps <- na.omit(PublicSchools) ps$Income <- ps$Income * 0.0001 ################################################### ### code chunk number 5: hc-model ################################################### fm.ps <- lm(Expenditure ~ Income + I(Income^2), data = ps) ################################################### ### code chunk number 6: hc-test1 ################################################### coeftest(fm.ps, df = Inf, vcov = vcovHC(fm.ps, type = "HC0")) ################################################### ### code chunk number 7: hc-test2 ################################################### coeftest(fm.ps, df = Inf, vcov = vcovHC(fm.ps, type = "HC4")) ################################################### ### code chunk number 8: hc-plot ################################################### plot(Expenditure ~ Income, data = ps, xlab = "per capita income", ylab = "per capita spending on public schools") inc <- seq(0.5, 1.2, by = 0.001) lines(inc, predict(fm.ps, data.frame(Income = inc)), col = 4, lty = 2) fm.ps2 <- lm(Expenditure ~ Income, data = ps) abline(fm.ps2, col = 4) text(ps[2,2], ps[2,1], rownames(ps)[2], pos = 2) ################################################### ### code chunk number 9: hac-data ################################################### data("Investment") ################################################### ### code chunk number 10: hac-model ################################################### fm.inv <- lm(RealInv ~ RealGNP + RealInt, data = Investment) ################################################### ### code chunk number 11: hac-test1 ################################################### coeftest(fm.inv, df = Inf, vcov = NeweyWest(fm.inv, lag = 4, prewhite = FALSE)) ################################################### ### code chunk number 12: hac-test2 ################################################### coeftest(fm.inv, df = Inf, vcov = NeweyWest) ################################################### ### code chunk number 13: hac-test3 ################################################### parzenHAC <- function(x, ...) kernHAC(x, kernel = "Parzen", prewhite = 2, adjust = FALSE, bw = bwNeweyWest, ...) coeftest(fm.inv, df = Inf, vcov = parzenHAC) ################################################### ### code chunk number 14: hac-plot ################################################### library("scatterplot3d") s3d <- scatterplot3d(Investment[,c(5,7,6)], type = "b", angle = 65, scale.y = 1, pch = 16) s3d$plane3d(fm.inv, lty.box = "solid", col = 4) ################################################### ### code chunk number 15: loadlibs2 ################################################### library("strucchange") data("RealInt") ################################################### ### code chunk number 16: sc-ocus ################################################### ocus <- gefp(RealInt ~ 1, fit = lm, vcov = kernHAC) ################################################### ### code chunk number 17: sc-bp ################################################### bp <- breakpoints(RealInt ~ 1) confint(bp, vcov = kernHAC) ################################################### ### code chunk number 18: sc-plot ################################################### par(mfrow = c(1, 2)) plot(ocus, aggregate = FALSE, main = "") plot(RealInt, ylab = "Real interest rate") lines(ts(fitted(bp), start = start(RealInt), freq = 4), col = 4) lines(confint(bp, vcov = kernHAC)) ################################################### ### code chunk number 19: sandwich.Rnw:786-787 ################################################### options(prompt = " ") ################################################### ### code chunk number 20: sandwich.Rnw:805-807 (eval = FALSE) ################################################### ## library("sandwich") ## library("lmtest") ## library("strucchange") ################################################### ### code chunk number 21: sandwich.Rnw:814-815 (eval = FALSE) ################################################### ## data("PublicSchools") ## ps <- na.omit(PublicSchools) ## ps$Income <- ps$Income * 0.0001 ################################################### ### code chunk number 22: sandwich.Rnw:819-820 (eval = FALSE) ################################################### ## fm.ps <- lm(Expenditure ~ Income + I(Income^2), data = ps) ################################################### ### code chunk number 23: sandwich.Rnw:824-829 (eval = FALSE) ################################################### ## sqrt(diag(vcov(fm.ps))) ## sqrt(diag(vcovHC(fm.ps, type = "const"))) ## sqrt(diag(vcovHC(fm.ps, type = "HC0"))) ## sqrt(diag(vcovHC(fm.ps, type = "HC3"))) ## sqrt(diag(vcovHC(fm.ps, type = "HC4"))) ################################################### ### code chunk number 24: sandwich.Rnw:833-835 (eval = FALSE) ################################################### ## coeftest(fm.ps, df = Inf, vcov = vcovHC(fm.ps, type = "HC0")) ## coeftest(fm.ps, df = Inf, vcov = vcovHC(fm.ps, type = "HC4")) ################################################### ### code chunk number 25: sandwich.Rnw:855-856 (eval = FALSE) ################################################### ## data("Investment") ################################################### ### code chunk number 26: sandwich.Rnw:860-861 (eval = FALSE) ################################################### ## fm.inv <- lm(RealInv ~ RealGNP + RealInt, data = Investment) ################################################### ### code chunk number 27: sandwich.Rnw:879-881 (eval = FALSE) ################################################### ## plot(Investment[, "RealInv"], type = "b", pch = 19, ylab = "Real investment") ## lines(ts(fitted(fm.inv), start = 1964), col = 4) ################################################### ### code chunk number 28: sandwich.Rnw:897-898 (eval = FALSE) ################################################### ## data("RealInt") ################################################### ### code chunk number 29: sandwich.Rnw:902-905 (eval = FALSE) ################################################### ## ocus <- gefp(RealInt ~ 1, fit = lm, vcov = kernHAC) ## plot(ocus, aggregate = FALSE) ## sctest(ocus) ################################################### ### code chunk number 30: sandwich.Rnw:909-912 (eval = FALSE) ################################################### ## fs <- Fstats(RealInt ~ 1, vcov = kernHAC) ## plot(fs) ## sctest(fs) ################################################### ### code chunk number 31: sandwich.Rnw:917-919 (eval = FALSE) ################################################### ## bp <- breakpoints(RealInt ~ 1) ## confint(bp, vcov = kernHAC) ## plot(bp) ################################################### ### code chunk number 32: sandwich.Rnw:923-926 (eval = FALSE) ################################################### ## plot(RealInt, ylab = "Real interest rate") ## lines(ts(fitted(bp), start = start(RealInt), freq = 4), col = 4) ## lines(confint(bp, vcov = kernHAC)) sandwich/inst/doc/sandwich-OOP.Rnw0000644000175400001440000010524412770752313016727 0ustar zeileisusers\documentclass[nojss]{jss} \usepackage{thumbpdf} %% need no \usepackage{Sweave} %% Symbols \newcommand{\darrow}{\stackrel{\mbox{\tiny \textnormal{d}}}{\longrightarrow}} \author{Achim Zeileis\\Universit\"at Innsbruck} \Plainauthor{Achim Zeileis} \title{Object-Oriented Computation of Sandwich Estimators} \Keywords{covariance matrix estimators, estimating functions, object orientation, \proglang{R}} \Plainkeywords{covariance matrix estimators, estimating functions, object orientation, R} \Abstract{ This introduction to the object-orientation features of the \proglang{R} package \pkg{sandwich} is a (slightly) modified version of \cite{hac:Zeileis:2006}, published in the \emph{Journal of Statistical Software}. Sandwich covariance matrix estimators are a popular tool in applied regression modeling for performing inference that is robust to certain types of model misspecification. Suitable implementations are available in the \proglang{R} system for statistical computing for certain model fitting functions only (in particular \code{lm()}), but not for other standard regression functions, such as \code{glm()}, \code{nls()}, or \code{survreg()}. Therefore, conceptual tools and their translation to computational tools in the package \pkg{sandwich} are discussed, enabling the computation of sandwich estimators in general parametric models. Object orientation can be achieved by providing a few extractor functions---most importantly for the empirical estimating functions---from which various types of sandwich estimators can be computed. } \Address{ Achim Zeileis\\ Department of Statistics\\ Faculty of Economics and Statistics\\ Universit\"at Innsbruck\\ Universit\"atsstr.~15\\ 6020 Innsbruck, Austria\\ E-mail: \email{Achim.Zeileis@R-project.org}\\ URL: \url{http://eeecon.uibk.ac.at/~zeileis/} } \begin{document} \SweaveOpts{engine=R,eps=FALSE} %\VignetteIndexEntry{Object-Oriented Computation of Sandwich Estimators} %\VignetteDepends{sandwich,zoo,AER,survival,MASS,lmtest} %\VignetteKeywords{covariance matrix estimators, estimating functions, object orientation, R} %\VignettePackage{sandwich} <>= library("AER") library("MASS") options(prompt = "R> ", continue = "+ ") @ \section{Introduction} \label{sec:intro} A popular approach to applied parametric regression modeling is to derive estimates of the unknown parameters via a set of estimating functions (including least squares and maximum likelihood scores). Inference for these models is typically based on a central limit theorem in which the covariance matrix is of a sandwich type: a slice of meat between two slices of bread, pictorially speaking. Employing estimators for the covariance matrix based on this sandwich form can make inference for the parameters more robust against certain model misspecifications (provided the estimating functions still hold and yield consistent estimates). Therefore, sandwich estimators such as heteroskedasticy consistent (HC) estimators for cross-section data and heteroskedasitcity and autocorrelation consistent (HAC) estimators for time-series data are commonly used in applied regression, in particular in linear regression models. \cite{hac:Zeileis:2004a} discusses a set of computational tools provided by the \pkg{sandwich} package for the \proglang{R} system for statistical computing \citep{hac:R:2008} which allows for computing HC and HAC estimators in linear regression models fitted by \code{lm()}. Here, we set out where the discussion of \cite{hac:Zeileis:2004a} ends and generalize the tools from linear to general parametric models fitted by estimating functions. This generalization is achieved by providing an object-oriented implementation for the building blocks of the sandwich that rely only on a small set of extractor functions for fitted model objects. The most important of these is a method for extracting the empirical estimating functions---based on this a wide variety of meat fillings for sandwiches is provided. The paper is organized as follows: Section~\ref{sec:model} discusses the model frame and reviews some of the underlying theory. Section~\ref{sec:R} presents some existing \proglang{R} infrastructure which can be re-used for the computation of sandwich covariance matrices in Section~\ref{sec:vcov}. Section~\ref{sec:illustrations} gives a brief illustration of the computational tools before Section~\ref{sec:disc} concludes the paper. { \section{Model frame} \label{sec:model} \nopagebreak To fix notations, let us assume we have data in a regression setup, i.e., $(y_i, x_i)$ for $i = 1, \dots, n$, that follow some distribution that is controlled by a $k$-dimensional parameter vector $\theta$. In many situations, an estimating function $\psi(\cdot)$ is available for this type of models such that $\E[\psi(y, x, \theta)] = 0$. Then, under certain weak regularity conditions \citep[see e.g.,][]{hac:White:1994}, $\theta$ can be estimated using an M-estimator $\hat \theta$ implicitely defined as \begin{equation} \label{eq:estfun} \sum_{i = 1}^n \psi(y_i, x_i, \hat \theta) \quad = \quad 0. \end{equation} This includes cases where the estimating function $\psi(\cdot)$ is the derivative of an objective function $\Psi(\cdot)$: \begin{equation} \label{eq:score} \psi(y, x, \theta) \quad = \quad \frac{\partial \Psi(y, x, \theta)}{\partial \theta}. \end{equation} } Examples for estimation techniques included in this framework are maximum likelihood (ML) and ordinary and nonlinear least squares (OLS and NLS) estimation, where the estimator is usually written in terms of the objective function as $\hat \theta = \mbox{argmin}_\theta \sum_i \Psi(y_i, x_i, \theta)$. Other techniques---often expressed in terms of the estimating function rather than the objective function---include quasi ML, robust M-estimation and generalized estimating equations (GEE). Inference about $\theta$ is typically performed relying on a central limit theorem (CLT) of type \begin{equation} \label{eq:clt} \sqrt{n} \, (\hat \theta - \theta) \quad \darrow \quad N(0, S(\theta)), \end{equation} where $\darrow$ denotes convergence in distribution. For the covariance matrix $S(\theta)$, a sandwich formula can be given \begin{eqnarray} \label{eq:sandwich} S(\theta) & = & B(\theta) \, M(\theta) \, B(\theta) \\ \label{eq:bread} B(\theta) & = & \left( \E[ - \psi'(y, x, \theta) ] \right)^{-1} \\ \label{obj} M(\theta) & = & \VAR[ \psi(y, x, \theta) ] \end{eqnarray} see Theorem~6.10 in \cite{hac:White:1994}, Chapter~5 in \cite{hac:Cameron+Trivedi:2005}, or \cite{hac:Stefanski+Boos:2002} for further details. The ``meat'' of the sandwich $M(\theta)$ is the variance of the estimating function and the ``bread'' is the inverse of the expectation of its first derivative $\psi'$ (again with respect to $\theta$). Note that we use the more evocative names $S$, $B$ and $M$ instead of the more conventional notation $V(\theta) = A(\theta)^{-1} B(\theta) A(\theta)^{-1}$. In correctly specified models estimated by ML (or OLS and NLS with homoskedastic errors), this sandwich expression for $S(\theta)$ can be simplified because $M(\theta) = B(\theta)^{-1}$, corresponding to the Fisher information matrix. Hence, the variance $S(\theta)$ in the CLT from Equation~\ref{eq:clt} is typically estimated by an empirical version of $B(\theta)$. However, more robust covariance matrices can be obtained by employing estimates for $M(\theta)$ that are consistent under weaker assumptions \citep[see e.g.,][]{hac:Lumley+Heagerty:1999} and plugging these into the sandwich formula for $S(\theta)$ from Equation~\ref{eq:sandwich}. Robustness can be achieved with respect to various types of misspecification, e.g., heteroskedasticity---however, consistency of $\hat \theta$ has to be assured, which implies that at least the estimating functions have to be correctly specified. Many of the models of interest to us, provide some more structure: the objective function $\Psi(y, x, \theta)$ depends on $x$ and $\theta$ in a special way, namely it does only depend on the univariate linear predictor $\eta = x^\top \theta$. Then, the estimating function is of type \begin{equation} \label{eq:estfunHC} \psi(y, x, \theta) \quad = \quad \frac{\partial \Psi}{\partial \eta} \cdot \frac{\partial \eta}{\partial \theta} \quad = \quad \frac{\partial \Psi}{\partial \eta} \cdot x. \end{equation} The partial derivative $r(y, \eta) = \partial \Psi(y, \eta) / \partial \eta$ is in some models also called ``working residual'' corresponding to the usual residuals in linear regression models. In such linear-predictor-based models, the meat of the sandwich can also be sloppily written as \begin{equation} \label{eq:objHC} M(\theta) \quad = \quad x \, \VAR[ r(y, x^\top \theta) ] \, x^\top. \end{equation} Whereas employing this structure for computing HC covariance matrix estimates is well-established practice for linear regression models \citep[see][among others]{hac:MacKinnon+White:1985,hac:Long+Ervin:2000}, it is less commonly applied in other regression models such as GLMs. \section[Existing R infrastructure]{Existing \proglang{R} infrastructure} \label{sec:R} To make use of the theory outlined in the previous section, some computational infrastructure is required translating the conceptual to computational tools. \proglang{R} comes with a multitude of model-fitting functions that compute estimates $\hat \theta$ and can be seen as special cases of the framework above. They are typically accompanied by extractor and summary methods providing inference based on the CLT from Equation~\ref{eq:clt}. For extracting the estimated parameter vector $\hat \theta$ and some estimate of the covariance matrix $S(\theta)$, there are usually a \code{coef()} and a \code{vcov()} method, respectively. Based on these estimates, inference can typically be performed by the \code{summary()} and \code{anova()} methods. By convention, the \code{summary()} method performs partial $t$ or $z$~tests and the \code{anova()} method performs $F$ or $\chi^2$~tests for nested models. The covariance estimate used in these tests (and returned by \code{vcov()}) usually relies on the assumption of correctly specified models and hence is simply an empirical version of the bread $B(\theta)$ only (divided by $n$). For extending these tools to inference based on sandwich covariance matrix estimators, two things are needed: 1.~generalizations of \code{vcov()} that enable computations of sandwich estimates, 2.~inference functions corresponding to the \code{summary()} and \code{anova()} methods which allow other covariance matrices to be plugged in. As for the latter, the package \pkg{lmtest} \citep{hac:Zeileis+Hothorn:2002} provides \code{coeftest()} and \code{waldtest()} and \pkg{car} \citep{hac:Fox:2002} provides \code{linear.hypothesis()}---all of these can perform model comparisons in rather general parametric models, employing user-specified covariance matrices. As for the former, only specialized solutions of sandwich covariances matrices are currently available in \proglang{R} packages, e.g., HAC estimators for linear models in previous versions of \pkg{sandwich} and HC estimators for linear models in \pkg{car} and \pkg{sandwich}. Therefore, we aim at providing a tool kit for plugging together sandwich matrices (including HC and HAC estimators and potentially others) in general parametric models, re-using the functionality that is already provided. \section{Covariance matrix estimators} \label{sec:vcov} In the following, the conceptual tools outlined in Section~\ref{sec:model} are translated to computational tools preserving their flexibility through the use of the estimating functions framework and re-using the computational infrastructure that is already available in \proglang{R}. Separate methods are suggested for computing estimates for the bread $B(\theta)$ and the meat $M(\theta)$, along with some convenience functions and wrapper interfaces that build sandwiches from bread and meat. \subsection{The bread} Estimating the bread $B(\theta)$ is usually relatively easy and the most popular estimate is the Hessian, i.e., the mean crossproduct of the derivative of the estimating function evaluated at the data and estimated parameters: \begin{equation} \label{eq:Bhat} \hat B \quad = \quad \left( \frac{1}{n} \sum_{i = 1}^n - \psi'(y_i, x_i, \hat \theta) \right)^{-1}. \end{equation} If an objective function $\Psi(\cdot)$ is used, this is the crossproduct of its second derivative, hence the name Hessian. This estimator is what the \code{vcov()} method is typically based on and therefore it can usually be extracted easily from the fitted model objects, e.g., for ``\code{lm}'' and ``\code{glm}'' it is essentially the \code{cov.unscaled} element returned by the \code{summary()} method. To unify the extraction of a suitable estimate for the bread, \pkg{sandwich} provides a new \code{bread()} generic that should by default return the bread estimate that is also used in \code{vcov()}. This will usually be the Hessian estimate, but might also be the expected Hessian \citep[Equation~5.36]{hac:Cameron+Trivedi:2005} in some models. The package \pkg{sandwich} provides \code{bread()} methods for ``\code{lm}'' (including ``\code{glm}'' by inheritance), ``\code{coxph}'', ``\code{survreg}'' and ``\code{nls}'' objects. All of them simply re-use the information provided in the fitted models (or their summaries) and perform hardly any computations, e.g., for ``\code{lm}'' objects: \begin{Schunk} \begin{Sinput} bread.lm <- function(obj, ...) { so <- summary(obj) so$cov.unscaled * as.vector(sum(so$df[1:2])) } \end{Sinput} \end{Schunk} \subsection{The meat} While the bread $B(\theta)$ is typically estimated by the Hessian matrix $\hat B$ from Equation~\ref{eq:Bhat}, various different types of estimators are available for the meat $M(\theta)$, usually offering certain robustness properties. Most of these estimators are based on the empirical values of estimating functions. Hence, a natural idea for object-oriented implementation of such estimators is the following: provide various functions that compute different estimators for the meat based on an \code{estfun()} extractor function that extracts the empirical estimating functions from a fitted model object. This is what \pkg{sandwich} does: the functions \code{meat()}, \code{meatHAC()} and \code{meatHC()} compute outer product, HAC and HC estimators for $M(\theta)$, respectively, relying on the existence of an \code{estfun()} method (and potentially a few other methods). Their design is described in the following. \subsubsection{Estimating functions} Whereas (different types of) residuals are typically available as discrepancy measure for a model fit via the \code{residuals()} method, the empirical values of the estimating functions $\psi(y_i, x_i, \hat \theta)$ are often not readily implemented in \proglang{R}. Hence, \pkg{sandwich} provides a new \code{estfun()} generic whose methods should return an $n \times k$ matrix with the empirical estimating functions: \[ \left( \begin{array}{c} \psi(y_1, x_1, \hat \theta) \\ \vdots \\ \psi(y_n, x_n, \hat \theta) \end{array} \right). \] Suitable methods are provided for ``\code{lm}'', ``\code{glm}'', ``\code{rlm}'', ``\code{nls}'', ``\code{survreg}'' and ``\code{coxph}'' objects. Usually, these can easily re-use existing methods, in particular \code{residuals()} and \code{model.matrix()} if the model is of type~(\ref{eq:estfunHC}). As a simple example, the most important steps of the ``\code{lm}'' method are \begin{Schunk} \begin{Sinput} estfun.lm <- function (obj, ...) { wts <- weights(obj) if(is.null(wts)) wts <- 1 residuals(obj) * wts * model.matrix(obj) } \end{Sinput} \end{Schunk} \subsubsection{Outer product estimators} A simple and natural estimator for the meat matrix $M(\theta) = \VAR[ \psi(y, x, \theta)]$ is the outer product of the empirical estimating functions: \begin{equation} \label{eq:meatOP} \hat M \quad = \quad \frac{1}{n} \sum_{i = 1}^n \psi(y_i, x_i, \hat \theta) \psi(y_i, x_i, \hat \theta)^\top \end{equation} This corresponds to the Eicker-Huber-White estimator \citep{hac:Eicker:1963,hac:Huber:1967,hac:White:1980} and is sometimes also called outer product of gradients estimator. In practice, a degrees of freedom adjustment is often used, i.e., the sum is scaled by $n-k$ instead of $n$, corresponding to the HC1 estimator from \cite{hac:MacKinnon+White:1985}. In non-linear models this has no theoretical justification, but has been found to have better finite sample performance in some simulation studies. In \pkg{sandwich}, these two estimators are provided by the function \code{meat()} which only relies on the existence of an \code{estfun()} method. A simplified version of the \proglang{R} code is \begin{Schunk} \begin{Sinput} meat <- function(obj, adjust = FALSE, ...) { psi <- estfun(obj) k <- NCOL(psi) n <- NROW(psi) rval <- crossprod(as.matrix(psi))/n if(adjust) rval <- n/(n - k) * rval rval } \end{Sinput} \end{Schunk} \subsubsection{HAC estimators} More elaborate methods for deriving consistent covariance matrix estimates in the presence of autocorrelation in time-series data are also available. Such HAC estimators $\hat M_\mathrm{HAC}$ are based on the weighted empirical autocorrelations of the empirical estimating functions: \begin{equation} \label{eq:meatHAC} \hat M_\mathrm{HAC} \quad = \quad \frac{1}{n} \sum_{i, j = 1}^n w_{|i-j|} \, \psi(y_i, x_i, \hat \theta) \psi(y_j, x_j, \hat \theta)^\top \end{equation} where different strategies are available for the choice of the weights $w_\ell$ at lag $\ell = 0, \dots, {n-1}$ \citep{hac:Andrews:1991,hac:Newey+West:1994,hac:Lumley+Heagerty:1999}. Again, an additional finite sample adjustment can be applied by multiplication with $n/(n-k)$. Once a vector of weights is chosen, the computation of $\hat M_\mathrm{HAC}$ in \proglang{R} is easy, the most important steps are given by \begin{Schunk} \begin{Sinput} meatHAC <- function(obj, weights, ...) { psi <- estfun(obj) n <- NROW(psi) rval <- 0.5 * crossprod(psi) * weights[1] for(i in 2:length(weights)) rval <- rval + weights[i] * crossprod(psi[1:(n-i+1),], psi[i:n,]) (rval + t(rval))/n } \end{Sinput} \end{Schunk} The actual function \code{meatHAC()} in \pkg{sandwich} is much more complex as it also interfaces different weighting and bandwidth selection functions. The details are the same compared to \cite{hac:Zeileis:2004a} where the selection of weights had been discussed for fitted ``\code{lm}'' objects. \subsubsection{HC estimators} In addition to the two HC estimators that can be written as outer product estimators (also called HC0 and HC1), various other HC estimators (usually called HC2--HC4) have been suggested, in particular for the linear regression model \citep{hac:MacKinnon+White:1985,hac:Long+Ervin:2000,hac:Cribari-Neto:2004}. In fact, they can be applied to more general models provided the estimating function depends on the parameters only through a linear predictor as described in Equation~\ref{eq:estfunHC}. Then, the meat matrix $M(\theta)$ is of type (\ref{eq:objHC}) which naturally leads to HC estimators of the form $\hat M_\mathrm{HC} = 1/n \, X^\top \hat \Omega X$, where $X$ is the regressor matrix and $\hat \Omega$ is a diagonal matrix estimating the variance of $r(y, \eta)$. Various functions $\omega(\cdot)$ have been suggested that derive estimates of the variances from the observed working residuals $(r(y_1, x_1^\top \hat \theta), \dots, r(y_n, x_n^\top \hat \theta))^\top$---possibly also depending on the hat values and the degrees of freedom. Thus, the HC estimators are of the form \begin{equation} \label{eq:meatHC} \hat M_\mathrm{HC} \quad = \quad \frac{1}{n} X^\top \left( \begin{array}{ccc} \omega(r(y_1, x_1^\top \theta)) & \cdots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \cdots & \omega(r(y, x^\top \theta)) \end{array} \right) X. \end{equation} To transfer these tools into software in the function \code{meatHC()}, we need infrastructure for three elements in Equation~\ref{eq:meatHC}: 1.~the model matrix $X$, 2.~the function $\omega(\cdot)$, and 3.~the empirical working residuals $r(y_i, x_i^\top \hat \theta)$. As for 1, the model matrix $X$ can easily be accessed via the \code{model.matrix()} method. Concerning 2, the specification of $\omega(\cdot)$ is discussed in detail in \cite{hac:Zeileis:2004a}. Hence, we omit the details here and only assume that we have either a vector \code{omega} of diagonal elements or a function \code{omega} that computes the diagonal elements from the residuals, diagonal values of the hat matrix (provided by the \code{hatvalues()} method) and the degrees of freedom $n-k$. For 3, the working residuals, some fitted model classes provide infrastructure in their \code{residuals()} method. However, there is no unified interface available for this and instead of setting up a new separate generic, it is also possible to recover this information from the estimating function. As $\psi(y_i, x_i, \hat \theta) = r(y_i, x_i^\top \hat \theta) \cdot x_i$, we can simply divide the empirical estimating function by $x_i$ to obtain the working residual. Based on these functions, all necessary information can be extracted from fitted model objects and a condensed version of \code{meatHC()} can then be written as \begin{Schunk} \begin{Sinput} meatHC <- function(obj, omega, ...) { X <- model.matrix(obj) res <- rowMeans(estfun(obj)/X, na.rm = TRUE) diaghat <- hatvalues(obj) df <- NROW(X) - NCOL(X) if(is.function(omega)) omega <- omega(res, diaghat, df) rval <- sqrt(omega) * X crossprod(rval)/NROW(X) } \end{Sinput} \end{Schunk} \subsection{The sandwich} Based on the building blocks described in the previous sections, computing a sandwich estimate from a fitted model object is easy: the function \code{sandwich()} computes an estimate (by default the Eicker-Huber-White outer product estimate) for $1/n \, S(\theta)$ via \begin{Schunk} \begin{Sinput} sandwich <- function(obj, bread. = bread, meat. = meat, ...) { if(is.function(bread.)) bread. <- bread.(obj) if(is.function(meat.)) meat. <- meat.(obj, ...) 1/NROW(estfun(obj)) * (bread. %*% meat. %*% bread.) } \end{Sinput} \end{Schunk} For computing other estimates, the argument \code{meat.}~could also be set to \code{meatHAC} or \code{meatHC}. Therefore, all that an \proglang{R} user/developer would have to do to make a new class of fitted models, ``\code{foo}'' say, fit for this framework is: provide an \code{estfun()} method \code{estfun.}\emph{foo}\code{()} and a \code{bread()} method \code{bread.}\emph{foo}\code{()}. See also Figure~\ref{fig:sandwich}. Only for HC estimators (other than HC0 and HC1 which are available via \code{meat()}), it has to be assured in addition that \begin{itemize} \item the model only depends on a linear predictor (this cannot be easily checked by the software, but has to be done by the user), \item the model matrix $X$ is available via a \code{model.matrix.}\emph{foo}\code{()} method, \item a \code{hatvalues.}\emph{foo}\code{()} method exists (for HC2--HC4). \end{itemize} For both, HAC and HC estimators, the complexity of the meat functions was reduced for exposition in the paper: choosing the \code{weights} in \code{meatHAC} and the diagonal elements \code{omega} in \code{meatHC} can be controlled by a number of further arguments. To make these explicit for the user, wrapper functions \code{vcovHAC()} and \code{vcovHC()} with suitable default methods are provided in \pkg{sandwich} which work as advertised in \cite{hac:Zeileis:2004a} and are the recommended interfaces for computing HAC and HC estimators, respectively. Furthermore, the convenience interfaces \code{kernHAC()}, \code{NeweyWest()} and \code{weave()} setting the right defaults for \citep{hac:Andrews:1991}, \cite{hac:Newey+West:1994}, and \cite{hac:Lumley+Heagerty:1999}, respectively, continue to be provided by \pkg{sandwich}. \setkeys{Gin}{width=.85\textwidth} \begin{figure}[tbh] \begin{center} <>= par(mar = rep(0, 4)) plot(0, 0, xlim = c(0, 85), ylim = c(0, 110), type = "n", axes = FALSE, xlab = "", ylab = "") lgrey <- grey(0.88) dgrey <- grey(0.75) rect(45, 90, 70, 110, lwd = 2, col = dgrey) rect(20, 40, 40, 60, col = lgrey) rect(30, 40, 40, 60, col = dgrey) rect(20, 40, 40, 60, lwd = 2) rect(5, 0, 20, 20, lwd = 2, col = lgrey) rect(22.5, 0, 37.5, 20, lwd = 2, col = lgrey) rect(40, 0, 55, 20, lwd = 2, col = lgrey) rect(40, 0, 55, 20, lwd = 2, col = lgrey) rect(60, 0, 80, 20, col = lgrey) rect(70, 0, 80, 20, col = dgrey) rect(60, 0, 80, 20, lwd = 2) text(57.5, 100, "fitted model object\n(class: foo)") text(25, 50, "estfun") text(35, 50, "foo") text(12.5, 10, "meatHC") text(30, 10, "meatHAC") text(47.5, 10, "meat") text(65, 10, "bread") text(75, 10, "foo") arrows(57.5, 89, 70, 21, lwd = 1.5, length = 0.15, angle = 20) arrows(57.5, 89, 30, 61, lwd = 1.5, length = 0.15, angle = 20) arrows(30, 39, 30, 21, lwd = 1.5, length = 0.15, angle = 20) arrows(30, 39, 12.5, 21, lwd = 1.5, length = 0.15, angle = 20) arrows(30, 39, 47.5, 21, lwd = 1.5, length = 0.15, angle = 20) @ \caption{\label{fig:sandwich} Structure of sandwich estimators} \end{center} \end{figure} \section{Illustrations} \label{sec:illustrations} This section briefly illustrates how the tools provided by \pkg{sandwich} can be applied to various models and re-used in other functions. Predominantly, sandwich estimators are used for inference, such as partial $t$ or $z$~tests of regression coefficients or restriction testing in nested regression models. As pointed out in Section~\ref{sec:R}, the packages \pkg{lmtest} \citep{hac:Zeileis+Hothorn:2002} and \pkg{car} \citep{hac:Fox:2002} provide some functions for this type of inference. The model for which sandwich estimators are employed most often is surely the linear regression model. Part of the reason for this is (together with the ubiquity of linear regression) that in linear regression mean and variance can be specified independently from each other. Thus, the model can be seen as a model for the conditional mean of the response with the variance left unspecified and captured only for inference by a robust sandwich estimator. \cite{hac:Zeileis:2004a} presents a collection of applications of sandwich estimators to linear regression, both for cross-section and time-series data. These examples are not affected by making \pkg{sandwich} object oriented, therefore, we do not present any examples for linear regression models here. To show that with the new object-oriented tools in \pkg{sandwich}, the functions can be applied as easily to other models we consider some models from microeconometrics: count data regression and probit and tobit models. In all examples, we compare the usual summary (coefficients, standard errors and partial $z$~tests) based on \code{vcov()} with the corresponding summary based on HC standard errors as provided by \code{sandwich()}. \code{coeftest()} from \pkg{lmtest} is always used for computing the summaries. \subsection{Count data regression} To illustrate the usage of sandwich estimators in count data regressions, we use artifical data simulated from a negative binomial model. The mean of the response \code{y} depends on a regressor \code{x} through a log link, the size parameter of the negative binomial distribution is 1, and the regressor is simply drawn from a standard normal distribution. After setting the random seed for reproducibility, we draw 250 observations from this model: <>= set.seed(123) x <- rnorm(250) y <- rnbinom(250, mu = exp(1 + x), size = 1) @ In the following, we will fit various count models to this data employing the overspecification \verb/y ~ x + I(x^2)/ and assessing the significance of \verb/I(x^2)/. First, we use \code{glm()} with \code{family = poisson} to fit a poisson regression as the simplest model for count data. Of course, this model is not correctly specified as \code{y} is from a negative binomial distribution. Hence, we are not surprised that the resulting test of \verb/I(x^2)/ is spuriously significant: <>= fm_pois <- glm(y ~ x + I(x^2), family = poisson) coeftest(fm_pois) @ However, the specification of the conditional mean of \code{y} is correct in this model which is reflected by the coefficient estimates that are close to their true value. Only the dispersion which is fixed at 1 in the \code{poisson} family is misspecified. In this situation, the problem can be alleviated by employing sandwich standard errors in the partial $z$~tests, capturing the overdispersion in \code{y}. <>= coeftest(fm_pois, vcov = sandwich) @ Clearly, sandwich standard errors are not the only way of dealing with this situation. Other obvious candidates would be to use a quasi-poisson or, of course, a negative binomial model \citep{hac:McCullagh+Nelder:1989}. The former is available through the \code{quasipoisson} family for \code{glm()} that leads to the same coefficient estimates as \code{poisson} but additionally estimates the dispersion for inference. The associated model summary is very similar to that based on the sandwich standard errors, leading to qualitatively identical results. <>= fm_qpois <- glm(y ~ x + I(x^2), family = quasipoisson) coeftest(fm_qpois) @ Negative binomial models can be fitted by \code{glm.nb()} from \pkg{MASS} \citep{hac:Venables+Ripley:2002}. <>= fm_nbin <- glm.nb(y ~ x + I(x^2)) coeftest(fm_nbin) @ Here, the estimated parameters are very similar to those from the poisson regression and the $z$~tests lead to the same conclusions as in the previous two examples. More details on various techniques for count data regression in \proglang{R} are provided in \cite{hac:Zeileis+Kleiber+Jackman:2008}. \subsection{Probit and tobit models} In this section, we consider an example from \citet[Section~22.3.6]{hac:Greene:2003} that reproduces the analysis of extramarital affairs by \citet{hac:Fair:1978}. The data, famously known as Fair's affairs, is available in the \pkg{AER} package \citep{hac:Kleiber+Zeileis:2008} and provides cross-section information on the number of extramarital affairs of 601 individuals along with several covariates such as \code{age}, \code{yearsmarried}, \code{religiousness}, \code{occupation} and a self-\code{rating} of the marriage. Table~22.3 in \cite{hac:Greene:2003} provides the parameter estimates and corresponding standard errors of a tobit model (for the number of affairs) and a probit model (for infidelity as a binary variable). In \proglang{R}, these models can be fitted using \code{tobit()} from \pkg{AER} \citep[a convenience interface to \code{survreg()} from the \pkg{survival} package by][]{hac:Thernau+Lumley:2008} and \code{glm()}, respectively: <<>>= library("AER") data("Affairs", package = "AER") fm_tobit <- tobit(affairs ~ age + yearsmarried + religiousness + occupation + rating, data = Affairs) fm_probit <- glm(I(affairs > 0) ~ age + yearsmarried + religiousness + occupation + rating, data = Affairs, family = binomial(link = "probit")) @ Using \code{coeftest()}, we compare the usual summary based on the standard errors as computed by \code{vcov()} \citep[which reproduces the results in][]{hac:Greene:2003} and compare them to the HC standard errors provided by \code{sandwich()}. <<>>= coeftest(fm_tobit) coeftest(fm_tobit, vcov = sandwich) @ For the tobit model \code{fm_tobit}, the HC standard errors are only slightly different and yield qualitatively identical results. The picture is similar for the probit model \code{fm_probit} which leads to the same interpretations, both for the standard and the HC estimate. <<>>= coeftest(fm_probit) coeftest(fm_probit, vcov = sandwich) @ See \cite{hac:Greene:2003} for a more detailed discussion of these and other regression models for Fair's affairs data. \section{Discussion} \label{sec:disc} Object-oriented computational infrastructure in the \proglang{R} package \pkg{sandwich} for estimating sandwich covariance matrices in a wide class of parametric models is suggested. Re-using existing building blocks, all an \proglang{R} developer has to implement for adapting a new fitted model class to the sandwich estimators are methods for extracting a bread estimator and the empirical estimating functions (and possibly model matrix and hat values). Although the most important area of application of sandwich covariance matrices is inference, particularly restriction testing, the package \pkg{sandwich} does not contain any inference functions but rather aims at providing modular building blocks that can be re-used in or supplied to other computational tools. In this paper, we show how the \pkg{sandwich} functions can be plugged into some functions made available by other packages that implement tools for Wald tests. However, it should be pointed out that this is not the only strategy for employing sandwich covariances for restriction testing; recent research provides us with at least two other promising strategies: For cross-section data, \cite{hac:Godfrey:2006} shows that the finite sample performance of quasi $t$ or $z$~tests can be improved by computing HC estimators based on the residuals of the restricted model and assessing their significance based on their bootstrap distribution. For time-series data, \cite{hac:Kiefer+Vogelsang:2002} consider $t$-type statistics based on HAC estimators where the bandwidth is equal to the sample size, leading to a non-normal asymptotic distribution of the $t$ statistic. For both strategies, some tools from \pkg{sandwich} could be easily re-used but further infrastructure, in particular for the inference, is required. As this is beyond the scope of the \pkg{sandwich} package, we leave this for future developments in packages focused on inference in regression models. As the new tools in \pkg{sandwich} provide ``robust'' covariances for a wide class of parametric models, it is worth pointing out that this should \emph{not} encourage the user to employ them automatically for every model in every analysis. First, the use of sandwich estimators when the model is correctly specified leads to a loss of power. Second, if the model is not correctly specified, the sandwich estimators are only useful if the parameters estimates are still consistent, i.e., if the misspecification does not result in bias. Whereas it is well understood what types of misspecification can be dealt with in linear regression models, the situation is less obvious for general regression models. Some further expository discussion of this issue for ML and quasi ML estimators can be found in \cite{hac:Freedman:2006} and \cite{hac:Koenker:2006}. \section*{Acknowledgments} The extensions of \pkg{sandwich}, in particular to microeconometric models, was motivated by the joint work with Christian Kleiber on \cite{hac:Kleiber+Zeileis:2008}. We would also like to thank Henric Nilsson for helpful feedback and discussions that helped to improve and generalize the functions in the package. Furthermore, we gratefully acknowledge the valuable comments of the associate editor and two referees which led to an improvement of the paper. \bibliography{hac} \end{document} sandwich/inst/doc/sandwich-CL.Rnw0000644000175400001440000023544413136164213016567 0ustar zeileisusers\documentclass[nojss]{jss} \usepackage{amsmath,amssymb,bm,thumbpdf,lmodern} %% need no \usepackage{Sweave} %% for internal use \newcommand{\fixme}[1]{\emph{\marginpar{FIXME} (#1)}} \newcommand{\readme}[1]{\emph{\marginpar{README} (#1)}} \author{Susanne Berger\\Universit\"at Innsbruck \And Nathaniel Graham\\Trinity University Texas \And Achim Zeileis\\Universit\"at Innsbruck} \title{Various Versatile Variances: An Object-Oriented Implementation of Clustered Covariances in \proglang{R}} \Plainauthor{Susanne Berger, Nathaniel Graham, Achim Zeileis} \Plaintitle{Various Versatile Variances: An Object-Oriented Implementation of Clustered Covariances in R} \Shorttitle{Various Versatile Variances} \Keywords{clustered data, clustered covariance matrix estimators, object orientation, simulation, \proglang{R}} \Plainkeywords{clustered data, clustered covariance matrix estimators, object orientation, simulation, R} \Abstract{ Clustered covariances or clustered standard errors are very widely used to account for correlated or clustered data, especially in economics, political sciences, or other social sciences. They are employed to adjust the inference following estimation of a standard least-squares regression or generalized linear model estimated by maximum likelihood. Although many publications just refer to ``the'' clustered standard errors, there is a surprisingly wide variety of clustered covariances, particularly due to different flavors of bias corrections. Furthermore, while the linear regression model is certainly the most important application case, the same strategies can be employed in more general models (e.g. for zero-inflated, censored, or limited responses). In \proglang{R}, functions for covariances in clustered or panel models have been somewhat scattered or available only for certain modeling functions, notably the (generalized) linear regression model. In contrast, an object-oriented approach to ``robust'' covariance matrix estimation -- applicable beyond \code{lm()} and \code{glm()} -- is available in the \pkg{sandwich} package but has been limited to the case of cross-section or time series data. Now, this shortcoming has been corrected in \pkg{sandwich} (starting from version~2.4.0): Based on methods for two generic functions (\code{estfun()} and \code{bread()}), clustered and panel covariances are now provided in \code{vcovCL()}, \code{vcovPL()}, and \code{vcovPC()}. These are directly applicable to models from many packages, e.g., including \pkg{MASS}, \pkg{pscl}, \pkg{countreg}, \pkg{betareg}, among others. Some empirical illustrations are provided as well as an assessment of the methods' performance in a simulation study. } \Address{ Susanne Berger, Achim Zeileis\\ Department of Statistics\\ Faculty of Economics and Statistics\\ Universit\"at Innsbruck\\ Universit\"atsstr.~15\\ 6020 Innsbruck, Austria\\ E-mail: \email{Susanne.Berger@uibk.ac.at}, \email{Achim.Zeileis@R-project.org}\\ URL: \url{https://www.uibk.ac.at/statistics/personal/berger/},\\ \phantom{URL: }\url{https://eeecon.uibk.ac.at/~zeileis/}\\ Nathaniel Graham\\ Department of Finance and Decision Sciences\\ Trinity University Texas\\ One Trinity Place\\ San Antonio, Texas 78212, United States of America\\ E-mail: \email{npgraham1@npgraham1.com}\\ URL: \url{https://sites.google.com/site/npgraham1/} } \begin{document} \SweaveOpts{engine=R,eps=FALSE} %\VignetteIndexEntry{Various Versatile Variances: An Object-Oriented Implementation of Clustered Covariances in R} %\VignetteDepends{sandwich,geepack,lattice,lmtest,multiwayvcov,pcse,plm,pscl} %\VignetteKeywords{clustered data, clustered covariance matrix estimators, object orientation, simulation, R} %\VignettePackage{sandwich} <>= library("sandwich") library("geepack") library("lattice") library("lmtest") library("multiwayvcov") library("pcse") library("plm") library("pscl") panel.xyref <- function(x, y, ...) { panel.abline(h = 0.95, col = "slategray") panel.xyplot(x, y, ...) } se <- function(vcov) sapply(vcov, function(x) sqrt(diag(x))) options(prompt = "R> ", continue = "+ ", digits = 5) if(file.exists("sim-CL.rda")) { load("sim-CL.rda") } else { source("sim-CL.R") } @ \section{Introduction} \label{sec:intro} Observations with correlations between objects of the same group/cluster are often referred to as ``cluster-correlated'' observations. Each cluster comprises multiple objects that are correlated within, but not across, clusters, leading to a nested or hierarchical structure \citep{hac:Galbraith+Daniel+Vissel:2010}. Ignoring this dependency and pretending observations are independent not only across but also within the clusters, still leads to parameter estimates that are consistent (albeit not efficient) in many situations. However, the observations' information will typically be overestimated and hence lead to overstated precision of the parameter estimates and inflated type~I errors in the corresponding tests \citep{hac:Moulton:1986, hac:Moulton:1990}. Therefore, clustered covariances are widely used to account for clustered correlations in the data. Such clustering effects can emerge both in cross-section and in panel (or longitudinal) data. Typical examples for clustered cross-section data include firms within the same industry or students within the same school or class. In panel data, a common source of clustering is that observations for the same individual at different time points are correlated while the individuals may be independent \citep{hac:Cameron+Miller:2015}. This paper contributes to the literature particularly in two respects: % (1)~Most importantly, we discuss a set of computational tools for the \proglang{R} system for statistical computing \citep{hac:R:2017}, providing an object-oriented implementation of clustered covariances/standard errors in the \proglang{R} package \pkg{sandwich} \citep{hac:Zeileis:2004a,hac:Zeileis:2006}. Using this infrastructure, sandwich covariances for cross-section or time series data have been available for models beyond \code{lm()} or \code{glm()}, e.g., for packages \pkg{MASS} \citep{hac:Venables+Ripley:2002}, \pkg{pscl}/\pkg{countreg} \citep{hac:Zeileis+Kleiber+Jackman:2008}, \pkg{betareg} \citep{hac:Cribari-Neto+Zeileis:2010,hac:Gruen+Kosmidis+Zeileis:2012}, among many others. However, corresponding functions for clustered or panel data had not been available in \pkg{sandwich} but have been somewhat scattered or available only for certain modeling functions. (2)~Moreover, we perform a Monte Carlo simulation study for various response distributions with the aim to assess the performance of clustered standard errors beyond \code{lm()} and \code{glm()}. This also includes special cases for which such a finite-sample assessment has not yet been carried out in the literature (to the best of our knowledge). The rest of this manuscript is structured as follows: Section~\ref{sec:overview} discusses the idea of clustered covariances and reviews existing \proglang{R} packages for sandwich as well as clustered covariances. Section~\ref{sec:methods} deals with the theory behind sandwich covariances, especially with respect to clustered covariances for cross-sectional and longitudinal data, clustered data, as well as panel data. Section~\ref{sec:software} then takes a look behind the scenes of the new object-oriented \proglang{R} implementation for clustered covariances, Section~\ref{sec:illu} gives an empirical illustration based on data provided from \cite{hac:Petersen:2009} and \cite{hac:Aghion+VanReenen+Zingales:2013}. The simulation setup and results are discussed in Section~\ref{sec:simulation}. \section{Overview} \label{sec:overview} There is a range of popular strategies for dealing with clustered dependencies in regression models. In the statistics literature, random effects (especially random intercepts) are often introduced to capture unobserved cluster correlations (e.g., using the \pkg{lme4} package in \proglang{R}, \citealp{hac:Bates+Machler+Bolker:2015}). Alternatively, generalized estimating equations (GEE) can account for such correlations by adjusting the model's scores in the estimation, also leading naturally to a clustered covariance (e.g., available in the \pkg{geepack} package for \proglang{R}, \citealp{hac:Halekoh+Hojsgaard+Yan:2002}). Another approach, widely used in econometrics and the social sciences, is to assume that the model's score function was correctly specified but that only the remaining likelihood was potentially misspecified, e.g., due to a lack of independence as in the case of clustered correlations (see \citealp{hac:White:1994}, for a classic textbook, and \citealp{hac:Freedman:2006}, for a criticial review). This approach leaves the parameter estimator unchanged -- then also known as quasi-maximum likelihood (QML) estimator or, in GEE jargon, as independence working model -- but adjusts the covariance matrix by using a sandwich estimator, especially in Wald tests and corresponding confidence intervals. Important special cases of this QML approach combined with sandwich covariances include: (1) independent but heteroscedastic observations necessitating heteroscedasticity-consistent (HC) covariances \citep[see e.g.,][]{hac:Long+Ervin:2000}, (2) autocorrelated time series of observations requiring heteroscedasticity- and autocorrelation-consistent (HAC) covariances \citep[such as][]{hac:Newey+West:1987,hac:Andrews:1991}, (3) and clustered sandwich covariances for clustered or panel data \citep[see e.g.,][]{hac:Cameron+Miller:2015}. Various kinds of sandwich covariances have already been implemented in several \proglang{R} packages, with the linear regression case receiving most attention. But some packages also cover more general models. \subsection[R packages for sandwich covariances]{\proglang{R} packages for sandwich covariances} The standard \proglang{R} package for sandwich covariance estimators is the \pkg{sandwich} package \citep{hac:Zeileis:2004a,hac:Zeileis:2006}, which provides an object-oriented implementation for the building blocks of the sandwich that rely only on a small set of extractor functions (\code{estfun()} and \code{bread()}) for fitted model objects. The function \code{sandwich()} computes a plain sandwich estimate \citep{hac:Eicker:1963,hac:Huber:1967,hac:White:1980} from a fitted model object, defaulting to what is known as HC0 or HC1 in linear regresion models. \code{vcovHC()} is a wrapper to \code{sandwich()} combined with \code{meatHC()} and \code{bread()} to compute general HC covariances ranging from HC0 to HC5. \code{vcovHAC()}, based on \code{sandwich()} with \code{meatHAC()} and \code{bread()}, computes HAC covariance matrix estimates. Further convenience interfaces \code{kernHAC()} for Andrews' kernel HAC \citep{hac:Andrews:1991} and \code{NeweyWest()} for Newey-West-style HAC \citep{hac:Newey+West:1987,hac:Newey+West:1994} are available. However, in versions prior to 2.4.0 of \pkg{sandwich} no similarly object-oriented approach to clustered sandwich covariances was available. Another \proglang{R} package that includes heteroscedasticity-consistent covariance estimators (HC0--HC4), for models produced by \code{lm()} only, is the \pkg{car} package \citep{hac:Fox+Weisberg:2011} in function \code{hccm()}. Like \code{vcovHC()} from \pkg{sandwich} this is limited to the cross-section case without clustering, though. \subsection[R packages for clustered covariances]{\proglang{R} packages for clustered covariances} The lack of support for clustered sandwich covariances in standard packages like \pkg{sandwich} or \pkg{car} has led to a number of different implementations scattered over various packages. Typically, these are tied to either objects from \code{lm()} or dedicated model objects fitting certain (generalized) linear models for clustered or panel data. The list of packages includes: \pkg{multiwayvcov} \citep{hac:Graham+Arai+Hagstroemer:2016}, \pkg{plm} \citep{hac:Croissant+Millo:2008}, \pkg{geepack} \citep{hac:Halekoh+Hojsgaard+Yan:2002}, \pkg{lfe} \citep{hac:Gaure:2016}, \pkg{clubSandwich} \citep{hac:Pustejovsky:2016}, and \pkg{clusterSEs} \citep{hac:Esarey:2017}, among others. In \pkg{multiwayvcov}, the implementation was object-oriented in many aspects building on \pkg{sandwich} infrastructure. However, certain details assumed \code{lm} or \code{glm}-like objects. In \pkg{plm} and \pkg{lfe} several types of sandwich covariances are available for the packages' \code{plm} (panel linear models) and \code{felm} (fixed-effect linear models), respectively. The \pkg{geepack} package can estimate independence working models for \code{glm}-type models, also supporting clustered covariances for the resulting \code{geeglm} objects. Finally, \pkg{clusterSEs} and \pkg{clubSandwich} focus on the case of ordinary or weighted least squares regression models. In a nutshell, there is good coverage of clustered covariances for (generalized) linear regression objects albeit potentially necessitating reestimating a certain model using a different model-fitting function/packages. However, there was no object-oriented implementation for clustered covariances in \proglang{R}, that enabled plugging in different model objects from in principle any class. Therefore, starting from the implementation in \pkg{multiwayvcov} a new and object-oriented implementation was established and integrated in \pkg{sandwich}, allowing application to more general models, including zero-inflated, censored, or limited responses. \section{Methods} \label{sec:methods} To establish the theoretical background of sandwich covariances for clustered as well as panel data the notation of \cite{hac:Zeileis:2006} is adopted. Here, the conceptual building blocks from \cite{hac:Zeileis:2006} are briefly repeated and then carried further for clustered covariances. \subsection{Sandwich covariances} Let $(y_{i},x_{i})$ for $i = 1, \ldots, n$ be data with some distribution controlled by a parameter vector $\theta$ with $k$ dimensions. For a wide range of models the (quasi-)maximum likelihood estimator $\hat \theta$ is governed by a central limit theorem \citep{hac:White:1994} so that $\hat \theta \approx \mathcal{N}(\theta, n^{-1} S(\theta))$. Moreover, the covariance matrix is of sandwich type with a meat matrix $M(\theta)$ between two slices of bread $B(\theta)$: \begin{eqnarray} \label{eq:sandwich} S(\theta) & = & B(\theta) \cdot M(\theta) \cdot B(\theta) \\ \label{eq:bread} B(\theta) & = & \left( \E[ - \psi'(y, x, \theta) ] \right)^{-1} \\ \label{eq:meat} M(\theta) & = & \VAR[ \psi(y, x, \theta) ]. \end{eqnarray} An estimating function \begin{eqnarray} \psi(y, x, \theta) \quad = \quad \frac{\partial \Psi(y, x, \theta)}{\partial \theta} \end{eqnarray} is defined as the derivative of an objective function $\Psi(y, x, \theta)$, typically the log-likelihood, with respect to the parameter vector $\theta$. Thus, an empirical estimating (or score) function evaluates an estimating function at the observed data and the estimated parameters such that an $n \times k$ matrix is obtained \citep{hac:Zeileis:2006}: \begin{eqnarray} \label{eq:estfun} \left( \begin{array}{c} \psi(y_1, x_1, \hat \theta) \\ \vdots \\ \psi(y_n, x_n, \hat \theta) \end{array} \right). \end{eqnarray} The estimate for $\hat B$ is based on second derivatives, i.e., the empirical version of the inverse Hessian \begin{equation} \label{eq:Bhat} \hat B \quad = \quad \left( \frac{1}{n} \sum_{i = 1}^n - \psi'(y_i, x_i, \hat \theta) \right)^{-1}, \end{equation} whereas $\hat M, \hat M_\mathrm{HAC}, \hat M_\mathrm{HC}$ compute outer product, HAC and HC estimators for the meat, respectively, \begin{eqnarray} \label{eq:meat-op} \hat M & = & \frac{1}{n} \sum_{i = 1}^n\psi(y_i, x_i, \hat \theta) \psi(y_i, x_i, \hat \theta)^\top \\ \label{eq:meat-hac} \hat M_\mathrm{HAC} & = & \frac{1}{n} \sum_{i, j = 1}^n w_{|i-j|} \, \psi(y_i, x_i, \hat \theta) \psi(y_j, x_j, \hat \theta)^\top \\ \label{eq:meat-hc} \hat M_\mathrm{HC} & = & \frac{1}{n} X^\top \left( \begin{array}{ccc} \omega(r(y_1, x_1^\top \theta)) & \cdots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \cdots & \omega(r(y_n, x_n^\top \theta)) \end{array} \right) X. \end{eqnarray} The outer product estimator in Equation~\ref{eq:meat-op} corresponds to the basic sandwich estimator \citep{hac:Eicker:1963,hac:Huber:1967,hac:White:1980}. $w_{|i-j|}$ in Equation~\ref{eq:meat-hac} is a vector of weights \citep{hac:Zeileis:2004a}. In Equation~\ref{eq:meat-hc}, functions $\omega(\cdot)$ derive estimates of the variance of the empirical working residuals $r(y_1, x_1^\top \hat \theta), \ldots, r(y_n, x_n^\top \hat \theta)$ and may also depend on hat values as well as degrees of freedom \citep{hac:Zeileis:2006}. The HC type of the model in Equation~\ref{eq:meat-hc} has to be of a form that allows factorization of the scores \begin{equation} \label{eq:fact} \psi(y_i, x_i, \hat\theta) = r(y_i, x_i^\top \hat \theta) \cdot x_i \end{equation} into empirical working residuals times the regressor vector. This is, however, only possible in situations where the parameter of the response distribution depends on a single linear predictor (possibly through a link function). The building blocks for the calculation of the sandwich are provided by the \pkg{sandwich} package, where the \code{sandwich()} function calculates an estimator of the sandwich $S(\theta)$ (see Equation~\ref{eq:sandwich}) by multiplying estimators for the meat (from Equation~\ref{eq:meat}) between two slices of bread (from Equation~\ref{eq:bread}). A natural idea for an object-oriented implementation of these estimators is to provide common building blocks, namely a simple \code{bread()} extractor that computes $\hat B$ from Equation~\ref{eq:Bhat} and an \code{estfun()} extractor that returns the empirical estimating functions from Equation~\ref{eq:estfun}. On top of these extractors a number of meat estimators can be defined: \code{meat()} for $\hat M$ from Equation~\ref{eq:meat-op}, \code{meatHAC()} for $\hat M_\mathrm{HAC}$ from Equation~\ref{eq:meat-hac}, and \code{meatHC()} for $\hat M_\mathrm{HC}$ from Equation~\ref{eq:meat-hc}, respectively. In addition to the \code{estfun()} method a \code{model.matrix()} method is needed in \code{meatHC()} for the decomposition of the scores into empirical working residuals and regressor matrix. \subsection{Clustered covariances} For clustered observations, similar ideas as above can be employed but the data has more structure that needs to be incorporated into the meat estimators. Specifically, for one-way clustering there is not simply an observation $i$ from $1, \dots, n$ observations but an observation $(i,g)$ from $1, \dots, n_g$ observations within cluster/group $g$ (with $g = 1, \dots, G$ and $n = n_1 + \dots + n_G$). As only the $G$ groups can be assumed to be independent while there might be correlation withing the cluster/group, the empirical estimation function is summed up within each group prior to computing meat estimators. Thus, the core idea of many clustered covariances is to replace Equation~\ref{eq:estfun} with the following equation and then proceeding ``as usual'' in the computation of meat estimators afterwards: \begin{eqnarray} \label{eq:estfun-cl} \left( \begin{array}{c} \psi(y_{11}, x_{11}, \hat \theta) + \dots + \psi(y_{n_1 1}, x_{n_1 1}, \hat \theta)\\ \vdots \\ \psi(y_{1G}, x_{1G}, \hat \theta) + \dots + \psi(y_{n_G G}, x_{n_G G}, \hat \theta) \end{array} \right). \end{eqnarray} The basic meat estimator based on the outer product then becomes: \begin{equation} \label{eq:meatCL} \hat M_\mathrm{CL} \quad = \quad \frac{1}{n} \sum_{g = 1}^G\sum_{i = 1}^{n_{g}}\psi(y_{ig}, x_{ig}, \hat \theta) \psi(y_{ig}, x_{ig}, \hat \theta)^\top. \end{equation} In the case where observation is its own cluster, the clustered $\hat M_\mathrm{CL}$ corresponds to the basic~$\hat M$. The new function \code{meatCL()} in the \pkg{sandwich} package implements this basic trick along with several types of bias correction and the possibility for multi-way instead of one-way clustering. \subsubsection{Types of bias correction} The clustered covariance estimator controls for both heteroscedasticity across as well as within clusters, but this comes at the cost that the number of clusters $G$ must approach infinity, not just the number of observations $n$ \citep{hac:Cameron+Gelbach+Miller:2008,hac:Cameron+Miller:2015}. Although many publications just refer to ``the'' clustered standard errors, there is a surprisingly wide variation in clustered covariances, particularly due to different flavors of bias corrections. The bias correction factor can be split in two parts, a ``cluster bias correction'' and an ``HC bias correction''. The cluster bias correction captures the effect of having just a finite number of clusters $G$ and it is defined as \begin{equation} \label{eq:biasadj0} \frac{G}{G - 1}. \end{equation} The HC bias correction can be applied additionally similar to the corresponding cross-section data estimators. HC0 to HC3 bias corrections for cluster $g$ are defined as \begin{eqnarray} \label{eq:biasadj1} \mathrm{HC0:} & & 1 \\ \label{eq:biasadj2} \mathrm{HC1:} & & \frac{n}{n - k} \\ \label{eq:biasadj3} \mathrm{HC2:} & & (I_{n_{g}} - H_{gg})^{-0.5} \\ \label{eq:biasadj4} \mathrm{HC3:} & & (I_{n_{g}} - H_{gg})^{-1}, \end{eqnarray} where $n$ is the number of observations and $k$ is the number of estimated parameters, $I_{n_{g}}$ is an identity matrix of size $n_{g}$, $H_{gg}$ is the block from the hat matrix $H$ that pertains to cluster~$g$. Thus, it is completely straightforward to add the factors for HC0 and HC1 to $\hat M_\mathrm{CL}$ (Equation~\ref{eq:meatCL}). However, it is more demanding to apply the cluster generalizations of HC2 and HC3 \citep[due to][]{hac:Kauermann+Carroll:2001,hac:Bell+McCaffrey:2002} for which the correction factors from Equations~\ref{eq:biasadj3} and~\ref{eq:biasadj4} have to be applied to the (working) residuals prior to computing the clustered meat matrix. More precisely, the empirical working residuals $r(y_{g}, x_{g}^\top \hat \theta)$ in group $g$ are adjusted via \begin{equation} \label{eq:fact-adj} \tilde r(y_{g}, x_{g}^\top \hat \theta) = (I_{n_{g}} - H_{gg})^\alpha \cdot r(y_{g}, x_{g}^\top \hat \theta) \end{equation} with $\alpha = -0.5$ for HC2 and $\alpha = -1$ for HC3, before obtaining the adjusted empirical estimating functions based on Equation~\ref{eq:fact} as \begin{equation} \label{eq:fact-reg} \tilde \psi(y_i, x_i, \hat\theta) = \tilde r(y_{i}, x_{i}^\top \hat \theta) \cdot x_i. \end{equation} Then these adjusted estimating functions can be employed ``as usual'' to obtain the $\hat M_\mathrm{CL}$. Note that in terms of methods in \proglang{R}, it is not sufficient to have just \code{estfun()} and\linebreak \code{model.matrix()} extractors but an extractor for (blocks of) the full hat matrix are required as well. Currently, no such extractor method is available in base \proglang{R} (as \code{hatvalues()} just extracts $\mathrm{diag} H$) and hence HC2 and HC3 in \code{meatCL()} are just available for \code{lm} and \code{glm} objects. \subsubsection{Two-way and multi-way clustered covariances} Certainly, there can be more than one cluster dimension, as for example observations that are characterized by housholds within states or companies within industries. It can therefore sometimes be helpful that one-way clustered covariances can be extended to so-called multi-way clustering as shown by \cite{hac:Miglioretti+Heagerty:2007}, \cite{hac:Thompson:2011} and \cite{hac:Cameron+Gelbach+Miller:2011}. Multi-way clustered covariances comprise clustering on $2^{D} - 1$ dimensional combinations. Clustering in two dimensions, for example in $id$ and $time$, gives $D = 2$, such that the clustered covariance matrix is composed of $2^2 - 1 = 3$ one-way clustered covariance matrices that have to be added up or substracted off, respectively. For two-way clustered covariances with cluster dimensions $id$ and $time$, the one-way clustered covariance matrices on $id$ and on $time$ are added up, and the two-way clustered covariance matrix with clusters formed by the intersection of $id$ and $time$ is substacted off \begin{equation} \label{eq:twoway} \hat M_{\mathrm{CL}(id,time)} \quad = \quad \hat M_{\mathrm{CL}(id)} + \hat M_{\mathrm{CL}(time)} - \hat M_{\mathrm{CL}(id \cap time)}. \end{equation} The same idea is used for obtaining clustered covariances with more than two clustering dimensions: Meat parts with an odd number of cluster dimensions are added up, whereas those with an even number are substracted. \cite{hac:Petersen:2009}, \cite{hac:Thompson:2011} and \cite{hac:Ma:2014} suggest to substract the standard sandwich estimator in case that the clusters formed by the intersection of $id$ and $time$ do only contain a single observation. % \footnote{If one wants to cluster by dimensions \emph{id} and \emph{year} in a sample % of \emph{id-month} observations, each cluster is composed of 12 observations \citep{hac:Ma:2014}. % In such a setting, the last substracted matrix should be a one-way clustered covariance matrix % with clusters formed by the intersections of \emph{id} and \emph{year}.}. As \cite{hac:Ma:2014} argues, the standard sandwich estimator does not take into account any bias adjustment, such that the cluster bias correction $\frac{G}{G-1}$ is larger than one. Thus, covariances are underestimated if always the clustered covariance matrix with cluster bias correction $\frac{G}{G-1}$ is substracted as the last substracted matrix instead of standard sandwich covariances. % Various flavours of clustered covariances have been newly implemented in the % \pkg{sandwich} package, relying on the same building blocks as in previous % package versions. Again, clustered covariances rely on the same structure as % seen in Equations~\ref{eq:sandwich}--\ref{eq:meat}. But instead of calling one % out of the already implemented meat functions in % Equations~\ref{eq:meat-op}--\ref{eq:meat-hc}, \code{meatCL()} is an % implementation of the meat as in Equation~\ref{eq:meatCL} and is called via the % function \code{vcovCL()} to calculate clustered covariances. The meat in % Equation~\ref{eq:meatCL} is conceptually the same as in % Equation~\ref{eq:meat-op}, but with the difference that the score is aggregated % at the cluster level as in Equation~\ref{eq:estfun-cl} instead of the % unaggregated scores in Equation~\ref{eq:estfun}. More details about both % functions \code{meatCL()} and \code{vcovCL()} are given in the next section. \subsection{Clustered covariances for panel data} The information of panel data sets is often overstated, as cross-sectional as well as temporal dependencies may occur \citep{hac:Hoechle:2007}. \citet[p.~702]{hac:Cameron+Trivedi:2005} noticed that ``$NT$ correlated observations have less information than $NT$ independent observations''. For panel data, the source of dependence in the data is crucial to find out what kind of covariance is optimal \citep{hac:Petersen:2009}. In the following, panel Newey-West standard errors as well as Driscoll and Kraay standard errors are examined \citep[see also][for a unifying view]{hac:Millo:2014}. To reflect that the data are now panel data with time ordering within each cluster/group/id we change our notation to an index $(i, t)$ for $i = 1, \dots, n_t$ observations at time $t = 1, \dots, T$ (with $n = n_1 + \dots + n_T$). Note that compared to the notation from the clustered case above, the variable $i$ now denotes the group/id (e.g., firm) which was previously denoted by $g$. \subsubsection{Panel Newey-West} \cite{hac:Newey+West:1987} proposed a heteroscedasticity and autocorrelation consistent standard error estimator that is traditionally used for time-series data, but can be modified for use in panel data \citep[see for example][]{hac:Petersen:2009}. A panel Newey-West estimator can be obtained by setting the cross-sectional as well as the cross-serial correlation to zero \citep{hac:Millo:2014}. The meat is composed of \begin{equation} \label{eq:newey} \hat M_\mathrm{PL}^{NW} \quad = \quad \frac{1}{n} \sum_{i, j = 1}^n w_{|i-j|} \, \psi(y_{i}, x_{i}, \hat \theta) \psi(y_{j}, x_{j}, \hat \theta)^\top. \end{equation} \cite{hac:Newey+West:1987} employ a Bartlett kernel for obtaining the weights as $w_{|i-j|} = 1 - \frac{|i-j|}{L + 1}$ at lag $\ell = |i-j|$ up to lag $L$. As \cite{hac:Petersen:2009} noticed, the maximal lag length $L$ in a panel data set is $n_t - 1$, i.e., the maximum number of \emph{time} periods per \emph{id} minus one. \subsubsection{Driscoll and Kraay} \cite{hac:Driscoll+Kraay:1998} have adapted the Newey-West approach by using the aggregated estimating functions at each time point. This can be shown to be robust to spatial and temporal dependence of general form, but with the caveat that a long enough time dimension must be available. Thus, the idea is again to replace Equation~\ref{eq:estfun} by Equation~\ref{eq:estfun-cl} before computing $\hat M_\mathrm{HAC}$ from Equation~\ref{eq:meat-hac}. Note, however, that the aggregation is now done across cluster/id within each time period $t$. This yields a panel sandwich estimator where the meat is computed as \begin{equation} \label{eq:driscoll} \hat M_\mathrm{PL} \quad = \quad \frac{1}{n} \sum_{t = 1}^T \sum_{i, j = 1}^{n_t} w_{|i-j|} \, \psi(y_{it}, x_{it}, \hat \theta) \psi(y_{jt}, x_{jt}, \hat \theta)^\top, \end{equation} The weights $w_{|i-j|}$ are usually again the Bartlett weights up to lag $L$. Note that for $L = 0$, $\hat M_\mathrm{PL}$ reduced to $\hat M_{\mathrm{CL}(\mathit{time})}$, i.e., the one-way covariance clustered by time. Also, for the special case that there is just one observation at each time point $t$, this panel covariance by \cite{hac:Driscoll+Kraay:1998} simply yields the panel Newey-West covariance. The new function \code{meatPL()} in the \pkg{sandwich} package implements this approach analogously to \code{meatCL()}. For the computation of the weights $w_\ell$ the same function is employed that \code{meatHAC()} uses. \subsection{Panel-corrected standard errors} \cite{hac:Beck+Katz:1995} proposed another form or panel-corrected covariances -- typically referred to as panel-corrected standard errors (PCSE). They are intended for panel data (also called time-series-cross-section data in this literature) with moderate dimensions of time and cross-section \citep{hac:Millo:2014}. They are robust against panel heteroscedasticity and contemporaneously correlation, with the crucial assumption that contemporaneous correlation accross cluster follows a fixed pattern \citep{hac:Millo:2014, hac:Johnson:2004}. Autocorrelation within a cluster is assumed to be absent. \cite{hac:Hoechle:2007} argues that for the PCSE estimator the finite sample properties are rather poor if the cross-sectional dimension is large compared to the time dimension. This is in contrast to the panel covariance by \cite{hac:Driscoll+Kraay:1998} which relies on large-$t$ asymptotics and is robust to quite general forms of cross-sectional and temporal dependence and is consistent independently of the cross-sectional dimension. To emphasize that now both cross section \emph{and} and time ordering are considered, index $(t,g)$ is employed for the observation from cluster/group $g = 1, \dots, G$ at time $t = 1, \dots, n_g$. In the balanced case (that we focus on below) $n_g = T$ for all groups~$g$ so that there are $n = G \cdot T$ observations overall. The basic idea for PCSE is to employ the outer product of (working) residuals within each cluster~$g$. Thus, the working residuals are split into vectors for each cluster $g$: $r(y_1, x_1^\top \hat \theta), \dots,$\linebreak $r(y_G, x_G^\top \hat \theta)$. For balanced data these can be arranged in a $T \times G$ matrix, \begin{equation} \label{eq:workres} R \quad = \quad [r(y_1, x_1^\top \hat \theta) \quad r(y_2, x_2^\top \hat \theta) \quad \ldots \quad r(y_G, x_G^\top \hat \theta)], \end{equation} and the meat of the panel-corrected covariance matrix can be computed using the Kronecker product as \begin{equation} \label{eq:pcse} \hat M_\mathrm{PC} \quad = \quad \frac{1}{n} X^\top \bigg[ \frac{(R^\top R)}{T} \otimes {\bm I}_T \bigg] X. \end{equation} The details for the unbalanced case are omitted here for brevity but are discussed in detail in \cite{hac:Bailey+Katz:2011}. The new function \code{meatPC()} in the \pkg{sandwich} package implements both the balanced and unbalanced case. As for \code{meatHC()} it is necessary to have a \code{model.matrix()} extractor in addition to the \code{estfun()} extractor for splitting up the empirical estimating functions into residuals and regressor matrix. \section{Software} \label{sec:software} As conveyed already in Section~\ref{sec:methods}, the \pkg{sandwich} package has been extended along the same lines it was originally established in \citep{hac:Zeileis:2006}. The new clustered and panel covariances require a new \code{meat*()} function that ideally only extracts the \code{estfun()} from a fitted model object. For the full sandwich covariance an accompanying \code{vcov*()} function is provided that couples the \code{meat*()} with the \code{bread()} estimate extracted from the model object. The new sandwich covariances \code{vcovCL()} for clustered data and \code{vcovPL()} for panel data, as well as \code{vcovPC()} for panel-corrected covariances all follow this structure and are introduced in more detail below. Model classes which provide the necessary building blocks include \code{betareg}, \code{clm}, \code{coxph}, \code{crch}, \code{glm}, \code{hurdle}, \code{lm}, \code{mlm}, \code{mlogit}, \code{nls}, \code{polr}, \code{rlm}, \code{survreg}, or \code{zeroinfl} from packages \pkg{stats} \citep{hac:R:2017}, \pkg{betareg} \citep{hac:Cribari-Neto+Zeileis:2010,hac:Gruen+Kosmidis+Zeileis:2012}, \pkg{crch} \citep{hac:Messner+Mayr+Zeileis:2016}, \pkg{MASS} \citep{hac:Venables+Ripley:2002}, \pkg{mlogit} \citep{hac:Croissant:2013}, \pkg{ordinal} \citep{hac:Christensen:2015}, and \pkg{survival} \citep{hac:Therneau:2015}. For all of these an \code{estfun} method is available along with a \code{bread()} method (or the default method works). In case the models are based on a single linear predictor only, they also provide \code{model.matrix()} extractors so that the factorization from Equation~\ref{eq:fact} into working residuals and regressor matrix can be easily computed. \subsection{Clustered covariances} \label{sec:vcovcl} One-, two-, and multi-way clustered covariances with HC0--HC3 bias correction are implemented in \begin{verbatim} vcovCL(x, cluster = NULL, type = NULL, sandwich = TRUE, fix = FALSE, ...) \end{verbatim} for a fitted-model-object \code{x} with the underlying meat estimator in \begin{verbatim} meatCL(x, cluster = NULL, type = NULL, cadjust = TRUE, multi0 = FALSE, ...) \end{verbatim} The essential idea is to aggregate the empirical estimating functions within each cluster and then compute a HC covariance analogous to \code{vcovHC()}. The \code{cluster} argument allows to supply either one cluster vector or a list (or data frame) of several cluster variables. If no cluster variable is supplied, each observation is its own cluster per default. Thus, by default, the clustered covariance estimator collapses to the basic sandwich estimator. The bias correction is composed of two parts that can be switched on and off separately: First, the cluster bias correction from Equation~\ref{eq:biasadj0} is controlled by \code{cadjust}. Second, the HC bias correction from Equations~\ref{eq:biasadj1}--\ref{eq:biasadj4} is specified via \code{type} with the default to use \code{"HC1"} for \code{lm} objects and \code{"HC0"} otherwise. Moreover, \code{type = "HC2"} and \code{"HC3"} are only available for \code{lm} and \code{glm} objects as they require computation of full blocks of the hat matrix (rather than just the diagonal elements as in \code{hatvalues()}). Hence, the hat matrices of (generalized) linear models are provided directly in \code{meatCL()} and are not object-oriented in the current implementation. The \code{multi0} argument is relevant only for multi-way clustered covariances with more than one clustering dimension. It specifies whether to substract the basic cross-section HC0 covariance matrix as the last substracted matrix in Equation~\ref{eq:twoway} instead of the covariance matrix formed by the intersection of groups \citep{hac:Petersen:2009,hac:Thompson:2011,hac:Ma:2014}. For consistency with \cite{hac:Zeileis:2004a}, the \code{sandwich} argument specifies whether the full sandwich estimator is computed (default) or only the meat. Finally, the \code{fix} argument specifies whether the covariance matrix should be fixed to be positive semi-definite in case it is not. This is achieved by converting any negative eigenvalues from the eigendecomposition to zero. \cite{hac:Cameron+Gelbach+Miller:2011} observe that this is most likely to be necessary in applications with fixed effects, especially when clustering is done over the same groups as the fixed effects. \subsection{Clustered covariances for panel data} For panel data, \begin{verbatim} vcovPL(x, cluster = NULL, order.by = NULL, kernel = "Bartlett", sandwich = TRUE, fix = FALSE, ...) \end{verbatim} based on \begin{verbatim} meatPL(x, cluster = NULL, order.by = NULL, kernel = "Bartlett", lag = "NW1987", bw = NULL, adjust = TRUE, ...) \end{verbatim} computes sandwich covariances for panel data, specificially including panel \cite{hac:Newey+West:1987} and \cite{hac:Driscoll+Kraay:1998}. The essential idea is to aggregate the empirical estimating functions within each time period and then compute a HAC covariance analogous to \code{vcovHAC()}. Again, \code{vcovPL()} returns the full sandwich if the argument \code{sandwich = TRUE}, and \code{fix = TRUE} forces a positive semi-definite result if necessary. The \code{cluster} argument allows to specify a variable indicating the cluster/group/id variable while \code{order.by} specifies the time variable. If only one of the two variables is provided, then it is assumed that observations are ordered within the other variable. And if neither is provided, only one cluster is used for all observations resulting in the standard \citep{hac:Newey+West:1987} estimator. Finally, \code{cluster} can also be a list with both variables: the cluster/group/id and the time/ordering variable, respectively. The weights in the panel sandwich covariance are set up by means of a \code{kernel} function along with a bandwidth \code{bw} or the corresponding \code{lag}. All kernels described in \cite{hac:Andrews:1991} and implemented in \code{vcovHAC()} by \cite{hac:Zeileis:2004} are available, namely truncated, Bartlett, Parzen, Tukey-Hanning, and quadratic spectral. For the default case of the Bartlett kernel, the bandwidth \code{bw} corresponds to \code{lag + 1} and only one of the two arguments should be specified. The \code{lag} argument can either be an integer or one of three character specifications: \code{"max"}, \code{"NW1987"}, or \code{"NW1994"}). \code{"max"} (or equivalently, \code{"P2009"} for \citealp{hac:Petersen:2009}) indicates the maximum lag length $T - 1$, i.e., the number of time periods minus one. \code{"NW1987"} corresponds to \cite{hac:Newey+West:1987}, who have shown that their estimator is consistent if the number of lags increases with time periods $T$, but with speed less than $T^{1/4}$ \citep[see also][]{hac:Hoechle:2007}. \code{"NW1994"} sets the lag length to $\mathrm{floor}[4 \cdot (\frac{T}{100})^{2/9}]$ \citep{hac:Newey+West:1994}. The \code{adjust} argument allows to make a finite sample adjustment, which amounts to multiplication with $n/(n - k)$, where $n$ is the number of observations, and $k$ is the number of estimated parameters. \subsection{Panel-corrected covariance} Panel-corrected covariances and panel-corrected standard errors (PCSE) a la \cite{hac:Beck+Katz:1995} are implemented in \begin{verbatim} vcovPC(x, cluster = NULL, order.by = NULL, pairwise = FALSE, sandwich = TRUE, fix = FALSE, ...) \end{verbatim} based on \begin{verbatim} meatPC(x, cluster = NULL, order.by = NULL, pairwise = FALSE, kronecker = FALSE, ...) \end{verbatim} They are usually used for panel data or time-series-cross-section (TSCS) data with a large enough time dimension. The arguments \code{sandwich}, \code{fix}, \code{cluster}, and \code{order.by} have the same meaning as in \code{vcovCL()} and \code{vcovPL()}. While estimation in balanced panels is straightforward, there are two alternatives to estimate the meat for unbalanced panels \citep{hac:Bailey+Katz:2011}. For \code{pairwise = TRUE}, a pairwise balanced sample is employed, whereas for \code{pairwise = FALSE}, the largest balanced subset of the panel is used. For details, see \cite{hac:Bailey+Katz:2011}. The argument \code{kronecker} relates to estimation of the meat and determines whether calculations are executed with the Kronecker product or elementwise. The former is typically computationally faster in moderately large data sets while the latter is less memory-intensive so that it can be applied to larger numbers of observations. \section{Illustrations} \label{sec:illu} The main motivation for the new object-oriented implementation of clustered covariances in \pkg{sandwich} was the applicability to models beyond \code{lm()} or \code{glm()}. Specifically when working on \cite{hac:Berger+Stocker+Zeileis:2017} -- an extended replication of \cite{hac:Aghion+VanReenen+Zingales:2013} -- clustered covariances for negative binomial hurdle models were needed to confirm reproducibility. After doing this ``by hand'' in \cite{hac:Berger+Stocker+Zeileis:2017}, we show in Section~\ref{ex-aghion} how the same results can now conveniently obtained with the new general \code{vcovCL()} framework. Furthermore, to show that the new \pkg{sandwich} package can also replicate the classic linear regression results that are currently scattered over various packages, the benchmark data from \cite{hac:Petersen:2009} is considered in Section~\ref{ex-petersen}. This focuses on linear regression with model errors that are correlated within clusters. Section~\ref{ex-petersen} replicates a variety of clustered covariances from the \proglang{R} packages \pkg{multiwayvcov}, \pkg{plm}, \pkg{geepack}, and \pkg{pcse}. More specifically, one- and two-way clustered standard errors from \pkg{multiwayvcov} are replicated with \code{vcovCL()}. Furthermore, one-way clustered standard errors from \pkg{plm} and \pkg{geepack} can also be obtained by \code{vcovCL()}. The Driscoll and Kraay standard errors from \pkg{plm}'s \code{vcovSCC()} can also be computed with the new \code{vcovPL()}. Finally, panel-corrected standard errors can be estimated by function \code{vcovPC()} from \pkg{pcse} and are benchmarked against the new \code{vcovPC()} from \pkg{sandwich}. \subsection[Aghion et al. (2013) and Berger et al. (2017)]{\cite{hac:Aghion+VanReenen+Zingales:2013} and \cite{hac:Berger+Stocker+Zeileis:2017}} \label{ex-aghion} \cite{hac:Aghion+VanReenen+Zingales:2013} investigate the effect of institutional owners (these are, for example, pension funds, insurance companies, etc.) on innovation. The authors use firm-level panel data on innovation and institutional ownership from 1991 to 1999 over 803 firms, with the data clustered at company as well as industry level. To capture the differing value of patents, citation-weighted patent counts are used as a proxy for innovation, whereby the authors weight the patents by the number of future citations. This motivates the use of count data models. \cite{hac:Aghion+VanReenen+Zingales:2013} mostly employ Poisson and negative binomial models in a quasi-maximum likelihood approach and cluster standard errors by either companies or industries. \cite{hac:Berger+Stocker+Zeileis:2017} argue that zero responses should be treated separately both for statistical and economic reasons, as there is a difference in determinants of ``first innovation'' and ``continuing innovation''. Therefore, they employ two-part hurdle models with a binary part that models the decision to innovate at all, and a count part that models ongoing innovation, respectively. A basic negative binomial hurdle model is fitted with the \code{hurdle} function from the \pkg{pscl} package \citep{hac:Zeileis+Kleiber+Jackman:2008} using the \cite{hac:Aghion+VanReenen+Zingales:2013} data provided in the \pkg{sandwich} package. <>= data("InstInnovation", package = "sandwich") library("pscl") h_innov <- hurdle( cites ~ institutions + log(capital/employment) + log(sales), data = InstInnovation, dist = "negbin") @ The partial Wald tests for all coefficients based on clustered standard errors can be obtained by using \code{coeftest()} from \pkg{lmtest} \citep{hac:Zeileis+Hothorn:2002} and setting \code{vcov = vcovCL} and providing the company-level clustering (with a total of 803 clusters) via \code{cluster = InstInnovation$company}. <>= library("sandwich") library("lmtest") coeftest(h_innov, vcov = vcovCL, cluster = InstInnovation$company) @ This shows that institutional owners are have a small but positive impact in both submodels but that only the coefficient in the zero hurdle is significant. Below, the need for clustering is brought out through a comparison of clustered standard errors with ``standard'' standard errors and basic (cross-section) sandwich standard errors. As an additional reference, a simple clustered bootstrap covariance can be computed by \code{vcovBS()} (by default with \code{R = 250} bootstrap samples). <>= set.seed(0) vc <- list( "standard" = vcov(h_innov), "basic" = sandwich(h_innov), "CL-1" = vcovCL(h_innov, cluster = InstInnovation$company), "boot" = vcovBS(h_innov, cluster = InstInnovation$company) ) se <- function(vcov) sapply(vcov, function(x) sqrt(diag(x))) se(vc) @ <>= se(vc_innov) @ This clearly shows that the usual standard errors greatly overstate the precision of the estimators and the basic sandwich covariance are able to improve but not fully remedy the situation. The clustered standard errors are scaled up by factors between about $1.5$ and $2$, even compared to the basic sandwich standard errors. Moreover, the clustered and bootstrap covariances agree very well -- thus highlighting the need for clustering -- with \code{vcovBS()} being computationally much more demanding than \code{vcovCL()} due to the resampling. \subsection[Petersen (2009)]{\cite{hac:Petersen:2009}} \label{ex-petersen} \cite{hac:Petersen:2009} provides simulated benchmark data (\url{http://www.kellogg.northwestern.edu/faculty/petersen/htm/papers/se/test_data.txt}) for assessing clustered standard error estimates in the linear regression model. This data set contains a dependent variable \code{y} and regressor \code{x} for 500 \code{firm}s over 10 \code{year}s. It is frequently used in illustrations of clustered covariances \citep[e.g., in \pkg{multiwayvcov}, see][]{hac:Graham+Arai+Hagstroemer:2016} and is also available in \pkg{sandwich}. The corresponding linear model is fitted with \code{lm()}. <>= data("PetersenCL", package = "sandwich") p_lm <- lm(y ~ x, data = PetersenCL) @ \subsubsection{One-way clustered standard errors} One-way clustered covariances for linear regression models are available in a number of different \proglang{R} packages. The implementations differ mainly in two aspects: (1) Whether a simple ``\code{lm}'' object can be supplied or (re-)estimation of a dedicated model object is necessary. (2) Which kind of bias adjustment is done by default (HC type and/or cluster adjustment). The function \code{cluster.vcov()} from \pkg{multiwayvcov} (whose implementation strategy \code{vcovCL()} follows) can use ``\code{lm}'' objects directly and then applies both the HC1 and cluster adjustment by default. In contrast, \pkg{plm} and \pkg{geepack} both require re-estimation of the model and then employ HC0 without cluster adjustment by default. In \pkg{plm}, a pooling model needs to be estimated with \code{plm()} and in \pkg{geepack} an independence working model needs to be fitted with \code{geeglm()}. The \pkg{multiwayvcov} results can be replicated as follows. <>= library("multiwayvcov") se(list( "sandwich" = vcovCL(p_lm, cluster = PetersenCL$firm), "multiwayvcov" = cluster.vcov(p_lm, cluster = PetersenCL$firm) )) @ And the \pkg{plm} and \pkg{geepack} results can be replicated with the following code. (Note that \pkg{geepack} does not provide a \code{vcov()} method for ``\code{geeglm}'' objects, hence the necessary code is included below.) <>= library("plm") p_plm <- plm(y ~ x, data = PetersenCL, model = "pooling", indexes = c("firmid", "year")) library("geepack") vcov.geeglm <- function(object) { vc <- object$geese$vbeta rownames(vc) <- colnames(vc) <- names(coef(object)) return(vc) } p_gee <- geeglm(y ~ x, data = PetersenCL, id = PetersenCL$firm, corstr = "independence", family = gaussian) se(list( "sandwich" = vcovCL(p_lm, cluster = PetersenCL$firm, cadjust = FALSE, type = "HC0"), "plm" = vcovHC(p_plm, cluster = "group"), "geepack" = vcov(p_gee) )) @ \subsubsection{Two-way clustered standard errors} It would also be feasible to cluster the covariances with respect to both dimensions, \code{firm} and \code{year}, yielding similar but slightly larger standard errors. Again, \code{vcovCL()} from \pkg{sandwich} can replicate the results of \code{cluster.vcov()} from \pkg{multiwayvcov}. Only the default for the correction proposed by \cite{hac:Ma:2014} is different. <>= se(list( "sandwich" = vcovCL(p_lm, cluster = PetersenCL[, 1:2], multi0 = TRUE), "multiwayvcov" = cluster.vcov(p_lm, cluster = PetersenCL[, 1:2]) )) @ However, note that the results should be regarded with caution as cluster dimension \code{year} has a total of only 10 cluster. It is required by theory that each cluster dimension has many clusters \citep{hac:Petersen:2009,hac:Cameron+Gelbach+Miller:2011,hac:Cameron+Miller:2015}. \subsubsection{Driscoll and Kraay standard errors} The Driscoll and Kraay standard errors for panel data are available in \code{vcovSCC()} from \pkg{plm}, defaulting to a HC0-type adjustment. In \pkg{sandwich} the \code{vcovPL()} function can be used for replication, setting \code{adjust = FALSE} to match the HC0 (rather than HC1) adjustment. <>= se(list( "sandwich" = vcovPL(p_lm, cluster = PetersenCL$firm, adjust = FALSE), "plm" = vcovSCC(p_plm) )) @ \subsubsection{Panel-corrected standard errors} Panel-corrected covariance a la Beck and Katz are implemented in the package \pkg{pcse} -- providing the function that is also named \code{vcovPC()} -- which can handle both balanced and unbalanced panels. For the balanced Petersen data the two \code{vcovPC()} functions from \pkg{sandwich} and \pkg{pcse} agree. <>= library("pcse") se(list( "sandwich" = sandwich::vcovPC(p_lm, cluster = PetersenCL$firm, order.by = PetersenCL$year), "pcse" = pcse::vcovPC(p_lm, groupN = PetersenCL$firm, groupT = PetersenCL$year) )) @ And also when omitting the last year for the first firm to obtain an unbalanced panel, the \pkg{pcse} results can be replicated. Both strategies for balancing the panel internally (pairwise vs.\ casewise) are illustrated in the following. <>= PU <- subset(PetersenCL, !(firm == 1 & year == 10)) pu_lm <- lm(y ~ x, data = PU) @ and again, panel-corrected standard errors from \pkg{sandwich} are equivalent to those from \pkg{pcse}. <>= se(list( "sandwichT" = sandwich::vcovPC(pu_lm, cluster = PU$firm, order.by = PU$year, pairwise = TRUE), "pcseT" = pcse::vcovPC(pu_lm, PU$firm, PU$year, pairwise = TRUE), "sandwichF" = sandwich::vcovPC(pu_lm, cluster = PU$firm, order.by = PU$year, pairwise = FALSE), "pcseF" = pcse::vcovPC(pu_lm, PU$firm, PU$year, pairwise = FALSE) )) @ \section{Simulation} \label{sec:simulation} For a more systematic analysis, a Monte Carlo simulation is carried out to assess the performance of clustered covariances beyond linear and generalized linear models. For the linear model, there is a number of simulation studies in the literature \citep[including][]{hac:Cameron+Gelbach+Miller:2008, hac:Arceneaux+Nickerson:2009,hac:Petersen:2009,hac:Cameron+Gelbach+Miller:2011, hac:Harden:2011,hac:Thompson:2011,hac:Cameron+Miller:2015,hac:Jin:2015}, far less for generalized linear models \citep[see for example][]{hac:Miglioretti+Heagerty:2007} and, up to our knowledge, no larger systematic comparisons for models beyond. Therefore, we try to fill this gap by starting out with simulations of (generalized) linear models similar to the ones mentioned above and then moving on to other types of maximum likelihood regression models. \subsection{Simulation design} The main focus of the simulation is to assess the performance of clustered covariances (and related methods) at varying degrees of correlation within the clusters. The two most important parameters to control for this are the cluster correlation $\rho$, obviously, and the number of clusters $G$ as bias decreases with increasing number of clusters \citep{hac:Green+Vavreck:2008,hac:Arceneaux+Nickerson:2009,hac:Harden:2011}. More specifically, the cluster correlation varies from $0$ to $0.9$ and the number of clusters $G$ ranges from $10$ to $50, 100, \dots, 250$. In a first step, only balanced clusters with a low number of observations per cluster ($5$) are considered. All models are specified through linear predictors (with up to three regressors) but with different response distributions. A Gaussian copula is employed to introduce the cluster correlation for the different response distributions. The methods considered are the different clustered covariances implemented in \pkg{sandwich} as well as competing methods such as basic sandwich covariances (without clustering), mixed-effects models with a random intercept, or generalized estimating equations with an exchangeable correlation structure. \subsubsection{Linear predictor} Following \cite{hac:Harden:2011} the linear predictor considered for the simulation is composed of three regressors that are either \emph{correlated} with the clustering, \emph{clustered}, or \emph{uncorrelated}. The model equation is given by \begin{eqnarray} \label{eq:predictor} h(\mu_{ig}) = \beta_{0} + \beta_{1} \cdot x_{1,ig} + \beta_{2} \cdot x_{2,g} + \beta_{3} \cdot x_{3,ig}, \end{eqnarray} where $\mu_{ig}$ is the expectation of the response for observation $i$ within cluster $g$ and the link function $h(\cdot)$ depends on the model type. The regressor variables are all drawn from standard normal distributions but at different levels (cluster vs.\ individual observation). \begin{eqnarray} \label{eq:regressors} x_{1,ig} & \sim & \rho_{x} \cdot \mathcal{N}_{g}(0, 1) + (1 - \rho_{x}) \cdot \mathcal{N}_{ig}(0, 1) \label{x1} \\ x_{2,g} & \sim & \mathcal{N}_{g}(0, 1) \label{x2} \\ x_{3,ig} & \sim & \mathcal{N}_{ig}(0, 1) \label{x3} \end{eqnarray} Regressor $x_{1,ig}$ is composed of a linear combination of a random draw at cluster level ($\mathcal{N}_{g}$) and a random draw at individual level ($\mathcal{N}_{ig}$) while regressors $x_{2,g}$ and $x_{3,ig}$ are drawn only at cluster and individual level, respectively. Emphasis is given to the investigation of regressor $x_{1,ig}$ with correlation (default: $\rho_{x} = 0.25$) which is probably the most common in practice. Furthermore, by considering the extremes $\rho_{x} = 1$ and $\rho_{x} = 0$ the properties of $x_{1,ig}$ coincide with those of $x_{2,g}$ and $x_{3,ig}$, respectively. The vector of coefficients is fixed to either one of \begin{eqnarray} \label{eq:coefs} \beta_{1} & = & (0, 0.85, 0.5, 0.7)^\top \label{beta1} \\ \beta_{2} & = & (0, 0.85, 0, 0)^\top \label{beta2} \end{eqnarray} which have been selected based on \cite{hac:Harden:2011}. \subsubsection{Response distributions} The response distributions encompass Gaussian (\code{gaussian}, with identity link) as the standard classical scenario as well as binary (\code{binomial}, with a size of one and a logit link) and Poisson (\code{poisson}, with log link) from the GLM exponential family. To move beyond the GLM, we also consider the beta (\code{betareg}, with logit link and fixed precision parameter $\phi = 10$), zero-truncated Poisson(\code{zerotrunc}, with log link), and zero-inflated Poisson (\code{zeroinfl}, with log link and fixed inflation probability $\pi = 0.3$) distributions. \subsubsection{Sandwich covariances} The types of covariances being compared include ``standard'' covariances (\code{standard}, without considering any heteroscedasticity or clustering/correlations), basic sandwich covariances (\code{basic}, without clustering), Driscoll and Kraay panel covariances ({PL}), Beck and Katz panel-corrected covariances ({PC}), and clustered covariances with HC0--HC3 adjustment ({CL-0}--{CL-3}). As further references, covariances from a clustered bootstrap ({BS}), a mixed-effects model with random intercept ({random}), and from a GEE with exchangeable correlation structure ({gee}) are assessed. \subsubsection{Outcome measure} In order to assess the validity of statistical inference based on clustered covariances, the empirical coverage rate of the 95\% Wald confidence intervals (from 10,000 replications) is the outcome measure of interest. If standard errors are estimated accurately, the empirical coverage should match the nominal rate of $0.95$. And empirical coverages falling short of $0.95$ are typically due to underestimated standard errors and would lead to inflated type~I errors in partial Wald tests of the coefficients. \subsubsection{Simulation code} \begin{table}[t!] \centering \begin{tabular}{llll} \hline Label & Model & Object & Variance-covariance matrix \\ \hline CL-0 & (\code{g})\code{lm} & \code{m} & \code{vcovCL(m, cluster = id, type = "HC0")} \\ CL-1 & (\code{g})\code{lm} & \code{m} & \code{vcovCL(m, cluster = id, type = "HC1")} \\ CL-2 & (\code{g})\code{lm} & \code{m} & \code{vcovCL(m, cluster = id, type = "HC2")} \\ CL-3 & (\code{g})\code{lm} & \code{m} & \code{vcovCL(m, cluster = id, type = "HC3")} \\ PL & (\code{g})\code{lm} & \code{m} & \code{vcovPL(m, cluster = id, adjust = FALSE)} \\ PC & (\code{g})\code{lm} & \code{m} & \code{vcovPC(m, cluster = id, order.by = round)} \\ \hline standard & (\code{g})\code{lm} & \code{m} & \code{vcov(m)} \\ basic & (\code{g})\code{lm} & \code{m} & \code{sandwich(m)} \\ \hline random & (\code{g})\code{lmer} & \code{m_re} & \code{vcov(m_re)} \\ gee & \code{geeglm} & \code{m_gee} & \code{m_gee\$geese\$vbeta} \\ \hline \end{tabular} \caption{Covariance matrices for responses from the exponential family in `\code{sim-CL.R}'. \label{tab:vcov}} \end{table} The supplementary \proglang{R} script `\code{sim-CL.R}' comprises the simulation code for the data generating process described above and includes functions \code{dgp()}, \code{fit()}, and \code{sim()}. While \code{dgp()} specifies the data generating process and generates a data frame with (up to) three regressors \code{x1}, \code{x2}, \code{x3} as well as cluster dimensions \code{id} and \code{round}. \code{fit()} is responsible for the model estimation as well as computation of the covariance matrix estimate and the empirical coverage. The function \code{sim()} sets up all factorial combinations of the specified scenarios and loops over the fits for each scenario (using multiple cores for parallelization). Table~\ref{tab:vcov} shows exemplarily how the different types of covariances are calculated for responses from the exponential family. A pooled or marginal model (\code{m}), a random effects model (\code{m_re}, using \pkg{lme4}, \citealp{hac:Bates+Machler+Bolker:2015}), and a GEE with an exchangeable correlation structure (\code{m_gee}, using \pkg{geepack}, \citealp{hac:Halekoh+Hojsgaard+Yan:2002}) are fitted. For the other (non-GLM) responses, the functions \code{betareg()} (from \pkg{betareg}, \citealp{hac:Cribari-Neto+Zeileis:2010}), \code{zerotrunc()} (from \pkg{countreg}, \citealp{hac:Zeileis+Kleiber:2017}), and \code{zeroinfl()} (from \pkg{pscl}/\pkg{countreg}, \citealp{hac:Zeileis+Kleiber+Jackman:2008}) are used. \subsection{Results} Based on the design discussed above, the simulation study investigates the performance of clustered covariances for the following settings. % \begin{itemize} \item Experiment I: Different types of regressors for a Gaussian response distribution. \item Experiment II: Different GLM response distributions. \item Experiment III: Response distributions beyond the GLM. \item Experiment IV: GLMs with HC0--HC3 bias corrections. \end{itemize} \pagebreak \subsubsection{Experiment I} \setkeys{Gin}{width=\textwidth} \begin{figure}[t!] <>= my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s01$vcov <- factor(s01$vcov, levels(s01$vcov)[c(2,4,3,1,8,5,7,6)]) my.settings[["superpose.line"]]$col <- c("#377eb8", "green","#006400", "#000080", "#ff7f00", "#f781bf", "#984ea3", "#e41a1c") my.settings[["superpose.symbol"]]$col <- c("#377eb8", "green","#006400", "#000080", "#ff7f00", "#f781bf", "#984ea3", "#e41a1c") my.settings[["superpose.symbol"]]$pch <- c(rep(1,4), rep(2,2), rep(3,2)) xyplot(coverage ~ rho | par, groups = ~ factor(vcov), data = s01, subset = par != "(Intercept)", ylim = c(0.1, 1), type = "b", xlab = expression(rho), ylab = "Empirical coverage", auto.key = list(columns = 3), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) @ \caption{Experiment I. Gaussian response with $G = 100$ (balanced) clusters of $5$ observations each. Regressor \code{x1} is correlated ($\rho_x = 0.25$), \code{x2} clustered, and \code{x3} uncorrelated. The coverage (from 10,000 replications) is plotted on the $y$-axis against the cluster correlation $\rho$ on the $x$-axis. The horizontal reference line indicates the nominal coverage of $0.95$.} \label{fig:sim-01} \end{figure} Figure~\ref{fig:sim-01} shows the results from Experiment~I and plots the empirical coverage probabilities (from 10,000 replications) on the $y$-axis for the coefficients of the correlated regressor \code{x1}, the clustered regressor \code{x2}, and the uncorrelated regressor \code{x3} against the cluster correlation $\rho$ on the $y$-axis. While for the uncorrelated regressor \code{x3} all methods -- except the Driscoll and Kraay PL estimator -- perform well and yield satisfactory coverage rates, the picture is different for the correlated and clustered regressors \code{x1} and \code{x2}. With increasing cluster correlation $\rho$ the performance of those methods deteriorate that either do not account for the clustering at all (i.e., ``standard'' covariance and basic sandwich covariance) or that treat the data as panel data (i.e., PL and PC). The reason for the poor performance of the panel data covariances is the low number of $5$~observations per cluster. This has already been documented in the literature: In a Monte-Carlo study, \cite{hac:Driscoll+Kraay:1998} use a minimum of 20--25 observations per cluster and \cite{hac:Hoechle:2007} notes that the PC estimator can be quite imprecise if the crosss-sectional dimension is large compared to the time dimension. As shown in Appendix~\ref{app:ar1}, the performance improves if an exponentially decaying AR(1) correlation structure is employed instead of the exchangeable structure and if the number of observations per cluster increases. As the effects of regressor \code{x1} are in between the effects of the clustered regressor \code{x2} and the uncorrelated regressor \code{x3}, the following simulation experiments focus on the situation with a single correlated regressor \code{x1}. \subsubsection{Experiment II} \begin{figure}[t!] <>= my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s02$dist <- factor(as.character(s02$dist), levels = c("gaussian", "binomial(logit)", "poisson")) s02$vcov <- factor(s02$vcov, levels(s02$vcov)[c(2,4,3,1,8,5,7,6)]) my.settings[["superpose.line"]]$col <- c("#377eb8", "green","#006400", "#000080", "#ff7f00", "#f781bf", "#984ea3", "#e41a1c") my.settings[["superpose.symbol"]]$col <- c("#377eb8", "green","#006400", "#000080", "#ff7f00", "#f781bf", "#984ea3", "#e41a1c") my.settings[["superpose.symbol"]]$pch <- c(rep(1,4), rep(2,2), rep(3,2)) xyplot(coverage ~ rho | dist, groups = ~ factor(vcov), data = s02, subset = par != "(Intercept)", ylim = c(0.5, 1), type = "b", xlab = expression(rho), ylab = "Empirical coverage", auto.key = list(columns = 3), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) @ \caption{Experiment II. Exponential family response distributions with $G = 100$ (balanced) clusters of $5$ observations each. The only regressor \code{x1} is correlated ($\rho_x = 0.25$). The coverage (from 10,000 replications) is plotted on the $y$-axis against the cluster correlation $\rho$ (from a Gaussian copula) on the $x$-axis. The horizontal reference line indicates the nominal coverage of $0.95$.} \label{fig:sim-02} \end{figure} Figure~\ref{fig:sim-02} illustrates the results from Experiment~II. The settings are mostly analogous to Experiment~I with two important differences: (1)~GLMs with Gaussian/binomial/Poisson response distribution are used. (2)~There is only one regressor (\code{x1}, correlated with $\rho_{x} = 0.25$). Overall, the results for binomial and Poisson response are very similar to the Gaussian case in Experiment~I. Thus, this confirms that clustered covariances also work well with GLMs. The only major difference between the linear Gaussian and nonlinear binomial/Poisson cases is the performance of the mixed-effects models with random intercept. While in linear models the marginal (or ``population-averaged'') approach employed with clustered covariances leads to analogous models compared to mixed-effects models, this is not the case in nonlinear models. With nonlinear links, mixed-effects models correspond to ``conditional'' rather than ``marginal'' models and for obtaining marginal expectations the random effects have to be integrated out \citep[see][]{hac:Molenberghs+Kenward+Verbeke+Iddi+Efendi:2013,hac:Fitzmaurice:2014}. Consequently, fixed effects have to be interpreted differently and their confidence intervals do not contain the population-averaged effects, thus leading to the results in Experiment~II. \subsubsection{Experiment III} \begin{figure}[t!] <>= s33 <- na.omit(s33) my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s33$vcov <- factor(s33$vcov, levels(s33$vcov)[c(2,1,4,3)]) my.settings[["superpose.line"]]$col <- c("#377eb8", "#000080", "#ff7f00", "#f781bf") my.settings[["superpose.symbol"]]$col <- c("#377eb8", "#000080", "#ff7f00", "#f781bf") my.settings[["superpose.symbol"]]$pch <- c(rep(1,2), rep(2,2)) xyplot(coverage ~ rho | dist, groups = ~ factor(vcov), data = s33, subset = par == "x1", ylim = c(0.8, 1), type = "b", xlab = expression(rho), ylab = "Empirical coverage", auto.key = list(columns = 2), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) @ \caption{Experiment III. Response distributions beyond the GLM (beta regression, zero-truncated Poisson, and zero-inflated Poisson) with $G = 100$ (balanced) clusters of $5$ observations each. The only regressor \code{x1} is correlated ($\rho_x = 0.25$). The coverage (from 10,000 replications) is plotted on the $y$-axis against the cluster correlation $\rho$ (from a Gaussian copula) on the $x$-axis. The horizontal reference line indicates the nominal coverage of $0.95$.} \label{fig:sim-03} \end{figure} Figure~\ref{fig:sim-03} shows the outcome of Experiment~III whose settings are similar to the previous Experiment~I. But now more general response distributions beyond the classic GLM framework are employed, revealing that the clustered covariances from \code{vcovCL()} indeed also work well in this setup. Again, the performance of the non-clustered covariances deteriorates with increasing cluster correlation. For the zero-truncated and zero-inflated Poisson distribution the empirical coverage rate is slightly lower than $0.95$. However, given that this does not depend on the extent of the correlation $\rho$ this is more likely due to the quality of the normal approximation in the Wald confidence interval. The clustered bootstrap covariance (BS) performs similarly to the clustered HC0 covariance but is computationally much more demanding due to the need for resampling and refitting the model (here with \code{R = 250} bootstrap samples). \subsubsection{Experiment IV} \begin{figure}[t!] <>= my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s04$dist <- factor(as.character(s04$dist), c("gaussian", "binomial(logit)", "poisson")) my.settings[["superpose.line"]]$col <- c("#377eb8", "#00E5EE", "#e41a1c", "#4daf4a") my.settings[["superpose.symbol"]]$col <- c("#377eb8", "#00E5EE","#e41a1c", "#4daf4a") xyplot(coverage ~ nid | dist, groups = ~ factor(vcov), data = na.omit(s04), subset = par != "(Intercept)", type = "b", xlab = "G", ylab = "Empirical coverage", auto.key = list(columns = 2), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) @ \caption{Experiment IV. Exponential family response distributions with cluster correlation $\rho = 0.25$ (from a Gaussian copula). The only regressor \code{x1} is correlated ($\rho_x = 0.25$). The coverage (from 10,000 replications) on the $y$-axis for different types of bias adjustment (HC0--HC3) is plotted against the number of clusters $G$ on the $x$-axis. The number of clusters increases with $G = 10, 50, \dots, 250$ while the number of observations per cluster is fixed at~$5$. The horizontal reference line indicates the nominal coverage of $0.95$.} \label{fig:sim-04} \end{figure} Figure~\ref{fig:sim-04} depicts the findings of Experiment~IV. The $y$-axis represents again the empirical coverage from 10,000 replications, but in contrast to the other simulation experiments, the number of clusters $G$ is plotted on the $x$-axis, ranging from 10 to 250 clusters. Gaussian, binomial and Poisson responses are compared with each other, with the focus on clustered standard errors with HC0--HC3 types of bias correction. (Recall that HC2 and HC3 require blockwise components of the full hat matrix and hence are at the moment only available for \code{lm()} and \code{glm()} fits, see Section~\ref{sec:vcovcl}.) In most cases, all of the standard errors are underestimated for $G = 10$ clusters (except clustered standard errors with HC3 bias correction for the binomial and Poisson response). As found in previous studies for clustered HC0/HC1 covariances \citep[][among others]{hac:Arceneaux+Nickerson:2009,hac:Petersen:2009,hac:Harden:2011,hac:Cameron+Miller:2015}, the larger the number of clusters $G$, the better the coverage and the less standard errors are underestimated. It can be observed that in our study about 50--100 clusters are enough for sufficiently accurate coverage rates. Additionally, it can be observed that the higher the number of clusters, the less the different types of HC bias correction differ. However, for a small number of clusters, the HC3 correction works best, followed by HC2, HC1 and HC0. This is also consistent with the findings for cross-sectional data, e.g., \cite{hac:Long+Ervin:2000} suggest to use HC3 in the linear model for small samples with less than 250 observations. \section{Summary} While previous versions of the \pkg{sandwich} package already provided a flexible object-oriented implementation of covariances for cross-section and time series data, the corresponding functions for clustered and panel data have only been added recently (in version 2.4-0 of the package). Compared to previous implementations in \proglang{R} that were somewhat scattered over several packages, the implementation in \pkg{sandwich} offers a wide range of ``flavors'' of clustered covariances and, most importantly, is applicable to any model object that provides methods to extract the \code{estfun()} (estimating functions; observed score matrix) and \code{bread()} (inverse Hessian). Therefore, it is possible to apply the new functions \code{vcovCL()}, \code{vcovPL()}, and \code{vcovPC()} to models beyond linear regression. A thorough Monte Carlo assesses the performance of these functions in regressions beyond the standard linear Gaussian scenario, e.g., for exponential family distributions and beyond and for the less frequently used HC2 and HC3 adjustments. This shows that clustered covariances work reasonably well in the models investigated but some care is needed when applying panel estimators (\code{vcovPL()} and \code{vcovPC()}) in panel data with ``short'' panels and/or non-decaying autocorrelations. \section*{Computational details} The packages \pkg{sandwich}, \pkg{countreg}, \pkg{geepack}, \pkg{lattice}, \pkg{lme4}, \pkg{lmtest}, \pkg{multiwayvcov}, \pkg{plm} and \pkg{pscl} are required for the applications in this paper. For replication of the simulation study, the supplementary \proglang{R} script \code{sim-CL.R} is provided along with the corresponding results \code{sim-CL.rda}. \proglang{R} version \Sexpr{paste(R.Version()[6:7], collapse = ".")} has been used for computations. Package versions that have been employed are \pkg{sandwich} \Sexpr{gsub("-", "--", packageDescription("sandwich")$Version)}, \pkg{countreg} 0.2--0, \pkg{geepack} \Sexpr{gsub("-", "--", packageDescription("geepack")$Version)}, \pkg{lattice} \Sexpr{gsub("-", "--", packageDescription("lattice")$Version)}, \pkg{lme4} \Sexpr{gsub("-", "--", packageDescription("lme4")$Version)}, \pkg{lmtest} \Sexpr{gsub("-", "--", packageDescription("lmtest")$Version)}, \pkg{multiwayvcov} \Sexpr{gsub("-", "--", packageDescription("multiwayvcov")$Version)}, \pkg{plm} \Sexpr{gsub("-", "--", packageDescription("plm")$Version)}, and \pkg{pscl} \Sexpr{gsub("-", "--", packageDescription("pscl")$Version)} have been used. \proglang{R} itself and all packages (except \pkg{countreg}) used are available from CRAN at \url{https://CRAN.R-project.org/}. \pkg{countreg} is available from \proglang{R}-Forge at \url{https://R-Forge.R-project.org/projects/countreg/}. \section*{Acknowledgments} The authors are grateful to Keith Goldfeld (NYU School of Medicine) for providing insights and references regarding the differences of conditional and marginal models for clustered data. \bibliography{hac} \newpage \begin{appendix} \section{Simulation results for panel data with AR(1) correlations} \label{app:ar1} \begin{figure}[b!] <>= my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s0607$vcov <- factor(s0607$vcov, levels(s0607$vcov)[c(1,3,2)]) my.settings[["superpose.line"]]$col <- c("#377eb8","green", "#006400") my.settings[["superpose.symbol"]]$col <- c("#377eb8","green", "#006400") xyplot(coverage ~ nround | factor(par) + factor(copula), groups = ~ factor(vcov), data = na.omit(s0607), subset = par != "(Intercept)", type = "b", xlab = "Observations per cluster", ylab = "Empirical coverage", auto.key = list(columns = 2), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) @ \caption{Supplementary simulation experiment. Gaussian response with $G = 100$ (balanced) clusters of $5$, $10$, $20$, or $50$ observations each. Regressor \code{x1} is correlated ($\rho_x = 0.25$), \code{x2} clustered, and \code{x3} uncorrelated. Either an exchangeable cluster correlation of $\rho = 0.25$ or an exponentially decaying AR(1) correlation structure with autoregressive coefficient $\rho = 0.25$ is used. The coverage (from 10,000 replications) is plotted on the $y$-axis against the number of observations per cluster on the $x$-axis. The horizontal reference line indicates the nominal coverage of $0.95$.} \label{fig:sim-0607} \end{figure} As observed in Figures~\ref{fig:sim-01}--\ref{fig:sim-02}, the estimators for panel covariances ({PL} and \code{PC}) have problems with the ``short'' panels of only 5~observations per cluster. To assess whether the estimators perform correctly in those situations they were designed for, we take a closer look at (a)~``longer'' panels (with up to $50$~observations per cluster), and (b)~an exponentially decaying autoregressive (AR) correlation structure of order~1 instead of an exchangeable correlation structure. Figure~\ref{fig:sim-0607} shows the results from a supplementary simulation experiment that is analogous to Experiment~I. The two differences are: (1)~The cluster correlation $\rho = 0.25$ is fixed and the number of observations per cluster is increased from $5$ up to $50$. (2)~Additionally, an AR(1) correlation structure is considered. Somewhat surprisingly, the standard clustered HC0 covariance performs satisfactorily in all scenarios and better than the panel estimators (PL and PC). The latter approach the desired coverage of $0.95$ when the panels become longer (i.e., the number of observations per cluster increases) and the correlation structure is AR(1). However, in case of an exchangeable correlation structure and correlated/clustered regressors, the coverage even decreases for longer panels. The reason for this is that the panel covariance estimators are based on the assumption that correlations are dying out, which is the case for an AR(1) structure, but not for an exchangeable correlation structure. Additionally, Figure~\ref{fig:sim-08} brings out that the AR(1) findings are not limited to the Gaussian case but can be confirmed for binomial and Poisson GLMs as well. \begin{figure}[t!] <>= my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s08$vcov <- factor(s08$vcov, levels(s08$vcov)[c(1,3,2)]) my.settings[["superpose.line"]]$col <- c("#377eb8","green", "#006400") my.settings[["superpose.symbol"]]$col <- c("#377eb8","green", "#006400") xyplot(coverage ~ nround | factor(par) + factor(dist), groups = ~ factor(vcov), data = na.omit(s08), subset = par != "(Intercept)", type = "b", xlab = "Observations per cluster", ylab = "Empirical coverage", auto.key = list(columns = 2), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) @ \caption{Supplementary simulation experiment. Poisson and binomial response with $G = 100$ (balanced) clusters of $5$, $10$, $20$, or $50$ observations each. Regressor \code{x1} is correlated ($\rho_x = 0.25$), \code{x2} clustered, and \code{x3} uncorrelated. An exponentially decaying AR(1) correlation structure with autoregressive coefficient $\rho = 0.25$ is used. The coverage (from 10,000 replications) is plotted on the $y$-axis against the number of observations per cluster on the $x$-axis. The horizontal reference line indicates the nominal coverage of $0.95$.} \label{fig:sim-08} \end{figure} \end{appendix} \end{document} sandwich/inst/doc/sandwich-OOP.R0000644000175400001440000000647413136164254016365 0ustar zeileisusers### R code from vignette source 'sandwich-OOP.Rnw' ################################################### ### code chunk number 1: preliminaries ################################################### library("AER") library("MASS") options(prompt = "R> ", continue = "+ ") ################################################### ### code chunk number 2: sandwich ################################################### par(mar = rep(0, 4)) plot(0, 0, xlim = c(0, 85), ylim = c(0, 110), type = "n", axes = FALSE, xlab = "", ylab = "") lgrey <- grey(0.88) dgrey <- grey(0.75) rect(45, 90, 70, 110, lwd = 2, col = dgrey) rect(20, 40, 40, 60, col = lgrey) rect(30, 40, 40, 60, col = dgrey) rect(20, 40, 40, 60, lwd = 2) rect(5, 0, 20, 20, lwd = 2, col = lgrey) rect(22.5, 0, 37.5, 20, lwd = 2, col = lgrey) rect(40, 0, 55, 20, lwd = 2, col = lgrey) rect(40, 0, 55, 20, lwd = 2, col = lgrey) rect(60, 0, 80, 20, col = lgrey) rect(70, 0, 80, 20, col = dgrey) rect(60, 0, 80, 20, lwd = 2) text(57.5, 100, "fitted model object\n(class: foo)") text(25, 50, "estfun") text(35, 50, "foo") text(12.5, 10, "meatHC") text(30, 10, "meatHAC") text(47.5, 10, "meat") text(65, 10, "bread") text(75, 10, "foo") arrows(57.5, 89, 70, 21, lwd = 1.5, length = 0.15, angle = 20) arrows(57.5, 89, 30, 61, lwd = 1.5, length = 0.15, angle = 20) arrows(30, 39, 30, 21, lwd = 1.5, length = 0.15, angle = 20) arrows(30, 39, 12.5, 21, lwd = 1.5, length = 0.15, angle = 20) arrows(30, 39, 47.5, 21, lwd = 1.5, length = 0.15, angle = 20) ################################################### ### code chunk number 3: dgp ################################################### set.seed(123) x <- rnorm(250) y <- rnbinom(250, mu = exp(1 + x), size = 1) ################################################### ### code chunk number 4: poisson ################################################### fm_pois <- glm(y ~ x + I(x^2), family = poisson) coeftest(fm_pois) ################################################### ### code chunk number 5: poisson-sandwich ################################################### coeftest(fm_pois, vcov = sandwich) ################################################### ### code chunk number 6: quasipoisson ################################################### fm_qpois <- glm(y ~ x + I(x^2), family = quasipoisson) coeftest(fm_qpois) ################################################### ### code chunk number 7: negbin ################################################### fm_nbin <- glm.nb(y ~ x + I(x^2)) coeftest(fm_nbin) ################################################### ### code chunk number 8: sandwich-OOP.Rnw:626-631 ################################################### library("AER") data("Affairs", package = "AER") fm_tobit <- tobit(affairs ~ age + yearsmarried + religiousness + occupation + rating, data = Affairs) fm_probit <- glm(I(affairs > 0) ~ age + yearsmarried + religiousness + occupation + rating, data = Affairs, family = binomial(link = "probit")) ################################################### ### code chunk number 9: sandwich-OOP.Rnw:638-640 ################################################### coeftest(fm_tobit) coeftest(fm_tobit, vcov = sandwich) ################################################### ### code chunk number 10: sandwich-OOP.Rnw:648-650 ################################################### coeftest(fm_probit) coeftest(fm_probit, vcov = sandwich) sandwich/inst/doc/sandwich.pdf0000644000175400001440000064233313136164264016303 0ustar zeileisusers%PDF-1.5 % 1 0 obj << /Type /ObjStm /Length 4647 /Filter /FlateDecode /N 92 /First 763 >> stream x\YwǶ~?ގY'yf1686$"d$nYdl8Vvy朗f̺,:ɰRŔ6)ɔ)Ŕqw(4L˄ej:S@gQy`&{dV{bFzƊӚ9mӆ924Kϴgx}`:1b2(t.FF`ipÂƲ`6$ơ^cVPX05,) -Kb2%09ϒ R {`Ra_%6MFr_L9 \GC\ʥV\&@z0aHL )CNT=)$LDV@na@6f*'AJ(B5g0) E@.a={~"A'$={mc.= G$= `%Fa =dCrD'pCտ~j9;,Y>/ǽ_ }sgۨr[mluOS{UztՆUg\:m<\GKuyUa ;@au:՞W Gl;֝~b`h\R'I5ч갃zs>t谗!mPyKѴ ]vYwpzvN~`}wpy  iot2Ga}6fk Uulϯq=q6ӭmL&[&x2{-1)*#BǘE|oRI=b#wVo^qM5]ʽ)m6EoyWI`L7=ux{W}5ZS+rhrAhp>bh1xTi}GO{u1FLOc}јp#Poj>N%޼z(ovFQ'҈gG}lCUs Ծ޴kſM5 U5!!3E f;YԔ8$(qsS db({%{ةZ2h ncAD,2F)EUwj靾 wi dWxx^/ktFUQh *L-\$H'!WJ1V e.!8 ZIV3&4Lrdݍפ3%F|L,_X:JK"$OCY%6rÐk2 ^ F'zՔes'kהt~ʣ.1JpΞVI l--x&vž8#; PTHG08'Z|=q*b J P HdXUby 'Y\eΐmBֽ19.[!eP|.>{)/:c>SwPn=M3;equ+} 7ū oc})oЄ"߻+=|Fx!|Ec8ɫx-)mt!Kѝzm" bۀ! ʐÇ=U2 1oB{$8ec+5ӤfN{7y ؄Φ1[JieNW[8S.77'n{"~Bx.v z/K:=wRQ݈kMbsO3q4n4Il=잟Fxv ‡u5F)QyF{KFO;!F!Ov, `V3GxN=x>Wroɨ:F'@3/ĨG3Xi?D3 LlZYJA۔6rܼʙ+kyEMhVT_~T>vrkĭ}\pKμ͖XLR0„;kYV "*AtJ uQ4kq^k9ljr)\0_(U9iҫWx̛гWw^=h+w|\Еvl[_?t5”ίS|Wq1AtGH]}*`*tĪtWKN-}ɫ;~ ٵZ ^ՙqʢܬ^&c&V޷tkμ}}mOrƶ˦uU.L3y'np| oenDayƙ%|p-?z2E;o97hٺRZb@QpA\֧:p+X'iB LVـ ):';s k΅r3\˳g3\;+R)nK|;J+eK*T^TR^q%(Rd(%umk|4U_X_`/L"0r+ʷ5&nƻhM:fRRuK)87IHMPMb[a.&\13e47M4-minKs[ۂ?[za n5&2✹nӍrN7Z[o .FZN-PE. &-7('TL<mrZ`+PQrZqV)yawIi)6 1F@%\&w o(VtdZ4ȧY˵Y]Ѭg[]rJzugzvu#6qZmK#l弞 iFua:! 뤾P6Y(T^ӷJ\$GP |T\q"[LR[((ԢRK<7 ފeCϪ $60i u,@eQ &I"_ xlR!o~(6NBlogmᱸճR32J#bivEN"y\ru%Ii姍[HVNِ$0k4 ˇ/(5)E{Lrp%_CCY=ͷ&(^>rb*[6\7w%lf63-U[JS2K4qj'Uvkt-j_ / lf/EN-zϚuӪ&8Fz^A].% B':tn"qI91mT*ںCXѵ*BhrmPpm*: "y^{]X b4#%QSFJ K p5mtc%pȼ䀵NIie@1 tZ%q3))Sqz|Lj%MH`qմ AV^'l&̻ ݓxi֚BPݒR(Z =8LHhIީBBzZ͢]*Htna2`y:{sIX$MGD)V%PY{)a-ܧGNt{xwɾ imy9zA;{ qmD^͵&N0e Hp ǩwZمU?Dg;)$Ҏ@tqc<ߩtzlv3 ځ_i 9 %]b 3Ha :i <̟?Fk(XMoj.)0 A C>j-978^yypy[;6b^(6IFb>,OZ￳mj}\}\7#ru[;㒭tlI|0訦KWO^T'n{'5Cz%ppW@#\Nޙ{t(-̜#_ə:K<ĚӮ9Za'c=endstream endobj 94 0 obj << /Subtype /XML /Type /Metadata /Length 1749 >> stream GPL Ghostscript 9.20 covariance matrix estimators, heteroskedasticity, autocorrelation, estimating functions, econometric computing, R 2017-07-26T21:08:35+02:00 2017-07-26T21:08:35+02:00 LaTeX with hyperref package Econometric Computing with HC and HAC Covariance Matrix EstimatorsAchim Zeileis endstream endobj 95 0 obj << /Type /ObjStm /Length 3851 /Filter /FlateDecode /N 92 /First 860 >> stream x\nG} R ly5v~TH:snuuM-@^}-'$KiY9Rb1hdJŔ;8ku\KifǴ1t3$]BNdhČshLIfrQjKJ3K :b2T`x9 (NLKZ2ơX6{Rc>9= u/ j. $d!*Q!F"2EXucR!^a -b TbIU,2f%HDC̒hdC68zF¡I ,y * SgvzJEV9qh9KM$gZDm6h5K>*By?=e;KƐ4#iJzq t0 Df@ *PUB$O?ayET8ߔ~Sa\L)r1E."[ڳ=[ڳ=[ڳa^tWN\INÕ~W\\/rE.Ҟ/Ҟ/Ҟ/^(E~q +$PJB_K?u.ԥ:eoCڧt\AZ2%4w%5x7. PkOggtߋ^sxcEArKgUFx:o(%!$"P=H*&N[8{8}"J=DjFNH"VV5&*ug>8<|%ΎI05;t GjYIwЫ6W)%_1:=^ְY\Us>۫|>[qDA͓.>k3dMpm:l{7{\Qn4v䋢2̻V,pA5=9m1Sx cZD?~ ' `!NTGW*fb:sq^-cq>ӹ ^Mb%>gELM(MN?y|oךX|5BIw{ӳʐVFO&3&gӣ[ wr fQ/Ww>{q~A`~㇬o0O(/b6etr~Y rDj>l%%QqMĚvfJ! G0'WRcupo˷j[.d]Q5/OlZM\|>-G/Y_#`r}nmX?\:DwvBd^>%cKm/ 7ˇ)tld:'?==Y=^Gbr<=ѕ'ht>;.&_'Vş[Ϊ d;Jvƫ[3uI#FR񛧏> ^t 55[N'֌q cV>ܮ_wz*:Gтڠw<,Y[#Qir&>LDz侉Kk᧭NU%Vb"pHH Bیi'ti1ʣA"d GoeS~Mf"Ӫ!lcRh? '~E_t`5^mc#GTQ]2&ҵ6Lc,uBw pxpE[s9gfa<&'sޥpogSf`jlmN{\̨֘J;rMu)H6bA|e۴^K`k0>I,GkMJ&9Ha?n:Ə܇>C߫pՖɃ5TL^\V>7rei*;/D?wP<O3\//ML{qT^pԯ"Nj&T$>SJiΤfS&Xlt$l Po"ˆAΟ$wi>:mk s=xq-%(5ͻ"k})džn}ccow(SGF=6]P 0֘m^e2j1yKP]Jڵl3P|L&%X8p )9-P4RL-(&>=`vQ!)< T17ڀ0 ˫in{n'EbB@}c(nʓG y*Cތִ;h6X}vG3Z^VVdvJ$| oZi95W˭~;(Me(K8P5 `@٤.M}zOj@yjl>؛ HЂʾKV; &$ж^F,[Gf3\Zud@KUڽwݐMʋ)G(u_ <: so }!~hu R 0WR0",\ֶ9rM1j=Iɯ=RN%< o- .Qk0 +GW,M;E5,gj}?Ybdzźu{SFy=oy38G nVpxUmoPendstream endobj 188 0 obj << /Type /ObjStm /Length 3277 /Filter /FlateDecode /N 92 /First 850 >> stream x[nG}߯]8vk'䬽䁑274TsNO2(aSsLUMrUcRQ7hI-K5NbaxY(܍.D >n+w|c b1 Tn^ڄ7nhCƆmcE;56G}'q&8AƅćsxIBh} < ů\774 ؄BDh&dQST|&i-wlsICl|%L$m1H$JQZMh͔rɊDYMdVlw|+59/Сə-{hZi 7VP`*(Oy؇44 xX^9`$ 533Zg@h0h~)  ӚЇ5&PhhnXZ6Rk q }8ŁJӴ0g9HKwHSwϡQ< _}'d>k~*Vivw1wGH;z4hcm|m|ύ|:1P8ս#_7O|fz0 Mד4ٌ;TBw0fOz'/cAE1C8<@ ʻ(LPpMP-"@A> B![06Pd*)C7{pTF;m91DMs> g`.uQs瀎n;V,l9ҦQ(<,C h! q0a!փªR v ,7 )3 X:pwwP6XYJ)B$lngu;f_Q_{hq(r/K#Ilη>[87 鰐3tJgx`V8L~{+&/LH_e{~՛ye xqd<.o,G/C|2-,:X}2_$kwgVwt® 으J>\=oK@ +VH_x;_Bd41UͪT>@v⇷|l7%b> ϟ/G-WE ۏiZƊ$: N^>}ξ-ږU׊|l37M{m ^of̚=O KPFK la= 2J*pdwUc^,@~g=(<ͽ?MޙKFѮd4daV 4\50@E#"= #d@cܙ9ȇ]BPiZ :3pLF@K,# ʰsĔ|DHI7.8H(ktP.jr&P m0}rٟcQoMfoc-rJ~b]E=Sne47q ݁jGLj^S(iTk!BZ-LF H!䔈X5z:WD|2T`; $Dn!9@ a{vpoXm=b1~P$[j{@ݰW KQn&S wHϮ3 )*%鶜>iX~fnL.y&0VCG&+ &dl.U8H7,ôHo?{ٷ_<}up[d-I$}lVZn쪂lWVV(7X>ff]?]9|)> stream xZێF}߯G ~ `Ƿ@l'8ZÙZ#(*a}O5I$[ȣM/OU5[SA3(qcVѽg.\ 2YthiI#bR.](&e2Z~RR+ F}Cs2-лP?ʹDS1$UƏ1m k"ZT̤bBS1^fl(@^QLUzfEfB+%5x P̺D@xpcta6brqi:IB`zciAd^hB+ yjaxcw8=!ԞHx4/U(`T2Q,Xj4 B 2Z9VERhЙco* U,;ƋT`aBx`fP^:<,uPF*9f?F~V.CGK/j^;ܵN* y]fu1f5N?fiU|ZȱL"k"k}gS񯢾a7yWc~1iF :=hIYUs/gCuCP2pכpWȳnuKnZL9fNj #A`uu;Eo$I_]A3gŌMy>)lB7Օ^B+ jəRBps7N-rgR~b:]PnZL/AIoѿ}Zl m&hZxJh9`uVAUzJYJ)aMjv:.X;av[ I*Pa2GazvU$FlߴˊbhvPE& |D+5:i%& zLIvPrJYX;RUn9-(m@@9i@G͋yӖ gfxp|L n[c܁yް9Cgv \'npE2RSP@?EBv ΗvY`1%w5<GC7 8m}@ɮw۹SrzF;Aw r]Es 6(w |GCG x`("1&i@Yw z0&QrEgJ^u&Ё8Ի-@m٧'!(Y"\:H;*퍩ӝs-#Vy= p0=TUHه.@@a Evu--o)Y\.KG:v7i_#O'-3n~h}م;>g_ǯMGn ?@oG{meڰ0kx:@BGxǁQ㻟wU>;͋ՃU'T]]VDa2JYۂ/*j8O1ѳn+ŏFi}r]! GA$Fp0z"1wMvoī:41^9@Cxr^緿9ެz=Q4]qAKϖZRGՕsӺlrS9TXYA*$< y$NiāLUr w{(ٕզCRyO_>l³z6?*VU"҉qNS {Flrw.+:gIn=bFnyG?endstream endobj 371 0 obj << /Filter /FlateDecode /Length 6802 >> stream x]KsGr#G8,+,ׇ]K>  (ם~ZIvءFꪬ|~9k߼Ͼ^?^^Yux#5 3ԚbF?`=i_ m}\}u=߳PA(C%)v dKN4T:|ۈK@1o} _$l`Geʿ<4u2sLȝ]Oz`G F,!L 4:<y5eעh9*n8+P&L^IitJш-B0{?D܆&72"&NR`!^g5˫ݷn7l-=/IG!x[hkqq1ƒv+}F[AE '>V>"' ʊ+:dz 0n:pPjtTI=DxG-y' !z8vѩ`Bs8W ^"3*<&upe?C4eHaʹ^ |ӛJ`&Dp;LSb܉7 l[ 2K,Fu[n7?N3[{0yH"+ޟZy$ 8CAN(ɉROfc3G4DDDu4x(M˱?VdLiַ>+Яyƃ?ɿqУ]X "zJ!0JEm'$#w i al+ZrbE& oz f蒄,DgK{lS ⇹&mnz@fQaA@I* o1ȳHD+Ȕkv*⻑r~&!Ăپ?դ#o4(ѹȴY 3 $Ω$|?@ULo:0? ;Ǩ5}Xcd_4"[?JҥVk 5+Ejٔ9Pr]` ~ze#ɻ#2V !c σE`8~ ]ɹ}=xyHc~\&ckL;fT2=Tw D*)ң< "@0 *% zPnr 0Df״<==Cke]rDv &(C10$TiQ@xLeڔst-%KHg2NjqpH2X>P%9 Wejog3ؗ(̗:%*|͋4j`+8h4ߘfls{6_T0xGⱺ'd- >Hg.usk5-_` Zb`aұE#\&7WxAx`InݺYuyMm[UJE:KpE^H!R:$|y} S@.R )ԏ7/gy'tL(ժ:I|9N*!י AW|#8gWƥpz}> s{j4wEV_޵YwTz,e4W/Sl2%Ytᄕtuge8=A<8 e R(i#̋m lO5ЏhV(rHou&9>̈-i¶WS*v^mEI),t 6,vپ0Oý*U7$9PG=8yxz6҆ t5;@[KiiD 2?b Ex{# #7i/ЂTdQoH7\҅O sNInl<0 TCgm7^Z%|=o'rhb ElIb,3͑RfMY7EHPO3m SҾXl~5πbT*s z'=\ĩ$s]:̬N bN nԛ?{p`i,}BA;׹ntl(I 'κ8Ef 뛊؏L>]KU:招ՎK}WPP{i'z1; 1S>\^9u؂t9d R K֓o-Âjǜ: 3M[_ B! mCGuKI$]\vC`N.) ˲U&M"hAϞp31r y=iyG7{Gtβ$ &B쾆nsA J!RE[h]7\ |k ٿ'?}'}3czdrw'P:MK n =8)أL Dܼ! aO"*޲$AyxL[ c0&X_,"kAn .NpLob x>fC>/<{5.cFV#17냋4U_( ҃撪/Tx)+#vɲ]Ԩ;ioGΨ Bm4X-@jNX\AWJ{6S(㇉ŷLn9WA?t?k{tL8LŭEyUȈ4TԞ̍vtn^vqŖ#T~4E=Ðfnވ7D<|ggRJ8Գ ԩ19h~+sG&8˹{elo$heg-Ʋy&D'YC3d.4EtŽ{%nj0fo$r9'Y :\YlŲ}ZG1Sn]@PȝRzj$H[l ҫa؀ez4æun]В[>{ɩkH[.j|}j&FSt=F4zbmcoW^TYu7%<"m$#y7 ]B7||e`]rKjlb:ǫ߉gd C \R/x ,[~ dkC50R5Xi+ֺYw 4K"iGwvnbyx?s@ 3,{)"^H=M[dh{3$\o瞛>Nws|pq aW: ?(PIttlF& &ڹl1vw_,yTK97g)ioDiSY S.w)65 ^L u0fAoh%"sTFtJ]0"xb6m|;ws rZA\,3$5@A<9=߯8l&9 [=l`*З=txTŇjIjۆJA}4*sQuD!+Q/# kE+WaJ?IcJffNogK2T-(t踚z4ؚL߸FM"MeV!Umzn]ZDl94`-+?"ǘstoB|T%b!нPStM]1nqB.$Vי̝+!`ss+DCumz|NIoSMw!ff.h]Mmэމ. $#$Wé-HOjdc<>+іUHEC2LA!P~5ND[mb.}AvX8'5֑kK^@lFԊ>."#cXG);>7Y5dMI0p>.kث΀W`؍ n![~{-K.SX!"!:TeVn~L1EF O~*";\CTc-E|νQLNYd@Y9TBe}72YIZ̉t̖蛩kpEcK#~ǏQS~`=͊2?[U(ʰxJU84MhY#Vl\x&I Xܙ[yWuYj8p ͜!ӗz~G(^;6خ^ə#{O}=NxHD,f㶣Y(n.balC< xc-01Lݤ2pXyihMpAa]cڧ4>sd'jia^DhEdZs[X85S@+2A?ت!SuYS@Ai/aj.Eq9woo1"YE_jF, > stream x][q\rg (Fb9Xb# q+=2H?>U=3U= A:_Ue3j3^^367/uSiHjETmO i\q//t<ԾʄˡkV{y5F.aC J%|n;wM/B|{|פhRKN^_]t/ָ֪>zOt_^ U;-S-єIe'+XFJD넵 C.DCiqkLݎ袶݋Kz vd+D>3}Lvw\6Q?/ ﵵ0 r:>Φr$| t4?pX!HfSO~,l~ HX'!I`O,wq1(t$X5ݛyI`>8š AjChM4@"Fyo?\ќ*D[,K+;zyp1!Rt.|{@\:ށ *; #ѲHlT}N c̓^=%S^b> vEc}4/$apv߶\Ǜ)7fߢQ)$ntTh,CPݟhp36\ޡF v6,q~>*Q9X1o=~6+l䒼P5]$;9rdȨ8I8䊐-,!EY0xקnW~]BΪXVY&T .|W0VHR0.9KAy1CP"3GĴhPLՇq04z8&ea06{Y>? jfI3Ue8k'.χ/ׯ cBUVE. GJ9/TznGKbҘ"kruG!"jhxg"KN'#ƖաCE % }OZ e%jRo`R}BlGZHl^,#y th;uS0>n c")dSIؓ uy!籶ơ]ʾP^Rlx/:n' frְWm =5dcv5d6׳ZhP`/ɦCVʛ`9鲠!,FVBM aB,չ+_MiK,4?ᒬZY ʢI \^y!u\IЕ WW1&į4:@y{C*<`]qׇҫ5˧S@L*I:IBM/b᷇0I& ^1I7)c-W,t~@fT'ZH$EZb2TΤl!N HldZmpD:o BR0-.d`&Ak{Ah=7˧ 뽱gRG~F U/~ yF| >âxpGħa/$@{ҲmնgGmk#'H{=DkuNYI4J!$LTJ%8CҢp{d#ĈQj=m=E )-;})~U^Ҏ^9d&5q'hx4{_oWz4!nh`.M W rؙLa''&}7 C Rt )6b*t7_Og2_%-@5M/e8})=dc,FzieȊ>Jn`&v:0ϝ 盹@~3" Cd=+l!?E=# 7= U4~@ddd|G2|?V.0Ej(t̝ 1`y2g]0`Q-Ap0+T*< T9nN]~MK־Nk'RXԸi3n*Vd@Oƣ{h F*#\bh5GjIOlmD% ˆQR:oB3)p,.%wli3t rX|'Ek~3S͂~,bAŵ$aGJ ?l,TN)൰Evp9Ź7o$t(gѸ8p&bD џP h>D}?=I'5LT$H+Lv,aAьNl`ݮl})9Orq~|zU I@FHP@x FYAF?-FYj> r nj^l*(f&WU ]20=Ť1Z!&Kf ˉ.C qD]rQdm!Gɋ0=D D=AH%oq6dC2}!Ulcݮ Q a_8LZ>③pg1S:ڪ]j(h|uN[*O1Ġ*a唑a4T`,0!0wβr%+M3N; #`е B'bX\tY [.Jāܑk3x^e|v]we+1Q&+XPDE䴤<PT$)|H'kn'i83c3"}Nj# g8 K! 4/!<^ȁ&|W, H:g4gZm%&I::0ew2g@ QrĪ ݽ7.Gl:}b5Snm4x;.Ke ̙A&ˬakAD@0&p; *n0c|$5bivx-8| kQu Zn6khjjE}0_ru>Nr| ?=a w3*q |ԃٞ+=# ;]bWԦL"7rI{{wDT2DaҌpi+kwhԔ!q=B@tx6Zgte"5I铃Fa!y ,+( X;TTAKa~*̸ɠ$Cۆfa3Lp:Qu9("`f-⁏rF#GlyQ.u6IpfZR&>Cmr3l=S{ev KkbY%j.QP64dfF>;EfA>m J}4O [<|38c. %sjej-@̨!n $r',}lbluLϒVl؜T!0fMq9C< 4oj*eZP(?JT !LgK8aF֡amJ.IߟG4)&p\6~q9>l{ZB+;Yhc실!HR"!  d4kd ;0deZ.gqPƘ^s9䮝ʡ|)G{ Z;sFAAxLuRg0C<9@Mؾkd- P!$X~ՒȟgՄdjQA}Qԟ773pׄi1T0XOfapnll f/)݌]4o}HP{)Je_dnK]Yv$4{9⁉utWb9nTTHaԈglTFuc ]8a'Ğ .SYľpVͫX/ dk?FR^,`3ͯ,^1SMG#t8Ŷ13y0vHൖKf5:=.;U!'zr!B%5ˣKIi oI(L};1jF1NL^ !8uCx5j\J~S236cOaynNl(CQwٓMq:1Y2zq̳g6p44 Oϡr`Y9fj#X#DMEgf axr7'E.ZX$ցh"&qf?(N`)XE fa]ڡ@ TfjNwkX Ab bqva7coA3m6`v ӓۋϛIόlAn: fb"3p~pFP #?Koۀ3}6+P(['% [ݨR-'5=u0/wcwAkA DpG9Xvy~ 1)/RآJ Em:c_ z'({LGAeAV,Vy6(W"u\;SYAH.*t> We pAۅ ^X+KGy [dM*C EۡZZtpfsyA'WCASxYܼM;Tgy}5焦WKA,Qf9kVvB-ƂrM1I;o&]=KGQg╡jV lÉUhK[ a:kWJj^@;MȷɿD]>HL7}W?gCtyP]êw]R%p‚A'h3%Uoia3JſꡚՃWw4:Rd=gy9ojŏP~ #2`9R0o5g4b S~VT)-u,$ZU xòݸ)nCKaҭiזSgqAҝ蚣^rz|A(7Ld׻)Mu+$v%'\"[g( zuBV6Y_kkCE訳6A| c6Rd8|#XlBendstream endobj 373 0 obj << /Filter /FlateDecode /Length 3345 >> stream xZMsWl吚Ҏ#+%+LR+(\8y C,Řb)5 ~y!7_=}jO,~ޓo}Zz2Dh/*AQWnpR}/#;.tgRk=hiK8";D %#5cCiz]Q[QUe9|n?4F.9zCw'e5 ]1R1} bBv_i/b q+?U9ͧH]K'tܝ:"Ev8"Lu2󶧱 n }۷n)kDqRx^Į[]汽0z.0M._ӤWiF^Tƙ^%'maZkz1,mIAdՐWO"M`wl:i4bZ:LS>>F BpƆA iipBm?Q&(`]՛VgMA]`kcsct-6- Hdt+$v3 ԃ5Q!T)d vkq ?${߭tLZG):O95- (m8CVR VZwIoC-{a]||Ơ]@a،{(b9bS̓b>+,(PLULlol>e)+Kt ~Ƭ2TT8~`[fK u>M(N2NvO& `{ Ag2/lJ/5s:F8MWzv\aPoz 7 N+ل3$ǹkZέ>7|6UǟY~$ Ѡ'&=OVL<#'ꐻCo[' E `Ur#Ie'ϐ,W5Mg4żjl_;ɔMs(Ix%KgQב~FdԄsVr+ZY4I>ǐ"FԤZw!܏ O ˬNf @8ʯ: Fj7qFc<-rn@4eܽVD: <=bE,kUn.ҌqʹU`/fAȷz>eALƜ~Q~dG()-jf#ѨdS d"`ut8KPqo:ޗ5X xX@ <=VTEJ$booO ppGL( /g/R:V;HTo}Ȍzv}!<uXodsPDA/7NX sJ+ނq-)8myA.dRI'E5yi4vMt!bۺ_Rθ$gK+-D@>*zir`(]N] h}eA%22h$;?Hm۫|"e+5FYСW{k35I۶l 5v64 <1ZȢ\VMaVAV* au_Tv 5eOaB)qA%G \B,M>tW]8Rq9{a>4kL'~L@K4*8D.mu u9K;$Irju/i좢pˈ l֣gIp }|US o?-1۹T.4St(EoR{eFcsխ\Sehpu^z;Uy"*G]U- fYQ&tKeo&!}uu3St+Y} s|2"/=dwЉANE'pUVNfq⫟'^LuT)b*Z~.U"IJZԶPZT)JAT(-O&jy>IG窋 )+f}nt1}1zh[vT=VΙ\}V!@endstream endobj 374 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4141 >> stream xX TS־1$UzX}uh#-A@d  NPfG!(T[Zv]VZm-vu`A{} a1ut^>U˯sqL?qȎgY].̠:Z߲)X3\:#k0#H5AB||f?wѢ3_upXd<;o*Y ]vyEO}7,l9s"""fBg9m}_&PSP`[o1(`xwswH 0ӗ9߶rUHhؚUdng/=>\7xu,5{-Ìgf\Fuf3qe63[i;tƍqgV0[mJf6qbV3k;p:{>;VY vkζKMd}G"ڞwWdڞ%dMm<*Z%_!`>:qkb7:]2O07)k .Zuw+%[o| Mt="&Y"&|z+Y$\uUmTeuUIC@`,">n^͒Wɼ]D\č/45+gE^% pHPe~ւ}bZ-z2 TCWT|NcM5s(ỳ#qdz.Y 6&B8U݁6m qZE%c~Spn r.єsKjx"vOMeԏu9)Q}paJyOXKEBS Pʉ ,Vt?=_vu$2XD^i|ut=^;:ďUC$^xń[ZzNfam㆝lxѮ*'z{2khw\EL!DWCٛ  mieQ]t ѵ , R4qNjr=Ѣ\M"C8g,ȋzmL"xZEW'qeEpDa&1llc(ua',:`!r U|SQK]u>ѧizN\y<k#;j;S'i8/C¥?i RT.0jӌԹǎGժ(YN#l~sg@d/e.eٞIas7o޽ƪ|=̣nv$ )2 yG9χgipL<[ĸng冫W OܧZVueIgK۪vݍ5x҄' 8nhO]o-@yůE~CO.i- } ]-~}K%anAbjL^W$oWz\OlE'jnDg'n Rl'+l3NF]Rqow_)SM@Vt>snkqڇgqEc]iɇC)O!k1utNFjYta-VH'm!%[OM0a\"YS='ast1UA)oyDQ}!F>C.K2d~E>WhQߢǡdegްHM.@0BX/kSRԐudLT/RJ^as@0*=RC-7~DC[ z5 D@PjJj\.[]Ivb-=nWﷴ[: ^~:o=7g__$_]r4|Lba!@kv-feC.jKt|f DSj#ol~q ȡMJgc./9_X8}p pT@ew@\hI{ 878^Cg'\CF6Ca̫j1Sx ,B~ s**!|qBj⭧:Qt,n{1RvTu}.I HE(=w}ap.a..WD :V o˔xȉQZG}8ēzOy,(ˡ2g1bg|]b%%rziXSt \G 'Vxamq <hZX? t㊳ !'[Ze#L l}Ozti}p垀Q8m'cw{$S%NOD)F\?y4Vf+l5\ɷ9ln};}F=eSʹP&G],_}DjIH~ZNKB6stu ;D[8rD/˗kO!Zgήj?>&=ue v? 1[UFt?2P163'؊4l cJ! !ZM:#(]2qWqVHg( X[-(_ic2[_Uz)endstream endobj 375 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 8623 >> stream xzt׶a X`zB ތqoݖlI[{/l `b!@ @B 1}GM/ey9{o[P;Q@4L NXVksޜw {G[хȷ%|cU~܃l9 ?}Qƍn;%` wo iKPAA~3Ǝ 87lwۮu t l'vc}A.+|]|Vy9vߵ:pEQPk);j(FSFj$G6Sj5J}FRExj1H-&Q˨rj JQb>>5eCQ)EqCP2ʖJͤSq7Ճ>,)_'ՋMYQJJęL};]y7wbY43ZI_a]uuG#ݶtZ=-Y﹢gYIz:l>f-zG\6oZGn~Ƕ"Ŷ$$ >u`+, B3 >7`D'huF6vy5kaUҴ$^* Y;X*[4HVUr^!A2(%{m{ Ir.^\Ñލ= !j"=tk`l黂d^е-˖M+h Iљ^("]ImP/ы)m«&h}!ɫDt[#s_ܔO@/G`ٟG.O? 16v'8ɒe , k`^g30ȷࡐ֞"#tR`<*Q.q^gm I8#ӂ +ohP0%T_Ӗ-Rchթ׼gu)<DS@d@j 1*.ěO m{ 8M$(rm*KL8n\ךMF9^'x'qw`DMCUGỳi<؄r{^{4PǕq&N'7 #~ĝ%>Xhq.G+sDl{|6uOYj1F 5?`ȋh FEzmfLjFݮ5a3I51b@# ZvySԀ2yxqM{B/2=H @4Y5Emϊh([%A䋤g;ݒAdo.yG|}aQ'KL82_ݨ):h:sN*3k$h _j@hg|"J[\rx 'q t$We4T|hNUԗt.?ExZ RMH4V^M| dJ"w\R\`jOzPwA ?7IAڌ@S3`sQ |.;F3-gqGIz D/'m]4ojbcir$x= ơQ8,8Xc!fJM$v9vJvwɉ333ȊFA!)'lzqjR)> 횰JY U&&ʆ4kUʳ p56[e ?pR{k%}^h0F)lȆ 6 Qg4}c7m/3n\S֞_tWqVDF@vW<\̆?@;G6 L1[p̘]m2KJ̒ЄU҇rP&DPebʤڤ o鰪QLԐ8z%d%uhC"lP8Y,OdNƙII XµI2ӿlALfD'[5 MzWlSC#0ErINk2CFCwu޿9o+0n[ +-/Еf%TmWKʪft+->pb3r96=3Elr62h;5׎->ohFSH*B~0?Eܴm“ .s@:UJBxLL\ ʟy& Eʴ('D%W̲SI@nnμBDaگ-@j\#fGn[׬V/TcTB4(KtT :WCd|~.dFOd~՞B5A\kC 283>7juZNY##>۰f6G,"< vn %b-E4:3oJ:jׂ#*Wv[I`-oZ( 5ǂpڸSAFlH6$wm:C*M1<ҙ(i@dU!?m,zD[5稐{C_\^seOqﱘ½8/D32b@AT|,vFoxMX֞W|=! gc r8zullnj vX&k4)9*&iIHZz]ԑU+^oP~V%gTط5:Oݗ¦gɎP }2Q) kQ'"zD"\#VJHL%@D"j4wmbTWQGŴ1]GG>gh5(^Og Y,a2!"kdPQg@(ea[wHw\Ͽ^qZيCE}U' Q4Dwds5/秗 QD66K!}U!*WUP i-H jU:=ZJ&R %Q _(=h@IZgm.BVO`]g̦ {y9KpnUZ(q }`/#H`y 34 Jys<b`38 >X] -mZ* =cN<4K"<OŽD֍BDeGߢ> ZqhX%:c&[4A^:_~HY9rP \tbh0AyeZת M0L_HAJS5`tED;aط# ~/J峨 |,Bam@yir3[7BnU7ٟ#Uv,.SW$iYuWdt9!2}*'5%;ܴ$1yDS (冢JRƖqVJ/+7@xk`\|\;yDHrghW9H&:qI2G_ cėgbl?gv ܚUF(:m7UL@V0ԁ._:I7Su%gH4{Y/K/j(_n4-#v rt9PƔ|}C7=}ŧ\XSXQQRRA+"4VPc@iQA2e:ۊD!R[FBe(dLȁ^ k7c‰9{MՑ`, )r=rdРM\"7pW:UDyM_; K !Xhr"k&!认g3.o" |^l+ DApd4Q5ϙKӧMM-G|2jj@k9_4L'ϑ( tCzڪU^=3'B0}ֲ}_uBc)ﱊE-"l*lٜڲ+QI6\Sȕru55sZq iBbVqK&M"ZZ$+!49,硽?9bGs3w{7?Ym,x(|;8&MRu8o*8xJRfx(5;p;5mkNCd?ƒֹx2/SioARB+bdOjR6'[)mi_~2Z?mAhΞ6H4kl-掝`w YqJP)K'kln20 Ӣr4x%$LJ˯>uu }l>bL~ٙkp?ȏg0ǶAg}#[wbD}No Q#N2n5' ]2=ziou0](`dB| hi:V# yL mgQ/1ug6:yU|%aמf(UJP$Hc/'؞(N$fb .\ҡѦ$qy'Aja3#~KcUCv'¾0Uo() 3xDo|u,W#Iݨi*]iz#gtdZQh 23~hrBʡ o=,n~ZG9?[Y{l ME% ]z. vxD?kd#MD9~wN<{,ĭuSVu÷}V_NN'ya+pMDlanޫiqgBޏæTE NaKPf'2"HJ6/BvVj&tgbc<%0pp(;NN&<j/_kd\euPU +m8}g*/~g&/}`+DYOG ھ&lfw0"+ u^|y#=LX%tNqGapoΜsPP|>ea;x]cpNBcQmٱ}D1Tߑ噴3vș*F-!W?0h^_VZ=|Bӟ?iD Z67>@~5b*7w`8Yj5Ԥ*a=VH/8u5waܖmlJF )Lfl,&!>^m^o|+ Bwz3{Trƭ9иIrXB |Ǎ)IjuFA(md4adKE'7JUC"ѫ-o{Bk $,=Ȧj-lfs A HI.\ ]]v%Ǥ]6fYL @M:+4J/EoLdeҰ2S)U*0JILyI)sLjBRlluUɎe&,䭱譝N!zY"15a7Dk4ozIc/&) {|-fM5)*MOFm{{E+zSϊ,5h&E# 2]Q 40gnZhbDrgr7 `PɒұA<+ 8oux̒?Ee X,V/#OL+@Y*ai< ٮx(OJLxrNYHL-ֽU'@]( kٺoGAM+BaQiXA\D9P !Utd$ sȹRBd- .J}}=\ )˹ qK[:(G .*6\eBYTBd?Y~|Xw~OMLsT}!(*,.źcpMXa?r| tn+2kIavpp~~I{}mZ2MaO LWĭQ)C_% :Yx" K*fۑ{׀"-!784@Tb&g׼ (}.b$E8xn-sh<\(8MjF3^ Ay?XbNXp$1_Wߙ۱0 #4<3 6Fqa3'iwY<0 1jqcIVE⑦x_²ԻoF Hf?q4S%a_h("d ڄ*]!H;\3L?gSu]8y'SSԩjHg2 s9Öx<`ʟ 6jH 1^~Hȯ36>cD4t^. O]00S)- ׿fBE Sa`ӌG(UDA,D3fJVNq~\@Ί-q5FOi}ZP.AѸ n.i'ЗQR[9+c!Y TG>)zv̢]vvE޽U]_endstream endobj 376 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2056 >> stream xET PTWmlEݸDE0((PQp[@@doU6[B[Y>'j&,f1bF'ԫzK}s=OFٍd2tE8Y&N#NC?V*RO {S rqZGL\&KJ߻4)ِxDzj|fky{k$DE5+t^:҄'EE Ez}¹s333t i^I1ydc5aiѩQDf.!Z;NߗI T͊Du#_EM©5Z*ZJ-TG}@9SI H9QR(;*z"3˾uw69;Qy$3(CC .ouC\| Ihh1;e'.i9S Y})qS̖_Bt` !/xirRAh k"Ϊ>g*HeZ JMk::Fťލ/P/-5dC"=ڶ/"7CYh';u|irV WÑ;k*ys lV?`@a_ dE)U&/ Αɍ]{x'o⹐r'/n(\`W-ep7eؓ֓imUEW}Z/! 7v hA 7+G3'7]_n`BӒVf$шkRM&6Q??slNg舾H;2ı]W~n?ί.=ҭJ/An$3endstream endobj 377 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 608 >> stream x%QHSaǿowsyMB7K!TbMK4Eqb-5hSn؜̻ֈ^ փL 街B(E#K||59j!Ҝr)?`ᅂ2XHN6Ft9^Z>{(MFCd?)R<)>_@XOdPihQ5Ҟ艩ZFqjPכN=')-S1-jګ4&5t$*;5=;>JijRiMABXwL['!:9n_O>lI+6Q&B"p`gab\eaI}ٶr፭*,@vqmlۻPCCKEt( t\s#a<:ޱ)oIiz]v˙/v٭cc#endstream endobj 378 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2294 >> stream xViPSi}1'"Oq{.ݶ"؍Т%," d!w_¾ DT 8jUKm8US=cGjfLM͟TRu~s9DB7O(& &KG<} D6Y$[%/I@MQEH%._MNL+fT-]xbyK+SU"8FJы?v*6iU,ŌOes919mg3g)$FNP+5j"$&Up9IM3UZE&^UTk:!JLJ޴3 Pb#"*b51 @ K"XH!X ƒ!K$M>V07ҥ<6yɱd:5~Oᑂ{\hK 2yM|dA.?pfhCJ(ﴞnhi{MsQPV[ IeHCD%wa*WS\+!p\!yHR!]gn`xz5˽$2%u zjb^K@,>Yk>K[0s 9$-h ZHaДO̝??[C q0m'O)hSWT%l1%@{ +^m ${r\.PӱƣG[ίC#"ct_X kt¯_CP&J;RP9Y܂=lv\mGҫ[S:{{!ʉWndE9[&:اc yueVcKW؜n84}w5meʰJ8G=,YaekQ=MP(&s"zB+%%Ethk0a+|2}e+Ib;\y{¼%O YkĢ(\{75//÷,D2\]rQk* \a0)=h+Ei-jN )m͋*\.\Ig|l.RͭB:l&Sh*AJ x bkٵ:԰ݪ{տ`*]MsYL,HT>:TCF9ṾKI"5QrfU]иAbS{ʒ^xO=A7ρC'?"tyفY;2owj9[FHx\Lz$jK\' MXhKX|6G8`΀J:8`2 ZkmC->(S롸e /}Vtl3Na!b.PRa!S^ 6(!7Ƚ_"KԜEЗH{oC,CQ2%Qޗ+mq WxnG:bm: <Hz]K$ /}b& @}xOgn;KmOqpQ$^׆RH.[%x.f}EhpL(̶.B6dĉx+o/瀧E0Hҟ4"[Dr˫x+;.uU9L6PScNGlN9YƵl-ֈ tz8sW֭])mFz[g(쿅ੀiL \?o݂(?{wO; 7a5Dꈸp ˡ$xkPBD~y'y)JƜNlٞ}{GҩnGi͎9k7 ;X.\S_ sϝygгiimDX=BGvȝ.S圡v+یk^G&IIR lK˵]0#ѶcW|lה%'ר;09t.^JX[Nh\dhkѕW+G1f)1{,oND7y%~Kp-!> stream xX tSeھ!4\F[P@PDADH%M%m&if_J -Up88":_Zs3{rҴr}Y>1yݴ}%y&?qI?#~Nꟿ9|>g3Bg =(^Ȋ1S,]1/Y8'/ c1[Ƽ#͏ٜ3okseiy1rRAY#}>guy 7%JqJ̭m۳W[D"Kl!&ۈb'OSWxZPě-f:1$`M"uz5ܵ.MeM#|T g#Pq,5+~{c}iLl*B2-]hë]KV&[Bn0D~=g2JwRܞPȖŁxQaT;u'@T0ɍ z5w֬g `ݥW m|;f~fzz\ $*]ه9 IE1OwQEB 熺`+lTkj}$@)hʭ^\롹W68wPWZ-GV&ёvE'Y' $w/'}kG^$_ sr໧Z;r' Jbi]J(yOӡUB;ie+k/o ".p{os?ՀAŭf4O=q=f3Zz MG?|} y\Lt->Nq;h_'fiM Ys\t+ot@)8@ _uZt*iN>"ih>Zؓ{3RZ5ϟP.޼:ޭ$7M2K\ -nfuӑ!#C /G|7B{{AmH М4wGq~O˂?fIel}!i%sBdhF 6C!byBT`Ӟ_Nm̍@rw">2S`6D٬vu$  " e`*S+\!A3I!@Ds 2s^iZF֢BeJ4P\!Ж33ceLA=X,*2]n@Va,G>/cp@+3& 26XyF3v((ԺԷ Ձ7ţQWnΣ7ffc %s 8N+8V0?d桌_GP'j=T9 FjR}ĨT;KjZGmJ~4;<{I٦'# <ע Z[{*عz9(蕂^4^ VpJxIEu9L!(Iu;{Z ~H?A.@0`nh?]~X6 HGpC䡒xIk@VX|#g{0|:τbͮ71>з'5߁~Nl`聣rId6r y~5>IC.^nViv j#hO23W3o5֍Sx-PCUy|Ȅ48h}AW2~(TQ} κuwo>UGA)R ٖZ;6m0KE[q;t7hg)1IҘ2a4Zj͢Ǎ%@:M ҩd;ҏ&fϞ -NH5&aL|Q3 PyªӘLe`3PV&avLjk8yWl㚰%ۼr;?$7429^W r01F3p& ?~ xvBQNg~,۲°2LL>cvav)7Zn˳XF_Xf?΁I-Xr{zkfV;M.l06xj:j5@iFB? In:J-Jacqn,V .#CiBEz!n{]6:3YaS(eo ֲ2oXQ^[LM-͕QnWaӵ*_+5R_Tgs)|ec4KRۨl^zD;8|,(V\'sW/#tj/DQUʕh^[ۿuβ2Ơ2Q%۲%Y@fZ;ZlM8 p>ȮZ\'2>};gF:#JR٣JZ]֜H-0|OΖ/ ؐ@-#R1Ԧ37;#v*S/l.r+ eE9y8.iWGQ(?43apݷ-W/X0kJ|`琌v*I3nSMO+ rɪ_ic?e3ǁ(RBAj'ފGeҳ[5XC(tZpI)Ө~W3}:A:endstream endobj 380 0 obj << /Filter /FlateDecode /Length 6471 >> stream x]YsGr~gG uZ#cRZ.ݰE?@Ċ$(POы|p:8 M=(:zqC |dç7 &[ōIlb~ɍW߭i^_JVg/&XTzu)9 au  ۳Bz Jc&$[>-6mJܮRQ%KQVPhklV6S PMf?l^9Ul&)]ߓ7wkzl5 MXP7YOk W?ǕU[3%,aRLڭ^ ?`;Wnc8؇ư ݪZ5OiaV [`uP76QG }a{)t?߀$3ylUSתZeal gX~\PIOkZԵjqsYQ4xVZ|kum-ŸwgD5!(l'ݔxT\KT 0Zo ` ]T-(^CD0Ck``L~{ U LFՎ+;ȨE 5M,gTM.VvY\ Pp4Xf1Cڸ /Oi_Չ:i{po Ԡg'k)41܊l%bЂdҜ=.({QDqL(k[ച c-aW𗸹`]5B\ئȋBbshn覶`up˿uqj#EWU7KvΓ( TA/zXێ7S?獣he~^n? 48掞a1:` $`%lxy\b;ᔟ6vSEahτݢ4>rw<[&#fM&̗ʺ]-~5.MumAxZOZ4PO&wn?x_+ʿJaⷫƀ 7;ŨHud@/1\Rw'Fԡ vM | Y7EP#~1ȑ'9>Go,C(S" #20 ~g1<|Cr⼤~p^q Λ+!cn#Ԑ#@4A `DθW'}?U[a,vm]NX G4{dXQ&q$^☹oK$S`fpcb.2E{5nyxaVah|_X=[|YXiZ4zLZP$ H/k.0e͔ind 1lW/;?7= sR*oқti5zPUK\+?ΰV$ƂDU+.Gz)d P#f]%@_ܣ㟉"s$hџ+m_{`=Y9$}ʲ;߮z v$Uku-zVQn%&U6/f`쩰[zm@ gPi"yCP g1rvht+ΞPrn:1 n՜?G"P9x& H"84kit Y]9zri{󅠓bXq 9@߀Qpb6ƆC<ğ(1LD̀=P@^)]0˂=dh%B})WU-KΩVkh]n]/GG|bإFM-ndWzD/cćCG.'ҿL-c)Q ga#)/8}G2;IGN)ڋS䈾=;/uW+, ^C|L$Si\,Sߒd)no"~l5mNpwT` Ba-ZyLS(E?mXg;t`?JqY o⠙7x#"BA(G𱢣^__֌w D糑d[j  ,Jќ364z{۸0ĕx Ӂ`bg ((+&VUwj~^Z*1 +D|8u).x(,.\LH]: cf#)Ką{kSF^)/nVQ.x&ȕab\䧱@\,jӦܨݫx"! #l{]I׏;0+q9mq35 8nUÔ- Du 6݁NZJE[1-  VY=/@Ctg\/ f5Mcd070bV1Ovy\++?lR q"  Axr'2nQ^+IXd OkEqBfgN01x8.\JIMn`,j|'WVjkLlkp`}d% zV"+KmKpU[ݺUV".qɜ@DXɆߥvl'J*FBQ,0N?~{}IG3 ǐ\MsLƜ%Mi+E~& !q \[mnJ)ӤU10jQsgC4b{8.f5i%7xoT7CkAҌMw36]!tm}AKO{t0[|%J)ybṮRhb& 1QOPu4ZƃiS0u"'7;]mdڝ9  wݶ7qU~W(wɍ_sn[M/WU+(%ƄtDa{Nۺ5!rnKY ^{,^V_׋D/O(F?Y\)XUne#Ons~Adw<-s) V(ɩ SpPIÏ0|g_!o?ɞs/QSWwePšc N&ۨGޒG!2q ٦"b&^Q| 0wW:~"@B4q/&X2&FJ~WDԪHmb@x}2]:QaO-k>g:|a/棯w§Ш&/;ZL'vOfl T}r]a8'ڶ|~INéi:=}j5;I/WJ]Kn}nBS9Šlÿ`dO.g`ûQ(F9x,FhM 3^7*+\3Fy\ernΣ؃bF9%+-{`aI5fW:ƭmt >s;}=~O}5: OSjPfAT:0c+TڮGܮH &Ͳfwz |n%;~%%)鶟^m< b Y0{e$YAP=)m$kTA]4͚M/jTDwz[:.^;td7B[j`v9VpRVyGQfzQP]Fa< y^%9~7b@ћpe22 $a̲@ӸǍCa*V(]l16=aKҾ,KQs(lO3&yэj;maDfSyꢀOz&8(?gƛ?@xeW4Nd T }܊_zkLk5)_j ;DbVNYkEEj'0qb{w}u n,!P^|Q{S (]7VעHw>q-Wt'x"U3tiyꝡ:g"I:9yɗ,4/I%װ.ơ9SU:J]3 ϐ~/QJ[v0ġ$~|C;9w?ԟkonK ARiDܷ֓B+po4ab.fmL L.eO^7.lrI`ݑ= r.{t˗GetWۇ=!LqC3xߏaOhwED\ݕ"" gMORLKd4lI?Ax@5GG<+LgF)0,Yzk+r0V]_zYpJ/qhhUDO Te'Bd?aB=C@x)zNkvsODd?Lf'OP+yZzLlBKNr Lyk-Or޳!4/4dDx_> stream x]Kq##YvTL۲lQp(BrAI8㝏. 0g>ʿ<>_?3Ͼ{fWo.~WS{<짋o勿wü9x?~ui%nט$ܝx6ƏlmMmƗ|jw_|4:gZl_Į>3Dؾ=wH d|ZBjy _^]4o?b0,x?3K=_"BsNyscȼ9@hA=k[6fQ3=c&Φ<1w%+/=L{'vfJa4viU<޵刾s!"C쥗Љ@,HY  ؤ F#rn10\T֕$Js\q!P\H0 d8=XX$)L +%f6nVԑXC]- hBv<bM{|4_Fԡ(Z _4W )82@&Ӷ!ϛy@vHU%*wCf*xMa ?oZJrkzo ڰI6!Z)S3'39Jb;8W1 ^G&e ڻDz3,1; !MR~k弯 !'c"mTpAiw؁ɳmW*5cLJl\yW9bɆ2MM))`C|bdޑJߌxZlOib}ݤs <5?z:oPu!q:bBE.^=S' Ju4{hYpQw WMX!GHq\(ӤRYfM0$lBSV5$n*2Po%Ou`™!y2Ã5LWE~p s˥af@{^)gCIs{ i҂obRs@`cA̛)ȂЈ4#l&QcUP>epۃ\핋hx[\[v] e<ad Mk+:܇vR aXJ1f\#涄DZe`B󰨬,&T3({&"iIQ3  e6XgIDXYam !q(S5CT|!eƾ}}QdDg/7v.2dIdRPv< M[iԴx'W;<($PVA/ iUAb m`.x- *Oɡ'Z!ۛݗﲓ DwmTh,vmHȪ?J]=LmWOv_\Y烟\i-^SN} !G8g1FXbw|J1[a@}c)^Up +_Pq 9ԕozdMfP-D ]|W+ l4{šu4śØ`diMK}#c/</Zyq{f>W4[l._ ^.=|kH(GQrJ*: }b0MxZ,NM@! h-)^ìAI>)*F_Od;Ey9Ir K0' }d&..>l\,P_K-lV{KhLo?d[nnNQϕQ=D}MC Gr^Fc/eDgAE ?AW ȱ?LJ,)v|L-Xs[fݕTQ=Bvy֓5dEWINAشd;n[E|L eFpϣ:JNQZk[/Ih" ,R2Ni&-fRr_Gh6 bS au*cZ'a.HBdf"B1!22ƭĭH.juza6P.èæEZJtp\/ )$m`*Eaa\ M,rJ.ll/.0fHek3⎢LE/rĭŧ^"&jOyRidArlv"uOڔ(}Xep'f7$Z616YOe<.`AzOzܓNӘZ({\yᕏ]`պiW!;B.ISI2>m ;s5" Gv\6b=UM9&m,Sأm~ 휯 ׷$n3[7r6܇aS XgvRd*gv|?|J0u".\&@u-_SZ5Z4Q??֯rK+nte6*=5*'NRڿkɡl;8Ł"Oiڦqfoo*ۀr'2t:]TD xc סW*$ i4`샔zC py/"rĂ8LR6tmMˈO`T~qy-X iޛPfFr16|i&-0%`ΆnY M[; 9uP T2~cfB}$I@|*oB]B.DD 18 }7oώS lH*v̋~؞'_EOjdh:<q}h~K3ffJ Nia6G,w I@ ^Bte0CD)A}W6 ;)bS`_éfy1N"9@zXOT&E 7m,q໧IODNh Y*Y'EXe`2)宨Ch=pvEF |؛v*@96J ReLD]ҩ+eNZ$RMO8ۄǢ$cցo},e=@B$ݶ(Bk}:b~Dx6x6SŽԭrM`6[_ }!K=WB/¯r`JiZNUM>~qڕRA=y9GĪ)I.WIj_/b8kg$M27rnWRMr31xڥ9dJ&/z}.VT1ltN27C+$ $T#)67a,^JW % N)MKeEg y-Ai,CՌŏ:T-Ca0('g2|l0{7Zv:.5KbEw>P)bu D3*8C8 0݊j wNLӗJ NWӣ =y,Ex\+m$E3 ZFF9ZRE ؽ̫HqeȆLviOqjyBE{`ڠW~Q9C"Ev~V#Y'6 o]ʵ y5 Q; _BWK=D8uNվN{$C&qޗ|nuFJw*Rl8Lo|m:bA+\ ֦+ w:z98bh P8 cUZBQ@@j˘NvkU.U1R9|Tmĭhz^*s8>m!Pa:ndkww}(NḾ-_gbHAK.-M8cZT`YhjanژF }U2{ϏS5պfR&W[,+_Qפ dw&}-\K[>H0sҸҤ{…lX*M⤱"'?߶h?>yeYs?|LS,jic~Ͽ7,DrBOU'wΨEF̬!l]T位<߼l+ms*BֳV*ml֞"MJhRChT4'|_* d0V@gWy7TՑbJ \@~XMI Iv=et[ wBߥ0,='/@WUu+,H8{8F:"_9?y":ď>4 VtH3n9/?]0Tth BmׁG 9>eO9Q9<D*ۃh[Jw@v_arvK$_RѤ̑ őuD;DabAn%CX9 j.U/9U\]>^zZFCe-HRU7~Y]ae[Wi=8{;C`Q-5C$,<ŒQ//GK1!I'zh,.j?xP=4z6U<taMG`7ʲ֗ōK:.sẏu;{4^YݿO W"d٢Δ{"trj6Ҕye-IaX\""9N8j#:X:,V(V*(~a:N"^:3u#a%}K5@Fub 5-h]w]qe9 Yjm-y:c'cU9B8/'r3‚-Ucv0)0Sɬsv`s8sٰˌkJQ}CH3U?q =JZ":Mj? /TJU@LDT8+uվ<g}h"e-a0k(pFK{2'CogOwYs ޫ~Drs-ksߋ]ͩ),sIϺ{~U%}KEC;PwdDx<2#;lh_&n\z%h1+6>6h՗' *_iڪ~l7C"]{wբ}¶kedeɳl,l):-:\٧}AفD7J'ͤwYfLjT `F MmIA \[rh"] ;n]oW3UkY-QP׽N_4:@HwuK1"MyN岕8KN=N] dTwB4jᭆpkCʲ]"{oI 0#['k\ {ȱ ۨ,^Ig8wR*gic#[jjEC XP},>ufSyّп*1rVpGJHDJ^T~!2xdX02׾n0|ϼևtOYt.!5U1xX{^E$}xsb#mNVB^}#͢)3%8SvZ@_WAcRo= p qK{f@NYIcKW>{Tendstream endobj 382 0 obj << /Filter /FlateDecode /Length 6705 >> stream x\]}G\ n~ySfFV`̓9{}gn?OȯW"S2WOQsL.C i*.=)__̓7цr|.ťsnr4KS1ĩo9nA(%%m].?>5m?U-'фt-H[TB#S2LpyZTAk1NfmI]oa!0%,Y ”8_\̔%lK-ܷ,gL2V̼ t$)Ս8mddheЪJV\VU2 .No f: é`hڴm\i2!}4mAv-a*/;^$2IwWAySIsZ; n+7s;>}^*XZT7Uݽ}&՛o?|{7dr#61CP~`b 5۵)(F+I% DR诔\ €s39`Pb&+&SI3!l mE@f@)D4NL$Du㈱Htl37 Ct6a6c?է&Ng^$>NW q1P0ec @'q&+KA")pt S Ɉb AF:M`Nv&4,}q,8U($lTj)zBgꬬ*2xZ%hd|]CB<c[ S)7$$?Y(=~M!<,KܥcOʏ40P0WYg1ȢW0Bvb2rMQ%EJ >wDA0"tji838a;[XڸQSu)+'PᲘsITu-OPa.,s@`A@n)wlI/,qXy Rq$OY%YV#IJ,( SbL|FKIҧ`g6XcMQV6IJ @abj8e8zA JIPoxeE9.þ][W[g@N&ׇĐ|H^u&v$C͐}RoTs)l_Y`$vl ja#YTA"l$PBG7.ctn.3d8)O!*^,ۄgU!E~eSh@ֻ4{r +D!|&YuUʲ4VݦXbF V܍VHY4qzi2^ӷS)Q] pT(wcsZǸZV"4&LA`#X8ɉ0MtEʑ=TrMUD&xo\"h&#1l@EY:;(QA"Gxجfcjg^H|F 0 ^)h9X)U!n&"2Yf* m =|fEshLB]rhgET<> -tC+)TT t`ڽtHć*vø ڿY&&C !Ш+bC/wCXF..t#Ln`%xl - )(L`e(G{/MكvC,L_Xm,t>%v3:ǖD|P@鎘6xֈT3@f;~80f}(x*a KM2@!' <χcDQ# `t"F s)H\ cߓI 2lb5g>Q֓&r038~lYUtU/Ng+̌R! dTPIrV^ L-X 1 ؠk*iz|J */1rPdL$'C#h ZC G&[Q ^^9.)[sg')wUpfEÕ8UZ, YLXmmQ8\tW~y31[˷4[7רjY%喝8iDnCdVU2bҪJV:QUtY_ \YGh/~G"0;Zv9UgN%cAG\>ĶBRw]`Zd{XV ~ @}Wzh+;@} =MPɡ nX 54A ~ UPy b?*X8 *'4A&O<6 Ȉ  ]wEEmFkeulT`T:thy`}Re}_눋u#Vˈ8'WIwgd<[ "<g[΀|GnQ#//.3%z-1gx>l)-bWr 9K=, ;3?RLk b.:-ChM;}ٵ~%SDB(s:^ݳu-`uk9K;גteFϥ |8`mߵqwFK% []yo`Q0R[ O>lNbB4UGWes@ kXV#ú :ފ2K7R`#*edt ެu 4dEyt N@WlId~Up`oe6 :7]9ʪ@.R} WjnO3յ!6E}TXDI烗f !L&/0CGOb9y=|; \Z(6҉վ\ԾYRtڢKn#e c$tx=Ns>h JVKp^S 22ID czی =|/h^pQwuO`HaDqVˀ C-Xd !X!J(SR%q|E;X_5MP qvݡ3mY}!c4%/^vGf Z^#c_cGWJKVO$S+#]BUkOKF;&Y&,QET:- -VhLxF@75XÛevo͗nc]ojHYrX{Ժ{so.DmCد6kQ"7-;Jhu}=L',mnk*P' %UIH%:ޜz&N:3e{.9ZwqHpkv'%n}vsQbו9:u4)_KPؘ2X=å0ӕ1} iUkw 'v"s1u}KB־>yR|lPrupRNGOvJV!cZ (kZc&W.v>Sj3HxNЅٝ)qղU1i|cirϭNi;9o<o|.mygk5RJɃ?`}6 gDD/ P_>z :R=d z~/<lpC0hN2ðiXol}-֒S0CMqOw~s)c]\ d+#1q>#g>XbЋ 1h{VgBI>x`Yfڽ ηuju`ΙCКKAFi|nz]Z4\KXVqtyo ˑ4y0@OG&iAB˓r~ܓZL, o0cW2av3`v4C$\I t z?SnY䳮]Q8Gbw-*@!j6!аa݂l1xІGCۉ/c0ӌ\ }tDݗlrBCB=,X־{^i߸U\"+9uѴs8}tmScemM7x응+|{ո^N:4b7A8G|< +9>7)JŋLSۓ R=8GAe`R3l/x)CxAe-&vKw9d%lCr/誻ftZ߅KBuznrz\$ۗ4 eɮz4J~ߙߟ:^AfKgOqJ$ȆH>ݯd Nh/'1-,zԶn` " r`oCF qwR5qa\`pvjw=,j? 50YCH U`a-q=]v=G_70T;=0 ƁS:ȋK_o$B(wnt*3\O#4!mXPnW{ 3OӮ{s~(kA^TLŜx/gcޫ̀i+.MN}ałȓXZlx[ Xo޻0x峓lPlinUZ=5Va2e}&2d~HgLIL6?dzaT3/Jp+oe/3ߴ$}|>}4>NmO.˗v_hО|4>,3 P:[m~mendstream endobj 383 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 3265 >> stream xW tS~B 2#"Ab$ 8,f1j0Xyc[{>햼/EfsءliKM!iCHNaZfI2S~ϜNLis޽w~OFMd2c-\P!;A)_{3)_2{C|\OA5SP\&7X ʋrs%%.\x3-X8qY(g_F^ }67CO%, ̟_ZZ:/#x^~Q+I$7kE%ĕyԌ\mXƾs zmQLmQEQey;WWJJ3fer))jzMQS[$j+N-vPQJj5BSt*juNxy%Z>0:z}eTu⛓R'M^7\r +q QDЎ.돮Khk\Pv_2dd(FC<86+ +L\'|hfۏvme=8IDpkH#Cr$N$Vs6>NodZɣI tt":(6ޔ ʖxVMh+0ea-ʭ9o6TEG7t~0V;ء;lg#߈{`kM˪&>m{;W۲J q!iAPv}tWrɋJ$CLpfz{/8FJ(Q4!r=-W 0wpތVu6` ʣ95x~z #Z7ox.kǣVO?[DgV.{mÆ+Y qeO_} J!7 yV4xz&( ɤ/R3:4v"!&-IZSnُpl[x`f쫆@XR[ڏs䆅~!-l`P<:+:ChUPLE??Zӣ5_vԨkСvovEó/H ѥ#h`P6}Q]"z+^s ^HFA&MԦK l-媸 6DVK^yݞӠFߡ/˪\!O!b:M.Vo)Ms}|PqI>WSeg8T.`Sg/QC WΦn[j!xGX?SFxhm|UZjˡ YB]̵;n+& J?l}t]Ks:2Nùv45&R@n&"M}#Y^ӦHer^Fhw Ar=M^(wh<;gx@8{ Õ6/\OK 9Fߴ݆|5pS 'YE9-^l${J4E:W[0 _鸛+'ET1OG"ֈCY.4W3dDet'4!#3,P]i"!ܫLH,'`\;1hq_ brGw@{~4q!H9I$(s#%jO)zD;Z<yq~ rWJUb*Ao/Y9\ [Zum{vu,bb_h4ivkӠI{oш¡EhM(W wVRVWm4="H2%N-#*='~8$;Ysa>n1b,NAapp'U3>y&^!Q(Jw |v_o*j?x\u1y;7"tO}~~Hc Qg8-OZ`U x:SmG]kQ5a;_V&9.Q{-nO6N A-|%aN1w,:8w2 ytXu F.T. *@+B?ȥZ^hLܲ*` `wid[unUk*H_gWowyC ] ޵hbX^A/V/q+m6vqqvE60{%* n^~l\X7ai [ \}[յ$_v5M:xxIq'.(n5)oTpyw/ |Ȃ]\"@J*+ 8{yUBB }UuLBPÄtWf!4!;\zY7vFr8I-^4<\8lfj|`0;! zƫ|vDeّ/7g+mX@T%kte(g/6? %4$u @~Gx%\:6|"+DOa &Dz;,5H(܄# 5x ^JjKFtY r'_#(c0 46^j< D<O͊w.]zYZFeYӫ@(ߕ̔.D-vNbIt.ƶv-;]nZ>|U*b9 M\z8 $`hO&3o74o_ZK>D=C_:CM]܅R`8mN~[xg \.JYQP~@f֞џӽϽ򜶩5ui7լ*3k>܎94!IF!/yxzMNv)h CԄ땺}|w`K0]ךlYvVY1R8ra`i ;|4A]V:[ }A~-0gχ?>[Aqu dU:&!C+CregEgn⬼H__D16n.5|a/9 eE&}KeAN};!"er?/}wfFߔG{wnٺPc7̃-˪ QE^˦|r.aH A)> stream xY@SW۾*.ҫ^ꮫ*NܠXDE6! {%'=f@nʼn#q~Zm՞C?Iqr}y!{}$ïC8=["~;W~ |ԯWg_`klӯV?"i?T,:Y>8eҤY>!nB?`o!9 C>L$Mt_'Gq)?D;dDӏEэGB*琅EÖ/.pyGX)kվk p\1E65f6is邱[ƍ6sg$1N&FkZbMcħb,Al$Eb3B,!>#ˈrb BL%\i b:A$>"H " ŠL !lI|L0K$z9-чG%b+aGl## 1iVoX7۸\#Ǔ_rsW(oeOQ'f:{`޿n=gpQu} ?Bvz%e[Mn?w;6X;sȾ!/6?3m̿/ƞqX'}}@qVPG'ȔA H@ө!H%'ǃ*1jаG|٪m jWr5YV Rc ZUAqSخu=Aw 7IJv2 I/T ٣}iNZuY1(PuHޛP $qWS iă!hXyi,8Y r`J _ kd=q x?=`v Fig;~z+&-p6,j9t%+}.] j)I)<cm4^w0rE+ BaǓ .ABlҧN;5i[8~mǥsٌۜtIZe 3-l{ /|i㖸.FY>(y3~S~d8ȟ=-)&heZ%܏[/  HL `r@>XE;R +Aߐ{s٧ P"E"t*ޑ6MaBwԮ޳9P׎5WY+WdI 69\ !vYήן -X<SIxf52y{g 0eH,n@vwሂ6@5(-p Fl1)6p*?gt^Ap0YC#yP$h1'$:eX# wj}~!Ksz!AxF@B.zVjP@^j謃VZN>JͰ{#Y%x*P)Zs,rZ1"JAzS6 /Q\ K#S!=rmceqF%$ =$e9P8`V W.UeV.(jhq/BL潤X,@ ɒx(I xBpK**dՀV<т/Щ~-3äUV)3@YyfR sU)Rh#+ PUr1I0$M!y;JAqFd[6pNSO@u3-F/ׯ^Һ݌gm0 ߤcJ3B̂ ~ւy|% Wv*jCCaF Ϯᾟ%]z%sN#u4Crůh =n4ihI!pĴ$6b>X<[]X FP0W?ن*U}w Ljޮ&UUl =o4fhs{GYuGu)ZqrC[O=s~,ZHNy`R/~Krx ۗÎ2$t>vɮB}yaA? .{?sȑgmݰ˃Gg[zzfGCB}UVg)CUVUX_g}f6VRW P/,$!"N< b=2GM ~?zC:&&ǻr2 $tlq\BAfzqf>{56ؚ5t 94gNk,h(:Wz :&5o#>z|DG % PqL Ri)]m=QBXcG\n,_GJ.l[y/0$YeI"_5WhAS;y˻ȯ`d.W҈@,l|w4;s&T1B}n{i}^.=-f-6 3Wz&Ϗ+#4J ݼڝ K\5, hM"0ؾzsfNƻ.\Q(R(+Z,;-bw͙[N^9{4ZO܀J&e3ɪnImojRM =1̙ T<QKvĉ87zB8s O_O! 6]E:ȡ4²HaDt_A8r?wL]:h߭6?. @ )hP[dޘ2{O. AMFhH4oLkBkl8h6#3=5r@ *>^Cwl~"]<<6?5p2D}壧ߥ1ubN[[]62\xp#iyh] ٕM,\v<~8ڕA2nT7#ۤsJ V]#fw/# MTCir +=;[ͱ =L\c |e+ܬN,E hk KQtCh)Jf*˯{<,lU9gaL,3="R#9y5jjpO߁:/ )@F.$.kQA S9|r۱+; ڎ^sfح+SWi SrcoM]ygjIë;iG=ԮT4vqXE*9# Bӹ`gIa@VJ\hJ%cW*Ip~Pt %٪pe<D=m]7 ׊G:耡4#m<8K^5"%[T'e0{06NzKB#0W6U @͐k1ũkV[9i缂alVVTuJ Nyg>cx] 6cUGAp/TZ*KNINbaAb^LaLHB_"IC"HJ sMmi1Ǖ((FMiUwU B_6F'`!/00 nek`nk5%3|2(bDIP_۠\@F :ұAvDPp-L2RTI$%+̬\`M?u/>=FJv|Z/@+ǫyRlrs;)[(0^??@i\V H. /֨Z}ώEgޠxhBrj#sAjiيly6"e'm+re_:{g;OwYhZ߬ѝrF+Q(@=(h*++g`3j/A1e'KņVDD]E`t-܆!s7ܖn\I/t;vķwoX浐6h+8OݟqFqZ{lӷa +V/ a-5{0?30•?h_^qe/5<b{`q*(뙽Rz*;3?TQ2Qo궙A*mW{@M)…}+N=A+YG}M=)+ b(hՅ߸Df  E=bV <pNuzm8q@{>e`/ g_}pcDIdI@BIK*9 n ZNiaZ;ijko{ 3ӳpKDIQ) kIj<$9DJ*s 27mڽٹyɓo3ӱQuGTVzyEƲh.}wWۖ>kr֖݉ wL35G7ܦ{8mIVz ]S *BIB"AƠhgBrL"r1qI!/NPrPZQXUabcH sZVz7. vul7 Y O=k1 ĂҔ D I,<\K2)-P\>K.\ŁΆ4(IA?d*7E#{zܴ9:\GkTyvv۞pkA[8ɢDiARV g"N ѻLbP)-q.Nia9c\0B/ҍ*jtdz_w!|@ ZhZ:>yp^i > ǽ1p4GWU+ z;t''ϵ y/B.~oAã0V]\@KbJVPloX1$.`d (Vǚko@HQ1,˓$ K p8:6)&RA)Sw/؛WJ^kX- pxׇ6WLSk7(;~],4w *νဉci8,l 3nN&??ˠh7d04~Mxr!cHX l0bzؔAKݶJbS)XCYCK@zezAd:}%], G-.&iHl`^ T^ԿcsARP_{ibb*39A6po)KȌaMl$:#89Jr$IUIhUeNIQsRq hj$z z% qr鹮Qo]Fc\Qe42r[74/x Lf`SXOK}%M !0jE>[r`y:\ @W=ef`IXפto8TSWY7վJv\'wTr,foqQr"RTn9t:Me5=65c1@(/ 8m{jmmu}bOendstream endobj 385 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 675 >> stream x-mHSaǟݮՈaۮd܋0ԥi ASn^wY-Fe!Q~^ F&Y e`A(S?IA2kvd |*5$jR J.-֔;*89%BR vD7cx>g33iS~%6t9n:Yiv2l(tr쮎Pf6p`|L ]qqيVg]ia|nUUSgk#G&<@H$nsb$T[)3)dԍBPr08@B( Rt jA4+{qAku8MEȋ)!H|_e+3x_$,SoaV ñ  OW4K)_& o I`PՏ4)d؈e8ǹo4 2/Npn7F:NYi%(:Ym/< );<ӝynjyͿf,xjTqag )ŏQz2-Y ߻֭RF+y8*J Z,Ca@XZ) P 釓ѻQ 7݊JM(D SaoZ!endstream endobj 386 0 obj << /Filter /FlateDecode /Length 7222 >> stream x=Yo$y~Ïy 6 +B։`req9宥_UwKnbCmVw_S_:l>;Q'ߟhiūߜg6O_46[zdp?ؤX/OبN=\l^)ݰ09+1-Z7hU÷`!|Z] Jq: )*o٦*U݊<?khTs>óC#dpɯ>ۘ9 6 6);vx| pC~U[m@#T.vÝ:!ݠUhl{,}/3;m =~+ N8ȣnO\/Gh7p+0|!r[ 3?a(*QDţSͰ_o8]mCGN3.2QLooC%#[~P0.6S ´514LUJ_;&[|3Ю|\qWEY+#va&P~'fhmkN{qo6!m!tjwnW=x}> T KɄ2]N@U%my|sf"l#KglUuJ>5mxL3zEV^rivҸ#X\h&IFGI9 o' #VUढ़lzAzl/D-hWWxp醴wk~h>q˯}*ނ~cFTAQ I0 fƴF?gp91M]YD8S^T&qOU \8^g [PR|gE顬kʝm&TX z?ԕK 5]^%P"2׀9Q[ZۧNF tl0\'meoGڸ* WU<+HŎ&m`?_; $GQCF5Tc&ɫbhtEٚB FQwFȎ4kٓ}^!; _w>i\T젳AVby-?&o-1 H2*F~%ne;GUR0,bN+#r7<]lގs:*|h!`W4ZN{)GEj8YH>DxltIW$K=Ġdf.s]e2 S~vamɽF}KKo4 'a/1jփA{io $02]~2H_q, a=P"!R^aG]r.;\7 :wiP%SY . quo [ QH|$HM@VmßP&L4:"n "( 6@ΖIZa,~~ҹ-73Z\iI9i c {+ OyUb-xWhăo,7'w}+  ZwAXP ґU ~dv$@0H[~RoR[tu~BY? ,\meEF5hDVZm<]>0N&f7Gpj9c^"z/,OLQ{*g Z;NYHKPn޳]RMZ:& Lп'$ χVj3ӂj!5O]J&D_xt涭 Du&dY E½z1ͳ_'+ [Q-XL83cs(>zH*/ƺqoDhO:b zf\{¨ [O *==R8V!;OYj]jS'I(D=hEc<R;6huMˊ-H|VO'F ȼz_Q1kŽd71VB 鵃z(5l8a\)wqYm9ճ旰)()>ڽ_N'u|֔_M X/ɡ7L[mB(3y$Zu"{< (v҇CF/q(J{|=Cm[Mi*8UI:_U2ù酑)8qwbCk-o75:ڮaԝWFb*wKTj4`0jf=4^"7d.pd ,X 7 #c9_Gi ZDUgPd@dfVF/-= ]'4*~f Mow-w;v6ō&R^Ly/v7X`oNg~$yx 28Wz B '=l%[T.Y`1-dKŀu%Вn_8zY"㑹p FP ?mK g1eTTOeA~)_DW'y9jUe鮻,0'0J[,'uz<2sl.<Q*cQVc J7`veGFc eE Q4)*.)Mh<*!XG"Eu,0hsҔ% x9.83%{glElz _6ZNc1#[Ѱ11h=;7F(YKan.2lX?r0vT /;.J%zēmUU*p B4MOb每' 0!lƸT4*8VoTz*P+T@ ~sڝ֤xxs8JKrHR{ָ&ox˜~\p5n,~@s֟Mm6{Lump/=' Uf \͈Y"Аm+Vn|6Is p{\sT.qrv}pscXICw+lS u&. :FpaϰhjW7BjnyyBML'~2?<7@ﶼ=jU$sHE,%&qʢr2%Ҧk1uG_"+T&4u`AMl0'1eLKӓn Xni9!`>"`u6 꽲K}6e)Z,!$qs#uXgz-( L{v}a lYSn[& X+KA };qiMiNAO/Of׈BIwd2 #S%Vݽb ~07Sxo/pbs>=O-_)9TĈuI9G([P~7iG\ JZs0E(ƃQ"6G$x>,Ia9 + {LѼ l 2kAin`-$YRcOvъ6v*Qqr 44н:@]>ŷX+FRɴW Tt[бc 7pCniae>é3l}߳ dQDJuPc:3I"i`gDY)'J4wv7ޔ/A*{om2{%uV& M9 Lj-d"dJ%`W^JA¸es sVXcx` )ȼ˽Hm֩k:;tL(Oz?Tf|hw )OY.1{B $fQF[jO*I/~962uQ)[{^+DV΅ME=XbG] m ˳#.[)LT]H+1֫utYQ],_ͶPDfvny>Y1˥s{p9G83@s^$ 1=^iE?/!AtY|k|L!Uimfp J=p,7Y:xDȠ 3k̬ȯͧ}@iuTìsܪhK(ҽL,5>6Q"~npݍA;Ek*m-{f2[h;^8 \_O]x2q0v@O6݋FRc(&$?NײN]ݭjYSl8c3x$Z3wM`C.\0K#l46 ^jqh5q^~h7y]neh* ]'qӣsabksȫoFSR?^㈷56cK`i&Zh6@G~G vRqTTqQ^QKVM{:40nxOleGاZr;j^kɘD!{G]-X\sE;ag3["e-2JlYk=_vj~1ibzww|mBw_"| J$,>|C7hWXb+lKoț x;w]N F>Rc]s@&+#c!9= d"f6Af u eָG %O1endstream endobj 387 0 obj << /Filter /FlateDecode /Length 8787 >> stream x=kq0}naCڱ6l1v)BNͣW~dg;594Zِv{kdn Q*} =-3<9e}I:c4rkks>:#j?xG<;7{>pJ)hh2n{I5,VRx7qRZo/$ZL~{B("vƧ}"9Bg\1ɽ.qIKN2Ld 3+lS ˔܍ҢRyPXY@I$s:|t V"wfv(O^ p/+yNaw|Ç>d/D:%/2ĩR 0;XwEK_= m>PhyxyMkmmWyǵMmzc'Dq6/kP_6WQ?jas<}WkiIm~KGÉtj7:F7>蟾>L)1qc݄C B}3ȸdY5O Uapv&Ö! =joQ6 cBЯpIIfO޳8iB8W_ A<^w2_Q0$X.~Q v9Q2,^ OXppSߓ0}Ra'@r0Piz+#F//yd[3,Iv(sj'=r.!vQ.B~T%Ot0b-fOX' H*nN:KF-96j@ -3pFbԌ"~E-(ByY1k10[X3ac[Q*dg0vF-:xQk9ұH:|r\8΁RXMށd^UH-LLxQ>0{`{ &- Lg4/|@d1T6[iaF`FZe= ^5<7h+T{nJ'rn/Jc9I˽%BKeYP{‡R ( iIFJ}"Έ v!L`Z-@}_RP g#D[e -MЃ#^U\f:8!) _9+` }rؼ]Ro 6YcJ!TKBp7Z,)VR2߄HMA\̰ f]!H?6^1Wʝ=Uty9? xf2'U LHmGoe9h`mXIRuZ1H-E @e>\+X:ΝDɡt*#OS!p&ΔڼyQ7y͗C^ Go帬4!xZg"\S5`/Y%p6TUˉtU@=cʤZv "^YkL렻-F!W0vMgHQj'ȧ9v5VV{V@쌸Y]Mm^զp 7ɋ<_+@7Cp\$Ѹj >y9奒RڼM^!y9.j6)\&׵umymJ}m_ g~C'0M3jMa?G6ϝ>EHiy])*[?ކf<-SGdt2avV wĢ],;x$~8<\t6[F6nU/@#|!1LS5,h8wPO)S?U'b3` Ћ{͟x]|yBP fn.M`+Y!hS`;倻@QHLQSņ;6PiF+1ہ2wfR*YMp9R`Sk@ƴsA /_zfL@ by̡r8*SDde%^x:0Ä3$b2ڸ[{6l ERƱOBsqj*6t1%Ol|x)6>kM6M]"jάd# <7 S>wv!Ž#lϢ:yK̽x+/V"jFKtN)2täY){i (.lkLz,Rq刏=΁.:“K]U}$54HRi}A#c|K56߭EëEOɳ'NhqU[$/al]%%$v)Ô7{T Ӌea{7 ̒&DUC۟”ﴯՙ"̘eYGv |Y,A\G6c|byDžK9,y'6u `ХgXfŘUX,Z]n_p߼YO58%# mʆRA<$+Fy tf)k 9 cb%T'/3FH0 * ":%V,3HpP5LCqKSYRx#\w9 8-.WG_SQl:0*R9dzUykM`!Xշ~} EEWZX4mE)zVҩKҲu,6<>R;Cb jZRma0ޔl$ j&mNcY{9|iPZ@C|/F"PAU{XQ:f2ȡ|#/+]bC'L+"FbxϘ r䛷3@Q<oc> eeVJ;*ibݺJWcIOF4_P gO7e ,T h@Z;?@KQ ˾Kz6dnDa*RΡ%f[Jp|ϳ++$q돸ʋW/$&jK~uŧe]:-I~:d̑ ~M~ɸt=oJy99N-it'r;s~ Y8y^iBunbW"ˆD"YɶWfd[ejׄ>srM!x.raAjZBL2BH0 ;T5F)_8: .Ȭ5@'G*<ʒQƙsW`{'}i)[@ΠVN3 %P Ĵiqd\ɺ-GuooɧJy* fJ@e}7~ :SLhJkL(e9L lZ]Y"RY %46ICLـq 4z Pvy$4)!%%%7ՠdT^.HOFS:)G<<=*eNo `mU(pGӧl79t+*z17-1:. _mmvfmlCAyJ>L$z58#H . H0?iIyR6h)E tޭ7æ$O+x>Y,"1㬃)j y?+"&H`n8&(v]3'i>/Nc twE$Hɑ-\ZNV(-0$m%(bF*0Sȉ*7;QMpCmIFbFon ?mɌ2+'# Bz6awEZ,\H'uX(b`k2GLb5 +JC8suRk0Dh?"VIh^^CBBxk ﷁ)7Y; '$}j6{2)7 P[;aլgFz d!1i8Na,)#Hk Fۆ\D7taA趟^BZcj=[Jn\ӸS^2-)%ݧ<-<^+'ⓡ&嚀 _|$j1so+>U;> ~ hXʉzEZ¹p e.wZJyGɹ1zRW])1Eg-.-X :s)]#o,3*$FL8)?uvwt \hJb%ϩLqYT«FEVt^_o -GV|BzE8%Kz\!} 'ԟ) (R`xn{rQ<7z\m9hjiS\FM8<;f_5坄ʵejc@S!J)t ܼSrkOXT?8WIϞ:VѓgIYRcɜnlpA9gu)'kY%fO@凣 }/jI M .tu hFɲbdDs06d>K/q~i\T||W_qݵ̼)}j6W;!GZD V'/1z5焴k"?8a\V.ϖab( +aӺ4pIjUarS{K&bsj p89?&saP3"^:~:*fN$Q53hlLu<9fy8#/g fT+ ",oߏ/"p2(PM 鉺Sh]Xv'ǎ?*cZ.ykɒch~o<&A[?ԋ۝`!"j{(Ў1_=^`r}݄Կc;^[@'e\kD6yԏh7"fU.)}UXn+&X!Q:l^P8Y$!@Z^o$Saw9.Vk ҭٓ.MK|\%}"kTo- r9|(riN܊PT爐ry(KK)ramV\HUzORE=RW12ŀ>i'mS25'Ẁj 셳#i[Giq@|1}){u+({4K#PC2ΰw)x.4,Z,`* b(\}V}XCjSK e>6JXO7eށ%ʯ|z/WӞ ϰ'Xɑ-I%7q2]g]pJF^Dciq_^!|8Z/y1|d>MB82N^C>;{\Swi8+fBV$|^]NZ8φ$Oj7 . S_O7FaNKQm؏n[?gV|HDtr'7SKmRZπ\\;N$k ;6RznfD%A4FʍK|}+y+۩ɫe-tdi]X4x3L b.owvIdAzSӴ>p{E,])&'Ps1쮥$mgs랞 \e?*?z?ȰbYʛB[{}*&;q*/{ʛXu}:Rz r7IZQOzRg*}a&nT/@# C\$p <3G'cl"wmeZxHuAFg ߒOT4VGi"+ Gъ5l)UZB^EnIqMX250&FO[wd>__@t̃Il?Ѧ/c#@- p;q- ?{x8޵zN)EKqU;JttRhZ,B"gMBܫU,]cC 3䓯hJ3ӝ;|[:mzP&B*nnVύEģTi+/QkMtÂa]VcdRA"i7^t5?Wތ<Zw#H8tPTi Z/Us(l,{NO: TTBkrޏ>CR|\SqT16AߗidnaBO5r)U]Z#\/]6t͐@6:JC7WK}7 (mo ~9@ʓ=늏h{Qy%V;Fa9EY*Z Nd(s=uS |\g,!Ri@>(*;ߚܐ3E3&[g}7n;H>*e؂'4Ϟn!h*k# N-}iea yY;k8%I%a0PYony.S3:EfD G8(]>bp/y ~(vHsE9^vbmg,#FJ q&C ={Q)be> ) h6Gȼ)rpVyQإPPK/I䲈hR29TXfT^3&I :ʆI0EyDLI9SU\/Bp cjHArzm%^hX:V7bZ K */rQR>C*:$G)B sO:*,mXPjdN /j/OLŤendstream endobj 388 0 obj << /Filter /FlateDecode /Length 8906 >> stream x=َ\u["G4   N`bc!~pIi͌%sKzh/K}_^ x_xvqH]<#I?/ޜ0 죈ٷҫ,3o>j{ͣM>F)7nH#ܼ^h/6 b m^N2İyM-| %vZrFBEÉ ^Xymޫ"ҸBxpEZ@OX([9W ~sHVrJ`S샰͑~[kW9竨%,ϐ77hK{6nk[vK tt? "F;iGnϳ\N;m=4]6De\t 0!ZUy?8qp3ͷNX>gXt>5|yU6ၟy΁oħ7BFx-ha)cʴ\Ta!Fıtٌ@LɈx|7z&8nv'MTi934Rp 7`u{1 rG/5#5:P d;@C `.+=`G / 6w[Ѣ 1b4`'pHT$*rqwBڼͧ6lGh8(i%0 6F& \4' fÎoG0椱Xmpژfj|Yjj!6޲N.lZ%a?ժw W<kl+= Ѕh" ׭pJjI@G&1FL[K#\/no=>ٳwU y48GP@gfrVPp+ eZ*Ð-k]ӟ6DP@)>;ROo@m2EڦDRcŢbv +[gXgKB ۑ}Ӂ*=@D)JP0~@A ]m`~ $2X^hjy1k%{w!?n@D\*M6VNڄ  >4Wi@HOq/`%@;ky9f/x0-)6XN$b!]\쐨y>@9[PptҢ$g=9/XyxMԝH]'Cnۃ^*Bu3!JF6H熕 @RRJ"6o Ʈ3ɦl-#3.N]pu|Ϸ]s3jN.Oi+BƼ$u6ʽwEsk(]ٳPEE^/(I ^_"Wd'=p;=_WsA #ypћT{TX1j"lm쁵8;>"/a4uަpL:ea&)C=*r|f^ZCMxx<3r dp(FH/If3>*T5K#6<ɼ@l^JvMTZF/ p [A9,~-͙d"PvcdH0/4RZY>xtI>/Sw)wqQu-<mmIxlhHO$|OAß}.`zlpJt_Rv"BG7${W^ =fq= gQ'Y!Qࢫ&7fl>嫢:-ZhR- 7(3*ڽE-KEŶ怪[-؜0[pG2#ʸзym, 2&;`a# M.Ҧ~`N:OR/lijve7I,.A1KDxx6Ϙ9#ͼWcO9fA\!skP\;!{:hcn@;qNi՝OAVwCyZG 6FLF| =u/rwt` Ƃ:ibn˪c1N\h@p!DߵDۜ,ZDZ)f`h~ϫy>:CcJ_@$&{dLVZ#-bZh 07{<:mO]߬k6yF*fa1M4ơqܡey17$Z r4';QEO1i-ny#s |p,вNj=4 L6uD E/jBȊ+> з,@:/*(|b^UތPm䌖kg-:`uN`uJ^KTY"nE2Y[JhNԩ/TQc{rD.h]cX:4.䗉/QSXS<;-4Ikqzj23'KVv\/;H-SڅbC )ZuZdަhl ]V&$ ilgUw8?Nvln84+pP \[`Q,2/wmm@پP3_6# h}(sqћlHrV5nsNN+m?ݗ䯅 tGTZEq[Xb0JacA=S:s: u.9b^v41#=+)Eva9wBxht3b!3}TXĮF$&. %@gv@))Tߥ(/a[VE(M}CK9 r=5lsޝyJrlTbԙ)@4xbE6*W,Cm#Raʀ)|}:S^23H!fЀ9IK h9Qb~CP(Q-i# Gq6uaVv.AfC U<%I=$8J{Xfl_:q A#:3&tlpLNAmDӳoʰ3*(5, ?%4tX#'K}Ey|f:]:S+tmaz_ϓсϳ:.eu&v @)ŅsC `\٤\dR *u)r!M)Qmva=@5 sf@9{dynk(i7S ,hCZW0>GۣnW?! t9gQG0`,b~DA5V\!meV|L~[yd/}oPhoԄeVYEeG z˲׵X6(oe?\2 4j:o@Łae*'iXNcg#!y!tDt j2o_nM< ;eL'Ta¾{Ypb 6:<\i^).s#QPR(S\4'3 r|&=њ-\#{^TJh`r,!rRp94lo# &1~]ojUx^&h!VBcosR{2|5nd%Y+]-? X|盺Z6_ |,-Vx }޻YqQ̩+BUm^UCPkymsHska4W꾴%ׁx}cruYH؞c5stZҒ8),ECr%q1i&7ͥ0SC~<4{!RdΓvh֮&T*`Vn\oR 闝=Xr-X|\kʙBPXA7@_WHfJƨȲJiGy `z7^ЏF~|ӧmѫ2k4LS#*_"iT ߟJ8 J_pɌ+ VF]QSm?b;Y~ʰNDӤx1n <HN]0UJabhhyUfƙA L 퇝) Q< #J8=O(K FN i1@O܌-7ʒ!Ba[Ιʵ̨-l1y4zo19{XH*dFKcQGRkZ˱ޡ(T#-taq-p2m(zr@)/1ow58Hj2$^#ilBpH"L'@s ~>|VWZO;HC>RF&p8蓃sB][G$ǒKP4.kޠxQr&~@`z\2XKo5nlX7vѹd7 ..xUo",8!΀jt(1@;82i rgޛ8|ƮtsXРm.[e ZU$ؾ`wΓP~k 0N0{Pl8pY, c`VVčwhͪJ V-88`\qXD˴OIUהm.6naYH,_b U"obkQg6a$3@o7ZޛeӞGm^UbD.CU jO{*ˆTU@Os:0Y.)Z10RgZ =Bm*~iT>/[]IU?GbԴvn}iX4k>F"iVZ["tk>kƈ庝ަ|I`z'V8eŴX ێ + ?kuC[V0M_4f>}Ynn &]mA Q5ClHuPQ:%S@_Xi Ed6I nE& \|p[uWI p>B Ak_2YLn/Hk0#bεL6AA%tNxFQBqC&8vs,.2Lf0H'f;!Rz̮!'Gw:fyZVESK^KE=8Lg37OK@CbeFujԬE..m/=d}09eed^e[sEbbԌOqFD2rްt‘tyP/:.vT 8# ڗo7$3Zo5@jԃsLP[}YTF )ZSeϛgT=O3i|gv [Ƭurي{{_Sqm|uWlLyS](plv%2HV1-CI5ZIoBy&:l!-̹s,)3f9`jMsЂULQx]K$'(whUM\ѩe샛n\F@Z,%"&}dz<#a ,ulqN0a?ob-'Ԥ1ƌGte Iǽr2nQ:'g]Pf+@4yrh`UfZDXo #! n/md ǦwqF+Ow"KYu;k {v2}Uj26Io9=_>qQg:Ih1..7j#0,hQ"џj!Yx)w\FADL^疷{-hT5)~h҃,"RrBq}fV*Ŵ%e`dYzMҢq͋OkyRcHx3X<m28։. Lpǻ3ZuJpޑ 'Y8ӖnC)}*P#g*ohh%j 61ygMۈ')A6R^-Z3e 4ERUC΋d^,q 7ɯ5խ _AfK"ju( .)&]0 )u׾y[7h@uGP)a!RroTrlFP6 : |l("Y0__Dcsv3~iIͩ*,'i~%|>1Vb=ێŘL-l3u>L&&Ӫ{UDE+]~VW(mT Z,#{RL@B}ofSdjZ(%E^m>u;ؚfƫCjbYDIeI|~_ݢ;)^E"1XKjTe8/UVu+iH uȝw0q<|/i6~Vu+u,a (Ժ`vԑO6Z,Sov.oskN<}RI\&(lҚendstream endobj 389 0 obj << /Filter /FlateDecode /Length 5784 >> stream x<]sq,}q2 8U:TlrIh\ԙyoO`vE]\pi4ݍy5j5GWVquq󑢿NWߞ afHcRGZE . ɸZ㓿8N!8XeG֧Ǜq0)ֻGzw)bQJ׷04Kh51[JBDp࣍ʮ?K)Gp1Qk/+~y0~>U*3~X!%oyq8qtޛ^:v[m&7D{hx~8>eQ;[#l$i}E0™vuxW?x_ux?㹃x =: @Iǖẁ1ߥ@lϪqu$/FJiCEoeiu7LCc`Gb]xvB +>넦H90}xpbD:x&Q0qN7^}FD #1Ru*QP˯03iRRᙈGyzLj*9~WT//c3@tI??.V.HA@Ho(EeQql, 5\Ǒ 2' VB-ghO ~)e@"6*JI2J'z8NfϘXْD)$bb0wvp4i*RT!{{ tz)q$Õ֯ aoHK>P[ֈ@m F0ߣ`.nHݤr/+_G%;I{pj:K"v ^AAjԛT _f *\^Mp Kq^DX:N6,<-^a(E Y\~Ph:Rч- ZQ*Bi ^y#@# 7AtuŮ'! 8|MӨHګ7:\~3%wY z_"Fk%zg ! 1@\=^A DŧgLȾ9  O,Y ~ř'QW5/92ֲ,87;5`GcEnCцJI4,>>!ff˛1 2zkr>ҌLOёLրqI. }!L!\vH?Ԁ0`8-J@U}NTCs!(W5h&ɔ?b 6Ն+/W#TuPPȝ8$;c9 YqT&Vx"0B'fI^E"w|- %Ku]~XI|^mȶ;.5Ӭ_KYp[$ܹeԡ(ꋨ1\4Uon:Q\o tpDqdyw|]oSGS]:0KYJ}Wo`ށbn#D 2RͲ9zeٝVbmŽ|{3 d՝iu7KYS^y8Kٳ_>5"٦+n%o )M.M>G3 W |E\fM֓^f9t~;+R?^f Ăav_CCcSme:<]aڭ\0K0@[ymO_ xUd5:v])sڔS 1UrU{AT 9im)ŌyA1 3SŒ_x_hUoaOSD>{*.*$lbT B4Y^ēcdcJY㊢"Z?Bdш_O{韥a(ha|WRI]l#I(TjUjZ"A3ۣ8aO<&V pЫ\Aiũ_j;]FRmL2$iDY/OG9kv.yY@=%eMLPvm|!^aƬŶYL[+.A&a@ZI[J-􅼬:`pZ_: X Ձi}VMӼ}Y 5Jr7֥}x` ˉ_ޯ-15|!*ӧ : jӓ]tSLC)JbfMױ *]˴z6KQ t/`H1'ř2Rp]$dǷN4vЍ ۢ:2ձr?J.I$/c궹ny+ƊX+@(҂^@ϗ6)x莪4\B2v^ډ^LgFaJ%ՈDO8xX3_o3rH,^NkԼ ͸jw0 Kcwf?D 9 0{$肾Mp st-|vvɽYE߅ >ESo3$Y|ICddY)%Dz,H22wϥ.~~:v2}J]_Q:?PJ^ŇpfƠ_K z$ç4M]xbW?{rעCZ<_a=9[ f|y&E@_AL1`xҧOn!cRoa9yR(㭀a$?߼* PR?ɭ^ o9!ȑg@~Ț .\IفG堉_2cKQm%{$0!=81UgP|lJD@L.\Ne~{-Iy*ΑCExU̙ Y&z/W^A]V X@} #4zB /mfYm=_ _ hփ9 A57_8xH;a: 7jhOlŬin+١\Ft&x3Zw;n4 :. -ooɂY hCnp͈VY=*B9I%5iS~ ܛV3D͠Ty$aT͎g.XpE$mٶxHJ2A(J6NuJ$7zM֎{d-L*$+?>nv[M/랢\o=C]nOD CT0X4ANcH|C8 q>iUg" A5>r+W^>J-(/3K5dH;ED֚ B?Y"0 dumVn:QğF TyZ}3+jWJY|35-ȄLXaUdz\~ f$1oU-p_!kendstream endobj 390 0 obj << /Filter /FlateDecode /Length 360 >> stream x]n0D|:"_K?DC3KCca{glu\q+uNy+q|keTMُi%]ӭ]._K.q ;\}8S_JsKN\aE[othlD`l1ME:G*cm Ģ2DܣGp “2kTFN (CTD䥀L+R@(㵔g)2^Ky#5};05 zWؾSW+hNAaU)c6^zb*` "B1"# BX9_aX=LuӦő7˼V ?-endstream endobj 391 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 4597 >> stream xXitS絕80&4Uk7N4$I!8!@ 6lKd[mɃJ+ɚmٲ<x` &iVC<ɽ$'ymZ?l-oٟBuҗ,$v0i ys&3~$*$HAeAC}s+%i 5hUGR,[tA/K]!(9يu٪<[n.ΑJTOT%O-ZTYYXbe,H R7I$ Inb*l$uǦ~KUe\RWΕKrI~v4_,(^RTAbʴUkk5URYg?LbR?%,<(`aV#mG ; ;_  (\BrB%x+.8,&'QtgOB=LgO=ٜʤI3Kgtߢ؟¨u~\t㌘JhB@'RG2l-A;ꎺZaO9[EU艌#O=>#kdK;2Zڼ(tbMŬ%;רH멽= \ZZlan2FVVA뵯PIgB#ibK.cwpӰ^ȢA 8%K|ТJcnCB^>wn˨NhF5C}\ z ;SFNhoo#A/3I]k;"t~pp68Kū)`sUC7WŪ\ j:/@OKAFAHPivuC1t!`@>)B?SlȵƐyH8fG7}v H\KI&FZ9hZGyV|1~;)HpyÞ'~O q-p/d1OM+?(? kwy?M0kĜH;z=Pu^)|_Η52<!Zon8gj7IBª6z%GO7'?A3o:><94"e#"boA &{hOv tzP\6]xX BoP umTPYk 桟om܎]2p29oFF]72ITVEu=]ua Z 6lh$]< ҵY`xGz>!:9ầZaYN٭ s~`Ka^aϨ4O8ay!<4E lt e҄3{%#haŲIMKN/j(>NR0vpT\0vy1=f젂rXG;z" }'EEho'[ $ꉄcWDX竢F2bxCj"ԍ4~Vb~ۧcAdփʤ@TZ:gyy'Owv\ʯ*4VIizNG w]V;}wE1O|Nvyf] ꘁFT l5Bc5Nإ/ЧZZzdfKS@FG{uTPSS~NMKjdѰԀ/W5[Fi8֝/J'p#i,lQo*ʔgI3` O[qX}Z^c"_B,#gZ|ͬ8s ͻ)ɣךF } U-+yȱHM8zvzTxB_ CX= QOyC4 90-:D9W/'(rt;ak)I6d֍G}wDtz=y781% F0D6/z X8bdEoB}R\]~uX> {(%;)]xC?ǤETxuT*jXlilmr8'O]=ݵ* AKs}wa2kܸn0X"=hcLe w"~&/YA> stream x]A Ej4M qѦi{(Eoa]t'yOVn,aKL|rfUґE;`wZt$w ,QH:!Tgb৿v7x jW5֊uV$!J8*AlmV)eHB`ED_C^5 h> stream xUmLSg<%M w3 s26ۦ "PʕIkW `b,Z(B6,f&mٌl!ے*ۗ圜χKLpߜPDe /‹ BakazSi;R(!$1s,j݊`p\oq3vARU;=99{wQefPy:ڨQ)Bɪi/JCj5ښԙ2cÁV hmlFREJMmfl|Fghfi#`ind&Qc`1 KkrVbx1?KĮw ҄(Q*JSl qgn e\~. GW濅`&RRV)?([`>D qvWe%M9z;7>&Ԣ7uCy=rN{?uf%~MFn.--BYxɥ H!G<2Xh)S(zzNvOmiFQf6?OƝ0ZCjVd̘#S^7TZ1|~_?hBxW&: WxW|m5sv2 Ec04}L  ̧}ԾݒUΗdJƏBxZ|9K}AXs\)-c$͖z|d__64+\1=߻8 `9z{d݉cqVqÑewmOM^F` צD~$̓@9Z.i*Ľ$[0 endstream endobj 394 0 obj << /Filter /FlateDecode /Length 177 >> stream x]O 6ziԋQ.Ká@(=j0dٻL-x`ypK!q?Nt$|Eڍ_6&`p0i?"8W7f @J!TRv*8?BuuŸDQXRBksUcEEW7VSZ`endstream endobj 395 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 373 >> stream x=OKAgZ3^*u ֥?t(OA-]ݛjKZAߡPYAx~<BCB(˕ş a03ڿ3c~҈@#!7&=1v4B6nL4[M|~!s--fǺ.<:ɏgѱ(!.&{B6 b]B-'jyu` >cO${x_ĕ&hohendstream endobj 396 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1107 >> stream xULSWkˣ`?&O3MH[T"kbpıD!+6(BZ idfL.Ѩaɂ#-Qe.fWDzd.qrϹ79KS*EtfiÅY+}z8SїٳӂF 9Vu~#}_]OiwC'ѕ/?)u7y6mL;&n8j,."yE:mw-PkvϷns{lol|⽼ren8ynUգoxWWûV4s/6b]Y\hwY_P>붜/7(Jc+47Rt1>MPYR*~N)[lzSe4{%~miA(eFjh̛ `;;;q~6Q T TF4 1(!ơ( >Eo2ҏb@EjmZיd4S,9/E}/Ehu۔yP #3 逌1kI^I"cEax؀ɿq`ZgӜ< 9n'FsԼ41tA\|e:= Е;;: Z6c] ?dU|A?\֢{7Ic{޾h NBb~6!Πָxa#c-wwg  8.sa`NA$D7):iʒ<{]-ʼY Z{{㲢\t|(s b5["Ԗ4G"uF-z =I[-6O(fG] 4&G!953Y6 E#`GX_W[1;7ˑB_e @!h#Bh,1Chݐo∱%9) Hp$Q!^H`/uN` y,[ C3e[^@ ȄGy/Xy;V~yD&*L 8K'O/QP/ÒDk ٪&&+իȱ@endstream endobj 397 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1989 >> stream x{PWint >"ԢY_# 3 Śq  0#@&Q!ƔQs{U`I[uν}}4I8:$I:l޺t;3(HÜf׮(w\(pq<=IvG&1RMFnEYԄhZ-[lt2,!&2"N9B-)#‹BM#SJju G(WzHcrVY,!IOSKD(eұ,-*eA,AYOGۚ8U@:(rh}b&91&Bob1`G wB,N8"}AJA]w\xщumig:׹π ,$UJ t9y8i=ˀO NA#z]f8 EPh*P22i bGBW7ћ@[9E' "W x7+& #0ŧw^aK*-t6 3!8!蔠 =׮lpoǺVmi%ΧC1,Fc#ľ 9lDlNh@/`ӹj ! `UD|dXj80$}x;J(52knxP kZpr-,] ['0֋ ՠWK r rs e-Zuds?/b9!;[W€RŪj3$m #w tq2 ,9)FHA*d*0:^oIN|P}Y mLcM hZ* rtET~HOI6B"a4B[,aoI!2cTp='܃^v_8ɵ=O4kS{Bw9vm9dUwoA+h8WaS3&ԅw]f &!'%Zm> Y <% g(J?E(@Y5F?¿_^ Be`l0~ڽkPJtcs𥳐Ƨpj|ʤYW0o.UWZ4oy0b~mI33bPO $iS]6 ⹽}~~ WMN+j7>N@8MrGW.4zR5`Fj(m9g% Vp$6D(uendstream endobj 398 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 741 >> stream x-_HSQsr7]bfaDieP˜w׶ktt]66lAz)襂ފz,νͤp~ԻXyithT<knԁVZ>@]Ncn`Z~nahc:H7;lb6oc&^vlgx/}O54x#7V͠3B. <܍Uָ1Qe1Tjrqzx J,r`vvUJ''/?KD%>T <$$jtdt_~H ˺,qgLeHTѵ"CknJPk2W/8̷l,35*aU `e|#%@\t_|ŵO8ri6>=XY$nWz*r\'!k>7dҠow콓*w}T9~?A A]K2@x":X{#[*C0 <]~7UD!3T;#]*)T|iP>hjQ*a-endstream endobj 399 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 447 >> stream xcd`ab`ddds 24H3a!3=,[#nn?4g ~O,ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*&s JKR|SR39Yv۽Kޭ`.p7$w#+ :Pw/rJGˬn}}nl]];[f$V]#=D.7mY5@{Y'д&fxw/;3ibĞSb~v)fZWS'/`8}n9.<^Sendstream endobj 400 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 407 >> stream xcd`ab`ddds4H3a!C,[-nn? ~O/ȘW_PYQ`hii`d``ZXX('gT*hdX뗗%i(gd(((%*]&s JKR|SR3Yfظ" g.qcu~.]RWW4f%+(?u)}Sv8*R5Di[̙}-s`nJ[k:[uweJuWqDL?aw]+k*Z##9*/?q֌U|e ~8O6{ Sq=b1ùendstream endobj 401 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 1000 >> stream x%}LSgB{9]nH7 l3  \pG(-m)AD(+EXΌ 0if1#.E^lsr_=? EQٹkRL /h1؄'h$O _d!GHC#1E3ZTgJpx.i۶TnAk֗+lU53Z.]jJS*kjjK\cK> stream xY XTe>ȜICnk*&ð 3̰Ɏ6Ȣ*"eiiiY>^+j5(y繟 ӷ#H,V:ٛ1E|Y"G|U K]2oug+eߺW^}uo ZT" P9zyxۍvc7~x'-q ru[L[n7-`Y&Nt 1wxP`O;' n۽fgD󇃟H[Jn \AKB uYkEʈ︭r_k:oӦ9z 'Oaa*f8af3#'f-ͬg0Ff6380-Bf"YLb3Gf ,e1˘7 f%3y3!L??üX1@fcOceR$KWHe1#/; l O/ pPh9¸Y%[}e=˺Eo D>U~wq|K{^1$FnSc+nCW U}TQcՕ &j%u]NRqBr^ MJ$_ Jhz(՝՞nb&(LC!y̑&RP=rQH;v%282D%xJ&m}!?~r{[V)H$]K錭"q8S3q;PW\喻&~N&%#UJrfDKUpLAMpxC"2Z웦9.Ysse.p)_GBjuD8rqY0 ;eշa(]M(&.5Fe'J1]YEj-($TEkMye!B`b{|{~MiDV1 ܸi zdgc,]z,pѐ.lEܴ]4Fi떫V ^<2 ڲ/ɘhPc!;2(ZCLcGԐ}i4l8\mh7xf g]Rel0M&d>C~|o۔9qJgTv@NNl(?[kk KoJ-1uhaA4آP&i'QXI)&Cv.j t޽#jXu h*ٓ񘛔O5նPٶӳҵ|w%"mGؔ|ȇԬN<`=9|HJ̊h Gcz㠖UC[UU>ͥڣ8[Yu 6{x:T뜛l ܌E.˕%E-;tBejϹM fvzgFp_R53yU\>;;stUA">?/~9g]soZt1 u"K޷EEcъr*RO*[NH *(öϮLc$?8sI-w1O=} 7޷TWW~ iܨ2<G67#2^NZ͜ljZdBNvNy6@g!VOx KC7r$ZQ`f?dQ*j57Gɒ@d͆r} 98{&W*JD;#7SB#gk+8HpPKNjmI\Cw)735Fqxӎ~GG,y ԰\zf8z82KASW5f~2ըh28WܫԜ/&f2dd2л >i~&e#i`*ꠄm΅o> E l!"Wcاu\EXAp`xs{\KM &[y< Tq H<6U6|Yc=vtHEF|ߛ \@qhEE~N#ّ2Z{_Q6mD"xڀM-?I[sOkYGĆ..Yt_Χ\yK!1w_!bJ[q5[G8cӷQ7; pRkYu?3i19` i`۠J2JZL>MHq8m7.?"qIczga#ZPn.6B@ŵF'4fH L?ٯBRriTW(rE[42M^0W5-hɴ8\Zd:pxo[N$ KyW;C'Cx2Q8-%Y҉OGq"$7IQ5OPhdoˊsM8-}EVN (V1ꄭBGsF hH6WEQW:5-/ێdeiqrE¢nͱ_o)okZVQ3P̍}<)%:=|<B3e5x}(C{ }%YdW%p+%g1zY)DGi:W/l7BA8++*)6:<<h9M5QVIϫ2|S;l>vhéMaGkx.ސ`MH/H:Min_\_} c\u:OLA?RD&:?FX%9cX?=҉րܟ`FFpt=)홐IK.?qQ Sظ6}"2x 8=J k.)9te]{^?+]畦8\/JOZNGXMQcv#^]i<iY,T2R3 P]3} 򊀒( 1y68lļ%oLauh) n5 vwku?}<rc >A'W(*񗓎&|H9+A d= 9z}N"0.V݌kcuۧ vq^o䡡 Ff,Gfe=yh_\cE,ma>MD SVROOC4Dg7; ̒ ,C%7sU^g)f+R\>!fhs@xR/m4ʞ,, q2 |ٱCS;5 IJXdL|B/.$f–⊿c umvqR򕢷-O3z9k6Qvs(ޥ?g=a%%A^i5)X'iktjZHNs.A+Ze.O;zl vYhPW>X2c1r8~B [|m\ ׳7|ˌ8䎤ЄqO>TyRR35OD%s]\vjXtM sL!{b]'kJ鏉dHO75&|ṳT5=:^="y4-\,E=㝯Ө}>˾"ơ)*O7{ XrPZUUTXsd9_#rBH9Z-yo; {[{ZcÎ@wɄÂ6XY(r&q+}+v$/=CONŒ.H!MAx:NMM5@NM@$[22 xsFZjKnT'lDjq,pqڠH݈}+@@e&9ԜƐs*JN+?,~8AR!sW\GhuZ>'ϕL 2*v'')!)(,):׉z;7$lkz.b!Y_P(=`?!YM[>NOȾ}и3߿ȿޘWX׸I6VJ ? +sd4_d )yY!ƮAFỘwW*<\dǃyk` 1{z̃e-oy#U5Us)%0{9 7sq…Т`{lA\?Y4C^.9o+O.އ\w뮉6+T3f'jrhR*:GRٕÚ_wFe?c1Zaendstream endobj 403 0 obj << /Filter /FlateDecode /Length 159 >> stream x313R0P0U0S01C.=Cɹ\ &`A RN\ %E\@i.}0`ȥ 43KM V8qy(-> stream x]O10 @`@,tahU@p' aKB,N>adoᅁkCj7' @,MXcbI8rA/uZGI@/iFEi3$'mi O%Fc&{&!=㬋)}F9S|endstream endobj 405 0 obj << /Filter /FlateDecode /Length 6829 >> stream x][od7rkE~CC}rx'lư-#z@+uuKS!<<-i4F-^uB8Ո]w*.oO/'"uuv) V/OS6 ʅ3nʬNO~\~vBOqJ֯)Ũ__oJA f G7D >U.csv}U>X|J\:lN>j-V[?Dž:pB˻)>jn#0~®/`7:`|jl.CږF^8C/UC\npA]WjUD?>쉮z-e_q78G$\_ r{PMMJΟ "aoREVkײ1f-7e7&X Dʍ+;'ư]G?z-Do-Gb߬Gk^!XiQp0v;~qz5OoA7|yen+$ >!釫GMIhdU8)I( Ot{ܲG'?ho35RXUnW2%HgW@IܽvK2v}v_zpaV9dAX<0qb'i l_([E%zgї80vWQ+-A,,tLqSAy5uIT>FdH59~QG=mD{Љ/lPvio7('ZŧަAeu6{A,v֙,]+B 9[F&JMT]AՆ앑!7i)5KFWh\mpv qƫFZ-7HYQŁ|%c`=Mv{rӣT].5j*J2?S͆ q@_#W(Nш4e7…A`yV0+.G(mUCb-EQeSdx4NĐQt_jq‘8@.q}mR@4z8=xipUXm~9_"/Xap$e]MfBa<.!$TL5j qn::5$#wQGo y$1>k%t ~ͥ&GX-pSNMgmD5,IhIF_pWY vؗ 9*,H! %Ixr4=h֗ %h> |m/7pĺg-.dk@lخ4/Jeiu;=df9|[+zpˆHj:uW`LO IV@N]4>rN_JU4CwfA JwSvo?&BK;H@AP$*o +7 yѯ70f$:ץI^:dqa4LC?ʣ1'h7!FV!·ޢ[mzؼ(͗e+wyQ ̡4_ϥ2 ̻=?46?-sϿ>ܡoڟ~srۤ8PNA9ăZMR $B/$t@_Ik +U1uY?ugEiD7UM+"@&Gk|KRXCJ @!0M887~A">0Lc8z!JGevFi٦ڱ )z@Pv+3(5"t8lM|UoS3DWJҌZ5DyH] ``7FEf]<2ї C P̢}} wm/ٌ$ƛx"F{bI,Wˢ.VX.1!ԗtT=%L BsWw)tw5(1Dr$HCm"|1PH{]L.8U%A\56GET gG hGDx>q pX`x7x߳oæ<|p ('F@9`kw W==U@ۗ]^ز.['Em9 V[=`h!@ .5UX8#梖 Ǔd$ i4g{\΢ScmןmpC,Zo>ߺh"gt_`'fyQK'p, ʽ| ˆaQ4;&JPxJف.=BV6@NX.Ȭq1̝_ꢜ\ {Ni+"<<91 HNOɵ$K̭pµL&B Iv>Nm5Q'q#O y&[OI6Ppi41X6-J<xuPl|C*x\#:v1k ʵ5t1kd1y1*M> vrҁݥpl͇#IP4XbYWf(ʊ>ʹe6E kڭ0F0u@9 ++9T3;+ 2JQ=tj̜- FdOmZ_?&gF{*;5>2U|»)10m1p Ѭ섂Gda;ofe/7%rQd/z*WR=@dK\QpoBnЁ*6@%Ұn[Gzk [tOB|bόKZ,ӫG93A`$ϰcC E.͹%m`u`RPu:V1YG{'Gc 0l=ʕAs"O2&߫%tUp-̀ҡn|+-'4r_}A=#^ǭbs>Hk*>}XwMP;nW # 5;j*}8=3/ձ #}LxɈ3b*¹:]&+i?Dd4<>K'˨kұ2$Lcax@ߒzeućI3x%\%oXFo50kvɌh&81[Si"ఫ\[\تZ~q{Je[Rܥq$,CAfIpiE(Z3Ť(r̂,fV:"gťquB/WM;~V-ڑBOݦ԰UM S8ŭ8.e{ͅ;Vb][B$eї qeA<,T;r }0J,Zd``o,}qTɋ{E^P. }i1TL1L8@ p3zQj!V !|"bXJh_଒PY~fG't~hJ,_jV\P$JR)6б"Dr^NdxEdFW Rڈ$`ui )%2=V҂3=-V *5)#¨_ˬN'#|n89PNPFV\k(r!a( EG2KzU,u;\yw4\@ƬS#6bB떾U\`hBW^/,Ѹ ) ;r9>L!0?rW®V,xBUB._jZ].T.qAZӀ3n2v.1Q}Az*q,:ᄴj2yw}Cc`\ADxl+(2ԅ11 Y5 Ite<>J r!bȖF1(,bŤFrMˎWp*MV}SKdڷ基Sꌝo7l<12ǛrڬF"G \ B. +leAH%L ]zA#Dc<֠!_cJQpVXp5B\K}%(z܎3N{7g7Eo: H>,"&-w wvv - irg+ߥqݫtLc> ֿluTu'xخ*SYn@9`Tz|. *-"w;*/F5`›XURy@A:qw^wlq_WZE= , , գBSp}ͮ/9t|'HH2NeiZ^H.rv?s=@ҨP- щ8T n5BJ.z~{}A)TQ膙mօ[i>4%^FW3s IiX]tsĈ&Zmc8!~:bzC OV8#P1غDhu,ZՔxjT: FcG*&/, k#h0o:b!2lJ#5Uڤv:{zvɶ|D0AHz̋%/h er+44G*Pʭifof\4 [Q|4A4kбRFK) =ֲޱhW| z#OĞ0dB z[h!\ͯGL/i-qv|KM d;z[RV3 T-nrh4_f?IweCƽV4CXDا#(g;%,XcCo}ڐ⴩~|EXBҼ/SN7RO 4W,-n~቎`}ןJm۷]'P/74.MFdų&n_B~[c j_=ݨ/y5k:g:C;6%HMމa÷.6QkR5c,枽hn%1Fo{j|*Rza$>dZkӀH'758>4nA30%r][bAHfS&2ǎjm"%}YBҽ19sU.!h \|!EKszu=Kk˜.Fr; s@\^f6Ihu6UY(|.#,NS?\5 φ>LGlk ֟bewN{bn6t[ ڈ|0z+t$p]e˗pȃ/OJVArTO_.]xΒ^ۯq`@da8hA~LV#=zK~AQ Z x.qPz~=Brjw%[n%c0%$5wJNγ=+t0g'Qۈdb5 V(tSb:oM :Ec'ոԉ-U=L^?7E)R[yp;Zm=@"O_=/J]wV3/a{4oץþ4Sw9r)g} bmi{ѺZ̯%=]Z]-~ɔL0b-7?RQegKʻ/Qb,<;}]}Ћ1r>HXS=rywmi~ٍv;E!K0/f?q!n=;/,&Qd]i2(}iҼ+Ҽu`SM gMߨ@xUD.qiq*Ș,ꊃty&uHuR`-ju vu{#ud[݁U=b9xICw(;f7|퍎xܵH7}}Sc_z{O,QIԛ_bgAJªPǕ'IeCM9 'Mendstream endobj 406 0 obj << /Filter /FlateDecode /Length 5491 >> stream x~3]=EmCj鮮{Uj O__m>>RG?iw?N`33fɋ#T'}}'6' c>89;nrF2z8lhsv+Wg7_&p.uix MB^AheC0t:&N!}16%WJQLͣMPAT_o$k3~Ƅ12(l1){fxa7jM@,W(M1~͌W؂ϔlär97ش<tV9 uNY?hl;1sB 'M :>; WAb@[6 |:'fjrHIY> fI ']8 җKz$=\5<3y{.<, 8]dH TF4 G1bp,pẑ[n(  r2භӾ L/x.IE99y5qT~-)uFd1mdC$kGgl/*AHH6td`aPۢ6Oks_S(Ϳצ7\ *t$bϩ>.X)ç-3 =H= TV$_&$j/ܺ/#X:!!s6n%=&--6Y9=iM |ցVv`G䋰 2I,k6`epJ>5*|r-`*VaqP:"?HN7v蛪]o__gJ/hqIE? tpZe_iғWბfi}w5o'M3VB5i$ڼz䀙*q'G9b}z5, _!2Rp>IxZGÔ)na)ldV.1EX 9M 5685=vQֱd|]9"'˩-XdjLœg}B*J5+f $}c턇*2{Hʑ}U6r#g;_Q4(FCFGpӨH+cD[3}yO_7Y.1{ Po*rƙ\Yט[4ָ9˜W )6j/v A x= {4`Sme8=PpFeccEol>b$!ɟN~ Nk ^2ڃ9yAEXs0 Y:Jxww @2c7~0 4J#/5St{] s5sFf)cg@p^H2”#ib %9;ӷt^0xe`ܘeYׄ.K2)ǹH4,r2^^'̍`S@Sҗ#@G6qrLӿauU8|1܊Ed? 0l5%'DaT_& lc/}`=HU `ndRAs.Nqj ͇C8@ d;*hcZ8:8>?{/^]1v%_m$TX>?8^$j+9P jQzD30Д(;HsjCtS(TJ%4" DQ#)!}loy_̜Eޗ WjvLlX5J__^45+,MC%9eSR9"3yk$7|@\v0ffyՈ`t<{ca[ /P*,/SK丨mJ[oHeU'0xѹ$EѬ"9 }@H(A9iBS/sW"TR5LK I0b@yqq^h)U$F'L L=mL0ǖlQz"S>ͬqb1ԀZBG^24 8vU,yhpYWxǓ,ꠔؔrts;*=}T fF¥Cc zͿ;]NtN~)s:-G0Ubt!fYaE)iƆO%j  I"GP-̛ Z6rhP'!ˁN֋ ;U.`&VNmn8ݶ/0szЄ\~Y(/ y|Ce,w . bP?%{b`mWy?W/Ghm/%%˩)Z4s/._O.Kz_^g\RjM|07fڱ+c{_VlO+>:;~ i";ʏ ‰kA{LG/!o,٤ĝg؎s`~:MT@~^XXYVr}yeJ'۸Ik\Nˑ-x!?Di 0{k \YM?2n: ZcyMAjܲI}㟗D/r=AsBw^9 p\f+HEv#b.z䧻|lfOpD>6َ.xvB@է6š|tyYh}ۻ (]*"Ą{"L(cׯYj+qWۢ)&6U S *lW;C MIQ9~Cr |ikO Ds H8D bSXY ˞%a3Q9^dLw1"tle?A CV"+WG7[`2 M7s.B3a +r387 gJh^&Omхk<h*uސzUL: m#"A!сԒ|xT!Zh&D:F-r@iSzɔ.6("Cpz ҶZǚRQc"tx" Zg /]p,S޽@s^XTfI˲JRf:m\n_w~Î@瓼_Z&"Y}F tzg&̻rT0y]S+5{f{<$z% b0EJ`UJ؏o:Hʣ!xht^-mCwL=qd5.Qʘ&I=X, 7 XV`|W5əUqa`]jox"lo-ͷEljaͳ*Ŀxb;Қt\=h)\rsBEɕD9a)$LclPxTӝ̺$!jnO #1>c*'N#zb V;_Glvj4*l80]PTMCn j`i)⩂@kox)F|2+oU> bB s8l_"86S ЃT!]"m瞦Y!%_J(mO34(jv!]T7b+$ka8ft]j.R.S<@+:)vk^+*%:S+NJ|)ѩAOġ&u+CPn@!ܓka,`L5v]dBy;Ҙ^@'\}v wVm 0o鐹T XGׯ7hJ则zL[Ҭl&e-dW6X%0vD/<&fMI0P"z_oV`nQ"~啿[w]hz-rjE1IyEA-JSx3) /61XsNW]yl"A6Y4eN+/^A;p%ᣯ"-%;a,4JYs4/Gi8endstream endobj 407 0 obj << /Filter /FlateDecode /Length 8588 >> stream x][s%qcя8sq<Z%GINYZU%Y^+? ?;} !\zv|ff_yoMڜ>7L_7l~zX O4&y6Qm C2nͳ߽Qa0Vkۯv`ھڝI=\qtno:Ltz}R1 4ZG48pq1NosRzH&Fwpע9=BX[1.W/EvK)?~|Y8:@0윅Q051cLhѐ 㶿͔FMg"_8ohC8Q+_45^w&ĝUr~ ;ĸ!z Jc_ND|e8``wθ|K2-rn|J.& "Q'Gs>_M'\t@} z& mpKhhBLg`w$CLJvF̠i]_ ~}2eq/ilbnW/ky0 .nS yg0+~î,sXeOp+GosڞI@?Qz+M {~`S+ʋ֘JX+Qs&WBωwVxG*:譋FQ{Z(yyx DIx4@#2iL3Y@YhFsz)u^=X:CgFdZjVE?=>OiڧcF<'X0-5 {oiZV_btE?7]-u[:ZBI=Yq!!]i&pVxP0;3laMD`zIlǯKo>EmX >c%=>UHZW$:#pW$q#k~Kq|!K6\."O_g9 Y` 0~ؚBϓ\(T,ň -pYWd:\B{+)<8b>WTg%Ɂe .-z(VO;WMAyͳ=Xhd<&w)MۯKyi~Y`Ui)Ci,K$i:?=+ÀņMaSJYUA4 1͝X,~1kbBLؙLI<8L;߱Q:&$.Fh9H^edYH}!>mgwxg<[eaL TQ/M[q Qei /Qoo txu]@`*}粋YXz[ deo oJ4Q¡'_{<;<ĬbNAg-̎+'KŶ8aFstzAU֎j-'":uy!m[!hX$VE8?x(5Nj)(p5U^{hy@1ˉe7Aȃ .e5/NMᖇzaıgL8B+m+wYu[Z<+ "칉* Y{_+r!^ˊIJX}o,=K֪6|LtPbԕ')=Q`.H11T\=@k :ɹhy^Px^24x4?KY)t"5q ,S:vyr,n2q13Ad5L( nai3KhbImðP|nOq]pW[d *]m0M~8:/+%’"ZXËg\6&&|UPNJo S8ʔE ;-~P,}D9~ocNqX:HCD/L)板!{c:V <ќb(fs &p#GL@{DH[q`upKtEX mg;%a(Mkx?Mnjq 5P dGMjHOkh'baa[i|QZ!@E.Ƥ= ߌocc%gZI[!j1/q u}U=]{ b9xHHc+bN3n~}ui9 ICť<SHos̓mF<\K("J8=St̑vIʘꪛ+wͤ@qRzK\L6hHRF֒i)Lh wSz+Mcz@13۷bv?XP M9U5.`hC k[pmNbN0^gulL T'זS5r[ |I;XSRvjL"?!Sчx)5ɩ@%>'{z/Q|i& -8I9F/iVJƾ.`>< vCngsA v u)<#bjEKyi~m 7[$nIX=oLCpvc4(\:rlAyZSl9#B'OWÈ2h/c}K(y?=Y dZ ,܌|}/)pOZb5@bpú i~pi ,y]:I&OY/(p b 0BlzK)=>2JYOL&.bG&Ƣ*ˊeW@3mfdnan1ky 9g sQ{&QEYJ, -=v4WC ~t)Ff!*HT+s<ׄy8620GeU;>,u` \zLRV9[5eH|,kY+RsDGF:{bmKj:`3uq# kED5D@ n0M>2x8Z\q(Xf>}Aҿ9mxs6?paҚ.y"ڲ<94+mYaz{TEiK$="tqDuǂsl@P׽4scy"$Tm>rtP:-Я: ٚQW 6R׏/ jMQ&1'8[]|!\~J,|}RM qFuJ7Sf(^Ӕ jfV %#\fC4a~: 9r[!xmO,^sW9-kVbn'6.tF28Y?#5#ۇz^aRy+wGuj6Y֟޽2bZ*ǹ!̺Pz~gC{PS4V_5-L) .ֆdv ?.镋e4O?z *%h>wxܢd)f,tԼ-/r8=F><^U+ٗ_J3ghеCR#q%.k8dah8NJCL'~qKK[r7!-x iqp%o޻#񀚓'#Gx{:r=5{6in "3N$DzW_{;X'Pc.ai&ЃG @86 ~9= y`GB|yq7,Ts~饊 {4Jf X)V:+g%jiY'R+Dğ0G{:u~p5ȳ K Ͻ.>jkks؆Dt4EMn!\ŰѫN.|>.]94|қZ\aZ] #c4vJ7 'a||wh+pP#m`Po1~%^q(.(e$Bҍa5>Dcp$rIH7)*E>mn]3thu_'=H}l\ua(:lG;Աң|k4sqqsB$9 [+0;e}eDUik:q#nW,Uʖo Yy+~Aʢ^nZZcɮA%i:S֊lL٤ ^fX'0,B@&ɷi](pn !:AZg .PɪҋDA©"UL=ul8H1bjD# S , }*Ո;8I͒ f|<^L{o"([|z#$RrC4V~zzlj)shD`ed:~Pf,kH+š8JB:"ݩenbJ^=,Ar\D":jZ6D܆R[{\cvn rSj׮@nii@%~3Pà6o ޜ6q`s@O}MIԲD\| \N.7' v[8ZV#XUr ֙]Ϗ{F% r 땂DvXtqZL9ә|7T' (P!9ZƷec߃gooxpCR="p~՜ 0H9[es~VSx71IyHE4_n?ŗtQS]~E /uѿ>k vgd9>'Dc)/T|mOt~s%Ngt@㠛by5"tsSTU\:rp{AjbNd^NCV|7y脳jv 'Js>؀O] k^1{: `xLNwq/쵷|')!aځ4:`!xCf$D Q+V#xGVr9Zv9dߜX;)dpCwk4WEM й9Ӭ ,J{yX'NbsyNg7d-ks˟kMJG.3/)X:YV)߭lXjϖ8 `7tρg_apü&eS5/snӂ3+//gdGBcF~@^Y^%_=bqS@(Xp&mB4 gfTd̻3*jye&c ,K( h$A!65<Β %=D.M֓g1Jq:yi^Ҽ͹YH5W!m*)+:Dqa*&U(50ke>7Q19);&ŗ*9ώe&Qa(Y 3-g@[N x EΰBYC~t6Ydm]duqgEh7g&&/?/2*Q"AV~-?v>~QqYV{^|!5ϺbMИ轩xMKFꉡ4"C^Ë́[¸dFNŀ%렸bU Dq fd xcJ0dTͮ(:xը[ 1R%yQ4]UV+@a= U~gGͳ<>)nSmxCi^]ͤr 9ip\Y2s_Htr% xtqi4Ju!*a7yVJ4/K|m>÷VtgQ*& >Rc-`1;@r̢9A~s>)hN!<*ZQV|rBXeҜJ٩N@qE p. S^نIyt\O=W[}H_V~;61!^J#2wC\?x%s]Se0`v'y9 X_<1Ѻ3RŐ Wa!vʓ*"En^2aY!_vQ ;DWB +wc^> stream x]O10 @+XҡUqP(/ СY:ߝ|reA>E0u- -m1,O)x@fw5|S^[+x$E b'Φ2?M%K17MR{;RB|DSzendstream endobj 409 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 998 >> stream x]L[eO{*;"TNOd_ 6]B fQ,l1fs3ZCK@)~Q |l넉K0^,f&{م]޼y_&b CVY]Q=q/ \fϭOaeo+2! ,F٨9 Lb( n?uzMQɛJ9Ur&4QU:%}+HUBJdZKktE\PU4p畩U-m *iM3a9l°XVc'JlWaK#C5sIno2͹G9[ء0,YWtO"ϝئ{r?:> b>㼴nQNYIK'.[I!n>z[vdo\ChSU6w.2 0DhmY[6{#G!tU287LĄi#̵suJ-i^V$?Wd|ꉈm{CYHs=\d(0DMNS[:Mm^?׫XZE+\UOxl Ķ#n#;* 5JzqWTz2"aU~6Eĝ% n{{oIh2'Qc#"G GFd| tx>_T/7Z$m~m>{3emq̆JIutgJ ѽvz~#uG?lPwX4՗'nj?i`.?&|!>UΝ/ݣ Fׁ[sRE)gs{t2R֞˭`g;/9FiŸ@Hgc֖ /96_W%LQ{柕̇PCfYO'YY[endstream endobj 410 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 2529 >> stream xV PWai#vF Bb<(4BPa`cfaC9>FfPKPUZD3^h4uQ[`զj_?aoGD"2h͆ _sWDt;~p*3ɝ=\bp.wt eOEX$R&T$E\#zI̟w$ AF*%k"5rYBFK>RI2M=F^[> >% \^,KJEIdt> UZ%I֨dIJ ^ PK5+RR#zņP=|īD0B"P‹'%2b'Vs !gb*NL!,gn]V|~}r~e2ϱ ڝ읢ݜeΧ&2oǻ5̼\ys+@ 5c瑆iN qmP"Yk.-ȇl Bl j&B&Nb{Oc7 9v!==T [S$%F9 @t~-2\\YDfN+I<6Bs ?_?W8,l]ƄUW˜3 j(Fa0b7=~\,žt`W ^9Yb>Aׂ)NShB/b1W@Ӑý! XjQPsf!iǮ잤nhm$y?է"FrDO:HI? ?Fh;}DdRޫ|N9}_ _ߪK9ÌeCš {F Һb5:d vG>L .Cq"ucLulVi,U8&Y;p"AǗ )6ܸԼC7c$5Xh]H%hŶ_P%'&LS3o#kB‚tcPIf[lH+o6Oe T@ {Ne}u)7c>&! ?w$ײI{gFn m [ek^4ЛѨmC,瘩XGμ*rgp"d3EZ\`ȎɩP8'mAQA_F[M)df8(:7h'T۪dFQXlCznvTfy_,N֎E'P8JYsh7 Gnut+4ˍpP1!9*d|¡,4e~n8;[X 1P\QD O'OfS.kr/V_hFpRU2m}piqh(?Jet#':kAZAfM,:,V:ƘK[Įe"<-ECkV_ƨ.ƃԥ@y0DR1[]B%}łHD7*Y3yȥ@]6twB}M1aJK SnP&ӵ ů)?{hfǣqhzMB*[M-pQi<5< ^@9uh%BwS%t?/[[ih(lPY\ L!Ȝj}Ů@ CWwmlKufC F#L-_ͪUrfGkHfͪE#w[0@_īAlBtށ۷%x }`t׽vw>mZOp̢_ߺrPEYw-',/yd_uooEz_#`,nOl<vZmkk< EӥC* E1$87ez#㑝ݥl-,az"<u[To"Bz8mִTJժ1[[ /6v9*(.Dmf}`jH g9>@n# .Qi-‚tB:f5u_>9kaa}30n.ڴ#"ސ_ zJ_bj}o#Cn]Mqugs\vE%O<~U0RtX[ TjN㱞Vf-?G[Gk+?rJN-"qZ#l8ۧ\8d%pendstream endobj 411 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 629 >> stream xcd`ab`ddds ~H3a!˜;ǣ~ Nn\yyXV-=S{ fFƼ&ʢdMCKKs#KԢ<Ē 'G!8?93RA&J_\/1X/(NSG<$C!(8,5E-?D/17UL=0霟[PZZZW  !Ǝ|?7,癿~7kޕɽ^nŲ7usא#_]%wMߕMV.WdRٽzԥ߷ka' <˪Z&N.˩-ʨ nh1iZZam7욲BƄ-ݝuSΜ5e$WOcUu >pʼhK^gSB7GC}we{o4m{u=kN^s:gusL=wFcwUL)'--ԲIG%s~]q6w?ñs2p{sWMg {gZv JM5ib | 8O6{B߉Wq]b1ùd"r_ endstream endobj 412 0 obj << /Filter /FlateDecode /Length 7828 >> stream x][\qN^?%OyiO߻ (#X2 x]Q]4M|U}>srK#@BKuWWU}j3g/+6ϯL@ϳD$!MIm 6ڧ i\8$6_>x}l+U^ZMs0nkGG)Lq{xK%* rH1 ~k.R AڮI8ǿBW]N?>{ |q=duN)J +>දA6V҇xAoNn 3P9J^5G[[~bRKb._StzB9Ok<{͎* JoϓK{ǔh1:lb6rWtt2h44S̞\Dma&ՙDW^Z9e3.PKt :NcUWǂy; ErYzGhuZEDKJY3QBYR^цO1>yh,M_t5&;k^V)j>?4}ly8rcMahtr_e*d{|ow:#wyS} r$ y,F=>WP#qZs#EBPDD@2-V\Ӕ@-i}s||156iB{e`ՠtPt*9E ۸D:?&#nVZnE?obg!)ZRV{K hE>8$^Tl՛Y9(25,Q1nʂae7(BX!AaYYRx*F׳grXb]ta[IDmEm=9WQve J ѧ:'nm v@ѠUvVY7bl΢e}glAij2ri\9bDRP9}!t~.w';٩Lz߻DR2VaCږ@Yܽlb >!x{jW&Ghu VϡWujVͬ,ENa\NiZBj "thjgB~aȹ0{ ;S yHs=؅s4ˣB̞A"J0{(t0)Eʠ gp9@QShM3LA>AMEh&m#F7a4SaD#9* JPQ}D0)V9^41S1(` P,sbbk1TB3@5^Fe% T3zfiWcf04*FS 44$φyaJ2ff EGܸQ]4%#2` ϟ4kDxȳ˃! ,Lp>Oc^X h%\y P) ăoYHD)y ɲe< ՜fO jN(30? n0(? .e ftG0,r-B0pUcp y''&Ǖ&'2O` !(?Hכ/>=nAY~<{X,{> =<}f`zγDg]P\1{=YR"Kю5^RRRb=M"z"'P@PK3#V4jvU*k Ĺ>9EJ] Z2Y ĝ!P2[%~/pt|/̞{S)#+SQwl- ۙIM%lCpÛc܁a" Mf $pc}p Wf$ۃ2 5auq2jnJǧv!/φQք&g|W%u6nTl- a3lYRX5 UP;'VoUF[vWVAN0Ƭ_c*wpU;ДWA]W.) Jd+)KJFRd.)wJEҐ{T)wJEґ{^(wJҠ{T)wJR{4)wJR{T.(wJR{4)wJR{4)wJR{T^)wJC{4^) wJR{T( wJR{TޱwG]ﵑq Y-:)Fj WF&RPMۂaT:ֶ>ia!=y^ejo*[f"iʒ4m-t+&ޘ-.om`v 4>h,ǰ1ٺ-> 6m1pFc9XmVDKy/H(RڂakKc m[B4$-">XHT.b1TVF9]:}ޣjrtbv/XxHHF@z7s}&G9n~{>֭ncّnHےqd?Lb3)'4r*}l>>o`sWNqh~cP;ń5wx4${y8ٱ1MG_v˻u$fGT?TV76:6Hgn0JCN~b'?Uṿ{W~hST#5ZKHv-CvcTsVh;5[+ $ٟ褅h7Xf8l-dT )BvgZNB~l md=O8TppPMdVrn )TSƧPOB5>V'9Sr7ώg|51`i E&o__ѽ&ӹEogw(,E _lWϮd(Vާ?CQPpۿQC!w h\ai)S(L$rJcxlx v ʖ NL!Z!`"Qb闻8.⛟LG{Pڪc$[J9 rI(mzJƻev7fW?Ps[P <*hdB9?x_sOѓYEc9M3 47dҵY"-{+WzЦ)qo v`L<%of,Cp9IQsk1iTN9Iʉ"[MPʉG P0nj*WI  a,jHVJT <3vQv^|ӫdGaZ_­c4#a-ul Ȭ!ͷEGv(ٲ8^M zH`U54όnR~'f<#0=f >dđ"s)+ § PRW2g(L-춥ߵ,Yxi怞ߐ[rdϾ} A}}vLmWhqC>ĥ 0hOH'j?ޘ+RD'۟5^x˯=$zcN,Qs矱M u!R=vYԘ2tsJ#Fp^mn7oS1Ng<GʺT432\!zHGw)W`p`l +GcE氼8BhLr %i)=WR$rdƻS<9&Y^; 1' 8uu&(qxUG7tW|KNJ՚$?uHujEdZΥp^ ǀ̵tsxq\[Yb)ΘF䂛ΉicE#xtɄ r}9: )"ߍ`)41D\]V6HjA zWl4 KC7pft_ڽQˍRYT/QXɎSdZrL2.l"+;4Pu8]}OW?!Ghb ?1=pUEz_ڝek#4u8ſۏ|fist`Zx'ܠ4u~䋁n((8gstUAJ柏ҕ96So+;NQZ#Tt-OCjx 0^ O}r+#K7}2Q}Ua%Gf+hoAh9򒮇%u=k4>u3RHtAu.;%5V NF^LWO0O^oк|UpPw8qwܢ,[bHKOWs 3,(X ,]y{6:WXUnRlXU1AnEUс}$/h؛Zg|ܛ:q;d q(sFẄo_><ej2rݒa7/}Eo, 6J9=XCm^gycQdQ0t Vw\V.U Qd 4$ITi6o9PGy;$iZrSlBQɱN9S<LYҝHtޱԢ}6[Ԣ(̕[v',F($T~iBrѼo_Q\KsAwY (-&M`Ds0-O)Xx77o:aRrK櫃Nڠ"w0_cDU/3o'mszjN | &_}K#0>9/qE?ҵ*ƛknU*AOpvzBggM 9U [HF+{?ٵn*cP p"jv=9)\Y/9_p۬#RƐjMn &mx-"Q!l>˥ɖ/#l@Qt ajvx|Eݜm% ]57Zvoʖ?׀Gʡxơ"3NO K |6t ͷCX}EW9B'gk=>~mvg)yO]/IxColyԚJXޜM'7xx(Z{X?쏗ic|X} Ee ;?p):n~|/ w{u],pGH2&u ;nSNWiˀ_Nj/{MͧSL* VwewM,)/{v 9Fޙ^7TNυħDGw-r%*<}8|>y̡/i!EH m'm!{Fȹ:A݁O~(WoEY1#z( U7 |-^1_v3YCKLOjcP~O%h&,sw&>ECit5#-㢅{-=:N2PX.=iỲ9 h7l>'i[u1&؃`hO&lH5#]pW<\r 1)ȡUaI0]|桠M E#!,9|vqUd_Kb%k~!~S(޽QtYP'H訜'ҙUk`U賂ǒ姘VT=ChQendstream endobj 413 0 obj << /Filter /FlateDecode /Length 162 >> stream x]O10 *XЪj8(Nߗ,N>~l#GpƲ5 HeQV-ƃ剳B7OfKUUiZB 'mQt1 l.kSIT @s$Lg)CSxendstream endobj 414 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 5146 >> stream xXy|Sն>!pA ( $ʠ 2tH6I&Mqel&i:-P@Tx^' "^(p{vR >Դ9'{}Z[GDCDWoXqi #D>c|~Ǩ!^x AbԷq䈤a;5 ARbh´8+[!MIJԨs>3iԌiZ(M:N'#ڐ(S?/Y&~v)q9SI 4*?Exn V <]=3lCSjxy8Kl5{k9~d#M11{btŎj 5$'*Ӂhvy&wXs]숥!4hqVږy Q.M[}|/{L*,4I VjK lJ|>0ٴSg{ !JE,N[ &ikv\6X6UջJ8!fl 8,AuquC0w2-FEv|wíO{sU TM3_9O1$-] ̦g4߭B "t.JjiGqԸ:;/}W;8hx!(hyS1Q@A %'޶`BDwQ<2A=rOq$.gRfNjZj킱H)Nwm?-<|OQF-&3MfVQ`~z}oNi L0XTi_/3dlSi<9kԤ@eTS!{zf2/^]%Ć~FCv.cetR^v g'B1:+X'SYXp5Zb{ wC ,*<+ `ou%ub>YqU]Np{ 6ۤkZb&/K_̃#J1<>yj&jm30 2>Էd ^/ٝkCYH2W%\ނ3#z)v7Dh>:FPxF07> stream x=]s\uj~'/u73c{ح:<}XX$e|X\I;A |`ڨ |oL:8z4=鑢_?/>>VC&MI=}ğ dG+Gqބ|ptէicZIڝc4dWN)F:aR*_=VcZ}_Tnh w)WD212i S3=4~3SPŰu4zuݸ?ZkIU'lN89jGGW?_j(@M`,gč 0nuQ61qJy`vu%@3 Didx7Qy DWV#M1V!EI6 iz86L`'^X$$Rҩiο?k6SIN}ImUm2ٴӨoD71YeAߜX= *96 9Jm3E艦Oj@%%F סuܸx+iHm *=$a.;?;>X 4GJ Ƈ)dlcӚJU<1Q1GJY5E#hUȾ3^ݤ$E%؇8]VgHNEZbo/J;B[f೙>hS+NT4^1qIڈ&Mp/"dx%3@a/0Va#vIVd5tn龪Ts^'DLX>&#;:;34DZI$;Zg`ͮ1Oq*7eA,mld<+O\(^yړ\pqn"}d|'DsIE*`k&O,OB#*4$ >y>Kw!$N ´ǂ|}.A-i܌A~B)}#f$@ft-@ #i%m&~?6QXݫ&܂m2i]<HK·n[ҍ`TXm_ANv0^#K}yg'1~^d1%1Bz俁:F^iI :k5c5oԀpJ^Η/2`z.~ X+ꏾ,_ Tp^ 6V? X0rk31{̔`!y`9w-#)ĢlƖ46ւqZQ}#y, NXi1nm-:%. ,'uJ?T%#p4+paX~awBt5gؠhTBVK[̣Y=*Ȭ}vd@)XjHOGFuBq\2V_g xY\7GaWB$zdAZ,]q70 8wEܟ86 AH5{b 6x]N!者Z%G1dsTQ;/(,k 78ܱԟGɻ.Ӊ/*ku׵mJ@% !sfeFK 4_|^rbV$sM7  yOu+~X 9|R J-kWM=콩Ϳ]ڼ(N4BjBٜS͗w٧ Ƈt**j ܅LgM669=>4Zα1؍A6 [NtTz r#`b&;3۠fZMf :[oddS_$)u.qK~#b_=SF&kmcS`HJEqlrdRLv٪aR 8PE$ngY %F oR\ܵ%4Ip 2Q_ "~B3a.?5$44Ȫ-Z+ 9-xV㭸x|^O}U!eBE nKgS);bfC}.RCjD qS?W$o%!-nHGAPv+/mD&&RD~=)ȳ8_:ORWB~B'zQҫ!DQsUn80Q u.xn7769QR^^'*c(oWʄ+У{s47MTݻ!ۼ_ AzaiZXB6YQQla"WdM'SW?#B4g|Eo )QW"M) X|1%;.~xnyPol:^w"A ٥)/m2]޺A,^^zy>Kaɘ*dd0'{bI0t7"nJ1WCkH6Ѽdr"RN:C}~U+K P< Z/\v\x@鸡ļ"vdڳr& cʉa΍GdXl¨ /J]Ǔ)c@ xe?" >8A9'ŝ2ZoaMxIOlsik_voX׬>bфYNL:w>ʗ`;}0B>;;?,Whݵx\ Kv]=i L_.4ָ3z v0Ƭp2ԂnݵN.m7EވL--Y@rZf\LQ"8_tE%ȑ!)m&nw7w/QX6V[ۖ*F~.m0@ph-ψIi2-^EnsbyUOrI`R"z?#CwMDG~,:K P)C~"-0ezғ:YƞN6xѶVRc6J ?0!'h3|Nm!=&'8pDNe68ڲ|#ncw\OUC'Tв<@qI}$R%Z.w. k> stream x[[o[~C~a05~1Wpi8BMJIYb 眙%ٮ }doHr$g{8:^ޫ=:~36(GG{e9ַQ^#%LNEXp0{<H#lfhufHBhi1I0GJbhV j\%v!eVi;Ѻ`4Y1ziC( E-㲵oer= ~Y(o*hpciJ$QAXtV5ck௲뫨%F4't fӤV;{+- ݻM&[=./Nstŭt?&lLSc`hhm+yR7mZmbpJհ;]T+U=lk x~؁J-|aM*;EBp` ! D5h:K/l2cka9*)7dr3Y22 ^* /ሃO!@O0=<,1"T \rIN~ObK6Xdʇ{_m/[kaL`kj'١SJ*x{c3-;w2HP\,B:%+Q7F[_Gb,r7HQy ۾ &0@#H.{§LEꀳX'UnfhnRq7􆜗xd{ekO-V8-Iъ\6ģ`{S z9jp̖ЖFҶʅF 1zJÌӄ%Uz;nUtv!2„e62a&MBFQw SvfX8G D#~g{O{~˝x9!w]~K-^o? ǛɱK;Pl +hLo?B|P줦&w%H倽J$Z2?/]CiQ5`"(pΉ!<ܠ^߇]W 7uJe,9W%>ƔC-KcE9/uVEY=pm_ **b@\Jf!荒g9rD9έӻ]];3*廒YY;I5dS1?I;A(6zUhڲo 3I5^Ë Eg#K}#^IHjlHxBvdi*t>H]ojF)30U)_qpGZVSne|_Q$Y kNde,5`lyw}vpphEQR]dkeߏ"_.}_uGHL _Vԑ,$-N>~@1٢ I\t5 pzձOrqiN )jMhJ!zU8ف)>>ŷ$s+~ER,8a:N`ݬgo| EU E-8:EsC=((bN!^O]bu|:d"t^òk ?P#WQ绉[^!Iɱ%%_w/uG#nj]rQW_}l&]dF%:LH|Y>ȗ &#/~ Q~?B+҅ߐ4{^*bEQIÚC씤0C@?ÕBꢴ(ȇ oau>s NkvHbM1 JX_(/X^AkI}wP|T{~|+ƕ.mMjw &uAڿ u \o7HkqY: jfHk4FKl'd4AWtxN\kfoXfGwysggLO.֖i^?ܝ<{5bdǸoUGs!g(GX}od¢Fw{]GJJ1 |W  k{{{Odf0@ܾ;g Վ'%P0u8Ҵ.(%N ;(t͈eZ{ A)>/<|#U]t-9^(Lx-lQ}T/ OYp}o'QۊA~ڥppE/{M endstream endobj 417 0 obj << /Filter /FlateDecode /Length 2770 >> stream xZs t7p<}86u?2t4L<ФbEيwuyr?`x7~ח:{btnO_G?0#:(Gý)k[_GmGӳՓXI㱨tH%v:OֵxE`|%c >hr[:mOFQQUSIbq<9eUi9h[4CO^}9"<8#06 -Uz6& YSgF-&N 6̆Js꫖߰EM,F %mI~koKH.D#OqP-F7g 8C %,ĕZ@99H'xBeԖn N2=RlJ.8!`"d Wi m'AhgM:?D64;o& 38Ibc, {ߡi{R:vT'KӅE6O%L5ql!ϑqۥR]$ "kK:-k7! ipnBIRʱ`Y2*hE-EC ت٤$F;LKYC Zt!PW ;Olv2&zV tB{ci mMVhvo!,pj6`ԃ w7A -%$Hi#(m(*#VtfگMOQ]"EGsH+6D~0m-c u ʷC6#E_HChח ɓDL& G>me0$=.a8 9~+$A.p#-QMo?~TJCFa#|R},rKR3o}]}GXtyWް3Žg"k< |#;|ԭwN[K :vJ^oIIv_jMV;o$V_no!g); r[+JDKR!>y?o5xRye~bATT]1{E\3Ac1HqK7wcQ|!iC v}D(Œ)aSP"]>ɘm 7 \ ̄<~J<-sZެsARjʅnج)1?$#'Ju-hrN,A;G򮠕D#It?j!רMO LvĝC=NܑAͲ=;JI'LgkҤ~s" f|^3AFIJBlM"kJn@wQ D|C En>CH~ƅ)0מ/#ʓ(<7 7rFyv8 Oht^*$%$z1RGu($i>e) dS#$v|9}$_!T-ܺ;좿P֑B9bNaC簻ThڔWkfGqɫNiuyA4qm{h!^~ ^_<Uvz(Cb79Y͕-~й]ێyD {iCϟ-5 #t$jE`w.lUmRendstream endobj 418 0 obj << /Filter /FlateDecode /Length 4444 >> stream xrrX> S El)+8!vHJJn`摴JJCL7b%Soޛ=IvOVQDl/*֯G&%^ fV>/0}u VFtrp(V:FBhk17MGJbas X() Ok %%c> 8ri+|nc^MoD!$Bx8K<=v+'7+xUN_^OD ZM1RʭbtfʛXaӆ~XWQK@aO cǃ5,FtÂҋA,7 L7 t"IP JH&ĭߎcj %iFBYm+<."x礗P YxjF:hr8;@iguB-+c"Pe@L *Mm Te:MϝD(O7 'HZP@))J4Bxc6Ρ%N"T1 * b$p-)"NOopl>%.f+gguN2c FpOzNi<K~e셀8B4lz o1{@p`!]L˄G c\0$ h "cŐ9X^M^e֧u]._U]nE]^m]S]?OOE]>˺) ӿR ?RH&o~cf):QdwuguR8u=uy]~9䉝9rU9r1A<+U/a \qD!(TX[p~\^U>as9ܽY1hO1A\$O1ڋCӛ^ehlL ng5v %;v-вpķ!?*i͝Κ˱R7C̝ Ry\,hpmKoe;;$ a~p '!wC!qP]UDv7CCޫL„iE&ItVH <<rӓ-RuKqs-?\J-XفRZ$.paN'PpPxjL hiNC*0朑oHL:Ժ!飤cu$%/l\d*M4)5Vڙ-M=~|E%2=XumK:am@a^v3 .e D 8Pg=Sa 1?ZAzׅmsHDtb ALС JH~OŊڧT"[ ^[@ZrNoJ}eXY-(ϒ./6qQ"]3[4HaAW-vu3F"/nQ`Q<_'AXp XcaQ"f:|N tgPj̃3rF 1E}>j0$fӦ`[grff a{m 2LY1t`g(Xf] Ȯ@v\AA'{[2K-VLlv_ ~fxLJX'tمvQpB9,'M8r!hlIƜXR&.:Oާ͒"_Ծ(g^,ETӊkqxIHިhkִޔ+C7,\eY-0a`F^G' O6Vy u*&ߦZR=58e$ŋSS=@е]qϏumb۴7r462yD}GsXyREoc߇@M{ʟU0(B^nhn\Vx3\Jj|]<˗uDӓ!w:ۺf|LaR!Re m'4'\j!* SS>HM4>hWW*S 5Rgc4&OҞzZ0j3N9N);\)鼫;S # :ZyfC@,<&ܻmH9 l7hJ6OP.8ohX jG ,h&fg%T֢t+yIu*1FY eҟFԶ6/4_P5InsUVV)u9rlD]t:BO&BJЉHOG~+ 5y <;*YO}3J8.Cz-Blz5@~ >r 7]H3 pɇ aݡU+`K=E $Oڒ  }E 6{fH#HnX$1l=(aVz%!4/P&wN-ET cȆL[QJ(xs$BS[M"bB[ :E:)5FLrlK}(%eNa]ߟAK`xeűxԺtQ{uohOڀ%pH;J.qh@h x$/ [ Ep פ<p.#d5ԁ ZӁ 8C]BisQ#jn5y=3]9hӜ ʷ2oMJv˻>3kyY%DfR:bKwf"MTi!Άu2v~ݝXH*VuFsob{ͺDZngwz*Ӑ{RY|z1ٽ8$ ?rȶ!w>l»D7?} ng'pi/i~Bl]Pգ{4jo[&Lՠ{ c|.t*:w$7SOft5FS OVfLT*PΥsm0N'ܟ,tɅz9|Q vҷsԧS5h=rc1dfd}.H"e\Rֹ#K,5@ KwixMxc4DhRu,d}N(+,]'jC:I^#F/ϘvP4KRvT X04nfiOn =lvm}aT;_Ө(%la +V!*aW.- ʃ$䴲^ rڞvYR Yخ)56}_wŘ eIeXtλpÿ@~Վf6+\+SE/>?!k]d7k{-˟Sh#Ws뻾q޻j뤮A}eJMi=W>WUA-7q kSkt3:DCkFju].4Rqe fW@.bt EM"EnEs}x4Oh"ƮHA j5IidBq5k[kaƂڦE}3;^ִjas#NuA F͉`Ȥs75KWetqVoy]2tenF[ lKK M}:bEh.dA@1kdA;39pȈ_LL wd ].+W&7.eFd ͈ufk,ܦ8~^$I6htʗpo˂57^aS&+, G}nH3\h9,p%n%%p $*vO7koylEJ;:iW^oyH^h/z*㸘};.c`u0Wi]A!HcKΖ`Ny-]xWjqeN+4ovAj ]9$ĩ+.u_`lP*F[w_k L6"_k@$_kl|v 5JJsGs2px~ێлjHʢTjC+\)l##?U@Ʃ8g~30.J2N+JQfM{&P?P2i ?2>5a}O'~0]>TW>v/k\JzJ cvH}6ȍҶ4לwc:fN:XkW@﫣?ÿūendstream endobj 419 0 obj << /Filter /FlateDecode /Length 8364 >> stream x]]u}'}ˬt}WIP DzIQLH.CRVl95YI&!luuU{WUj9^=Ҹzrɿ= +}q,#\}bU+8RՓ/?XCjc5qxTMJB> ,mgh`cmQ/>=Z2FkqۦS/15r?}ryO3KIǚJi*.cc i^cM>}9'\}ˣ[C'0|Uj?˄}Ru:|!]ұ~U8.cǴ :q]:׋q4NX%ƘqFg,5;`8%1~,pe#r9WLCL4ä칈\APp }CL/.ǒ"ˉ^0'&.e cqc+p6DAQoC*툔=eĂL*g29h /9[7@/2q%EVTN48` r1fċ6Z2sY xo1dpL}\b։)𤷋8!ԥD62ʫ"C8+˜ 0? ً5W(HwCv/j,%ĘJ䀟|Z0xj[abk"%@--{Vskq2y[o+&%]N }u1 Aj|Mj0G%G2 P!Vi&.#NLemIQ׹#s25'C8rҪBIc[9r2f=BP49xk FnKZ!z<2i_¡LJbY z+-֟u`hrƤݓ<{{uw۫_=-ؗTH4J?oy/^?}_CywWn_[@qTP8g>  VJ<+"afHc^ iX!pdi`(?X6CH6Bl_BR%4$MGBB1 !CUƈ$Cr,Ks' ÑM!B<y,Հr9ELA='6-ٰ$ϐ6 $9&C9.$hxJvɞ@%;.8 P !]cfvGV!CR &t!MKl^ՙ#X܄Q6#` pdF%I+R2nk ŤX` 0 Ⱥ%V]g,QHv%4!MZ[gّ@]djG)UZ x0.,F4aA7PHgcHҽ͐$)r73l8Xp/u ;bat4e5Dԋ,(Dؤ7 @Lx$i yGy#I.HB#yG$ qMHwmloxrBn{VuMHsmcl4ۗ7œUMxijMx'%Jo"Xjх{%D:rSǦp mxģ18od_فMk w];U(6+ $o&;K; ZXw4'z8LosD -9G4Ka]Hv[}ⰼ́&pħ ˻b6»gi͛4 "7m@%.o%NYсzto#;b -qu+G|p9uSH.BEen\}*ͽh_SszzuަXUNČԪT"/nf󕨰#h`x#$:D 9*j✣6=J> YH*+9w9+NYh@3.#ZY_Vjqݐ.˩z`VY&;4o%8]zTrYїb&&ES.85+4J4j_ [x-K#`#}).\["wVͽu9 qdy5a.! )2.`H+\QnLb#D[KUM@Iι}J ͱņ 9bH T 8$BRru?Jv#ְ{:j>b=}i`sM'Ǡ@rM,3ȓ@C!8,wiMr0r-H0uO34,K &o_0`uݦ-HMN9E51S&nQ-4OBpQLpX"7үXVVl.aYPk"3Hw5]\Xk3ֻty@C3jpY MF:ÐP[_÷``˪-Rnl.V5 i@xBk=d9JCgMtLV7KO qJ,0&EP4ɐ}, Ұ&v'/ddHqOeH Cܕ(%lrhf2$'hC| : И"!vR 1u%݄ez5U,>!N Q{:ON\U45Wc X&>J5;lImަYJUzRR]Y02ɁFLr^C$ǔVk #i:Q0wgsejLYF\W pq<C $0 KF&>4q BD;O*v-TpnBY22I9%]$MSهuL4ZJb@@&\qX/2#^dcFwU'!-Jtë^@Q?EX E4`u!+ם(9`u!]< FvV.0 Fh@5 PWCh: qF1 M:e7OW/_O^3m0G:> H݈^[K%C|Db(ҕFh7FfZXG] zT1]XpjS-Ҙ"ֱtcУ`vMrаsא,B%!cŹܐ*![fWہ iB$~g禦Cn@ʆt_*ۋ'RÆ~trJXMJI$6"c&x*Jܬ%AvHulceRjb_]&MYC:n1]jY3d\V?)`k^ŢR2$;Kh*R )W!IĂ^1ċɊuDIJ}'/6 4fɋv0;kCԐbC=u%/g?ʽy/ʦ^V>^XWאXW {f C/aVy}*S ).Vk(|.u;Gw Xj[PeXG1}1*u_\" 7hdCFbYY< =[(ObC dDR`bq,cb mME}$drI1r <X_KY#G_Bi_ί D " _듌H7CLqU/Fr+G>91h[9d wXW O󲈀3Kx+Dŋ(0D%D^LK)?Ŀgfɐ&Y`jԙ̔s%⫱kV$WSff?Ya E'KCLO]Egs@?TK+x|ղZ Wz naD234S{CafF_VB7xw\>Ӑi@g޾1pAcqKR[?irJɋ+%wg4 ` 5njzz;K'~v|_~_z_~_N}_toA{/rgkW>%7O)tqJxCj7:Ws kk .8a3@Rڎ̼~n05l&Ťq8쏁-=k$"cPw'F +p?uJ!ɧ֯iLWiYq.(:\0xx.kLu5BPltb}m)kl4[d$<>F 3Gcí|Y=ܾ|hƉbrDWP:ùI7W;Oc*n62w"{x*O#}7w;G2H7|,^)ǃKXY>PpaB_pz&vo>m&_,Zv-I佚.b|_7ojy{f~_}+t;Vilt}l> ]vVKDL6pO˜z_ Asns[DQn_o.ʭERŹe*JmGT8N mQsγendstream endobj 420 0 obj << /Filter /FlateDecode /Length 151 >> stream x31ӳP0P0T06P0P05WH1230!U`aS027i`9'O.}O_T.p .}*.}gC.}h\nn@n.P9?47XΎEAmGTa?ߠ pS! B)endstream endobj 421 0 obj << /Filter /FlateDecode /Length 161 >> stream x]O10 *U ]ZUm?eB:t8K结ϲ(-n H0dY h> stream x]O10 Z&B 8QC_Ct;,ֳ ":ր#MEY' ݕSendstream endobj 423 0 obj << /Filter /FlateDecode /Length 161 >> stream x]O10 mABHUt!TDi:{H20gmyXց$i,XX8+/dU_LqC*Snendstream endobj 424 0 obj << /Filter /FlateDecode /Length 5737 >> stream x\[q~My90`6hñ(MI`V\rIܥx<$=_UtWϙ9B) =5Uu:Y|ys7_]h~{*802wvvKm42/QXUj#ewMXV'J;g3ggSv[D˱9AhŮe@4ynF7 ] M*b:n1m ~1GX!F2HVշQY\}3UT3UT5UTo4etXjѨڈjѨڈj&ިڈ]8+'_L6FXIUGd T9IUG$U^P-#n~+U2EIUG{CD |@[CgV 6W=a[ݜ+i'o,ov9$60&>Jf?"Gy 5>s 3#Hů@B'8R6wO?1?}ȏtQF6swRgD羚GH^pQe% 6AJ/y ɚ-v,@(+fǁ$lL+f{gWh$XP,'Qa"kf)xh1bT*#QSPA9V"c?S!QUJv t*S5E( +^יO } @\x- u)r@v@lՁe0@5V=

tpIE}TP>f38OR:1Dn {jB")HACbU7E]˙:JrksԴ{Y}/MǼ&%UhB3(`e7n7 VO?PN)d0ْyG=ڪ{qRƟz_dӧ x{ldbgKtPmY`zIÌjiA*_(gc$Wk1zC2$$E_!=4\MӚJõSY4F*E4N)ik@@y1)pm"(UO0V%q>d Cy-{PPFž4ꭵ4u[GY߲(u[zx%$wd]2eRBlLTvn&u%,^,pAogvI4r'a:F(TJpTS񤖚%R* B LzKdc"o cbN r(<5j+QPJ| \lVW=o8az<[dؿSqT]Ofz,k'g2ɻp L?;SYgWIĢRarͽU)Tsӣ4 v_ 0*Ai cTz{pS:֋68qH.NaVeO@uP|R:aA%$qcKzzĉ)e7f 4b5u1ŋ~yU%F}=hm4z+ruGV]]ˌ^4SP$z^W^!u#Ds*lK~}R΅UӷtU4b5# gh 7# $L-3xzbjUmڂXb 5"@C!CrB{ϻ/g:~pT+`ޯ/Q^i$E'~:m.tӚGCyTsxbٰXtWD! 4\D9"yJ0e]b=w]x@dsZ{׍W1;q $zҽr+zjJuKzJdmYQfg HE 79KrBf=Ջ4׻2 ;-+U"AeC /*MmF'W5ڮ)kѬ(xy0g\ \1w7#Ps0oߖ9 @ hA$#渰b]_\N-Vi$7LW%ydULi{pc }W ГCOkgMx>T(]rJ"Ҭ9h9zV HxsNQӞĎxPlbm*-< b/)” Gs7_^q0t)CͣUDx|bs! \Zqp'3fjNc;s((U ԏJ,+f\W׽QHhHTSԉG,qPQ| ޖ|Mi[~8W+ZրO44P;?8% q+ZJ:ֵfr܏%гZ*%7xM& R.)_)T6F0O;S k2vif ƚ6l@~Iڛm?돿܂@iۺBs1ͳ1,StjZ<#rFAP^ hGl>JN"a"pJ={l W#$}sȧG1l逡3M' Ck"t?9Y,M-F848>hՎ-b:0ZO84, O.Dp:!0yIXWY6tc9A+5;sF*ʌ3C;Y=B>[X^ֽu ߻d\f[#3bD|U/JCwwtbsټ% o 6U'g(}$Dv(-vmCG7e8r"~ k}R-m1xeb)Dli^XgX[W%xs\sZtst66Bu*[ nk,^"I&G!]^҃ Oz (fQ>ԧZU3D |lJ#)E,*xgFz] >+SH{PfWNhMyn[8OR}+2q]{eJԥ6l_w)vB>z'f|]HG >=ۜE'x9}Q_oCeЂW+y ݼe[cQ׻@ :$TU+(龿(2bLG=8nB<B޽sA+ڀ춮ܹdRÖeBću].R]S_^&VWxjC Ӫ_eGkFP%+kHr 2+␯\u(Cyg+E {,QֶU!BPwq;kf>h8w_5e9s)v[g16j=nlF [cHIt]6 Pc&2ߓy:m=crܬXݼ~lVͯ] ]eߝa0h_J?Mz:q :M[4;:> stream x]O1 y@*CĒ.ZUm?@o Ct;:8?%0H_#4YZbLU`@fw5ĥ=^RTn"5쌑j`4)βB`JM5Fr4-MrL!`ASlendstream endobj 426 0 obj << /Filter /FlateDecode /Subtype /Type1C /Length 371 >> stream xcd`ab`ddt v04qH3a!S,[nn5 }=C9(3=DA#YS\GR17(391O7$#57QOL-Tа())///K-/JQ(,PJ-N-*KMQp+QKMU9Tp-(-I-ROI-c``` b`0f`bdd3{m>d|]?ʿ_=5#vnaKoH=}ZlX'}wf7,ֽ[9+}*wJ=!/pq.3ͶJendstream endobj 427 0 obj << /Filter /FlateDecode /Length 603 >> stream x;o0w} TQ17/SS C, %Fuگ#ԂHB~8񿓞(- ?{n,mynt9k{H٢P{3\T6>*^f& *hM `<[B$mgUV;yvT@$A4fg2GLܣsSɏEyO䠃'M 䜜J':i3y\;0ZvALzCcV<~}sPUe7o| hCWA J0\$,oo׌qYzaOtĸa|dc\2.wae縪މNZ9c-<%[HtxxP{8YGƇƼTeh^ga2_?kr˸za;Mipiendstream endobj 428 0 obj << /Type /XRef /Length 269 /Filter /FlateDecode /DecodeParms << /Columns 5 /Predictor 12 >> /W [ 1 3 1 ] /Info 3 0 R /Root 2 0 R /Size 429 /ID [<7b4c5a5bcc4d343c4f0a2b2683d32fdd><7206df1829c83dc96bd4ddfb2037df75>] >> stream xcb&F~0 $8J8 Bs4|h% Kzhj% rzhj%ӆ@Pڐv| RD*qHdɼ B Rj"dT2A$ y RD*" Rd"lQɲ"΃Hu 9ك%Gzg)Q LDBDrۀM/w,l*A~aZb+~`K[|3tL.a8\ endstream endobj startxref 213691 %%EOF sandwich/inst/doc/sim-CL.R0000644000175400001440000003731113136151625015206 0ustar zeileisusers## Simulation infrastructure ----------------------------------------------------------------------- ## data generating process (dgp) dgp <- function(nid = 100L, nround = 5L, coef = c(0, 0.85, 0.5, 0.7), rho = 0.5, xrho = 0.5, dist = "gaussian", type = "copula", link = NULL, ...) { ## match distribution and type of correlation dist <- match.arg(dist, c("gaussian", "poisson", "zeroinfl", "hurdle", "betareg", "binomial(logit)", "zerotrunc")) type <- match.arg(type, c("copula", "copula-ar1", "ranef")) ## sample size n <- nid * nround ## experimental design variables d <- data.frame( id = rep(1L:nid, each = nround), round = rep(1L:nround, nid) ) ## subject covariates plus random effect make_x <- function(corr) { rnorm(nid, mean = 0, sd = sqrt(xrho))[d$id] + rnorm(n, mean = 0, sd = sqrt(1 - xrho)) } d$x1 <- make_x(corr) d$x2 <- rnorm(nid, mean = 0, sd = 1)[d$id] d$x3 <- rnorm(n, mean = 0, sd = 1) d$ranef <- if(type == "ranef") rnorm(nid, mean = 0, sd = sqrt(rho/(1 - rho)))[d$id] else 0 ## draw from a normal copula if(type == "copula") { nc <- copula::normalCopula(rho, dim = nround) rcopula <- function(n) { rval <- copula::rCopula(n/nround, nc) as.vector(t(rval)) } } ## draw from a normal copula with AR(1) structure if(type == "copula-ar1") { nc <- copula::normalCopula(rho, dim = nround, dispstr = "ar1") rcopula <- function(n) { rval <- copula::rCopula(n/nround, nc) as.vector(t(rval)) } } ## response distribution and link function if(is.character(dist)) { switch(dist, "gaussian" = { dist <- if(type == "ranef") { function(n, mu, ...) rnorm(n, mean = mu, ...) } else { function(n, mu, ...) qnorm(rcopula(n), mean = mu, ...) } if(is.null(link)) link <- "identity" }, "poisson" = { dist <- if(type == "ranef") { function(n, mu, ...) rpois(n, lambda = mu) } else { function(n, mu, ...) qpois(rcopula(n), lambda = mu) } if(is.null(link)) link <- "log" }, "zeroinfl" = { dist <- if(type == "ranef") { function(n, mu, ...) countreg::rzipois(n, lambda = mu, pi = 0.3) } else { function(n, mu, ...) countreg::qzipois(rcopula(n), lambda = mu, pi = 0.3) } if(is.null(link)) link <- "log" }, "hurdle" = { dist <- if(type == "ranef") { function(n, mu, ...) countreg::rhpois(n, lambda = mu, pi = 0.7) } else { function(n, mu, ...) countreg::qhpois(rcopula(n), lambda = mu, pi = 0.7) } if(is.null(link)) link <- "log" }, "betareg" = { dist <- if(type == "ranef") { function(n, mu, ...) rbeta(n, shape1 = mu * 10, shape2 = (1 - mu) * 10) } else { function(n, mu, ...) qbeta(rcopula(n), shape1 = mu * 10, shape2 = (1 - mu) * 10) } if(is.null(link)) link <- "logit" }, "binomial(logit)" = { dist <- if(type == "ranef") { function(n, mu, ...) rbinom(n, size = 1, prob = mu) } else { function(n, mu, ...) qbinom(rcopula(n), size = 1, prob = mu) } if(is.null(link)) link <- "logit" }, "zerotrunc" = { dist <- if(type == "ranef") { function(n, mu, ...) countreg::rztpois(n, lambda = mu) } else { function(n, mu, ...) countreg::qztpois(rcopula(n), lambda = mu) } if(is.null(link)) link <- "log" } )} if(is.null(link)) link <- "identity" if(is.character(link)) link <- make.link(link) if(inherits(link, "link-glm")) link <- link$linkinv ## compute linear predictor, expectation mu, and response d$eta <- coef[1L] + coef[2L] * d$x1 + coef[3L] * d$x2 + coef[4L] * d$x3 + d$ranef d$mu <- link(d$eta) d$response <- dist(n, d$mu, ...) ## categorical variables d <- transform(d, id = factor(id), round = factor(round) ) ## store coefficients for future reference names(coef) <- c("(Intercept)", "x1", "x2", "x3") attr(d, "coef") <- coef return(d) } ## model fitting and covariances fit <- function(data, formula = response ~ x1 + x2 + x3, dist = c("gaussian", "poisson", "zeroinfl", "hurdle", "betareg", "binomial(logit)", "zerotrunc"), vcov = c("standard", "basic", "HC1", "HC2", "HC3", "CL-0", "CL-1", "CL-2", "CL-3", "fixed", "random", "gee", "PL", "PC", "BS"), level = 0.95) { ## assure formula to be in current environment environment(formula) <- environment(response ~ x1 + x2 + x3) ## response distributions and vcov types dist <- match.arg(dist) ## pooled model m <- switch(dist, "gaussian" = lm(formula, data = data), "poisson" = glm(formula, data = data, family = poisson), "zeroinfl" = countreg::zeroinfl(formula, data = data), "hurdle" = countreg::hurdle(formula, data = data), "betareg" = betareg::betareg(formula, data = data, phi = FALSE), "binomial(logit)" = glm(formula, data = data, family = binomial), "zerotrunc" = countreg::zerotrunc(formula, data = data, dist = "poisson") ) ## fixed effects if("fixed" %in% vcov) { formula_fe <- update(formula, . ~ . + id) m_fe <- switch(dist, "gaussian" = lm(formula_fe, data = data), "poisson" = glm(formula_fe, data = data, family = poisson), "zeroinfl" = countreg::zeroinfl(formula_fe, data = data), "hurdle" = countreg::hurdle(formula_fe, data = data), "betareg" = betareg::betareg(formula_fe, data = data, phi = FALSE), "binomial(logit)" = glm(formula_fe, data, family = binomial), "zerotrunc" = countreg::zerotrunc(formula_fe, data = data, dist = "poisson") ) } else { m_fe <- NULL } ## random effects if("random" %in% vcov) { formula_re <- update(formula, . ~ . + (1 | id)) m_re <- switch(dist, "gaussian" = lme4::lmer(formula_re, data = data, REML = FALSE), "poisson" = lme4::glmer(formula_re, data = data, family = poisson), "zeroinfl" = NULL, "hurdle" = NULL, "betareg" = NULL, "binomial(logit)" = lme4::glmer(formula_re, data = data, family = binomial), "zerotrunc" = NULL ) } else { m_re <- NULL } ## GEE if("gee" %in% vcov) { m_gee <- switch(dist, "gaussian" = geepack::geeglm(formula, data = data, id = id, corstr = "exchangeable", family = gaussian), "poisson" = geepack::geeglm(formula, data = data, id = id, corstr = "exchangeable", family = poisson), "zeroinfl" = NULL, "hurdle" = NULL, "betareg" = NULL, "binomial(logit)" = geepack::geeglm(formula, data = data, id = id, corstr = "exchangeable", family = binomial("logit")), "zerotrunc" = NULL ) } else { m_gee <- NULL } ## return value: collect coefficients and standard errors rval <- data.frame(coef = numeric(0), se = numeric(0), par = character(0), vcov = character(0), stringsAsFactors = FALSE) if("standard" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcov(m))), par = names(coef(m)), vcov = "standard", stringsAsFactors = FALSE)) } if("basic" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(sandwich(m))), par = names(coef(m)), vcov = "basic", stringsAsFactors = FALSE)) } if("HC1" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovHC(m, type = "HC1"))), par = names(coef(m)), vcov = "HC1", stringsAsFactors = FALSE)) } if("HC2" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovHC(m, type = "HC2"))), par = names(coef(m)), vcov = "HC2", stringsAsFactors = FALSE)) } if("HC3" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovHC(m, type = "HC3"))), par = names(coef(m)), vcov = "HC3", stringsAsFactors = FALSE)) } if("CL-0" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovCL(m, cluster = data$id, type = "HC0"))), par = names(coef(m)), vcov = "CL-0", stringsAsFactors = FALSE)) } if("CL-1" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovCL(m, cluster = data$id, type = "HC1"))), par = names(coef(m)), vcov = "CL-1", stringsAsFactors = FALSE)) } if("CL-2" %in% vcov & dist != "zeroinfl") { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovCL(m, cluster = data$id, type = "HC2"))), par = names(coef(m)), vcov = "CL-2", stringsAsFactors = FALSE)) } if("CL-3" %in% vcov & dist != "zeroinfl") { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovCL(m, cluster = data$id, type = "HC3"))), par = names(coef(m)), vcov = "CL-3", stringsAsFactors = FALSE)) } if("fixed" %in% vcov) { k <- length(coef(m)) rval <- rbind(rval, data.frame( coef = coef(m_fe)[1L:k], se = sqrt(diag(vcov(m_fe)))[1L:k], par = names(coef(m_fe))[1L:k], vcov = "fixed", stringsAsFactors = FALSE)) } if("random" %in% vcov) { rval <- rbind(rval, data.frame( coef = fixef(m_re), se = sqrt(diag(vcov(m_re))), par = names(fixef(m_re)), vcov = "random", stringsAsFactors = FALSE)) } if("gee" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m_gee), se = sqrt(diag(m_gee$geese$vbeta)), par = names(coef(m_gee)), vcov = "gee", stringsAsFactors = FALSE)) } if("PL" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovPL(m, cluster = data$id, lag = "NW1987", adjust = FALSE))), par = names(coef(m)), vcov = "PL", stringsAsFactors = FALSE)) } if("PC" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovPC(m, cluster = data$id, order.by = data$round))), par = names(coef(m)), vcov = "PC", stringsAsFactors = FALSE)) } if("BS" %in% vcov) { rval <- rbind(rval, data.frame( coef = coef(m), se = sqrt(diag(vcovBS(m, cluster = data$id))), par = names(coef(m)), vcov = "BS", stringsAsFactors = FALSE)) } ## reorder columns rownames(rval) <- NULL rval <- rval[, c(4, 3, 1, 2)] ## FIXME rval$par <- gsub("count_", "", rval$par, fixed = TRUE) ## further outcomes cr <- qnorm((1 - level)/2, lower.tail = FALSE) cf <- attr(data, "coef")[rval$par] rval$bias <- rval$coef - cf rval$mad <- abs(rval$coef - cf) rval$power <- as.numeric(abs(rval$coef/rval$se) > cr) rval$coverage <- as.numeric(abs(cf - rval$coef)/rval$se < cr) return(rval) } ## loop over simulation scenarios sim <- function(nrep = 1000, nid = 100L, nround = 5L, dist = "gaussian", rho = 0.5, xrho = 0.5, coef = c(0, 0.85, 0.5, 0.7), formula = response ~ x1 + x2 + x3, vcov = c("standard", "basic", "HC1", "HC2", "HC3", "CL-0", "CL-1", "CL-2", "CL-3", "fixed", "random", "gee", "PL", "PC", "BS"), ..., cores = NULL) { ## parallelization support applyfun <- if(is.null(cores)) { lapply } else { function(X, FUN, ...) parallel::mclapply(X, FUN, ..., mc.cores = cores) } ## all factorial combinations of experimental conditions par <- expand.grid(nid = nid, nround = nround, dist = dist, rho = rho, xrho = xrho, stringsAsFactors = FALSE) ## conduct all simulations rval <- lapply(1L:nrow(par), function(i) { rvali <- applyfun(1L:nrep, function(j) { d <- dgp(nid = par$nid[i], nround = par$nround[i], dist = par$dist[i], rho = par$rho[i], xrho = par$xrho[i], coef = coef, ...) ff <- formula try(fit(d, formula = ff, dist = par$dist[i], vcov = vcov)) }) rvali <- rvali[sapply(rvali, class) == "data.frame"] rvali[[1L]][, -(1L:2L)] <- Reduce("+", lapply(rvali, "[", , -(1:2)))/length(rvali) rvali <- rvali[[1L]] rvali$nid <- par$nid[i] rvali$nround <- par$nround[i] rvali$dist <- par$dist[i] rvali$rho <- par$rho[i] rvali$xrho <- par$xrho[i] return(rvali) }) rval <- do.call("rbind", rval) ## turn all experimental condition variables into factors rval$dist <- factor(rval$dist) rval$vcov <- factor(rval$vcov) rval$par <- factor(rval$par) rval$nid <- factor(rval$nid) rval$nround <- factor(rval$nround) rval$rho <- factor(rval$rho) rval$xrho <- factor(rval$xrho) return(rval) } ## Bootstrap for InstInnovation hurdle model ------------------------------------------------------- library("sandwich") library("pscl") data("InstInnovation", package = "sandwich") h_innov <- hurdle( cites ~ institutions + log(capital/employment) + log(sales), data = InstInnovation, dist = "negbin") set.seed(0) vc_innov <- list( "standard" = vcov(h_innov), "basic" = sandwich(h_innov), "CL-1" = vcovCL(h_innov, cluster = InstInnovation$company), "boot" = vcovBS(h_innov, cluster = InstInnovation$company) ) ## Simulation study -------------------------------------------------------------------------------- library("copula") library("lme4") library("geepack") library("countreg") library("betareg") set.seed(1) s01 <- sim(nrep = 10000, nid = 100, nround = 5, dist = "gaussian", rho = seq(0, 0.9, by = 0.1), xrho = 0.25, coef = c(0, 0.85, 0.5, 0.7), formula = response ~ x1 + x2 + x3, vcov = c("standard", "basic", "CL-0", "random", "gee", "PC", "PL", "BS"), type = "copula", cores = 16) set.seed(2) s02 <- sim(nrep = 10000, nid = 100, nround = 5, dist = c("gaussian", "binomial(logit)", "poisson"), rho = seq(0, 0.9, by = 0.1), xrho = 0.25, coef = c(0, 0.85, 0, 0), formula = response ~ x1, vcov = c("standard", "basic", "CL-0", "random", "gee", "PC", "PL", "BS"), type = "copula", cores = 16) set.seed(3) s03 <- sim(nrep = 10000, nid = 100, nround = 5, dist = c("zerotrunc", "zeroinfl", "betareg"), rho = seq(0, 0.9, by = 0.1), xrho = 0.25, coef = c(0, 0.85, 0, 0), formula = response ~ x1, vcov = c("standard", "basic", "CL-0"), ## BS with lower nrep below (s33) type = "copula", cores = 16) set.seed(4) s04 <- sim(nrep = 10000, nid = c(10, seq(50, 250, by = 50)), nround = 5, dist = c("gaussian","poisson", "binomial(logit)"), rho = 0.25, xrho = 0.25, coef = c(0, 0.85, 0, 0), formula = response ~ x1, vcov = c("CL-0", "CL-1", "CL-2", "CL-3"), type = "copula", cores = 16) set.seed(6) s06 <- sim(nrep = 10000, nround = c(5, 10, 20, 50), nid = 100, dist = "gaussian", rho = 0.25, xrho = 0.25, coef = c(0, 0.85, 0.5, 0.7), formula = response ~ x1 + x2 + x3, vcov = c("CL-0", "PC", "PL"), type = "copula", cores = 16) set.seed(7) s07 <- sim(nrep = 10000, nround = c(5, 10, 20, 50), nid = 100, dist = "gaussian", rho = 0.25, xrho = 0.25, coef = c(0, 0.85, 0.5, 0.7), formula = response ~ x1 + x2 + x3, vcov = c("CL-0", "PC", "PL"), type = "copula-ar1", cores = 16) set.seed(8) s08 <- sim(nrep = 10000, nround = c(5, 10, 20, 50), nid = 100, dist = c("binomial(logit)", "poisson"), rho = 0.25, xrho = 0.25, coef = c(0, 0.85, 0.5, 0.7), formula = response ~ x1 + x2 + x3, vcov = c("CL-0", "PC", "PL"), type = "copula-ar1", cores = 16) set.seed(33) s33 <- sim(nrep = 10000, nid = 100, nround = 5, dist = c("zerotrunc", "zeroinfl", "betareg"), rho = seq(0, 0.9, by = 0.1), xrho = 0.25, coef = c(0, 0.85, 0, 0), formula = response ~ x1, vcov = "BS", type = "copula", cores = 16) s06$copula <- factor(rep.int("copula", nrow(s06)), levels = c("copula-ar1", "copula"), labels = c("AR(1)", "Exchangeable")) s07$copula <- factor(rep.int("copula-ar1", nrow(s07)), levels = c("copula-ar1", "copula"), labels = c("AR(1)", "Exchangeable")) s0607 <- rbind(s06, s07) s03$vcov <- as.character(s03$vcov) s33$vcov <- as.character(s33$vcov) s33 <- rbind(s03, s33) s33$vcov <- factor(s33$vcov) save(s01, s02, s03, s04, s06, s07, s0607, s08, vc_innov, s33, file = "sim-CL.rda") ## ------------------------------------------------------------------------------------------------- sandwich/inst/doc/sandwich-CL.R0000644000175400001440000002432613136164250016216 0ustar zeileisusers### R code from vignette source 'sandwich-CL.Rnw' ################################################### ### code chunk number 1: preliminaries ################################################### library("sandwich") library("geepack") library("lattice") library("lmtest") library("multiwayvcov") library("pcse") library("plm") library("pscl") panel.xyref <- function(x, y, ...) { panel.abline(h = 0.95, col = "slategray") panel.xyplot(x, y, ...) } se <- function(vcov) sapply(vcov, function(x) sqrt(diag(x))) options(prompt = "R> ", continue = "+ ", digits = 5) if(file.exists("sim-CL.rda")) { load("sim-CL.rda") } else { source("sim-CL.R") } ################################################### ### code chunk number 2: innovation-data ################################################### data("InstInnovation", package = "sandwich") library("pscl") h_innov <- hurdle( cites ~ institutions + log(capital/employment) + log(sales), data = InstInnovation, dist = "negbin") ################################################### ### code chunk number 3: innovation-coeftest ################################################### library("sandwich") library("lmtest") coeftest(h_innov, vcov = vcovCL, cluster = InstInnovation$company) ################################################### ### code chunk number 4: innovation-se (eval = FALSE) ################################################### ## set.seed(0) ## vc <- list( ## "standard" = vcov(h_innov), ## "basic" = sandwich(h_innov), ## "CL-1" = vcovCL(h_innov, cluster = InstInnovation$company), ## "boot" = vcovBS(h_innov, cluster = InstInnovation$company) ## ) ## se <- function(vcov) sapply(vcov, function(x) sqrt(diag(x))) ## se(vc) ################################################### ### code chunk number 5: innovation-se2 ################################################### se(vc_innov) ################################################### ### code chunk number 6: petersen-model ################################################### data("PetersenCL", package = "sandwich") p_lm <- lm(y ~ x, data = PetersenCL) ################################################### ### code chunk number 7: petersen-comparison1 ################################################### library("multiwayvcov") se(list( "sandwich" = vcovCL(p_lm, cluster = PetersenCL$firm), "multiwayvcov" = cluster.vcov(p_lm, cluster = PetersenCL$firm) )) ################################################### ### code chunk number 8: petersen-comparison2 ################################################### library("plm") p_plm <- plm(y ~ x, data = PetersenCL, model = "pooling", indexes = c("firmid", "year")) library("geepack") vcov.geeglm <- function(object) { vc <- object$geese$vbeta rownames(vc) <- colnames(vc) <- names(coef(object)) return(vc) } p_gee <- geeglm(y ~ x, data = PetersenCL, id = PetersenCL$firm, corstr = "independence", family = gaussian) se(list( "sandwich" = vcovCL(p_lm, cluster = PetersenCL$firm, cadjust = FALSE, type = "HC0"), "plm" = vcovHC(p_plm, cluster = "group"), "geepack" = vcov(p_gee) )) ################################################### ### code chunk number 9: petersen-twocl ################################################### se(list( "sandwich" = vcovCL(p_lm, cluster = PetersenCL[, 1:2], multi0 = TRUE), "multiwayvcov" = cluster.vcov(p_lm, cluster = PetersenCL[, 1:2]) )) ################################################### ### code chunk number 10: petersen-comparison3 ################################################### se(list( "sandwich" = vcovPL(p_lm, cluster = PetersenCL$firm, adjust = FALSE), "plm" = vcovSCC(p_plm) )) ################################################### ### code chunk number 11: petersen-comparison4 ################################################### library("pcse") se(list( "sandwich" = sandwich::vcovPC(p_lm, cluster = PetersenCL$firm, order.by = PetersenCL$year), "pcse" = pcse::vcovPC(p_lm, groupN = PetersenCL$firm, groupT = PetersenCL$year) )) ################################################### ### code chunk number 12: petersen-unbalanced1 ################################################### PU <- subset(PetersenCL, !(firm == 1 & year == 10)) pu_lm <- lm(y ~ x, data = PU) ################################################### ### code chunk number 13: petersen-unbalanced2 ################################################### se(list( "sandwichT" = sandwich::vcovPC(pu_lm, cluster = PU$firm, order.by = PU$year, pairwise = TRUE), "pcseT" = pcse::vcovPC(pu_lm, PU$firm, PU$year, pairwise = TRUE), "sandwichF" = sandwich::vcovPC(pu_lm, cluster = PU$firm, order.by = PU$year, pairwise = FALSE), "pcseF" = pcse::vcovPC(pu_lm, PU$firm, PU$year, pairwise = FALSE) )) ################################################### ### code chunk number 14: sim-01-figure ################################################### my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s01$vcov <- factor(s01$vcov, levels(s01$vcov)[c(2,4,3,1,8,5,7,6)]) my.settings[["superpose.line"]]$col <- c("#377eb8", "green","#006400", "#000080", "#ff7f00", "#f781bf", "#984ea3", "#e41a1c") my.settings[["superpose.symbol"]]$col <- c("#377eb8", "green","#006400", "#000080", "#ff7f00", "#f781bf", "#984ea3", "#e41a1c") my.settings[["superpose.symbol"]]$pch <- c(rep(1,4), rep(2,2), rep(3,2)) xyplot(coverage ~ rho | par, groups = ~ factor(vcov), data = s01, subset = par != "(Intercept)", ylim = c(0.1, 1), type = "b", xlab = expression(rho), ylab = "Empirical coverage", auto.key = list(columns = 3), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) ################################################### ### code chunk number 15: sim-02-figure ################################################### my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s02$dist <- factor(as.character(s02$dist), levels = c("gaussian", "binomial(logit)", "poisson")) s02$vcov <- factor(s02$vcov, levels(s02$vcov)[c(2,4,3,1,8,5,7,6)]) my.settings[["superpose.line"]]$col <- c("#377eb8", "green","#006400", "#000080", "#ff7f00", "#f781bf", "#984ea3", "#e41a1c") my.settings[["superpose.symbol"]]$col <- c("#377eb8", "green","#006400", "#000080", "#ff7f00", "#f781bf", "#984ea3", "#e41a1c") my.settings[["superpose.symbol"]]$pch <- c(rep(1,4), rep(2,2), rep(3,2)) xyplot(coverage ~ rho | dist, groups = ~ factor(vcov), data = s02, subset = par != "(Intercept)", ylim = c(0.5, 1), type = "b", xlab = expression(rho), ylab = "Empirical coverage", auto.key = list(columns = 3), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) ################################################### ### code chunk number 16: sim-03-figure ################################################### s33 <- na.omit(s33) my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s33$vcov <- factor(s33$vcov, levels(s33$vcov)[c(2,1,4,3)]) my.settings[["superpose.line"]]$col <- c("#377eb8", "#000080", "#ff7f00", "#f781bf") my.settings[["superpose.symbol"]]$col <- c("#377eb8", "#000080", "#ff7f00", "#f781bf") my.settings[["superpose.symbol"]]$pch <- c(rep(1,2), rep(2,2)) xyplot(coverage ~ rho | dist, groups = ~ factor(vcov), data = s33, subset = par == "x1", ylim = c(0.8, 1), type = "b", xlab = expression(rho), ylab = "Empirical coverage", auto.key = list(columns = 2), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) ################################################### ### code chunk number 17: sim-04-figure ################################################### my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s04$dist <- factor(as.character(s04$dist), c("gaussian", "binomial(logit)", "poisson")) my.settings[["superpose.line"]]$col <- c("#377eb8", "#00E5EE", "#e41a1c", "#4daf4a") my.settings[["superpose.symbol"]]$col <- c("#377eb8", "#00E5EE","#e41a1c", "#4daf4a") xyplot(coverage ~ nid | dist, groups = ~ factor(vcov), data = na.omit(s04), subset = par != "(Intercept)", type = "b", xlab = "G", ylab = "Empirical coverage", auto.key = list(columns = 2), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) ################################################### ### code chunk number 18: sim-0607-figure ################################################### my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s0607$vcov <- factor(s0607$vcov, levels(s0607$vcov)[c(1,3,2)]) my.settings[["superpose.line"]]$col <- c("#377eb8","green", "#006400") my.settings[["superpose.symbol"]]$col <- c("#377eb8","green", "#006400") xyplot(coverage ~ nround | factor(par) + factor(copula), groups = ~ factor(vcov), data = na.omit(s0607), subset = par != "(Intercept)", type = "b", xlab = "Observations per cluster", ylab = "Empirical coverage", auto.key = list(columns = 2), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) ################################################### ### code chunk number 19: sim-08-figure ################################################### my.settings <- canonical.theme(color = TRUE) my.settings[["strip.background"]]$col <- "gray" my.settings[["strip.border"]]$col <- "black" my.settings[["superpose.line"]]$lwd <- 1 s08$vcov <- factor(s08$vcov, levels(s08$vcov)[c(1,3,2)]) my.settings[["superpose.line"]]$col <- c("#377eb8","green", "#006400") my.settings[["superpose.symbol"]]$col <- c("#377eb8","green", "#006400") xyplot(coverage ~ nround | factor(par) + factor(dist), groups = ~ factor(vcov), data = na.omit(s08), subset = par != "(Intercept)", type = "b", xlab = "Observations per cluster", ylab = "Empirical coverage", auto.key = list(columns = 2), par.strip.text = list(col = "black"), par.settings = my.settings, panel = panel.xyref) sandwich/tests/0000755000175400001440000000000012770752313013416 5ustar zeileisuserssandwich/tests/Examples/0000755000175400001440000000000012770752313015174 5ustar zeileisuserssandwich/tests/Examples/sandwich-Ex.Rout.save0000644000175400001440000006766213136160053021166 0ustar zeileisusers R version 3.4.1 (2017-06-30) -- "Single Candle" Copyright (C) 2017 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > pkgname <- "sandwich" > source(file.path(R.home("share"), "R", "examples-header.R")) > options(warn = 1) > library('sandwich') > > base::assign(".oldSearch", base::search(), pos = 'CheckExEnv') > cleanEx() > nameEx("InstInnovation") > ### * InstInnovation > > flush(stderr()); flush(stdout()) > > ### Name: InstInnovation > ### Title: Innovation and Institutional Ownership > ### Aliases: InstInnovation > ### Keywords: datasets > > ### ** Examples > > ## Poisson models from Table I in Aghion et al. (2013) > > ## load data set > data("InstInnovation", package = "sandwich") > > ## log-scale variable > InstInnovation$lograndd <- log(InstInnovation$randd) > InstInnovation$lograndd[InstInnovation$lograndd == -Inf] <- 0 > > ## regression formulas > f1 <- cites ~ institutions + log(capital/employment) + log(sales) + industry + year > f2 <- cites ~ institutions + log(capital/employment) + log(sales) + + industry + year + lograndd + drandd > f3 <- cites ~ institutions + log(capital/employment) + log(sales) + + industry + year + lograndd + drandd + dprecites + log(precites) > > ## Poisson models > tab_I_3_pois <- glm(f1, data = InstInnovation, family = poisson) > tab_I_4_pois <- glm(f2, data = InstInnovation, family = poisson) > tab_I_5_pois <- glm(f3, data = InstInnovation, family = poisson) > > ## one-way clustered covariances > vCL_I_3 <- vcovCL(tab_I_3_pois, cluster = InstInnovation$company) > vCL_I_4 <- vcovCL(tab_I_4_pois, cluster = InstInnovation$company) > vCL_I_5 <- vcovCL(tab_I_5_pois, cluster = InstInnovation$company) > > ## replication of columns 3 to 5 from Table I in Aghion et al. (2013) > cbind(coef(tab_I_3_pois), sqrt(diag(vCL_I_3)))[2:4, ] [,1] [,2] institutions 0.009687237 0.002406388 log(capital/employment) 0.482883549 0.135953255 log(sales) 0.820317600 0.041523405 > cbind(coef(tab_I_4_pois), sqrt(diag(vCL_I_4)))[c(2:4, 148), ] [,1] [,2] institutions 0.008460789 0.002242345 log(capital/employment) 0.346008637 0.165274677 log(sales) 0.349190437 0.117219737 lograndd 0.492667825 0.140473107 > cbind(coef(tab_I_5_pois), sqrt(diag(vCL_I_5)))[c(2:4, 148), ] [,1] [,2] institutions 0.007381543 0.002443707 log(capital/employment) 0.440056227 0.131984715 log(sales) 0.183853108 0.063364163 lograndd 0.008971905 0.107406681 > > > > cleanEx() > nameEx("Investment") > ### * Investment > > flush(stderr()); flush(stdout()) > > ### Name: Investment > ### Title: US Investment Data > ### Aliases: Investment > ### Keywords: datasets > > ### ** Examples > > ## Willam H. Greene, Econometric Analysis, 2nd Ed. > ## Chapter 15 > ## load data set, p. 411, Table 15.1 > data(Investment) > > ## fit linear model, p. 412, Table 15.2 > fm <- lm(RealInv ~ RealGNP + RealInt, data = Investment) > summary(fm) Call: lm(formula = RealInv ~ RealGNP + RealInt, data = Investment) Residuals: Min 1Q Median 3Q Max -34.987 -6.638 0.180 10.408 26.288 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -12.53360 24.91527 -0.503 0.622 RealGNP 0.16914 0.02057 8.224 3.87e-07 *** RealInt -1.00144 2.36875 -0.423 0.678 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 17.21 on 16 degrees of freedom (1 observation deleted due to missingness) Multiple R-squared: 0.8141, Adjusted R-squared: 0.7908 F-statistic: 35.03 on 2 and 16 DF, p-value: 1.429e-06 > > ## visualize residuals, p. 412, Figure 15.1 > plot(ts(residuals(fm), start = 1964), + type = "b", pch = 19, ylim = c(-35, 35), ylab = "Residuals") > sigma <- sqrt(sum(residuals(fm)^2)/fm$df.residual) ## maybe used df = 26 instead of 16 ?? > abline(h = c(-2, 0, 2) * sigma, lty = 2) > > if(require(lmtest)) { + ## Newey-West covariances, Example 15.3 + coeftest(fm, vcov = NeweyWest(fm, lag = 4)) + ## Note, that the following is equivalent: + coeftest(fm, vcov = kernHAC(fm, kernel = "Bartlett", bw = 5, prewhite = FALSE, adjust = FALSE)) + + ## Durbin-Watson test, p. 424, Example 15.4 + dwtest(fm) + + ## Breusch-Godfrey test, p. 427, Example 15.6 + bgtest(fm, order = 4) + } Loading required package: lmtest Loading required package: zoo Attaching package: 'zoo' The following objects are masked from 'package:base': as.Date, as.Date.numeric Breusch-Godfrey test for serial correlation of order up to 4 data: fm LM test = 12.07, df = 4, p-value = 0.01684 > > ## visualize fitted series > plot(Investment[, "RealInv"], type = "b", pch = 19, ylab = "Real investment") > lines(ts(fitted(fm), start = 1964), col = 4) > > > ## 3-d visualization of fitted model > if(require(scatterplot3d)) { + s3d <- scatterplot3d(Investment[,c(5,7,6)], + type = "b", angle = 65, scale.y = 1, pch = 16) + s3d$plane3d(fm, lty.box = "solid", col = 4) + } Loading required package: scatterplot3d > > > > cleanEx() detaching 'package:scatterplot3d', 'package:lmtest', 'package:zoo' > nameEx("NeweyWest") > ### * NeweyWest > > flush(stderr()); flush(stdout()) > > ### Name: NeweyWest > ### Title: Newey-West HAC Covariance Matrix Estimation > ### Aliases: bwNeweyWest NeweyWest > ### Keywords: regression ts > > ### ** Examples > > ## fit investment equation > data(Investment) > fm <- lm(RealInv ~ RealGNP + RealInt, data = Investment) > > ## Newey & West (1994) compute this type of estimator > NeweyWest(fm) (Intercept) RealGNP RealInt (Intercept) 594.1004817 -0.5617817294 36.04992496 RealGNP -0.5617817 0.0005563172 -0.04815937 RealInt 36.0499250 -0.0481593694 13.24912546 > > ## The Newey & West (1987) estimator requires specification > ## of the lag and suppression of prewhitening > NeweyWest(fm, lag = 4, prewhite = FALSE) (Intercept) RealGNP RealInt (Intercept) 359.4170681 -0.3115505035 -4.089319305 RealGNP -0.3115505 0.0002805888 -0.005355931 RealInt -4.0893193 -0.0053559312 11.171472998 > > ## bwNeweyWest() can also be passed to kernHAC(), e.g. > ## for the quadratic spectral kernel > kernHAC(fm, bw = bwNeweyWest) (Intercept) RealGNP RealInt (Intercept) 794.986166 -0.7562570101 48.19485118 RealGNP -0.756257 0.0007537517 -0.06485461 RealInt 48.194851 -0.0648546058 17.58798679 > > > > cleanEx() > nameEx("PublicSchools") > ### * PublicSchools > > flush(stderr()); flush(stdout()) > > ### Name: PublicSchools > ### Title: US Expenditures for Public Schools > ### Aliases: PublicSchools > ### Keywords: datasets > > ### ** Examples > > ## Willam H. Greene, Econometric Analysis, 2nd Ed. > ## Chapter 14 > ## load data set, p. 385, Table 14.1 > data(PublicSchools) > > ## omit NA in Wisconsin and scale income > ps <- na.omit(PublicSchools) > ps$Income <- ps$Income * 0.0001 > > ## fit quadratic regression, p. 385, Table 14.2 > fmq <- lm(Expenditure ~ Income + I(Income^2), data = ps) > summary(fmq) Call: lm(formula = Expenditure ~ Income + I(Income^2), data = ps) Residuals: Min 1Q Median 3Q Max -160.709 -36.896 -4.551 37.290 109.729 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 832.9 327.3 2.545 0.01428 * Income -1834.2 829.0 -2.213 0.03182 * I(Income^2) 1587.0 519.1 3.057 0.00368 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 56.68 on 47 degrees of freedom Multiple R-squared: 0.6553, Adjusted R-squared: 0.6407 F-statistic: 44.68 on 2 and 47 DF, p-value: 1.345e-11 > > ## compare standard and HC0 standard errors > ## p. 391, Table 14.3 > library(sandwich) > coef(fmq) (Intercept) Income I(Income^2) 832.9144 -1834.2029 1587.0423 > sqrt(diag(vcovHC(fmq, type = "const"))) (Intercept) Income I(Income^2) 327.2925 828.9855 519.0768 > sqrt(diag(vcovHC(fmq, type = "HC0"))) (Intercept) Income I(Income^2) 460.8917 1243.0430 829.9927 > > > if(require(lmtest)) { + ## compare t ratio + coeftest(fmq, vcov = vcovHC(fmq, type = "HC0")) + + ## White test, p. 393, Example 14.5 + wt <- lm(residuals(fmq)^2 ~ poly(Income, 4), data = ps) + wt.stat <- summary(wt)$r.squared * nrow(ps) + c(wt.stat, pchisq(wt.stat, df = 3, lower = FALSE)) + + ## Bresch-Pagan test, p. 395, Example 14.7 + bptest(fmq, studentize = FALSE) + bptest(fmq) + + ## Francisco Cribari-Neto, Asymptotic Inference, CSDA 45 + ## quasi z-tests, p. 229, Table 8 + ## with Alaska + coeftest(fmq, df = Inf)[3,4] + coeftest(fmq, df = Inf, vcov = vcovHC(fmq, type = "HC0"))[3,4] + coeftest(fmq, df = Inf, vcov = vcovHC(fmq, type = "HC3"))[3,4] + coeftest(fmq, df = Inf, vcov = vcovHC(fmq, type = "HC4"))[3,4] + ## without Alaska (observation 2) + fmq1 <- lm(Expenditure ~ Income + I(Income^2), data = ps[-2,]) + coeftest(fmq1, df = Inf)[3,4] + coeftest(fmq1, df = Inf, vcov = vcovHC(fmq1, type = "HC0"))[3,4] + coeftest(fmq1, df = Inf, vcov = vcovHC(fmq1, type = "HC3"))[3,4] + coeftest(fmq1, df = Inf, vcov = vcovHC(fmq1, type = "HC4"))[3,4] + } Loading required package: lmtest Loading required package: zoo Attaching package: 'zoo' The following objects are masked from 'package:base': as.Date, as.Date.numeric [1] 0.8923303 > > ## visualization, p. 230, Figure 1 > plot(Expenditure ~ Income, data = ps, + xlab = "per capita income", + ylab = "per capita spending on public schools") > inc <- seq(0.5, 1.2, by = 0.001) > lines(inc, predict(fmq, data.frame(Income = inc)), col = 4) > fml <- lm(Expenditure ~ Income, data = ps) > abline(fml) > text(ps[2,2], ps[2,1], rownames(ps)[2], pos = 2) > > > > cleanEx() detaching 'package:lmtest', 'package:zoo' > nameEx("bread") > ### * bread > > flush(stderr()); flush(stdout()) > > ### Name: bread > ### Title: Bread for Sandwiches > ### Aliases: bread bread.default bread.lm bread.mlm bread.survreg > ### bread.coxph bread.gam bread.nls bread.rlm bread.hurdle bread.zeroinfl > ### bread.mlogit bread.polr bread.clm > ### Keywords: regression > > ### ** Examples > > ## linear regression > x <- sin(1:10) > y <- rnorm(10) > fm <- lm(y ~ x) > > ## bread: n * (x'x)^{-1} > bread(fm) (Intercept) x (Intercept) 1.0414689 -0.2938577 x -0.2938577 2.0823419 > solve(crossprod(cbind(1, x))) * 10 x 1.0414689 -0.2938577 x -0.2938577 2.0823419 > > > > cleanEx() > nameEx("estfun") > ### * estfun > > flush(stderr()); flush(stdout()) > > ### Name: estfun > ### Title: Extract Empirical Estimating Functions > ### Aliases: estfun estfun.lm estfun.glm estfun.mlm estfun.rlm estfun.polr > ### estfun.clm estfun.survreg estfun.coxph estfun.nls estfun.hurdle > ### estfun.zeroinfl estfun.mlogit > ### Keywords: regression > > ### ** Examples > > ## linear regression > x <- sin(1:10) > y <- rnorm(10) > fm <- lm(y ~ x) > > ## estimating function: (y - x'beta) * x > estfun(fm) (Intercept) x 1 -0.68507480 -0.57647056 2 0.13214846 0.12016225 3 -0.96783127 -0.13658036 4 1.36873882 -1.03586495 5 0.08173006 -0.07837294 6 -0.99685418 0.27853651 7 0.40942540 0.26898700 8 0.69524135 0.68784276 9 0.47205088 0.19454089 10 -0.50957471 0.27721940 > residuals(fm) * cbind(1, x) x [1,] -0.68507480 -0.57647056 [2,] 0.13214846 0.12016225 [3,] -0.96783127 -0.13658036 [4,] 1.36873882 -1.03586495 [5,] 0.08173006 -0.07837294 [6,] -0.99685418 0.27853651 [7,] 0.40942540 0.26898700 [8,] 0.69524135 0.68784276 [9,] 0.47205088 0.19454089 [10,] -0.50957471 0.27721940 > > > > cleanEx() > nameEx("isoacf") > ### * isoacf > > flush(stderr()); flush(stdout()) > > ### Name: isoacf > ### Title: Isotonic Autocorrelation Function > ### Aliases: isoacf pava.blocks > ### Keywords: regression ts > > ### ** Examples > > x <- filter(rnorm(100), 0.9, "recursive") > isoacf(x) [1] 1.00000000 0.75620784 0.52668286 0.31877074 0.17874234 0.10451987 [7] 0.07597397 0.07597397 0.07054562 0.03324149 -0.02266489 -0.02266489 [13] -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 [19] -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 [25] -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 [31] -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 [37] -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 [43] -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 [49] -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 -0.02266489 [55] -0.03242424 -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 [61] -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 [67] -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 [73] -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 [79] -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 [85] -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03500610 -0.03924011 [91] -0.03924011 -0.03924011 -0.03924011 -0.03924011 -0.03924011 -0.03924011 [97] -0.03924011 -0.03924011 -0.03924011 -0.03924011 > acf(x, plot = FALSE)$acf , , 1 [,1] [1,] 1.00000000 [2,] 0.75620784 [3,] 0.52668286 [4,] 0.31877074 [5,] 0.17874234 [6,] 0.10451987 [7,] 0.06774750 [8,] 0.08420043 [9,] 0.07054562 [10,] 0.03324149 [11,] -0.02547696 [12,] -0.08386780 [13,] -0.12702588 [14,] -0.15733924 [15,] -0.22570274 [16,] -0.27858103 [17,] -0.32634007 [18,] -0.31457877 [19,] -0.32132555 [20,] -0.32323138 [21,] -0.28412580 > > > > cleanEx() > nameEx("kweights") > ### * kweights > > flush(stderr()); flush(stdout()) > > ### Name: kweights > ### Title: Kernel Weights > ### Aliases: kweights > ### Keywords: regression ts > > ### ** Examples > > curve(kweights(x, kernel = "Quadratic", normalize = TRUE), + from = 0, to = 3.2, xlab = "x", ylab = "k(x)") > curve(kweights(x, kernel = "Bartlett", normalize = TRUE), + from = 0, to = 3.2, col = 2, add = TRUE) > curve(kweights(x, kernel = "Parzen", normalize = TRUE), + from = 0, to = 3.2, col = 3, add = TRUE) > curve(kweights(x, kernel = "Tukey", normalize = TRUE), + from = 0, to = 3.2, col = 4, add = TRUE) > curve(kweights(x, kernel = "Truncated", normalize = TRUE), + from = 0, to = 3.2, col = 5, add = TRUE) > > > > cleanEx() > nameEx("lrvar") > ### * lrvar > > flush(stderr()); flush(stdout()) > > ### Name: lrvar > ### Title: Long-Run Variance of the Mean > ### Aliases: lrvar > ### Keywords: regression ts > > ### ** Examples > > set.seed(1) > ## iid series (with variance of mean 1/n) > ## and Andrews kernel HAC (with prewhitening) > x <- rnorm(100) > lrvar(x) [1] 0.007958048 > > ## analogous multivariate case with Newey-West estimator (without prewhitening) > y <- matrix(rnorm(200), ncol = 2) > lrvar(y, type = "Newey-West", prewhite = FALSE) [,1] [,2] [1,] 0.0097884718 0.0005978738 [2,] 0.0005978738 0.0073428222 > > ## AR(1) series with autocorrelation 0.9 > z <- filter(rnorm(100), 0.9, method = "recursive") > lrvar(z) [1] 0.4385546 > > > > cleanEx() > nameEx("meat") > ### * meat > > flush(stderr()); flush(stdout()) > > ### Name: meat > ### Title: A Simple Meat Matrix Estimator > ### Aliases: meat > ### Keywords: regression > > ### ** Examples > > x <- sin(1:10) > y <- rnorm(10) > fm <- lm(y ~ x) > > meat(fm) (Intercept) x (Intercept) 0.54308202 -0.06199868 x -0.06199868 0.21823310 > meatHC(fm, type = "HC") (Intercept) x (Intercept) 0.54308202 -0.06199868 x -0.06199868 0.21823310 > meatHAC(fm) (Intercept) x (Intercept) 0.32259620 0.08446047 x 0.08446047 0.37529225 > > > > cleanEx() > nameEx("sandwich") > ### * sandwich > > flush(stderr()); flush(stdout()) > > ### Name: sandwich > ### Title: Making Sandwiches with Bread and Meat > ### Aliases: sandwich > ### Keywords: regression > > ### ** Examples > > x <- sin(1:10) > y <- rnorm(10) > fm <- lm(y ~ x) > > sandwich(fm) (Intercept) x (Intercept) 0.06458514 -0.04395562 x -0.04395562 0.10690628 > vcovHC(fm, type = "HC") (Intercept) x (Intercept) 0.06458514 -0.04395562 x -0.04395562 0.10690628 > > > > cleanEx() > nameEx("vcovBS") > ### * vcovBS > > flush(stderr()); flush(stdout()) > > ### Name: vcovBS > ### Title: (Clustered) Bootstrap Covariance Matrix Estimation > ### Aliases: vcovBS vcovBS.default .vcovBSenv > ### Keywords: regression > > ### ** Examples > > ## Petersen's data > data("PetersenCL", package = "sandwich") > m <- lm(y ~ x, data = PetersenCL) > > ## comparison of different standard errors > set.seed(1) > cbind( + "classical" = sqrt(diag(vcov(m))), + "HC-cluster" = sqrt(diag(vcovCL(m, cluster = PetersenCL$firm))), + "BS-cluster" = sqrt(diag(vcovBS(m, cluster = PetersenCL$firm))) + ) classical HC-cluster BS-cluster (Intercept) 0.02835932 0.06701270 0.07067533 x 0.02858329 0.05059573 0.04878784 > > > > cleanEx() > nameEx("vcovCL") > ### * vcovCL > > flush(stderr()); flush(stdout()) > > ### Name: vcovCL > ### Title: Clustered Covariance Matrix Estimation > ### Aliases: vcovCL meatCL > ### Keywords: regression > > ### ** Examples > > ## Petersen's data > data("PetersenCL", package = "sandwich") > m <- lm(y ~ x, data = PetersenCL) > > ## clustered covariances > ## one-way > vcovCL(m, cluster = PetersenCL$firm) (Intercept) x (Intercept) 4.490702e-03 -6.473517e-05 x -6.473517e-05 2.559927e-03 > ## one-way with HC2 > vcovCL(m, cluster = PetersenCL$firm, type = "HC2") (Intercept) x (Intercept) 4.494487e-03 -6.592912e-05 x -6.592912e-05 2.568236e-03 > ## two-way > vcovCL(m, cluster = PetersenCL[, c("firm", "year")]) (Intercept) x (Intercept) 4.233313e-03 -2.845344e-05 x -2.845344e-05 2.868462e-03 > > ## comparison with cross-section sandwiches > ## HC0 > all.equal(sandwich(m), vcovCL(m, type = "HC0", cadjust = FALSE)) [1] TRUE > ## HC2 > all.equal(vcovHC(m, type = "HC2"), vcovCL(m, type = "HC2")) [1] TRUE > ## HC3 > all.equal(vcovHC(m, type = "HC3"), vcovCL(m, type = "HC3")) [1] TRUE > > ## Innovation data > data("InstInnovation", package = "sandwich") > > ## replication of one-way clustered standard errors for model 3, Table I > ## and model 1, Table II in Berger et al. (2016) > > ## count regression formula > f1 <- cites ~ institutions + log(capital/employment) + log(sales) + industry + year > > ## model 3, Table I: Poisson model > ## one-way clustered standard errors > tab_I_3_pois <- glm(f1, data = InstInnovation, family = poisson) > vcov_pois <- vcovCL(tab_I_3_pois, InstInnovation$company) > sqrt(diag(vcov_pois))[2:4] institutions log(capital/employment) log(sales) 0.002406388 0.135953255 0.041523405 > > ## coefficient tables > if(require("lmtest")) { + coeftest(tab_I_3_pois, vcov = vcov_pois)[2:4, ] + } Loading required package: lmtest Loading required package: zoo Attaching package: 'zoo' The following objects are masked from 'package:base': as.Date, as.Date.numeric Estimate Std. Error z value Pr(>|z|) institutions 0.009687237 0.002406388 4.025634 5.682195e-05 log(capital/employment) 0.482883549 0.135953255 3.551835 3.825545e-04 log(sales) 0.820317600 0.041523405 19.755548 7.187199e-87 > > ## Not run: > ##D ## model 1, Table II: negative binomial hurdle model > ##D ## (requires "pscl" or alternatively "countreg" from R-Forge) > ##D library("pscl") > ##D library("lmtest") > ##D tab_II_3_hurdle <- hurdle(f1, data = InstInnovation, dist = "negbin") > ##D # dist = "negbin", zero.dist = "negbin", separate = FALSE) > ##D vcov_hurdle <- vcovCL(tab_II_3_hurdle, InstInnovation$company) > ##D sqrt(diag(vcov_hurdle))[c(2:4, 149:151)] > ##D coeftest(tab_II_3_hurdle, vcov = vcov_hurdle)[c(2:4, 149:151), ] > ## End(Not run) > > > > cleanEx() detaching 'package:lmtest', 'package:zoo' > nameEx("vcovHAC") > ### * vcovHAC > > flush(stderr()); flush(stdout()) > > ### Name: vcovHAC > ### Title: Heteroskedasticity and Autocorrelation Consistent (HAC) > ### Covariance Matrix Estimation > ### Aliases: vcovHAC vcovHAC.default meatHAC > ### Keywords: regression ts > > ### ** Examples > > x <- sin(1:100) > y <- 1 + x + rnorm(100) > fm <- lm(y ~ x) > vcovHAC(fm) (Intercept) x (Intercept) 0.008125428 -0.002043239 x -0.002043239 0.018939164 > vcov(fm) (Intercept) x (Intercept) 8.124921e-03 2.055475e-05 x 2.055475e-05 1.616308e-02 > > > > cleanEx() > nameEx("vcovHC") > ### * vcovHC > > flush(stderr()); flush(stdout()) > > ### Name: vcovHC > ### Title: Heteroskedasticity-Consistent Covariance Matrix Estimation > ### Aliases: vcovHC vcovHC.default vcovHC.mlm meatHC > ### Keywords: regression ts > > ### ** Examples > > ## generate linear regression relationship > ## with homoskedastic variances > x <- sin(1:100) > y <- 1 + x + rnorm(100) > ## model fit and HC3 covariance > fm <- lm(y ~ x) > vcovHC(fm) (Intercept) x (Intercept) 0.008318070 -0.002037159 x -0.002037159 0.019772693 > ## usual covariance matrix > vcovHC(fm, type = "const") (Intercept) x (Intercept) 8.124921e-03 2.055475e-05 x 2.055475e-05 1.616308e-02 > vcov(fm) (Intercept) x (Intercept) 8.124921e-03 2.055475e-05 x 2.055475e-05 1.616308e-02 > > sigma2 <- sum(residuals(lm(y ~ x))^2)/98 > sigma2 * solve(crossprod(cbind(1, x))) x 8.124921e-03 2.055475e-05 x 2.055475e-05 1.616308e-02 > > > > cleanEx() > nameEx("vcovOPG") > ### * vcovOPG > > flush(stderr()); flush(stdout()) > > ### Name: vcovOPG > ### Title: Outer Product of Gradients Covariance Matrix Estimation > ### Aliases: vcovOPG > ### Keywords: regression ts > > ### ** Examples > > ## generate poisson regression relationship > x <- sin(1:100) > y <- rpois(100, exp(1 + x)) > ## compute usual covariance matrix of coefficient estimates > fm <- glm(y ~ x, family = poisson) > vcov(fm) (Intercept) x (Intercept) 0.004526581 -0.003679570 x -0.003679570 0.008110051 > vcovOPG(fm) (Intercept) x (Intercept) 0.005183615 -0.003086646 x -0.003086646 0.009584083 > > > > cleanEx() > nameEx("vcovPC") > ### * vcovPC > > flush(stderr()); flush(stdout()) > > ### Name: vcovPC > ### Title: Panel-Corrected Covariance Matrix Estimation > ### Aliases: vcovPC meatPC > ### Keywords: regression > > ### ** Examples > > ## Petersen's data > data("PetersenCL", package = "sandwich") > m <- lm(y ~ x, data = PetersenCL) > > ## Beck and Katz (1995) standard errors > ## balanced panel > sqrt(diag(vcovPC(m, cluster = PetersenCL$firm, order.by = PetersenCL$year))) (Intercept) x 0.02220064 0.02527598 > > ## unbalanced panel > PU <- subset(PetersenCL, !(firm == 1 & year == 10)) > pu_lm <- lm(y ~ x, data = PU) > sqrt(diag(vcovPC(pu_lm, cluster = PU$firm, order.by = PU$year, pairwise = TRUE))) (Intercept) x 0.02206979 0.02533772 > sqrt(diag(vcovPC(pu_lm, cluster = PU$firm, order.by = PU$year, pairwise = FALSE))) (Intercept) x 0.02260277 0.02524119 > > > > cleanEx() > nameEx("vcovPL") > ### * vcovPL > > flush(stderr()); flush(stdout()) > > ### Name: vcovPL > ### Title: Clustered Covariance Matrix Estimation for panel data > ### Aliases: vcovPL meatPL > ### Keywords: regression > > ### ** Examples > > ## Petersen's data > data("PetersenCL", package = "sandwich") > m <- lm(y ~ x, data = PetersenCL) > > ## Driscoll and Kraay standard errors > ## lag length set to: T - 1 (maximum lag length) > ## as proposed by Petersen (2009) > sqrt(diag(vcovPL(m, cluster = PetersenCL$firm, lag = "max", adjust = FALSE))) (Intercept) x 0.01618977 0.01426121 > > ## lag length set to: floor(4 * (T / 100)^(2/9)) > ## rule of thumb proposed by Hoechle (2007) based on Newey & West (1994) > sqrt(diag(vcovPL(m, cluster = PetersenCL$firm, lag = "NW1994"))) (Intercept) x 0.02289115 0.02441980 > > ## lag length set to: floor(T^(1/4)) > ## rule of thumb based on Newey & West (1987) > sqrt(diag(vcovPL(m, cluster = PetersenCL$firm, lag = "NW1987"))) (Intercept) x 0.02436219 0.02816896 > > > > cleanEx() > nameEx("weightsAndrews") > ### * weightsAndrews > > flush(stderr()); flush(stdout()) > > ### Name: weightsAndrews > ### Title: Kernel-based HAC Covariance Matrix Estimation > ### Aliases: weightsAndrews bwAndrews kernHAC > ### Keywords: regression ts > > ### ** Examples > > curve(kweights(x, kernel = "Quadratic", normalize = TRUE), + from = 0, to = 3.2, xlab = "x", ylab = "k(x)") > curve(kweights(x, kernel = "Bartlett", normalize = TRUE), + from = 0, to = 3.2, col = 2, add = TRUE) > curve(kweights(x, kernel = "Parzen", normalize = TRUE), + from = 0, to = 3.2, col = 3, add = TRUE) > curve(kweights(x, kernel = "Tukey", normalize = TRUE), + from = 0, to = 3.2, col = 4, add = TRUE) > curve(kweights(x, kernel = "Truncated", normalize = TRUE), + from = 0, to = 3.2, col = 5, add = TRUE) > > ## fit investment equation > data(Investment) > fm <- lm(RealInv ~ RealGNP + RealInt, data = Investment) > > ## compute quadratic spectral kernel HAC estimator > kernHAC(fm) (Intercept) RealGNP RealInt (Intercept) 788.6120652 -0.7502080996 49.78912814 RealGNP -0.7502081 0.0007483977 -0.06641343 RealInt 49.7891281 -0.0664134303 17.71735491 > kernHAC(fm, verbose = TRUE) Bandwidth chosen: 1.744749 (Intercept) RealGNP RealInt (Intercept) 788.6120652 -0.7502080996 49.78912814 RealGNP -0.7502081 0.0007483977 -0.06641343 RealInt 49.7891281 -0.0664134303 17.71735491 > > ## use Parzen kernel instead, VAR(2) prewhitening, no finite sample > ## adjustment and Newey & West (1994) bandwidth selection > kernHAC(fm, kernel = "Parzen", prewhite = 2, adjust = FALSE, + bw = bwNeweyWest, verbose = TRUE) Bandwidth chosen: 2.814444 (Intercept) RealGNP RealInt (Intercept) 608.3101258 -0.5089107386 -64.93690203 RealGNP -0.5089107 0.0004340803 0.04689293 RealInt -64.9369020 0.0468929322 15.58251456 > > ## compare with estimate under assumption of spheric errors > vcov(fm) (Intercept) RealGNP RealInt (Intercept) 620.7706170 -0.5038304429 8.47475285 RealGNP -0.5038304 0.0004229789 -0.01145679 RealInt 8.4747529 -0.0114567949 5.61097245 > > > > cleanEx() > nameEx("weightsLumley") > ### * weightsLumley > > flush(stderr()); flush(stdout()) > > ### Name: weightsLumley > ### Title: Weighted Empirical Adaptive Variance Estimation > ### Aliases: weightsLumley weave > ### Keywords: regression ts > > ### ** Examples > > x <- sin(1:100) > y <- 1 + x + rnorm(100) > fm <- lm(y ~ x) > weave(fm) (Intercept) x (Intercept) 0.007957440 -0.001936926 x -0.001936926 0.018775226 > vcov(fm) (Intercept) x (Intercept) 8.124921e-03 2.055475e-05 x 2.055475e-05 1.616308e-02 > > > > ### *