wdgt@HG^dZ 350 211 #cccccc 20 20 14 Looking for ReadyNAS... try { RaidOSDiscovery.Unload(); } catch(e) { log("exception on unload: " + e); } images/about.png 12 #ECF3FF Version 1.1.2 9 #808080 Copyright (c) 2006-2008 NETGEAR Inc. G '.HCFBundleDisplayName = "RAIDar Widget"; &//------------------------------------------------------------------------- // Copyright 2006, Infrant Technologies, Inc. // All rights reserved. //------------------------------------------------------------------------- localizedString = new Array(); /* Get and write localized string */ function LS(key) { var ls = localizedString[key]; return ls ? ls : key; } function WLS(key) { document.write(LS(key)); } localizedString['CVUFS'] = "Erstelle Volume mit RAID Stufe 0, 1, oder 5 , abhängig von der Anzahl installierter Festplatten."; localizedString['UXRAID'] = "Verwende X-RAID Technologie, welche die zukünftige Volume Erweiterung vereinfacht."; localizedString['Web Setup'] = "Setup"; localizedString['Looking for ReadyNAS appliances...'] = "Suche nach ReadyNAS Geräten"; localizedString['Attention!'] = "Achtung!"; localizedString['ReadyNAS appliance to monitor:'] ="ReadyNAS Gerät zur Beobachtung:"; localizedString['Status:'] = "Status:"; localizedString['Empty drive slot'] = "Leerer Festplatten-Einschub"; localizedString['Fan: '] = "Lüfter: "; localizedString['Show first discovered appliance (default)'] = "Zeige zuerst gefundenes Gerät (vorgegeben)"; localizedString['Repair the fan to avoid overheating.'] = "Reparieren Sie den Lüfter um Überhitzung zu vermeiden."; localizedString['running too slow to be useful!'] = "läuft zu langsam, könnte schädlich sein!"; localizedString['Thermometer reading is too high!'] = "Gelesener Thermometer Wert ist zu hoch!"; localizedString['Thermometer reading is too low!'] = "Gelesener Thermometer Wert ist zu niedrig!"; localizedString['Switch off the device to avoid humidity buildup.'] = "Schalten Sie das Gerät aus, um die Bildung von Feuchtigkeit zu vermeiden."; localizedString['Volume 1'] = "Volume 1"; localizedString['unknown capacity'] = "Unbekannte Kapazität"; localizedString['Drives'] = "Laufwerke"; localizedString['Device is setting up...'] = "Gerät ist im Setup..."; localizedString['Device requires setup:'] = "Gerät erfordert Setup:"; localizedString['Setup'] = "Setup"; localizedString['ReadyNAS Volume Setup:'] = "ReadyNAS Volume Setup:"; localizedString['Expandable Volume'] = "Erweiterbares Volume"; localizedString['Flexible Volume'] = "Flexibles Volume"; localizedString['Reserve disk space for snapshots'] = "Reserviere Plattenkapazität für Schnappschüsse"; localizedString['GB'] = "GB"; localizedString['Create volume now'] = "Erstelle Volume"; localizedString['Cancel'] = "Abbrechen"; localizedString['Done'] = "Fertig"; localizedString['Monitor'] = "Monitor"; localizedString['Unreachable'] = "Nicht erreichbar"; localizedString['(showing last known state)'] = "(zeige zuletzt bekannten Status)"; localizedString[' is not responding. '] = " reagiert nicht."; localizedString['This might be a temporary network problem, ' + 'or a serious issue with the ReadyNAS hardware. '] = "Dies kann ein vorübergehendes Netzwerkproblem sein, " + "oder ein Problem der ReadyNAS Hardware. "; localizedString['Look for other devices?'] = "Nach anderen Geräten suchen?"; localizedString['Yes, find another device'] = "Ja, finde ein anderes Gerät"; localizedString['No, just wait until it answers'] = "Nein, warte auf Antwort"; var KnownStatus = { 'ok': { 'short': "Normal", 'criticality': 'none', 'desc': "Normaler Arbeitsmodus" }, 'resync': { 'short': "Erwarte Resync", 'criticality': 'temporary', 'desc': "Warte auf Resync des RAID Volume" }, 'warn': { 'short': "Warnung", 'criticality': 'vulnerable', 'desc': "Gerät befindet sich im Status, der Beobachtung erfordert" }, 'life_support': { 'short': "Life Support Modus", 'criticality': 'critical', 'desc': "Mehrfache Festplattenfehler wurden festgestellt" }, 'awaiting_recovery': { 'short': "Warte auf Wiederherstellung", 'criticality': 'critical', 'desc': "Festplatte in Wiederherstellung" }, 'spare_inactive': { 'short': "Inaktiver Ersatz", 'criticality': 'none', 'desc': "Festplatte ist ein Ersatz im Standby" }, 'not_present': { 'short': "Nicht vorhanden", 'criticality': 'none', 'desc': "Kein Gerät angeschlossen" }, 'fail': { 'short': "Defekt", 'criticality': 'fatal', 'desc': "Gerät ist ausgefallen" }, 'dead': { 'short': "Defekt", 'criticality': 'fatal', 'desc': "Gerät ist ausgefallen" } }; var CriticalityText = { 'temporary': "(dies kann einige Stunden dauern)", 'vulnerable': "(Daten sind höchst gefährdet, reagieren Sie sofort!)", 'fatal': ". Daten sind wahrscheintlich verloren.", 'none': '' }; var CriticalityMap = { '': { '': "Gerät arbeitet unsauber oder ist ausgefallen" }, 'fan': { '': "Lüfter Fehlfunktion: Schalten Sie den ReadyNAS SOFORT aus, es besteht Überhitzungsgefahr" }, 'temp': { '': "Thermometer Fehlfunktion: Schalten Sie den ReadyNAS SOFORT aus, es besteht Überhitzungsgefahr" }, 'ups': { '': "Haupt Stromversorgung ist ausgefallen. UPS arbeitet im Batteriebetrieb" }, 'volume': { '': "Volume Fehlfunktion: Schalten Sie den ReadyNAS SOFORT aus", 'resync': 'KS', 'warn': 'KS', 'life_support': 'KS', 'awaiting_recovery': 'KS', 'spare_inactive': 'KS', 'not_present': 'KS', 'dead': 'KS' }, 'disk': { '': "Festplatten Fehlfunktion: Schalten Sie den ReadyNAS SOFORT aus", 'resync': 'KS', 'warn': 'KS', 'life_support': 'KS', 'awaiting_recovery': 'KS', 'spare_inactive': 'KS', 'not_present': 'KS', 'dead': 'KS' } }; GC'!.CFBundleDisplayName = "RAIDar Widget"; ^ '//------------------------------------------------------------------------- // Copyright (c) 2006, Infrant Technologies, Inc. // Copyright (c) 2007, NETGEAR Inc. // All rights reserved. //------------------------------------------------------------------------- localizedString = new Array(); /* Get and write localized string */ function LS(key) { var ls = localizedString[key]; return ls ? ls : key; } function WLS(key) { document.write(LS(key)); } localizedString['CVUFS'] = "Create volume using fixed RAID 0, 1, or 5 level, based on the number of currently installed disks."; localizedString['UXRAID'] = "Utilize X-RAID technology, which simplifies future volume expansion."; localizedString['Web Setup'] = "Setup"; var KnownStatus = { 'ok': { 'short': "Normal", 'criticality': 'none', 'desc': "Normal operating mode" }, 'resync': { 'short': "Awaiting resync", 'criticality': 'temporary', 'desc': "Waiting to resync to the RAID volume" }, 'warn': { 'short': "Warning", 'criticality': 'vulnerable', 'desc': "Device is in a state where it needs attention" }, 'life_support': { 'short': "Life support mode", 'criticality': 'critical', 'desc': "Multiple disk failures detected" }, 'awaiting_recovery': { 'short': "Awaiting recovery", 'criticality': 'critical', 'desc': "Disc awaiting recovery" }, 'spare_inactive': { 'short': "Inactive spare", 'criticality': 'none', 'desc': "Disk is a spare disk on standby" }, 'not_present': { 'short': "Not Present", 'criticality': 'none', 'desc': "No device attached" }, 'fail': { 'short': "Dead", 'criticality': 'fatal', 'desc': "Device has failed" }, 'dead': { 'short': "Dead", 'criticality': 'fatal', 'desc': "Device has failed" } }; var CriticalityText = { 'temporary': ' (this may take a few hours)', 'vulnerable': ' (take measures, you are at risk of losing data)', 'critical': ' (data is extremely vulnerable, react immediately!)', 'fatal': '. Data is most certainly lost.', 'none': '' }; var CriticalityMap = { '': { '': 'Device is operating incorrectly or failed' }, 'fan': { '': 'Fan malfunction: turn off ReadyNAS ASAP, otherwise device may overheat' }, 'temp': { '': 'Thermometer malfunction: turn off ReadyNAS ASAP, otherwise device may overheat' }, 'ups': { '': 'Main power supply has failed. UPS is operating on batteries' }, 'volume': { '': 'Volume malfunction: turn off ReadyNAS ASAP', 'resync': 'KS', 'warn': 'KS', 'life_support': 'KS', 'awaiting_recovery': 'KS', 'spare_inactive': 'KS', 'not_present': 'KS', 'dead': 'KS' }, 'disk': { '': 'Disk malfunction: turn off ReadyNAS ASAP', 'resync': 'KS', 'warn': 'KS', 'life_support': 'KS', 'awaiting_recovery': 'KS', 'spare_inactive': 'KS', 'not_present': 'KS', 'dead': 'KS' } }; { !PNG  IHDRJ,ktEXtSoftwareAdobe ImageReadyqe<XIDATxw^U6N!B K( (uPG>:~(873μ6t}dF E:RB$tH(I ${}gsZ{OH~!s>g׵WֵXDiKI؝w̧ b7y^kSoK=Ҟny~֯7n;AFSOI;~N;Anзr p}\2?W鿹W{~a 7 WIw˻{󿪻Qޕ%mᩩ?pYT(?cԸ@{ߢas?rOTNW>nk7w]/_XCN.^mT!jz8}/^$;1Qo]ud{&i]~aw~H^s}ƕ_e2rD}~'^|$iOlm³9ӭ;?wpW5vCdp:LH,3 0$/a PLl0 kOe9 nŃ-ђG7m3b3r#k2 k*#JLnpC(ri'kqNmGi<v\½ЭFڰiůW.xBj@ҿ5ɯm7tWJ)N\6ӘԷ%4) : e^tX+Y-^ΏTw}{N h$zܒ>!FPp>ˆ2 nbgAY.V$5 VX&HV<؉? 6kjNbNP}ur]e3kh$R} ́^0z}i'.jVjkmV,/ oDP!9w3bQaUcKՀ,ijS#ƚVҌgm_ECL[͛^~0 m]o:Z~;}VXe;>yn`;LafɖWW,_uKq Q?gMvʪo4*PF;ޚV>*d;jLjVٲR|EAѐԬnsZW荜UO'2NN T~.hm^[ϼ\CnգW>\(,l5gN&eaiР/EAh} x\g&:S]ijoK0\)t՚w:NXYim5Pv=C*8`cW q!-i>s@Ӓ2a.(]/*M<+k͆fb% DWEy2P '澸XpŠ\Q$!z OZ?5I _DǥXwL7hΫHsJ~t}8P%gكʝpv1&By)>L^yw7h6;`ȠC7i=d)~HZ5ƂYoΫ3IM#>HHʒz6=tR5 6'n6bP}:PUSĉN.n.l<݃\l>'aDu-C9i Qyֺ<6r19Ưmr9 ۜy]{p7"zL<0ZiWQsNAZ$Ά p t2#0 3∡]7KF ~w3{JE*NCe_Fae&ܠI)n` qPŖqᗠJ)xGBƂv 30:A1>%QJG!麈 [yq%hu}aGBpqwƿ-`PGJ}lhť}kCm"BA@C0NBcc"JP'k{2+vLY hа9 & koQա,<2R"SlaF*M|9pCD*>tFuT`(_\7\@(wL`g/nd}^vB:haܠ N*C- SP(< ԚK'DӤ=:|0`kAۍk'1euyDX4+ N+ɶZ^hp=%NҮ{6[S_*شAia7`gpԌBR PnP\9؊*>"*ڲ+-X09`Ͳ)kmNdp+9iYbơ; $[brܙVd.q'3u aX6eBg8sMYb(fwg! ѵ1aO1ڍoU?h%ݸI%xY5PGdp=J NXnN$A~?e.;_DlfgLxm #K9s5FIH@/†p$ Sr hn0t6&ZvEl/gO`7hpӑ"&]#4C (k1=ٵ P,{ӗ $ph~.=kWz]^QKZࢉʄb* r^-(v/hZtږ(o>~R?ҡ(8q|pq-d؝1רA`T֐<X^Po~6YAn}W\)j O%Lh4Pa2NEVa)Al&pwPt'/1$qW|5$rOM"x%:rK? [ӈ8%Ui*"S~,,Us@r&g^n8g.zDpȵqc?0L:(U.K3D-AeQ+O2JS \DF@N] .} &ubN9}Kcf@"%_Y05 jQvG?4ْY'5J}Y,m#XTmfhYipݬTM.h2Y< qcͅ/iG |vSaV*J&h0?جJу88ye 'U1"rZ&rXxbP [Xt"|;Qt4sUg_u4qD#w1#{Zfu2p^G9@ :cHٜhGkYRN|w\>qiZW` =hf=:uƘFh $B dE]jPQ mSe&CCLگZMvぱ}"XELd94TTr q5OC6n7Sֺ*~ f_LQ{,pɿ`'Xˠi8:.Z[l+2o[*))82@Q.I &ї;0L~c1[ qQ1Rcj2r_LNv pJ%Y9N5u H$V aTYLҷ՚U\ { rEu:X(zG|Xei!捂 kd5\aaև')\[7]GsGЂjTh7j׎})R!nM.Jc'CCRKǵcQA)K>gpYP&m#B#N Vdvd4J@U~Brp8BQ%x&D}&L] AV81uZ2}-\GՄk:e ]'Xl4f0@1UXEUBQ>OK*YJ4u8($eMNt/#&4g-\\$T^g׵Q1v;aFMk, ՇZ:D"3G\tF{QQȚ |rya(VvyjºJTX\UQtf[*`uQ(x0hTSj鐥DQ;WSpK0F?E!`P` "jDE4K8֙ Tje@}?M`…OO]T~lt*.z* #4}:9ʭ86Ud,?\ 4¤ِM7 S鏘' ri8Ʌh3~ \ZfQS46iXs=*I]pQ2(5L߇Cb[pwKsgpZrU>F+Ri5ʧSwjNقYkTU1;g}_2U&h(X8H9Q_L0S2E 8)ƇYTpD \HN(MTLOڤh(_.;&62Ġ,ݽd_0Gs2:ebB袦nNUDl8!-w(nd4e()OX\7nN dULZ;H] ;"#+&H+.,wdzM q5pXg3ZĔo\:!k#dd𷦛*.0Y Kɸ2\ҽDL"xVuYC s@-w ؼ6s+&/)[UnF,{.+7>f2JXD6Z;oD"@t9Ȣ?l&U]S^GEQcTCJ47~Y?I ,!mMA$bNm0dqll"iA @R5$F#Oi-NQhR5o~tRO5 y4 *kDP*Ć^DTꦆ8О$b"2b>Iub@搙E3"Q'YXX6qmZT8w *B3I.4`0Y/)m!`)Xz̳,kriU$$LS4M CLdORF1 @P$"5|)PĉT6T )`D+qvS|wlǢm:Y >,%hXbH)\5*U՜FTDi k`$I1R I&(a&XkvBYA ;Cނ|TR&)KG`o[ǔ䈲rqF:`jPV Jeraڔ3+ DP2&; S )rt2wTn?l(Xk6eQ\La%eŊzG m,ᩮ=ê(ƙ2@r`oR|$`喓tEat:x̱,keÏ)lח>lK #et)Ԁ,MKO* ~ .\TeWJ*@0mbix[5JKeld(4,V+Rlz0  b D*c1ԽYJվ?O2qF.g #?5UMJ$[6SE#RM䓂5Z  k**%"eIX2HD1&U&ܕPY#IR 0NKNdA*Ā+sjpv0ybiH#=)hfXDMGqijY*+ Gl5WbJ!b|lǕZnA@ˠ(h6i*@^ NT/$`Oʪ))At'[h R8g\.Д+w 8g?,7GU~T?D&V4I,ذlд#SZ?* Sƙ=S%LiM a@2. tw Z.hJ,N`}u@Br|eRՠq5"+^<6x9$LěZhn;RK5prCh׆p/\29f3 $o(\s5L سο Z%"PꙔS͡jœs B4iEm1e<] <(t `Ή +@Tc-XolJ,)ͨmʝL%x걇΋I!IVVLR@4k)F֔e7LH-IAc"F) ?`S21'Oc+ӚMTYN%-3X0b d[7❄Lࡒ<ڑˤaA鿊TbYG3:iС4a14n4zh퇓6^֭@KW/.E_UkHNʦb3NUfű kgJ .jP4"!F:+MEL81E5$DV&>2Iv)Z>]ftdfUtI5i9ݳQY6kR8v!v >aܻ}J'UbL[su^A'o#\WN JL\U( )窆pT jA6ަF(Æ#ݗ;hoc]haa65r R=3oafV+xdˋo} _iӘ]vv9"}w hwmC#0_xf=4mش $ ɑE1xPnS`HPCC?j`:=y Q,Z.S\9fed2ZsbS23u;BJ~CdyŅVÆ 2Г-lY,jXmy\RTOx˕Rڐ9T,B+VXY[+ ,P$c CT/4˼\ot&X9%s4{R/ $MWgzȔwBO}ok+^Gzt|Zuk潸7?L4 F}ag~Æэ?sk>H`<EPG"_&Hh*iGRPsq2ޟM-!ll aTcR?FK"thd.KpJPO77 P *x!] iU o54T`F+֭ds+US|-dʔp:N`ˬ-E?)m7w&훟ϸ)'v?L%~^ΦFVg^{ƌ##}KL5[p.^x~nArxKm14ncw*Mk~?x;[s3{KsF+[̈́\ P\U3P^E1;`^O@[aMyjQOU xm,I@ȋ-ؗ-3Wd=ė/Cs_5?˚aAypUB߲յgV.{_ ^YFϝGO=\/wM{OؕlLq7G7U:5j0:#mC;6Z}~nǮʰ*#2j+̧,JM-XU>}G5Wtsŭi?QDdYfqS&=.Re,.WU3*}قPx_lVDI9/}Uʳlnr_ Rҙ  A$T=IJ+ $Ջm@J~b's`z{=YFk[rMaívq$M?9p/:-pljϑϼh}?Cғ"8O, CJC33 9}½ly܎v8dy"AiֹJ:s`BjS$D۶A) mDjE[[M{_ZmNJƳU4J>JX؂(2Tu cQ: # 8ͩ9bvtf?,;fFڊztuw{݇v^`|^g{I1{ 28hܕvm$Æ |OWu]p zZHQzW~{ 8sBu)@0`0:$L28QUm E)bF*PĹZX$vt+m FrV-`Ka T-oJfgcdUfR~q㳂 ʏrLy7 Pz"~z`*"ӨFBԦxa2@20L%cmz+f.&gҎ՚\W63b2vq2mᕑ$FP{p|zcAxrH9}FmU3 9n z^tұSh=Ƅ :8hCi4ܟ]q+h}oóg_xf?`yW, J$"cV0߁׎%V"t'ÿ*l6PLɘCGF.x`#ZֲXAq`I) *|fA?ӂEх=vu$T?xtzUk ö'x 2ME^ sDY3eƚAfaɝEfh3&% Lj))brB9u$.Q!9r ̍f[?562;!{q ЌKG*i0 RI#%`^ G {"w*JNAXxs-;ϛ3rH?'s\^ M0Alc!D`-\eWӥWI_Katw/?s |il6lLQvbO=PNǟykP{ ARc9,#i#vƖ -)gO9fKX8n8SI@k/f`Aaz4:ep,N\_ s)/n=M36cWq%~&{2TJd}P3qa?w/>8q #!{P;S'"`}5qU4Jg.=8)ሷE4Xbl>jN7]Det[)qfQ哋`z;Wӿ_z-_&=kF΢d7e~|-~F5},M+=3y|yqSr=!#mҝx0R, ޤ7EԐa9q]èT=6.v#cBWdcFb-\Etj%dɮ,O amѶ9Bu! F]OTh0e])]_:8gH]B9@\E3#xiEZs\X >Z?}K|5Ow'L _m_Hw~4u{2?:I (eShrZnYgr9yAS߈_YdNi7C܄ΐ2c[#>"U̸N)8Vѿ˕uouFaE>6B98+4:Bߕ>U5fq [ꒋ: EG@C5oK,/n#KeѶi,“e}M0+қqY gAF8÷㏚|z~k8C઺}~K+__['8=i-]osfNya <(wZrfϒRPeàjcd\IWxhr;zQsٜKsr PRx2MRsp'D]E*|q?[خypjC2e?$_XV%h7Ԟ}"1WFjUp/]͕>iTR)}$iG.vrEh#t"`\mQgoҗpPٵYK'>!Jʝ:l6IL)ꔖNÇ9rꐍ91,ƫ֮K~qSvFn~1qq҈=6ԚpU j5na˜”RK5OCg Z*"5ZoDj&fAϦʎc-ENFM`@XXARiNkjkP&*WU1( ۏ; =MPƬ FIjj?"`d' 3у}6vG: dW{;0ھ<9o N)B~fOs5HHulkU%P&&@A1T~NtS .mC97*}}lؾmUfA$]4'(Q_WV,ƄNesYJӟ r e& ~oHE"eIh""&듥})gnFg0"U&`"0(ch-UxG%9x+NĜe|3ULݱON#=gk[5i]{uލy&(epc>lԑ,']jdPXJg4' 6&DVZ/1gXd7*sU2mHQf >9U0g1~:)™4OS/:9C0T2`>Au0׹v*Ggs Zav٧+`Z(;5Z0Q69V(\XQiR*PT^/96BEd}pkuyR~ɐN ^fk{n lj3O>&Se[̬p"cFH_4yҸt'[DlFȾُΣ!}ȁ}`ףODW\7潴D >s_;vU9)kU"KQ.r]mJHFf U*JZVqpe#Y>:ѡeTDuz\D3amA9"Qxq1AN25 [Rl,x!kƑAhr33]@5(!BĒk0)h־?6 ^f0kFX866S/Rߓ- #G+kv80NX}ȬSi ?~/$HlX4,TpvXɲHnX}QSQLebX<-MX[*,(LHm &?:JX]J؋]}OJd+ *"X.B*+ XWUL*$&y3Y+AOf]~|*`N&pFju48ֹqmN0ܧНXmv鱍to5.]IWM6?[y"h6;?{y%,/4jpG=㴨/.Xlb\)(RCd`5\kY"hRtnHqT+T)|;gg*gb&ʠ EOp7W~/sr6x*c9{Ь]BtFo g,J bԑ<jR( A/@6g$ʜ jRD@I N9^V7Z\̒NY;;޷M g4?COj2nA gy.5cӽgw`^Pomݟ1|z 2t.h=2Bl9?;USꩨ3!^UþTfk^&N`EdEf1@qs/ P5:qMMbRplFMgƓVS>Λ`TwPe ZH~fAs*Xf>Ѫ+l޾e2nQY(b2)aHѬQRma'钜e`6LGL Et.R si;>{cFoO_~Ԙbd5nL~ $= G4%ko*Uk?ϛs==p63}UG4K;0@(X U>[")S 53. (V˩gѬ{1'K_ ÷'Iߙˊ^thq^VY4t|Vbx%ЊV#/;>Tab~__iqg7?&ԌM~~tQ?:y2X(9 lQ82 Tl,4^9j⿦#&hPl(I 'W@k\ҔQ Ja6}Rr@/b9E&nvn1DkPO7ozuJ:p߶=ZlMw>NSN69̡N?y_Kl!FHߘ//z~?уs^L*[\ o9 nh;l̙Oz"% ,g{ש'N%n_ //.l{c${b(PKεIJP-eParyoWʬFaU#0qa_}tݧIg{gSoN#/o0+lKKU l\'^H X̋yj]k03_ܒ,؟o ]ɱyTՀO[Mu4bPoTvkivFmSTp|}]nW_9gZFs})-\FcFTb(ǻSIZ `5ItɇewL8氽՚a*-{Igӭ>U0k^5ZjvQ&ܢyۙpQr^!hbOomHe BLd!x ŕ::˅}wbIT kN &CaLkD`]Qz:vN沊iu\,1% T$ ЏYCG7翾q vLf=2/|'|~ M?kY# 9z!C~.8}]yW:!,gc _祾iNߧ9Ikݏ_~Q+cv[m1(Ěض 955g!Z!(PtU3]EA||Qx QO`LƐrE\D U@, LJf. ǿ)އkK0N+U}Z9F#Qu~7ͼQQ?l_^uOj{x#2t.hu&7U~ufrd~XzȡJC'>G2(e6Av{ VzUvgW= ?_A߽e i}酠=QöK3j^kͿWOBҷsW+$}Z!!bv ya ٧iZ{.6&8ű @ 7u!GgLEz!t-'5ֲ8p0K4_nlxJ s.ڬ1)/x{aq 9uF]s =L峛ֿm'7Ӿ{ۏ< LefGט;_>Zz {}O^{Bg88}>{92a!!*&Ay$Dv}YB 'Pi'fw8u@Y|.Ƽ@?3عpV?:i]3G'a2n_}S~|}}Ϟql4w:J5c`}Kc%TuTz9+?/`ӠyA\p p a*V8Rx(dp.?1<0[$AD ,LxmF<֯xD#L_F{ϩԟСi߽i<8PFUELˮMLKLj;gt0="J ̎vVEyy0<:G My//M7Z0sdL R) Ϊ5}*_R%b#-9wx-Κq V] *MY?AоB#מWXi?>z8u#N.e.Pε(^0D[s.=ŞP#28%ZV]}ےRQ\K RrUҠfwb9y|8fmLZ4qR7Z~&ew>N2I&I9нʹ*Rcu!#ax#`>K*ZK;M&UAXu1+kc.ΐQD`N۹\sV̎Qf[r&*pɓ&!&p AL5v +4LP^^\JϽK.h~6fz=]3=N}7)VuC+__W)&^ئ;һN?j|P%E8s+KbPSVޖ(o¯&'0/\kk~O3Kʏ`;z_Hi-uy]}mt Jş9p/[heZ8I85s&%dCgUwӧӂ9 +g>/7>i{Soƴɍܿ[_tۂPUw>{a}寻f]6}!jDTMWeP?ss?(}۬Bv9AzO{KN\ޠ%N1׭^1g|0Qz=Љ^.L?/M0)2t٘b}ݢI=цCƐJr1D$rvo\|qo *ڲuwQB>Đ0t~rE#pd;SxW4ZtPlQɗeҝ}p\} ":|ZO!6mS.I%M,U)-=UK5Ojsͮ[}:im~~㧆Z|5 ,Hcv6?Akk7wԴb(M9ҚEYKR>Skd׶Z ҙ>zYG&hA{6= g0_t ?^CdGY,NʿSrR\Gw1WF.[LEK!Z)S,T%?,Qۓ¯T,qSNxp @bqCj6^}i{;滟h/.K3ekSBfBb{a]ߜɡozױ͆>8f竎iUix)dj[_{r4EȗcN~<3|`͎>$|P6LӯZUGr۴B!u,%[j`Tt<(o{,tRB,xf{;x zNĦ*$+j !:2͗hp`S:>z[xy{E_t3)@Pj[ڎ>g"{$Mܯp~l~9U% dEYF`{4"9dF7xALO>ʄJiifO@ 1F 7BAHh2ٲ8fšzVY$tBS;)ؗ4&F !8kyf BLDkq^Ĭtgy5أKR'rdeQ &`զB[(PY%:Ś2Ea pQ*"nzlZ9@qDQd*>m^_{ۙӂI6Z( 6Z9eԥY2p6P~YOb8<56s ^H2Z?ش5l}o):tm-@=~jӧ:n:}û;l?悓?b[E\޵o3\pyZy3П>5kܨxe r ՘Ԗ֢sc?d}4nsZ_5TzVegwtlE^+ɣ'*ru9~y/~3+QėNs4<c0o77>j 2sQN;%=;6WTe7}._Ew=\ȩH>/iX[8Lh}omWOe;pLD*@O/Cĺwh#RYT')W۷ɹbǐuQm8O{iK)__7R5W>5<fL3Su YUjZTV J%!(Y m%9Z-}AmT:p\VrŗCϩԟ@8|Jlw%t:Iu&<6z"?;"`ɸ@Xì6򬇞!*9bF+CqÝgfÀ\4 #,ߔ5?X_>64} I#K GA3Fv8X?jek/L'=~th3.dq : 2sj"w{7ϒH?ǃysݏ)_Wx|[x+aɾ?Uy85c*(y9l+i8 H*06d8ZĐ<+y/#:#eu0*Aa+ wEʇo[HvM3 K2S1stE\9Փ9soIcSI ?4[h5Ywc>|hq;%0[yíshUG@0 sӤqM9|{y@k65' ,Y`q `stj!?̧o᳓۟>of @N+YI͆^or3i-u`_Ko/"JY၁$#k1}HX q\?cP8Fӻ뽿 {kIÅLm (2UYk@p3B<)v]K)m\ U~w؞ZIcVWl_* N3N&g͵_]7;D}?qj#w/IXpw|y6³FkKQ: ։ў|L/j42סxpYm͚"UJ\x:}y8I zn$13Pu^K4Fsjlw] a6F46Pem#;jh0E !s Np2_߮Q;y9kQ1!q\gcJ4CZq54}^ )3> I//{L vỵ&O='\W^۝:2^7nqESԌ2rÚRjV("(KW^ۤQZL$H( Rթ8CqI H6w'%.6{M!}kM7&Wgя.B;fBo}vwxYL_N}]h}}0 xJAN .4~s`4 Ȣ-=8m,Q +L½"pttؼ~CxߌcO-6IZkkzw?&s;i(3Ivm6Ns@M7v)z}O3]J1XtO}ڔ6|^jم+eϾhRlSǧ}t^~3EDt}|bȼY,:/f!ELڅ{Mc}jaX#[?{sow +oYxWlb!C3Deߎ;8*o߻*bXH1ЌWN2aOK=ʐ1ަ`xO|P;Nd,e#&KA2;v~x^ bKB1 j:"ޠ22 /$}ˇ)EM_7Q)AC6!Fuc8~{`o{ֲGj9:WM_=O?rw -pn Z9E5P1eÀtVv<2 Z88+JTK-,GHY٩1?>zJ raA~3gӗ?yFN >I1 .tcl]g^& v Z*7O$ $%NQ@xG>uÂL~|ͣcJ܈U(U?P)p[FVrm{mOj^}nT}}wMV;t=Pcv}~C+yokO}u>Z#潴8GIM~,i?~|}o}Zȸ1p`C_t@$U mF)H,OI)ٸOں2D]\=3hfi'hl}kP#0U>+*l4'ġ (@|ueSK8RvyCUЧtubhMe1%$1} Z%`mͦ*D ̚no/%5D_˷3޿?4+ 7уy<{rn[~20r__(̗ooŵ+TaMo&z7.i#h*뛱%1`].Z 0Y:ƨ:eY{~'V\T `Ii2U+%H,*ȩCV?_ZZHSҳX@~v/zYfzt#0F9mGK3?k`Y/‚'#-_6Ͼ6lh(e1+ _.i/bx2,䦯ޗy>@n>BW\Nߖ5 UNf$} e!g' Y{_Q^jϜymZzS_[Y9p:I4xSZּoGA7#5`C)`JFuz<&x&#<,yuE1A \H R83>{G[w,{3ݡfb&Z׎P|XJD5udFc``{T$]L2g+Gl,SZuʳwn Y{8b3K:+#Og\ JaaME^1iߞ›$|t9w~:hGLًvyT?yuSl#v///gj>f2m1Ϭ.)یǪBQpsu3mlvXaiIGKG\.^V$Ӫ:PnU7ca<'+S8a)!C89%m"fFUq0sdRA5CE]dY4Rv{ 5:SU`Ly^ 4ށ Eҗ90ora.,LoMM_n1_6mLܵ>SON=wM%΢I{ Qt_֓OwZK"koUӢ+BrTEW~RJEYRܒ"=ʳ2"6S|?\L@b9l|K"%дͺ1Y6BYH߹9/o~]gNl+@A4% !;Vd~)*oF#hIgpe^ISH^-pRsi,78WmYI _-(҆Y:)E[BM)ZɐNj(穉ku7я#D}%ACnzМ <&st;G DCKx^_V\KVeVjg[kMFؠkZĘb& ]nyH, zMO6B9Z,*ZE$1&aY+ϑ^DR1ШX4۷h_2n,b2PIlc# s((/8s_]X׺Ѣ+@m޸֭&H[ϋjU"L@l-4-S+'`ڼR5MCQ%6ΰG>Dk|Oxo͆ɿ+mJ*{S#~r!z>nt 9q׭[O/,: ;θz%I&YoLfXK8d>\9R@TS] ERr`I2p2C&Klξx*GPJf=~x?8=zb NQˆR%(A#YUzjE \\9{5\&Nk RDsrnmfEUz^\k2^BzM{GqGĺ=}߮ B2vT;{27f4Ჹ袺tYcnӉLn& NWPL-(/b#{&B[zQLIɛh26Lz"2KkmHT`i11TX󥂤#~+%Y \E|bj HuiӺҏ(4^,mpԚ4|`AS,g Mz܌|^+a>z1{i[C@$@ 7&態V7OOw~ZXɝƉdkDӴdn H C\>%R ”U CG: 2j,b{ Έ7>A {1 YSw>fVTQ0C&Q9b  \a)@(p`"dҌq0;ᦤ5/34}'8A2@{VR 6u. Lf H בP](k'ыB{k/*sPW>eI,I"F y_a-CE?=-]l "R[VkBs06{b멜DOiv%Je z*RK |-ʹo0^g(e,^LIZV7.ڞ$؎^ZkRlB "iRRR'ͽRYh+ڻ Fz0djCԓjLRsj-i)'߰F ( ŘzTz]RS::݃4uDWn7+KVPkŚQ-Ǟ|;?Dtij^IaQ^Wy_ͥ*J5x[lcL@ JܽX!,  k1E:ҍx4Ifxeٲ˶lk. ~{<{ߚYZFJF&ml|5cnzK%T.[48rFaTik -b*@>=z?W*>!$`egpK41qo~AUYvb&$ΖE:`Gn*2FJTC*&!/_WB ڱ̐V__j/&\.9f3~.EFߟ*! v]ܯ/~ޘ-$ .1[Xww󬫷dWK|"qa0|ȫO2_{òS%T-Uc>xO 3>k<# XFV!+^/=![E`E!1TVBf8Zڻut{G:ֶs@D~#*| Z轐2 ;ӦseUj"+b%򺫯0T)1beB]n>&e5:/Zc;VzZ? D@k]%kjSx\&Ո <$4R i ׊LYE-bU^dȬA@Wkq.*H^qA")lpcAijK@| S<PAn&Ts뛟'4*Zz?tl Mԓ2{TrݷxGd;(4RY(8z>/,c!ԛ:z6Ũ7Q QCO3@Sn[3\3]K2Z1kZq ,DyY:<5gzqѳӑ6!0 deM?$۠3[MW'ɀDR=!{2fQ g+_^c}/b>OcX! Z- ZgrY3sB(M \/M [j [Ihuɸ! o`H܆FЗ4l͎F?qRbc1Ό5 Oځy4{t/ÉlH:k{8C? F>h AlͷNp"K|,Am\'!Z/1Wt99`;B.ZFPQAW'8tf8﷽ N4*= _#R9Os6}A#)$G0wDٶ X 7=>8yw Rn}niK$reyncn5Q 5 v0 ]l*)Ih7_:ߗV}A =V?*NU !7Mb{Aס+Z!FzU=9 =Ԅ^эn8x֤h(dt m8i|RR=X]"Pu~VQ|kzsʐP̳7 hA=5!5v(*c]qg<[ט鎮o :R/0zΦ{siBu1bw|3eh( !4[ZHyr.rhu:3-Gd4gh N8Hqy٪%dM.ES3b7>6w``"罂`u9餜7~~i`n1``a=_x ًI/}'!#6ON7Y$WV:q`kh13Z(Y^Ӳ@F7by=rpQT%+OOL> 4% [B8y&HKs%`?N#{&2E%eVU潀"r X k/%]>\.-&b$@Aqsq J,w8 @U'x o GV8r djOb5m6Kԣ<QH 2 +#ݐ-;GLZRN j(rꏊؑ3E=y+r9qC*>T֞GxJVN0kX_4u$:yB0 ccxG,#;/aܪ=:2PRvKχK{k`%5p!8U< 2fӳ۩0I jQL%yXF@-I`Az{(\pv7Q"C3T=ܓF*š( 1!m"3D,ek c w9b.p`~#'W%~/#^24WO3@5M5xS`ZѧڑQO;x2|bQ^5YqWt-2|Hી1~.,|CkʼR,EC2gp8VfHdqWYny]F {Z7WA\20Ejf< 9'׾>R+> sȬ*"1W=F8rlԞ2-0R8DGRчS&^0CGQ,g\IyE+*)jϛFݿ.d<#e yރ0a1&\wHv[;="K'+ :'Ga4kUnQ f?JQ[%9`d /ȌX-"Fc{l< Пū8OK#q 9Q?DSg%z_|#="$;u_kmC6_.5[ZhNJ$o++c1XL\ӂK͌3}}ꣃ`=Oh,R3^E%AZ#Gu6Iii8kȰDÐÄ!m8[nſN@UN#E.MiR[1“@Meh{DGÆP +j 3^)AȀa~dzfk[>di(0,H})keAB^yh =`O e$R8Qj1-M6$P8·Z5Jr>y$ 'D2OVHb)5㨟)C< Jn ϧu ! T{ךh4J+}&;`$#KA:r`CbF #F, kXOAt8QoJi'xX 2i 2ZRxP螬<"^ʤ;@;rBēFS{ :t^P8>9]DXŜ3Ti,4T48 w+?}ax:(`-5g^_"4.ﳸ2ݣc V it|J,e*>0;W+8]}VF\tFH'| Vi6_F}}gi'ܔrB9FVieFPz,ְSN`˓v<aXfӋek\"cSpߪW-gTi@)%Y N~aY8105YEɤNHƚ I:JRxDd[y.;.<@^AcdW.3#{O|S!A+peNX 1COB3@2C𶘽sE/Lf 9OLԌ5Flk]/fmAĸN 5.W,Wkj{p$WL³P ܣuxiF:(G/ 3ÅC̓ gsPig,TB"I)T]Jfd$X{Z;;NQ-g~K,-pD%JC_ m:2h0HMץAvJ7[-2EjC 8ϳȚ” :T=7Q:`Fe?kG] A/9 Q5v'C+ %ғb䌦+7粔a h j&yH 37H,hp=ۃ-MK~z 9*<+ z•#'dD%k`@JX5A }h\҇T( 7ͬ6KFT>+b\t= {DH|@a)9+你xyU>VhfwM9]SŸqkft(N& vCNҚUD!ދ%L閯Hu@aXRk><Fb=yjmk3M03[#ad<̰LF,ԛZ聓\S! N[ĄُhuTUas`<һ$Ta hA h<B(0ޟߒ A̕2#?|Y)%8A><qڀE4!\2_4~jmk3HFyX8 eńBѧq@Y$# ,f" #)^ |1P4Zz8@SJCHi6gL_SArT桁\,.EL1bԴ*$"0ljaLkԲ(bϖf#*Y;u&n~u~]}۷2/ڧ>E-wY67<}}n{`I.{3\믻^>ywzmvp{>i3QM{){vZg|3o7^>Æv ³(0id-g̠o"?1D~l!)b_:Wp%K8R9i2Q(@QD=C"|0dWЦ`pCMpU22ЭuA~0&C肰Rt[ Ft?ڊ~V΀k?9vSSlܱkAmCqt䞞N/zmNjSdvv \ݷmսks`n;>rgmFks? XÇ.=.g-bg{/Sׯ͍Ͼڮ;6Efh]ozڜ>wtءCMl[w[%yߞvq{f& hLn6g xOy-F3g{;"f>S)a_x|N CNE5.ˆ~ũ,'al5XDvF(@o7Y3+7[^' l)#A3!uYRn%/̌br%{wj퇾 6w+9]#GO⿛)xx "wy_{'/}2`|>hz%wN"Нmw|>ۻgy?m6/y- d}v?xCXښA88^ʯ=n'O.fۧ'/lϮ]c?=vcǧx㷿[ǎػ]w̓[qg.PٲIaث5EDf AzHGi$`g `>ı~HZ|G!JA!Lf:E^en!vobX%-|I|$:£Mo]4RkV0R:,Qйvjxakwu@;n7w}=)0x1zx)~⓷Npm6=OOZm^xzO۾}k_<{>fm'GNٻ>,?UW^i4Sv=Me0Qfl$϶%HP{^TewgYl'}WV\+fpZn֍MİݨУjU}X,6N"a˔I$h~4 XY0t61CW XCQ(@A^wɅ [ח=S'yNmiɾc˵^e;)s_)Swk_eM_Rwδ6M?wLrn{v}نR{oE HvZIUb!{!QU],uDG QCk 4̉@( IAȽ@cxcY&ux ט}^c* 2+:BP (8V]Rd]EI|Ğ8l)"?U{[ܰȨo_*Yc8z~'~N;ޞ8ؽhq6=tx.km:nG5)`/o_kg#O 2]S }?fرs*7z6M_m.cmq=^N_{QE`<1{G97<{ Z > h<vOx֚v(R-1+͓wˣ 5ks<y?jtQ hmx6̜ڪLCX a3&g  u̿o3|s@C]z/_@,ZA؃l*Vma {&p`}[5߷hoݳ{r޵v}xh L?bSE еLԩӶώ;zt9ڤ Ygy:tx9U1E7vNYO;(iKv]6[;,w#grfϞ׽f ~g_)|=xF6=9ݗ߶?~~7w|=g} 6kZ\Duo#{_("zǴ้]êc ʵÓb~;oP0#q2kpI=?h."͋Ҷ!bbE3úg0KgdCo:\g8]8 / `+,2 LԼȢEw@ r5]/dmA1?zwS-Z69W\~?Cc*iޏٯW6^6"j'}W~g }7t e{Y%205{M/Zރ}{ٛ[>Ok_́pOر'"{|/kj7>/ U"Li[j?S?|a v_ 16rm&$4l1AĐ,;BM4C #N*B%z'DFd.֊ߗ.êd1?\/#W?;(5ZO*%LO ]>d0q 9aU`]6LHsV(cM^={,{zۖmD2қn6*۹cئoaܹۧmYl߱a{\&EϟS׊ ۽{-~Mװ{Q5>)W|Jٞl~OS6{v+/JO_{ O;5o~Jt^?vx&_[~Ǘz,~w][w?}^jgcO}o~Lw<)M~sdYޭ04бW'{I4%hAb_J93)2zQP7,Phf7 ظ*nAG8uѹEHӽ30uʥ3T>˙6xl»IT|ퟡgȼn^LBObyry} f{wXT߳k>&ٗ|S۵v)-&dvsoL۵sϲ^d<{*Żͭծ>65;Nܺh);?فO†#ksߡO~vM'UV[fv-cۧ~wv8bۅbnzsQM[@ogDs 8?o!NuUS 1W ;ttu/~wM@W]4(М !vѝ/R gњsLS"28OASIoPUsث]7apFH Z;4i1A^ 5Y|""XlZ6άJH\k@o8Ͽ6{|-E1NivQ{vfxm:7#Ɗg[+ft_k\[?c!kYƽرmc9_gq_3b8P TLq]cu:-4-9r0T 4_m{csdZda){DKqCAa^A?_-`&l\p ְ"ntAk* ]Xε6gƒxεY 6`sL~mN:m'K8BG[-|a6knPh&Q84mZA|M:K@y&Yix* bX%r0߻4I$`Po^b <2$ÙE1xt]_I;H2hOZuˌTTeC/sfD c] b40;WyXk=oxK+jȣgT`N¯Iݼ.0G6tѫԶpt'*VEMq *Kن:%uqxtksb N<, kw.;3edgΜyҮ];`'J}i12b~lfQ+9daw~ Z2 AZw %5x"޷ #vEÃ$62Oi+k!W`LiWo=14v5~od_kZ ή\9.dmqA{晳?TF/6&/9fK'K_}>̗ڡO\sp]w}eƷOW}ϻ6m]sN]vqO\ڀͬ(lLmȮ Op6h$  !gSLJdE-j+ fC`a2eZ;> ۵wr[_wy}Cksk?zr/~(rtՕW,1'Ng^w#{9nۦ5LN9hvΞ9b;s?cEW΍f}5_˗yn6cv=vjT{u%k_xmN <$}ⳏ,f9O<^\ڸc3^G l"^@ mbAn]Ha*U\RQZ?Wofj=,]})61_)j)g.o7pЮlGS6e|ͮ]}nN {O/x~҆RgOc68hc_uGnnگ66Б;6W]\낦NO?;eۿ9Y%iK!mo웮C W\=xhz}_fϻŪ0.ˠ6XdǦ|ƙe;G` % WzSky`"'} 5?֐9ݟS+x&fzl?kv}+^3.\GȬp 9Pd81AOdDӛsF_\=o(YVxYP7,!/u!Un1VJX_SWiSvc>)X+|]q)4{)ۈr.7EϼlnxpYھeO~mv+W-/>b=|~옽#g,6OOgz>~zYb?I"HoXOA{״xtw}EGؗ?c_w5`O?4gtagN[92]K =?nNoLwjT953ڗ^uqvi{zDɵ{ӱXOx A%y6ϻag.BY* FP.%e}"*GAΝ.3 V7'YQFtxzrA~i{ B^ʀz⎃X3'Ie nRуPSi;+|):W |<`3dj:Sk$]#h(O]:vŶ{ Ơ)#bVL~O=&=5tU&3 ,zށ.Aq匱0 pu͞3ftb"G5ꕼJQpAMXyIg>A ޯ`!!dFrOdA=׹jGSk[ī8K掃LP(Q_t $C8 EIUV$M,x)bО_zJ;My$v;oodx]hJH%SK>7HE6u(RN尃YS,˂-4 7iSkd[ [d޸#l5H#D.S5EҲHGXOe/ųurWhٌ3a}3 ך+Hc:IֱgszP$< r7Z^/^˚~L!!n,\7ъtύ{{jmk& Kc#hX%] iIx 0 FHC-ƕ1sk/^äp_H_@E*s _cӮbXC[_P {z6F| Y7|/\ɌH Fj~A5eRGdO+穵y8bΉ7A>)]K͝-VMD;X_iC=|zA45mE=ub={8=K(#YF@i&hbH dns*MQQtj, 9^K_^{N\R/1}̂1y !ޒDz(Iv])(0|9dY u"g7hz@N*@*뙥 :hVlK݋LލCC m˴NAc~GW֥ /|Y1gH e}nnH;Jr=~ZQBa(!0H A.͈@}|ZC- -h+N$];̂x٘vg^hdH/n}pa}J:zmC#<= l*j)f ͐f 1u^T,'@1zrX*.,╮ DyEPC,7zjmkT y hxxqm;8I-o=M>:J:I<ՓjYR Ez&LDDВW%0cX6 $,M]A0 ](Bէx?KM9)\b糍lԵ z&z @aZAtM&X7/`z&2x`)hME\ KPQ܈-wf+'6f"<g6 \DDTPtTjM}h);C@B~%{W:Q`р-lj鑔?Sf qnBAwQCJ]K ،KmU=8 7lV &9eC$IL{4a|*+H8),-Aern)K=cQ2z:P."P:1}ͼkVq>ʑsjܤ 4kBJfC><(qԽjet/i>(W}^1R_ 0$\7-)p{`'*|-(7yߘ)ȳԳdž@-n+@ q(! GNGdT]R NkT%s 8*kSĒdnY}dXN;#ަH{=`gN7@=rYpN, .͊l4ućSh|~ h+Р*|>>3>~aS,LѽZ#h5 pShhĀuQ $X ZȮmwFQT8#bly"bM iF{3ZV6al(:4K]J:JwGT.޺Ԙy6p0Fi LpGhQq̇h̹vST"ڨ}kmħ=j֦Qi ' D*#2)Q~TwmMQF*L4{t/{b T SR6pt0h|.'_5AȬ(-w-C<ۺ9ĠSԋʕ ö,4ۥ(;U+. Xg:FS5Z3 ;@؂B$Ͼͱ|n,ڼ,N-d}Bau +A hΠR3ozUtV4VBYN7L\q7S/Z5몴h{@"A ^S*sO|FT4Iv'#ϰn\{GtlB!XW@"y0Xi<:`y\Dh@W!jՃV,0ƣ>8ߛ$=8- esz,`8tV}H5F0)khÐ'GE(Txz#v Q/*@h ,-d< h]C[FDoFZins|d&= aք+atUz6~in^H (=uOGd&3a<"dm/%YV dr/*T5ÇI (OLUNaAugౣ@(; 9j=* "X|) Xj9?[H6&h?Ƚ|ϼgwQ\Z TLo` n#ڊCD3l4c[yT@²H03B<_+$Vxh.cpH~o]2M N@5TX*^Ux2c#!@y61dTO#:Q@j܄=XTbjShcD+,#guXӢ($1Nb 4CjLH  *D콢r?6H e p0d3BdV{Z5zzgEdPR;.}Dͥ0{0?v}x%Te1$z2Kf Nsn?'楌YssWB?hr =L7 *?0I \/#ws u٥bOj @ŊOzdYfj:Zb6uW*?q|q)HE "*S /4R+ю\ \AO¸f:=oơ<>(^FLo bHǟ.G9X $ &g=9,qS'ٞ&"ثjn} ]#,ZtFI;DA^#%ixĕ$49TLNҎIu?(M *h` 9]Y=@s`u/=>Ƨr@ƂYԄ%iB륵Jzr^AdH|G4YKELAe&:OZ P(tRB0aZ8u9C %(]7h!`Fx-Ձ rT"Ǎt,hP_K?CouUBwo"(_WI!╅j-sLĽOiYǭL+@ MD[5 W $R`EP tmG tE:NMƗxOZn O^AXc;(G`L%! Cfq.AV1Lw8?`<W+L qkj..p)يj4:3]f@fNg-)\mdqS(S&P/flw^r諽5]1;F)\ $2򬑰l"m D5t$ "ܺsx%KRWH u, 4LnI܆LA(K]%\*3kl "P 7N@&N'- 8hHJ00h /H07[yLM!, ,5 q)xjH)znO{NqJq}Q"ΰS@pJV_UVC%rcS askڎA'0$f"fO]zrD *nq)x,j )1FyL7C5i@h yH g}i%+ hS l|*ɵ\3&ߩg2Zgaz FuNL:獎T9EC ) ʃ 0} ! dOT1@3+÷ӃyIT$rd-`gؑ-JP˝&`❚y$F, -p?i8HÇ(jaA R35SϣEyaHsPgPaFNnN\\$u? oBDO^GEf+z j>1na. BMd6R˖;s34 Գ )ݨLe^!=gS5,b2axgMOx`WH|-PρCA r[cf3CPZlfu@PHLJ $Xz~ᨧt(A 5P$A{#,J4ŕ ;ػ &eH- ʽ&Zw< ,h&ng]HC0`l.p0N92(J N(剈!Īn&ak9)-g8鬮>i&$lB.7d"4֦gRCE%{ Y h`mJ`{a~;z8n4`|bG&&p(F1R o``] cȾSvCVaMnY-.S1Ed=pnkWEbЉMu(c]E3p: 3&ff]`~T61mgʉ 2ٸ6pkH Xg 9[28AZ(>('_lEvc[v +5u@?tK#!Sa8LhPE6͢tež,'}(l*3R;d#P{ [Aʻ(M Mз N(7!>.[6Fm 1* SV' bdW!TC+sxPOnF3㚤@?G]O)iYU$ru:]2/YGqDOwK-mq}Ay+yDm4B.z!YX? .,l#r[a;߸g`2:Ah܌YqEbGMPgkPl0ڶ%|7V1p6Vqp\ܘ!IOMpiF ޛ6`ř<0Սz8+1>!'on虚!MJuT̩LVc$ r zKݴDNKr{Ƌ6crO1gLU_ɥ$KYLFG$̓V%e߉6h G?2~ТB"3͋ +UQ7db^!LfY5J; (ZFI W?RD2j96֠Σ P& b#- ZjOrdVNT$HIEl'Reoy{n@kEEpUj5^vZS\d+w(#Dp"²epbLM>jڵ}V`/V*l 98Ċ&i6z15X3[/*¢8+MVwQIrv9ٌTSzZ'%o|^z/g"돽sLU5X2K+‰uO(-O&ifdhv-V0t!rrz-hY%ym/~EyٮMQ**yG -3/MtQ)i0(y-H?XR%(EK^c[+پZ vM*Lդ;r b溬#yF(D:2 HdC ( dMNry3^>NZSfR]nL"0T2 <4Y8Uy'DU[թdBf̜L'LΒm}Nokz : W~xJ 5럐nFtcj v+nA'Xi|}-+uT ^j A_3tnwHnNrHDldmQ>$61c @33nOHÒ CH,V Fp=#[+ O߁A }xڨ4F(2-m~49-as''ka/R*OdPu!k5R@f74s4 68;pb_ q,L,JWN=;$;Me}책']K3C֌a x,|#<NHC^ ft v8AQglGeNzdYw۠Vj*;D*aNM%P gl92XKQr(jZWPT5xd(>+aKȈ6֌?<[,(QcDD4S _kD$HCu^Q(T?gѨᜆB # z5ISH;WQ:@R#gZ (I 0il=e" "\L͋h:9 4kpSz )~0$JWa9gA!ҌK,J !ZU&I(g_tq Ԃr8 {RyR̂rc6}Sd!X)zXVhu`dX3CbV`MB'0N.`_=͐/R73;0\l0Og*Tfǁ|T([}h  V(O=;VDz^:.^e&D:SgH$ؾc.Є}RFn4<.le֤GhPa:th%Dzz ZeQ"ЂCF|,za!}~F=vj<@,w|{pמ9}l/r٨lW!:6#s e^p{9U|CC#3I8v.:9{2y & Se}خgw6ejQqI$0fYb5B1x 26|:b-:BHc9e3WDͻoZqFF98 wPq&@_tձTݐ* 4p΁\4r 5(;m"v2lm̙G^xϐt8Cj&@膪lx! UןSSIQ\KxuPB_}V&1ٻ0Q,JUY 1VT&gE j8 >BzpA 0(UCK@8B( zkG eȥ~1gk>2]vs{xZ`6풌HZ <.Q3֕FGaQe2 xT4g'Q60,EDdz \\q y'2eonNN}kvپ+_C3OaXu1MRξ<5l +rfl-`xZv `<=?\9n(LMדm6n:aB#s܇j?a?ɣTy( 3 |KGӵDM`Ժ_B4ƌ(s31\JM+KgJK`ع\s;C4}M<<9<99}sX}ӟ?׭ӟ+/7كǟxN;lgOm=HeD;5Q*IcT|g9;նa(O%h. ]:ѴM]7[h;:[DߑtgU.]*W<`!MYĒ%1bZݫڤjTY6<7T5U%,C$mۿe3Z?]Խ %~ R\{@),MHlHpWeR:SXpQAd*j*~w^tfgDYzuӍKeA ɻ-ݼ6tN6cWaiߎM˫Ό1#h۬Mt[-o~Tnlᗾ=0 MgvԷ3 ſۜy@8` A%[nvj;@a7Y9(wǃb0K~“@` AЁAsaa#'PA-<]hHBt +{v(W̾Kul1P!8AИA?ng;gdwMjPZ7ѹ3eɎCpngo*_IzHn2({q'p-dI)3<F.ʽC $$S )\QB4rGiUP-ž\LA hDk r:'̖a)0,gG4!e$c- zGni=IENDB` 'PNG  IHDR')gAMAOX2tEXtSoftwareAdobe ImageReadyqe<NIDATxڄUo1}ΗJ,*J:1"Ub̿ʄ:Be !@MMr&>WrZz=/ӭ~Z%b1brks󍍍&I X/J{b@:T*vM>م909'(`t3,5ȂRBVJD;^AJ4K @`ST(SG `SilـgB(Jh f8fL&\4U @"H{q` W kR»4PWWJg0l8n0~|yL2/t6+oA%9YK0:8 ]z\&1"7A4:Z1\ NOOd u2FOS,(d"qtrrrfJ-s鋋naxȫ$ &A0z[6QӭVK[_ JӂfP%Z [7<-H$ndyчsNCMόWqcDfF ?9S9 TYeF< we})hb^; oS3U^Iʔ"levx<-w:-9uWq4m(xMIENDB` PNG  IHDRa (`gAMAOX2tEXtSoftwareAdobe ImageReadyqe<RIDATxXn0 %'-: -0`C_//m]LMIHła_!E1AniLDp< a~|78~:d! "e!<|YDcnр3d"R1U@"LF3&ЅQxd\>UP4fV+I&P>#U7ݹK>kU21P*,VdfjݯH4J/-"% ٬v ]>Q0V{y"P+8okF|j%=˧!}F iA$u}v]gasyl/~5pa7T*2`hڻlv24\nN 1Y c6m.J\WL;B8Y YlD։a6(j*٤ eJ.qTld^;J2M i$- :hZ [{[zMJ[Jj( <$4Tf.[8!# EHlvyN l勃۰ C3/kXoYM "n..P5^jvr d3wĕqUƞJR U`I%DKbY6:X<NJr._IbFe5A7dKR2wTFvmp5ۡ1|Ѩve&Bż,R[LlQǴCeqf_*D¤fCڼ@킚rܙ17zA J  uAx)fñWuۚ^zF3㬉auC}2 ?øn'Qy 6TqƵtюjXJ %6pZ "T} x5\; ̾*=o}~{{Sooo<`>eᇻ;x{<.5C{Hǯ<~1~?{_V`5-x |rЯ<S\Z9^w BRwxhlCFHX$iJ-x   _\sGY*m[QIENDB` PNG  IHDRBgAMAOX2tEXtSoftwareAdobe ImageReadyqe<PIDATxڌWK0 d%Ho{t1anEQȶ-VEe%1?ż|}:=|q t@kǣ{}g>'s,'Ep\•0 큉 3ƘHxA+ 10A"ߢ$٤da!"$ Btn*b*+蘿cXN/2\ {4 Q 2\nsݲ,~jcȷZ0GSbŷ#iRS}},W#T &-l@YMr|P90jcş-m +S@-Vw}&ͬW)uЇMZ+p]wo18®ib7B{НNOiG")w c+Y6҄]NR"8Gq _QKϵN!GƤ]i8*[o"ֶ.A([# صKKSQ)^V!t:\kVm =n^n6*vsIq ٲ˺SB!TXYrlf$˺>K)^:*BLz4-FPzŔ;y[/6wjHrxnpa~wY [}KMQ/`/Fk—Tchqb>3SSz 0Lba* WK%`V#{U< h׈uT+ZmI ly^Z \yj<[TqD._LTN.k8Pѫ_49p9; AT鍍:\[˚u\} |GGG `Ϻ1Hpm\0HQ^u7m XG\.V*$N,0`T:O:V E㱁,onn䁰 P` *h]8Ѣyİj qTr gqEhKX=UsYB:IG8Mے\i|d1 1aDh7QZ- iFM90}ֵQXaYZMbƺX0UU%jZvSLAPKC-J-p87@ǢЄ}{W碟chT) <L Na` w60. }9UHcbR^X~}L:J`uoi c{_tKq먮j>ă)Jd3dzp<*ðעG#DB6q8` Sz,'Hd(YFĐV;CHDۂk?jk(ZGikg gvL@Q98\mmv uwEGgM6o#Y͑k0u.Ѧ8K9z)З^:m vQ_ފޡ9mʺ f^ wphkpR`_^͇vXki s$k˸LVpG¹i8 M7|Gcpu8iiH+LgZU&^1f=:(o [j@5a X :Բ!}ryɵ$i=m|2}jt K7)Kxo_<~[wKf׃Ys`ZFIENDB`\<%PNG  IHDRTudfgAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATx?o@_;nDiK7c%P7$&&&&@7CH , Ą @Bi@[u|ܵ>x} '=+;}=ہ j"YbY͛wVֈ~gtnn٣%PKddderRzCf\ǕLn c]tԊ7 U)'nt ܁ FQd4qA9MSOX:M_BՕX{'[ОFR|2U.SN()izjpIO8?C sǓaPYL*<2-I5PwW $~UMKꍻ./3nw͋Ug}?Ky;:.7`le*\hiɕPaPyJU뒻W^iqw'ҍS^N3-XQۋ/trQ1 \Pei${{?>g|}T &^bZq 1ajM%F@\{=EB5 <}Y $i'Rr̡2IH-2( 2͙L] TMS*OTNj ՔS.SR!T@UطH5c25jNKB5R*R1YZK'B*KVxj+rԛPJJCR)d JuL ՜'0Ҫ2TMZNk!TչM  0'ɟIENDB`b$B'\!PNG  IHDRT(gAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxԻ A%ۉa`'f >+h.r\?kjRJ~6F0?Xvf?4N>z5s|휝Kvn=-ATAT@P@PTAT@P@PTATA@P@PTATA@P@PATA@P@PAZCMIENDB`f6F+%PNG  IHDRT(gAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxKkQ\VRtv"@7w + . (*.Et!v+Mdfz296.<>04M; I*ZkFbɗlSٖޞ<~bbv'}vg#ntkKKyrE|w'Q5]*3~]+%'N߯^>{m#f`+Tc3A4[xCaLpQ{}/7޿{amgUW/x<)-EB7n5=kkOR?,3_]kP++_~vJz ojЄJ?2wшNi&S57os=ȘH{%e:5LL) (z &*n7SiIXjP1?M( U]bhAm*b#j7zjE@ AA`|97}jY4RHyn)n|j{PuV\R;AuĠ7->ZQMop1Ge'jLR.U%JCT{-NNOLX8סݠ's*oLP8 %S?PU:Jv 5 87AUP<2pkDY{%HK 0psR!}pS8';Pwt`?}YStwT @P*T @P#}XgIENDB` HE'PNG  IHDR<<:rgAMAOX2tEXtSoftwareAdobe ImageReadyqe<~IDATxڴ[g\y̛gwgp\r"4IIc AB81J?!qlq$QdŊbZbXDnmz/;omr%f^瞯Y.b ESUz5tC4(@UU*dLP(tӖ7}Yj=3'E*o ?=}huu}clXvzcO9{:+UkY2*58p D腵G?$H~ߜ+N@g?{p<<2>朙_~esϱ^ACpܼ L:ϛKt:h6{v/ +:SCyr/.՗n]A+uSSS455:DMp  OE<$^=|P o36;ffs`,l[V3#t<gcccǼnyyj7iԫOLV-)bh0@;( 83kDqꖋ=c{9訔>ǢѨif(nB&5R)k6Mk5@ l6hZos=73mYg#B4,GƠb9%y+kƼdq.}ܹ^uV(c)؃Mtbbje`~"˒$0kaaIĺZ ja _Fv{\wRd"Y_`2Q QD޿,|=\2tBO>{{,SrY :`Qqq|l!P!hL90MO7HK{4(L _vӻW2wnHޑAC-fg}`bqh`$60 d i2ϣi ݜyզ zWYnjՔ3{BrFu nO;w9%`FD3 ?I`0??}2g `0FGGw6 Ln!T FZVLPj<,+{F-a0 A,4n hs^]]Z$0_} -@v3f%p{a!fvGLQ`Rr󃚚̺\4䒺{m~9;;ki .صkL熇/@6o @[bZ Ò]j `4-ZYz\5NpؘfВ:2O+2 tmۻwh<3nb3߃A[I56rg Y!^(nG3 DTQکl0Q#)j&NA407nl_ެݧ!MK6SRefk7cHcd'%K3Nt.3j=Fgv]aC4#6O&}n9LlüoFIhHmN(Cf+V7h\ p3+|}fr劙pi/*r/7Pk\`-f M&`f Pi+nK!_lE:sr>X,F?˭f^M֏s}of~ 922!!aXX^+o?xku)N%~qyQXY keI]6SY H$'=4a]/tbaqN#'7m\j"t̚Ѵn.3^Ug7lc=d劅V&% $oY|֚x`paa8oN6l3$w)%mE#Gr(->sR+3&^` ) ΟrU‹</n7J!rjw`&[GލZ"Ýk f0k. 9sd#4* ITꓛSKS8z8ښ20O)/f{񿗗}BfeSgZ`@\BϬn-"AOkì,C޾Qh+xthg,*Ҭ/Vbpu>v5o3h%&]+~}?ިhZXv/QଊlvT|پg9pʉ|hJɲ3`4L%%ybX%0.PBcg*Fl|vuy5Q]Ve?얖Xʍ?}jkySKo.lYn`EbLF-<_⯽_ @a Q@@b"-hF5BN$4)-VLd=hd܈g&ٵ vvd޾\8ښ],O-tqbYeBg5bW&:9Y.\)[rnCE6>>njk0.\04Jo5Zنҋ$M):U%U:f/%;9~tbz763[ t}v9_3{"s7WԊO|]82tZSL(GXP ^GS V@I x(UI #%!5C'bF۠ɄF,(4ڕBߛ/ oݽM,/`&SJ 64,) OƩqڽ;rS%bk/rdzGgH@ 11]i`gU*-?JI͕w kV^IR]z $yVbw׾3bG9)RJA2C^S__׌|srNܠT)^h~"3wjIJN k;TJ/"H a\3ύf*V~o.Qjx>-VrUil&ڻQR!7(E봧cJ&*S"l](l_oa]DT7Լ?P8zPWF9ÇQNكFQƥF,t-[>Pd,tun45R Exmy}N <@LThK>ϫh)h>RhfJfu&TB/ ;73ǔwZwL'v1أ#VuuBCmޅYWEfFKp xT&+fo%P j̙Ykd䁵驍igߐoǟwOީ ,h؈O/1 =2J54nߑ]vlsl.\++Zھod3^2MUr=*d2m0BȽTw7C\8|bȺ4"C|{AUfZ[u„#uSlAM{&x#r1PfHjd smJ#ihe[}bKo?_ :hO 6!4 >0%Ĵ֑ L 9w %GfuPPvc#NL&:‡R={_'=n<:@aq@!)I,j]y=\5z/_lT±f(.L̙3湶rѪ텠41<\,0_ǟ=q+ÜSպIҌH0|5mKm=pY ̽ P˦}_5 -\zG.,yC%V=YZ,O* #d,< ng'YC 1ƴ\ʵ7WCi!+\]fj6C ]W||r!<23O?.=r5g3l-HU~F%rq"e(тa C.G2_6(kD+x[%C,zlx3O_:{+2x=߻n)<[SKd-@bhQoi7=č¶ކ]٬k *c7o[~;S.QZ#*xpi M"y _Le~ÛL1e3\fe,Vi?` xIJK&S E eRZ 0v py-HIENDB`1S^S+GIF89a<<NZsMYrKWqHSl=G_TTU=H`BMfEPiLXqIUoHLU?Jc;F_8CZ1Q(@)2Imq{yzzsst}\bpJVp=F]>IbCNfFQkHTmALdBMe>Ia3>U+7Q/8J!*@AI[ijj^^^}}~BMbaem;EZNQX>JdGRmDOhFRk$.FdkyZZZNUbJSgGQdJP\SUZCK]DOg@Kc@GV:D\DFL*4JnooJQasz~wwwEQk@Kd=FYFMZX6C]ɷERl@Mg?LgDQlCPkANhBOj>KfANjOXjDJTFQi>Lh=Kf;Ie9Fa7D_:Gb;Hc=Je9E`@Mi1;O#:/;T#8",CDKYXZ]V]o$:'7V"/L,H&4Q#2O%4R'Aqtz*8U&1J(3LSXb$2O&3N/(A ^U UG|H!CdHE,AD$8"I$ % p #B5Z`picE1t^ T bQ%4pd2 0oAX0a XAEP8FG@G8GFq![tЄZ,Ae A_gwʪ4q6`@zЁoJl}IDz~d Z  aw I`T (Pb+A?ݏ yC(6= ,`bPmʰ1k؁X FLp "JAnSE9a*0)N ĩQJ7ЈJZTԄTHDx:Ā\*"A0 ذh=(˗  1 TZTH(V Qp x"PDq08IC b ^'a!t$NfT2!Ԍ_d ̂؀ WuHB-UY +jqLdwg"P,bC D4x%,ЇB@PfJӚ*@D `!ܢn/)pH#0(b 6YV@2jhpBlpN8Ia`U@,l`)>X@  \0U 'p" e_Z'At Opl94ls3pjf p@5a R 1Ir ]/jAS#+`P b^  zwac #R]2A c R h3ˈ2Q X 27}.4da8w`gPEf@\(C!302ԗrqL j#/$'XΨƋq cġָl1q Qf@9ʿH/^Ĉ`8ԀvP a%C h0  ]901 ^Pȅ0I4dV6%(z4 _hc8a^8yaOC*@@P;؀$!Wú2z U=za{u6`P;vrq_cLc44,#p1 ` /t3H-lLߙ&6qczc7f_$.X $>q]T0.Q 8@AN`;:1|= kȹA_CPыttK7x0x7nKaD(9{ T8DZډ^$`7)dY6g!G]x5 &C`COr߹ (2/fCB40zғ{?vW| PdĂ )p;}n.C 8Hb(A TȇMlj[' @m! ~s pf7 W F: 5x p#iPpwdҵl&E5uk $ lT@v^ǁPn+Hb0W2(dWs(xopi(AHf4 k^ CPp#OjivDkLP`](qp5v8iuuf`$#0GWPzȇ,燀z!, 083!0rpT@+YY(_1IR`#iX CY'$#MN~>~,Y F 8/ω-@Tq*GᙡVyjM QPx$Q2ַ#@ E(u)*6lcԪUBD xw 0زAiBzp' p';H" 6a$(M n凊@r"x <3c#Jlp"ehe\TR%dG5aHzH^>q`I҈]bɕ YZjd$lM %sW]&n)C%8@P"vEl% ב@ڹQ>nXi}HbAGzz㔜Z}XHiE6aSM9k>{R}!ǩ0A@ : ҧd ,%dEKYPF OJ8&l)$KjQ)IsC'!'S1}$fO,2ܰz䃞UpnILj}J,ă)@Rj5\%6OI9;*2DCH“ܑ6t:<ֲDu>r j |((Ps".'2[AԒ.EPYhEA0P@Аq0lG*P &hL d54 <m4`|'DG>P@09} UD0/2484j8ckHq^"B>dnbT/]P ,`Q#Y@tP9T80 G . bG3bIX a 2r"DYxBh{ DA 2cBsXH gB pԢ$! (F2H4 HJr B$ ("4.L PpE(BO%}tF8nAS_2^@cxAr t)! EQ&88cP/iie`2_8@>HGy!Y$/Bz93h<(̂e<9H> -) E{D)r^PHl3g pd6<11R@~ao)4rR͏XjNl)2(c<0h`D@mmkbbF@N^||`ABUt4Fp iXloQ]0u+X,զB V0*3T{"6?ȈF>#䶽Pඵ1no!,99 HP`%8x,Hh!囒CCG ' DБ/ $f 4E77-iH ~ DB1I(;+UTyc%ߘoܰА2d恄|"D+ŭRWban| n-x'M=TM<`1YlВij[딊 bA).H"_-hHX!Z*b|U,scXclOSti,Q/w>?;Z)(|y?6+ VAxm4`^뱁DoP HPh` h܁ U }eӆ?!DD$,q@g7Њ,~4"ˆj1C>WpB %g @ C#jD=I$XL)[]%TbItQ>;P~pfG&hÞX>V&zȸ Q' {w &A +)'Nhp(ifVRI'lOr!"eD(FGlnKP[f6r 4A#75$K"R&GF>+eԨQ'"<)nC2@60Aѷ]x͂*A$JU M M AF=8HO-I).d$F9bRp> O@=,K4#68rg="P ~.#L5DL>H/ũK(80TbOp c^F/|q ]C6Ƙ{" 䠈1`!h jc8F/Ā b6a4!ap@% 3ab"(1T ΙF/%UHі=aAa|G.t ^1%M11 f$,:$` IfhC)T ` (@Va'xÍ5& gq  3~cPczIl1@8) 4 LXA0rdx 1 qlQjhI'׹f80  s6C1* &Ȑ< Bhd4 $ 8,;aL"!3z)3ΉDXbw j#(4Qzg|q$C4l/d$CxUɃ.0@$F!21`EB(D$$*1D zB )ph>ld akaRH d2 !X:r cC `K+Q%`톐U!1WP[&fo;wC H@! ,<< 8O7}AhE Tx1@A2C7nXc@ 'Ò1_|2 H$H"PTxK+5-үC|@ @ 4wm bd`т ?g̔%P ;W(`tSO$! к-x| Bo1 ̓!O7|7:zg-A0a͉GB>12x8 J |KCf @CM'jA<SGx0$5*n!n>b!qzQD>:ƒL 52),] q[wx!D:")NI )DT1&p^((&G0J 2 H1 ~ x@&F,*@b!YbH>x၇zGhs$0S>g@dXwx{F }W$]ۢc!P^@!6AkrW!L_} Xc%d7\Csg${E㭄U+&y>AB%HI&uJ($@Xb$D&k&@ L:*㸛f] c%BuSE  BaI'?( %@Dn< wBZyⱍ);Tl]P"VdCeQ &<@>5Hvr±S dA@l!x-@Y 3 4gb 豄]1'<""_u>*jq Z,rC(B~#KaEkRAF`O㮈@0!APbx|<K/-* ."P-_B;x5tQ] " wܪ;!+@Ʈ P@'1aHn a0bTa c`ƁQ/ 1xQbboi/| fD]h iB Ҁ ]#e: aT#0.0PJʪAI\r@4fT1x1|t8 qiɘJ yD.pZ (F>q.@#1q =rՈ ]뀏R  n ^S>bA$pH'4:&H\-jbL/" 2\D&8c>t1@ Њ4 _QCO#&ώ.vE/A j\9V1q^"@bQ lsf8#10G@zK2gC@>FAO}Ed$(8 DhF>z?c) [Ycڌ`L@ hkA} d,H1p@ց,k0tr84KQ=_8hFaY"XQAeKa1c%6B`V K }bHXS[2+=E _Dë0F.qoy/v)A,Xx,K]z`ham,J8^!H酡ŀPn qc! ,<<HP`$pէ>f `ɂE r7S2`TDze2"@P}tâe@gZdPJ Plj3Vx`K+@f >Xㅋs*eB*< AGT 6A.1c\)$F+VXh#d%s-7_pXmPI铢*U\a,T' Lxh#]lh*'%Jnʼm 32fQ;dg Zp!< qDy4{0ZҎ;}(Yvfu Jp`v<(p0` hl, rB)YŇ!;C% /`.h0##ChXF qG' DC)EFoCTeiCXJ_؁k@5Ɯ2A,R*P=hp>1B JP8 @L֘ծzU A ,X@#P# pTTSD Bk` @b z`xG>:BLs>r9 /pV `DjV1Pa5;w%.0 2P%dg4B0b`8" @!ô!JȁeXs>7BG.t ^L܈Ġ|(c8*\4c*:\U#HX1cCH6b `/ %d7! gT]p.|.|P}x"E̒g q!j$C ]0A w06nхex xN,[)$eg;*'# p0.y\~BbPkTw .~d^xce-CB$Ё!wA2dPk1NnBPHD5l̲TQ#*Wx-\k_9ؼ Ff g Mx:HsА V@ ~iL?Ȃ(! '\9Hx&Ģ2149ȷ-a p(w!@E/,΀-k|1@dhH 1:PFQc3H* P"| f$B)fpS\HWt?ѐ㫷 54_8: , Rԩ\^t3XPG0C</:< " WC):@)A1ybh}*,ӨNz`bOnQy~1>P"x0w܏06v.lAsyg P p@^Yj `v q` ŷ q ̷η a\ % aP|ZaC074Xya;uOyǠz` qC^&jy7u 7 `u&jf|@oupW\0wu Ն ouPpU~ l؆S`|Z CP`sjȇ6~8*q ƈ`|fvWbu&@ixs%恽@ua#! ,<<80 `PN>n) H>|CI 6PC0 HPÀ M{覧\̸$;Dt%Ct^(I5K1c DpM>`aehQ \ٳx[x"/%y`͊>~$f؁er bd`b3@㑤9V4h-`+8_pXoPvESGzӔDHRE3X4d™3^.xP0Zr 8iDMUj CceqF]w13Zp!{iDw#D_<<,R`ku J g(pz `@Ѐ{'üPM b8=I5!h" Hx"`OD Y( ,}3BC " ^8aADaBcEԠOܢ8D 7L1 \8ͩNuū4BnWAAT-@)uEɁq\Y@A` X@l 1b=6@+ a9Xi>1 SX`,čb@fd (zĀ-@ A@v IUXFX @BVf;8V 6jv$zJ{Z :l @2. 2E!n p܀~´tT;9 `#/q nbPF>`bPLj07:pְj}pZ 2`CH6`]80`DX0Rav H$>l 4xH>4f9AcK3I P#%0/q.,Źx. ?DpHs䀁2` d 0a 0cnVI̋Ly6riAdB8 `o_d^xC؀21O@[h3Map T[mw;t j&(ރbHF5rXv+p9F2o`/4y_A! "\* f]Ѡ*\ ^E44/`#+xB(W{2 . !"a Է>'0& D [p~bwW '`<0SPY` F`` R p{`|p'( ݀yɵjX%wW ( <( ΀|0 B8CzWu(}0:X 0~ CWfHj-y b р S Whw[gb.&PT i G`wnhf `^W @ Ơpa}P0fmaF&i .F  CPPZ& xLPY`'#'i`v5 @9x7bwꇋ@wPb ! ,<<HP``M7V `!7oQ#w`@RC #0˂ ("dD<Sŋy# TB[pmapT崧M`p"@vA;GPm`0 Z\JD&xDC@U0Vw8 dĥ;Q*Fo ip|盏\b1:AP}A ^cЅ#bm5nTj zCp}7e8`Ɓa]4zX6C؅j@Xǘ/? 1Cq/Y Gh+ظEQ\1ъ1\ r@`` {/ccVu xX'$ 98D;A00=W]i0kb2B$=q\$ \)38 6i0Ɵ Rx(E"VIHGQ,J -\^{9L HQ7D[,31`Lmv 614ļHq{U>C͑z%Frwl]3~uCu=P.Q 8F)&ӸU PrC̞6/Hx5vwp[vAj1oz11@hF8ٛSL l'?1ռ]" GRrHPOڍpqpʕ ^ C <H.\ ?!aLGsʓ| h0#Bфm lAxЁrD 0s[@!fcLp' H |'Faz_0ь M N2d>\OC0?S 0 }Āf ~<6p xb hѐX|P%( ΰ\@$e&&| p8X C PDP%|PɐI\ @ef_ wh t>{&h hs .0P%`ib8pb(f +&hS u8p|sF ƀh Ђ#psF}px@#! ,<<HP` QB,!  lȐ B,@a!#R <(1`2-2x? EX@ƌ&H`BL1@L4qb . -vp4C]L.уG?"ÑBCI2,ƌsI,\ù 1bl([@K @K0='rC nӇ)sIIQ*V`ѐ -O?ВN#A'J˼g!Л7|yӇdQgiG>2 TB[p[%I [cA㎀E.dp Ju<(p0` il,6‰PZ U )҃/1GB YXס9mF ę$bP@~qF;kPd-@ǣRvsn@5#{FiF,z~n1~I@cޠEG6pޑFyJPV^"tP™f+ْ a y ',d}S0g|2+,񭶻k!v 2Exp?e jcG gAqeD~A!! [_=ȁ~ /%c\aE Bl[/2 ha$RE"XZs(Xl~Hb%*a.x\I&x6M\_{:Bw} /`_ PK68x =l64 Q/}LA Wt=2wr: A6'gڟȍ?I3.0P'x$"k4+KÀ@g+|CЃ$@[  ht`CJH*1. p@ށ0a%8$O@b@)AuB*b aKȀ,!c2z8_Pmb@p!0)VXL`*(* \`A)DadAh"jBq E*DBC*XDx Y :PX(a\ Iْ``hX(8U)NIm(&'D vl408IC " ^C`!_1g8|lhbx~؀s2 t @:8U†@ @dq”)a$\8qP*(8ͩ$0F!&Ef6t(ڂ l#d.w! X[  @C48q`\(!=7&4A,x YITʪ iA@L0YNs *2@ ֥A)@`:nP"0$jf ,(ӾeYXmDB#/1cābx. b81a ]8"ȅ2rA cŪ 2A jlB*!P/{T` e p[ cA |8^1v Ud`kӢ ;ظEX\<1/A8T1AcXuI a"yKVX079 4,;0/61 `n1xOc݀>aNL g60 (A fcz@4 a~"`8X>C>IZ6za lt-~yۋha _I&tMRYHCfC#\PDM,ȶ(Ϙ1@} fAc3`w}M]xp dh VĬm7F 綢>e]D/! 6p +\:s& H0S `aVN/qv+"OH9$p!@IC]^jy3^ M>)! V/j1V0dT \$A@⓷FzlC?O?0  (Dnywa00AD`U`Sjѐ | `l '(`H j ]'&pC6_ `PuU((fj&].0P$7j9mfq 9Pf* s80Psf fC8[r f[b8QHqg#!,<<HP` QB,!#  lI| CLh)  Тf:/`\1ddXg+jx8 40ztelb [f`'< G!@D$ L AoH>(q7P5V%L2gϞ@Ҥh)T(ѧIUb  Y͕EMxP0Zr|AHA8 1B4j03hˏL>o&YςL3glر>?>@[p ! 8E5C)UH;IsLJ$_p J`n<(p0` hl,Ѐ gC#oю;|` Cra.^X11B8FG@`@h Hb 䐀Lt0GPz-@G G_Qėw072 Q A IlŞ}d0VIG-@Oޠ36Pm`rZ X*j@GAԖԒZ]6`C_pR}E ҹªԲPƶJ b"L ^4GxFr* Jdje-eA Pklvj,'1J[pAec\qA1lSlS/2 4'wtq~lp~I tmwݖ\I&x0Gq.p/Bdq /`ݘ_ y)P"x<16AoN W.0ǘxQCb z;v+ucc:^㽉'z! (2|x5iPAA,bXy[IkB6LV:(l`F, @A V7j lXW p6XcP4B`` Av`Vj'FƼ0)PXb8E `2xq=0A2PCH Qn@"@2<WX;)b ,pыJ#ԨHl HЂ@Ic1pC8Xl LdfiZ@Dp<8E-Ab/REDIJBA sȔ:tCIrQhp@PlR#[ap(B (2X%O(BD0 x8A*$DOC):X"3`,"@P1 xppBX ,P:@A@X$g,:p4 8BX^2Ġ)p5QP!>X@"p %  ,ы)!H0Җ|x0 @R x݁`Yȅ.v h0C! ΨF5~ f12 H$YM2A c̈ R1_7~^ w݀yY` ͐Mwy1 B5HG/zax8>/v Ud`1x鑷ppZav4q.a ^Lǘ/A8TpO`3#yJk]cL@ @ ],Edc<:  Bru0vvW0D 3md$b(`IX!0%(~f/qlBo3k8$JA$@j)UI1[\ QŸ׾Ul b8" i MGڸUC-vln18u]n^7v[eRЀQlzfF2@g  5ZЅJoE/! >!I^fDHF`h[:yHsO hn0@-H}f3< )8x1z aC~ ;ώvL&7<I@y/ `b ؁ E>#8$ DxB /ƨwb>@ġG\ Y9.z?{]]nX'( 87> 囻¾3x`A ocGr5.~@-~?쬑c>\} *9Iy7B1&`%/,[ƓiZVjaQs}g LE<]|'e~϶ aSٷ4[(_бno7 !_@s&$=tl0Zv=Hy]w7)t(4/e9и{9fjfy辸@aevxW@P&,:Rc *zXi}MNo lIQJ1onZ;Lp=||K 7ĻX!%)IIJ$%)R )IIJR2$%)RdHIJR2$D)‡|tJk-Qt`r'gfӎΒv܎Y;@N(y:O3k[gih V'3i;R h8 ݒy0 m ^Nq `}zTx|dN:1͏Tnľs#ZnGr5y=4.W n>y#T݉6EeѸXW 06$ݥIENDB`?  PNG  IHDRKF ctEXtSoftwareAdobe ImageReadyqe< IDATxZiP:B┸11`8qht6Migg:t'u3mɍ-.P^d FxS}|{y?W~#C!!!!!!!#M0Tb ({2g>r{_`HAa ]RPSAX}C-./N*Ѱ&|>nt -8xaÈpj{.(M 2)j[H/q{&F/ pڴ$2}]쬺O`d+O$DyzbTN-Fwltpe hp|40^F)A죞ۘ?$2'ɋr1R ͅEh|.kOpkWJƣ; <$"E}_o6 8'f89!6!flmz]o29dQtS([ho❺ zcV%1 7̷=6F03f),6Xx羥h3­O-)dGB!5>F[}'.w3%)2rAKоvR?j5w^I]M3e~ T+3huqU4ADya$p L6IyEpiYbpw^4K#9\*۰6 nX8d gof%Fa>¥ 0sȥBpC7d` ?wmBg l͒xT?Gkŕ ErtюQ"T dz^2!2"la"8R8.b<4 8VBbHte-_oi v-0#I>+Փ\*wMeԑp!\BO(ђ5^aC/LJ̽L&:y,|vǑ-}n]Z5\ ɳshRQlha$/[PfR @hfb$ZJ$NBu40}!vdоsw6%.4 K& '8@`)qhSDasz>;POzQRKT8ru5Fhi4rF"5噛VG'Lnb6C!8wjcqRe؅SŹWulic abTG~NPIHh"iԣ9Y<ߜi2/ƃc@l7MΏ*hO)צc'?zfZ iܖn)y Vzfd <\ fF)wH;=:yF?&D0A֗h $v@sMf+rPØ4 q% Aݶ.ԆmO2} 1`mj8E%k@:ξ6 ".GUtP)"1YZ9lƽa8.c 3P{wnZ\ 1/~\-⧮buxD̳"O #?g*]qQ /*1zB!R̗Iэp኉jiZbj`Tr!:t؜hǚFԳaU`9Ag04A#C;&F^Յ lÎȢ_o :,‚5M]]Jd1(Զ`d8>U VBFn/D w}7 ] ^v*Wi_<=6'nCRȄ/DSuqE~)/BMm^:#wm*̌zN€(6pҹMfeF9J" 6-mz;ex`_(pܜ|IENDB`kKcPNG  IHDR szzgAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxWilTY잍3올GEMH mZuQ3mhU!$F &1Ylۃ=f( ̇›-K3dlh2 :S"N_손aa&Oz ޵y|GNjOA2Z 9Rm ,ϋLD8<|n8Wr,;k_))Ԏ#£Ǐ|ɧ1tbIoA}BD\ Fnshra5=zqc'ðYXkտWC${mJ=(٭j7l1"#|^p/]g+dY;+H_Xs5Z=:;OCַ^boVa{Fۑ?&;O{޸+lኪm sda.6~%_=35 sWDŽըPr>4,Q9 gL7QcY:e8/ 0/GIENDB` u PNG  IHDR szzgAMAOX2tEXtSoftwareAdobe ImageReadyqe< IDATxڜWylfv뵽9@WZTnڊTBJ=VꡦP"Đ8ķk}7@Mu^{~iz7>ɥ2lm~Py(J8,!0*P$9J-`4 i'J@ C6zwjF|"h* `s 'L&j0ev55@?F\q_m]z[ay]A).CcJlJLVWl5rfR /p&cP4eVv-Q GU-k !;,IV Ȋ+w;?7x6Y6fkʂmF-0@ų}eH䋈D.0BЉxbxՉCjuqz /z7 :5JXJI(24b|GYH醇q=˜1Ջo}`ohG2%b@2 ((TgEhv_JOK7vVw:֣:f9yP%)7o7*^VTUKhbH;=mZ$Uz^_&:;8fnTed W>zTM\ydWL(,6$ѤSע&ӅJlwR @"1U:!}C۰SLF XX"fVΛER8rf:F a.M](OaaERr\4`pS;-Hf &( $\,l1+_ )JoDGcm5kBnk_ |0А1n0&.sQp_D8XH7S1Lڨ] 0@0M]0޷g;Zxo;:ʨE2R̺!x!OwerI Cj .22vUm2Nr_iY'cY%z[h&,no؋g#2n`?wp5dhSU'' cĬjïǑwW㚀?9b4$_*d6A,hllpM`,^FBA?Pm-t={0?oxF͎"938> s$ hioDe748DQ~ıtp-0x0fM17DE, :z'ۡ044;CFy؍x&OSp4={n$ݢy\((_"pTyqz:uap|rपYZ=I O::P`t(N @ΧQPHVY,FaLd_ӄ_m?Úf]!K ̈{Ox$~,0XmнFGﳷ .,"12s,*TVT_Fw!)Y,$ELMNcfDyex M% 2#V{=s/GqCzZILX}Uw JqLA؀ ̏G}}B*$qvB€!$Hkxb %Sv9mN 9*a܃0^ok&{ S3Kشm'U Vc+8=| rpO} Nه}c7)fOQD<|L "J4MȤ3%PTE, a0;;9NiԆriMop8SPhF\C#Ra]g܅D5xmM0Xk`rP$tzOWh,?:?|25FduA(f`"d%t?7{+/sHRAMNjDpoinFGwםMU_xX,nlTCcS+\c$A;|$ $A7q&dȮUWW.)V抾KlqSZoZD:99G"b&P*/2*zԊd2FVuv(U?bA(Ф%* `qP2!0ȀKI}C\z\9`!qޏ7Jc1Ŷ-l`I z|zYϷkxV^$C\'ְCZFVlA^"):!me8(f,<Dv3YK`ƑieS*.SoV*klBe&5Vsi*=Al?ȫAX4fI(Mu|L,U犬cMM2Pn l221,yV*Ǝ)짭[Ԑ .{ J/0&{]ޖ'u Y=SFR B_0 ,Fm0jpA9u_ ݦpCpV[6y{ jqmy5ٟu ɖb8gaY#YjX9:Փ'gYOd{<+w9"aY@W|>7 :m uSj/M0;Vc`wovn%x,l*,6e<"l!B0C5%s|bed l!-cY'suٕ\єpEIXIU~+&K:RXP?"J8KnEdBR+Eh]jEU2@(D0 ΚZnjm=B!ei϶0%?U`]2PIENDB`$FPNG  IHDR+/z3gAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxY]o@;;i |R+#ڠkyL77dVeS(אzq>A N X=N%o)~ 4d_{|RȻ70HدǸ &Nl`ZEVlA^29:%me8(f<GD~3YK`ieS*.SoV*lBe!- U޹ 6ٟD NuYg3$&i&G&{IHBy֪~UTĊ E16ϦXC` -6dz| sԸeW__ApKKKnqq|XVlb@?1v>{\ 20n^ұsNj,nYʋ=^.?0+WvVKXٰ4#{" Q9Bzmײ2/>sB.,J|޽Ѧ@C; aYvWS:[/#w64aAMtD~C=弉aF kל$">١ ͢Edde2E4S-ٲKWGڵY-$I3̙3lN djY]Q#kvuiiQ'7CϞ=[nM(,L#700z{,kߤve9чq:==-&T߉'=B-D7oA|fb2%̦\63r Ib &@r2I:Uͪ322BvY0z}YͲTiiߞ-c5.`B&8Iu'Dzc7o޸1)/cǎEوqrB_mrC`V2gW%oiV` &v#`965۳kHFjJ2 vEjTGmH{---b*/:")jY=c;w9:::/ 4p(L ,^.ć |I= J?.GTH皛gl{=sY[v YE~~j?x`R=օ@MG5vǏ8on'Oukzvr[κ$._8-d9.zH01a\sNܟ?~R lH kI$&EqM? Cfiʘn0\BK *-V =LK"ڲBZ32u"HKXg7Nf{\X/knÜhx4kfnH9srT֛q,lܛBۀJ8>s.L5.xͼ(Cj~P 0}Ͻ}{ۡ'&s=[ C$ps?fɆuѠkg3y2 =BtʠA&2 S2fF@Qf΁_т>+g˿ԖKA3ra2zk8g/7=b:fl )tY8Xx$c C܉:2%Zw8u|_ckEٿ;S v5{nuB(ϵHT @+;}ͫQdNV>~&#mŒ$0SL~Wx*$w.+Ge9MLӘƂ3l0j\rY_r$-PˑYNA2V5ͩx[ʉJEDB?9֏D2_v6|̹&޻e0y.6PEx/ 0-<3:>.L# =cfZH$ywM'F*90#햼x/K4>v E; F:,Ok_I4WGVs$ ca ZHiEIEE!bPEEj#0e7_J[յn ((}"&5-ԡw3M+څ3S x>˃#h wMS3fCBǕs3HL~AUEP!JֶˠsKwLQWTPõ0Ȧ]z0;XҘnC˿`QEUҗlb?_\ ?6s;jw1qh)+zL_m X*Jfe?%;XkK߿kT6sՁH-*DEQVaG:RyG[ $7s1Wrn0R'3Ma=sn"Gk3BO0b:&SilU@PSS-`P/BZ<~Iz!*Ta6KK- ?ӢQw{8Bi`"*K^@5+.xN@ 0L%p!d^Ȯrj`9y-DH ^Xz6t#ؗK/8xsyDTr#%#;ľ҆O8b +!| M9vӥׂZ0/$RSb:T5D)X߹K.OӥQ KvgD}MY9GCj;&IQ{>8$ҡtj W}@hk\Bq@7 ܢ?bI0BA\˜l8NH8Rpiߡ;:P ռ E `'?jF"FZsa0X)US8SLTBr+3!5raOjl~y 式Fxog‘(-!;.M$Z(CFH\2*Kj(qlUN6;{]-2}ަ^7z6M -c"?$T}˱z Sqk DhmeX"rZ@|7'HST".+7;1'bGE.B*BdE!q2v5m!8bV;ܒu">NC ty`Ƽ[ezcOFHWKs;(*_%5_!ph^ؽ(6.F9% D2I47qvo|AzK9 6;|x| /0eTui)SDՙ/R^WYivF B "fAm*?@D,%!0`K*t+*NʚkģC 7h9?Y?P cNqPzT P!?IُadsFaG:vS3j`v8q,hP8}r}4f.gFB#x{wV=Flʜ[}l LUa[PcH !QLEXd)SMQ8dF$eKYq5c˺K lE+y30KTxSQo2-nr]LCeyQB"u>h]L98F" COleWl5TH @eҳy@eyrRxsű)Si%٧mBb!%UӇ(5cғM#RgE`~s) ոKʹPQ6DOBFK9s =3&Lz:şXHI?s߆ E%$& i,l!VW}|ԱlOpY 32bA o!&0)'gV_9ndxSq2(Jy㗌Q\OPIRKjeOҥ EBe5k˹-e8aHInL%c5ĚgC*>Z I6*,%&<'x~NUݹƨ7\{$;67XJ"V{ yp0S?Ǵ X(3H [DD5HiH/(5A#MbWFү j dZAPN 1ْ}ŀSy+bg4וoz'-:zN~#9E}ùg3-w1t^ֶy,JNTH)2RHImPu54W@!πPR r' 4ovkd'cD0 uK^p^3.5;޹lIȆY1 дm,4YLmтLl3\wN-ZtҜ[J55TNQ/20F=FdT~E2N-э~R*Y"ާ>B8g@ p~~^ҟ uťRXÉ[MUTZr]$LM 5-\iS ͉<9eMڔֲ~1Sb4Őa6D;]aZAȘ|х~ޤ)|ة!Ȥ B=Q!R]s+ Gr.?L4U/ G;w~yH^ WoG^cтOvi;O٪~-+,:aJZ:),/R |ERa-RH W$o 9c (Щ\YXJк R D+gY2‘AE>;l9EfH/''ՊDM0/{L5P8f^}m0R8Hre`5$^֩d2PDT]y$@FQSi99bPKwPڐJ,Z^mx7 9Z~i1~~7%lnbWzwS.0@ hqF9st//(R-AD3t wFz[F~$}0RE=f1x$.GIs`Ji~:P[KqR}6FGg\td{m!/UO_8B_>oSZ= U7ϝONӍn//,&)nՐ}4SB*j:jn/K#2ok 3Sd|S t=iԔڥ=_h૩ S ,H,a|=2Nw+29bI2!a?ԍYw״ tdhiBdKLI2'qT%ҊiA;كn_R$cٔ+/QJ(%2F؜#g1 3tv_s/L5Ank6e[N󭱺?D6*baoxpOa`uU@ EG2 \@=|)cK)mcĿE1m`ˡT>›1Njk9{ӒW SN&*ֲXSi@ (Q1@CE) 2P~VR Έㆣp 9 !av锡? t*mCœP}{K$"+qKUzR=2;:wۏmƨm/^dM3JZ/ۋc^ZSnG DoJbzWH\o'5) < h %DG˪ h%PYeÌI#cQټtˍJٱ5ц]|68IA))FC'E[X>jJ+B"V۴l~O %U𵐯zKn+47COCc)k;(@zw+M!%!{Kb ɣ!Oز ^>ٶ؆)ɬiipEa \;`0bh'@khoj|+mHp%WEF"qORB-j%X܌hi`R`?[Q ؓȥ 4Ohb`Lrҭw~qie.q.U9a]N\u 7 WoV|+kl~NUS2u) f>Rbs  q'i"^"b`׷z[:`ʼc9_`TE6v_V" @ǭf*7̔FxkpES-@2&O`pѹ6+>?{Uo:y&(Nse^Iܽ߶rm5X)do<;M!Nآ5=z>ߜFejq`0fP@lP=DF8t݀ݿg1̀>pۿ}V4K+\L/g?*TTdyrc`idF Sh J{x1~` $?BA뗿t/!7%Yn݉Ӕ':FE(@LC>=* 켜[n w47R=~{ 0v&hR HY-w|bnUTK=36-3*RB۸`( ԂD/+#4pk%p%͍WͿAO+Ԟ(= D|zc$'F 3>n(!DLGś<l{%p W_2 lI(,5=:78 6o?zmi}`Đ^K^!2i>BQSЩtظgT¾>.:0h)TpŲ+kK^vGeZlr CHRA2?1suX6o5d@/ؿQB2 e*Iӻ^y @$9N ;{6lo}wԑ[90Ӽm# 3 (%Xa瓔 Tsnx,Y:"G=E &\!Jƛj++-DA)  }(Aje$APHMH)>q28tW|/\#B^n,6޴ غE)#}`1BA~6e2@Y8(wF.(~Y>7m7YhoЎ{G-\DsLV%({J{ ):tr~wꬿs<93TX}jV?>ÒTҽk z[7ǞDSpm9\c3o. T`2 ryO,^̼'{l>x}]Jh6wH@ &L/T5f&[ԇw٭̙5QFמ#IHlxD,ɔ⶗0օTwqC;To,ZWl}mN$d()ز"!<=M`8/i@^ҹŽ+7Tp1&-U``0Z Wrdͦݴ^JQ8Rޮn*L;o2,] <]Y&6^q$ٖgX^U0gX؎3BLp=۰haHd⍦zlh[M+HIRY@ٛdrZ8 Fa.c~ZF"/O]њ/]bKH4;/&JjtGӉT`afH(yE. mJsy E&Q)6"1+/4o_0 *s1xL6.608\V =2Nef t,' ;HRcrd0@x&*@(uS?+>.3./XJ\HԢH.b79R n B 7v7X,a\v= .z| pQ@EJFqȮh|,Wz**s'X{8Lp5&1bw_.mY 1%V L}D; 2)Cɽ !.r {]U菿+bmh+.ZٜNȮpSh})T)Co_Ԍݳ+wQV֓lbƥQݓo[9Ey\-α,6q)Qt F yySFB|/KZ^3F(w1\yFO-4{-g$鞆L R _@u48fս tXčצ9b^2L?nz6<{V̰fߞI#3\5Rr.o9=\m%TfQ8dĮw⇴S2I<,d^R#6d0ȳ|ؿVbuWXX;HXsSصdCZ׃ WMJ #l9ԄGep޳=3o}Pw|ذy5τYΐ艜H(gWZya&L^a%&қRt>+gH)Njc^td҄VZ)+ι仧EŒc 9O$PfJGyzy@z™!y!lN_p7dei[q&#_npA0<~EߺGrp$^X⼳piVj,u^oi"k;uMUˤ@3#v˺%!':IɌp!S̞/Sddw}ۊc{(>%Z,J~H͋ϔ} :yx I1~a'>9w$;;"ŕkbLw\gUxد+HVRHJZeV-C1lWl>5mP2nLR]IC.Մ5^̐It2j+792)${D >񢹿dS(bh\/O¢ekm;kL XH2_nsbU?u0񌡞1)˫OedT똑lOD`:S^U2hD*~δTtyh's~ k_yKX_n^9~]Dt9>-,iiMBf[BYP3#<E RSͅZFsݕ47-˖Z4*jpx)lRY] d *042 T$Jj{, q51P@)oH8iOc{}v7%Ɂj>4Ds_>PDQ4KdJ N_gEIxKd&Ʉ0fSr\[߾b᠏F uHnU=j3F:@ %Ea+gbF]/}?߻v3O\p$bޔfTUńK' &RCM`;1dɆHMTB58 7s~vg翳[;M_},<~2.cr^5o:B\H ~l06`:mP+U2ZC`؇*]t뿿{G ު9q8F4AfR1Q٣*$ֈ @ؚrt(MMm*QYɹJ$cpdyd٫|+k 5C1f9>޸ϙg &L?L25hdl25hxHUB}c̪9;/(-2DY2p"!^~ak-҉4Nk\"VQeܹA!&115`TM5 nC~)(FV@h{ydfy?,4)**Oݿy^zs1~ফgAqd҄t\٪^f0eeDElݝ 5 JbvLW5Cr 7K {j?Z}Uh+[PP0s{ wxq2-AA!Kt$WF+cMj' *L4َO-_U.j-{9?*5mP˜C+ckM)v+s;Ij2NJ|T=utQ҆! +p=q1õUltt' =p8PZ d{%˜ʭE:2xn2Yv?dPo7yЯw7+.8ch+k+Aƕ]@ǪaպбlUFuiГj=% %QIìU4G9~s[ rgo)?gbp WEaKb R INˆ/W8 eThgqH ,=6"g+OqMڕE({Ϩ4[ڬWܜaaЀ^V"^Z-)efW g= }u ZRkITYx'KA.E0c0.Ò6vrElOtQ'0 %ӿݭg"[ ƸD,|U A;n"52!"kJv)ܣO^Aqhn8~"F)4rʶr/ӵXR |G n N93M[e8BcsK %m_6Uǽ[kwvn?œ)kzL=}+?ɥxrnnX@'vGoR%E@7ȼEhT6Т$M[;{fn[a}{ 8d TӪWy: Q-Ro좙[yy91&e5mw\==,LݰzqxdUzo[";t:nUR`}6m? 8Gʪ1nDTFC\ k. P}v6ݽ2wTde:cŪwD[Fpgj Fn.}`5߿+IaңYj⼙|2uˏ5Q#aJKp[rS ef;f:kݓUq'UPC?M֩=vݿKk?|Xi+/ X\Y>*Αvױtt*H5&rVc65 8GsCs߂S[(Ԫl xenuW~&hllK';3=ʂB+AФ,"( X=$` hjjk464BjR7dEPc&Vt7v=k>/[w:A;;< CQSЉ~F #LO:,ajk# OM2kYz22D2Y t noI,?z`3/qZm+Kk Ѭh#\a|38|O~ +%cᔤ<~!#gG+̅sOn];O0K[VaHZn߇}eKD!5KзO/9fgK"'଑wQHDg?IR){w7(-KcK7y7^ԂMk@і"A]z N"$9ER fٚ йS[uݿ=;9XdP@3! WQpLz`6E HSZ0vs4cR͠>d#+WLA:b὏sLh.nQ敯Xgw7\'IQCy6R!᜔O97/4p23 u㼇v *m.COKݻZjcN6Hv2!%2eתc@uA^ ![dDqo{-Ģ OɽTrNyS|kB*>n Q9EndBr空i`,&[݁`di T @e޲U^^e"OhR>G,RdiQ< rT?ĸr[Rr[Nuk a~J̷zFIsQ*i$ CR @p4-{`:i4H6%c*FvNJ#X*X1NƆz~AL _ ³J~e^-,*Iw(ܖ6, *+<`uy $)-Bԥ'r +Myvs襊jxH K.(RU+h 朁t.$PQtIzTA1+g8Nٿϵ'"X- `* Tlύv*R*4O3Wʠ]\T}Gej Qay $iE#4R&\#[LBU㋒)ij1-cr"ƜmF;Rͭy,w*'jT"H<TgQ,in ,= pr22RoL?NU$S "SozLU*t&Bgbgfeö&e6E¬Ba']9{GSH@ Y-ccĖgz)"#mO62j0N2A6еILiP ^5!hYX@ ,qkUZR1rZQ!zsa1pA_Xl,p$8wI9hxs@OJif$'\H2A-Ҏ,] ~c4# AA3੮jݓ#0CQABƟruR J@<1;I'7eR:HS+SA_dyeS\X.EH4[Pt7; I|= ǚŝdogqۀgsG-=aUR%d2蘈J)/*FO3̉/a)&Ai-C-cWj#f4"!9_MHnzn^+/[g`+\Tp+1:) YXC oe7:~ ^wN-1,]VkץHB7[A@A:(rU#(HL&dZb7R!I*9;&p!sRTtNN/[TҙH*E XU'(M@- /̼dw;dl.=TL-{URAf B mZSWu|I:hXx?#3LK!,I)1B4ކ!M/ѐyP\ r@ʲ@,vշg*Cs{oܸHp_Q`iW\P:gҬyb[ ~჻7v>@0pnA\xZl*4h# ڪ#ܾ+kL W?hKӁ$nj:I1“g̛$&1'bƒ%4ڝde&HCoSԚ3& mIbji1|H :;몧x0h4l n="PxFkg΂@ΜT"Sj70WH+IM22}ҧcS^ |3~Ǻ6 N0RumEbQ0}йϽd* `(P='+޺kV9PꜰuyE ?&/+K-i<'lG5{=|;L@Řl~ RsS}GfeWHYT3&U-g<붎.)]'*kOT=aLM+ ihtj PQtcNˋ1J:'N")WF)iDL"M$50Lacs8#X:U]ǀs*jm`ssQГ?|i[E FP\4\0 Gsb2IQH& C_ȤR2s$ zsT4-Qrmi^5.TjN&EuaVhh9"P){&x#t4) |{u* dQBoL1;TIt'5fS7K67E8s_A܀ 2dSlkp7f 0ߩVj@ `mv9J4(l$cۄ0$5N`"&T6+I*:.̪yi-kjЂ45El.[K. 7jBk,-) "gUfPjK]hN~0!EF:1()-C?8;s3Oyf(CI v+JsD^.T?KaE7u+NJ{]Z$8l\:YU&4LANmI( AJ)wӣNdˎb_I$ZPڽ|Cݶqf뱃;c#jOQΝqDs;iݜ R灎sU+\b"Ƞ"Mi%vo+3Df[rj.mwQ8 NVږ_DU5g&plY2RD=mEEJr :v֤< ]qu8hؘɪ_5i %ahtl+v0T UOLU'aY- ?W7|vDtiTxűI6P[e_XyT~h~+`ޯ?YP=NBa2؋I G߁{Cew ڡ.;3)ɢUp> }:)D3:adR=Gx;ֶ idy)MK/ܿw /̢L"7X_!܈g4 b8ھaI0XiEb f99ƚ5O[|!ʉ57ՁwRitJAME&+WFyM*1Vf$2|fCmx'5s gn*w =bZ:}CQM` :ݳeşx%yoO&gչ2.DSxaiح(C*VGusPՃzVHU5 @q!}5l)nKb q)n@9¾mkyKK6W jjlrf. [^a]FQԐv>C3=\\$Ui+ېt`0́|5t\XvpPC\"ŀB=Z.$|0?`sX&H)fg#;lI8/w~ mj//,ܷcݒbMu;)H$ӱewcׁ548&Ó #F:QUH̘+2b,ގBEV@RPRLmePkRU/͉f~DRӞdeo<~ Wm[XƾQ՟;l )JhHGlhqʃ7X |(3R_t2m;Ls%c4AJ)1HyˡKQP2޸yo!x&jxsC3 t4+.Qy{.=O2EE>CrE|Yd&ʋBt*S{wt6^UܱX}Y .,*nP? @.'׃3 \ը82:͓[C2J֯^mtLPcX&iTM5V\jMZt* 6ld^u| jǢ$y"PtIk!E0-PN?,l7?-nHdo0:+E $ 6캮@&N,ص F$iuv*RHuW{.OL~s ݂Wվ3kE%J[:MLtC je/WT>b{-yT1hAFB"/[%PCU*{}PU&Q#@_dMEUMcc{Bl[x!B&`%0qBV5*?.Fm/dMyl/EɃneZ1urQӮ OKU_ihGZA;ځy%Ek?K;ڗv`/j_ڗv`/j_ځվ/j_ځվ}i_ځվ}iVҾ}iV}iVv'o(W7tIENDB` f 8"PNG  IHDR-4ñgAMAOX2tEXtSoftwareAdobe ImageReadyqe< IDATxYˏG13=Yfmkي R""BBB$88pȅ["RPb "rxb':fޝzw{zgֱQ$k{ܿ_"w;WiCu:ڰ̃P&a]v~sGg`O5OjC湀TL :}LdYz~{vϛ^99'l~9[_:>ccr$#  :hFEٺ7=u/zE~Pz.8@Dм+(#_|9p!@CA,p.Kx~koM>5 "$1J3~B$Ks |#T|OAY+~}&e';ugCb=: t xht F>֫n8:U0@4my}}iSoʾW6#yodxk5\{qֲ⎕ON-aF+#cl1uխ!n3;ŏb 0¥Dm<'kSգmTڥCMǡw4vo3{;L3#@ &voNoy{A3FϙPO%dF~AA}b3 AmĀyeADg8Z4MYef6f@F6c8LM:F S ݅cz C>~aՅЇ0hbIxW)C> $<Txi-jÊ[U#NHCU"  US ^Cdʰ)h `ppVvw J\\Z ER]gf0&"VƷsL&?Vu88ߌٍꁞ&pMhh@0xhC MVτ|^cևo+KbO~$ Gpu Z Sz YphqKF#|CNA!`Nퟫ@ ap5e6 1E!rxT` ,*TDtz=+x41@Qn. :}}rZx)]ԃ;%xK=kxuUodJVM xw1CtG8>3U=vy-C_W4PFWmZ  <ʰ<2BEA眺(%63pGEpEa̱2i6:jg-O"kNQ4xTF`m 1͇21DOLj:kE̗e{;j ;Ni1#3eOI0 X2ڐILMM腘GS1L^Z>Zl{gI`WŸU;;9{X=n*2/W}bV |.gW\T݋篵ڝ_7 î(-PޢraGvSn~{.i:KzW_A9KnL'e:NQ70vZ:OwٱvM]]G>W[8<^zAF#4-ν͍[K\d,M~59 |/^^< 1 INLVG!ґyǬœ꭛wC;e&j+rKhwFw#U`ibSAg_ο?y `t!ɀ`bՒf$+ǎɓ|qyy#!# XNyH*1W= /]+#laRFA 0LӤP2i#^Kf"LzWKXZ:?jouU CuBvSv8HiYcf/8(̟ \ĒvsY5.2 ŴTU26@JȂdX2-JiuA0a[0^ p~:wYLSsWegA@ ü0YXyyXZVOr$wY"m<Ɂ ^L DY~@ @_\`LAIENDB`( 0 `.PNG  IHDR-4ñgAMAOX2tEXtSoftwareAdobe ImageReadyqe< IDATxُ}O{û6kgP!@@H(!%C(A !B\9118;[>v}}W5ݳYGH#{S֯~|9E\H0ȹ2Dze^Rݻiw5>~&}mUw]J>? ߇˲b^AeWvݪuZKnkvzo/<9<Uђ _qD7= r|p\<;&bXxr b|蘆~Rk1O[;rA +(7w qX, $0;!BBAW"7< 08?Ϟ}7O_dI~)Ú+ 6a6i όq\s Ax?'q"|Zm?~鏿T|e=P$@ oj5kY: >PȱzgNlV=q^0Acy iC`B)G6X:TY^ؙ%j43s+sO@<~ӇaG@kO䆃6)6Rǡ0*?4p6éw~)\!UMSmBi+)1m͂praMS5ś æݛ˃@@6#Mg}T"pN`p!ޤvҼ: ۣ ި}61#i"чs`cF7fGfߟ4+5\ոM6 <zav{+OYeot!ҜP9%;qd.w]ꃭ<\t@r+p|qIv=4UZͪyU1`0L9O0ZʃAcMF7Lhz}HGf76l`} Xm4jk@ʧEURli$fӁ<v<|a:>"$&f N}xVma\`COKyYnZǎ1BqpӴR>=`JÇ+kp`wpz]q`&ZxEE5<128H}|-ē&zz:."YdAI5pCmc肍'II+%Cd>H$OS{\\\|^_@8AQr/PIIp^dMX]< 6bm}Eu8fo;&g_*)b7Iح@ wb+@9gCQ4~@&bo4h|y {+DK%wf&'\*nj`Yld'#׫ҫo‘cgϤPVNz#x{ݏ ͆Ztl]Y]?6wkpdhr@SS w8pTMsk2or =>4=V=w?Z_[:EK!,y)O_Zc:b"v`CلFG4ԑDCބյ:,]z[|vǞ$Kg\&5))83 q)5djUX~gOG3˦g32;R\&-.YҒMYI,IJVl6WTURz??~t)K.Cဪ;.ض7z.`uXXD$B6Ikk/o՚k㯌}=V% YP4Ъ0 6-e<aBsdI  ٴY\s~.37k|w"/y?DaNa%`j@G?$ ,Cyqa>³X tSO%̗,&sbBLۣȦXmloOB=5={~z'>{yKLb* B~zϷ4VjOSB4393&9i &=@]3=`:=޿K*Gdؐ$ '8p6FGO6y#(*qT0-c.:~i/h '%c˷^ F,p739 2޾g ̈g8YCX&#Cz4v_'b,7`cmv&Q"b߂ߵ8/EGZXUݼȃigh߀=׼\(H0eqUUEQSB]lXhn9A#K`Xx$ 8{L]5 Co=n5^\h:9Bp,e?`rlƊyw,@y K&䀦 +*`vZ<5 :l( 08MqS޺BgЁBSOq4",.aH%ū޽u ά&lV%X/PINt/1P-9.zq/In ۱x î%❇a~8y{XEH]LDώ'aRWNP@1Y`Rp<[W͸q^LӪ ) <8OIAft`|4 DKN8pWL$g4heoU`4rPgA#I;X!Xp` ]%] ߉}E@^4MD !HRp?s'$\vH@KnF&ĉ *ba#A5-@70{FPlB\YE#ZtdXXPG\ ԩ6Fő";9:9rܝGJ.`訇xzAnt Ө1zmfabl)zvvv5lA" d'(!\Z߶m:2)mP&762$ЦaлtԺФ AgAj)20?<8W_~!h'lm&IliltP| n`w_;cĔ16M~q-hI' "BL>*F^{yoi8%Z]yl,:4%$|)Ɗ'O|:Y,,qiUgoL#T1Kaa^*;g/TLOxNc)ھ3g~P.bG$>[{ 4C҉d*Փ=p˃l;4US"rknfW1#0<ð(!VkByk膍NLvLHEFuA~#ڈj㈁D2?ġ{=ߚ>VmLuG5 &*ُ[ 4RK'`aS t|˗VBi&䈁3>tڟ7ǎo~|rδͽCtd7㒂S;յgϾr¹ > VBV"SN[ L,- "JyzM㓸qӖNjlnmU*yAUXkS 2BI|xF!I ^dZ5@k~ goո&R w!°>̐PC:ޕ=([[Yx?@F,tpst}j|dt|:BvYz,=:!C>*i쇐9?6 D`A%733 &ׯV710#A_|+o&IENDB`, X 4H`.PNG  IHDR-4ñgAMAOX2tEXtSoftwareAdobe ImageReadyqe< IDATxYi~9>gkb sQ"%JD"_S%D"HQE 8 p@Zg5ٙG"Z髪ϏϏϏ}U'D2M+yBU#14㪶mRI[tc՗~O@?~x;SXl"O.8:8BX*KV}7_+/yϯA?~bLIE)W\ua9`85=5 †' RIRq堤{z<.*ɮs*=yř3mη'S9ËO^ xkeึ=2M9Gtu3_ySB+$,O8v֍=o BPukwJw6FyDnoAwȝw{GHz;ػ~v=7|fP!O+}(t=<8W9AU!ofw.QGEF:k{},3!7QL}׭@DmNyFs?aRWε^YViTsA+I3qXTBDLa „3zՀn@V5~:9&ct}@s!bf^Jdu "1jc|M h/ t'AUd^voT_ʕai- +[&T2ZbglbZԫzYj_4WePle! 88ƈ2@!J& cZfVa2 uu;u̷/mn)R1WDZ1Е'`zCchw pYt HV+}"9]+a t8yimE3c.2?KKK % |"^aey"`]"iߥ3QL;Lw}g. L݅lV?tMѭ,+UPrѨT X/"P5`8g%cR`P.W^lԌl:Ƀ*8[8l:KC;)سg~ \?X|L&43Li(|&$bY{N8pB9YjagYPOOʣS2i:8鞴x 2Ԯ.&-*+1 %jy]y0Īe0SsC@o>L@>N z{{wd6uyLu Ä+s0W[7~ - ہ.s9*.0nasc1ZHe-YԀE\,ZEۺyr1[D\1#q9"3ϱ{nрN/ 9h?33o 4SXj6DnT00򕀏0mcq6.]bfU#Hv3o422ܤ(=r)71u eDO2 !>1 3'06`')tٙ 0^8Ւv63p0v}#+++,BRDƏ'QBx 0/LC5ty& 04Ǐ3{= `pTE¬5a$٢ӳ p3000k.Wg2[ `eE@Z Pa"<<4+%4D .w 30nfg/ٳg<c r]4(&_Aׇb>D5[f ,[ꮉ}}=R 'caɣP10TS.FQ#gٌTT,P(8=rë?)D m5&,0Yk-FiAÒ%z/8닙"sރG<#X,zj&p]2~lPA?ޅfCWu335]kv+X}GsJjȆzh)H12ói ;`iy>*&(Q4oGWjztg#h%~)j<#=j[ja5a B.rh:,,d`3[d\'!A\6 ֛V.ՁBN9t xD |{d4}$[0͜rjKַRvdaى*70CRMW@àVލ0|vB#FvCV`״*4 izuc kw0D픂쿙ZMCE?\T /0; IENDB` l U;PNG  IHDR-4ñgAMAOX2tEXtSoftwareAdobe ImageReadyqe< &IDATxُWOmUoc;cI2ۀ,r$cHBbȂ"_@"h5!2jq2nߢ8LlrJINyTCO?HD.#uO1 6(k$@,bQ"$]p,b[{y&Ft7Z؏>JW'4Y.ٲ7dJLD!A6*AcrݰRj k2*K|,= ^=u Z/$GppC}p]}ЋdY^^+c4Z6 pk}f V V@c(43=p&+M+Π<># =fi|FtZ;(~P$v6g1 ȵ 4/1En^Oʆi:|ukp}Б6m4<;^ |4lK7@%# Yˮaq3kM,-jU $-W6`'߇'QE ? iF N,6=ı{ 3IYV0 U0'>EA R"beTw'v 5B컈Qdzzz^n M$̂Q/=h.4*uH JSk̈4# 0Sz Û3}IXUth7XbE)(Vn͎b~]3M# q=uxO0'@uyhh-@-iuj٬O8i*L\k&`p`zL6GrfxsxhyPix1d2]]h$% z}R$}duc*aumRN8 70<  z .B=z֙`@튂d+`A֠(PVʘxh93BoM p(W|Ј͠x蘦U f9CF^XR VWWEyc)MGlooCJ`: (5l0.p}4E6 mmmf 9bn'AK8 yIۘu4vvvnX@PЂYiP*Y=kC7if4,LJ <UDPU D ;[5ǿDD"˗sPeR79"ȼN"z`nXB- }HP/r­0ANOOיUԼU]'IF5J-\+[ aee3022´<559,bB~4Mq(#j&BcTmVݎD:\ fNd2% HD8Oв~D}iK͟1333h|1fh>UFGo[ݼhT\6;W&b ;wŽ;X,lz7ffy?`ww7l:77ǀza9@@2bj Hs9L 񯝟8| \6 .\` }`$˃f$Bzhϟgb޻v!3r .4RruǮTl09(>8q9tN•\ G"aj1929WVwt0QEM }?o9 &[v%B-%'ҝO<8)}OF`Gb%ȣ<:Xe3#qE9o>Bb=s0F1sl!JkC*KkTzvДt[{чN$1(aá=FcVu}ڨ!Pىj녥x$\:cc%3ƛjl]-Akr8K>ȩy9mkoOC$7,ˮTb\\[_bi~q~zksgU=m/h:]޸nc5hkf@Vn`dfe/@|Z"XhV@Ƿ=_d{6[eoܘJMlؾj?À[VxcƳp1Єn`'9agUhhp}[Fx&ggNk2onZ?7?>yBIENDB`  c4HPNG  IHDR-4ñgAMAOX2tEXtSoftwareAdobe ImageReadyqe< [IDATxYko>svb$$TP"( J-U\**QAiKiBKRH c'gsޝq&.RDof;;ys.~pǎ? J$<U;d90QM-84͹R\4Ԗv~Q%t0 E#w#ʘDS q%%$AڄP(dBrR)bCUOʵʵ^x9c=&(axQ@lY2,0M ,/tlMK0 $hGlSJ/i3#?z(K[*@] 1-9΁> 4 hp$S$QD|=ӟ o|C|nȠH љ@ 3\<$LJjgA㓊)-;>ԹуyL@DQ@9HZFXj_Gh" # H<@ge؟{)AP1=DJ#(TOJ3MtDPk/!_n@e`hW!2TsU8~| K[v~䗼~̔zsDLP:hoL.^q⻡''WMNg1Vzvq%wOU.tw)p/@腑JFc( Im߻NB'I%5hD|Fn:vfwG3]@`r2e>! ݷO" r8]5߲RiBe#aN-𦖿/}gd'l ~lCe**6F(]bJzdBfeAh']5p~)ױYpٱu7a únv/ +J%IB!_km|< %b{Km491bv9hQm3nLMJpS`vAkkk R nKȆS.t& '2Ѫ:g܍iѨW ԛ؉&D \VF Qb ȶ' ?PhP)fAo5uMj'ɧ!"0b1+3M|RXrKkU*izC&l7*Brda% ':o k}}T*ʣ&^wFR 3sÃ犕rr7쨖 @RM<LO. 0rǹvnlv7 Umŋ`vvY(UPAz[eFQMtm?W%XϮ  H&ɬ+^twiPt]Z++˰f5 d|CGjn]h\oOl =a6&$H!cQ6P܆+` iZ4lB%'E'dzes"uÆHHV.ICCTXcAZѝÐ`ll 9|M(+DDvWǘZ-m#vP@^uX^^!]DFßAjFID֩a*3;[__g̤iصk j0#} hᱲc K!SElsqf=I &}a 4c\!`2_e$T/c׫I&:+W0FGaQ8s c`_- Iڶ.1 cQY"L4HDz!_ZZ(d $5EA`:WS,(t EjffM|߾}P*@5xD^f3#L_Ja[VѦ3X\\d)lX aE\.R4L#|:Md`wBPkDVvKmԀYDh}aϞ= |+,.L*ٝ+'z[H&'/e={,erfV)5;vi6 $hxK.$򘢃N ЙDJIk:(HsssL^}M&7ZXތ &.$`a%|i ._ !+++,H2v8pҲǶ:IL!;|0̩SXO.)p6$ƍv:g~&82y!cEfttX,b$ `페\bjj^XX`Ұz W1A Q<Ÿ <44sΟӧO3#)/XbeurL&:G J޿pu{g8-p:26J#SӳKC1/,.-BPM-0ɅdBt0(/gqȔxT޺V [D@[>0ܕپl2BmD8=~_q- -=p=w`ʃP9'd v)yRXcد g/Y`6sscؒn* ^]V% :FTzhY0;BJ(pI26s2PZU^Jx~#3 P8 akٓ'If<>YUte{KЂ :L}{|䃹ŭ( q;2CA8d{zP"d ̅ 2dTH@C_7^{V-]5wWSensA{Q<$䛧G}bSp|lns9 BT "۳[[]>wsϜ\ 4}>iliΗۊ :N#8x{ aP-ogE]hԖ>8wgQ'm@+tDzѹmW kJyxdѱH8ԓI(D VRYXYv KXwY@7\oc]SpO&!5;f5c4hOvq73a's뿇cOܛv6\% ' 7wqg)3$ر}h~Pލ0y|#;'l>:'9cgUǐ훼`?/hw9[\Ip]>s6?..ȏO_ 48IENDB`whrUPNG  IHDR-4ñgAMAOX2tEXtSoftwareAdobe ImageReadyqe< IDATxYklu汳wsEQDI5#ɮ1&i\ Pn~/-uQ lil7diSEkfw=,5\-)qGؙ{s% ?hDqu*+ay, H(xزm{Rkڒj/O/_}CDd\= AD,J]G4qp^jʲ/Vj͟˕w_}sOy9 ~3RJn 2rZ&DۂY8Zr \)QQ $d!v'ۅ*3>q}r[F6[ș<2JPB.-1M d>Uekt6*21C*v/};/|"M_*JkU[Ș0H}<\0UλG-[/Ё@7׹6EJc.1X"0`k7Wr_m!1]E g o|m1&[mƣ[Au,eZKxe Cf/ Z3ME̟Rj!qB_ķ6~aSo P-}xދbHߏ}Wd u<۵`Cxx(7. m" bG$ "~f dY& 4FflbW6tcC5q>Urh3WWnz쉯|V?#r_ $n뀊.ba>}8Tр+ ;`wg5X?qJ<Ņ[>E8 DĒxz:tB+ezkvo EoYw}~E8RGA{ T:_<¢c2g߳GA-oy'.yjǾs u\o;(Q$>-:=!}`=εͬQ4xG:c,k }TLJ:rX *(*vKMss;rLW1-@zۼTЪ!WQ{RN͂,ౕ+'G%2P2 t;$J*m+CYĭݮt>F܏i2N5 ;PB;cCcwܐFğUĝ2ݕ ֵ "VZ[7L#1g<r#Īc̍_A"P3t8(# K $NC's}gggQ*0MMloՈ%ҧ9urpݔ(ZO%JD+a6c;FVe_GZ2,.KԺ(fx XRVku)Uף"Iƿ 9"Rpi0Lײ!R\ܪ3-$I=3jK,nhq% 7MfwB%6_z$u%uoj0uT[¬XEe]=0 yVbX:|<&pz GÔ*b<Fn!RF$ R6A+hÚm!\EB4/'2  @wC42{@ G>_8~t|55H R ĬHm Ղhh4TlDe 9bgҀ0>6u2yȁaX'˘fḰmr9l#X&aYTbR%a֪hs yII$k׮ˋJ^o4z~qmb"9;|;saЙ%񥗴# `qDJԩS1> Rln,DZ,tSX^+Gfq9;Y__͛79L&%EfڐxFs 0-3h}Y>iUC+du)cr^Iƽϔj;޿s$:][.EɂO>2 cú3vvvhwGGr8ޚR<:2o^Dnϝ܍y\t>;5y>6I잯ye \p_: ʵ&xPD\xMʦY- >$Ybphl쩧}`HYi9ylQ*Osv0+|m&bvMaEFF% ?;,Qi/hc}SÑXמz3G>]9vIcQCiptExhMb[%]E߅2⊁Նl J$"|⁇xxtjZ6P N)f̻^}XM#$I!Www%@7WB l}Ъ?&gN~zjt*50a9d:p;vĦ"#hm鹆kե;W_ 7I'@/.fewKW"!d,tkU!whz`nbrxddTE "Ks MT͍k< Y|f`c߭^!+ht x2?կ`l hٻj Yb; uD0,ft|߹GoGh/`g;`|/{} Lپ t .P+3t 0i} @~? =;RAn`N}~ܿz7,7oGAO;>@8Wfb(نIENDB` d cPNG  IHDR-4ñgAMAOX2tEXtSoftwareAdobe ImageReadyqe< IDATxoWs؎TugZU$TPKK j ;o$ZBj}@yIq׾wv;oι1JW^wv~{Y}7x'X@*.D}b<x^uvL^I҆Tq/>~*_?D2;N%Mw%:HMsIUq;%^jeYkVQϼ³[s}BȦGz2mȚ 8.<kE\oPX4=ir8&55͝bWՆW~ˡO=SL|8q )TzgRQHQyx'8. UzCBϦ#O1K;_xn 􃧾;OG#ȡZc=0OA*e(1.tw_Pk&!v XުAB". ̦zjDHa"N"ЗM tGgacsAS,:{' ATf0 B<GKEh0{a[_Y~ZpRI|[^ USM]Ljޅ|^]l 9Xߩ{:)-w[;Y{kBEM4\~-ҨWVۥ<֤ZY-ceƅ{QaΝZ w̲\L@ kU;r Ξ= rR44JXٹ[u ӬTݪj066fy6N` a`WU؀h$ SEn@U1q%xESe35AApR"e\&`k{ 6qM,6 74@QU( _Py a:(ElC4 V-cGP,8>};v`{{0]ve %=Y;6:]`^nxtIT 6`[t4}pmIFFF" l21q5RK8 4,3-iXDQd@:kkk| &''q"Q8rN4K. #)o#桩5-{SjXTQ#$T,eڂ+WAzzz<i{O=|OAJ-..BR٪:FRC)}]ض$ѤlUNV!oSO̩TRn`6Qm=NjX}׆ZZpd>NeK911SSS̗T;ocb0kBa -(MDtϟgSHO$7jjnq2 ICPto(|2 "JS5Zrp7)о5-ua},5f){VK%c pޣp߿1X,rm".;#$@ ^YYaCQt A-.=WVw`E:|p9H144_1m~KjPpEe"ofSq;=BH粉•ȥpnG>R.A| pdc(0E%jl:rh ٘o絿_Mwrq;=!`:L"?詟r:\mpɻc5EA »bOd ޾s/w߷FF)uP A6pq/屇R5A6A\;7 gxPr]=W;A'}f9|!L YPnopXXs7vq WQkK+L故 *O=- ŀqo2!vR7:1<::>?00=l2 !JXolonn,./TxFGG\ܷI<~x1?Xּn4ff@Z V wA=@>i:ݴ طF7o_ܺ zU'hAh (tR(j'BN Yv'dUhG?\ ,%6NVk3 gnZ跹%>>Eb?IENDB`hrPNG  IHDR-4ñgAMAOX2tEXtSoftwareAdobe ImageReadyqe<:7*&.锠 V*BzoȑTjRk GPxSAcȺhVtʨtoAU؎huڃ2hp|zTsy9J>=zE|3Am @-BKkmn Wq PwIwPoc hG~պuMtz*Mt\JtJ4|=K6&B; xj|F]WEߊ7]aAk0Kgݨ!u9X!X1YugEVK&[6ރV+<*Z>NwT?HKχE͟7g6?K4TO8/>n,ҟĕ]jzEݐKp,Y?g!o7.n.ysA ZC'Um/&_ b)pMgZ]F&fbit 8мިl!Xe}04&9-5/k*H臜־u - +xxao~k>5̭{XM@fElO+f,|!2YQ$=zѸEn}:Ab[aPKǦ4VYdrǮe6Y'$_k9B搗Gk5J/bZsl|:AK|wyC[ ppt^ƒ{M>!xIz}6 6 :;(䩋tq&nH/33R'@-K aI5z§8»ɻWR_FN~7\G&S_} CV'e O~8"yĆc0]`i;"!xYU4~"C00-E,?ס[p wq b:_hmtA`=UX`b\Zr %drZyӜsIKphf٭q\\f˻ntD+Rͬizntq#]{v;,UУ%: w zȧuA`uE`g hTM;)tf A+{stDęW 84h7-Qđ ?W>IBiIENDB`rPNG  IHDR-4ñgAMAOX2tEXtSoftwareAdobe ImageReadyqe<.IDATxoEuq"Q$Bpĝ A$C+(-M4]޸WvM#}5;o̼I)&-%}FctBP+~UT{=Ѐԇ T @ bd%PxAc/ȪhN4kTS7'*l[t@=hp|zh< ^&DAZ}> 6iX}u 󀬋}ZMі!2 |=Kz.QVV .U+w;Uã^. kh%[Em =@; 1x !Oٺ E}S%pME}'(z ixhvYX[Xeњru>--Gt߃ Kx|)\Bv߿kab[>|A5Kp5|fCpJ5;Q *0ew7"yF9, r}'p4 t1 xy-%b.(@'& nh1K+:221K7JS 2VYU3KLcb{%ּ;f U^}51, -W"C/GC&f9f̬{XKy Tic\YڑO"C7}"Ћ-2ӡuZZG Xe!xF/cHSxO4:=Abf #diyYDVci"5˧;iDajDhSrv(]:8ҹn!v>RػHop7LsD{PscU$ /D7d1}''5{yBsZ&-:G`=UX`vb\Z2 %d2Z>@u HW8FA6á=fNv<0[ 97q[ۍiMlWNh&B-# G;W@{>ٸ;.tf AK{3gtXęW 84h7)iĩ dܕU`w IENDB`PNG  IHDRF(CЌgAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxZnAnwHp_?8$@5bIlK{B*(sF&]fCSBO圞7H0ĜYzHш͋.%b D+#GZGhUYq*@*Hygix-UIib*`i31~Sb~RL%RLE)%kZ1ycU⭨r}111kjRvs$^Y1x*&PjӡMPd$btk'ɿaۀo5UH%)pͻ.KI_vRUM|qy䗲WEOM102(bj)\?ؾgtu),By xlQ+m+֐ :҉\șe'H.vleJsw#햘[bn##̒.dIENDB`  rPNG  IHDRF(CЌgAMAOX2tEXtSoftwareAdobe ImageReadyqe< zIDATxZoI3=c'Aq'KXZ®XVbB W+nh/9'\q]«$Nıv泧?uU'8+ i2{{j!յr_A W?xy8Sw?kϊ8ډ$HX t$A})tI">8W7qN:&7s~\";OEim8n}GEEw2)PG'Cӥ N{{ =!w aHs?觡ȥI+޴gjX@U6PNOu 0T_zw]?0e ^@R-V=+Hp9 EW *գ7o" >]<zA$Yq085R $86CLYGub睙]c1s-ޔl.-| ZPe(4bQe4;8'rưfpሰP&ђi^ZW\?~"٫GjhLZx6l"5B=W}> MݣX0?L^R] M}1ZrbT;e3;`ϡX7#,"O%ʉV>'+fֵkf̍7Z%؃lT(h4Ǖl]6 2mM68Jbԩg?y5&՗+W^[\(`iHk'L۫ f9] v 1Y;6o,eCsz[VT? EE60'ɤe{=[D9*D 8^91Ap8h,'FbJFDbi fLŮW3-=[$`W 뚋|Ek?L#aج(#-MӴcq18 HcPfRl>=,S0}v]^[[ge\8#I69& hǖMvRF)V ڒ(dw߽~ʖ0&e˵k;]\P27IPn !Wgʳsh\\S!PΖ { x&F<.,[)ZyVeHCA{Wٍ mWGym=GU~\fӆRʘƛaW,JP,«@d 5;eH'GV{lYFPq2Ul 8lJ (4 5ߴ9tVRCLt:i m N̙CH+_MY§m\veD2ْ.Mu'njG~|Ν?Gj[oݻw [67Ç}lS%AL$1Zbu=wQ~wbR dYbW^]'O~Wvg jС#(cau(R!^q=4i=SoC,jU`kG20[P6ە/n$ETzu(4/وw_8`8ڒᵽA,3GLF0 z|?77p~K𴻎@p ]9b= 5g:nmCt:B: 4jrJ,^E4to3|єb Nh‘E pm30=l  a<@Ǖ`q"4-Fzplimʼ|O6b{| `XPMdOd71cd W@T:O %]Dx+yB B!;r;;`Q@g CVIJ^hu0ؒ,#lva": 8au-AVJ,ֈnǏZ- לyTˑHSS;MhKKKYe=xDR] *z~$d8Av*`iL}Ի-2 U kBaѣGbkk=rdz}ɌaaP|lUl5{Y?+G/60g@ߣg|(@EkAIc]'mgBuԐ09IΤ}b H/ 0PP"Ќ8L,9SP>C{Ph^bM %b3ehˇg.o09*^2 &gѥmIENDB`y7y PNG  IHDRFfvsBIT|d pHYs  ~tEXtCreation Time01/21/08t P%tEXtSoftwareMacromedia Fireworks MX 2004vprVWx\MlE~FT \VrACD}(HnuŎ=q YzC,ho=4\^ޛuloRͷ{3{ͼ׻?ݢyoVlJ|WV*Z|Tr<"zǕ4uh;WQ,,,,,,,,,,,$9sNb_cw4qRٕ Tfq] <ByǷ 7VfJv>qQK7?k/=X"#܅ڝ3GjlsQ'gZ6F}ya_Gya/yEx:HmkBF)3mkTSx][sFfq$˷d+/ڧdp%GQ%)CP@9$+ h4@@ɁI4h|w. D~sX1Ca2|~!>GMcI+1!3L2Iq7g1!pg_g.S| Ry%l%50V10s0A>Typo{ t+'S.Q5Ք[5gZ*C#W ci:ƥ1r59jԗ$b- ?aN@Fn"a TTźE q"Һ ejG4@/rLkWkToG1z ZNSP1>qmN;E#ޓOr6DR9^IW) s9f,l;pCrhj#'4?B7 XN?O26$$sBoɍ%D%Ai$2XN:w=n5 p'h41[An:Ȟ^~G3Ű&1RfAzWg8J` &d1\`rMn"Hܯ](E\2fML6 ;ܝT6s\Cvb$#J0牦VIk%F@$M5Ȳ)J#bь{*lEolDb:1ɤ[ӳ_?$J${R 7bs'X0B`uS(QFhĒ҉ 1|3F!?^Yp b&+gjs:Ӆژ爘^a2Xm̀lǁl1^CbC`xL:)N'"LU1.ϝwȕ3 TT E)d`RSnG^SN\IpN [H2+-0ˁQ3ŏ2_QKo!3S{+p2 yq9(.XjuwZF8}>US~)@p.)9Ot9/+$^6qFo2d@ 5|>Ib^if~?3e -.[>P,nb E/m[ a`v{RӟˀtvQg|Y88/ɣIAaBXFX88XR#\%HFs6Ug12k"(iqMLOYhsFF8kXS9#Ycer{~{  7WMUT!ȢxM+$CpQK4A\0,aHb薀!CSæ~jB-LՐJJ6z|-T86IA+,[wM|jd.4ba b b脡 H(i.! ёC+]kPAqL -XZ<:Z )$#oÔp\Ȏg8 0P櫧S¢/{+ Cz.?e#(Z7n2 !%=ba̷.I ]h`_kH:*DR뒕Z!\U"挽 䀇nwDC,YdMH8IAU$bi3ݖ䂏.'=1)(L[shjBy0i4&"leⳀQb4/ EQQ:]E=lQvA>Cz<+C+-TBfM _Sku `xVhSwzM7A\?\`j%!U–VC>(,(4|{1<6SWxr>"Oʼ|]߂<;mKa$^f&Kk㤃E>!%qv)SQCJ h.X$ה,HE>t N3&dcޥ8sH ?q)/V^20wSNV-eb \R5xu(KxυHfbSevr ̺7 $r"RqJsIP5\]HqC= -:t`X Xk0b9ϬYK:QAh>b̵:6sq|_Gً t5~  .{ŊJXV`kSWoG[ u |bJ*kfr+#\n@ƃż;Az#9/pruDZe$D @_&y9^=R>n3/'&V2"P*Ǘͤe*#G\Z2ŝG\>3,[LZed˲MW2u19yi+ p b@>yr23k-c^zIʪ͏g_NZ&I-e|+#0^wS|&9?ѱH&H(4\8X~Nj<ӋeG!oF⛙6VصR=^״bdHRՑ5guMv746di-xvXk5#0FiFX٠ftx?Rlºߔ<70Ƿ.\ i,H (]1vcQ(wR'\ pwVw-R]pM)Φ@ Mvd{@=U) &;fcYFy'F0,::Y5kѦ~̡ƚfh[d)a,6q-ei0`fΥأB}iok~#SLYoZM hl{`̢چOA&xӢL6rZZFi \h|HɵQ\ie(yÝx5Gb+EPNs$1|Hy.Đ ~YW׾ߴ"Fjg~YQ"+HA"1bN]:@Kt[M֑=vnfؼ@>Ehu(΋M9rYg=k+]J M(ֹ\AW} (>m96Nah7֧ v'6)0k[$}^pvt5̔&6 ~TEW~OxlLoXjT&֠n͟.(jؙ/iWԵ (qᲩKf0k%\sBN,MPڂ>=#)킮0W{@?0Gd8ʥ)!N!iXͯz;| z\)E|Ai6mE9"KoGͥ4p'竲_&ZЄ_^f, ߌ7Lƞ?[{4>A]/CWw/5(u}#5 j|LX څz5y x}B|[Nez:ks*y_Vt(v~lA=~k~=O}ϿO4)_rgEw|"E&HG刌'q0y$hwN !#,Xyo.0~^Gv־#>%Y'eqHY)OE]OnFNugֿ~֣̑'-l c;5xg "LӣUҕ؟X2PY$#wudoQR&%Kn"D;]M.3jE(F,d\bYԥqJ| ސVW;2'X7V̻Iؽ ax3{?nY(~Hu3kmahrDw0t\*?__Is/R賦ȕO)Yޚ\/I=7}ǯHϒ,kuג)2Vh8y,7V<+P]Kye%:+Qg%DY?qG$<w+b(h) K\Ai:8W[4PlBuR&t/* iJ2 i>[Yؼ-u=_Y5h$Fx+gRUy{Sz")MFxT/*y 2O>V:HNhF0 3x~IidY&Eh=8E9y6*bNxHxcOW{)_ֵc%keNk€-c6 y}(; Z'Xm]Hpt cILbFW&1>uR7ä.ytohŽF7/-? G#ʬdq҈٢AH#tŢ_!UiJiAVhKm<(0R |6ypGRCzP7)Zŭu2Ee}DzEݓq%[T fdLLم!!w֚jYᚁjd#LOS w43yJ哾mH rhR>Iy ݠ("*cNH tvJOS:o7 @^eMb^e ×~3J_9\)PW3Wwɹ8|=ǧE5 },lfaڳ8@Aox3k3oѿ˾AAeCy9_;r:2蜍fjXtpN3 3-:t`X `}3 ot >c/hOqg:kcӧUw= 7ߣN{$=wʎ  `cC>+:T8=?,,}{?<Dž}bspڄkO9=sα谢7=8GU ߩ.u u88+xļPBc*Pv|+oף/锓S8{ p^ ??8g~DzEaoyPd9G~`;ϱwr3Wll* EַJXw㈼}84';ɣ#Ѩi&kcb1>9A0'p bm>P v96RveK:>eP<!k}谛XqGڃ:@ߡбΙAEWCtuVXAiiuφdS85I3cóX>}v};`ߺ[}kMm`cgdxءJkؿmiGꃡ6A2o}`u:r;*;bvM9iμgg4FEaoS1i ǿɆ#- gsijf9P×V8P6\pٖhf]@[c@-݈dBkg]o j $k;)kQ1 f^~ | ݹg6_c6_ͷi!ӦCT#kV2T+:\ѡv<P~7:shĞ9{?:o_&mkBSx]0{5|Q_V ؄&MfЃ{&;;ujh>u5z/LcFT яjVc{AZڔ^p u9ZҀ ن؛=ؓmOM6s[ YN\f_sgzUN wRm#%+% cVC~:LBL :\:m mkBTWx흍8 FSHI!)$FRHnw HYx3ꇤsaaaaxIǏ'U{o_ھgW9 o'GW {>~Jlo߾)*/N\ϱov[iZ_ձaJΝ/:6O- 92b?Tlk%?_21B sY5>:>c=1Ow y^- ڶ,XzusM#גU]>H_yYv!ۉ_mi Rus]Xm_g)YY)m]y,m z1aaaxEߓGקo/Y\k6xjgH|yu.\aæM&wk#ϐ$?]Mo\Ⱦ,/ڥQ@~6s?)}, l gX #vQg Bٙ^uのuhm?}{].~}v_J;xogJY]޳@.)oqC?}>@Xߘ'-(W? źvƔOʙRv[K?[A}?-wmՑ}g\=c}M ggg DŽ-B^k_g?F? v0||؎=ǧHPgs/hؑI t~{n^}ZyD5XWvO)"c0vY Z|~_%/,p\ɹyΰZ/;/xs_9?Pܯ5ݻ\[y|č8gʱL{? 0 0 _k3>z_\S |<)b|7aaaxn.ta?l^Cvkؽ#~e)3<3^kdlc&jK+o"e<.ʞ`^(3zu l+6v<ï k7]/lc[`On}򚄫 G뎱zt^v2)?;Wmr5ocIz?Ozx{&!ez."ѯ 1Gg{+ҏlw<=}GݽFƨ^)zIpG K֜{{e G12ۭqiumf>.}~a? 0 0 [u+7Svq֭y΅ ?ނ}XwŶv?ߩDZۓ-q/?߳=<~#>Fk"qzrQo 9r,nY[;o:)@-`ק-7({߯S@µK9֠ɸ>:n3 _[_*mtcmC>qSL=<6;ǫsaaa{xˌ\ފpx?0׋#5zяc]x^l򼠕(f:~٣^lin59W~\;?vn6erUbS~v^U O7O(|;+SG4|?f*?rW~2oNٟS9~daևmH6mX[J~s.ym4ٶO|Bd/b5ɿyU? 0 0 0 0 0 0 0.P~*1@G\⟿KrKXs2(ߥ纎J8'>X@▼QQbqwx b)_K|v 1M6kee-2Ǜ59?K^E~9ϱQﱮYF8N?~;:=J<-tĒyNAgC \NXKs)'^Kg\~2}6}Գ)n]Or^j~"{p29w6/.z-v:+M{WJYZ굢`% Ҥl9ힶկ#OUz+U?;sd~vND7*.Y+v:ye;8}~|+ÑޅN9}{Bƞ#txխsXɿkSV/uJ=o G<ջL'L:D]6jfgLz/+ؽ[{rCMYq~[{yy czA;w9zszWHVax3 %mkBTx흍) q ĉ8D^>׻gI@XjjgiЃ`0 `0 ?ϟ|:seQ3|ӧO|:2|.};7eGFO6_Qv]T]^ˮg{>pjzkuo{yye?{-x/ D:3D&򈼹e^Hyi#/OGzϪ߯_~ :sMe#M3Y#=2 QЙ[\s=E8}E>GȩT ڲTg-}VfoSVwzV}./>~!?U1<#}=F[ ~QڋBN..+푹^edLo+[\-k dW(}6q$#?z6Bөi?L7!3O_Q}Пuo[=tkȋM!'}/Ƈdr2_Cﲨ: `0 :8o=+8-4}۞cĥXdq{bUq©ήm!ƶg*ΪU\z[GA=^+ru{LV U?)V>ғ)x|Yҁgi\yi^cUo*= !TY?rfgWsʽVn*VX#=Fϫ+[F~yH\L~[O҇h5ݵTow|Sfӟ+);F;:x )/OS yUo2e)Ve3'wgGg=J^`0  ľu kU,Ksؑ5nY,bXw{ w&3QהNQev ]ƷgcH˞i{A3I8hwduwUIWq8I>+@pQşGcZ\ƪUߝ]/:3d;ɫ:gB9R|GW~w2;fzt|+i5nΟgZY|<1NyŬ|E7k?z/k><=Α}N΅>uWydʬdz `0 *\?W8GY:Dgcg< 2+'W6qn؟{ru"wU쏘~c#T?+y{Q,,^qF/Xv8.֩g3}ȸOP ~n%hUG4(_sn|W}Tg&x^c,Fѭ+ <#+}/Uw8BRh_|33!mr\7U9m({ѝpvew[xG]߱?g;,nҽow8]וb?OV=Z_#ve?vN_WrYLo;1g9pV^G~>[_vNOS3 `0Q[ veO\k^8֔v<Zbz\Opbn$~}oz3ј mK vU]^iNWA#x딫jt q :E= z%օq)CcYEqyRG-+u (K\hP'*^ء^q=m=y|Kvūe\rȊ4={W1;=ݷxp;o@>ȘT\Ԏ+C=*ɫ|GJOCW]x1.ﵠ9_Eб Vq)v(ʑ}[GwǺ{-oSdו_˞׃2;iT&w*w:g׭SOsj%Z[~_˯d֮+w]7 `0]kIu+eL]ւoA^;=GR?v쯱;<y o$N1紈=:ߥPVu< <&3KyC/4r)i=*/|Ύ^]QNН1qGw>ù{ ?Kv:A}E:_n+{u=rq͓̳]>>d}+|L01`0 leg:׺񶊝`W,3O?]\9P~[kOWiGc~)-<w.3q}'vuw$Vnv(r52S;Wk_Kϔ8B/hEՠ'9w?K;x:x<|@cϽVyc@ۖSw8Bq]=2lBe6V}eR( VeZT4ade2ޒ+nYBTqSߔ<[&=f[|szP)G}{Zׅ3n7jpWwftEw[ǽ;`l? `0 `0 `{~i`oLy>uoi\qK|}7Svu9G쯿c¾#>,jow{ՆݲL=mW2u_8دjo?kD߱mw>#}E:OۡO;y`$jwmkBTRxoUǻ^ֲn5,mBͥ02p兗,33PI /yxI$b\"J X E""A$+x'|K,HP[/>I=opn![`;l霎4T yAPBރ`6^=y&֌AQ{Ϭן|p^lq@t(0zxqf2[z ;}\6? $AX@{c.fcVhc3 ylj}ޏ쌌qY0F 0 0[Y-G~hIvVq eAf3kPǰNd"c u3e.-碽3? 6p傳̲z5$cwaľ3'xN 2l f"(//////////////őQ_____________wϟbD////////////////////////KJ}o/Ͽ ~s:}o@{k2pW+ YH_WC?|(+] mW.WTX/~0$:>ٲwQٮYձf;>Bc_dz?ɌfTʍ90.m^ߖɓk7z)7,m7ddٮYձf; S_WSpx::^|{玅 ~}u+zVڭ<'ks~vʬX _΃&Af2΃kIӧ7:;,xb{"ܶ%K^~wٲI& u+zV-8茏gΜjc횕YZϚ93uj5*x{Y;Q٥MM5;:wϟ߁uŋ{.]=egVn#K&$Wc>5+:V7c;pvѽ{\Nߔ7<@6ݠ$28GپY> h DYa?Wwk,qp\\C>_[_!P˃`{xͱm7y-#RtY}9ntr7B!B!B!B!B!B!B!B!B!B!B!B!=h;sFymkBT6x횉m0]HI!)$FR?6c>>~sm+vuՑνYu8uN?WP>1JsWiV_uKEϸ/rˆ_gKW]ױEYcl,[TYHT}xL#}A GV7^}>iҞ-i;}LJX&TP3T#ߨgJl e'=?͘ona|7>?ǐU%;/mN/IfQփz{G}?v✽3X~j{zTAO^ʰ>?sy|G)PU{ ..T}6ڳ-F`p]k߅~b  О$wݓٱ|sCoA+q3lOx@(0a+? T,_7s\Ϙ^Bl1)C+k(FyN"8dPC_9>O0&l4Im+nwGrŰ)/tihf ѸX>E)<,6s45zb?J\<OM%O#(76:= ӋYAƒH Ls6MXBcX&ǘJte. 3.je(??Lj=%wZizFTx$kP8Em jAOހ>~؆B9 ֤8UKCvjbL Cy ;mj P. DkwUE€3ܨ8xUJs\ɟ+;}sFQ(KIXݛƨ 1 +KdX];Jģcx$D׷X`i @l̏rnm$^9΄zBGϞQ=nfkDe; <a>,⢞jk0B[p($Ǡp4 nq`XƓ vϵ.xHnorJ5Hu뇗 f a[Z:>36[g RL؍?( &w.7C#~B{] UW 71jk~ecGrD.=K@WDZM0倐0\xvqNZ ># BE )&yA}t?B Ym(WIpɱ |2+\2 )l8tl@Z.Be񅋍RSƃm>dIl'N adĢG3%#)?$s _5=YBR#-k"qGP-e"f%֩-ϓ378M9ϊ,_*n;HEBƱcl~ ˝[/sagIE2,z1t:kLș壋G){7ond{@rP>kwk׽ #kXfyEAB9uM4P=_lgW؇N#_nGpp ,ZUu6ȓVӰ0EK7*|]{75F\ԶzQz! uH>upT٣o3P)[^6` -d&*=%fY<^ط`_6|h3ء>2 Pq7ώ ,NsjF=B` 큳CiU)R鐏@LҮǧmb<2FHRqùFXi䎲OmGA}:*u f:@ʫRH.66jcGOpO- 6HKJU:Jǃv,3DZEƮqq7p?ȌK%ȧ$;?Qr6pP7`a^=R_)m>D3#£ _' Iɭu͋C-Rne㯄ssL<ȭ/R)|Lt_1Lk=rr 4/gEr~PnB[\g[{gYvRW' {Fem1{ wL;7&$xc0 n&u@5sCCձm8Heft x{q(aтa?Q%l4ςxmWI׆GC1kQ3iJh,KRO`ʲ4)%b6B8\pe;u)ko)#WSncRx{[sXv195_0Kՙ7>Tp5ٴl3S"؝LX睫[5m Q="u}pϘ*xbՉ#iM+@Z! Ϯ~jYݬ$?5mtu] %@݅:4h8ۃtu3; ΑO1A/r R*5i&j#Y2:$Z(ad@>'z L뇶6Z8|`6"X1_z' F-я?X^ A:?1;h/KVB' vOnFS ƤQ{=kh7MwXQp\v͓O/. N3HKRlK"q^Wh1wt h@3e6N|I;y?8t[[! $,ήLe"z%IކAkRl!3u8ځy?_W)AbCO!rza5Sn֗#<43y6"R߃CQ&>[# BHǽ{vekOTlq(UH͵h ݔ8,@tՂL{p/*L"d_y k,4 G̖bD>,.ok"D;|7[.DCA#ilϟI֬Dq]+eE _-- ڰc^Lq1~CCC9gNH8BkhJ#Z-`VoMa 9r$պZ-hkh ?C$ ^tď9d(8P݅]ڶw[wl;dn׆oKd Hބ(DInI M_(5)6H/Y1 QRk,nXHʉ?>df&6^EJmt{CCc`0ʅv5x<\9Yc}106"״!֏9dl:' 1H"z'7QqɌ#KR./CVgQȬ\ `?d1yuM6Ƶ8ZX]8^pwQE &1frRKi$GݜЕh3'{;;~FK37ku<pdʎ+C RMzƏ7)nҀ lEGyl:̑IoBS%|ЕsTulebA}Aʹ10A{KʘӺtjdLI=r PRg_LbR Şl?␔)![Fo wi&k^CV(t@pW2{hxHGRn͉eCbxԉ6GQd27\ثdS=\Ff*0ۣOP5(rZߙxQZ>~GAeN-jY7Ҿn;n?ӹ"Px}/NW:݊&׾:x" ꭥу;R펔 c䛅љElmG§a= h¨BG_uYnZ쫭FYs U"zM&:Gnu.DX5Xn;}ԫ%XO?~2&Frjj8 yA*W I9/ub)Zl: s 85J>~iI3Yԕ;:#hELם[ROd^GA˩f~Y!En0~/A Km>^WYq"<цF*c:xw|͞w%ehRgd9̕v3v Dgh>>?3hYDkgC(ʹƒԕSԜ| 2Q94(?OGQ34 fccPopTYaW(>@tX4`LGٞpɄaŰl\[9c26U M6f,'C4i?W~psϠ?kAKrŵk@I|>^xs?\`,D̒5W^w DMXf_8<%|8_왉pP1Wlm߃f?4:́_Ԕv M;k:p_sj؎qw]$F}y ,b'N=o0, ~M YR46+!}@~ujctCP.Y(x׎z?70WXFܣo3z0c8RGg0 TU򄽻w"/4֏CQ`[{Ocn]+{{ N!33+5]qpj' r9FDȬ)~: 9Gmx2-?sraG"yvUpa;Ră A\& ?#n 0eed~oq嶭!!DzP^H)>oȑ.ļԶ=Hy7S-M ?8ycߧq|#5"2Б lm#UeΤVbM͘jAc7Z ]> 4gb s 2WRsKg6 's8qzTT[R[w)I95xWj #!nN+zPڔ KgTE,?{^RDݥ=Ru^zîc&D'i74SJߔ&HUG[crͦ<׿~4}څh;lpAZ%XZ;tQ?yk1+Ƴu6[ Dc4Ɯ*dB#!}e>samhG3c^8u9󼵕⸈߂UyB;f "Yi=D =4&|C3g]~WgjhSIXU"1A5Fr4{AljwTt6</N \Rta| i>T.Wo>>xϯY{緷m,J{gg}v~)]s!?wXGFl!7U|Cnfﳅ:.@mq%臔Ru?.:aBֺE#Gg'yXDuSWNJD)21ѵVagWPqȒ s?¶@g")s\T{f3go^w:^"{d#!φt},nyWFKv„X4|VB~,˘_&fjp/WԍwaO H 3I`u1ͤ+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_Wݚw)IDATxn#SU}#)&pVyylZ]&Y9Hш/}ɢͦȣ<#24JlOOE ^o#bTP1*F@#bŒh&z:̘|o<300;9GxbF @q gzTB/s-f;QŜ{L9Odq_̸yn2"xO&nZ_~P1*F@#bTP1*F@#bTP1*F@#bTP1*F@#bTP1*F@#bTP1*F@#bTP1*F@#b%^[^'s_̹d1-@7iCGC*ftL2Q}9a:cI pbJLcͳ.`[Q)[ `F7yVLbdU2OOY?iclmM51v&@̑j&"&ͣ1E\|d1g:ftŌ!W "8G En>߹wGTZta&\gepnj2Ƹ&[b~=U`ŌE㒵gwyڢ@]Ui?ǺR[9B4ecvLTqrkJikSBX]2pkRfףhkʲf|ok?\yy?mG4yslY..KY1d&sw&ƵM&8` mm۲ity*v7mY]\ɘ1o3몮ǞQ؄9 KsKLؘ;&3&-6٘3EcVl̚%cc7, 6FlLbcR4&1ԹshmcRN+ds4$s@ݻqД7x\ ;/?w!1wwЋ˸<_x.Lj9;ďIl}j*K 3eSvoΌ/<?9J@#bTP15TIENDB`XPNG  IHDRFfvsBIT|d pHYs  ~tEXtCreation Time01/21/08t P%tEXtSoftwareMacromedia Fireworks MX 2004v prVWx[pTpB.Cm)%CD8TD+ (1@.2S)e jPm XhB!bCZ vL#t}Aޥӹo޻}߷wyrzԱTG]:|p|^|^W煌E@\3#!՟5xw6Xi/k;<'ypu.5ryuqٱu:wקյO>kg |lYS?+(rͫZ f6Rma SpLykR=W>R[FƧF+5xn۶Sɟ: C͑oJ"sp[ww26W"hڎQUJ/e^ÄL37VҜWOϟ{l<}bsݲ[n1]Y?>yk%Ƅ;]v-1cԃKAG37PƘd]/6/ -*-*Z$ bj;\ ΦYNKÞfgP4S_{~zo#"C֥eEM?MqڹIgcpB YVUo'P쎀.+.z0惍&AƞLZ KY3֏zQc!?&>@BEhpkf#R%cdHr ^8HQb%pz6`Ube-g$k{L^$kw؋iV|s{e}L9p\N}aQ[|8h@ckNS|@u<,YspgI[F΅KC_{yAzs.`N' +d/NI]xbyCl%E ve4?g+-wl$_lW[pE]CR 5Wwj(־zU%nc kW׭o"+!t1 SaM1_H6_Hu=U8w AJk |`=a0bDQMOI=re]t\%.qK\zLr44MEB-C*ed9Hb Cy-BP$e]WJ\RJ2;C[CxBj:|.%h29/%Z;7UJOp_ɧj`TLpg|Dȋƒ=4 6@{QfUw/9W2<").UKGAy?|k"_jnp댋MeYLP67KHI1|[ZTw Jj*'ߡ#t(Jm=EzETAm0#bB娆 .$TB+YZJՙ jHlK:5zS"Bo&&qE`9t:P$aXC6;ķ?Gk3Pu__HmkBF)3mkTSx][sFfq$˲LeEU[[ $EQSCP'd%^sPIm6ƥ߹t7xy7i-z2ضgy#wfū?Qߟhs6§M]xL)o*7X񂣓cؾ/a!lVʎҁKeZ< {OQ=h3h'#(`4}i=4C%{'mӾ&}k8a.>쳳vcv>Vb+OUj:հ9SO:5hF Al)WG6TFi?B8G{4ߜ[{=LѹѠc1|&.8Vq桃c OL&1$B{1!3L2;oNm8)m(a/зP?K ]h@j >J@Ym(;x|P.OЍRWU.ﵚQ5Քw[5Z*C=WҨ KC.C׆ ǐ-ȡP̥>'l^~~:ƽHsTQQ-fb 'dSĉJVQ=PU3X=[Q}=;؂[):5A#/C+6;? m#s4ݓ"&~+R s9f,l;pArhj#%4ߕB7 XN?O26$$sBoɍ%D%^i'2͘N:w=<n؋L4 IQrdO/#t bi)'ۈC lً[f{fg:_2])Y5HWisQz.EEz]qҗS“'c8mD8]Grp5S^}\.%,Eه͈^u`Le0 &W1ܤ>rDQr]+:h֨`* Kw9:Μ6֐LBf|W#4 5e)8rP&'],T85K)9p%|Jc|XRr|s^WH*j}A!j [oO u gr,M ,4{`3dnB )S俴mAkV44ă1쇙>wK6ON.e@S:w=||E͈M Ų7¼(.!ƒ<2kXRd4f>h\Ew3*&Ǹؠ^)K-p}cJC6fD=;LPsOz["}@re<Em ɐ/{þR |&RqRke2 $n mJ6;Wja0uTTk[P I~b:0MRn]5m9{aL%yscBv<i4o%2_=y}|[YXJ6AIֺƍuih))! uׄguIZB\3P!ZD L1g9.P$Lγ{w0|Gc ԛH&VR =^4Xv`vS~K YOс XlNOuPqnrT `/Ca'@?(q\܋籙 ,fr4(|]܄<;].!t3dcޥ8r8K ?r)F#^~d`L `&4)^sY3_t$(xxĐkml&b@)=v#|G#VT bUZXşuNy9OV_;>k*ƔH/ʭKRf>LnF%2rr2-M ێd$>Ieu+fq,}x\ º$g2əL\x }QY}ŮVHKg }elO\UIkiuɉbϑyv#~}>i՘jVFxRn?>LZJZeKk?S[9y#lɲd٨dYF,4z ^'nONWɩ6 [ -1 '!ٰ5(]i3P03ܷIs [lMۆ3-C.*x78=R[֚P5#0hZ;/YY%+-ϯR'|r|Y S|=^ڝr`+ ˨?׃'eGoWM8}EnSzl{7Tjd\͓ YHt(y*P 1 47ܯi$v:d; Ɲ=EV Y?:Y̅yZj`RAU5ꢙ:`Dn-sLLZΡآBqjwk>wMYk5ք`D`0{-D4[z##8iQ 54?fd(LGuRN`ڠQYJLߴ2vGe)yĚآB}t*J{*;͌dIR@mX II{L;RZQ&JjmEOك- Y/uV^Yw j[ -3(jb؞hmҭr[ilp5蘚b Y!`RY(i?MOi6o)E풎0Glo?20}Rc?ɥ"!N#iXMZ|Z< )W1tvCW ] Çxi~±슳+ή8W슡+~pb芡fhW9Ny عyWS;}3*^fU ]1tgU]ͼ829c]̻+v.zfU  ]ͼb" ]ͼ8{=8yWqveg]̻+2t B3z9cmI\v !bQ]L=ku|_`)7ҹZΝ9^O; ]){*_BgqV/k蟱msm n| Ac}Q1|=Q>VV?GOTvf֔Och߃{p1!e3kV ]1tU` tʧ0%C~8],nL :P8cde^jԸ uNṠ|T[`|'ΐ-Y0zh.Az3n%δ|Ž?z 5xZX6_eIxW=T$uo 8m'}kwݛmW%Y7ϽoAߑ<7ɣ:fhHs[JOc#]<&hJݏ2̼UuW>~?ϸJ[YE⑲mKPugR$\IuDX@a?<$o㴅d{*A#jR,f_i3x$ {mx,vML6b>QY|/iƘPSܪҠf*6mZ!8!بK(_G!Ɣ3R*}j'e '\Q r?H]Kx.X=bDZѠh|=t~#pul9>`zm#ZEpI&͉qbF1%Mj%e!UI§%*'}lƓTFr)1o |br3ʍ1:1|71==j=m?W )ӸNt/#B;}MX=3qC^CFvX;9ϖZԷÈyF/(2LuFܿT?2*YԒ`4'p~lϣoO9o,<ػA<:*b~a!_4{,V GmHjeGJWy{ni^@7hX'M'4{O0$O$%iB45aK]WavBz䢤+QT'돫6 |)k2-D4[2ZՖܺ.ޗG ;b 6=[VjEܺ/ų W\X38%,`5; euVL o^ow~Z_sme#.s#YZ#uNhTKbgZT}-Ҽet< -ZgG7"ۉ^rI?åu½#?2&{=}p4MYd\?sѪ&! kL,ڦ8C`9.Ѥ~1hϘ5.L4YʧRQvFY|)FY|^/[ǜ\>섮ܲ.{rr}t&+zYz󥟓R`g*T+XmjQ9ϕ:$̮*'ǬzWp_ 2'X88vnn'o_N|kv#ޠKZ_7 FfP3KlZ; zD 'c*Ճfh<т14 MgvrTRK*N קMQq6:wg}v.rNJ]l J ZxRBӴN *ڰQBgE?oM>y%^/&p58eN‡#OjUTݻIw!@K9aztn9in =Vp,#سt tO,,]}/BϾt8MttNu3,Z8-kjMq.$~&|TҴM9?{v$],Nͻ 'v@ P@A 0 ]R~r|at^ܝ^}=rhUx:[`1MXA˺~٪.MHe,m1'5jC`.(v]Z/6\ Lo5^cWPpkMN>N_S7Æ5+]i*8-A%V*opoxS:KAmkBSx]0{5|Q_V ؄&MfЃ{&;;ujh>u5z/LcFT яjVc{AZڔ^p u9ZҀ ن؛=ؓmOM6s[ YN\f_sgzUN wRm#%+% cVC~:LBL :\:m mkBTWx흍8 FSHI!)$FRHnw HYx3ꇤsaaaaxIǏ'U{o_ھgW9 o'GW {>~Jlo߾)*/N\ϱov[iZ_ձaJΝ/:6O- 92b?Tlk%?_21B sY5>:>c=1Ow y^- ڶ,XzusM#גU]>H_yYv!ۉ_mi Rus]Xm_g)YY)m]y,m z1aaaxEߓGקo/Y\k6xjgH|yu.\aæM&wk#ϐ$?]Mo\Ⱦ,/ڥQ@~6s?)}, l gX #vQg Bٙ^uのuhm?}{].~}v_J;xogJY]޳@.)oqC?}>@Xߘ'-(W? źvƔOʙRv[K?[A}?-wmՑ}g\=c}M ggg DŽ-B^k_g?F? v0||؎=ǧHPgs/hؑI t~{n^}ZyD5XWvO)"c0vY Z|~_%/,p\ɹyΰZ/;/xs_9?Pܯ5ݻ\[y|č8gʱL{? 0 0 _k3>z_\S |<)b|7aaaxn.ta?l^Cvkؽ#~e)3<3^kdlc&jK+o"e<.ʞ`^(3zu l+6v<ï k7]/lc[`On}򚄫 G뎱zt^v2)?;Wmr5ocIz?Ozx{&!ez."ѯ 1Gg{+ҏlw<=}GݽFƨ^)zIpG K֜{{e G12ۭqiumf>.}~a? 0 0 [u+7Svq֭y΅ ?ނ}XwŶv?ߩDZۓ-q/?߳=<~#>Fk"qzrQo 9r,nY[;o:)@-`ק-7({߯S@µK9֠ɸ>:n3 _[_*mtcmC>qSL=<6;ǫsaaa{xˌ\ފpx?0׋#5zяc]x^l򼠕(f:~٣^lin59W~\;?vn6erUbS~v^U O7O(|;+SG4|?f*?rW~2oNٟS9~daևmH6mX[J~s.ym4ٶO|Bd/b5ɿyU? 0 0 0 0 0 0 0.P~*1@G\⟿KrKXs2(ߥ纎J8'>X@▼QQbqwx b)_K|v 1M6kee-2Ǜ59?K^E~9ϱQﱮYF8N?~;:=J<-tĒyNAgC \NXKs)'^Kg\~2}6}Գ)n]Or^j~"{p29w6/.z-v:+M{WJYZ굢`% Ҥl9ힶկ#OUz+U?;sd~vND7*.Y+v:ye;8}~|+ÑޅN9}{Bƞ#txխsXɿkSV/uJ=o G<ջL'L:D]6jfgLz/+ؽ[{rCMYq~[{yy czA;w9zszWHVax3 %mkBTmxsǹ$HD($E;BC1]D@ B+J^3әΨ?88#>'0J%x`wyl x.HS '?sӹӹ2 _Gj+ϡD>f=siչMֹ2L??$O"V֫O@GG!={Dέ@GP#+/5<W[Ε9Gs4.3W)\Jt90jR4O)[Ε9q[w[ɹ'#/_K^#DA^ :tc/o<9^9J|n\X1i^.o?̳RYQ)6nW;ecFYVLo.ǖ/[.MOK͒iinMesfY۸6{f3O,}"^uC.(S[S+֮'랔ƆF8ql}{ڥz)޺ey>{lѣGN?\֬^~_Er3fq=5q,\Xj񿮡M,l8|r]])Nyy>KSL9cj Ɖ14;)۶R^BV픊'amRg8X?ˏ:1 Gyr{cnH+2y\g݃,:S?K[TUHƤۆG?>uTti1Ǟ`ӜOHn Sd}ӧMLj%=$勜c?.} փnb;\,9u 8r?n89^q6vI.+-phr&/nDxUeU. O]XUU)Ow?vNm6I}pnc_Nl'/O,'wGOz'ӛ!ؚ ጜ|1t<_AqY|>k.p /C_|]:wFX nܕuW,O7h?l]?Chy wח'pHl~-6#6K-OMGCl7`b}`+wgy'V0aYYf39`glZ9<6κ1>1b{;Eg8 ΉM?pswN9P>28`` y2عcdb=?7./1-yp=&N=ڟ1kdl}cs7lg|6=]? $t! ;?av|;jjx&sl]!o`N9@^jKtlroǮ{ap³xr?Ʊq}g?P ky$r^x#Gs?cill_'r%dzr]={4xCF.@n1q8`16Q} 7,{3nC??>$`}b8l !^n@O_o{Ke%KBWr4z7pL,{?81~q G.q^}ys=]c.nWm98N'x؎7O[c]Sϟ}Y?8#ӛ%.c4O>H+1FȵK/ݰO_@PX8 gϞة99:`X+CO`G|b 9#479)Z?xf'R;v/_l]WXmo7f>;b|W!;rtlbllޱWb7cKz^ׁ_dރ|=O_zWrzlNl0޻r?s8wpҳg"㑜9c&k{Ȩ!Vi"ߓ7_?> N`͖ 8@|_p[?pצO@,Fm?E_Ei/Lywe߉Ct8ݲl8~q%bjIcB¦;GJ$?\Y4z8qjB~ž| O~ ;kVќ"6}I8؛b[i[!#/|ۇ_;p,C_qW}Oౠ{/[,SMgN'glG=ru|SܫYM#[?k}||׭mpSM2p@=~w|xĖwkm~ ]b]1tzr9/y:?8x@7IX&~Ǝw[a~=':??b^`OӋ'~"cpF/-c\qb 53u?=|!<>zdym b9 rm8,(qcXv5W}Ydž5.^jUW,Kk~oɒfIDu?wow;8wGaw=;Zo? H_pؿd{oۄO_*^ x_|.X}˱c"UUU={4{: ^s_Uxǀ_s9;"d ӸX,`g@{/~[\;GcY"u_:1_ƀ:8+spW}0W}喀Ǘ*>ի6V}S\d^M+ un#t̹/=OtDܟGyRrt bߨW|_oEV':R}^c[^+)y::WNt, p0LGsߒ:P0!Y:<}l3ӹ׹v;~qPpw3Վ 8zIz>rμpo2DԱ=FW{e2rGA/9QUȗ,LtPĄۓ`7 U{T(\=g z=,O_ "YN=En@4 Jt qmqf<'6Jd$Qk7׈ĕ9~t[$Ag'1r\3~,ŀ$1;G|/p8p8p8p8C|/p·op8p8p8p8p8p8p8& xa:mmkBTx흍) q ĉ8D^>׻gI@XjjgiЃ`0 `0 ?ϟ|:seQ3|ӧO|:2|.};7eGFO6_Qv]T]^ˮg{>pjzkuo{yye?{-x/ D:3D&򈼹e^Hyi#/OGzϪ߯_~ :sMe#M3Y#=2 QЙ[\s=E8}E>GȩT ڲTg-}VfoSVwzV}./>~!?U1<#}=F[ ~QڋBN..+푹^edLo+[\-k dW(}6q$#?z6Bөi?L7!3O_Q}Пuo[=tkȋM!'}/Ƈdr2_Cﲨ: `0 :8o=+8-4}۞cĥXdq{bUq©ήm!ƶg*ΪU\z[GA=^+ru{LV U?)V>ғ)x|Yҁgi\yi^cUo*= !TY?rfgWsʽVn*VX#=Fϫ+[F~yH\L~[O҇h5ݵTow|Sfӟ+);F;:x )/OS yUo2e)Ve3'wgGg=J^`0  ľu kU,Ksؑ5nY,bXw{ w&3QהNQev ]ƷgcH˞i{A3I8hwduwUIWq8I>+@pQşGcZ\ƪUߝ]/:3d;ɫ:gB9R|GW~w2;fzt|+i5nΟgZY|<1NyŬ|E7k?z/k><=Α}N΅>uWydʬdz `0 *\?W8GY:Dgcg< 2+'W6qn؟{ru"wU쏘~c#T?+y{Q,,^qF/Xv8.֩g3}ȸOP ~n%hUG4(_sn|W}Tg&x^c,Fѭ+ <#+}/Uw8BRh_|33!mr\7U9m({ѝpvew[xG]߱?g;,nҽow8]וb?OV=Z_#ve?vN_WrYLo;1g9pV^G~>[_vNOS3 `0Q[ veO\k^8֔v<Zbz\Opbn$~}oz3ј mK vU]^iNWA#x딫jt q :E= z%օq)CcYEqyRG-+u (K\hP'*^ء^q=m=y|Kvūe\rȊ4={W1;=ݷxp;o@>ȘT\Ԏ+C=*ɫ|GJOCW]x1.ﵠ9_Eб Vq)v(ʑ}[GwǺ{-oSdו_˞׃2;iT&w*w:g׭SOsj%Z[~_˯d֮+w]7 `0]kIu+eL]ւoA^;=GR?v쯱;<y o$N1紈=:ߥPVu< <&3KyC/4r)i=*/|Ύ^]QNН1qGw>ù{ ?Kv:A}E:_n+{u=rq͓̳]>>d}+|L01`0 leg:׺񶊝`W,3O?]\9P~[kOWiGc~)-<w.3q}'vuw$Vnv(r52S;Wk_Kϔ8B/hEՠ'9w?K;x:x<|@cϽVyc@ۖSw8Bq]=2lBe6V}eR( VeZT4ade2ޒ+nYBTqSߔ<[&=f[|szP)G}{Zׅ3n7jpWwftEw[ǽ;`l? `0 `0 `{~i`oLy>uoi\qK|}7Svu9G쯿c¾#>,jow{ՆݲL=mW2u_8دjo?kD߱mw>#}E:OۡO;y`$jwymkBT6x횉m0]HI!)$FR?6c>>~sm+vuՑνYu8uN?WP>1JsWiV_uKEϸ/rˆ_gKW]ױEYcl,[TYHT}xL#}A GV7^}>iҞ-i;}LJX&TP3T#ߨgJl e'=?͘ona|7>?ǐU%;/mN/IfQփz{G}?v✽3X~j{zTAO^ʰ>?sy|G)PU{ ..T}6ڳ-F`p]k߅~b  О$wݓٱ|sCoA+q3lOx@(0a+? T,_7s\Ϙ^Bl1)C+k(FyN"8dPC_9>O0&l4Im+nwGrŰ)/tihf ѸX>E)<,6s45zb?J\<OM%O#(76:= ӋYAƒH Ls6MXBcX&ǘJte. 3.je(??Lj=%wZizFTx$kP8Em jAOހ>~؆B9 ֤8UKCvjbL Cy ;mj P. DkwUE€3ܨ8xUJs\ɟ+;}sFQ(KIXݛƨ 1 +KdX];Jģcx$D׷X`i @l̏rnm$^9΄zBGϞQ=nfkDe; <a>,⢞jk0B[p($Ǡp4 nq`XƓ vϵ.xHnorJ5Hu뇗 f a[Z:>36[g RL؍?( &w.7C#~B{] UW 71jk~ecGrD.=K@WDZM0倐0\xvqNZ ># BE )&yA}t?B Ym(WIpɱ |2+\2 )l8tl@Z.Be񅋍RSƃm>dIl'N adĢG3%#)?$s _5=YBR#-k"qGP-e"f%֩-ϓ378M9ϊ,_*n;HEBƱcl~ ˝[/sagIE2,z1t:kLș壋G){7ond{@rP>kwk׽ #kXfyEAB9uM4P=_lgW؇N#_nGpp ,ZUu6ȓVӰ0EK7*|]{75F\ԶzQz! uH>upT٣o3P)[^6` -d&*=%fY<^ط`_6|h3ء>2 Pq7ώ ,NsjF=B` 큳CiU)R鐏@LҮǧmb<2FHRqùFXi䎲OmGA}:*u f:@ʫRH.66jcGOpO- 6HKJU:Jǃv,3DZEƮqq7p?ȌK%ȧ$;?Qr6pP7`a^=R_)m>D3#£ _' Iɭu͋C-Rne㯄ssL<ȭ/R)|Lt_1Lk=rr 4/gEr~PnB[\g[{gYvRW' {Fem1{ wL;7&$xc0 n&u@5sCCձm8Heft x{q(aтa?Q%l4ςxmWI׆GC1kQ3iJh,KRO`ʲ4)%b6B8\pe;u)ko)#WSncRx{[sXv195_0Kՙ7>Tp5ٴl3S"؝LX睫[5m Q="u}pϘ*xbՉ#iM+@Z! Ϯ~jYݬ$?5mtu] %@݅:4h8ۃtu3; ΑO1A/r R*5i&j#Y2:$Z(ad@>'z L뇶6Z8|`6"X1_z' F-я?X^ A:?1;h/KVB' vOnFS ƤQ{=kh7MwXQp\v͓O/. N3HKRlK"q^Wh1wt h@3e6N|I;y?8t[[! $,ήLe"z%IކAkRl!3u8ځy?_W)AbCO!rza5Sn֗#<43y6"R߃CQ&>[# BHǽ{vekOTlq(UH͵h ݔ8,@tՂL{p/*L"d_y k,4 G̖bD>,.ok"D;|7[.DCA#ilϟI֬Dq]+eE _-- ڰc^Lq1~CCC9gNH8BkhJ#Z-`VoMa 9r$պZ-hkh ?C$ ^tď9d(8P݅]ڶw[wl;dn׆oKd Hބ(DInI M_(5)6H/Y1 QRk,nXHʉ?>df&6^EJmt{CCc`0ʅv5x<\9Yc}106"״!֏9dl:' 1H"z'7QqɌ#KR./CVgQȬ\ `?d1yuM6Ƶ8ZX]8^pwQE &1frRKi$GݜЕh3'{;;~FK37ku<pdʎ+C RMzƏ7)nҀ lEGyl:̑IoBS%|ЕsTulebA}Aʹ10A{KʘӺtjdLI=r PRg_LbR Şl?␔)![Fo wi&k^CV(t@pW2{hxHGRn͉eCbxԉ6GQd27\ثdS=\Ff*0ۣOP5(rZߙxQZ>~GAeN-jY7Ҿn;n?ӹ"Px}/NW:݊&׾:x" ꭥу;R펔 c䛅љElmG§a= h¨BG_uYnZ쫭FYs U"zM&:Gnu.DX5Xn;}ԫ%XO?~2&Frjj8 yA*W I9/ub)Zl: s 85J>~iI3Yԕ;:#hELם[ROd^GA˩f~Y!En0~/A Km>^WYq"<цF*c:xw|͞w%ehRgd9̕v3v Dgh>>?3hYDkgC(ʹƒԕSԜ| 2Q94(?OGQ34 fccPopTYaW(>@tX4`LGٞpɄaŰl\[9c26U M6f,'C4i?W~psϠ?kAKrŵk@I|>^xs?\`,D̒5W^w DMXf_8<%|8_왉pP1Wlm߃f?4:́_Ԕv M;k:p_sj؎qw]$F}y ,b'N=o0, ~M YR46+!}@~ujctCP.Y(x׎z?70WXFܣo3z0c8RGg0 TU򄽻w"/4֏CQ`[{Ocn]+{{ N!33+5]qpj' r9FDȬ)~: 9Gmx2-?sraG"yvUpa;Ră A\& ?#n 0eed~oq嶭!!DzP^H)>oȑ.ļԶ=Hy7S-M ?8ycߧq|#5"2Б lm#UeΤVbM͘jAc7Z ]> 4gb s 2WRsKg6 's8qzTT[R[w)I95xWj #!nN+zPڔ KgTE,?{^RDݥ=Ru^zîc&D'i74SJߔ&HUG[crͦ<׿~4}څh;lpAZ%XZ;tQ?yk1+Ƴu6[ Dc4Ɯ*dB#!}e>samhG3c^8u9󼵕⸈߂UyB;f "Yi=D =4&|C3g]~WgjhSIXU"1A5Fr4{AljwTt6</N \Rta| i>T.Wo>>xϯY{緷m,J{gg}v~)]s!?wXGFl!7U|Cnfﳅ:.@mq%臔Ru?.:aBֺE#Gg'yXDuSWNJD)21ѵVagWPqȒ s?¶@g")s\T{f3go^w:^"{d#!φt},nyWFKv„X4|VB~,˘_&fjp/WԍwaO H 3I`u1ͤ+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_Wݚw)SIDATxSI?@VBBBb16;(Msn/ծruuD;~pT05_P]3141Te;Vml1Z $I6O,e&e7OBFֆX,& tZ&SQQdݻHR|>jT*|s}DּD}ʪXH$"N355===;v/\Wl444G}~; ~^hmmEVFx<8X,%//\~zHǬ1VJ8;D| ,--zb1|~h4n7kkkLOO`yył'&b4)**F$N# { ,lV諿/'oШpǏGӡT*Çt:y~ACC@QܹCgg'V)..FT۷1LqYhlldaaaܹCSSSξ$1*_/-DU^QQ$  c @N>)GsFT*IBv׋Ncyy?fttLY^ &RS7ɔTl'&&hmmTJUU2 ý{ .J{{;v;wP(hhhرc(J)((`bbAX, ܌{ʵXƜջaH$G,p8exd2JKKbTVV211^?f^VWW9rD1|> ;b$uuu8N677]>\iJ%jJKKcbbRjӘf~H$lDQ, |pF#z* B__Gܹs099v0jX, sss\TUVԄRx<ᠿťET*QT~\.6Z[[beppH$G}A/J133h4bZiin_Wl6FCWW˜8q9sꘚ^ϭ[x<R8z(pv;7Qd2Ǐ׿5yyy\r^ pizzz蠼u\.7n@RRɧ~B`vv$ݴMYYPhW8p􇧮wD"HR˩#088!9~8*qݻFPPTTDyy9ǎcii<  SUUիW)..& hhh?)hÇrҥ}w#xE:u<bNX, H2KɅLss3Hֈbz ***}6X ׋B HFinnof]W2\aNIIIN82#/K4 J;w̙3zl& r477SZZիWQ((J-W \G|>fggzD"|~zBKKKLLL m,--QYYg}}v!3<>jO>BJKKxsuL2dssY\.D"***D"l6fff?pxNNZѣD":;;: p% xC4ʕ+H$.^T*ell ˅f… tvvFYY~k***1דntp:b2B377zPzw}L&)**Bբh|> dpY"3334 Z[[9r!JsH$™3gBLNNX,94 {N555QWWG0djj۷o@__%%%!p8^JJJ(..fcc۷innԩS"ghh5.^zu̳ dt:IRja1 m r{j> 癞ݻaXr j*~p btrh<'t8zG"FY]]E*bZxhiibLOOc61|䶈FL&D" 󔗗S\\˗h4&dJ`Xrŗq\hZal6|wb1I߾chhbBGaqqql6Hy^\\t:b񞅐H$lnnb2xw1 vn޼NC;`Zbqq L&Μ>ѣG1l6nݺEYYZv`vvQN'F\$fsst:sHHRJKK1 t:<~7nwߡP(H&Gb(z+Ws[/#ɘmgmhh@p d~~ZN 5h4Q Hqq1eee騫 J:~jd25NR)uuu9sD8v ?~333|pE>4͆˔qz$fqaqŨT*ZBnjeccӧOeffJEyy9MMM;vP(L&C"PQQ&3::J"Jy^)2Fb1E*#I&7# وaG$QT$Y_}}e)(Lee6(rdrD"A@,W_x5ҏfk| mkX%e1KP8[80Fjk lE< t z0d$P(ւ kBLEhK^kٺ4Rz'R#e!Y:[CP0Vm? R =@~K[  :ꫯDlC&6UI( @9OV)yg;.ƓP)΂%&DS7k'$_ڡ]  *)[ %D;ۭB,FH ;V=\:&e [EdZq7׳[ OP-tA s$zȉ9 úh qق *jMB[HXh톗0B4l^[nvY^=FS|V§Yxv'*ϊxy!f7"hTW׏y%fށVvIo3u8tTCb!1{=pH8$fx;hIENDB`ltL! PNG  IHDRFfvgAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxN1YiBH <[>[߂[DMB`7xDUr4HirWkD"k][DkPφt 0 쳎&:"NSgʼnr 5b~$V1}($_R4t: ӸJY!{().SLSo 4p]G(m0WQMST\U?0 /#Li)(:` Tc6ΐYj{[&LE&lcUS+F\3p{v#6ۣU{@w|g_S{0! aC0! a8C0! aCp0! aC0 aC0! aA0! aC0! aC0! a8C.]A7o h_~)fk 򶗶^DOc0zbQ [ƪE/haʪ`Zl{-ߋY^s!w70:ϴG7% Tg:`<! fei cq[/Fq@3vvnp23`}c塇J&A 3p:yK/T^xf*$2;!I( *Dn"5dB6Fֿwkra+L kg5Af(c.}{$ow Zzr@FFʵow>Ǩ yqӝe1 wع^{ָ^]GD];LكBU(2 (:Hy|MXFYx",R> ׿hYr%b-Vy',7|sg>=3.h5:#z??Okm{LA ߻ᄏXcz.r 1Uu #"_F`MW^St=qU,P{o/A?Wl(TCϦ K-TM^e^:>s 0O.20jV F/څW虜'?:~Vۯzu#(ruUŷn{Q e |;XB￿* [ou^ve7k}_hca_ +Pf`NlM׾V Tog}&Ʋ% peaWU&^Cia$Ih( G[OU>i01)E F&hp!xL[ C}ڞC]3ؒ :Ĭb UW],B╧?VOtAU #_U47n\mF?_ }׶_\3~Tt 9?]N9%.o|)!EpԌBiPi-;oX+eJe$uΛQ?ua!{^aRyFeR&%_{{g Md֖zW g:M؝W<$] cǎ?+lN;s'W-yBSC%?j@^:Ф-dc֪Jiu 'Pf!;d;2&AV[mUy#Y)tP2H.#%!!4y믿TB@Fud !eiw]VPXRXNiA)xkB32`Ҧ^]ָ@vکz^)JB߾ӧK)vy+(a0 =\G:묪4T@FA5c% Ɍd3$ϖ_0}qLB y?Y@`5wyg=Ǡ*`uW18 7ld0p ~CzClxI =˯z@k<[bQ%Y:.tk/L@0P}ݷv"7!P\:) Q,m K/C_r fD!IR8u$(-@|df(hW'er7SGUx HLLW]uU-)MxFd")\2e33О{Y|leP%$~UCv}+MKƌSC1]cRx!7 ,'Sqp}SA 9 3aɈo 1:c~D.-'3$pޣJy؆*:^u0/iTm!SCA%5XPY>S|I'Uayb.ҧyx}wE@i(bTs5h$ qYUl(C& ABiEn  ia<Bµ8J[ʸC[J!̣ښ3 Gm V> 2s+FV2!K݌w_lX@3T Gyd]v٥4eRJZ1P#80ᵕ!ͫ04B&YLU2- $2H1>蚭,Jba+E r2,,.A!d(py ^0M) e(B"!U7mDnfڪ v8RgEϰ#\>q7j-JVBY1EOƒRu9NX) y"V@"'"w\!Qme! BT"p)_f$2йq&(x)3cWjNX0ee^t-2VbLiQ|ҠR#:GAf"(LɁͰ8)(Cbŀ:{c:ofT1L EN1ī"M: @9#`}eaʐ8c{g<4HxЉ{?r%0 rTj' 2TN*'J`pBK*V;j. 2NnYQNO?d\5F]u1"1-k'xb%3)R3Pn#R+b&RTs#=3@;4",MЀx4Gfn:!̓*;G v`HAs9<% y~Ơ$qHM )<ȂJ&J ΄2(D2 R(^9ĩ!+0Ao*I&,@ -L{ӈY(!J\YJ3PT ˚26a';z1"ڒ2!TZgHbc9D&eC ayšE1bʒ,+h \N) $qPhR-9)>|8G< ɗ cp3z TmA C ({8GbҤkM" ?A3Sl#Ú2$QZ{Sh^4?Idg6^GbB,J:C G,/ ) n`ϋ<-1 )U3X疋vK1DQRɐQTP !MfmeJ!=do_c&R$k& P$AV ֬eo('IEq^&]G2L IcxBB82Li_D(CQ2+ɿWhaB,pK(J}yqAM;x;adB.BO3vvpKH#J a}o@S|H<2CA7wv*1ƀyl֓#WXʢ̯l#2sTr?İA)b]kSdmiL+n=b,c09]ocv =bS\#W^πu4R}}_IjvSz)VNqJv&w iA_䂦6I/7,5 < z e+vGvk< ^A5zy㘘tJ1lЉͻ_0HzL?2 tnŲiM3;hw Ϋ-D !)ɩ[Rð~, s(db $\ڿ%\m(f=lْ4Fa|c n#Q4q"k*1@ec6IJInN%1\Hn.D}#&G6,y݀"ecCнݎvϼn(D70@!}JOnnn7b2(i7>AWl#U[e-Jn2,$ˤ*6)(&m>&=mx4K#G1Vη^ vԾC)wˤ6da6TBQ.K1rQ1JԆ[myuްuzݬ/:NޝR1_T) 8km͔u̙pJ6l~V2IQ6wәDZ?׫PZ~ֻaZ6+=|AW>;QtmntnڕEemڰ rAq2-LEB)͎c1@^Y8ٲQPN%c̏|>/IAk ciCͨ!Nֽ(-[o9i[f8VgV4c vq3ưrH2DtIaK}Җۺ۹(Ȋڝpkwq&jIks=. )\'nK`? Ơ1P;̂QB糝m'{ qLv+mX뮻/.T f{Z351B_nyݡ6kvJ*Qmj3`jk 6`)k*/t5LaώnzwG~SwTv bcIfvWmf>0o8`̷Ե訞MGL80d^L0'v7̔&^:qF{L~=LmxL"&x#;bbF5N MtLl3Ci 3wB91t3b},l4AԞL4uF~;,U㭎`+= rIENDB`c C !PNG  IHDRFfv pHYs^ OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_FnIDATxj@׶ځƋ"9]ZcWR:"9]q H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_F IDATx߫q?Q{F;D #6Y$$2\|ȿ@2 881"B +f5QooME=}g4Xih>[o~[%/?&xiyiyi?Nwܿ^𽟷s|; O:~=y|S:Ah 'SN g>g+Üxvk91s\<954 _xӧ0qbc`_^= 3 `wb駼=!GusJ0gWX<88s{r._dqaW{6%&ggrbcvA0ae#T̰39 LPwE'sЄ*+3J@5 >I";gO...g_;gw0ʓ\㧡"Lcvg?X|Ҝ@@QEA rIt$ j-G3PCmس2LFq̙ _r{ \)g1#||CI_tDc䤘g J%@ Gkn@h YiU?&|>c~ V>pAڄqX%XNwYkdX 57D?⻜w@Hܞ61 %$0Gs@,Vd>p2&&2QD$2aw&ݒ(' 'ITTH(AkAێ{ 'P,Fl9BQ6SC 4n?B򘿹a>z=t lg:sU+d^l7Y06N}<*0ǎz*DY ^kISce[樓/XQ*cZQJVw|&ǯ<I/0U&68 'np֎=k:Lc@mK0DѶD m[\#bah֔[~`>tzw; 7QЅJge>G7qw<no87n=: NF}%~~ miӛLI1Q[Ԫj@*e*IX֪ˆ)DkkN|H6;+W?` ԟTcF"4RGNU7;;l7Y9 beHU$5+G43!@TJ+su Zե[F :/z=r&TqB\6p{%`8*qUWUGQDFO  6ҽ+3Dv": HwpկcXGn@S%ңZ (fۘ*U-HQt3.*WD:^(`UttƄJB(9 [gl1L$ "2//rajGN;F:چ^.V_W(i,xo}ۘwxM ݆W@&Bg+ZB@t7:b #!ШN>MJ0x5ꠈkFcbD^g[cep1}ѩiw^O Vt:S)l qĢ ) ek;g2P{!$2L$=ѫvL[2fb&H%jevg3 ;U%2Xd E-ݒZ21A+(VHc N;juj]I0SDZNQ״#0 QnSrohDs]߿rlD[s2X')6|&%qwD J).R]n $pR gtX!3uLWG_R}:4DE$ADg+ tf*Hvĉ1) ʡc1D^6n:*0ZP㚪Rԃ0H>T5 *ҋg-rcGmw>)8EPi,s%䃣Xɵ {x_ӨE;0̗2.TEV;(⁅wԫ F$(dcƦH*<"R+t*3f#žMHEPꦫ&utqǠ \ԝ:"oj!o13@NRʩ!I"4%bMEuKP2 :C l[ GZ 2s ɾ1;O <{}hjc}{GbG CDc,nl|lCx&m@e^ d&& <ẒJwU,#_iVZ2 fL7,,C:f MJƒ6A@,Otװ; Iê\F<$FVNWVxg͕ItAj2fByL$0҃;v5'Բj!Ӛ=H1g%|FQhYLQBPU`i)تUfJJbWE'yӰJ bfLLsUEkD,4ٕW>kBhQbQ\(B/ 3bd@NVPHx~U:6hq*kMFU!ZyuPjHx&9k 8h`ϔSkv Y Wu#B UԜ&AG2H&SkE5*ɬn ͠/UqsD\]NjfcFf2(zr lt:Y2CD[ؑP%!65|͛!k5F1+yr%/*PԷg%5;*d!2p6~UGsmO1av]_U8zU:Ww|kyYK#1ILH91x>*9U108_sa|o7MƝx͞7w?2A]F|JCjW\k`RCHETx߃Gq&8 eϟ|;o{;~/-|p׸w/xymv {"KE49q@IrDÊK"uUm:x26pS50 o|?{Ciblo5ŷ:vc|y+_OSЉ,z`*9nFY+uP gMeD¡K: W*w|{_Z}MQہKVAnZႨKs9(y(IHc!p12D\e 1C cȘ776GɖhNYZoE$u/O cp͊1(6P9eRӞ%>)\T* hHMB Fx/8 Mmpb*zg*BƑB1r F~(<54jԤ&EO|kh(13m`7T0VFΏ~8)Z+QN>ZN:+8N(z(=  "t:3}b{5?tN:x5FkF G=e4ʁ!pkErd@b[xb*Eܝ[{6OBAC]!jK`DvFY5#C1+&9 }:=ȧX̨ڌ/éLv+7kA3v,9\Ѯ;tK~@<+]T/bj[C5K&W+IUK<#IqVR:;e3>cSfZ{Cq{1$A騌J@)toSҸ\vkܿ׹h5*4lWFHhL7 \؂6fsNkmnqI{pEW$B ApvxPP)Wa+N-d}Ձt_Sf+0*kMuhĽDQ<6;kAt5+X+"LgcH<3ن~v9rފ LIA$jbJ-lsRW^-Eo`w-`{2hAvUjz4} c۲j|p~}hCN)$W 1uR;,Y4WXGkWZQAjNd̬6rDnfm$kYx׿ʭ[[Cҗy/Pk/:_!Gcё<YhYMQ ɔbФ S%|EV7?R4>K? f@QDPQƵFlPR(+4NKe5e /'F*)<.W% Uh.$#yqHrwBr/>& U@#9 k(teyx1ِL#LfZBUjח|ᬪKQs&kD:QvU9FFJIX㩑rPX"6(q| Zu{"l4drYCx7I\L^~/@cw8!(AL5UU 1KUSD$9ƭ\0/˸L`Uun1r-R$l$]wtjclkp&I3LI9cy IDlJe˕^XLtmRJ46@/xV *B5R)\쬸K]axɳF>@Y04L4V_eS8Q16Lj[Q\e$2Z8*5I'^4jxƚuAM]?Ꮿ xw&TG+W v&i Rm*<^%u9p0hxz41Lm^,J"עj2jOۉãcɣkZM"c]@`fuojcR ܂3׿el{eI;:(5 As̒«7+M5F'{ O\ >{uĈ1z͸[bSص#`;N r63!N;#i@xm o)dkoTdRd$_Q;Yh}{|i k(!PGC0.qձB:pNébv̤&%[*W.@~ȉ/?!^hQX=Dʱd"@ոV1fɼwICSȵNYJK$ Kg"l8x8?~EXJ2},ӎT޹yfqpѾhߞ1 =ӣz2/ hgb!M%帵R}˜SWr:?xڝ~O?c%ܹs૿->_~]wo]=_7{뇣a3.?)ǜ4*lUZԫ Ёib'WoX =w7Uv7b;⠼~_|폾ƛoɷa:&ms?_n}w^؝]u]z0r< l,ORqKwrACH]+) c<*-H,l a灾E_>Gz<5gչEv: ugۆ|cGON2_cszY OܜxXO㓎|tbQ~*|:Bzl} B,94XrAD9,yqs%JK0.pު12Ys0S!-@^u` Q!qY:2ˡ# (j9=.އ*z~g90mq9˲"DF{R^b9[%|v9@՜71C &4š+ī8¢$ + o15=Fo0! aC0! 0! aC0! 0! aC0! 0! aC[n];D] D))Ei´N"M{^19 Qli|±xÜ8n ]F"&҇|nvyh/~纜F,|I`+& y๯bmQ],kzѓAZ6)Y+&g¸X'epA}N{Mr0a7!9Q^nIENDB` !* PNG  IHDRFGr1!gAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATx\U_Ϲ/.p/(PxQVԖo~mb?j`Ҥ6&ƤX54F0GRyU@yޝ̬5<4 \N>{fZ[n<n`nh>|ݶ狧fY CρvY`Rʜ_;OcvRssp/|Oر}`'{Ɵ|rެ`|_./󧦦IOv\0 +%XX>k+ïb{fvx/_~s(yx1А1{o{#GhɒciFz4g\\Q rS8:0G m 3.\@W}NiwU4T)xk hx"qvl!0t1fk)iLNcz4-ZǏ{GV4`ځߊ+h!aN0x"2Ǝ8y(h4kZW_}߷ ɹAƅ ͥvm?i15ӌ{uM]5k͂k݅mC-n-YDA89H&.jsҕ+1s=իiz'4)O)y`X&7wc*GTN={577z({K0ʛL\.(9xH(*x(/Y$)O;v%5 ,N`.$B7E>::j 6IzF鴴7ϟ$Y{AE-4O~W_[brMLFb@AʝWָPM:t?MjD{Nj^`1f"}HPVpEƋG~mDIxR{Hrpc+zYSglzQkJ\|F!Le mcw+˵q. W-.Zc٦d n *KY*eۘ`BD@\fݚQ0#\Tģ0pxشi^&U!&' >Wc>x6"⸦ T{Q" U?ظqS 0@"s)qzC4_H\,$.1&R{ 0'{7!>ךWk {hnYh!9d*=^K!6{-TD\o zwf'Ҝɬ4N(DC\xF)8$ZR0y dOe˖4"dWBz2܃=2a9@Z\ W(2RUCU*@Ant4zh IxDBrٷ8k5U Ar``c[ͦPtXm#%Yk -t͌ ȼӤU N==e1LIq9pL /70A$*҅'~}|/MԁKqϭ4zǍ֤ !ܙt$xi>P|a< D:uΝ;㕅WNs 춈H^TraLxxlt1D"^( 7ro5 .W*}g&/w]816iDWR<&MJǰrJ)PUT`8Qծ;W(K.3 RE .()bQys DđsNREe\@2j:} =c&jÂHAv1< db"H viL!iLꡪHERhk& YJ@XkSIZn\kN@ʨv*`hgbvlRzKSHJ"J> "XE&S-/&!= KuJX׋>Sĩ xs6Ei($DxU邘Nc1\ZBUR{jxjˣNmVSs+Ixʥ(B&Ae`?}owuXcf&YvaܩquIRSawY s"ptM/ɤQ 3gκC!T*2#fSG/ )G%)g;6!g$$P+"rx#$BwmI)TJ@u/N c4p+NV 3f0% 9:m1n|KWGTeGb!Ui.NR |RHO@@8Zr'5gf]WԴNɘ9ǡ" '[;OqE}J"j`ukq *TN={ЛԤ DO ma7 B+-4ob]<̰ӥBŔj(s}ZPXmp8OI`;w=J+WdQe?׭kvUJ6dl+jәYEp:yYDK3|\j,;WocU1ʴRV8u~Z,O7bእeۨ.Mqg3Cli_jB-}zzi͚5^i]*~҂ c8&~rbz]Bp!F .\h&Ad#Yil-,ΧV2j\X܌bUY(B f5ʟhhh4,dS-E\ԖFpUZRzi +DU6مyչ 둑L x@@΂`}ZZ;JTT8(zd1$ȌPEФS~EV2-W6͓z+mJv'^]>o\}z@BMx?YAnJˤ̤øxS {Jo{"rvBz̔[X))]tBtkMC͌ Nh8\OS tkn3%92)ڲC%ʐ1`NVcx2.N4FBGK<;)T]u)ԡZWsjW1RIENDB`-' DPNG  IHDRY+`gAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxMivQD ,cj4&z②1<Г=j3 B#DC>>,EGfձW^ugʳ]g!"N>{^/?/_|oWo^o?//~[?_>|g~3u~w~/sŻ ?ֽnz߷ZmVvjk-|g?qN0_W};Td,̫W~kzz~ꧾ}~ǮK~ۯqm}%k_ڿ~~~Gw㏿u}Ƶ0}X⛹~ƇM;w}o^w_O{|>eې<p{ fklsg{:(uyvxcmypx_2k_9g1畟Sd{>Ok=K?}3?3F4bd;;\oo^_7o޼lzx4~Pg#z6\dog#@35 Z=X3m5 ܬu7c oh?L@y2{ks|W1_Yϒ~!P>=[%[knQm[y}30zoz Y^ؑpOċ~ׯuah~.#kxY~7~ٟ`T߽7zϦҗQ-fC=?cK+jCPԦ:mNft+Ru;jC2ϋkPEsX˘gϚY]_}иf8Ej0pќ5{ t~w;K#2j|SnaPY̟7bxEΠOg}9OOO֏>id_`2ʯʯ?ַ"9l6dQdcT #L17-gCVܤ'p^sm1_F6B>4 .:ΉuA,f3H|&t3Y<0J/c̨w ?gGuI@8A,;0o#鉠=ZFF6q?ɕA}g9Qgk+}__O߅Qb#YWo __}yWFI>PLjg3s#yQF2]&⃫„##}۸6 [*_6)9G z=늌DZο|0N>7݊G^GݧuO>Oω■w݇8) 46׿,(̟S \?B9=CGalxfg߃O׿[Ci?a"WW??yy=kQdz ěưC=q8῅mČ(qRVG.F B hܚkDXѺ߃V-G½k-=OU\峩(`1w㹾VP)9nې g>4_u{FLٝ<e[d3\y` ?mW?c}s'Ho )\#l:gt-39ÄG {>04=u~ ]_ˀvsW!aoK7,n`NPF\2<0KJD̆{٪N w$gC(kX"fm.oj?_>Z_jGُ7F]ug8?˦R38,x133׍NQ'ʀnE&?;bhe*8Ajh2CFw ^. :y]TU'uf&HTm>inQW^T]eL6ߍWENE_WP|PN6L갌)R{0Q9nEC7̠h 9:}!4??b4gT+J>ѩ*>uqΈ0ZO,π%|[Y[7F3CAd9}y ^nћYL*FpS.pyгJcEIs0i5?x'* J.9al}r lT$cZ4MIcvCBO_\!1xwQL V/n2.>7tYA{pc5 w {ѯ,~vɚhDyf^^ɾ V4[leM},*O̰|YwgH37W$y]l1%M"ZїSeG04T^{JG:ڊĔ"~y=_C#[kl< #sQ4V)][1tظ7\ڢ,0>gweCeNqe~Zun2պ1n)yϕc^W$L Ś7볾5%{n)v66/]A&8S%`˅ =)0rPEث 曡1.#!-h"@P` ތ6ɿ֍YY8)2v۶YhDT~ِXȎe1On6̷/7s ^NL;RMR3/t~maclZr+"@T:Imd^(H6w1NFu54X۬$l+ q{0?Tz̾}kZEnuyCgQ1|O:\FѱXZѢ:Y*Ej3oqK4AŰ(#]G=膥hJ P@nӠSfGHaPѣ`\MIF$̖_-Z{N֍$DuX(b#3x YMٝ&Lȿο) vl/v7IUB:13%g0nJOUy"[YjhX..֧-1m٩aXBI׿w_RX#u8 m+vJgT:1\Y7Om Yざ_mXjя 9:"aGƳ0toN7^y]+!o-Ubē5eFXSt^k;Wۈz/]tG0#w]& s8[,{FC/AFZ2ݎ;Fƅ3 c9b#O4שGfK A*:9U:Npϭc$E6[Er n娔Mǡe-+m:zo-ro_pBw1ׯ_r]sڎV}Mx쫼`.&-x m qjzstqnUTkA&WEYѢ'RB?[Ə4# k: N %X5Vɭ|joS8L>_>ն^Ȥ)jHywc3p$^ Ƃ8;<ԋŪ^Ezxn)Q17eJW kB7\WJn]R?VW,ѶacۤZtNjK[H1ݷ{ӱ@IB[e7@ fH0tڏ>KִFW^YW _4g +eq_'V)SpҊ!5\K 8 =FdgkX]w([@U& Q{UJ9=ӆsg'KvسXkZ;Q# ճeU\pD )x—c(c bV$n=t}iy_G#rP++.J)ǘWwboyFZݖs-  b2 6jX5ɍ`*nA<)SWӢZF~fbўasch_ |l:S{h)WG$tkx]uQKu~r_Зu87;s:VpVK(YM5yKGW(aArB.s=.lqp:܎U|p G4Qk411C9u*D62j5:}y՜;^y|&nl }E[N P51lKu3[׉W[%f:S2`<[s ##7M:+Us`;t xh[aڎ٣̋dF>ϻvU9V?㲜[)7xETt[6,T:g62cًUP%'WYK Q+I'VedKp.آ}9VeLьmrߛؓ[fs?؄ܫPJ{ )S١ZfQw وV#~}-FERҨ[U*m'zxF6Y,Qn-%D3jؠq_:`PjpݩZ1~gEש Wd lMmm0 "tP6MM|kDv@i{M~#q1\:DYDxsRlhT+XTgshN:z>d^ZӐR3\bLl=W%kN03C*}uIf^0F*q$G{Ԋir,UWFv\fXkF|N=Zj."g<U?Fs׵PFZ8VBR.xFd. 2Tѱ6& Q= b :S[XbKkJaa@yz{#ݩGSJHnZ|3ߠSPE7yoId}O% "7qNl(N#A =9˭r*o]ͭPN<ۍ Q"Y2 5ˋ,~֔RP{*-׼8n:} & KmЅLQHBhhZ[FᙂX{~q큹^B7'v Uݼ>UH藓h[+8`$¢۹+`kF=Y3wp"{`I9ݺ1pT}.T$4O O"mK歉¿[cKpgM~pQJ{>Z#_W=8픒6œԊsYm>v}M᧴+CC=\فt v[ ٫\z3S 5z7`{VUjhT=n+}KZΑ`PϮhrӈl"G.@UzE?c$2#=jq1QnPUgCܧ4-qSF7x^زȍ߻K#?[5#7J;v'7WT1P`"fst{;"yns$Rd*1H*z0u~P:mt&Jn޶h8qJn4ƷqU_EOFLCU%nƀm0FlT_EO(|֝s.s9ɕJf8Ʀэu r0ܒ{f);[$;"VFk۽o5O=o25޻٘QkQ:@pC8\Ԩ]P4˩TE4%8>頻Ǻ+U@t h-:IQg4(w5Zcksf\eeWG a% d0oͬgၞX!Gu½o3k^/|j\x3w ~`AazKskACg ޟ&;^B*wF9+IpB[ Zنa]Qru9z)z%55l^~Y|s ,јm )Kh%ປKVe_v^h,yHc0$F+_@l91dS޻tynŕƞR\$"|*NTo|>GFatx&t9d,Qv@͊c#!bTTpĶhC \+Fvn4a>zKMpމ!rP,x=TVsv,- <-Hɍ7o9mޔq-E 3dj"MŭS4lln]ڌ6[Z*G!攽xTE|pܹu'lv. HRò#[ۃ\D"I(junnhl~nu-08n0q::5sYl;@7]'#Linj$=PhȞNۨ G)BU·1[TeovqGU 9|Hw?pv:OR^n`))~m0vx{0 UNHMg +⯁gQc˸}fn੊̼66Ig}W 1:J *M6 gA)'m \}ƃOC k-+=+%x'eg!NoL4lhAbUVKwGq뼫ۼS::aCT qm l3+x~9{;Z ѫh^]~P-ߕr+.FHQAX}w؈m׭_pUt5lQM#k\]Vc88h}'eU$Oj(YBWɹX eh3$cV]u)j6}L⁈5_$Ywoi|YY]"٪B֡bYUV4Uq+,T"ZϪ2g֦(-W֯W 2ipL=_ZiXp ^$F7m']dgBro*NNd w<&Dud cՄa,4O-RmjZE}쬷¡[w`EuV:san>F0Lw}fjkr(^hױ4՛NuצwAܵn*jf)a1]$ozU`.ԴTݷ8Ŏشs.[k^fhmf{~/UTAalQ 3h@*IۀCNMSpRNSm r(b|V:fv3ŭ3M^k-\t,rQ :N#nCd9V*SA5^4bPr7Quܶx/6VOVj5L>DKmEqe%\JF5S?{L/mJCf7CJPT9{Fd+44Bf:g8ۀˉxFF{>$C9&0f*OEhx>@bIB4F͟{[Y,m6yGm.OYߦV紂MӫO˶کј2j5th8n,:|Z=΄iSp66%RdjALQ{װˎ #¬UQ=AQ7&>S\AORJQJu gzW`ڒ!2JwM`D_XiP@oQ0kd[Â" w+vF}4zyRv#>+kן 4jb+!>g4U.}j W'9?j YvS`3~.9M?m9̾=Iu9 <[Uz*W:X -PR׍D^8)FbktQK\/~)tfKxF2>SFq+gV]*v&NÃjFI[4k&WAq}gT[~Zfh6!dRE%3dLyܺ gZFə?=5\PĀo=ƞh -eucqbǎKUDk >tW.Ft@ҥ鈊䦽MkWn5u6=CFZ)`n2UHxﹰXQwѐ-*NP <`k鮽hC>gA3wdkxZ2vI]ܺRrY\3B6Km:5}7c!t|I>{4PގHk$lZj5hۇs] o {FT]xURtMQF#yKE.Vedh]+,m\l3q^Zs;lNnR&9=姁o׊,Ԙa7JoT{ 9~[mS9"dƵZ$Suz 'Ulb7S |HK̪hsѻ#[\Z;6ѶgW[fh|mOEhfz_^'U,ܱfSs'\x [$(T2N6SR%\k#wUaQSVEc8?˛4C ic h PX*wm*r2hɰKUi^̢1 xMu'a4W QYz/V=0zEJ=g2|ߛ8;bwɲ5x X7oYW ³u5voɮ];)9]E.nW/\R.9g\CKP6z|7ۄqjP8家«6n_۸pJ WB0Re͑Ҷ4z/onF\*V=vwmJq&^`q"({+&Cr4W\[Ýr4|g[(ߑ@Ѻ|(fVgL$MN-SBwZ.*iU꽾q1bn5ΌATl)C֔Rx2`r&S5rȅQ:^2=e;i ZT#}pp6 &, ,g)(W>9VZ685 ew9@54bU\Y)13k R_!e^kntr4\^?sK?\vz#W-b!8J4Cd1+%àm\PZ^E5)ɍUݧjQJF{)\1r e4N9X*ޠS G3|lFdCbxi۞B2%,c5s:oiUi ݻEs SZC e`yot`>ܻZƷ ljkWV3&Bbu+9z.6+EͨԳJEcG=zȣ@~J}o\FƹQ/e"ҭ[1B9*z\hzʖv3ɱIIm(k4W5ޙΎ+4N{ *,n510ޫ୩kj'JdamV#h6Ω\-5b3Ul#nh{ ,9->gʵ3štqg$4ǛI`Z 0m)gu0;15zi %T24+6eRoQFEcC n|~vii'Tӂ yUYAAda4)m3޷ qxR#;8#Ɖ^*G(Kzԃ`A&`k?0oQV2`{㔅m:,nivŌY{+1>Gr,@)"8wiрMN8jc$_:9y}%g\"O6;L,'Ta{Y[z8"-Ȅt:܏%OF(U۪5Qrh(PkX.&WvdQϗz +m-:QT"'ZEB'*lą6_)ín B&QZ S%$ Y7(ϰt HW#UpCxf\vk=ҭ6^Cd&c/g4@\"tX,}p=wdά+X fW&{O^sǨσXFZR_s\0dԔq42 ɲ8Mu5tD[:{Q,(&TQ޶VΠJl/󜰐VlBkWN^+je1zĭ$gS"#{;d'յ ;`]`n33p.]32#xqW* U$H ktHuߵCv_zVY푥`Ÿ]I.>abYԠz8TNg&Ϫۆ-ig5ɭ&j! fRxqEPxɧ@eg1h[ |r#+{O"%݊Q*~xԸ6Z oOffce#{ ۂ&E:#-(7z*#;f9unީ-F E51!}͈9vkk g .j nZQǢ ćRL yo6zA9`(`Xx—%i;+rxٳRmAmWT2S^o+4M 9% h-O&;Xeiɠ,0y ys2.9[λ|Wg|tjmUQ+l֨u("yGgu5}SԳl9Ӽ93[ѹW`T2#{-[9]ecE-<8T?>#R߄34`oďnMşW܍ƠOE[s"v#"",9BiZPF2ڑ#M1RܒĴgpmtFu~En/mtѦU[{1: MyZUxSo)yWؘnt!W+ /BUH^8l}X SMv,>A9;ߔXJ,.xSdK:r~fѲ8Uu62VkWϷ9q[Dn9iMYΫvZksfdeg Mf.زiFT4hN^wijEv6TWp54roNi7cStB`#Y0kMdCp!ZNi8BߢJk|-՞n~q 'ynl|y̆1h~yLN}N̖M O0\ w&RKb*S\c Mt=l\GYdi:nQI6θQL!+KmlU9X,.1 8XϘtNWalD]]X9u5p!֣}@bmmRObdG|MvuƦN|G]RoyB2=Vuzm)ln"imE/:,JlѪ[_G5l##GkY6q[@cTvm3rPQ=3⣚ecCAT#pSX1k!7/R4miIƿ 0Hk5 q(k6 rU,KͿ΅UȩV+bNqK[o!+z1KvB,^9nl~4`3.ѯX>fؠSFm*8 \Ye׷?<5mx(!λR6'&(& U_:)"lGyjJ0_)[.Cț*UUwu}o(ŋztۄq\.TNcej*΅xK=N+# QDn!fq-&XY;:s{H\  T΋ +3kfUUVP6./cAV:IV5.DKӅ3:1;5(NOټOc F8lџ6eJÍ6 t+8m}xο[Lc-i@7yl%8;#r.5Pq6t]b,8:G]0h?><%`POL]+E;(Vyì"Oym 2o 2OilaCY#mCRSю6 Ұ2TDXpfPm#R{&˰m,fCCe~׳-dN:f-2k"%T{ĎTR#KR#Rb4‚ѩ\֖o$Wj"'QS No+VTQ:ze ڟeUn8$]dlL{I%hrh:Wd]!N0!s"[Y*=؉s]-CXIFR)\VgȟQYjY]OQK 8RxJǷ+%9I.yYβTTcr-~r+8:LQ!bҀymcԭa6KC])5}d`JԨr,^jv6Hɍ;*ITt*Tv: 6}G{ ׸"r* Ĩz'Mt/1܂]\P0uokaCხޟXVmHM4 '),t`9 flzvJ@J^ 5 6g@V&"Uh[|g'7%'i$Gܰ?nR{B{zt͛o66^ک {cA,kiJdه"Wuꕧ~Ejn0^X{ce~G[5%#7e7;|KSȼ>5.ڴMXKn&E孭٥gt ވA죍lu{h-`@ԕUYHu*mfCtF"O+ s*c>QM ?mD()Jv dԮ$3MшmaɜNuv]0MT{1.u'|VnuyNu2x0x.NE ܵ5QƋ;H|"'AIm4Y*xv+MUFeh])G6x,dJ6a*`m FxUԬ&o"#lxϊ%&`TnF]5.j88lpWkSj/HW&Z'X2wӓ3%l/:HƌL''Nm{|\( Р8i-:ӆ)laAZ6 h7Z}LyH+Zad$AX$N'] 8MERF8ȏT,6\)rp&+Jzm"3(t_;Lh>YÆzWƀX ;66m\AU ^p6[m:ZKvhktH TjCk8ưsu,њSق5a$͛BEg`ؤXO#p7.ńJ[m:^makEX1PAn-Q-6/RքXgMwfT69uelczU Vq4gY&cd!˝x_zo8#iNYX, Nlouzh ưRc=(:,ƢbCk/ʊG#[- {Jt.q{Rߊa&NjVߊX~ .}sꨯ jdL64G*AhB#JWƐb:lgu] (Y88aǏ;xqQm 缗 Ռ 9|2Lʢnqu1fE,lF{TGWTPZ<utgm+)ڪU]-! D%Zn U- T(\J( ܟnoM3`YDcD\ю͙V`;n6V d;6&Dgh}f5V3gؐ+vEtn.[>(\Ef\I%* ,$e&S}mѓc)#mZQ |l7̓ yԌ6aFeV싢FUuRu3GV4TEs0 gIb)301Y>jqhaU6D 0uPU$4Eϭn8 l(ͮS}WUpGYpBʃU'| .Wi#oq*W#2t6T N\ ϭ?z t6pmy]iAXϧ  n'd+>D*5/[ G=e,fmSb.=ͩINjLkWCinoу7iN4LI17؀ PxVcL9OJs<-6cIy!m8eyO$@\CBd;Y&&n^XL"w2j:fe2kϿJ kOn8Mac͹ o-ąϞxj6Z0K IE{ۨnt5bPNTԾe, :ЍY1km/Ҋ8 K-ck˭-rj [6n5#xwhYd5?͓*6)^F:ubp|KYʭ%!*mN?p<y.{>R֎CJɟKA;5nbPfJ/8n+1`XlLS}p-4|J,nj5wn1Ցa2QlM>5o6Awd3zfSάRd\p\\VM1R ?[jcSTp'q(h غsX;E8BZXUƷEϑ`xZ̨KvظJvq99tj@h3n0mQUTX*- tJA9J_:u44(R#KQũe %]!ۆ(3C|% ]]dT3Gv5"B6r\<4O5uݾ=5ml.5 lBI-\[ NβX;֑tvܶWy!rr_3dnO\ 2ek3S1kH}[­Q _[%\E>J#vkU8e1!b֪FIAsΗ85)m-EzK}IwdM KlAbu|=o^mia2` ƂEnŚ)ϷH#XJ$PqL)&9Zhcky G%^R' l7;ٓn3AMzeT6֭iM:'2yS%JˣǷ>l; c"q򳈣0ZoK.Vn/'b#Vj(]+hxu$ 3V˫g}UiũoQ6*^򗿜c]h&l2pdSCcʽ fPJ1t]j\vQ'ÂவrU{s|tE~+IBWt}2B-6G uuIgi 'J{߱KhӅٵΘw+|]ԯ\'8w$Qz"Wft)V[ Xڌ$n0ݚ9s:Ul^G^`GjxVZSG6U0hku6hN變v8#Ym01Ԣ'd:O}*HjC:T)CQ:ok=Bdn?ge)+`yżF)Qo?{C -ؙes0Ve-,i':"wS8fm_~((yj8aj:5``œd aT6 n ~9Nm%M 4qVdF& H󝵛 j5¥+~#>B)ou HTڼǴ= _weH]$m\D-=0ԆFctY]426dQPaedd+jgNo5A}W!:J=L7Y;1yinYgSq r,`U3 Sv1sh\UkKM:50DL\O j( f趦nVO.QbmFQxCzTHin^Iً6+2`vcZY`UQ ިn6:c(.8KxzutKpmhiG?ltJe@+"amEj"3;-ө^P@2#LLC!Z+W]ZiWɌuX!txoܤz1TG$Wqr&։Na>Fwn$+]VQ┆s~mc?]$"I`NNU֝9| QnQɔ3 cn1śSd,XYjO 8OGyDZ 4L*dmyeQ[@b5=1p>~]!幋u*TЙJ6t`r$?\vo>sZ+Ci70+e@8*Zx$7yVl9j1]̄3WXQSAH'[qΟq#Fk.FlPZOթfeMLmh5XC^. '-mtRNF2XL9g>^i&J6cP@c\)M(oTxRu6hS6́mvGu0gih[Uˡn+1\q8UC4F5l~w ˗C?[WIնqItٍ[ց;9,Q)Pqq7-M:"b//'Vז\SNc*oM-A8j9nT]t/Wjǩ#f"qY*+9$ 9t)~):HjLö1?qNkjxV?U,2( Dz9lX,JذTt9\dY܍]p- ԁQϪ?[#']s?|uyR tXDV:HQePՅ)ǢlTz~6X[ŻG2'Qux 5uطby9fZŌθ'bTkAn6Y)p_T-`ۨ$2̽'1Y|€9/YFBHw.BV*>nM%u]3P#qnq7+˵.̯JXzU]?pZMxgCu7C(]6Pr+}wd]\8]>'+ٺu*B*J6ꌬ>vpBᮆTZ* &-NøySC|3+:쬁{vjsq¨#Ya']dN86FJ5Kl /EhjcZkDgl4`׺vAIȚP]9ChOndݶ6=|iјY6[lJg ?7nYoBNEN@o6Q ^my6J6)E=li*m75Ţ+/Yr4(c Ix`1ުOll[YkaHJQlKRc`ur6Wckϩj cFle[iFz-Un ^ [ǘ&w*>VW^`Ca5RJk⪈UqCK5L G!堣*ΰ3m/6UmEJ*1Ppjs!PD VYǼ@SѶS \-T=Er[xk ۞SH-8b;5Aa6r6/{װz:uxO#rݯdB^)rnSnٜK63;F5\Mz7Vr6ޮ9BLR,^dd߼ya7^d6h1P*BfYh. * tr2ex뉺hLDhxOYY+-0gJy6"36o)sB 1T `o&b13ʅ F!U.c-<m4rU)2 Gn,,J`v.ol#`*RϚz}4C >z[[z5{ Uz$%䁦}*pmYc!U=y㚤Y~AVW㴹@(RO䦥6y>o<sYI}ϱZ%] `7lplRyDMw0'BaTm\p--ckGZX{ oT.+^{($Tw cEe',o9wxI0HS&[f3^` Z\tmbXcGH/AnfTwcz1H7Gnz*Rf+qERxf首/ъ5l)蠢&YQTsD!vqft1e'~~*J}_6 F~؂26jNxfaPÝtȦ3?õ#k©,,:~5ďny],TmzJA:M=E'\Dz6JMڅ,\*DM#5SÁkCwJ<-O'l a-6 ~J{'Z#'?E7Y0j{#\D&7V˟#J7 *qi!eX'dIi0}!?55M"N&2n53G' 2am6$4UL.4Mj]]Z)ܹJo=VUqNZmS#gX̪V`桭jixiw6GDxckE^qKyɚ 3q"ٻ:n=RaȭɵXQхy;(Ino= QxY 7 T^OI dʦp2fXĻtzr]Ý5BgYEm7ew_  [E*y}Y<޺බZ3^rG&dU}KO-ɩh?m8 F;)%=FEJ[X#8oIZtp՛NDg.,p>SQɍ6EliD蜼cg=nӞRUKKƉF*şlg/_ ;޾‰i '9 "2QhWڿ0# OFtBX4y*x㖐Gi( 6'3psSɇws=(XfM!f 83) iCGӭbTƜffs*+,њ⇗Bۣ}6& Es~06*H5cX'd*CEUlf[:6'uj E^!آȚ@j`rRrFc3 s;cqj5T%>w+K&E5]"F `z k5o NU֯0͓ Ge6Qs|K?8ʵn}XL'7V[z*̓#oҐ m$F=ku+Ų8q-ۊUģ(HNo)/ *g{VkX:M1i8LنkSh+eD]D[Y /UW9yם Wp欄VAr~F.JcmLMȢV*P jQ8yn~nԽl1̆vv¹Rm=?zZơʹ+f c0gw{ec`> ̎Pmy[FQG֐ur.:!%(f<|j6IvMM@ д]5v76ym* vA|NV*UˠUc$pefFҸ1s,VF>Z+E<ê ӻ\MJUuꆚsgQ6Au k6tlˮ߬O-@Eź0{zj3*, =F  (X zռ,^G)άE8a6뾹THRH7f1!< 55xaPOMQmTQ̌D{ܨF4Wb=[ZlkjA-Q#TX4y ITo -m'¬%n|Dދ _c Z5^o+ĴPBFk [uUX(~ :Faf|k@3h[m(ҸU3/&!Q8'py.lыC3"jJ۩:F~|t"+& Y'R1Qq}r̽.jܳ 3tӘU= u M|lma۞jMvkkEG7y=M?*A<2cܛFOed?fxH^]PҠZ[o-Љt"[[<|S#EE*x$צޤί?鸨PR'H(^?4C;ΚP]f4&$&SuYMiFUXH;QĶ=Q;%0Sv͵ ԰fHSe]!mąux+Q[אS^5Zb[N2#^*E ]LGF(X4yxJvy62|E"!J:qWYstgU8\R1aER67n`kYC޸Նɂ^ ^bkl=L*6ʘSTvB +wzI7Gd\2Qn3h؄ho%nha5!lmܘ!5ܱM=ҬAs6<k:ԺԘA!F[.F)2H{:ن5?<*{# tm=948g}9iε: 5R%x.B8[ ?#dVlSJyɭ.}v뾩_z "ٶ6"9]pWtHQwnJ;_L6M?}'&]ȼ"t\Md4zKL\'ε9^MȞJ]IE6> zC_Y+M#sQNcϸtݎ| e1ՖB\5WY5-Nu9p1 ;COsO6Hc@}FoWu[fE qUMfja>0{Son>ǭ^JUkcTZظPht(Su(SXgal n.xNN䊒Kc9Q I+qDvgRri8vŒӚ9VH$ۇAʼn[(\Wx}~eQ?n|_8>sϪb]j;x,yUלb؊ 5]sc7l #Q2*28hظ'2:\HNT*$=F xu7,t3bǽư.-D,di࡭(uܐlI8]>[vT0_dC?^]lux$[u FvظPΑ܂CQ#AO;aMDz FN+c>ۨ->V;?k4J`{s'7CˈƁ̗YWsc{(~dF,uF>?"~ׅ5l2O.G[wd_5~6}}}=<2c6vJVںM,rSn)mjNC!7 eIAS6XҧM 'VϸB-caz6PpHc57 Jܺ#)IPF: slE'u[t;sqA{otr&̵q^ۯ+6~nu?|z{Vj ]{nC%T;<,lDKk ̡(klJ^_YRȘs +c`vk>ىeq? GgQa=??6v.9O0vP%6jM Ha%B Er,08'D5(5F$H(o#YFw׮vLf(v;NTb=fL8 ̩8Rb l՜4NEU[[<.ҹ@b¬ŹbLٚܟk'Ɗzf9*D2HxrOgq7©#qclYW0^Q~<\ ~}w㇋okK!afMcр"w)x?fWU4APU9=Q6PN`3u=%wJ o +(1Z' {>'pg}mjVStOrgrMWe=?l}}GCv3 |̴[coNW=(.cv8O)o_F[fp7}mю[O-9_Ud@Ljz_ }~=_U|}_߆ȕ0Ⱦ/} ·Fs4z~=~ģO#_ĕ=iLa6 {Fz~ُ~W@Ezil_xՑ3Lz~=~aGi|!#O*xw*x6ϯGn/>[W·D E\ԫ>8DC"ٗ ưZgz~=~XٵOèdOVz}3z~=~\ B)Ҡ/ɾX병}~=_?F'e`cd7}l`_ϯ׏-(sw1mg#z~=~\{ 0:7]8IENDB`:8!PNG  IHDRT3gAMA7tEXtSoftwareAdobe ImageReadyqe<fIDATxkeǿ3fi1цA/RW((TIA"!QB#ԃHA.x̩*`HѰ!iwd;3;Vޝwy|YEtj<1 =dsX,O;qf t곙+f45y> }zEQ q+`p/O]@'?j$f2r;؎܍6&Hq_O7u$y]|)m : TioO:SI, O>XcrA\O&ScYo!T.P@SՌ]"]y湗}әJ sjc8 vdV?bpGmR2$Qf6VN2ۮ>K9`Hs4N@TqF1P 36B"\KR) PdBOA &PAP5xvsl^VBn"vdT u`LثK"4LvwaXF;KMsO&P1 ;5]^PIQ%P;L @lxs)'~  MEƲLXG? @UZ/^! v ARtG!u:{5$Mn≎4}CJfFW*;L6 %UXte^-<J@OASOG-HM^o(T,J.PjTEC؃vy CPu Xy 7 qm-ΐB}/.P$~ uQx4ʩ7GP:roq]%!EiuqR YRY]]'U]4z3݈F!.0FU =L}S0}(dDBtɀFHPPt_{ݑ\0LbFY0jGmF>3FD(.q@.zL#g Rվ29B^6x}9[G[:i,#Im h@Q 埾zI:T*R_xq|0 q>F{ ^od)r^YZXkIOp IENDB`KIDPNG  IHDRMtgAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxYke&ln ӒIJ(r=QUxУ)#4[0rݒd7nfg+_nnx73߼͛yo |gb!];99 VUkGY^^`nnbx`^\ڶꏽ2ޙ… ή$  yM?\S ޺r 02RB*n{`V;(Lf2_ l$A.պ (J7Jb4 nZD>; oƖUX}Vz]2;I:C:1PNI  $;#FpTώDF'y}͸k[IbfȽF OqՎHAuD^,F>P"2c32U:n#VQB.SXH f!檌9n5*nVd ^y,*cI@l5 (~N-T;yW}ZVzM{uE]'%PN.!o{:Q源`{/mQϊ <N}&}EtFAz:Nuw[pٓS@t q>L"'4֫mK5dEsNv ꮀP`oichhVF``}\eT@d2ぁ׎Yc<S K!l6k\b<<3a y*f|\fɊ@¥wܪ:ohvvd!ʵiG&W}kCQ SSSg7d*mx``o u-#( WMkL](0M_5 u,,C`'q')r0N3uAZ`aE@ͱ#!QػO\wv 7Y`P=d@WmG$I(Oف˧ G:,9::-:m%#f& (EFy qTFTNFP&Y,;ȺwH}Pzp]Ԯ1|T*}zuOu`+W8~@W]`Bu.Mdž@Ѓr:}_㾺6uQxjMHFfff!xCHk0軭"ʐ%`Ƿ7$-@(l3ty9Rwww7?` !@O12EpHVi_- E5>>`^B Ղ+)5PM&`0}xG@@xQ5+&'Jl\^5FOaHq!M\ r3M(1%A=xkU^WiHPiD/X8J iIENDB``c8PNG  IHDRMtgAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxMkQo&$mjJ)H ijZ* kŕ/tA(DJEڦir%NJWdy{gfNBi꒶6sT-rrV󇇇?VVVruϳ\:PJEB{0rpbb}>WÊ5G>śPjhhHr9dT(RdRSH$2no}CPuwwєa>==:;;up8c4ٙQgwxÈWi1' Ѧp}$`Q%jv ] (֏}q tNb kkH6xOψc:QCc "cn+Yj}l2_l싖u!bFVi $skwqV9GhXzk+Iٓ0V%]1.V(乽mD㢈Bg̚]S)$[t B/91yJB]jMK`'_Xx!YKS]Gcp޹~a/1Z#}&.R5ff 6>>>E()/p1+5⹯NhJ~ m~~G[\^^޾ݣgb 0wI4IENDB`wAIPNG  IHDRMtgAMAOX2tEXtSoftwareAdobe ImageReadyqe<PIDATxYMo16IS>S*Q8S D%$(E#MMi'YڨjS\xv=#EK!kk!rQ"#0  6u9`b784:diDW j@Ddt.#)$1/\3jP7`Nûtm ap`ߵ +fGAE1^2Mw43PzZ-.1Yw5FД&HhMM*/!3Y;)0)*:T}'*ÎqC ;DLS$}  [ dxMMP$,a`a% ΅Aqd{!iD71L/[8q*FD.tAE"=k)m&:?DR죢*.N.:}V ",2|;"r{gG ɥH NE-yKތeP-[+HCvw-9D=TL"4Ed'1>LwpUss6ǬW)RIDXWOFdSM9VY+SDD ߍ;9>#jRvq5Dbk;os'<@kՐbNF.nDUVG򸍈lp}J7TDna'^&҆xExQCc`Pnn#)|A1 bo0'M4ElfPz(2,'=Q}f~~AE2uC":-?mk6N@>o%sʔTa/Ṳ5JB8`ohOIENDB`"cPNG  IHDRMtgAMAOX2tEXtSoftwareAdobe ImageReadyqe<SIDATxYMo1M))( BB*q!!H?EBP =P~i'oҩl6";oxg]QiM,ęe (x`2&y&p %#qcBpL>diDWUb&rƏ--zi$I W 5B}b'^"&a5 ;eFg1q^2 u0 DgP:XVۜn$UCm5:&^ r*/ 9'ZcuxA@ SxaG%@}fN(}e<C$e1>D:*4qE /#J"GDI\d ¸tRV{ SiD*1N{.[:v.FMEfH_ E6"G6EiE"{)Q^zuτNs~&Lp9?KcH2) .+.OQtyvI4P q-)kO#,/r5]aeu:)ZC[?媎~ܾ+ E^xwM wX_@퉨𶑘='z,aeGDq1 WBex#BVIAQw"fBY15d2X"Nn=;Ѫl C{q2#8JLWPLM IENDB`3APNG  IHDR< =gAMAOX2tEXtSoftwareAdobe ImageReadyqe<IDATxn@`elCH>BE+5J?JB{nU7Qj>͝; p>Fd|$81}JYUE[,Ws95L zd4IӋmz_4gӉHE~>i^No-bw$~1G?+Ⱦ\o.D|2]_b9,pg㓒~f>t&w$4ЎUS}0vٹ%|EL SQ;zNʵYIMTRa}rQwT y\ If~4A=C"z nuݨ ҆еz$44 BqbGjײ06| \޿(!! 2$$!CB IȐ!!CB2$dHȐ 2$$!CB IȐ!!"r5L2|{A%(, E'yGÄb+J>l \etRL2\O|# dj=&cN&`p K:x99n#~ p%^>^1ChH&>arQlBGNP4D2_E~Kc%aLpZ-}Nt 8UKZ:rp/W_LgK#oixjRƃOjOgdGvsrZo4Aj/˜N.xn=͂5)jj~b+䶆jIENDB`G'3CFBundleDisplayName = "RAIDar Widget"; e// -*- coding: utf-8 -*- //------------------------------------------------------------------------- // Copyright 2006, Infrant Technologies, Inc. // All rights reserved. //------------------------------------------------------------------------- localizedString = new Array(); /* Get and write localized string */ function LS(key) { var ls = localizedString[key]; return ls ? ls : key; } function WLS(key) { document.write(LS(key)); } localizedString['CVUFS'] = "インストールされているディスクの台数に応じて、RAID-0/1/5から最適なレベルを選択して、RAIDを構成します。"; localizedString['UXRAID'] = "X-RAIDでRAIDを構成します。将来、ディスクの増設や置き換えが必要になった場合、作業を単純化できます。"; localizedString['Web Setup'] = "設定"; localizedString['Looking for ReadyNAS appliances...'] = "ReadyNASを探しています"; localizedString['Attention!'] = "注意!"; localizedString['ReadyNAS appliance to monitor:'] ="モニターするReadyNAS:"; localizedString['Status:'] = "ステータス:"; localizedString['Empty drive slot'] = "空のドライブ・スロット"; localizedString['Fan: '] = "ファン: "; localizedString['Show first discovered appliance (default)'] = "最初に見つかったReadyNASを表示する (デフォルト)"; localizedString['Repair the fan to avoid overheating.'] = "温度の上昇を予防するために、ファンを交換してください。"; localizedString['running too slow to be useful!'] = "回転数が低すぎます!"; localizedString['Thermometer reading is too high!'] = "温度センサーが上限値を越えました!"; localizedString['Thermometer reading is too low!'] = "温度センサーが下限値を越えました!"; localizedString['Switch off the device to avoid humidity buildup.'] = "結露を防止するために、電源を切ってください。"; localizedString['Volume 1'] = "ボリューム 1"; localizedString['unknown capacity'] = "未知"; localizedString['Drives'] = "ドライブ"; localizedString['Device is setting up...'] = "デバイスの設定中です..."; localizedString['Device requires setup:'] = "デバイスの設定を行なってください:"; localizedString['Setup'] = "設定"; localizedString['ReadyNAS Volume Setup:'] = "ReadyNAS ボリュームの作成:"; localizedString['Expandable Volume'] = "X-RAID"; localizedString['Flexible Volume'] = "Flex-RAID"; localizedString['Reserve disk space for snapshots'] = "スナップショット領域として割り当てる容量"; localizedString['GB'] = "GB"; localizedString['Create volume now'] = "ボリュームの作成"; localizedString['Cancel'] = "中止"; localizedString['Done'] = "終了"; localizedString['Monitor'] = "モニター"; localizedString['Unreachable'] = "接続できません"; localizedString['(showing last known state)'] = "(過去の最新情報)"; localizedString[' is not responding. '] = " は応答しません。"; localizedString['This might be a temporary network problem, ' + 'or a serious issue with the ReadyNAS hardware. '] = "一時的なネットワークの問題か、" + "ReadyNASのハードウェアの不具合の可能性があります。"; localizedString['Look for other devices?'] = "他のデバイスを見つけますか?"; localizedString['Yes, find another device'] = "はい、 他のデバイスを見つけます"; localizedString['No, just wait until it answers'] = "いいえ、このデバイスが応答するまで待ちます"; var KnownStatus = { 'ok': { 'short': "正常", 'criticality': 'none', 'desc': "正常動作中です" }, 'resync': { 'short': "RAIDの再同期中です", 'criticality': 'temporary', 'desc': "RAIDボリュームの再同期中です" }, 'warn': { 'short': "注意", 'criticality': 'vulnerable', 'desc': "デバイスは注意を要する状態です" }, 'life_support': { 'short': "ライフ・サポート・モード", 'criticality': 'critical', 'desc': "複数のディスクの故障が検出されたため、RAIDを停止しています" }, 'awaiting_recovery': { 'short': "リカバリー待ち", 'criticality': 'critical', 'desc': "ディスクがリカバリーを待っています" }, 'spare_inactive': { 'short': "スペアディスク", 'criticality': 'none', 'desc': "スタンバイ状態のスペアディスクです" }, 'not_present': { 'short': "未接続", 'criticality': 'none', 'desc': "デバイスが接続されていません" }, 'fail': { 'short': "故障", 'criticality': 'fatal', 'desc': "デバイスが故障しています" }, 'dead': { 'short': "エラー", 'criticality': 'fatal', 'desc': "デバイスがエラーを検出しました" } }; var CriticalityText = { 'temporary': "(数時間かかることがあります)", 'vulnerable': "(データの整合性が失なわれている可能性があります。できるだけ早くチェックしてください!)", 'fatal': "データが失なわれました。", 'none': '' }; var CriticalityMap = { '': { '': "デバイスが異常動作をしているか、故障しました。" }, 'fan': { '': "ファンの異常: できるだけ早くReadyNASをオフにしてください。動作温度の上限を越える可能性があります。" }, 'temp': { '': "温度異常: できるだけ早くReadyNASをオフにしてください。動作温度の上限を越える可能性があります。" }, 'ups': { '': "AC電源の異常: AC電源が異常です。UPSはバッテリーから電力を供給しています。" }, 'volume': { '': "ボリュームの異常: ReadyNASをオフにしてください", 'resync': 'KS', 'warn': 'KS', 'life_support': 'KS', 'awaiting_recovery': 'KS', 'spare_inactive': 'KS', 'not_present': 'KS', 'dead': 'KS' }, 'disk': { '': "ディスクの異常: ReadyNASをオフにしてください", 'resync': 'KS', 'warn': 'KS', 'life_support': 'KS', 'awaiting_recovery': 'KS', 'spare_inactive': 'KS', 'not_present': 'KS', 'dead': 'KS' } }; zD//------------------------------------------------------------------------- // Copyright 2006, Infrant Technologies, Inc. // Copyright 2007, NETGEAR Inc. // All rights reserved. //------------------------------------------------------------------------- var debug = 0; var tempOneTime = 1; var cstopTimeout = null; var front = null; // front side of the widget var back = null; // reverse side of the widget var setup = null; // reverse side of the widget for raid setup var gInfoButton = null; var displayC = false; // C or F var nominalWidth = 350; var nominalHeight = 211 + ((debug > 15) ? 100 : 0); var currentHeight = nominalHeight; var raidStore = new RaidStorage(); var raidSelector = new GenericSelector(); var FL_RAIDLOCATE = 4; /* Blink device's LEDs */ var FL_RAIDSETUP = 8; /* Create volume */ var FL_RAIDSUSPEND = 9; /* Stop countdown timer */ var defaultReadyNASModel = "ReadyNAS NV"; var KnownModelInfo = { 'ReadyNAS NV': { left: 28, top: 97, src: "images/readynas-nv-std.png", glow: "images/readynas-nv-glow-red.png" }, 'ReadyNAS NV+': { left: 28, top: 97, src: "images/readynas-nv-std.png", glow: "images/readynas-nv-glow-red.png" }, 'ReadyNAS X6': { left: 28, top: 37, src: "images/readynas-x6-std.png", glow: "images/readynas-x6-glow-red.png" }, 'ReadyNAS 600': { left: 28, top: 37, src: "images/readynas-x6-std.png", glow: "images/readynas-x6-glow-red.png" }, 'ReadyNAS 1000S': { left: 28, top: 63, vOffset: 35, src: "images/readynas-1000s-std.png", glow: "images/readynas-1000s-glow-red.png" }, 'ReadyNAS 1100': { left: 28, top: 63, vOffset: 35, src: "images/readynas-1000s-std.png", glow: "images/readynas-1000s-glow-red.png" }, 'ReadyNAS Duo': { left: 28, top: 97, src: "images/readynas-duo-std.png", glow: "images/readynas-duo-glow-red.png" }, 'ReadyNAS Pro': { left: 28, top: 97, src: "images/readynas-pro-std.png", glow: "images/readynas-pro-glow-red.png" }, }; var catchTimer = new DynamicTimer(catchPackets, 200, debug ? 500 : 3000, findDeadDevices); var queryTimer = new DynamicTimer(queryNetwork, debug ? 500 : 3000, 30000); function callFewTimes(func) { func(); setTimeout(func, 200); } String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); } String.prototype.toInt = function() { return parseInt(this); } String.prototype.escape = function() { var str = this; str = str.replace(/&/g, '&'); str = str.replace(//g, '>'); str = str.replace(/"/g, '"'); return str; } var ButtonActions = { 'backButton': { 'function': showFront }, 'webSetupButton': { 'function': showWebSetup, 'disable': 'true' }, 'createVolumeButton': { 'function': createVolumeClicked } }; var Buttons = new Object(); function bodyLoaded() { window.resizeTo(nominalWidth, nominalHeight); window.widget.setCloseBoxOffset(14, 3); window.widget.onshow = onShow; window.widget.onhide = onHide; front = document.getElementById("front"); back = document.getElementById("back"); setup = document.getElementById("setup"); for(var bTag in ButtonActions) { var ba = document.getElementsByTagName(bTag); for(var i = 0; i < ba.length; i++) { var buttonCaption = ba[i].getAttribute("caption"); if(!buttonCaption) buttonCaption = LS("Monitor"); Buttons[bTag] = new Button(ba[i], buttonCaption, ButtonActions[bTag]['function']); if(ButtonActions[bTag]['disable']) Buttons[bTag].setEnabled(false); } } RaidOSDiscovery.grokNetwork(); RaidOSDiscovery.installListener(); onShow(); } function showPrefs() { if(window.widget) widget.prepareForTransition("ToBack"); front.style.display="none"; back.style.display="block"; var maxHeight = currentHeight < nominalHeight ? nominalHeight : currentHeight; window.resizeTo(nominalWidth, maxHeight); raidStore.selectedSomething = false; /* Nothing yet selected */ if(window.widget) setTimeout('widget.performTransition();', 0); } function showWebSetup() { if(Buttons['webSetupButton'].raidIP) widget.openURL("https://" + Buttons['webSetupButton'].raidIP + "/admin"); } function showFront() { if(window.widget) window.widget.prepareForTransition("ToFront"); window.resizeTo(nominalWidth, currentHeight); setup.forRaid = null; setup.style.display="none"; back.style.display="none"; front.style.display="block"; if(window.widget) setTimeout('window.widget.performTransition();', 0); /* Blink the LEDs on the selected device */ if(raidStore.selectedSomething && raidStore.selectedRaidID) { var raid = raidStore.raidList[raidStore.selectedRaidID]; if(raid) RaidOSDiscovery.instructDevice(raid.ip, FL_RAIDLOCATE); } } function createVolumeClicked() { var raid = setup.forRaid; var st = document.getElementById("status-" + raid.htmlID); if(st) { st.innerHTML = LS("Device is setting up..."); if(raid.rsData) raid.rsData.settingUp = true; } var msg = ''; var snapshot = document.getElementById("snapshotSetting"); var xraidsetting = document.getElementById("xraidSetting"); var sgb = snapshot.options[snapshot.selectedIndex].value; var msg = "XRAID=" + (xraidsetting.checked ? 1 : 0) + ";SNAPSHOT=" + sgb; callFewTimes(function() { RaidOSDiscovery.tellDevice(raid.ip, FL_RAIDSETUP, msg); }); showFront(); } function onHide() { queryTimer.Stop(); scheduleCoolerStop(); } // Stop coolers after a few seconds of hidden state (saves CPU) function scheduleCoolerStop() { if(cstopTimeout) cstopTimeout = clearTimeout(cstopTimeout); cstopTimeout = setTimeout(stopDynamics, 2000); } // Stop coolers movement and other dynamic things (saves CPU) function stopDynamics() { var coolers = document.getElementsByTagName("cooler"); for(var i = 0; i < coolers.length; i++) coolers[i].style.display="none"; } // Display coolers and other dynamic things' movement function restoreDynamics() { if(cstopTimeout) { cstopTimeout = clearTimeout(cstopTimeout); cstopTimeout = null; } var coolers = document.getElementsByTagName("cooler"); for(var i = 0; i < coolers.length; i++) coolers[i].style.display="block"; } function onShow() { restoreDynamics(); RaidOSDiscovery.grokNetwork(); /* Setup periodic UDP queue checkup */ queryTimer.Restart(); tempOneTime = 1; } function queryNetwork() { RaidOSDiscovery.queryNetwork(); catchTimer.Restart(); } function DynamicTimer(callback, fromInterval, toInterval, optStopCallback) { if(toInterval <= fromInterval) toInterval = fromInterval; this.currentInterval = fromInterval; this.fromInterval = fromInterval; this.toInterval = toInterval; this.callback = callback; this.stopCallback = optStopCallback; this.timer = null; /* For one-shots */ this.intvl = null; /* For series of shots */ this.iteration = 0; /* Number of timer iterations performed */ this.shots = 0; /* Number of shots in current iteration */ var self = this; this.onTimer = function() { if(self.intvl == null) { if(self.timer) clearTimeout(self.timer);self.timer=null; self.currentInterval = Math.ceil( self.currentInterval * 1.5); if(self.currentInterval >= self.toInterval) { if(self.stopCallback) { self.Stop(); return; } else { self.currentInterval = self.toInterval; self.intvl = setInterval(self.onTimer, self.currentInterval); } } else { self.timer = setTimeout(self.onTimer, self.currentInterval); } } self.shots++; self.callback(); } } DynamicTimer.prototype.Stop = function() { if(this.timer) { clearTimeout(this.timer); this.timer = null; } if(this.intvl) { clearInterval(this.intvl); this.intvl = null; } if(this.shots) { if(this.stopCallback) { try { this.stopCallback(); } catch(e) { ; }; } this.iteration++; this.shots = 0; } } DynamicTimer.prototype.Restart = function() { this.Stop(); this.currentInterval = this.fromInterval; this.timer = setTimeout(this.onTimer, 100); this.intvl = null; } DynamicTimer.prototype.Running = function() { return (this.timer || this.intvl); } prevTemp = 77; // global tempDirection = 1; function catchPackets() { var debugHit = false; var maxFetches = 50; /* Try to read a single packet */ do { var pdata = RaidOSDiscovery.retrieveSingleResult(); if(pdata == "-") pdata = null; if(pdata == "?") { if(maxFetches-- > 0) continue; else break; } if(!pdata) { if(debug < 10) break; if(debug >= 20 && tempOneTime-- <= 0) break; debugHit = true; prevTemp += 5 * tempDirection * Math.floor(2 - Math.random() * 1); if(prevTemp > 150 || prevTemp < 10) tempDirection *= -1; var macDigit = Math.floor(Math.random() * 3); pdata = "00:0D:A2:0"+macDigit+":08:F0" +" raid"+macDigit+".networkzzzzzz.com " + "10.0."+macDigit+"." + Math.floor(1300 + Math.random() * 50) + " fan!!1!!status=ok::descr="+Math.floor((100+Math.random()*1000))+"RPM" + "\ntemp!!1!!status=ok::descr=26.5C / " + prevTemp + "F::expected=0-60C / 32-140F" + "\nmodel!!1!!descr=ReadyNAS 600" + "\nups!!1!!status=not_present" //+ "\nups!!1!!status=warn::descr=American Power Conversion Back-UPS RS 1000\nBattery charge: 100%, 37 min" + "\nvolume!!1!!status=ok::descr=Volume C: RAID Level 1, Redundant, "+Math.round(Math.random() * 100)+"% of 222 GB used" + "\nvolume!!2!!status=ok::descr=Диск: RAID Level 0, Initialization 35% complete, "+Math.round(Math.random() * 100)+"% of 222 GB used" + "\ndisk!!1!!status=ok::descr=Channel 1: Seagate ST3250824AS 232 GB" + "\ndisk!!2!!status=ok::descr=Channel 2: Seagate ST3250824AS 232 GB" + "\ndisk!!3!!status=ok::descr=Channel 3: Seagate ST3250824AS 232 GB" + "\ndisk!!4!!status=ok::descr=Channel 2: Seagate ST3250824AS 232 GB" //+ "\ndisk!!5!!status=ok::descr=Channel 5: Seagate ST3250824AS 232 GB" + "\ndisk!!5!!status=not_present::descr=" + "\ndisk!!6!!status=not_present::descr=" + "\ndisk!!7!!status=not_present::descr=" + "\ndisk!!8!!status=not_present::descr=" + "\ndisk!!8!!status=not_present::descr=" + "\n\tRAIDiator!!version=2.00c1-p9,time=1142112000" + "\n\t66" ; } processPacket(pdata); } while(!debugHit); } function processPacket(pdata) { try { var raid = new RAIDInfo(pdata); raidStore.UpdateRaidStatus(raid); updateRaidDisplay(raid); raidStatusInDoc(raid); } catch(e) { log(e); if(debug) alert(e); } } function updateRaidDisplay(raid) { var rid = raid.htmlID; var newRaid; var curRaid; var oldRaid = document.getElementById(rid); if(oldRaid) { if(!oldRaid.raidInfo || raid.unparsedPacketData != oldRaid.raidInfo.unparsedPacketData) { newRaid = raid.toDOM(); front.replaceChild(newRaid, oldRaid); curRaid = newRaid; } else { curRaid = oldRaid; } } else { if(raidStore.selectedRaidID) { /* Don't show something that is not requested */ if(raidStore.selectedRaidID != rid) return; } else { /* Do not replace existing device */ if(raidStore.currentRaidID && raidStore.currentRaidID != rid) return; } newRaid = curRaid = raid.toDOM(); oldRaid = document.getElementById(raidStore.currentRaidID); if(oldRaid) { front.replaceChild(newRaid, oldRaid); } else { front.appendChild(newRaid); } raidStore.currentRaidID = rid; } raid.rsData.div = curRaid; hidePlaceHolder(); setWindowToRaidHeight(raid); } function setWindowToRaidHeight(raid) { /* Adjust display size */ var newHeight = nominalHeight + 70 * (raid.volumes.length ? (raid.volumes.length - 1) : 0); if(newHeight != currentHeight) { currentHeight = newHeight; window.resizeTo(nominalWidth, newHeight); } } var placeHolderHidden = false; function hidePlaceHolder() { if(placeHolderHidden) return; placeHolderHidden = true; var pholder = document.getElementById("placeholder"); Hide(pholder); if(gInfoButton == null) { var ib = document.getElementsByTagName("infoButton")[0]; gInfoButton = new Button(ib, front, "white", "white", showPrefs); gInfoButton.parent = ib; } else { gInfoButton.parent.style.visibility = "visible"; } } function showPlaceHolder() { if(!placeHolderHidden) return; placeHolderHidden = false; var pholder = document.getElementById("placeholder"); pholder.style.display = "block"; gInfoButton.parent.style.visibility = "hidden"; } function RaidStorage() { var rs = this; this.raidList = new Object(); this.selectedRaidID = null; this.noTimeoutForID = null; this.currentRaidID = null; this.selectRaid = function(optRaid) { rs.selectedRaidID = optRaid ? optRaid.htmlID : null; rs.noTimeoutForID = null; try { Buttons['webSetupButton'].setEnabled(optRaid ? true : false); Buttons['webSetupButton'].raidIP = optRaid ? optRaid.ip : null; } catch(e) { ; } } } RaidStorage.prototype['UpdateRaidStatus'] = function(raid) { var id = raid.htmlID; var raidText = raid.name + " [" + raid.ip + "]"; if(!this.display) this.display = raidSelector; var sel = this.display; var oldRaid = this.raidList[id]; if(oldRaid) { raid.rsData = oldRaid.rsData; oldRaid.rsData = null; if(sel.options[raid.rsData.sIndex].text != raidText); sel.options[raid.rsData.sIndex].text = raidText; } else { var rsData = new Object(); rsData.id = id; rsData.sIndex = sel.length(); sel.options[rsData.sIndex] = new Option(raidText, id); raid.rsData = rsData; } this.raidList[id] = raid; raid.rsData.lastSeenIteration = catchTimer.iteration; } function findDeadDevices() { raidStore.findDeadDevices(); } RaidStorage.prototype['findDeadDevices'] = function() { var maxMisses = debug ? 0 : 2; var sel = this.display; if(!sel) return; for(var i = 0; i < sel.length(); i++) { var rsData; try { rsData = this.raidList[sel.options[i].value].rsData; } catch(e) { continue; } var idiff = catchTimer.iteration - rsData.lastSeenIteration; if(idiff > 1 + maxMisses) { this.raidDisappeared(rsData); i--; } } } RaidStorage.prototype['raidDisappeared'] = function(rsData) { if(!this.raidList[rsData.id] || this.raidList[rsData.id].rsData != rsData) return; var raid = this.raidList[rsData.id]; var sel = this.display; for(var i = rsData.sIndex + 1; i < sel.length(); i++) { var nextRaid = this.raidList[sel.options[i].value]; nextRaid.rsData.sIndex--; } sel.options.splice(rsData.sIndex, 1); this.raidList[rsData.id] = null; /* Do something with the raid already displayed */ if(this.currentRaidID == rsData.id) { this.markRaidTimeout(rsData); if(this.noTimeoutForID != rsData.id) unDisplayRaid(raid); } } RaidStorage.prototype['markRaidTimeout'] = function(rsData) { var rid = rsData.id; var divRaid = rsData.div; if(divRaid) { divRaid.raidInfo = null; } var stWrap = document.getElementById("wrap-" + rid); if(!stWrap) return; var tmDiv; stWrap.innerHTML = ""; tmDiv = document.createElement("div"); tmDiv.appendChild(document.createTextNode(LS("Unreachable"))); tmDiv.style.fontSize = "18px"; tmDiv.style.color = "#d43412"; tmDiv.style.background = "none"; tmDiv.style.border = "none"; tmDiv.style.textShadow = "#202840 0px 4px 5px"; stWrap.textAlign = "center"; stWrap.appendChild(tmDiv); tmDiv = document.createElement("div"); tmDiv.appendChild(document.createTextNode(LS("(showing last known state)"))); tmDiv.style.color = "#ffffff"; tmDiv.style.fontFamily = "Verdana, sans-serif"; tmDiv.style.fontSize = "10px"; tmDiv.style.fontWeight = "normal"; stWrap.appendChild(tmDiv); } function unDisplayRaid(raid) { /* * If the user has not selected a RAID, and if there are multiple * of them running, just switch to a different RAID. */ if(!raidStore.selectedRaidID && raidStore.display.length() > 2 && 0 /* Do not auto-confuse the user */) { findOtherDevice(); return; } var div = document.getElementById("frontOverlay"); if(div) front.removeChild(div); div = document.createElement("frontOverlay"); div.forRaid = raid; div.id = "frontOverlay"; div.style.height = currentHeight - 22 - 30; var tmp = document.createElement("DIV"); tmp.style.fontSize = "12px"; tmp.appendChild(document.createTextNode( raid.name + LS(" is not responding. "))); tmp.appendChild(document.createTextNode( LS("This might be a temporary network problem or a serious issue with the ReadyNAS hardware. "))); div.appendChild(tmp); var qText = document.createElement("DIV"); qText.appendChild(document.createTextNode(LS("Look for other devices?"))); qText.style.color = "#f08040"; qText.style.marginTop = "5px"; div.appendChild(qText); var qSearch = document.createElement("DIV"); new AppleGlassButton(qSearch, LS("Yes, find another device"), findOtherDevice); qSearch.style.marginTop = "5px"; qSearch.style.marginBottom = "5px"; div.appendChild(qSearch); var qWait = document.createElement("DIV"); new AppleGlassButton(qWait, LS("No, just wait until it answers"), waitUntilAvailable); div.appendChild(qWait); front.appendChild(div); } function findOtherDevice() { var div = document.getElementById("frontOverlay"); if(div) front.removeChild(div); var haveOtherDevicesAlive = (raidStore.display.length() > 1); var divRaid = document.getElementById(raidStore.currentRaidID); if(divRaid) { if(haveOtherDevicesAlive) divRaid.raidInfo = null; else front.removeChild(divRaid); } raidStore.selectRaid(null); if(haveOtherDevicesAlive) { var newRaid = raidStore.raidList [raidStore.display.options[1].value]; raidStore.display.selectedIndex = 1; raidStore.selectRaid(newRaid); updateRaidDisplay(newRaid); raidStore.selectRaid(null); } else { showPlaceHolder(); raidStore.display.selectedIndex = 0; } } function waitUntilAvailable() { var div = document.getElementById("frontOverlay"); if(div) front.removeChild(div); raidStore.selectRaid(div.forRaid); raidStore.noTimeoutForID = raidStore.selectedRaidID; // Do not timeout this raid } function raidDblClicked(sel) { raidStore.selectedSomething = true; raidClicked(sel); showFront(); } function raidClicked(sel) { var sIndex = sel.selectedIndex; if(raidStore.selectedRaidID == sel.options[sIndex].value) return; /* Already selected */ var sValue = sel.options[sIndex].value; var raid = raidStore.raidList[sValue]; if(raid) { raidStore.selectRaid(raid); updateRaidDisplay(raid); } else { /* Probably "show all" was selected */ raidStore.selectRaid(null); } raidStore.selectedSomething = true; } function changeMeasurement(temp) { displayC = !displayC; // Toggle measurement units var divs = document.getElementsByTagName("div"); for(var i = 0; i < divs.length; i++) { var div = divs[i]; var c = div.getAttribute("c"); var f = div.getAttribute("f"); if(!c || !f) continue; var tn = document.createTextNode(displayC ? c : f); div.replaceChild(tn, div.firstChild); } } function magnifyText(div) { if(!div.oldStyle) { div.oldStyle = new Object(); div.oldStyle.fontSize = div.style.fontSize; div.style.position = "absolute"; div.style.left = "-48px"; div.style.width = "294px"; div.style.height = "125px"; div.style.zIndex = 100; div.style.fontSize = "11px"; div.style.opacity = "0.9"; } else { div.style.position = "relative"; div.style.left = undefined; div.style.width = undefined; div.style.height = undefined; div.style.fontSize = div.oldStyle.fontSize; div.oldStyle = null; } } function displayDiskStatus(disk) { var status = disk.getAttribute("status"); var descr = disk.getAttribute("descr"); var text = KnownStatus[status]["short"]; var color; switch(KnownStatus[status]["criticality"]) { case "vulnerable": color = "#FFF090"; break; case "critical": color = "#F85830"; break; case "fatal": color = "#000000"; break; default: color = "#50FF77"; break; } text = descr + "
" + (descr ? (LS("Status:") + " " + text + "") : LS("Empty drive slot")); displayNote(text); } function displayUPSStatus(ups) { var status = ups.getAttribute("status"); var descr = ups.getAttribute("descr"); var text = KnownStatus[status]["short"]; var color; switch(KnownStatus[status]["criticality"]) { case "vulnerable": color = "#FFF090"; break; case "critical": color = "#F85830"; break; case "fatal": color = "#000000"; break; default: color = "#50FF77"; break; } text = descr + "
" + LS("Status:") + " " + text + ""; displayNote(text); } function displayNote(noteText) { if(!raidStore.currentRaidID) return; var noteID = "note-" + raidStore.currentRaidID; var statusID = "status-" + raidStore.currentRaidID; var note = document.getElementById(noteID); var status = document.getElementById(statusID); if(!note || !status) return; note.innerHTML = noteText; note.style.display = "block"; status.style.display = "none"; note.discard = function() { note.style.display = "none"; status.style.display = "block"; } if(note.tmpTimer) clearTimeout(note.tmpTimer); note.tmpTimer = setTimeout(note.discard, 2000); } function RAIDInfo(pdata) { try { if(system.platform) { /* Konfabulator does not need escaping */ } } catch(e) { /* Replace unsafe chars with entity references */ pdata = pdata.escape(); } var outerArr = pdata.split("\t"); if(outerArr.length < 5) throw "Invalid data format"; var arr = outerArr[3].replace(/\n([^ :%]+!)/g, "\t$1").split("\t"); if(arr.length < 1) throw "Invalid data in property lists"; this.unparsedPacketData = pdata; this.failString = ''; this.mac = outerArr[0]; this.name = outerArr[1]; this.ip = outerArr[2]; this.htmlID = "id-" + this.mac; this.versionUnparsed = outerArr[4]; this.software = outerArr[4].replace(/^([a-z]+).*/i, "$1"); this.version = outerArr[4].replace(/.*(version=(.*),).*/, "$2"); if(!this.version.match(/[0-9]/)) this.version = null; this.bootFlag = outerArr[5]; this.fan = null; this.temp = null; this.ups = null; this.model = null; this.disks = new Array(); this.volumes = new Array(); this.parseArray = arr; for(var i = 0; i < arr.length; i++) { try { var raidProp = this.parseProperty(arr[i]); if(!raidProp) continue; switch(raidProp.type) { case "fan": this.fan = new RaidFan(raidProp); break; case "temp": this.temp = new RaidTemperature(raidProp); break; case "disk": this.disks.push(new RaidDisk(raidProp)); break; case "volume": this.volumes.push(new RaidVolume(raidProp)); break; case "ups": this.ups = new RaidUPS(raidProp); break; case "model": this.model = raidProp.descr; break; } if(raidProp.failString) { this.failString = raidProp.failString + "
" + this.failString; } } catch(e) { var err = "ParseProperty [" + arr[i] + "]: ["+e+"]"; if(debug) front.innerHTML += err; log(err); continue; } } if(this.model) this.model = this.model.replace(/^([^\s]+)[\s]+([^-\s]+)(.*[\s]?)*$/m, "$1 $2"); if(!this.model || !KnownModelInfo[this.model]) this.model = defaultReadyNASModel; } RAIDInfo.prototype['diskSlots'] = function() { if(this.disks.length <= 4) return 4; if(this.disks.length == 6) return 6; if(this.disks.length > 6) return 8; return 4; } RAIDInfo.prototype['parseProperty'] = function(line) { var parts = line.split("!!"); if(parts.length != 3) return null; var prop = new Object(); prop.string = line; prop.type = parts[0]; prop.num = parts[1]; prop.key = new Array(); prop.status = null; prop.descr = null; prop.failString = ''; var kVals = parts[2].split("::"); for(var i = 0; i < kVals.length; i++) { var kv = kVals[i].split("="); if(kv.length != 2) continue; switch(kv[0]) { case "status": prop.status = RaidPropertyStatus(kv[1]); break; case "descr": prop.descr = kv[1]; break; default: prop.key[kv[0]] = kv[1]; break; } } if(!prop.status && prop.type == "model") prop.status = RaidPropertyStatus("ok"); if(!prop.status) throw "No status in property: " + line; if(prop.descr == null) throw "No descr in property: " + line; /* * Prepare human readable explanation to a critical problem. */ var ctext = CriticalityText[prop.status.criticality]; if(ctext) { var cmap = CriticalityMap[prop.type]; if(!cmap) cmap = CriticalityMap['']; var expln = cmap[prop.status.string]; if(!expln) expln = cmap['']; if(expln) { if(expln == "KS") expln = prop.status.description; prop.failString = "" + prop.type + prop.num + ": " + expln + ctext; } } return prop; } function StatusNoteHandler(div, func) { this.eventDiv = div; var _self = this; this._mouseOver = function(event) { if(_self.insideMO) return; _self.insideMO = true; func(_self.eventDiv); } this._mouseOut = function(event) { _self.insideMO = false; } this.eventDiv.addEventListener("mouseover", this._mouseOver, false); this.eventDiv.addEventListener("mouseout", this._mouseOut, false); return this; } function setStatusUpdater(raid, tag, func) { // Setup mouseover/mouseout events var el = raid.getElementsByTagName(tag); for(var i = 0; i < el.length; i++) { var div = el[i]; div.reactor = new StatusNoteHandler(div, func); } } RAIDInfo.prototype['toLayout'] = function() { var raid = new Frame(); raid.hOffset = 0; raid.vOffset = 0; raid.zOrder = 100; raid.id = this.htmlID; var self = this; var raidImage = new Frame(); raidImage.vOffset = 20; raidImage.zOrder = 110; if(KnownModelInfo[this.model].vOffset) raidImage.vOffset += KnownModelInfo[this.model].vOffset; var raidImageBox = new Image(); raidImageBox.src = KnownModelInfo[this.model].src; raidImage.addSubview(raidImageBox); if(this.failString) { var raidImageGlow = new Image(); raidImageGlow.src = KnownModelInfo[this.model].glow; raidImage.addSubview(raidImageGlow); } raidImage.onMouseDown = function() { var items = raidSelector.contextMenuConstructor(); popupMenu(items, system.event.hOffset, system.event.vOffset); } raidImage.onMultiClick = function() { openURL("https://" + self.ip + "/admin"); } raid.addSubview(raidImage); var raidName = new Text(); raidName.size = 14; raidName.data = this.name + " [" + this.ip + "]"; raidName.color = "#cccccc"; raidName.alignment = "center"; raidName.vOffset = 20; raidName.hOffset = nominalWidth / 2; var s = new Shadow(); s.hOffset = 1; s.vOffset = 1; s.color = "#202030"; s.opacity = 100; raidName.shadow = s; raid.addSubview(raidName); var raidInfo = new Frame(); raidInfo.hOffset = 75; raidInfo.vOffset = 35; raidInfo.zOrder = 102; if(this.version) { var raidVer = new Text(); raidVer.data = this.software + ": " + this.version; raidVer.size = 9; raidVer.vOffset = 9; raidVer.color = "#ffffff"; raidVer.zOrder = 105; raidInfo.addSubview(raidVer); } var raidMac = new Text(); raidMac.data = this.mac; raidMac.color = "#ffffff"; raidMac.size = 9; raidMac.vOffset = 10 + (this.version ? 9 : 0); raidMac.zOrder = 106; raidInfo.addSubview(raidMac); raid.addSubview(raidInfo); if(this.temp) raid.addSubview(this.temp.toLayout()); if(this.ups) raid.addSubview(this.ups.toLayout()); if(this.fan) raid.addSubview(this.fan.toLayout()); var status = this.genStatusObject(); raid.addSubview(status); for(var i = 0; i < this.volumes.length; i++) raid.addSubview(this.volumes[i].toLayout(i)); var dset = RaidDiskSet(); var slots = this.diskSlots(); for(var i = 0; i < this.disks.length; i++) if(i == slots) break; else dset.addSubview(this.disks[i].toLayout(slots, i)); raid.addSubview(dset); return raid; } RAIDInfo.prototype['genStatusObject'] = function() { var raid = this; var defaultWidth = 140; var defaultHeight = 60; /* The whole status object */ var so = new Frame(); so.width = defaultWidth; so.height = defaultHeight; so.hOffset = 75; so.vOffset = 40 + 18; so.zOrder = 500; if(!this.failString) { var ok = new Text(); ok.vOffset = 50; ok.size = 50; ok.color = "#cccccc"; ok.style = "bold"; ok.data = "OK"; var s = new Shadow(); s.vOffset = 4; s.color = "#202840"; s.opacity = 100; ok.shadow = s; so.addSubview(ok); return so; } var bord = new Text(); bord.width = so.width; bord.height = so.height; bord.bgColor = "#ffb0b0"; bord.bgOpacity = 50; bord.zOrder = 510; so.addSubview(bord); var text = new TextArea(); text.editable = false; text.size = 10; text.width = bord.width - 2; text.bgColor = "#602020"; text.bgOpacity = 220; text.height = bord.height - 2 - text.size - 1; text.hOffset = 1; text.vOffset = 1; text.color = "#ffb0b0"; text.data = LS("Attention!") + "\n" + (function(s) { s = s.replace(/
/g, "\n"); s = s.replace(/<.?[a-z]+>/g, ""); return s; })(this.failString); text.scrollbar = false; text.zOrder = 542; so.addSubview(text); if(!this.bootFlag) { /* Device is not fully booted */ text.color = "#f08040"; text.size = 12; text.bgOpacity = 0; bord.removeFromSuperview(); if(this.rsData && this.rsData.settingUp) { text.data = LS("Device is setting up..."); } else { text.data = LS("Device requires setup:"); var se = new Image(); se.hOffset = 25; se.vOffset = 30; se.src = "images/setup.png"; se.zOrder = 600; so.addSubview(se); st = new Text(); st.size = 9; st.hOffset = se.hOffset + se.width / 2 + 5; st.vOffset = se.vOffset + st.size + 4; st.alignment = "center"; st.color = "#cccccc" st.data = LS("Setup"); st.zOrder = 610; so.addSubview(st); se.onMouseDown = function() { se.hslAdjustment ="0,20,0"; } se.onMouseUp = function() { se.hslAdjustment =""; var res = form(generateSetupForm(), LS("Setup"), "OK"); if(raid.applySetupResult(res)) { st.removeFromSuperview(); se.removeFromSuperview(); text.data = LS("Device is setting up..."); } else { alert(LS("Select Expandable or Flexible volume to setup")); } } } return so; } so.onMouseUp = function() { suppressUpdates(); if(so.width == defaultWidth) { so.width = 300; so.hOffset = 20; so.vOffset = 35; so.height = currentHeight - 45; text.size = 11; } else { so.width = defaultWidth; so.height = defaultHeight; so.hOffset = 75; so.vOffset = 40 + 18; text.size = 10; } bord.width = so.width; bord.height = so.height; text.width = bord.width - 2; text.height = bord.height - 2 - 10 - 1; so.zOrder = 500; text.zOrder = 542; resumeUpdates(); } return so; } function generateSetupForm() { var ffs = Array(); ffs[0] = new FormField(); ffs[0].type = 'checkbox'; ffs[0].title = LS("Expandable Volume"); ffs[0].description = LS("UXRAID"); ffs[1] = new FormField(); ffs[1].type = 'checkbox'; ffs[1].title = LS("Flexible Volume"); ffs[1].description = LS("CVUFS"); ffs[2] = new FormField(); ffs[2].type = 'slider'; ffs[2].description = LS("Reserve disk space for snapshots") + ", " + LS("GB"); ffs[2].minLength = 0; ffs[2].maxLength = 50; ffs[2].tickLabel = new Array(0, 10, 20, 30, 40, 50); return ffs; } RAIDInfo.prototype['applySetupResult'] = function(res) { var s = "" + res; /* Convert to String */ if(!s || s.match(/^0,0/)) return 0; var xraid = s.match(/^1,/) ? 1 : 0; var snapshot = s.replace(/.*,.*,/, ''); var msg = "XRAID=" + xraid + ";SNAPSHOT=" + snapshot; var raid = this; if(raid.rsData) raid.rsData.settingUp = true; callFewTimes(function() { RaidOSDiscovery.tellDevice(raid.ip, FL_RAIDSETUP, msg); }); return 1; } RAIDInfo.prototype['toDOM'] = function() { var raid = this; var div = document.createElement("DIV"); div.innerHTML = raid.toHTML(); var divRaid = div.firstChild; divRaid.raidInfo = raid; div = null; var ibOffsets = KnownModelInfo[raid.model]; var infoButton = front.getElementsByTagName("infoButton")[0]; infoButton.style.top = ibOffsets.top; infoButton.style.left = ibOffsets.left; var imgBack = document.getElementById("imageModelBack"); imgBack.setAttribute("model", raid.model); setStatusUpdater(divRaid, "diskStatus", displayDiskStatus); setStatusUpdater(divRaid, "ups", displayUPSStatus); var setups = divRaid.getElementsByTagName("setup"); if(setups && setups.length == 1) { raid.raidSetupClicked = function() { showPrefs(); back.style.display="none"; setup.style.display="block"; setup.forRaid = raid; /* Send a suspend packet a couple of times */ callFewTimes(function() { RaidOSDiscovery.instructDevice(raid.ip, FL_RAIDSUSPEND); }); } divRaid.setupButton = new AppleGlassButton(setups[0], LS("Setup"), raid.raidSetupClicked); } return divRaid; } RAIDInfo.prototype['toHTML'] = function() { var html = ""; html += ""; if(this.fan) html += this.fan.toHTML(); html += ""; html += "
"; html += "
"; html += "
"; html += "
" + this.name + "
"; html += "
"+this.ip+"
"; html += "
"; /* raidId */ html += "
"; html += "
"; if(this.version) html += "
"+this.software + ": " + this.version+"
"; html += "
"+this.mac+"
"; html += ""; html += ""; if(!this.bootFlag) { html += ""; if(this.rsData && this.rsData.settingUp) { html += LS("Device is setting up..."); } else { html += LS("Device requires setup:") + ""; } html += ""; } else if(this.failString) { html += "" + LS("Attention!") + "" + "
" + this.failString + "
"; } else { html += "OK"; } html += "
"; html += "
"; // raidInfo if(this.temp) html += this.temp.toHTML(); if(this.ups) html += this.ups.toHTML(); html += "
" html += "
"; html += "
"; html += "
" + LS("Drives") + "
"; var slots = this.diskSlots(); html += "
"; for(var i = 0; i < this.disks.length; i++) { if(i == slots) break; this.disks[i].noteID = "note-" + this.htmlID; this.disks[i].statusID = "status-" + this.htmlID; html += this.disks[i].toHTML(slots); } html += "
"; html += "
"; html += "
"; for(var i = 0; i < this.volumes.length; i++) html += this.volumes[i].toHTML(); html += "
"; html += "
"; // newRaidBody html += "
"; html += "
"; return html; } RaidVolume.prototype['toHTML'] = function() { var html = ""; html += "
" html += "
95 ? "7" : Math.round(this.used * 6 / 100)) + "\">"; html += "
"; html += "
" + this.used + "
"; html += "
" + this.name + "
"; for(var i = 0; i < this.infoSet.length; i++) html += "
" + this.infoSet[i] + "
"; html += "
"; /* volume */ return html; } RaidVolume.prototype['toLayout'] = function(idx) { var vol = new Frame(); vol.width = 165; vol.height = 60; vol.hOffset = 20; vol.vOffset = 125 + idx * (60 + 10); vol.zOrder = 111; var bg = new Image(); bg.hOffset = 15; bg.src = "images/volume-bg-brief.png"; vol.addSubview(bg); var vname = new Text(); vname.data = this.name; vname.color = "#cccccc"; vname.style = "bold"; vname.width = 150; vname.alignment = "center"; vname.size = 12; vname.vOffset = vname.size + 2; vname.hOffset = 10 + (vol.width - 10) / 2; var s = new Shadow(); s.hOffset = 1; s.vOffset = 1; s.color = "#202030"; s.opacity = 100; vname.shadow = s; vol.addSubview(vname); for(var i = 0; i < this.infoSet.length; i++) { var str = new Text(); str.size = 11; str.data = this.infoSet[i]; str.width = 150; str.alignment = "right"; str.color = "#cccccc"; str.hOffset = vol.width - 5; str.vOffset = 32 + i * str.size; vol.addSubview(str); } switch(this.property.status.string) { case "ok": break; case "resync": default: var glow = new Image(); glow.src = "images/plates-glow-" + (this.property.status.string=="resync"?"grn":"red") + ".png"; glow.vOffset = 5; vol.addSubview(glow); } var used = (this.used > 95 ? "7" : Math.round(this.used * 6 / 100)); var img = new Image(); if(used == 7) img.src = "images/plates-6-red.png"; else img.src = "images/plates-" + used + ".png"; img.vOffset = 5; vol.addSubview(img); var utext = new Text(); utext.data = this.used + "%"; utext.color = "#cccccc" utext.size = 20; utext.style = "bold"; utext.vOffset = utext.size + 34; utext.hOffset = 40; vol.addSubview(utext); return vol; } RaidDisk.prototype['toHTML'] = function(slots) { var html = ""; html += "
"; html += ""; html += ""; html += "
"; /* disk */ return html; } function RaidDiskSet() { var dsk = new Frame(); dsk.width = 125; dsk.height = 60; dsk.hOffset = 190; dsk.vOffset = 125; dsk.zOrder = 112; var bg = new Image(); bg.hOffset = 15; bg.src = "images/disks-bg.png"; bg.zOrder = 113; dsk.addSubview(bg); var vname = new Text(); vname.data = LS("Drives"); vname.color = "#cccccc"; vname.style = "bold"; vname.width = dsk.width - 15; vname.alignment = "center"; vname.size = 12; vname.vOffset = vname.size + 2; vname.hOffset = 15 + (dsk.width - 10) / 2; var s = new Shadow(); s.hOffset = 1; s.vOffset = 1; s.color = "#202030"; s.opacity = 100; vname.shadow = s; vname.zOrder = 114; dsk.addSubview(vname); var img = new Image(); img.src = "images/hdd-std.png"; img.vOffset = 5; img.zOrder = 115; dsk.addSubview(img); return dsk; } RaidDisk.prototype['toLayout'] = function(slots, idx) { var disk = new Frame(); var diskColumn = 4; disk.width = 15; if(slots == 8) disk.height = 12; else if(slots ==6) { disk.height = 12; disk.width = 21; diskColumn = 3; }else disk.height = 23; disk.hOffset = 43 + (idx % diskColumn) * (disk.width + 5); disk.vOffset = 25 + Math.floor(idx / diskColumn) * (disk.height + 4); disk.zOrder = 123; var bord = new Text(); bord.width = disk.width; bord.height = disk.height; bord.bgOpacity = 150; bord.bgColor = "#c0c0d0"; bord.data = " "; bord.size = 7; bord.hOffset = 0; bord.vOffset = bord.size; bord.zOrder = 124; disk.addSubview(bord); var back = new Text(); back.width = disk.width-2; back.height = disk.height- 2 - 1; back.bgOpacity = 255; back.bgColor = "#ff0000"; back.data = " "; back.size = 7; back.hOffset = 1; back.vOffset = back.size + 1; back.zOrder = 125; switch(this.property.status.string) { case "ok": back.bgColor = "#33bb66"; break; case "warn": back.bgColor = "#D43412"; break; case "dead": back.bgColor = "#000000"; bord.bgColor = "#d43412"; break; case "resync": back.bgColor = "#0000ff"; break; case "not_present": back.bgColor = "#2A3A5A"; bord.bgOpacity = 20; break; case "life_support": back.bgColor = "#300080"; bord.bgColor = "#d43412"; break; case "spare_inactive": back.bgColor = "#ffffff"; break; case "awaiting_recovery": back.bgColor = "#008000"; bord.bgColor = "#d43412"; break; } back.tooltip = (this.descr ? (this.descr + "\n" + LS("Status:") + " " + KnownStatus[this.property.status.string]["short"]) : LS("Empty drive slot")); disk.addSubview(back); return disk; } RaidTemperature.prototype['toHTML'] = function() { var html = ""; var tfill = 20; var fnMin = 30; // comfortable minimum for the device var fnMax = 60; // comfortable maximum for the device var efMin = 15; // absolute minimum thermometer can display var efMax = 75; // absolute maximum thermometer can display var range = this.maxF - this.minF; if(range <= 50) range = 50; // just in case if(this.minF < 32) this.minF = 32; // just in case tfill = fnMin + (this.tempF - this.minF) * (fnMax-fnMin) / range; tfill = Math.floor(tfill); if(tfill < efMin) tfill = efMin; else if(tfill > efMax) tfill = efMax; // Convert thermometer fill into space pixels. var topSpace = 77 - tfill; if(topSpace < 0) topSpace = 0; else if (topSpace > 77) topSpace = 77; var glowColor = ''; if(this.property.status.string == "ok") { if(this.tempF > this.maxF) { glowColor = "glow=\"red\""; this.property.status.string = "warn"; } else if(this.tempF < this.minF) { glowColor = "glow=\"blue\""; this.property.status.string = "warn"; } } html += "
" if(displayC) { var tMin = this.minC; var tCur = this.tempC; var tMax = this.maxC; } else { var tMin = this.minF; var tCur = this.tempF; var tMax = this.maxF; } html += "
"; html += "
"+tMax+"°
"; html += "
"; html += tCur + "°"+(displayC?"C":"F") + "
"; html += "
" +tMin+"°
"; html += ""; html += "
" html += "
"; html += "
"; /* tempGlow */ html += "
"; /* tempBg */ html += "
"; /* temp */ return html; } RaidTemperature.prototype['toLayout'] = function() { var tfill = 20; var fnMin = 30; // comfortable minimum for the device var fnMax = 60; // comfortable maximum for the device var efMin = 15; // absolute minimum thermometer can display var efMax = 75; // absolute maximum thermometer can display var range = this.maxF - this.minF; if(range <= 50) range = 50; // just in case if(this.minF < 32) this.minF = 32; // just in case tfill = fnMin + (this.tempF - this.minF) * (fnMax-fnMin) / range; tfill = Math.floor(tfill); if(tfill < efMin) tfill = efMin; else if(tfill > efMax) tfill = efMax; // Convert thermometer fill into space pixels. var topSpace = 77 - tfill; if(topSpace < 0) topSpace = 0; else if (topSpace > 77) topSpace = 77; var color = '#cccccc'; if(this.property.status.string == "ok") { if(this.tempF > this.maxF) { color = "#d43412"; // red this.property.status.string = "warn"; } else if(this.tempF < this.minF) { color = "#01b0d0"; // blue this.property.status.string = "warn"; } } if(displayC) { var tMin = this.minC; var tCur = this.tempC; var tMax = this.maxC; } else { var tMin = this.minF; var tCur = this.tempF; var tMax = this.maxF; } var temp = new Frame(); temp.hOffset = nominalWidth - 135; temp.vOffset = 38; temp.zOrder = 116; var tbg = new Image(); tbg.src = "images/thermo-bg.png"; temp.addSubview(tbg); var tfl = new Image(); tfl.src = "images/thermo-fill.png"; tfl.clipRect = "0, " + topSpace + ", 26, 77"; temp.addSubview(tfl); var tempCur = new Text(); tempCur.color = color; tempCur.size = 18; tempCur.data = tCur + String.fromCharCode(176) + (displayC?"C":"F"); tempCur.hOffset = 5 + 15; tempCur.vOffset = 18 + 17; temp.addSubview(tempCur); var tempMaxFrame = new Frame(); tempMaxFrame.hOffset = 15; tempMaxFrame.vOffset = 8; var tmLine = new Text(); tmLine.bgColor = "#a0a0d0"; tmLine.bgOpacity = 255; tmLine.size = 7; tmLine.vOffset = 7 + 7 + 1; tmLine.height = 1; tmLine.data = tMax + "zz"; tmLine.opacity = 255; tempMaxFrame.addSubview(tmLine); var tMText = new Text(); tMText.data = tMax + String.fromCharCode(176); tMText.color = "#a0a0d0"; tMText.size = 9; tMText.hOffset = 5; tMText.vOffset = 7; tempMaxFrame.addSubview(tMText); temp.addSubview(tempMaxFrame); var tempMinFrame = new Frame(); tempMinFrame.hOffset = 15; tempMinFrame.vOffset = 38; var tmLine = new Text(); tmLine.bgColor = "#a0a0d0"; tmLine.bgOpacity = 255; tmLine.size = 7; tmLine.vOffset = 7 + 7 + 1; tmLine.height = 1; tmLine.data = tMin + "zz"; tmLine.opacity = 255; tempMinFrame.addSubview(tmLine); var tmText = new Text(); tmText.data = tMin + String.fromCharCode(176); tmText.color = "#a0a0d0"; tmText.size = 7; tmText.hOffset = 5; tmText.vOffset = 7; tempMinFrame.addSubview(tmText); temp.addSubview(tempMinFrame); var tThis = this; tempCur.onMouseUp = function() { displayC = !displayC; var deg = String.fromCharCode(176); tmText.data = (displayC ? tThis.minC : tThis.minF) + deg; tMText.data = (displayC ? tThis.maxC : tThis.maxF) + deg; tempCur.data = (displayC ? tThis.tempC : tThis.tempF) + String.fromCharCode(176) + (displayC?"C":"F"); } tbg.onMouseUp = tempCur.onMouseUp; return temp; } RaidFan.prototype['toHTML'] = function() { var html = ""; var running = true; var imgName = "cooler-spin.gif"; if(this.property.status.string == "warn"){ running = false; imgName = "cooler-hot.png"; } html += ""; html += ""; html += "
"; html += LS("Fan: ") + this.descr; html += "
"; /* fan */ html += ""; return html; } RaidFan.prototype['toLayout'] = function() { var running = true; var imgName = "cooler-spin.gif"; if(this.property.status.string == "warn"){ running = false; imgName = "cooler-hot.png"; } var fan = new Frame(); fan.width = 70; fan.height = 60; fan.hOffset = nominalWidth - 90; fan.zOrder = 114; var img = new Image(); img.hOffset = 10; img.src = "images/" + imgName; if(running) img.opacity = 80; fan.addSubview(img); var txt = new Text(); txt.vOffset = 34 + 9; txt.size = 9; txt.color = "#cccccc"; txt.style = "bold"; txt.data = LS("Fan: "); fan.addSubview(txt); var txt = new Text(); txt.vOffset = 34 + 9 + 9; txt.size = 9; txt.color = "#cccccc"; txt.style = "bold"; txt.data = this.descr; fan.addSubview(txt); return fan; } RaidUPS.prototype['transformDescription'] = function() { var ups = this.descr; ups = ups.replace(/^Unknown /, ""); ups = ups.replace(/American Power Conversion/, "APC"); ups = ups.replace(/([^ \n]+).*\n/, "$1\n"); ups = ups.replace(/\n([^ :]+)?.*:/, " $1:"); return ups; } RaidUPS.prototype['upsCharge'] = function() { return this.transformDescription().replace(/.* ([0-9]+%).*/, "$1"); } RaidUPS.prototype['upsTimeLeft'] = function() { return this.transformDescription().replace(/.*, ([0-9]+.*)/, "$1"); } RaidUPS.prototype['toHTML'] = function() { var html = ""; html += ""; html += "
"; var upsTimeLeft = this.upsTimeLeft(); var upsCharge = this.upsCharge(); var charge = 0; if(upsCharge) charge = upsCharge.toInt(); if(charge < 0) charge = 0; if(charge >= 100) charge = 60; else charge = 7 + Math.ceil(charge / (100 / 42)); html += "
"; html += "
" + upsCharge + "
"; html += "
"; html += "
" + upsTimeLeft + "
"; html += "
" + upsCharge + "
"; html += "
"; /* UPS */ return html; } RaidUPS.prototype['toLayout'] = function() { var ups = new Frame(); ups.width = 60; ups.height = 32; ups.vOffset = 42 + ups.height; ups.hOffset = nominalWidth - 100; ups.zOrder = 115; if(this.property.status.string == "not_present") { ups.removeFromSuperview(); } else { var img = new Image(); img.src = "images/battery-bg.png"; img.tooltip = this.descr; ups.addSubview(img); if(this.property.status.string != "ok") { var glow = new Image(); glow.src = "images/battery-glow-red.png"; ups.addSubview(glow); } var upsCharge = this.upsCharge(); var upsTimeLeft = this.upsTimeLeft(); var charge = 0; if(upsCharge) charge = upsCharge.toInt(); if(charge < 0) charge = 0; if(charge >= 100) charge = 60; else charge = 7 + Math.ceil(charge / (100 / 42)); var chargeText2 = new Text(); chargeText2.data = upsCharge; chargeText2.width = 60; chargeText2.size = 9; chargeText2.vOffset = 17; chargeText2.hOffset = chargeText2.width / 2; chargeText2.color = "#ffffff"; chargeText2.style = "bold"; chargeText2.alignment = "center"; ups.addSubview(chargeText2); var upsFill = new Frame(); upsFill.width = charge; upsFill.height = 32; var upsFillImg = new Image(); upsFillImg.src = "images/battery-fill.png"; upsFill.addSubview(upsFillImg); var chargeText = new Text(); chargeText.data = upsCharge; chargeText.width = 60; chargeText.size = 9; chargeText.vOffset = 17; chargeText.hOffset = chargeText.width / 2; chargeText.color = "#202030"; chargeText.style = "bold"; chargeText.alignment = "center"; upsFill.addSubview(chargeText); ups.addSubview(upsFill); var timeLeft = new Text(); timeLeft.data = upsTimeLeft; timeLeft.size = 9; timeLeft.width = 60; timeLeft.vOffset = 32; timeLeft.hOffset = timeLeft.width / 2; timeLeft.alignment = "center"; timeLeft.color = "#ffffff"; ups.addSubview(timeLeft); } return ups; } function RaidFan(prop) { this.property = prop; this.descr = prop.descr; this.rpms = parseInt(this.descr); if(prop.status.string == "warn") { prop.failString = "" + prop.type + prop.num + ": " + LS("running too slow to be useful!") + " " + LS("Repair the fan to avoid overheating."); } } function RaidTemperature(prop) { this.property = prop; this.descr = prop.descr; var dsc = prop.descr.split("/"); var exp = prop.key["expected"].split("/"); this.tempC = 0; this.tempF = 32; this.minC = 0; this.maxC = 60; this.minF = 32; this.maxF = 140; try { this.tempC = dsc[0].replace(/[CF]/, '').trim().toInt(); this.tempF = dsc[1].replace(/[CF]/, '').trim().toInt(); this.minC = exp[0].replace(/-.*/, '').trim().toInt(); this.maxC = exp[0].replace(/^[0-9]+-/, '').replace(/[CF].*/, '').toInt(); this.minF = exp[1].replace(/-.*/, '').trim().toInt(); this.maxF = exp[1].replace(/[ ]*[0-9]+-/, '').replace(/[CF].*/, '').toInt(); } catch(e) {;} /* Enforce limits */ if(prop.status.string == "ok") { if(this.tempF > this.maxF) { prop.failString = "" + prop.type + prop.num + ": " + LS("Thermometer reading is too high!") + " " + LS("Repair the fan to avoid overheating."); } else if(this.tempF < this.minF) { prop.failString = "" + prop.type + prop.num + ": " + LS("Thermometer reading is too low!") + " " + LS("Switch off the device to avoid humidity buildup."); } } return this; } function RaidDisk(prop) { this.property = prop; this.descr = prop.descr; } function RaidVolume(prop) { this.property = prop; this.descr = prop.descr; try { this.name = prop.descr.replace(/^([^:]+).*/, "$1"); } catch(e) { this.name = LS('Volume 1'); } try { this.raidLevel = prop.descr.replace(/^[^:]+:[ ]*([^,]+).*/, "$1"); } catch(e) { this.raidLevel = LS('RAID level unknown'); } try { this.raidStatus = prop.descr.replace(/^[^:]+[^,]+,[ ]*([^,.]+).*/, "$1"); this.raidStatus = this.raidStatus.replace(/Initialization ([0-9]+%).*/, "Resyncing: $1"); } catch(e) { this.raidStatus = null; } try { this.used = prop.descr.replace(/.*[\s(]([0-9]+)%.*/, "$1"); } catch(e) { this.used = 0; } try { this.capacity = prop.descr.replace(/.* ([0-9]+ [^ ]+) .*/, "$1"); } catch(e) { this.capacity = LS("unknown capacity"); } this.infoSet = new Array(); /* Populate */ this.infoSet.push(this.raidLevel); if(this.raidStatus) this.infoSet.push(this.raidStatus); this.infoSet.push(this.capacity); /* Sort */ if(this.infoSet[0].length < this.infoSet[1].length) { var tmp = this.infoSet[0]; this.infoSet[0] = this.infoSet[1]; this.infoSet[1] = tmp; } } function RaidUPS(prop) { this.property = prop; this.descr = prop.descr; } function RaidPropertyStatus(statusString) { var ks = KnownStatus[statusString]; if(!ks) ks = KnownStatus["warn"]; var status = new Object(); status.string = statusString; status.criticality = ks["criticality"]; status.shortDescription = ks["short"]; status.description = ks["desc"]; return status; } /****************************/ /*** Konfabulator support ***/ /****************************/ try { var lc = widget.locale.substr(0, 2); include(lc + ".lproj/LocalizedStrings.js"); LS("test"); } catch(e) { include("en.lproj/LocalizedStrings.js"); } function clearTimeout(timer) { delete timer; } function setTimeout(func, timeoutMS) { var timer = new Timer(); timer.interval = timeoutMS / 1000.0; timer.ticking = true; timer.onTimerFired = function() { timer.ticking = false; func(); } return timer; } function clearInterval(timer) { delete timer; } function setInterval(func, timeoutMS) { var timer = new Timer(); timer.interval = timeoutMS / 1000.0; timer.ticking = true; timer.onTimerFired = func; return timer; } /* * Wrapper to emulate DOM "document" for Konfabulator */ function DocumentWrapper() {} DocumentWrapper.prototype.getElementById = function(id) { if(!id) return null; var children = this.getAllChildren(); for(var cidx in children) { var child = children[cidx]; try { if(child.name == id || child.id == id) { if(!child.style) child.style = new Object(); return child; } } catch(e) { continue; } } return null; } DocumentWrapper.prototype.getElementsByTagName = function(tag) { return new Array(); } DocumentWrapper.prototype.getAllChildren = function(fromObj) { if(arguments.length) { var arr = new Array(); arr.push(fromObj); var subArr; try { subArr = fromObj.subviews; } catch(e) { return arr; } /* Populate the object */ for(var sa in subArr) { var ssArr = this.getAllChildren(subArr[sa]); for(var ssa in ssArr) { arr.push(ssArr[ssa]); } } return arr; } else { var arr = this.getAllChildren(window.root); return arr; } } var document = new DocumentWrapper(); /* * Wrapper to present Konfabulator "widget" object as Dashboard "widget" */ function WidgetWrapper() { this.kwdg = widget; } WidgetWrapper.prototype.setCloseBoxOffset = function() {} WidgetWrapper.prototype.prepareForTransition = function() {} WidgetWrapper.prototype.performTransition = function() {} /* * Wrapper to present Konfabulator main window object as Dashboard "window" */ function WindowWrapper() { this.kwin = mainWindow; this.root = mainWindow.root; this.widget = new WidgetWrapper(); } WindowWrapper.prototype.resizeTo = function(w,h) { this.kwin.width = w; this.kwin.height = h; this.width = w; this.height = w; var midSectionHeight = h - 40 - 22; bgBtm.vOffset = h - 22; bgMid.vOffset = 40; bgMid.height = midSectionHeight; } var window = new WindowWrapper(); /* * Konfabulator COM object for network access. */ function RaidOSDiscoveryObject() { if(system.platform == "macintosh") { debug = debug || 10; return; } var objID = "RaidOSDiscovery.Widget"; try { this.com = COM.createObject(objID); } catch(e) { this.com = null; } if(!this.com) { var path = widget.extractFile("RaidOSDiscovery.dll"); path = convertPathToPlatform(path, true); path = "\"" + path + "\""; runCommand("regsvr32 /s " + path); try { this.com = COM.createObject(objID); } catch(e) { this.com = null; } if(!this.com) { alert("Cannot register Widget UDP control. " + "Check user access permissions"); throw "Cannot register necessary component"; } } } RaidOSDiscoveryObject.prototype.grokNetwork = function() { if(!this.com) return; try { this.com.grokNetwork(); } catch(e) { log("grokNetwork() failed: " + e); } } RaidOSDiscoveryObject.prototype.installListener = function() { if(!this.com) return; try { this.com.installListener(); } catch(e) { log("installListener() failed: " + e); } } RaidOSDiscoveryObject.prototype.queryNetwork = function() { if(!this.com) return; try { this.com.queryNetwork(); } catch(e) { log("queryNetwork() failed: " + e); } } RaidOSDiscoveryObject.prototype.tellDevice = function(ip, flag, msg) { if(!this.com) return; try { this.com.instructDevice(ip, flag, msg); } catch(e) { log("tellDevice() failed: " + e); } } RaidOSDiscoveryObject.prototype.instructDevice = function(ip, flag) { if(!this.com) return; try { this.com.instructDevice(ip, flag, ""); } catch(e) { log("instructDevice() failed: " + e); } } RaidOSDiscoveryObject.prototype.retrieveSingleResult = function() { if(!this.com) return "-"; try { return this.com.retrieveSingleResult(); } catch(e) { log("retrieveSingleResult() failed: " + e); return "-"; } } RaidOSDiscovery = new RaidOSDiscoveryObject(); /* * A single value for GenericSelector(). Emulates HTML