From a116ccf850391f72cdf618356da9b9d24b459723 Mon Sep 17 00:00:00 2001 From: right-hearted Date: Fri, 4 Apr 2014 21:40:57 +0000 Subject: [PATCH] Building updf using ready menuetlibc git-svn-id: svn://kolibrios.org@4767 a494cfbc-eb01-0410-851d-a64ba20cac60 --- contrib/media/updf/Makefile | 6 +- contrib/media/updf/include/lib/libopenjpeg.a | Bin 0 -> 112026 bytes contrib/media/updf/stub/Makefile | 18 ++++++ contrib/media/updf/stub/crt0.asm | Bin 0 -> 675 bytes contrib/media/updf/stub/crt0.o | Bin 0 -> 675 bytes contrib/media/updf/stub/crt0_coff.asm | 58 ++++++++++++++++++ contrib/media/updf/stub/crt0_elf.asm | 56 +++++++++++++++++ .../updf/stub/crt0_elf_nounderscores.asm | 56 +++++++++++++++++ data/it/Makefile | 6 +- 9 files changed, 195 insertions(+), 5 deletions(-) create mode 100644 contrib/media/updf/include/lib/libopenjpeg.a create mode 100644 contrib/media/updf/stub/Makefile create mode 100644 contrib/media/updf/stub/crt0.asm create mode 100644 contrib/media/updf/stub/crt0.o create mode 100644 contrib/media/updf/stub/crt0_coff.asm create mode 100644 contrib/media/updf/stub/crt0_elf.asm create mode 100644 contrib/media/updf/stub/crt0_elf_nounderscores.asm diff --git a/contrib/media/updf/Makefile b/contrib/media/updf/Makefile index 89e591ad29..7b2e4502f6 100644 --- a/contrib/media/updf/Makefile +++ b/contrib/media/updf/Makefile @@ -8,8 +8,8 @@ GEN := generated # --- Variables, Commands, etc... --- default: all -LDFLAGS = -T/home/a/svn/kolios/programs/develop/libraries/menuetlibc/include/scripts/menuetos_app_v01.ld -nostdlib -L /home/a/svn/kolios/programs/develop/libraries/menuetlibc/include/lib -melf_i386 -CFLAGS += -Ifitz -Ipdf -Ixps -Iscripts -fno-stack-protector -nostdinc -fno-builtin -m32 -I/home/a/svn/kolios/programs/develop/libraries/menuetlibc/include -fno-pic +LDFLAGS = -T./include/scripts/menuetos_app_v01.ld -nostdlib -L ./include/lib -melf_i386 +CFLAGS += -Ifitz -Ipdf -Ixps -Iscripts -fno-stack-protector -nostdinc -fno-builtin -m32 -I./include -fno-pic LIBS += -lfreetype2 -lpng -ljbig2dec -ljpeg -lopenjpeg -lz -lm -lc #include Makerules @@ -31,7 +31,7 @@ endif CC_CMD = $(QUIET_CC) $(CC) $(CFLAGS) -o $@ -c $< AR_CMD = $(QUIET_AR) $(AR) cru $@ $^ -LINK_CMD = $(QUIET_LINK) ld $(LDFLAGS) -o $@ /home/a/svn/kolios/programs/develop/libraries/menuetlibc/stub/crt0.o $^ build/debug/snprintf.o $(LIBS) +LINK_CMD = $(QUIET_LINK) ld $(LDFLAGS) -o $@ ./stub/crt0.o $^ build/debug/snprintf.o $(LIBS) MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@ # --- Rules --- diff --git a/contrib/media/updf/include/lib/libopenjpeg.a b/contrib/media/updf/include/lib/libopenjpeg.a new file mode 100644 index 0000000000000000000000000000000000000000..1e0eff249410237b45663688b5928468e9d88be1 GIT binary patch literal 112026 zcmeFa4|tTtxi|c5c7X*}cP-IIOLbLf!5~dAYGR@+*=!PlXh_^7P-Dap%s(I|y9ko- z$0f@2VOx5n=hbs+kLMhF%6Sj1w4zeQHo+Vgl-BU4npD(iQ=4?DrRsr**8P6JdFI({ z7JRj*J@0p2-}ODYHurPS+%t2}Ju~P1C}fHaX?9e-{*L+UNaU{I;fj)-Ue{P2BTD z$zT5ayHlF>d45kJt;FAR|69|3_TIUFksoQ=-{SX1qo)0Lekb10w4|Tqyic^VeqWfc zSrUH>-_R_Hzq>EhEPu`Khx;|l*}uCQR@JNwuDEM$psr0L(y+22P*bcVHOUt< z;pV#K0qJmeUEr=3gQls$cp+yEE2W!EmNC(7RnQ1xaJ8zXv4%di&8yn#G!t9ZQnylD zc5k2t@!q`@v8eZzt6Eo>?{u$0%+00)Jx3jo`Bls6MsY~y9JmZyyR^BsrfyA3b3-je z*cPa3X=}I-Qe~n>G?KBlI>>i*-O51Cio08-i^AIOmRQ4zrFYjMfFVO>#c(ksnUO%F zWGi#qysEZIYn;bllIO-t*lyIbqp+8S1^tXb8%tgco1($zp~nj6{zMhIC% z2)Lq!0i+w447Mn)jgX3=v1FzrvzHLsU`z&2a5dsI1Zc)7h1u9bae<2!GHpawv!X4q z^ez*Fzzs$r;9xVVQ%#^nIv8k) zZEa%-l^f`_1QHoWDjGVX;;~sM5@3O)sKd$l*z{Wib!e$3ORUB!MDOVUAQC7$w_AT@Dkv$0X5kO4)O$Wm}cix#+>x(l^gz5%XY z+8jg(II9BVs~JkV8f8akl@X2L^mU$EyHllfP)e(^ zqFm2+bPw34GwK`96?49$ZDIG2eTyZt3+zk?FSdv!_TWuMFy}KPn-o7?V*jRh5Q!Gr zKOuJsITEd|whP2as5^z>t;pPbdvx3$mg8u4k=t@`8p(H2*c(5J1?P7E#-7=Qd~N!T z%$1c`C+sM*&aS}tgTo)kVzGlP z?9hqS#?&DL)wCk7_XhWjg1WmJmacSX&CZ&A?bX>cjTcRu-L`fGhbyyDu?<*nzO~jh z&kj&I&R(`OuvD9U7sgk!p*dGz{HM)cxhhaMyXY4G)#!mReEa;*Wgw+&#;YK#+h0@l zoK807{w2VP>YZR@oTgEDtkMimI=)X=xD}AkvV^#ZoAIUNo%EkYmjN2aPsoSyec5=G z|LMnHj)Kw=|28G1OBy~G;Af^uoOCzyMLi}RVPX`wgK;+;DT4|4F(1r7@x=JrA(#8$ zWai->^nvg^aT?6izkunEM-X5R~X$8lAZ~^Qcy82Aq0b%{{2OL z$ehg2--q<5qBQ%E^U#aL`;fHse3#KZK#e%8`7V*4ruqwZF{$bKY0}#V%wxXleut&h zAfx*6+x7Wrpv~!S{W9>Fg|9VQVsoSxf=caiN5_AIS}aX!sLG1WQ{|x(4!zo; zci0z1zl8TnNgH;&&aj~#*8=C$T}KBj`_XT_6|Vb0oHVp4)f;u5UgFS8({f8wTQ4fB zFEf(Mh$rWYPL{n z+DsVXZF;r6^R<9Gw9b|iJRe-g+Uzn>1QOMDz4~KA5A%hRL(daBk*)h(jZ^iY9bK#N zA2aE7|FO<4@q%-6H@NRSA~FJ(bjF;U9|aci*ih9qvBoY+9mCt`A9Hqw2u}qzz!w!q z(+eHsGc=MCY>tl83tiFidSR;WvFRQUIC~w6LDPO+Z13-QXSwcsr%&P=4>^_#-(dfW z!8bel`d7T8`}%~}QEKu8hP?LR6_xch2#W%|Mta;)p81+d5xod;N8i=GcD>voye`W= zQJyNiX)K~XDJf0k?9pA<+PbRs1~(^Fb<5m=`Z{;r%4P0V%jGLae&}d0Z+6d+6DIeK z?&-^Bxod;1t>|AA#sGAmq{+5tL^(+r6T0#j4h|?&WYbhxSPFt_Dnx zm;_fCwO<_K(=%7o&J_G@`^45&>>$~LX3oykW-GL|Es&jvWc>{~&vW&icd#m`$JElv zediE5kTsy0j34V2>CV-6Zcm5{Byp{u+;@H&T?WE1{y7YchjiaIUgdxK@rOc?@C(va z(`GGR0~-MRYgyWmGU^H~JC#K-hY?z2hP znm}mM5hjZ45SrLVICA*SN=M$<*ChAZ3sD~5g}eEf@tL>@6W#y%K3lebGivnd<_OGi zvc`LG6DQZBj};}taR{ID@nfILyz!m#B7QL->!|5}72dDLkM)lJ?1R|PoBlWAy->N) zzZmc4!?-K(!*V%B>_+$+z~}J0Ug1rE@8OrP@E~9ogvN0O;|l?r598Z{-`(&(4M_j* zn4W<2mmP7fT(JGCR(!eGFuF3z#a(Jd8SiJU|H?6gT&zGSxd^OA4YKZ{2$|;;F#Ep< zF?Ki%Xo35$mHQ>gUkVz`t%MjHZ6N%jru`1kf+9anh=QDgic9w^0U3T4am0HqA;R6E z!ea^eFB+Rf%?%udr0>ac6h&VPk>=tIi}d*>17H*W+_ z;lP2B%-5pV>+OBEoR>t$iFTWQQ`D;G^@)y?;dPdrm!*RZ{&s7}$-^-?>m4W3J5CCO z@a7zC|IhI4y&sF}lbNrHlA&m>p4Hd+nh2iQFivl=MV&cE*H6$9Y?_o;U9p-&V#{mp);0%J=}iaW3cBv>>mCW+z~mL z43bGBLL1XM8I)-`a$Z_*x_@j9o;>^sy!7CS^x#Rxj-AXq@GP-^+Q-Ur9kwM*UZx*uU~TWGu=0o z`C2&8J%a3jCg+8OBJ5X17%_{m-zY+B#|Z&iO5~;CUF7hLC1}Io=X`KCViYB~E6^>^ zq4sKzoc>5yhS}Kl08%(g`742~Kn9}qdYnfHEP+R+L6IFWm~8LodfXC4i?2nfq z1mMVd!7RakqXcEm=qIQ9O}T$N`uE9lZ)W8d{u9p5-+ew=wk1P6rwfbi`Z-b8^SP2ZkS#{o^x8$k%8(Oj(iPUQFwpyBuj^f_Rq`hecC zM-RODvEc!(;cGPL1aPp#|e@` zmLIkTAD+_jU4w-#Yp_oQUbW>TL6xhmnMb1SjJ~={N+k6tiVaQs>$d2{sP{P?l!$LY zPeaB*73|V)f8}Gt1KhzQ!|(uih}iP}o=kL%r=tYIKTO2V6u*XEc`o=ujpFcze5i` zmQ%7rPklxBd(rk;M!_Ar?=ijoq%G93L&Ma`|Cruti%tO>mVBg2#tn1_T zeNaknw7&O(f5c-A4ovA7GzxMD>(U6SJHn&7?{IEiC&l-esD2DpeneGy@b+-@UfuVw z4#M^ko0QEC(b3zE!bB|}&Opo6t9R%f59?WP4qrhGX=SrWcj(m*>+MI`5RFQ{gEj2X z*}S149+=W`$YAVYHpDk=sO3A5%l6Gkn>G9~$ONTDUV0IAPD!tB+Xv;Khp%F@rkdELPaPSaN=#`5!!a;oPpIm9B_n37 zlvRC?wR+E#;9jGu??Sy2x4$Br9qM}f1BiFDp7*k1n)SRl;_G2-r^i%Gw3V(Y!Jg5I zY1Z=nkms0M-pfXlP|J_Y$i_CBKD4|k!Q%;y2KBs`^}Huqh^AJQ^RhF%@=Po?yaN9q z2I=tNM{sxm|4^5Tayw2q!-xM2m!tTn2M-kH2I2DRCvfSgN#=Fie|jKZV?jOHhs?)UAhPrpyI$o8=iLmQ-SnX&;xigb za44KLvHLeRD0#~-t!W~7y!)LL(Q!-!QLBca@p6Oqj&Y~v=yBx#7I?b35!CGW5J>#X1|bj^(uI=)uxW zPDjs%OTu|S(eqvw>#(8%hm#v7LaXX|&xm!7nD1nvitQOaE#?~xbquEHYaAFP=v6j| zK~xU~(w>9Zw3#0v=i$_!SgTLY4BCe$Lkom@vXt!c;h^7Vk523N*yi4o4Hpf=21>)Lw&5Z;TQ<0c z{{V-G?<7T+c`AxJbP{jc&xnhYdbz!OfFqRfdW+RsU$y$tx!u3B4Lykpt@}@Qziku# zLA@LmU=Y4qTJPMUhv{Y27uZF|P`!W3Z+;d|&DPi1tiHjSr*mFjpCVqa9QxlzaFW^T zSC7Bz=lVK3M)LVGz7ye8m(@35(ylk+>li|m^*^#KzVRIKEddSIB4vCSXxF!me`&7% zb$fdC$#7~0<9Z3{zEnOm2Xs|S5|;idGh>FN^7Iz0;h|6L>3+v%%?R6Ix`zDw2AjG+ z7QW-rFE7$dju$n$FcJvcCY4r%_PgcE8OCc^BE&e`>L1LBwD;>JJyLS0+3EPE^+Y$K zYdZL`^_p<%gPF1D^wLHb!;6vbfpJA)+xSwB2uqB$L%rk}p#ExluJsCyjN{&fGY?ze2|{@v*vJ&Q!gUU6D{rx|UB#m#R{ zVaIANhKAea`%@H;E(t`(Zc(yX1b1P4g8nOPyH0d+b@>G6+;_!52Og+R?A5YH&_k*yTSz*#H8akIzA4yW0kB(x9xPp=mTyt54Hz{ zZ>R3>VcL(jFsG=^zK6wk0(c+(H|DQo7X%~Ts|@@4hPFWQ6MhfEz|eyw6(*$>gZS#5 z7)XOJ5ncut-T$~=vO_#|C*FncyLu-b#q<0houOyz!9C(8eT^;ju1(y4q6z)pCUT(4 zLc_MukW0WfHx#wSO1``HsP5aX%W%4kEVSZbo5lB-#rL?yx5MJwX$|hSc5DfCJZyD- zt5hbuSC=^ny=}!P%(=NUITJ5@Xk?;ac3Rt*315$1vQ<<+t`u<>n!DB4XZe#T*<%fE z4;S0QrD)1KqgfcRr35hA+hGk()^9)-a`fsRk*jBihFxG>uig{-y$hKNt?04IEQsno zv67u@BYHJTVy`T{bQE%jUHA^^UfUzGC{c`9J4d~UmO0G?Y-n7wBHr#=&^3VP_8TVJ1g2lpcqMn zI}V8V#K_PmjCv$9HuMYj=&CaHM8B;2H==pQf;~k>YDnv%_&T~ZDC2((^Nd)D!`b;2 zboHnrv0$IMjy|@{hE6o&`#{7e$7T9OdZAsv1Ksg=XZ8x;F)Zyj`Hx{1-W4v6HFdQ& zeb_Ea9vA+dSC63Fgm16zJ0?2z$jaM0{6{owz2v)Wslh$^qSWxzIX`2AFq9s;%&$AF z{=G9JGhY(b$MH>?^S=A+=}T{a& z`cWi<0t2aI&L>_7+wO<@m)~2`*}Bnc9vc=+*gu%rg<)~YPTes{I3Dm={k^%qOTd^|6C z3`0v%y&WW(k_7E5>k=9Lj`kCJ^>#hDE#^BE@(tKRzCm<8n2{WEZf!ynK-v{XjxfUx z_EC1WX)`}DoY0)fMOVZ(0RFXb>a*g7uwzS;Zx<#lgQDb6*k1*W~;XBfeJcogean78#c9hvl+Z=g8ccigh?c-F7jIQwXDpoLDjUY|P6 zY#J(M_2F~$ljm#I1M-vSfY=uu7xNuIdHec5(UhYD){frkF|3)VcN`Z5Z@5MK8&k1Pc+9!=LTHlY2G`D!SJ0sbUl@5g(1!^O zAN&}0?a@onN$&l*95iDb(5IK#^@&K$zuOpr70VHrog=UpG4^^9>$WN4)mwtUfucd{ zPcPZi{ks%BxVJJr*o98O&{rM1sjo^NhZp(*V|dl%+l^t>j^V#&ci`uk3JW}(*I79r zye|zS!}K;=#K+}SO>}h4+$Yd0yeNBL;Xlq!w`6bkTPdPsCv@Jh4l2C_irmn+@W6Nm zqhP2s#{{X+yrC`|=BcsZyI2Q#R*o())~enfc09;V!;41YSI1M z#ngNRj3IX&J+WXEdDN>nWBgP)R5{GSI{M6==r-e@=3~BH){Z?n!ClU+9CeD5=6E3! zV<Ut3~x>%aYn_PI~FJi&+3 zY!$zBdzSNgC&P1M(Vj~?qaM%g-`e+IGftFx{^1ck!*?p!;<<*;?>2fE?EI@W&(rV! z`PiCar{~lRgm}vBVeB_f%JjVOUvRi$o`t1#mE?sCH&O#H3m z`{9|}SN!KE@64^}_|emMZTQ37$b##|ygNUf``(d~yIfUv&zbd&djnI_jQow8q4>x) zzWYubD> zG2jWW^o~D??*AQo2h%>G4iTjwl~lyc_caQ?9Qf z7vjAHnaNh+X@Ag(%5ohb!?yxH2b^_?IH%D~5XKBe&pzlOho=3z@&|}NR-~8soNbR` z)(V4)_8H&D>qPK_&-T)O;m3e(;FLY>8J-8c1~}zF{Fi_?B>2Ax+*MfEOci6aO;s$6z~fF(CbO0L_Q-%?19`i!`lN zh3EdV*|l<)nX>H9OxSW(V<4uFv9X6c(zqqa*qbKb43E`W^um6ky4L2prK{^|>NUej z?N;EXw#>7g=8SPtNJ1>DB}4zcO?WU%t8H1Em?M~hG;7MBLt1)}XO%(eH;T((pSCY= zdGo4OtqBoBwzE;r7TALnD|i(3j`kgwp?nFSCxqTvjDjHka|Pcb#D~3qfD)j8Gn5bU z4TQk2K=~4Xj}Ukd8Wr(Z34z~-@+LkD<;wKu5F*YS0aKtKzJ|0&cX1jZ-p>$%UfRbb zSeAU|zKM*_Z&y;K>Rpzsd}`ms=;sv7wH0)R%(t2A;G0f3P%W|QgjG@kOOb~mVw@n;Bn#tn>`jYUK{zE4-U*=L*tp7@yYCHJ?VMwfxWjGvGX>CV+Z=D=N5 z6_RP^B_aua$^9egZk8d8e`YX36m|R=0@4MHGN4XoK3obn^9oek0mQ=>^_cOQxCs;8 z|2zGo84uyv{mr;|S+U%xzX|#KXNAuMG#}=}lrP4!7Q*s*? zOlX_2?Rj-ui?K1Z8BwG_cmYE6vkxlB?;9!TXXWnVzeI;*&B^|}wrNvUL7F;bGHNPp z)3B3BT7Va3o(io?(}G`)&Te`oL-(fX1u3(jG1$uEtH6c1ZLanKPVd^%%(V$viHGY( z@cB*d*D+rCofaz?jnf(}l5Es;JS*-7l>p=Hh;#EZ$h_`zAy!e8inRt&3BZke+_@-ZHSZmU_bZN!P3%|n_+W7_c76%q?!~zEvm|@8c<8k3l)eF-E za#J`}c&F-x?$G{e!s{+A#Z<*a>Iot*%x`!uw0Inc}(A3 z(MkEae!F3_1AQitb?gDtH2=z_cQx0!1FK9!?z%)XZlh#T%lw>{i;Aqy}C0k82Oysp7%1T}(PVu|I_B4WOgh3ueR+&Z5soN#*)M#WzB~qx zIx{jONCGzcYNkV%zg}OW&=Q`r?WM=Z_2**HnflWVLVf7QkA9R7{mpU#D)lG(qelD& z@T32HK=WbvMJ57BygCV23enKFV-I79+ZB&JkpTlt?D&=XInl!$qt?_c!*=fgHu|?} z%au|_n(POtmv2;X86ouX8U?>ci1Fq)6ad{hAE1r#rG&6?yOQo0D_%{A0RZQzjE{#v zG&kH8*XZ#v;q?i-XpJ4UaxZOmw%SVjIc$wjAPqiA`aE=^CG6W(+GuDlX;f(S?GpaS zh3_$ZjI{c8zq#TuV=GPRuN~7uJ+^~ybVGe<;Xgd}*y;VdZu%e5P{!tw{}KJfI%Ym> zUwo4F(=xO}*00afPc1U^=sz>QWc~DMbQuVWDuB9fJf!1z(0usLAL|+ENY97$>|FY( z5bmTipYND23Yvb&`iXQE3A831VWNI|9LQsE`z-xb0Qs?RFds8M6E|U^`~MC7gr+DT z)&c4lOx@y-i*IHFG&BNEq^WJvF!yZ@w&7qGV{a$h=~W}GcHPBq4)5U`f-#Z%IY}zY8x9^r?l7pb z7B}nnkoWZ{r%5MH+!QJ0Adj!;$UypLt5zG=)Q*AH#jYX z`F;2s+;t~P216YuErF76EW93HPfjwm?BWZ8lSE6ZGLG8#;ljX-4HGtg=nZ}~>e%>U zY2d<*AC?8b6rJdN;vejYBZ_Y|gP2Ofq~8jQL+2A07luBu1%H6ilG;Ki$AbmUZ-_hRqxL~_Mu`Lv7=ziC z;_`BnX3644i+G_T6t&9KqLWJ(lr~!8bJot+HoQAJUX}X?6bEJmi)+S2z|miN8EjO_ z8g21dL?k*TIo|aXZ|#h27)Anz6Bv{!Ok*CaiW^gm@7^%9LY^!JatD%A&ih3Kre)o+ z@!g-;Lcg&g;uFZA{z=))do>yUtARrROF~y0<*EQcwyxF2G(2gxejxP z(YV19>?TFgv`rE6fRA@MzQOiTv5;9gTQF4~N(I7bF@(`ZVYFm7{5lK$f%SX65D+9% zSt&nyf)_L)vo@n0h<%~AFY6xR?io>@CPLGoI|EZXkA&C80uC`EzwSXGB7*P8^W>B( zRkDiNjEn_mMhsb_X{Dvevgszeaasi?+}$ISF-<{!M8VOiV&PGDe$JWp=Mae{n4Wp? zXIOiQ!QN%vRM@##BD&Wt&YV8dede;u&xqSznkEWfnlUf*;hn+b$yuI;DWLAn)7#MW zTqs#n*qb^AS&$-9wZ!?TZ_xR)Z_ra}$lCd|Rd+yxBCYKVtzbzQe>RjR(2m za%`?>1v-nVLxx7x_86s^PX;`&%q(sQ4$2bU#Rypjm1bi?!$GtjQE1D_pVt1RSa7hO z-AR1^Fg!Ocux*4Bipior<#wfrLOWGX0`6dCHE>brVoQ&I_su+VYP>}hrUqw4zjltq zMR({eXZMIrZ2kLL$eh^x_qzb{b1Q7^hhYM&=?e;i)tv_ei#Y+VK88|*Wl@n{eJs4D z01@MBcwn0T-3J)9;Yc2ov~^LHxcym&zV`t}B=+9_7>YKUYIx#9yLD|ulyvt?$TMPY7mu{4(~c0P*oM8z$W z6}(}DQWxDuLEZrY(aUT^XhAH|7sUjmuPW75Mx~P5-N$IpC5xe5R82vsF`Lw-qAm3( zji!5wq0|~-_~kR287mOVRYbz~{@HB3kx*8uq0u_Kf|tjaHzT2JIP(#qS$Gqn4E&GI zC@a&YkL6@(>`8jac&ty7I+0R5nFkm0C%r;{v|@{!jOkX($wC-{uo8h68QiFPTT;+} zye1@layb}1hzB{6*)i0A#CtnLt<{MARiSsSj81h6kR@{I>oc~Gty|U^3touoW=kLl ztr)b4NT{Pv)7$P0rXt^}#;&Uu-rIz?Dmt~SENr{JG}d;T#P284QeLkJx{!Shq~H-N_2<{MJgSt1+3AXDCeLigit~UX%yL z0O1%ZPMu~J9Ac!w4GiIFrZX7*QdwCncwBXOP`@y7EFAh8OdBb1-#~7QtNrycsh}Fo zqEYS!RONe-4r_CbQJbq+n`^R>HbeyVt5RpXHPjxKn%Kfkgng0OF?rD!jrzC}mdnk} z3BF_4B8asro%*K1FO^Sdz#?pu7A=Yej~S7oEx<-I8#bEYAKez}gP!kVht;FsTY%FN z^3k+WL^SZLfYFOXRAk53utZ@Vv_P8C!i;qEiadRx({{6P-0#8GlH7S%z)KcK7DZlE ztlyib*LV`z2)kXgULvQcGe#YSo2T16 zNWn0|T9~#NO$!>#Oa_Ay*f@%Om}b&9;+aOZp_fk+r87_&k)hl|SG%q+$i|AL|?-utG79_QI6x_AKA#^8=r_Ay5+ps-ltb)Lw!g$?`;N< zi(3)zG6TDl0IQ`$56@CxOsdz&HS!r1N<%3alW^vSYPdQfxsCt#=$RYnLd69j2x=T!(0lpl9Sa7GtPF(hSQDuM)rZ{@YFYwuVfE0 zwL05mM!y4DcW(Z76e?^Z*EMTFZ*)mRL}stNS>K)_<31Aj0)my9dY>8}8Xf+dW!96E zC^BUbY2Te71BUTdB@^r3g=agRRS<~A=vP>@!7&2F7?;D5u~kL95Xe%^HL(T>Z+4KM zHxdt>;aoW4&42_nVTILX{CFMN2Xd%|iV<2fE5*6_70@7bW=tJkLleR_PpmDkRO~k; z8V!IV)>cr7J~~fzBnaPw({mQ;se9mqVOg2(&5C7h)4dt^uZR|8kjOt6%lfw2+o7$% zA!7SBnOj^{sVJrP!nkOn8u>;iLgJp>HKpyFk+wmU(CJ05LelWi^L7==6!%D8@d{x^ zY;xg);af`EUqPoB8rYa;!H&RzjpH6evgl_M+NAtOrMDGCyz-nNw7i)zyTwNKF%BqP zxFptQpn7=$Qb^BVh~0%E|F)#omnS8Q!7BD*3_@X`7A$RemHI&UR3Xx)Hdm^3cS<%K z;yS&279tE6xMG+Ogx29`zv&1FT8x3^z`CXCT%@p)Er@uy+Q-t1Q?$7kVhQ=w4V zAtk6@kfHD2V!I$e=e_m;_D$$kOL{CBh)g)Jfu|1)IJbAm40;F`bfL zQEnFtFi1RRR!6;qSIYtep zF=^pHWYk^%Au=#@o+v6sP4YN_IP>Yg0*YD*5$*-vj#QYzC}g-BB}; zpj5Q*GFTpuz@W8mm4t{-w}cBO#Kb&%=mv|ka})T`e?p~SDF-UCwroUhO!W|h+$s{e zpA#!Sk^4DOGTx}=`3M<0dRfCsjv&x;d-P`+pXIdm$AmwndBXeOM^DbtYrh;3H=Cs? zHNu#=KX*2w7uSnDY5~VsxY2KJwtn|~#)ril%sIWbVzrh5g-YDcxujXoq>CfTCD!Ij z@Q<~nnwaa9)e^iM3v!5O^K+bEa|_kx=Q#T=ipS~V-o~>QU)*Ogx~6!PS41dRkg#jg z>P;(+uO4vC2lEP!*Ph2UJULF z<8kB$2iuP%sM*R2u^*Ci>mHAON3niO9+Z#n!7vWH8wW7vYD}pwk7*hvWojCrHYjk7 z#$3eFORy~zr+H%Pw`r}M{>#aKnK?g$g20B$Qr_^K}^RkmeMSm?zQof~m4Qr$>LQRy5uUw(B-q)-@$icbzNdI4y37D<{(;hB_ zLglHh9%JV!iOJ%Ih9iL+8UN~jzUKb|lP&}d#9j{#! zV#YEJ1CXoYD&B)Vd#ao<^T0eJa6VQy+NQ-L3gv1@`4%3)sCT%;0c*a!IK40f^G7z< z!UDJyVg6W%`QwM8usC`l330M=VFuIB$8;$RENpyEyBS#yocE281uy#xU6w6{7eor} zaMUsnBIf9YO@}k)Su1f4Ci0hW$1lxNXwSXX)&5Rpr8q4$yjf`=#{>%GmQ!V$eOG*=5;6x!g{0$>|7M3BLKMSQG2ayNN`7KsiL(lC3ISQUN$naqSXC5@C{T+kR zx`uB0>IK$2F$d4_9}ieP!CM>r19U}w!`9bu>J|s;U@5>f@*dX-# z^28q2as57z*u%Q4-&d-a-6{4Q!n@dZ9RKI#>g1&TA&f9E?kN@zuz5!(MI=N*_!NQ9 z6vni=#bp+}$z~8c*^h|_s0xNZWCH%a2Hybnq*czj_3{}wky^O)hgcCssSSsJ=*RJj ztzRGJ^9-gDoL)`Gfh0$V{?H(tFkHit*BC@THv~*`Zr>+LQw_ut**FbFh=GB2@sZO< zLT{%CoK32q0A28W{h^b9VjCCTk(-T#d_vE${b+%kA{*K9(Lhiyw#l7Sk&WyW=@R{7 zWb-z9v$Elp?tIP1O2lu6{|j%YyfZ9NC&3As2Z!GR9=indMJMV@F3o97~EbHZK&5$0;M59HAXKL}5lLCSk?15Zl}3I;SXO z;=bPKmm-_DFy~xi$18Kr*LgT@17Cn$SWaG))>JZ(5er<97H?EkejRclv&iM#I)YC; zIJg8`{jgr=e4?lz$9LSh_3yZ8eDqjXIaHSuoeqa?73+$Hug9odCmb04l2_r)6Z^xy zLuNAA|8=Oe5_`WT9qirA${6Z6HeUF;;EiqBI40H{iDSL8{x^t-GYuoq@IIjMj}I>} zSLA`RCp6FoVR|zN>Q%1SW>|!Kxa$ zcwf)Ab$V^V>7Nl%Ga`yU1$7IZJ`uF#v0nC!nB0!I1Cv7|9%tuqj31&`;;>zJU`l!Y z7N(3PN>w_TWa5*DaV#){4@LiISRB4=eo@0mTYTi8L3d}Do-44@jSQ;&v zr_3U9NAJK0W*dqK6F|AhVF^wuum2v&Y|)%^$ZvDkS{p{TUmcYr2LaK`r5rC-tItmz{#R6jP8zzHt`Z1#6BJhI^LSQC zp-Z3VNS}w1OR8Sftm9w|e0!)Y5EZlZ%3@KGfhA;7F;%b36BTZ~GDB2M(<`$?#SDFs zOH^d(9y$D(=So<#W(MTfid6m9W`3j)?CA8H)t3stD>vWOJ_xoV(ik;Th<=Z2GDhW$ z6c#T7iglleZQ3q)nYBAo=ph}3LQo3zx1y58*M$~f(b=Jwd$7n3uSM`$1c`DJu^L=s zVMcvz!io!KG$tyKr*Qzk2g^7H1xgQ*;hRT`J?_MhU36+4rQ*z=PML9{c)0inI9Zr7 zTy~s_=i$)lp1in|PdT+@#GP0RWWcPrlaU}eb(v1EGN@_Vmw`htqz&LP>%271Qj61c zkGp$d0@of&OSNq?iyyB7h`*_&L@v6m8 z@rKkGIiz~r#1U`_j$Bzh%782*lunr}of0D$RFd&xe2+qTsqYV5;dH2l04(94TWBR? z$f&FiIF3eUC)PTe5yL4Zv5?|a2{J>|{V|kpJY^Kp=gZ8ob7bcB&yyLL^z;o4{pD#| zeaDuJrioT1hcOsr2QNdE!DGY6*c{$N9=Z3p+K-D* zuo@SA3C-J>j2jF2p}lrFymM~W5f9Wgmj6TvP91ujD+ADBFdL!G$N-z$9mr^Wrm1Xs zI7{^nz;t9F)HO~`Q6#Li8AnwZ8IKHUUI~oUv~~BaU}zC{N*?8VEw! zBmQ_Uz^(A6A#Z-<&E#2Tp~*XS91Xz|9U6ro09y`4+2 zrtXDru_!F1%QbPeYaF2|aGr#3VAu~+$_D>2cAcP-s%MXNQ8PXU;@GKU`DOK-K|#G; zgA*EzmP&=^#w2m!gNHEGfht1VxQ8pSLl3-yK{l4YN^ml0 zj|_mLAJIEohOd_NJ)JSp<_OHti}=L=`iFhym=6bI(jAW`1G;!U7v5Cv%k= z6C3tAaXP5VHoJlGlliE-W$Zd6k3{pP#y{zp(dqu)#nf4SRS8WD^}NrBs0!;gP`)k-WZ|DvjM2uC-+s$g(|$vl+7fZpa2_;QX_lHdWVnS48&?L%=vv0ARPYh%9$ zuw=b6u-=YU^Aeo=^%F3{oIonUTpaP)@S-`ADz3sT;4!1VmCwRiOX1sGF|2KiMHm&> z8y3i7p1+G*ccf4JG7!-jE;;o(@hO1s=pLtRgT;ReBCa(B~7UMZryK?+J z&aDyH^Wfkv9vK!ql>1{g7w0$cha*(UCxI)@skY)RBt}yQo)dVCO)ek9{d~;(aazyA zv~n69amB~4_!gR~G&2TV_5JJ|)YnnU;Z)#@GE}0LN-ta}3h}Y@1FmTq_k00D-D%#^ zvV{QJ!ZL3uD@3WcY$0jN7J9kuT`Mc~E=1;#2F~cmfBH?sh6E}&Y}wX!U3leF5Y9L@U;_e&e5jUM%S3!)Q19Qz*q?(6y1xQuIFjP~B+zg{pYI#s&UJFW zw;?iih2%R5Mk>|2zd;L|!`s>Ua{9N>(jvSiaV{jHU%g z2rLWM*5R@mb&KWfNt3kcZ8x|ZR^m>;hGlNKIm*pTaosc4WZb~3YSv^*u-3rV5}P?m z`}+LS+i)iuubruO-{AJGX{oCXFmolitk-Q^n(AKO(ApMof4#Pu7mnV%4B4%AU;cjx zdmC@_#Iaak`S#w|BXl{DdxBMz3z8+N9zG0B3s-ck`7LU+^eW?cEX zqNN$vbtYbtBRMQa6cDFzXaY(>$r z7#QPYSTnw_;hpiC@qIvtgvX383vNtij`Abj!Gv`A%AZ%k3`O^R=DGJsQ8^_9*M1GU z#K-i5>WTA4f6_^#H$`mH5mG0aPZ}6@V?fKjMpxp;d{B>2CT3pos%2vnQl^|j^R{~P6a?c~vTLye9GXB2uzXy;ym~`}C4@h0TLE)S?azaq5!n5vBuXCFc>Aw$1 zy~_GXoC7%O;(mqy9FThYb%h@Sr2b#7aMH2QaH{y<0nYy90`SQA$S3=ni|OTLIcPvJGd z{{XxkkntrxR@q`kUAPB#g(7jonS0uFg|pl)K#lvSgeX`Kf0%?norM293E!WD|1t@G zH3=U`!g=q`HtdD{vf}R};6DV;`b2)ugWOI4|Bk|Wk%0M-->(ASbUwb^AROs$0{*NM zWez{$wY^(&%kH6u~4ky-)k6yeQH-Fkkuwe zfN{nsSxZYI2Q3Lc_tY*MCBxl-qX>pvqexw1)NNyt#4xLjbmXOhH70WgX6DHBGqPm* zC1R!^YFDkqCF+5imey5wV-(8U)N59?Vvr>HqN{;o=XzT}?xg>etH0Ws8d}Va^^mUI zc+b1RlCByvJh&6rxHc3SP`8!S4acM;Ty{c4ran^|k85%w1<*zH+?yfNg>e5X% zgakKU&NlXJ1(ib03fyFQm*iE6P91AQe{vUW=GE$f7G5dOl*Zm5pK#?o0~i@ilzxJX zc}cB#!MQp@EPesHl)0jZPN536OjGA90kV&`j7Psrzv-GB$EJKmoyP!pJ#-)OuPfN7 z;JpfdSHb^K@OcGaR`3%ACnI6TbD@Go3VvO|Unn>pI+1jjD>z%hTm|PVc$b1ND(Hf4 zWVmSx{-c6VD>xB-4E--vFhfC)g1ktJ{{I0;dF&=WUDFOIcV3xF{~-ncOTi03OZPqn z|D>Q3<1o7CDOgPSRh<2$@GT1d3*ih+>m|fM&WZ6F!_lIM@D2qxDEJSAGc@f&GoZw91%%ZN|cwB^dZjc^vmg9?9A!CxqNHTq2Y=M#djXBGaA z!Y5k7W7+%wVfr(A=45@P;TMR={I!5&Xbxen_rgc&Fg!s|8d z5Mj2a9V5g%>RrMNn8sjS&hjiJyaDHSDg2Ov?<)5{6XxO^NsQY`mrFPkYdeG}_ihDW zQt;v_hWji+(9c!)LIrCH5#RqNMEY+jI5QPE%B?^_uA|cbIANZq-H&-e3MN$B75p~^ zcPqG0LE2l9?i$P+2=7(!Sq1kIBHmvTeih?s<(`Up1nIv*2>(pNbnvg-7brZS@ODDb zZ6QQFKTz&JRqj262!BMmzoGD})8LMDN)>EUaEpSEDA=XoDFv^TzG+`m` z>;YtZJU|@n@fE@wH0=XI&^ayxM7UH!;OT@2cMTxJ-AEka77~6%)9$2u5yr*DLARO^ z;X3IK`fm{j{WHq{=gR+=%0H&yM7Kd#LU=Rg!Gy@q3PPl_36SZ0i#XDGm=NjwfbK}= z7s~w=<^Egc{zu|S-*LG?SES&rfOOwN2>I?KT%c)xB3y|4USYUDqTp!-ue}oPNOu7t z!qpR^9KWI9L(2bO2vLuoQtk&7d`-bWD5y;{!cS4~D+=Z)xKP0w1$6} zSux&=34zZdM7TUcq+g=&Un%^31;--{{ii6Hso-h_HxMGeZxZ77sB+({-~qz9=pP9| z_bwsQ{Y3dYQC3n8g!91nh0H4q|S_bT@X6n>fz zzpLQK`11&X2NXP@;GY$IW)}R>?)MQwfAlF+rxKY8a3O=mh;|lIlaIb;~6g;NjfPyC!r0plucPThk!N!(3f6=)|+1FjNT4@nyko^TL#KTC@iAen0psl_YM`Dd;0V0_;2FnVv6uzRz2TLnVx~lCW=ukG!atE_%5<8{} z8TnJ&ljJAidbhh&RUreP^x&lP#rlLiJ});*7MB}_96bMpr(+lfOEq9CsS(wl z)rexjRM;1li^!<;j2m{&U&QzSa;hL2SkFo^& zRoM2$(KA^(WAck~FtyB#`8pZ1+!vT^v_6YAs<2cIV)u)4^8?UM+|sk2@RW1&YCyfh zHGk8Y82ZH3mqmOoj5~3KqXQlqEZu!$wrE#Yz#73O6N`AW+>k=VO9iY&ym<@&%TXJE zL7>rJz;aBU9NX08Fn8h@=5#Pt#U@DOxB=Lz$nytq-YoV6m8OXZzRb_Z(Ls8tyZh}4 zR@g3;r-IKYOl6CUb9@7V2@%-mAgOtwNCu4kvDp;|Cq%qy6C^Vj^O7ew0S!`v1JN{n z&B><2j(K{^Q1|a9gxhb5VfV9WpJNYoW#pC|!xmoL92Xo2ov{Y2^Mha5v`$7Jm>BU+ zW6q*TkY*+@gh4aC8t3408w7l3x#)W(t|pQgW=&f3!qA8{=z<^SMlvM&Nb-a3j9>;q zLOEf#6|TtTap4}+3sb<{Un&nv7;{{(e)ic0Xvo~_E}O8q>0RE~>4K4Pti>oUm;)_= zWvwh3Y<+g9)8g=kL_h}%=`ra@M&i~C5wC+hkBQyJ`#=NZhQ0|y1#G=S1a4hBXEa8t zOvjq+Z^kH3fk2v#=I#mZ)p{XtC7eWtX{JRt>=}?dATnQ*SwW=Ojm|TTmF=#up0s~4i)%Yi&wIX4RF{DXtMF&;l531$*F zwGEf#qT1bp?HO_7HAp4!g^K!Wl#h9S7q*Ch1xNNJl86aG?uk>PL|dF7bqM4a{i51c zV*1&mZ%e;~8Y)K?%@|f-a1ky!&fPQP#jkNs<yM~pyVbN z+!L*a8Q`Ktp&`4{U)b@7M035VtrIf4h8xGBR{8cIPVwuZD0Xtd#FbG6|3kkhjBV$< zQL_hLz0&I#$0dPF%IY6g(f3HvNWC|F8KRSBCZ5o1gmz)+dLw$ zFcl(?BWXBCCyq=_By*b`7qXJ>>&x}^Iye6Snr~74li+N4DTQ)A1cW05d_Bm=kPG~0 z9^BM%jAN2OMw#4dKAZzO+_Y?6UjW7}ICl`1ZI8<=;i4`?4O6#ys1Q-yvYLB~tMwRL z!>jR5&P@1uD-(W$2@fF|mIj9)&Q9vbjT^9EvvVy-^zl5G2Rn_sWD25iT4MHiN{q@Y z66RP$6wU}bQODx~oyBX|kAnxCCsuC3b!3M0K|a&hgPXau4trVs`$#joGEfFGCGKvF z1bWPT3EXMl!+PvLj*Ds8$@+Ilb{6B%!5uUAshz7{d*}hpq;NSKH$3mh zC9^xL79$34tCwrE}%+%Af3xZV_b1Kt(!NbN6*90FI*mGr>*3owMYM`xPV){us<>2+&;k~mMPh1naDY*zrB}_PaAbzF^Iqtp;Ua`J zW&xW{Y^Ct9+cC(am291-uzB>g;TNdn8dGtN2`{(f@%{SvaP@J~FU|uPf+5V zBLtuiu0Z9DUV?gJiyPkG$oWFxyo&nk;KzLd+oS2oMchB#$Hwj4ycB7b*V8aE+P|oN znIhgMQ$=QnN5CLdnu-`(zrUXO8pi2HJU`_)lpD0MJ7~xyw{GVpGzshjk6sy0Wj~^M ztraYETcvSFwUI01HtG}#^^UyuU!9A;x1dzZ>hA+z!?hH|rR>Gdz+U^x5!sKiFAQ8t zqgk+ESLaNaG_ljN^dKqOW%ec{fQ?nAIi+ij-YT>XvD?QYAXCS?D-qHKw?mTT69WiTW=PxpfzojcRw!2yb0cHp-5Eja9E^g3n|NUSlV z(ps)YNxE+va^qPJJNG8v*6~)~=H)sSYN-uMVS8x*c--&2Jf~#4^Zt6446bfG=g2hJ zYsxj^>qX`;6gkF>{sMBr9qy>}=TVqDKS0yqq=gr3qx-|T40dV~(XmlqmnOc$ozOzw z-;GRffnq^kMaNd7eTetKDU?#gw~Z-?M|qvO@NJH^I-g!*{V6r8^O=;U*D?^uTD{ro z+bZ4^```cm#`{t=r&n8>_Gdue;wk1sFP>#w;tux68wQ@&l9jv%GEa5J)=b3R z$~m9ln2S&J=Xt%k^NFXJh}8(2^^C!?$a>I|bD%X6@@=3~>}HuR_WWHW=^J3>#yejgpX zuDxz3LUoEZ#<5a&Z5vvFQbu#+s)Mt0D-_}IKjB{~A}UqqbwSRo9UGzchR?@8t#By} zUzgF=*!Yfam;lpu*02a3wKJx1g*01kbGO0Pwqbb#!rfa>yII&QNaNpNi+g_Q92FA` zpS??0u3Qyx!)AFIsP0;|Mw%9nHD;c3$2D_cB5j)QB78B7h?U{A>3VZDDrlGcsS^A8Pd4B1+;{8-t1eV!N z;H~hs#pjGey352yi^H(3aAOVD4O@<2Z6MfMHz}dGl>huW3(O+>8(1s<&si#81{FY6 zjn4@3;ks`dzMq;8`#L_!cFMD`4&p|jiST21(s3+{&kzzvXCR*)331WEj1SBBlK!*k zxURwY=itYO@x4R`_3)KHEHOza*Fo^!hHtiC1~ea&t{4sp!L@CmOMFZ}F1DDw(Vuix z34|scAv-toc?{oVAA`drI84Tm`E}t(IVHyD!8g?3n~}gT;T72Elj#1J+aH_KHsa%* zk6gr>jB>jJkoK+2egp6_g|qyA0wPXp&bEJL=+TGv%hxK@i#*f5uwc|%=DQ>buSml0 zOu`$0GcNX%j4zPnzaa?^1E(DhPn043KPCD9I0@%qeh;Se<$$FBMUwy9N%-%8KL_~~ zDf*9+{GCWQ1!AEb8QC3EZu6o4Qs9m7XT4;2+BlgH{kfWIKE$^t z;g2TaKLWl44e^i2Bje)?&wLm@*`Ankz8T-Wu2S@UN%U_f;jl@YgF7?vzeZYlwbVA_ zZXO!m)vjt@)mkGp6@8`M+Fh&G)GvdjB5=dT5pVU<(r(o1kYotx~S_eNqUy4BB{@EWM*XQ=dyo1%Pr1dJM>-K*SLx9PrA!Bq-&D5xv=h=M;*@F@kKCqz1Ii@cYq zU%CHQ;b)ZpMASvz>vS<8()*f%9zukddlnG>cI94A2t1(tHxeTJHs$|41$QdQvyT|> zD+<0rh!d`68(Ry za9%pW@COJHzEAnTqu>V$O1njb`yx6P(tni@@m)g*_qhr$CPZgcK?u59Ld4rf2)cF3 zeJddf{kwp?U+4S8@tuJ-=L~m{5b^(t5aDQBPW%)g>0`t}e>3zkaqibn!7@;o5DJpZ zn1sK8AMauvAWVZjsDfXDo+bWO1?MPOtYC$L-%{{V1)osxAR*#^oe=%&dxWsXng#vJ zyI|)MBK|T3*AlwHAK~SiCha0IXn27*@+<8luYkQ6alrQ#Rz3HLZl|8szR&xE$d{N)hhdmci(UoK&t^nXFZf0eLP!gCT{ zg|zU!8zj60OFgJlJR>f>_-S6&i0Ra|9nE=P+9+z^iXo{l-F;413eVuToBhI33@2l zf{O^BNC6Uu9nS*vB?1&90dh_NrbB=<;^Z-}H@)<|L`p$oSc{L^u)FdmwuXZrtsmS% zF?4*Bu(p2nM-3kh3U;i=&fs8UXHe{5;Zhz*N^B9ZKzzAaPh7G7kz$dYgm^YJ)OQUC zc9^lVi(A2Z%-&l|e72}1Cl>u~P7Ef1ZknAFTf~Sc!nAIZ7ZwRo@-w))Ymhi3_Oj{o z1_w8*sV1bTjlmB4P;>1u)w~8b6qU}}B#oy&BX0gt%@^PDT@@)7r3Hy(-0%x_%B^b8 z#YP5-GKAPOG0;|uZFz@Y0+4;oeWZ^a-D0Z=GCVKd6-Ax&ZmJ;^M*7CBSoP@Q^74ht z(;>g`Eflf{A8$*?!C~CITE!dQ(&hQ&>u}8Y|I>?R<6#(o$?N8H^!;zLZoU_E zi4WuA1J)8x8*$Rjp+i0f9bsY=rO03h{7~~Ef6Om?56j8OE1U|?P^_RsK1O^7ZoowU zZ)4qT#7o%U-K$`U;u(X#Tz9eF>Be+G;5mQ~;s^CZfsX|=9_G`H-}Ct0h=lX~`9>fh z!v(YDy6dY>34P_+p;<+RGjQIgVue^9h;;&E5zB(4b49%?E9EJCl5@tx68;8|V-DB9 z9HVlO&Jn)~S^NfLMHAA*#~3SyK*|B0 zA3T$J(q%m*RS{46Kd;bSp9h+_MfdxY%YOe$f7i)npKGoz&2#41o8Kva4#3|vS{EhsL56g}HocT5$rdyF6Wr1`k6-!sFSS9a1 zMMW-K@D+2eG5zi`4rX0KsCQc^TSWg58`$@XLZw@2gJSW9z8ZH5i_crVHy>$ zYxz$jPSbh3p7j=R({UM#v&M8mb?Q;H>Jf;kT-hnhe{#a{ri^b!&6yoQ)zD0A?sUI_ zs@8<_(7&Jw;69*8s2l+--AHI@+{JAp`e|uT?|&BUNByAT;GKj2%}D6 z#tF-3nrDB_X*Ml&%RKmK&Q1G|VQ#D*Z#aLg>gmE&t>+eYEq0#~p3oz3IeK4)VWE2C zWwC4M+@x-q!&pN6tH%+32+qagFOz-llZrzX1E33o-KI9)|KMp{{B{L6un`fryGZn- zAtZu66YLE^gMn%I5n5R!R1E^=&v=2mYUe&#>_1Zh{vC1EGE8i>qKCc(`=_ukr6&hw zi#%-+7mE}Gy9i_)o`AN6$+Yh{j4RD-*pj?a6p3pyK8$@<^}W{_xqZiRTf=Es!`f=R zxBc8l6|es&MRjjOje_OM51r9GT?Wa{#RnPnk5GH(J|Yz?L-IZ~BYaQ9wUVys~_$=qUkjfW+mHq{cad0`)1Gn;m}pt_0}*=?4Fuhv@K$P(9<~F-K6`oVre$K ztX6ey(zb|A$1n@c>}ej(t37Oj&K)@Sp4r_tysX{6>*O%4?0K|N_hz$u)9|u7`h;ym zv@N2M*fwir+cn<~bJ^D6zHLz3fB`9{$L#4Ej(c{Q828?+7Fd~r*6DC}r|#o`kN$qz zvqh?KX)b53Xu$TmJ77Y(<_N38=s+jY2GH()H4FW01`Wnj1J@b7`=lj!(o%EM^7P62 zwx+f>Po@P=4zPf-?JXe3+JS(azr6q9pG~l(j68q8;lKWidse=^>DTug@PPM~`+t$M z=Zz1K-*xC$&8P4GcE?oRM2~W-G}VJU%10}={>1}rf8*?hgn@%4$R~N6Ek$vXhm)Uk z%phHV<7~DO0mAthX!1DwRdoDD;+RJ|`WX+u$%k`I(t#z3XCCOltl|&9%byEB(iw5A zglB)__7q76ARfx_5+BCFCwbf^9ru=u$Dkub&yGJ$7#bb$#1!+7?vqjWRuz9sPkRCy zcN*WJ$DcE9bMC+)g+CLj6-GvgTO#S=# zLF^*JivWL&-=`=v(ocu``)HRB$?!)3qreS%F)>)czmF_mv1(aWuZuJNr2>`PDWuW& zCWJ3`1o%b*MeiFrSuZYWbq|H|d=m=pd8EUHhWLhrJReV-a$>?i5Q1*m;|qEh0GN@) z*8pEJce(TKyT0+crCK&5JjUFG=a!&3;?W$q`t6yk1Gsg4KzObxdgHmnpt9;ncJZdG zL8LhXxiJL#(rZqG{SQ(d4Zn7(b8MTYnIK z2+@!wuXN7H{nR@Kk^PKgFK&Ie*k7GyLj1m~Yc8;YpZuGK(}NL-$syy8Ue$2gDm29cqY4GvhKw)8S#9wB$Cc=2e4kVb)Z$Hp!~CwcOBk3pJ3X`#QRdZGkb+ zA1qLdZF)2bQa({JB5rtMn6zmn)(I`A%?@N1icSt+CTa}Tq*td_%93MU2JX=djT8_aNlQZ!uo1%0kS))Us0GP=uB_>(3 z-fp=e^!fVV(1a^|^!R0a!MPe7b15wsnM!CLvTdN%AdP)mNYb~W!(}l`d12QpU&dl1 ztE~9o$Fk6o6r79b{t*J?`3NCCeVuGLJZ_#ku3T*^#%;NV_0KN`%z40fruTL~ktJc_ zK0GN^om7qs*KH6*I@C!{)TYl$IciLaTJ5hwnb*NP7rS1-w;FC36s)vT=Es&;X?c(kvkT_< zEn?hJ$3BxPg7qUQ&^{ZeA4n0Go(9i2mn;$*YY=LH?@EP>bhyP_0yr~GH~maH!&D03 zu9rB&OYv(aF4CkZ^WaWL0C9$|#4j6;2DzXO01rr<;hXt`<2pH1ZU?>{l}eo9d-x-c z@r_TtMN!i6BhK(xjKd_$XCB;)gE+%i!p%60_7i}+K;jJF40kDUS$^B$o+ojJ z?}2+I@k}6i>Wy&V3~x5VW%+gh50D->!_UIKnfUd58xP8ByTlppFv?Gse>(7bh687K zHgJB!Xx|0EJ0#BVQsDfCQ9tv5^Bcq&z7lSJ!{h{lCjfW4#2LOB?rh?6LcSgD0*Nzx z58S21VvE}jD59TI1FDR6!R+oj@}2VB9AIKx-M&2JdRAAmbu;tbymcQ$_b zFP`mi6iA%md*Cj`k8VB;pC@r6d?j(&|LfuA&*=ZnaP#*qtg(|!;r_)->VEgeOiZhM zP^{ufUQ^TV5ZKQpdt+JfW0{~iif0Vs>gXrF8xd;M2MM<$KGM;T@AA9s4!22Y#Fr}9 z4)7L_k-pKu_+81u6w>v#R=!u#iI?%`&ZPK^I%ZclzDZirx#^IPK}RUNl?chlEWQJt z9BTPv`jEAFzTgy38Ww~17?Hpy!6_+pkm&!Xua$KjQpQw?A9X~bHXz({Bu;%XJ}i4v zpByv)oLToiTsyOV-^A}S{J7S=3-CC8c@i%M0)7g(k^UQi8xQL_6ZmHcNA-&IP^Z** z7%mppSo=S|;E_kyco(kldE@TI%Y_rWPu_))34p@T4-|-D$WI`KcmPBdOMO*~gy*Ac zR?`YYB54OQWxYfl<>Fd<_>J)2Nh|1ROn5>f|`{u}V4j?T*{ zf8s3?egT*QX23m@6fiRK6^3)YM##D*gl!VGOV}mh83}tN{8BPPQtAcZj*4Qgu5i%FW~_R8zpR#uuZ~t3A-dbBVmt(UrK029+*y> zgsBpyNth|&C<(_%m@gr9RQdj73Fk=okc5jQTq@ye39BXCBw?L|TP55k;Z6y6Nw{Ca z0}?h$*d$?_gzXY`Nq9!W9tppc&?@+a>Ih@Qj2#5`HP6m18~1!X{y= zglQ6HN;pbF&f!R(FJXy!Z;X@KGl5nYnt0k$()iH*fM>vbKae3yb+(`9N zo@lI^BZ%h2s>TWjZiVAP(!Tb14Bb6QXJ-ldDU6@EvDxSho$!u@%&8!B%$qMxvU&#v zFQ)jiqgSbAP8GLMLe|PV=ByMDLYNjy@OCD6=hREdp%CCPZ$ZBk_j}o30>pcH=^_?N zf-!}NORTh2+@tNY!7hzVpJ81}7`nliMJkcR`;f$Yki@&RIW}0o85H~?#rNH4-}F5w z(LcPpa@~(N zJr@YS4#QPEN)O^S%_yc=Bxu8o7UKzCbV%3HpqRBrf=+noM5%EX@7dO);EmnFrK_4s zb<9X{8a)j|IPuJQ^QXhmR^Ny766`bX^+Voe&D6xM4pg#rL<- zVWNpSM9Yc}6^L=Yk)uC*LWaScv?PN!<3gW9V$D?O4eW*}t@Fr}&&7^tuT3GSpo;Ue zK4Gz-*L)8)BC248tk;H5awD09RF6jk34US1B}-qVcyB`Yx=U}pMoUO+(P$NVi%w`U zbEMycXwOnAYvav*I5=z-Wgw-pyapJp6HW6@d^HEV520hLzl(dn*9{7uPw}Nk?eUJI zOLGOvHklyY?XALlM47L~CA*B^&o6k`@<}fENuuD{4p-k2yvXR$z5mkE&$)Hh*gUwSslPBY#GE{;W;B*r&DdGi6;)EA22r6HgUg2Ag%ZpYl$7M`72EE$5 zYW@PRpb=4wO7~SQOnT)Jo)H$xj+t2ruTNPazxw3jrAyNvU6}sZ!sQEBVM$b;Uhacp zBEO8=nXo#+txU@w!y0>haq&IrnPV3|x_JKb^wCKBowtn1(j8d$RjpY@Q|q^4ZK1$u4XwId4*Hi41!R?i$;75OMDXj|8)6^QQCTp zm+BfIu?Y|5CpL*Q{ghXv0@A%+;*?Vu5A$^geky*C;759vukkQ^hJgSQr#?p)elGk- zzZlSX82%)Fw;|cQuwwc{N*H^_YwTR zcpu}s_&(Q`TvuS=7WjKf^juRK57U1U_;54>H{47=?=LVOhL1|Zi-FGr{Yr$9er{4Y z4O1Bp-^c9}ax%L>TttEUMR=`5+AD)Pu=QAl0`VR^id1E zE+pZgZf^vlc=ZC6Srri_`NRvCYwIC@Lcr&^OA>QK}n&0*SZcyFP;@Dj6|@;?=HL;8<&|3fa{_tP$MV@5PFu9Gm&2sb z*vqYIF>b{j3!^#F9871Sbb?iCntk`A4EydXr#8c3-#sJM)Mz?uYK8(tv85t72H)R@ zl8hCnYgOraRVCGtSaB+>JmnSVSJ%a0gQqwxuXv2T&d0SsjFVrUmO!x-u7$U1|D8?CL9V-?!lVmiioh$LIOaRPTzp&T8(iT=&^(4VCW8(1J~T zqj-@PY!r@pTCi0(mTJLf;V9R5FLYXWfVnDOqz2pJ-91lW^VDD)u`GeHb#+ttn%Ka! zmDb$P>|vhQSKpnYY5YvqJDQ{66N`B@q!BQl*8v50SnGAQw{&Ql_`2(io-iE$QDIC| z<0nZj0fXOfu3@XQpL z?>Z~Keiq97s=J+EY<$MuNacK2D?bLk^matjijQUD-CR$*J@hNQthw6MPlY}bKh^j` z%g5&~@N_H|&w^keNy^v3}X_mS|}%VW%MuB*vj`y=6v3appjXK~}S zy*4PlUG2}fo5NnDQ{)8d`|44Ax#eO@51LKZQT?U!IHjt2np!Tj^kg;Lce^^mmVxNy z;2P{;w`()d{fp7rXQY`9YsF3=>0wKX(cu$2dn493@qS!=G~U_mbzf2uPP7b7w8a;~ zwt?p^W*t{WQR*Ri#pU+8MnTBh)m~vE?Ijd`qN(K-FSXY_3qrDx8EHB7c{9e?!%=*^ zdl`J$<$RZGRjCahTg zr)k%wk72kg7?V~sGKiNrSQ-L5s)(`gTV$To#zD(A&{Y<9aNFSLAe zF2-*6pCYUaH?ypH(_XWaA0JL7ZglI(p;?crreNB64!dtbfYEaL-s zYB%p}L(|NO>HV|6(GYgv!Cf)tfmNO5@G-(X&Stjiqn!J!8Fp#Mi7^lDq66s=W1bw{ zh-+euLjxF?+l+E(R>e4rG4E{ku0LU*GdkLmJ{>Jv?_KOvpR$dPv#H0YqDPHr_|Rf% zVDE8v=>r=E1lgx$mrWv#0m=vDZ23T-wKadOMY9k1v=S z&b{7&H~Sgn8hZPcn4bw+j&`I?8s|2GR`0v$X;u0DLEUd+n})`G#~5cU#WG+r_F@+M z9jy>!EOt4cM`Vl3oLvCsbxY0IfUykHHdDnEy^xtwXOwCI;!t27@T41S1}A*={Qk@W zi3)Crfrk>k2^M>~ou@?8U>bK3rnE}*3Wid@CCY0`7V*unt5X;DL$)7S=TLBofIr=& z4fL*qQTeA9yG4pjztA@R9^X`pM`;@^=tC+P)ke+_)#7YzqgD9iYa2NSQ*mF!Mn(9H z);4nEp0`A7vamZwSezSKBnfm)oeilFW> zhzn(q;M0mX^!LK0F?9xJ()rz2fJ$?v<+{Z8jFPNjNhW=dLZ>_t!0$;)#6Cu?VNiD? z{-72Te9GaYi9qo^Oz_8a|0Df8X}O-pbq=kDwW9ftuwn*9A7=J&tBLN5Vk<5{WTVxT z?qzt1xz5r282*lEgYr^*PMyvm8q{6FnEmm$26g|6k>lKKiugLC>gN7v@HMtk(~}9s zY&3-$Hie{YkA_#C2w=7)B_b$bF)r<(T;HCLn)wSi?Ys{l5a!x=j z8PpnX1mh(3+NJ7i+%)dKmQi0c*+ZPGX(BjJB%t~!t%ekNA{Es)>e1^lV)gcd5o5QXXeT`}B{vOlu5`7WPJWZsM zk%=7lAmLf>AjABOT2-#T#COz-BgJ?5twk{9J4MfjCL$au-i((K6M}*CS@GUl8UIK< zz8U2*W)hH4UAst~u{7px4Eh^m_Rv_t7!$U_1!GL(VH1ySu}knqbJ0>>d-EJ}p?(l? zk?AVY2XkV|Hv7diNi;MZ_F0{;m5zqRY}Map-yOjV+IowrIk!jkH-WH66>v+}4BJw5c|{-H5P89Fb9lOhGGhs6r|N8%K`B%m_i0z4lJjam2;N zHUO9R0Gw4Qs&AWGwzqpP3IWRs#JAYrI@-d#?ltdk#t>NPYRxtmrD|oZkSly-F~1;c zXgGxnIASy&f2}Zo)aRQGILc(NJH|_ zsP3JrXM6Y0@S^5^{&SPbd!_dLOQTrB4mfyP09MYU!y-b_6ekNg9^8 zTu@6PDQL;{wE4}Dyo?LhJMw({?REEJ0;84f&n;_)e_3-3O~u~S7$i1LI@R`RSF=A;2L2{+%o^Uyd;^I;^>yabXjQ(RAfi zO}H0Hoiql6k~SV^)bep~EP9W8LEAtjMb2n8>=BM^Z3EjSi8pXQ#W~J~1HzH7ZQyXG z7MEhxTXXbzd?V(nj}#a1Ymwry1Q>v7-qaaKJLEdK&#x001ekTDt1VmewQ2rl@Q20jHnI&YMKy=M z6x9xqeW)YADNN@f*1*LATA@W9XT=gUv6VI8ULkw!WPC-tPfAM5wwronABWJS6{|qA z;E~dAorTOpu*F`w98m5TlnESSoke>B90IqM9hfpv_3hPs`&G}LDJnpmLo|^??85CN zl0&ph4)L17Azu3`4zX9~5MVsMT@)FcT1@YdGc=)(wp>(wt)>>UXD1ne!5>u5^I!pG zP2MYCHnHaqM|Y*T@QbYXT26xu9OC_4EN@E%hj{)KljiFr8@VQ?`C1Xt#jM}8d_)fM zgS2-tLB9GJyDh^9HtTT-|^X4aWQCP@3L$ zi8Q?}QJRj=s2z9-$B^AkhD=?TrXx=6dz~T-0e!{lZPou2!&m*Cx#$3OYr$-ID-sIB zmk&Yl?Ac3Fa7-IXm-9Oql^=HP3BZ+V}<%`CzD72iOpjzzbwiqPcL+DuM)p%{5IgX3crW(D=wWrS(!Y& zxKt@EhHLs{xTcpDPyV*mkf58CWJCqq%Q?5^d<$k&`aSbC8GEkA1D+@zdSUk~{QkI9R8zKU)%LK#15Pdua>CEWx@`m*6pOkZ8P zu0zE1QD$MJFCT8kXXrTXLVQ;PHy(!ZH%UUq%jZ8q*Po8lOoWl%cuptf*9gP5ay+l3 zC0)7k5}-jxXylc_rPy~)hbNkw$RG3JkZz;wfGR6dAC+{-$B56s4VdWv*Vl1MtP$ql z8rOXrgbY#VQskHLQ9|rhEtT*I2?G*7BjIy^)KBmtpVU_n_J9H3 zkoW-TDp0TDgoNX8u#fm<$T#85goxv&5js8$x)${J5+aVH=m5ljNeH@T883^+gvQ7= zN67w42on8%YYCkarb;OC3A%KNXGoYS;i~yh_EC`dI-UHS>~F4 z^jENB`Hx7Z@ra@VLUz}umm`4vO0*R~($Re*eykdUXNjdeaN{xJ8wn56e;r*mXc!+M zAI8@of6j%!Y!W0>{viJL{xQPPT|5KTM&Gy~}X#xh`IU_O|C;zl0e z6leOU(jgxsJ_9#kqW@pcpTS%b9_pkrjeN*=$uHS=>1O>9zYdUkrX2r>j{;nWA6SUM z#{e1+^La0R6rq8Ai0~3X<6*eM&c1+udrzQ|0z=S2JgH?j5>e&2L~=^Hye{SJz6|)ifQ$!I}z9Ke>Txdb9qkA~@+{ zO2yzi08=a#+O{j$2EsOL#o##?iLyCY)L0bbSUy~|>cH)#8j`1TvDIytV1;czZJJf(y12w%nf-k;9vzu1z<^N<}<6736x1qzd+ZQYpkx zqA5A`eS{C{(HUwB(yOh;W@o4U&=B=4*y94Fcm3!8S?YU=j1;%jy0P-I4sN!;5n#Ir zkKLH6jxUej@Q8IBB%%{)K0J$-1oDRS7W*4D4iqI`>_ZGnB*^~8vknZQIfuRGb7i<0 z7Lv_Q)v8U&fGMCkSR_`|3{?sek~vF#8>xhd%YJC6+IS=FMIDGH(gyHthWb# zmF^v|pJ~JA!!YWj7M1H4FynI=Kd^g+D?M%6z)<~~lymR#1L=_JkLWdyG<()1MZp4C zjhF4OHpntK{l8NNGqG7%QFBA=P(m3%2wroh9U0{P@5o7+HR9S@OPO4ORlB0s#A+4< z%R6{8rm*(e{RPTIb8n@U{19z%A_67YP_2gN0WnX(*{r%?1Dfit?tdqxXIG`GHY4KN zL^^G{lVa+f-BTIl+X?w|rF#>!tsL4DsW`A>`c!+F>Yb{4zXl@QSiEuS&%|wh)c%6^(nztxJ?8 zSHMSL!6WHQ%<#C}@K|C2hSNUAHMiJAP3J9zNPs8M@S!#Mu_@S*5`=-b@Iy$3G`9-* z7_M1R_n!5*By&G*uGc~&5B}Pc=h?d+ zod=>>?Q-gx`0(B)*K-#ewJRW5^5x8mJ#K?ORcUM=vn~>jG@@NGaD_(n^zip4nYn_-=pZhMZ0>$om_(_unqhAoR zU^zV_15y!4f9$*8341R$X)~;*&&^ekWq5~FXag&5eC>;^QM3Kfz}kAR=kp__zEV`! zbal%ZBb)4D0>c}(F-+DP`dvG`(C>~w7;E3{Z!-HkRp)Ekqzv`2dbVr%1-A0blmhIc z<@(#IhiWrYk-$0^BF4T8q)&NOPX7Q%nWG&+7gR@F9eKC_Gu(`kBUo>iyFO4+ioyu* zUS<`R;Ow>YP&~RyUSgR@!7+=5Cl^p8f*<|~rD8EkWf-nQt*H6%wJ+?4jLH*aH@-B9WB1TivTVAj}1&xmzE1gn;*ZmsG zfYQ(NVN22U>FVKGxYQfFR_Omh+$szWL?rQnuw`Q~A|$HC8DUG|TorQrCP78=uDOyD zJIc_2v^*{LZ8GrIC6u@6l(==gX>Qo|G#WKFtr$nxS&C0O^oxukj|{q6q4em)_J&rR zVXu1td57@ObFITIxIm~X9{*s z@@6=z|E>F(Pnqua)vY!u%_wzxC<13o)w4|<%;*h-^ zL#n&OzT1bI8KL=_!j=tMcIb1AuO};N>=<7^#hC7E&-JyUYfnl=a_VLy3q{BzdbO`D z`YQ--amjYxBy{R8!05t-X4rhh_PM()`d(s}wvpqp3|d(RMiF!vMbIi)LHFAzt~_6J zLeG9j=XcD%=SX-K@{g9(j%_XI!J-tv?Iu}_Qb51Hs-osJ`}GO->#Nk}graZ4wlPX*!uIe<@%a+miLam zZalJumL!S>W!9;B+M~Zjo3IEbh~oJH76ZYfEFNET^d!n6_zN^AbUx7ebS-}V%HTFS0gq!Gv-n;*;4d? zB*Qhi>kT?+)BG_y-cLOT5u*PcF}h#V>{)u}y9a@y;Wr0eZ7J+zq60RI4p@e)Cv?Ep zqz>5Xzmgr$g$~%vETL^+<2?F?(Fbu#zC#djC`0Wsa1^_tr-`|4o*i};A;Ylc-u22K zkY|Y8c{JY%!G73QgH8d4$&T1`X-E9$?leqN(fvew(yAV8^{fBvzQf@BRauujudgusF6cDMLFbET4mUaP#AQQ8@n| z`=R{RHJ`*vF|GA#2Wf5{0e$@+!bo|E=XmfR@KE@hF4zxQO8=kN5QV+=YILaRNNo#~ z#X)FRxx7zkbVfK|F^1@fiyH;X;GXDUIGN_0dNZ_ZeMiXBBHd0gRucD&Y-oMX8W z`|}OtHBE{a*F)#|n?(b?w~N@*Uw;5!;f}UT24on6Y>|@@Am-{sS5XS3ZX^GNU1L7LTjeTMOA) z!)yp@i1i&kgw~LQHrlDpup#W+N$>%1cr{#tQ2oa8FbTQ$&VxFQW_PRokZoekhio?X z(0I02-6H=bVIxHtKX&PRcG1qaffpNL&WTtBia39VRh)jY16$EJ*^1DKID@}{jQr6i zh6cg@<~}mG2Py#J{AuX<=!0;ZUE9LWXVEWJac2Uiaot-P8|DG|<2B(2{cPWS`yo3% z4DAcOX2sI-S+TU#Cqy$h)9kLkr`!L8NK`9JkW&jV{0z0H>$BgoE^m$ z3o&0O=NxBI%}g`q9Ap!1VdvAl3Bui$E2^q`FvqJp-aQa>9RW9M*11`$;ARh@=D8Q? z-)7>44(ym>LIDOXCKM6>9cT#Q*(NjURMYo4eL+eF3q(|TVox0pZ2(I z$UYk@uLNvhGar+PQXiZ8aA;L1bQuhULT*2`dj(Tpz;SX7?U+ zJ8ctJwxMJ8+7Mc$zSr)8!VGpu(Q_lN1MpRFLZRV9+^?}0ye>LH8-W7ocVU$0YONkl zLoO;KZRrV}z+|9J9TT_Kk)%BS1#9RkV&@^|q=eiI0ZThs2ABw(DT?dyV zxEi~|OQ3I!*~JdzO%_$d>6CE(eUKqx25w%HirZpLuXC-74viRJIQNA*(D=@Q>W?^L zmbIe9O`cBk!8s^V@xey_Wc4C=kCC^s*67dqnVb_`sOH}X5dywoUY8pE8^J!o?Y4%Cg_XQ^~#4JLK6H}NRd)O*?paeaTDr2A|yNf zjF2KxI3lD-0U<@&-u*VkDX#662ia#cB7%pJS}SmxBC3CL_v0jRZ>|(qzhr|{n~;i> ztitr+h)2elI?*H*_Dw}_a^g1=g3_18tdn-c6Mg>F3q!v z-FubAyb3u!qD@SN*lMJw4c777y2^j8OPWIXsC~DXnQ#D_l#02tXwp!^kmN zwC&(iPLuaA%!K1AtO)cAL+@Gci zzes2lqF^bW^nZ-|)IQelQ|sIhAIr&Qo$r@*oLu(t3(x^WPk&Q$?K~G%L!9^BNFk{j z%47nBhrH=V+;?LZ{=>I0?m~=HXl?dg&BGdc1_*AE=Wf$i$J!Q=0W6%#Fl@A&JoP5b zntiRgzIOjGsGj8<(@<7rjnSVA$z+}8-i~Gm{;N%QoGeU36`guf!8gYA=@>Nw^c3mz;-k|;cM?R`lI50B+ys^6ehIm4?>s(%NjsH$&|R)u5Z=Wqld z?7iEht(7vee&+Z*TIg=aL=~SL3Ij3ozQc83`t(xW z6SGs%qz>2*x%QYKKR??w{#SBVkq)~sfj9=^&PAqsJae7BN&1_-=1!oxy7Bg@!I$Acp0@{ z0>wcr{CI9ytn46AvSIRrG0VRDD3^F+2V#kb$-7wMo!}C0M4~8VgeoSvn)r*m#Zc)r z7s#CKp}$9IW2M!Im6itCaQzSjFt6go5!+ofzesnAcOe~CiZ*LeON zDD+~B(c`FDj2=gwT+AI0Xubo%`iEK;?omSy)MfDKJawN94p~9nE<^_9Y*Cv};#FBI zXd_(x)jo|_w0-G#!M^)b$eHYiMz5;*SYNf3fLz;`)^FG-gsB%VeTQp(`)+rW88X5{ zTmT9|Lg;_+nQ%U5!8lrC-z}utX0gR&F1AG<`>GT`C*vzq@NW$BHC~#8XA#gR3CvCR zYGfmUCxkqEeAaQMp5R4`uS-KQZei(h5m*ZTchO?sQXk(@K~2)9_CuD(K^CrxWA+D* z_o!>iXU{Ix<#y`X2cYXQH}R!NXbfoak`l$n8QpLq|K@!Z>Z|*>;=%Sw_Y)xL?Jk(( zH@<9w4y|`^&WVy-oIrm5Fj=X1A2S&78e}Lw1T>(Zavcw%-IzuCcG!2Xb(;M2;YScR>&PG3plv4tOVW!wQA-6$w@37Y$`V#c$Zs3u@-&pdh zQdLoX{!E@}1MBoOVS>j>o*L{j2Y;P{^A&1{9ZKE8t`mJJC>C^u^A^QtIoTyFCdPc*3}W2nEhaHBae3mY7u%3h5f;7oo4h`I_E)@q zD#VzCY!XTO;20~Rqdlx3WjL2$d(VcE#1cHnd4zJZ{yq2pHk!J@6@;h645Y2$)Qg-W zwil$Gnv>?eDd=xg)(gxumnMZ_K{q6l7z7GNf#6{ZEdEFe_Y4Si zTsFAcrg+C7*t8x(-6L8NzmAXjM+C&jOg>@zQdW*``?9yDu*^hK^cYe}fX&s|$n z!lSVO*{NnH*Kf>K%kSIOASBlygt)%mORJjt)Gum>pUKCGs4*?XED&36wZ<+{S*tp6 z6z-IN0;hsN1%aVHF)^>TYS;F@qfc7jT<46(6rYZ$gEUx}G_AuD=ZJQ7pxTU1ZZ3iE zwV2SJP|MoAxN#GoY~%L-SnC-y{31x#omlovbzp*%-B`H$E5-?Wc0=L)Yi?GQc2)eeXb7%b^k-T-OelSBW>{vt5qx#;sz9d(%q{jj+ zypn_yvDW@M0%c`1%7xeK3j1-HO7AfW=0Ecw+1#@vaF`O?@+k}NxAO*NF zB^|f!1eAc)p*T#6$&_MBNfAGQ6m!xuU|`>8P|}k`Znh*nN#vKHUl+giYo1FYO!D}e z*R9Fgk@g?KQ@qb--a{iOklbpZg_>$@W)bxH` z{K@%A#*@>Nj3?74yP2K9rd3>YwI0K)kDCgI8S$$0Yj zlEeSn_~0S7VMB%t8)m~lKEQ_#89dBp8)_R$Pk|2^I@E@cVW1TBgNGseGH z{(YU&@J*oabqW{X|LZ;hT-Ot@C<6n7l)-@^iY+iqu|v)BiokH?%D@OEHE^}^H-R+e zn!vTnb%E=ZjKGb`&4EniyMd9)ErDB=>_CokM_{yaSKw|XH*k-VAGlY!KTx0)1&S3{ zV4PACn4nAwOjf1@rYh3{)0LS4k1{(jM|mLdpi&liSeX}?uPg|ZD;0sql*NH1%F@6x zWkq16vMNxe_ySKP<{e|A_=h^gzX1LzDN0HJ|DY~y4ww~-VnI#@1n>{}8K?|Go~!{Y z@-TwA2JQ#Vmq6`M1EC!-X2B35- zC?_*YECr=!3M3ZqpXo*%q9#}itOLCU`YV5=OV$9=D(V1fM=c;9s0ZW;HG%x0E|Av| z$TR8#<$o>e;crnNe-ro)>PD1@GJ<8nl3+Qo6!bDMN}&Jz8zq1=q6}CHEC-eZ%Yy#` zMhok=EaIU$?f*{u)33D3{dUiIBpnI-E8eSqT}E$FTBI}i+{d1~6lEvYW3&oHhDkaq zzTYTuF4g$VNr;QM5nuATkFTQ3#ygBZg)ieFor52hj}hM(;H1NmDDf=1RZovZ#dk^T z!jE)}m(NPj^>>bB3c^TdJYmo!K1NvbITF%6oIq&M5gK`5a1#=+5`_fCRCElzT)57F zY!c19_sPe>rd0_q8u9f~=&nTnKj$0?1k>V~i@&@pj^{u4FipH?9mf(ChV8?T;kN-^ zhL8TM#K!}YmIY1vnZ#M(pdmh=_<&w~F`WAlRu0JcY5=cBKDSGJ3m~QC#{2(F9C9H8 zf0Z~JoQ(e{aTcD$;fg<(+GaO$tCRG15B$6Fw-GPgLO3h^h<}t6{_7iv3?#(3V$pK=fR@|`16QwWjQXSs8~AxF&H#oQGV+kW5(nt!nQcPA9>VQ zQ2{IMB*Y=7N2(S-Ca&eH@-AHY2yXRLmioMpEby*gzT%Om5|Jt$sapA{@#d<96@A~7 zF)moTJnk=ITfVGnq5M=bp54a-F(%{L^1eOYG`cj;&dUeo0WJNTIPUt$f=8ED>h}_U ze%e;XTCsG+idEv$Kk){_1d?=np**0=i2K|)xWN0!V+*~@ zSFBp5lt0<)Ue@c6n+NAFO$^jM7}FoWKM`3Kw;}dPR-bzr``(_Ia517NIsIgtUY@!; z@x&WQjI(Y?iF78MfRke@_(ulXs0ong^a#gF_!M9Y1`m}GXM4#bX-_>O{ZB~$|Cat^ z(Z~4yG{BUr6@@&2_&SMe5@%mzI8C)N+yh9Q;}G$uCH{Sh@4$eSf(gRQgpiWGDdBMm zD=`kxe)~2;3?$Pr4$!VTjSCWnz>XO&HJ16E{SyB#iN7!Ld%@pH{~*SH(qUB~;7|z< z0WzK@iGL>X0pN+GzY>t)a_DCzQ?HtMTJ!he?VD)4Q_|3ieC;P+F&l&hy%MZv^U;@n27f zcylDYSHcp)8^HS!2h-mTn1V)Q{|?}diZTU|{trs{xP&UhLH7fR|Cl)F>+vnpw@7#; zzDc@tLWKVYbxAlJbxC-Gg#QD`_eP_nB9FA|znt)9@NvRS zlmlUwq8uaquA*R7C(7qGz!Xd%AD8e0!ch<}6W)Tc17(+jdDwM?x4~`)VK(e~5aPW} zGW^F9{sd*0ay#a;gm);)ON6L{pGnwGh`RVK;hoSyAiN9dlHuOl|FkoycinYYcDi`J z{!Hp>lph~V1M$c^=l;kEbNw(V_uuNhm*XHJ&JB2MFc*dscsS@T?zoB{I}I0^f@hqS z^=Xx#rKp4$~gJ}aK;571moVpk#P$p zKTgl1*J-nUAG|OGr=`SxlW)NO6nLxS9MM5|Z5iANf_-sPaWniNg-4=cf=Qchjrnk^ z);8!<$SpmQDb=;vUi&bTfn5SWLRvMC5jH{3rP239rK>eVeLLqE&#BGV#%1JNW-D#GXtSyB7L>3U;+|h}V52YOib_rARVA9)(QL z#-7e>M{aX9?hiOp7(5EC$i}>q)aoDNFw^J77U+Yvd2<5y#C!t-Pnn+e{;lS-PFut` zm!!xG3^o0PFcLSI2cQnaez>j?MSb-(51G`XzF}J7%;~Ym7vYRZY4kh6*GGfHnS57k z&y9kkH1dd%`!?joA6&Pvu+PjcqtvEBUI9;mY*hAFI z>b{2lp1qZ2O{2^YqzX&-&e%TcImCQTu~liZD2J4m_9-wN;w{c#0d+^vRiSqP6Zu|q z^zI^Tw@>GrkEg3!xC0k2WL?V+MU9>DR;_R}HonYwzW^$p#i=mY*jpV!#TkU9u*8<& zi-aohy$2~tiN_l3F^5adz8ew2fCSHL!=(d#4!l1o?int zn@kL{B??qOJD|yn<^W}xN>_UtmAa`kzTZ3pHN8hz6S3wtz>H;sIuW;?;PwG^OEnv+ zPBPI6jluH;xG8Xbk69?gPMcPmn0h_w{D6CZ(6v8Jg_TOAY_ipv<=zwY?@`v>oR~7I zCLkx+W@PfZiuJ^GSF*;Th=3!0hB9=Mz3wz^MZ0!DnJXPSmzrw_4k+2{w!xR2;){6U zqFxdjI2i5 zfXi4nFjkz2?+4drDC=vmIbUe(zc<+Ht{1hAvmxm)Q4PM6Hxbp_1w9S$BNX_(tP6WB zg#e-Yb=P1#gEh^{8L8RkS*bMj_&|m>B`x=)->IIAqWNKj+EzIYp)*poi5VR4)QK7P z+Gkm09u&+@?E$NK)tt%}r}jM#c%k>h&dYI7c#17r99|o%j5)PxyS382%W3`|&GqK3 zu~y$QvJ55zcE()0)VcTsZ11K)`IP$fljc;G?ZViZLsD(>P)lJHCu9!<*1%TyKy66q zn9m%ZYEp-2L&6VPW9kD|yb4o%6V!>8Sh3ZF(T18d%?1a+A)-)W51ae*HLm6^rWwPp zrxvzSwQ)=H>KqhJtotwK%8Qaf{s$1{)`oD`URRB6767 zkuDo*FFHUp?!FTg_08a!hqS_U)w5Td2JI^c4)SS*sWkIHLyX`J9RoP9Pj+CG-;0Ti z$=&*S5e8J(5${A85qb?npmGR5DlGdS`2R( zMin8OrVR)-48(xQqy4_sm9EYVR89HEgSF(ORUN=A>Im^N+pc!LHRLGE$R)uFkz=e}G0bDlP-N0Y;Jg-x#d??pMy z76w+2sBaq0-L}NE#56-MLzrYf;$ZSBJ&jH|gcU+_5mP1_wuMDbH=BX02}Y+G?*SB> zd2&iNx}5rpXjbLXZ1eck;OY#RS+Zcp;HnQ|TIY2@3AS;TG1JS}Y_g#a|7#Ww&QE<^G_{(@6PuJ-|jH4Y|3KVaAgD_kzQKE&s z=5-KEJuXSX%(!R3`k_!2n-*-eEwMy1f;}1QhXuO^P9N5R=$8zRUUBaZ#Jm2=VAqYa zhXrErbI7DHYF9H3_f0`ncQS{Xqq4!t+2{U=m>XjJ@$8DaaUf*8d6v~&01ALZCpC^jB$PdD(wYOY4`Pv^zSjfn-$6Rcf#nVzcZ&EcCeue zRG8=9U;Q7L)nQ5(bz-bXwW7hu-mx7iin%-2e1dYr<;wAZS^9y!Hq#VLCbw6<<)ndW z9LO#N108RkVl@{!f@_epffI2Z3+|bkl8(_`YS;UEf@dtIx29L*#ALR`)D^}Bm>#mK z%gwVg@Lu)HXpE>`gDK*cByng`jD?s+HRTn8CGOBiJm^Nos|Q0KPg&`>=-0?bcM&Vs z@a5>2W=sfqiX3yoBFqVg932!pI^OgH3~-^(y&1uE&?~!Uu}5EMoX4VIB+M4qrjSK) zc>tDT!D@ud5OjaD3umoFwXtctnz~$ z63kP)%e6_Cuq9V4cA9cs%})%`N8SMFOQ%882{T@)3GQJHX=YPVhIy?8DZWFb_!e!- z9CnLwR;Ri4awhgvfvvsRdaBfRYT(IZr#}2;$ElM)e!_CQW%0XQonbwN0_U9HJOeAEW;Dz^ zGgMuRf@>}CZCW=F24BD;rp=yF3fnNE!67d{avkV?2cL=gMx&3=-b-f8*BbM+&xUzbeT{;X8kn!)_%P0YHG@=%J~kbR zUNj!g_|ztN#Mb+UNCTV9{}Ers!E$GAVTK=SfComhMKVXTXO&_l3ck?QtXqu`1G0M9 zUi)u&2}gQNV5A(y(6Qo~)6?-&%mL9v2cu@~->(L>P)Tj7admQN%Y|Zf-7TU5Q2IFZ z*J=-s6zPE0V>{E2c;QbwM^BavU62^-a$dMrVa<;AX1jLnRRhdb5mPQ#peaYQVa zJsmhP0~_BwyVTVE5{O`8n^_#6VGsW!QJk?lk1RqD5-UaIIG)vCVGu^S#IwrvI~rZN zXmk&1&XYY*LlLcuwsQc)O2 zFbW-MuDQU5h1rLvW27e)`grisX>c!hQ8`~{V`UVDOlYhMTmg_N8>jia!up0NC!lPV(-%M{}S>tnj0Pr557-2D}E6737mr|pREaT5jWx+ z2{-A#jt*iy5g(T(d>CJ)?i7FdZT{|;ko0`akgN5#?^}W}(i=~@l)o9c5yoU2X=51a z<`_hP1|1=aA^v1z?LQA5l#%hr{5tSsIVHxo8S=*^MkEMJa02Un68-<&ecyaU_Z)uQ zhfRFAZ_4biMB=U=&|f&DXbBJRxV}N+6rXTk4Pw~%!+b)#D)yEk<`v=h#zXaT7@LGo z2L22D{sE1F@jaXrz9I=zB}30EM@UVuOP?j3g8 z=$6}cD+TAGM<3g`z>SS8eIt?kZMgu}7VMF@U!TEfo=(eXxuk#PSapAdX_0wMN@ z76Q`#@Dk!zE6P=1KD|i(`Pc;Z!F+Ec!~k**eVqGSGr@1TUw9K3B=esmp@$HAOx1+Qzeb1w zYAazn>^{rzf}y~#13xB&|0aolByrkvr@toQdlKG^y5PRs-GoTLn-J-LK;llMmFfJ5 zFhfzs*a0!1%>-n=%7`OhO9+wvdP3wU6Lm_utC1JtV+awBVBMzag7Q8aNQQmnJFrWX zlbxOT_pZ^S;WsAx_A%dZ|47NjNAQdme>1UVYTO@PbH<8#lN&B>Yh{_usTHJa(=)UQ znUy}9mh2kcZ$8GFY3G7JhLo9TQUDo1BxXg_-us&ur#>qe%K<0sflT ztUP&;k%vd$aWX`oocAlVFnt0)w^gWNCZKyMW{m}TA*Qd|j&po~%xm{ZbS`Zl6JOc0 z8mG_IgN#}IjMvocW6~;5&}<(ZIVZZOa_Si(ad-=pRT*YLwVuXEC>;nRHJ3Om_3W7r zn?o!@b&C^WrZ?3W8D;loaA$2_4+1J*#UY zUPP6GI$Og9-{VmxtUYadDlgESd3)-}(zKu-t8%CIBEJc7OkVB<|IO;ftaq?^C$gkH zyh*z&>x10)s;>&?UxT~AE}na*;o`N|UBn()qf@0Gz={O z6BTlh^%Q+ACTdi#eVDx?Z7Gg2{Wm4_qQeA52g=sMqNBXXE|NDF6o;`SsX4+bj_w8qx;iRhcup>~ z%`2VV&(hbkztZ0Z$yB?D$hX&AJtDh%3PLJ9?b+tpke(la6jwB{L6IW8wLFlitr~@m zmC83^Nwi-5KrK5v4m-8DXc+R#iB=644!gTdjiL87>!|{m@o4l})W+yl;o?|jJr<8$ zysjActGXK7=Ue`7bLRsdWpyU{nam&~Oij?Krk1^qHC8YYLyMIdtqI8_5eNn$fXGM@ zf(ZdhlMH_ogoY@eU#7AxY|#?S-iLPGU0QRWC$w}Mb`!`$qUQF7O{xiIY^wMtJ6wyk z7p!)f`+LuKzR4u$wsrSD&;6cE-tYYX^PO|v_q^vl@0;#q7oR-%-r$R8Mt(i~+_tN0 zuZ~_-a%NUq1Sj_xpQ}zXK4=J>^A&^(Vxn*6IZkm5xaH?55r%>@bWK;T>V>Xc5CBvB z+x%0^?`dc`32)-I?s@Yo4A#)O(6yDp^9-=mNPeoD5o(6cG037hm7()Ay!C* z@jHdbqOWjKQViAvdX+kxOcj@Ftgv%>)TKKoKCH5x^X);WOy^}Vm?}cvA{KPbsp25p zRpmj+ilq%l?0CU~I4d2;G;nS4p<;^5i>3XQ!Ly7NH7Z=oea7q22P(VLTm_kCiGS3f zp2f|lR&2)298U4Z8pkU%MaLcbIJ)Xi$o76yCI{6vQ%E{RY2ZU^P%Qc@(L)ML4c62g zCee2KLQ+)wMx(=|K@-xj3eO`P=9UrXU5zm7VsV}Qa$KJS58m^l?XSB7t2dT8I+Ig7 ziE(x$TTL8tKC7GC@%98}2kI6_F3LzM?X9dIicgzuKI0Mw^hQodP@uaqIGhHr-prG> zUqg*;UV2Jb9wY*B^8A;F_$7o!f3@-=NmEHyXu2~S-c7PnuRKQ za~?w`FU9WCn$$5J)RV~ZTOplFk7FKz(j6{_1w$>`^X1E?Jk-MwP-HBD{W5W zzwVf6&YM#xuhiSpos+yU72u?v#VK_~e}ELJr;Rux~u z?1PqI%ZQtrkBbnEn5Z2Jc48vIEWmEU1lM*SSSr)CEVZ&GtS`rg>n!C|j{H+qXWUeGhooM_&U-g?jU4iJ^-vY$7N!wVfVoSziy`%unnP<^A` z8@6XaYV}*knKI1tydpwib%`hX-#`@K9TlxYztN2*@Rp!c6Zt!D~eyYi#k_#i74`gJ$ z%z+zXB25*zIU*$cdN-yLaA ztODgz3*&Tjhk31-BBT=TDKv;CLdKz>`CQ6qJqkG?Kj=I?=-w08P!`-Pt9a=_7gA3T zWvGL#ZjL{U;68M7K&S-Ts2xgLiu>o7!F`5%G8)oYd$N~!>i$;Lw^_AgISH_wc$1qp zF}N7gvCZ-EplE_lG!rTk=Mtp18EhFHe}`oJIhpUH6U;*tE=Q~zd;oB<_Tnjz4Ok~&QrXcm?x3tWNRy$+{^Gc+@mVmmktRSE8cw8S- zw^TU#TzgpexBNNv-hyT*@>)bU|{L9_IYl+@6U>JO=wS z7q{nQyOXAxSPU1Xk-g53%&)UCOhTQ?6m$D51Ilmv-I50TjW5)nb)m|T6l1jQnXy7V0`c?}F1xf})^b1g_U zoh-OTnA#vdLJ^cy+UlxrGm^~v+)xY%NQ84^65KAqe;`yw;~cl~p^j{H8FN6&?XJL( zgriqRBr9{hAp~NF8J`$>SISWP`4-~QtBp8vj*s@;(tbuCw2egSuXl-Ji~#3joxBFn zW{0|HFxT^0^+;VEhHgP=<-Z8#a3L>L+R4-~iy+%u5b(e!LOE-5jf0c`2 zZLqX4hl+d#Rxav~WYxEzGd|Fww{0Rv5;z=v)*gx0K-+ch2;U59Bf1u4zZ|0l~BfJ=g(OAX*XpI?`NNm9xj;lD~sUCB3B+qSx_u|iv@a5>| zb)07L38Two=o{|zREWQu7O?>wd@1sVwFTUCMPy*GBbtN{r`*qN@C3(8D3?^#i>c-%zi`qCFU1PQz}RwD^OH^lbhR*^6{+b; zp`cYS#2Te@Y~ouvlAA==QcQKFss1Ca2RC6DZh}OXuV<*9jdsP;B|C1)~3r_Vt5nYmMk)HsPWZy~a&;;Jp- zA4FuL-sgy@&P0tk!I5V9Vx}4=wfCCEqHU&PQHGLiC`gSIOm!_>W_)X!5DA6e$g>%| z82guzq+{4+t#zhyvThj&p%};Iiy9Z%@b``UyQEUxj!gPs{sEtC;VmHqLygAgwk6fh z1&74(MQIB83?4s49&61;0ZN-?V<&HeKbHTmHA@c+{#e4YR3nc2s&;1iy|-K}%zsGGa$%u&SII zIy03RfX?L6#@9j3!?cHU{&Qa7ZdVC_Dj>F-pKv~ zz{q}SuQjc99Y4hTP8yxuIKq4xd@rIVk`{K^c15kV6bwp_3GJZTlF&DNf2%R97pkXa ziqu|Xmio*&%PN*wQ^B1S@kwgL$QWEx>0R9${!i?HgOP43m1hl&><6J-evg}FUJ)8& z_%ADDTM0$M8b5EUQIi2LMmCdTWuaR(cGc?}wtJBM=(lJ^qh^}2bCN1Hj<=^JH*Nt} zSalJ`(nFcayHC;=@RBM@y)ujAY&%g+D}rQa!Ry$FkFEqAR`%AJ!BnVaXab}+&E+ZK z+FdEeiaXsbiQ(2=YJ0fiPJ}Re%xahl)v&bAhWG6fu^eY;$ZUO5Hit&-HC{Z`&aml8 z*%{_QXd;a&Tfk?`0O<0psHm=I$yl}!@_eDuv5q5%*=Ts4g=SAAI$HEvQraR5$+u+p zXH)uE#1<8@ts`=ARfu`i%i4_!cDf!$Lf-EPU1iQo#g{0K`})d6PSTugKIArMhZiTu zH1*IgbjE;dj$2#n{+Qho?SYL3zB8{ur*NKUI+OwNdW~)uoWT+d-&={H{Qp{LbvnNy zV3F_nDL#<}++;3t8@)V`NqPVZ_ zstmSlHL2H*$%YpeoI88Fr|vCEoI{aP;@>Jln{9$cXx9p6;>)~h23yru?sm9JpR$j0 zguXCto5nY0BnHn$7mW*uzEz=^8s>AVuTKbxveakJ|AG%;d&Qr50P#jO+@t6n3|-BX zjQc=Wk#SCTVM^W4`K&V6#Ki3;P+l%lLWPblA-)@-9!XGRuf3iA2_rKp`uoJ-}8rZU%!GgOPt%8S(|#kWS; zD^u#;WX&i9f#Ps>i$CPHkp~aWZRDj? zw%6%?LqZzmgMp^=R7JDPM9+A5nN&2-H=+zz)VCLzi)dz>e4pv;)dwoO>O>o28Jx5> zC$o%WlOfX;&Yy?~*^un!d)UxJmk`n*Z>Um#gI(n8%Zd$wC_WvI@g8R z$MhR>yjU9?zJxU_?t5Htq66@sg)8s#kylj;}_yb5zp$Ix?H&xYz4y=xX9h6;zX#H|-LX}xTP z(CtY7voXp#AzsLDTSn2K?7F%Ff*3F?_l{9~=&54%l?RQkzIUGDB;)uB>3!wsHI9EH z?&vp^()arfr94=Adf2+SRb-hr5xw7mJtKMais-540v4tZ_U6E`EzB^l4Y8!c!)OcV zPl+jgqUh&_VG_=F3ICzD&x7H=TWNn#Bjh zizTB&)6evMgs-u5s*;~h{+kozDs~(WhVz{&0-pqzU4-R_I>3WctXzlJD1F9Qd4v90pg;HeKLXS3?^8SY#B= z(!Bo4_Oyg0PwzgBql@M96lRVHLzJ<|jk7e@%1kDleA8F@-sXe4LaltM-?gzqb1~bbDlfvCClkG z(c-yZ)L09v`&xTN#0>dOh)X75vdd-FFD^9AD4!%(< z$0Ij9b8&0FET3>hpmInp2 za5k&HYhflU4Py&>gylhXtQW@8*1KI>8OC1CSqcsePGFw}LELL>M|Y~%EQG6?Vg_1g zzGmitS%*fH%y?<*VE(hRZELqU0?55@o0PnJKS|*XBt-^cUP(!CaWIB)@6K&04kjNb zn^^gVw3e*IURZbSJuG}M0jyHf#l%)F`gD_D=;BZ#y}swnBwo+Vb(gU06jiogb>{9g zMiF+Q($1u%VUeJCVBkfP>x3${PB@pAca;#IUAx-5*0&BW{z1YXS$4;F!|AwjF#iV_ zf>8U|j>x}RGW@p;Oc37B;EEskqBjms5FU;#-k$=WY;d_RItliNW`X2o2RT%JhmjKD zC|9BUkt>j666y^kUaXL~7{8%YzAvO#W#CArbCAJ7FTlU#cD5kzSx$4JYo*V5UK7xl zVD0jC>!w)Tx*_s!Q2BA48k@eSiiZT< z2cf>GhsJ@9;9;pvZ0 z$BZC5rzZ4R+t|I`!tU&Odf;n9#lY)iT7lg=Wx=RtTeXMc*u4e7>W9=`)i~MrreK5M z0qgB~IDV`hmZRNhE{{7pjb>T)<{8bhsG7l@2^d~bni1SRvO%NwZiU|Wd@_0$BJ8uF z_aTkm4~#+YLzkoX17pzpfy>Z4DCQH~#7e?n+Wa?^)$ z_;pn1Z$${~X$b6w5MZ_2qX>cBiV)~-2<%KXMV_b|HQY8C0H(IcfGC%m#*+cE;HqOU za`T!yQVn?EoP0g(mwggMrn_7=i55jVZ#`8J-QL_#n0j$|-@2J@f3oLD$a!!@zMA{rEp5Qg!A@Q@;Q$dJv;%}guO=LBA-y6TJ~1W9 zNSr`B3@%pHw{Q4CI4s4MCWOP&mk|zrn{asA7rlNg;c(^PN}o+Ju=gv<>IhvuI3a~z z7+6pKD@Xwkm7Ajs#g`Q=0m;A|MPULb8uqRn2{U%(*3y;h8~Kuu8CEo`($x=C23j)Z zMD(XZW>f@Qgna;c;ru{R7s#G)emjQ1fHfu@x|KeQ(qIHZOMtTzX^GE9W{f2=dM%m) zViFdEy<38bshX2WdvJ5#vOL8)HZn`7j{0tk$Oa|H8qcK1o!+OGtaeibhu{aD8q^OPpMpb*9>VVb`^&+OD*$ayFfW1%; z)zNG2{<+0o__<;))c5S^5K05~f>0f8HU$!=Iu_q0_vT~`PcJ>z_Yr&pV_}N%zAfIc z_&Ta1VNEJbQ5_2vPvHnuhVT@Q6)iwtgHR!%BZYI|DSSjp1{xfw3(5s@VL!BGoe~lQ zb_>jwBZ{ZcZt)agi1b@T#wjR%O?-&8dSNP%;{oH8>_Lwh)^1Tb+Ki)$omWX72e4?dhgaC{;G z(xaMda~?DS(o-4gu?UbhAwb&ye@07JsN`#Js_`{<#)y7aA>Jdj7Hv+F<07KQ9mR^3n<#P#j|i>`6CH&;mxJQHuK*T z+w6|rS-w6Y%x}xUBHt_KojB8C+*o4K4?Ix*OhVN0+59LWjBL)Tkx}10@;S+-w7W8N zw$4@UD=8^|Ego^DaZwb`Z1TzR>?VYxJ+V#h*w@P6j>k|f>zAxXe#AdoatlXiR?jSt zZJxzxP2w2Ce zksU@U=S!eOOUhr0#~|1;Yn5F9Yia?c z>e8jZqL zbp^ctMkIuUHGQkZzUi~tiuGmwo7ea^uI2wENA2o0`U>G){))#|Z`@F|zO1&)|40S* ztjktynB=(4Ut59V*V|_LYd3DJ^xwSJUt`}FS62_^=C|ZI!@sz^%rCbU%c>=FEW&Ve5UXwmE=&z{pmsdPmPR!c!Rgdv6o^pKB3M+JDb;YA{E7C8w zF0HCbUcpJl8`o5<-Kug}UBwN`HKEmI{;E~gt2WS#>KRghw5KN4T^d9eSobE^&}iKz z?QdOTOz^MRu9tF0=omMTiu+E4wcBmSyi z6yP6!>cIwt!=KCRz5MRtm%|VDA%5q@pJ({q|EJ0dEEV@NEY`N>^;`}t!I_urxB zxjL%SOFTJLxmmkG7wTD-ke7Ja`K9wN@&8o3OyWrWzQRu)$?t!>D!W$xl9xK(3jp zr)ajr;n(j1q+I#U=a(3-oOn_X`;m9~$=zd#C*{jiMLe#i#vcij-y<5@0b$}LJ`zVB zuC~V8DsG8aEid}9;|WY?p2L&vaO|X$c2$J+3haKZbv{CNi%Q%zwX+UwycmE}BQH~|<9Nb@Iu*yv$ zahC$^NBU)z?Es2rIITJ0z9SM<98albpxEqC4RN5cQzb^ygK^pE|BJ9V7< zrg3gDLTf(~|Lf!2axu|nM_`GRJZEybscW|k#LdK zv>$QL8t1+j_t(DUa7<)ONd4}|eb24jLeTD2xZ4?|0wsJM(0)|;P)MRU0y=5Ks>-tU ztG1R^uUuQPrEHDzL)DF?6hf5bk9xK$R4JrT*>9{`w{kU#Dk{e*pBPnWak&Ny<)aITD{x1ZyG18yjrPiIMG~F# zTKB~0t5!gdih3O++Uj)^23_#JlaEx^`38c}; zyXcenzJ{VlK8ZR0j)vc3J(TeOq2aFt68?sUztzygm>2)sH4JHZP{X4dzOA80)=3}q zgoa-eNczVGq7UO)pp$jvu((+R{(-tm{1*kXU=IsKA4gOm`Zrt<8xsF>K#4z9Ao*kn z1aT}ENcwF8ne*Qf2-5zZK;r!nDCu7iH|c+-{jUbOivLug_%9NOK8Bc-K=M2! zkn(>bkUaiHAm#M}rQJi~rVbYb(&hoak+k!#>EooC4##r>Sxf&ODD6EXZrU5w?qvE} z;=ifk2Liu}UVHjp;4AdGq?><}1$#7%XgH!_2W^*ps_0uOw_YIS?g2{rpNgAuoB2sS zeR{2*= zqp5?4=B&#vOGQWQTn96S8aEb&+f(-AL@(i4DJXn>R#% zAqp0eaXKi9XU89`{%5LmmsIHvDfEVh?dW#7U8!(Qs9sl|5=o9;`#^!{a7_rIx^<^6 ztLfo{+Hu>R<4TWhWErkq;@x`tmRb>nsafw?Cl?|Wvygal!#;U;3n9jA%oATq{Y|`}G;-zOZycmx?cQ%TO_l{gQI7v0qBGO2T&iId7Ll(X3+n zhR<&dC_!=YF3iij%Reo@?2(F9kNIcKm^I^$+h$Lncc z{fyeOEwFE}owdp_NU~-KhImSzn)c!@LHsf z@_=&GUQ^mF?`hf%$?ABB-*>ee@+1DF@CG_}yvOf3ezI4+2WUSMUdXSBM%)OL@I`hY zP{Nn-`!V6e{3Lw!xbSu3+zK(W_eFyseC4uQ^%mD9n4oc>y^JoBle(7bCkd{!W|+X;a*<{JzI(V-_tIO1Q&m`S38|6a%Yzb?L~ A$p8QV literal 0 HcmV?d00001 diff --git a/contrib/media/updf/stub/Makefile b/contrib/media/updf/stub/Makefile new file mode 100644 index 0000000000..ecf3361235 --- /dev/null +++ b/contrib/media/updf/stub/Makefile @@ -0,0 +1,18 @@ +include $(MENUETDEV)/osrules.mak + +.SUFFIXES: .asm; + +OBJS = crt0.o + +all: $(OBJS) + +ifdef ON_WINDOWS +crt0.o: crt0_$(STUBFMT).asm + fasm crt0_$(STUBFMT).asm crt0.o +else +crt0.o: crt0_$(STUBFMT)_nounderscores.asm + fasm crt0_$(STUBFMT)_nounderscores.asm crt0.o +endif + +clean: + $(RM) $(OBJS) diff --git a/contrib/media/updf/stub/crt0.asm b/contrib/media/updf/stub/crt0.asm new file mode 100644 index 0000000000000000000000000000000000000000..bb9ca001a60513a42355379028fa1afc90eb9938 GIT binary patch literal 675 zcmaJ;%Sr<=6g}hEs^CIJLC{4PB3;N}!C#oJ)Rlr838@WKXk^Hwpl+<+;1Bo@{-F1y zlXe=x12^ZM`$}f+M|nNWvJ4R!a;y~a(}=53&_@>?+?2QX<=y3=T?fpiVinn?+5+~- zo4_%712`pjfF8LkM}ni4=1Wf2bRPO*=s@!4Q3&&{i$s@+eoXYVr8)0Y^kEaDMp3_6 zuSde(1$Jgyc=PH}jOrS-*UrO?wbxL}nwOdJO6jUnm3G=H?abeVpTzi+^8*!T%&Me+ zV)WR!R?r$-KfjySga3E=E9C=ZWeaeHXN^yitpx1LxzqTh2eG~w^Xw;Yi*Xg?T#R7d mq9QoUdF+u*FEJPITTHeddO44);+=7pxadja7o7&2L;M0!gFtvp8HB>?niljm1P+MGUQk);HMQAzMzjTI=Crs@5{UML0ku1O2sm=O|=2+ zkk^4j@)~eV?f^Y*Q|R&?(BLTFF&r$GqwuCqj!iGEDGW*TovyOv&2PD8fSD`a1QYcyEH;9 literal 0 HcmV?d00001 diff --git a/contrib/media/updf/stub/crt0_coff.asm b/contrib/media/updf/stub/crt0_coff.asm new file mode 100644 index 0000000000..96e27de1d6 --- /dev/null +++ b/contrib/media/updf/stub/crt0_coff.asm @@ -0,0 +1,58 @@ +CATCH_NULL_CALL = 0 + +format MS COFF +section '.text' code readable executable +public start +;EXTRN _edata +EXTRN ___menuet__app_param_area +EXTRN ___menuet__app_path_area +EXTRN ___crt1_startup +start: +public ___menuet__app_header +public ___menuet__memsize +section '.A' code readable executable +___menuet__app_header: + db 'MENUET01' + dd 0x01 +if CATCH_NULL_CALL + dd do_start +else + dd ___crt1_startup +end if +; dd _edata + dd 0 +___menuet__memsize: + dd 0x400000 + dd app_stack + dd ___menuet__app_param_area + dd ___menuet__app_path_area + +if CATCH_NULL_CALL +do_start: + mov byte [0], 0xE9 + mov dword [1], _libc_null_call-5 + call ___crt1_startup +; Handle exit if __crt1_startup returns (shouldn't happen) + mov eax,-1 + int 0x40 +end if + +if CATCH_NULL_CALL +EXTRN ___libc_null_call + +_libc_null_call: + push eax + push ebx + push ecx + push edx + push esi + push edi + push ebp + call ___libc_null_call + mov eax,-1 + int 0x40 +end if + +section '.bss' readable writeable +rd 0x20000 +app_stack: diff --git a/contrib/media/updf/stub/crt0_elf.asm b/contrib/media/updf/stub/crt0_elf.asm new file mode 100644 index 0000000000..3c012f09d3 --- /dev/null +++ b/contrib/media/updf/stub/crt0_elf.asm @@ -0,0 +1,56 @@ +CATCH_NULL_CALL = 0 + +format ELF +section '.text' executable +public start +EXTRN _edata +EXTRN ___menuet__app_param_area +EXTRN ___menuet__app_path_area +EXTRN ___crt1_startup +start: +public ___menuet__app_header +public ___menuet__memsize +___menuet__app_header: + db 'MENUET01' + dd 0x01 +if CATCH_NULL_CALL + dd do_start +else + dd ___crt1_startup +end if + dd _edata +___menuet__memsize: + dd 0x800000 + dd app_stack + dd ___menuet__app_param_area + dd ___menuet__app_path_area + +if CATCH_NULL_CALL +do_start: + mov byte [0], 0xE9 + mov dword [1], _libc_null_call-5 + call ___crt1_startup +; Handle exit if __crt1_startup returns (shouldn't happen) + mov eax,-1 + int 0x40 +end if + +if CATCH_NULL_CALL +EXTRN ___libc_null_call + +_libc_null_call: + push eax + push ebx + push ecx + push edx + push esi + push edi + push ebp + call ___libc_null_call + mov eax,-1 + int 0x40 +end if + +section '.bss' writeable +rd 0x20000 +app_stack: diff --git a/contrib/media/updf/stub/crt0_elf_nounderscores.asm b/contrib/media/updf/stub/crt0_elf_nounderscores.asm new file mode 100644 index 0000000000..6e369f266e --- /dev/null +++ b/contrib/media/updf/stub/crt0_elf_nounderscores.asm @@ -0,0 +1,56 @@ +CATCH_NULL_CALL = 0 + +format ELF +section '.text' executable +public start +EXTRN edata +EXTRN __menuet__app_param_area +EXTRN __menuet__app_path_area +EXTRN __crt1_startup +start: +public __menuet__app_header +public __menuet__memsize +__menuet__app_header: + db 'MENUET01' + dd 0x01 +if CATCH_NULL_CALL + dd do_start +else + dd __crt1_startup +end if + dd edata +__menuet__memsize: + dd 0x800000 + dd app_stack + dd __menuet__app_param_area + dd __menuet__app_path_area + +if CATCH_NULL_CALL +do_start: + mov byte [0], 0xE9 + mov dword [1], _libc_null_call-5 + call __crt1_startup +; Handle exit if __crt1_startup returns (shouldn't happen) + mov eax,-1 + int 0x40 +end if + +if CATCH_NULL_CALL +EXTRN __libc_null_call + +_libc_null_call: + push eax + push ebx + push ecx + push edx + push esi + push edi + push ebp + call __libc_null_call + mov eax,-1 + int 0x40 +end if + +section '.bss' writeable +rd 4096*4 +app_stack: diff --git a/data/it/Makefile b/data/it/Makefile index a10320996a..4c331076b3 100644 --- a/data/it/Makefile +++ b/data/it/Makefile @@ -713,5 +713,7 @@ $(REPOSITORY)/drivers/ddk/libcore.a: \ #Rules for updf UPDFDIR=$(REPOSITORY)/contrib/media/updf updf: - $(MAKE) CC=win32-gcc45 AS=win32-as LD=win32-ld AR=win32-ar FASM=fasm -C $(REPOSITORY)/programs/develop/libraries/menuetlibc - $(MAKE) -C $(REPOSITORY)/contrib/menuetlibc + $(MAKE) CC=win32-gcc45 AS=win32-as LD=win32-ld AR=win32-ar FASM=fasm -C $(REPOSITORY)/contrib/media/updf + +clean: + rm -rf 3d build develop 'File Managers' media demos drivers lib network asciivju calendar calc cpu desktop colrdial config.inc cpuid cropflat disptest @docky docky docpack end gmon hdd_info @icon kbd kernel.mnt kpack launcher loaddrv macros.inc madmouse magnify Makefile.skins @menu mgb mousemul mykey @panel pcidev rdsave refrscrn rtfread run scrshoot searchap setup @ss struct.inc terminal test tinypad zkey \ No newline at end of file