From e131ec935b06a8f8d8df5cb08df422f94a4f76b8 Mon Sep 17 00:00:00 2001
From: Reid Spencer
If you're writing a compiler, virtual machine, or any other utility based on LLVM, you'll need to figure out which of the many libraries files you will need to link with to be successful. An understanding of the contents of these - files and their inter-relationships will be useful in coming up with an optimal - specification for the libraries to link with. The purpose of this document is - to reduce some of the trial and error that the author experienced in using - LLVM.
+ libraries will be useful in coming up with an optimal specification for the + libraries to link with. The purpose of this document is to reduce some of + the trial and error that the author experienced in using LLVM.LLVM produces two types of libraries: archives (ending in .a) and objects (ending in .o). However, both are libraries. Libraries ending in .o are known as re-linked libraries because they contain all the compilation units of the library linked together as a single .o file. - Furthermore, many of the libraries have both forms of library. The + Furthermore, several of the libraries have both forms of library. The re-linked libraries are used whenever you want to include all symbols from the library. The archive libraries are used whenever you want to only resolve outstanding symbols at that point in the link without including everything in the library.
-When linking your tools, you will use the LLVMLIBS make variable. +
If you're using the LLVM Makefile system to link your tools,you will use + the LLVMLIBS make variable. (see the Makefile Guide for details). This variable specifies which LLVM libraries to link into your tool and the order in which they will be linked. You specify re-linked libraries by @@ -76,61 +78,65 @@
Below are two dependency graphs and a list that show the relationships - between the various LLVM archive libraries and object files. This information - can be automatically generated with the GenLibDeps.pl utility found - in the llvm/utils directory.
+The
llvm-config
tool is a perl script that produces on its output + various kinds of information. For example, the source or object directories + used to build LLVM can be accessed by passing options to llvm-config. + For complete details on this tool, please see the + manual page. +To understand the relationships between libraries, the llvm-config + can be very useful. If all you know is that you want certain libraries to + be available, you can generate the complete set of libraries to link with + using one of four options, as below:
+If you wish to delve further into how llvm-config generates the + correct order (based on library dependencies), please see the tool named + GenLibDeps.pl in the utils source directory of LLVM.
+ @@ -173,184 +202,212 @@ alphabetically.Y;0lIy8*+0hQY@{JJ}0w`nLV1z(q3qnG97hL%X~*(s@ ;%#?oj0$@yzk ^ARNP*uG8TG7$Aq=v$j4uiqF-q=KhSg{pV}9{JHI2cL^vx-pGca zpEvv$#}n_rq}O7mf$PFr@aUKjFJ}ZR_(rn(-Qc9oFac;?Ye@&)%aT5~?=kOV;73}> z#l`^WJ%4OqSy-$ppZe`R{OPN!e(+y^-+J!1U-g%tZA-SNJ}IZa-`SH2DG^S;`p2-+ zr&I0J2DB>qxgGz)Qj_qX1pl=ckDCG~wV3laROTldZnb^}7-3xHepRt*T?cI_7l01P zed1R~_m_Q3;x`n9ZCFMo|ED<+$ZGE6JfLuZBnV%dglQ gTnAJ}4mH-YYd;wY>a zf ^)i;c) zsCO^;Y)xp6_832<6E?#li_>V3dnZ3cG(^r4PK%g~Y&C7kF=T7hf1?r;vN(x(*N`g* zQ{i}!e3p(;(~PJnTCk{pgNYDVQBsjHm2)P^b2-R;Y$ZxA^^SvKZOsEFq=jH5S(ERP zkZJ;y?1(7fD3T2~fY66dzDShj6O39Hb4)o|G~twUg;&LBjPOVaGMO>*cyQyQlK;qo zNjZ=SH()<#a!^T=QmJYqMvhc-ik-BNxadCCW{M+umFxwUae0z|sdqt0*@kSilzPG# zur`mm0+)d)A#FvHZm|q#r~!DXl~d)A{sAeBhAEkv`Ivtwlu%QcXZZs7x0E__Pz^Sb zHwl`h@>`y1Y7O{MJOM|nxPUe#RHFHrpvjQ5NSJHWnX2GPm|1giXo1M76m#jCgVvUZ z2a}@*Xn }qgW-{ww*2#I3C$K;(0IM zD1p?OBa?WY!*xGpsGegfWx8UYez}}!X`Z4}oB~RaG2$IzIeo2JnnjtOUzd}1$&^{w zQNj6__{p1r>6`r7pV-BqFyxZYwxBlXl{eQC3955c>6}-85}8`IJ|U^14W)>=S&$bh zqv{!&g9)53Dxn(6nPwM2BZ{3`L;jpM+LSPuK;oij&k~_NN}uopm<1Z8_la3Wsx4N? zp|$Culv$n@w4hNJQVYT$C;Dnt=8^frlO2^JJlJ~C^CW%Qq_L@;+u5U9Se6Vyr<8(` z)W}FQI*YP@IhBi9rC$P MBN~o3+St z1iF$2MuUQ?GdBY(V|fR#n5Z5)or2M*cZxOTXruaRphBvStr}+{W{h6Sr3AT%gEOWz zl&fx-n!N<7MB_^TNvx4thU1i@St_ZrI;D1M5_o!ln9(FuDLSjk>6hI$pP^chHyC!; z5~S)PovG@Cd)XWQ`IKJAN=5!Ut=u-6&1$a48K6%EseUS)ulcCm%BRNVqP3)NFGQ}g z8hh|_u2Kr8B$@}ls#tI8mcVJL95#cvx0Cj&t8SKJ!Md+exru0LR_^3{@foEAyO{=y zu+Qp$un;?^4O@i-5wC|Tu^6SM8``NR+j#HVt&aJW4rQ34Xqr7+v)hL-bC|B`N~zN7 ztSbwuEt|3-_EmENCBKQL_*#1qrLh~UOiUF@L8%8J3$%yorn&Q-uKJa3u&_>(v@kj` zOdDLO_EsROv@}~)fo8U>nT6~HP44Qii1M?4KpUu*iLPQhwsi=lDvP!>>p5-}Dn$Ay z2UaASDz)U2b99SXc1w!>TV|e(+O=NWw62#yf!n7u%dW9{uq;bl5IZ52aVR%AAjZTh zpE|g`nX`>27I|BGWTUy-3Uz!jw4bZ59cHKp$)py#o&o{9u(=Sq8e4)po~%W-H3_VL zgH%%x@kDfhyUU7j04lm(OS&`%y!I%(37ZhLdaHx_xT#pQ+go$TXp+zi9=SVbQ m+QRa+nXo5r|=4rzh$bpTe{)vu<47bj`+Qm8@Yztxdc3%#j8Wht35P? z9Qj+L$;!Xno3^hhuyhm=<#4^6I=l^k%(m;hitVeM WZGsu}#4IgGxQ3L9XP zy7dBxF#Eu88@}JN!2NqwM@+;mnXxVE!DBpX{IXFl3%b{J!xmY>*~%>a7c#|vDmt7S z!-uPB$RfroOvYu5#BYnhTq+b$3&hcqxKMn)zk9%CC&xm}k%L&tmVC* *h zf&6%$T&a+IXns0m8o9=LYIsa?x;JaIDNDs0oOnVwhO}%76(C=z`N@zhaH8C=kvzyP z+sFHm%7rM3Aw0=b!pIK%zH9t{oV%QIRZPIMT+7sKg1P*xDh8f*?1Lx@%*5-z;Ip{T zpt;Jd$f3u#NB$eje|$I08O>ij%|wS|n5TC140LRlc|&Ik^F~KXcg>Eg%jM(Cbmq;i zX2p^Bpj#YH%#1iYBs0Bh&PTe;u>8zVHhK1ZaY850a3_3XmTtD(&)EWh()3Ev<7c zInbdjzB=rx^9l>-Jj4(!F!QCo3mwaC^U854$q)_CYlj9Ht uWjY)5@}pk11OS=iNIoQQgL+Ne$2 z%Uiog+uE19(mzSs@k&PeTic3F(kH{yKTUa*-Pq-3d`36ax*dF8Hr#ht+#grh$UWEl zY@2m9L=M-~wWnPY32Nn>4)Yr`<|`|wEZf|T!Lpsxi!EZg-FrsI+ir*6yFKAS_jB$| zZ}820$vpv^t;CdnRJEz}+|d2Hh<%BFi@aOiWLrzvC$6vy4k~;((KW3~;+@eQP1H7i z2D)AT;S|nxVSVAsM{o7k*&9x5pS{N)J~qIkStHKZCJo0n_}{^j)b^|0tQ^sl%G@oO z;zkPtycgk Hy2+vrft-%zT*m0CE@2}e-`JYcrGB3GczTw8>D`USIt^PKRLCt|1cn{!h5W#$ zj>C}-V5@$A>}f#V&MYEKq)xO`>j!$$5$LX S!h+M}w$7~6eP7kCq|_?QmGl|l&b-22>}0I(RwwS`zUt+kkr|k~?9S~& zs^3Rdeot6%kz(Bd^Uf1w?+ecF**)XUhVFf>$C$i-@f`nLbZnIg1EzPr?g;-z+-zmN z-l`5iQ}&%dwQAU?9`l<1y!;MQ1rOrJdL#qB ~9bEaUbG-0c)0~yZ+!j zg)@5PN`KgFzvVT*A)|#pSnKIGSM`Xm`ELJ`45jjp|M>ot?I#}gVn2J8|ADPP^`VQB zO5}L2Pw`c)oS&cgp|AU_()dAZ`m52 AN^flwuvopzs#5q&$8 zrj%)VgPya6lZl$HZGc+4v^l1^v%#=`nZCv;!^eD}PcKQluZO5cf`~|=Zm^Kn%H3Y4 zUCArr*+a$C-m;D9Ea_V8@D=3j^UKZBb};9v&Ks#x;8 U~$qpFPK5CVgLNzE8e zp2tQ4t;R%$D;g^04FS2dC(31{Ru;TibEqL(%qmqax<+WUj$o`V)aq6KETOVy?R}f6 zFo;W5CYi=no9g44t#q>*#G5u7--BlpB1QWZBVlzw|C&?W*G%KEYn?`mLnPv`H#lNh z>%&-a%dwAj0_KWIu#BHJy UxZTL`wrTNqzau`O3SUYCXSfhCwx+u;T{?0u^p@=HtXe5Q; zr8wJPn(gQ!KX^Gv3w<{R=L?E$iRBuVPqO6Xd!p#an|3$!_+Nlkf(TWLYA{*NmtC%j zpoF+^ndY1^-dUoBZkQQ=Ckk-l7iNV=a>m>k`=yy=cywAx)t~r9sU9YF>L#2gkM#1~ zAAu6*XPm)cmZh3QemE$a-^oG;jqW7~X;6|*dSQ1g=BekNt;yDDY@hxaszm4*3P-PD zd{iQeAu`nJZ?9fi ;99*tw@uX1J7%#x%S?B zUB3L9lX1Tt5?rCU_*_P?Z3gFqaB6#P{BTwCaY{~g^O5XtVwPa6@^&|qXllo}g8Z(# zxb8_ZvLUspZi_j88_n{=4A~5{!x9JWvBiKcJe||*2D#3Mp@{6C&I0B!2yROr?P}8T zCJgU!GPNwNm=(ViD%NQ8VKvn}|2tFHfYv*8UPB96v{d*GSGSjH2UZl_rQ+%Mt$vF( z?BTLe&N1A711|XGM-`f~Tc8`AIMSBeR1?gLn=LvqJL|1~5ipEf9(%^3Li=&ReMcU* zs-F*@>~X4ZUV7oDGd+fz#@8x!=8~5=JieXrBK`E#S8x8k^uo-%b JYIbL>^I#H&EphnKcdfI+evQ3Rx-Y=u5jl=-^EbY zDE5_4ag~FAU;Io{1N!mkDAdzZ_3|UZye$NPKeLqoc(*P#`C&_s`<(*spuV+D?tm_2 z+o)zJKaH)>3wW3ws5VF|5r*(TAnYOJzy}WTnGiV3f*R>=IF1%VkcClmU(L2hLkdEO zi3^0#{&L2{-F;7j#yTOQyy!(FZmtz38eL?Th{YFwI1z@A8Gq=*2^R5Dz5}HB5QxY&%7G)&ft{@WCdLT?60&)FbmZ|)gFQ|D0vej( zprx?!BST_Nj7THX7st3rHhPjlt$d&j=h#3u=Hiw-$wMAJ<;PdDaEn9qUuF)O6H}tf zDFifsU>KFhN>}=FmP(Z6FX% veu6(NiY YLK=HH@ zrsz4pd0g{6b8zS$xwK7Rai^CZ6R0AqsJnW9nURzS4JJDodLoTNvzZGuCmd;MH%P8@ zA_dYXK;P+7f_~9@0Bh(fW%{&GCNrTWg=sXI{?${S-jtaV%^pQxQ@p2kq@N4}DMXqo zN|jQ_kIU?yMMt (o~V>Q$65+UZ{-OGXc&)i>x&t5Vl`S-842 ziKdO~RKv+qY|;j+^1&+|OA9p^6;ZRTWo%i;!ne@A^`0p$EyfmWH`QQ@wGch+l^WKq zZbFZ?z(d|a!UIgJc9vq|>1~w^n_SX=LU*`N>|bNA@(yZsR~UoLs%+l}-RNG*D7Qr} zQAdhh-U=zbkUj6YzB|^Lp5`Is4eM_&N&e4)F37oZY;SJOr_g~`m!t(PWW&g&DA6i+ zzqIWy9AWFda9At6qpg#8V_Vq*D>z%)fG;sKSyzKf*uH8?@6*5*z@d6m!)eWb Q=w5^{#MVR!a_FcyU1T@0IQ2V#z-EwM0%> z^h(Gfv{*88#^H>NXWZgI+Sr%*DqBu*sw=X_lC$J}GOS8Gk;x8Eg)AKi8N71lzoq#Z zYnHBBF??BV$(hZQWSiDdYu&Ve>AApPK98UO>{ZL&!@$#w@TJpuXwa5Q(LM&WLme$4 zE92Rgh2|e{BN`|nzi!i bwFu zu-l#Pu(P~wH^V!Z>XsqipqTDt8=Sq-Zlb$G^Y3^kRbZdiwNoMeEcmJz2&%R%x{v)# zVp)3N^LzH4p)Bh+TT{M|adnspIG)W?JZv5I;fG`VJ&h-u<8Y3cUjQzN*u|>ksl#{A z7rr5tSDWRDb2*hIK5E{7s#r-srE85}e#2%Xj_Nd(ry8>ebgm2ilPE8GwG+(rlGvi& zFMRo+7tvrgtzGJF#<~KnPLNIh4?66#&O5qCe%-Gc{f-S^A$AxzIC47dqWa0i9-KVi za8Et(*`)DadA?5&AAIjPgs|WLt`o=$zVTH2Z$NB{czY=x(ZT$Gd8Kjw%F@Sj*?x~S z=4Vg)k=puZp8q`Ps~DlOJ7&v;ZM*1;r1~qf-jnhokKH**bPMaf_MUbfpZ}bD-6uTs zsARVX?OfOv_5SP62cyXynS8>_y-&A~VZawn@?%Xu-qpAM?%@X Lqp*J~=y?9;flS1Ke0P2)_kO^pf)9m& ztM_0hm}e>ISlo9>7&m}f0)tZ1cHh@Q>z6kg=uhDnM?YA9HO+T@me*$OHz-0@gl}_% z)U gH>mPvlb lLrs-Ap zp<}ZNc4o$YXGuGaiF{wEXOUTKgV`Tpg>mnwnw=RpwwY@fd6=~WnxUD6=17}`nVj1) zoUK=!=cGA9Ihle5a{{4#eVKuODLc=Jo#aWF!O4;CDUgeqk?_fI-btL`S)S^IoSgW7 zG4v*zz1g1N6P*P~pxik`QWAMhr<2-=mI>-B`Kg~fcuJsVpanIPXu<|QAfWMypk6tl zJtmrzIFMxiXI$J!l_1)5a4C|hiJ~Q_KQgMJ8+tafMx!T@DSPRG>FIbFDw9hln0aZI z05&ELN|T~_pYQgfn5I8Cbfn5@p6fY(YB;JnvDt`Ab5B27H$nQKb%}(S1Q1ZVpAc%F zKEk8~h+rWJpkG#$n-QV-R;6^op*vcW{z!jQ%B9okoVryla 5yxCUw_%QBUHDy_-j80wCJa<4_mcD zDz+_~VfUjPL>Eb&C15ar@U9rixF+McC<(b%n^;6;TTT**UdtNPny{vOU{khJxkQ9C zrMALmtbq$T)|k4DySm%jj({t0*M&Tm`=qE=BhSjUywp@`+8DZ9j=p=brgg9+N)^b` zob~Cpsgk_yS1vmTv%mCchU>AnyR~%IaX`hGg= b{^F zVTRSb>5DqSySXDPoB+s2_R1@Bg<9FWu3v+>i Xs2^6e {)Mm5Cx8O-ii2 zTUBuPSGqVWt7HnYU;Kxcwj=~xQ#TpMD|@$D)0l&sb~34j7xi}bYi|L!#sw0$p6bOi zhsW|e$75)gMhq{VinWY9A-p8U!-B)s+7%jtzj}#@lAED_PsP87Y`Z`lYyd2w#tChX z70IPB$&@UjTMWpq9E7*|f$MO_PxlF|=EP6jdl>And2Ab+yn4ReM3mKVp*+R@_bSVY zF~16zic@L6g8a1-L3i!ji@?04O}w)%#ju%+q*w-d%goIA`zo^x5r=w}a~Lla5wfHU ziv8EWpmQ*PdD_i%o5~RTzbgBrKRhpiN~;q(iO?*7(o75=cE)JDHPe!$-Wrj?EX*HE z%-_t<{S3%PJ7is~#*mWEFDoO(oX1$Ug6kS<%i+OM#>N(i&tY3(A?-awJED^I!9D@D zcj}!$TgwHDu9y~epG-*Mx}Fwi&%?;lt*cSHY{C+M9dgH Ne{&C0h{wpM-B zSe?~p%fcg*tGaZLrK!@T{KlRMB}kprmE4aQ9lkugw67M`0p`(ZoJ#{x{?~SW*La=R zdcD_t-PeBo*MRNU<+5-BW~bOmv+(G4^k~kPI=)Dae;OUl8f?i=y@!0fW3ww_@)6ja z-PxXh{n?;x*ZkI@XpPpISDl-Dh*1&IMLT~Ky=vEZT#_xlc6HIpC6}I&*|MD@cU=I! zt=GS8*TId~!`<5j0Nlqd+{azqzwO)3o!rXp+;#oj(k<8*;M=43uO-24sQ%?;fHVBdL7 zn%E5($ZFcEn7vAUv8&C&ei+o{e4tjk+vt7Dky6 vyF~H`U3&j8Q*hc9rm_g6ja_5bb=k_zN8S>|e z-sFOw==2@jhHmAwZsLpn>d8$5WG>^AF5{3s<}&`}zRqH6irW69_H3o=>7Ndwp{`R7 zR@23@bk?iS)*f-VyVfgwV6GnM-hSdDF5)F# ~pH`52vFzp5qM;pNSklAg`w MM$F?uZWV=^pke4&t!>^I;#|w?62(p5+`L=DoiD@sTd~G8boY6w@mO!^>WY z5Zdp3rqzHS_<}$9GMZYOezd6^wDrUFM_zPy5!#R+`I6t+ct6PdYNDWjZs3Hs_b^P! z2FqmhF!`cC`lLVlgOSZ_?JNLXEk&qgm#tpBQ2Mez`<#v7Kiz$X&$XrYdjGZee9whP zr4zJ2{KP-}r_b~YK2h8?PYsx4avebj#=ylt{lqW9+;jPfJLKJM@`>yFo}aFu?+%K- z^SECA =&(HFEu9J>DcPx^8$G?0B02mrd=PA*FL zq`k9|4IuAWD1u{1mCC85XzQZHAj?HD-!*RE^v>tJ{sFKj1lD}TpmI4IGM`VCiZQLB ztPkvK%iU6@T~m0xVv*124*0TJr{8dOeBNr?OEIW^&+q&HGgEGV7AIhCg9{&ZT#AWw zW{DqdkdKIqE`uJAba_okOirFkp+urbr%0rLs(?y`YhYR;vW}a!VkEbgx3!eKx_FJh z!y>}OZ+4T6$;{2p&(P7*)6~vXn7!H8#k&TI;VPn1SB%h$-X2&Ak MKP#GbAtKhMRde1$OdADY-b$?AxZw>8yr&nM1q9{PKVtJB+kK^Xzgtk8Y}Yn zz+PwaIYr}*HPR;)C9>(qpG5!t$YYQ`##SVQ6spL7*MSbQVTpuIB9r1W5Hgn>lrc$% zA!8rbfk=lae)pOj-ie9WiR?tFL45L6r3#ESw%Fo~P_bA_Jvt5m8(AF?Y1W@=3E3lB zK>leYp-4J6(~=jeS>gjzMu}xdg`rgGqR4dl+e#S<$7zFjglVP+q$&y`c$bLhXd(bD zRS#%?GQJn%t8(6n3XS;;L{+R$<;j&oV1?z-k!A&|TabgsmJwR{9g1L*nd0^2s$(ih ztvJ$NN>Y`V5m;tQD;dQk8q}rALZl)7{sgU(sD|2Gq{y@)@4WQZTkp3E!fT+Z=P=44 zwO{J%;H1iNyP3i5o~miWCXVFkOb)x7CP?Fdkh(6r{hB-Rsw>*-@y8&~TV}r3Hf))+ zl1XZ9$-fD#0m28POYy>Ig6E-zAl~fQ#^65av%Z>v`R=tHhivrGNZ&9r#w=q(vcLaI zdWg%3#!PU8@LpXrzb2B~OC} 843z=5}WWwZk#9=7Cci^&q|{)NLHJIB@JuKVu1_wIW#H0!i^UTLFjJJjP0uP`U3 zpMLPR;baUs*{;8SovN|}PkZgxW3T*w_m&1PJotGVZv63e88SNQ-Zt<2^D61wHS1 PWj3m+e=^m?c@vK;2swq0Y;5}o-1IsxMaY!VaR>%(3W7*7rpUKuYM0Jn;bwj zxt>wRWszw|{u)R^%V@5I8RT999T-1Iq0oZUf#CbXcRm89kYQb-S|K?2G7U0+PI1MX z-|>L>!XjSJTSmO05b?%B=q)aZE2Gl-Oftm{B9A6_tDqJ~Rh`Vp?q^zx-2WH{#WLmu ziDs-84r!=BO9`Ti!%2(`PyPo-8}?<3PRb$x@z^sAYASVfI~x&~7sv$dF^z~U0~*r^ z$VO2RhEDWjB34ruYU}$aKzsvy51} {zGLd+Zj)1D%6bpl%^Obs7q@GteXnLXhoaE%TIPPl;WIO zM$0)f{vmXt$y_KyQTYDObwV_Re>n`_I@->uX;gGKRb$C`$ oup$#Rcqn65??~Me6oD|zwxf(@wiFKf|?4?T2DnPn&@})*?AyhF|)c}5>u~wa{ zW0My~#^@EW>+lO?mFcs+LQ=4YB&-29t5)Tpl#QqLYiTcO*ln$UcC#x)Dm@v<%6>Y> z7`5$*#ZY@n(3(}W4Qwqep$S)yRyMT?TW!o(Cft@Nx01&F=q7X9Ige(DWPio1A({GH z;1)Km%%pB~y}DTbh*^=L`sAo`VVf<1_7RrsW#Km|o3`|hbGyEkt#=)(o#* IKCK;vv#S#znF3iOcF+ zB+odGs|zny3wm4uo2-@+QfrYjNy03L6uG8yG7d#plN>95S)?zHadDpvW#a((REa^} z8qeY4okB^fb*?h`CM9G62Q|fC7LJ(Nk>|j|^M-?Fvw@;4Wh{2s%7$4b!8BTEJ=+x> zeRgX>cgV!?{t7eEuR&)l4UOnEE4sZycIS=dJZHMSc}s_O?W=XVXQ54*$=0Rvf^S_v zHxpH{X)g7DtQDQ%n!**w)jiX&o%T82Y*`n}rsRoooZp>1($g!8CYgZU+rxtT)Xg+s zcpZIhQ^wHLL~CS&pS|R|ZIjdDwx2JmDB=nQN7SRnueZ?+?(k{b*yQeXs&&HdMQggQ z;43(SQRQatYH^D7CSK6+?b%i??%Vy2(7+LCNn|H~JJM*K3&f+%;!7_tXcN8*!~<;- ze*c==q`o-6GrrtbH#OLIwCx#P8BtkJmcNU1dCDEUS6`$1 _G0%Ar zUH!tU&i?f2CEpx~;SFGd5`CaoB4&2;4P%*Oov;T!`?;e|-WrEa?V&dJ{l3dzdWt;d ziUKNs%aH?}Gq=0iT*5fhb!>CQc3ZoJ|Chp@8+6l-w(e4o^UxhW+qAyY?`XF87B4$^ zXZM`In0a)(7oqm}X07xjUpzZ;{zu9$xP5X|{cr*QM8S7nN+>5V>u2ls>tMaox`sOB zO|IC`yPj*Ki+I1(4SdZXR*AO1eYb=T`omj)I`Mm(Ija9o=PuXUc($g!UQmnO)L}mJ zN)NpDrJu9hqj&eamOCz@U2qG@9@>}ACg b%~o_b zC^t9-gE~ihAqa%3L~%lhPYyMJ4Oko^cu7gOb`!{4N_b^EIC~-lh0r#36_bOp#(!ql zgB0{`x)*R`IC@d@W*!(#Sa^oaMtpLA*niF!M5mWtZb){xHivYWKz3+sT_}3k=Mz7s zgdqfoToz( ek{CKArinaPgZz? cu~*cdMOTD4et7AJY+^(2=Qk9*K#zE~aH$c4mcQ6DId z9|ving<(t5ci<>B_n3Wl)P!BvM_-Z^_b?S~@+SSj9 &1KnskRkrR}USjLYS zS%?JKU9{+VB$;5i#E~!2jvkgpnZPCu8IvwKmHhA?aB`E`cpGc6lRWtym#2^W{s@#r zn2_6{W!)r4Xw_y)xs;`ZkRW+MPdSwW;Uc^el{P{e^YJ1PIg@%~Bp2a-AGEP7_Mwy8 z*p-9hlkTK^7Rh}>IU?${OJq5Guy~RIi6Z`Ig>eX%6Y!8rVJlJzA9!gMvcej#vJlGh zCw$^89MKTY!h?nxRvflUS*eZhC47>RQ bk7M#K5jm9~UV!3kW#f(8oXOtF%D SNNDVMmim!H`xwUVD&p`W`kEQnH_t(ii90cw~73V+@=o3uHO z;8{NUx1co9UkoXe9cm{za-Ua;o<`CPhT>iCR87IhXtik XE6N!sx$+N1 zKo((v1+bx-{&^^bd0nrGEnmrTV8fy?3WjTgV>C*h4Qi7cnxje@6*Rdkt&oU8igtHL zUze$e4QL1+x+{2p87sFkE1@tWqWPzDsUtSPCmaC+%QB~Cu&9rcqCB~xTbP|`Se#=z zQf;(u{^TW<0G0Cjsj%{=bwZIR`eecd3qaI($tDO78jqpypWzrhsM`Lesuh{(xRN;8 zkHz7RVVQ~hB&J>vAG881YO14ysuk$b8oDwoh}sqb5~PlQ`dvo4V!0}mZpEstYB{f3 zs#tZW8%3)%gGs?@p^e#!qIg 9va#vOv;>Yl9y20oUwA6C;F^fTBTcQgzROH zUZ$&SBn8>}pzN8MvkI;TwTk%Ut>uc0Z#ZWxsIF)#5}*p5IeM(hx||p*m;Z^c`8ubB zX=kHULFICPsV^q51ACqYyPYZ*o{>sx87P^UiL34Ro5-j`5=%USQL!A_qz!4GbSbK; z@d+L4Cnc({72$5|R&Ow2P8v9zDXX%UIyd%+umk3iqxFOY$|*qpdVL#ctDeKFEy1%O z+O7gomm&JDHd(a9!Yo3fJgV1cT4=5Zw?Dplw|L8cXQWuQR+}-@b&uwEp#oU48aK1# zLTTbUQ#>257rUmW;2!kZ1N+&w#bUG}Ym&wH9O#FqD5gD_w;Ymy9K5HJeA~By^taF0 zur8`iEbFje%c*Tfh7q) S3Dw8Lc`w5pxBIgJdx$bhA_?3CfFu z!VtQD*1EM{R=TEZZ{e4 Y}a8xwm>o()tixbO#{^z^84;6~oB)gq;y_^ez z@;kqdky}sKT<*s?@5`bjLcA8dBmo?c<9bzpsXDk~E1qunMs}Dk`-i^pi+rvq!S1rc z2)s{L_rQIHy$C9n=;%gPm#&5I!Iz`J(yB5poEJh|t)T{_dU3$erwC|ivgE2?FuaE; z*)(#BzuNn)t$U&ELrsuniOc}RmV?4a?2Kx{bu+v-d3$_JEN_ar!($m;5j@2KRmCBH z=CqTjom-s4I&8Q#D}iBKV0k;pzDdFaOeH(TM@1!WUCX`y^rHD2$Fk}@blfO1+{adu zHQVdR02Q;ai!~d}!%mDl{oBYW$y~Ihh(@fp2ntMmJpPmn3#rm~PB`pyUQ2)pxVe4| z$B6@ni`T}^=3~~tJTF*k6}PLVyvHhk=E|>(z2qv(x91%cin+(UwV!vSG)qzivsG<~ zdR80_Mhv%k#anNPi2AE*%-qbLT*QM_$?T-H>zRjO`)}C1%l2GJILmlxX}`&=$4$pW zK3v9?I>S*+ZIk%SE_;B|yv_)BpgBy>Pn*Ts%wy!tW8=E8(4ci4X;sf4xKqY|u%-yn zG{~jyT$bz`bsuHC)dF&C7>NO>>up9GPX{ys33;!X16jKnc%H2C(al(Bu2hmmI6T zJdztXtzXE(Jw(w{Ma&AAjv`mns;o%Kn>!wDpj-Y-kCI%RKwZ*;cG3nHM>S^9KApyn zEKCl4xIsP9GE2;a{MIap#Slz?VaE%9UG3GJ^*Ho4o^nUlNuAA0EhS-%do!k<;aqj+ zY_gE-bxH>TCotI0fLOe;Qe4tyCeeVLReinHz`B87e1=H4)|rjcamCP#Y1SXY)0hm{ zdk5LjOmmq-*@A7;Q03Q{P1G>keXyw3gJ;;0tW+4B(xPpUVF^|dEtIOA(49Bgf6Dxw zu-%kMy~))2+hpq7hds-sb;zvdd)J-Z9Aw(3t<;_d+5SAgt?k{m%~4}bx0$`J%01YK z+=zG<)VAhviEYvs*vYueUAnD`M3m2GeBQHN%MRSz{?fgak*c6;ZG7@w%WS=!nmnoC zo!>th*^6D?M10i${o90Lbd@ D5Kfk(lI>EI{n#t%~Uw9Y7*Y74BX!@e&LkuiQjwMfhfWCH{=Xx zWCM=G4;IBT4!yLg+A0p2Ebe%TY~e~iwSctJ3nZMCTx3#y%g=X=KVEyne~sE;n~hwK z*U0_m(7oe2YvpoI<}Iw75+Uh)BsV>cez( zI`4(Y UG8$IZs?7F*-P-@+VR00@bC`noUF!gtk@u( zSt@U;#SY`{2J;y#^9+{ZHLuIIj`Mss%K`qM@T|w(Lg>C9iRvkT@BS8z>upz}>+DQV zTLJ#(&mQ$suenxle`8hO_A%$ GW9t3%m96e;&*6mc z?r(4GHtgtEP4|u2@JL$p`}OV1uJaaIXt~TV;;Ptx9o~h1!+TF$!5;dDe(eanKcj2n zcMrpP@9(9z;2R%?M7r?gJ$=Ca`Dh;9h3)rcpIY<9`$($he;Ekz6EC0 %OqFvYlJUf8zb<3~!%4PcSu9X^J{b5yxygLrTDK$$46HlG(L|qC&MLFL8SjlF#UL zOd%$L)$r;X*LDVZb*!oW?t-XDJ5q6kg;0ZcM0tilY=(=1icyMNkT!UhjGCJxj+LCC znPqg3qdiZVi+y2#M;1wgpt5jLiGH(9t7xLUAEKw9e{q<Kk$kZpg-+Ov)am&r;6O zdwbJjOMx=6%iS=w6ujP&p+MGnW5KjL)8p>Vx>oJ)k)(EoiStIcVanJU+FIzNS8me2 zegwZv7+9_0v2a}&)>8v3p+$W0{>Ws!2#}#fZtGNh1nID(IajYzZX3ywA|h&TT3(pJ z@{q|Re^dCW+jV23%%A6Q`2 MZ89OI-@4FDy^)=s#^b`m6!D(CrfProz%#7sNKU^_BKL1_8wt; zz>0o@OG6w=xngA~W^4|Os?G4cfX3Vk=jE8Ye_Tf9%v#9kh=^H+9c@rDWv929ou )h;hp%+u)gAesadCq6P z8ZPk7rOa20=PZ3$eW6GdZ~oSz?^?6>!mXFree Xs1ij6e)flO;;vhb!wVR z4}QWrQ?D3p8D^zMvHJeYKyIz7=Bcm%%h&=v%_?lNQf_!(qS&drsIRk33Tv35e=0j_ zs!3idu9^Q~y6lV1a!Z)39npGax7Jc>rLJqJ=q{kn$`WpS>S@@HU^3ooq;{FgnA1x8 z+BoKn7|k|by>lwcAzb}(`!9WB3T*4at>U_CjR`Nius{u~x&px|ZoDq3%UPywkoIKU zskbS=9MPVBBI91ctddKz!L70@e~8UktsL)GE(e`fcQQ+RomoxitQXQ38oHpQ_AQ3z zsSqDYsKrL7`Kr}^C>=IfRXYvySI2hsHn~{mh%?$mC%5&5z~x#p*gD(mn8hb&cQ)Sr zMB84(&-Gl5i$6d9jWOarwymWu3tEnF*I!G$ZP6eXoA;u&piFsXH5A^Qf9B;9+lkLJ zXUi1pl+)g3PnrLObmRbj?z`ZFw{Ei8zn}iAxq# ErC>I~+fHYG;^GKw`UZ9nGVwKIGx^1K9c4 zw!FW=sCS(U+|=9@z|b`Ce|4)UV7e5 UcU!29hlImz1`z7*!PXu+^W98}>W!5Ez%M5%%Y zgi|0pGD&_-abii!AcXQnN-72|37zzYBOZ2+R3@^Nj~k*L`^W)T8uE{O6Gp#m2@EmS zQi{>j;3<2!$%WYIe~$KRnRfOFz4gg$lOo||D45tQLVB@{eyfMeXah$g-O!pDf)*w9 z#v^6Uftf^1(KDfW%m=1Vmt6!32*+kNYRS%RRdkg!k8! hiHcvY&E{6yT+sXd#z6Q#P` zsu4d4D&-6 g8LZLDM|YuS^+^-Ew%DR0n- z$=d#r)?KSDXvdP-zR75fpmrTBPK{;Q`5<<&k+m&be ^S;<>JFXG>n~8koQY4y$;j*Oc-3@$$Z%P _u9hFUYSQmf( znZaA0F`&uX-N@c}%su8YqQ`t^2<}q2RAMuKfB6(=M^)OoP?RV|6}cZyN>|Snt#Y5U z3}fw9_SCr*>2^yU<{g)}!W3roJvj+oRYLkwu1p<^^Y!Me?V2xQEQ>|YWaKx}y1&B< zHJ`0ZXhZWB)xF)Vm!%zTEw7r|uU0gp)q7RVAURIsq>C+Y^lM3!8@T7r@AicK>E5B` ze>21uUtyOW;Gx?4-uC8!k3YtaUdM<*p6wD$KkRQ+7W{=%y-S{(E3v(b2!GxbHM8+e z@rs93-?CnBl%Eyu0oC;24g PrTa@mCANS`+S>_Tnn){BI#TN^yxwZ7}s$K&%NH@c817rWm7hIE*`T _+I1H_(=_s5(hrXx>;3(=p_lwwI@$PQex65wn54&sPW ;n<57Sh$M|~}Cse4VwSL(ojyY=^Vdhtg-*#2;aXx_OF zb_BK@GvRl?>j5=s%|c&s%EdG7f2TtOsDC};Z;!Tp*6=;qWH42ffBKg_w6uKa5Fw0r z9=(Tp>qmfI0xSimV(`#?-luFUQh`Jlfk0P#{WoF?#0|SvKn3Vf8_0nw)h$m4eWGH2 z^;d%U=Xc9zczM)<1w~iRr(AgzfiZ}J+r)YbCwe8;fDAZ5;OB!V2!B7ue|hGoK >$>WIK46Yt*q3BawR{ z!-FTdhNHwkI2cZtRD=N-LhhG@RXBsKw`o)nFiVAOBl3W1D2P^QBMScbh6;Fl3TIJt zXkwvgcmk6jyo89sGJhjje x+n za=I9XG&eB!^^I-lgs>NB#N^C{g~wj;E!J=SFTQ#7@u{jbLafe?wS#afOACSQM?e z9_M&FDCdSOsEh>3H_d2tzBiBbm5k2wTlNTS4L2MIX(9 J zq{xMt=zn *AKktqd~e@vs26&Z$5iEvO@3Ma>r@raOCDQwx0mEc&EH5riMMwN`Sl#X^e zcffcT=}c!CZ%C<)6QP!-H&H9tS3u;HO-M<2DT-`~Og95yp(KKYxJ_PZmk1e^gE@$w zb9GNrkY!19VM#`h`AZFBOdKaPa_Nr7N0U}`5X+dEnly>@e?gh=*O{Pmnf&CMZ-+N{ zc_?;wlJ6**9!U+QX_`&xm&Bo(vM7~C7MSwGn>YcRzCo495>cSZTDZ9y^R%1B`4qtT ze84%E7#VRLMx4*$h+=7&_ZWg jyatk`J5&>{*+|NjDVPA-f51=NuIu` zedXD8=?R$ef4L^~rk>>(c~v)=C6t tYp*5>Fr$Gs+Ei x&qunH^I0UQ5`a3?;Gi_%Ue7TB%SE`Ph zGb@CLr4_8p+CADjn#OvpI*CMn8mZr)R3J8>e|kDb=V~>Cq#q-hpPzcEu4;n3I->&V zp1x|9y~%uYwx{O0uL=pSJ!)%|NUn|Kacvr}n>w%g@~f;mt 8sg$bK%*=VrRI;kkyur=GR zf7D4pIvXqHDyIEvT+Ju6zv-D~`m(IJvDm4eG~25+c(XSd8b50U AvKij12=uVkAl{%}H;tB7~Ixp^s>h 6Iv z`|vO@OqcvShW0AO!Q{o#TZUV_Sq3a$W4wjv3W9I@S_TW2j$6a2sF}7&t>9TH`_aaN zJI2Z*$hl$2)n!ka=e15em{81riQ_mn{>;Mf_Qps|$QQ;?dWl>!48maSf57DH$a-vI zXvTb#tQwV!gh$MemQ2HCx|z-CvY(8eB*`CVFz198In4X2C3H=3AqG z8^N=j!=a4Dw|u#T`=q7YzE!-yRy)kvi^wMY%Iw#=9dxD9(8xC$vYbn{;qhJi(FM zdDaZa>wH-0tH9Z8rD43xe?~0MLejSXd#yQ4c>LVY{v1&D`_BSB&;&hrQHIS9i_laI z%^wWJ1v}5R%*>~J&({0HdV7~>m(geU$SR=G9{tfJ)z1F9$^>Y*h1rLgg2S-@&W(7+ zHkhouM$!KR(lniKBza{uozrOd%l>^U(x&%>u*}UKtJ2P=YvHWMe;jN+)qA>HMQEuu zXj=AXf3{#TCTM>)1p5XM*d=J!Mru-RZR0i7RvlE#lU!W(uuwK&>&cOnl=T2`p`Z z6TPwp%3e&3YkmgSPyN+^CSIo&)~Xg+Se 9b z#o0=f*1{Ruh1ti3%D5l|fV#cJ+{{n=7%}G*M|oXse$Ch4HQRv}-GS|FIksp!_Fxc} zW0*zNTm53uR@w;$Z8m1x*k=A)(%se1cHP`o-Pz6FX13l;e-gFbdcxG)o}Fx0-VE0f zt%OMZ%(=YFV<5*8K-$iRYKi^a2EJh2{nQX9VGfpP*X?Si#?=LWVBq~&v#sE^y=odR z+l|!$v6gLR7U8ibW+I-eBrVD^eLK8NHu)_U!j0QXa>e-k(gDsa1YT;=-P++L-aF3V z*1g@ Er)9qMmUe*(y;p4sM4W4mj z?P}?5<$Z Cehb~*k2J&6LYW=1X7UG9uE9>sb9e?V!j=X!nN%_i2V4c2l_X0S%s zjHTvp?%ItF>X6;!PyS+29^n>nUZzgi1zdQGF1C uvpc=Vx8ce4&>gQ>aHH>vo+__KIPJ`W8t1x0G;a #YjPfBL=IlwQV4ojB>|6`1qsjSc90?<^<9$AD RVmlz17@*USp{3 z@7!+T4d3AiPV2Ic-E_X*S=}f6jP6ki;MU3Rrqq~66Xwr2?8UC}#C$S l{zJ{vFRk&CH*gEpd~sxhBuYfB$`0Z(Z0jfAm252S>m3PIvPqud*MH z)DY)_XiM_^NZ+1D??4OeE6?;TuhOjT^ %Vmm*#o)7Hq zPI916s%;rsy#$m`Rrbfp_p!g?#?G4cO<1|VY>&^c_njEMFT;)m{P7_C8c+Pif6+!5 zbehk#x6k~k@BXjPAN<(QH-oC2Q%~8Gf1Uk)5BS*``0}>= &^QlgeQ&~NS bbMJ>%IO;E~*Oj;Cag5CC1h^fBE+S+c Beas(yFP)ry 23XZQYJ#4EYX^Q!!M`Xe@M>W%5_3? zu7tXm(5mg(kXz89TK1~3$WhihcZdxuc4`&rVXTlLS7pp`!B)#B$J!Gcw)5ArpKG4g zp-32pwsupuh^xBw2f=e;mr=VH2gJX4V#uCtw0C658-J6N+L*X-<3w`7tEGZ0X04e) zd*vMdTCN-`s28ow?z;OMe@Wh5?~XmbOKpcg_2K45qx>4*QE@?q59^iusK_~fMDDb! zSLgs%2OxEy`G- VZlLFrHll2kTYLS`C)|BYF?H2_ zh2h8Fe8*w+T!8;wHl1e<$XL)87+#noC}8Ypp<6WlD2 yY%gl3yh8d;>ANg~PMHKPRe z;hK*?36g%3J*5;`SnU@dmicL<9E#3)3EgEjQny)F6n;PmcNxM(C!C_O#_3?6Hh2nb z{(5of*M&`Pnu18If41ss5USdgMyxt=K_s7{ei~%1aPcZ?UMXyN4IL~2MXN)vCaY{9 z$Cha+ByR?r60W}LDq*$4V(SU8(r$~VP=Og6; c3}o}oIOnYM&OG;wGs@vUJ0!_`^~o~O z>8cFj$w)J;AqqI{s~)Nm9gXzWF$)b2cUGr`_18KQEi2ey6jEN)-xhtyhh(>n5B@Sq zE7P?$PP_f1f6|@Wz1rKEwtKOjP3kRpnsA$C!rXV&J@|z3E`+#{iWfuIo$T2Gc-4z% zK9l4*iG5JynlF8AG@$G4dAAi~(^sDT0v7t~sB3MOZl%vuJM1lwp4a2N-oAS3epgOx z(5~ZdJmqF~PB-s6_ 2x?jqCwWrrPx$1%QwRYvte|Mia=b}Y8z1QBi9X%T3!+ZOJ z3_+A})@+wA|L@7qj!F8&&kr`
FmQE#=wO+jOlNFpTJ-6PE$SUDe!>JNSH$& zh_c9GsC}y=VDTsj!MuUbSq<{vYB<=zQArRJCGipIJ(hn$)MvMQE0t1#-T3+WJCP+ zXg(TNYGG4cK_Ut1xaOUZk-uu;_5K*ReGL+le^=9B{cZ#;J=)HWm{b!3JsHaFs8EeE z%N{60iN^&lWL>0G(<)gRNl!eImh@7XAHk x(auZu?ienAG>BMaQp0j`MVkaZ< ze{!p5nqr9Nd}ppSc`#1K?P$x?=WGBfPdAF}l)SuWG^;64T`_ct73o|+_2ABi7K3?Z zG$@YHKuN%`k#!dB-9sTdB=S@=Fx#Z!N%t{PE|N47l!Ru`ei>4SjkIK2gWgJ8T2n>- zGo?kssW=l#PMHC 5$yPB{D8D8qRtxd7pE->eST9=EJ=QgzcfH#scbUAaE{Uyeeb8Is8qpm}RhEHe zskP=>Fq)!Oa(-QFUK2YTuAX&d4db6TkJ_}!!qT&?VXRR5c>}Bh{+6<#%_m_=fA_VF zA{Mo@>nv!axE9Vuc50`EEp4wD*FuUGrJP-CaN9XtOKd6=LIIZ+b(>n=7Ity2h1zWQ zH{E~2?zh}K*lj^-S>~oowWDQ5apNRf>~e9uWJE8hx*NNn(7_+Y^R9K+3*J#pHM&VM zui*4+*y?( wzBxL2s@{T9ogh|BDKb;4R3%!F<_(e82(7~rC^n#e>i3GnU2V3 zMssCf+TJ>J8MkA;a+v@7)W#Vz&eFy6SJjMAEw`D#fZg$z!{_5>FxSq@3nrhBhvh@E z`ADzH-{A^8Xx6e<%$06W8I4>sJvWxqH<8_zbDY&8YB ^NdO+1eC- zw8fyhZ0<@sqP_m{xARMFSY!Lp=LVjr?L;?8dwbj*R<(WM-6KSsFx{0lcBnu2XSFth z+4SahM>!mDCax{WgVA@vL%2>?vRm0QZT35#O=)N?{I&kA=5M(#fBwZqJGb9i{r9^$ zevnHinB>ZwmA!3=Z )e4Dm1MS*J(MU&e3}%e z@4kP2#;EPe=S(N>+)N2_)>$~|QAaDzU6S>V>&0eWKhRy#2691OUFl&@9ddo0_RZ22 zK`U?jy_YU@ nP2cM6R#eLl;c5vPwpVWo^^ZfIHf4e@<-fa2|&i3+uk9kdN z9{X BsH5$G`dV*Rdj_@BKstLmSeT*7@ 0OYuQDBX=i}xC3aBvb9w|s4QM$J7;A&}Y%mvf7ARgI zC_XKBZDjXwe-3v~ANYFnWLY@mawUj>Cn$UwSa8+zGVCXRS#X2$C4$liZ#5_@KzKh2 zw`*`DbGn3ihjWC7CWATmYelFUNk~jr$YTyN9xGTZW|wyX*e(Y(Z~2ykjFW=sV}=G+ z7hHIG8RLEch<#5sgKMaU!gYprxMCZnZY}76{%;6@f6q6EQ wSy=r%m{aV{8J&j?~86?8y$jzgA= zbu^9; c>i|7bd zDLH`5#*!WRR=m@WX$X{>W00X`lT8z8Ik{TF#*+=nPw;qOCW%Z$Nmd=i7Nw$*{793q zrAbd|i(09NQHfVV$%`NPkuPL+Vd-oP^^;zimUZ@(pEZ_M2W={;H5=)c6IV@ad0lYH ze`-@nR&wcvJ(PPwwUB*zZ4XIz)rgmg$e6?hUE4Q+g^8AdIaPW&i|BZmC})%qrkN1g zhobm9hUu76sU*PXTP^vRX;zuw7@ER3ER@-jRE3#X AY&e?rn?iUUiVxHxuAK{oK%XZhf=31 zvLZ=QD8|vJS#mBhN{MnRs0 B?O=uG*TcjQWnZ8AcGpM(@3bG7mnEZP;iK= z`=qU^S{&L+9N((1d0H4;vJT~{uF>%#kW#Sb=B^fno308nEJRZEimf4ouZW@?`#KfH z$|AhF9|6k|18cAZYZ8rOfBqw#B(Vxxk 1e zU7@q<%C0aHCnu|0g=n3{6hziaJ1(m&P;#nN!L6lAsgPQ;TGFfI>a+!LeIzR&lkz!1 z8-fh$V02 %Dr1q*SWm>pN@UhQvuvEq~bF{Y$H?*z_xY~$hjaatSW4M@G1U%cbjdDXiLsyQg zbC8RHtmsUXt7(?ILz%m}uwtX-Ii#U0x?hWhhf0=~)VCnUy1FX}u3M993cIn3YO|ZL zAu73QgR~|)F1x$Be|!FALeh%2!Apv%i?lsxyKaWNvUa4}yS?12GZlA@eyhFFOGw!3 zKn1#pxKX~q=z8kay~#Vit;SSXy0YAppYO|h2veEc3%|9gzN-0}yyzkR8-|j2zZusv z{3~35IvRu{n!~%I7-hhDR-_3mpzs _7o!@z(E$o`^qJTy^!(MltUwfi5jKgJ#KC;QeK0Iy5h@V4cp&tBY1O>n1 zJH)69g0}InNG!pS2)<5?gV5`^quXa@rfw}u#mr $J!L4WP8Q2 zg2IRFq`<4hi`>QtX+8D}$xbxMF %QFF&2yY@wqwnqo5*_>Y|A?^)eJdfCC-!F#AEZsesZ% mfM&%B()6u6KuTd8(R&ozq}8Vj{RpwEm0PyYPSn?=qrwKf;~s4{ycY)iMy zqJK;Tf6*Qd{>S^9V?U^?s7lbLde3=k&lwxHo59Sr`_V8xY(qNGl8Vy%N*Te*(o^!U z1Aw?Ly*Du()PNZdql(c|d(+|yuJqioJxzKHDAZ6*v|2#Zkb2R8veHHouFiU!KpoXy zZBj8n)lB`Uaf{XDkgtM}wP9Bq4E@zX90p>If71rNsw*9?lKKiht#_mB)_h%Uj2qAL z@h9y7D1m~{ZhOygtI-) %wk;B`{m%BO+psFp ze ^a=dO>)p(#Za9<(p}x=2+DGn-L%Tx-s#;`2;Rmd z-X_}26)4nyirxsM-to8H*o~9!O N?hN8X_{LEj)g^A? zVCKoeiQ@3h;_>3*23p)PF5~;N+cge;D~{uq$;Rzz!yoSBCQ9KuE^RkX op6!xkpJPY&fI$lx}p+*-cna!TG-&f|Xk+hzKQ#{K0>isi~H<{tCHWp3vDe~acr zLZ|-lVb$_n)rM^-X#E2$pw`;a=5B7yz}#AK?W+Z?rwBc%H0!S?-PB}~w=CD=f3Dkb z-V7CO(sXXKWRcJsYYT@>+7fWJ-5cqm&XgCowC1p@gI(y0kr+AcwDqjitFSXYE3zTG z)uJBhk}T*&y{$IA>o%R!qrDUse;X)!E*(Bw9p>8Tw~p(%o=Jm#)V?m)#bF;it*5=t zyUOmfihJzKKI$7hPtVTNWR0;HJ=Ri783dE C+wC3BQ-tTOdtFTC`w(p94MN{t_pqVn$@?|y&XbMNkC zKj-;=vBNsn^6>y|ANY(vc!STVF~8`CU--XatcuU~ji33qiSVvo(fOL{4G;8~ulc0E z)@R%CZ`<(*{qdg<>l;t7i(mS(Z*y-C_l!RKxX;YCZ>hQ8`;Nc+P6qG$!XM_qMDM4= zfBaon`*1J!$lv^f`uBhD{L(-D)L;G9fBo2>{o23%+~57)|NY<}{^CFW m|3DxR ~qTRhv=ZojzcC^T}-sUU+>H7H7qp;$~%X7uxb%RI` zVEP0%w++C;bL@~o;X+Ccm=Q?kb^ WMX^!!P_3We5qK|F~}8EdLqxp6VPRe4EayTe&o zcs`cOSt(}V*?3tg)`%5bO>?AvW$l<1UDeQzRfStS$^3cs=tl-aEerBFLmg##dvx7M z{Sc%7q~tSW<17TXl#z2@4MnSY(xKwgY|HJ<)_XTnz|LbC&{Mf;i>r!a>R4!dWA5xj z|H{%8RJ1 R4?N}1givu5G_r }Q6)nsiy zKGk&V?zUf$Y;Q=LN?w%kt8!7MU;DIJQ8zz-wG@OOIFlF@?%-`6_v=t 4`C(R$l UOndI* zvnXAh*UNcmk*nL(OQ(;olZqk`^3xuXe|GDU|3Dg%P_YC4u&8j*p1GN@qbvb4p5I~A zXG9U20i-}&O)?Z0m|$dz9~gvxcBsT@Y0(u712f3-5NQHLH+bm;;(zWUQ|^kO liAV~1-V18m>$P3kY7CT+J!4Siyz_ir(cJUA|A}fga07m>qzeXORgbjNa`y5W% zPZRa141vXS Z@@Ck5qz3iV50JQ zc~pVi=SL=YpgGzEfg<%x16V&0hU4#OuQK^%4rnuA=>|zU&}}AnLfk@pzmP O^MyvbS+o7mRk{g)1PVb$xTy?Ng@@&Ncj~b}u7cy;?Rgi}&K0o@6dw za7^N7M nRh{* ymqP=RwQ5jkEJn`?u~HHCPY zixKn3Mx+#DA4VNZSvyXnsfGjoeKwX*-`BEHR$Yn&vWMtR?#b;4=kimfY8#T%@yd=k z%U*Wmf6D!l=hOOoW5qOsI>ejW0Kdx$S8ja`S)1)^PAFScu~8xUvO223f+N57Nhgkf zEllT;5+=>iz*t~?ZOQUqd(5GIkaqf>!k0FvnTzQUIm;R_URIv1U6leLP&Fpz)WI@b zlRvm_bZ_R~b;%Ucc_q*ZCDOX{%JemaQgHB) U(Lqzf^#@MR`F_Z!nUAHZGN>EE>8aV` zib>-&6Ah*+Qp6n*yygR<00rX`nEn~HxbzOe<~w%--7|?$=& oMEE7dJKV9`v``y(Szll^UQss+>jWgh%o3aMAPM z5i6myp8T`YaY$KkGTl`O>e24CY<366_!>Yuvor7K;AHN1pRMS7;=J};D&D pvMH6ia0PjnD< zDX0_jpX&Z$?0|nU4<4u$P?uDHGRJ!f^S8ue-k5XUII?{`_6H*b$chH6a#@juQ{mzV zcqRZ}Mgr>10&{r+$x8#6X{o46J$(WK=}H4Hc)U4R@M!UaQUd)1MuHeTf{0F-J{<<> zg*tv~1td=b0t|zsTPc5(Dg{G@@Os#aNvnk#2FcO-0xA}!;j uh!(3KE(rLmwOo=xR#N-}A zzmJ5P6@}9dDpIM3`;U-^m+C1$=pX*(Gu8;#LyQR0!2C@sBM&(Wzf6s|{f?RCVOBLF zS85Rk qs7*2G zqk$EO7#8AE|B8O#@_E9_cwJyBM+L{fS$IBh$KJ685uBpahsb>;aFZ=fyy#10l93Zy z)F*)R?3PM8HcXo0P2?+cf*(v`*h@Oe_s63Cow(qD{MQaL=8=GZ8dE#}`_xRG?kS86 zp!36wNGhOJrFV6nU-1xKO+Nie#r>E#y_{q+ntW5rCNZjRH5x^_oPrTyA{?4*^Y~kZ zz*Sn4_|ZHTVL|=b^cN|j>m|NzK-=#l|CDg-RDRk(o0c@1QK$G-V=v24R^D{Gh*SiV zG%J_%oyI`ml<2o+d xzyPG= zzk4Pa+i1k%(bkQQ_dmfJOZtJYOg$? zKWFqM7Yi?sLPjtH$?Vz^gy0W?`B?xXT5w|tf~y5_pMeF>3a-*Ya1J1(88Bim2zdr1 zs09*P1B g#Zn5&H$Cp!Km}UQ$l9?%y0LM7VtR={2(cQ5aLhJt!J^> zYvE-Z$c`U`dQ$*5Q*f _GDD=-5$&e!%l9)_i!OrEy zHm}9D$R&R5psP{P)oK9(YoVZ3f!k|A3M4WY(Z4{;D+xn7IeaZ2h|&s!a}L0MC`QT! z<&KqU@PiW0N($OR*%<`^XN7PxB`%Q_4*Vr31|SswGWc8&=UT}~ImkV-7`_+eD_e+y zS$g?G8+w*|$mbA_m%s2c<)>tsd3!PUSVg;5*=<{~Z+Tg!YzcC1aT;NnomP3`SqV~Y zi8Xy0Vmv6#s`?KgTRJC`Y&M#Igj*a kA1BRsFQIIDKH0!g(u1-v$x zl{dh}7mJVAe6wnBJp*?lm+K0Y@5|IGSl5mo)km~3{?cwT8gHT!0EtFb{^TzjEeB Ioo(fj>3+)RsG0;7Wtkn%qae%jg6j1mhc6vXUrdTos#P+5 z5Q{s;v~$$83N7C{dbMkl={gGJI$Se