From 3abf6756ddff3446253a3f515b8edd5c725a32cb Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Wed, 13 Nov 2002 08:37:09 +0000 Subject: [PATCH] Add a userland network stack testbed design diagram. Some update to kernelland one. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1914 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- docs/develop/net/obos_net_server_design_1.gif | Bin 0 -> 20859 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/develop/net/obos_net_server_design_1.gif diff --git a/docs/develop/net/obos_net_server_design_1.gif b/docs/develop/net/obos_net_server_design_1.gif new file mode 100644 index 0000000000000000000000000000000000000000..ea9160bd9994c72061c90300d065d01ab3a5eff1 GIT binary patch literal 20859 zcmeF%b6X``*f#K;IT@2}Hs@7vLHL@XZE<6a!+K04ZI7>|sFhG61*@XgUFO zT?2-n0n=Y}JOG~mr~qVm05bnE1*o_JbpGQDFbx6NssL>N69aJlPYS>_8{lgS@cmCQ zAml$lKu8lH#uX6rpDsYke})0szJToiOaqET0L8_{Kp?Ow2GG>h)RhA0>gpQK1`H1m zFBb!rmzTGJfbH$=lP18)$;ovW;QIRdc^L5g{QLy~d`$zs{?GqS;Qx05fG@IFXo&yz z2f+BhH{pNp1OOfk_(C9*s?F~UhR3AW8?7xE2uGuk$(E`s9E$$_!)9}|?%zl}>8~h4 z>H4CvWLnhhSHfl;b24}nZ~lYe^SZx`s0n|3#Cf` zWO8JhDwZm>8f>=4n<`goj0U2JWSgtj8iXLq^e38u8!b);<2kY|)mt52_vc#^EiCIj z0Z>RFgx$csfe1_ngUQyqgOLOZ*<87{`lE>q7O3x&Z4De12gHiYUC#KG}`xEU*nmmQBcK4A9N#UL8 zt`3#6l>u-xNjzW2^Zn_k$H~s(sKn#aAz!(l107#O?U=d?Wh83W!vY}8h=)u5TA7R$r$wrlr2&vA%Y^~D=VPUr(!?4^nHK8^ zfLuLTtKEE;3hcv#rpSzgqLl9DgJPIhFC$1~09t@CEFd8u9Uj^zpbWKEyB7+f=+z7o z3``q0&(-rlq&ATioIOh`h(iphvN>uqOa4aqCR|fQEzMv8b+~p`s)s*&4z!VeH_z8o zp|dH);jFAIUB!5@sgia<1lc5MRDjw8^v^-UnK}}rfg1kY=FJ^0uV)z+$MjUqZ%>gK zsZe6C!d+h$?*ZvXVKS8c!}L|(q2OZL_QGbTvu=mN$OtWl?p;0tdeFlOtz$1ss_L~t z%^!-L_+cA3&9X^|y^vJVcBHx%Ichm+7XN1nI?coC&NCR~Y2(Cd`cZfM(NRhrpReATKcz*|es6~}%!IpXnpKP$=7 zwOXdn#8(jJy;ho9+>FSSD#|HC5C{p4_73$epGSD6z$D(itR+asVulff7qH<|U0#xo z!w&NJi-bfH*ho`Hzvbw}`Y+}nbELOd?m7@HX7|WIOau^UDS;g_cNb=w4qGo9M2cJh z-;>sdK@ThT{U@0z4mXZ`({OMqegU#2yeRg%k`s3)nFr?!E^fb)KKLhcAsSQZ06Bi0 zIKNmlQu50H`nTIiCFBkCQYmpfwmC*wGX+f92j*3&>L?@R1B4o_G{$wSXv%Yw!_hQh zw)VOpMyzPOxlwUBZ)ZD5>jQ%4mptw;^EfxRLZX!yj-b=q*zm&x`ww^=VI8v{EZOqJ zP|`RY?XY&R(q;%dPwg#07`{9?tb7ZcaTOfuP*t--O+xKNDVc~QMuI~s{bdUAu!~<+ zbZ9XcKLnf4Fw%QIsOZbfWNKC!eb&}F{XwECtIE|yD937@7D|q3p7)73(`P6wr`OK5*??Em4S!d2Yf-pTydS$gs zxFaITJ4u1lz;IP`B4+s}r#X(5%QZwJ`ARoo4+}w_saK|?xv0dm9vZn6bHeXjp&V<{ zSdQg>q>!~gcLnWUrnM!nJf`xm+UGIqd(JW66`isb^HPp^>X}-Biu$RZd%WY=`4}mF zM$LL^wZQnI&h^X8L#KLm0MnFgkBepp`(TML6{XZC{_3!XWo=|^mBRX4b`S4UeR5!x z28di6^Kp?cjfkFy4JjYUsRCan542HbSeiaRZP-Ep+Y2wThpfk?HBxh2(Q8iVE;cVW z%@kC*njvYfFF&=8*jt-&5aev%rM2}E#W-dC+GMSUXcFLD)kDYR_FnM8k-$HgGM<`?h_^xz2ymm0_XH@wa6O3-<2D0Zw;LqM>;CuEaa(rU{WlAmDy!ry-pX2U6XV&jrlY3-ktx(&bXA;Yw?*6dJ&pE0f2Z9cz`0$4(yGawohSuhX_T$muy3 zN7)98g*a3{6yI$~_zB)-BNSY-@%T@~_}=Csmm4D9V-%^Nbn=4YqW%U#ohkUXPemU) z{u7cvS0UhJ^#$4I#m6iQe{n9Tb+K0c!Z?5I_F0B+LsDU&w`gd`UkR2-^r@A*G*N6D z8dhkoKZ4BU3_e`$6&x=yh6=#ZdS73iZf8Dut9B*Dtw{$-XfLttbcRo;Bd!Yoc>j$&8xziq<;HGcF8a8&;-CGA~ zz*pa8LmS|Q>iWxNZ{xW9dPe=DN5GQIPSKJuyIag&!y_h+EBV=ntcK6-z8{WFgCECN zoIGj<-S(+9{ESR+-)5W@+?;0k4}Y<=&$j{ZODTyqC8?)<^B=iHU9Iy3RHQT&hEO>GUVHS_P4M5aRl7!hUnb9M^p-3+^P?03zh_X9$L+tNe?bf|QTA7M5g0h+aVm(_qN11|&{` zgYt{Bl2)KKSAdpss74vK7OkX?mb1xADDp|z8f^G?sW3|~Q|lMWh!F@h001Wda=9cN z&MA7OY;>ko%qlg+(o=NkOT@AUMCwa4+D&-ZOSFC&PS0p$&S|vG9z+i<#4>dZ ziEzwxYYa(k4Dcmx#LE71H6~m#S{MTGGa>%1HU7;js71=7EyEe;-ont7#?C_HS#ti0d_0_5g{JoHHyqT;ZZ7_eK?-}Z#?)V zUdA~*Rt+3aE187w8ex}cpI3&1hL)&M7Ww@qnw%%XMj3KlB3XhiNpdaG!8xh&S(2eV z>FG3y2_m`jX9DeWA|N0^IU;dW0&*fFmVz!x?=>Q`H4y_ZZ8FJb+dyj;Jl1RygKlIC@_zf^#H#+AHnn zYx)pvd>3uZ32ZEF{$HZ8xCn%FT5o4J?eu@%=>m!Atf}F#r{PTb;b;L-hNp3H5%#ob z(b&70=4+67-?NlQqy0|96=?rEwoDnkl-kHBCL;*GwPZ9>2rA*^AiQk3Hh(Ow%ulb( zGH@Ga1)Z7gOHSchN^D3DW1B7Bt!`dR4#ixKE^IDn%)?_0(={@O!y~t?B-aZsf%hr* z)Z>}2G^d|+XfSruZ>eRqmo>k)GqX>;0&(0tKDNB#Gjrp#fNw9qd*K3Q zmh#d2a*b#TC=p$;DllG@jrJ$=>qo$-<~I|FJ*kDI^vuMi!j? z{eyg3pkN;G^9_w0(UZ5msCDF@{N6tXgd#SdKX9kE+oc6ek$KWl*xYYnawB2d;l9+F zZu(IkG?|#JRyigf`S|VmL#6p}qrs9p=={SYQk8 zQt7&4&D&D1byrcmk{hWKPTX>UXYy~!Si@EiZ=2-I3eO}NhfJMv(bu^6C`TVjH_LX+ zP@A%Ojnc(tw`(hVjx?`pVolmlmH&jMG+wr za3fvS?*rUJtl8nMxs3weBUbI`)I8f%9r9Lx+SG8DR$u5yhIkN1y*X=3mV0NGi_?|Y zAl5BKmDgz11;|uj^Hl&}YH@6n=cB5LC2L_Aq~MTrt}{LK(`)JY$|yF#!dE)j^b(|^ zTTxd!s(o6@CorrkJ6hjKYdYG;vpOgFI+}euZIHU$WLl4hI(oqu9iPiank$V1?@bf$ zU8C=vnHTL-7wyd*ZLO6p^Amqu7~II-9ak?(Zz{d|H@fKNT63~`QgpjNDtl&-I^fVd zes^>uK(q_^cpu~R7^nAQ>hwJMV!T}Rz-0Ff`E~#%+i@p54=37CWV$rOozW!Qe-QM4 zt7=94z(ntCA*|||(rw#&Z^>k6oAd3|?dW&h=vIg8k16SuYZ)jx@1>bk79tHQd|*Lmw*gBej!wgG!rjRf(JTH%a_e5m`$c@W(W zZQ>2*L5zNRj3zOTh4GKcXOAW~jRv2LQn8QZKRRY?62`<7WnK179gNk%j2CoDKwUPo zWp^HQwBcX2)?bWgFif=a4?u19v~_67hm0Tpx8Hsy$Ccef*?rh@ZDV>J=^K-u9g~L} z6LrYHdhOKv`6o$2J0~V4N2{hjE;BZ;m(mdg#KHP&BLr(#2?;q)_btr6xvD08%JW;u725 z!VAper}5&CDIc0L7o*t4O}v)3P7MCod=zI$UNp#QEJ&R#6863&y5psA^<~>DVpD+? z3jy~R!rtS~1=N?temHqZlnM*6bpbGo(!&1UD;MLG1ci2oxY;fz?L?$!9}CVr?8(+5B@QHhY=gc{Oh9 zH@E##V=NR8(&;St_JAgC zUz2Y&=xQ!KScJ6u73)eDI5D4~-cO6U>gSa5VUPPw{FG zooYj;`{-foXy(dC9&|{Das!Y zC~@0Sg29wv-=A@RxTeo5&(Eg6MnGAd=?`)^DWpw7^3W4KsC44Zdf_b)^B{3u`YR8!fu=v4z|yQ;o#6`u4wZ%O&bkk(Vp=Mp6$``I@Cb3!G>h>%fQ(k_1T!^nN;NYx1v*f z>hoLIb8vjAGwRE@97rzjgd|qg3xeh446dFBH!PjzRdL)0F#3vm@=DtI z5`#L^U4@=jjx zwtFXMTOI_Xz8gh6jVU&iA$?qkJav3U60Aimz(+(%m2bz}r(0$3kz@p~W)(_BmC#17 zltfi|We4I#k4wKV{mI)Axu!aa#OH~?nf)wK$7AE#=qU^iFy_8^~jLwcF=cz1;ILKBVZ@Qx*Z4x2S8waCI zJ(y{7xy#qZ%?QQm2(r0@v*x@T0FH9l&|x(mtX8DA=v-@&&rS}vcBO?CwKq_^%;=nj43w8Lfik`A0l&9FO7)h{Q9VwxCRJ;UbvYLxDHQV7V z{e(e?bNe|K^laAyV|{%Ol=kMG2{Trx>NJTa_=A1& zZkQ6Yes})iUQrkd`yr1e_{K@Gj-B=FN18&zRO32G#-0U0Zv<@Q)pmPe9-5Rv17PvH z%d_>M#nven&JsS*sE3>U=&!~BI;gH#*&ENdG8V@+p0_j3EGrx!H}R{Gi9L*}C#!pC zTh!1$%$l<405wBM1I8%zD?`sTf`}o<)|ut?ZZ%??n*fl>D&tZ?7~>uC%n@?pPm>nf z`U`3)a+%TVE_nUTWKI<4oCYpX$10;iQ{vA>?i);Xtd2(<4F*vR&8=&e{{~wm{rH|< zOc9jbA5C&}u+Nu1xM97`)2ML%nq`=#t&PzXY^fflxh}tUd8@{*9p;0Tj?4-puC;grF`l||Dm&m>_#3u@uV38P zqPe<7*R$%o9;-cRy3P6nas7SR^Mt@Ym*KLxUiYEGnv=jU z$w!gB5ybmzaf}|AJF@*&U0LPY08)g6U0yV{3CVs;o@aB#KroWt_!Dz7&-SXtPm8{k zM3tb*B{x{czpi;7kVk#lZZ+oUofFU`kN;-X0vMg^mbG67p~Bt?leO00RjH&aG0t(CdS-P8Vkk*1Nml%KL#(l4mrJ-1vV+rI3@S+ zA%qw?JKBhcoZKy@btwH6#lZx6lS~&7C?;x@i1UytqN17@G+P^%h-F6CBPB&8s>IPC zEswB1R3>LUt5Uaa^uFrVPPtFxGGsyp(9@pyG^Zk?1+$vIv@c-<*}0@h|1kfd*!HWe zoc*`++RB%VQ!UO%wC)*2M7Kov;7+lM3tBKd2aJilT|FfQlU8|r3XUpAeGqT&)nNvVgE|hwUuq6J!(fA03)Jit{2S9ADW#Fk04gCi`2+i)s_=1En|FJ#n2SNr@^rJ|>% zjFt9R=9iXY{Z$y$U+HmrP;hEVWf;@DZM6C_Y3uCFFRdVKGe(+ItBX2qZJE+E+XR*p zu?nt)IeoQ;=9lZ5yBNKZk=D0uo?28s?VUCGRHQjml4|$u?X#lS2XfOI+e1Oo_4OMU zoGWepM@-I54E-7H8lBcb_5?IEI;ZQL9X#__9$oKxlVJ6#O#K=PUuc6dpNB$IaYyGi z+vTUX=dMQqlBh)_!>baFrV%2?U_&JN##_%0u(*>GgP!gv$}@0F!0Go+`}SykbL^Wq zot}Eu_SZDW5Q$)&GrHUkZo}%3eMKcW*uJXhu6la#H{-kN)6K zj}|hC>SZar1)>qIu^=YK1XTvJ=ggjkLu5qG6 zS6I>j?6a^rdRtg2x^JwGWx_H*@~N=N{ZZ@QzL~MB=yNc5vHrde^eh&Hh&*f zA8;SQt9Dq4>l=$s-~z#JRIKlx;%twm7X3TLKVDbl+k(fi)fY`r zAMX-=^)-^OPF-QP6Extwi+rQaO<0^=n^n z=gk1l{e|Km&?4rashhQrGb=~m)fvIJ+!=wJa@3D=-5!^++{(Ky`?rH&-q-D#bF`Fo zzn{NY-d9@uuNPQ;@Az(x^-uG>c4=JR$ohOd!EK;@T>ojPU|THjest}5TIh!Q+1m@1 zIp%{6U=;%E{c-$+>cgln3IUqQXaqG;{@^}l{xn*xzjo z{`{39mMblmxSzXoz^}J1`1-3s!H<+;PE5}2hfI~&W)_8pow%l-xK@m~cJ`1)BbvcK zalJ`#{Y`O$%OSm(evO|3B!{^_k%yic@FcOsHH!N1AH*&FB&=eF4G6_>p#$JrCF~|8 z>^CJGE+rg4B%F{XoiB&Y7RgZP;zp$;-Ss3r>?A$?B)wuJy|X2Ksw6%9dhuf7Jr2ca zT+z*9gkZowg||B5jm46U-J;wEM`#-*!|bHO{iGsdq}wx!aWbx|DssM0kl&#H^DmuUB;Xl|_4~xG^aY zO9}`=3xH{r2vQ0FdAReQ52oX_&0Y45#Yg^&#UasHklt-P>*qGF7pzjR1_00k z9;;LYij@U_0|>TM@{3d(pjBtFRJBaAHWSm?-Gy&V1SzRdmb6v4w}g4@IYh8!8K&k1 zVE~L%Y6`ytV0YDE;m2Pm)f}*tTae__b$?5q2z%!oX2C6A_ zEaoEv9vYPeH~@U+GpCHpaI65p&7AO*qzk3mHkJx;R9cJ?30Q`h zBORK!8~6n7f4KAr#A8u!c*HR73(GMw&j+Ja_R0o1KMi4IkiP{$-KYV;wW=(|%73~f zjNB7r%_LN}l&pXX>QwwScZf##(X!>KQr<{1Yq+`y)H0E=YXF?h-sC~<=xwLJ98I$R zjD73616SEA`an(T4$Upfnc$(trp?|BG4&i$<)8TQU?T)x^awt(gfFR5)>mzuG0bPD zuEb(lkeqyZjO@|hMJ6+C-%myR7;SkfS=vd-pr+Z7-!q}u-G2D#Zbaz{ycKm!I`O|d zW34q?{4`H}rM*MfCsNi$U9~GdWvK<0s;OpcKHIX^;_2xU6cN^cov*FbV)CFTCD&4_ z$?52+7ZT}Bk;ZhpsA=|5P@2b!n)$s3@ z$nD+}(Zk{lt_w8HA{Zffup)wFkUU1-ly<*qs6Oe>9q6s0`R}Pg7-xb|PAQR^1A!HE!T?Y!YSv~esJ5{bO zM{^}jn5hV{nP{#F59i@~*Bb9~<*2r%={zMr@+wD3PuVuVLfH>6sUp}6h-j{YVqu)C z*hvXbr(sSG`MNftpG(E4;h^_u+3@d_qw@oogVemQ5B?xG5A zgR^EXSro5=!qNaeRv04It02DicyvM?wVDVId~A_)XW;}o5vi8;4>K_nv?TgLDBDjd zZew}3i`wu)($v}_)PKx%ZvGpj$l`&Hwh9pl8$hsn%87Cs4LVVQu_pU&h2Pvc@K@jA zl}by;NarnPM2FHRPThBU57lEYin%<1_=M=c2Gi=Obv%wu9F7emu_Yz|@Xz7A z;ORt7;c%DA>gPqn-;(A`l#8rwI5ufFI7)sR$Qr+Bm)=*O zvk(GbL?T`W0Ro9vPw{q7ojo7`Wq|~M06gvshPc2zko7-eOSIL?+*|aa)caF7c+-*#ALKKUnQfiiw%3u}u5x~Lnr4??t~t%kVOupJ;i8OJ%z_po8; zzBWZMAJwp@t+qouJq7GIK;lAzpUxmjoEYM4PBJtIaI_U1enxp*2L@d?a31dvpYVu+ zV4shjnL*g6XTsfqQ29AEi)<}6Y$eOmK zLbs47`>n^^N@VtmN)LXD)82pN--=zhk7At!GeWpY>tEf4@@z z9e{EkETU}N;yjc+ZcqYmILX?oI)KKKb+HZ1h9Z1O6s!#cttp9C;}uSpEL2wM9vnS4GSXhbK4OB6mm6kez)`E-YKihrdX* zz<Bmc`MfXKOv1e~ z;2Nl09}rf4x_x;ika*{MJ}1>UtE6~36TIzjcx7!n_bk8WTzi*jzT~B!|LSrs>Uw=Q zdt%Y>sY7@zA$biYQ7LbEC4_T*!f~w{DR5tL41BurSn=Tky@h@G#FoCnG`-cM76p^o zG_#xm;}1&z+<1k*x1zqAqq+vw_`uXxtK0oSQhY9(!P8rc03343Bu48yGwDDkwJ5c*c_Z0i zGSg{2gklUZc$g^V^oPX^FQ=pePuALtg#=gV~NT@?71>6a_B_>!6J-+tO8uxmCrT)lBzuGU*F;6x}pY;Cr0 z;BQ`K?dcbnK093czP28WjS;XsS9Us?<;MR-EoR2#x!cWDbtV49cC)(P97$$z1k(k; zov$=FUV{ZbUhYm7YDf$_#Ws7M@2?d#-<<|wj0ru`1!#!OBk8!eT;qA*w1ZG_tc)y9 zb5_!|cFo<%!ijt`bbOv7xyd7`G9wJd-d?Dr-;T{K*)SrC zlz$esQM-zlk6CzN^F9`(s+)g5LUUVgqsb#S8KcS%gq10YGQsyL(|1X;IF4~zw<`LV zSa_IRw3_IhnETrYHZ4rW=8dk55KKo~UK}MwTUcJ^u|!T^_Q2i?yjJMzTRZpC#^DX?v1f=Zat+mbK)4cs#@1Q>LhH{=lv>mD2fjR zHA3wRids%vvJ0DUe`n6hnJ;rFSzXS;X;I!rV($5flc`RF`H-z@JH-coWVM^s5#Uta z@P0TcY>L`kb@ypxn{@9zcCd|PKu%IYLBl^d_rYc9Y4)2kP0|fAbr5O~FOr99>NLB@ zlus$yS6)vExbokOl%lY*_fqBgHR{quH{E$Q@qGSVRF)NZT?(g*S0u)=dcV zT{UqTcpZ65gWW-0@t(Z-$b_tJ5n`?&@AaH4h5GH#3V*H(BXApv#?_MUAAzUH9fj8G z-$xU^&wG*z)sO(JTJPI43L!3EvE;0`dr8T!rH6grjn>bSD`bE0=bxwUw^dE%BRoa# zi-Y;2U0fmaA#um-^1S9U>OKUO+8~TZ9b1QircFGtU|?T9%rDx0be-8hy&Eb3KySco z@eJVTNAIb@YB%Qg2tCL(9ujwyJWz?j8pRHK2mi62ti8&aQ%41^k2;x3UdB+&Z-3wg zjv3#=+8%;C;1-}H*yimJebq)5>GeG~@JK2A1Km^ukwd6PID!6KFgYQS`CzY=M3l+K zN@w=>5rO&fxM!qw+%Fgj;et6EL%UqORH`=O<5-JmFyemY3+Wio?l}AEkNrNy*;zRID^u z6OMmfQi|4he8)$}*&d^q28zZRIWQ-!@yj$h+bOAAN|?AJ!!oy_Cx2X-PdcZ`nvCfk zvG*-a9mC}m5G{N+~S8a|~LEmUx)@Nm;m zz)(<1Mf4X)cia&9?p8*F`BrHH=_U&)P$c%X*BL~9ncrJi+E02`<)#0?LjGS>oE{)9 zB|fZzHg)82vo@g<*ibC#Z7pZ{MxEI&{V$CIOr}y!T~`_Uvs@u|oxwavCAGX!pOHfb zfzb&sV>q#ltuBV)QN5_VL@J9f2TN-wWeNC(rDO0JSrvm=bvd`>^FFX8eqOP%X7A`! zrhS@S^thbT_^9nj#5l=bLa}UqC#u6>7l@YiuNnorewVUx=BZ+BXe-s%dyCQP+seua zOa!-OyLo~P00KV3Nb*NtfG~Fg1(Mn>FKumrFr{!%q7$G5M>tT*2nnzT3kzTg4S?gX zU0;qWY8jx4grOu2N{2qH?2EO}Ow*Z3SeGts?5vPio6uP?cy41W0NOhv0k-azTYBvS zog!sd52!uct~hF>3i-Cq`%_tOndre5zBua;sMQVrpNxT+*(r0dpc-{^E#=?`2rK{q za(M~>5MwJY?FrP z``iNr(+*zLp=-mrCw1s?k&A5c_vzrYrjOBdVc;W)+B~x#O!0RNON+hVh>};mF*2&pDvoFD8KiKw$)FQ%BS&! zeTaKSI_2va3tPgk*Y4>k;bB;xU7otnJ(EijNAj5@r*o4<$vG8yUYk#rxL?k#uvus1 z2T4m`|OKFORf!r|n$hq1nvQJo&Nm@3xZ zw>3JzTMH5JsLRW-A|aEm&c~;d_G}Qc+@{`yUBYc^Grg$TU0-Foxi_l=o+b5mESSJH z<%kDad8g~B#KgKa&;ad!qw;N=RC{*S+?D~S_{{oM zc*n=I06oXJcD)N?OXtbcam}Rl_5tc;Ck#)`TT+hyd8BIfK0!RvFuKfaP4q@l?BWrH zJcC%Esc$>GePG-lFu~Pd!j?gfx{l2~=7i1xy-7*~pr5W0#Ig(lBnEBZ&H>mU^55^m z!75st4Pvz}-PbP3YmQxn;OA$0@L4*D2^v!9<-;UL zQ1`OZ^CVb1Y;LOq;WQqX_d2)-L+#!6sZFF<3tJ_jjv$X~RMFHi?a#aW5ty&PN6?}~ z2%S7@WONm`yG3Z}?HH*b!6f$gfw&B~E#vDWa$ZnXh<%N_9m!ji*0@ay)ca4zIsGQ?dZASti&2KFAfa}gR2)4wyXmZzz;4Ar0b z36oP4n$Hgw-_4aHh2hOa9V3PX!y!2sy$K}18AKv*F2aKi5VrHV3XF2f^1nC|kh*vO z!0#bLCVl`@z=8RcM@CSPJCxEIic1k#;qt8J%bK%C9{M6L~sta;b^nsd z)>6)LqRJ`Af>IgJ$1Q$_YFtt<8%!`+Of|jyo3=Bl>ZRbdSR0%aTQt}HwQdT#`kixK zOboJDOk$0nIVW`uI#k|_(PV$v=^qt6CU;>TH)zOO8maX6y3K30bX8GDA7zb5b~%qp z=iveVo2k%zA-Tmjmi>Lj>H?PGaTy(b*>%L}zxV@q`iivLs&OH?w|IT%IM9p-lElU< zsfSds`5Nb8oHEegOF{>Pv!sgjcClBgZ*_Glij_7G%<&2dU=Ep{4g^wD^&DnbyugN> z)x%O5R4R7_M#t-o2!*z(0Y>75LvF>I{{Kue&8!O!*V|+VMF6nK2Iq6SeMdU|`o!{r z`^Npn$(!cF=Vpo^O6zrV77!^=&ca-@*PMP+#a~BW(EJZivHOxPox-;Idc2eZxitN; zri7Rld*}cbQEDn+U;dESCZ_|hbnG_Wb^UPJn5rbCL?M&fW}8X~(%j!JK?%jYnA8>0SErJ0DW!gc!mqd6X7+-b#ACj5^3N z&I0T9_7wFlUKiFnC9c@tLCv%f+0>x?L74^=OA*3kjq0<9p+1(OV+e+@)>JP)vZ8x8 zFHa*cPd_KlP*}iEEr*6R@13$1Dlg9@i@pn$exM2wsS41K$xDnPNQ4~8tA;J09{h82 zCb?-9bxM~5I>p4NEQX~kiptAt-bTp~b~p?WITS9y5c>uY{s%tOC9Kf&p)XqwEklGZ z=dD1?wy9_)&K5oXa3|0y9!pS~$J0Q+);lu||zUtQAshQc+f4S2m zABQ0U0uTTJNGbHd3L7Msql#UdFMZo)2L@nTo{kp-Umzs`Rk;l@oS|q0P%fMhPpXsA zwo&KQdN-Wt=xDZYp8#Dv#UO=nI{MtX9Ajz-B_KdJqZfr#3|S5U80-}lV{8_@6xj@D z#u!9|haM`t5Mi_%5WLipvO@**LOU_E=h||!hxW5y4vAI``ZJ1XRSi^E4QJYpC{*R6 zgp3Z`jY0N~m0Y&bhqUkSncj(;AtuKjj@D>sHnk2aA&;3rz$~?EB*+1m{ZoyU5aA2= zJW}X@Yr`IC*dAcAk|6a3VuY3Et0F1;Cg+XCVc=pj_-MJ={Lg2E=^;b^Tg-}ezzie+ z9&HdAAp9-+9C@*74+Ll~WH`vYXj%>!rUs28LhK?!9H21&il8s>xU8ZV+snL|Bfol@ z8alFI-ot0!r+4_q%3Ovxcz_{xsK5-&t=_GMIYA6OnYTHuzii1Zng`J@AYQr%hs!!K zB~lKX2*U+4UYkit8PiHGv9mnh*(-b+ucck-AyQgnnCa15C#hWrDoMC&0hMSSgP_Cu zlqDb89bfTTf=EYe>uqoQLI;C-zcCITrRBk*g$&Z4Lt9m&eXxAZpMM^+=<3;mZ7xTu z!`d_)vNTL|32VV6wqGc<{_tV|3TOzZUKlU~Gz<+ZfRS}3s7jds<}{b+24`d*N8OFl z@c{(v>}H7{t$9c)eA5Vjz`(gBzI?Qa*0-rai>4M@KSMppYv5%pLerZFK!@&>e-O6tZkRWluqZ|LDt6ZxhB9*r)a@tZvwb83OK3 zw3mIH9r~aicDR`>O{P}&rk+vP3CzTB&P3Bt2y$V3cd>f<_-hX zB0duDVrIl69PU~~UzNQh|IvS2dH z_~BjP`mQrhD!Z%4dWn*K34;sTg9IE6_wH|lM14z$8 z5i4sa`a>la>d{yq&Jjf<|AEB#8qu_V$}kK{8?p}KgCy^(q*PsZhV!cF_sHP(F|n(t zO3CzHPWZk|pLnhDyBTUQ=29e<o@JDcw>z@wg)X~og1llk zY!Wu(_ywreF#JhcX*ZDuX4cDZ+O=^X^l%>vY7&j$&<<`w%jVFq#orIfzIn3AB-pF`h;xuK7H(U0|F}zD#*f#6sHJkR2 za{O4dk|eYGlV#PzIhf)RPDzhme=eoMDK1qZHTPs0OpSog?xg5pB3o#a%xpo!CEf63 z@^0l^TJCf~>MY4+egDMC{%ph2;^BMXEE(!3+2pQy=VoZ*9`9*y%JtXd`909q^Tg%` zlA{xayjG#W?b*#ElZ$hPi%R}XZn&V>59ky9&DYVIxSq?;wb>7jLty23eVl>z)k$PK z&z9zvhR=)l-ZL1S%;mpQ5RH|8otfp(W%+YuPhN8;yy5ijVUP7?L!W;4;o(*15^mt&wVl-FUGa)S zB4NJElj#Y(XNJ$lO|y@dNyVjSR0oOB8ah@DSHRljgGM6KxeGT!3sIr}v9!za`;$OtZ`TTOaAWZiv^d*YG4T&~;O(XGbQFyO!AQ9DWFY@*F`e6^`x&y|u18eM2 zDeChlZvJMu#HY7ZLGg6ucC^&+v>LL7Jn*#Lx8<|2b)vc@dA%m!^EIpT7PGvUMB5hf zz2k}a&g*sb!F3k%@%DZ3aryhmJgEtuxF!*_3GCbtUH>S*_S%B&*gF4_gxT1xJ6UDh zFgn6LO5(j7(?a9*Gt3S>&x4JAJ&ihdj?Km z-u88#BBnXmJNtK@*T96Soh24JMisiPnzK}m&7$O-U7=4`%hN4_wE9$jvj*S& z5$v80m)(=G3Y@MlWkH+LEyd)61J!w!N8$tBt^?2R9`SB#C`%19aQcVk`NS?_saILD zf2UhgLTLBVW!ELt>JCZefjG*!?QVNJ7q^DdO^;w1ixsZZFd! z6`1EXIO(l$d)B57Gg=YYuUDSJ5p)arW7rn1p5#t zTD^PmilzG&aA3iM0o$G0u;tB_02t4N3A1rc$2Ixptg01rX3dS`I_3QJFu}{3NtZ6l zxieGLJ`Gn6Yu2o5s)T9RwhfmvSJZW-O3W)8c;(-SZx=UyTy1N_G@0j3EE)Rq;1Eq$ zw@x&*YN5(SU-$k!yVs!Hr!RzEw){cl>)8(u|JP)1mFelD9lj8Ld;R-qlivwBI{uoT zQ*1y0>q}^~?-a}|Jn?|?@1O-G+)TIa1QZFg(#W6Vn2b z#TG>(kt)X`gG{F8W|Gdt`|3lD#~ywB5y&8g91^vze!OroB9&Z{$tH92%ts_q)G&zj zoV*gtEVbNHN!_BnD@h$u923DA%j6QxG}T-)ODV~GQzEJ4oRiKv?YtAuJoT)zLBs4^ zXwN_e9h6W$b;~n7DivMSwL%?z6w*i~CGI@7Vt>W;{!dq7g;iE% zrJa^eX6qalTd}C!mfJ$J{T5u=`V1G__dtF2RdUr`*W7j8eHY$%<(;=&Bk6s!T};tc z^xl3^%-7$51s<5-g6q}IU@H+mci;08e%QW+A)c7xiY=aa+>7@D_|k@B)fi-$Bo3M6 zl1)DO#EemfXylGP-f(4%TaKCLnjvBn=bUxkc}OF9{yAqaf%fs`Acj5~>7;=aTIr^p zej4hiv9$SOm8qU+W;kEII$@5v{u=DC1-2S&uU+0(?6I>>o9(vU-j(dH&DI+2x9OeR z?!5KhTU>k7#{12>`F0oZ!3{qg@s<1*yYMm5O2}nTvy)S$Tlv@EA*ue5-2Y?Qg-~`zRK??3qL;l0h z1v%J34?fT{_fy~q=i?fjhzUVf`rryHs2Uc&uz;P3APm=cp8Y{+hBVaS4%a6`^}&dQ z3Pho0L=%=F`h|xyR7wt$*u)<`#fj;I%?;he#3){og-ibIp__s@!Wtb!MK?0jj7~@+ z8YN~j!LcG1CAda5M$wHQ;DND)#Cy%OxA!889%lG9{kwG}+BhBYa`xzk>XnymU#C#w*e|f=k(lDIPgeDW8DbMl6Q<`9+W+gvK zM&`W4pEkNCfR1QHbl#AiJxpj87kbe6p>mxFb^d2VliAK6(leKP+~-E;MbSGl<^>Um z01L?10mh6#o{XUY0AxUe699mudZfVkMi7CMkdHANxPTt>#{vL^pnNd6Ku%#WK9k;5 zo*T$1`IPzs8XOg+N!_XWHb4QN&Qqs6eE|T(IliVo^`toE>QoO3QL&~V0$rs643r80 z3OJRfHr+r`dFj&-thA*sjj3DL+Sa#9)vH!LXHB_UR2mRAsytj*LkG3;+;;@r3{YDe&nD?0Ksc&_Jmj zpg{_5`qC8embO}zCu@OPzLl;O06T@P{%ipdT#(Y>v!R{oa%U?~xR!6Zu$?Ddc^O^4 zQn$I*b*MAdDb^71wzwB?Dr;SP*x0gGoQxr^dvBZD-QHBa$ZhX)X^`D$+7`YpjV*99 z8`|cwcBVW%?@z~^dL*rBIUFw3zLB#wb!LKj$=aPV#TzWXVV+9%d^Wv6OlctE7Dw2w{e@|bp-EyZ+L*JL%`t3A3S=LTm%REsh(%jVz88#O zr~tIFSYeFZ6E|7K_k?ngfy~4ykB`Not?)dZ*^y za($SMW4>&JS2|k&Z1uEj8bOe3LXh-vO&+k;F zS=DT40Ca%0YZfbi``p|=i`J*04swviT1+>;y3;gBb*N)K=2}acrA>a|hV9(zP~jPi zA;u_8A>Ej$hB?rRO)mOg09)67*~KqaYH*<)Ve@s_#lDnwczJBm@p4+wZH6$k8ROHb z-invTzBT!;MT@&Y+owsK{Mv!0;f2VHLPTeh9Jj0h5>H@2;gNioVEoA z>%+%q)0GE#xg9^B%Xj{oaBkaL!6~;n%WsWx2HP9ySKYC`L(^}k`pZ@?uJs-PbVu6lS4Cgn4O>&gw;Ji?<|_FXYj|Ipd(t5#E6_2IX|N}`=}#9u zoc>L6)1SV9;6}atG`+&1l6B6ZAN}l8wtCy&UWs?defwJPK^WMS#<8dU@c*@Y;~&3` zx<@|xde1?X2Dg~JCjRv8vwZ7czkaI6J|s0teeWA|`{5UV^i4i~QFj0P>4%8<*}r}5 zw?EI)SO5H}0{;ITHvfGFgugqLKfh?=pZ7AV^cafu*5C~yH0b8)MP*9JI@CYf)nNVyx>zP7oq?jrKbk5b(kj9|u(LPJBMl7z7il?%w zu8!`93@`}4PXtM+;+QbgmJkZ15Do8Vok}nYrO*YTNdfzhd@jtscnhV*ECe!c*xM#xcIOSfA9}O(ERR?37Ibm zfAJR~kqCoP5f`upr*If+P!h*y6tRrvfG(Ph%w3zjS}W0DE%JtK((JJx{R|)%(gh3ce*6#}iBBCP3D`Cg0z1eG-HQvODjQ?W%R0dA zF3y;mt;t5R+o(|3EDGK7N8PT_4#%FY6qyAR!O%KJR@jvMWcAC&3aiJ?JA%j|Tyc zFbnhP4l^+)bAlH0pd#S5SWCB3=>s8?_9T-sLorUb2UY;HDwbwABr?{Gxb!nHtp;-c~dx?j zlly#gIXNsiowGSD(>O0``DpVxeJwk+Q#iS^ehAC#D9f$5YpeoG@y@5J-ZTEEt_;qY ziWcP%u+&Em#gGQFj5>MGI>VErxQ9Rs)IbmPNMcihTuz)EOxO79Da|KB`K!CIFyg=q z6e&_dW2?G6aTY5xKn1k4x`jkb)I?A8Qzn9fstwJ!3J<)r>9Glymk?zR!=BFxg-%pnzOAj8Tdd9+8VX-KaWOS80Cid2Hg zjV{}*eA=z+1Z>)1)YaIh+9JRt1JC)Wv`XI;P7fpyc~0es&f0P=n()-);1LTk&PJ(F zDvvTLw{ew}Gfoc`QOQId8L#jTPva8roFH{i)6y36avae|E!py`{{Azc&M{Fx6;x{v z0%4#UgUwAt6;)GJMImqlG}MW}Q&nSCRuP0e+tg5J6<2dL0c#aRZ&g=+HC4w`HenT5 zi}g^2^)-prSeLa&k<~Som06>8IRo+j7K$SuiWlAI1$XdNrPW)5Py~&U^~O~Zfw6~< z$q>zTn0)nH+to9}l?3PU1n*HM>va(^?f>xAUNw$STdkRdQC%I0UEP&nFH!>su?P(j z8R1c3d(juuHC+)F2?gyCA+`g%wO}(ABim>g>(w0rmKYT_5g*oEk+EbuwqgSoHa%5i zTUI9@Fk6ps0Zn!aW0qze7MWr;WF>Y0q19!7cKTqJ9l4NUrlBw%@l{?emR{{O24fIu zm6lVtl4XIGY7eky^{)df^9eu5XRFq0`^{MeF=|)#Ys*#_d9_!k)@;|7Ing%x29|B( z*0jPlG`m)A@3xERmNM-YZ~HcZ^ma1&)^7*5n%wqn)s}D*H*XEsfdp4^A2)OmRC1LD zVCLjO+I|obd AiU0rr literal 0 HcmV?d00001