From dfb71cc7593e5e6e5c9a3800fed7223f905341af Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 12 Jul 2004 22:00:00 -0400 Subject: [PATCH] Import backup from 2004-07-12 --- hos.flp | Bin 0 -> 1474560 bytes include/Makefile | 2 - kernel/Makefile | 8 +- kernel/asmfuncs.h | 27 +++ kernel/block/rd.c | 53 ++++++ kernel/block/rd.h | 21 ++ kernel/boot.asm | 12 +- kernel/fs/devices.c | 21 ++ kernel/fs/devices.h | 20 ++ kernel/hos_defines.h | 22 +++ kernel/kernel.c | 24 ++- {include => kernel}/kernel.h | 9 +- kernel/lang/asmfuncs.asm | 328 ++++++++++++++++++++++++++++++++ kernel/mm/mm.c | 157 +++++++++++++++ kernel/mm/mm.h | 26 +++ {include => kernel}/module.h | 2 +- {include => kernel}/multiboot.h | 15 +- 17 files changed, 717 insertions(+), 30 deletions(-) create mode 100644 hos.flp delete mode 100644 include/Makefile create mode 100644 kernel/asmfuncs.h create mode 100644 kernel/block/rd.c create mode 100644 kernel/block/rd.h create mode 100644 kernel/fs/devices.c create mode 100644 kernel/fs/devices.h create mode 100644 kernel/hos_defines.h rename {include => kernel}/kernel.h (61%) create mode 100644 kernel/lang/asmfuncs.asm create mode 100644 kernel/mm/mm.c create mode 100644 kernel/mm/mm.h rename {include => kernel}/module.h (82%) rename {include => kernel}/multiboot.h (94%) diff --git a/hos.flp b/hos.flp new file mode 100644 index 0000000000000000000000000000000000000000..41928481ad0d247accf2a9a60c20f0f550c39be8 GIT binary patch literal 1474560 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 z0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2Or zBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs> zC<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%I zfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`e zihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhl zpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H; z0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2Or zBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs> zC<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%I zfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`e zihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhl zpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H; z0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2Or zBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs> zC<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%I zfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`e zihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhl zpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H; z0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2Or zBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs>C<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFhs> zC<2OrBA^H;0*Zhlpa>`eihv@Z2q*%IfFke~BXHHV+sj%~Q%i1qYN(~bnI3HlSmD+G zW;Ne8Y(+lS;GEqsE4gu1wH;Vh=GcL0cA%jo*d3^_V)IHHVxJFn&l_dkvk-A&^8yXA zdF7kt{^ZQ?{ok>EXx)>!w!sND%=$&cYnQZLGgcgtK-)Fr5UXZhs43zEJ}_@=e#T$F zW_ik$HTJ0MJNtqq_NbfA z>Ff){I%f^fdUefz9DHT{x#v9-)UX7_~u)z zDtpP2yO&r$EU`A7_LGXszaE%lHNL#_EpC;!KKoJ>F}kEG^uj&B#VRWu9v*fJojIfW z66@kG-hFrE;#-$Ae(~Zv7vI%5 z8@IMqPK3u#&TL5S4OrGw0}qy3KX~Nvpf&A}Gm{5j`KQzk-?OaLAp{*rzYcjDo_x7% zX7a_IsSIN;3B-agSk~~cGjB?uH5qRG1)`*S5Y%B^J?lSyQW?I#d$=PY&W;k-=U<0A zPJ{CYB_$01hvAOVSEHeSP-gw4GX2fr`q=NTzV4|jQE_K<;)W;+L2lOYM>_6-J2v|3 z^`X=~%)f8>nj|x^X1=;^-Sy+Gl7)ZYQBwLX0@jcUQ8=c1aP${$ShN#)p0n`UtDI$} z&gFqMy&LAth`cf9!;#nKd@SCpX z+PM%VT)TaNb#R8)BCobRd*j04Wg+MCQs*v9I_kRE?-n|jTd~W_oy$i>heC~~MTaUI z#~=oJS83ah>z%s-(XLRDF6Bg~lw-^ZC8{`@ar9|OOo8+3GMc6S5^~(yFg%^1uix4b zE~&f;u5eYdA-cOHd|tBQg&67;fo)1F>7&|IgmrhsRk}d;fP{ zrk%Da6Ci~u1p=hd^4cP5Aq3LWfvQxB5Z(j?gouJiUS^;uZ4)K~8HQl>h@wY5#3G`i zavm#`mttCKQ=!$MRjby=2vzTKax_YWsFD0W-?jHWGieLw{LXXz{`g(jlk2)C``&x) zwbx#I?X}ll`{n*eyA;y}`DA^2ZZjzxLWc7VcemBuosNh1ph&w%?)~|;{kvaOruOh8 z#SC0-+U&dwm96`GcPD4|4OX{r2&=m{+?{S9Z+rf-#=EbH-<_P*p6d_KB#*}NXKI4n z=(hcDuJ3+ne&4qJ-<^3aNY&2!W$_Q~;jdl;?T*X6nmkYXwVqsS7e4j1HU|HO&VRIh zExk|oOAqXOM^|5Za^^Qx>FRmEY!AO|`J8e+4{GWvD)FqaJO{wqCHMZ48c?WeaFZ*_ z=ebZo!m>8LZU3%a>B+BbI6Ymx_KNP8+QTJ8_gvo;?;dW=uc*&Wp5NEKrRntiiiX_e zzQUyLt=%EC&+&0%`Z^7^G+^t7!Rlw*&dXogR2P1n#EySdwWng+_G>TJuI=77 zBlm23cp}m5xgFx)dEs@utg8yQ&1m27QoT|e6hX_4cZ}bes`g;W$>OGlOdmZo^ZNu6 zmfK7TGoNTc7@u6WaOrvB5oEh}Gx8f^1EQMj#kZ#$+B1J^Xuo}Wd*|N*_5W2h z?Zrv$PnZ~oUm3G8zabaTdD&q^4}V7Nx<1g{6sJLJ@7Y+ao&Tfx2+ML3+H(VFiYg-? z?Q>o}87~p_Z1{N~?tOM$aLzWX%vro99)I?|XcDO^fa}V@`K9sjdIw+S;SZbue_sBw zc;`#wuVT3@CShH*hx+qB99EF#&u@x{M=3FA%Kj)-)%v$>Gj6V4Th;wyd-xn+mv#Lp zUG?m;@F?p0=nKEQde_xW)#<-K`m2uHo8m#Lx~}?nSA^4)HvYS-L)mo~J?lXDtxDDI zx}x~Xv-fO?bjt_Y`(t99{zlr1V=m-=$MVyw?g@g-hMEn9>SuzWKKO1BR0S`8Ie+jJ z;`48f@tgbg6Tv5f042SlSex6C>1$l`L86}yTB+l;uV8e&7oz`u?~k7jR^R)}d!N1c zrF)Au*oE&Rab5MJ-#CVLkB^_o4Arl_B7g9bTy+p0M$YbmdE=)}PQCTicxwKs zQ&Y#CIz2Ua*?DVgw$*q1{hZsUubYk;{^-Vsg}K0$C+RS=v*<8{!|ws%G)4073d=f0=?sVz0_PyV82=;3(!ANJFp`^DXhn`Zv8eG&g= z{gIzW{WSftU3xV9EttB0y)LL%!Jp&>To=(U;a0+M=*{gnS3gEG+$y+XC48F@(cv}x z7Xb|ZG-U3T;Z<~+=&vIR?ESw@8$b6$=3S(J(*OUW=3#mdf}?^37%8h)qdGG~%dr&l zt@W9~Dkf-M-vDBBaz}kW+3?w1axmAnE1#U%o=g5>bMogwJ~<15a><=N$sIY3n`m83 zD>QYcZxMD-c(#a6j$~Gh;IMcTjh=401k;o37R(%mg7*Go_acjMEu{DxUD;}$^wBgPrBM$s-#;z+c{D9- zzCV{7D(;g{-jn!Nay8GVcn31m7k8B+R6DU=LVR`^acY`Xt*d~&A7oYx1?e}FKi^hY zZt^g@0Yeru>d5Wy8dLBxROtHMO|M(4!VCk-M<~~-*)$J!2R3m{%z5}p6t3`i<~~+Ec1{(6kDP{yP9}G6uxnbB#9dw)Vy39NGggZ)8?Y+ordx3Q*e zxF`EGbb}@z(M355z zSyCb<-&%_{$tQPa21gkeQip`^!@_a(pGtw1^`D{o54twn(tT8QP@LM693Bq}|EbA< zZ;nlw6@yi&-m4>M z-k;;WCVJ1T-&z4aAiex3+)&-p)2T|nb>^A}7S;qsw4`2Uk0Wvx)7heUM#gMWVr35Coeh&Uobdbna zVbO|j>HYeXTfS&)MfnaE3bYk5Vl+)8O;q?PQM9WUlSJ44m7;3h2Eu0<%~pr{HNk3Y zru+;GwARfX(C{$KKegIZz7`EZdOu~Dv20OIP-C#UWvE_aT)qY}BzN>Dt?Lq>Sw1sJ zqa*tAZGHLoG~|}ebXCujYvD`*5BS8^y5>doH_eaU8hE?qi0Ex*^P+~EW<*)*^9!M` zIXQgm1ZH)%hz4mUccq$ytinHmQ99))ssP2oG%x#pCL-60ZM<2kGt1?mv`y~`>h zO4THyk4Qx8(H__+?VamhBf9NtiR=hgC@~%D{!Bz`;;vo1_h;9tbWxSulz6N|NxAH! z#PQy_t{UlHa`jE;C9>alAfTH>9NO~E$4i;^B?cQbXSm3>xuc$#8+&)rG8+b`9;fN; z8cldRTl5Aivy5MNqm8`dH0GY1+;Pi6{k2VNX`gW0M^u)q zg;|tZxRRW{B5*4|!+7`N)RPBpNmM{J1C=)e9<^vjsxKymtaU+c2x`fc!o!5~7Q*VQ zrQA`K+op1PKLl1`en~^WjH#8&K0=nvdi|o3Orf|ajK=K4#OCeSqdJ1z;akX;?OR3B z50Wl1Dz2OWb+n+SPk?$&P!~;rI$lt}&s5_2r=U*kF}y0V$CVAOEvw81s4g~yfBKH( zw`8;Zy$;?WFqWx3cgNomWmWXVaz&?FMMZ38y?&`^9Z)WdtYa%inU>KmZ- z&#bq=s%b9pfzr2aCGAMEez6U|n3`djZ%8 z062~d4x!Rf&X|D3ioanb(JRXuCyjj+sfF>XTdIpEt~(t9k12IPN>W1+2UFEi@v=^- ziAD4bT5&eVMe+p|UR-K@quOZC?1M51FskjBK%TV!s7i_BqRo4f~! z$Ev%lTuY1x#V2H1il-_{+8i`SXrqV^ z?;df@?h$)Hv_ufSt*EJ(JiTf>k(n+PCFbw{A<3Z%j!Ju1lr@S_)0s2~{%ik%t`ehT zrrDkKC$EB(j1*va^tVueZcdcQYBm`z`d_k`>VwqDk;aSh;41=*;Xv0r$toO3(pmE?;da6!#(LVPNjN z#q;Uy(t2AyNGZv!3khq!o#^^GH7MKOvQxG$GW{j?qVwgZi1&))9?jW8(+L_kEY!L* z8tE&zgPM~&64~b(e)7R)j%nre%m>_XbY}!{g(J4VW!etfMJEDBQCR zx5gT^?uQk%UpcB&+yX0Zduso^OofphS9+ATG@q2CrPP5-SdQ)xtpgFQ0#d2BsnpM3 zOFQokeM!)=X5cVwsE3ow^}q*?l{J1Y?8jM_y zg5m*g2(O}ObtS1ch5aa*I)yfPK!|4wv9Zlr+;1rSg}+jj%ye~=`a*%QLkwPemW0tl zkzd4SvL`2p@r?{qHd8(~h~(cntEZs~-Z9fX8n4!HPi?)oG|k@3ET~Fk*D8lIKe3tN z++@TtiU3^W12c+Rxorkxsp{eZQDWWfaYk}C@D~%M*vRCO4VQ0iaN4nRz3iafXXs$8 zN+&5PnUz13qfO^^9rHE?oF6P251Irime=&fp_13SjtsL5S!AZs>Nd`q3v zz1|wPxEf>q$;P~!_jTzm&P~DZQ$1ZYvtua?tGT+`1dHn-wdL8@Xq2!&*|Ut{UiR_?`h6y3FnMb($+5{)Qm zDhI{Zih}AKWA2kkc-~G$;FZfU+_@NgaWR%LbhfB*BttmaN_aEtO`1}zk)E4(m2}j9 zZ)7j)vf^Z??HZ$TZno(I)f&W`)#g9D66s#CD@YxjPwsM#!2Ld4S23)6kN0V7#QHQ& z_ED8q*vyZHo^k$40^a^*2Cd{+X2n>L-Z#7hagV@119(0;Cbd#2)H_tcSFVV3e%zT) zjmTNAEGoIC7^v!)q)&))DDDs(NPS-^W$>v@Q5Kf<`a6#0O@HHNs)fJ%iqR$s$tOoW z59U}-^F8E}!~Lmy89m!W1I+sQZT=EZ2Q%cqjM^zaej?#U^;EslEE2 zOO6)ndqb*bwl$s(V)AWc&@gvkwz#hM8 zfmT(t$TU`y9L1-5Q@x=aDWmL3j&{zGKVkPapkQ^#i*6}3k7Atk)y}1HE`FbNRmI*h zlVa&j!g0qe!r=pSI>#ocC|U1vr}z0K7`#%E!U})*6Fm3H`f-S;XPTr{9sW0_i?%)o z`6HS<#R`8SkG&k1$o@PE2dQ6MTqE84Cl)#*J%#StX_H5bxH3ISrcIoYA52&IH%j5{ z{Sh!Wg+*NLlUwa=ag-deAT9V0L=hbx{@N&_-bZ{miZHH{evQLn4d zXKz<{wgv^9%2gW^k0m=~M=kDoxF8PxS zsg3?n%K8`Xb05CT>*?+Nu^aeRn^|w@k6o=-{`zANMtNe5EB7HX!Bfv8Z>3z0`|~vL z%-}hI=Rh8Hzc=x`ndcxLb-{yq4&gbJr;+C{p2K;L;E_XgHqVhfxbXsXZ9ta}j^;Ur zM_S}Kp5u8=;F-rWpXWrLxA2_A^H!d>@w}a90nf=ir|>lMoXXR}a~jX-Jgqznc^2`U z!Lyhr$#W*pSv*U4-of)u9_xq|0Po~wA?&vP};H9YM+AKS;<=9JdY%vS{0q-Vcy8di zk>@6!n|V?^X`WknZsl3da~sb`c|OK-JI@N9l{~9>I(RyH?%>Jrbn#?){_o%a<-i+p zKx>E?oUtYZNg?(HX{QdWdMvk&W>$wiQ(o}A=@H)|w z&pEmZGhs~Q!k9}PD_MKC(FX63;2BV~-$NGXu^RKQd9T-4nV|)_rDOS}W4WbRC8L?; zZ1lPJGEn8)M)QkC@=Hf+7GiM3(?@1j)CFlqzR}L*Ljf|MZUAH)5Viv?9nCEqDrmw} zk-pTSkebcUSi%?pSbiZ^kfVpP*zv;Nn~}Fek!mnDsLRIR+;unvKP4MN}>;k{~Mxhm#c*PRYG!fymh#UDH(?$xkaNC*}rha$ppqCQA1ubmay3? z)5nNC{={b`x9{3z%AZpxv-Y5>$&1sTM!Fh}?3d&c=ji zeSx3U!4|P0tT!XYL*FRq2g}e5@-12zPc?ezxIt(7uJjqw%5XCoDC#zaKR~#|gf&|~ z%{UGr>X?{vvX(k9vX}~07tfUgcID}^zAM^Cdl;ylIS{DU)~Io|y2jb+8^;9r9~WA= zA5*!1QaGma^cODvcWP|wM_R_+9(CMIid;9lwKJls;)t(3RjG>?)QnG@$+SV+A}RF6`T41ib91mfs?IxHkN*S=IOu^sqd-0 zCm!#zcjIESS$%0Hrlokc9V8y_v(z;*35%0^l4DqlkHB8x30J>>uJe{s*H4)|3Tll` zo%L>aWIFfH?Zz2V6CTVtGPQwBNjE*F3iBb{O>kwSt&@yJJn|Blzu(%4HW*cE@ru<# zqF_&QTwHkkbG{)@Nj&3X&O`=j+I>1!j32u40Df0d?R}!uZ{ox*J_YfogCl%EZ{G+% z{{;wjlVZA=Ct;3fq$tsZE>f@OVta)rT&F@-9bD4NQ7Tx2@OK}UPM5kBiTzBRA&9Ab z$;!k73tZtqepMf7Tk#Wqg}?i(q+Km}d{`^GO1UEU!i2p(4$%+5W;6DA?VT;JtKrn4gA@YU1hLC9E}qXO~s-W_~r>r6IKJ;@f0B zL9YOP;$fdQnsAP|e9h#u^@Ch86#W&-;|v(roD5U@hVMr~Mj57(A$$)J`D9q5y^b0V zto@lwP}>sb-&pm+=9sn-q?!fApytYw4stFQu&BGkvN{a?@V@iFK7z3O?T-Zts!(dS zZt!&{X#0d)9UKG&#aqH>?9C>Ss5uC~y}EcYq5RSjJb~KMIjpH+)hX2xF%87Bu~6&P z8g7js=pt^!#bIqoUy8buMBS@wX>~KoFL?U!b4C3K^P|+Lt}Cgnw8@bFC(t=jFQcfJ z-&+J*zmOqu+k7v?+1wd`vIM-7X;1hFixPCfY2falqM2me4Qc8LBMDR=&Rr83RDQlT z`v8`iTI2X@oa|wSFi)RSuhN;!7oQ_neHuk$Wf!kivoO?xf=u^PmWhiYmtK9#UXj0W zwINSvl#$@)s2SjIYOD-UC=*=q?#^~2R?U3$}@DPBj@jU3q~@7I^8#gO?1P>x2leY^gKgqTa<-#*daCPefG+U zNRRGa(9N>t@;NLb=4U9ZdO(B!`&V`2hUrP&`VI zis*55``0U?x|zLhhPx0`JKrG?E#tyYBr!93I=eNJkBXMU-}u3BtdbFK5IyV(a+<>d z>;NGA6N*ad*6!=n?(a0|TuUOx^;)eU)XddSW?kc5@Qoh!J`wpzRi`pN-=TD2c$2H% z{Bm-S_p?ugZvvi`v)9IRoeHY&tflYddXh%SPg%sU3e3#3v@*~KsYIB*q$&tsBq99r zrSe_M4wl{!HQ~jls$V^7lqVlG{+yQ?YVy^8ir$nNos`J_ST#d1-2R!lS2HDgcEd|Z zT)frC%^+^djt!&LZm4GGzE2o?e;GK_SL0)UN2~{Ddc#?WTA#3O0(i{FK3)blrEbo( zVXix%F4Z+rAdxE;pF9V^+8CMPp}5yBjRD?vQ!cHI;{%mFbB_53XKPyv{>ZBnkH_A&8V$)Q9)c&i;4FeCy5LNL z^IWij;PEb4-+QzR)Dbtw1+jT!N4lWoa~^KA@X)hS7upjM$DtPP%i9D}!ZV-4ejgoY zPfBgm`2zXlyCx{9VCCc>Tmlficv_}Kuj-Bhzg^(p1>BYrBr1^`Q>8zs)Lx}J-)k#d zin_i64}0s;dyEpjb^Nc1xwlbr>{5=8kOPTpPL8o@|6{0}%<_gR4LKw8@CHiaMw$tb zkY`J&9o-qrFXOaNU2fn>H4$+d@3qU{nIidRalMpM5ojB7C~+~E!hgO~C648T8VZvO zc&zX-#_lqkI)^Trq)yI=P_IsGiyRRO6&bEW`Ixn2Gqca$V>*vx8C(D6mj4RxMw3W^ zITLJ13ajs4|_Id4-4|k^L6g!>zTckU4E zI43?LGIncg1QbCNbd7nia>+r~6r3R8jgT2lpE9K0iIyD1`#|l!if7P9|5B?K&+?G; zz9x7Ut~yI%uFNIZk}`u5&efg{2#^n8oP;MXiCR-N%o|E?kIWQoBj&NUU|zt9LAhv+ zy<0GyL-L}#u52@Ztk~XDO)Z7q`uFxeN8Tp0hx1?PTx;Ye>bHG#>OtYhtnZ{2nUI^8 z!F)SwgvVKu;m5m82o4SZ*`wmj$fP=NV?86h^Gr3a&D6?MM+{eF^KL&O=v*;;7gfC_ zR`@q32`V?Dq$j(@^}ePa+mqJVV>|R__1O06neMb?Lr-!iysYoB{daXe$-#)T9+g_@ zQkGreR;+LsrDRrY4H8{)<94pt`ejN_bp3;0ULLZSKf0H%+RJbFB||LH^)nYrB)Yaa zfUE)Z@taQ$u94aa-^pfV4FX>$@(q}F33V1&m&>aYB+>x6>?Z09GF)xBY#-t9D=6B| z^@rBhl$%_kl^q!Q=9V#JSzrav>~xfWJ%N;o`ltPN7>{GHhoL z*iVZHmOeq%&rx9kQdtt`-H}_i#<3IAl zQHw#5buMJd_*eYDJPHb2E^j0LWa7&MR%YlTlkEZRR-}P{ejCl?wka{rvrtNr1-Uz% zkkppc^zXi}aX#9zF+((ZXv&hlYZ$!M{?`iy@6r?=3wDpRkYl-`!~M1xw*6g=-$azh zR=fsA*|uVNT(_S=4K%QCKZ^iPMsP6S+r>X-@e)|Zb4f7<=??x)DClg}zWEGL*EWf! z@NX$AMg*|wv_e0`rQ4+^&SV8q?13@+wV9~dRsoy0+9Y(-6XUw^DKixL&&XBM;lC;8 z-hRIIo7eH6J&0y^({Ee_iR`FKPnxrv>0aZVqG2>+I}J7(t)m=*Y>gXN=!$EIGj|v) zh*BD@ljh3Mb_U|2i&Ty#zDKTviNi-)K|}mf0=|-Ad?mO>NAqxTsAf@}pAcM2)t$fN z=c{pb9m&9|{XC6i3(qd4{gw&8+!=nO&s#`Pj5{-k9faE>6Vw*w(*rF&yNpJNpkqK6 zPA5X#u8@nnFE)yO8~pVGF=ohdWXN$u%!1kp9Qk=E&VriRY%-kYi&i$Vp0J1{dC)OMXCSgTkCtew zi1~ZM@p$nis`@7(e4f%k zw1oKh57Q<1R3JKTVzYsma>wqE&CxP1e-`JL=macj{!7~Au{7#6QjGP9n6qC>35dy< zkYM#jIwyP)*4QDpQusd=C#j+)tS+%Tj`!w;@Q8pdBLn`oPD$F>idH` zirTZRnWe?N$jh<6&^ZBFidh(5N7=TNhg-JZ*6~Uw9uGCLZT;wu>tS5f!T(E~2SzyM zwCh~An7kgd->WIig{KX@twr4-5G}5K;vxc>Kh!GRsW6A}YO1x~IMdeo24l4{CYFw# zY^k`Axfy0O^RPfgX#NgE5XO;h)NkqJRPop{_Knqs{Zg`Q80Gp0_Unx1S4RcI9ZNS# zD#>VdkewaMsOlIyI)^lT_he@hnd!4dv~^pF*!v<{Pj*fj?&{ZvGx65^XO}xpksL%h z``}I#v=8n;N&Db-bh!^|B=W(n{mCuk5|Hc?5p5xB4GXoF;!ahFDoOcHBdshW?~#mL zc#aAC;r&@$X$Q;}V>fC``VF9}}! zs450~M%RiMw1)nLhhAxv#|ke^isnMeO=jY9l)Cp)vzEJiudx63^j>ZMSNC3P|3B4x zz5T!6)<<&5r&UNZSSeEzB=`fNeyVgOu6JENv56JfCIO!50ApHC^PnzFZB7E%vYyu7 zxuB*xO?TcE(?L;Q+rEZs_T3qpgTh>XJ?8XW0X_p@$AXR&2il{TAlj^LIbMxX^K&nFZZlx~7#L^lB-eR+d}UdfIknHny_;ZA*8xg%>6sGtu|2ORb*W)s@}3 zv}~;AmGK1s-hueI#kp8vDiz6RuZF5z_6mOCy_ccw0zISx^w)?+1S(}i*Ut1!vL?W5 zVLHwD_qgDcW_v5y;igUw)0w}kV+83#GwZG2V^p{v(Si5_XQ_>3Ry`NzjUKd~-WKI8 zRk}{EOWbRuCwIg&$IB%j$tNF?^-x`GBg6rs+wo&Qk_l^xTz&vSh#jADD@NoanZD|F zfmRa!nz>sZ>4#L+Kp9=Qhwz+uu~&LciawWJMnzmd?+mQt&|ydj&t5fA>z3FLJPg|^ zo<4^>nHhI4<(2JwW7&SW?Ad~}Ume!d8wbcw3A8yCp6;7?>^^C`ZgvMsfpjdmA$aja$4GTWf6{HZ&sSNB+qbtZ=%S_KQ_@I@J>u!W0nCTm`6~ zR@?`q56(l&MGbp!8K!FS0GVmd{_n5Q+#HEaSWX&|w<(pk4$wr)cG^|o96Av$l^%JFglLfezD#@8p&^;YDoT&GAq zZUV%S?|Ja0<%+0K%&3Zo$*K$zkKeuLgQsB*vl(Q@y+UU^G1!0<`3_Zxbu3f~8P zAFCANlSQdgDkVj{#gKFW^My5RBQ4J$_y%^9+tW7r()wI!o16h$T|5ZAUx^}W%z(UpIAu@EIk#7GzPz>EHo`;}r_2iY zvjWu7+!_Ph@9|K#)9RdQRB@uV=~o$Kpyupo=pgGuU#EX2$CQ92ZW^h&$gv4_u|%_# zf3l-By!0dl2j6s1UHsV|ONGo)HCxi$QvaB0u=QNUGr+s)Zfj|}d&HS$31oGT2aC;< z1tzU6D&JiO8%tUn;wczqfCvh8t|BFjZDr6G%AnFRw%%P?_+@3#hsvOa^)Xj)X<~g% z8T4aiP&!Uf$a~Oe27g@{beRJc=TWFZ@%<`&ii59BmEq=;;Ur?kW~XWn5v1Qs@*9^c zp76O>mUI7Mv2o-u$KBlw&8OZ;zfZ;sciH64gksYYMU9nrUel=L@ z*C|y}=@Iv8zqVv+$vY$&T4`X^(jr{kC7JbP1^pYYiZ$B#;x}Z;WW*b*v7O(o zYlM$@iUeJ>DWx{kVr$arS(z5w2cGhzH5zGqcbu}k6`tZ;)^9MIoTG~Du?^r~sZD7c zK$!eMx!)jZp@=U0k{@qbF@?9q`-Are_w6#=uwRYy2MgFSF*I>=SaKMX;6S1)_mHvb ztHT5Am>7zuCp3u>A`@Z+*GYQbI?3EI>_+Hw4MZSzi<-yUKyTVkrpEfWvk zRoRjW@-ugQ{@m>5f!^ zIwv%fA478fYo!=~uMqIZPnhUeh+GMupo1baZf~G%4yj5VfKRC^amQ!DOQi&`+L>>>P z>AlCJf$~s6*7NXqm_|l`qp_m$5SM&XTK5-||BlKqJ)t?C{wOxe1Bm=n4Vjk3>`?J8 zw>1hEKPbUa2DRDSIoROQozdzQcT8YL%xMCRWayMK=*$VApyGsjrAl<&|1G|7xoJmL zkleJR4o$Qv;54GcCyrD7$AqU`g?c$Z?HcExh%a(VAQ9S#sCnMhiBS`kr5T z+%4D56}jy0ugKjc)`TBrbYTD~?SwMX*r#O=3Ux|`eTp)5SMI%>X+Wrku5%jlgCpeT z!|>~4|8eRb$OmA;ZdqSE!_#Gs4xjawJ+t0N*3xR!f4vsGKNcl@t&;cWS>f8S*BsOQ z_!eKi{is4k6CJC9Y(;>TEVJX}WU=m~rEm6zhZ&mFt$+bys|9Waj2;W6h-%R^z+Xt_tbL z2#~SwJHf{HMGdi?4DdE6e2m}M?F1#LHlU(T(4vx3Z`ch=`3@%EZZfuV;a+5azf<-g z>_tl1tL&GM_W`lGC)$$07&wSzG`iMjQB>l>qNv1$MNvsKi=q+`vX%U92+TMYR$f)>W~K-t8Yv=H*H$PD$>#is;@QbS ztRDfc^(LD%cnm-(``@2cQuY@(CgHj?gKsy!9@%PqRbF(0<^9ic-Zz)?Ds{KKe>mOp zve7LwIECfF8#m(}1=H);0$Wts$QG!3yF-U;&O(EkfR_wgZ@)bFyvEQ(*QZ68xsDnY zN^U|tg2G+=cmZ7j2IsoPV`EOMiRQCqC|>N(F?LKQpN!>_9WAp~!)$PxYz}IAj7t|M zDMjElb_P;F*8&8&YaS(&F59(qcT=vNf{L{2_&XTyzJDZoy9zGa(sX9@px57PKxS=j zrAV(qPl832w#E^Rn6^9x-3A9Q&wVF_TumW+*b?#ZfG_yvNfwHAYN0W`FFAgz94C^a z@DP;Khn1v5Es3rUBFvwXDJ_W)3Az?&^RCP;pJth95n5t*je6r;0DlR92Sj9}gDl$T z5G~H{c97+3WPqlZRmv9$7iYL#77phtioPqtX*2Y)yC;0=ii$0)kx5~u(7tSj(u~TxJ|U-ObbYO}#CGk&`0)3b~Q;!yuT~ zAp8l?(Tu)?t&5Zj@05moTj@7#VQc?Z7Ms!~f$9#1>)#nIF;YqbU{jj6ytNXS8XfU_ zAEnxH-Kgl&Os+0`_)xM(CXER7?HR2tLn4SPOTXebNrgup6nt6#I-hJ-7aa^A?p~T`1uDDEJT`oHUXx{w>&9O)5zNxeF z_bIklFF9P|p0xO$qzo}rce*(uMLRU2%}tI#ie@NPy65jjQS(0d3hNHJXzU^TG*4LJYqYm0&@@&Q9ABnjhNA#)85A&IAM}=zMov)l zoH&t!4JJ7|k>*01M;cY@?Pa8Wj_$Wd)!N~VF{)*&4-0lfs>9EC^~A%1ERafOonFTJ zA;X%;Y9<(A9&me_z-)V5{`dTe+qIzE z76gvmjc)duQ$-Fp^kr7`Rq4oWUv+AqBF7JgC_X4?8wBB6g|{he1E|e6yr|6dv_xL8 zbIPZ3z+GB~`#~8_LWXAzd?HWy zt|-GjREC==xCzru<6`kjXsXnnS29w{v-ZT8taY>5oI$~q&kyuA3r#$pd`%)d|7DYb zyzijx z-Mw;i{?97+p}k|B>#@F3ea zl6GtlY41~7a!}|BhtT-6o^W}E>w4NCeJm)*r1Zo03G^&AGt$sxL4Vfi!{*`f&P>ie zU1sm>)*1;?+#@+0q~Aexgv}um2m_5-y~4)(QhTq=vKLa)pwNlMMAuW`^8QA)F0FE> z$U^xe5Smf>?1PEZO`<~*YUItIsWA2N&S zN+5OzsGJ1rO^C&iP8d?;2K11u95~T^g5Ec3ZIS;JTRAV|r|?xPY8Ss6>pbbZM7kPg zBI&zCx}rVl+E)eXyE+sz!J})W7cbn6?p+bx1Y*a7$I-1fVHMrqrvr-aU3<_i2rnWm zs#SElvI6@ZgJk%nH;Z4UBf2gHDcgc{kHY@pe_ja!j*?yg&LPBYjJhl1JMLH&2fosbV6ow=JlJk1b+X-0{BD?l(&mko zD1UKGxkOb#=in>TpCsM$dQP<8i=Jgu70RZTuqxa{52L|c#ckz8V~UYd2ZNQ==y@{u zCKG4(PJy(@erkgv0~CiV^LJ=ht~*FV-OKqxyv5#3PcMSfI_*!dDANi%T7?P8R`p+6 z;3i6=gcDRkjuIGs)bDNETED6VJywS=D0jWz39dFNarU-EkS%WfW)+-cJ}eX{`8Oe4K4xVF3MZ*xuQv%5-L zq(x>KfR`ZLj2qu}R|$bEjdFS`Wrph6?->y2>DiBI8ixElmt6B2tCx7|#T_ z$BwP@4V)cYwhL;~Qgnph(#$-f!Bbgy63fG{APxDwIj9{rc?Buv+42&G&!1h+dPGIm zRm!Sav#lK)gWTLy`wMJ}#~~ZTX)`|z=5YBr#-><&%#dZNs#`*-+S8*`#q z;pZAyD^9L(5;Wg&MGo^Qdo?ZHpOydCrZm|r2#G`N7$DSaDcr=mP$QK^<-5M8u3+lj za*KlEQEIqEc6ue)^$x6VFD;dwsWdWvgQ+h&E8UxDt}>bvU5|?fb1yO$I)`~B*qM%( zv-8P8X(R6|){F zXVQlb^y&Z=0|4wtTB;Q^Av?fa>T zclnbZgZ`jT9VpaJ0w(M2+f9b|A=8t}^zUS{(fxV7eZo-e^eA>X7m{7CVk#_eznz<; z^7X-5JB4r&3u|9dX(E z3sA~RbGPrmA_+2+Zp{Fd-C3a~3m;PY% z6{^b8BHmON7wtjU+;Z{$%4WNBp=w}_4zD91)$c``c1(}xcnI6nl8mD}#F50kyI?Eb zc|2bDh5AC6@Lb==_j9-P$^uZ#{{-Hr-tw^U9~~=W%-na;V0E`n9-#!+Y+Qz8p{#zBQXe;0mV^U7tvF z{ZtK_9fkHY5ka?0GnXCXy+12acy}o_(>EuVttE;fhu;DrG(f6(38u~5;FSm7TzMlJq7fm7tnL1o;wW4Zaue!4xGyli|elAefcm|WrPTT zF-jGx#l4kLUW>;fQcZK&A?31P_1FYGHkS=8PQTJCKDFGf2M;#AdTibRYh01%@J&Ez zlM;F{PAG4Nc-a)9fj;{YejPzEzJgV9T)O+kvXUXY)EHm8^3z*u$k4HVjxwjFbgW;d z!0YAwA@wV>?Loe2R`_2NqSg{s1{m}-BO+g*MZ#AZv0SQJ7}~#E26#vS`nX&KuuK47 zECW0tfbUcQEEm9vGQe{J_*4lX_5hR#0u_*J$~cp3g+a z)-K#cvTzz|Zo<*f_A5Ynh)~iv@XpvXOd`!4rB;U?1kX|W(^3^q&1 z6r4wpU1Pd9Z3le1S?GRREUt>U z4LlHVDBHV$BJJ`p08jn)k6dwmUM$Z)D{z^mi)=^VBL49xB1?qZhU4W~`T|lGl z{h~RKJp=r_2;KsMw}9X+Aou~nzZdvDn(MHrxzM(q8yb|!2!T8AlGMKc!GA#5cB&PM!8abF;g%*IPV z|0;<@jYt`*VRl|6eiEK^xAYzEWz1f-^V^@@!Y?&K zoNz?x%9mK-2fT7YhEL#11wzePfpcj1XZfs^@-2(5F)BHPPhx*|pp-?S=B$b%%k}xJ zQSmJUs4-y9>RXnlOIZ|ZHbAnRkiSpq%sz-=1+FGknAtdwlO( zpw|h*ZYOV-pE5B|BNPZM%pX57fhmBjZv>{a&r`*R7%9H^19mHZpNxI3>AQPmjJw^H zY}H`(^zZal{*AH{_IEb5B_3}Zt%~fNCGf&6WWyg>337%pdDnurNHg zkAG;d-FH;^7`wiPH@C+vt@F12j@`QNLsqPCslv9Bf{c%m*>_(BE4#1W_w2s!n~3IT z5QdQdmwEr=YP#GJ#t!ZFvze^{P&={c)1Hdr|^4R_-6{A>B0qtPjTU4g^zdPe=3a2R(Kk~sa<9YAEq!a z5`||I_IiW1=RT?I7_kJ|!RJ&5o)hd27m5An>*E#Rabyp-!ilKH+)IjiN98!3Quqq& zjS`M3W%aCpH<85AI~EI321Na)WMC34C1Lsgv(cUQ+`uN!2)Bs3z!A63HcOG45U*gi z07Y?UIXd0^)^;$?2cz%TO?Gj$)_5_1=x}l=vqxunY9D?t(!zS(RqndaQQ0Ln>*Qk4 zx~tP178rYVpw$)^M>Yq?G0cqz+~>ENk(NbQCWN_x{L-CIis)D8=kzHG?#kR{V9aQy ztenn1(&6spOC8CVE-X$^G=!$BLI{r*s+Z%jzG83CGVW z0Ta*kWx|Wt<(yeD(0J?9`L+Q>d@+rKh-)INw%}?>=C?;ws|{frMHxO*MmvP|6eI~V z)GtN76^d-~Ku!o!XSPh?8r*4x3rHn_Ep(-L8M}qk_$gP8&(E?}L>0HYyi6&%rLiYj zHy(7iz04hrvBG~wwc}&Y+jIKV#LMETCf_ei1W!D(F%!Pu)p5qHYh4|;SREZDuUD_D z=qbKl+)9xgat;~I{blF4OgQp-Rhz%-ONk6-yJr%HhzGvwwbDU z_A-x;2g|3!-sV^zU3NuvQNt(f3^>o$7MC-?z6h07R26TNVjcHR#^a>rdyj+-26es4 z&1pV9BELrt$qFEQNpZLkp4Un4`xHeXRDVNOB?7MxX+#0}6k}ngMa0yunlx^8im0qu zc!Zphxw^%CBy-zvRr)xs_StLA!lBIQ(p9rGw5!JGJM(r=uQ`h`y#$6Ua<#ZA-4sG+{UjKsw1L*;V>ydagM=rrEtjC1bUYI zuXWd*{ov$R3oraVw`IfVp{hqK5V=JhIIDX%86y9CZPRq#!kJJ>UL+w%&ofjzN_Wm& zs{Zn67K&8?9k!;{q7^!274Cn<)IJ*+XR6{Yw@Pev<3j5Yttje}Gk?)vALyUcVvw)ok z6vf97T*XV+q;F`pWF7b6oSYn8akd(9Y1q6_*D{}OR8+LC_!+hC%XQYeYM33qbq9&E z+PWtGDub2B3$mForcsP}aw60(8D`&2hci%D^a`!GoF>?NRfw)EvYZ`J&WXL}_^9`o zkT964fvHSoKT29w^`oDMJ+w?kKY}kNcoz_Dg2%0=4f;FJ5r&&-OZ8g;xDYlXh z8Wgq|J)?N32Bl?ERQZJ=&FNHW1)yof@;l$}Qr_=NqzOv#?j8GA90U|qEecHvMyeJf z8Lm&8`q-OZI}bZgM2RA_j46PS@G%SNmG55JxbEGskJw}AzK{k#c{la>CgnWbRRk&x z#$RpBFSoalJCa)QEv#gb$^z`)I$iJku?tKAdPz(Gn-vUQ&$arp!a_BFNHy7I zwg9mVPr#Yxq+G_*NM>|uqU#xkFr56;F_6A(!I>yieY=>*Hzn@+tL9kR*Tn}Pu0YSp z${SE~^(VLVeM1%4r0U>yuSpJad6x4}4bZ8E=;|&qNF5plTT%^Cu+i;F6X;KomFDC? z;@|t^=}7hgqVL!zw;RqNH7^P(5Boe^e2XrJVHIVQi`X1A$~7i)?t9<^L1xAFVC4*# zx}z^2`@xz=`k)Y^E@ZY*Gq zVjG#Z*_Kw>b;aWHMdYbTZaD@5ZI|Dl5CkQxoExc+&2n6M3ql*aK(%uoQ5ASL10_FZ~p$49}>YqI?A!k%XG$P7_18-zPXDU=2uI z1u1SZJ-qOMLjyJ7{8znjjaIVMcZH`Cd83ef2#4}DRo`u;R`KBdIK!_^^tFrrHiXP0 zu%7fh2#P1VeHG!{zcL}FEe#;ofB}Ll9D|El!LEvaa~5E%Na{45ZMpvotMYEwc93R` zau;i1+N-UKNx6UyHe6+Fu;2sOYHa&=T{3FtGTToO+wTW~(HkrD7%nTRTP0Nzc<^2c zd5Y9rmrXErCli!t$xYw<6Pl3}jH2-|}&jr#J#er5&VnnegCNF}ADksjmlbtKIM zs1;Q230b(@cnTbv@B)Yl^HrlFYhlueNutv$bF{Lut8 zQsuY_O_lp$m+WRjp2z9UFpt9ZI(isy06IE#1Ln|lG~c!SKgiq{BIO_o^ZOPG+7wLU zp)33NUAgMXG6hvQ8>WFrInFn&KHQjQNtR8%b)ZB?Gw(Ei22)}DAa*x4k#ysUNJ^JP z?qef@nMd~<$A>69DDst%ne>GEe6oRmb#C7#hK22)@#EVFO=bg><-Ua6QW7?!jaaGS zR6O(ziRr7h^~N}}$&Ll{(pnmcE|&k1YCgI=J)K1nd{n?Qh0tb*F+bzb3VSA;M=7kI zPq~HtNJE)9^BLTxrmiL?cI)Me38qp6iYQpen6N6h@ffqL@%qRWv@3E2=@RZ;Sdq8* z4ai53!SBV^#mA$31$?B2Ili3;gO|5}j0P!fSZ3>93I0HvmyhWbJIvxVJBUO83d8e4 z)9%)le847t$ts$VeK3tMrbyq$%~3J47F=Vhf!`@|e#NKD`4yi^7kynPcV?)Ty$6`4!Lz7$$qzo*mM=eHFq+MqdEzXH-_Qppt( zs$CSPTX1xRh2*2;rYU_+;}`Z-viK4kN(6s96xd|Ah7cIb$eFJcZG)W$cy54giC6G`HG92=+Q#^kcrO(~#i6sj)>)r&%($bOrMOp7+K z1c~m4cp10dEWO%akqN6$wztGR_mF~#L!??0L|ZgPeYxm&nPrwY@pT)cg*0$+HEk2y zDr%da6WsHAhck8yZgu!O{C8eS={w9*b=F~QI^RL5ZF)%CJVgyn z%nQpri#Cf?D2e={S>^OHyL_LB`0kw~Vz=r3+aRbo)r0drh6&)A<;Mp2?)|4=WNGIY z9Xl?TYtNP~10hyXuag)>9fCf@NDxOfBv9%HR-Z$y6Ub~W#f#5-!4^4ZQ#hTYuY;UL z7egz@z*_u`k5+${RF~n1>>AI##!TAk2DzDx~k34zf zO-(*=VICAsB`K9&wbX|T$eC*{1b6a3a zZWsqrPGeAUjuP#2h&?x8uku~Qc+c|jf4=xtz#W`l5@{L!k=;KVXURYv3u^l}P%vq%@h^WJNXX+ru;`5?-c%#j466%TPzSbhnz5D?1b!PHs_#*UnB<`=O3)42u`hi zw8rJzs*8SoqPW)0yL48%1niw^_}e|t<95W^cK7zi@8CeU&d8T9C@fFi%DT6AfleG~ z0XWm5526IA$(iZ;VoGaxIJ?$7;yK~xou0PsY+quxUw9592n<$LK1&l*E9xC?#CcFr z4EC0^GDa%C0{b5iFzv+x$M>D$`-Mzp5V~05Q>vZQS=GgFct%|hc2uDj$dG~0z~It7 z<^JwLF~#h{@~kRZ7_0(eW4;L?84!ouG}^z6WR~erh01`X-Z>L;Rq@oaX}O% zN5j=n6z+Hl+sUsG&MQ|r)6&RVesG)aM0iP+JLIU||n(3QldIo=&S%gV9zTN1iHMSO;VOw~H+E9hk9UWC4l;Byz+~xAAjgGYHvI5Bl zQu<9K_mcn)KSrY!j-j5CKHULdkNRh=ZUWE+07dCC+ADegCm2%Zy$W}&Ym7dK;Y2Hm zZ6jhdtq*lF_w$QjbYZQ@juYSu@M5atnK>)HM;52L{5N}sD!$osa&qXVSmASq4vSWn zZ$_W$Sxz9otTw+So@?8|3MVV2%}Ymay)u8<&gRQTZi?sAJDStOx1MX~>VVXzd-508 z=5LHwJ-hEubC(U|(%bXt?ak?tn{e=MZ%&Tf%5Xc-+%|j*>RH9OJT(hz_dgeL5S4av zk#4AO_zc-Me1;0=!cX1Zp2#k+&`5C8o5lTGb?kEd7QXV%Y)VowLKVc4W3Zq%&3W(T zrn1C}8xSF-g@3<-TlRL*Cy6kY78IdA8$~R<3d>0mYg*~U;nSqMY0DaY-l#ujJsVV| z(ribOmirKmKN$1~Z%$dEhE)^GL}k_}^Tf)T6g}w`Mxv_^x<6kk$n1*=Jc+ckS?y~-K7?NxVdfcmYJ1#q81&@wb9HI8uLztm*#b}>TFD4+5!<7?rhXv6!A{J zoDsMb3s`nB6h(%|VGCJ07taqXjls-+3Gok@5?ZTi>$fjfajk@J)+Ll<#?FSpsn&7U z)RC5(QO_?pOR-HBJI7*29N?)I)#?CEo}3J6Na&9>@T)&qv1X=Xl3@q0xOea3-^y6w zS1yq@>fz#O`nG&Y$WvpxSLaUyAkAcZ6-nn+a$+};-iCjP)?#x)*iCP}Y-jGW2k~FJ zZPt@EC)ZRJYx!lfNOBGL2zD=u<=bf9b?v!DlL!(0boU~fQK7!>MN@2&j80tZt}|Wh zuQSCa!$@4qju@_Q=2Lr2!40yy_)9gtP!2J1s}PZ%A^=xnn=(~e@vt1UGS`&+G!(cK*jeqFo*h9QfAW)>hh~s+gTe} zh)U5|SCv9rj8)yF30HOM&BdnPvuUR_OZX`s-n*<6KA`vfQg~_^20UxFuznmF26|T} zbn_Zz=vAT`D@#4gdtR2{9jQsy+eg3bt6q@O5Uhf)JEVB*6dx1w27G1LQPapo&R))o z94pDNSAJ_2gj1(W+v^S&Rf&S8UTsq0k4Lb}41wCgZ%~+Tnd57evwZgnTVZTXzs_CB zc5~^<5q1ZZvcAGlOO;HV-4%a1{AY5Z)oIEqZ<^icrxz65=!U^5s$LLi@qd`MZ??Nu z5?wu1k5^6w`J3bs49xnGmCTEn)eO>KO&68&QoDxW24&ib=wq16U0WwlJVm1u!O;<}d89gt8K` z(k?@5bgN9JMZXBH*qg|H8n}*@ja8F_w$#BLEkCkALr2St7MRx2@)rwK7jK9%N*=42 z6C9$dYBMYUxwM^y77bQ>t8afiki~@&_53ecfRZ5P+6#j|zz~E5NO#hfD@Q$RI#Z5G z)}NdVS2FGLZ%A0CWdIl!fgZF<(mFf+U-5Xq^_I{2dXFS);aLbx- zj1O>v2S7>3U}nW2-<$8`7vxm%IFVYapcS=yZcYMq&Jjp)i)(+|qynf(MQu}5NOUaI z4v5JONp~3fGy1PB>`Bh7s<;0QtjWugsM9FA9A?kf`>aSXmo z>fm2wum4Ia@Lj)`lFJOy?xK=b!6lW zlrb{m6$s}*q8b&}6GnKk-V3A z{2(S43ZUeN+{ew+aTV_Fh0L_*Jb9xoDl^ZLU3h25$}v>}A-UFCZuTlhhRo>XTQBA^ zw+^JqZdy#g%Y$OcxQp2KuZS3Dd4jLi9c5AM40e|@CMs`qtZ@47>w3FphUHpE16F@b z9}d)CrbQurF?#kMXR@zmDAOS}?4$S&?W5|%%I_|OqI{O1m|7^-s#!vuF-gd6K z4@o{5OC3JpJ%N!}nVzMN{wTz5#C&l#RF8Eex;ls}-yY^R#n!;WnR(j<>n>-TBkICFU!8xTn4s8L(U9d>cKixL{UmQ8&wM7uv^Q&O zd(bJENY59KpZZ}MAr|M=<+S8+Z&WN z0Mpd*h$5{_P0CAX))z-JuTcm!xzo~c-BF$Q#^U+8Uxcwq(D9pmlrjy)WFu5G&Mfd&eVydeK zaY6tIQj8@bNS`E62s@`*XZC|k?A&GY(CA;&yYgp}I;)?_uY4Tl>WEP8T_7Ta-bv~Z znmk;EMQNSD`GN}CACmVaG?l--G*KqZ<6U^w>tZ~V4<~!87&@6 ztBNFJh>k4D*a(V_1+mmgD)NFo5)xYJz$LUtg7o!Ae3h5X^bESFad#}6MPX1=qo#Fq zHp&abMgGR%WsMPQXTq53sM?;f0ELSf`LT-aD;a1sTKWXB+`7DLX~zonrHC8^dzZvN zYNmWpQCSIiM9f9?o(^i@s=r4TUxBJzO@ti*-#hl_tgg8#9AGsoxzf(nw=QGc^-aTD zB6Va`>AKDZS?Es9h)5+_Uf>u?TN_jj1K-z{pQC=dhNH@L>ddBj-krvGBW!ouScUat z>lKCXh%L!_zRg5#tw1zT|CTSS&?f)#kY2E_E#<3vnTpdPt{#~F2+<;mZBPyUfwHmJ z=j*1m?b3Q`92C#T`m4C8YQDYFr&_SL0xc@IYq3~!$?w(|H_2C>T<&^s$*BDC| zmM$)hd3IbWIpW7({~6qj2K8u2&Si9%67^KlB7Cfz?rG_0;E3HE%6vK+(!a(0GrYm+ zcptBt6+T0}(_VV*kBKrD60Q1kz6JZ{3K*pNEXgj5rbybv|Z z#FAbWdj^|$%@FUI7OPR}2SSwS(gmR|iq98oSDSm`3&yh8I}KQ}pXk!Ii%iQ-P%!$w zrl_*nl$u#;3i!c9<`0^neQhgOGZ+RFk)Dsy(9 zjH>oIqEWup#igC=cM%plc{`nBWXixTeYH)s|3aB>qfCcIGM~>1xO^@1Jb~;FNcdig zEPlC^Jzsgv%`!p#=kw*+ZkMhOE}Jg}ov$j>ky=&B3Fe~sRO_3wgOp77nO#YP8FY7m z-d_-eyj%q}`XY0g&^nHQk(WMT;CD^{e+%H{%!ksd#rIV3_{<6(pHji&<0s zNFw`ds@mhe0?pg=lO*;fQ%zEm{UVUm%UPQ#j$f&YHmyoz?{I0+9oWrQ6IRhaM0{Cx zi|meL74^glR%z`<{avjYK2J|9ms*hz`#tJD6Tc6w=`w%eJ}4qTU5loz{jp(*DS!R3 z5keA${@AFGE8lKbE+5xI$AUR&cEQG5wTA(hLtM67;WOZIiHYo4gxMTmuXG4^i8T3+ zO>}Lf1dE@W=z7eBQQ)=^3qZSW_u&7v$iossR>Z*$)#l*pC?E_f^9WZaP*%j{^X z7ESxOpdhLuswy!bm`TQ2xs5L&U*yBGtyFYLX(xZe^{JnW(_)MMI#&GS+VteiaRTV@ zb~(3Cx#gh3XW<+eI~L5x}$k z(=`z>SFC)mMP0j!@6&3pNhZ9~ENRQiZk=)LXv;|s&Sk6iSFF@#DB5q;p^orUPVC|7 z$`WNTu(|2ROpBORm98&epy#XX+#TU7e>8>0;A+GdPsE|g?H=Tp*lG7R<*|jdi`xHuYj-y?@B5HHcVgJ``=Y=yZenR$dBIs1;Ko`+P z@a=WB=vDfpd~p4M2*f##wC6%K!6PM6u3$qd-m5u_*)(H(R+CRC<~B}~6Mrl-nAkAb zFoh#1aZ?_1Ss+@4sW)Y#NA8RgO^!BpJ_p(da$4^x?T4_&oRe)+R_nftvD=bn4+x#ymH?z#6e&lWl9%#w@_ zE*=h9*m2oW9+$k#VCq8hE@btmG^uXxQ#CTA)uH50c(tL^AG($M1LU?NOkdU44Sbd9 zMe=F;mg1Kx*U5CGX$-D-zY-RZP@EWuKSZSOf#3hPP>*$J_e|2}=~B{9J3= zzEzeP?Ho zHIQh<{|ec)yJ6d?;CqzUFrsvFMB^tu(jOHLk%uO;$w~kSZ1gFHe<<$VqO&P<>Aw?*(bv%LCSuT38*pX^Q*x*)`u<4A0B2pVWzb=I+=|Q$}SzEy8 zomVB^Way~HOC5Epk}r4UB6lAEY7B8!hUlRjJ@GCI1YJW!0$<&7%=tyc&0Fz%KSEJ^ zzDLuQ@sV2QU0o0Y+aMSxHn1_|M2Tg*eVcFO3vlg=F2s!KTJZ}MJqRd2rsQ#{C8ii) zKig+&zW7`JtjxSv`ak##^PmFg!qiy$0gE*4A(q~WC@y08SCO}`SLFSQz^D=}#7CBC z>SlL+1ZPvGjU-a%E0W<^9)!~d9NFfC**N^^vaL!^)7ISDhWu9z)=(9;fGq@d2#SAf z4NWGdgCJ}D-oeQ_{-KR1o6D2ap|Fz;40=vcmG6bmc)bl(dR>;sdfNeHOmDpvSlW)* zy2^lVCDC-w6F(w#VY|5Cahm6Y-(-@(cFEfQV~`$WCZUCdM2}cU3J^tZxJ%U6)+QvJ z$6&%2jzjr{XKfB}3}QWR4)@o>Cn5JVQ$*EvG7N3XsA}*)Ze@wgNGA4eCb&OaSLhlP>=^?_!nlDk!r&F^Z5jV`x6yPS|DE;#@#A`<-HryPI zun}=1`QwlT{n3M7X!J*~ciKjqn|)&)8S6T9c+O=Uu5X`2<`o_+8qw(3B>Ah%B9nJh z#pzB05M4(se3}+R=Zu9=&989S`y{G(d3yT z`3gsNf$fh*psfD&M{5Z=I@kHQ;8!2i;i8ekEn!hM;7s8NHz2eD*B`yk_e+@T!g6iI z-`D6^A$!kB zZCx+l=5eu^IMYvkjd5j@@!49x;^C|@?Bn>+2{q&4#LLLeEKPg!SV$p0rKOD!>$ zjdk3@hhK0w$#a>d+AJ7LU&x2YT@-FT{lzK0p)4;gxFM%PXGhQwvNP3MHExOa-PXQx zo$E42&sbC)m7S@MgEeycYO22bp_FxHUB4x(ZwomC-z}hpO%^^|z);U~R=B4&JJVos zQ---{I9FEKre1Cr_+uQ&?PH{N%f&)H$-DDVnruC)yUcQc{^X3C%vLMi6fUJCah(fGGfpgX;V;sp#APo0C50Ed z@V_ZM*XLoPNzC$j6t4Gq2q#~YS|W38&FWX$8W}F-w@y1=T2D}u)DJOI@bn>x=>*St zEm=giYoFCz>eqUuzMAERZ+&+9EHb5fr%KU`?3cP`8kry-mFC>h@0z?0@lAH1;Zeis zI_v9I)N9|Kke=yoEC>mJf+K_F(UMcY3@$f5VTrbKRfQBd&6X$D1xu`)ts--17tp@P? zZ|3UpwSeP%8Z)kLVxJ#S)niyry6PjItZGfyJE56tP4(Z^nj3s;UW){nxHYc=Ki3+u zKqXF@-TQx08MA+|h~?YC(w3I{N3$I%*Idl55zLUN0u^mDs#L`6AMC1aDD{F{|HyPZ zF_LbV;BdEqzZB?WAieCYcpY~hbj_&lGGwWrB_tj6O4`lz0c7=VCG@i9et@A=>J+-q zbw|zL)g3E+cj!vUiCg+*I@)!Ibi7JzGJE#_sxqbwzwcs-0zXO5-TVJine8R%-|>0t zKX~tD$HZ*9hHXVB9*xg2Xz$p19vB+KfX<&QAz3??ox$u#2Tk%FG`pcP(@VCZMuX?= zSfL=TpU%q0ZQ+`i0(T7TkHtACRH?p(;(qBouj+W4pR|^?XkJ_9#d=LQ*l)9c1tIqj zE<4NSZD-L_GoHoRg>_ZF?RQ1h-sk0pP?s2JJ9!?{i+qU3A>1289Yg&X-C7KFNF+TtK{k4h zJLC`8G{?xx%>ZCc{9v;Pd=aO~;1l*N*ZZ3DtAW?gvvXwS97|?T@2{fS*1h8q+JAIK zlN~;l(qBLfbXjkW zai^quEgHJ~y^LDQ$oX_I0&W~g!>;X0?-U9KMV+z!2^oq47g1xm z&tC|HJt#)){DR))wm>QsR=8m9ol6}QY~=!|3UsA)Jw1XaiH zFb_L)(TJT2oaC~gvSE~e0=b=)k!>jdhy{(#EWtwxcYoU`TwPc-o@pvO8CD5B0yIj? zTJW|BG?}tqaXI0RNdA1~wBhZLMSZrj(Z3sCb!w+NHA3%8c%C!cXkHwLX<1L-cGOg_ z8OpHDq`x9u!zR2K5;d09DS2t#B9pbhv4>YM_C#aWrxufv8=*~co6557Xr2^%Y-s~M zyFq2gCG8<4;*0YZF2hAkKs%>kgy-@m-#3ZHzO!}Xlnn{iq}(Q6*YF1BeP->T`EL6mrkuKLtC#1**#9_Cv9KKI3h9K*NPFISeISe=8&U#M%yi( zLGsg>h_c2V>-sc3zSEyK2jAxhV!L|WkS`vmub}+?!PL%MZ3JCZ*(I#T>|%jXg?ZfaOzxy0Zj~jd3ax&=$de4k_SPq4^7b*ih~Yl& z-D0DsQC7R>y)cQk#-C8c_lc;9DyI89{;W#1eveIXvVSiV-=ZsA4)U9gZ|R<;LJ!CH zbVppaCtbEDGx7VC4Ta?XZ2bQ2T4mc2-y8czRKc34vUk@j_Tl(m3$`Mn3o4aT5H#<{*bE=NxIJ)uYiA;QBX5h2Ww{9emjc;V9xqCLrO6s0V0HmMf z!5MzOQ%1WdAh{l>97J4RNacg|AgMsSL%7Ni#tH^px)gM(hX*cVZ2)pNznz9%Q5bR$BfME?cKE=|vVJvyMDt)(! zoscSniyu$EbJe=m-I40#wXq#HK9QX%YUR{Tncn$Nd3|~D?&K>|R%7+r^KybqON2ls zzB$#p*%aW-x+X6h-`qPowaK~#YhkJVprP$0taH+-3|Hh1v5}lQPh4_8{z*t#EKkOl zg%72csHVE)36xydNTXw%xTN*5!UC66TTG&nN}}Dk)+;lORgBuaBmVtq@rM@2x64z) zf#xvCC4lB|t@iXZY}m3}*VjS7xhG>wS?bp$coiz^U8|hE)3{1!xU}sdbNi*IEZf4yx7pR-1dnMSuBK{nLiu+BFdbS!>lZ-WDCwI13f76O0dopFrkroP-M;V*2!F8 zw}d0r+G)6*v^i<_6~qQjvun8YrW)S13i-_jzxC%C&Z@_RZc-XjI4KfX&@`{O&YelbWMlF-RX`gDuMO8UCv zJrdpaSVUV_q2ByKN-?6Vbv~`fE_w*v=3#VTZ&np~dpjY%S)(xjIb_HN(>5+FDZajJ zXiqFJ`vLO1-8YW`lQ!0QbISVzGI>sTb^G9hhDwYJ-Tf}7e3K54cMtsFlu=XY9&IGxAN2ht8cb@mF*&Kdb#ElOB-~P(7pk%hZP$n&fuU0s5kJ~|Lj-ZTdf46_ zB)7NjkHykoBUw{LXZ)-Dd^I)Lj0Krp?yt5tUap8td}p?0XYrNwDo&90>CR2ke#CWz z%F-0ynM4=Z8A)*Ue*8y^;}1b@FtPs1UkX*2+Q%?El!GxHV>^{I61LZ~S$P8avhnRT z@okyMYg+mUMweo-hm1O1v{x7LY=>M=spYW_z0*YKm$44Lf3|(^neqJ{J+bun`QSFh zu|z`nBtPtVXHWdAboDk@+qS7XStrChA0PO&esOT9!)I(SbyqiZ4nT@7_HrYI{jPNn zCC^E}2u$9XH696^wzCDo(?7Kg{#i75Yx@{?XN=d6rz4eXP;k^Ac|`OB$r8G(vIr4DXOe%&&cWLe8sRgpru93Vvu5fiD6_I)a-00 z1u2i6*Np-5CV1cD#RDVy_aL?Qn#DZi`v>40(wdOY4f3+%j6mi<6;k7TT^Lrl{8(!5?&58wXvuywWA@ zA6y)*>zSm3YNw)lW8av*i+~x2 z2AIRcg!qBnY~uC0=K++uS%kZ4>#{Q&2vk8ZCONFdW) zHws+4C(~}^A~TBgp-BGwOkS{v43RVV^|J3Cyl-rxzc$9v)t;i&vz_7XRVz1ZJ0P8W z-rubj672r6u^=sf z1eU@lHQh_|JmUjhR(ROgwhgXF&+r=yYub!Q+M!SDVH+)nUu3i#EX+S@v>f!K<>1(I zX?$lzHDF}%=enxvN_);lb`M;)H#}xUnNt!RxJ58?aA{oFu-!C(wwTWc`Z=nyS*OJR zgt1E{t_k(3*NL`?X3sZh@PnxeyVIw>rrOX9PV*&7Go0n5mu4T({3fumjt?`sj)Jk= zV8qgIwxQ=tNmEsCEd3gn-x-m3tyLBzwIu&>o73EViChAUBsq`aGcX$$491oNO)bNB$Fs{1 zG%X)){<3guHGiaOQ8^3IqFavH0C^ZWSD+WeZWh>;V^Jb!3FnfVd@N-RX)s*N zoL{UfuBHQegZkdV`lu*Lt#d(nf8Z$SS%nh?tP$9i(=r^DVQ>ykPTJbz)YFzpkzg*Y z%gUN9HHcs1itf(*cjjrMH__SVS{M71DZQEH2k8N=;Vl8!EP-7r2R#_>Gmrq>LdC>V z$5%a*Cfkw7Kt5`Nv(XdfEI&X`X~pABHQqjjYfdy$PZz@w4x6J`L6weUgqnD8V$1M? z_`y?kb=I+&BKMyf(ejQm^N{$L@u0dGso!%=DDhl&`M$rI-Chsm!U@5D(Kv6Rh^4`fAP(`J zf1dnOKsP9JbS6LK)ZHmKvz6es&an?3^kDLI85|UWct}+Wz_e&Bf8ppmjiU)4H6)b{ zj^^)+k@j^v;poSr$CIsF&BF43c zxH$72RfJUSP_1!Omnk=12*pQ4A6FGM5mFib%N-!0TcC2mc0%ohB!!AH=~S+E^m!Hk zSo86QcD{$gx}TADxEyMN%Q4H)rVECTMJs05()cN3B&;&aYX4?l`pXVTiNFE{C$Opu zXH*g~C=wBMbU1$-1F)R-!M(6yg-ojrIZv~Vi0t_4hWZk36dDZK#y@;(b+4qoG#-((1S(#f^ z=G$(q&fOwQDMJhoIcC$>6Yg%LyJO!@-=MHWWKMrl!IW;zAuhl5wUsP!+1<{@8t;J) z&Vx1+-^CdUz+kT$;_u}kJP4BoPh(Pd7Pt}@luOa!N+~+vq$pCCgmNj0RBYMDy@A=5 zebC2CRE#nQ_%ey=g}h(nd^QxV-{o+MMC)wY;fmM92Tp8}rmeOfJx{VBqRRqzW#ZdE zn`wE7I|UcV54AOBTOL~6atJLTzI}20;2r23l@il zC@X}IRdaT_`SkX3$+HQ14VwuBJ;Ua2pYi)Jy_LJc^x4u0`P=?*eim98=&Auc61iU?{DK8h>eR| z?iU3&ERJu!x_AqyuE5Gv?Be>{DTToWc25S5ygg>*jqCtid6?tbEEp6d4#`C+sw_dc?zc8SMG?i3`XpV@4^eEbyr=b z3(7;BSQYgAfNkecjGZOsA+{Y4MAn?Gzims`wGJrL>XQnKEt-cGh(4c3Fxxl`$}?R9 zVl~NtLF&i-0-(b2=5EdNXed2}8>|TL_yBbZ@LoUPj~4N;jYde zQcQM+NB(-oBD|ORBUgJ(yob*9nBW|)i}uMqZZ({Ez!p!{g*TMQ-p+!x!U>~@uia2} zRI_pF0u#wS|BO-Cf6d1PG>5irFl@?g=U!*A$>3SP?tNB$@#Ou6CF|a2{koTPyIS{- z(8OS&iA=aRKmwqh?j_W|rgn_y{!BNlg9y@1O-cl*o=F1vPPXG+JdZsACI2w^YevA` zRa85wz`4Z&=n!^ZWE!exY99T@RN7oCpa%>S#^_Kx?-y4WE)zg{4G!^JB||zEOwL2( zG$1hp!imNqZ=cxUU=$wl$RAZSM+Vkbl-BB1djh^&Pb){;oFs-mPqWk8=pFHte)TVF zAp}FX=3OAVCKxY$k+wPGmbD%xD93S}Dp;oE9F1eC?tvDnECyLvYN7fp3)SOUs0MHT zBNaP`!&v$zXz8Ke#iSZCOX0L~Qv_<2io0Ye7U4m4@U=PAP5j89%i9*c^pqd@x|juP zYiY{YHbZGL=g?lbTDHjY8N2w#@iBZKyt95g2!_u3>l6;X803`ijmKY7IP_vr7{k;N z@}Up(1i?JB8kF9$cpWw+El5$>*R_te@rJ5= zEJp8B;5c4rj9$llErC;*>B6TgT&z#_XKQ)U);z0xSwqz!0+6e!M@;)AOlRIMI19V< zq&879_Hak!IGjj8BY!Rcan_%_j>jelw%r7Zaxg(Fw95nP^lsP^ zRj^`f6E*fzU}97#_OP9KqWdPn%e<+{^V--L z*wwKM6tqmLm2WC-5er_6@&ToB=iTN3~An$pg0LGu8k+ z5*5!ZHjpcGc(uI8a(FG)r(J00lPi}>14Mi3U@9@F|jZQe(N# zZv7dJj#oaO-)OX` zF2pOz-;M;UP(X?;-^S=H(aSM`m@EHj5;RlF=s`6lts=F=xt^K@p5FF7+-w&3i7U~i zI-+HI04ikduT+xs5BNkYnTM;Xf}++dT?=qERg8BvRWUjiS5t)`bAP&z0BAC)Da1Y< zm>kowRHg766vT4JQV}8lRa)zSNGPOxh|AhvVe?)cCP?oht~3f#kLo+J=4B=aC9*7o zvQH*EW2wSbw4&~^L3VMmUMGRld#z^ujW$Z0nU{4=Q%;SwQKQ!aSxeEa^RbT4i3FQ= zQpj@3?~`2H1*#N_%O~Q}N(l%YtT>ebeVPYzr zGb`_eHpwP}#OrFJ4TEMHYvjl6YFzroqVlt>QDQQB4r$bsn`OTvxf%Q}GgAS2bATCP zB@wpIcX+Ih=ZT{E6?B@vsR5CfS~RBjl!kPQeu#JKvuxsW(f=S0NMn&E*6PvxH1%?M z4o*BLm4~&-{DH0+Y0!;Onr*`;6-poEZXbyrYYUcR4R?BKIs?E->4Bd+#&>T`rVlB< z6vx4)_@UOb*0m1)2|2=U3c3fk!5S*rj!i>kQ`J8%d|+McA`g9Qv^9yjIqZh!5~X2JqKwvFb?cHoB1+kOXyE7ZwyxLX6e`v7NQ=YLzW7 zQUuxv_uk*ml(&x(!*=!u|ie{UE;wp`(hn{Tw?SvOA(DHCcZa(gc}&1_$QGm zcHbQ~xYd{35Fbn5Y@dVnIT%Z~*r$39@^r1J(!6>G>*C=FdcaN6#|d}ijV9})So-)P zjHdJWG=eNy(ltT73m12smWR8Q>^C9Xa-Yv2CjR151`{rpxd zBN#lr>KLq=X`63&yu<*mBdDEr+_7lgqv{sVd*?dHDsElYkrw}P1wja<%iedV7Zp2ARCEstOf#eNDv@p^zg(;&Ux0&|r{-hATDGcN<2!UqFmLRPb$HhPdJY<; zvHj_}kgJ_gPUn4_>@#+cBD&J^NTQ2vYhoWUMImFkG&cTsi#k1Voy(i*xx{nCTf`9$ zZcyS{R+0i#O1wddpRvTYm&G1VUq@=}8|h2<;jYfA$m*yW#T;tLfpXMtKksir>ncM_ zDn=tffe^{xz&t!25yNu2!}6B#iH7CKeb$6!Vd4zmK1aTxE)dboHykQk`ssv zeeH~_Ae~2a@cvIx$+|~H@v*Aa^L#MUc;{(e>ew3(Iw0aJ z#!XtcZItLZ!&+$bhxA5uS|mZU7AcUtF>7t^)(n(QUq)QFW)>%>Xv19E0KY_o#mr~N z?#WOD8lT}JK*`Ion9!PfZD%rni8l0wn=5E&HocI_l<_1oI&mHLec>kCD_zxnI)!*P zMn98QBhQN&uJo~0$qUBAR&}1jw4C|W?fX;F2D;zDP(s$Ag-bABgf(zjfPJQiqv{%4 zZ`C)&M_YOOwVwI9sdkh4COKQnSMJ8UvsievR9I=Wemr)n*y%HKSa;HFR^*3?)a4|q zkp*UbqGEaKQdw(bROTVhw5oO$BZ>`ucGKtPB1ETpW`R$6>ve>%{Codk?BNa7?KEnj zs;3Iyof@4X)Cqq!?PKXC2-EMLMgVb{r&dCU>Xr-Y$?L4Jx$?5&OkI{zfX0O=V|{a- zqhe}!ktZH3Cu*DrKANr(IbG8}bfwkcx05L8jGjh)5XrO!eRn$d-{S+2zqj>LJn5o`)KQ z71iUFLgedF;`e!;yHM zhBxm$i4TNBw4Ok6wV7|w)DE)8bI1}`rPiDjNuKXAE~|5UyUPbMHy+^Cuf;bWxbsRB zz{T+cx3{o)wzy^B&Q}!P7-q)hhMtqx1ZQ|~y&?a;J8=^w|GwMLw)}g!ll0V_D%T8{ zt5X1`-UL(UH!!ts2+cOpe3s8jd~sr4tw?QgumzIo?fui7%<{f6ywC9k>dfUKySxW4 z=J~y+>}Nafr>UN*)DJ1Qt1v%1-RN*dUG~lO+}RJl$Hiv$rRY=S8n!ks7TA@qe?SBBeQ&dce399r|$DIhfU)&%zsOIDFmb zZO1Z=m9wLUaZclQK91BQ=WA#hUC;A$eKQAyOIwHe8pbw!rU{P`Q4>{3<@d6GQifjm zImk`a$QNkjZ^Jb9G{!fwibiVvMXPYd^+>YvkX*2}LNxykl6?Yk`;l|DcC!X#Ya4Lk zLC|PM=Is0kBi(;3kX;|SD7#@urDG9Ct0)>oEselo0Jyc!I#%f=I+WibFu^$xbI47< z4z?&v4K79v$iENv^o+^baegJv(U>741y*UFYOwXkZ*vf|pJH&{E05h{;iM zmVpXG3s2V#c4(#3nLyB%WbqP|{MDGoj7(bCmzjXdO@r^!y!T?J!6GyrTX#fn=AAhP z6RS916N){dlAX|h`E8(|tuy5SJE7u{IRiewvkuA(TzMS6SY?(Zm$%t*--K4d^e42w z47w#2ph>snM9Jb8eA(Op5}3Rt0O)2Gd*ET(8o%!1C-lrS!@lzOGD-I@Bc}E+eMx%X zEOVIND>@|q0b5nWcl0&u-J$&3Ey9e2I1`3`yWed$f<*Hv^`do*?~?ZM=E5Q=+Nr+O zsEU3lj=QSlOiR$zpbMweUlhFR#n>ByKmXAcDkJ z?NX1L(US9Y|B9R;zCJAEjE*w>nOW4m!K)m{r3P!|JJMl2qzo88y?L@E`mVW0bTkXx zCI=)f5S`Vj)`O8mbLvqgMcS_Ptu6Z38nPvTOl1##g>I^ZQJCh-!<*Oos;!`Hwl;K` zNph?%e>y$vE3iFDsuV2?Z=QHhQWz=u6=*_kqY|lVhVQ`Cq#-kE@kVg1v9TTt7AN0F zIcJ|QTfZNB4aJhLomzs|u;fD{D__G&dc$ze$v0fuhD&!_+K$@zSUYEYqOF*J<`U%u zHo@YZb(KsCZPcNCVujtNb-gz(e7+~PqbFm_rLskn#^$(VHJaX@$8WPvryq`>rJ{_v zqvfGvn19dnCC=aYb2gs`qog}t)9zNta91b{3uI*)U7-scReNcjRW<7W|)v4SAk`MsFab ze^yP;(beRX!K=nO71KOSy(_dRjjkj@t_S_mn?pDpH|f2gya7ByNLnm*?*_}L5B(dn zB1eN?+EBY}v8AnUD1jX_L@jqybS{|RAuomc$T2ale?paHXA0$r++eMChcUzwtui8!aqRcbRR6e-{2O+?gdD%F$&811;O;8cfjM zNyFITJs%fDOw&wp=AvH|L@pbH^%hyh-gc|zit>^#x01=Z#PZTpw;Ee)@$INL-0ygS zJ5GYP@0leM#L{ns-*A0&&J=k4>sqMfMWLLUNtO5!M1nXKKrItkuPzBJPrw2dTZ3kX z#JTS-BMwt1mHC3mFVF0Yy#2vD$re%VXQ5`Op5IJOZb2$e_qU41?!Dj0%4=3!Oh3gk zEjHhvJLcK4A?k{a?1}%MnAl}oz;oXInALD$O)=V6fhWnJm6gh;f;_i0=&ruf@5uZH zn)H9zEbvt3ScU^B?Uh*1%rqVqc(83x;bpW`D2%V)6kOPeU5N7SaltU*&6U*}7QCTu znuZQC%hN``qw^bd`RrYMjrv%A?G%YT)iDi)3cuGei&sw`@q_)Qtn~ntgC?Q%L1bXC znmhflRdlF|g?PYa)^f{*k93%WQDpZf(z}{x7(SD5^?**k|7f^*7+_>hJ;M!_rY-kA zGmRW}?1NIq*aJMLYpbQ$*2kyy4o=J7I5K5-HhFjoqlP^7g1n79y}?Y&mN9qzk<9O= zJf%m_{P_?Eb3~ODFGs@+HA66LY`-567hl$(P&x$roNl{~J!e z-04rg+)jb*F|sC3aCl zcPx~wW;*p`(Xp=$?Em$1y*kV?;JT15ZG)4-5nm2Z)-yzoKUwiTZ4qhDsXX$x7D?CJ z&eT8Kms#CP7cmob)C45 z{SHXk8BctO+}YYEZsn(YNQGtw{I$mWR$Py}dX!{2vbFYA^EgCnUrpkiypBR}hc~(H zfUF%N1NcusyStCrympy#f|)g#As335Lo)QLjh-ZOoa`PTduHYV{+69LnWdUgZ25`g zEC=eCPIajA!w6=^eoqpQ(opeAv;(S{Wp#c|}-nTY1Qe%7&c2RsEY$%e&k4F|&ie#rV%* z4e0K)`1R%S_bC4ci{HrKlmTuSn=U#+KtamJ4|ukm7rYC+?d3CX=HzXM^H6zPvtLU9?3`mo7-YItopyAlHGfxXZ0xkDT+2uz{i8WW$o%rVZ1@VznOT7CX zG8%>2oyvSOb@Odps@4y7ctN0D18?ikZLtG0Be}y=+Y}w;@7=d?DKfuicNeQf@=N*3 zDXv@C*)BhJBi(i`xbLi2ryeBcI3M!{i|LuaJ9DsGAZ<@aS(lU0EkL}_#9#d@GVBmf zK~yD9(cjqmM`1TYHL?31B$WRm84X1yYP>UENN~$nFqSyEz%2@_jr6a-*&3Qpkw3V2 zI%Hp7m#NCUnY&l8+}dWv&JQCs7DPv=xqCBz@_I)#rx4nu?e*AY+!iBj{~2sUC>ELO zsc|y0CaO{nRH|p1gEj?d8*)cTXo_y-@7-r{(JQ~ksft+k{J966*?1WVxO)2KzoB!)CHy>GpU=nF(l_>bcnJ;l!U!1i%b&y$X2JJ%L5VHHJZ| zC)%w>k68x;1e>X82GZPr=chzxIoVt6fOfh ziFV_u_9eFvwAYnJML;e5Mg@vGyVb>x#gMII`8QI!WDXKp)F)vxQlLQi%2zDCKG-%T z5?O3pHN5MsK1&7eLUR?82o4LqNkhVH!BA*5r82v7o~Xh5_$=~%emkXh@;~y3$}>|x z1lXfyYB#bT)DW(nJN83(xE3g@7F%~DPA2kqihLFrVPtjTin3AoBT_0y;cknWU=;R~ zV56{bvR#>~PJU2v8r}Ij#W^L$RcG3j?xi8im{XDe0NJ93wr*I&uQYM&B}R1P$LPjS z@J=&GBsf@%T?Df6cER}oCG)PHNUUDeMuC?u1cc9)-y-cxiyveUNfDi{kL&JAl+Z-piPY) zdur3~+w3JRJa5*A*_8@d{|)OW*oisQ%+eM zcQo9NA(iGXQ)>L&<$2q1*gsl4S@wa$n!sWme^6tsICu1(XoqcWC>(VHJ1)&p7sZsF zEE~GB(N2~Pp=Il2*`Q9Ak#Cn{Q?B4vYn{PkgnQ_gGkj2gV>w*?}=OeC@!P2ooL{(*b=~uRkz$3_@2P7~2Oe{DCpw z08?k9`R}9HKrZCCof+H5nXzA%_aw72mkQ*+WZCwX-rRsIb*a{Hd+`$OTQj%pvH`KI zIn@)hAyGTOuS*OR-%-X1AHfG7=G^XN>VC74b^LRcYw}?T(+YA~SUazh~*tnI4 z=1i9mJi%Q|Op!ta0`4m(I9XzXF;BLNF`ej8IGojUGZ*bVP9laZYZ z3u)C}xv5cxb6ds48n)YIkZj9q!>mN~=3@eS75OH#{fQ^d_Sf&vh4o9g?pS45vRl&c z&xP&7`gef5@F)fp<=Je44M}KCWR32Ri`v|^`~6y>Zk5uoRZ=nAvNh9kFtiWO6Wqj^ z+LvgXeUue&ub?l)_N;@22P4Ug{i4~c_rbLIF#0+jX6qYcWF5w}gHrt*l)9K<;&J?l zWD$qSbY)rkE#MKF{OU_ItUN9SG2#Fz^#KFS<_?60rX!lWKk%2yA`nXEgPf(BnV_oI zVSJPlVt_(pPRV*A)y)+@O%q*}yPne)DV;w#%6PHt46o>wY&X!tAz}-l8%Jz4Z{%I8zTTdOPaqc6Vr#q%W{nlKy5Zx^BEpbX z1@w`z6O_;Fw!1=#w^rDxlLwR#A1wNM3{GLb8=CU_R9|CJq}7crXEnlu!Y}u`1Dtp| zU7pQ~)V+p?vC)EinDMFG>Iy&$^;E;31ZjamaKstu`dnnmf`|$joRyPoMt4-Q$aklUEN;9=PKRBS>Y1Dx9K8`UrtFw(5aq5$$j={0 z4Ib%M$Ud#ha={hcq&+y56-z_J(mWg2dZp$_ZXN~v^Fl|u_2G7@IU;qQQnZ6h3%m7^ zyPgkdmRqP4eJDjAVKeu{$Ey4)SUt67n(N20*- zRGwLh@5vw>-kxk59g9*+8i5~4+R-x^?ENTzAH`CmQB_vu!A4q2A@-6RG-W;W0utzgqyI3 z;6#elEe(tE+r^oEIR5*$*xZ>(FT-*qJM*UN6zHQViTB%kK$ zVH|9dXJq5E`+=q=G`c{4`g&#IU;ed-0^(&b>g-RiAX<%0J*rRxN7qlzKA>Rg?guuj zfpue+r|@*velzK-Nz86imc=cdcTCB4DVSLfEMcLQZ-|e9N-Bn8;*zCv#VAfe5q7H@Bb=E1qYr4|6 zlA=q#(l-;R?5XO)!mLH>aDeq{U6r-d5!r)~zrV_I;GppB?2UDq2b9&(Syg5?S<&h+ zyLAxb?d7gdvK?JQ!J(bGKfO~QmS?QPkQ=jJa9z;UQh)n5N}&5KgSD$meS;5W9}u%N-ME3OxYkOh`4V|8ThZ&SQ;HM>onnFlT-3#zQe zX43k~Zqnb(CSjEAQtb;2P{vW){u-aj&21wq9ag8!iyvQo6B8B}X3QTzE#KJHvN>xw z>3tzK*IkDiCEZwQdO+~u$Md@48=qn&xv|)BuA7@0aGH#{aF#8&jq@7{kB#SV!_jcJ zg}f<}FUNN+W0ZBRs)^o=ENSl6U#?ioT9TLyz8C#D){=?OE*t;rQx;#BeL%@@f%+@e zx}NRpEYdg|U+?-qv(b7Sq21XT#|zn7SKH7TZ_jpF$>kkcquc@ps13sXg^UfuY|DDb zRb8{6Q1@roZ@R>oq&?fxk*Pf;bKNPm`8m`DP<6n$)`3*gwaGX#&i!B_>tY)Sw@=v< zZ@(%3NdfZg-4t)Q<26qBty?S(yK~B(bQ6#o3X@$R7TfWFB06tucZFgPSEIyr_<_M& z)h!L7^wfDXoqf29D?Jn_R~-$g*s_YdEp%*g5|JPh*A%x9$l$W zf=%fSRrs!1g3X8)%9vc`<{~n!>(ewAs?m#bo0;xVVR9So_ekzm_*4tynIBT1c99w zdujX-N9nYGAMGHU8PV~lA~49JF*Vw-x|RFRZwl`L&~)u}?)=*&d35>Kva0>Jv4AJk zTs5D2!EYOEpe%O`S*3quwO3i`Gq`MVbq;NqqBihUlN+mcS8g4kKwr$Z5CPhmw%rKQ$p~%2@upt26l!j zkd*wAyUX%HYwjRT#jCq%rs!`iopuzUpR>X~D;^kmJO57d{u%ryY<(qpKZDWm|6lT! zk!JA(z&&Zqef#lB3h6ahSh#{jV^OhV$dn!0iDS!WU88*4SUlkpzIysj_1FTfqy`Jq z{09fe2f>899aghK#R2C4cEsg_ndR6L4v>ah5jRnBeQpbDFkH#;FyR_ZGF&~kZl~CS zEAnKP^U{4nN8IdhDXyQ;2m!PxRaSVWh@oF$&>bUZccn9H`OVmqptMa5l( zAA0^GHZ?|IcaRVnp$MQJCF>tuv-ILOB@YsD(KcYhA+A`z;y?g4RCI9 z6MGgH8RZ(ZlLWjJW0GJwc#o$3ck=$*Say!41}D$Abx#cab4Jj4*tmf+Pg7Wu#z*T4 zc$HJPfcM^Zq#Q89bjKz;Q!+Eh-bf_o{IpmRDO0_vND*L&?q)nejaOqr-#Xj+kke=J*s z$bU*u-4QX;POC%`q3)6VMSoPXK@q^7r7*uUBnbFz81y)7@i>spaL}bNB^;&}aj07B z-^~^d1^fq1&J!N9uJXOGjOyInkse}}@l4Y-NI3PV{?@`Mrv>lkYy?xVBH$Ivno8@d zu5d8xJ_qMSMHc3u-meK%H1#!Qh?awy^|yd&=7`NiAZiSgAN}s7F^QRSHt2xVIy`DQ zhpv_QooK=bPnVMD{O+uWT8tM*APz%K-e(Btw>iYCUHf0GR_37@=^ouJ=_xTe)3GU_ z?GAw&hd_-xdGxOvI0|EE2PCei_+OR=&?8<0tiVxvP_j=8N*5OSyP@vCg!Btdn45rxc zND)qE8b{q?n(N{;8&x8fz~Hg`+Za7;9Wg%QvW3;F}Sx zpmg23$EpIQ!cWO?d@Ox$5g*4obN>c>CYR$A^2@~d{5w2chEGvsmKaDP^J(9Y`Afmp zQD>4-=QCW%b&NhMQm0M+0wHxKJL*iH7#m$O`FCKmjp;o2NdW@dNOALmNfkFWu~R5)(MH1QS>{KqKQn^Au&v9OD4&d(J9&Pndnr@vQ@0%%VFet`DrzN+|=s_(w4`Fe)6urr={ol2w#?l-x=bx+%H*1y>gSd zkjv0iTiZFI*^!;G(XP!afp3aduoqV9tQniGstbFiJqg47wFrmc0CSCYt93RlxFwJG z$Yq4qMK2L{?O+gknOgT)EO_N)dGu})(x3E?GXlkswawzJxrBl#z&2`eYq&R^JAq3j#aWBZ%<2M5F$;)$@09tm7X6U$~g?RJpW`Oi!H36^cvL#K_u@ zjZIge@cyx=Xi#`hzqMTm6APUrs@Dsf2P4s5`a1Z#RMgO1B z=2S5gm_JZT|M%B6G)`{hb+3Uhu+)12utw&1bk4#WrCpUiTP!bJF$Olg$ z_>I&#wTC88GsMgGH@lUKfwK1)fQv73aL^R$SF~S1lQBzfX*dI@yx89ppcp090kej9Ra zBgrV-xgKF2AIbIE?{IFf{RX*x_RGr5NAtRQ*Ps&j*);)DBHkq-0A=?YHe${rJ-Qv%nv zWCu~&OimZl9s?LrGQ}g(Mj?;LkPr!qh#baaY+_snkH%%=--QcYo{B{C9H?Pf7+F9{ zYpyctTpS<1nD#iL92=L$uA}I(`R~W2rkpz95h9X=I?oSG6Dq+=qO$U6RPO)#QJGwj z0j(-3cA^ujqT(m|v??lw0-vg=I7*x5e&p&%o_TOf?6gxO<3pu`|9gWbkpY7G=ec=S zP7$fW%NbCNx++Vzz3(Hb(aYNw5M-EWU~07N93-<|G+;<>1{~vnIf@CY6No#T`Ln<# zj*0T$s_MCrU8p=I!-~!_at=M!(`?QKM{45rsemw2o=a)9f9590tz=Hc>zbJ!Q}db& z|67St2y%+hk+WVnPRm-Ri8rc>_e9!_`#q{MFBPxO@olqPcHRImm~YYA3q$a8KthC7 z8%0=tL|ALhscM;HT%#t&!tPm%F%d*(^S3{K|ED+y1Hx4z!=T$<_@D0&Sb@oKf4K3Pm+YP6<}bAP)us`KZAsL=i9Ms~uGTjGfMe(4>oKQkWui%QrewccB(+CQeRs@H+PXbuc7cilAomdlqbcqw9ks_MbwK`R76&D zd8mRCvwPoxR~*wJDY&d=hz>wJ57n~EDz7I6^{x@KSf3t0 zdngrusJ=j-^x-|vo0&YNfD0e#yttU^;bC%VK2w-?6=7cuOnLDhu6ShVFqaN8m)g~j zoPD>k#tr|&xB}kTllsNw*_m4;=-R?A1p@8_PM{hWMtU=L#tDqbTA}afa(gr6&| zm&%d4U8y_b4O8PYIv=0fGOH{8$GQe0{uqKNVflJt3E=)B{?#7;^L>hr#=DkLdygtV z(N+Eex98F4!F@1cYE=6wlLHyu3cvBqW|`^-I-@}dWr3?If zmza0dMWy5}e-OSh|6KC3h4I2zW}Si|`7%cxvtG6*9$c{}o^RL_|Miu7;)Ub(#D`zI zC;ppBd*Z)cx+nf@^`7|1>-NNd7u^&8J$e67wI_b~5<0w=u0MFu+CA}~RuMXMF`=gw zH~30I&rBvX^eRHXs#&#e$vIHs)OY&ZfpA0Pvs#NiJLAXm73%*tvZKXIx$)rA=sePO zzQDfoUr_1P`Bo^Wzsu+-GE1 zyp=*WTOXmR640@Zt^D;LZI>W+PKkAViztQKV*H&I>(I%~{Fhzi%iKjQB%GQ^=KskR z?&BxX0u%+>W)S$cV&)O(u|VNN1b?F7IRt*HKy~5z{&?L2f`x0s!0W=mk}z-yf%BDT z0fD;}IFrC-3YOZ?b zx)9RpU!j>7$Osp3v$VLi7miI=pzv}R@us!2Ai37V!N1X|gthPv9w0nsP*f)a{CKuZ ztg~|}Z8inL4Q&ejQR@hbIvqaL6jz;zsIoNmDzLg$oIKqsUF6bY>EPWJ1$bwSZ2DJf z($R(B&g$gkpqZkDXwXst!RHn}ni#a8AMT9*^;hk1`CrQtCs_CYs{K3e9s${9-8isS zQN33h&^0i8v02SBi4z`$X8>6?DIR`bttJ!3U#%&CjcNr_^#8b11BMq-FTBh&z*=wX zko_)Li1KY-T1R+a5dSCD(Om63PUqwf-&>8}Wi^n*NBF!{pHZa|;~4L2 za3TOEjahVvGcB!S78ghPThEz?Mbbl;a*a~_1+*|*0y>8JtMg#v6I5w`IQ7x7!2 zXyp1o*XEmPGwb4d-ScguZ!)8?fPu(9uHb{zy29r}YLK92$S6%WOq;wKX9=}ons4_C zwc&rxgxQ=)D1VX@m#HZ_03rMpnO zNRb#H`WyigMES&YmOI(zx!oGX+$0s%ZzMAKf{kiN;vrw@R|NS~AiEJSB~v4wT?rLh z_qavG4^P*~%T!yYRL{a}g!*vF*smSPuu1+Gu5M$`()TDlD*n8^f5?x zs+lV0WX+(Oc}b&aOOf-OkrO^RlNDip32oz=he*#0z$~`s_*?@qG^I2CVEZi(#tPHQ zBEbK_FT5QJxpERqmimQv5U0(Wa3iI9Py1O!)ySPhR}62PK~{CxHr17lZ*%EY{U(Lf zP1d{9s`L<<*ec4rtAh_Fl_ZB>peeA#RX`11|0?4avekz9Cy&n`y}gwG83Uj4Y}$;rukqAT@{THVMm`_m^I%DQid@nj~O zx1#>xr$Xn7EG1D=ZWW{f_23ocPM6h;%V4W@3lT;U4}C((2159FmuznQ_Rdl;|L;y=j-j9vso#@L-Mh8VPQ5@zsSB@Xxc63tPHNtf*1L z8pK9Y;axxMtHSIdQ9nv*a07pcQ-4ZCe@t=9_~X0!sQl-V7UpA^QMSit9j`qB^(Azt zuwbY+>1w-rE?m~cgs#N#$>bl+>Y?G|BZl1SVm~n#r#} zFH`nvvKKgi!i8E|?&_)4NbnoH3vKE*h(G7cHQ?)|dbLRv{E5O7ph=QzNZ444HT%9= zu5!JUGa5;G(yn9h@roL6;|q?G2!<6*zTyCGV+h{K#KZk@29_iK)k>xSk8D?Jk zAYh@VZqJS6QvcX;Zx)NmXNg!Q(nP!Be7i>eJ32gt%JDrOd|g>n_f8SU-#NdWM*qbZ zm0M+wDUCn}X-G%}&oGexN;>64TCP=6u#S?h;$ISFOOy{AFl`H11MA?ft0*=F6S?o? ztI1I!kSPYD6U}_LlpCW&s4m& zLauhMmW)9+AW9W3^9}D)QfEblT73pdm)iit!o^N7uTsaEk_xmK4z8pKR4V0t zqheP&6f8$$v7WC|s7J}uT|ERfMk=uS{ep5bX#E@foTv$!uhKSLJ&D%%3l-R9P?9(E zVxQ5Ml}G2Y(|Spkv$LjQj%Oo^yWPZlbp87{JOXNSYKcOTSUSf?@IU{8 zaVb8s4*xMe6VGl4E(SAfU5T@UlL?u=m>NA*Uh@KlGR-s?!YZuv6|C7CeA+=m%5vjC zVrK~P8$L%Hj%y)+{Ijs6=2h&)(-oQ1A3r#57HhrxWVFJMNpttuc4*QF-VDb-?q~)!=fuE{JvLdUD?lv5pOVOw<)OreH>=8F_}lv zML^7otX(7iBR}MyRTHwTt&yI^|1IPNpFuQ463;*(G%&|3`(RmFC-aQ{ls!mF{tv|2 z(_{DM2}xAYzZx|!!G@hwoZn%E4Q`?T+ z=s!PqtVYiPaRYPAMn6_omYPISPq1H*lGh5zmPqxB!Sdc``7|Neai@HYH1_?{A>$D}Y_N3BWbU8wEIm6c8_nns=Xx z080hT*n!msV5`Nht#7b1iDvJ3$*%i8BrtJx78Om6b!h8^(DYcxtu8bv*6}Vv`QN$j zy*Y6_$se&!zJ^YIjOdC^O}_e=9q~#o3!j*C-$9DNCeMXTQ`b5LwK#bdwI`G&W-qJ@ z*FeK#R`VoF5Zi!0d`*%&Qijly@G>;fZzceCG5w2te|fn?(9oVpBY&G&k9Wmqq#~TJ zLM1KSEq!tA>dIio8dI~> zg{A^x2?{tyS7g9eYhzsnNfQ?%t-d2!bW4K}7VnIk$EMMZWZI`p&1Cu;=Z_!I1i{mG z{ozyb5&t}EGlK6WC~tc|(Z$lbMa55cv5q%8R`_Tv{b~GdbD9F>%cb>2*k?8)4hWn7 zh=l@H3rKLJFlz=xxhUJ{I+9vNd^2eL;T%iSLRWoUf3Ewjo8z;%$>KSKeY(&;vim{^gfLMfa(8=U2IY;%rJJ*nAvw z)qpHqD{K%Rz9p7^id>+eqW)0{8=Uj>_FsIvC?+uFbAown{ESl`bYfuv`J(^BaP^r5 zr#!Rq?bluA4cua74XEKo4w>G48@5{;p0UPQ0XNWZmy0V=)R0le{>P2Or(6O z9yOg`X=*n5)lgTjbf*hN(=D^rTe0*DFm}n{lzF_SWqVhA+gPOi(n#{Rsn%^(Z8Jz# zA6bhU`K$3yOBt|wjj1%CX*x|}Om9<&);wVb>}_hNuicOLZAxf4L{2~6arsJu2m|V- zSo(eH`bxT70;}h*B}Z^AY!Hr()iOHRMD&TbuwRgf<%&y0x%(C-6H^UjMT)_y^X=6E;Vu(E!NNi z47Ll|3q>u8+@%dO=WXIAq@3clelF@w`DJKvoOtY3BYgW7@?5!Z-@-ARX_72S!Zwx` z6#03a5et`xevRi1M&9Bqksa$OIQ}rVqptWL)Mu-%u~8h&|A4gi);~;VK>v{6Dal$k zyc=awO3dbaYBJ`&kKpUBMY8iGwlX&)r<>_XMk*1DZjB^PutJ~o_2)mXRf*g(UPJs@ zx>?@*M)NljPfTO1@?wl;C-ASfk$tPa`i-4*!`QXz6>mKF8O~Amq-G09S4HqF|uv35_u^N2p zjmA&zn3BpE|3&llFb^;W}zA-F0@rwtx;| z5}}c9Y)FaFP|{a$ka>ZNvs4Us+hH#EG9kLxO$7L{bo?;+O#W3gh$q+TGq&w$@Y^>DQ~EspWjePc7p9ivf(Betj=MIpwJxRGN1$8&HWd*#D2gtn zh7h6`_vgz-%{W*3V7cwCW6tGO%iM}o??*hjE`|6KbB6;d;qT(M ztG&Dsf{*t;Q>*$?!9w}e9WKYiicC_GwXo)B=JD-gXT}dpP{3f^7M1@IFF@osh2MCT={p^MPqA<9P>`8jB@zoC zv=2;3`goUpG`f#B+s6&=W2t?-%YEQ;3xM<72RaiUm%0xfi3&Z93+lAY<48dse9pTP;2ayxDA+NK<%dW zcNR(H&^N4ZF&y%;o7i_*(j6}8GZQ5F_OBh^mcoY&h@(g`vGxkz)B;aqLy2M?&;fSn z9j%)?xprZZ9G*NqqqP%7SHv0R?!hq(K>=VCYdUPF2r`a{3tu*#h>wFm{o`LZHf+1{o3-}=a8GbkW{iizLA{FmFTy8(XP4f*ROi^ zikyGNcq#nTA2O)=yMQ5J;CUYXI?0kvifzC2>{xmMpJSG_i)*leC=#q(0>^hLPo{ou z@HMQc9-5VlJyx9x&d8*1B|Y`1{@xh-iUM z02}+4ruz=iPRo)13P}zHhnK-$m`SfO`1%`(b*5DQQGHBl`-iNh=?Pg#qqedUEWc<|Pw_Qe;jU6i#9?TZ#;k6++R4f^b0#nK&9o};$zrD;P` z+h8-PryRPWt`Br2^PeHeHAhp{l5IWR#jR9^HlghD^_i}l$;o|8`~}-qULxI)v1^>O zma@1@neE+E*XFy^dn1WcvKFl|^SCx#?XCNzU3)pEF=4{yE-Q>YUC*|9bI5udB1r`2 zdfk2&U%#w^sHoVp9VKyY+$`2PfM=2iQ&;#2C2UJDns1+Eqo;k*T)98iHMcLiEXe{< zsR<4$@cSCnqbT!JA@4q8=}Rf2Y3vnYS(t5>iyO~rP7c40apZ2jWEE}4+u|b5z*^oH+C1CU4B|TV51LTHcoUAjSWDzq5?^Bj9E6b;pg|@Dp z$v}eN0T6BpbilU366I`F&i5S)*mhF$@8A#Zqq&CeMHQrtbvBXg__Z!}-vxX)N~f%E zPcD+(M(p=hrS6I>Mq6*ZPSJm0XuE2pF7UpvsSCV@>#DuNRhxZ4EEL2kk*R%P@HHF& zeuRRSdu8n2uZQ7(h~4)E7dE8dQ&CzD*pyzW(sx%>dy%hJTM1S$tkzhLvoxwvMEx|4 z$Tx?zQS&8Xn40HJP;&@Cl?uRH1VHaX7D=nv%ZL>({fY!H3PYM)xYjYE2J#u)4(5GF z%m-b#;){ejl;I{SnDhG@3BVf$ll*4^W)9ey-9bGS@PxF|29(ySwC4$B(szrnDv;rR ztxfvkqAgbCWc{MDzC~I0DSdbF1V6EF>{ePvX|Gb+cBMHmDgc<&qXHA*;`o;Kt}cZ$ zT}$fAc5AefwquZ&=2x?c481_*Zag^h&UGMCk8)r0SYROIRu;(5>EH3V3QTRE-d&} z%b%PUe8B~{3&=fJZ$-P5PgBjcDynDgf`1?cMepF}jDtdlqgj#sFUcOf+a+Dk&lF2K zO-bKX(o&bih>u)kN!3dFhLYwh$#ui&3eubL_9lz)d+t=SpQ`ii%Km3UKKru@mS?}e zM<=VvzE#;}!wkMx%HA_R`@e?SF*HWF-&=TqB)+1-)O}Pn<|$8xvy*2Z zRR`N^RtGy+9g($-2H!*L6|`M^FkD4d?*=I=p>70a+~0w5I9x5C19my7R?$W#xjkY} zDOUQ(T4-IL)Gv2B(=u|>KRl|b*_0aYiNS92P-wv8g3AJMKQMoVW+grWG^eTB3ITO! zr-0X(KBo+m|NO$(xTuQ&SY;VPjS~COY0?@RP6rt(Fwh@(DbU;gbQI|S#hl$Jz@KC$hroPPJzK5_HqxR_;U>I>3mYJaqn zh%wU~JhejiYMyQ(Q)KPjvFQpJfcDD_0MoyHau!F$%d}uuXk2~V1n?5|?L#XJ>$`Y@ z`jV$xeW}Z=z89%}xRE=NIcxL+|NqMWBeaq|u2H{S_P$#FiWvH*A6lxT>i0y>M%|JX zN30&}Xl7KhY-VV^ijd>dRM6VV5MnS< zv7%zVMN&XRAQY7csgPuNCAty)ktcB{Lz+DfatUs`E*(y%MvEn8_z&F^zv=iD=s5VYNXfBX9V@d=!{&wcLm z_&(P;=Q6 zegTobpgm-;-nCAUB%uKj_6G3;E+}|Fe@kn}ws%eHs-a`SL;)v4`vbk@8Xd|zW&2_+ z_ssih<@c=YIn49M(o;LPohqLIiNK2IIpoBhccDI z*Kp)>AIwi7p)CTMO^?SVZ1NXS-jfLw@cX6Z#TE)|!g=j>}hx^rh2WstdTSK2#) zux|<6CG&4$LWEVhD$F7gT9VI{BXn;ZRzxu>JwXF$m^TrLgn2^dyw3Am2-sT#&wkq9 zg+uq{l5F;%a3PkyFP8*S1Cg#>mmZE4p6}(zuunlDp)Zww-qP?UEjqWnF*YxfRemI$rzZL#YT>r;q*R>L zx}UYrqf5~pl@bWunZqL8!PAdlQH0B>!^h<=^SFqum1Ml7wHDDphaU~ujP%&L@SuiZ z`MK{$ei@G2tcW0H?mCy#2|g%xnag1<&92ny5)A}te6jkHMxQw=N2{~G+(PbI5w~~o zCI`|$vqPgD;LEL2tFPnM7xI8sIKWrN;!yd{cqOP|$ZtW;?c- z{D}4;qKCz+wDY||{ehF|8WVImEI;>*OaEx_^U*e?QatriZ{c%f>R)<-Pa*>8oO^Wo z_UNEEPkh)VuRm|HX&ge$#5d(NJ(?S{B&ngm}Sj^X%XO ze5v75=~wOR6oc}xePHl`JVJOVu=WIBlwi_uoLnrxlR+^}w=sQ4Yac&ifKBsjH@|_s z?Y&KB1IP9@oY0t{D`8i??|D2OUbb82E1lb(xVY?7pA|89*2?5EjGOWjf$VbpK;#&! z2J#ZY*#fL@!R?3Qc0-=0H^kw}oTmrj=}mDf%JcLu;&29Cgo|m9y!nEy)F+Uy7v+t& zJ!sxgQ69tvYRJR3u|FZ9{-NVt92t8;&cWgwL+|IH>-aQ-k0Ik=`?$Rvwq4-UwhKID zyTF6C3sh0xx$Vh*?4jTtV63)0*9?ln&bo|kLWAvsI%*jPSvJzN#^^ID!-ln68^M4zB{;Gd{VuqzT|4_a}XSn zn9glaUW~k9zw@PG!6(a}m6zaqWd5a0qRuX|R)V zocrm|+yi0XSBEZGzTyXBqjv1T*xO=vTP`x>51^^oyZ!r)qYL+gh&?Zez4e3Wz%oyQ zEX+$q?0G@#tsmqP_{!2b%PLg-<0w`2NWJpVqd&lh)QZoyb3 zr;m%*sdL0RuM+2x>H}+Pm_S=S5)QMAWaPj1TD6K&vkfD8@qVY1;adwL`z!xYk}jQH zB+7#LgjKah_$=Ko$_TE|RU`YW;L|B4WAH0dcp~4WC?^AYisViTp(@8*-C93uf5sVcUr&eC||<&NmVu-*!kQv?Ztdi z#~bpevVsPrNDVRK3yLILM|*;gBAB!l>9Mq}6!a~Hf9YhRc_}?C-muXq-%W^Jj8o`! zh6NuU7JRfb)8N{{!`WzGM;hPpupZoL%KN_HXZ$Kemp9iK;+qq`^}I3l>9$mKeLS8r z^Aq84O=F!2w?)j-a7wHj+tMwqVH2u~r&Gv}*A|VXw|Emiv8X-N8lK>73@2jYHZK*A zd+VdEm0l{b)tk^B+8FlMJ1-^1*^G5S9GM$~oT*zXw!j|!L|CnB zO3bF#&>RzsC)z`8CcGtOLdlJ$J={J=gI6RG)|knmSj*&=P%309y|#F$CDhWAa8acY zrXr~~cvuS~{`~v($?T)#*7j6rz5gJYN@VXQt`D_LLcm)kbF;D^AAwVHL)KTN7mlIS z8UeB`j8MKT)5-1emULU#o9o#k%BQz}Ybu;n&p8&+STvPrxsbor6)lzee~qa$rXpF< za$`k{f5ns4QzuuntWk%2YekDXPpoKefp_?WX*QG4aj$QSH*aiM=+ZY8gnnq9nS2;RmBQ%)8 z;IhUk%^O0|*kq}%aKhWXA=%-xg)?&D&$~1>kV*D)S<*7LyOM!TDh@4EG z9Em5I!=}D*)uN?Fld-Af+r8D!+ZsReCCG{9Z9vAfaNeSb=e&E-q?hanH%BAUa0>)| zgUhWKO?i@RbbZ^_N)#uICkc&C%5DpkfMmDELaB5jEYWl%!budtizkFD2pUrtjYJSE z8q+o~ONGT-U6EWmi6Jo9!8r;aTW5AQF|hq{Ee-3Pq(Sm09Vb9xFXph43JPfu1`n8PZ8R(eRyZB)%62 zhyTDvXdh^_)|!pn3Wyd=g`~=>NrOPFZL4yML=(t*Sd#X%h+cCjCPm5Ce9eL??@rW- zxTD2JqFcOiR?x;_yc1|>0#a$4LueHt6c<7mjkSu{gj*BwG#ZfB7J9RIED~*%ww7o0 zyC0+dk2E?Dy`YsT@t#iD9#?`@8Luw9KHUm&Y|$UIUzAR^{5 zX)bjoByGeVGm#Sx1Di?$tLB z?ccfA4UQ)pztT!!L_2xoZ}>BW^^Q%6VE$(x9-!1g808=@UD8gGcVg(s<34A|akKcVG1_|%0_ znbD3EN{F#B5tU)3y*=C#4W+{9nIdr+)x3#rjFs;A=IK%`lb|g&B}40>buFJ)Zh7ps+KS)<6RZ&=!!H(>Z! zu)L`T0*P+Uw$tR+WGdY5iPkMBlO0029YCFu*d78Cj0{nz`O#Q2W)jjphT7WDXj>t& zs>5|`*qV$shuWlE@RdyAxoCj%g3Id{8t68dAvA+mQU|9nT60Sao|hP_0;_}3Pp@&s zyamDPwKsWn!Ig_@MU^!{@vn`jF@?^|tFF2!=gkf1+4v)n6tBJp-AcqoA-zh-Ye_^m zVI)JHxe((-wX>?_ILTIMaESTy8$IY)si^48RbEb`j%jx!fc#Xg0-Viyytz5up<)3q z>E>pDjik{}MSw;6AmdGpK$o8c5uUgK7U=Z(cBuEbjYMND`k@{6(s}jDq7nTGbZzvm zwwFcIl94a#M@lD^gUn^~j^d*??a0muWX9lEZ%cSn6!}AMFDks~<ZTNs>I z=QRdvS1eoZtzNNg#k?hJ?cJI+B4@c8&g+g8wG$s3Arw7Js5OyZk69#?*hjMM~4Re#?rDi>UWCiR2<5z^cjfVOr9KzPnLmULkJp-e8>#Xx~(w_Me+k%qk~6xALTsYFxYrh1Z7k~*~CPbWoag^xc%ReI?dBr&PAX6J)ep^SIv{CJ(8 z_5{fqvWPi31_KD0bif8R-k~3oNjzQSt!|jNVnuNIQm?A2YE5=@6Mty;Xp(5IQd;CO zv>t0P-uiSD%QZ2yxAu0BhibkQ(@bf%zKirou?Z=N7u0K=)=4<6+n)rJ7j*; z0`1ixlU{wp0M!MpLsaDR#`8h>(qTLXMRJ0aRU8 zEzwn1O_$y%Pld)}4Z0AKQ=OAbbeqtU;_0MU+tB3qU?S-@PneU%(eI~pcF-1&cT^d> zJmW6fWnySwzQER+u{u23uy~82^&~>=&{;NGkJ96Yyd}DFW~*m0N$!lB8HlpHK6KSCSblI zop4HLI+%nx*>K}ywk>9dVrhh-lHB~?cC{%?rZr-Fo156$c&14o0NF`mpms6&SCM>- z@~z=%b9B_3wpQjoXb5?^U*iU8Z*|KWe<-$|LA|bSIed4()Gk{(f6)Rz{PG|=<$NbF zSY#CnKROh}>IQZK?{cP-H@6(7eYOnkBI7Pe@CtdZT-t%;wa(`q2;k2%)r+JWRk6`h%%V@ znH654RPzQTuZvEx@MeEi$!U(cPDEOVYANo?z=kbaft|6VXA-ihL^_;JXQFL*t~#o2 zlG;Jq_%B}bW6cjXN$A;rBHE7i6AWLjk`U0B1JNTTYlCHOXbyhC2LsE8AXz%UaGJ@% ziJVs*c`Zk!F>jp`qNbf+5*m(|45544>VbSSRCu8S1`sQH?e;XR7LoIzJ(Q-k;?4&2SGr=8KL*T8VK&r(kv6WYzKRHad3y*`QI#j# z-$xShb`5M>F#5@?MvXk$X=*4b+7Fie)?;MD49iOFIF~aw(ChjhmhZfIv8_^x*k;JB zb0orkSD>>RzY~E7yU;duSKSt(2(Q0*nM}8~O3rlRrz1HUV0O1hlrcbu(|ah2XUS0`e1)go4{5V81`gQ*l+)VORFp=c{|5;>^8JZJ-LNjoK#!3@wl zK+PX#A&00rUz!JWa#colHBiqrn7D0303T;~OSn0$iiA_~MApCq(>}zT#$8ObPH3l9 zSliwh4ylH#>sDIV_C8Mm!e}E=BxD~zyL@C)=FrHTb<+uylrmQ>l2%(3%fP6Acwg%T zXsy>!n~NC}XN<|%HNl3FL@fE~5Cc7Yt)02dU%sr~T1`FNB_FogJFp{(^;zKDu~G{nBL(w=Zv8(X?{a9e3Up zTHlQ2%GM3hk8f;ikHtIg!4Q+)w0XcSBFX)=X|jOhr~jwMRKjH>{;&8|Et(S`SoGL^Os6xHh*CrWY;_GeU% z!&_t;mYif8(tGqYeh1@<N>vaNlPq#FOrPGuJrffUKFo8UXQYA~9(k9$EhNc&f87v`ytmMZ&^QXE~%c7pF|3pj(^ozmF+yCUMyeXEeT@ARf|5! zN~Rk)@-!hkhr_UpbtSYoU%|7Xv%7b8F;-%O*5_~OX$LMHb(QEcNKA?bFEWh~*|)0! znA)PaRhmNyk+tOVD&u3`KAJx;h;Za`DlxE3UQ{rbfEEcV?2AA6DQ9ny(GRe}fUjuA)9TT~ac zI-?XFv(DPaMS5>psEE1KT2_}FP)?*TiRA^tt*j&nnRV3@w3XXpSE&fb;+ShhBU=aD z3@MjTP1|H!GVZMtk%U0V0+L-YI8XK@6WNUA6ieho);2}2y|XDaHUxup`cxBGwQRY)LrqHb7~L1GxKp1e zCE>;u%Nq2~!k&Z9Yz@}kbRAUsm=J~?$%E^zsys>Dwy~CIt8`CN4gQjazZg3pjQG}m zXJWVtqt8@t&KxX0)mPimS_aV=(1=jlXzW^$l+86`Xwv8akrp~G%MXf>6jNdr38-5U zoD3u3MLeX;{v(|qSgop36d@Gef8?t_mW;p3CW36w!>o(N(LmOrGA3vjwoa;Kg6Lq& z8vHn%z6OyOnzE8U(O1~BlXEA=BJ`MeD+xWw;zsxU%_KXl=V(gdbd}6s?!vM*mVj)G zb|CkqPDer8feGA7Z|2QYr&fA1mR46836CHDlK_7>X5M7y>VM16FN}x5HnFid#*iDI~%v5Vn$cnqc z%49leusMJ*Xi8xdz9$VC?r4Ln?1Ab=v%#XixyRgYHk(x@Y=S0XmK$srnyuzelQvBz zY8IKeS!Oy+1CF2}SU9Cgi9MXP!PO?J&en>&hvgiZYK zSwN_h#IIR=pqwRLO= ztq)@d4tu52Bj{FpZU{WVB^l;uxBoF?4!GqPw9X$DB z=d4=mIF}}3C;NN8+#xv;Jotj-VWjaz56VqwJ??WtWp7lfvhFU{oLuQi;cxJGt?;$$Vqrt92Qb`Va4$3D>77puk#8NqZNLZT!fC3^l&!~}svP9z1p zH~=7Rh(kq1a9LTY^yc5;O}s;D&{c-hzO0bwq$O|CEdKny25DikgKk!<7uAmu5|c@< zR#uy3w1kE;t|B=ODi013B(dG;nXO?=0%CC-=15}ZZoK8`m~2^j<3tETq|6k2O_(CE2Km^k93F3@6{se zhRb5zBH6S1Z8rWEEyW7Ok|k^XInkne%n9Ay8l4wm_fwTNyR~PxeldKiUYK1$!dify zlYoHw^Lvb&cCg0`4})SGQZ`@@n4H!u&(vo@0a zY!7NB2pGedj94WK&9?3gWcPXfSo2DbE)kv+n<06s#!EFsqTDFuLowq$!<)(W1{Luek`f#C~ zXv>&3L6^N{N~a+u%A9^=Gov7uHHz-tf>|IgI8G97-Vk>-EFHmyjhQeeETVYJI%!fh zajeWh@xi1&?n!`2&WaFXmDna_8(fJQ)gUXJDD775G@-xB&>*WUXjAC4(eXg<@h#GR zBnE9rE=O5AQc$~}D;!R0R0o?koMH;v`=n+OkC0RnM-^eSx;8A3Fr2@^t0~@U|LCr+ zMYLhwjq$+G2=rqSVcn>~+%@ZNb;rE%AaAusYO^Dql&ygC3oC-L9s(}Kmpp0xyBPq+ z>ii)_>dViE)TGsSCH82n12Sq?h3tBvzule0z}zg`Hj>VTM=z|bVZFp}RcJY~PBCb$ zOZaEABfSZxE-EhBJfXu8Pk9Zt(%Y1(o;r0h8X&g4qwAw>vI#3AY%+ucXJZ1qRUKb1tX>cnr^BNaIJh6W7FNQ{-HOhM^KAh~ry1>aw zwPa70-yzKsQC=^q;k05=bbUKQ=J6tKP-jqoaw2I3Dk(d8Q2`vlOb&@|iMFTP{Y4h^ z-s)>mNGqz66`k_P^bS3eHW|E=ki^gq{Q|JCY$J^iHHR}nlij+wy2ugg$@ciP+^b?Q zhfiWquu}4BmIlN?kQ(f&k;)RKjdiUbt2#-vYhASBpz+GkuJNwbc-0*d58-TOB@)Lt z>0703Ym#zU6V))NERDh2#fKgY_sat}w9}yrm3?-8$>b5vnc;l~%u%H^LG=r%OvGHDJalp{-JmYKKl4!(O2-Vqubv3X@)Ypw#0f23?_U#|kQ{)B70u zT?kIFu~u9A-FN7%?8e%~`mD_Rt=0(?BG2n#v;c06)U{aK3u$9U`!K8IJhpc6*b*#h zkkJEc5wdpVRiEcF4KAi+As&Vk)i^>bE6JE>K&O1)n-XJ#O?zLT10uv3@%qpfK{j%$>Wf2e%L#%EoL0Gjib#nrvbP_8M z30Z^5zQ(1el0>!9ZV8P_qQJ}w)hkJ9gn36f^c)2$tQ#dSy>mIb4RX_cTUhc5#?WA2E0Q(-|0`l5K2xLN}?)z zSg^x7u#6U%N}#Nm%ph(QajR}t;+d!?qWbx3##jsfxQt>bp30aD2!YpE=rp@3X)5bV zz-hSeVl+lY`(Z{OXnLNnfQ8s=S2&oHsgS{)_{$RmN!)xMKYTt1^00)LwL7FndH^8npK+GR?+1gh~vDoF_Oe+aW#{vZQP{+qh1Lm^d!ZgFr0hr&`|4?y0 z5GL+pPsDqt4Cybb$*$9&y|&5uLu`pV9NrA=1crFXNvMbh&oRd|qs; z-8u}nK{-K47fj;xgGyw1p`>%cBAFiInj%A`C~#F+JHfkJGMD{`=o=TD;8o$>Lrla` zQ)tF!z6+jR7j*~eWO;NwT0~k8gr_!05_0r5`)0nW!QihGSh%)m?;-owdVB-%%2Pa$ zaWIWjHu4<^GG&5Bly|}g1Bk=`@4kP$t>q>w@F_2lK+vE?h@%t;y_gH2`jj5ZuxIS? zo^q%ynx7{0n`jb;s`R*TURHc@21K2hSKE~@_Bd?exwqk$FmeaZB!XSSC848=uOUfQE)Wf(?d_hEbOTD}C$0u&5hpLdsx~wjM zsJgm2tI29G)hM*H*EDm=kk*Zh)E*GA<*v1H*`*YJPMlj$!P=UgCgWXgv^1%5Ihz&6 zF&BTjmg9z@T~>*Fec^OB}Z8(OqrR>*UL^M}MaZCvd|5c+T5z|)}a%wX!!^_daoh7Y==t0 z*o`MrFRSGk$bfSiSOq=rh1l%(s^CRe_#YJ4goe)VDiDPWTCZwhVpGAgO;HHS876;0GB4&TgZ>?1jn^<} z+)=G^R-U`WVjZy-uiw*>3zLo8dccez8=Z8(F0SR_Maf`dNeyO#VwpBS>1?pb`@u$Y z^MB!dt*@5JH-E|S4b9NKh_!lN!=hRb9e;&R!*E%H*N{ye-o~z3608&N=K86qJ`8#2 zlW-zA7j|MzV}rcIiZ5tD2B@;;vH(M!yt`r73>i3V!3GMY$XeXU*^WuTKx=@A>H zFRMc+iq7M-zUJ%uf&e%l1B{*_Yt-Y9vYOc--=l&N3ll+U*han*M>H$9!j9u>wYu=H zD|Ooa>5droAdv*Jp}Mx`7P}xJ&B_87Y-Z{--;S4Vxf!uQ$AXaNecKA=+fJsWtg@`{ z(!w`mLFhHj?4XO)?dhFK~Cf8krOxbMM5_^L_If}tV?&odW~2@o|g&+ z9bc)iL!_vYxzv@6zkZ0oLna9KxTYX4k3i#=W41CCa3u)o3oa8UEVG%lI^d*%yu~}B z!7&^VNZ^R4J%#0B$mY>{L(RCAO?Yla^sCH@v|7L7urg&z|o-*nazO=}*GFSTrz=!EyaQ_cyqF+%hOX!}9JW{qnr~ zq0;;QpgjH*_tzlIFK}Hn;(x|$KsvohQ?B`@aL~OxyX69IzI*;v?7xf2PusWuF5!P) zzt;{?zTY>_-zB`yw*qsP&y^IImj)Sei|4t?z3*@Eb#U1Cy7%Mp;}F03_V)@q_?d)j z&CBE9=W>5${nPILEAINMyyyAh-^>0a;@t`JzhQiTPnYHFzT0ne{V#-@GwQv= zMx-oxW%KQky!5kf@GJgbb36{ZxNptl(}m|DmtXPweHcIdS72YA=U3eG)Bh-VEq3Wn zgulkiakk2tnR#~KZK&&3_$&A={rchCe@Fj*xZn5sv(dToy5X}+<*to)iW5_c=?TVMwN zy$H9LVZHM@$1qpHRKQGunFCV?b34p!U&p)`5wC*11LkK{ z@cRv$zyE^0cuIj;5A!LwNnXUh0p}sJrn06VfKA{V7hzZ_EoqE=Rb!10L&G$3d~u!NxEVm z5A!9Mt6sM89fbX5m<)cCu;&%)?=`*EiiuxlX%m*eHQjZ zFh_%s(|@sU--Z1&%$@VW5N=Z5wXnCrybbd&|7zXdfqnFX0`uoEZ~Vx*eHQjZFsET2 ze9M^25cVAGV;7>lA1yFreqxOLB)~}6J(!I!O>mR4b-;cv%s;|>7H+~o?B9Xuhxyxo zvu=fp5g*K_>Y)!iw?|+<2=kMr1?ER^lla7b1}3}=^3ZGZ*9QBWF!_I9yxrbkjZj~K z{i`t5*MTvv&%#W@56>OJ^?8^NUtehc3D;vV)5jN?*Kz#;%uN-;&5v+>3+Cp#N8pzk zQD-o>e5ly`7q0KX%(!7B4pE?ghnYFC#FXNCG0fCS7nv(@y%uKj+ER0axWUZ1ag@0U zSNSV87n|FheWWQfwXg?a?zz3(EWmXU%;r^>n8mo(!-RvEnq|1&4wG1ZnQ6qe2`05- zv{{AgoiJPPyxgqDbq!3q=>ujht|6G{qAN@@u3?z?vN5Jr++aEyt~48Q-3+t(53Vvh zaeWA8&9OiP_-zJlvl zVIuRdGhf5?A7EM+j5FWB^%yie1=F_VL+0DK zeh+5$tO@1~Tz>>JVcbOX@3_7Lvu^t&^BY|4-wkG1V}Th3^RatxG?(Cd8O$f{sx+75 zdIijuJ0_bealIO*xwgt&gX^_0n^sOS*Wr3S%=((CrUKUqFtMf8W)iM9!nD^$iL3paVeWEv4{xlj%ev1p(X4&8Y0KJgHSw%{ zj!9(gA2I2y{Wh~DYoBZWAZwpzwrA}%W@px3Yj$Prb!LyV--nk{{t)&9|6$wEpTYhl z%&V&k%pd>Uw#hePpMD4U;MYVS`K9$Y5%wowet9>>%y+F@;aaqDn5q!^p+G>}=`FA? zgb6hln34GLCTaIk*tfv^HO$Y4V=viJlFOIjRxu)A3iI5)3b!e6lfLR{*pIr!)JR={k4X@lFnxSoJH15=Fqu`oMe9)WoR z=4qH?Fm*5|Va~#o?m)i=GaY6j%*S9lV0OVg3iCyn!!WPGWMIz0l<&m20W$+;3Cuc} z6wDr&$6%g>ISO+e<`j&%A8GDJzG0>!%{E+jz℞1kBSg$6!vvoP{a## z|AKi7X7JzjdFg%T)j&4Ak>3lLu`mZ;3z(U>{t?VmF#cbqOHcH?Z(M;s4|$P%?zs}O z1oH~axvNlzSEFx(DT1Frf%)(Ld7r{~g}|a5=5jG~Y^70*y)Z2>kH8#-$-s>Hc!9YU zCIqtuW*^McFvnpEH=?hCSpw4m^DxX&nA0%VwjmtMQkXWFKZE%^%(F1B!Tb`Yq#b<| z%*`-MU|L~z!3_QzJ=g*FQXcDGKHzE2UA<(ViTj8=qc2~$r%xiyj`aa^O(bASqd8Is z;eMboU>>+LV7_=)&ixzWzcXO|b$7sg?UOn8BXA$_aKL=w(~zmZwC+8B6)^t@_hXL- z%xe6S#dDv{`Tq{whyOvqd;{k5+pT;5{g6?(e*r%n_4eNd%s(H@`Tqgj8`^QU1i${c zrNg?HrE<@+g>{yGT;&J%wEl+`jTm`x`K6;jFlMaCU;dxO&|iSPuYAWmyFL$G=&3Ou zkE4!ZF7zigBs$Zj&V%Gh>H^w?84e?pnj)BsV5Cnhg&77j3PxhR7)J6SzcDh@-!OzK zLQEr2+L4IuB7`hMikF!y%+=;v^r<)E70lUqS+EhW3?@yd*>9dVZ<&G%pp#x*{z22x zfB5}k{a1)|+;LvrzxrV=?vF$Ny(&aQaUN$MPO8llt#hDGR%+Xe0u;fjsTNu z&28pB{9sXkpnq8Zi2kzvYx{5OzfXR=+;1DwF2tUXCUAYQwd-$RdHdZrzy9c^71PQ` zlwR_IqLCMmF1)Dxis2g zpU(fy@ke(=zx+;J_usAV?|=67k9Cc^=>%KqYmghe;>U(GYee_+yqTaXu z=Is8r&;6hv-ul3j8}`=B{8j(XU)=MlaiRaGy>!M;epC0eXAk_%KmY6Eb&J38i;kzi z`Rt3^|8nB5ChYs!?x}CTR&>pt!kNcj`@v8C{EeTUz4x=%hF5;^Xx+F;XFlD3L+xK* z|H$9YeEd(&J%8uw@E^Zi`iI-jyxsquHM@2%+x|rS#7`^V9bFsPzweUbrT1@deCMYB zob}8%zWe$OfAs1n`#Ro3_N6ZJS<3z3zjdg@sc<}u1|t3Sjtbib@XoBZ5BX(IX%FT{ zZa(*%NXq;C4dEeR^h>|J{y;Cw&3gVyTdf{ew#+1KcKhh5%fB&-##wvFVy>@ ze);)7WUPOc2>@rTwLP9o0WduNU`Utk<&sGL5*b z-#~RjBkvE$#ha;5B_*TheU~;(9@jz z)vIr5&)r?vcJ=Dt%3DqlT;1Gu+imByy9=knCnP`uBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr zKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{ z0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2J zBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZrKmsH{0wh2JBtQZr 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 z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq z5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH* zAOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8}0TLhq5+DH*AOR8} z0TLhq5+DH*AOR8}0TLjA|F<1F761SM02t(NJ&Rq1kO2b*3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA Mz<>b*1`M170Z+uRcK`qY literal 0 HcmV?d00001 diff --git a/include/Makefile b/include/Makefile deleted file mode 100644 index 8ea665b..0000000 --- a/include/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -clean: - - rm *~ diff --git a/kernel/Makefile b/kernel/Makefile index 8cea585..75d4af7 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -1,7 +1,7 @@ # Makefile for HOS # Josh Holtrop # Created: 07/08/04 -# Modified: 07/09/04 +# Modified: 07/11/04 # Assembler Information: NASM=nasm @@ -16,18 +16,20 @@ LD=ld LD_FLAGS=-nodefaultlibs -nostdlib --no-demangle -T link.ld all: Asm_Kernel C_Kernel - $(LD) $(LD_FLAGS) -Map boot.map boot.o kernel.o -o kernel.bin + $(LD) $(LD_FLAGS) -Map boot.map boot.o kernel.o asmfuncs.o mm.o -o kernel.bin Asm_Kernel: $(NASM) $(NASM_FLAGS) -l boot.lst boot.asm -o boot.o + $(NASM) $(NASM_FLAGS) -l asmfuncs.lst lang/asmfuncs.asm -o asmfuncs.o C_Kernel: $(CC) $(CC_FLAGS) -c kernel.c -o kernel.o + $(CC) $(CC_FLAGS) -c mm/mm.c -o mm.o ################################################# # Clean up the source directory of any binaries # ################################################# clean: - - rm *.s *.S *.o *.bin *~ *.map *.lst + - rm -r *.o *.bin *~ *.map *.lst diff --git a/kernel/asmfuncs.h b/kernel/asmfuncs.h new file mode 100644 index 0000000..df52aad --- /dev/null +++ b/kernel/asmfuncs.h @@ -0,0 +1,27 @@ +// asmfuncs.h +// Author: Josh Holtrop +// Created: 02/26/04 +// Modified: 07/11/04 + +#ifndef __HOS_ASMFUNCS__ +#define __HOS_ASMFUNCS__ __HOS_ASMFUNCS__ + +u32_t write_cr0(u32_t cr0); +u32_t read_cr0(); +u32_t write_cr3(u32_t cr3); +u32_t read_cr2(); +u32_t read_cr3(); +void writeCursorPosition(u32_t pos); +u32_t getCursorPosition(); +void strcpy(char *dest, const char *src); +void memcpy(void *dest, const void *src, u32_t n); +void memcpyd(void *dest, const void *src, u32_t n); +void *memset(void *buffer, int c, int num); +void *memsetw(void *buffer, int c, int num); +void *memsetd(void *buffer, int c, int num); +u32_t strlen(const char *str); +void invlpg_(u32_t addr); + +#endif + + diff --git a/kernel/block/rd.c b/kernel/block/rd.c new file mode 100644 index 0000000..6d81108 --- /dev/null +++ b/kernel/block/rd.c @@ -0,0 +1,53 @@ + +#include "block/rd.h" +#include "kernel.h" + +ramdisk_t ramdisks[256]; +char rd_refs[256]; //number of references to each ramdisk + +void rd_init() +{ + +} + +int rd_register(byte *ramdisk, u32_t size) +{ + int i; + for (i = 0; i < 256; i++) + { + if (!rd_refs[i]) + { + rd_refs[i]++; + ramdisks[i].start = ramdisk; + ramdisks[i].size = size; + return i; + } + } + return -1; +} + +int rd_remove(minor_t minor) +{ + if (rd_refs[minor] <= 0) + return -1; + rd_refs[minor]--; + if (!rd_refs[minor]) + free(ramdisks[minor].start); +} + +int rd_read_block(minor_t minor, u32_t blockNum, u32_t count, byte *buffer) +{ + if (rd_refs[minor] <= 0) + return -1; + byte *copyFrom = ramdisks[minor] + (blockNum << 9); + if (copyFrom > ramdisks[minor].start + ramdisks[minor].size) + return -1; + +} + +int rd_write_block(minor_t minor, u32_t blockNum, u32_t count, byte *buffer) +{ + +} + + diff --git a/kernel/block/rd.h b/kernel/block/rd.h new file mode 100644 index 0000000..7806c56 --- /dev/null +++ b/kernel/block/rd.h @@ -0,0 +1,21 @@ + + +#ifndef __HOS_RD_H__ +#define __HOS_RD_H__ __HOS_RD_H__ + +#include "kernel.h" +#include "devices.h" + +typedef struct { + byte *start; + u32_t size; +} ramdisk_t; + +void rd_init(); +int rd_register(byte *ramdisk, u32_t size); +int rd_remove(minor_t minor); +int rd_read_block(minor_t minor, u32_t blockNum, u32_t count, byte *buffer); +int rd_write_block(minor_t minor, u32_t blockNum, u32_t count, byte *buffer); + +#endif + diff --git a/kernel/boot.asm b/kernel/boot.asm index 1164204..957af89 100644 --- a/kernel/boot.asm +++ b/kernel/boot.asm @@ -56,12 +56,12 @@ multiboot_entry: lgdt [gdtrbs32-VIRT_OFFSET] jmp KERNEL_CODE_BS32:segmented_start segmented_start: - mov ax, KERNEL_DATA_BS32 - mov ss, ax - mov ds, ax - mov es, ax - mov gs, ax - mov fs, ax + mov cx, KERNEL_DATA_BS32 + mov ss, cx + mov ds, cx + mov es, cx + mov gs, cx + mov fs, cx mov esp, STACK_V+0x1000 ;ok, now we can access our data ;aloop: diff --git a/kernel/fs/devices.c b/kernel/fs/devices.c new file mode 100644 index 0000000..edb219d --- /dev/null +++ b/kernel/fs/devices.c @@ -0,0 +1,21 @@ + +#include "fs/devices.h" +#include "kernel.h" + +dev_driver_t drivers[256]; +char drivers_registered[256]; //0 (unregistered), 'b', 'c' + + +void dev_init() +{ +} + + +int dev_register_major(major_t major, dev_driver_t *dev) +{ + if (registered[major]) + return -1; //driver already registered + drivers[major] = *dev; + return 0; +} + diff --git a/kernel/fs/devices.h b/kernel/fs/devices.h new file mode 100644 index 0000000..8819068 --- /dev/null +++ b/kernel/fs/devices.h @@ -0,0 +1,20 @@ + + +#ifndef __HOS_DEVICES_H__ +#define __HOS_DEVICES_H__ __HOS_DEVICES_H__ + +typedef unsigned char major_t; +typedef unsigned char minor_t; + +typedef struct { + int (*block_read)(u32_t blockStart, u32_t blocks, void *buffer); + int (*block_write)(u32_t blockStart, u32_t blocks, void *buffer); + int (*char_read)(u64_t position); + int (*char_write)(u64_t position, int value); +} dev_driver_t; + +void dev_init(); +int dev_register_major(major_t major, dev_driver_t *dev); + +#endif + diff --git a/kernel/hos_defines.h b/kernel/hos_defines.h new file mode 100644 index 0000000..4a5ba95 --- /dev/null +++ b/kernel/hos_defines.h @@ -0,0 +1,22 @@ + +#ifndef __HOS_DEFINES_H__ +#define __HOS_DEFINES_H__ __HOS_DEFINES_H__ + + +#define VIRT_OFFSET 0xC0000000 +#define PHYS_LOAD 0x00108000 +#define MAX_MODULES 16 +#define MAX_MMAP 16 + +typedef unsigned long long u64_t; +typedef unsigned int u32_t; +typedef unsigned short u16_t; +typedef unsigned char u8_t; +typedef unsigned char byte; + +extern u32_t _end; +extern u32_t _bss; +extern u32_t start; + +#endif + diff --git a/kernel/kernel.c b/kernel/kernel.c index c40f53d..cdc9a97 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -2,9 +2,12 @@ #include "kernel.h" #include "multiboot.h" #include "module.h" +#include "asmfuncs.h" +#include "mm/mm.h" mb_info_t mb_info_block; mb_mmap_t mb_mmap[MAX_MMAP]; +u32_t mmap_entries; mb_module_t mb_modules[MAX_MODULES]; mb_apm_t mb_apm_table; char mb_cmdline[256]; @@ -14,6 +17,7 @@ char mb_cmdline[256]; must be manually adjusted by VIRT_OFFSET to become valid linear addresses. */ int k_mbsave(mb_info_t *mbinfo, unsigned int mb_magic) { + int retVal = 0; if (mb_magic != MULTIBOOT_BOOTLOADER_MAGIC) { char *msg = "Bad multiboot magic identifier!"; @@ -29,7 +33,7 @@ int k_mbsave(mb_info_t *mbinfo, unsigned int mb_magic) if (mb_info_block.flags & MB_BOOTLOADER_COMMAND_LINE) { mb_info_block.cmdline += VIRT_OFFSET; - memcpy(mb_cmdline, mb_info_block.cmdline, 256); + memcpy(mb_cmdline, (void *)mb_info_block.cmdline, 256); mb_cmdline[255] = 0; } if (mb_info_block.flags & MB_BOOTLOADER_MODS) @@ -39,6 +43,11 @@ int k_mbsave(mb_info_t *mbinfo, unsigned int mb_magic) for (i = 0; i < mb_info_block.mods_count && i < MAX_MODULES; i++) { mb_modules[i] = ((mb_module_t *)mb_info_block.mods_addr)[i]; + mb_modules[i].mod_start += VIRT_OFFSET; + mb_modules[i].mod_end += VIRT_OFFSET; + hos_module_header_t *mod = (hos_module_header_t *)mb_modules[i].mod_start; + if (mod->mod_type == MOD_REAL_MODE) + retVal = 1; } } if (mb_info_block.flags & MB_BOOTLOADER_MMAP) @@ -51,6 +60,7 @@ int k_mbsave(mb_info_t *mbinfo, unsigned int mb_magic) sz += mmap->size; mb_mmap[i] = *mmap; mmap = (mb_mmap_t *)(((u32_t) mmap) + mmap->size); + mmap_entries++; } } if (mb_info_block.flags & MB_BOOTLOADER_APM) @@ -58,19 +68,27 @@ int k_mbsave(mb_info_t *mbinfo, unsigned int mb_magic) mb_info_block.apm_table += VIRT_OFFSET; mb_apm_table = *(mb_apm_t *)mb_info_block.apm_table; } - return 0; + return retVal; } +/* Main kernel initialization routine */ void k_init() { + mm_init(); +// vmm_init(); +// dev_init(); for (;;) { (*(char*)0xC00B8000)++; } } -void isr() +void isr(u32_t num) { for (;;) ; + switch (num) + { + + } } diff --git a/include/kernel.h b/kernel/kernel.h similarity index 61% rename from include/kernel.h rename to kernel/kernel.h index 2b65b84..bf0bb80 100644 --- a/include/kernel.h +++ b/kernel/kernel.h @@ -2,16 +2,9 @@ #ifndef __HOS_KERNEL_H__ #define __HOS_KERNEL_H__ __HOS_KERNEL_H__ +#include "hos_defines.h" #include "multiboot.h" -#define VIRT_OFFSET 0xC0000000 -#define MAX_MODULES 16 -#define MAX_MMAP 16 - -typedef unsigned int u32_t; -typedef unsigned short u16_t; -typedef unsigned char u8_t; - /* returns true to callee if we should jump to a real mode module */ int k_mbsave(mb_info_t *mbinfo, unsigned int mb_magic); diff --git a/kernel/lang/asmfuncs.asm b/kernel/lang/asmfuncs.asm new file mode 100644 index 0000000..6915e50 --- /dev/null +++ b/kernel/lang/asmfuncs.asm @@ -0,0 +1,328 @@ +; asmfuncs.asm +; Josh Holtrop +; Created: 10/23/03 +; Modified: 07/11/04 + + +%macro jzfar 1 + jnz %%skip + jmp %1 +%%skip: + +%endmacro + +;stores the parameter to the CR0 register +;extern dword write_cr0(dword cr0); +[global _write_cr0] +_write_cr0: + push ebp + mov ebp, esp + mov eax, [ebp+8] + mov cr0, eax + pop ebp + ret + +;returns the value in the CR0 register +;extern dword read_cr0(); +[global _read_cr0] +_read_cr0: + mov eax, cr0; + ret + +;stores the parameter to the CR3 register +;extern dword write_cr3(dword cr3); +[global _write_cr3] +_write_cr3: + push ebp + mov ebp, esp + mov eax, [ebp+8] + mov cr3, eax + pop ebp + ret + + +;returns the value in the CR2 register +;extern dword read_cr2(); +[global _read_cr2] +_read_cr2: + mov eax, cr2; + ret + + + +;returns the value in the CR3 register +;extern dword read_cr3(); +[global _read_cr3] +_read_cr3: + mov eax, cr3; + ret + + +;compares one string to another +;returns 0 if the strings are different +;extern dword strcmp(char *str1, char *str2); +[global _strcmp] +_strcmp: + push ebp + mov ebp, esp + push esi + push edi + + mov esi, [ebp+8] + mov edi, [ebp+12] +strcmp_loop1: + lodsb + mov ah, [edi] + inc edi + cmp ah, al + jnz strcmp_ne + or al, al + jz strcmp_e + jmp strcmp_loop1 +strcmp_e: + mov eax, 1 + jmp short strcmp_done +strcmp_ne: + xor eax, eax +strcmp_done: + + pop edi + pop esi + pop ebp + ret + +;copies a string from the source to the destination parameter +;extern void strcpy(char *dest, char *src); +[global _strcpy] +_strcpy: + push ebp + mov ebp, esp + push esi + push edi + mov edi, [ebp+8] + mov esi, [ebp+12] +strcpyloop: + lodsb + stosb + or al, al + jnz strcpyloop + pop edi + pop esi + pop ebp + ret + +;copies memory of n bytes from src to destination +;void memcpy(void *dest, void *src, dword n); +[global _memcpy] +_memcpy: + push ebp + mov ebp, esp + push esi + push edi + push ecx + mov edi, [ebp+8] + mov esi, [ebp+12] + mov ecx, [ebp+16] + + cld + rep movsb + + pop ecx + pop edi + pop esi + pop ebp + ret + + +;copies memory of n dwords (n*4 bytes) from src to destination +;void memcpyd(void *dest, void *src, dword n); +[global _memcpyd] +_memcpyd: + push ebp + mov ebp, esp + push esi + push edi + push ecx + mov edi, [ebp+8] + mov esi, [ebp+12] + mov ecx, [ebp+16] + + cld + rep movsd + + pop ecx + pop edi + pop esi + pop ebp + ret + + +;sets num bytes at buffer to the value of c +;void *memset(void *buffer, int c, int num); +[global _memset] +_memset: + push ebp + mov ebp, esp + push edi + push ecx + mov edi, [ebp+8] + push edi ;save for return address + mov eax, [ebp+12] + mov ecx, [ebp+16] + + rep stosb + + pop eax + pop ecx + pop edi + pop ebp + ret + + +;sets num words at buffer to the value of c +;void *memsetw(void *buffer, int c, int num); +[global _memsetw] +_memsetw: + push ebp + mov ebp, esp + push edi + push ecx + mov edi, [ebp+8] + push edi ;save for return address + mov eax, [ebp+12] + mov ecx, [ebp+16] + + rep stosw + + pop eax + pop ecx + pop edi + pop ebp + ret + + +;sets num dwords at buffer to the value of c +;void *memsetd(void *buffer, int c, int num); +[global _memsetd] +_memsetd: + push ebp + mov ebp, esp + push edi + push ecx + mov edi, [ebp+8] + push edi ;save for return address + mov eax, [ebp+12] + mov ecx, [ebp+16] + + rep stosd + + pop eax + pop ecx + pop edi + pop ebp + ret + + +;returns the number of characters in a string +;extern dword strlen(char *str); +[global _strlen] +_strlen: + push ebp + mov ebp, esp + push esi + push ebx + mov esi, [ebp+8] + xor ebx, ebx +strlenloop: + lodsb + or al, al + jz strlendone + inc ebx + jmp strlenloop +strlendone: + mov eax, ebx + pop ebx + pop esi + pop ebp + ret + + +;this function invalidates the page directory/table entry that +; would be used to access the memory address given in the parameter +;extern void invlpg_(dword addr); +[global _invlpg_] +_invlpg_: + mov eax, [esp+4] + invlpg [eax] + ret + + +; +;void writeCursorPosition(word pos) +; +[global _writeCursorPosition] +_writeCursorPosition: + push ebp + mov ebp, esp + + push eax + push ebx + push edx + + mov eax, [ebp+8] ;cursor position in ax + + mov bl, al + mov dx, 0x03D4 + mov al, 0x0E + out dx, al + + inc dx + mov al, ah + out dx, al + + dec dx + mov al, 0x0F + out dx, al + + inc dx + mov al, bl + out dx, al + + pop edx + pop ebx + pop eax + pop ebp + + ret + + +; +;word getCursorPosition() +; +[global _getCursorPosition] +_getCursorPosition: + push ebx + push edx + + xor eax, eax + mov dx, 0x03D4 + mov al, 0x0E + out dx, al + + inc dx + in al, dx + mov bl, al + + dec dx + mov al, 0x0F + out dx, al + + inc dx + in al, dx + mov ah, bl + + pop edx + pop ebx + + ret + diff --git a/kernel/mm/mm.c b/kernel/mm/mm.c new file mode 100644 index 0000000..6eb3060 --- /dev/null +++ b/kernel/mm/mm.c @@ -0,0 +1,157 @@ +// mm.c +// Author: Josh Holtrop +// Created: 09/01/03 +// Modified: 07/12/04 + +#include "kernel.h" +#include "mm/mm.h" +#include "multiboot.h" +#include "hos_defines.h" + +u32_t mm_totalmem; +u32_t mm_megabytes; +u32_t mm_freepages; +u32_t mm_first_free_byte; +extern mb_info_t mb_info_block; +extern mb_mmap_t mb_mmap[MAX_MMAP]; +extern u32_t mmap_entries; +extern mb_module_t mb_modules[MAX_MODULES]; +byte page_bitmap[BITMAP_SIZE]; //used to store a bit for each page that is used, 0 if available + //0x20000*(8 bits/byte)=0x100000 pages in 4gb total + +//This function initializes the memory manager's linked list, filling it with the +// memory areas returned by bios interrupt 0x8E20 +void mm_init() +{ + u32_t a; + for (a = 0; a < BITMAP_SIZE; a++) //mark all pages used + { + page_bitmap[a] = 0xFF; + } + for (a = 0; a < mmap_entries; a++) //free BIOS #1 areas + { + if (mb_mmap[a].type == 1) // (1) mem free to OS + { + mm_totalmem += mb_mmap[a].length; + u32_t freethis = mb_mmap[a].base; + u32_t limit = mb_mmap[a].base + mb_mmap[a].length - 4096; + while (freethis <= limit) + { + if (freethis >= PHYS_LOAD) //above physical kernel load point + mm_pfree(freethis); + freethis += 4096; + } + } + } + mm_preserven(PHYS_LOAD, ((u32_t)&_end - (u32_t)&start) >> 12); //reserve kernel memory + int i; + for (i = 0; i < mb_info_block.mods_count; i++) //reserve module memory + { + mm_preserven(mb_modules[i].mod_start - VIRT_OFFSET, (mb_modules[i].mod_end - mb_modules[i].mod_start) >> 12); + } + if (mm_totalmem % 0x100000) + mm_megabytes = (mm_totalmem >> 20) + 1; + else + mm_megabytes = mm_totalmem >> 20; +} + + +// This function frees a certain number of pages starting at the address +// specified in base for a length of pages pages +void mm_pfreen(u32_t base, u32_t pages) +{ + u32_t a; + u32_t max = base + (pages << 12); + for (a = base; a < max; a += 4096) + { + mm_pfree(a); + } +} + + +// This function frees a single page +void mm_pfree(u32_t base) +{ +// u32_t pageNumber = base >> 12; // >>12 == /4096 + u32_t byteNumber = base >> 15; //pageNumber >> 3; //pageNumber/8 + u32_t bitNumber = (base >> 12) & 0x07; //pageNumber % 8; + page_bitmap[byteNumber] = page_bitmap[byteNumber] & ((0x01 << bitNumber) ^ 0xFF); + mm_freepages++; + if (mm_first_free_byte > byteNumber) + mm_first_free_byte = byteNumber; +} + + +// This function reserves a certain number of pages starting at the address +// specified in base for a length of pages pages +void mm_preserven(u32_t base, u32_t pages) +{ + u32_t a; + u32_t max = base + (pages << 12); + for (a = base; a < max; a += 4096) + { + mm_preserve(a); + } +} + + +// This function reserves a single page +void mm_preserve(u32_t base) +{ +// u32_t pageNumber = base >> 12; // >>12 == /4096 + u32_t byteNumber = base >> 15; //pageNumber >> 3; //pageNumber/8 + u32_t bitNumber = (base >> 12) & 0x07; //pageNumber % 8; + page_bitmap[byteNumber] = page_bitmap[byteNumber] | (0x01 << bitNumber); + mm_freepages--; +} + + +// This function allocates a single page, returning its physical address +void *mm_palloc() +{ + u32_t bite; + for (bite = mm_first_free_byte; bite < BITMAP_SIZE; bite++) + { + if (page_bitmap[bite] != 0xFF) //there is an available page within this 8-page region + { + int bit; + for (bit = 0; bit < 8; bit++) + { + if (!(page_bitmap[bite] & (1 << bit))) //this bite/bit combination is available + { + mm_first_free_byte = bite; //start searching from here next time + mm_freepages--; + page_bitmap[bite] = page_bitmap[bite] | (1 << bit); //set page as used + return (void *)((bite << 15) | (bit << 12)); + } + } + } + } + return 0; //no free page +} + + +// This function reports the number of bytes of free physical memory +u32_t mm_freemem() +{ + return mm_freepages << 12; +} + + +u32_t mm_getTotalMem() +{ + return mm_totalmem; +} + + +u32_t mm_getTotalMegs() +{ + return mm_megabytes; +} + + + + + + + diff --git a/kernel/mm/mm.h b/kernel/mm/mm.h new file mode 100644 index 0000000..9d2409f --- /dev/null +++ b/kernel/mm/mm.h @@ -0,0 +1,26 @@ +// mm.c +// Author: Josh Holtrop +// Created: 09/01/03 +// Modified: 03/08/04 + +#ifndef __HOS_MM__ +#define __HOS_MM__ __HOS_MM__ + +#include "kernel.h" + +//The total amount of physical memory available (bytes, 1 bit per page) +#define BITMAP_SIZE 0x20000 + +void mm_init(); +void mm_pfreen(u32_t base, u32_t pages); +void mm_pfree(u32_t base); +void mm_preserven(u32_t base, u32_t pages); +void mm_preserve(u32_t base); +void *mm_palloc(); +u32_t mm_freemem(); +u32_t mm_getTotalMem(); +u32_t mm_getTotalMegs(); + + +#endif + diff --git a/include/module.h b/kernel/module.h similarity index 82% rename from include/module.h rename to kernel/module.h index 2420b71..67f94c9 100644 --- a/include/module.h +++ b/kernel/module.h @@ -6,7 +6,7 @@ #define MOD_KERNEL 2 typedef struct { - unsigned int mod_magic; // "HOSM" = 0x484F534D + unsigned int mod_magic; // "HOSM" = dword value 0x4D534F48 unsigned int mod_type; // module type void (*init) (); // address of void initialization function unsigned int reserved; diff --git a/include/multiboot.h b/kernel/multiboot.h similarity index 94% rename from include/multiboot.h rename to kernel/multiboot.h index 43ae679..98d038a 100644 --- a/include/multiboot.h +++ b/kernel/multiboot.h @@ -2,6 +2,8 @@ #ifndef __HOS_MULTIBOOT_H__ #define __HOS_MULTIBOOT_H__ __HOS_MULTIBOOT_H__ +#include "hos_defines.h" + /* The magic number for the Multiboot header. */ #define MULTIBOOT_HEADER_MAGIC 0x1BADB002 @@ -10,7 +12,6 @@ #define MB_HEADER_VIDEO_INFO 0x04 #define MB_HEADER_KLUDGE_OFFSETS 0x10000 - /* The magic number passed by a Multiboot-compliant boot loader. */ #define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002 @@ -26,11 +27,9 @@ #define MB_BOOTLOADER_APM 0x0200 #define MB_BOOTLOADER_GRAPHICS 0x0400 - #define MB_DRIVE_MODE_CHS 0 #define MB_DRIVE_MODE_LBA 1 - /* The Multiboot header. */ typedef struct { @@ -106,10 +105,12 @@ typedef struct typedef struct { unsigned int size; //offset -4 - unsigned int base_addr_low; //offset 0 - unsigned int base_addr_high; - unsigned int length_low; - unsigned int length_high; +// unsigned int base_addr_low; //offset 0 +// unsigned int base_addr_high; +// unsigned int length_low; +// unsigned int length_high; + u64_t base; + u64_t length; unsigned int type; } mb_mmap_t;