ࡱ> FqkFF#J:1JFIFHHtPhotoshop 3.08BIMHH8BIM x8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM@@8BIM8BIM pTPn@JFIFHH&File written by Adobe Photoshop 5.0Adobed            Tp"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?-mEږխċj[Qv$[Rڋ.q#ڛj.ҖҗmKj.Զ®$[SDږҗmKj.Զ'ݩmEؖŽE-ؗmKj.Ķ%$[Rڋ-p+ԶKb\ E-ؗmKj.Ķ%'6p\HUďj[Q!(K\HUďj[Q!(K\HUďj[Q!( p%D?zeԹtz[JKQ4$A䗫䠒JzIz:&ITz %j A$-4';}˥~S1WSr}m6Y>_MRYeuo=ń} \~gzvV>q#bDj ^ CQߊ}%諾(K~*^oG^RK~*Z>oE_R _{W||GS4}:ފBG/{vLb'fⱗ?޷u8?OOWޢ󴔝^sm/x?ןIpi'}C`~#I/w?KSݝ {c_$}wM\*I}^ؐ#TS8BIM XICC_PROFILE HLinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ,bXYZ@dmndTpdmddvuedLview$lumimeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km&File written by Adobe Photoshop 5.0Adobed@      X d  s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?Wz]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb-Pxb(v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]Vz9_uMdUثWb]v*UثWb]v*Uثt8XWb]v*UثWb[Z]v*UثWb]v*UثWb[ƕ8XWb]Cv*UثWb]v*UثWb]v*UثWb[ƕUثWb[ƕUثWb]v*UثW]?ǐt Fq BN8TI-^ bW7C ),&8PJJuYL4†-+\7i$!O &kQyp1 Q^z Bi*ňSثAw낓jhk\ m@SثTIS[l 4UCdJ~X*{v4UC)S 3o-%n>x)IT=,Tp RUC<, MxP=RmƖqƐJp1Rgn45O|_YL4†mCVmCTIS[u={۩-``O|4[_TIPbd=RmƖ†k{ck)[xPE%{۩-hz9꣐w:gb]v*UثWb]v*UثTv*UثWb]v*UثWb­Ta*E]v*Uث\G+m]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbZ<1[ov*UثWb]jF{sa~;(-pɦpmhk\VbQLUhZgq8TS-m=[w|Vpm=[w|VmqS-mhk\V1BmqS-mhk\V1Bpm=[pZqLP)pm=[w|Vpm}[_CuȈ䒷)pm=[w|Vqmv([۸ⶻ-m=[w|Vb=M+nP)pm=[w|Vpm=[w|Vb=M+kCU=M+kCWbV6-m}[][P)qmSC)ɲءo|Sn۸{ⶻ?uJ1>=otoZ 6;v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb] v*UثWb]]v;v*UثWb]v*UثWb]v*UثWb]zs:\m*)6+n۸\}[om+n۸{>b|VwV6+n۸{+n۸{+n CZⶸ)6+n۸{+kBءo|Sm-q M+kB>b=M+n۸\}[_V68otX۸ V wMUO[ Vb'F+maK}p+|O(q>mO+n|1[w۸ Vb'q>m8->n|1[w۸ Vb'q>mO+n|1[wۨ|1[k [|0"b'q>mO+nmn)u0p' -O+n|1[u+maK|O[ Vb'q>mO+n|1[w۸VO[w۸ V– q>xBmN'q>mO+n|1[w۸ Vb'q>mO+mb Qn|1[w۸ Vb'q>mO+n|1[w۸ Vb'q>m7-gCuZ<1[w۸ Vxbᆖ<0-mG+n<1[w|G[k#q 4G[k+nZ<1[w۸ Vxb+nZ<1[w|G[k# 4mG+n<1[w۸ Vxb#qmG+n<1[wۨ<1[okm b VAx\G+n<1[w۸ Vxb#qmG+n<1[w۸ VxbƐwUo۸ Vxb#qmG+n<1[]<1[wUo۸ V<0\GqmG+kB#۸ VbG)qmWs(}#v=T{Kn4{Kn4{Kn4{Kn4{Kn4{Kn4{Kn41*|+n[u=S[u=S[u=S[w|>𭺞im}R۸¶{᥷S[u=S[u=S[u=S[w|im}pwm{᥷S[u=S[u=S[u=S[u=S[u=S[w|im}pimƖO|imƖO|imƖO|imƖO|imƖO|im}q¶>𭻏[w|+n[u=S[u=S[u=S[u=S[u=S[u=S[u=S[u=q¶{᥷S[u=S[u=P)6{Kn4{KoGasهO^f|2D-ż24Sn|0-[jV V Im [aMmO+m$ߦF#8|2g\OA6'q>G5OM[k&b'[oxa+nVd-' w۸ im[ q>b|2eMmO!m'&Qmq>vL ۸ VcKm9. ۸ Vb'q>mO+n|1[w۸ B۲e]dż0[w-d-'!I \OEm5w[oɢ|2 q>m[ q>b욷ż2<%mN]e 6mqo M`[opdVb욻-|2[\[!Sm>4[\O+mq>Zm-ᇄ`[]ew-O+kx 6V|0-ż0 -EY= ᆓn xB]@0늻Ɠn xثWbZ6(jxomG+mxb(v*UثT]AmPUثu88BӪq v*UثWb]xbo5xbo;k6(v*UثWbUثUG)郄!*Uomv([xbwPUت#PNaWbP` v*Wb]v*UثWbZuNKm⮡]Cu*U8qWP⮡]CLx|ۡ]Cu*U8qWP⮡]CLx|ۡZ<>Km⮡]Cu1[u*N縞g^BݑLi] Wa1v-]a1vE]v* Z +*U@vWdUثXxWbd]%o*Wb]Vo"­a*E]v*UثWb]v**Kx8J"]]*UثvE]v*UثvE] %Uv*UU.+Wb]v***UV Oyv*UثY>ثWb]w_^5GqmG+n<1[km|G4wmG[hLR pI\TPTaAcmV imU#۸ Vxb#qKn<0-mG+m;aMTal 4T<2,mG+n<1[w۸ Vxb# -# -#qmG+n<0EEحTaVxdX۸ Vxb#qimGqimGqmG+n<1[w۸ Vxb#qKn<0-mG[wmG[wmG+n<1[wᆖx`[w۸ Vxb#qmG+n<1[w۸ VxbAVxdX۸ 4m#"#qdcn<1[w۸ 4»{_^,5 -+n-4+n\N+mm=pƖpm=[w|im54) 8{M4۸{۸{Kn۸{+mqqL(Ym=[w|Vpm=[w|Vpm=[w|V[w|Vpm=[w|Vqm'|=E+n۸{۸{+n۸{Kmq8-=[w|Vpm=pm=[w|V[w|VpƖ[w|V[w|im'&+n۸mO+j)SkRp›w|V,6+n۸{Kn۸{t~p+F+mb Vbm@\Zuq1!Wuȡ>@Pa0![|2+n|1[jH7dVb'|1[k]bjJ'[ Vb'q>CXޘZ vp|2 "C0*[w۸ V|1[kbkbk|1Eb)]bw۸ VbX C|OEmO+n|1[kƖ%RȢb|1Em'[[\M7Wo*pp_dQmPd dbO|1*[wR'q>mn)v*'q>mO+n|1[wR'q>mro|# ۸ VxbmqC\G)qmG+n<1[w۸ Vx`!mW[w[w۸ V`郅Z<2Kn<1[w۸ Vxb V q)6#[n\W$lxb#qmG+n<1[w-dxB۸ ۸ Vxb#ءU#۸ VbV Sn<1[w۸ Vxb#qmG+n<1[w۸ Vxb#qmG+n<1[w۸ Vxb#qmv([|2+mq[lb}Mm*)6>+n۸>+n۸>+n۸>+n۸>+n۸>+naio|Sn۸>+n۸>+m4([۸>+n۸>+n۸|V xw|Vqm}[w|Vqm}[w|V[w|Vqm}[w|Vqm~(Y۸>+n۸>+n۸>+n۸>+nP)qm}[w|V%qmsvv*Z+JU8WP]v*U8C]v*UثWb.]v*UثWb];u4PJUإثWPHu4]]C!d8C+qu*RU8إ8إثWPHv)v*i$[Ą;BYr]C!إثq;u4bbƐRU8]C!إ8]C!8ҺWPJi]]C!إA9sx]A+1u4ƕҺWPcJ i]A+1u4ƖAm)]A+1u4ƕۨ0𭺃+1u4ƕҺWPcJ i]A+1u4ƕҺo  %ҺWPcJ i]A+1u4[†0R]A+1u4ƕxP K1u4ƕҺWPcJ im‹u K1u4ƕҺWPcJ i]A+1u4ƖOl<(P`WPcJ i]A+1u4ƕҺWPcJ im‹oj%ҺWPcJ5A i]A+1V|a[$w|V CZ…}&|1MmN+m+mq>|Qn\N){w|H[k|=[\EF=M¶|Qmq8-}[hQ)qn۸{+n۸{>Ip$w|VqM[\N4w| |}HMo| Sm>Ip$k6|i| m$[{+n-#›w[o( Smmpm=[w|VP۸m}0p[ m'|}Ebw|=E+n\O) $[{m|1MGxE+o3s|k!Zpnbkv*UثWbZZ´v*UثVV0.]v*UثV|1E[)oƑmoᇅ.]v*UثWb]v*UxM0xثWbbTaZ]ZZ´kj UU<+K+XUxV`V Qmbb]v*UثpvE]bkb[Kv*UتC%´"]辯ǒ# ۸ Vxb#qm$-G+l"*mG+n<1[w۸ Vxb#[]dxB<([xaMmG+n<1[w۸ Vxb#qmG+n<1=xb#qmq׶4]G]$۸ im0pkKmჄ+\Gq{x` mG+n<1[w۸ Vxb#q{x` mR# mG48Bxa[w۸ Vxb#qmG+n<1[w۸ Vxb#qG+DŽ+\GImG+n<1[w۸ Vxb#qmG+n<1[w{xdxBxdxb#qmU#q*{ 5ݕTo(%s&|Ten۸>+n[w|-})qm}[w|Vqm}[w|Vqm}[w|Vqm}[w|Vqm}[w|V{QmqȦE"w|Vqm}[l.|Qj},m>ۂ7ȭ+"XqI6|-OI+n۸| -wVוE|rTk)qm}[w|Vqm}[w|V(pDŽK&[>+mpMK>V>+n۸ⶾ.o|xJm|$qm}[w|V{J->۸>+n|=\%|m}[w|V6>#Go -[u-m'-CPKnƖC- mq8Vۡ+XqWq'pEm--۸'rTim8)m' t8im' t9*[u4im8ۨqPKnƖCヅm-[u4mw‹j &C-[kGm-#¶C-[u4t9*[u4im8ۨqPKmq-CxۡRۨqPKmq-CPKnƖC-#JC-[u4im8ۨqaVpۨqPKnƖC-#JC-[u4im8ۨq+t8im8ۨqPKoAzLBOZhGB'.I+.Z=2Q搴 r䒸G7˒J!h 9rIlGrr|npW -7mrb4HK|W-4:$ʘzd+rĻv*Uث%\zecaǡ4,R HVG4,J[DEJ+г-K*r"(\'WX慃Xy%~TثL#Vaǡ4,TeU21ZlȎj-KV0Kk mqqYثWbU~T-)_v*!+2ҕPB̵.WHSR*UتfZWPdU^R *1,inXKb2NW,]˙;v*)bJ˹J|G)q)mTc6۸[o#o)pm=[o+mb|Sm)1 mq›oHRcqO[o#qmN+k DŽ- m#[V6+mKk1k¶)->)6+mq6-F+mq6-G+mp8P` 1 |m>mq>88B\=Ipm>xbwtY$w|V`G\=|G([w|m#[ Vm#[ Vxb|Smxb#=M Qn<1[[۸{ⶻ)G(qm=[w|VG(qmR¤g'|2 [+oxdHEr[ZM2-'ۂ 1Sᓗ$[\OVwHDd`!m[""VTa% š<%&( |OE9eq8%qʖ|0i 'q>% sMe-'*M9e-'*M[{᥶{V|2T'"b61EdG4|OZom>>`<|26H sM凒-}mOXy-ecm',RmOm',Eż2%mOompo [opKmp'"w۸ Vb'q>m,E¶ᕦ|2[Kmq>2\%'"w۸ VbL OM6|=E|0&+[]-E|2Vᖢ|2۸ Vb' J۸ m')M_J}ܾVһv*UثJ*W`Wb]v*+Wb]v*UثWm]]vv*UثWm]<* Uث®]v*UثWb]v*+Wb]l<>JW`Wb]v*UثWb]l<>J ++Wb] ckmWb]vx|ثWb]vx|eL~*n"cJ.]Au* @uHƕu Z$cJ u* U1WPb]Au* U1V1Z2* i]AWPdU1WPb]Au* U1WPb]Au* U1WPb]Au* U1WPb]Au* U.uE]Au* U1WPb]Au**K1* u* U1WPb]Anj%UuK2* U1WPbmM}DE4u=S[u1PKn4imƖO|imƖ[u1PKn4{Kn44k* in41تu1qn[u=S[u=S[wim8۩-۩-ۨqS[u=S[u=S[u4{Kn4imƖC-۩-۸Kn4{KmƖKin48|[TIS[wimi[Ɩ[u1PKn-۩-[u=S[u=S[u4{Kn4{KmƖK(pm{Kn44[jV-۩-C*K)n4{KmPJxs3VK)v*UثWb]v*UثWb]jWb]v*UثV1[ov*UثWb]v*UثWb]v*Uһv4®]v*UثWb]v*UثWb]v*UثV QmbbJ*UثWbJ*UثR v*UثWb_><$n`EbxomF+mqm#{Kn|G+n1[k+mm>xb#qm QnZ<1t݊xbwt݊bk+k<1Ek6(bq|G+n<1[w\=[w|V1[k+mqmv([|G(ت#۸ QkUG)qmG+n1[k+n-+mmv(v*6#SmxcKn<1[w۸ VbG)۸ Vxb#⶿,m}[omG+kB#۸ Vxb#qmG+kB#۸ V'SowoÙ|'&u6F\##km'[ [B2KaOJ3moᕭX.(wMknɞJ'+[w۸ Vb9|2[|1[[K s[]eq>y-|26Z`ackx &U'[ V>Rmb+ mo&+ OT]eq>mo&bQk2K |2'-EmO+kx 6'q>|2Z'*Mܥ/TUyH|@1[o )j`[ok#qmV n<1[w۸ Vxb#Pxb;ku+mC\G۸ Vxb#qmG+n<1[u+mCV ثWbqn?w۸ Vxb#qmG+n<1[wxP6#qmG+n<1[wxP6#q qn<1[o <0&xb#qmG+n<1[wxP6#qmG+n<1[w۸ Vxb#qmG+n<1[w۸ Vxb#q\WG+n<1[w{}Ty>[*۸ VB1[k*۸ Vb'q>m8b'q>m8bV[|1[wۨq[kv*U'P*U V]b V[|1[u+mb>mO+n|1[wۨ|1[kv*۸ VCXt>om>b'q>b'q>mUثV Vb'UOS|0q>b*Uث|O+mb[|1[komUث|O+jadUثwϫ7]xd@1[o xbwۀ"G-WbZ<1Mm6;xbu+mCW`V Snm(v*U#ۨ<1[o AmO$:*ծ#-M]xdO$yX憸 6;v*U#m(kw۸ V† ث\G۸ V† #mG+n<1[o;#5v*U#m(v*U#mG+mCWbqmC\GtJ<2xZծ#mG+n<1[wtJ<2۸ V† qmG+oW84Z]v*Uثt8XWb[Z[Z]v*UثWb]C+qVVqVWb[Z[ƕ8Һkv*Uثt8Һkv*Ui]Cv*UثWb]v***UثVqkv*4b]nVWb]v*Uثt8ҵv*Uثt8ҵv*UثVqkv*UX>4UثWb\qK@cKmb]v)jxثWb]Z [u0xثWb]Z4(v*UثWb]v*UثWb]v*UثWb]v*UثWb-S-imPUثWb]v*UثKTƖ]v*UثWb]v*UثWb]O|o v*\7N+M ]\UثWbb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثKWb*WWTckN Zuq:]\m_W8Uؕv*UثV덫MZuqZuqZnuqWWv*UثWbb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbWuqV:ӫ֚6m4⮩]\UUثWWuF*G+N]bk+M(]|vZn:uqM:ZuF(uF*UxWb]v*UڻWbWWWTkME:mi֝\mi7\UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbb]QQ:ӫ5\kN6uN66b]v*@i1Zw,VӹbGi_ۍ;1Zk\SNz8;+NiVQӹ V\vP]-.‡Wv6bui,iX)iܱZo4^\xKN11TxQN4ii8Ӫ8Wޯ+ת1k¿hpG O|6-{. O|mx]^kN;6!7;6,miܱ{kMNN֜6/|(r֝൦ci7Zjӫ:ӫ:\mi֝\mi֝\mii֝\X˓WHӁil+K+&`E4NWkuqV|qE5_|SMUZuqZuqM:Uiiiij`H yl7ъ\;\+NqZX_ig!5|J/Ӌm\miHӑ@6|T3w2SKE;֜ . E--EӃ^4,piur6ڭ-LpjaZ] p+|pںV|qS\qM7hTkM8ӹV?|,miZӹᵦmipE7{-si~6޸Sx5ӹ,Vӹb,V|VZw#7rX;ح;+NiܱE86+J2?vMsVN*qCU­WuqWbT RqBڌw!i܆{b,SNp8Gr8;iܽ;+KI1ZuF WTxW`$bʜMqZ[؅vvV+xڭbE1 Q\3.^¸Xkpmx(qZA›paKFXզ(v65JVR*z k\m8bUjMqLڭc n:qWb"XZkiGbWܽӹ{aimqS\M;+N|SiN6#k4Gbw,VqM.,V?LlrN}`2m違4|6_\XqU"k{b\Ƕ L !䖛)fEu8mU V4k;upZQiZqHYVBQb&KUxA-F[VQ!逅.a%~.&; ;]aMAh/) JIB0^:(%PKmXH[]bUcuثWb]]kv**j UUڻv* UGSqZj|"r´.ri^հmyqX>NM03WBC;dY8m"+GL oVi4Ȥ7&@XNHl\`KUQ+XCDB)v*k]LComl0%xbi Dbɬ` QmS%ƕg&†Mz\Up aV*jv ӹb5¤* bZ"ҵ%S+6!m79tڙ–oTت녓KWb]]v*UثWb]okv*UثWb]6]v6~$?pXm}`';!_ dzJn~\rB%x]EC LHDf ʪ捀F5]E<&~$vdU%?11P_8&c) u)t]18B<&'w8KUSHpE ޠ (4`cI¼KfZm˅o}7[u)%8Yt#<6{ v?N?N)}q::#V_H[fтy¼Mp>حAZ~8Y:u OݭilJmOLxPw40+[M9KR֘T5I; ;׮"ELEj'@UlXz߫?Tju[: zAljx; v+wHž*dAOXGH- ?FB(/8?<6P`%< l74l1!}cA&$n}p苶J?h0+AĀC]Ӊ# M}4AZu^iu$x?i?MR1X`6V MO )B0oGab ckae'aL6w_K\w_KQ²}i]ܢ>Xō|֏s94Ǫ!8aoQ)1)ݠ(/>n@}P+O xjm6.#xZ;Lv^W@]M/>K Nw]7c\ %X1[ ~8- )بTa wXtq_|mHZSFe7L +0>!7WdIjZk:dii{ॠF˹?8[Ӣ[B;4 ]OyAO>8T:(2+1^| "0-w7eÏCd>'cZ#[Dc`W  )TC$Kgǣq Pa *OrVO|;1Khuw(.c6fTWҰj!\ je7#z{h-N'/j=8 GJ~Hh?j>C1N >8kͰb(vAR>H8o)ك`Vߤ8)x)x O|,Dwz4k}MTBj =@cj+!w W9K!0B+Ѻ ן6Hzqą ;sU>-$sPF~S-k6z!xA*|2Rk$T{T(a4}0XZw?llw--;NLj+º1ܮnj*ALjw#c;°{c;R2F)A-?_`>5@WnYN8WJ>l$8y"^=J[S~mA FVz7LnNN< *Dw;d.n[" y N 6۵kZ8nUaJUsH@SH'#5q$EV?@Kx l.Gh= %&C "ò7\h6$JxA!M7ڍ_c @co[!"ЌX(tS.Cs#6XVzQ9+aYq/ h4B,}`In)щ >$ ;뇟4ri@ᐏ_>"~(٩J+p`:JI6y/ 8q1+HJQDznn_oDqIgˀpD38SH_OٕcgEuŇ9,Ze 1"#O TާYrTQسHSdB q1Q3aITn+#‘ T=,MZ(2 i2KaQ ,]ǸƼ@ukuܴm ޻n-} {w[ @FJO7z?i^CV=`ERLWB&H \Ft0 +|.$;_Y)F=nԏ|Z>-\'n$ (>Kit\]QkwQBHkT1-0lqOٓ [F&Ev_Q5,7ɇڌxz5_l٪{U>8w?~6QM#݇/` [m=AZ+h3`ww%>xil6l. "o@Q`T)ˠF\8wq_ھ "cf8,S|؀ 4U8x$IQr* L `>ȧrB6Jc޾8컵h+8w=l8nM9(skq &٪s|Z2C@7˒j*a(=ql%ߑ~NF5mT%Y+ٰZ򥮜Z.#b@A&8IwaL !# ¼am]6<دN 6Xגd#װ뒫E{d>|rF I=Qf҉W`64_vEk$1ٞz=>c. 8xV W8H:cTS~c$~i*{Si];?1%k_ 4Tzx=-suꠟq(=P`Oτ|;%we -8r58SKLn:NJ`J+ <KuZhpآscH;[BN7%Wqah,:~Tó&^Dcݰ[ OA\V6Qab]E_''&_m>H h&z"X}_kv@rWZ,r,ܡ0{de8p2<,|ITӭ$Cx47v|x/LQt(hr͜MU/QlXFeV6y!DCXƛ"IㄛdTp>AƈcqSv*i, m_xd++ ?~욗zE*oKTX Tn}VJ22Y_vX1۹9GڎNHߪ>%-3х}QEM+XUk>#ekDܮЊD? yGr_o#iJ)Kt #@4Z2npS.#6D*xH('jEb?ݑٕ@eQ =̊ƭ7LxOM 8^l%/LϦGqi)"$ n4<`ƘHCޘx CEҟ,6S_?1; 4=*{Hoq*1l6[!h{SaS"BqAفkmcW[*PAh;" >"]Wbl6FTN-8±TPHu$*1Ԁ~c g )| F%Kbt5R;^6J   "6>mi䏻 A]{=1F~QNYm?_mdo 2|r$|\*&"F}J&hB Ԗ4FU )-ja^OKe|8@ä}8lWQ2Tp $L:W`2'doKL?}8lìe 1 voϏQAi.zpx4$ y"QMp'0X\#1G޻Ӕ}^!eTSDж")8#ղ ckq:a ϑZ mBxN~첷ݑVu_cķveo%ؑ aSl*pD-%e-g-) r$2%" 1 ?nXxrF$-5Hu|EqUaw]b=(פGkk8ރw|)J [CoUURFWĐ1?f%eAP!aoһ)3+ )Du+[pYF.|N%O 4#F>%1 c@*py* L_4a7wxв`O>+.%Tv*s\*ȴbeHN3UK9u!;bs-]EN$Ģc`Y+Ejd@2[ eV6[a!&?ZCw%Bdþ*l,{,cT>@YqHs.Onjso,9߃!}2w$=7܇xUELxzR (<!V)(E-B&c\_V@W\>(,A[)H~'dLxsZ ~$ϋ[ɱOH>((53jVpm2 2C..E$MEMǍxV9RX8 8Y?5=Rk9Sʭ폈z#cޔd<\!?Tܗ}^*T_!c䳌~HMqd_' %:?FxA`z^8wYk2^lj浣/3ܑ*Xaaqf\=?k' &mQ/Aśvb} 6Mp{dDHMx #9/ÉtPcN@jBH#57omF%2S~'ˈ").ej$ "֤KfqASҙG,+|İPKC/Vfd$!1Fx"uX#YRG!LP/2LH/Mӗ!>)G [˚2я xPTAToT),xH4e1>G r tnC'~G_ނ+pVgA=DžqLst*^3U3 I S1*#% - x|FDʙ *T##6hݩIT($Z{W;c⑱Cqxڛ>%6XW![ EpC5Sz"R?l|P#5'TU01%a_W(6E+8>$eާ!h |UEz2zg̎bddOU|p(6\gIOVTp-U(hxI>6q(9/%":`zwZ}&]y/'@(|kMumaRW .'!|E%gDTdr.Fb] Ǐx),tܚ}8|B@$y{/1iNI_OT(aᇌad |EۡZV3FB< px6ZH)qOtoN28H:*2;R^0ߣNLP=6m%%a#F(ہ &FV-oQP;$"jJE$_Q&lU`@VMaΔy(ZB)QTvtҤ-Սa&#:29O%O: r'j*xH6cșShENjFk;3Jr_=1,5ނH:Ď3 %W`TDz Z2Lst(UB-VP3 n<5(,O xF`v;(~ド.X{2Ve%#};˫DD^R3w줨~*ҽ>'zUgQIOINjFR98Xۣ/&d6q*ȿ># [7hcX4xM$2O{~e Ĵn-ſWv>"MZpqFر#2@,0qq#x׉ޝz->GG&8ڹ1"Z y(I&鐔-^0)*HDraQZz`3għe\eHa 8} WzOJxЊ> GkC뇈w-xz|O'z,ߦ0qqf77D=uMlau!ĕM}`4ȌɄ vAQ YDy#h7v/#Px6")0 B0 )m_}Lӏ(ݘys;od d3+$Tr&M4<|1 xtD+|N@Jָ<Ɏ+y"b`+nǐH+Z~q19a/ݠU>}2>%1A1ER[uJ\>%CVIs|Zل[mKk$gfw퉚(;*P+ӞI%3 Ec>>%2 q\ *¸xcaPh$qtr&lĹ4D-A2 WbWI{acC=hx|JlS10>G)I r~/|PZ1VIi'A;Ss19PaRpC> -f5W}]ݯN$:x.# * >%=J'㏈Cܥq(˃2p|QWĥby$Z3J}||EEm^MOq G7}U+OU5î>"Vg~#*vTa_px_W>x|O'=lx񂵌SuQMЎŊ }8SMm"@arU~z=ڲ^D'`a :k`P{Nv^d})zZFHńM#q LR?D<|2FM( nmyC{26 SHd tK ~3?ەba7-F"aq‰I n./w"e[T'1 tn',J. LWe áv@n$|iS~%o'#h`8IFNF6F{@Ô %ki!JPЊ02IWþ&hP68x9n/lx\@iאƴ:zǸ釈܇@u ZBnj 64냌2F&2p?8s %cƞ02)ޟ&hJS> P+q#GG7 I&K↔ ;13IcGP87Beʟ^)w(G%8 F OA8tX(BZ%2`B~!3dLⅦ" Wx`[lG!# G kW?=Ȧ;#ܗm0xZ#1BO>([oAcKE>$q'ggYG#yzQQ^[~)yrfk?8xQNUxH.D<rёɎ`TE?H2G\"x15@9|%A~[e[>+~#ە;_-za9c˵+FMeG\#\--RpLf$lSu^ח N@׏-zPQW&nGd9 t2aJPA|@# D[,$F$$Տ' #-LkUZ6 6aII.+7q9iǀA zt@ۏ/L5PFAl W~#x=EY ~_d<@IGt?q U~aBڵ>=Ct*O GZ`,8rKwѶHΛM d "GCQrCl1#4ծfv؈^TxJV:,e%qw"ޛ/0ÈÞWH_@ AF*F# ID, #hDZ2qk--ebH5Q 1T(B:vZɉ(B6&|EX4>5dvGONNP nnMQZrR 2ܡ~N HBq{ڌAu Xa2Z_=>(\Bzc-M~xx@3RA1Kd>P $xv~*Ӧ]Y I5`\Gbkn^|am{o[T䅑~6߾Xr6DAܜY7MVx&둆Qms__O&DA) \4'$2"GeIc)dD%u+3en6>J×L|`9QB5"2G#eSȶ C9d2Z(|nKW(.% 52'{IѴY)$; <\U|MOKY又JpRkIb.H= xٌ\׬@ o7ȷxeF;9.+G(so${#dx@VoQY/;w-뉚x kVl2n>L,r& q$ls֝Mr;e2xbx׉|(֙!63e@Mz)&K!ˉwnj-TPD ծY)&ӹV`D3Œ{7jLM4z23*70MkKķ E'* XӦ ߊ0y# [4ZT9ƙ0nH-:ӏ),oJVt' Q2D5-xh@WnvQ]S$| NW­2= 5Ǜ@ð%[y Ŧ5!`xM %{NJK)@~8!GQFqȲFc4(r䇚XY*6-sPG&-)Q _$c?gӥ~YG#.yn[qWVԼפyUɹ֞_ыaR[iLӂsLAOՆ]͔Ct{T$lf\he0)!JAR#"2 )vtM͊HUFB׏9^Ja3̑­՚x ɻ YJ 65gr8njTT"65Sܜms2١C$`LV 襍 j&:"hքrA<|EFgZBW0?OzvgLo\|DqJj%ѐonUcdL$Z}MU?1\ўWKɀFdݧP(7F~FD7FwLߎfWWtFb@<ՑPK`AJV`&1I bvr;rSU$9IDreOP1Z~ ԍhnAAz`!AU} CX(ځA2:l<+e|lH6=`xu7,o F~)fm P> h6W8J (.6GXB1>gZx7oN>#12pu?njB5)hd6!QIĦ"Cmk Inj9%7־^xˈ/+ #0bZDƬx{ '<pYEoGĨ@O!mUSHhcG&jlWir+c |@ &C .>?T@ ;s4}>RvZej^w{[hK~~ڟ_cف%iG G_ /?$4iL<'|xOL0 !|+%P鰮a`nsCOÔNJb|_^ǚu)5R̾^O\Z^+KJVV1ˈ rbνgrg^S|:3Mh$qpPfk>1;&gS''u\yqSg|m^u\FK#dABw05€ZG r_\Cm4{*$Y6_ a#-GvOk$pj:indUX3r6Ó/lqC_mQ#4+}yT}?4b;ף.̝@2UCZ#n#Ym`V+!1ehoB{rSۦ>#gVU"Fcⵘ)xx>"lP9$8QtRt}+Z$z$f#V#' %;+xe?чEȣ^~@Jޝ>#)C/`F!ޣKZx-3QH8Sbr1#.290? &TUv8! c v9#>v@l^clxq)Ӷ s)n/ҙd7[5x+9i1 ĿO>:-M 8aBog˜xHP|x.7zL>_,|Z^ {8jkhngYei)MsT-h"I.wќga}'ui;>=cGcȕHFbh>ȯm93OS*VE=0C'!矑J~N~eREy7@VT-1}7Qm%DgL]N K>BJE9iJ42-6=q&z[VF@ljg+w\">nj"%b)|PTyQCc(R{R(tK2{Iv#8 -.+k j>eO0CQhdTc1 !I\|@Xxk[y!p@(B=x0Dlr*qqz1;lжtc'6 m<2'1 r[CZ폈rj&A^Bhaf0q[aE"a 08"TO߄f%VzlcHs Mn~*od2i?1m 1=ڥJIBH>9)N##G20ωwiZ~>=ƾ1AJmFBu0N},eߤBNW/€TH.\!Mi%B88mU+ bه/5r0OT{foヌ&43 ~N>|pqqk4W͙8My{q٨~UԼ*X%sM۟}lrrGq~?1~__DƝt&$9%\G}PvHÈ+̼bGW㗛Mahݿ,8FsA$ˎN|1IG~[V?~~sh&Ij5T Dq?]º+yGE.At*Yк̠ #>۽>wb9#z\$l%汯j>k;k%q:i i]2d)%q5}S0A+nB$e麭$6VzlgofSInd =|6F"tU =px#wzl6um8Qǡ*88M#,޸B{uoAimNDĈ?rݮGԆ|36q4c_&aM3铍уߌʑ@`Xlg6 UknѨZ *zo:lqKG?p0QD^[}u\J:mOP]%d2꧓)a~(Ay# 7S p,$(D*:F__?/KiYo65K]B(#MB+H$Uۚ+r$)rb }=ë19_;a^HXj俖=ųE^Y\OSQ jX'lj;dp;C,1y'柙#1uO/7Gm%%Y౲E ,ǻ4/i{_&\$àIWG@x׌;?1׌8|^ $kFbf\]a}JeJf?8XO64K I@w4"v @SN.meWpcei]m됑(kh4JăLkv !5H}ċznZĉnO5O,K.!rbe,R:LJ-+\&Lciu;V"^6j% 2SoiH'e"!\A:,n٭-xPĶ(<1+mq2dng4ɢKr6sqĎ3Lc1HWF" qEs))`! wmBOELY8O~qhlJګUG*RGTeva@q@հO Mzb$Yb|m~X-6=%w&"d\@)@蘡  Gj퇈B%Ra! $$Sқ%GZSm x~*3E^ka( "abPL %#{-K|MJF [)?88(÷[VHeWݱb(ņ,tQM&s!KX_{  I M{df"+oQ(8r$Gob@'cȟeZ剤*tޜ ,L6[2odi# 6njr+M>{6me#" 49  r|H'w9 'J&"7(@8!/6KJmx$pGLWsTV 4|N2{jdȓKAaDdcđ)h`}8$lJdTpƽ鐔 }yJxq6VLk qN^ђN߇Ȝu'2-'B~&dmB V-*6.6 mdt~{9S͌,۱[Ȏ%'91D F7?~4ˈ58?dd !QET|XNjdf.kC^2'_ED+mLev=9XR iEĭw *a`DG YM2vȊ΀FG`z)"Tك(4FH F[E ! p&({iDT1l×FmAw O2 .9? A=yuK{)/oW R>`ө7Fw:O^}?$ɻxʫ3Pπ|z^3PcV<7 yx n;P$\Ύb36r(;_+;;l 3p;3P3K/1G}ٗ͟1=|#HD1!2j'~'?; 9xH{o#pLo`P6w>铀_ whț%~~K2I(g9gwm8ٷQ @ЦȏAggV^^_pGL_շ( :먐%?1?S>OsPEzT'go}+ #R?aܵ./\ R=E} ~~ 5g|g`;8q-|t:|}@ΓO>9T{3?C__]yyկv}߿7k}) @) @1JV+ٟ$S8ZVѸi܈$IKyd7f_wſ__?ow?S?C?Tu_u pGo{ۜA8= ¨/Cwm8RߝPF#i {-wzttTawVqPias¹Hޛ<0R1`;wo||̟#WbcO5]xq;;ϩj9(]{zly2W}W͏?P]ɔ,/q`c8CA_]3#8G݄<ǔ:Wt=wmf 3P R-g;w] ekk3?3HH1p/4GG}zr4oP~^; fM6V?_~o?wHkp9(|zh)UVpGrt+*>gpGn$,r| '1p VsҸ9se>i`tc?ǭ.H}r__̨; }1+͙-]@97fd+{kWu1Rk׮BN H  J"f>W0HTHOC%czH;@H7?WHL{p]ڽM. ,Cr#؃>HXD?'{]+y*u 3|fy>R[T"vGriwq2_)p ukw.{Y#v,?Heos*^跦z?qS ^O3  { B &gEs/ӏ_E7J[9K7e7^oovǼu}{1yN㷼-IT@!w}7~#)U[g<XH!<'7c BCd8+_e_?Ǭ#IVqN׽_I r;;+/$O%BFE0b^ҹ/rbU/ N}}m1oS W33絯+z`smQ RG. (D)s##URbb'C]ַ?^3Au SkqX xgx!9w|wݑOITHE]t{LKW@\r)ZVQO??glq,qsupNȘ_K750/Ef*}o;uMq).(WMED/|^keGƋ1O֐zk;K r~HU*/Bݑ@Lq%?']L1/?3PJS4rbzg?.+WX[wЇ>4 tAw*xEq('@@ +s*2.G" iC7a^GpmZ#z"*r972ZEzcrSDDIpV5< p2zR2n~g`39xnr[yWqsⴿ˿Xw_d[d 9o ;.욧/F;~w}Wx8  ͣ\pnsBLBwt"OVJc+X' Lya#H~BS 9 9 ۢ, DURZW!Gw8l^ k:R srnt'tUHu8:̝w$br?Mo[ Z5ʯ plE'A<1yuf0KB)=ţy;Qd[=G+x􎰺,X{9֘J)њۻ#w/Li‡Dwho(|/ o(а_k)2o2$#".t_qC-#G7Cq6NBIJ^1~ -.Y7 QG0KgE(I[ &6]-}E6;R8?64+wZ4=NerBqkboc/&nyWiupiB8m;Qe`SO=b:zH@ B A>"D38ُX܎%?|d\/yD's9O?;"90ܩ09HHA |/r=8=q@E:'Z|En=8Vn:-p >b L7EqǷ҅ ,T#W8. q/'tr M)rlE3hk9H@Ld#*!gf!/ a.]|xm>z'yJsyoW^QOJy3 A2"R -RPQ"zrرM ;mf'*N&9k=N’Ⰵy)lHF$rREԏL.!!S qEq>rNW\xr_A2s?qsrɥ93ji'_wqgS{\>B;)vܨ8oýx$\I[vy[.6=g VS__( wPʻ݋A#8؊؝m(|HHg&;DIdG0<"Yߎ;!\3fBlEЉEwBカfǘM.$da;8/rB;YN8+FT*Iج 0.tP;{kL䤼SNH?4F\ qk6_5Wa2pk2cb`܂@MSEhzW R?;([66aE,VPtt^9cN"n0qw ^Tw4Np8KB,h{ r~q4TN:I6g.r ɨxK8ىHg8A9oV.Iq`/3x}퀗x8P!.:.Z \שbҜ-SW5tĎ_{\7n #=zn/( wP;lpg;b:A,bt2 2' 9o 脗;SN8{Q(Bd;TBj Jg9yU}w6)n s,Dnʝ ]ȝ~n [@|[sE;X\+.4(Wq+t[>yk+yJ)Ÿl]io;+~+sCNлD}wGt6'StvA7op^t33 MJ!y8 v,tw^ 곘gu|tϫ0ϯobg/A)Qys!/H}H_yKa= `v.L\{Y~r^(K9(g=OMc9?|ċ7_Z9{Q̻ yw`~tD(g;=3n-Em O(,޽O0#Bq*`㛯g9?dͺ6=9?yo{-T@9xQR>-o:'?/> b/R\z8A̿ÿ2@Fz^_ߑ4ʀΨ@1ZL{  ǻf܅x_=w-Ǘ3PGg^ *hnӵB4#]C)ﱜ(9?P'Lw2?;`Y#]llp@o~;o{sX\ҋfwMݙ_^Wrn5 }>Ab#\Ëtv/@ V6 S? S ijFXGvy (y!/)S@9/jJ)~X\ßq²F"`'O:UhĴPB#"o9xE"(}7^r^xQRdon/?N@d,v{[ReHy@v-AuSu_|y0zrM;$ ,'o~g6+gPO93Ho{oyv~QO7~w*rR۾/c;Q|Gwrk3pgoJD ^7}Uz_g'x?Kw'_Ug#yc~gn| _R[rxaО)d7pGV{z&ip~Ο)ⴜ|3P@9 r^.˳遏 /z^+.gr>&g$o2̟9P_T9 3RGIm~U|oa 3P |ToT ?.{>w?~ӫoV|9 3p3ѓV wg#)Жr(g;8=)7v>@Y|V ;tS3P@9%)L/&KLruO3%^@93Q*<yQLEzzr7y38_ʯ3P@9(InF0)B$*_GPr^3ʖ_2oA |׿D9r(g%WH^PZ/"*OZ@9/xJygxH\|ڄiWY^2^(g%W!\b?!~&S< ܛr/=ϟ;O&_(g R<\7랝8ܖ/5LzҢњ,Lf[xO_̹3P@9wx^vR5wL:~C?W\^8hxS^-Ҋ4yMwx*^I^yhžԼڢWkxICw4xGe] Yfj{ՆW{Uhǚy)xdxűW+68=Ñ:ZD=ęW* ޞ]K+ t փf1RZWxRfhO 36=\; .8y\+}ۿiI|c-0NiT4 ,it!r$`HLx]o #";ޞ"oA&0;<,V#3a)wu;xhOP+0I91{=m.ag~k298t\T;esdyO'%/_i%11k9]FmٛUH_d_49XgV`:ǜ񠘖)0應g}۾./zݻt}㦔?gg\!S>}ӫnM/28G`cϿGK!\n M>ݠY'(wt Q%qX'qVQZYH0QAG?d⏇z"! *`=~at`8}? upau>!v4OS? "\Tof3;,Slxv‘tNJht撟s2IQj]9t/]l{qVG!0H8Fb:e4GcN|ZQgdGOX~R8~8']-0C_i6ivs GCT4ѵxL&ͮ u8@_g:CXS0ԨY k"F06>.]eXC&_a4GZ<. TZXLʑA(`Mrm-Ր5ƃp;`oKuyA5i-Țl} cXsN/X;e'6B{Mw<&)€q/ӂ> bv"wcLWj/z(Pt4YՃ0x6> & 183u9f-76F;V|4''>Pߪ6)Wa~䤅 mč<\]֘19bB_at{esy~1y1]aVr"X-~0E<_BRፆniE&S1FgpHj\p0h._sH  ԚZ /&u;IǡI.-F3XXj8Rs_z'#.&uh $7_xSS]BĖ5QT/ U֘Ó-`#g  pˆ*w 6*DE4>hCm F6+3_5`O7a{jBA}unN؀ !t$LL+0Y>?rX4|9GdGvwkې5^kR jTämY2~9} oȞ pp< yXj=I#+j2BLxa—0U0L"alY* Tg!ToqwY5daw"in>ӛUBl_m<OB=5&2pӿ~&1'9zЍrrS9uu'gtØ1܇od-MN7WJyq \M?~מEV̟&`=i;sԸs͓NLJEcg! RstX $aiQr,$U XÎ&96jƂЄ:5b$cZ5Ռpjhp(kjVS݈ 'ڔ i 8+Y@r]-< 8Vg`lT7 BELc͓@ji1tȊv8Zhq)sjq'-ȋr4BUsk(FC;zL{H{l8bʬ]#y*ld jjz9rfzfOO ̨rճ$& 3<׶7BVNMasqrN6ezQ hh2{ׄ& 2}8rל$fB@r/_%q6O`IyW^'W,T./N.zb m1yu r]]j9۠ )@2ou[̓nۗ &RBdp"3eUxqE&@ 뗼2 (Y1G.)YWPw!ؿ_JHa^D1ԭSƦWmz`A|۹Cb Wx͊e^X׉-pWCp[wڱ*3:#7|a5 r<ʏUj5; 9vP5WBMrZ愂m’y%L(ڱh T*91J@j5v^ˉXDdց$s/ӞP] |]#+"y| <}ޫvO]O VV@F1Q|ͻ:Z5?f3g5a8?<pf>jCQHWD6j^p+I{D_&i,˅ea<vԮ0Ƃb>! {=Yz[XYj0[%ΒU0A;юFŝ &j67k2ZOeE0[o<')zpc֜L}Zb{]f w:l IH<]DY s5耲zL5YD @XoEtY_u B DPʢ̙GEyj4fYQp>N4 RBA!F4HSJA5{j:H)QM ٓ)c;_yi)]0w(yT@tYCټIK> $<+P,) y08oLyW/=$QFIyUHk<_ .زlq~ 璊,@#'U3d^zZ[iGn,ftRu@2H/hq;}Жb_qJ᮰ey4/27ƹWͼu,fc[ծFHfٶD[-HYF,Os2?__>s;Ja}'̓d؆~۽F?ՓּϿ=ݻߓ,P. $M1o.u՜PB[MhVl~16x a+xsx_g{Q+i%"-Lt#HrQy]}) H("OlGǥ-i8AI07Ҳvww# )eϥګJcUl_# CpEfFSxCBB毬1NooG7AL`X#CW%rnaiL;w2Ud됱V&3 BBV3xS/zͦW',}p6dGY^oIѡ{}&]5T& w"(3FkuR޶ $%d:XY-"I]*Dqu jdy>587«.h1~(gA#j(@)Cnzt.0&p5A \Jlޟ՜G?\5|"5(WQ2"@26PT^~?z(ᬽ0}mpz08+`s m5wHٕ'W6MI^O^P١[X9)^ʧf ƪ$ƖƱd ? ux t]|P fGW``2 U;s._=EdV򰿳`Z:-1y6X>WZ~|9.yW.zD;;< `0ԑlڅE%f|$ w<4H=$0+RqLG8h$UJ N~wr\q' ֐;;)dׅ5oזb!zb~=ZrCFht%.ʃa%QH^{f/O ׇ)I YDP\Zm=$?8wpJb֬Z%6Sdr(q:S%zx`(=61>5LC: u lT0qtԯgTh^njR CY]Я{6S{oTXNZ>1W",N{t8;Qv)˛9`N߉b a$V ,9&-p \IE >1қr_}^IuIXdy;:c|Uj3 $Ts !Q4q"bvuaRmg,[̒F6>Niu5,%&qVO4*K9;`TDlqLX?naui5YmUFw8 @JJKY}!-TlbEѱMBVYZ$3J6W)Ҳ ;:iyRJ^N^6T&9&7C, +8QVYT`Պ"edf[4Ut8L'Rq%f8)(4N*QeeA5Wj%4zlҨD@`Ӓ"L8 2VSY*Ԟ´:&Y&mۉsUZ:Ye4yZ͕8< A,7;RӅ,kp33WVjdxh txIlq37eٮbaG&,Yw.ciJaYra3ʁ%Zz\Q6S]-:q:(*sOe+Jل9a16)NBZ,ϳZ++(43]`'$t#מ$=da\Y^ϖYRd,<cUØT eI! &'h:Y=eQ2+kIK%$搧ܩM&)ZJ%kK3A٦S>{Яj^XNڧ]e6{] JȚKi4PYieH=a2oJ2q[#FƁA\V&AA=?#T\hn}*xa?k۩`bW^ըkHX^M*t08&aM baL /!$scsyv;AB0p3>s$b ,8`<5TQk\Um',' +O|>!-]W"{69|H5:;꽄gN*q h>[n}_pC+; x?u6+ 9./l$Hv}o[u~%}0/yÁ< Eoy9.\؋{W2^^̷MjyeXj'xOryXN0Iͧ=An-V#W·%Ơ7-z=4eJ/xF/WȻVPS j)PncXf_ȇ3̸Ĥ]hP+klvͻBNHl2JD#LFw?< &FH<NJa5wr.>vjN\MfN0Q5V&&5'Q/.i-꣐U5ʃaEKW5@Os^X8^3,a8meKzֵlqix#2kZ}3aEXHz:8d!S"A&'Klas&ِG3*$Bĵ/mdgL,EǚkVi?M+I-]=l< Va4q^?IMǿN74'!d<>}=Y 3_L7f,]Îs z2#›ʙ{d'FZ3\3aǖ&a%$BHYLH{ vsH ,^"k%yda)YZM,Nj$ QL ~UidY4C ;)t42v3tp rm0JƣRMi we yy2'h N2%6Jё6HklV;9uozxlD .Ja=gzd6;ɉ `$9Oo׮I*kc6\?/ntKNcQ &,yXN/rYҋ,1fQ1R,[L.?ҏ,J"y!"ɚ+QՏC3yU 9㭸sv dQDn`7Ƈ: g bh"w'h#INQ;9lBB>r"ML=k, jw%QDر1b4ĔINV,4ݣxG Qf\:>Kn?n7$9@| Qkau; 984f!KA)z)BEn\hq?{.:FMg6=g1:"_ E j❽qw-Fr/1*(3x:JxԀ7bdF9z!t)_**b]ߊ6 '#Κ:_!G"Q-0o|fPQ8gIB7,HU[eʝq(QF7ˍَq%lBbN7!rqxQ~Li\jSĉ6FȰQN>Y<F0S 1axm_DTIi`l{TS;<ӡvLaBV0%d-4 ⍢p0 SCŃ#/8FT6"t( X &ɩ 縕ShuCe^ 3NGxpDKsgrإJntvu&V[X@N[Ak}i)nQjd£c3KvLv*lrkm l Ջ )mK./E+ZRz& rz\kcIG˭h|X_HMY3L&)Rp4$EOhLZ]6#("ȆnHOhT\!A&ʠO7!V''JU"%)%(&&ʩ?u*a9 84RZࢊpMu4 Ű 5ftC[li Ο 8ą6 0Ef]Zx\ЪE[aOɈ4ԕH[B[6|1L`:npJ)ʕW/ᆧUFMԽG;pΐ M̈́cQp܉/{jfjpGݬhOT=T-/E;U% !A5 JEp*K|H!w4)7>UӠrvw{16(PE>PD mϘCٳX۲. AL@m _Prh1Ml^*C= Htݠފ;I; "56586j0­xZH>OGATZ;:Dg^G Z!Q*/ǓۅqBխb8m)O?uT6Atm7XZ^`|bY?|чi. zX9<ڨtvЇdžbTmxDɂˣ(\^7ւkUi g^x\- y=`.4B0QvةbQB:)bPVvpr/THCA% mQ*M*s%1,h`-_9CHIds:,kUfB TJ-,_zD~C23ban 5b\J8V+wQd5%y@3m]AT,GUwp#*wjKд-,㪐$!+S+⺢:p:ٚakTOnJ0Xg7AAs03Y4$#>j͈$3oACϞ л kgM"^E0W~#5>DkDrw5.!@ Q6 pl+6!*\m.:FK ]2 z Q!ȌүGt<KQcSJI؃ZkNqD]ܢCj'g [EţrsbjiPzr_XV%'z^&Iv.. b_hdr4Ӏ r" ]`z}#kSA0 == <> [f]NE-Y"2x.;f@/>,!c@@އ[!=i(9 8R9$RMIe= q%l#=NclE[IE1UqD〺3^Q*?bBm5ƍfp½}/Av)oGR>Cl )C!V5Sf4PoU}H" k1#IzDj2 *,}* QAd~heQlK1uX63o7j\}*!Єx%L!_X1\)\APuXNbbTUpUĿ:}Lb!4ZcB鹿t(Ly{"^ &:+N,a~Cb qlm, @(, $Z2G~rvĪ"qs`o#(eБ dG툪gN"" bO6gW'jA{Q>iD׮.g$' ӐZ_(fke0LϤ ]qAK+nS3s5]㈰?9ȥjnWa툔T|b37 )8FUdpz.;~xkqBF] _'W ٥g!bT"8PbDS:!PE̕(310V631WG M {uX;%0u 3X $Y̺^A>#?`7KW3PxׯJ"Y"1="uź[Z CNY;XB.1,ꥥ`}QJmU7Gޑ]s(Ŷh#r> e<Ն#8]2&шxK+"fppzLv/ DO4 T;"Uj]k#qƅk vR^^ btԷ,Z!sBr>-+~ߐ|.:'BC䆪\ĤR)V GQ`S2ƠhșiH&kې"U0va)wdAEf}_^%H:Ѿ6gTU ~-J!eXG2%Wr';CC*tf%$$'K"=M.bzԴ$Oa5j㺷Mneι~ [*Nues&bKÍ?`&UVx_I҇lqNHd^=LGYso]DS>Tj?8)=5!` -V0KX<x+4=z^ dY(N!؈$ +Q;""> @J#uC#q` X{&CrԖ-y! KobG<sE"ԇ7Ȝ? UN#@z;!GpH?b+X&bU:C\#/5 I ՙ#f@&ݸxB*8EM=Vd#8Zk~CVhKnj ;AW%$lvpXALO @0#.ƒJo%֮>RC 1GZz/zȚCĐ*0 %u>HRq*12)c`T=%N#*:*L?F%P9c0|C쁹w}F  momyJ]z`6ŚC+RuR5x]hC׽s8+? aAdʸ.@fIiYou;~Kr # $sNf#yGLW/p萵WqBB\#8# J^r >:ĦR ۓL3Fh$k OИ >U[Oy@*T9Y?%SDA[iR|6 K48`4z{[t. n ŷdA#B`턤I̦dtќoL߀Uic{W!CS> 1|R@+oH2@CRw <$ oe;i&)ƿJgю\W#ng|{I5 {ʯ]wL! ZbH{x{0:j tŻ|]\!Ʀ(!E;UdA 5j!5fZ A&r˲бp AqJWΠ!q_"P|A#r .OwÈʬb42FtCw2DR%F6Pwڢ\wDvTdL` \Ƅ,G,w*,ws9-8(55I:S .6V`7-ĖڦBSBb#CT;ˑ°@9 A Oh=V@{ QX`aqQzY6jz?r<;8GzAײkm-gf4 eMΖUwR2G<CMadc3JdI\,sT2Hcۋ u1;:,6D0Wػ"d1`/].]@{KuwU+Y=8Zu*:Wذ!QXZzg՞ΜBjU$]V$\yJ$Gۺ4r# i<%V& I1ͼ%zq6}qaou&bi@\T}9YWvE&Gb@9|mxBl){F q+E82eeMijKKɤW*qW*N>,-62Ii8K!vկh@" #_?Sw meIO4"%I͑t3640ES;b KV.`{-8 R_3",fU(WE'|%ؐ+i+ri*@i6T lxdPs%ݵ'Ž4똃FRncs]Ҟ$؉ @xCdFGڛ{eJ=X) ujf.X3[A_eZa,a@m#ՉX2s< %@' =&J[BG &QNUj WpH& *C^`Hf4R* MdB{ S=olL!Иit % w cm;{^V$"RFX(/-~몋(r, .{3Fia_--IXi=JE{!ʕR7)gϭ˺ņVs+얅3ˎ`-(*Bm@X eU&l ",wL$8LdEBҔ#@8mԃ`,xp9u~Cl9MM .:񢀶g'^_ Xàd^yHjX`>Q3 Opzk$%5f`,ad^w 1%_ޙB9wc ʛ  Cٺu b d}e~ԏAd2TbJk" cNZ%דdsQ|#( y^b |`^9;G8}IoKI+\Yh y*b#Kǁe9XN oi& '9MAV/ZcH@Y=HIW:!c==WDm¡uU9wLw-}?q?1J,6U%{}!0KK=go_zbsuF(N[8*uG~EQ?e 7ۊn2JUEaLjfby^*ѠJޯR"6˱!/XRY?05vR]L]4fu@Ǟ=01#f5^3I +fD8"׏_N"c 1b4eմI:? [XT0wo*ĺ(LD?u8!p]nD(ppkPf.# rW;6zm:ϕM9o h#@B 1Tmz=BF`Znyه!D(w$zn%$H35ZfBXg؍BmFCz-8&ƍ+B ]n{;ARx(<k @ȩ돓'**]@m֢ܵږw@½52L(d&yI+cX(O\uˏAT7f[ zeY^˃h67+Pz>It2 )#k 'T>c)󦾿-ˎW !K^!!n ~p6V j2YP'|Kza°g~Ь<\:isC{ j>a8"by"GEz!&̈cE&Д@kއSB3idqmXZI+5heEHI8m kfŰ:z*G+;9FpdYZ޳60A*j~44)T\cmTD@0L$U 㑳C>bز 0M³,]`#)YF`,nl$C_/9ф$;_FU7"C9')D K*d(ۆ m+@P Tzbґh(Nvۡo hu~/(o6;3;t-0b]Y-R!=Q<}, ѡu2 ebjr"բ`EA7g<]E<,:9ΡUa_2[ ͍AJfap~Y.Lmǧ/zWsGf08 dO ] ⷆ6`csB\ ,wٿ&( x`7G$8{$UnN'hqjdZ\wY{H6 y4_;#TſDlnZaZ})/Wo㴢)9z3d+D1U+A ybH^$T7 WֽEd"Q.:58qtĀqi,f兲MDDz<6ۧf^Wv9s5Dk/&LFIXunq\Rm|~!οȶR./ί^884󍲟QFG069[a-oؐI)a=Kݓj62NZˢx {[;b&h~%cK;i@B@uYR\̿XPŽ>>1gX7 `}X^vox#ikfYD#ȴ#fB,{+Z֯JpgKZ]xu11Yء E,Hc$@5rI4kʰ=3$&q]-md ބ6$\@;1`G\u_躖["}CNGг-Hٴ wIjDѺqulNi-km/{Ws 4@u$yiej'ʲu-P ̇'[~bH+JQ!0-e#$S ;ޓJsׯK3Ꙉ  *U#B c(k^\HV)*-! <*҂BO=]L0 NCW,lNKwɶp5S=)$ 3\Bl# ڼjۣؿaS,@]JeIG7d_&Pm*"bn, GH'`90)~4Gw4;s=H="+K.m'V@<OdDf)_0"M*EԚ!qă~$ ֌HԤ[[VKt[}5pF4=byE4߂5CiiSYg{F &n=iغ5W|\X\}Gql@` @8~d_W8a\ A?NbZXo;G321lyOq0:l ^JNYl%irWY"D7@x)|/^{{$bLG$X`DACN YH:̈́Om)Gp?|Xq6.qѮ0 4 +ƆV?iBBHd"o C] o ,z\"1 u19 fb`c DRڥc'恷uͤZ; ;]pAM]W/ TE@'axKԀ ړ A3ElJfWېM 6F +8qb P*AW` .t!-B[L/BdSx7Hlk`&+ #yQTݢBOO硎fB_t^ ׻zQ:RMp$^s\qyKiyXiLblOjP).0ܱl(6 yT&)x)[< 2y<&2;=d#B1"sYfa8X@%9 pQf]MUQb?O0@@lHdPx1\%Bh+\MnsURNEH ̇=rv6T`sH=ƾC\BOނ "WkJ-#ҽ1"cX@&' eAUq)ʌtcX[$|uFKJ:(yI2Cl9L23Iyy;% Ch"~<5:sdpH2]O>tXv5Iq' *>%l9\Ӂ૱灡#9>/#sbL[c&B oLϡv/?Bk`;a&M2?(nhf0T3Ox3Xi"!Ld\#ǂkQW J,qfB29EVe͛h %/H>(gBx$2P1:@ƪ¼X.2g Ԉჳ0'gaVX 4I]9h6\RgsˉG UNUY]paN`f҄5QC\5t,>exq]J9l؋ _NT J+FE~o-o}ćYNl5O^8tpOiAg 9/RĐil~v,i_J ŴT lm6- 7.iŧ` gtjud[iM_yD %D*e+a+Pzm] aN5a㘫a)Eqm'#?3M(R]8_a#^(hS+WC$Ha"iKpԘ E- H.@Y1+4ʟpR t2ҍ6 {!LZ|>Y[BZNirq­-$*I5 t)zH/ G[d]zRVZJByNQw) Ie$"FRwah-Cޥ ^ YwB$T 娯iK`#|@҄{\Y(| 1{UP0XreUH..xpU?Y\ !Ύ5eC%L9:ԄVQe"m nrԫ/@JZ=ط@^P~O &H@8;`Z8ږIqنx;Ndlf[V9@<#5{fM#$B U&ӝΩ7LR8%4;lz-!xQc7Tˤ%z~J8$< " i.3ѬI9 2VZ=1pXk ? ě4{Y&yMZ]kPZp Z&ׅ:fM%ВQj tF0G~*H''9a\4@ &e\&MG_Ii>.ů@.h͇-V[kd K4Mer'T"&9@P]ӮaT,[?=v(G_:C`^A;JcC$r'#SA3c ά nW nJ=tKXQ57#ʠx,zhĀs,[[q[m 5N}3ICkIrO)DFnHKusM5#l,qyd%n7/0@*I)#/ēlPe 01r_h) 'TmzO=qb(g{^evdYxoL a44lEpc@(Je[eGe+O1 3(n{^eAj|jWu%"yRE'7It!!N!&'V!r_[̦BN%6-qϻy|&D;Rm<)Edȧ,+ңX,n@|R v3ӵ"H(A/Z0 cjrS.nF  / pi S T``)*%G qO t/>%)/wKJ=B4!c0kDD6O)b2 r9.Ω Bj(0[P RqhDhY6TjJ-bDSD2Lޡ]g 1z0H'aP>a8smT9P$Gt`'˒eɤŅɈVnj:á>ǒ&AbGZgeဎJ7bj0`䃯>P8g7RAZ># ȲBܱsQ-E@lQ,z_&lKdCy[Qi%ׯxg{Q5i |+ʄߺ,QYN"A,ZD |§eXVWtxV-N6'AxLQ03 %p6 3XPdAP)iͬء@|AET8HS`SDMX`+78=lA{%JMbJ9SuI"r"Q$4Huf3 怌8-3$z$5"^ʼᲈK1ɡ!F !R8 Q-% M $_(ÐQa2%"1V B-lU̗ţ"kW-I{:PI g侳ޅ5yBK0ѵ16LJҊw>rAHigRgrP*y>Bs:J<B2$! iBLJ~ȣj08Te6^ok[)pq˒u(&G\d!cܽJx;g\ 9(jU8WYpup"UE6Yh-gO`>ksrRK>"RCJ%?!Ub%B10g\48E)'|.mV!TLUe7v#42RQ3<޷ De)U%;E,2zB)FSigYAezv" I 3[cE^,Zߚ%0ecE֐`W@&y7idWxj<k)*s $y4O91"8v x)ӗ }.9e[dpۗـzP3b_FcNU{PL.$YTpEfX5 NyL w<X5`*ifbr6bϾ`Hz(p$zBk卜/ ⊾,0X*2;DzE94XchƠ>h<.rl'Gat1TTÒ@Il&j3@i߆!7l4OJ5kԒ(R͌mX$YU֐Ms+Le 8'š"TОa 9@lB@Q} 0-t1 )wЈn8J਱0 V-:`<.7O,Yx' ypIeSƀsDOPʋֆp gGD IPRyQS${t9mJ o]!4 fBVꊷ+幰JÈ26UrmX:ZE6jE`U NZTU9HQkuJyV ͓E3(g"W~qMr7w7ZI:¤EpI"UoZHWx@Y״8նÄd1$Ӗh`?8^0Fo,,y]\0MTIaKxh% VΆՎn=z?p' ꇌxqU->5NJt EڎP5GU3Es 0|ʁ@- &Y( K2,a52f1UwcX 0Wi@Df2?ʡ( vx,\#w|Xɟ`j,qfI4SJTDRʠ'?DҢĴ䜲g8$26岠|Tꁫ(=ɔ4]=X*9~IxQĉl}< tA =;wVu< A7&UmOJV, y-}<]MlM+jZ|je^…cṔ/HA F@[HuO^+V#5m*W(4hϝ2z^3E aM.C'\^|:"|<$~nΈKZ8(8m2?DWB r1CMJW\Kw td M`o#W-mCzs#EژmF`^u6i/v$(ygiR7$ OVmh0?o?Hh y$r!X9 c7vE+&PC(,E%N dCHoĤi8-buުFUkE+l".Ի2jRfd><~qvUF $6wyg^M3)dƪW7JkA%2J{UKJ@m"DE¬K8Fw,ζ#ȷK G'ae#g1gs"ف eLAdcL^ߥ&3mŏ0۰@d[,MRq^!yf3WoMldO*[8i@]q6 ,uzyJ}Qƫ9Eatwi,¡:#37J$"B(Zh% |N܃E)Yod/2\ 󅕲f`CP)|o@uG=tw0=!4؇A-y)+~7~ p4OV!?F@`GGd55 ʙ2c1bݢU m%wD Uz \tqewU|(l};fbஇ V#lϬt*΍@G\0Xp-L LGݒA2J"L6LDQT\~I?摃KO(h*BRzJ 7$pާwɞ–"?y{ӁmII /,EJ`&DKK9 țk[ڨ,kHrp&`s 3DK 1"|Dn mO+[LQiy{<3qX)2,e0+,eG3VogmTEH&8gk{2Iyb FQdXQި,-"lnH@^cb|w~o" 8Q H)]4 /GYߨz6& [NcP0uSJ{,mSCW \ ZbcBxkLx` 'oĝ\*A2-R2 M!w`IA(Dgeα0^#H7dOws;{'7|MGZzj2RƉD  1N}&3@5`D(bp>,_n.䝥6>Gvʈ<$⫒mK5D`D"ɲ#*qMFr yQr D. -B6 H`St M҂!{ i+MO@'r;􆥣5qFXF) ЉaS@EbSDkWa<~1ꗴVk5,|˳Qf'*`@ 鏣i)Fz ~\zSW XcqΣvRW8A'c鼩Ȍ@s^#!4ii-LYh!(q@,# đ+ ؆e[[|9[m*!C(aA{) XD`|YjфF5wX+MKεֻe8m Ri!HpUdM~ ިZany8d@g'`.>b[d[j; ϟ1qiPW3PIGX#sH̗bm -1Ap;n}- qy{g X_*AUn|H }g+*_?ҡEe.!Ǎ7^QÉQOǢ.9)(1dP}\It=$ܕHF .D{iY+E([y[-k~#>* [^<ŸXDFPHB`Kdavtc ˶ #U P@YM$fa\&|X{A² b鶩] Rn!bde W[#$UB,ٞKT?"L"rN%שIV(G"IQ?V.~U(asF.ZɽBS[y7F5RhdhgmR^Ո_._2i4 0JϚP1L7U*X/`n4Y D<+ɡę:S!Z%j4p| `{Φ|A&"s&L|ڰ~adch _ p[D6ymZh9Ȉ"ҙV""Ui:dy" NßJ< |Szˮ6υme=c}?w{S!#GǔDg7E?;`h8\Ƴ>$/:YnؘXϵ\7YӲ3IOVFu Qqg`n' 9 'bB:;xPn@L3/q 4zƝ.i',浳.'研qMM1$$") 5sA"`@,0[T1ǧ`qcRɺD^ꑜ Ů4OZIԓ@R]~L*9גNJL/,88l/JBu7'Ii%F(shaL; @B qZ2̄cX z;?SY#Ƀ'4ʁƙ@&ku>ڟߠAPvnSƎ`D Aw*k@"pЍa8zY6RXѱm8VTcS-kQ'+-]r ="]b)|*痑:֢5 $Eaf՘i"dM zQW4.<}W7MRE,xPT/f i $I*ŧ$@4+3ڒ8wt 뚧cW a6Hh / ($˥Xn mB'ICר+m<"514NAUJ,#zřL96f{&SD#L jx(Ij}PD ?C[h_ dlԪtspiYGakP41ΰredJ"6^Q~8M596,ސ$CTIiK`"YĽA`Ӑ:fˎ>Gl9z!KR,8k˞LrVPWYIj`MsNگJc z?g) bm#G)G,'9?6 G8:Ol;ӕ=/nZR-u:Jfn 4!? rA)@c${2U i̘[$y$j ŢP膝 7D5t3=lf!Jp]6_&_erwh/(<FIuS5!A#4hUhb@ʧyZyPlQٚa`k[!S]%*FA`!0M.ϱ22IAj#k8@yE<es[XIzkv:,L$&h[5m!6 --e6ɖWG!+$l 210灵CK-  nȦ,P5GV=DBU 5W0\~C`Qp~L;DC# Xݝ*b2OJU[5z0cZŕ:\I>euG:5kKICqi!NDJB%]aM,beoE' ܖg&kyA@c0BoX|.G($_#=dfB]!9^q8)L|l0@ 12-R ӤKkVizT! i?VCsx7zz}BYS\< k.ޒ68a%B `  V<_tFrF ֐Kq&胳{.ԀsF 8puer-:bBkSr\X>}eI1jl$. 0-gFqx$5 nG[~j:+Owr9@qьiǤh b*k~o3f"USLN\']0`.񉿲ӃYŲ TPzQ bch K}`e%Y g7Yg! R( ; !H쨙)]l=" f13 #'opaq4CEGLI6Rhw)Er H"Y!L@7,$/Auuvɂ*D [ղ0Q,!р$O|ce=|P0 7L,tֆjFqLm@jWl}tgt%w7)XƀyP#De,?ȱQIy u}^~jJlDIti>ϼ"']ڤ{f)bDAk6pzJZL(eT b*'ǩ]{TS| q ?^?r՟PRAЄ#fJm¬guVO&L୙%= /V3B޸uML'5n Gz 1L3rG\'\^B/PZ?UHcd FgɋӫRjkR/+Ӻֈ",2ūp8=|JL B X0ׯX&ywjo F+yRX(%X:<55 B$n.WݴPȩ3q! q!Mf$e&"t3|mz .J;Pl0q!Y*";RU9+Y43ZqR>B(M~QE&FY&ͥ )~Cf+S4oIK=W%Rc޲Ȁ!iSn<8Ds! d:$+P -)J*֘xm8\,IC.-==R {:iS :$,O8p.پlfVQYj6<' !)-`x4",A&VRlSS_<aˣHqC06L1'U()ᾖyN7bi&% >D}Ȏ_}[7iCZ T8]_<- \o-Ȍ2B3kоFuTг!IBC*JR/~H/޷FoYq_*L lW_}uFG安h1\ GvVLN< )'+rFi!OL\B`$7t%Nd*۠3+NA hD#:}vH SE^h3ĔIY!g?Bc;!G9A4g0s?TwDzۿjuHB1]s(2("da }KB0__Qj344|enH$@MHFD F ЎDEZP|FaW(oI MKظ\I'0@@9.*MBiPϋn-FyY|,Lc䷊3ADۓ}ӜXI=&u6'DĽR !U>n 3J˽ѕB 3%Wz_ʖcqW R!$,)lO$,[R,tgO3L%BB}5׽HH5R4 N sģE̔7x DM*?>城ҋw6t  c!e)|ZN>dL;$F`cpf.D3/o Ki)#H ϤP"}#9$ okURX:jZ7XF)KOy?ǃxp-*$b1OFߛ͎J=KR;ƍ1i@ ;nx F:%MVCW05 Q״F!W ~K'ذyVA"|FXYqEe=!3#$FlH"ŒHO-R~3'~zADc lX(sgC@\v:,U`u Ow}Fݽ^gt&?w/aXx"yN 8R!\q+t"Z}@x&xeŝ ڬ>1]ςO :^'P5lac0$Ef~{9l?uw_ Yh &9C_V.J+_OKK2pKAɳ=J)|v5I0G3|0,K4f+j! |<M0!&8k9` t$JpX@7ɵ޽}wxzMk,:q13i`v\X^#TeR5O5 b13""4@[G6 ≓@NeUZrmg3E'uDNHJX N2ge۳''sbpwf{YFI|_pܑc٣ޙ$ښUZfWmWuoT 0!8-q6EШJDA46'b)Dt y/jՃV Qs.v/8p"J[0) 4j~!'Pu=_z &FSm-~1/X/J@IPTV$͒Z Şܒؙwɢŵ`„KQ/FԞ-``mXҘ 98H h Vq|.O/.ͅ4AC>p|y_ c X)=QnMR@/j?sZ̔hў"#'=JVuwhD+pA4rzT)얄iL0pa%%ٺ}L bȐ2iJXJU.za3Bՙ|(!@׈bЕYspxSJ;,x70P+IV:*]u R=_P^#50TO:a\z2Bq%NDhICEIPhq7)9KyK+j=Sȧ3|p4,;@Y D,dИZl,g}*U ԞGdʐB(nUtQ<[is2iȹTr#NŐ< @o.2@2;=X "zS+Il4"^1<݀ZT*N0Yg+g`WDI22#{dփǐ] N8`惭wʝ(?uI;%[/]**xT?5ғ@0Q}8M,m}\Ig)#hfd" 6Q"< 25n0Wxt:>WYm1U#Ä:YN${X|R*f]̉nEL{O`I뼔ljvϳŇʓaLe qGO ,C#D]ѴyM !"PD'PKPr%_hch;"`:nH=\~0!0UpdVZq ؽ*Mb}}Q|WC%lXcN2T{"X@i  DyǸn<(cJg0GO}-CEF'YK:}$Zv!}RI UP]w漯#C\e۬j4>(nyo~!}ao+흜,"D5 |Y9CLaOI}*͑ ٲ/h&iuϊ"jk밨<4W9i(( X^ *AL@C{,ğL)r" VDҤPrGig$-<zX'4v2fRJylyzf #\T."`4n!$ً%T!a2aPP{IUHE$8Z(*gPMkoSh|d6AB[JPòkKBU[J\df |?|/yN37d:@Jp͉0)ώO.� ҇fp25$$*[/1f=S*wm 04'H4J̍ Njki&I55\EU 6JρQAVXi3`aSÀ{ŸАքT1g 4)ҡ4٢@zɮ rRiE⨏IG$U8{G1"~\(&9z6/ u$؇|Xc4X O@;H O1<+*㫕seM>U{\a%:~ QgȒP- W%"w@F=(ݯ+RC+]Od^gB oZZ@@#,Ė[ D+/؆ " !Ԕh_''nX}3zskfg&٤{;dL'k^zd}yئ<!"{R\>y'ƤΊxI0TAR^Ľ IV9ltRESXw5szn|YR 'TNEɇ*!fĖr6~v*04gfp6+šZ;^дMdb[S%g-ty֘xEyT%ݬJYVP#R0#SneRI ??owރLJäV-/ >%_2M PQLpWǓJT!FKiLj !T@TvY DAV^Wqz'X07PnVBX0UGkI&Q268A* ~mbPpTݦG1>Vt &pyֈE-+O$M:H3m̯@d2ݤL 2 @%Y^ve5Mi±xa)o`NJD\,U8`dv ɁAq`7/;!?2ԾFa%Zh6UV6Bw,ԏssł7n:ț^=Ӱ&wZME՚X=843fCΈk Y5Ay$ziݤGzqI*噞8KܑVtUAE8 @~2z/g1Ćm_(>֪X`6|Y+7JE#QR!j ): :1e`pFabL }T^VMV#u$tr.X,H9 /l<]p$eOv! txUNׇ &bY[ :Kg";ky.) ͑ÞpjV%eIMOky;r$*05ݭ|C0B_L(&(Qߑ9 R mEc.[/z \Ff #޿rCmx{ 23 @@ /JD͗dV~Qmٌ+f} ;*^7톌 %"3]v)T!v+)A%.?M8)~IlΉ ѫK@Q3AGjH3bl=odWg\o(Y9(_/B5qR,*nNnƧwk7{DH5^,ge5NBLVaޏjqy{#a sv ;b6FM#ERۓfWeȺΜ#ar3G*'XMGkiI{ zFT,i5`ʃ7d>xq=nI 2(W \*srMF,jo~UmLww3B￲dSPX]OVGZƒZG6\u9* ET& XJ8Go5YHΒ {Cju^4s9VꇩK/<4mteX/x1'9<(-\kp~#]uǕsD N9,ߨ*6Rɤ &Jk'CtG#kJ}VȍNk+ x)?z|c[ï9>:#r<2.AvzAl\on'.\p;^__s+<@ UkT#> XSh@a"hFU0.sF\'Nbb1! oq 0Wx*j p)$"t=-V #@&wΠ:4,$d>_gW=_E Lf#OKMBSdN)xv{Dqv(&lGkbvf5]<<`GɜPeϣnPZ #Q㲢M@ d;Ud*qB|)6`j̇@&b&#Boftj=q&QP쮶!:iS8'ގ*BJnM=0ĺKiY rX"]]Dm5&J&I×dҩw o#15nޫ fYxqOtZF~&Ҕ5;[$OZBQZ4 ;$II1 ay8mڦn\aF\wSm7o|-KY%\ГQkr'XWFGYrT_;uJ2ץdCxC&aP=bz2V681JS%Ede< f/:mZ\,jtQU'_/G5s<H` t}|+b:KH4LmRY \*ecC6L~G8S$#"nm/+R@[G䥽G0Wkgw'pZ?G46Z-/d t[f|-efiJBd`4v?rjԊ}իbgjIh֙ GÈd9{DTݭхx?%y0$!I}n0%P镄 V+,}?tZC'vܗO R3#s;YԓLkSjz´hWofngi7Ak7HtO7׊x~y79o<'+7%EUZ'=XNXWYz^UY1O'J@t6C.͐4@+Iɑhl~(yvutf…Fko~_9WK*:{v_8\l~S Ar 0T.ѷl}<31+AmI=gd^ s7=&Ap gE ]@7E &3Ѓ|\[ߩg7w)Ju%FfJ.=>ѵ#!lɅTT:MYsoΤsg Slmwq>ԇk58Nogn[`Z劥 4&Ky4-p{5)fUA*=hA1B([S T3H3C3Fh0ˊ?cl\ uH0/z=Yqwx=+Cl"u$YWPnJ+֥"y}}&~WN [o}&d0IMy3B1S*T4Os/N+3X>JBz v+x[5] mm}1Z_OS܉$xjcFo('ͼ2`"AqHD^ޟ Xd%TzP[*I: Aqt9k5\wW ti]V)eac%}d)jQýnޯ#2GwgGrMTӋ iU5JR敆Vڋ{2Xx` =mJǂCur4'Eɶn3:*2vu'([i<2.34봧Y @gq) vx lü_&|Aꕜ: iRlŇ?GڟWtR Xof}wˋߍ~Otok`;nɉrԻ`iN9{v8"p %%)ZmJD 'tFM:uB9ż8C 9ץfb sfٱ4!0,}a|CMs^Xd,:2s疱+`*8ަڇzJWMl)+ԍmJDdn! {/HQ1"(T"^'x %Qc4w<^Vj'$CDN}d-݃naM0`v(7f zh/a<0ODk ᛄ eJ..̣knGjh}bAԵB2Nb2Xhc,Y4UnnkY֯vx[gzIŊQ&=PJ[4h7) N0  tPᄅ2oJE|ɩ"h5ъ¼Sw(_5:ގl|Em^a~\*V' |VYZ dv?ifp~=OJ^e`+kʀ%LXoa<,k oD#D9s?Gb<)C.ȷ /A"iiD:o$7q'NڌvgjE*p* Ayx Qm5E8چvHVb==`5̓f^,cU \(%']A<[.< 傆G*>zPFm9i(w*< 5K,pn5ђz2A#߯On/i0S|n&aLIaï]{ %m[ES16\gPYNLֿ{Umr |pFYe>aVkxPZ-y M;$ E 'Brvr7M_Eŷ fq3J(b}ȹ5Yc lϹΆ%i40̂留o-Ά(BN( B%Ru#tBEʧk4~kW 5.F|$i[^nt"_1wTH>n/ DGsRw77M(a"ν:mu lc+J8xغS fCǃ(k毒j41_MT+[&1&U&Ϭh[ԓw]h鞲|TBe"@JD]4͂=R.3=s|0'gc86r2~) 77l費*T|{>sƔ-P]Pa#5MI{\I*'|eja-VX>NO ޓ'§Cѐ}kld҆ h5=z2qckF¨ɗ =ĒZZUS/ *mnPKOamAq3R,ߖ`=Mh2F $=dmzi?z||fŰ?yԻ-u _}}Ş654r!{i>dԍ-pMObtILoz=HdCsP!ĶႈC _ k^f_ލ_'%HDR8qA粑 ==q^wvEFq`}R:-\e .Ɋ^hJ %k6:݌,pqe`%h;0.಼U\TKP4\s[q(EhԄFII͏RHCUyyͬb+ז85>Cx)LM_f*V2y4i#A.E#% k phԆSDRXa]Q_2. ~`e}eqs߂Nv2V.TeMcAl@45pP?B}9i!jQ%4H"hR>s@~@<9tA0:6Eʖz(g?e٘8]z‘&**zQ~n9P~蝱64F8Lj| oô\ sUx@8n3hR*S\2+ _(9s$7ŃQ޸$%d)C>9 I|O3O{B؆ewղ7 ǫ)40VXp V+Ҿ\k捻j2F`-"/HLOovZz)**\PS6scE%5[MZ*[SUX=))b&wX0syv\%P4ȤkyD˳`]aY3TP0wMh@OCL"hj?!h9֪8 ͖R_jstg?}#Ii+U&h(0nPQk (e~&ˑ2O/! 6c1,qW-ԩ]ix QHNR$9E68<<]HnֹonVJ|I7+O*`;ƷN ? C|a ^0}BO'q~6S6.uy]6BvʫQͳˇk4 iu}+i_7~#DYiz71H%IHϲ*#uR vQD>ôIhjfm`3J1̛9aţbej_=~DuCbBڍ8hOygo.qT d}xՍ3`'AC?4˟Hfw*(),dhmCf)n {Pqcآ%娷e HzΚ~MpHj!/t[[fW4AY g(Ҿ[r946k[C|]~2\;c&[, ^VpH;cQsD'L(ǤlPf23.Z&'H7FE 8MBeqy&wK,p0Xk#a32w d5@ؐ*%cdn U1uWR9d5@NNM_V~O`P:òJ[1ZJX½:yL^"g>"VaܟG;Yzvl>xG[+X&0-ٝ]aNk׼J<-޼C;(–,'i48YgO0`Cx(I5œLy b #]t=VdW2('-'//^[Ev;Y.bxѼhVʶݜ,v~mU3YҳS͖X+^ޝ\KH l_g JYp.-.UÏ@tv!wa+NS푨N`YDr 8w9˯2thTFkLb!!TYJM;fva8j O M _Q:@4dmF &?n=CMG01-GRyki1,,9F°)Id_ J'ZX[L]YWȿ-wɽ Ax=J_=t`_Fu[`-U :ܾ[&*Qp(4O~}?<j&脱4FIҤkri ?kRN-[;fjj$Ǎ#VK r"cC$qtrqpcp& z@T׼f#e.:s<&ם@ T*X_7}-ۀ'ԧ bK;ިb-n{e} i|!jKJ%da%J-f;s7?I )j(b~΀<ʴՁUCfVeۆFVrR#82O>f^e*+ 2(7x% kR2`c0 |ˑW*: |{S ݻIC0Xh"p@~6 ꆀGxZ:mvD(&[YK3WA&]cEk#]Lk,Eя&o3ED#Ɏk iU37'p=ɺ?a[(˗Zؾc2߰gX~!ҖG eo[FPvbE'6!zvU}uarN#brqIQ?×yO{\IDAT>3r|.0&8Re_^W*iߞ d԰޾W(0m}5?Xy%,T,p\ YD͎g+iXdpN2\AI'P:fؙ#dKr◅6]"U sDNWX]0yҘ SDw v/|UL @`CC)]1 z3}#^Ю <*p0lp#_Rn.g[^F83ܖ.yğOGA+OvڃǵR'1͒'Iɲyɯ9K&沚yCf$Hvʱw44yvd2^޿'x6en: X:)r_a !;#r똥$(@;#%@cBL8( H揳f2%ر>@}Z{v'z+U ,R\00 `?9e&bU`q[Ӗe͇ﵱu$$OZN~iof^/xfP1 ^ww͙B:a7-)m!TI}#V*H?!Y㝨G(EY%$s]ݧzȸewU4㓓tꇿs2XͺbtD1mw#Ccp\1$~-?]%!)lQ,hᰆVZ+f8!ijt6zL lˢQϚ\ٍ݋Y{>Yh1]c.^0|=a٭[f'c+h]펵Vto 3rAchO|u/<[P)̪ s%[FWzyP޼|Jqf^ y,xrÐ"TF0U;d .I>Yѹ#4C`3/:M<veCJ̐הp.'-E; ħJ1zz0)q=eȁxَfl5E.2MH>3LMl#鞶Y6i˼>³Ov)48BX*ŀ~770;"2ɯ*YeЛބxՁg_[Ogwo #\Kwj:o$%ǴUayاւW <2:W7"$ eq6(=7n7QHIEN]lIHL- Yɢ?*Zͷ_e~tc'CRE$(0r b*>\cWXx53}gikŪF.4MQN)LʶVXnEL٪ {D):Kp$i'(beLN_u8$+׫Bs" ”&"_ ;"#@4+4 *=_tR~z9?f?$%JɝbFvNٵ[)~9Z3FuMäP`xOxV܄4RCwҜL\ w3B?>JA^I \RP>5pvt[RLʯR^s,>P3.WbZoy8ts%`u@@;/cup$2aAq24gI )怓!B+5ʚ@!mEd8Kgwii2CVo޽ٌ*m"!lY7Y^c8È2xl6F7sةl(7W-/2f}˟8ҝr~s厌[Kv7Ө{b>VƋ}n^I48hYqL3˓b1JR`T-K4.EE3$rHAs|"Mj= gBF׾p X4\VRx# !؜boHU3"[IhZcQbsOWzI^_^r8(q+wP= |? (Hixl@C^ZTO h|+HVDjϣ7UBf=PBUb*.#Lj]h~@ ÌPC}U&!U" k'ZZXx0Y;"J*!T}Aaię%.Rt)Nj$o_7lrK^˽  ZZ5Mh3%Iͣ7Zoώ=Q`aH1j 6[aN|=ߠSMj+.ń{LGF[T=(ViȚ; gf>,m\ ˡ@H%^&'FE |WuC_J#7WمkY&7kB_4E;FhS45F2A^G8;F9hTڝTn֢ͦ%[Ϡ*׶\GlmopөնwS>#錄 2)-nq=ʶ~:W=Q}k%/|!=|8͗yi CWI+D@pƪCm2NmH.=z,'ۓe oIUJ>sYJs!ͷWNnM"`+nRQ8h·`nCI?%Ej(:d5{Jd氨&j}8zH' "ld-cI۩ʒ%(Ia. /քyӭ̃d`.j</äK[]4z 8dJP"c?Rccv7xʪT#FC@**֋/ޟ+Z:f'kc6PV Aol,=9DW?q\^/?Զo=G;/YQэ[I%/9bN~p '(ݽ%Ī<c4̗q|=1>ږ}Zizm4qr}'~[opEѧ{&{+,k[i(b%hqJћ Orչ2y4䮢 ޺-nOwId-Q{RA _Maݵk' xDD!x @vvIVG5#O+uFL #dk~dI|" H|.ACmZNbo GxClF ٟO~(;flOpUMel9dvo`gǎdۨFx/pn_K`5^K 91dOii<ף/S >zAV@!`%_o`BGG@#`RíEAEy(#/״r0l>$dͥTQ;(@=c_{6Gd3*]y.W燭 5+0$Dj$Uoڍ-~6ٌ$eWlJE @*+n + z`wɏ6%% 3_HsӿH iHk\„so{qсUḆ'7On3ڝ qǛgnWS'yrUa^~z|6QTJ,ɘ*6iEa xXے!?v 6@0a1`v*do7f'42rL݇ ;Q$<]Q2vƆ:]#Ў3W[iqQΠ!j+ƴsD8ٰ'gS]o rlYPdU5A 2¸lQn[ ]IS`4.+mjfn'i8ÝW6xFOw,~!,) BnI1}Q)WdqfdZ X༦G~VrT6>h"|m1Q^QqU5E6vБt{t[U!6K$V]?~ R/. z|xYf^#䌚pNS)[z(ClɅAс'koüq.% jg(V2+I=V?ɸzy="Effg [ayxQz!͖2:M>a:/1y6V{+\j{ӟ~VccëB -xR:~hlRXy.~ܬGo4yɰXP.H,}ғy FvMARo;k$7]bX>2Q+QD>قXǂoM%u\OD#ym8 (i#od0T Eu.fS؍iAS3Jb,b[Pz<ƑC@Z iH`x֗C`uJ$fbxxbwrdw48yhHy7Xٱm˄ ;[GkU;;ڗE\|OL+33LI4i7PZ4I YRPnE_Xw%y71McJ8~ 7wIv6/qi%'[ﬦ`Dd3/k=Tz2=b1dY!U_CE3^ܽ(s:uY>^QNh%4ĜnO"" r6bgWs,R"I4[*{A*R(""R"i`nz)-fff_?~ϼo>wPX1%L8Ee2,[`?De JJbe GеqByMid0ݤX &=D9><@XJqmPGT>RTL\E]$z36)B{jV2,ZH-ieY5/U~$[X~7nןj5H)vL1dI\\؈dj1v1!ƑJL$7iLj]௄o"M2QBˬ$}+QbX@a`p:cXhbohinַ/ |J<lry47<"d/\^]=㍛T1H#+H~I} P^ ?z۹w m,{'?OaƝ`=a{| A&|ݣve9n΅CMꗵۄ zPUe-jL/'m]$愮&bOalDh5QI#/VV`D*\ ZtZ⯶vttJ\F<ܚȖZV8Ьҍz iqDmԽ.\onWV8^p~Osz{%DDS!30e9Y96 jg0gAp!+Ŧ'q3aRu\rxx0T#GAeb`RryH'~#h? W)la)jGNkp:#ΟNoed~b|%< GDK'}JI\t#UPI=z$(_-ET}j<8م շ@ol_9m^VF &kM3Êv[*#hkuvE$&lȜB҂_ iJFm~ljwUSb h Me&uۙ*sתR}}Xs/ W޶+)̐+mvh+NnT"ir^s RSiERFKX嘏ӄ׳T#-ձ+s!w3HT5(1l `_9sߤj9|}dgr67& ,^O%؞UUc~|T.#Hi$RȂ;YQO"_NtoqSg@?iY\F4muTd{B]1];>/q=)|uv詂3gQo+aLo2*/Ϻ*M .*8-l+rvYRi% )Qʩ>LoBWBy֛,GVt[Zi#GQgxE6[3a yDgYfF Mng_Vդ>tF%i+!u.>t?kwDك'}hq)׳$8`+B>+>ARut j@%J1?>uCq(DڀԹ}X4= GAǥ%zO f;J@\?=~B{'PBXք::1؉F]&i ݡnp8zfqvKƲw'ZOD#[0Ku9$q^uI뤐MzxT70v˹GYж>kiw;fm8Y`d4?z?^Gx<4HIWچ{> C_ڙ`]PaӛG#};ldE!pI`{MϧL(MgzR0rߛ<|a=OaXXΟgSb:'ځ_{Q+GAw F:)V]'Ъ-z,B&GK1SW_j2`Ә K"-{lUhlVl,l)\Sx3`(trQ"b9,鰗6 C¸Y-Lǃ MK:o,(%2bVF"hՍΒd./ `V+%S /ʆ/7:հTt -k`IRpƀt+5i2bi۬ Uձ!i\p ?{Wӽpt`]VTKIElR$k p. Ԋeت3=jr LqB97:e{=&6!,1r=&7g/9z{*xHlG-ը,Mb'LjeEG 0|̚&uT>ڷ\=7$6,CRwu_P'R0~ 畒{yka1X4uN:nT\"Iy'ٮ n(YL[?nV{1[L7I&O*KM,K[Jms&Z}W2X0d<xjЈ9yIF:_hmeI-4;'KkFys_qխF;u|Qװ0+73=~N8HKsү=<םM 'NDHfGoΜ?!3<3ϳ; ٢~(sjtKklxĔVr~e1Uɚ  5NwA) DZS}M.n횪u% o`5{`ս VR=|nD>?[=؏$9܏\um&TL+>Z&u-HtQZcwYVm RTaO.{4+>]|˩ïn.~*}CgcCBQe_diE# SaQA aB@|.EDR.x׃#+@òOv֦ Iti]DiWCc൚g:Տe~&(xM&I--HД`s 8(@yPLC6$#-<FS +' ڒZ\c!kOVdvЪ]2!h=GR@OQ@샆FI*I:?jB7z\y5{Gﭢnma3퐛Gf/F#w*LALuZ\/[ToWӌJV#tW` kVdlI^WNI򸖜筇[4`Nמ;T|w3XOtj{ k}-`VkMZ'zIy éL upyIƹ; 7c,S!w"w34|ճb@*(P?tk O +Xݠzt5Or96k1*^~}`Ÿ ퟞeKyqKfXo[7 :@qQ0oGbpaAv:G4{LO3uTk!N-DUKH}~YǗVD պE$?xVxOT_cڀd˛OƓh{Ef9RY!'_(^ǰ(ǵgWQze Ny5Sz\#l*>H i-hR$NڵG19аGsX~be^JM35NQxQE^lM0и5z~>V3Zh8>??RvuRNp>\S(XG, ': xQTsfsb +>Ghrq0Da9(F$-† QаzGfњb_{dI +Y=B c}ve[!i)ҲW\v, i2f]Ļi>y9n$أn.A^ ZQJP-u*0֤OPP$wXyi2&_0~2<3(?< }JÖ^Z췁gB|ÜcY:+dI25-7kJ|+*\"-"کj4ˢyeauPhVq}x A.X X8K^#\ B"Fz+WU/Yd5 db p8|xmE< MU߄pum=w ;;X_M=ןN@եE/Rojegq|w;y[>TR$ hYSۀx9kIyr+M^6kXϺj͟i Y4D^{ MP;L]s\CVk,ZsisT;9c0&Xu ȋ*]-m YP^yg* `3MIq̨yu}y*@~#wf-uU>5O7VmB*Y? $xvNb`;K{VpZi&7ADzϖ1 a,i065řYqF1+n˩,֒i_HW*:{($c`꟞y9:+SJ ޻A:ۘZ+x k ݟ~>mngeᰟn;qTo/h?\Ci`McQ`N"bPhs#7C._ן+3U*mC6M Ջ K"A~ `lDzfF_FM0*fb$ˤH˘|30Nk/X[j|GCT`חс2zVg mDڮՅrvrWY S)dOu*:8ӌ'!}X,) OtʁOFB,,#&f;8r栈ϺE#`j}+Kɋ/%>wt"f1V)!JHѪ+{G>k*ȁ=)٦km:\{m4E4Ք^r,ӕ:9?y =v30yY{6$bf{>/ J7VŨ{B#0CI3~dŧFZ2x!FQL+M[";0kՑ@LMl9_QdBjSͮ,R': "~Qr'K|a"q?7+ڱ` '~Ls?Č{pW/J7 ʪQŚE< MUI|&Xts*qlX.C"B9hh?Xä1J)][7Nh'PK.6A"a:hh۔; H=U}@ƃB`m3rvt-:]h1mĤ^rq)8+1R3-h|\ϗ t2#A щItC Xg g<] hw \ד|ѿ=뷳1*3\ *5z(RBAңB [؄Æ|*N։=.ev{PܲGa^(A'y @lQfz;Gcx1Cf;{x0Y"EC3vJ!Fdd E HY&y繜ziX-J'{J~We7Bu{XVK`Y+Tk*y@#鍠%MDN.i:]%@b$>\2\);) qs6Z&$еs3c1UbG8e(n{;{1D9]`=\İU8~JМSZMb7駆5  bETr6C?FhI>&J&]ln6h}+ = y=[2i0`%čP״T,&l?_ӄBM6@X^^Wt5Y22)T~jTU]emzȳ|:up6  R{}\~WΛFWUL3Rlx1>|I/O8'=Ozt7'g7o^{!agTmoX|3kFצk3# oM},uVvʺhuxORZ}u,3M=<75P"ه~kxn?}/z*Ii=_!^׊dY zYapmR\hED&{Ter5|*cjugHАR4&E혚3* kcV "Lc0B/ *ޔ~2/?^tKWݡ$Ʉqӿf{'Rø#|:[j.t"JŁ89t&r24U..yVw|/-I%n@vorOa<~-qܐ?vda$RVm~ݾR҈Gk ^2/Nûnx5V PV*5^O vC yM(Ӈ䷇rcreCiծݦ={|מ4"/oJF3(LF#kyHz @":x职nܒB2 #^i˓~맋G_9pЅ 78v,o6-q6sy~N`.ktђj*E^*r`|@dLJ1lhTq^#g`ʢC|Fmh'AA p$ I*G4p؃{NE>c遽 "5^Ѹ(ګ F֎k-*R*:xWsXF֩)?iX-;R!czœ0[V&*r ԉ !yj8@`^G 8S=,ug,gl(3ļ P$9=N!cѓx1(̕5ԍrjlRfçi)+B,j6^ŸiO .O2!biSΏNq,jO>-E%:IQS@u>|@/ i];W78,;Q=[j;[`+*  Z?=gggזӖVx ([td_-M_-]_Ai;F@:EWBhr|k?ɋ7sBCkhlF~[IX֡R+/LgôyN< }'0U[ƃn{/^יH՗sq)e izw*aRORft0LfLyK0T(S'hSnѻL/P6ZWS->THѴ];Ljh*.^0 2D&&kR ,x1LO.)MOO IB=cE4_1I5#-P ? *^Nvnr4uxŗkj2k:^(pIЊ+  Y i<j~bYOa~ Zj38A  RRbǫ)Q(RfYlᅰ/T6o.Qu'L(iM9M$ՆԒ׈0d*dIX js&ό %0ʠ|98*\-`)E;9J7"fI9F=TX$lw p~*L4s: v6^UBΌ#V +h1l-HMb$Wz8pEv ۯ'=65^_YJdC~GkXWd޻Ӄt8LS2Ugqr̀嗎km4?@9j,^&&,J8Ex$G)3(1nnVOt&$t1ekو]@g ɳB%2L/̍Hj 5#pi u}M5ԡр͌3FEcM<B쉸Z2_#eEd  Rfkxl\B/WHb\KhA'rEIQRCGOۓY0IRJK"MƠ6ڨҨ%b:Rl1LyԔd9Y<ظNa:IG.I[nܧgJg,n̞[~]TB ­O%`N;*&ΞWf1;5?GaDt$baDA#}~e@WͱC]H~B yU-m'mcE9U%=?*fY_t2n[Lȗ /&:60us@'{Don[2z?ݾ"C0۷HŐY̤lF:$geq1/7s~3UC/܂-N,.EmWhL> B\0V`\=0\WUOMJlGR|`Ѓ#ۍ4YaH?P;fƆ2)₺;%TI/Vhҏ%2<6GIvR*DDb%NX~-'Ri]c|lVҌB͛TAl)0:kUAXR/x1#((43zhhǏi8XxY$`  j$;ɘ0P:&ץOhCO(t'vAͰ`P*C~c;>c#Y%U:Oǣw +ʮkxlצPvSٗ73xb<>4>mJ -_6;̰PrvGk9/]Xo^38u;p*W qGOgc/RJ6γ,,Ŵ>ͬs6~I-sGo*n0 fLu^j )lvƲVjjwQQn} uhѽ_ooPI}awsuuw J9*ue9lEH#J>ꜚФ+RT>xɤ9!u1O %}F] 쓀ik-KE%40MOiUӊa @Ka+n bGwZ1gR!j]f| -HaTtbr< g- 2 a s ^,а,A4fXivtZϐzJ7-Y:y^RHPLmPu^TJ[z3c4I#!l@dS?*CfR6KCd om mOkmXy,#LŒe&/20t [}Gخo!c%/?|lڽ :4~]e $;)ւFkJ ;?@a- W OJfrda['娟SLALc)a@"$ow:1ІdN,`/ɝYDm/i4^m}"gʂajIƥDA2,Z82Zd18gX/eJ RYTH+#mX+7> ȌQP.R%Y/Rˑ=7^L'cp9C5vS*h,`lںӦ2tu?^VѢ7AvjY"={*,S 96@F]AGKxK9;Ɋ )3& V)5!!vpT ^R y>6>tEdh_O4`Du|h^iF׸lY߄bavvཪo~dGjWO[ ̔޹I$w^FZ>x9|mT[km}i8k^Qe^gwX5+TxR'lNk8dͅh]hM}:3T׮㸑tTJ>11iU F0墵PXx>q:*(uY1H E֮ieOd> F4]묅]D6CtMeHTlqB{vU<6 `z::X<2\؀!v `g' wlgk?^L'|R]/ZuW@ya$*cpO?_*yC+Tnn>켆Z*ٿp> 8f6W?Hvxl$|_iC.s#:E^}3Ħ&A˜_ :Fd_>؇GE!4.!^.PͭUUa#ح2cecpĉw+x#{7򘹬òߟ5Ƚr;>(-X5(9ed}//Ǵ{xX,ţ7 sD$BLd↝VK\iDY40)=v7H($5:" փ;ub9o-dt6罱$t979j&=B$${$_/uioh<7bh/..}ػ*z줼AzOWӲAo{cg>Fvd*:Jj O*4?cBbq!ɸae0E2cړԮUsB[Pb}^q9md說HzMEӮו*Z7ޕ4 ^Flcʍ>WR~8D.(4)yu"]נ92ao…=; y@re@9(+W=dt;A4CPVv*o4@J蒶LAJr/(+HGSq~53YaƦƸ. g)KUcWRPӵ@RI0P,"v5!6cZ[Gf Y IH{ ~ 4$4L]ÞN^~h~;ò&jԲU2sY[`-#J-PM}jR0ъ7c*%# \_OX,7fz#ިn["d޳o51ܶħTɜeʎUl'J{f]ݷQ{;Kln{EQyt7{oo-ǝ:1_0"p/C7ĸ@~`TןgOlX\;{S-n#ji`_j. ^5#IN//F#?Wݴk=߂EuV>>vQJ=;/3F^E蕯(i헊Wdo?W,)%*ɤhgP׭FUpVL 9dy&ܾt;ێD_2r'q: S }8]F 5CQi`:xꂃ MGH%5!:|$م>hħZ|<\5re[M{ҘѬ =4J餠D-BRsZe_ DГAepal"md Ƃ~2G+Jãjd}~2ꎇ1L: Jr/x0 lm&#tR/WeY:.UǤ i hƥшCrq5FSl RQO*f8k Lb8Wu@mla^T; Bڏ7CYXxQL='2ЦlȋD}wK Dc6Y6r'Nq1_ ;F Ghϒfفd7+pB1qoոe~{|x˨\^/R]1|q:I} [PupTd1oetJ}J[~o}1:2W/aQ I7>\^g*[9bi #ϒ&>E?Sh0LwZ5 $BÍ'M$dzKtVLҀetv ,jZ(嗙d-mRA:L Ɵ,δzBdVMco FLJjwdi#g1*};lSyu&d% NMô^tIJǼɌܶE4:c9?8w2LvxE!d<@%\+5 (.'<@ aA4KKJ,vg!hh?m[cUSEpvY PΓٛ[> 5*p jɟ^Cz5Cik&&;[_'%=OQBYbQD>Jya*0o=S Qw^o K.:Ņv26bfd.ъPJ+1XKlY2~x q6w/H P?<]SD <@Q28 ;Y4n8Mộv׆eيVhü[·ĭH`\"s$k).fC"-y+(nnXyD%}|҂@W3M^HkK,hv|:G"(I(@\X,O>?=Za& h8UҚUK[rǜ(%u0yxZKYU:6\f 7$B7gկ|s~WiE6v/$)"Oޙu6GuBCҎBNܟ?d(mkp1jDwsyG3A-jj/ GpC=GL5?i\ M*┬*/Y1ʔޓ+IFR'6l*<<:rW:G3&Ť :DG_K{ed47ï|+GQp\~уɷlQ^d<̳f/@E.Uחt6z},-Ly5 4BΡTdLaռ; Y_qi`9BiPsUΑO:ɋ~UoЇ0QdD-ZA#Gq~6##xVb,@HҀtˢj4a)w]Ou(1{`Ds#y$z^֨b.;$f,MXLغ_`;b4WJ mlqr2bkgÚ}غ:= N?4@xƀE*hi.4)q#TƶR ξ7ő kaCx6$q*9pLS~%r-X:1ae]6%̼wM#Qڌ iǗ;]/a<_Zo1),ͣC}Ov۷sd+C3& mqxF+/#I;D3WO&%Lˢ I"fcH$`o#QW@Z0PB/Ks-2PQl9$ݔ 擡 oZ{e'1&򖑋|#zc@uNu]7LeJ!%8VW`a-j6K: `#^ˤ);\S`bԄb>% Ntc E<-ַ4?BŐV`ՏBĕnSp^/ Ӊ~>!!+jT!Ɔt""YIT -4*p*`,`a᧖VD~zh?XZaІF槓2l ٫Fz7.0 o~W?JSSaO+~&}J^xw*QO.FŤI%)u >X?x'% {5=ųga-Q< k!ūڗB{''E|r4p7t8?|ʗtˤrژ&*Q#>T6e&Qm6FlkS{@ @@ۘ}P#h >1~g(ByרBBHHZ=ᯩq>*oo^y<{h _7^3߿87ZE%fb3C"$^Ogwvx+w|w' jθ_7p%ukWߘo&N7p ()s?x7cȎJODϲɸ~^V_5D6}gZ\\),s'j7km%F+umA8n@M7Els#8k"~wN[;j(C.Pʝ0b?\P3JPN.'SJ0H港.8 S-L bkt1ɧSR*IwEs]ɇN2P;Y)h;BO+qy㒢(Ѥߣr)[mRBk l#6kYQ[(FE^ΙyWvyC5R>h)B.5 %|^~9O=eWN8@yoLO ͌xc+q⍎*6_zBm y8/]C,UB59q\ >(@&?g8 <0YV٧k?+/w:K#O*FQK ,|u/Vx#QUFa)<(dР2ʪ ?'7V+PcਅЅku<2GqZ ! QneХR̓kFp/nwHd.8}{[{8`=:PD@WAs}Tt ZG4 Ղ48ES O]^=|!!xH<3]5#p>c1@OZ4tY?|8XHLҰ'F_Mpǣ)4>|=ĈX`ކS}3z:"Ǻlr>\M0PlvI_|>4BH".; N-F*?R:/)rUVU`U9S=a#7ȍTQam&3ʱ+ 䨌$ԡ5I*NXsߞ*:sՂ[R^`&6t$-#DFP U^9$<8x1,H@`l#Q/_\ <sU4@叁5ó]lv4_؟4ˀP!.f]fQF |'& KH^cߺ'SR{֫׿s$z:Ri5WKbl~y.9Mc%u<,er,Os( f=lnUjHmglcFQmlƿ pƘ4(wG:jբq@kp4m!,^sH *7\$Lg8fJhP:B_1i+?D6L A92@PKhI56W5ṠY 8-uC@AtOd&G)^'b`=%gz`YGDUx4S~PZP£^0eQf9/볈f k6 < k /e]ńFR2# Ab4\Ŭyޙ^y/5tP--e+lܠA F}o”Ac[=w'!`oމp Y# `,/kM6eu%WR !BBjo3ه?zpG.4Տ 9NE\Hh'5R+a?m(5"rɽƚgVq2!| Ĺ"8V5ٌ֦^* 닱|Md2%E#ƱU+b//T1>G3Ŕ6 ACv'dI&EQ6?6y.9N. b@ ( ;JNF{LsQxhH<.߆ ZfO11^' rKa¹V0SHڪD3u;6y<4(|=2bZXT'8@L@Pxv-,i!J:a2IHs3hu-)mb\?PE@4Y`GC:X0X\FPb)lmDd,+EU#RHm9DT 䰷DPL4XZQjNYFVj40_0V>h=b|DPz+X zzAn-LVh$`opv[({M.PL)mVudlMDMNL%ԋFik0cTt<hX>69#+m$jڠ ' T#i X,TƉ`APGqo0_Mb0B lr/xn%4Ϩw`N@rzbHr3_Z,ѐ;j{wIrݐKp~D>E%\H a><>Dm?K &ZQ3D LT!AZu񒄪r=PC|0H:`CaɔNA{-|^3?ExqI%,`9&BH}'Ȕ7ZnvqFmQekO#A. =bH8{Kxt@zoYtt)x1eFSoM;~b&Yi;OxXxDTQ7~%4Jy尵oz,y1<e2;c2kk!ؽdJeЪZkVRGC VZǿ?gU5sJ\7VsQUuM 1dW.äR)`ZdcDT:%j_(pX =VbX/S@/2wY(SɄi\Ⱦ{}!IMdWhZ0`ľlU߇zIJ{%W_ 6` ÿꮧ>XzHyiqކU=޼h!RIeE]SUT)GY(O0i'ĚeS&ePCdR̆t%4ϰs6U.1>yx̷PX yNdO=]Fc!)Ăne?ȯWGy]QmE"gqm2` G'I~'H+Cla#}*ZF͊ W,Vl5$BEil޷ =;I+ R7̸nR!c!E-a{<=?r; 9էDwsEgy2?d>k#|qZ˖w%6! 9 KqW ?򼻇FQ IwSzYK߻>^EaOyJy"]Oo tŕR׸qMPl>?>Gr/}k+^U-7&AOqWg*FԂx~$:l"KaEnCE`y?2u6)rjh.QO Oawp.g9BC+dGZke:5s|kRP+nsd}NaP7*RY>I^/iyF㼗ߏd  n8%b4z4ɣxJZlz nEBoCcR 5BMl\f7"RdDH\v ba68b9>`Aba鉇ZTēgLo;)m(OZu;nllZ}'coǭL}yRq0^lf Buӳ o.n֖L aqXl܁֣k_~a>P[:7QQLZNǨbo7{lÄ<\BXg#+Ꝓ :hx6|m*dّ^gGNz4&-(=Y+-Cm-Nꟈ_&㴤ɏP@3Gz#9ܕĂt *UV|05&!Iob+BRlh N8 U:nYڽT'SDO(WrǶb\lf0_}iFp.cU cWʹ FPYXEf^g%3X:΃%LAnB6|y9oRfJOɰ63dIDDB NeMZPs Yge1"y~_ H%4a#qC?=o075[*1rVYaц.c`2FZfj\;PO"dWS6bfHQcuN23^P1 ,x1` ;)1EY1ڤL*Kv&_eo$:  >9 B9 $@&aOiu@T ?h.%V3k&1p =%e0+,8x(o+74ks|.S/e/AeaJODRDq{Ӯp2/Z |)q)m)D)9Zs#xƮi0bL8^?lU 5eb~FAݠbe Ӌ=hrןdsD{y?!Rяؾn TSp*ߘ $e6DlX_9x1fֺl eppo ۖ"&AT̀PʦbrGaOss͟OfNIEJ덛ߣjְf[  ]KїQrU d{w}*NʭRxǓ;;W=PBO@k7)H<_6UswF6&ao4X5> ɜ\ ͢ɘ脬'WyQ|]9)&,u.[fya=j?;윏tPb|?CP Eh>tYS{_wKY}ɍow__к(tnX߽ukM\|^º;!T\7@oG+?2wQnO\^:X EӨl5ߧ+f3~[9ja+ߤ^[/;VTNnT.ɃNv良aO|&ÿO"mQ ̔΋ߎE_A{zr޾LѢ7ϧro߻o%w_S^4mZIeF\I75or ?Õ CNsċi^}5ӂ:3O2[aHXL`L7'5fImߠ%u"#T<44erܛCSނy jNGp͒&Z^pƈ=d":MHZ03@,:g5墵.c0:I1,Hy'gx8A(© vfDIg](.d>_MC 4r^'xr-Pgbr/ Hl@8eIvceM<#|6hOjդ cW*cK6ix؀!EWy%;of8s/ 㔳-7 oS  0 *;Og^:` EX/qR}$k} *4igR^հ\;qYM֟ f|9x|GjC~< FWCۤsq÷6V ,I2zZfٴ90G?]ãl0NFMWQ`D}G܀^t/ugI(_ś$wE←Y^îm.xx v3[BT5oU_mX1\()/'l%7HR@.J".ZԂPD|p9b>l.+d&5~-݇D 5u8铆$vGd6 hF |F&)H),?j ‡IYxx_Y|h07:V :X_^GOVj #;#`З}Y1*-[# 6FI%cR)l!-_y/@<x( ZPe jT3y7uQ.5dX{< ^%BB_,Le{?.aɩIK>#9"l-064mk?Ivz;iT*WNw(:h^HlM49\ f vakɨ6wRՖDŽV ` n͞XΪm۞+8ݼ^3sA~]8vKJh|i\kU>#)>tzdx!La) }p啾'7; WKꌹ- Eٟ./[R"5=tۨ ֲ`DMJ/j~I3/عs淌 ^Opz_u:5&*8Hp31'qEơ) cctyaHzԟz9D|\lʌHC@a|UrpЋj(E" K)Eͺm(v[ B!T]KzYZtU'C.+$ 0NDlZMRA)DEVxLŬ ůz=PC4dPp&=9 I}~__w!5qX坮څxC;!6|zGa:7=gVD-\[M'V) PqBh]ai7ZF"m1 *l|ˇ.LЦai|6ƀl{El6l'Tۜ1??Ͽ cuR^E$nJ(G/pv'.%YP٦Ubs`KI&5=VA!!x+WY8cD#™,E&E. JS qʞ`0=XZ%t2࣭IZ7tSLHvv)-K<ę8{E974#5.ϜsY vUTnj>I{d2Qg%껀ar" ppN|EgZXO0=v'[u^o睻y5GFh$Zxg9cV9V9SM;>hl4D|5"Z/xe87t@jlt%j[ja` rpryO@'٠_Kߚqg6bpw !MZ#جf.^ ΞZuW=6&|S6-Umzu,TP'mjVyӍM5:qjjַ{?LnjS')[I ;Nw$@TN=|Ro@c%-I0INmd i)+P,ɘMcIX5\RU6Oaj7Y<%d͐A&dh/A!aZSi>4b!-4'#^FI|?a!N R3Cc~^^5j -Uu]A=#V6ЙM [IHQOh1VI@J^o^l1  ]k} jDЌ%KZX0CP`f<(g<5`J\tkoKIr_ifTYEUIپm~G~#G~GP%fŵMRdf,ucBo:|mf^=I Ja[a uذFA66wч8,TjT^qQL/ոpl1J]ڼ5{{1Bc`MYd~;v(Yk6w|;Yoؿ__e $EU=>?~k_g{gŃ6JNsjI{VK1`GNsiSqs?1?O/_X1#òf)Ɲ @Q`8SUC ܪmiP>4|YGIqI,_̲;)(u,M(Y@LMVx8+Pjz\#VaX-JJڋ筴>Z4=x q5KrzL7ill~lo'6>a.xB!ݽ{1*qfCZ _5J${9cy|ؘuGZق-xrR]cXz!!/(Bo`N)y9B gXN>”qfWAѪ-"X1R-8jv&p'9 _iF>#PC10I 8$YsZYJe 8n4&+3X 䚹Ȉ5c>*$8&sIL[+J&vʴ%F!烒0kLsvI_ЖܩJM,v &_x`6B8;o͞dˮ̚h$N bMIeVvY!G)!(@$<7Ѝs߱Ɯgٹ3m4*ngj\-|*Yj&2 |] H K )vY{^%\wJ2_I,)|5n+a:EP_h:)oje71}#fE~T\>U}ZO{ϥomﷳݟ_x9D;6Xh"E`,|LRA52&|kʤ<.P`# 1H1eqxb|HS#CoĠBe-'5 Pa$.b-(#{Bro]٣ݻ탃cERt}վx{xx rqJ*O(7@azIMX2J(Zi`D@])%@lk+ }܀XM/#13[&&/L`45xm0/4G'q ".|NK.DS^='Jzȸ[^YŊņI|G1>'' c +ۼ*e0?Vd{7e.,:9#Z %`=GsIbLwtG{.wC欝$|Wٟo^EP~I%]0?%e}z-D +^޿yc c1ULY?!Ι0WҢ ԻD>$ޘnV\1?""(AiB zϺ`2$`O RF3>hŘe:fZ&9).:SüO@q+ Drʑ CGd;*)LҔ#Pm%kSl ik >mT*mN8K~0a ^, y4:NOIHr{ʬ>x˵˯䫇6r[n.G0$VG*- ,td+^n68E@j=}hq{|\&B!DJ,莢,7ko *ϔ%am$ɏAz2=U@O'n 7BИ_$lK8\~yϥ\^$:J'J:1ghNa\Fw&HK;,$p/$FOFέ|u?~kyp"hD%_}o|oֶ"| O /~/ֿyf;0m=HdпG)Xi˂_-R|ve@{h.4F?U"ƐL_z|nu2U3J^@#(͙LՊRV}9X &GZlwhtBpd9%Ci]7X{7DԖȢ\($+pR@?4jR#.RYDBUQD-lC4GBA▬ؗDZHTZx"B<:T!Fl%ZaG  Bn@Ă89j7?\~9_0\{ϰɼhyQY@/Nf 3#`ϲ 4xL9 68q1-M`ڭ Oڬ’aa33{ɴ2ߋ cNydc?6:3{xz>}9O^]8a˂k/lSUb5h-e.MBf[~utaiyڻ;~ȯH= *j?!ʝRQBQc@\}=N>ѥ@{C}򢙛u@:Xr7;J &/&T :YG]tE2c+u@Uh4dDi]h:@$3![XL=lh#$)>R{{llЏI013dvrX/S+sy΋-d^=&U{t #VwSbUQ nwo jjhnr5?FH9s' _昳RQfa08dd~|r;_Vo0ytVqt.;x8=/RQK E)lޞ*ˀ,푚)PwYPce5УI@ 9'ciiFDIvY,xXVA^H|yx[pw:&uYSDzF}q4l:͝]7gT/??QzW>7YRp5='wOh |*I2)Jڔ|ONħ̒FUU+^:z/(~] \n{i*{!(1ΉfABt9(iGWC ]L|>WUz]SoCs9wM/V!d1Q#25 z.$2Ox lXwG Lsj򏄯\N4g -cf)d ]Av._}D|GY"0J&h&|j:J/?LxT k͕ж[B/~!W-[jJ!ZFKg,q)8{t2xl[n_&#^_*C#̩< }`pA\1)ylX 7`ƣ}:@gFGuءVlHs> s@ u#|2Hp%NGcMtO',_"؋֍֤RW&Iۅ'QNu7Cntg+A/{h|Һ7wekP$_/^~ǜ98sP\ vgL;qۊ;y܃+Rnխ}d}ױ(o="E{a^%eDO~pPbQ,|α\eEܘH!, /8 jH&uGE''rj +az0OhxRU(|c/u;juXGS蕪~Ht.U5m4OT_|% =V2nPvyٟCj|Bv(0 -L~@sIqa{ZËʓL0Yҁo1ax ݘ͏fq}r; :Ca ż+Bpq Oa*ͬzBWeqjx`eGeZ2mhQշ(@俑6b]< H^Vc1 ֦(@oRӳTtX9R Г`eA&U /3@:.R/q^Fp,ε[su$ 馅Mg{O3+xQO=3ZrY;*2Ȍzg> wUy2Lel/*{iKuO!{ e`p?N_8а'/P>0޻D(Ϸ*jTiuG: 1F ;RŕK .&8թ飯@qbe+0\]RKs  yCIpybuVzǓ3İ3l[z*c\e>j~Qt5u+&#۾C*Fc +)%K@4xX0@憕6Hf.K:$k9͞ϡz|Ɓ:%T-+WLA]\hB$Adi"M!pC196A- k, m<#kQJww˳-.%Ȩ ׶Mi?{%>SK/$mpOj.?"egRJ6/cr `gǞϕh8=RWd-7{?Ƭ]|C?kJ>=ifBcg{ZĶg|o={׭~޿?ovSw##bdc4$=ED!7^uwd5_t'=OtRO_\a߸ǒp.%A ĞPI\/-:yO Qs=T2l9,"|aO*p/5Wm[ьr㫢< #Ƈ &SX#ڨ*d b`^k J@]GYG,?3GaY2QX+Juz2V 4c{٬Znrj,yX C-+sKخOhHTy@z_o5|wluvse,J&{s(كxyv r&@,[_c/=^Q#SҞ=5Ն@7O LhF#K)`Ŧ HuYw4DOJYXZНujY"|Di=T2 ===(( )'Dn'|tN`87I׊ "re6t)9G.G+Uv&*2Rs2d&GX$zlrp)sm*h3v1(3G7dXh-we B6SO6~v\oa0gwaZV'Jȓu ˽Vyg_>T$)#L#yڏ5/Rou /}_ͷ!|w |*L$4eMA?ܝʦ9(GS UKBa{or!mBxzɟWzUE/P>0޻DJJ;0/`Vs4V%t|#BJNAB: :BcWdp7==h2܃M/{g/,G |` iX,±qcb'`(VUsoT(,;QLDU$DHZHÎI|OwOLL;Wm-V]Oo.~7EȟpgsdgP8"Fdr҅+"(j8$]輠vI :2W%}@!ͳqP Dm:V!hUBnN#u#lŢB\ԍɣZL c=.,FLql9TG 4C. VJ@.92 HIY.7/~rꠍFDZxp@JfØ}*fꑠHdmӵpfzp[MÙBOs41,3ۏer=<5]aHyǜDt q,J 9#$ JxJցcw\:{Y6GouMNAsAPX"P3mLgmP [ae&I.9'GUT"Kxv Y g*>b}PWEV[;Y$ǛPN;[Oih\>.WF\iVjo?C}^3\4Nwo~ǿo{6Ao֩˯z-vWLF"w*A? p,k , ?yDaK8.T1:4qg^۔򴁨%v ?nmݥ{jGkj)2&y[] )^Ք"^hb֩. @VpNmC?v&k8)c0Tk\u{;bgr*|液bbZL~BٴlkRRͯ8qr̲66Ж[~ymָ&aiRMpvh?_9O0O12˥x`B~_B,3,mԾf|'Hk+g4y89*N@w´]Ne:ԧFu\$ 2SN'Y .G ;O8L7J[onDFV兀 Ls~tak|≏e8że5/¶f-Jҕg/P~@D>6;#RI J(ӣ@#s)XiXl(՗W0^:< >!!;bol1!A}W-lN񶦎9N);o9ZR0L{j:+@'azwZ.J>brPBxvh~ZܾI|U| lS<B]qPpԓpe=QxϏ!嬼Ejmezg@ޔbR\%YyB%\YG 76Z0b `#{᤬A+LѠXj7x:/SYj0>gԹ9&aL?X1/lnn~f!5I;f4~wk6at27)\By>- gҩU43+>DzXn1']4yVxWG^Suuc"Lk)4 G9#y+7K=ղ:/ncta"}$:ZH +􃜆ɩ &SP> @d׆v'j AQ[^+ޕ"!bQh6 O=^V'6򅍛vY7;~3N{ &AXҹځ!=' `zI/ ȒAҿ,7߂f06mp{ Dz&0qW <'.\ Oۙ4l_BYhi pK>(U%cS[}t&eQ(74/*/. c0 C.S>ZRs ѝ;myU!%Cڏ GS*3RNΑ4ݽɛYx[c IB r2QŶ]&T)*'WcpV(lSY̷B9§SA`j U@n=ĭ4b1몍a^lܒ07:gefU nb&Жu갊_nϖ2 xh.0̦d[b o&3a@“?ۭ}Oew23Jو~pE畣ovqL#ܸ!K9"?3}aFZDO-[ T'rMUPPQy???ۻ;jdRF4kѳ~_~[w_X[`~YE |#Ϸ۴%7IJpxglQ }~큾[_c Ɨy咧^UT$/#-4;Ev53پ\55HCApT\/%akBC(Ix1s,n{yC+'' ^ju;scy*!j^eU BڠT2ϵtŋ\ >% yO1-Yxв|~<s 7Qdz. 4ER "Ŧ& UWf %'g4 0Cbǿd pf7flگ_9mhzi S@J`>k2v- 7!+)o1 @6z4v[mƁq s,sDHcZmj h%RfdR:~=w?᝽DC(IV4S3O'Bۓ%%ڥZϤɌĬL"jͧ.g_?O/údS 7;o?/ӆ6 ζk.p_ YʛzO̺5,"|(S7qF$Wl i5RNx89̝wq'r\By(C!@[,Ϋnٻ5#X(~2__se9,O:m<^꒷3P)V`lm7EX&ƤQ [1 vB,vIҠ׹ҁ_-uuО|WM&s(17`ru2􀊽ꤔgc*69\[SZ'EMqO'W}lm̑eg &bSUՑlfGVǎaZRO`%T܂0쳱!Ml)}$%ߓQuَӧ%Iz fu $K @ އcrV)XPF#;)ŤS_n_ِ)s`aZDV8:ܤS-m҂CnCfྎKsU:brI~8+_첀v2JX>3!|Z{d_qZ^zNgf?ξv`pt/?o/ʯʠNF~y-^^œ ]ҪvqdoJ $)րOu7&S.  89 C&heXeF5G w;]`A$X%!(q;"Ŧۣh)ٗ8g !VoqbF-_QK]3S~^._-MlˌP.B~{>#& Zf0XDojAYMR1#Db#ǘ3ȕz(7zyh:\ʶѐ#̐Gubd-$;vyď>Γ_{/|}7ݖՂ =%CYj^^nj'}L1Ou T$*lo@vO ?H n{w?G5;]-EW]Au֔'ŗ^wϯ_߹VrE1qI g"D}8W69/jS^y`\_Lsu*|']}-g"?AR$/P?S Doe0 U?AV"Ru(P0q,F+3\J;ux 4$!J۷ ^jϸ$f :aZ{+3H_ 4hzG ۤ0{'TZHMdZ@H.)l47ޙ`6m*3*WFZ@[AL&c2@hKYܰ›J\m,mʕI3Fl[9@p.š;;V,üU-7]Q 8wI%DOazp (; mR`4yg|K m_{A'~#_Ш0gSf`z/xS;L6<x0> 82xϨ\?i]{l_/jV3K0iW_ǿՏ_g?q;bMccu%x93:ǓS1|_D@mYxIX;/(2?\CO[mi\PýzcO(@QNfrnGUFV骺T? NBu,TBL`UАS|GٰmB65H. K6[h{Gva #֑NP0I GvG"wag<(W%oT~8'@jfĬ5L gЩ42mgF] ]“XYc59H #4{*!)SXd!+G{O_G[mf"ߎx8ڝ/ًo|Wg^95_Y⤨}7DWĐ|#Vٝ\KVR_}qc 횜d Yyʟ1/.WӝO,RU V\Agp~ư$_jQȲdg>#úE9 j̍AJc D Wi&unkDIoXաE(JI13lm%ZH!kbF;gdqGreM@*uT[L&r.+`474`ҳUg#Zm ьb}iiN %u"/#ʔCK No ?3[LFGTrGoLKxpNvnrYlwY'h=$$C(?ЗAf:ǷJtosTgi(.[yR޽=i!% zVVQvIIj|RWh\>*jZB0K[x<"dwCuv~+p>pJAy5c7s_{?''߾E~eRdoH_1O7.*|cfux8*:=VK ^V:g"NSp* wp~)ʿGg]zPK[;dX c@b~tpw4J"tJ2PdbQ-{>#Q>Th` 3Yd'bn,B SBkg1h&# 2 %݃h)U >Ȇp ԂП' X!^fleO MD9cHPG"Ntb`c|7;#{xc$ 6Vw\ZfcJpk!R < cV[GX$Tױ$fiiaޜpWlkdqulcO]NsJ7o͠ xs'_omDKeG : X(1E_5"~y}?L-!lw&zL,lؿt&Hnu(3]AŸ?PR!9]"|Ylp"ڙjGao>$i!eVWjtivڲ,`~OԻ%-o`%,_U{CNu)axCsT+RgfG,`+|,y"z_olYU,4*zSNgDk=-vϝBpJT, Σ'$a.?56ӆ7N";SpY/Q,3UrYR,şw@Lfw85\ @Hdd$~'f̓b VאqVq&dH@6յLOq@j}g >Mzaܳz'&Yʧb7w o@̔Uh,||dp!(mnKq`Cugd1WH+bRnJ;?uz?Gn^'lGrp8ɴ;no|K7_oZ!_6n*ƿ8w'aKy,ۗ^",J3](|F+^peƆdSحF&E"|pQ;p$7&&gd#u%T RBDy2,P?!\wglpA_*_pn43Bd`I*@fT%uMGÃ^d5UBz(J3mfA$TLJU#l|>G" 7>gqIIX 3Js$ȫP fB"J(̔2QP`<`8lIEryKߥ2pd'6љ+} NvLh`ч#e?fB?R)h16''Lj 'ԩZI%[zuv6DqNf' =`תG1{{lc"fm={ӗ?cKU귗ve4Iuwo~k_x/}x+ǺswDv{0>̄@><7Bf wF(fc|ɵτXn$Ut-L ?{OzG(įZх^6'(_ƾ ͽJET xr䒙ߙHAGҚ!2"AkYJ@RS K- Bro֋eҘŴK՞=;<:8 j*"DYZ8^A.w֞LQ+-R.N@[[um,jҼLXkG\ZC9#04@AywSZ\겴=UcVHrkV ^?W0=ꋂ2e~+Ng!\&uMWsɉ@QL,;vu+WHc`m4$N1]d>%$C|mH-M3a#{|@57k:p`|7oiWAVZxX7.(m@[r׹Ssx*5*ƕvzj>ֵf[eX :y꛿/>~G4+[wq|w+iCæE5DqVcyGgwWT~ƿ5o0]ƭ+Pe gʿ+4?kE,o%39i KƼh  j]=B0ͭZhqH -43Kd(qlg*V3/aRn2aTuK.D.}ay[P _*o[4L%RϠAP{ ?japHœ( א&³f>CP\J<eR~ hj~Y} jPȏL>PO wFp*I$/P7 BP6='{cZg:elGL2LygMj&V Q2ς -AO~#,-E/ muXvq2>ڛEA=vT,2۳a}xz#`52FȤ=TqWt|( }}Kxqzat27>/|?|S?N"ZNx#܃XCMB'DMȦps넌.;{i@D,\ǧGaO9.PA|=ަ ;nm4p^!Fü>+MHSTUWWUq;DK;$4hu\})b7dk<ټ輕 ({,˳1!<:T{YؒZ&F "x hp)hiKz%u7yW5#gΠIx=Q>b |F4FLٙ(C(d>;AOiauG31 h5Np:A. ,A2K; eDՃ^]}-6>Q8r ^9v]z1x|뤔!ٽ{ФVL(9ǷdlbS#d T>}??֕:2Dɤeq)7^񍯾?ysg~L -U0]ۇl˩Tar~$@+4l_ʲ,M>X_ Y;Lpޟ5·oۓ9L F?Κ  J5f :>d1On{;ozJʜQHJx4C):` ͘$5U`OKN&\Hjp}Q>~,.KY._wAAU0T=#zȃ7vEXQQw I6̝)rK/R@?s~ܖ~O;NhgycJj0ޚۂCMi"eȧ`LZ_!)TbvH] vr\n[bGY )d+3jjBM.y8ۘOZí|]:9 /L7ˏahB P~39 T ?n.4@O +l roh)mߘl@c0Tq1 I8BεJWojU[ͫ}>xdFřfOƜ!\" Ó7_/?|7~{rX&@{;$n;itV<[.E\2a|g{rv%X }Id}E,@>H7N NĮ oݓKf۔ \ jԋ68\Jy28˼}y<6H֒67f;D f@[ `TFj=̈NDurP[o?}+2LmtM-t8$ ijG &klnщk'_kI.?{ğ>u,KhVuh>+G/PA|)㡅,M ,Sm4ݹ= 2q3B% ըY`\C4' ; A4 MATt F`xz|tL e1͝'fӦ4H`|H2.WQT֏J"k09[l%Iu(U(WZa.# w.Q&BS!*nr0y4)?,?a lrև*b]"ERp\%GmIhI|'3?@aͪ D1ue3Aq2>kǥmӫ1 xTLCdQ@8π![LDAnRjm]@)2-o[-f7,KI)V&:.\yJ[Q<Ԣza mcy?r_kTxU #}|Ԡ5"IDATN(L*=}jMXUZCWww=?ڇ>TyҕfTMN-!Z/Nk޿7_WO|>~;8=-:`r&q0*fr\þdk22w8|1Ǥq_ߓ=Lf[g{ 7+gztc." @il4vT%[xENgST{G9|fFĔ8@uʪUn\Anh1(mBSTG@jG] (?x! nu1%tD{afOp;)RCgiXQ$X)Z{.8͖դ>͚$4 d|<%ߔ z g.ߙMbIy>I]- AC༝" ^^% E^ԗ?)e CB#CB-.:LiNq-ih%SDJXP<τWɫ>:C?qj- Im20D2\տ_jO<{c+W[Elexy*Yff3ymINzGyW^xy㫟|޺A>!5 X~evݲ O<韅5+9%@6{TFNU S,YF$_"cI z+ ME@{ْp͊Nx=G]=\gf X`1c>At8>BU۰Yubv}bg"_YLFfW'i7Lgm0Pxȝ;"r:#k8c|MxM9ymE_̖PaPQWeat:wl`_#9sb~Vms+PU; LCz*Zj)VcV*Vc@y>bW©&`7n7sȞIl4H^޸ΓO_~W{m?UҜ]ثdm0'k%[yw񅗾}_y'^z;7㾙&-qLs_0vγ̻!ģGF&x,h]7F{Dg38d,30<+HI 4g  ~e|Ϡ: x#ܡ&m16(En(#/X,B+#ijfDn[- dT99;iBB )]LrAf3_VJBzγGhFK)R4;}Ay\~LXk&y td+INx2u=>#V[Ch()9mRsU>n^S h;}c͉ D!0P>a0%g,REyO=+{{{ܩw׬fn^PP2yGo~wڷCZ/*:;^;d{ʳ/ NH:/#zəUYsfSZxw^ ^Т0@ 'wP% sJXuӻ'_m+-*]*TgS5iS͏ ="Urhu4hac\ FK.͜rE1;ܿy%KYFq9)k3+L0 L%erd<^ gk3*Y놹9Ԓ}eω: ^()QOX&?t#'Pnfߺ2m0PL!*,cIlv7aBi~[[LK:쭌DIr$omb-^t>g$_p=Kcs.i!ZO)D!=1}Suks6I׷tGvx|+׶ :@uS2|SkTO`zt{^}gɯ~wϼ7޾ESm98l5"E\J"@΄=A;h/[p~dc=jV_h duWaP3? ]VP>*ae31&_^~55]+JF{.7Ѡ+`/bһ}hAiPKrqb'nV fţqM5>ˁA$^|ms{V6%z!3otOv_F-N=ډ`K\;1S)eUs2Ճ}̠X~V{e@w8g[Q7 &L6N69ܞMo W }FH ehٙeus)dK{($OOV3zkVp2{1}T*A aFC9NvWUZsA (F)mHl Uٗ3V4gW^gZ|.[)# )$XOSrT:mQx핎A'',2v[ƥJIPK6ڑy9\o8sxxxrw>0U>QS'aJ#lG/ dF3SG_o=6}*x{ $iſ9 mqo?k&W^~(oN#-ZͶf pPjD.ܘJv{I$j0 /Cޑ(SR.&rBVIWZ \P]J;oBSZI y@Y:Nj> #L1&|٢'k:j R QfIj\9sdR}iNb[ME>g"涏gn %׃mN}3cX*g;6 Saq}% 9˄*aDԛ @;MDc{fڽԺo=z}1)6/mCW?=70n:Mɰ7߸{gƧKx饯'n᫽bӈ_H"wTo*,jSj LPC3K+ǓD@޳qk\͢чG+ߣ02&|p?PA_9_d__ނV {/$<ޟuOG?Hƒ`W6fΝ'˳y,fIIp^6XMMS7.ҚnH-X1ȒhCg j+1ۯTi䩜UJyE{pVժd8A" t1|m$vHgצԝ,q%)Yx1DJgŁQ6d|@9;X6= #gaAwJlXNF%F37>`L06:[<)9>- qexò)aݕlT'O)'Q9^=6 :l5\yW?{~ǯl^kRnڪhaXA+ k'Hg;o7_}oK_>;ѹ7%OVV(@ΝӘ|ǁwz}%%6.2 Upn j"9Uh]S-R%Kjf J,:`j: }d~92ѐf(yOGͪ? q4hraz2s0B #O d>nvO]8[rYm:z(dh)ؓ879[h \ps@M:,坙ylJ jBFtwc$Ho=m=׺Uߡ)O:@%cv$cd/˯O}Ͽgo|;yK''7]\7s̕ǤynX>%qR{}FPeOUܨ8'W>XqܣcvtwCd\S"x?.V`//x{w^>ۀ',\}-f7: CrBRT.wBe$GMʥz_,mLjk4/]ݠ*$τXu4eR:6 R+λ6_妓>Ď ğѽޭ7.In(2+Iaw;/Ŭv+<'AHBe/0*,0CL v@Qt>ۀ U;PHh4A0P`qs>ݟ^|[B,qH=:~13{Gx!d0*8̆sR}&J6#,:`>Qҍ~'RXၠL1Y\ZN^+7jZ\@՚tIU5|~Hi[z{FoIVK=ǸU!eS]vgC`(o>&X14w^y s4E) nՇ<`z}'5 O4 s:}n8%%(o`rmkqm8ZJ510$Ҧ/ꥍ+*$! eѰX  {.iYy1z?g>0ΰ lߴ*qLB@6FiX^8ƈM7/̡=Gʠ:HqrVkr* R1PĊk,nvJn`FBTz(u3zM,:3 nWhDSCɠGs΁W_x'ހGf/| 's#?)v6C Vw9+ITd/}t͏U]K]\wĘ[Y' cpa6\џ Ooħ1Qpǿ4|+ßg3l@|QYb+P oONl>~G^o4[O[ -5հNݜrK\xc&~m].~Dʅa aQ4|ϬKjQ!0#qkN|/bZ͸uk;di9\nfY#jU! jgH UEX@5D".Ei:Lw ^$GWKu!N`\aB~3< dMd2MfZ72J*:T :S|D63j7e1>f>lf+YSQSO},Gw>UHh:]?2=\6OQs殕|mzAjײFNtny0q2g2Gw߁ MEFԝγͭCVLie`Tx|<>rA c|4xzj{w>Vo xmsۣMk8#aνa=$"ȈbrCq'ob9~h*i呹j N-tEs99dnij$L櫜P.Kؾ'!j`gZYՃǙXBs2jj 7ZrVg~jf:1;Jtٔ * `sj$S5-CKm&VbSN_nMW aft <٨=90 Fp6i1ʳggǀkC ALPfb=ApV#8Øϝn_QwS0mp'LNES1}c4_ܙ+/Pw|s$h\"wcʓhT_J0_66e]!yxtbJ2[{͍KI"duʕXD9ߒP`17E& I0?]C[\8 R,4CPpH ;?{>|G+?8V6&4MQZh!'>8ll>6nI<*M[.\ޫU*8X YYr|8OV#Ovi pZX&dDGC`eXt E|()9$vg"@n=hN,cJx.} 7{x9z|#79UXK+bbN@+x;>^IǧbeIfi2Rք15;D"xǴ4ϾfTlP_.0}V/ n{i@-t#ԟ>񋳭d }5r4O$f|ǐ8q~G#vuv4);;5,CʯRS++!:;i& ćI(a&k闂{?{ኝ 1d=s`zeYp~(@8_~gs\ܧ er!)U$uze˲4jw{y  &|oDg~HE4ջ28szfv%TBM3(0^@p܁,FGft?#~0˒8-ͧCP~\83DH\ ggR˛jq#alѧf,5룻MHÄy_15V贏UJX jL3-d*D0Iʥ x:TWs%!0gg/F_mPJiZ(Q.2cJ:ݓpڟXPɨ$.JN'cJ}ױ2+xczT^} >$~#ҳfΔMf!_G g_/P._s#n3,(ZBPBxBl6l@[nyx@x 8nnA-@$O@;:8QDr*!2ӗJswaER4*'CeGꛐGwހW=>3~8_z[:o / =#pSW쐎{E&@BM4 t[?H&?-ũ4B) 3鸓/MK9HaoԱ N*1XqFh(m!\ᝄ-><{ D+deKԍT4PvkX6yljPP(zHx찬3 $ 1aFfȖ><ß@s-h!E wd_ XbD&IƓLq)-p4uvf,ީ@oQ`9RypF&{^+`Y8H{>g.g@瀞gzc֑-|PȑpIW.H8٭ As,aGKM?\ÚT:= %DgR O3>L PՃ\%+Lp[26e޶#sdvS,3)2YK"s Ą|_2s 9Y6@։lIuyEX!\>m]q$|KP *0 hK}={w79 `$_]\jv&N>l偝=|^Imjv6.,&«. v,p8 (r)=iF#Pv!2ϥB`V8]o)RV4r`]/9cBYAA?ʩ-j{u tP}k ;9?1{^u*qS  ~?> |XAq<<`.a1"ONQe4受 ǢS_u䎊zNO1rLk=E Md@\/ O0Ya2 &XPmx ɩ(voSJfj@hHŸQp:u^z=gOSVBv~n!rg0U:S;PtKaM&dgo50.P~ ~68GgKսT/4=_ r+_yS|k-vZ+Nuٕň%=3zyQä`OuJjmK}؀Wu7|:Tj=JB=Uxkp99y:n j]?:RӧBu8v=[ ^H8x.Yw|eXy6>G> pgrßᛏ'6pG__JvruQ'?1rQ /6Xj.BP݇r=G.^{MZi4bpҧL.R)n't{lUCS-HZ$/p,Ĥhk*,U5˘AjJO+f{k/>%5BE>ɳpx<uQљR1bb^n0 qTO&&r1`eKr4%fyO>W;+YhO9+oSFኚ W)v/=zmó<8PgN=WM_u_06g [D-#p^mzZ}ERon.QzY,׋hDU~b)@RBq%hl@1k䠞 lyElXrr(|@r-<|0,7$M`%0rZ5F#ݭT K8HX ?Ch+kqsq*cl;rt<2by:vo:ꍆwh᱈ E,}Q`:ʟ:_G:9o8 cq'GO9CY! [[S9#0}}W~]OOjMgB_ WS .ۨqcaMYɨPZu"|4p⢉/yU:K^'}L6jG=v܇RmQ3 4[[Wy&,#-`'V'oEke'/Ʃ ~}z%}UUn-k 2=5[W {rv~6+ pY'=ubkrDMؽKzρu({Ws2~c}]7aw{=oz^|ֳo[.b{}i|S|;]r5~@I4x+`O0])'@φc=H9 q8ӮcoIL8c4ݒ FJ&$XL6-r)14ƚpe[Bb_Ax\+ ЯCqO4_AuC a3\x9S Ԇ:Wc ϮQzٗjS?;_k>^3"ϙqH$RKQ\X%`-'oit8 [KR{>Ż-S8DvvSd:qOoxS77@Kspے_wY9;Ư 7f+O?şzeKzַi3IF3+ۨ78[`';ǡ_$z;=WMSOYO0a5ϲfgcw !k3_3cz.PA:>070lq8Lo[}X֯{yDHOW憀YYx&oq*vopyӋ:5پ1Nݲ~pb姢oc:ħq@gx=߁1[s$@<1 ? ݿ9qq>eؼ\`/[>D\F]px0}O."DG 6xC3A03A=|X c`] Wô:q׃᳇`c*fisl̻@ q]\/ ~IuyqkSz$@^}t 4}SE!i Q)hEai`0Y VN>ZO$ӏrXuxC~9& {<79MI\8H?s`,=D+${ؘ.RwS,o>f^)Sv^QqK P@P1`b?~Y xh#꿫 s+O1"Ǵ41|ǰ} 1_GW;?.e'i9uX? c&6!xLWSSIxsK\Nj}Y]N'"?_G:P)m߰( #6nL I JFH:ۑ\PHKǔCIc$+D8";;39ӝᵾ:"O49#|@?5Zpzda=Qq+C˜qhȹ@Lyo/?x;~{ygW{廭6lA pS7]årn'aN3_|S0ϽéϮgm kT̜q?}Ut~Ym0}{(vTJ8:TR?UM4?a흖~VP>~T?uC+:X[uux}~g[2z8ߗ;~|X;PW \\+~g_~skqq.WZcˡ֍:IENDB`((7   >www.intel.com/software/ProductsLhttp://www.intel.com/software/Products>www.intel.com/software/productsLhttp://www.intel.com/software/products>www.intel.com/software/productsLhttp://www.intel.com/software/products/ 0DTimes New Roman( 0( 0 DArialNew Roman( 0( 0  DWingdingsRoman( 0( 0 g@ .@  @@``  @n?" dd@  @@`` }      )!!    `R$kFF#J:1y$$$$$$b$bVr@E]QXW5yc $0e0e     A@ A1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" @8st 5 g4PdPd@ 0(ppp@ <4!d!dlqt 0Q<4BdBdlqt 0Qʚ;ʚ;<4ddddl@v 0X0___PPT10 r___PPT9T/ 0? %O = $&Performance Tuning Linux* Applications''0HLinuxWorld Conference & Expo Gary Carleton Staff SW Engineer Intel Corp.IH iKAgendaIntroduction 2 Performance Tuning Issues to address CPU Execution time bottlenecks Performance sensitive CPU operations Overview of the tools Native Command Line Tools THE DEMO  Primary portion of this session Demonstration of the 2 Methodologies 'D+% 'D  +%uQSome Performance Tool Ideas The act of measuring performance shouldn t change the performance of the software Accurate, representative results with no instrumentation Low intrusive performance measurements Interrupt based sampling driven by CPUs registers Programmers need to see System-wide performance Identify the software that is consuming most of the CPU Application, shared objects, O.S. layer, device driver, & pRUU0U8U:UR08:  nP"Performance Analysis Methodologies9Goal is to be able to analyze, in detail, performance issues for a Linux* application First, gather system-wide performance data using low intrusion technologies Interrupt based sampling using CPU registers Then perform drill down analysis Start with a system wide view End with source code for performance issuesL-!J-!JmO"Performance Analysis MethodologiesDuring drill down analysis, user selects modules(s), then functions for further analysis Drill down process: Modules -> Functions -> Source Codem$jL 2 Methodologies: CPU BottlenecksIdentify source code for where the CPU is spending most of its time As program runs, gather occasional CPU context samples triggered by CPU s performance monitoring registers Low intrusion No special builds required())kM52 Methodologies: Performance Sensitive CPU OperationsAre CPU stalls affecting performance? Measure most common culprits Cache misses Misaligned data accesses Branch mispredictions TLB misses Drill down to source code for cause6CG$CG$p0bGSoftware Performance ToolsVTune"! Performance Analyzer Intel C++ Compiler Intel Fortran Compiler Intel Performance Libraries Intel Training CentercH6VTune"! Performance AnalyzerVersion 6.0 Low intrusion technology, multiple events / selection, enhanced UI 2 system solution Data is gathered on Linux* Analysis performed on Windows System Native Linux* (1 system) solutions in development now Methodologies won t change CD6 CD6  hJDemonstrationsDescription of Linux* app to be analyzed Run & Analyze the app twice: CPU time: Identify performance bottlenecks CPU stalls: Identify CPU performance issues Drill down to source code6FWFWaFSchedulebVTune"! Analyzer 6.0 Beta is available now www.intel.com/software/products Production Release Available Q1 2002 Purchase from Intel s SW website www.intel.com/software/products !3 !  3 <* H 0*I0`@4VTune"! Analyzer for Linux*aFuture versions Configurations Features Demonstration in the Exhibition Hall at the Intel booth V88/8$v  ` ̙33` 3` 3333f` 999MMM` f` f3` 3>?" dZ@(?lK_@  d @> K0 (  b  S ,A idfbac"  Z gֳgֳ ?"`` Q ? Slide Title     Tgֳgֳ ?"H  c#Body Text Second Level Third Level   $  Ntt 1?"0Z B* 2 '   fp o?"Z K* Third party brands and names are the property of their respective owners.L 2L H  0޽h? ? 3Q0 PC Board  K0 h`0(  b  S ,A idfbac"  ZLGgֳgֳ ?"@`X G T Click to edit Master title style! !  TlOGgֳgֳ ?"`@  G q=Name Title Department Intel Corporation Date of Presentation> >'   fdRG o?"Z K* Third party brands and names are the property of their respective owners.L 2L H  0޽h? ? 3Q00 'P(    TGD[ֳD[ֳ?   ~ Page *Z  9..FF\\p  01 ?0  G  TGm m  ?0  G a;Body Text Second Level Third Level Fourth Level Fifth Level <H  0_j? ? a(80___PPT10.|S5. ` N(   (  TT#D[ֳD[ֳ?`3mi PFall 00 Intel Developer Forum Conference)Z)9..FF\\  TGD[ֳD[ֳ?*7 b*Z9..FF\\H  0_j? ? a(80___PPT10.JT6j  K0 %  ~( 4?d:?$5   3 rL[Ggֳgֳ ?@`X G x  c $[Gp  G H  0޽h ? 'Qa0  0(  x  c $lG``  G x  c $@GH G H  0޽h ? 3Q   K0 pF(  ~  s *G``  G   c $L G  G H  0޽h ? ffff  0(  x  c $G`@  G x  c $GH G H  0޽h ? 3Q  0(  x  c $HG`@  G x  c $GH G H  0޽h ? 3Q  0(  x  c $TG`@  G x  c $ GH G H  0޽h ? 3Q  *(  x  c $G``  G r  S XGd` G H  0޽h ? 3Q  <(  ~  s *@Gh  G ~  s *GH G H  0޽h ? 3Qa|  ,$(  ~  s *www.intel.com/softwareOh+'0LU ,8 \ h t Performance Tuning Linux AppsterfGary CarletonniaryaryC:\Events\PC Board.potxgcarlet141Microsoft PowerPoint 4.0App@pMh@К4@@̭Z@p#tGSg  )'    """)))UUUMMMBBB999|PP3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f333f3333f3ffffff3f̙3f3f3f333f3333f3ffffff3f̙3f3ffffffffff!___wwwft V4'A x(xKʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___wwwpkppkpkkpppppppppppkppkkpkkpppkppppkppkppkpkpkppppppkNpkpkkpppppkpNpppkppkNkkpppNpppkpppkppkpkkpppppppkppkpkpkppkpkpkppppkppppkppkppkpkpkppkpppkNpkpkkpppppkpppkkpppppkppkppppkpppkpppppkppkpkkNpkpppppkpNkpppkppkppkkpkNpkppkkppkpkkpkppkpppkppkkppkpkpkpkppppppkppkkpppkpppkpkpkpkNpkpkkNpkpNpppkpNkpppkNpkppkkpkNpkpkkkpppppppkkkppkHpppkkppppppkppppkppppkpkpkkpkkppkppkkpkNppkpkpppppNpkpkppppkpkpkpkpkpppkppkppkppNkkkpkkNpppkpppkkppkpkppppkppppkpkpkkpkkppkkppkkNkNppkpkppHppNpppkppkkpppppllpkppppkppppppkkkkpkkkkpkpkppkppkpppkpkppkpkpkpppkpkkkkkpppkkpkppkpppkppkkpppkpkppkkpppppkkpkppppkppkpppkkkkppkkkpkpkppkppkpkpkpkppkpkpkpppkpkkkkppkpkpkpkkkqIpkpkppkkkpppkpkppkpkpkpkkpkpkppkppkpkpkpkkkpkpppppkkpppkkkkppkpkpkpppkkkpkpkpkpkkkkkppkppkpkppkkpkpppkpkppkpkpkpkkpkpkppkppkpkpkpHkkkkpppppplqklqlrlllpkkpppkpkkkkppppkpkkpkkkpkpkpkkpkpkkkpkppkkkkkpkpkkppppkkpkpkkpkppppkkpkkpkpppkpkkkpkpkpkpkkkkkkppkkpkpkkkpkkkpkkkpkkpkpkkkpkpppkkkkpprrqkppkkpppkpkkkpkppkkpkppkppkkkkpppkppppkkkkpkppkpkkkpkkkpkkkpkpkpkpkkHkkpkpkkkkpkpkkqkpkpkpkkkkkkpkpkpkpkkkkkkkpkpkpkkkpkpkpkpkkkkppkkpkkkpkkkpkpkkkkkkkkkpkkpkkkkkpkkkkpkkkkkkkpkkpkkpkpkpkkpkkkpkppkpkkkpkpkkkpkppqpkpppkkpkppkpkpkpkpkkkkkpkkkkkkpkkkkkkkkkkkkkkppkkppkkkkkkpkkpkppkkkpkpkkkkkkkpkkkkpkpkkkkkkkpkkkkkkkkkpkkkkkkkkpqkkkkpkkpkkpkkkkkkkkkpkkpkkpkkppkkpkkkkkkppkkpkkpkpkpkkkkkkkkkkkkpkkpkkkkpkkkpkkkkkkkkkkkpkkpkkpkkpkkkkppkkpkkkkpkkpkkkpkkppkkkkkkkkkkkkkpkkkkkkkkkkpkkkkkkkkpkkkkkkkpkkkkpkkkkkkkkkkkkpkkkkkkkkkkkkkkkkkpkkkkkkkkkkpqlkkkkkkkpkkkkkkkkkkkpkkkkkpkkkkkkkkkkkkkkkkkkkkkkkkkkkpkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkekkkkkkkkkkkkkkkkkkkkkkkkkkkekkkkkkkkkkkkkkkkkkkkekkkekkkkkkkkkkkkkkkkkkkkkekkkekkkkkkkkekkkkkkkkkkkkekkekekkekkkkkkkkkkkkkkkkkkkkekkkkkkkkkkkkkkkkkkkkkkekkkkkkkkekkkkkkkkkkkekkekkekkkkkkkkkkkkekkkkkkkekkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkekkekekkkkkkkkkkekkkkkkkekkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkekkkkkeeekkekkekkkkkkkkkkkkkkkekkkkkkkkkkkkkkkkkkkkkkkkkekekkeekkkekkkkkekkkkkkkkkekkkkkekkkkekkkekkkkkekkkkkkkkkkkkekekekkkkeekkkkeekkkkkkeeeekkeeeekkkkekekkkkkeekeekekkkeeeeeekeekkekkkkkkkkekkkekkeekekekekkkkekkkeeekkkeekkekeekeeekeeekekkeeekkkeekekekeekeekekekekeeekekeeekkkeeeeeeeeeeeeeeeeeeeeeeeeǦeǦǦǦǦǦeeeeeeeǦǦǦǦDžǦǦǦeeeǦǦeǦDžǦǦeǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦDžǦǦǦǦǦǦDžǦǦǦǦǦǦDžDžǦǦǦǦǦDžDžǦǦǦǦǦDžǦDžǦǦǦǦǦǦǦǦDžǦǦDžǦǦǦǦǦǦǦǦǦǦǦǦǦǦDžǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦDžǦǦǦǦǦǦǦǦǦDžǦǦǦDžǦǦǦDžǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦDžǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦNJNJǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦNJǦǦǦǦǦǬǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǬǦǦǦNJǦǦǦǦǦǦǦǦǦNJǦǦǦNJǦǬǦǦǦǦǦNJǦǦNJǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦNJǦǦNJNJǦǦNJǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦNJǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦǦeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee_eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee_eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee_eee_eeeeeeeeeeeeeeeeeeeeeeeeeeeeee_eee_eeeeeeeeee_eeeeeeeeeeeeeeeeeee_eeee88ee88eeeeee_eeee_e_eeeeeeeeeeeeeeeeeee_eeeeeeee_e_ee__e__eeee_8888e_ee_eeeee_eeee_eeeee_e_eeeeeee_eeeee8888888888e88e888888888eee_e88e8888888888888888888888888e88888888888888eeeeeeeeeeeeeeeeeeeeee_eeee_ee88ee8888e8888_888888ee_e888888_8888e8888888888e8888888888e8888_888888eeeee_eeeee_eeeee_ee_ee_e___eee_e88ee_8888888888888ee_e_8888888888888_88888888_e_888888_88888888888888eeeeeeee_eee_e__eeeeee_ee_ee_e_e_eee88__8888e888888888ee_e8888e888888888888888888888888e8888_888888_e_ee_ee_eeeee__e_eeee_eee_e___eeee_ee_88ee_888888e88e8888888e8e_8888e88888888_88888888e8e8888888888e88888888_e_e_eee_ee_e_eeeee_ee__e____eeeeee_ee_e_88e_ee88e88888888888e88ee8_e_8888e_88888e88888ee8888ee888__888_8888e88_8888_88888e8888eee_eee_eeeeeee_e__eee_ee_eeee_e__e_e_eee88_ee_e_e_e_eee___ee_888_eeee888_eeee__ee88e_ee_ee88e_e_e_eeee_e_e_ee_e_e_e_eee___ee_e_e_eeeee_e_eeeee__ee_e_eeeee_e_88_e_e88_eee_eee_ee_eee_e8ee_ee888_e_e___eeeeee__88e88_eee_e_e_e__8e_88ee_ee_e___e_e__eee_eee_ee_eee_eeee_eeee_e_e___ee_ee_ee_e__e_ee_ee__eeee_eee__eeee__e_ee_ee__e_e_e_e___e__eee_eeee_e_ee__ee_ee_e__e_ee_ee__eeee_eee__eeee__e_ee_ee__e_e_e_e____ee_e___ee_ee_ee__ee__e__e_e_eee_____ee__e_ee__ee___ee_eee_ee__ee__e_ee_e_e__eee___ee_ee_ee__e__e_e_eee_____ee__e_ee__ee___ee_eee_e__ee__ee__eee__ee_e_e_e_e_e__e_eeee_ee_eee_ee_ee__e_ee___ee_e___ee_e_e_e__eee_e_e__ee__ee__eee__ee_e_e8888e__e_eeee_ee_eee_ee_ee__e_ee___eee_eee___e__ee_e__e__ee__ee_e____eee___eee_e__ee__e_eee___8_88eeee_e_e__e___e__e__e__ee_e__e_eeee_e_e___e_eee__e_e_88ee_e_888888_88_888888e8888_88e888888_88_8888888e__e88_e8888888_888888e88_88888___e_e_e__e_e_e_e_e_e_e_eee_e_____e_e_e_e_____ee_ee_88e___888888ee8888_8888e88e88e88888888e88888888_88e_eee_88_88_8888e888888e888888e_ee_e_e_e__e_e_ee_ee_e_e_e_____eeee_e__e__e_ee___e___88_8888__8888B8888_88_88_88888888e8888ee88__e__88e88_8888_888888_8888_88ee__e_e__eB___e___e__e_e___e_eee____ee_ee_e_ee__e_e_e_e8888888888888_<8888_8888e88e88e88_888888_8888_888888e__e_88_88e8888_888888B8888e88___www.intel.com/software/ProductsLhttp://www.intel.com/software/Products>www.intel.com/software/productsLhttp://www.intel.com/software/products>www.intel.com/software/productsLhttp://www.intel.com/software/products/ 0DTimes New Roman 0 0DArialNew Roman 0 0 DWingdingsRoman 0 0g@ .@  @@``  @n?" dd@  @@`` }      )!!    `R$kFF#J:1y$$$$$$b$bVr@E]QXW5yc $0e0e     A@ A1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" @8st 5 g4PdPd  0(ppp@ <4!d!dLqt 0Q<4BdBdLqt 0Qʚ;ʚ;<4ddddL@v 080___PPT10 r___PPT9T/ 0? %O =# $&Performance Tuning Linux* Applications''0HLinuxWorld Conference & Expo Gary Carleton Staff SW Engineer Intel Corp.IH iKAgendaIntroduction 2 Performance Tuning Issues to address CPU Execution time bottlenecks Performance sensitive CPU operations Overview of the tools Native Command Line Tools THE DEMO  Primary portion of this session Demonstration of the 2 Methodologies 'D+% 'D  +%uQSome Performance Tool Ideas The act of measuring performance shouldn t change the performance of the software Accurate, representative results with no instrumentation Low intrusive performance measurements Interrupt based sampling driven by CPUs registers Programmers need to see System-wide performance Identify the software that is consuming most of the CPU Application, shared objects, O.S. layer, device driver, & pRUU0U8U:UR08:  nP"Performance Analysis Methodologies9Goal is to be able to analyze, in detail, performance issues for a Linux* application First, gather system-wide performance data using low intrusion technologies Interrupt based sampling using CPU registers Then perform drill down analysis Start with a system wide view End with source code for performance issuesL-!J-!JmO"Performance Analysis MethodologiesDuring drill down analysis, user selects modules(s), then functions for further analysis Drill down process: Modules -> Functions -> Source Codem$jL 2 Methodologies: CPU BottlenecksIdentify source code for where the CPU is spending most of its time As program runs, gather occasional CPU context samples triggered by CPU s performance monitoring registers Low intrusion No special builds required())kM52 Methodologies: Performance Sensitive CPU OperationsAre CPU stalls affecting performance? Measure most common culprits Cache misses Misaligned data accesses Branch mispredictions TLB misses Drill down to source code for cause6CG$CG$p0bGSoftware Performance ToolsVTune"! Performance Analyzer Intel C++ Compiler Intel Fortran Compiler Intel Performance Libraries Intel Training CentercH6VTune"! Performance AnalyzerVTune Analyzer for Linux*, C  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)vwx@PicturesCurrent UserSSummaryInformation(|Uw    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqy /ProductsLhttp://www.intel.com/software/Products>www.intel.com/software/productsLhttp://www.intel.com/software/products>www.intel.com/software/productsLhttp://www.intel.com/software/products/ 0DTimes New Roman 0 0DArialNew Roman 0 0 DWingdingsRoman 0 0g@ .@  @@``  @n?" dd@  @@`` }      )!!    `R$kFF#J:1y$$$$$$b$bVr@E]QXW5yc $0e0e     A@ A1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" @8st 5 g4PdPd  0(ppp@ <4!d!dLqt 0Q<4BdBdLqt 0Qʚ;ʚ;<4ddddL@v 080___PPT10 r___PPT9T/ 0? %O = $&Performance Tuning Linux* Applications''0HLinuxWorld Conference & Expo Gary Carleton Staff SW Engineer Intel Corp .IH iKAgendaIntroduction 2 Performance Tuning Issues to address CPU Execution time bottlenecks Performance sensitive CPU operations Overview of the tools Native Command Line Tools THE DEMO  Primary portion of this session Demonstration of the 2 Methodologies 'D+% 'D  +%uQSome Performance Tool Ideas The act of measuring performance shouldn t change the performance of the software Accurate, representative results with no instrumentation Low intrusive performance measurements Interrupt based sampling driven by CPUs registers Programmers need to see System-wide performance Identify the software that is consuming most of the CPU Application, shared objects, O.S. layer, device driver, & pRUU0U8U:UR08:  nP"Performance Analysis Methodologies9Goal is to be able to analyze, in detail, performance issues for a Linux* application First, gather system-wide performance data using low intrusion technologies Interrupt based sampling using CPU registers Then perform drill down analysis Start with a system wide view End with source code for performance issuesL-!J-!JmO"Performance Analysis MethodologiesDuring drill down analysis, user selects modules(s), then functions for further analysis Drill down process: Modules -> Functions -> Source Codem$jL 2 Methodologies: CPU BottlenecksIdentify source code for where the CPU is spending most of its time As program runs, gather occasional CPU context samples triggered by CPU s performance monitoring registers Low intrusion No special builds required())kM52 Methodologies: Performance Sensitive CPU OperationsAre CPU stalls affecting performance? Measure most common culprits Cache misses Misaligned data accesses Branch mispredictions TLB misses Drill down to source code for cause6CG$CG$p0bGSoftware Performance ToolsVTune"! Performance Analyzer Intel C++ Compiler Intel Fortran Compiler Intel Performance Libraries Intel Training CentercH6VTune"! Performance AnalyzerVersion 6.0 Low intrusion technology, multiple events / selection, enhanced UI 2 system solution Data is gathered on Linux* Analysis performed on Windows System Native Linux* (1 system) solutions in development now Methodologies won t change CD6 CD6  hJDemonstrationsDescription of Linux* app to be analyzed Run & Analyze the app twice: CPU time: Identify performance bottlenecks CPU stalls: Identify CPU performance issues Drill down to source code6FWFWaFSchedulebVTune"! Analyzer 6.0 Beta is available now www.intel.com/software/products Production Release Available Q1 2002 Purchase from Intel s SW website www.intel.com/software/products !3 !  3 <* H 0*I0`@4VTune"! Analyzer for Linux*aFuture versions Configurations Features Demonstration in the Exhibition Hall at the Intel booth V88/8$vrl_Q H_vk*)(7  _AuthorEmailDisplayNameA'http://www.intel.com/software/Products'http://www.intel.com/software/products)_lCraig ChamberlainCraig Ch'http://www.intel.com/software/productsr:Final slides for LinuxWorld expo (C24) Perf. Tuning Linuxgary.carleton@intel.comCarleton, Garyamberlainrmance Analysis Methodologies)2 Methodologies: Performance Bottlenecks.2 Methodologies: Programmatic Flow of controlSoftware Performance ToolsVTune Performance AnalyzerDemonstrations ScheduleVTune Analyzer for Linux*  Fonts UsedDesign Template Slide Titles  8@ _PID_HLINKSA'http://www.intel.com/software/Products'http://www.intel.com/software/products'http://www.intel.com/software/productsare/pr_lgcarletgcarlet_gcarletgcarletommand Line version Low intrusion technology System wide analysis Runs natively on Linux* Previous version required Windows system for Analysis Port of previously existing Windows based tool Analysis performed on Linux system Native Linux* (1 system) solutions in development now Methodologies won t change0U.UU6U/U#U6UU0.6/#  6    RhJDemonstrationsDescription of Linux* app to be analyzed Run & Analyze the app twice: CPU time: Identify performance bottlenecks CPU stalls: Identify CPU performance issues Drill down to source code6FWFWaFSchedulebVTune"! Analyzer 6.0 Beta is available now www.intel.com/software/products Production Release Available Q1 2002 Purchase from Intel s SW website www.intel.com/software/products !3 !  3 <* H 0*I0`@4VTune"! Analyzer for Linux*aFuture versions Configurations Features Demonstration in the Exhibition Hall at the Intel booth V88/8$v|  ,$(  ~  s *www.intel.com/software/ProductsLhttp://www.intel.com/software/Products>www.intel.com/software/productsLhttp://www.intel.com/software/products>www.intel.com/software/productsLhttp://www.intel.com/software/products/ 0DTimes New Roman 0 0DArialNew Roman 0 0 DWingdingsRoman 0 0g@ .@  @@``  @n?" dd@  @@`` }      )!!    `R$kFF#J:1y$$$$$$b$bVr@E]QXW5yc $0e0e     A@ A1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" @8st 5 g4PdPd  0(ppp@ <4!d!dLqt 0Q<4BdBdLqt 0Qʚ;ʚ;<4ddddL@v 080___PPT10 r___PPT9T/ 0? %O = $&Performance Tuning Linux* Applications''0HLinuxWorld Conference & Expo Gary Carleton Staff SW Engineer Intel Corp.IH iKAgendaIntroduction 2 Performance Tuning Issues to address CPU Execution time bottlenecks Performance sensitive CPU operations Overview of the tools Native Command Line Tools THE DEMO  Primary portion of this session Demonstration of the 2 Methodologies 'D+% 'D  +%uQSome Performance Tool Ideas The act of measuring performance shouldn t change the performance of the software Accurate, representative results with no instrumentation Low intrusive performance measurements Interrupt based sampling driven by CPUs registers Programmers need to see System-wide performance Identify the software that is consuming most of the CPU Application, shared objects, O.S. layer, device driver, & pRUU0U8U:UR08:  nP"Performance Analysis Methodologies9Goal is to be able to analyze, in detail, performance issues for a Linux* application First, gather system-wide performance data using low intrusion technologies Interrupt based sampling using CPU registers Then perform drill down analysis Start with a system wide view End with source code for performance issuesL-!J-!JmO"Performance Analysis MethodologiesDuring drill down analysis, user selects modules(s), then functions for further analysis Drill down process: Modules -> Functions -> Source Codem$jL 2 Methodologies: CPU BottlenecksIdentify source code for where the CPU is spending most of its time As program runs, gather occasional CPU context samples triggered by CPU s performance monitoring registers Low intrusion No special builds required())kM52 Methodologies: Performance Sensitive CPU OperationsAre CPU stalls affecting performance? Measure most common culprits Cache misses Misaligned data accesses Branch mispredictions TLB misses Drill down to source code for cause6CG$CG$p0bGSoftware Performance ToolsVTune"! Performance Analyzer Intel C++ Compiler Intel Fortran Compiler Intel Performance Libraries Intel Training CentercH6VTune"! Performance AnalyzerVTune Analyzer for Linux*, Command Line version Low intrusion technology System wide analysis Runs natively on Linux* Previous version required Windows system for Analysis Port of previously existing Windows based tool Analysis performed on Linux system Native Linux* (1 system) solutions in development now Methodologies won t change0U.UU6U/U#U6UU0.6/#  6    hJDemonstrationsDescription of Linux* app to be analyzed Run & Analyze the app twice: CPU time: Identify performance bottlenecks CPU stalls: Identify CPU performance issues Drill down to source code6FWFWaFSchedulebVTune"! Analyzer 6.0 Beta is available now www.intel.com/software/products Production Release Available Q1 2002 Purchase from Intel s SW website www.intel.com/software/products !3 !  3 <* H 0*I0`@4VTune"! Analyzer for Linux*aFuture versions Configurations Features Demonstration in the Exhibition Hall at the Intel booth V88/8$vrQ vk((7   >www.intel.com/software/ProductsLhttp://www.intel.com/software/Products>www.intel.com/software/productsLhttp://www.intel.com/software/products>www.intel.com/software/productsLhttp://www.intel.com/software/products/ 0DTimes New Roman 0 0DArialNew Roman 0 0 DWingdingsRoman 0 0g@ .@  @@``  @n?" dd@  @@`` }      )!!    `R$kFF#J:1y$$$$$$b$bVr@E]QXW5yc $0e0e     A@ A1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" @8st 5 g4PdPd  0(ppp@ <4!d!dLqt 0,<4BdBdLqt 0,ʚ;ʚ;<4ddddL@v 080___PPT10 r___PPT9T/ 0? %O = $&Performance Tuning Linux* Applications''0HLinuxWorld Conference & Expo Gary Carleton Staff SW Engineer Intel Corp.IH iKAgendaIntroduction 2 Performance Tuning Methodologies CPU Execution time bottlenecks Flow of control Overview of the tools Native Command Line Tool THE DEMO  Primary portion of this session Demonstration of the 2 Methodologies #/+% #/  +%uQSome Performance Tool Ideas The act of measuring performance shouldn t change the performance of the software Accurate, representative results with no instrumentation Low intrusive performance measurements Interrupt based sampling driven by CPUs registers Programmers need to see System-wide performance Identify the software that is consuming most of the CPU Application, shared objects, O.S. layer, device driver, & pRUU0U8U:UR08:  nP"Performance Analysis Methodologies9Goal is to be able to analyze, in detail, performance issues for a Linux* application First, gather system-wide performance data using low intrusion technologies Interrupt based sampling using CPU registers Then perform drill down analysis Start with a system wide view End with source code for performance issuesL-!J-!JmO"Performance Analysis MethodologiesDuring drill down analysis, user selects modules(s), then functions for further analysis Drill down process: Modules -> Functions -> Source Codem$jL 2 Methodologies: CPU BottlenecksIdentify source code for where the CPU is spending most of its time As program runs, gather occasional CPU context samples triggered by CPU s performance monitoring registers Low intrusion No special builds required())kM52 Methodologies: Performance Sensitive CPU OperationsAre CPU stalls affecting performance? Measure most common culprits Cache misses Misaligned data accesses Branch mispredictions TLB misses Drill down to source code for cause6CG$CG$p0bGSoftware Performance ToolsVTune"! Performance Analyzer Intel C++ Compiler Intel Fortran Compiler Intel Performance Libraries Intel Training CentercH6VTune"! Performance AnalyzerVTune Analyzer for Linux*, Command Line version Low intrusion technology System wide analysis Runs natively on Linux* Previous version required Windows system for Analysis Port of previously existing Windows based tool Analysis performed on Linux system Native Linux* (1 system) solutions in development now Methodologies won t change0U.UU6U/U#U6UU0.6/#  6    hJDemonstrationsDescription of Linux* app to be analyzed Run & Analyze the app twice: CPU time: Identify performance bottlenecks CPU stalls: Identify CPU performance issues Drill down to source code6FWFWaFSchedulebVTune"! Analyzer 6.0 Beta is available now www.intel.com/software/products Production Release Available Q1 2002 Purchase from Intel s SW website www.intel.com/software/products !3 !  3 <* H 0*I0`@4VTune"! Analyzer for Linux*aFuture versions Configurations Features Demonstration in the Exhibition Hall at the Intel booth V88/8$v  0(  x  c $t``   x  c $'H  H  0޽h ? 3QriK vA)(7   >www.intel.com/software/ProductsLhttp://www.intel.com/software/Products>www.intel.com/software/productsLhttp://www.intel.com/software/products>www.intel.com/software/productsLhttp://www.intel.com/software/products/ 0DTimes New Roman 0 0DArialNew Roman 0 0 DWingdingsRoman 0 0g@ .@  @@``  @n?" dd@  @@`` }     )!!    `R$kFF#J:1y$$$$$$b$bVr@E]QXW5yc $0e0e     A@ A1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" @8st 5 g4PdPd  0(ppp@ <4!d!dLqt 0,<4BdBdLqt 0,ʚ;ʚ;<4ddddL@v 080___PPT10 r___PPT9T/ 0? %O =: $&Performance Tuning Linux* Applications''0HLinuxWorld Conference & Expo Gary Carleton Staff SW Engineer Intel Corp.IH iKAgendaIntroduction 2 Performance Tuning Methodologies CPU Execution time bottlenecks Flow of control Overview of the tools Native Command Line Tool THE DEMO  Primary portion of this session Demonstration of the 2 Methodologies #/+% #/  +%uQSome Performance Tool Ideas The act of measuring performance shouldn t change the performance of the software Accurate, representative results with no instrumentation Low intrusive performance measurements Interrupt based sampling driven by CPUs registers Programmers need to see System-wide performance Identify the software that is consuming most of the CPU Application, shared objects, O.S. layer, device driver, & pRUU0U8U:UR08:  nP"Performance Analysis Methodologies4Goal is to be able to analyze, in detail, performance issues for a Linux* application Identify Performance Bottlenecks Interrupt based sampling using CPU registers Examine flow of control through the app Which functions took the longest Which functions were blocked the longest Calling sequence critical pathLw-(iw-(ijL(2 Methodologies: Performance Bottlenecks Sample the CPU s execution context As program runs, gather occasional CPU context snapshots triggered by CPU s performance monitoring registers Low intrusion No special builds required Sample rate set to provide statisitcally meaningful data Based on CPU clock speed or can be auto-calibrated Can measure performance sensitive CPU events Cache misses, branch mispredictions, & U)U9U3U-U'U)93-'  , kM-2 Methodologies: Programmatic Flow of controlInstrumented technology Some performance degradation Binary is instrumented  No special build needed Identifies function to function calling sequences Reports statistics for each called function Execution time Blocked time Calling sequences & frequency of occuranceTN^GN^G bGSoftware Performance ToolsVTune"! Performance Analyzer Intel C++ Compiler Intel Fortran Compiler Intel Performance Libraries Intel Training CentercH6VTune"! Performance AnalyzerVTune Analyzer for Linux*, Command Line version Low intrusion technology System wide analysis Runs natively on Linux* Previous version required Windows system for Analysis Port of previously existing Windows based tool Analysis performed on Linux system0.6/#0.6/#hJDemonstrationsDescription of Linux* app to be analyzed Run & Analyze the app twice: CPU time: Identify performance bottlenecks Flow of control through the program&FOFOaFScheduleVTune"! Analyzer for Linux*, Command Line version Beta is available now www.intel.com/software/products Production Release Available Q1 2003 Purchase from Intel s SW website www.intel.com/software/products 1!3 1!  3 <G H 0Gf0`@4VTune"! Analyzer for Linux*aFuture versions Configurations Features Demonstration in the Exhibition Hall at the Intel booth V88/8$v  0(  x  c $I`@  I x  c $IH I H  0޽h ? 3Q  0(  x  c $I`@  I x  c $IH I H  0޽h ? 3Q  *(  x  c $ I``  I r  S Id` I H  0޽h ? 3Q|  ,$(  ~  s *j``  j ~  s *|I  I x  BA o?"@ AH  0޽h ? 3Qa  0(  x  c $6j``  j x  c $LAjH j H  0޽h ? 3Q  *( Y  x  c $9j``  j r  S Rj| j H  0޽h ? 3Qar4a;c37h9j I3A5nQ1$ =v*(7   >www.intel.com/software/ProductsLhttp://www.intel.com/software/Products>www.intel.com/software/productsLhttp://www.intel.com/software/products>www.intel.com/software/productsLhttp://www.intel.com/software/products/ 0DTimes New Roman 0 0DArialNew Roman 0 0" DWingdingsRoman 0 0@ .@  @@``  @n?" dd@  @@`` }     )!!    `R$kFF#J:1y$$$$$$b$bVr@E]QXW5yc $0e0e     A@ A1 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||S" @8st 5 g4PdPd  0(ppp@ <4!d!dLqt 0,<4BdBdLqt 0,ʚ;ʚ;<4ddddL@v 080___PPT10 r___PPT9T/ 0? %O = $&Performance Tuning Linux* Applications''0HLinuxWorld Conference & Expo Gary Carleton Staff SW Engineer Intel Corp.IH iKAgendaIntroduction 2 Performance Tuning Methodologies CPU Execution time bottlenecks Flow of control Overview of the tools Native Command Line Tool THE DEMO  Primary portion of this session Demonstration of the 2 Methodologies #/+% #/  +%uQSome Performance Tool Ideas The act of measuring performance shouldn t change the performance of the software Accurate, representative results with no instrumentation Low intrusive performance measurements Interrupt based sampling driven by CPUs registers Programmers need to see System-wide performance Identify the software that is consuming most of the CPU Application, shared objects, O.S. layer, device driver, & pRUU0U8U:UR08:  nP"Performance Analysis Methodologies4Goal is to be able to analyze, in detail, performance issues for a Linux* application Identify Performance Bottlenecks Interrupt based sampling using CPU registers Examine flow of control through the app Which functions took the longest Which functions were blocked the longest Calling sequence critical pathLw-(iw-(ijL(2 Methodologies: Performance Bottlenecks Sample the CPU s execution context As program runs, gather occasional CPU context snapshots triggered by CPU s performance monitoring registers Low intrusion No special builds required Sample rate set to provide statisitcally meaningful data Based on CPU clock speed or can be auto-calibrated Can measure performance sensitive CPU events Cache misses, branch mispredictions, & U)U9U3U-U'U)93-'  , kM-2 Methodologies: Programmatic Flow of controlInstrumented technology Some performance degradation Binary is instrumented  No special build needed Identifies function to function calling sequences Reports statistics for each called function Execution time Blocked time Calling sequences & frequency of occuranceTN^GN^G bGSoftware Performance ToolsVTune"! Performance Analyzer Intel C++ Compiler Intel Fortran Compiler Intel Performance Libraries Intel Training CentercH6VTune"! Performance AnalyzerVTune Analyzer for Linux*, Command Line version Low intrusion technology System wide analysis Runs natively on Linux* Previous version required Windows system for Analysis Port of previously existing Windows based tool Analysis performed on Linux system0.6/#0.6/#hJDemonstrationsDescription of Linux* app to be analyzed Run & Analyze the app twice: CPU time: Identify performance bottlenecks Flow of control through the program&FOFOaFScheduleVTune"! Analyzer for Linux*, Command Line version Beta is available now www.intel.com/software/products Production Release Available Q1 2003 Purchase from Intel s SW website www.intel.com/software/products 1!3 1!  3 <G H 0Gf0`@4VTune"! Analyzer for Linux*Future versions Configurations Features Demonstration in the Exhibition Hall at the Intel booth, #638 Intel Compiler session:  Using C++ Compiler Options to improve Linux-based application performance Thursday January 23 4-5pm VLVL  /8$v   #( w x  c $ J&` 0  & x  c $J&@| & C  S ~R&d @ 1? ` www.intel.com/software/products*  0  C xd @ 1?P 0H  0޽h ? 3Qar>`h$ =lvRoot EntrydO)HftxPicturesCurrent User5SummaryInformation(|U   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqwyzv r:Final slides for LinuxWorld expo (C24) Perf. Tuning Linuxgary.carleton@intel.comCarleton, GaryPowerPoint Document( mDocumentSummaryInformation8՜.+,D՜.+,\     On-screen ShowIntel Corporationt mb  Times New RomanArial Wingdings PC Board'Performance Tuning Linux* ApplicationsAgendaSome Performance Tool Ideas#Performance Analysis Methodologies)2 Methodologies: Performance Bottlenecks.2 Methodologies: Programmatic Flow of controlSoftware Performance ToolsVTune Performance AnalyzerDemonstrations ScheduleVTune Analyzer for Linux*  Fonts UsedDesign Template Slide Titles D@`h _PID_HLINKS_AdHocReviewCycleID_EmailSubject _AuthorEmail