ࡱ> =9:;<>`!iI.q-X ؀%8xڥS=KP&6 mL "P?Ǩ) $J8tv7Ǻ+8o\\}js.s{5bt'0BHD0hd,bIh< d0(A-jF萷+ڮCH/`&$YP /E1kUcoY+NZ-vϩzn0Wxj+QI}:N>;ί ]u/N]ٷ=M|r.Ҿ.#s\#(}s_?&$7|QWO)vܠ(ȧvhjnsk qdWq|`@+eB^ /b4`!|.vJgpp aR|x|3ebT,XP(^Bhҥ "E@DQQ)BAzⳁ,Yߙgs=m9ޙ"xK**xWkm[߰u[SD4hT1rn?opEtz՚𿴨ސU,jO2ЊM&<şπBSAA/ ^ME)]kDi/m&+/yƮSt?YZD)7^^>^/zWu{;giE= |zu(_eH^^6%PE[5n{E:M4(_}'%uOmT=%&1-)o)sOJM!!ޱR5>Wg辱 &FLLo re80 0:SzEEwOL6KvI+.6H_D}S&2Lb]C8&*&&%E6%$:uRC5aW4wXI3tkcq]?sF(2gujՇZ~^zQIz'dϹ&GLq jQ}, }=ش'D3/Rcpkthoݻh.}L\_Ó2sxN9uw젫td\HОjXt}Ov\7?m i䨄h- %CM~&{Q Qw+N?Cʵn[^ĞUT.65.O\tz>}oϿ{_?ё}S%\7a`RD􊉋gs&&4v1MM_oBi { NHmRTޕ80wlB5%R?k"K c,05JMh\DMÄ8-٩-,qӧzĸޞ՟ۛV箽`Jt{6>(%&OjXg#v$~+&))пZC(ɨIp6j”iCM=cz;2S׳)3Z^Ҕ׊D2SSFsKOl\7މ>ޫg_suf509|&%&RRGZ0+L1iXI*Is-rUqʪhkuo2UHˤzZ^]`;ƣ[]:ti@M̐^ܙjۥQ),>'Q7r-9UÎ /:m9K9Gsck^&667w$ȼ2SԤGTS\=ZJ? +n 埸Fv&- Ub@w7n8z]г\iw-WƤ-ǹ%㰮p8㊁݈1a[|Dn>87ӕ6Bp.9+}7^ITbusNN7㍂tmjPxbW$0^D1kt_F*??rMڸ3Uo?w[CGWw3/3)oR;u1i[dSݝ͇Ļ隸WuEU}WeVM"b{{vgJd\5-7򽨴g#<5a~ Q5"D7wgxs < ;T4BNV8zG;>)Vt=gp?ܹ w?AНx|(ث⪱"ܦWmٽXށ}=nȝޑG+}:aa7/R鹍lK; n prswX3#7/_f;S Ԫ!(ɂ=4Z5ZC5ZC5yh|׿k ?7rk !7zk 7vk a7~k ᷨ(P[U-j6Ue: N(O[glTڢOLoKUBb*O4,Oz~ U?}}xm5``kM/Ks"DO'kfA0 k[ "jG_*?v+FH-p PHoTn8-R{{G'xq|%ot S)Ôfb3E:vt2>KamKLN6EI>9>TtJtoӪm?Ş7&̸ mMeNAEjZ4~ⓢ WJMQ%ɯOb)!zSRƨ'UJzFQΦpGd]]G?ST*@/SFu(&d[ģ#*m-r:寞>>;n9âQ$e@r+$W 1Xct,>ǍO=Wd t%^b}`sAUG+ce ѸtQi_(=㪶.^$E3U |jNvA6e:?cCM߁\b9ri?a4B>tB:NIP]uپ[W?>~\vVf)q((صXk'7iޮPX)4j]pzƧjp`HcnM~Lڱ_g? 4NW  -]wR(u5wl-6' 4oD,6,ݱ1n'Awn!v, Nτ4aac;:hED{p a~C{͵!77Bε"AG-"!aG-2{MX3Uѧus|WFڦOj>bG[5n.\wӴkw}q~If ֖kbЮ9w%SU!!N`?jF[\M}BMaL>CUPx 5逐0?`B:.CF9uiƄiD}IP V WMi 45 Gpt;cv}W-F V?@q0<6)n=? (N9+6*ኍJbZlT5 ׉MGl&cM+4a~8bS5Eݪ? ԩQ)G)-Hv5׉R;J׍~0䐾a,<$+BdT@3PEޭJ4B R}DQX@Fh! TBPX}D 湦: OPs'OP`_ )UID6;Th ){pNa Sqjz v5׉TGP|;"xH"$?gC p-HE$L:gSC,Eۃf줵{+쎿 /e'GE'_פ7j_wy{2}"ƍ~7Zw__ Ӝ=_A'z%II~^$m=2 /ߎ0 j fP^)]6JJi+5WZI(-Js.”W`(2X*$?eLBiR2] ^ 虈Rke(6T[I͐k%5V&7E^kx2Rzנ;ߖWJk[ck)BiRS%;FG~ %.>5~jt{qqާ3w9ឋןO( ǕYƣT!eq2޸Gcܮ6nݠ5U&W+Y\RSJqLj\0f+9^cϸQoBCكb<Ɔjs5}Vw)mڍN:s_lBgq1f@O"s# ocك{Pm<˝痴< ^xm1% mYDw&QAgYdj6K;z> _#7OQ]ę͘q̘̘̘7ש̔tfL m3& e{0cQݙ1QTvofE_܏x?6Y0׉HfXE9p䆐LfLM@g?3vb11̘fC?fE|ǟDR@} g(>c l+c_njd%#A$T6[(9rc#c1Tfr=XH!@CDllFuT_RvnX[ZglN4jֆS2详̧]1Dɂg*_ϗ/T*:cը*}%uu?+55=;kXw{V Urp\9d85Rv+ {-ff VZeaː3,U~4|\0,Q,eͰBy.0gK{O٣EfpX 9![x.gYzl5J!GhX'~=4zKF|L%}<3Uņjna.Yex<@+\s}t 󑛧3f3f,3f43M*up(3%BČBc1}̘n̘̘(bڛYї8#}O` eu=3VQmCa8rC̘ dT0\%xfL?fL 3&ÌǬ菏L)i~03\u7/:c J r*"%O pĵ _Px֢m]SR>&<3yxf3n&v1`Wؕud(~bo~"+ٕfW~]ٗ]9]9]![y>e;ea ءc0vPmƎZ˰Kˆm` \(!n,xm_Ǹ_Ů,LjNl>̮6î\ƮƮή\0( 3,25ӿ->rbؕKsqvؕ%ve;_̘tfK HbQ̘>TcfL7fLwfL1ͬKx> fP^'#1cV9j젵 &A  N?̘~̘fL 3&ӏY'2_ShӘ1<+?rŰ+q#+˟؅从r>jO"~) >RMØ15[wʸY˳ '+*M6J+}kUA[7 uik`|5P_Ey:U@CNM*"TTX4<<3ā `lwag YoN[1;_b7>ES7|V}olK}!_!Jk  A7фhB7A1= 4]Jތp`HN?Th]Z57{ J`d~}Me*KtÔ/to(ٺj%G7L{[Y%Pm͂^C,f*+5)`JX(KuOѹ@7BƀaЃOg|n~Nm*~Ogl2#uPmB}\ׇ&=(҃Gd7bx|qC.FQ=#u-AM3 |V,] ҅@*&7! r5@y `0<&)t E_}IYU]Egy{s?(P+ģ*Bܯ,(fAY*U,1K(.U+%qB]V.9ʟbrY(EsalA+Cn7r]v#F9ίU^Φ%_s#،o_v+kQܫĆjzĹD|6QEtgD{&Ef`|0Gn[~891$*?_< &PDP*16 /tґOGO:5 dޕb&ڿ.I/ѭ"j$Ql*@9&Qj&C"X6e閬*Ӗ 3ޖ5+_s2B详l }H aUsbS2! \X5V*]G>xv> ǕpHCد"Q ە`VMX+R>vع]%vn_v*UM We'.Os.îZ]Evs"lEvSڄٱ%`V)墰sg_7~. VWa~wyv١˳SW`ǮK[*U՝ ;/;vEP~Ż;m}^D*ssWf̮]E\0>d\:IW,B.. 307ݼvy+ ⬢*"Y˅pUZĶm[-i]pPp{PXPmsl(PjooVa|}7˱'c,ϾY}f0fsD(,S +(![fO~^#l;ۣD_WFm}FnK(%?W /PP ڗȾ/c͗ b߬ ֽok}0&L2$cl0̃OSTyvٷʱoc ( ^GMopb`2O'ȧ'MW@UPS ފ|%T,}$] Y*auc}֩kMzBS׵AM ȚRւҁ3t+MWs5\hD {[5Ԡ.@5E v27rB]P :: eA3FG0^O_/#WGQx]DOO{xE>uu5XXY)pܺJ:b]#ZwJۭ'/Nnk*KWB|g'}{?Ig;c͓~'K߀S$10~z^:d=c~n9fjr_+}iG|!J[- k-Uc W2˷ȟX~=}~ /vpbX~[NZK'{ {%-dI_XTNb[xx:LE]Fddi ΒoJ95rϱ8GM#uv =R*sg)Gg;nn~z)zY.yG%퓷M`J&gK,i-Ȇ^N?7J[{H LF\3Gb1 [(傍i,K;|i| ?KO4>}_ai|[{,yRގͭH sy5H7ҿY J̽mvѷ1U)i~o,q~*̼OZj&}f(-&FWKw0ӼJf^#M"n;QқH8rL Y`O>`#EU[_I?I"9OZ@#;g?)t vIͻi7Co sA~cH C!쨶JsEX \S ܞtRG `syp YoEZr h8̵`?{w#]lQ rE.Vm9SC`1]Lf|+M)8*M(##:M!z`.ۤE~>)"}آ5Й-!3h'C4o"FvuQp+ilix~Ň Ҽ{`"KG7 4iXId}F5́g r@maXn{۰6LӰe" _ =8Q> '8ec/ld^V LR6 l[f d7ca788<'=ImNVs.>҉GЗZm8dIzMhmwf la=>m1xNfn9;f~W "ނL4@]Pl$Z5Ij̞ף`5YjL4nkA֛fĦd1@R[ lEӁv`v`v@_tF$~tN]4ݼh/YzhU 2/sڞ%BO'@ia!~" m_dܦVd׶|Wc r@O ~~w KmA2geBJ r^pf(|?67t?/Eb29 +lR5P=>ְTVA=G i9ͫp*[sR`-XeN6뾰m-m-m5,ӰvG"=أ;oѭMp6 F;RwaQQ5c{԰6[2,0Lg ~MFf21{ >~վcUX36[ПxG~ XFkXja-!նD:[]LpB _R[s lFh5eC#\Qw;y^eIeuGm Nw&Nؼt7D;V}6QD :T@i24xl= cV(f[v R[5e*DV_D2] /r/1+1۫j.2YU=h1xW۱nogay7$&5,,ށo \xJ" /ecfQ42ȫڇyG,o{?Y2u {O' o/0`".6˓/˓/&O>'O>+>#A<4c?ypXy`m-Q Fr }E].?X_8t';V}79w9 ģ?~,GWq|ɪ̽!C'#%SnC@5;1Aa|G?AY [` r t[YNr8 x#sC`0$$@<<*>Np}{{4wJ`;Hx{*5{JuU9D8c̘ `?s ޅI`2f!yO3i7{63~<c3{1+Ve_2 +X%V"|r,OG`1aeEL{Oz&˳0#>w'Z~+/^x>x{fJYe`18,àGHQދB<+ŷ uy55X%\H"B>4"7M ٌ&o6ryz 27M'|23 āh2ӓ `ЃNEt:S%ݩnY]AUȵ~TU,UC LaP1F?*?ǟ$df@Kg2CLf/Ob*26בȏ@=hcX0^nd5>w^Q)^nº6k&<4!Y#Fd!x]0V$ ̿BגVf l^Ǝj/n#bݼdYPB KdZVO${B_l!2Ib%t!t z͒F 7-Kj& 7 MNR,I$› DL$kcy]x;m, Y! %^%92XheQwo2 ꑓ:BM!2ؿ@YFe-SӖgseBꡒ%[ j#ZOGE5 ȅZ !@uP`yW(o FLt|xkIrȧ RCaN]lkP(c4"~ [`'tBy1> KCb@%S$7܏m S$aᛉ`.xG/.s7ƞoqB' D9QA*F:i@4π/4ʪ(!ZHȮ+84 ZE&Ȁ'4dҐMg` xa0m&P%i6敶B{}5fQgyU%tNOG A3Иx 8!;&@B@-2TL0+deÌ//f+EVX"t$D$+BО-hZQaeI_`3KWa ~D6};mByxBwy-k.jb%t: b~tů._;j,%x8۱CBSY rmXZs-@3 C IㅆkW4Y{kO _;w'y }[| 6d uS8|"*"'v6~'#sgD 3qxڇx!#k@EaJT5K`3gixk#~7/˄_'R,}g; 7/]I_ \J2c UǂHl~C3.?XhNΛU1<@8jP8L^}}qF5$1 6/V?zE}b.HM0=v8&U_?3T04fY`GBjC|_d~GXDM~݅y};;o΀/&)&FK^^ [K] ;H'$I~ .& Cɋdkc$> m/,R!cZ\_X~?t6  Jo&ų(1eI;?lK3a]~( 0 _L pߎ҉-,>"-hLHNT|/]/4g7wܮ ,OB=B7BMWBHʖK, , e-)bIybrPXTAbc,u-aQm[\ 1RPTDE_s@[erПsU,z9+Bn Ҟ?|YGG22ݼy~~H֋doC!q8G~\A;E.-N˥q8F_M06N.#%YxEYq>BIct}&%gc!_ !t1M c+hrbl0UA0 Dl0KNߣgWco/ )Qa|\HO)_-ww@4π/4ʪB ?ʈӠ3r"do2iȦ^2(y2v.c06 z(4wJ[}k̢β(vmB7"tet&b1{֠h`f B@tO!;.CB@-2T1\65Y0@3Њ A{V d:U"h@sЈ2ԤB'X$h+W [}W{ȕ(ƣ䗸 vE~<#v: b~tů._;j,/AK*qhC5chOR۳~۰ʵ[f t#Yo Y4D_c^9V^섯K_eJ*B]= (rO 0? 7??Og;i mY Tɟ]f,|#bzU(p`6".4.Λ+o/KWY/3{GA򲏸"h7KZs)qG\m_\e~12:򰉜l~#6o̅ r4!;V3oKB9_1_Vplհ,a [;n\0Gk緗OS'3lX@noYmb yx|3Jl'ρ; &)`*fG1`1FQ#7:yo@?oIfG˚3,0#yiR+"NXDM~݅y};;o΀/_")੥M׀~ԃ/_N{Чw{[WxПBAC{BB_w.Bw}BW}.w*bGcbiZEl碃n qW].ʚ*tCַ.z\*6}Yo^vs]VWEնj蚺f..KB`&u.]S^nUwѻuլtU\i/|]]%~Ty.W_ZC/om/;qON:B:G_E^..q\/VQ->bxE?exZ纞~>e0H.:`5]DA\&_ 6׿T{Ҡl苆B/E{s]hv&cA1E /Kݍ]t_ӌ]p跍~lE/3Raa[8E4,`u\cYeRktl6)o|E36,}ăA^A=~:Ńكn AׄA.A](2>z_CB?~ǃ ߃փn]Ӄ.A߃A_6AABA/AOS{yНyЁtetih]X>AWB/߁A AAkBWC.>>z_CB?~ǃ ߃փn]Ӄ.A߃A_>zGzйПL* ~T g}~OR;&^\P gIx)2wLao_bO1/1i?n]xҮOc)_W g8<,Sd1AW gbC쟳 ',#J 0jD1¢$r.!*ЕVY͠KC#D_ V 4 4f1ٺ[ibA<'GjE(*&&w]@7t{x\*<_ YV@?VrПsU,z9+Bn#8$7܏{Ero S8 Dl0KNߣg[p8@#&ux>hA7 Łi3_:i Ub #;)Ɓ~zC,YUǵjU2ꋼ 4ACS+kvePTՀ\j|z4aNwP0\ ~2w{o7J.P%w|xbzU(掠xN4_-K7/ͪ?~yģT0y9H^]u&s5טq9v:򰉜l~#6'ߘ{vo/;V3oNbc޾{kl[ ߗ v}?]oyO '2Of,"7s܇ yx|3Jl'[1h"@}q2i`%Q}54\ɛ`xz8py L2AΚ3,0#]𳻸Zq=o>vbmS5`{m zM ty R>S}؃^=z=z=: Ƀn ȃPLr QIg ==NYyХ鹋B'|p0 E0nyKwg&_rB7ywwwDt߯F0vgݓ"g ?Zs~}-Qr߹%hE}-? s-~-_s!=}@Oz[@ }_-[:WAWq겑t0'ns}OkGu=p]]<]a;0S0cCH)/0T0Bp}8Vp8(q"|>&x/]g^D"߄g ~~^hxGM'U K_fN7>|>"xY ]sWO<(8,Hp XOcח| >(x;^RxTc ' n QU:Ap1Q3F"#^5߅*gт N\.-WKD]N >. KzxE\Sቂ#S'-ׇkNcs ux}F71{\{]V=."7\fdNnv+[2K˄>'I,1'uOg3n,q&τ>'ǟd[gs"#+ٚ˄>'I,1't@,qv0=e3;3I0d#%%}t< ~S?w6h-ZͳUh5Y ꭠ* 4 &Nj䬱b:K9[2l8BΗVaUSs**69$'aڪCZY&>Nݪ*'p iiUُujƲˬ/_nY-Cb%:{ug{<9'~j.?_7Y.ì.-9s:cΚ_Osj]6Yeh|~΁s;ז?*il]d/qֺJiuG:x5cYeV˭(s4~g;yg:3#kem4h6{%.E˨A?ԋܛ ?OBӔ8lxޔh9juZM;;kmcǿ>PF FG;k9i 1g9cq nNY]X ꀏ:3El/R5JE[cWXޅ1`?b[P_࿮9DGCi> )@^#=ݨs'2Oe,5KDvDvDv޺fW|N~7Ů Ikd[ux갋ω쪉6KՂrPQSl`D$&atC=vՌksԂr NioSΊ5XYEs+|jVK<3VˌEQ~VWnVƽBuvYkQ6<`{}:[!;+>ʇ "1%J%JXv(A|9QvvmoV/3\ 8 (:v 9D+18Ksu]+K|)Ľ\;'W$OeuޏXy;)=7K{}:f,]#[H?R$o :Nt@ۏ1|X2c<Πstv/yt>(6fP?ވ֢Uh[6|sE ^[֝}6p$OeJ6'i l3Їh-3{x- +mB[v.lw٧ݴAƃf7[د-vpu}h.1]bu+u}4EAMeuOeuBiؽJ4_/F;yoy*gvTI>!f$?z? }QT6/5zIaKaKazT 㥱uDɼ=w(#ܞCmQVJc=>A^C~~C vyWF0ֿ#y'GpJ{15 N yq]C!mF~#:\YpY8NpQ #؂Gؤ UO_ D>xm&kᕂ߇ ^< .x2?[xG^[ n7\)2\WQݨGyW,JVHNooۃ"y<9寢zޒ9Kר[|<kQnG䢜OZ\r`^PeTA<JڢHP{eE<GoyE/Z"hқn<@޷ kDF[faEyC:L$)#NRj9EtmE%j@C^TD\ZD^S%U׫nryNI*ky,򞺪Z^>%[<7\AVս('U{AEDy<7(*=Ք?TE^UEoȣq?*}'NYqo*C]e2^@EE{(yXE@IB9Uq_q <2hP~Ju=Oybt045\q*BW^}Qھ=K폾;,Nq?;.ľG7RtJtW diGӗ+N/+"b}9Tr+<kSX=L;@枔DcSGP~\=Iy >{I:/ʛ!^eп'ؖũ|[D^G>X(pE~9i#/v3|ȓp<8?<󋼸BSKRyr(Wyr(7T͵Nߙrw>"n7w8E;F=}^?Ȼ{;[?](uHw.rSOE^i[0|2̗'+œ?f(nqp׻^h#jqaWus9n^=EMr D8~2Eh,z |-{9Nwwu0*euSnr[^׺%z@EV%\Ys+<*>j:[]\]gskh/u@-g [uD}:PGKUO҇P 4y@zm^zVz^ +9;Vvd=)@$?.@$kX7C?枺G^:n#9$>(Z UWȐ\."Wp@Ox࿜NO}EEd{oわ‡w Nd~+/&l:h .x#N xw³O+x"1GCN n*\Wp rpXp~9 Vu;ŽI _|>%[Go^%x)|W$ycQ{ wn%)Hp]*ppIBù IN/Q| ^/ ^/xL" O< ~A3X{ ' n7/\Mp8ApIBp}p`7#|(o|+x'Uzxe7<~Y £ ?"Up2Fps8Ip}8Qp5p༂sZpW;_|7y?'F}s>.(|X^xFkW34\;{xHO{ШBΚsU>+Pch7ߝ83 Mo!]d̈́禩OHuMCW&d|>7u)3,UnHLMLrM(CB~51!etȄgu;(Ӆ3\Ӹח~`U |޾yDUyӛr*gR]1]No^ȟ1rE̅PAtyCnSBUQEK{i@N+u?=TccqQI?lR|&v {E=e1?]t3}wfO03^uѮʩgx]ZBߣoxӿ+]%-j>;(:ٝBrP'|k'v;DuP TUF)myc KTUe-QG7ڽ@9 ʣTg ƚA 8* ov>l@ݫ. >̨jJ6QKZm3!Zˌ*DJ֣Mh+ν<ۅ.MAmc(6/Ȯ&j~yeg3ӹN[fjX`'\[Ka >fyBm-RKj\e#K,4]b2$VVxVH-~Ӱ{6f9h.<_ݍ:wFfT:I'}Q4ߌ7XzҮɵz? }QT6/5zIaKaKazT 㥱uDɼ=w(#ܞCmQVJcm* ! ??;Pv+#H7c$N;Cio>F?}3,~QU=pUe炳 #|6:-Oxs'O(Vp3:p-BD&Ҩ4o?2LϢzz_ޒCdǻ%yr)S57Sn-2o:Y"f{\d3mL׬|9"Sf#2cS>)2aY " e-2[r^~RD*̕Z*ѫ+2WTmLjx̔A7NdxE U{OdT"d*}*2ER )rZ2T$*Y"${t)/FdzEzeEG"Mt1/Ydrt.  ycExEś̋yEf^Efű<ޙHEʗsL{{Ef}R.2!^C0"L'̅)kt:"3C_$2>9"[_{<8Kw]_$@t,D@-E*2zϻDS";OD?nFrwO?mv#ɿ!_9 gx}%ȯr>1UЩn%m*nVUUj~˭ܚpu-}6PKG'ׁD/lSG[ DD@}=C@hh 4֝P[5 nP@ sh h;({i*ƛ N307G"*mOpu{|6u9YO3"*:Y#\pjpqsKvJN?G //x&1(ᮂ'%"7Y_O Fe߁ ADvO{7\ &\Ppn8`_J"굃/x'U:x <,Nps8Ip]8^pqui_ F; Q{UWIro#Y#4+=>234OzpH&hj LHiG &ˁ)83e@ʄѦYi5ҧ̠VZ!O{fNiVZQ) B!N^UqjJCCmBUEtA Ey> ~S?w^FxϞE@쟡3vebgVXœ2 g{BvƪTi(y^Ud8UugQL3T%UUk3Kp^S1|UyB2ߊv췫jk׺JY8?D?u&VuTK3F(6owUeM5uރ*"*'8w*]IKR$K9opuQٌk0h'_J':OqUNhލh|r<\d+).ꜙΘY~1QnfJ7ەA.{zpN3,| _^DUӬw%^c,)a~,*=@9sC};p$N߼֙i!7hfYhZ-7fZYRA͡\f>uc?? OȽ <@$4A=Mi9Mf-jif]ۏ~s SPd4ffV!fh>TzƵ'+YJ;TGLuGy֙Ulf;۩] G˻0bG0CT5EG ;y0捐RhE=B}ch >a<ݍ:wn,DW >n]3F%%%5r9?Io5>zLTUwhȮoktP-(5Ŧ IIny G9hLlgf\[_PwN{krkҬxJ0 TYL`3cY=XQTgufe܋, ]oUu͞feigDлJ3dg2+T>Taa7e(POd(ɎPŲsG1zȉ3hސh>(w1'{Pw*o <`Sޫʙߥʘ6U7/6ve cgLp.1i0Rm|?!byCcySc yc >8ƶCs*/1 Qq5qǙC;L0'GU>3S+){;lvƽ-DŸ\8E54S>kOS?S)=7K{~]@ZmR[VuAm!H9{l7FEo7<:,lgQg&cXf3<ƸG&YFh<:GAy `ccX3aOBѳķVIl@==.ُgBhV0'lJ6۫Zڄg6 C_ýU<[ㅕxe]GV{;y ]v:xSeaO~چfBhVo}\-/olu:):2RM?P/x{5M%0LGweci;9~PDOipjۍ'vTׄ  S?w^ 6_'SDU"N ߧy_#8OKgR^>qw0波L.'xEGG&_.xKg0s8Q;Ky}/N>˻(<`8q|l":4qB_7Bu>M'P8'NsogD`LOȉї|W+ȉ}WD"?+NxnpKg0899Fq?'2/-N`m'.',ƿ3'5"fs{?/? ǻң ʃ|z@8F=ݢm&F7vcD惺[Rb\JtKaMv r*@y}..PQ? Dw]?~?<|qp=w*טz7j|3?Op$N.\{}b . l '>- kWW+ ^oG|}##G}Gg\fE1>HAM^m>/鋹.p` P˛xiTP9moWuhqقͫP@`!t jbKRڱ `4 0Bxcdd``Ned``baV d,FYzP1n:B@?b 30sC0&dT20$ͤ KXB2sSRsv,\~ Usi#/ FL>5y32p{0NbyWbH? 02ܿdBp )t? Ƚn0#%@W&00_ dn4ֹ)8``#RpeqIj.\E.!JO`D`!^:9X9IL\-Sa aq^xx3u-M#(@IH^+Ez J  5o&B^3y9gwA!??/M8(dz̯_ VְJ UVR9 \K3e5>K3g䪓To] ~8u9F :ɯfdl~ |/7K@z=e6gy"bJ:{$%GvSu }?;i׮Wf:~&>tT ϭ&] k֭abdxvG%Gvt .кɄI"-_QI;DZzQIj.S%4>Yzbm)VKH@/X5-aa᱑m#۪]#-QIY~ڶI1VzX"SG{#xeqt #OJOH'gT%'v,UKWìs>ՑFxuGXn~s-rfkF?\YaO/J=۬vxu\wNT%NjxH$ĩO#x {T";iE.rCM|1Z-9y*dqrNRvԹn7qS"9| .}hsR۹kl:曄'arbx\Rlxr7V JXzX2>YeF%$R"" 层5l\RD|% lYRDȤI5U*T2!6>۶MXۆWZ񘸨#'vj[A*ږHHU2q]Us ;i-2W'*ciR)!b X X5}Αq㒓XEuRFBgE2 1-BKDCnE!ɿ$ kx`H~5ml[1{Lk"D]ۙ]"'rhiݒc-Kf^jGcNHnk XhYn^Zyֳ\},b"2Zze.mF^76cf^Y&U,";kVw&;COb\"Y>X]Dh51>c-Iɉ"-XOY4MOM,k*j\%'h`Ϊ܃ޒ qiL= >us,T2+NUxd/C~k8 0v9mCbxYy$Oj`Or.φ?Yb͚H%ֺ_mb'b4!*Ǻ֘҇#jb&gV˪x _veixg'ny~L%Nd;&+k ] gBoifݵiLCz }wgŪͧ@:o (jJA%ms{BZ9CT/ȫ~cf9zX7D dzStJlG 㒳}BN렽GTgheс$1ṻ# =MJ}&mk3m+y4TYf:OԎPLIHBV_Oj[m7ȢmONfrV{'&“A|RΚWI>hmJ##oGxhΝ`-a< rkY)x,l['+Y)+TexK}T_֬m:YN[Pqd=wjZwUAB/]eOnn4NE[7e@@Kb|r`>Lཚ妺g꾛^ G4؞{jO,AY;VxWE7JXK0Q5o6yMeT:3׷-ǃd)N[2b-{:Bнf|/B ]q?tTC2ZU!2~_|}xXn^5P5u_g2f/yK߮s-j_9wtpMpOx?Dn\Z)rF1EG8/pe{}"bV?;+2@7]UJw n[ s>t=ݬHk?Mv2uU+3?!8$ Jxك!!(ۃ{ܼ[ {{{(ugn=CwEZԡwӢwQ]4]j6]4iޡ?c«KGj? QBIaJ$Ղ[JZ-Q񉖸=hT GsMԸGvQ7/ 3qQqw,%a_|km)RWA;Ȗ^YȖ^%k},ߑb8õ!2%/ k1g( yoIQv×3O/[gP@ڗKx Ρՙϛ$tLz+GV Mu6io .h +AAhUo  -d.E,oYgwkPp/r7JF<Y"X`0G>n'( (#MЀ{p7l w΃&@X`{pGe]f. q *U*wC@`kpHXoY`PYJT?NCB!wXz'4; -/•.1C/{s|O^k"qcczFRhmc IP@.AaFBṫn}S"4uq|,usUmi, ݞ],(X`'dj S+J`nCC ,ͫu X!BuCCR=6MIp`5X,R5)۷*e{Wlf|g.u sӻrSL5 ֎yaԨTVJaJ)<+U[$ ,Uc jׯ*h)?U:8hs)NOqqT'SLձZKeU'0= ͪNV()J@LʶLQ+OL1>׵&ykVR$)i5R#m.E .RPXHET<>!D.u ʬ.GK]h)^:LV&k[yJPLY |U sfQ4MҊP%OUzUyoMPˣeJ>E :7Ě..w/}w);7^}ϝI}x;koooyoX{`3hZ"7c1JCcCQEif|J 1X6&LFλF3e6g]wMdh1etXj:t1SLNmJG&Xj%޴RI4-S(L󔩦,[re)UYdZ,6mP6sݮ,ϷtHF 5OM{ۥ5T棷\7(Lk_*+|N5P 9.Ǜ֑ |vv(CY_<x ,LQf&Q݉Ty՞c`j }u: g2?nS$[a!t`VJ +&k+&aDэbmY1tvuH;S.?kVASAk ~^vC7kc3X1͊fD:*:cg'. tgsC}Y1XygNT S:Se)F)0R6`*Ji)U`}~j(smj>cu 5@PsMaL5QGoCM5ahDUSn߻_O]ٙ7Io3 nK TLeSeeqq28| 7QF?Tٝ=yeKWi5R?RQ`S30 yceFHrK㙛L&tkbI`1GPvc8|@aLE(ܑXcыE#vъjϊJ7X5QU`' P>c(*q6|u_*Wž*~ҳU)`"ơ31&\OQ~7 ] ٙ6Imxg ǔJaeᠲOkح6lSf6q]1VV* ˔5.V(;: y1 gX|\rcۙۥ,'e+1X{u?c(g sTy՞c`j }u: g2?0j`W. ^9 ΂! :RTT0=Aߧ`} ~ReX E,Dw}_(jweKm(N:ի7TP3({ N%eJCлA(T4/#UZ\.sa zMư҈oȵX]jr PTD.\i S~"Ip">w3mgɎTOقنj{L٘?ٙ>?4CRYrT?S9T٣D٩lӏ#eCerBSC{(c71ˮV5@P0%>aӣ/JCS{VWMQsogk΅t]tٙI+{SKeʓJݧCOn׍St\?V !}=ҥ(Vv2Lu}*JuvZtÕںQ\+5St3 b b7ITCn W VOEvrC#?C vI&r426IL&)ʫPc=~zWEBEe]8UjX;(e>X;bS~g跆tY#Y+V@.uaY^ < :7 3^TЕTu%R\sUb<`]Ƭ]\ث^ P 6pX9ʰJ)eu UArq]isEYDyUeMĚ*3U^@l!?obMiMyM+oHJ-i"-PJ|Pi--Q¥Jt(lglCJ#b#72 J{Mo+جD`^ZJy JeJ eul"{;s (剡zpFgT+*>NR>&*>& ;k4Q= 㭘[s xn-%\Oj>mrm5 cϝ1Xy/{~nQgsYgKϗcbtKbI|<,f:w37/εb!/un+DsXZ޹:Ubs:B21W3&9 4:X./ 5lΫb2sN5Y.7̹W ps ]Rݩ}>";D[1њzq^Ե3]D9"~tRw^YSuBs}L=6H q2ߑq!&dv2rTsTWc_isSxnsjXՄ*p\R5mx~ sq( pϥsMsxnTcu6v5:VŶ2!aaS~ˑkEs59ֆ:Z4?ΌNVAvf2ڀ|e&YLX/&e3R،bd21 d,}3V^Del]3q%R21N=ף'Q$g,3΀?DR%Ʈ3Nb?#CLΰ&f43v]L82729b(>d?:}2/ѓX=3΂?3~ 1(8vqQ1,0w} m` ؈z|%bFw 6Ę h RkY#3iKZ/-&OPIT2vrpPf\3w2PEo Az%sPcgaׂhFo4h!f&5aՌ# W؄Iȧ6^\pmMk-=z}-փ4g+<s x~vo³_ x.@ lg#p(= e`b:! s!ބՂgIx~I|!gr}5ހX k8r;AK9J9ڀ|GUv#CC+UtwDKڠc=U$iΒ=cxDZUTplev" ;V7kx?(^p\/;v:t8EP 8"R+,1X'D.ؑ&6(B.̿Ḅ38"^u } O!G*+1\c31w qXΒ, #ς<˄ W+U/Z}~LgYU=]iK qi\vfx~ġ:!G?tmEtk4]yF\컸nB^B/䘊j0}31w qXYrع%O̞ۛ~/VrUToEA`?!E۬b+sCt~EPugEVICگqMԧ:5*ȥa/+X V?`q(k.jN^}xѾA<4v7p~(V8"M>&ɧuH .2dpBS0G x}x~j)9$>#l :[3%NyMbB/䘊jQ^| v')-փ,?wy8'og/J\~y#;;xyTWc* ~7sGu?dyIvdgvc({d<+o/cīa|@$YA䟄KwD)^" Ϣ|T[/L7*q_ǟ%'Y&Mq:/+ vOc]@ '?a'ƞw Zgb^vVammkX;+Erm8~?Vm8`;&N8lKGmvqҖ!Nٜ1wvECuB\hKl9'd%|mG1.dKE%9bZfbA⨱Y<[y3W2lE`>\g3? Kx Y8||r]u y < rL>0ru4ˉ,v9k)>jX6l zc덻~pG91l7sݪ{%Ͼ\|Byv_ : ƃvθ ltGW1ݑzw lNcs##ܣ[v0| O_уޠh w;7W2 %/rwIZ%k\DNi3^掠sZ|"v zTLԦkPȕ@EPR̕z`<"VaUc:,ZaծNJua+6ԠjXna%h\st›a fffkFfhN-@KX|k+ g8{FRaUʼ {ݯP)ƞ`1Ca*iF61cm8vw}p`a XbXdX辨a[2Xn\;s !w?6r5MtۣG@*X%t#t?q*_/0<:ϡvastt 8/UM"Ԥ(q_%[+M e4,tN0ACAA "^L Ga\K2E5sgܩe?}v:L/?_0ws螣 w6lr2|>jC1{}c!I|t' {?ҟ { Aߘ?i ?)`?؃܊Vl`ܶV`Xެa{z2Fq ϻy݌vSm+yv2ܳ,*3~î5U\ .f g WK2BU--_]M-F40up\Bhß\#O`|"XTY}1 ^PxiXa{2&3،va(:=.1T #x]ֳ^kjXnJuiXgKI+NR\*ړro ?b$5xfZ_`jΞL6_YY =WӰ]=}5*Ⲝa,kIVܰ6u+ʙabw \q@5Լ>rݏ|]~SE: Vι6[F|KG>bsYEؗB >ʃw@ez0ln8k1P[6'spX5.y? Çzi$kJF]S4v +2M,q4p *W~>1T,`1 C0x<Oe?GFߢ>o~[xvouGN':u^ԭe3_ׯu7ӧr)\:[5,pհ] TG5TC~9rj>u;-gC;p*+%a@돸%1$8[b;*v1׭Cw?6= " /s0cN-u;uݲn;M} u %*0¦ 6]鬂€x¬X@ w CۥHKĿs\8W\vm}I2̡BFo !@P!#Z5(}q2ρ<}k*hOG:G88@M_&:z#cu4Fo>Dx_(sor1tGg.]MkIƦ5 _>h KE,*:t(lʏ"^E(bu<{ ׎<{[ڡ%?c7o.hh.x\4-[2-őK2KbWܡw@wa;&|^£U+:Ħ$%<ǒXK[X;@0!+ϻw*/=THj8`aV?! 1'N4x{Biۧeח#=Q:C_ճxa{y}Cь3O0O2dl> yÜalv lǗknhb``Wct42~mU{=^`0#8&??Gp G;Ţ|F/_xͩTe9 , <؞Kf37͆9D`^XZU Sj03gly%,;T^vCg}y 6[b D;Xu.r]kW+̟𪕕)?>}y 5ȪK}Gp  hj Ǫ 8/CY#X0 y|/Y_͗3zf=h0/Y}Y*>w0 NGo$>ƀq`"6OC/&?? mn:ii' n:Mj`Nٕ'C ||Zqߒ6V%h&h A}sPzG=vغīKA-\kO̮:tI Zs"?҉^%>83=KN_q-V-5y~/Ś+%Ky8q0#uv}Ny(ױf2#q4s K/`6_-O2y/3whs< C?4_/Ƚgt Xr~@jS} qR̗e䫌_czs?ht;WI9|ZZcYKM&{Ww>TO[UftFkr p ASh\1>gj}1)5y T40,bsA@tN^'vD=mnڒ)gcv֍a)lYmA{9&@< uGⰏ|Dv-qG51۲s׏xI7'p%a3%LqX #f5-A Z0\Vkwo<,=L /?_WUpM 恅ȋ_RtJث0ڗj?-/l\غ{ $1tI6^E9^:܏rt#r7{tP#KA\"g|tT# ~a[i@MϷk*.k3<a)y0qݤ4#?^+W|5KQriX V 2|i繿`K+Y\0L㙦<3y/x,0G^B|Uq4. s=aHȱ0CtGqRE墨b,DF$ځ`HEWU$Dt~<>^ ƃ1`s#p Q3`!XHb,*ƀ$c;)`<F0gu4X}(uy\grԴJjzԻ4ce'&OG4wSj裲r?t]AHʁ*qZUc`Jda B }g%n@IPbS\ `,Z\סsCz]roNҘh$~ ~ Ncۋnhimy+㛙_V_l)-Dom`4߶,ٖJs,2 Wf>`> xbƀQ̏VZrYuƷƒ80B,v{1Uq{G;a{'0q8qz 7Cv?Gs;i Ts:tP_M0 `nptu}:5 ŒQBOj]:ڣ7:8e06ߕ3zt]󮼯ϕ59 [K@dB {y_ΎAMy_r62&ƎI]vA$-4ǖ5'5gz1|Z[imzp?9>N"_{>z˺뺣r!!->m.n\BI%u;EuI~MwV~Y.]~Jӹd߲N'~A"_QW_]Ei!m:')"?4!d.u?Wp G?$?DNi|Y+˧CQ:ߓ?ɻ0o>2'/RK _=̂Y97 5J~I >^U,%,v1>gp.xX&VTF>s0p5 OPWi|V,. WKd4BKc葉!Bb%>_Wgo|L0S4J忈rUG 0|g\?_16KW;Yڙ -[.\G~I9#=[!O"7#/"#C#D#Cn#F.#"]]YrSϮI??wzmM^y~k~Wަ_:_/p]߸t^!ç S0U0+FzzV~^9Ǖd{] ^y!5+2DVzVf^댡W`0T:c ^ycYWacW.i rU0Ռo zV7\xD㋮g0㓮).M}fw1\ z2۹ɘ~zyx+`mq4+_6ːM^eaY4xBOϊ@(x+$xED"7:_gorAQXERK\LLsýrI1a^9H:BD+*8J^(('y򢠣x+# 8* _^*Y\C{rm^O{C1++&ٛ!^ko,rc+7D9(?ȏzD<^xKrWn 69; |ozbW'FuE_\WtCuD#WkP9%kgZ#m5%9QSGmYk؇Ya%eVGen~x[C֖]F-mMDIT5y1[ h)y9[mJV,L3r^ EHDtz+G1QJ$xXaI,qœ/]z?~+_ y5c6r}M6ɘ<6-v4jҒL A&7$&(5)&dde}MʊOEG{פ3̓LnI 1ǖ5LJA&7פx1}85J& kt$)y_tG̓OAol|C_1r}I'\YwN\EwUKc&r]4ҥMtqEn(¦WG9tGNr{9QwHεܟY .K2W7t.dq7*Vne}ON5P8iN=y $C<ۙcn tY"!k\.q^k bV!;Ԥ"ȿV)8|̫8}E*>*R0n\G7 V$mЍ[`'v{E/bl)XNWN]!cKqe~,>ǡ?EE oN|bn{on+NE?ЛԓՃՔJNSt;uM)Կ5I-{~`T} SZpS\WUVUXY uӌcFl onmvrSu2^*UE_s-[#E~G~QYu;ݥvs>IC>6>> I>}nq>r;|}2ȁ^ySѓ\|}Qul~h3lr=kX_3y BW÷^kW^a' \Q^aaWng핧4$zή޵ꃆ\}>>chP+j\*^d,*`,IuUcW~Xe5e*|2]i+WQ~Bۘ`䕇:GG{/ۜ R"8˹8SνƱ^# 1yΘ2F;y cKOMZ·MUSWޝt}{T^Cc(jb h5xCK^TZz[51"1tiqq稵~}s;쬽IkN5\hu#DӔPetpX#} {,=Tb<=Q*vb,e+HEb21BdJ%2,&x.H)A1PO 5}VD?ҿUTDyˢ],\9|]fWoo"O8dy^iCl,R#+btͷ4ʔ)",0r`U^ҕUXj3TR#a_t-sT#wztCy*0#謩GMht3lA[?8{V tG0;TS5;Qt 0tg2tjlva#1fvJl^cu6b}Aوa'm5bG+8ZF})P#F?lF @џzܵ1Zj9H}j ҃)H"GBCثFtR'S7r^5B^Ǽ^<< <NN8fWvpspM2=dxoǙ;7k?2g3'SDpgVpp:sy\ l -qC!ŵMؒP-}2GFALkHdNP\-I>)ԗ8%A'f'WkF%z0\3*Ėl>-ػD ftZ$ۧE0\Gۅ-ncKvE f]"qNbKŵŁؒA'i8c 󩔠-I iؒiOs`-נaKOҵXm'OyR|,$][}- h?Ff4(F"׸C~7n#u-Լ0EqAsZRhhZS<: >O8䡖`&%B -/gn2IPd<.jArhۏRaH*2,GZ ȯE-F_lo/;N#~8N:gc3"8EߞpΓxVΟ*xwR_ojX 8Zj "ajh gyGϳH-9EuV5@ؓy}yZZ/ܿ _ku-Zmϓ]=S1H %qk%лz$"RpieQWR{XUG3Gm[Mk2W+1K1k9c_g2O3e>0eo` REGsgә¯30pwh%pKp#Jz[E,T׋ܚzt[_ϗnuꧥ_Omt5'*R?vҏJ#wn7I%=Lп~EƝoe[7o\}v3/?пp+%Rb cwV o?tsw5Jr՜ djsh+:XHG>\Շ!"YZISbt91(n9HpU+sBFn*:-D'6" KG6nUv[E3xMjM jQ#¥'Zk,Uw&Uܷ3)*sEyDYw(-W7/~*Tgp<1qw׈ZqMzlқDEq<NPζCNqPzok5Llt?qJXKufsFyj?9yUo9EtHs GL~չ(:jHxYHrDsSVE7綈]D:wD;{E#^p< <9E5BTF:t$p<-&2;vi%]"5/(_"ٕ[i}3}VZ;0] mk:[Zmצ̮CK>ͷckx«?1/`~m89 *xeUY?H: Od5AH<we5H kp)$8jnHjNYM. jkX Cd.`5pV'2혛MsԷiVS&V j/cT5g"_L@(\^k3! t\w=.Mbo'm00/_xdB9vcE1.HQ|20}[\ `6?& c? jM&>0< 9[(͘NHq}a.jT 30]9_3Cg?#wP~ܨe<ʷb`r3R]Hb@\wY& ?db% WT` & Ma`bRy&DtЅck!ly,ebAWc SM\ ph*``S7#RpeqIj.1E.B``! P1fK:@xڥSKPwiUcuQHE\B;:)*XB,u, IAAAK ~Jt(72{ =^?kc A^#Hp:d9vwmxVxIgxb broX>_dd2 ƨY4o?Sq+=Lhe jҌ#a|_/[}YiiJ*kX]of52Kfe/rDCvWbQ/G$מ)Νr~Ƨ\]J;cs;I-s~6E*wS#o,j:y<1R+1lexʂҡ^CvbSX1-/$JM@xER`!8XcG {>@@|xcdd`` @c112BYL%bpuu 8fR –#k֊lXkUF[58ʖͰV3Z>tT*8˪5DBIΐ>Nw(zPχ'%B݃-'!zDGr(_Z't6@{_zISOK SS/7Mۚ7Cׂmx{e mUQ LYK&ׅáNW-n!j`!`ӆd<砏˳aR@2 .xcdd``dd``baV d,FYzP1n:&,B@?b 030l UXRY`7&,e`abM-VK-WMc1sC VPZ^T T03V`Ub1bܤU6u<a>#dS&Pse$s.`|6!L,L{00-䂆>8 {v0o8N+KRsA2u(2tA4B ~`u`!!A[Ly.#* 44xڍX U?vbdX7EMRdKNKD,!EH a( =޿SCޱ7˃};@pe\0~U]oϷWu2oo]Q9 7ےTEꂉP#݄,WA)d w-tog Pp#TOt(i+{Wc[Rٶқ f馫%~ʫ)F~k!kd%߷gu 9VXq|2u؆&RJ[r.݋KG-A(_$ZI$BGb {I9o_kP=XSF%BL8؎a ~ _-8<0,+ wCwa0a|L 'Z8aw=`L̦TO(1L};Eu{,0z dB#="'u|DtQ[EE̙tSźr#6I),u^.Q]YJ,9GLLw:_20MԜķN`uQwjְK=eKfK=\¶r?$hPEU\-j$/'1M׃-$q{ɭ!tm~a?C.oЌ'<X;a)q硷˴c\b! ?S\k*t~Lyӣz@oVqt$sYYj0aųnGt4>F?r*mEߧ ZU9NCvGJv} n]VrYMj*W:VE?ϣR !sxy@za-i(' 8URc9,~ǃ2=vl,bbo8Ì0NhSS;hsqۛϘ \s dn.O)SK1=9k(S0ohR.x:eS;aR(t&?`^.`)C]}<c d^b> !:4Wy 9/'UE0܂ig6硅}cdm1>m%8g‡v0T~G`~^2/ndhs 4/9hd,_~NIj)/!Yn<ڡ:G->Z7Paz2nj&rT5? 3\H%$C܈4F _0P60ҍzP'4Mhۧ_1 $[H[j)S{ 0R`!rKm?f5aqYĽnؤ/ؓ\OȥBcFwf8ײs]mОrn\=nnr>Wש[z'?򏲓j(o6vЎy\7 7m1,y>TW3jxX|֍nq=B/ST76x}O \v0i«LKk>RfWaQc:b8SByM5ڕ,2af|5q#_iմSl/cP[kr j>dda]S[XЬ?`?z/L(/:}GiO)v)ͱq3vvи VAaWm^f6}? с ҏRW݉jtOv^ɡ%2&^&FH'*/._nj^#VB/3.wV̤ׄ"*n^?u-f9~5TNHLp- L@- U!ܝe6t^+6X|t*>^G@gʦ\o"v[{PGCoV ik[Cm EB*δh xY}i4[tKaΏ|6:hncZ?\0:2F,t5LIs +dvsVQ q g#]~ H?j$˩d͔ӴQq>Ul.'q,şa7rTV\]%'Lv@(S^u >I-]<7ǭߦ2FɌi+#h;Gfa_.^Gh\SJ)+}OF}U2g-u^R1/zn;뺺. Ik(u%FJE2nh jc\Xh@mt2w^a=WV^}倞-M|n/L~ٔS2Y~:If4ͥvL2Cy]P>GXhڠ0=l]!FtTƙ:-ú:$lkԳ[dlogc:>)jl4Ӆ x*_JgNLOg`9UE8 "2Z3^Wciћkc]6Lu|f_Z|e ')o8 79q:JЈ/yJ*P{$@ݙ0~pq-||n^GHw娝Dlڨ0 uPuE|mΣswWi|ŝ\VN}iuz:W.VquDU۔cM\jKMYb@ޒO{HTe8v\*R?,uGtp3_QcxT #Tf8.Vp;f4~~1!뿱pSxxO`#}w:~]0n|IV rgq1+mqsNmog6F~oSg>n rZʿWE%/yrIEȩ#T}"`.WT{s-X=. uà<ýP691O(u[OZT9+ S%;^TCu~U8ʇ!Sr`(!˂yx-R7`!cm Xm^z#X@  PV1xڥkA73m4CBCn@X=TPB+ɞ,=GO VHw1>ڳ.$ɊH'q9ĸ`?vSE8`r'3{gw2[#8؏YykNN)rm]gM"oK` k \O}򞒇T!RF(=9/d }q w#8xr7v`!vo蘵fgo%k&QEĜ aDox|ޙ EE)*&]$ADAJ)HW.]EP $;If3?I~{fνs{l)]i~YUբ~l޺N-u5n֢^Curppu^fz_z4/(7 ??1ߴfU??tiN0;m~ĥ&t j^}dqyn{pvջOp p@ARz~~A~lc5^cFtkc̳[~Ȁi&-ͼ5O%1lq+w-J>[tn/>y`qCtuJ+i54v두dZSNi!`-O۠|5CQQ&uJdvOwMgO }խcAni=8>"ݼ Co ꗚܧO\7{RrjM_jJW?\6[.i:/ _\\6Ϸfk4o0wmh~WmfkE-hUsLjMlOILH2n-ȭGͪ{R"5J7幤OOmCݺ/uG {^.׿w.9[€l $|6}6^i^q繸^|p;@}=005%6_bljW H]KjV,H%u-ȼ[dE˖i޲Rn]*V*[UBjb\U{ĸz ݻwjݲSHppHN}B;5MNj#r~heLMNjԿO"M7 .T[bGڃV c7z]KJmگIQ'RuӪEvA:$0P86yGGs|f'u/ [;uhwkvlTerbB7 ``B7}|]ťx;iY'tOWtCjR9="HH-t勳}kwIHjllZ-S.UmC륺MCKMѥEߞc ]\Dy%v*ȻPZ}`6SRg䄤T{Ԕ^q&,`;-얦;-1[>TsժOrkXPk1f*i^UW=0lBf~LG[!kr6|u -;z#GJ젫:nuL_ =/.eM+}AUj_ŇGB[Ve9$ĞVe2$=埸ƭɋg;rz:YtJ5XH!v3l3м>5wy,z׽n͐BJf=̭d*BL%kLt9̯Vsh:zo|a0#G'QWx ^*]44ZC/NJjwԜi=A&U Ϫ{ysD5 k2_ۙ{YjHn SnO /@Y"+T ɻ~Wm23M'W/zWNfv˶V{ۻ%&'.'>!u_\CUJ AUJBkτ!Dʑ޼=rWJ ej,7¼̉b[)w-+7g 2sٺ(zY >L믝ukw(ͷ(㮴Sڭ}lYn `pT=%9x(^-~I޽jWBgR/MHʻܫ];`{lJkG,cYnZ[\/yAA4n5&p?%]|l]w޲W &lOy`w"i ARz+Ghې%n"zuƭGڣ|Pdu 1OZUr7TZ\K븜=z7(XWa1CȥFjzz.',&,/{Q\kF۱؆CXttJ!WQub=4$Xa=#ȫ[ ֣aݴ׭\a15_Q5*{i-XńG[+TfHp]>s^KJN\oj׿$lωgB_i KƇڃ](22v98tYV8m@DdLdꠐsS -,|&(,4xf&:coc doyb?£Ba.`BRXH)QS呬9啂bnYLvB|r_5;!_);B#" ǜy tgsMq(4eKrƄ[+G.MWBâ,ɕ#d ߲rzsqE^5G_9GaxswPg|j:/EyP^Dk"]Y rKLu .STOc.)sQ\%UaTF_)UQD-PB+K!yi NFյB]+My0&)S)ܥJQϕ!3teа'Q;AW܍"WVw+idJ[tǨ8߻{~ߓ=i* 9%6!1.ҿlސ.~_N{[P߀oUޥͫtpvoNخhϊE c^V 룝 3h3Ŀle{Ck#NkeZmfFKL{h3kT6"VZYh$kGQZ%clHu-ƘՀǠ1;b%1ô'54ƣ7AA 䪴eZmhoISZ59͈Vh6|'|;TOdpY0#\#]޵x1ʫ z(~aP՝F13vu7Pwr!u~hT%FuhmԵF[ulmFk<~6>L_u݌a4W?7ZJ a:ҿxԕF< !ww_T?5N)lJ0}q w_:?b߯_cu:UJV7dBtFl*bii'molq %WUH$&1N5ۦY vѝ*t3]n,YLcX*ՍuܓDKD' s|aW4tg׶P(*jjjd*8"d5i¹7Gš(dg|q[}[hn ښ]~r:wl0crs?Q˔{Acǘ4)SMӕ5*cPYlS>4)}㐲RYa|(ko e3mq|~s|#Tv3nqT n8}-ܦ4VbX`>̅Bw2=0F¼wyߥMS*C{X4V*2gJev*P0r$!5H]ИfT)*ҒjBiIU[@shMikLPj!W/E{|m}[J;RhZ0cq;SA7z?Sp:wD7 3Fo39Ԉƀ9FYF|F׀F7^N//qÍҌWo0f21amo37-`1ȯLm 0ޱ&xcc x1l i ~;08_Wm"qOo }a*]{j@w2ލv1fRdշk=N[}}}R?-ӿԖ0HY A?GNݡhoava?~o~?+Ur#݌(AW'OC> "&8m b; U[t?mA$C1}W/kY˶l&k )ۯ7Ifܧ}.wk;n6:doU6XE/7h-ڻrǝ{hB+Qm<-ǵBGt9^,t`7G[ dEJmv?㬶G ?IbX"f3j_r [:XCjlkrk o}ĵm|NNLǴĽI~G@6Kؒؔ*1<_8?M ?w ݂` FG[F +.S#gp,v玳djOmCj9tm+ltd[ @?3 |[`#m{v|[Zƭe'1T$S%bVm!9ZXqަ> JujmA(Yk_˸ߦ||j B83mJ7ڄ+Y;du,Y}J&I&LG~;k6+k67k6^f]gfg m՞5i7"3m8~Fd}RIt~!ߵYwUx*Σ|oڰ,3AX`if[F4#|ֵ\ՙgȄ,ph陼nԵ43b&373n37cgs6a=>"sE-2)_?)Lb(y6ysٙ'a "^$/r|:/ Z{mՎp=kؚ\>8 @&dC[!%fd[ld#XZƭa[`#XXZƭe<;CgyX ~4r4$c6<خأqP{egf|%e|SZb"_]G'E_3hod|qh??o,~GgkÉeH msOQ;e7b9 `aC22{^0nf03A$C1}Vc*bE"ܿc>bb-wI q8\$r.ǝaD!tNЙ&.HΩb,u)8߀-;߳X|\t戏cX~wع#qx:Wo++[c#Xbعbs llz3v=6֋A8t0s3ǭG^aK4|\&pv~]g'VӾٓ|&}GXLc,}bsql֋q9AiIFQ̻̃s b[Rg]F˝b1fB(_Z> 󝳗{5!Mdrmթv5Ujd:ꩅ~muYEio@rlOބl7a5ꍩȓ'NCfB=KOC;ڢӆކ1mۆچ{mm(c T"`Q;k'n|<:\::j[ O:?#sGZΓMOm۝ol{`s7smss{691QkqnrO)Nbv}M\ǝ`/B}[ݭ-ĶŶVJXlsltu㸑kna'׽]\]\./lg\/mk#װB:׵LɁklav{ז|lKf% ص̼+-82]ʘ]j;?}9t9?s/P߻W{1x^e8.98|_~qN8 y2o?IOd9eVe1>/Qab4%7 $t'1fc'v^0:G=.&iG, ]ͽJs&[,qƲ~427>kdy׌39Gή:TivUm3X>=+~Ev:7d^_(rƱ yd[|UP޶gEo3ZEq_>)۶r܋|ـԥNU!BUr_-kV<&{* gE2>بAD=Ao)̻w]+݃ I(%Mijc~el[4:B=4P8#~܍ks7n([rJҝe%,wf)2g&d9:E0Y_P[wf`$f)u`N|;ŰwqשrT .{عM JgT3#VesĹ>XFH|0l9bs LL c_k\[wv],}O*[ݡI$OW"yEzBX[O z>r`U`F{8:FCUƚʣSЯ7NڊwW$M86t2fPFXc zfx ݖ1o|z=(O /rl`/|5|%R)9*;9:|9$}{#fY:!'cU}x\P?wl#0 dB2N l1 U}7ɞ  [sw49DݲiNabF̀i S!̞Tbx fr>8ߓbk!׻ pr6FΠUrZ |[UNO:q*b\AK3 ByXl\,?q撏\;?q0Oo*|7g.w7ݯCgB0k~2 HDG2]Pg:3;1#:1;:1K:1c:gu45I$ zӓYg3> gc;=I7 O|i a``~ǧ+Dߋ輈hbQ2Ж c%xYFaOa6sϔ~O6b_4h҈W9jCTu6E[Mj@5P< q՘5C9{`s운c6Wk=Jgt;>IzK3;^Cz5}r^F%D{xFxVW9WDGݏ?mt-c/d_m"U=Hsi smtݖ;u3򳴷z-~ZőOeEgCEo=ۑ$Z2&X4o?+-鷃&jnتٶh]{x?ve[Di|+{0q%`e>kPi֣Eutj1?ꦯ{E5J["K/U(Qz=Lpؐ#̣r̅ Y[(qG |EUWaKYT[,_WY!ℼWwC+t÷5nW w"`g r:}OGo5ka=Mre,G)6y8|Olgb# ]3yH׻/By1OVsd%2BLb2 ȯP"GYQH7Vƈq::5ѭɘb&h.>E̅%0&Q,]|yDy3~5|Sa:s;=ט¼ϴ2˖,D}DZ?@^_㋈$ba Z(.:ص[rgq~v#}?cSfߧ"xGU1u2L`OmRErbQc*L|"iȅkl0ɎLMG3gF3?FGH#yΟ'q0a=p@]&S)0 f tE%\<\˃b199s33;?or[E;,YPmN>gr4{ 5p2$CTuKs"s>P>˹9)jks|sg-)99j^-!G9GY_~3 l9YfZ r]V˂,!' 3f+ 3 BN6gQ&{qX5̡bNɍyeoGMIm97 Dhh'X7ngW^4H']DY*+ѻOG{q)}WKܯ#犲Ԡ@T*N[>KTG>AM_?QT-qlK/s;r >ŃpҝnqV*JE"buTo;{9PȁLYįr0 瑧r8,C+t÷5nW0 -YN_:[ZXx/}:_)M9iLld+cƟ# Kb|&y 1GN[m&g' *b$Ej4r'硳Y fʹb%55x#1$1B_/`%rD93~5|Sa:s;=ט¼~{AD_Q$΢ q9E䁴?424I=yD{90W$RCηʹ`@ d@9FCa:,C9_gai{9YYEWD(GriIhx "!<<'B-d/ YiU2j)< )Zfm!mZSAch;zE43%Y!BX#ږw ։&r-Vq+DgL+rHth/#E;f߳lH=;ճNL#4є|gbX h[d+\Ԣ1E}XH~ޣ]j.: 𽀸o/ eQʕaGK1KbpbRTA0U0;l1kf?8-ܤ8(zEaa|aavfAQfR1b)wAIR߇NƔa6Fc>(MUM97L_EtE>+0 ZٳrJW`΃ٻf~ ecIs9[8 _O#?vp1< ,9+.Зnc®H"_8)"Ñ$pF8!:x .CWa8xC.n9yq#'wM1IrL+8<[6VPr&;Fq<?@Zw kDdq1bcYH9&Ŏ9Qc*L|" C7*^st`"d';:101fΌf~f-Ÿ ̕G?O<`Ì- #`X1LS`@Jϋ̕y1\+b199s33;?orK/YjU+ #!ggz?2_'}c;||ȯ#C#wAn#?\GE~8bJ\什s*TNGQ){N#g*?Bm9~ll=SٛG>l9ǔ9{y2+g2#P&,T^s9o*=D%%g#'ȒaJJJ;exqVȫs>SȻ9_*yo__Cѳޜ]v";/.iѹ˶--#j([ȊlC瑳Q|^IEqZi*GR;[%#WgSJy/;+$/_<>唾[9w*;Z[ܭ{TD7(r#To)<4eKgS_#͑󑣑v}@dӔ>Q>F>{S} }4x3rsrlK"~粼OY#C###B##A#Cn#?#C.#ߎ#Lb'ۑ}ȳ|/Ñ|ȏ|d;>r 1GfiueH7YKǟ7oN$wGmQ̑7oN:(s&܀gQ."pDώϢ\"Qlo|Nv)Ϣ\?d |*ƛwr xҜ,#7ߜlXvE\N6g OxsSʜqE4'3 |* <o)mMahO{D}qW"^?!zEo{OAn$ZgD3D=LW3z+༗&"MNOOzⷻSK}h Ofl2EO+j">zQߢvNt 6zmdyю8o##wZzZ>n6_E=jSO?"jSnQoaԣ y~F̀0z~P=g1_f1Q 댟D To#CE5oT3,r'솽h}?@^_I=yD{ EM=b(&N3y읁G)`⯏o=ݓ+Zl4YyAtgEG O~oDsx2H0'E)K8DBuVZU'FY;CMV| IhNтݠ5+ UnV,ڰ+-4jKM ՘!̔HfM,bj=ݫ:!|{}jgYJ?V.;vYfa;f߳lH=;ճN%c!vF̷Ny7RݫZPA/J;juŮZZo6tϧ +ìbd6*ld={`F f`vfbc(Bp:nsP~V\ESRPEEIň8%K~:eSXe[{vޏ4U5 ܤ2}y >je~T*q^9f~P~*n6鞽7Ƿ''-~s9 #P ~NwN8Vڊ?YrqzLt3jvM Vd; p8c8+n6!G&>겛N^r܈ ]SvU\ᯮo5_Gm6R9.l}p3+;||+9`;lVZǏ"+vYrf3~v#}?cs \OxG:u2L`OmRE);ΊE=0zLɜO$G= v;0ɎOMG3gF3?FGH#yΟ'q0aƪo~V 3g:~ b.sew1qA,:3'w.vfw&~M?Ѳ^߯E֯,\9G|7r9ϯlG~3>2}S|䗑G|.MUC=Tyzg2w8FmJ\ߣݯ<}BoX>OSs3lϓ1ʹ?/q4ۉ@۷9G'G"'SS6'sRy;9olT&xteL2eG~_I˙x䷕7>O =#ORLVjz)J(ާ)LWJx䷔[rf(JG;>OVNeQ>7{G^n<>r7>rsF>rupGV4Vc|yy=yd%>r*r#?||;rU?!"7"""OG! [ȍÑ+v>6YfnUez!o!/C#OF#GN퐛|{| XW>|GޅGNG^z7} oܨ'D7'exer@QM: YE改\2l9 o?MA]D ҜO$ DN)GÚ=HA=DDriN[W ~#lқ7ɥ9YO$ DNi[xY~7}"9~"4'ljŒ omU6 DrDryu *ezC_29 '6)ܿ9uH^E  Rz?>m}87 ^ ;ZzZOozUVCh=X >UQ=D}DS"wejizA-wW{SIYT^V*N[4N-ZW7}~Z(ERCS/Pӊi/'>7P9X"W+gEBlA_^uI| /v|u"_Q?e52D s2JMUO${d짞L9@~F-ԹnjXUMs2>G0/6 !Q]6P9X"Wd( c|Ol΂:¼z_on Տe#qu|B]%& 9APRȦ<. ƚLd}yK6&װ"(Faz/3dChpG2S&$Vq ,}7ac3[cƿPrDԾ2V#$VJ"+1AVdڙc{eO졶]Ֆڂ5LEg3@ L}~(; A?߇'jԎD c Cr/ړkLaލ}_֒ZM1l1l1juiG}_q9ZWeT116zGB㜛4>:Э˘+V4&'}Rm 8[> NnjE-*zD>m 3˓GeY=eؽP2n?y<:-^@T  tT5v V|w@ (N_v2r5y] տ $q?bc0k@"G6 /oz|{cjE9RD%99ڟS4r_}6a<>*Gy*N>$\6"Fj)r3F; 0C0S˰/;ޅv7z'w۩CQٞAKhZ {ű{e?193D}X0QMNF;[h)r0<Om@t{s>UgHD2c: 91t p+C 1Uc2S $Tv>g?x=~^^k}X{X߿^K_NgNѧI>hSv2p4BGQ=Z>=1B'?q; C( DP*zvL'ЉtOҷn1e,4~_gq؃d~'Or̈́Gtb2 A "&um?ݹvF;Oѯh&p*$fDW\KX-b,~3+1EᅤgSvvW\ksp0 ֗yNLAh(Alqv~UtM2}_|ƊƊƊƊƊ כ}?}:]7H%TG*s+ c Ψ#O/f:@ w!8?pz&a8c%~[w`Lfpɤ }vsMn5ϿUM\'5j p lBtn O> a`{ pN߁ p6 YO x|#<~wpC- 7=_<_.iwg?koIJMi7./zl](U=^ \)%:[ F]}E~$ǝ)!g%wxq_\7ȷ~?~^  ?gx ==*])ɒNV?/M݉(p2s>+U=Tr.</%ݿm?#qbyw?}cŎ\GoQ#HO*͒,9z6pdx =$LY*9w"C-Hv$Cx!Y?)"O˄` $#=~BFm)2Pkh.ou=}eh7]q}%!'K.{?'z:Ǔ3Y{?x6;e6S@9ٷ@ǹ,3C7M1exgJ}L_:1ki&I3Ǵy^??$c"LJ_ʘ礤TQ6+`.?&]obl?#mLɏ?OO7?'!۟31ϩ]3d=J\i |K3BYmsu{xۚa=L0 |k3TX_S7>MVn!Yq,wpy.21Y<$=(%2 !pq{I ? ==~@I'S$%")mi4n#=n-IVRVR)RyBJ[m7by|/x5=n*CMc(YNyX 5#7C PqO6y\_ք{דCoWCuo+C^G^[&j^KƆj~ %{]xI+${{ !{{ui8鹚$^U U=QN ; R"TYz\YnUW+ rr>-+'=.+_疑/=.-斖dwȖ;d%eU"7Ne5ޓ}t[WͻuWoĸKfeܼ͋y7cKLKLc |pˇ_?<H&+_tJt+̀<:}3^NVq6y9yEb^|ړ[Kb몘ĕ=߱Ƶ4בP&Sl=™Q?st}Au_|POd\Yǔ`; Aλhz-!o1ZtϦ\6QOv쯾ΊW$;݊^m:zn]٤k89\Wǫ5jM/tc(uݣe`_P.;bj.,ՅӖ@伮yE7 "}ѬgPl>ӿ/y͜ЗI2i\q3.(F&M9Nokk6sd6[bM:l`r ):?cC滺Bۺqxl*߬65zY7uhWmz٨"}6oclLsi>y Yh֣ h#\Ϥ)$&Q$&c?M|LOL~"#ezԋBIIݻcP&7Nk.=8YS=29:kin`2bQ; nQٯ1"jr`4=J<҈ĽJalAt??J  $UE^dv<3duFUfO+J̮̌[B?ZkZG*L_v =hX 1o]BX)*$0$ʉO{?t53JڻO.b{ta- `'G:'19w>;f^ctl?94:W료 {ގ/}>NCS}2﹏:I Qڃvh ڄlSf=}XO_6ЧMm+}A7踾@:K1E)B6LaʇwЛh1F 9GP=G_kEz #FDL[KtDoÛz5"/$ 9Deހ6Dk;QInlw=Fg]2'K6{~^;w%^le>~_gq؇d}PO?zF@lYhZ@\7m{^no^C?Gfjé]q-ai{e$Pl4͇ME]-s;4V̓tb2 BCb3?ϰC&ҹoXXXXXXzA}ҹOgR=1He.wdtu#X_DNG`8U=0e##Y;z2i7v\өo?e[a&|Go X|9UZ8;sW< apF8nd(^$;~;GI6)r_ߙU;lqR5)%ΣсrK%;iv RNmgN>sǮf-,wnl1y;P&~v@͑)}Pb#;@sO4)q/)èYBH{9M"X~>;H7y7jZ8̋<.;UyBvƎdv^=S$C;YEJ˫zHTw1ⴓ3+L>q]B{Ff,s]7N,t]49eSV8.aN"),]=.(?U'[%Uȹǿ+GuE:cS'qlukްU/x|^Mϫ_P*T/7}jeu}Y*滛ǿv\ /zVzlF 1v#꽰{Uj?'W 痖a%-f)*5zțDT41~G۹/nV%Jp96+A%^ɪf!Һ^|n&"vb:=yvĤ6)Bcu_O.?]ٺ=.edaF'7vi(+`}nWE5Q2jZZVunc}>=1B'?q%JD 6-O<}@*ѷD%je]͘!`cc0v1TDj 6"rЗ?`?ڵ,YFGL9؍Pڌ73"6h-kH[E^ZIr;ڀ6Dk;QInlw=Fgŭ]meos=?s] յY 2N_ĿSd]ߚh7 ni@lYhZ@\7mܮµ<\6JQh6I<*1:ѮVf0g0_Lb uFs|x!ٔ]2܏v ֗yNLAh(Alq=3hI<t4V4V4V4V4V4Vެp}P_tYTG*qOe̤2>R]i/+]vFHz4;&*J@|q4 3X3+Yvu~]H~dL͠'h?t?Vcph5 p5u#D?q3>^ x)j<~"ipw\_ϖH/o`tn::QE D)O*}$,U$"O66 ^{'rkN, r@u &^Q+\ROeG;&XLazݤTw&GwWVMŪ ԝ몢ǯ骀Ҥr#ݚ.DVy22N9adKjedzWUvd"59Dejl=埲NWioRF6oT"lJlP%<^,K>YSתZu?q֨VjE9LNz.TW[9+TCUw9.,W=~G]1(|ɼN__eP6?S7{AcNJ.Km{w\'oWxZh ?QyBWnWp9T n؏ץJu>C :MS<~*CA w y8G5 pRKE,U?qm:Z~ o7xEhZL?pw Q=^\.°`7w:Swx*7m<:DY HUH%C3ѕ2>vx/o\|޽' dڲϭ*-%Gܒ}9F/7HjYZEl՝k_x C"Ufd7!?'vMXf2ʼ֘jv#_I?ifx;;ߎfWS.V>}L}dޗkլ%j^B(wZu]mc1v`ry˵j5NV6-P!kOIjqN&)݇}-/mwu6e-m?U|^eP{]-_zE`!&VhpuAvL N aUx|TUǓ;厱}ut dCt=@! IPUH,bA@BGzED@@y3Ix{={{fpW@4% @8dϚhРij6njި~&5jֲV/T'|Q @\j/0Qjڴ _{!p3(%vKOh@ blR6 u _t9@!i5-=C@l@Mw}x=GIjgw ŵf=>";p. ,ՠƩq1Z%Yh&=sX *NZL8Ol\k.)1m{j 𤽓*}5":]6kiVdجm].a ]b􈧵I{'=>SjMLbZ\wZ'&\V;Z2Z{Cgxip|e]b} = JKONI&%쥧v* UOkO"8b%y9 W~L%sFh*ջ1n~ƢUaZ{`a$ZJlMzlMMLHB4aIkǦ=)y\ͦ7m֘KS}po(Wuje=SNM|W8rhw}Ͼ_:%y׾Ϙ#~D1Ii1q^[E*#1il-_j\t-3ZB5 .) mҪ?_MTMnW&lpPR[ScSCR6%,ɩm:iVVH+ o9.\ēT[k&XZ`[Ш֐k$!.)VrRzZy'ž@GNI Im%gזD,yt6JM@FPZ?&)Aј55b'w,a}Y AE˜[*5MNLo@@. x6W ;ť:.;'I(cmĎD,lOIj+תsuZ;{&Z.񳁵{lim[Xڽp76vOW6v/WTvOKOm۪E6^e6 ] "D䋆տ·J>Sҭi VOXuNOL@,SFRjJIN*~ ʄkU5o2MHϤ6T= /׬-9WFzH٩Aޭ!kaqw|-}{ TQmjLIyjaO. ..İJVݎ8(VTulh#l4I%Z̥&rجѲ*mAVeT1ʹo2vYoP5޾6H[~ES(_b^ ~/nq)u.c 0iPaiLҙXhR0[xARӗehO}y}= bleQ7:!)OQt_ݽP<U} -$ڦq5bOZ't)BN[3EL_p=zphtKx[poE`R4Ĵk8IkWV(5S3r%rX7zx[:3s1;z_߇xRuRJ?!oExhƕ`+k+ Vele# {J E>kȭ1lE.h˗ZKK53vMZשe.#w8SsuS8TxZ]ϋ?rqOJkEIWku GXS6a jA+[U^^TOHm-Fc54"ںEԵ\K#^=X{h q_rKdB-k:o_gݣB.Pk/q^Bn49+?\Pn~HCE*.㝾Ոt)7[p߇G^M:} <֥?u+z/96b͹.Eȭ[W[o~Pѣ}V|uk~lޏe¬ڥ8jqɇ=,y'=Wմc8ϣ2ͰgΗB!VK*LoKخxiי}W͍5?5>Ղ{ma_/5⦼ p/F]?Z_W U~QtoNMz;\ipPlKgMb̌!ʯ_d00}v"kJЪq!CXBʇ~l7`kkhh ~} 7q} 7y} Q7u} 7}꺉ݨBoDoP(R vejAnB viA}&^G䌚g ς?JYL%\IRO'5wOZV#(%c8}csߋ7iEt"xbfUmkS:Fj_ [U~˛kO-fvAzTON, 7ظ$7usrE\Ԣ$cj7$ڕW1\g,>@4Qޫ*VmLZwNC: `el[b:W>&= tKh'W_(];JN,ӨUbxyh2&9)]{-ZY[1㴞 ->qImW [=-Wָ0{Zy(|Rw1ɵ!  Eƌ1-kk\lK[pY[0n/E{rl-v wQey7=!._<,4Pq /G@XxHd>gʧM^_SO^E/y?d}R-1 խZ 'ފ_I]W|zB GwBalWS߄k/X_V ( _B,!ںIkDx4kM;-i+i*i :m6NB.81p -u)}YEr1 EERZi>GB 5NTppTDFiW Bk,4(d!0좐-ۨ>(k}?SYңޥQQlHң?峦SzŠ,\%j!~Q j^mrxV(s͠E{bU[tQS7E UYаKi,2C ! 1cA#:YXkB0lєl!M[.ȫƭjW]ha Ů26OLB#*(p!E-ELJ e6WZ OBC )=nDK SQ %:tBugMi#҈n=Fr7rmZO h_MV+"Mj W kzؓIŒIB1mw1oS0cbXfE[܎xw :Ǯ̂O0c>R5[ӠC9Όlgx9v$WIw=3v1̘xfC;fE{|?.u<=3=2yfLp@scN=3seKs8 V˒rd3LMF*dPFdUԔ6=M@c4>}udmPTH_.B fck?\5M{{%u]'3(8fyv45$+1~dui4^]e0Tp4SW>TיWw?2Գ]uzjb n2se`(S)i{Vq`yUL*So_ߋjsxuN#0P!ćVbCum?!Xڊwv kEbAݎDKr&;{"0`h? @>=+1WS\y<B? :>l#+9TE'TGƐAɌ3!t]AOlbd'VZ٪ ,ClT="Y'd,+c9V`[(ٌ sdPJx*mJ׌6e6A#А%AuP"}TY> }/3o*U'kSI}Ok(fܚwt*ҨZ>pj \x_gGOZ P}#UF`ڈ[1q*mP0qj+8Qm V-要61jko8"ۚU)=oU_Ggj5 By |ߣfXj%lh]i^V`,QmCV%1dm@ X %`1<9 l䲥B[^fӫUjs&)\T%F/3bϗ=#:|G>f92,r?cl퓫˕-ϕKbdA="3bwr%g䲐_$з,\+aGU;xIY k |{yB{7%}y!<T^[.y^[!s-|^<7Ox ߍμrvvm'ʳy"v/~,^OAna^ssl0;ڿjJQU.,^B{6 崼,c=Kйke6u* R2U߭Vv=_!ϻȳE7W:Ury:s70On뜇u,۝Ka~~hY$;WɹΥr3[p.:3Wss\(:s(Z9ĹG"ƃ0y9iN9|̗k =vC1lӝ4uoK9=<Σ%8s\D~?Y/@. Er }S+w8͹ ;pZ2fQ)-ϳe7O3eD.;5rAnP (W*FqJ v mEV| 'pH9Oy~%lѾZ9#W)ChK.vm W;5ܟp3MrJ~,Sl@N&F)'`2_TʡJ}=Cr܇'G`))yr9 >d*tEO~_"7N">cG>v9J(9.^"Gh% e!Hϕ ||* %ci%yxλ@x>ీyrc>X 8G\X*W9Vʵrc)8qUvl98]2ӱOq(g9 E]ß/s١mr<-wwag6aw# ):yͷr+9]DƁn'rNrRG\8/[B!Onw·v"yOƝ;΢rcڱJ~I^>'/d,JGr=GdO>#GD`,u)}d1lhƓXdG``?|#g}9.^B{6v—|B~G'\ml;Β"]s%y66#ML9Ş2ھh-+vξTn/+Vjkrw5V7ɉUrĞ-ȑh}={n_+;t~Zvv]r}cx1lh1r4r#rSA>tdOzˡОe_$7¾kѿ ;pY25Z nw>7 k>0#'w\U$W箓ksWe z\;_.͔rL0 ;ڧUREJ99w Л74t+}G9)yY嗹\Go>'rmk^kru>q/{5߷˹[Q]^ Er͒sr?KfA/='w1vU`\s"]~srwUsˉN'lرup cvW{heG͍#׈l9 QgA/jB.sʤ=2{Z&TbމgP3=@oПD߰sr$ڇrrj?}AotڻߕePsw`9|ɦI9>o` l!p\2?=}'&_|ՠo+Qk٦d0zi{ix>1mA4r3t#upc{ |dl0d,l n`i~ƟLe›L&؛ f^c{%X{K_t,1[vg{^q=So'yV_HR mV䯕i5X3-=ݎxw )#4ݝz 6-r1-u5=Տxh~FW{hMA_ꮯiRσoܝAnw>s'S{b|Z]wnv{f~h@"ހLԥkUAPlW Z@*J̞*WXYTZd6: vf\^c&%;:f1o}-i oL d[0[[0[[vZ`%~M_Fo'sD{,>e"xΊHZʹ ƃ|4pۍVdy9`qq@ভ|sA&7M-Td>>} d`^';3=??:0({ OsĤ4vK_ȗ {ρ.c;0x e E>J^(B0lr1%b_Z,;uzBmvRKGp(}9qj1zq{nZFmq3Dm6qos{o܋`'r@f@0| /Gc30QBfXVq?ѱ=Xw^+xf͍9D=31) t]XJDqMѝ(r; o^ZՒ5n#^͞ /qk~mYP;"Y(rĭqEV=R/}s!*} jB% ظ=Z:yBŗ>WȾ׈/h،0fQ((ʣxT&jzwv]v^ {ReԿd.qrc%OWqb y|H`<j VM&`(p;u, ˭yna.㶃\p oY/:/:6Wol^utx0d!; wi㽝W~ ]M-^N#7DCt7@'Ҟjfijiiz i{$rށ$j쫖N ݝD2\X#4dqk%|Ir Z6'c>o7)?Sn4ХټWl\]-m)p9Xss4_C,?;Y8?c9k9PaHXN8;qtswt\[L okgqg3Cuv3rҙb9o7tޢ?]v^s w,t䐓e`%XKn6okfgd: pEl;cߠ%hY,,9Φe&N}L'өtp4MN߂S8~?s|`dlt@{,Jڙ-|B}0nYsoKOm<hH{̛ĺ 9ON :xK$o0$-qTAOg'$$;@6NA`͑͸FhKkG{[O,k^kz6":`/c*t'Й Ν++ķq}WS +>t#^)iF:?4vga.ϼ/O| "2eP$ǵ+ևWC]g KCUڛW= oRϵ@UP <I_:C A&yXmԇFh5eu DicYk qG͸; AOKjuWu.zԃF U+벷~sX*ߖGȜȜG#D2z=%~wЃmOgiVѫl=lc5 v sjλ8Of^=_:X dJµh9X~RRAg!; ` 8)cu\oWxN*7 AqJI7 /q0F`%.+M AT ̞aBTj3rMd Tk"#D&45QCv3x*N@[|a"3R޲YV5T:2lnoɲJW{X+!ےU!`hZq`Xn[8J6]c2(쎶+R*d1EɆ16*}'ёt:@=m-~e|''Ѓ,ڲ[hW=W ׼T׼]t zp@,Jrr7+y &=: y٭eV)@NSlLV֙L`rqZYk:BwŴCnڦ2mU(93M)Ơiހu=i[ pg?rtT9AGGnۡe#|߀ݤp[v%1B̿%ӈt>,0̇΢/l^XQM9˴Pq2YӗܗKrr5yF9lL3iM撷qr1Cv>XcM,BvrMw` Z蜀 OSSL@OMk| =48)c>'iqh12 -11;O>cPA9LEllw}SoF;TLvdYlnjjC56d!,ĒV]A*)d"|rIp”BRU3h녽&{퍽}- #80 |A7 b<1[0 qcz+Z\<+|&g6W uUfbMP4 Ms f̼7X9^'ͩİ&yeꨂ[fl0Ud*s^T弪) 0C! aOC0PcY/O4ho? g݇ZA- t=!֘Z{nªٔq4Q ̍[;58VEe]M rl!)a0&s1P+f' \}X>C"ϱz?Ǻ,:EΞa.>EV4M'o`q?ۓܓOIv#;@E$&Ni@քum1LGGMGL?9~28d:ѴiB&68~1wlZ8lZE E`r8n ǯ, 2OwSX̹,8, q'LY?rz%WTzztCZlavӷ w`wvw`wwbg7 Og8#{u ? [kHyx{{g?8o:;KϢvΑmh'激-,g%DRq(؛zBuFeʡ,Gbm+ei(ο;UIgCٰc}-~T8%௝̢{&EƊ%yPft*<&N]V8X[~ qY~UV'Eqr'Qb%(';bUD_Lnw c2+bŴ"Oz8\9{Ie4ix=ʙ(uU) JG%|D 5WB̿3-W2;fE^v":)uͧ46VP5n Nyϱyit2R:_΂J:Ұjv|PҮ+op[UΜ$!OJ38?B!lT3xZûm|~ 7}_Z2fЄ56;~;5W1 aسr`=fAp^5)_.tw=|@C!OPud+0J\NW(T*"=kY6i 80Lxk2 ]@ΧR36/#iAF? 1Eyy5ྀNq=Mݘ]M̦ %܅u!)v%݈exj5WE R\YV2&zc+@+EbNbƃ֜Fغ0uu $]&j] _ <`oj>G^GG =ޏ ۏΏnď ]ޏ~?Qdk ZVy Zfz馆o {چQU }tC0C6$-~]4k.jz馢R^CQK{/yUD$\(qWˉ ^&l /">uA.=0D{WxOSWݿVpEt'廃-맼,/z ″+*b*9k $F;눾^l :x"hų[Y/xK+P#VUڊC/{DKw>5I%E|;JxK %]{tI4ҝER|tV/U$mx?{։y'.kVy'y /PL[ >İ٢!zMy'H y_/=Yț$HU/* ##yăy'bw { O8\3ާ‗&~t=z=C =~t"t55k@WҽDxޏ~A)sN}{z-XǓ,?Kg/'pgOctoL]/͜E}/f/;(?%gW/ߓQg]}RES_t;1ukNbyJ$%{$/$bMōDQKv"JxVۈpz8q+yb}#F,1b6T?z~:oxm~rĉ@Gv> }eo+6ˡ}n_џ@מ zt;񖽝hG]Oߓi{x{nv/ɏvvs}>}Џޖ$c1t=57I@+)M%i؟_PbxʘS4ʘlau $;%!&G›U _<כ' Wd-O]L~9OvJBLFqS 2&I绊?&1x2?2e$) 1+c8}LgǤ-|RΙs씄 nb.ɕ1$qo9E)ױx2TgCn"QGd9?&1b;'WƤt+Oqd$#Λ%'I)1i''& ;%!&;9{Iپ2&dg1~o.S1)orRV^TT. AW畚:48@wTHn>~R:(/ѱˑ_kEl6nW*(4^~3=2 (/ϔv =$Sd<')edʱy{P[yUy I%zSʏЫ@ߧ{7+Vtr;Rkҥʳ?/S }h<3H|}1tL9>䋍?_+AWKнJ+{~.t7*]wKBwf7(_K_~:S~;CT.py6̠%D3NT?)O<4!#O9#MY&OC'.z (?N?~@N5b땯(wmI:˕YϴL3(O+G)+FQ>>Qy < BVF/zϕ??V~~Ka;u5Ok Oz&<}'stʋB7z(/{B7k@r]r%ʳS. xbQ^x8}ʼn |kEbV9>?BWo8 :'m U^aeZenuM&"+J>{l=:Gm@rmD,tT+˥ /cz;צ0y:==ۂVl+ c rO=dɓڴ?ۉTt=NӅɓxs_ڍWL7^>c<59wV9.1)j$'7f,~R\eo$]mOGBvIȜZ j1`kjx#XǨЕi*1Hif.?ٔsp)1p)Ev0 p˱7t>pgCކ0 ;Yz&z^rg`:z~uBpgb]2ux[B":5+"S[4bT|1Rw`[IRHQ1n(Z9΁Cꎹ(p"O9ǭNėN%';S]ۜjHQN XB:vRy ,s!uG=n-X4@1iDIIiBc O/?vZpN+߸g9m=:r8#wNi'wnK:w-=x;݃iY75݋-ʯYۤe|H?|[T(M؞4CD> H $!#]J/`轗BAA&;fglO{9g9ޝY0 2$"֤Q5y֫o{>xtY[*&՚iQ Tܞ!Q2Գj@ri0I:GĶ >l2&_B.vjN?nbPRͦAm59%cP*T1h;[Fx=GwJ'!9/h$ v^!ᬡkMԸ5J*.v)lë[::G۴?D=%1]-ڀL{Iѭ;$"#mmb[hrzcv&zk^RKoZVL0~dzuQqDv&EF%GI|u\lb:mOjNkWOӹpLE]5(RSZXj-ip]bX\֏13pj w=xTojV n$ɟ鶂TBfk͟[R\lbt_$>]hEJnsI>Tzn6mQ(l+u%2ɩl'pʩ}mb;_%x:ocj\8:t-2Hh)IQqQ)ѺBڑ :E͌hu oS:Xݭj8rOwU(ߨI$Z-$B)qѵTRbߋoX#jFjj|lB|dl$$ղOMc"j(1qѝl!2׵lMcRm/&&lP{{P[hHH$uZvO\V6OQ;!5Ml| ieR?" '2FP * Hkt15IZH~:4h.lԖl˄3& qm΀.mu&G'u;'ĶMUY!Ď(hILyfQk$ ;muX Wt1?_Vm  o`cc[zҥiT-p_:-=9:%]j{lmcPJlӠRCk lkn¬SgbBl|-9%)C5ff6M&5QZA܀qY}LeRT-&74Х]&vw[AifVP骛om!6D%tBijeojĿEM\_a)sclOxj Ul^k)n2 G-. ZvM=?UFW?*4Uo[ SlEgm`/j(vhٻES00t !/nWUFiH(/BXP_Ȯ iKg\b~B6{q# /42Ӣ?uWR-좡55네Eŧ U+vT^ӮyvI|NHHg}ب˫Ó ]EJp"-csEg~ 7/&ۜO VT` QB ). NO[UhkjJK5iKo#S%]㷮@cP`$Řk^|+]}o!n\%*4WߍIͮ] jr%Q^- X %BD,ֿ_Q/D1_F"??rM+ڸ3U?w[C] yg.nIi}0)jޢMklCmI )E zpØȽZ풸ꁋzvڥ^ԉMjmծ[Xd-*uhiGFNHbEMX[8bD+WNyT*-s1)Zt9gp^\To~h?͇BAU\;]t.7iϾv^rZoԁ7u]s<_e-tI_r%n_9TpEpWz֟_n4U>x#>|Je6nd&ܦ~mF{i͋\VNQITÁ {;_| HBm~-_SvlbzWߴ2.{5X+ z6;Ej 翴yWEѪu0\ցW/Rs!N%w\5vkl뙑?EՋ opW8UYutї E,(.R:@Wzm Wvm aWxmWqm"!"5TPj^[CkTuZz=%z_GگQ(S5~:Q(O536_emς%ԻI.n}qOoQ+Yҗ'FuJ@'ſ6/zQ#&p"N̂,mu Kܨ/˺?[\巸ʿRW pHTEC$ SߜR[D]Ί*/#C_*N{Kk(Tf\M6_%׶i\x// x˅Bp[&bjqmRR5;d?5%6>fQkl]m]l,x(ۛo J=-.Kt-.m 9OhkkfKQߐ\ntb.x)=;&:]L_~&]\-6?:)]~dm`Zըdu=g ynkdOx+ƨorOxӍG޶,]U.#.:E; ^/Sްzk*3hH@CE 8)_M_E\;.99ŝ*WdENI)zHO^iP/DZt Ft%֝cKs:l[mZK-Rg{/ԇ"5m|H1;s7 I׎⪾*.V]ķibf^ۻQ՞`5>qWwm>]Nk=l ^\bsi.K5 EF\cB;[ҵ.z`(xٺ(m!!p\3ğ[Ոb҅9rJl'W1ĵXص75nдU=,4V 6ȚFU U#"B#)Qd- opa.~ٯ@͐7l R/  Xh8; ac 2]-: #o| /H8~1V)(hQK7.4'!#{LZ{(**NOK+jA,.7L߬[ jsgPìJ#F*-p.*>JtS."Yi*E{%A(DO)D2LtRFeHSƈtUFg>Do1ZQmub*CEe8r#EoûޅTe:ӱQ$)8o.:OW3~ P#>AJ,vT[u~-KlYtφ[**-E Ln=+_;'j9t*le޲z%βFIP,YJOK\|jYL,QZ*3,˔lZee2qs,;Y虁)i٫|ia\2ݲKmnAβ5R&S,WzqLXV:6mo72{1G_V_*s%-φ{X&Iʷ DwNP֛Ǔx26LMT4ڧ?OcTE+4`2*=i.s򹹳 Rݙ7Y ვ1a(ju >Qp`ûОDr;j<,Cjdm(RuYgN$1+7()&SEeȳMiyLb鈲tXYdQk:4*MʷTfi5w,SiP6*٦E!gRW27JwZirqM;S}Gѻbګ30.[ŴK9om`3ؠ0} ܃V:e73M;ۭ,0e5vT[ u8jL&)LD+=M SdShNt䦓iob? Pg#Ƈ̑~̕^ûRMu0%)+LS7eL6SQSO"dC0̌"3c/cSc#F`mCD"AOґI#)E ill1}<k?|Ŝ5tZҔ%Yq|fz^/&6sk!>1{TI .ݣN+*'E4N;iGQ'GCve1W`V`޸Fh\l5f) qg\(%ea*q{Tiw ({lIQmfܫ89f.Ŋ\)`Ɣb`1٣0T{ܸ\9q|q61nm~o۸s#Qmޣ=#ٓM=;i/Mi;ؓJ7 `FDߣ*g̝]0(n ITtUcVcƤ$傆J8J;uIY/]xf ̊g۫Z[YA鰒'(I/RrLڮ,m儴B9%e)N)CZ?j]޸T`\Tf%b\< $+XmcVmb-jZǍUf̘ʌ*8qy*輏Uj9irZZ?_ 6头yi>(씺ZWkq2YDT'(寈x26LMT4ڧ?OcTE+H⨳DOAGN%Sk̉cDSd 0J%hF+?J[yq> a. BGw s#Uy`>pڭ30D B1U}{EIY/+*JRgiy{E^QI:<^q/{EiR #{:ld06 `]ZԒ(/HK:2>ZWCy =u(Ďj^K$_;(EǓ djq*|韎t1nS9 IUŽ!fEWfNfP/*ib*z*qL{H*(9> Q''y@f`iRMTƠw4 ;ן,Mb)oB"9_^@_mEw}| W= \dz)xe+>8zT7))kN=CEȳziy w]RpX~T2P*r ʣJyf^y̰F`XΊ'cPmW^6ŁS< e~/w+yTVFE{&J1C<,AO:WbsxLف [Kj֡(򬬷%{Yo :QͻI弹>qpJ=K/wKؼQ<B@m^YTU {s"s;a!1?i{Z< `(8O^%*ד Ļ WVWpfa2'Sx=ӳ@\goWbg8Y/{rD9%zΉC|q=u`X,g2.?`[+5W<[Djqg(E,|U/\ ߽Pw/gKo;G>"O_Iw8vnp%**UƣfV)jD}7ݬZ<ܧyTvg9gўe 3DAU*eb2knFy"We"$v[ Fr Y5u8 ~r9QK m^,||p 7pq+qN~uZv_Qpg]4~k;pVeb+St-ˈ|u-3] RkD59B;[&BInѷX:&6T[?.V0.@.3,iE;r:׏kxV>kEڗC̨SdvG1P }T?Y12x\n s&+L̺;]'x ̬bg8Uo9rg[jqʹLtfRQq9_{ .b͹Tlvk9b8%;ω|۩N! =;cPm:a98lwѿyZpnqchIpr;!C`ס ~>'yAtܝ< O_rL78!~_(Nap0ؗH/_)vQJ?=\ؖ Aq6-.; ]Yp _e|8Ddrbw[{#C?e^t~#vп7"d38"Vjnaa~Js׉t:A&>E|b<ٚD&Q|2i.#ˑ["+X 29_2foi* TD*`ٟLƧg# ہ] 䫾 a[b0U>ǬE tɬ EfR+rܚFrמDNS@Nn{׏:4_+}׋$ Tx'xrG;0SWhb2__"z37>!}5[%a,iy-@-Z[y Y%yjXְsF:ﰆ%`K^8,j ט9y[j13o)[$[ &/'y ؼbTR1+;&f究r\Le$o1#yD_*yN#T[?.H>kGv1 ފ(#-;ynI.(iM~5cO_"yI9YUb%e4OuB m'嗂w7M3}&_s}}"y; 2|'`c,G`o5M߀d lNw#7L3[.`.|tC0KLj | eB>Y2oNA&Z^"}][y4O=ژwZV`/ڼĻ#O$)}iDP02pj|C1]w_>_6r|@{rԏSw|͋蟏\g:d\|3/ui%| }E6Wq+3?,5"xԅ^ϒg3=C%1{^@EuEhO^27טqdWKTB] 3}h{ I_ d3Û39c3[3[9vc~ "׵k8軕&U!KV"8{,|w"( B. Vv~|S)7mA;g ΚfNfNi3Um^=yL6m`'F~s|fV2_j+/c 20jzc0T10xr<{<@eDCy{ny+*ح|Ua|=0WK,_u‘ G6u(aTr°plc+DkZ?Eh%}ՠ6S/ۨnj)k޷Ïw 2Y#5=fVӷZjmws/3E>`g'pLEz~B: ̟FjdW3fW*,}+5Ȣm)K9.WqDf[f{ioiqZ5Vr! d k韇A[y?|ѿz#hJ4Dv 7Dk*of惹`sٌ͘m: ~;"{7 5M9n齫CGa`)7th7t7X?,rc8u`f`0| "/χiaS |Xd ;1c;ƴl;nds|X%>=̴׌~a//$TЅD)҉rw bs|]6yM֪5Ko5ެbPM|/z_k T3ՉYǧ[Ubߓĭ {eBUugUb]L9nꓟ:*vjI'揊 g3"_Zx Ԧ&jzwNm̭[3QLNʀarc#M|s~py b72X5 Fv#UX`7r> ddB00s} 3~  @؊tJ;@p_R5Yz=4q0ih뿕WsAgKBZ8Ƿ8۷8˷a/[,.lEf ̘݄͌M_8 oo3??a~f/lf>07_#3#1kzjU@߿}mAG:8ց12ZL_7 |]hO%v2.%|MgSȄ#o0@,+>:ar (6k >?K=Lzظwl 2}H*qb#}[|q+ѡb1X"o0 ѧH|iOe)U3{ TjET`LtWF*+BE fS 軀}.N) -nꟽm-wok3𮻻8]wF8o<r^<}<.ϺYq/ܪN[2q4~+EߖvV+uuz\V+pswN+z t o}+W F1`u#5N^Ulw!5 CAHI x!ڏǰ{ #(08 aWE*w3ȟfiƟi9]Z=h0Gȍpm*ʀ;;#vw $x:j-ͱ {F`p9tS/8r2:Cc8jSr5J~ЗltZc 2 \s\i`392ߕÇYgS37{߂o$xڿt ~O>@_2UmʻFND%̦DbmTkE'{D="*8WȉeR%Xf~,3=YD)a;ӝݱ]@gl¹Cdbo]@*H rrp>k ԸX7 jdzZ4oߢ?emoH7Bu2KZ\ԣvꑛ.^ϓGM9Wh6dLC6$ cCؐ<6$ {ccЄ{Iy+ޯgyOCYI 0 VaTaUD1g 62y%PT%[Of/0pxlpFZ5w)_ UǙ`s&[9Z8{ZO;qamu8Z]qV@ľ qj9ćWfe}}ߘ.F{NfNVYeaU}^tþZINK1,iu;9*;.'X8d:X%_Է_Y}Ύg{ng;lrZ7#z띝@u#8nq&ZѾoq7Ȧ=hs#d$9ƺ*32Gqv $:""z/WOz?< S+3s)`]d]DL3+f8NuNfLr~h s0֯Tf 0,/!?YZe]MnV,j&vy`NL!/tvESg ߒo4OG;ts|m!D`̭> aMe1w@_0 %7#XgoG4 CH<ئ:;-4vv6 4ƃ8#QCqG+l:P'A,ASu( џK0?dmL a\Pjr(vCnOʫdm=g}73P{{X?Jߔ xlZظ [ˉs2P.` ֳH?FYπ~N)Op<.sk:S8DxxxWd+%|>!3*fr{0idw*ٚrw>'bcsz:fqÚ2!ɘLfc vo1z3пǦXGdV#_W1~o7M+ZlYϭg|䯔{L%[*:42ӕ,3zP9@_0jD! S9b(w#=ɬId4lu!{ݘ=A0>L9IQ@ ##X1~AГw' ;ݐ͞r?ko7r>rR@"q]Ǣ'6B[:jln啾Ey>7K {,NyaʰQ^cX+5׃uJC2?ʋ 9y!_apS ^y39 9io8q~hrKɳ d~'dЛl8!N!{FcȓG33iM\"?pK{6;>ưYh"Do7ں`7 Ps+#SyT{a&ow`|W91{#Y_7?&13F䗀 ?;`cpc'R؋k;JBL5JBLVʼn% $|mts] w-pwZ^|ǹ;b/~ሼp\5񴼟҃3Aܫ2\@Yyt^t=Q-[]rSR\N+?$~ipsR2++UC"-1 Ȟ'1ߤ~/ AH?flBƈ_Z\듹^ǵ!}d-fA"~97;MZr3Ur/5 $3=ߥoTW?VRuȬAvDZlg6, [ĘEdgP>F{ikcѴ:G#?q97߯9h~-L#Rof@wfS7fWWfS39M[B4bFnIJ;&*9rSE9fٳ癙;YZɪrR<7ב}ewë~o<^s=m(U{x0ܝ_ G>>7OGnq^++꼱a7ʰYwc ] t۰;ʰFV{V|aw!K ?x'bYB; B󻤹Jt^I. tҷ:o!M&<^Sx8K%}^T Okq:"F4ʛ/ ׹" i)ƾ:kmj=ulL5|Sc';zg|weƷt~{o/{::hFBtߦJ`e*2]1=lW=Le:c2z'^Yh:L=Mutsش_翚z:WL[JOyW6/Dg9wot<eL1q:ij1^殞|kN|gN32̭=ugw7WOJt>\/<{A弻[-X鼬eM:̲eZu K:o`nfI[Tw+KY܉:OaXjXK'r:r{ŤkfXNVX|eke0ƻ,+]-]{-t\?YG_,t~uƒsv.M;-\EZ.s!s)]NB"8m: 9 ?%8bgΚbΟ}):#/wuh|]ygs-E9ga8Dg+aeZ Jaءb|q#uF| h[xV N5wG~]yWw |N^\>WolԸ \x(la"O.ɿLI%B&xriLƘz֔g kdMҘdZ~g IM2ϠD%gl|<4&E yh|<\LV/Iɥ19lοOT7)GIzc3Nrx邜&rw%z>>C+sr? g_G2:{Krȝ%t$w6gzȽU]~`F.Dn܃c7Ѕ6՟ȼ.v~+7y9(FZ$H_ʝ4cI-R%r+'q A{/UB8QT9Y؏1]#H7r3xS >P~ICVP4Lɜޓ^AhOevS*%ɉ wM~KٸW߱GjC[fm UP"r)(Ubʟkh˹hЊ{kwޥ62o#Zֲz- = }~zKuh稓縶/bQ[n)K{c}5;W%\CYfDA&@ ;׎jrSI "@z\~UzL~?]ɟ{I`%h AԾJD, NDNg7m+? U2\=l%o%;ZxV  }xgx|oOokCu>Դ;ƴQfiwig{|iwiη&{S/t~44 ֹd-e@v9{?xМ˔7V2Gi;ssos:uo 7̵t}n1o]gsYo=EGޡfǙf\j;)/0,5kgyγ͛=t~̼9SyyyM`$oe T yl%%Qih4w,鼕w= *:ORNXxZY0C5c'Xv|e{eg[[f|weW[ƺ[|{s,-u~-fi>cyI.K<6 :/%r^Q]VH:D.8?'(C:]b,XzF,w=+2u,[ pKCWmUl,UW鼾xU_={Y4p,꺊p[輁xxD ݮׅU獄w}qDySl&輹Xl!n<^ Eoß*<.p8\|_ _8܀gvS_'sooZb~o}ljG2/ <)  ^^&Kpw3yqx³\mvdSI%Pӯޡ3OJ)x\"bROgSIuQ|V, O=Qj1JBL $.{XsIx*OKS>xҨD=RZJ¯[rT'YJ›I9=*J/3+ oO<'MEIx{)Eg\؂2;}i8ק3~=b@*=b0<[KjZL6 0A<~1vwyikE *p.*b5juݮEBqݤش% ,<5cMULTj\R1n=lRĴid o[ĴO`[XXԖ 1bk)1-U`t][Lqȝ}gr\eZz LMKJNieKLJ⥥t-U[WCo`9x7Q\X]<8̿zݜ}4)!)ſ*)K"L[ڹRcR|Vcj\|lD\U==rӚB%<3hmWihɗg [">U`u[ܕw[ʕ Ҷw;rJE[Ԙ-ZjU̫9'$UړrWQg;V];9ZvHI4[jZJR[ mS:6S:י֪C&j\%'%{`*ބRqMҙUw> k;ԕPIoJnm rfidC*:>0WᅮiZ|;'p-@g?I Xo+wٽ6/_#V#Fk!pѦm iղ.AW]qj_Y^Ok^b4nkS@YAW3tOB7۴wM4Mļ-'5ǭtˌ=F1x욑u&o1 o7y噆W/_>(%C.ZzSNI;y:)_SПwFk^S+GLZ&%w7)ugjz l4)5F?rCa=R6[{!=gjA_^fڏ8Ot][O2ɓbWt݇rvq#ě5MNIQ/%;^Ҟ{%%sVȕ|oxxӪAMAk^~+T' R{Mfѹj]Gwj$SƹҺ}⮕߹%vvj/)n_ s n4`LZ튺w^* G4ҒwzjOl!A蔖^Ӽ;j矝*֞W4"lGէ{Kdtϟ\/t>]G=܄WӼmyt yr # K_% !7ߚAdr*ve?|` ŽZEDgl7Q-m_{2_c/rK_s-n_9upMpO|ߙDA\7[ʿ)BoGo1ĴIJ86/pi[_ɮ:&wk| W]I܏2?YqP\t{_C=_C=~B-]Cص=_C=D\Cĵ=y}hP:FZ:=j&_K7Ц_;7Оg|t?amTH,?J*%\IB>&'QOQEڇמw(OlF7iޅ<^ h.Q?5ÿG*h_}*k ] ҫJŤY61ѭc:ۺ:lѶwk\-!SL-!&6)'Z$ui_SiuqX~)3;.&u\дN'2Ǥ"S ϯ}⓪O\"s|6قJmI)ĤR]hZ"N*\*Oƾ*Ur-YSW4EuL~~L+6fiC.VS|7S _-y}׾y:1>~GNQNGhO>%WW 0L7l?σhS*o\nlBLxW<Emb6Voc>m ׭9 t勣}N)xvi")D a&UlRb] [I{xDߚE4Z}b[k_}loVŴ} O$rbrp{} zh&2Eꊴ}7z؃yqT@ЗKJL[i ,. W] AƒBm>˶jsip(0;],4\+QpPh-λA.IPnCY C#`{D(a0fJGc<>u)$&KsPœ&}k߻&RP=9tɞN_PޮS@֨Dh$Oj  (PDHBt|iovzSȰ _xx{y<^`] d4Z5^hϠ,>yd/>uT*@ND!&  V(2C U}_üi=2Wkd]-RDHhw +Ҟ%q W*$"J/Vb3bE[qUjW+"Oj W :qKzI ̕5\|uA+JVժRRHo_"Ho}E /m/ >}@eBrEϺ ?.Jzg<5 >'̞.7ly/}w/|_3}Jt|BLe~o+y8ࡀ26caz (z}(\~0lKZLUI"|bwbFC@%'Y˳2ņ:#?P~I}!EJ$u/cD=Dԑ E-YWTě$7k(-a2I"We_QBAr#D%"hQDɑA -V{-UCD9 (\H?>P0^ۢ}-r-*:iw&㉡x5߲geK:?uY,|fk¿ ^-RAei+?,Gre=5reIJLΰ,-s:Wreo'X%GK3$3yV  ̸6v>+x*L@&(+_eT,+CGp*BE5c@UP(*1~*ѳdt8QuPjՐZo]ff-̳2Zlh>(k˪潲y,o._7o YLV6/ohW2ۙfx Q+WZܾ&-|ۼCK -֝^pw5OX 4a?yS6~Q> IvAO 6'bК57zbLv5@5PT& (s7d{]x;Lbx]66ɶ2ءz9GRr0R^T̼ #uav`.}_@Mƪƺ\5t!ӈ @bF&7~]I^x;ӭz6?S^h%gɟBӬjS94]N5MMɱIrin%Arm@3M]SgEn6uM=nSoW7}(a`?4U%k:D捓LcFa`0?DOnjS9'0>h@9 84R|N!t%1XY?baUm!w{T;ZT+ 0>0/Njo糢-WR)АnH֠+tr)R~fd*+3>TDojob[4o룫K_fUgUaUZ4+%J=nY&ck5@Y.wBK+)K-?/n]Hf<xF!4ƽql'0-6-ϙe1Ji-0]L'7Z,mc7n e3UOGyi ƥ1]j\.OWʟs-XOn_t~ѸCfwy8'Or>)m3calLM䩌OC? iOex!yUj S1^+맻L)/c;0Y0&ѓ)lݑߗXsҫ >z=rqckiImXx8ݞ&MI|bKt-XOI-yKX&2 EE_90*$t}Sa}^<"xT j9夷q? ISP5ήV * EA cW 0H, Fعɫ*luؙ{V;[:5SϬqVF]xOOeUtq,cH'`xd%Kr$2`7h*;˦bٙ=eLe8Xv2:Z'mS{bGnaȼq28V`j=`~ٌ6!G2>]2`r 1dl4q1+'b~v5B+َ"Mߣ0ZX,86'O.0/NjoO%k3֣ojʬ \_G.COF0ΏHc0,˃(c|Ʋ׷1$Kƒ6C:ʛ̼\f^곦FaW jZ@UŮ M,-2D#;?J*x&FsyT9,RFV`,r$#N ± gNicuԑZ UN+Ϩ_rf0ʘasFyϨCra/]v˰kd װL0, s姆\0O2, KFCڰRn1f ?ҰO. 3䅆Ƽo66aZWɵYmX.saƁ}?j\ ֓69 ;bhQ0OX 4a?yS6Q X'鷾^oГ5t)ȉ?X1Vc q#C'3ih%4[%\Wb|L7k򇬑3CZrYkfMMw &Nܧ2'}"l& kn&1?3WgxwCNcCro3$( C{1S~Ȝ^r0y VZ|U{7PjAevT5DIvRA HX/GTչE7 uav肺:6j2V]5\5ttY\J܅`.Mb*h PZM[<:3Pfed(w}|*Wi;#yH$+^eܣ :HSKtJgEZ͊>|G ø2G7IyK-FD捓s!lq,dW?EAG^J_yTG@ F78ALcJδ{8<Mߣ0ZX,86'O.6̋xbAV^&Pj554[j"Atxzk]w[eOr"YZumc7n lRYJLY.gme"@IW j\ ֓6YYZ;[7j֌=e,calLM䩌OC? iOeDtg5f8!{ YY1@H|T{RAe[|] cQR% "rtiE&NkXmtl=7SڠXujTOEo .R6V"ƞ{a:2vu*I P}1Jjn-o*3 {đb+ؒs\bsؔ,p|~؋an6u*Vby+?Z;9,_lr֊hF21-g ?蜥bDr1 *>9$z}rΈ~9ćp0>Ȝl1Sj9{J|:">9-3oZN S; cG1>08sm\#QgTN:˘#tlby e8jM=sdxNN9Z#" m5%xMп ύxns#lLZ>=rm5ѵvIz?n=ӨWvCϬWv3p;Fo)Ffgq`m OgӲ[_'geW`>bizIvXjbYRlyًl31> GG'ĂKb L;Ȝbb1?l-;wS ~pAJ~N;QTD}doͳԻYM][fglegd :>Sl-~iѓyݳ3DlvNdDзOhzdv2rIN~ҙBtA׍A=XwN3/< ϵaujW+,`6=OѕX]N?0~#700b`~o/] `#XǼ5^EZJ#RJٝԻd6ԧ9jBCԣj詪O5-UelQ.\V*oAmPi XGD]C471 j Wc**^eRQ+eGf$7ɧ^\kq5F.Xul x. ϯR×l'#u}PC+<[Y]q\ GQ$s1t/sqxb/ {>WsOǐf!EAxA,J"1r} 9/n8 :AKf]|OWu]Y:pX,tTM\kO"Usx?MuZQ+`2Z"߫ERkxƵJ<*uSG\gc IWxA1Wx A.CWu^:E -:-™.vNQ/#sIasvm} t엑c:W;bn^h%^=ς]<8 \r.şU7V8t8gW`>X ѭuɡ:"V Rx]܅`>yww3ApF\@+sPJc86 +ˡͻsxw;&Z\)vd.d.2u`UR\,\%fn_e3O/3ψ9L()ffp_gI{2OZ#?-3okfؒ)6u`5 Ɨ_y'`X\V_.Vjr]uc  *e%)xdj8ڍp< Ե7<#~!`$GHC@C<^ {sKCHCQXrX)rk"2onSd6A<8_#)~FցUH?c !zk3֊Ū-\#2ܞqXl8*6et'9be9Ě :ldNq,#SqQqV'rC|xW-#]Xty?3Vg=6Cg^{sx ϝak pZ{Ե)b3ݼ,K@:v}cw9e>Dg{ `9Kx <sݛtso:lo kkn9!voIa2}oݷ 9G"К^hen-̛:wy9Kmw;j i9Π| D7ļ=Լ=̼v`| W]g~A?ec UKmɩy59m@މ6=ǸOĶP׀jt~R y䗨+}W _!{ /uu1@(6؆0?N!^BJPbp8 p_ڿ>wVxΝj_vgi;= $S؜4uڴyikAVmiI2r8j:߃`?>F7$'pgF?L[@&|nvs62#m4RؽA"z΃5B:q#ϻ|sk5s0}kB6_6:a X y%/F\SܹyX޳{>0pϤ3L*9gTS:sKus/  Ϝ̝o: ~?ѝ=^:.gʳéP0ؔh΃g={$c~ v}Z<1̖M`-ɽ(xn=c7K!jip) id`4z` 8S:UR0. ݙ \DmC K@:E8@}}< CY+fyx|~{?q ijw=ls[`{3ll6.po2wo0suu1-vav0gscgѝw6^p3^dK¸=k7=A/۾sOw?|W?|w_b%>E잠 :ǁ`$6#k8s3w8>_b=ۿ{˸ RԎz%Pԯ 1:溻xxHŶq;ɸ^cO$lB뮮cMPQĉ.ʸ9]Z>Ս[Os~;=b'wLh ǗYŸعu羻Ɯ@ ]wS'\\ 㮶cxQWv17mqnvnD^j+Ry>s\I/J0rc_Z?XνtbF` :>ɺ|ekJ%4 H0 ~MW5C=fn&n&n!>'AG?'w'w?G=8F, pl>0WWd?,sKv>ou}^:I5B{E/xk_0.Fdg:c2&Rq6{K: a|81Xe<:^o^t v'n]]}@'$t >z|)Ui۠x2D*@y(YIpy**ʁ26jؼʯʭFTc&+++-XjZFkmS4enS5W|6@biH^C[MZcX|IJcKX|#XAϵ h}4uiuϱִi}Umk1W=܈w7@.xz;vAؗb^ 65C0csYoxƽ``&R)ܒXKc)x,-HG! 0⽤ǼwZU^,^{hPXq C0ݬ@V]@372f@{bC$zk}{6jbN)zo=LwZ:X8{Zw;rl(!Q8ഓ9AV5 tV'%gygkN-F/w8zf]7Џ@? 1؏ ~D>wa0z}lZO1|E ab5,`. gS/}AYu3:񅰴S!`8e]2:a XHwhƽ-fsu#s62w+R@2HDNװV uS{;s«VVGtg$@j:U1:ԗ9ڛ>'+}t/ `#81>e7R)8`?|@?bdkQ@8?Fx']yF&ph ܴ֎}2<{ mg4h>gm.ij5=T[x铷@5&rUȧhr:TvzM?Җ^I vD=@ܶ_,q[9&ȍt.>O$X_'p`E6QꜣfߞpN/,0Kt_a_9:JpU+{yyyx/F^/+NY:?`1Gs !1"ȸĞgL7f|Xn!\" <1=|npQWP*Ա8IWp7p \R[3!` ?A H~SZW >``UMo2Hߙ8g9 _D9jɫ'po=n?>a9P^uH1º6x]<^p⹏0横hzXP{R?}x՟g3 :a?s=>v>[sœTn9Jt-B*8y悯`c.]tV3:l׫A[ukkݨDͬ&֕j#jΧx3oԴNVۃv Tm,kkl8  cabbzxއ0t]`F05 5?ni׉Ě pSƒl&3g2s'c2q'o~'<KL _r tc PA49 պijόNʻ!l5wa  ZtKk صeWoÜ8 ֦젍A{en]F;ט`2$qX{~=k>! 0X41MٜɍWts2'P B)NC?P9#no9 ;3cue5IgSu2,Kѭf:GYV֨3@DY~,Q')sqFgp9|߳W`:HY_m,RGb.rD YejW?K0SCeLfdrLN&Ó+ i 0qp3y'{:c3TFD0g|3Oy 3L0AIx0 n?<( y`>Xg/t'kc3xCN0 A?XP}`$#ygrQRשuyVb jP:pӀҘx~OԤQ׳oxzzDb P1(=oO44p(E>p] zȬRLg`9En6b+CAOʏ# nt;ls V ob|5`X<:Fq`6 +s B+"e6Xc5Vӱ[ـ(`~|V721F1`6` c3D\ Gplc-e['A&w\#ȳL؟fi&iX2p \<9sL0 A7X8> N;4 ^QJ*B惺,*,2Zr MQY}78 Y|n%/9_J)쀭Ikhw.k8`اlإjئ0lVK֫Aa+!lW1R4>f>lT\}5j0(Nbp8TO6AR֩f~QnU);7rsJRՐAs:o8|w{C=TO+>S(q w@ICj?@Q`̃L8>1|ߟS`Vr!,f,d..XRVt|& Wð~ PR~J_z2Pu(CT2kO|@/"vOrJ.u@?|>`)f02ZןQCw2|03wcYJ_.JYȁY~bfr"|y[yyᓜ }Ĝc>adEesO;f_4v 7׍sj|r=cVV>ENWcnHc}iWv7ݴ4lϞifiPXSO<93SOm^lz'0d꓿1Uo GLA?ɿʾdz';Mwg{V+OgƬ e>y~>yjVyO5jo;f2'測fyA4s5b֗P<\"kiHj'7+Y[}m?\{|#.5> $|<ʕi';]d%e4w[jYʸꓟcg[:-}--]}6gK `iLS,->)/g'WdEn9GZvc-|xK:2'dD2'jδtɳ,KKyO`yXl䭖;,|g./}o[8[6>Y>{',|I )KW%񻥅O-|Rq3,:T˓>eyȑc1di g|"Nel;3}rXYD|S3|rQ?a'?"2}aElod>'|r1RKQ?(Ҋ7=J4vk=I5ydb3k2L-LIiAS[&$2&8Mg~MVBʚT|ji,t%ɕ5Ykq2Q5@&k !+kRT<%~(DIBʚ,jY5)j8S!|Rz+};f[^7R8m84USW+N ?U+.Q tMV@CZp F3j470S[ᳵְ_M4|v7P{6} ? ?k<(?յ$9H Y2 4̀b E"3WP\ AAE?G*׻ޯZ<zwU>T ]~n w9@ӭ@!6otFuyߖcY˗q4ia]ƱT5:+'AcѨHSp< ۡ`C__yR3>ۣd >ImK?1Y4t |6'?qLxe&3^|NN\5.;X;v5~ ]q_Q}!1v8&W'-ug\a"㸥cRbL3ʌz卛eMTh 4wx9k5~O't3]6mi-Z.k%̶Ȼ3yO -{5wh;lS { ғ?vm`=&247Jq574:Ey w;ɰ~4 W_6xxc# ?jpWp;)ˮM%S·[C7H lO8{`õLvodOֆ>Vg^o0a=Oq{NX؞=9lOP\~&llg?v)i {HQ}~vp=K6Z>?yD gU|̮+7rRaWqo>)ǟ t/`(x xTWWpzWU!o/Ż[WuKa>Oq>?+>G Wu7m[<=͍QG|F{*܊Q_"gIӑ7R+M#} Hz]qKZiM4^qWz*ҝFtOG(]qoG#C⧨BdT 双'o*Igo.]R<^4zʗomS}Ayy^U^6пoއ{z_B]FI6jx;vReŻ(M%Wݒ'AP 6;%G}SJ~1Gqi1)#F+.#9eEDSN(./Z:DCDu(ou*+ ˩,Z(ήd~,v] &),;&ųO99eTe<;GMyv?IFMg ˃|y6I*05ʳØPԤaIjmM8I$eq<W';d/?Y`Z}-&{^dYIyvdǜ4Ke[^dob:QEf1Pl1Fܗ-|2t:a☓-;&U'QYꓬ+guu5w1% u lpYp) ` 7Y_ Smn?1xx2x%U<0+86V774g^ {*Ʀ7g?(·YţةivRx8Ɉ!فpC =W]FLZ=\Ƕ3lO'YvQ%ۤx{?<6(>և߱uϰŗ'?e+Ûlb^ \ϐ_m{>{ aQ{sa{찪=S=UqC{RԈJLJX1ag#ƫ=2i'>P`{vF8}gm=yh8gl%vjgw W؝;kߵۄɊ?[-n7M솊ãvP5fP_k?1f cFvг*my)\F Z>^$, zqϧghJ7g)DS`:Z,T0S/ y/ŋyz*^SWy{+xRo8&[\._qwy=^QLR1/dBz:lo<C7 W|=W|Oy~@2?/Cſ M_Ɨ|bw?*iOo9i*K4Vq!_4O~~ҳ~EJuL_WuRq5 kSs5V\T*ToL%}=#ߌ *nNyg'巢;*n/"drvt]q{@ЙH': tHwڥ8Eiwq!ڨyQ(Tq?z1ҟ+@#Ot#nqRd8FGOҐp#rQwOSx,%EQKRjx"ՎL2VB"ST22+I#)9#2l]oF@+^@׽tӳ/x/9#򄷔HAo9W ^_- Tmޤ W;jzK[[C)~z"z]GSBgđΈ+=I˓EiX1LzyV|G~oĝ@Zbĝ.hiBӌ8 '#.)#.uX7g˛M-(vj%]jnĭ6SSMSU!#P y(dȭ\2%!8כnj%#Grطn^qȈc{݂3#5-,>4VsREQ-&pu+nqq/ bVg% WǭNrK[#\:-#pJ}rQWpˋTWǩE;Wǩr+lVW5ݪWVeW%"[SVn-BiuN]zSO\T\_u΃ ^إi,*n"6;M^yxi&Q\r[NK D1Oq+1i-)n-&8IJb,+n#;mDoxDq{twtw:E]]D (t+NŜTQHqwq&r*Nyc5qX1 w;(VX?B/v闠HLeìM,7|c0;)AzL,76~Y,bZi8^,|7ƷzT\:fo D3<+4)*gu̹*gcLbz讬_\]^zL nn,PIT*}`qL~/v",.Ymu2)l/>$)S2Zv*)+(ȾAY}-+$0 b!}{y SԘellSt;^7Ì)Ħhe#6L6gCe>; =K1heO6 -B_,Rْc"kȪlZl-*B\Yfz NHK}MG3ƠNO˶ll=: ɱ2'ST=? u;sp j n5uh(>fyK\$\P k'PO r4a(c*ie`?}F>e}6jB5`S5X( ReCN(+LEi_ꙆΒq>-NZZmD$YAyQ^ >;Aؗ+^~j꘢bSQ]QIJˠJA zqþPa\h1%zJAehEV¶d5U]ܽuQV-YՐ尿4lK2UjyϽ1E)plq ^7] ^!rs!=]q9dQz!E eUz _7W2%<< pWہ n ֫%tLMN\xcj [*Qŵa=Mak^v(gm G[u|cųMrc7ujm5JZ*>l- /Yt aصclzXMS\Mk3҈ 2ÒF=Yy :LH82aɺ*~ue)~Yp7d-*'c70VJVG]@X]1.o %a]DqJlX?OZN |cX2⹼wuLJ o똔Fz`}cGr7cLnDg#ŇIFs|5D/ AgD>J>4g3C#zxC@j*.G"~ŕh1^_n{)^"}o!׆yz^*mQ܃>u^Z`z^A`YHm!`4 ZM} &Qo2R<{cR O 5\n*^L+^CuZJR6ƨ:(~V1i(Dd1_z\n^R*wP _҃rՕz̾cy7XˉNU$1to^$={>v*W^]=Fa}wNz r]JWQ'ףm:ަ^{ʺm][!~sr>u {Ncԫ J9N)1X+iSN 6>T)(ҝ"xA#6VPGw<Ƙҵ~9w;X|TALt/AzLe{yNF-ǰ4l5E|G<#J6l6UbFZnpHi]߂GSom7lVWA 61w736QFpA(aw=ms+@נFwcQ#mx;qmo6C HO5l N7 G1pNH6,@RjF7௡F6p&Z7Li\ӆ`@aæ5 ..ip>]0rLpuǡN&zH{ HM4 ~Ұ ~f$ `2Xud4g8 >7l6߂0l_4lf'BOiF4W3p#æTҰdݘQlĕpXGW?mԷluh,E?`!C=. O  xcdd`` @c112BYL%bpuN Q2 Bayesian Experimental DesignbA good design maximizes the expected utility under the optimal inference algorithm Different utility functions yield different design criteria Let , where is covariance matrix of x Bayesian A-optimality Goal: minimize the squared error Bayesian D-optimality Goal: maximize the expected gain in Shannon informationxc"8c"8 ASearch AlgorithmGiven a design criterion , next step is to find s rows of A to optimize This problem is NP-hard We use a sequential search algorithm to greedily select the row that results in the largest improvement in Better search algorithms? &RRx FlexibilityDDifferentiated design Give higher weights to the important rows of matrix F Augmented design Ensure the newly selected paths in conjunction with previously monitored paths maximize the utility Multi-user design New design criteria: a linear combination of different users design criteriaZ6ZZeZZNZ6eN yNetwork InferenceGoal: find x s.t. Y=Ax Main challenge: under-constrained problem L2-norm minimization L1-norm minimization Maximum entropy estimation  3f |{Evaluation Methodology Data sets Accuracy metric  ! )>Comparison of DOE Algorithms: Estimating Network-Wide Mean RTT??$ *5Comparison of DOE Algorithms: Estimating Per-Path RTT66$ $:Differentiated Design: Inference Error on Preferred Paths;;  %>Differentiated Design: Inference Error on the Remaining Paths??  +Augmented Design .Multi-user Design uSummaryuOur contributions Bring Bayesian experimental design to network measurement and diagnosis Develop a flexible framework to accommodate different design requirements Experimentally show its effectiveness Future work Making measurement design fault tolerant Applying our technique to other diagnosis problems Extend our framework to incorporate additional design constraintsX  /  !6#7$8%9&=*>+  0` ` ̙33` 333MMM` ff3333f` f` f` 3>?" dd@(?" dd@   " @3f ` n?" dd@   @@``PR    @ ` ` p>> f(    6p `  T Click to edit Master title style! !  0\ P  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  0إ `P  >*  0p `p   @*  0    @*H  0޽h ? ̙33 Default Design 0 P4(  4 4 N0dBdB P  0 n*  ???^^~~ 4 N0dBdB   0 p*  ???^^~~d 4 c $ ?   04 4 Nt0dBdB  @ 0 RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  4 Tp0dBdB PPo  0 n*  ???^^~~  4 T0dBdB P o 0 p*  ???^^~~H 4 0޽h#6 ? ̙3380___PPT10.pn  ,((  , , NsqdBdB P  q \* ???^^~~ , NDqdBdB   q ^* ???^^~~ , TpqdBdB PPo  q \* ???^^~~ , TqdBdB P o q ^* ???^^~~H , 0޽h#6 ? ̙3380___PPT10.UV#  0  0!((  (r ( S ؓ` /  ( 0000 Yin Zhang University of Texas at Austin yzhang@cs.utexas.edu Joint work with Han Hee Song and Lili Qiu MSR EdgeNet Summit June 2, 2006~ G GGG$+G Ab(  0(< !( 60zn @  _ @ G(C,H ( 0޽h ? ̙33y___PPT10Y+D=' = @B +w  0 D< l(  lr l S `   r l S P   l Z. 3fԔ?"6@ NNN?Nq1,$D 0 vPractical network diagnosis: Maximize diagnosis accuracy under given resource constraint and information availabilityww3H l 0޽h ? ̙33___PPT10.+ksDO' = @B D ' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*l%(+8+0+l0 +}  0 0p$(  pr p S `   r p S ĽP  H p 0޽h ? ̙33___PPT10i.0+D=' = @B +  0 @ t(  tr t S  `   x t c $$0   [8 v  t` `2 t 0   t 0\Ϳ 5R 2 t 0Tַ`vX 5R 2`B  t 0D 0 `B  t 0D@W  t 00 j 5R 2`B  t 0DWw`B  t 0D``B t 0D g `B t 0D w Ov  t 0r e  5R 2  t 0p0 P  5R 2`B t 0D' t 0$b 0   * 2 t # BCDEFA)nna6@      t 3 BpCDEFXhp@ 7 `  t 3 BCDEFh0}p c@  W  t 3 BCVDEF&UPHV@  P  t 3 BoCDEF-#Fo@  ? t 3 BCDEF"O>?A@  7>G t 3 BOCVDEFV#wL&dOt@  G  t 0r 5R 2  t 0   5R 2  t # BCDEFA)nna6@   71  tB # BCDEFA)nna6@  7H t 0޽h ? ̙33___PPT10i. n+D=' = @B +  0  0 (  x  c $2`   ~  s *70     HGGH_    (   HpGQ]Hx)  6 C&W ! BЙ > UUNet " HGhH7= Y+ > AOL # H $G:H SA[#  (r $ 6H'T qt   % H G#H  P:u ( & 6qE 6Sprint ' T$GHY?"6@ NNN?N  ( ( TqGHQ?"6@ NNN?N4  ( ) Zq?"6@ NNN?N  7Qwest * Z$[?"6@ NNN?Nh 6AT&TL 0  +# @ pZ , C *APE02002_0T - 0d7 DWhy is it so slow? . BL7G8H,e `  (B / ZD ?"0@NNN?NTqB 0 ZDf ?"0@NNN?N[qH  0޽h ? "#%'(. ̙33___PPT10i. n+D=' = @B +  0 0(  x  c $ 3E`  E x  c $,8EP E H  0޽h ? ̙33___PPT10i. n+D=' = @B +}  0 `|$(  |r | S H`  E r | S P E H | 0޽h ? ̙33___PPT10i.u+D=' = @B +$  0 p$(  r  S `  E r  S xP  H  0޽h ? ̙3380___PPT10.`T$  0 $(  r  S F`   r  S P  H  0޽h ? ̙3380___PPT10.,w ,  0 C;#$T(  Tr T S 4`  4 x T c $4`P 4 F T S PP T 6|4"`0  12 T <4"`  15 T 6"`0   11 T <4"` P@  14  T <4"`   17  T 64"`   16  T <4@I! >x1   T <X4   ?x11   T <4PY >x4 B T ND?"0@NNN?N @0 B T ND?"0@NNN?N` ` B T ND?"0@NNN?N p B T ND?"0@NNN?N@0 B T ND?"0@NNN?N @ B T ND?"0@NNN?N  B T ND?"0@NNN?N  B T ND?"0@NNN?N P0 B T ND?"0@NNN?N  T 0D >x5  T <@P p  ?x10  T < 7 W  >x9  T <H4W w  >x7  T <w  >x6  T <W a j w  >x8  T <"` 13B T ND?"0@NNN?NB T ND?"0@NNN?NP   T <p  >x2  !T <"  @ >x3 H "T 0' @  Ex. 1: average link delay f(x) = (x1+& +x11)/11 Ex. 2: end-to-end delays Apply to any additive metric, eg. Log (1  loss rate)pK0Z0Z;0ZI3f63f,T #T0 NA U? ?p (<  U H T 0޽h ? T ̙33___PPT10i.80Ea+D=' = @B +}  0 @p$(  pr p S C`   r p S D`PP  H p 0޽h ? ̙33___PPT10i.8P@ +D=' = @B +}  0 $(  r  S `O`   r  S 8PP  H  0޽h ? ̙33___PPT10i.wP+D=' = @B +  0 4,` x(  xr x S f`   x x c $gP   x0 TA ? ?(  p   x0 TA ? ?^P @  f x s *A ? ? H yX  f  x s *A ? ? ` ]  f  x s *A ? ?0 ` H x 0޽h ? ̙33___PPT10i.8 +D=' = @B +;  0 RJ H(  Hr H S @"`   x H c $(P   H0 NA# ? ?    H0 TA# ? ?@`   f  H s *A# ? ?p  H H 0޽h ? ̙33___PPT10i.w<+D=' = @B +  0 :(  r  S T/`     S 7P  "p`PpH  0޽h ? ̙33___PPT10i.2 o+D=' = @B +  0   t(  r  S @?`   x  c $m/P  f  s *A ? ?  f   s *A$ ? ?  3  f   s *A ? ?  6 H  0޽h ? ̙33___PPT10i.2 [+D=' = @B +J.  0 a-Y-@0],(  r  S g`   x  c $hX P   0 NA ? ?`    +   J  ] #"&UKUU  J   $ N/ ?"6@ NNN?N J  L9729 @` # Nv ?"6@ NNN?N J  M14698 @` " N< ?"6@ NNN?N J  N359400 @` ! Nd ?"6@ NNN?NP J  K600 @`   N ?"6@ NNN?N P J  L5000 @`  N䚙 ?"6@ NNN?N J  XBrite-n5000-o600 @`  N ?"6@ NNN?N   L2051 @`  N ?"6@ NNN?N  L2883 @`  N ?"6@ NNN?N   M39800 @`  N ?"6@ NNN?NP   K200 @`  NǙ ?"6@ NNN?NP  L1000 @`  NЙ ?"6@ NNN?N  XBrite-n1000-o200 @`  N ڙ ?"6@ NNN?NU  K690 @`  N ?"6@ NNN?NU L4628 @`  N< ?"6@ NNN?N U L3270 @`  N$ ?"6@ NNN?NP U  J60 @`  N ?"6@ NNN?NUP  L1795 @`4  N ?"6@ NNN?NU pPlanetlab-loss  @`  N ?"6@ NNN?N U K769 @`  N ?"6@ NNN?NU L5467 @`  N# ?"6@ NNN?N U L3657 @`  N, ?"6@ NNN?NP  U J61 @`  N 5 ?"6@ NNN?NP U L2514 @`   N|> ?"6@ NNN?NU U PlanetLab-RTT @`   NG ?"6@ NNN?N   LRank @`   N@P ?"6@ NNN?N  O# links @`   NY ?"6@ NNN?N  O# paths @`   N8c ?"6@ NNN?NP   W# overlay nodes @`  Nh] ?"6@ NNN?N P  O# nodes @`  Nt ?"6@ NNN?N  @ @`B % No ?"0@NNN?N   B & H1 ?"0@NNN?N B ' H1 ?"0@NNN?NU UB ( H1 ?"0@NNN?N B ) H1 ?"0@NNN?N  B * No ?"0@NNN?NJ J B + No ?"0@NNN?N J B , H1 ?"0@NNN?N J B - H1 ?"0@NNN?NP P J B . H1 ?"0@NNN?N  J B / H1 ?"0@NNN?N J B 0 H1 ?"0@NNN?N J B 1 No ?"0@NNN?N   J H  0޽h ? ̙33___PPT10i.2lt+D=' = @B + * 0 |(  r  S Ķ`     S zA\plotGRA_US_1001_60_MLE-inf_eeNetwork_DOEComp_pPp   Z 8c?"6@`NNN?N`j X"A-optimal yields the lowest error.##3H  0޽h ? ̙33___PPT10i.jw+D=' = @B + + 0  z(   r   S l`      S xA"ZplotGRA_US_1001_60_minL1-zero_eePath_DOEComp0pP    Z 8c?"6@`NNN?N`j X"A-optimal yields the lowest error.##3H   0޽h ? ̙33___PPT10i.kwZ+D=' = @B + # 0 g(  r  S x`     S \A>flexDiff_US_1001_60_p200_eeWgt0)  Z$ 8c?"6@`NNN?N0@` a-Lower error on the paths with higher weights...3H  0޽h ? ̙33___PPT10i.gwP+D=' = @B + $ 0 p(  r  S `     S bADflexDiff_US_1001_60_p200_eeNonWgt,  Z 8c?"6@`NNN?N`| d0Error on the remaining paths increases slightly.113H  0޽h ? ̙33___PPT10i.gwzLU+D=' = @B + % 0 W(  r  S `   d  S <Aplotaopt2_ver2pPp9  Z 8c?"6@`NNN?N q=A-optimal is most effective in augmenting an existing design.>>3H  0޽h ? ̙33___PPT10i.hw*+D=' = @B + & 0  d(  r  S P7`  7   S dAFmulti-l1_nn-n16-p80-bestPath-unionX  ZT7 8c?"6@`NNN?N0 V"A-optimal yields the lowest error.##3H  0޽h ? ̙33___PPT10i.hw`Ͳ+D=' = @B +} ! 0  $(  r  S g7`  7 r  S D7P 7 H  0޽h ? ̙33___PPT10i.2*U+D=' = @B +G 0 nf(    6 7 `  ` Thank you!  HH  0޽h ? ̙33y___PPT10Y+D=' = @B +y 0 91@(  ^  S 4    4+  c $p 44 @j  4RJ___PPT9,$ e 2" " H  0޽h#6 ? ̙33J  0   dZ (  dX d C 4      d S DO4 @   \ 1) The goal of network measurement is to estimate a function of link performance, denoted as f(x). 2) In this talk, we consider f(x) is a linear function. 3) Here are some examples of f(x). 4) For example, suppose we have the following network. xi denotes link delay. If we are interested in average link delay, f(x) = average of all x s. 5) Another network property that is often interesting to measure is end-to-end delay on all network paths. It is easy to see that delay on one network path is a linear combination of link performance. For example, Delay between 1 and 2 is x1; delay between 1 and 3 is x1+x2. If we are interested in all network paths delay in this network, f(x) becomes the following form a zero/one matrix multiplied by link delay. 6) f(x) can also be applied for other additive metric, such as log(1-loss rate). and we want to estimate end-to-end delay between every pair of network path. In this case, f(x) is A*x, where A is a routing matrix. Design space: a subset of paths to probe Given a subset of paths=> infer Which subset of paths to probe to maximize information gain] 5~WMH d 0޽h#6 ? ̙3380___PPT10.8gu 0   Pt (  tX t C 4      t S }4 @d  LD___PPT9&  In practice, due to the constraints for instrumentation, we can usually measure e2e performance. Therefore we need network inference to infer link performance using e2e observations. More specifically, the inference algorithms need to infer x using y=A*x, and the values of y and A. State of art: pairwise probing. More recently, Chen et al. develop a rank-based approach. Their solution is based on the fact that only a subset of rows Fs in the routing matrix F are sufficient to span the space of F. As a result, given the measurements for paths corresponding to the rows in Fs, one can exactly reconstruct the e2e performance on all other paths. 4) Clearly probing every path is too expensive? 5) To be scalable, we can only afford to probe a small subset of paths. 6) We can t just pick an arbitrary subset of paths to probe, as the accuracy of the inference depends on the set of paths we choose. So ideally, we want to pick a  best subset of path to probe such that we can infer f(x) based on the measurement results as accurately as possible. often can probe a small subset of paths. Accuracy of inference depends on which Our goal is to select a small subset of paths s.t. we can still accurately infer f(x) We cast the path selection into bayesian framework. Associate utility Bayesian: pick a design that maximizes utility function. (typically gaussian distri on prior) ," ) "e H t 0޽h#6 ? ̙3380___PPT10.8`r 0 p|(  |X | C 4    7 | S D74 @d  7LD___PPT9& 0We can formally cast the problem into a Bayesian decision theoretic framework. In this framework, let d denote a measurement design. Basically it is the subset of path we decide to probe. Let I be the inference algorithm we will use to infer f(x) given the e2e measurement results. We associate some utility function U(d,i) with design d and inference i. We will also assume some prior distribution of x (typically Gaussian). The bayesian experimental design states that a good design is the one that maximizes the expected utility under the optimal inference algorithm. Bayesian experimental design has found many applications in scientific research. For example, in car-crash & in medicine design & ," >Io H | 0޽h#6 ? ̙3380___PPT10.8P2  0 (  d  c $4    [x  s *[4 @  [ Hierchical Question 1: why selfish routing yields higher cost? Question 2: traffic engineering time scale? Days Question 3: interaction between traffic engineering and selfish routing when adaptation period changes? H  0޽h#6 ? ̙3380___PPT10.}dx 0 t(  X  C 4    7  S :74 @X  7@8___PPT9 .We then develop a flexible framework on top of Bayesian experimental design. Our framework can accommodate common requirements in large-scale network performance inference. In particular, we can support multi-user measurement design, where users are interested in measuring different parts of networks or have different measurement objective. We use a design criteria that is a linear combination of all users design criteria. To support augmented design when some of previous measurement experiments fail, we select new paths to monitor such that the newly selected paths in conjunction with previously monitored paths maximize the utility. We also support differentiated design. This is achieved by assigning higher weights to the important elements." H  0޽h#6 ? ̙3380___PPT10.>9v { 0 (  X  C 4    7  S m74 @  7 D1) We quantify the accuracy of inference using normalized mean absolute error ({\em MAE}). It is defined as \[\frac{\sum_i | infer_i - actual_i |}{ \sum_i actual_i}\] where $infer_i$ and $actual_i$ are the inferred and actual end-to-end performance for path $i$. A lower {\em MAE} indicates a higher accuracy. 2) We evaluate our approach using two sets of real Internet performance data: NLANR and RON. 3) The NLANR traces contain round-trip time, packet loss, and traceroute measurements between pairs of 140 universities in Oct. 2004 with a probing frequency of once per minute. 4) For diversity, we also use the latency and loss measurements provided by Resilient Overlay Network Project. The data contains round-trip measurement and loss among 12 - 15 hosts during March 2001 and May 2001, with altogether 5.6 million samples. Q  M iH  0޽h#6 ? ̙3380___PPT10.>9>u 0 skP(  X  C 4    [k  S 74 @  [ Last but not least, we are interested in developing applications that make use of our toolkit. Some applications we have in mind include fault diagnosis, anomaly detection, and knowledge plane for physical, overlay, and virtualized networks.H  0޽h#6 ? ̙3380___PPT10.9`j 0  )(   X   C 4    q   S  q4 @  q +Figure shows the inference error on the preferred when we monitor 200 paths (5% paths) in PlanetLab-RTT topology, and vary the number of preferred paths from 20 to 160. As we can see, the inference error on the preferred paths decreases with an increasing weight. When the weight is 4 and higher, the inference error is close to 0. This is because when the weight is high enough, the performance of many preferred paths is either directly monitored or exactly reconstructed from the monitored paths.Z H   0޽h#6 ? ̙3380___PPT10.w 6] 0 $(  $X $ C 4    q $ S Lq4 @  q kFigure shows the inference error on the remaining paths when we monitor 200 paths (5% paths) in PlanetLab-RTT topology, and vary the number of preferred paths from 20 to 160. We observe that the inference error on the remaining paths increases slightly, since as we pay more attention to the preferred paths, the remaining paths are monitored less extensively. ` H $ 0޽h#6 ? ̙3380___PPT10.wp?g 0 ME((  (X ( C 4    qE ( S D%q4 @  q Next we consider augmented design for supporting continuous monitoring. Our evaluation is based on the following scenario. Suppose we identify a set of paths to monitor, and some of them fail to provide us measurement data (e.g., due to software or hardware failures at monitor sites or at their incoming/outgoing links). In this case, we need to identify the additional measurements to conduct given that we have already obtained the measurement results from the unfailed paths. In our evaluation, we first use $A$-optimal to identify 100 paths to monitor in PlanetLab-RTT. Then we vary the number of failed paths from 10 to 80, and apply different augmented design algorithms to determine the additional paths to monitor. Figure~\ref{fig:compareSeq} shows the average inference error under different schemes. As we can see, $A$-optimal yields the lowest error. Moreover, its inference error is similar for a varying number of failed paths. In comparison, the inference error of the other schemes tends to increase with an increasing number of failed paths. This suggests that the $A$-optimal design is the most effective in augmenting existing designs. >Y H ( 0޽h#6 ? ̙3380___PPT10.wa< 0  ,L(  ,X , C 4    q , S `.q4 @  q N:Next we compare the performance across different design schemes using their best mode. the inference error of various design schemes under their best design modes. They all use joint inference. As they show, $A$-optimal yields the lowest error. The improvement is most significant when # monitored paths is small. H , 0޽h#6 ? ̙3380___PPT10.w@Eo  0 `<(  <X < C 4    7 < S 74 @  7  A global view of the performance aggregated over an entire network is useful for a variety of reasons. It can be used for estimating a typical user experience (as in the Internet End-to-end Performance Monitoring Project (IEPM)), detecting anomalies, trouble-shooting, and optimizing performance. As we can see, with the $A$-optimal design, the inference error decays very fast -- the error is within 15\% by monitoring only within 2\% paths. In comparison, the inference error is 50\% or higher (than $A$-optimal) when the same number of paths are monitored under the other schemes. In addition, we observe that to achieve within 10\% inference error, the other schemes require monitoring 60\% more paths than $A$-optimal. Finally, as the number of monitored paths increases, all the schemes converge to close to 0 inference error, since in this case there are sufficient information to reconstruct the global network view. Random selection converges slower because it does not ensure the selected paths are linearly independent.H < 0޽h#6 ? ̙3380___PPT10.w9 0 ]Up@(  @X @ C 4    7U @ S  [4 @  7 As we can see, the rank-based approach requires monitoring 769 paths, which is expensive. In comparison, the other approaches can provide a smooth tradeoff between inference accuracy and measurement overhead. Among them, $A$-optimal performs the best. To achieve 10\% inference error, the other algorithms need to monitor up to 60\% more paths than $A$-optimal. Note that $D$-optimal performs significantly worse than $A$-optimal, and sometimes even worse than the other alternatives. This is likely due to the fact that the Kullback-Leibler distance tends to under-penalize estimation errors. Finally, we observe that the performance benefit of $A$-optimal is largest when the number of monitored path is close to one to two thirds of the rank of them routing matrix. This is because when the number of monitored paths is too small, there is not enough information for accurately reconstructing the global view of network performance, regardless of which design scheme is used. In the other extreme, when the number of monitored paths is close to the rank, any independent row combinations (in the routing matrix) can provide sufficient information for accurate reconstruction of end-to-end path properties.  H @ 0޽h#6 ? ̙3380___PPT10.w2)+xXMlE~3k'f'$QʒBDV#!TP\%ЛU#4BH@8pqBAPJh{rLBH{j{3AI^<3yo}3q=zCkAzt8ƘsB 6{M&2~ m k׸_?p;ӕUM;^Xt:IΜg>N T 'Ϣ h {׮LOyD W%7u?=8#Q\L]Ȩv~"mz8O1m%-=oϭ'Oja0:;u:< 0?c vUUq9#vڴ*V~ f!!>i5-JfK^͞G1< h+GN?ws;~ڮ{gdrE5YXv&"זs?]8CIJº3!|W#m>qEɩc4FbfIWwD#V?L9F|-99_ (Fmp)/]>~9W rd^FzWlk\hYY/yߺC4E~CbD>wUi' mX3;]nr۲ԑR=;{7m7y0zQqHV 8#\qϘMH0q~Ǎ|r-.؊맸 >d=ߧpdEF*xΎ)LiĿċU[M)X2`N(F~ y`HY'}E X䧣OT֨g~!)?SS }@:46bi o@9U09MX[io)~0caöG59oכ@m?9:) ;AS`<}߬>QZ_Gc-Ghˢ_b쿼Y=Kqs{ Hhߥ?/E94T}X­>l{1(zoޗޓ(Z+{pRݘZSϙGmw{fYbd[3bةL0O;'U3lȩ»o׻{3= ?{? xX]L\E>3wwXRiɖ_ZH'1[&E,5.5KfJ @CC1 1!6fSccXZj[a3sQiloܙ93s>>W>f!E (1Qtj[J$ؤ(Ȇ}(xaX+*[n~s zo_&}nԣV6gd2B`@?:{}3S.J9]y?.\h,ZT-ZMTlΕ|?j?2#NQo%_V3O:2mTXUP* .(wn8 """tFQ3혁b?cS2Lyy>lye r6Tﯿ%xhwɺƘ3@@0ok|xyjfV ru>{do`҈|32%O> ON0m|FMXc\L!kڜf?7z=Ee\*ʈPc*b vF;,i}{)N(8Bo׻/ 뽳x7zꘊF}5qhCNJ?Ly16^[7Sz8Y_Д YP O]rje\T Zj31'36Vx#\ЁHP`N}˞k.δ3@}OmUv߅"7dyt򃓗e8-q^C`^Rq(mm_)R?f'Dz"]Q@$m%f Co{ǺӘNfTAe'I-پ[<{sw`u68QدsdvOF,W3N&+mxMtS[˘uisobUn=x+h)qh#q8_Q6Il鐮$<QQ>JS>:[Cr/ %|V~X KUwSX@KkW덩l-ռ}^.Vl0y;,=>~Fx_N~I8EE¯ !!%; /^& ᏄW "#F3/FxpIxm¿  fIJ`>I\}r[>z79;n(97Zw[L/>~z[qbv-Gn98usZ3Μva?dIz?fWZX?2>~DR"xX{lEfkbV184 X!T^1WlɝThB£$DDM14i11()#EZ`c4<"PmogvٹPo3;||L׹ -=EO CNꈹC*hmX7844%h\*' *,rWA$ZH`5\XRO%/=;$c]שa+J{bMb(_^JC9E4+ʷmE~M~nLQePAC pT>bAShknB 'h|S<u?ؽ {0eLb(/XShv^'lIz~ mޞЧ]iYawctSU: +kåru =ڨxfõ*ͻMu+YZܙ榥\ !p?TΦB$xVV wAjzOi|+!ĂJ Dzէn9s><=~C:6ifE'-$ic u~^'5[A H~d+а&V8c jNS'ly6 zrŸ4Kk4>[͸N h9XߖO3p;yW#-Pըrz>L ?7hwYA|?2 و$=:R=Qg\-h͑ad*z9h v-3}Ҧ4eT/u{ScZv6:eڏgl8r`YF߉ןnߛ{ik~3oO.-B$G~X97n.B d>o)زS~c6(ȩ|~+S|Z_[3{OInpmgϕ_~#˻]W'w}ؾ{(JxWd'G&?4KeTw5x'vʼ?qXo[:QۨחH19Z+.8ױ[0, %u؜$qӴv>ɰ8yM"J#m}RWGJB[SoIkݙR~0yǥOGsn)T|n ~Z}eQ6dw(4-0չw3YhcejKylWTkҕ86Ϭւw!5rD?a4 ~k| 懯m!=|tՌxXkA3[Aj9" V4h*mM75M'OX"$[Gz71$Tv%PR$"LxXKkQ>NfZ0f1h Յhh* t2Ig'ҕ+ w ֕)ՉJJp{}|q3瓟!K`@׋C,c(\Wy oon/b]<8kYsp(+1 2_To 2?r/3D[6m|{0S cp }YE9 ߆c ̟D~ʁ:EG)2WÓ/B2j#=z,s:CmdP@ϯT1Tn$ЂE Q;FO>NzL@9{)x{Tqx(Z4!mOSp+0[JŹ.,*(9N!Ji6t~12X:;*(Aľ&<B0 _~WȂ# ذrŖ5؅*l ?Ԉ秼\!?mq ȼrN'[Ձr_40!Q̃%]O:ggM*~i7W@*T)Xy^dOp@dMU#Z'Cww '⑤101JcFS@?P6ݟȃgnl+KKmcZ3P=hY9o-4>Gki !{@#5 [!XoV9Df1KH'oQEQyY5Ȯsa>$rAuR&܋i2chBɑ9tX +OO uh8aӆ? 5d:,:ɣw.SILTі&=(0gcw=E%[`)SDU'j #[yKL$QX$TujT'(-@pg.HJp ,~ hXn=-rp~%&w:#K^6SO+Hny|-p!?gF;wޓ^m{lkHE{䞭_T^]-ig&/+*AMq,Ώ_vk@{T?Mj+hxXOhYޛIwF"E"Ez*v5Y[%X-s+zRQ.aYeA˺x &~ߛƙiNbPɼ7ߟgQwV 4;\1m+E,6( i<` zL/dsBHZw{a*ߤ03xE:gN NXèb@a=;!\|2#J@?tyx~y.`v]ePOZƿO" ;<$~+@+4p F11R$wWTUFTZR=W==5JԟOy|~ij'@eRF6Nx0_C+XcLu~v=s? |zSr")<5L`@t>7Gn8vƧ]|fsw@, LF}`SkFvUBzUEi8[%B>ϴjnղR$q4gJnE i}ٱa7d^$6ͦ%L:yLVp_c.@")cMDl1λbf&O KUg-\7O߫0x}Ԡ4 )4V+MyBYpL:5'Nf)cKG=']1-0_R%?rx慄JךY vϵA_7}WSc$[v?mDUrNnE&U]h,+Te"Mf? ] 8^"cw?K^ӗ:qsfNjˌwͱN*p:qGtG]=7c*xXohSW?h҇"eU:\'TTQ3MۤK_D!۾QaC?/B0bj9^b\yν{ι;p B}32Ǭ\:ɨ "x MЁnH_Rg9ݜ2%Gz]cP>XrjlZIȶ&sώN9<)7A#>t>x+[^N䐔|vЉQ!-AJE?-D]S+ӿY^]+ԿC.XIa&A/D=U,$} ;=蝫?W^] %nD@>-@U9Dsh07d[æ=4 ?Rλƻ^HD~\ no npD.2Ct{JI?eD'IlEbb9Ovst7"\|~9'wug &TBeLXomX\.-i*94Y0f¦bstƋQk->t'q0B 8F!Fo>E}ˎ*D̃F:x "$N>NWIwx'sSK}6_+ŋ|-&7E'6y ⨓9VPk͘3w081-朣*5f=V焖4H# ù캍24r |7R ?Q6c?#F3V'G:)K Kd,<> >9>/7q NIeɈj}26\ꯏSxo(ru,ZQ#{,?'qxjT!;sp>TVT݆i'LMd3D642eҩ`#c1-V~枚c_{0tĴooBi'-_ s+ZU'zk{~x]{mv/=w_yOExXOA3 "+Qh"m@%@< 5Z$`%<('Ϙx\0h7QMįmKL;߿y;ߛپ|y}Aȱ C:fP PRtjOl_YXȥ/Y`ͥa?~K6(wo~-N])0´6Ws2:L:J^Yw:.~ qֈOQMiwS* (i hҿ JQ] qnVLP 0s0tՑ*?iX?mߺu^ t?stLI1>/m wO%r_c៙KcQSP7 ]{nc&fL>V+O:(ğZfVD^cLuWv4 86 [Sܵ?t 4jC&k5Vbz%ro֨\~n~VO&uz0@y|bR1 cɑitqP`)x.P;q#hCX}?05TM3:KT%n]Tn˴?r/[i 3h8 p &SwhnuypF(*RceP?EpWB;>yZ;&o&{Y7/2yMW-kr8ZfV5i$vR,߂qoʹD(Ք 5I&os/弻M3(oN}f2 d_A gx!2.|:g3(甅<\ p MG1d&Xx,8o^'TӼvg/b rT Hi ~ qSyl2 x-!0܎!b4 `?@ON0V YIbƝ[h$ J")0&.)46@Vkwosy= '}<@0FDF0MO0 S6UPBtY1i(o S , Oh+'0 `h   Managing Mesh Networks ms people Yin Zhang1239Microsoft PowerPoint@p`6@'a@-^4: Gtg  3  y--$xx--'@BComic Sans MS-. +2 Experimental Design for .. +2 Experimental Design for ."SystemH:-@BComic Sans MS-. !2 (Practical Networkg.. !2 'Practical Networkg.-@BComic Sans MS-. 2 (e Diagnosis0.. 2 'd Diagnosis0.-@BComic Sans MS-. 2 4C Yin Zhang0.. 332 3B Yin Zhang0.-@BComic Sans MS-. 32 <)University of Texas at Austin.. 32 ;(University of Texas at Austin.-@"Tahoma-. %2 D4yzhang@cs.utexas.edu.. %2 C3yzhang@cs.utexas.edu.-@BComic Sans MS-. %2 TJoint work with Han .. 33%2 SJoint work with Han .-@BComic Sans MS-.  2 TRHee.. 33 2 SQHee.-@BComic Sans MS-. 2 T_ Song and 0.. 332 S^ Song and 0.-@BComic Sans MS-.  2 T{Lili.. 33 2 SzLili.-@BComic Sans MS-.  2 TQiu.. 33 2 SQiu.-@BComic Sans MS-.  2 c8MSR ..  2 b7MSR .-@BComic Sans MS-. 2 cEEdgeNet.. 2 bDEdgeNet.-@BComic Sans MS-. 2 c]Summit.. 2 b\Summit.-@BComic Sans MS-. 2 jC June 2, 2006.. 2 iB June 2, 2006.-on Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0UEquation Equation.30,Microsoft Equation 3.0@Equation Equation.30,Microsoft Equation 3.0BEquation Equation.30,Microsoft Equation 3.0DEquation Equation.30,Microsoft Equation 3.0UEquation Equation.30,Microsoft Equation 3.0VEquation Equation.30,Microsoft Equation 3.0WEquation Equation.30,Microsoft Equation 3.0XEquation Equation.30,Microsoft Equation 3.0YEquation Equation.30,Microsoft Equation 3.0/ 00DTimes New Romanhh@+ 0DComic Sans MSnhh@+ 0B DTahomaans MSnhh@+ 0"0DWingdings MSnhh@+ 0 B .  @n?" dd@  @@``  ` +%*"[" +L 0  ;xoQ*(,    1&I< )))SAAAUaAQXA)AQA)l(&(ME,a E   ^   $ %!#     ")*,/012679  BCD!FGJL1N O02$iI.q-X ؀2$.vJgp|$2$ jbKRڱ |}~$2$:9X9IL\-S^$2$-NLEJL$2$q*h#9s{l$2$ P1fK(2$8XcG {$2$CnL(ZH92$ӆd<砏˳ah$$2$A[Ly.#*)$2$m Xm^z#k*$2$蘵fgo%k&QE~o2$hpuAvL.Vl$$$$2$++;MA$$$$$2$,O7qkD]`kG2$  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)`(5L Pictures}Current User>SummaryInformation(      @!"#$%&'(*+,-./012345678?`ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~PowerPoint Document(?WDocumentSummaryInformation8MsoDataStore `?(5L`?(5LDQ1ATPYJWCOC==2`?(5L`?(5LEquation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0UEquation Equation.30,Microsoft Equation 3.0@Equation Equation.30,Microsoft Equation 3.0BEquation Equation.30,Microsoft Equation 3.0DEquation Equation.30,Microsoft Equation 3.0UEquation Equation.30,Microsoft Equation 3.0VEquation Equation.30,Microsoft Equation 3.0WEquation Equation.30,Microsoft Equation 3.0XEquation Equation.30,Microsoft Equation 3.0YEquation Equation.30,Microsoft Equation 3.0/ 00DTimes New Romanhh@+ 0DComic Sans MSnhh@+ 0B DTahomaans MSnhh@+ 0"0DWingdings MSnhh@+ 0 B .  @n?" dd@  @@``  ` +%*"[" +L 0  ;xoQ*(,    1&I< )))SAAAUaAQXA)AQA)l(&(ME,a E   ^   $ %!#     ")*,/012679  BCD!FGJL1N O02$iI.q-X ؀2$.vJgp|$2$ jbKRڱ |}~$2$:9X9IL\-S^$2$-NLEJL$2$q*h#9s{l$2$ P1fK(2$8XcG {$2$CnL(ZH92$ӆd<砏˳ah$$2$A[Ly.#*)$2$m Xm^z#k*$2$蘵fgo%k&QE~o2$hpuAvL.Vl$$$$2$++;MA$$$$$2$,O7qkD]`kG2$=. OKz2$J(yO{ 0e0e     A@ A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||s " 0e@        @ABC DEEFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `abN E5%  N E5%  N F   5%    !"?N@ABC DEFFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `ab f3f3̙f@3fW/P ʚ;,/ʚ;g4\d\d7 0ppp@ <4!d!d4k 0h+<4dddd4k 0h+<4dddd4k 0h+( 0___PPT10 ___PPT9vzbJ? -O =c: 4Experimental Design for Practical Network Diagnosis FPractical Network DiagnosisIdeal Every network element is self-monitoring, self-reporting, self-& , there is no silent failures & Oracle walks through the haystack of data, accurately pinpoints root causes, and suggests response actions Reality Finite resources (CPU, BW, human cycles, & ) cannot afford to instrument/monitor every element Decentralized, autonomous nature of the Internet infeasible to instrument/monitor every organization Protocol layering minimizes information exposure difficult to obtain complete information at every layer-32519-32 5 19GDesign of Diagnosis ExperimentsInput A candidate set of diagnosis experiments Reflects infrastructure constraints Information availability Existing information already available Information provided by each new experiment Resource constraint E.g., number of experiments to conduct (per hour), number of monitors available Output: A diagnosis experimental plan A subset of experiments to conduct Configuration of various control parameters E.g., frequency, duration, sampling ratio, & )$SP&O-)$S  P&O-HPerformance Benchmarking1000s of virtual networks over the same physical network Wants to summarize the performance of each virtual net E.g. traffic-weighted average of individual virtual path performance (loss, delay, jitter, & ) Similar problem exists for monitoring per-application/customer performance Challenge: Cannot afford to monitor all individual virtual paths N2 explosion times 1000s of virtual nets Solution: monitor a subset of virtual paths and infer the rest Q: which subset of virtual paths to monitor?pZZAZ)ZlZpA '?-3Q Client-based Wide-area Diagnosis*Clients probe each other Use tomography/inference to localize trouble spot E.g. links/regions with high loss rate, delay jitter, etc. Challenge: Pair-wise probing too expensive due to N2 explosion Solution: monitor a subset of paths and infer the link performance Q: which subset of paths to probe?`K;K;3 N#3M More ExamplesWireless sniffer placement Input: A set of locations to place wireless sniffers Not all locations possible  some people hate to be surrounded by sniffers Monitoring quality at each candidate location E.g. probabilities for capturing packets from different APs Expected workload of different APs Locations of existing sniffers Output: K additional locations for placing sniffers Cross-layer diagnosis Infer layer-2 properties based on layer-3 performance Which subset of layer-3 paths to probe?.K.<B,^.K.  <  B,^ 7Cg ,uOBeyond NetworkingFSoftware debugging Select a given number of tests to maximize the coverage of corner cases Car crash test Crash a given number of cars to find a maximal number of defects Medicine design Conducting a given number of tests to maximize the chance of finding an effective ingredient Many more & HA] HA] PNeed Common Solution Framework1Can we have a framework that solves them all? As opposed to ad hoc solutions for individual problems Key requirements: Scalable: work for large networks (e.g. 10000 nodes) Flexible: accommodate different applications Differentiated design Different quantities have different importance, e.g., a subset of paths belong to a major customer Augmented design Conduct additional experiments given existing observations, e.g., after measurement failures Multi-user design Multiple users interested in different parts of network or have different objective functions$.Z7ZZbZZcZZ]ZZ^Z.7 + $  c  \^SNetQuestA baby step towards such a framework  NetQuest: A flexible framework for large-scale network measurement , Han Hee Song, Lili Qiu and Yin Zhang. ACM SIGMETRICS 2006. Achieves scalability and flexibility by combining Bayesian experimental design Statistical inference Developed in the context of e2e performance monitoring Can extend to other network monitoring/ diagnosis problemsj%33s%33sP&A What We Want[A function f(x) of link performance x We use a linear function f(x)=F*x in this talk 8'/'/, 2 Problem FormulationWhat we can measure: e2e performance Network performance estimation Goal: e2e performance on some paths f(x) Design of experiments Select a subset of paths S to probe such that we can estimate f(x) based on the observed performance yS, AS, and yS=ASx Network inference Given e2e performance, infer link performance Infer x based on y=F*x, y, and F EZAZxZZPZE$fP bkV$ c4Design of Experiments:State of the art Probe every path (e.g., RON) Not scalable since # paths grow quadratically with #nodes Rank-based approach [sigcomm04] Let A denote routing matrix Monitor rank(A) paths that are linearly independent to exactly reconstruct end-to-end path properties Still very expensive Select a  best subset of paths to probe so that we can accurately infer f(x) How to quantify goodness of a subset of paths?: ~:     ~>N Q2 Bayesian Experimental DesignbA good design maximizes the expected utility under the optimal inference algorithm Different utility functions yield different design criteria Let , where is covariance matrix of x Bayesian A-optimality Goal: minimize the squared error Bayesian D-optimality Goal: maximize the expected gain in Shannon informationxc"8c"8 ASearch AlgorithmGiven a design criterion , next step is to find s rows of A to optimize This problem is NP-hard We use a sequential search algorithm to greedily select the row that results in the largest improvement in Better search algorithms? &RRx FlexibilityDDifferentiated design Give higher weights to the important rows of matrix F Augmented design Ensure the newly selected paths in conjunction with previously monitored paths maximize the utility Multi-user design New design criteria: a linear combination of different users design criteriaZ6ZZeZZNZ6eN yNetwork InferenceGoal: find x s.t. Y=Ax Main challenge: under-constrained problem L2-norm minimization L1-norm minimization Maximum entropy estimation  3f |{Evaluation Methodology Data sets Accuracy metric  ! )>Comparison of DOE Algorithms: Estimating Network-Wide Mean RTT??$ *5Comparison of DOE Algorithms: Estimating Per-Path RTT66$ $:Differentiated Design: Inference Error on Preferred Paths;;  %>Differentiated Design: Inference Error on the Remaining Paths??  +Augmented Design .Multi-user Design uSummaryuOur contributions Bring Bayesian experimental design to network measurement and diagnosis Develop a flexible framework to accommodate different design requirements Experimentally show its effectiveness Future work Making measurement design fault tolerant Applying our technique to other diagnosis problems Extend our framework to incorporate additional design constraintsX  /  !6#7$8%9&=*>+xXMlE~3k'f'$QʒBDV#!TP\%ЛU#4BH@8pqBAPJh{rLBH{j{3AI^<3yo}3q=zCkAzt8ƘsB 6{M&2~ m k׸_?p;ӕUM;^Xt:IΜg>N T 'Ϣ h {׮LOyD W%7u?=8#Q\L]Ȩv~"mz8O1m%-=oϭ'Oja0:;u:< 0?c vUUq9#vڴ*V~ f!!>i5-JfK^ ?Ԉ秼\!?mq ȼrN'[Ձr_40!Q̃%]O:ggM*~i7W@*T)Xy^dOp@dMU#Z'Cww '⑤101JcFS@?P6ݟȃgnl+KKmcZ3P=hY9o-4>Gki !{@#5 [!XoV9Df1KH'oQEQyY5Ȯsa>$rAuR&܋i2chBɑ9tX +OO uh8aӆ? 5d:,:ɣw.SILTі&=(0gcw=E%[`)SDU'j #[yKL$QX$TujT'(-@pg.HJp ,~ hXn=-rp~%&w:#K^6SO+Hny|-p!?gF;wޓ^m{lkHE{䞭_T^]-ig&/+*AMq,Ώ_vk@{T?Mj+hxXOhYޛIwF"E"Ez*v5Y[%X-s+zRQ.aYeA˺x &~ߛƙiNbPɼ7ߟgQwV 4;\1m+E,6( i<` zL/dsBHZw{a*ߤ03xE:gN NXèb@a=;!\|2#J@?tyx~y.`v]ePOZƿO" ;<$~+@+4p F11R$wWTUFTZR=W==5JԟOy|~ij'@eRF6Nx0_C+XcLu~v=s? |zSr")<5L`@t>7Gn8vƧ]|fsw@, LF}`SkFvUBzUEi8[%B>ϴjnղR$q4gJnE i}ٱa7d^$6ͦ%L:yLVp_c.@")cMDl1λbf&O KUg-\7O߫0x}Ԡ4 )4V+MyBYpL:5'Nf)cKG=']1-0_R%?rx慄JךY vϵA_7}WSc$[v?mDUrNnE&U]h,+Te"Mf? ] 8^"cw?K^ӗ:qsfNjˌwͱN*p:qGtG]=7c*xXohSW?h҇"eU:\'TTQ3MۤK_D!۾QaC?/B0bj9^b\yν{ι;p B}32Ǭ\:ɨ "x MЁnH_Rg9ݜ2%Gz]cP>XrjlZIȶ&sώN9<)7A#>t>x+[^N䐔|vЉQ!-AJE?-D]S+ӿY^]+ԿC.XIa&A/D=U,$} ;=蝫?W^] %nD@>-@U9Dsh07d[æ=4 ?Rλƻ^HD~\ no npD.2Ct{JI?eD'IlEbb9Ovst7"\|~9'wug &TBeLXomX\.-i*94Y0f¦bstƋQk->t'q0B 8F!Fo>E}ˎ*D̃F:x "$N>NWIwx'sSK}6_+ŋ|-&7E'6y ⨓9VPk͘3w081-朣*5f=V焖4H# ù캍24r |7R ?Q6c?#F3V'G:)K Kd,<> >9>/7q NIeɈj}26\ꯏSxo(ru,ZQ#{,?'qxjT!;sp>TVT݆i'LMd3D642eҩ`#c1-V~枚c_{0tĴooBi'-_ s+ZU'zk{~x]{mv/=w_yOExXOA3 "+Qh"m@%@< 5Z$`%<('Ϙx\0h7QMįmKL;߿y;ߛپ|y}Aȱ C:fP PRtjOl_YXȥ/Y`ͥa?~K6(wo~-N])0´6Ws2:L:J^Yw:.~ qֈOQMiwS* (i hҿ JQ] qnVLP 0s0tՑ*?iX?mߺu^ t?stLI1>/m wO%r_c៙KcQSP7 ]{nc&fL>V+O:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_acdefghijlm(ğZfVD^cLuWv4 86 [Sܵ?t 4jC&k5Vbz%ro֨\~n~VO&uz0@y|bR1 cɑitqP`)x.P;q#hCX}?05TM3:KT%n]Tn˴?r/[i 3h8 p &SwhnuypF(*RceP?EpWB;>yZ;&o&{Y7/2yMW-kr8ZfV5i$vR,߂qoʹD(Ք 5I&os/弻M3(oN}f2 d_A gx!2.|:g3(甅<\ p MG1d&Xx,8o^'TӼvg/b r(*UPy/2o7;1@tCY1i(o S , Equation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0Equati)k՜.+,D՜.+,l(     On-screen Show MicrosoftWD Times New RomanComic Sans MSTahoma WingdingsDefault DesignMicrosoft Equation 3.05Experimental Design for Practical Network DiagnosisPractical Network Diagnosis Design of Diagnosis ExperimentsExample: Network Benchmarking Example: Client-based DiagnosisMore ExamplesBeyond NetworkingNeed Common Solution Framework NetQuest What We WantProblem FormulationDesign of ExperimentsBayesian Experimental DesignSearch Algorithm FlexibilityNetwork InferenceEvaluation Methodology?Comparison of DOE Algorithms: Estimating Network-Wide Mean RTT6Comparison of DOE Algor # !"$%&')+,-=. OKz2$J(yO{ 0e0e     A@ A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||s " 0e@        @ABC DEEFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `abN E5%  N E5%  N F   5%    !"?N@ABC DEFFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `ab f3f3̙f@3fW/P ʚ;,/ʚ;g4\d\d7 0ppp@ <4!d!d4k 0h+<4dddd4k 0h+<4dddd4k 0h+( 0___PPT10 ___PPT9vzbJ? -O =c: 4Experimental Design for Practical Network Diagnosis FPractical Network DiagnosisIdeal Every network element is self-monitoring, self-reporting, self-& , there is no silent failures & Oracle walks through the haystack of data, accurately pinpoints root causes, and suggests response actions Reality Finite resources (CPU, BW, human cycles, & ) cannot afford to instrument/monitor every element Decentralized, autonomous nature of the Internet infeasible to instrument/monitor every organization Protocol layering minimizes information exposure difficult to obtain complete information at every layer-32519-32 5 19GDesign of Diagnosis ExperimentsInput A candidate set of diagnosis experiments Reflects infrastructure constraints Information availability Existing information already available Information provided by each new experiment Resource constraint E.g., number of experiments to conduct (per hour), number of monitors available Output: A diagnosis experimental plan A subset of experiments to conduct Configuration of various control parameters E.g., frequency, duration, sampling ratio, & )$SP&O-)$S  P&O-HPerformance Benchmarking1000s of virtual networks over the same physical network Wants to summarize the performance of each virtual net E.g. traffic-weighted average of individual virtual path performance (loss, delay, jitter, & ) Similar problem exists for monitoring per-application/customer performance Challenge: Cannot afford to monitor all individual virtual paths N2 explosion times 1000s of virtual nets Solution: monitor a subset of virtual paths and infer the rest Q: which subset of virtual paths to monitor?pZZAZ)ZlZpA '?-3Q Client-based Wide-area Diagnosis*Clients probe each other Use tomography/inference to localize trouble spot E.g. links/regions with high loss rate, delay jitter, etc. Challenge: Pair-wise probing too expensive due to N2 explosion Solution: monitor a subset of paths and infer the link performance Q: which subset of paths to probe?`K;K;3 N#3M More ExamplesWireless sniffer placement Input: A set of locations to place wireless sniffers Not all locations possible  some people hate to be surrounded by sniffers Monitoring quality at each candidate location E.g. probabilities for capturing packets from different APs Expected workload of different APs Locations of existing sniffers Output: K additional locations for placing sniffers Cross-layer diagnosis Infer layer-2 properties based on layer-3 performance Which subset of layer-3 paths to probe?.K.<B,^.K.  <  B,^ 7Cg ,uOBeyond NetworkingFSoftware debugging Select a given number of tests to maximize the coverage of corner cases Car crash test Crash a given number of cars to find a maximal number of defects Medicine design Conducting a given number of tests to maximize the chance of finding an effective ingredient Many more & HA] HA] PNeed Common Solution Framework1Can we have a framework that solves them all? As opposed to ad hoc solutions for individual problems Key requirements: Scalable: work for large networks (e.g. 10000 nodes) Flexible: accommodate different applications Differentiated design Different quantities have different importance, e.g., a subset of paths belong to a major customer Augmented design Conduct additional experiments given existing observations, e.g., after measurement failures Multi-user design Multiple users interested in different parts of network or have different objective functions$.Z7ZZbZZcZZ]ZZ^Z.7 + $  c  \^SNetQuestA baby step towards such a framework  NetQuest: A flexible framework for large-scale network measurement , Han Hee Song, Lili Qiu and Yin Zhang. ACM SIGMETRICS 2006. Achieves scalability and flexibility by combining Bayesian experimental design Statistical inference Developed in the context of e2e performance monitoring Can extend to other network monitoring/ diagnosis problemsj%33s%33sP&A What We Want[A function f(x) of link performance x We use a linear function f(x)=F*x in this talk 8'/'/, 2 Problem FormulationWhat we can measure: e2e performance Network performance estimation Goal: e2e performance on some paths f(x) Design of experiments Select a subset of paths S to probe such that we can estimate f(x) based on the observed performance yS, AS, and yS=ASx Network inference Given e2e performance, infer link performance Infer x based on y=F*x, y, and F EZAZxZZPZE$fP bkV$ c4Design of Experiments:State of the art Probe every path (e.g., RON) Not scalable since # paths grow quadratically with #nodes Rank-based approach [sigcomm04] Let A denote routing matrix Monitor rank(A) paths that are linearly independent to exactly reconstruct end-to-end path properties Still very expensive Select a  best subset of paths to probe so that we can accurately infer f(x) How to quantify goodness of a subset of paths?: ~:     ~>N Q2 Bayesian Experimental DesignbA good design maximizes the expected utility under the optimal inference algorithm Different utility functions yield different design criteria Let , where is covariance matrix of x Bayesian A-optimality Goal: minimize the squared error Bayesian D-optimality Goal: maximize the expected gain in Shannon informationxc"8c"8 ASearch AlgorithmGiven a design criterion , next step is to find s rows of A to optimize This problem is NP-hard We use a sequential search algorithm to greedily select the row that results in the largest improvement in Better search algorithms? &RRx FlexibilityDDifferentiated design Give higher weights to the important rows of matrix F Augmented design Ensure the newly selected paths in conjunction with previously monitored paths maximize the utility Multi-user design New design criteria: a linear combination of different users design criteriaZ6ZZeZZNZ6eN yNetwork InferenceGoal: find x s.t. Y=Ax Main challenge: under-constrained problem L2-norm minimization L1-norm minimization Maximum entropy estimation  3f |{Evaluation Methodology Data sets Accuracy metric  ! )>Comparison of DOE Algorithms: Estimating Network-Wide Mean RTT??$ *5Comparison of DOE Algorithms: Estimating Per-Path RTT66$ $:Differentiated Design: Inference Error on Preferred Paths;;  %>Differentiated Design: Inference Error on the Remaining Paths??  +Augmented Design .Multi-user Design uSummaryuOur contributions Bring Bayesian experimental design to network measurement and diagnosis Develop a flexible framework to accommodate different design requirements Experimentally show its effectiveness Future work Making measurement design fault tolerant Applying our technique to other diagnosis problems Extend our framework to incorporate additional design constraintsX  /  !6#7$8%9&=*>+ 0 "(  d  c $4    [~  s *[4 @  [ H  0޽h#6 ? ̙3380___PPT10.}xXMlE~3k'f'$QʒBDV#!TP\%ЛU#4BH@8pqBAPJh{rLBH{j{3AI^<3yo}3q=zCkAzt8ƘsB 6{M&2~ m k׸_?p;ӕUM;^Xt:IΜg>N T 'Ϣ h {׮LOyD W%7u?=8#Q\L]Ȩv~"mz8O1m%-=oϭ'Oja0:;u:< 0?c vUUq9#vڴ*V~ f!!>i5-JfK^ ?Ԉ秼\!?mq ȼrN'[Ձr_40!Q̃%]O:ggM*~i7W@*T)Xy^dOp@dMU#Z'Cww '⑤101JcFS@?P6ݟȃgnl+KKmcZ3P=hY9o-4>Gki !{@#5 [!XoV9Df1KH'oQEQyY5Ȯsa>$rAuR&܋i2chBɑ9tX +OO uh8aӆ? 5d:,:ɣw.SILTі&=(0gcw=E%[`)SDU'j #[yKL$QX$TujT'(-@pg.HJp ,~ hXn=-rp~%&w:#K^6SO+Hny|-p!?gF;wޓ^m{lkHE{䞭_T^]-ig&/+*AMq,Ώ_vk@{T?Mj+hxXOhYޛIwF"E"Ez*v5Y[%X-s+zRQ.aYeA˺x &~ߛƙiNbPɼ7ߟgQwV 4;\1m+E,6( i<` zL/dsBHZw{a*ߤ03xE:gN NXèb@a=;!\|2#J@?tyx~y.`v]ePOZƿO" ;<$~+@+4p F11R$wWTUFTZR=W==5JԟOy|~ij'@eRF6Nx0_C+XcLu~v=s? |zSr")<5L`@t>7Gn8vƧ]|fsw@, LF}`SkFvUBzUEi8[%B>ϴjnղR$q4gJnE i}ٱa7d^$6ͦ%L:yLVp_c.@")cMDl1λbf&O KUg-\7O߫0x}Ԡ4 )4V+MyBYpL:5'Nf)cKG=']1-0_R%?rx慄JךY vϵA_7}WSc$[v?mDUrNnE&U]h,+Te"Mf? ] 8^"cw?K^ӗ:qsfNjˌwͱN*p:qGtG]=7c*xXohSW?h҇"eU:\'TTQ3MۤK_D!۾QaC?/B0bj9^b\yν{ι;p B}32Ǭ\:ɨ "x MЁnH_Rg9ݜ2%Gz]cP>XrjlZIȶ&sώN9<)7A#>t>x+[^N䐔|vЉQ!-AJE?-D]S+ӿY^]+ԿC.XIa&A/D=U,$} ;=蝫?W^] %nD@>-@U9Dsh07d[æ=4 ?Rλƻ^HD~\ no npD.2Ct{JI?eD'IlEbb9Ovst7"\|~9'wug &TBeLXomX\.-i*94Y0f¦bstƋQk->t'q0B 8F!Fo>E}ˎ*D̃F:x "$N>NWIwx'sSK}6_+ŋ|-&7E'6y ⨓9VPk͘3w081-朣*5f=V焖4H# ù캍24r |7R ?Q6c?#F3V'G:)K Kd,<> >9>/7q NIeɈj}26\ꯏSxo(ru,ZQ#{,?'qxjT!;sp>TVT݆i'LMd3D642eҩ`#c1-V~枚c_{0tĴooBi'-_ s+ZU'zk{~x]{mv/=w_yOExXOA3 "+Qh"m@%@< 5Z$`%<('Ϙx\0h7QMįmKL;߿y;ߛپ|y}Aȱ C:fP PRtjOl_YXȥ/Y`ͥa?~K6(wo~-N])0´6Ws2:L:J^Yw:.~ qֈOQMiwS* (i hҿ JQ] qnVLP 0s0tՑ*?iX?mߺu^ t?stLI1>/m wO%r_c៙KcQSP7 ]{nc&fL>V+O:(ğZfVD^cLuWv4 86 [Sܵ?t 4jC&k5Vbz%ro֨\~n~VO&uz0@y|bR1 cɑitqP`)x.P;q#hCX}?05TM3:KT%n]Tn˴?r/[i 3h8 p &SwhnuypF(*RceP?EpWB;>yZ;&o&{Y7/2yMW-kr8ZfV5i$vR,߂qoʹD(Ք 5I&os/弻M3(oN}f2 d_A gx!2.|:g3(甅<\ p MG1d&Xx,8o^'TӼvg/b r0)DiOUP$LDY1Yi(o S , Equation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0UEquation Equation.30,Microsoft Equation 3.0@Equation Equation.30,Microsoft Equation 3.0BEquation Equation.30,Microsoft Equation 3.0DEquation Equation.30,Microsoft Equation 3.0UEquation Equation.30,Microsoft Equation 3.0VEquation Equation.30,Microsoft Equation 3.0WEquation Equation.30,Microsoft Equation 3.0XEquation Equation.30,Microsoft Equation 3.0YEquation Equation.30,Microsoft Equation 3.0/ 00DTimes New Romanhh@+ 0DComic Sans MSnhh@+ 0B DTahomaans MSnhh@+ 0"0DWingdings MSnhh@+ 0 B .  @n?" dd@  @@``  ` +%*"[" +L 0  ;xoQ*(,    1&I< )))SAAAUaAQXA)AQA)l(&(ME,a E   ^   $ %!#     ")*,/012679  BCD!FGJL1N O02$iI.q-X ؀2$.vJgp|$2$ jbKRڱ |}~$2$:9X9IL\-S^$2$-NLEJL$2$q*h#9s{l$2$ P1fK(2$8XcG {$2$CnL(ZH92$ӆd<砏˳ah$$2$A[Ly.#*)$2$m Xm^z#k*$2$蘵fgo%k&QE~o2$hpuAvL.Vl$$$$2$++;MA$$$$$2$,O7qkD]`kG2$=. OKz2$J(yO{ 0e0e     A@ A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||s " 0e@        @ABC DEEFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `abN E5%  N E5%  N F   5%    !"?N@ABC DEFFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `ab f3f3̙f@3fW/P ʚ;,/ʚ;g4\d\d7 0ppp@ <4!d!d4k 0h+<4dddd4k 0h+<4dddd4k 0h+( 0___PPT10 ___PPT9vzbJ? -O =: 4Experimental Design for Practical Network Diagnosis FPractical Network DiagnosisIdeal Every network element is self-monitoring, self-reporting, self-& , there is no silent failures & Oracle walks through the haystack of data, accurately pinpoints root causes, and suggests response actions Reality Finite resources (CPU, BW, human cycles, & ) cannot afford to instrument/monitor every element Decentralized, autonomous nature of the Internet infeasible to instrument/monitor every organization Protocol layering minimizes information exposure difficult to obtain complete information at every layer-32519-32 5 19GDesign of Diagnosis ExperimentsInput A candidate set of diagnosis experiments Reflects infrastructure constraints Information availability Existing information already available Information provided by each new experiment Resource constraint E.g., number of experiments to conduct (per hour), number of monitors available Output: A diagnosis experimental plan A subset of experiments to conduct Configuration of various control parameters E.g., frequency, duration, sampling ratio, & )$SP&O-)$S  P&O-H!Example: Performance Benchmarking""$1000s of virtual networks over the same physical network Wants to summarize the performance of each virtual net E.g. traffic-weighted average of individual virtual path performance (loss, delay, jitter, & ) Similar problem exists for monitoring per-application/customer performance Challenge: Cannot afford to monitor all individual virtual paths N2 explosion times 1000s of virtual nets Solution: monitor a subset of virtual paths and infer the rest Q: which subset of virtual paths to monitor?pZZAZ)ZlZpA '?-3QExample: Wide-area Diagnosis *Clients probe each other Use tomography/inference to localize trouble spot E.g. links/regions with high loss rate, delay jitter, etc. Challenge: Pair-wise probing too expensive due to N2 explosion Solution: monitor a subset of paths and infer the link performance Q: which subset of paths to probe?`K;K;3 N#3M More ExamplesWireless sniffer placement Input: A set of locations to place wireless sniffers Not all locations possible  some people hate to be surrounded by sniffers Monitoring quality at each candidate location E.g. probabilities for capturing packets from different APs Expected workload of different APs Locations of existing sniffers Output: K additional locations for placing sniffers Cross-layer diagnosis Infer layer-2 properties based on layer-3 performance Which subset of layer-3 paths to probe?.K.<B,^.K.  <  B,^ 7Cg ,uOBeyond NetworkingFSoftware debugging Select a given number of tests to maximize the coverage of corner cases Car crash test Crash a given number of cars to find a maximal number of defects Medicine design Conducting a given number of tests to maximize the chance of finding an effective ingredient Many more & HA] HA] PNeed Common Solution Framework1Can we have a framework that solves them all? As opposed to ad hoc solutions for individual problems Key requirements: Scalable: work for large networks (e.g. 10000 nodes) Flexible: accommodate different applications Differentiated design Different quantities have different importance, e.g., a subset of paths belong to a major customer Augmented design Conduct additional experiments given existing observations, e.g., after measurement failures Multi-user design Multiple users interested in different parts of network or have different objective functions$.Z7ZZbZZcZZ]ZZ^Z.7 + $  c  \^SNetQuestA baby step towards such a framework  NetQuest: A flexible framework for large-scale network measurement , Han Hee Song, Lili Qiu and Yin Zhang. ACM SIGMETRICS 2006. Achieves scalability and flexibility by combining Bayesian experimental design Statistical inference Developed in the context of e2e performance monitoring Can extend to other network monitoring/ diagnosis problemsj%33s%33sP&A What We Want[A function f(x) of link performance x We use a linear function f(x)=F*x in this talk 8'/'/, 2 Problem FormulationWhat we can measure: e2e performance Network performance estimation Goal: e2e performance on some paths f(x) Design of experiments Select a subset of paths S to probe such that we can estimate f(x) based on the observed performance yS, AS, and yS=ASx Network inference Given e2e performance, infer link performance Infer x based on y=F*x, y, and F EZAZxZZPZE$fP bkV$ c4Design of Experiments:State of the art Probe every path (e.g., RON) Not scalable since # paths grow quadratically with #nodes Rank-based approach [sigcomm04] Let A denote routing matrix Monitor rank(A) paths that are linearly independent to exactly reconstruct end-to-end path properties Still very expensive Select a  best subset of paths to probe so that we can accurately infer f(x) How to quantify goodness of a subset of paths?: ~:     ~>N Q2 Bayesian Experimental DesignbA good design maximizes the expected utility under the optimal inference algorithm Different utility functions yield different design criteria Let , where is covariance matrix of x Bayesian A-optimality Goal: minimize the squared error Bayesian D-optimality Goal: maximize the expected gain in Shannon informationxc"8c"8 ASearch AlgorithmGiven a design criterion , next step is to find s rows of A to optimize This problem is NP-hard We use a sequential search algorithm to greedily select the row that results in the largest improvement in Better search algorithms? &RRx FlexibilityDDifferentiated design Give higher weights to the important rows of matrix F Augmented design Ensure the newly selected paths in conjunction with previously monitored paths maximize the utility Multi-user design New design criteria: a linear combination of different users design criteriaZ6ZZeZZNZ6eN yNetwork InferenceGoal: find x s.t. Y=Ax Main challenge: under-constrained problem L2-norm minimization L1-norm minimization Maximum entropy estimation  3f |{Evaluation Methodology Data sets Accuracy metric  ! )>Comparison of DOE Algorithms: Estimating Network-Wide Mean RTT??$ *5Comparison of DOE Algorithms: Estimating Per-Path RTT66$ $:Differentiated Design: Inference Error on Preferred Paths;;  %>Differentiated Design: Inference Error on the Remaining Paths??  +Augmented Design .Multi-user Design uSummaryuOur contributions Bring Bayesian experimental design to network measurement and diagnosis Develop a flexible framework to accommodate different design requirements Experimentally show its effectiveness Future work Making measurement design fault tolerant Applying our technique to other diagnosis problems Extend our framework to incorporate additional design constraintsX  /  !6#7$8%9&=*>+  0 @ t(  tr t S  `   x t c $$0   [8 v  t` `2 t 0   t 0\Ϳ 5R 2 t 0Tַ`vX 5R 2`B  t 0D 0 `B  t 0D@W  t 00 j 5R 2`B  t 0DWw`B  t 0D``B t 0D g `B t 0D w Ov  t 0r e  5R 2  t 0p0 P  5R 2`B t 0D' t 0$b 0   * 2 t # BCDEFA)nna6@      t 3 BpCDEFXhp@ 7 `  t 3 BCDEFh0}p c@  W  t 3 BCVDEF&UPHV@  P  t 3 BoCDEF-#Fo@  ? t 3 BCDEF"O>?A@  7>G t 3 BOCVDEFV#wL&dOt@  G  t 0r 5R 2  t 0   5R 2  t # BCDEFA)nna6@   71  tB # BCDEFA)nna6@  7H t 0޽h ? ̙33___PPT10i. n+D=' = @B +  0  0 (  x  c $2`   ~  s *70     HGGH_    (   HpGQ]Hx)  6 C&W ! BЙ > UUNet " HGhH7= Y+ > AOL # H $G:H SA[#  (r $ 6H'T qt   % H G#H  P:u ( & 6qE 6Sprint ' T$GHY?"6@ NNN?N  ( ( TqGHQ?"6@ NNN?N4  ( ) Zq?"6@ NNN?N  7Qwest * Z$[?"6@ NNN?Nh 6AT&TL 0  +# @ pZ , C *APE02002_0T - 0d7 DWhy is it so slow? . BL7G8H,e `  (B / ZD ?"0@NNN?NTqB 0 ZDf ?"0@NNN?N[qH  0޽h ? "#%'(. ̙33___PPT10i. n+D=' = @B +xXMlE~3k'f'$QʒBDV#!TP\%ЛU#4BH@8pqBAPJh{rLBH{j{3AI^<3yo}3q=zCkAzt8ƘsB 6{M&2~ m k׸_?p;ӕUM;^Xt:ithms: Estimating Per-Path RTT;Differentiated Design: Inference Error on Preferred Paths?Differentiated Design: Inference Error on the Remaining PathsAugmented DesignMulti-user DesignSummary Slide 25  Fonts UsedDesign TemplateEmbedded OLE Servers Slide Titles0"_3 Dave MaltzDave Maltzi5-JfK^ ?Ԉ秼\!?mq ȼrN'[Ձr_40!Q̃%]O:ggM*~i7W@*T)Xy^dOp@dMU#Z'Cww '⑤101JcFS@?P6ݟȃgnl+KKmcZ3P=hY9o-4>Gki !{@#5 [!XoV9Df1KH'oQEQyY5Ȯsa>$rAuR&܋i2chBɑ9tX +OO uh8aӆ? 5d:,:ɣw.SILTі&=(0gcw=E%[`)SDU'j #[yKL$QX$TujT'(-@pg.HJp ,~ hXn=-rp~%&w:#K^6SO+Hny|-p!?gF;wޓ^m{lkHE{䞭_T^]-ig&/+*AMq,Ώ_vk@{T?Mj+hxXOhYޛIwF"E"Ez*v5Y[%X-s+zRQ.aYeA˺x &~ߛƙiNbPɼ7ߟgQwV 4;\1m+E,6( i<` zL/dsBHZw{a*ߤ03xE:gN NXèb@a=;!\|2#J@?tyx~y.`v]ePOZƿO" ;<$~+@+4p F11R$wWTUFTZR=W==5JԟOy|~ij'@eRF6Nx0_C+XcLu~v=s? |zSr")<5L`@t>7Gn8vƧ]|fsw@, LF}`SkFvUBzUEi8[%B>ϴjnղR$q4gJnE i}ٱa7d^$6ͦ%L:yLVp_c.@")cMDl1λbf&O KUg-\7O߫0x}Ԡ4 )4V+MyBYpL:5'Nf)cKG=']1-0_R%?rx慄JךY vϵA_7}WSc$[v?mDUrNnE&U]h,+Te"Mf? ] 8^"cw?K^ӗ:qsfNjˌwͱN*p:qGtG]=7c*xXohSW?h҇"eU:\'TTQ3MۤK_D!۾QaC?/B0bj9^b\yν{ι;p B}32Ǭ\:ɨ "x MЁnH_Rg9ݜ2%Gz]cP>XrjlZIȶ&sώN9<)7A#>t>x+[^N䐔|vЉQ!-AJE?-D]S+ӿY^]+ԿC.XIa&A/D=U,$} ;=蝫?W^] %nD@>-@U9Dsh07d[æ=4 ?Rλƻ^HD~\ no npD.2Ct{JI?eD'IlEbb9Ovst7"\|~9'wug &TBeLXomX\.-i*94Y0f¦bstƋQk->t'q0B 8F!Fo>E}ˎ*D̃F:x "$N>NWIwx'sSK}6_+ŋ|-&7E'6y ⨓9VPk͘3w081-朣*5f=V焖4H# ù캍24r |7R ?Q6c?#F3V'G:)K Kd,<> >9>/7q NIeɈj}26\ꯏSxo(ru,ZQ#{,?'qxjT!;sp>TVT݆i'LMd3D642eҩ`#c1-V~枚c_{0tĴooBi'-_ s+ZU'zk{~x]{mv/=w_yOExXOA3 "+Qh"m@%@< 5Z$`%<('Ϙx\0h7QMįmKL;߿y;ߛپ|y}Aȱ C:fP PRtjOl_YXȥ/Y`ͥa?~K6(wo~-N])0´6Ws2:L:J^Yw:.~ qֈOQMiwS* (i hҿ JQ] qnVLP 0s0tՑ*?iX?mߺu^ t?stLI1>/m wO%r_c៙KcQSP7 ]{nc&fL>V+O:(ğZfVD^cLuWv4 86 [Sܵ?t 4jC&k5Vbz%ro֨\~n~VO&uz0@y|bR1 cɑitqP`)x.P;q#hCX}?05TM3:KT%n]Tn˴?r/[i 3h8 p &SwhnuypF(*RceP?EpWB;>yZ;&o&{Y7/2yMW-kr8ZfV5i$vR,߂qoʹD(Ք 5I&os/弻M3(oN}f2 d_A gx!2.|:g3(甅<\ p MG1d&Xx,8o^'TӼvg/b r8)UH=2Q+EUPYj]a fj@nY1Di(o S , Equation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0Equation Equation.30,Microsoft Equation 3.0UEquation Equation.30,Microsoft Equation 3.0@Equation Equation.30,Microsoft Equation 3.0BEquation Equation.30,Microsoft Equation 3.0DEquation Equation.30,Microsoft Equation 3.0UEquation Equation.30,Microsoft Equation 3.0VEquation Equation.30,Microsoft Equation 3.0WEquation Equation.30,Microsoft Equation 3.0XEquation Equation.30,Microsoft Equation 3.0YEquation Equation.30,Microsoft Equation 3.0/ 00DTimes New Romanhh@+ 0DComic Sans MSnhh@+ 0B DTahomaans MSnhh@+ 0"0DWingdings MSnhh@+ 0 B .  @n?" dd@  @@``  ` +%*"[" +L 0  ;xoQ*(,    1&I< )))SAAAUaAQXA)AQA)l(&(ME,a E   ^   $ %!#     ")*,/012679  BCD!FGJL1N O02$iI.q-X ؀2$.vJgp|$2$ jbKRڱ |}~$2$:9X9IL\-S^$2$-NLEJL$2$q*h#9s{l$2$ P1fK(2$8XcG {$2$CnL(ZH92$ӆd<砏˳ah$$2$A[Ly.#*)$2$m Xm^z#k*$2$蘵fgo%k&QE~o2$hpuAvL.Vl$$$$2$++;MA$$$$$2$,O7qkD]`kG2$=. OKz2$J(yO{ 0e0e     A@ A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||s " 0e@        @ABC DEEFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `abN E5%  N E5%  N F   5%    !"?N@ABC DEFFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `ab f3f3̙f@3fW/P ʚ;,/ʚ;g4\d\d7 0ppp@ <4!d!d4k 0h+<4dddd4k 0h+<4dddd4k 0h+( 0___PPT10 ___PPT9vzbJ? -O =: 4Experimental Design for Practical Network Diagnosis FPractical Network DiagnosisIdeal Every network element is self-monitoring, self-reporting, self-& , there is no silent failures & Oracle walks through the haystack of data, accurately pinpoints root causes, and suggests response actions Reality Finite resources (CPU, BW, human cycles, & ) cannot afford to instrument/monitor every element Decentralized, autonomous nature of the Internet infeasible to instrument/monitor every organization Protocol layering minimizes information exposure difficult to obtain complete information at every layer-32519-32 5 19GDesign of Diagnosis ExperimentsInput A candidate set of diagnosis experiments Reflects infrastructure constraints Information availability Existing information already available Information provided by each new experiment Resource constraint E.g., number of experiments to conduct (per hour), number of monitors available Output: A diagnosis experimental plan A subset of experiments to conduct Configuration of various control parameters E.g., frequency, duration, sampling ratio, & )$SP&O-)$S  P&O-HExample: Network Benchmarking 1000s of virtual networks over the same physical network Wants to summarize the performance of each virtual net E.g. traffic-weighted average of individual virtual path performance (loss, delay, jitter, & ) Similar problem exists for monitoring per-application/customer performance Challenge: Cannot afford to monitor all individual virtual paths N2 explosion times 1000s of virtual nets Solution: monitor a subset of virtual paths and infer the rest Q: which subset of virtual paths to monitor?pZZAZ)ZlZpA '?-3QExample: Client-based Diagnosis*Clients probe each other Use tomography/inference to localize trouble spot E.g. links/regions with high loss rate, delay jitter, etc. Challenge: Pair-wise probing too expensive due to N2 explosion Solution: monitor a subset of paths and infer the link performance Q: which subset of paths to probe?`K;K;3 N#3M More ExamplesWireless sniffer placement Input: A set of locations to place wireless sniffers Not all locations possible  some people hate to be surrounded by sniffers Monitoring quality at each candidate location E.g. probabilities for capturing packets from different APs Expected workload of different APs Locations of existing sniffers Output: K additional locations for placing sniffers Cross-layer diagnosis Infer layer-2 properties based on layer-3 performance Which subset of layer-3 paths to probe?.K.<B,^.K.  <  B,^ 7Cg ,uOBeyond NetworkingFSoftware debugging Select a given number of tests to maximize the coverage of corner cases Car crash test Crash a given number of cars to find a maximal number of defects Medicine design Conducting a given number of tests to maximize the chance of finding an effective ingredient Many more & HA] HA] PNeed Common Solution Framework1Can we have a framework that solves them all? As opposed to ad hoc solutions for individual problems Key requirements: Scalable: work for large networks (e.g. 10000 nodes) Flexible: accommodate different applications Differentiated design Different quantities have different importance, e.g., a subset of paths belong to a major customer Augmented design Conduct additional experiments given existing observations, e.g., after measurement failures Multi-user design Multiple users interested in different parts of network or have different objective functions$.Z7ZZbZZcZZ]ZZ^Z.7 + $  c  \^SNetQuestA baby step towards such a framework  NetQuest: A flexible framework for large-scale network measurement , Han Hee Song, Lili Qiu and Yin Zhang. ACM SIGMETRICS 2006. Achieves scalability and flexibility by combining Bayesian experimental design Statistical inference Developed in the context of e2e performance monitoring Can extend to other network monitoring/ diagnosis problemsj%33s%33sP&A What We Want[A function f(x) of link performance x We use a linear function f(x)=F*x in this talk 8'/'/, 2 Problem FormulationWhat we can measure: e2e performance Network performance estimation Goal: e2e performance on some paths f(x) Design of experiments Select a subset of paths S to probe such that we can estimate f(x) based on the observed performance yS, AS, and yS=ASx Network inference Given e2e performance, infer link performance Infer x based on y=F*x, y, and F EZAZxZZPZE$fP bkV$ c4Design of Experiments:State of the art Probe every path (e.g., RON) Not scalable since # paths grow quadratically with #nodes Rank-based approach [sigcomm04] Let A denote routing matrix Monitor rank(A) paths that are linearly independent to exactly reconstruct end-to-end path properties Still very expensive Select a  best subset of paths to probe so that we can accurately infer f(x) How to quantify goodness of a subset of paths?: ~:     ~>N Q2 Bayesian Experimental DesignbA good design maximizes the expected utility under the optimal inference algorithm Different utility functions yield different design criteria Let , where is covariance matrix of x Bayesian A-optimality Goal: minimize the squared error Bayesian D-optimality Goal: maximize the expected gain in Shannon informationxc"8c"8 ASearch AlgorithmGiven a design criterion , next step is to find s rows of A to optimize This problem is NP-hard We use a sequential search algorithm to greedily select the row that results in the largest improvement in Better search algorithms? &RRx FlexibilityDDifferentiated design Give higher weights to the important rows of matrix F Augmented design Ensure the newly selected paths in conjunction with previously monitored paths maximize the utility Multi-user design New design criteria: a linear combination of different users design criteriaZ6ZZeZZNZ6eN yNetwork InferenceGoal: find x s.t. Y=Ax Main challenge: under-constrained problem L2-norm minimization L1-norm minimization Maximum entropy estimation  3f |{Evaluation Methodology Data sets Accuracy metric  ! )>Comparison of DOE Algorithms: Estimating Network-Wide Mean RTT??$ *5Comparison of DOE Algorithms: Estimating Per-Path RTT66$ $:Differentiated Design: Inference Error on Preferred Paths;;  %>Differentiated Design: Inference Error on the Remaining Paths??  +Augmented Design .Multi-user Design uSummaryuOur contributions Bring Bayesian experimental design to network measurement and diagnosis Develop a flexible framework to accommodate different design requirements Experimentally show its effectiveness Future work Making measurement design fault tolerant Applying our technique to other diagnosis problems Extend our framework to incorporate additional design constraintsX  /  !6#7$8%9&=*>+  0 @ t(  tr t S  `   x t c $$0   [8 v  t` `2 t 0   t 0\Ϳ 5R 2 t 0Tַ`vX 5R 2`B  t 0D 0 `B  t 0D@W  t 00 j 5R 2`B  t 0DWw`B  t 0D``B t 0D g `B t 0D w Ov  t 0r e  5R 2  t 0p0 P  5R 2`B t 0D' t 0$b 0   * 2 t # BCDEFA)nna6@      t 3 BpCDEFXhp@ 7 `  t 3 BCDEFh0}p c@  W  t 3 BCVDEF&UPHV@  P  t 3 BoCDEF-#Fo@  ? t 3 BCDEF"O>?A@  7>G t 3 BOCVDEFV#wL&dOt@  G  t 0r 5R 2  t 0   5R 2  t # BCDEFA)nna6@   71  tB # BCDEFA)nna6@  7H t 0޽h ? ̙33___PPT10i. n+D=' = @B +  0  0 (  x  c $2`   ~  s *70     HGGH_    (   HpGQ]Hx)  6 C&W ! BЙ > UUNet " HGhH7= Y+ > AOL # H $G:H SA[#  (r $ 6H'T qt   % H G#H  P:u ( & 6qE 6Sprint ' T$GHY?"6@ NNN?N  ( ( TqGHQ?"6@ NNN?N4  ( ) Zq?"6@ NNN?N  7Qwest * Z$[?"6@ NNN?Nh 6AT&TL 0  +# @ pZ , C *APE02002_0T - 0d7 DWhy is it so slow? . BL7G8H,e `  (B / ZD ?"0@NNN?NTqB 0 ZDf ?"0@NNN?N[qH  0޽h ? "#%'(. ̙33___PPT10i. n+D=' = @B +xXMlE~3k'f'$QʒBDV#!TP\%ЛU#4BH@8pqBAPJh{rLBH{j{3AI^<3yo}3q=zCkAzt8ƘsB 6{M&2~ m k׸_?p;ӕUM;^Xt:IΜg>N T 'Ϣ h {׮LOyD W%7u?=8#Q\L]Ȩv~"mz8O1m%-=oϭ'Oja0:;u:< 0?c vUUq9#vڴ*V~ f!!>i5-JfK^ ?Ԉ秼\!?mq ȼrN'[Ձr_40!Q̃%]O:ggM*~i7W@*T)Xy^dOp@dMU#Z'Cww '⑤101JcFS@?P6ݟȃgnl+KKmcZ3P=hY9o-4>Gki !{@#5 [!XoV9Df1KH'oQEQyY5Ȯsa>$rAuR&܋i2chBɑ9tX +OO uh8aӆ? 5d:,:ɣw.SILTі&=(0gcw=E%[`)SDU'j #[yKL$QX$TujT'(-@pg.HJp ,~ hXn=-rp~%&w:#K^6SO+Hny|-p!?gF;wޓ^m{lkHE{䞭_T^]-ig&/+*AMq,Ώ_vk@{T?Mj+hxXOhYޛIwF"E"Ez*v5Y[%X-s+zRQ.aYeA˺x &~ߛƙiNbPɼ7ߟgQwV 4;\1m+E,6( i<` zL/dsBHZw{a*ߤ03xE:gN NXèb@a=;!\|2#J@?tyx~y.`v]ePOZƿO" ;<$~+@+4p F11R$wWTUFTZR=W==5JԟOy|~ij'@eRF6Nx0_C+XcLu~v=s? |zSr")<5L`@t>7Gn8vƧ]|fsw@, LF}`SkFvUBzUEi8[%B>ϴjnղR$q4gJnE i}ٱa7d^$6ͦ%L:yLVp_c.@")cMDl1λbf&O KUg-\7O߫0x}Ԡ4 )4V+MyBYpL:5'Nf)cKG=']1-0_R%?rx慄JךY vϵA_7}WSc$[v?mDUrNnE&U]h,+Te"Mf? ] 8^"cw?K^ӗ:qsfNjˌwͱN*p:qGtG]=7c*xXohSW?h҇"eU:\'TTQ3MۤK_D!۾QaC?/B0bj9^b\yν{ι;p B}32Ǭ\:ɨ "x MЁnH_Rg9ݜ2%Gz]cP>XrjlZIȶ&sώN9<)7A#>t>x+[^N䐔|vЉQ!-AJE?-D]S+ӿY^]+ԿC.XIa&A/D=U,$} ;=蝫?W^] %nD@>-@U9Dsh07d[æ=4 ?Rλƻ^HD~\ no npD.2Ct{JI?eD'IlEbb9Ovst7"\|~9'wug &TBeLXomX\.-i*94Y0f¦bstƋQk->t'q0B 8F!Fo>E}ˎ*D̃F:x "$N>NWIwx'sSK}6_+ŋ|-&7E'6y ⨓9VPk͘3w081-朣*5f=V焖4H# ù캍24r |7R ?Q6c?#F3V'G:)K Kd,<> >9>/7q NIeɈj}26\ꯏSxo(ru,ZQ#{,?'qxjT!;sp>TVT݆i'LMd3D642eҩ`#c1-V~枚c_{0tĴooBi'-_ s+ZU'zk{~x]{mv/=w_yOExXOA3 "+Qh"m@%@< 5Z$`%<('Ϙx\0h7QMįmKL;߿y;ߛپ|y}Aȱ C:fP PRtjOl_YXȥ/Y`ͥa?~K6(wo~-N])0´6Ws2:L:J^Yw:.~ qֈOQMiwS* (i hҿ JQ] qnVLP 0s0tՑ*?iX?mߺu^ t?stLI1>/m wO%r_c៙KcQSP7 ]{nc&fL>V+O:(ğZfVD^cLuWv4 86 [Sܵ?t 4jC&k5Vbz%ro֨\~n~VO&uz0@y|bR1 cɑitqP`)x.P;q#hCX}?05TM3:KT%n]Tn˴?r/[i 3h8 p &SwhnuypF(*RceP?EpWB;>yZ;&o&{Y7/2yMW-kr8ZfV5i$vR,߂qoʹD(Ք 5I&os/弻M3(oN}f2 d_A gx!2.|:g3(甅<\ p MG1d&Xx,8o^'TӼvg/b r8nHQUP OnY1Item  PropertiesAA3KKWXJFA==2 `?(5L`?(5LItem  bPropertiesGAQXUY==2`?(5L`?(5LItem (Properties* This value indicates the number of saves or revisions. The application is responsible for updating this value after each revision. t.com/sharepoint/v3/contenttype/forms">DocumentLibraryFormDocumentLibraryFormDocumentLibraryForm w> PublishingExpirationDatePublishingStartDate 2018-11-21T15:59:05Z2000-01-01T00:00:00Z