From cd4c3dcf43b2a799a51d5d9698304afb2867e43e Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Tue, 20 Mar 2018 11:50:45 +0800 Subject: [PATCH] auto commit --- notes/计算机操作系统.md | 71 +++++++++++------- pics/2_14_microkernelArchitecture.jpg | Bin 0 -> 95232 bytes pics/3cd630ea-017c-488d-ad1d-732b4efeddf5.png | Bin 0 -> 6144 bytes pics/ProcessState.png | Bin 0 -> 21504 bytes pics/a6ac2b08-3861-4e85-baa8-382287bfee9f.png | Bin 0 -> 23552 bytes 5 files changed, 44 insertions(+), 27 deletions(-) create mode 100644 pics/2_14_microkernelArchitecture.jpg create mode 100644 pics/3cd630ea-017c-488d-ad1d-732b4efeddf5.png create mode 100644 pics/ProcessState.png create mode 100644 pics/a6ac2b08-3861-4e85-baa8-382287bfee9f.png diff --git a/notes/计算机操作系统.md b/notes/计算机操作系统.md index 7ff42414..2b48bc33 100644 --- a/notes/计算机操作系统.md +++ b/notes/计算机操作系统.md @@ -2,8 +2,8 @@ * [一、 概述](#一-概述) * [操作系统基本特征](#操作系统基本特征) * [系统调用](#系统调用) - * [中断分类](#中断分类) * [大内核和微内核](#大内核和微内核) + * [中断分类](#中断分类) * [二、 进程管理](#二-进程管理) * [进程与线程](#进程与线程) * [进程状态的切换](#进程状态的切换) @@ -58,7 +58,27 @@ 如果一个进程在用户态需要用到操作系统的一些功能,就使用系统调用从而陷入内核,由操作系统代为完成。 -可以由系统调用请求的功能有设备管理、文件管理、进程管理、进程通信、存储器管理等。 +需要由系统调用请求的功能有设备管理、文件管理、进程管理、进程通信、存储器管理等。 + +
dwA8`z>`x 2sdz)YmcKUm_GnjOwxPYRcEc5iI#H(gLbL NvPnb@A zgGUk6N8B#7HV2cO?)bT16pPPfz4NYCsNS|9ks~9Shh9}NJZ;o_tKdk5GR2S+Zp~2m z#cQ&b3_Xo&?VBF07s^El#t6|)` gZ`@?)id-deG>Z(aDjXT@ z?(^Z-J;2Y`tx8)^-*N5799CQ(IrjHjUnE1DCKB^=9pWc+)ZRB*A|gBW3;JsJvvuVv zeBn4W#8_7|R;%}^)Mi5jR<4g LT-9lQw!y1Q4e+atlL@y?{WiCG1a zo)?jhkOCX7+9(*>_@3(yejE+cjkq1_{&ARRdfIYGor_D DTiSl#p8JsMOmfUAz-i|Mf>>1yxluSz6ITeNsuI=t@f>GK-d z?XGgPj!&v 75tVB1Gi8vNGX&la*Z8ALY>8RRMik9EHePTASHrLJ1h zAnx3qXV_&PrsL*qFHBlLg*#e>!NsB##e;ZTVt^Pw!D||;7FgxzD>k;g!Ke>A(WJz7 zmNdN$ u!#J2o%xx|*5q(I!>Drn+bp zS~V!gJ2Cyfl0e~y2GjtT2b%p&1D_C{U}ba&+nxGx43j?GxDwS^t`yjwSXbS8UNP5~ z*JQ78`ItoX(-!7ZD^qO-=M!y)19;~G5qxEHhuYnek0T!9tB*J2b!Dk=WQ_=luCAV# zAjRK&i9-iTY|A^5ktdj-KRw#GuciNTU*yZ@h8iJBX->RRS623k6&c$y7qR%o@T&WF z=FczJIYJ7DtrSBhjS8LutHZ}i!OliY _^lCavlEzhAv=w 5Pw5wT`)adPPNX2NP2KJsYN#_K zjmN>O;Dl;{uhB-{dyyF`h7u-v7EZ~xSxqiGE3Z$IIiof{a8ZY;H2LWpGPETva`akK z7fkQI^0#%34|4mi5V$R`yer&1;oM5JA^7`zvVN8SxslH_R-iz*c5U(9`a&V~0PIHf z;2zcDtWNQeO*_L@^_MemIO&|yX)&2zF8FxbtWauTtyTA9`_FZtElh7LL*JLHrsWsb zB=i*qS(=kZO3K=U^V>^4`ad6SC`)f~6(CjRon|{ j$9`ZHBEg}{c0vzAJ-Rd@uADjcK T zpc>I;h~6qF=WF)4KU&Y($2x1+(>&Es^}sPb+5SB?W&~c+icKD0JI00l6$Q*8`x_rM z-z}dm@#yYQt7=fiePf$eJ0znhc(T55-IpHhv4*;Do|v8+Sqh$qFuU`MTl3VNuxO@{ zXl#MuhKC*EPpit{+Ny3EW^03Z8FAieX{PU%F-TaHsWKl?kF{RyQvKHcfJEL%f!d`E z=h8yi4wDZtrGlDixdZ&ux@g_%22$Yk$E&eM-TbGmIgK|C C06fKhiI6LP#&K)G(qCydi$_RcG)+&Jda^R#J)j`AEyhwS4x4{`MtCiHJ2d zd{ei*OEU%@JS5ug%1Kw*9+2|2=Al(-%Cp|-_ix%V%J;s $Ii zkxwcTm=pyc!kesngezWO6|Y|&!e*KC++x0K8y2^{MAYpDU(wy$NwoP~R#9U IH%#@vbWF8ay?n>?}eHKN(KvF zQa)xL6t($0T0%szg6LqjQIX|z8eQA_h$ibzxqPWY0_^Qg>46VRp4B#l9xLjZWc<=F zrusY!@umAY+VYq}LlNennr(*Cm8OY2I0HM!TK!9QZkNU^mRTu^dyVX^*q+|Jb$r=< zYn9w2Qd5ysL}ou z2@aYJmF1`*l;lvuxg6zyBMu7L>KKnNa*lhAwhm!P$!@GpMb|c5qWd(G8=P_@AVQ-) z_HD|?w|FJiGu={cQVJ@E_jpLK_y_fE>U7SHUB{;Xra>`KF}FYYeuKpJ%Wi@B6|@Sx zVdavcr@fwb#-(`SIwp&BgHPw4+oYj!`GrZ@C)kypyj!oyt<&9Hs(azZC#RctucyVw zFza 8YCFl%y>)SWIF|OF#^39~qY`IZb!V9~@?I%o) z_EzqK^aO?NOxCBVO}cQH?oGPveeEbK?xoNrKTQ6(DA#~l+W3atZ=ZH|7ZDQ5yV(O8 zV$PZzNY7Jo#Ym?1)$Es=$ea+O* }xn1}b(%HOyVEd}5n46J1a+98WXNRrJ z4BgvRxkf$Gv*>OSPesFoIB~Dpkk*CaYlfb^^& )z|Z)7K!cB5L=^HRagzPw{V1o?m)jX@@*&Nis#J+Q#4iVDwt_LTab-ZPTqx zJNQdWa6x=Hd*eRLtB0Pu8xwDIZzb-t^YC|0RxuN*ThmxtjLB_iB6(~e?lH&+uzUP~ zWK~!6%Ir+Ys8h(MwT9V8mLKag5x{Aho+yhm40yfI!FA2m&rpg5YooM4 %7GwXAA1a`hgRCv2C?)`t>6rwVDbj SIs*B`(!D13f{=}F8|ZbM_Q_L|8tGDcb4V0pA$ zlQoz V{|EjIfxHd=)xOZ$r_&JW)GBWAhV280!(W z@|#aR)P}%X<>G|~RU-}QQ1_3mX-Zo;f>C#luTDtX?^pR+W}wrwcp9b7hDcrR*XyWa zo8olHdn9Fj-@$CdjPY+7$~XC|bT@2&|GeIZO@+^)Co1@PS77p(ZNfS66FWz(ZYD%Y zSDEe1@JVw-Bd@#L6XAkk^_E!!5?ryNQuoH4uY0? C4Ox z<~w9iHc^POMKo%ziw$r()PyN(P0up9^7{O{(@{!xAFfSR4)S|P4SI~reZraeo_&E0 zY|MV$cG}PuOJ5reOjNj_u!r7n(udhwV!1VAZa&AU<#kK))HWXQIGC_}li>mF4F)SU zEcIlI4cA|cv6`ybAsV6?3yhwH )0R$IKB8TVg1>}tbx_U8QX{d>JGIqLZaFNQEtHu* zEUOXU@j2o{^4jReq~lDc>;wszSd6Tvwbo?7?H-O$mAsqDxt C(=l{enpx8-X6L@4KlH$w)xPME8Vx?Tj2p87R+9E0^61urF7 z*sM6Mq~*S&BUh-c%qIN$#US~~aaLuc=0Y@Du o@#H}%?(AF;sS=>@;)WLK0lfeEA!@JjpaKv4Ys^f&(6YJ#}FQh!wpPL zl8u{9CcH!VKUk>xCvuSPu4XbT-Uf8|vD|w&pN@h#W##|k!;lM>w@97|y 1pn!Cw zMMOYAh)9!;(t8a-0z^bbL5frXAxiI|hZdqDgx-7TodAK*At9XQ%(!RI%-%D iyi$^Xeoux6A7tPc;&rx5+eruhDroq hx!l#{B)Vc>(M{%E z CX`y%Hg0qmvZf@xF#j+5&32mYCAfHqAxGFl >XjUKs>rVqp6o9?b-6MtE0HY>{67V-0=r+`QD&Bmuc!(G{cKvKWa%O#BuQ* zou0+quJ@x2-MetzM~fjn@#V6r%Zr=4LsFAz7;aU2zBZ+9LL0vqVY2&NCBnHXK3w`K z>57C^Y8@V`t{tPb3P{(Zfrbm8Hqf&jxlL5H#p3{0@GyPI;O>==w8xPqN3CJd4^Yga zzSCsI*2xM%D|~(^St6&wYgBF@#5L|zf%MNJUf2ggO`4Kpdl9x63m8g&F( qh{yS<# z&!JH=nhDEJ?{JqTHSMMZC32exGV;|GlmiiMGKQYgz9#ObSq1K*vCppaWZNa<<)p_` zZ`IuNJJ6Zqxi$G^!$QP@`?(A=(KvcXo (T)Rl$ zG2jzlT vTUCiwpPh z^6vpNVmw*~P)&F%Qgd2Et64SI62rt`LUw4XcTRuHr1BseG;yIfb xERfx?M1l}u%ppq)D%aMFzzIg7F$EAh>3Aac@=eLLc=&hVM`2P;*9VE zXkDOYRK+g96s+^gJkbDx?aF07bXxOUqI~uP&TwVUa7X2-aNiVEgX~t<-|{7DCYSeO zLO1}RbUA+?w6zTjsKCUiqrdr% A>wJ6w~YS2)|I z5Y=$A#Kc8Z;#@^Bvy LaB*mx zjOwvsT9dMcd-M-JlZjF?dW% Otv?>UrPCMg3t)KaJv3to zKTUu9*23xuS1O#C+t7);P{hX98O5exQoXf#!rP-%sbH78aI^@)@9*Xy^GdT+@|$4{ z-tgL0``z0@8-g|AdGH3Qng`%vPoWT|1|s(}qyX{*gijpoyoqs9Be&&Y@(eDnMB_5O zw(=<46+#FPpIY)+3<6oW=IPtKWG~iA9Nq`L`?l%sld7R6A4%x$un-$vY<#QD2b@B? z@HNW%u=hR)rKCFsujT6_FY}BVta&ez%K8n0DlkWCMJf% $xv>utvdRH6F*_O$a+y3ZvMCW#Dk0wQb=ar8OXhE0 za!e(x@&4r(N5w9O$Q^P$Dhm|Gr%0>9((hUq9a|UmKJ0^Zo+@(#uWab^_dKhg-(U)$ ztk0v68^?ewQlIk&ai(;ec^_mhPd>2^VoFcJZ4E7rI=HWSt8K2^|19eL%}e~2ebvJW z!%=;~JP@)oWfUj`iS=Qa$BAgNul#3&k=^uPwduFN`SsiX;a~sD^AwnA;#SYEpvkX5 z%?}g>x8M6;AT_`JuHNHWS+*?tS;WCN)^pZ8wszUsykI<3NkIXi>cL=V9&gXjXC_&B zP $&<+NXg)K_~&_Y;=&_W3HR;bb2edHsOg?ws_c$iw~4r x2PuN|j7Eq4mlODG^CClXr&aK2uf>o#B$n2zLu*jm`k)yIix zYC8ifUybCL_--Y=P`+N!)uZt?SyNk6REC8v=3dvqP^c1nRuRkPxyLk hjL6>TyG$SLr z8mA9zN^3#Mw`3N&HZC3&jEaJ>BH#`;r?}{w`Vec(heay=%^jIer!X; }4ZUyT6Dsf<{_(Q-H-TzuI9Tf;mh$>cc|o&~xV`++yh z&%@I4ini8?@cSSipXDqVx~~B;3&Gy V{4yDKC8F!rpQpqSMdL<+iQR)$F89RWA91WiBBtx_(3bD)C>9 qmad~*mCH- zEFv>6zgy?0{2deNZ>+|zau9$Yr3hS7qVbGA0ixfP1xA!&vPtRC^) H-aGw1{WM zRP(@&oMjm>oVlAU5Z_S3AXFV4Re14Tu6c>5Cex~xmP+Ss%cnle8tcSj&F^4BSKHsO z@yN!{H4az~8ojUv0lUhSmu>0V_ifHBE-h|$He0N2unIUXN?y|DZys1@m12B{e <=b)G-Yb3t6=jlD+y2Swe72dDUW%qi&&Sd~x zs=wd&(VucgtnxM62VLK77KeH_lc<){ZE$f%IJXkC2qAo+12BoZcn5f!r$h6(TPJ<- zgRDt6qinu9-puOKtmU)dlgP*k2|u7Qdv4`buIC1fqnH7xLqztEHX;Q47vs?Hx79ZZ z6qBkgoc -xGhn<85*cvCX7Gc1I zS=qf$Ykfvaz@Y59WOiPul~Kp6>qE^)Q^HyVamUF`>TP|Z?KKri+o~64-#e8~olY)4 z@r8Y%w;_}Jv;4pGWIEAiV^&u3Sc;PC##UqFUKEBRTm*;MsFvKQfS@t{rbPzjg1EZt znc_#(D
v^!HgUK}0U0%~Bp{ {P@9XE}B>{k2QCy6(LHdd?-UMzbla;H2%BzNI<9A(+Fb z1omb=?}IvRi2EQ~C1s>&zPC7i1w{b*0oitdWa3!{ay`xqw-3sr?d9ykmUw=A*z%^5 zFVN>OVhi5mN<;&VggBg?Yyv_BdF)3|-}})p+*Vw`K1ew|dmpsBygb;JZrq9b_NVs5 ze|X|%(R|;3(-YfK?T}M&q$d2DliM s1wyE7@{ngma0-K-9{KL_vBZUB3{ngsbon@u$h! zZ~Amj9=SW4eeVyuM}FI~^E0jdhg|M=FWiGpaX36#gY5Y78&bnq-xuPzkrndUal^lu zvk8OAxJ|2Qy!NR&Ae2O{m-^E7dIG);L3-vp7Pm-$5E}h90sGzH$^8NDL+F;XH~S7` zZ`mY_u@u?CK0_13F&QY;*WtI#))+q8i6yKmQ4fyoqL+sqe6Mt54bZ@(=w6^k{0&7Z zf4OpUi)tbbsp0W9slySMl1AP3LE EvXxE4MJM hZJw{|}BkiDUKU zlGCQ;J}9P*T)T69plAq--s_MNnf7`nWHQI> e=c4r2H_bAy12K(pMf0CpAP`>^_;C@_~d+YsqxW9_7 z0XMzjmq*GQS@0U39ZEn4ec$LaSt5Qc{kE+C5ialau~xB* ^QAhS=6k` zv-NZj`-kr^Gnw4!Uc9|Uk8Bt(*^QR&KKHm~o?SML9V-L5LW2l5$cU5gw-NY@=C?>W zvgh$iO8>dWb==>Xt;+IR8^_cyEi0`aiJ3^%=_d}?M*B}WI5wgRG9?}Ltsmy?qMmkX znA?g!@N|W-h`i8=-aPI@$wi-j=WZ#Ms+==Oam+1jO0>;6!k#kw=tD=Ibz4YU VA zgAd+l)z4#8&0IKtydb_&+UJ3c=bpw* 6SeB^kbyymN`;z9yH7JJ)( zE*bTod6+*be2Vv4lSRG>Jxy`umQiq*k LEm`Aak-E#1YszR$q9kxGgEY@x4{&?NQl zz<{&`B6;0}U8o3HmHcN8$@ f#Yy8cUGyn5_`D1JM`!;pIn?RRaZ9_#Z$(ApW+6hQTv2(0$g{88ci}W}K zgXs{-h#L%y&j6xD#Od>o!r3FTU&nB;L#|y&6p7YWmcQ Zp1-o9lpzykge_Hy>#lZ_@2Wc z^0m_z(32nsTikH3X7^%NsGYs21=($QtLnheuE~Xk9c%?El>P|I{kE>s9Jj(zK_m z<*8ajFbD(fl8kXr9w`Rj(2wJG1{mtBmR?JO8{Ct5Pkr-idrXOgH;`V<7Zx)!z7C3? zYod(IdDxY>-|ZmUc5ye!CP;qlDJga>Qw_eM(s5YGCXvV( I+ zW@Pi3M*s0P!x;C~tBld^(<6}Wxop}Cm=N;KH3`Ahs?>@{+SQj~ zafRVIxvLZJm@fCfU{nAAE#Mi;Kc9iIp = zTc!Wa8|NyirOU`D0(uexcL1=EH{jE1=MB(B?l8z=0~J-{$p7-R+9hkK{kV{fZpn2a zgPUh$Nj!yG_b0wIVsI6*EpQg$BBc~YO`7A!pt#a UC+wgwxlc zb8Mw}o_sJP>dJSst8#C4Y~+t{Ue&mBc3X?5V~x|Z<+4wiF6^{T(do8I+Emr;9`F)m zW*)cT*riGM%f`X>L6&CIZF>`pddPW009oA(+FBlh<7$80x-i;1oW2d@j?cjB%*Ove zzEdH-w6bPe#{fs;apXk>AQ?Eb2M0#RBG|aiy%TG6x1?Pyb{o;G8nmV~ $}$Y>@H(; zWbHc>a=XCpvGUNp?D^%0U3UgjhZ!dJrb}@@ruYk49<6|>Zjo{{;lC!-UDv_ zARdeyxV@0@DCj$GaiEJBX`np`p5r2ktkrG<+7N^Kvo@IYE~R(=<;%WMBX+z`r$87b zhZND1HjGXB4}-X=Zom)+IennW^=kRAb{Qbk1BRJi7+Dp%dm<0~Uu|aoKO3&Of-PN7 zYEBCr@_nclTC)#&otEt2A-0$M2^jr@ tc-m=iWcL+W%RHKZhKDvkrE7I{~W) zZKg|)Eh2+hAx;i#(}TlCJyDbZNAIXlBNq+nO>CXs@z;E}G$ROfS0c7+`5`wFUaP!` zE~HyI!mA2O4GPYi8RUw)8%Ot9_LG ;-$Z*aC!nWd$b1YB(M`9mP&- zT587Fk!&3@UjpvHJ!P&Xooe|yfI}x(gGKl2<-kQu0sCH0ab_+n#7al|w@qe$gU0Ol z3?jzUfwIYWG*yS)4`3iei?N}(NTB&*Ck;17WEnzEeMSN!I#4ueFCp2HdGNmp+cL?n z5iTAdp=_H}0rW|>3@I jAJ&a9yn~J^vJqHYFG- zNvy~@zNMRA_7swjmYn*ogQM5#TN>}A=zvwr6&;(OyjPFY{eGqPfGogY z$HgcX4OWN2mc4#MoU^@Ss+I%EDBA};h5Vqqr4Prh_+vftI4ms4@&32pE?r{p-1ajN zBi6&yXu~39q!EIQUo~B$(Y)r{Mv~W}*jR)M?6vA?dESNx>pNMJBFV2s1P?A2&2t^S z{$2H6Ym%F04z1A#dlc+e0uK{9c)-Txv% wdb`x(^~qNfnW$CX2bhL(2ti$~QNOLk97uMdk8<0UIt_qSs{A zdG&1<@152uS;rV(e57UzVP+SFBuam+byhTyiXPoK(0y57l)?YiHS3bJqo5TXjYqul zECQ}T?c3L`rlQi!+3eQ(#doi1M12_?${XWLYW&EiZv22*eR9EB1{znlJRF4W1FMP+ zv|SL4uTDHV7S;5%{F~*C$j4tj*>xth)4zL8zE)b>OHQjL^*<@S``tS1{ry@SozJ$f z+0Dj*=;F& 9NhUI^O z;2E?@x}E{*)l;;te*Mz?Qo9yv0^}~+O}(>&5Z|>3awa)YP&q@eoo8<4Y8V3I#OYv? zvc=Bfm!k*+o mkiWqH+eW %w%5%q3N_pzCt z>@8U MGw7h`D)<(oyb{Js?bnh46FUAva~^yG=i*SMgxA`! z<0pO__efKkOeqh{IV6L^h;uCy%6z&)GMd_}V8!nJYL&X$Q4!zkNs)&S((7)oOd|YbvKJ&Ie#i*>Hay;0rjx%aODZFrhi(u;!Rj96%ySWU#awbQZ4lm z&g9s!RQ q2F~hqJd0NbBYLx=WikZU=%;di zGuqkPPUjTyN{F3`wwmuq%;2r_m64Wnbu6NiHYTS6&OP$ZG}5M4?TY&Ltox%8eSe*w z6$oi0g$^6dg7u!PboM1+Fw-Rakfl$bM$7l!ZtXm1yYIwS-s7arKh*ft&P{7Oq@&)< zPKP_JMoHv!PZZbTE7yjE9&ntF1G&Yyn_-3(tgUR$oj3iYEw5R2ezJy%;^{7jL4RA0 z$~O}%^FhZC-wuA~LeUf~FBN5W_t~6ig|o{~&U6hT(u;ImJh+HSY5v;~rzeG?MVQfJ z^g7CJB3dxfTiXN2N~(^7Tor5;(GVaz&+ZFVoG)KWySv1a-TvI&^txH#aWc3t&RMXl z*KGpX^cJJ!a=w0<4=-1}I~Z^*enb=A${qtF*|& OXu!}mLw7?@_tH}3i=AT?7}>pApyPRdDVLxS z+&tywbVUxz#o;7hCK&tL#zn~T3jSgH*X2 `>syYfpn>Lq(SS+Y+QJFVkjq1EYFjummxEECWN{V*hNId zk;m-rdV)DR%dLt_1&gOo2rDP&`^F`(__B0^F3K@6WnO|R(WO?4d#CneH##c&V0|R| zwpRoSvy($>-4N?&**xYImpGk#KIS!7@&SzL7ajYdAwpq*i+O>wmPX$b4A(%*akm)J z_44bdQ*`OEjnK0N*KFcSyh8`#sBfsd{N+^z(VfKWUv&9ZUa9DEaK;5bWO 1gQo)obH{2RQdzmb(N;J-N>g5=nUKdjwgAwn z!M1A=xjhN9ss4&p@%dTN=<)qA|8sjomKQmBr zhhviS=rGhpGUSTz@Zs_-iY8_^Ta-Lm%CUq+8+0RL*f8qz^ ua2Sa?Vxp5QXqtYHC$}mL0CUBavJIYBGYeJJgDb5&5jH?}X3hZ%*CmuD<3y z uoyQi_?I6CMIOMj>q(m$LI4gQ>zvBUkQUdv z(E{EBv$$E}^fEWxsG?A-kWWJ4j?7paK*eOSJ@@I$S76NDqIX4K_uzam63+FRD+vYx z!ifW|bj@%W-q9WY?8zEdJhIulX^E{bXd$n7h*h}2V?-%u7YUXhjql=9jR`nQh_Ayi zVLsI_u{D%(*K4*wL%z!Jb9sCYwtO3{d|*{xve+W;!}IG3N7N)%sJm-JgN3cxn5#t+ zys+EtH=>ws)4fu6>k{kUrmQj^4x9@-xz(CDJW?`jP`!0zZb`aVH%n59S$9>_<TA zt3bw~I@6h8nHXelT8h2Ns0KB{oDb#DxYXQrzcoui=frc4Bjl`OdCao@0Wms=N=3Wy zN^{%1PuII=YdC_A$Au$PL)AaEk-MhME1`UTL9=}>T~^tYLD`N^BOM#e_o@w!^<)%g zQyo%j8%hW#v `D EsBSu zyF^Q~I7TB48e^z&Sq{xNY bo_Ev9o~mM zC$gY6ZhZMT35`ya^^vrwfK=ISF`7-2fz}X&Jl&fS8NQ$epM;W3$*v6Ef<5Sfh}MM) z{pBzN*J_MYL&T6&o1nJ5%!4xT>^8sP1*1oxw-;Dfta1W~!N=Q8O?Ov_Ni*FyFE7>W znRlzFlT5~Lf7y9AnU|jc9+4RS+B0Au14!MFL~v-=jxTmp${3R?`69%>9Km=+Avz5Y zubxAHB9P5XTbI9TP4N(~d>D)@ zwJ%=374H}qZ)PUubJ^BbKe)6QrY%@*`x-tw?3?I%rN>n@*Veim&3IFDT0L*e<6WPE zM}4=%0mbw^Nf!=L(X}4^XYTDNHd#gfuJkYBZPioWR3p-Gs@Rr{d epsgxfyz34TTX?GqH2x!<1E|-v}fohBs UmGx%>`LNt;EFw&3+kWJ@g7Q6J!XX> zkthz~*yBb(Ow6@a*Q+D1&CYyjWob72J=55A5@XdxA|P KAsoP zf6eO9MgIy~IR8Pjv$~(c!}}hl#rzbCJ?hAFRNO&3FIjHbnBCYU#sHD6D6Zhq|HaFO zgzQRZv68IXa9*9`8{G#TEE@jYK}b&)$G5b7xSiv%Ncw2ypyO0B%zBU+H|IgRT8QG7 z>v-H;%4}w4GhgxIQtmk>E-*7$Dg1Ko ?16>1pY39=n`pb36a_HOuFcP36kg9r zWt0+}b!1qqYi(U}UO;^y0x>!#mvRT{K}F{agATYM4s5gcx@-4=e>>$`7lQ?6yCEpR zM1S00(p!b}Dcw3l-TIsu1 XKA0tl27fuIE!E{=7-mePSILdCKznhDxLwOS%`Y$jBEx&8P!qgb$7jyAN zPrqwUxM{hTusyg~E`%#S{XS~)P~ZHNhFDNc@A_vENt^jlh^&mE@m;m_x0t(+B)jQV z%+cg9yB}VxQ#OM1eIznIm}a_ZU+IYYjO;K{GQk*ZTphQo)ZG>~3vIA*U3h+R4l_`n zUynSftT?pB2qtV}W%tI~GQe35k~UvlHpY8=(+D*;C|J?$itNmV^u4XR$W?Uh+I+gb zJGbu>&B?4;Sx1k$6~|BYjsQtGg1ZMR5DekX6ux*+H=xdgWx`|VME>Q$$bcoAl);HW zl{a 9%QmnzsbRSe_{*rVew`y~1 z`N*W4Nw#E3Z!ws01(1KM*`DgWwpvC?o(wyCf@ESGE~F&a*MzYtm1}-3ajR9E8kq5w z+Own<4<&R{T=`L-Yd4T;=AXB-#aQy iC()$!z6oMpdWOl?D2wJS*?ZSw5KA{&cAX~81)tdm*)NL`Z>CM> zEzP?o=yjIW?Lg(@>f@UES@UBUOXs^xyBt^`t131gUy|a|AcoVUD6dn%j<6Q}Rh4z@ zvK8%;D$Px0M1rBa?vv@a(TQ2qil_0D$cBqz47#>T)Gw4o6s&Jc-$RYgG9BuEV>Taa zU7*bBjY#>bT%u0M8h9l2mci260OEeI?WqstYgxN4u{9T#OIJgch79a%IOP +N@~igNXCbIe6bEJ3$s~Dmb)xUVU9#U8C-18R=&f)0fr_ z9_ty}2W1+w6cM0&B0C#G{67@LGZ@d^%-<64Xtv8%QFJBWAb0n@^T0@#gblf7D%H}+ z`Jjw)bsq;W5YHWYp+!iv22N+0;6xO>c5U>{m Su)=oLbjIbdT2(W{C6g5i`Q*|YgEr%T7w z{FRI6aP{-4gkJ(}--P^7mGvuSUB9)lyfAo0v6+Xi{X4pY_q+E&>FU?q;>eOf2Vtyj zwS;#V>gmj86}b6CdB&C^v@)WQoDj+kT^EUM!S>o+svl*)o*%wsN$82^8BuVH&3LtS zc=G4wG;LVvRP_3v`19rzz%8%oN*P)l(sw6%o! Xe{=_}sLiQ7{GJu1gKn^R i!o*fTN)Uyh_Z+#^$PV7b8 zjq1u1PCc(Rg~NkXbm?Y%eLP1)Q!7eTC88|C1Wg%ILEXIJYUg}MH9IOdlT+CKoM}~K z`*gwG0G;wz*YK}FT7~7Q04f3t0cMHAR%Z7>FO>3pqDlLpRVZo|$o3dQ%dKdtIw+vG z2G5$Uwn ?Fm!dURF^us9igOojh@-tzGXNpI8Y3dV>*<8)tfp}C&;Wd21k)hf=mXjs*B!r z ;wp6{k zzspWn%CPhl((!g5WQ%O+ESXN2#!U!?mUL0~+-1!c3!1S!tE8i}YTfM?9G3wyi`?Ne ztQN3N9;M23J8l{~jxKXkhaaz2uhDiwX|4i0yVJDR(Yu{Nq-&(yF#nA *8UeOQrk-mCq$AP|*BlAy@9rK$nAPrs6ruatW_p82j^0XuKPDRz)RI|n7{bYpH z6c}phb|(M+3O%lL6YN?X;K#gW=BzUTKNUx{7O6njVlz~;pYbHYxR=;2$2;LL=uit@ z#z$$W(#W|lBCc1JI5=`#Gdxpx@40?vW;{!H@J6XU^D+gQ;^X{tyx6~_)BkD4^G}4} zSDcd@?zlW?aL}=jv`48Z?Zppz7I;U`ja*#R86b3v@9}8HwrF>lO+@X3@?WbtdOn1* z6G;V`R;K5kC8966sw`Z(uP^@vqznn0%hRIPe{odk>X1<&?5$mjIY+>-`lS+mQ&B5i z>5HvX83W|mIprxRhFso1@J!9yu+(9sQ}X3C!gS4M9FqU#`KsIssNx4so;~4V+G+`; zG=ZBaKHHqo;o-j*ofnZ5v0lSQXYT!KSZfY>rcbMHUA7}6RcSX)rQeU5zZ=tlZAKQp z((-PA%*?H_KP=Xu2|nXM%{@=vA RD-wX?XMD-Z0y3NqL zp}K3ZsWm*b(g1r0Z+dAUoKUz!H%Z{yTq<;A-9g5u9<&%d_t2rk*A%sqSS4vD&X^T6 z)z{3+4NeX9?y>m7G4BcI8f?{+!6kDX+}RpOcnI )=pIE%{Buvx*}t8PiyBSw;9!EXyYj4^t8)u$JIfnhhLC(7gd>n zuGUc7 #qN%@@6EnXi w~+3 z6XtKMpx8H?69NKjd+Tc1BOn84y;t+OCDQ7AoG?PjvB}FLQb7ngu~{pIlX3AK00V?+ zrz<&L%^y~EAe?Z|iVU%)`jH@E^H(&7kT)^ft^Gv)sQD^y)XW0HsX(00p42}HNmDL` zJ~Auq?M(Z~@W9MdD?{2AVq#I~6ioA{qX7J$%ljaR(u%8>>97gQ?$v!z6mE_^*7BQo zLaP@B++_Hg-ejYFgHC=!tR)>-b}fI7fm3i}r~6dFkK)C_l_LcrFq3>>KsF1$iB;OY z=LBxo3bIB@{DgT(BBFH+rcIivA_F#99D4|?I#-dBHl<1iOCPR+$37Vl=#gGSe->}M zg2jaz$I!KI R~)B6~btFANSkZL-Ti#z`nWI55GQ zo{DSf!MQom(ew&@YiPbj_}<~%V9C<0X2ytf4{%8`O#(`rY}fGZs^>}bDvk3IyZfNX zZ1BR;^w4t5tFP2A0H^H%PGGT3zu#|DICO`SeqRVFC^j8`aVUXf@S)QBrzM8>E%pyS z5+V5nOs4p*8PAj{ADU9a>)-ZnPbNccX5P8+9po0WiN+A7+K2#rtOaKQs`%F4%Y)Qi z-;^E5Aggf`VU&66qn6-4=u7Y@dD-Jh_9u@)p&w6-5_dJ*Yv| zYnF`2rFiG23a?q$&L{Ahf$N@Jm2B!Md&f3yn7*G4ti8_hX}TwBIKsLT 32d*-QKFGkB{rK7 zs!K)jsOd `zr7;*cMls9q>02>FxA3EbA&xC|wm`|Kuo1!fA&s{5na8}0vbDA90w z%Hn=cLjQoqxgx>c0c|->AgP{9CZS^t9vQakTCS^iw|Iw*Z0k1^=naVRt6qFXWQ&US zE7mf@0H=A(+#}ooM PGLysa zBNZHxXUQD9H@@$cfo1&zhfErb>w35?;1w`m7DV*Ia!|kL=1{@Cp}jnVD#USr=S{As z4`ujdnZd=%(pduR4P3){(;1IW`x+tvBIT_)BfBP6qmq*uUCP8d|GjA!it>EXX>!1) z0zHKxCL=Sy5k%(W`-HZVv?e&$diayJkEH6p`sJHLXQF2}x!xYwy}oHkT4kx94sDL0 zv4=hlkzl@enpYs{Id1IW=b6}GCP|GB{lJiG$C%hoor`?`33MnV?xWHnThQ2H5CX04 zvhY1xoHJrinG>L7Q?~RMLV+nLg(;oioz4|1BD18f?1LOret;HSaGmx+*44M<$_48s zqvg=|Dp-b9f~Q)KVx#BfE~^aJQ>&0cr{!V$GZO56M1f!gqfKRx`v|f~R(k5hv$K20 zoT#lsgLMW&EUlSC;F0S1`Wj@8>(Zo4ExwOHHXM?N9=AN$Spv?VOo2=J1dl;9ZCFwI z8n}^HjBE2|asx=-ipJ3qX|a|a)#6Y4AQ_Wl8?q6{=()&--BjA*bYT=5Pk)s4$H?@0 zdrTzx690D|5r3~JYkrQC)yZ_5$f9<~wMbL1l2>09Y0QoLAneJ|W-un1u^YS7gYBa} z4KkZ0nhnPrU2&N2jmI#C4;W<^u(+iOEC(1nN?eDZ=MQ`)bIY6~&|CY-Ok5VM=xh@r zgFi+KsyROc;rHvS^qCpG976h~WXv;@a={ds{L}3&NYUv0RU`h`Tm00Sh5Xdu=j8>E zg~Nwq-|imPJ{0Z=G9)hpwIsPR-v=a8R}PwhJa^q=M)RP&o_1gxHDOc)7Hj;euCJqc zz5Eg!>HrKe5#U)p=wile=9!xJ0&}rwj(95BJUcZ+|CaKz%9ML}`-2d4*xpBE4~qX) zyzWg^*YiGKiXUEj1!iST@C5+@Mc8Dg0bRR+5F1_rM`5URhNs)Mqxb;fzNUSCzQHuz zEE8|MbluuoayIL_yzd*25e_!4_-7Weq$!BVnxR-`%1va H@@Sg#c1q}Zjh0TW68;Lw!@wn-OGM{>m~npH>=Ma)UL z1zGsfU3O+D;aI_HWq5YJnD-7XcF8O3Bo^JJcibnYQpoY8h|98}t%k0BVpkoJy+Wqz zZS$Qb=NDo{bXTJv8)&I(QE`nD>>tWYN~=P@Rr;AjKh#qgPw$-W+GL(e+nOK9%-;vy zu*pATpK0|X;NoihlL?~pFapYVFB_`B=(ET}TrI(J=xGaQA;GEH4fX>TPi9e!nU}Ag zkQp|40OwEza`2ehd0Nhn`_bXs`j44r32(!%ga=F>oTi%ks;x?UNe4C(!#PskH(hd5 zxTzjqD 12BotB9Mth&mgavhJg!oTq#e#-=X0pI*TI7A*Y7zMy5ayS|j$R0zb} z(MB>mx3mQ63NJF7TZOS6JRR+SxOA6tI#S2pn7GXFH7?>>$bw9zah7>f%DEm&kWiqy z)Wt`BGw-U`TwZr(lhx*FZqu|pnM+HEYa??ov_-~kSHaEeRHYq8AxVJ&_Sn|V?{6b^ zl&Z~1e2-GK*yR0F(E~`9(#1F5?%PZ(+%FWp&EJ`kV#heaI#MY*{Unct_msB^Yk75f zc}BPj_opw^J)~^P3HrnuN6=S>Ok8l`XiWHCAl;xB+nn_r*>m@%B7a~I)0?_4k!3^b z{NeGef%r#tpUu+nlh#QuUcZhLJ^y$j__R_xLa8JD(#{4j&FT+k&lm%AAO^(Qj9o%W zoutuTaluYi^=WFQlSfyJ$@5WyVv1{2ym Gz;>CV(#A`5bxNm={+Rn)W?9-msGH6bMO z{)t$6{YQ(Fcb61&8Cc;$Jc8PmyvM)b&&O94gvGFR?CylFg%<6spBpOIA2ID*`mP|p z0)D<100dB?6iEpzte?VMy6JlZ2`ingBP}JzifU*~lhcy8Uf{rjsZCFWFEq~a2vHEO zW7$!es~4(X$%x5=9|ber6RbZ@IgP*RcHQ%%5K8@d#8=TA^x^LcT*g2YmmTo=f~*lA zb~Np8I`#hV*L^$w6QAA*hm-cQ`zX3DPPuDkE(oaQ(j^5;gd53l_ %b81zc*;+C_FF z8JMouvJATF7TdK|v2 LINGr!@6x&q~mRo2)qZ(QmCRZV3OO& z>V^l>eo9a~>YOO*suTy~^&nUGJqDe?`?i^qs%T#P0BPPPMOj?T!Q$K7^DlxpOZ lsSQ&MH` ON4d`Toy nX$ ;exTh{;rz zWkzB&uc0qFMkwB^G?!?T`c8pKz9CPX#WB|jmc`Qf8f!T;+|m_)gY|9mvg`;En;g*g zaI)~jrPA3&fL~u{`(9Wa{^+m8hKuEqweYtPz<}X6YH}pxEA2wSa_WZ^909yTm zWBUR<-k{2*5?;8w1_@h8yV0*Dp++uQEipLyzi4|8peEaPe-JA+Ktx2qfJ##k6cA8a zL ?;wO8dM5!wK%{r+CG=jB&_fC2-MstX@7r_s+jDmQXXl&A zOlEF|%#+D|KhJetzxJKG&=O;w(LKODDwmfR^LF(26`k-d4rQYm=vQrODG>`aDz^$P zo?Y=Gtz(oqqA|Nu@q6)HQe*q%C`l-ipW?OCrUwpn>`hWKPHC6*Yltn*eQ%y~+wT vq&H{eQz=d<11pBIQlgLYn4qBIyrGCvq|&wg_2ucf*ROX5N5_;C za^7dzeT@;(c_bs$&Puri7W(u=PDU;RM)UU+YZc0gqxt^u@2dCjowxAJMg7*nehZD9 zhzf(&sJ2cEqa433zl!P=Res%<8=Q
<-I !amn$U8|0J;&MI|o!-W&c%~Ag8@71_tA7Y@H6&RrIwiNr|w9LQige@6kWn zt1f8_Bh@v1!QBv~I=v1{urS(<+5EU9^?SizR6L!lcc6vw&|B8_ufa=x2jA}i@e`IS z6!ME$8GfBI^PZ%rf_jHkHLaNm mT3b-5}d0 EliM;wF-mx_iAkhh>$u?5rbuW1i?8`kOes$$az$q0H=W zjQj5Y`hdMlZwg(GSC2}LjHorKKm~qmYVhKXj7dI6qmVh+FX7H@NsvRml~9#LtSaCA zB^Xt7bzuD>#_Q2Dy#`>{V7bQ=TyV^f?)RrAidX0G6rPqx2gMNdACQ9kB`_X^hN3;K z$TIGF+>Qy``5z2PaKt)SXe|AngoDMr0o(hB@!1(|z5&?#`CZu8lt5XlR^^~>$v8I| zksD~`I)2WPyoz*=vpL`n`S*<@lR}!YxfUq@?}&~A>EKcIq`gIH+f)muG{hvD&mJPs z+ACWtYC~+cJmQ}0ZFxWu;`xMjz2*8kqNT&DYq@u~tnfy?VZ3clVd#4<-54 40kVk(x{4}@TyHRx zLhsH|CuNdu*j;){>fqp)El9noq9cNyN#;DYk_zis^#ck3ohC=VbYm@AoJife=ia;w zr%!)H?^|k`EwD=mxl$aE|JO^ki*rvAsEtd^v{hvdQhbC>jrnBdl@|yGU(ZYseaa~; z8(b3e)WYLY%=;XT?v|)G6q}JFoxUNMfV8^incIfSy7ueYFgzp;6jtqjf5!2w(G9m9_J?9nubdbEPb9uMMF*wzV$ zWLjp@KA_!hJL2xZnGD?9$;rfFqC@dFRLTsk#fea3BKO@+&YiByaijL5O63GZ;kqej ziuQ_W0weH6qXH<2qz>CwD_>t2I={JRY2ypRbs_sV=k_7eOMY!;qdvASM135=qei#@x&=e_HKg6LZ zt(Ow2be%1w{u9O&$#GdP51y#BS(c7nl-}DqPfeak<;fG@E_Z-(iGF2&v?1Y8hC*1I zqbUeS@$5o34%{1TKjtpY4n0hFbME;XYi;B3sDH)Pt8P(0&puRRwiHVIl9MuW)--B1 zko#Q5w-2Y*b3$V{go&>a? !T<`leqxMF6 zP;3LZT{mkD|hYn zR_n!U<~O3>(p{vx?XNJ98{AIYJ!8~k5B3Y5oV>q>=@>+(P;xvZm)!?7xJjA$twUhi zI{bv-&Xs^r>A{K7gTwf!*2^#J)`fH`CZCS@FyY6|bip^ZTaDTG$uOJ;<96yNtW(OX z=2Kgi*yZb#IabXp(i5l jdw*_2Nyl{aJj|N*B)gf%)N*yduA7>?5J-y_0Gej6F~`CN6ytX zPG5fNpFin=J%rMT(zamFO)7|RV~|cXgxLA(52)8Fwl1Nv?g_`RZgQ87;B)=tfn^r^ z&5h~A{NjQHeXgG|*GX#7#ERu7Qc}`piAw(wTpX3PA+xTz9b!|TCa>cwQo6y<*KVTx z6_+awjZJ$xt%T06e9vvs$lEU~El&B6Qq0KD__6|aE51)zp+NO1t%p7QxpW$hlBfR- zcP2tpsMK~1$(3!e8CTkwxfNctH@w=v-43D+|K;mF mZ+*P0_PuNo{{*Lf 6DrQ^n#G5Z6T1+ybV~ zY*)RwvzTF$Iss>jK3%gm7n0CsVj2EeKGRcgJ&~;WAo@2i=ft6$W?U7`$#75ErBe?e z(*+8QkWZd1SxKsR)> =-(seTAwh`O)rUVC57V2mI8$ z$vK0+*Wrpr$-EELg$ NS5 z?bv>ORgiYY!_>MTN5YE6dV#q6>}zMIiNqec3M?M A?Z`rG7|i5cs9aRePjGZVc_YC5f2mL8k%HtrLc&ca!5o&IQ)aK*hkx+-JD9MHFh z3|cKCGwSQ-#XKw4Awwd#y%`jWGO41x=+(m3eAmc^zG)j}u_kWSWMM*M&Q@B>u0%aD z{3=7eki e?hUBqpbQ6S=)a$~5hHD_Ro!El`10h4l(GRdYMMa2+_{X77ZJk)6 zTt*Y$R>q8q>>aFs+#2{QWrDPvLYIl85yB5A@6(p|;P54hgho70Z6;&0H|TUix#}n! z+>Z50e65cxf328r&y@wOhuRd}72jBlw}8-W(pFnh`h+V`?o_c-e>FnsSBfcgk-M+; zEcRmA62jWostgZ4>vf{7>~v31w(`}Rp1`!-b1SxYPHo|sU@a4wVxReNKi{S1m85Ud zu;J5U_uJ6(lnZJly0-|d;Vx_Gr6E`&^tnitNK;;x`k6ZBVBkM{=wA+?jB8~sv))#C z81VY?-#E!bX_0=&b63wJMcGftc0 naX{4{IkXdtVvryME(HVmRhZJz$& zjd<2P2dZmqtv;M>*$G#H*YinqB$0Cr)k*!J*5cHmoTMD@oahG)vOQ(zd7P)a)BO`i z`1jPhsT3pXqmN+Pg5#UBm=L6x{Mw{92%$aVt-j6OSJ*p5@b%~S=_q+Pef>KK Y#U?kGPQ=RX<&6ldKfcht8|46onU=FD6h=YoVA~QO9$1cSIjh(<9oZs$$(?;g zUYL8WR=y<=(M;g&Z=Qj3o{|bg{bA)#(Ecj@L-|?cg~g|qzBIb-FHanE?r7=1G~JvM zlJjyu8E@*fU2$?JsD}e|$7UGDBz!6*)IEIDS|AkRQquvpLVN=f*)EAvQU%(2+?$*B zxk=&PEMYM } ziVF0TAC8;y3SH<2!sW`!fhqbhPo_4fXw6aF1kw;!_65j+ZYh w`=zR95OW92L# sF+eveNel>0+KC2(?dUY9DekDlc>{@9+DxI>j zqD(0ydC7Y+2Q*w_FZtxDlKX9(SpdmHLLW^j?S-*rE*cczJVE;`91E}w#)VHZsask7 znm;A8RrL{phLY}H&-#xhQzPw_4Oxm5WjLcXl{IR#wA&U&g-wgiZcyinGrPj>h}&|E zzbdT`P4t@I#X2ET>OPKr<49Da6ZHh?CK44vnDH5xXdv1g<-{H*uvH@XF?;1K5X1bO z_OULxmqNo8vh^M%HZ>>OImgFxLvd&)u;tEZS_RS*GKu3~nM&&4!(tG1`4WVpN(nk9 zT88o?d8cYy`)+)*CZ_!E!N_YC-dgT<7GCl9nR(yro;G|yn2tHDs8cwf+{f2 4f$=RI)@pGfeG#%(F#+a47lm`=u z&kZWZINhrK&t=AIP-(PK%~gL!_Xr=?pXi9L4t&b=kpbARdDuX@cjhI4xdElGs*Rsg zE1PDmD*pEFcsftnp`}{zg5GPpjV&yb%4mg712ke?oQOPuwH*Sj&SW;F0-GSKXYKls z1QX&_{c>SH!wOX5CqmjJg~ywUr;iGQEuVH+udKzuL8G<>m7{ULltpyh@7B1<$X5@( zHuFcA3cSw~e<^+bzp~l`rM_`|l(tPO@VgB$Yg1{MoQVAf=NbkyBeSrK`%lV+Tfzy` zX|LP{B9+eXQh8Pi?yjmot~n1rPY;k>xGxHE^XG~yTkbL2DN~4@h|Qq;#}MZKokVvR zo_bmHAcDuG9~3$%b+Q`<1v3Fx=drbF 50Uj-6STn}7*uGDG&oc_}QP!${xhXw$!n(T;bs8K^1vZGo-HC>X9$kTEENLHX zjk1*eT$mmy$#7lHOvGWteA6!HL+9J%jkour8Rg6TDc8_ua3lWZ7AAI2cxl@jY|>mM zzTY68?F;TJkTZ*!PW5rv#-NkCKUO5AG?n+P*w1H|#p?0Vn~+4}H4_oJiGzIEF59DQ z7_XuWT6t+g_<;m=Cb1x(MEq0}hq$uyl4zsU9x3rrC=OGguYlU=N@zESg|FH(@GN$i zFZbE3Z&;Sbm2eL0zN_e*8YBOo*W;o+^1!xNJ;b{Jc`izclX_=W=xMr{Y6&W|m;N&) zJYsY7 WHCxz6dc(^+O}t{a-pk(o-F!I=~$m=|8R zdGzK%jAHqvv%jNMhCCM{Pt439?Ms0ai(GbI|MzR NDB-Fi zF1-gY{A9OqhSg7vIC*+0#K~;wPu8GSXW)&8KyVbSXRwZF`v>+fb$w|{+SVPVSMWA| zE3F~9=ffRbDxk}*X1kfo)aSuXY}94W1G>$-Y}Sd3M>50fJ0l;(n;h{Ea$nzzi3C>I zrCJd_Fvso1-<1e+8kK#VE}KaWH@|nqFmCs9 {&)+`DX=rj@kOTzi$M8 zOeW9ghNZX^zIS@EJ5cE5dV{u`g`ajjB=$WlAS2%Pp-*C UoL08ND$ZSNGN@2@ZWL@;d)2Iy8e`vm&odu 8D9$78 *^h@F%UQ*G{ z)OYagc<&T`SbN%HeMD_Y= )VIQ3mlQo~|Dr!Q42WM`_}xq+HO>I%%3yCMAs$vQ9+N(Xz=jknAWL zZjS#M#N#=juFd=BXKU)NZC YsRWZT3$9yIZ9elcTH@PLg<}jW&es`7xoTa5^op zW>+V*<-!8uCzz&5UpGd{F=F;p(IY<7NTQ>S+?{(K)RbG#Cq9-z^|$@PToHYiE|Wi{ z{J6F0lR5^iD_*Pkz4P!oOMlL#%m|j?kkP*>DWao0;+9k1{WT}L)|!)^!ssvf2jChA zuG5Y_fhVUVj@}zMj#ZTV8SQOQNMb^#pd5#K6)qY+74Lb z6+23t&osa{o>c*2epE_7-?g+HTAC!Aj;$_TxbMxOCx1Y3&l&rYnZJ&5GFzG4?eVe| z8{5hXtEk`i+BRM2I19{~nK7DVO|)36KSF0s411I=<4UXG3|iG_WwA*g7PrWm>Wy2q zeFK0w4rR#!&PW0(e`mvF6m|{zJYS4Se_IMgd)l*YS{RH@WokG=eFT?m)Qid6E~{x< zulhK-JM}iscj}E0N?PiK0I(mQa+8W*t!M0Lwq21 _=uM kf1%(fs0bKd2ypoDe z9(V 9OZGSco}KB##s{DX(-G)j zBmdidhk0U)q_BZlsKN4(e|Tn#9dI5*nUL&kqR6j@0I5h6LS8SH&0%T4dRw5*-djpo z$I-a-LlNv?c0QbrpOSH*hi`x8db6M~yWl%Oqn0Wx|A&~cyuwvr`Lf4ze4?`VM>}T( z7Zs4(bd0^)|F<|T*$={Yu*Duq+H!FO^ypW(oqz^M0N$DtNxRg$Y}Ht)qG?vvlB3{{ zOE!g}_Daw4hOn&Zg?R~uI-k}z-?>GT{D;#4_cMy9 jlO2Job8&q5$s{W+ zsA3#5WB7CP!GIItd`H@-v3W~!&V1yL^%Ds*S3PG6TGQz996xcTN>VL zX~4W?UY(Xh_q- v= z#hycTbKNx*w>`oKUmQeT`Ke8Gt>cztxS^sD=3>W7PH2vYd1!k;gWU*Q|B2bYZNc2~ z>FT=l)799;GIbB0F2H~Q9~iR2>QoXtMOW9RuVMbMX!ekO20u`