//Google Prettify
(function(){var x={};(function(){var c=["abstract bool break case catch char class const const_cast continue default delete deprecated dllexport dllimport do double dynamic_cast else enum explicit extern false float for friend goto if inline int long mutable naked namespace new noinline noreturn nothrow novtable operator private property protected public register reinterpret_cast return selectany short signed sizeof static static_cast struct switch template this thread throw true try typedef typeid typename union unsigned using declaration, directive uuid virtual void volatile while typeof",
"as base by byte checked decimal delegate descending event finally fixed foreach from group implicit in interface internal into is lock null object out override orderby params readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var","package synchronized boolean implements import throws instanceof transient extends final strictfp native super","debugger export function with NaN Infinity","require sub unless until use elsif BEGIN END","and assert def del elif except exec global lambda not or pass print raise yield False True None",
"then end begin rescue ensure module when undef next redo retry alias defined","done fi"];for(var a=0;a<c.length;a++){var b=c[a].split(" ");for(var d=0;d<b.length;d++){if(b[d]){x[b[d]]=true}}}}).call(this);function J(c){return c>="a"&&c<="z"||c>="A"&&c<="Z"}function q(c,a,b,d){c.unshift(b,d||0);try{a.splice.apply(a,c)}finally{c.splice(0,2)}}var R=(function(){var c=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",
">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"],a="(?:(?:(?:^|[^0-9.])\\.{1,3})|(?:(?:^|[^\\+])\\+)|(?:(?:^|[^\\-])-)";for(var b=0;b<c.length;++b){var d=c[b];if(J(d.charAt(0))){a+="|\\b"+d}else{a+="|"+d.replace(/([^=<>:&])/g,"\\$1")}}a+="|^)\\s*$";return new RegExp(a)})(),y=/&/g,A=/</g,z=/>/g,$=/\"/g;function v(c){return c.replace(y,"&amp;").replace(A,
"&lt;").replace(z,"&gt;")}var Z=/&lt;/g,Y=/&gt;/g,T=/&apos;/g,aa=/&quot;/g,S=/&amp;/g;function I(c){var a=c.indexOf("&");if(a<0){return c}for(--a;(a=c.indexOf("&#",a+1))>=0;){var b=c.indexOf(";",a);if(b>=0){var d=c.substring(a+3,b),g=10;if(d&&d.charAt(0)=="x"){d=d.substring(1);g=16}var e=parseInt(d,g);if(!isNaN(e)){c=c.substring(0,a)+String.fromCharCode(e)+c.substring(b+1)}}}return c.replace(Z,"<").replace(Y,">").replace(T,"'").replace(aa,'"').replace(S,"&")}function w(c){return"XMP"==c.tagName}var t=
null;function H(c){if(null===t){var a=document.createElement("PRE");a.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));t=!/</.test(a.innerHTML)}if(t){var b=c.innerHTML;if(w(c)){b=v(b)}return b}var d=[];for(var g=c.firstChild;g;g=g.nextSibling){u(g,d)}return d.join("")}function u(c,a){switch(c.nodeType){case 1:var b=c.tagName.toLowerCase();a.push("<",b);for(var d=0;d<c.attributes.length;++d){var g=c.attributes[d];if(!g.specified){continue}a.push(" ");u(g,a)}a.push(">");
for(var e=c.firstChild;e;e=e.nextSibling){u(e,a)}if(c.firstChild||!/^(?:br|link|img)$/.test(b)){a.push("</",b,">")}break;case 2:a.push(c.name.toLowerCase(),'="',c.value.replace(y,"&amp;").replace(A,"&lt;").replace(z,"&gt;").replace($,"&quot;"),'"');break;case 3:case 4:a.push(v(c.nodeValue));break}}function P(c){var a=0;return function(b){var d=null,g=0;for(var e=0,i=b.length;e<i;++e){var f=b.charAt(e);switch(f){case "\t":if(!d){d=[]}d.push(b.substring(g,e));var h=c-a%c;a+=h;for(;h>=0;h-="                ".length){d.push("                ".substring(0,
h))}g=e+1;break;case "\n":a=0;break;default:++a}}if(!d){return b}d.push(b.substring(g));return d.join("")}}var W=/(?:[^<]+|<!--[\s\S]*?--\>|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g,X=/^<!--/,V=/^<\[CDATA\[/,U=/^<br\b/i;function G(c){var a=c.match(W),b=[],d=0,g=[];if(a){for(var e=0,i=a.length;e<i;++e){var f=a[e];if(f.length>1&&f.charAt(0)==="<"){if(X.test(f)){continue}if(V.test(f)){b.push(f.substring(9,f.length-3));d+=f.length-12}else if(U.test(f)){b.push("\n");d+=1}else{g.push(d,f)}}else{var h=
I(f);b.push(h);d+=h.length}}}return{source:b.join(""),tags:g}}function r(c,a){var b={};(function(){var g=c.concat(a);for(var e=g.length;--e>=0;){var i=g[e],f=i[3];if(f){for(var h=f.length;--h>=0;){b[f.charAt(h)]=i}}}})();var d=a.length;return function(g,e){e=e||0;var i=[e,"pln"],f="",h=0,n=g;while(n.length){var j,k=null,m=b[n.charAt(0)];if(m){var l=n.match(m[1]);k=l[0];j=m[0]}else{for(var o=0;o<d;++o){m=a[o];var p=m[2];if(p&&!p.test(f)){continue}var l=n.match(m[1]);if(l){k=l[0];j=m[0];break}}if(!k){j=
"pln";k=n.substring(0,1)}}i.push(e+h,j);h+=k.length;n=n.substring(k.length);if(j!=="com"&&/\S/.test(k)){f=k}}return i}}var C=r([["str",/^\'(?:[^\\\']|\\[\s\S])*(?:\'|$)/,null,"'"],["str",/^\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)/,null,'"'],["str",/^\`(?:[^\\\`]|\\[\s\S])*(?:\`|$)/,null,"`"]],[["pln",/^(?:[^\'\"\`\/\#]+)/,null," \r\n"],["com",/^#[^\r\n]*/,null,"#"],["com",/^\/\/[^\r\n]*/,null],["str",/^\/(?:[^\\\*\/]|\\[\s\S])+(?:\/|$)/,R],["com",/^\/\*[\s\S]*?(?:\*\/|$)/,null]]);var B=r([],[["pln",/^\s+/,
null," \r\n"],["pln",/^[a-z_$@][a-z_$@0-9]*/i,null],["lit",/^0x[a-f0-9]+[a-z]/i,null],["lit",/^(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?[a-z]*/i,null,"123456789"],["pun",/^[^\s\w\.$@]+/,null]]);function L(c,a){for(var b=0;b<a.length;b+=2){var d=a[b+1];if(d==="pln"){var g=a[b],e=b+2<a.length?a[b+2]:c.length,i=c.substring(g,e),f=B(i,g);for(var h=0,n=f.length;h<n;h+=2){var j=f[h+1];if(j==="pln"){var k=f[h],m=h+2<n?f[h+2]:i.length,l=c.substring(k,m);if(l=="."){f[h+1]="pun"}else if(l in x){f[h+
1]="kwd"}else if(/^@?[A-Z][A-Z$]*[a-z][A-Za-z$]*$/.test(l)){f[h+1]=l.charAt(0)=="@"?"lit":"typ"}}}q(f,a,b,2);b+=f.length-2}}return a}var D=r([],[["pln",/^[^<]+/,null],["dec",/^<!\w[^>]*(?:>|$)/,null],["com",/^<!--[\s\S]*?(?:--\>|$)/,null],["src",/^<\?[\s\S]*?(?:\?>|$)/,null],["src",/^<%[\s\S]*?(?:%>|$)/,null],["src",/^<(script|style|xmp)\b[^>]*>[\s\S]*?<\/\1\b[^>]*>/i,null],["tag",/^<\/?\w[^<>]*>/,null]]);function Q(c){var a=D(c);for(var b=0;b<a.length;b+=2){if(a[b+1]==="src"){var d=a[b],g=b+2<a.length?
a[b+2]:c.length,e=c.substring(d,g),i=e.match(/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/);if(i){a.splice(b,2,d,"tag",d+i[1].length,"src",d+i[1].length+(i[2]||"").length,"tag")}}}return a}var E=r([["atv",/^\'[^\']*(?:\'|$)/,null,"'"],["atv",/^\"[^\"]*(?:\"|$)/,null,'"'],["pun",/^[<>\/=]+/,null,"<>/="]],[["tag",/^[\w-]+/,/^</],["atv",/^[\w-]+/,/^=/],["atn",/^[\w-]+/,null],["pln",/^\s+/,null," \r\n"]]);function O(c,a){for(var b=0;b<a.length;b+=2){var d=a[b+1];if(d==="tag"){var g=a[b],e=b+2<a.length?a[b+2]:c.length,
i=c.substring(g,e),f=E(i,g);q(f,a,b,2);b+=f.length-2}}return a}function N(c,a){for(var b=0;b<a.length;b+=2){var d=a[b+1];if(d=="src"){var g=a[b],e=b+2<a.length?a[b+2]:c.length,i=s(c.substring(g,e));for(var f=0,h=i.length;f<h;f+=2){i[f]+=g}q(i,a,b,2);b+=i.length-2}}return a}function M(c,a){var b=false;for(var d=0;d<a.length;d+=2){var g=a[d+1];if(g==="atn"){var e=a[d],i=d+2<a.length?a[d+2]:c.length;b=/^on|^style$/i.test(c.substring(e,i))}else if(g=="atv"){if(b){var e=a[d],i=d+2<a.length?a[d+2]:c.length,
f=c.substring(e,i),h=f.length,n=h>=2&&/^[\"\']/.test(f)&&f.charAt(0)===f.charAt(h-1),j,k,m;if(n){k=e+1;m=i-1;j=f}else{k=e+1;m=i-1;j=f.substring(1,f.length-1)}var l=s(j);for(var o=0,p=l.length;o<p;o+=2){l[o]+=k}if(n){l.push(m,"atv");q(l,a,d+2,0)}else{q(l,a,d,2)}}b=false}}return a}function s(c){var a=C(c);a=L(c,a);return a}function F(c){var a=Q(c);a=O(c,a);a=N(c,a);a=M(c,a);return a}function K(c,a,b){var d=[],g=0,e=null,i=null,f=0,h=0,n=P(8);function j(m){if(m>g){if(e&&e!==i){d.push("</span>");e=null}if(!e&&
i){e=i;d.push('<span class="',e,'">')}var l=v(n(c.substring(g,m))).replace(/(\r\n?|\n| ) /g,"$1&nbsp;").replace(/\r\n?|\n/g,"<br>");d.push(l);g=m}}while(true){var k;if(f<a.length){if(h<b.length){k=a[f]<=b[h]}else{k=true}}else{k=false}if(k){j(a[f]);if(e){d.push("</span>");e=null}d.push(a[f+1]);f+=2}else if(h<b.length){j(b[h]);i=b[h+1];h+=2}else{break}}j(c.length);if(e){d.push("</span>")}return d.join("")}function ca(c){try{var a=G(c),b=a.source,d=a.tags,g=/^\s*</.test(b)&&/>\s*$/.test(b),e=g?F(b):
s(b);return K(b,d,e)}catch(i){if("console"in window){console.log(i);console.trace()}return c}}function ba(c){var a=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],b=[];for(var d=0;d<a.length;++d){for(var g=0;g<a[d].length;++g){b.push(a[d][g])}}a=null;var e=0;function i(){var f=(new Date).getTime()+250;for(;e<b.length&&(new Date).getTime()<f;e++){var h=b[e];if(h.className&&h.className.indexOf("prettyprint")>=0){var n=false;for(var j=
h.parentNode;j!=null;j=j.parentNode){if((j.tagName=="pre"||j.tagName=="code"||j.tagName=="xmp")&&j.className&&j.className.indexOf("prettyprint")>=0){n=true;break}}if(!n){var k=H(h);k=k.replace(/(?:\r\n?|\n)$/,"");var m=ca(k);if(!w(h)){h.innerHTML=m}else{var l=document.createElement("PRE");for(var o=0;o<h.attributes.length;++o){var p=h.attributes[o];if(p.specified){l.setAttribute(p.name,p.value)}}l.innerHTML=m;h.parentNode.replaceChild(l,h)}}}}if(e<b.length){setTimeout(i,250)}else if(c){c()}}i()};this.prettyPrint=ba})();
//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006-2007 Valerio Proietti, <http://mad4milk.net>, MIT Style License.
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('o 85={81:\'1.11\'};k $3B(V){h(V!=6C)};k $q(V){m(!$3B(V))h 12;m(V.2O)h\'Q\';o q=3p V;m(q==\'1Z\'&&V.7S){1S(V.4W){15 1:h\'Q\';15 3:h(/\\S/).25(V.69)?\'8B\':\'8A\'}}m(q==\'1Z\'||q==\'k\'){1S(V.5H){15 1v:h\'14\';15 4H:h\'8i\';15 1i:h\'5o\'}m(3p V.P==\'4l\'){m(V.1O)h\'8g\';m(V.5T)h\'O\'}}h q};k $23(){o 3g={};H(o i=0;i<O.P;i++){H(o t 17 O[i]){o ap=O[i][t];o 42=3g[t];m(42&&$q(ap)==\'1Z\'&&$q(42)==\'1Z\')3g[t]=$23(42,ap);W 3g[t]=ap}}h 3g};o $N=k(){o R=O;m(!R[1])R=[c,R[0]];H(o t 17 R[1])R[0][t]=R[1][t];h R[0]};o $2N=k(){H(o i=0,l=O.P;i<l;i++){O[i].N=k(1e){H(o 1j 17 1e){m(!c.1b[1j])c.1b[1j]=1e[1j];m(!c[1j])c[1j]=$2N.3t(1j)}}}};$2N.3t=k(1j){h k(M){h c.1b[1j].2K(M,1v.1b.62.1C(O,1))}};$2N(4h,1v,4M,5R);k $2Z(V){h!!(V||V===0)};k $4F(V,6p){h $3B(V)?V:6p};k $53(2u,2i){h Y.7j(Y.53()*(2i-2u+1)+2u)};k $28(){h T 5J().61()};k $4V(1x){9U(1x);9R(1x);h 1c};o 2m=k(V){V=V||{};V.N=$N;h V};o 9W=T 2m(G);o a1=T 2m(J);J.5x=J.3Q(\'5x\')[0];G.6L=!!(J.8N);m(G.7m)G.1J=G[G.89?\'82\':\'5y\']=1d;W m(J.5F&&!J.ao&&!au.ar)G.2v=G[G.6L?\'a7\':\'4a\']=1d;W m(J.aa!=1c)G.4z=1d;G.af=G.2v;8T.N=$N;m(3p 36==\'6C\'){o 36=k(){};m(G.2v)J.5I("8M");36.1b=(G.2v)?G["[[9a.1b]]"]:{}}36.1b.2O=k(){};m(G.5y)4X{J.8L("9H",12,1d)}4Z(e){};o 1i=k(1T){o 3b=k(){h(O[0]!==1c&&c.1B&&$q(c.1B)==\'k\')?c.1B.2K(c,O):c};$N(3b,c);3b.1b=1T;3b.5H=1i;h 3b};1i.2k=k(){};1i.1b={N:k(1T){o 3A=T c(1c);H(o t 17 1T){o 5Z=3A[t];3A[t]=1i.63(5Z,1T[t])}h T 1i(3A)},6w:k(){H(o i=0,l=O.P;i<l;i++)$N(c.1b,O[i])}};1i.63=k(2j,2G){m(2j&&2j!=2G){o q=$q(2G);m(q!=$q(2j))h 2G;1S(q){15\'k\':o 4R=k(){c.1W=O.5T.1W;h 2G.2K(c,O)};4R.1W=2j;h 4R;15\'1Z\':h $23(2j,2G)}}h 2G};o 6v=T 1i({ai:k(C){c.2D=c.2D||[];c.2D.1o(C);h c},7f:k(){m(c.2D&&c.2D.P)c.2D.5j().1w(10,c)},87:k(){c.2D=[]}});o 1V=T 1i({21:k(q,C){m(C!=1i.2k){c.$L=c.$L||{};c.$L[q]=c.$L[q]||[];c.$L[q].56(C)}h c},2a:k(q,R,1w){m(c.$L&&c.$L[q]){c.$L[q].1u(k(C){C.1M({\'M\':c,\'1w\':1w,\'O\':R})()},c)}h c},4o:k(q,C){m(c.$L&&c.$L[q])c.$L[q].2q(C);h c}});o 6Y=T 1i({4m:k(){c.u=$23.2K(1c,[c.u].N(O));m(c.21){H(o 3l 17 c.u){m($q(c.u[3l]==\'k\')&&(/^5a[A-Z]/).25(3l))c.21(3l,c.u[3l])}}h c}});1v.N({3s:k(C,M){H(o i=0,j=c.P;i<j;i++)C.1C(M,c[i],i,c)},6m:k(C,M){o 2I=[];H(o i=0,j=c.P;i<j;i++){m(C.1C(M,c[i],i,c))2I.1o(c[i])}h 2I},1R:k(C,M){o 2I=[];H(o i=0,j=c.P;i<j;i++)2I[i]=C.1C(M,c[i],i,c);h 2I},3o:k(C,M){H(o i=0,j=c.P;i<j;i++){m(!C.1C(M,c[i],i,c))h 12}h 1d},83:k(C,M){H(o i=0,j=c.P;i<j;i++){m(C.1C(M,c[i],i,c))h 1d}h 12},2U:k(1O,I){o 2J=c.P;H(o i=(I<0)?Y.2i(0,2J+I):I||0;i<2J;i++){m(c[i]===1O)h i}h-1},5V:k(1n,P){1n=1n||0;m(1n<0)1n=c.P+1n;P=P||(c.P-1n);o 57=[];H(o i=0;i<P;i++)57[i]=c[1n++];h 57},2q:k(1O){o i=0;o 2J=c.P;6o(i<2J){m(c[i]===1O){c.3H(i,1);2J--}W{i++}}h c},18:k(1O,I){h c.2U(1O,I)!=-1},88:k(1l){o V={},P=Y.2u(c.P,1l.P);H(o i=0;i<P;i++)V[1l[i]]=c[i];h V},N:k(14){H(o i=0,j=14.P;i<j;i++)c.1o(14[i]);h c},23:k(14){H(o i=0,l=14.P;i<l;i++)c.56(14[i]);h c},56:k(1O){m(!c.18(1O))c.1o(1O);h c},8d:k(){h c[$53(0,c.P-1)]||1c},6g:k(){h c[c.P-1]||1c}});1v.1b.1u=1v.1b.3s;1v.1u=1v.3s;k $A(14){h 1v.5V(14)};k $1u(2o,C,M){m(2o&&3p 2o.P==\'4l\'&&$q(2o)!=\'1Z\'){1v.3s(2o,C,M)}W{H(o 1z 17 2o)C.1C(M||2o,2o[1z],1z)}};1v.1b.25=1v.1b.18;4M.N({25:k(3r,1A){h(($q(3r)==\'1Y\')?T 4H(3r,1A):3r).25(c)},2c:k(){h 3c(c,10)},5K:k(){h 31(c)},4g:k(){h c.2l(/-\\D/g,k(1P){h 1P.4P(1).5X()})},6q:k(){h c.2l(/\\w[A-Z]/g,k(1P){h(1P.4P(0)+\'-\'+1P.4P(1).3a())})},5i:k(){h c.2l(/\\b[a-z]/g,k(1P){h 1P.5X()})},5Y:k(){h c.2l(/^\\s+|\\s+$/g,\'\')},4n:k(){h c.2l(/\\s{2,}/g,\' \').5Y()},3w:k(14){o 1E=c.1P(/\\d{1,3}/g);h(1E)?1E.3w(14):12},45:k(14){o 2y=c.1P(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);h(2y)?2y.62(1).45(14):12},18:k(1Y,s){h(s)?(s+c+s).2U(s+1Y+s)>-1:c.2U(1Y)>-1},5W:k(){h c.2l(/([.*+?^${}()|[\\]\\/\\\\])/g,\'\\\\$1\')}});1v.N({3w:k(14){m(c.P<3)h 12;m(c.P==4&&c[3]==0&&!14)h\'7Q\';o 2y=[];H(o i=0;i<3;i++){o 2L=(c[i]-0).7R(16);2y.1o((2L.P==1)?\'0\'+2L:2L)}h 14?2y:\'#\'+2y.1Q(\'\')},45:k(14){m(c.P!=3)h 12;o 1E=[];H(o i=0;i<3;i++){1E.1o(3c((c[i].P==1)?c[i]+c[i]:c[i],16))}h 14?1E:\'1E(\'+1E.1Q(\',\')+\')\'}});4h.N({1M:k(u){o C=c;u=$23({\'M\':C,\'B\':12,\'O\':1c,\'1w\':12,\'2B\':12,\'3v\':12},u);m($2Z(u.O)&&$q(u.O)!=\'14\')u.O=[u.O];h k(B){o R;m(u.B){B=B||G.B;R=[(u.B===1d)?B:T u.B(B)];m(u.O)R.N(u.O)}W R=u.O||O;o 22=k(){h C.2K($4F(u.M,C),R)};m(u.1w)h 7V(22,u.1w);m(u.2B)h 7W(22,u.2B);m(u.3v)4X{h 22()}4Z(80){h 12};h 22()}},7Z:k(R,M){h c.1M({\'O\':R,\'M\':M})},3v:k(R,M){h c.1M({\'O\':R,\'M\':M,\'3v\':1d})()},M:k(M,R){h c.1M({\'M\':M,\'O\':R})},7X:k(M,R){h c.1M({\'M\':M,\'B\':1d,\'O\':R})},1w:k(1w,M,R){h c.1M({\'1w\':1w,\'M\':M,\'O\':R})()},2B:k(5S,M,R){h c.1M({\'2B\':5S,\'M\':M,\'O\':R})()}});5R.N({2c:k(){h 3c(c)},5K:k(){h 31(c)},8f:k(2u,2i){h Y.2u(2i,Y.2i(2u,c))},2R:k(3h){3h=Y.2s(10,3h||0);h Y.2R(c*3h)/3h},8w:k(C){H(o i=0;i<c;i++)C(i)}});o F=T 1i({1B:k(r,1e){m($q(r)==\'1Y\'){m(G.1J&&1e&&(1e.1z||1e.q)){o 1z=(1e.1z)?\' 1z="\'+1e.1z+\'"\':\'\';o q=(1e.q)?\' q="\'+1e.q+\'"\':\'\';4I 1e.1z;4I 1e.q;r=\'<\'+r+1z+q+\'>\'}r=J.5I(r)}r=$(r);h(!1e||!r)?r:r.1F(1e)}});o 2x=T 1i({1B:k(X){h(X)?$N(X,c):c}});2x.N=k(1e){H(o 1j 17 1e){c.1b[1j]=1e[1j];c[1j]=$2N.3t(1j)}};k $(r){m(!r)h 1c;m(r.2O)h 1s.2P(r);m([G,J].18(r))h r;o q=$q(r);m(q==\'1Y\'){r=J.8v(r);q=(r)?\'Q\':12}m(q!=\'Q\')h 1c;m(r.2O)h 1s.2P(r);m([\'1Z\',\'8u\'].18(r.6d.3a()))h r;$N(r,F.1b);r.2O=k(){};h 1s.2P(r)};J.5G=J.3Q;k $$(){o X=[];H(o i=0,j=O.P;i<j;i++){o 2H=O[i];1S($q(2H)){15\'Q\':X.1o(2H);15\'8t\':1y;15 12:1y;15\'1Y\':2H=J.5G(2H,1d);59:X.N(2H)}}h $$.52(X)};$$.52=k(14){o X=[];H(o i=0,l=14.P;i<l;i++){m(14[i].$3x)5n;o Q=$(14[i]);m(Q&&!Q.$3x){Q.$3x=1d;X.1o(Q)}}H(o n=0,d=X.P;n<d;n++)X[n].$3x=1c;h T 2x(X)};2x.44=k(t){h k(){o R=O;o 3z=[];o X=1d;H(o i=0,j=c.P,22;i<j;i++){22=c[i][t].2K(c[i],R);m($q(22)!=\'Q\')X=12;3z.1o(22)};h(X)?$$.52(3z):3z}};F.N=k(1T){H(o t 17 1T){36.1b[t]=1T[t];F.1b[t]=1T[t];F[t]=$2N.3t(t);o 5L=(1v.1b[t])?t+\'2x\':t;2x.1b[5L]=2x.44(t)}};F.N({1F:k(1e){H(o 1j 17 1e){o 35=1e[1j];1S(1j){15\'6z\':c.6l(35);1y;15\'L\':m(c.4k)c.4k(35);1y;15\'1T\':c.68(35);1y;59:c.3O(1j,35)}}h c},2z:k(r,5M){r=$(r);1S(5M){15\'5Q\':r.2f.5d(c,r);1y;15\'5P\':o 3e=r.6h();m(!3e)r.2f.4T(c);W r.2f.5d(c,3e);1y;15\'41\':o 5e=r.4u;m(5e){r.5d(c,5e);1y}59:r.4T(c)}h c},8q:k(r){h c.2z(r,\'5Q\')},6X:k(r){h c.2z(r,\'5P\')},8p:k(r){h c.2z(r,\'5l\')},8o:k(r){h c.2z(r,\'41\')},6S:k(){o X=[];$1u(O,k(5O){X=X.8n(5O)});$$(X).2z(c);h c},2q:k(){h c.2f.67(c)},7v:k(5N){o r=$(c.7n(5N!==12));m(!r.$L)h r;r.$L={};H(o q 17 c.$L)r.$L[q]={\'1l\':$A(c.$L[q].1l),\'2t\':$A(c.$L[q].2t)};h r.3J()},7l:k(r){r=$(r);c.2f.7k(r,c);h r},66:k(29){c.4T(J.7u(29));h c},4L:k(1m){h c.1m.18(1m,\' \')},65:k(1m){m(!c.4L(1m))c.1m=(c.1m+\' \'+1m).4n();h c},64:k(1m){c.1m=c.1m.2l(T 4H(\'(^|\\\\s)\'+1m+\'(?:\\\\s|$)\'),\'$1\').4n();h c},7K:k(1m){h c.4L(1m)?c.64(1m):c.65(1m)},2A:k(t,E){1S(t){15\'1t\':h c.6k(31(E));15\'7y\':t=(G.1J)?\'7z\':\'7A\'}t=t.4g();1S($q(E)){15\'4l\':m(![\'7B\',\'6i\'].18(t))E+=\'2Y\';1y;15\'14\':E=\'1E(\'+E.1Q(\',\')+\')\'}c.19[t]=E;h c},6l:k(2d){1S($q(2d)){15\'1Z\':F.3K(c,\'2A\',2d);1y;15\'1Y\':c.19.4y=2d}h c},6k:k(1t){m(1t==0){m(c.19.3n!="4e")c.19.3n="4e"}W{m(c.19.3n!="6j")c.19.3n="6j"}m(!c.3q||!c.3q.7E)c.19.6i=1;m(G.1J)c.19.6m=(1t==1)?\'\':"7O(1t="+1t*7i+")";c.19.1t=c.$2r.1t=1t;h c},1K:k(t){t=t.4g();o 1a=c.19[t];m(!$2Z(1a)){m(t==\'1t\')h c.$2r.1t;1a=[];H(o 19 17 F.2b){m(t==19){F.2b[19].1u(k(s){o 19=c.1K(s);1a.1o(3c(19)?19:\'5z\')},c);m(t==\'2n\'){o 3o=1a.3o(k(2L){h(2L==1a[0])});h(3o)?1a[0]:12}h 1a.1Q(\' \')}}m(t.18(\'2n\')){m(F.2b.2n.18(t)){h[\'5f\',\'4c\',\'4r\'].1R(k(p){h c.1K(t+p)},c).1Q(\' \')}W m(F.5v.18(t)){h[\'5A\',\'5B\',\'5D\',\'5C\'].1R(k(p){h c.1K(\'2n\'+p+t.2l(\'2n\',\'\'))},c).1Q(\' \')}}m(J.6r)1a=J.6r.7t(c,1c).7q(t.6q());W m(c.3q)1a=c.3q[t]}m(G.1J)1a=F.6s(t,1a,c);m(1a&&t.25(/47/i)&&1a.18(\'1E\')){h 1a.6V(\'1E\').3H(1,4).1R(k(47){h 47.3w()}).1Q(\' \')}h 1a},6U:k(){h F.4f(c,\'1K\',O)},3f:k(3V,1n){3V+=\'8k\';o r=(1n)?c[1n]:c[3V];6o(r&&$q(r)!=\'Q\')r=r[3V];h $(r)},9T:k(){h c.3f(\'2j\')},6h:k(){h c.3f(\'3e\')},9Q:k(){h c.3f(\'3e\',\'4u\')},6g:k(){h c.3f(\'2j\',\'a0\')},8E:k(){h $(c.2f)},9Z:k(){h $$(c.5F)},4x:k(r){h!!$A(c.3Q(\'*\')).18(r)},4K:k(t){o 26=F.3T[t];m(26)h c[26];o 4D=F.5p[t]||0;m(!G.1J||4D)h c.9Y(t,4D);o 4J=c.9P[t];h(4J)?4J.69:1c},9G:k(t){o 26=F.3T[t];m(26)c[26]=\'\';W c.9E(t);h c},9D:k(){h F.4f(c,\'4K\',O)},3O:k(t,E){o 26=F.3T[t];m(26)c[26]=E;W c.9C(t,E);h c},68:k(2d){h F.3K(c,\'3O\',2d)},6c:k(){c.6f=$A(O).1Q(\'\');h c},9I:k(29){o 2h=c.4d();m([\'19\',\'2M\'].18(2h)){m(G.1J){m(2h==\'19\')c.6a.4y=29;W m(2h==\'2M\')c.3O(\'29\',29);h c}W{c.67(c.4u);h c.66(29)}}c[$3B(c.4t)?\'4t\':\'6e\']=29;h c},a3:k(){o 2h=c.4d();m([\'19\',\'2M\'].18(2h)){m(G.1J){m(2h==\'19\')h c.6a.4y;W m(2h==\'2M\')h c.4K(\'29\')}W{h c.6f}}h($4F(c.4t,c.6e))},4d:k(){h c.6d.3a()},2k:k(){1s.3M(c.3Q(\'*\'));h c.6c(\'\')}});F.6s=k(t,1a,Q){m($2Z(3c(1a)))h 1a;m([\'6P\',\'3X\'].18(t)){o 2t=(t==\'3X\')?[\'5b\',\'6W\']:[\'41\',\'5l\'];o 3y=0;2t.1u(k(E){3y+=Q.1K(\'2n-\'+E+\'-3X\').2c()+Q.1K(\'4s-\'+E).2c()});h Q[\'2C\'+t.5i()]-3y+\'2Y\'}W m(t.25(/2n(.+)5f|1N|4s/)){h\'5z\'}h 1a};F.2b={\'2n\':[],\'4s\':[],\'1N\':[]};[\'5A\',\'5B\',\'5D\',\'5C\'].1u(k(5w){H(o 19 17 F.2b)F.2b[19].1o(19+5w)});F.5v=[\'a6\',\'a4\',\'a5\'];F.4f=k(r,3R,1l){o 1a={};$1u(1l,k(1f){1a[1f]=r[3R](1f)});h 1a};F.3K=k(r,3R,4p){H(o 1f 17 4p)r[3R](1f,4p[1f]);h r};F.3T=T 2m({\'5o\':\'1m\',\'H\':\'ac\',\'a2\':\'9A\',\'8Y\':\'8X\',\'8W\':\'8U\',\'8V\':\'8Z\',\'90\':\'95\',\'94\':\'93\',\'91\':\'92\',\'E\':\'E\',\'5s\':\'5s\',\'6t\':\'6t\',\'5t\':\'5t\',\'5r\':\'5r\'});F.5p={\'8I\':2,\'3N\':2};F.2g={3S:{2E:k(q,C){m(c.4C)c.4C(q,C,12);W c.8H(\'5a\'+q,C);h c},6O:k(q,C){m(c.5q)c.5q(q,C,12);W c.8F(\'5a\'+q,C);h c}}};G.N(F.2g.3S);J.N(F.2g.3S);F.N(F.2g.3S);o 1s={X:[],2P:k(r){m(!r.$2r){1s.X.1o(r);r.$2r={\'1t\':1}}h r},3M:k(X){H(o i=0,j=X.P,r;i<j;i++){m(!(r=X[i])||!r.$2r)5n;m(r.$L)r.2a(\'3M\').3J();H(o p 17 r.$2r)r.$2r[p]=1c;H(o d 17 F.1b)r[d]=1c;1s.X[1s.X.2U(r)]=1c;r.2O=r.$2r=r=1c}1s.X.2q(1c)},2k:k(){1s.2P(G);1s.2P(J);1s.3M(1s.X)}};G.2E(\'78\',k(){G.2E(\'4G\',1s.2k);m(G.1J)G.2E(\'4G\',97)});o 1G=T 1i({1B:k(B){m(B&&B.$5E)h B;c.$5E=1d;B=B||G.B;c.B=B;c.q=B.q;c.2S=B.2S||B.9q;m(c.2S.4W==3)c.2S=c.2S.2f;c.5j=B.9n;c.9o=B.9s;c.9t=B.9y;c.9x=B.9w;m([\'4v\',\'3I\'].18(c.q)){c.9u=(B.5h)?B.5h/9m:-(B.9l||0)/3}W m(c.q.18(\'1f\')){c.3F=B.7c||B.9c;H(o 1z 17 1G.1l){m(1G.1l[1z]==c.3F){c.1f=1z;1y}}m(c.q==\'6E\'){o 3L=c.3F-9b;m(3L>0&&3L<13)c.1f=\'f\'+3L}c.1f=c.1f||4M.9e(c.3F).3a()}W m(c.q.25(/(6y|9k|9j)/)){c.9i={\'x\':B.58||B.5g+J.1I.6H,\'y\':B.4E||B.76+J.1I.70};c.9g={\'x\':B.58?B.58-G.6B:B.5g,\'y\':B.4E?B.4E-G.6I:B.76};c.9h=(B.7c==3)||(B.9f==2);1S(c.q){15\'4w\':c.1p=B.1p||B.99;1y;15\'4B\':c.1p=B.1p||B.98}c.6D()}h c},2X:k(){h c.3E().3D()},3E:k(){m(c.B.3E)c.B.3E();W c.B.9p=1d;h c},3D:k(){m(c.B.3D)c.B.3D();W c.B.8Q=12;h c}});1G.3C={1p:k(){m(c.1p&&c.1p.4W==3)c.1p=c.1p.2f},6F:k(){4X{1G.3C.1p.1C(c)}4Z(e){c.1p=c.2S}}};1G.1b.6D=(G.4z)?1G.3C.6F:1G.3C.1p;1G.1l=T 2m({\'8J\':13,\'8S\':38,\'ad\':40,\'5b\':37,\'6W\':39,\'a8\':27,\'as\':32,\'aq\':8,\'at\':9,\'4I\':46});F.2g.1V={21:k(q,C){c.$L=c.$L||{};c.$L[q]=c.$L[q]||{\'1l\':[],\'2t\':[]};m(c.$L[q].1l.18(C))h c;c.$L[q].1l.1o(C);o 3G=q;o 1r=F.1V[q];m(1r){m(1r.4q)1r.4q.1C(c,C);m(1r.1R)C=1r.1R;m(1r.q)3G=1r.q}m(!c.4C)C=C.1M({\'M\':c,\'B\':1d});c.$L[q].2t.1o(C);h(F.4A.18(3G))?c.2E(3G,C):c},4o:k(q,C){m(!c.$L||!c.$L[q])h c;o 1D=c.$L[q].1l.2U(C);m(1D==-1)h c;o 1f=c.$L[q].1l.3H(1D,1)[0];o E=c.$L[q].2t.3H(1D,1)[0];o 1r=F.1V[q];m(1r){m(1r.2q)1r.2q.1C(c,C);m(1r.q)q=1r.q}h(F.4A.18(q))?c.6O(q,E):c},4k:k(2d){h F.3K(c,\'21\',2d)},3J:k(q){m(!c.$L)h c;m(!q){H(o 3W 17 c.$L)c.3J(3W);c.$L=1c}W m(c.$L[q]){c.$L[q].1l.1u(k(C){c.4o(q,C)},c);c.$L[q]=1c}h c},2a:k(q,R,1w){m(c.$L&&c.$L[q]){c.$L[q].1l.1u(k(C){C.1M({\'M\':c,\'1w\':1w,\'O\':R})()},c)}h c},6T:k(I,q){m(!I.$L)h c;m(!q){H(o 3W 17 I.$L)c.6T(I,3W)}W m(I.$L[q]){I.$L[q].1l.1u(k(C){c.21(q,C)},c)}h c}};G.N(F.2g.1V);J.N(F.2g.1V);F.N(F.2g.1V);F.1V=T 2m({\'6J\':{q:\'4w\',1R:k(B){B=T 1G(B);m(B.1p!=c&&!c.4x(B.1p))c.2a(\'6J\',B)}},\'6A\':{q:\'4B\',1R:k(B){B=T 1G(B);m(B.1p!=c&&!c.4x(B.1p))c.2a(\'6A\',B)}},\'3I\':{q:(G.4z)?\'4v\':\'3I\'}});F.4A=[\'6y\',\'am\',\'ag\',\'9J\',\'3I\',\'4v\',\'4w\',\'4B\',\'9M\',\'6E\',\'9F\',\'9O\',\'6M\',\'4G\',\'78\',\'9X\',\'9V\',\'9S\',\'9z\',\'7a\',\'7h\',\'7g\',\'30\',\'7o\',\'7s\',\'7r\',\'72\'];4h.N({7I:k(M,R){h c.1M({\'M\':M,\'O\':R,\'B\':1G})}});F.1V.5c={4q:k(C){m(G.3U){C.1C(c);h}o 2W=k(){m(G.3U)h;G.3U=1d;G.1x=$4V(G.1x);c.2a(\'5c\')}.M(c);m(J.3P&&G.2v){G.1x=k(){m([\'3U\',\'6N\'].18(J.3P))2W()}.2B(50)}W m(J.3P&&G.1J){m(!$(\'54\')){o 3N=(G.7D.7H==\'7C:\')?\'://0\':\'7L:7M(0)\';J.7N(\'<2M 7J="54" 7G 3N="\'+3N+\'"><\\/2M>\');$(\'54\').8D=k(){m(c.3P==\'6N\')2W()}}}W{G.2E("6M",2W);J.2E("8m",2W)}}};G.8l=k(C){h c.21(\'5c\',C)};G.N({7d:k(){m(c.4a)h c.8h;m(c.6x)h J.3u.6K;h J.1I.6K},7e:k(){m(c.4a)h c.8z;m(c.6x)h J.3u.6u;h J.1I.6u},7b:k(){m(c.1J)h Y.2i(J.1I.4O,J.1I.4S);m(c.2v)h J.3u.4S;h J.1I.4S},73:k(){m(c.1J)h Y.2i(J.1I.4N,J.1I.4Y);m(c.2v)h J.3u.4Y;h J.1I.4Y},75:k(){h c.6B||J.1I.6H},79:k(){h c.6I||J.1I.70},8e:k(){h{\'3y\':{\'x\':c.7d(),\'y\':c.7e()},\'7T\':{\'x\':c.7b(),\'y\':c.73()},\'72\':{\'x\':c.75(),\'y\':c.79()}}},7U:k(){h{\'x\':0,\'y\':0}}});o U={};U.3m=T 1i({u:{77:1i.2k,48:1i.2k,6G:1i.2k,1k:k(p){h-(Y.6n(Y.4i*p)-1)/2},2p:8c,1H:\'2Y\',43:1d,71:50},1B:k(u){c.Q=c.Q||1c;c.4m(u);m(c.u.1B)c.u.1B.1C(c)},74:k(){o 28=$28();m(28<c.28+c.u.2p){c.5u=c.u.1k((28-c.28)/c.u.2p);c.3k();c.3i()}W{c.2X(1d);c.1F(c.K);c.2a(\'48\',c.Q,10);c.7f()}},1F:k(K){c.1g=K;c.3i();h c},3k:k(){c.1g=c.2V(c.I,c.K)},2V:k(I,K){h(K-I)*c.5u+I},1n:k(I,K){m(!c.u.43)c.2X();W m(c.1x)h c;c.I=I;c.K=K;c.7a=c.K-c.I;c.28=$28();c.1x=c.74.2B(Y.2R(5U/c.u.71),c);c.2a(\'77\',c.Q);h c},2X:k(3Z){m(!c.1x)h c;c.1x=$4V(c.1x);m(!3Z)c.2a(\'6G\',c.Q);h c},1r:k(I,K){h c.1n(I,K)},8x:k(3Z){h c.2X(3Z)}});U.3m.6w(T 6v,T 1V,T 6Y);U.2e={30:k(t,K){m(t.25(/47/i))h c.4r;o q=$q(K);m((q==\'14\')||(q==\'1Y\'&&K.18(\' \')))h c.44;h c.6R},1X:k(r,t,2T){m(!2T.1o)2T=[2T];o I=2T[0],K=2T[1];m(!$2Z(K)){K=I;I=r.1K(t)}o 1h=c.30(t,K);h{\'I\':1h.1X(I),\'K\':1h.1X(K),\'1h\':1h}}};U.2e.6R={1X:k(E){h 31(E)},33:k(I,K,2Q){h 2Q.2V(I,K)},3d:k(E,1H,t){m(1H==\'2Y\'&&t!=\'1t\')E=Y.2R(E);h E+1H}};U.2e.44={1X:k(E){h E.1o?E:E.6V(\' \').1R(k(v){h 31(v)})},33:k(I,K,2Q){o 1g=[];H(o i=0;i<I.P;i++)1g[i]=2Q.2V(I[i],K[i]);h 1g},3d:k(E,1H,t){m(1H==\'2Y\'&&t!=\'1t\')E=E.1R(Y.2R);h E.1Q(1H+\' \')+1H}};U.2e.4r={1X:k(E){h E.1o?E:E.45(1d)},33:k(I,K,2Q){o 1g=[];H(o i=0;i<I.P;i++)1g[i]=Y.2R(2Q.2V(I[i],K[i]));h 1g},3d:k(E){h\'1E(\'+E.1Q(\',\')+\')\'}};U.4c=U.3m.N({1B:k(r,t,u){c.Q=$(r);c.t=t;c.1W(u)},6Z:k(){h c.1F(0)},3k:k(){c.1g=c.1h.33(c.I,c.K,c)},1F:k(K){c.1h=U.2e.30(c.t,K);h c.1W(c.1h.1X(K))},1n:k(I,K){m(c.1x&&c.u.43)h c;o 1L=U.2e.1X(c.Q,c.t,[I,K]);c.1h=1L.1h;h c.1W(1L.I,1L.K)},3i:k(){c.Q.2A(c.t,c.1h.3d(c.1g,c.u.1H,c.t))}});F.N({7w:k(t,u){h T U.4c(c,t,u)}});U.2b=U.3m.N({1B:k(r,u){c.Q=$(r);c.1W(u)},3k:k(){H(o p 17 c.I)c.1g[p]=c.1h[p].33(c.I[p],c.K[p],c)},1F:k(K){o 1L={};c.1h={};H(o p 17 K){c.1h[p]=U.2e.30(p,K[p]);1L[p]=c.1h[p].1X(K[p])}h c.1W(1L)},1n:k(V){m(c.1x&&c.u.43)h c;c.1g={};c.1h={};o I={},K={};H(o p 17 V){o 1L=U.2e.1X(c.Q,p,V[p]);I[p]=1L.I;K[p]=1L.K;c.1h[p]=1L.1h}h c.1W(I,K)},3i:k(){H(o p 17 c.1g)c.Q.2A(p,c.1h[p].3d(c.1g[p],c.u.1H,p))}});F.N({7x:k(u){h T U.2b(c,u)}});U.7F=U.3m.N({u:{1q:\'6Q\'},1B:k(r,u){c.Q=$(r);c.2w=T F(\'9L\',{\'6z\':$N(c.Q.6U(\'1N\'),{\'ak\':\'4e\'})}).6X(c.Q).6S(c.Q);c.Q.2A(\'1N\',0);c.4m(u);c.1g=[];c.1W(c.u);c.3j=1d;c.21(\'48\',k(){c.3j=(c.1g[0]===0)});m(G.4a)c.21(\'48\',k(){m(c.3j)c.Q.2q().2z(c.2w)})},3k:k(){H(o i=0;i<2;i++)c.1g[i]=c.2V(c.I[i],c.K[i])},6Q:k(){c.1N=\'1N-41\';c.34=\'6P\';c.2C=c.Q.4N},8K:k(){c.1N=\'1N-5b\';c.34=\'3X\';c.2C=c.Q.4O},5k:k(1q){c[1q||c.u.1q]();h c.1n([c.Q.1K(c.1N).2c(),c.2w.1K(c.34).2c()],[0,c.2C])},5m:k(1q){c[1q||c.u.1q]();h c.1n([c.Q.1K(c.1N).2c(),c.2w.1K(c.34).2c()],[-c.2C,0])},6Z:k(1q){c[1q||c.u.1q]();c.3j=12;h c.1F([-c.2C,0])},9r:k(1q){c[1q||c.u.1q]();c.3j=1d;h c.1F([0,c.2C])},9v:k(1q){m(c.2w.4N==0||c.2w.4O==0)h c.5k(1q);h c.5m(1q)},3i:k(){c.Q.2A(c.1N,c.1g[0]+c.u.1H);c.2w.2A(c.34,c.1g[1]+c.u.1H)}});U.51=k(1k,1A){1A=1A||[];m($q(1A)!=\'14\')1A=[1A];h $N(1k,{9d:k(1D){h 1k(1D,1A)},96:k(1D){h 1-1k(1-1D,1A)},8O:k(1D){h(1D<=0.5)?1k(2*1D,1A)/2:(2-1k(2*(1-1D),1A))/2}})};U.1U=T 2m({8P:k(p){h p}});U.1U.N=k(4U){H(o 1k 17 4U){U.1U[1k]=T U.51(4U[1k]);U.1U.4Q(1k)}};U.1U.4Q=k(1k){[\'8R\',\'8G\',\'ab\'].1u(k(4j){U.1U[1k.3a()+4j]=U.1U[1k][\'ae\'+4j]})};U.1U.N({a9:k(p,x){h Y.2s(p,x[0]||6)},ah:k(p){h Y.2s(2,8*(p-1))},an:k(p){h 1-Y.6b(Y.aj(p))},al:k(p){h 1-Y.6b((1-p)*Y.4i/2)},9K:k(p,x){x=x[0]||1.9N;h Y.2s(p,2)*((x+1)*p-x)},9B:k(p){o E;H(o a=0,b=1;1;a+=b,b/=2){m(p>=(7-4*a)/11){E=-Y.2s((11-6*a-11*p)/4,2)+b*b;1y}}h E},7p:k(p,x){h Y.2s(2,10*--p)*Y.6n(20*p*Y.4i*(x[0]||1)/3)}});[\'8j\',\'7P\',\'8r\',\'8s\'].1u(k(1k,i){U.1U[1k]=T U.51(k(p){h Y.2s(p,[i+2])});U.1U.4Q(1k)});o 8C=T 2m({u:{3Y:12,49:12,2p:12,55:12},1F:k(1f,E,u){u=$23(c.u,u);E=8y(E);m(u.3Y)E+=\'; 3Y=\'+u.3Y;m(u.49)E+=\'; 49=\'+u.49;m(u.2p){o 4b=T 5J();4b.7Y(4b.61()+u.2p*24*60*60*5U);E+=\'; 8a=\'+4b.8b()}m(u.55)E+=\'; 55\';J.2F=1f+\'=\'+E;h $N(u,{\'1f\':1f,\'E\':E})},84:k(1f){o E=J.2F.1P(\'(?:^|;)\\\\s*\'+1f.5W()+\'=([^;]*)\');h E?86(E[1]):12},2q:k(2F,u){m($q(2F)==\'1Z\')c.1F(2F.1f,\'\',$23(2F,{2p:-1}));W c.1F(2F,\'\',$23(u,{2p:-1}))}});',62,651,'||||||||||||this|||||return|||function||if||var||type|el||property|options|||||||event|fn||value|Element|window|for|from|document|to|events|bind|extend|arguments|length|element|args||new|Fx|obj|else|elements|Math||||false||array|case||in|contains|style|result|prototype|null|true|props|key|now|css|Class|prop|transition|keys|className|start|push|relatedTarget|mode|custom|Garbage|opacity|each|Array|delay|timer|break|name|params|initialize|call|pos|rgb|set|Event|unit|documentElement|ie|getStyle|parsed|create|margin|item|match|join|map|switch|properties|Transitions|Events|parent|parse|string|object||addEvent|returns|merge||test|index||time|text|fireEvent|Styles|toInt|source|CSS|parentNode|Methods|tag|max|previous|empty|replace|Abstract|border|iterable|duration|remove|tmp|pow|values|min|webkit|wrapper|Elements|hex|inject|setStyle|periodical|offset|chains|addListener|cookie|current|selector|results|len|apply|bit|script|native|htmlElement|collect|fx|round|target|fromTo|indexOf|compute|domReady|stop|px|chk|select|parseFloat||getNow|layout|val|HTMLElement||||toLowerCase|klass|parseInt|getValue|next|walk|mix|precision|increase|open|setNow|option|Base|visibility|every|typeof|currentStyle|regex|forEach|generic|body|attempt|rgbToHex|included|size|items|proto|defined|fix|preventDefault|stopPropagation|code|realType|splice|mousewheel|removeEvents|setMany|fKey|trash|src|setProperty|readyState|getElementsByTagName|method|Listeners|Properties|loaded|brother|evType|width|domain|end||top|mp|wait|Multi|hexToRgb||color|onComplete|path|webkit419|date|Style|getTag|hidden|getMany|camelCase|Function|PI|easeType|addEvents|number|setOptions|clean|removeEvent|pairs|add|Color|padding|innerText|firstChild|DOMMouseScroll|mouseover|hasChild|cssText|gecko|NativeEvents|mouseout|addEventListener|flag|pageY|pick|unload|RegExp|delete|node|getProperty|hasClass|String|offsetHeight|offsetWidth|charAt|compat|merged|scrollWidth|appendChild|transitions|clear|nodeType|try|scrollHeight|catch||Transition|unique|random|ie_ready|secure|include|newArray|pageX|default|on|left|domready|insertBefore|first|Width|clientX|wheelDelta|capitalize|shift|slideIn|bottom|slideOut|continue|class|PropertiesIFlag|removeEventListener|selected|disabled|multiple|delta|borderShort|direction|head|ie6|0px|Top|Right|Left|Bottom|extended|childNodes|getElementsBySelector|constructor|createElement|Date|toFloat|elementsProperty|where|contents|argument|after|before|Number|interval|callee|1000|copy|escapeRegExp|toUpperCase|trim|pp||getTime|slice|Merge|removeClass|addClass|appendText|removeChild|setProperties|nodeValue|styleSheet|sin|setHTML|tagName|textContent|innerHTML|getLast|getNext|zoom|visible|setOpacity|setStyles|filter|cos|while|picked|hyphenate|defaultView|fixStyle|checked|clientHeight|Chain|implement|opera|click|styles|mouseleave|pageXOffset|undefined|fixRelatedTarget|keydown|relatedTargetGecko|onCancel|scrollLeft|pageYOffset|mouseenter|clientWidth|xpath|load|complete|removeListener|height|vertical|Single|adopt|cloneEvents|getStyles|split|right|injectAfter|Options|hide|scrollTop|fps|scroll|getScrollHeight|step|getScrollLeft|clientY|onStart|beforeunload|getScrollTop|change|getScrollWidth|which|getWidth|getHeight|callChain|reset|submit|100|floor|replaceChild|replaceWith|ActiveXObject|cloneNode|error|Elastic|getPropertyValue|contextmenu|abort|getComputedStyle|createTextNode|clone|effect|effects|float|styleFloat|cssFloat|zIndex|https|location|hasLayout|Slide|defer|protocol|bindWithEvent|id|toggleClass|javascript|void|write|alpha|Cubic|transparent|toString|nodeName|scrollSize|getPosition|setTimeout|setInterval|bindAsEventListener|setTime|pass|err|version|ie7|some|get|MooTools|decodeURIComponent|clearChain|associate|XMLHttpRequest|expires|toGMTString|500|getRandom|getSize|limit|collection|innerWidth|regexp|Quad|Sibling|onDomReady|DOMContentLoaded|concat|injectTop|injectInside|injectBefore|Quart|Quint|boolean|embed|getElementById|times|clearTimer|encodeURIComponent|innerHeight|whitespace|textnode|Cookie|onreadystatechange|getParent|detachEvent|Out|attachEvent|href|enter|horizontal|execCommand|iframe|evaluate|easeInOut|linear|returnValue|In|up|Object|accessKey|tabindex|accesskey|rowSpan|rowspan|tabIndex|maxlength|frameborder|frameBorder|readOnly|readonly|maxLength|easeOut|CollectGarbage|toElement|fromElement|DOMElement|111|keyCode|easeIn|fromCharCode|button|client|rightClick|page|menu|mouse|detail|120|shiftKey|control|cancelBubble|srcElement|show|ctrlKey|alt|wheel|toggle|metaKey|meta|altKey|blur|colSpan|Bounce|setAttribute|getProperties|removeAttribute|keypress|removeProperty|BackgroundImageCache|setText|mousedown|Back|div|mousemove|618|keyup|attributes|getFirst|clearInterval|focus|getPrevious|clearTimeout|move|Window|resize|getAttribute|getChildren|lastChild|Document|colspan|getText|borderStyle|borderColor|borderWidth|webkit420|esc|Pow|getBoxObjectFor|InOut|htmlFor|down|ease|khtml|mouseup|Expo|chain|acos|overflow|Sine|dblclick|Circ|all||backspace|taintEnabled|space|tab|navigator'.split('|'),0,{}))
//Slimbox by Christophe Beyls (http://www.digitalia.be) - MIT-style license. req: Window.size, fx.style, fx.styles, fx.transitions
var Lightbox={init:function(_1){this.options=$extend({resizeDuration:400,resizeTransition:false,initialWidth:250,initialHeight:250,animateCaption:true,showCounter:true},_1||{});this.anchors=[];$each(document.links,function(el){if(el.rel&&el.rel.test(/^lightbox/i)){el.onclick=this.click.pass(el,this);this.anchors.push(el);}},this);this.eventKeyDown=this.keyboardListener.bindAsEventListener(this);this.eventPosition=this.position.bind(this);this.overlay=new Element("div",{"id":"lbOverlay"}).injectInside(document.body);this.center=new Element("div",{"id":"lbCenter","styles":{"width":this.options.initialWidth,"height":this.options.initialHeight,"marginLeft":-(this.options.initialWidth/2),"display":"none"}}).injectInside(document.body);this.image=new Element("div",{"id":"lbImage"}).injectInside(this.center);this.prevLink=new Element("a",{"id":"lbPrevLink","href":"#","styles":{"display":"none"}}).injectInside(this.image);this.nextLink=this.prevLink.clone().setProperty("id","lbNextLink").injectInside(this.image);this.prevLink.onclick=this.previous.bind(this);this.nextLink.onclick=this.next.bind(this);this.bottomContainer=new Element("div",{"id":"lbBottomContainer","styles":{"display":"none"}}).injectInside(document.body);this.bottom=new Element("div",{"id":"lbBottom"}).injectInside(this.bottomContainer);new Element("a",{"id":"lbCloseLink","href":"#"}).injectInside(this.bottom).onclick=this.overlay.onclick=this.close.bind(this);this.caption=new Element("div",{"id":"lbCaption"}).injectInside(this.bottom);this.number=new Element("div",{"id":"lbNumber"}).injectInside(this.bottom);new Element("div",{"styles":{"clear":"both"}}).injectInside(this.bottom);var _3=this.nextEffect.bind(this);this.fx={overlay:this.overlay.effect("opacity",{duration:500}).hide(),resize:this.center.effects($extend({duration:this.options.resizeDuration,onComplete:_3},this.options.resizeTransition?{transition:this.options.resizeTransition}:{})),image:this.image.effect("opacity",{duration:500,onComplete:_3}),bottom:this.bottom.effect("margin-top",{duration:400,onComplete:_3})};this.preloadPrev=new Image();this.preloadNext=new Image();},click:function(_4){if(_4.rel.length==8){return this.show(_4.href,_4.title);}var j,imageNum,images=[];this.anchors.each(function(el){if(el.rel==_4.rel){for(j=0;j<images.length;j++){if(images[j][0]==el.href){break;}}if(j==images.length){images.push([el.href,el.title]);if(el.href==_4.href){imageNum=j;}}}},this);return this.open(images,imageNum);},show:function(_7,_8){return this.open([[_7,_8]],0);},open:function(_9,_a){this.images=_9;this.position();this.setup(true);this.top=window.getScrollTop()+(window.getHeight()/15);this.center.setStyles({top:this.top,display:""});this.fx.overlay.start(0.8);return this.changeImage(_a);},position:function(){this.overlay.setStyles({"top":window.getScrollTop(),"height":window.getHeight()});},setup:function(_b){var _c=$A(document.getElementsByTagName("object"));_c.extend(document.getElementsByTagName(window.ie?"select":"embed"));_c.each(function(el){if(_b){el.lbBackupStyle=el.style.visibility;}el.style.visibility=_b?"hidden":el.lbBackupStyle;});var fn=_b?"addEvent":"removeEvent";window[fn]("scroll",this.eventPosition)[fn]("resize",this.eventPosition);document[fn]("keydown",this.eventKeyDown);this.step=0;},keyboardListener:function(_f){switch(_f.keyCode){case 27:case 88:case 67:this.close();break;case 37:case 80:this.previous();break;case 39:case 78:this.next();}},previous:function(){return this.changeImage(this.activeImage-1);},next:function(){return this.changeImage(this.activeImage+1);},changeImage:function(_10){if(this.step||(_10<0)||(_10>=this.images.length)){return false;}this.step=1;this.activeImage=_10;this.bottomContainer.style.display=this.prevLink.style.display=this.nextLink.style.display="none";this.fx.image.hide();this.center.className="lbLoading";this.preload=new Image();this.preload.onload=this.nextEffect.bind(this);this.preload.src=this.images[_10][0];return false;},nextEffect:function(){switch(this.step++){case 1:this.center.className="";this.image.style.backgroundImage="url("+this.images[this.activeImage][0]+")";this.image.style.width=this.bottom.style.width=this.preload.width+"px";this.image.style.height=this.prevLink.style.height=this.nextLink.style.height=this.preload.height+"px";this.caption.setHTML(this.images[this.activeImage][1]||"");this.number.setHTML((!this.options.showCounter||(this.images.length==1))?"":"Image "+(this.activeImage+1)+" of "+this.images.length);if(this.activeImage){this.preloadPrev.src=this.images[this.activeImage-1][0];}if(this.activeImage!=(this.images.length-1)){this.preloadNext.src=this.images[this.activeImage+1][0];}if(this.center.clientHeight!=this.image.offsetHeight){this.fx.resize.start({height:this.image.offsetHeight});break;}this.step++;case 2:if(this.center.clientWidth!=this.image.offsetWidth){this.fx.resize.start({width:this.image.offsetWidth,marginLeft:-this.image.offsetWidth/2});break;}this.step++;case 3:this.bottomContainer.setStyles({top:this.top+this.center.clientHeight,height:0,marginLeft:this.center.style.marginLeft,display:""});this.fx.image.start(1);break;case 4:if(this.options.animateCaption){this.fx.bottom.set(-this.bottom.offsetHeight);this.bottomContainer.style.height="";this.fx.bottom.start(0);break;}this.bottomContainer.style.height="";case 5:if(this.activeImage){this.prevLink.style.display="";}if(this.activeImage!=(this.images.length-1)){this.nextLink.style.display="";}this.step=0;}},close:function(){if(this.step<0){return;}this.step=-1;if(this.preload){this.preload.onload=Class.empty;this.preload=null;}for(var f in this.fx){this.fx[f].stop();}this.center.style.display=this.bottomContainer.style.display="none";this.fx.overlay.chain(this.setup.pass(false,this)).start(0);return false;}};window.addEvent("domready",Lightbox.init.bind(Lightbox));
// DannyJames.net site functions req: Core, Class, Native, Element.Event, Window.DomReady, Cookie
var skins = ['Red','Orange','Yellow','Green','Blue','Indigo','Violet'];
function buildSkins()
{
	var skinsHTML = '<ul>';
	for ( var i=1; i<skins.length+1; i++ )
	{
		skinsHTML += '<li><a href="#" id="skin-' + i + '" rel="nofollow" title="' + skins[i-1] + '" onclick="swapSkin(' + i + ');return false;">' + i + '</a></li>';
	}
	skinsHTML += '</ul>';
	$('skins').setHTML(skinsHTML);
}

function clearSkin(s)
{
	$('skin-' + s).className = '';
	$('css-skin-' + s).disabled = true;
}

function setSkin(s)
{
	$('skin-' + s).blur();
	$('skin-' + s).className = 'current';
	$('css-skin-' + s).disabled = false;
	Cookie.set('userSkin',s,
	{
		duration: 365,
		path: '/'
	});
}

function swapSkin(s)
{
	for ( var i=1; i<skins.length+1; i++ )
	{
		clearSkin(i);
	}
	setSkin(s);
}

function exitSkin()
{
	for ( var i=1; i<skins.length+1; i++ )
	{
		if ( $('css-skin-' + i).disabled === false)
		{
			Cookie.set('userSkin',i, 
			{
				duration: 365,
				path: '/'
			});
		}
	}
}

function hideIeWarning()
{
	$('warning-ie').style.display = 'none';
	Cookie.set('hideWarning',1,
	{
		duration: 365,
		path: '/'
	});
}

function buildIeWarning()
{
	var hw = Cookie.get('hideWarning');
	if ( hw == 1 )
	{
		hideIeWarning();
		return;
	}
	var warningHTML  = $('warning-ie').innerHTML + '<a href="#" class="close" rel="nofollow" title="Close this and don\'t show me again" id="ie-close" onclick="hideIeWarning();return false;"><span>Close</span></a>';
	$('warning-ie').setHTML(warningHTML);
}

function toggleSlider(sliderDiv,text1,text2)
{
	sliderFX.toggle();
	var sliderText = $(sliderDiv + '-toggle').getText();
	if (sliderText == text1)
	{
		$(sliderDiv + '-toggle').setText(text2);
	}
	else
	{
		$(sliderDiv + '-toggle').setText(text1);
	}
}

function buildToggleSlider(sliderDiv,text1,text2)
{
	var togglePara = new Element('p').setHTML('<a href="#" rel="nofollow" id="' + sliderDiv + '-toggle" class="toggle-link" onclick="toggleSlider(\''+sliderDiv+'\',\''+text1+'\',\''+text2+'\');return false;">' + text1 + '</a>').injectAfter(sliderDiv);
	sliderFX = new Fx.Slide(sliderDiv,{transition: Fx.Transitions.Cubic.easeOut}).hide();
}

function buildFirstVisit()
{
	var tips = 
	[
		'You can subscribe to my RSS feed <a href="http://feeds.dannyjames.net/dannyjames">here</a>.',
		'If you leave a comment, you won\'t see any more adverts.',
		'You can change the colour of the site using the skins chooser at the top right of the page.',
		'To get an avatar when you leave a comment, sign up for a <a href="http://gravatar.com" class="extlink">Gravatar</a>.'
	];
	var fv = Cookie.get('visited');
	if ( fv != 1)
	{
		var infoHeader = 'Greetings';
		var tip ='It looks like this is the first time you\'ve visited. You can <a href="/about/">find out more about me</a>, <a href="/archive/">browse the archive</a> or <a href="/projects/">see my projects</a>.';
		Cookie.set('visited',1,
		{
			duration: 365,
			path: '/'
		});
	}
	else
	{
		var infoHeader = 'Welcome Back';
		var tip = '<strong>Tip: </strong>' + tips[Math.round((tips.length-1)*Math.random())];		
	}
	var infoDiv = new Element('div',
	{
		'id': 'infobox'
	}).setHTML('<div id="infobox-inner"><h2>' + infoHeader + '</h2><p>' + tip + '</p></div>').injectTop('content-left');
}

function initPage()
{
	window.addEvent('unload',exitSkin);
	if (!$('pink-link')) { buildSkins(); }
	prettyPrint();
	var us = Cookie.get('userSkin');
	if ( !us )
	{
		us = 2;
	}
	swapSkin(us);
	if ( $('warning-ie') )
	{
		buildIeWarning();
	}
	if ( $('slider-1-inner') )
	{
		buildToggleSlider('slider-1-inner','More...','...Less');
	}
	if ( !$('infobox') && $('top').className == 'home' )
	{
		buildFirstVisit();
	}
	if ( $('contactform') ) { $('contactform').onsubmit = 'pageTracker._ trackPageview(\'/tracking/formSubmit/contact-form\')';	}
	if ( $('searchform') )	{	$('searchform').onsubmit = 'pageTracker._ trackPageview(\'/tracking/formSubmit/search-form\')'; 	}
	if ( $('commentform') ) { $('commentform').onsubmit = 'pageTracker._ trackPageview(\'/tracking/formSubmit/comment-form\')';	}
}

window.addEvent('domready',initPage);