$="Oïû_§olkit={·:£JavaScript Extension Library£,vÑsion:£1.1£,author:£Shawn Bailly (www.shawn-bailly.com)£,date:£May 19, 2006£,license:£Open£,vÑbose:È};OïûÑrorðmessageíàò.vÑboseíalÑt(messageÂüe=ÁError(messageøthrow e²InhÑitðoïí¾oïíàò½=ëíò½=oï½Ð}ýò²Createðoïíýoï²Cloneðoï¸newOï={};¾oïínewOï½=oï½Ðýoï²§HumanðlfílfËlf=ë?£\\\\n£:lføüõ­Àkey Î òíõ+=key+£ = £+ò½+lfÐýõ²§In¶Îsicð¸ì=/^(\\d+|\\d*\\.\\d*)$/g.$(øüõÎg=/^[^\\d]+$/ig.$(øàì.test(ò)íýÁNumbÑ(òÂàõÎg.test(ò)íýÁS¶Îg(òÂóisðíîargumentsáàarguments[i]==òíý¶ueÐ}ýÈ;óisUppÑð÷¸õË÷=ë?ò:òÏ÷)øreturn(õ==õ.§UppÑCØ()øóisAmongðésí¼it(£,£Âîésáàò==és[i]íý¶ueÐ}ýÈ;óisBooleanð¸»ë;õ=ò.§LowÑCØ(øàõ==¶ueÊ¶ue£Êon£||parseInt(õ)>0Êyes£í»=¶ueÐàõ==ÈÊÈ£Êoµ£||parseInt(õ)==0Êno£í»=ÈÐý»;ó§EnumðÎnÑ,outÑ,¶im¸»=ÁEnum(øÎnÑËÎnÑ=ë?£=£:ÎnÑøoutÑËoutÑ=ë?£&£:outÑø¶imË¶im=ë?¶ue:¶imøàò¬>0¸pairs=ò.split(outÑøîpairsáàpairsÙú>0¸·³0];üâ³1];à·!ë&&â!ë&&·¬>0íà¶imí·=·.¶im(øâ=â.¶im(Â».Ç·,âÂ}}};ý»;ól¦£^£+Ý+£+«r¦Ý+£+$«tÆ £:Ýøüõ=ò;õ=õ.lTrim(Ýøõ=õ.rTrim(Ýøýõ;óremoveð÷,úíúËú=ë?1:úøýò×Îg(0,÷)+ò×(÷+úøóÎjectðõ,÷íýò×Îg(0,÷)+õ+ò×(÷øócontaÎsðés¸»=È;¼it(£,£Âîésá»Ë»||(òÛés[i])>-1)Âý»;ó§MD5ð¸õ2Äs_MD5ðõínÄË(õ¬+8)>>6)+1;Äs=ÁArray(nÄ*¥øÀi´i<nÄ*¥;i++íÄs[i]=0ÐÀi´i<õáÄs[i>>2]|=õ.éCodeAt(i)<<((i%4)*8ÂÄs[i>>2]|=0x80<<((i%4)*8øÄs[nÄ*¥-2]=õ¬*8;ýÄsÐ;ürhexðnum¸hex_ÝÃabcdef£;õ­Àj´j<=3;j++íõ+=ª+4))&0x0F)+ª))&0x0FÂýõÐ;üaddðx,y¸lswËx&0xFFFF)+(y&0xFFFFøümswËx>>¥)+(y>>¥)+(lsw>>¥øreturn(msw<<¥)|(lsw&0xFFFFÂ;ürolðnum,cntíreturn(num<<cnt)|(num>>>(32-cnt)Â;ücmnðqÚíýÇrol(ÇÇa,q),Çx,t)),s),bÂ;üµÞ(b&c)|((~b)&d)ÚÂ;ü±Þ(b&d)|(c&(~d))ÚÂ;ü°Þb ^ c ^ dÚÂ;ü¯Þc ^(b|(~d))ÚÂ;x=õ2Äs_MD5(òÖ1732584193;b=-271733879;c=-1732584194;d=271733878;Ài´i<x¬;i+=¥í¤a=a;¤b=b;¤c=c;¤d=d;a=µç0è7Ü680876936Õµæ1Ì2Ü389564586Ôµå2Ì7,606105819Óµä3©2¿044525330Öµç4è7¿76418897Õµæ5Ì2,1200080426Ôµå6Ì7¿473231341Óµä7©2Ü45705983Öµç8è7,17700354¥Õµæ9Ì2¿958414417Ôµå10Ì7Ü42063Óµä11©2¿990404¥2Öµç12è7,1804603682Õµæ13Ì2Ü40341101Ôµå14Ì7¿502002290Óµä15©2,1236535329Ö±ç1è5¿65796510Õ±æ6è9¿06950¥32Ô±å11Ì4,643717713Ó±ä0©0Ü373897302Ö±ç5è5Ü701558691Õ±æ10è9,380¥083Ô±å15Ì4Ü660478335Ó±ä4©0Ü405537848Ö±ç9è5,568446438Õ±æ14è9¿019803690Ô±å3Ì4¿87363961Ó±ä8©0,1¥3531501Ö±ç13è5¿444681467Õ±æ2è9Ü51403784Ô±å7Ì4,1735328473Ó±ä12©0¿926607734Ö°ç5è4Ü378558Õ°æ8Ì1Ü2022574463Ô°å11Ì6,1839030562Ó°ä14©3Ü35309556Ö°ç1è4¿530992060Õ°æ4Ì1,1272893353Ô°å7Ì6¿55497632Ó°ä10©3¿094730640Ö°ç13è4,681279174Õ°æ0Ì1Ü358537222Ô°å3Ì6Ü722521979Ó°ä6©3,76029189Ö°ç9è4Ü640364487Õ°æ12Ì1Ü421815835Ô°å15Ì6,530742520Ó°ä2©3Ü995338651Ö¯ç0è6¿98630844Õ¯æ7Ì0,1126891415Ô¯å14Ì5¿4¥354905Ó¯ä5©1Ü57434055Ö¯ç12è6,1700485571Õ¯æ3Ì0¿894986606Ô¯å10Ì5¿051523Ó¯ä1©1Ü2054922799Ö¯ç8è6,1873313359Õ¯æ15Ì0Ü30611744Ô¯å6Ì5¿560198380Ó¯ä13©1,130915¥49Ö¯ç4è6¿45523070Õ¯æ11Ì0¿120210379Ô¯å2Ì5,718787259Ó¯ä9©1Ü343485551ÖÇa,¤aÓÇb,¤bÔÇc,¤cÕÇd,¤dÂýrhex(a)+rhex(b)+rhex(c)+rhex(døórepeatðcount¸õ­îcount;i++íõ+=òÐýõ;ó§PattÑnðíýòÅ/([\\.\\*\\+\\{\\}\\(\\)\\<\\>\\^\\$\\\\])/g,£\\\\$1£øó§BØðbØ,ê¸»­êËê=ë?10:êøü§ßÃABCDEF£;üfromßÃABCDEF£;àêÍ==S¶Îgífromß=ê;ê=ê¬ÐàbØÍ==S¶Îgí§ß=bØ;bØ=bØ¬Ðàê>1&&bØ>1¸ô=powÑ=â´üì=ÁS¶Îg(òøüsignËìÛ£-£)>-1?-1:1øìËìÛ£-£)>-1?ì×(1):ìøüÎtegÑËº>-1?(º>0?ì×Îg(0,º):0):ìøüdecimalËº>-1?ì×(º+1):0øàsign<0)»=£-£;îÎtegÑápowÑËÎtegÑ¬-i)-1;â=fromßÛÎtegÑÏi))*(Òê,powÑ)øô+=âÐàô>0¸i=j´¹ô>=ÒbØ,(i+1))íi++Ð¹ô>0í¹ô>Ë(j+1)*ÒbØ,i))íj++Ðô=ô-(j)*ÒbØ,iø»+=§ßÏjøi--;j=0ÐÀj=i;j>´j--í»+=£0£Ð}ô=â´â´îdecimalápowÑËi+1)*-1;â+=fromßÛdecimalÏi))*(Òê,powÑ)Âàâ>0í»+=£.£;¹(ô=â*bØ)>0í»+=§ßÏMath.floor(ô)øâ=ô-Math.floor(ôøà»×(»Û£.£))¬>bØíâ=0Ð}}}else »=ò;ý»Ð;NumbÑû§BØ=S¶Îgû§BØ;Éû$ð¸expr=ò.source;ü®­®+Ëò.ignoreCØ?£i£:££ø®+Ëò.global?£g£:££ø®+Ëò.multilÎe?£m£:££øò.compile(expr,®øýòÐ;Éûescapeð¸re=/\\\\(\\(|\\)|\\.|\\\\)/g;ýò.sourceÅre,£$1£Â;ÉûéAtð÷,ã¸õ=ò.escape(øüÝ­üôë;üñ=[];àã=ë¸ã=[];ã[ã¬]=/(\\\\d)(\\{\\d+\\})?/ig;ã[ã¬]=/(\\\\w)(\\{\\w+\\})?/gÐîãáàãÙglobalí¹(ô=ãÙexec(õ))!ëíàô¬>=2¸q=ô[2]×Îg(1,ô[2]¬-1Âelse üq=1;ñ[ñ¬]={÷:ô.÷,ú:ô[0]¬,end:ô.÷+(ô[0]¬-1),expression:ô.shift(),ã:ô,õlen:q}}}}üoµset´îñáà(¨)||÷>=ñÙendí÷+ËñÙú-ñÙõlenÂ}Ý=õÏ÷øîñáà¨íÝ=££Ð}ýÝÐ;Éûsubõ=func¡tion(ñ,ùî÷eS×=/(\\(|\\)|\\.)/g;÷üs×=££;÷ô=ýescape(Ù÷³r=££;÷ñMat³=[£\\\\£];÷ÃMat³=[];÷Îó;÷æ=Ý;÷æes=new Aí(Ù÷¯=££;¯+=(ýignoÖCase?£i£:££Ù¯+=(ýglobal?£g£:££Ù¯+=(ýmultiline?£m£:££Ù®?!\\{.*?\\})/i;®\\{.*?\\}(?:|\\?)|\\*|\\+|\\?)/i;ïô.³ËAt(0)==£^£îô­1)êïô.³ËAt(ôµ-1)==£$£îô­0,ôµ-1)êïñ²ù=(ù=ó?(ôµ-ñ):ùÙÃ=ñ+ù¥ñ;i<Ã;i++î³r=ô.³ËAt(iÙï³r.isAmong(ñMat³)îmloop:for(÷z=0;z<æesµ;z++îï!æîÎ­i).æ(æes[z]ÙïÎ²÷ælen=Î[0]µ;÷q=RegExp.$2;ï/\\{.*?\\}/i.Íst(q)î÷pËam=q.Öplace(/\\{|\\}/g,££ÙïpËam.split(¨)µ==1îïÃ-i<pËamîq=£{£+(Ã-i)+£}£êÃ+=(ælen-pËam)Ò{}i+=(ælen-1Ùüs×+=Î[1]+qÒ{i+=Î[0]µ;Ã+=Î[0]µ;üs×+=Î[0]êæ=×ue;bÖak mloopê}}ï!æîalert(£bad ô£)Ò æ=ÝÒ üs×+=³rêÌnew RegExp(üs×.Öplace(eS×,£\\\\$1£),¯)Ò ÌnullÂAíõswapÐò,ÁîÁ=(Á=ó?ýù-1:ÁÙ÷save=ØÁ];ØÁ]=Øò];Øò]=saveÂAíõfirstÐîÌØ0]ÂAíõlastÐîÌØýù-1]ÂAíõdoUntilTrueÐexecî÷Å=Ý;ÞýÔÅ=(Å||exec(Øi]))êÌÅÂAíõÖÊÐòî÷saveó;÷Åó¥ò;i<ýÔïi+1<ýùîsave=Øi];Øi]=Øi+1];Øi+1]=saveÒ Å=ýpop()êÌÅÂû Enum(î÷aí=[];ýùÐîÌýãAí()µÂýaddÐÉ,vÜîï!ýãExists(É)î¬aíµ]=É;¬É]=vÜ;Ì×ueÒ ÌÝÂýãExistsÐÉîï¬É]²Ì×ueÒ ÌÝÂÈKeyÐvÜî÷«Þãs.Ôïý¤±==vÜîÌãs[i]ê}ÌnullÂÈVÜÐÉîÌ¬É]ÂÈIÚexÐãîÞaí.Ôï¬i]==ãîÌiê}ü-1Âý¤Ðòî÷¤ó;swit³(typeof òîcase £s×ing£:¤=ÈVÜ(ò´¤=ÈVÜ(¬ò]ÙbÖak;default:á¤¿bÖakêÌ¤ÂýÖÊÐ_òî÷ãó;÷òó;÷Å=Ý;swit³(typeof _òîcase £s×ing£:ã=_ò;ïÈIÚex(_ò)>-1îò=ÈIÚex(_ò)Ò ªnot a valid ã.£´ï_ò<0||_ò>=ýùîªout of range.£)êã=¬_ò];ò=_ò;bÖak;default:áÖÊ¿bÖakêïã!ó&&ò²aí.ÖÊ(òÙ¬ã]ó;Å=×ueÂÌÅÂýãAíÐî÷Å=[];Þaí.ÔÅ[Åµ]=¬i]êÌÅÂývÜAíÐî÷Å=[];÷«Þãs.ÔÅ[Åµ]=ÈVÜ±êÌÅÂýcompaÖÐobjî÷Å=Ý;×y{÷ãs=obj.ãAí(Ù÷this«ïãsµ==thisãsµîÅ=×ue;Þãs.Ôïobj.¤±!=ÈKey±îÅ=Ýê}}ëse Å=Ýêcat³(eîÅóêÌÅÂÌthisÂKeys=new Enum(þBackspaceö8þTabö9þEnÍrÓ3þShiftÓ6þCon×olÓ7þAltÓ8þPauseÓ9þCaps Lockö20þEscapeö27þPage Upö33þPage Downö34þEÚö35þHomeö36þLeftö37þUpö38þRightö39þDownö40þInsertö45þDëeÍö46è0ö48è1ö49è2ö50è3ö51è4ö52è5ö53è6ö54è7ö55è8ö56è9ö57þSemi-Colonö59þEqualsö61þAö65þBö66þCö67þDö68þEö69þFö70þGö71þHö72þIö73þJö74þKö75þLö76þMö77þNö78þOö79þPö80þQö81þRö82þSö83þTö84þUö85þVö86þWö87þXö88þYö89þZö90ð0ö96ð1ö97ð2ö98ð3ö99ð4Ó00ð5Ó01ð6Ó02ð7Ó03ð8Ó04ð9Ó05ðAsÍrickÓ06ðPlusÓ07þHyphenÓ09ðPeriodÓ10ðForwËd SlashÓ11þF1Ó12þF2Ó13þF3Ó14þF4Ó15þF5Ó16þF6Ó17þF7Ó18þF8Ó19þF9Ó20þF10Ó21þF11Ó22þF12Ó23þNum LockÓ44þScroll LockÓ45þCommaÓ88þPeriodÓ90þForwËd SlashÓ91þLeft AÁ×opheÓ92þLeft Bracketö219þBack Slashö220þRight Bracketö221þAÁ×opheö222ÙKey={shiftKey:Ý,c×lKey:Ý,altKey:Ý,cì:0,³r:û(îïýcì>=65Õ90&&úÑø>=65Õ90ÇÑ.toLowerCase()ø>=48Õ57Ç ýcì-48ø>=48Õ57&&ú[£)¨!¨@¨#¨$¨%¨^¨&¨*¨(£][ýcì-48]ø>=96Õ105îÌýcì-96ø==59Ç £;Ï59¾:Ï61Ç £=Ï61¾+Ï109Ç £-Ï109¾_Ï188Ç öÏ188¾<Ï190Ç £.Ï190¾>Ï192Ç £`Ï192¾~£ø>=219Õ222Ç[£[¨\\\\¨]¨'£][ýcì-219]ø>=219Õ222&&ú[£{¨|¨}¨\\££][ýcì-219]êÌnullê,É:û(îüÑê};§£)>-1î§/1.0.3£)>-1îElemâGÛÍxtöû(îÌýfirstChild.nìVÜ}ÙEvâºEvâ¸Evâ·fault()ê)Ò{ÄºÄ¸Ä·fault()ê)êÂû $A(ëî÷açsó;ïåîë=ä)êïë²ïËgumésµ>2îaçs=[]¥1;i<Ëgumés.Ôïßi])²açs[açsµ]=ßi]).nìVÜê}}ëse{ïß1])²açs=ß1]).nìVÜê}}ÌaçsÂû $BiÚ(ë,Æ,¶î°¶=(¶=ó?Ý:¶Ùïë.atta³Evé²ë.atta³Evé(£on£+Æ)êïë.addEvéLisÍner²ë.addEvéLisÍner(Æ,¶)ê};û $Sà(ë,ñ,Ãî°ñ=(ñ=ó?-1:ñÙÃ=(Ã=ó?ñ:(Ã==0?ë.vÜµ:Ã)Ùïdocumé.sàî÷së=documé.sà.cÖaÍRange(Ù÷×=ë.cÖaÍTextRange(Ùï×!ó&&së!ó&&ë²ïñ==-1î÷Á=0;while(së.compaÖEÚPoints(£¦To¦ö×)>0î×.Ê¦(£³ËacÍrÓÙÁ++êñ=Á;Ã=së.Íxtµ+ñÒ{×.Ê¦(£³ËacÍröñÙ×.collapse(ÙïÃ>-1)×.ÊEÚ(£³ËacÍrö(Ã-ñ)Ù×.sëect()ê}}ëse{ïñ==-1îñ=ë.sà¦;Ã=ë.sàEÚÒ{ë.sà¦=ñ;ïÃ>-1)ë.sàEÚ=Ãê}ü{ñ:ñ,Ã:Ã}};û $ReplaceSà(ë,s×,©î©=(©=ó?×ue:©Ù°÷ñ=$Sà(ë).ñ;÷Ã=$Sà(ë).Ã;÷s×=ë.vÜ.inject(s×,ñÙï©îë.vÜ=s×êÌs×Â".split("¡");$0=",x[i+¡=functi¡return ¡var ¡.prototype.¡length¡a,b,c¡);¡index¡c,d,a¡str¡result¡};Stringû¡this¡expressions¡þon(¡bject¡for(üi=0;i<¡){¡number¡=null¡fromBase¡char¡],¡(ù,dÿ¡(d,ùÿ¡(ö,bÿ¡(b,öÿ¡matches¡value¡.ú;i++í¡if(¡Numerals¡ðù,d,x,s,tíýcmn(¡chr¡,-¡.÷Of(¡,a,b,x,s,t¡[i].¡ase¡.subõ¡øa=¡ød=¡øc=¡øb=¡Math.pow(¡er¡;}¡.éAt(¡in¡.conõuctor¡è1¡=(¡||õ==£¡RegExp¡false¡add(¡rimðÝíÝËÝ=ë?£¡.replace(¡blk¡=£0123456789¡ø}¡new ¡for(¡Ü1¡oïËoï=ë?{}:oïøÀkey Î ¡[key]¡àésÍ!=Arrayíés=és.spl¡rv¡ìÛ£.£)¡while(¡íü¡name¡tr¡ff¡=0;¡=pairsÙsplit(ÎnÑ)[¡Ð;Oïû¡gg¡hh¡ii¡flags¡=££;¡.ú¡£,£i£øýòÅre,££øó¡hex_ÝÏ(num>>(j*8¡è2¡÷>=ñÙ÷&&÷<=ñÙend¡to¡TÆ\\s£:Ýøüre=ÁÉ(¡16¡old¢);Keys.¡ÿadd(£¡this.¡return¡function¡ýshiftKey){ü¡length¡;}if(ýcode¡var ¡£,¡.prototype.¡expression¡=null¡index¡start¡þNumpad ¡if(¡){¡rray¡ode¡el¡;}¡ent¡þNumber ¡ttribute¡match¡ë.constructor==String¡documé.getEleméById(ë¡key¡éõ__proto__.__define¡Object.error(£Enum.¡ëection¡ë.getAçNì(argumés[¡for(÷i=0;i<¡false¡alue¡etter__(£¡nd¡);¡this[¡tr¡re¡&&ýcì<=¡ù;i++î¡ö1¡êëse¡ Keys.fiÚKey(ýcì)¡=û(¡£ø==¡Ösult¡te¡ü ¡ar¡move¡name¡ýfiÚ¡&&!ú¡haÚler,method¡rv¡Evéõ__define¡eÚ¡ê;¡pos¡(): pËameÍr 1 is not ¡Àa s×ing or number.£Ù¡&&ú £¡ïwiÚow.navigator.user¡GÛsrcEleméöû(î÷nì=ýtË¡¼get;while(nì.nìType!¡»=1)nì=nì.pËéNì;ÌnìêÙ¡SÛcancëBubbleöû(bîïb)¡¹ýstopPropagation()êÙ¡SÛüVÜöû(bîï!b)ýpÖvéDe¡captuÖ¡.ù¡ÙbÖak;case £number£:¡ch¡!óî¡(ãs[i])¡ë=(å?ä):ëÙ¡flags¡æes[æesµ]=/(\\\\d)(¡=ô.subs×(¡aí[¡ãs=ýãAí(Ù¡áÖÊ(): £+_ò+£ is ¡updaÍ¡ö£¡½Agé.òOf(£FiÖfox¡StËt¡;for(÷i=¡iÍm".split("¢");$O="ÿþýüûúùø÷öõôóòñðïîíìëêéèçæåäãâáàßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶µ´³²±°¯®­¬«ª©¨§¦¥¤";for(i=1;i>-1;--i){$1=$0[i].split("¡");for(I=$1.length-1;I>-1;--I)$[i]=$[i].split($O.charAt(I)).join($1[I])}eval($.join("").replace(/£/g,"\""))