ࡱ> nr0ǭ$)PNG  IHDRHmesRGB pHYs+IDATx^ r[zd鞺R/dOce:Gx??~ /s"c !{J$8~.ǯЁnJ< =xkjM&BÂpÛjC#vtgyetVIaGU %u8%]9b;[*JDZtP '=vϊᴚ\X! fR&x{{-l{g8Ck[4(*رBxP=bM@L' j my8E@`}7{?5>\:B`4]!@` (cl5tLRZeӢBRy&, =Kc c׉1 c/U(>^fؠO!%ҹ) S|9?}-f(@!K`đ5UrmWM -l`&(w] 89=@/w$q}W\x]"NgYy<_}wM,]Bfm%0!>Cn:޾O‡gAC!]Ws#^7gzՂȤ.Ւ@!xo3ZPT %'9vnjJ`SFeaiZWOw4C Vx\*Vv4j^:AV"’E[n-,&EvH!`驄L$lP(N\dF8 zcAhaY\cj Ѕc]DK2L u5dU(1qږ܊jgyM[W0Ζ H}m34Oa|?q{Y%ppf\!qЍy!,v6d!p1$R-5kܜg/|NJi[ҋ.…bG}w]R@$ȴ\^p@%"MDYj Ix#8l`}2Qv(aa")A]Ң2w'-ظB/$S,*(\}C1%3 $zqw8<DNqgX:~VuveYT*c{x\1geg*R.|D{scg"$gV". ;ܠqJ ]AϺ WL۫$aH@T GPjJQY~4!0 ]~PÙ( h c\*,k{cl5m)5FU۞eYډ2tx@B|5~f5'&3'kTb%jYRg1!!sXWA85YTZlC8A2 ^fը,KdƇuX@~lcDhk1Z=R. W BLP1KHR:`)P%>vb> *m4>T(~6fi_hL5;-]e_ !ƇϬH@H@rdprW>'7w?]@ lP1Z0c*CHv]eQtl3" `'|cf^*PIKugTS.{<,=mcZM*Z ZZUQpz/SaF"UcSN4=v#M-&iF͎@ӷJn7~}Cj8Yq1`QLEw7>'q\0&P8g|릀;`:` @ꗻ1})96#׽6A!ꗻѺ? `$дe,1@`2&8 Puhٌ* U^4) Q ]o.S=+3JMJ.3Lv *%Z! 4 Ó&&]H t"f\F 3 (cl7ܲ`?N\pg[7 T@?ow% .jyS T(n<[N@@#nY?wn6+ GjzP>Z0apV,>?/%}*>t@k || R_۴\'`ٮ`":RSd2T>`gvݞg_pzYTþ,/.ܦE53ѣ0%+X[Q'x4vPDxp>S3ηrpSǿ,F<3T،@4aLHpjs PAi9*4  Н<"& TE@ r;%c/rzuj!FH1LCp1e B4lHRֱ7aLz&@z; XTUYX(q̳P[Tx>3f.ޙJw}G FU!c/ȥ*5Dtp^wRW_AOH ޱlP@`C8Iiؐabpl6$coX6 ةJu1K|, pfY^9)9-wǮDzTl+usU/;z?n`b8O/wqr xDB=턹eSe[APpeYЩjn* 2ycca:D0R]CvtMXX&ʻΊvMRm(|+,ۢvܼ-g_b6CǶP*) ФCE^]24"V;y"*+KJ{#fbKiSa~9-kd!1Ԡ25Mc)hFO/WGBG;v!=xйCQikqp,Ev>nrfqJ@J69;,ΧN:7 z5c76'C`EcX!pW+IENDB`nsև*g;Q9PNG  IHDR;RsRGB pHYs+;IDATx^ $'@J>FN>'m&lKf*:Z6!MDM@Xv"@ݩXv"@ݩXv"@ݩE' o ן]:`~l+2.5 0@JW3WWOQ]#R間!v$p86G^;Eg%P8}\(e dƱ!ЍrJO҄Ǐ#? Se)ٚ,cqݚ Agc3QqDQaX5 ;W,a86ן  ʍ^.`Ȉ铏P,H6"\+UGTq _ +.?F|!`J8ma@CvvI@I'iSF g@|Cܻid+j$5 &;6f󼣠n_zlvnMXZ|-M,㦬8slӊKco!>m=Z8]I. Sy1s$$Yj޳;8U'h HK _G\OB'1gJLȊ.ZdNDdF@ɦ8_2%Knܭ' @$U#JCX&u0JC(% y)}EDe)rQ'/ ̄I = FA`YCeB1J`O%]X8Q q8vA+P)KwwBvE?Ә.~wq& { FB; nql]!?]SzZdOczrS)=I*(H! ,D),.Ӓ\@O^1XuaY?z$!A^13-0"0XnUy@ "0a S@1gw8XUQ.Ʊp#P;~)ancbXUQ>vd;*JR==՝[k! 0WL{NFX;9Lk,Ÿ&sN'ڳ_TE3a̳D{ڗ>s5wXÉvNi,O_$!p6}ΛR|*''tuh"`6Qtv|ۄatV2}H!`7Iߣ&t]%U$tЗpe?dԷJɡQG‰:JI2Qղ{lv2< =1+HB$|l >!{&dTa c <_7>b5Qj!q_}*3 |X3K \JR"<ؾMbvs;Zg$Ջ(u{9񍌯z Zc;,Kq첶#0guG1"C vD&8M7v !Ai;S9BbE`f&}cS@`@s)D3OQYA).E϶hc㚇xCc%<[8ր!:2]~F.d 0B'-Z n?uzZ b[#Vr){Z#n!bW$Qӻ@׳d[ {~X [ LXݹU?2HRNv^_KǏirxi䲍7~7oj'WLVmn|  gwg\[c3ez:R2<@ޏ-ƐyP" -/BX@j^J c}i[,4t}l؏C+|,-;`ugBW{;V>˜Yxe>XAԑ覯F¬t?Iw6>N[)4e(=8&R4OLRVzCY(5ɨԺuRդVægk՘ g{u. %8Cɭ][OoxS h5& wt%=2Tl`p#=U4eKT\j?7dPJlw 3IS$lm ff¾Tf .@-z[Ox>ڵ5[ZS5ZgQfg[Qi8D5$XyU휥n*jsz(KL^ Gh*x& Vʭd~=ʖHP|$Ag#Ǣ^%B+J-SG&iRTd>';i4gE>>c~HǖEj%Ǝ:G6//r#^BT4fBuC`#]BPUXv"?H*IENDB`npbym2(DPNG  IHDRF+bKGD̿EUUf 0=i3dWVuJJՁS9k6SHj;+Fħ:(J`#"B#*T* \5;#t磪 fIR 0t65QbidF~Þ=\Tb9ssYsh+զ&ƫ묝6|l:5?}YTu1QӟU^]NV+YnMFI7_˾7^z_F'IWPgW۳K&ٶHCas3'~;.tZiѕNBRˉXh,N; VX.iT+rV.z$Y]kEhK)fOM%情LʦN|td!N@/Hx ?XnӀÛP|x#M 4C£ѯ϶"p? X;VmO{VB)`"<dj-&r+AW:oh'o%FJP)J @h+ʥ ,[w@>T_d,(hQ*AD&1@S]`+r` ݿ|GS`vS2.ӆb,uۊ=BOH0{Fy`hC=k牅 RȁZ(T :"y7`Da!,@ *q=0dKlE=ipXr>~+*5E˶s7"G% iU„9ؼʛrGr)`*ۚ(hL "|&& 4ՌGey6v5^1SO ۍ~b2MU 0`,Bw\r m&_0kB4~s~*+HܼO\̊VKY, ]5cSOlAuL+q\;kɡ6ge53ʄV6{%Rήmmg>3upz+Q&:tA!ɱ 9:g5]h覔7Z`FuI/=e$_S)Sv/-l, |g+L]]{Bp"o7q՛PV/_^x!sp"ie|I)jĝGڍpߥT|'ġNN0x'p,*)WQ[\ZT5D|D J.%+oOmy`*7;v[]85R72Нnk2S>EF a A#ߴTxև@n/%ٛ(\S\)Z Lw KFP"y:`Đ-sf};8;Y p[u`2SA7] L U~¸գmyÖ@İ˿ȁ!(a1L !7 7j fNrbe#eM b3lb]~)m>=W"^\d B.H:GXk,9Ni;_9Y6@ H/!Pص iDŽ1+dx}DRQPY0 ex]OrC6qfP8C8&܆SqҺ -<qM}34}S[jXYgmʊRlPFxfo:L!VsL!zG3\ߔ'Tm6eOCg]ہq9Lh9ᣕS*oBBfiނ?|bLa؋;__͟Po#fB"bE2&HrQcl5_+;=ZZl}oT9뤕D|}adgp9B_ITN'qog|GQ!םJJ*/qJ*^8Cu  $J)8eUa<6b4uEG_C1ߡL!iah="(*жyÀODѥ>i+LLg}s˚, (z样*U#$&ԲApɪϿ>WUFFW2"B"%\r/š37VDķ.;=ENJ3-G/觊snDz^dx]_>K;̍8D_8Ǝ vC!rt s~x=E(ܘi9z ހ{_qNz$ŜFHQ4Sr/5vINzJ9ru d<>K'T$hb_U!IhomUB Hy MaȬҾޛ!ide3i B%ӒL$Wo2 lj+H3|a^G9X /\n9$*EkJbEӤ+v& KRJ0}$9_SC%$֚H5rN4?L8bɛeGu ] h+R"oZaK1m2Fuqt/X*eP~{K1E!xligr*Tޭvt^YiO'P9z5ۖFJ7 g('T@ZWQěyGˡ2Cj^e7~UBK~ʂCʑ; Fu%Ƌu~;{o$ LmDzE6:[@&YT) N|䶻5'o/, 0OIQ)9jvj$Wr=Pݢڎp3~3|'tP)ʣgtp0{em$+S`+M8/ hnͦ~b葯B~{owo<{C66]\8YEE,-GT8`:x;hR7sU'EhguZ"۱v ׅP^|qcωOGs.pSC4AufK{I($C+yKS QfnmA8JǬOovDvhTLNE@0|yX[DA.$3=֙Q";A?;3,Hf/[xQD80ڙI%y'Q.c#ߌ8dv %P˅l2xlugW;~ /,zs;KyZS2h2KW":/Jݛݭ2eTfe+M1 :5`N͛sP?)VFꞻfhW!szeN~M-+T AݠHM`C0Qc+h߭L*sxCvgx7ZJ8KF!wCketڜf(F3;,.c_]{UdMZ~)ym04zEFLv6"7wa_}sca\1^ݩF93 8\-ޣMd= UW4\yQEqiӀObaxUq"Z4g&z=kҝkU 饯xMeԾnbeӌ"GC%jʒP`A7aɪc>͸3 GmNO@gNlwe5j\6iva.y;ZD?!aѲb3tF3|T6deWy:3z/5cKA93?;6j[LL=ںqvhʹHaUU˭#;D9ic/~lƑ^JRIl%S\Z3"03hkor8?Y43," tX;4OQ?TgKGK-U{nwF ШDQiƃE bЃ5˞Qg(HXN}UaQi{6|)}H-|'.xQU CI iVa-i;NR9m߹~qhA%uUV& ivDi_Pyb) 9Š糧V aƓ͠ˏh:Iy|a0v{nYQA v~̏|Gp޻F|R@2U&;Wwć` wz1~.([Q4}Q7_~x#BY%~e;Ok-#=+?]/ܹolpdiWĎ7}tg! aTw}M~@M!ABBrl o•7atªz#}{1p}]zIŗ^w45QGŻ"t'/}.pġFZEMc7{N!ϣr`٠хPv42 ϽXQ?%*;Lo2k+Bg ]u5=68zgQqM #%i(i6n6\-3-yEsҺɡz;&Z:xO0Z;&ph!}NA/xsK|Vm;cs~%n<ٱ]4#4мj+N2GCZ'@zwLL^xNmpC59>ʥ9'y}ZLDŽډ42:kS6nD{1 nj ]P]ٷANXfT}0xffܒ GV|{f145!]*!-;d3pnx{i9@Ly*8%D{D;jp},){-%osd-)9caӂ|S2^U7kc gХ9=UKb0z(̆D%B]=4 O>"3 ;S5V>@ NPMH %Vo~V :t ?ϵ&NgÐa$\mLJƶe?#Nk8Feܷsg{t^]Xy [3Ǝ+z7"yg@c g^o~?=-*`Z$Sq.VPk&Y7ĜԄ$SXC׳}Z6z)"x:;ĎJ~֗>EtRY ءMl=ʽ՚KB3WUos.ߩdX12Xc^G`ǔ= /3SDAۮ3?d9=#r)!7􊟙|uc}@Nw@QH}bH [>cA!GDCOϔ>( nPωVs&&~ -zO.Y~@s.QZh1i. qg/D&CSB'5*52]F8{xRwq€;AwQBkҕ5:u* ;v CL#Y;[Q3!Hj5`v,"'zri:Ԉ('O ysn d;45G6XRRR\{Sހ׎Ӻ],[NLЗSn{|;,9ldZmj׉^=< ҹxF,~K$ cz_! 9 AdM A&T@o.\Pw#4|:h#Õ;kKJ1滷Czm㥥1/9 :rNXOMY?xī\sN[5:ZV |[ޚq`Y[xEnBig霶GOdA%w9h׌Í5 (w>{jB.d\!V vd)ȹcAn.8j#x i1':7w͚9v/, emaDѰe4whޓ0 ^2Y3NHp<(2ɚHv*΃LY lɺ;?f}]"CCQ[-a216#ʎ-!/Sbʺ7Bڞimd@p Оe5756>NpKm%CEdlūguc4I#>8߂/,xmh762ި9U6|t:Ꮬ4rNi[I&Y]yI Aݵj[{;ʬ%M l! ~RrG}%rZX^~`&PYL=oC]ǷC$+tFzB3iDo05_v[3tB+E/S—x%x8~3;TI U-u\Vggubx&'p*Rhn DS?)(;g>]}cyuNIњIf n ŊJtx6W]M햇vA]e誄jЪ5F R MpUh40 `ʿCh$5YohZ0wVc2t E2vu_TQZS )o#緭xsgMg\_rvvfZ*.9|mA9iY,w8d$-r[,'=6@M{-G9GLwh~ڤ03l3wOO*8EhaGnHN C@@ armiTls.GT78|z/e[ eY9H2695eL 1o!7/+ u֩Kk+I3;~@  l\CE,EkiةϜB~cI| ?H YFԠþGh4A^Z4Қ^;h !%QX9"b۵ pE*4nlR!W"ZI Id=J\ q]V  ձ춁Vp~6IؒS4C*~@߾L09;ɶ1n5-uLat?Stem?%A mH*!E eͨ^*`,jeI7;8 pB.mjFr"*;J68Bbje؏"G/*T+BP++ei-fEˢJ8FLКAOxe&3yA>|{}/03g܎\B-U@-!֨;i$iՊ-6"XDChu-۶dB@,tw<;K!A+#o>hO:6!&n֤j cJX~ѕ}õIǏ"AQbLdRKs,IV_ 5:S>z7P4G ,1:$kUڛ0!ФXb9$[QwNX&.5MS8 G2H"L_Vnr%n(ީ(V8c|+Ma71"ڈP ,MSjv`l-Q}Bd;@t6noZH2C#dUb!Tn/IZϚ6^8x_irj=>])xŀ#9th7(t,vA ~7CkȊݸ!m6X.ۛVVSuvG BIVe0Pb.Ady(GmynjMw? R) *i]J?9]brOҬk4Hk}X԰FTݫoY}1Mp&AS 鎆#qw B$\h|\MƮ úǁvQD){!hTG_M"7؈a N(awiFA=aSz|4$=kyQ{v5ݹЍy<30}}FF)J,lV>-o~5،RªvZzS輎41C7 <}cYW8bJX`Z2&0h*4df.٤tn'4j6(.iHcu9Ep8lvZmm>a+ \=f[],9p-6~@ #ʥ=S%JW睕ޤpI̚z. MSO]19X3?-A !C-s%Qx ;PSٙ&& P26/,hCͲx2B&9D5aҊ;T^&}ݑ)WSN2 L $PFO9D较 yRgt;d@6^J=߾/ ^L"Z/ uN Z =+n71lf?"C Sccf""gIXQ%L;FyKy.<w4ƠBVK"١"_9GxOm f`Z ڡ @p4ܹ4լȠmcN}3y,(qwl쉻メ&F л2i) |Y/ U4 ni"W9ڌ8of#10SWc۵ikPO33=;]%(.ȇu(T@=c}Nx"SgtaȺ$T( 6zS&YKW]3zп R c[++Vz΁2ɦ\Q$LEY3 C*9b0 gHI !*pMdq2lmQyܼECbd MT= BSMmV7ar9966}[v{j=lϴuyv$$U?C+ݶ/dU$WN*y$sg~H wmu6$IC >#^{w~Mtr9K笏 X 63͂QM:}O*1SBG1J(0u pQ[h6`a9'nLiFQ ,n"Nq35SE.Up,g| INɖ ͣ-j+4:ii;#+sT hr&qt:ܱP3`4G ְnyCPfY ul;HZy7/RWizbIhvO^ 3%tI=b=t&c\7oaGCc~mV,ܻC)t}EiҠrS(pOo^Je`(aCێn>PQW鰦PҊ;NeS71"vCT /xUU1eooȲ,oC ulܳH3!Śjm䔻_ySTѫFPǶ ӣʣ赝O#{i=-}`5Υ˽,yѣ~'ޡU J϶<n.DQm9<Dۡ4N7$6by_U]8xJZ18 h+3166D0RrUpn =rdKbp96;=5ڜ旦_r7rS[u BcD\e @XāOf.;熏llX,htDm˕l4l7ӋhEg< aI=tˡ+[_*\wmNjS9 1, % cN GBg-22F̘a4Wx`#̩~B8& O-Qa#LH2&b ٙIENDgKq^%Ne|DȆcEhGcSvi g!HFI7\ 'eѲX, -JbR)Mܷ?rN ͛K؅Zkݸ89{R`$<_N(1H08dRa֋.["!*N,pJQ,7`^\Q9ZT,bJF~RNVZ4hLdt|%%ɟΚ@$4ވ Vo!IU;Њ=X\C3Y‘xQrJ;_rm(8vJb{zO.1r" &T裭d.&[VTAGHv>3eH95!Ix[uc4 Ml991qitlx)}GcScsKT1ǭKcOiC`Z$bvpD\DԂȱ'r*ku]M/_r[1TFՑp ՝jWS{OESbW] }UҼo=Uaq_= %" ! p7莇o]X>KD twEjA }[9dXcU+RBRRi?@5 h\ >֕13K $JMME'^Wpn hG2tkczj  @YV’[]NL(#YGE" з wɶ?yJs-OoFKް1k 2'夈6 2`+4 ͥPV1Ѳ+٦,ӺE)=՚;n[mL/Q R.M)叇j_VkkSSXh+Cg[k Ž$U|UR:|u|~帶ܥ"[m /]J-#Nιq+ \Qy hL}S/OMn h8pLHk}v mp NZ.|z uÖvU+Vya:Ҳx`TjZC GB{0)6m%W/#=Sӹ^V+. ΙAOm:AzV!Tm:/St(,av(j$\K:g1 O.Whhj;t9:#ì/qF)#2p#86|upYh/Q R]p`H8zj ӎra`h'M N Pb r9,NB;}CuОν 5EOpuuzv(l@& 4S^yPMvPHT,?{x);\սwV9}ioYJW) jcy B yx%Y]tg~f%x6 A,0™_zSwdt1ɪEwHb ־X]E:omJu5J4QrHM/I4]ˡ,-IN5 n*,@7Ffo(co{V=Q՝ c #ңf徲{;zd͝GG0ĉѯ)vJy;Ev_4'1Y5-ЎB eŶ]+c颕JQR&YKcڍd(ll=ݍۮLaڡaRm֘" ~~W,DUI[]8q( (l۵N }͹AFԧXR$Sw^ā_i;o6NҖ.\>OrDҴU-0! wiv08yʦ)aWCf5[[Z+)QIDr'mfh_%-%xԫ{B= 6^mukt̵[w)9qdb-t]zkK7y;r;;Ύik=3cBWGkM} okЮݞh}&ָ?/Yj<ĺV2Lڻ\UQuhRIe :!m@ 9bӈ`p!F&PE[s?ZApa(03#S؝(Iddj~Wgԓ @t^rI\sJEYȧ,:Qř0<_M#UABl!o!ڵ]r*i U BfCЍnĪk3W^GuX>Fէ;;_hDSL/@[>ͻ]mm HwlaSE/`B]+=^ 30)3S~@%&OM"Ӳs||zj<^z! wV@;!) @%^d8$F*nOa8B[s^GaM>8) {5%xb3c,faԏ$`?_w} V!|zZyv3moitOo5 0xVdP2OήJ]/m_` vB#ɉ6b<3X ء2H}'0B#.lГ)O%S tnN| ֔Sn.f^Gs@o<_q>Z1#B#Ȥi X$ړT7l4ᢒǞf#ē'n7fxW'5B vdB/k:#}e^=,D"{q+D=&RhRUN $ۣɂ7;>-{֒#ؽ9vP`m $'N>, B78B/ߓ_rSGOqսg[Qz/I*1:v>Un;[.`⒤\R:ju;I4g-#r*ϧwk4-NM׍aC n]?x'Aꑓ5otgOJ)!D^D# oz䏫D 䈽Sw3:vA9FkO}p>.rK$lPwϽwdVDLX.9S퉅 䈽Sxi B0dTeA/B L88̉2;s>6V ` B2%Ofœ" v 52&#:{S:R$|@fu;4k_»Mߵ}}١^y!.΁â@<σC@x=nbrHz(k6y=΁nd} *[㢝+X;WIWTXi$+@c0Qqy+:/ndݤCRJPoٔpCb?\ojлDuh7b'`pﻯ.yE- }MJ Ndz@$O!,ב AA՗V@sק_k-w&FI@@$%tf A+QpaøY` e(t&GvœuSLtOD$ NOh澹U9^z&9rOZfB8 j:VӗЩ֚qVװ~܈  OlB7矹(iyU @Rª J߀K#h98@M_Bw#o$Gt9by 7 Nn .zW\ k EHJ(k:$^΅DU9=5=t{djXš œXƚOu9uy'#m=դ,F23a`oQۓ!qV} ޜm鍃橉}]MJ4]36I?`>S+_N_pǺ.$NwtfvԳD h4ϼy<ۭñW Wh72ĖoM;3 'w(f 86oˮ姠U0x->9l&] 3*v5T8ɜ].h2`T΅,rTIS+j+%=dG?8Ts[%C&5%).O!68? rBX3a ,| (k)w˵KgD23r{CSR|q5<|BZ #*%-dS.@1|-*Jw{1 av5Uy=LJ8>b| CtYSJ9hS.ɕKERl~+J;5 ;KAԚQXɫ"m?MIahµ]'nǑխVBG> /~® rJp$(.x"Jp"8RZcg@JR¡){Scqv~qk=h.Vrb"J!, 9YD9(V M| z>zP2 7!ٿ K^Kx7GE5+PH߼VW^xQﺲ$b].r檋)i[E@"eg}]1I Oa) rAls6RwFr?Kl{ qv}ퟳl=VL:)3OS%@#[%Z2md![0=5k>}lF1&^K5  &a))թqyWm.&i}?]| CK=U)5;K6S&3^U}* :˯ٍ,šNJGax"^P>4^+߈o4h 2ʒ_jYːoǔfm"'ĝmIg]/N:^{tQPG0bSQt&neyLu3$9NNYMoowa Xa@(ԲH37l05ߐh)ApNOKVO<{l%9Fˑ">xO89ٔ?or3jߜՈJ)r3D9M.(~ : aZIG1v@_|s6"HUG;6!?TҕNن /!_)PȱhS\V% hF#ӗEh k&|FA;jd;@8Т'& 2tM1pRv!@3392c=aa&du4Zsiƫ%$b + Xa/d)CkqBxʱ1 W\wl@PO8*`)vVT.Glj]@ =!tiXh90H"7M`-F896Nֵl {)݉Қ&QIFT_Pj+d^zu%8tdUd)1Qp{R9ɗ㆒ od"!@JnJ -9{r%5yЉĝE京$;M?R% !M?OppO_$vS2Iecrl%]d78QOwr}["JVkI$TcnrLƨhL&Ly%U%;";$Ғv|e$*r)V떞)U-hh%&L=jV9$u%E *砝ykhNҙ;"/MĿ'DHn6΃]P$JisQl!:90˅?QYd/Բvޤ!q B n6tr Q|'>=t+i,$]J!;.WPLS|Ύ8*9* 7E /(zV~96W!QDՑ'Zx,tG@9ehIc*+@=š@q` '* "ag"q#ti&֘q 6c5D0@0bs:6XA )6c5D0@0bs:6XA )6c5D0@0bs:6XA )6c5D0@zUA3M Pvs)s+rSm2Ұ`b]S&Ϥو;`ZDHICon^oxp(QT]sЃB>*0@SUt IENDB`n2xJO9qPNG  IHDR&8sRGB pHYs+dIDATx^k(F'gK5UT!  '; ħ+_@`*r ?hrL%@ @@`*TuS 0|uܗ]8a)D/!Эɹ5-52m/o&g`)6#h]U GO+c9.~Xގ&wD줇~OBb*W9n{˻'+h0l&ݎJ;]at4ڳ 6l+Daq]tQ"b]q MȖ6na.x.ZC;nw 8|rsGM]? =@6F;86@v`_ǟ/!/[rA9DQ 5;F6G%jltx4yv{Aivmg/oL^ߖQC\.דwߧoyBԔiD_bDUDS53#>Y:jJYT4|Kcnr-FOVv1 Xb$Q^&ܚʙڑOTh39.~5?asؙMa.löiPЃiV)vA-rĻaRxq GnZM({/w!PY>1ĥY&uHqM-Kxar_,gmFJRGB%ʩ]>QYم@8 1Uk*BHZoҖk `7t0<[~6HR} OW<V#Uk5an@ϓy$!BݰPi pI6:Z/ WVt l*O+0i~Q^J :ͦJAgDSi \GFʝqtB> #>+tR5wfx=OXqŲ*ؗ/nsdТ|M2<,M^TA`}l#E@nH08o1PmϚT$n嶂 /jwT񣣜\'n/+Mzp-WǦ``DwQ%:Zӧ +:R2/NCeW m%U_\-<,'}MUZ Kr=r dT} 63fXDGKSFb45izś]"j;ʝ+r]ldʼJ#J)xeRшk^<+ڼUPY "BO%SgjpGSW~V, gt#ZSՕKMβD#KrV,ЦRaN3X<ҟA ;Q~/.}TiGɜj^o3Q s_3 & 5?` Ћ@ϧY[]f闽'0p@<P>18,A 8uI!N``sK/^;#,@#MIB`Orr A+'0}G  =@7ir 赾y-.˽`-_k~9}ȕ)u7ˮ=-w=-m| ,scv~h,@`)xax#qf~ɩ13C2F`Vm<; l}s*z_ Y@[X3$vp MIӬA hlk(d mN7rM@X1^3:Nk $0h" & ,oϰ#ڋ P5l-cU:mT_7 l [;[ `Xn ]"Cp@.+xNlA-„sԟs' [ Hx7W%@/7/!Q% 0@|A)8<U pAR_N5ᑨj8>n? Z)'ZnvhTBvͧz<}=#%$0#l>nD.MMw;+BˁAO½oͶXN>ަװ  |*/&}FTrA`§ !%ZFEo?ùxUOLcZUI0GFI9j|D#IRHc Vv J RTj\ochoѤ*-i -H{y`Ym~F76:g/!0v. B`sY.Pv"0p.B`rHSOcJ@XZ*0MŹT_"COy'&*9'V$0F"@/x}+?{xs.oAI&iM+60${]]tZTڊf79Ib-@D$_Zr:HiXMnxx4CkɭO&w|qp-4⁚ 1E&Ve3dX?ك4>ȇÉj\'?4]Gn Szݢ-4'h ݥ0CLk5M~luuZ*j96krˇ< S 7 Ei,u*K JS&fn` D4YTB"E{3\nZDw-lo+3\c!;l.7!0w.=փ IENDB`*(O Ib/ 0DTimes New RomanP4hP0hWo 0DArialNew RomanP4hP0hWo 0h" ` .  @n?" dd@  @@`` Y<{!%}C{gOfX3V44LAA\X3;BFO CBB ';   :(VPLL    X3\_ : =n ZRR[lQ FEb$0ǭ$)zb$sև*g;Q9z$$b$ym2(Dxb)"$$$b$2xJO9qc $`f@g4BdBd0\Fppp@  <4BdBd. 0<4!d!d. 0ʚ;0ʚ;<4ddddЁ 0t:2___PPT9/ 0? %O =k@7Dynamic Replica Placement for Scalable Content Delivery iYGoal and ChallengesDynamic choice of number and location of replicas Clients QoS constraints Servers capacity constraints Efficient update dissemination Delay Bandwidth consumption Scalability: millions of objects, clients and servers No global network topology knowledge 37\ !7  QZ!Previous Work (Replica Placement) Focused on static replica placement Clients distributions and access patterns known in advance Assume global IP network topology Data Location via DNS-redirection Highly inefficient (this is a  hack ) Centralized CDN name server cannot record replica locations l$^"b ^"cu"Previous Work (Info Dissemination)No inter-domain IP multicast Application-level multicast (ALM) unscalable Root maintains states for all children (Narada, Overcast, ALMI, RMX) Root handles all  join requests (Bayeux) Root split is common solution, but suffers consistency overhead J? '! ?>? (9Cs Solutions for Dissemination Tree}Peer-to-Peer Overlay Location Services with Good Scalability & Locality Simultaneous Replica Placement and Tree ConstructionV~2  5[*Peer-to-peer Routing and Location ServicesProperties Needed by Tree Building Algorithms Distributed, scalable location with guaranteed success Search with locality P2P Routing and Location Services: Tapestry CAN, Chord, Pastry insufficient locality or flexibility to place objects Http://www.cs.berkeley.edu/~ravenben/tapestry.L,I.. . ,I.P qE6Simultaneous Replica Placement and Tree Construction$7) Static Replica Placement + IP Multicast Modeled as a global optimization problem Design a greedy algorithm with logN approximation Optimal case for comparison Dynamic Replica Placement + Application-level Multicast Search for qualified local replicas first Place new replicas on Tapestry overlay path Two approaches: nave and smart Soft-state Tree Maintenance Each node only maintains states for its parent and direct children(w8vC"H+1f C  o8m Dynamic Replica Placement: navel Dynamic Replica Placement: navep Dynamic Replica Placement: smarto Dynamic Replica Placement: smartxJEvaluation Methodology5Network Topology 5000-node network with GT-ITM transit-stub model 500 d-tree server nodes, 4500 clients join in random order Dissemination Tree Server Deployment Random d-tree Backbone d-tree (choose backbone routers and subnet gateways first) Constraints 50 ms latency bound and 200 clients/server load boundl%R 6l%< 6 yKFour Approaches for Comparison Overlay Dynamic Nave Placement (dynamic_nave) Overlay Dynamic Smart Placement (dynamic_smart) Static Placement on Overlay Network (overlay_static) Static Placement on IP Network (IP_static) v" # '" zL1Number of Replicas Deployed and Load Distribution QMulticast Performance PTree Construction TrafficIncluding  join requests,  ping messages, replica placement and parent/child registration\\=) Conclusions-Peer-to-peer networks can be used to construct CDNs Dissemination Tree: dynamic Content Distribution Network with good QoS, efficiency and load balancing P2P location service to improve scalability and locality Simultaneous dynamic replica placement and tree construction In particular Use Tapestry to contact nearby region of tree to select parent Lazy placement of new replicas on Tapestry overlay path Close to optimal number of replicas, good load distribution, low multicast delay and bandwidth penalty at the price of reasonable construction traffic 4 v   F,   <lf2,/Dv Future WorkEvaluate with more diverse topologies and real workload Dynamic replica deletion/migration to adapt to the shift of users interests Implementation for OceanStore, a global-scale persistent data storage system  0/l B  ` ̙33` ` ff3333f` 333MMM` f` f` 3>?" dd@,|?" dd@   " @ ` n?" dd@   @@``PR    @ ` ` p>> |t (     6|l P  T Click to edit Master title style! !B  0o <$ 0  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  0hu ``<$D 0  X*  0y `   Z*  0P~ `   Z*H  0޽h ? ̙33 Default Design 0 p(    N!f!f     n*  A!!AAaa  N!f!f  [   p*  A!!AAaad  c $ ?VQ  4  N!f!f  C1  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S   T!f!f    n*  A!!AAaa   T!f!f  [  p*  A!!AAaaH  03nkB ? ̙330 H(  BD  H  H Nh!f!f     v* A!!AAaa H N !f!f  [   x* A!!AAaa H Tl!f!f    v* A!!AAaa H T8!f!f  [  x* A!!AAaaH H 03nkB ? ̙33  0p<(  px p c $     p 0 $tYan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy, kubitron}@CS.Berkeley.EDU EECS Department UC BerkeleyVu$$+$ 6 /H p 0޽h ? ̙33\#  ##@Gl`|"(  ld 2l <Ԕg p` 3l# Pp+ ,$D 0TB 4l c $Dp N p` 5l p`ZB 6l s *Dp`pTB 7l c $D p`d ?l <Ԕ g  `P  @l# t pP,$D 0TB Al c $D`TB Bl c $D P TB Cl c $D `P  Dl B E'B > data plane   El Bl <jJz D l2 Vl <jJz Yl H[jJ  8client l $  l$ ,$D 0`B Gl 0DL$Ln `B Ll 0D@ @ I `B Ml 0D  t $ l$,$D 0l +l <I$l ,l < $ l -l < { l Ol < Rl B` 9replica ml $ l$,$D 00 p al# $I,$D 0`B blB 0DoP 0`B clB 0Do``B dlB 0Do`  `B el 0Dop fl Be ? always update l u  lu ,$D 0l2 ul < u`B vl 0D =t  u  l u ,$D 0l2 rl <+1 tl2 sl <r Py l2 tl <y P `B wl 0D  u `B xl 0D  u `B yl 0Dt l2 l < l Bl 7cache  l 6hp  eMotivation Scenario,Lz +A  l +A ,$D 0 R@ zl# +u ,$D 0`B {lB 0DjJ P@N R  |l R `B }l 0DjJ  0`B ~lB 0DjJ ` `B lB 0DjJp  `B l 0DjJR0 l HDzjJ{ A  Dadaptive coherence H l 0޽h ? ̙33  XP(  x  c $(`     c $p<$ 0    <v :   <Pp\,$D 0 6Provide content distribution to clients with good Quality of Service (QoS) while retaining efficient and balanced resource consumption of the underlying infrastructurer2 7H  0޽h ? ̙33  $(  r  S    r  S ʌ  H  0޽h ? ̙33  0(  x  c $ό    x  c $<  H  0޽h ? ̙33  $(  r  S ҌP   r  S xӌ  H  0޽h ? ̙33  0(  x  c $ٌ 0   x  c $ڌ  H  0޽h ? ̙33   P(  r  S 4ߌ`     S ` <$ 0  H  0޽h ? ̙33%  $$>Y|0 >$(  |l  > W| >,$D 02 | < L> @  @| 6p Bparent candidate l p` 0  X|`p 0 ,$D 0l2 J| <pN Q`B K| 0DP0 `B L|B 0D ` ^ | 6-^ | 6.p ^ | 6 9 +^ | 6ԔX^2  | 6jJ$ sR ^  | 6Ԕ X   | 0<[ B > data plane    | <   A network plane RB | s *D RB | s *D RB | s *D ' RB | s *D+ z  `   #|#  HaY,$D 0TB $| c $D` @` TB %| c $D` TB &| c $D  TB '| c $D@`  8 R   Y| R   | BLjJ-   < f | 6jJp '  `  | 0jJ z 9 $ f (| 6jJR B f )| 6jJ $ E f *| 6jJE `    +|# HaE ,$D 0ZB ,| s *D@TB -| c $D TB .| c $D  TB /| c $D@  4| < s.  3c  5| <d e   3s ]z  T U|   T,$D 0 6| S B0CHDE4FjJ DHP@ pX0h @     ]  >| S B0CHDE4FjJ DHP@ pX0h @    ; ?| <pjJN} T GTapestry overlay path  A| B `   XB B|@ 0Do`XB C|@ 0Do XB D|@ 0Do l P ! 7  V|P ! 7 ,$D 0 7|  BCDE(FjJ px 0p@`H `x @    7  8| 60#P ! J  7proxy  l  C T| C,$D 0 1|  BCDEFjJLx`H$@   P D k  |  B@CDEFjJ`T X@h@   `  |  BCDEFjJLx`H$@   B  |  BpCDEFjJpH 0Hl@   p z  |  B CDEFjJ$0H``x @   -z   |  BC8DEFjJ0l48 0h(@  9 z -  0|  BCDEFjJLx`H$@   ' p `  2|  BCDEFjJLx`H$@     3|  BCDEFjJLx`H$@   ` $  Q|  BCDEFjJLx`H$@   C R| 6)P J ? Tapestry mesh H | 0޽h ? ̙33&  J&B& Bmx%(  x2 x 60L H @ ^ x 6-^ x 6.p ^ x 6 7 *^ x 6ԔX^2  x 6jJ$ sR ^  x 6Ԕ X   x 04[ B > data plane    x <8   A network plane RB x s *D RB x s *D RB x s *D ' RB x s *D+ z  `   #x#  HaY,$D 0TB $x c $D` @` TB %x c $D` TB &x c $D  TB 'x c $D@`  Rl K   ^x K  ,$D 0 x B>jJ&   < f x 6jJp ' 8 `  x 0jJ z S F f (x 6jJK @  f )x 6jJ $ _ f *x 6jJ0    +x# HaE ,$D 0ZB ,x s *D@TB -x c $D TB .x c $D  TB /x c $D@  4x <pD s.  3c  5x <H P   3s  6x S B0CHDE4FjJ DHP@ pX0h @     ]  7x  BCDE(FjJ px 0p@`H `x @     7  8x 0KF ! @  7proxy  >x S B0CHDE4FjJ DHP@ pX0h @    ; ?x 04ON} G GTapestry overlay path l  S kx S,$D 0 @x 0S} YS Hfirst placement choice ZB Ax s *D  Bx 0lWN Bparent candidate  Cx BxY `   XB Dx@ 0Do`XB Ex@ 0Do XB Fx@ 0Do l `  @  lx` @ ,$D 0f Nx 6`  jZB OxB s *D k @ `B QxB 0Do  l pP` 0  mxPp` 0 ,$D 0f2 Lx 6pN QZB Px s *DP0 ZB RxB s *DP`  z  C _x  @,$D 0 `x  BCDEFjJLx`H$@   P D k  ax  B@CDEFjJ`T X@h@   `  bx  BCDEFjJLx`H$@   B  cx  BpCDEFjJpH 0Hl@   p z  dx  B CDEFjJ$0H``x @   -z  ex  BC8DEFjJ0l48 0h(@  9 z -  fx  BCDEFjJLx`H$@   ' p `  gx  BCDEFjJLx`H$@     hx  BCDEFjJLx`H$@   ` $  ix  BCDEFjJLx`H$@   C jx 0`P J ? Tapestry mesh H x 0޽h ? ̙33w(  '(( FZ'(    Bؽ `p   ol `@@  W@`@ ,$D 0t  @  U @ ,$D 02  <4 g  @  A 6Ç@ Cparent candidates   0LJ `@` ,$D 0 ^Aggressive search  ^  6%^  6FU^  6{ < ^   6Ԕ'^2   6jJ ` 9 ^  6Ԕ '   0|ЇD  > data plane    <ԇ A network plane RB  s *D RB  s *Dtt RB  s *D2 RB  s *D<    B@CDEFjJ`T X@h@   j    BCDEFjJLx`H$@   J    BpCDEFjJpH 0Hl@   U    B CDEFjJ$0H``x @       BC8DEFjJ0l48 0h(@    L `   "#  R WTB # c $D` @` TB $ c $D` TB % c $D  TB & c $D@`  8 K   Y K  f   6jJ  f   6jJU2  `   0jJ{ ) f ' 6jJK J f ( 6jJ ) 5 f ) 6jJ5 j    *# R S ,$D 0ZB + s *D@TB , c $D TB - c $D  TB . c $D@  /  BCDEFjJLx`H$@  2 Uj  0  BCDEFjJLx`H$@  2 5 J  1  BCDEFjJLx`H$@    2  BCDEFjJLx`H$@  j )  3 < r ;  1c  4 < @  1s  6  BCDE(FjJ px 0p@`H `x @     ;  7 <L2 ,  8parent  8 <J >dD  9sibling  9 0   > server child   : 07 0 0  7proxy ^2 ; 6jJ b< ^2 < 6b< RB = s *D/ )F  Q Z  Q 5 S B0CHDE4FjJ DHP@ pX0h @     `  > S B0CHDE4FjJ DHP@ pX0h @    26 ? <DjJ2Kj Q GTapestry overlay path  @ 0 7@  > client child  XB L@ 0DoXB M@ 0Do@XB N@ 0Do pRB O s *D0 @PBl ` @0  X@` 0 ,$D 0t ` @  V` @ ,$D 0l2 P <` > A `B Q 0D @ `B RB 0D @  0   @0,$D  0 bGreedy load distribution H  0޽h ? ̙33&*  ))PKf)(    B|z `p     0{ @` 0 m#Aggressive search Lazy placement$ $  0 @ 0 bGreedy load distribution 2  6g   @ ^  6%^  6FU^  6{ < ^   6Ԕ'  0D  > data plane  RB  s *D RB  s *Dtt RB  s *D2 L   *# R S ZB + s *D@TB , c $D TB - c $D  TB . c $D@ ^2 < 6b< RB = s *D/  C 0 Cparent candidates XB N@ 0DoXB O@ 0Do@XB P@ 0Do pRB Q s *D0 @Pl 0 P  P0  ,$D 0f S 60 P ZB TB s *D  `B VB 0Do ^2 X 6jJ ` 9 ^ Y 6Ԕ '  Z <p A network plane RB [ s *D<  \  B@CDEFjJ`T X@h@   j  ]  BCDEFjJLx`H$@   J  ^  BpCDEFjJpH 0Hl@   U  _  B CDEFjJ$0H``x @     `  BC8DEFjJ0l48 0h(@    L `   a#  R WTB b c $D` @` TB c c $D` TB d c $D  TB e c $D@`  F K   f  K  f g 6jJ  f h 6jJU2  ` i 0jJ{ ) f j 6jJK J f k 6jJ ) 5 f l 6jJ5 j  m  BCDEFjJLx`H$@  2 Uj  n  BCDEFjJLx`H$@  2 5 J  o  BCDEFjJLx`H$@    p  BCDEFjJLx`H$@  j )  q < r ;  1c  r < @  1s  s  BCDE(FjJ px 0p@`H `x @     ;  t <,2 ,  8parent  u <xJ >dD  9sibling  v 0   > server child   w 0̹7 0 0  7proxy ^2 x 6jJ b< Wz  Q y  Q,$D 0 z S B0CHDE4FjJ DHP@ pX0h @     `  { S B0CHDE4FjJ DHP@ pX0h @    26 | 6jJ2Kj Q GTapestry overlay path  } 0 7@  > client child  *l  0   0 ,$D 0Lt  0 A   0 A ,$D 0f2 R 6 n A ZB WB s *D 0 ZB ~B s *D T l  p G p G,$D 0  0 %G Hfirst placement choice ZB  s *D p \H  0޽h ? ̙33  `$(  r  S    r  S 0` P  H  0޽h ? ̙33  pP(  r  S        S 0 @<$ 0  H  0޽h ? ̙33E  y(  r  S ``     0L >  Overlay_smart uses much less replicas than overlay_nave and very close to IP_static Overlay_smart has better load distribution than od_nave, overlay_static and very close to IP_static    # 3  C |A dH:\oceanstore\papers\iptps02\repNo4500clients.bmp H  0޽h ? ̙33-  m(  r  S `pp     C nAVH:\oceanstore\papers\infocom-dtree\rdp.gif` ,$D  0  08  0,$D 0 U85% of overlay_smart Relative Delay Penalty (RDP) less than 4 Bandwidth consumed by overlay_smart is very close to IP_static and much less than overlay_naive>0Z`  @  H  0޽h ? ̙33  >6 (  r  S <    r  S  `p    <z F     0P0  R Overlay_smart consumes three to four times of traffic than overlay_nave, and the traffic of overlay_nave is quite close to IP_static Far less frequent event than update dissemination| .   3  C AhH:\oceanstore\papers\iptps02\joinMsg4500clients.bmpp`    C ~AfH:\oceanstore\papers\iptps02\joinBW4500clients.bmpp@ P H  0޽h ? ̙33  P(  r  S t`     S T` <$ 0  H  0޽h ? ̙33  \(  x  c $     c $|<$ 0  H  0޽h ? ̙33S@ 0  `t(  td tc $VQ    t3 rT%fkfk C1   E H t 03nkB ? ̙33E 0 NF(  ^  S VQ   @  c $  C1   We are going to compare several approaches, dynamic replica placement& And how they are self-organized into d-tree and how they are maintained through soft-state mgt. Talk about facility location problem: Each CDN server is a facility and each client is a location, to put a replica incurs an uniform cost 1. Each CDN server can cover a certain subset of clients and has a capacity constraint on the # of clients to cover. To minimize the total cost while covering all clients.H  03nkB ? ̙33(Y 0 x(  d c $VQ    s * C1   bNWe are going to compare several approaches, dynamic replica placement& And how they are self-organized into d-tree and how they are maintained through soft-state mgt. H  03nkB ? ̙33Q 0 P(  X  C VQ     S  C1   R>With fixed replicas, how good multicast performance d-tree hasH  03nkB ? ̙33:p 0 @(  X  C VQ     S m C1   VAgain, client c submit request to s through Tapestry S have a larger set, including & , we call it aggressive search& Load-qualified candidates will send its load to c, c will ping them to get the distance and choose the one both satisfy the latency constraint and has the we choose the one with the lightest load as parent, we call it greedy load dist Then it will place a cache on the client and tie it into the d-tree If none of them satisfy, c will send a another lazy placement msg to s through Tapestry, piggyback the load of the servers on the Tapestry path. S will use the overlay distance for estimation of IP distance, and choose the one as far to c as possible H  03nkB ? ̙33@l 0 0(  X  C VQ     S h C1   ~Piggyback the overlay dist and load of the servers on the Tapestry path, thus it will choose the one as close to c as possibleH  03nkB ? ̙33r "*<:=$Il3k t?-)qTrx0 [&+@e1j\pxB lt ( pnN4@xl 'V6=?Oh+'0 hp   No Slide Titleyanchenyanchen384Microsoft PowerPointP@0-z@07fݿ@p? ׿@'uG g  4& &&#TNPP(2OMig & TNPP &&TNPP    --- !---&G&rw@ F UwUw0- &Gy& --P-- @Times New Roman UwUw0- .42 mDynamic Replica Placement for +/'!/. .-2 Scalable Content Delivery!'+.--@P-- @Times New Roman UwUw0- . 2 tYanb. .%2 tBChen, Randy H. Katz,   #   . .2 John D. # . .2  Kubiatowicz    .@Times New Roman UwUw0- .!2 {yanchen, randy,  . .2 kubitron . .!2 }@CS.Berkeley.EDU  .@Times New Roman UwUw0- .2 AKEECS Department   . .2 uy UC Berkeley  .--"System 0-&TNPP &՜.+,0t  $ , On-screen Show#University of California, Berkeley5 Times New RomanArialDefault Design8Dynamic Replica Placement for Scalable Content DeliveryPowerPoint PresentationGoal and Challenges"Previous Work (Replica Placement)#Previous Work (Info Dissemination)!Solutions for Dissemination Tree+Peer-to-peer Routing and Location Services7Simultaneous Replica Placement and Tree Construction!Dynamic Replica Placement: nave!Dynamic Replica Placement: nave!Dynamic Replica Placement: smart!Dynamic Replica Placement: smartEvaluation MethodologyFour Approaches for Comparison2Number of Replicas Deployed and Load DistributionMulticast PerformanceTree Construction Traffic Conclusions Future Work  Fonts UsedDesign Template Slide Titles_@yanchenyanchen  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)PicturesyCurrent UserSummaryInformation(PowerPoint Document(K@DocumentSummaryInformation8