ࡱ> [^Root EntryPP`FileHeaderSDocInfoJ"BodyText`P`P\#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_]abcdefghilkmjopqrstuvwxyz{|}~Root Entry06˹ FileHeaderSDocInfoJBodyText@˹06˹   !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ !"#$%&'()*+,-./0123456789:;<=>?@BCDEFGHIKLMNOPQRWTUVXYZ[\]^_`abfghijklmHwpSummaryInformation.ABinDatayiO[yiO[PrvImage "PrvText DefaultJScriptc_LinkDoce Section0BIN0002.bmp"\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIBIN0001.bmpZDocOptions 06˹06˹Scripts 06˹06˹JScriptVersion d Elementary Socket System Calls % Before exchanging data, 5-tuple must be specified in both the client and the server and stored in a socket. { protocol, local_addr, local_port_no, foreign_addr, foreign_port_no } ! p.269 fig.6-8 (p.261 fig.6-2, p.262 fig.6-3 8p) Case 1: server well-known processx , ! client t L L. Case 2: server user processx , ! client connect()| X0  L Ǵ| h. ex) p.284 "inet.h" #define SERV_UDP_PORT 6000 #define SERV_TCP_PORT 6000 #define SERV_HOST_ADDR "134.75.204.2" % socket() - Specify the type of comm. protocol desired. ! X$ protocolD defineX comm. I/O ̸lp(socket)| ̹. #include <sys/types.h> #include <sys/socket.h> int socket (int family, int type, int protocol); AF_UNIX SOCK_STREAM (TCP) typically 0 AF_INET SOCK_DGRAM (UDP) (p.268 fig.6-7 8p) AF_NS SOCK_RAW (IP) AF_IMPLINK SOCK_SEQPACKET(AF_NS) SOCK_RDM (not implemented) returns a s.d. (similar to a f.d.) (p.268 fig.6-6 L#GIF89aɻxxxkkk]]]PPPCCC555((( d`LH00`Hذ̘`H0|pdXL@`0H `H0`dHL`H0xp`XH@0d LȰ``HH00dLؘȀ`H0xp`XH@d0L `H0d`LH`H0|pdXL@0`$H`dHL00`HذȘdL0xp`XH@0` HdH0ȳ``HHdL0xp`XH@`0H Ը̰ĠऀؘpȈXxHp@h@d8`8X0xT0pH dxddxd`d`p`|``x`p``x`!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx ?8`&pᄏ &{1! J`ya(""vx蠅% -x~.r8"2!*H9".9N6ʨcWNY#; cVMؑޙh8B4DfyR~]ĠYbx8[h}yZgVj饘rTCAiekjzԦ*B*+g Y يFdͩs鱬}\f-+oJ[mn mBlvZ*lrޒ6ZsL *5;-q[o,0evmb{dnC f{ypưzu)R,;s*~^ۑ/V???_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$ (ӉC x?h9 Ydc"U( F8A#zE\[@`D4\/S З}=Y UF8A#zE\[@`D4\/S З}=Y UF8A#zE\[@`D4\/S З}=Y UF8A#zE\[@`D4\/S З}=Y UF8A#zE\[@`D4\/S З}=Y UF8A#zE\[E[?bϿ{zk58^)Ť'ӟ5Z}a$_p` %,zZ0و?6y%xNV[Mx`Ny9eG+.B_VA}g0';fVqϿkYk_8}6tXB pRp*[AI0n%q~d '#f,VR'yM_q6 S@!*Ʒݯ?C*^ۗ :/wUTI{rV.4Zj pb_/^ u5/&&sи]ݺ.ɕhpj1[%f^jN.rI|eg ȍռM NVd8A/-'dw5{ÓE$ З_Ot$}݅ߘg߿?BSpkq8Vd p^YLs vkEԉޱ L8trds$\0͘j̼ـ{\g2Xz"t*W7f:nmRq0Pv:NMJ-0FRM/Z<#S'+t'hALgmTiŞEg`R/ E-^ sAgM/Z}lgp7Pm!2wkFAFJȦDI2GtxĀJ#/rH:0,ykOP8ٜ#ދ`%{iȗu\JdE'? OЌp,{ǥF2 u/uj!57`23[6A@xʑ<1y-ld0܋UbvC*23xN ɝ}/x%n.l/t| 9g< (rTJ8]Vng~z;5چ%Yj4u 'S-{ۮ.0X:t߂mladVLiNnM/]NЈ;挸#y(s* zYp.4]p3@[oO@x_>.<[ mnrwjvwSK`Te{ONEŋFSϋ?Z&)zmG&!y @>+W֑oS>lh"B4- RY önV8 e-eyM2f$s%[ 5BdoT&ٲd.h"]k?ÞϽ_ߋZ}BDdnN<FR0͏\PmG^$+㏦-0?l@apN.єK[6hkl/ 823M5Z<3ה%쾠mG9]ҩdT,-[똱ESO̬/8ϸ[Fvѭ7ڴ(6?zO1~Ux,ȓ`1&t?8u GY:yym72tㆬpGÜVt'M لLij8Bg;i"e`&tf:&-0:3I)s631l9ЙNH g p4LwDMtL<[hgx60'?^58^rIP]Ũqvxx()q AسZHu[˶`jwHP 9/6ln+k{?$qK֑?xh1wNk%vaa4NA mz Gf -n U4VٮGo`@RkFmQ/VF /7I}9lL.:&o\#=ӗie$ӗ˳xJwNk.{ϼ'oSPBھxhl,#KCő S1/ͦ_3#$ /F.4Zy7b@8qr׷qj)B$gyo^9"m՟V\pSZ%)p9WR7SKQ܍FvOVRTyV+烪}{l;BVo` Ry]0p7*ڕu-RkkWYm_kEd$6!#9"Vl^+[R grٗ[8 ]>iOTcDԾۋhw<8@/[wne@c_>1F1f@c                                                     SHs ^@/ZLrR\jίN'ƭ x{]8p"&s} e74ݗ%2oz." &BhqiT@N(+ţrUoYR(VZz!=rRؔ_I@vd7$ .*UE/V4JfmH|4jT(j@K aFWkhU>3{M7Il_[D|Q6kCi V# R-*D?MER70.TZ">~KD5ϙ{&}M5(x;g=;{3q6 Al@J=;ɢ<0Qbf  >%E&$r3 jptK{hJƄbv)([=38%3[&½8`7NE^.琶Vlfe0^{RтɎΏ}v4Rk~ o)X?eV?]C͕UJ_<6Rf^ )OGHTJqB8xb txpQ:er3?'9Bڎ4XbOхEOuH ]ڇX!gw,-6I8Hje)O|-m8/Jja _`o,omԽ,,g(TN{peF?HZ/-ʵb^ۤfԽSjQIg()y]k>zI\rUּQ԰O)rgz\U\fUl㘝E"1]D9]@Qֶqm8z@.bG]Dk]D/*QcySYoSQgU D8fcJȇFu[w"i#+If~B,^H&mΰݎIpu/Sp3Փi y%^E,!3(NHPr Y?_$@%CLr D-!_}v@%X&ΥpFHc) Fk(v&)l#mqdcX5#0L%bu۝͍p h"=r>3,Y[*y3sb%ŗ)ɻ׾8!)3l['i, on̿gyh)c``@nncd`߈ int protocol); AF_UN int protocol); AF_UNIX SOCK_STREAM (TCP) typically 0 AF_INET SOCK_DGRAM (UDP) -Rkn,k%jgc[O6vX̏aP錇S#ڍC:҈+,?'/pJ_aٯ^uZ##VvQY0Om=\ S KO6VϏJ^*G}/Wᦨ]yG]!QȼS( NHWP Document File=)o0>_d~ں]R 833:222/s,o#(p.268 fig.6-7 8p) AF_NS SOCK_RAW (IP) AF_IMPLINK SOCK_SEQPACKET(AF_NS) SOCK_RDM (not implemented) returns a s.d. (similar to a f.d.) (p.268 fig.?#׹F! 1TVƬ{ b_R8I΂D*a1JFxJU*Q9p5CI!BC*߷g35IOρ]9s3?Q<ֿR(*/^տUP @ RrS33 @6(l6W?_m;af %BH|4@(zmTn:F.vRVK,|W mlt @Q6 p|߱LIXdrxjmۑfk./^8|>GJ''% A7Scrb,@ c!q#IT]4#jZƹaF MTLDNdS;4B!$GM=3{^_ L#Um[cY^jp84-ˋFW!9#Ch4RjiDX B cml? YZ=$ I=S4F%A'$y`fv]Z^?ʹ3@r@ࣩZIQŬT*GdjoF.xIF-F,| ^M(- >V("#GrlN{4Ewsah7կ~>O?T91B@|ku:}imR`'VͶX,XV@ т,tq\׺n;]{ީ=f8cSR#\~_V뷿mW!4;ReUlϞ=/<JrE$qsjr]n&;tUU۶un[.gBH3;0bY [O!p$WuS&:֎f%ࣗ1upK:]7ufnhkmD䈀Zh:omeQδz#GӲ ơU8CC\ u4bH0f p e~۲C'y:05:5y 0тVRď]Y8Ȟf:m0,()҆ L@As}hшRXU3HgGnJPs3~u9x<^.ˎ!\@T՝\.80] ࣙ^ס9 t>VX,F ^ǏYj9 9@hnz(9%N0 s)x߽S4&!pzI{6Y?jn,WXrzdY(+gLG3|>nn$I&Y#pNMd{x=}Ѭl;,ˊr)7!l6*8ɑD2Gu|tg?KOx_|4s'4.Ef+Xz}!y)HJ^I͆,<[~Ȣm7&خh|@/P=}xS.Kq9#Q㏿!!cE= S C˲v\.w:jD5v|TX*'LFwdG|b p}S0Y@~ZO)j9ӰRĐZhjh4[fvt#7e`=O>ᥡnZF>jO2}Th oA: t5T'pݞN:IQVV+Yi^zRVu;#} W"#kB<~h=ZnwX3} P`h?mۇĴjckY W !p8RzѳeYZJUz: C4A@GN*ϟwQщ?O,2]:U0,i5נ9FqPym۶SәQA$oڔm1u'rpht," OAYsYZGv,KUNG9GvVh PjuNSc00H'f~ /@:u>ݮLhP)ٌ ( K:D㨶LHY'f}߈p8wڶmLVU\.GWc S^x&L X.ΙH ixxJ8ͤ~?O)z߮,?GBK@ OlێJEyJ\ P(h;ch?~{krz8BnVp˕~H|4@p<d*ЃM`6Uսߥz}X;}@EX8u$= 2'y ^yqh4g@ 7,eQ {ȶUպl6[EAz;NZy-˒NS^|9@>>*soI@FMtu &yzIlV*ߙ~XAѢ|䯋m>Vm{&gU C݂꒏Yy]^:}Գ\.g1$fpt#gYn^ژٳg47t/}wF鞎hۊ\.[4N}IܮZ|;mlEmm]֛0YRFMق , c~溵mw=7jžeEә,'2CVfpwۄڍXZ;8 UFZ5C1Zqb>ۖe  fhWRA #Ϊk頵ZvT*{7} h^e0萡uj hF# thhiid>0@: \h[ UzVe:o=l63ejYޯ}-V_ZR& G3d 'Z$@N9TVW岪Qh.*{egDΔml4{n?_}uv&R@Lg 05e2'-eYi˔p[Asd&(;u車85 @I&m@D6iZ-#^R;-M jZdu{t:Hg??~Kvƹ}"S[׏ ۴T*m;aݍJ@Zkf̘)[>MYSNlp;x^.EZ=r pm赉3 @6|@ $|4I @  @$&I!@Q @@$37 @> @H>$} @G @IG @({ @ Ih# %-A|4D fY`/^ e /h֓l '|Xnb13 BG $3jBl;[q N`4@GO%F{F}ɡ N&3guP$@E$qg^_ö +>zL@1h ul_oqxmOzx&{[ʛ%{ zQP*LwLL$WBlڗz^4B0\'^wBτF>:xY 9 p{p!wxSُdt>ᣑbFiTRi"4jոfS˛.&f3׻9jp3d6CK㣮IR#;`ꑽ4(%&˟O$vTҶ'=[(E|Uvш[ѸwَʳǗjeF٫F#{i| G@FY(,8ǑedGӧOƪXG>%{bJ`bM S-$];BiT5;#D_1|4kD@AYhLQLɨ"6z)>j2{(ڞw#FM1Jj dG_5;>Z䦙(w \>zQ e4\.۶}Gͦu =wGOaP BG $H1zZ/T&o}t{M0I }S)Y€ 9h斌3F T_}6%{r҃&ۖag!@(&|N#wr?Ͽ\׋ܙdovz@|rl@35 pVkS*mfzRNM 捏zL @ W\-'@ |/A%vI#fo͈# H|4@>z@|rl@35 pFcS*mzRNM ꍏL @ W\-'@ |/A%vI#fo͈# H|4@>z@|rl5Z'*^f̠ Vi◡y0,0"<"JP bv`  E 2?TXjEp(պu$WWU߮2\U{ι߹]C$>!\j5n PphDy @ъ7A G ʃ@ UVWWeEOM*G\KOܹs^կ'?ϒ  Q @݊^L˶hwR4̃  X #޸6]?;l>|t=+W?U~`s PjhGpJҒĮ]t u<'r b>?${}R@WղkGAȕ>+NA F7'`c>jԵ׿ UX?NQmkkkFJ|@(ǠRF󞠑ǜ/E?kzTVMy_O:f>ڲQz^6T]6Y?UKGkn/-jNԭa!  :E&@ C\[F#hD6&31*ôN .:(-svL._9ZX)F]#IPX%M7SZXvm6<棱NY%j6nZ|IaKj 02ёiu7*FU*ձٚ3|Tؾk|N멱= EmMM1>2~h[}T/4.hYЛ+FW}?埨wNC|gA My,FyF|.%hĮ̴j3W8>}h/nIj U*"A}_El9Q-vgc_>w]]޾)l%)J|?j.\,W^\.jOvKKKؔjJ|y',X7y%4YvQ5B vM@KOiq P*<ҼLPhr:IaAtNB^>**l$+WB?y9i{^IM0<&yV/Y챞orI x;#>V2 ࣃ&L|c~7u.aXJʘiԚ5˘ꊍiPZ[X&D 2$V { rZNј.;?)U Ծޥ|j{8ścӧv@3%~ԑKgz+)$bg4e!@`@%lĢ *T9ZD :b>Zˊ6^M:T8:k]l遹5ɿ@}GO,5(>msSDovV޻eGK|4$>3I  ࣜrjَS.1#.[Uݞ8H^Ct4&+ia՗vGtpDrFZZ;Gu6|?j.\8W^\lҟ~v[bJ|y',X7y%4Y6p|C|@GsH\=h|hC1ˆH"JEW-b>>7WwwPJ ŝܸh}ȟ=wķ=XElevCmzb|KRmh.' %KC#s#]GݏE<*߲t.Vk_/\W87l:իSUV%ڷ& ݻ'cbcӧvؐ1%<ԓu{盼B,vF9> $ ~ c MhW tbqA#7KdU&=S2< c?b{WAäGs,Y(|jA $y *իWkGW2G9B vBh^y RG*DP3 Lb>;_Cx |#$%aptkJ5ҥKU)@ -}  |4/ā |/\LHjh\#f6@9|9rBFGӟrE@x햲m @*CL+ @(%|mh&ۿW> PUhU;˾ P)w>96G  0ё?@e5BHIM eKK >8 44X@$ђ42!0?*NxAF   @4!%%:@!|!lRApMuM|@ h h, PhY:Eiկcc~0,< G+R6*xp2>ZƲ'@|s>Z&Q" ѴX8$:M*@ ࣮HAM%B-K#My@ѪwAJM@8>ɀJ@-A(@ZhZrG& Q @e!S &Gͱ1}?ZXil@ࣕk)@ *6=Aࣜ@4!%%:@!|!lRApMuM|@ h h, PhY:EiHCU'V VlQN Ph DGӒc >6 &&N>@ |44@( |,N4GCslLߏF P9hZʆ PEh˞ DQ Ph DGӒc >6 &&N>@ |44@( |,N4|t!GaJG+F6@d('(|MD@i iɱpHuT\G]' NI$K /|4_D&w ]_Ѿp1yFG C!}t(I?n8$ >|p&KhJ):|\?)>[|p&KhJ):|\?)>[|p&KhJ):|\?)>[|p&KhJ):|\?)>[|p&KhJ):|\_"]% i>3YGPbN EP7/gDG4 uÙ,II(1Ѣw(s}hfe >3YGPbN EPu-| g$!&ĜGޡᣙ)>[dIBMB9E'CG3#,S|MQ7ɒ>sN-z2ׇfFXnn8% |4 %>Ze͌LQ7Gp&KhJ):|\>anL$$Sth;>|432Gt uÙ,II(1Ѣw(s}<.ߝ% i>3YGPbN EP66w> s$>IdIBMB9E'CG3#,SуNgw}W_=[[묬/e޿I&>:0vHu{8pR޷9i-n*bq#m!ࣅhEd$fXh{cׯwzs4/QBᣥk@G+b{UуgϞ}(=Rj(' *t=ࣕoq}tosv![Ya_ԁg(g"5z\=Ƚ6x?ܸ)]b vm-L:ﰯwMAto4K}w>to݈I{7՜`a}rSXKN ےu "RF|&VϷ IEu;u+ڷPJ7y}5<r*&uB+&6c"avDt#ݼY%{7YW=묮Ed(|m(osIt77wEJ:zRݎ<쨗.~9A/ԋjDu=SZ.fyvU"0%Uz&GvQ6}NXpmƽ7;3MKI/Z3.3?yge1A쫫{y$U?4>Zb{ix>j WhE>1şvNU//X=Vj`#^Uuy(u%RRx~|0.zMry=UX =SW%˴k3ߛʼqL]_5GbGݟUߍLfaLTi}Ը/uv=D>*0־ՖQ]O7\6NnW1gkk+,>*8=9*mrW<|\1yj޼' uz^xӞQFӫ͚}G۪E՗e&|GYYf_ż&ƹ"79;OCgkk9P$/Ūj@.EvӒܷԫ<ҜS-Jُc4퉭YC6&k=["q(eȯ.KblDE7uzswƏGzJeڍ@{2Xaf5t?^&~gGtgflsghdS<&I00.k 333c$AG[Q\hq{SDFo(y7\=V^~:┗|iѼXP^75UO0zY"-J3iVb="Ա_J:Sc`c^X,OHg7~+&|tgN~{~J7l,Pd&O~|#Dև7>{o_})D(2>zm7ʬY⣶oP*xhFA8Xjv;[e %1ٹF8QkL~絧흶AG%JQ7*c1P;j'}%kG9>GÍfcj֟Y\ZM]˺( 1ΦbhARzf}՝;*WgѦxYY9?>3=.:3޹&Ίqs=I>:y&]Y[R^?As>t5u'*_/.gد┈IUE=cC=v.z`b9ȧhLjMqz6X^Ja_ijgOQyDCQ1W6ܻ(_pc>%&`.|Tk` Y֚f:J>*Ϝߛ7i\_G>ˌay mnKa㣚@u- [ardTj\,G>r78⽩ fu [ E^2N.?ܸ2i:*;myFJ:cb5MZF랧nDiZ7)ϨUys4/:3_H_ q(64A-&*62֑Ȱ,,`'޽Ȼ[/7Zza6FNΪջtRpܼ(&/W[˱֩D}Ər<393Wp,s9?#B0eÔ\1k-kbY;tpFɽq, Vg<< tl=vdxqqYEr~) (kʅ k#prY(X_xQq͆)c< e,Fr;B6;5t2Ga2xwJG[vT1J5vkڤcCk GaCxGe.Ң8kf#;< 0~W~(ѳɣ\YJ0,@^?RcR Ҥʖ x ae|"Q}B/ߝ:Wbbjj]W+|5(z&ɣR#T {jyti  ybX1~x[oo^ھ;~31$^7ˣ^va((2,3YQ7$Ŏ<:i;}%sj!MBk5lh|?!ȣxxG o.R@]K|5^:/9 58dV/*Y 0ڈX]襳|Rϣ[6oo"YEo\U2e^wחHN*2@^q: %#BBb)+%8éQU$:ԺG/:62m]V D|{;w~[}o}] K̃@5k2G?]bQ0ƥTy4"NVVZ__1~x `YL <,xLouW9 v>ئM<}7Y}yN.uRx4vGKʫH$SS\(xWQ۷ѩ_<9|Z-G{nqmT7GzͣKoTQ䥳OGe`_p.FrZ< _c]_zѱ~؎*x^ (===ģ)庻NZ~X£0Wu3ji쑁b_)G]^TVo.(/\FLSm=zؾ={o}{_¨׆vTǣ333e]v;;nj \b<\M< |2M;V[SreSVo2s``ӦM9ڏ=_c=(Фw-z^*dttNÆn `%.Ľp/$AoPt2gG5d`sG=kϾ{{}}h7Bx4en G<Œzz :qAuΣ@vSSS###xl v1x}677OQO&9@ow*OfXf7t!ׯj[Vk``Mwj'Q B48nZģ-xT[s>p^]T~:5sģW.h[YxtkONF3 &l JW%ە )AaޞNT 6o |%5jPd GFJ[>G,IQ8>JWx?y{BrqΣz"ٱaÆ۷""q}gٺ5Yt"8ģen]Sm+qaܞ1ARD<&ãGN0}G`;$; ڿ.;$Mt1|qXbuO;~?֜ygg"2r^vkGU},ӹ#G; fu% KmTk(JU]V_ģz3WU*L&@ Q~IΝ9h-ģuPj]iWoQ)RvT!N<*Pm*!ģuH M$A<7I#P M<]" lAȨTxF)TAG KR/^,Z؎.XEB݉GVģģJql ģux]Gx4jhJGVģģģQK3@<]׵vp!Z7P;hv݊xxx4{9Mo܀P̐Zz8RF@)84hFWz4M!ϗ!L++QM5(̑p3ģq$ ĩH jN< 9G%2:)Q_ ͮËW7^Xt]Zձ] ɪFx4n`PTGADe.J*2@<]WQ88LθģQ5B?~_sqCGgPˮy6DjT'E<ʷ7)ZvGkkWOڎѨ:.]=zHUFLZՁ"eQjSW  ͐٫}XByIHYJ<Ut)PEx4n3՗:vhB+Fuģզ2@<]PDģz3hAGVģ-)r(*hv^AcI1ыEU5QѥHARPhv݊xxtzZ(3Yۣ9hv^ar%Z7ZPRʠģu+QQ( ͮZrvF)hEx4nEs4aMxۛ_1<c Z+.&׏/eˈG)fdۉG+G3֗.3.h'>];_=;w~y9< M`Vhގxk&J<=m۠5}T`w"}N &*kģ*|x4>Ɖœ'G,k_9ůģQ& q7rjLoCmzZ4`?|֪h^j,xQģ|$wD]xToTם R~vFw?{CrAQjv|7 H< #XqJi;qoGq#<41V+1L/qFF<2BiPGi+]H@Saa }{& ok\o_?PJ2e&ģZwPQ>hQ-kP]+-u>̺0.gMWm9r'hd _G_)A\#ڎ(Ŧ3~y ul.>Cȫ|C$߆]ۊT,ƏHQQGѩgx4ޛbX0µ=Z+C〧J .]XDZm"< } e d'! ģģģ22.xE!ޡDߛ~E=ZzqR'YÅX@G8qIx}{GeCy(&'9&'jKP XZK b %+_ѓ+ hmւ~a"fa]ZfOWVeY"LXl7mAcWb]#]w˯/4@lx'?bG |24zQvI&." nJW9>dsW|aLo%Yn=JI&$1$;4,CϹj\| ڣ65k-괢$߲Rsc.ILI%g6w|v%Dp?4 K0s w99Qf"CD("#ڣݒ.YZ=]_Bw!+,<>oI3Ϻ\xȓړ^1VVP4덍URk3QcfL]#kv\?N,.cIBV{ezͳ54* aڣcQQM$T`ʍ5wپ͓ ӗncl1M! I[OmQđ8#t2HE-z9n^LTƑbu|+ٝp^2I}(lt-g=zR=w£6ȝjE@I!SN`(26 xԘ_F Hxn} b2N&H]F婤GZdܴ>!Iץ-FW$Jb5Vb hV\kl\ã?k]܈뎥^ >C}JeHƵl#{jѰ\]qrף97XcHK&H]EV Kh>'g=ꅁa9 )-tX8 )bCqǣds#jKa!}MxhIgJٵjݼ9 s f9ǰ{ӣ#c[3ѰInD0UY%jPʳ~z{,"WXcᡦn10qc1Gѩ Y<6f gڣf7-:UeѶMMꁲOiY=J_XYw,s!;Ʈ(&)T=iP$NGqʱ hh;+smflڰAȚx]^GtԺ5-smE5:U{+ Yvx8>7t0'U  ۵ sSQ<<2xj`wڣb0O=Yp#*KIkFl͗l X}fiE(ǿijt`¼:dLf @(&0xAm.!ѐNiE&+''7 AҬa]j;Q\Co dG:E563Q*:6$dƣyơc3376s6}kk>ҵ3==ZG[P6kxRI<ڷ% TȮ< xs¬cahYܶI@^FTѬH9~\w vt]*ң%1(f8H"cQs#:j*b0VNںC$AbE΋,HdN;KA|(Ҕң1QdJ*aZDCщhaGp߅bjj ף۬TZBv_JlćR  @e}=*Y-ErUx{I-G(d:i0v;$)(Ġ(w.G2DkK̄AŠ-^pGG̀hds>¡WϚ]nvIeJ2R*\w`[Y9G+'֧f5țG1[0e>V4)(Th$N悧7]j.hEdG'+ڣڣ^IhE_2׏)G.K5Ձ|Q= 1&O—bϕ0(x4PMp̢#?mQ }t*6NG~е%fΆAzo5\{bWK룏޷W^}SOULy9rd{{M1ڣV;K.u%1#<[RK^ĈvGgђqe@G aq9=J$_L-#t|܏v"-ѫDBʆt1`ԢԿo薿a/ zSW_~?=_}USH}ݚ2=: lM|`C(RpT#%7d(mp uHr`iW:Θ]y2L̸yg~a[6wO>1ex(oFvȃՏn* ф9zf)˲̛ /\~/?G)sssw}*X_ʀPZ:ij(4k ܓXt0L2]]# .CL`rNx԰:b۰c ڔ1YdGjR'0hU=ףG'11KayңΩu{T=ߠ<Z޷oDLtahFv(&jC/^9Rţq^ݯC( =Z:{P{Jf~D^ 4/y9j>x䣫R`Vz=q4`{ңҠԕDQ'H0%wRIbHjeV[e{n?,|S[/Oх';kD_hw.AG]kgzK N#iuCZ~=xME댡G:477w$.n>3g.Z|suIU{kKe@{4BBzChÏ=0| h0GE Oi9PH؅>ݛu|xtc[hlFdz,,+ EmݤG &bVGdqxgΪu=]ve#ef<勿{H[1S~TPсyȿX}]x瞻t$;d{6N+ISA7/IʣϟNj7ԽTGQSgN>sG~>{=Q% '7X+ܨ,h*3i'u'$;Xt:JGi$sss'Sʳ>vJx@zۯێ/1?~sȦ<:0Ǐs: 'G"ul:u*6'"ȑ#x@J,[/c_b^l>x ܸG^Cړj۔=w~0~ǢoGG<]v Rn\2u1<"s.ic/v)&y԰0jTNCugt;xl<*?2u͑Iw{:yJ?V ї^z;Y\(&/?.]c… {9.^"=!)Wlj %=*WrC\RD$Abe@sp'=jBrBң,S;ZRn/숎Z o'EhÐȹ% FG!ǟs.8Ov N]b=z7˭Mccc箅êGKtw z… y#Nln/1HSzyػwoΟiLGGǣgtĉco{K/e@{T{G^zԩ V:1wgb5u,q rl BDs4QsU&ܒ̐xBn(0:J{cQkyR3 #EAmވDѷPS؋Iyؽ{w%*@^'> o㍍QW\G1=zA{´ڣ75oTŖ .ݻW~~7x<˩VE=Ji@g ~tMy{66Q;/S R!E0iңGS%ixu{_ܷo=:܇5;w{K<&B{rGkeЭyS(ãv+ݻO(#SZPsOz.Q ja0ş "hd^ɞ<"KpTRP;8 F&gFB[;z}r%2誓32bՔshzX4ӧպuҍ5h5A=q2ڣ75ztϞ=&)hMy(X_B,qa/u%DŸUTx%% -ĬP;֭B)R~&V£} m ï> HhIƂzzYҩ(<Ou[4F%,*U<:Ecjty@)g2ؼrC>֚roUO#.QN&BfPHO>*ZXvY2noog{XY@OʆLy2#TGgmpV$uv ḥÕ+W Y= )P.P~Š$I3^ftg|_8<ް/^0_@zľç .Iwd8H !CY 8^'8LeAFwed98.W9gvOԏSGGjHsGeΣDuF_G3g`7x$@?xn߸qCkm'Gꠥ%>њ?-KYNI ŔS#!TC=C#q.>s!y@@=JՄGI=h6,L(9%2 BFK,v/#&1 xT1\ӁZ*Lou"*ml,qtwvuu)Rܩ(4-/8¥R#2h$X<)s.9٠`a') x60IΘ`Ef&t<ڱ렲jˣ~Ey3Gp;ƽ4IirģС]C<ri1λSrWמ~D$E2 S \N>3ːO"00~5vqFC4cr1ģ 3'oGud_ģr0eX7((;cNQQF`F 8 B@ʄhz Ah1&|, Ỵ)r%QZޛC~E?@BCDEFGHIKLMNOPQRWTUVXYZ[\]^_`abfghijklmHwpSummaryInformation.A BinDatayiO[yiO[PrvImage "PrvText DefaultJScriptc_LinkDoce Section0nBIN0002.bmp"\KLMNOPBIN0001.bmpZDocOptions PPPPScripts PPPPJScriptVersion d Elementary Socket System Calls % Before exchanging data, 5-tuple must be specified in both the client and the server and stored in a socket. { protocol, local_addr, local_port_no, foreign_addr, foreign_port_no } ! p.269 fig.6-8 (p.261 fig.6-2, p.262 fig.6-3 8p) Case 1: server well-known processx , ! client t L L. Case 2: server user processx , ! client connect()| X0  L Ǵ| h. ex) p.284 "inet.h" #define SERV_UDP_PORT 6000 #define SERV_TCP_PORT 6000 #define SERV_HOST_ADDR "134.75.204.2" <Client PID><Server PID><<TCP/UDP Socket> AF/PF = IP Addr. = Port No = Buffer = "Message"><socket() connect() # netstat -a><<TCP/UDP Socket> AF/PF = IP Addr. = Port No = Buffer = "Message"><socket() bind() listen() accept() # netstat -a><TCP><UDP><TCP><UDP><IP><IP><IP Network> % socket() - Specify the type of comm. protocol desired. ! X$ protocolD defineX comm. I/O ̸lp(socket)| ̹. #include <sys/types.h> #include <sys/socket.h> int socket (int faL#GIF89aɻxxxkkk]]]PPPCCC555((( d`LH00`Hذ̘`H0|pdXL@`0H `H0`dHL`H0xp`XH@0d LȰ``HH00dLؘȀ`H0xp`XH@d0L `H0d`LH`H0|pdXL@0`$H`dHL00`HذȘdL0xp`XH@0` HdH0ȳ``HHdL0xp`XH@`0H Ը̰ĠऀؘpȈXxHp@h@d8`8X0xT0pH dxddxd`d`p`|``x`p``x`!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴӧPJJիXjʵׯ`ÊKٳhӪ]˶۷pʝKݻx ?8`&pᄏ &{1! J`ya(""vx蠅% -x~.r8"2!*H9".9N6ʨcWNY#; cVMؑޙh8B4DfyR~]ĠYbx8[h}yZgVj饘rTCAiekjzԦ*B*+g Y يFdͩs鱬}\f-+oJ[mn mBlvZ*lrޒ6ZsL *5;-q[o,0evmb{dnC f{ypưzud7$fZGت u%⋭F5YMcA"BC(IuRI$H_$BxΝs{9cZQpgϜk̝Q@HR! Iq6K8d 0ob6!-!4dP  /`^)M'ɢla考8pJ:iç7N L{!1HC8]xzHzA*<3A - {+f0^ϒтɎ.|v,R(A |`%X?hJ៮*x}/poI3/j{ߔ'Vt$*8.l<1V\9y?rnyzWCG1ilcd`߈ int protocol); AF_UN) listen() accept() # netstat -a><TCP><UDP><TCP><UDP><IP><IP><IP Network> % socket() - SpecT[>KCll][_6v2w4Űqd5=qʹzzCW|"-jkEW+O^2M| ^gj4wPm#$d| /.yԪOq&u.ܑ|&LV˓zN]ɓ:< 3\OUpiJTx=5QeR6 6  HWP Document FileMjKbc5e~ /1n~;<>o.IG{ify the type of comm. protocol desired. ! X$ protocolD defineX comm. I/O ̸lp(socket)| ̹. #include <sys/types.h> #include <sys/socket.h> int socket (incZN5k]E9[vU~ 9e5ur-j Z;tr=J:i]ѩۋ~,e`<h\$A %x9s=ʝ /`÷CKJ1ݨYgh2dbkzœxGTS6 Jg]TGW py~Xd q',^H. cBIN: ![ N'Ywm:3I4;8uP8N/n1ԥS M㴗MNК}owo{NH1v}߯b6"҂:C3f?JrAD%/1e4:\@eJ 侤Spr`jn$FMC]MJŬͦ-#H#QQעVj:H g]eP%ڴXPx$rZn/HX@#bȪ}4+ACCϻ(=3VDsb3bҜL\[OFTiFM}(K=5SL%JH+Wg*MSu_}}x|vyn{6]ɳh ##W[|ڹWkiiFg@+w0Zy#:Og#o&`'tPRF3D0(f!pH&Dg+1#/^d5$+cu-.v-EcyΔ0o,`ӇL_ZZstcQp6:FC{ŹuS~֔nKR}yG%hh$LHi"4feYr҇Ri1ل~~>fѝYJ~&7Y_͎ܜP50רhz r&3͠ˈ]s|&E^Us]_"7_,9 9XGs3o\&: )s9y&qFXOO~G۹ "3ԯb-j8''NUQW8+W`f5TxY,-#N,'߆M7&sE# dݧsS!C)$5BNGIp 2mBձ@wAd)IdP:b|;$rj9]Dj+"TBrROX"G9ߗ%:n7nYη|b:TX8箟 D_k-Fn zUn3bSeSnuD&nʭ*˗Aڤ25+HԹ6_9Wwtr6w+NgĦ4s?t5Jn3vʲ M&~M'hs 4Fls''fn=n,֯|崫6e~{F`, %5nUn3b,%->Cgݯ~7wfs'N0kW=G. ЧɅ֢p,0(=Qy.WDcN]mb:TߜI)l¥cPg8d#u .QלOQblG<%Nl7ۜBhg;/g-o*d}u.^ -%:X'",ͥ9.^zxg-W,b7Y7=f] lq7Q)Tﷷ6WlgKܦBvȺi? ?XNUC@[`(B.V6P?i @Έ"І ڿD "@ɕ|IcfFyjѻuJ8`j$1LfsyDFO%%9V6sD4s4Hiځ6lx= 0z03=FY6GX BCyn*96q@cٿxm˅O匤k;J¥|b9sdgk󐯣'NtԥTs-g3<uZ z.6;#6|zany]#tzH=v -DQ1֏L4É>ԀRrrRxS/4vEO}bi]͓us/*)6M_NmVDT*?0g/:J/WpFbM ֨rne3=q@bW->}n@}.zoB7"Xw]`9 -J8G]ʝn6#TKM8 VtSmVXZE]ҾTA{/ԓT۴5zW8VP_F׈C BWޚZb(Z`@Vvh/G`+ ?;&VL=0Ⱥ4VF3yc16YwIg7s!AoGl^FlzϺQoŋ#}?G4kr|MPai%Ea`7t5':^\g`~aokv`*1-srIUIM^D/z1S!cvc:-ޖ<% R*|OS~r ~I]|ӠC#R#b4&t D^5&K HH*YKTJDDʦvݱg9A|}gA˔&.Rw+Iw@ڃ~]<Uu S$ZM ~=)"nb!>Ac"1[*6PF d'&IFc,&̉=[h<*d%j nH(ĵn i:?U|M/{Ǵ!/5 Iq)KJR O,g uZBҘv"O0a 2_Ɂ]Y6DQԫk]E|v6v/1U0R,}:cZ^+:zOo8 >8,O`ٲ3z]0zw݈9|~t} Ӥ4)DYZ1Q` eY\ 1 9}V9kQvRθ)ŹKkd 3? ?`^vPs&U9^6-|;}`^!?h+FG`50.KJ@ۺڶ}:}XdDnbD\޾jцdء&{ 0l!TmNe:ɇ.@7 tMƅ=a ۋo<1k4'^Õ#G8󈞹Pb>=BexC8hLy+e픺yo?u \3cvwMUn҃l] ޗ*#@*b:+Џ/%":w oY^&ZR (S>}e+c!4} PZÆ?wX[Z%LC,/ÓТ-)3F_YNYfCSGȅJrWC(x[ ld{'G_w٤h<8{'+;>5tA%Fw6ۜ}giÈȍw(c%@SycgS]>s&S <"˕Id:֍\vW:¶ڣ~2][ 촳o--A3Ec 2LhDfa(=h@I}>fCIG,'*J)A^Ē.,k\5a$=i-x6a]ZU[LCBŪz#'مqM꘽X!(gmi"™g?gȃlQ ҠqJpM!pCQXVN|3npVms?=\QB]w3ƃU'AyllRߒ@MYIt]JO+!dJ!}Bt@G,NۈF!1'RUhk&:"%>ZXu*gR L-Ɉ+Pz@+Mg ޒ0e#k u" `?Fk y״sT]Vy*Z"IC"?HKǴ {-Z 4l,I[8:0_**](x^) ʓ7bX*AP-xکtWnlZUa܎h1YÛEinb>;tlQL^BLQ覘xec GH"P?xTr Q"qvqFrLDJ>bA{2|EEt))BzA rlzQ<ՠ iHLWuT!lF%'*SRVF8_\D$/xí!DăFw 0zc$gm  a8"iFk_->pg7BoR@oj C+\!6BWB_4K\CtM:r;t>fuZB@p/>p"$tg0вz4W θ=m)831UixPy4hX)m2&(J3D%oPd.OxD ',ĩO z/٢{)H,,D_Rk<Wu`1]e(_S*fAػJNOv .|z˛J+mʪWJ~ru&},Wn5ROO}{p5z0qÿ⨮78'EL A6$m͢ٱE=W-wjkeW8Ot>rαt!el_S Gj'=|_:`eAyƎ~ Ϊ7ŷaL\3]|v[Jz<:RVY_ߘ'"G/%$?ǹ41DƖW*h~ck9[Ju̥a=`IVh/Rs)zm]V#7[ ƭDP, X}g$2wg 22lsyk`"bc]+wX_yMr`6| ˁoz{lo =6a=liG}/zlHYeץu ,6LAh)6R&4SxcC D9\샠 d #>E|Gap+ ؟^jnⷃkϼĊ>F]e>D.O){XkS2f 5oӶ vH>p;{lK3Iƨ|̭9c.(Wdف7Y*Լ3lgo W}Ea=l|^k~uRO(3UeWPpA0c4q 7q!Y;4~32Df /zhyC ?|+=) h*X|6 TU_?kO@jxQ|d7~fGȎjVG=獭f2W]RVY_׌kcX:\I?kO< w sg믹* :\;$ 5%8>ᔡyEM9qnCqnğ5ƙ]~3qo~8x#%)s6Ҙ3)h0h(E4,#jbb-}3*Y[˸/ȼ[pוsV2k+=)=e?ahOy[*ٞ1@aw0sMNo?`j sbŃni9?}1mZD^}OQe[f6+|}8wj# h0k s' mo\Z27?4-O081;70ab؂gdŢ+RVV~){X\DI B{=iHYe=  1LR!!GdM-/|V/'c,rZ\3'rLEc,^崎U7%q^ƌ Ne:R1y8ωojNe:RVYo88p&_Z:?`{%P( tɡXe3P Gv:"r(K?KFQV:Z? |/S|NEB8s˝=z{p#lT&Utcl3[7>\l9nhzÉ^KYea7ulU?afwc" >|9@-z`_X3/o" sv٤EYKԘϽ_N٫^}\){X;Ix~iGF?RVYs5S{F< xP CBY /81P__ ɚ̞W~Xv$<:R1tiwņvYs)F-RzKYeaK2х=X#8Q)6Q i8t["'̰0Bw A Z ߯O2!4=SA +&;W`/&}^#[/arˮ3k׶kܞ^wܵgշ 2 ^=<ֻXzϢ%ʻZ~i>3Vj)܆@H # 0!C 0Y̽Y}3뒟{MTe.v~[.?~#!533ߝ0veOGl#$ p? <88cǀ}cgcŘ4r^w;㟐jA)"UU"ԚE(q[J(mPUꦱ4UB yoٙ]si|7>::ag`=cK1ZoSw'F*2݇ccC-h qt#µv=0}kTN!gƂqj$f] 6+=kb,u- [&[`a C-6qT㯺_fj\=*'iQ9QXC V35kّ}t)ZmKtP}Ax06]+g(j-.8q"6#;<^-1?+6=U՜ǓW[sCf|sׇ;KGs @ ՗ɷ-[u<7eUVT V)bPci%A7Y "tp&MZdWmXk 1YTa#pw,p5j@Լ#;Kc8 "LIO"ԫ^vH)^OgeV15˨T^|k |1O9ysL3"Et:imC: ルxS3+qZ?y Kcx͊6R\7E̕x9#D;5iE5x>4>1b)I;$UIy|;1 ߙ0_ q7NsՁeϾo覡2v++NKa<f> p{]V@ńu5 >&QYsO0)7*U)~;Zs|IN_P!s_yՍp%X1ټ6U۽k._wu)k8ЪcJց|,=bΎD~<>:8OcO4,'Վh$dkB* &)In veO˼|S$lbg4Om>ںVbc#OnAL *ʑBuk#JonbY܋Bֺ+[$$+q.QVAAu;v{y'SMsVfZK-mE}6,M̱碃>,W6⽹_Q~0F{96a ^㣌`d v|:7#'FF} 3K~],]31/Ib8i9zQ [q;:`x3NV"oGNzSV3'ݯЛ(~U ۾;Jt4kbsڍw#"R_>qcr J1W@VR;UDͰ2h!f*ǑP{mo Ɏ${IE8V2ޢBS(fz._ie*]I bjT0}"~t}L^]wb#0^A#AX0?HTk$CӘ+FkYgvGv-w\CG #C12j*Xg fp!]&WVd1,'k׃ulE~6٠pWMצ!J.l][e™Qh,UqK'N5;C'z@g:\&{*A޲Z_wѨ t7pV*<>C3s_R ,U:iyr q?BnԨ;ۗ53La}QEgзdQ9=qXEc,`6٤68IP5䰿LmNټe/9|OMo1EG^U8_Ξ^zIo7fH6}/&[8_ŔGP1STj/H;=%*ix/:Vfr+j@{;ڢk4y6X#h=:jtn3*%QFߊ VWfft 7ׅ:Im٩%m½ct0&c#3+S0'MaWҴA$nQQ~S~wyjikF-])c)sҝlinX ULI:y4S#N1}lHh[0{;f*aµayXyJ6"=1lVf~j =®֨TT8zK=[v7ƔNVII~jJʄjدӜи:ʟtˬ\cǾ]DT(˪W#w5hr-YzUqy~*/hDz+ ,9ByFL1:"Z8Ľfyuɽ-`g":>ξx|*&3RyTy4Ƞ :3Sa%`r(966XXFj]Dmv5:XI 6+_ u!{mt}8]9fI:|2^b;:ƭ9 i5'ר 'E\\V}*yyM/SK^:R=XwAIH|'PAD־=UBP]0z*9gd{̞Wpϒ\8S.z-bǡ'EzGUwesl;UǨ0+n>dis4S9,T֊ d+y-zw 'Wߦa3W3Oujoz$?|^w_J`|ATc-a5+D)ؙ+>ibw!ŤkP~3E[Ĺ/(&쐃n4Uy7oP,CˏAYf|: ルxSrs0s*?||v*Z'GLK4Py#֟;{M/Ro h3gK 7n鸼/E+O?<=+yѣ6@`*@@wd !3 Y-L D ^.\z}&6!70k`~ӫe3߳+NKi|1%h{뉆a4Nh驶 VdGٌw78 GEG=Op$ۢ#fɾBonx_L: ׽9f./u: 2E\{.Lx8cK h/Ƶa9)k}J) 6 qKvKxZk?^cyN)T^#{pĴ paOr#j,EƸӛ#r""+O]Jv6ܥ9{4k,$|zCI]=1l!*g,+ !˩׺rˬDemIzb[2ϵdAȒ)6fQfiElsg9HL`{dl\i;&WZhs1z\zVl'>`%\Oy>[k*n.-hj;Zf-]*3|+MC+&m旆[v;h@qt}.S͆;zqgIFo!QGp?>4.Mu=Mk#\ӘUV(bكSm.B۠_ƧF /| XכS4& |΋9r>1I ルxSrs0%ψU KO7뿟r&;Jk smNg>%2<ǔW|" [}6o6%|^jOhb/-ҘGw_{@a߆>joݤ^DĜ_9ٛo[GnDl&c `鞯Y1/:OR&z'oKI#S:>MWVGbsX+rٯEoy+?>|K_ ۺx_9an1ƽ=U\Ri2ΞBjPܼ޾%6_l t;wwp璊S.i< 쐃=݆&EAe=D+E.HHk|X#0zf~ ȑg߻z,vYߩC> S~lǬ{Ѽ7!/ߕys~yo4B0z.P-i *RXi]n+'py?}=q(# f>>wG/}f/<C~~߷u}୚{yo7랺g%oռܻ9}[g!i6멥夬ANُfU6_dly12CKuN 66l^`yJ )kYMV8i9dq? Ó)<]IFpuZ]ó} q[ǚ;X(r] /o`:mK؛yuNSykWO̱3[Ha=|_*B"WPnmXLɲk'%\K,Yice[?Wm=d Gf+/Z#:Wڎ-\Zj,*\ڕS5n9J+ m dt-R_E 4x̖ZDHt<ɘEUpR>&i֪fX8E6d~QpK5K23NY5>ԥ : 3 !O=Ưa'(فZBٴ(nJ2V.AXq71%D3}ګos;֧JLpWd4#-$#e|F: vw(;puw(}fumgܯ,ǡUZab26G6qчs:I/#vSIueLpMa)Tg<;|F15ViƤQ`j'՘.G_c bVVw:|PRR:g~\\ET/q$0`aH> eM>rxVe|]L%wcqXҢ¸sFFQ4Q@5ic=1tEٳO1 ,S5,eGB253h2<*u= 4Si+ ;ז^Ƒ8A&gy 9`t=k?dF0#c?e51_|n6~FuWcvi Ҭo]hP;n ތR02__u NnBeՕT4'i|jq(NKQUg pT&T?X |S"&^aKźԝ 37I1ٓgKbbl-zKcxoS3WWuSǗ+_^*Bz0Uw5+D~MNa{?a8 [%9KKI3%{09Ǔa}]3vŔ7)MBx?L7^BB\4PsuI"X\H""dtB ie%3iGWbtMډ:Qڀ\ .ik]Β1Q({}9g9Iۡ%װg(H+ &.!#A^#6MhOZLAJ,AiEYF'L(+5M NzK- )^Z*2Xjdt6Fv[8%:FAIfWDa0y9@N^;m0]&d-/ޑ뇠$W{◬[?h" I|C&@*/*N'E魮#F"$<mbF ͅ"RrD9 @t1 G%leh0YX+d壘:qK!~ڝ|:A3K0)mlA١fUJ@PZYW{S_qWOF0rP?|$:"Vv [I&5S 3|#V" 3-6~| =A\$AVJl8Fv{(u$PF YxH8d& #Y@ԟQr2k#6ɼ'vѻY^7Ӌ%T!j׀U(=Ջ#ShV½5wzY9Hĕ8hJ|y afNOѰ.R$Xq MlUs#{Xk¦U=gk}L3Wu >lma3/j:e{,8$lcr%Zk Y^={P;y;؃+ҫhOoi{'qϖ7zybAHUSԈ?V{vZwH qBC:?s$3?3z$ثNG2KUm1qvqIk3|J? dzhu")5ę`0\M>+0#j! $Ù:2ROaS`2IwT9 oliyFƺ 4xIXy.[^q\wpS R.=`ivĨ7V):_ECX# 0i + DA-8h]C[ *ho[X @`Ķ+R<X*DU0 S͠'rY z@IHX v>JKPx nGZ,:QzDj- $5H;/M:e[r!٬b`)D·ELZ5a,y*_gs/ѭjgܭ~2ȍwY% `ְfV՝h;Hnjojǎ)B`&-S^a8ոn+Ґ2W#u[YnzScٗ"DwHƬ;Dzx'kٺъϛBm ?HGF DŽ8M5FUwJ%'2dIR@EۇѾԲjptcTJ<;D`*ӘkOѨIjYPf--ԚYkT_޾XGN)Q!^卅{A!eU'Ɋ1j}*ȮuQ _ΙK+;^"(BrT&%NvՊCrH 7Z`h7P1$QTєy$8F! ePff7 ],7B *OLZ[LȚIVoSV١/[hg>wfbiP/ffuX#j1V m7ᕼ(`B\3A djY"ַ/dUO|Ugһ] CMɨ8RZjKwTI4;r_|xu(޾ߡU<&_PzDj5.Ct~I#T7+ *kf>2RKeHmK$_muuZqoU]/O)حA;Vv&+82dq+3QwީZ?FJmakJ`ꞕ/6^e{S1mZz}bh85XIݛQ_l? KNWɬ?Gg1ESJ[6a'0S<*h#MwO{DJfĤی1Fl5{GYM׭X:U5h eiǣ3쒚LHZn܁%71ga5/YC+bqܥa6ڹ`b*zW5_I%q6Ws%vL\޼{ L~E{ɑEFHm!G]ԪLd#$_Ld˾構dIt-m[[c41J30)Bgwښ ;nEܩOy|X܅? #k'KX3?8Ϣ|IA3Y~:29:s,1"$92PDp. %PQ cFRA `hD 0GZ<BX$Cz-&yZ43 X:Ax˹GQzX1Tj#u㤯UUQ*`_kUh1`2?ǀl)ۡ1EyT"GL i7a> ړ9s|/ lxO'  '>?}l,]Uj0fJCNDܿ~:]{2Mő$f=q^)w>eVZjT$ny&vȔT-,*BR)OLYE2&9bס] {`*`S7YZ?[}P7_)5=jʢA#cHm{UJ*8i&^qvȟ2ƨT Wr Lj'ZTt0f!juk\{b Vr98hg%\~D3@]6\V+]Ֆc!}dS4Rз֣eEF'0^4ɑ@s\y\e"bITspӳgI~\x]j b fw>dDK1Q"oe 's>D!.ҁS?BD C#G{f=&iط,J M80MPc֌ބg;Cfa,JIUݧN 2!f KyIx#IDla6y TwL&itqHh4ΪõlV;*d>ɖujf%(iLUtXMmBE(2SZXr}$ceᘬ˂7DٽogO[mЊۦZtaI0:+qI/+8CU=-}櫇5?= 7d: #򎢇3_YQLK-ּNot߾1Lc3ODnǑc`#[hZ?i s9>Y63&·ŖWz\ə;oZ7'c{_7ERKFX2IЗIo-E?܂X3qa፱ 4v\Ϝgwطtbn+Oj|z!N;hh@Eh=9tYz#k^G(]ր(y7plέVݺg}|蓾 +..<;=psvǎ#|Hv\ɐ$-~ox)t;B([)q ]*re aGCH 43[Yiൕcvǫ?|1IkسO ҈J lq\Y=83;"fO zqu2L`c"kp+~CBmHn2-m XTF_q߀Ah3WO^]{yX~s_Os/=X[\.|M$"?rGfP4L9Kr"PB<)/Ce9&;<9@ =z;N;aYRst/k"쳃o#Bt%s٭?ˋgǃ!k_\ȞUuq&N"KgAfŵ8S٦Q\Q_yjM$w/`~Q1&Zw.ۀ aЄ|h'̯ZeD9^}Q?dO_<_~hWwur_ } zܿmX_~h[uw7K {/14ξ kwrxw"!ڇgNUpoovkC3/}Up`{bcw?p q>rl w8ɐ-s>4(U)`IQpt?ҵ(8H,◹[H敆^u|~R~2/۪u}b4Z4>m|S 3r+f]VkV; iF90y)VbXyAhI&^d#sn~|dL} ;s~GZJQ^}%օ-:1>XE]bnq,Q*- dD?:ٵOC]>VlL%;_3 H;(=Sbwp00aAfr8t"2xq8Dz.ޠԋyE|hXN%5/z;rq[V> g;zoXы/g?tےa>#yX򃅸~3ROuI=Ґ?28(](ɉ@ؒxC^YNDlrpfsVt,9spo@A}5A/k.Le0:D5E5!TFk{>{J&[8__MsY:,q`sc9)(]_H}nLfPqluh ͜lt!4鳕;2`#K~{\^>cxN.%XߦӍvaէ۸ƭ/^vcwYsp3Y437#M"tCPz?sz #Htlc` zA2b5{i3q<{,n H'Io$b/Q'Fy+ {ɨIOҤY'c?]Bzy>``zn˒!No[kG\XzhOGOGI(;<"C5guLtfo5XLAJ"dg-ڑpthG !t)aW{Vlj{ =n]U,-8Rtċk[eVB׫hבD>aO\昧)0([x?Jw>w1?^l3ͫby`k޷Q,RQF&_<Qx@fbApW %Ļ@W؟Ģny`CځyikӡSIen@1m\<>GC9T3񝛷{qd~?2=vuDV ;$ o&`{=uG`}-7w]nǝ飯qїFCŒ$%$(-Lcnu9cD 5:aNxo[(frUcqni3hXX\4P#N}WTըS_BΔo~ =a1CS LJEgj2dD=Dtkmu=松6]0[[Uy_Ӗ[|Ɲ/6)||rcsAnr|rcUxQ@3ۖ "?:G4ॿ_`2KEǏpcSo҉ =@& ~FAb$LCӖ? 0' Q[9L8_6a牛9 ❶6?ѣ_~d 7gV >qQsNqE_l:_Ϳ(NO03uF7 {l|/fqӨ:$d4 OVޑ~6E6Z*D WkWPh)^4;z! 8vl.XtF$n55Ng~lnt%7 ]xcɜa% l4aMxK :1Yw@'D<@}933ÑTho$gkpfqe{>Pqf|ZVԬan+v!f~+asdmd>ߪ;ڮpWduP/tʂ-،G 7yDq芁*jcxJ[4%Lcq0ձ8!vY=cI>R?.Mݽ}U[*<'T(@rZƱ4qOhx$? :4{dߧ!_h2hć^j`0_ηK= kx(Hkۗ {u~("n̼S_e+ gً̊ MOJءLqNE=IG賉 ;|W:6рʷfS ]TӶ64K>M6S!L8ׯm0,s&g8FEx%#Vk(ya?Ds&=v=倪t[[(tzG0}Q3L9)(te1jgsY]zlSObpc~s'p8`4۱%<LkO{Ee3ev)Ybqk=K.+fњz˯ױU>&U!pOI cS[i4QbU<i`C\1y϶̮O*^5GtESʒyᇜnZ(mT~U4$ "p ʮ>6[9m^c.dwEOgV͝͡^nP`{}L[qÂV4~p@К} l|3[~3z O٧pU#MtpAP!q0̷؏y(ٻ`{/b$RPn8wB{40 [ufNҽzPSy:4ܸ %b2 ;,_30td`(Iv tQ#È CQ9xzSka!#e_b恡H.(F~Kk;aJn\9J 0d+5Iꖇ+}/)T>b!~$&lT9TkJ]5K[m?ud{ً̊ MOJءd+=]ޓw>C[᜷xB_Ea k"_5Nܿǫ;p,Wlfhn&[8wo̻(t7>^pu/ RFIB.2x2d Vo· sBxVt;Oaϵ5F,b / ~M򇸋~-;ϧ؁u,_p߆-ۅ3d-W7|y"{Oy,qw$p}`⅒Ƈ$AtJ :-OL VݺE3fc;u$.JZ:tጦO9s0 AV9t`=05ʚS\UX/''1"8aRq׻_P9e\׳r$No9UyS_HS-XMǑ)̠)HUJO qTXᙷw Ģ3چs'vӮdK lk4;_]8{^{Ó=U{TWq6{x]MPwe=t:?P$/E%cu:h~|̥ 1S`":r8m@ cY0_iBˇ)KBo7gu0rSI<}$e |;6/MQr׊.p)0.h 8 7N{cF z)^0kxO.8 #"( y>ѨxQѠ|0{7[.\8G2 ʛt~]8kϐL7ٴ9 ,jz#I퍁^oЕbʨTqT㾈jlKeF!:9Q B7hR~QKppoՐj4ZW;[{*s6F{69SN8Y;; *_x.L-smkOdmFѫ7/QF.=u׽Y\+t-=e{zH+^P`^ܳ{ƸaA+|xIk?8 h>QyNƭeQ87ߨs,qa04Í͓dMˍDZ]hW`u[{^:}0 y#6T{5νJn\9J ϼ2,lܚ絰bXny"ZģXq#s`GxT )yc(^>bg_ْA+$Ywቾi 1w:ܚxFF:JҚ^ D1;ƣ\ A3c3KnݻU<@gKt@Ǎfw]/T/ɪGSp"5PWQ WQ@9}pw_;xxn.xt.v:uF CCgAPd`/SOḩl*"YEge;oG8>dP"ǣzQăyi@@l*$.PrKG?ƘG&x"je=tnX gѤx=-R亐c~>d?Ըǯ{i)h8Ĥ6dő1t2 |E4fi N• 5m&&u0>88;DdGeΣDuF_[h!>}z(6E7Yk\u66Z%^I嗷<5hI{m ׾x|PRy1Ȳ\FAOH08"ι<?ks!5WQMlWVH_;xb:ZX1j 0Ĭ  .:992ţ)cLs^ǣljAocǿ|Ǡ→!½oKc&]gOVQ:Ǧڝp49Pqu#`;\] *0vʣ`gD Y}nxxuu6 ַל 8|^Q|WZS(QIp3y=:QQl'cR[d}u:J)O,%T>Vjwl\HTK%+(jHd Ɗc/vkV>UY;ģe(@<E~q A}uZvzg+9q@dAtpw-xXG]SdGZ*݂}z}+]rw_cU1e똵.btN=Ŧk+FilWBMi΅vf>o(YJ(;O%C<%xJ]$S?9VTѦ'z>W/eM}+]rw5/z^ c~]Ԛ(((6. _"<0ȹد eA "6%&:(o)Yb;,R$"n2`Y֌Guٹ)GNHk!CpI;$ t#`TG[d}PҤRb#:RDcֵ%?_~1ro%,Q%_ܭ>0Խs* C&QI2ģ TIdBK]/uMˣIַ=x>DbьC!LpkDú΀GM{nx%EɹP&7p=Px V Vj.z:hJUc QՄ< q:%ʕG mcL|C7nݰ<$Z5KGϝ3pyF;~ XMH)dL΅z6d&Cwܣdnu$:^fģUs*Q; WQ*}uoyz=`A[ǧxK$)򨁄]@~MW;kgBˣIi16EɹP&7p={TV0 CsPf_Q(, KcZ~7?7ѽ^H_\?rgg햵Fxի9Յ~'f32׈u,j%_{S 8ly3DL!︇Kn&t#P;}5̻uly+0oK%QٳN1ѻuxK}aPRN=i +W?SKYo]&Ѱ3QR_S 8ly3 !G+vu Q>cpg^g-x}?Ox1X Ń{L2 yF;~ X<>s!q)wlYюwܚ俆OҼzXUUW.?y㽷W z~XQ?ET>$}kGuxsΟW;~1ܢNGKѣGW-G<n wp bǫ #?oe ] (q*Bs>5-rƣZcFEEؒ&l-i= D.qgAc׋ $}cMIdWF!@{Etޭ!rYux!?U.m~BntaM AwK̮3V>Ο7Lè/ƟQdiFA`ks݁"1t<\P)hW48l]3x} i Q0b @E2b 60؇KƷ= q$?,~y(H|IO%v7 g{x!h7q:֌_O_$ep/$6Sᬦ>?D02bԫЋfHhH4wY#Oe OAv|EAQό}X ,}-U%CcLIÑ|-If|/O@$[gvQvBExm4=6/n ٍ7kepDdx-l)Ӛ֕DKH;(7 XiStFPu/q8[4wd)"zw5J崋lQ>G28\=-z:-oĝ.6ɮw; PmcbO%']'Iw_,Ty2*5͏W<[ez7!$$EذjL]T 5̞Q&$DIxU:ZU]nӳ"O\A AYEๅ[.eY{箔{tOOLfbتT{s,TQ>m>5E,hk3EUؓI|T q XC:W jgC2]:ζgX&#S|pm0rx2vk$3ϥIaP2bFrTE)jBXu]5ښWc+؋&evOxe8cW`k$ ,і6 y\2NnAŏ1cwL d:956M9Ȥy9仟)~_wp@azikc&YB4WxJS\^1s ~avw|gVUe.yGǯ,-oG57US Ԯ`?7Y?~}Ru|;vM{|>|k- C"' n*=.=qbJW"=a yDs/JzlyDMANIàgKָ$Cټa{H@W8%67l{YĮ7_ܹC_}ߎ5g]Tv3iPIacF' Of7a/^l>tsp^0_2sI0l~독O.L(@M0W e1%k\-uvCW|ǍCT=﮷7%UEzGmi/k[x;~҄K}sʝS"b^UMHٮyfཋ4f{56IcSҟ-8m{ > 索?n*;Az+ˍR՟" Ft6C~  Ի#7.|֥ĥ`T0W6{&K6]sY#G`oږܧX2x鶧?3Cd~5ϼ~M6|~ޒwEl~˺A"[^>w7`Tׂ`؇qeC~1ХQ 5R5CJ]O20<ةK 'ʏ5QD| U,|&- #vn//_/j!i6$ 88)`)ÐL- ~163 yLjNn"ʏgђ\:~q?^c1f#x-Z%Όm;WY7f߹ojQ/_͆瑙6VR_Jd}ZI"]d$hp!Hpx<l56]xbeDcl:UbV#2NaT4O-崏L[׌47[ϊukWJ&؛l9s\exGt.MKfλ8sIqXWMCCgT v"4y=$WUY vŝ]uHb9߶KR3 ;u5+wwx:;׎//'=v_$7ƪd| {7H8D'EMǵdl_V%8>BdW߼}'w^,|ջW~_^}ɛ}zObZx/UV4AO>=N`(|@ Bf0ETsʐo<6F|xn#O7|VN%!m(tf0{\ܺh>6;¬oi|l éd w{ B-KQ4Yߌ,MiiLrj5 . AI"r¥j'Z{.KUH :1oG|ܕOHosrm[ӟx}APd:hq9a,vΑ쉫,u:+z5e6{Q(c,D_8Z{7QS?׈^٣s$*w˃y}[wAtܟwTA{ٸCt|dR.A19'KIˏ?bi̲ Mɬ⋟Va$׽DuDEs-lU2Eoiy0"MI{B'k=N} ` [暥_AZk/$tA|se\-<ɽ,>KIp`V |wbp٬28lhwvěqBQ'5_^IOw;!'Rկ`" >CNZ3ڲaeZ.chA"z u- ⯥ se"+DF(ؙQ˙|4xV~b]S?s6v } 9aݡ`ܕ%iKkvJ,e;fQ ۡ͏Ty@b΅*>n@dFӷg6Z:$Η$I7Y. jQv]"DǭdGl7`/+.mPadZ,\z.6sIFĺ7KRÚӆjGG;i#2 vp,O5E]‚Ztͬ6L= DfJEo;tvl g̘;C9cdt9#=#u;+N+CDHjxGnGzGv GUq!qI\8D2sސ~nXQh L >"HGHQ gǙ@$"#@(ң@>g@I&TyZGrW ۑQ ۑå@gd" d j?BҧA]#A ;2̰#p1 v)DieDp,أK s1# /[HDepF6u4`ޕ S4:dVpTE x`G@. || ڜ!2yLb;.p#] Hkig=j[˖.I۲}5uHh@\<*pY=`_^ 0Uܸm,iޖ/Ͱnk4`p ~ULވ*TD~kjcӸEØ"|Y5w TjS{f"ߌ35L8QGV`i_|~5):L)/bshϩShˣ'ºQ)y ;E^ZOR?>􍀌'Yϫe; 1qjf(}s1KFC^NG-3_Y}{;`Pԍo\{BGO+9r(4ywLI(0ti ѡ<+pί^\|{l6 ,jHˣہGԏPYR•$zp5 'GI8c IIl*K.LHM,$oc'1K@EeJ^Nr,&Qc#.AI;S<虾ξZaޙdjpBxH4".-{ wJfNMٳtM|Eq_>0~tiSNI*ݿL)uSdӌNG7WV+?hXP)y/) _'ޝTc\} 4h4y|C7n+j|2R$>hm1C6XQ0iGcyyqyFH=ќcyTX X,q|M7E355ѰynṅwG{A/VGL9 KnThpQJbFU 0SRUK"t}Ii|kgy4*}C *5ש `e+ҷ;B,KpQUJf<kL<t5LHJ 9*b:wa/Arh£!(S̙3ʙڧ-FeIB wϞ 4a]g@ˣ>ˣ1(Lѣ gQAwi#D5SK%.;f :*)j3Z-GA")Q)zG1ugˣcy^͕@#u2:G':RoԒꈫB}sm+pGxw yG͚%V"i詔x CJ* - ʣ 75sn|5ϙǥ[jm% M;ˣ htcnW?TQ{%e70* }eI2jSDX] i+gZ^Vwk*ڒ;nyTTjyԠYLQgxJoVGM*FUz774F1. !D#[e#$mHm8HF-{LPRH/)@H C C$$, h>vmbZBL^,*$^><}6B/8(!:XQ uEWTz{Sa`H = "" ec=w dC^<81ecxTĔQY`9G ^rguyԄQɝ$QBR"Эu;eٿU;}!r(`y4 jU t=#RL;xGIL!Y:mbUyT4cH[R55;Ck5)ʣ-.}R _( 8Qh/=G: l6WWW ٥[7%5XjYt2npK,lHt}p}g : XMLjou|5Z =`Ҹ=yQy4q*swˣqOvƉI2ģY&3g<>(gjn,IQrW(V+y {tMӱX6G  лgώW~:᰾+`y4 jU!뮻R$w@#&Vw(5ݤӲqΛ&>Q{%e )ƂɡetmWVmZXX= X5(^=EU3ARR^ב(ԛi3tx<x.]I ^j's#]vLMˣ? <w".rJJUFOYv4`q)\YUѵ;?Qѕ | $Lr <:6^vAeiYZV,2kB][Z\TT`ݪF4 (`yhZ-VF49Ѵ KGUʣgnZ$7<@av fmAX4ϵ}ۼ"Nf/:X811L框ny͘eXZ rw 5rv͘ؿR) I"R>˓%Kݼy滇ݝ9z!(9pa? "k@$ 37m{B1l4_]~RE m:}{;B1 _"BcPJX+T4݂0=ۋӭƊzGl6SY8)ϭ041*ݗmn<*{);pi5"kSyV;?U2G$. }£Ozysӄ" :a0JD+xZa7V&"s^6@_ T(G[>#~<&5cr.@{=\g{R[Q㽽MhS߇nAػ$Q5#Ps\g}PgR7otu|_;Es&haal4şLyYD B4(ī׺P/ԟZvRt>yyΏ@;cş1Jku:7ݝGΏOsoBLnVxTxo/oƣݮ+ƣ=D~[>ݿ[4GѶ50ɗx%l}ltrEDٮVAGUN@~Z]~(T_8j+_W~ɍGOG\ۑlh+Lt JލGe!RE4w>ݿ;Ǵ#q'QN=E[[L!>P[8J(blƣÕ[/89&2=ۋ]ĆXQt>f3qLynq?QEmsQQ/8rE]S,\;7Yۚ8GaX/n4\j6}I=wyWkAxTxo/x 5Ѧ-({7=hl屽o xŜ1z6R(4,PC>w.'Ec@*U$Ynժ[*A֪.Ч_9/} Pjz熘+g(^Rhl< (VSEvxTD9|ɜ gDxyq<08<A çh8N\ K7ċc8՚PiRA,,BչVvXd2<^?*SƣMrQ8 vf*s ~N}u JލGeJ􀍈P8f B@S|Dʦ{QT؍xչ}M}ο/Vƣr2j/^$TjO*5XQ67==ǘ`?8HB f<*hs5= ~4"pxTxo/^k0xhbƣPGOv< =NgNE&jp/Q㽽^~BxCTxT*GчIb\ x@ctu]9jWu,hOs<_Ƌm7ƣH`rPh+TEmsQë= m{ms=AoSGswh_ǣ{[]W(Dѣ=΍[oo~S9/} ըοhKcѕGʰ*5H:n5V;=VgYs%/O>s+9MJ-({7WGu*󋱝Y^|e'7r,si0-^_WK_B56e%m<j:P3mΊ"춹,Pvvv]%\ѷ^]g?GUK_B5j5}h+Ⱂ*mڤy0bR* 4mG΂ wqLπ[aibTnAػgbtSurϥfó)9x2jMRs 5O8hx?{9bEms<,FǔVsKQ67u7~yM/~탠_T؍mBPݜG}'m<,$\Nl4Ng@^kxt107#"fhhSpԔz'2yfƣXnAػhO:JA1bTFuoģڶp$7t DG/e_zkz#@z"£'?G,zE9MJ(n M]QO+7s f\/FN|ϣOG7]J&~`{W^|&FnUp^8jֳ mksrۙ`_'a>(1H%l4$ظhhO=O=To n ~Nxƣ`$ƣvEy~m7+[=Jdm(vs1@$L c%kx^'xƛ7~~o9MQK:G5Mkآi=/c>"܁ȣܜM xxtmڰP"S_Ur|q >?7vu)ZɮrZjT7.ӶģE5"aujqEiEFn<Wywz%Tɝnp4wjT7mУ>X5uX/`ZK"}YQeN.YifI=)J *m@~Rc(uGIwB|EC)ZDj8χM'zj< 򡣹;QMP"idt 2]0lP<*@Xlz'vLUoSGnj,',Sg_Nj}TIU Y',l?)y_p,iҏ<ƣW)w$ ]{h ǩff=dЬz&PFݮvx5I$N@a!C)ףtSĤځC]LlxT䩹qk '&1{_rf]H}j/<-c16JvfWBE>ưѐ/<)i Sks)Y n^K$W֎M;Zh5-"m=Գ@L_l4G;ȜRm򌖫V.ww;A.㚕hh{{B'^GՂ }oݣ"2~qQM䢴v?re:(=-b+lwdN7Og3/&Qk[xz%Tɝ暲t0!\D!)TƣOxT0CF;ӚMzafPQVfO:hH~N 7E`-(2jͣht&$ E`I{Ѝ٘lxT:sl"BƼpoNn<*1Hz. :aܫ)MXS[޷ƣ$&,K,(ԚhhQ2x}$M( 1 D7 4Ѣt^4-fUߪM/g聤K*,jx߰G+^KTRIdgʦH &+81y8BoأEE&MZkR=xwg ;Y!N]')_uj>,/$-Fc(1ўoUs!.< {r_rGaAɠjds=J7EP'wqC <*+V%bZ#b.9QdpyҙqxP>tZF8\?ɈfPrFeVQq%Ή- K+{iT8 2"&Ă #b "k;ߧ3㾿ƣHů%KS fHt4J4<U3M(hM}憱,l+(% <=1q C?HpΞfzUfiXnj lGe巙Ge{i*zhߣ葍hi\fGi7F+(_~g_^8:+W,^dmߣ9 ,wYQhhTB d9tE[(5(-cWxT+H (:rT*E,. a[QuC?Ws$ۛHI(LYӣ#5Tɝu=&mạ̻|3._j:1J#9S{>#/k)Gsb$8'Hrs<S`2z7S: e:/4c;IJu$ .#{4$jp5$ur&µ}n{-Jz"3[$ =h&ۣ$E,}[bxWvՉ)ZJ xT3LYMC [2c9p5%D<lj3­֙TOo=,fgYJj=+wwŇV#c5SgzS1 yTZ]}MDR/5U `Xs97P:RR${M~Zo+oxWX ["1lhg:Afh3U_Q:jRk["VYSn\W]Xp2nEظعі$y6eƿC} >٘Oqo5->lPE~ɺ*EfGqX+JS.[f:14q**I媄,y Z{p_*e^~,XCJ!˩[iy}{t*,&38.w)W{}~v'Tn ĎC̅ύqJM[L{<=}< R_yeM>hkx=~Nj2PkYT'OFrd`8J?}=!OQuKq>GmGi!5?@mMG HN `2!BI¿$'=yYϑExc>G4mqӣlV{%2Oc{XOo; F)Hzbi}j;s&HfuksUEV,z?/2^}t`P:W8}$J#eЋ{R]!I+5UxxgEqBOlev4͑ncϬz=*" qP6zU>5eVѣ &lkMX˯6g Q M (ЧVvV 6eT^hXLS}>c5SSV⭃o*U*nw0xMHuR?*aY\{yj@ѡ6*QޣY%4iew:a׵+:IA7P:h]uEXW\NlvCҨø>ڤNgul%>ZJ59IJWhjGa%\CIL:Һ(?)y>}"̺NPJN +?996' z 9pjFژXp<I JiEc|ilTbׯ`b.C@*a&TVuzď}ዟ5uoWMai#Q{1= UM£="gyy9JE(@P؂}#RmtzWx^SvϔGqlUZSG;S鼜HeDæ, (̣b ~Ļ:,1xkQKXa@rgy+^P~l|XZ_-;SZO+jN ^"B Bz] dˣjG$Yn_nG @0u{447P:{cZ Z(i"4uk~իX/{ Z1ƂArY<*zx ![̰tVyUrH'qb6)46(+*cC3CVƥ-,^)mZ?Zǣy%Qt}zW `ؙQ~GYOy~Z`?eC+SV(b ΔG!՝}LݒtG!#?Iu]W^t>1,qG#o*T0xF[$Bodˣ>H $w_K}]`t?]me0ܣ1uE9) l,9oW}x)k:^6sx1=,e#)OX:!;<\M;2naˤ,"]:S"um#/O^%IZSdUcȣg">bd(b(:4zGmY<1k2B!Y?;=iy_zG~SZ^u[3T#WRN= p0"0/VN(ߺ?e}4 ^(AS;}XN"^f-?y'e4(+WJ!(!2wG)&# &O"a;(5΅)kQT2%E ,& UģL44,KTJa+H g4߃_m4N6m@B8 jFУ/+]lVp)yaqNitz[3JU[\㿽eK~t7"qlBu|d(h(}GUi{3 jmnn*R,6,GGG^պnICjp=t:6ɣ`'a<>\L̅+AD/ݫWk}o CsT]r9V< $ZD+gU`DKnPu2H]]"89?/ٔ5)OGy9]Hrn=y]:ǽF+>=yQ+r* `6WHJɏI˴ ,C'Q XZ_-l`D:>_Ѿ*D7tUYv6zpp*Y(* J)#搵댿o"M &h,&HOR(T1-In^ KdM6,RݒG}FmspQTm㛱Tϴڼ;a6y!CFޣ1,]GUUl&z(5lף,YfyDwFcGUC+6ڒ5q*aa="4;GM;˂@$.B{ꪳ "nܹ'''B^2aZZZL766F^+#FJQ"=|(i]=\IEH)7=ze6 ɲ ܣ"! 7H!lnc$ec 6RRuФK|D$ea4Уc^|y5"&FW[Iް/R"}D)"ü3dh,̀pȶĈN2qz)؂Iŝ-V9Y$jfa.j)d {1 \fs}lu+-^뙱­֙h䊜"aKL OiVh n7^Dەeۯ*JsP3hta?ֳ/ [c-BWqcWN,3j8 {Tn|gvUS?LxU]Tl\N y/(vhb59MJYn@dS~`/;ոa榢(bv?aM#j )k$;rzr7%ιH=)$PmY= 9=&)Z:eMio1V#852JlBl@UU(P(T*@ ^SAu]Ge!kww_yͷY'h Ny9,qsz?[ )aڏC* F1)-)5_ێ19?}ܹ<99(:8׀pjӍh€kb{4G}/~V.4{9x`= 4[v~d}n>LRя~nr8yP0 vZd: nmm >y_t)N QR 8A&+ܣ /aQc ܶ>fۣ@+U]1V#85AZE+uX hR(lzh*[WD6ܣ>c>pWcɌƭ1\fZy_æݣt>fۣ? XGsF ŗ^zw` B\"qץKpU $p '{4G}0N$XGӡ5̠5EZv>ۛOXAϩ0$=y+ѓ߄[ܣG-+P.V( Y,֠L4qF#>tww< «^#oN61hO8GaܴhZ{ Lj~j}ec~LSO,Oz.Z+⟞"T[|;w&!977WTݮS*::z`kbVH=s^iK6rrjLOG}2hMڣ_Z_F٪__ϩY(|9\4/:bH=r`=766 v{rrjaS` .5sfOu=z##e-fz=:O'Q룟g&Xf}:Á7Qy_곋V>Pɦ\+(lvuJ\-hOŔ竱dF.T3I \DNYSCa;e=>8b.>hdLu/OȐJ*J&)iFTX,Jս-'˯T{TDRSx|_>HzxV?Ob-ֳ|I>hſ/J=z|lM⎪PfPT*f2+raP]FYsssݵ?7ޏ~ӑI=8SifJ=zwYjuqC*ߣOŧ{w~ :^/o/y[7oz8|sڵr^tq}GO>]i/\=/u1>}6ؚc:xt`Cl| >S6{tY,_WY2c7Vxm".A/5fյ7!;jkA8˾<3$I䠍?_8<-60@9'<:] HbeL-Gĵ[^2CګDgnޣĵqkRvce$-/]2㌳={.\PcVWW_4~Ocӎَ:G uNXݬP{.aMњ+\ Rz?W.eBۣno5!6^]B&ۙgkk58˾9;;??_U9s7~(<:Ěs£u>꜋=Z猘}ԾA9Juk/LeO.\0gq-&}wox>s/GQQsNjњQ^H]9}szJ\l6;ǎ=Ç=Zz$G$<:}7VV6~k_ z1])zMjKnyf+334Gl$ÇS}welꪵ£(]-|cSp}Nx~N/3STԓ+bbmK{}|+TߝuM㊄G-lߥggv Ug*x4BZJi1]5ãfWZMy)zG< M!yCp`(=;1/xGQx<n/ ; MeOI=(Q p}Nx~N/3STԓ+hcbmom3V7;1/4G$'?>(s Efd2=9OA=ȧ퍧{+ZA 9;rf 4q8,\f5V^¹TߝuM},lR£ ?l>N*3ޢ ER3NPV& >C%J>RN(g4{" ʥ;T>Υg9*S6~I!Q?:Qxt9(WEIhh,clOLQ ;Ɯ3<.LxeU٩tzζ WaVJ=/`N('ᘌG%+;/=4GɍR ; M=M1sƅGG< jٻ@8юGn=caД)=*MKU!OgƪңV ؠ3^T"sBY'3Z /PNaцO M%nray~89׏ynDhN;:شA ۇTQsz{O- '$= ȹ{4iQm]S}wb^xԉ6+}hʔ$IXdzfd}̬^QǣYU3{…v XӋ>%M4G=?$[ӛLz.[^@}(< ZVݯãN}hJQ{ԮڊPGQxWؒQ5T+cax£(< ZG]jJZAkU[$£,K 60uIk{e&pI^kk1w'埰},+x5Bx4EekGtxm X>4G;'R ?AlZ'嗙)*Ln1ϝJ{g\S}wb^xԉ6+}h }W:Ee'8A{G]^;= MqȣϞ:kI/޷}'9IJљ3SUR ud0<*DA?QզY*T%Jhv;AvIfOjSq4<{GL=*A$tQ@g)m/^أfj@ӳ|V]iR \{^?4Ǒ!3;'dIu+ǎoL݉yQ'4H)zx:?;Hbps/$cԋrSazGp-G&x^=A=scȲefɥOZðc,3XdʝAT5 OqM]>Σ Ppy<5u+ Ӌ>%M4ňGUXYe.}> i.xuM<%@>%j MlJh AsG9CFu;!홱T %GHؑ/9=:\*T^?4,QEs ">.tN7,$~ ;:Lt~x>MGǁl픒QO1ң*%0RG)eM1ѢC/8QGLaɇShi =ʚdf7 㜼 {.O*RUtdnytJZN*^&x%@Uj Mhiz}Aq@fvSnH;4)8x9֚><:\|0yc!57 J_Қ ÀI d0LGT9?/vm"fޘz|d)Fn򬤪JᰥX'4gfċzrhͰr0:K}#=RrF7wQ8Giz$N S}V;htCW9=["ʌm NCS)ub* O$R CxtSb:45n?IL*vR*ڽ-Ӈ-]%Nމ}Եa)Iqe̾ǾGp|\#+s`UVs;`$r"ADAx-9De}j ?aDVx=*ׅ?0F٣^#wV-#"1* L=rpaGh/*/Rhm"59}ע/;1/4.𨈂sA$J%I=:=Urãy(:⅀&@%נKa$vjKr :M\cQ;X>4INLB_ S~M9JȦADA0!8sg[iuwc!4'hNߵ˜G;6uCS\( "! <^'2hC#hfGz}EM)zrV}QSwyQ MOo2 Կ^BgߐYdSsJ0z;Yewӌy=-У-Ϳ {aJrNF!'  Viuw/)XpSO8GM=G5/hH nDWO)U7~ԣq̯[No\ a9;'w<8rȁ5/+z=E_./ãh7.#pfx[zka1Cd<*Ȳ% I56Σ P츱hGG=u^G+ 2N(F£fWneњ:v$BDBtchf<*kBGQx <)f6uӣCR' Q!Y'/O1,ZQ:n,yj:D2MGώG'Afn]۾"ޟ=u^; i.q 6@F£yRuK\hN;ܴ MB_T}ERp}ܣ>AФlcҩpk98ã yH2@ԗicњ6" )%)P QQS8s~HzASP*TAcl5ush:xԠGK'+~&IDw?=O$Eq QhFT2,=: 2G`oKMKx!YZ]eO~qzak}(8\f"2~A{߈_O*TH<<:Ӫـ5nPG700$(Q #ΪY܊4Y*zsy:H#S_>tuٙ4<G "iҕRj ekm$ UI݉PNѧ# J~%&G{k??_dD a FC%/ѰFe&;+J)clrYT-n=ģẒM0֒1 @:H G- XU&xG6 E+i̓O8"Q*Z&*\Nb9߶ctˣ/^oF1,3=\qs<jl.G'LIPH(Iq+ZJG"N;G_J58:b55nhW^gg<ῦM|3o3nw|{y3^3DFTJiM~/d1Gc0h$&顈"1(Dۦ9{ vӌ1X9w\<8G.dy3vk.ݸRtd)>xc=͏~xh艏Cmb&K7.h0G> [TUɲ,dyytv_̣/8"Ḅ ?<^o:kA'29Y{y' Q#>(-?x$xD-s5O>l/?̣k_̣y?ܑE0kטGMSw͉]y-@5jɷGW8i7ẹN]N-N{e.\?S@aFd(Taz"Tay(`מ(mĬxhpD]G8r}^n@HBIQz:Y"Zȣ9:L2IϣZ&ObTܹJ< X}e 8u]3V4E4}׫ ?0zA衇$&^qkqse:22mJ8rBgǞ©'X )Ǚ_yFaU Mv $n"Џ]).a׊<*27 R 6%Ų, /C{ɽx*$vSl;;w^sN[v 0U;d%'Qb)b7d5so 8-K)y.Qz=o̬Xgu[(ϯƣ8l:?Am){yBcQYQ^<09 %2jEQ \@co .YKŏ"VveҶbexelB =bDLfLQ\;%PXr̤h/謘ytky4 jm4~c#N+.Bx}nsԞ%+{4AۭU^:jǁw*LU/4 G86y,WѹG 5b'1p-22.`o0 C̣ w=hmytyz]uL@UBzp*{qa0_̣}"h]Fz4&8̣̣s<`&@i꘠GPּ cKeP̣̣hyyyT᠍Fu/ByCO5?f碕(Myt<<fq̣ٔyvwg_G%%$}1_7fmG?9 r2\VIG)䴼t:SD1k=?Q.qRgoTԆ̣̣ZZgy>\xN\X,[y/̣!<`*TSJ̣ ՞vp~GB׃8à ł*ˈGF諿%._E[`v|hGX:u<~U4((h1yAkw/ByDvs=@InH`8Q.i:l׃0=󨣻X9z-\xoG}y"l\}Wvk S:jp gi+$` ẸKe?(%C?Fݭ~m+W%2X(y+_@6QP[,y2M5Gg `4%'{Uj:}H74NgZ8FwJGA<#ְyh&- 4+06g`qD)Qo`g }Ug$m~t1wMм^A`՞v|zУ_8sbAy{,8Q"OBL&Q4Q}j]-6薆b X2;՘OIяKU(GG`e|<`y >ޡz7ՍJ[GGG8 ZkṃnكU;ˣ( TKe {< $&ZOQ P>rQ krtrX@`a|nv(((s`y(^0Z,&R#r'.R. K}Ee^z[cMSzУ+ z,c=8sx< $}7G R0Q `y[{ģ5/y%02z@=<*l=05'Q^7(Yq4[QO46Nj:H:H4:j岋ݵ֕JPbT. b0jOEi:f׃XQcy+UQGlɫ+ob8,06 Kdza#Ke;5~]׷G'Kh!qtH<,l=0~6D<J*\ANJN))AHWpB%e >%}I$ +8N68zmBgz2<&&Zy4EEqDy!zZ ix3yŌ"ȏV7O_([J%nӟ~;U;tlU_ڊJE^o&2`ۿʗVÖV V:eGǀb7GPbT(| G_z%:~.>߿Y@GGծj><엍/^HfggS7 /d-AǛ5]V;!]#vq˒&+XU,;/j9uxxH5!0J䣧Gnܸ1sca;rnn.摗Fת2QJn@>ׯg {kײA>*_Xa0/4\gGix{xZuL>I]vSwfͣƵ#ϧjӁ>~UGڽyFɟKd/ufS }Rt ՝./Tȏ@|T ⣧jٳ6ҏߎS ?GVѝA!R*r>tg=lk^xhm5%-ǚ'7%`_Al/S|hns囵*h*םG@|Tr GީZ)Znj|tޱZI;w - x~ڇ PQΊo{5/Jyo΃0ֿ,op|fD%]m(~q@@>zQ.B(Cz=Q"HK]I@SA>*tP 6ú"+;('Kmê>s۷q('j0,?Z Bb!^)t_g|tb9G#%` Gꢤ+i>*o ѵ^.h͙ͧ@}Բtho3熝8|<4Qє >c>W(| &u:F4(^6{hzQҍ^>!N>$q XeT8@f& ']X$+ GKfЙλAq4xP$*'GT4XZ菮n}0(2øbpfEҀ}ty87&!NBw!p>Ö8VDv fD}jV|mARtS|4|~L-pw0 O5XVxOH>aˬC `f8`hI;0Яfɳ%OX; tGi蛸R> GI@!|!Lߡ+JI |''yAS`L `Q8Gi蛸R> GI@!|!Lߡ+JI |''yAS`L `Q8Gi蛸R> GI@!|!Lߡ+JI |''yAS`L `Q8Gi蛸R> GI@!|!Lߡ+JI |''yAS`L `Q8Gi蛸R> G^L@-hqq F|m  G{`(;?~4d @,ΞGQ(59f&xW!@ 0)hCW pU~oĄZ9 B C4B%/~ԝ3Vw6cwhU'Z֩*j]nQe[gsܓ$瞟=ԈHol(Fp,HSG=(_SGg}.)e!3=iLsW}n,I閝b:锄܌i,YY둱RM)8Kp^h|cwGF|Fptri`)H|Y :"TMuN$+果]-Jkp)GU\qU GὩJֈB"sD#U" {쨏YDPꈩgcp4MfL=Mai4=X^ݸZ8wmiRZ]Z҄gzLχ']9Wl=F܃fю]qׄw܇㝘׆;rn{p}Rl3ڃn٦~Q~KKܠhE8V*hœ!x[0}p3>K  m6Ԟ2vBk"١=ۄ]J^H⎫ao,s%E½hB3[T!u~m*uJY _WRR <͒*B^>?L |0^0mX-eN؊ ',5FAy`8e0g:/W5L?{Y <qEQ+ 8]gd ޡ k!b3v/COmUlXE[Goǰ`#Yyr˓x%K-ȏ5DΞV%̎{!3[z7\g{W\`:DJ/kKt&_r{Pm|+ݗ5Xc걇Q E*xǖJ=ϙ w?6MX"igRk4k)ƫ\/(FިKFZ5讔Z2L!E,밂%c-bYU')tcdGF)юn[tE .n*==j2H_,]ġZjFauƚ6! 33Pp0d <,/٩G} KjK04hX [KX8/ xDܖN *Vjׯ?K+ϗ\1  ӘHڭSV% %fN!üsGk&0CZt4*f|U]'A5`zV=u?'7#qAF$2UЖp u/[dzh}*APIJ *@ "~H5\ -%Đ,ϡMmQW+l &8v a@ փ,RBM^@үjV[s~lS`G UR 5 vi6@oiqrdJgﭘѪ|n*e` `ޜ9(K/?k1|s&)FrX%KClulBԖB:>n}& n1,Ek*y߀w ._2ږ\zA'y3~o4(-uGb3왴w۱0 ߭gMP2~ݪK5뵽MA3-[z0m)B&^cj! K.umK`=ԕqYtgL@~e7r`>>1߯ g$8: ]m'/"TeT?xqVא9iGV'g1$6f>WBJh$K #rƔj0D~Mkrr= L(4N'paL$Wpb65t-y,&RA'Ƈ<шk|v*N(`46=&TDI%v,I8]|pBC4$HsRꮳQ0m⍝w2$YtٛPWkgVKĺ[UD]w0Sk37=xs[c0 KqvŜ(D:g83fS|JzЍhx̧Z9n[;;{Zj\X6/ԜNWW^`-{## C#qf}kh]ҩm{hP^3?tVw"W"oYT9Nu&;ygYm9#F8ݗΓՋ׺x=2I)sD:Wo_uSi㑟sJu?/e37u)>^,2( ?xOwagHD $B:oH4+ /=/'!U#(a^ӎTgsWܕ1y2)"oNU@@x17pn}=ߕL_Qs ]2ո/+bB/3Rm.vjVJ}1R:9MX֜G6ggquYO[vozeºn7} ґ)m̩[9NcB,R.mvуdejC Ee:x5¹A} wmvILBf)."+2ڤ;vފ7I\3Db…ve*r٣ф'#q/,qo`6FaR<ìs͙pk:UC4*x3w"ڙ1Xn)k&AAEp1bj_3sVubWCJ(D1š. oVil kQZI,f^UҺ[%#f$qBKeaf̡w"=.}o uLYҘ\Mww#$MAse;V.%qp9M(Zٞ2OV/}"R\Ujh(r(| gFiGEvXe6}xH{:Ow4"{ kZ ٷޞw:t'k(x$ѷ.\yόh }Ie-P/2ǚ&.cyiJaFz*sV >JOm˜9ۀ`ܙnlOP|PSuWukƛ޺q0ʞݭ[K^t|~G?=7//?㡩 .y-[)_|0\ڽW>_@PO k5'Memm/Oo=psrC.Z/:OxN[94C˞w~ï;;C̸?>2Nq3?ggT(" {"htM9tоsn֯)/ 3KA~g Z_]9?ocȌ=tۀ웰}2@\fP42?EO  B% B$BQqLȃDC t*ꞎ,,cڮ-i$7;JV {l\w>]{CvվO{剿Gz}_f3Uu7P^H:{/#h q>3k @ g8ƛB5 PnҺ>ȂF\|qpYq(z}u߶^0ZqEߝitln>1෿jZ̭|vhtZ}g3Jà&DG}f~i= +A{fyļHڛz:Xf$1 [iko6׺4de/k`cvBbXiWohOϬy{:V7:\?H M#6LH!SP7~T5@X0C>_QF5 1..Up ltO6[$~.A'Y(VXkC$gog´p$I?^MIr&h5BbN5ioM_܋Frq;[]m\4w~0ͪ# Fz0=b 5]{_f\Y?㾩2Vk/;m@9]O~yh DJQBUu fC|Lj<|x D :}fFOwueyPgcyx_wn9c >vXH gi`q䌲P %kP'7 XuYNʨl?/`O{տR-=cX~ 67*MVY`{~B'~44bZaX*eoT#.&TԿ?wMy[O*vSk/6*V,k?ОZϾo/&׿m߈j7_vln;_RK3Gςm|SH=@z~Z{׉޿r%Կ-lw{nWuێVm{ǫ PտµZs%⩲[<;T;jZ|rca.vtYT'ur*0(t5y"rٺvGxiv)g[GѾI۟U1މA?y/BF Vk/wmߍO:G:3=W`.v|K0#%F |n|BPmMծuUnV@ C8:'nqչp<╽?nbpTxAKZ3 D\6и3 =l (<9|a'%1[[1K XԲmw MW]/uٴg嫵cg/}Cpyy7]QQ)rDȝ6fGw_p>W.Z{yr/}$鳎g?i:_>tuh1y3e?OV߳{=kV|ѧa>klz\C^q> 0Vݐ ŗA4,ä5ETRu:iYƢF%5ʵavS~0"Ud.}=[l%7 /9Kǖ}1}w,IL+s6sÇZ})G^Ntݯpo)"ϳ|s6^SCՋaswv贁Z{yъy$M{j~ a ZP:8p+dd>$'`րWϜ~"O!րWu7 1AG þЍDG|t dAnGa‚S9jM*+ߒt@1'qV\#7(,4NZ`J5^iq CRɹgJÝf]?i{^qZ{^ݮ6]qz)gZ}~!)LZ57m iH(f }gh-?o(կv-7f;*vyӪ/,ծ:6mè (<Q6[ Z; lN-t>י Gfe/ƽ6UpM>c|K\Vz1N%uTu7[ [ è/N`t7/8'Ld , [@ ^י7bȮg @Q nqw]l[]?vxһU%Y1華t^!zo0 Jg8ڤPWVn>_ӻ"eSz EEz1Uk_<f 5 QrZKUDCk,{ԙH2r[9 q.K+郎Xo>ܓ܅6rh$LC }~2 )\+ WƱ?i\XtghȎ);B'vͶie#:栅-)‚pA0~!=@ت=}뗘8S-$V%7`0r3ddyԆQGÌf0+1~j%Uk*Qqr?MŜ<4 YϷp_`+)$3/Kp/-ޝbF:J'"O)V4= ^ zKN~cM0~}Ã?5l1Bx=r~5mIu9ҺZnΚv)nQ䢥P𫍩0PW+eDKigˑg)q6V*Qlee ~]a6/z9~iXedySVz3J2zii=E#=a̢*l8?TxTN6vkHE4$j&MGc+"^hP~8#̜Q6=+]Ըe,93gmA+F\p14 SSIxSJ+)EfʰQ3z(kgozI}PpL{q.`"# :O:~-5^tÌw]$ w{J'[' >EWbdR'0v]JLxE+4 +R,! KCX((d@OE(?LBs=g(FH'*MͣQz_~@(bbtb9kmCuMOCM1* 1>QMK*e󡷨#`/JIY[}wyXU* \IhcCG{LsMޜ[HzPmE$>zh_ߐU/^Ou{e)-piF#BWn8'6jaE)fٛm*2 ;5^JSķ`J-<эRPMq7$@2Lw\0ɢ&,V66Eo#kr:Y:*fR P$2ߋFY a6)%\~N\){^|@93ڣz ߡA54X7qmϲ4_֡|ӈy"} ӄY2tGTzT AOCwh/{եx(SDw#ϝ.4blj}ƚBLѸkF6uo$mR|g˥m ~imHY=O5NQkUrŊGl"y,ۙզŵ`{ok& mKej_A]^tLz *J-~諍zITcoWV}\IA(j5KmHh. cUх *uP׺9=:[1 QRn3]F BwL"ܧI y}rƂ P8 OEm3zu<ܘd]=zBnNDaP:CO8z/vbb1TK~aRxQ"*?}-B;&@k !P4EKL,$[N!inP/ӗ`% 6iX, i(E8"saJ+4I &]"jHPƨ404 bL67J̖dFRhEi_44a^RGv7$LUU᪅;i&lj_&ϦzF{$3cdQl|ZiӐ,}&"A#TzIF{g3RhZ{I@sdt2 0N:%`<>E*?F3}tgan29X}2(Ʉkmd,#fIv父NQ?1&w)UbiɌhD{<❌$&RwMG9B@Χ!"<dwJa>y8P'_/E:'ld uoItilZ$%G#% KCi||d)Zq!YIl2sD#-E*h>,Bv%Z!@5]Oi22|?G"5$VɅ׫) 2 v=T(֯:fѱ4xnMM۱ojr;$?S5x/ipbO]і>Jk;!@aT0{yhLiW0I}IUe==C#fOUp6%ghfL&Zk6Z?6V+2.Q_RTjF*ƍTB>w߻}_ϰts~sQkW bR).o%\{ q šrã^O;GEhsunc!$-^׺{s,"Z\"^xz[sčN26UEyV١%7Dz&U?UGs;_T#UԛdKU'&+X+/4-@D%R׏JEaP؇z΀Ưz8vqtO)Od& iZa4ě4+BHcϛ89r!;:ԀcJ EO|q2kÜ ٝ0je{FAG3WG ]v>1ܕJ Gκs|/x_ً/h1(tRJe_T(E$ wyRoUXx.D>VczMUӛpF SgrOCRd`q`JQ a:k4D8W툘P`T}3m{ (EbT8"pT̀ oH$nBKXX}:[>Qk}^Cp%?LQqC\P`^PC؋`}@}fDrCZ=ˋ{HiHf+t|hVK~|;lR*/ۜ/ʏ5$RcIxK#]^. LV0y33g,/TRZEKX@]c{2+2׍ZG`5pϢL9ã{MO57 T D=Ws{3ғB/ӔhSRٟ* p=(.!Ic*?>vGSFa&~QSAUHE>ڗ0`ۙ?W M{7g e¡\Z5U zAfy{#oT=%(>*2D:bo&g9 iipbI ugz &=7X!Q'&J'r/Uڋ? 6]7>}wJ0~:ۚ W/XXE`OWPHo=/Sƀfx^ hc<G.}* `/5?`p@[eaNth)X ʯw<I-QVZg\V\Q _Yb9tFK#{/3Y7y"ANfAZR_MS|H]5ZgtmCTo:<>د\B !v${ *jML PA`P] N[{gNe͕~NvY5MIՋ森QRlxfs:qEu:>}@g֧s ~O7sOgr 2LLʉh6,LlnA8 &L Y02 öfIJK&n`*lk$*YE"0ՒhL.%kI%1a&G`2HW  ? tVVfdx1\OZE%\H8 Ri pc+cK#:-,S}5}(UN;m<Ⱦ< ~1L#gh%J? GLxC/Q৆L?i74'b{;65]!Qֱ+Z,;mOmS` `qa}7MWO:Sa/'$?ϨgQ?ȋWz' 'ƯW`Z֝)M=By{#\ɲ"j'lt{{[_|ljO~`KP~PFjw T??oU_,{a%J'-o~7G|UJ(4Ԅ^6]7/:' DRT֒U恁 R c<>~hع㇗xa :?Gaz6 5/l`Y BlvB~\b*\dܑkfWK myh ]8(\ss3wY;GGӝ{4M9vv䘡ؾO1Ʊ:xR.<[s|Ǿ}/ p{{|V]W;>}忊ΝUF4Wr[ߜK4EsM#UJ/tHnKut76k1|ratq\V \dO^w3Z(_O mYWsKç6eI|tw?ݹY_Ř{|V]WSJ/=51]x^3"ݯi"d%jKQZnaFo+u*ZG:i.[т:znY!UYDJձ4{ * MZǦ1a tD 0mό>}AOΗ&)^x$N[LS̯ssezf\̵,Ou|؜%w cr]1[/άO^ KLN\ؘ5,LYA X00Ďi-r Ƙ*lk$*YZVј'-;qKjI4&s0#0ِ'To|X$Eޮ^A~(.L ehVʪwVFqn\Ȁhf.rdE; i]a&N5.|L}E|L}|DsYCRJӼy戯*;XP !Sv6V7 < l+6 |@. /y+ agI;G{b8 D÷zoNL!߲?5bX^Xpd +I؞'9\A]zo o[y^ +TLFGs&ܲW٭Z(I1uێho\LvtƦ*,uk( !rT"+%z/xQ׆8Tu-^ꑸ7}ێ^+Ǟ0ñG.{| ȩP 5G?l^8M|%׹F]m=j%n`F7bm=W;n F)+772GD7!ѕ&9c{zVNѽOS:'_Q9( Nˬx-!X y);\-&ߪMrRO,+.%ݨ3i;}bP~p6j{F=+w*/r _U% #L{eR!\D#?\U44N!.E9{Ћ |Nk v"@"(>hߐ#Lfݖ^S ^WXYw"뎺ҶR_[,(Br/[Yﷷ~~W(B0'X˦ ఘ[opv"KX$LeY%LS*#?+&<q bQByp!&x&Piؐ1q)Fe_Sy&npqUxh(_CTk Ȋ^aOo'tO%jZյGTJG}2X9ЉsI۴"7֍S. 8+|4!'Gs2 QJ.?]x7x%ZU l5*zau^2Sy^yֿ3ܭvW&14 u}-m;6_E0A,j_w!A0}R|F{xjzg}+_L#[OYT3]I`?P[XEbmxTor3>TnR>WYQfocrCU3D1FNsHx$ m+5h띎O& Pnh"gxtJ&V i|FCMݟ\!f7גa>R×Zc_VT9),t#,37j awĔoDٻw[&uݑ/-[!8BKlgBl [V2VAv;be!a+bc(*7vl݊e&+J)4DɽB"S` rqtFq 5Mt `~Wv njk:5##66ֈ&cʅ݊R(+T-®#k;# t LVq,xo:~wo @!:fkdn_|1n 2t4D?z=(6ZAgQFKbZW@l7H<fB5݇L81*L[/[:2a1F^ Z7~߁i3ôG\ !\F߳Ǡj`]z5K/{ S>yZ 5c; Ӧ sg8_ Usiy\Z$<ރ&=[ye}u5+m.|}Pym]S׊?wDqʤѻt\q̍=[a򬪆&0ge^=nII.cc̘/cc'3&>:c2"LLIVϰp?;'}M&c'uXUE%+>iIզ(n % m1DȊҹ}Wj3ÛLw,NոYaVHA{G4;NM,2_V-UL^C?3;w>P(}L9t;+ 2p'US93+TM]3+7[;̽?MVSp6pd ?л'Z+/(_99xVh3唵aGxS50YfqpLQ)wJgC!(iLtGطhP>J_WUVCEc]iAMU:?; +&۲v۲WL;a^JrmC$âs]C|Am|".]gcP+%fhlݣ$уwWmcֽ 8^ dc[ ъNo߾TÊwjqX1 }ۍt 0G QLlE7ŘNGNSXܩXe 쮖q&ˇ]ɯ,yٯ9**]ڌ"e+*Tf  Z~m٦mibjd|D$ШY!W{sϹsν};9? &{>ɿ$L@g~jYlZl5SyQk;$!g`c jt8"kt,E]H H0-l )f"F00[,KXM|i;(vw |tNyZvDgJg4:4C B(D}՜%f uVE6(1g;Ec.ȯ~4K_ѥ(wբ졽RQ + &?u]2;KO$,3'G:!~4@CTR[!=gmBȼRąHH ch[@/42(L:Bh6i}}OK:M!z0a^_hXuJ@^|3=|ülԹez0 NIFKVɼ.,GgQ N$$[ eIܪxd s] r'՗}JEp mPo _bqL壇J@ע]ƹ.BC,LE\lpҔ0M$<4Yq2S ny }oA6dm+*",KR_$і>!WٹE}nlNdlUrͅiT2d:"ؓGesXX n f*NwfjY*%ȏbPJ+xÄKIpljd9hȑ7Se&4Ss;uG9r,ZF0K"E #b-lYc❄uXȄ .nW}Z6khefHTJ0BkA.Qsu0;\xQXKMxe p ,RQqtDP!yx<fIG~3Gˆ^ KkWVI~rZ|vQte,y[)>Jqw>XlK⒄>O:{iCWx:ۭAN6H> S١5VIA=d?rU4q}|Wd1_Og`~pgcR:B:TR>[\3w6I^|񺶿}ΓXGLh ]-J!@Χiz.eqԼ@^ym ZlBMvՑ:CzXz{D1˺+NgC"[iSnDj  zQVĪQSK4l?b./CoJm;Oj%j^bPTGZzdFz$>G8b!{X8iٟ|N.7s=g=_lE|B{v~^߿{[5.b]X,_ŭ f&܌zzHx4|"KJBC}{ SlV_m `>CYmƆIF֊O8O@6Yry/}˦/(Yώ O?, <}^AӒv9Mw]}Φag|]O9/F"+iEHqZl7`W __THۧz웊g:B>3# څ,oPsǾdm V{sX=pE?uo*sXW?\M@ X l-ۂ"rD#ӥF9 (y$ԚQKy8"(`MI7=Gg۩u ~lNGR^{Ar-=Ee <'V*sX{Rv![O"K>uAiST) "N$DӉYoi ?ߔM)o&_kĬ&$o)&ÑuFܴ%uYiGaGRAFfwK#7=g#+ߠ}'|`ŵ9H#?;U j>4DzFR/RI1=Yj~Ed:E^)Ŝ+YP""SLoᢩ۫}O-Kƿ>gG(;[zOa{wu]~ұVyv9B q8HE!(z=ԋryc|736vu?(U'l\k|dRܽvj :Bl?t\M+O_ J%օTH_R}l6.( *P8jQmY\]"H3{_Ʃǚ}_P.,Gs_ZW\J*pR =dpnYquw\"x$ԧz`;?r.ĺWsǕ7"Nί#JQ,ź?-摼qFl Omش VNDHތ-{m }CMݥ.O>8y_@ػd:]Zעq5E%c.  U4DE@ m>@ >k*7YɯdrHr(Ja֊a|Rsim..k KƲO/T[VDu)~\BlQ{.@}NT1pCDDsE6{KeX.X߈ؑUV j%uKA^k4=SIr)K Y|ppa7@Kq|n*s$@.qX.qKk5.4Dr .eSTr{'hŧ?Ǽ]]fTs,(&h= ,*rBgad2Eُ >fV*tï?ϯyO9hs䧟S[o#sRo..>waH?eG$xKM>ufe 1G#3"%@jTFߥE91ַҞ*T}f &Nu7Z4uͦ܉a)Dm6D^pWS8\ž;|^AnjJO8xʯ64cYJhۜ|η,ч<}gF'U7ĺo>ݖ#}k蝼Wb]{ 'X!0 VcYGh%*!ZHFD- 8S.ĮUS\m~ydm Vi_ߠt}K*jVŜz7>uon=~1k|n*FA׊mV47d#`AB)Pb Pe`+Q "E9$Q+pTr x"v\vNG%HIo٩Bv,V40Lצv[V),*ׇvXlEsI M H6eL*羜sޝL@\sg<;NͱA*FHβdi6hT+DC7"CBTpGGwipGGd;%p"< a   Ri.TAkc@1{²yLH Zv |ūXtOYƖA*)-[gf}&drOE><aly>x8{ăĽ{ޕZ?}󅗟~L 0 ag)q>@ݨض;@c=U @4^j_Du>M#Kry-0=a%9 m(Kuz]Wo5\f uIc׭Vn>8 7,.=26Ko3i03mf=#[oS<ˏ^v~~(*.,bR+*Wz9FmR_fBP3go> {/W ̧̙zyMf2G^+W3[6UkSTuԷ0J:w؂epV+HgOqBkqCN?q?OݤqQ<6.T/}Mi؏|m-'(ĺ=[Ow/v݄kb][NPn݄hE8#ζD8!?iAqO0D&Fހ*x fDRn2 Dۄo9zhL$|Zw]P_G_[k*ڔWz4-<ߕuc>{>jrI+|K y=o)'^'ź p2Vόh7K6D==|)VA)6[-<Z8w{ĵN.+GNNǁF~΄7l)Pl1<_:f|Uyn0ɚ MsR }~9@_aظRq}@T % 2_x=M _^0=F|/)[ShPa5|NbvS6ޣXMNF1K&XxsU^_\豟x}E̗]b]@ˆ~ y-ڧd|n*|IbE}2_HPlDMfKHG ƄQI 'TFiɅ"(|( p'V_wYyU^9zhLT9Uj^y.quC??U㵗GמK{{O>wuqN]nO>oszWv.u+)Ѷ14=j:Ñ"ذ" أG7O'Z}KlxLAĺdFeW}>ub*)Ʃ@K>>1WEҖPکzTbxKe.zΚp4 `_-pQU[ Ku4Q|!a=GPT}ju+(H1^ZZY~i]RA>Ji6S*;Z|L}Z޵9̃sߙߙ}kc[p;U\|?gS/6ǏzY1ſ]/tTWw޿+gC&!Db3!Deec=K^*ѝ"◶~b*mweCu@$WV2z{Ç^}2G6L!o>y'dاBuWD/Nϋ,Aml@aI+M/H@(F `TϧK[m1o=F*|e/i~/0T/SwEKnkl|}O%/s%n՜ӆ7q1N'cݗ/Ay95K};@0Xg[D4~ʩX,&3!c ,3(Y k=" 'ݿk$\MIc#b̠gbdJ3)'oR+~% QfOayeT',W_+K{GE{27v,:ba=Rƙ} G[.ϱq& zn'E H}Uz EeXZP 6`RwJBZ8dTNY)%RL 㷴ط|ۅX4niN!UlAMr!)Ar)AD_ aהXA?ĊFSD\W#%tI}R/=۸dJ9%H}3g&+d}RN RcLA)8#! ]V`ǩھ9uʊ Kwɰqߕ,>Xof̵gOm"}=S4퓁oxyK HSv`"_U?.dշՇ6nָOof6΀2(ۦ9IVslQ:G]2O5lOvǼ^)lp0y+Wgp[y-i=Iz/ѫ6 8Oξ ںwDV8? -:2RcRęYmO&Ϊ"2&;m-qq.lMuq/gJ 5ìFu-TA.q?TĢWX+z4Dׅa*Å{Ŧ+N@W"6SymSjXم)1.jktx)fÆi򄬡q5JϪo0ϯ]sR&pE8( YG0[+"`[0#xVa?-.5##l҉޻f><:KLf،blܸG/On/_(|2~Ρ"EnRcu0cNxraѦ矐'K)MFܰ%̴Ea~)BHo~0O+̝:\~}kA -`[; 5k߽{rJl̃_8~ u7eUaG:Y#EG³iKH[ ױ]ʀ5:ꧻSѮ#,x-]Jl۔q 6_u롲uYct}=lڋƲ34;as/&sS"揅9LTxcgU):wi_=e5#þofؙ'G&Oru?G0F89FX k@s] ~uS):a/{8y@L0#W"bcnn"`EؕZ# `ߍCU `K5jvvceb0ºa"P2=QWKd=|uq0\zi{_"~QNV_=a770:."Xt)aiK4Cn~:f%V A{wD:(V|a*`{QfXo{GE{27v,:baҎgx֗?.<3b~o({EQ&96޻B%t0 }Ez:a[X6 ¨aj}9F*fa /1%_c{nQz_ߔt˪t56g.u|k]#,Y_7{:w?MVx)ʯ<2噝Rcu XRX خV,;Ҫހ%Ul]]fNǼ]lFS1e6nգVm78C/  s(u>%yxc'KI5;@PF*lt&S7D(kg<9{6ᡓlSo 9p|E4)^R?k%sk}|n9١RczRHa'VkX(]$_9^bM>y )0 Zp} {g^} D-^Z*kY=R8{?W{W 鐌oq<  ڵdz ]l{5K*+Vd |񖞉Q,#]:Z^SzPlJLRE+Z;%X>:ZE!*ؒI- ~x;rpla\/8"%)KC|?Tgﲤ݅7i:;7Qwv퉃xmcbO%fݯ+AauG쳨rd+XTŢM3'GL$+\OM"1?z%,!LAN%,xF OCbwp3OX- q#R0|C4C 䈕5Q&)($dG\&#݅ؠb'8JQMq|+f,Ļ| )jY㠙%(c:F+6"Y5됇YĞEYj. PxKˮ)3s^%R򻣡41U@{챊klnvA( );M siژ;Rk43<=: 5 })F}>L]lNր#a JLZgPPhoy&<|u?:_*g"%zrNkn.~wL4ڽ 0m+r+TޮF#dh,lVάÜ%PJrph ˥ug,ZѳPq貝]  'j>"TBneVor޿`ߛ,c/w^?}tI.e-}Jv<IX0fpϱqP'Tq=|[ۡo7C݅ ]ZD)̡Tb7N(+qbb>wxl>7l{eʎ喭o. xrD k'TVcգ:1-shdwg4bSY%d. : ݣ'|Sr[Rfƹshp[MiJȿv^ݔ"MwWFEe!"T&SVWG;}91?N<^fRƜNߖ2Do-F]F#.FIgֵ n6s.zH}37hSsE xDu䠜Msg[Ymn3/s‰CQ_RcSW'DWϱY7?C<\sleѓJ-9yQT58tfƵ^*)=eP[1-ϳ4nQ|&E=NS sshJZYEdhP̧XgH-qɪЧVT/>aK:|oeyYc_dyH%7q6Os|ꅎ;>? 3Tsla]]*vxpph,:yF=%ip&Q.Z{Zn<Ȇ i5⑭Zp SCD-?e B<:,'GÑ (H]oqzմLb~hEE|IHdxTKh6/xxDbPl/:B`C+6J,~FwIUhDy F^^Л%;4IhderFW]@AƯKm]_ V[ukA0S0,/qe%!V%$v<% wܮ=R|TPj{р9}`s5ݑ)HBD IH҄QRLGnYHͦ>\J&pD5 ~`Λ2E\ޡ̒,!SOP!" v \|hd!\ mxvΞT i`bx<`:uG{Zeekoط8|:90£x ױ Y&#G'g\ zt(dC9 7bZJQɼQeeyMvOUՕccȑB kHbl 2` q[ocĀ6$:ewDI(uviJ j$Ry[kJ!-&i{~;͛̀Fof}|9s՛;W?<;B l'>wC׾p_>|^-50c[ C\ %ab4#lP z#۠G>FtuKiPm(AW'+ ǸpWR 䬇O5>jCAP-v&{ggBYIqQ)A*ig;Brxtʵ ӷJ_63]z\,{fej$?j0"{}0$՝c9bq^\#y]A{Dx,mY1/,0ŗ+rGS#k )JpJ@ JPFFd1M8W9f[#`/ܪUOpr|ax5+3p>d_D>Y=_.7\>75_~«{8%rGvvsjDqPiyΗ$$d&$OK?ω=K&n 7g+6,L>(Y ;\`A:ɟoE=?d8?y [ 8[J,:kAªxY$G4PY!0(0M~70`yA1٫#_^V'};Kng``ˮzlxj ,1,HÈ9弲5ߍEAy~^=?;ru_{hDu/@4Vuڮc]LGOeޙy99M" T;vTp`IAV0F-e]h~A8~F/ & u--aa i,׎GyLc ,~䐗=kXhAR =N똓ʏ\TuP x;W|.\qk% MA~̇8hl *뻕1UEd7}PVv|3x[pM~'\*S^())9'%(( ~ OQS1{?s hVTU 0'X ;r<-fn{׿Ύ`54QրdR[G▝7jݱ^U6أE.jg}|jd+^ve) A#K. S`w#$Mx;:@C)nu~kx^7߽YqU+@m{[SRZ#lY50s, VJ7ϜkBS X1'hMj*O}x(8וaK %uʍѢo:#3܃iɓS,9lʸM<\UMޏHDm f`WA 3׉M2'4p:Le ")<ozuAyU%[#ݽ(ZH4j1.~xƔۀ w\DAt9$ak̴@q{NknYLd"v(=TEMDٝ&zTAm ^Zt=e|Pc3~rYv»0N-iUX;ضHRB/Hr&h?I/0f[ԸIR;=1N[) 5.%[ß&RIo>}m^rG_˜={,){d`wBc'@7Yh/c,mWw`4[+RhhelGjD;^8%h&*rfEo=W\ui7kժe_L!hv]?ޙ}޼|2Ar³'Zn|ɧ|{* -jCGhŧPtLQv˲ITaZn%*T:ycݼcm pNr@_U)Z 9ceq [?^/8YtHAǙU5^˺X+{)T7xWP]Leh_ѩEkc v:,`HԦ?s]E(fhL?!t$:Zhcku0^PAѢXʼnkXSIQƳ8^,9}IMnAwD'1|$&EkCͱd)+b&Nq.S~ Ik><\*}Ccu_? 1Zɟ o=|X;;|80s?eW=+JO㡕C{3eKh(6qe9ӵ–f|rP)\G)@a &K~j,o(iI 0ȦT4At^9%7X[d4Уf'.24o;{E_)jt,DSAc7 ,YuGUNWz#-`Y VbVGʓf|hģ>Z!3{Hu%c K-25 1v`UҕPO5zֿ0W;YZo~0hUMحcv/k}?v'ZV,C-|Dt2KB.APmA 1lYV,g:^ dox87cu9Q{lWm" {N-f!Wp?,6o"'}KN3 dsm'S0;A ڛ'nV"o1 g@ 3zvC<=J0"]ktaLa]el`yNW3끮pZ^_(Ҭo)D2w)4G#W2YxbUb2ѩXMi&Gc#gS-F"d c]6~<߈kCM6R>ɲ@_E2Fs fFln)yKݬ*+:I"tud4g҄~`-5%XJz6;X[a71oy a,ph DyYv@CG?XAqas $h[&_* j~3zGz}ݽ}|7 .3ƾÌ+O+9{x+ػ<$3TUS\IDzjY]<9k:Q%neY(Ca61sIj@ķhYLIR.ֹ Q|7ӚX;<2]{d$b78h vǥ7A{RDS5P2θg/pY(?9֊busH?Podzث@ﰎ4lWc-B`j.q)Z;7",|c%ySn33M FIEAKl"bPCDH|XZst=9 VnZ`*DK>XD{%YDDE?˚y d?kp~CM\D:Tj&SkN%S{>ۗxbbkݏ.UfX: GzASgy\ZP8p c~`^o/4V·,Tvao4ƚhD }t7g}E.=E+ v`m fm\X?]sf"7\2xzp7Ta)q^HzOH>CIf̣M\+`jx~ xF]ƱX4ocRM_ƛ}%|Y9sR#5'N@Ҁɾ'n>U ]Hk6Y؃&bE>ʹXPkz[#9G3_4]Gi@suAi6?[}+)~B8('}'t=oOAinA*/tK" O0|5( .Yx[J8TBD7(l{:>¥c!Ux67UVQ(ke~#bYTJVafK՘Yޞ)Sq J/XH7 cti5a#KA;X0y? eஹwQ''[viTٯ/߮~*YjZEf]Uf""!Ws6q1DaDcX W;§?`oM4l#ų~0x]MRq5XЄQH>K÷YhB`I}>ʣ*)|eD1&>e<Ela]0N[H@7oDIPKШ(1GQ֋MQDѪhHMDG1dH@Ck2Pd(-2Be$T:B[ ,Tڏu=sϽspqy^{G7ݭѠn}µ@^1Z:A} q 6̫OU*F`V{Xe!͝_gkhٷt- At2jCj-X9M?iY "8g+Qɐ5`S؁5Avb +n?0W+FGE6aA1;֊3D{?2+kjgV*+ I`_#Z\n0sj9C9'raڽ&)ypYYP烶QZda&zKK[)N>'ݼjWf]`T1O Wb~_r6dϦpXs6  ]# dg?T u\}pkkΗh %B wDN]1w*]lyFt>_r2cy,S*lۄDfV'`Erݷwq.,&⹑s:l4n~WO?e,O#(O>J`b:=SżSq WkxDWTj&ab^itQfB֣rƲ^t)f-'YFIgRa$u~K~nKHUPRQx?oğH4Vkfz\BPriCDOFv%)7ՠן0ǧ{tϨ񙏪?lϝ?k#ɂ8؁az{\ (ê)u*vS@wjެ/U*ZX]qT@_m)Upu~ْҕm:!ss.̺OsY^󵴇v>=*mvZfg0ד3|xv++jc\#|"녧 :7 K8