ࡱ>    n  d9;j9RPNG  IHDRIIFPLTE!!!)))111999BBBRRRZZZccckkksss{{{νεB99ƽ޵Υޭ筭ﭭޜss֌甔{{ބ9!!焄{{ccRRZZ9ZZ991{B1R11kJJ!k)s){)s99֭91){!JB9)!))J9!)sJkB1!B9)ƥνkcZJ)kR!B1ZB9)sRR91!skZRJ91)έc{Bs9c)cJ{{Z!Ɯsc9kZ1kƥR{9޵RRΥB֭BƜ1֥)!)Μ!!B1cƔΜZBcJcZBޔބ{JBcB޵Bs)1֭9BBƜ!)֥!ޭ!!!!kJ9!޽kޥZR9JB){ssc191JέJZRRZJ9!1Υ!{!Ɯs﵄{ZcZ99ƥ1{!{cƥkcB911))!JJ9))ֽƔ֜ﭵ省֌甜ތ{Zc{ksZcks{ksckRZZcRZJRJRJR9BBJ9B9B19)1!))1!)!))1KX8tRNSS%bKGD IDATx E8䢢 )Q $hA dC!I)P$ǑCW%^rA*+`0.Hzlg7A-Nvnw^@DAOB *ߑ 95|SUUIdFS3@QBlP*( iL`I*\<*U)fRVcS5 d*hrʌ!B8X91ŰI]Ӭ!e),KVMM4!$%?dԤ3BHg%]7 `@@ BGqX hK $EC5 d|,:[$4D8 @T=nQu͚A&3L8>+sD&\-0W~w.+oo?vBSe P=4i[ǷnOoHqVu.^`YP-sen۰dӡdZ獎n&X㸖? z[×|{I s:xtnitl䃭$BTI$JZQ_?qᛃg~hȴp~}l>l1U$Pcԙ/,9@~gSS[9p`mض݇K^׾/qGH/E<PM,Be3%'#pi1yD \-=МCqz5SAu-8TB-q&g#qB{c-uD#,#9f; %weuR&hG'> *ζ匄"^Aq_g$&S\}'yWpes߀ǐd l vǻꫮ*e)9ȯ\j:ԥCs#KP.[jb$$8cQGC'9-QTn dzyvo'ɡ$㎬tχFڵsEU&lQJ:Hi: ;efB2kۻ/F!mʤ $nP͔mզŌـ*@ M4'e&)sÏr]z)jq~K#a12$"4NĬUyp{|~%{w+9TAt}02haXgv9/i헻woz-R򼾡T1!мM&@K¢Ufrǰ-ԗS"54.eN8xIar/^>~?.͛ױ]+wugM~M2շ*A񲢥E Pe Zhj(/b_O43D9@FO;0"Z \Ӄ5:1MSҲ(YӐ衃X0M|4Y6sL#-iuNE;FT)Lka(Y* 1?Q90FC:% hU%A*($8$#BܔŴ 8[} 1iJB "xRiN V&1_Uk.8r2 z-Pu 2SQ$o!aH s+wĨpbASSBT>i()xR^@b?7$ي$bA)^^;?a2|cox'_LܿrZ4&aIENDB`n%%9Vc)(PNG  IHDRNfPLTEƽ{{{ssscccZZZRRRJJJBBB999111)))ֽ޽޵ﵵ筭{ZZﭭΔ便Ό眜甔΄ss9!!焄sscckkcc9RR11)Z1JBR1c1R!{)9Z)s!1)!k!)!Z9){!)B11!ZBν91!kZ9ZJ)k9RB!R91!νsskZJB1Δ΄s9k1Ɣ!cJ{{ZJƥRcR){9޵RRJRB9Ɯ1J91sZ1֥)!!ƔcB1ΜZBcJƄބsBBέRƥJZBcR!޵BB֭9{c!B)Ɯ)֥!ޭ!sZ!kJ9!ZR9RJ1{JB){{Bsc1JέJZR1)R{)19)!1k{!Ɯ{ks1sc)9cR{cƥckcB{k)91)!Υ91cZ)ZZR991JJ9!!ֵ֥祭{Zc甜ތք焌{s{JRZckksckZcRZJRJRJRBJ9BBJ9B199B1919)1!))1!))1"̙WtRNS@fbKGD IDATx{^UM$$cVaGPKZJJ@*h <6IV65HĎp5*E9?jRJ+ }͝NB@a;w͜9g(jYv(zV^ɯ~76iW.nB]O{I+_|G~Gq;}eֻiѮ%ӗ.<ԯ7Ɖ޾iEY~Nw=^}<;_H@_y}96NӲ,z {R0n3cG4M#|zyggkgmu߰LY(I I;`&|3[$,U`tH$Wtv)?*US{$ G*6Ma# ͈PTe[ic oݔDa4bٴ"m[/$iAj9I-2*@7- <2RVFi-+3Smz??N8};1n]Zy aIenI.YC0*F=QQbYg$?R׫ o LcU `PД(IԳwT鎃a1k'3!}ö{6؜~I1?z)u'~or (;{(ptЭeD<* GKZ(5πRe ,F޶A:*c]&8ŨbFNmuN)[`3K4D%N"PjR5,ͬs콣3!s$x (η+Օ˗_ ZU;WO@ѱN0c쒠JJQ& ({#{0dU^vϩqΊSuѢ"Eߩ.PKS ĀJ(U9ŐEE#/FIHfUbaSUݯ9oruq{7B\qS_-O1H&~ͷac}?`M,1j{5:3Auwm3ȵrMp+_ږeD_9h$l>M`d DQ(ƺ3ҨkԖ6UX-!HOQo/E\ R0ixEٕSC&'*kgHtS)Ey9bQM%R"^HH0 ưjNzu! qX~!mG+!]Q"Ő ^YQ: ơx,q+ ֝oD ~f 1^rpf+5 1D ݠ'mxqSI+{;G$n9 ؞f+n2=^@3a=AͫRhq HN].OAaJ 5k*׻)qqM5Y}sw5P$st~2 ÕL,釭K<.ojš>do3S[˦hAIaa͕ޣB}|Wr۝6xә0pt;Ϫ 5Pݴ {-}[v[^ϳ5h] 4&PDž3???-լ0̐t9"Dc(BXcM +%h k4J|d7;S'- fkK?mhY"fMӴJRXU?4Ŵ+wC1WoaC!D2MCwSZNK6?ewTk౓1%*[T\W}<P Usz<rcjգJC'S}[yaLc~[-v+ g,ELj1(gxH<+EtRdN5=d ;ұ T^H* J5Ӷ{lmYlQ`ҊER]*ERI}7gĪlsB1kXL9wyWmVwi 4wRщpg|TdٸJqHc^OUncGSHz.Iy2FQd;4[JةGj|[\P5"!6-t^o!ke#Հmy§tbĘKw_= )lxWt; W$ɷɥy05ƒ^r3@ 4,⭪cfh&=H]]dy9LAmS^bqsa~ݸúW>yN@٦;$7Pdw[tG_vKN`a9 J9"E {ed׋=~P>f)Jw$i.g WCx?TbmOۼi~ ;K/^8Qw_O;O?x ('3]);5q03 H$ l[=A"haT1Ulj=+/hKP(`%`8q0n~{Gs )?~g$'R$} FZ oAf+DR-T-lj$nT(&T R r^cD MvXgYH/79t[o[3?_<}ߗf~SD4)rc#ս$T|^ (ش"UlyZ,[8+s7MIn-8!-X~MJ36q[[ȀS. 4g@OaE)/5v1:IDBQeŻKռPscz^dcMJh[EDQSթ"S.F1 Gj#FI2͍eB7}"(s추) 6BnY; ăKSSkJY?fQV(*&kݰl(ŋR䛏E}k&gΦwL>tRn,-"D"Lj 9_)q`%ILfRF"iFKPdGqNV(~|(|i0”2}p"ا3MRWr멬EeX{/:"]޲#~p=R)~c|⹓M7:&7chSYG Ur-Ico= Q،qCfRr3?X@X p@މYTSU c4WN:bf$dQԙ9f+AaOrIߔ('l{TOBuQ2 jew`rJ.(t4tĽK+/Hbܖfuv{ KR$gg}[+lTg2v핢k`'?2a:QE> 緙`~%]0aM:IK:bj$)(w ] /zH\eYuYbc)^)"Hl;֟"1G|ĉMK# Fʗ5S3sk|n <ַ%~^ìdlo.trsFфaki͏RdmEo N잩bvahdsx=wnN?tH ccXcVv)ٶ\9CFq,z8ڠ.LjY/Gq*u ƽS$B~ݢʂ$tw51nYݶmwn3c D@X^raA%9"q \pB3d&\̍tZi@0!JDVbW]U]ն fW~ޫWkL-6m{n"\ٖ,,;<؆Eׄ0a ,pUT(,dQmgE4gύL1-5}"__ZP&Y烑˙rN XD6mBx EIq#SFp_F5vJ;%]p`|r(f0fEtԕt-]67Q Eo{m%[Ц&i?OQف&InbǑ+C^Skgk\eO"Y;#%K<"Ǭ(RC/EqW%ب7ИP4>&ɿ֯b }H+kB<&f5#P :Qsۺ;G>A1URE̗L!6gE EL'%@QD2r뺶 ӉlrE,fg\2QLa"3p۔H$#]ƫ*h0nP XksHٙ^tNlTܳ(4406Nb& Ōq0Έ"(õ+>ȾJ-+(_>_X}> )xPR`ubJ*m7XHmW( A-az,(RΈ=6|}ָqm e~K|pXQ,NBalBto$OBRAF6xL0EǣkCPg E nc&i(bJNe]_{&G_@/!Ez` DzS<+N Ls$wbo=rii2DݶXJ#fAѡ0q/]F-ǴSI'q9S{h\nUq YFL##׌"#mTs<! '%_7#e]kuEE^Xǂjv?&V>d3 Ybs i%kH.D~,c +@ xNCsjH-J ŐڭI Ų/޽E*)Fp}w76f֋W=>71?' g) +.hh SiRf͕5wKң g\O(ߏ2MN|3C#IDAT%;zaV"`qŌ-tj  ȽXJoxcdd``c!0 ĜL0##0KQ*faR`R` A?d-@1FnĒʂT.(X'#M`[`!ʶ*V6Bf Yxcdd``6f 2 ĜL0##0KQ*faz%d3H1icY;@=P5< %!@5 @_L ĺEvX@!N35v+ @Hfnj_jBP~nbCp {f2`| 0TH:HT$I,䖊n+(P 27)?!F >V&0h;6VA0~3BK@&=X@Fh= .h

g~, ijSi(3 P B]х)PBHCH7Dtİ!%!ʍ hŅ +j2s޹oܾyN/{{w #l l#\B[s'v uS< Α"$6Q]Ref*a=`î$R& h~LGXٳ>oӫu8ޟ9~ۮs~_Qc%#\6b{p|I83 )=K!fS.ڱV| ` Z(;!=(rR뗚ZIMR\&y;S2;L|?@3zy)A#mze i3tl嘧sR?PNQJKI*9*(`[Y;q0Bz)9J J8'(OB/ƈſD%W%\Oҙm/SmA q_ 1ӐYXL%>x gF?LW@!9H ~ ?@V}`,,y@V`IIaB˂=U>0>P |`<`P`U0}C"/`|t~ ?@@!>>A_ >Q | C/ 21U>>x/?@g8|T::=EyFV4TNUÁNIeAq^_Ng)r>:Z8lNF{EQGg˶NӾ@)r>:?lvN3NH]՜+F׾gשt O4kS/i;i5Lys uIۿZٿQz#Ugag$`-zK/C;zd4_/>^'׉w;n'8'~݉_wgY'>ħqVǿ3~3N|Ɖ_p '~ÉuwC'ЉoF?8NWQL7ԑKÊn \<2hb~vTmSib::޶ /DnUBF6>24 ߉f+ʿ%s1.Q? /FχWZJ]S'vZ{3S:Szz_{k3&`~?m! iQ| &-G7&hxơ]߹VnWo?Z=asm%fչIsyO󯐹6Ff<ߛ5}^iwnYүc&,9FPĔ;j i>oa>P-Ȣ_lK3%嫓* ;HWYү:sI_Gnۧ;ߌu>;À}0@ !PϨF=,Q؇AzF^lj>Ї5`=ʤ>CzAX"x>؇~C=9C3]>[>,X>20}XFɋB9C=>هAC=?~ԇea-a=X&/6 Y*p=J^>,ЇE`X"3G}x>Bw <]/;q ez[[ٞIk~ǑkP(XOxΊuZ'yn/QgV>=2f"/ ~IX]Q _/ ~Yn_]uѾ_u_=6_;+ 펕4㣟-~D?T'mqd{x&};O'kA{繋4\906;RwH;R;GSO&?C$O˞C ϓDqctĸ*Ƒ9S8Xsĸ*dbiqc:U)g)~ϬsSq^1 "!qvFmqy3k|5ܣȽ>&;/*ƴiĘޏM[ ϕ?{|O1\.TxVN:.|7\}mDY?s_ڧ߸?٦k%}gqNcgCs9Wqsn}>s%){}v_wVz!&~zV?n/bv!^`!dA: mM} 2xڅQJP=&ml0:twM68B@B p`C|>=sŠ8 Mȩq5H:QPQtLK=2%;J܉5D!"DK( ºwOC ͬBE4uDK{zyv9mOZ9ׅz_?-^j"Y-ͺ |U__^aFt2D^>Q/-}LNn^HbV{`R|PNG  IHDRq%PLTEc11ZZZ1Z)qbKGDH IDATx *φY}vvw>V!@@P>gg:U\ #]WJyDW! D =;i"Q{{'M$*׺US#ΨGp54! ;9UbP\\P yK"j<g=v |/k' ^F{OIG@T5 u~?QC` [pOA_ҟ!hSF,p2nR%6+ پ@>)R@_ݠ^#8t+4EhbiHmbDHG0a HjFL(t 1KKD..@ti KK]ZD ѥ%.-@ti KK]ZD ѥ%lԪHL&IZ 鷿gIS$`3[Z% i%޹Ց#J)K$`@# ?(IOJ=I=@= 4`][5L `}+zr;exm z5JE)ZIo>y5s\H'ZsS#) e9 $l& >$QfZ [%`3@&4~=<*6ӊD ѥ%.-@tie[$:")5oy!Q%%.-@ti KݎRjO}߽LoMKg]?E)Սe ".uȔZt"m]CGmʘ`z{,RǏ\p@,fq_D?R6LT̅)PMSAԂ|fL9*'c\PSg:ʯպ'DVY? 쿫_enJ>2R Qjho-KGQF:+U 8Ӭ;(i *+#`Fv60^Y܁`V@hBz;J'ZZG|G҉X9w؏"ѵyyEZg-N-g-FĽ4e.|#?(3|A j* rƞ,tq! TP!{P׶r~%*̲ǏH9ˢeRɨ߅~e}Qt 6E+8A2kjrm )#Ä.D56ClrgV# h \mbU%+J{:ms{ ίqYx׻IDVe IGyK?kBW-]:Ӏ{ ~n.;40xi*Źs]E6+Ls ˦^l&tS٦&X{iخT}H&s@b6Ж;^뮜p%R`ZݥԾ:Z  E*o4"hp.:(b} (/XPP"F+2U,C^1ܦ`1Wz|&@ !+3(.8\ jJ_6Uju5.%^G.7A<٦(e&",fkIwv{hody.d5W vzy_09Ifq;K_%u{(Q{mTɽaEE0Jd?5]{ƮHf ~u{ޓv2QԌ1;oo&U֒ÿG;eTrCmoG)5="(yԂF@? 1]gw)0[8$3ˀuaSZ!23ڇ`Rj729j[2Hj5ȽF@6~+LvR:b{ʂ u%/ʔ>AOY̓r" DHAN*޷@33n}?wt+RA=~k3=BT jmЩ5 *#KFh*zFr#Vh{&7{EoVt4o q`x9|s=Uѽcyfq+ 0c,>RN{;0LPEjf+ D+? &hC/ߒ-OJ#2]6Blfw\Kz"7-eg6#'@ (9TR0\†){ W13 А7b곜=>2 (x7./P8g&Dgt;'F'v怡n>k:;$MϜkuBW'߃W;JGuTA٧Uhž[gv54G#)rC~ml @1)#=`LO^aJD|\Z@l  [z::;:Μ0 @l'S@|EEf|i΀ Ow snU ٝl5:h@H2G JOS9II_@ڦ"o\ݠōorߊv7'0}3'3)\0/3O Iy.-0s3=rUJ% _s%sL{UUYtg u%TIJA#D?hz+А;J65geƞJY}AʪZ(aHP H}!oDJb=1! 8 ^M = |sg,S v84[Fӛ6xyVn]{Ŏju (+ :KVgoT9ہ"2lj/ MTf1Zǘfver_*ڠ= NߓN a+Ϡ` 끵pK\JqQ]|v1L`q۰KV+Te`zfJg7a-:Zv:{ܮMB~RL _0'BԢYu`&pT 9w?X@,.zBPj7+ 1PJcpjWR)W" q'R? Ǻ߯g*[Ho Z|lf;kHg0W}N]g":m[= W9+up*nޝ]Cܜ6x߭{2P2p]$o'G;= 6 b-1L* y8_B<ӜϝϪT&}2}?6 2/ݧ!{o5gy 7mȜ;/\FST @ʺ9 Uv(͗e{byYa"(}f}/rR{ju2M1JhuSEbGZySHs%]<,3Iڧҫ\ul~ō1BCc;f ?)6T[M < uҒw@6%[KF/AB@Z I(RV鹨~ZSp<n@BfSfA~G;A1}{a}5鳻y|Nwtu/P`#9(e]ߙ=.tf?0E[kJ1/7 Z F & D1rJ$c3:)`@)>%v9Ψ3K :y(C i<'wy~U` @5@\>U`hG~/Qkҽɯo_]3۲2K $]Q'~ϺJh:Z*ýYVYn\߯%[ iR)mS0E}R;`!@ <Ͳ3".,Hm:@XIݙ=cM<00%E7mH 6\`'HƆ)Õ yO0Kz[CnQha VFTYAz8wAwᬙ[K0f^p 0n~Tpy ;f؁Hp%kCz8rJM~YН<G޷i^DBJ c'VDj=uKɯ`ң?{`2#ƗwspA0ל%ENe|<srk ZDV 騍-νկ'O!`!Qo@.4e3tOҽiQG', AXqfH2fi4IQP D;F0M=fM0G3Ԋ1S鵋-1yXֳ*fOКc!XVz'?Rpc<[qo+t HD#Ng W'}?Nu 3h5apN Bea*Ng&>3^Mc@ٍrvx<$"@9=PS jf3s AjnNh}bz7ho']%5@vWN|/er>R9}C;6eXj) a a0YYřSA.$m!5 tL透M+\?l[\{]r*\@ 84A@X#I􍱭 6O9}no3\×6J(㰶#{mO2|?hpxKӫYciPz|pvt8tUy`gcٹ7W'Oh-0螫E ؿVIMYĝwVu3S"Ku>gi;ҷ >l%-`"5[l@֠3M=hfmp zK5s]2|u&{'4,qw-&Q0uK@ynMgM23|%oՌ w<$@"fShv]Ȕu*´ 3 y*OMXTisx^u (!=z Vn3mD5l 3<%qi~ԍMܭ|N ;LX2-Gִ`F0j J,5d: *3@ 4WX3[7{xg_tŃ9/܀ kxn_NznKxȑ:nc>$f˵ߙO?"< wcl? ߌRx?ӳkyy4]dy'ȾnYl]>݌<_'l#`NP42۲;m+zcs2'bϮ.X{:^y6]su IDATͻ@hs<bxsz& gdW0y Ʀ1pKB#j5}A pf6Fx>< زKɫReE@Xw6 1X _7`.!3JSjij}szb&BHU;'Ulf$:>1rP& 2j(nM睃,?߽3@-w6ꯌ9mO*%HD"fq 2Sw]I_&>*_oqد.1twZA(&`wG3s&(Eo_muPk( S>Kv ap ©jtuU̐#>)'C~ 5׍`]Qj%k$~} rPS[ ue܍P_?/2wSAr#J@ю E,հl`2KޱXk|QoPճu#@/^5 6u4fm˃^fLoj8z-vDFL D@@?GMbM|pKwbДOs*=_Mדp0X.W7 3$ /M:mIIEۻBLn*: 7e j3#:l}Ǚp: l w @֥?g "] >vl-Vwb!ޮڀ@<(˶MƭcR6.j=1G0Y&qEt]:.hm*7u'@%ʲ?Q;,kp@>cמ]gO$W_e>Ax;hfr֟`6F=Dk0]$7RZE hqO5DeGSa.[ w /08H VNR)c/ 2 ṕ' Hh9-w>6a!5{y T xΡ97|A8Д\>OPzPKCVetLy] tR!D `h~bKۏ +\bjopxNBGs{ eevYc7! iq*(LN? ŲNN>jML8?S x=ڸU-= J pS5(S_Q|ϧѾ -HQ{VHq?Q™2wbW< ˪4p8yzkpq\/1p^ 5 % ;"బ0 АPo ljȀ7oZ:́߉+)5" x;mM#G9 ^lĶmS-'| X%h;7k0@@Lm䏝+1ɣqwKn e wV}?No2z2XD;M d}zN3TiU>"=I n"T1GAb;: 'P:4ߚo4 0!&m+/=&2UI$Cq~9?gǦ,`"|ObO(jPsV~ߚۧZce2 )G%b[1'` ͛ tґ hpof iM52$g1KVL84 G Ȟ֪@`AHoja{tOeZ@ rK 16uFԐ)jotE ^@b\G <&qʫR pj* ߆OyfGE!, S?7& )5ogIZabAлpy l `;g<&@( F%w`yl76Ud`=?z U09Ojvz'c:/ȩktK6|TLǛ"<;l0+@r:Ի`ܒ@ ݋(@||wsu]l>iC+6؅1q[C^. Ô[*Lvwȳx/Fo- wn,nC4W Bd@cIp@>; ~'V?!h@c"@GvEᦽqAܮ˘B\`\'D \LDA[;ΦJyML(` 6ag:H6:ew8 rGǺ -ޠeɟQ`ݡ-hWb"m M28k-  .dh,~Qȟq<'X-@9΂iRBg:x˜f1LrNkEm]G|_dۿm{BzjV;V5R@3aJR\μ5@g"ڴܒad_GwŽ5 m݌ˏo0n"fzVD&RytXJsy_]vx;ulV*+0 c.@l(2Y͟m(qywm2~C?2D?tDy 2cHI&q;z؛>&}lT+1 t!`s6F\PjU,J./R;b?u2&iSv]6|w 5f5񓪸LQz;uiH8ip#5@5m+`׆CqQ~ꣶ {2UBlX`GcOΐMÒ=Um`BO4AFȄ S thգkX8!E{#I@f`0k[:. @ ULk?&ojH&y?CIڇE nz]b#Ҋ+Z6zjGJ!4GxS T6^DuV7[o$W78. @L;-!g.% =G)0qّk}Lwo;P|=W B"-m%+4ذxA8F5.Hĩkbm 2.JWd^o5>wXiL9J_}@YS2iYuu!v _F&||ZGja3SwUYХ)`RF޾"ĺZ/ZϘPݴ]{=q<(*NQcIF;y9XH'Sx0<T @PK`6ȽŤm= FzxW=-!@e* xͻl^V)Z&6}lE`J,I2{>"g{:[^v5|G1\ jνq15HE8|5W9ϻ@sh>tf* -8;y=W+Vӣq@08dj>ߏA B@^5l[JֲmX pjpi_vS7 I]0Uw\Qdt10|I-d-2@F?j'}̧ƮMէirBWϿߟ>o iKzrCܹ?n TN׺!8EpoB["`LūXK/&?}F7n0換#{P[ N1#cO&ɈvH)c y?}0>['# FW FakuG~t{M읜)4>Yt j󿗆}翿ph"7 Ni׾˵<3{W6r<F_~@BU2/L0|w+ɳk#Dbu8"i߿Sĕ_.1";;HӚnѬF/6ƗF_ yUx 65`Y1[V\b.zչj:C`349j7きu5 W5`(^FCz88ORt龕1}|<>9fۤߗ3__74\P×N6\ 4xDwnG;6 >4r\aɀM)~ǧ emUT/o: ?⯺ԀV;(<~ Ϗg6c5 .c R>J?ÆCLTȱfe`:7ZS@7u.qf`UQP @4~0~#lK|uU NaNޠF$f&^YlI ;odln7K('ջf[dngQ>jlHlbm5wt=B Ì~e;E1?ZWt ] izA%*3[,fx# s!@&+6 g|1];1ҍHOll? 2˓+qH0F말}Oҷ.\#Ȅn~<&a[xF b*2_ !h6XGT9 o,^hGcB:&jrdc &K`- sB yod'M;>Κy. USHp7 ]frPi.,8:g7r}8#9_9%ckɟU* ǯ_`-z#fK 82nsL66<&sRu|W*&QXn'kv$G@܍0ǘx86nv, f3 cO#Lb?A3 r  !d&g$H(ӘmӂS zfMphLsL|l5hMg+9~ :h?>^)c80\}c*SQ7<[4+[0Ώ[R`EQ\P38(3lv9&;E8 -0OPnF*e@Y B%5,59Lٷ#LuX |~=a|@)=޷*צյV~w3^{^63:At]c? 4x#t{Μ^xDܓWM2PMXw7s??j5'-A?(yctP`6ní2.J؁ۜGu`#T\xI⠸CكG^s"Vmmz~=(ͻCP|Z1bJ67R MINC 8 ٳN:_~͎! @Qa}%Fs)c䲈ZpNCBS<kF@:l[7}rԓ0- #9taw@oIT<q\w|?,iv1M x  $؊B!; hhYto4(eߘ`5M.Co?4]KDo2ío[~YRn! .??1 O58蕯1&Ԭ 4n 륏_ m@0p 6c(lE?`2n @ϋfaa=K,h q^l9[ŷps zhou7B5P'=Nl[OH6K6 r+g?lq`̝y͸nMcz ?H;L7=Va},%LqekY&o!nP'' zD\@| x~qn,~|?æѲ+tTU!6挻Q4p ya!0Gz!L?a` %X<ʼnƣ0-z)\8k)8f+},h¤wMF5H5ݾ+iqК%ЁBKCC02{m~,gt|l]84@jG؍̆~u?Ȥ `h w7 $[X[صT,yP_cF:AO*Lsz/x@Dl *5IDAT1]d)zHlwct7!DؠJ`M6YܴkH`|b9q-L& @ XG`2ʳZ4fYXZλvx@oN&wF_/68ƛ5pGI/:,87MXm3@%IK]fu60f4>Ā `> | KڽYl #%nW٩u@m!V]q6 vevd&{>!6n,t[c%DȾ \<;Hqj,+ ǩyֿ1e@%\J~ ֏*yUö9mH#x᪹@L%sÃRkHհebݯ/Ժ@X*< ~*mv5!pGKjiT̳rvܙ;vfa||02qɯJ@QI73;m&i?*˦y:Gu*:!xUwWvULg @i 3xM7S"nYpy| d t'k pJ镆0|vK{2-]D`t~K+O&7 罠bt!``0X @',phN7 PtQD*iL 8F'P3ThHj:fs|@x>ﬕNBmm6Vp#Ë&Wk  *_O50>H] ">B`#3uz-R,bT.@q >_H(@6j~^g칟;z(ݟ Q_S[A$Nbb*KEvRʻ7,@`@w#*NHJ#@*~^O*⿶ b#*&bWxQy= %M@kR iz_IS!@Z7+P+kT>.tfs ~'^JV- F3aF(_A$ @B,J\q"cJ׻@4'm=Aȏ{ӧ^]U =a/ծ;6K7Qʕ8(U T8:6dw@jܐmOO'`l] %xB.^Ʉ,)4˘~lny"R.  ^>!B*&IIDÖ/W t'h7K." .1 HHIx{ KK]ZD ѥ%.-@ti JՎ&`S G ѥ%.-@ti KK]Z*IOS@= 'HRܿE KK(f$=o&Dbo' [R;JȔϷ)O!$d ~3fI(>rdjI״o{IX% Kfl&z 9K{Id,fy/hV] Gj10ˤ56ܮ4>_*o ST{[bοjU sRS߫r4ajXPy]ʢfLC &oC)}3侹<=M`LN5=9ȼǖxo&/x )޺ԳEPG?{*eK 1, R޶T UR Vx`eo:iM 3*J b u>!HKHlMͿo%gQ,'O<fr)iYY=cMƙ;Rf,];6=?]Kuͭ Y=_mz(7 Y4Z2bf1_h*N,uQƼTA[>]jG1-@syyCf%Sφnb% tjk0L(l8z[A m*Z9r6AEhIN{Uqܺ ٧|p yꖚw5ޏ.h$ʬԮIkFJ`dbLsu_ucF~\.,0U ڧ"t|bkZ݈\2|3]'tL@ٮm S(;?I=sSlx&RKNpfnW ;pd۳-&ft49};>4 Q>[m^CG jaGg~vW+kG@k )tWh4P HG'<IOs*"یTA7Pvp BOlbzfJ3 tnxN |Qd` !HJ/y62܎)}֩>zg[q Wo0i]L#δNj1e;`OzA/a LI'\ T|͆tۆT&0kY f_=lamX 0ɔ ,aKR( ձS4Ȇk gƋ8kx ;@O`WsY®1 sWGo<P6 ; !ӥVz]źo 2Ӎ+WU(;Ⱦ#*U;v]d:bޙ(LWuVXe1Mω(\tcVu1MgyuM@"ҕ,uL9M&\'7zf ])B_t<$\niБd|ٜYB>]I+kDw ѥ%.0uwKKB*IH([g@d>Qs*v~j7IIљ /$IIљ06kl|e$)Iѩޅ{OC& ::|4$$ATGg Sm?Y6i$Ip΅ѯ̧M{RI>@',ZȺHK]Z:wQ< 7`v<;(Ҳ~:/E_]S%8NZ6o՘Eee {k#%w ;-H[?BKWe.oaxX j21_XO}~K>%/Di=!hkF$ܟ`~??=y 6yE @gaZ`*4AĄ?WO@=}x VWZO~_"d஝KbϷ&rZ:yՐ+p} *KM):[IZ6@0%l d3E<jIFb/8 -Z`JuJ7`j:"xGX8[’Y6Sɡ &7ftGE=`{h` d/YpP '@.,m`[ {.u3x~"(L|fgi.e`m؈[{SFwAU3qgT .8Y $MԫBdY $=9|TZ6}h~/_z ҲSp$ -EKOAZD%K0/=iU`._z "0v"~Bq-?j*H qzw^ ?j -:6H~i~.2o+Ìg`DDFm:(kk"(Lz71@./vhet[,$[AlET] 2%9CO!S:Ah -EKOAZD%K0/=iU`._z ".\tET]~)HsS $;-`煱hv sH2ޚ%|sr &^l `oY''h2=xit照NHˌj"|z @SNthm{k"ËfgwL;|U,Q_1-4K$wBfX mƲ`f~N4;%̈́0oEqj ҂6޽Rc] d6I%^^\fsNjm%RS"\mOJMt/D`~dxtz𮎿e #l-) KFWr?X:ltb6j6t72 P~)H l(\te {KW8 /Jj\OutU/iUAMWi4ۿF{ǢzZGAZDuLP1{g3L#:69S"i\}$Ձa^\> n ~>/.H 5%2}RftRSp ET]7%ҼX{u5@VZDuL\sI YXrȥYiUY@5*wQ%LpN7(MB6@FZDuLfw}޼-[u"Z%-WG ~%ӿ;Qu]ے=(H.JpxTyQ#gܾHѥ%.-@ti K(к lXjUYRB.zշqmy\Ho.%Wu:PS@[]J J#\Bh$mRj%Wu%盹y mi[d \D* k.|>DGGs7V]ӡ(= ?4ՀV VKQK:T~AꞺz2(KKf xv^ss.j/ m,e%d&g[ajRK^HW`5/GȜ`9`AשC K1r轐7Eo'~Wuj5.kh@WQX`s8he /q sXc6@WFH1N h00x/ l`u/ϖ$WG3:551h/PO/l:0yqzSe){gsz{jmve$jǿ^X,P.`m,wr *1s!e#\B2#9p I G΅ԳW`J.B뗽׶wZ,sBr!{ՒAE ѥ%.-@ti KK]ZD ѥ%.-@ti KK]Z24A\$:,D`9l"ѡ?bD ѥEp,pçSD= (~؃DE]4_Tp  v:@tPc{?t~`A5e-/?DRֈmQZvzQ"ц jR>z"  4D{( @B` Ɛp#X%#l*@-S$:0{L`i"IK]Z#{OMS"ѡh,"qIENDB`ƀ(  D H[hEquation Equation.30,Microsoft Equation 3.00\kEquation Equation.30,Microsoft Equation 3.004]l Chart MSGraph.Chart.804Microsoft Graph 2000 Chart02`m Chart MSGraph.Chart.804Microsoft Graph 2000 Chart0lnEquation Equation.30,Microsoft Equation 3.0/ 0DTimes New Roman`bbv 0b( 0 DArialNew Roman`bbv 0b( 0 " DHelveticaRoman`bbv 0b( 0 "0DWingdingsRoman`bbv 0b( 0 @DMonotype Sorts`bbv 0b( 0 PDSymbole Sorts`bbv 0b( 0 c .  @n?" dd@  @@``_>,whoosh.wav.WAV 10103RIFFWAVEfmt ++data~~~~~~~~~~~~~~~~~~~~~~~~~~~|||~~~~~zvtvxz|~zvrnlrv||vtrpptz~|xvtv|~~zxvvvz|~xrlhntzzvrrpprrx~|j[QU_|bICCYn[ICY~zlnh]_r|]SUSSjz|x__l~v_]drnUb|nfd_]d]5=rrnj]jz~lMldrx[[_f|YQfWK_xh[zx[CIjzxxdSQz|_fI9WӹM;QnvK;OUx~xj]]YS~ɵlM?plM;CGpٵ[)Kh|% %;xtKQS]ɖbGr|lSnvz~nfS[nëx;Az=+AYݻ|=/1r_ ?|潄W5/Czãf)/pvbMQr|O=OtjdhjlG?G_ɊK3לdQCMppW;1SŷAMz/#?bx͖SAM[hvhYp~~zrvt[]ptWOUtxxd]v~vvxzd_xzh_nrSQltbdp~_lrQ_l][tf]W]~hWfp|fWhnhbU[hzlSCWbYbnxpdhjvjM9Ot]GQ[dpp~hhhdpx~xh]Yntnrp]dlvjQMb|vdjpzxzztljr||_[r~~jb_j|z|xpp~~v]Wh||zx|x|zzndhpxr]Yfntzjl|z||~vppnrzphrxz|~|xtrjjtv~~vz|z||xrrv~xrprtz|||vzxvx|xtx~~~~~~~zxxxx|zxz~~~rrz~|xz~~|vtx|zxz|~~~||zx|||~~zz|zz~~~~|~~||~~||zz|~||z~~~~zxzz|~~~~|~~~|~||~~~~~~~~~~~~~|||~~~~~~~~~~~~~||~~||~||~~~~|||~~~~||||~~~~~~||||~~~~~~~~~~~|~~~~|zz~~~~~~~||||~~||~~~~~|||~~~~~|||~|~|~~~~|z|~~~~~~~|||~~~~~~~~||~~~~~~~~L7carbrake.wav.WAV 201026RIFF6WAVEfmt ++data6~~~~~~~~~~~~}}}}}}}{{}}}}}~~~~~~~}{{{{{{{{{}}}{{{}~}}{}}~}}}}}~~~~}}}{yxvvuusqqppnnlnnppqsssuvvuvvxxxy{{{{}~~~~}}{{{{{~~~~~}{xxyuvxy~~}}y~~~}}{~~}y}xxuxuvvvvx{yy}yyy}~~~~~yy}xvvy}sps{{qiksuqgiqsqnlqusnpsx{{{{{yy{yxqquupnglpqpnpqsusu}}xxyy{{{~}}xxyxvqpqvunnqussssssqquusvx{~~{{}{usqkipniggkpvspsvuy{xxyy{yxy}~yx{{y}}~~{uvvvxunkqunlnpquxvy}}}vvvspnklkiilpquuvxyy{yuuqppnnquvxxuvvx}~{~}}}}{xxvpknpppuuqsslinqsusssxxyx{{vqppkilngablvupq{~{y}}vyuuqlkknpnkilllklpqplnsyy{}~}~~}xuuqqnqplfffffliklsxxxxx~~~~~~{uquupigkppu{}~~~}~}}{y{~vuvqqssv~}{~}xsspifdddfkpsv{~}xuuusuuuusvxvvxy}~~yuqifdddbaabfa^_abadfflkklsxvx~~~}}{yyvuvvvyyvvx{xyslgbgb_d_bilqy~~}{sv~}{x~~}vqqux{yxx~~}~~y}qx}sxx}yussx{{vxvupgdfkd__^ZZaa_aaZZ\W_bgbbgillns{{}y~ygabi\TTOPGGJKH=CC;CMJ>@HO^^_nqv~{{vvysnklqnfgpvniv{ulnspspgfnvqgilxyupquyysllpnklqvspsyyv{}~~xx~xxuq}qgkpxskkpqlillniggglibb_bfipppuy~~}~{xsv{xvy{}}~{~}yxvvpkilpnigdgkgd__gkkkfdfinnllkpnsvusy~~y}~{}upkklklklnqslllnnkkkidadiib\_dfiiiinvuxxyxx~{xxupipnfifdggfaffgipliiiffafddglgknpv~~unkpvysx~}~~~}{y}{nglsupnsv{{{{{{{~~yx{yxqquvyxuqqy}upqnvvx~}yyvvspxypqs{yi\^^YWPJKKMTY\^Z^ipssxqpuuusuppu{up~x~uǦqx}s^HCUP=..33+"!01+)18>JOT_nsu¾}vlf_UTWRJGJMTWRORY\UUYW^a^^bilkfadluqnusv{{xpifksld_fg\RRYbdWT^inliabgkgffdkibiqvqsx}~qnxsd\lvnYTagaYPUa^WMMRMKKPTRUW\_Yaknnls~xvy}}pilppkbdbZUZ^ZWUYZ^_a\^bdknlllqyyy}vvvqifadZY\UZURUTRYU\\UTW_d_\abipsx}}{v}}xpsxqukbgl_bgnigqqnnkflvg_d_dkdZUgyndaluliianxunpx˹ǵǾqqd_UOKC90=;03>CCJRUZYUP__UTgidpx{vx}{~}xnuuҸxdRRJ9,&!  '>;=Tlvxý½yppsxgUWWYMB=BRYTC66EJKKMMRWaa\\bgldZdqx{vv{nZ^lkWKHKJCB813==9CHC>BUYPRfnkq»{vxy{l\dnliffbgfWMMR\\Y\\^TR\dbZdqplv}{nyssy}~~}{~vquyvvuqusligZPRYUKHPWYY\abkilsux~xpuupnxqqnnnpnqkdaYWWPKKORYWZ\^^iknyua\nxupv~vy~}xgiqpkddffkiinnk_fnnq^ZnyibqsvyŶxnlvpfTKO^_WY\W\^^\\\ZW\^RP^b\WYadbbd_bigdk}~^vȶxffu_E835, '+!$9MRWdxyx~Խ~sx{xnggdWPPPH@GJHKRMGMWfaKRi~xbd{~ln¹¹}~{lbpqdRKOMC86335056BJGEG^pxux~~Ŷ}~~yps}yv~~}xu{upgbdb_\Z^ZY^bdpuu~xss~}xxv}~}vupkgaWTY_YMMZddY\gsxsu~}{~xy}xqqpvxsslpslinlafffnifpx}}~qdikbZUZYa_\inffsvssllpi_\iaMKYkpgTY~basöŽ»pn{udWOR_bJ;COYYPMMKC@MKEG;BPROU\_by}pxʾn\YOB60,$ !.8EPZdyʾy~{xuqlZOOCCORMG9=JKGJKMask^^daap}ó}x{yqy}qdWKEYRJY_TJPWRPWYafdb^anlgu~}yv{x{pln_R_iliaggafffgfblqllns{vpivui_^bg_Ublfb_ipkki_bfpnggip~}xnillf\YUJJKMPU_ag_^gu~~lfu{lTRlxiUECOYE>GGHKEMMZbZds}{Ǿugpyssifvsdddf__^^ZREMYTJGC_kPMi{kks{\yҾ}ugUEEH>'$')"'55,1=HHHKM\kx~}y~skia\adUM\YYgZEM_iaKJk~y{}gZZaaZR\b_ZZaafpkZbkgddY\nvvu~vnxy~~~ndgkknkpnklxskfkvpgfggUYssgiks}x~vy{~vy~~}npuyqlnsy}sknp}{qx}~vy~xpuxvqkqpgbbgngggkpqx{~{yupqqkad\TROUUMPRT_fZOYdspiny~lWWsbMGYqkWPTUWYZTHR\\HEWfnYRuxg{°qupaWMG8+6$"+'0356BH@CMUMUpq{xy}vxu~~silZEGOYUTYOdx{}x~y~vvxq\TfdZZ\nuigkpnnqvyyuux{v{uv}}upx~sdp{xvvnyyvqik}vbsxipubv~ysy~{{uvuq}uxuux{y}x{up{~vpqspkkllnssgW^bgqpqvu{~~yniys^JGbqaP56^iH@Y^xx~~xiuuiakqxsdgnuviTYbquiWUfZYqu^Yfafyv\iäŮͳusbldTEGE55@RUWYWTfu}qadikpdYdq_dynfnuqpk\gns~{sknvya\nnfg_akd^\ik_p{}}}y½ydfs~{nUTppbYYgnlkqpiluqvqxysyxpvy{ysl}{~vysilk_glgsuiu{plpngkpnqplpkbYTbiuqs}ys}xs{qsnklYPOfsZWdlxvi{{}{}un~{slv~qysnu}}gZ}~kqn~{pnqf_Zpxvvfv~~sY_qiRPZ\da\\\Pp}{uu}pq}}pu^aqsuniy~vs}i{~q{y~{~}}nknplld_Y^gb^Zdqv}~}{}{}y~~yxxnqkq~xx~y{yxv~y~qlxqlg_ax{snki{{}xx}sy}{ylgy}}{}~xss_lpgbZbiuulpsp}}y~svyganuyp\^pvsigu~svyv{~~vplqubqvu}pdnqs~~uvq^p{~ilqyub^fvsd\\\b_PHOTHYpsl^f{sbnvv}}ifdaaiiWbqsqlku{{qx{{v}vy{vuqdknvupqxux~~~{}{qpux{vsuqqssvu{uxyx{{vx}{}}yy}{}{vxvxsvuqqkinnkkisyvv}yvxxsnnspnqsxvuux}~}}~}~~xx{}~xnnquxvppssu{}y~~xux}}yx}~}~yxy~yyxpsvxxuqs{~}yyvyvkiffgfgiiikkfilkfkpy}}y{yuuvqlgiiggkklqpqsvxysv{{xpgkqsqvvvvsspqxx{uuy{sssp}gZ_dp{us}upk^RKd}sgvk\^ny~}qdbix~fPCMfsuslbpii\M{ykYa}dvTa}^g~lGba;>UnlkKO^{kP^akv\9HfOTlqE;C=\{G^g{bGZ¬nPikPTqUs{aTUl{¸W>KaMTx>G;Kg80TpxB)KuyqdPZxǕuglp§TllE09O^uqlfG3K^Ug}ǸsPWlZCRgvö}^PW\UbpsWWYC>Kas~W=EEqff͹bn_qTHbg_M_qxT61Hfvp”RfC6U{i^~xJKk_@CZl}ùZ^}RBRfyçisZ@Jf}xծqxiCYuP6Jlg9UxuiqbJ3HgaWk¹laidsyǹvdB)!&3WZYu~}bJ95EgZWvŹqdvbGBKi}kK@RM}vnŗ{uJYqG9K\{qgT89TRMdy~pgZGEUZkԾuB1B@asWPl\=GRig\nZJpuTERk}˸nYsg@3CayybusP9CHsv{ʶnvJ{q{R>;pKsŦv9Yl_HuGRvKYOJlplvnl_dvˍWpȩlC\xvu^d}qBHOidKJi}\ulgig~{ȳpCun\~}BWuC.Ck;=ZsG8Osn{xu}pOdbORflyfYYaZ356J_lûlMbWTduxȾ—_iROHRi}Ƚ~\dC^i^Y_Uiudzd_qu;66^~k\_y~TGGkd=)9TgžԽuEpgOTp˅Z~ÙWbZ6'1JfffJ9Jb{}b;=gpunnű_g}kKP^x͵ulxiZJ;KTp{ňxqC>;~Y5JJ~guJ+ig>HCT@avԅ{¬sskPUqʾa@6=BZixŸ{~d85KaGK^vxsPEgyPZvжiO059GZZp~ylaM+$>Uk}ŤsiPaladsŬf8CKWaB;MfnqfE3=EYbp~dBETqg_sň~yf\p}as{lR;;TTMZllM'.ZYBHT}yY@W\uv϶fBOYYJ\}\Wnu}__E8Jbu}ŮRPygOfKKgyȱgU\bp^yqB58KGMbyvP;MWnYnǜU=BaaPbpYlO!)d}=MfnHGYfϧY{vM9\E\l{WniYaPa\}xM$MiEyuygȳqdH6Gqbu}xUq96TE.Rbf{Y}Zq\u~paqv_CCUnfaTi}T9HxTgg{Ȟ\dslnU{MdxgÏOWx_{iuikRk}gOWYWqsq^=8EiMps>anU9,6Zk±^^vsxnRKfy¦lMi{d\U@0JbubJqvkxb@@OWZW}s{q~\H{yUdpWMixMPOgiJsK>Zn_}yklYabZvs_ZYH\i_k{~nP6=U}}{l~dGG_yxbõu~M=Yn{pyqZaY66G\{}qiaM>Rk{NJUg}vfW@.3C^fslkgfGuWfUlx˙ͱsUa_;>Pndsg}lYWORCayvv}dOK>Rafq©ldvaREKdp~Ⱦ_ygRKH__dxld{vnqgUEgYlaagYJnu\9OTCfyf~fdf{»n_RW_Z6EEJ_p}xkG=;ffšpB+B}saZsŸ_5PlifRdyl6=yJKWky˻qU8UpPWf{¹xfO3+@TbqvxlaJ15Rnd_{öǹ^OTubxyyʳ~l\C6Kpqu\vnW.3lkZbv~ydC5T}YpqP3@Zx^pq}siG&.E^}p}«~pMRl{GWs٦\Yqf^ZfsxJ'GM_Wql{\36q~iTiʻfH1B\p\~ùg@,;TgPl{xkM,Gi\Y{axqqqfa\T^YivkWaUluagyukf~ulUKp{ZniYKbyqHRKJguxfdaUUWb~~yypyqiYKPduödi_^^b_U_snO@EUku}~kM39;GWiuvdHUTYalpȹlHGd^\dx~kE&B}fRMkxkM9Epgký}pdYB8P~lfЩpdWG05O{abangM,Bsa^uȻxy~ZHP~kMTn~ëvv_9)dfasufuеqyRE_nxqdP8Eqgf{{gOHWYTkxq_WkgdxsisZnpfanl{{qkUkifk{g^}xqnbi\u~nHn{l\qu}u}xP@y~viuxsgqqvkuY@HKduǾ}KOk}_\TWguaYUnsOH{gffds{¤vxpfvZ\{ngbPHdqvxvd_xukWp{susdU\_RRqpdKOfÊi{iY9O}u{v}f{pW@@\lynvxupx~n@6RsUugdUWa{vß}vuO~\akg_lDZgg1Ex}KOqxuM@akx\qaa~lPYfU\v}y~}qakMPq{d_Wp}~iYksg\y{}6@s>>bqG_lqunTkp^kayaqqluvf^Tisvdqn~xiskZHk^vx}~vbqlWqq~_~qdqqaGaivn_RY^b=WiUpiR_\MYxyqgxxvuffuJBPng~Z~^8=\{{l~âuqqlkxfqqqlbqgxuu~~Zinfgdlvl{suvvsyP>;bs\ya}ZZbb^qRdyKBv{~}x{GM{kqZuf^TGEkki~xnfsMavU\yZM{palÏ_pdx~qUUdbf}~~y{udMs~dx{}}du}yxsbPfq}}ngxklnRJR{iRk}nBa{vYpWnubk_^ypk{}{i{qdvy{vfYWR~k}U5Znsxp}udapx{~~}qgfyxKTxk~uRanPOguJOdbnx}iWpuqZ_fu^~}i}sgki_pykslxuqpkxaas^\sxud_x~vW~_i{~pgxq\JZf\PqxRbqunWkiyknvsugW_vksn}{pklppa}qWf~ukGYfkdppfUk^\pnxq@;xdYvunnd\pqxsfU{qndssqyvZpvyybkkpkgau{v}xlbMCT_gppq~}\UnfYi{~}bZsnZWxiukdy{~fJasukJZbnd~qYkifi{\K^uxubTk~p\kklPJabaxaf{~~svUv{ZWis{plu~bCJ_nnvflfdv{}gM^}u}}x{~}uyWHE}xd~ZEMg}xk>B}nqupgsMnMRkskn}s_R9=OZ_\usgKJnsanfiJYdgT\Wkv~p^^lu~qkU>BP\gnivvnl^PEYddid_g~vp}x~ZRfvpsu~usvRkTP^isuiv˩yy~qgWEZba_uqfdibTEPguȰ}nqZCBWgvͶnkavYKT^yuȫfPp{kigqlq{iy^OUUfv{sTTdaUdqk^KRTn~î}lsTfxsYp{Y_{^EUWUi{uvg}d^Ydin{n_KP^iRav~udRZibi}sifaUHZnba~kTPnpy~_x\yORviYsx^YfygZf}nx}pgZP_q~nxlda\KHWgxknibfdbuydO~~iZi~nkZs{vqYan{}pdROfkxk~nPZuynl}y}v_aRYlyixq^pyU_gYiy^nqaf}_Y{WYg^\~U^pggaUssYl^Zq{fl}a^p{fx^Zni\y\Raxy_yyPTklnaTp{snZuvaxv_dysykgxy~ub\bsup~{niuylnpiqn}sb_n{qsysunvy}xp{{~~ldiky~y}kfnqqynpu{lbgy{s}kgvxp}}llpqx{lfgq{yuxyx{{qpu{vnv}skuy~vp{~vsqnv~vvssqv~y{unqyx{ss}}plv}pluy~yy}xllv}}xsss{vnqyyuux{yy{ysy}~}}yy~{vsqqsx~xxy~xqqx}xy}uppy~xsv{uv}{y{}y}~~~~{y~~yxy}~}}~~{{~{{~{xy}~~{vvy~}xy{{}~}}yxxy~yvy~}{y{{yy}~~~}{}~~~{yx{~yy{}~}{{{~~{{}~{}~~~~~~~~}}{{~~~~~}}}~~}{}~}{}~~~~}~~~}~~~~~{yy}~~~~}~~~}~~~~~}}}~~~~}}~~}}}~~~~}~~}~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TLp7  N [n 4 7<9J7F l _<Q ,kI. TDM7 J!-(5  R  m  6  $"&(*.024,k2`b$K*Y uܠQb$z@s)KsV%2$؞@=y!u>-tj+42$ʶ*V6B4"$4,iHg6"$CF[1DS=2$A: mM}lBb$HbV{`R|^HDc $ 33ff@8g4KdKdv 0b|ppp@  g4ddddv 0bp@ pp<4BdBd` 0bab<4!d!d` 0babuʚ;c9ʚ;<4dddd4b{ 0 bb___PPT9/ 0MX2LNPOP6LF,= ? -O =`,QMOCHA: A Self-Extensible Database Middleware System for Distributed Data Sources(R,M+Manuel Rodriguez-Martinez Nick Roussopoulos,, ;& MotivationaGClient-Server ConnectivityU@Middleware Integration ServicecHProblem 1: Code DeploymentUser-defined types and functions Polygon Composite()  image aggregation Porting and manual installation of code Operating system Hardware platform Expensive Software Maintenance Updates Version management Security Software certification!P)$P($#$P$$P $$P!   # eJProblem 1: Code DeploymentfKProblem 2: Query Processing>Operator placement options Limited by site-dependent software Composite()  got to have it before using it! Most processing at Integration Server Powerful Data Servers are under-utilized I/O Nodes Excessive data movement over the network Network bottleneck Unfeasible in WANs, Internet 4P#.$&$)$n $)$x1$$x #& !   ( gLProblem 2: Query Processing?*MOCHA Solution: Ship Code!WBMOCHA Solution: Filter Data!hM MOCHA GoalsAutomatic Deployment of Code (self-extensible) QPC ships compiled Java classes User-defined types and functions XML for their metadata (easy exchange) Data processing at data source sites Utilize powerful machines On-site data distillation Processing based on data movement reduction  Filter data at the data sources  Expand data near the clients 2/ !'%,B  !$%    " BXCThe MOCHA ArchitectureYDQPC: The Integration ServerZEDAP: The Facilitator of DataRRoad MapY Introduction Problem Definition MOCHA Architecture Query Processing Experiments SummaryD4" ZG2Processing The QueriesIssue 1: Placement and deployment of operators Which operators go to QPC, and which go to the DAPs? Issue 2: How to determine this placement? Dynamic programming [SAC+79], [ML86] But search space is enormous Placement of UDF, joins, execution sites & Plenty of  bad plans In MOCHA: Query Optimization based on heuristics Network usually is the critical factor optimize for it first CPU and I/O are cheaper optimize for them later Quickly converge to a  good plan :/n5n*BnAn1n(5#B6      & '/1^uiNOperator PlacementBData-Reducing Operators  Filter the data Aggregates, predicates, projections, semi-joins Composite(), Overlaps() , AvgEnergy() Push to the DAPs Code Shipping policy (Unique to MOCHA) Only send back distilled results Less data movement Cost: Computation cost Transfer of filtered results$PC$Z&$ZH$Z+Z$/$Z33C& ;/,u jOOperator PlacementData-Inflating Operators  Expand the data projections, image processing, some joins & DoubleResolution(), RotateSolid() Pull to the QPC Data Shipping policy [FJK96] Only send back raw arguments Less data movement Cost: Computation cost Transfer of raw argument values$P?$Z"$Z:$Z+Z$2$Z?" -2,X I4Placement Metric: VRFkPGoal: Plans with small CVRFJ5Performance EvaluationGoals of this study: Measure how good code shipping can be Validate heuristics being proposed VRF CVRF Guide implementation of the optimizer Configured MOCHA with plans that place operators based on heuristics.bI 'FI 'F mQExperimental Environment Sequoia 2000 Benchmark scientific data - points, polygons, satellite images Distributed applications Software and Hardware: JDK 1.2 QPC - Sun Ultra 60, Solaris 2.6 DAPs - Sun Ultra 1, Sun Ultra5, Solaris 2.6 Data Sources 2 Informix IUS 9.12 Server 10 Mpbs Ethernet vNbNb,T K6Reducing vs. InflatingQuery classes Composite of all images Clipping and sub-setting Double resolution of images Performance gains composites 99% data reduction 4-1 better performance clipping and expansion 80% data reduction 3-1 better performance Validates heuristics ZM **xM * *^FVRF vs Selectivity *Select graphs identifiers based on number of vertices and arc length Selectivity [HS93] and cardinality [HKWY97] are not enough for distributed predicate placement Need to also consider size of arguments for predicates! Consider 50% selectivity DAP CVRF = 0.01 QPC CVRF = 1Ex_5xQ" x! xE   <QS=Implementation StatusOperational System SIGMOD 2000 Demo Experimental deployment of MOCHA NASA Earth Scientists (ESIP Federation) Goddard Space Flight Center NCSA Land Cover Visualization ToolZZ!ZJZZ!JM8Summary and ConclusionsProposed a new Middleware Architecture: MOCHA Automatic Code Deployment (self-extensible) Shipping Java classes Query processing based on data movement reduction Proposed VRF metric for placement of functions Better than selectivity and result cardinality Future work Deployment of MOCHA for NASA ESIP Federation Full implementation of MOCHA Optimizer More Info: http://mocha.umiacs.umd.edu/.P,ZZ2Z/n/Z nTZ n$Z(,2// T >xSProblem 2: Query Processing/:_nopqr s t u v wxyz{|}~Pbb  ` ̙33` ` ff3333f` 333MMM` f` f` 3>?" dd@(~?" dd@  " @ ` n?" dd@   @@``PR    @ ` ` p>> 0 z (    6P    T Click to edit Master title style! !  0 S*wq  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  s *   h*SIGMOD 2000( ,  0 1   P*M. Rodriguez-Martinez  N. Roussopoulos))   0T   @*  C dALE:\users\manuel\proposal\webglobe.gifesB   D3)))? P$)$B    Do))? PmH  0޽h ? ̙33 Default Designz b  @ ( X@C@   6ͺ    T Click to edit Master title style! !  0к ` 0   W#Click to edit Master subtitle style$ $  0Ժ ``  >*  0ƺ `   @*  0d `   @*  C bAJE:\users\manuel\proposal\umtitle.gif` p   <[" o; Copyright 2000 M. Rodriguez-Martinez, All Rights Reserved<<H  0޽h ? ̙330 `*( p   0h% P    X*   0)     Z* d  c $ ?    0,-  @  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  6$1 `P   X*   61 `   Z* H  0޽h ? ̙33 0$( x  r  S ,`  r  S dT` 0   H  0޽h ? ̙33  p^`:( w `r ` S ȧ     ` 6$z @Data Sources are distributed and heterogeneous: Fact of Life ...DA  pB ` Hv2 @ qvR 0` NGH @ F H 2s 1` 8N y  2` Bİ @[ 5s < `B 3` 0D 2 `B 4` 0DZ p` 5` 0)XfB 6` 6DԔ@2@pfB 7` 6DԔZ   8` 0촼H W :ClientF H 2s 9` f :` BT @[ 5s < `B ;` 0D 2 `B <` 0DZ p` =` 0)XfB >` 6DԔ@2@pfB ?` 6DԔZ   @` 0H W :ClientpB A` Hv2 @  qpB B` Hv2 @ [q C` <_%3 A Oracle 8i pB D` Hv2 @ Iq E` <,ż_$ 3 @Informix  F` <ȼ_ i3 @XML Data  G` <x̼_3 A Text Data  H` <@м8X :Internet H ` 0޽h ? ̙33 B ''-(  ~  s *Ҽ      6ؼph,$D 0 t&2-tier architecture means FAT Clients 2' pB  Hv2 @ qvR  NGH @ F H 2s  8N y   B8 @[ 5s < `B  0D 2 `B   0DZ p`   0)XfB   6DԔ@2@pfB   6DԔZ     0H W :ClientF H 2s  f  B` @[ 5s < `B  0D 2 `B  0DZ p`  0)XfB  6DԔ@2@pfB  6DԔZ    0`H W :ClientpB  Hv2 @  qpB  Hv2 @ [q  <_%3 A Oracle 8i pB  Hv2 @ Iq  <_$ 3 @Informix   <_ i3 @XML Data   <_3 A Text Data   <\8X :Internet z `@   `@ ,$D 0fB  6DԔppfB   6DԔ`fB ! 6DԔ( fB " 6DԔ@ fB # 6DԔ8 8 @ fB $ 6DԔXX( z o > %  ,$D0 & <> GNot a Good IdealB 'B <DԔo 2H  0޽h ? ̙33#! B   >S? ( w x  c $H    pB  Hv2 @ qvR  NGH @ F H 2s   Ny   B @[ 5s < `B  0D 2 `B   0DZ p`   0)XfB   6DԔ@2@pfB   6DԔZ     0H W :ClientF H 2s  x  B, @[ 5s < `B  0D 2 `B  0DZ p`  0)XfB  6DԔ@2@pfB  6DԔZ    0H W :ClientpB  Hv2 @  qpB  Hv2 @ [q  <_%3 A Oracle 8i pB  Hv2 @ Iq  <_$ 3 @Informix   <_ i3 @XML Data   <_3 A Text Data   <` 8X :Internet  l x  Nx ,$D 0@ h -x  5h -x  &  `d @))?h   ' B -g  > Translator lB ( <DԔ x N h -x  6 h E x  7 Zd @))?h   8 <4 -g  > Translator fB 9 6DԔ x N h -x  :  h x  ; Zd @))?h   < < -g  > Translator fB = 6DԔ x N h -x  > .h x  ? Zd @))?h   @ <P -g  > Translator fB A 6DԔ x fB C 6DԔh fB D 6DԔ  h fB E 6DԔH H h fB F 6DԔHHh V J 6"VV,$D 0 vMiddleware is a 3-tier connectivity solution  Thin Clients*</ ,l X MX,$D 0fB B 6DԔXfB GB 6DԔfB HB 6DԔP P fB L 6DԔPPl  P S P,$D0t   O ,$D0r I Bd @  K < )  HIntegration ServerxB P H2 @P Q <D-G ;CatalogfB R 6DԔH  0޽h ? ̙33   *(  r  S 3    x  c $<4S*wq  H  0޽h ? ̙33-*  ))NQ$U)(  $~ $ s *`:    pB $ Hv2 @ vR $ NGH @ F H 2s $ \Fq  $ BA @[ 5s < `B $ 0D 2 `B $ 0DZ p`  $ 0)XfB  $ 6DԔ@2@pfB  $ 6DԔZ    $ 0EH W :ClientF H 2s  $  $ BHJ @[ 5s < `B $ 0D 2 `B $ 0DZ p` $ 0)XfB $ 6DԔ@2@pfB $ 6DԔZ   $ 0lMH W :ClientpB $ Hv2 @  pB $ Hv2 @  S $ <(Qo A Oracle 8i pB $ Hv2 @ A $ <8U o @Informix  $ <(Y ao @XML Data  $ <\o A Text Data  $ <h`t :Internet  z x  $  ,$D 0N h -x  $ h -x  $ Zd @))?h    $ <d -g  > Translator fB !$ 6DԔ x N h -x  "$ h E x  #$ Zd @))?h   $$ <h -g  > Translator fB %$ 6DԔ x N h -x  &$  h x  '$ Zd @))?h   ($ <l -g  > Translator fB )$ 6DԔ x N h -x  *$ .h x  +$ Zd @))?h   ,$ <(q -g  > Translator fB -$ 6DԔ x fB .$ 6DԔh fB /$ 6DԔ  h fB 0$ 6DԔH H h fB 1$ 6DԔHHh R 2$ 6Xub,$D 0 LNot Scalable  Expensive System GrowthP'  33:z X 3$ P,$D 0fB 4$ 6DԔXfB 5$B 6DԔfB 6$B 6DԔP P fB 7$ 6DԔPPz  P 8$  H,,$D0   9$  ,$D0r :$ Bd @  ;$ <|  HIntegration ServerxB <$ H2 @P =$ <G ;CatalogfB >$ 6DԔ" ?$ s * ,$D0" @$ s *aXB ,$D0" A$ s * ,$D0" B$ s *  . ,$D0" C$ s * :$,$D0" D$ s * 3 ,$D0" E$ s * / ,$D0" F$ s * 1 ,$D0" G$ s *T >,$D0" H$ s *33a ,$D0" I$ s *33 ,$D0" J$ s *33 8"1 ,$D0" K$ s *33 ^H 1 ,$D0" L$ s *a8 " ,$D0" M$ s * / ,$D0" N$ s *r,$D0H $ 0޽h ? ̙33  B ($(  (r ( S h    r ( S $S*wq  H ( 0޽h ? ̙330  00[l,/(  ,~ , s *     pB , Hv2 @ vR , NGH @ F H 2s , \Fq  , B @[ 5s < `B , 0D 2 `B , 0DZ p`  , 0)XfB  , 6DԔ@2@pfB  , 6DԔZ    , 0,H W :ClientF H 2s  ,  , B4/ @[ 5s < `B , 0D 2 `B , 0DZ p` , 0)XfB , 6DԔ@2@pfB , 6DԔZ   , 0H W :ClientpB , Hv2 @  pB , Hv2 @  S , <o A Oracle 8i pB , Hv2 @ A , < o @Informix  , < ao @XML Data  , <<o A Text Data  , <t :Internet  z x  ,  ,$D 0N h -x  , h -x  , Zd @))?h    , < -g  > Translator fB !, 6DԔ x N h -x  ", h E x  #, Zd @))?h   $, <轾 -g  > Translator fB %, 6DԔ x N h -x  &,  h x  ', Zd @))?h   (, < -g  > Translator fB ), 6DԔ x N h -x  *, .h x  +, Zd @))?h   ,, <ƾ -g  > Translator fB -, 6DԔ x fB ., 6DԔh fB /, 6DԔ  h fB 0, 6DԔH H h fB 1, 6DԔHHh f 2, 6ʾb,$D 0 `Not Scalable  Inefficient evaluation of queriesP1  33:z X 3, P,$D 0fB 4, 6DԔXfB 5,B 6DԔfB 6,B 6DԔP P fB 7, 6DԔPPz  P 8,  H,,$D0   9,  ,$D0r :, Bd @  ;, <<Ӿ  HIntegration ServerxB <, H2 @P =, <`׾G ;CatalogfB >, 6DԔ" ?, s * ,$D0" @, s *aXB ,$D0" A, s * ,$D0" B, s *  . ,$D0" C, s * :$,$D 0" D, s * 3 ,$D0" G, s *T >,$D0" H, s *33a ,$D0" I, s *33 ,$D0" J, s *33 8"1 ,$D0" K, s *33 ^H 1 ,$D0" L, s *a8 " ,$D0" M, s * / ,$D0" N, s *r,$D0mz   O,  ^~ ,$D0` P, 0 hH` Q, 0( p` R, 0`  S, <>  7100MBmz   T, A=]l ,$D0` U, 0 hH` V, 0( p` W, 0`  X, <$>  7100MBmz   Y, w ,$D0` Z, 0 hH` [, 0( p` \, 0`  ], <h>  7100MBH , 0޽h ? ̙332  22Vp0 2(  pr p S       p 6 . C,$0 !]Select location, Composite(image) From Rasters Where week BETWEEN t1 and t2 Group By location^ 5'/vR  p NGH @ ) F H 2s  p  73a p B @[ 5s < `B p 0D 2 `B p 0DZ p` p 0)XfB p 6DԔ@2@pfB p 6DԔZ   p 0HH . FClient$pB p H2 @pB p H2 @q  1p <\9V :Oracle 2p <<@>(: <Informix 8   4p  p Zd @))?  3p <h Ro\ 5DAPF   5p 9 6p Zd @))?  7p <Ro\ 5DAP :p  `d @))? m %  ;p B(V v 5QPCpB p < )  ECode Repository ?p <d>5 % ;Catalogz  Pp  p  e &,$D 0    p Byd @` p " p  `yd @  " p  `yd @ p " p  `yd @ P p^B @p 6D>UU ^B Ap 6D> 3 ^B Bp 6D>  ^B Cp 6D>dd ^B Dp 6D>  ^B Ep 6D>gg^B Fp 6D>^B Gp@ 6D>7 X^B Hp 6D>o l ( Np _,$D0" Lp s *(,$D0" Mp 0$(,$D0 @ \l H N w  gpN H w ,$D0fN `F \p H N " ]p s *`F,$D0" ^p 0( \F,$D0 @ " _p s *PF,$D 0fN `F `p  M 1 " ap s *`F,$D0" bp 0, \F,$D0 @ " cp s *PF,$D 0 ( dp P w ,$D0" ep s *(,$D0" fp 00(,$D0 @ \l W 0  spW 0 ,$D0fN `F hp W M " ip s *`F,$D0" jp 0@5 \F,$D0 @ " kp s *PF,$D 0fN `F lp s 0 " mp s *`F,$D0" np 0x9 \F,$D0 @ " op s *PF,$D 0 ( pp S n ,$D0" qp s *(,$D0" rp 0=(,$D0 @ |z 9  p 9 ,$D0  ( wp# U  ,$D0" xp s *(,$D0" yp 0B(,$D0 @ lT `F zp# v" {p s *`F,$D0" |p 08E \F,$D0 @ " }p s *PF,$D 0lT `F ~p# 9R" p s *`F,$D0" p 0J \F,$D0 @ " p s *PF,$D 0 p <L _  <Internet   p < QT; @Virginia  p <S   @Maryland  p <W$   @Virginia  p <([   =TexasH p 0޽h ? ̙33A B KACAw@(  x  c $P      6` . C,$0 !]Select location, Composite(image) From Rasters Where week BETWEEN t1 and t2 Group By location^ 5'/vR  NGH @ ) F H 2s   73a  Bl @[ 5s < `B  0D 2 `B  0DZ p`   0)XfB   6DԔ@2@pfB   6DԔZ     0oH . FClient$pB   H2 @pB  H2 @q   <t\9V :Oracle  <x@>(: <Informix F       Zd @))?   <|Ro\ 5DAPF    9  Zd @))?   <Ro\ 5DAP  Zd @))? m %   <V v 5QPCpB  H2 @Z   <܇)  ECode Repository^B " 6D>UU ^B # 6D> 3 ^B $ 6D>  ^B % 6D>dd ^B & 6D>  ^B ' 6D>gg^B ( 6D>^B )@ 6D>7 X^B * 6D>o z ( +  _,$D0" , s *(,$D0" - 0r(,$D0 @ |z 9  F 9 ,$D0  ( G# U  ,$D0" H s *(,$D0" I 0 (,$D0 @ lT `F J# v" K s *`F,$D0" L 0 \F,$D0 @ " M s *PF,$D 0lT `F N# 9R" O s *`F,$D0" P 0T \F,$D0 @ " Q s *PF,$D 0 R <ܞ _  <Internet   S <T; @Virginia  T <   @Maryland  U <L$   @Virginia  V <<   =TexaspB W H2 @H n X <0>5 % ;Catalog9z  Y p,$D 0` Z 0@` [ 00v` \ 0f ] <t, 7200MB ^ <o Ptuples9z  _ o,$D 0` ` 0@` a 00v` b 0f c <, 7100MB d <<o Ptuplesz  M  e - ,$D0Z f s *fx Z g s *f@  Z h s *fp8   i <z1   7results j < M  7200KBz  M  k a}E ,$D0Z l s *fx Z m s *f@  Z n s *fp8   o <z1   7results p < M  7150KBz + q  q 9 ,$D0  M  r 5 [ ,$D0Z s s *fx Z t s *f@  Z u s *fp8   v <|z1   7results w < M  7150KB  M  x &+ q ,$D0Z y s *fx Z z s *f@  Z { s *fp8   | < z1   7results } <` M  7200KBz [  ~ [ ,$D0  M    ,$D0Z  s *fx Z  s *f@  Z  s *fp8    <$z1   7results  < M  7150KB  M    [ ,$D0Z  s *fx Z  s *f@  Z  s *fp8    <z1   7results  < M  7200KBz  M    D ,$D0Z  s *fx Z  s *f@  Z  s *fp8    <(z1   7results  < M  7350KBz  M     ,$D 0Z  s *fx Z  s *f@  Z  s *fp8    <(z1   7results  <H M  7350KBH  0޽h ? ̙33 B 0$(  0r 0 S     r 0 S HS*wq  H 0 0޽h ? ̙33d%  $$LL$(  x  c $D       Zd @))? }pB  Hv2 @ F H 2s  BmV  B @[ 5s < `B  0D 2 `B  0DZ p`   0)XfB   6DԔ@2@pfB   6DԔZ     0PH W :ClientF H 2s   t^  B  @[ 5s < `B  0D 2 `B  0DZ p`  0)XfB  6DԔ@2@pfB  6DԔZ    00H W :Client  Zd @))?    < eO <Informix pB  Hv2 @ H =  Zd @))? ) 2   <$ L  :Oracle   <& 5QPC # <*   5DAP $ <-   5DAPpB % H2 @-  & 001   ECode RepositorypB ' H2 @(iI  ( <5H -/  ;Catalog ) s *7 3 X$ Multi-threaded Distributed Objects%%^B < 6D> <^B =@ 6D>((^B > 6D>5 5^B ? 6D>Gl E`7  L`E7 ,$D0Z  s *;  ` ! 0 7 RZ " s *3fA  BfB + 6DԔOcOfB , 6DԔE` `fB - 6DԔ ` fB . 6DԔ T fB / 6DԔ @ l fB 0B 6DԔof f fB 1 6DԔ{` {> fB A 6DԔx x al u)R Iu)R,$D0`  0  RfB * 6DԔfB 2 6DԔuI fB 3 6DԔ7 7  C <@)~ KCoordination ThreadflB DB <Do :fLl ; B J; B,$D0Z  s *3f;  BZ  s *3fH  BfB 4B 6DԔ T% fB 5 6DԔ1 T  E <E  HExecution ThreadlB FB <Do  l `   K`  ,$D0Z  s *i5 L Z  s *} ; ` fB 6 6DԔ @ $ fB 7B 6DԔ* * fB 8 6DԔ$ 8 fB 9 6DԔ @ * fB : 6DԔ   fB ; 6DԔ  > fB @ 6DԔ  fB B 6DԔ  G 6L/ DExecution ThreadlB H <Do H  0޽h ? ̙33#   06K(  l  C S       `d @o))? 3 ^B  6Do * dB  <Do5 / 5 ^B  6Do 8  ^B  6Doy y^B  6Do' ^B   6Do.    <VR/L B Client API   <ZQ @ Query Parser ^B  6Dot     <^b  CCatalog Manager  <a*] $ CQuery Optimizer  <d&   DExecution EnginedB  <Do9  dB  <Do5    <$iF L  A Code Loader    <Hm< q  ? SQL & XML    <HqF 9  EProc. Interface  <u v  BDAP Access APIpB  H2 @ t^B  6D) *^B  6D)3t 3^B  6D) Z Z *^B  6D) G  dB   <D) x  ! <yZ  A XML Catalog  pB " H2 @!  # <} ECode Repository $ Zvd @))?  % < J j 5DAP^B & 6DԔ  ^B '@ 6DԔ ^B ( 6DԔ  v ^B ) 6DԔ: d d ^B * 6DԔC [ C ^B + 6DԔ ~~C  , 01@ Z =,$D0 - 01 ,$D0" . s *Qb,$D0" / s * H ,$D0" 0 s *~ u  ,$D0" 1 s *^)o,$D0" 2 s *` 'q,$D0" 3 s *  ,$D 0" 5 s *  ,$D 0 6 6H J,$D 0 c-QPC Controls and Coordinates Query Execution..H  0޽h ? ̙33" B R"J"0?I!( | l  C @       `d @o))?3   68 ,$D 0 e/DAP Provides QPC with Remote Access to the Data00^B  6DoA ^B  6Do_@ _dB  <Do@ ^B  6Do @ dB   <Do .  pB   Hv2 @v N   <`, &  ? Data Source    <%  BDAP Access API   <IR  BControl Module  <  DExecution EnginedB  <Do dB  <Do   <Hq  A Code Loader    <\  ? SQL & XML    <!  EProc. Interface  <8 y  LData Source Access LayerdB  <Do yy dB  <Do  dB  <Do    <y T#M  8JDBC ! <$y uM  ;I/O API " <y M  7DOM # <4y J M  7JNI^B $ 6D) ll^B % 6D)[c ^B & 6D) H H ^B ' 6D) H x ^B ( 6D) ee " ) s *T ,$D09z  + ^  ,$D 0` , 0@` - 00v` . 0f / <, 7100MB 0 <`o Ptuples9z  1  A',$D0` 2 0@` 3 00v` 4 0f 5 <, 7100MB 6 <o PtuplesEz  + =   ,$D0` 8 0 C` 9 03y` : 0iG+ ; B@ / 7100MB < BJr Ptuplesz  M  > 15 ,$D0Z ? s *fx Z @ s *f@  Z A s *fp8   B <z1   7results C <P M  7150KB'z  + D ! ,$D0Z E s * CZ F s *3yZ G s *iG+ H < / 7100MB I <$Jr PtuplesH  0޽h ? ̙33 B @$(  r  S     r  S HS*wq  H  0޽h ? ̙33  P(  r  S     l  C U*wd  H  0޽h ? ̙33  `4$(  4r 4 S t    r 4 S 0S*wq  H 4 0޽h ? ̙33  p80(  8x 8 c $T    x 8 c $S*wq  H 8 0޽h ? ̙33  rj$+ ( |L r  S $    `  c $A ??, c  v  <z  Volume Reduction Factor: Given operator W and relation R, then lB l  0A ??K    <|5;YA DVDT - volume of data transmitted after applying W to R VDA - volume of data originally present in Rbd-(^B  6DoA0Al   ( ,$D 0  B+  8W is Data-Reducing VRF < 1N T     #  Z   s *  Z   s * @ ` Z   s *p  T  p #  Z  s * pZ  s * @Z  s *pf  632 | f  66t F `" & 0 v  ' <$:S [M  ; Composite() l p K +p K,$D 0  BI{ P  :W is Data-Inflating VRF 1LT    # p  KZ  s *  Z  s * @ ` Z  s *p  f  63 r 2 T  0  #  KN   !  Z " s * Z # s *0 Z $ s *` 0f % 6$^  Z" ) s * %  * <t@] LW  U DoubleRes()  H  0޽h ? ̙33& B 5<N(  <r < S F     < <HxY TCumulative Volume Reduction Factor: Given a plan P to solve query Q over relations R1, & , Rn\$Z&Z$ +[l < 0A ?? . < <,Rx  CVDT - volume of data transmitted by applying all operators in P to R1, & , Rn CVDA- volume of data originally present in R1, & , Rn h1Z"7Z?2$P2^2 !< 6oe y h2 "< s *j ]<,$D 0R2 #< s * Fw R2 $< s * N R2 %< s * B R2 &< s *"  R2 '< s *Z Q R2 (< s * 8 R2 )< s *( H R2 *< s *  BR2 +< s * T R2 ,< s *` H R2 -< s * Q R2 .< s */R2 /< s * V R2 0< s *q J R2 1< s * P  2< <`5 +/  @ Search Space  3< 6d w,$D 0 Optimizer searches for plans that move minimal amount of data. CVRF(Plan) [0,1]LT@ B 5< 0D> H 0 ,$D 0H < 0޽h ? ̙33  $( V r  S Ln    r  S oS*wq  H  0޽h ? ̙33  D$(  Dr D S u    r D S uS*wq  H D 0޽h ? ̙33)     jE (   r  S {      H|; "  sRunnning Time (secs)$ ,F " t\ j t" \ 2 BA 2?" t\4  2  Z Bp   9QPC [ B N  9QPC \ B~+   9QPC ] Bl .  9DAP33 _ B2   9DAP33 ` 6s3 9DAP33 a B~#  @ Query Class  b B,\ {\  6Q1 c BH \  6Q2 d B 1\  6Q3l g C h( f  H  0޽h ? ̙33^    v( w x  c $ܦ    x  c $ @  uF  B8    B 8  2 BA 4? B8A  4   Hd  \  sRunnning Time (secs)$   B\   = Selectivity T   v #      B4   :QPC    B$ ' v 9DAPT  ' o  # & .    B '  9QPC   B ' o 9DAPT  ' p # *&    B\ '  9QPC  B ' p 9DAPT  ' r # & C   B '  9QPC  B ' r 9DAPT  ' t # =&    B| '  9QPC  B ' t 9DAP  Bp Z 8  4 0  BZ   5.25  6)X   7 .50  BX   7 .75  BH4X P  7 1  <H  y U VRF is a better metric"H  0޽h ? ̙33 B :2( w r  S     x  c $C a    C pAXC:\My Documents\Sigmod2K\Poster\CLIENTG.GIFC-  H  0޽h ? ̙33   (  r  S `    l  C Tm  H  0޽h ? ̙337  {7s7jj 7(  ~  s *x     pB  Hv2 @ vR  NGH @ F H 2s  \Fq   B @[ 5s < `B  0D 2 `B  0DZ p`   0)XfB   6DԔ@2@pfB   6DԔZ     0H W :ClientF H 2s     B @[ 5s < `B  0D 2 `B  0DZ p`  0)XfB  6DԔ@2@pfB  6DԔZ    0H W :ClientpB  Hv2 @  pB  Hv2 @  S  <o A Oracle 8i pB  Hv2 @ A  <x o @Informix   <T ao @XML Data   < o A Text Data   <l#t :Internet  z x    ,$D 0N h -x   h -x   Zd @))?h     <x' -g  > Translator fB ! 6DԔ x N h -x  " h E x  # Zd @))?h   $ <X -g  > Translator fB % 6DԔ x N h -x  &  h x  ' Zd @))?h   ( <} -g  > Translator fB ) 6DԔ x N h -x  * .h x  + Zd @))?h   , </ -g  > Translator fB - 6DԔ x fB . 6DԔh fB / 6DԔ  h fB 0 6DԔH H h fB 1 6DԔHHh f 2 65b,$D 0 `Not Scalable  Inefficient evaluation of queriesP1  33:z X 3 P,$D 0fB 4 6DԔXfB 5B 6DԔfB 6B 6DԔP P fB 7 6DԔPPz  P 8  H,,$D0   9  ,$D0r : Bd @  ; <|=  HIntegration ServerxB < H2 @P = <AG ;CatalogfB > 6DԔ" ? s * ,$D0" @ s *aXB ,$D0" A s * ,$D0" B s *  . ,$D0" C s * :$,$D 0" D s * 3 ,$D0" E s *T >,$D0" F s *33a ,$D0" G s *33 ,$D0" H s *33 8"1 ,$D0" I s *33 ^H 1 ,$D0" J s *a8 " ,$D0" K s * / ,$D0" L s *r,$D0mz   M  ^~ ,$D0` N 0 hH` O 0( p` P 0`  Q <L>  7100MBmz   R A=]l ,$D0` S 0 hH` T 0( p` U 0`  V <`P>  7100MBmz   W w ,$D0` X 0 hH` Y 0( p` Z 0`  [ <T>  7100MBmz   \   ,$D 0` ] 0 hH` ^ 0( p` _ 0`  ` <X>  7200MBmz   a Q | ,$D0` b 0 hH` c 0( p` d 0`  e <,]>  7200MBmz   f =,$D0` g 0 hH` h 0( p` i 0`  j <a>  7200MBH  0޽h ? ̙330 P\>(   \R \ 3     \ C A @   LHello My name is Manuel Rodriguez I will talk about my paper entitled: Automatic Deployment & Joint work with Dr. Nick Roussopoulos at UMCPw H \ 0޽h ? ̙33F0 `#(  X  C      S  @   %Explain the plotsH  0޽h ? ̙33&0 H4(  HX H C     H S |h @   6Data Sources for a particular enterprise or community of users are distributed And heterogeneous. It is necessary to build applications that access data from multiple sources over large scale distributed environments @OwH H 0޽h ? ̙33J0 ^V@L(  LX L C    V L S  @    We argue that existing approaches do not scale well in large-scale environments with these characteries due to the complexity of code maintenance.\ ,H L 0޽h ? ̙33G0 X (  XX X C     X S q @   " 2-tier achitecture is one approach to connect client to servers Makes the client Fat since they require many APIs to communicate with the different data sources Makes them complex and expensive to deploy. H X 0޽h ? ̙33@0  \V(  \X \ C     \ S | @   X3  tier : clients communicate with a integration server Can be an application server (Oracle) or mediator (Garlic, TSIMMIS) Provides uniform view and access mechanims to the data, by imposing a global schema on top of individual schemas. Catalog has information about the schemas in the data sources. Translators are used to extract the data from the sources. wrappers or gateways H \ 0޽h ? ̙33H0 sk0`(  `X ` C    k ` S l @    Many Application need user-defined types and functions (I.e. Earth Sci) Code must be ported and manually installed by administrators OS Hardware Complex and time consuming Need to maintain the deployed code base Apply updates and bug fixes to code Deal with several different version of the code Issue of security of code, how to make sure the code does not perform dangerous operations.<U]U]DEH ` 0޽h ? ̙33K0 Pd(  dX d C     d S Ĝ @    H d 0޽h ? ̙33ZL0 `h(  hX h C     h S { @   Existing solutions don t scale well because of inefficient query processing.H h 0޽h ? ̙33*0 qipl(  lX l C    i l S   @   Get location and make composite of set of images Aggregation query. Location , image are user-defined types Composite is UDF Run query at DAP and ship only the results, namely (location, image) QPC sends plan to DAP and deploys code Get code for types and function QPC Gets location and image, and so do the client DAPs get everything Code deployment phase. System automatically adapts to the requirementsv of the query. Self-extensible . . .,;I$H l 0޽h ? ̙33 B0 pp(  pX p C     p S  @   r^Now read the data from the sources Filter the data Sent back to the QPC the distilled results H p 0޽h ? ̙33M0 t(  tX t C     t S   @    Have automatic deployment of code QPC automatically ships code Don t ship code blindly, but under the idea of data movement reduction H t 0޽h ? ̙33C0 x5(  xX x C     x S  @   7#Client need to communicate Open connection and gets allocated a coordination thread Parsing, resource discovery, optimization, and plan generation Spawn Execution threads. Execute operators and deploy the code Parallel execution AT DAP, get thread allocated execution and data translation H x 0޽h ? ̙33D0 og|(  |X | C    g | S  @   Client API Parser (SQL) Optimizer Catalog Manager (show animation to matadata for composite) Execution, iterators for query processing. Code loader for code deployment show animation ,F  HH | 0޽h ? ̙33/20 (  X  C      S  @   mNow we have seen the architecture of MOCHA The question is how to take advantage of code deployment features.H  0޽h ? ̙33O0 (  X  C      S  @    H  0޽h ? ̙33P0 F> (  X  C    >  S  @   Goal is to minimize the cumulative volume reduction factor of a plan. CVRF < 1 -> good CVRF = 1 neutral CVRF > 1 bad Make the optimizer only search the region of interesting plans In the red zone.H  0޽h ? ̙3360 P$(  X  C      S $` @   &Explain the plots H  0޽h ? ̙33Q0 @(  X  C      S T @    H  0޽h ? ̙3350 0(  X  C      S ( @    H  0޽h ? ̙3340 (  X  C      S   @    H  0޽h ? ̙33N0 (  X  C      S  @    H  0޽h ? ̙33R0 (  X  C      S  @    H  0޽h ? ̙33E0 (  X  C      S l @    H  0޽h ? ̙33fS0 &p(  ^ S     c $  @   Existing solutions don t scale well because of inefficient query processing.H  0޽h ? ̙33 xU;KAv<`q H* m4vѠu#E'haev6jc'N2ywbwefLF'tat6CGRhf 41:*PA~huϪy#}my͞\qgx_Q%?v?JE)s| 92~ ~뫔;:  ?̪ğQxFu8zQ)J̫JYI'SeCtSI>Ys/xE>{aԕ[ 6)\KG7%8KI9nΆapHꋈI:&60yuoUveX2aBٻ!|00jƨ{Ϡ&K?*#G]Y!v{>9Y:dCm3DLxVOOSA->Pj!H/0!L@*5ZɣN&Dc"(~O[gvZ!2}fvgfHЄ Z AOQiWk];76sg@"\ ~>h<|KVyꍐx5̃g#,@z?Gga옅k-Gk 䗟种.`T=o϶>Ǥa7po' 1@'I!3ۼ!5ұלGg*se)_ȧvtq9UsȨ xOg^,g^RvaZ5Ji1d9&8(Gz=Mg1ki ~w]X!xL6I*D@9]0*% .g_k"fކxgU‰L-nvTwJW?֥uV|Sֺ ^LN''6LO$OՇ'66y9iU]VTOaV^k%"}ϟK6zyγ%wvZ<&\`lx 6a5P0D #E5(RQZZAjUEոMIi+j*i~̽wfg q3ǹ3~nUW ;* pJCK;lه*1}8|ϋbD1p>{!@ayv:)S/ :NSE3H#WTN?~[Ep:\frV:Bfe3Xb䨠?3^ϚVb P K@-PāGP4ˀǀF`9hV@ jzw(osQP?b/s,ʉc' ?}bCd2)t%vH]kϡZ;_b jo:p.]&ı41ѐoO]~rsgEmQ/o?F yߨ5;U#DUh4ݴQF/,׆ hIHm^tmCv Hy"ט7\{2tb-^Px/!J_ՅwtHkU?b59ܲ8n>m.=WIdf߹PU2 ̭/szJƨՇgcZ[s+8u7oIZ8 aaK|266G),]~ z\Vcah3ezF(cf)5> BJH0*yh;_V#K.()ǥ7=:xFw>E_-FTWġ,NQ#'}PVXCߋ.Ræcq%~GCłXfD#Գm'7qPsG9TNME)Ta>{C4UO oT,H7͖~n xsNY7O6ѭ=M.-._,ű[>9-bXqm.8)*|Iw2[<彝H6%J_J,FUq*/CRǜ)]͓#/\S^}O ߨ<*<Ϸ6?q3oc'[o?vtIN}7@8gN:pԴS̉{O4iQ!|U]O;U f󮺢zS:o/`;Ԉzy/ {jx}c#z3r6}5D h6ջIA!J3mT 2ꂠ]E 2w-AFtٺԍWFF&FTiU/ȨJ?fTjs٭6-;1 2 eDjeu~ЮC4$ڭ ]J4 HkvmUA[@UnhxS*_%EC֎}]hX)h ڭ +5BFp1_#k ~7E~Q]ю})ч}OtU }hY&:>|kM_@ѩ]Ph E5>YA2ϳ) gF=o؂iGPxy`||;Y*qa'Һ5<%˽d͖l nr㖻l˖;mӖ\sN9_Tf3Dnr,wroX ݰ }`,W WjbmVq]TowSyk`~Lݯ/G诽8hn]Tq$bٓNzӚo 5 _4x?ߥ[-YyͽlwRܺ&`nGO^ܷg>S,EoՓ+9ګV+&fcw`E[(>'ݛ I+έ&SPG3RL+䎞m;ʁQ=תf(Qݿ'aչd/VTfR&8JBvͬZPfqrR2`龗gAV (xY]lU=?|L0͵~ Ƅ&T!&&)v/ FEH%Z$OQ[%*uԗVoDjofw{l -{=ΙUw)F%t0eHO|jJ δ 2r P4rw۝:>g(Ei|йh*a[sq>{OjC}1)I]N\;nYmNÎ' ֿ9OMSԢ)ff{97\=״8&ր@Uւցփj@@)н4T ,h+h曥jJn ;+ձ}9O|m੾3zNRLF}}C퇄Ж8Ӱg櫿اE{[p.,jӈt]vkmmݛCuG Ұy}(Ԑ),L:*͈ޏn$:l7HoK 6Cq"#|2m[>1QgO8Nv_BKg  S.\u׏dC{NŌ˳Z2fқ]3P:F~)VWSHj-A?>C>Oq":'mDq:{G'^T-C05P|: t8F3yfϱhț9(> -k 1k},s-8ۢ!ǂb : ZRі#>+~1Օ$Kh  KW}+H!v}g[֣iu/߁W|?4TWG%HEu } 2$`/xٗsR^L?-xcbQ_k),W %2,W p jVs6:H9Vl] C'%ZU \,^~.)|Tt#M?ȇ[ߒж<N,1oNХ;1m|m% tK4ll119۝_mDr*l_?ҝE0 *ʫR\x$`r `X;~Q{B]`^Y>`6B[n&.rUYH"< X]Ub2CejY?% ņL3a9Q #rZήͫz+w3歶_Z}f7{JF~^BAu0ۼyض6?[jJz{=WWqM?7ku`Wr$lkjn[\%n͊/dQqnfW<܏芳l+;/ef?v0UP9fV=Z),/d+ItYjU_jiZȪ-NH/U.,y$x?2;ao~&=\7|כv xVkSAm>Aڃړ CkIC"4#M4 Ń^=y(ыU "xd5qfw_ )/R@Ǔ/ W,iz؍#t~1l[6!"BuTK8`3i;3=*3>rdj5"ۑVA`Xc;qcq/5P_Wl|Y1?HX[StL}L!;n#t?y# k3^,W*Ti#S hrDB$Gʫ?W9W;wo 9d'$OYQhNR%4)+!o]jsB ̋{Tc9&oD&LVAf`Pk)}tndz ҹ|eﺩb>S]~ gbqrp j4g߼]DItMj~ 2HcގzDt v@NEP 7 m됮Hra9]lRD r%ڭu8_8w?uaߜ@|s)4 z0<àGcpM2pڽB ˟w莯We[:fQkpr$ ΀08: 8??GI0 DHMOhSeUǿWrq?S.ce 1 54 F s<r+S)fBfMj:   Oh+'0Q hp    $,No Slide TitleManuel RodriguezeValued Gateway ClientP1309d GMicrosoft PowerPointP@b{@7A>@@Wׇ@vԿGPg  P('& &&#TNPPt2OMi & TNPP &&TNPP     'A x(xʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___wwwt)JsFFoK1QoFmmms*Y+CDmmCDJ0)DimQ#Kmommmmss "--&TNPP & ՜.+,0`    On-screen Show -s $Times New RomanArial Helvetica WingdingsMonotype SortsSymbolDefault DesignMicrosoft Equation 3.0Microsoft Graph 2000 ChartRMOCHA: A Self-Extensible Database Middleware System for Distributed Data Sources MotivationClient-Server ConnectivityMiddleware Integration ServiceProblem 1: Code DeploymentProblem 1: Code DeploymentProblem 2: Query ProcessingProblem 2: Query ProcessingMOCHA Solution: Ship Code!MOCHA Solution: Filter Data! MOCHA GoalsThe MOCHA ArchitectureQPC: The Integration ServerDAP: The Facilitator of Data Road MapProcessing The QueriesOperator PlacementOperator PlacementPlacement Metric: VRFGoal: Plans with small CVRFPerformance EvaluationExperimental EnvironmentReducing vs. InflatingVRF vs SelectivityImplementation StatusSummary and ConclusionsProblem 2: Query Processing  Fonts UsedDesign TemplateEmbedded OLE Servers Slide Titles-_Valued Gateway ClientValued Gateway Client  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Root EntrydO)PicturesCurrent UserSummaryInformation(RPowerPoint Document(RDocumentSummaryInformation8